diff --git a/AW/PC/MP/1344.gsc b/AW/PC/MP/1344.gsc deleted file mode 100644 index d5bf226..0000000 --- a/AW/PC/MP/1344.gsc +++ /dev/null @@ -1,249 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: 1344.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 22 - * Decompile Time: 1 ms - * Timestamp: 10/27/2023 1:46:52 AM -*******************************************************************/ - -//Function Number: 1 -codecallback_startgametype() -{ - if(getdvar("r_reflectionProbeGenerate") == "1") - { - level waittill("eternity"); - } - - if(!isdefined(level.gametypestarted) || !level.gametypestarted) - { - [[ level.callbackstartgametype ]](); - level.gametypestarted = 1; - } -} - -//Function Number: 2 -codecallback_playerconnect() -{ - if(getdvar("r_reflectionProbeGenerate") == "1") - { - level waittill("eternity"); - } - - self endon("disconnect"); - [[ level.callbackplayerconnect ]](); -} - -//Function Number: 3 -codecallback_playerdisconnect(param_00) -{ - self notify("disconnect"); - [[ level.callbackplayerdisconnect ]](param_00); -} - -//Function Number: 4 -codecallback_playerdamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) -{ - self endon("disconnect"); - [[ level.callbackplayerdamage ]](param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09); -} - -//Function Number: 5 -codecallback_playerkilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) -{ - self endon("disconnect"); - [[ level.callbackplayerkilled ]](param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08); -} - -//Function Number: 6 -codecallback_playergrenadesuicide(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - self endon("disconnect"); - [[ level.callbackplayergrenadesuicide ]](param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07); -} - -//Function Number: 7 -codecallback_entityoutofworld() -{ - self endon("disconnect"); - [[ level.callbackentityoutofworld ]](); -} - -//Function Number: 8 -codecallback_bullethitentity(param_00,param_01,param_02,param_03,param_04,param_05) -{ - self endon("disconnect"); - if(isdefined(self.bullethitcallback)) - { - [[ self.bullethitcallback ]](param_00,param_01,param_02,param_03,param_04,param_05); - } -} - -//Function Number: 9 -codecallback_vehicledamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B) -{ - if(isdefined(self.damagecallback)) - { - self [[ self.damagecallback ]](param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B); - return; - } - - self vehicle_finishdamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B); -} - -//Function Number: 10 -codecallback_entitydamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B) -{ - if(isdefined(self.damagecallback)) - { - self [[ self.damagecallback ]](param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B); - return; - } - - self finishentitydamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B); -} - -//Function Number: 11 -codecallback_codeendgame() -{ - self endon("disconnect"); - [[ level.callbackcodeendgame ]](); -} - -//Function Number: 12 -codecallback_playerlaststand(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) -{ - self endon("disconnect"); - [[ level.callbackplayerlaststand ]](param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08); -} - -//Function Number: 13 -codecallback_playermigrated() -{ - self endon("disconnect"); - [[ level.callbackplayermigrated ]](); -} - -//Function Number: 14 -codecallback_hostmigration() -{ - [[ level.callbackhostmigration ]](); -} - -//Function Number: 15 -codecallback_givekillstreak(param_00,param_01) -{ - if(isbot(param_00) || istestclient(param_00) || param_00.team == "spectator" || param_00.sessionstate == "spectator") - { - return; - } - - if((isdefined(level.killstreakfuncs[param_01]) && tablelookup("mp/killstreakTable.csv",1,param_01,0) != "") || issubstr(param_01,"turrethead")) - { - if(issubstr(param_01,"turrethead")) - { - param_00 thread maps\mp\killstreaks\_rippedturret::playergiveturrethead(param_01); - return; - } - - var_02 = param_00 maps\mp\killstreaks\_killstreaks::getstreakcost(param_01); - var_03 = param_00 maps\mp\killstreaks\_killstreaks::getkillstreakmodules(param_00,param_01); - var_04 = param_00 maps\mp\killstreaks\_killstreaks::getnextkillstreakslotindex(param_01); - param_00 thread maps\mp\gametypes\_hud_message::killstreaksplashnotify(param_01,var_02,undefined,var_03,var_04); - param_00 maps\mp\killstreaks\_killstreaks::givekillstreak(param_01); - } -} - -//Function Number: 16 -codecallback_givekillstreakmodule(param_00,param_01) -{ - if(isbot(param_00) || istestclient(param_00) || param_00.team == "spectator" || param_00.sessionstate == "spectator") - { - return; - } - - var_02 = maps\mp\killstreaks\_killstreaks::getstreakmodulebasekillstreak(param_01); - if(isdefined(var_02) && var_02 != "") - { - if(!isdefined(param_00.killstreakmodules[param_01])) - { - var_03 = maps\mp\killstreaks\_killstreaks::getstreakmodulecost(param_01); - param_00.killstreakmodules[param_01] = var_03; - return; - } - - param_00.killstreakmodules[param_01] = undefined; - } -} - -//Function Number: 17 -codecallback_partymembers(param_00) -{ - if(isdefined(level.partymembers_cb)) - { - [[ level.partymembers_cb ]](param_00); - } -} - -//Function Number: 18 -setupdamageflags() -{ - level.idflags_radius = 1; - level.idflags_no_armor = 2; - level.idflags_no_knockback = 4; - level.idflags_penetration = 8; - level.idflags_stun = 16; - level.idflags_shield_explosive_impact = 32; - level.idflags_shield_explosive_impact_huge = 64; - level.idflags_shield_explosive_splash = 128; - level.idflags_no_team_protection = 256; - level.idflags_no_protection = 512; - level.idflags_passthru = 1024; -} - -//Function Number: 19 -setupcallbacks() -{ - setdefaultcallbacks(); - setupdamageflags(); -} - -//Function Number: 20 -setdefaultcallbacks() -{ - level.callbackstartgametype = ::maps\mp\gametypes\_gamelogic::callback_startgametype; - level.callbackplayerconnect = ::maps\mp\gametypes\_playerlogic::callback_playerconnect; - level.callbackplayerdisconnect = ::maps\mp\gametypes\_playerlogic::callback_playerdisconnect; - level.callbackplayerdamage = ::maps\mp\gametypes\_damage::callback_playerdamage; - level.callbackplayerkilled = ::maps\mp\gametypes\_damage::callback_playerkilled; - level.callbackentityoutofworld = ::maps\mp\gametypes\_damage::callback_entityoutofworld; - level.callbackplayergrenadesuicide = ::maps\mp\gametypes\_damage::callback_playergrenadesuicide; - level.callbackcodeendgame = ::maps\mp\gametypes\_gamelogic::callback_codeendgame; - level.callbackplayerlaststand = ::maps\mp\gametypes\_damage::callback_playerlaststand; - level.callbackplayermigrated = ::maps\mp\gametypes\_playerlogic::callback_playermigrated; - level.callbackhostmigration = ::maps\mp\gametypes\_hostmigration::callback_hostmigration; -} - -//Function Number: 21 -abortlevel() -{ - level.callbackstartgametype = ::callbackvoid; - level.callbackplayerconnect = ::callbackvoid; - level.callbackplayerdisconnect = ::callbackvoid; - level.callbackplayerdamage = ::callbackvoid; - level.callbackplayerkilled = ::callbackvoid; - level.callbackentityoutofworld = ::callbackvoid; - level.callbackplayergrenadesuicide = ::callbackvoid; - level.callbackcodeendgame = ::callbackvoid; - level.callbackplayerlaststand = ::callbackvoid; - level.callbackplayermigrated = ::callbackvoid; - level.callbackhostmigration = ::callbackvoid; - setdvar("g_gametype","dm"); - exitlevel(0); -} - -//Function Number: 22 -callbackvoid() -{ -} \ No newline at end of file diff --git a/AW/PC/MP/codescripts/character.gsc b/AW/PC/MP/codescripts/character.gsc deleted file mode 100644 index 1b2d7ac..0000000 --- a/AW/PC/MP/codescripts/character.gsc +++ /dev/null @@ -1,281 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: codescripts/character.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 14 - * Decompile Time: 231 ms - * Timestamp: 10/27/2023 1:46:54 AM -*******************************************************************/ - -//Function Number: 1 -setmodelfromarray(param_00) -{ - self setmodel(param_00[randomint(param_00.size)]); -} - -//Function Number: 2 -precachemodelarray(param_00) -{ - for(var_01 = 0;var_01 < param_00.size;var_01++) - { - precachemodel(param_00[var_01]); - } -} - -//Function Number: 3 -attachhead(param_00,param_01) -{ - if(!isdefined(level.character_head_index)) - { - level.character_head_index = []; - } - - if(!isdefined(level.character_head_index[param_00])) - { - level.character_head_index[param_00] = randomint(param_01.size); - } - - var_02 = level.character_head_index[param_00] + 1 % param_01.size; - if(isdefined(self.script_char_index)) - { - var_02 = self.script_char_index % param_01.size; - } - - level.character_head_index[param_00] = var_02; - setheadmodel(param_01[var_02]); -} - -//Function Number: 4 -setheadmodel(param_00) -{ - if(isdefined(self.headmodel)) - { - self detach(self.headmodel); - } - - self attach(param_00,"",1); - self.headmodel = param_00; -} - -//Function Number: 5 -attachhat(param_00,param_01) -{ - if(!isdefined(level.character_hat_index)) - { - level.character_hat_index = []; - } - - if(!isdefined(level.character_hat_index[param_00])) - { - level.character_hat_index[param_00] = randomint(param_01.size); - } - - var_02 = level.character_hat_index[param_00] + 1 % param_01.size; - level.character_hat_index[param_00] = var_02; - self attach(param_01[var_02]); - self.hatmodel = param_01[var_02]; -} - -//Function Number: 6 -new() -{ - self detachall(); - var_00 = self.anim_gunhand; - if(!isdefined(var_00)) - { - return; - } - - self.anim_gunhand = "none"; - self [[ level.putguninhand ]](var_00); -} - -//Function Number: 7 -save() -{ - var_00["gunHand"] = self.anim_gunhand; - var_00["gunInHand"] = self.anim_guninhand; - var_00["model"] = self.model; - var_00["hatModel"] = self.hatmodel; - if(isdefined(self.name)) - { - var_00["name"] = self.name; - } - else - { - } - - var_01 = self getattachsize(); - for(var_02 = 0;var_02 < var_01;var_02++) - { - var_00["attach"][var_02]["model"] = self getattachmodelname(var_02); - var_00["attach"][var_02]["tag"] = self getattachtagname(var_02); - } - - return var_00; -} - -//Function Number: 8 -load(param_00) -{ - self detachall(); - self.anim_gunhand = param_00["gunHand"]; - self.anim_guninhand = param_00["gunInHand"]; - self setmodel(param_00["model"]); - self.hatmodel = param_00["hatModel"]; - if(isdefined(param_00["name"])) - { - self.name = param_00["name"]; - } - else - { - } - - var_01 = param_00["attach"]; - var_02 = var_01.size; - for(var_03 = 0;var_03 < var_02;var_03++) - { - self attach(var_01[var_03]["model"],var_01[var_03]["tag"]); - } -} - -//Function Number: 9 -precache(param_00) -{ - if(isdefined(param_00["name"])) - { - } - else - { - } - - precachemodel(param_00["model"]); - var_01 = param_00["attach"]; - var_02 = var_01.size; - for(var_03 = 0;var_03 < var_02;var_03++) - { - precachemodel(var_01[var_03]["model"]); - } -} - -//Function Number: 10 -get_random_character(param_00) -{ - if(isdefined(self.classname)) - { - var_01 = strtok(self.classname,"_"); - } - else - { - var_01 = []; - } - - if(!common_scripts\utility::issp()) - { - if(isdefined(self.pers["modelIndex"]) && self.pers["modelIndex"] < param_00) - { - return self.pers["modelIndex"]; - } - - var_02 = randomint(param_00); - self.pers["modelIndex"] = var_02; - return var_02; - } - else if(var_02.size <= 2) - { - return randomint(var_01); - } - - var_03 = "auto"; - var_02 = undefined; - var_04 = var_01[2]; - if(isdefined(self.script_char_index)) - { - var_03 = self.script_char_index; - } - - if(isdefined(self.script_char_group)) - { - var_05 = "grouped"; - var_02 = "group_" + self.script_char_group; - } - - if(!isdefined(level.character_index_cache)) - { - level.character_index_cache = []; - } - - if(!isdefined(level.character_index_cache[var_04])) - { - level.character_index_cache[var_04] = []; - } - - if(!isdefined(level.character_index_cache[var_04][var_02])) - { - initialize_character_group(var_04,var_02,param_00); - } - - if(!isdefined(var_03)) - { - var_03 = get_least_used_index(var_04,var_02); - if(!isdefined(var_03)) - { - var_03 = randomint(5000); - } - } - - while(var_03 >= param_00) - { - var_03 = var_03 - param_00; - } - - level.character_index_cache[var_04][var_02][var_03]++; - return var_03; -} - -//Function Number: 11 -get_least_used_index(param_00,param_01) -{ - var_02 = []; - var_03 = level.character_index_cache[param_00][param_01][0]; - var_02[0] = 0; - for(var_04 = 1;var_04 < level.character_index_cache[param_00][param_01].size;var_04++) - { - if(level.character_index_cache[param_00][param_01][var_04] > var_03) - { - continue; - } - - if(level.character_index_cache[param_00][param_01][var_04] < var_03) - { - var_02 = []; - var_03 = level.character_index_cache[param_00][param_01][var_04]; - } - - var_02[var_02.size] = var_04; - } - - return random(var_02); -} - -//Function Number: 12 -initialize_character_group(param_00,param_01,param_02) -{ - for(var_03 = 0;var_03 < param_02;var_03++) - { - level.character_index_cache[param_00][param_01][var_03] = 0; - } -} - -//Function Number: 13 -get_random_weapon(param_00) -{ - return randomint(param_00); -} - -//Function Number: 14 -random(param_00) -{ - return param_00[randomint(param_00.size)]; -} \ No newline at end of file diff --git a/AW/PC/MP/common_scripts/_artcommon.gsc b/AW/PC/MP/common_scripts/_artcommon.gsc deleted file mode 100644 index a44dc48..0000000 --- a/AW/PC/MP/common_scripts/_artcommon.gsc +++ /dev/null @@ -1,14 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: common_scripts/_artcommon.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 1 - * Decompile Time: 14 ms - * Timestamp: 10/27/2023 1:46:55 AM -*******************************************************************/ - -//Function Number: 1 -setfogsliders() -{ -} \ No newline at end of file diff --git a/AW/PC/MP/common_scripts/_createfx.gsc b/AW/PC/MP/common_scripts/_createfx.gsc deleted file mode 100644 index 2d8e675..0000000 --- a/AW/PC/MP/common_scripts/_createfx.gsc +++ /dev/null @@ -1,3267 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: common_scripts/_createfx.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 137 - * Decompile Time: 2147 ms - * Timestamp: 10/27/2023 1:47:04 AM -*******************************************************************/ - -//Function Number: 1 -soundonly() -{ - return getdvar("scr_createfx_type","0") == "2"; -} - -//Function Number: 2 -fxonly() -{ - return getdvar("scr_createfx_type","0") == "1"; -} - -//Function Number: 3 -tracknoneditfx(param_00) -{ - if(isdefined(level.tracked_ent)) - { - if(!isdefined(level.tracked_ents)) - { - level.tracked_ents = []; - } - - level.tracked_ents[level.tracked_ents.size] = level.tracked_ent.v; - } - - level.tracked_ent = param_00; -} - -//Function Number: 4 -createeffect(param_00,param_01) -{ - var_02 = spawnstruct(); - if(soundonly()) - { - tracknoneditfx(var_02); - } - else - { - if(!isdefined(level.createfxent)) - { - level.createfxent = []; - } - - level.createfxent[level.createfxent.size] = var_02; - } - - var_02.v = []; - var_02.v["type"] = param_00; - var_02.v["fxid"] = param_01; - var_02.v["angles"] = (0,0,0); - var_02.v["origin"] = (0,0,0); - var_02.drawn = 1; - if(isdefined(param_01) && isdefined(level.createfxbyfxid)) - { - var_03 = level.createfxbyfxid[param_01]; - if(!isdefined(var_03)) - { - var_03 = []; - } - - var_03[var_03.size] = var_02; - level.createfxbyfxid[param_01] = var_03; - } - - return var_02; -} - -//Function Number: 5 -getloopeffectdelaydefault() -{ - return 0.5; -} - -//Function Number: 6 -getoneshoteffectdelaydefault() -{ - return -15; -} - -//Function Number: 7 -getexploderdelaydefault() -{ - return 0; -} - -//Function Number: 8 -getintervalsounddelaymindefault() -{ - return 0.75; -} - -//Function Number: 9 -getintervalsounddelaymaxdefault() -{ - return 2; -} - -//Function Number: 10 -createloopsound() -{ - var_00 = spawnstruct(); - if(fxonly()) - { - tracknoneditfx(var_00); - } - else - { - if(!isdefined(level.createfxent)) - { - level.createfxent = []; - } - - level.createfxent[level.createfxent.size] = var_00; - } - - var_00.v = []; - var_00.v["type"] = "soundfx"; - var_00.v["fxid"] = "No FX"; - var_00.v["soundalias"] = "nil"; - var_00.v["angles"] = (0,0,0); - var_00.v["origin"] = (0,0,0); - var_00.v["server_culled"] = 1; - if(getdvar("serverCulledSounds") != "1") - { - var_00.v["server_culled"] = 0; - } - - var_00.drawn = 1; - return var_00; -} - -//Function Number: 11 -createintervalsound() -{ - var_00 = createloopsound(); - var_00.v["type"] = "soundfx_interval"; - var_00.v["delay_min"] = getintervalsounddelaymindefault(); - var_00.v["delay_max"] = getintervalsounddelaymaxdefault(); - return var_00; -} - -//Function Number: 12 -createdynamicambience() -{ - var_00 = spawnstruct(); - if(fxonly()) - { - tracknoneditfx(var_00); - } - else - { - if(!isdefined(level.createfxent)) - { - level.createfxent = []; - } - - level.createfxent[level.createfxent.size] = var_00; - } - - var_00.v = []; - var_00.v["origin"] = (0,0,0); - var_00.v["dynamic_distance"] = 1000; - var_00.v["fxid"] = "No FX"; - var_00.v["type"] = "soundfx_dynamic"; - var_00.v["ambiencename"] = "nil"; - return var_00; -} - -//Function Number: 13 -createnewexploder() -{ - var_00 = spawnstruct(); - if(fxonly()) - { - tracknoneditfx(var_00); - } - else - { - if(!isdefined(level.createfxent)) - { - level.createfxent = []; - } - - level.createfxent[level.createfxent.size] = var_00; - } - - var_00.v = []; - var_00.v["type"] = "exploder"; - var_00.v["fxid"] = "No FX"; - var_00.v["soundalias"] = "nil"; - var_00.v["loopsound"] = "nil"; - var_00.v["angles"] = (0,0,0); - var_00.v["origin"] = (0,0,0); - var_00.v["exploder"] = 1; - var_00.v["flag"] = "nil"; - var_00.v["exploder_type"] = "normal"; - var_00.drawn = 1; - return var_00; -} - -//Function Number: 14 -createexploderex(param_00,param_01) -{ - var_02 = common_scripts\utility::createexploder(param_00); - var_02.v["exploder"] = param_01; - return var_02; -} - -//Function Number: 15 -createreactiveent() -{ - var_00 = spawnstruct(); - if(soundonly()) - { - tracknoneditfx(var_00); - } - else - { - if(!isdefined(level.createfxent)) - { - level.createfxent = []; - } - - level.createfxent[level.createfxent.size] = var_00; - } - - var_00.v = []; - var_00.v["origin"] = (0,0,0); - var_00.v["reactive_radius"] = 200; - var_00.v["fxid"] = "No FX"; - var_00.v["type"] = "reactive_fx"; - var_00.v["soundalias"] = "nil"; - return var_00; -} - -//Function Number: 16 -set_origin_and_angles(param_00,param_01) -{ - if(isdefined(level.createfx_offset)) - { - param_00 = param_00 + level.createfx_offset; - } - - self.v["origin"] = param_00; - self.v["angles"] = param_01; -} - -//Function Number: 17 -set_forward_and_up_vectors() -{ - self.v["up"] = anglestoup(self.v["angles"]); - self.v["forward"] = anglestoforward(self.v["angles"]); -} - -//Function Number: 18 -convertoneshotfx() -{ - setdvarifuninitialized("curr_exp_num",1); - var_00 = getdvarint("curr_exp_num"); - for(var_01 = 0;var_01 < level._createfx.selected_fx_ents.size;var_01++) - { - var_02 = level._createfx.selected_fx_ents[var_01]; - setfxkillondelete(var_02.looper,1); - wait 0.05; - var_02 common_scripts\utility::pauseeffect(); - var_02.v["type"] = "exploder"; - var_02.v["exploder"] = var_00; - var_02.v["exploder_type"] = "normal"; - var_02 common_scripts\utility::activate_individual_exploder(); - } - - level._createfx.justconvertedoneshot = 1; -} - -//Function Number: 19 -createfx_common() -{ - precacheshader("black"); - level._createfx = spawnstruct(); - level._createfx.grenade = spawn("script_origin",(0,0,0)); - level._createfx.grenade.fx = loadfx("vfx/explosion/frag_grenade_default"); - level._createfx.grenade.sound = "null"; - level._createfx.grenade.radius = 256; - if(level.mp_createfx) - { - hack_start("painter_mp"); - } - else - { - hack_start("painter"); - } - - common_scripts\utility::flag_init("createfx_saving"); - common_scripts\utility::flag_init("createfx_started"); - if(!isdefined(level.createfx)) - { - level.createfx = []; - } - - level.createfx_loopcounter = 0; - setdvar("ui_hidehud","1"); - level notify("createfx_common_done"); -} - -//Function Number: 20 -init_level_variables() -{ - level._createfx.selectedmove_up = 0; - level._createfx.selectedmove_forward = 0; - level._createfx.selectedmove_right = 0; - level._createfx.selectedrotate_pitch = 0; - level._createfx.selectedrotate_roll = 0; - level._createfx.selectedrotate_yaw = 0; - level._createfx.selected_fx = []; - level._createfx.selected_fx_ents = []; - level._createfx.justconvertedoneshot = 0; - level._createfx.rate = 1; - level._createfx.snap2normal = 0; - level._createfx.snap90deg = 0; - level._createfx.localrot = 0; - level._createfx.axismode = 0; - level._createfx.select_by_name = 0; - level._createfx.player_speed = getdvarfloat("g_speed"); - set_player_speed_hud(); -} - -//Function Number: 21 -init_locked_list() -{ - level._createfx.lockedlist = []; - level._createfx.lockedlist["escape"] = 1; - level._createfx.lockedlist["BUTTON_LSHLDR"] = 1; - level._createfx.lockedlist["BUTTON_RSHLDR"] = 1; - level._createfx.lockedlist["mouse1"] = 1; - level._createfx.lockedlist["ctrl"] = 1; -} - -//Function Number: 22 -init_colors() -{ - var_00 = []; - var_00["loopfx"]["selected"] = (1,1,0.2); - var_00["loopfx"]["highlighted"] = (0.4,0.95,1); - var_00["loopfx"]["default"] = (0.3,0.8,1); - var_00["oneshotfx"]["selected"] = (1,1,0.2); - var_00["oneshotfx"]["highlighted"] = (0.3,0.6,1); - var_00["oneshotfx"]["default"] = (0.1,0.2,1); - var_00["exploder"]["selected"] = (1,1,0.2); - var_00["exploder"]["highlighted"] = (1,0.2,0.2); - var_00["exploder"]["default"] = (1,0.1,0.1); - var_00["rainfx"]["selected"] = (1,1,0.2); - var_00["rainfx"]["highlighted"] = (0.95,0.4,0.95); - var_00["rainfx"]["default"] = (0.78,0,0.73); - var_00["soundfx"]["selected"] = (1,1,0.2); - var_00["soundfx"]["highlighted"] = (0.2,1,0.2); - var_00["soundfx"]["default"] = (0.1,1,0.1); - var_00["soundfx_interval"]["selected"] = (1,1,0.2); - var_00["soundfx_interval"]["highlighted"] = (0.3,1,0.3); - var_00["soundfx_interval"]["default"] = (0.1,1,0.1); - var_00["reactive_fx"]["selected"] = (1,1,0.2); - var_00["reactive_fx"]["highlighted"] = (0.5,1,0.75); - var_00["reactive_fx"]["default"] = (0.2,0.9,0.2); - var_00["soundfx_dynamic"]["selected"] = (1,1,0.2); - var_00["soundfx_dynamic"]["highlighted"] = (0.3,1,0.3); - var_00["soundfx_dynamic"]["default"] = (0.1,1,0.1); - level._createfx.colors = var_00; -} - -//Function Number: 23 -createfxlogic() -{ - waittillframeend; - wait(0.05); - if(!isdefined(level._effect)) - { - level._effect = []; - } - - if(getdvar("createfx_map") == "") - { - } - else if(getdvar("createfx_map") == common_scripts\utility::get_template_level()) - { - [[ level.func_position_player ]](); - } - - init_crosshair(); - common_scripts\_createfxmenu::init_menu(); - init_huds(); - init_tool_hud(); - init_crosshair(); - init_level_variables(); - init_locked_list(); - init_colors(); - if(getdvar("createfx_use_f4") == "") - { - } - - if(getdvar("createfx_no_autosave") == "") - { - } - - level.createfx_draw_enabled = 1; - level.last_displayed_ent = undefined; - level.buttonisheld = []; - var_00 = (0,0,0); - common_scripts\utility::flag_set("createfx_started"); - if(!level.mp_createfx) - { - var_00 = level.player.origin; - } - - var_01 = undefined; - level.fx_rotating = 0; - common_scripts\_createfxmenu::setmenu("none"); - level.createfx_selecting = 0; - var_02 = newhudelem(); - var_02.x = -120; - var_02.y = 200; - var_02.foreground = 0; - var_02 setshader("black",250,160); - var_02.alpha = 0; - level.createfx_inputlocked = 0; - foreach(var_04 in level.createfxent) - { - var_04 post_entity_creation_function(); - } - - thread draw_distance(); - var_06 = undefined; - thread createfx_autosave(); - level.createfx_last_movement_timer = 0; - thread save_undo_buffer(); - thread setup_last_movement_timer(); - for(;;) - { - var_07 = 0; - var_08 = anglestoright(level.player getplayerangles()); - var_09 = anglestoforward(level.player getplayerangles()); - var_0A = anglestoup(level.player getplayerangles()); - var_0B = 0.85; - var_0C = var_09 * 750; - level.createfxcursor = bullettrace(level.player geteye(),level.player geteye() + var_0C,0,undefined); - var_0D = undefined; - level.buttonclick = []; - level.button_is_kb = []; - process_button_held_and_clicked(); - var_0E = button_is_held("ctrl","BUTTON_LSHLDR"); - var_0F = button_is_clicked("mouse1","BUTTON_A"); - var_10 = button_is_held("mouse1","BUTTON_A"); - var_11 = button_is_held("shift"); - common_scripts\_createfxmenu::create_fx_menu(); - var_12 = "F5"; - if(getdvarint("createfx_use_f4")) - { - var_12 = "F4"; - } - - if(button_is_clicked(var_12)) - { - } - - if(getdvarint("scr_createfx_dump")) - { - generate_fx_log(); - } - - if(button_is_clicked("F2")) - { - toggle_createfx_drawing(); - } - - if(button_is_clicked("ins")) - { - insert_effect(); - } - - if(button_is_clicked("del")) - { - delete_pressed(); - } - - if(button_is_clicked("escape")) - { - clear_settable_fx(); - } - - if(button_is_clicked("rightarrow","space") && !level.createfx_menu_list_active) - { - set_off_exploders(); - } - - if(button_is_clicked("leftarrow") && !level.createfx_menu_list_active) - { - turn_off_exploders(); - } - - if(button_is_clicked("f")) - { - frame_selected(); - } - - if(button_is_clicked("u")) - { - select_by_name_list(); - } - - if(button_is_clicked("c")) - { - convertoneshotfx(); - } - - modify_player_speed(); - if(!var_0E && button_is_clicked("g")) - { - select_all_exploders_of_currently_selected("exploder"); - select_all_exploders_of_currently_selected("flag"); - } - - if(button_is_clicked("h","F1")) - { - show_help(); - } - - if(button_is_clicked("BUTTON_LSTICK")) - { - copy_ents(); - } - - if(button_is_clicked("BUTTON_RSTICK")) - { - paste_ents(); - } - - if(button_is_clicked("z")) - { - undo(); - } - - if(button_is_clicked("z") && var_11) - { - redo(); - } - - if(var_0E) - { - if(button_is_clicked("c")) - { - copy_ents(); - } - - if(button_is_clicked("v")) - { - paste_ents(); - } - - if(button_is_clicked("g")) - { - spawn_grenade(); - } - } - - if(isdefined(level._createfx.selected_fx_option_index)) - { - common_scripts\_createfxmenu::menu_fx_option_set(); - } - - for(var_13 = 0;var_13 < level.createfxent.size;var_13++) - { - var_04 = level.createfxent[var_13]; - var_14 = vectornormalize(var_04.v["origin"] - level.player.origin + (0,0,55)); - var_15 = vectordot(var_09,var_14); - if(var_15 < var_0B) - { - continue; - } - - var_0B = var_15; - var_0D = var_04; - } - - level.fx_highlightedent = var_0D; - if(isdefined(var_0D)) - { - if(isdefined(var_01)) - { - if(var_01 != var_0D) - { - if(!ent_is_selected(var_01)) - { - var_01 thread entity_highlight_disable(); - } - - if(!ent_is_selected(var_0D)) - { - var_0D thread entity_highlight_enable(); - } - } - } - else if(!ent_is_selected(var_0D)) - { - var_0D thread entity_highlight_enable(); - } - } - - manipulate_createfx_ents(var_0D,var_0F,var_10,var_0E,var_08); - var_07 = handle_selected_ents(var_07); - wait(0.05); - if(var_07) - { - update_selected_entities(); - } - - if(!level.mp_createfx) - { - var_00 = [[ level.func_position_player_get ]](var_00); - } - - var_01 = var_0D; - if(last_selected_entity_has_changed(var_06)) - { - level.effect_list_offset = 0; - clear_settable_fx(); - common_scripts\_createfxmenu::setmenu("none"); - } - - if(level._createfx.selected_fx_ents.size) - { - var_06 = level._createfx.selected_fx_ents[level._createfx.selected_fx_ents.size - 1]; - continue; - } - - var_06 = undefined; - } -} - -//Function Number: 24 -modify_player_speed() -{ - var_00 = 0; - var_01 = button_is_held("ctrl"); - if(button_is_held(".")) - { - if(var_01) - { - if(level._createfx.player_speed < 190) - { - level._createfx.player_speed = 190; - } - else - { - level._createfx.player_speed = level._createfx.player_speed + 10; - } - } - else - { - level._createfx.player_speed = level._createfx.player_speed + 5; - } - - var_00 = 1; - } - else if(button_is_held(",")) - { - if(var_01) - { - if(level._createfx.player_speed > 190) - { - level._createfx.player_speed = 190; - } - else - { - level._createfx.player_speed = level._createfx.player_speed - 10; - } - } - else - { - level._createfx.player_speed = level._createfx.player_speed - 5; - } - - var_00 = 1; - } - - if(var_00) - { - level._createfx.player_speed = clamp(level._createfx.player_speed,5,500); - [[ level.func_player_speed ]](); - set_player_speed_hud(); - } -} - -//Function Number: 25 -set_player_speed_hud() -{ - if(!isdefined(level._createfx.player_speed_hud)) - { - var_00 = newhudelem(); - var_00.alignx = "right"; - var_00.foreground = 1; - var_00.fontscale = 1.2; - var_00.alpha = 1; - var_00.x = 120; - var_00.y = 420; - var_01 = newhudelem(); - var_01.alignx = "left"; - var_01.foreground = 1; - var_01.fontscale = 1.2; - var_01.alpha = 1; - var_01.x = 120; - var_01.y = 420; - var_00.hud_value = var_01; - level._createfx.player_speed_hud = var_00; - } - - level._createfx.player_speed_hud.hud_value setvalue(level._createfx.player_speed); -} - -//Function Number: 26 -toggle_createfx_drawing() -{ - level.createfx_draw_enabled = !level.createfx_draw_enabled; -} - -//Function Number: 27 -insert_effect() -{ - common_scripts\_createfxmenu::setmenu("creation"); - level.effect_list_offset = 0; - clear_fx_hudelements(); - set_fx_hudelement("Pick effect type to create:"); - set_fx_hudelement("1. One Shot FX"); - set_fx_hudelement("2. Looping FX"); - set_fx_hudelement("3. Looping sound"); - set_fx_hudelement("4. Exploder"); - set_fx_hudelement("5. One Shot Sound"); - set_fx_hudelement("6. Reactive Sound"); - set_fx_hudelement("7. Dynamic Ambience"); - set_fx_hudelement("(c) Cancel >"); - set_fx_hudelement("(x) Exit >"); -} - -//Function Number: 28 -manipulate_createfx_ents(param_00,param_01,param_02,param_03,param_04) -{ - if(!level.createfx_draw_enabled) - { - return; - } - - if(level._createfx.select_by_name) - { - level._createfx.select_by_name = 0; - param_00 = undefined; - } - else if(select_by_substring()) - { - param_00 = undefined; - } - - for(var_05 = 0;var_05 < level.createfxent.size;var_05++) - { - var_06 = level.createfxent[var_05]; - if(!var_06.drawn) - { - continue; - } - - var_07 = getdvarfloat("createfx_scaleid"); - if(isdefined(param_00) && var_06 == param_00) - { - if(!common_scripts\_createfxmenu::entities_are_selected()) - { - common_scripts\_createfxmenu::display_fx_info(var_06); - } - - if(param_01) - { - var_08 = index_is_selected(var_05); - level.createfx_help_active = 0; - level.createfx_selecting = !var_08; - if(!param_03) - { - var_09 = level._createfx.selected_fx_ents.size; - clear_entity_selection(); - if(var_08 && var_09 == 1) - { - select_entity(var_05,var_06); - } - } - - toggle_entity_selection(var_05,var_06); - } - else if(param_02) - { - if(param_03) - { - if(level.createfx_selecting) - { - select_entity(var_05,var_06); - } - - if(!level.createfx_selecting) - { - deselect_entity(var_05,var_06); - } - } - } - - var_0A = "highlighted"; - } - else - { - var_0A = "default"; - } - - if(index_is_selected(var_05)) - { - var_0A = "selected"; - } - - var_06 createfx_print3d(var_0A,var_07,param_04); - } -} - -//Function Number: 29 -createfx_print3d(param_00,param_01,param_02) -{ - if(getdvarint("fx_showLightGridSampleOffset") != 0) - { - var_03 = getdvarfloat("fx_lightGridSampleOffset"); - var_04 = anglestoforward(self.v["angles"]) * var_03; - } - - if(self.textalpha > 0) - { - var_05 = get_print3d_text(); - var_06 = param_02 * var_05.size * -2.93; - var_07 = level._createfx.colors[self.v["type"]][param_00]; - if(isdefined(self.is_playing)) - { - var_07 = (1,0.5,0); - } - - if(isdefined(self.v["reactive_radius"])) - { - return; - } - - if(isdefined(self.v["dynamic_distance"])) - { - return; - } - } -} - -//Function Number: 30 -get_print3d_text() -{ - switch(self.v["type"]) - { - case "reactive_fx": - break; - - case "soundfx_interval": - break; - - case "soundfx_dynamic": - break; - - case "soundfx": - break; - - case "exploder": - break; - - case "oneshotfx": - break; - - default: - break; - } -} - -//Function Number: 31 -select_by_name_list() -{ - level.effect_list_offset = 0; - clear_fx_hudelements(); - common_scripts\_createfxmenu::setmenu("select_by_name"); - common_scripts\_createfxmenu::draw_effects_list(); -} - -//Function Number: 32 -handle_selected_ents(param_00) -{ - if(level._createfx.selected_fx_ents.size > 0 && level.createfx_help_active == 0) - { - param_00 = selected_ent_buttons(param_00); - if(!current_mode_hud("selected_ents")) - { - new_tool_hud("selected_ents"); - set_tool_hudelem("Mode:","move"); - set_tool_hudelem("Move Rate( -/+ ):",level._createfx.rate); - if(level._createfx.snap2normal) - { - var_01 = "on"; - var_02 = (0,1,0); - } - else - { - var_01 = "off"; - var_02 = (0.5,0.5,0.5); - } - - set_tool_hudelem("Snap2Normal( S ):",var_01,var_02); - if(level._createfx.snap90deg) - { - var_03 = "on"; - var_04 = (0,1,0); - } - else - { - var_03 = "off"; - var_04 = (0.5,0.5,0.5); - } - - set_tool_hudelem("90deg Snap( L ):",var_03,var_04); - if(level._createfx.localrot) - { - var_05 = "on"; - var_06 = (0,1,0); - } - else - { - var_05 = "off"; - var_06 = (0.5,0.5,0.5); - } - - set_tool_hudelem("Local Rotation( R ):",var_05,var_06); - } - - if(level._createfx.axismode && level._createfx.selected_fx_ents.size > 0) - { - set_tool_hudelem("Mode:","rotate"); - thread [[ level.func_process_fx_rotater ]](); - if(button_is_clicked("p")) - { - reset_axis_of_selected_ents(); - } - - if(button_is_clicked("o")) - { - aim_axis_of_selected_ents(); - } - - if(button_is_clicked("v")) - { - copy_angles_of_selected_ents(); - } - - for(var_07 = 0;var_07 < level._createfx.selected_fx_ents.size;var_07++) - { - level._createfx.selected_fx_ents[var_07] draw_axis(); - } - - if(level.selectedrotate_pitch != 0 || level.selectedrotate_yaw != 0 || level.selectedrotate_roll != 0) - { - param_00 = 1; - } - } - else - { - set_tool_hudelem("Mode:","move"); - var_08 = get_selected_move_vector(); - for(var_07 = 0;var_07 < level._createfx.selected_fx_ents.size;var_07++) - { - var_09 = level._createfx.selected_fx_ents[var_07]; - if(isdefined(var_09.model)) - { - continue; - } - - var_09 draw_cross(); - var_09.v["origin"] = var_09.v["origin"] + var_08; - } - - if(distance((0,0,0),var_08) > 0) - { - thread save_undo_buffer(); - level.createfx_last_movement_timer = 0; - param_00 = 1; - } - } - } - else - { - clear_tool_hud(); - } - - return param_00; -} - -//Function Number: 33 -selected_ent_buttons(param_00) -{ - if(button_is_clicked("BUTTON_X")) - { - toggle_axismode(); - } - - modify_rate(); - if(button_is_clicked("s")) - { - toggle_snap2normal(); - } - - if(button_is_clicked("l")) - { - toggle_snap90deg(); - } - - if(button_is_clicked("r")) - { - toggle_localrot(); - } - - if(button_is_clicked("end")) - { - drop_selection_to_ground(); - param_00 = 1; - } - - if(button_is_clicked("tab","BUTTON_RSHLDR")) - { - move_selection_to_cursor(); - param_00 = 1; - } - - return param_00; -} - -//Function Number: 34 -modify_rate() -{ - var_00 = button_is_held("shift"); - var_01 = button_is_held("ctrl"); - if(button_is_clicked("=")) - { - if(var_00) - { - level._createfx.rate = level._createfx.rate + 0.025; - } - else if(var_01) - { - if(level._createfx.rate < 1) - { - level._createfx.rate = 1; - } - else - { - level._createfx.rate = level._createfx.rate + 10; - } - } - else - { - level._createfx.rate = level._createfx.rate + 0.1; - } - } - else if(button_is_clicked("-")) - { - if(var_00) - { - level._createfx.rate = level._createfx.rate - 0.025; - } - else if(var_01) - { - if(level._createfx.rate > 1) - { - level._createfx.rate = 1; - } - else - { - level._createfx.rate = 0.1; - } - } - else - { - level._createfx.rate = level._createfx.rate - 0.1; - } - } - - level._createfx.rate = clamp(level._createfx.rate,0.025,100); - set_tool_hudelem("Move Rate( -/+ ):",level._createfx.rate); -} - -//Function Number: 35 -toggle_axismode() -{ - level._createfx.axismode = !level._createfx.axismode; -} - -//Function Number: 36 -toggle_snap2normal() -{ - level._createfx.snap2normal = !level._createfx.snap2normal; - if(level._createfx.snap2normal) - { - var_00 = "on"; - var_01 = (0,1,0); - } - else - { - var_00 = "off"; - var_01 = (0.5,0.5,0.5); - } - - set_tool_hudelem("Snap2Normal( S ):",var_00,var_01); -} - -//Function Number: 37 -toggle_snap90deg() -{ - level._createfx.snap90deg = !level._createfx.snap90deg; - if(level._createfx.snap90deg) - { - var_00 = "on"; - var_01 = (0,1,0); - } - else - { - var_00 = "off"; - var_01 = (0.5,0.5,0.5); - } - - set_tool_hudelem("90deg Snap( L ):",var_00,var_01); -} - -//Function Number: 38 -toggle_localrot() -{ - level._createfx.localrot = !level._createfx.localrot; - if(level._createfx.localrot) - { - var_00 = "on"; - var_01 = (0,1,0); - } - else - { - var_00 = "off"; - var_01 = (0.5,0.5,0.5); - } - - set_tool_hudelem("Local Rotation( R ):",var_00,var_01); -} - -//Function Number: 39 -copy_angles_of_selected_ents() -{ - thread save_undo_buffer(); - level notify("new_ent_selection"); - for(var_00 = 0;var_00 < level._createfx.selected_fx_ents.size;var_00++) - { - var_01 = level._createfx.selected_fx_ents[var_00]; - var_01.v["angles"] = level._createfx.selected_fx_ents[level._createfx.selected_fx_ents.size - 1].v["angles"]; - var_01 set_forward_and_up_vectors(); - } - - update_selected_entities(); - level.createfx_last_movement_timer = 0; -} - -//Function Number: 40 -aim_axis_of_selected_ents() -{ - thread save_undo_buffer(); - level notify("new_ent_selection"); - var_00 = level._createfx.selected_fx_ents[level._createfx.selected_fx_ents.size - 1]; - for(var_01 = 0;var_01 < level._createfx.selected_fx_ents.size - 1;var_01++) - { - var_02 = level._createfx.selected_fx_ents[var_01]; - var_03 = vectortoangles(var_00.v["origin"] - var_02.v["origin"]); - var_02.v["angles"] = var_03; - var_02 set_forward_and_up_vectors(); - } - - update_selected_entities(); - level.createfx_last_movement_timer = 0; -} - -//Function Number: 41 -reset_axis_of_selected_ents() -{ - level notify("new_ent_selection"); - thread save_undo_buffer(); - for(var_00 = 0;var_00 < level._createfx.selected_fx_ents.size;var_00++) - { - var_01 = level._createfx.selected_fx_ents[var_00]; - var_01.v["angles"] = (0,0,0); - var_01 set_forward_and_up_vectors(); - } - - update_selected_entities(); - level.createfx_last_movement_timer = 0; -} - -//Function Number: 42 -last_selected_entity_has_changed(param_00) -{ - if(isdefined(param_00)) - { - if(!common_scripts\_createfxmenu::entities_are_selected()) - { - return 1; - } - } - else - { - return common_scripts\_createfxmenu::entities_are_selected(); - } - - return param_00 != level._createfx.selected_fx_ents[level._createfx.selected_fx_ents.size - 1]; -} - -//Function Number: 43 -drop_selection_to_ground() -{ - thread save_undo_buffer(); - for(var_00 = 0;var_00 < level._createfx.selected_fx_ents.size;var_00++) - { - var_01 = level._createfx.selected_fx_ents[var_00]; - var_02 = bullettrace(var_01.v["origin"],var_01.v["origin"] + (0,0,-2048),0,undefined); - var_01.v["origin"] = var_02["position"]; - } - - level.createfx_last_movement_timer = 0; -} - -//Function Number: 44 -set_off_exploders() -{ - level notify("createfx_exploder_reset"); - var_00 = []; - for(var_01 = 0;var_01 < level._createfx.selected_fx_ents.size;var_01++) - { - var_02 = level._createfx.selected_fx_ents[var_01]; - if(isdefined(var_02.v["exploder"])) - { - var_00[var_02.v["exploder"]] = 1; - } - } - - var_03 = getarraykeys(var_00); - for(var_01 = 0;var_01 < var_03.size;var_01++) - { - common_scripts\_exploder::exploder(var_03[var_01]); - } -} - -//Function Number: 45 -turn_off_exploders() -{ - level notify("createfx_exploder_reset"); - var_00 = []; - for(var_01 = 0;var_01 < level._createfx.selected_fx_ents.size;var_01++) - { - var_02 = level._createfx.selected_fx_ents[var_01]; - if(isdefined(var_02.v["exploder"])) - { - var_00[var_02.v["exploder"]] = 1; - } - } - - var_03 = getarraykeys(var_00); - for(var_01 = 0;var_01 < var_03.size;var_01++) - { - common_scripts\_exploder::kill_exploder(var_03[var_01]); - } -} - -//Function Number: 46 -draw_distance() -{ - var_00 = 0; - if(getdvarint("createfx_drawdist") == 0) - { - } - - for(;;) - { - var_01 = getdvarint("createfx_drawdist"); - var_01 = var_01 * var_01; - for(var_02 = 0;var_02 < level.createfxent.size;var_02++) - { - var_03 = level.createfxent[var_02]; - var_03.drawn = distancesquared(level.player.origin,var_03.v["origin"]) <= var_01; - var_00++; - if(var_00 > 100) - { - var_00 = 0; - wait(0.05); - } - } - - if(level.createfxent.size == 0) - { - wait(0.05); - } - } -} - -//Function Number: 47 -createfx_autosave() -{ - setdvarifuninitialized("createfx_autosave_time","300"); - for(;;) - { - wait(getdvarint("createfx_autosave_time")); - common_scripts\utility::flag_waitopen("createfx_saving"); - if(getdvarint("createfx_no_autosave")) - { - continue; - } - - generate_fx_log(1); - } -} - -//Function Number: 48 -rotate_over_time(param_00,param_01) -{ - level endon("new_ent_selection"); - var_02 = 0.1; - for(var_03 = 0;var_03 < var_02 * 20;var_03++) - { - if(level.selectedrotate_pitch != 0) - { - param_00 addpitch(level.selectedrotate_pitch); - } - else if(level.selectedrotate_roll != 0) - { - param_00 addyaw(level.selectedrotate_roll); - } - else - { - param_00 addroll(level.selectedrotate_yaw); - } - - wait(0.05); - param_00 draw_axis(); - for(var_04 = 0;var_04 < level._createfx.selected_fx_ents.size;var_04++) - { - var_05 = level._createfx.selected_fx_ents[var_04]; - if(isdefined(var_05.model)) - { - continue; - } - - var_05.v["origin"] = param_01[var_04].origin; - var_05.v["angles"] = param_01[var_04].angles; - } - } -} - -//Function Number: 49 -delete_pressed() -{ - if(level.createfx_inputlocked) - { - remove_selected_option(); - return; - } - - delete_selection(); -} - -//Function Number: 50 -remove_selected_option() -{ - if(!isdefined(level._createfx.selected_fx_option_index)) - { - return; - } - - var_00 = level._createfx.options[level._createfx.selected_fx_option_index]["name"]; - for(var_01 = 0;var_01 < level.createfxent.size;var_01++) - { - var_02 = level.createfxent[var_01]; - if(!ent_is_selected(var_02)) - { - continue; - } - - var_02 remove_option(var_00); - } - - update_selected_entities(); - clear_settable_fx(); -} - -//Function Number: 51 -remove_option(param_00) -{ - self.v[param_00] = undefined; -} - -//Function Number: 52 -delete_selection() -{ - save_undo_buffer(); - var_00 = []; - for(var_01 = 0;var_01 < level.createfxent.size;var_01++) - { - var_02 = level.createfxent[var_01]; - if(ent_is_selected(var_02)) - { - if(isdefined(var_02.looper)) - { - var_02.looper delete(); - } - - var_02 notify("stop_loop"); - continue; - } - - var_00[var_00.size] = var_02; - } - - level.createfxent = var_00; - level._createfx.selected_fx = []; - level._createfx.selected_fx_ents = []; - clear_fx_hudelements(); - save_redo_buffer(); -} - -//Function Number: 53 -move_selection_to_cursor() -{ - thread save_undo_buffer(); - var_00 = level.createfxcursor["position"]; - if(level._createfx.selected_fx_ents.size <= 0) - { - return; - } - - var_01 = get_center_of_array(level._createfx.selected_fx_ents); - var_02 = var_01 - var_00; - for(var_03 = 0;var_03 < level._createfx.selected_fx_ents.size;var_03++) - { - var_04 = level._createfx.selected_fx_ents[var_03]; - if(isdefined(var_04.model)) - { - continue; - } - - var_04.v["origin"] = var_04.v["origin"] - var_02; - if(level._createfx.snap2normal) - { - if(isdefined(level.createfxcursor["normal"])) - { - var_04.v["angles"] = vectortoangles(level.createfxcursor["normal"]); - } - } - } - - level.createfx_last_movement_timer = 0; -} - -//Function Number: 54 -select_last_entity() -{ - select_entity(level.createfxent.size - 1,level.createfxent[level.createfxent.size - 1]); -} - -//Function Number: 55 -reselect_entitites() -{ - var_00 = []; - for(var_01 = 0;var_01 < level.createfxent.size;var_01++) - { - if(index_is_selected(var_01)) - { - var_00[var_00.size] = var_01; - } - } - - clear_entity_selection(); - select_index_array(var_00); -} - -//Function Number: 56 -select_all_exploders_of_currently_selected(param_00) -{ - var_01 = []; - foreach(var_03 in level._createfx.selected_fx_ents) - { - if(!isdefined(var_03.v[param_00])) - { - continue; - } - - var_04 = var_03.v[param_00]; - var_01[var_04] = 1; - } - - foreach(var_04, var_07 in var_01) - { - foreach(var_09, var_03 in level.createfxent) - { - if(index_is_selected(var_09)) - { - continue; - } - - if(!isdefined(var_03.v[param_00])) - { - continue; - } - - if(var_03.v[param_00] != var_04) - { - continue; - } - - select_entity(var_09,var_03); - } - } - - update_selected_entities(); -} - -//Function Number: 57 -copy_ents() -{ - if(level._createfx.selected_fx_ents.size <= 0) - { - return; - } - - var_00 = []; - for(var_01 = 0;var_01 < level._createfx.selected_fx_ents.size;var_01++) - { - var_02 = level._createfx.selected_fx_ents[var_01]; - var_03 = spawnstruct(); - var_03.v = var_02.v; - var_03 post_entity_creation_function(); - var_00[var_00.size] = var_03; - } - - level.stored_ents = var_00; -} - -//Function Number: 58 -post_entity_creation_function() -{ - self.textalpha = 0; - self.drawn = 1; -} - -//Function Number: 59 -paste_ents() -{ - if(!isdefined(level.stored_ents)) - { - return; - } - - clear_entity_selection(); - for(var_00 = 0;var_00 < level.stored_ents.size;var_00++) - { - add_and_select_entity(level.stored_ents[var_00]); - } - - move_selection_to_cursor(); - update_selected_entities(); - level.stored_ents = []; - copy_ents(); -} - -//Function Number: 60 -add_and_select_entity(param_00) -{ - level.createfxent[level.createfxent.size] = param_00; - select_last_entity(); -} - -//Function Number: 61 -get_center_of_array(param_00) -{ - var_01 = (0,0,0); - for(var_02 = 0;var_02 < param_00.size;var_02++) - { - var_01 = (var_01[0] + param_00[var_02].v["origin"][0],var_01[1] + param_00[var_02].v["origin"][1],var_01[2] + param_00[var_02].v["origin"][2]); - } - - return (var_01[0] / param_00.size,var_01[1] / param_00.size,var_01[2] / param_00.size); -} - -//Function Number: 62 -get_radius_of_array(param_00) -{ - var_01 = param_00[0].v["origin"]; - var_02 = param_00[0].v["origin"]; - var_03 = var_01[0]; - var_04 = var_01[1]; - var_05 = var_01[2]; - var_06 = var_02[0]; - var_07 = var_02[1]; - var_08 = var_02[2]; - for(var_09 = 0;var_09 < param_00.size;var_09++) - { - var_0A = param_00[var_09].v["origin"]; - if(var_0A[0] < var_01[0]) - { - var_03 = var_0A[0]; - } - - if(var_0A[0] > var_02[0]) - { - var_06 = var_0A[0]; - } - - if(var_0A[1] < var_01[1]) - { - var_04 = var_0A[1]; - } - - if(var_0A[1] > var_02[1]) - { - var_07 = var_0A[1]; - } - - if(var_0A[2] < var_01[2]) - { - var_05 = var_0A[2]; - } - - if(var_0A[2] > var_02[2]) - { - var_08 = var_0A[2]; - } - } - - var_01 = (var_03,var_04,var_05); - var_02 = (var_06,var_07,var_08); - var_0B = distance(var_02,var_01); - return var_0B; -} - -//Function Number: 63 -ent_draw_axis() -{ - self endon("death"); - for(;;) - { - draw_axis(); - wait(0.05); - } -} - -//Function Number: 64 -rotation_is_occuring() -{ - if(level.selectedrotate_roll != 0) - { - return 1; - } - - if(level.selectedrotate_pitch != 0) - { - return 1; - } - - return level.selectedrotate_yaw != 0; -} - -//Function Number: 65 -print_fx_options(param_00,param_01,param_02) -{ - for(var_03 = 0;var_03 < level._createfx.options.size;var_03++) - { - var_04 = level._createfx.options[var_03]; - if(isdefined(var_04["nowrite"]) && var_04["nowrite"]) - { - continue; - } - - var_05 = var_04["name"]; - if(!isdefined(param_00.v[var_05])) - { - continue; - } - - if(!common_scripts\_createfxmenu::mask(var_04["mask"],param_00.v["type"])) - { - continue; - } - - if(!level.mp_createfx) - { - if(common_scripts\_createfxmenu::mask("fx",param_00.v["type"]) && var_05 == "fxid") - { - continue; - } - - if(param_00.v["type"] == "exploder" && var_05 == "exploder") - { - continue; - } - - var_06 = param_00.v["type"] + "/" + var_05; - if(isdefined(level._createfx.defaults[var_06]) && level._createfx.defaults[var_06] == param_00.v[var_05]) - { - continue; - } - } - - if(var_04["type"] == "string") - { - var_07 = param_00.v[var_05] + ""; - if(var_07 == "nil") - { - continue; - } - - if(var_05 == "platform" && var_07 == "all") - { - continue; - } - - cfxprintln(param_01 + "ent.v[ \" + var_05 + "\" ] = \" + param_00.v[var_05] + "\";"); - continue; - } - - cfxprintln(param_01 + "ent.v[ \" + var_05 + "\" ] = " + param_00.v[var_05] + ";"); - } -} - -//Function Number: 66 -entity_highlight_disable() -{ - self notify("highlight change"); - self endon("highlight change"); - for(;;) - { - self.textalpha = self.textalpha * 0.85; - self.textalpha = self.textalpha - 0.05; - if(self.textalpha < 0) - { - break; - } - - wait(0.05); - } - - self.textalpha = 0; -} - -//Function Number: 67 -entity_highlight_enable() -{ - self notify("highlight change"); - self endon("highlight change"); - for(;;) - { - self.textalpha = self.textalpha + 0.05; - self.textalpha = self.textalpha * 1.25; - if(self.textalpha > 1) - { - break; - } - - wait(0.05); - } - - self.textalpha = 1; -} - -//Function Number: 68 -clear_settable_fx() -{ - level.createfx_inputlocked = 0; - level._createfx.selected_fx_option_index = undefined; - reset_fx_hud_colors(); -} - -//Function Number: 69 -reset_fx_hud_colors() -{ - for(var_00 = 0;var_00 < level._createfx.hudelem_count;var_00++) - { - level._createfx.hudelems[var_00][0].color = (1,1,1); - } -} - -//Function Number: 70 -toggle_entity_selection(param_00,param_01) -{ - if(isdefined(level._createfx.selected_fx[param_00])) - { - deselect_entity(param_00,param_01); - return; - } - - select_entity(param_00,param_01); -} - -//Function Number: 71 -select_entity(param_00,param_01) -{ - if(isdefined(level._createfx.selected_fx[param_00])) - { - return; - } - - clear_settable_fx(); - level notify("new_ent_selection"); - param_01 thread entity_highlight_enable(); - level._createfx.selected_fx[param_00] = 1; - level._createfx.selected_fx_ents[level._createfx.selected_fx_ents.size] = param_01; - level.createfx_menu_list_active = 0; -} - -//Function Number: 72 -ent_is_highlighted(param_00) -{ - if(!isdefined(level.fx_highlightedent)) - { - return 0; - } - - return param_00 == level.fx_highlightedent; -} - -//Function Number: 73 -deselect_entity(param_00,param_01) -{ - if(!isdefined(level._createfx.selected_fx[param_00])) - { - return; - } - - clear_settable_fx(); - level notify("new_ent_selection"); - level._createfx.selected_fx[param_00] = undefined; - if(!ent_is_highlighted(param_01)) - { - param_01 thread entity_highlight_disable(); - } - - var_02 = []; - for(var_03 = 0;var_03 < level._createfx.selected_fx_ents.size;var_03++) - { - if(level._createfx.selected_fx_ents[var_03] != param_01) - { - var_02[var_02.size] = level._createfx.selected_fx_ents[var_03]; - } - } - - level._createfx.selected_fx_ents = var_02; -} - -//Function Number: 74 -index_is_selected(param_00) -{ - return isdefined(level._createfx.selected_fx[param_00]); -} - -//Function Number: 75 -ent_is_selected(param_00) -{ - for(var_01 = 0;var_01 < level._createfx.selected_fx_ents.size;var_01++) - { - if(level._createfx.selected_fx_ents[var_01] == param_00) - { - return 1; - } - } - - return 0; -} - -//Function Number: 76 -clear_entity_selection() -{ - for(var_00 = 0;var_00 < level._createfx.selected_fx_ents.size;var_00++) - { - if(!ent_is_highlighted(level._createfx.selected_fx_ents[var_00])) - { - level._createfx.selected_fx_ents[var_00] thread entity_highlight_disable(); - } - } - - level._createfx.selected_fx = []; - level._createfx.selected_fx_ents = []; -} - -//Function Number: 77 -draw_axis() -{ -} - -//Function Number: 78 -draw_cross() -{ -} - -//Function Number: 79 -createfx_centerprint(param_00) -{ - thread createfx_centerprint_thread(param_00); -} - -//Function Number: 80 -createfx_centerprint_thread(param_00) -{ - level notify("new_createfx_centerprint"); - level endon("new_createfx_centerprint"); - for(var_01 = 0;var_01 < 5;var_01++) - { - } - - wait(4.5); - for(var_01 = 0;var_01 < 5;var_01++) - { - } -} - -//Function Number: 81 -get_selected_move_vector() -{ - var_00 = level.player getplayerangles()[1]; - var_01 = (0,var_00,0); - var_02 = anglestoright(var_01); - var_03 = anglestoforward(var_01); - var_04 = anglestoup(var_01); - var_05 = 0; - var_06 = level._createfx.rate; - if(buttondown("DPAD_UP")) - { - if(level.selectedmove_forward < 0) - { - level.selectedmove_forward = 0; - } - - level.selectedmove_forward = level.selectedmove_forward + var_06; - } - else if(buttondown("DPAD_DOWN")) - { - if(level.selectedmove_forward > 0) - { - level.selectedmove_forward = 0; - } - - level.selectedmove_forward = level.selectedmove_forward - var_06; - } - else - { - level.selectedmove_forward = 0; - } - - if(buttondown("DPAD_RIGHT")) - { - if(level.selectedmove_right < 0) - { - level.selectedmove_right = 0; - } - - level.selectedmove_right = level.selectedmove_right + var_06; - } - else if(buttondown("DPAD_LEFT")) - { - if(level.selectedmove_right > 0) - { - level.selectedmove_right = 0; - } - - level.selectedmove_right = level.selectedmove_right - var_06; - } - else - { - level.selectedmove_right = 0; - } - - if(buttondown("BUTTON_Y")) - { - if(level.selectedmove_up < 0) - { - level.selectedmove_up = 0; - } - - level.selectedmove_up = level.selectedmove_up + var_06; - } - else if(buttondown("BUTTON_B")) - { - if(level.selectedmove_up > 0) - { - level.selectedmove_up = 0; - } - - level.selectedmove_up = level.selectedmove_up - var_06; - } - else - { - level.selectedmove_up = 0; - } - - var_07 = (0,0,0); - var_07 = var_07 + var_03 * level.selectedmove_forward; - var_07 = var_07 + var_02 * level.selectedmove_right; - var_07 = var_07 + var_04 * level.selectedmove_up; - return var_07; -} - -//Function Number: 82 -set_anglemod_move_vector() -{ - if(!level._createfx.snap90deg) - { - var_00 = level._createfx.rate; - } - else - { - var_00 = 90; - } - - if(buttondown("kp_uparrow","DPAD_UP")) - { - if(level.selectedrotate_pitch < 0) - { - level.selectedrotate_pitch = 0; - } - - level.selectedrotate_pitch = level.selectedrotate_pitch + var_00; - } - else if(buttondown("kp_downarrow","DPAD_DOWN")) - { - if(level.selectedrotate_pitch > 0) - { - level.selectedrotate_pitch = 0; - } - - level.selectedrotate_pitch = level.selectedrotate_pitch - var_00; - } - else - { - level.selectedrotate_pitch = 0; - } - - if(buttondown("DPAD_LEFT")) - { - if(level.selectedrotate_yaw < 0) - { - level.selectedrotate_yaw = 0; - } - - level.selectedrotate_yaw = level.selectedrotate_yaw + var_00; - } - else if(buttondown("DPAD_RIGHT")) - { - if(level.selectedrotate_yaw > 0) - { - level.selectedrotate_yaw = 0; - } - - level.selectedrotate_yaw = level.selectedrotate_yaw - var_00; - } - else - { - level.selectedrotate_yaw = 0; - } - - if(buttondown("BUTTON_Y")) - { - if(level.selectedrotate_roll < 0) - { - level.selectedrotate_roll = 0; - } - - level.selectedrotate_roll = level.selectedrotate_roll + var_00; - return; - } - - if(buttondown("BUTTON_B")) - { - if(level.selectedrotate_roll > 0) - { - level.selectedrotate_roll = 0; - } - - level.selectedrotate_roll = level.selectedrotate_roll - var_00; - return; - } - - level.selectedrotate_roll = 0; -} - -//Function Number: 83 -update_selected_entities() -{ - var_00 = 0; - foreach(var_02 in level._createfx.selected_fx_ents) - { - if(var_02.v["type"] == "reactive_fx") - { - var_00 = 1; - } - - var_02 [[ level.func_updatefx ]](); - } - - if(var_00) - { - refresh_reactive_fx_ents(); - } -} - -//Function Number: 84 -hack_start(param_00) -{ - if(!isdefined(param_00)) - { - param_00 = "painter_mp"; - } - - precachemenu(param_00); - wait(0.05); - if(param_00 == "painter_mp") - { - return; - } - - level.player openpopupmenu(param_00); - level.player closepopupmenu(param_00); -} - -//Function Number: 85 -stop_fx_looper() -{ - if(isdefined(self.looper)) - { - self.looper delete(); - } - - stop_loopsound(); -} - -//Function Number: 86 -stop_loopsound() -{ - self notify("stop_loop"); -} - -//Function Number: 87 -func_get_level_fx() -{ - if(!isdefined(level._effect_keys)) - { - var_00 = getarraykeys(level._effect); - } - else - { - var_00 = getarraykeys(level._effect); - if(var_00.size == level._effect_keys.size) - { - return level._effect_keys; - } - } - - var_00 = common_scripts\utility::alphabetize(var_00); - level._effect_keys = var_00; - return var_00; -} - -//Function Number: 88 -restart_fx_looper() -{ - stop_fx_looper(); - set_forward_and_up_vectors(); - switch(self.v["type"]) - { - case "loopfx": - break; - - case "oneshotfx": - break; - - case "soundfx": - break; - - case "soundfx_interval": - break; - - case "soundfx_dynamic": - break; - } -} - -//Function Number: 89 -refresh_reactive_fx_ents() -{ - level._fx.reactive_fx_ents = undefined; - foreach(var_01 in level.createfxent) - { - if(var_01.v["type"] == "reactive_fx") - { - var_01 set_forward_and_up_vectors(); - var_01 common_scripts\_fx::add_reactive_fx(); - } - } -} - -//Function Number: 90 -process_fx_rotater() -{ - if(level.fx_rotating) - { - thread save_undo_buffer(); - level.createfx_last_movement_timer = 0; - return; - } - - set_anglemod_move_vector(); - if(!rotation_is_occuring()) - { - return; - } - - level.fx_rotating = 1; - if(level._createfx.selected_fx_ents.size > 1 && !level._createfx.localrot) - { - var_00 = get_center_of_array(level._createfx.selected_fx_ents); - var_01 = spawn("script_origin",var_00); - var_01.v["angles"] = level._createfx.selected_fx_ents[0].v["angles"]; - var_01.v["origin"] = var_00; - var_02 = []; - for(var_03 = 0;var_03 < level._createfx.selected_fx_ents.size;var_03++) - { - var_02[var_03] = spawn("script_origin",level._createfx.selected_fx_ents[var_03].v["origin"]); - var_02[var_03].angles = level._createfx.selected_fx_ents[var_03].v["angles"]; - var_02[var_03] vehicle_jetbikesethoverforcescale(var_01); - } - - rotate_over_time(var_01,var_02); - var_01 delete(); - for(var_03 = 0;var_03 < var_02.size;var_03++) - { - var_02[var_03] delete(); - } - } - else if(level._createfx.selected_fx_ents.size > 0) - { - foreach(var_05 in level._createfx.selected_fx_ents) - { - var_02 = spawn("script_origin",(0,0,0)); - var_02.angles = var_05.v["angles"]; - if(level.selectedrotate_pitch != 0) - { - var_02 addpitch(level.selectedrotate_pitch); - } - else if(level.selectedrotate_yaw != 0) - { - var_02 addyaw(level.selectedrotate_yaw); - } - else - { - var_02 addroll(level.selectedrotate_roll); - } - - var_05.v["angles"] = var_02.angles; - var_02 delete(); - } - - wait(0.05); - } - - level.fx_rotating = 0; -} - -//Function Number: 91 -spawn_grenade() -{ - playfx(level._createfx.grenade.fx,level.createfxcursor["position"]); - level._createfx.grenade playsound(level._createfx.grenade.sound); - radiusdamage(level.createfxcursor["position"],level._createfx.grenade.radius,50,5,undefined,"MOD_EXPLOSIVE"); - level notify("code_damageradius",undefined,level._createfx.grenade.radius,level.createfxcursor["position"]); -} - -//Function Number: 92 -show_help() -{ - if(level.createfx_help_active == 1) - { - clear_fx_hudelements(); - level.createfx_help_active = 0; - level.createfx_menu_list_active = 0; - reselect_entitites(); - } - else - { - level.createfx_help_active = 1; - level.createfx_menu_list_active = 1; - common_scripts\_createfxmenu::draw_help_list(); - thread common_scripts\_createfxmenu::help_navigation_buttons(); - clear_tool_hud(); - } - - wait(0.2); -} - -//Function Number: 93 -generate_fx_log(param_00) -{ -} - -//Function Number: 94 -write_entity(param_00,param_01) -{ - var_02 = "\t"; - if(getdvarint("scr_map_exploder_dump")) - { - if(!isdefined(param_00.model)) - { - return; - } - } - else if(isdefined(param_00.model)) - { - return; - } - - if(param_00.v["type"] == "loopfx") - { - cfxprintln(var_02 + "ent = createLoopEffect( \" + param_00.v["fxid"] + "\" );"); - } - - if(param_00.v["type"] == "oneshotfx") - { - cfxprintln(var_02 + "ent = createOneshotEffect( \" + param_00.v["fxid"] + "\" );"); - } - - if(param_00.v["type"] == "exploder") - { - if(isdefined(param_00.v["exploder"]) && !level.mp_createfx) - { - cfxprintln(var_02 + "ent = createExploderEx( \" + param_00.v["fxid"] + "\", \" + param_00.v["exploder"] + "\" );"); - } - else - { - cfxprintln(var_02 + "ent = createExploder( \" + param_00.v["fxid"] + "\" );"); - } - } - - if(param_00.v["type"] == "soundfx") - { - cfxprintln(var_02 + "ent = createLoopSound();"); - } - - if(param_00.v["type"] == "soundfx_interval") - { - cfxprintln(var_02 + "ent = createIntervalSound();"); - } - - if(param_00.v["type"] == "reactive_fx") - { - cfxprintln(var_02 + "ent = createReactiveEnt();"); - } - - if(param_00.v["type"] == "soundfx_dynamic") - { - cfxprintln(var_02 + "ent = createDynamicAmbience();"); - } - - cfxprintln(var_02 + "ent set_origin_and_angles( " + param_00.v["origin"] + ", " + param_00.v["angles"] + " );"); - print_fx_options(param_00,var_02,param_01); - cfxprintln(""); -} - -//Function Number: 95 -write_log(param_00,param_01,param_02,param_03,param_04) -{ - var_05 = "\t"; - cfxprintlnstart(); - cfxprintln("//_createfx generated. Do not touch!!"); - cfxprintln("#include common_scripts\\utility;"); - cfxprintln("#include common_scripts\\_createfx;\n"); - cfxprintln(""); - cfxprintln("main()"); - cfxprintln("{"); - var_06 = param_00.size; - if(isdefined(param_04)) - { - var_06 = var_06 + param_04.size; - } - - cfxprintln(var_05 + "// CreateFX " + param_01 + " entities placed: " + var_06); - foreach(var_08 in param_00) - { - if(level.createfx_loopcounter > 16) - { - level.createfx_loopcounter = 0; - wait(0.1); - } - - level.createfx_loopcounter++; - write_entity(var_08,param_02); - } - - if(isdefined(param_04)) - { - foreach(var_0B in param_04) - { - if(level.createfx_loopcounter > 16) - { - level.createfx_loopcounter = 0; - wait(0.1); - } - - level.createfx_loopcounter++; - var_08 = spawnstruct(); - var_08.v = var_0B; - write_entity(var_08,param_02); - } - } - - cfxprintln("}"); - cfxprintln(" "); - cfxprintlnend(param_02,param_03,param_01); -} - -//Function Number: 96 -createfx_adjust_array() -{ - var_00 = 0.1; - foreach(var_02 in level.createfxent) - { - var_03 = []; - var_04 = []; - for(var_05 = 0;var_05 < 3;var_05++) - { - var_03[var_05] = var_02.v["origin"][var_05]; - var_04[var_05] = var_02.v["angles"][var_05]; - if(var_03[var_05] < var_00 && var_03[var_05] > var_00 * -1) - { - var_03[var_05] = 0; - } - - if(var_04[var_05] < var_00 && var_04[var_05] > var_00 * -1) - { - var_04[var_05] = 0; - } - } - - var_02.v["origin"] = (var_03[0],var_03[1],var_03[2]); - var_02.v["angles"] = (var_04[0],var_04[1],var_04[2]); - } -} - -//Function Number: 97 -get_createfx_array(param_00) -{ - var_01 = get_createfx_types(param_00); - var_02 = []; - foreach(var_05, var_04 in var_01) - { - var_02[var_05] = []; - } - - foreach(var_07 in level.createfxent) - { - var_08 = 0; - foreach(var_05, param_00 in var_01) - { - if(var_07.v["type"] != param_00) - { - continue; - } - - var_08 = 1; - var_02[var_05][var_02[var_05].size] = var_07; - break; - } - } - - var_0B = []; - for(var_0C = 0;var_0C < var_01.size;var_0C++) - { - foreach(var_07 in var_02[var_0C]) - { - var_0B[var_0B.size] = var_07; - } - } - - return var_0B; -} - -//Function Number: 98 -get_createfx_types(param_00) -{ - var_01 = []; - if(param_00 == "fx") - { - var_01[0] = "loopfx"; - var_01[1] = "oneshotfx"; - var_01[2] = "exploder"; - } - else - { - var_01[0] = "soundfx"; - var_01[1] = "soundfx_interval"; - var_01[2] = "reactive_fx"; - var_01[3] = "soundfx_dynamic"; - } - - return var_01; -} - -//Function Number: 99 -is_createfx_type(param_00,param_01) -{ - var_02 = get_createfx_types(param_01); - foreach(var_04 in var_02) - { - if(param_00.v["type"] == var_04) - { - return 1; - } - } - - return 0; -} - -//Function Number: 100 -createfx_filter_types() -{ - var_00 = []; - var_00[0] = "soundfx"; - var_00[1] = "loopfx"; - var_00[2] = "oneshotfx"; - var_00[3] = "exploder"; - var_00[4] = "soundfx_interval"; - var_00[5] = "reactive_fx"; - var_00[6] = "soundfx_dynamic"; - var_01 = []; - foreach(var_04, var_03 in var_00) - { - var_01[var_04] = []; - } - - foreach(var_06 in level.createfxent) - { - var_07 = 0; - foreach(var_04, var_09 in var_00) - { - if(var_06.v["type"] != var_09) - { - continue; - } - - var_07 = 1; - var_01[var_04][var_01[var_04].size] = var_06; - break; - } - } - - var_0B = []; - for(var_0C = 0;var_0C < var_00.size;var_0C++) - { - foreach(var_06 in var_01[var_0C]) - { - var_0B[var_0B.size] = var_06; - } - } - - level.createfxent = var_0B; -} - -//Function Number: 101 -cfxprintlnstart() -{ - common_scripts\utility::fileprint_launcher_start_file(); -} - -//Function Number: 102 -cfxprintln(param_00) -{ - common_scripts\utility::fileprint_launcher(param_00); -} - -//Function Number: 103 -cfxprintlnend(param_00,param_01,param_02) -{ - var_03 = 1; - if(param_01 != "" || param_00) - { - var_03 = 0; - } - - if(common_scripts\utility::issp()) - { - var_04 = common_scripts\utility::get_template_level() + param_01 + "_" + param_02 + ".gsc"; - if(param_00) - { - var_04 = "backup_" + param_02 + ".gsc"; - } - } - else - { - var_04 = common_scripts\utility::get_template_level() + param_02 + "_" + var_03 + ".gsc"; - if(param_00) - { - var_04 = "backup.gsc"; - } - } - - common_scripts\utility::fileprint_launcher_end_file("/share/raw/maps/createfx/" + var_04,var_03); -} - -//Function Number: 104 -process_button_held_and_clicked() -{ - add_button("mouse1"); - add_button("BUTTON_RSHLDR"); - add_button("BUTTON_LSHLDR"); - add_button("BUTTON_RSTICK"); - add_button("BUTTON_LSTICK"); - add_button("BUTTON_A"); - add_button("BUTTON_B"); - add_button("BUTTON_X"); - add_button("BUTTON_Y"); - add_button("DPAD_UP"); - add_button("DPAD_LEFT"); - add_button("DPAD_RIGHT"); - add_button("DPAD_DOWN"); - add_kb_button("shift"); - add_kb_button("ctrl"); - add_kb_button("escape"); - add_kb_button("F1"); - add_kb_button("F5"); - add_kb_button("F4"); - add_kb_button("F2"); - add_kb_button("a"); - add_kb_button("g"); - add_kb_button("c"); - add_kb_button("h"); - add_kb_button("i"); - add_kb_button("f"); - add_kb_button("k"); - add_kb_button("l"); - add_kb_button("m"); - add_kb_button("o"); - add_kb_button("p"); - add_kb_button("r"); - add_kb_button("s"); - add_kb_button("u"); - add_kb_button("v"); - add_kb_button("x"); - add_kb_button("y"); - add_kb_button("z"); - add_kb_button("del"); - add_kb_button("end"); - add_kb_button("tab"); - add_kb_button("ins"); - add_kb_button("add"); - add_kb_button("space"); - add_kb_button("enter"); - add_kb_button("1"); - add_kb_button("2"); - add_kb_button("3"); - add_kb_button("4"); - add_kb_button("5"); - add_kb_button("6"); - add_kb_button("7"); - add_kb_button("8"); - add_kb_button("9"); - add_kb_button("0"); - add_kb_button("-"); - add_kb_button("="); - add_kb_button(","); - add_kb_button("."); - add_kb_button("["); - add_kb_button("]"); - add_kb_button("leftarrow"); - add_kb_button("rightarrow"); - add_kb_button("uparrow"); - add_kb_button("downarrow"); -} - -//Function Number: 105 -locked(param_00) -{ - if(isdefined(level._createfx.lockedlist[param_00])) - { - return 0; - } - - return kb_locked(param_00); -} - -//Function Number: 106 -kb_locked(param_00) -{ - return level.createfx_inputlocked && isdefined(level.button_is_kb[param_00]); -} - -//Function Number: 107 -add_button(param_00) -{ - if(locked(param_00)) - { - return; - } - - if(!isdefined(level.buttonisheld[param_00])) - { - if(level.player buttonpressed(param_00)) - { - level.buttonisheld[param_00] = 1; - level.buttonclick[param_00] = 1; - return; - } - - return; - } - - if(!level.player buttonpressed(param_00)) - { - level.buttonisheld[param_00] = undefined; - } -} - -//Function Number: 108 -add_kb_button(param_00) -{ - level.button_is_kb[param_00] = 1; - add_button(param_00); -} - -//Function Number: 109 -buttondown(param_00,param_01) -{ - return buttonpressed_internal(param_00) || buttonpressed_internal(param_01); -} - -//Function Number: 110 -buttonpressed_internal(param_00) -{ - if(!isdefined(param_00)) - { - return 0; - } - - if(kb_locked(param_00)) - { - return 0; - } - - return level.player buttonpressed(param_00); -} - -//Function Number: 111 -button_is_held(param_00,param_01) -{ - if(isdefined(param_01)) - { - if(isdefined(level.buttonisheld[param_01])) - { - return 1; - } - } - - return isdefined(level.buttonisheld[param_00]); -} - -//Function Number: 112 -button_is_clicked(param_00,param_01) -{ - if(isdefined(param_01)) - { - if(isdefined(level.buttonclick[param_01])) - { - return 1; - } - } - - return isdefined(level.buttonclick[param_00]); -} - -//Function Number: 113 -init_huds() -{ - level._createfx.hudelems = []; - level._createfx.hudelem_count = 30; - var_00 = []; - var_01 = []; - var_00[0] = 0; - var_01[0] = 0; - var_00[1] = 1; - var_01[1] = 1; - var_00[2] = -2; - var_01[2] = 1; - var_00[3] = 1; - var_01[3] = -1; - var_00[4] = -2; - var_01[4] = -1; - level.cleartextmarker = newhudelem(); - level.cleartextmarker.alpha = 0; - for(var_02 = 0;var_02 < level._createfx.hudelem_count;var_02++) - { - var_03 = []; - for(var_04 = 0;var_04 < 1;var_04++) - { - var_05 = newhudelem(); - var_05.alignx = "left"; - var_05.location = 0; - var_05.foreground = 1; - var_05.fontscale = 1.4; - var_05.sort = 20 - var_04; - var_05.alpha = 1; - var_05.x = 0 + var_00[var_04]; - var_05.y = 60 + var_01[var_04] + var_02 * 15; - if(var_04 > 0) - { - var_05.color = (0,0,0); - } - - var_03[var_03.size] = var_05; - } - - level._createfx.hudelems[var_02] = var_03; - } - - var_03 = []; - for(var_04 = 0;var_04 < 5;var_04++) - { - var_05 = newhudelem(); - var_05.alignx = "center"; - var_05.location = 0; - var_05.foreground = 1; - var_05.fontscale = 1.4; - var_05.sort = 20 - var_04; - var_05.alpha = 1; - var_05.x = 320 + var_00[var_04]; - var_05.y = 80 + var_01[var_04]; - if(var_04 > 0) - { - var_05.color = (0,0,0); - } - - var_03[var_03.size] = var_05; - } - - level.createfx_centerprint = var_03; -} - -//Function Number: 114 -init_crosshair() -{ - var_00 = newhudelem(); - var_00.location = 0; - var_00.alignx = "center"; - var_00.aligny = "middle"; - var_00.foreground = 1; - var_00.fontscale = 2; - var_00.sort = 20; - var_00.alpha = 1; - var_00.x = 320; - var_00.y = 233; -} - -//Function Number: 115 -clear_fx_hudelements() -{ - level.cleartextmarker clearalltextafterhudelem(); - for(var_00 = 0;var_00 < level._createfx.hudelem_count;var_00++) - { - for(var_01 = 0;var_01 < 1;var_01++) - { - } - } - - level.fxhudelements = 0; -} - -//Function Number: 116 -set_fx_hudelement(param_00) -{ - for(var_01 = 0;var_01 < 1;var_01++) - { - } - - level.fxhudelements++; -} - -//Function Number: 117 -init_tool_hud() -{ - if(!isdefined(level._createfx.tool_hudelems)) - { - level._createfx.tool_hudelems = []; - } - - if(!isdefined(level._createfx.tool_hud_visible)) - { - level._createfx.tool_hud_visible = 1; - } - - if(!isdefined(level._createfx.tool_hud)) - { - level._createfx.tool_hud = ""; - } -} - -//Function Number: 118 -new_tool_hud(param_00) -{ - foreach(var_03, var_02 in level._createfx.tool_hudelems) - { - if(isdefined(var_02.value_hudelem)) - { - var_02.value_hudelem destroy(); - } - - var_02 destroy(); - level._createfx.tool_hudelems[var_03] = undefined; - } - - level._createfx.tool_hud = param_00; -} - -//Function Number: 119 -current_mode_hud(param_00) -{ - return level._createfx.tool_hud == param_00; -} - -//Function Number: 120 -clear_tool_hud() -{ - new_tool_hud(""); -} - -//Function Number: 121 -new_tool_hudelem(param_00) -{ - var_01 = newhudelem(); - var_01.alignx = "left"; - var_01.location = 0; - var_01.foreground = 1; - var_01.fontscale = 1.2; - var_01.alpha = 1; - var_01.x = 0; - var_01.y = 320 + param_00 * 15; - return var_01; -} - -//Function Number: 122 -get_tool_hudelem(param_00) -{ - if(isdefined(level._createfx.tool_hudelems[param_00])) - { - return level._createfx.tool_hudelems[param_00]; - } - - return undefined; -} - -//Function Number: 123 -set_tool_hudelem(param_00,param_01,param_02) -{ - var_03 = get_tool_hudelem(param_00); - if(!isdefined(var_03)) - { - var_03 = new_tool_hudelem(level._createfx.tool_hudelems.size); - level._createfx.tool_hudelems[param_00] = var_03; - var_03.text = param_00; - } - - if(isdefined(param_01)) - { - if(isdefined(var_03.value_hudelem)) - { - var_04 = var_03.value_hudelem; - } - else - { - var_04 = new_tool_hudelem(level._createfx.tool_hudelems.size); - var_04.x = var_04.x + 110; - var_04.y = var_03.y; - var_03.value_hudelem = var_04; - } - - if(isdefined(var_04.text) && var_04.text == param_01) - { - return; - } - - var_04.text = param_01; - if(!isdefined(param_02)) - { - param_02 = (1,1,1); - } - - var_04.color = param_02; - } -} - -//Function Number: 124 -select_by_substring() -{ - var_00 = getdvar("select_by_substring"); - if(var_00 == "") - { - return 0; - } - - setdvar("select_by_substring",""); - var_01 = []; - foreach(var_04, var_03 in level.createfxent) - { - if(issubstr(var_03.v["fxid"],var_00)) - { - var_01[var_01.size] = var_04; - } - } - - if(var_01.size == 0) - { - return 0; - } - - deselect_all_ents(); - select_index_array(var_01); - foreach(var_06 in var_01) - { - var_03 = level.createfxent[var_06]; - select_entity(var_06,var_03); - } - - return 1; -} - -//Function Number: 125 -select_index_array(param_00) -{ - foreach(var_02 in param_00) - { - var_03 = level.createfxent[var_02]; - select_entity(var_02,var_03); - } -} - -//Function Number: 126 -deselect_all_ents() -{ - foreach(var_02, var_01 in level._createfx.selected_fx_ents) - { - deselect_entity(var_02,var_01); - } -} - -//Function Number: 127 -setup_last_movement_timer() -{ - wait(0.5); - for(;;) - { - level.createfx_last_movement_timer = level.createfx_last_movement_timer + 0.05; - if(level.createfx_last_movement_timer == 0.15) - { - foreach(var_01 in level._createfx.selected_fx_ents) - { - if(var_01.v["type"] == "exploder") - { - var_01 common_scripts\utility::activate_individual_exploder(); - } - } - - common_scripts\_createfxmenu::display_current_translation(); - save_redo_buffer(); - } - - if(level.createfx_last_movement_timer == 0.05) - { - var_01 = common_scripts\_createfxmenu::get_last_selected_ent(); - common_scripts\_createfxmenu::display_current_translation(); - } - - wait(0.05); - } -} - -//Function Number: 128 -frame_selected() -{ - if(level._createfx.selected_fx_ents.size < 1) - { - return; - } - - if(level._createfx.selected_fx_ents.size > 1) - { - var_00 = get_center_of_array(level._createfx.selected_fx_ents); - var_01 = get_radius_of_array(level._createfx.selected_fx_ents) + 200; - } - else - { - var_00 = level._createfx.selected_fx_ents[0].v["origin"]; - var_01 = 200; - } - - var_02 = anglestoforward(level.player getplayerangles()); - var_03 = var_02 * -1 * var_01; - var_04 = level.player geteye(); - var_05 = var_04 - level.player.origin; - level.player setorigin(var_00 + var_03 - var_05); -} - -//Function Number: 129 -clear_all_loopers() -{ - foreach(var_01 in level.createfxent) - { - if(isdefined(var_01.looper)) - { - var_01.looper delete(); - } - - var_01 stop_loopsound(); - } -} - -//Function Number: 130 -restart_oneshots() -{ - foreach(var_01 in level.createfxent) - { - if(var_01.v["type"] == "oneshotfx") - { - var_01 restart_fx_looper(); - } - } -} - -//Function Number: 131 -restart_selected_exploders() -{ - foreach(var_01 in level._createfx.selected_fx_ents) - { - if(isdefined(var_01) && var_01.v["type"] == "exploder") - { - var_01 common_scripts\utility::activate_individual_exploder(); - } - } -} - -//Function Number: 132 -save_undo_buffer() -{ - if(isdefined(level.createfxent) && level.createfx_last_movement_timer > 0.15) - { - level.createfxent_undo = copystructarrayvalues(level.createfxent); - } -} - -//Function Number: 133 -save_redo_buffer() -{ - if(isdefined(level.createfxent)) - { - level.createfxent_redo = copystructarrayvalues(level.createfxent); - } -} - -//Function Number: 134 -undo() -{ - if(isdefined(level.createfxent_undo)) - { - clear_all_loopers(); - level.createfxent = []; - level.createfxent = copystructarrayvalues(level.createfxent_undo); - clear_fx_hudelements(); - reselect_entitites(); - restart_oneshots(); - restart_selected_exploders(); - } -} - -//Function Number: 135 -redo() -{ - if(isdefined(level.createfxent_redo)) - { - clear_all_loopers(); - level.createfxent = []; - level.createfxent = copystructarrayvalues(level.createfxent_redo); - clear_fx_hudelements(); - reselect_entitites(); - restart_oneshots(); - restart_selected_exploders(); - } -} - -//Function Number: 136 -copystructarrayvalues(param_00) -{ - var_01 = []; - if(param_00.size > 0) - { - for(var_02 = 0;var_02 < param_00.size;var_02++) - { - var_03 = spawnstruct(); - if(isdefined(param_00[var_02].v)) - { - var_03.v = []; - var_03.v["type"] = param_00[var_02].v["type"]; - var_03.v["fxid"] = param_00[var_02].v["fxid"]; - var_03.v["soundalias"] = param_00[var_02].v["soundalias"]; - var_03.v["loopsound"] = param_00[var_02].v["loopsound"]; - var_03.v["angles"] = param_00[var_02].v["angles"]; - var_03.v["origin"] = param_00[var_02].v["origin"]; - var_03.v["exploder"] = param_00[var_02].v["exploder"]; - var_03.v["flag"] = param_00[var_02].v["flag"]; - var_03.v["exploder_type"] = param_00[var_02].v["exploder_type"]; - var_03.v["server_culled"] = param_00[var_02].v["server_culled"]; - var_03.v["delay_min"] = param_00[var_02].v["delay_min"]; - var_03.v["delay_max"] = param_00[var_02].v["delay_max"]; - var_03.v["soundalias"] = param_00[var_02].v["soundalias"]; - var_03.v["delay"] = param_00[var_02].v["delay"]; - var_03.v["forward"] = param_00[var_02].v["forward"]; - var_03.v["up"] = param_00[var_02].v["up"]; - var_01[var_02] = var_03; - } - - var_01[var_02].drawn = param_00[var_02].drawn; - var_01[var_02].textalpha = param_00[var_02].textalpha; - } - } - - return var_01; -} - -//Function Number: 137 -removefxentwithentity(param_00) -{ - var_01 = []; - foreach(var_03 in level.createfxent) - { - if(isdefined(var_03.model) && var_03.model == param_00) - { - continue; - } - - var_01[var_01.size] = var_03; - } - - level.createfxent = var_01; -} \ No newline at end of file diff --git a/AW/PC/MP/common_scripts/_destructible.gsc b/AW/PC/MP/common_scripts/_destructible.gsc deleted file mode 100644 index 7acbf50..0000000 --- a/AW/PC/MP/common_scripts/_destructible.gsc +++ /dev/null @@ -1,4397 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: common_scripts/_destructible.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 157 - * Decompile Time: 2558 ms - * Timestamp: 10/27/2023 1:47:14 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - level.destructiblespawnedentslimit = 50; - level.destructiblespawnedents = []; - level.currentcaralarms = 0; - level.commonstarttime = gettime(); - if(isdefined(level.currentgen) && level.currentgen) - { - level.destructiblespawnedentslimit = 25; - } - - if(!isdefined(level.fast_destructible_explode)) - { - level.fast_destructible_explode = 0; - } - - if(!isdefined(level.func)) - { - level.func = []; - } - - var_00 = 1; - if(var_00) - { - find_destructibles(); - } - - var_01 = getentarray("delete_on_load","targetname"); - foreach(var_03 in var_01) - { - var_03 delete(); - } - - init_destroyed_count(); - init_destructible_frame_queue(); -} - -//Function Number: 2 -debgugprintdestructiblelist() -{ -} - -//Function Number: 3 -find_destructibles() -{ - if(!isdefined(level.destructible_functions)) - { - level.destructible_functions = []; - } - - var_00 = []; - foreach(var_02 in level.struct) - { - if(isdefined(var_02.script_noteworthy) && var_02.script_noteworthy == "destructible_dot") - { - var_00[var_00.size] = var_02; - } - } - - var_04 = getentarray("destructible_vehicle","targetname"); - foreach(var_06 in var_04) - { - var_06 thread setup_destructibles_thread(var_00); - } - - var_08 = getentarray("destructible_toy","targetname"); - foreach(var_0A in var_08) - { - var_0A thread setup_destructibles_thread(var_00); - } - - debgugprintdestructiblelist(); -} - -//Function Number: 4 -setup_destructibles_thread(param_00) -{ - setup_destructibles(); - setup_destructible_dots(param_00); -} - -//Function Number: 5 -setup_destructible_dots(param_00) -{ - var_01 = self.destructibleinfo; - var_02 = param_00; - var_0B = getfirstarraykey(var_02); - if(isdefined(var_0B)) - { - var_03 = var_02[var_0B]; - if(isdefined(level.destructible_type[var_01].destructible_dots)) - { - return; - } - - if(isdefined(var_03.script_parameters) && issubstr(var_03.script_parameters,"destructible_type") && issubstr(var_03.script_parameters,self.destructible_type)) - { - if(distancesquared(self.origin,var_03.origin) < 1) - { - var_04 = getentarray(var_03.target,"targetname"); - level.destructible_type[var_01].destructible_dots = []; - var_05 = var_04; - var_0A = getfirstarraykey(var_05); - if(isdefined(var_0A)) - { - var_06 = var_05[var_0A]; - var_07 = var_06.script_index; - if(!isdefined(level.destructible_type[var_01].destructible_dots[var_07])) - { - level.destructible_type[var_01].destructible_dots[var_07] = []; - } - - var_08 = level.destructible_type[var_01].destructible_dots[var_07].size; - level.destructible_type[var_01].destructible_dots[var_07][var_08]["classname"] = var_06.classname; - level.destructible_type[var_01].destructible_dots[var_07][var_08]["origin"] = var_06.origin; - var_09 = common_scripts\utility::ter_op(isdefined(var_06.spawnflags),var_06.spawnflags,0); - level.destructible_type[var_01].destructible_dots[var_07][var_08]["spawnflags"] = var_09; - switch(var_06.classname) - { - case "trigger_radius": - break; - - default: - break; - } - } - } - } - } -} - -//Function Number: 6 -destructible_getinfoindex(param_00) -{ - if(!isdefined(level.destructible_type)) - { - return -1; - } - - if(level.destructible_type.size == 0) - { - return -1; - } - - for(var_01 = 0;var_01 < level.destructible_type.size;var_01++) - { - if(param_00 == level.destructible_type[var_01].v["type"]) - { - return var_01; - } - } - - return -1; -} - -//Function Number: 7 -dest_cover(param_00,param_01,param_02,param_03,param_04,param_05) -{ - if(!isdefined(param_01)) - { - param_01 = 0; - } - - if(!isdefined(param_02)) - { - param_02 = "test/concrete_cover_dest_test"; - } - - if(!isdefined(param_03)) - { - param_03 = 150; - } - - destructible_create(param_00,"tag_origin",1,undefined,32,"no_melee"); - if(isdefined(param_04)) - { - destructible_state(undefined,param_04,undefined,undefined,32,"no_melee"); - } - - for(var_06 = 0;var_06 < param_01;var_06++) - { - var_07 = "fx_joint_" + var_06; - destructible_part(var_07,undefined,param_03,undefined,undefined,"no_melee",1); - destructible_fx(var_07,param_02); - if(isdefined(param_05)) - { - destructible_sound(param_05); - } - - destructible_state(undefined); - } -} - -//Function Number: 8 -destructible_gettype(param_00) -{ - var_01 = destructible_getinfoindex(param_00); - if(var_01 >= 0) - { - return var_01; - } - - if(issubstr(param_00,"dest_cover")) - { - dest_cover(self.destructible_type,self.script_dest_cover_numchunks,self.script_dest_cover_chunkfx,self.script_dest_cover_chunkhealth,self.script_dest_cover_dmg_model,self.script_dest_cover_chunksnd); - var_01 = destructible_getinfoindex(param_00); - return var_01; - } - - if(!isdefined(level.destructible_functions[param_00])) - { - return -1; - } - - [[ level.destructible_functions[param_00] ]](); - var_01 = destructible_getinfoindex(param_00); - return var_01; -} - -//Function Number: 9 -setup_destructibles() -{ - var_00 = undefined; - self.modeldummyon = 0; - add_damage_owner_recorder(); - self.destructibleinfo = destructible_gettype(self.destructible_type); - if(self.destructibleinfo < 0) - { - return; - } - - precache_destructibles(); - add_destructible_fx(); - if(isdefined(level.destructible_transient) && isdefined(level.destructible_transient[self.destructible_type])) - { - common_scripts\utility::flag_wait(level.destructible_transient[self.destructible_type] + "_loaded"); - } - - if(isdefined(level.destructible_type[self.destructibleinfo].attachedmodels)) - { - foreach(var_03 in level.destructible_type[self.destructibleinfo].attachedmodels) - { - if(isdefined(var_03.tag)) - { - self attach(var_03.model,var_03.tag); - } - else - { - self attach(var_03.model); - } - - if(self.modeldummyon) - { - if(isdefined(var_03.tag)) - { - self.modeldummy attach(var_03.model,var_03.tag); - continue; - } - - self.modeldummy attach(var_03.model); - } - } - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts)) - { - self.destructible_parts = []; - for(var_05 = 0;var_05 < level.destructible_type[self.destructibleinfo].parts.size;var_05++) - { - self.destructible_parts[var_05] = spawnstruct(); - self.destructible_parts[var_05].v["currentState"] = 0; - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_05][0].v["health"])) - { - self.destructible_parts[var_05].v["health"] = level.destructible_type[self.destructibleinfo].parts[var_05][0].v["health"]; - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_05][0].v["random_dynamic_attachment_1"])) - { - var_06 = randomint(level.destructible_type[self.destructibleinfo].parts[var_05][0].v["random_dynamic_attachment_1"].size); - var_07 = level.destructible_type[self.destructibleinfo].parts[var_05][0].v["random_dynamic_attachment_tag"][var_06]; - var_08 = level.destructible_type[self.destructibleinfo].parts[var_05][0].v["random_dynamic_attachment_1"][var_06]; - var_09 = level.destructible_type[self.destructibleinfo].parts[var_05][0].v["random_dynamic_attachment_2"][var_06]; - var_0A = level.destructible_type[self.destructibleinfo].parts[var_05][0].v["clipToRemove"][var_06]; - thread do_random_dynamic_attachment(var_07,var_08,var_09,var_0A); - } - - if(var_05 == 0) - { - continue; - } - - var_0B = level.destructible_type[self.destructibleinfo].parts[var_05][0].v["modelName"]; - var_0C = level.destructible_type[self.destructibleinfo].parts[var_05][0].v["tagName"]; - for(var_0D = 1;isdefined(level.destructible_type[self.destructibleinfo].parts[var_05][var_0D]);var_0D++) - { - var_0E = level.destructible_type[self.destructibleinfo].parts[var_05][var_0D].v["tagName"]; - var_0F = level.destructible_type[self.destructibleinfo].parts[var_05][var_0D].v["modelName"]; - if(isdefined(var_0E) && var_0E != var_0C) - { - hideapart(var_0E); - if(self.modeldummyon) - { - self.modeldummy hideapart(var_0E); - } - } - } - } - } - - if(isdefined(self.target)) - { - thread destructible_handles_collision_brushes(); - } - - if(self.code_classname != "script_vehicle") - { - self setcandamage(1); - } - - if(common_scripts\utility::issp()) - { - thread connecttraverses(); - } - - thread destructible_think(); - if(issubstr(self.destructible_type,"dest_cover")) - { - thread destructiblecoverwatcher(); - } - - thread destructible_fx_spawnimmediate(); -} - -//Function Number: 10 -destructible_create(param_00,param_01,param_02,param_03,param_04,param_05) -{ - if(!isdefined(level.destructible_type)) - { - level.destructible_type = []; - } - - var_06 = level.destructible_type.size; - level.destructible_type[var_06] = spawnstruct(); - level.destructible_type[var_06].v["type"] = param_00; - level.destructible_type[var_06].parts = []; - level.destructible_type[var_06].parts[0][0] = spawnstruct(); - level.destructible_type[var_06].parts[0][0].v["modelName"] = self.model; - level.destructible_type[var_06].parts[0][0].v["tagName"] = param_01; - level.destructible_type[var_06].parts[0][0].v["health"] = param_02; - level.destructible_type[var_06].parts[0][0].v["validAttackers"] = param_03; - level.destructible_type[var_06].parts[0][0].v["validDamageZone"] = param_04; - level.destructible_type[var_06].parts[0][0].v["validDamageCause"] = param_05; - level.destructible_type[var_06].parts[0][0].v["godModeAllowed"] = 1; - level.destructible_type[var_06].parts[0][0].v["rotateTo"] = self.angles; - level.destructible_type[var_06].parts[0][0].v["vehicle_exclude_anim"] = 0; -} - -//Function Number: 11 -destructible_part(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) -{ - var_0A = level.destructible_type.size - 1; - var_0B = level.destructible_type[var_0A].parts.size; - var_0C = 0; - destructible_info(var_0B,var_0C,param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,undefined,param_09); -} - -//Function Number: 12 -destructible_state(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - var_08 = level.destructible_type.size - 1; - var_09 = level.destructible_type[var_08].parts.size - 1; - var_0A = level.destructible_type[var_08].parts[var_09].size; - if(!isdefined(param_00) && var_09 == 0) - { - param_00 = level.destructible_type[var_08].parts[var_09][0].v["tagName"]; - } - - destructible_info(var_09,var_0A,param_00,param_01,param_02,param_03,param_04,param_05,undefined,undefined,param_06,param_07); -} - -//Function Number: 13 -destructible_fx_spawn_immediate(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - destructible_fx(param_00,param_01,param_02,param_03,param_04,param_05,1,param_06); -} - -//Function Number: 14 -destructible_fx(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - if(!isdefined(param_02)) - { - param_02 = 1; - } - - if(!isdefined(param_04)) - { - param_04 = 0; - } - - if(!isdefined(param_05)) - { - param_05 = 0; - } - - if(!isdefined(param_06)) - { - param_06 = 0; - } - - if(!isdefined(param_07)) - { - param_07 = 0; - } - - var_08 = level.destructible_type.size - 1; - var_09 = level.destructible_type[var_08].parts.size - 1; - var_0A = level.destructible_type[var_08].parts[var_09].size - 1; - var_0B = 0; - if(isdefined(level.destructible_type[var_08].parts[var_09][var_0A].v["fx_filename"])) - { - if(isdefined(level.destructible_type[var_08].parts[var_09][var_0A].v["fx_filename"][param_04])) - { - var_0B = level.destructible_type[var_08].parts[var_09][var_0A].v["fx_filename"][param_04].size; - } - } - - if(isdefined(param_03)) - { - level.destructible_type[var_08].parts[var_09][var_0A].v["fx_valid_damagetype"][param_04][var_0B] = param_03; - } - - level.destructible_type[var_08].parts[var_09][var_0A].v["fx_filename"][param_04][var_0B] = param_01; - level.destructible_type[var_08].parts[var_09][var_0A].v["fx_tag"][param_04][var_0B] = param_00; - level.destructible_type[var_08].parts[var_09][var_0A].v["fx_useTagAngles"][param_04][var_0B] = param_02; - level.destructible_type[var_08].parts[var_09][var_0A].v["fx_cost"][param_04][var_0B] = param_05; - level.destructible_type[var_08].parts[var_09][var_0A].v["spawn_immediate"][param_04][var_0B] = param_06; - level.destructible_type[var_08].parts[var_09][var_0A].v["state_change_kill"][param_04][var_0B] = param_07; -} - -//Function Number: 15 -destructible_createdot_predefined(param_00) -{ - var_01 = level.destructible_type.size - 1; - var_02 = level.destructible_type[var_01].parts.size - 1; - var_03 = level.destructible_type[var_01].parts[var_02].size - 1; - if(!isdefined(level.destructible_type[var_01].parts[var_02][var_03].v["dot"])) - { - level.destructible_type[var_01].parts[var_02][var_03].v["dot"] = []; - } - - var_04 = level.destructible_type[var_01].parts[var_02][var_03].v["dot"].size; - var_05 = createdot(); - var_05.type = "predefined"; - var_05.index = param_00; - level.destructible_type[var_01].parts[var_02][var_03].v["dot"][var_04] = var_05; -} - -//Function Number: 16 -destructible_createdot_radius(param_00,param_01,param_02,param_03) -{ - var_04 = level.destructible_type.size - 1; - var_05 = level.destructible_type[var_04].parts.size - 1; - var_06 = level.destructible_type[var_04].parts[var_05].size - 1; - if(!isdefined(level.destructible_type[var_04].parts[var_05][var_06].v["dot"])) - { - level.destructible_type[var_04].parts[var_05][var_06].v["dot"] = []; - } - - var_07 = level.destructible_type[var_04].parts[var_05][var_06].v["dot"].size; - var_08 = createdot_radius((0,0,0),param_01,param_02,param_03); - var_08.tag = param_00; - level.destructible_type[var_04].parts[var_05][var_06].v["dot"][var_07] = var_08; -} - -//Function Number: 17 -destructible_setdot_ontick(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - var_08 = level.destructible_type.size - 1; - var_09 = level.destructible_type[var_08].parts.size - 1; - var_0A = level.destructible_type[var_08].parts[var_09].size - 1; - var_0B = level.destructible_type[var_08].parts[var_09][var_0A].v["dot"].size - 1; - var_0C = level.destructible_type[var_08].parts[var_09][var_0A].v["dot"][var_0B]; - var_0C setdot_ontick(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07); - initdot(param_06); -} - -//Function Number: 18 -destructible_setdot_ontickfunc(param_00,param_01,param_02) -{ - var_03 = level.destructible_type.size - 1; - var_04 = level.destructible_type[var_03].parts.size - 1; - var_05 = level.destructible_type[var_03].parts[var_04].size - 1; - var_06 = level.destructible_type[var_03].parts[var_04][var_05].v["dot"].size - 1; - var_07 = level.destructible_type[var_03].parts[var_04][var_05].v["dot"][var_06]; - var_08 = var_07.ticks.size; - var_07.ticks[var_08].onenterfunc = param_00; - var_07.ticks[var_08].onexitfunc = param_01; - var_07.ticks[var_08].ondeathfunc = param_02; -} - -//Function Number: 19 -destructible_builddot_ontick(param_00,param_01) -{ - var_02 = level.destructible_type.size - 1; - var_03 = level.destructible_type[var_02].parts.size - 1; - var_04 = level.destructible_type[var_02].parts[var_03].size - 1; - var_05 = level.destructible_type[var_02].parts[var_03][var_04].v["dot"].size - 1; - var_06 = level.destructible_type[var_02].parts[var_03][var_04].v["dot"][var_05]; - var_06 builddot_ontick(param_00,param_01); -} - -//Function Number: 20 -destructible_builddot_startloop(param_00) -{ - var_01 = level.destructible_type.size - 1; - var_02 = level.destructible_type[var_01].parts.size - 1; - var_03 = level.destructible_type[var_01].parts[var_02].size - 1; - var_04 = level.destructible_type[var_01].parts[var_02][var_03].v["dot"].size - 1; - var_05 = level.destructible_type[var_01].parts[var_02][var_03].v["dot"][var_04]; - var_05 builddot_startloop(param_00); -} - -//Function Number: 21 -destructible_builddot_damage(param_00,param_01,param_02,param_03,param_04,param_05) -{ - var_06 = level.destructible_type.size - 1; - var_07 = level.destructible_type[var_06].parts.size - 1; - var_08 = level.destructible_type[var_06].parts[var_07].size - 1; - var_09 = level.destructible_type[var_06].parts[var_07][var_08].v["dot"].size - 1; - var_0A = level.destructible_type[var_06].parts[var_07][var_08].v["dot"][var_09]; - var_0A builddot_damage(param_00,param_01,param_02,param_03,param_04,param_05); -} - -//Function Number: 22 -destructible_builddot_wait(param_00) -{ - var_01 = level.destructible_type.size - 1; - var_02 = level.destructible_type[var_01].parts.size - 1; - var_03 = level.destructible_type[var_01].parts[var_02].size - 1; - var_04 = level.destructible_type[var_01].parts[var_02][var_03].v["dot"].size - 1; - var_05 = level.destructible_type[var_01].parts[var_02][var_03].v["dot"][var_04]; - var_05 builddot_wait(param_00); -} - -//Function Number: 23 -destructible_loopfx(param_00,param_01,param_02,param_03) -{ - if(!isdefined(param_03)) - { - param_03 = 0; - } - - var_04 = level.destructible_type.size - 1; - var_05 = level.destructible_type[var_04].parts.size - 1; - var_06 = level.destructible_type[var_04].parts[var_05].size - 1; - var_07 = 0; - if(isdefined(level.destructible_type[var_04].parts[var_05][var_06].v["loopfx_filename"])) - { - var_07 = level.destructible_type[var_04].parts[var_05][var_06].v["loopfx_filename"].size; - } - - level.destructible_type[var_04].parts[var_05][var_06].v["loopfx_filename"][var_07] = param_01; - level.destructible_type[var_04].parts[var_05][var_06].v["loopfx_tag"][var_07] = param_00; - level.destructible_type[var_04].parts[var_05][var_06].v["loopfx_rate"][var_07] = param_02; - level.destructible_type[var_04].parts[var_05][var_06].v["loopfx_cost"][var_07] = param_03; -} - -//Function Number: 24 -destructible_healthdrain(param_00,param_01,param_02,param_03) -{ - var_04 = level.destructible_type.size - 1; - var_05 = level.destructible_type[var_04].parts.size - 1; - var_06 = level.destructible_type[var_04].parts[var_05].size - 1; - level.destructible_type[var_04].parts[var_05][var_06].v["healthdrain_amount"] = param_00; - level.destructible_type[var_04].parts[var_05][var_06].v["healthdrain_interval"] = param_01; - level.destructible_type[var_04].parts[var_05][var_06].v["badplace_radius"] = param_02; - level.destructible_type[var_04].parts[var_05][var_06].v["badplace_team"] = param_03; -} - -//Function Number: 25 -destructible_sound(param_00,param_01,param_02) -{ - var_03 = level.destructible_type.size - 1; - var_04 = level.destructible_type[var_03].parts.size - 1; - var_05 = level.destructible_type[var_03].parts[var_04].size - 1; - if(!isdefined(param_02)) - { - param_02 = 0; - } - - if(!isdefined(level.destructible_type[var_03].parts[var_04][var_05].v["sound"])) - { - level.destructible_type[var_03].parts[var_04][var_05].v["sound"] = []; - level.destructible_type[var_03].parts[var_04][var_05].v["soundCause"] = []; - } - - if(!isdefined(level.destructible_type[var_03].parts[var_04][var_05].v["sound"][param_02])) - { - level.destructible_type[var_03].parts[var_04][var_05].v["sound"][param_02] = []; - level.destructible_type[var_03].parts[var_04][var_05].v["soundCause"][param_02] = []; - } - - var_06 = level.destructible_type[var_03].parts[var_04][var_05].v["sound"][param_02].size; - level.destructible_type[var_03].parts[var_04][var_05].v["sound"][param_02][var_06] = param_00; - level.destructible_type[var_03].parts[var_04][var_05].v["soundCause"][param_02][var_06] = param_01; -} - -//Function Number: 26 -destructible_loopsound(param_00,param_01) -{ - var_02 = level.destructible_type.size - 1; - var_03 = level.destructible_type[var_02].parts.size - 1; - var_04 = level.destructible_type[var_02].parts[var_03].size - 1; - if(!isdefined(level.destructible_type[var_02].parts[var_03][var_04].v["loopsound"])) - { - level.destructible_type[var_02].parts[var_03][var_04].v["loopsound"] = []; - level.destructible_type[var_02].parts[var_03][var_04].v["loopsoundCause"] = []; - } - - var_05 = level.destructible_type[var_02].parts[var_03][var_04].v["loopsound"].size; - level.destructible_type[var_02].parts[var_03][var_04].v["loopsound"][var_05] = param_00; - level.destructible_type[var_02].parts[var_03][var_04].v["loopsoundCause"][var_05] = param_01; -} - -//Function Number: 27 -destructible_anim(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) -{ - if(!isdefined(param_03)) - { - param_03 = 0; - } - - if(!isdefined(param_04)) - { - param_04 = 0; - } - - var_09 = []; - var_09["anim"] = param_00; - var_09["animTree"] = param_01; - var_09["animType"] = param_02; - var_09["vehicle_exclude_anim"] = param_03; - var_09["groupNum"] = param_04; - var_09["mpAnim"] = param_05; - var_09["maxStartDelay"] = param_06; - var_09["animRateMin"] = param_07; - var_09["animRateMax"] = param_08; - add_array_to_destructible("animation",var_09); -} - -//Function Number: 28 -destructible_spotlight(param_00) -{ - var_01 = []; - var_01["spotlight_tag"] = param_00; - var_01["spotlight_fx"] = "spotlight_fx"; - var_01["spotlight_brightness"] = 0.85; - var_01["randomly_flip"] = 1; - add_keypairs_to_destructible(var_01); -} - -//Function Number: 29 -add_key_to_destructible(param_00,param_01) -{ - var_02 = []; - var_02[param_00] = param_01; - add_keypairs_to_destructible(var_02); -} - -//Function Number: 30 -add_keypairs_to_destructible(param_00) -{ - var_01 = level.destructible_type.size - 1; - var_02 = level.destructible_type[var_01].parts.size - 1; - var_03 = level.destructible_type[var_01].parts[var_02].size - 1; - foreach(var_06, var_05 in param_00) - { - level.destructible_type[var_01].parts[var_02][var_03].v[var_06] = var_05; - } -} - -//Function Number: 31 -add_array_to_destructible(param_00,param_01) -{ - var_02 = level.destructible_type.size - 1; - var_03 = level.destructible_type[var_02].parts.size - 1; - var_04 = level.destructible_type[var_02].parts[var_03].size - 1; - var_05 = level.destructible_type[var_02].parts[var_03][var_04].v; - if(!isdefined(var_05[param_00])) - { - var_05[param_00] = []; - } - - var_05[param_00][var_05[param_00].size] = param_01; - level.destructible_type[var_02].parts[var_03][var_04].v = var_05; -} - -//Function Number: 32 -destructible_car_alarm() -{ - var_00 = level.destructible_type.size - 1; - var_01 = level.destructible_type[var_00].parts.size - 1; - var_02 = level.destructible_type[var_00].parts[var_01].size - 1; - level.destructible_type[var_00].parts[var_01][var_02].v["triggerCarAlarm"] = 1; -} - -//Function Number: 33 -destructible_lights_out(param_00) -{ - if(!isdefined(param_00)) - { - param_00 = 256; - } - - var_01 = level.destructible_type.size - 1; - var_02 = level.destructible_type[var_01].parts.size - 1; - var_03 = level.destructible_type[var_01].parts[var_02].size - 1; - level.destructible_type[var_01].parts[var_02][var_03].v["break_nearby_lights"] = param_00; -} - -//Function Number: 34 -random_dynamic_attachment(param_00,param_01,param_02,param_03) -{ - if(!isdefined(param_02)) - { - param_02 = ""; - } - - var_04 = level.destructible_type.size - 1; - var_05 = level.destructible_type[var_04].parts.size - 1; - var_06 = 0; - if(!isdefined(level.destructible_type[var_04].parts[var_05][var_06].v["random_dynamic_attachment_1"])) - { - level.destructible_type[var_04].parts[var_05][var_06].v["random_dynamic_attachment_1"] = []; - level.destructible_type[var_04].parts[var_05][var_06].v["random_dynamic_attachment_2"] = []; - level.destructible_type[var_04].parts[var_05][var_06].v["random_dynamic_attachment_tag"] = []; - } - - var_07 = level.destructible_type[var_04].parts[var_05][var_06].v["random_dynamic_attachment_1"].size; - level.destructible_type[var_04].parts[var_05][var_06].v["random_dynamic_attachment_1"][var_07] = param_01; - level.destructible_type[var_04].parts[var_05][var_06].v["random_dynamic_attachment_2"][var_07] = param_02; - level.destructible_type[var_04].parts[var_05][var_06].v["random_dynamic_attachment_tag"][var_07] = param_00; - level.destructible_type[var_04].parts[var_05][var_06].v["clipToRemove"][var_07] = param_03; -} - -//Function Number: 35 -destructible_physics(param_00,param_01) -{ - var_02 = level.destructible_type.size - 1; - var_03 = level.destructible_type[var_02].parts.size - 1; - var_04 = level.destructible_type[var_02].parts[var_03].size - 1; - if(!isdefined(level.destructible_type[var_02].parts[var_03][var_04].v["physics"])) - { - level.destructible_type[var_02].parts[var_03][var_04].v["physics"] = []; - level.destructible_type[var_02].parts[var_03][var_04].v["physics_tagName"] = []; - level.destructible_type[var_02].parts[var_03][var_04].v["physics_velocity"] = []; - } - - var_05 = level.destructible_type[var_02].parts[var_03][var_04].v["physics"].size; - level.destructible_type[var_02].parts[var_03][var_04].v["physics"][var_05] = 1; - level.destructible_type[var_02].parts[var_03][var_04].v["physics_tagName"][var_05] = param_00; - level.destructible_type[var_02].parts[var_03][var_04].v["physics_velocity"][var_05] = param_01; -} - -//Function Number: 36 -destructible_splash_damage_scaler(param_00) -{ - var_01 = level.destructible_type.size - 1; - var_02 = level.destructible_type[var_01].parts.size - 1; - var_03 = level.destructible_type[var_01].parts[var_02].size - 1; - level.destructible_type[var_01].parts[var_02][var_03].v["splash_damage_scaler"] = param_00; -} - -//Function Number: 37 -destructible_explode(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B,param_0C,param_0D) -{ - var_0E = level.destructible_type.size - 1; - var_0F = level.destructible_type[var_0E].parts.size - 1; - var_10 = level.destructible_type[var_0E].parts[var_0F].size - 1; - if(common_scripts\utility::issp()) - { - level.destructible_type[var_0E].parts[var_0F][var_10].v["explode_range"] = param_02; - } - else - { - level.destructible_type[var_0E].parts[var_0F][var_10].v["explode_range"] = param_03; - } - - level.destructible_type[var_0E].parts[var_0F][var_10].v["explode"] = 1; - level.destructible_type[var_0E].parts[var_0F][var_10].v["explode_force_min"] = param_00; - level.destructible_type[var_0E].parts[var_0F][var_10].v["explode_force_max"] = param_01; - level.destructible_type[var_0E].parts[var_0F][var_10].v["explode_mindamage"] = param_04; - level.destructible_type[var_0E].parts[var_0F][var_10].v["explode_maxdamage"] = param_05; - level.destructible_type[var_0E].parts[var_0F][var_10].v["continueDamage"] = param_06; - level.destructible_type[var_0E].parts[var_0F][var_10].v["originOffset"] = param_07; - level.destructible_type[var_0E].parts[var_0F][var_10].v["earthQuakeScale"] = param_08; - level.destructible_type[var_0E].parts[var_0F][var_10].v["earthQuakeRadius"] = param_09; - level.destructible_type[var_0E].parts[var_0F][var_10].v["originOffset3d"] = param_0A; - level.destructible_type[var_0E].parts[var_0F][var_10].v["delaytime"] = param_0B; - level.destructible_type[var_0E].parts[var_0F][var_10].v["explode_angularImpulse_min"] = param_0C; - level.destructible_type[var_0E].parts[var_0F][var_10].v["explode_angularImpulse_max"] = param_0D; -} - -//Function Number: 38 -destructible_function(param_00) -{ - var_01 = level.destructible_type.size - 1; - var_02 = level.destructible_type[var_01].parts.size - 1; - var_03 = level.destructible_type[var_01].parts[var_02].size - 1; - level.destructible_type[var_01].parts[var_02][var_03].v["function"] = param_00; -} - -//Function Number: 39 -destructible_notify(param_00) -{ - var_01 = level.destructible_type.size - 1; - var_02 = level.destructible_type[var_01].parts.size - 1; - var_03 = level.destructible_type[var_01].parts[var_02].size - 1; - level.destructible_type[var_01].parts[var_02][var_03].v["functionNotify"] = param_00; -} - -//Function Number: 40 -destructible_damage_threshold(param_00) -{ - var_01 = level.destructible_type.size - 1; - var_02 = level.destructible_type[var_01].parts.size - 1; - var_03 = level.destructible_type[var_01].parts[var_02].size - 1; - level.destructible_type[var_01].parts[var_02][var_03].v["damage_threshold"] = param_00; -} - -//Function Number: 41 -destructible_attachmodel(param_00,param_01) -{ - param_01 = tolower(param_01); - var_02 = level.destructible_type.size - 1; - if(!isdefined(level.destructible_type[var_02].attachedmodels)) - { - level.destructible_type[var_02].attachedmodels = []; - } - - var_03 = spawnstruct(); - var_03.model = param_01; - var_03.tag = param_00; - level.destructible_type[var_02].attachedmodels[level.destructible_type[var_02].attachedmodels.size] = var_03; -} - -//Function Number: 42 -destructible_info(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B,param_0C) -{ - if(isdefined(param_03)) - { - param_03 = tolower(param_03); - } - - var_0D = level.destructible_type.size - 1; - level.destructible_type[var_0D].parts[param_00][param_01] = spawnstruct(); - level.destructible_type[var_0D].parts[param_00][param_01].v["modelName"] = param_03; - level.destructible_type[var_0D].parts[param_00][param_01].v["tagName"] = param_02; - level.destructible_type[var_0D].parts[param_00][param_01].v["health"] = param_04; - level.destructible_type[var_0D].parts[param_00][param_01].v["validAttackers"] = param_05; - level.destructible_type[var_0D].parts[param_00][param_01].v["validDamageZone"] = param_06; - level.destructible_type[var_0D].parts[param_00][param_01].v["validDamageCause"] = param_07; - level.destructible_type[var_0D].parts[param_00][param_01].v["alsoDamageParent"] = param_08; - level.destructible_type[var_0D].parts[param_00][param_01].v["physicsOnExplosion"] = param_09; - level.destructible_type[var_0D].parts[param_00][param_01].v["grenadeImpactDeath"] = param_0A; - level.destructible_type[var_0D].parts[param_00][param_01].v["godModeAllowed"] = 0; - level.destructible_type[var_0D].parts[param_00][param_01].v["splashRotation"] = param_0B; - level.destructible_type[var_0D].parts[param_00][param_01].v["receiveDamageFromParent"] = param_0C; -} - -//Function Number: 43 -precache_destructibles() -{ - if(!isdefined(level.destructible_type[self.destructibleinfo].parts)) - { - return; - } - - if(isdefined(level.destructible_type[self.destructibleinfo].attachedmodels)) - { - foreach(var_01 in level.destructible_type[self.destructibleinfo].attachedmodels) - { - precachemodel(var_01.model); - } - } - - for(var_03 = 0;var_03 < level.destructible_type[self.destructibleinfo].parts.size;var_03++) - { - for(var_04 = 0;var_04 < level.destructible_type[self.destructibleinfo].parts[var_03].size;var_04++) - { - if(level.destructible_type[self.destructibleinfo].parts[var_03].size <= var_04) - { - continue; - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_03][var_04].v["modelName"])) - { - precachemodel(level.destructible_type[self.destructibleinfo].parts[var_03][var_04].v["modelName"]); - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_03][var_04].v["animation"])) - { - var_05 = level.destructible_type[self.destructibleinfo].parts[var_03][var_04].v["animation"]; - foreach(var_07 in var_05) - { - if(isdefined(var_07["mpAnim"])) - { - common_scripts\utility::noself_func("precacheMpAnim",var_07["mpAnim"]); - } - } - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_03][var_04].v["random_dynamic_attachment_1"])) - { - foreach(var_0A in level.destructible_type[self.destructibleinfo].parts[var_03][var_04].v["random_dynamic_attachment_1"]) - { - if(isdefined(var_0A) && var_0A != "") - { - precachemodel(var_0A); - precachemodel(var_0A + "_destroy"); - } - } - - foreach(var_0A in level.destructible_type[self.destructibleinfo].parts[var_03][var_04].v["random_dynamic_attachment_2"]) - { - if(isdefined(var_0A) && var_0A != "") - { - precachemodel(var_0A); - precachemodel(var_0A + "_destroy"); - } - } - } - } - } -} - -//Function Number: 44 -add_destructible_fx() -{ - if(!isdefined(level.destructible_type[self.destructibleinfo].parts)) - { - return; - } - - for(var_00 = 0;var_00 < level.destructible_type[self.destructibleinfo].parts.size;var_00++) - { - for(var_01 = 0;var_01 < level.destructible_type[self.destructibleinfo].parts[var_00].size;var_01++) - { - if(level.destructible_type[self.destructibleinfo].parts[var_00].size <= var_01) - { - continue; - } - - var_02 = level.destructible_type[self.destructibleinfo].parts[var_00][var_01]; - if(isdefined(var_02.v["fx_filename"])) - { - for(var_03 = 0;var_03 < var_02.v["fx_filename"].size;var_03++) - { - var_04 = var_02.v["fx_filename"][var_03]; - var_05 = var_02.v["fx_tag"][var_03]; - if(isdefined(var_04)) - { - if(isdefined(var_02.v["fx"]) && isdefined(var_02.v["fx"][var_03]) && var_02.v["fx"][var_03].size == var_04.size) - { - continue; - } - - for(var_06 = 0;var_06 < var_04.size;var_06++) - { - var_07 = var_04[var_06]; - var_08 = var_05[var_06]; - level.destructible_type[self.destructibleinfo].parts[var_00][var_01].v["fx"][var_03][var_06] = loadfx(var_07,var_08); - } - } - } - } - - var_09 = level.destructible_type[self.destructibleinfo].parts[var_00][var_01].v["loopfx_filename"]; - var_0A = level.destructible_type[self.destructibleinfo].parts[var_00][var_01].v["loopfx_tag"]; - if(isdefined(var_09)) - { - if(isdefined(var_02.v["loopfx"]) && var_02.v["loopfx"].size == var_09.size) - { - continue; - } - - for(var_06 = 0;var_06 < var_09.size;var_06++) - { - var_0B = var_09[var_06]; - var_0C = var_0A[var_06]; - level.destructible_type[self.destructibleinfo].parts[var_00][var_01].v["loopfx"][var_06] = loadfx(var_0B,var_0C); - } - } - } - } -} - -//Function Number: 45 -candamagedestructible(param_00) -{ - foreach(var_02 in self.destructibles) - { - if(var_02 == param_00) - { - return 1; - } - } - - return 0; -} - -//Function Number: 46 -destructible_think() -{ - var_00 = 0; - var_01 = self.model; - var_02 = undefined; - var_03 = self.origin; - var_04 = undefined; - var_05 = undefined; - var_06 = undefined; - var_07 = self.model; - destructible_update_part(var_00,var_01,var_02,var_03,var_04,var_05,var_06); - self endon("stop_taking_damage"); - for(;;) - { - var_00 = undefined; - var_05 = undefined; - var_04 = undefined; - var_03 = undefined; - var_08 = undefined; - var_01 = undefined; - var_02 = undefined; - var_09 = undefined; - var_0A = undefined; - self waittill("damage",var_00,var_05,var_04,var_03,var_08,var_01,var_02,var_09,var_0A); - if(!isdefined(var_00)) - { - continue; - } - - if(isdefined(var_05) && isdefined(var_05.type) && var_05.type == "soft_landing" && !var_05 candamagedestructible(self)) - { - continue; - } - - if(common_scripts\utility::issp()) - { - var_00 = var_00 * 0.5; - } - else - { - var_00 = var_00 * 1; - } - - if(var_00 <= 0) - { - continue; - } - - if(common_scripts\utility::issp()) - { - if(isdefined(var_05) && isplayer(var_05)) - { - self.damageowner = var_05; - } - } - else if(isdefined(var_05) && isplayer(var_05)) - { - self.damageowner = var_05; - } - else if(isdefined(var_05) && isdefined(var_05.gunner) && isplayer(var_05.gunner)) - { - self.damageowner = var_05.gunner; - } - - var_08 = getdamagetype(var_08); - if(is_shotgun_damage(var_05,var_08)) - { - if(common_scripts\utility::issp()) - { - var_00 = var_00 * 8; - } - else - { - var_00 = var_00 * 4; - } - } - - if(!isdefined(var_01) || var_01 == "") - { - var_01 = self.model; - } - - if(isdefined(var_02) && var_02 == "") - { - if(isdefined(var_09) && var_09 != "" && var_09 != "tag_body" && var_09 != "body_animate_jnt") - { - var_02 = var_09; - } - else - { - var_02 = undefined; - } - - var_0B = level.destructible_type[self.destructibleinfo].parts[0][0].v["tagName"]; - if(isdefined(var_0B) && isdefined(var_09) && var_0B == var_09) - { - var_02 = undefined; - } - } - - if(var_08 == "splash" || var_08 == "energy") - { - if(isdefined(level.destructible_type[self.destructibleinfo].parts[0][0].v["splash_damage_scaler"])) - { - var_00 = var_00 * level.destructible_type[self.destructibleinfo].parts[0][0].v["splash_damage_scaler"]; - } - else if(common_scripts\utility::issp()) - { - var_00 = var_00 * 9; - } - else - { - var_00 = var_00 * 13; - } - - if(var_07 == self.model && isdefined(self.script_dest_cover_dmg_model)) - { - self setmodel(self.script_dest_cover_dmg_model); - } - - destructible_splash_damage(int(var_00),var_03,var_04,var_05,var_08); - continue; - } - - thread destructible_update_part(int(var_00),var_01,var_02,var_03,var_04,var_05,var_08); - } -} - -//Function Number: 47 -is_shotgun_damage(param_00,param_01) -{ - if(param_01 != "bullet") - { - return 0; - } - - if(!isdefined(param_00)) - { - return 0; - } - - var_02 = undefined; - if(isplayer(param_00)) - { - var_02 = param_00 getcurrentweapon(); - } - else if(isdefined(level.enable_ai_shotgun_destructible_damage) && level.enable_ai_shotgun_destructible_damage) - { - if(isdefined(param_00.weapon)) - { - var_02 = param_00.weapon; - } - } - - if(!isdefined(var_02)) - { - return 0; - } - - var_03 = weaponclass(var_02); - if(isdefined(var_03) && var_03 == "spread") - { - return 1; - } - - return 0; -} - -//Function Number: 48 -getpartandstateindex(param_00,param_01) -{ - var_02 = spawnstruct(); - var_02.v = []; - var_03 = -1; - var_04 = -1; - if(tolower(param_00) == tolower(self.model) && !isdefined(param_01)) - { - param_00 = self.model; - param_01 = undefined; - var_03 = 0; - var_04 = 0; - } - - for(var_05 = 0;var_05 < level.destructible_type[self.destructibleinfo].parts.size;var_05++) - { - var_04 = self.destructible_parts[var_05].v["currentState"]; - if(level.destructible_type[self.destructibleinfo].parts[var_05].size <= var_04) - { - continue; - } - - if(!isdefined(param_01)) - { - continue; - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_05][var_04].v["tagName"])) - { - var_06 = level.destructible_type[self.destructibleinfo].parts[var_05][var_04].v["tagName"]; - if(tolower(var_06) == tolower(param_01)) - { - var_03 = var_05; - break; - } - } - } - - var_02.v["stateIndex"] = var_04; - var_02.v["partIndex"] = var_03; - return var_02; -} - -//Function Number: 49 -destructible_update_part(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - if(!isdefined(self.destructible_parts)) - { - return; - } - - if(self.destructible_parts.size == 0) - { - return; - } - - if(level.fast_destructible_explode) - { - self endon("destroyed"); - } - - var_08 = getpartandstateindex(param_01,param_02); - var_09 = var_08.v["stateIndex"]; - var_0A = var_08.v["partIndex"]; - if(var_0A < 0) - { - return; - } - - var_0B = var_09; - var_0C = 0; - var_0D = 0; - var_09 = self.destructible_parts[var_0A].v["currentState"]; - if(!isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_09])) - { - break; - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][0].v["alsoDamageParent"])) - { - if(getdamagetype(param_06) != "splash") - { - var_0E = level.destructible_type[self.destructibleinfo].parts[var_0A][0].v["alsoDamageParent"]; - var_0F = int(param_00 * var_0E); - thread notifydamageafterframe(var_0F,param_05,param_04,param_03,param_06,"",""); - } - } - - if(var_0A == 0 && getdamagetype(param_06) != "splash") - { - for(var_10 = 0;var_10 < level.destructible_type[self.destructibleinfo].parts.size;var_10++) - { - var_11 = level.destructible_type[self.destructibleinfo].parts[var_10]; - if(!isdefined(var_11[0].v["receiveDamageFromParent"])) - { - continue; - } - - var_12 = 0; - if(isdefined(self.destructible_parts[var_10].v["currentState"])) - { - var_12 = self.destructible_parts[var_10].v["currentState"]; - } - - if(!isdefined(var_11[var_12])) - { - continue; - } - - if(!isdefined(var_11[var_12].v["tagName"])) - { - continue; - } - - var_13 = var_11[var_12].v["tagName"]; - var_0E = var_11[0].v["receiveDamageFromParent"]; - var_14 = int(param_00 * var_0E); - thread notifydamageafterframe(var_14,param_05,param_04,param_03,param_06,"",var_13); - } - } - - if(!isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_09].v["health"])) - { - break; - } - - if(!isdefined(self.destructible_parts[var_0A].v["health"])) - { - break; - } - - if(var_0C) - { - self.destructible_parts[var_0A].v["health"] = level.destructible_type[self.destructibleinfo].parts[var_0A][var_09].v["health"]; - } - - var_0C = 0; - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_09].v["grenadeImpactDeath"]) && param_06 == "impact") - { - param_00 = 100000000; - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_09].v["damage_threshold"]) && level.destructible_type[self.destructibleinfo].parts[var_0A][var_09].v["damage_threshold"] > param_00) - { - param_00 = 0; - } - - var_15 = self.destructible_parts[var_0A].v["health"]; - var_16 = isattackervalid(var_0A,var_09,param_05); - if(var_16) - { - var_17 = isvaliddamagecause(var_0A,var_09,param_06); - if(var_17) - { - if(isdefined(param_05)) - { - if(isplayer(param_05)) - { - self.player_damage = self.player_damage + param_00; - } - else if(param_05 != self) - { - self.non_player_damage = self.non_player_damage + param_00; - } - } - - if(isdefined(param_06)) - { - if(param_06 == "melee" || param_06 == "impact") - { - param_00 = 100000; - } - } - - self.destructible_parts[var_0A].v["health"] = self.destructible_parts[var_0A].v["health"] - param_00; - } - } - - if(self.destructible_parts[var_0A].v["health"] > 0) - { - return; - } - - if(isdefined(param_07)) - { - param_07.v["fxcost"] = get_part_fx_cost_for_action_state(var_0A,self.destructible_parts[var_0A].v["currentState"]); - add_destructible_to_frame_queue(self,param_07,param_00); - if(!isdefined(self.waiting_for_queue)) - { - self.waiting_for_queue = 1; - } - else - { - self.waiting_for_queue++; - } - - self waittill("queue_processed",var_18); - self.waiting_for_queue--; - if(self.waiting_for_queue == 0) - { - self.waiting_for_queue = undefined; - } - - if(!var_18) - { - self.destructible_parts[var_0A].v["health"] = var_15; - return; - } - } - - param_00 = int(abs(self.destructible_parts[var_0A].v["health"])); - if(param_00 < 0) - { - return; - } - - self.destructible_parts[var_0A].v["currentState"]++; - var_09 = self.destructible_parts[var_0A].v["currentState"]; - var_19 = var_09 - 1; - var_1A = undefined; - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19])) - { - var_1A = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v; - } - - var_1B = undefined; - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_09])) - { - var_1B = level.destructible_type[self.destructibleinfo].parts[var_0A][var_09].v; - } - - if(!isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19])) - { - return; - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["explode"])) - { - self.exploding = 1; - } - - if(isdefined(self.loopingsoundstopnotifies) && isdefined(self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)])) - { - for(var_10 = 0;var_10 < self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)].size;var_10++) - { - self notify(self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)][var_10]); - if(common_scripts\utility::issp() && self.modeldummyon) - { - self.modeldummy notify(self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)][var_10]); - } - } - - self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)] = undefined; - } - - if(isdefined(var_1A["break_nearby_lights"])) - { - destructible_get_my_breakable_light(var_1A["break_nearby_lights"]); - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_09])) - { - if(var_0A == 0) - { - var_1C = var_1B["modelName"]; - if(isdefined(var_1C) && var_1C != self.model) - { - self setmodel(var_1C); - if(common_scripts\utility::issp() && self.modeldummyon) - { - self.modeldummy setmodel(var_1C); - } - - destructible_splash_rotatation(var_1B); - } - } - else - { - hideapart(param_02); - if(common_scripts\utility::issp() && self.modeldummyon) - { - self.modeldummy hideapart(param_02); - } - - param_02 = var_1B["tagName"]; - if(isdefined(param_02)) - { - showapart(param_02); - if(common_scripts\utility::issp() && self.modeldummyon) - { - self.modeldummy showapart(param_02); - } - } - } - } - - var_1D = get_dummy(); - if(isdefined(self.exploding)) - { - clear_anims(var_1D); - } - - var_1E = destructible_animation_think(var_1A,var_1D,param_06,var_0A); - var_1E = destructible_fx_think(var_1A,var_1D,param_06,var_0A,var_1E); - self notify("FX_State_Change_Kill" + var_0A); - var_1E = destructible_sound_think(var_1A,var_1D,param_06,var_1E); - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopfx"])) - { - var_1F = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopfx_filename"].size; - if(var_1F > 0) - { - self notify("FX_State_Change" + var_0A); - } - - for(var_20 = 0;var_20 < var_1F;var_20++) - { - var_21 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopfx"][var_20]; - var_22 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopfx_tag"][var_20]; - var_23 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopfx_rate"][var_20]; - thread loopfx_ontag(var_21,var_22,var_23,var_0A); - } - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopsound"])) - { - for(var_10 = 0;var_10 < level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopsound"].size;var_10++) - { - var_24 = isvalidsoundcause("loopsoundCause",var_1A,var_10,param_06); - if(var_24) - { - var_25 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopsound"][var_10]; - var_26 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["tagName"]; - thread play_loop_sound_on_destructible(var_25,var_26); - if(!isdefined(self.loopingsoundstopnotifies)) - { - self.loopingsoundstopnotifies = []; - } - - if(!isdefined(self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)])) - { - self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)] = []; - } - - var_27 = self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)].size; - self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)][var_27] = "stop sound" + var_25; - } - } - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["triggerCarAlarm"])) - { - thread do_car_alarm(); - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["break_nearby_lights"])) - { - thread break_nearest_light(); - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["healthdrain_amount"])) - { - self notify("Health_Drain_State_Change" + var_0A); - var_28 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["healthdrain_amount"]; - var_29 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["healthdrain_interval"]; - var_2A = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["modelName"]; - var_2B = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["tagName"]; - var_2C = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["badplace_radius"]; - var_2D = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["badplace_team"]; - if(var_28 > 0) - { - thread health_drain(var_28,var_29,var_0A,var_2A,var_2B,var_2C,var_2D); - } - } - - var_2E = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["dot"]; - if(isdefined(var_2E)) - { - var_2F = var_2E; - var_3C = getfirstarraykey(var_2F); - if(isdefined(var_3C)) - { - var_30 = var_2F[var_3C]; - var_31 = var_30.index; - if(var_30.type == "predefined" && isdefined(var_31)) - { - var_32 = []; - var_33 = level.destructible_type[self.destructibleinfo].destructible_dots[var_31]; - var_3B = getfirstarraykey(var_33); - if(isdefined(var_3B)) - { - var_34 = var_33[var_3B]; - var_35 = var_34["classname"]; - var_36 = undefined; - switch(var_35) - { - case "trigger_radius": - break; - - default: - break; - } - } - } - } - } -} - -//Function Number: 50 -destructible_splash_rotatation(param_00) -{ - var_01 = param_00["splashRotation"]; - var_02 = param_00["rotateTo"]; - if(!isdefined(var_02)) - { - return; - } - - if(!isdefined(var_01)) - { - return; - } - - if(!var_01) - { - return; - } - - self.angles = (self.angles[0],var_02[1],self.angles[2]); -} - -//Function Number: 51 -damage_not(param_00) -{ - var_01 = strtok(param_00," "); - var_02 = strtok("splash melee bullet splash impact unknown"," "); - var_03 = ""; - foreach(var_05 in var_01) - { - var_02 = common_scripts\utility::array_remove(var_02,var_05); - } - - foreach(var_08 in var_02) - { - var_03 = var_03 + var_08 + " "; - } - - return var_03; -} - -//Function Number: 52 -destructible_splash_damage(param_00,param_01,param_02,param_03,param_04) -{ - if(param_00 <= 0) - { - return; - } - - if(isdefined(self.exploded)) - { - return; - } - - if(!isdefined(level.destructible_type[self.destructibleinfo].parts)) - { - return; - } - - var_05 = getallactiveparts(param_02); - if(var_05.size <= 0) - { - return; - } - - var_05 = setdistanceonparts(var_05,param_01); - var_06 = getlowestpartdistance(var_05); - foreach(var_08 in var_05) - { - var_09 = var_08.v["distance"] * 1.4; - var_0A = param_00 - var_09 - var_06; - if(var_0A <= 0) - { - continue; - } - - if(isdefined(self.exploded)) - { - continue; - } - - thread destructible_update_part(var_0A,var_08.v["modelName"],var_08.v["tagName"],param_01,param_02,param_03,param_04,var_08); - } -} - -//Function Number: 53 -getallactiveparts(param_00) -{ - var_01 = []; - if(!isdefined(level.destructible_type[self.destructibleinfo].parts)) - { - return var_01; - } - - for(var_02 = 0;var_02 < level.destructible_type[self.destructibleinfo].parts.size;var_02++) - { - var_03 = var_02; - var_04 = self.destructible_parts[var_03].v["currentState"]; - for(var_05 = 0;var_05 < level.destructible_type[self.destructibleinfo].parts[var_03].size;var_05++) - { - var_06 = level.destructible_type[self.destructibleinfo].parts[var_03][var_05].v["splashRotation"]; - if(isdefined(var_06) && var_06) - { - var_07 = vectortoangles(param_00); - var_08 = var_07[1] - 90; - level.destructible_type[self.destructibleinfo].parts[var_03][var_05].v["rotateTo"] = (0,var_08,0); - } - } - - if(!isdefined(level.destructible_type[self.destructibleinfo].parts[var_03][var_04])) - { - continue; - } - - var_09 = level.destructible_type[self.destructibleinfo].parts[var_03][var_04].v["tagName"]; - if(!isdefined(var_09)) - { - var_09 = ""; - } - - if(var_09 == "") - { - continue; - } - - var_0A = level.destructible_type[self.destructibleinfo].parts[var_03][var_04].v["modelName"]; - if(!isdefined(var_0A)) - { - var_0A = ""; - } - - var_0B = var_01.size; - var_01[var_0B] = spawnstruct(); - var_01[var_0B].v["modelName"] = var_0A; - var_01[var_0B].v["tagName"] = var_09; - } - - return var_01; -} - -//Function Number: 54 -setdistanceonparts(param_00,param_01) -{ - for(var_02 = 0;var_02 < param_00.size;var_02++) - { - var_03 = distance(param_01,self gettagorigin(param_00[var_02].v["tagName"])); - param_00[var_02].v["distance"] = var_03; - } - - return param_00; -} - -//Function Number: 55 -getlowestpartdistance(param_00) -{ - var_01 = undefined; - foreach(var_03 in param_00) - { - var_04 = var_03.v["distance"]; - if(!isdefined(var_01)) - { - var_01 = var_04; - } - - if(var_04 < var_01) - { - var_01 = var_04; - } - } - - return var_01; -} - -//Function Number: 56 -isvalidsoundcause(param_00,param_01,param_02,param_03,param_04) -{ - if(isdefined(param_04)) - { - var_05 = param_01[param_00][param_04][param_02]; - } - else - { - var_05 = param_02[param_01][param_03]; - } - - if(!isdefined(var_05)) - { - return 1; - } - - if(var_05 == param_03) - { - return 1; - } - - return 0; -} - -//Function Number: 57 -isattackervalid(param_00,param_01,param_02) -{ - if(isdefined(self.forceexploding)) - { - return 1; - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[param_00][param_01].v["explode"])) - { - if(isdefined(self.dontallowexplode)) - { - return 0; - } - } - - if(!isdefined(param_02)) - { - return 1; - } - - if(param_02 == self) - { - return 1; - } - - var_03 = level.destructible_type[self.destructibleinfo].parts[param_00][param_01].v["validAttackers"]; - if(!isdefined(var_03)) - { - return 1; - } - - if(var_03 == "no_player") - { - if(!isplayer(param_02)) - { - return 1; - } - - if(!isdefined(param_02.damageisfromplayer)) - { - return 1; - } - - if(param_02.damageisfromplayer == 0) - { - return 1; - } - } - else if(var_03 == "player_only") - { - if(isplayer(param_02)) - { - return 1; - } - - if(isdefined(param_02.damageisfromplayer) && param_02.damageisfromplayer) - { - return 1; - } - } - else if(var_03 == "no_ai" && isdefined(level.isaifunc)) - { - if(![[ level.isaifunc ]](param_02)) - { - return 1; - } - } - else if(var_03 == "ai_only" && isdefined(level.isaifunc)) - { - if([[ level.isaifunc ]](param_02)) - { - return 1; - } - } - else - { - } - - return 0; -} - -//Function Number: 58 -isvaliddamagecause(param_00,param_01,param_02) -{ - if(!isdefined(param_02)) - { - return 1; - } - - var_03 = level.destructible_type[self.destructibleinfo].parts[param_00][param_01].v["godModeAllowed"]; - if(var_03 && (isdefined(self.godmode) && self.godmode) || isdefined(self.script_bulletshield) && self.script_bulletshield && param_02 == "bullet") - { - return 0; - } - - var_04 = level.destructible_type[self.destructibleinfo].parts[param_00][param_01].v["validDamageCause"]; - if(!isdefined(var_04)) - { - return 1; - } - - if(var_04 == "splash" && param_02 != "splash") - { - return 0; - } - - if(var_04 == "no_splash" && param_02 == "splash") - { - return 0; - } - - if((var_04 == "no_melee" && param_02 == "melee") || param_02 == "impact") - { - return 0; - } - - if(var_04 == "bullet" && param_02 != "bullet") - { - return 0; - } - - return 1; -} - -//Function Number: 59 -getdamagetype(param_00) -{ - if(!isdefined(param_00)) - { - return "unknown"; - } - - param_00 = tolower(param_00); - switch(param_00) - { - case "mod_crush": - case "mod_melee_alt": - case "mod_melee": - case "melee": - break; - - case "mod_rifle_bullet": - case "mod_pistol_bullet": - case "bullet": - break; - - case "mod_explosive": - case "mod_projectile_splash": - case "mod_projectile": - case "mod_grenade_splash": - case "mod_grenade": - case "splash": - break; - - case "mod_impact": - break; - - case "mod_energy": - break; - - case "unknown": - break; - - default: - break; - } -} - -//Function Number: 60 -damage_mirror(param_00,param_01,param_02) -{ - self notify("stop_damage_mirror"); - self endon("stop_damage_mirror"); - param_00 endon("stop_taking_damage"); - self setcandamage(1); - for(;;) - { - self waittill("damage",var_03,var_04,var_05,var_06,var_07); - param_00 notify("damage",var_03,var_04,var_05,var_06,var_07,param_01,param_02); - var_03 = undefined; - var_04 = undefined; - var_05 = undefined; - var_06 = undefined; - var_07 = undefined; - } -} - -//Function Number: 61 -add_damage_owner_recorder() -{ - self.player_damage = 0; - self.non_player_damage = 0; - self.car_damage_owner_recorder = 1; -} - -//Function Number: 62 -loopfx_ontag(param_00,param_01,param_02,param_03) -{ - self endon("FX_State_Change" + param_03); - self endon("delete_destructible"); - level endon("putout_fires"); - while(isdefined(self)) - { - var_04 = get_dummy(); - playfxontag(param_00,var_04,param_01); - wait(param_02); - } -} - -//Function Number: 63 -health_drain(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - self endon("Health_Drain_State_Change" + param_02); - level endon("putout_fires"); - self endon("destroyed"); - if(isdefined(param_05) && isdefined(level.destructible_badplace_radius_multiplier)) - { - param_05 = param_05 * level.destructible_badplace_radius_multiplier; - } - - if(isdefined(param_00) && isdefined(level.destructible_health_drain_amount_multiplier)) - { - param_00 = param_00 * level.destructible_health_drain_amount_multiplier; - } - - wait(param_01); - self.healthdrain = 1; - var_07 = undefined; - if(isdefined(level.disable_destructible_bad_places) && level.disable_destructible_bad_places) - { - param_05 = undefined; - } - - if(isdefined(param_05) && isdefined(level.badplace_cylinder_func)) - { - var_07 = "" + gettime(); - if(!isdefined(self.disablebadplace)) - { - if(isdefined(self.script_radius)) - { - param_05 = self.script_radius; - } - - if(common_scripts\utility::issp() && isdefined(param_06)) - { - if(param_06 == "both") - { - [[ level.badplace_cylinder_func ]](var_07,0,self.origin,param_05,128,"allies","bad_guys"); - } - else - { - [[ level.badplace_cylinder_func ]](var_07,0,self.origin,param_05,128,param_06); - } - - thread badplace_remove(var_07); - } - else - { - [[ level.badplace_cylinder_func ]](var_07,0,self.origin,param_05,128); - thread badplace_remove(var_07); - } - } - } - - while(isdefined(self) && self.destructible_parts[param_02].v["health"] > 0) - { - self notify("damage",param_00,self,(0,0,0),(0,0,0),"MOD_UNKNOWN",param_03,param_04); - wait(param_01); - } - - self notify("remove_badplace"); -} - -//Function Number: 64 -badplace_remove(param_00) -{ - common_scripts\utility::waittill_any("destroyed","remove_badplace"); - [[ level.badplace_delete_func ]](param_00); -} - -//Function Number: 65 -physics_launch(param_00,param_01,param_02,param_03) -{ - var_04 = physics_object_create(param_00,param_01); - var_04 physicslaunchclient(param_02,param_03); -} - -//Function Number: 66 -physics_launch_with_impulse(param_00,param_01,param_02,param_03) -{ - var_04 = physics_object_create(param_00,param_01); - var_04 physicslaunchclientwithimpulse(param_02,param_03); -} - -//Function Number: 67 -physics_object_create(param_00,param_01) -{ - var_02 = level.destructible_type[self.destructibleinfo].parts[param_00][param_01].v["modelName"]; - var_03 = level.destructible_type[self.destructibleinfo].parts[param_00][param_01].v["tagName"]; - hideapart(var_03); - if(level.destructiblespawnedents.size >= level.destructiblespawnedentslimit) - { - physics_object_remove(level.destructiblespawnedents[0]); - } - - var_04 = spawn("script_model",self gettagorigin(var_03)); - var_04.angles = self gettagangles(var_03); - var_04 setmodel(var_02); - level.destructiblespawnedents[level.destructiblespawnedents.size] = var_04; - return var_04; -} - -//Function Number: 68 -physics_object_remove(param_00) -{ - var_01 = []; - for(var_02 = 0;var_02 < level.destructiblespawnedents.size;var_02++) - { - if(level.destructiblespawnedents[var_02] == param_00) - { - continue; - } - - var_01[var_01.size] = level.destructiblespawnedents[var_02]; - } - - level.destructiblespawnedents = var_01; - if(isdefined(param_00)) - { - param_00 delete(); - } -} - -//Function Number: 69 -explode(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B,param_0C,param_0D,param_0E) -{ - if(isdefined(param_03) && isdefined(level.destructible_explosion_radius_multiplier)) - { - param_03 = param_03 * level.destructible_explosion_radius_multiplier; - } - - if(!isdefined(param_07)) - { - param_07 = 80; - } - - if(!isdefined(param_0B)) - { - param_0B = (0,0,0); - } - - if(!isdefined(param_06) || isdefined(param_06) && !param_06) - { - if(isdefined(self.exploded)) - { - return; - } - - self.exploded = 1; - } - - if(!isdefined(param_0C)) - { - param_0C = 0; - } - - self notify("exploded",param_0A); - level notify("destructible_exploded",self,param_0A); - if(self.code_classname == "script_vehicle") - { - self notify("death",param_0A,self.damage_type); - } - - if(common_scripts\utility::issp()) - { - thread disconnecttraverses(); - } - - if(!level.fast_destructible_explode) - { - wait(0.05); - } - - if(!isdefined(self)) - { - return; - } - - var_0F = self.destructible_parts[param_00].v["currentState"]; - var_10 = undefined; - if(isdefined(level.destructible_type[self.destructibleinfo].parts[param_00][var_0F])) - { - var_10 = level.destructible_type[self.destructibleinfo].parts[param_00][var_0F].v["tagName"]; - } - - if(isdefined(var_10)) - { - var_11 = self gettagorigin(var_10); - } - else - { - var_11 = self.origin; - } - - self notify("damage",param_05,self,(0,0,0),var_11,"MOD_EXPLOSIVE","",""); - self notify("stop_car_alarm"); - waittillframeend; - if(isdefined(level.destructible_type[self.destructibleinfo].parts)) - { - for(var_12 = level.destructible_type[self.destructibleinfo].parts.size - 1;var_12 >= 0;var_12--) - { - if(var_12 == param_00) - { - continue; - } - - var_13 = self.destructible_parts[var_12].v["currentState"]; - if(var_13 >= level.destructible_type[self.destructibleinfo].parts[var_12].size) - { - var_13 = level.destructible_type[self.destructibleinfo].parts[var_12].size - 1; - } - - var_14 = level.destructible_type[self.destructibleinfo].parts[var_12][var_13].v["modelName"]; - var_10 = level.destructible_type[self.destructibleinfo].parts[var_12][var_13].v["tagName"]; - if(!isdefined(var_14)) - { - continue; - } - - if(!isdefined(var_10)) - { - continue; - } - - var_15 = 0; - if(isdefined(self.destructible_parts[var_12].v["health"])) - { - var_15 = self.destructible_parts[var_12].v["health"]; - } - - var_16 = 0; - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_12][var_13].v["health"])) - { - var_16 = level.destructible_type[self.destructibleinfo].parts[var_12][var_13].v["health"]; - } - - if(var_16 > 0 && var_15 <= 0) - { - continue; - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_12][0].v["physicsOnExplosion"])) - { - if(level.destructible_type[self.destructibleinfo].parts[var_12][0].v["physicsOnExplosion"] > 0) - { - var_17 = level.destructible_type[self.destructibleinfo].parts[var_12][0].v["physicsOnExplosion"]; - var_18 = self gettagorigin(var_10); - var_19 = vectornormalize(var_18 - var_11); - var_19 = var_19 * randomfloatrange(param_01,param_02) * var_17; - if(isdefined(param_0D) && isdefined(param_0E)) - { - var_1A = common_scripts\utility::randomvectorrange(param_0D,param_0E); - thread physics_launch_with_impulse(var_12,var_13,var_19,var_1A); - } - else - { - thread physics_launch(var_12,var_13,var_18,var_19); - } - - continue; - } - } - } - } - - var_1B = !isdefined(param_06) || isdefined(param_06) && !param_06; - if(var_1B) - { - self notify("stop_taking_damage"); - } - - if(!level.fast_destructible_explode) - { - wait(0.05); - } - - if(!isdefined(self)) - { - return; - } - - var_1C = var_11 + (0,0,param_07) + param_0B; - var_1D = getsubstr(level.destructible_type[self.destructibleinfo].v["type"],0,7) == "vehicle"; - if(var_1D) - { - anim.lastcarexplosiontime = gettime(); - anim.lastcarexplosiondamagelocation = var_1C; - anim.lastcarexplosionlocation = var_11; - anim.lastcarexplosionrange = param_03; - } - - level thread set_disable_friendlyfire_value_delayed(1); - if(param_0C > 0) - { - wait(param_0C); - } - - if(isdefined(level.destructible_protection_func)) - { - thread [[ level.destructible_protection_func ]](); - } - - if(common_scripts\utility::issp()) - { - if(level.gameskill == 0 && !player_touching_post_clip()) - { - self radiusdamage(var_1C,param_03,param_05,param_04,self,"MOD_RIFLE_BULLET"); - } - else - { - self radiusdamage(var_1C,param_03,param_05,param_04,self); - } - - if(isdefined(self.damageowner) && var_1D) - { - self.damageowner notify("destroyed_car"); - level notify("player_destroyed_car",self.damageowner,var_1C); - } - } - else - { - var_1E = "destructible_toy"; - if(var_1D) - { - var_1E = "destructible_car"; - } - - if(!isdefined(self.damageowner)) - { - self radiusdamage(var_1C,param_03,param_05,param_04,self,"MOD_EXPLOSIVE",var_1E); - } - else - { - self radiusdamage(var_1C,param_03,param_05,param_04,self.damageowner,"MOD_EXPLOSIVE",var_1E); - if(var_1D) - { - self.damageowner notify("destroyed_car"); - level notify("player_destroyed_car",self.damageowner,var_1C); - } - } - } - - if(isdefined(param_08) && isdefined(param_09)) - { - earthquake(param_08,2,var_1C,param_09); - } - - level thread set_disable_friendlyfire_value_delayed(0,0.05); - var_1F = 0.01; - var_20 = param_03 * var_1F; - param_03 = param_03 * 0.99; - physicsexplosionsphere(var_11,param_03,0,var_20); - if(var_1B) - { - self setcandamage(0); - thread cleanupvars(); - } - - self notify("destroyed"); -} - -//Function Number: 70 -cleanupvars() -{ - wait(0.05); - while(isdefined(self) && isdefined(self.waiting_for_queue)) - { - self waittill("queue_processed"); - wait(0.05); - } - - if(!isdefined(self)) - { - return; - } - - self.animsapplied = undefined; - self.attacker = undefined; - self.car_damage_owner_recorder = undefined; - self.caralarm = undefined; - self.damageowner = undefined; - self.destructible_parts = undefined; - self.destructible_type = undefined; - self.destructibleinfo = undefined; - self.healthdrain = undefined; - self.non_player_damage = undefined; - self.player_damage = undefined; - if(!isdefined(level.destructible_cleans_up_more)) - { - return; - } - - self.script_noflip = undefined; - self.exploding = undefined; - self.loopingsoundstopnotifies = undefined; - self.car_alarm_org = undefined; -} - -//Function Number: 71 -set_disable_friendlyfire_value_delayed(param_00,param_01) -{ - level notify("set_disable_friendlyfire_value_delayed"); - level endon("set_disable_friendlyfire_value_delayed"); - if(isdefined(param_01)) - { - wait(param_01); - } - - level.friendlyfiredisabledfordestructible = param_00; -} - -//Function Number: 72 -connecttraverses() -{ - var_00 = get_traverse_disconnect_brush(); - if(!isdefined(var_00)) - { - return; - } - - var_00 [[ level.connectpathsfunction ]](); - var_00.origin = var_00.origin - (0,0,10000); -} - -//Function Number: 73 -disconnecttraverses() -{ - var_00 = get_traverse_disconnect_brush(); - if(!isdefined(var_00)) - { - return; - } - - var_00.origin = var_00.origin + (0,0,10000); - var_00 [[ level.disconnectpathsfunction ]](); - var_00.origin = var_00.origin - (0,0,10000); -} - -//Function Number: 74 -get_traverse_disconnect_brush() -{ - if(!isdefined(self.target)) - { - return undefined; - } - - var_00 = getentarray(self.target,"targetname"); - foreach(var_02 in var_00) - { - if(isspawner(var_02)) - { - continue; - } - - if(isdefined(var_02.script_destruct_collision)) - { - continue; - } - - if(var_02.code_classname == "light") - { - continue; - } - - if(!var_02.spawnflags & 1) - { - continue; - } - - return var_02; - } -} - -//Function Number: 75 -hideapart(param_00) -{ - self hidepart(param_00); -} - -//Function Number: 76 -showapart(param_00) -{ - self showpart(param_00); -} - -//Function Number: 77 -disable_explosion() -{ - self.dontallowexplode = 1; -} - -//Function Number: 78 -force_explosion() -{ - self.dontallowexplode = undefined; - self.forceexploding = 1; - self notify("damage",100000,self,self.origin,self.origin,"MOD_EXPLOSIVE","",""); -} - -//Function Number: 79 -get_dummy() -{ - if(!common_scripts\utility::issp()) - { - return self; - } - - if(self.modeldummyon) - { - var_00 = self.modeldummy; - } - else - { - var_00 = self; - } - - return var_00; -} - -//Function Number: 80 -play_loop_sound_on_destructible(param_00,param_01) -{ - var_02 = get_dummy(); - var_03 = spawn("script_origin",(0,0,0)); - if(isdefined(param_01)) - { - var_03.origin = var_02 gettagorigin(param_01); - } - else - { - var_03.origin = var_02.origin; - } - - var_03 playloopsound(param_00); - var_02 thread force_stop_sound(param_00); - var_02 waittill("stop sound" + param_00); - if(!isdefined(var_03)) - { - return; - } - - var_03 stoploopsound(param_00); - var_03 delete(); -} - -//Function Number: 81 -force_stop_sound(param_00) -{ - self endon("stop sound" + param_00); - level waittill("putout_fires"); - self notify("stop sound" + param_00); -} - -//Function Number: 82 -notifydamageafterframe(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - waittillframeend; - if(isdefined(self.exploded)) - { - return; - } - - if(common_scripts\utility::issp()) - { - param_00 = param_00 / 0.5; - } - else - { - param_00 = param_00 / 1; - } - - self notify("damage",param_00,param_01,param_02,param_03,param_04,param_05,param_06); -} - -//Function Number: 83 -play_sound(param_00,param_01) -{ - if(isdefined(param_01)) - { - var_02 = spawn("script_origin",self gettagorigin(param_01)); - var_02 hide(); - var_02 linkto(self,param_01,(0,0,0),(0,0,0)); - } - else - { - var_02 = spawn("script_origin",(0,0,0)); - var_02 hide(); - var_02.origin = self.origin; - var_02.angles = self.angles; - var_02 linkto(self); - } - - var_02 playsound(param_00); - wait(5); - if(isdefined(var_02)) - { - var_02 delete(); - } -} - -//Function Number: 84 -do_car_alarm() -{ - if(isdefined(self.caralarm)) - { - return; - } - - self.caralarm = 1; - if(!should_do_car_alarm()) - { - return; - } - - self.car_alarm_org = spawn("script_model",self.origin); - self.car_alarm_org hide(); - self.car_alarm_org playloopsound("car_alarm"); - level.currentcaralarms++; - thread car_alarm_timeout(); - self waittill("stop_car_alarm"); - level.lastcaralarmtime = gettime(); - level.currentcaralarms--; - self.car_alarm_org stoploopsound("car_alarm"); - self.car_alarm_org delete(); -} - -//Function Number: 85 -car_alarm_timeout() -{ - self endon("stop_car_alarm"); - wait(25); - if(!isdefined(self)) - { - return; - } - - thread play_sound("car_alarm_off"); - self notify("stop_car_alarm"); -} - -//Function Number: 86 -should_do_car_alarm() -{ - if(level.currentcaralarms >= 2) - { - return 0; - } - - var_00 = undefined; - if(!isdefined(level.lastcaralarmtime)) - { - if(common_scripts\utility::cointoss()) - { - return 1; - } - - var_00 = gettime() - level.commonstarttime; - } - else - { - var_00 = gettime() - level.lastcaralarmtime; - } - - if(level.currentcaralarms == 0 && var_00 >= 120) - { - return 1; - } - - if(randomint(100) <= 33) - { - return 1; - } - - return 0; -} - -//Function Number: 87 -do_random_dynamic_attachment(param_00,param_01,param_02,param_03) -{ - var_04 = []; - if(common_scripts\utility::issp()) - { - self attach(param_01,param_00,0); - if(isdefined(param_02) && param_02 != "") - { - self attach(param_02,param_00,0); - } - } - else - { - var_04[0] = spawn("script_model",self gettagorigin(param_00)); - var_04[0].angles = self gettagangles(param_00); - var_04[0] setmodel(param_01); - var_04[0] linkto(self,param_00); - if(isdefined(param_02) && param_02 != "") - { - var_04[1] = spawn("script_model",self gettagorigin(param_00)); - var_04[1].angles = self gettagangles(param_00); - var_04[1] setmodel(param_02); - var_04[1] linkto(self,param_00); - } - } - - if(isdefined(param_03)) - { - var_05 = self gettagorigin(param_00); - var_06 = get_closest_with_targetname(var_05,param_03); - if(isdefined(var_06)) - { - var_06 delete(); - } - } - - self waittill("exploded"); - if(common_scripts\utility::issp()) - { - self detach(param_01,param_00); - self attach(param_01 + "_destroy",param_00,0); - if(isdefined(param_02) && param_02 != "") - { - self detach(param_02,param_00); - self attach(param_02 + "_destroy",param_00,0); - return; - } - - return; - } - - var_04[0] setmodel(param_01 + "_destroy"); - if(isdefined(param_02) && param_02 != "") - { - var_04[1] setmodel(param_02 + "_destroy"); - } -} - -//Function Number: 88 -get_closest_with_targetname(param_00,param_01) -{ - var_02 = undefined; - var_03 = undefined; - var_04 = getentarray(param_01,"targetname"); - foreach(var_06 in var_04) - { - var_07 = distancesquared(param_00,var_06.origin); - if(!isdefined(var_02) || var_07 < var_02) - { - var_02 = var_07; - var_03 = var_06; - } - } - - return var_03; -} - -//Function Number: 89 -player_touching_post_clip() -{ - var_00 = undefined; - if(!isdefined(self.target)) - { - return 0; - } - - var_01 = getentarray(self.target,"targetname"); - foreach(var_03 in var_01) - { - if(isdefined(var_03.script_destruct_collision) && var_03.script_destruct_collision == "post") - { - var_00 = var_03; - break; - } - } - - if(!isdefined(var_00)) - { - return 0; - } - - var_05 = get_player_touching(var_00); - if(isdefined(var_05)) - { - return 1; - } - - return 0; -} - -//Function Number: 90 -get_player_touching(param_00) -{ - foreach(var_02 in level.players) - { - if(!isalive(var_02)) - { - continue; - } - - if(param_00 istouching(var_02)) - { - return var_02; - } - } - - return undefined; -} - -//Function Number: 91 -is_so() -{ - return getdvar("specialops") == "1"; -} - -//Function Number: 92 -destructible_handles_collision_brushes() -{ - var_00 = getentarray(self.target,"targetname"); - var_01 = []; - var_01["pre"] = ::collision_brush_pre_explosion; - var_01["post"] = ::collision_brush_post_explosion; - foreach(var_03 in var_00) - { - if(!isdefined(var_03.script_destruct_collision)) - { - continue; - } - - self thread [[ var_01[var_03.script_destruct_collision] ]](var_03); - } -} - -//Function Number: 93 -collision_brush_pre_explosion(param_00) -{ - waittillframeend; - if(common_scripts\utility::issp() && param_00.spawnflags & 1) - { - param_00 [[ level.disconnectpathsfunction ]](); - } - - self waittill("exploded"); - if(common_scripts\utility::issp() && param_00.spawnflags & 1) - { - param_00 [[ level.connectpathsfunction ]](); - } - - param_00 delete(); -} - -//Function Number: 94 -collision_brush_post_explosion(param_00) -{ - param_00 notsolid(); - if(common_scripts\utility::issp() && param_00.spawnflags & 1) - { - param_00 [[ level.connectpathsfunction ]](); - } - - self waittill("exploded"); - waittillframeend; - if(common_scripts\utility::issp()) - { - if(param_00.spawnflags & 1) - { - param_00 [[ level.disconnectpathsfunction ]](); - } - - if(is_so()) - { - var_01 = get_player_touching(param_00); - if(isdefined(var_01)) - { - self thread [[ level.func_destructible_crush_player ]](var_01); - } - } - else - { - } - } - - param_00 solid(); -} - -//Function Number: 95 -debug_player_in_post_clip(param_00) -{ -} - -//Function Number: 96 -destructible_get_my_breakable_light(param_00) -{ - var_01 = getentarray("light_destructible","targetname"); - if(common_scripts\utility::issp()) - { - var_02 = getentarray("light_destructible","script_noteworthy"); - var_01 = common_scripts\utility::array_combine(var_01,var_02); - } - - if(!var_01.size) - { - return; - } - - var_03 = param_00 * param_00; - var_04 = undefined; - foreach(var_06 in var_01) - { - var_07 = distancesquared(self.origin,var_06.origin); - if(var_07 < var_03) - { - var_04 = var_06; - var_03 = var_07; - } - } - - if(!isdefined(var_04)) - { - return; - } - - self.breakable_light = var_04; -} - -//Function Number: 97 -break_nearest_light(param_00) -{ - if(!isdefined(self.breakable_light)) - { - return; - } - - self.breakable_light setlightintensity(0); -} - -//Function Number: 98 -debug_radiusdamage_circle(param_00,param_01,param_02,param_03) -{ - var_04 = 16; - var_05 = 360 / var_04; - var_06 = []; - for(var_07 = 0;var_07 < var_04;var_07++) - { - var_08 = var_05 * var_07; - var_09 = cos(var_08) * param_01; - var_0A = sin(var_08) * param_01; - var_0B = param_00[0] + var_09; - var_0C = param_00[1] + var_0A; - var_0D = param_00[2]; - var_06[var_06.size] = (var_0B,var_0C,var_0D); - } - - thread debug_circle_drawlines(var_06,5,(1,0,0),param_00); - var_06 = []; - for(var_07 = 0;var_07 < var_04;var_07++) - { - var_08 = var_05 * var_07; - var_09 = cos(var_08) * param_01; - var_0A = sin(var_08) * param_01; - var_0B = param_00[0]; - var_0C = param_00[1] + var_09; - var_0D = param_00[2] + var_0A; - var_06[var_06.size] = (var_0B,var_0C,var_0D); - } - - thread debug_circle_drawlines(var_06,5,(1,0,0),param_00); - var_06 = []; - for(var_07 = 0;var_07 < var_04;var_07++) - { - var_08 = var_05 * var_07; - var_09 = cos(var_08) * param_01; - var_0A = sin(var_08) * param_01; - var_0B = param_00[0] + var_0A; - var_0C = param_00[1]; - var_0D = param_00[2] + var_09; - var_06[var_06.size] = (var_0B,var_0C,var_0D); - } - - thread debug_circle_drawlines(var_06,5,(1,0,0),param_00); -} - -//Function Number: 99 -debug_circle_drawlines(param_00,param_01,param_02,param_03) -{ - for(var_04 = 0;var_04 < param_00.size;var_04++) - { - var_05 = param_00[var_04]; - if(var_04 + 1 >= param_00.size) - { - var_06 = param_00[0]; - } - else - { - var_06 = param_00[var_04 + 1]; - } - - thread debug_line(var_05,var_06,param_01,param_02); - thread debug_line(param_03,var_05,param_01,param_02); - } -} - -//Function Number: 100 -debug_line(param_00,param_01,param_02,param_03) -{ - if(!isdefined(param_03)) - { - param_03 = (1,1,1); - } - - for(var_04 = 0;var_04 < param_02 * 20;var_04++) - { - wait(0.05); - } -} - -//Function Number: 101 -spotlight_tag_origin_cleanup(param_00) -{ - param_00 endon("death"); - level waittill("new_destructible_spotlight"); - param_00 delete(); -} - -//Function Number: 102 -spotlight_fizzles_out(param_00,param_01,param_02,param_03,param_04) -{ - level endon("new_destructible_spotlight"); - thread spotlight_tag_origin_cleanup(param_04); - var_05 = param_00["spotlight_brightness"]; - wait(randomfloatrange(2,5)); - destructible_fx_think(param_00,param_01,param_02,param_03); - level.destructible_spotlight delete(); - param_04 delete(); -} - -//Function Number: 103 -destructible_spotlight_think(param_00,param_01,param_02,param_03) -{ - if(!common_scripts\utility::issp()) - { - return; - } - - if(!isdefined(self.breakable_light)) - { - return; - } - - param_01 common_scripts\utility::self_func("startignoringspotLight"); - if(!isdefined(level.destructible_spotlight)) - { - level.destructible_spotlight = common_scripts\utility::spawn_tag_origin(); - var_04 = common_scripts\utility::getfx(param_00["spotlight_fx"]); - playfxontag(var_04,level.destructible_spotlight,"tag_origin"); - } - - level notify("new_destructible_spotlight"); - level.destructible_spotlight unlink(); - var_05 = common_scripts\utility::spawn_tag_origin(); - var_05 linkto(self,param_00["spotlight_tag"],(0,0,0),(0,0,0)); - level.destructible_spotlight.origin = self.breakable_light.origin; - level.destructible_spotlight.angles = self.breakable_light.angles; - level.destructible_spotlight thread spotlight_fizzles_out(param_00,param_01,param_02,param_03,var_05); - wait(0.05); - if(isdefined(var_05)) - { - level.destructible_spotlight linkto(var_05); - } -} - -//Function Number: 104 -is_valid_damagetype(param_00,param_01,param_02,param_03) -{ - var_04 = undefined; - if(isdefined(param_01["fx_valid_damagetype"])) - { - var_04 = param_01["fx_valid_damagetype"][param_03][param_02]; - } - - if(!isdefined(var_04)) - { - return 1; - } - - return issubstr(var_04,param_00); -} - -//Function Number: 105 -destructible_sound_think(param_00,param_01,param_02,param_03) -{ - if(isdefined(self.exploded)) - { - return undefined; - } - - if(!isdefined(param_00["sound"])) - { - return undefined; - } - - if(!isdefined(param_03)) - { - param_03 = 0; - } - - if(!isdefined(param_00["sound"][param_03])) - { - return undefined; - } - - for(var_04 = 0;var_04 < param_00["sound"][param_03].size;var_04++) - { - var_05 = isvalidsoundcause("soundCause",param_00,var_04,param_02,param_03); - if(!var_05) - { - continue; - } - - var_06 = param_00["sound"][param_03][var_04]; - var_07 = param_00["tagName"]; - param_01 thread play_sound(var_06,var_07); - } - - return param_03; -} - -//Function Number: 106 -destructible_fx_kill_state_wait(param_00) -{ - var_01 = level.destructible_type[self.destructibleinfo].parts[0].size - 1; - self endon("FX_State_Change_Kill" + param_00); - for(;;) - { - var_02 = -1; - if(isdefined(self.destructible_parts[0].v["currentState"])) - { - var_02 = self.destructible_parts[0].v["currentState"]; - } - - if(var_02 == var_01) - { - return 0; - } - - wait 0.05; - } -} - -//Function Number: 107 -destructible_fx_spawn_think(param_00,param_01,param_02,param_03,param_04,param_05) -{ - waittillframeend; - if(!isdefined(param_05)) - { - param_05 = 0; - } - - var_06 = undefined; - var_07 = undefined; - if(isdefined(param_02)) - { - if(param_04) - { - playfxontag(param_01,param_00,param_02); - wait(0.05); - if(param_05 == 1 || param_05 == 2) - { - destructible_fx_kill_state_wait(param_03); - if(param_05 == 1) - { - stopfxontag(param_01,param_00,param_02); - return; - } - - killfxontag(param_01,param_00,param_02); - return; - } - - return; - } - - var_08 = param_00 gettagorigin(param_02); - var_09 = (0,0,100); - if(param_05 == 1 || param_05 == 2) - { - var_07 = spawnfx(param_01,var_08,var_09); - var_06 = triggerfx(var_07,0.01); - } - else - { - var_06 = playfx(param_01,var_08,var_09); - } - - wait(0.05); - if(param_05 == 1 || param_05 == 2) - { - destructible_fx_kill_state_wait(param_03); - if(param_05 == 1) - { - var_07 delete(); - return; - } - - if(param_05 == 2) - { - setfxkillondelete(var_07,1); - wait(0.05); - var_07 delete(); - return; - } - - return; - } - - return; - } - - var_08 = param_02.origin; - var_09 = (0,0,100); - if(param_05 == 1 || param_05 == 2) - { - var_07 = spawnfx(param_01,var_08,var_09); - var_06 = triggerfx(var_07,0.01); - } - else - { - var_06 = playfx(param_01,var_08,var_09); - } - - wait(0.05); - if(param_05 == 1 || param_05 == 2) - { - destructible_fx_kill_state_wait(param_03); - if(param_05 == 1) - { - var_07 delete(); - return; - } - - if(param_05 == 2) - { - setfxkillondelete(var_07,1); - wait(0.05); - var_07 delete(); - return; - } - - return; - } -} - -//Function Number: 108 -destructible_fx_spawnimmediate() -{ - if(!isdefined(level.destructible_type[self.destructibleinfo].parts)) - { - return; - } - - var_00 = get_dummy(); - for(var_01 = 0;var_01 < level.destructible_type[self.destructibleinfo].parts.size;var_01++) - { - for(var_02 = 0;var_02 < level.destructible_type[self.destructibleinfo].parts[var_01].size;var_02++) - { - var_03 = level.destructible_type[self.destructibleinfo].parts[var_01][var_02]; - if(isdefined(var_03.v["fx_filename"])) - { - for(var_04 = 0;var_04 < var_03.v["fx_filename"].size;var_04++) - { - var_05 = var_03.v["fx_filename"][var_04]; - var_06 = var_03.v["fx_tag"][var_04]; - var_07 = var_03.v["spawn_immediate"][var_04]; - if(isdefined(var_05) && isdefined(var_07)) - { - for(var_08 = 0;var_08 < var_05.size;var_08++) - { - if(var_07[var_08] == 1) - { - var_09 = var_03.v["state_change_kill"][var_04][var_08]; - var_0A = level.destructible_type[self.destructibleinfo].parts[var_01][var_02].v["fx"][var_04][var_08]; - var_0B = var_06[var_08]; - var_0C = var_05[var_08]; - var_0D = level.destructible_type[self.destructibleinfo].parts[var_01][var_02].v["fx_useTagAngles"][var_04][var_08]; - thread destructible_fx_spawn_think(var_00,var_0A,var_0B,var_01,var_0D,var_09); - } - } - } - } - } - } - } -} - -//Function Number: 109 -destructible_fx_think(param_00,param_01,param_02,param_03,param_04) -{ - if(!isdefined(param_00["fx"])) - { - return undefined; - } - - if(!isdefined(param_04)) - { - param_04 = randomint(param_00["fx_filename"].size); - } - - if(!isdefined(param_00["fx"][param_04])) - { - param_04 = randomint(param_00["fx_filename"].size); - } - - var_05 = param_00["fx_filename"][param_04].size; - for(var_06 = 0;var_06 < var_05;var_06++) - { - if(!is_valid_damagetype(param_02,param_00,var_06,param_04)) - { - continue; - } - - if(param_00["spawn_immediate"][param_04][var_06] == 1) - { - continue; - } - - var_07 = param_00["fx"][param_04][var_06]; - var_08 = param_00["state_change_kill"][param_04][var_06]; - if(isdefined(param_00["fx_tag"][param_04][var_06])) - { - var_09 = param_00["fx_tag"][param_04][var_06]; - self notify("FX_State_Change" + param_03); - if(param_00["fx_useTagAngles"][param_04][var_06]) - { - thread destructible_fx_spawn_think(param_01,var_07,var_09,param_03,1,var_08); - } - else - { - thread destructible_fx_spawn_think(param_01,var_07,var_09,param_03,0,var_08); - } - - continue; - } - - thread destructible_fx_spawn_think(param_01,var_07,undefined,param_03,0,var_08); - } - - return param_04; -} - -//Function Number: 110 -destructible_animation_think(param_00,param_01,param_02,param_03) -{ - if(isdefined(self.exploded)) - { - return undefined; - } - - if(!isdefined(param_00["animation"])) - { - return undefined; - } - - if(isdefined(self.no_destructible_animation)) - { - return undefined; - } - - if(isdefined(param_00["randomly_flip"]) && !isdefined(self.script_noflip)) - { - if(common_scripts\utility::cointoss()) - { - self.angles = self.angles + (0,180,0); - } - } - - if(isdefined(param_00["spotlight_tag"])) - { - thread destructible_spotlight_think(param_00,param_01,param_02,param_03); - wait(0.05); - } - - var_04 = common_scripts\utility::random(param_00["animation"]); - var_05 = var_04["anim"]; - var_06 = var_04["animTree"]; - var_07 = var_04["groupNum"]; - var_08 = var_04["mpAnim"]; - var_09 = var_04["maxStartDelay"]; - var_0A = var_04["animRateMin"]; - var_0B = var_04["animRateMax"]; - if(!isdefined(var_0A)) - { - var_0A = 1; - } - - if(!isdefined(var_0B)) - { - var_0B = 1; - } - - if(var_0A == var_0B) - { - var_0C = var_0A; - } - else - { - var_0C = randomfloatrange(var_0B,var_0C); - } - - var_0D = var_04["vehicle_exclude_anim"]; - if(self.code_classname == "script_vehicle" && var_0D) - { - return undefined; - } - - param_01 common_scripts\utility::self_func("useanimtree",var_06); - var_0E = var_04["animType"]; - if(!isdefined(self.animsapplied)) - { - self.animsapplied = []; - } - - self.animsapplied[self.animsapplied.size] = var_05; - if(isdefined(self.exploding)) - { - clear_anims(param_01); - } - - if(isdefined(var_09) && var_09 > 0) - { - wait(randomfloat(var_09)); - } - - if(!common_scripts\utility::issp()) - { - if(isdefined(var_08)) - { - common_scripts\utility::self_func("scriptModelPlayAnim",var_08); - } - - return var_07; - } - - if(var_0E == "setanim") - { - param_01 common_scripts\utility::self_func("setanim",var_05,1,1,var_0C); - return var_07; - } - - if(var_0E == "setanimknob") - { - param_01 common_scripts\utility::self_func("setanimknob",var_05,1,0,var_0C); - return var_07; - } - - return undefined; -} - -//Function Number: 111 -clear_anims(param_00) -{ - if(isdefined(self.animsapplied)) - { - foreach(var_02 in self.animsapplied) - { - if(common_scripts\utility::issp()) - { - param_00 common_scripts\utility::self_func("clearanim",var_02,0); - continue; - } - - param_00 common_scripts\utility::self_func("scriptModelClearAnim"); - } - } -} - -//Function Number: 112 -init_destroyed_count() -{ - level.destroyedcount = 0; - level.destroyedcounttimeout = 0.5; - if(common_scripts\utility::issp()) - { - level.maxdestructions = 20; - return; - } - - level.maxdestructions = 2; -} - -//Function Number: 113 -add_to_destroyed_count() -{ - level.destroyedcount++; - wait(level.destroyedcounttimeout); - level.destroyedcount--; -} - -//Function Number: 114 -get_destroyed_count() -{ - return level.destroyedcount; -} - -//Function Number: 115 -get_max_destroyed_count() -{ - return level.maxdestructions; -} - -//Function Number: 116 -init_destructible_frame_queue() -{ - level.destructibleframequeue = []; -} - -//Function Number: 117 -add_destructible_to_frame_queue(param_00,param_01,param_02) -{ - var_03 = self getentitynumber(); - if(!isdefined(level.destructibleframequeue[var_03])) - { - level.destructibleframequeue[var_03] = spawnstruct(); - level.destructibleframequeue[var_03].entnum = var_03; - level.destructibleframequeue[var_03].destructible = param_00; - level.destructibleframequeue[var_03].totaldamage = 0; - level.destructibleframequeue[var_03].neardistance = 9999999; - level.destructibleframequeue[var_03].fxcost = 0; - } - - level.destructibleframequeue[var_03].fxcost = level.destructibleframequeue[var_03].fxcost + param_01.v["fxcost"]; - level.destructibleframequeue[var_03].totaldamage = level.destructibleframequeue[var_03].totaldamage + param_02; - if(param_01.v["distance"] < level.destructibleframequeue[var_03].neardistance) - { - level.destructibleframequeue[var_03].neardistance = param_01.v["distance"]; - } - - thread handle_destructible_frame_queue(); -} - -//Function Number: 118 -handle_destructible_frame_queue() -{ - level notify("handle_destructible_frame_queue"); - level endon("handle_destructible_frame_queue"); - wait(0.05); - var_00 = level.destructibleframequeue; - level.destructibleframequeue = []; - var_01 = sort_destructible_frame_queue(var_00); - for(var_02 = 0;var_02 < var_01.size;var_02++) - { - if(get_destroyed_count() < get_max_destroyed_count()) - { - if(var_01[var_02].fxcost) - { - thread add_to_destroyed_count(); - } - - var_01[var_02].destructible notify("queue_processed",1); - continue; - } - - var_01[var_02].destructible notify("queue_processed",0); - } -} - -//Function Number: 119 -sort_destructible_frame_queue(param_00) -{ - var_01 = []; - foreach(var_03 in param_00) - { - var_01[var_01.size] = var_03; - } - - for(var_05 = 1;var_05 < var_01.size;var_05++) - { - var_06 = var_01[var_05]; - for(var_07 = var_05 - 1;var_07 >= 0 && get_better_destructible(var_06,var_01[var_07]) == var_06;var_07--) - { - var_01[var_07 + 1] = var_01[var_07]; - } - - var_01[var_07 + 1] = var_06; - } - - return var_01; -} - -//Function Number: 120 -get_better_destructible(param_00,param_01) -{ - if(param_00.totaldamage > param_01.totaldamage) - { - return param_00; - } - - return param_01; -} - -//Function Number: 121 -get_part_fx_cost_for_action_state(param_00,param_01) -{ - var_02 = 0; - if(!isdefined(level.destructible_type[self.destructibleinfo].parts[param_00][param_01])) - { - return var_02; - } - - var_03 = level.destructible_type[self.destructibleinfo].parts[param_00][param_01].v; - if(isdefined(var_03["fx"])) - { - foreach(var_05 in var_03["fx_cost"]) - { - foreach(var_07 in var_05) - { - var_02 = var_02 + var_07; - } - } - } - - return var_02; -} - -//Function Number: 122 -initdot(param_00) -{ - if(!common_scripts\utility::flag_exist("FLAG_DOT_init")) - { - common_scripts\utility::flag_init("FLAG_DOT_init"); - common_scripts\utility::flag_set("FLAG_DOT_init"); - } - - param_00 = tolower(param_00); - switch(param_00) - { - case "poison": - break; - - default: - break; - } -} - -//Function Number: 123 -createdot() -{ - var_00 = spawnstruct(); - var_00.ticks = []; - return var_00; -} - -//Function Number: 124 -createdot_radius(param_00,param_01,param_02,param_03) -{ - var_04 = spawnstruct(); - var_04.type = "trigger_radius"; - var_04.origin = param_00; - var_04.spawnflags = param_01; - var_04.radius = param_02; - var_04.minradius = param_02; - var_04.maxradius = param_02; - var_04.height = param_03; - var_04.ticks = []; - return var_04; -} - -//Function Number: 125 -setdot_origin(param_00) -{ - self.origin = param_00; -} - -//Function Number: 126 -setdot_radius(param_00,param_01) -{ - if(isdefined(self.classname) && self.classname != "trigger_radius") - { - } - - if(!isdefined(param_01)) - { - param_01 = param_00; - } - - self.minradius = param_00; - self.maxradius = param_01; -} - -//Function Number: 127 -setdot_height(param_00,param_01) -{ - if(isdefined(self.classname) && issubstr(self.classname,"trigger")) - { - } -} - -//Function Number: 128 -setdot_ontick(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - if(isdefined(param_00)) - { - } - else - { - param_00 = 0; - } - - param_06 = tolower(param_06); - param_07 = tolower(param_07); - var_08 = self.ticks.size; - self.ticks[var_08] = spawnstruct(); - self.ticks[var_08].enable = 0; - self.ticks[var_08].delay = param_00; - self.ticks[var_08].interval = param_01; - self.ticks[var_08].duration = param_02; - self.ticks[var_08].mindamage = param_03; - self.ticks[var_08].maxdamage = param_04; - switch(param_05) - { - case 1: - case 0: - break; - - default: - break; - } -} - -//Function Number: 129 -builddot_ontick(param_00,param_01) -{ - param_01 = tolower(param_01); - var_02 = self.ticks.size; - self.ticks[var_02] = spawnstruct(); - self.ticks[var_02].duration = param_00; - self.ticks[var_02].delay = 0; - self.ticks[var_02].onenterfunc = ::onenterdot_buildfunc; - self.ticks[var_02].onexitfunc = ::onexitdot_buildfunc; - self.ticks[var_02].ondeathfunc = ::ondeathdot_buildfunc; - switch(param_01) - { - case "player": - break; - - default: - break; - } -} - -//Function Number: 130 -builddot_startloop(param_00) -{ - var_01 = self.ticks.size - 1; - if(!isdefined(self.ticks[var_01].statements)) - { - self.ticks[var_01].statements = []; - } - - var_02 = self.ticks[var_01].statements.size; - self.ticks[var_01].statements = []; - self.ticks[var_01].statements["vars"] = []; - self.ticks[var_01].statements["vars"]["count"] = param_00; -} - -//Function Number: 131 -builddot_damage(param_00,param_01,param_02,param_03,param_04,param_05) -{ - var_06 = self.ticks.size - 1; - if(!isdefined(self.ticks[var_06].statements["actions"])) - { - self.ticks[var_06].statements["actions"] = []; - } - - var_07 = self.ticks[var_06].statements["actions"].size; - self.ticks[var_06].statements["actions"][var_07] = []; - self.ticks[var_06].statements["actions"][var_07]["vars"] = [param_00,param_01,param_02,param_03,param_04,param_05]; - self.ticks[var_06].statements["actions"][var_07]["func"] = ::dobuilddot_damage; -} - -//Function Number: 132 -builddot_wait(param_00) -{ - var_01 = self.ticks.size - 1; - if(!isdefined(self.ticks[var_01].statements["actions"])) - { - self.ticks[var_01].statements["actions"] = []; - } - - var_02 = self.ticks[var_01].statements["actions"].size; - self.ticks[var_01].statements["actions"][var_02] = []; - self.ticks[var_01].statements["actions"][var_02]["vars"] = [param_00]; - self.ticks[var_01].statements["actions"][var_02]["func"] = ::dobuilddot_wait; -} - -//Function Number: 133 -onenterdot_buildfunc(param_00,param_01) -{ - var_02 = param_01 getentitynumber(); - param_01 endon("death"); - param_01 endon("LISTEN_kill_tick_" + param_00 + "_" + var_02); - self endon("disconnect"); - self endon("game_ended"); - self endon("death"); - self endon("LISTEN_exit_dot_" + var_02); - var_02 = undefined; - var_03 = param_01.ticks[param_00].statements; - if(!isdefined(var_03) || !isdefined(var_03["vars"]) || !isdefined(var_03["vars"]["count"]) || !isdefined(var_03["actions"])) - { - return; - } - - var_04 = var_03["vars"]["count"]; - var_05 = var_03["actions"]; - var_03 = undefined; - for(var_06 = 1;var_06 <= var_04 || var_04 == 0;var_06--) - { - foreach(var_08 in var_05) - { - var_09 = var_08["vars"]; - var_0A = var_08["func"]; - self [[ var_0A ]](param_00,param_01,var_09); - } - } -} - -//Function Number: 134 -onexitdot_buildfunc(param_00,param_01) -{ - var_02 = param_01 getentitynumber(); - var_03 = self getentitynumber(); - param_01 notify("LISTEN_kill_tick_" + param_00 + "_" + var_02 + "_" + var_03); -} - -//Function Number: 135 -ondeathdot_buildfunc(param_00,param_01) -{ -} - -//Function Number: 136 -dobuilddot_damage(param_00,param_01,param_02) -{ - var_03 = param_02[0]; - var_04 = param_02[1]; - var_05 = param_02[2]; - var_06 = param_02[3]; - var_07 = param_02[4]; - var_08 = param_02[5]; - self thread [[ level.callbackplayerdamage ]](param_01,param_01,var_04,var_06,var_07,var_08,param_01.origin,(0,0,0) - param_01.origin,"none",0); -} - -//Function Number: 137 -dobuilddot_wait(param_00,param_01,param_02) -{ - var_03 = param_01 getentitynumber(); - var_04 = self getentitynumber(); - param_01 endon("death"); - param_01 endon("LISTEN_kill_tick_" + param_00 + "_" + var_03); - param_01 notify("LISTEN_kill_tick_" + param_00 + "_" + var_03 + "_" + var_04); - self endon("disconnect"); - self endon("game_ended"); - self endon("death"); - self endon("LISTEN_exit_dot_" + var_03); - var_03 = undefined; - var_04 = undefined; - wait(param_02[0]); -} - -//Function Number: 138 -startdot_group(param_00) -{ - var_01 = []; - var_02 = param_00; - var_0D = getfirstarraykey(var_02); - if(isdefined(var_0D)) - { - var_03 = var_02[var_0D]; - var_04 = undefined; - switch(var_03.type) - { - case "trigger_radius": - break; - - default: - break; - } - } -} - -//Function Number: 139 -startdot_player() -{ - thread triggertouchthink(::onenterdot_player,::onexitdot_player); -} - -//Function Number: 140 -monitordot() -{ - var_00 = gettime(); - while(isdefined(self)) - { - foreach(var_04, var_02 in self.ticks) - { - if(isdefined(var_02) && gettime() - var_00 >= var_02.duration * 1000) - { - var_03 = self getentitynumber(); - self notify("LISTEN_kill_tick_" + var_04 + "_" + var_03); - self.ticks[var_04] = undefined; - } - } - - if(!self.ticks.size) - { - break; - } - - wait(0.05); - } - - if(isdefined(self)) - { - foreach(var_02 in self.ticks) - { - self [[ var_02.ondeathfunc ]](); - } - - self notify("death"); - self delete(); - } -} - -//Function Number: 141 -onenterdot_player(param_00) -{ - var_01 = param_00 getentitynumber(); - self notify("LISTEN_enter_dot_" + var_01); - foreach(var_04, var_03 in param_00.ticks) - { - if(!var_03.enable) - { - thread dodot_delayfunc(var_04,param_00,var_03.delay,var_03.onenterfunc); - } - } - - foreach(var_04, var_03 in param_00.ticks) - { - if(var_03.enable && var_03.affected == "player") - { - self thread [[ var_03.onenterfunc ]](var_04,param_00); - } - } -} - -//Function Number: 142 -onexitdot_player(param_00) -{ - var_01 = param_00 getentitynumber(); - self notify("LISTEN_exit_dot_" + var_01); - foreach(var_04, var_03 in param_00.ticks) - { - if(var_03.enable && var_03.affected == "player") - { - self thread [[ var_03.onexitfunc ]](var_04,param_00); - } - } -} - -//Function Number: 143 -dodot_delayfunc(param_00,param_01,param_02,param_03) -{ - var_04 = param_01 getentitynumber(); - var_05 = self getentitynumber(); - param_01 endon("LISTEN_kill_tick_" + param_00 + "_" + var_04 + "_" + var_05); - self endon("disconnect"); - self endon("game_ended"); - self endon("death"); - self notify("LISTEN_exit_dot_" + var_04); - var_04 = undefined; - var_05 = undefined; - wait(param_02); - self thread [[ param_03 ]](param_00,param_01); -} - -//Function Number: 144 -onenterdot_poisondamageplayer(param_00,param_01) -{ - var_02 = param_01 getentitynumber(); - var_03 = self getentitynumber(); - param_01 endon("death"); - param_01 endon("LISTEN_kill_tick_" + param_00 + "_" + var_02); - param_01 endon("LISTEN_kill_tick_" + param_00 + "_" + var_02 + "_" + var_03); - self endon("disconnect"); - self endon("game_ended"); - self endon("death"); - self endon("LISTEN_exit_dot_" + var_02); - if(!isdefined(self.onenterdot_poisondamagecount)) - { - self.onenterdot_poisondamagecount = []; - } - - if(!isdefined(self.onenterdot_poisondamagecount[param_00])) - { - self.onenterdot_poisondamagecount[param_00] = []; - } - - self.onenterdot_poisondamagecount[param_00][var_02] = 0; - var_04 = common_scripts\utility::ter_op(common_scripts\utility::issp(),1.5,1); - if(isdefined(param_01) && isdefined(param_01.ticks[param_00])) - { - self.onenterdot_poisondamagecount[param_00][var_02]++; - switch(self.onenterdot_poisondamagecount[param_00][var_02]) - { - case 1: - break; - - case 3: - break; - - case 4: - break; - - case 6: - break; - - case 8: - break; - } - } -} - -//Function Number: 145 -onexitdot_poisondamageplayer(param_00,param_01) -{ - var_02 = param_01 getentitynumber(); - var_03 = self getentitynumber(); - var_04 = self.onenterdot_poisondamageoverlay; - if(isdefined(var_04)) - { - foreach(var_07, var_06 in var_04) - { - if(isdefined(var_04[var_07]) && isdefined(var_04[var_07][var_02])) - { - var_04[var_07][var_02] thread dodot_fadeoutblackout(0.1,0); - } - } - } - - param_01 notify("LISTEN_kill_tick_" + param_00 + "_" + var_02 + "_" + var_03); -} - -//Function Number: 146 -ondeathdot_poisondamageplayer() -{ - var_00 = self getentitynumber(); - foreach(var_02 in level.players) - { - var_03 = var_02.onenterdot_poisondamageoverlay; - if(isdefined(var_03)) - { - foreach(var_06, var_05 in var_03) - { - if(isdefined(var_03[var_06]) && isdefined(var_03[var_06][var_00])) - { - var_03[var_06][var_00] thread dodot_fadeoutblackoutanddestroy(); - } - } - } - } -} - -//Function Number: 147 -dodot_poisondamage(param_00,param_01) -{ - if(common_scripts\utility::issp()) - { - return; - } - - self thread [[ level.callbackplayerdamage ]](param_00,param_00,param_01,0,"MOD_SUICIDE","claymore_mp",param_00.origin,(0,0,0) - param_00.origin,"none",0); -} - -//Function Number: 148 -dodot_poisonblackout(param_00,param_01) -{ - var_02 = param_01 getentitynumber(); - var_03 = self getentitynumber(); - param_01 endon("death"); - param_01 endon("LISTEN_kill_tick_" + param_00 + "_" + var_02); - param_01 endon("LISTEN_kill_tick_" + param_00 + "_" + var_02 + "_" + var_03); - self endon("disconnect"); - self endon("game_ended"); - self endon("death"); - self endon("LISTEN_exit_dot_" + var_02); - if(!isdefined(self.onenterdot_poisondamageoverlay)) - { - self.onenterdot_poisondamageoverlay = []; - } - - if(!isdefined(self.onenterdot_poisondamageoverlay[param_00])) - { - self.onenterdot_poisondamageoverlay[param_00] = []; - } - - if(!isdefined(self.onenterdot_poisondamageoverlay[param_00][var_02])) - { - var_04 = newclienthudelem(self); - var_04.x = 0; - var_04.y = 0; - var_04.alignx = "left"; - var_04.aligny = "top"; - var_04.horzalign = "fullscreen"; - var_04.vertalign = "fullscreen"; - var_04.alpha = 0; - var_04 setshader("black",640,480); - self.onenterdot_poisondamageoverlay[param_00][var_02] = var_04; - } - - var_04 = self.onenterdot_poisondamageoverlay[param_00][var_02]; - var_05 = 1; - var_06 = 2; - var_07 = 0.25; - var_08 = 1; - var_09 = 5; - var_0A = 100; - var_0B = 0; - for(;;) - { - while(self.onenterdot_poisondamagecount[param_00][var_02] > 1) - { - var_0C = var_0A - var_09; - var_0B = self.onenterdot_poisondamagecount[param_00][var_02] - var_09 / var_0C; - if(var_0B < 0) - { - var_0B = 0; - } - else if(var_0B > 1) - { - var_0B = 1; - } - - var_0D = var_06 - var_05; - var_0E = var_05 + var_0D * 1 - var_0B; - var_0F = var_08 - var_07; - var_10 = var_07 + var_0F * var_0B; - var_11 = var_0B * 0.5; - if(var_0B == 1) - { - break; - } - - var_12 = var_0E / 2; - var_04 dodot_fadeinblackout(var_12,var_10); - var_04 dodot_fadeoutblackout(var_12,var_11); - wait(var_0B * 0.5); - } - - if(var_0B == 1) - { - break; - } - - if(var_04.alpha != 0) - { - var_04 dodot_fadeoutblackout(1,0); - } - - wait(0.05); - } - - var_04 dodot_fadeinblackout(2,0); -} - -//Function Number: 149 -dodot_fadeinblackout(param_00,param_01) -{ - self fadeovertime(param_00); - self.alpha = param_01; - param_01 = undefined; - wait(param_00); -} - -//Function Number: 150 -dodot_fadeoutblackout(param_00,param_01) -{ - self fadeovertime(param_00); - self.alpha = param_01; - param_01 = undefined; - wait(param_00); -} - -//Function Number: 151 -dodot_fadeoutblackoutanddestroy(param_00,param_01) -{ - self fadeovertime(param_00); - self.alpha = param_01; - param_01 = undefined; - wait(param_00); - self destroy(); -} - -//Function Number: 152 -triggertouchthink(param_00,param_01) -{ - level endon("game_ended"); - self endon("death"); - self.entnum = self getentitynumber(); - for(;;) - { - self waittill("trigger",var_02); - if(!isplayer(var_02) && !isdefined(var_02.finished_spawning)) - { - continue; - } - - if(!isalive(var_02)) - { - continue; - } - - if(!isdefined(var_02.touchtriggers[self.entnum])) - { - var_02 thread playertouchtriggerthink(self,param_00,param_01); - } - } -} - -//Function Number: 153 -playertouchtriggerthink(param_00,param_01,param_02) -{ - param_00 endon("death"); - if(!isplayer(self)) - { - self endon("death"); - } - - if(!common_scripts\utility::issp()) - { - var_03 = self.guid; - } - else - { - var_03 = "player" + gettime(); - } - - param_00.touchlist[var_03] = self; - if(isdefined(param_00.movetracker)) - { - self.movetrackers++; - } - - param_00 notify("trigger_enter",self); - self notify("trigger_enter",param_00); - var_04 = 1; - foreach(var_06 in param_00.dot_group) - { - foreach(var_08 in self.touchtriggers) - { - if(var_06 == var_08) - { - var_04 = 0; - } - } - } - - if(var_04 && isdefined(param_01)) - { - self thread [[ param_01 ]](param_00); - } - - self.touchtriggers[param_00.entnum] = param_00; - while(isalive(self) && common_scripts\utility::issp() || !level.gameended) - { - var_0B = 1; - if(self istouching(param_00)) - { - wait(0.05); - continue; - } - - if(!param_00.dot_group.size) - { - var_0B = 0; - } - - foreach(var_06 in param_00.dot_group) - { - if(self istouching(var_06)) - { - wait(0.05); - break; - } - else - { - var_0B = 0; - } - } - - if(!var_0B) - { - break; - } - } - - if(isdefined(self)) - { - self.touchtriggers[param_00.entnum] = undefined; - if(isdefined(param_00.movetracker)) - { - self.movetrackers--; - } - - self notify("trigger_leave",param_00); - if(var_04 && isdefined(param_02)) - { - self thread [[ param_02 ]](param_00); - } - } - - if(!common_scripts\utility::issp() && level.gameended) - { - return; - } - - param_00.touchlist[var_03] = undefined; - param_00 notify("trigger_leave",self); - if(!anythingtouchingtrigger(param_00)) - { - param_00 notify("trigger_empty"); - } -} - -//Function Number: 154 -anythingtouchingtrigger(param_00) -{ - return param_00.touchlist.size; -} - -//Function Number: 155 -get_precached_anim(param_00) -{ - return level._destructible_preanims[param_00]; -} - -//Function Number: 156 -get_precached_animtree(param_00) -{ - return level._destructible_preanimtree[param_00]; -} - -//Function Number: 157 -destructiblecoverwatcher() -{ - if(!isdefined(level.player)) - { - return; - } - - if(!isdefined(self.script_dest_cover_dmg_dist)) - { - self.script_dest_cover_dmg_dist = 20000; - } - - while(isdefined(self)) - { - if(isdefined(self.destructible_parts)) - { - var_00 = 0; - for(var_01 = 1;var_01 < self.destructible_parts.size;var_01++) - { - if(self.destructible_parts[var_01].v["currentState"] == 1) - { - var_00++; - } - } - - if(var_00 == self.destructible_parts.size - 1) - { - break; - } - } - - var_02 = distancesquared(level.player.origin,self.origin); - if(var_02 > self.script_dest_cover_dmg_dist * self.script_dest_cover_dmg_dist) - { - self setcandamage(0); - continue; - } - - self setcandamage(1); - wait(0.05); - } -} \ No newline at end of file diff --git a/AW/PC/MP/common_scripts/_dynamic_world.gsc b/AW/PC/MP/common_scripts/_dynamic_world.gsc deleted file mode 100644 index 5142172..0000000 --- a/AW/PC/MP/common_scripts/_dynamic_world.gsc +++ /dev/null @@ -1,1760 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: common_scripts/_dynamic_world.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 73 - * Decompile Time: 1102 ms - * Timestamp: 10/27/2023 1:47:17 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - common_scripts\utility::array_thread(getentarray("com_wall_fan_blade_rotate_slow","targetname"),::fan_blade_rotate,"veryslow"); - common_scripts\utility::array_thread(getentarray("com_wall_fan_blade_rotate","targetname"),::fan_blade_rotate,"slow"); - common_scripts\utility::array_thread(getentarray("com_wall_fan_blade_rotate_fast","targetname"),::fan_blade_rotate,"fast"); - var_00 = []; - var_00["trigger_multiple_dyn_metal_detector"] = ::metal_detector; - var_00["trigger_multiple_dyn_creaky_board"] = ::creaky_board; - var_00["trigger_multiple_dyn_photo_copier"] = ::photo_copier; - var_00["trigger_multiple_dyn_copier_no_light"] = ::photo_copier_no_light; - var_00["trigger_radius_motion_light"] = ::motion_light; - var_00["trigger_radius_dyn_motion_dlight"] = ::outdoor_motion_dlight; - var_00["trigger_multiple_dog_bark"] = ::dog_bark; - var_00["trigger_radius_bird_startle"] = ::bird_startle; - var_00["trigger_multiple_dyn_motion_light"] = ::motion_light; - var_00["trigger_multiple_dyn_door"] = ::trigger_door; - player_init(); - foreach(var_04, var_02 in var_00) - { - var_03 = getentarray(var_04,"classname"); - common_scripts\utility::array_thread(var_03,::triggertouchthink); - common_scripts\utility::array_thread(var_03,var_02); - } - - common_scripts\utility::array_thread(getentarray("vending_machine","targetname"),::vending_machine); - common_scripts\utility::array_thread(getentarray("toggle","targetname"),::use_toggle); - common_scripts\utility::array_thread(getentarray("sliding_door","targetname"),::sliding_door); - level thread onplayerconnect(); - var_05 = getent("civilian_jet_origin","targetname"); - if(isdefined(var_05)) - { - var_05 thread civilian_jet_flyby(); - } - - thread interactive_tv(); -} - -//Function Number: 2 -onplayerconnect() -{ - for(;;) - { - level waittill("connecting",var_00); - var_00 thread movementtracker(); - } -} - -//Function Number: 3 -player_init() -{ - if(common_scripts\utility::issp()) - { - foreach(var_01 in level.players) - { - var_01.touchtriggers = []; - var_01 thread movementtracker(); - } - } -} - -//Function Number: 4 -ai_init() -{ - self.touchtriggers = []; - thread movementtracker(); -} - -//Function Number: 5 -civilian_jet_flyby() -{ - level endon("game_ended"); - jet_init(); - level waittill("prematch_over"); - for(;;) - { - thread jet_timer(); - self waittill("start_flyby"); - thread jet_flyby(); - self waittill("flyby_done"); - jet_reset(); - } -} - -//Function Number: 6 -jet_init() -{ - self.jet_parts = getentarray(self.target,"targetname"); - self.jet_flyto = getent("civilian_jet_flyto","targetname"); - self.engine_fxs = getentarray("engine_fx","targetname"); - self.flash_fxs = getentarray("flash_fx","targetname"); - self.jet_engine_fx = loadfx("fx/fire/jet_afterburner"); - self.jet_flash_fx_red = loadfx("vfx/lights/aircraft_light_wingtip_red"); - self.jet_flash_fx_green = loadfx("vfx/lights/aircraft_light_wingtip_green"); - self.jet_flash_fx_blink = loadfx("vfx/lights/aircraft_light_red_blink"); - level.civilianjetflyby = undefined; - var_00 = vectornormalize(self.origin - self.jet_flyto.origin) * 20000; - self.jet_flyto.origin = self.jet_flyto.origin - var_00; - self.origin = self.origin + var_00; - foreach(var_02 in self.jet_parts) - { - var_02.origin = var_02.origin + var_00; - var_02.old_origin = var_02.origin; - var_02 hide(); - } - - foreach(var_05 in self.engine_fxs) - { - var_05.origin = var_05.origin + var_00; - } - - foreach(var_08 in self.flash_fxs) - { - var_08.origin = var_08.origin + var_00; - } - - var_0A = self.origin; - var_0B = self.jet_flyto.origin; - self.jet_fly_vec = var_0B - var_0A; - var_0C = 2000; - var_0D = abs(distance(var_0A,var_0B)); - self.jet_flight_time = var_0D / var_0C; -} - -//Function Number: 7 -jet_reset() -{ - foreach(var_01 in self.jet_parts) - { - var_01.origin = var_01.old_origin; - var_01 hide(); - } -} - -//Function Number: 8 -jet_timer() -{ - level endon("game_ended"); - var_00 = gettimeinterval(); - var_01 = max(10,var_00); - var_01 = min(var_01,100); - if(getdvar("jet_flyby_timer") != "") - { - level.civilianjetflyby_timer = 5 + getdvarint("jet_flyby_timer"); - } - else - { - level.civilianjetflyby_timer = 0.25 + randomfloatrange(0.3,0.7) * 60 * var_01; - } - - wait(level.civilianjetflyby_timer); - while(isdefined(level.airstrikeinprogress) || isdefined(level.ac130player) || isdefined(level.chopper) || isdefined(level.remotemissileinprogress)) - { - wait(0.05); - } - - self notify("start_flyby"); - level.civilianjetflyby = 1; - self waittill("flyby_done"); - level.civilianjetflyby = undefined; -} - -//Function Number: 9 -gettimeinterval() -{ - if(common_scripts\utility::issp()) - { - return 10; - } - - if(isdefined(game["status"]) && game["status"] == "overtime") - { - return 1; - } - - return getwatcheddvar("timelimit"); -} - -//Function Number: 10 -getwatcheddvar(param_00) -{ - param_00 = "scr_" + level.gametype + "_" + param_00; - if(isdefined(level.overridewatchdvars) && isdefined(level.overridewatchdvars[param_00])) - { - return level.overridewatchdvars[param_00]; - } - - return level.watchdvars[param_00].value; -} - -//Function Number: 11 -jet_flyby() -{ - foreach(var_01 in self.jet_parts) - { - var_01 show(); - } - - var_03 = []; - var_04 = []; - foreach(var_06 in self.engine_fxs) - { - var_07 = spawn("script_model",var_06.origin); - var_07 setmodel("tag_origin"); - var_07.angles = var_06.angles; - var_03[var_03.size] = var_07; - } - - foreach(var_0A in self.flash_fxs) - { - var_0B = spawn("script_model",var_0A.origin); - var_0B setmodel("tag_origin"); - var_0B.color = var_0A.script_noteworthy; - var_0B.angles = var_0A.angles; - var_04[var_04.size] = var_0B; - } - - thread jet_planesound(self.jet_parts[0],level.mapcenter); - wait(0.05); - foreach(var_07 in var_03) - { - playfxontag(self.jet_engine_fx,var_07,"tag_origin"); - } - - foreach(var_0B in var_04) - { - if(isdefined(var_0B.color) && var_0B.color == "blink") - { - playfxontag(self.jet_flash_fx_blink,var_0B,"tag_origin"); - continue; - } - - if(isdefined(var_0B.color) && var_0B.color == "red") - { - playfxontag(self.jet_flash_fx_red,var_0B,"tag_origin"); - continue; - } - - playfxontag(self.jet_flash_fx_green,var_0B,"tag_origin"); - } - - foreach(var_01 in self.jet_parts) - { - var_01 moveto(var_01.origin + self.jet_fly_vec,self.jet_flight_time); - } - - foreach(var_07 in var_03) - { - var_07 moveto(var_07.origin + self.jet_fly_vec,self.jet_flight_time); - } - - foreach(var_0B in var_04) - { - var_0B moveto(var_0B.origin + self.jet_fly_vec,self.jet_flight_time); - } - - wait(self.jet_flight_time + 1); - foreach(var_07 in var_03) - { - var_07 delete(); - } - - foreach(var_0B in var_04) - { - var_0B delete(); - } - - self notify("flyby_done"); -} - -//Function Number: 12 -jet_planesound(param_00,param_01) -{ - param_00 thread playsound_loop_on_ent("veh_mig29_dist_loop"); - while(!targetisclose(param_00,param_01)) - { - wait(0.05); - } - - param_00 thread playsound_loop_on_ent("veh_mig29_close_loop"); - while(targetisinfront(param_00,param_01)) - { - wait(0.05); - } - - wait(0.5); - param_00 thread playsound_float("veh_mig29_sonic_boom"); - while(targetisclose(param_00,param_01)) - { - wait(0.05); - } - - param_00 notify("stop soundveh_mig29_close_loop"); - self waittill("flyby_done"); - param_00 notify("stop soundveh_mig29_dist_loop"); -} - -//Function Number: 13 -playsound_float(param_00,param_01,param_02) -{ - var_03 = spawn("script_origin",(0,0,1)); - var_03 hide(); - if(!isdefined(param_01)) - { - param_01 = self.origin; - } - - var_03.origin = param_01; - if(isdefined(param_02) && param_02) - { - var_03 playsoundasmaster(param_00); - } - else - { - var_03 playsound(param_00); - } - - wait(10); - var_03 delete(); -} - -//Function Number: 14 -playsound_loop_on_ent(param_00,param_01) -{ - var_02 = spawn("script_origin",(0,0,0)); - var_02 hide(); - var_02 endon("death"); - thread common_scripts\utility::delete_on_death(var_02); - if(isdefined(param_01)) - { - var_02.origin = self.origin + param_01; - var_02.angles = self.angles; - var_02 linkto(self); - } - else - { - var_02.origin = self.origin; - var_02.angles = self.angles; - var_02 linkto(self); - } - - var_02 playloopsound(param_00); - self waittill("stop sound" + param_00); - var_02 stoploopsound(param_00); - var_02 delete(); -} - -//Function Number: 15 -targetisinfront(param_00,param_01) -{ - var_02 = anglestoforward(common_scripts\utility::flat_angle(param_00.angles)); - var_03 = vectornormalize(common_scripts\utility::flat_origin(param_01) - param_00.origin); - var_04 = vectordot(var_02,var_03); - if(var_04 > 0) - { - return 1; - } - - return 0; -} - -//Function Number: 16 -targetisclose(param_00,param_01) -{ - var_02 = targetisinfront(param_00,param_01); - if(var_02) - { - var_03 = 1; - } - else - { - var_03 = -1; - } - - var_04 = common_scripts\utility::flat_origin(param_00.origin); - var_05 = var_04 + anglestoforward(common_scripts\utility::flat_angle(param_00.angles)) * var_03 * 100000; - var_06 = pointonsegmentnearesttopoint(var_04,var_05,param_01); - var_07 = distance(var_04,var_06); - if(var_07 < 3000) - { - return 1; - } - - return 0; -} - -//Function Number: 17 -vending_machine() -{ - level endon("game_ended"); - self endon("death"); - self setcursorhint("HINT_ACTIVATE"); - self.vm_normal = getent(self.target,"targetname"); - var_00 = getent(self.vm_normal.target,"targetname"); - var_01 = getent(var_00.target,"targetname"); - var_02 = getent(var_01.target,"targetname"); - self.vm_launch_from = var_02.origin; - var_03 = getent(var_02.target,"targetname"); - self.vm_launch_to = var_03.origin; - if(isdefined(var_03.target)) - { - self.vm_fx_loc = getent(var_03.target,"targetname").origin; - } - - self.vm_normal setcandamage(1); - self.vm_normal_model = self.vm_normal.model; - self.vm_damaged_model = self.vm_normal.script_noteworthy; - self.vm_soda_model = var_00.model; - self.vm_soda_start_pos = var_00.origin; - self.vm_soda_start_angle = var_00.angles; - self.vm_soda_stop_pos = var_01.origin; - self.vm_soda_stop_angle = var_01.angles; - precachemodel(self.vm_damaged_model); - var_00 delete(); - var_01 delete(); - var_02 delete(); - var_03 delete(); - self.soda_array = []; - self.soda_count = 12; - self.soda_slot = undefined; - self.hp = 400; - thread vending_machine_damage_monitor(self.vm_normal); - self playloopsound("vending_machine_hum"); - for(;;) - { - self waittill("trigger",var_04); - self playsound("vending_machine_button_press"); - if(!self.soda_count) - { - continue; - } - - if(isdefined(self.soda_slot)) - { - soda_can_eject(); - } - - soda_can_drop(spawn_soda()); - wait(0.05); - } -} - -//Function Number: 18 -vending_machine_damage_monitor(param_00) -{ - level endon("game_ended"); - var_01 = "mod_grenade mod_projectile mod_explosive mod_grenade_splash mod_projectile_splash splash"; - var_02 = loadfx("fx/explosions/tv_explosion"); - for(;;) - { - var_03 = undefined; - var_04 = undefined; - var_05 = undefined; - var_06 = undefined; - var_07 = undefined; - param_00 waittill("damage",var_03,var_04,var_05,var_06,var_07); - if(isdefined(var_07)) - { - if(issubstr(var_01,tolower(var_07))) - { - var_03 = var_03 * 3; - } - - self.hp = self.hp - var_03; - if(self.hp > 0) - { - continue; - } - - self notify("death"); - self.origin = self.origin + (0,0,10000); - if(!isdefined(self.vm_fx_loc)) - { - var_08 = self.vm_normal.origin + (37,-31,52); - } - else - { - var_08 = self.vm_fx_loc; - } - - playfx(var_02,var_08); - self.vm_normal setmodel(self.vm_damaged_model); - while(self.soda_count > 0) - { - if(isdefined(self.soda_slot)) - { - soda_can_eject(); - } - - soda_can_drop(spawn_soda()); - wait(0.05); - } - - self stoploopsound("vending_machine_hum"); - return; - } - } -} - -//Function Number: 19 -spawn_soda() -{ - var_00 = spawn("script_model",self.vm_soda_start_pos); - var_00 setmodel(self.vm_soda_model); - var_00.origin = self.vm_soda_start_pos; - var_00.angles = self.vm_soda_start_angle; - return var_00; -} - -//Function Number: 20 -soda_can_drop(param_00) -{ - param_00 moveto(self.vm_soda_stop_pos,0.2); - param_00 playsound("vending_machine_soda_drop"); - wait(0.2); - self.soda_slot = param_00; - self.soda_count--; -} - -//Function Number: 21 -soda_can_eject() -{ - self endon("death"); - if(isdefined(self.soda_slot.ejected) && self.soda_slot.ejected == 1) - { - return; - } - - var_00 = 1; - var_01 = var_00 * -999; - var_02 = int(40000); - var_03 = (int(var_02 / 2),int(var_02 / 2),0) - (randomint(var_02),randomint(var_02),0); - var_04 = vectornormalize(self.vm_launch_to - self.vm_launch_from + var_03); - var_05 = var_04 * randomfloatrange(var_01,var_00); - self.soda_slot physicslaunchclient(self.vm_launch_from,var_05); - self.soda_slot.ejected = 1; -} - -//Function Number: 22 -freefall() -{ - level endon("game_ended"); - var_00 = "briefcase_bomb_mp"; - precacheitem(var_00); - for(;;) - { - self waittill("trigger_enter",var_01); - if(!var_01 hasweapon(var_00)) - { - var_01 playsound("freefall_death"); - var_01 giveweapon(var_00); - var_01 setweaponammostock(var_00,0); - var_01 setweaponammoclip(var_00,0); - var_01 switchtoweapon(var_00); - } - } -} - -//Function Number: 23 -metal_detector() -{ - level endon("game_ended"); - var_00 = getent(self.target,"targetname"); - var_00 enablegrenadetouchdamage(); - var_01 = getent(var_00.target,"targetname"); - var_02 = getent(var_01.target,"targetname"); - var_03 = getent(var_02.target,"targetname"); - var_04 = getent(var_03.target,"targetname"); - var_05 = []; - var_06 = min(var_01.origin[0],var_02.origin[0]); - var_05[0] = var_06; - var_07 = max(var_01.origin[0],var_02.origin[0]); - var_05[1] = var_07; - var_08 = min(var_01.origin[1],var_02.origin[1]); - var_05[2] = var_08; - var_09 = max(var_01.origin[1],var_02.origin[1]); - var_05[3] = var_09; - var_0A = min(var_01.origin[2],var_02.origin[2]); - var_05[4] = var_0A; - var_0B = max(var_01.origin[2],var_02.origin[2]); - var_05[5] = var_0B; - var_01 delete(); - var_02 delete(); - if(!common_scripts\utility::issp()) - { - self.alarm_interval = 7; - } - else - { - self.alarm_interval = 2; - } - - self.alarm_playing = 0; - self.alarm_annoyance = 0; - self.tolerance = 0; - thread metal_detector_dmg_monitor(var_00); - thread metal_detector_touch_monitor(); - thread metal_detector_weapons(var_05,"weapon_claymore","weapon_c4"); - var_0C = (var_03.origin[0],var_03.origin[1],var_0B); - var_0D = (var_04.origin[0],var_04.origin[1],var_0B); - var_0E = loadfx("fx/props/metal_detector_light"); - for(;;) - { - common_scripts\utility::waittill_any("dmg_triggered","touch_triggered","weapon_triggered"); - thread playsound_and_light("alarm_metal_detector",var_0E,var_0C,var_0D); - } -} - -//Function Number: 24 -playsound_and_light(param_00,param_01,param_02,param_03) -{ - level endon("game_ended"); - if(!self.alarm_playing) - { - self.alarm_playing = 1; - thread annoyance_tracker(); - if(!self.alarm_annoyance) - { - self playsound(param_00); - } - - playfx(param_01,param_02); - playfx(param_01,param_03); - wait(self.alarm_interval); - self.alarm_playing = 0; - } -} - -//Function Number: 25 -annoyance_tracker() -{ - level endon("game_ended"); - if(!self.tolerance) - { - return; - } - - var_00 = self.alarm_interval + 0.15; - if(self.tolerance) - { - self.tolerance--; - } - else - { - self.alarm_annoyance = 1; - } - - var_01 = gettime(); - var_02 = 7; - if(common_scripts\utility::issp()) - { - var_02 = 2; - } - - waittill_any_or_timeout("dmg_triggered","touch_triggered","weapon_triggered",var_02 + 2); - var_03 = gettime() - var_01; - if(var_03 > var_02 * 1000 + 1150) - { - self.alarm_annoyance = 0; - self.tolerance = 0; - } -} - -//Function Number: 26 -waittill_any_or_timeout(param_00,param_01,param_02,param_03) -{ - level endon("game_ended"); - self endon(param_00); - self endon(param_01); - self endon(param_02); - wait(param_03); -} - -//Function Number: 27 -metal_detector_weapons(param_00,param_01,param_02) -{ - level endon("game_ended"); - for(;;) - { - waittill_weapon_placed(); - var_03 = getentarray("grenade","classname"); - foreach(var_05 in var_03) - { - if(isdefined(var_05.model) && var_05.model == param_01 || var_05.model == param_02) - { - if(isinbound(var_05,param_00)) - { - thread weapon_notify_loop(var_05,param_00); - } - } - } - } -} - -//Function Number: 28 -waittill_weapon_placed() -{ - level endon("game_ended"); - self endon("dmg_triggered"); - self waittill("touch_triggered"); -} - -//Function Number: 29 -weapon_notify_loop(param_00,param_01) -{ - param_00 endon("death"); - while(isinbound(param_00,param_01)) - { - self notify("weapon_triggered"); - wait(self.alarm_interval); - } -} - -//Function Number: 30 -isinbound(param_00,param_01) -{ - var_02 = param_01[0]; - var_03 = param_01[1]; - var_04 = param_01[2]; - var_05 = param_01[3]; - var_06 = param_01[4]; - var_07 = param_01[5]; - var_08 = param_00.origin[0]; - var_09 = param_00.origin[1]; - var_0A = param_00.origin[2]; - if(isinbound_single(var_08,var_02,var_03)) - { - if(isinbound_single(var_09,var_04,var_05)) - { - if(isinbound_single(var_0A,var_06,var_07)) - { - return 1; - } - } - } - - return 0; -} - -//Function Number: 31 -isinbound_single(param_00,param_01,param_02) -{ - if(param_00 > param_01 && param_00 < param_02) - { - return 1; - } - - return 0; -} - -//Function Number: 32 -metal_detector_dmg_monitor(param_00) -{ - level endon("game_ended"); - for(;;) - { - param_00 waittill("damage",var_01,var_02,var_03,var_04,var_05); - if(isdefined(var_05) && alarm_validate_damage(var_05)) - { - self notify("dmg_triggered"); - } - } -} - -//Function Number: 33 -metal_detector_touch_monitor() -{ - level endon("game_ended"); - for(;;) - { - self waittill("trigger_enter"); - while(anythingtouchingtrigger(self)) - { - self notify("touch_triggered"); - wait(self.alarm_interval); - } - } -} - -//Function Number: 34 -alarm_validate_damage(param_00) -{ - var_01 = "mod_melee melee mod_grenade mod_projectile mod_explosive mod_impact"; - var_02 = strtok(var_01," "); - foreach(var_04 in var_02) - { - if(tolower(var_04) == tolower(param_00)) - { - return 1; - } - } - - return 0; -} - -//Function Number: 35 -creaky_board() -{ - level endon("game_ended"); - for(;;) - { - self waittill("trigger_enter",var_00); - var_00 thread do_creak(self); - } -} - -//Function Number: 36 -do_creak(param_00) -{ - self endon("disconnect"); - self endon("death"); - self playsound("step_walk_plr_woodcreak_on"); - for(;;) - { - self waittill("trigger_leave",var_01); - if(param_00 != var_01) - { - continue; - } - - self playsound("step_walk_plr_woodcreak_off"); - } -} - -//Function Number: 37 -motion_light() -{ - level endon("game_ended"); - self.movetracker = 1; - self.lightson = 0; - var_00 = getentarray(self.target,"targetname"); - common_scripts\utility::noself_array_call(["com_two_light_fixture_off","com_two_light_fixture_on"],::precachemodel); - foreach(var_02 in var_00) - { - var_02.lightrigs = []; - var_03 = getent(var_02.target,"targetname"); - if(!isdefined(var_03.target)) - { - continue; - } - - var_02.lightrigs = getentarray(var_03.target,"targetname"); - } - - for(;;) - { - self waittill("trigger_enter"); - while(anythingtouchingtrigger(self)) - { - var_05 = 0; - foreach(var_07 in self.touchlist) - { - if(isdefined(var_07.distmoved) && var_07.distmoved > 5) - { - var_05 = 1; - } - } - - if(var_05) - { - if(!self.lightson) - { - self.lightson = 1; - var_00[0] playsound("switch_auto_lights_on"); - foreach(var_02 in var_00) - { - var_02 setlightintensity(1); - if(isdefined(var_02.lightrigs)) - { - foreach(var_0B in var_02.lightrigs) - { - var_0B setmodel("com_two_light_fixture_on"); - } - } - } - } - - thread motion_light_timeout(var_00,10); - } - - wait(0.05); - } - } -} - -//Function Number: 38 -motion_light_timeout(param_00,param_01) -{ - self notify("motion_light_timeout"); - self endon("motion_light_timeout"); - wait(param_01); - foreach(var_03 in param_00) - { - var_03 setlightintensity(0); - if(isdefined(var_03.lightrigs)) - { - foreach(var_05 in var_03.lightrigs) - { - var_05 setmodel("com_two_light_fixture_off"); - } - } - } - - param_00[0] playsound("switch_auto_lights_off"); - self.lightson = 0; -} - -//Function Number: 39 -outdoor_motion_dlight() -{ - if(!isdefined(level.outdoor_motion_light)) - { - level.outdoor_motion_light = loadfx("vfx/lights/outdoor_motion_light"); - } - - level endon("game_ended"); - self.movetracker = 1; - self.lightson = 0; - var_00 = getent(self.target,"targetname"); - var_01 = getentarray(var_00.target,"targetname"); - common_scripts\utility::noself_array_call(["com_two_light_fixture_off","com_two_light_fixture_on"],::precachemodel); - for(;;) - { - self waittill("trigger_enter"); - while(anythingtouchingtrigger(self)) - { - var_02 = 0; - foreach(var_04 in self.touchlist) - { - if(isdefined(var_04.distmoved) && var_04.distmoved > 5) - { - var_02 = 1; - } - } - - if(var_02) - { - if(!self.lightson) - { - self.lightson = 1; - var_00 playsound("switch_auto_lights_on"); - var_00 setmodel("com_two_light_fixture_on"); - foreach(var_07 in var_01) - { - var_07.lightent = spawn("script_model",var_07.origin); - var_07.lightent setmodel("tag_origin"); - playfxontag(level.outdoor_motion_light,var_07.lightent,"tag_origin"); - } - } - - thread outdoor_motion_dlight_timeout(var_00,var_01,10); - } - - wait(0.05); - } - } -} - -//Function Number: 40 -outdoor_motion_dlight_timeout(param_00,param_01,param_02) -{ - self notify("motion_light_timeout"); - self endon("motion_light_timeout"); - wait(param_02); - foreach(var_04 in param_01) - { - var_04.lightent delete(); - } - - param_00 playsound("switch_auto_lights_off"); - param_00 setmodel("com_two_light_fixture_off"); - self.lightson = 0; -} - -//Function Number: 41 -dog_bark() -{ - level endon("game_ended"); - self.movetracker = 1; - var_00 = getent(self.target,"targetname"); - for(;;) - { - self waittill("trigger_enter",var_01); - while(anythingtouchingtrigger(self)) - { - var_02 = 0; - foreach(var_04 in self.touchlist) - { - if(isdefined(var_04.distmoved) && var_04.distmoved > var_02) - { - var_02 = var_04.distmoved; - } - } - - if(var_02 > 6) - { - var_00 playsound("dyn_anml_dog_bark"); - wait(randomfloatrange(16 / var_02,16 / var_02 + randomfloat(1))); - continue; - } - - wait(0.05); - } - } -} - -//Function Number: 42 -trigger_door() -{ - var_00 = getent(self.target,"targetname"); - self.doorent = var_00; - self.doorangle = getvectorrightangle(vectornormalize(self getorigin() - var_00 getorigin())); - var_00.baseyaw = var_00.angles[1]; - var_01 = 1; - for(;;) - { - self waittill("trigger_enter",var_02); - var_00 thread dooropen(var_01,getdoorside(var_02)); - if(anythingtouchingtrigger(self)) - { - self waittill("trigger_empty"); - } - - wait(3); - if(anythingtouchingtrigger(self)) - { - self waittill("trigger_empty"); - } - - var_00 thread doorclose(var_01); - } -} - -//Function Number: 43 -dooropen(param_00,param_01) -{ - if(param_01) - { - self rotateto((0,self.baseyaw + 90,1),param_00,0.1,0.75); - } - else - { - self rotateto((0,self.baseyaw - 90,1),param_00,0.1,0.75); - } - - self playsound("door_generic_house_open"); - wait(param_00 + 0.05); -} - -//Function Number: 44 -doorclose(param_00) -{ - self rotateto((0,self.baseyaw,1),param_00); - self playsound("door_generic_house_close"); - wait(param_00 + 0.05); -} - -//Function Number: 45 -getdoorside(param_00) -{ - return vectordot(self.doorangle,vectornormalize(param_00.origin - self.doorent getorigin())) > 0; -} - -//Function Number: 46 -getvectorrightangle(param_00) -{ - return (param_00[1],0 - param_00[0],param_00[2]); -} - -//Function Number: 47 -use_toggle() -{ - if(self.classname != "trigger_use_touch") - { - return; - } - - var_00 = getentarray(self.target,"targetname"); - self.lightson = 1; - foreach(var_02 in var_00) - { - var_02 setlightintensity(1.5 * self.lightson); - } - - for(;;) - { - self waittill("trigger"); - self.lightson = !self.lightson; - if(self.lightson) - { - foreach(var_02 in var_00) - { - var_02 setlightintensity(1.5); - } - - self playsound("switch_auto_lights_on"); - continue; - } - - foreach(var_02 in var_00) - { - var_02 setlightintensity(0); - } - - self playsound("switch_auto_lights_off"); - } -} - -//Function Number: 48 -bird_startle() -{ -} - -//Function Number: 49 -photo_copier_init(param_00) -{ - self.copier = get_photo_copier(param_00); - if(isdefined(self.copier)) - { - var_01 = getent(self.copier.target,"targetname"); - if(isdefined(var_01)) - { - var_02 = getent(var_01.target,"targetname"); - if(isdefined(var_02)) - { - var_02.intensity = var_02 getlightintensity(); - var_02 setlightintensity(0); - param_00.copy_bar = var_01; - param_00.start_pos = var_01.origin; - param_00.light = var_02; - var_03 = self.copier.angles + (0,90,0); - var_04 = anglestoforward(var_03); - param_00.end_pos = param_00.start_pos + var_04 * 30; - return; - } - } - } -} - -//Function Number: 50 -get_photo_copier(param_00) -{ - if(!isdefined(param_00.target)) - { - var_01 = getentarray("destructible_toy","targetname"); - var_02 = var_01[0]; - foreach(var_04 in var_01) - { - if(isdefined(var_04.destructible_type) && var_04.destructible_type == "toy_copier") - { - if(distance(param_00.origin,var_02.origin) > distance(param_00.origin,var_04.origin)) - { - var_02 = var_04; - } - } - } - } - else - { - var_02 = getent(var_02.target,"targetname"); - if(isdefined(var_02)) - { - var_02 setcandamage(1); - } - } - - return var_02; -} - -//Function Number: 51 -waittill_copier_copies() -{ - if(!isdefined(self.copier)) - { - return; - } - - self.copier endon("FX_State_Change0"); - self.copier endon("death"); - self waittill("trigger_enter"); -} - -//Function Number: 52 -photo_copier() -{ - level endon("game_ended"); - photo_copier_init(self); - if(!isdefined(self.copier)) - { - return; - } - - self.copier endon("FX_State_Change0"); - thread photo_copier_stop(); - for(;;) - { - waittill_copier_copies(); - self playsound("mach_copier_run"); - if(isdefined(self.copy_bar)) - { - reset_copier(self); - thread photo_copier_copy_bar_goes(); - thread photo_copier_light_on(); - } - - wait(3); - } -} - -//Function Number: 53 -photo_copier_no_light() -{ - level endon("game_ended"); - self endon("death"); - if(common_scripts\utility::get_template_level() == "hamburg") - { - return; - } - - self.copier = get_photo_copier(self); - if(!isdefined(self.copier)) - { - return; - } - - self.copier endon("FX_State_Change0"); - for(;;) - { - waittill_copier_copies(); - self playsound("mach_copier_run"); - wait(3); - } -} - -//Function Number: 54 -reset_copier(param_00) -{ - param_00.copy_bar moveto(param_00.start_pos,0.2); - param_00.light setlightintensity(0); -} - -//Function Number: 55 -photo_copier_copy_bar_goes() -{ - self.copier notify("bar_goes"); - self.copier endon("bar_goes"); - self.copier endon("FX_State_Change0"); - self.copier endon("death"); - var_00 = self.copy_bar; - wait(2); - var_00 moveto(self.end_pos,1.6); - wait(1.8); - var_00 moveto(self.start_pos,1.6); - wait(1.6); - var_01 = self.light; - var_02 = 0.2; - var_03 = var_02 / 0.05; - for(var_04 = 0;var_04 < var_03;var_04++) - { - var_05 = var_04 * 0.05; - var_05 = var_05 / var_02; - var_05 = 1 - var_05 * var_01.intensity; - if(var_05 > 0) - { - var_01 setlightintensity(var_05); - } - - wait(0.05); - } -} - -//Function Number: 56 -photo_copier_light_on() -{ - self.copier notify("light_on"); - self.copier endon("light_on"); - self.copier endon("FX_State_Change0"); - self.copier endon("death"); - var_00 = self.light; - var_01 = 0.2; - var_02 = var_01 / 0.05; - for(var_03 = 0;var_03 < var_02;var_03++) - { - var_04 = var_03 * 0.05; - var_04 = var_04 / var_01; - var_00 setlightintensity(var_04 * var_00.intensity); - wait(0.05); - } - - photo_light_flicker(var_00); -} - -//Function Number: 57 -photo_copier_stop() -{ - self.copier waittill("FX_State_Change0"); - self.copier endon("death"); - reset_copier(self); -} - -//Function Number: 58 -photo_light_flicker(param_00) -{ - param_00 setlightintensity(1); - wait(0.05); - param_00 setlightintensity(0); - wait(0.1); - param_00 setlightintensity(1); - wait(0.05); - param_00 setlightintensity(0); - wait(0.1); - param_00 setlightintensity(1); -} - -//Function Number: 59 -fan_blade_rotate(param_00) -{ - var_01 = 0; - var_02 = 20000; - var_03 = 1; - if(isdefined(self.speed)) - { - var_03 = self.speed; - } - - if(param_00 == "slow") - { - if(isdefined(self.script_noteworthy) && self.script_noteworthy == "lockedspeed") - { - var_01 = 180; - } - else - { - var_01 = randomfloatrange(100 * var_03,360 * var_03); - } - } - else if(param_00 == "fast") - { - var_01 = randomfloatrange(720 * var_03,1000 * var_03); - } - else if(param_00 == "veryslow") - { - var_01 = randomfloatrange(1 * var_03,2 * var_03); - } - else - { - } - - if(isdefined(self.script_noteworthy) && self.script_noteworthy == "lockedspeed") - { - wait(0); - } - else - { - wait(randomfloatrange(0,1)); - } - - if(!isdefined(self)) - { - return; - } - - var_04 = self.angles; - var_05 = anglestoright(self.angles) * 100; - var_05 = vectornormalize(var_05); - for(;;) - { - var_06 = abs(vectordot(var_05,(1,0,0))); - var_07 = abs(vectordot(var_05,(0,1,0))); - var_08 = abs(vectordot(var_05,(0,0,1))); - if(var_06 > 0.9) - { - self rotatevelocity((var_01,0,0),var_02); - } - else if(var_07 > 0.9) - { - self rotatevelocity((var_01,0,0),var_02); - } - else if(var_08 > 0.9) - { - self rotatevelocity((0,var_01,0),var_02); - } - else - { - self rotatevelocity((0,var_01,0),var_02); - } - - wait(var_02); - } -} - -//Function Number: 60 -triggertouchthink(param_00,param_01) -{ - level endon("game_ended"); - self endon("deleted"); - self.entnum = self getentitynumber(); - for(;;) - { - self waittill("trigger",var_02); - if(!isplayer(var_02) && !isdefined(var_02.finished_spawning)) - { - continue; - } - - if(!isalive(var_02)) - { - continue; - } - - if(!isdefined(var_02.touchtriggers[self.entnum])) - { - var_02 thread playertouchtriggerthink(self,param_00,param_01); - } - } -} - -//Function Number: 61 -playertouchtriggerthink(param_00,param_01,param_02) -{ - param_00 endon("deleted"); - if(!isplayer(self)) - { - self endon("death"); - } - - if(!common_scripts\utility::issp()) - { - var_03 = self.guid; - } - else - { - var_03 = "player" + gettime(); - } - - param_00.touchlist[var_03] = self; - if(isdefined(param_00.movetracker)) - { - self.movetrackers++; - } - - param_00 notify("trigger_enter",self); - self notify("trigger_enter",param_00); - if(isdefined(param_01)) - { - self thread [[ param_01 ]](param_00); - } - - self.touchtriggers[param_00.entnum] = param_00; - while(isalive(self) && self istouching(param_00) && common_scripts\utility::issp() || !level.gameended) - { - wait(0.05); - } - - if(isdefined(self)) - { - self.touchtriggers[param_00.entnum] = undefined; - if(isdefined(param_00.movetracker)) - { - self.movetrackers--; - } - - self notify("trigger_leave",param_00); - if(isdefined(param_02)) - { - self thread [[ param_02 ]](param_00); - } - } - - if(!common_scripts\utility::issp() && level.gameended) - { - return; - } - - param_00.touchlist[var_03] = undefined; - param_00 notify("trigger_leave",self); - if(!anythingtouchingtrigger(param_00)) - { - param_00 notify("trigger_empty"); - } -} - -//Function Number: 62 -movementtracker() -{ - if(isdefined(level.disablemovementtracker)) - { - return; - } - - self endon("disconnect"); - if(!isplayer(self)) - { - self endon("death"); - } - - self.movetrackers = 0; - self.distmoved = 0; - for(;;) - { - self waittill("trigger_enter"); - var_00 = self.origin; - while(self.movetrackers) - { - self.distmoved = distance(var_00,self.origin); - var_00 = self.origin; - wait(0.05); - } - - self.distmoved = 0; - } -} - -//Function Number: 63 -anythingtouchingtrigger(param_00) -{ - return param_00.touchlist.size; -} - -//Function Number: 64 -playertouchingtrigger(param_00,param_01) -{ - return isdefined(param_00.touchtriggers[param_01.entnum]); -} - -//Function Number: 65 -interactive_tv() -{ - var_00 = getentarray("interactive_tv","targetname"); - if(var_00.size) - { - common_scripts\utility::noself_array_call(["com_tv2_d","com_tv1_d","com_tv1","com_tv2","com_tv1_testpattern","com_tv2_testpattern"],::precachemodel); - level.breakables_fx["tv_explode"] = loadfx("fx/explosions/tv_explosion"); - } - - level.tv_lite_array = getentarray("interactive_tv_light","targetname"); - common_scripts\utility::array_thread(getentarray("interactive_tv","targetname"),::tv_logic); -} - -//Function Number: 66 -tv_logic() -{ - self setcandamage(1); - self.damagemodel = undefined; - self.offmodel = undefined; - self.damagemodel = "com_tv2_d"; - self.offmodel = "com_tv2"; - self.onmodel = "com_tv2_testpattern"; - if(issubstr(self.model,"1")) - { - self.offmodel = "com_tv1"; - self.onmodel = "com_tv1_testpattern"; - } - - if(isdefined(self.target)) - { - if(isdefined(level.disable_interactive_tv_use_triggers)) - { - var_00 = getent(self.target,"targetname"); - if(isdefined(var_00)) - { - var_00 delete(); - } - } - else - { - self.usetrig = getent(self.target,"targetname"); - self.usetrig usetriggerrequirelookat(); - self.usetrig setcursorhint("HINT_NOICON"); - } - } - - var_01 = common_scripts\utility::get_array_of_closest(self.origin,level.tv_lite_array,undefined,undefined,64); - if(var_01.size) - { - self.lite = var_01[0]; - level.tv_lite_array = common_scripts\utility::array_remove(level.tv_lite_array,self.lite); - self.liteintensity = self.lite getlightintensity(); - } - - thread tv_damage(); - if(isdefined(self.usetrig)) - { - thread tv_off(); - } -} - -//Function Number: 67 -tv_off() -{ - self.usetrig endon("death"); - for(;;) - { - wait(0.2); - self.usetrig waittill("trigger"); - self notify("off"); - if(self.model == self.offmodel) - { - self setmodel(self.onmodel); - if(isdefined(self.lite)) - { - self.lite setlightintensity(self.liteintensity); - } - - continue; - } - - self setmodel(self.offmodel); - if(isdefined(self.lite)) - { - self.lite setlightintensity(0); - } - } -} - -//Function Number: 68 -tv_damage() -{ - self waittill("damage",var_00,var_01,var_02,var_03,var_04); - self notify("off"); - if(isdefined(self.usetrig)) - { - self.usetrig notify("death"); - } - - self setmodel(self.damagemodel); - if(isdefined(self.lite)) - { - self.lite setlightintensity(0); - } - - playfxontag(level.breakables_fx["tv_explode"],self,"tag_fx"); - self playsound("tv_shot_burst"); - if(isdefined(self.usetrig)) - { - self.usetrig delete(); - } -} - -//Function Number: 69 -sliding_door() -{ - if(!isdefined(self.open_time)) - { - self.open_time = 1; - } - - var_00 = getentarray(self.target,"script_linkname"); - var_01 = []; - foreach(var_03 in var_00) - { - if(var_03.classname == "script_origin") - { - var_01[var_01.size] = var_03; - continue; - } - - var_03 door_init(self.open_time); - } - - var_00 = common_scripts\utility::array_remove_array(var_00,var_01); - for(;;) - { - if(!isdefined(level.characters)) - { - wait(1); - continue; - } - - var_05 = vehicle_getarray(); - var_06 = common_scripts\utility::array_combine(level.characters,var_05); - var_07 = 0; - foreach(var_09 in var_06) - { - if(var_09 istouching(self)) - { - var_07++; - break; - } - } - - if(var_07 > 0) - { - open_all_doors(var_00); - } - else - { - var_0B = 1; - thread close_all_doors(var_00,var_0B); - } - - wait(0.05); - } -} - -//Function Number: 70 -door_init(param_00) -{ - self.start_position = self.origin; - self.sliding_door_state = "closed"; - var_01 = getent(self.target,"targetname"); - self.open_position = var_01.origin; - self.open_velocity = distance(self.open_position,self.origin) / param_00; -} - -//Function Number: 71 -open_all_doors(param_00) -{ - foreach(var_02 in param_00) - { - if(var_02.sliding_door_state == "open" || var_02.sliding_door_state == "opening") - { - continue; - } - - var_02 thread open_door(); - } -} - -//Function Number: 72 -open_door() -{ - self.sliding_door_state = "opening"; - var_00 = distance(self.origin,self.open_position) / self.open_velocity; - if(var_00 < 0.05) - { - var_00 = 0.05; - } - - self moveto(self.open_position,var_00); - self playsound("glass_door_open"); - wait(var_00); - self.sliding_door_state = "open"; -} - -//Function Number: 73 -close_all_doors(param_00,param_01) -{ - foreach(var_03 in param_00) - { - if(var_03.sliding_door_state == "closed" || var_03.sliding_door_state == "opening") - { - continue; - } - - var_03 moveto(var_03.start_position,param_01); - self playsound("glass_door_close"); - var_03.sliding_door_state = "closed"; - } -} \ No newline at end of file diff --git a/AW/PC/MP/common_scripts/_elevator.gsc b/AW/PC/MP/common_scripts/_elevator.gsc deleted file mode 100644 index 153a5d4..0000000 --- a/AW/PC/MP/common_scripts/_elevator.gsc +++ /dev/null @@ -1,1102 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: common_scripts/_elevator.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 55 - * Decompile Time: 826 ms - * Timestamp: 10/27/2023 1:47:20 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - if(getdvar("scr_elevator_disabled") == "1") - { - return; - } - - var_00 = getentarray("elevator_group","targetname"); - if(!isdefined(var_00)) - { - return; - } - - if(!var_00.size) - { - return; - } - - precachestring(&"ELEVATOR_CALL_HINT"); - precachestring(&"ELEVATOR_USE_HINT"); - precachestring(&"ELEVATOR_FLOOR_SELECT_HINT"); - precachemenu("elevator_floor_selector"); - thread elevator_update_global_dvars(); - level.elevators = []; - level.elevator_callbutton_link_v = elevator_get_dvar_int("scr_elevator_callbutton_link_v","96"); - level.elevator_callbutton_link_h = elevator_get_dvar_int("scr_elevator_callbutton_link_h","256"); - build_elevators(); - position_elevators(); - elevator_call(); - if(!level.elevators.size) - { - return; - } - - foreach(var_02 in level.elevators) - { - var_02 thread elevator_think(); - var_02 thread elevator_sound_think(); - } - - thread elevator_debug(); -} - -//Function Number: 2 -elevator_update_global_dvars() -{ - for(;;) - { - level.elevator_accel = elevator_get_dvar("scr_elevator_accel","0.2"); - level.elevator_decel = elevator_get_dvar("scr_elevator_decel","0.2"); - level.elevator_music = elevator_get_dvar_int("scr_elevator_music","1"); - level.elevator_speed = elevator_get_dvar_int("scr_elevator_speed","96"); - level.elevator_innerdoorspeed = elevator_get_dvar_int("scr_elevator_innerdoorspeed","14"); - level.elevator_outterdoorspeed = elevator_get_dvar_int("scr_elevator_outterdoorspeed","16"); - level.elevator_return = elevator_get_dvar_int("scr_elevator_return","0"); - level.elevator_waittime = elevator_get_dvar_int("scr_elevator_waittime","6"); - level.elevator_aggressive_call = elevator_get_dvar_int("scr_elevator_aggressive_call","0"); - level.elevator_debug = elevator_get_dvar_int("debug_elevator","0"); - if(common_scripts\utility::issp()) - { - level.elevator_motion_detection = elevator_get_dvar_int("scr_elevator_motion_detection","0"); - } - else - { - level.elevator_motion_detection = elevator_get_dvar_int("scr_elevator_motion_detection","1"); - } - - wait(1); - } -} - -//Function Number: 3 -elevator_think() -{ - elevator_fsm("[A]"); -} - -//Function Number: 4 -elevator_call() -{ - foreach(var_01 in level.elevator_callbuttons) - { - var_01 thread monitor_callbutton(); - } -} - -//Function Number: 5 -floor_override(param_00) -{ - self endon("elevator_moving"); - self.floor_override = 0; - self.overrider = undefined; - for(;;) - { - param_00 waittill("trigger",var_01); - self.floor_override = 1; - self.overrider = var_01; - break; - } - - self notify("floor_override"); -} - -//Function Number: 6 -elevator_fsm(param_00) -{ - self.estate = param_00; - var_01 = get_housing_door_trigger(); - var_02 = get_housing_inside_trigger(); - for(;;) - { - if(self.estate == "[A]") - { - if(level.elevator_return && get_curfloor() != get_initfloor()) - { - self.moveto_floor = get_initfloor(); - thread floor_override(var_02); - waittill_or_timeout("floor_override",level.elevator_waittime); - if(self.floor_override && isdefined(self.overrider) && isplayer(self.overrider)) - { - get_floor(self.overrider); - } - - self.estate = "[B]"; - continue; - } - - for(;;) - { - if(self.moveto_floor == get_curfloor()) - { - var_03 = var_02 discrete_waittill("trigger"); - } - else - { - var_03 = "elevator_called"; - } - - if(isstring(var_03) && var_03 == "elevator_called" && self.moveto_floor != get_curfloor()) - { - self.estate = "[B]"; - break; - } - - if(isdefined(var_03) && isplayer(var_03) && isalive(var_03)) - { - var_04 = var_03 istouching(var_02); - var_05 = isdefined(var_02.motion_trigger) && var_03 istouching(var_02.motion_trigger); - var_06 = var_04 || var_05; - if(var_06) - { - var_07 = var_03; - get_floor(var_07); - if(self.moveto_floor == get_curfloor()) - { - continue; - } - - self.estate = "[B]"; - break; - } - } - } - } - - if(self.estate == "[B]") - { - thread elevator_interrupt(var_01); - var_08 = get_curfloor(); - thread close_inner_doors(); - thread close_outer_doors(var_08); - common_scripts\utility::waittill_any("closed_inner_doors","interrupted"); - if(self.elevator_interrupted) - { - self.estate = "[C]"; - continue; - } - - self.estate = "[D]"; - continue; - } - - if(self.estate == "[C]") - { - var_08 = get_curfloor(); - thread open_inner_doors(); - thread open_outer_doors(var_08); - self waittill("opened_floor_" + var_08 + "_outer_doors"); - if(self.elevator_interrupted) - { - self.estate = "[B]"; - continue; - } - - self.estate = "[A]"; - continue; - } - - if(self.estate == "[D]") - { - if(self.moveto_floor != get_curfloor()) - { - thread elevator_move(self.moveto_floor); - self waittill("elevator_moved"); - } - - self.estate = "[C]"; - continue; - } - } -} - -//Function Number: 7 -monitor_callbutton() -{ - for(;;) - { - var_00 = discrete_waittill("trigger"); - var_01 = undefined; - var_02 = []; - foreach(var_05, var_04 in self.e) - { - var_01 = var_05; - var_02 = var_04; - } - - var_06 = 0; - foreach(var_08 in var_02) - { - var_09 = var_08 elevator_floor_update(); - if(!level.elevator_aggressive_call && !var_09) - { - if(var_08 get_curfloor() == var_01) - { - var_06 = 1; - var_02 = []; - break; - } - } - } - - foreach(var_08 in var_02) - { - if(var_08.estate == "[A]") - { - var_08 call_elevator(var_01); - var_06 = 1; - if(!level.elevator_aggressive_call) - { - break; - } - } - } - - if(var_06) - { - self playsound("elev_bell_ding"); - } - } -} - -//Function Number: 8 -call_elevator(param_00) -{ - self.moveto_floor = param_00; - var_01 = get_housing_inside_trigger(); - var_01 notify("trigger","elevator_called"); - if(level.elevator_motion_detection) - { - var_01.motion_trigger notify("trigger","elevator_called"); - } -} - -//Function Number: 9 -get_floor(param_00) -{ - var_01 = get_outer_doorsets(); - if(var_01.size == 2) - { - var_02 = get_curfloor(); - self.moveto_floor = !var_02; - return; - } - - var_01 openpopupmenu("elevator_floor_selector"); - var_01 setclientdvar("player_current_floor",get_curfloor()); - for(;;) - { - var_01 waittill("menuresponse",var_03,var_04); - if(var_03 == "elevator_floor_selector") - { - if(var_04 != "none") - { - self.moveto_floor = int(var_04); - } - - break; - } - } -} - -//Function Number: 10 -elevator_interrupt(param_00) -{ - self notify("interrupt_watch"); - level notify("elevator_interior_button_pressed"); - self endon("interrupt_watch"); - self endon("elevator_moving"); - self.elevator_interrupted = 0; - wait(0.5); - param_00 waittill("trigger",var_01); - self notify("interrupted"); - self.elevator_interrupted = 1; -} - -//Function Number: 11 -elevator_floor_update() -{ - var_00 = get_housing_mainframe(); - var_01 = var_00.origin; - var_02 = 1; - foreach(var_06, var_04 in get_outer_doorsets()) - { - var_05 = self.e["floor" + var_06 + "_pos"]; - if(var_01 == var_05) - { - self.e["current_floor"] = var_06; - var_02 = 0; - } - } - - return var_02; -} - -//Function Number: 12 -elevator_sound_think() -{ - var_00 = get_housing_musak_model(); - if(level.elevator_music && isdefined(var_00)) - { - var_00 playloopsound("elev_musak_loop"); - } - - thread listen_for("closing_inner_doors"); - thread listen_for("opening_inner_doors"); - thread listen_for("closed_inner_doors"); - thread listen_for("opened_inner_doors"); - foreach(var_03, var_02 in get_outer_doorsets()) - { - thread listen_for("closing_floor_" + var_03 + "_outer_doors"); - thread listen_for("opening_floor_" + var_03 + "_outer_doors"); - thread listen_for("closed_floor_" + var_03 + "_outer_doors"); - thread listen_for("opened_floor_" + var_03 + "_outer_doors"); - } - - thread listen_for("interrupted"); - thread listen_for("elevator_moving"); - thread listen_for("elevator_moved"); -} - -//Function Number: 13 -listen_for(param_00) -{ - for(;;) - { - self waittill(param_00); - var_01 = get_housing_mainframe(); - if(issubstr(param_00,"closing_")) - { - var_01 playsound("elev_door_close"); - } - - if(issubstr(param_00,"opening_")) - { - var_01 playsound("elev_door_open"); - } - - if(param_00 == "elevator_moving") - { - var_01 playsound("elev_run_start"); - var_01 playloopsound("elev_run_loop"); - } - - if(param_00 == "interrupted") - { - var_01 playsound("elev_door_interupt"); - } - - if(param_00 == "elevator_moved") - { - var_01 stoploopsound("elev_run_loop"); - var_01 playsound("elev_run_end"); - var_01 playsound("elev_bell_ding"); - } - } -} - -//Function Number: 14 -position_elevators() -{ - foreach(var_01 in level.elevators) - { - var_01.moveto_floor = var_01 get_curfloor(); - foreach(var_04, var_03 in var_01 get_outer_doorsets()) - { - if(var_01 get_curfloor() != var_04) - { - var_01 thread close_outer_doors(var_04); - } - } - } -} - -//Function Number: 15 -elevator_move(param_00) -{ - self notify("elevator_moving"); - self endon("elevator_moving"); - var_01 = get_housing_mainframe(); - var_02 = self.e["floor" + param_00 + "_pos"] - var_01.origin; - var_03 = level.elevator_speed; - var_04 = abs(distance(self.e["floor" + param_00 + "_pos"],var_01.origin)); - var_05 = var_04 / var_03; - var_01 moveto(var_01.origin + var_02,var_05,var_05 * level.elevator_accel,var_05 * level.elevator_decel); - foreach(var_07 in get_housing_children()) - { - var_08 = var_07.origin + var_02; - if(!issubstr(var_07.classname,"trigger_")) - { - var_07 moveto(var_08,var_05,var_05 * level.elevator_accel,var_05 * level.elevator_decel); - continue; - } - - var_07.origin = var_08; - } - - waittill_finish_moving(var_01,self.e["floor" + param_00 + "_pos"]); - self notify("elevator_moved"); -} - -//Function Number: 16 -close_inner_doors() -{ - self notify("closing_inner_doors"); - self endon("closing_inner_doors"); - self endon("opening_inner_doors"); - var_00 = get_housing_leftdoor(); - var_01 = get_housing_rightdoor(); - var_02 = get_housing_mainframe(); - var_03 = get_housing_closedpos(); - var_04 = (var_03[0],var_03[1],var_02.origin[2]); - var_05 = level.elevator_innerdoorspeed; - var_06 = abs(distance(var_00.origin,var_04)); - var_07 = var_06 / var_05; - var_00 moveto(var_04,var_07,var_07 * 0.1,var_07 * 0.25); - var_01 moveto(var_04,var_07,var_07 * 0.1,var_07 * 0.25); - waittill_finish_moving(var_00,var_04,var_01,var_04); - self notify("closed_inner_doors"); -} - -//Function Number: 17 -open_inner_doors() -{ - self notify("opening_inner_doors"); - self endon("opening_inner_doors"); - var_00 = get_housing_leftdoor(); - var_01 = get_housing_rightdoor(); - var_02 = get_housing_mainframe(); - var_03 = get_housing_leftdoor_opened_pos(); - var_04 = get_housing_rightdoor_opened_pos(); - var_05 = (var_03[0],var_03[1],var_02.origin[2]); - var_06 = (var_04[0],var_04[1],var_02.origin[2]); - var_07 = level.elevator_innerdoorspeed; - var_08 = abs(distance(var_05,var_06) * 0.5); - var_09 = var_08 / var_07 * 0.5; - var_00 moveto(var_05,var_09,var_09 * 0.1,var_09 * 0.25); - var_01 moveto(var_06,var_09,var_09 * 0.1,var_09 * 0.25); - waittill_finish_moving(var_00,var_05,var_01,var_06); - self notify("opened_inner_doors"); -} - -//Function Number: 18 -close_outer_doors(param_00) -{ - self notify("closing_floor_" + param_00 + "_outer_doors"); - self endon("closing_floor_" + param_00 + "_outer_doors"); - self endon("opening_floor_" + param_00 + "_outer_doors"); - var_01 = get_outer_leftdoor(param_00); - var_02 = get_outer_rightdoor(param_00); - var_03 = get_outer_leftdoor_openedpos(param_00); - var_04 = get_outer_closedpos(param_00); - var_05 = level.elevator_outterdoorspeed; - var_06 = abs(distance(var_03,var_04)); - var_07 = var_06 / var_05; - var_01 moveto(var_04,var_07,var_07 * 0.1,var_07 * 0.25); - var_02 moveto(var_04,var_07,var_07 * 0.1,var_07 * 0.25); - waittill_finish_moving(var_01,var_04,var_02,var_04); - self notify("closed_floor_" + param_00 + "_outer_doors"); -} - -//Function Number: 19 -open_outer_doors(param_00) -{ - level notify("elevator_doors_opening"); - self notify("opening_floor_" + param_00 + "_outer_doors"); - self endon("opening_floor_" + param_00 + "_outer_doors"); - var_01 = get_outer_leftdoor(param_00); - var_02 = get_outer_rightdoor(param_00); - var_03 = get_outer_leftdoor_openedpos(param_00); - var_04 = get_outer_rightdoor_openedpos(param_00); - var_05 = get_outer_closedpos(param_00); - var_06 = level.elevator_outterdoorspeed; - var_07 = abs(distance(var_03,var_05)); - var_08 = var_07 / var_06 * 0.5; - var_01 moveto(var_03,var_08,var_08 * 0.1,var_08 * 0.25); - var_02 moveto(var_04,var_08,var_08 * 0.1,var_08 * 0.25); - waittill_finish_moving(var_01,var_03,var_02,var_04); - self notify("opened_floor_" + param_00 + "_outer_doors"); -} - -//Function Number: 20 -build_elevators() -{ - var_00 = getentarray("elevator_group","targetname"); - var_01 = getentarray("elevator_housing","targetname"); - var_02 = getentarray("elevator_doorset","targetname"); - foreach(var_04 in var_00) - { - var_05 = getent(var_04.target,"targetname"); - var_06 = []; - var_06[0] = min(var_04.origin[0],var_05.origin[0]); - var_06[1] = max(var_04.origin[0],var_05.origin[0]); - var_06[2] = min(var_04.origin[1],var_05.origin[1]); - var_06[3] = max(var_04.origin[1],var_05.origin[1]); - var_07 = spawnstruct(); - var_07.e["id"] = level.elevators.size; - var_07.e["housing"] = []; - var_07.e["housing"]["mainframe"] = []; - foreach(var_09 in var_01) - { - if(var_09 isinbound(var_06)) - { - var_07.e["housing"]["mainframe"][var_07.e["housing"]["mainframe"].size] = var_09; - if(var_09.classname == "script_model") - { - continue; - } - - if(var_09.code_classname == "light") - { - continue; - } - - var_0A = getent(var_09.target,"targetname"); - var_07.e["housing"]["left_door"] = var_0A; - var_07.e["housing"]["left_door_opened_pos"] = var_0A.origin; - var_0B = getent(var_0A.target,"targetname"); - var_07.e["housing"]["right_door"] = var_0B; - var_07.e["housing"]["right_door_opened_pos"] = var_0B.origin; - var_0C = var_0A.origin - var_0B.origin * (0.5,0.5,0.5) + var_0B.origin; - var_07.e["housing"]["door_closed_pos"] = var_0C; - var_0D = getent(var_0B.target,"targetname"); - var_07.e["housing"]["door_trigger"] = var_0D; - var_0E = getent(var_0D.target,"targetname"); - var_07.e["housing"]["inside_trigger"] = var_0E; - var_0E make_discrete_trigger(); - var_0E.motion_trigger = spawn("trigger_radius",var_09.origin,0,64,128); - } - } - - var_07.e["outer_doorset"] = []; - foreach(var_11 in var_02) - { - if(var_11 isinbound(var_06)) - { - var_12 = isdefined(var_11.script_noteworthy) && var_11.script_noteworthy == "closed_for_lighting"; - var_13 = var_07.e["outer_doorset"].size; - var_07.e["outer_doorset"][var_13] = []; - var_07.e["outer_doorset"][var_13]["door_closed_pos"] = var_11.origin; - var_14 = getent(var_11.target,"targetname"); - var_07.e["outer_doorset"][var_13]["left_door"] = var_14; - var_07.e["outer_doorset"][var_13]["left_door_opened_pos"] = var_14.origin; - var_15 = getent(var_14.target,"targetname"); - var_07.e["outer_doorset"][var_13]["right_door"] = var_15; - var_07.e["outer_doorset"][var_13]["right_door_opened_pos"] = var_15.origin; - if(var_12) - { - var_16 = var_11.origin - var_14.origin; - var_11.origin = var_14.origin; - var_14.origin = var_14.origin + var_16; - var_15.origin = var_15.origin - var_16; - var_07.e["outer_doorset"][var_13]["door_closed_pos"] = var_11.origin; - var_07.e["outer_doorset"][var_13]["left_door_opened_pos"] = var_14.origin; - var_07.e["outer_doorset"][var_13]["right_door_opened_pos"] = var_15.origin; - } - } - } - - for(var_18 = 0;var_18 < var_07.e["outer_doorset"].size - 1;var_18++) - { - for(var_19 = 0;var_19 < var_07.e["outer_doorset"].size - 1 - var_18;var_19++) - { - if(var_07.e["outer_doorset"][var_19 + 1]["door_closed_pos"][2] < var_07.e["outer_doorset"][var_19]["door_closed_pos"][2]) - { - var_1A = var_07.e["outer_doorset"][var_19]["left_door"]; - var_1B = var_07.e["outer_doorset"][var_19]["left_door_opened_pos"]; - var_1C = var_07.e["outer_doorset"][var_19]["right_door"]; - var_1D = var_07.e["outer_doorset"][var_19]["right_door_opened_pos"]; - var_1E = var_07.e["outer_doorset"][var_19]["door_closed_pos"]; - var_07.e["outer_doorset"][var_19]["left_door"] = var_07.e["outer_doorset"][var_19 + 1]["left_door"]; - var_07.e["outer_doorset"][var_19]["left_door_opened_pos"] = var_07.e["outer_doorset"][var_19 + 1]["left_door_opened_pos"]; - var_07.e["outer_doorset"][var_19]["right_door"] = var_07.e["outer_doorset"][var_19 + 1]["right_door"]; - var_07.e["outer_doorset"][var_19]["right_door_opened_pos"] = var_07.e["outer_doorset"][var_19 + 1]["right_door_opened_pos"]; - var_07.e["outer_doorset"][var_19]["door_closed_pos"] = var_07.e["outer_doorset"][var_19 + 1]["door_closed_pos"]; - var_07.e["outer_doorset"][var_19 + 1]["left_door"] = var_1A; - var_07.e["outer_doorset"][var_19 + 1]["left_door_opened_pos"] = var_1B; - var_07.e["outer_doorset"][var_19 + 1]["right_door"] = var_1C; - var_07.e["outer_doorset"][var_19 + 1]["right_door_opened_pos"] = var_1D; - var_07.e["outer_doorset"][var_19 + 1]["door_closed_pos"] = var_1E; - } - } - } - - var_1F = []; - foreach(var_18, var_21 in var_07.e["outer_doorset"]) - { - var_22 = var_07 get_housing_mainframe(); - var_1F = (var_22.origin[0],var_22.origin[1],var_21["door_closed_pos"][2]); - var_07.e["floor" + var_18 + "_pos"] = var_1F; - if(var_22.origin == var_1F) - { - var_07.e["initial_floor"] = var_18; - var_07.e["current_floor"] = var_18; - } - } - - level.elevators[level.elevators.size] = var_07; - var_04 delete(); - var_05 delete(); - } - - foreach(var_11 in var_02) - { - var_11 delete(); - } - - build_call_buttons(); - if(!level.elevator_motion_detection) - { - setup_hints(); - } - - foreach(var_27 in level.elevators) - { - var_28 = var_27 get_housing_primarylight(); - if(isdefined(var_28) && var_28.size) - { - foreach(var_2A in var_28) - { - var_2A setlightintensity(0.75); - } - } - } -} - -//Function Number: 21 -build_call_buttons() -{ - level.elevator_callbuttons = getentarray("elevator_call","targetname"); - foreach(var_01 in level.elevator_callbuttons) - { - var_01.e = []; - var_02 = (0,0,var_01.origin[2]); - var_03 = (var_01.origin[0],var_01.origin[1],0); - var_04 = []; - foreach(var_06 in level.elevators) - { - foreach(var_0B, var_08 in var_06 get_outer_doorsets()) - { - var_09 = (0,0,var_06.e["floor" + var_0B + "_pos"][2]); - var_0A = (var_06.e["floor" + var_0B + "_pos"][0],var_06.e["floor" + var_0B + "_pos"][1],0); - if(abs(distance(var_02,var_09)) <= level.elevator_callbutton_link_v) - { - if(abs(distance(var_03,var_0A)) <= level.elevator_callbutton_link_h) - { - var_04[var_04.size] = var_06; - var_01.e[var_0B] = var_04; - } - } - } - } - - var_01 make_discrete_trigger(); - var_01.motion_trigger = spawn("trigger_radius",var_01.origin + (0,0,-32),0,32,64); - } -} - -//Function Number: 22 -setup_hints() -{ - foreach(var_01 in level.elevators) - { - var_02 = var_01 get_housing_inside_trigger(); - var_03 = var_01 get_outer_doorsets(); - var_04 = var_03.size; - var_02 setcursorhint("HINT_NOICON"); - if(var_04 > 2) - { - var_02 sethintstring(&"ELEVATOR_FLOOR_SELECT_HINT"); - continue; - } - - var_02 sethintstring(&"ELEVATOR_USE_HINT"); - } - - foreach(var_07 in level.elevator_callbuttons) - { - var_07 setcursorhint("HINT_NOICON"); - var_07 sethintstring(&"ELEVATOR_CALL_HINT"); - } -} - -//Function Number: 23 -make_discrete_trigger() -{ - self.enabled = 1; - disable_trigger(); -} - -//Function Number: 24 -discrete_waittill(param_00) -{ - enable_trigger(); - if(level.elevator_motion_detection) - { - self.motion_trigger waittill(param_00,var_01); - } - else - { - self waittill(var_01,var_01); - } - - disable_trigger(); - return var_01; -} - -//Function Number: 25 -enable_trigger() -{ - if(!self.enabled) - { - self.enabled = 1; - self.origin = self.origin + (0,0,10000); - if(isdefined(self.motion_trigger)) - { - self.motion_trigger.origin = self.motion_trigger.origin + (0,0,10000); - } - } -} - -//Function Number: 26 -disable_trigger() -{ - self notify("disable_trigger"); - if(self.enabled) - { - thread disable_trigger_helper(); - } -} - -//Function Number: 27 -disable_trigger_helper() -{ - self endon("disable_trigger"); - self.enabled = 0; - wait(1.5); - self.origin = self.origin + (0,0,-10000); - if(isdefined(self.motion_trigger)) - { - self.motion_trigger.origin = self.motion_trigger.origin + (0,0,-10000); - } -} - -//Function Number: 28 -get_outer_doorset(param_00) -{ - return self.e["outer_doorset"][param_00]; -} - -//Function Number: 29 -get_outer_doorsets() -{ - return self.e["outer_doorset"]; -} - -//Function Number: 30 -get_outer_closedpos(param_00) -{ - return self.e["outer_doorset"][param_00]["door_closed_pos"]; -} - -//Function Number: 31 -get_outer_leftdoor(param_00) -{ - return self.e["outer_doorset"][param_00]["left_door"]; -} - -//Function Number: 32 -get_outer_rightdoor(param_00) -{ - return self.e["outer_doorset"][param_00]["right_door"]; -} - -//Function Number: 33 -get_outer_leftdoor_openedpos(param_00) -{ - return self.e["outer_doorset"][param_00]["left_door_opened_pos"]; -} - -//Function Number: 34 -get_outer_rightdoor_openedpos(param_00) -{ - return self.e["outer_doorset"][param_00]["right_door_opened_pos"]; -} - -//Function Number: 35 -get_housing_children() -{ - var_00 = []; - var_01 = get_housing_door_trigger(); - var_02 = get_housing_inside_trigger(); - var_03 = var_02.motion_trigger; - var_04 = get_housing_leftdoor(); - var_05 = get_housing_rightdoor(); - var_00[var_00.size] = var_01; - var_00[var_00.size] = var_02; - var_00[var_00.size] = var_04; - var_00[var_00.size] = var_05; - if(isdefined(var_03)) - { - var_00[var_00.size] = var_03; - } - - var_06 = get_housing_models(); - foreach(var_08 in var_06) - { - var_00[var_00.size] = var_08; - } - - var_0A = get_housing_primarylight(); - foreach(var_0C in var_0A) - { - var_00[var_00.size] = var_0C; - } - - return var_00; -} - -//Function Number: 36 -get_housing_mainframe() -{ - var_00 = self.e["housing"]["mainframe"]; - var_01 = undefined; - foreach(var_03 in var_00) - { - if(var_03.classname != "script_model" && var_03.code_classname != "light") - { - var_01 = var_03; - } - } - - return var_01; -} - -//Function Number: 37 -get_housing_models() -{ - var_00 = self.e["housing"]["mainframe"]; - var_01 = []; - foreach(var_03 in var_00) - { - if(var_03.classname == "script_model") - { - var_01[var_01.size] = var_03; - } - } - - return var_01; -} - -//Function Number: 38 -get_housing_primarylight() -{ - var_00 = self.e["housing"]["mainframe"]; - var_01 = []; - foreach(var_03 in var_00) - { - if(var_03.code_classname == "light") - { - var_01[var_01.size] = var_03; - } - } - - return var_01; -} - -//Function Number: 39 -get_housing_musak_model() -{ - var_00 = get_housing_models(); - var_01 = undefined; - foreach(var_03 in var_00) - { - if(isdefined(var_03.script_noteworthy) && var_03.script_noteworthy == "play_musak") - { - var_01 = var_03; - } - } - - return var_01; -} - -//Function Number: 40 -get_housing_door_trigger() -{ - return self.e["housing"]["door_trigger"]; -} - -//Function Number: 41 -get_housing_inside_trigger() -{ - return self.e["housing"]["inside_trigger"]; -} - -//Function Number: 42 -get_housing_closedpos() -{ - return self.e["housing"]["door_closed_pos"]; -} - -//Function Number: 43 -get_housing_leftdoor() -{ - return self.e["housing"]["left_door"]; -} - -//Function Number: 44 -get_housing_rightdoor() -{ - return self.e["housing"]["right_door"]; -} - -//Function Number: 45 -get_housing_leftdoor_opened_pos() -{ - return self.e["housing"]["left_door_opened_pos"]; -} - -//Function Number: 46 -get_housing_rightdoor_opened_pos() -{ - return self.e["housing"]["right_door_opened_pos"]; -} - -//Function Number: 47 -get_curfloor() -{ - var_00 = elevator_floor_update(); - return self.e["current_floor"]; -} - -//Function Number: 48 -get_initfloor() -{ - return self.e["initial_floor"]; -} - -//Function Number: 49 -waittill_finish_moving(param_00,param_01,param_02,param_03) -{ - if(!isdefined(param_02) && !isdefined(param_03)) - { - param_02 = param_00; - param_03 = param_01; - } - - for(;;) - { - var_04 = param_00.origin; - var_05 = param_02.origin; - if(var_04 == param_01 && var_05 == param_03) - { - break; - } - - wait(0.05); - } -} - -//Function Number: 50 -isinbound(param_00) -{ - var_01 = self.origin[0]; - var_02 = self.origin[1]; - var_03 = param_00[0]; - var_04 = param_00[1]; - var_05 = param_00[2]; - var_06 = param_00[3]; - return var_01 >= var_03 && var_01 <= var_04 && var_02 >= var_05 && var_02 <= var_06; -} - -//Function Number: 51 -isinboundingspere(param_00) -{ - var_01 = self.origin[0]; - var_02 = self.origin[1]; - var_03 = param_00[0]; - var_04 = param_00[1]; - var_05 = param_00[2]; - var_06 = param_00[3]; - var_07 = var_03 + var_04 / 2; - var_08 = var_05 + var_06 / 2; - var_09 = abs(distance((var_03,var_05,0),(var_07,var_08,0))); - return abs(distance((var_01,var_02,0),(var_07,var_08,0))) < var_09; -} - -//Function Number: 52 -waittill_or_timeout(param_00,param_01) -{ - self endon(param_00); - wait(param_01); -} - -//Function Number: 53 -elevator_get_dvar_int(param_00,param_01) -{ - return int(elevator_get_dvar(param_00,param_01)); -} - -//Function Number: 54 -elevator_get_dvar(param_00,param_01) -{ - if(getdvar(param_00) != "") - { - return getdvarfloat(param_00); - } - - setdvar(param_00,param_01); - return param_01; -} - -//Function Number: 55 -elevator_debug() -{ - if(!level.elevator_debug) - { - return; - } - - for(;;) - { - if(level.elevator_debug != 2) - { - continue; - } - - foreach(var_01 in level.elevators) - { - var_02 = var_01 get_housing_mainframe(); - var_03 = var_01 get_housing_musak_model(); - foreach(var_05 in var_01.e["outer_doorset"]) - { - } - } - - foreach(var_09 in level.elevator_callbuttons) - { - foreach(var_05 in var_09.e) - { - var_0B = 0; - foreach(var_0D in var_05) - { - var_0B++; - var_0E = var_09.origin + (0,0,var_0B * -4); - } - } - } - - wait(0.05); - } -} \ No newline at end of file diff --git a/AW/PC/MP/common_scripts/_exploder.gsc b/AW/PC/MP/common_scripts/_exploder.gsc deleted file mode 100644 index 6d857df..0000000 --- a/AW/PC/MP/common_scripts/_exploder.gsc +++ /dev/null @@ -1,1313 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: common_scripts/_exploder.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 37 - * Decompile Time: 573 ms - * Timestamp: 10/27/2023 1:47:22 AM -*******************************************************************/ - -//Function Number: 1 -getexploders(param_00) -{ - param_00 = param_00 + ""; - if(isdefined(level.createfxexploders)) - { - return level.createfxexploders[param_00]; - } - - var_01 = []; - foreach(var_03 in level.createfxent) - { - if(!isdefined(var_03)) - { - continue; - } - - if(var_03.v["type"] != "exploder") - { - continue; - } - - if(!isdefined(var_03.v["exploder"])) - { - continue; - } - - if(var_03.v["exploder"] == param_00) - { - var_01[var_01.size] = var_03; - } - } - - return var_01; -} - -//Function Number: 2 -setup_individual_exploder(param_00) -{ - var_01 = param_00.script_exploder; - if(!isdefined(level.exploders[var_01])) - { - level.exploders[var_01] = []; - } - - var_02 = param_00.targetname; - if(!isdefined(var_02)) - { - var_02 = ""; - } - - level.exploders[var_01][level.exploders[var_01].size] = param_00; - if(exploder_model_starts_hidden(param_00)) - { - param_00 hide(); - return; - } - - if(exploder_model_is_damaged_model(param_00)) - { - param_00 hide(); - param_00 notsolid(); - if(isdefined(param_00.spawnflags) && param_00.spawnflags & 1) - { - if(isdefined(param_00.script_disconnectpaths)) - { - param_00 connectpaths(); - } - } - - return; - } - - if(exploder_model_is_chunk(param_00)) - { - param_00 hide(); - param_00 notsolid(); - if(isdefined(param_00.spawnflags) && param_00.spawnflags & 1) - { - param_00 connectpaths(); - } - } -} - -//Function Number: 3 -setupexploders() -{ - level.exploders = []; - var_00 = getentarray("script_brushmodel","classname"); - var_01 = getentarray("script_model","classname"); - for(var_02 = 0;var_02 < var_01.size;var_02++) - { - var_00[var_00.size] = var_01[var_02]; - } - - foreach(var_04 in var_00) - { - if(isdefined(var_04.script_prefab_exploder)) - { - var_04.script_exploder = var_04.script_prefab_exploder; - } - - if(isdefined(var_04.masked_exploder)) - { - continue; - } - - if(isdefined(var_04.script_exploder)) - { - setup_individual_exploder(var_04); - } - } - - var_06 = []; - var_07 = getentarray("script_brushmodel","classname"); - for(var_02 = 0;var_02 < var_07.size;var_02++) - { - if(isdefined(var_07[var_02].script_prefab_exploder)) - { - var_07[var_02].script_exploder = var_07[var_02].script_prefab_exploder; - } - - if(isdefined(var_07[var_02].script_exploder)) - { - var_06[var_06.size] = var_07[var_02]; - } - } - - var_07 = getentarray("script_model","classname"); - for(var_02 = 0;var_02 < var_07.size;var_02++) - { - if(isdefined(var_07[var_02].script_prefab_exploder)) - { - var_07[var_02].script_exploder = var_07[var_02].script_prefab_exploder; - } - - if(isdefined(var_07[var_02].script_exploder)) - { - var_06[var_06.size] = var_07[var_02]; - } - } - - var_07 = getentarray("script_origin","classname"); - for(var_02 = 0;var_02 < var_07.size;var_02++) - { - if(isdefined(var_07[var_02].script_prefab_exploder)) - { - var_07[var_02].script_exploder = var_07[var_02].script_prefab_exploder; - } - - if(isdefined(var_07[var_02].script_exploder)) - { - var_06[var_06.size] = var_07[var_02]; - } - } - - var_07 = getentarray("item_health","classname"); - for(var_02 = 0;var_02 < var_07.size;var_02++) - { - if(isdefined(var_07[var_02].script_prefab_exploder)) - { - var_07[var_02].script_exploder = var_07[var_02].script_prefab_exploder; - } - - if(isdefined(var_07[var_02].script_exploder)) - { - var_06[var_06.size] = var_07[var_02]; - } - } - - var_07 = level.struct; - for(var_02 = 0;var_02 < var_07.size;var_02++) - { - if(!isdefined(var_07[var_02])) - { - continue; - } - - if(isdefined(var_07[var_02].script_prefab_exploder)) - { - var_07[var_02].script_exploder = var_07[var_02].script_prefab_exploder; - } - - if(isdefined(var_07[var_02].script_exploder)) - { - if(!isdefined(var_07[var_02].angles)) - { - var_07[var_02].angles = (0,0,0); - } - - var_06[var_06.size] = var_07[var_02]; - } - } - - if(!isdefined(level.createfxent)) - { - level.createfxent = []; - } - - var_08 = []; - var_08["exploderchunk visible"] = 1; - var_08["exploderchunk"] = 1; - var_08["exploder"] = 1; - thread setup_flag_exploders(); - for(var_02 = 0;var_02 < var_06.size;var_02++) - { - var_09 = var_06[var_02]; - var_04 = common_scripts\utility::createexploder(var_09.script_fxid); - var_04.v = []; - var_04.v["origin"] = var_09.origin; - var_04.v["angles"] = var_09.angles; - var_04.v["delay"] = var_09.script_delay; - var_04.v["delay_post"] = var_09.script_delay_post; - var_04.v["firefx"] = var_09.script_firefx; - var_04.v["firefxdelay"] = var_09.script_firefxdelay; - var_04.v["firefxsound"] = var_09.script_firefxsound; - var_04.v["firefxtimeout"] = var_09.script_firefxtimeout; - var_04.v["earthquake"] = var_09.script_earthquake; - var_04.v["rumble"] = var_09.script_rumble; - var_04.v["damage"] = var_09.script_damage; - var_04.v["damage_radius"] = var_09.script_radius; - var_04.v["soundalias"] = var_09.script_soundalias; - var_04.v["repeat"] = var_09.script_repeat; - var_04.v["delay_min"] = var_09.script_delay_min; - var_04.v["delay_max"] = var_09.script_delay_max; - var_04.v["target"] = var_09.target; - var_04.v["ender"] = var_09.script_ender; - var_04.v["physics"] = var_09.script_physics; - var_04.v["type"] = "exploder"; - if(!isdefined(var_09.script_fxid)) - { - var_04.v["fxid"] = "No FX"; - } - else - { - var_04.v["fxid"] = var_09.script_fxid; - } - - var_04.v["exploder"] = var_09.script_exploder; - if(isdefined(level.createfxexploders)) - { - var_0A = level.createfxexploders[var_04.v["exploder"]]; - if(!isdefined(var_0A)) - { - var_0A = []; - } - - var_0A[var_0A.size] = var_04; - level.createfxexploders[var_04.v["exploder"]] = var_0A; - } - - if(!isdefined(var_04.v["delay"])) - { - var_04.v["delay"] = 0; - } - - if(isdefined(var_09.target)) - { - var_0B = getentarray(var_04.v["target"],"targetname")[0]; - if(isdefined(var_0B)) - { - var_0C = var_0B.origin; - var_04.v["angles"] = vectortoangles(var_0C - var_04.v["origin"]); - } - else - { - var_0B = common_scripts\utility::get_target_ent(var_04.v["target"]); - if(isdefined(var_0B)) - { - var_0C = var_0B.origin; - var_04.v["angles"] = vectortoangles(var_0C - var_04.v["origin"]); - } - } - } - - if(!isdefined(var_09.code_classname)) - { - var_04.model = var_09; - if(isdefined(var_04.model.script_modelname)) - { - precachemodel(var_04.model.script_modelname); - } - } - else if(var_09.code_classname == "script_brushmodel" || isdefined(var_09.model)) - { - var_04.model = var_09; - var_04.model.disconnect_paths = var_09.script_disconnectpaths; - } - - if(isdefined(var_09.targetname) && isdefined(var_08[var_09.targetname])) - { - var_04.v["exploder_type"] = var_09.targetname; - } - else - { - var_04.v["exploder_type"] = "normal"; - } - - if(isdefined(var_09.masked_exploder)) - { - var_04.v["masked_exploder"] = var_09.model; - var_04.v["masked_exploder_spawnflags"] = var_09.spawnflags; - var_04.v["masked_exploder_script_disconnectpaths"] = var_09.script_disconnectpaths; - var_09 delete(); - } - - var_04 common_scripts\_createfx::post_entity_creation_function(); - } -} - -//Function Number: 4 -setup_flag_exploders() -{ - waittillframeend; - waittillframeend; - waittillframeend; - var_00 = []; - foreach(var_02 in level.createfxent) - { - if(var_02.v["type"] != "exploder") - { - continue; - } - - var_03 = var_02.v["flag"]; - if(!isdefined(var_03)) - { - continue; - } - - if(var_03 == "nil") - { - var_02.v["flag"] = undefined; - } - - var_00[var_03] = 1; - } - - foreach(var_07, var_06 in var_00) - { - thread exploder_flag_wait(var_07); - } -} - -//Function Number: 5 -exploder_flag_wait(param_00) -{ - if(!common_scripts\utility::flag_exist(param_00)) - { - common_scripts\utility::flag_init(param_00); - } - - common_scripts\utility::flag_wait(param_00); - foreach(var_02 in level.createfxent) - { - if(var_02.v["type"] != "exploder") - { - continue; - } - - var_03 = var_02.v["flag"]; - if(!isdefined(var_03)) - { - continue; - } - - if(var_03 != param_00) - { - continue; - } - - var_02 common_scripts\utility::activate_individual_exploder(); - } -} - -//Function Number: 6 -exploder_model_is_damaged_model(param_00) -{ - return isdefined(param_00.targetname) && param_00.targetname == "exploder"; -} - -//Function Number: 7 -exploder_model_starts_hidden(param_00) -{ - return param_00.model == "fx" && !isdefined(param_00.targetname) || param_00.targetname != "exploderchunk"; -} - -//Function Number: 8 -exploder_model_is_chunk(param_00) -{ - return isdefined(param_00.targetname) && param_00.targetname == "exploderchunk"; -} - -//Function Number: 9 -show_exploder_models_proc(param_00) -{ - param_00 = param_00 + ""; - if(isdefined(level.createfxexploders)) - { - var_01 = level.createfxexploders[param_00]; - if(isdefined(var_01)) - { - foreach(var_03 in var_01) - { - if(!exploder_model_starts_hidden(var_03.model) && !exploder_model_is_damaged_model(var_03.model) && !exploder_model_is_chunk(var_03.model)) - { - var_03.model show(); - } - - if(isdefined(var_03.brush_shown)) - { - var_03.model show(); - } - } - - return; - } - - return; - } - - var_05 = 0; - while(var_03 < level.createfxent.size) - { - var_05 = level.createfxent[var_03]; - if(!isdefined(var_05)) - { - continue; - } - - if(var_05.v["type"] != "exploder") - { - continue; - } - - if(!isdefined(var_05.v["exploder"])) - { - continue; - } - - if(var_05.v["exploder"] + "" != var_02) - { - continue; - } - - if(isdefined(var_05.model)) - { - if(!exploder_model_starts_hidden(var_05.model) && !exploder_model_is_damaged_model(var_05.model) && !exploder_model_is_chunk(var_05.model)) - { - var_05.model show(); - } - - if(isdefined(var_05.brush_shown)) - { - var_05.model show(); - } - } - - var_03++; - } -} - -//Function Number: 10 -stop_exploder_proc(param_00) -{ - param_00 = param_00 + ""; - if(isdefined(level.createfxexploders)) - { - var_01 = level.createfxexploders[param_00]; - if(isdefined(var_01)) - { - foreach(var_03 in var_01) - { - if(!isdefined(var_03.looper)) - { - continue; - } - - var_03.looper delete(); - } - - return; - } - - return; - } - - var_05 = 0; - while(var_03 < level.createfxent.size) - { - var_05 = level.createfxent[var_03]; - if(!isdefined(var_05)) - { - continue; - } - - if(var_05.v["type"] != "exploder") - { - continue; - } - - if(!isdefined(var_05.v["exploder"])) - { - continue; - } - - if(var_05.v["exploder"] + "" != var_02) - { - continue; - } - - if(!isdefined(var_05.looper)) - { - continue; - } - - var_05.looper delete(); - var_03++; - } -} - -//Function Number: 11 -get_exploder_array_proc(param_00) -{ - param_00 = param_00 + ""; - var_01 = []; - if(isdefined(level.createfxexploders)) - { - var_02 = level.createfxexploders[param_00]; - if(isdefined(var_02)) - { - var_01 = var_02; - } - } - else - { - foreach(var_04 in level.createfxent) - { - if(var_04.v["type"] != "exploder") - { - continue; - } - - if(!isdefined(var_04.v["exploder"])) - { - continue; - } - - if(var_04.v["exploder"] + "" != param_00) - { - continue; - } - - var_01[var_01.size] = var_04; - } - } - - return var_01; -} - -//Function Number: 12 -hide_exploder_models_proc(param_00) -{ - param_00 = param_00 + ""; - if(isdefined(level.createfxexploders)) - { - var_01 = level.createfxexploders[param_00]; - if(isdefined(var_01)) - { - foreach(var_03 in var_01) - { - if(isdefined(var_03.model)) - { - var_03.model hide(); - } - } - - return; - } - - return; - } - - var_05 = 0; - while(var_03 < level.createfxent.size) - { - var_05 = level.createfxent[var_03]; - if(!isdefined(var_05)) - { - continue; - } - - if(var_05.v["type"] != "exploder") - { - continue; - } - - if(!isdefined(var_05.v["exploder"])) - { - continue; - } - - if(var_05.v["exploder"] + "" != var_02) - { - continue; - } - - if(isdefined(var_05.model)) - { - var_05.model hide(); - } - - var_03++; - } -} - -//Function Number: 13 -delete_exploder_proc(param_00) -{ - param_00 = param_00 + ""; - if(isdefined(level.createfxexploders)) - { - var_01 = level.createfxexploders[param_00]; - if(isdefined(var_01)) - { - foreach(var_03 in var_01) - { - if(isdefined(var_03.model)) - { - var_03.model delete(); - } - } - } - } - else - { - for(var_05 = 0;var_05 < level.createfxent.size;var_05++) - { - var_03 = level.createfxent[var_05]; - if(!isdefined(var_03)) - { - continue; - } - - if(var_03.v["type"] != "exploder") - { - continue; - } - - if(!isdefined(var_03.v["exploder"])) - { - continue; - } - - if(var_03.v["exploder"] + "" != param_00) - { - continue; - } - - if(isdefined(var_03.model)) - { - var_03.model delete(); - } - } - } - - level notify("killexplodertridgers" + param_00); -} - -//Function Number: 14 -exploder_damage() -{ - if(isdefined(self.v["delay"])) - { - var_00 = self.v["delay"]; - } - else - { - var_00 = 0; - } - - if(isdefined(self.v["damage_radius"])) - { - var_01 = self.v["damage_radius"]; - } - else - { - var_01 = 128; - } - - var_02 = self.v["damage"]; - var_03 = self.v["origin"]; - wait(var_00); - if(isdefined(level.custom_radius_damage_for_exploders)) - { - [[ level.custom_radius_damage_for_exploders ]](var_03,var_01,var_02); - return; - } - - radiusdamage(var_03,var_01,var_02,var_02); -} - -//Function Number: 15 -activate_individual_exploder_proc() -{ - if(isdefined(self.v["firefx"])) - { - thread fire_effect(); - } - - if(isdefined(self.v["fxid"]) && self.v["fxid"] != "No FX") - { - thread cannon_effect(); - } - else if(isdefined(self.v["soundalias"]) && self.v["soundalias"] != "nil") - { - thread sound_effect(); - } - - if(isdefined(self.v["loopsound"]) && self.v["loopsound"] != "nil") - { - thread effect_loopsound(); - } - - if(isdefined(self.v["damage"])) - { - thread exploder_damage(); - } - - if(isdefined(self.v["earthquake"])) - { - thread exploder_earthquake(); - } - - if(isdefined(self.v["rumble"])) - { - thread exploder_rumble(); - } - - if(self.v["exploder_type"] == "exploder") - { - thread brush_show(); - return; - } - - if(self.v["exploder_type"] == "exploderchunk" || self.v["exploder_type"] == "exploderchunk visible") - { - thread brush_throw(); - return; - } - - thread brush_delete(); -} - -//Function Number: 16 -brush_delete() -{ - var_00 = self.v["exploder"]; - if(isdefined(self.v["delay"]) && self.v["delay"] >= 0) - { - wait(self.v["delay"]); - } - else - { - wait(0.05); - } - - if(!isdefined(self.model)) - { - return; - } - - if(isdefined(self.model.classname)) - { - if(common_scripts\utility::issp() && self.model.spawnflags & 1) - { - self.model [[ level.connectpathsfunction ]](); - } - } - - if(level.createfx_enabled) - { - if(isdefined(self.exploded)) - { - return; - } - - self.exploded = 1; - self.model hide(); - self.model notsolid(); - wait(3); - self.exploded = undefined; - self.model show(); - self.model solid(); - return; - } - - if(!isdefined(self.v["fxid"]) || self.v["fxid"] == "No FX") - { - self.v["exploder"] = undefined; - } - - waittillframeend; - if(isdefined(self.model) && isdefined(self.model.classname)) - { - self.model delete(); - } -} - -//Function Number: 17 -brush_throw() -{ - if(isdefined(self.v["delay"])) - { - wait(self.v["delay"]); - } - - var_00 = undefined; - if(isdefined(self.v["target"])) - { - var_00 = common_scripts\utility::get_target_ent(self.v["target"]); - } - - if(!isdefined(var_00)) - { - self.model delete(); - return; - } - - self.model show(); - if(isdefined(self.v["delay_post"])) - { - wait(self.v["delay_post"]); - } - - var_01 = self.v["origin"]; - var_02 = self.v["angles"]; - var_03 = var_00.origin; - var_04 = var_03 - self.v["origin"]; - var_05 = var_04[0]; - var_06 = var_04[1]; - var_07 = var_04[2]; - var_08 = isdefined(self.v["physics"]); - if(var_08) - { - var_09 = undefined; - if(isdefined(var_00.target)) - { - var_09 = var_00 common_scripts\utility::get_target_ent(); - } - - if(!isdefined(var_09)) - { - var_0A = var_01; - var_0B = var_00.origin; - } - else - { - var_0A = var_02.origin; - var_0B = var_0A.origin - var_01.origin * self.v["physics"]; - } - - self.model physicslaunchclient(var_0A,var_0B); - return; - } - else - { - self.model rotatevelocity((var_08,var_09,var_0A),12); - self.model movegravity((var_08,var_09,var_0A),12); - } - - if(level.createfx_enabled) - { - if(isdefined(self.exploded)) - { - return; - } - - self.exploded = 1; - wait(3); - self.exploded = undefined; - self.v["origin"] = var_04; - self.v["angles"] = var_05; - self.model hide(); - return; - } - - self.v["exploder"] = undefined; - wait(6); - self.model delete(); -} - -//Function Number: 18 -brush_show() -{ - if(isdefined(self.v["delay"])) - { - wait(self.v["delay"]); - } - - if(!isdefined(self.model.script_modelname)) - { - self.model show(); - self.model solid(); - } - else - { - var_00 = self.model common_scripts\utility::spawn_tag_origin(); - if(isdefined(self.model.script_linkname)) - { - var_00.script_linkname = self.model.script_linkname; - } - - var_00 setmodel(self.model.script_modelname); - var_00 show(); - } - - self.brush_shown = 1; - if(common_scripts\utility::issp() && !isdefined(self.model.script_modelname) && self.model.spawnflags & 1) - { - if(!isdefined(self.model.disconnect_paths)) - { - self.model [[ level.connectpathsfunction ]](); - } - else - { - self.model [[ level.disconnectpathsfunction ]](); - } - } - - if(level.createfx_enabled) - { - if(isdefined(self.exploded)) - { - return; - } - - self.exploded = 1; - wait(3); - self.exploded = undefined; - if(!isdefined(self.model.script_modelname)) - { - self.model hide(); - self.model notsolid(); - } - } -} - -//Function Number: 19 -exploder_rumble() -{ - if(!common_scripts\utility::issp()) - { - return; - } - - exploder_delay(); - level.player playrumbleonentity(self.v["rumble"]); -} - -//Function Number: 20 -exploder_delay() -{ - if(!isdefined(self.v["delay"])) - { - self.v["delay"] = 0; - } - - var_00 = self.v["delay"]; - var_01 = self.v["delay"] + 0.001; - if(isdefined(self.v["delay_min"])) - { - var_00 = self.v["delay_min"]; - } - - if(isdefined(self.v["delay_max"])) - { - var_01 = self.v["delay_max"]; - } - - if(var_00 > 0) - { - wait(randomfloatrange(var_00,var_01)); - } -} - -//Function Number: 21 -effect_loopsound() -{ - if(isdefined(self.loopsound_ent)) - { - self.loopsound_ent delete(); - } - - var_00 = self.v["origin"]; - var_01 = self.v["loopsound"]; - exploder_delay(); - self.loopsound_ent = common_scripts\utility::play_loopsound_in_space(var_01,var_00); -} - -//Function Number: 22 -sound_effect() -{ - effect_soundalias(); -} - -//Function Number: 23 -effect_soundalias() -{ - var_00 = self.v["origin"]; - var_01 = self.v["soundalias"]; - exploder_delay(); - common_scripts\utility::play_sound_in_space(var_01,var_00); -} - -//Function Number: 24 -exploder_earthquake() -{ - exploder_delay(); - common_scripts\utility::do_earthquake(self.v["earthquake"],self.v["origin"]); -} - -//Function Number: 25 -exploder_playsound() -{ - if(!isdefined(self.v["soundalias"]) || self.v["soundalias"] == "nil") - { - return; - } - - common_scripts\utility::play_sound_in_space(self.v["soundalias"],self.v["origin"]); -} - -//Function Number: 26 -fire_effect() -{ - var_00 = self.v["forward"]; - var_01 = self.v["up"]; - var_02 = undefined; - var_03 = self.v["firefxsound"]; - var_04 = self.v["origin"]; - var_05 = self.v["firefx"]; - var_06 = self.v["ender"]; - if(!isdefined(var_06)) - { - var_06 = "createfx_effectStopper"; - } - - var_07 = 0.5; - if(isdefined(self.v["firefxdelay"])) - { - var_07 = self.v["firefxdelay"]; - } - - exploder_delay(); - if(isdefined(var_03)) - { - common_scripts\utility::loop_fx_sound_with_angles(var_03,var_04,(0,0,0),1,var_06); - } - - playfx(level._effect[var_05],self.v["origin"],var_00,var_01); -} - -//Function Number: 27 -cannon_effect() -{ - if(isdefined(self.v["repeat"])) - { - thread exploder_playsound(); - for(var_00 = 0;var_00 < self.v["repeat"];var_00++) - { - playfx(level._effect[self.v["fxid"]],self.v["origin"],self.v["forward"],self.v["up"]); - exploder_delay(); - } - - return; - } - - if(!isdefined(self.v["delay"])) - { - self.v["delay"] = 0; - } - - if(self.v["delay"] >= 0) - { - exploder_delay(); - var_01 = 0; - } - else - { - var_01 = self.v["delay"]; - } - - if(isdefined(self.looper)) - { - self.looper delete(); - } - - self.looper = spawnfx(common_scripts\utility::getfx(self.v["fxid"]),self.v["origin"],self.v["forward"],self.v["up"]); - if(level.createfx_enabled) - { - setfxkillondelete(self.looper,1); - } - - if(self.v["delay"] >= 0) - { - triggerfx(self.looper); - } - else - { - triggerfx(self.looper,var_01); - } - - exploder_playsound(); -} - -//Function Number: 28 -activate_exploder(param_00,param_01,param_02) -{ - param_00 = param_00 + ""; - level notify("exploding_" + param_00); - var_03 = 0; - if(isdefined(level.createfxexploders) && !level.createfx_enabled) - { - var_04 = level.createfxexploders[param_00]; - if(isdefined(var_04)) - { - foreach(var_06 in var_04) - { - if(!var_06 check_exploder_platform()) - { - continue; - } - - var_06 common_scripts\utility::activate_individual_exploder(); - var_03 = 1; - } - } - } - else - { - for(var_08 = 0;var_08 < level.createfxent.size;var_08++) - { - var_06 = level.createfxent[var_08]; - if(!isdefined(var_06)) - { - continue; - } - - if(var_06.v["type"] != "exploder") - { - continue; - } - - if(!isdefined(var_06.v["exploder"])) - { - continue; - } - - if(var_06.v["exploder"] + "" != param_00) - { - continue; - } - - if(!var_06 check_exploder_platform()) - { - continue; - } - - var_06 common_scripts\utility::activate_individual_exploder(); - var_03 = 1; - } - } - - if(!shouldrunserversideeffects() && !var_03) - { - activate_clientside_exploder(param_00,param_01,param_02); - } -} - -//Function Number: 29 -exploder(param_00,param_01,param_02) -{ - [[ level._fx.exploderfunction ]](param_00,param_01,param_02); -} - -//Function Number: 30 -kill_exploder(param_00) -{ - var_01 = getexploders(param_00); - if(isdefined(var_01)) - { - foreach(var_03 in var_01) - { - if(isdefined(var_03.looper)) - { - setfxkillondelete(var_03.looper,1); - } - } - - wait 0.05; - foreach(var_03 in var_01) - { - var_03 common_scripts\utility::pauseeffect(); - } - } -} - -//Function Number: 31 -check_exploder_platform() -{ - var_00 = self; - if(isdefined(var_00.v["platform"]) && isdefined(level.currentgen)) - { - var_01 = var_00.v["platform"]; - if((var_01 == "cg" && !level.currentgen) || var_01 == "ng" && !level.nextgen) - { - return 0; - } - } - - return 1; -} - -//Function Number: 32 -activate_clientside_exploder(param_00,param_01,param_02) -{ - if(!is_valid_clientside_exploder_name(param_00)) - { - return; - } - - var_03 = int(param_00); - activateclientexploder(var_03,param_01,param_02); -} - -//Function Number: 33 -deactivate_clientside_exploder(param_00,param_01,param_02) -{ - if(!is_valid_clientside_exploder_name(param_00)) - { - return; - } - - var_03 = int(param_00); - stopclientexploder(var_03,param_01,param_02); -} - -//Function Number: 34 -is_valid_clientside_exploder_name(param_00) -{ - if(!isdefined(param_00)) - { - return 0; - } - - var_01 = param_00; - if(isstring(param_00)) - { - var_01 = int(param_00); - if(var_01 == 0 && param_00 != "0") - { - return 0; - } - } - - return var_01 >= 0; -} - -//Function Number: 35 -shouldrunserversideeffects() -{ - if(common_scripts\utility::issp()) - { - return 1; - } - - if(!isdefined(level.createfx_enabled)) - { - level.createfx_enabled = getdvar("createfx") != ""; - } - - if(level.createfx_enabled) - { - return 1; - } - - return getdvar("clientSideEffects") != "1"; -} - -//Function Number: 36 -exploder_before_load(param_00,param_01,param_02) -{ - waittillframeend; - waittillframeend; - activate_exploder(param_00,param_01,param_02); -} - -//Function Number: 37 -exploder_after_load(param_00,param_01,param_02) -{ - activate_exploder(param_00,param_01,param_02); -} \ No newline at end of file diff --git a/AW/PC/MP/common_scripts/_fx.gsc b/AW/PC/MP/common_scripts/_fx.gsc deleted file mode 100644 index b1943c7..0000000 --- a/AW/PC/MP/common_scripts/_fx.gsc +++ /dev/null @@ -1,857 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: common_scripts/_fx.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 39 - * Decompile Time: 614 ms - * Timestamp: 10/27/2023 1:47:25 AM -*******************************************************************/ - -//Function Number: 1 -initfx() -{ - if(!isdefined(level.func)) - { - level.func = []; - } - - if(!isdefined(level.func["create_triggerfx"])) - { - level.func["create_triggerfx"] = ::create_triggerfx; - } - - if(!isdefined(level._fx)) - { - level._fx = spawnstruct(); - } - - common_scripts\utility::create_lock("createfx_looper",20); - level.fxfireloopmod = 1; - level._fx.exploderfunction = ::common_scripts\_exploder::exploder_before_load; - waittillframeend; - waittillframeend; - level._fx.exploderfunction = ::common_scripts\_exploder::exploder_after_load; - level._fx.server_culled_sounds = 0; - if(getdvarint("serverCulledSounds") == 1) - { - level._fx.server_culled_sounds = 1; - } - - if(level.createfx_enabled) - { - level._fx.server_culled_sounds = 0; - } - - if(level.createfx_enabled) - { - level waittill("createfx_common_done"); - } - - var_00 = 0; - if(var_00 < level.createfxent.size) - { - var_01 = level.createfxent[var_00]; - var_01 common_scripts\_createfx::set_forward_and_up_vectors(); - switch(var_01.v["type"]) - { - case "loopfx": - break; - - case "oneshotfx": - break; - - case "soundfx": - break; - - case "soundfx_interval": - break; - - case "reactive_fx": - break; - - case "soundfx_dynamic": - break; - } - } -} - -//Function Number: 2 -remove_dupes() -{ -} - -//Function Number: 3 -check_createfx_limit() -{ -} - -//Function Number: 4 -check_limit_type(param_00,param_01) -{ -} - -//Function Number: 5 -print_org(param_00,param_01,param_02,param_03) -{ - if(getdvar("debug") == "1") - { - } -} - -//Function Number: 6 -platformmatches() -{ - if(isdefined(self.v["platform"]) && isdefined(level.currentgen)) - { - var_00 = self.v["platform"]; - if((var_00 == "cg" && !level.currentgen) || var_00 == "ng" && !level.nextgen || var_00 == "xenon" && !level.xenon || var_00 == "ps3" && !level.ps3 || var_00 == "pc" && !level.pc || var_00 == "xb3" && !level.xb3 || var_00 == "ps4" && !level.ps4 || var_00 == "pccg" && !level.pccg || var_00 == "!cg" && level.currentgen || var_00 == "!ng" && level.nextgen || var_00 == "!xenon" && level.xenon || var_00 == "!ps3" && level.ps3 || var_00 == "!pc" && level.pc || var_00 == "!xb3" && level.xb3 || var_00 == "!ps4" && level.ps4 || var_00 == "!pccg" && level.pccg) - { - return 0; - } - } - - return 1; -} - -//Function Number: 7 -oneshotfx(param_00,param_01,param_02,param_03) -{ -} - -//Function Number: 8 -exploderfx(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B,param_0C,param_0D,param_0E,param_0F,param_10,param_11) -{ - if(1) - { - var_12 = common_scripts\utility::createexploder(param_01); - var_12.v["origin"] = param_02; - var_12.v["angles"] = (0,0,0); - if(isdefined(param_04)) - { - var_12.v["angles"] = vectortoangles(param_04 - param_02); - } - - var_12.v["delay"] = param_03; - var_12.v["exploder"] = param_00; - if(isdefined(level.createfxexploders)) - { - var_13 = level.createfxexploders[var_12.v["exploder"]]; - if(!isdefined(var_13)) - { - var_13 = []; - } - - var_13[var_13.size] = var_12; - level.createfxexploders[var_12.v["exploder"]] = var_13; - } - - return; - } - - var_14 = spawn("script_origin",(0,0,0)); - var_14.origin = param_03; - var_14.angles = vectortoangles(param_05 - param_03); - var_14.script_exploder = param_01; - var_14.script_fxid = param_02; - var_14.script_delay = param_04; - var_14.script_firefx = param_06; - var_14.script_firefxdelay = param_07; - var_14.script_firefxsound = param_08; - var_14.script_sound = param_09; - var_14.script_earthquake = param_0A; - var_14.script_damage = param_0B; - var_14.script_radius = param_10; - var_14.script_soundalias = param_0C; - var_14.script_firefxtimeout = param_11; - var_14.script_repeat = param_0D; - var_14.script_delay_min = param_0E; - var_14.script_delay_max = param_0F; - var_14.script_exploder_group = var_12; - var_15 = anglestoforward(var_14.angles); - var_15 = var_15 * 150; - var_14.targetpos = param_03 + var_15; - if(!isdefined(level._script_exploders)) - { - level._script_exploders = []; - } - - level._script_exploders[level._script_exploders.size] = var_14; -} - -//Function Number: 9 -loopfx(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - var_07 = common_scripts\utility::createloopeffect(param_00); - var_07.v["origin"] = param_01; - var_07.v["angles"] = (0,0,0); - if(isdefined(param_03)) - { - var_07.v["angles"] = vectortoangles(param_03 - param_01); - } - - var_07.v["delay"] = param_02; -} - -//Function Number: 10 -create_looper() -{ - self.looper = playloopedfx(level._effect[self.v["fxid"]],self.v["delay"],self.v["origin"],0,self.v["forward"],self.v["up"]); - create_loopsound(); -} - -//Function Number: 11 -create_loopsound() -{ - if(!platformmatches()) - { - return; - } - - self notify("stop_loop"); - if(!isdefined(self.v["soundalias"])) - { - return; - } - - if(self.v["soundalias"] == "nil") - { - return; - } - - var_00 = 0; - var_01 = undefined; - if(isdefined(self.v["stopable"]) && self.v["stopable"]) - { - if(isdefined(self.looper)) - { - var_01 = "death"; - } - else - { - var_01 = "stop_loop"; - } - } - else if(level._fx.server_culled_sounds && isdefined(self.v["server_culled"])) - { - var_00 = self.v["server_culled"]; - } - - var_02 = self; - if(isdefined(self.looper)) - { - var_02 = self.looper; - } - - var_03 = undefined; - if(level.createfx_enabled) - { - var_03 = self; - } - - var_02 common_scripts\utility::loop_fx_sound_with_angles(self.v["soundalias"],self.v["origin"],self.v["angles"],var_00,var_01,var_03); -} - -//Function Number: 12 -create_interval_sound() -{ - if(!platformmatches()) - { - return; - } - - self notify("stop_loop"); - if(!isdefined(self.v["soundalias"])) - { - return; - } - - if(self.v["soundalias"] == "nil") - { - return; - } - - var_00 = undefined; - var_01 = self; - if((isdefined(self.v["stopable"]) && self.v["stopable"]) || level.createfx_enabled) - { - if(isdefined(self.looper)) - { - var_01 = self.looper; - var_00 = "death"; - } - else - { - var_00 = "stop_loop"; - } - } - - var_01 thread common_scripts\utility::loop_fx_sound_interval_with_angles(self.v["soundalias"],self.v["origin"],self.v["angles"],var_00,undefined,self.v["delay_min"],self.v["delay_max"]); -} - -//Function Number: 13 -create_dynamicambience() -{ - if(!platformmatches()) - { - return; - } - - if(!isdefined(self.v["ambiencename"])) - { - return; - } - - if(self.v["ambiencename"] == "nil") - { - return; - } - - if(common_scripts\utility::issp()) - { - return; - } - - if(getdvar("createfx") == "on") - { - common_scripts\utility::flag_wait("createfx_started"); - } - - if(isdefined(self.dambinfostruct)) - { - level.player stopdynamicambience(self.dambinfostruct.unique_id); - } - - self.dambinfostruct = spawnstruct(); - self.dambinfostruct common_scripts\utility::assign_unique_id(); - level.player playdynamicambience(self.v["ambiencename"],self.v["origin"],self.v["dynamic_distance"],self.dambinfostruct.unique_id); -} - -//Function Number: 14 -loopfxthread() -{ - wait 0.05; - if(isdefined(self.fxstart)) - { - level waittill("start fx" + self.fxstart); - } - - for(;;) - { - create_looper(); - if(isdefined(self.timeout)) - { - thread loopfxstop(self.timeout); - } - - if(isdefined(self.fxstop)) - { - level waittill("stop fx" + self.fxstop); - } - else - { - return; - } - - if(isdefined(self.looper)) - { - self.looper delete(); - } - - if(isdefined(self.fxstart)) - { - level waittill("start fx" + self.fxstart); - continue; - } - } -} - -//Function Number: 15 -loopfxchangeid(param_00) -{ - self endon("death"); - param_00 waittill("effect id changed",var_01); -} - -//Function Number: 16 -loopfxchangeorg(param_00) -{ - self endon("death"); - for(;;) - { - param_00 waittill("effect org changed",var_01); - self.origin = var_01; - } -} - -//Function Number: 17 -loopfxchangedelay(param_00) -{ - self endon("death"); - param_00 waittill("effect delay changed",var_01); -} - -//Function Number: 18 -loopfxdeletion(param_00) -{ - self endon("death"); - param_00 waittill("effect deleted"); - self delete(); -} - -//Function Number: 19 -loopfxstop(param_00) -{ - self endon("death"); - wait(param_00); - self.looper delete(); -} - -//Function Number: 20 -loopsound(param_00,param_01,param_02) -{ - level thread loopsoundthread(param_00,param_01,param_02); -} - -//Function Number: 21 -loopsoundthread(param_00,param_01,param_02) -{ - var_03 = spawn("script_origin",param_01); - var_03.origin = param_01; - var_03 playloopsound(param_00); -} - -//Function Number: 22 -gunfireloopfx(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - thread gunfireloopfxthread(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07); -} - -//Function Number: 23 -gunfireloopfxthread(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - level endon("stop all gunfireloopfx"); - wait 0.05; - if(param_07 < param_06) - { - var_08 = param_07; - param_07 = param_06; - param_06 = var_08; - } - - var_09 = param_06; - var_0A = param_07 - param_06; - if(param_05 < param_04) - { - var_08 = param_05; - param_05 = param_04; - param_04 = var_08; - } - - var_0B = param_04; - var_0C = param_05 - param_04; - if(param_03 < param_02) - { - var_08 = param_03; - param_03 = param_02; - param_02 = var_08; - } - - var_0D = param_02; - var_0E = param_03 - param_02; - var_0F = spawnfx(level._effect[param_00],param_01); - if(!level.createfx_enabled) - { - var_0F willneverchange(); - } - - for(;;) - { - var_10 = var_0D + randomint(var_0E); - for(var_11 = 0;var_11 < var_10;var_11++) - { - triggerfx(var_0F); - wait(var_0B + randomfloat(var_0C)); - } - - wait(var_09 + randomfloat(var_0A)); - } -} - -//Function Number: 24 -gunfireloopfxvec(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) -{ - thread gunfireloopfxvecthread(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08); -} - -//Function Number: 25 -gunfireloopfxvecthread(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) -{ - level endon("stop all gunfireloopfx"); - wait 0.05; - if(param_08 < param_07) - { - var_09 = param_08; - param_08 = param_07; - param_07 = var_09; - } - - var_0A = param_07; - var_0B = param_08 - param_07; - if(param_06 < param_05) - { - var_09 = param_06; - param_06 = param_05; - param_05 = var_09; - } - - var_0C = param_05; - var_0D = param_06 - param_05; - if(param_04 < param_03) - { - var_09 = param_04; - param_04 = param_03; - param_03 = var_09; - } - - var_0E = param_03; - var_0F = param_04 - param_03; - param_02 = vectornormalize(param_02 - param_01); - var_10 = spawnfx(level._effect[param_00],param_01,param_02); - if(!level.createfx_enabled) - { - var_10 willneverchange(); - } - - for(;;) - { - var_11 = var_0E + randomint(var_0F); - for(var_12 = 0;var_12 < int(var_11 / level.fxfireloopmod);var_12++) - { - triggerfx(var_10); - var_13 = var_0C + randomfloat(var_0D) * level.fxfireloopmod; - if(var_13 < 0.05) - { - var_13 = 0.05; - } - - wait(var_13); - } - - wait(var_0C + randomfloat(var_0D)); - wait(var_0A + randomfloat(var_0B)); - } -} - -//Function Number: 26 -setfireloopmod(param_00) -{ - level.fxfireloopmod = 1 / param_00; -} - -//Function Number: 27 -setup_fx() -{ - if(!isdefined(self.script_fxid) || !isdefined(self.script_fxcommand) || !isdefined(self.script_delay)) - { - return; - } - - if(isdefined(self.model)) - { - if(self.model == "toilet") - { - thread burnville_paratrooper_hack(); - return; - } - } - - var_00 = undefined; - if(isdefined(self.target)) - { - var_01 = getent(self.target,"targetname"); - if(isdefined(var_01)) - { - var_00 = var_01.origin; - } - } - - var_02 = undefined; - if(isdefined(self.script_fxstart)) - { - var_02 = self.script_fxstart; - } - - var_03 = undefined; - if(isdefined(self.script_fxstop)) - { - var_03 = self.script_fxstop; - } - - if(self.script_fxcommand == "OneShotfx") - { - oneshotfx(self.script_fxid,self.origin,self.script_delay,var_00); - } - - if(self.script_fxcommand == "loopfx") - { - loopfx(self.script_fxid,self.origin,self.script_delay,var_00,var_02,var_03); - } - - if(self.script_fxcommand == "loopsound") - { - loopsound(self.script_fxid,self.origin,self.script_delay); - } - - self delete(); -} - -//Function Number: 28 -burnville_paratrooper_hack() -{ - var_00 = (0,0,self.angles[1]); - var_01 = level._effect[self.script_fxid]; - var_02 = self.origin; - wait(1); - level thread burnville_paratrooper_hack_loop(var_00,var_02,var_01); - self delete(); -} - -//Function Number: 29 -burnville_paratrooper_hack_loop(param_00,param_01,param_02) -{ - for(;;) - { - playfx(param_02,param_01); - wait(30 + randomfloat(40)); - } -} - -//Function Number: 30 -create_triggerfx() -{ - if(!verify_effects_assignment(self.v["fxid"])) - { - return; - } - - self.looper = spawnfx(level._effect[self.v["fxid"]],self.v["origin"],self.v["forward"],self.v["up"]); - triggerfx(self.looper,self.v["delay"]); - if(!level.createfx_enabled) - { - self.looper willneverchange(); - } - - create_loopsound(); -} - -//Function Number: 31 -verify_effects_assignment(param_00) -{ - if(isdefined(level._effect[param_00])) - { - return 1; - } - - if(!isdefined(level._missing_fx)) - { - level._missing_fx = []; - } - - level._missing_fx[self.v["fxid"]] = param_00; - verify_effects_assignment_print(param_00); - return 0; -} - -//Function Number: 32 -verify_effects_assignment_print(param_00) -{ - level notify("verify_effects_assignment_print"); - level endon("verify_effects_assignment_print"); - wait(0.05); - var_01 = getarraykeys(level._missing_fx); - foreach(var_03 in var_01) - { - } -} - -//Function Number: 33 -oneshotfxthread() -{ - wait(0.05); - if(!platformmatches()) - { - return; - } - - if(self.v["delay"] > 0) - { - wait(self.v["delay"]); - } - - [[ level.func["create_triggerfx"] ]](); -} - -//Function Number: 34 -add_reactive_fx() -{ - if(!platformmatches()) - { - return; - } - - if(!common_scripts\utility::issp() && getdvar("createfx") == "") - { - return; - } - - if(!isdefined(level._fx.reactive_thread)) - { - level._fx.reactive_thread = 1; - level thread reactive_fx_thread(); - } - - if(!isdefined(level._fx.reactive_fx_ents)) - { - level._fx.reactive_fx_ents = []; - } - - level._fx.reactive_fx_ents[level._fx.reactive_fx_ents.size] = self; - self.next_reactive_time = 3000; -} - -//Function Number: 35 -reactive_fx_thread() -{ - if(!common_scripts\utility::issp()) - { - if(getdvar("createfx") == "on") - { - common_scripts\utility::flag_wait("createfx_started"); - } - } - - level._fx.reactive_sound_ents = []; - var_00 = 256; - for(;;) - { - level waittill("code_damageradius",var_01,var_00,var_02,var_03); - var_04 = sort_reactive_ents(var_02,var_00); - foreach(var_07, var_06 in var_04) - { - var_06 thread play_reactive_fx(var_07); - } - } -} - -//Function Number: 36 -vector2d(param_00) -{ - return (param_00[0],param_00[1],0); -} - -//Function Number: 37 -sort_reactive_ents(param_00,param_01) -{ - var_02 = []; - var_03 = gettime(); - foreach(var_05 in level._fx.reactive_fx_ents) - { - if(var_05.next_reactive_time > var_03) - { - continue; - } - - var_06 = var_05.v["reactive_radius"] + param_01; - var_06 = var_06 * var_06; - if(distancesquared(param_00,var_05.v["origin"]) < var_06) - { - var_02[var_02.size] = var_05; - } - } - - foreach(var_05 in var_02) - { - var_09 = vector2d(var_05.v["origin"] - level.player.origin); - var_0A = vector2d(param_00 - level.player.origin); - var_0B = vectornormalize(var_09); - var_0C = vectornormalize(var_0A); - var_05.dot = vectordot(var_0B,var_0C); - } - - for(var_0E = 0;var_0E < var_02.size - 1;var_0E++) - { - for(var_0F = var_0E + 1;var_0F < var_02.size;var_0F++) - { - if(var_02[var_0E].dot > var_02[var_0F].dot) - { - var_10 = var_02[var_0E]; - var_02[var_0E] = var_02[var_0F]; - var_02[var_0F] = var_10; - } - } - } - - foreach(var_05 in var_02) - { - var_05.origin = undefined; - var_05.dot = undefined; - } - - for(var_0E = 4;var_0E < var_02.size;var_0E++) - { - var_02[var_0E] = undefined; - } - - return var_02; -} - -//Function Number: 38 -play_reactive_fx(param_00) -{ - var_01 = get_reactive_sound_ent(); - if(!isdefined(var_01)) - { - return; - } - - self.next_reactive_time = gettime() + 3000; - var_01.origin = self.v["origin"]; - var_01.is_playing = 1; - wait(param_00 * randomfloatrange(0.05,0.1)); - if(common_scripts\utility::issp()) - { - var_01 playsound(self.v["soundalias"],"sounddone"); - var_01 waittill("sounddone"); - } - else - { - var_01 playsound(self.v["soundalias"]); - wait(2); - } - - wait(0.1); - var_01.is_playing = 0; -} - -//Function Number: 39 -get_reactive_sound_ent() -{ - foreach(var_01 in level._fx.reactive_sound_ents) - { - if(!var_01.is_playing) - { - return var_01; - } - } - - if(level._fx.reactive_sound_ents.size < 4) - { - var_01 = spawn("script_origin",(0,0,0)); - var_01.is_playing = 0; - level._fx.reactive_sound_ents[level._fx.reactive_sound_ents.size] = var_01; - return var_01; - } - - return undefined; -} \ No newline at end of file diff --git a/AW/PC/MP/common_scripts/utility.gsc b/AW/PC/MP/common_scripts/utility.gsc deleted file mode 100644 index 402729a..0000000 --- a/AW/PC/MP/common_scripts/utility.gsc +++ /dev/null @@ -1,3975 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: common_scripts/utility.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 215 - * Decompile Time: 3378 ms - * Timestamp: 10/27/2023 1:47:35 AM -*******************************************************************/ - -//Function Number: 1 -noself_func(param_00,param_01,param_02,param_03,param_04) -{ - if(!isdefined(level.func)) - { - return; - } - - if(!isdefined(level.func[param_00])) - { - return; - } - - if(!isdefined(param_01)) - { - [[ level.func[param_00] ]](); - return; - } - - if(!isdefined(param_02)) - { - [[ level.func[param_00] ]](param_01); - return; - } - - if(!isdefined(param_03)) - { - [[ level.func[param_00] ]](param_01,param_02); - return; - } - - if(!isdefined(param_04)) - { - [[ level.func[param_00] ]](param_01,param_02,param_03); - return; - } - - [[ level.func[param_00] ]](param_01,param_02,param_03,param_04); -} - -//Function Number: 2 -self_func(param_00,param_01,param_02,param_03,param_04) -{ - if(!isdefined(level.func[param_00])) - { - return; - } - - if(!isdefined(param_01)) - { - self [[ level.func[param_00] ]](); - return; - } - - if(!isdefined(param_02)) - { - self [[ level.func[param_00] ]](param_01); - return; - } - - if(!isdefined(param_03)) - { - self [[ level.func[param_00] ]](param_01,param_02); - return; - } - - if(!isdefined(param_04)) - { - self [[ level.func[param_00] ]](param_01,param_02,param_03); - return; - } - - self [[ level.func[param_00] ]](param_01,param_02,param_03,param_04); -} - -//Function Number: 3 -randomvector(param_00) -{ - return (randomfloat(param_00) - param_00 * 0.5,randomfloat(param_00) - param_00 * 0.5,randomfloat(param_00) - param_00 * 0.5); -} - -//Function Number: 4 -randomvectorrange(param_00,param_01) -{ - var_02 = randomfloatrange(param_00,param_01); - if(randomint(2) == 0) - { - var_02 = var_02 * -1; - } - - var_03 = randomfloatrange(param_00,param_01); - if(randomint(2) == 0) - { - var_03 = var_03 * -1; - } - - var_04 = randomfloatrange(param_00,param_01); - if(randomint(2) == 0) - { - var_04 = var_04 * -1; - } - - return (var_02,var_03,var_04); -} - -//Function Number: 5 -randomvectorincone(param_00,param_01) -{ - var_02 = randomfloat(param_01); - var_03 = randomfloat(360); - var_04 = sin(var_02); - var_05 = cos(var_02); - var_06 = sin(var_03); - var_07 = cos(var_03); - var_08 = (var_05,var_07 * var_04,var_06 * var_04); - return rotatevector(var_08,vectortoangles(param_00)); -} - -//Function Number: 6 -sign(param_00) -{ - if(param_00 >= 0) - { - return 1; - } - - return -1; -} - -//Function Number: 7 -mod(param_00,param_01) -{ - var_02 = int(param_00 / param_01); - if(param_00 * param_01 < 0) - { - var_02 = var_02 - 1; - } - - return param_00 - var_02 * param_01; -} - -//Function Number: 8 -tostring(param_00) -{ - return "" + param_00; -} - -//Function Number: 9 -track(param_00) -{ - if(isdefined(self.current_target)) - { - if(param_00 == self.current_target) - { - return; - } - } - - self.current_target = param_00; -} - -//Function Number: 10 -get_enemy_team(param_00) -{ - var_01 = []; - var_01["axis"] = "allies"; - var_01["allies"] = "axis"; - return var_01[param_00]; -} - -//Function Number: 11 -clear_exception(param_00) -{ - self.exception[param_00] = level.defaultexception; -} - -//Function Number: 12 -set_exception(param_00,param_01) -{ - self.exception[param_00] = param_01; -} - -//Function Number: 13 -set_all_exceptions(param_00) -{ - var_01 = getarraykeys(self.exception); - for(var_02 = 0;var_02 < var_01.size;var_02++) - { - self.exception[var_01[var_02]] = param_00; - } -} - -//Function Number: 14 -cointoss() -{ - return randomint(100) >= 50; -} - -//Function Number: 15 -choose_from_weighted_array(param_00,param_01) -{ - var_02 = randomint(param_01[param_01.size - 1] + 1); - for(var_03 = 0;var_03 < param_01.size;var_03++) - { - if(var_02 <= param_01[var_03]) - { - return param_00[var_03]; - } - } -} - -//Function Number: 16 -get_cumulative_weights(param_00) -{ - var_01 = []; - var_02 = 0; - for(var_03 = 0;var_03 < param_00.size;var_03++) - { - var_02 = var_02 + param_00[var_03]; - var_01[var_03] = var_02; - } - - return var_01; -} - -//Function Number: 17 -waittill_string(param_00,param_01) -{ - if(param_00 != "death") - { - self endon("death"); - } - - param_01 endon("die"); - self waittill(param_00); - param_01 notify("returned",param_00); -} - -//Function Number: 18 -waittill_string_parms(param_00,param_01) -{ - if(param_00 != "death") - { - self endon("death"); - } - - param_01 endon("die"); - self waittill(param_00,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A,var_0B); - var_0C = []; - var_0C[0] = param_00; - if(isdefined(var_02)) - { - var_0C[1] = var_02; - } - - if(isdefined(var_03)) - { - var_0C[2] = var_03; - } - - if(isdefined(var_04)) - { - var_0C[3] = var_04; - } - - if(isdefined(var_05)) - { - var_0C[4] = var_05; - } - - if(isdefined(var_06)) - { - var_0C[5] = var_06; - } - - if(isdefined(var_07)) - { - var_0C[6] = var_07; - } - - if(isdefined(var_08)) - { - var_0C[7] = var_08; - } - - if(isdefined(var_09)) - { - var_0C[8] = var_09; - } - - if(isdefined(var_0A)) - { - var_0C[9] = var_0A; - } - - if(isdefined(var_0B)) - { - var_0C[10] = var_0B; - } - - param_01 notify("returned",var_0C); -} - -//Function Number: 19 -waittill_string_no_endon_death(param_00,param_01) -{ - param_01 endon("die"); - self waittill(param_00); - param_01 notify("returned",param_00); -} - -//Function Number: 20 -waittill_multiple(param_00,param_01,param_02,param_03,param_04) -{ - self endon("death"); - var_05 = spawnstruct(); - var_05.threads = 0; - if(isdefined(param_00)) - { - childthread waittill_string(param_00,var_05); - var_05.threads++; - } - - if(isdefined(param_01)) - { - childthread waittill_string(param_01,var_05); - var_05.threads++; - } - - if(isdefined(param_02)) - { - childthread waittill_string(param_02,var_05); - var_05.threads++; - } - - if(isdefined(param_03)) - { - childthread waittill_string(param_03,var_05); - var_05.threads++; - } - - if(isdefined(param_04)) - { - childthread waittill_string(param_04,var_05); - var_05.threads++; - } - - while(var_05.threads) - { - var_05 waittill("returned"); - var_05.threads--; - } - - var_05 notify("die"); -} - -//Function Number: 21 -waittill_multiple_ents(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - self endon("death"); - var_08 = spawnstruct(); - var_08.threads = 0; - if(isdefined(param_00)) - { - param_00 childthread waittill_string(param_01,var_08); - var_08.threads++; - } - - if(isdefined(param_02)) - { - param_02 childthread waittill_string(param_03,var_08); - var_08.threads++; - } - - if(isdefined(param_04)) - { - param_04 childthread waittill_string(param_05,var_08); - var_08.threads++; - } - - if(isdefined(param_06)) - { - param_06 childthread waittill_string(param_07,var_08); - var_08.threads++; - } - - while(var_08.threads) - { - var_08 waittill("returned"); - var_08.threads--; - } - - var_08 notify("die"); -} - -//Function Number: 22 -waittill_any_return(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - if((!isdefined(param_00) || param_00 != "death") && !isdefined(param_01) || param_01 != "death" && !isdefined(param_02) || param_02 != "death" && !isdefined(param_03) || param_03 != "death" && !isdefined(param_04) || param_04 != "death" && !isdefined(param_05) || param_05 != "death" && !isdefined(param_06) || param_06 != "death") - { - self endon("death"); - } - - var_07 = spawnstruct(); - if(isdefined(param_00)) - { - childthread waittill_string(param_00,var_07); - } - - if(isdefined(param_01)) - { - childthread waittill_string(param_01,var_07); - } - - if(isdefined(param_02)) - { - childthread waittill_string(param_02,var_07); - } - - if(isdefined(param_03)) - { - childthread waittill_string(param_03,var_07); - } - - if(isdefined(param_04)) - { - childthread waittill_string(param_04,var_07); - } - - if(isdefined(param_05)) - { - childthread waittill_string(param_05,var_07); - } - - if(isdefined(param_06)) - { - childthread waittill_string(param_06,var_07); - } - - var_07 waittill("returned",var_08); - var_07 notify("die"); - return var_08; -} - -//Function Number: 23 -waittill_any_return_parms(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - if((!isdefined(param_00) || param_00 != "death") && !isdefined(param_01) || param_01 != "death" && !isdefined(param_02) || param_02 != "death" && !isdefined(param_03) || param_03 != "death" && !isdefined(param_04) || param_04 != "death" && !isdefined(param_05) || param_05 != "death" && !isdefined(param_06) || param_06 != "death" && !isdefined(param_07) || param_07 != "death") - { - self endon("death"); - } - - var_08 = spawnstruct(); - if(isdefined(param_00)) - { - childthread waittill_string_parms(param_00,var_08); - } - - if(isdefined(param_01)) - { - childthread waittill_string_parms(param_01,var_08); - } - - if(isdefined(param_02)) - { - childthread waittill_string_parms(param_02,var_08); - } - - if(isdefined(param_03)) - { - childthread waittill_string_parms(param_03,var_08); - } - - if(isdefined(param_04)) - { - childthread waittill_string_parms(param_04,var_08); - } - - if(isdefined(param_05)) - { - childthread waittill_string_parms(param_05,var_08); - } - - if(isdefined(param_06)) - { - childthread waittill_string_parms(param_06,var_08); - } - - if(isdefined(param_07)) - { - childthread waittill_string_parms(param_07,var_08); - } - - var_08 waittill("returned",var_09); - var_08 notify("die"); - return var_09; -} - -//Function Number: 24 -waittill_any_return_no_endon_death(param_00,param_01,param_02,param_03,param_04,param_05) -{ - var_06 = spawnstruct(); - if(isdefined(param_00)) - { - childthread waittill_string_no_endon_death(param_00,var_06); - } - - if(isdefined(param_01)) - { - childthread waittill_string_no_endon_death(param_01,var_06); - } - - if(isdefined(param_02)) - { - childthread waittill_string_no_endon_death(param_02,var_06); - } - - if(isdefined(param_03)) - { - childthread waittill_string_no_endon_death(param_03,var_06); - } - - if(isdefined(param_04)) - { - childthread waittill_string_no_endon_death(param_04,var_06); - } - - if(isdefined(param_05)) - { - childthread waittill_string_no_endon_death(param_05,var_06); - } - - var_06 waittill("returned",var_07); - var_06 notify("die"); - return var_07; -} - -//Function Number: 25 -waittill_any_in_array_return(param_00) -{ - var_01 = spawnstruct(); - var_02 = 0; - foreach(var_04 in param_00) - { - childthread waittill_string(var_04,var_01); - if(var_04 == "death") - { - var_02 = 1; - } - } - - if(!var_02) - { - self endon("death"); - } - - var_01 waittill("returned",var_06); - var_01 notify("die"); - return var_06; -} - -//Function Number: 26 -waittill_any_in_array_return_no_endon_death(param_00) -{ - var_01 = spawnstruct(); - foreach(var_03 in param_00) - { - childthread waittill_string_no_endon_death(var_03,var_01); - } - - var_01 waittill("returned",var_05); - var_01 notify("die"); - return var_05; -} - -//Function Number: 27 -waittill_any_in_array_or_timeout(param_00,param_01) -{ - var_02 = spawnstruct(); - var_03 = 0; - foreach(var_05 in param_00) - { - childthread waittill_string(var_05,var_02); - if(var_05 == "death") - { - var_03 = 1; - } - } - - if(!var_03) - { - self endon("death"); - } - - var_02 childthread _timeout(param_01); - var_02 waittill("returned",var_07); - var_02 notify("die"); - return var_07; -} - -//Function Number: 28 -waittill_any_in_array_or_timeout_no_endon_death(param_00,param_01) -{ - var_02 = spawnstruct(); - foreach(var_04 in param_00) - { - childthread waittill_string_no_endon_death(var_04,var_02); - } - - var_02 thread _timeout(param_01); - var_02 waittill("returned",var_06); - var_02 notify("die"); - return var_06; -} - -//Function Number: 29 -waittill_any_timeout(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - if((!isdefined(param_01) || param_01 != "death") && !isdefined(param_02) || param_02 != "death" && !isdefined(param_03) || param_03 != "death" && !isdefined(param_04) || param_04 != "death" && !isdefined(param_05) || param_05 != "death" && !isdefined(param_06) || param_06 != "death") - { - self endon("death"); - } - - var_07 = spawnstruct(); - if(isdefined(param_01)) - { - childthread waittill_string(param_01,var_07); - } - - if(isdefined(param_02)) - { - childthread waittill_string(param_02,var_07); - } - - if(isdefined(param_03)) - { - childthread waittill_string(param_03,var_07); - } - - if(isdefined(param_04)) - { - childthread waittill_string(param_04,var_07); - } - - if(isdefined(param_05)) - { - childthread waittill_string(param_05,var_07); - } - - if(isdefined(param_06)) - { - childthread waittill_string(param_06,var_07); - } - - var_07 childthread _timeout(param_00); - var_07 waittill("returned",var_08); - var_07 notify("die"); - return var_08; -} - -//Function Number: 30 -_timeout(param_00) -{ - self endon("die"); - wait(param_00); - self notify("returned","timeout"); -} - -//Function Number: 31 -waittill_any_timeout_no_endon_death(param_00,param_01,param_02,param_03,param_04,param_05) -{ - var_06 = spawnstruct(); - if(isdefined(param_01)) - { - childthread waittill_string_no_endon_death(param_01,var_06); - } - - if(isdefined(param_02)) - { - childthread waittill_string_no_endon_death(param_02,var_06); - } - - if(isdefined(param_03)) - { - childthread waittill_string_no_endon_death(param_03,var_06); - } - - if(isdefined(param_04)) - { - childthread waittill_string_no_endon_death(param_04,var_06); - } - - if(isdefined(param_05)) - { - childthread waittill_string_no_endon_death(param_05,var_06); - } - - var_06 childthread _timeout(param_00); - var_06 waittill("returned",var_07); - var_06 notify("die"); - return var_07; -} - -//Function Number: 32 -waittill_any(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - if(isdefined(param_01)) - { - self endon(param_01); - } - - if(isdefined(param_02)) - { - self endon(param_02); - } - - if(isdefined(param_03)) - { - self endon(param_03); - } - - if(isdefined(param_04)) - { - self endon(param_04); - } - - if(isdefined(param_05)) - { - self endon(param_05); - } - - if(isdefined(param_06)) - { - self endon(param_06); - } - - if(isdefined(param_07)) - { - self endon(param_07); - } - - self waittill(param_00); -} - -//Function Number: 33 -waittill_any_ents(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B,param_0C,param_0D) -{ - if(isdefined(param_02) && isdefined(param_03)) - { - param_02 endon(param_03); - } - - if(isdefined(param_04) && isdefined(param_05)) - { - param_04 endon(param_05); - } - - if(isdefined(param_06) && isdefined(param_07)) - { - param_06 endon(param_07); - } - - if(isdefined(param_08) && isdefined(param_09)) - { - param_08 endon(param_09); - } - - if(isdefined(param_0A) && isdefined(param_0B)) - { - param_0A endon(param_0B); - } - - if(isdefined(param_0C) && isdefined(param_0D)) - { - param_0C endon(param_0D); - } - - param_00 waittill(param_01); -} - -//Function Number: 34 -isflashed() -{ - var_00 = gettime(); - if(isdefined(self.flashendtime) && var_00 < self.flashendtime) - { - return 1; - } - - if(isdefined(self.concussionendtime) && var_00 < self.concussionendtime) - { - return 1; - } - - return 0; -} - -//Function Number: 35 -flag_exist(param_00) -{ - return isdefined(level.flag[param_00]); -} - -//Function Number: 36 -flag(param_00) -{ - return level.flag[param_00]; -} - -//Function Number: 37 -init_flags() -{ - level.flag = []; - level.flags_lock = []; - level.generic_index = 0; - if(!isdefined(level.sp_stat_tracking_func)) - { - level.sp_stat_tracking_func = ::empty_init_func; - } - - level.flag_struct = spawnstruct(); - level.flag_struct assign_unique_id(); -} - -//Function Number: 38 -flag_init(param_00) -{ - if(!isdefined(level.flag)) - { - init_flags(); - } - - level.flag[param_00] = 0; - if(!isdefined(level.trigger_flags)) - { - init_trigger_flags(); - level.trigger_flags[param_00] = []; - } - else if(!isdefined(level.trigger_flags[param_00])) - { - level.trigger_flags[param_00] = []; - } - - if(issuffix(param_00,"aa_")) - { - thread [[ level.sp_stat_tracking_func ]](param_00); - } -} - -//Function Number: 39 -empty_init_func(param_00) -{ -} - -//Function Number: 40 -issuffix(param_00,param_01) -{ - if(param_01.size > param_00.size) - { - return 0; - } - - for(var_02 = 0;var_02 < param_01.size;var_02++) - { - if(param_00[var_02] != param_01[var_02]) - { - return 0; - } - } - - return 1; -} - -//Function Number: 41 -flag_set(param_00,param_01) -{ - level.flag[param_00] = 1; - set_trigger_flag_permissions(param_00); - if(isdefined(param_01)) - { - level notify(param_00,param_01); - return; - } - - level notify(param_00); -} - -//Function Number: 42 -assign_unique_id() -{ - self.unique_id = "generic" + level.generic_index; - level.generic_index++; -} - -//Function Number: 43 -flag_wait(param_00) -{ - var_01 = undefined; - while(!flag(param_00)) - { - var_01 = undefined; - level waittill(param_00,var_01); - } - - if(isdefined(var_01)) - { - return var_01; - } -} - -//Function Number: 44 -flag_clear(param_00) -{ - if(!flag(param_00)) - { - return; - } - - level.flag[param_00] = 0; - set_trigger_flag_permissions(param_00); - level notify(param_00); -} - -//Function Number: 45 -flag_waitopen(param_00) -{ - while(flag(param_00)) - { - level waittill(param_00); - } -} - -//Function Number: 46 -waittill_either(param_00,param_01) -{ - self endon(param_00); - self waittill(param_01); -} - -//Function Number: 47 -array_thread(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A) -{ - if(!isdefined(param_02)) - { - foreach(var_0C in param_00) - { - var_0C thread [[ param_01 ]](); - } - - return; - } - - if(!isdefined(param_06)) - { - foreach(var_0E in param_03) - { - var_0E thread [[ param_03 ]](param_04); - } - - return; - } - - if(!isdefined(param_09)) - { - foreach(var_10 in param_05) - { - var_10 thread [[ param_05 ]](param_06,param_07); - } - - return; - } - - if(!isdefined(var_0C)) - { - foreach(var_12 in param_07) - { - var_12 thread [[ param_07 ]](param_08,param_09,param_0A); - } - - return; - } - - if(!isdefined(var_0F)) - { - foreach(var_14 in param_09) - { - var_14 thread [[ param_09 ]](param_0A,var_0B,var_0C,var_0D); - } - - return; - } - - if(!isdefined(var_12)) - { - foreach(var_16 in var_0B) - { - var_16 thread [[ var_0B ]](var_0C,var_0D,var_0E,var_0F,var_10); - } - - return; - } - - if(!isdefined(var_15)) - { - foreach(var_18 in var_0D) - { - var_18 thread [[ var_0D ]](var_0E,var_0F,var_10,var_11,var_12,var_13); - } - - return; - } - - if(!isdefined(var_18)) - { - foreach(var_1A in var_0F) - { - var_1A thread [[ var_0F ]](var_10,var_11,var_12,var_13,var_14,var_15,var_16); - } - - return; - } - - if(!isdefined(var_1B)) - { - foreach(var_1C in var_11) - { - var_1C thread [[ var_11 ]](var_12,var_13,var_14,var_15,var_16,var_17,var_18,var_19); - } - - return; - } - - foreach(var_1E in var_13) - { - var_1E thread [[ var_13 ]](var_14,var_15,var_16,var_17,var_18,var_19,var_1A,var_1B,var_1C); - } -} - -//Function Number: 48 -array_call(param_00,param_01,param_02,param_03,param_04) -{ - if(isdefined(param_04)) - { - foreach(var_06 in param_00) - { - var_06 [[ param_01 ]](param_02,param_03,param_04); - } - - return; - } - - if(isdefined(var_06)) - { - foreach(var_08 in param_03) - { - var_08 [[ param_03 ]](param_04,var_05); - } - - return; - } - - if(isdefined(var_07)) - { - foreach(var_0A in var_05) - { - var_0A [[ var_05 ]](var_06); - } - - return; - } - - foreach(var_0C in var_07) - { - var_0C [[ var_07 ]](); - } -} - -//Function Number: 49 -noself_array_call(param_00,param_01,param_02,param_03,param_04) -{ - if(isdefined(param_04)) - { - foreach(var_06 in param_00) - { - [[ param_01 ]](var_06,param_02,param_03,param_04); - } - - return; - } - - if(isdefined(var_06)) - { - foreach(var_08 in param_03) - { - [[ param_03 ]](var_08,param_04,var_05); - } - - return; - } - - if(isdefined(var_07)) - { - foreach(var_0A in var_05) - { - [[ var_05 ]](var_0A,var_06); - } - - return; - } - - foreach(var_0C in var_07) - { - [[ var_07 ]](var_0C); - } -} - -//Function Number: 50 -array_thread4(param_00,param_01,param_02,param_03,param_04,param_05) -{ - array_thread(param_00,param_01,param_02,param_03,param_04,param_05); -} - -//Function Number: 51 -array_thread5(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - array_thread(param_00,param_01,param_02,param_03,param_04,param_05,param_06); -} - -//Function Number: 52 -trigger_on(param_00,param_01) -{ - if(isdefined(param_00) && isdefined(param_01)) - { - var_02 = getentarray(param_00,param_01); - array_thread(var_02,::trigger_on_proc); - return; - } - - trigger_on_proc(); -} - -//Function Number: 53 -trigger_on_proc() -{ - if(isdefined(self.realorigin)) - { - self.origin = self.realorigin; - } - - self.trigger_off = undefined; -} - -//Function Number: 54 -trigger_off(param_00,param_01) -{ - if(isdefined(param_00) && isdefined(param_01)) - { - var_02 = getentarray(param_00,param_01); - array_thread(var_02,::trigger_off_proc); - return; - } - - trigger_off_proc(); -} - -//Function Number: 55 -trigger_off_proc() -{ - if(!isdefined(self.realorigin)) - { - self.realorigin = self.origin; - } - - if(self.origin == self.realorigin) - { - self.origin = self.origin + (0,0,-10000); - } - - self.trigger_off = 1; -} - -//Function Number: 56 -set_trigger_flag_permissions(param_00) -{ - if(!isdefined(level.trigger_flags)) - { - return; - } - - level.trigger_flags[param_00] = array_removeundefined(level.trigger_flags[param_00]); - array_thread(level.trigger_flags[param_00],::update_trigger_based_on_flags); -} - -//Function Number: 57 -update_trigger_based_on_flags() -{ - var_00 = 1; - if(isdefined(self.script_flag_true)) - { - var_00 = 0; - var_01 = create_flags_and_return_tokens(self.script_flag_true); - foreach(var_03 in var_01) - { - if(flag(var_03)) - { - var_00 = 1; - break; - } - } - } - - var_05 = 1; - if(isdefined(self.script_flag_false)) - { - var_01 = create_flags_and_return_tokens(self.script_flag_false); - foreach(var_03 in var_01) - { - if(flag(var_03)) - { - var_05 = 0; - break; - } - } - } - - [[ level.trigger_func[var_00 && var_05] ]](); -} - -//Function Number: 58 -create_flags_and_return_tokens(param_00) -{ - var_01 = strtok(param_00," "); - for(var_02 = 0;var_02 < var_01.size;var_02++) - { - if(!isdefined(level.flag[var_01[var_02]])) - { - flag_init(var_01[var_02]); - } - } - - return var_01; -} - -//Function Number: 59 -init_trigger_flags() -{ - level.trigger_flags = []; - level.trigger_func[1] = ::trigger_on; - level.trigger_func[0] = ::trigger_off; -} - -//Function Number: 60 -getstruct(param_00,param_01) -{ - var_02 = level.struct_class_names[param_01][param_00]; - if(!isdefined(var_02)) - { - return undefined; - } - - if(var_02.size > 1) - { - return undefined; - } - - return var_02[0]; -} - -//Function Number: 61 -getstructarray(param_00,param_01) -{ - var_02 = level.struct_class_names[param_01][param_00]; - if(!isdefined(var_02)) - { - return []; - } - - return var_02; -} - -//Function Number: 62 -struct_class_init() -{ - level.struct_class_names = []; - level.struct_class_names["target"] = []; - level.struct_class_names["targetname"] = []; - level.struct_class_names["script_noteworthy"] = []; - level.struct_class_names["script_linkname"] = []; - foreach(var_01 in level.struct) - { - add_struct_to_global_array(var_01); - } -} - -//Function Number: 63 -add_struct_to_global_array(param_00) -{ - if(isdefined(param_00.targetname)) - { - if(!isdefined(level.struct_class_names["targetname"][param_00.targetname])) - { - level.struct_class_names["targetname"][param_00.targetname] = []; - } - - var_01 = level.struct_class_names["targetname"][param_00.targetname].size; - level.struct_class_names["targetname"][param_00.targetname][var_01] = param_00; - } - - if(isdefined(param_00.target)) - { - if(!isdefined(level.struct_class_names["target"][param_00.target])) - { - level.struct_class_names["target"][param_00.target] = []; - } - - var_01 = level.struct_class_names["target"][param_00.target].size; - level.struct_class_names["target"][param_00.target][var_01] = param_00; - } - - if(isdefined(param_00.script_noteworthy)) - { - if(!isdefined(level.struct_class_names["script_noteworthy"][param_00.script_noteworthy])) - { - level.struct_class_names["script_noteworthy"][param_00.script_noteworthy] = []; - } - - var_01 = level.struct_class_names["script_noteworthy"][param_00.script_noteworthy].size; - level.struct_class_names["script_noteworthy"][param_00.script_noteworthy][var_01] = param_00; - } - - if(isdefined(param_00.script_linkname)) - { - if(!isdefined(level.struct_class_names["script_linkname"][param_00.script_linkname])) - { - level.struct_class_names["script_linkname"][param_00.script_linkname] = []; - } - - var_01 = level.struct_class_names["script_linkname"][param_00.script_linkname].size; - level.struct_class_names["script_linkname"][param_00.script_linkname][0] = param_00; - } -} - -//Function Number: 64 -fileprint_start(param_00) -{ -} - -//Function Number: 65 -fileprint_map_start() -{ -} - -//Function Number: 66 -fileprint_map_header(param_00) -{ - if(!isdefined(param_00)) - { - param_00 = 0; - } -} - -//Function Number: 67 -fileprint_map_keypairprint(param_00,param_01) -{ -} - -//Function Number: 68 -fileprint_map_entity_start() -{ -} - -//Function Number: 69 -fileprint_map_entity_end() -{ -} - -//Function Number: 70 -fileprint_radiant_vec(param_00) -{ -} - -//Function Number: 71 -array_remove(param_00,param_01) -{ - var_02 = []; - foreach(var_04 in param_00) - { - if(var_04 != param_01) - { - var_02[var_02.size] = var_04; - } - } - - return var_02; -} - -//Function Number: 72 -array_remove_array(param_00,param_01) -{ - foreach(var_03 in param_01) - { - param_00 = array_remove(param_00,var_03); - } - - return param_00; -} - -//Function Number: 73 -array_removeundefined(param_00) -{ - var_01 = []; - foreach(var_03 in param_00) - { - if(!isdefined(var_03)) - { - continue; - } - - var_01[var_01.size] = var_03; - } - - return var_01; -} - -//Function Number: 74 -array_remove_duplicates(param_00) -{ - var_01 = []; - foreach(var_03 in param_00) - { - if(!isdefined(var_03)) - { - continue; - } - - var_04 = 1; - foreach(var_06 in var_01) - { - if(var_03 == var_06) - { - var_04 = 0; - break; - } - } - - if(var_04) - { - var_01[var_01.size] = var_03; - } - } - - return var_01; -} - -//Function Number: 75 -array_levelthread(param_00,param_01,param_02,param_03,param_04) -{ - if(isdefined(param_04)) - { - foreach(var_06 in param_00) - { - thread [[ param_01 ]](var_06,param_02,param_03,param_04); - } - - return; - } - - if(isdefined(var_06)) - { - foreach(var_08 in param_03) - { - thread [[ param_03 ]](var_08,param_04,var_05); - } - - return; - } - - if(isdefined(var_07)) - { - foreach(var_0A in var_05) - { - thread [[ var_05 ]](var_0A,var_06); - } - - return; - } - - foreach(var_0C in var_07) - { - thread [[ var_07 ]](var_0C); - } -} - -//Function Number: 76 -array_levelcall(param_00,param_01,param_02,param_03,param_04) -{ - if(isdefined(param_04)) - { - foreach(var_06 in param_00) - { - [[ param_01 ]](var_06,param_02,param_03,param_04); - } - - return; - } - - if(isdefined(var_06)) - { - foreach(var_08 in param_03) - { - [[ param_03 ]](var_08,param_04,var_05); - } - - return; - } - - if(isdefined(var_07)) - { - foreach(var_0A in var_05) - { - [[ var_05 ]](var_0A,var_06); - } - - return; - } - - foreach(var_0C in var_07) - { - [[ var_07 ]](var_0C); - } -} - -//Function Number: 77 -add_to_array(param_00,param_01) -{ - if(!isdefined(param_01)) - { - return param_00; - } - - if(!isdefined(param_00)) - { - param_00[0] = param_01; - } - else - { - param_00[param_00.size] = param_01; - } - - return param_00; -} - -//Function Number: 78 -flag_assert(param_00) -{ -} - -//Function Number: 79 -flag_wait_either(param_00,param_01) -{ - for(;;) - { - if(flag(param_00)) - { - return; - } - - if(flag(param_01)) - { - return; - } - - level waittill_either(param_00,param_01); - } -} - -//Function Number: 80 -flag_wait_either_return(param_00,param_01) -{ - for(;;) - { - if(flag(param_00)) - { - return param_00; - } - - if(flag(param_01)) - { - return param_01; - } - - var_02 = level waittill_any_return(param_00,param_01); - return var_02; - } -} - -//Function Number: 81 -flag_waitopen_either(param_00,param_01) -{ - for(;;) - { - if(!flag(param_00)) - { - return param_00; - } - - if(!flag(param_01)) - { - return param_01; - } - - level waittill_either(param_00,param_01); - } -} - -//Function Number: 82 -flag_waitopen_either_return(param_00,param_01) -{ - return flag_waitopen_either(param_00,param_01); -} - -//Function Number: 83 -flag_wait_any(param_00,param_01,param_02,param_03,param_04,param_05) -{ - var_06 = []; - if(isdefined(param_05)) - { - var_06[var_06.size] = param_00; - var_06[var_06.size] = param_01; - var_06[var_06.size] = param_02; - var_06[var_06.size] = param_03; - var_06[var_06.size] = param_04; - var_06[var_06.size] = param_05; - } - else if(isdefined(param_04)) - { - var_06[var_06.size] = param_00; - var_06[var_06.size] = param_01; - var_06[var_06.size] = param_02; - var_06[var_06.size] = param_03; - var_06[var_06.size] = param_04; - } - else if(isdefined(param_03)) - { - var_06[var_06.size] = param_00; - var_06[var_06.size] = param_01; - var_06[var_06.size] = param_02; - var_06[var_06.size] = param_03; - } - else if(isdefined(param_02)) - { - var_06[var_06.size] = param_00; - var_06[var_06.size] = param_01; - var_06[var_06.size] = param_02; - } - else if(isdefined(param_01)) - { - flag_wait_either(param_00,param_01); - return; - } - else - { - return; - } - - for(;;) - { - for(var_07 = 0;var_07 < var_06.size;var_07++) - { - if(flag(var_06[var_07])) - { - return; - } - } - - level waittill_any(param_00,param_01,param_02,param_03,param_04,param_05); - } -} - -//Function Number: 84 -flag_wait_any_return(param_00,param_01,param_02,param_03,param_04) -{ - var_05 = []; - if(isdefined(param_04)) - { - var_05[var_05.size] = param_00; - var_05[var_05.size] = param_01; - var_05[var_05.size] = param_02; - var_05[var_05.size] = param_03; - var_05[var_05.size] = param_04; - } - else if(isdefined(param_03)) - { - var_05[var_05.size] = param_00; - var_05[var_05.size] = param_01; - var_05[var_05.size] = param_02; - var_05[var_05.size] = param_03; - } - else if(isdefined(param_02)) - { - var_05[var_05.size] = param_00; - var_05[var_05.size] = param_01; - var_05[var_05.size] = param_02; - } - else if(isdefined(param_01)) - { - var_06 = flag_wait_either_return(param_00,param_01); - return var_06; - } - else - { - return; - } - - for(;;) - { - for(var_07 = 0;var_07 < var_06.size;var_07++) - { - if(flag(var_06[var_07])) - { - return var_06[var_07]; - } - } - - var_06 = level waittill_any_return(param_01,param_02,param_03,param_04,var_05); - return var_07; - } -} - -//Function Number: 85 -flag_wait_all(param_00,param_01,param_02,param_03) -{ - if(isdefined(param_00)) - { - flag_wait(param_00); - } - - if(isdefined(param_01)) - { - flag_wait(param_01); - } - - if(isdefined(param_02)) - { - flag_wait(param_02); - } - - if(isdefined(param_03)) - { - flag_wait(param_03); - } -} - -//Function Number: 86 -flag_wait_or_timeout(param_00,param_01) -{ - var_02 = param_01 * 1000; - var_03 = gettime(); - for(;;) - { - if(flag(param_00)) - { - break; - } - - if(gettime() >= var_03 + var_02) - { - break; - } - - var_04 = var_02 - gettime() - var_03; - var_05 = var_04 / 1000; - wait_for_flag_or_time_elapses(param_00,var_05); - } -} - -//Function Number: 87 -flag_waitopen_or_timeout(param_00,param_01) -{ - var_02 = gettime(); - for(;;) - { - if(!flag(param_00)) - { - break; - } - - if(gettime() >= var_02 + param_01 * 1000) - { - break; - } - - wait_for_flag_or_time_elapses(param_00,param_01); - } -} - -//Function Number: 88 -wait_for_flag_or_time_elapses(param_00,param_01) -{ - level endon(param_00); - wait(param_01); -} - -//Function Number: 89 -delaycall(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A) -{ - thread delaycall_proc(param_01,param_00,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A); -} - -//Function Number: 90 -delaycall_proc(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A) -{ - if(issp()) - { - self endon("death"); - self endon("stop_delay_call"); - } - - wait(param_01); - if(isdefined(param_0A)) - { - self [[ param_00 ]](param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A); - return; - } - - if(isdefined(param_09)) - { - self [[ param_00 ]](param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09); - return; - } - - if(isdefined(param_08)) - { - self [[ param_00 ]](param_02,param_03,param_04,param_05,param_06,param_07,param_08); - return; - } - - if(isdefined(param_07)) - { - self [[ param_00 ]](param_02,param_03,param_04,param_05,param_06,param_07); - return; - } - - if(isdefined(param_06)) - { - self [[ param_00 ]](param_02,param_03,param_04,param_05,param_06); - return; - } - - if(isdefined(param_05)) - { - self [[ param_00 ]](param_02,param_03,param_04,param_05); - return; - } - - if(isdefined(param_04)) - { - self [[ param_00 ]](param_02,param_03,param_04); - return; - } - - if(isdefined(param_03)) - { - self [[ param_00 ]](param_02,param_03); - return; - } - - if(isdefined(param_02)) - { - self [[ param_00 ]](param_02); - return; - } - - self [[ param_00 ]](); -} - -//Function Number: 91 -delay_script_call(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A) -{ - thread delay_script_call_proc(param_01,param_00,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A); -} - -//Function Number: 92 -delay_script_call_proc(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A) -{ - wait(param_01); - if(isdefined(param_0A)) - { - self [[ param_00 ]](param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A); - return; - } - - if(isdefined(param_09)) - { - self [[ param_00 ]](param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09); - return; - } - - if(isdefined(param_08)) - { - self [[ param_00 ]](param_02,param_03,param_04,param_05,param_06,param_07,param_08); - return; - } - - if(isdefined(param_07)) - { - self [[ param_00 ]](param_02,param_03,param_04,param_05,param_06,param_07); - return; - } - - if(isdefined(param_06)) - { - self [[ param_00 ]](param_02,param_03,param_04,param_05,param_06); - return; - } - - if(isdefined(param_05)) - { - self [[ param_00 ]](param_02,param_03,param_04,param_05); - return; - } - - if(isdefined(param_04)) - { - self [[ param_00 ]](param_02,param_03,param_04); - return; - } - - if(isdefined(param_03)) - { - self [[ param_00 ]](param_02,param_03); - return; - } - - if(isdefined(param_02)) - { - self [[ param_00 ]](param_02); - return; - } - - self [[ param_00 ]](); -} - -//Function Number: 93 -noself_delaycall(param_00,param_01,param_02,param_03,param_04,param_05) -{ - thread noself_delaycall_proc(param_01,param_00,param_02,param_03,param_04,param_05); -} - -//Function Number: 94 -noself_delaycall_proc(param_00,param_01,param_02,param_03,param_04,param_05) -{ - wait(param_01); - if(isdefined(param_05)) - { - [[ param_00 ]](param_02,param_03,param_04,param_05); - return; - } - - if(isdefined(param_04)) - { - [[ param_00 ]](param_02,param_03,param_04); - return; - } - - if(isdefined(param_03)) - { - [[ param_00 ]](param_02,param_03); - return; - } - - if(isdefined(param_02)) - { - [[ param_00 ]](param_02); - return; - } - - [[ param_00 ]](); -} - -//Function Number: 95 -issp() -{ - if(!isdefined(level.issp)) - { - level.issp = !string_starts_with(getdvar("mapname"),"mp_"); - } - - return level.issp; -} - -//Function Number: 96 -issp_towerdefense() -{ - if(!isdefined(level.issp_towerdefense)) - { - level.issp_towerdefense = string_starts_with(getdvar("mapname"),"so_td_"); - } - - return level.issp_towerdefense; -} - -//Function Number: 97 -string_starts_with(param_00,param_01) -{ - if(param_00.size < param_01.size) - { - return 0; - } - - for(var_02 = 0;var_02 < param_01.size;var_02++) - { - if(tolower(param_00[var_02]) != tolower(param_01[var_02])) - { - return 0; - } - } - - return 1; -} - -//Function Number: 98 -string_find(param_00,param_01) -{ - if(param_00.size < param_01.size) - { - return -1; - } - - if(param_01.size == 0) - { - return 0; - } - - var_02 = 0; - var_03 = 0; - while(var_02 < param_00.size) - { - if(tolower(param_00[var_02]) == tolower(param_01[var_03])) - { - var_03++; - } - else - { - var_03 = 0; - if(tolower(param_00[var_02]) == tolower(param_01[var_03])) - { - var_03++; - } - else if(var_02 > param_00.size - param_01.size) - { - return -1; - } - } - - if(var_03 >= param_01.size) - { - return var_02 - var_03 + 1; - } - - var_02++; - } - - return -1; -} - -//Function Number: 99 -plot_points(param_00,param_01,param_02,param_03,param_04) -{ - var_05 = param_00[0]; - if(!isdefined(param_01)) - { - param_01 = 1; - } - - if(!isdefined(param_02)) - { - param_02 = 1; - } - - if(!isdefined(param_03)) - { - param_03 = 1; - } - - if(!isdefined(param_04)) - { - param_04 = 0.05; - } - - for(var_06 = 1;var_06 < param_00.size;var_06++) - { - thread draw_line_for_time(var_05,param_00[var_06],param_01,param_02,param_03,param_04); - var_05 = param_00[var_06]; - } -} - -//Function Number: 100 -draw_line_for_time(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - if(!isdefined(param_06)) - { - param_06 = 0; - } - - param_05 = gettime() + param_05 * 1000; - while(gettime() < param_05) - { - wait(0.05); - } -} - -//Function Number: 101 -table_combine(param_00,param_01) -{ - var_02 = []; - foreach(var_05, var_04 in param_00) - { - var_02[var_05] = var_04; - } - - foreach(var_05, var_04 in param_01) - { - var_02[var_05] = var_04; - } - - return var_02; -} - -//Function Number: 102 -array_combine(param_00,param_01) -{ - var_02 = []; - foreach(var_04 in param_00) - { - if(isdefined(var_04)) - { - var_02[var_02.size] = var_04; - } - } - - foreach(var_04 in param_01) - { - if(isdefined(var_04)) - { - var_02[var_02.size] = var_04; - } - } - - return var_02; -} - -//Function Number: 103 -array_combine_non_integer_indices(param_00,param_01) -{ - var_02 = []; - foreach(var_05, var_04 in param_00) - { - var_02[var_05] = var_04; - } - - foreach(var_05, var_04 in param_01) - { - var_02[var_05] = var_04; - } - - return var_02; -} - -//Function Number: 104 -array_randomize(param_00) -{ - for(var_01 = 0;var_01 < param_00.size;var_01++) - { - var_02 = randomint(param_00.size); - var_03 = param_00[var_01]; - param_00[var_01] = param_00[var_02]; - param_00[var_02] = var_03; - } - - return param_00; -} - -//Function Number: 105 -array_add(param_00,param_01) -{ - param_00[param_00.size] = param_01; - return param_00; -} - -//Function Number: 106 -array_first(param_00) -{ - var_01 = undefined; - foreach(var_03 in param_00) - { - var_01 = var_03; - break; - } - - return var_01; -} - -//Function Number: 107 -array_insert(param_00,param_01,param_02) -{ - if(param_02 == param_00.size) - { - var_03 = param_00; - var_03[var_03.size] = param_01; - return var_03; - } - - var_03 = []; - var_04 = 0; - for(var_05 = 0;var_05 < param_00.size;var_05++) - { - if(var_05 == param_02) - { - var_03[var_05] = param_01; - var_04 = 1; - } - - var_03[var_05 + var_04] = param_00[var_05]; - } - - return var_03; -} - -//Function Number: 108 -array_contains(param_00,param_01) -{ - if(param_00.size <= 0) - { - return 0; - } - - foreach(var_03 in param_00) - { - if(var_03 == param_01) - { - return 1; - } - } - - return 0; -} - -//Function Number: 109 -array_find(param_00,param_01) -{ - foreach(var_04, var_03 in param_00) - { - if(var_03 == param_01) - { - return var_04; - } - } - - return undefined; -} - -//Function Number: 110 -flat_angle(param_00) -{ - var_01 = (0,param_00[1],0); - return var_01; -} - -//Function Number: 111 -flat_origin(param_00) -{ - var_01 = (param_00[0],param_00[1],0); - return var_01; -} - -//Function Number: 112 -draw_arrow_time(param_00,param_01,param_02,param_03) -{ - level endon("newpath"); - var_04 = []; - var_05 = vectortoangles(param_00 - param_01); - var_06 = anglestoright(var_05); - var_07 = anglestoforward(var_05); - var_08 = anglestoup(var_05); - var_09 = distance(param_00,param_01); - var_0A = []; - var_0B = 0.1; - var_0A[0] = param_00; - var_0A[1] = param_00 + var_06 * var_09 * var_0B + var_07 * var_09 * -0.1; - var_0A[2] = param_01; - var_0A[3] = param_00 + var_06 * var_09 * -1 * var_0B + var_07 * var_09 * -0.1; - var_0A[4] = param_00; - var_0A[5] = param_00 + var_08 * var_09 * var_0B + var_07 * var_09 * -0.1; - var_0A[6] = param_01; - var_0A[7] = param_00 + var_08 * var_09 * -1 * var_0B + var_07 * var_09 * -0.1; - var_0A[8] = param_00; - var_0C = param_02[0]; - var_0D = param_02[1]; - var_0E = param_02[2]; - plot_points(var_0A,var_0C,var_0D,var_0E,param_03); -} - -//Function Number: 113 -get_linked_ents() -{ - var_00 = []; - if(isdefined(self.script_linkto)) - { - var_01 = get_links(); - foreach(var_03 in var_01) - { - var_04 = getentarray(var_03,"script_linkname"); - if(var_04.size > 0) - { - var_00 = array_combine(var_00,var_04); - } - } - } - - return var_00; -} - -//Function Number: 114 -get_linked_vehicle_nodes() -{ - var_00 = []; - if(isdefined(self.script_linkto)) - { - var_01 = get_links(); - foreach(var_03 in var_01) - { - var_04 = getvehiclenodearray(var_03,"script_linkname"); - if(var_04.size > 0) - { - var_00 = array_combine(var_00,var_04); - } - } - } - - return var_00; -} - -//Function Number: 115 -get_linked_ent() -{ - var_00 = get_linked_ents(); - return var_00[0]; -} - -//Function Number: 116 -get_linked_vehicle_node() -{ - var_00 = get_linked_vehicle_nodes(); - return var_00[0]; -} - -//Function Number: 117 -get_links() -{ - return strtok(self.script_linkto," "); -} - -//Function Number: 118 -run_thread_on_targetname(param_00,param_01,param_02,param_03,param_04) -{ - var_05 = getentarray(param_00,"targetname"); - array_thread(var_05,param_01,param_02,param_03,param_04); - var_05 = getstructarray(param_00,"targetname"); - array_thread(var_05,param_01,param_02,param_03,param_04); - var_05 = [[ level.getnodearrayfunction ]](param_00,"targetname"); - array_thread(var_05,param_01,param_02,param_03,param_04); - var_05 = getvehiclenodearray(param_00,"targetname"); - array_thread(var_05,param_01,param_02,param_03,param_04); -} - -//Function Number: 119 -run_thread_on_noteworthy(param_00,param_01,param_02,param_03,param_04) -{ - var_05 = getentarray(param_00,"script_noteworthy"); - array_thread(var_05,param_01,param_02,param_03,param_04); - var_05 = getstructarray(param_00,"script_noteworthy"); - array_thread(var_05,param_01,param_02,param_03,param_04); - var_05 = [[ level.getnodearrayfunction ]](param_00,"script_noteworthy"); - array_thread(var_05,param_01,param_02,param_03,param_04); - var_05 = getvehiclenodearray(param_00,"script_noteworthy"); - array_thread(var_05,param_01,param_02,param_03,param_04); -} - -//Function Number: 120 -draw_arrow(param_00,param_01,param_02) -{ - level endon("newpath"); - var_03 = []; - var_04 = vectortoangles(param_00 - param_01); - var_05 = anglestoright(var_04); - var_06 = anglestoforward(var_04); - var_07 = distance(param_00,param_01); - var_08 = []; - var_09 = 0.05; - var_08[0] = param_00; - var_08[1] = param_00 + var_05 * var_07 * var_09 + var_06 * var_07 * -0.2; - var_08[2] = param_01; - var_08[3] = param_00 + var_05 * var_07 * -1 * var_09 + var_06 * var_07 * -0.2; - for(var_0A = 0;var_0A < 4;var_0A++) - { - var_0B = var_0A + 1; - if(var_0B >= 4) - { - var_0B = 0; - } - } -} - -//Function Number: 121 -draw_entity_bounds(param_00,param_01,param_02,param_03,param_04) -{ - if(!isdefined(param_02)) - { - param_02 = (0,1,0); - } - - if(!isdefined(param_03)) - { - param_03 = 0; - } - - if(!isdefined(param_04)) - { - param_04 = 0.05; - } - - if(param_03) - { - var_05 = int(param_04 / 0.05); - } - else - { - var_05 = int(param_02 / 0.05); - } - - var_06 = []; - var_07 = []; - var_08 = gettime(); - var_09 = var_08 + param_01 * 1000; - while(var_08 < var_09 && isdefined(param_00)) - { - var_06[0] = param_00 getpointinbounds(1,1,1); - var_06[1] = param_00 getpointinbounds(1,1,-1); - var_06[2] = param_00 getpointinbounds(-1,1,-1); - var_06[3] = param_00 getpointinbounds(-1,1,1); - var_07[0] = param_00 getpointinbounds(1,-1,1); - var_07[1] = param_00 getpointinbounds(1,-1,-1); - var_07[2] = param_00 getpointinbounds(-1,-1,-1); - var_07[3] = param_00 getpointinbounds(-1,-1,1); - for(var_0A = 0;var_0A < 4;var_0A++) - { - var_0B = var_0A + 1; - if(var_0B == 4) - { - var_0B = 0; - } - } - - if(!param_03) - { - return; - } - - wait(param_04); - var_08 = gettime(); - } -} - -//Function Number: 122 -draw_volume(param_00,param_01,param_02,param_03,param_04) -{ - draw_entity_bounds(param_00,param_01,param_02,param_03,param_04); -} - -//Function Number: 123 -draw_trigger(param_00,param_01,param_02,param_03,param_04) -{ - draw_entity_bounds(param_00,param_01,param_02,param_03,param_04); -} - -//Function Number: 124 -getfx(param_00) -{ - return level._effect[param_00]; -} - -//Function Number: 125 -fxexists(param_00) -{ - return isdefined(level._effect[param_00]); -} - -//Function Number: 126 -print_csv_asset(param_00,param_01) -{ - var_02 = param_01 + "," + param_00; - if(isdefined(level.csv_lines[var_02])) - { - return; - } - - level.csv_lines[var_02] = 1; -} - -//Function Number: 127 -fileprint_csv_start(param_00) -{ -} - -//Function Number: 128 -getlastweapon() -{ - return self.saved_lastweapon; -} - -//Function Number: 129 -playerunlimitedammothread() -{ -} - -//Function Number: 130 -isusabilityenabled() -{ - return !self.disabledusability; -} - -//Function Number: 131 -_disableusability() -{ - if(!isdefined(self.disabledusability)) - { - self.disabledusability = 0; - } - - self.disabledusability++; - self disableusability(); -} - -//Function Number: 132 -_enableusability() -{ - if(!isdefined(self.disabledusability)) - { - self.disabledusability = 0; - return; - } - - if(self.disabledusability > 0) - { - self.disabledusability--; - if(self.disabledusability == 0) - { - self enableusability(); - return; - } - } -} - -//Function Number: 133 -resetusability() -{ - self.disabledusability = 0; - self enableusability(); -} - -//Function Number: 134 -_disableweapon() -{ - if(!isdefined(self.disabledweapon)) - { - self.disabledweapon = 0; - } - - self.disabledweapon++; - self disableweapons(); -} - -//Function Number: 135 -_enableweapon() -{ - if(!isdefined(self.disabledweapon)) - { - self.disabledweapon = 0; - } - - self.disabledweapon--; - if(!self.disabledweapon) - { - self enableweapons(); - } -} - -//Function Number: 136 -isweaponenabled() -{ - return !self.disabledweapon; -} - -//Function Number: 137 -_disableweaponswitch() -{ - if(!isdefined(self.disabledweaponswitch)) - { - self.disabledweaponswitch = 0; - } - - self.disabledweaponswitch++; - self disableweaponswitch(); -} - -//Function Number: 138 -_enableweaponswitch() -{ - if(!isdefined(self.disabledweaponswitch)) - { - self.disabledweaponswitch = 0; - } - - self.disabledweaponswitch--; - if(!self.disabledweaponswitch) - { - if(isdefined(level.hordeweaponsjammed) && level.hordeweaponsjammed == 1) - { - return; - } - - self enableweaponswitch(); - } -} - -//Function Number: 139 -isweaponswitchenabled() -{ - return !self.disabledweaponswitch; -} - -//Function Number: 140 -_disableoffhandweapons() -{ - if(!isdefined(self.disabledoffhandweapons)) - { - self.disabledoffhandweapons = 0; - } - - self.disabledoffhandweapons++; - self disableoffhandweapons(); -} - -//Function Number: 141 -_enableoffhandweapons() -{ - if(!isdefined(self.disabledoffhandweapons)) - { - self.disabledoffhandweapons = 0; - } - - self.disabledoffhandweapons--; - if(!self.disabledoffhandweapons) - { - self enableoffhandweapons(); - } -} - -//Function Number: 142 -isoffhandweaponenabled() -{ - return !self.disabledoffhandweapons; -} - -//Function Number: 143 -_enabledetonate(param_00,param_01) -{ - if(!self hasweapon(param_00)) - { - return; - } - - if(self getdetonateenabled(param_00) == param_01) - { - return; - } - - self enabledetonate(param_00,param_01); - if(param_01) - { - self notify("WeaponDetonateEnabled",param_00); - return; - } - - self notify("WeaponDetonateDisabled",param_00); -} - -//Function Number: 144 -random(param_00) -{ - var_01 = []; - foreach(var_03 in param_00) - { - var_01[var_01.size] = var_03; - } - - if(!var_01.size) - { - return undefined; - } - - return var_01[randomint(var_01.size)]; -} - -//Function Number: 145 -random_weight_sorted(param_00) -{ - var_01 = []; - foreach(var_03 in param_00) - { - var_01[var_01.size] = var_03; - } - - if(!var_01.size) - { - return undefined; - } - - var_05 = randomint(var_01.size * var_01.size); - return var_01[var_01.size - 1 - int(sqrt(var_05))]; -} - -//Function Number: 146 -spawn_tag_origin() -{ - var_00 = spawn("script_model",(0,0,0)); - var_00 setmodel("tag_origin"); - var_00 hide(); - if(isdefined(self.origin)) - { - var_00.origin = self.origin; - } - - if(isdefined(self.angles)) - { - var_00.angles = self.angles; - } - - return var_00; -} - -//Function Number: 147 -waittill_notify_or_timeout(param_00,param_01) -{ - self endon(param_00); - wait(param_01); -} - -//Function Number: 148 -waittill_notify_or_timeout_return(param_00,param_01) -{ - self endon(param_00); - wait(param_01); - return "timeout"; -} - -//Function Number: 149 -fileprint_launcher_start_file() -{ - level.fileprintlauncher_linecount = 0; - level.fileprint_launcher = 1; - fileprint_launcher("GAMEPRINTSTARTFILE:"); -} - -//Function Number: 150 -fileprint_launcher(param_00) -{ - level.fileprintlauncher_linecount++; - if(level.fileprintlauncher_linecount > 200) - { - wait(0.05); - level.fileprintlauncher_linecount = 0; - } -} - -//Function Number: 151 -fileprint_launcher_end_file(param_00,param_01) -{ - if(!isdefined(param_01)) - { - param_01 = 0; - } - - if(param_01) - { - fileprint_launcher("GAMEPRINTENDFILE:GAMEPRINTP4ENABLED:" + param_00); - } - else - { - fileprint_launcher("GAMEPRINTENDFILE:" + param_00); - } - - var_02 = gettime() + 4000; - while(getdvarint("LAUNCHER_PRINT_SUCCESS") == 0 && getdvar("LAUNCHER_PRINT_FAIL") == "0" && gettime() < var_02) - { - wait(0.05); - } - - if(!gettime() < var_02) - { - iprintlnbold("LAUNCHER_PRINT_FAIL:( TIMEOUT ): launcherconflict? restart launcher and try again? "); - level.fileprint_launcher = undefined; - return 0; - } - - var_03 = getdvar("LAUNCHER_PRINT_FAIL"); - if(var_03 != "0") - { - iprintlnbold("LAUNCHER_PRINT_FAIL:( " + var_03 + " ): launcherconflict? restart launcher and try again? "); - level.fileprint_launcher = undefined; - return 0; - } - - level.fileprint_launcher = undefined; - return 1; -} - -//Function Number: 152 -launcher_write_clipboard(param_00) -{ - level.fileprintlauncher_linecount = 0; - fileprint_launcher("LAUNCHER_CLIP:" + param_00); -} - -//Function Number: 153 -isdestructible() -{ - if(!isdefined(self)) - { - return 0; - } - - return isdefined(self.destructible_type); -} - -//Function Number: 154 -pauseeffect() -{ - common_scripts\_createfx::stop_fx_looper(); -} - -//Function Number: 155 -activate_individual_exploder() -{ - common_scripts\_exploder::activate_individual_exploder_proc(); -} - -//Function Number: 156 -get_target_ent(param_00) -{ - if(!isdefined(param_00)) - { - param_00 = self.target; - } - - var_01 = getent(param_00,"targetname"); - if(isdefined(var_01)) - { - return var_01; - } - - if(issp()) - { - var_01 = [[ level.getnodefunction ]](param_00,"targetname"); - if(isdefined(var_01)) - { - return var_01; - } - } - - var_01 = getstruct(param_00,"targetname"); - if(isdefined(var_01)) - { - return var_01; - } - - var_01 = getvehiclenode(param_00,"targetname"); - if(isdefined(var_01)) - { - return var_01; - } -} - -//Function Number: 157 -get_noteworthy_ent(param_00) -{ - var_01 = getent(param_00,"script_noteworthy"); - if(isdefined(var_01)) - { - return var_01; - } - - if(issp()) - { - var_01 = [[ level.getnodefunction ]](param_00,"script_noteworthy"); - if(isdefined(var_01)) - { - return var_01; - } - } - - var_01 = getstruct(param_00,"script_noteworthy"); - if(isdefined(var_01)) - { - return var_01; - } - - var_01 = getvehiclenode(param_00,"script_noteworthy"); - if(isdefined(var_01)) - { - return var_01; - } -} - -//Function Number: 158 -do_earthquake(param_00,param_01) -{ - var_02 = level.earthquake[param_00]; - earthquake(var_02["magnitude"],var_02["duration"],param_01,var_02["radius"]); -} - -//Function Number: 159 -play_loopsound_in_space(param_00,param_01) -{ - if(!soundexists(param_00)) - { - return; - } - - var_02 = spawn("script_origin",(0,0,0)); - if(!isdefined(param_01)) - { - param_01 = self.origin; - } - - var_02.origin = param_01; - var_02 playloopsound(param_00); - return var_02; -} - -//Function Number: 160 -play_sound_in_space_with_angles(param_00,param_01,param_02,param_03) -{ - if(!soundexists(param_00)) - { - return; - } - - var_04 = spawn("script_origin",(0,0,1)); - if(!isdefined(param_01)) - { - param_01 = self.origin; - } - - var_04.origin = param_01; - var_04.angles = param_02; - if(issp()) - { - if(isdefined(param_03) && param_03) - { - var_04 playsoundasmaster(param_00,"sounddone"); - } - else - { - var_04 playsound(param_00,"sounddone"); - } - - var_04 waittill("sounddone"); - } - else if(isdefined(param_03) && param_03) - { - var_04 playsoundasmaster(param_00); - } - else - { - var_04 playsound(param_00); - } - - var_04 delete(); -} - -//Function Number: 161 -play_sound_in_space(param_00,param_01,param_02) -{ - play_sound_in_space_with_angles(param_00,param_01,(0,0,0),param_02); -} - -//Function Number: 162 -loop_fx_sound(param_00,param_01,param_02,param_03,param_04) -{ - if(!soundexists(param_00)) - { - return; - } - - if(isdefined(param_03)) - { - param_02 = undefined; - } - - if(isdefined(param_02) && param_02 && !isdefined(level.first_frame) || level.first_frame == 1) - { - spawnloopingsound(param_00,param_01,(0,0,0)); - return; - } - - var_05 = spawn("script_origin",(0,0,0)); - if(isdefined(param_03)) - { - thread loop_sound_delete(param_03,var_05); - self endon(param_03); - } - - var_05.origin = param_01; - var_05 playloopsound(param_00); - var_05 willneverchange(); -} - -//Function Number: 163 -loop_fx_sound_with_angles(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - if(!soundexists(param_00)) - { - return; - } - - if(isdefined(param_03) && param_03) - { - if(!isdefined(level.first_frame) || level.first_frame == 1) - { - spawnloopingsound(param_00,param_01,param_02); - return; - } - - return; - } - - if(isdefined(level.createfx_enabled) && level.createfx_enabled && isdefined(param_05.loopsound_ent)) - { - var_07 = param_05.loopsound_ent; - } - else - { - var_07 = spawn("script_origin",(0,0,0)); - } - - if(isdefined(param_04)) - { - thread loop_sound_delete(param_04,var_07); - self endon(param_04); - } - - var_07.origin = param_01; - var_07.angles = param_02; - var_07 playloopsound(param_00); - if(isdefined(level.createfx_enabled) && level.createfx_enabled) - { - param_05.loopsound_ent = var_07; - return; - } - - var_07 willneverchange(); -} - -//Function Number: 164 -loop_fx_sound_interval(param_00,param_01,param_02,param_03,param_04,param_05) -{ - loop_fx_sound_interval_with_angles(param_00,param_01,(0,0,0),param_02,param_03,param_04,param_05); -} - -//Function Number: 165 -loop_fx_sound_interval_with_angles(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - var_07 = spawn("script_origin",(0,0,0)); - if(isdefined(param_03)) - { - thread loop_sound_delete(param_03,var_07); - self endon(param_03); - } - - var_07.origin = param_01; - var_07.angles = param_02; - if(param_05 >= param_06) - { - wait(0.05); - } - - if(!soundexists(param_00)) - { - wait(0.05); - } - - for(;;) - { - wait(randomfloatrange(param_05,param_06)); - lock("createfx_looper"); - thread play_sound_in_space_with_angles(param_00,var_07.origin,var_07.angles,undefined); - unlock("createfx_looper"); - } -} - -//Function Number: 166 -loop_sound_delete(param_00,param_01) -{ - param_01 endon("death"); - self waittill(param_00); - param_01 delete(); -} - -//Function Number: 167 -createloopeffect(param_00) -{ - var_01 = common_scripts\_createfx::createeffect("loopfx",param_00); - var_01.v["delay"] = common_scripts\_createfx::getloopeffectdelaydefault(); - return var_01; -} - -//Function Number: 168 -createoneshoteffect(param_00) -{ - var_01 = common_scripts\_createfx::createeffect("oneshotfx",param_00); - var_01.v["delay"] = common_scripts\_createfx::getoneshoteffectdelaydefault(); - return var_01; -} - -//Function Number: 169 -createexploder(param_00) -{ - var_01 = common_scripts\_createfx::createeffect("exploder",param_00); - var_01.v["delay"] = common_scripts\_createfx::getexploderdelaydefault(); - var_01.v["exploder_type"] = "normal"; - return var_01; -} - -//Function Number: 170 -alphabetize(param_00) -{ - if(param_00.size <= 1) - { - return param_00; - } - - var_01 = 0; - for(var_02 = param_00.size - 1;var_02 >= 1;var_02--) - { - var_03 = param_00[var_02]; - var_04 = var_02; - for(var_05 = 0;var_05 < var_02;var_05++) - { - var_06 = param_00[var_05]; - if(stricmp(var_06,var_03) > 0) - { - var_03 = var_06; - var_04 = var_05; - } - } - - if(var_04 != var_02) - { - param_00[var_04] = param_00[var_02]; - param_00[var_02] = var_03; - } - } - - return param_00; -} - -//Function Number: 171 -is_later_in_alphabet(param_00,param_01) -{ - return stricmp(param_00,param_01) > 0; -} - -//Function Number: 172 -play_loop_sound_on_entity(param_00,param_01) -{ - if(!soundexists(param_00)) - { - return; - } - - var_02 = spawn("script_origin",(0,0,0)); - var_02 endon("death"); - thread delete_on_death(var_02); - if(isdefined(param_01)) - { - var_02.origin = self.origin + param_01; - var_02.angles = self.angles; - var_02 vehicle_jetbikesethoverforcescale(self); - } - else - { - var_02.origin = self.origin; - var_02.angles = self.angles; - var_02 vehicle_jetbikesethoverforcescale(self); - } - - var_02 playloopsound(param_00); - self waittill("stop sound" + param_00); - var_02 stoploopsound(param_00); - var_02 delete(); -} - -//Function Number: 173 -stop_loop_sound_on_entity(param_00) -{ - self notify("stop sound" + param_00); -} - -//Function Number: 174 -delete_on_death(param_00) -{ - param_00 endon("death"); - self waittill("death"); - if(isdefined(param_00)) - { - param_00 delete(); - } -} - -//Function Number: 175 -error(param_00) -{ - wait 0.05; -} - -//Function Number: 176 -create_dvar(param_00,param_01) -{ - setdvarifuninitialized(param_00,param_01); -} - -//Function Number: 177 -void(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B,param_0C,param_0D) -{ -} - -//Function Number: 178 -tag_project(param_00,param_01) -{ - var_02 = self gettagorigin(param_00); - var_03 = self gettagangles(param_00); - var_04 = anglestoforward(var_03); - var_04 = vectornormalize(var_04) * param_01; - return var_02 + var_04; -} - -//Function Number: 179 -ter_op(param_00,param_01,param_02) -{ - if(param_00) - { - return param_01; - } - - return param_02; -} - -//Function Number: 180 -create_lock(param_00,param_01) -{ - if(!isdefined(param_01)) - { - param_01 = 1; - } - - if(!isdefined(level.lock)) - { - level.lock = []; - } - - var_02 = spawnstruct(); - var_02.max_count = param_01; - var_02.count = 0; - level.lock[param_00] = var_02; -} - -//Function Number: 181 -lock_exists(param_00) -{ - if(!isdefined(level.lock)) - { - return 0; - } - - return isdefined(level.lock[param_00]); -} - -//Function Number: 182 -lock(param_00) -{ - for(var_01 = level.lock[param_00];var_01.count >= var_01.max_count;var_01 waittill("unlocked")) - { - } - - var_01.count++; -} - -//Function Number: 183 -is_locked(param_00) -{ - var_01 = level.lock[param_00]; - return var_01.count > var_01.max_count; -} - -//Function Number: 184 -unlock_wait(param_00) -{ - thread unlock_thread(param_00); - wait(0.05); -} - -//Function Number: 185 -unlock(param_00) -{ - thread unlock_thread(param_00); -} - -//Function Number: 186 -unlock_thread(param_00) -{ - wait(0.05); - var_01 = level.lock[param_00]; - var_01.count--; - var_01 notify("unlocked"); -} - -//Function Number: 187 -get_template_level() -{ - var_00 = level.script; - if(isdefined(level.template_script)) - { - var_00 = level.template_script; - } - - return var_00; -} - -//Function Number: 188 -array_reverse(param_00) -{ - var_01 = []; - for(var_02 = param_00.size - 1;var_02 >= 0;var_02--) - { - var_01[var_01.size] = param_00[var_02]; - } - - return var_01; -} - -//Function Number: 189 -distance_2d_squared(param_00,param_01) -{ - return length2dsquared(param_00 - param_01); -} - -//Function Number: 190 -get_array_of_farthest(param_00,param_01,param_02,param_03,param_04,param_05) -{ - var_06 = get_array_of_closest(param_00,param_01,param_02,param_03,param_04,param_05); - var_06 = array_reverse(var_06); - return var_06; -} - -//Function Number: 191 -get_array_of_closest(param_00,param_01,param_02,param_03,param_04,param_05) -{ - if(!isdefined(param_03)) - { - param_03 = param_01.size; - } - - if(!isdefined(param_02)) - { - param_02 = []; - } - - var_06 = undefined; - if(isdefined(param_04)) - { - var_06 = param_04 * param_04; - } - - var_07 = 0; - if(isdefined(param_05)) - { - var_07 = param_05 * param_05; - } - - if(param_02.size == 0 && param_03 >= param_01.size && var_07 == 0 && !isdefined(var_06)) - { - return sortbydistance(param_01,param_00); - } - - var_08 = []; - foreach(var_0A in param_01) - { - var_0B = 0; - foreach(var_0D in param_02) - { - if(var_0A == var_0D) - { - var_0B = 1; - break; - } - } - - if(var_0B) - { - continue; - } - - var_0F = distancesquared(param_00,var_0A.origin); - if(isdefined(var_06) && var_0F > var_06) - { - continue; - } - - if(var_0F < var_07) - { - continue; - } - - var_08[var_08.size] = var_0A; - } - - var_08 = sortbydistance(var_08,param_00); - if(param_03 >= var_08.size) - { - return var_08; - } - - var_11 = []; - for(var_12 = 0;var_12 < param_03;var_12++) - { - var_11[var_12] = var_08[var_12]; - } - - return var_11; -} - -//Function Number: 192 -is_player_gamepad_enabled() -{ - if(!level.console) - { - var_00 = self usinggamepad(); - if(isdefined(var_00)) - { - return var_00; - } - else - { - return 0; - } - } - - return 1; -} - -//Function Number: 193 -drop_to_ground(param_00,param_01,param_02) -{ - if(!isdefined(param_01)) - { - param_01 = 1500; - } - - if(!isdefined(param_02)) - { - param_02 = -12000; - } - - return physicstrace(param_00 + (0,0,param_01),param_00 + (0,0,param_02)); -} - -//Function Number: 194 -add_destructible_type_function(param_00,param_01) -{ - if(!isdefined(level.destructible_functions)) - { - level.destructible_functions = []; - } - - level.destructible_functions[param_00] = param_01; -} - -//Function Number: 195 -add_destructible_type_transient(param_00,param_01) -{ - if(!isdefined(level.destructible_transient)) - { - level.destructible_transient = []; - } - - level.destructible_transient[param_00] = param_01; -} - -//Function Number: 196 -within_fov(param_00,param_01,param_02,param_03) -{ - var_04 = vectornormalize(param_02 - param_00); - var_05 = anglestoforward(param_01); - var_06 = vectordot(var_05,var_04); - return var_06 >= param_03; -} - -//Function Number: 197 -entity_path_disconnect_thread(param_00) -{ - self notify("entity_path_disconnect_thread"); - self endon("entity_path_disconnect_thread"); - self endon("death"); - level endon("game_ended"); - var_01 = 0; - self.forcedisconnectuntil = 0; - for(;;) - { - var_02 = self.origin; - var_03 = waittill_any_timeout(param_00,"path_disconnect"); - var_04 = 0; - var_05 = distancesquared(self.origin,var_02) > 0; - if(var_05) - { - var_04 = 1; - } - - if(isdefined(var_03) && var_03 == "path_disconnect") - { - var_04 = 1; - } - - if(gettime() < self.forcedisconnectuntil) - { - var_04 = 1; - } - - foreach(var_07 in level.characters) - { - if(isai(var_07) && distancesquared(self.origin,var_07.origin) < 250000) - { - var_04 = 1; - self.forcedisconnectuntil = max(gettime() + 30000,self.forcedisconnectuntil); - } - } - - if(var_04 != var_01 || var_05) - { - if(var_04) - { - self disconnectpaths(); - } - else - { - self connectpaths(); - } - - var_01 = var_04; - } - } -} - -//Function Number: 198 -make_entity_sentient_mp(param_00,param_01) -{ - if(level.gametype == "aliens" && isdefined(level.aliens_make_entity_sentient_func)) - { - return self [[ level.aliens_make_entity_sentient_func ]](param_00,param_01); - } - - if(isdefined(level.bot_funcs) && isdefined(level.bot_funcs["bots_make_entity_sentient"])) - { - return self [[ level.bot_funcs["bots_make_entity_sentient"] ]](param_00,param_01); - } -} - -//Function Number: 199 -ai_3d_sighting_model(param_00) -{ - if(isdefined(level.bot_funcs) && isdefined(level.bot_funcs["ai_3d_sighting_model"])) - { - return self [[ level.bot_funcs["ai_3d_sighting_model"] ]](param_00); - } -} - -//Function Number: 200 -set_basic_animated_model(param_00,param_01,param_02) -{ - if(!isdefined(level.anim_prop_models)) - { - level.anim_prop_models = []; - } - - var_03 = tolower(getdvar("mapname")); - var_04 = 1; - if(string_starts_with(var_03,"mp_")) - { - var_04 = 0; - } - - if(var_04) - { - level.anim_prop_models[param_00]["basic"] = param_01; - return; - } - - level.anim_prop_models[param_00]["basic"] = param_02; -} - -//Function Number: 201 -getclosest(param_00,param_01,param_02) -{ - if(!isdefined(param_02)) - { - param_02 = 500000; - } - - var_03 = undefined; - foreach(var_05 in param_01) - { - if(!isdefined(var_05)) - { - continue; - } - - var_06 = distance(var_05.origin,param_00); - if(var_06 >= param_02) - { - continue; - } - - param_02 = var_06; - var_03 = var_05; - } - - return var_03; -} - -//Function Number: 202 -getfarthest(param_00,param_01,param_02) -{ - if(!isdefined(param_02)) - { - param_02 = 500000; - } - - var_03 = 0; - var_04 = undefined; - foreach(var_06 in param_01) - { - var_07 = distance(var_06.origin,param_00); - if(var_07 <= var_03 || var_07 >= param_02) - { - continue; - } - - var_03 = var_07; - var_04 = var_06; - } - - return var_04; -} - -//Function Number: 203 -missile_settargetandflightmode(param_00,param_01,param_02) -{ - param_02 = ter_op(isdefined(param_02),param_02,(0,0,0)); - self missile_settargetent(param_00,param_02); - switch(param_01) - { - case "direct": - break; - - case "top": - break; - } -} - -//Function Number: 204 -evfromluminancenits(param_00) -{ - return log(param_00 + 6.1E-05) / log(2) + 2.84; -} - -//Function Number: 205 -lineartogamma_srgb(param_00) -{ - if(param_00 <= 0.0031308) - { - return param_00 * 12.92; - } - - return pow(param_00,0.4166667) * 1.055 - 0.055; -} - -//Function Number: 206 -convertlegacyfog(param_00) -{ - if(!isdefined(param_00.hdrcolorintensity)) - { - if(isusinghdr()) - { - var_01 = max(param_00.red,max(param_00.green,param_00.blue)); - var_02 = evfromluminancenits(var_01 * getradiometricunit()); - if(var_01 > 0) - { - param_00.red = param_00.red / var_01; - param_00.green = param_00.green / var_01; - param_00.blue = param_00.blue / var_01; - param_00.red = lineartogamma_srgb(param_00.red); - param_00.green = lineartogamma_srgb(param_00.green); - param_00.blue = lineartogamma_srgb(param_00.blue); - param_00.hdrcolorintensity = var_02; - } - else - { - param_00.hdrcolorintensity = 0; - } - } - else - { - param_00.hdrcolorintensity = 1; - } - } - - if(isdefined(param_00.sunfogenabled) && param_00.sunfogenabled) - { - if(!isdefined(param_00.hdrsuncolorintensity)) - { - if(isusinghdr()) - { - var_01 = max(param_00.red,param_00.green,param_00.blue); - var_02 = evfromluminancenits(var_01 * getradiometricunit()); - if(var_01 > 0) - { - param_00.sunred = param_00.sunred / var_01; - param_00.sungreen = param_00.sungreen / var_01; - param_00.sunblue = param_00.sunblue / var_01; - param_00.sunred = lineartogamma_srgb(param_00.red); - param_00.sungreen = lineartogamma_srgb(param_00.green); - param_00.sunblue = lineartogamma_srgb(param_00.blue); - param_00.hdrsuncolorintensity = var_02; - return; - } - - param_00.hdrsuncolorintensity = 0; - return; - } - - param_00.hdrsuncolorintensity = 1; - return; - } - } -} - -//Function Number: 207 -convertfogtech(param_00) -{ - if(isdefined(level.exclusive_fog_tech)) - { - switch(level.exclusive_fog_tech) - { - case "dfog": - break; - - case "normal_fog": - break; - - default: - break; - } - } -} - -//Function Number: 208 -set_fog_to_ent_values_dfog(param_00,param_01) -{ - if(isdefined(param_00.sunfogenabled) && param_00.sunfogenabled) - { - if(!isplayer(self)) - { - setexpfogext(param_00.startdist,param_00.halfwaydist,param_00.red,param_00.green,param_00.blue,param_00.hdrcolorintensity,param_00.maxopacity,param_01,param_00.sunred,param_00.sungreen,param_00.sunblue,param_00.hdrsuncolorintensity,param_00.sundir,param_00.sunbeginfadeangle,param_00.sunendfadeangle,param_00.normalfogscale,param_00.skyfogintensity,param_00.skyfogminangle,param_00.skyfogmaxangle,param_00.heightfogenabled,param_00.heightfogbaseheight,param_00.heightfoghalfplanedistance); - return; - } - - self playersetexpfogext(param_00.startdist,param_00.halfwaydist,param_00.red,param_00.green,param_00.blue,param_00.hdrcolorintensity,param_00.maxopacity,param_01,param_00.sunred,param_00.sungreen,param_00.sunblue,param_00.hdrsuncolorintensity,param_00.sundir,param_00.sunbeginfadeangle,param_00.sunendfadeangle,param_00.normalfogscale,param_00.skyfogintensity,param_00.skyfogminangle,param_00.skyfogmaxangle,param_00.heightfogenabled,param_00.heightfogbaseheight,param_00.heightfoghalfplanedistance); - return; - } - - if(!isplayer(self)) - { - setexpfogext(param_00.startdist,param_00.halfwaydist,param_00.red,param_00.green,param_00.blue,param_00.hdrcolorintensity,param_00.maxopacity,param_01,param_00.skyfogintensity,param_00.skyfogminangle,param_00.skyfogmaxangle,param_00.heightfogenabled,param_00.heightfogbaseheight,param_00.heightfoghalfplanedistance); - return; - } - - self playersetexpfogext(param_00.startdist,param_00.halfwaydist,param_00.red,param_00.green,param_00.blue,param_00.hdrcolorintensity,param_00.maxopacity,param_01,param_00.skyfogintensity,param_00.skyfogminangle,param_00.skyfogmaxangle,param_00.heightfogenabled,param_00.heightfogbaseheight,param_00.heightfoghalfplanedistance); -} - -//Function Number: 209 -set_fog_to_ent_values(param_00,param_01) -{ - if(!isdefined(param_01)) - { - param_01 = 0; - } - - if(!isdefined(param_00.skyfogintensity)) - { - param_00.skyfogintensity = 0; - param_00.skyfogminangle = 0; - param_00.skyfogmaxangle = 0; - } - - if(!isdefined(param_00.heightfogenabled)) - { - param_00.heightfogenabled = 0; - param_00.heightfogbaseheight = 0; - param_00.heightfoghalfplanedistance = 1000; - } - - convertlegacyfog(param_00); - convertfogtech(param_00); - if(isdefined(param_00.atmosfogenabled)) - { - if(level.nextgen && param_00.atmosfogenabled) - { - if(isplayer(self)) - { - self playersetatmosfog(param_01,param_00.atmosfogsunfogcolor,param_00.atmosfoghazecolor,param_00.atmosfoghazestrength,param_00.atmosfoghazespread,param_00.atmosfogextinctionstrength,param_00.atmosfoginscatterstrength,param_00.atmosfoghalfplanedistance,param_00.atmosfogstartdistance,param_00.atmosfogdistancescale,int(param_00.atmosfogskydistance),param_00.atmosfogskyangularfalloffenabled,param_00.atmosfogskyfalloffstartangle,param_00.atmosfogskyfalloffanglerange,param_00.atmosfogsundirection,param_00.atmosfogheightfogenabled,param_00.atmosfogheightfogbaseheight,param_00.atmosfogheightfoghalfplanedistance); - return; - } - - setatmosfog(param_01,param_00.atmosfogsunfogcolor,param_00.atmosfoghazecolor,param_00.atmosfoghazestrength,param_00.atmosfoghazespread,param_00.atmosfogextinctionstrength,param_00.atmosfoginscatterstrength,param_00.atmosfoghalfplanedistance,param_00.atmosfogstartdistance,param_00.atmosfogdistancescale,int(param_00.atmosfogskydistance),param_00.atmosfogskyangularfalloffenabled,param_00.atmosfogskyfalloffstartangle,param_00.atmosfogskyfalloffanglerange,param_00.atmosfogsundirection,param_00.atmosfogheightfogenabled,param_00.atmosfogheightfogbaseheight,param_00.atmosfogheightfoghalfplanedistance); - return; - } - - set_fog_to_ent_values_dfog(param_00,param_01); - return; - } - - set_fog_to_ent_values_dfog(param_00,param_01); -} - -//Function Number: 210 -add_fx(param_00,param_01) -{ - if(!isdefined(level._effect)) - { - level._effect = []; - } - - level._effect[param_00] = loadfx(param_01); -} - -//Function Number: 211 -array_sort_by_handler(param_00,param_01) -{ - for(var_02 = 0;var_02 < param_00.size - 1;var_02++) - { - for(var_03 = var_02 + 1;var_03 < param_00.size;var_03++) - { - if(param_00[var_03] [[ param_01 ]]() < param_00[var_02] [[ param_01 ]]()) - { - var_04 = param_00[var_03]; - param_00[var_03] = param_00[var_02]; - param_00[var_02] = var_04; - } - } - } - - return param_00; -} - -//Function Number: 212 -array_sort_with_func(param_00,param_01,param_02) -{ - if(!isdefined(param_02)) - { - param_02 = -1; - } - - for(var_03 = 1;var_03 < param_00.size;var_03++) - { - var_04 = param_00[var_03]; - for(var_05 = var_03 - 1;var_05 >= 0 && ![[ param_01 ]](param_00[var_05],var_04);var_05--) - { - param_00[var_05 + 1] = param_00[var_05]; - } - - param_00[var_05 + 1] = var_04; - if(param_02 > 0 && var_03 % param_02 == 0) - { - wait(0.05); - } - } - - return param_00; -} - -//Function Number: 213 -hide_notsolid() -{ - if(!isdefined(self.oldcontents)) - { - self.oldcontents = self setcontents(0); - } - - self hide(); -} - -//Function Number: 214 -show_solid() -{ - if(!isai(self)) - { - self solid(); - } - - if(isdefined(self.oldcontents)) - { - self setcontents(self.oldcontents); - } - - self show(); -} - -//Function Number: 215 -setlightingstate(param_00) -{ - var_01 = getentarray(); - setomnvar("lighting_state",param_00); - if(!getdvarint("r_reflectionProbeGenerate")) - { - foreach(var_03 in var_01) - { - if(isdefined(var_03.lightingstate) && var_03.classname == "script_brushmodel" || var_03.classname == "script_model") - { - if(var_03.lightingstate == 0) - { - continue; - } - - if(var_03.lightingstate == param_00) - { - var_03 show_solid(); - continue; - } - - var_03 hide_notsolid(); - } - } - } -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/_areas.gsc b/AW/PC/MP/maps/mp/_areas.gsc deleted file mode 100644 index 38a6fc4..0000000 --- a/AW/PC/MP/maps/mp/_areas.gsc +++ /dev/null @@ -1,72 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_areas.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 5 - * Decompile Time: 74 ms - * Timestamp: 10/27/2023 1:48:24 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - level.softlandingtriggers = getentarray("trigger_multiple_softlanding","classname"); - var_00 = getentarray("destructible_vehicle","targetname"); - foreach(var_02 in level.softlandingtriggers) - { - if(var_02.script_type != "car") - { - continue; - } - - foreach(var_04 in var_00) - { - if(distance(var_02.origin,var_04.origin) > 64) - { - continue; - } - - var_02.destructible = var_04; - } - } - - thread onplayerconnect(); -} - -//Function Number: 2 -onplayerconnect() -{ - for(;;) - { - level waittill("connected",var_00); - var_00.softlanding = undefined; - var_00 thread softlandingwaiter(); - } -} - -//Function Number: 3 -playerentersoftlanding(param_00) -{ - self.softlanding = param_00; -} - -//Function Number: 4 -playerleavesoftlanding(param_00) -{ - self.softlanding = undefined; -} - -//Function Number: 5 -softlandingwaiter() -{ - self endon("disconnect"); - for(;;) - { - self waittill("soft_landing",var_00,var_01); - if(!isdefined(var_00.destructible)) - { - continue; - } - } -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/_compass.gsc b/AW/PC/MP/maps/mp/_compass.gsc deleted file mode 100644 index 038fd39..0000000 --- a/AW/PC/MP/maps/mp/_compass.gsc +++ /dev/null @@ -1,80 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_compass.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 2 - * Decompile Time: 37 ms - * Timestamp: 10/27/2023 1:48:31 AM -*******************************************************************/ - -//Function Number: 1 -setupminimap(param_00) -{ - var_01 = level.requiredmapaspectratio; - var_02 = getentarray("minimap_corner","targetname"); - if(var_02.size != 2) - { - return; - } - - var_03 = (var_02[0].origin[0],var_02[0].origin[1],0); - var_04 = (var_02[1].origin[0],var_02[1].origin[1],0); - var_05 = var_04 - var_03; - var_06 = (cos(getnorthyaw()),sin(getnorthyaw()),0); - var_07 = (0 - var_06[1],var_06[0],0); - if(vectordot(var_05,var_07) > 0) - { - if(vectordot(var_05,var_06) > 0) - { - var_08 = var_04; - var_09 = var_03; - } - else - { - var_0A = vecscale(var_08,vectordot(var_07,var_08)); - var_08 = var_04 - var_0A; - var_09 = var_03 + var_0A; - } - } - else if(vectordot(var_07,var_08) > 0) - { - var_0A = vecscale(var_08,vectordot(var_07,var_08)); - var_08 = var_03 + var_0A; - var_09 = var_04 - var_0A; - } - else - { - var_08 = var_05; - var_09 = var_05; - } - - if(var_01 > 0) - { - var_0B = vectordot(var_08 - var_09,var_06); - var_0C = vectordot(var_08 - var_09,var_07); - var_0D = var_0C / var_0B; - if(var_0D < var_01) - { - var_0E = var_01 / var_0D; - var_0F = vecscale(var_07,var_0C * var_0E - 1 * 0.5); - } - else - { - var_0E = var_0F / var_03; - var_0F = vecscale(var_07,var_0C * var_0F - 1 * 0.5); - } - - var_08 = var_08 + var_0F; - var_09 = var_09 - var_0F; - } - - level.mapsize = vectordot(var_08 - var_09,var_06); - setminimap(param_00,var_08[0],var_08[1],var_09[0],var_09[1]); -} - -//Function Number: 2 -vecscale(param_00,param_01) -{ - return (param_00[0] * param_01,param_00[1] * param_01,param_00[2] * param_01); -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/_crib.gsc b/AW/PC/MP/maps/mp/_crib.gsc deleted file mode 100644 index 30f6bc7..0000000 --- a/AW/PC/MP/maps/mp/_crib.gsc +++ /dev/null @@ -1,653 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_crib.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 36 - * Decompile Time: 588 ms - * Timestamp: 10/27/2023 1:48:34 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - precacheshellshock("frag_grenade_mp"); - radial_button_definitions(); - radial_init(); - view_path_setup(); - player_init(); -} - -//Function Number: 2 -radial_button_definitions() -{ - newradialbuttongroup("main","player_view1_start","player_view1_end"); - var_00 = newradialbutton("main","Primary Weapon","radial_weapons_primary",::action_weapons_primary); - var_01 = newradialbutton("main","Secondary Weapon","radial_weapons_secondary",::action_weapons_secondary); - var_02 = newradialbutton("main","Gears","radial_gears",::action_gears); - var_03 = newradialbutton("main","Kill Streaks","radial_killstreaks",::action_killstreak); - var_04 = newradialbutton("main","Leaderboards","radial_leaderboards",::action_leaderboards); - newradialbuttongroup("gears","player_view2_start","player_view2_end"); - newradialbuttongroup("weapons_primary","player_view3_start","player_view3_end"); - newradialbuttongroup("weapons_secondary","player_view3_start","player_view3_end"); - newradialbuttongroup("killstreak","player_view4_start","player_view4_end"); - newradialbuttongroup("leaderboards","player_view5_start","player_view5_end"); -} - -//Function Number: 3 -radial_init() -{ - foreach(var_01 in level.radial_button_group) - { - sort_buttons_by_angle(var_01); - for(var_02 = 0;var_02 < var_01.size;var_02++) - { - if(isdefined(var_01[var_02 + 1])) - { - var_03 = getmidangle(var_01[var_02].pos_angle,var_01[var_02 + 1].pos_angle); - var_01[var_02].end_angle = var_03; - var_01[var_02 + 1].start_angle = var_03; - continue; - } - - var_03 = getmidangle(var_01[var_02].pos_angle,var_01[0].pos_angle) + 180; - if(var_03 > 360) - { - var_03 = var_03 - 360; - } - - var_01[var_02].end_angle = var_03; - var_01[0].start_angle = var_03; - } - } - - thread updateselectedbutton(); - thread watchselectbuttonpress(); - thread watchbackbuttonpress(); - thread debug_toggle(); -} - -//Function Number: 4 -debug_toggle() -{ - level endon("game_ended"); - level.crib_debug = 1; - for(;;) - { - if(!isdefined(level.observer)) - { - wait(0.05); - continue; - } - - var_00 = 1; - while(!level.observer buttonpressed("BUTTON_Y")) - { - wait(0.05); - } - - level.observer playsound("mouse_click"); - if(var_00) - { - level.crib_debug = level.crib_debug * -1; - var_00 = 0; - } - - while(level.observer buttonpressed("BUTTON_Y")) - { - wait(0.05); - } - } -} - -//Function Number: 5 -player_init() -{ - level thread onplayerconnect(); - level thread return_hud(); -} - -//Function Number: 6 -return_hud() -{ - level waittill("game_ended"); - setdvar("cg_draw2d",1); -} - -//Function Number: 7 -onplayerconnect() -{ - level waittill("connected",var_00); - var_00 thread readyplayer(); - var_00 waittill("spawned_player"); - wait(1); - var_00 takeallweapons(); - setdvar("cg_draw2d",0); - if(!isdefined(var_00)) - { - return; - } - else - { - level.observer = var_00; - } - - var_00 thread get_right_stick_angle(); - zoom_to_radial_menu("main"); -} - -//Function Number: 8 -readyplayer() -{ - self endon("disconnect"); - var_00 = "autoassign"; - while(!isdefined(self.pers["team"])) - { - wait(0.05); - } - - self notify("menuresponse",game["menu_team"],var_00); - wait(0.5); - var_01 = getarraykeys(level.classmap); - var_02 = []; - for(var_03 = 0;var_03 < var_01.size;var_03++) - { - if(!issubstr(var_01[var_03],"custom")) - { - var_02[var_02.size] = var_01[var_03]; - } - } - - for(;;) - { - var_04 = var_02[0]; - self notify("menuresponse","changeclass",var_04); - self waittill("spawned_player"); - wait(0.1); - } -} - -//Function Number: 9 -get_right_stick_angle() -{ - level endon("game_ended"); - self endon("disconnect"); - for(;;) - { - var_00 = self getnormalizedmovement(); - var_01 = vectortoangles(var_00); - level.rs_angle = int(var_01[1]); - wait(0.05); - } -} - -//Function Number: 10 -newradialbuttongroup(param_00,param_01,param_02) -{ - if(isdefined(level.radial_button_group) && level.radial_button_group.size) - { - } - - var_03 = getent(param_02,"targetname"); - var_04 = vectornormalize(anglestoforward(var_03.angles)) * 40; - level.radial_button_group[param_00] = []; - level.radial_button_group_info[param_00]["view_start"] = param_01; - level.radial_button_group_info[param_00]["view_pos"] = var_03.origin + var_04; - level.radial_button_group_info[param_00]["player_view_pos"] = var_03.origin; - level.radial_button_group_info[param_00]["view_angles"] = var_03.angles; -} - -//Function Number: 11 -newradialbutton(param_00,param_01,param_02,param_03) -{ - var_04 = getent(param_02,"targetname"); - var_05 = getradialanglefroment(param_00,var_04); - var_06 = spawnstruct(); - var_06.pos = var_04.origin; - var_06.label = param_01; - var_06.font_size = 1; - var_06.font_color = (0.5,0.5,1); - var_06.pos_angle = var_05; - var_06.action_func = param_03; - var_06.radius_pos = 8; - level.radial_button_group[param_00][level.radial_button_group[param_00].size] = var_06; - return var_06; -} - -//Function Number: 12 -updateselectedbutton() -{ - level endon("game_ended"); - for(;;) - { - if(!isdefined(level.radial_button_current_group)) - { - wait(0.05); - continue; - } - - var_00 = level.active_button; - foreach(var_02 in level.radial_button_group[level.radial_button_current_group]) - { - if(isinrange(var_02.start_angle,var_02.end_angle)) - { - level.active_button = var_02; - continue; - } - - var_02.font_color = (0.5,0.5,1); - } - - if(isdefined(level.active_button)) - { - level.active_button.font_color = (1,1,0.5); - if(isdefined(var_00) && var_00 != level.active_button) - { - level.observer playsound("mouse_over"); - } - } - - wait(0.05); - } -} - -//Function Number: 13 -watchselectbuttonpress() -{ - level endon("game_ended"); - for(;;) - { - if(!isdefined(level.observer)) - { - wait(0.05); - continue; - } - - var_00 = 1; - while(!level.observer buttonpressed("BUTTON_A")) - { - wait(0.05); - } - - level.observer playsound("mouse_click"); - if(isdefined(level.active_button) && var_00) - { - level.active_button notify("select_button_pressed"); - [[ level.active_button.action_func ]](); - var_00 = 0; - } - - while(level.observer buttonpressed("BUTTON_A")) - { - wait(0.05); - } - } -} - -//Function Number: 14 -watchbackbuttonpress() -{ - level endon("game_ended"); - for(;;) - { - if(!isdefined(level.observer)) - { - wait(0.05); - continue; - } - - var_00 = 1; - while(!level.observer buttonpressed("BUTTON_X")) - { - wait(0.05); - } - - level.observer playsound("mouse_click"); - if(var_00) - { - action_back(); - var_00 = 0; - } - - while(level.observer buttonpressed("BUTTON_X")) - { - wait(0.05); - } - } -} - -//Function Number: 15 -sort_buttons_by_angle(param_00) -{ - for(var_01 = 0;var_01 < param_00.size - 1;var_01++) - { - for(var_02 = 0;var_02 < param_00.size - 1 - var_01;var_02++) - { - if(param_00[var_02 + 1].pos_angle < param_00[var_02].pos_angle) - { - button_switch(param_00[var_02],param_00[var_02 + 1]); - } - } - } -} - -//Function Number: 16 -button_switch(param_00,param_01) -{ - var_02 = param_00.pos; - var_03 = param_00.label; - var_04 = param_00.pos_angle; - var_05 = param_00.action_func; - var_06 = param_00.radius_pos; - param_00.pos = param_01.pos; - param_00.label = param_01.label; - param_00.pos_angle = param_01.pos_angle; - param_00.action_func = param_01.action_func; - param_00.radius_pos = param_01.radius_pos; - param_01.pos = var_02; - param_01.label = var_03; - param_01.pos_angle = var_04; - param_01.action_func = var_05; - param_01.radius_pos = var_06; -} - -//Function Number: 17 -draw_radial_buttons(param_00) -{ - foreach(var_02 in level.radial_button_group[param_00]) - { - var_02 thread draw_radial_button(param_00); - } -} - -//Function Number: 18 -draw_radial_button(param_00) -{ - level endon("game_ended"); - self endon("remove_button"); - var_01 = level.radial_button_group_info[param_00]["view_pos"]; - var_02 = var_01 + radial_angle_to_vector(self.pos_angle,4); - for(;;) - { - var_03 = (1,0,0); - if(isinrange(self.start_angle,self.end_angle)) - { - var_03 = (1,1,0); - } - - if(isdefined(level.crib_debug) && level.crib_debug > 0) - { - var_04 = var_01 + radial_angle_to_vector(level.rs_angle,2); - } - - wait(0.05); - } -} - -//Function Number: 19 -zoom_to_radial_menu(param_00,param_01) -{ - level.active_button = undefined; - if(isdefined(level.radial_button_current_group) && level.radial_button_current_group != "") - { - level.radial_button_previous_group = level.radial_button_current_group; - } - else - { - level.radial_button_previous_group = "main"; - level.radial_button_current_group = "main"; - } - - foreach(var_03 in level.radial_button_group[level.radial_button_previous_group]) - { - var_03 notify("remove_button"); - } - - if(isdefined(param_01) && param_01) - { - level.observer go_path_by_targetname_reverse(level.radial_button_group_info[level.radial_button_previous_group]["view_start"],param_00); - } - else - { - level.observer go_path_by_targetname(level.radial_button_group_info[param_00]["view_start"]); - } - - level thread draw_radial_buttons(param_00); - level.radial_button_current_group = param_00; -} - -//Function Number: 20 -getradialanglefroment(param_00,param_01) -{ - var_02 = level.radial_button_group_info[param_00]["view_angles"]; - var_03 = level.radial_button_group_info[param_00]["view_pos"]; - var_03 = var_03 + vectornormalize(anglestoforward(var_02)) * 40; - var_04 = anglestoforward(var_02); - var_05 = vectornormalize(anglestoup(var_02)); - var_06 = param_01.angles; - var_07 = param_01.origin; - var_08 = vectornormalize(vectorfromlinetopoint(var_03,var_03 + var_04,var_07)); - var_09 = acos(vectordot(var_08,var_05)); - if(vectordot(anglestoright(var_02),var_08) < 0) - { - var_09 = 360 - var_09; - } - - return var_09; -} - -//Function Number: 21 -radial_angle_to_vector(param_00,param_01) -{ - var_02 = (270 - param_00,0,0); - var_03 = anglestoforward(var_02); - var_04 = vectornormalize(var_03); - var_05 = var_04 * param_01; - return var_05; -} - -//Function Number: 22 -getmidangle(param_00,param_01) -{ - var_02 = param_00 + param_01 + 720 / 2 - 360; - return var_02; -} - -//Function Number: 23 -isinrange(param_00,param_01) -{ - var_02 = level.rs_angle > param_00 && level.rs_angle < 360; - var_03 = level.rs_angle > 0 && level.rs_angle < param_01; - if(param_00 > param_01) - { - var_04 = var_02 || var_03; - } - else - { - var_04 = level.rs_angle > param_01 && level.rs_angle < var_02; - } - - return var_04; -} - -//Function Number: 24 -action_back() -{ - if(isdefined(level.radial_button_current_group) && level.radial_button_current_group != "main") - { - zoom_to_radial_menu("main",1); - return; - } -} - -//Function Number: 25 -action_weapons_primary() -{ - iprintlnbold("action_weapons_primary"); - zoom_to_radial_menu("weapons_primary"); -} - -//Function Number: 26 -action_weapons_secondary() -{ - iprintlnbold("action_weapons_secondary"); - zoom_to_radial_menu("weapons_secondary"); -} - -//Function Number: 27 -action_gears() -{ - iprintlnbold("action_gears"); - zoom_to_radial_menu("gears"); -} - -//Function Number: 28 -action_killstreak() -{ - iprintlnbold("action_killstreak"); - zoom_to_radial_menu("killstreak"); -} - -//Function Number: 29 -action_leaderboards() -{ - iprintlnbold("action_leaderboards"); - zoom_to_radial_menu("leaderboards"); -} - -//Function Number: 30 -view_path_setup() -{ - level.view_paths = []; - build_path_by_targetname("player_view1_start"); - build_path_by_targetname("player_view2_start"); - build_path_by_targetname("player_view3_start"); - build_path_by_targetname("player_view4_start"); - build_path_by_targetname("player_view5_start"); -} - -//Function Number: 31 -build_path_by_targetname(param_00) -{ - level.view_paths[param_00] = []; - var_01 = getent(param_00,"targetname"); - level.view_paths[param_00][level.view_paths[param_00].size] = var_01; - while(isdefined(var_01) && isdefined(var_01.target)) - { - var_02 = getent(var_01.target,"targetname"); - level.view_paths[param_00][level.view_paths[param_00].size] = var_02; - var_01 = var_02; - } -} - -//Function Number: 32 -go_path_by_targetname(param_00) -{ - if(!isdefined(level.dummy_mover)) - { - var_01 = level.view_paths[param_00][0]; - level.dummy_mover = spawn("script_model",var_01.origin); - level.dummy_mover.angles = var_01.angles; - self setorigin(level.dummy_mover.origin - (0,0,65)); - self linkto(level.dummy_mover); - wait(0.05); - self setplayerangles(level.dummy_mover.angles); - thread force_player_angles(); - } - - var_02 = 1; - var_03 = abs(distance(level.dummy_mover.origin,level.view_paths[param_00][level.view_paths[param_00].size - 1].origin)); - var_02 = var_02 * var_03 / 1200; - var_02 = max(var_02,0.1); - var_04 = var_02; - if(!1) - { - var_04 = var_04 * var_02 * level.view_paths[param_00].size + 1; - } - - thread blur_sine(3,var_04); - foreach(var_07, var_06 in level.view_paths[param_00]) - { - if(1) - { - if(var_07 != level.view_paths[param_00].size - 1) - { - continue; - } - } - - level.dummy_mover moveto(var_06.origin,var_02,var_02 * 0.5,0); - level.dummy_mover rotateto(var_06.angles,var_02,var_02 * 0.5,0); - wait(var_02); - } -} - -//Function Number: 33 -go_path_by_targetname_reverse(param_00,param_01) -{ - var_02 = 1; - var_03 = abs(distance(level.dummy_mover.origin,level.radial_button_group_info[param_01]["player_view_pos"])); - var_02 = var_02 * var_03 / 1200; - var_02 = max(var_02,0.1); - var_04 = var_02; - if(!1) - { - var_04 = var_04 * var_02 * level.view_paths[param_00].size + 1; - } - - thread blur_sine(3,var_04); - if(!1) - { - for(var_05 = level.view_paths[param_00].size - 1;var_05 >= 0;var_05--) - { - var_06 = level.view_paths[param_00][var_05]; - level.dummy_mover moveto(var_06.origin,var_02); - level.dummy_mover rotateto(var_06.angles,var_02); - wait(var_02); - } - } - - thread blur_sine(3,var_02); - var_07 = level.radial_button_group_info[param_01]["player_view_pos"]; - var_08 = level.radial_button_group_info[param_01]["view_angles"]; - level.dummy_mover moveto(var_07,var_02,var_02 * 0.5,0); - level.dummy_mover rotateto(var_08,var_02,var_02 * 0.5,0); - wait(var_02); -} - -//Function Number: 34 -travel_view_fx(param_00) -{ - self setblurforplayer(20,param_00 + 0.2 / 2); - self setblurforplayer(0,param_00 + 0.2 / 2); - self shellshock("frag_grenade_mp",param_00 + 0.2); -} - -//Function Number: 35 -blur_sine(param_00,param_01) -{ - var_02 = int(param_01 / 0.05); - for(var_03 = 0;var_03 < var_02;var_03++) - { - var_04 = var_03 / var_02; - var_05 = sin(180 * var_04); - var_06 = param_00 * var_05; - setdvar("r_blur",var_06); - wait(0.05); - } - - setdvar("r_blur",0); -} - -//Function Number: 36 -force_player_angles() -{ - level endon("game_ended"); - self endon("disconnect"); - level.dummy_mover endon("remove_dummy"); - for(;;) - { - self setplayerangles(level.dummy_mover.angles); - wait(0.05); - } -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/_destructables.gsc b/AW/PC/MP/maps/mp/_destructables.gsc deleted file mode 100644 index 7a72d71..0000000 --- a/AW/PC/MP/maps/mp/_destructables.gsc +++ /dev/null @@ -1,116 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_destructables.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 7 - * Decompile Time: 109 ms - * Timestamp: 10/27/2023 1:48:35 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - var_00 = getentarray("destructable","targetname"); - if(getdvar("scr_destructables") == "0") - { - for(var_01 = 0;var_01 < var_00.size;var_01++) - { - var_00[var_01] delete(); - } - - return; - } - - for(var_01 = 0;var_01 < var_00.size;var_01++) - { - var_00[var_01] thread destructable_think(); - } -} - -//Function Number: 2 -destructable_think() -{ - var_00 = 40; - var_01 = 0; - if(isdefined(self.script_accumulate)) - { - var_00 = self.script_accumulate; - } - - if(isdefined(self.script_threshold)) - { - var_01 = self.script_threshold; - } - - if(isdefined(self.script_destructable_area)) - { - var_02 = strtok(self.script_destructable_area," "); - for(var_03 = 0;var_03 < var_02.size;var_03++) - { - blockarea(var_02[var_03]); - } - } - - if(isdefined(self.script_fxid)) - { - self.fx = loadfx(self.script_fxid); - } - - var_04 = 0; - self setcandamage(1); - for(;;) - { - self waittill("damage",var_05,var_06); - if(var_05 >= var_01) - { - var_04 = var_04 + var_05; - if(var_04 >= var_00) - { - thread destructable_destruct(); - return; - } - } - } -} - -//Function Number: 3 -destructable_destruct() -{ - var_00 = self; - if(isdefined(self.script_destructable_area)) - { - var_01 = strtok(self.script_destructable_area," "); - for(var_02 = 0;var_02 < var_01.size;var_02++) - { - unblockarea(var_01[var_02]); - } - } - - if(isdefined(var_00.fx)) - { - playfx(var_00.fx,var_00.origin + (0,0,6)); - } - - var_00 delete(); -} - -//Function Number: 4 -blockarea(param_00) -{ -} - -//Function Number: 5 -blockentsinarea(param_00,param_01) -{ -} - -//Function Number: 6 -unblockarea(param_00) -{ -} - -//Function Number: 7 -unblockentsinarea(param_00,param_01) -{ -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/_dynamic_events.gsc b/AW/PC/MP/maps/mp/_dynamic_events.gsc deleted file mode 100644 index b03df03..0000000 --- a/AW/PC/MP/maps/mp/_dynamic_events.gsc +++ /dev/null @@ -1,267 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_dynamic_events.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 9 - * Decompile Time: 137 ms - * Timestamp: 10/27/2023 1:48:35 AM -*******************************************************************/ - -//Function Number: 1 -dynamicevent(param_00,param_01,param_02) -{ - if(getdvarint("r_reflectionProbeGenerate")) - { - return; - } - - if(isdefined(level.dynamiceventstype)) - { - if(level.dynamiceventstype == 1) - { - return; - } - - if(level.dynamiceventstype == 2) - { - if(isdefined(param_02)) - { - level [[ param_02 ]](); - } - - return; - } - } - - setdvarifuninitialized("scr_dynamic_event_state","on"); - if(getdvar("scr_dynamic_event_state","on") == "off") - { - return; - } - else if(getdvar("scr_dynamic_event_state","on") == "endstate") - { - if(isdefined(param_02)) - { - level [[ param_02 ]](); - } - - return; - } - - if(!isdefined(level.dynamicevent)) - { - level.dynamicevent = []; - } - - if(level.gametype == "sd" || level.gametype == "sr") - { - level thread handle_sd_dynamicevent(param_00,param_02); - } - else - { - level thread handle_dynamicevent(param_00,param_01,0); - } - - level thread logdynamiceventstarttime(); -} - -//Function Number: 2 -logdynamiceventstarttime() -{ - level endon("game_ended"); - level waittill("dynamic_event_starting"); - var_00 = maps\mp\_utility::gettimepasseddecisecondsincludingrounds(); - setmatchdata("dynamicEventTimeDeciSecondsFromMatchStart",maps\mp\_utility::clamptoshort(var_00)); -} - -//Function Number: 3 -handle_sd_dynamicevent(param_00,param_01) -{ - game["dynamicEvent_switchedsides"] = game["switchedsides"]; - if(level.gametype == "sd") - { - game["dynamicEvent_scorelimit"] = getdvarint("scr_sd_winlimit",6); - } - else if(level.gametype == "sr") - { - game["dynamicEvent_scorelimit"] = getdvarint("scr_sr_winlimit",6); - } - - if(!isdefined(game["dynamicEvent_switchedsides"])) - { - game["dynamicEvent_switchedsides"] = 0; - } - - if(!isdefined(game["dynamicEvent_teamA_RoundTally"])) - { - game["dynamicEvent_teamA_RoundTally"] = 0; - } - - if(!isdefined(game["dynamicEvent_teamB_RoundTally"])) - { - game["dynamicEvent_teamB_RoundTally"] = 0; - } - - if(game["dynamicEvent_switchedsides"] == 0) - { - game["dynamicEvent_teamA_RoundTally"]++; - check_do_event(param_00,param_01,game["dynamicEvent_teamA_RoundTally"]); - return; - } - - if(game["dynamicEvent_switchedsides"] == 1) - { - game["dynamicEvent_teamB_RoundTally"]++; - check_do_event(param_00,param_01,game["dynamicEvent_teamB_RoundTally"]); - } -} - -//Function Number: 4 -check_do_event(param_00,param_01,param_02) -{ - var_03 = int(game["dynamicEvent_scorelimit"] / 2); - if(var_03 == 0) - { - var_03 = 3; - } - - if(param_02 == var_03) - { - wait(10); - level notify("dynamic_event_starting"); - if(isdefined(param_00) && isdefined(param_01)) - { - level [[ param_00 ]](); - return; - } - - return; - } - - if(param_02 > var_03) - { - if(isdefined(param_00) && isdefined(param_01)) - { - level [[ param_01 ]](); - return; - } - } -} - -//Function Number: 5 -handle_dynamicevent(param_00,param_01,param_02) -{ - var_03 = getdynamiceventtimelimit(); - var_04 = getdynamiceventstarttime(); - var_05 = undefined; - var_06 = maps\mp\_utility::getscorelimit(); - if(!isdefined(param_02)) - { - param_02 = 1; - } - - while(var_03 > var_04 && !param_02 || !isdefined(var_05) || var_05 <= var_06 * level.dynamicevent["start_percent"]) - { - if(isdefined(level.ishorde) && level.ishorde) - { - if(isdefined(level.dynamiceventstartnow) && level.dynamiceventstartnow) - { - var_03 = var_04; - } - } - - wait(1); - maps\mp\gametypes\_hostmigration::waittillhostmigrationdone(); - var_03 = var_03 - 1; - var_05 = getdynamiceventhighestscore(); - } - - level notify("dynamic_event_starting"); - if(isdefined(param_00)) - { - level [[ param_00 ]](); - } -} - -//Function Number: 6 -setdynamiceventstartpercent(param_00) -{ - if(!isdefined(param_00)) - { - param_00 = 0.5; - } - - if(param_00 < 0 || param_00 > 1) - { - } - - level.dynamicevent["start_percent"] = param_00; -} - -//Function Number: 7 -getdynamiceventstarttime() -{ - if(!isdefined(level.dynamicevent["start_percent"])) - { - setdynamiceventstartpercent(); - } - - var_00 = getdynamiceventtimelimit(); - var_01 = var_00 - var_00 * level.dynamicevent["start_percent"]; - return var_01; -} - -//Function Number: 8 -getdynamiceventhighestscore() -{ - var_00 = undefined; - if(level.teambased) - { - var_01 = maps\mp\gametypes\_gamescore::getwinningteam(); - if(isdefined(var_01) && var_01 == "none" && isdefined(level.teamnamelist)) - { - var_00 = maps\mp\gametypes\_gamescore::_getteamscore(level.teamnamelist[0]); - } - else if(isdefined(var_01)) - { - var_00 = maps\mp\gametypes\_gamescore::_getteamscore(var_01); - } - } - else - { - var_02 = maps\mp\gametypes\_gamescore::gethighestscoringplayer(); - if(!isdefined(var_02) && isdefined(level.players) && level.players.size > 0) - { - var_00 = maps\mp\gametypes\_gamescore::_getplayerscore(level.players[0]); - } - else if(isdefined(var_02)) - { - var_00 = maps\mp\gametypes\_gamescore::_getplayerscore(var_02); - } - } - - return var_00; -} - -//Function Number: 9 -getdynamiceventtimelimit() -{ - var_00 = maps\mp\_utility::gettimelimit(); - if(var_00 == 0) - { - var_00 = 600; - } - else - { - var_00 = var_00 * 60; - } - - var_01 = maps\mp\_utility::gethalftime(); - if(isdefined(var_01) && var_01) - { - var_00 = var_00 / 2; - } - - return var_00; -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/_empgrenade.gsc b/AW/PC/MP/maps/mp/_empgrenade.gsc deleted file mode 100644 index 281f339..0000000 --- a/AW/PC/MP/maps/mp/_empgrenade.gsc +++ /dev/null @@ -1,232 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_empgrenade.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 12 - * Decompile Time: 189 ms - * Timestamp: 10/27/2023 1:48:36 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - precachedigitaldistortcodeassets(); - thread onplayerconnect(); - precachestring(&"MP_EMP_REBOOTING"); -} - -//Function Number: 2 -onplayerconnect() -{ - for(;;) - { - level waittill("connected",var_00); - var_00 thread onplayerspawned(); - } -} - -//Function Number: 3 -onplayerspawned() -{ - self endon("disconnect"); - for(;;) - { - self waittill("spawned_player"); - thread monitorempgrenade(); - } -} - -//Function Number: 4 -monitorempgrenade() -{ - self endon("death"); - self endon("disconnect"); - self endon("faux_spawn"); - self.empendtime = 0; - for(;;) - { - self waittill("emp_grenaded",var_00); - if(!isalive(self)) - { - continue; - } - - if(isdefined(self.usingremote)) - { - continue; - } - - if(maps\mp\_utility::_hasperk("specialty_empimmune")) - { - continue; - } - - var_01 = 1; - var_02 = 0; - if(level.teambased && isdefined(var_00) && isdefined(var_00.pers["team"]) && var_00.pers["team"] == self.pers["team"] && var_00 != self) - { - if(level.friendlyfire == 0) - { - continue; - } - else if(level.friendlyfire == 1) - { - var_02 = 0; - var_01 = 1; - } - else if(level.friendlyfire == 2) - { - var_01 = 0; - var_02 = 1; - } - else if(level.friendlyfire == 3) - { - var_02 = 1; - var_01 = 1; - } - } - else if(isdefined(var_00)) - { - var_00 notify("emp_hit"); - if(var_00 != self) - { - var_00 maps\mp\gametypes\_missions::processchallenge("ch_onthepulse"); - } - } - - if(var_01 && isdefined(self)) - { - thread applyemp(); - } - - if(var_02 && isdefined(var_00)) - { - var_00 thread applyemp(); - } - } -} - -//Function Number: 5 -emp_hide_hud(param_00) -{ - maps\mp\gametypes\_scrambler::playersethudempscrambledoff(param_00); -} - -//Function Number: 6 -applyemp() -{ - self notify("applyEmp"); - self endon("applyEmp"); - self endon("death"); - self endon("disconnect"); - wait(0.05); - self.empduration = 3; - var_00 = 2; - if(maps\mp\_utility::isaugmentedgamemode()) - { - var_00 = 1; - maps\mp\_utility::playerallowhighjump(0,"empgrenade"); - maps\mp\_utility::playerallowhighjumpdrop(0,"empgrenade"); - maps\mp\_utility::playerallowboostjump(0,"empgrenade"); - maps\mp\_utility::playerallowpowerslide(0,"empgrenade"); - maps\mp\_utility::playerallowdodge(0,"empgrenade"); - } - - self.empgrenaded = 1; - self.empendtime = gettime() + self.empduration * 1000; - var_01 = maps\mp\gametypes\_scrambler::playersethudempscrambled(self.empendtime,var_00,"emp"); - thread digitaldistort(self.empduration,var_01); - thread emprumbleloop(0.75); - self setempjammed(1); - thread empgrenadedeathwaiter(var_01); - wait(self.empduration); - self notify("empGrenadeTimedOut"); - checktoturnoffemp(var_01); -} - -//Function Number: 7 -digitaldistort(param_00,param_01) -{ - self endon("death"); - self endon("disconnect"); - self endon("faux_spawn"); - self endon("joined_team"); - self digitaldistortsetmaterial("digital_distort_mp"); - self digitaldistortsetparams(1,1); - thread watchdistortdisconnectdeath(param_01); - wait(0.1); - var_02 = param_00; - var_03 = 0.95; - var_04 = 0.2; - var_05 = var_03 - var_04; - var_06 = 0.1; - var_07 = var_03; - while(var_02 > 0) - { - var_07 = var_05 * var_02 / param_00 + var_04; - self digitaldistortsetparams(var_07,1); - var_02 = var_02 - var_06; - wait(var_06); - } - - self digitaldistortsetparams(0,0); -} - -//Function Number: 8 -watchdistortdisconnectdeath(param_00) -{ - common_scripts\utility::waittill_any("death","disconnect","faux_spawn","joined_team"); - if(isdefined(self)) - { - self digitaldistortsetparams(0,0); - emp_hide_hud(param_00); - } -} - -//Function Number: 9 -empgrenadedeathwaiter(param_00) -{ - self notify("empGrenadeDeathWaiter"); - self endon("empGrenadeDeathWaiter"); - self endon("empGrenadeTimedOut"); - self waittill("death"); - checktoturnoffemp(param_00); -} - -//Function Number: 10 -checktoturnoffemp(param_00) -{ - self.empgrenaded = 0; - self setempjammed(0); - if(maps\mp\_utility::isaugmentedgamemode()) - { - maps\mp\_utility::playerallowhighjump(1,"empgrenade"); - maps\mp\_utility::playerallowhighjumpdrop(1,"empgrenade"); - maps\mp\_utility::playerallowboostjump(1,"empgrenade"); - maps\mp\_utility::playerallowpowerslide(1,"empgrenade"); - maps\mp\_utility::playerallowdodge(1,"empgrenade"); - } - - self digitaldistortsetparams(0,0); - emp_hide_hud(param_00); -} - -//Function Number: 11 -emprumbleloop(param_00) -{ - self endon("emp_rumble_loop"); - self notify("emp_rumble_loop"); - var_01 = gettime() + param_00 * 1000; - while(gettime() < var_01) - { - self playrumbleonentity("damage_heavy"); - wait(0.05); - } -} - -//Function Number: 12 -isempgrenaded() -{ - return isdefined(self.empendtime) && gettime() < self.empendtime; -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/_entityheadicons.gsc b/AW/PC/MP/maps/mp/_entityheadicons.gsc deleted file mode 100644 index 18749e0..0000000 --- a/AW/PC/MP/maps/mp/_entityheadicons.gsc +++ /dev/null @@ -1,457 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_entityheadicons.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 10 - * Decompile Time: 158 ms - * Timestamp: 10/27/2023 1:48:37 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - if(isdefined(level.initedentityheadicons)) - { - return; - } - - level.initedentityheadicons = 1; - if(level.multiteambased) - { - foreach(var_01 in level.teamnamelist) - { - var_02 = "entity_headicon_" + var_01; - game[var_02] = maps\mp\gametypes\_teams::mt_getteamheadicon(var_01); - precacheshader(game[var_02]); - } - - return; - } - - game["entity_headicon_allies"] = maps\mp\gametypes\_teams::getteamheadicon("allies"); - game["entity_headicon_axis"] = maps\mp\gametypes\_teams::getteamheadicon("axis"); - precacheshader(game["entity_headicon_allies"]); - precacheshader(game["entity_headicon_axis"]); -} - -//Function Number: 2 -setheadicon(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B) -{ - if(maps\mp\_utility::isgameparticipant(param_00) && !isplayer(param_00)) - { - return; - } - - if(!isdefined(self.entityheadicons)) - { - self.entityheadicons = []; - } - - if(!isdefined(param_05)) - { - param_05 = 1; - } - - if(!isdefined(param_06)) - { - param_06 = 0.05; - } - - if(!isdefined(param_07)) - { - param_07 = 1; - } - - if(!isdefined(param_08)) - { - param_08 = 1; - } - - if(!isdefined(param_09)) - { - param_09 = 0; - } - - if(!isdefined(param_0A)) - { - param_0A = 1; - } - - if(!isdefined(param_0B)) - { - param_0B = ""; - } - - if(!isplayer(param_00) && param_00 == "none") - { - foreach(var_0E, var_0D in self.entityheadicons) - { - if(isdefined(var_0D)) - { - var_0D destroy(); - } - - self.entityheadicons[var_0E] = undefined; - } - - return; - } - - if(isplayer(param_03)) - { - if(isdefined(self.entityheadicons[param_03.guid])) - { - self.entityheadicons[param_03.guid] destroy(); - self.entityheadicons[param_03.guid] = undefined; - } - - if(param_04 == "") - { - return; - } - - if(isdefined(self.entityheadicons[param_03.team])) - { - self.entityheadicons[param_03.team] destroy(); - self.entityheadicons[param_03.team] = undefined; - } - - var_0D = newclienthudelem(param_03); - self.entityheadicons[param_02.guid] = var_0E; - } - else - { - if(isdefined(self.entityheadicons[param_03])) - { - self.entityheadicons[param_03] destroy(); - self.entityheadicons[param_03] = undefined; - } - - if(param_04 == "") - { - return; - } - - foreach(var_0F in self.entityheadicons) - { - if(var_11 == "axis" || var_11 == "allies") - { - continue; - } - - var_10 = maps\mp\_utility::getplayerforguid(var_11); - if(var_10.team == param_01) - { - self.entityheadicons[var_11] destroy(); - self.entityheadicons[var_11] = undefined; - } - } - - var_0D = newteamhudelem(param_01); - self.entityheadicons[param_01] = var_0D; - } - - if(!isdefined(param_04) || !isdefined(param_05)) - { - param_04 = 10; - param_05 = 10; - } - - var_0D.archived = param_06; - var_0D.alpha = 0.85; - var_0D setshader(param_02,param_04,param_05); - var_0D setwaypoint(param_08,param_09,param_0A,param_0B); - if(var_0C == "") - { - var_0D.x = self.origin[0] + param_03[0]; - var_0D.y = self.origin[1] + param_03[1]; - var_0D.z = self.origin[2] + param_03[2]; - var_0D thread keeppositioned(self,param_03,param_07); - } - else - { - var_0D.x = param_03[0]; - var_0D.y = param_03[1]; - var_0D.z = param_03[2]; - var_0D settargetent(self,var_0C); - } - - thread destroyiconsondeath(); - if(isplayer(param_01)) - { - var_0D thread destroyonownerdisconnect(param_01); - } - - if(isplayer(self)) - { - var_0D thread destroyonownerdisconnect(self); - } - - return var_0D; -} - -//Function Number: 3 -destroyonownerdisconnect(param_00) -{ - self endon("death"); - param_00 waittill("disconnect"); - self destroy(); -} - -//Function Number: 4 -destroyiconsondeath() -{ - self notify("destroyIconsOnDeath"); - self endon("destroyIconsOnDeath"); - self waittill("death"); - foreach(var_01 in self.entityheadicons) - { - if(!isdefined(var_01)) - { - continue; - } - - var_01 destroy(); - } -} - -//Function Number: 5 -keeppositioned(param_00,param_01,param_02) -{ - self endon("death"); - param_00 endon("death"); - param_00 endon("disconnect"); - var_03 = param_00.origin; - for(;;) - { - if(!isdefined(param_00)) - { - return; - } - - if(var_03 != param_00.origin) - { - var_03 = param_00.origin; - self.x = var_03[0] + param_01[0]; - self.y = var_03[1] + param_01[1]; - self.z = var_03[2] + param_01[2]; - } - - if(param_02 > 0.05) - { - self.alpha = 0.85; - self fadeovertime(param_02); - self.alpha = 0; - } - - wait(param_02); - } -} - -//Function Number: 6 -setteamheadicon(param_00,param_01,param_02,param_03) -{ - if(!level.teambased) - { - return; - } - - if(!isdefined(param_02)) - { - param_02 = ""; - } - - if(!isdefined(self.entityheadiconteam)) - { - self.entityheadiconteam = "none"; - self.entityheadicon = undefined; - } - - if(isdefined(param_03) && param_03 == 0) - { - var_04 = undefined; - } - - var_05 = game["entity_headicon_" + param_00]; - self.entityheadiconteam = param_00; - if(isdefined(param_01)) - { - self.entityheadiconoffset = param_01; - } - else - { - self.entityheadiconoffset = (0,0,0); - } - - self notify("kill_entity_headicon_thread"); - if(param_00 == "none") - { - if(isdefined(self.entityheadicon)) - { - self.entityheadicon destroy(); - } - - return; - } - - var_06 = newteamhudelem(param_00); - var_06.archived = 1; - var_06.alpha = 0.8; - var_06 setshader(var_05,10,10); - var_06 setwaypoint(0,0,0,1); - self.entityheadicon = var_06; - if(!isdefined(param_03)) - { - if(param_02 == "") - { - var_06.x = self.origin[0] + self.entityheadiconoffset[0]; - var_06.y = self.origin[1] + self.entityheadiconoffset[1]; - var_06.z = self.origin[2] + self.entityheadiconoffset[2]; - thread keepiconpositioned(); - } - else - { - var_06.x = self.entityheadiconoffset[0]; - var_06.y = self.entityheadiconoffset[1]; - var_06.z = self.entityheadiconoffset[2]; - var_06 settargetent(self,param_02); - } - } - else - { - var_07 = anglestoup(self.angles); - var_08 = self.origin + var_07 * 28; - if(param_02 == "") - { - var_06.x = var_08[0]; - var_06.y = var_08[1]; - var_06.z = var_08[2]; - thread keepiconpositioned(param_03); - } - else - { - var_06.x = var_08[0]; - var_06.y = var_08[1]; - var_06.z = var_08[2]; - var_06 settargetent(self,param_02); - } - } - - thread destroyheadiconsondeath(); -} - -//Function Number: 7 -setplayerheadicon(param_00,param_01,param_02) -{ - if(level.teambased) - { - return; - } - - if(!isdefined(param_02)) - { - param_02 = ""; - } - - if(!isdefined(self.entityheadiconteam)) - { - self.entityheadiconteam = "none"; - self.entityheadicon = undefined; - } - - self notify("kill_entity_headicon_thread"); - if(!isdefined(param_00)) - { - if(isdefined(self.entityheadicon)) - { - self.entityheadicon destroy(); - } - - return; - } - - var_03 = param_00.team; - self.entityheadiconteam = var_03; - if(isdefined(param_01)) - { - self.entityheadiconoffset = param_01; - } - else - { - self.entityheadiconoffset = (0,0,0); - } - - var_04 = game["entity_headicon_" + var_03]; - var_05 = newclienthudelem(param_00); - var_05.archived = 1; - var_05.alpha = 0.8; - var_05 setshader(var_04,10,10); - var_05 setwaypoint(0,0,0,1); - self.entityheadicon = var_05; - if(param_02 == "") - { - var_05.x = self.origin[0] + self.entityheadiconoffset[0]; - var_05.y = self.origin[1] + self.entityheadiconoffset[1]; - var_05.z = self.origin[2] + self.entityheadiconoffset[2]; - thread keepiconpositioned(); - } - else - { - var_05.x = self.entityheadiconoffset[0]; - var_05.y = self.entityheadiconoffset[1]; - var_05.z = self.entityheadiconoffset[2]; - var_05 settargetent(self,param_02); - } - - thread destroyheadiconsondeath(); -} - -//Function Number: 8 -keepiconpositioned(param_00) -{ - self endon("kill_entity_headicon_thread"); - self endon("death"); - var_01 = self.origin; - for(;;) - { - if(var_01 != self.origin) - { - updateheadiconorigin(param_00); - var_01 = self.origin; - } - - wait(0.05); - } -} - -//Function Number: 9 -destroyheadiconsondeath() -{ - self endon("kill_entity_headicon_thread"); - self waittill("death"); - if(!isdefined(self.entityheadicon)) - { - return; - } - - self.entityheadicon destroy(); -} - -//Function Number: 10 -updateheadiconorigin(param_00) -{ - if(!isdefined(param_00)) - { - self.entityheadicon.x = self.origin[0] + self.entityheadiconoffset[0]; - self.entityheadicon.y = self.origin[1] + self.entityheadiconoffset[1]; - self.entityheadicon.z = self.origin[2] + self.entityheadiconoffset[2]; - return; - } - - var_01 = anglestoup(self.angles); - var_02 = self.origin + var_01 * 28; - self.entityheadicon.x = var_02[0]; - self.entityheadicon.y = var_02[1]; - self.entityheadicon.z = var_02[2]; -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/_events.gsc b/AW/PC/MP/maps/mp/_events.gsc deleted file mode 100644 index 6ea19fe..0000000 --- a/AW/PC/MP/maps/mp/_events.gsc +++ /dev/null @@ -1,1992 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_events.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 105 - * Decompile Time: 1681 ms - * Timestamp: 10/27/2023 1:48:43 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - var_00 = getdvar("g_gametype"); - var_01 = 0; - var_02 = []; - var_02["dm"] = 4; - var_02["war"] = 5; - var_02["sd"] = 6; - var_02["dom"] = 7; - var_02["conf"] = 8; - var_02["sr"] = 9; - var_02["infect"] = 10; - var_02["gun"] = 11; - var_02["ctf"] = 12; - var_02["horde"] = 13; - var_02["twar"] = 14; - var_02["hp"] = 15; - var_02["ball"] = 16; - for(;;) - { - if(!isdefined(var_02[var_00])) - { - var_00 = "war"; - } - - var_03 = tablelookupbyrow("mp/xp_event_table.csv",var_01,0); - var_04 = tablelookupbyrow("mp/xp_event_table.csv",var_01,1); - var_05 = tablelookupbyrow("mp/xp_event_table.csv",var_01,2); - var_06 = tablelookupbyrow("mp/xp_event_table.csv",var_01,var_02[var_00]); - if(!isdefined(var_03) || var_03 == "") - { - break; - } - - if(var_03 == "win" || var_03 == "loss" || var_03 == "tie") - { - var_06 = float(var_06); - } - else - { - var_06 = int(var_06); - } - - if(var_06 != -1) - { - var_05 = int(var_05); - var_04 = int(var_04); - maps\mp\gametypes\_rank::registerxpeventinfo(var_03,var_06,var_05,var_04); - } - - var_01++; - } - - level.numkills = 0; - level thread onplayerconnect(); -} - -//Function Number: 2 -onplayerconnect() -{ - for(;;) - { - level waittill("connected",var_00); - var_00.killedplayers = []; - var_00.killedplayerscurrent = []; - var_00.damagedplayers = []; - var_00.killedby = []; - var_00.lastkilledby = undefined; - var_00.recentkillcount = 0; - var_00.lastkilltime = 0; - var_00.bulletstreak = 0; - var_00.lastcoopstreaktime = 0; - } -} - -//Function Number: 3 -killedplayer(param_00,param_01,param_02,param_03,param_04) -{ - level.numkills++; - var_05 = param_01.guid; - var_06 = param_01.pers["cur_kill_streak"]; - var_07 = self.guid; - var_08 = gettime(); - if(maps\mp\_utility::isbulletdamage(param_03)) - { - if(self.lastkilltime == var_08) - { - self.bulletstreak++; - } - else - { - self.bulletstreak = 1; - } - } - else - { - self.bulletstreak = 0; - } - - self.lastkilltime = gettime(); - self.lastkilledplayer = param_01; - self.modifiers = []; - self.damagedplayers[var_05] = undefined; - thread updaterecentkills(param_00,param_02); - if(!maps\mp\_utility::iskillstreakweapon(param_02)) - { - if(param_02 == "none") - { - return 0; - } - - if(isdefined(param_01.throwinggrenade)) - { - var_09 = maps\mp\_utility::strip_suffix(param_01.throwinggrenade,"_lefthand"); - if(var_09 == "frag_grenade_mp") - { - self.modifiers["cooking"] = 1; - } - } - - if(weaponinventorytype(param_02) == "primary") - { - self.segments["killDistanceTotal"] = self.segments["killDistanceTotal"] + distance2d(self.origin,param_01.origin); - self.segments["killDistanceCount"]++; - } - - if(param_03 == "MOD_HEAD_SHOT") - { - headshotevent(param_00,param_02,param_03); - } - - if(level.numkills == 1) - { - firstbloodevent(param_00,param_02,param_03); - } - - if(level.teambased && var_08 - param_01.lastkilltime < 3000 && param_01.lastkilledplayer != self) - { - avengedplayerevent(param_00,param_02,param_03); - } - - if(!isalive(self) && self != param_01 && isdefined(self.deathtime) && self.deathtime + 1200 < gettime()) - { - postdeathkillevent(param_00); - } - - if(self.pers["cur_death_streak"] > 3) - { - comebackevent(param_00,param_02,param_03); - } - - if(isdefined(self.assistedsuicide) && self.assistedsuicide) - { - assistedsuicideevent(param_00,param_02,param_03); - } - - if(islongshot(self,param_02,param_03,param_01)) - { - longshotevent(param_00,param_02,param_03); - } - - if(isresuce(param_01,var_08)) - { - defendedplayerevent(param_00,param_02,param_03); - } - - if(var_06 > 0 && isbuzzkillevent(param_01)) - { - buzzkillevent(param_00,param_01,param_02,param_03); - } - - if(isoneshotkill(param_01,param_02,param_03)) - { - oneshotkillevent(param_00,param_02,param_03); - } - - if(isdefined(self.lastkilledby) && self.lastkilledby == param_01) - { - revengeevent(param_00); - } - - if(param_01.idflags & level.idflags_penetration) - { - bulletpenetrationevent(param_00,param_02); - } - - if(ispointblank(param_01,param_03)) - { - pointblankevent(param_00,param_02,param_03); - } - - if(isdefined(param_02) && param_02 == "boost_slam_mp") - { - boostslamkillevent(param_00,param_02,param_03); - } - - if(self.health < 20 && self.health > 0) - { - neardeathkillevent(param_02,param_03); - } - - if(self.issiliding) - { - sprintslidekillevent(param_02,param_03); - } - - if(isdefined(self.lastslidetime) && var_08 - self.lastslidetime < 2000) - { - camosprintslidekillevent(param_02,param_03); - } - - if(common_scripts\utility::isflashed()) - { - flashedkillevent(param_02,param_03); - } - - if(isthinkfast(param_02,param_03)) - { - thinkfastevent(); - } - - if(self.bulletstreak == 2) - { - multikillonebulletevent(); - } - - if(isbackstabevent(param_01,param_02,param_03)) - { - backstabevent(); - } - - if(isthrowbackevent(param_01,param_02,param_03)) - { - throwbackkillevent(); - } - - var_0A = undefined; - if(maps\mp\_utility::isstrstart(param_02,"alt_")) - { - var_0A = getsubstr(param_02,4); - } - - if(isdefined(self.pickedupweaponfrom[param_02]) && self.pickedupweaponfrom[param_02] == param_01 && !maps\mp\_utility::ismeleemod(param_03)) - { - takeandkillevent(); - } - else if(isdefined(var_0A) && isdefined(self.pickedupweaponfrom[var_0A]) && self.pickedupweaponfrom[var_0A] == param_01 && !maps\mp\_utility::ismeleemod(param_03)) - { - takeandkillevent(); - } - - if(isdefined(param_02) && param_02 == "iw5_carrydrone_mp") - { - killwithballevent(); - } - - if(isdefined(param_01) && param_01 maps\mp\_utility::_hasperk("specialty_ballcarrier") && !isdefined(param_01.weaponusagename) && param_01.weaponusagename == "iw5_dlcgun12loot9_mp") - { - killedballcarrierevent(); - } - - if(isdefined(self.exomostrecenttimedeciseconds["exo_dodge"]) && 20 > maps\mp\_utility::gettimepasseddecisecondsincludingrounds() - self.exomostrecenttimedeciseconds["exo_dodge"]) - { - killafterdodgeevent(param_02); - } - - checkhighjumpevents(param_01,param_00,param_02,param_03,param_04); - checkhigherrankkillevents(param_01); - checkweaponspecifickill(param_01,param_02,param_03); - } - - checkstreakingevents(param_01); - if(!isdefined(self.killedplayers[var_05])) - { - self.killedplayers[var_05] = 0; - } - - if(!isdefined(self.killedplayerscurrent[var_05])) - { - self.killedplayerscurrent[var_05] = 0; - } - - if(!isdefined(param_01.killedby[var_07])) - { - param_01.killedby[var_07] = 0; - } - - self.killedplayers[var_05]++; - self.killedplayerscurrent[var_05]++; - param_01.killedby[var_07]++; - param_01.lastkilledby = self; -} - -//Function Number: 4 -ispointblank(param_00,param_01) -{ - if(maps\mp\_utility::isbulletdamage(param_01)) - { - var_02 = self.origin; - var_03 = 9216; - if(isdefined(param_00.attackerposition)) - { - var_02 = param_00.attackerposition; - } - - if(distancesquared(var_02,param_00.origin) < var_03) - { - return 1; - } - } - - return 0; -} - -//Function Number: 5 -pointblankevent(param_00,param_01,param_02) -{ - maps\mp\_utility::incplayerstat("pointblank",1); - level thread maps\mp\gametypes\_rank::awardgameevent("pointblank",self,param_01,undefined,param_02); - if(isdefined(param_01)) - { - var_03 = maps\mp\_utility::getbaseweaponname(param_01,1); - if(maps\mp\_utility::islootweapon(var_03)) - { - var_03 = maps\mp\gametypes\_class::getbasefromlootversion(var_03); - } - - var_04 = maps\mp\gametypes\_missions::get_challenge_weapon_class(param_01,var_03); - if(var_04 == "weapon_special" || var_04 == "weapon_shotgun" || var_04 == "weapon_pistol") - { - switch(var_03) - { - case "iw5_dlcgun4": - case "iw5_dlcgun3": - break; - - case "iw5_dlcgun8loot1": - break; - - case "iw5_dlcgun13": - break; - - default: - break; - } - } - } -} - -//Function Number: 6 -killedplayerevent(param_00,param_01,param_02) -{ - maps\mp\_utility::incplayerstat("kills",1); - maps\mp\_utility::incpersstat("kills",1); - self.kills = maps\mp\_utility::getpersstat("kills"); - maps\mp\gametypes\_persistence::statsetchild("round","kills",self.kills); - maps\mp\_utility::updatepersratio("kdRatio","kills","deaths"); - var_03 = "kill"; - switch(param_01) - { - case "killstreak_orbital_laser_mp": - case "orbital_laser_fov_mp": - break; - - case "paint_missile_killstreak_mp": - case "warbird_player_turret_mp": - case "warbird_remote_turret_mp": - case "warbird_missile_mp": - break; - - case "orbitalsupport_small_turret_mp": - case "orbitalsupport_medium_turret_mp": - case "orbitalsupport_big_turret_mp": - case "orbitalsupport_40mmbuddy_mp": - case "orbitalsupport_40mm_mp": - case "orbitalsupport_missile_mp": - case "orbitalsupport_105mm_mp": - break; - - case "airdrop_trap_explosive_mp": - break; - - case "orbital_carepackage_pod_mp": - break; - - case "remotemissile_projectile_secondary_mp": - case "remotemissile_projectile_cluster_child_hellfire_mp": - case "killstreak_strike_missile_gas_mp": - case "remotemissile_projectile_cluster_child_mp": - case "remotemissile_projectile_gas_mp": - case "remotemissile_projectile_cluster_parent_mp": - case "remotemissile_projectile_mp": - break; - - case "iw5_dlcgun12loot3_mp": - case "remote_turret_mp": - case "killstreakmahem_mp": - case "remote_energy_turret_mp": - case "sentry_minigun_mp": - case "turretheadmg_mp": - case "turretheadrocket_mp": - case "turretheadenergy_mp": - break; - - case "airstrike_missile_mp": - case "orbital_carepackage_pod_plane_mp": - case "stealth_bomb_mp": - break; - - case "assaultdrone_c4_mp": - case "drone_assault_remote_turret_mp": - case "ugv_missile_mp": - break; - - case "playermech_rocket_mp": - case "iw5_mechpunch_mp": - case "iw5_exominigun_mp": - case "iw5_exoxmgjugg_mp_akimbo": - case "iw5_juggernautrockets_mp": - case "juggernaut_sentry_mg_mp": - case "killstreak_goliathsd_mp": - case "orbital_carepackage_droppod_mp": - case "iw5_juggtitan45_mp": - break; - - case "iw5_dlcgun12loot2_mp": - case "iw5_dlcgun12loot5_mp": - case "mp_laser2_core": - case "killstreak_comeback_mp": - case "killstreak_terrace_mp": - case "detroit_tram_turret_mp": - case "dam_turret_mp": - case "refraction_turret_mp": - case "killstreak_solar_mp": - break; - } -} - -//Function Number: 7 -practicerounddialogvalid() -{ - return !isdefined(self.next_pr_dialog_time) || gettime() > self.next_pr_dialog_time; -} - -//Function Number: 8 -practicerounddialogplayed() -{ - self.next_pr_dialog_time = gettime() + randomintrange(20000,40000); -} - -//Function Number: 9 -practiceroundkillevent(param_00,param_01,param_02,param_03) -{ - self endon("disconnect"); - level endon("game_ended"); - if(isbot(self)) - { - return; - } - - self playlocalsound("ui_practice_round_kill"); - var_04 = 0.5; - if(!isdefined(self.best_pr_kills)) - { - self.best_pr_kills = self getcommonplayerdata("bests","kills"); - } - - if(self.best_pr_kills > 0 && self.kills > self.best_pr_kills) - { - practicerounddialogplayed(); - wait(var_04); - maps\mp\_utility::leaderdialogonplayer("ptr_new_best"); - self.best_pr_kills = 0; - return; - } - - if(param_01 == "kill" && !maps\mp\_utility::ismeleemod(param_03)) - { - if(param_03 == "MOD_HEAD_SHOT") - { - practicerounddialogplayed(); - wait(var_04); - maps\mp\_utility::leaderdialogonplayer("ptr_headshot"); - return; - } - - if(!practicerounddialogvalid()) - { - return; - } - - practicerounddialogplayed(); - wait(var_04); - maps\mp\_utility::leaderdialogonplayer("ptr_greatshot"); - return; - } -} - -//Function Number: 10 -practiceroundassistevent(param_00) -{ - self endon("disconnect"); - level endon("game_ended"); - if(isbot(self)) - { - return; - } - - var_01 = 0.5; - practicerounddialogplayed(); - wait(var_01); - maps\mp\_utility::leaderdialogonplayer("ptr_assist"); -} - -//Function Number: 11 -isthinkfast(param_00,param_01) -{ - if(param_01 == "MOD_IMPACT" || param_01 == "MOD_HEAD_SHOT") - { - if(isthinkfastweapon(param_00)) - { - return 1; - } - } - - return 0; -} - -//Function Number: 12 -isthinkfastweapon(param_00) -{ - switch(param_00) - { - case "stun_grenade__mp": - case "smoke_grenade_var_mp": - case "paint_grenade_var_mp": - case "emp_grenade_var_mp": - case "stun_grenade_var_mp": - case "smoke_grenade_mp": - case "emp_grenade_mp": - case "paint_grenade_mp": - case "semtex_mp": - case "frag_grenade_mp": - break; - - default: - break; - } -} - -//Function Number: 13 -thinkfastevent() -{ - maps\mp\_utility::incplayerstat("think_fast",1); - level thread maps\mp\gametypes\_rank::awardgameevent("think_fast",self); -} - -//Function Number: 14 -boostslamkillevent(param_00,param_01,param_02) -{ - maps\mp\_utility::incplayerstat("boostslamkill",1); - thread maps\mp\gametypes\_missions::processchallenge("ch_limited_lookoutbelow",1); - thread maps\mp\gametypes\_missions::processchallenge("ch_exomech_hot",1); - level thread maps\mp\gametypes\_rank::awardgameevent("boostslamkill",self,param_01,undefined,param_02); -} - -//Function Number: 15 -earnedkillstreakevent(param_00,param_01,param_02,param_03) -{ - maps\mp\_utility::incplayerstat(param_00 + "_earned",1); - level thread maps\mp\gametypes\_rank::awardgameevent(param_00 + "_earned",self); - thread maps\mp\gametypes\_hud_message::killstreaksplashnotify(param_00,param_01,undefined,param_02,param_03); - maps\mp\gametypes\_missions::processchallengedaily(22,param_00,undefined); - maps\mp\gametypes\_missions::processchallengedaily(23,param_00,undefined); - maps\mp\gametypes\_missions::processchallengedaily(32,param_00,undefined); - maps\mp\gametypes\_missions::processchallengedaily(35,param_00,undefined); -} - -//Function Number: 16 -bulletpenetrationevent(param_00,param_01) -{ - maps\mp\_utility::incplayerstat("bulletpenkills",1); - level thread maps\mp\gametypes\_rank::awardgameevent("bulletpen",self); - if(isdefined(param_01)) - { - var_02 = maps\mp\_utility::getbaseweaponname(param_01,1); - if(maps\mp\_utility::islootweapon(var_02)) - { - var_02 = maps\mp\gametypes\_class::getbasefromlootversion(var_02); - } - - var_03 = maps\mp\gametypes\_missions::get_challenge_weapon_class(param_01,var_02); - if(var_03 == "weapon_sniper") - { - if(isdefined(level.challengeinfo["ch_penetrate_" + var_02])) - { - maps\mp\gametypes\_missions::processchallenge("ch_penetrate_" + var_02); - } - } - } - - maps\mp\gametypes\_missions::processchallenge("ch_boot_xray"); -} - -//Function Number: 17 -multikillonebulletevent() -{ - maps\mp\_utility::incplayerstat("multiKillOneBullet",1); - level thread maps\mp\gametypes\_rank::awardgameevent("multiKillOneBullet",self); -} - -//Function Number: 18 -checkhighjumpevents(param_00,param_01,param_02,param_03,param_04) -{ - if(isdefined(param_04) && isdefined(param_04.ch_crossbow_player_jumping)) - { - var_05 = param_04.ch_crossbow_player_jumping; - } - else - { - var_05 = self ishighjumping(); - } - - if(isdefined(param_04) && isdefined(param_04.ch_crossbow_victim_jumping)) - { - var_06 = param_04.ch_crossbow_victim_jumping; - } - else - { - var_06 = param_01 ishighjumping(); - } - - if(var_05 && var_06) - { - airtoairevent(param_01,param_02,param_03); - } - - if(var_05 && !var_06) - { - airtogroundevent(param_01,param_02,param_03); - } - - if(!var_05 && var_06) - { - groundtoairevent(param_01,param_02,param_03); - } -} - -//Function Number: 19 -checkweaponspecifickill(param_00,param_01,param_02) -{ - if(maps\mp\gametypes\_weapons::isriotshield(param_01) || param_01 == maps\mp\_exo_shield::get_exo_shield_weapon()) - { - riotshieldkillevent(param_01,param_02); - } - - if(issubstr(param_01,"exoknife_mp")) - { - exoknifekillevent(param_01,param_02,param_00); - } -} - -//Function Number: 20 -exoknifekillevent(param_00,param_01,param_02) -{ - maps\mp\_utility::incplayerstat("exo_knife_kill",1); - if(isdefined(param_02.wasrecall) && param_02.wasrecall) - { - maps\mp\_utility::incplayerstat("exo_knife_recall_kill",1); - level thread maps\mp\gametypes\_rank::awardgameevent("exo_knife_recall_kill",self,param_00,undefined,param_01); - maps\mp\gametypes\_missions::processchallenge("ch_humiliation_boomerang"); - return; - } - - level thread maps\mp\gametypes\_rank::awardgameevent("exo_knife_kill",self,param_00,undefined,param_01); -} - -//Function Number: 21 -neardeathkillevent(param_00,param_01) -{ - maps\mp\_utility::incplayerstat("near_death_kill",1); - level thread maps\mp\gametypes\_rank::awardgameevent("near_death_kill",self,param_00,undefined,param_01); -} - -//Function Number: 22 -sprintslidekillevent(param_00,param_01) -{ - maps\mp\_utility::incplayerstat("slide_kill",1); - level thread maps\mp\gametypes\_rank::awardgameevent("slide_kill",self,param_00,undefined,param_01); -} - -//Function Number: 23 -flashedkillevent(param_00,param_01) -{ - maps\mp\_utility::incplayerstat("flash_kill",1); - level thread maps\mp\gametypes\_rank::awardgameevent("flash_kill",self,param_00,undefined,param_01); -} - -//Function Number: 24 -riotshieldkillevent(param_00,param_01) -{ - maps\mp\_utility::incplayerstat("riot_kill",1); - level thread maps\mp\gametypes\_rank::awardgameevent("riot_kill",self,param_00,undefined,param_01); -} - -//Function Number: 25 -airtoairevent(param_00,param_01,param_02) -{ - maps\mp\_utility::incplayerstat("air_to_air_kill",1); - thread maps\mp\gametypes\_missions::processchallenge("ch_limited_acepilot",1); - thread maps\mp\gametypes\_missions::processchallenge("ch_exomech_redbaron",1); - var_03 = maps\mp\_utility::getbaseweaponname(param_01,1); - if(maps\mp\_utility::islootweapon(var_03)) - { - var_03 = maps\mp\gametypes\_class::getbasefromlootversion(var_03); - } - - var_04 = maps\mp\gametypes\_missions::get_challenge_weapon_class(param_01,var_03); - if(maps\mp\_utility::ismeleemod(param_02)) - { - maps\mp\_utility::incplayerstat("melee_air_to_air",1); - level thread maps\mp\gametypes\_rank::awardgameevent("melee_air_to_air",self,param_01,undefined,param_02); - return; - } - - level thread maps\mp\gametypes\_rank::awardgameevent("air_to_air_kill",self,param_01,undefined,param_02); - if(var_04 == "weapon_smg" || var_04 == "weapon_shotgun") - { - switch(var_03) - { - case "iw5_dlcgun4": - break; - - case "iw5_dlcgun8loot1": - break; - - case "iw5_dlcgun18": - break; - - case "iw5_dlcgun28": - break; - - case "iw5_dlcgun38": - break; - - default: - break; - } - } -} - -//Function Number: 26 -airtogroundevent(param_00,param_01,param_02) -{ - maps\mp\_utility::incplayerstat("air_to_ground_kill",1); - level thread maps\mp\gametypes\_rank::awardgameevent("air_to_ground_kill",self,param_01,undefined,param_02); - thread maps\mp\gametypes\_missions::processchallenge("ch_exomech_buzz"); - var_03 = maps\mp\_utility::getbaseweaponname(param_01,1); - if(maps\mp\_utility::islootweapon(var_03)) - { - var_03 = maps\mp\gametypes\_class::getbasefromlootversion(var_03); - } - - var_04 = maps\mp\gametypes\_missions::get_challenge_weapon_class(param_01,var_03); - if(var_04 == "weapon_assault" || var_04 == "weapon_heavy" || issubstr(param_01,"exocrossbow")) - { - switch(var_03) - { - case "iw5_dlcgun1": - case "iw5_dlcgun2": - break; - - case "iw5_dlcgun6": - break; - - case "iw5_dlcgun7loot0": - break; - - case "iw5_dlcgun7loot6": - break; - - case "iw5_dlcgun23": - break; - - case "iw5_dlcgun33": - break; - - default: - break; - } - } -} - -//Function Number: 27 -groundtoairevent(param_00,param_01,param_02) -{ - maps\mp\_utility::incplayerstat("ground_to_air_kill",1); - level thread maps\mp\gametypes\_rank::awardgameevent("ground_to_air_kill",self,param_01,undefined,param_02); - thread maps\mp\gametypes\_missions::processchallenge("ch_exomech_pull"); - var_03 = maps\mp\_utility::getbaseweaponname(param_01,1); - if(maps\mp\_utility::islootweapon(var_03)) - { - var_03 = maps\mp\gametypes\_class::getbasefromlootversion(var_03); - } - - var_04 = maps\mp\gametypes\_missions::get_challenge_weapon_class(param_01,var_03); - if(var_04 == "weapon_heavy" || issubstr(param_01,"exocrossbow")) - { - switch(var_03) - { - case "iw5_dlcgun2": - break; - - default: - break; - } - } -} - -//Function Number: 28 -isoneshotkill(param_00,param_01,param_02) -{ - if(param_00.attackers.size != 1) - { - return 0; - } - - if(!isdefined(param_00.attackers[self.guid])) - { - return 0; - } - - if(maps\mp\_utility::ismeleemod(param_02)) - { - return 0; - } - - if(gettime() != param_00.attackerdata[self.guid].firsttimedamaged) - { - return 0; - } - - var_03 = maps\mp\_utility::getweaponclass(param_01); - if(var_03 == "weapon_sniper" || var_03 == "weapon_shotgun") - { - return 1; - } - - return 0; -} - -//Function Number: 29 -islongshot(param_00,param_01,param_02,param_03) -{ - if(isdefined(param_03.agentbody)) - { - return 0; - } - - var_04 = self.origin; - if(isdefined(param_03.attackerposition)) - { - var_04 = param_03.attackerposition; - } - - if(isalive(param_00) && !param_00 maps\mp\_utility::isusingremote() && param_02 == "MOD_RIFLE_BULLET" || param_02 == "MOD_PISTOL_BULLET" || param_02 == "MOD_HEAD_SHOT" || issubstr(param_01,"exoknife_mp") || issubstr(param_01,"exocrossbow") || issubstr(param_01,"m990") && !maps\mp\_utility::iskillstreakweapon(param_01) && !isdefined(param_00.assistedsuicide)) - { - var_05 = maps\mp\_utility::getweaponclass(param_01); - switch(var_05) - { - case "weapon_pistol": - break; - - case "weapon_smg": - break; - - case "weapon_heavy": - case "weapon_assault": - break; - - case "weapon_sniper": - break; - - case "weapon_shotgun": - break; - - case "weapon_projectile": - default: - break; - } - } -} - -//Function Number: 30 -isresuce(param_00,param_01) -{ - if(!level.teambased) - { - return 0; - } - - foreach(var_04, var_03 in param_00.damagedplayers) - { - if(var_04 != self.guid && param_01 - var_03 < 500) - { - return 1; - } - } - - return 0; -} - -//Function Number: 31 -longshotevent(param_00,param_01,param_02) -{ - self.modifiers["longshot"] = 1; - maps\mp\_utility::incplayerstat("longshots",1); - level thread maps\mp\gametypes\_rank::awardgameevent("longshot",self,param_01,undefined,param_02); - thread maps\mp\_matchdata::logkillevent(param_00,"longshot"); -} - -//Function Number: 32 -headshotevent(param_00,param_01,param_02) -{ - self.modifiers["headshot"] = 1; - maps\mp\_utility::incpersstat("headshots",1); - maps\mp\_utility::incplayerstat("headshots",1); - maps\mp\gametypes\_persistence::statsetchild("round","headshots",maps\mp\_utility::clamptoshort(self.pers["headshots"])); - self.headshots = maps\mp\_utility::getpersstat("headshots"); - level thread maps\mp\gametypes\_rank::awardgameevent("headshot",self,param_01,undefined,param_02); - thread maps\mp\_matchdata::logkillevent(param_00,"headshot"); - maps\mp\gametypes\_missions::processchallenge("ch_limited_headhunter"); -} - -//Function Number: 33 -isthrowbackevent(param_00,param_01,param_02) -{ - if(!isexplosivedamagemod(param_02)) - { - return 0; - } - - if(!maps\mp\_utility::isstrstart(param_01,"frag_")) - { - return 0; - } - - if(isdefined(param_00) && isdefined(param_00.explosiveinfo) && isdefined(param_00.explosiveinfo["throwbackKill"]) && param_00.explosiveinfo["throwbackKill"]) - { - return 1; - } - - return 0; -} - -//Function Number: 34 -throwbackkillevent() -{ - maps\mp\_utility::incplayerstat("throwback_kill",1); - level thread maps\mp\gametypes\_rank::awardgameevent("throwback_kill",self); -} - -//Function Number: 35 -fourplayevent() -{ - maps\mp\_utility::incplayerstat("four_play",1); - level thread maps\mp\gametypes\_rank::awardgameevent("four_play",self); -} - -//Function Number: 36 -avengedplayerevent(param_00,param_01,param_02) -{ - self.modifiers["avenger"] = 1; - maps\mp\_utility::incplayerstat("avengekills",1); - level thread maps\mp\gametypes\_rank::awardgameevent("avenger",self,param_01,undefined,param_02); - thread maps\mp\_matchdata::logkillevent(param_00,"avenger"); - maps\mp\gametypes\_missions::processchallenge("ch_" + level.gametype + "_avenger"); -} - -//Function Number: 37 -assistedsuicideevent(param_00,param_01,param_02) -{ - self.modifiers["assistedsuicide"] = 1; - maps\mp\_utility::incplayerstat("assistedsuicide",1); - level thread maps\mp\gametypes\_rank::awardgameevent("assistedsuicide",self,param_01,undefined,param_02); - thread maps\mp\_matchdata::logkillevent(param_00,"assistedsuicide"); -} - -//Function Number: 38 -defendedplayerevent(param_00,param_01,param_02) -{ - self.modifiers["defender"] = 1; - maps\mp\_utility::incplayerstat("rescues",1); - level thread maps\mp\gametypes\_rank::awardgameevent("defender",self,param_01,undefined,param_02); - thread maps\mp\_matchdata::logkillevent(param_00,"defender"); - maps\mp\gametypes\_missions::processchallenge("ch_" + level.gametype + "_savior"); -} - -//Function Number: 39 -defendobjectiveevent(param_00,param_01) -{ - maps\mp\_utility::incplayerstat("defends",1); - maps\mp\_utility::incpersstat("defends",1); - maps\mp\gametypes\_persistence::statsetchild("round","defends",self.pers["defends"]); - level thread maps\mp\gametypes\_rank::awardgameevent("defend",self); - param_00 thread maps\mp\_matchdata::logkillevent(param_01,"assaulting"); -} - -//Function Number: 40 -assaultobjectiveevent(param_00,param_01) -{ - maps\mp\_utility::incplayerstat("assault",1); - level thread maps\mp\gametypes\_rank::awardgameevent("assault",self); - param_00 thread maps\mp\_matchdata::logkillevent(param_01,"defending"); - maps\mp\gametypes\_missions::processchallenge("ch_" + level.gametype + "_attacker"); - maps\mp\gametypes\_missions::processchallengedaily(7,undefined,undefined); -} - -//Function Number: 41 -postdeathkillevent(param_00) -{ - self.modifiers["posthumous"] = 1; - maps\mp\_utility::incplayerstat("posthumous",1); - level thread maps\mp\gametypes\_rank::awardgameevent("posthumous",self); - thread maps\mp\_matchdata::logkillevent(param_00,"posthumous"); - maps\mp\gametypes\_missions::processchallenge("ch_humiliation_afterlife"); -} - -//Function Number: 42 -isbackstabevent(param_00,param_01,param_02) -{ - if(!maps\mp\_utility::ismeleemod(param_02)) - { - return 0; - } - - if(maps\mp\gametypes\_weapons::isriotshield(param_01) || param_01 == maps\mp\_exo_shield::get_exo_shield_weapon()) - { - return 0; - } - - var_03 = param_00 getplayerangles(); - var_04 = self getplayerangles(); - var_05 = angleclamp180(var_03[1] - var_04[1]); - if(abs(var_05) < 75) - { - return 1; - } - - return 0; -} - -//Function Number: 43 -backstabevent(param_00) -{ - maps\mp\_utility::incplayerstat("backstab",1); - level thread maps\mp\gametypes\_rank::awardgameevent("backstab",self); - maps\mp\gametypes\_missions::processchallenge("ch_humiliation_backstab"); -} - -//Function Number: 44 -revengeevent(param_00) -{ - self.modifiers["revenge"] = 1; - self.lastkilledby = undefined; - maps\mp\_utility::incplayerstat("revengekills",1); - level thread maps\mp\gametypes\_rank::awardgameevent("revenge",self); - thread maps\mp\_matchdata::logkillevent(param_00,"revenge"); - maps\mp\gametypes\_missions::processchallenge("ch_humiliation_revenge"); -} - -//Function Number: 45 -multikillevent(param_00,param_01,param_02,param_03) -{ - if(!isdefined(param_03)) - { - param_03 = 0; - } - - var_04 = maps\mp\gametypes\_missions::get_challenge_weapon_class(param_02); - var_05 = maps\mp\_utility::getbaseweaponname(param_02,1); - if(maps\mp\_utility::islootweapon(var_05)) - { - var_05 = maps\mp\gametypes\_class::getbasefromlootversion(var_05); - } - - var_06 = ""; - if(common_scripts\utility::string_starts_with(var_05,"iw5_")) - { - var_06 = getsubstr(var_05,4); - } - - switch(param_01) - { - case 2: - break; - - case 3: - break; - - case 4: - break; - - case 5: - break; - - case 6: - break; - - case 7: - break; - - case 8: - break; - - default: - break; - } -} - -//Function Number: 46 -takeandkillevent() -{ - maps\mp\_utility::incplayerstat("take_and_kill",1); - level thread maps\mp\gametypes\_rank::awardgameevent("take_and_kill",self); - maps\mp\gametypes\_missions::processchallenge("ch_humiliation_backfire"); -} - -//Function Number: 47 -killedballcarrierevent() -{ - maps\mp\_utility::incplayerstat("killedBallCarrier",1); - level thread maps\mp\gametypes\_rank::awardgameevent("killedBallCarrier",self); -} - -//Function Number: 48 -setuplinkstats() -{ - var_00 = maps\mp\_utility::getplayerstat("fieldgoal") + maps\mp\_utility::getplayerstat("touchdown") * 2; - maps\mp\gametypes\_persistence::statsetchild("round","captures",var_00); - maps\mp\_utility::setextrascore0(var_00); -} - -//Function Number: 49 -touchdownevent(param_00) -{ - thread maps\mp\_utility::teamplayercardsplash("callout_touchdown",self,undefined,param_00); - maps\mp\_utility::incplayerstat("touchdown",1); - setuplinkstats(); - level thread maps\mp\gametypes\_rank::awardgameevent("touchdown",self); - maps\mp\gametypes\_missions::processchallenge("ch_" + level.gametype + "_touchdown"); - maps\mp\gametypes\_missions::processchallengedaily(13,param_00,undefined); -} - -//Function Number: 50 -fieldgoalevent(param_00) -{ - thread maps\mp\_utility::teamplayercardsplash("callout_fieldgoal",self,undefined,param_00); - maps\mp\_utility::incplayerstat("fieldgoal",1); - setuplinkstats(); - level thread maps\mp\gametypes\_rank::awardgameevent("fieldgoal",self); - maps\mp\gametypes\_missions::processchallenge("ch_" + level.gametype + "_fieldgoal"); - maps\mp\gametypes\_missions::processchallengedaily(13,param_00,undefined); -} - -//Function Number: 51 -interceptionevent() -{ - maps\mp\_utility::incplayerstat("interception",1); - level thread maps\mp\gametypes\_rank::awardgameevent("interception",self); -} - -//Function Number: 52 -killwithballevent() -{ - maps\mp\_utility::incplayerstat("kill_with_ball",1); - level thread maps\mp\gametypes\_rank::awardgameevent("kill_with_ball",self); -} - -//Function Number: 53 -ballscoreassistevent() -{ - maps\mp\_utility::incplayerstat("ball_score_assist",1); - level thread maps\mp\gametypes\_rank::awardgameevent("ball_score_assist",self); - maps\mp\gametypes\_missions::processchallenge("ch_" + level.gametype + "_assist"); -} - -//Function Number: 54 -passkillpickupevent() -{ - maps\mp\_utility::incplayerstat("pass_kill_pickup",1); - level thread maps\mp\gametypes\_rank::awardgameevent("pass_kill_pickup",self); -} - -//Function Number: 55 -flagpickupevent() -{ - thread maps\mp\_utility::teamplayercardsplash("callout_flagpickup",self); - maps\mp\_utility::incplayerstat("flagscarried",1); - level thread maps\mp\gametypes\_rank::awardgameevent("flag_pickup",self); - thread maps\mp\_matchdata::loggameevent("pickup",self.origin); - maps\mp\gametypes\_missions::processchallenge("ch_" + level.gametype + "_flag_carry"); -} - -//Function Number: 56 -flagcaptureevent() -{ - thread maps\mp\_utility::teamplayercardsplash("callout_flagcapture",self); - maps\mp\_utility::incplayerstat("flagscaptured",1); - maps\mp\_utility::incpersstat("captures",1); - maps\mp\gametypes\_persistence::statsetchild("round","captures",self.pers["captures"]); - maps\mp\_utility::setextrascore0(self.pers["captures"]); - level thread maps\mp\gametypes\_rank::awardgameevent("flag_capture",self); - thread maps\mp\_matchdata::loggameevent("capture",self.origin); - maps\mp\gametypes\_missions::processchallenge("ch_" + level.gametype + "_flag_capture"); - maps\mp\gametypes\_missions::processchallengedaily(16,undefined,undefined); -} - -//Function Number: 57 -flagreturnevent() -{ - thread maps\mp\_utility::teamplayercardsplash("callout_flagreturn",self); - maps\mp\_utility::incplayerstat("flagsreturned",1); - maps\mp\_utility::incpersstat("returns",1); - self.assists = self.pers["returns"]; - maps\mp\gametypes\_persistence::statsetchild("round","returns",self.pers["returns"]); - level thread maps\mp\gametypes\_rank::awardgameevent("flag_return",self); - thread maps\mp\_matchdata::loggameevent("return",self.origin); - maps\mp\gametypes\_missions::processchallenge("ch_" + level.gametype + "_flag_return"); - maps\mp\gametypes\_missions::processchallengedaily(17,undefined,undefined); -} - -//Function Number: 58 -killwithflagevent() -{ - maps\mp\_utility::incplayerstat("killsasflagcarrier",1); - level thread maps\mp\gametypes\_rank::awardgameevent("kill_with_flag",self); -} - -//Function Number: 59 -killflagcarrierevent(param_00) -{ - thread maps\mp\_utility::teamplayercardsplash("callout_killflagcarrier",self); - maps\mp\_utility::incplayerstat("flagcarrierkills",1); - maps\mp\_utility::incpersstat("defends",1); - maps\mp\gametypes\_persistence::statsetchild("round","defends",self.pers["defends"]); - level thread maps\mp\gametypes\_rank::awardgameevent("kill_flag_carrier",self); - thread maps\mp\_matchdata::logkillevent(param_00,"carrying"); - maps\mp\gametypes\_missions::processchallenge("ch_" + level.gametype + "_flag_defend"); -} - -//Function Number: 60 -killdeniedevent(param_00) -{ - maps\mp\_utility::incplayerstat("killsdenied",1); - maps\mp\_utility::incpersstat("denied",1); - maps\mp\_utility::setextrascore1(self.pers["denied"]); - maps\mp\gametypes\_persistence::statsetchild("round","denied",self.pers["denied"]); - var_01 = "kill_denied"; - if(param_00) - { - var_01 = "kill_denied_retrieved"; - maps\mp\_utility::incplayerstat("kill_denied_retrieved",1); - maps\mp\gametypes\_missions::processchallenge("ch_" + level.gametype + "_save_yourself"); - } - - level thread maps\mp\gametypes\_rank::awardgameevent(var_01,self); - maps\mp\gametypes\_missions::processchallenge("ch_" + level.gametype + "_denial"); - maps\mp\gametypes\_missions::processchallengedaily(21,undefined,undefined); -} - -//Function Number: 61 -killconfirmedevent() -{ - maps\mp\_utility::incplayerstat("killsconfirmed",1); - maps\mp\_utility::incpersstat("confirmed",1); - maps\mp\_utility::setextrascore0(self.pers["confirmed"]); - maps\mp\gametypes\_persistence::statsetchild("round","confirmed",self.pers["confirmed"]); - level thread maps\mp\gametypes\_rank::awardgameevent("kill_confirmed",self); - maps\mp\gametypes\_missions::processchallenge("ch_" + level.gametype + "_collector"); - maps\mp\gametypes\_missions::processchallengedaily(4,undefined,undefined); -} - -//Function Number: 62 -tagcollectorevent() -{ - maps\mp\_utility::incplayerstat("tag_collector",1); - level thread maps\mp\gametypes\_rank::awardgameevent("tag_collector",self); -} - -//Function Number: 63 -monitortagcollector(param_00) -{ - if(!isplayer(param_00)) - { - return; - } - - param_00 notify("tagCollector"); - param_00 endon("tagCollector"); - if(!isdefined(param_00.tagcollectortotal)) - { - param_00.tagcollectortotal = 0; - } - - param_00.tagcollectortotal++; - if(param_00.tagcollectortotal > 2) - { - param_00 tagcollectorevent(); - param_00.tagcollectortotal = 0; - } - - wait(2.5); - param_00.tagcollectortotal = 0; -} - -//Function Number: 64 -bombplantevent() -{ - maps\mp\_utility::incplayerstat("bombsplanted",1); - maps\mp\_utility::incpersstat("plants",1); - maps\mp\gametypes\_persistence::statsetchild("round","plants",self.pers["plants"]); - maps\mp\_utility::setextrascore0(self.pers["plants"]); - level thread maps\mp\_utility::teamplayercardsplash("callout_bombplanted",self); - level thread maps\mp\gametypes\_rank::awardgameevent("plant",self); - thread maps\mp\_matchdata::loggameevent("plant",self.origin); -} - -//Function Number: 65 -bombdefuseevent(param_00) -{ - maps\mp\_utility::incplayerstat("bombsdefused",1); - maps\mp\_utility::incpersstat("defuses",1); - maps\mp\gametypes\_persistence::statsetchild("round","defuses",self.pers["defuses"]); - maps\mp\_utility::setextrascore1(self.pers["defuses"]); - level thread maps\mp\_utility::teamplayercardsplash("callout_bombdefused",self); - if(param_00 == "ninja_defuse" || param_00 == "last_man_defuse") - { - maps\mp\_utility::incplayerstat(param_00,1); - if(param_00 == "last_man_defuse") - { - maps\mp\gametypes\_missions::processchallenge("ch_" + level.gametype + "_ninja"); - } - } - - level thread maps\mp\gametypes\_rank::awardgameevent(param_00,self); - thread maps\mp\_matchdata::loggameevent("defuse",self.origin); - maps\mp\gametypes\_missions::processchallenge("ch_" + level.gametype + "_bombdefuse"); -} - -//Function Number: 66 -eliminateplayerevent(param_00,param_01) -{ - maps\mp\_utility::incplayerstat("elimination",1); - level thread maps\mp\_utility::teamplayercardsplash("callout_eliminated",param_01); - if(param_00) - { - maps\mp\_utility::incplayerstat("last_man_standing",1); - level thread maps\mp\gametypes\_rank::awardgameevent("last_man_standing",self); - return; - } - - level thread maps\mp\gametypes\_rank::awardgameevent("elimination",self); -} - -//Function Number: 67 -revivetagevent(param_00) -{ - maps\mp\_utility::incplayerstat("sr_tag_revive",1); - maps\mp\_utility::incplayerstat("killsdenied",1); - maps\mp\_utility::incpersstat("denied",1); - maps\mp\gametypes\_persistence::statsetchild("round","denied",self.pers["denied"]); - self.assists = self.pers["denied"]; - level thread maps\mp\_utility::teamplayercardsplash("callout_tag_revive",param_00); - level thread maps\mp\gametypes\_rank::awardgameevent("sr_tag_revive",self); - maps\mp\gametypes\_missions::processchallenge("ch_" + level.gametype + "_medic"); -} - -//Function Number: 68 -eliminatetagevent() -{ - maps\mp\_utility::incplayerstat("sr_tag_elimination",1); - maps\mp\_utility::incplayerstat("killsconfirmed",1); - maps\mp\_utility::incpersstat("confirmed",1); - maps\mp\gametypes\_persistence::statsetchild("round","confirmed",self.pers["confirmed"]); - level thread maps\mp\gametypes\_rank::awardgameevent("sr_tag_elimination",self); -} - -//Function Number: 69 -bombdetonateevent() -{ - maps\mp\_utility::incplayerstat("targetsdestroyed",1); - maps\mp\_utility::incpersstat("destructions",1); - maps\mp\gametypes\_persistence::statsetchild("round","destructions",self.pers["destructions"]); - level thread maps\mp\gametypes\_rank::awardgameevent("destroy",self); - maps\mp\gametypes\_missions::processchallenge("ch_" + level.gametype + "_destroyer"); -} - -//Function Number: 70 -increasegunlevelevent() -{ - maps\mp\_utility::incplayerstat("levelup",1); - level thread maps\mp\gametypes\_rank::awardgameevent("gained_gun_score",self); -} - -//Function Number: 71 -decreasegunlevelevent() -{ - maps\mp\_utility::incplayerstat("dejavu",1); - level thread maps\mp\gametypes\_rank::awardgameevent("dropped_gun_score",self); -} - -//Function Number: 72 -setbackenemygunlevelevent() -{ - maps\mp\_utility::incplayerstat("humiliation",1); - level thread maps\mp\gametypes\_rank::awardgameevent("dropped_enemy_gun_rank",self); - maps\mp\gametypes\_missions::processchallenge("ch_" + level.gametype + "_regression"); -} - -//Function Number: 73 -quickgunlevelevent() -{ - maps\mp\_utility::incplayerstat("gunslinger",1); - level thread maps\mp\gametypes\_rank::awardgameevent("quick_gun_rank",self); -} - -//Function Number: 74 -setbackfirstplayergunlevelevent() -{ - maps\mp\_utility::incplayerstat("regicide",1); - level thread maps\mp\gametypes\_rank::awardgameevent("dropped_first_player_gun_rank",self); -} - -//Function Number: 75 -firstinfectedevent() -{ - maps\mp\_utility::incplayerstat("patientzero",1); - maps\mp\_utility::playsoundonplayers("mp_enemy_obj_captured"); - level thread maps\mp\_utility::teamplayercardsplash("callout_first_infected",self); - level thread maps\mp\gametypes\_rank::awardgameevent("first_infected",self); - self.patient_zero = 0; -} - -//Function Number: 76 -finalsurvivorevent() -{ - maps\mp\_utility::incplayerstat("omegaman",1); - maps\mp\_utility::playsoundonplayers("mp_obj_captured"); - level thread maps\mp\_utility::teamplayercardsplash("callout_final_survivor",self); - level thread maps\mp\gametypes\_rank::awardgameevent("final_survivor",self); - maps\mp\gametypes\_missions::processchallenge("ch_" + level.gametype + "_survivor"); -} - -//Function Number: 77 -gotinfectedevent() -{ - maps\mp\_utility::incplayerstat("careless",1); - level thread maps\mp\gametypes\_rank::awardgameevent("got_infected",self); -} - -//Function Number: 78 -plagueevent() -{ - maps\mp\_utility::incplayerstat("plague",1); - level thread maps\mp\gametypes\_rank::awardgameevent("infected_plague",self); -} - -//Function Number: 79 -infectedsurvivorevent() -{ - maps\mp\_utility::incplayerstat("contagious",1); - level thread maps\mp\_utility::teamplayercardsplash("callout_infected_survivor",self,"axis"); - level thread maps\mp\gametypes\_rank::awardgameevent("infected_survivor",self); -} - -//Function Number: 80 -survivorevent() -{ - maps\mp\_utility::incplayerstat("survivor",1); - level thread maps\mp\gametypes\_rank::awardgameevent("survivor",self); -} - -//Function Number: 81 -domcaptureevent(param_00) -{ - maps\mp\_utility::incplayerstat("pointscaptured",1); - maps\mp\_utility::incpersstat("captures",1); - maps\mp\gametypes\_persistence::statsetchild("round","captures",self.pers["captures"]); - maps\mp\_utility::setextrascore0(self.pers["captures"]); - var_01 = "capture"; - if(param_00) - { - var_01 = "opening_move"; - maps\mp\_utility::incplayerstat("opening_move",1); - } - - level thread maps\mp\gametypes\_rank::awardgameevent(var_01,self); - thread maps\mp\_matchdata::loggameevent("capture",self.origin); - maps\mp\gametypes\_missions::processchallenge("ch_" + level.gametype + "_aggression"); - maps\mp\gametypes\_missions::processchallengedaily(6,undefined,undefined); -} - -//Function Number: 82 -domneutralizeevent() -{ - level thread maps\mp\gametypes\_rank::awardgameevent("neutralize",self); -} - -//Function Number: 83 -killwhilecapture(param_00,param_01) -{ - maps\mp\_utility::incplayerstat("assault",1); - maps\mp\_utility::incplayerstat("kill_while_capture",1); - level thread maps\mp\gametypes\_rank::awardgameevent("kill_while_capture",self); - param_00 thread maps\mp\_matchdata::logkillevent(param_01,"defending"); - maps\mp\gametypes\_missions::processchallenge("ch_" + level.gametype + "_defender"); -} - -//Function Number: 84 -securehardpointevent() -{ - maps\mp\_utility::incplayerstat("hp_secure",1); - maps\mp\_utility::incpersstat("captures",1); - maps\mp\gametypes\_persistence::statsetchild("round","captures",self.pers["captures"]); - maps\mp\_utility::setextrascore0(self.pers["captures"]); - level thread maps\mp\_utility::teamplayercardsplash("callout_hp_captured_by",self); - level thread maps\mp\gametypes\_rank::awardgameevent("hp_secure",self); - thread maps\mp\_matchdata::loggameevent("capture",self.origin); - maps\mp\gametypes\_missions::processchallenge("ch_" + level.gametype + "_aggression"); -} - -//Function Number: 85 -firstbloodevent(param_00,param_01,param_02) -{ - self.modifiers["firstblood"] = 1; - maps\mp\_utility::incplayerstat("firstblood",1); - thread maps\mp\_utility::teamplayercardsplash("callout_firstblood",self); - level thread maps\mp\gametypes\_rank::awardgameevent("firstblood",self,param_01,undefined,param_02); - thread maps\mp\_matchdata::logkillevent(param_00,"firstblood"); -} - -//Function Number: 86 -isbuzzkillevent(param_00) -{ - foreach(var_02 in param_00.killstreaks) - { - if(maps\mp\killstreaks\_killstreaks::issupportstreak(param_00,var_02)) - { - continue; - } - - var_03 = maps\mp\killstreaks\_killstreaks::getstreakcost(var_02); - var_04 = param_00.adrenaline; - if(var_03 < var_04) - { - continue; - } - - if(var_03 - var_04 < 101) - { - return 1; - } - } - - return 0; -} - -//Function Number: 87 -buzzkillevent(param_00,param_01,param_02,param_03) -{ - self.modifiers["buzzkill"] = param_01.pers["cur_kill_streak"]; - maps\mp\_utility::incplayerstat("buzzkill",1); - level thread maps\mp\gametypes\_rank::awardgameevent("buzzkill",self,param_02,undefined,param_03); - maps\mp\gametypes\_missions::processchallenge("ch_humiliation_buzzkill"); -} - -//Function Number: 88 -oneshotkillevent(param_00,param_01,param_02) -{ - self.modifiers["oneshotkill"] = 1; - maps\mp\_utility::incplayerstat("oneshotkill",1); - level thread maps\mp\gametypes\_rank::awardgameevent("oneshotkill",self,param_01,undefined,param_02); - maps\mp\gametypes\_missions::processchallenge("ch_limited_deadeye"); - var_03 = maps\mp\_utility::getbaseweaponname(param_01,1); - if(maps\mp\_utility::islootweapon(var_03)) - { - var_03 = maps\mp\gametypes\_class::getbasefromlootversion(var_03); - } - - var_04 = maps\mp\gametypes\_missions::get_challenge_weapon_class(param_01,var_03); - if(var_04 == "weapon_shotgun") - { - switch(var_03) - { - case "iw5_dlcgun4": - break; - - case "iw5_dlcgun8loot1": - break; - - default: - break; - } - } -} - -//Function Number: 89 -comebackevent(param_00,param_01,param_02) -{ - self.modifiers["comeback"] = 1; - maps\mp\_utility::incplayerstat("comebacks",1); - level thread maps\mp\gametypes\_rank::awardgameevent("comeback",self,param_01,undefined,param_02); - thread maps\mp\_matchdata::logkillevent(param_00,"comeback"); -} - -//Function Number: 90 -semtexstickevent(param_00) -{ - maps\mp\_utility::incplayerstat("semtex_stick",1); - level thread maps\mp\gametypes\_rank::awardgameevent("semtex_stick",self); - param_00 maps\mp\_utility::incplayerstat("stuck_with_explosive",1); - if(!isdefined(level.iszombiegame) && level.iszombiegame == 1) - { - level thread maps\mp\gametypes\_rank::awardgameevent("stuck_with_explosive",param_00); - } - - maps\mp\gametypes\_missions::processchallenge("ch_humiliation_stuck"); - self notify("increment_stuck_kills"); -} - -//Function Number: 91 -crossbowstickevent(param_00) -{ - maps\mp\_utility::incplayerstat("crossbow_stick",1); - level thread maps\mp\gametypes\_rank::awardgameevent("crossbow_stick",self); - param_00 maps\mp\_utility::incplayerstat("stuck_with_explosive",1); - if(!isdefined(level.iszombiegame) && level.iszombiegame == 1) - { - level thread maps\mp\gametypes\_rank::awardgameevent("stuck_with_explosive",param_00); - } - - maps\mp\gametypes\_missions::processchallenge("ch_humiliation_stuck"); - self notify("increment_stuck_kills"); -} - -//Function Number: 92 -disconnected() -{ - var_00 = self.guid; - for(var_01 = 0;var_01 < level.players.size;var_01++) - { - if(isdefined(level.players[var_01].killedplayers[var_00])) - { - level.players[var_01].killedplayers[var_00] = undefined; - } - - if(isdefined(level.players[var_01].killedplayerscurrent[var_00])) - { - level.players[var_01].killedplayerscurrent[var_00] = undefined; - } - - if(isdefined(level.players[var_01].killedby[var_00])) - { - level.players[var_01].killedby[var_00] = undefined; - } - } -} - -//Function Number: 93 -updaterecentkills(param_00,param_01) -{ - if(!isdefined(param_01)) - { - param_01 = ""; - } - - self endon("disconnect"); - level endon("game_ended"); - self notify("updateRecentKills"); - self endon("updateRecentKills"); - self.recentkillcount++; - var_02 = 0; - if(self playerads() >= 0.2) - { - var_02 = 1; - } - - wait(2); - if(self.recentkillcount > 1) - { - multikillevent(param_00,self.recentkillcount,param_01,var_02); - } - - self.recentkillcount = 0; -} - -//Function Number: 94 -hijackerevent(param_00) -{ - maps\mp\_utility::incplayerstat("hijacker",1); - level thread maps\mp\gametypes\_rank::awardgameevent("hijacker",self); - thread maps\mp\gametypes\_missions::genericchallenge("hijacker_airdrop"); - if(isdefined(param_00)) - { - param_00 maps\mp\gametypes\_hud_message::playercardsplashnotify("hijacked_airdrop",self); - } -} - -//Function Number: 95 -sharedevent() -{ - maps\mp\_utility::incplayerstat("sharepackage",1); - level thread maps\mp\gametypes\_rank::awardgameevent("sharepackage",self); -} - -//Function Number: 96 -mapkillstreakevent() -{ - var_00 = getmatchdata("players",self.clientid,"numberOfMapstreaksReceived"); - var_00++; - setmatchdata("players",self.clientid,"numberOfMapstreaksReceived",maps\mp\_utility::clamptobyte(var_00)); - maps\mp\_utility::incplayerstat("map_killstreak",1); - level thread maps\mp\gametypes\_rank::awardgameevent("map_killstreak",self); -} - -//Function Number: 97 -killstreaktagevent() -{ - maps\mp\_utility::incplayerstat("killstreak_tag",1); - level thread maps\mp\gametypes\_rank::awardgameevent("killstreak_tag",self); -} - -//Function Number: 98 -killstreakjoinevent() -{ - var_00 = gettime(); - var_01 = self.lastcoopstreaktime + 10000; - if(var_01 > var_00) - { - return; - } - - self.lastcoopstreaktime = var_00; - maps\mp\_utility::incplayerstat("killstreak_join",1); - level thread maps\mp\gametypes\_rank::awardgameevent("killstreak_join",self); -} - -//Function Number: 99 -checkvandalismmedal(param_00) -{ - if(isdefined(level.ishorde)) - { - return; - } - - if(!isdefined(self.attackerlist)) - { - return; - } - - if(!isdefined(param_00)) - { - param_00 = self; - } - - var_01 = self.owner; - if(!isdefined(var_01)) - { - var_01 = self; - } - - foreach(var_03 in self.attackerlist) - { - if(!isdefined(var_03)) - { - continue; - } - - if(var_03 == var_01) - { - continue; - } - - if(var_03 == param_00) - { - continue; - } - - if(var_03.team == self.team) - { - continue; - } - - var_03 maps\mp\_utility::incplayerstat("assist_killstreak_destroyed",1); - level thread maps\mp\gametypes\_rank::awardgameevent("assist_killstreak_destroyed",var_03); - } -} - -//Function Number: 100 -checkstreakingevents(param_00) -{ - var_01 = self.killstreakcount + 1; - if(var_01 % 5 && var_01 < 30) - { - return; - } - - switch(var_01) - { - case 5: - break; - - case 10: - break; - - case 15: - break; - - case 20: - break; - - case 25: - break; - - case 30: - break; - - default: - break; - } -} - -//Function Number: 101 -checkhigherrankkillevents(param_00) -{ - if(maps\mp\_utility::gettimepassed() < 90000) - { - return; - } - - var_01 = level.players; - if(level.teambased) - { - var_01 = level.teamlist[maps\mp\_utility::getotherteam(self.team)]; - } - - if(var_01.size < 3) - { - return; - } - - var_02 = common_scripts\utility::array_sort_with_func(var_01,::is_score_a_greater_than_b); - if(isdefined(var_02[0]) && param_00 == var_02[0]) - { - maps\mp\_utility::incplayerstat("firstplacekill",1); - level thread maps\mp\gametypes\_rank::awardgameevent("firstplacekill",self); - maps\mp\gametypes\_missions::processchallenge("ch_precision_highvalue"); - } -} - -//Function Number: 102 -is_score_a_greater_than_b(param_00,param_01) -{ - return param_00.score > param_01.score; -} - -//Function Number: 103 -processassistevent(param_00,param_01) -{ - if(isdefined(level.assists_disabled) && level.assists_disabled) - { - return; - } - - var_02 = "assist"; - if(isdefined(param_01)) - { - var_02 = param_01; - } - - self endon("disconnect"); - param_00 endon("disconnect"); - wait(0.05); - if(self.team != "axis" && self.team != "allies") - { - return; - } - - if(self.team == param_00.team) - { - return; - } - - level thread maps\mp\gametypes\_rank::awardgameevent(var_02,self,undefined,param_00); - param_00 maps\mp\_matchdata::logspecialassists(self,var_02); - if(var_02 == "assist" || var_02 == "assist_riot_shield") - { - maps\mp\_utility::incplayerstat("assists",1); - maps\mp\_utility::incpersstat("assists",1); - self.assists = maps\mp\_utility::getpersstat("assists"); - if(var_02 == "assist_riot_shield") - { - maps\mp\_utility::incplayerstat("assist_riot_shield",1); - } - - maps\mp\gametypes\_persistence::statsetchild("round","assists",self.assists); - thread maps\mp\gametypes\_missions::playerassist(); - if(level.practiceround) - { - thread practiceroundassistevent(param_00); - } - } -} - -//Function Number: 104 -killafterdodgeevent(param_00) -{ - maps\mp\gametypes\_missions::processchallenge("ch_exomech_evasive"); - maps\mp\gametypes\_missions::processchallengedaily(34,undefined,undefined); - if(isdefined(param_00)) - { - var_01 = maps\mp\_utility::getbaseweaponname(param_00,1); - if(maps\mp\_utility::islootweapon(var_01)) - { - var_01 = maps\mp\gametypes\_class::getbasefromlootversion(var_01); - } - - var_02 = maps\mp\gametypes\_missions::get_challenge_weapon_class(param_00,var_01); - if(var_02 == "weapon_assault" || var_02 == "weapon_pistol" || var_02 == "weapon_special") - { - switch(var_01) - { - case "iw5_dlcgun3": - case "iw5_dlcgun1": - break; - - case "iw5_dlcgun6": - break; - - case "iw5_dlcgun7loot0": - break; - - case "iw5_dlcgun7loot6": - break; - - case "iw5_dlcgun13": - break; - - case "iw5_dlcgun23": - break; - - case "iw5_dlcgun33": - break; - - default: - break; - } - } - } -} - -//Function Number: 105 -camosprintslidekillevent(param_00,param_01) -{ - var_02 = maps\mp\_utility::getbaseweaponname(param_00,1); - if(maps\mp\_utility::islootweapon(var_02)) - { - var_02 = maps\mp\gametypes\_class::getbasefromlootversion(var_02); - } - - var_03 = maps\mp\gametypes\_missions::get_challenge_weapon_class(param_00,var_02); - switch(var_03) - { - case "weapon_pistol": - case "weapon_special": - case "weapon_shotgun": - case "weapon_smg": - break; - } -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/_exo_mute.gsc b/AW/PC/MP/maps/mp/_exo_mute.gsc deleted file mode 100644 index f1be2c7..0000000 --- a/AW/PC/MP/maps/mp/_exo_mute.gsc +++ /dev/null @@ -1,203 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_exo_mute.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 11 - * Decompile Time: 174 ms - * Timestamp: 10/27/2023 1:48:46 AM -*******************************************************************/ - -//Function Number: 1 -exo_mute_think() -{ - self notify("exo_mute_taken"); - level endon("game_ended"); - self endon("death"); - self endon("disconnect"); - self endon("joined_team"); - self endon("faux_spawn"); - self endon("exo_mute_taken"); - if(!self hasweapon("exomute_equipment_mp")) - { - return; - } - - exo_mute_init(); - thread monitor_player_death(); - thread wait_for_game_end(); - for(;;) - { - self waittill("exo_ability_activate",var_00); - if(var_00 == "exomute_equipment_mp") - { - thread try_use_exo_mute(); - } - } -} - -//Function Number: 2 -exo_mute_init() -{ - self.mute_on = 0; - self batterysetdischargescale("exomute_equipment_mp",1); - var_00 = self batterygetsize("exomute_equipment_mp"); - if(self gettacticalweapon() == "exomute_equipment_mp") - { - self setclientomnvar("exo_ability_nrg_req0",0); - self setclientomnvar("exo_ability_nrg_total0",var_00); - self setclientomnvar("ui_exo_battery_level0",var_00); - } - else if(self getlethalweapon() == "exomute_equipment_mp") - { - self setclientomnvar("exo_ability_nrg_req1",0); - self setclientomnvar("exo_ability_nrg_total1",var_00); - self setclientomnvar("ui_exo_battery_level1",var_00); - } - - if(!isdefined(level.exo_mute_3p)) - { - level.exo_mute_3p = loadfx("vfx/unique/exo_mute_3p"); - } - - wait(0.05); - if(!maps\mp\_utility::invirtuallobby()) - { - } -} - -//Function Number: 3 -try_use_exo_mute() -{ - self endon("exo_mute_taken"); - if(self.mute_on == 1) - { - thread stop_exo_mute(1); - return; - } - - thread start_exo_mute(); -} - -//Function Number: 4 -killmutefx() -{ - if(isdefined(self.mute_fx)) - { - self.mute_fx delete(); - self.mute_fx = undefined; - } -} - -//Function Number: 5 -start_exo_mute() -{ - self endon("death"); - self endon("disconnect"); - self endon("joined_team"); - self endon("faux_spawn"); - self endon("exo_mute_taken"); - self endon("end_exo_mute"); - self.mute_on = 1; - maps\mp\_utility::giveperk("specialty_quieter",0); - self batterydischargebegin("exomute_equipment_mp"); - maps\mp\_exo_battery::set_exo_ability_hud_omnvar("exomute_equipment_mp","ui_exo_battery_toggle",1); - thread maps\mp\_exo_battery::update_exo_battery_hud("exomute_equipment_mp"); - thread monitor_mute_battery_charge(); - maps\mp\_snd_common_mp::snd_message("mp_exo_mute_activate"); - wait(0.05); - if(!self.mute_on) - { - return; - } - - if(!isdefined(self.exo_cloak_on) || self.exo_cloak_on == 0) - { - self.mute_fx = spawnlinkedfx(level.exo_mute_3p,self,"TAG_ORIGIN"); - triggerfx(self.mute_fx); - } -} - -//Function Number: 6 -stop_exo_mute(param_00) -{ - if(!isdefined(self.mute_on) || !self.mute_on) - { - return; - } - - if(!isdefined(param_00)) - { - param_00 = 1; - } - - self notify("end_exo_mute"); - self.mute_on = 0; - self unsetperk("specialty_quieter",1); - self batterydischargeend("exomute_equipment_mp"); - maps\mp\_exo_battery::set_exo_ability_hud_omnvar("exomute_equipment_mp","ui_exo_battery_toggle",0); - killmutefx(); - if(param_00 == 1) - { - maps\mp\_snd_common_mp::snd_message("mp_exo_mute_deactivate"); - wait(0.05); - if(!isdefined(self.exo_cloak_on) || self.exo_cloak_on == 0) - { - } - } -} - -//Function Number: 7 -monitor_player_death() -{ - self endon("disconnect"); - common_scripts\utility::waittill_any("death","joined_team","faux_spawn","exo_mute_taken"); - thread stop_exo_mute(0); -} - -//Function Number: 8 -monitor_mute_battery_charge() -{ - self endon("death"); - self endon("disconnect"); - self endon("joined_team"); - self endon("faux_spawn"); - self endon("exo_mute_taken"); - self endon("end_exo_mute"); - while(self.mute_on == 1) - { - if(self batterygetcharge("exomute_equipment_mp") <= 0) - { - thread stop_exo_mute(1); - } - - wait(0.05); - } -} - -//Function Number: 9 -take_exo_mute() -{ - self notify("kill_battery"); - self notify("exo_mute_taken"); - self takeweapon("exomute_equipment_mp"); -} - -//Function Number: 10 -give_exo_mute() -{ - self giveweapon("exomute_equipment_mp"); - thread exo_mute_think(); -} - -//Function Number: 11 -wait_for_game_end() -{ - self endon("death"); - self endon("disconnect"); - self endon("joined_team"); - self endon("faux_spawn"); - self endon("exo_mute_taken"); - level waittill("game_ended"); - thread stop_exo_mute(0); -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/_exo_ping.gsc b/AW/PC/MP/maps/mp/_exo_ping.gsc deleted file mode 100644 index 42f6b49..0000000 --- a/AW/PC/MP/maps/mp/_exo_ping.gsc +++ /dev/null @@ -1,227 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_exo_ping.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 11 - * Decompile Time: 176 ms - * Timestamp: 10/27/2023 1:48:47 AM -*******************************************************************/ - -//Function Number: 1 -exo_ping_think() -{ - self notify("exo_ping_taken"); - level endon("game_ended"); - self endon("death"); - self endon("disconnect"); - self endon("joined_team"); - self endon("faux_spawn"); - self endon("exo_ping_taken"); - if(!self hasweapon("exoping_equipment_mp")) - { - return; - } - - exo_ping_init(); - thread toggle_exo_ping(); - thread wait_for_player_death(); - thread wait_for_game_end(); -} - -//Function Number: 2 -exo_ping_init() -{ - self.exo_ping_on = 0; - self batterysetdischargescale("exoping_equipment_mp",1); - var_00 = self batterygetsize("exoping_equipment_mp"); - if(self gettacticalweapon() == "exoping_equipment_mp") - { - self setclientomnvar("ui_exo_battery_level0",var_00); - self setclientomnvar("exo_ability_nrg_req0",batteryreqtouse("exoping_equipment_mp")); - self setclientomnvar("exo_ability_nrg_total0",var_00); - } - else if(self getlethalweapon() == "exoping_equipment_mp") - { - self setclientomnvar("ui_exo_battery_level1",var_00); - self setclientomnvar("exo_ability_nrg_req1",batteryreqtouse("exoping_equipment_mp")); - self setclientomnvar("exo_ability_nrg_total1",var_00); - } - - if(!isdefined(level.exo_ping_vfx_inactive)) - { - level.exo_ping_vfx_inactive = loadfx("vfx/unique/exo_ping_inactive"); - } - - if(!isdefined(level.exo_ping_vfx_active)) - { - level.exo_ping_vfx_active = loadfx("vfx/unique/exo_ping_active"); - } - - wait(0.05); - if(!maps\mp\_utility::invirtuallobby()) - { - playfxontag(level.exo_ping_vfx_inactive,self,"J_SpineUpper"); - } -} - -//Function Number: 3 -toggle_exo_ping() -{ - self endon("death"); - self endon("disconnect"); - self endon("joined_team"); - self endon("faux_spawn"); - self endon("exo_ping_taken"); - for(;;) - { - self waittill("exo_ability_activate",var_00); - if(var_00 != "exoping_equipment_mp") - { - continue; - } - - if(self.exo_ping_on == 1) - { - thread stop_exo_ping(); - continue; - } - - if(self hasweapon("exoping_equipment_mp")) - { - if(self batterygetcharge("exoping_equipment_mp") > 0) - { - start_exo_ping(); - } - } - } -} - -//Function Number: 4 -monitor_exoping_battery_charge() -{ - level endon("game_ended"); - self endon("death"); - self endon("disconnect"); - self endon("joined_team"); - self endon("faux_spawn"); - self endon("exo_ping_taken"); - self endon("stop_exo_ping"); - while(self.exo_ping_on == 1) - { - if(self batterygetcharge("exoping_equipment_mp") <= 0) - { - thread stop_exo_ping(); - } - - wait(0.05); - } -} - -//Function Number: 5 -take_exo_ping() -{ - self notify("kill_battery"); - self notify("exo_ping_taken"); - self takeweapon("exoping_equipment_mp"); -} - -//Function Number: 6 -give_exo_ping() -{ - self giveweapon("exoping_equipment_mp"); - thread exo_ping_think(); -} - -//Function Number: 7 -killpingfx() -{ - if(isdefined(self.ping_fx)) - { - self.ping_fx delete(); - self.ping_fx = undefined; - } -} - -//Function Number: 8 -start_exo_ping() -{ - self endon("death"); - self endon("disconnect"); - self endon("joined_team"); - self endon("faux_spawn"); - self endon("exo_ping_taken"); - self endon("stop_exo_ping"); - self.exo_ping_on = 1; - self.highlight_effect = maps\mp\_threatdetection::detection_highlight_hud_effect_on(self,-1); - self setperk("specialty_exo_ping",1,0); - self batterydischargeonce("exoping_equipment_mp",batteryusepershot("exoping_equipment_mp")); - self batterydischargebegin("exoping_equipment_mp"); - maps\mp\_exo_battery::set_exo_ability_hud_omnvar("exoping_equipment_mp","ui_exo_battery_toggle",1); - thread maps\mp\_exo_battery::update_exo_battery_hud("exoping_equipment_mp"); - thread monitor_exoping_battery_charge(); - maps\mp\_snd_common_mp::snd_message("mp_exo_ping_activate"); - killpingfx(); - if(!isdefined(self.exo_cloak_on) || self.exo_cloak_on == 0) - { - self.ping_fx = spawnlinkedfx(level.exo_ping_vfx_active,self,"J_SpineUpper"); - triggerfx(self.ping_fx); - } -} - -//Function Number: 9 -stop_exo_ping(param_00) -{ - if(!isdefined(self.exo_ping_on) || !self.exo_ping_on) - { - return; - } - - if(!isdefined(param_00)) - { - param_00 = 1; - } - - self notify("stop_exo_ping"); - self.exo_ping_on = 0; - if(isdefined(self.highlight_effect)) - { - maps\mp\_threatdetection::detection_highlight_hud_effect_off(self.highlight_effect); - } - - self unsetperk("specialty_exo_ping",1); - self batterydischargeend("exoping_equipment_mp"); - maps\mp\_exo_battery::set_exo_ability_hud_omnvar("exoping_equipment_mp","ui_exo_battery_toggle",0); - killpingfx(); - if(param_00 == 1) - { - maps\mp\_snd_common_mp::snd_message("mp_exo_ping_deactivate"); - wait(0.05); - if(!isdefined(self.exo_cloak_on) || self.exo_cloak_on == 0) - { - self.ping_fx = spawnlinkedfx(level.exo_ping_vfx_inactive,self,"J_SpineUpper"); - triggerfx(self.ping_fx); - } - } -} - -//Function Number: 10 -wait_for_player_death() -{ - level endon("game_ended"); - self endon("disconnect"); - common_scripts\utility::waittill_any("death","joined_team","faux_spawn","exo_ping_taken"); - thread stop_exo_ping(0); -} - -//Function Number: 11 -wait_for_game_end() -{ - self endon("death"); - self endon("disconnect"); - self endon("joined_team"); - self endon("faux_spawn"); - self endon("exo_ping_taken"); - level waittill("game_ended"); - thread stop_exo_ping(0); -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/_exo_repulsor.gsc b/AW/PC/MP/maps/mp/_exo_repulsor.gsc deleted file mode 100644 index ad2371e..0000000 --- a/AW/PC/MP/maps/mp/_exo_repulsor.gsc +++ /dev/null @@ -1,465 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_exo_repulsor.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 13 - * Decompile Time: 299 ms - * Timestamp: 10/27/2023 1:48:48 AM -*******************************************************************/ - -//Function Number: 1 -exo_repulsor_think() -{ - self notify("exo_repulsor_taken"); - level endon("game_ended"); - self endon("death"); - self endon("disconnect"); - self endon("joined_team"); - self endon("faux_spawn"); - self endon("exo_repulsor_taken"); - if(!self hasweapon("exorepulsor_equipment_mp")) - { - return; - } - - exorepulsorinit(); - thread monitorplayerdeath(); - thread wait_for_game_end(); - for(;;) - { - self waittill("exo_ability_activate",var_00); - if(var_00 == "exorepulsor_equipment_mp") - { - thread tryuserepulsor(); - } - } -} - -//Function Number: 2 -exorepulsorinit() -{ - self.repulsoractive = 0; - self batterysetdischargescale("exorepulsor_equipment_mp",1); - var_00 = self batterygetsize("exorepulsor_equipment_mp"); - self.projectilesstopped = 0; - if(self gettacticalweapon() == "exorepulsor_equipment_mp") - { - self setclientomnvar("exo_ability_nrg_req0",0); - self setclientomnvar("exo_ability_nrg_total0",var_00); - self setclientomnvar("ui_exo_battery_level0",var_00); - } - else if(self getlethalweapon() == "exorepulsor_equipment_mp") - { - self setclientomnvar("exo_ability_nrg_req1",0); - self setclientomnvar("exo_ability_nrg_total1",var_00); - self setclientomnvar("ui_exo_battery_level1",var_00); - } - - if(!isdefined(level.exo_repulsor_impact)) - { - level.exo_repulsor_impact = loadfx("vfx/explosion/exo_repulsor_impact"); - } - - if(!isdefined(level.exo_repulsor_activate_vfx)) - { - level.exo_repulsor_activate_vfx = loadfx("vfx/unique/repulsor_bubble"); - } - - if(!isdefined(level.exo_repulsor_deactivate_vfx)) - { - level.exo_repulsor_deactivate_vfx = loadfx("vfx/unique/repulsor_bubble_deactivate"); - } - - if(!isdefined(level.exo_repulsor_player_vfx_active)) - { - level.exo_repulsor_player_vfx_active = loadfx("vfx/unique/exo_repulsor_emitter"); - } - - if(!isdefined(level.exo_repulsor_player_vfx_inactive)) - { - level.exo_repulsor_player_vfx_inactive = loadfx("vfx/unique/exo_repulsor_inactive"); - } - - wait(0.05); - if(!maps\mp\_utility::invirtuallobby()) - { - playfxontag(level.exo_repulsor_player_vfx_inactive,self,getrepulsortag()); - } -} - -//Function Number: 3 -getrepulsortag() -{ - if(isdefined(level.getrepulsortagfunc)) - { - return self [[ level.getrepulsortagfunc ]](); - } - - return "TAG_JETPACK"; -} - -//Function Number: 4 -tryuserepulsor(param_00) -{ - self endon("exo_repulsor_taken"); - if(self.repulsoractive == 1) - { - thread stop_repulsor(1); - return; - } - - thread start_repulsor(); -} - -//Function Number: 5 -killrepulsorfx() -{ - if(isdefined(self.repulsor_fx)) - { - self.repulsor_fx delete(); - self.repulsor_fx = undefined; - } -} - -//Function Number: 6 -start_repulsor() -{ - self endon("death"); - self endon("disconnect"); - self endon("joined_team"); - self endon("faux_spawn"); - self endon("stop_exo_repulsor"); - self endon("exo_repulsor_taken"); - self.repulsoractive = 1; - thread do_exo_repulsor(); - self batterydischargebegin("exorepulsor_equipment_mp"); - maps\mp\_exo_battery::set_exo_ability_hud_omnvar("exorepulsor_equipment_mp","ui_exo_battery_toggle",1); - thread maps\mp\_exo_battery::update_exo_battery_hud("exorepulsor_equipment_mp"); - maps\mp\_snd_common_mp::snd_message("mp_exo_repulsor_activate"); - killrepulsorfx(); - if(!isdefined(self.exo_cloak_on) || self.exo_cloak_on == 0) - { - self.repulsor_fx = spawnlinkedfx(level.exo_repulsor_player_vfx_active,self,getrepulsortag()); - triggerfx(self.repulsor_fx); - } - - wait(0.05); - if(!self.repulsoractive) - { - return; - } - - if(isdefined(level.exo_repulsor_activate_vfx)) - { - playfxontagforclients(level.exo_repulsor_activate_vfx,self,"j_head",self); - } -} - -//Function Number: 7 -stop_repulsor(param_00) -{ - if(!isdefined(self.repulsoractive) || !self.repulsoractive) - { - return; - } - - if(!isdefined(param_00)) - { - param_00 = 1; - } - - self notify("stop_exo_repulsor"); - self.repulsoractive = 0; - self batterydischargeend("exorepulsor_equipment_mp"); - maps\mp\_exo_battery::set_exo_ability_hud_omnvar("exorepulsor_equipment_mp","ui_exo_battery_toggle",0); - killrepulsorfx(); - if(param_00 == 1) - { - maps\mp\_snd_common_mp::snd_message("mp_exo_repulsor_deactivate"); - if(!isdefined(self.exo_cloak_on) || self.exo_cloak_on == 0) - { - self.repulsor_fx = spawnlinkedfx(level.exo_repulsor_player_vfx_inactive,self,getrepulsortag()); - triggerfx(self.repulsor_fx); - } - - wait(0.05); - if(isdefined(level.exo_repulsor_deactivate_vfx)) - { - playfxontagforclients(level.exo_repulsor_deactivate_vfx,self,"j_head",self); - } - } -} - -//Function Number: 8 -monitorplayerdeath() -{ - level endon("game_ended"); - self endon("disconnect"); - common_scripts\utility::waittill_any("death","joined_team","faux_spawn","exo_repulsor_taken"); - self.projectilesstopped = 0; - thread stop_repulsor(0); -} - -//Function Number: 9 -update_exo_battery_hud() -{ - var_00 = self batterygetcharge("exorepulsor_equipment_mp"); - maps\mp\_exo_battery::set_exo_ability_hud_omnvar("exorepulsor_equipment_mp","ui_exo_battery_level",var_00); -} - -//Function Number: 10 -do_exo_repulsor() -{ - level endon("game_ended"); - self endon("death"); - self endon("disconnect"); - self endon("joined_team"); - self endon("faux_spawn"); - self endon("stop_exo_repulsor"); - self endon("exo_repulsor_taken"); - while(self batterygetcharge("exorepulsor_equipment_mp") > 0) - { - for(var_00 = 0;var_00 < level.grenades.size;var_00++) - { - var_01 = level.grenades[var_00]; - if(!isdefined(var_01.weaponname)) - { - continue; - } - - if(isdefined(var_01.weaponname) && maps\mp\_utility::is_exo_ability_weapon(var_01.weaponname)) - { - continue; - } - - if(!isdefined(var_01.owner)) - { - continue; - } - - if(isdefined(var_01.owner) && var_01.owner == self) - { - continue; - } - - if(level.teambased && isdefined(var_01.owner.team) && var_01.owner.team == self.team) - { - continue; - } - - var_02 = distance(var_01.origin,self.origin); - if(var_02 < 385) - { - if(sighttracepassed(self geteye(),var_01.origin,0,self)) - { - var_03 = var_01.origin - self.origin; - var_04 = vectortoangles(var_03); - var_05 = anglestoup(var_04); - var_06 = anglestoforward(var_04); - var_07 = vectornormalize(var_06); - var_08 = var_01.origin - 0.2 * var_02 * var_07; - playfx(level.exo_repulsor_impact,var_08,var_07,var_05); - var_01 maps\mp\_snd_common_mp::snd_message("mp_exo_repulsor_repel"); - if(var_01.weaponname == "explosive_drone_mp") - { - var_01 notify("mp_exo_repulsor_repel"); - var_01 thread maps\mp\_explosive_drone::explosivegrenadedeath(); - } - else - { - if(isdefined(level.iszombiegame) && level.iszombiegame) - { - var_01 notify("repulsor_repel"); - } - - var_01 delete(); - } - - self.projectilesstopped++; - maps\mp\gametypes\_missions::processchallenge("ch_exoability_repulser"); - self batterydischargeonce("exorepulsor_equipment_mp",int(self batterygetsize("exorepulsor_equipment_mp") / 2)); - update_exo_battery_hud(); - } - } - } - - for(var_00 = 0;var_00 < level.missiles.size;var_00++) - { - var_09 = level.missiles[var_00]; - if(!isdefined(var_09.owner)) - { - continue; - } - - if(isdefined(var_09.owner) && var_09.owner == self) - { - continue; - } - - if(level.teambased && isdefined(var_09.owner.team) && var_09.owner.team == self.team) - { - continue; - } - - var_0A = distance(var_09.origin,self.origin); - if(var_0A < 385) - { - if(sighttracepassed(self geteye(),var_09.origin,0,self)) - { - var_0B = var_09.origin - self.origin; - var_0C = vectortoangles(var_0B); - var_0D = anglestoup(var_0C); - var_0E = anglestoforward(var_0C); - var_0F = vectornormalize(var_0E); - var_08 = var_09.origin - 0.2 * var_0A * var_0F; - playfx(level.exo_repulsor_impact,var_08,var_0F,var_0D); - var_09 maps\mp\_snd_common_mp::snd_message("mp_exo_repulsor_repel"); - if(isdefined(var_09.weaponname) && var_09.weaponname == "iw5_exocrossbow_mp") - { - stopfxontag(common_scripts\utility::getfx("exocrossbow_sticky_blinking"),var_09.fx_origin,"tag_origin"); - } - - var_09 delete(); - self.projectilesstopped++; - maps\mp\gametypes\_missions::processchallenge("ch_exoability_repulser"); - self batterydischargeonce("exorepulsor_equipment_mp",int(self batterygetsize("exorepulsor_equipment_mp") / 2)); - update_exo_battery_hud(); - } - } - } - - for(var_00 = 0;var_00 < level.explosivedrones.size;var_00++) - { - var_10 = level.explosivedrones[var_00]; - if(isdefined(var_10)) - { - if(!isdefined(var_10.owner)) - { - continue; - } - - if(isdefined(var_10.owner) && var_10.owner == self) - { - continue; - } - - if(level.teambased && isdefined(var_10.owner.team) && var_10.owner.team == self.team) - { - continue; - } - - var_11 = distance(var_10.origin,self.origin); - if(var_11 < 385) - { - if(sighttracepassed(self geteye(),var_10.origin,0,self)) - { - var_12 = var_10.origin - self.origin; - var_13 = vectortoangles(var_12); - var_14 = anglestoup(var_13); - var_15 = anglestoforward(var_13); - var_16 = vectornormalize(var_15); - var_08 = var_10.origin - 0.2 * var_11 * var_16; - playfx(level.exo_repulsor_impact,var_08,var_16,var_14); - var_10 maps\mp\_snd_common_mp::snd_message("mp_exo_repulsor_repel"); - if(isdefined(var_10.explosivedrone)) - { - var_10.explosivedrone delete(); - } - - var_10 delete(); - self.projectilesstopped++; - maps\mp\gametypes\_missions::processchallenge("ch_exoability_repulser"); - self batterydischargeonce("exorepulsor_equipment_mp",int(self batterygetsize("exorepulsor_equipment_mp") / 2)); - update_exo_battery_hud(); - } - } - } - } - - foreach(var_18 in level.trackingdrones) - { - if(!isdefined(var_18.owner)) - { - continue; - } - - if(isdefined(var_18.owner) && var_18.owner == self) - { - continue; - } - - if(level.teambased && isdefined(var_18.owner.team) && var_18.owner.team == self.team) - { - continue; - } - - var_19 = distance(var_18.origin,self.origin); - if(var_19 < 385) - { - if(sighttracepassed(self geteye(),var_18.origin,0,self)) - { - var_1A = var_18.origin - self.origin; - var_1B = vectortoangles(var_1A); - var_1C = anglestoup(var_1B); - var_1D = anglestoforward(var_1B); - var_1E = vectornormalize(var_1D); - var_08 = var_18.origin - 0.2 * var_19 * var_1E; - playfx(level.exo_repulsor_impact,var_08,var_1E,var_1C); - var_18 maps\mp\_snd_common_mp::snd_message("mp_exo_repulsor_repel"); - if(!isremovedentity(var_18) && isdefined(var_18)) - { - var_18 notify("death"); - maps\mp\_utility::decrementfauxvehiclecount(); - } - - self.projectilesstopped++; - maps\mp\gametypes\_missions::processchallenge("ch_exoability_repulser"); - self batterydischargeonce("exorepulsor_equipment_mp",int(self batterygetsize("exorepulsor_equipment_mp") / 2)); - update_exo_battery_hud(); - } - } - } - - if(self.projectilesstopped >= 2) - { - if(!isdefined(level.ishorde)) - { - thread maps\mp\_events::fourplayevent(); - } - - self.projectilesstopped = self.projectilesstopped - 2; - } - - wait(0.05); - } - - thread stop_repulsor(1); -} - -//Function Number: 11 -take_exo_repulsor() -{ - self notify("kill_battery"); - self notify("exo_repulsor_taken"); - self takeweapon("exorepulsor_equipment_mp"); -} - -//Function Number: 12 -give_exo_repulsor() -{ - self giveweapon("exorepulsor_equipment_mp"); - thread exo_repulsor_think(); -} - -//Function Number: 13 -wait_for_game_end() -{ - self endon("death"); - self endon("disconnect"); - self endon("joined_team"); - self endon("faux_spawn"); - self endon("exo_repulsor_taken"); - level waittill("game_ended"); - thread stop_repulsor(0); -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/_fx.gsc b/AW/PC/MP/maps/mp/_fx.gsc deleted file mode 100644 index 9d9f80d..0000000 --- a/AW/PC/MP/maps/mp/_fx.gsc +++ /dev/null @@ -1,73 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_fx.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 5 - * Decompile Time: 72 ms - * Timestamp: 10/27/2023 1:49:00 AM -*******************************************************************/ - -//Function Number: 1 -script_print_fx() -{ - if(!isdefined(self.script_fxid) || !isdefined(self.script_fxcommand) || !isdefined(self.script_delay)) - { - self delete(); - return; - } - - if(isdefined(self.target)) - { - var_00 = getent(self.target).origin; - } - else - { - var_00 = "undefined"; - } - - if(self.script_fxcommand == "OneShotfx") - { - } - - if(self.script_fxcommand == "loopfx") - { - } - - if(self.script_fxcommand == "loopsound") - { - } -} - -//Function Number: 2 -grenadeexplosionfx(param_00) -{ - playfx(level._effect["mechanical explosion"],param_00); - earthquake(0.15,0.5,param_00,250); -} - -//Function Number: 3 -soundfx(param_00,param_01,param_02) -{ - var_03 = spawn("script_origin",(0,0,0)); - var_03.origin = param_01; - var_03 playloopsound(param_00); - if(isdefined(param_02)) - { - var_03 thread soundfxdelete(param_02); - } -} - -//Function Number: 4 -soundfxdelete(param_00) -{ - level waittill(param_00); - self delete(); -} - -//Function Number: 5 -blenddelete(param_00) -{ - self waittill("death"); - param_00 delete(); -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/_grappling_hook.gsc b/AW/PC/MP/maps/mp/_grappling_hook.gsc deleted file mode 100644 index 02defb1..0000000 --- a/AW/PC/MP/maps/mp/_grappling_hook.gsc +++ /dev/null @@ -1,220 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps\mp\_grappling_hook.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 12 - * Decompile Time: 211 ms - * Timestamp: 10/27/2023 1:45:42 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - if(maps\mp\_utility::isgrapplinghookgamemode()) - { - level thread grappling_hook_on_player_connect(); - } -} - -//Function Number: 2 -grappling_hook_on_player_connect() -{ - level endon("game_ended"); - for(;;) - { - level waittill("connected",var_00); - var_00 thread grappling_hook_on_loadout_given(); - } -} - -//Function Number: 3 -grappling_hook_on_loadout_given() -{ - level endon("game_ended"); - for(;;) - { - self waittill("applyLoadout"); - if(!maps\mp\_utility::isjuggernaut()) - { - give_grappling_hook(); - thread grappling_hook_wait_for_death(); - thread grappling_hook_wait_for_game_end(); - } - } -} - -//Function Number: 4 -grappling_hook_wait_for_death() -{ - level endon("game_ended"); - self endon("disconnect"); - common_scripts\utility::waittill_any("death","joined_team","faux_spawn","grappling_hook_reset","entering_juggernaut"); - maps\mp\_exo_battery::set_exo_ability_hud_omnvar(level.grapplinghookweapon,"ui_exo_battery_toggle",0); -} - -//Function Number: 5 -grappling_hook_wait_for_game_end() -{ - self endon("death"); - self endon("disconnect"); - self endon("joined_team"); - self endon("faux_spawn"); - self endon("grappling_hook_reset"); - self endon("grappling_hook_battery_hud_reset"); - level waittill("game_ended"); - maps\mp\_exo_battery::set_exo_ability_hud_omnvar(level.grapplinghookweapon,"ui_exo_battery_toggle",0); -} - -//Function Number: 6 -give_grappling_hook() -{ - var_00 = get_grappling_hook_weapon(); - if(self hasweapon(var_00)) - { - return; - } - - self settacticalweapon(var_00); - self giveweapon(var_00); - self notify("grappling_hook_reset"); - var_01 = spawn("script_model",(0,0,0)); - var_01 setentityowner(self); - var_01 setotherent(self); - self setgrapplinghooktarget(var_01); - thread common_scripts\utility::delete_on_death(var_01); - thread delete_on_reset(var_01); - var_02 = self batterygetsize(level.grapplinghookweapon); - self setclientomnvar("ui_exo_battery_level0",var_02); - self setclientomnvar("exo_ability_nrg_req0",batteryreqtouse(level.grapplinghookweapon)); - self setclientomnvar("exo_ability_nrg_total0",var_02); - self setclientomnvar("ui_invalid_grapple",0); - thread wait_for_grappling_hook_pressed(); -} - -//Function Number: 7 -wait_for_full_battery() -{ - level endon("game_ended"); - self endon("death"); - self endon("disconnect"); - self endon("faux_spawn"); - self endon("joined_team"); - self endon("grappling_hook_reset"); - self endon("grappling_hook_battery_hud_reset"); - var_00 = self batterygetsize(level.grapplinghookweapon); - for(;;) - { - var_01 = self batterygetcharge(level.grapplinghookweapon); - if(var_01 >= var_00) - { - maps\mp\_exo_battery::set_exo_ability_hud_omnvar(level.grapplinghookweapon,"ui_exo_battery_toggle",0); - return; - } - - wait(0.1); - } -} - -//Function Number: 8 -wait_for_grappling_hook_pressed() -{ - level endon("game_ended"); - self endon("death"); - self endon("disconnect"); - self endon("faux_spawn"); - self endon("joined_team"); - self endon("grappling_hook_reset"); - for(;;) - { - self waittill("exo_ability_activate",var_00,var_01); - if(var_00 == level.grapplinghookweapon && isdefined(var_01)) - { - if(var_01 == 1) - { - self notify("grappling_hook_battery_hud_reset"); - if(isdefined(self.last_grapple_time)) - { - self.last_grapple_time_prev = self.last_grapple_time; - } - - self.last_grapple_time = gettime(); - maps\mp\_exo_battery::set_exo_ability_hud_omnvar(level.grapplinghookweapon,"ui_exo_battery_toggle",1); - thread maps\mp\_exo_battery::update_exo_battery_hud(level.grapplinghookweapon); - thread wait_for_full_battery(); - maps\mp\gametypes\_missions::processchallenge("ch_tier2_2_iw5_dlcgun12"); - if(isdefined(self.lastdamagedtime) && isdefined(self.last_grapple_time)) - { - if(self.last_grapple_time - self.lastdamagedtime < 1500) - { - maps\mp\gametypes\_missions::processchallenge("ch_tier2_5_iw5_dlcgun12"); - } - } - - continue; - } - - if(var_01 == 0) - { - thread pulse_grapple_hud_message(2); - continue; - } - - if(var_01 == -1) - { - thread pulse_grapple_hud_message(1); - } - } - } -} - -//Function Number: 9 -pulse_grapple_hud_message(param_00) -{ - level endon("game_ended"); - self endon("disconnect"); - self setclientomnvar("ui_invalid_grapple",param_00); - if(param_00 == 1) - { - self setclientomnvar("ui_border_warning_toggle",0); - wait(0.6); - } - else if(param_00 == 2) - { - wait(1); - } - - self setclientomnvar("ui_invalid_grapple",0); -} - -//Function Number: 10 -take_grappling_hook() -{ - var_00 = get_grappling_hook_weapon(); - self settacticalweapon("none"); - self takeweapon(var_00); - self notify("grappling_hook_reset"); -} - -//Function Number: 11 -get_grappling_hook_weapon() -{ - if(isdefined(level.grapplinghookweapon)) - { - return level.grapplinghookweapon; - } - - level.grapplinghookweapon = "iw5_dlcgun12loot7_mp"; - return level.grapplinghookweapon; -} - -//Function Number: 12 -delete_on_reset(param_00) -{ - param_00 endon("death"); - self waittill("grappling_hook_reset"); - if(isdefined(param_00)) - { - param_00 delete(); - } -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/_load.gsc b/AW/PC/MP/maps/mp/_load.gsc deleted file mode 100644 index 536c929..0000000 --- a/AW/PC/MP/maps/mp/_load.gsc +++ /dev/null @@ -1,432 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_load.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 9 - * Decompile Time: 153 ms - * Timestamp: 10/27/2023 1:49:02 AM -*******************************************************************/ - -//Function Number: 1 -main() -{ - if(isdefined(level._loadstarted)) - { - return; - } - - level._loadstarted = 1; - level.virtuallobbyactive = getdvarint("virtualLobbyActive",0); - maps\mp\_utility::set_console_status(); - level.createfx_enabled = getdvar("createfx") != ""; - common_scripts\utility::struct_class_init(); - maps\mp\_utility::initgameflags(); - maps\mp\_utility::initlevelflags(); - maps\mp\_utility::initglobals(); - level.generic_index = 0; - level.flag_struct = spawnstruct(); - level.flag_struct common_scripts\utility::assign_unique_id(); - if(!isdefined(level.flag)) - { - level.flag = []; - level.flags_lock = []; - } - - level.requiredmapaspectratio = getdvarfloat("scr_RequiredMapAspectratio",1); - level.createclientfontstring_func = ::maps\mp\gametypes\_hud_util::createfontstring; - level.hudsetpoint_func = ::maps\mp\gametypes\_hud_util::setpoint; - level.leaderdialogonplayer_func = ::maps\mp\_utility::leaderdialogonplayer; - thread maps\mp\gametypes\_tweakables::init(); - if(!isdefined(level.func)) - { - level.func = []; - } - - level.func["precacheMpAnim"] = ::precachempanim; - level.func["scriptModelPlayAnim"] = ::scriptmodelplayanim; - level.func["scriptModelClearAnim"] = ::scriptmodelclearanim; - if(!level.createfx_enabled) - { - thread maps\mp\_movers::init(); - thread maps\mp\_shutter::main(); - thread maps\mp\_destructables::init(); - thread common_scripts\_elevator::init(); - thread maps\mp\_dynamic_world::init(); - thread common_scripts\_destructible::init(); - } - - game["thermal_vision"] = "default"; - visionsetnaked("",0); - visionsetnight("default_night_mp"); - visionsetmissilecam("orbital_strike"); - visionsetthermal(game["thermal_vision"]); - visionsetpain("near_death_mp",0); - var_00 = getentarray("lantern_glowFX_origin","targetname"); - for(var_01 = 0;var_01 < var_00.size;var_01++) - { - var_00[var_01] thread lanterns(); - } - - maps\mp\_audio::init_audio(); - maps\mp\_art::main(); - setupexploders(); - thread common_scripts\_fx::initfx(); - if(level.createfx_enabled) - { - maps\mp\gametypes\_spawnlogic::setmapcenterfordev(); - maps\mp\_createfx::createfx(); - } - - if(getdvar("r_reflectionProbeGenerate") == "1") - { - deleteduringreflectionprobegeneration(); - maps\mp\gametypes\_spawnlogic::setmapcenterfordev(); - maps\mp\_global_fx::main(); - level waittill("eternity"); - } - - thread maps\mp\_global_fx::main(); - var_02 = 0; - if(var_02 < 6) - { - switch(var_02) - { - case 0: - break; - - case 1: - break; - - case 2: - break; - - case 3: - break; - - case 4: - break; - - default: - break; - } - } -} - -//Function Number: 2 -exploder_load(param_00) -{ - level endon("killexplodertridgers" + param_00.script_exploder); - param_00 waittill("trigger"); - if(isdefined(param_00.script_chance) && randomfloat(1) > param_00.script_chance) - { - if(isdefined(param_00.script_delay)) - { - wait(param_00.script_delay); - } - else - { - wait(4); - } - - level thread exploder_load(param_00); - return; - } - - common_scripts\_exploder::exploder(param_00.script_exploder); - level notify("killexplodertridgers" + param_00.script_exploder); -} - -//Function Number: 3 -setupexploders() -{ - var_00 = getentarray("script_brushmodel","classname"); - var_01 = getentarray("script_model","classname"); - for(var_02 = 0;var_02 < var_01.size;var_02++) - { - var_00[var_00.size] = var_01[var_02]; - } - - for(var_02 = 0;var_02 < var_00.size;var_02++) - { - if(isdefined(var_00[var_02].script_prefab_exploder)) - { - var_00[var_02].script_exploder = var_00[var_02].script_prefab_exploder; - } - - if(isdefined(var_00[var_02].script_exploder)) - { - if(var_00[var_02].model == "fx" && !isdefined(var_00[var_02].targetname) || var_00[var_02].targetname != "exploderchunk") - { - var_00[var_02] hide(); - continue; - } - - if(isdefined(var_00[var_02].targetname) && var_00[var_02].targetname == "exploder") - { - var_00[var_02] hide(); - var_00[var_02] notsolid(); - continue; - } - - if(isdefined(var_00[var_02].targetname) && var_00[var_02].targetname == "exploderchunk") - { - var_00[var_02] hide(); - var_00[var_02] notsolid(); - } - } - } - - var_03 = []; - var_04 = getentarray("script_brushmodel","classname"); - for(var_02 = 0;var_02 < var_04.size;var_02++) - { - if(isdefined(var_04[var_02].script_prefab_exploder)) - { - var_04[var_02].script_exploder = var_04[var_02].script_prefab_exploder; - } - - if(isdefined(var_04[var_02].script_exploder)) - { - var_03[var_03.size] = var_04[var_02]; - } - } - - var_04 = getentarray("script_model","classname"); - for(var_02 = 0;var_02 < var_04.size;var_02++) - { - if(isdefined(var_04[var_02].script_prefab_exploder)) - { - var_04[var_02].script_exploder = var_04[var_02].script_prefab_exploder; - } - - if(isdefined(var_04[var_02].script_exploder)) - { - var_03[var_03.size] = var_04[var_02]; - } - } - - var_04 = getentarray("item_health","classname"); - for(var_02 = 0;var_02 < var_04.size;var_02++) - { - if(isdefined(var_04[var_02].script_prefab_exploder)) - { - var_04[var_02].script_exploder = var_04[var_02].script_prefab_exploder; - } - - if(isdefined(var_04[var_02].script_exploder)) - { - var_03[var_03.size] = var_04[var_02]; - } - } - - if(!isdefined(level.createfxent)) - { - level.createfxent = []; - } - - var_05 = []; - var_05["exploderchunk visible"] = 1; - var_05["exploderchunk"] = 1; - var_05["exploder"] = 1; - for(var_02 = 0;var_02 < var_03.size;var_02++) - { - var_06 = var_03[var_02]; - var_07 = common_scripts\utility::createexploder(var_06.script_fxid); - var_07.v = []; - var_07.v["origin"] = var_06.origin; - var_07.v["angles"] = var_06.angles; - var_07.v["delay"] = var_06.script_delay; - var_07.v["firefx"] = var_06.script_firefx; - var_07.v["firefxdelay"] = var_06.script_firefxdelay; - var_07.v["firefxsound"] = var_06.script_firefxsound; - var_07.v["firefxtimeout"] = var_06.script_firefxtimeout; - var_07.v["earthquake"] = var_06.script_earthquake; - var_07.v["damage"] = var_06.script_damage; - var_07.v["damage_radius"] = var_06.script_radius; - var_07.v["soundalias"] = var_06.script_soundalias; - var_07.v["repeat"] = var_06.script_repeat; - var_07.v["delay_min"] = var_06.script_delay_min; - var_07.v["delay_max"] = var_06.script_delay_max; - var_07.v["target"] = var_06.target; - var_07.v["ender"] = var_06.script_ender; - var_07.v["type"] = "exploder"; - if(!isdefined(var_06.script_fxid)) - { - var_07.v["fxid"] = "No FX"; - } - else - { - var_07.v["fxid"] = var_06.script_fxid; - } - - var_07.v["exploder"] = var_06.script_exploder; - if(!isdefined(var_07.v["delay"])) - { - var_07.v["delay"] = 0; - } - - if(isdefined(var_06.target)) - { - var_08 = getentarray(var_07.v["target"],"targetname")[0]; - if(isdefined(var_08)) - { - var_09 = var_08.origin; - var_07.v["angles"] = vectortoangles(var_09 - var_07.v["origin"]); - } - else - { - var_08 = common_scripts\utility::get_target_ent(var_07.v["target"]); - if(isdefined(var_08)) - { - var_09 = var_08.origin; - var_07.v["angles"] = vectortoangles(var_09 - var_07.v["origin"]); - } - } - } - - if(var_06.classname == "script_brushmodel" || isdefined(var_06.model)) - { - var_07.model = var_06; - var_07.model.disconnect_paths = var_06.script_disconnectpaths; - } - - if(isdefined(var_06.targetname) && isdefined(var_05[var_06.targetname])) - { - var_07.v["exploder_type"] = var_06.targetname; - } - else - { - var_07.v["exploder_type"] = "normal"; - } - - var_07 common_scripts\_createfx::post_entity_creation_function(); - } -} - -//Function Number: 4 -lanterns() -{ - common_scripts\_fx::loopfx("lantern_light",self.origin,0.3,self.origin + (0,0,1)); -} - -//Function Number: 5 -hurtplayersthink() -{ - level endon("game_ended"); - wait(randomfloat(1)); - for(;;) - { - foreach(var_01 in level.players) - { - if(var_01 istouching(self) && maps\mp\_utility::isreallyalive(var_01)) - { - var_01 maps\mp\_utility::_suicide(); - } - } - - wait(0.5); - } -} - -//Function Number: 6 -setupdestructiblekillcaments() -{ - var_00 = getentarray("destructible_vehicle","targetname"); - var_01 = var_00; - var_06 = getfirstarraykey(var_01); - if(isdefined(var_06)) - { - var_02 = var_01[var_06]; - switch(getdvar("mapname")) - { - case "mp_interchange": - break; - } - } -} - -//Function Number: 7 -deletedestructiblekillcament() -{ - level endon("game_ended"); - var_00 = self.killcament; - var_00 endon("death"); - self waittill("death"); - wait(10); - if(isdefined(var_00)) - { - var_00 delete(); - } -} - -//Function Number: 8 -deleteduringreflectionprobegeneration() -{ - var_00 = getentarray("boost_jump_border","targetname"); - foreach(var_02 in var_00) - { - var_02 delete(); - } - - var_00 = getentarray("mp_recovery_signage","targetname"); - foreach(var_02 in var_00) - { - var_02 delete(); - } - - var_06 = getentarray("horde_dome","targetname"); - foreach(var_08 in var_06) - { - var_08 delete(); - } - - var_0A = getentarray("hp_zone_center","targetname"); - foreach(var_0C in var_0A) - { - if(isdefined(var_0C.target)) - { - var_00 = getentarray(var_0C.target,"targetname"); - foreach(var_02 in var_00) - { - var_02 delete(); - } - } - } - - var_10 = getentarray("orbital_bad_spawn_overlay","targetname"); - foreach(var_12 in var_10) - { - var_12 delete(); - } -} - -//Function Number: 9 -load_costume_indices() -{ - if(isdefined(level.costumecategories)) - { - return; - } - - level.costumecategories = ["gender","shirt","head","pants","gloves","shoes","kneepads","gear","hat","eyewear","exo"]; - level.costumecat2idx = []; - for(var_00 = 0;var_00 < level.costumecategories.size;var_00++) - { - var_01 = level.costumecategories[var_00]; - level.costumecat2idx[var_01] = var_00; - } - - level.costumetypehexids = []; - level.costumetypehexids["gender"] = "0x61"; - level.costumetypehexids["shirt"] = "0x62"; - level.costumetypehexids["head"] = "0x63"; - level.costumetypehexids["pants"] = "0x64"; - level.costumetypehexids["gloves"] = "0x69"; - level.costumetypehexids["shoes"] = "0x6a"; - level.costumetypehexids["kneepads"] = "0x68"; - level.costumetypehexids["gear"] = "0x67"; - level.costumetypehexids["hat"] = "0x66"; - level.costumetypehexids["eyewear"] = "0x6c"; - level.costumetypehexids["exo"] = "0x6b"; -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/_opticsthermal.gsc b/AW/PC/MP/maps/mp/_opticsthermal.gsc deleted file mode 100644 index 5764aa1..0000000 --- a/AW/PC/MP/maps/mp/_opticsthermal.gsc +++ /dev/null @@ -1,68 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_opticsthermal.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 3 - * Decompile Time: 44 ms - * Timestamp: 10/27/2023 1:49:13 AM -*******************************************************************/ - -//Function Number: 1 -opticsthermal_think() -{ - self endon("death"); - self endon("disconnect"); - self endon("faux_spawn"); - if(isagent(self)) - { - return; - } - - var_00 = 0.65; - self.opticsthermalenabled = 0; - self.orbitalthermalmode = 0; - self.has_opticsthermal = 0; - for(;;) - { - var_01 = !self.has_opticsthermal; - var_01 = var_01 | self.has_opticsthermal && self playerads() < var_00; - var_01 = var_01 | self isusingturret(); - var_01 = var_01 | self.orbitalthermalmode; - if(var_01) - { - opticsthermal_blur_off(self); - } - else - { - opticsthermal_blur(self,0.05); - } - - wait(0.05); - } -} - -//Function Number: 2 -opticsthermal_blur(param_00,param_01) -{ - if(param_00.opticsthermalenabled) - { - return; - } - - param_00 enablephysicaldepthoffieldscripting(3); - param_00 setphysicaldepthoffield(70,0,40,80); - param_00.opticsthermalenabled = 1; -} - -//Function Number: 3 -opticsthermal_blur_off(param_00) -{ - if(!param_00.opticsthermalenabled) - { - return; - } - - param_00 disablephysicaldepthoffieldscripting(); - param_00.opticsthermalenabled = 0; -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/_shutter.gsc b/AW/PC/MP/maps/mp/_shutter.gsc deleted file mode 100644 index 3c9800d..0000000 --- a/AW/PC/MP/maps/mp/_shutter.gsc +++ /dev/null @@ -1,191 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_shutter.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 5 - * Decompile Time: 82 ms - * Timestamp: 10/27/2023 1:49:18 AM -*******************************************************************/ - -//Function Number: 1 -main() -{ - level.inc = 0; - common_scripts\utility::array_levelthread(getentarray("wire","targetname"),::wirewander); - var_00 = getentarray("shutter_left","targetname"); - var_01 = getentarray("shutter_right_open","targetname"); - for(var_02 = 0;var_02 < var_01.size;var_02++) - { - var_00[var_00.size] = var_01[var_02]; - } - - var_01 = getentarray("shutter_left_closed","targetname"); - for(var_02 = 0;var_02 < var_01.size;var_02++) - { - var_00[var_00.size] = var_01[var_02]; - } - - for(var_02 = 0;var_02 < var_00.size;var_02++) - { - var_03 = var_00[var_02]; - var_03 rotateto((var_03.angles[0],var_03.angles[1] + 180,var_03.angles[2]),0.1); - } - - wait(0.2); - for(var_02 = 0;var_02 < var_00.size;var_02++) - { - var_00[var_02].startyaw = var_00[var_02].angles[1]; - } - - var_04 = getentarray("shutter_right","targetname"); - var_01 = getentarray("shutter_left_open","targetname"); - for(var_02 = 0;var_02 < var_01.size;var_02++) - { - var_04[var_04.size] = var_01[var_02]; - } - - var_01 = getentarray("shutter_right_closed","targetname"); - for(var_02 = 0;var_02 < var_01.size;var_02++) - { - var_04[var_04.size] = var_01[var_02]; - } - - for(var_02 = 0;var_02 < var_04.size;var_02++) - { - var_04[var_02].startyaw = var_04[var_02].angles[1]; - } - - var_01 = undefined; - var_05 = "left"; - for(;;) - { - common_scripts\utility::array_levelthread(var_00,::shutterwanderleft,var_05); - common_scripts\utility::array_levelthread(var_04,::shutterwanderright,var_05); - level waittill("wind blows",var_05); - } -} - -//Function Number: 2 -windcontroller() -{ - for(;;) - { - var_00 = "left"; - if(randomint(100) > 50) - { - var_00 = "right"; - } - - level notify("wind blows",var_00); - wait(2 + randomfloat(10)); - } -} - -//Function Number: 3 -shutterwanderleft(param_00,param_01) -{ - level.inc++; - level endon("wind blows"); - var_02 = param_00.startyaw; - if(param_01 == "left") - { - var_02 = var_02 + 179.9; - } - - var_03 = 0.2; - param_00 rotateto((param_00.angles[0],var_02,param_00.angles[2]),var_03); - wait(var_03 + 0.1); - for(;;) - { - var_04 = randomint(80); - if(randomint(100) > 50) - { - var_04 = var_04 * -1; - } - - var_02 = param_00.angles[1] + var_04; - var_05 = param_00.angles[1] + var_04 * -1; - if(var_02 < param_00.startyaw || var_02 > param_00.startyaw + 179) - { - var_02 = var_05; - } - - var_06 = abs(param_00.angles[1] - var_02); - var_03 = var_06 * 0.02 + randomfloat(2); - if(var_03 < 0.3) - { - var_03 = 0.3; - } - - param_00 rotateto((param_00.angles[0],var_02,param_00.angles[2]),var_03,var_03 * 0.5,var_03 * 0.5); - wait(var_03); - } -} - -//Function Number: 4 -shutterwanderright(param_00,param_01) -{ - level.inc++; - level endon("wind blows"); - var_02 = param_00.startyaw; - if(param_01 == "left") - { - var_02 = var_02 + 179.9; - } - - var_03 = 0.2; - param_00 rotateto((param_00.angles[0],var_02,param_00.angles[2]),var_03); - wait(var_03 + 0.1); - for(;;) - { - var_04 = randomint(80); - if(randomint(100) > 50) - { - var_04 = var_04 * -1; - } - - var_02 = param_00.angles[1] + var_04; - var_05 = param_00.angles[1] + var_04 * -1; - if(var_02 < param_00.startyaw || var_02 > param_00.startyaw + 179) - { - var_02 = var_05; - } - - var_06 = abs(param_00.angles[1] - var_02); - var_03 = var_06 * 0.02 + randomfloat(2); - if(var_03 < 0.3) - { - var_03 = 0.3; - } - - param_00 rotateto((param_00.angles[0],var_02,param_00.angles[2]),var_03,var_03 * 0.5,var_03 * 0.5); - wait(var_03); - } -} - -//Function Number: 5 -wirewander(param_00) -{ - var_01 = getentarray(param_00.target,"targetname"); - var_02 = var_01[0].origin; - var_03 = var_01[1].origin; - var_04 = vectortoangles(var_02 - var_03); - var_05 = spawn("script_model",(0,0,0)); - var_05.origin = var_02 * 0.5 + var_03 * 0.5; - var_05.angles = var_04; - param_00 linkto(var_05); - var_06 = 2; - var_07 = 0.9; - var_08 = 4 + randomfloat(2); - var_05 rotateroll(var_08 * 0.5,0.2); - wait(0.2); - for(;;) - { - var_09 = var_06 + randomfloat(var_07) - var_07 * 0.5; - var_05 rotateroll(var_08,var_09,var_09 * 0.5,var_09 * 0.5); - wait(var_09); - var_05 rotateroll(var_08 * -1,var_09,var_09 * 0.5,var_09 * 0.5); - wait(var_09); - } -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/_stingerm7.gsc b/AW/PC/MP/maps/mp/_stingerm7.gsc deleted file mode 100644 index 6489a43..0000000 --- a/AW/PC/MP/maps/mp/_stingerm7.gsc +++ /dev/null @@ -1,493 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_stingerm7.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 15 - * Decompile Time: 228 ms - * Timestamp: 10/27/2023 1:49:21 AM -*******************************************************************/ - -//Function Number: 1 -stingerm7_think() -{ - thread stingerm7_targeting(); - thread stingerm7_monitor_fire(); -} - -//Function Number: 2 -stingerm7_targeting() -{ - self endon("death"); - self endon("disconnect"); - self endon("faux_spawn"); - self endon("joined_team"); - self.stingerm7_info = spawnstruct(); - self.stingerm7_info.locked_targets = []; - self.stingerm7_info.locking_time = 0; - var_00 = 0; - for(;;) - { - var_01 = self getcurrentweapon(); - var_02 = 0; - if(issubstr(var_01,"stingerm7")) - { - var_02 = 1; - } - else if(issubstr(var_01,"dlcgun11loot2")) - { - var_02 = 1; - } - - if(var_02 && self playerads() > 0.99) - { - var_00 = 1; - if(self.stingerm7_info.locked_targets.size > 0) - { - remove_invalid_locks(); - } - - self.stingerm7_info.locked_targets = array_remove_dead(common_scripts\utility::array_removeundefined(self.stingerm7_info.locked_targets)); - if(isdefined(self.stingerm7_info.locking_target)) - { - if(!locking_target_still_valid(self.stingerm7_info.locking_target)) - { - self.stingerm7_info.locking_target = undefined; - self notify("stop_javelin_locking_feedback"); - } - } - - if(isdefined(self.stingerm7_info.locking_target)) - { - self.stingerm7_info.locking_time = self.stingerm7_info.locking_time + 0.05; - } - else - { - self.stingerm7_info.locking_time = 0; - if(self.stingerm7_info.locked_targets.size < 4) - { - self.stingerm7_info.locking_target = get_best_locking_target(); - if(isdefined(self.stingerm7_info.locking_target)) - { - thread locking_feedback(); - } - } - } - - if(self.stingerm7_info.locking_time >= 1 && isdefined(self.stingerm7_info.locking_target) && self.stingerm7_info.locked_targets.size < 4) - { - self notify("stop_javelin_locking_feedback"); - self.stingerm7_info.locked_targets[self.stingerm7_info.locked_targets.size] = self.stingerm7_info.locking_target; - thread locked_feedback(); - self.stingerm7_info.locking_target = undefined; - } - - if(self.stingerm7_info.locked_targets.size > 0) - { - self weaponlockfinalize(self.stingerm7_info.locked_targets[0]); - } - else - { - self weaponlockfree(); - self notify("stop_javelin_locked_feedback"); - } - } - else if(var_00 == 1) - { - var_00 = 0; - self weaponlockfree(); - self notify("stop_javelin_locking_feedback"); - self notify("stop_javelin_locked_feedback"); - self.stingerm7_info.locked_targets = []; - if(isdefined(self.stingerm7_info.locking_target)) - { - self.stingerm7_info.locking_target = undefined; - } - - self.stingerm7_info.locking_time = 0; - } - - wait(0.05); - } -} - -//Function Number: 3 -stingerm7_monitor_fire() -{ - self endon("death"); - self endon("disconnect"); - self endon("faux_spawn"); - self endon("joined_team"); - for(;;) - { - self waittill("missile_fire",var_00,var_01); - if(issubstr(var_01,"stingerm7") || issubstr(var_01,"dlcgun11loot2")) - { - thread stinger_fire(self,var_00,var_01); - } - } -} - -//Function Number: 4 -stinger_fire(param_00,param_01,param_02) -{ - var_03 = (0,0,0); - var_04 = (0,0,0); - if(isdefined(param_01)) - { - var_03 = param_01.origin; - var_04 = param_01.angles; - param_01 delete(); - } - else - { - return; - } - - param_00.stingerm7_info.locked_targets = array_remove_dead(common_scripts\utility::array_removeundefined(self.stingerm7_info.locked_targets)); - var_05 = []; - for(var_06 = 0;var_06 < 4;var_06++) - { - var_07 = var_04 + random_vector(20,20,20); - var_08 = anglestoforward(var_07); - var_09 = magicbullet(param_02,var_03,var_03 + var_08,param_00); - var_09.owner = param_00; - if(param_00.stingerm7_info.locked_targets.size > 0) - { - var_0A = undefined; - if(var_06 < param_00.stingerm7_info.locked_targets.size) - { - var_0A = param_00.stingerm7_info.locked_targets[var_06]; - } - else - { - var_0A = param_00.stingerm7_info.locked_targets[randomint(param_00.stingerm7_info.locked_targets.size)]; - } - - var_09 missile_settargetent(var_0A,stingerm7_get_target_offset(var_0A)); - var_09.lockedstingertarget = var_0A; - } - - var_05[var_05.size] = var_09; - } - - level notify("stinger_fired",param_00,var_05); - param_00 setweaponammoclip(param_02,0); -} - -//Function Number: 5 -anystingermissilelockedon(param_00,param_01) -{ - foreach(var_03 in param_00) - { - if(isdefined(var_03.lockedstingertarget) && var_03.lockedstingertarget == param_01) - { - return 1; - } - } - - return 0; -} - -//Function Number: 6 -get_best_locking_target() -{ - var_00 = maps\mp\_utility::getotherteam(self.team); - var_01 = []; - foreach(var_03 in level.players) - { - if(level.teambased && var_03.team == self.team) - { - continue; - } - - if(!maps\mp\_utility::isreallyalive(var_03)) - { - continue; - } - - var_01[var_01.size] = var_03; - } - - var_05 = vehicle_getarray(); - var_06 = []; - foreach(var_08 in var_05) - { - if(!isdefined(var_08.owner)) - { - continue; - } - - if(var_08 maps\mp\killstreaks\_aerial_utility::vehicleiscloaked()) - { - continue; - } - - if(level.teambased && var_08.owner.team == self.team) - { - continue; - } - - var_06[var_06.size] = var_08; - } - - if(isdefined(level.ishorde) && level.ishorde) - { - foreach(var_0B in level.agentarray) - { - if(level.teambased && var_0B.team == self.team) - { - continue; - } - - if(!maps\mp\_utility::isreallyalive(var_0B)) - { - continue; - } - - var_01[var_01.size] = var_0B; - } - - foreach(var_08 in var_05) - { - if(var_08 maps\mp\killstreaks\_aerial_utility::vehicleiscloaked()) - { - continue; - } - - if(level.teambased && var_08.team == self.team) - { - continue; - } - - var_06[var_06.size] = var_08; - } - } - - var_0F = maps\mp\killstreaks\_killstreaks::getaerialkillstreakarray(var_00); - var_10 = common_scripts\utility::array_combine(var_01,var_06); - var_10 = common_scripts\utility::array_combine(var_10,var_0F); - if(isdefined(level.stingerlockonentsfunc)) - { - var_10 = common_scripts\utility::array_combine(var_10,[[ level.stingerlockonentsfunc ]](self)); - } - - var_11 = self geteye(); - var_12 = anglestoforward(self getplayerangles()); - var_13 = undefined; - var_14 = cos(5); - foreach(var_16 in var_10) - { - if(!common_scripts\utility::array_contains(self.stingerm7_info.locked_targets,var_16)) - { - var_17 = stingerm7_get_target_pos(var_16); - var_18 = vectordot(vectornormalize(var_17 - var_11),var_12); - if(var_18 > var_14) - { - var_19 = undefined; - var_1A = !1; - if(!var_1A) - { - var_1B = bullettracepassed(var_11,var_17,0,var_16); - if(var_1B) - { - var_1A = 1; - } - } - - if(var_1A) - { - var_13 = var_16; - var_14 = var_18; - } - } - } - } - - return var_13; -} - -//Function Number: 7 -locking_target_still_valid(param_00) -{ - var_01 = self geteye(); - var_02 = anglestoforward(self getplayerangles()); - var_03 = stingerm7_get_target_pos(param_00); - if((isplayer(param_00) || isbot(param_00) || isdefined(level.ishorde) && level.ishorde && isagent(param_00)) && !maps\mp\_utility::isreallyalive(param_00)) - { - return 0; - } - - if(vectordot(vectornormalize(var_03 - var_01),var_02) > cos(5)) - { - if(!1 || bullettracepassed(var_01,var_03,0,param_00)) - { - return 1; - } - } - - return 0; -} - -//Function Number: 8 -remove_invalid_locks() -{ - for(var_00 = 0;var_00 <= self.stingerm7_info.locked_targets.size;var_00++) - { - if(isdefined(self.stingerm7_info.locked_targets[var_00]) && isdefined(self.stingerm7_info.locked_targets[var_00].origin)) - { - if(!isdefined(self.stingerm7_info.locked_targets[var_00].sight_lost_time)) - { - self.stingerm7_info.locked_targets[var_00].sight_lost_time = -1; - } - - var_01 = (0,0,0); - if(isplayer(self.stingerm7_info.locked_targets[var_00]) || isbot(self.stingerm7_info.locked_targets[var_00])) - { - var_01 = (0,0,64); - } - - if(self worldpointinreticle_rect(self.stingerm7_info.locked_targets[var_00].origin + var_01,50,400,200)) - { - if(bullettracepassed(self geteye(),self.stingerm7_info.locked_targets[var_00].origin + var_01,0,self.stingerm7_info.locked_targets[var_00])) - { - self.stingerm7_info.locked_targets[var_00].sight_lost_time = -1; - continue; - } - } - - if(self.stingerm7_info.locked_targets[var_00].sight_lost_time == -1) - { - self.stingerm7_info.locked_targets[var_00].sight_lost_time = gettime(); - continue; - } - - if(gettime() - self.stingerm7_info.locked_targets[var_00].sight_lost_time >= 500) - { - self.stingerm7_info.locked_targets[var_00].sight_lost_time = -1; - self.stingerm7_info.locked_targets[var_00] = undefined; - } - } - } -} - -//Function Number: 9 -stingerm7_get_target_pos(param_00) -{ - if(isdefined(param_00.getstingertargetposfunc)) - { - return param_00 [[ param_00.getstingertargetposfunc ]](); - } - - return param_00 getpointinbounds(0,0,0); -} - -//Function Number: 10 -stingerm7_get_target_offset(param_00) -{ - return stingerm7_get_target_pos(param_00) - param_00.origin; -} - -//Function Number: 11 -locking_feedback() -{ - self endon("death"); - self endon("disconnect"); - self endon("faux_spawn"); - self endon("joined_team"); - self endon("stop_javelin_locking_feedback"); - for(;;) - { - if(isdefined(level.spawnedwarbirds)) - { - foreach(var_01 in level.spawnedwarbirds) - { - if(isdefined(var_01.owner) && isdefined(var_01.player) && isdefined(self.stingerm7_info.locking_target) && self.stingerm7_info.locking_target == var_01) - { - var_01.owner playlocalsound("wpn_stingerm7_enemy_locked"); - } - } - } - - if(isdefined(level.orbitalsupport_player) && isdefined(self.stingerm7_info.locking_target) && self.stingerm7_info.locking_target == level.orbitalsupport_planemodel) - { - level.orbitalsupport_player playlocalsound("wpn_stingerm7_enemy_locked"); - } - - self playlocalsound("wpn_stingerm7_locking"); - self playrumbleonentity("heavygun_fire"); - wait(0.6); - } -} - -//Function Number: 12 -locked_feedback() -{ - self endon("death"); - self endon("disconnect"); - self endon("faux_spawn"); - self endon("joined_team"); - self endon("stop_javelin_locked_feedback"); - for(;;) - { - if(isdefined(level.spawnedwarbirds)) - { - foreach(var_01 in level.spawnedwarbirds) - { - if(isdefined(var_01.owner) && isdefined(var_01.player) && isdefined(self.stingerm7_info.locked_targets) && isinarray(self.stingerm7_info.locked_targets,var_01)) - { - var_01.owner playlocalsound("wpn_stingerm7_enemy_locked"); - } - } - } - - if(isdefined(level.orbitalsupport_player) && isdefined(self.stingerm7_info.locked_targets) && isinarray(self.stingerm7_info.locked_targets,level.orbitalsupport_planemodel)) - { - level.orbitalsupport_player playlocalsound("wpn_stingerm7_enemy_locked"); - } - - self playlocalsound("wpn_stingerm7_locked"); - self playrumbleonentity("heavygun_fire"); - wait(0.25); - } -} - -//Function Number: 13 -array_remove_dead(param_00) -{ - var_01 = []; - foreach(var_03 in param_00) - { - if(!isalive(var_03)) - { - continue; - } - - var_01[var_01.size] = var_03; - } - - return var_01; -} - -//Function Number: 14 -random_vector(param_00,param_01,param_02) -{ - return (randomfloat(param_00) - param_00 * 0.5,randomfloat(param_01) - param_01 * 0.5,randomfloat(param_02) - param_02 * 0.5); -} - -//Function Number: 15 -isinarray(param_00,param_01) -{ - if(isdefined(param_00)) - { - foreach(var_03 in param_00) - { - if(var_03 == param_01) - { - return 1; - } - } - } - - return 0; -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/_stock.gsc b/AW/PC/MP/maps/mp/_stock.gsc deleted file mode 100644 index 2539a26..0000000 --- a/AW/PC/MP/maps/mp/_stock.gsc +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_stock.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 1 - * Decompile Time: 14 ms - * Timestamp: 10/27/2023 1:49:22 AM -*******************************************************************/ - -//Function Number: 1 -stock_think() -{ - self endon("death"); - self endon("disconnect"); - self endon("faux_spawn"); - self.has_stock = 0; - for(;;) - { - if(!self.has_stock) - { - if(self hasperk("specialty_stalker",1)) - { - self unsetperk("specialty_stalker",1); - } - - wait(0.05); - continue; - } - - if(!self hasperk("specialty_stalker",1)) - { - self setperk("specialty_stalker",1,0); - } - - wait(0.05); - } -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/_target_enhancer.gsc b/AW/PC/MP/maps/mp/_target_enhancer.gsc deleted file mode 100644 index 2300260..0000000 --- a/AW/PC/MP/maps/mp/_target_enhancer.gsc +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_target_enhancer.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 1 - * Decompile Time: 14 ms - * Timestamp: 10/27/2023 1:49:22 AM -*******************************************************************/ - -//Function Number: 1 -target_enhancer_think() -{ - self endon("death"); - self endon("disconnect"); - self endon("faux_spawn"); - var_00 = 10; - var_01 = cos(var_00); - var_02 = 0.5; - self.has_target_enhancer = 0; - for(;;) - { - while(self.has_target_enhancer && self playerads() < var_02) - { - wait(0.05); - } - - if(!self.has_target_enhancer) - { - wait(0.05); - continue; - } - - if(self isusingturret()) - { - wait(0.05); - continue; - } - - if(isdefined(self.empon) && self.empon) - { - wait 0.05; - continue; - } - - if(isplayer(self)) - { - childthread maps\mp\_threatdetection::detection_highlight_hud_effect(self,0.05,1); - } - - wait(0.05); - } -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/_tracking_drone.gsc b/AW/PC/MP/maps/mp/_tracking_drone.gsc deleted file mode 100644 index 4801e3a..0000000 --- a/AW/PC/MP/maps/mp/_tracking_drone.gsc +++ /dev/null @@ -1,1043 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_tracking_drone.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 48 - * Decompile Time: 748 ms - * Timestamp: 10/27/2023 1:49:31 AM -*******************************************************************/ - -//Function Number: 1 -watchtrackingdroneusage() -{ - self endon("spawned_player"); - self endon("disconnect"); - self endon("death"); - self endon("faux_spawn"); - if(!isdefined(level.trackingdronesettings)) - { - trackingdroneinit(); - } - - for(;;) - { - self waittill("grenade_fire",var_00,var_01); - var_02 = maps\mp\_utility::strip_suffix(var_01,"_lefthand"); - if(var_02 == "tracking_drone_mp") - { - var_00 thread destroy_tracking_drone_in_water(); - wait(0.5); - if(!isremovedentity(var_00) && isdefined(var_00)) - { - self.trackingdronestartposition = var_00.origin; - self.trackingdronestartangles = var_00.angles; - var_00 deletetrackingdrone(); - if(!prevent_tracking_drone_in_water(self.trackingdronestartposition)) - { - tryusetrackingdrone(var_01); - } - } - } - } -} - -//Function Number: 2 -trackingdroneinit() -{ - level.trackingdronemaxperplayer = 1; - level.trackingdronesettings = spawnstruct(); - level.trackingdronesettings.timeout = 20; - level.trackingdronesettings.explosivetimeout = 30; - level.trackingdronesettings.health = 999999; - level.trackingdronesettings.maxhealth = 60; - level.trackingdronesettings.vehicleinfo = "vehicle_tracking_drone_mp"; - level.trackingdronesettings.modelbase = "npc_drone_tracking"; - level.trackingdronesettings.fxid_sparks = loadfx("vfx/sparks/direct_hack_stun"); - level.trackingdronesettings.fxid_laser_glow = loadfx("vfx/lights/tracking_drone_laser_blue"); - level.trackingdronesettings.fxid_explode = loadfx("vfx/explosion/tracking_drone_explosion"); - level.trackingdronesettings.fxid_lethalexplode = loadfx("vfx/explosion/frag_grenade_default"); - level.trackingdronesettings.fxid_warning = loadfx("vfx/lights/light_tracking_drone_blink_warning"); - level.trackingdronesettings.fxid_enemy_light = loadfx("vfx/lights/light_tracking_drone_blink_enemy"); - level.trackingdronesettings.fxid_friendly_light = loadfx("vfx/lights/light_tracking_drone_blink_friendly"); - level.trackingdronesettings.fxid_thruster_down = loadfx("vfx/distortion/tracking_drone_distortion_down"); - level.trackingdronesettings.fxid_thruster_up = loadfx("vfx/distortion/tracking_drone_distortion_up"); - level.trackingdronesettings.fxid_engine_distort = loadfx("vfx/distortion/tracking_drone_distortion_hemi"); - level.trackingdronesettings.sound_explode = "veh_tracking_drone_explode"; - level.trackingdronesettings.sound_lock = "veh_tracking_drone_lock_lp"; - level.trackingdrones = []; - foreach(var_01 in level.players) - { - var_01.is_being_tracked = 0; - } - - level thread ontrackingplayerconnect(); - level.trackingdronetimeout = level.trackingdronesettings.timeout; - level.explosivedronetimeout = level.trackingdronesettings.explosivetimeout; - level.trackingdronedebugposition = 0; - level.trackingdronedebugpositionforward = 65; - level.trackingdronedebugpositionheight = 0; -} - -//Function Number: 3 -tryusetrackingdrone(param_00) -{ - var_01 = 1; - if(maps\mp\_utility::isusingremote()) - { - return 0; - } - else if(exceededmaxtrackingdrones()) - { - self iprintlnbold(&"MP_AIR_SPACE_TOO_CROWDED"); - return 0; - } - else if(maps\mp\_utility::currentactivevehiclecount() >= maps\mp\_utility::maxvehiclesallowed() || level.fauxvehiclecount + var_01 >= maps\mp\_utility::maxvehiclesallowed()) - { - self iprintlnbold(&"MP_AIR_SPACE_TOO_CROWDED"); - return 0; - } - - if(!isdefined(self.trackingdronearray)) - { - self.trackingdronearray = []; - } - - if(self.trackingdronearray.size) - { - self.trackingdronearray = common_scripts\utility::array_removeundefined(self.trackingdronearray); - if(self.trackingdronearray.size >= level.trackingdronemaxperplayer) - { - if(isdefined(self.trackingdronearray[0])) - { - self.trackingdronearray[0] thread trackingdrone_leave(); - } - } - } - - maps\mp\_utility::incrementfauxvehiclecount(); - var_02 = createtrackingdrone(param_00); - if(!isdefined(var_02)) - { - maps\mp\_utility::decrementfauxvehiclecount(); - return 0; - } - - var_02.weaponname = param_00; - self.trackingdronearray[self.trackingdronearray.size] = var_02; - level.trackingdrones = common_scripts\utility::array_removeundefined(level.trackingdrones); - level.trackingdrones[level.trackingdrones.size] = var_02; - thread starttrackingdrone(var_02); - return 1; -} - -//Function Number: 4 -createtrackingdrone(param_00,param_01,param_02,param_03,param_04) -{ - if(!isdefined(param_01)) - { - param_01 = 0; - } - - if(!param_01) - { - var_05 = self geteye(); - var_06 = anglestoforward(self getplayerangles()); - var_07 = self getplayerangles(); - var_06 = anglestoforward(var_07); - var_08 = anglestoright(var_07); - var_09 = var_06 * 50; - var_0A = var_08 * 0; - var_0B = 80; - switch(self getstance()) - { - case "stand": - break; - - case "crouch": - break; - - case "prone": - break; - } - } -} - -//Function Number: 5 -idletargetmover(param_00) -{ - self endon("disconnect"); - level endon("game_ended"); - param_00 endon("death"); - var_01 = anglestoforward(self.angles); - for(;;) - { - if(maps\mp\_utility::isreallyalive(self) && !maps\mp\_utility::isusingremote() && anglestoforward(self.angles) != var_01) - { - var_01 = anglestoforward(self.angles); - var_02 = self.origin + var_01 * -100 + (0,0,40); - param_00 moveto(var_02,0.5); - } - - wait(0.5); - } -} - -//Function Number: 6 -trackingdrone_lightfx(param_00,param_01) -{ - param_01 endon("disconnect"); - playfxontagforclients(param_00,self,"fx_light_1",param_01); - wait(0.05); - playfxontagforclients(param_00,self,"fx_light_2",param_01); - wait(0.05); - playfxontagforclients(param_00,self,"fx_light_3",param_01); - wait(0.05); - playfxontagforclients(param_00,self,"fx_light_4",param_01); -} - -//Function Number: 7 -trackingdrone_enemy_lightfx() -{ - self endon("death"); - foreach(var_01 in level.players) - { - if(isdefined(var_01) && issentient(var_01) && issentient(self) && var_01.team != self.team) - { - childthread trackingdrone_lightfx(level.trackingdronesettings.fxid_enemy_light,var_01); - wait(0.2); - } - } -} - -//Function Number: 8 -trackingdrone_friendly_lightfx() -{ - self endon("death"); - foreach(var_01 in level.players) - { - if(isdefined(var_01) && issentient(var_01) && issentient(self) && var_01.team == self.team) - { - childthread trackingdrone_lightfx(level.trackingdronesettings.fxid_friendly_light,var_01); - wait(0.2); - } - } - - thread watchconnectedplayfx(); - thread watchjoinedteamplayfx(); -} - -//Function Number: 9 -drone_thrusterfx() -{ - self endon("death"); - foreach(var_01 in level.players) - { - wait(0.1); - if(isdefined(var_01) && isdefined(self) && isdefined(level.trackingdronesettings.fxid_thruster_down)) - { - playfxontagforclients(level.trackingdronesettings.fxid_thruster_down,self,"fx_thruster_down_F",var_01); - } - - wait(0.1); - if(isdefined(var_01) && isdefined(self) && isdefined(level.trackingdronesettings.fxid_thruster_down)) - { - playfxontagforclients(level.trackingdronesettings.fxid_thruster_down,self,"fx_thruster_down_K",var_01); - } - - wait(0.1); - if(isdefined(var_01) && isdefined(self) && isdefined(level.trackingdronesettings.fxid_thruster_down)) - { - playfxontagforclients(level.trackingdronesettings.fxid_thruster_down,self,"fx_thruster_down_L",var_01); - } - - wait(0.1); - if(isdefined(var_01) && isdefined(self) && isdefined(level.trackingdronesettings.fxid_thruster_down)) - { - playfxontagforclients(level.trackingdronesettings.fxid_thruster_down,self,"fx_thruster_down_R",var_01); - } - - wait(0.1); - if(isdefined(var_01) && isdefined(self) && isdefined(level.trackingdronesettings.fxid_engine_distort)) - { - playfxontagforclients(level.trackingdronesettings.fxid_engine_distort,self,"TAG_WEAPON",var_01); - } - - wait(0.25); - } - - for(;;) - { - level waittill("connected",var_01); - var_01 waittill("spawned_player"); - wait(0.1); - if(isdefined(var_01) && isdefined(self) && isdefined(level.trackingdronesettings.fxid_thruster_down)) - { - playfxontagforclients(level.trackingdronesettings.fxid_thruster_down,self,"fx_thruster_down_F",var_01); - } - - wait(0.1); - if(isdefined(var_01) && isdefined(self) && isdefined(level.trackingdronesettings.fxid_thruster_down)) - { - playfxontagforclients(level.trackingdronesettings.fxid_thruster_down,self,"fx_thruster_down_K",var_01); - } - - wait(0.1); - if(isdefined(var_01) && isdefined(self) && isdefined(level.trackingdronesettings.fxid_thruster_down)) - { - playfxontagforclients(level.trackingdronesettings.fxid_thruster_down,self,"fx_thruster_down_L",var_01); - } - - wait(0.1); - if(isdefined(var_01) && isdefined(self) && isdefined(level.trackingdronesettings.fxid_thruster_down)) - { - playfxontagforclients(level.trackingdronesettings.fxid_thruster_down,self,"fx_thruster_down_R",var_01); - } - - wait(0.1); - playfxontagforclients(level.trackingdronesettings.fxid_engine_distort,self,"TAG_WEAPON",var_01); - wait(0.25); - } -} - -//Function Number: 10 -watchconnectedplayfx() -{ - self endon("death"); - for(;;) - { - level waittill("connected",var_00); - var_00 waittill("spawned_player"); - if(isdefined(var_00) && var_00.team == self.team) - { - childthread trackingdrone_lightfx(level.trackingdronesettings.fxid_friendly_light,var_00); - wait(0.2); - } - } -} - -//Function Number: 11 -watchjoinedteamplayfx() -{ - self endon("death"); - for(;;) - { - level waittill("joined_team",var_00); - var_00 waittill("spawned_player"); - if(isdefined(var_00) && var_00.team == self.team) - { - childthread trackingdrone_lightfx(level.trackingdronesettings.fxid_friendly_light,var_00); - wait(0.2); - } - } -} - -//Function Number: 12 -starttrackingdrone(param_00) -{ - level endon("game_ended"); - param_00 endon("death"); - param_00 thread trackingdrone_followtarget(); - param_00 thread aud_drone_start_jets(); - if(isdefined(param_00.type)) - { - if(param_00.type == "explosive_drone") - { - param_00 thread checkforexplosivegoal(); - return; - } - - if(param_00.type == "tracking_drone" && !isdefined(level.ishorde)) - { - param_00 thread trackingdrone_highlighttarget(); - return; - } - } -} - -//Function Number: 13 -checkforexplosivegoal() -{ - level endon("game_ended"); - level endon("host_migration_begin"); - self endon("death"); - self endon("leaving"); - for(;;) - { - common_scripts\utility::waittill_any("goal","near_goal","hit_goal"); - if(self.trackedplayer != self.owner && maps\mp\_utility::isreallyalive(self.trackedplayer)) - { - var_00 = distancesquared(self.trackedplayer.origin,self.origin); - if(var_00 <= 16384) - { - self notify("exploding"); - thread blowupdronesequence(); - break; - } - } - } -} - -//Function Number: 14 -blowupdronesequence() -{ - var_00 = 2; - var_01 = undefined; - if(isdefined(self.owner)) - { - var_01 = self.owner; - } - - if(isdefined(self)) - { - thread turnondangerlights(); - self playsound("drone_warning_beap"); - } - - wait(var_00); - if(isdefined(self)) - { - self playsound("drone_bomb_explosion"); - var_02 = anglestoup(self.angles); - var_03 = anglestoforward(self.angles); - playfx(level.trackingdronesettings.fxid_lethalexplode,self.origin,var_03,var_02); - if(isdefined(var_01)) - { - self radiusdamage(self.origin,256,1000,25,var_01,"MOD_EXPLOSIVE","killstreak_missile_strike_mp"); - } - else - { - self radiusdamage(self.origin,256,1000,25,undefined,"MOD_EXPLOSIVE","killstreak_missile_strike_mp"); - } - - self notify("death"); - } -} - -//Function Number: 15 -turnondangerlights() -{ - if(isdefined(self)) - { - stopfxontag(level.trackingdronesettings.fxid_enemy_light,self,"tag_fx_beacon_0"); - stopfxontag(level.trackingdronesettings.fxid_enemy_light,self,"tag_fx_beacon_1"); - stopfxontag(level.trackingdronesettings.fxid_enemy_light,self,"tag_fx_beacon_2"); - stopfxontag(level.trackingdronesettings.fxid_friendly_light,self,"tag_fx_beacon_0"); - stopfxontag(level.trackingdronesettings.fxid_friendly_light,self,"tag_fx_beacon_1"); - stopfxontag(level.trackingdronesettings.fxid_friendly_light,self,"tag_fx_beacon_2"); - } - - wait(0.05); - if(isdefined(self)) - { - playfxontag(level.trackingdronesettings.fxid_warning,self,"tag_fx_beacon_0"); - playfxontag(level.trackingdronesettings.fxid_warning,self,"tag_fx_beacon_1"); - } - - wait(0.15); - if(isdefined(self)) - { - playfxontag(level.trackingdronesettings.fxid_warning,self,"tag_fx_beacon_2"); - } -} - -//Function Number: 16 -trackingdrone_followtarget() -{ - level endon("game_ended"); - level endon("host_migration_begin"); - self endon("death"); - self endon("leaving"); - self endon("exploding"); - if(!isdefined(self.owner)) - { - thread trackingdrone_leave(); - return; - } - - self.owner endon("disconnect"); - self endon("owner_gone"); - self vehicle_setspeed(self.followspeed,10,10); - self.previoustrackedplayer = self.owner; - self.trackedplayer = undefined; - if(isdefined(level.ishorde) && level.ishorde) - { - self.trackedplayer = self.owner; - } - - for(;;) - { - if(isdefined(self.stunned) && self.stunned) - { - wait(0.5); - continue; - } - - if(isdefined(self.owner) && isalive(self.owner)) - { - var_00 = self.maxtrackingrange * self.maxtrackingrange; - var_01 = var_00; - if(!isdefined(level.ishorde)) - { - if(!isdefined(self.trackedplayer) || self.trackedplayer == self.owner) - { - foreach(var_03 in level.players) - { - if(isdefined(var_03) && isalive(var_03) && var_03.team != self.team && !var_03 maps\mp\_utility::_hasperk("specialty_blindeye")) - { - var_04 = distancesquared(self.origin,var_03.origin); - if(var_04 < var_01) - { - var_01 = var_04; - self.trackedplayer = var_03; - thread watchplayerdeathdisconnect(var_03); - } - } - } - } - } - - if(!isdefined(self.trackedplayer)) - { - self.trackedplayer = self.owner; - } - - if(isdefined(self.trackedplayer)) - { - trackingdrone_movetoplayer(self.trackedplayer); - } - - if(self.trackedplayer != self.previoustrackedplayer) - { - stophighlightingplayer(self.previoustrackedplayer); - self.previoustrackedplayer = self.trackedplayer; - } - } - - wait(1); - } -} - -//Function Number: 17 -watchplayerdeathdisconnect(param_00) -{ - self endon("death"); - self endon("leaving"); - self endon("exploding"); - param_00 common_scripts\utility::waittill_any("death","disconnect","faux_spawn","joined_team"); - if(isdefined(param_00)) - { - if(param_00.is_being_tracked == 1) - { - if(!isalive(param_00)) - { - param_00.died_being_tracked = 1; - } - - thread trackingdrone_leave(); - return; - } - - self.trackedplayer = undefined; - } -} - -//Function Number: 18 -trackingdrone_movetoplayer(param_00) -{ - level endon("game_ended"); - self endon("death"); - self endon("leaving"); - self.owner endon("death"); - self.owner endon("disconnect"); - self endon("owner_gone"); - self notify("trackingDrone_moveToPlayer"); - self endon("trackingDrone_moveToPlayer"); - var_01 = 0; - var_02 = 0; - var_03 = 0; - if(isdefined(level.ishorde) && level.ishorde) - { - var_01 = 0; - var_02 = 30; - switch(param_00 getstance()) - { - case "stand": - break; - - case "crouch": - break; - - case "prone": - break; - } - } -} - -//Function Number: 19 -trackingdrone_stopmovement() -{ - self setvehgoalpos(self.origin,1); - self.intransit = 0; - self.inactive = 1; -} - -//Function Number: 20 -trackingdrone_changeowner(param_00) -{ - maps\mp\_utility::incrementfauxvehiclecount(); - var_01 = param_00 createtrackingdrone(self.weaponname,1,self.origin,self.angles); - if(!isdefined(var_01)) - { - maps\mp\_utility::decrementfauxvehiclecount(); - return 0; - } - - if(!isdefined(param_00.trackingdronearray)) - { - param_00.trackingdronearray = []; - } - - param_00.trackingdronearray[param_00.trackingdronearray.size] = var_01; - level.trackingdrones = common_scripts\utility::array_removeundefined(level.trackingdrones); - level.trackingdrones[level.trackingdrones.size] = var_01; - param_00 thread starttrackingdrone(var_01); - if(isdefined(level.trackingdronesettings.fxid_sparks)) - { - stopfxontag(level.trackingdronesettings.fxid_sparks,self,self.fx_tag0); - } - - removetrackingdrone(); - return 1; -} - -//Function Number: 21 -trackingdrone_highlighttarget() -{ - level endon("game_ended"); - self endon("death"); - self endon("leaving"); - if(!isdefined(self.owner)) - { - thread trackingdrone_leave(); - return; - } - - self.owner endon("disconnect"); - self.owner endon("joined_team"); - self.owner endon("joined_spectators"); - self.lasertag = spawn("script_model",self.origin); - self.lasertag setmodel("tag_laser"); - if(isdefined(self.trackedplayer)) - { - self.lasertag.origin = self gettagorigin("tag_weapon"); - var_00 = 20; - var_01 = (randomfloat(var_00),randomfloat(var_00),randomfloat(var_00)) - (10,10,10); - var_02 = 65; - switch(self.trackedplayer getstance()) - { - case "stand": - break; - - case "crouch": - break; - - case "prone": - break; - } - } -} - -//Function Number: 22 -starthighlightingplayer(param_00) -{ - self.lasertag laseron("tracking_drone_laser"); - playfxontag(level.trackingdronesettings.fxid_laser_glow,self.lasertag,"tag_laser"); - if(isdefined(level.trackingdronesettings.sound_lock)) - { - self playloopsound(level.trackingdronesettings.sound_lock); - } - - param_00 setperk("specialty_radararrow",1,0); - if(param_00.is_being_tracked == 0) - { - param_00.is_being_tracked = 1; - param_00.trackedbyplayer = self.owner; - } -} - -//Function Number: 23 -stophighlightingplayer(param_00) -{ - if(isdefined(self.lasertag)) - { - self.lasertag laseroff(); - stopfxontag(level.trackingdronesettings.fxid_laser_glow,self.lasertag,"tag_laser"); - } - - if(isdefined(param_00)) - { - if(isdefined(level.trackingdronesettings.sound_lock)) - { - self stoploopsound(); - } - - if(param_00 hasperk("specialty_radararrow",1)) - { - param_00 unsetperk("specialty_radararrow",1); - } - - param_00 notify("player_not_tracked"); - param_00.is_being_tracked = 0; - param_00.trackedbyplayer = undefined; - } -} - -//Function Number: 24 -ontrackingplayerconnect() -{ - level endon("game_ended"); - for(;;) - { - level waittill("connected",var_00); - var_00.is_being_tracked = 0; - foreach(var_00 in level.players) - { - if(!isdefined(var_00.is_being_tracked)) - { - var_00.is_being_tracked = 0; - } - } - } -} - -//Function Number: 25 -trackingdrone_watchforgoal() -{ - level endon("game_ended"); - self endon("death"); - self endon("leaving"); - self.owner endon("death"); - self.owner endon("disconnect"); - self endon("owner_gone"); - self notify("trackingDrone_watchForGoal"); - self endon("trackingDrone_watchForGoal"); - var_00 = common_scripts\utility::waittill_any_return("goal","near_goal","hit_goal"); - self.intransit = 0; - self.inactive = 0; - self notify("hit_goal"); -} - -//Function Number: 26 -trackingdrone_watchdeath() -{ - level endon("game_ended"); - self endon("gone"); - self waittill("death"); - thread trackingdronedestroyed(); -} - -//Function Number: 27 -trackingdrone_watchtimeout() -{ - level endon("game_ended"); - level endon("host_migration_begin"); - self endon("death"); - self.owner endon("disconnect"); - self endon("owner_gone"); - var_00 = level.trackingdronetimeout; - if(self.type == "explosive_drone") - { - var_00 = level.explosivedronetimeout; - } - - wait(var_00); - thread trackingdrone_leave(); -} - -//Function Number: 28 -trackingdrone_watchownerloss() -{ - level endon("game_ended"); - self endon("death"); - self endon("leaving"); - self.owner common_scripts\utility::waittill_any("disconnect","joined_team","joined_spectators"); - self notify("owner_gone"); - thread trackingdrone_leave(); -} - -//Function Number: 29 -trackingdrone_watchownerdeath() -{ - level endon("game_ended"); - self endon("death"); - self endon("leaving"); - for(;;) - { - self.owner waittill("death"); - thread trackingdrone_leave(); - } -} - -//Function Number: 30 -trackingdrone_watchtargetdisconnect() -{ - level endon("game_ended"); - level endon("host_migration_begin"); - self endon("death"); - self endon("leaving"); - self.owner endon("death"); - self.owner endon("disconnect"); - self endon("owner_gone"); - self notify("trackingDrone_watchTargetDisconnect"); - self endon("trackingDrone_watchTargetDisconnect"); - self.trackedplayer waittill("disconnect"); - stophighlightingplayer(self.trackedplayer); - trackingdrone_movetoplayer(self.owner); -} - -//Function Number: 31 -trackingdrone_watchroundend() -{ - level endon("game_ended"); - self endon("death"); - self endon("leaving"); - self.owner endon("disconnect"); - self endon("owner_gone"); - level common_scripts\utility::waittill_any("round_end_finished","game_ended"); - thread trackingdrone_leave(); -} - -//Function Number: 32 -trackingdrone_watchhostmigration() -{ - level endon("game_ended"); - self endon("death"); - self endon("leaving"); - self.owner endon("death"); - self.owner endon("disconnect"); - self endon("owner_gone"); - level waittill("host_migration_begin"); - stophighlightingplayer(self.trackedplayer); - trackingdrone_stopmovement(); - maps\mp\gametypes\_hostmigration::waittillhostmigrationdone(); - thread trackingdrone_changeowner(self.owner); -} - -//Function Number: 33 -trackingdrone_leave() -{ - self endon("death"); - self notify("leaving"); - stophighlightingplayer(self.trackedplayer); - trackingdroneexplode(); -} - -//Function Number: 34 -ontrackingdronedeath(param_00,param_01,param_02,param_03) -{ - self notify("death"); -} - -//Function Number: 35 -trackingdrone_watchdisable() -{ - self endon("death"); - self.owner endon("disconnect"); - level endon("game_ended"); - for(;;) - { - self waittill("emp_damage",var_00,var_01); - thread trackingdrone_stunned(); - } -} - -//Function Number: 36 -trackingdrone_stunned() -{ - self notify("trackingDrone_stunned"); - self endon("trackingDrone_stunned"); - self endon("death"); - self.owner endon("disconnect"); - level endon("game_ended"); - trackingdrone_stunbegin(); - wait(10); - trackingdrone_stunend(); -} - -//Function Number: 37 -trackingdrone_stunbegin() -{ - if(self.stunned) - { - return; - } - - self.stunned = 1; - if(isdefined(level.trackingdronesettings.fxid_sparks)) - { - playfxontag(level.trackingdronesettings.fxid_sparks,self,self.fx_tag0); - } - - thread stophighlightingplayer(self.trackedplayer); - self.trackedplayer = undefined; - self.previoustrackedplayer = self.owner; - thread trackingdrone_stopmovement(); -} - -//Function Number: 38 -trackingdrone_stunend() -{ - if(isdefined(level.trackingdronesettings.fxid_sparks)) - { - killfxontag(level.trackingdronesettings.fxid_sparks,self,self.fx_tag0); - } - - self.stunned = 0; - self.inactive = 0; -} - -//Function Number: 39 -trackingdronedestroyed() -{ - if(!isdefined(self)) - { - return; - } - - stophighlightingplayer(self.trackedplayer); - trackingdrone_stunend(); - trackingdroneexplode(); -} - -//Function Number: 40 -trackingdroneexplode() -{ - if(isdefined(level.trackingdronesettings.fxid_explode)) - { - playfx(level.trackingdronesettings.fxid_explode,self.origin); - } - - if(isdefined(level.trackingdronesettings.sound_explode)) - { - self playsound(level.trackingdronesettings.sound_explode); - } - - self notify("explode"); - removetrackingdrone(); -} - -//Function Number: 41 -deletetrackingdrone() -{ - if(!isremovedentity(self) && isdefined(self)) - { - if(isdefined(self.attractor)) - { - missile_deleteattractor(self.attractor); - } - - self delete(); - } -} - -//Function Number: 42 -removetrackingdrone() -{ - maps\mp\_utility::decrementfauxvehiclecount(); - if(isdefined(self.owner) && isdefined(self.owner.trackingdrone)) - { - self.owner.trackingdrone = undefined; - } - - if(isdefined(self.lasertag)) - { - self.lasertag delete(); - } - - deletetrackingdrone(); -} - -//Function Number: 43 -addtotrackingdronelist() -{ - level.trackingdrones[self getentitynumber()] = self; -} - -//Function Number: 44 -removefromtrackingdronelistondeath() -{ - var_00 = self getentitynumber(); - self waittill("death"); - level.trackingdrones[var_00] = undefined; - level.trackingdrones = common_scripts\utility::array_removeundefined(level.trackingdrones); -} - -//Function Number: 45 -exceededmaxtrackingdrones() -{ - if(level.trackingdrones.size >= maps\mp\_utility::maxvehiclesallowed()) - { - return 1; - } - - return 0; -} - -//Function Number: 46 -aud_drone_start_jets() -{ - self playloopsound("veh_tracking_drone_jets_lp"); -} - -//Function Number: 47 -destroy_tracking_drone_in_water() -{ - self endon("death"); - if(!isdefined(level.water_triggers)) - { - return; - } - - for(;;) - { - foreach(var_01 in level.water_triggers) - { - if(self istouching(var_01)) - { - if(isdefined(level.trackingdronesettings.fxid_explode)) - { - playfx(level.trackingdronesettings.fxid_explode,self.origin); - } - - if(isdefined(level.trackingdronesettings.sound_explode)) - { - self playsound(level.trackingdronesettings.sound_explode); - } - - deletetrackingdrone(); - } - } - - wait(0.05); - } -} - -//Function Number: 48 -prevent_tracking_drone_in_water(param_00) -{ - if(!isdefined(level.water_triggers)) - { - return 0; - } - - foreach(var_02 in level.water_triggers) - { - if(ispointinvolume(param_00,var_02)) - { - return 1; - } - } - - return 0; -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/_trackrounds.gsc b/AW/PC/MP/maps/mp/_trackrounds.gsc deleted file mode 100644 index 6d0040a..0000000 --- a/AW/PC/MP/maps/mp/_trackrounds.gsc +++ /dev/null @@ -1,125 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_trackrounds.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 5 - * Decompile Time: 70 ms - * Timestamp: 10/27/2023 1:49:31 AM -*******************************************************************/ - -//Function Number: 1 -trackrounds_think() -{ - if(getdvar("mapname") == getdvar("virtualLobbyMap")) - { - return; - } - - self endon("death"); - self endon("disconnect"); - self endon("faux_spawn"); - self.trackrounds = spawnstruct(); - self.trackrounds.has_paint_pro = 0; - self.trackrounds.has_trackrounds = 0; - if(maps\mp\_utility::_hasperk("specialty_paint_pro")) - { - self.trackrounds.has_paint_pro = 1; - } - - var_00 = self getcurrentweapon(); - toggle_has_trackrounds(var_00); - for(;;) - { - self waittill("weapon_change",var_00); - if(var_00 == "none") - { - wait(0.4); - var_00 = self getcurrentweapon(); - if(var_00 == "none") - { - return; - } - } - - toggle_has_trackrounds(var_00); - wait(0.05); - } -} - -//Function Number: 2 -toggle_has_trackrounds(param_00) -{ - var_01 = undefined; - if(isdefined(param_00)) - { - var_01 = getweaponattachments(param_00); - } - - if(isdefined(var_01)) - { - foreach(var_03 in var_01) - { - if(var_03 == "trackrounds") - { - self.trackrounds.has_trackrounds = 1; - maps\mp\_utility::giveperk("specialty_paint_pro",0,0); - return; - } - } - - self.trackrounds.has_trackrounds = 0; - if(!self.trackrounds.has_paint_pro) - { - maps\mp\_utility::_unsetperk("specialty_paint_pro"); - } - } -} - -//Function Number: 3 -set_painted_trackrounds(param_00) -{ - if(isplayer(self)) - { - if(isdefined(self.painted_tracked) && self.painted_tracked) - { - return; - } - - self.painted_tracked = 1; - thread trackrounds_mark_till_death(); - } -} - -//Function Number: 4 -trackrounds_death() -{ - self endon("disconnect"); - level endon("game_ended"); - self waittill("death"); - self.painted_tracked = 0; -} - -//Function Number: 5 -trackrounds_mark_till_death() -{ - self endon("disconnect"); - self endon("death"); - level endon("game_ended"); - thread trackrounds_death(); - for(;;) - { - wait(0.1); - if(self hasperk("specialty_radararrow",1)) - { - continue; - } - - if(self hasperk("specialty_radarblip",1)) - { - continue; - } - - self setperk("specialty_radarblip",1,0); - } -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/_zipline.gsc b/AW/PC/MP/maps/mp/_zipline.gsc deleted file mode 100644 index 8987eeb..0000000 --- a/AW/PC/MP/maps/mp/_zipline.gsc +++ /dev/null @@ -1,266 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_zipline.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 13 - * Decompile Time: 203 ms - * Timestamp: 10/27/2023 1:49:54 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - var_00 = []; - var_01 = getentarray("zipline","targetname"); - for(var_02 = 0;var_02 < var_01.size;var_02++) - { - var_03 = maps\mp\gametypes\_gameobjects::createuseobject("neutral",var_01[var_02],var_00,(0,0,0)); - var_03 maps\mp\gametypes\_gameobjects::allowuse("any"); - var_03 maps\mp\gametypes\_gameobjects::setusetime(0.25); - var_03 maps\mp\gametypes\_gameobjects::setusetext(&"MP_ZIPLINE_USE"); - var_03 maps\mp\gametypes\_gameobjects::setusehinttext(&"MP_ZIPLINE_USE"); - var_03 maps\mp\gametypes\_gameobjects::setvisibleteam("any"); - var_03.onbeginuse = ::onbeginuse; - var_03.onuse = ::onuse; - var_04 = []; - var_05 = getent(var_01[var_02].target,"targetname"); - if(!isdefined(var_05)) - { - } - - while(isdefined(var_05)) - { - var_04[var_04.size] = var_05; - if(isdefined(var_05.target)) - { - var_05 = getent(var_05.target,"targetname"); - continue; - } - - break; - } - - var_03.targets = var_04; - } - - precachemodel("tag_player"); - init_elevator(); -} - -//Function Number: 2 -onbeginuse(param_00) -{ - param_00 playsound("scrambler_pullout_lift_plr"); -} - -//Function Number: 3 -onuse(param_00) -{ - param_00 thread zip(self); -} - -//Function Number: 4 -zip(param_00) -{ - self endon("death"); - self endon("disconnect"); - self endon("zipline_drop"); - level endon("game_ended"); - var_01 = spawn("script_origin",param_00.trigger.origin); - var_01.origin = param_00.trigger.origin; - var_01.angles = self.angles; - var_01 setmodel("tag_player"); - self playerlinktodelta(var_01,"tag_player",1,180,180,180,180); - thread watchdeath(var_01); - thread watchdrop(var_01); - var_02 = param_00.targets; - for(var_03 = 0;var_03 < var_02.size;var_03++) - { - var_04 = distance(var_01.origin,var_02[var_03].origin) / 600; - var_05 = 0; - if(var_03 == 0) - { - var_05 = var_04 * 0.2; - } - - var_01 moveto(var_02[var_03].origin,var_04,var_05); - if(var_01.angles != var_02[var_03].angles) - { - var_01 rotateto(var_02[var_03].angles,var_04 * 0.8); - } - - wait(var_04); - } - - self notify("destination"); - self unlink(); - var_01 delete(); -} - -//Function Number: 5 -watchdrop(param_00) -{ - self endon("death"); - self endon("disconnect"); - self endon("destination"); - level endon("game_ended"); - self notifyonplayercommand("zipline_drop","+gostand"); - self waittill("zipline_drop"); - self unlink(); - param_00 delete(); -} - -//Function Number: 6 -watchdeath(param_00) -{ - self endon("disconnect"); - self endon("destination"); - self endon("zipline_drop"); - level endon("game_ended"); - self waittill("death"); - self unlink(); - param_00 delete(); -} - -//Function Number: 7 -init_elevator() -{ - var_00 = []; - var_01 = getentarray("elevator_button","targetname"); - level.elevator = spawnstruct(); - level.elevator.location = "floor1"; - level.elevator.states = []; - level.elevator.states["elevator"] = "closed"; - level.elevator.destinations = []; - for(var_02 = 0;var_02 < var_01.size;var_02++) - { - var_03 = maps\mp\gametypes\_gameobjects::createuseobject("neutral",var_01[var_02],var_00,(0,0,0)); - var_03 maps\mp\gametypes\_gameobjects::allowuse("any"); - var_03 maps\mp\gametypes\_gameobjects::setusetime(0.25); - var_03 maps\mp\gametypes\_gameobjects::setusetext(&"MP_ZIPLINE_USE"); - var_03 maps\mp\gametypes\_gameobjects::setusehinttext(&"MP_ZIPLINE_USE"); - var_03 maps\mp\gametypes\_gameobjects::setvisibleteam("any"); - var_03.onbeginuse = ::onbeginuse_elevator; - var_03.onuse = ::onuse_elevator; - var_03.location = var_01[var_02].script_label; - level.elevator.states[var_01[var_02].script_label] = "closed"; - if(isdefined(var_01[var_02].target)) - { - var_04 = common_scripts\utility::getstruct(var_01[var_02].target,"targetname"); - if(isdefined(var_04)) - { - level.elevator.destinations[var_01[var_02].script_label] = var_04; - } - } - } -} - -//Function Number: 8 -onbeginuse_elevator(param_00) -{ -} - -//Function Number: 9 -onuse_elevator(param_00) -{ - switch(self.location) - { - case "floor1": - break; - - case "floor2": - break; - - case "elevator": - break; - } -} - -//Function Number: 10 -open(param_00) -{ - level.elevator.states[param_00] = "opening"; - var_01 = getent("e_door_" + param_00 + "_left","targetname"); - var_02 = getent("e_door_" + param_00 + "_right","targetname"); - if(isdefined(var_01.script_noteworthy) && var_01.script_noteworthy == "fahrenheit") - { - var_01 moveto(var_01.origin - anglestoforward(var_01.angles) * 35,2); - var_02 moveto(var_02.origin + anglestoforward(var_02.angles) * 35,2); - var_01 playsound("elev_door_open"); - } - else - { - var_01 moveto(var_01.origin - anglestoright(var_01.angles) * 35,2); - var_02 moveto(var_02.origin + anglestoright(var_02.angles) * 35,2); - } - - wait(2); - level.elevator.states[param_00] = "opened"; - if(param_00 == "elevator") - { - level thread autoclose(); - } -} - -//Function Number: 11 -close(param_00) -{ - level.elevator.states[param_00] = "closing"; - var_01 = getent("e_door_" + param_00 + "_left","targetname"); - var_02 = getent("e_door_" + param_00 + "_right","targetname"); - if(isdefined(var_01.script_noteworthy) && var_01.script_noteworthy == "fahrenheit") - { - var_01 moveto(var_01.origin + anglestoforward(var_01.angles) * 35,2); - var_02 moveto(var_02.origin - anglestoforward(var_02.angles) * 35,2); - var_01 playsound("elev_door_close"); - } - else - { - var_01 moveto(var_01.origin + anglestoright(var_01.angles) * 35,2); - var_02 moveto(var_02.origin - anglestoright(var_02.angles) * 35,2); - } - - wait(2); - level.elevator.states[param_00] = "closed"; -} - -//Function Number: 12 -autoclose() -{ - level endon("stop_autoClose"); - wait(10); - level thread close(level.elevator.location); - level thread close("elevator"); -} - -//Function Number: 13 -move() -{ - level.elevator.states["elevator"] = "moving"; - var_00 = getent("e_door_elevator_left","targetname"); - var_01 = getent("e_door_elevator_right","targetname"); - var_02 = getent("elevator","targetname"); - if(level.elevator.location == "floor1") - { - level.elevator.location = "floor2"; - var_03 = var_00.origin[2] - level.elevator.destinations["floor1"].origin[2]; - var_00 moveto((var_00.origin[0],var_00.origin[1],level.elevator.destinations["floor2"].origin[2] + var_03),5); - var_03 = var_01.origin[2] - level.elevator.destinations["floor1"].origin[2]; - var_01 moveto((var_01.origin[0],var_01.origin[1],level.elevator.destinations["floor2"].origin[2] + var_03),5); - var_02 moveto(level.elevator.destinations["floor2"].origin,5); - } - else - { - level.elevator.location = "floor1"; - var_03 = var_01.origin[2] - level.elevator.destinations["floor2"].origin[2]; - var_00 moveto((var_00.origin[0],var_00.origin[1],level.elevator.destinations["floor1"].origin[2] + var_03),5); - var_03 = var_01.origin[2] - level.elevator.destinations["floor2"].origin[2]; - var_01 moveto((var_01.origin[0],var_01.origin[1],level.elevator.destinations["floor1"].origin[2] + var_03),5); - var_02 moveto(level.elevator.destinations["floor1"].origin,5); - } - - wait(5); - var_02 playsound("elev_bell_ding"); - level.elevator.states["elevator"] = "closed"; -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/agents/_agent_utility.gsc b/AW/PC/MP/maps/mp/agents/_agent_utility.gsc deleted file mode 100644 index 5ed2100..0000000 --- a/AW/PC/MP/maps/mp/agents/_agent_utility.gsc +++ /dev/null @@ -1,397 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps\mp\agents\_agent_utility.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 15 - * Decompile Time: 271 ms - * Timestamp: 10/27/2023 1:40:58 AM -*******************************************************************/ - -//Function Number: 1 -agentfunc(param_00) -{ - return level.agent_funcs[self.agent_type][param_00]; -} - -//Function Number: 2 -set_agent_team(param_00,param_01) -{ - self.team = param_00; - self.agentteam = param_00; - self.pers["team"] = param_00; - self.owner = param_01; - self setotherent(param_01); - self setentityowner(param_01); -} - -//Function Number: 3 -initagentscriptvariables() -{ - self.agent_type = "player"; - self.pers = []; - self.hasdied = 0; - self.isactive = 0; - self.isagent = 1; - self.wasti = 0; - self.issniper = 0; - self.spawntime = 0; - self.entity_number = self getentitynumber(); - self.agent_teamparticipant = 0; - self.agent_gameparticipant = 0; - self.canperformclienttraces = 0; - self.agentname = undefined; - self.ignoreall = 0; - self.ignoreme = 0; - self detachall(); - initplayerscriptvariables(0); -} - -//Function Number: 4 -initplayerscriptvariables(param_00) -{ - if(!param_00) - { - self.class = undefined; - self.lastclass = undefined; - self.movespeedscaler = undefined; - self.avoidkillstreakonspawntimer = undefined; - self.guid = undefined; - self.name = undefined; - self.saved_actionslotdata = undefined; - self.perks = undefined; - self.weaponlist = undefined; - self.omaclasschanged = undefined; - self.objectivescaler = undefined; - self.touchtriggers = undefined; - self.carryobject = undefined; - self.claimtrigger = undefined; - self.canpickupobject = undefined; - self.killedinuse = undefined; - self.sessionteam = undefined; - self.sessionstate = undefined; - self.lastspawntime = undefined; - self.lastspawnpoint = undefined; - self.disabledweapon = undefined; - self.disabledweaponswitch = undefined; - self.disabledoffhandweapons = undefined; - self.disabledusability = undefined; - self.shielddamage = undefined; - self.shieldbullethits = undefined; - } - else - { - self.movespeedscaler = level.baseplayermovescale; - self.avoidkillstreakonspawntimer = 5; - self.guid = maps\mp\_utility::getuniqueid(); - self.name = self.guid; - self.sessionteam = self.team; - self.sessionstate = "playing"; - self.shielddamage = 0; - self.shieldbullethits = 0; - self.agent_gameparticipant = 1; - maps\mp\gametypes\_playerlogic::setupsavedactionslots(); - thread maps\mp\perks\_perks::onplayerspawned(); - if(maps\mp\_utility::isgameparticipant(self)) - { - self.objectivescaler = 1; - maps\mp\gametypes\_gameobjects::init_player_gameobjects(); - self.disabledweapon = 0; - self.disabledweaponswitch = 0; - self.disabledoffhandweapons = 0; - } - } - - self.disabledusability = 1; -} - -//Function Number: 5 -getfreeagent(param_00) -{ - var_01 = undefined; - if(isdefined(level.agentarray)) - { - foreach(var_03 in level.agentarray) - { - if((!isdefined(var_03.isactive) || !var_03.isactive) && !isdefined(var_03.isreserved) || !var_03.isreserved) - { - if(isdefined(var_03.waitingtodeactivate) && var_03.waitingtodeactivate) - { - continue; - } - - if(isdefined(level.despawning_agents) && common_scripts\utility::array_contains(level.despawning_agents,var_03)) - { - continue; - } - - var_01 = var_03; - var_01 initagentscriptvariables(); - if(isdefined(param_00)) - { - var_01.agent_type = param_00; - } - - break; - } - } - } - - return var_01; -} - -//Function Number: 6 -activateagent() -{ - self.isactive = 1; -} - -//Function Number: 7 -deactivateagent() -{ - thread deactivateagentdelayed(); -} - -//Function Number: 8 -deactivateagentdelayed() -{ - self notify("deactivateAgentDelayed"); - self endon("deactivateAgentDelayed"); - if(!isdefined(level.despawning_agents)) - { - level.despawning_agents = []; - } - - if(!common_scripts\utility::array_contains(level.despawning_agents,self)) - { - level.despawning_agents = common_scripts\utility::array_add(level.despawning_agents,self); - } - - if(maps\mp\_utility::isgameparticipant(self)) - { - maps\mp\gametypes\_spawnlogic::removefromparticipantsarray(); - } - - maps\mp\gametypes\_spawnlogic::removefromcharactersarray(); - wait(0.05); - self.isactive = 0; - self.hasdied = 0; - self.owner = undefined; - self.connecttime = undefined; - self.waitingtodeactivate = undefined; - foreach(var_01 in level.characters) - { - if(isdefined(var_01.attackers)) - { - foreach(var_04, var_03 in var_01.attackers) - { - if(var_03 == self) - { - var_01.attackers[var_04] = undefined; - } - } - } - } - - self.headmodel = undefined; - self detachall(); - self notify("disconnect"); - self agentclearscriptvars(); - level.despawning_agents = common_scripts\utility::array_remove(level.despawning_agents,self); -} - -//Function Number: 9 -getnumactiveagents(param_00) -{ - if(!isdefined(param_00)) - { - param_00 = "all"; - } - - var_01 = getactiveagentsoftype(param_00); - return var_01.size; -} - -//Function Number: 10 -getactiveagentsoftype(param_00) -{ - var_01 = []; - if(!isdefined(level.agentarray)) - { - return var_01; - } - - foreach(var_03 in level.agentarray) - { - if(isdefined(var_03.isactive) && var_03.isactive) - { - if(param_00 == "all" || var_03.agent_type == param_00) - { - var_01[var_01.size] = var_03; - } - } - } - - return var_01; -} - -//Function Number: 11 -getnumownedactiveagents(param_00) -{ - return getnumownedactiveagentsbytype(param_00,"all"); -} - -//Function Number: 12 -getnumownedactiveagentsbytype(param_00,param_01) -{ - var_02 = 0; - if(!isdefined(level.agentarray)) - { - return var_02; - } - - foreach(var_04 in level.agentarray) - { - if(isdefined(var_04.isactive) && var_04.isactive) - { - if(isdefined(var_04.owner) && var_04.owner == param_00) - { - if(param_01 == "all" || var_04.agent_type == param_01) - { - var_02++; - } - } - } - } - - return var_02; -} - -//Function Number: 13 -getvalidspawnpathnodenearplayer(param_00,param_01) -{ - var_02 = getnodesinradius(self.origin,350,64,128,"Path"); - if(!isdefined(var_02) || var_02.size == 0) - { - return undefined; - } - - if(isdefined(level.waterdeletez) && isdefined(level.trigunderwater)) - { - var_03 = var_02; - var_02 = []; - foreach(var_05 in var_03) - { - if(var_05.origin[2] > level.waterdeletez || !ispointinvolume(var_05.origin,level.trigunderwater)) - { - var_02[var_02.size] = var_05; - } - } - } - - var_07 = anglestoforward(self.angles); - var_08 = -10; - var_09 = maps\mp\gametypes\_spawnlogic::getplayertraceheight(self); - var_0A = (0,0,var_09); - if(!isdefined(param_00)) - { - param_00 = 0; - } - - if(!isdefined(param_01)) - { - param_01 = 0; - } - - var_0B = []; - var_0C = []; - foreach(var_0E in var_02) - { - if(!var_0E doesnodeallowstance("stand")) - { - continue; - } - - var_0F = vectornormalize(var_0E.origin - self.origin); - var_10 = vectordot(var_07,var_0F); - for(var_11 = 0;var_11 < var_0C.size;var_11++) - { - if(var_10 > var_0C[var_11]) - { - for(var_12 = var_0C.size;var_12 > var_11;var_12--) - { - var_0C[var_12] = var_0C[var_12 - 1]; - var_0B[var_12] = var_0B[var_12 - 1]; - } - - break; - } - } - - var_0B[var_11] = var_0E; - var_0C[var_11] = var_10; - } - - for(var_11 = 0;var_11 < var_0B.size;var_11++) - { - var_0E = var_0B[var_11]; - var_14 = self.origin + var_0A; - var_15 = var_0E.origin + var_0A; - if(var_11 > 0) - { - wait(0.05); - } - - if(!sighttracepassed(var_14,var_15,0,self)) - { - continue; - } - - if(param_01) - { - if(var_11 > 0) - { - wait(0.05); - } - - var_16 = playerphysicstrace(var_0E.origin + var_0A,var_0E.origin); - if(distancesquared(var_16,var_0E.origin) > 1) - { - continue; - } - } - - if(param_00) - { - if(var_11 > 0) - { - wait(0.05); - } - - var_16 = physicstrace(var_14,var_15); - if(distancesquared(var_16,var_15) > 1) - { - continue; - } - } - - return var_0E; - } - - if(var_0B.size > 0 && isdefined(level.ishorde)) - { - return var_0B[0]; - } -} - -//Function Number: 14 -killagent(param_00) -{ - param_00 dodamage(param_00.health + 500000,param_00.origin); -} - -//Function Number: 15 -killdog() -{ - self [[ agentfunc("on_damaged") ]](level,undefined,self.health + 1,0,"MOD_CRUSH","none",(0,0,0),(0,0,0),"none",0); -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/gametypes/_damagefeedback.gsc b/AW/PC/MP/maps/mp/gametypes/_damagefeedback.gsc deleted file mode 100644 index 0a9c3cf..0000000 --- a/AW/PC/MP/maps/mp/gametypes/_damagefeedback.gsc +++ /dev/null @@ -1,86 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_damagefeedback.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 3 - * Decompile Time: 42 ms - * Timestamp: 10/27/2023 1:50:10 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ -} - -//Function Number: 2 -updatedamagefeedback(param_00,param_01) -{ - if(!isplayer(self) || !isdefined(param_00)) - { - return; - } - - switch(param_00) - { - case "scavenger": - break; - - case "hitspecialarmor": - break; - - case "hitjuggernaut": - case "hitlightarmor": - case "hitblastshield": - break; - - case "mp_solar": - break; - - case "laser": - break; - - case "headshot": - break; - - case "hitmorehealth": - break; - - case "killshot": - break; - - case "killshot_headshot": - break; - - case "nosound": - break; - - case "none": - break; - - default: - break; - } -} - -//Function Number: 3 -setdamagefeedbackclientomnvar(param_00) -{ - var_01 = gettime(); - if(isdefined(self.damagefeedbacktime)) - { - var_02 = self.damagefeedbacktime; - } - else - { - var_02 = 0; - } - - if(var_01 - var_02 < 300 && self getclientomnvar("damage_feedback") == param_00) - { - return; - } - - self.damagefeedbacktime = var_01; - self setclientomnvar("damage_feedback",param_00); -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/gametypes/_missions.gsc b/AW/PC/MP/maps/mp/gametypes/_missions.gsc deleted file mode 100644 index d1cdf6e..0000000 --- a/AW/PC/MP/maps/mp/gametypes/_missions.gsc +++ /dev/null @@ -1,2508 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_missions.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 94 - * Decompile Time: 1498 ms - * Timestamp: 10/27/2023 1:50:41 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - precachestring(&"MP_CHALLENGE_COMPLETED"); - if(!mayprocesschallenges()) - { - return; - } - - level.missioncallbacks = []; - registermissioncallback("playerKilled",::ch_kills); - registermissioncallback("playerKilled",::ch_vehicle_kills); - registermissioncallback("playerHardpoint",::ch_hardpoints); - registermissioncallback("playerAssist",::ch_assists); - registermissioncallback("roundEnd",::ch_roundwin); - registermissioncallback("roundEnd",::ch_roundplayed); - registermissioncallback("vehicleKilled",::ch_vehicle_killed); - level thread onplayerconnect(); -} - -//Function Number: 2 -mayprocesschallenges() -{ - if(maps\mp\_utility::practiceroundgame()) - { - return 0; - } - - return level.rankedmatch; -} - -//Function Number: 3 -onplayerconnect() -{ - for(;;) - { - level waittill("connected",var_00); - if(isbot(var_00)) - { - continue; - } - - if(!isdefined(var_00.pers["postGameChallenges"])) - { - var_00.pers["postGameChallenges"] = 0; - } - - var_00 thread onplayerspawned(); - var_00 thread initmissiondata(); - var_00 thread monitorbombuse(); - var_00 thread monitorstreaks(); - var_00 thread monitorstreakreward(); - var_00 thread monitorscavengerpickup(); - var_00 thread monitorblastshieldsurvival(); - var_00 thread monitorprocesschallenge(); - var_00 thread monitorkillstreakprogress(); - var_00 thread monitorfinalstandsurvival(); - var_00 thread monitoradstime(); - var_00 thread monitorpronetime(); - var_00 thread monitorpowerslidetime(); - var_00 thread monitorweaponswap(); - var_00 thread monitorflashbang(); - var_00 thread monitorconcussion(); - var_00 thread monitorminetriggering(); - var_00 thread monitorboostjumpdistance(); - var_00 thread monitorplayermatchchallenges(); - var_00 notifyonplayercommand("hold_breath","+breath_sprint"); - var_00 notifyonplayercommand("hold_breath","+melee_breath"); - var_00 notifyonplayercommand("release_breath","-breath_sprint"); - var_00 notifyonplayercommand("release_breath","-melee_breath"); - var_00 thread monitorholdbreath(); - var_00 notifyonplayercommand("jumped","+goStand"); - var_00 thread monitormantle(); - } -} - -//Function Number: 4 -onplayerspawned() -{ - self endon("disconnect"); - for(;;) - { - self waittill("spawned_player"); - thread onplayerdeath(); - thread monitorsprintdistance(); - } -} - -//Function Number: 5 -onplayerdeath() -{ - self endon("disconnect"); - self waittill("death"); - if(isdefined(self.hasscavengedammothislife)) - { - self.hasscavengedammothislife = 0; - } -} - -//Function Number: 6 -monitorscavengerpickup() -{ - self endon("disconnect"); - for(;;) - { - self waittill("scavenger_pickup"); - if(self isitemunlocked("specialty_scavenger") && maps\mp\_utility::_hasperk("specialty_scavenger") && !maps\mp\_utility::isjuggernaut()) - { - processchallenge("ch_scavenger_pro"); - self.hasscavengedammothislife = 1; - } - - wait(0.05); - } -} - -//Function Number: 7 -monitorstreakreward() -{ - self endon("disconnect"); - for(;;) - { - self waittill("received_earned_killstreak"); - if(self isitemunlocked("specialty_hardline") && maps\mp\_utility::_hasperk("specialty_hardline")) - { - processchallenge("ch_hardline_pro"); - } - - wait(0.05); - } -} - -//Function Number: 8 -monitorblastshieldsurvival() -{ - self endon("disconnect"); - for(;;) - { - self waittill("survived_explosion",var_00); - if(isdefined(var_00) && isplayer(var_00) && self == var_00) - { - continue; - } - - if(self isitemunlocked("_specialty_blastshield") && maps\mp\_utility::_hasperk("_specialty_blastshield")) - { - processchallenge("ch_blastshield_pro"); - } - - wait 0.05; - } -} - -//Function Number: 9 -monitorfinalstandsurvival() -{ - self endon("disconnect"); - for(;;) - { - self waittill("revive"); - processchallenge("ch_livingdead"); - wait 0.05; - } -} - -//Function Number: 10 -initmissiondata() -{ - var_00 = getarraykeys(level.killstreakfuncs); - foreach(var_02 in var_00) - { - self.pers[var_02] = 0; - } - - self.pers["lastBulletKillTime"] = 0; - self.pers["bulletStreak"] = 0; - self.explosiveinfo = []; -} - -//Function Number: 11 -registermissioncallback(param_00,param_01) -{ - if(!isdefined(level.missioncallbacks[param_00])) - { - level.missioncallbacks[param_00] = []; - } - - level.missioncallbacks[param_00][level.missioncallbacks[param_00].size] = param_01; -} - -//Function Number: 12 -getchallengestatus(param_00) -{ - if(isdefined(self.challengedata[param_00])) - { - return self.challengedata[param_00]; - } - - return 0; -} - -//Function Number: 13 -ch_assists(param_00) -{ - var_01 = param_00.player; - var_01 processchallenge("ch_assists"); -} - -//Function Number: 14 -ch_streak_kill(param_00) -{ - switch(param_00) - { - case "vulcan_kill": - break; - - case "warbird_kill": - break; - - case "paladin_kill": - break; - - case "missile_strike_kill": - break; - - case "sentry_gun_kill": - break; - - case "strafing_run_kill": - break; - - case "assault_drone_kill": - break; - - case "goliath_kill": - break; - - default: - break; - } -} - -//Function Number: 15 -ch_hardpoints(param_00) -{ - if(isbot(param_00.player)) - { - return; - } - - var_01 = param_00.player; - var_01.pers[param_00.hardpointtype]++; - switch(param_00.hardpointtype) - { - case "uav": - break; - - case "airdrop_assault": - break; - - case "airdrop_sentry_minigun": - break; - - case "nuke": - break; - } -} - -//Function Number: 16 -ch_vehicle_kills(param_00) -{ - if(!isdefined(param_00.attacker) || !isplayer(param_00.attacker)) - { - return; - } - - if(!maps\mp\_utility::iskillstreakweapon(param_00.sweapon)) - { - return; - } - - var_01 = param_00.attacker; - if(!isdefined(var_01.pers[param_00.sweapon + "_streak"]) || isdefined(var_01.pers[param_00.sweapon + "_streakTime"]) && gettime() - var_01.pers[param_00.sweapon + "_streakTime"] > 7000) - { - var_01.pers[param_00.sweapon + "_streak"] = 0; - var_01.pers[param_00.sweapon + "_streakTime"] = gettime(); - } - - var_01.pers[param_00.sweapon + "_streak"]++; - switch(param_00.sweapon) - { - case "artillery_mp": - break; - - case "stealth_bomb_mp": - break; - - case "sentry_minigun_mp": - break; - - case "ac130_40mm_mp": - case "ac130_105mm_mp": - case "ac130_25mm_mp": - break; - - case "remotemissile_projectile_mp": - break; - - case "nuke_mp": - break; - - default: - break; - } -} - -//Function Number: 17 -ch_vehicle_killed(param_00) -{ - if(!isdefined(param_00.attacker) || !isplayer(param_00.attacker)) - { - return; - } - - var_01 = param_00.attacker; - var_02 = maps\mp\_utility::getbaseweaponname(param_00.sweapon,1); - if(maps\mp\_utility::islootweapon(var_02)) - { - var_02 = maps\mp\gametypes\_class::getbasefromlootversion(var_02); - } - - var_03 = get_challenge_weapon_class(param_00.sweapon,var_02); - if(var_03 == "weapon_launcher") - { - var_01 processchallenge("ch_launcher_kill"); - if(isdefined(level.challengeinfo["ch_vehicle_" + var_02])) - { - var_01 processchallenge("ch_vehicle_" + var_02); - } - - if(isdefined(level.challengeinfo["ch_marksman_" + var_02])) - { - var_01 processchallenge("ch_marksman_" + var_02); - } - } - - if(var_01 maps\mp\_utility::_hasperk("specialty_coldblooded") && var_01 maps\mp\_utility::_hasperk("specialty_spygame") && var_01 maps\mp\_utility::_hasperk("specialty_heartbreaker")) - { - if(!isdefined(param_00.vehicle) || !isdefined(param_00.vehicle.sentrytype) || param_00.vehicle.sentrytype != "prison_turret") - { - var_01 processchallenge("ch_precision_airhunt"); - } - } - - if(isdefined(param_00.vehicle) && isdefined(param_00.vehicle.vehicletype) && param_00.vehicle.vehicletype == "drone_recon" && issubstr(var_02,"exoknife")) - { - var_01 processchallenge("ch_precision_knife"); - } - - if(var_01 maps\mp\_utility::_hasperk("specialty_class_blindeye") && !isdefined(param_00.vehicle.vehicleinfo) || param_00.vehicle.vehicleinfo != "vehicle_tracking_drone_mp") - { - var_01 processchallenge("ch_perk_blindeye"); - } -} - -//Function Number: 18 -clearidshortly(param_00) -{ - self endon("disconnect"); - self notify("clearing_expID_" + param_00); - self endon("clearing_expID_" + param_00); - wait(3); - self.explosivekills[param_00] = undefined; -} - -//Function Number: 19 -mgkill() -{ - var_00 = self; - if(!isdefined(var_00.pers["MGStreak"])) - { - var_00.pers["MGStreak"] = 0; - var_00 thread endmgstreakwhenleavemg(); - if(!isdefined(var_00.pers["MGStreak"])) - { - return; - } - } - - var_00.pers["MGStreak"]++; - if(var_00.pers["MGStreak"] >= 5) - { - var_00 processchallenge("ch_mgmaster"); - } -} - -//Function Number: 20 -endmgstreakwhenleavemg() -{ - self endon("disconnect"); - for(;;) - { - if(!isalive(self) || self usebuttonpressed()) - { - self.pers["MGStreak"] = undefined; - break; - } - - wait(0.05); - } -} - -//Function Number: 21 -endmgstreak() -{ - self.pers["MGStreak"] = undefined; -} - -//Function Number: 22 -killedbestenemyplayer(param_00) -{ - if(!isdefined(self.pers["countermvp_streak"]) || !param_00) - { - self.pers["countermvp_streak"] = 0; - } - - self.pers["countermvp_streak"]++; - if(self.pers["countermvp_streak"] == 3) - { - processchallenge("ch_thebiggertheyare"); - } - else if(self.pers["countermvp_streak"] == 5) - { - processchallenge("ch_thehardertheyfall"); - } - - if(self.pers["countermvp_streak"] >= 10) - { - processchallenge("ch_countermvp"); - } -} - -//Function Number: 23 -ishighestscoringplayer(param_00) -{ - if(!isdefined(param_00.score) || param_00.score < 1) - { - return 0; - } - - var_01 = level.players; - if(level.teambased) - { - var_02 = param_00.pers["team"]; - } - else - { - var_02 = "all"; - } - - var_03 = param_00.score; - for(var_04 = 0;var_04 < var_01.size;var_04++) - { - if(!isdefined(var_01[var_04].score)) - { - continue; - } - - if(var_01[var_04].score < 1) - { - continue; - } - - if(var_02 != "all" && var_01[var_04].pers["team"] != var_02) - { - continue; - } - - if(var_01[var_04].score > var_03) - { - return 0; - } - } - - return 1; -} - -//Function Number: 24 -processchallengedaily(param_00,param_01,param_02) -{ - if(!maps\mp\_utility::rankingenabled() || maps\mp\_utility::privatematch()) - { - return; - } - - if(getdvarint("dailychallenge_killswitch",0) == 0 && getdvarint("dailychallenge_killswitch2",0) == 0) - { - return; - } - - var_03 = self getplayerdata("dailyChallengeId",0); - var_04 = getdvarint("scr_current_playlist",0); - var_05 = getdvarint("scr_game_division",0); - var_06 = 0; - var_06 = var_04 == 1 || var_04 == 2 || var_04 == 3 || var_04 == 4; - var_07 = 0; - var_07 = var_04 == 3; - if(!isdefined(var_03) || !isdefined(param_00) || var_03 != param_00) - { - return; - } - - switch(var_03) - { - case 1: - break; - - case 2: - break; - - case 3: - break; - - case 4: - break; - - case 5: - break; - - case 6: - break; - - case 7: - break; - - case 8: - break; - - case 9: - break; - - case 10: - break; - - case 11: - break; - - case 12: - break; - - case 13: - break; - - case 14: - break; - - case 15: - break; - - case 16: - break; - - case 17: - break; - - case 18: - break; - - case 19: - break; - - case 20: - break; - - case 21: - break; - - case 22: - break; - - case 23: - break; - - case 24: - break; - - case 25: - break; - - case 26: - break; - - case 27: - break; - - case 28: - break; - - case 29: - break; - - case 30: - break; - - case 31: - break; - - case 32: - break; - - case 33: - break; - - case 34: - break; - - case 35: - break; - - case 36: - break; - - case 37: - break; - - case 38: - break; - - case 39: - break; - - case 40: - break; - - case 41: - break; - - case 42: - break; - - case 43: - break; - - case 44: - break; - - case 45: - break; - - default: - break; - } -} - -//Function Number: 25 -ch_kills(param_00) -{ - param_00.victim playerdied(); - if(!isdefined(param_00.attacker) || !isplayer(param_00.attacker)) - { - return; - } - else - { - var_01 = param_00.attacker; - } - - if(isbot(var_01)) - { - return; - } - - var_02 = 0; - var_03 = 0; - var_04 = 1; - var_05[param_00.victim.name] = param_00.victim.name; - var_06[param_00.sweapon] = param_00.sweapon; - var_07 = 1; - var_08 = []; - var_09 = param_00.smeansofdeath; - var_0A = param_00.time; - var_0B = getweaponattachments(param_00.sweapon); - var_0C = 0; - if(isdefined(var_01.pickedupweaponfrom[param_00.sweapon]) && !maps\mp\_utility::ismeleemod(var_09)) - { - var_0C++; - } - - var_0D = maps\mp\_utility::iskillstreakweapon(param_00.sweapon); - var_0E = maps\mp\_utility::isenvironmentweapon(param_00.sweapon); - var_0F = 0; - if(var_09 == "MOD_HEAD_SHOT") - { - var_0F = 1; - } - - var_10 = 0; - var_11 = 0; - if(isdefined(param_00.modifiers["longshot"])) - { - var_10 = 1; - var_11++; - } - - var_12 = param_00.was_ads; - var_13 = 0; - if(var_01.recentkillcount == 2) - { - var_13 = 1; - } - - var_14 = 0; - if(var_01.recentkillcount == 3) - { - var_14 = 1; - } - - var_15 = ""; - if(isdefined(param_00.attackerstance)) - { - var_15 = param_00.attackerstance; - } - - var_16 = 0; - var_17 = 0; - var_18 = 0; - var_19 = 0; - var_1A = 0; - var_1B = 0; - switch(var_01.killsthislife.size + 1) - { - case 5: - break; - - case 10: - break; - - case 15: - break; - - case 20: - break; - - case 25: - break; - - case 30: - break; - - default: - break; - } -} - -//Function Number: 26 -get_challenge_weapon_class(param_00,param_01) -{ - var_02 = maps\mp\_utility::getweaponclass(param_00); - if(!isdefined(param_01)) - { - param_01 = maps\mp\_utility::getbaseweaponname(param_00,1); - if(maps\mp\_utility::islootweapon(param_01)) - { - param_01 = maps\mp\gametypes\_class::getbasefromlootversion(param_01); - } - } - - if(param_01 == "iw5_exocrossbow" || param_01 == "iw5_exocrossbowblops2") - { - return "weapon_special"; - } - - if(param_01 == "iw5_maaws" || param_01 == "iw5_mahem" || param_01 == "iw5_stingerm7") - { - return "weapon_launcher"; - } - - return var_02; -} - -//Function Number: 27 -ch_bulletdamagecommon(param_00,param_01,param_02,param_03) -{ - if(!maps\mp\_utility::isenvironmentweapon(param_00.sweapon)) - { - param_01 endmgstreak(); - } - - if(maps\mp\_utility::iskillstreakweapon(param_00.sweapon)) - { - return; - } - - if(isbot(param_01)) - { - return; - } - - if(param_01.pers["lastBulletKillTime"] == param_02) - { - param_01.pers["bulletStreak"]++; - } - else - { - param_01.pers["bulletStreak"] = 1; - } - - param_01.pers["lastBulletKillTime"] = param_02; - if(!param_00.victimonground) - { - param_01 processchallenge("ch_hardlanding"); - } - - if(!param_00.attackeronground) - { - param_01.pers["midairStreak"]++; - } - - if(param_01.pers["midairStreak"] == 2) - { - param_01 processchallenge("ch_airborne"); - } - - if(param_02 < param_00.victim.flashendtime) - { - param_01 processchallenge("ch_flashbangvet"); - } - - if(param_02 < param_01.flashendtime) - { - param_01 processchallenge("ch_blindfire"); - } - - if(param_02 < param_00.victim.concussionendtime) - { - param_01 processchallenge("ch_concussionvet"); - } - - if(param_02 < param_01.concussionendtime) - { - param_01 processchallenge("ch_slowbutsure"); - } - - if(param_01.pers["bulletStreak"] == 2) - { - if(isdefined(param_00.modifiers["headshot"])) - { - foreach(var_05 in param_01.killsthislife) - { - if(var_05.time != param_02) - { - continue; - } - - if(!isdefined(param_00.modifiers["headshot"])) - { - continue; - } - - param_01 processchallenge("ch_allpro"); - } - } - - if(param_03 == "weapon_sniper") - { - param_01 processchallenge("ch_collateraldamage"); - } - } - - if(param_03 == "weapon_pistol") - { - if(isdefined(param_00.victim.attackerdata) && isdefined(param_00.victim.attackerdata[param_01.guid])) - { - if(isdefined(param_00.victim.attackerdata[param_01.guid].isprimary)) - { - param_01 processchallenge("ch_fastswap"); - } - } - } - - if(!isdefined(param_01.infinalstand) || !param_01.infinalstand) - { - if(param_00.attackerstance == "crouch") - { - param_01 processchallenge("ch_crouchshot"); - } - else if(param_00.attackerstance == "prone") - { - param_01 processchallenge("ch_proneshot"); - if(param_03 == "weapon_sniper") - { - param_01 processchallenge("ch_invisible"); - } - } - } - - if(param_03 == "weapon_sniper") - { - if(isdefined(param_00.modifiers["oneshotkill"])) - { - param_01 processchallenge("ch_ghillie"); - } - } - - if(issubstr(param_00.sweapon,"silencer")) - { - param_01 processchallenge("ch_stealthvet"); - } -} - -//Function Number: 28 -ch_roundplayed(param_00) -{ - var_01 = param_00.player; - if(var_01.wasaliveatmatchstart) - { - var_02 = var_01.pers["deaths"]; - var_03 = var_01.pers["kills"]; - var_04 = 1000000; - if(var_02 > 0) - { - var_04 = var_03 / var_02; - } - - if(var_04 >= 5 && var_03 >= 5) - { - var_01 processchallenge("ch_starplayer"); - } - - if(var_02 == 0 && maps\mp\_utility::gettimepassed() > 300000) - { - var_01 processchallenge("ch_flawless"); - } - - if(level.placement["all"].size < 3) - { - return; - } - - if(var_01.score > 0) - { - switch(level.gametype) - { - case "dm": - break; - - case "war": - break; - - case "kc": - break; - - case "dd": - break; - - case "koth": - break; - - case "sab": - break; - - case "sd": - break; - - case "dom": - break; - - case "ctf": - break; - - case "tdef": - break; - - case "hp": - break; - } - } - } -} - -//Function Number: 29 -ch_roundwin(param_00) -{ - if(!param_00.winner) - { - return; - } - - var_01 = param_00.player; - if(var_01.wasaliveatmatchstart) - { - switch(level.gametype) - { - case "war": - break; - - case "sab": - break; - - case "sd": - break; - - case "hc": - case "koth": - case "dom": - case "ctf": - case "dm": - case "hp": - break; - - default: - break; - } - } -} - -//Function Number: 30 -playerdamaged(param_00,param_01,param_02,param_03,param_04,param_05) -{ - if(!isplayer(self)) - { - return; - } - - self endon("disconnect"); - if(isdefined(param_01)) - { - param_01 endon("disconnect"); - } - - wait(0.05); - maps\mp\_utility::waittillslowprocessallowed(); - var_06 = spawnstruct(); - var_06.victim = self; - var_06.einflictor = param_00; - var_06.attacker = param_01; - var_06.idamage = param_02; - var_06.smeansofdeath = param_03; - var_06.sweapon = param_04; - var_06.shitloc = param_05; - var_06.victimonground = var_06.victim isonground(); - if(isplayer(param_01)) - { - var_06.attackerinlaststand = isdefined(var_06.attacker.laststand); - var_06.attackeronground = var_06.attacker isonground(); - var_06.attackerstance = var_06.attacker getstance(); - } - else - { - var_06.attackerinlaststand = 0; - var_06.attackeronground = 0; - var_06.attackerstance = "stand"; - } - - if(isdefined(self) && isdefined(param_01) && isdefined(self.team) && isdefined(param_01.team)) - { - if(self.team != param_01.team && maps\mp\_utility::_hasperk("specialty_class_flakjacket") && isexplosivedamagemod(var_06.smeansofdeath) && maps\mp\_utility::isreallyalive(self) && param_04 != "killstreak_solar_mp") - { - processchallenge("ch_perk_flakjack"); - } - - if(self.team != param_01.team && maps\mp\_utility::_hasperk("specialty_class_toughness")) - { - self.lastdamagefromenemytargettime = gettime(); - } - } - - domissioncallback("playerDamaged",var_06); -} - -//Function Number: 31 -playerkilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - self.anglesondeath = self getplayerangles(); - if(isdefined(param_01)) - { - param_01.anglesonkill = param_01 getplayerangles(); - } - - self endon("disconnect"); - var_08 = spawnstruct(); - var_08.victim = self; - var_08.einflictor = param_00; - var_08.attacker = param_01; - var_08.idamage = param_02; - var_08.smeansofdeath = param_03; - var_08.sweapon = param_04; - var_08.sprimaryweapon = param_05; - var_08.shitloc = param_06; - var_08.time = gettime(); - var_08.modifiers = param_07; - var_08.victimonground = var_08.victim isonground(); - if(isplayer(param_01)) - { - var_08.attackerinlaststand = isdefined(var_08.attacker.laststand); - var_08.attackeronground = var_08.attacker isonground(); - var_08.attackerstance = var_08.attacker getstance(); - } - else - { - var_08.attackerinlaststand = 0; - var_08.attackeronground = 0; - var_08.attackerstance = "stand"; - } - - var_09 = 0; - if(isdefined(var_08.einflictor) && isdefined(var_08.einflictor.firedads)) - { - var_09 = var_08.einflictor.firedads; - } - else if(isdefined(param_01) && isplayer(param_01)) - { - var_09 = param_01 playerads(); - } - - var_08.was_ads = 0; - if(var_09 >= 0.2) - { - var_08.was_ads = 1; - } - - waitandprocessplayerkilledcallback(var_08); - if(isdefined(param_01) && maps\mp\_utility::isreallyalive(param_01)) - { - param_01.killsthislife[param_01.killsthislife.size] = var_08; - } - - var_08.attacker notify("playerKilledChallengesProcessed"); -} - -//Function Number: 32 -vehiclekilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - var_07 = spawnstruct(); - var_07.vehicle = param_01; - var_07.victim = param_00; - var_07.einflictor = param_02; - var_07.attacker = param_03; - var_07.idamage = param_04; - var_07.smeansofdeath = param_05; - var_07.sweapon = param_06; - var_07.time = gettime(); - domissioncallback("vehicleKilled",var_07); -} - -//Function Number: 33 -waitandprocessplayerkilledcallback(param_00) -{ - if(isdefined(param_00.attacker)) - { - param_00.attacker endon("disconnect"); - } - - self.processingkilledchallenges = 1; - wait(0.05); - maps\mp\_utility::waittillslowprocessallowed(); - domissioncallback("playerKilled",param_00); - self.processingkilledchallenges = undefined; -} - -//Function Number: 34 -playerassist() -{ - var_00 = spawnstruct(); - var_00.player = self; - domissioncallback("playerAssist",var_00); -} - -//Function Number: 35 -usehardpoint(param_00) -{ - self endon("disconnect"); - wait(0.05); - maps\mp\_utility::waittillslowprocessallowed(); - var_01 = spawnstruct(); - var_01.player = self; - var_01.hardpointtype = param_00; - domissioncallback("playerHardpoint",var_01); -} - -//Function Number: 36 -roundbegin() -{ - domissioncallback("roundBegin"); -} - -//Function Number: 37 -roundend(param_00) -{ - var_01 = spawnstruct(); - if(level.teambased) - { - var_02 = "allies"; - for(var_03 = 0;var_03 < level.placement[var_02].size;var_03++) - { - var_01.player = level.placement[var_02][var_03]; - var_01.winner = var_02 == param_00; - var_01.place = var_03; - domissioncallback("roundEnd",var_01); - } - - var_02 = "axis"; - for(var_03 = 0;var_03 < level.placement[var_02].size;var_03++) - { - var_01.player = level.placement[var_02][var_03]; - var_01.winner = var_02 == param_00; - var_01.place = var_03; - domissioncallback("roundEnd",var_01); - } - - return; - } - - for(var_03 = 0;var_03 < level.placement["all"].size;var_03++) - { - var_01.player = level.placement["all"][var_03]; - var_01.winner = isdefined(param_00) && isplayer(param_00) && var_01.player == param_00; - var_01.place = var_03; - domissioncallback("roundEnd",var_01); - } -} - -//Function Number: 38 -domissioncallback(param_00,param_01) -{ - if(!mayprocesschallenges()) - { - return; - } - - if(getdvarint("disable_challenges") > 0) - { - return; - } - - if(!isdefined(level.missioncallbacks[param_00])) - { - return; - } - - if(isdefined(param_01)) - { - for(var_02 = 0;var_02 < level.missioncallbacks[param_00].size;var_02++) - { - thread [[ level.missioncallbacks[param_00][var_02] ]](param_01); - } - - return; - } - - for(var_02 = 0;var_02 < level.missioncallbacks[param_00].size;var_02++) - { - thread [[ level.missioncallbacks[param_00][var_02] ]](); - } -} - -//Function Number: 39 -monitorsprintdistance() -{ - level endon("game_ended"); - self endon("spawned_player"); - self endon("death"); - self endon("disconnect"); - for(;;) - { - self waittill("sprint_begin"); - self.sprintdistthissprint = 0; - thread monitorsprinttime(); - monitorsinglesprintdistance(); - if(self isitemunlocked("specialty_longersprint") && maps\mp\_utility::_hasperk("specialty_longersprint")) - { - processchallenge("ch_longersprint_pro",int(self.sprintdistthissprint / 12)); - } - } -} - -//Function Number: 40 -monitorsinglesprintdistance() -{ - level endon("game_ended"); - self endon("spawned_player"); - self endon("death"); - self endon("disconnect"); - self endon("sprint_end"); - var_00 = self.origin; - for(;;) - { - wait(0.1); - self.sprintdistthissprint = self.sprintdistthissprint + distance(self.origin,var_00); - var_00 = self.origin; - } -} - -//Function Number: 41 -monitorsprinttime() -{ - level endon("game_ended"); - self endon("spawned_player"); - self endon("death"); - self endon("disconnect"); - self waittill("sprint_end"); - self.lastsprintendtime = gettime(); -} - -//Function Number: 42 -monitorfalldistance() -{ - self endon("disconnect"); - level endon("game_ended"); - for(;;) - { - if(!isalive(self)) - { - self waittill("spawned_player"); - continue; - } - - if(!self isonground()) - { - var_00 = self.origin[2]; - while(!self isonground() && isalive(self)) - { - if(self.origin[2] > var_00) - { - var_00 = self.origin[2]; - } - - wait(0.05); - } - - var_01 = var_00 - self.origin[2]; - if(var_01 < 0) - { - var_01 = 0; - } - - if(var_01 / 12 > 15 && isalive(self) && maps\mp\_utility::isemped()) - { - processchallenge("ch_boot_shortcut"); - } - - if(var_01 / 12 > 30 && !isalive(self) && maps\mp\_utility::isemped()) - { - processchallenge("ch_boot_gravity"); - } - } - - wait(0.05); - } -} - -//Function Number: 43 -monitorboostjumpdistance() -{ - level endon("game_ended"); - self endon("disconnect"); - for(;;) - { - if(!isalive(self)) - { - self waittill("spawned_player"); - continue; - } - - self waittill("exo_boost"); - if(!self isonground()) - { - var_00 = self.origin[2]; - var_01 = self.origin[2]; - while(!self isonground() && isalive(self)) - { - if(self.origin[2] > var_00) - { - var_00 = self.origin[2]; - } - - wait(0.05); - } - - var_02 = var_00 - var_01; - if(var_02 < 0) - { - var_02 = 0; - } - - processchallenge("ch_exomech_frontier",int(ceil(var_02 / 12 / 10))); - } - - wait(0.05); - } -} - -//Function Number: 44 -monitorplayermatchchallenges() -{ - thread monitormatchchallenges("increment_knife_kill",15,"ch_precision_slice"); - thread monitormatchchallenges("increment_stuck_kills",5,"ch_precision_ticktick"); - thread monitormatchchallenges("increment_pistol_headshots",10,"ch_precision_pistoleer"); - thread monitormatchchallenges("increment_ar_headshots",5,"ch_precision_headhunt"); - thread monitormatchchallenges("increment_sharpshooter_kills",10,"ch_precision_sharpshoot"); - thread monitormatchchallenges("increment_oneshotgun_kills",10,"ch_precision_cqexpert"); - thread monitormatchchallenges("increment_duallethal_kills",5,"ch_precision_dangerclose"); -} - -//Function Number: 45 -monitormatchchallenges(param_00,param_01,param_02) -{ - level endon("game_ended"); - self endon("disconnect"); - if(!isdefined(game[param_02])) - { - game[param_02] = []; - } - - if(!isdefined(game[param_02][self.guid])) - { - game[param_02][self.guid] = 0; - } - - thread remove_tracking_on_disconnect(param_02); - for(;;) - { - self waittill(param_00); - var_03 = game[param_02][self.guid]; - var_03++; - game[param_02][self.guid] = var_03; - if(var_03 == param_01) - { - processchallenge(param_02); - } - } -} - -//Function Number: 46 -remove_tracking_on_disconnect(param_00) -{ - level endon("game_ended"); - self waittill("disconnect"); - if(isdefined(game[param_00][self.guid])) - { - game[param_00][self.guid] = undefined; - } -} - -//Function Number: 47 -lastmansd() -{ - if(!mayprocesschallenges()) - { - return; - } - - if(!self.wasaliveatmatchstart) - { - return; - } - - if(self.teamkillsthisround > 0) - { - return; - } - - processchallenge("ch_lastmanstanding"); -} - -//Function Number: 48 -monitorbombuse() -{ - self endon("disconnect"); - for(;;) - { - var_00 = common_scripts\utility::waittill_any_return("bomb_planted","bomb_defused"); - if(!isdefined(var_00)) - { - continue; - } - - if(var_00 == "bomb_planted") - { - processchallenge("ch_saboteur"); - continue; - } - - if(var_00 == "bomb_defused") - { - processchallenge("ch_hero"); - } - } -} - -//Function Number: 49 -monitorlivetime() -{ - for(;;) - { - self waittill("spawned_player"); - thread survivalistchallenge(); - } -} - -//Function Number: 50 -survivalistchallenge() -{ - self endon("death"); - self endon("disconnect"); - wait(300); - if(isdefined(self)) - { - processchallenge("ch_survivalist"); - } -} - -//Function Number: 51 -monitorstreaks() -{ - self endon("disconnect"); - self.pers["airstrikeStreak"] = 0; - self.pers["meleeKillStreak"] = 0; - self.pers["shieldKillStreak"] = 0; - thread monitormisc(); - for(;;) - { - self waittill("death"); - self.pers["airstrikeStreak"] = 0; - self.pers["meleeKillStreak"] = 0; - self.pers["shieldKillStreak"] = 0; - } -} - -//Function Number: 52 -monitormisc() -{ - self endon("disconnect"); - for(;;) - { - var_00 = common_scripts\utility::waittill_any_return_no_endon_death("destroyed_explosive","begin_airstrike","destroyed_car","destroyed_car"); - monitormisccallback(var_00); - } -} - -//Function Number: 53 -monitormisccallback(param_00) -{ - switch(param_00) - { - case "begin_airstrike": - break; - - case "destroyed_explosive": - break; - - case "destroyed_car": - break; - - case "crushed_enemy": - break; - } -} - -//Function Number: 54 -healthregenerated() -{ - if(!isalive(self)) - { - return; - } - - if(!mayprocesschallenges()) - { - return; - } - - if(!maps\mp\_utility::rankingenabled()) - { - return; - } - - thread resetbrinkofdeathkillstreakshortly(); - if(isdefined(self.lastdamagewasfromenemy) && self.lastdamagewasfromenemy) - { - self.healthregenerationstreak++; - if(self.healthregenerationstreak >= 5) - { - processchallenge("ch_invincible"); - } - } -} - -//Function Number: 55 -resetbrinkofdeathkillstreakshortly() -{ - self endon("disconnect"); - self endon("death"); - self endon("damage"); - wait(1); - self.brinkofdeathkillstreak = 0; -} - -//Function Number: 56 -playerspawned() -{ - self.brinkofdeathkillstreak = 0; - self.healthregenerationstreak = 0; -} - -//Function Number: 57 -playerdied() -{ - self.brinkofdeathkillstreak = 0; - self.healthregenerationstreak = 0; -} - -//Function Number: 58 -isatbrinkofdeath() -{ - var_00 = self.health / self.maxhealth; - return var_00 <= level.healthoverlaycutoff; -} - -//Function Number: 59 -processchallenge(param_00,param_01,param_02) -{ - if(!mayprocesschallenges()) - { - return; - } - - if(level.players.size < 2 && !getdvarint("force_ranking")) - { - var_03 = undefined; - if(isdefined(var_03)) - { - if(var_03 == 0) - { - return; - } - } - else - { - return; - } - } - - if(!maps\mp\_utility::rankingenabled()) - { - return; - } - - if(!isdefined(param_01)) - { - param_01 = 1; - } - - var_04 = getchallengestatus(param_00); - if(var_04 == 0) - { - return; - } - - if(var_04 > level.challengeinfo[param_00]["targetval"].size) - { - return; - } - - var_05 = maps\mp\gametypes\_hud_util::ch_getprogress(param_00); - if(isdefined(param_02) && param_02) - { - var_06 = param_01; - } - else if(maps\mp\gametypes\_hud_util::isweaponclasschallenge(param_01)) - { - var_06 = var_06; - } - else - { - var_06 = var_06 + param_02; - } - - var_07 = 0; - var_08 = level.challengeinfo[param_00]["targetval"][var_04]; - while(isdefined(var_08) && var_06 >= var_08) - { - var_07++; - var_08 = level.challengeinfo[param_00]["targetval"][var_04 + var_07]; - } - - if(var_05 < var_06) - { - maps\mp\gametypes\_hud_util::ch_setprogress(param_00,var_06); - } - - if(var_07 > 0) - { - var_09 = var_04; - while(var_07) - { - thread giverankxpafterwait(param_00,var_04); - var_0A = getchallengeid(param_00,var_04); - self challengenotification(var_0A); - var_0B = common_scripts\utility::tostring(var_0A); - var_0C = int(getsubstr(var_0B,0,var_0B.size - 2)); - if(!isdefined(game["challengeStruct"]["challengesCompleted"][self.guid])) - { - game["challengeStruct"]["challengesCompleted"][self.guid] = []; - } - - var_0D = 0; - foreach(var_0F in game["challengeStruct"]["challengesCompleted"][self.guid]) - { - if(var_0F == var_0C) - { - var_0D = 1; - } - } - - if(!var_0D) - { - game["challengeStruct"]["challengesCompleted"][self.guid][game["challengeStruct"]["challengesCompleted"][self.guid].size] = var_0C; - } - - if(var_04 >= level.challengeinfo[param_00]["targetval"].size && level.challengeinfo[param_00]["parent_challenge"] != "") - { - processchallenge(level.challengeinfo[param_00]["parent_challenge"]); - } - - var_04++; - var_07--; - var_11 = getchallengerewarditem(var_0A); - if(var_11 != 0) - { - maps\mp\_matchdata::logcompletedchallenge(var_0A); - } - } - - if(!issubstr(param_00,"ch_limited_bloodshed")) - { - thread maps\mp\gametypes\_hud_message::challengesplashnotify(param_00,var_09,var_04); - } - - maps\mp\gametypes\_hud_util::ch_setstate(param_00,var_04); - self.challengedata[param_00] = var_04; - } -} - -//Function Number: 60 -giverankxpafterwait(param_00,param_01) -{ - self endon("disconnect"); - wait(0.25); - maps\mp\gametypes\_rank::giverankxp("challenge",level.challengeinfo[param_00]["reward"][param_01],undefined,undefined,param_00); -} - -//Function Number: 61 -getmarksmanunlockattachment(param_00,param_01) -{ - return tablelookup("mp/unlockTable.csv",0,param_00,4 + param_01); -} - -//Function Number: 62 -masterychallengeprocess(param_00) -{ - if(tablelookup("mp/allChallengesTable.csv",0,"ch_" + param_00 + "_mastery",1) == "") - { - return; - } - - var_01 = 0; - var_02 = maps\mp\_utility::getweaponattachmentfromstats(param_00); - foreach(var_04 in var_02) - { - if(var_04 == "") - { - continue; - } - - if(maps\mp\gametypes\_class::isattachmentunlocked(param_00,var_04)) - { - var_01++; - } - } - - processchallenge("ch_" + param_00 + "_mastery",var_01,1); -} - -//Function Number: 63 -ischallengeunlocked(param_00,param_01) -{ - var_02 = tablelookupbyrow("mp/allChallengesTable.csv",param_01,8); - if(var_02 != "") - { - var_03 = getchallengestatus(var_02); - if(var_03 > 1) - { - return 1; - } - } - - var_04 = tablelookupbyrow("mp/allChallengesTable.csv",param_01,6); - if(var_04 != "") - { - var_05 = maps\mp\gametypes\_rank::getrank(); - if(var_05 < int(var_04)) - { - return 0; - } - } - - var_06 = tablelookupbyrow("mp/allChallengesTable.csv",param_01,7); - if(var_06 != "") - { - var_07 = getchallengestatus(var_06); - if(var_07 <= 1) - { - return 0; - } - } - - return 1; -} - -//Function Number: 64 -updatechallenges() -{ - self.challengedata = []; - if(!isdefined(self.ch_unique_earned_streaks)) - { - self.ch_unique_earned_streaks = []; - } - - if(!isdefined(game["challengeStruct"])) - { - game["challengeStruct"] = []; - } - - if(!isdefined(game["challengeStruct"]["limitedChallengesReset"])) - { - game["challengeStruct"]["limitedChallengesReset"] = []; - } - - if(!isdefined(game["challengeStruct"]["challengesCompleted"])) - { - game["challengeStruct"]["challengesCompleted"] = []; - } - - self endon("disconnect"); - if(!mayprocesschallenges()) - { - return; - } - - if(!self isitemunlocked("challenges")) - { - return; - } - - var_00 = 0; - foreach(var_05, var_02 in level.challengeinfo) - { - var_00++; - if(var_00 % 40 == 0) - { - wait(0.05); - } - - self.challengedata[var_05] = 0; - var_03 = var_02["index"]; - var_04 = maps\mp\gametypes\_hud_util::ch_getstate(var_05); - if(maps\mp\gametypes\_hud_util::istimelimitedchallenge(var_05) && !isdefined(game["challengeStruct"]["limitedChallengesReset"][self.guid])) - { - maps\mp\gametypes\_hud_util::ch_setprogress(var_05,0); - var_04 = 0; - } - - if(var_04 == 0) - { - maps\mp\gametypes\_hud_util::ch_setstate(var_05,1); - var_04 = 1; - } - - self.challengedata[var_05] = var_04; - } - - game["challengeStruct"]["limitedChallengesReset"][self.guid] = 1; -} - -//Function Number: 65 -isinunlocktable(param_00) -{ - return tablelookup("mp/unlockTable.csv",0,param_00,0) != ""; -} - -//Function Number: 66 -getchallengefilter(param_00) -{ - return tablelookup("mp/allChallengesTable.csv",0,param_00,5); -} - -//Function Number: 67 -getchallengetable(param_00) -{ - return tablelookup("mp/challengeTable.csv",8,param_00,4); -} - -//Function Number: 68 -gettierfromtable(param_00,param_01) -{ - return tablelookup(param_00,0,param_01,1); -} - -//Function Number: 69 -isweaponchallenge(param_00) -{ - if(!isdefined(param_00)) - { - return 0; - } - - var_01 = getchallengefilter(param_00); - if(isdefined(var_01) && var_01 == "riotshield") - { - return 1; - } - - var_02 = maps\mp\_utility::getweaponnametokens(param_00); - for(var_03 = 0;var_03 < var_02.size;var_03++) - { - var_04 = var_02[var_03]; - if(var_04 == "iw5" || var_04 == "iw6") - { - var_04 = var_02[var_03] + "_" + var_02[var_03 + 1]; - } - - if(maps\mp\gametypes\_class::isvalidprimary(var_04) || maps\mp\gametypes\_class::isvalidsecondary(var_04,0)) - { - return 1; - } - } - - return 0; -} - -//Function Number: 70 -getweaponfromchallenge(param_00) -{ - var_01 = "ch_"; - if(issubstr(param_00,"ch_marksman_")) - { - var_01 = "ch_marksman_"; - } - else if(issubstr(param_00,"ch_expert_")) - { - var_01 = "ch_expert_"; - } - else if(issubstr(param_00,"pr_marksman_")) - { - var_01 = "pr_marksman_"; - } - else if(issubstr(param_00,"pr_expert_")) - { - var_01 = "pr_expert_"; - } - - var_02 = getsubstr(param_00,var_01.size,param_00.size); - var_03 = maps\mp\_utility::getweaponnametokens(var_02); - var_02 = undefined; - if(var_03[0] == "iw5" || var_03[0] == "iw6") - { - var_02 = var_03[0] + "_" + var_03[1]; - } - else - { - var_02 = var_03[0]; - } - - return var_02; -} - -//Function Number: 71 -getweaponattachmentfromchallenge(param_00) -{ - var_01 = "ch_"; - if(issubstr(param_00,"ch_marksman_")) - { - var_01 = "ch_marksman_"; - } - else if(issubstr(param_00,"ch_expert_")) - { - var_01 = "ch_expert_"; - } - else if(issubstr(param_00,"pr_marksman_")) - { - var_01 = "pr_marksman_"; - } - else if(issubstr(param_00,"pr_expert_")) - { - var_01 = "pr_expert_"; - } - - var_02 = getsubstr(param_00,var_01.size,param_00.size); - var_03 = maps\mp\_utility::getweaponnametokens(var_02); - var_04 = undefined; - if(isdefined(var_03[2]) && maps\mp\_utility::isattachment(var_03[2])) - { - var_04 = var_03[2]; - } - - return var_04; -} - -//Function Number: 72 -iskillstreakchallenge(param_00) -{ - if(!isdefined(param_00)) - { - return 0; - } - - var_01 = getchallengefilter(param_00); - if(isdefined(var_01) && var_01 == "killstreaks_assault" || var_01 == "killstreaks_support") - { - return 1; - } - - return 0; -} - -//Function Number: 73 -getkillstreakfromchallenge(param_00) -{ - var_01 = "ch_"; - var_02 = getsubstr(param_00,var_01.size,param_00.size); - if(var_02 == "assault_streaks" || var_02 == "support_streaks") - { - var_02 = undefined; - } - - return var_02; -} - -//Function Number: 74 -challenge_targetval(param_00,param_01,param_02) -{ - var_03 = tablelookup(param_00,0,param_01,9 + param_02 - 1 * 2); - return int(var_03); -} - -//Function Number: 75 -challenge_rewardval(param_00,param_01,param_02) -{ - var_03 = tablelookup(param_00,0,param_01,10 + param_02 - 1 * 2); - return int(var_03); -} - -//Function Number: 76 -challenge_parentchallenge(param_00,param_01) -{ - var_02 = tablelookup(param_00,0,param_01,42); - if(!isdefined(var_02)) - { - var_02 = ""; - } - - return var_02; -} - -//Function Number: 77 -buildchallengetableinfo(param_00,param_01) -{ - var_02 = 0; - var_03 = 0; - for(;;) - { - var_03++; - var_04 = tablelookupbyrow(param_00,var_03,0); - if(var_04 == "") - { - break; - } - - var_05 = tablelookupbyrow(param_00,var_03,43); - if(var_05 == "1") - { - continue; - } - - level.challengeinfo[var_04] = []; - level.challengeinfo[var_04]["index"] = var_03; - level.challengeinfo[var_04]["type"] = param_01; - level.challengeinfo[var_04]["targetval"] = []; - level.challengeinfo[var_04]["reward"] = []; - level.challengeinfo[var_04]["parent_challenge"] = ""; - if(isweaponchallenge(var_04)) - { - var_06 = getweaponfromchallenge(var_04); - var_07 = getweaponattachmentfromchallenge(var_04); - if(isdefined(var_06)) - { - level.challengeinfo[var_04]["weapon"] = var_06; - } - - if(isdefined(var_07)) - { - level.challengeinfo[var_04]["attachment"] = var_07; - } - } - else if(iskillstreakchallenge(var_04)) - { - var_08 = getkillstreakfromchallenge(var_04); - if(isdefined(var_08)) - { - level.challengeinfo[var_04]["killstreak"] = var_08; - } - } - - for(var_09 = 1;var_09 < 11;var_09++) - { - var_0A = challenge_targetval(param_00,var_04,var_09); - var_0B = challenge_rewardval(param_00,var_04,var_09); - if(var_0A == 0) - { - break; - } - - level.challengeinfo[var_04]["targetval"][var_09] = var_0A; - level.challengeinfo[var_04]["reward"][var_09] = var_0B; - var_02 = var_02 + var_0B; - } - - level.challengeinfo[var_04]["parent_challenge"] = challenge_parentchallenge(param_00,var_04); - } - - return int(var_02); -} - -//Function Number: 78 -buildchallegeinfo() -{ - level.challengeinfo = []; - if(getdvar("virtualLobbyActive") == "1") - { - return; - } - - var_00 = 0; - var_00 = var_00 + buildchallengetableinfo("mp/allChallengesTable.csv",0); -} - -//Function Number: 79 -monitorprocesschallenge() -{ - self endon("disconnect"); - level endon("game_end"); - for(;;) - { - if(!mayprocesschallenges()) - { - return; - } - - self waittill("process",var_00); - processchallenge(var_00); - } -} - -//Function Number: 80 -monitorkillstreakprogress() -{ - self endon("disconnect"); - level endon("game_end"); - for(;;) - { - self waittill("got_killstreak",var_00); - if(!isdefined(var_00)) - { - continue; - } - - if(var_00 == 9 && isdefined(self.killstreaks[7]) && isdefined(self.killstreaks[8]) && isdefined(self.killstreaks[9])) - { - processchallenge("ch_6fears7"); - } - - if(var_00 == 10 && self.killstreaks.size == 0) - { - processchallenge("ch_theloner"); - } - } -} - -//Function Number: 81 -monitorkilledkillstreak() -{ - self endon("disconnect"); - level endon("game_end"); - for(;;) - { - self waittill("destroyed_killstreak",var_00); - if(self isitemunlocked("specialty_blindeye") && maps\mp\_utility::_hasperk("specialty_blindeye")) - { - processchallenge("ch_blindeye_pro"); - } - - if(isdefined(var_00) && var_00 == "stinger_mp") - { - processchallenge("ch_marksman_stinger"); - processchallenge("pr_marksman_stinger"); - } - } -} - -//Function Number: 82 -genericchallenge(param_00,param_01) -{ - switch(param_00) - { - case "hijacker_airdrop": - break; - - case "wargasm": - break; - - case "weapon_assault": - break; - - case "weapon_smg": - break; - - case "weapon_lmg": - break; - - case "weapon_dmr": - break; - - case "weapon_sniper": - break; - - case "shield_damage": - break; - - case "shield_bullet_hits": - break; - - case "shield_explosive_hits": - break; - } -} - -//Function Number: 83 -playerhasammo() -{ - var_00 = self getweaponslistprimaries(); - foreach(var_02 in var_00) - { - if(self getweaponammoclip(var_02)) - { - return 1; - } - - var_03 = weaponaltweaponname(var_02); - if(!isdefined(var_03) || var_03 == "none") - { - continue; - } - - if(self getweaponammoclip(var_03)) - { - return 1; - } - } - - return 0; -} - -//Function Number: 84 -monitoradstime() -{ - self endon("disconnect"); - self.adstime = 0; - for(;;) - { - if(self playerads() == 1) - { - self.adstime = self.adstime + 0.05; - } - else - { - self.adstime = 0; - } - - wait(0.05); - } -} - -//Function Number: 85 -monitorpronetime() -{ - self endon("disconnect"); - level endon("game_ended"); - self.pronetime = undefined; - var_00 = 0; - for(;;) - { - var_01 = self getstance(); - if(var_01 == "prone" && var_00 == 0) - { - self.pronetime = gettime(); - var_00 = 1; - } - else if(var_01 != "prone") - { - self.pronetime = undefined; - var_00 = 0; - } - - wait(0.05); - } -} - -//Function Number: 86 -monitorpowerslidetime() -{ - self endon("disconnect"); - level endon("game_ended"); - self.powerslidetime = undefined; - for(;;) - { - while(!self ispowersliding()) - { - wait(0.05); - } - - self.powerslidetime = gettime(); - wait(0.05); - } -} - -//Function Number: 87 -monitorholdbreath() -{ - self endon("disconnect"); - self.holdingbreath = 0; - for(;;) - { - self waittill("hold_breath"); - self.holdingbreath = 1; - self waittill("release_breath"); - self.holdingbreath = 0; - } -} - -//Function Number: 88 -monitormantle() -{ - self endon("disconnect"); - self.mantling = 0; - for(;;) - { - self waittill("jumped"); - var_00 = self getcurrentweapon(); - common_scripts\utility::waittill_notify_or_timeout("weapon_change",1); - var_01 = self getcurrentweapon(); - if(var_01 == "none") - { - self.mantling = 1; - } - else - { - self.mantling = 0; - } - - if(self.mantling) - { - if(self isitemunlocked("specialty_fastmantle") && maps\mp\_utility::_hasperk("specialty_fastmantle")) - { - processchallenge("ch_fastmantle"); - } - - common_scripts\utility::waittill_notify_or_timeout("weapon_change",1); - var_01 = self getcurrentweapon(); - if(var_01 == var_00) - { - self.mantling = 0; - } - } - } -} - -//Function Number: 89 -monitorweaponswap() -{ - self endon("disconnect"); - var_00 = self getcurrentweapon(); - for(;;) - { - self waittill("weapon_change",var_01); - if(var_01 == "none") - { - continue; - } - - if(var_01 == var_00) - { - continue; - } - - if(maps\mp\_utility::iskillstreakweapon(var_01)) - { - continue; - } - - if(maps\mp\_utility::isbombsiteweapon(var_01)) - { - continue; - } - - var_02 = weaponinventorytype(var_01); - if(var_02 != "primary") - { - continue; - } - - self.lastprimaryweaponswaptime = gettime(); - } -} - -//Function Number: 90 -monitorflashbang() -{ - self endon("disconnect"); - for(;;) - { - self waittill("flashbang",var_00,var_01,var_02,var_03); - if(isdefined(var_03) && self == var_03) - { - continue; - } - - self.lastflashedtime = gettime(); - } -} - -//Function Number: 91 -monitorconcussion() -{ - self endon("disconnect"); - for(;;) - { - self waittill("concussed",var_00); - if(self == var_00) - { - continue; - } - - self.lastconcussedtime = gettime(); - } -} - -//Function Number: 92 -monitorminetriggering() -{ - self endon("disconnect"); - for(;;) - { - common_scripts\utility::waittill_any("triggered_mine","triggered_claymore"); - thread waitdelayminetime(); - } -} - -//Function Number: 93 -waitdelayminetime() -{ - self endon("death"); - self endon("disconnect"); - level endon("game_ended"); - wait(level.delayminetime + 2); - processchallenge("ch_delaymine"); -} - -//Function Number: 94 -is_lethal_equipment(param_00) -{ - if(!isdefined(param_00)) - { - return 0; - } - - switch(param_00) - { - case "explosive_drone_mp": - case "exoknife_mp": - case "semtex_mp": - case "frag_grenade_mp": - break; - - default: - break; - } -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/gametypes/_persistance.gsc b/AW/PC/MP/maps/mp/gametypes/_persistance.gsc deleted file mode 100644 index f01d843..0000000 --- a/AW/PC/MP/maps/mp/gametypes/_persistance.gsc +++ /dev/null @@ -1,595 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps\mp\gametypes\_persistance.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 22 - * Decompile Time: 388 ms - * Timestamp: 10/27/2023 1:42:24 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - level.persistentdatainfo = []; - maps\mp\gametypes\_class::init(); - maps\mp\gametypes\_missions::init(); - maps\mp\gametypes\_playercards::init(); - maps\mp\gametypes\_rank::init(); - if(getdvarint("virtualLobbyActive",0) > 0) - { - return; - } - - level thread updatebufferedstats(); - level thread uploadglobalstatcounters(); -} - -//Function Number: 2 -initbufferedstats() -{ - self.bufferedstats = []; - if(maps\mp\_utility::rankingenabled()) - { - self.bufferedstats["totalShots"] = self getrankedplayerdata("totalShots"); - self.bufferedstats["accuracy"] = self getrankedplayerdata("accuracy"); - self.bufferedstats["misses"] = self getrankedplayerdata("misses"); - self.bufferedstats["hits"] = self getrankedplayerdata("hits"); - self.bufferedstats["timePlayedAllies"] = self getrankedplayerdata("timePlayedAllies"); - self.bufferedstats["timePlayedOpfor"] = self getrankedplayerdata("timePlayedOpfor"); - self.bufferedstats["timePlayedOther"] = self getrankedplayerdata("timePlayedOther"); - self.bufferedstats["timePlayedTotal"] = self getrankedplayerdata("timePlayedTotal"); - } - - self.bufferedchildstats = []; - self.bufferedchildstats["round"] = []; - self.bufferedchildstats["round"]["timePlayed"] = self getcommonplayerdata("round","timePlayed"); -} - -//Function Number: 3 -statget(param_00) -{ - return self getrankedplayerdata(param_00); -} - -//Function Number: 4 -statset(param_00,param_01) -{ - if(!maps\mp\_utility::rankingenabled() || maps\mp\_utility::practiceroundgame()) - { - return; - } - - self setrankedplayerdata(param_00,param_01); -} - -//Function Number: 5 -statadd(param_00,param_01,param_02) -{ - if(!maps\mp\_utility::rankingenabled() || maps\mp\_utility::practiceroundgame()) - { - return; - } - - if(isdefined(param_02)) - { - var_03 = self getrankedplayerdata(param_00,param_02); - self setrankedplayerdata(param_00,param_02,param_01 + var_03); - return; - } - - var_03 = self getrankedplayerdata(param_01); - self setrankedplayerdata(param_00,param_01 + var_03); -} - -//Function Number: 6 -statgetchild(param_00,param_01) -{ - if(param_00 == "round") - { - return self getcommonplayerdata(param_00,param_01); - } - - return self getrankedplayerdata(param_00,param_01); -} - -//Function Number: 7 -statsetchild(param_00,param_01,param_02) -{ - if(isagent(self)) - { - return; - } - - if(maps\mp\_utility::invirtuallobby()) - { - return; - } - - if(param_00 == "round") - { - self setcommonplayerdata(param_00,param_01,param_02); - return; - } - - if(!maps\mp\_utility::rankingenabled() || maps\mp\_utility::practiceroundgame()) - { - return; - } - - self setrankedplayerdata(param_00,param_01,param_02); -} - -//Function Number: 8 -stataddchild(param_00,param_01,param_02) -{ - if(!maps\mp\_utility::rankingenabled() || maps\mp\_utility::practiceroundgame()) - { - return; - } - - var_03 = self getrankedplayerdata(param_00,param_01); - self setrankedplayerdata(param_00,param_01,var_03 + param_02); -} - -//Function Number: 9 -statgetchildbuffered(param_00,param_01) -{ - if(!maps\mp\_utility::rankingenabled()) - { - return 0; - } - - return self.bufferedchildstats[param_00][param_01]; -} - -//Function Number: 10 -statsetchildbuffered(param_00,param_01,param_02) -{ - if(!maps\mp\_utility::rankingenabled()) - { - return; - } - - self.bufferedchildstats[param_00][param_01] = param_02; -} - -//Function Number: 11 -stataddchildbuffered(param_00,param_01,param_02) -{ - if(!maps\mp\_utility::rankingenabled()) - { - return; - } - - var_03 = statgetchildbuffered(param_00,param_01); - statsetchildbuffered(param_00,param_01,var_03 + param_02); -} - -//Function Number: 12 -stataddbufferedwithmax(param_00,param_01,param_02) -{ - if(!maps\mp\_utility::rankingenabled()) - { - return; - } - - var_03 = statgetbuffered(param_00) + param_01; - if(var_03 > param_02) - { - var_03 = param_02; - } - - if(var_03 < statgetbuffered(param_00)) - { - var_03 = param_02; - } - - statsetbuffered(param_00,var_03); -} - -//Function Number: 13 -stataddchildbufferedwithmax(param_00,param_01,param_02,param_03) -{ - if(!maps\mp\_utility::rankingenabled()) - { - return; - } - - var_04 = statgetchildbuffered(param_00,param_01) + param_02; - if(var_04 > param_03) - { - var_04 = param_03; - } - - if(var_04 < statgetchildbuffered(param_00,param_01)) - { - var_04 = param_03; - } - - statsetchildbuffered(param_00,param_01,var_04); -} - -//Function Number: 14 -statgetbuffered(param_00) -{ - if(!maps\mp\_utility::rankingenabled()) - { - return 0; - } - - return self.bufferedstats[param_00]; -} - -//Function Number: 15 -statsetbuffered(param_00,param_01) -{ - if(!maps\mp\_utility::rankingenabled()) - { - return; - } - - self.bufferedstats[param_00] = param_01; -} - -//Function Number: 16 -stataddbuffered(param_00,param_01) -{ - if(!maps\mp\_utility::rankingenabled()) - { - return; - } - - var_02 = statgetbuffered(param_00); - statsetbuffered(param_00,var_02 + param_01); -} - -//Function Number: 17 -updatebufferedstats() -{ - wait(0.15); - var_00 = 0; - while(!level.gameended) - { - maps\mp\gametypes\_hostmigration::waittillhostmigrationdone(); - var_00++; - if(var_00 >= level.players.size) - { - var_00 = 0; - } - - if(isdefined(level.players[var_00])) - { - level.players[var_00] writebufferedstats(); - level.players[var_00] updateweaponbufferedstats(); - } - - wait(2); - } - - foreach(var_02 in level.players) - { - var_02 writebufferedstats(); - var_02 updateweaponbufferedstats(); - } -} - -//Function Number: 18 -writebufferedstats() -{ - var_00 = maps\mp\_utility::rankingenabled() && !maps\mp\_utility::practiceroundgame(); - if(var_00) - { - foreach(var_03, var_02 in self.bufferedstats) - { - self setrankedplayerdata(var_03,var_02); - } - } - - foreach(var_03, var_02 in self.bufferedchildstats) - { - foreach(var_07, var_06 in var_02) - { - if(var_03 == "round") - { - self setcommonplayerdata(var_03,var_07,var_06); - continue; - } - - if(var_00) - { - self setrankedplayerdata(var_03,var_07,var_06); - } - } - } -} - -//Function Number: 19 -incrementweaponstat(param_00,param_01,param_02) -{ - if(maps\mp\_utility::iskillstreakweapon(param_00)) - { - return; - } - - if(isdefined(level.disableweaponstats) && level.disableweaponstats) - { - return; - } - - if(maps\mp\_utility::rankingenabled() && !maps\mp\_utility::practiceroundgame()) - { - var_03 = self getrankedplayerdata("weaponStats",param_00,param_01); - self setrankedplayerdata("weaponStats",param_00,param_01,var_03 + param_02); - } -} - -//Function Number: 20 -incrementattachmentstat(param_00,param_01,param_02) -{ - if(maps\mp\_utility::rankingenabled() && !maps\mp\_utility::practiceroundgame()) - { - var_03 = self getrankedplayerdata("attachmentsStats",param_00,param_01); - self setrankedplayerdata("attachmentsStats",param_00,param_01,var_03 + param_02); - } -} - -//Function Number: 21 -updateweaponbufferedstats() -{ - if(!isdefined(self.trackingweaponname)) - { - return; - } - - if(self.trackingweaponname == "" || self.trackingweaponname == "none") - { - return; - } - - var_00 = self.trackingweaponname; - if(maps\mp\_utility::iskillstreakweapon(var_00) || maps\mp\_utility::isenvironmentweapon(var_00)) - { - return; - } - - var_01 = maps\mp\_utility::getweaponnametokens(var_00); - if(var_01[0] == "iw5") - { - var_01[0] = var_01[0] + "_" + var_01[1]; - } - - if(var_01[0] == "alt") - { - foreach(var_03 in var_01) - { - if(var_03 == "gl" || var_03 == "gp25" || var_03 == "m320") - { - var_01[0] = "gl"; - break; - } - - if(var_03 == "shotgun") - { - var_01[0] = "shotgun"; - break; - } - } - - if(var_01[0] == "alt") - { - var_01[0] = var_01[1] + "_" + var_01[2]; - } - } - - if(var_01[0] == "gl" || var_01[0] == "shotgun") - { - if(self.trackingweaponshots > 0) - { - incrementattachmentstat(var_01[0],"shots",self.trackingweaponshots); - } - - if(self.trackingweaponkills > 0) - { - incrementattachmentstat(var_01[0],"kills",self.trackingweaponkills); - } - - if(self.trackingweaponhits > 0) - { - incrementattachmentstat(var_01[0],"hits",self.trackingweaponhits); - } - - if(self.trackingweaponheadshots > 0) - { - incrementattachmentstat(var_01[0],"headShots",self.trackingweaponheadshots); - } - - if(self.trackingweapondeaths > 0) - { - incrementattachmentstat(var_01[0],"deaths",self.trackingweapondeaths); - } - - if(self.trackingweaponhipfirekills > 0) - { - incrementattachmentstat(var_01[0],"hipfirekills",self.trackingweaponhipfirekills); - } - - if(self.trackingweaponusetime > 0) - { - incrementattachmentstat(var_01[0],"timeInUse",self.trackingweaponusetime); - } - - self.trackingweaponname = "none"; - self.trackingweaponshots = 0; - self.trackingweaponkills = 0; - self.trackingweaponhits = 0; - self.trackingweaponheadshots = 0; - self.trackingweapondeaths = 0; - self.trackingweaponhipfirekills = 0; - self.trackingweaponusetime = 0; - return; - } - - if(!maps\mp\_utility::iscacprimaryweapon(var_01[0]) && !maps\mp\_utility::iscacsecondaryweapon(var_01[0])) - { - return; - } - - if(self.trackingweaponshots > 0) - { - incrementweaponstat(var_01[0],"shots",self.trackingweaponshots); - maps\mp\_matchdata::logweaponstat(var_01[0],"shots",self.trackingweaponshots); - } - - if(self.trackingweaponkills > 0) - { - incrementweaponstat(var_01[0],"kills",self.trackingweaponkills); - maps\mp\_matchdata::logweaponstat(var_01[0],"kills",self.trackingweaponkills); - } - - if(self.trackingweaponhits > 0) - { - incrementweaponstat(var_01[0],"hits",self.trackingweaponhits); - maps\mp\_matchdata::logweaponstat(var_01[0],"hits",self.trackingweaponhits); - } - - if(self.trackingweaponheadshots > 0) - { - incrementweaponstat(var_01[0],"headShots",self.trackingweaponheadshots); - maps\mp\_matchdata::logweaponstat(var_01[0],"headShots",self.trackingweaponheadshots); - } - - if(self.trackingweapondeaths > 0) - { - incrementweaponstat(var_01[0],"deaths",self.trackingweapondeaths); - maps\mp\_matchdata::logweaponstat(var_01[0],"deaths",self.trackingweapondeaths); - } - - if(self.trackingweaponhipfirekills > 0) - { - incrementweaponstat(var_01[0],"hipfirekills",self.trackingweaponhipfirekills); - maps\mp\_matchdata::logweaponstat(var_01[0],"hipfirekills",self.trackingweaponhipfirekills); - } - - if(self.trackingweaponusetime > 0) - { - incrementweaponstat(var_01[0],"timeInUse",self.trackingweaponusetime); - maps\mp\_matchdata::logweaponstat(var_01[0],"timeInUse",self.trackingweaponusetime); - } - - var_05 = getweaponattachments(var_00); - foreach(var_07 in var_05) - { - var_08 = maps\mp\_utility::attachmentmap_tobase(var_07); - if(var_08 == "gl" || var_08 == "shotgun") - { - continue; - } - - if(self.trackingweaponshots > 0) - { - if(var_08 != "tactical") - { - incrementattachmentstat(var_08,"shots",self.trackingweaponshots); - } - } - - if(self.trackingweaponkills > 0) - { - if(var_08 != "tactical") - { - incrementattachmentstat(var_08,"kills",self.trackingweaponkills); - } - } - - if(self.trackingweaponhits > 0) - { - if(var_08 != "tactical") - { - incrementattachmentstat(var_08,"hits",self.trackingweaponhits); - } - } - - if(self.trackingweaponheadshots > 0) - { - if(var_08 != "tactical") - { - incrementattachmentstat(var_08,"headShots",self.trackingweaponheadshots); - } - } - - if(self.trackingweaponhipfirekills > 0) - { - if(var_08 != "tactical") - { - incrementattachmentstat(var_08,"hipfirekills",self.trackingweaponhipfirekills); - } - } - - if(self.trackingweaponusetime > 0) - { - if(var_08 != "tactical") - { - incrementattachmentstat(var_08,"timeInUse",self.trackingweaponusetime); - } - } - - if(self.trackingweapondeaths > 0) - { - incrementattachmentstat(var_08,"deaths",self.trackingweapondeaths); - } - } - - self.trackingweaponname = "none"; - self.trackingweaponshots = 0; - self.trackingweaponkills = 0; - self.trackingweaponhits = 0; - self.trackingweaponheadshots = 0; - self.trackingweapondeaths = 0; - self.trackingweaponhipfirekills = 0; - self.trackingweaponusetime = 0; -} - -//Function Number: 22 -uploadglobalstatcounters() -{ - level waittill("game_ended"); - if(!maps\mp\_utility::matchmakinggame()) - { - return; - } - - var_00 = 0; - var_01 = 0; - var_02 = 0; - var_03 = 0; - var_04 = 0; - var_05 = 0; - foreach(var_07 in level.players) - { - var_05 = var_05 + var_07.timeplayed["total"]; - } - - incrementcounter("global_minutes",int(var_05 / 60)); - if(!maps\mp\_utility::waslastround()) - { - return; - } - - wait(0.05); - foreach(var_07 in level.players) - { - var_00 = var_00 + var_07.kills; - var_01 = var_01 + var_07.deaths; - var_02 = var_02 + var_07.assists; - var_03 = var_03 + var_07.headshots; - var_04 = var_04 + var_07.suicides; - } - - incrementcounter("global_kills",var_00); - incrementcounter("global_deaths",var_01); - incrementcounter("global_assists",var_02); - incrementcounter("global_headshots",var_03); - incrementcounter("global_suicides",var_04); - incrementcounter("global_games",1); -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/killstreaks/_aerial_utility.gsc b/AW/PC/MP/maps/mp/killstreaks/_aerial_utility.gsc deleted file mode 100644 index ff6b37b..0000000 --- a/AW/PC/MP/maps/mp/killstreaks/_aerial_utility.gsc +++ /dev/null @@ -1,1445 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_aerial_utility.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 77 - * Decompile Time: 1171 ms - * Timestamp: 10/27/2023 1:51:21 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - if(getdvarint("virtuallobbyactive",0)) - { - return; - } - - level.helis = []; - level.littlebirds = []; - level.heli_leave_nodes = getentorstructarray("heli_leave","targetname"); - level.heli_crash_nodes = getentorstructarray("heli_crash_start","targetname"); - level.chopper_fx["explode"]["death"] = []; - level.chopper_fx["explode"]["air_death"] = []; - level.chopper_fx["damage"]["light_smoke"] = loadfx("vfx/trail/smoke_trail_white_heli_emitter"); - level.chopper_fx["damage"]["heavy_smoke"] = loadfx("vfx/trail/smoke_trail_black_heli_emitter"); - level.chopper_fx["damage"]["on_fire"] = loadfx("vfx/fire/helicopter_damaged_fire_m"); - level.chopper_fx["explode"]["large"] = loadfx("fx/explosions/helicopter_explosion_secondary_small"); - level.chopper_fx["rocketlaunch"]["warbird"] = loadfx("vfx/muzzleflash/rocket_launch_air_to_ground"); - level.heli_sound["allies"]["hit"] = "warbird_death_explo"; - level.heli_sound["axis"]["hit"] = "warbird_death_explo"; - level.heli_sound["allies"]["spinloop"] = "warbird_death_spin_loop"; - level.heli_sound["axis"]["spinloop"] = "warbird_death_spin_loop"; - level.heli_sound["allies"]["crash"] = "warbird_air_death"; - level.heli_sound["axis"]["crash"] = "warbird_air_death"; - level._effect["flare"] = loadfx("vfx/lensflare/flares_warbird"); - level.heli_attract_strength = 1000; - level.heli_attract_range = 4096; - level.heli_maxhealth = 2000; - level.heli_targeting_delay = 0.5; -} - -//Function Number: 2 -makehelitype(param_00,param_01,param_02) -{ - level.chopper_fx["explode"]["death"][param_00] = loadfx(param_01); - level.lightfxfunc[param_00] = param_02; -} - -//Function Number: 3 -addairexplosion(param_00,param_01) -{ - level.chopper_fx["explode"]["air_death"][param_00] = loadfx(param_01); -} - -//Function Number: 4 -addtohelilist() -{ - level.helis[self getentitynumber()] = self; -} - -//Function Number: 5 -removefromhelilist(param_00) -{ - level.helis[param_00] = undefined; -} - -//Function Number: 6 -addtolittlebirdlist(param_00) -{ - level.littlebirds[self getentitynumber()] = self; -} - -//Function Number: 7 -removefromlittlebirdlistondeath(param_00) -{ - var_01 = self getentitynumber(); - self waittill("death"); - level.littlebirds[var_01] = undefined; -} - -//Function Number: 8 -exceededmaxlittlebirds(param_00) -{ - if(level.littlebirds.size >= 4) - { - return 1; - } - - return 0; -} - -//Function Number: 9 -heli_leave_on_disconnect(param_00) -{ - self endon("death"); - self endon("helicopter_done"); - param_00 waittill("disconnect"); - thread heli_leave(); -} - -//Function Number: 10 -heli_leave_on_changeteams(param_00) -{ - self endon("death"); - self endon("helicopter_done"); - param_00 common_scripts\utility::waittill_any("joined_team","joined_spectators"); - thread heli_leave(); -} - -//Function Number: 11 -heli_modifydamage(param_00,param_01,param_02,param_03) -{ - var_04 = maps\mp\gametypes\_damage::modifydamage(param_00,param_01,param_02,param_03); - if(var_04 > 0) - { - heli_staticdamage(param_01,param_02,var_04); - } - - return var_04; -} - -//Function Number: 12 -heli_addrecentdamage(param_00) -{ - self endon("death"); - self.recentdamageamount = self.recentdamageamount + param_00; - wait(4); - self.recentdamageamount = self.recentdamageamount - param_00; -} - -//Function Number: 13 -heli_leave_on_timeout(param_00) -{ - self endon("death"); - self endon("helicopter_done"); - maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(param_00); - thread heli_leave(); -} - -//Function Number: 14 -heli_leave_on_gameended(param_00) -{ - self endon("death"); - self endon("helicopter_done"); - level waittill("game_ended"); - thread heli_leave(); -} - -//Function Number: 15 -heli_leave(param_00) -{ - self notify("leaving"); - self.isleaving = 1; - self clearlookatent(); - var_01 = undefined; - if(!isdefined(param_00)) - { - var_01 = heli_pick_fly_node(level.heli_leave_nodes); - param_00 = var_01.origin; - } - - var_02 = spawn("script_origin",param_00); - if(isdefined(var_02)) - { - self setlookatent(var_02); - var_02 thread wait_and_delete(3); - } - - heli_reset(); - self vehicle_setspeed(100,45); - if(isdefined(var_01)) - { - if(isdefined(var_01.target)) - { - heli_fly_simple_path(var_01); - } - else - { - _setvehgoalpos(var_01.origin,0); - self waittillmatch("goal"); - } - } - else - { - _setvehgoalpos(param_00,0); - self waittillmatch("goal"); - } - - self notify("death"); - wait(0.05); - if(isdefined(self.killcament)) - { - self.killcament delete(); - } - - maps\mp\_utility::decrementfauxvehiclecount(); - self delete(); -} - -//Function Number: 16 -heli_pick_fly_node(param_00) -{ - var_01 = self.origin; - var_02 = undefined; - for(var_06 = 0;var_06 < param_00.size;var_06++) - { - var_07 = param_00[var_06].origin; - if(flynodeorgtracepassed(var_01,var_07,self)) - { - var_08 = var_07 - var_01; - var_09 = distance(var_01,var_07); - var_0A = rotatevector(var_08,(0,90,0)); - var_0B = var_01 + var_0A * 100; - var_0C = var_0B + var_08 * var_09; - if(flynodeorgtracepassed(var_0B,var_0C,self)) - { - var_0D = rotatevector(var_08,(0,-90,0)); - var_0B = var_01 + var_0D * 100; - var_0C = var_0B + var_08 * var_09; - if(flynodeorgtracepassed(var_0B,var_0C,self)) - { - return param_00[var_06]; - } - } - } - } - - return param_00[randomint(param_00.size)]; -} - -//Function Number: 17 -flynodeorgtracepassed(param_00,param_01,param_02) -{ - var_03 = bullettrace(param_00,param_01,0,param_02,0,0,1,0,0); - var_04 = var_03["fraction"] >= 1; -} - -//Function Number: 18 -wait_and_delete(param_00) -{ - self endon("death"); - level endon("game_ended"); - wait(param_00); - self delete(); -} - -//Function Number: 19 -deleteaftertime(param_00) -{ - wait(param_00); - self delete(); -} - -//Function Number: 20 -heli_reset() -{ - self cleartargetyaw(); - self cleargoalyaw(); - self vehicle_setspeed(60,25); - self setyawspeed(100,45,45); - self setmaxpitchroll(30,30); - self setneargoalnotifydist(100); - self setturningability(1); -} - -//Function Number: 21 -_setvehgoalpos(param_00,param_01) -{ - if(!isdefined(param_01)) - { - param_01 = 0; - } - - self setvehgoalpos(param_00,param_01); -} - -//Function Number: 22 -heli_flares_monitor(param_00) -{ - switch(self.helitype) - { - default: - break; - } -} - -//Function Number: 23 -handleincomingstinger(param_00) -{ - level endon("game_ended"); - self endon("death"); - self endon("crashing"); - self endon("leaving"); - self endon("helicopter_done"); - for(;;) - { - level waittill("stinger_fired",var_01,var_02); - if(!maps\mp\_stingerm7::anystingermissilelockedon(var_02,self)) - { - continue; - } - - if(!isdefined(var_02)) - { - continue; - } - - if(isdefined(param_00)) - { - level thread [[ param_00 ]](var_02,var_01,var_01.team); - continue; - } - - level thread watchmissileproximity(var_02,var_01,var_01.team); - } -} - -//Function Number: 24 -watchmissileproximity(param_00,param_01,param_02) -{ - foreach(var_04 in param_00) - { - var_04 thread missilewatchproximity(param_01,param_02,var_04.lockedstingertarget); - } -} - -//Function Number: 25 -missilewatchproximity(param_00,param_01,param_02) -{ - self endon("death"); - param_02 endon("death"); - var_03 = 5; - var_04 = 4000; - for(;;) - { - if(!isdefined(param_02)) - { - break; - } - - var_05 = param_02 getpointinbounds(0,0,0); - var_06 = distance(self.origin,var_05); - if(isdefined(param_02.player)) - { - param_02.player thread doproximityalarm(self,param_02); - } - - if(var_06 < var_04) - { - if(param_02.numflares > 0 || isdefined(param_02.flarestarget)) - { - if(isdefined(param_02.owner) && iswarbird(param_02)) - { - if(param_02.numflares == 2) - { - param_02.owner setclientomnvar("ui_warbird_flares",1); - } - else if(param_02.numflares == 1) - { - param_02.owner setclientomnvar("ui_warbird_flares",2); - } - - param_02.owner playlocalsound("paladin_deploy_flares"); - } - - var_07 = param_02 deployflares(var_03); - playfxontag(common_scripts\utility::getfx("flare"),var_07,"tag_origin"); - if(!isdefined(param_02.flarestarget)) - { - param_02.numflares--; - level thread handleflarestimer(param_02,var_07,var_03); - } - - self missile_settargetent(var_07); - return; - } - } - - wait(0.05); - } -} - -//Function Number: 26 -deployflares(param_00) -{ - var_01 = self gettagorigin("tag_origin") + (0,0,-50); - var_02 = spawn("script_model",var_01); - var_02 setmodel("tag_origin"); - var_02.angles = self.angles; - if(!isdefined(self.flaresdeployedyaw)) - { - self.flaresdeployedyaw = randomfloatrange(-180,180); - } - else - { - self.flaresdeployedyaw = self.flaresdeployedyaw + 90; - } - - var_03 = anglestoforward((self.angles[0],self.flaresdeployedyaw,self.angles[2])); - var_03 = vehiclemodifyflarevector(var_03); - var_02 movegravity(var_03,param_00); - var_02 thread deleteaftertime(param_00); - return var_02; -} - -//Function Number: 27 -vehiclemodifyflarevector(param_00) -{ - if(self.vehicletype == "warbird") - { - return vectornormalize(param_00 + (0,0,-0.2)) * 300; - } - - if(self.vehicletype == "paladin") - { - return vectornormalize(param_00 + (0,0,-0.5)) * 2000; - } - - return vectornormalize(param_00 + (0,0,-0.4)) * 1000; -} - -//Function Number: 28 -handleflarestimer(param_00,param_01,param_02) -{ - param_00 endon("death"); - param_00.flarestarget = param_01; - wait(param_02); - param_00.flarestarget = undefined; - if(isdefined(param_00.owner) && iswarbird(param_00)) - { - param_00.owner setclientomnvar("ui_warbird_flares",0); - } -} - -//Function Number: 29 -hastag(param_00,param_01) -{ - var_02 = getnumparts(param_00); - for(var_03 = 0;var_03 < var_02;var_03++) - { - if(tolower(getpartname(param_00,var_03)) == tolower(param_01)) - { - return 1; - } - } - - return 0; -} - -//Function Number: 30 -iswarbird(param_00) -{ - return isdefined(param_00.heli_type) && param_00.heli_type == "warbird"; -} - -//Function Number: 31 -doproximityalarm(param_00,param_01) -{ - self endon("disconnect"); - if(shouldstopproximityalarm(param_00,param_01) || isdefined(param_01.incomingmissilesound)) - { - return; - } - - if(iswarbird(param_01)) - { - self setclientomnvar("ui_warbird_flares",3); - } - - self playlocalsound("mp_aerial_enemy_locked"); - param_01.incomingmissilesound = 1; - for(;;) - { - if(shouldstopproximityalarm(param_00,param_01)) - { - self stoplocalsound("mp_aerial_enemy_locked"); - param_01.incomingmissilesound = undefined; - return; - } - - wait 0.05; - } -} - -//Function Number: 32 -playerfakeshootpaintmissile(param_00) -{ - var_01 = vectornormalize(anglestoforward(self getplayerangles())); - var_02 = vectornormalize(anglestoright(self getplayerangles())); - var_03 = self geteye() + var_01 * 100; - var_04 = var_03 + var_01 * 20000; - var_05 = bullettrace(var_03,var_04,0); - if(var_05["fraction"] == 1) - { - return; - } - - earthquake(0.1,1,self geteye(),500,self); - var_03 = self geteye() + var_02 * -1 * 50; - var_04 = var_05["position"]; - var_06 = magicbullet("paint_missile_killstreak_mp",var_03,var_04,self); - var_06.owner = self; - var_06 thread watchpaintgrenade(); - thread playerfiresounds(param_00,"paladin_threat_bomb_shot_2d","paladin_threat_bomb_shot_3d"); -} - -//Function Number: 33 -playerfakeshootpaintgrenadeattarget(param_00,param_01,param_02,param_03,param_04) -{ - var_05 = 5000; - earthquake(0.2,1,self getvieworigin(),300); - var_06 = vectornormalize(param_02 - param_01); - var_07 = var_06 * var_05; - var_08 = magicgrenademanual("paint_grenade_killstreak_mp",param_01,var_07,2,self); - var_08.owner = self; - var_08 thread watchpaintgrenade(param_03,param_04); - thread playerfiresounds(param_00,"recon_drn_launcher_shot_plr","recon_drn_launcher_shot_npc"); - self playrumbleonentity("damage_heavy"); -} - -//Function Number: 34 -playerfakeshootempgrenadeattarget(param_00,param_01,param_02) -{ - var_03 = 5000; - earthquake(0.2,1,self getvieworigin(),300); - var_04 = vectornormalize(param_02 - param_01); - var_05 = var_04 * var_03; - var_06 = magicgrenademanual("emp_grenade_killstreak_mp",param_01,var_05,2,self); - var_06.owner = self; - thread playerfiresounds(param_00,"recon_drn_launcher_shot_plr","recon_drn_launcher_shot_npc"); - self playrumbleonentity("damage_heavy"); -} - -//Function Number: 35 -playerfiresounds(param_00,param_01,param_02) -{ - if(isdefined(param_02)) - { - param_00 playsoundonmovingent(param_02); - } - - if(isdefined(param_01)) - { - self playlocalsound(param_01); - } -} - -//Function Number: 36 -watchpaintgrenade(param_00,param_01) -{ - if(!isdefined(param_00)) - { - param_00 = 0; - } - - var_02 = self.owner; - var_02 endon("disconnect"); - var_02 endon("death"); - self waittill("explode",var_03); - if(var_02 maps\mp\_utility::isemped() && isdefined(level.empequipmentdisabled) && level.empequipmentdisabled) - { - return; - } - - detectiongrenadethink(var_03,var_02,param_00,param_01); -} - -//Function Number: 37 -detectiongrenadethink(param_00,param_01,param_02,param_03) -{ - if(!isdefined(param_02)) - { - param_02 = 0; - } - - foreach(var_05 in level.players) - { - if(!isdefined(var_05) || !maps\mp\_utility::isreallyalive(var_05) || !isalliedsentient(param_01,var_05)) - { - continue; - } - - thread maps\mp\_threatdetection::detection_grenade_hud_effect(var_05,param_00,1,400); - thread maps\mp\_threatdetection::detection_highlight_hud_effect(var_05,5); - } - - var_07 = getplayersonteam(param_01.team); - foreach(var_05 in level.participants) - { - if(!isdefined(var_05) || !maps\mp\_utility::isreallyalive(var_05) || isalliedsentient(param_01,var_05) || var_05 maps\mp\_utility::_hasperk("specialty_coldblooded")) - { - continue; - } - - if(distance(var_05.origin,param_00) < 400) - { - var_05 maps\mp\_threatdetection::addthreatevent(var_07,5,"PAINT_GRENADE",1,0); - param_01 maps\mp\gametypes\_damagefeedback::updatedamagefeedback("paint"); - var_05 thread detectiongrenadewatch(param_01,5); - var_05 notify("paint_marked_target",param_01); - if(param_02) - { - maps\mp\gametypes\_weapons::flashbangplayer(var_05,param_00,param_01); - } - - if(isdefined(param_03) && param_03.vehname == "recon_uav") - { - param_01 maps\mp\gametypes\_missions::processchallenge("ch_streak_recon"); - } - } - } -} - -//Function Number: 38 -detectiongrenadewatch(param_00,param_01) -{ - level endon("game_ended"); - self notify("detectionGrenadeWatch"); - self endon("detectionGrenadeWatch"); - if(!isdefined(self.tagmarkedby) || self.tagmarkedby != param_00) - { - if(!isdefined(level.ishorde)) - { - param_00 thread maps\mp\_events::killstreaktagevent(); - } - - param_00 playrumbleonentity("damage_heavy"); - } - - if(!isagent(self)) - { - self designatefoftarget(1); - } - - self.tagmarkedby = param_00; - common_scripts\utility::waittill_any_timeout(param_01,"death","disconnect"); - if(isdefined(self)) - { - if(!isagent(self)) - { - self designatefoftarget(0); - } - - self.tagmarkedby = undefined; - } -} - -//Function Number: 39 -getplayersonteam(param_00) -{ - var_01 = []; - foreach(var_03 in level.players) - { - if(var_03.hasspawned && isalive(var_03) && param_00 == var_03.team && !isplayer(self) || var_03 != self) - { - var_01[var_01.size] = var_03; - } - } - - return var_01; -} - -//Function Number: 40 -shouldstopproximityalarm(param_00,param_01) -{ - return !isdefined(param_01) || !isdefined(param_01.player) || !isdefined(param_00) || isdefined(param_01.flarestarget) || !maps\mp\_utility::isreallyalive(self) || isdefined(param_01.crashed) || isdefined(param_01.iscrashing); -} - -//Function Number: 41 -heli_staticdamage(param_00,param_01,param_02) -{ - if(param_02 > 0 && isdefined(self.owner)) - { - self.owner thread playershowstreakstaticfordamage(); - } - - if(param_02 > 0 && isdefined(self.warbirdbuddyturret) && isdefined(self.warbirdbuddyturret.owner)) - { - self.warbirdbuddyturret.owner thread playershowstreakstaticfordamage(); - } -} - -//Function Number: 42 -heli_monitoremp() -{ - level endon("game_ended"); - self endon("death"); - self endon("crashing"); - self endon("leaving"); - for(;;) - { - self waittill("emp_damage"); - thread heli_empgrenaded(); - } -} - -//Function Number: 43 -heli_empgrenaded() -{ - self notify("heli_EMPGrenaded"); - self endon("heli_EMPGrenaded"); - self endon("death"); - self endon("leaving"); - self endon("crashing"); - self.owner endon("disconnect"); - level endon("game_ended"); - self.empgrenaded = 1; - if(isdefined(self.mgturretleft)) - { - self.mgturretleft notify("stop_shooting"); - } - - if(isdefined(self.mgturretright)) - { - self.mgturretright notify("stop_shooting"); - } - - wait(3.5); - self.empgrenaded = 0; - if(isdefined(self.mgturretleft)) - { - self.mgturretleft notify("turretstatechange"); - } - - if(isdefined(self.mgturretright)) - { - self.mgturretright notify("turretstatechange"); - } -} - -//Function Number: 44 -heli_existance() -{ - var_00 = self getentitynumber(); - common_scripts\utility::waittill_any("death","crashing","leaving"); - removefromhelilist(var_00); - self notify("helicopter_done"); -} - -//Function Number: 45 -heli_crash() -{ - self notify("crashing"); - self playsoundonmovingent("orbital_pkg_self_destruct"); - self clearlookatent(); - self.iscrashing = 1; - var_00 = heli_pick_fly_node(level.heli_crash_nodes); - if(isdefined(self.mgturretleft)) - { - self.mgturretleft notify("stop_shooting"); - } - - if(isdefined(self.mgturretright)) - { - self.mgturretright notify("stop_shooting"); - } - - thread heli_spin(180); - thread heli_secondary_explosions(); - self vehicle_setspeed(100,45); - if(isdefined(var_00.target)) - { - heli_fly_simple_path(var_00); - } - else - { - _setvehgoalpos(var_00.origin,0); - self waittillmatch("goal"); - } - - thread heli_explode(); -} - -//Function Number: 46 -heli_secondary_explosions() -{ - var_00 = self.team; - playfxontag(level.chopper_fx["explode"]["large"],self,"tag_engine_left"); - if(isdefined(level.heli_sound[var_00]["hitsecondary"])) - { - self playsound(level.heli_sound[var_00]["hitsecondary"]); - } - - wait(3); - if(!isdefined(self)) - { - return; - } - - playfxontag(level.chopper_fx["explode"]["large"],self,"tag_engine_left"); - if(isdefined(level.heli_sound[var_00]["hitsecondary"])) - { - self playsound(level.heli_sound[var_00]["hitsecondary"]); - } -} - -//Function Number: 47 -heli_spin(param_00) -{ - self endon("death"); - var_01 = self.team; - self playsound(level.heli_sound[var_01]["hit"]); - thread spinsoundshortly(); - self setyawspeed(param_00,param_00,param_00); - while(isdefined(self)) - { - self settargetyaw(self.angles[1] + param_00 * 0.9); - wait(1); - } -} - -//Function Number: 48 -spinsoundshortly() -{ - self endon("death"); - wait(0.25); - var_00 = self.team; - self stoploopsound(); - wait(0.05); - self playloopsound(level.heli_sound[var_00]["spinloop"]); - wait(0.05); - if(isdefined(level.heli_sound[var_00]["spinstart"])) - { - self playloopsound(level.heli_sound[var_00]["spinstart"]); - } -} - -//Function Number: 49 -heli_explode(param_00) -{ - self notify("death"); - if(isdefined(param_00) && isdefined(level.chopper_fx["explode"]["air_death"][self.heli_type])) - { - var_01 = self gettagangles("tag_deathfx"); - playfx(level.chopper_fx["explode"]["air_death"][self.heli_type],self gettagorigin("tag_deathfx"),anglestoforward(var_01),anglestoup(var_01)); - } - else - { - var_02 = self.origin; - var_03 = self.origin + (0,0,1) - self.origin; - playfx(level.chopper_fx["explode"]["death"][self.heli_type],var_02,var_03); - } - - var_04 = self.team; - self playsound(level.heli_sound[var_04]["crash"]); - wait(0.05); - if(isdefined(self.killcament)) - { - self.killcament delete(); - } - - maps\mp\_utility::decrementfauxvehiclecount(); - self delete(); -} - -//Function Number: 50 -heli_fly_simple_path(param_00) -{ - self endon("death"); - self endon("leaving"); - self notify("flying"); - self endon("flying"); - heli_reset(); - for(var_01 = param_00;isdefined(var_01.target);var_01 = var_02) - { - var_02 = getentorstruct(var_01.target,"targetname"); - if(isdefined(var_01.script_airspeed) && isdefined(var_01.script_accel)) - { - var_03 = var_01.script_airspeed; - var_04 = var_01.script_accel; - } - else - { - var_03 = 30 + randomint(20); - var_04 = 15 + randomint(15); - } - - if(isdefined(self.isattacking) && self.isattacking) - { - wait(0.05); - continue; - } - - if(isdefined(self.isperformingmaneuver) && self.isperformingmaneuver) - { - wait(0.05); - continue; - } - - self vehicle_setspeed(var_03,var_04); - if(!isdefined(var_02.target)) - { - _setvehgoalpos(var_02.origin + self.zoffset,0); - self waittill("near_goal"); - continue; - } - - _setvehgoalpos(var_02.origin + self.zoffset,0); - self waittill("near_goal"); - self setgoalyaw(var_02.angles[1]); - self waittillmatch("goal"); - } -} - -//Function Number: 51 -handle_player_starting_aerial_view() -{ - self notify("player_start_aerial_view"); -} - -//Function Number: 52 -handle_player_ending_aerial_view() -{ - self notify("player_stop_aerial_view"); -} - -//Function Number: 53 -gethelianchor() -{ - if(isdefined(level.helianchor)) - { - return level.helianchor; - } - - var_00 = getentorstruct("warbird_anchor","targetname"); - if(!isdefined(var_00)) - { - var_00 = spawnstruct(); - var_00.origin = (0,0,2032); - var_00.targetname = "warbird_anchor"; - } - - if(!isdefined(var_00.script_noteworthy)) - { - var_00.script_noteworthy = 3500; - } - - level.helianchor = var_00; - return level.helianchor; -} - -//Function Number: 54 -playerhandleboundarystatic(param_00,param_01,param_02) -{ - if(isdefined(param_01)) - { - self endon(param_01); - } - - if(isdefined(param_02)) - { - self endon(param_02); - } - - var_03 = getentarray("remote_heli_range","targetname"); - if(!isdefined(param_00.vehicletype) || var_03.size == 0) - { - playerhandleboundarystaticradius(param_00,param_01,param_02); - return; - } - - for(;;) - { - var_04 = 0; - if(isdefined(level.isoutofboundscustomfunc)) - { - var_04 = [[ level.isoutofboundscustomfunc ]](param_00,self,var_03); - } - else - { - var_04 = param_00 vehicletouchinganytrigger(var_03); - } - - if(var_04) - { - thread playerstartoutofboundsstatic(param_00,param_01,param_02); - for(;;) - { - wait 0.05; - if(!isdefined(param_00.alwaysstaticout) || !param_00.alwaysstaticout) - { - var_04 = 0; - if(isdefined(level.isoutofboundscustomfunc)) - { - var_04 = [[ level.isoutofboundscustomfunc ]](param_00,self,var_03); - } - else - { - var_04 = param_00 vehicletouchinganytrigger(var_03); - } - - if(!var_04) - { - param_00 notify("staticDone"); - thread playerstatictonormal(param_00,param_01,param_02); - break; - } - } - } - } - - wait 0.05; - } -} - -//Function Number: 55 -vehicletouchinganytrigger(param_00) -{ - foreach(var_02 in param_00) - { - if(self istouching(var_02)) - { - return 1; - } - } - - return 0; -} - -//Function Number: 56 -playerstatictonormal(param_00,param_01,param_02) -{ - if(isdefined(param_01)) - { - self endon(param_01); - } - - if(isdefined(param_02)) - { - self endon(param_02); - } - - param_00 endon("staticStarting"); - param_00.staticlevel--; - while(param_00.staticlevel > 0) - { - playershowstreakstaticforrange(param_00.staticlevel); - if(isdefined(param_00.buddy)) - { - param_00.buddy playershowstreakstaticforrange(param_00.staticlevel); - } - - wait(0.5); - param_00.staticlevel--; - } - - playershowstreakstaticforrange(0); - if(isdefined(param_00.buddy)) - { - param_00.buddy playershowstreakstaticforrange(0); - } -} - -//Function Number: 57 -playerstartoutofboundsstatic(param_00,param_01,param_02) -{ - if(isdefined(param_01)) - { - self endon(param_01); - } - - if(isdefined(param_02)) - { - self endon(param_02); - } - - param_00 notify("staticStarting"); - param_00 endon("staticDone"); - if(!isdefined(param_00.staticlevel) || param_00.staticlevel == 0) - { - param_00.staticlevel = 1; - } - - while(param_00.staticlevel < 4) - { - playershowstreakstaticforrange(param_00.staticlevel); - if(isdefined(param_00.buddy)) - { - param_00.buddy playershowstreakstaticforrange(param_00.staticlevel); - } - - if(isdefined(param_00.playerattachpoint)) - { - param_00.playerattachpoint playsound("mp_warbird_outofbounds_warning"); - } - - if(isdefined(param_00.staticlevelwaittime)) - { - wait(param_00.staticlevelwaittime); - continue; - } - - wait(2); - param_00.staticlevel++; - } - - param_00 notify("outOfBounds"); -} - -//Function Number: 58 -playerhandleboundarystaticradius(param_00,param_01,param_02) -{ - if(isdefined(param_01)) - { - self endon(param_01); - } - - if(isdefined(param_02)) - { - self endon(param_02); - } - - var_03 = gethelianchor(); - var_04 = int(var_03.script_noteworthy); - for(;;) - { - var_05 = distance(var_03.origin,param_00.origin); - if(var_05 < var_04) - { - playershowstreakstaticforrange(0); - } - else if(var_05 > var_04 && var_05 < var_04 + 500) - { - playershowstreakstaticforrange(1); - if(isdefined(param_00.playerattachpoint)) - { - param_00.playerattachpoint playsound("mp_warbird_outofbounds_warning"); - } - } - else if(var_05 > var_04 + 500 && var_05 < var_04 + 1000) - { - playershowstreakstaticforrange(2); - if(isdefined(param_00.playerattachpoint)) - { - param_00.playerattachpoint playsound("mp_warbird_outofbounds_warning"); - } - } - else if(var_05 > var_04 + 1000 && var_05 < var_04 + 1500) - { - playershowstreakstaticforrange(3); - if(isdefined(param_00.playerattachpoint)) - { - param_00.playerattachpoint playsound("mp_warbird_outofbounds_warning"); - } - } - else - { - playershowstreakstaticforrange(4); - param_00 notify("outOfBounds"); - } - - wait(0.5); - } -} - -//Function Number: 59 -playerenablestreakstatic() -{ - self notify("playerUpdateStreakStatic"); - self setclientomnvar("ui_streak_overlay_state",1); -} - -//Function Number: 60 -playerdisablestreakstatic() -{ - self notify("playerUpdateStreakStatic"); - self setclientomnvar("ui_streak_overlay_state",0); -} - -//Function Number: 61 -playershowfullstatic() -{ - self notify("playerUpdateStreakStatic"); - self setclientomnvar("ui_streak_overlay_state",7); -} - -//Function Number: 62 -playershowstreakstaticfordamage() -{ - self endon("disconnect"); - if(self getclientomnvar("ui_streak_overlay_state") != 1) - { - return; - } - - self notify("playerUpdateStreakStatic"); - self endon("playerUpdateStreakStatic"); - self setclientomnvar("ui_streak_overlay_state",2); - wait(1); - self setclientomnvar("ui_streak_overlay_state",1); -} - -//Function Number: 63 -playershowstreakstaticforrange(param_00) -{ - var_01 = 1; - switch(param_00) - { - case 0: - break; - - case 1: - break; - - case 2: - break; - - case 3: - break; - - case 4: - break; - - default: - break; - } -} - -//Function Number: 64 -getentorstruct(param_00,param_01) -{ - var_02 = getent(param_00,param_01); - if(isdefined(var_02)) - { - return var_02; - } - - return common_scripts\utility::getstruct(param_00,param_01); -} - -//Function Number: 65 -getentorstructarray(param_00,param_01) -{ - var_02 = common_scripts\utility::getstructarray(param_00,param_01); - var_03 = getentarray(param_00,param_01); - if(var_03.size > 0) - { - var_02 = common_scripts\utility::array_combine(var_02,var_03); - } - - return var_02; -} - -//Function Number: 66 -playerhandlekillvehicle(param_00,param_01,param_02) -{ - if(isdefined(param_01)) - { - self endon(param_01); - } - - if(isdefined(param_02)) - { - self endon(param_02); - } - - if(!isdefined(level.vehicle_kill_triggers)) - { - return; - } - - for(;;) - { - var_03 = param_00 vehicletouchinganytrigger(level.vehicle_kill_triggers); - if(var_03) - { - param_00 notify("death"); - } - - wait 0.05; - } -} - -//Function Number: 67 -setup_kill_drone_trig(param_00,param_01) -{ - if(isdefined(param_00) && isdefined(param_01)) - { - var_02 = getentarray(param_00,param_01); - common_scripts\utility::array_thread(var_02,::setup_kill_drone_trig_proc); - return; - } - - if(isvehiclekilltrigger()) - { - setup_kill_drone_trig_proc(); - } -} - -//Function Number: 68 -setup_kill_drone_trig_proc() -{ - if(isvehiclekilltrigger()) - { - if(!isdefined(level.vehicle_kill_triggers)) - { - level.vehicle_kill_triggers = []; - } - - level.vehicle_kill_triggers[level.vehicle_kill_triggers.size] = self; - } -} - -//Function Number: 69 -isvehiclekilltrigger() -{ - if(isdefined(self.classname) && issubstr(self.classname,"trigger_multiple") && isdefined(self.spawnflags) && self.spawnflags & 16) - { - return 1; - } - - return 0; -} - -//Function Number: 70 -vehicleiscloaked() -{ - return isdefined(self.cloakstate) && self.cloakstate < 1; -} - -//Function Number: 71 -thermalvision(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - self endon(param_00); - var_07 = 0; - disableorbitalthermal(self); - self visionsetthermalforplayer("default",0.25); - self setclientomnvar("ui_killstreak_optic",0); - if(isbot(self)) - { - return; - } - - self notifyonplayercommand("switch thermal","+actionslot 1"); - thread playercleanupthermalvisioncommands(param_00); - for(;;) - { - self waittill("switch thermal"); - if(!var_07) - { - enableorbitalthermal(self,param_00,param_01,param_02,param_03,param_04,param_05,param_06); - self setclientomnvar("ui_killstreak_optic",1); - self playlocalsound("paladin_toggle_flir_plr"); - } - else - { - disableorbitalthermal(self); - self setclientomnvar("ui_killstreak_optic",0); - self playlocalsound("paladin_toggle_flir_plr"); - } - - var_07 = !var_07; - } -} - -//Function Number: 72 -playercleanupthermalvisioncommands(param_00) -{ - self endon("disconnect"); - self waittill(param_00); - self notifyonplayercommandremove("switch thermal","+actionslot 1"); -} - -//Function Number: 73 -disableorbitalthermal(param_00) -{ - param_00 thermalvisionoff(); - param_00 notify("thermal_vision_off"); - param_00 disablephysicaldepthoffieldscripting(); - param_00.orbitalthermalmode = 0; -} - -//Function Number: 74 -enableorbitalthermal(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - param_00 endon("disconnect"); - param_00 endon("death"); - param_00 endon("faux_spawn"); - param_00 endon(param_01); - if(!isdefined(param_00.opticsthermalenabled)) - { - param_00.opticsthermalenabled = 0; - } - - if(!isdefined(param_00.orbitalthermalmode)) - { - param_00.orbitalthermalmode = 0; - } - - param_00.orbitalthermalmode = 1; - while(param_00.opticsthermalenabled) - { - wait(0.05); - } - - param_00 thermalvisionon(); - param_00 enablephysicaldepthoffieldscripting(3); - param_00 thread setthermaldof(param_01,param_02,param_03,param_04,param_05,param_06,param_07); -} - -//Function Number: 75 -setthermaldof(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - self endon(param_00); - self endon("disconnect"); - self endon("thermal_vision_off"); - for(;;) - { - var_07 = self playerads(); - var_08 = float_lerp(param_03,param_01,var_07); - var_09 = float_lerp(param_04,param_02,var_07); - self setphysicaldepthoffield(var_08,var_09,param_05,param_06); - wait(0.1); - } -} - -//Function Number: 76 -float_lerp(param_00,param_01,param_02) -{ - return param_00 + param_02 * param_01 - param_00; -} - -//Function Number: 77 -patchheliloopnode(param_00,param_01) -{ - var_02 = []; - var_03 = getentorstruct("heli_loop_start","targetname"); - for(;;) - { - if(common_scripts\utility::array_contains(var_02,var_03)) - { - break; - } - - if(var_03.origin == param_00) - { - var_03.origin = param_01; - return; - } - - var_02[var_02.size] = var_03; - var_03 = getentorstruct(var_03.target,"targetname"); - } -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/killstreaks/_autosentry.gsc b/AW/PC/MP/maps/mp/killstreaks/_autosentry.gsc deleted file mode 100644 index b99b830..0000000 --- a/AW/PC/MP/maps/mp/killstreaks/_autosentry.gsc +++ /dev/null @@ -1,1461 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_autosentry.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 56 - * Decompile Time: 873 ms - * Timestamp: 10/27/2023 1:51:33 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - if(!isdefined(level.sentrytype)) - { - level.sentrytype = []; - } - - level.sentrytype["sentry_minigun"] = "sentry"; - level.sentrytype["sam_turret"] = "sam_turret"; - level.killstreakfuncs[level.sentrytype["sentry_minigun"]] = ::tryuseautosentry; - level.killstreakfuncs[level.sentrytype["sam_turret"]] = ::tryusesam; - if(!isdefined(level.sentrysettings)) - { - level.sentrysettings = []; - } - - level.sentrysettings["sentry_minigun"] = spawnstruct(); - level.sentrysettings["sentry_minigun"].health = 999999; - level.sentrysettings["sentry_minigun"].maxhealth = 1000; - level.sentrysettings["sentry_minigun"].burstmin = 20; - level.sentrysettings["sentry_minigun"].burstmax = 120; - level.sentrysettings["sentry_minigun"].pausemin = 0.15; - level.sentrysettings["sentry_minigun"].pausemax = 0.35; - level.sentrysettings["sentry_minigun"].sentrymodeon = "sentry"; - level.sentrysettings["sentry_minigun"].sentrymodeoff = "sentry_offline"; - level.sentrysettings["sentry_minigun"].timeout = 90; - level.sentrysettings["sentry_minigun"].spinuptime = 0.05; - level.sentrysettings["sentry_minigun"].overheattime = 8; - level.sentrysettings["sentry_minigun"].cooldowntime = 0.1; - level.sentrysettings["sentry_minigun"].fxtime = 0.3; - level.sentrysettings["sentry_minigun"].streakname = "sentry"; - level.sentrysettings["sentry_minigun"].weaponinfo = "sentry_minigun_mp"; - level.sentrysettings["sentry_minigun"].modelbase = "sentry_minigun_weak"; - level.sentrysettings["sentry_minigun"].modelplacement = "sentry_minigun_weak_obj"; - level.sentrysettings["sentry_minigun"].modelplacementfailed = "sentry_minigun_weak_obj_red"; - level.sentrysettings["sentry_minigun"].modeldestroyed = "sentry_minigun_weak_destroyed"; - level.sentrysettings["sentry_minigun"].hintstring = &"SENTRY_PICKUP"; - level.sentrysettings["sentry_minigun"].headicon = 1; - level.sentrysettings["sentry_minigun"].teamsplash = "used_sentry"; - level.sentrysettings["sentry_minigun"].shouldsplash = 0; - level.sentrysettings["sentry_minigun"].vodestroyed = "sentry_destroyed"; - level.sentrysettings["sam_turret"] = spawnstruct(); - level.sentrysettings["sam_turret"].health = 999999; - level.sentrysettings["sam_turret"].maxhealth = 1000; - level.sentrysettings["sam_turret"].burstmin = 20; - level.sentrysettings["sam_turret"].burstmax = 120; - level.sentrysettings["sam_turret"].pausemin = 0.15; - level.sentrysettings["sam_turret"].pausemax = 0.35; - level.sentrysettings["sam_turret"].sentrymodeon = "sentry_manual"; - level.sentrysettings["sam_turret"].sentrymodeoff = "sentry_offline"; - level.sentrysettings["sam_turret"].timeout = 90; - level.sentrysettings["sam_turret"].spinuptime = 0.05; - level.sentrysettings["sam_turret"].overheattime = 8; - level.sentrysettings["sam_turret"].cooldowntime = 0.1; - level.sentrysettings["sam_turret"].fxtime = 0.3; - level.sentrysettings["sam_turret"].streakname = "sam_turret"; - level.sentrysettings["sam_turret"].weaponinfo = "sam_mp"; - level.sentrysettings["sam_turret"].modelbase = "mp_sam_turret"; - level.sentrysettings["sam_turret"].modelplacement = "mp_sam_turret_placement"; - level.sentrysettings["sam_turret"].modelplacementfailed = "mp_sam_turret_placement_failed"; - level.sentrysettings["sam_turret"].modeldestroyed = "mp_sam_turret"; - level.sentrysettings["sam_turret"].hintstring = &"SENTRY_PICKUP"; - level.sentrysettings["sam_turret"].headicon = 1; - level.sentrysettings["sam_turret"].teamsplash = "used_sam_turret"; - level.sentrysettings["sam_turret"].shouldsplash = 0; - level.sentrysettings["sam_turret"].vodestroyed = "sam_destroyed"; - level._effect["sentry_overheat_mp"] = loadfx("vfx/distortion/sentrygun_overheat"); - level._effect["sentry_explode_mp"] = loadfx("vfx/explosion/vehicle_pdrone_explosion"); - level._effect["sentry_smoke_mp"] = loadfx("vfx/smoke/vehicle_sentrygun_damaged_smoke"); - level._effect["sentry_stunned"] = loadfx("vfx/sparks/direct_hack_stun"); -} - -//Function Number: 2 -tryuseautosentry(param_00,param_01) -{ - var_02 = givesentry("sentry_minigun"); - if(var_02) - { - maps\mp\_matchdata::logkillstreakevent(level.sentrysettings["sentry_minigun"].streakname,self.origin); - } - - return var_02; -} - -//Function Number: 3 -tryusesam(param_00,param_01) -{ - var_02 = givesentry("sam_turret"); - if(var_02) - { - maps\mp\_matchdata::logkillstreakevent(level.sentrysettings["sam_turret"].streakname,self.origin); - } - - return var_02; -} - -//Function Number: 4 -givesentry(param_00) -{ - if(!maps\mp\_utility::validateusestreak()) - { - return 0; - } - - self.last_sentry = param_00; - var_01 = createsentryforplayer(param_00,self); - removeperks(); - var_02 = setcarryingsentry(var_01,1); - thread waitrestoreperks(); - self.iscarrying = 0; - if(isdefined(var_01)) - { - return 1; - } - - return 0; -} - -//Function Number: 5 -setcarryingsentry(param_00,param_01) -{ - self endon("death"); - self endon("disconnect"); - param_00 sentry_setcarried(self); - common_scripts\utility::_disableweapon(); - if(!isai(self)) - { - self notifyonplayercommand("place_sentry","+attack"); - self notifyonplayercommand("place_sentry","+attack_akimbo_accessible"); - self notifyonplayercommand("cancel_sentry","+actionslot 4"); - if(!level.console) - { - self notifyonplayercommand("cancel_sentry","+actionslot 5"); - self notifyonplayercommand("cancel_sentry","+actionslot 6"); - self notifyonplayercommand("cancel_sentry","+actionslot 7"); - self notifyonplayercommand("cancel_sentry","+actionslot 8"); - } - } - - for(;;) - { - var_02 = common_scripts\utility::waittill_any_return("place_sentry","cancel_sentry","force_cancel_placement"); - if(var_02 == "cancel_sentry" || var_02 == "force_cancel_placement") - { - if(!param_01 && var_02 == "cancel_sentry") - { - continue; - } - - if(level.console) - { - var_03 = maps\mp\_utility::getkillstreakweapon(level.sentrysettings[param_00.sentrytype].streakname); - if(isdefined(self.killstreakindexweapon) && var_03 == maps\mp\_utility::getkillstreakweapon(self.pers["killstreaks"][self.killstreakindexweapon].streakname) && !self getweaponslistitems().size) - { - maps\mp\_utility::_giveweapon(var_03,0); - maps\mp\_utility::_setactionslot(4,"weapon",var_03); - } - } - - param_00 sentry_setcancelled(); - common_scripts\utility::_enableweapon(); - return 0; - } - - if(!param_00.canbeplaced) - { - continue; - } - - param_00 sentry_setplaced(); - common_scripts\utility::_enableweapon(); - return 1; - } -} - -//Function Number: 6 -removeweapons() -{ - if(self hasweapon("riotshield_mp")) - { - self.restoreweapon = "riotshield_mp"; - self takeweapon("riotshield_mp"); - } -} - -//Function Number: 7 -removeperks() -{ - if(maps\mp\_utility::_hasperk("specialty_explosivebullets")) - { - self.restoreperk = "specialty_explosivebullets"; - maps\mp\_utility::_unsetperk("specialty_explosivebullets"); - } -} - -//Function Number: 8 -restoreweapons() -{ - if(isdefined(self.restoreweapon)) - { - maps\mp\_utility::_giveweapon(self.restoreweapon); - self.restoreweapon = undefined; - } -} - -//Function Number: 9 -restoreperks() -{ - if(isdefined(self.restoreperk)) - { - maps\mp\_utility::giveperk(self.restoreperk,0); - self.restoreperk = undefined; - } -} - -//Function Number: 10 -waitrestoreperks() -{ - self endon("death"); - self endon("disconnect"); - level endon("game_ended"); - wait(0.05); - restoreperks(); -} - -//Function Number: 11 -createsentryforplayer(param_00,param_01) -{ - var_02 = spawnturret("misc_turret",param_01.origin,level.sentrysettings[param_00].weaponinfo); - var_02.angles = param_01.angles; - var_02 sentry_initsentry(param_00,param_01); - return var_02; -} - -//Function Number: 12 -sentry_initsentry(param_00,param_01) -{ - self.sentrytype = param_00; - self.canbeplaced = 1; - self setmodel(level.sentrysettings[self.sentrytype].modelbase); - self.shouldsplash = 1; - self setcandamage(1); - switch(param_00) - { - case "sam_turret": - break; - - default: - break; - } -} - -//Function Number: 13 -sentry_watchdisabled() -{ - self endon("carried"); - self endon("death"); - level endon("game_ended"); - for(;;) - { - self waittill("emp_damage",var_00,var_01); - playfxontag(common_scripts\utility::getfx("sentry_stunned"),self,"tag_aim"); - self setdefaultdroppitch(40); - self setmode(level.sentrysettings[self.sentrytype].sentrymodeoff); - wait(var_01); - stopfxontag(common_scripts\utility::getfx("sentry_stunned"),self,"tag_aim"); - self setdefaultdroppitch(-89); - self setmode(level.sentrysettings[self.sentrytype].sentrymodeon); - } -} - -//Function Number: 14 -sentry_directhacked() -{ - self endon("death"); - level endon("game_ended"); - self.directhackduration = 0.25; - if(isdefined(self.directhackendtime) && gettime() < self.directhackendtime) - { - self.directhackendtime = gettime() + self.directhackduration * 1000; - return; - } - - playfxontag(common_scripts\utility::getfx("sentry_stunned"),self,"tag_aim"); - self.directhackendtime = gettime() + self.directhackduration * 1000; - self setdefaultdroppitch(40); - self setmode(level.sentrysettings[self.sentrytype].sentrymodeoff); - for(;;) - { - if(gettime() > self.directhackendtime) - { - break; - } - - wait(0.05); - } - - self setdefaultdroppitch(-89); - self setmode(level.sentrysettings[self.sentrytype].sentrymodeon); - stopfxontag(common_scripts\utility::getfx("sentry_stunned"),self,"tag_aim"); -} - -//Function Number: 15 -sentry_handledeath() -{ - self waittill("death"); - if(!isdefined(self)) - { - return; - } - - self setmodel(level.sentrysettings[self.sentrytype].modeldestroyed); - sentry_setinactive(); - self setdefaultdroppitch(40); - self setsentryowner(undefined); - self setturretminimapvisible(0); - if(isdefined(self.ownertrigger)) - { - self.ownertrigger delete(); - } - - self playsound("sentry_explode"); - if(isdefined(self.inuseby)) - { - playfxontag(common_scripts\utility::getfx("sentry_explode_mp"),self,"tag_origin"); - playfxontag(common_scripts\utility::getfx("sentry_smoke_mp"),self,"tag_aim"); - self.inuseby.turret_overheat_bar maps\mp\gametypes\_hud_util::destroyelem(); - self.inuseby restoreperks(); - self.inuseby restoreweapons(); - self notify("deleting"); - wait(1); - stopfxontag(common_scripts\utility::getfx("sentry_explode_mp"),self,"tag_origin"); - stopfxontag(common_scripts\utility::getfx("sentry_smoke_mp"),self,"tag_aim"); - } - else - { - playfxontag(common_scripts\utility::getfx("sentry_explode_mp"),self,"tag_aim"); - wait(1.5); - self playsound("sentry_explode_smoke"); - var_00 = 8; - while(var_00 > 0) - { - playfxontag(common_scripts\utility::getfx("sentry_smoke_mp"),self,"tag_aim"); - wait(0.4); - var_00 = var_00 - 0.4; - } - - self notify("deleting"); - } - - if(isdefined(self.killcament)) - { - self.killcament delete(); - } - - self delete(); -} - -//Function Number: 16 -sentry_handleuse() -{ - self endon("death"); - level endon("game_ended"); - for(;;) - { - self waittill("trigger",var_00); - if(!maps\mp\_utility::isreallyalive(var_00)) - { - continue; - } - - if(self.sentrytype == "sam_turret") - { - self setmode(level.sentrysettings[self.sentrytype].sentrymodeoff); - } - - var_00 setcarryingsentry(self,0); - } -} - -//Function Number: 17 -turret_handlepickup(param_00) -{ - self endon("disconnect"); - level endon("game_ended"); - param_00 endon("death"); - if(!isdefined(param_00.ownertrigger)) - { - return; - } - - var_01 = 0; - for(;;) - { - if(isalive(self) && self istouching(param_00.ownertrigger) && !isdefined(param_00.inuseby) && !isdefined(param_00.carriedby) && self isonground()) - { - if(self usebuttonpressed()) - { - if(isdefined(self.using_remote_turret) && self.using_remote_turret) - { - continue; - } - - var_01 = 0; - while(self usebuttonpressed()) - { - var_01 = var_01 + 0.05; - wait(0.05); - } - - if(var_01 >= 0.5) - { - continue; - } - - var_01 = 0; - while(!self usebuttonpressed() && var_01 < 0.5) - { - var_01 = var_01 + 0.05; - wait(0.05); - } - - if(var_01 >= 0.5) - { - continue; - } - - if(!maps\mp\_utility::isreallyalive(self)) - { - continue; - } - - if(isdefined(self.using_remote_turret) && self.using_remote_turret) - { - continue; - } - - param_00 setmode(level.sentrysettings[param_00.sentrytype].sentrymodeoff); - thread setcarryingsentry(param_00,0); - param_00.ownertrigger delete(); - return; - } - } - - wait(0.05); - } -} - -//Function Number: 18 -turret_handleuse() -{ - self notify("turret_handluse"); - self endon("turret_handleuse"); - self endon("deleting"); - level endon("game_ended"); - self.forcedisable = 0; - var_00 = (1,0.9,0.7); - var_01 = (1,0.65,0); - var_02 = (1,0.25,0); - for(;;) - { - self waittill("trigger",var_03); - if(isdefined(self.carriedby)) - { - continue; - } - - if(isdefined(self.inuseby)) - { - continue; - } - - if(!maps\mp\_utility::isreallyalive(var_03)) - { - continue; - } - - var_03 removeperks(); - var_03 removeweapons(); - self.inuseby = var_03; - self setmode(level.sentrysettings[self.sentrytype].sentrymodeoff); - sentry_setowner(var_03); - self setmode(level.sentrysettings[self.sentrytype].sentrymodeon); - var_03 thread turret_shotmonitor(self); - var_03.turret_overheat_bar = var_03 maps\mp\gametypes\_hud_util::createbar(var_00,100,6); - var_03.turret_overheat_bar maps\mp\gametypes\_hud_util::setpoint("CENTER","BOTTOM",0,-70); - var_03.turret_overheat_bar.alpha = 0.65; - var_03.turret_overheat_bar.bar.alpha = 0.65; - var_04 = 0; - for(;;) - { - if(!maps\mp\_utility::isreallyalive(var_03)) - { - self.inuseby = undefined; - var_03.turret_overheat_bar maps\mp\gametypes\_hud_util::destroyelem(); - break; - } - - if(!var_03 isusingturret()) - { - self notify("player_dismount"); - self.inuseby = undefined; - var_03.turret_overheat_bar maps\mp\gametypes\_hud_util::destroyelem(); - var_03 restoreperks(); - var_03 restoreweapons(); - self sethintstring(level.sentrysettings[self.sentrytype].hintstring); - self setmode(level.sentrysettings[self.sentrytype].sentrymodeoff); - sentry_setowner(self.originalowner); - self setmode(level.sentrysettings[self.sentrytype].sentrymodeon); - break; - } - - if(self.heatlevel >= level.sentrysettings[self.sentrytype].overheattime) - { - var_05 = 1; - } - else - { - var_05 = self.heatlevel / level.sentrysettings[self.sentrytype].overheattime; - } - - var_03.turret_overheat_bar maps\mp\gametypes\_hud_util::updatebar(var_05); - if(self.forcedisable || self.overheated) - { - self turretfiredisable(); - var_03.turret_overheat_bar.bar.color = var_02; - var_04 = 0; - } - else - { - var_03.turret_overheat_bar.bar.color = var_00; - self turretfireenable(); - var_04 = 0; - self notify("not_overheated"); - } - - wait(0.05); - } - - self setdefaultdroppitch(0); - } -} - -//Function Number: 19 -sentry_handleownerdisconnect() -{ - self endon("death"); - level endon("game_ended"); - self notify("sentry_handleOwner"); - self endon("sentry_handleOwner"); - self.owner common_scripts\utility::waittill_any("disconnect","joined_team","joined_spectators"); - self notify("death"); -} - -//Function Number: 20 -sentry_setowner(param_00) -{ - self.owner = param_00; - self setsentryowner(self.owner); - self setturretminimapvisible(1,self.sentrytype); - if(level.teambased) - { - self.team = self.owner.team; - self setturretteam(self.team); - } - - thread sentry_handleownerdisconnect(); -} - -//Function Number: 21 -sentry_setplaced() -{ - self setmodel(level.sentrysettings[self.sentrytype].modelbase); - if(self getmode() == "manual") - { - self setmode(level.sentrysettings[self.sentrytype].sentrymodeoff); - } - - self setsentrycarrier(undefined); - self setcandamage(1); - sentry_makesolid(); - self.carriedby forceusehintoff(); - self.carriedby = undefined; - if(isdefined(self.owner)) - { - self.owner.iscarrying = 0; - } - - sentry_setactive(); - self playsound("sentry_gun_plant"); - self notify("placed"); -} - -//Function Number: 22 -sentry_setcancelled() -{ - self.carriedby forceusehintoff(); - if(isdefined(self.owner)) - { - self.owner.iscarrying = 0; - } - - self delete(); -} - -//Function Number: 23 -sentry_setcarried(param_00) -{ - if(isdefined(self.originalowner)) - { - } - else - { - } - - self setmodel(level.sentrysettings[self.sentrytype].modelplacement); - self setsentrycarrier(param_00); - self setcandamage(0); - sentry_makenotsolid(); - self.carriedby = param_00; - param_00.iscarrying = 1; - param_00 thread updatesentryplacement(self); - thread sentry_oncarrierdeath(param_00); - thread sentry_oncarrierdisconnect(param_00); - thread sentry_oncarrierchangedteam(param_00); - thread sentry_ongameended(); - self setdefaultdroppitch(-89); - sentry_setinactive(); - self notify("carried"); -} - -//Function Number: 24 -updatesentryplacement(param_00) -{ - self endon("death"); - self endon("disconnect"); - level endon("game_ended"); - param_00 endon("placed"); - param_00 endon("death"); - param_00.canbeplaced = 1; - var_01 = -1; - for(;;) - { - var_02 = self canplayerplacesentry(1,22); - param_00.origin = var_02["origin"]; - param_00.angles = var_02["angles"]; - param_00.canbeplaced = self isonground() && var_02["result"] && abs(param_00.origin[2] - self.origin[2]) < 30; - if(param_00.canbeplaced != var_01) - { - if(param_00.canbeplaced) - { - param_00 setmodel(level.sentrysettings[param_00.sentrytype].modelplacement); - self forceusehinton(&"SENTRY_PLACE"); - } - else - { - param_00 setmodel(level.sentrysettings[param_00.sentrytype].modelplacementfailed); - self forceusehinton(&"SENTRY_CANNOT_PLACE"); - } - } - - var_01 = param_00.canbeplaced; - wait(0.05); - } -} - -//Function Number: 25 -sentry_oncarrierdeath(param_00) -{ - self endon("placed"); - self endon("death"); - param_00 waittill("death"); - if(self.canbeplaced) - { - sentry_setplaced(); - return; - } - - self delete(); -} - -//Function Number: 26 -sentry_oncarrierdisconnect(param_00) -{ - self endon("placed"); - self endon("death"); - param_00 waittill("disconnect"); - self delete(); -} - -//Function Number: 27 -sentry_oncarrierchangedteam(param_00) -{ - self endon("placed"); - self endon("death"); - param_00 common_scripts\utility::waittill_any("joined_team","joined_spectators"); - self delete(); -} - -//Function Number: 28 -sentry_ongameended(param_00) -{ - self endon("placed"); - self endon("death"); - level waittill("game_ended"); - self delete(); -} - -//Function Number: 29 -sentry_setactive() -{ - self setmode(level.sentrysettings[self.sentrytype].sentrymodeon); - self setcursorhint("HINT_NOICON"); - self sethintstring(level.sentrysettings[self.sentrytype].hintstring); - if(level.sentrysettings[self.sentrytype].headicon) - { - if(level.teambased) - { - maps\mp\_entityheadicons::setteamheadicon(self.team,(0,0,65)); - } - else - { - maps\mp\_entityheadicons::setplayerheadicon(self.owner,(0,0,65)); - } - } - - self makeusable(); - foreach(var_01 in level.players) - { - var_02 = self getentitynumber(); - addtoturretlist(var_02); - if(var_01 == self.owner) - { - self enableplayeruse(var_01); - continue; - } - - self disableplayeruse(var_01); - } - - if(self.shouldsplash) - { - level thread maps\mp\_utility::teamplayercardsplash(level.sentrysettings[self.sentrytype].teamsplash,self.owner,self.owner.team); - self.shouldsplash = 0; - } - - if(self.sentrytype == "sam_turret") - { - thread sam_attacktargets(); - } - - thread sentry_watchdisabled(); -} - -//Function Number: 30 -sentry_setinactive() -{ - self setmode(level.sentrysettings[self.sentrytype].sentrymodeoff); - self makeunusable(); - self freeentitysentient(); - var_00 = self getentitynumber(); - removefromturretlist(var_00); - if(level.teambased) - { - maps\mp\_entityheadicons::setteamheadicon("none",(0,0,0)); - return; - } - - if(isdefined(self.owner)) - { - maps\mp\_entityheadicons::setplayerheadicon(undefined,(0,0,0)); - } -} - -//Function Number: 31 -sentry_makesolid() -{ - self maketurretsolid(); -} - -//Function Number: 32 -sentry_makenotsolid() -{ - self setcontents(0); -} - -//Function Number: 33 -isfriendlytosentry(param_00) -{ - if(level.teambased && self.team == param_00.team) - { - return 1; - } - - return 0; -} - -//Function Number: 34 -addtoturretlist(param_00) -{ - level.turrets[param_00] = self; -} - -//Function Number: 35 -removefromturretlist(param_00) -{ - level.turrets[param_00] = undefined; -} - -//Function Number: 36 -sentry_attacktargets() -{ - self endon("death"); - level endon("game_ended"); - self.momentum = 0; - self.heatlevel = 0; - self.overheated = 0; - thread sentry_heatmonitor(); - for(;;) - { - common_scripts\utility::waittill_either("turretstatechange","cooled"); - if(self isfiringturret()) - { - thread sentry_burstfirestart(); - continue; - } - - sentry_spindown(); - thread sentry_burstfirestop(); - } -} - -//Function Number: 37 -sentry_timeout() -{ - self endon("death"); - level endon("game_ended"); - var_00 = level.sentrysettings[self.sentrytype].timeout; - while(var_00) - { - wait(1); - maps\mp\gametypes\_hostmigration::waittillhostmigrationdone(); - if(!isdefined(self.carriedby)) - { - var_00 = max(0,var_00 - 1); - } - } - - if(isdefined(self.owner)) - { - if(self.sentrytype == "sam_turret") - { - self.owner thread maps\mp\_utility::leaderdialogonplayer("sam_gone"); - } - else - { - self.owner thread maps\mp\_utility::leaderdialogonplayer("sentry_gone"); - } - } - - self notify("death"); -} - -//Function Number: 38 -sentry_targetlocksound() -{ - self endon("death"); - self playsound("sentry_gun_beep"); - wait(0.1); - self playsound("sentry_gun_beep"); - wait(0.1); - self playsound("sentry_gun_beep"); -} - -//Function Number: 39 -sentry_spinup() -{ - thread sentry_targetlocksound(); - while(self.momentum < level.sentrysettings[self.sentrytype].spinuptime) - { - self.momentum = self.momentum + 0.1; - wait(0.1); - } -} - -//Function Number: 40 -sentry_spindown() -{ - self.momentum = 0; -} - -//Function Number: 41 -sentry_burstfirestart() -{ - self endon("death"); - self endon("stop_shooting"); - level endon("game_ended"); - sentry_spinup(); - var_00 = weaponfiretime(level.sentrysettings[self.sentrytype].weaponinfo); - var_01 = level.sentrysettings[self.sentrytype].burstmin; - var_02 = level.sentrysettings[self.sentrytype].burstmax; - var_03 = level.sentrysettings[self.sentrytype].pausemin; - var_04 = level.sentrysettings[self.sentrytype].pausemax; - for(;;) - { - var_05 = randomintrange(var_01,var_02 + 1); - for(var_06 = 0;var_06 < var_05 && !self.overheated;var_06++) - { - self shootturret(); - self.heatlevel = self.heatlevel + var_00; - wait(var_00); - } - - wait(randomfloatrange(var_03,var_04)); - } -} - -//Function Number: 42 -sentry_burstfirestop() -{ - self notify("stop_shooting"); -} - -//Function Number: 43 -turret_shotmonitor(param_00) -{ - self endon("death"); - self endon("disconnect"); - level endon("game_ended"); - param_00 endon("death"); - param_00 endon("player_dismount"); - var_01 = weaponfiretime(level.sentrysettings[param_00.sentrytype].weaponinfo); - for(;;) - { - param_00 waittill("turret_fire"); - param_00.heatlevel = param_00.heatlevel + var_01; - param_00.cooldownwaittime = var_01; - } -} - -//Function Number: 44 -sentry_heatmonitor() -{ - self endon("death"); - var_00 = weaponfiretime(level.sentrysettings[self.sentrytype].weaponinfo); - var_01 = 0; - var_02 = 0; - var_03 = level.sentrysettings[self.sentrytype].overheattime; - var_04 = level.sentrysettings[self.sentrytype].cooldowntime; - for(;;) - { - if(self.heatlevel != var_01) - { - wait(var_00); - } - else - { - self.heatlevel = max(0,self.heatlevel - 0.05); - } - - if(self.heatlevel > var_03) - { - self.overheated = 1; - thread playheatfx(); - while(self.heatlevel) - { - self.heatlevel = max(0,self.heatlevel - var_04); - wait(0.1); - } - - self.overheated = 0; - self notify("not_overheated"); - } - - var_01 = self.heatlevel; - wait(0.05); - } -} - -//Function Number: 45 -turret_heatmonitor() -{ - self endon("death"); - var_00 = level.sentrysettings[self.sentrytype].overheattime; - for(;;) - { - if(self.heatlevel > var_00) - { - self.overheated = 1; - thread playheatfx(); - while(self.heatlevel) - { - wait(0.1); - } - - self.overheated = 0; - self notify("not_overheated"); - } - - wait(0.05); - } -} - -//Function Number: 46 -turret_coolmonitor() -{ - self endon("death"); - for(;;) - { - if(self.heatlevel > 0) - { - if(self.cooldownwaittime <= 0) - { - self.heatlevel = max(0,self.heatlevel - 0.05); - } - else - { - self.cooldownwaittime = max(0,self.cooldownwaittime - 0.05); - } - } - - wait(0.05); - } -} - -//Function Number: 47 -playheatfx() -{ - self endon("death"); - self endon("not_overheated"); - level endon("game_ended"); - self notify("playing_heat_fx"); - self endon("playing_heat_fx"); - for(;;) - { - playfxontag(common_scripts\utility::getfx("sentry_overheat_mp"),self,"tag_flash"); - wait(level.sentrysettings[self.sentrytype].fxtime); - } -} - -//Function Number: 48 -playsmokefx() -{ - self endon("death"); - self endon("not_overheated"); - level endon("game_ended"); - for(;;) - { - playfxontag(common_scripts\utility::getfx("sentry_smoke_mp"),self,"tag_aim"); - wait(0.4); - } -} - -//Function Number: 49 -sentry_beepsounds() -{ - self endon("death"); - level endon("game_ended"); - for(;;) - { - wait(3); - if(!isdefined(self.carriedby)) - { - self playsound("sentry_gun_beep"); - } - } -} - -//Function Number: 50 -sam_attacktargets() -{ - self endon("carried"); - self endon("death"); - level endon("game_ended"); - self.samtargetent = undefined; - self.sammissilegroups = []; - for(;;) - { - self.samtargetent = sam_acquiretarget(); - sam_fireontarget(); - wait(0.05); - } -} - -//Function Number: 51 -sam_acquiretarget() -{ - var_00 = self gettagorigin("tag_laser"); - if(!isdefined(self.samtargetent)) - { - if(level.teambased) - { - var_01 = []; - if(level.multiteambased) - { - foreach(var_03 in level.teamnamelist) - { - if(var_03 != self.team) - { - foreach(var_05 in level.uavmodels[var_03]) - { - var_01[var_01.size] = var_05; - } - } - } - } - else if(isdefined(self.team)) - { - var_01 = level.uavmodels[level.otherteam[self.team]]; - } - - foreach(var_09 in var_01) - { - if(isdefined(var_09.isleaving) && var_09.isleaving) - { - continue; - } - - if(isdefined(var_09.orbit) && var_09.orbit) - { - continue; - } - - if(sighttracepassed(var_00,var_09.origin,0,self)) - { - return var_09; - } - } - - foreach(var_0C in level.littlebirds) - { - if(isdefined(var_0C.team) && var_0C.team == self.team) - { - continue; - } - - if(sighttracepassed(var_00,var_0C.origin,0,self)) - { - return var_0C; - } - } - - foreach(var_0F in level.helis) - { - if(isdefined(var_0F.team) && var_0F.team == self.team) - { - continue; - } - - if(isdefined(var_0F.cloakstate) && var_0F.cloakstate < 1) - { - continue; - } - - if(sighttracepassed(var_00,var_0F.origin,0,self,var_0F)) - { - return var_0F; - } - } - - if(level.orbitalsupportinuse && isdefined(level.orbitalsupport_planemodel.owner) && level.orbitalsupport_planemodel.owner.team != self.team) - { - if(sighttracepassed(var_00,level.orbitalsupport_planemodel.origin,0,self)) - { - return level.orbitalsupport_planemodel; - } - } - - if(isdefined(level._orbital_care_pod)) - { - foreach(var_12 in level._orbital_care_pod) - { - if(isdefined(var_12.podrocket) && var_12.owner.team != self.team) - { - if(sighttracepassed(var_00,var_12.podrocket.origin,0,self)) - { - return var_12.podrocket; - } - } - } - } - - foreach(var_15 in level.planes) - { - if(isdefined(var_15.team) && var_15.team == self.team) - { - continue; - } - - if(sighttracepassed(var_00,var_15.origin,0,self)) - { - return var_15; - } - } - } - else - { - foreach(var_09 in level.uavmodels) - { - if(isdefined(var_09.isleaving) && var_09.isleaving) - { - continue; - } - - if(isdefined(var_09.owner) && isdefined(self.owner) && var_09.owner == self.owner) - { - continue; - } - - if(isdefined(var_09.orbit) && var_09.orbit) - { - continue; - } - - if(sighttracepassed(var_00,var_09.origin,0,self)) - { - return var_09; - } - } - - foreach(var_0C in level.littlebirds) - { - if(isdefined(var_0C.owner) && isdefined(self.owner) && var_0C.owner == self.owner) - { - continue; - } - - if(sighttracepassed(var_00,var_0C.origin,0,self)) - { - return var_0C; - } - } - - foreach(var_0F in level.helis) - { - if(isdefined(var_0F.owner) && isdefined(self.owner) && var_0F.owner == self.owner) - { - continue; - } - - if(isdefined(var_0F.cloakstate) && var_0F.cloakstate < 1) - { - continue; - } - - if(sighttracepassed(var_00,var_0F.origin,0,self,var_0F)) - { - return var_0F; - } - } - - if(level.orbitalsupportinuse && isdefined(level.orbitalsupport_planemodel.owner) && isdefined(self.owner) && level.orbitalsupport_planemodel.owner != self.owner) - { - if(sighttracepassed(var_00,level.orbitalsupport_planemodel.owner.origin,0,self)) - { - return level.orbitalsupport_planemodel.owner; - } - } - - if(isdefined(level._orbital_care_pod)) - { - foreach(var_12 in level._orbital_care_pod) - { - if(isdefined(var_12.podrocket) && var_12.owner != self) - { - if(sighttracepassed(var_00,var_12.podrocket.origin,0,self)) - { - return var_12.podrocket; - } - } - } - } - - foreach(var_15 in level.planes) - { - if(isdefined(var_15.team) && var_15.owner == self.owner) - { - continue; - } - - if(sighttracepassed(var_00,var_15.origin,0,self)) - { - return var_15; - } - } - } - - self cleartargetentity(); - return undefined; - } - - if(!sighttracepassed(var_15,self.samtargetent.origin,0,self,self.samtargetent)) - { - self cleartargetentity(); - return undefined; - } - - return self.samtargetent; -} - -//Function Number: 52 -sam_fireontarget() -{ - if(isdefined(self.samtargetent)) - { - if((self.samtargetent == level.ac130.planemodel && !isdefined(level.ac130player)) || isdefined(level.orbitalsupport_planemodel) && self.samtargetent == level.orbitalsupport_planemodel && !isdefined(level.orbitalsupport_player)) - { - self.samtargetent = undefined; - self cleartargetentity(); - return; - } - - self settargetentity(self.samtargetent); - self waittill("turret_on_target"); - if(!isdefined(self.samtargetent)) - { - return; - } - - if(!self.laser_on) - { - thread sam_watchlaser(); - thread sam_watchcrashing(); - thread sam_watchleaving(); - thread sam_watchlineofsight(); - } - - wait(2); - if(!isdefined(self.samtargetent)) - { - return; - } - - if(self.samtargetent == level.ac130.planemodel && !isdefined(level.ac130player)) - { - self.samtargetent = undefined; - self cleartargetentity(); - return; - } - - var_00 = []; - var_00[0] = self gettagorigin("tag_le_missile1"); - var_00[1] = self gettagorigin("tag_le_missile2"); - var_00[2] = self gettagorigin("tag_ri_missile1"); - var_00[3] = self gettagorigin("tag_ri_missile2"); - var_01 = self.sammissilegroups.size; - for(var_02 = 0;var_02 < 4;var_02++) - { - if(!isdefined(self.samtargetent)) - { - return; - } - - if(isdefined(self.carriedby)) - { - return; - } - - self shootturret(); - var_03 = magicbullet("sam_projectile_mp",var_00[var_02],self.samtargetent.origin,self.owner); - var_03 missile_settargetent(self.samtargetent); - var_03 missile_setflightmodedirect(); - var_03.samturret = self; - var_03.sammissilegroup = var_01; - self.sammissilegroups[var_01][var_02] = var_03; - level notify("sam_missile_fired",self.owner,var_03,self.samtargetent); - if(var_02 == 3) - { - break; - } - - wait(0.25); - } - - level notify("sam_fired",self.owner,self.sammissilegroups[var_01],self.samtargetent); - wait(3); - } -} - -//Function Number: 53 -sam_watchlineofsight() -{ - level endon("game_ended"); - self endon("death"); - self endon("fakedeath"); - while(isdefined(self.samtargetent) && isdefined(self getturrettarget(1)) && self getturrettarget(1) == self.samtargetent) - { - var_00 = self gettagorigin("tag_laser"); - if(!sighttracepassed(var_00,self.samtargetent.origin,0,self,self.samtargetent)) - { - self cleartargetentity(); - self.samtargetent = undefined; - break; - } - - wait(0.05); - } -} - -//Function Number: 54 -sam_watchlaser() -{ - self endon("death"); - self laseron(); - self.laser_on = 1; - self notify("laser_on"); - while(isdefined(self.samtargetent) && isdefined(self getturrettarget(1)) && self getturrettarget(1) == self.samtargetent) - { - wait(0.05); - } - - self laseroff(); - self.laser_on = 0; - self notify("laser_off"); -} - -//Function Number: 55 -sam_watchcrashing() -{ - self endon("death"); - self endon("fakedeath"); - self.samtargetent endon("death"); - if(!isdefined(self.samtargetent.helitype)) - { - return; - } - - self.samtargetent waittill("crashing"); - self cleartargetentity(); - self.samtargetent = undefined; -} - -//Function Number: 56 -sam_watchleaving() -{ - self endon("death"); - self endon("fakedeath"); - self.samtargetent endon("death"); - if(!isdefined(self.samtargetent.model)) - { - return; - } - - if(self.samtargetent.model == "vehicle_uav_static_mp") - { - self.samtargetent waittill("leaving"); - self cleartargetentity(); - self.samtargetent = undefined; - } -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/killstreaks/_coop_util.gsc b/AW/PC/MP/maps/mp/killstreaks/_coop_util.gsc deleted file mode 100644 index 599ef24..0000000 --- a/AW/PC/MP/maps/mp/killstreaks/_coop_util.gsc +++ /dev/null @@ -1,653 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_coop_util.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 31 - * Decompile Time: 487 ms - * Timestamp: 10/27/2023 1:51:35 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - if(!level.teambased) - { - return; - } - - level.streaksupportqueueallies = []; - level.streaksupportqueueaxis = []; - level.streaksuppordisabledcount = []; - setdvar("scr_coop_util_delay","1"); -} - -//Function Number: 2 -promptforstreaksupport(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - if(!level.teambased) - { - return; - } - - var_07 = (0,0,0); - if(isdefined(param_05)) - { - var_07 = param_05.origin; - } - - var_08 = spawn("script_model",var_07); - var_08 hide(); - var_08.team = param_00; - var_08.needsupportvo = param_03; - var_08.buddyjoinedvo = param_04; - var_08.streakplayer = param_05; - var_08.joinedvo = param_06; - var_08.jointext = param_01; - var_08.splashref = param_02; - var_08.active = 0; - var_08.promptid = getuniquestreakpromptid(); - if(isdefined(param_05)) - { - var_08 disableplayeruse(param_05); - } - - addstreaksupportprompt(var_08); - return var_08.promptid; -} - -//Function Number: 3 -stoppromptforstreaksupport(param_00) -{ - if(!level.teambased) - { - return; - } - - foreach(var_02 in level.streaksupportqueueallies) - { - if(var_02.promptid == param_00) - { - thread removestreaksupportprompt(var_02); - return; - } - } - - foreach(var_02 in level.streaksupportqueueaxis) - { - if(var_02.promptid == param_00) - { - thread removestreaksupportprompt(var_02); - return; - } - } -} - -//Function Number: 4 -waittillbuddyjoinedstreak(param_00) -{ - for(;;) - { - level waittill("buddyJoinedStreak",var_01,var_02); - if(var_02 == param_00) - { - return var_01; - } - } -} - -//Function Number: 5 -playersetupcoopstreak(param_00) -{ - playersetupcoopstreakinternal(param_00); -} - -//Function Number: 6 -playerresetaftercoopstreak() -{ - playerresetaftercoopstreakinternal(); -} - -//Function Number: 7 -playerstoppromptforstreaksupport() -{ - if(!level.teambased) - { - return; - } - - if(!isdefined(level.streaksuppordisabledcount[self.guid])) - { - level.streaksuppordisabledcount[self.guid] = 0; - } - - level.streaksuppordisabledcount[self.guid]++; - if(level.streaksuppordisabledcount[self.guid] > 1) - { - return; - } - - if(self.team == "allies") - { - foreach(var_01 in level.streaksupportqueueallies) - { - var_01 disableplayeruse(self); - } - - return; - } - - foreach(var_01 in level.streaksupportqueueaxis) - { - var_01 disableplayeruse(self); - } -} - -//Function Number: 8 -playerstartpromptforstreaksupport() -{ - if(!level.teambased) - { - return; - } - - level.streaksuppordisabledcount[self.guid]--; - if(level.streaksuppordisabledcount[self.guid] > 0) - { - return; - } - - if(self.team == "allies") - { - foreach(var_01 in level.streaksupportqueueallies) - { - if(self != var_01.streakplayer) - { - var_01 enableplayeruse(self); - } - } - - return; - } - - foreach(var_01 in level.streaksupportqueueaxis) - { - if(self != var_01.streakplayer) - { - var_01 enableplayeruse(self); - } - } -} - -//Function Number: 9 -addstreaksupportprompt(param_00) -{ - if(param_00.team == "allies") - { - level.streaksupportqueueallies[level.streaksupportqueueallies.size] = param_00; - if(level.streaksupportqueueallies.size == 1) - { - level thread startstreaksupportprompt(param_00); - return; - } - - return; - } - - level.streaksupportqueueaxis[level.streaksupportqueueaxis.size] = param_00; - if(level.streaksupportqueueaxis.size == 1) - { - level thread startstreaksupportprompt(param_00); - } -} - -//Function Number: 10 -removestreaksupportprompt(param_00) -{ - var_01 = param_00.active; - param_00.active = 0; - param_00 notify("streakPromptStopped"); - if(param_00.team == "allies") - { - level.streaksupportqueueallies = common_scripts\utility::array_remove(level.streaksupportqueueallies,param_00); - if(var_01 && level.streaksupportqueueallies.size > 0) - { - level thread startstreaksupportprompt(level.streaksupportqueueallies[0]); - } - } - else - { - level.streaksupportqueueaxis = common_scripts\utility::array_remove(level.streaksupportqueueaxis,param_00); - if(var_01 && level.streaksupportqueueaxis.size > 0) - { - level thread startstreaksupportprompt(level.streaksupportqueueaxis[0]); - } - } - - thread delaydeleteprompt(param_00); -} - -//Function Number: 11 -delaydeleteprompt(param_00) -{ - wait(1); - param_00 delete(); -} - -//Function Number: 12 -getuniquestreakpromptid(param_00) -{ - var_01 = 0; - foreach(var_03 in level.streaksupportqueueallies) - { - if(var_03.promptid >= var_01) - { - var_01 = var_03.promptid + 1; - } - } - - foreach(var_03 in level.streaksupportqueueaxis) - { - if(var_03.promptid >= var_01) - { - var_01 = var_03.promptid + 1; - } - } - - return var_01; -} - -//Function Number: 13 -startstreaksupportprompt(param_00) -{ - param_00.active = 1; - level thread handleprompt(param_00); - level thread onconnectprompt(param_00); - foreach(var_02 in level.players) - { - if(isdefined(param_00.streakplayer) && var_02 == param_00.streakplayer) - { - continue; - } - - if(maps\mp\_utility::isreallyalive(var_02) && var_02.team == param_00.team) - { - var_02 thread playersetupstreakprompt(param_00); - } - - var_02 thread playeronspawnprompt(param_00); - } -} - -//Function Number: 14 -onconnectprompt(param_00) -{ - level endon("game_ended"); - param_00 endon("streakPromptStopped"); - for(;;) - { - level waittill("connected",var_01); - var_01 thread playeronspawnprompt(param_00); - } -} - -//Function Number: 15 -playeronspawnprompt(param_00) -{ - level endon("game_ended"); - self endon("disconnect"); - param_00 endon("streakPromptStopped"); - for(;;) - { - self waittill("spawned_player"); - if(self.team == param_00.team) - { - thread playersetupstreakprompt(param_00); - } - } -} - -//Function Number: 16 -playersetupstreakprompt(param_00) -{ - level endon("game_ended"); - self endon("death"); - self endon("disconnect"); - param_00 endon("streakPromptStopped"); - while(maps\mp\_utility::isusingremote() || maps\mp\_utility::isinremotetransition()) - { - wait 0.05; - } - - playerdisabledwait(param_00); - thread playerdisplayjoinrequest(param_00); - thread playertakestreaksupportinput(param_00); -} - -//Function Number: 17 -playerdisabledwait(param_00) -{ - if(!isdefined(level.streaksuppordisabledcount[self.guid])) - { - return; - } - - if(level.streaksuppordisabledcount[self.guid] > 0) - { - param_00 disableplayeruse(self); - while(level.streaksuppordisabledcount[self.guid] > 0) - { - wait 0.05; - } - } -} - -//Function Number: 18 -playerdisplayjoinrequest(param_00) -{ - level endon("game_ended"); - self endon("death"); - self endon("disconnect"); - param_00 endon("streakPromptStopped"); - if(isdefined(param_00.splashref)) - { - thread maps\mp\gametypes\_hud_message::coopkillstreaksplashnotify(param_00.splashref,param_00.needsupportvo); - } -} - -//Function Number: 19 -waittillplayercanbebuddy(param_00,param_01) -{ - if(maps\mp\_utility::isinremotetransition()) - { - param_00 maps\mp\killstreaks\_killstreaks::playerwaittillridekillstreakcomplete(); - } - - wait 0.05; - if(maps\mp\_utility::isusingremote()) - { - param_00 waittill("stopped_using_remote"); - } -} - -//Function Number: 20 -waittillpromptactivated(param_00) -{ - param_00 endon("streakPromptStopped"); - param_00 waittill("trigger"); - return 1; -} - -//Function Number: 21 -playertakestreaksupportinput(param_00) -{ - level endon("game_ended"); - self endon("death"); - self endon("disconnect"); - for(;;) - { - waittillplayercanbebuddy(self); - var_01 = waittillpromptactivated(param_00); - if(!isdefined(var_01)) - { - return; - } - - if(!param_00.active) - { - return; - } - - if(isdefined(self playergetuseent()) && self playergetuseent() == param_00 && self usebuttonpressed() && self isonground()) - { - var_02 = playergetusetime(); - var_01 = playerhandlejoining(param_00,var_02); - if(var_01 || !param_00.active) - { - return; - } - } - } -} - -//Function Number: 22 -playergetusetime() -{ - if(getdvarint("scr_coop_util_delay",1) == 0) - { - return 1.25; - } - - var_00 = self.score; - var_01 = self.score; - for(var_02 = 1;var_02 < level.players.size;var_02++) - { - var_03 = level.players[var_02]; - if(var_03.team != self.team) - { - continue; - } - - if(var_03.score > var_01) - { - var_01 = var_03.score; - continue; - } - - if(var_03.score < var_00) - { - var_00 = var_03.score; - } - } - - var_04 = var_01 - var_00; - if(var_04 == 0) - { - return 1.25; - } - - var_05 = self.score - var_00 / var_04; - var_06 = 1.25; - var_07 = 1.25 + var_05 * var_06; - return var_07; -} - -//Function Number: 23 -handleprompt(param_00) -{ - param_00 maps\mp\_utility::makegloballyusablebytype("coopStreakPrompt",param_00.jointext,undefined,param_00.team); - param_00 waittill("streakPromptStopped"); - param_00 maps\mp\_utility::makegloballyunusablebytype(); -} - -//Function Number: 24 -playerhandlejoining(param_00,param_01) -{ - var_02 = param_01 * 1000; - if(param_00 useholdthink(self,var_02,param_00)) - { - level notify("buddyJoinedStreak",self,param_00.promptid); - thread maps\mp\_events::killstreakjoinevent(); - if(isdefined(param_00.streakplayer) && isalive(param_00.streakplayer)) - { - if(isdefined(param_00.joinedvo)) - { - thread maps\mp\_utility::leaderdialogonplayer(param_00.joinedvo); - } - - if(isdefined(param_00.buddyjoinedvo)) - { - param_00.streakplayer thread maps\mp\_utility::leaderdialogonplayer(param_00.buddyjoinedvo); - } - - if(isdefined(param_00.streakplayer.currentkillstreakindex)) - { - setmatchdata("killstreaks",param_00.streakplayer.currentkillstreakindex,"coopPlayerIndex",self.clientid); - } - } - - param_00 notify("streakPromptStopped"); - return 1; - } - - return 0; -} - -//Function Number: 25 -useholdthink(param_00,param_01,param_02) -{ - param_00 playerlinkto(param_02); - param_00 playerlinkedoffsetenable(); - param_00.manuallyjoiningkillstreak = 1; - thread useholdthinkcleanuponplayerdeath(param_00); - self.curprogress = 0; - self.inuse = 1; - self.userate = 0; - self.usetime = param_01; - if(isdefined(param_00.inwater)) - { - param_00 allowcrouch(0); - param_00 allowprone(0); - } - - param_00 maps\mp\_utility::_giveweapon("killstreak_remote_turret_mp"); - param_00 switchtoweapon("killstreak_remote_turret_mp"); - param_00 disableweaponswitch(); - param_00 thread personalusebar(self,param_02); - var_03 = useholdthinkloop(param_00,param_02); - if(!isdefined(var_03)) - { - var_03 = 0; - } - - if(isalive(param_00) && !var_03) - { - param_00 playerresetaftercoopstreakinternal(); - } - - self.inuse = 0; - self.curprogress = 0; - if(isdefined(param_00)) - { - param_00.manuallyjoiningkillstreak = 0; - param_00 setclientomnvar("ui_use_bar_text",0); - param_00 setclientomnvar("ui_use_bar_end_time",0); - param_00 setclientomnvar("ui_use_bar_start_time",0); - } - - self notify("coopUtilUseHoldThinkComplete"); - return var_03; -} - -//Function Number: 26 -useholdthinkcleanuponplayerdeath(param_00) -{ - self endon("coopUtilUseHoldThinkComplete"); - param_00 common_scripts\utility::waittill_any("death","disconnect"); - if(isdefined(param_00)) - { - param_00 playerresetaftercoopstreakinternal(); - param_00.manuallyjoiningkillstreak = 0; - param_00 setclientomnvar("ui_use_bar_text",0); - param_00 setclientomnvar("ui_use_bar_end_time",0); - param_00 setclientomnvar("ui_use_bar_start_time",0); - } -} - -//Function Number: 27 -playerresetaftercoopstreakinternal() -{ - maps\mp\killstreaks\_killstreaks::takekillstreakweaponifnodupe("killstreak_predator_missile_mp"); - maps\mp\killstreaks\_killstreaks::takekillstreakweaponifnodupe("killstreak_remote_turret_mp"); - self allowcrouch(1); - self allowprone(1); - self enableweaponswitch(); - self switchtoweapon(common_scripts\utility::getlastweapon()); - thread playerdelaycontrol(); - self unlink(); -} - -//Function Number: 28 -playersetupcoopstreakinternal(param_00) -{ - if(isdefined(param_00)) - { - wait(param_00); - } - - self enableweaponswitch(); - maps\mp\_utility::_giveweapon("killstreak_predator_missile_mp"); - self switchtoweaponimmediate("killstreak_predator_missile_mp"); - maps\mp\killstreaks\_killstreaks::takekillstreakweaponifnodupe("killstreak_remote_turret_mp"); - self disableweaponswitch(); -} - -//Function Number: 29 -playerdelaycontrol() -{ - self endon("disconnect"); - maps\mp\_utility::freezecontrolswrapper(1); - wait(0.5); - maps\mp\_utility::freezecontrolswrapper(0); -} - -//Function Number: 30 -personalusebar(param_00,param_01) -{ - self endon("disconnect"); - param_01 endon("streakPromptStopped"); - self setclientomnvar("ui_use_bar_text",2); - self setclientomnvar("ui_use_bar_start_time",int(gettime())); - var_02 = -1; - while(maps\mp\_utility::isreallyalive(self) && isdefined(param_00) && param_00.inuse && !level.gameended) - { - if(var_02 != param_00.userate) - { - if(param_00.curprogress > param_00.usetime) - { - param_00.curprogress = param_00.usetime; - } - - if(param_00.userate > 0) - { - var_03 = gettime(); - var_04 = param_00.curprogress / param_00.usetime; - var_05 = var_03 + 1 - var_04 * param_00.usetime / param_00.userate; - self setclientomnvar("ui_use_bar_end_time",int(var_05)); - } - - var_02 = param_00.userate; - } - - wait(0.05); - } - - self setclientomnvar("ui_use_bar_end_time",0); -} - -//Function Number: 31 -useholdthinkloop(param_00,param_01) -{ - param_01 endon("streakPromptStopped"); - while(!level.gameended && isdefined(self) && maps\mp\_utility::isreallyalive(param_00) && param_00 usebuttonpressed() && self.curprogress < self.usetime) - { - self.curprogress = self.curprogress + 50 * self.userate; - if(isdefined(self.objectivescaler)) - { - self.userate = 1 * self.objectivescaler; - } - else - { - self.userate = 1; - } - - if(self.curprogress >= self.usetime) - { - return maps\mp\_utility::isreallyalive(param_00); - } - - wait(0.05); - } - - return 0; -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/killstreaks/_drone_carepackage.gsc b/AW/PC/MP/maps/mp/killstreaks/_drone_carepackage.gsc deleted file mode 100644 index 95aae3c..0000000 --- a/AW/PC/MP/maps/mp/killstreaks/_drone_carepackage.gsc +++ /dev/null @@ -1,171 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_drone_carepackage.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 12 - * Decompile Time: 182 ms - * Timestamp: 10/27/2023 1:51:39 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - level.carepackagedrone = spawnstruct(); - level.carepackagedrone.health = 999999; - level.carepackagedrone.maxhealth = 200; - level.carepackagedrone.fxid_explode = loadfx("vfx/explosion/tracking_drone_explosion"); - level.carepackagedrone.sound_explode = "veh_tracking_drone_explode"; - level.carepackagedrone.releasestring = &"KILLSTREAKS_DRONE_CAREPACKAGE_RELEASE"; - level.carepackagedrones = []; -} - -//Function Number: 2 -setupcarepackagedrone(param_00,param_01) -{ - param_00 common_scripts\utility::make_entity_sentient_mp(self.team); - param_00 makevehiclenotcollidewithplayers(1); - param_00 addtocarepackagedronelist(); - param_00 thread removefromcarepackagedronelistondeath(); - param_00.health = level.carepackagedrone.health; - param_00.maxhealth = level.carepackagedrone.maxhealth; - param_00.damagetaken = 0; - param_00.speed = 15; - param_00.followspeed = 15; - param_00.owner = self; - param_00.team = self.team; - param_00 vehicle_setspeed(param_00.speed,10,10); - param_00 setyawspeed(120,90); - param_00 setneargoalnotifydist(64); - param_00 sethoverparams(4,5,5); - param_00.fx_tag0 = "tag_body"; - if(param_01) - { - param_00.usableent = spawn("script_model",param_00.origin + (0,0,1)); - param_00.usableent setmodel("tag_origin"); - param_00.usableent.owner = self; - param_00.usableent maps\mp\_utility::makegloballyusablebytype("killstreakRemote",level.carepackagedrone.releasestring,self); - } - - var_02 = 45; - var_03 = 45; - param_00 setmaxpitchroll(var_02,var_03); - var_04 = 10000; - var_05 = 150; - param_00.attractor = missile_createattractorent(param_00,var_04,var_05); - param_00.stunned = 0; - param_00 thread carepackagedrone_watchdeath(); - param_00 thread carepackagedrone_watchownerloss(); - param_00 thread carepackagedrone_watchroundend(); -} - -//Function Number: 3 -carepackagedrone_deleteonactivate() -{ - self endon("death"); - var_00 = self.owner; - self.usableent waittill("trigger"); - carepackagedrone_delete(); -} - -//Function Number: 4 -carepackagedrone_watchdeath() -{ - level endon("game_ended"); - self endon("gone"); - self waittill("death"); - if(!isdefined(self)) - { - return; - } - - carepackagedrone_leave(); -} - -//Function Number: 5 -carepackagedrone_watchownerloss() -{ - level endon("game_ended"); - self endon("death"); - self endon("leaving"); - self.owner common_scripts\utility::waittill_any("disconnect","joined_team","joined_spectators"); - self notify("owner_gone"); - thread carepackagedrone_leave(); -} - -//Function Number: 6 -carepackagedrone_watchroundend() -{ - level endon("game_ended"); - self endon("death"); - self endon("leaving"); - self.owner endon("disconnect"); - self endon("owner_gone"); - level common_scripts\utility::waittill_any("round_end_finished","game_ended"); - thread carepackagedrone_leave(); -} - -//Function Number: 7 -carepackagedrone_leave() -{ - self endon("death"); - self notify("leaving"); - carepackagedrone_explode(); -} - -//Function Number: 8 -carepackagedrone_explode() -{ - if(isdefined(level.carepackagedrone.fxid_explode)) - { - playfx(level.carepackagedrone.fxid_explode,self.origin); - } - - if(isdefined(level.carepackagedrone.sound_explode)) - { - self playsound(level.carepackagedrone.sound_explode); - } - - if(isdefined(self.usableent)) - { - self.usableent maps\mp\_utility::makegloballyunusablebytype(); - self.usableent delete(); - } - - self notify("explode"); - carepackagedrone_remove(); -} - -//Function Number: 9 -carepackagedrone_delete() -{ - if(isdefined(self.usableent)) - { - self.usableent maps\mp\_utility::makegloballyunusablebytype(); - self.usableent delete(); - } - - self notify("explode"); - carepackagedrone_remove(); -} - -//Function Number: 10 -carepackagedrone_remove() -{ - maps\mp\_utility::decrementfauxvehiclecount(); - self delete(); -} - -//Function Number: 11 -addtocarepackagedronelist() -{ - level.carepackagedrones[level.carepackagedrones.size] = self; -} - -//Function Number: 12 -removefromcarepackagedronelistondeath() -{ - var_00 = self getentitynumber(); - self waittill("death"); - level.carepackagedrones = common_scripts\utility::array_remove(level.carepackagedrones,self); -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/killstreaks/_killstreaks.gsc b/AW/PC/MP/maps/mp/killstreaks/_killstreaks.gsc deleted file mode 100644 index 5cb4fea..0000000 --- a/AW/PC/MP/maps/mp/killstreaks/_killstreaks.gsc +++ /dev/null @@ -1,2420 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_killstreaks.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 79 - * Decompile Time: 1249 ms - * Timestamp: 10/27/2023 1:51:56 AM -*******************************************************************/ - -//Function Number: 1 -onplayerconnect() -{ - for(;;) - { - level waittill("connected",var_00); - if(!isdefined(var_00.pers["killstreaks"])) - { - var_00.pers["killstreaks"] = []; - } - - if(!isdefined(var_00.pers["kID"])) - { - var_00.pers["kID"] = 10; - } - - var_00.lifeid = 0; - var_00.curdefvalue = 0; - if(isdefined(var_00.pers["deaths"])) - { - var_00.lifeid = var_00.pers["deaths"]; - } - - var_00.spupdatetotal = 0; - if(getdvarint("virtualLobbyActive",0)) - { - return; - } - - var_00 thread onplayerspawned(); - } -} - -//Function Number: 2 -onplayerspawned() -{ - self endon("disconnect"); - for(;;) - { - common_scripts\utility::waittill_any("spawned_player","faux_spawn"); - thread killstreakusewaiter(); - thread streaknotifytracker(); - thread waitforchangeteam(); - thread streakselectuptracker(); - thread streakselectdowntracker(); - if(!level.console) - { - thread pc_watchstreakuse(); - } - - if(!isdefined(self.pers["killstreaks"][0])) - { - initplayerkillstreaks(); - } - - if(!isdefined(self.earnedstreaklevel)) - { - self.earnedstreaklevel = 0; - } - - if(!isdefined(self.adrenaline) || self.adrenaline == 0) - { - self.adrenaline = self.pers["ks_totalPoints"]; - self.adrenalinesupport = self.pers["ks_totalPointsSupport"]; - updatestreakcount(); - for(var_00 = 0;var_00 < level.killstreak_stacking_start_slot;var_00++) - { - var_01 = self.pers["killstreaks"][var_00].streakname; - var_02 = self.pers["killstreaks"][var_00].available; - if(isdefined(var_01)) - { - if(var_00 == level.killstreak_gimme_slot && !isdefined(var_02) || !var_02) - { - continue; - } - - var_03 = maps\mp\_utility::getkillstreakindex(self.pers["killstreaks"][var_00].streakname); - var_04 = "ks_icon" + common_scripts\utility::tostring(var_00); - self setclientomnvar(var_04,var_03); - } - } - - updatestreakicons(0); - } - - updatestreakslots(); - giveownedkillstreakitem(); - updatestreakcount(); - } -} - -//Function Number: 3 -updatestreakicons(param_00) -{ - for(var_01 = 0;var_01 < level.killstreak_stacking_start_slot;var_01++) - { - if(!param_00 && var_01 == level.killstreak_gimme_slot) - { - continue; - } - - var_02 = "ks_icon" + common_scripts\utility::tostring(var_01); - self setclientomnvar(var_02,0); - var_03 = self getclientomnvar("ks_hasStreak"); - var_04 = var_03 & ~1 << var_01 & ~1 << var_01 + level.killstreak_stacking_start_slot; - self setclientomnvar("ks_hasStreak",var_04); - } - - var_05 = 1; - if(isdefined(self.killstreaks)) - { - foreach(var_07 in self.killstreaks) - { - var_08 = self.pers["killstreaks"][var_05]; - var_08.streakname = var_07; - var_09 = var_08.streakname; - var_02 = "ks_icon" + common_scripts\utility::tostring(var_05); - self setclientomnvar(var_02,maps\mp\_utility::getkillstreakindex(var_09)); - var_03 = self getclientomnvar("ks_hasStreak"); - var_04 = var_03 & ~1 << var_05; - if(issupportstreak(self,var_07)) - { - var_04 = var_04 | 1 << var_05 + level.killstreak_stacking_start_slot; - } - else - { - var_04 = var_04 & ~1 << var_05 + level.killstreak_stacking_start_slot; - } - - self setclientomnvar("ks_hasStreak",var_04); - var_05++; - } - } -} - -//Function Number: 4 -initplayerkillstreaks() -{ - var_00 = spawnstruct(); - var_00.available = 0; - var_00.streakname = undefined; - var_00.earned = 0; - var_00.awardxp = undefined; - var_00.owner = undefined; - var_00.kid = undefined; - var_00.lifeid = undefined; - var_00.isgimme = 1; - var_00.nextslot = undefined; - self.pers["killstreaks"][level.killstreak_gimme_slot] = var_00; - for(var_01 = level.killstreak_slot_1;var_01 < level.killstreak_stacking_start_slot;var_01++) - { - var_02 = spawnstruct(); - var_02.available = 0; - var_02.streakname = undefined; - var_02.earned = 1; - var_02.awardxp = 1; - var_02.owner = undefined; - var_02.kid = undefined; - var_02.lifeid = -1; - var_02.isgimme = 0; - self.pers["killstreaks"][var_01] = var_02; - } - - updatestreakicons(1); - self setclientomnvar("ks_selectedIndex",-1); - var_03 = self getclientomnvar("ks_hasStreak"); - var_04 = var_03 & ~1 << level.killstreak_stacking_start_slot; - self setclientomnvar("ks_hasStreak",var_04); -} - -//Function Number: 5 -issupportstreak(param_00,param_01) -{ - var_02 = getarraykeys(self.killstreakmodules); - foreach(var_04 in var_02) - { - var_05 = getstreakmodulebasekillstreak(var_04); - if(var_05 == param_01) - { - var_06 = tablelookup(level.ks_modules_table,level.ks_module_ref_column,var_04,level.ks_module_support_column); - if(isdefined(var_06) && var_06 != "" && var_06 != "0") - { - return 1; - } - } - } - - return 0; -} - -//Function Number: 6 -updatestreakcount() -{ - if(!isdefined(self.pers["killstreaks"])) - { - for(var_00 = level.killstreak_slot_1;var_00 < level.killstreak_stacking_start_slot;var_00++) - { - self setclientomnvar("ks_count" + common_scripts\utility::tostring(var_00),0); - } - - self setclientomnvar("ks_count_updated",1); - return; - } - - for(var_00 = level.killstreak_slot_1;var_00 < level.killstreak_stacking_start_slot;var_00++) - { - var_01 = self.pers["killstreaks"][var_00].streakname; - var_02 = "ks_count" + common_scripts\utility::tostring(var_00); - var_03 = "ks_points" + common_scripts\utility::tostring(var_00); - if(!isdefined(var_01)) - { - self setclientomnvar(var_02,0); - continue; - } - - var_04 = getstreakcost(self.pers["killstreaks"][var_00].streakname); - if(issupportstreak(self,var_01)) - { - var_05 = self.adrenalinesupport / var_04; - var_06 = var_04 - self.adrenalinesupport; - } - else - { - var_05 = self.adrenaline / var_04; - var_06 = var_04 - self.adrenaline; - } - - if(var_05 >= 1) - { - var_05 = 0; - var_06 = var_04; - } - - self setclientomnvar(var_03,var_06); - self setclientomnvar(var_02,var_05); - } - - self setclientomnvar("ks_count_updated",1); -} - -//Function Number: 7 -getmaxstreakcost(param_00) -{ - if(!isdefined(self.killstreaks)) - { - return 0; - } - - var_01 = 0; - foreach(var_03 in self.killstreaks) - { - var_04 = issupportstreak(self,var_03); - if((param_00 && !var_04) || !param_00 && var_04) - { - continue; - } - - var_05 = getstreakcost(var_03); - if(var_05 > var_01) - { - var_01 = var_05; - } - } - - return var_01; -} - -//Function Number: 8 -updatestreakslots() -{ - if(!maps\mp\_utility::isreallyalive(self)) - { - return; - } - - var_00 = self.pers["killstreaks"]; - var_01 = 0; - for(var_02 = 0;var_02 < level.killstreak_stacking_start_slot;var_02++) - { - if(isdefined(var_00[var_02]) && isdefined(var_00[var_02].streakname)) - { - var_03 = self getclientomnvar("ks_hasStreak"); - if(var_00[var_02].available == 1) - { - var_04 = var_03 | 1 << var_02; - } - else - { - var_04 = var_04 & ~1 << var_03; - } - - self setclientomnvar("ks_hasStreak",var_04); - if(var_00[var_02].available == 1) - { - var_01++; - } - } - } - - if(isdefined(self.killstreakindexweapon)) - { - self setclientomnvar("ks_selectedIndex",self.killstreakindexweapon); - return; - } - - self setclientomnvar("ks_selectedIndex",-1); -} - -//Function Number: 9 -waitforchangeteam() -{ - self endon("disconnect"); - self endon("faux_spawn"); - self notify("waitForChangeTeam"); - self endon("waitForChangeTeam"); - for(;;) - { - self waittill("joined_team"); - clearkillstreaks(1); - } -} - -//Function Number: 10 -killstreakusepressed() -{ - var_00 = self.pers["killstreaks"]; - var_01 = var_00[self.killstreakindexweapon].streakname; - var_02 = var_00[self.killstreakindexweapon].lifeid; - var_03 = var_00[self.killstreakindexweapon].earned; - var_04 = var_00[self.killstreakindexweapon].awardxp; - var_05 = var_00[self.killstreakindexweapon].kid; - var_06 = var_00[self.killstreakindexweapon].isgimme; - var_07 = var_00[self.killstreakindexweapon].modules; - var_08 = undefined; - var_09 = undefined; - var_0A = undefined; - if(self.killstreakindexweapon == level.killstreak_gimme_slot) - { - var_09 = var_00[level.killstreak_gimme_slot].nextslot; - } - - if(!maps\mp\_utility::validateusestreak(var_01)) - { - return 0; - } - - var_0B = 0; - if(maps\mp\_utility::_hasperk("specialty_explosivebullets") && !issubstr(var_01,"explosive_ammo")) - { - var_0B = 1; - } - - if(issubstr(var_01,"airdrop")) - { - if(!self [[ level.killstreakfuncs[var_01] ]](var_02,var_05,var_07)) - { - return 0; - } - } - else if(!self [[ level.killstreakfuncs[var_01] ]](var_02,var_07)) - { - return 0; - } - - if(var_0B) - { - maps\mp\_utility::_unsetperk("specialty_explosivebullets"); - } - - if(isdefined(var_09) && var_01 != var_00[self.killstreakindexweapon].streakname) - { - var_0A = 1; - var_08 = var_09; - } - - thread updatekillstreaks(var_0A,var_08); - usedkillstreak(var_01,var_07,var_04); - return 1; -} - -//Function Number: 11 -usedkillstreak(param_00,param_01,param_02) -{ - maps\mp\_utility::incplayerstat("killStreaksUsed",1); - if(param_02) - { - thread maps\mp\gametypes\_missions::usehardpoint(param_00); - } - - var_03 = self.team; - var_04 = var_03 + "_friendly_" + param_00 + "_inbound"; - var_05 = var_03 + "_enemy_" + param_00 + "_inbound"; - if(param_00 == "emp") - { - var_06 = maps\mp\killstreaks\_emp::getmodulelineemp(param_01); - var_04 = var_04 + var_06; - var_05 = var_05 + var_06; - } - - if(level.teambased) - { - thread maps\mp\_utility::leaderdialog(var_04,var_03); - if(getkillstreakinformenemy(param_00)) - { - thread maps\mp\_utility::leaderdialog(var_05,level.otherteam[var_03]); - } - } - else - { - thread maps\mp\_utility::leaderdialogonplayer(var_04); - if(getkillstreakinformenemy(param_00)) - { - var_07[0] = self; - thread maps\mp\_utility::leaderdialog(var_05,undefined,undefined,var_07); - } - } - - if(isdefined(level.mapkillstreak)) - { - if(param_00 == level.mapkillstreak) - { - var_08 = getmatchdata("players",self.clientid,"numberOfMapstreaksUsed"); - var_08++; - setmatchdata("players",self.clientid,"numberOfMapstreaksUsed",maps\mp\_utility::clamptobyte(var_08)); - } - } -} - -//Function Number: 12 -updatekillstreaks(param_00,param_01) -{ - if(!isdefined(param_00)) - { - self.pers["killstreaks"][self.killstreakindexweapon].available = 0; - if(self.killstreakindexweapon == level.killstreak_gimme_slot) - { - self.pers["killstreaks"][self.pers["killstreaks"][level.killstreak_gimme_slot].nextslot] = undefined; - var_02 = undefined; - var_03 = undefined; - var_04 = self.pers["killstreaks"]; - for(var_05 = level.killstreak_stacking_start_slot;var_05 < var_04.size;var_05++) - { - if(!isdefined(var_04[var_05]) || !isdefined(var_04[var_05].streakname)) - { - continue; - } - - var_02 = var_04[var_05].streakname; - if(isdefined(var_04[var_05].modules)) - { - var_03 = var_04[var_05].modules; - } - - var_04[level.killstreak_gimme_slot].nextslot = var_05; - } - - if(isdefined(var_02)) - { - var_04[level.killstreak_gimme_slot].available = 1; - var_04[level.killstreak_gimme_slot].streakname = var_02; - if(isdefined(var_03)) - { - var_04[level.killstreak_gimme_slot].modules = var_03; - } - - var_06 = maps\mp\_utility::getkillstreakindex(var_02); - var_07 = "ks_icon" + common_scripts\utility::tostring(level.killstreak_gimme_slot); - self setclientomnvar(var_07,var_06); - if(!level.console && !common_scripts\utility::is_player_gamepad_enabled()) - { - var_08 = maps\mp\_utility::getkillstreakweapon(var_02,var_03); - maps\mp\_utility::_setactionslot(4,"weapon",var_08); - } - } - else - { - var_07 = "ks_icon" + common_scripts\utility::tostring(level.killstreak_gimme_slot); - self setclientomnvar(var_07,0); - } - } - } - - if(isdefined(param_01)) - { - self.pers["killstreaks"][param_01] = undefined; - } - - var_09 = undefined; - for(var_05 = 0;var_05 < level.killstreak_stacking_start_slot;var_05++) - { - var_0A = self.pers["killstreaks"][var_05]; - if(isdefined(var_0A) && isdefined(var_0A.streakname) && var_0A.available) - { - var_09 = var_05; - } - } - - if(isdefined(var_09)) - { - if(level.console || common_scripts\utility::is_player_gamepad_enabled()) - { - self.killstreakindexweapon = var_09; - self.pers["lastEarnedStreak"] = self.pers["killstreaks"][var_09].streakname; - giveselectedkillstreakitem(); - } - else - { - for(var_05 = 0;var_05 < level.killstreak_stacking_start_slot;var_05++) - { - var_0A = self.pers["killstreaks"][var_05]; - if(isdefined(var_0A) && isdefined(var_0A.streakname) && var_0A.available) - { - var_08 = maps\mp\_utility::getkillstreakweapon(var_0A.streakname,var_0A.modules); - var_0B = self getweaponslistitems(); - var_0C = 0; - for(var_0D = 0;var_0D < var_0B.size;var_0D++) - { - if(var_08 == var_0B[var_0D]) - { - var_0C = 1; - break; - } - } - - if(!var_0C) - { - maps\mp\_utility::_giveweapon(var_08); - } - else if(issubstr(var_08,"airdrop_")) - { - self setweaponammoclip(var_08,1); - } - - maps\mp\_utility::_setactionslot(var_05 + 4,"weapon",var_08); - } - } - - self.killstreakindexweapon = undefined; - self.pers["lastEarnedStreak"] = self.pers["killstreaks"][var_09].streakname; - updatestreakslots(); - } - } - else - { - self.killstreakindexweapon = undefined; - self.pers["lastEarnedStreak"] = undefined; - updatestreakslots(); - } - - self setclientomnvar("ks_used",1); -} - -//Function Number: 13 -clearkillstreaks(param_00) -{ - if(!isdefined(param_00)) - { - param_00 = 1; - } - - var_01 = self.pers["killstreaks"]; - if(!isdefined(var_01)) - { - return; - } - - for(var_02 = var_01.size - 1;var_02 > -1;var_02--) - { - self.pers["killstreaks"][var_02] = undefined; - } - - initplayerkillstreaks(); - resetadrenaline(param_00); - self.killstreakindexweapon = undefined; - updatestreakslots(); -} - -//Function Number: 14 -getfirstprimaryweapon() -{ - var_00 = self getweaponslistprimaries(); - return var_00[0]; -} - -//Function Number: 15 -istryingtousekillstreakslot() -{ - return isdefined(self.tryingtouseks) && self.tryingtouseks && isdefined(self.killstreakindexweapon); -} - -//Function Number: 16 -waitforkillstreakweaponswitchstarted() -{ - self endon("weapon_switch_invalid"); - self waittill("weapon_switch_started",var_00); - self notify("killstreak_weapon_change","switch_started",var_00); -} - -//Function Number: 17 -waitforkillstreakweaponswitchinvalid() -{ - self endon("weapon_switch_started"); - self waittill("weapon_switch_invalid",var_00); - self notify("killstreak_weapon_change","switch_invalid",var_00); -} - -//Function Number: 18 -waitforkillstreakweaponchange() -{ - childthread waitforkillstreakweaponswitchstarted(); - childthread waitforkillstreakweaponswitchinvalid(); - self waittill("killstreak_weapon_change",var_00,var_01); - if(var_00 == "switch_started") - { - return var_01; - } - - var_02 = maps\mp\_utility::getkillstreakweapon(self.pers["killstreaks"][self.killstreakindexweapon].streakname,self.pers["killstreaks"][self.killstreakindexweapon].modules); - self switchtoweapon(var_02); - self waittill("weapon_switch_started",var_03); - if(var_03 != var_02) - { - return undefined; - } - - return var_02; -} - -//Function Number: 19 -updateaerialkillstreakmarker() -{ - foreach(var_01 in level.players) - { - var_01 notify("updateKillStreakMarker"); - } -} - -//Function Number: 20 -aerialkillstreakmarker() -{ - self endon("disconnect"); - self endon("finish_death"); - self endon("joined_team"); - self endon("faux_spawn"); - level endon("game_ended"); - var_00 = maps\mp\gametypes\_gameobjects::getenemyteam(self.team); - for(;;) - { - common_scripts\utility::waittill_any("weapon_change","updateKillStreakMarker"); - var_01 = self getcurrentweapon(); - var_02 = weaponclass(var_01); - if(var_02 != "rocketlauncher") - { - continue; - } - - var_03 = []; - var_03 = getaerialkillstreakarray(var_00); - if(var_03.size == 0) - { - continue; - } - - foreach(var_05 in var_03) - { - createthreaticon(var_05,self); - } - } -} - -//Function Number: 21 -getaerialkillstreakarray(param_00) -{ - var_01 = []; - var_02 = []; - if(maps\mp\_utility::invirtuallobby()) - { - return var_01; - } - - if(level.teambased) - { - var_02 = level.uavmodels[param_00]; - } - else - { - var_02 = level.uavmodels; - } - - foreach(var_04 in var_02) - { - if(isdefined(var_04.isleaving) && var_04.isleaving) - { - continue; - } - - if(isdefined(var_04.orbit) && var_04.orbit) - { - continue; - } - - var_01[var_01.size] = var_04; - } - - foreach(var_07 in level.planes) - { - if(!level.teambased || var_07.team == param_00) - { - var_01[var_01.size] = var_07; - } - } - - if(level.orbitalsupportinuse && isdefined(level.orbitalsupport_planemodel) && isdefined(level.orbitalsupport_planemodel.owner) && isdefined(level.orbitalsupport_planemodel.showthreatmarker) && level.orbitalsupport_planemodel.showthreatmarker) - { - if(level.teambased && level.orbitalsupport_planemodel.owner.team == param_00) - { - var_01[var_01.size] = level.orbitalsupport_planemodel; - } - - if(!level.teambased) - { - var_01[var_01.size] = level.orbitalsupport_planemodel; - } - } - - if(isdefined(level.getaerialkillstreakarray)) - { - var_09 = [[ level.getaerialkillstreakarray ]](param_00); - foreach(var_0B in var_09) - { - var_01[var_01.size] = var_0B; - } - } - - return var_01; -} - -//Function Number: 22 -createthreaticon(param_00,param_01) -{ - if(!isdefined(param_00.waypoint)) - { - param_00.waypoint = []; - } - - var_02 = param_01.guid; - if(isdefined(param_00.waypoint[var_02])) - { - return; - } - - param_00.waypoint[var_02] = newhudelem(); - param_00.waypoint[var_02] setshader("waypoint_threat_hostile",1,1); - param_00.waypoint[var_02].alpha = 0.75; - param_00.waypoint[var_02].color = (1,1,1); - param_00.waypoint[var_02].x = param_00.origin[0]; - param_00.waypoint[var_02].y = param_00.origin[1]; - param_00.waypoint[var_02].z = param_00.origin[2]; - param_00.waypoint[var_02] setwaypoint(1,1,1); - param_00.waypoint[var_02] settargetent(param_00); - param_00.waypoint[var_02].showinkillcam = 0; - param_00.waypoint[var_02].archived = 0; - level thread removethreaticon(self,param_00,param_00.waypoint[var_02]); -} - -//Function Number: 23 -removethreaticon(param_00,param_01,param_02) -{ - level endon("game_ended"); - param_00 common_scripts\utility::waittill_any_ents(param_00,"death",param_01,"death",param_00,"weapon_change",param_00,"disconnect",param_01,"leaving"); - param_02 destroy(); -} - -//Function Number: 24 -killstreakusewaiter() -{ - self endon("disconnect"); - self endon("finish_death"); - self endon("joined_team"); - self endon("faux_spawn"); - level endon("game_ended"); - self notify("killstreakUseWaiter"); - self endon("killstreakUseWaiter"); - self.lastkillstreak = 0; - if(!isdefined(self.pers["lastEarnedStreak"])) - { - self.pers["lastEarnedStreak"] = undefined; - } - - thread finishdeathwaiter(); - if(!isdefined(self.justswitchedtokillstreakweapon)) - { - self waittill("weapon_change",var_00); - } - else - { - var_00 = self.justswitchedtokillstreakweapon; - self.justswitchedtokillstreakweapon = undefined; - } - - var_01 = maps\mp\_utility::iskillstreakweapon(var_00); - if(!isalive(self)) - { - continue; - } - - if(var_01) - { - } - - if(isdefined(self.ball_carried)) - { - continue; - } - - if(var_01) - { - } - - if(!isdefined(self.killstreakindexweapon)) - { - if(!level.console) - { - if(isdefined(self.lastdroppableweapon) && var_00 == "killstreak_predator_missile_mp") - { - self switchtoweapon(self.lastdroppableweapon); - } - } - - continue; - } - - if(var_01) - { - } - - if(isdefined(self.manuallyjoiningkillstreak) && self.manuallyjoiningkillstreak) - { - continue; - } - - if(var_01) - { - } - - if(isdefined(self.iscarrying) && self.iscarrying) - { - continue; - } - - if(var_01) - { - } - - if(!isdefined(self.pers["killstreaks"][self.killstreakindexweapon]) || !isdefined(self.pers["killstreaks"][self.killstreakindexweapon].streakname)) - { - continue; - } - - if(var_01) - { - } - - var_02 = maps\mp\_utility::getkillstreakweapon(self.pers["killstreaks"][self.killstreakindexweapon].streakname,self.pers["killstreaks"][self.killstreakindexweapon].modules); - if(var_00 != var_02) - { - if(issubstr(var_00,"turrethead")) - { - self switchtoweapon(self.lastdroppableweapon); - } - - if(maps\mp\_utility::isstrstart(var_00,"airdrop_")) - { - self takeweapon(var_00); - self switchtoweapon(self.lastdroppableweapon); - } - - continue; - } - - if(var_01) - { - } - - waittillframeend; - var_03 = self.pers["killstreaks"][self.killstreakindexweapon].streakname; - var_04 = self.pers["killstreaks"][self.killstreakindexweapon].isgimme; - var_05 = self.pers["killstreaks"][self.killstreakindexweapon].modules; - var_06 = playergetkillstreaklastweapon(); - var_07 = self.killstreakindexweapon; - if(shouldswitchweaponafterraiseanimation(var_02)) - { - childthread switchweaponafterraiseanimation(var_02,var_06); - } - - var_08 = gettime(); - var_09 = killstreakusepressed(); - var_0A = gettime(); - var_0B = var_0A - var_08 / 1000; - if(!var_09 && !isalive(self) && !self hasweapon(common_scripts\utility::getlastweapon())) - { - var_06 = playergetkillstreaklastweapon(var_09); - maps\mp\_utility::_giveweapon(var_06); - } - - if(var_09) - { - thread waittakekillstreakweapon(var_02); - } - - if(shouldswitchweaponpostkillstreak(var_09,var_02,var_03,var_05) && !isdefined(self.justswitchedtokillstreakweapon)) - { - switch(var_02) - { - case "killstreak_predator_missile_mp": - break; - } - } -} - -//Function Number: 25 -switchweaponafterraiseanimation(param_00,param_01) -{ - switch(param_00) - { - case "killstreak_uav_mp": - break; - - default: - break; - } -} - -//Function Number: 26 -playergetkillstreaklastweapon(param_00) -{ - if((!isdefined(param_00) || isdefined(param_00) && !param_00) && !isalive(self) && !self hasweapon(common_scripts\utility::getlastweapon())) - { - return common_scripts\utility::getlastweapon(); - } - - if(!self hasweapon(common_scripts\utility::getlastweapon())) - { - return getfirstprimaryweapon(); - } - - return common_scripts\utility::getlastweapon(); -} - -//Function Number: 27 -waittakekillstreakweapon(param_00) -{ - self endon("disconnect"); - self endon("finish_death"); - self endon("joined_team"); - level endon("game_ended"); - self endon("faux_spawn"); - self notify("waitTakeKillstreakWeapon"); - self endon("waitTakeKillstreakWeapon"); - var_01 = self getcurrentweapon() == "none"; - self waittill("weapon_change",var_02); - var_03 = self getweaponslistprimaries(); - if(common_scripts\utility::array_contains(var_03,var_02)) - { - takekillstreakweaponifnodupe(param_00); - if(!level.console && !common_scripts\utility::is_player_gamepad_enabled()) - { - self.killstreakindexweapon = undefined; - return; - } - - return; - } - - if(var_02 != param_00) - { - thread waittakekillstreakweapon(param_00); - return; - } - - if(var_01 && self getcurrentweapon() == param_00) - { - thread waittakekillstreakweapon(param_00); - return; - } -} - -//Function Number: 28 -takekillstreakweaponifnodupe(param_00) -{ - var_01 = 0; - var_02 = self.pers["killstreaks"]; - for(var_03 = 0;var_03 < var_02.size;var_03++) - { - if(isdefined(var_02[var_03]) && isdefined(var_02[var_03].streakname) && var_02[var_03].available) - { - if(param_00 == maps\mp\_utility::getkillstreakweapon(var_02[var_03].streakname,var_02[var_03].modules)) - { - var_01 = 1; - break; - } - } - } - - if(var_01) - { - if(level.console || common_scripts\utility::is_player_gamepad_enabled()) - { - if(isdefined(self.killstreakindexweapon) && param_00 != maps\mp\_utility::getkillstreakweapon(var_02[self.killstreakindexweapon].streakname,var_02[self.killstreakindexweapon].modules)) - { - self takeweapon(param_00); - return; - } - - if(isdefined(self.killstreakindexweapon) && param_00 == maps\mp\_utility::getkillstreakweapon(var_02[self.killstreakindexweapon].streakname,var_02[self.killstreakindexweapon].modules)) - { - self takeweapon(param_00); - maps\mp\_utility::_giveweapon(param_00,0); - maps\mp\_utility::_setactionslot(4,"weapon",param_00); - return; - } - - return; - } - - self takeweapon(param_00); - maps\mp\_utility::_giveweapon(param_00,0); - return; - } - - self takeweapon(param_00); -} - -//Function Number: 29 -shouldswitchweaponpostkillstreak(param_00,param_01,param_02,param_03) -{ - if(shouldswitchweaponafterraiseanimation(param_01)) - { - return 0; - } - - if(!param_00) - { - return 1; - } - - switch(param_02) - { - case "warbird": - break; - - case "zm_ugv": - case "assault_ugv": - break; - } -} - -//Function Number: 30 -shouldswitchweaponafterraiseanimation(param_00) -{ - switch(param_00) - { - case "killstreak_uav_mp": - break; - - default: - break; - } -} - -//Function Number: 31 -finishdeathwaiter() -{ - self endon("disconnect"); - level endon("game_ended"); - self endon("faux_spawn"); - self notify("finishDeathWaiter"); - self endon("finishDeathWaiter"); - self waittill("death"); - wait(0.05); - self notify("finish_death"); - self.pers["lastEarnedStreak"] = undefined; -} - -//Function Number: 32 -checkstreakreward() -{ - foreach(var_01 in self.killstreaks) - { - var_02 = getstreakcost(var_01); - var_03 = self.adrenaline; - var_04 = self.previousadrenaline; - if(issupportstreak(self,var_01)) - { - var_03 = self.adrenalinesupport; - var_04 = self.previousadrenalinesupport; - } - - if(var_02 > var_03 && var_03 > var_04) - { - continue; - } - - if(var_04 < var_02 && var_03 >= var_02 || var_03 <= var_04) - { - earnkillstreak(var_01,var_02); - } - } -} - -//Function Number: 33 -killstreakearned(param_00) -{ - if(isdefined(self.class_num)) - { - var_01 = self.class_num; - if(var_01 == -1) - { - var_02 = self.pers["copyCatLoadout"]["className"]; - var_01 = maps\mp\_utility::getclassindex(var_02); - if(issubstr(var_02,"practice")) - { - var_01 = self.pers["copyCatLoadout"]["practiceClassNum"]; - } - } - - if(issubstr(self.class,"custom")) - { - if(self getcacplayerdata(var_01,"assaultStreaks",0,"streak") == param_00) - { - self.firstkillstreakearned = gettime(); - return; - } - - if(self getcacplayerdata(var_01,"assaultStreaks",2,"streak") == param_00 && isdefined(self.firstkillstreakearned)) - { - if(gettime() - self.firstkillstreakearned < 20000) - { - thread maps\mp\gametypes\_missions::genericchallenge("wargasm"); - return; - } - - return; - } - - return; - } - } -} - -//Function Number: 34 -earnkillstreak(param_00,param_01) -{ - self.earnedstreaklevel = param_01; - var_02 = getkillstreakmodules(self,param_00); - var_03 = getnextkillstreakslotindex(param_00,1); - thread maps\mp\_events::earnedkillstreakevent(param_00,param_01,var_02,var_03); - thread killstreakearned(param_00); - self.pers["lastEarnedStreak"] = param_00; - givekillstreak(param_00,1,1,self,var_02); - if(maps\mp\_utility::_hasperk("specialty_class_hardline")) - { - maps\mp\gametypes\_missions::processchallenge("ch_perk_hardline"); - } -} - -//Function Number: 35 -getkillstreakmodules(param_00,param_01) -{ - var_02 = []; - var_03 = getarraykeys(self.killstreakmodules); - foreach(var_05 in var_03) - { - var_06 = getstreakmodulebasekillstreak(var_05); - if(var_06 == param_01) - { - var_02[var_02.size] = var_05; - } - } - - return var_02; -} - -//Function Number: 36 -getnexthordekillstreakslotindex(param_00) -{ - if(!isdefined(param_00)) - { - param_00 = level.killstreak_gimme_slot; - } - - return param_00; -} - -//Function Number: 37 -givehordekillstreak(param_00,param_01,param_02,param_03,param_04) -{ - self endon("givingLoadout"); - if(!isdefined(level.killstreakfuncs[param_00]) || tablelookup(level.killstreak_string_table,1,param_00,0) == "") - { - return; - } - - if(!isdefined(self.pers["killstreaks"])) - { - return; - } - - self endon("disconnect"); - var_05 = undefined; - var_06 = self.pers["killstreaks"].size; - if(isdefined(param_03)) - { - var_06 = param_03; - } - - if(!isdefined(self.pers["killstreaks"][var_06])) - { - self.pers["killstreaks"][var_06] = spawnstruct(); - } - - var_07 = self.pers["killstreaks"][var_06]; - var_07.available = 0; - var_07.streakname = param_00; - var_07.earned = 0; - var_07.awardxp = 0; - var_07.owner = param_01; - var_07.kid = self.pers["kID"]; - var_07.lifeid = -1; - var_07.isgimme = 1; - var_05 = getnexthordekillstreakslotindex(param_03); - if(!isdefined(param_02) || !isarray(param_02)) - { - param_02 = getkillstreakmodules(self,param_00); - } - - var_07.modules = param_02; - self.pers["killstreaks"][var_05].nextslot = var_06; - self.pers["killstreaks"][var_05].streakname = param_00; - var_08 = maps\mp\_utility::getkillstreakindex(param_00); - var_09 = "ks_icon" + common_scripts\utility::tostring(var_05); - self setclientomnvar(var_09,var_08); - if(!param_04) - { - updatestreakslots(); - if(isdefined(level.killstreaksetupfuncs[param_00])) - { - self [[ level.killstreaksetupfuncs[param_00] ]](); - } - - self setclientomnvar("ks_acquired",1); - return; - } - - var_0A = self.pers["killstreaks"][var_05]; - var_0A.available = 1; - var_0A.earned = 0; - var_0A.awardxp = 0; - var_0A.owner = param_01; - var_0A.kid = self.pers["kID"]; - if(isdefined(param_02) && isarray(param_02)) - { - var_0A.modules = param_02; - } - else - { - var_0A.modules = getkillstreakmodules(self,param_00); - } - - self.pers["kID"]++; - var_0A.lifeid = -1; - if(level.console || common_scripts\utility::is_player_gamepad_enabled()) - { - var_0B = maps\mp\_utility::getkillstreakweapon(param_00,param_02); - givekillstreakweapon(var_0B); - if(isdefined(self.killstreakindexweapon)) - { - param_00 = self.pers["killstreaks"][self.killstreakindexweapon].streakname; - var_0C = maps\mp\_utility::getkillstreakweapon(param_00,param_02); - var_0D = self getcurrentweapon(); - if(var_0D != var_0C && !issubstr(var_0D,"turrethead")) - { - self.killstreakindexweapon = var_05; - } - } - else - { - self.killstreakindexweapon = var_05; - } - } - else - { - if(level.killstreak_gimme_slot == var_05 && self.pers["killstreaks"][level.killstreak_gimme_slot].nextslot > level.killstreak_stacking_start_slot) - { - var_0E = self.pers["killstreaks"][level.killstreak_gimme_slot].nextslot - 1; - var_0F = maps\mp\_utility::getkillstreakweapon(self.pers["killstreaks"][var_0E].streakname,self.pers["killstreaks"][var_0E].modules); - self takeweapon(var_0F); - } - - var_0C = maps\mp\_utility::getkillstreakweapon(param_00,param_02); - maps\mp\_utility::_giveweapon(var_0C,0); - maps\mp\_utility::_setactionslot(var_05 + 4,"weapon",var_0C); - } - - updatestreakslots(); - if(isdefined(level.killstreaksetupfuncs[param_00])) - { - self [[ level.killstreaksetupfuncs[param_00] ]](); - } - - self setclientomnvar("ks_acquired",1); -} - -//Function Number: 38 -getnextkillstreakslotindex(param_00,param_01,param_02) -{ - var_03 = undefined; - if(!isdefined(param_01) || param_01 == 0) - { - if(!isdefined(param_02)) - { - var_03 = level.killstreak_gimme_slot; - } - else - { - var_03 = param_02; - } - } - else - { - for(var_04 = level.killstreak_slot_1;var_04 < level.killstreak_stacking_start_slot;var_04++) - { - var_05 = self.pers["killstreaks"][var_04]; - if(isdefined(var_05) && isdefined(var_05.streakname) && param_00 == var_05.streakname) - { - var_03 = var_04; - break; - } - } - } - - return var_03; -} - -//Function Number: 39 -givekillstreak(param_00,param_01,param_02,param_03,param_04,param_05) -{ - self endon("givingLoadout"); - if(!isdefined(level.killstreakfuncs[param_00]) || tablelookup(level.killstreak_string_table,1,param_00,0) == "") - { - return; - } - - if(!isdefined(self.pers["killstreaks"])) - { - return; - } - - self endon("disconnect"); - var_06 = undefined; - if(!isdefined(param_01) || param_01 == 0) - { - var_07 = self.pers["killstreaks"].size; - if(isdefined(param_05)) - { - var_07 = param_05; - } - - if(!isdefined(self.pers["killstreaks"][var_07])) - { - self.pers["killstreaks"][var_07] = spawnstruct(); - } - - var_08 = self.pers["killstreaks"][var_07]; - var_08.available = 0; - var_08.streakname = param_00; - var_08.earned = 0; - var_08.awardxp = isdefined(param_02) && param_02; - var_08.owner = param_03; - var_08.kid = self.pers["kID"]; - var_08.lifeid = -1; - var_08.isgimme = 1; - var_06 = getnextkillstreakslotindex(param_00,param_01,param_05); - if(!isdefined(param_04) || !isarray(param_04)) - { - param_04 = getkillstreakmodules(self,param_00); - } - - var_08.modules = param_04; - self.pers["killstreaks"][var_06].nextslot = var_07; - self.pers["killstreaks"][var_06].streakname = param_00; - var_09 = maps\mp\_utility::getkillstreakindex(param_00); - var_0A = "ks_icon" + common_scripts\utility::tostring(var_06); - self setclientomnvar(var_0A,var_09); - } - else - { - var_06 = getnextkillstreakslotindex(param_00,param_01,param_05); - if(!isdefined(var_06)) - { - return; - } - } - - var_0E = self.pers["killstreaks"][var_06]; - var_0E.available = 1; - var_0E.earned = isdefined(param_01) && param_01; - var_0E.awardxp = isdefined(param_02) && param_02; - var_0E.owner = param_03; - var_0E.kid = self.pers["kID"]; - if(isdefined(param_04) && isarray(param_04)) - { - var_0E.modules = param_04; - } - else - { - var_0E.modules = getkillstreakmodules(self,param_00); - } - - self.pers["kID"]++; - if(!var_0E.earned) - { - var_0E.lifeid = -1; - } - else - { - var_0E.lifeid = self.pers["deaths"]; - } - - if(level.console || common_scripts\utility::is_player_gamepad_enabled()) - { - var_0F = maps\mp\_utility::getkillstreakweapon(param_00,param_04); - givekillstreakweapon(var_0F); - if(isdefined(self.killstreakindexweapon)) - { - param_00 = self.pers["killstreaks"][self.killstreakindexweapon].streakname; - var_10 = maps\mp\_utility::getkillstreakweapon(param_00,param_04); - var_11 = self getcurrentweapon(); - if(var_11 != var_10 && !issubstr(var_11,"turrethead")) - { - self.killstreakindexweapon = var_06; - } - } - else - { - self.killstreakindexweapon = var_06; - } - } - else - { - if(level.killstreak_gimme_slot == var_06 && self.pers["killstreaks"][level.killstreak_gimme_slot].nextslot > level.killstreak_stacking_start_slot) - { - var_12 = self.pers["killstreaks"][level.killstreak_gimme_slot].nextslot - 1; - var_13 = maps\mp\_utility::getkillstreakweapon(self.pers["killstreaks"][var_12].streakname,self.pers["killstreaks"][var_12].modules); - self takeweapon(var_13); - } - - var_10 = maps\mp\_utility::getkillstreakweapon(param_00,param_04); - maps\mp\_utility::_giveweapon(var_10,0); - maps\mp\_utility::_setactionslot(var_06 + 4,"weapon",var_10); - } - - updatestreakslots(); - if(isdefined(level.killstreaksetupfuncs[param_00])) - { - self [[ level.killstreaksetupfuncs[param_00] ]](); - } - - if(isdefined(param_01) && param_01 && isdefined(param_02) && param_02) - { - self notify("received_earned_killstreak"); - } - - self setclientomnvar("ks_acquired",1); -} - -//Function Number: 40 -givekillstreakweapon(param_00) -{ - self endon("disconnect"); - if(!level.console && !common_scripts\utility::is_player_gamepad_enabled()) - { - return; - } - - var_01 = self getweaponslistitems(); - foreach(var_03 in var_01) - { - if(!maps\mp\_utility::isstrstart(var_03,"killstreak_") && !maps\mp\_utility::isstrstart(var_03,"airdrop_") && !maps\mp\_utility::isstrstart(var_03,"deployable_")) - { - continue; - } - - if(self getcurrentweapon() == var_03) - { - continue; - } - - while(maps\mp\_utility::ischangingweapon()) - { - wait(0.05); - } - - self takeweapon(var_03); - } - - if(isdefined(self.killstreakindexweapon)) - { - var_05 = self.pers["killstreaks"][self.killstreakindexweapon].streakname; - var_06 = self.pers["killstreaks"][self.killstreakindexweapon].modules; - var_07 = maps\mp\_utility::getkillstreakweapon(var_05,var_06); - if(self getcurrentweapon() != var_07) - { - maps\mp\_utility::_giveweapon(param_00,0); - maps\mp\_utility::_setactionslot(4,"weapon",param_00); - return; - } - - return; - } - - maps\mp\_utility::_giveweapon(param_00,0); - maps\mp\_utility::_setactionslot(4,"weapon",param_00); -} - -//Function Number: 41 -getstreakmodulecost(param_00) -{ - return int(tablelookup(level.ks_modules_table,level.ks_module_ref_column,param_00,level.ks_module_added_points_column)); -} - -//Function Number: 42 -getstreakmodulebasekillstreak(param_00) -{ - return tablelookup(level.ks_modules_table,level.ks_module_ref_column,param_00,level.ks_module_killstreak_ref_column); -} - -//Function Number: 43 -getallstreakmodulescost(param_00) -{ - var_01 = 0; - var_02 = getarraykeys(self.killstreakmodules); - foreach(var_04 in var_02) - { - var_05 = getstreakmodulebasekillstreak(var_04); - if(var_05 == param_00) - { - var_01 = var_01 + self.killstreakmodules[var_04]; - } - } - - return var_01; -} - -//Function Number: 44 -getstreakcost(param_00) -{ - var_01 = int(maps\mp\_utility::getkillstreakkills(param_00)); - if(isplayer(self)) - { - var_01 = var_01 + getallstreakmodulescost(param_00); - } - - if(isdefined(self) && isplayer(self)) - { - if(var_01 > 100 && maps\mp\_utility::_hasperk("specialty_hardline")) - { - var_01 = var_01 - 100; - } - } - - return var_01; -} - -//Function Number: 45 -getkillstreakhint(param_00) -{ - return tablelookupistring(level.killstreak_string_table,1,param_00,5); -} - -//Function Number: 46 -getkillstreakinformenemy(param_00) -{ - return int(tablelookup(level.killstreak_string_table,1,param_00,10)); -} - -//Function Number: 47 -getkillstreakdialog(param_00) -{ - return tablelookup(level.killstreak_string_table,1,param_00,7); -} - -//Function Number: 48 -getkillstreakcrateicon(param_00,param_01) -{ - var_02 = 14; - if(isdefined(param_01) && param_01.size > 0) - { - switch(param_01.size) - { - case 1: - break; - - case 2: - break; - - case 3: - break; - - default: - break; - } - } -} - -//Function Number: 49 -giveownedkillstreakitem(param_00) -{ - var_01 = self.pers["killstreaks"]; - if(level.console || common_scripts\utility::is_player_gamepad_enabled()) - { - var_02 = -1; - var_03 = -1; - for(var_04 = 0;var_04 < level.killstreak_stacking_start_slot;var_04++) - { - if(isdefined(var_01[var_04]) && isdefined(var_01[var_04].streakname) && var_01[var_04].available && getstreakcost(var_01[var_04].streakname) > var_03) - { - var_03 = 0; - if(!var_01[var_04].isgimme) - { - var_03 = getstreakcost(var_01[var_04].streakname); - } - - var_02 = var_04; - } - } - - if(var_02 != -1) - { - self.killstreakindexweapon = var_02; - var_05 = var_01[self.killstreakindexweapon].streakname; - var_06 = self.pers["killstreaks"][self.killstreakindexweapon].modules; - var_07 = maps\mp\_utility::getkillstreakweapon(var_05,var_06); - givekillstreakweapon(var_07); - } - else - { - self.killstreakindexweapon = undefined; - } - } - else - { - var_02 = -1; - var_03 = -1; - for(var_04 = 0;var_04 < level.killstreak_stacking_start_slot;var_04++) - { - if(isdefined(var_01[var_04]) && isdefined(var_01[var_04].streakname) && var_01[var_04].available) - { - var_08 = maps\mp\_utility::getkillstreakweapon(var_01[var_04].streakname,var_01[var_04].modules); - var_09 = self getweaponslistitems(); - var_0A = 0; - for(var_0B = 0;var_0B < var_09.size;var_0B++) - { - if(var_08 == var_09[var_0B]) - { - var_0A = 1; - break; - } - } - - if(!var_0A) - { - maps\mp\_utility::_giveweapon(var_08); - } - else if(issubstr(var_08,"airdrop_")) - { - self setweaponammoclip(var_08,1); - } - - maps\mp\_utility::_setactionslot(var_04 + 4,"weapon",var_08); - if(getstreakcost(var_01[var_04].streakname) > var_03) - { - var_03 = 0; - if(!var_01[var_04].isgimme) - { - var_03 = getstreakcost(var_01[var_04].streakname); - } - - var_02 = var_04; - } - } - } - - if(var_02 != -1) - { - var_05 = var_01[var_02].streakname; - } - - self.killstreakindexweapon = undefined; - } - - updatestreakslots(); -} - -//Function Number: 50 -playerwaittillridekillstreakcomplete() -{ - if(!isdefined(self.remoteridetransition)) - { - return; - } - - self endon("rideKillstreakComplete"); - self waittill("rideKillstreakFailed"); -} - -//Function Number: 51 -playerwaittillridekillstreakblack() -{ - if(!isdefined(self.remoteridetransition)) - { - return; - } - - self endon("rideKillstreakBlack"); - self waittill("rideKillstreakFailed"); -} - -//Function Number: 52 -initridekillstreak(param_00,param_01,param_02,param_03) -{ - if(!isdefined(param_01)) - { - param_01 = 0; - } - - playerdestroyglassbelow(); - common_scripts\utility::_disableusability(); - maps\mp\_utility::freezecontrolswrapper(1); - self.remoteridetransition = 1; - var_04 = initridekillstreak_internal(param_00,param_01,param_02,param_03); - if(isdefined(self)) - { - maps\mp\_utility::freezecontrolswrapper(0); - common_scripts\utility::_enableusability(); - self.remoteridetransition = undefined; - if(var_04 == "success") - { - self notify("rideKillstreakBlack"); - } - else - { - maps\mp\_utility::playerremotekillstreakshowhud(); - self notify("rideKillstreakFailed"); - } - } - - return var_04; -} - -//Function Number: 53 -initridekillstreak_internal(param_00,param_01,param_02,param_03) -{ - thread resetplayeronteamchange(); - var_04 = "none"; - var_05 = 0.75; - if(isdefined(param_00) && param_00 == "coop") - { - var_05 = 0.05; - } - - var_04 = common_scripts\utility::waittill_any_timeout(var_05,"disconnect","death","weapon_switch_started"); - maps\mp\gametypes\_hostmigration::waittillhostmigrationdone(); - if(var_04 == "disconnect") - { - return "disconnect"; - } - - if(var_04 == "death") - { - return "fail"; - } - - if(var_04 == "weapon_switch_started") - { - return "fail"; - } - - if(!isdefined(self) || !isalive(self)) - { - return "fail"; - } - - if(!self isonground() && !self islinked()) - { - return "fail"; - } - - if(isdefined(self.underwater) && self.underwater) - { - return "fail"; - } - - if(level.gameended) - { - return "fail"; - } - - if(maps\mp\_utility::isemped() || maps\mp\_utility::isairdenied()) - { - return "fail"; - } - - maps\mp\_utility::playerremotekillstreakhidehud(); - playerdestroyglassbelow(); - if(param_01) - { - if(!isdefined(param_02)) - { - param_02 = 1; - } - } - else - { - if(!isdefined(param_02)) - { - param_02 = 0.8; - } - - self setclientomnvar("ui_killstreak_blackout",1); - self setclientomnvar("ui_killstreak_blackout_fade_end",gettime() + int(param_02 * 1000)); - thread clearrideintroonteamchange(); - thread clearrideintroonroundtransition(); - } - - var_04 = common_scripts\utility::waittill_any_timeout(param_02,"disconnect","death"); - if(var_04 == "disconnect" || !isdefined(self)) - { - return "disconnect"; - } - - if(!isdefined(param_03)) - { - param_03 = 0.6; - } - - if(param_01) - { - self notify("intro_cleared"); - } - else - { - thread clearrideintro(param_03); - } - - if(var_04 == "death") - { - return "fail"; - } - - if(!isdefined(self) || !isalive(self)) - { - return "fail"; - } - - if(!self isonground() && !self islinked()) - { - return "fail"; - } - - if(isdefined(self.underwater) && self.underwater) - { - return "fail"; - } - - if(level.gameended) - { - return "fail"; - } - - if(maps\mp\_utility::isemped() || maps\mp\_utility::isairdenied()) - { - return "fail"; - } - - maps\mp\gametypes\_hostmigration::waittillhostmigrationdone(); - return "success"; -} - -//Function Number: 54 -clearrideintro(param_00) -{ - self endon("disconnect"); - self endon("joined_team"); - if(isdefined(param_00)) - { - maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(param_00); - } - - var_01 = 0.5; - self setclientomnvar("ui_killstreak_blackout",0); - self setclientomnvar("ui_killstreak_blackout_fade_end",gettime() + int(var_01 * 1000)); - wait(var_01); - if(!isdefined(self)) - { - return; - } - - self notify("rideKillstreakComplete"); -} - -//Function Number: 55 -resetplayeronteamchange() -{ - self endon("rideKillstreakComplete"); - self endon("rideKillstreakFailed"); - self waittill("joined_team"); - maps\mp\_utility::freezecontrolswrapper(0); - self.remoteridetransition = undefined; - if(self.disabledusability) - { - common_scripts\utility::_enableusability(); - } - - if(maps\mp\_utility::isusingremote()) - { - maps\mp\_utility::clearusingremote(); - } -} - -//Function Number: 56 -clearrideintroonteamchange() -{ - self endon("rideKillstreakComplete"); - self endon("rideKillstreakFailed"); - self waittill("joined_team"); - self setclientomnvar("ui_killstreak_blackout",0); - self setclientomnvar("ui_killstreak_blackout_fade_end",0); - maps\mp\_utility::playerremotekillstreakshowhud(); - self notify("rideKillstreakComplete"); -} - -//Function Number: 57 -clearrideintroonroundtransition() -{ - self endon("rideKillstreakComplete"); - self endon("rideKillstreakFailed"); - level waittill("game_ended"); - self setclientomnvar("ui_killstreak_blackout",0); - self setclientomnvar("ui_killstreak_blackout_fade_end",0); - maps\mp\_utility::playerremotekillstreakshowhud(); - self notify("rideKillstreakComplete"); -} - -//Function Number: 58 -playerdestroyglassbelow() -{ - if(self isonground()) - { - var_00 = bullettrace(self.origin + (0,0,5),self.origin + (0,0,-5),0); - if(isdefined(var_00["glass"])) - { - destroyglass(var_00["glass"]); - } - } -} - -//Function Number: 59 -giveselectedkillstreakitem() -{ - var_00 = self.pers["killstreaks"][self.killstreakindexweapon].streakname; - var_01 = self.pers["killstreaks"][self.killstreakindexweapon].modules; - var_02 = maps\mp\_utility::getkillstreakweapon(var_00,var_01); - givekillstreakweapon(var_02); - updatestreakslots(); -} - -//Function Number: 60 -getkillstreakcount() -{ - var_00 = 0; - for(var_01 = 0;var_01 < level.killstreak_stacking_start_slot;var_01++) - { - if(isdefined(self.pers["killstreaks"][var_01]) && isdefined(self.pers["killstreaks"][var_01].streakname) && self.pers["killstreaks"][var_01].available) - { - var_00++; - } - } - - return var_00; -} - -//Function Number: 61 -shufflekillstreaksup() -{ - if(getkillstreakcount() > 1) - { - for(;;) - { - self.killstreakindexweapon++; - if(self.killstreakindexweapon >= level.killstreak_stacking_start_slot) - { - self.killstreakindexweapon = 0; - } - - if(self.pers["killstreaks"][self.killstreakindexweapon].available == 1) - { - break; - } - } - - giveselectedkillstreakitem(); - } -} - -//Function Number: 62 -shufflekillstreaksdown() -{ - if(getkillstreakcount() > 1) - { - for(;;) - { - self.killstreakindexweapon--; - if(self.killstreakindexweapon < 0) - { - self.killstreakindexweapon = level.killstreak_stacking_start_slot - 1; - } - - if(self.pers["killstreaks"][self.killstreakindexweapon].available == 1) - { - break; - } - } - - giveselectedkillstreakitem(); - } -} - -//Function Number: 63 -streakselectuptracker() -{ - self endon("death"); - self endon("disconnect"); - self endon("faux_spawn"); - level endon("game_ended"); - if(isdefined(level.ishorde) && level.ishorde) - { - self endon("horde_end_spectate"); - } - - for(;;) - { - self waittill("toggled_up"); - if(!level.console && !common_scripts\utility::is_player_gamepad_enabled()) - { - continue; - } - - if(canshufflekillstreaks()) - { - shufflekillstreaksup(); - } - - wait(0.12); - } -} - -//Function Number: 64 -streakselectdowntracker() -{ - self endon("death"); - self endon("disconnect"); - self endon("faux_spawn"); - level endon("game_ended"); - if(isdefined(level.ishorde) && level.ishorde) - { - self endon("horde_end_spectate"); - } - - for(;;) - { - self waittill("toggled_down"); - if(!level.console && !common_scripts\utility::is_player_gamepad_enabled()) - { - continue; - } - - if(canshufflekillstreaks()) - { - shufflekillstreaksdown(); - } - - wait(0.12); - } -} - -//Function Number: 65 -canshufflekillstreaks() -{ - return !self ismantling() && !isdefined(self.changingweapon) || isdefined(self.changingweapon) && self.changingweapon == "none" && canshufflewithkillstreakweapon() && !isdefined(self.iscarrying) || isdefined(self.iscarrying) && self.iscarrying == 0; -} - -//Function Number: 66 -canshufflewithkillstreakweapon() -{ - var_00 = self getcurrentweapon(); - return !maps\mp\_utility::iskillstreakweapon(var_00) || maps\mp\_utility::iskillstreakweapon(var_00) && maps\mp\_utility::isjuggernaut(); -} - -//Function Number: 67 -streaknotifytracker() -{ - self endon("death"); - self endon("disconnect"); - level endon("game_ended"); - self endon("faux_spawn"); - if(isbot(self)) - { - return; - } - - maps\mp\_utility::gameflagwait("prematch_done"); - self notifyonplayercommand("toggled_up","+actionslot 1"); - self notifyonplayercommand("toggled_down","+actionslot 2"); - if(!level.console) - { - self notifyonplayercommand("streakUsed1","+actionslot 4"); - self notifyonplayercommand("streakUsed2","+actionslot 5"); - self notifyonplayercommand("streakUsed3","+actionslot 6"); - self notifyonplayercommand("streakUsed4","+actionslot 7"); - self notifyonplayercommand("streakUsed5","+actionslot 8"); - } -} - -//Function Number: 68 -giveadrenalinedirect(param_00) -{ - if(!param_00) - { - return; - } - - var_01 = self.adrenaline + param_00; - var_02 = getmaxstreakcost(0); - if(var_01 >= var_02) - { - var_01 = var_01 - var_02; - } - - setadrenaline(var_01); - var_01 = self.adrenalinesupport + param_00; - var_02 = getmaxstreakcost(1); - if(var_01 >= var_02) - { - var_01 = var_01 - var_02; - } - - setadrenalinesupport(var_01); - updatestreakcount(); - checkstreakreward(); -} - -//Function Number: 69 -roundup(param_00) -{ - if(int(param_00) != param_00) - { - return int(param_00 + 1); - } - - return int(param_00); -} - -//Function Number: 70 -giveadrenaline(param_00) -{ - var_01 = maps\mp\gametypes\_rank::getscoreinfovalue(param_00); - if(maps\mp\_utility::isreallyalive(self)) - { - giveadrenalinedirect(var_01); - } - - displaykillstreakpoints(param_00,var_01); -} - -//Function Number: 71 -displaykillstreakpoints(param_00,param_01) -{ - if(!level.hardcoremode) - { - thread maps\mp\gametypes\_rank::xppointspopup(param_00,param_01); - } -} - -//Function Number: 72 -resetadrenaline(param_00) -{ - self.earnedstreaklevel = 0; - setadrenaline(0); - if(param_00) - { - setadrenalinesupport(0); - self.pers["ks_totalPointsSupport"] = 0; - } - - updatestreakcount(); - self.pers["ks_totalPoints"] = 0; - self.pers["lastEarnedStreak"] = undefined; -} - -//Function Number: 73 -setadrenaline(param_00) -{ - if(param_00 < 0) - { - param_00 = 0; - } - - if(isdefined(self.adrenaline) && self.adrenaline != 0) - { - self.previousadrenaline = self.adrenaline; - } - else - { - self.previousadrenaline = 0; - } - - self.adrenaline = param_00; - self.pers["ks_totalPoints"] = self.adrenaline; -} - -//Function Number: 74 -setadrenalinesupport(param_00) -{ - if(param_00 < 0) - { - param_00 = 0; - } - - if(isdefined(self.adrenalinesupport) && self.adrenalinesupport != 0) - { - self.previousadrenalinesupport = self.adrenalinesupport; - } - else - { - self.previousadrenalinesupport = 0; - } - - self.adrenalinesupport = param_00; - self.pers["ks_totalPointsSupport"] = self.adrenalinesupport; -} - -//Function Number: 75 -pc_watchcontrolschanged() -{ - self endon("death"); - self endon("disconnect"); - level endon("game_ended"); - var_00 = common_scripts\utility::is_player_gamepad_enabled(); - for(;;) - { - if(maps\mp\_utility::isinremotetransition() || maps\mp\_utility::isusingremote() || maps\mp\_utility::ischangingweapon()) - { - while(maps\mp\_utility::isinremotetransition() || maps\mp\_utility::isusingremote() || maps\mp\_utility::ischangingweapon()) - { - wait 0.05; - } - - wait 0.05; - } - - if(var_00 != common_scripts\utility::is_player_gamepad_enabled()) - { - thread updatekillstreaks(1); - var_00 = common_scripts\utility::is_player_gamepad_enabled(); - } - - wait 0.05; - } -} - -//Function Number: 76 -pc_watchstreakuse() -{ - self endon("death"); - self endon("disconnect"); - level endon("game_ended"); - self endon("faux_spawn"); - self.actionslotenabled = []; - self.actionslotenabled[level.killstreak_gimme_slot] = 1; - self.actionslotenabled[level.killstreak_slot_1] = 1; - self.actionslotenabled[level.killstreak_slot_2] = 1; - self.actionslotenabled[level.killstreak_slot_3] = 1; - self.actionslotenabled[level.killstreak_slot_4] = 1; - if(!isbot(self)) - { - thread pc_watchcontrolschanged(); - } - - var_00 = common_scripts\utility::waittill_any_return("streakUsed1","streakUsed2","streakUsed3","streakUsed4","streakUsed5"); - if(common_scripts\utility::is_player_gamepad_enabled()) - { - continue; - } - - if(!isdefined(var_00)) - { - continue; - } - - if(isdefined(self.changingweapon) && self.changingweapon == "none") - { - continue; - } - - switch(var_00) - { - case "streakUsed1": - break; - - case "streakUsed2": - break; - - case "streakUsed3": - break; - - case "streakUsed4": - break; - - case "streakUsed5": - break; - } -} - -//Function Number: 77 -disablekillstreakactionslots() -{ - for(var_00 = 0;var_00 < level.killstreak_stacking_start_slot;var_00++) - { - if(!isdefined(self.killstreakindexweapon)) - { - break; - } - - if(self.killstreakindexweapon == var_00) - { - continue; - } - - maps\mp\_utility::_setactionslot(var_00 + 4,""); - self.actionslotenabled[var_00] = 0; - } -} - -//Function Number: 78 -enablekillstreakactionslots() -{ - for(var_00 = 0;var_00 < level.killstreak_stacking_start_slot;var_00++) - { - if(self.pers["killstreaks"][var_00].available) - { - var_01 = maps\mp\_utility::getkillstreakweapon(self.pers["killstreaks"][var_00].streakname,self.pers["killstreaks"][var_00].modules); - maps\mp\_utility::_setactionslot(var_00 + 4,"weapon",var_01); - } - else - { - maps\mp\_utility::_setactionslot(var_00 + 4,""); - } - - self.actionslotenabled[var_00] = 1; - } -} - -//Function Number: 79 -killstreakhit(param_00,param_01,param_02) -{ - if(isdefined(param_01) && isplayer(param_00) && isdefined(param_02.owner) && isdefined(param_02.owner.team)) - { - if(((level.teambased && param_02.owner.team != param_00.team) || !level.teambased) && param_00 != param_02.owner) - { - if(maps\mp\_utility::iskillstreakweapon(param_01)) - { - return; - } - - if(!isdefined(param_00.lasthittime[param_01])) - { - param_00.lasthittime[param_01] = 0; - } - - if(param_00.lasthittime[param_01] == gettime()) - { - return; - } - - param_00.lasthittime[param_01] = gettime(); - param_00 thread maps\mp\gametypes\_gamelogic::threadedsetweaponstatbyname(param_01,1,"hits"); - var_03 = param_00 maps\mp\gametypes\_persistence::statgetbuffered("totalShots"); - var_04 = param_00 maps\mp\gametypes\_persistence::statgetbuffered("hits") + 1; - if(var_04 <= var_03) - { - param_00 maps\mp\gametypes\_persistence::statsetbuffered("hits",var_04); - param_00 maps\mp\gametypes\_persistence::statsetbuffered("misses",int(var_03 - var_04)); - var_05 = clamp(float(var_04) / float(var_03),0,1) * 10000; - param_00 maps\mp\gametypes\_persistence::statsetbuffered("accuracy",int(var_05)); - return; - } - } - } -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/killstreaks/_killstreaks_init.gsc b/AW/PC/MP/maps/mp/killstreaks/_killstreaks_init.gsc deleted file mode 100644 index 6fda2f8..0000000 --- a/AW/PC/MP/maps/mp/killstreaks/_killstreaks_init.gsc +++ /dev/null @@ -1,115 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_killstreaks_init.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 3 - * Decompile Time: 55 ms - * Timestamp: 10/27/2023 1:51:56 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - level.killstreak_string_table = "mp/killstreakTable.csv"; - level.killstreak_gimme_slot = 0; - level.killstreak_slot_1 = 1; - level.killstreak_slot_2 = 2; - level.killstreak_slot_3 = 3; - level.killstreak_slot_4 = 4; - level.killstreak_stacking_start_slot = 5; - level.ks_modules_table = "mp/killstreakModules.csv"; - level.ks_module_ref_column = 1; - level.ks_module_killstreak_ref_column = 4; - level.ks_module_added_points_column = 5; - level.ks_module_slot_column = 6; - level.ks_module_support_column = 7; - level.killstreakrounddelay = maps\mp\_utility::getintproperty("scr_game_killstreakdelay",10); - level.killstreakfuncs = []; - level.killstreaksetupfuncs = []; - level.killstreakwieldweapons = []; - initkillstreakdata(); - level thread maps\mp\killstreaks\_killstreaks::onplayerconnect(); - if(isdefined(level.iszombiegame) && level.iszombiegame) - { - return; - } - - level thread maps\mp\killstreaks\_aerial_utility::init(); - level thread maps\mp\killstreaks\_coop_util::init(); - if(isdefined(level.mapcustomkillstreakfunc)) - { - [[ level.mapcustomkillstreakfunc ]](); - } - - level thread maps\mp\killstreaks\_uav::init(); - level thread maps\mp\killstreaks\_airdrop::init(); - level thread maps\mp\killstreaks\_remoteturret::init(); - level thread maps\mp\killstreaks\_rippedturret::init(); - level thread maps\mp\killstreaks\_emp::init(); - level thread maps\mp\killstreaks\_nuke::init(); - level thread maps\mp\killstreaks\_juggernaut::init(); - level thread maps\mp\killstreaks\_orbital_strike::init(); - level thread maps\mp\killstreaks\_missile_strike::init(); - level thread maps\mp\killstreaks\_orbital_carepackage::init(); - level thread maps\mp\killstreaks\_warbird::init(); - level thread maps\mp\killstreaks\_drone_assault::init(); - level thread maps\mp\killstreaks\_drone_recon::init(); - level thread maps\mp\killstreaks\_orbitalsupport::init(); - level thread maps\mp\killstreaks\_airstrike::init(); - level thread maps\mp\killstreaks\_drone_carepackage::init(); - level thread maps\mp\killstreaks\_orbital_util::initstart(); -} - -//Function Number: 2 -initkillstreakdata() -{ - var_00 = 0; - for(;;) - { - var_01 = tablelookupbyrow(level.killstreak_string_table,var_00,1); - if(!isdefined(var_01) || var_01 == "") - { - break; - } - - if(var_01 == "b1" || var_01 == "none") - { - } - else - { - var_02 = tablelookupistringbyrow(level.killstreak_string_table,var_00,5); - var_03 = tablelookupbyrow(level.killstreak_string_table,var_00,7); - game["dialog"][var_01] = var_03; - var_04 = tablelookupbyrow(level.killstreak_string_table,var_00,8); - game["dialog"]["allies_friendly_" + var_01 + "_inbound"] = "ks_" + var_04 + "_allyuse"; - game["dialog"]["allies_enemy_" + var_01 + "_inbound"] = "ks_" + var_04 + "_enemyuse"; - var_05 = tablelookupbyrow(level.killstreak_string_table,var_00,9); - game["dialog"]["axis_friendly_" + var_01 + "_inbound"] = "ks_" + var_05 + "_allyuse"; - game["dialog"]["axis_enemy_" + var_01 + "_inbound"] = "ks_" + var_05 + "_enemyuse"; - var_06 = int(tablelookupbyrow(level.killstreak_string_table,var_00,12)); - maps\mp\gametypes\_rank::registerxpeventinfo(var_01 + "_earned",var_06); - } - - var_00++; - } - - additionalvo(); -} - -//Function Number: 3 -additionalvo() -{ - var_00 = "allies_friendly_emp_inbound"; - var_01 = "allies_enemy_emp_inbound"; - var_02 = "axis_friendly_emp_inbound"; - var_03 = "axis_enemy_emp_inbound"; - for(var_04 = 1;var_04 < 9;var_04++) - { - var_05 = "_0" + var_04; - game["dialog"][var_00 + var_05] = game["dialog"][var_00] + var_05; - game["dialog"][var_01 + var_05] = game["dialog"][var_01] + var_05; - game["dialog"][var_02 + var_05] = game["dialog"][var_02] + var_05; - game["dialog"][var_03 + var_05] = game["dialog"][var_03] + var_05; - } -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/killstreaks/_missile_strike.gsc b/AW/PC/MP/maps/mp/killstreaks/_missile_strike.gsc deleted file mode 100644 index eb5c7ac..0000000 --- a/AW/PC/MP/maps/mp/killstreaks/_missile_strike.gsc +++ /dev/null @@ -1,1533 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_missile_strike.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 63 - * Decompile Time: 1005 ms - * Timestamp: 10/27/2023 1:52:00 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - setdvar("missileRemoteSteerPitchRange","60 87"); - level._missile_strike_setting = []; - level._missile_strike_setting["Particle_FX"] = spawnstruct(); - level._missile_strike_setting["Particle_FX"].gas = loadfx("vfx/unique/vfx_killstreak_missilestrike_dna"); - level._missile_strike_setting["Particle_FX"].gasfriendly = loadfx("vfx/unique/vfx_killstreak_missilestrike_dna_friendly"); - level._missile_strike_setting["Audio"] = spawnstruct(); - level._missile_strike_setting["Launch_Value"] = spawnstruct(); - var_00 = getdvar("mapname"); - if(var_00 == "mp_suburbia") - { - level._missile_strike_setting["Launch_Value"].vert = 7000; - level._missile_strike_setting["Launch_Value"].horz = 10000; - level._missile_strike_setting["Launch_Value"].targetdest = 2000; - } - else if(var_00 == "mp_mainstreet") - { - level._missile_strike_setting["Launch_Value"].vert = 7000; - level._missile_strike_setting["Launch_Value"].horz = 10000; - level._missile_strike_setting["Launch_Value"].targetdest = 2000; - } - else - { - level._missile_strike_setting["Launch_Value"].vert = 24000; - level._missile_strike_setting["Launch_Value"].horz = 7000; - level._missile_strike_setting["Launch_Value"].targetdest = 1500; - } - - level.rockets = []; - level.missile_strike_gas_clouds = []; - level.killstreakfuncs["missile_strike"] = ::tryusemissilestrike; - level.killstreakwieldweapons["remotemissile_projectile_mp"] = "missile_strike"; - level.killstreakwieldweapons["remotemissile_projectile_gas_mp"] = "missile_strike"; - level.killstreakwieldweapons["remotemissile_projectile_cluster_parent_mp"] = "missile_strike"; - level.killstreakwieldweapons["remotemissile_projectile_cluster_child_mp"] = "missile_strike"; - level.killstreakwieldweapons["remotemissile_projectile_cluster_child_hellfire_mp"] = "missile_strike"; - level.killstreakwieldweapons["remotemissile_projectile_secondary_mp"] = "missile_strike"; - level.killstreakwieldweapons["killstreak_strike_missile_gas_mp"] = "missile_strike"; - level.remotemissile_fx["explode"] = loadfx("vfx/explosion/rocket_explosion_airburst"); - thread onplayerconnect(); -} - -//Function Number: 2 -tryusemissilestrike(param_00,param_01) -{ - var_02 = maps\mp\killstreaks\_killstreaks::initridekillstreak("missile_strike"); - if(var_02 != "success") - { - return 0; - } - - maps\mp\_utility::playersaveangles(); - maps\mp\_utility::setusingremote("missile_strike"); - var_03 = buildweaponsettings(param_01); - if(isdefined(level.ishorde) && level.ishorde) - { - self.missileweapon = var_03; - if(self.killstreakindexweapon == 1) - { - self notify("used_horde_missile_strike"); - } - } - - level thread _fire(param_00,self,var_03); - return 1; -} - -//Function Number: 3 -buildweaponsettings(param_00) -{ - var_01 = spawnstruct(); - var_01.modules = param_00; - var_01.name = "remotemissile_projectile_mp"; - var_01.gasmissile = 0; - var_01.clustermissile = 0; - var_01.clusterhellfire = 0; - var_01.clusterspiral = 0; - if(common_scripts\utility::array_contains(var_01.modules,"missile_strike_hellfire")) - { - var_01.name = "remotemissile_projectile_cluster_parent_mp"; - var_01.clustermissile = 1; - var_01.clusterhellfire = 1; - } - - if(common_scripts\utility::array_contains(var_01.modules,"missile_strike_cluster")) - { - var_01.name = "remotemissile_projectile_cluster_parent_mp"; - var_01.clustermissile = 1; - var_01.clusterspiral = 1; - thread prespawnclusterrotationentities(var_01); - } - else if(common_scripts\utility::array_contains(var_01.modules,"missile_strike_chem")) - { - var_01.name = "remotemissile_projectile_gas_mp"; - var_01.gasmissile = 1; - } - - var_01.rocketammo = 1; - if(common_scripts\utility::array_contains(var_01.modules,"missile_strike_extra_1")) - { - var_01.rocketammo++; - } - - if(common_scripts\utility::array_contains(var_01.modules,"missile_strike_extra_2")) - { - var_01.rocketammo++; - } - - return var_01; -} - -//Function Number: 4 -prespawnclusterrotationentities(param_00) -{ - var_01 = (0,0,-1000); - param_00.prespawnedkillcament = spawn("script_model",var_01); - param_00.prespawnedkillcament setcontents(0); - param_00.prespawnedkillcament setscriptmoverkillcam("large explosive"); - wait 0.05; - param_00.prespawnedrotationents = []; - param_00.prespawnedindex = 0; - for(var_02 = 0;var_02 < 12;var_02++) - { - var_03 = spawn("script_origin",var_01); - param_00.prespawnedrotationents[param_00.prespawnedrotationents.size] = var_03; - wait 0.05; - } -} - -//Function Number: 5 -onplayerconnect() -{ - for(;;) - { - level waittill("connected",var_00); - var_00 thread waitingforspawnduringstreak(); - } -} - -//Function Number: 6 -waitingforspawnduringstreak() -{ - self waittill("spawned_player"); - self.missilestrikegastime = 0; - thread creategastrackingoverlay(); - thread waitforgasdamage(); -} - -//Function Number: 7 -getbestspawnpoint(param_00) -{ - var_01 = []; - foreach(var_03 in param_00) - { - var_03.validplayers = []; - var_03.spawnscore = 0; - } - - foreach(var_06 in level.players) - { - if(!maps\mp\_utility::isreallyalive(var_06)) - { - continue; - } - - if(var_06.team == self.team) - { - continue; - } - - if(var_06.team == "spectator") - { - continue; - } - - var_07 = 999999999; - var_08 = undefined; - foreach(var_03 in param_00) - { - var_03.validplayers[var_03.validplayers.size] = var_06; - var_0A = distance2d(var_03.targetent.origin,var_06.origin); - if(var_0A <= var_07) - { - var_07 = var_0A; - var_08 = var_03; - } - } - - var_08.spawnscore = var_08.spawnscore + 2; - } - - var_0D = param_00[0]; - foreach(var_03 in param_00) - { - foreach(var_06 in var_03.validplayers) - { - var_03.spawnscore = var_03.spawnscore + 1; - if(bullettracepassed(var_06.origin + (0,0,32),var_03.origin,0,var_06)) - { - var_03.spawnscore = var_03.spawnscore + 3; - } - - if(var_03.spawnscore > var_0D.spawnscore) - { - var_0D = var_03; - continue; - } - - if(var_03.spawnscore == var_0D.spawnscore) - { - if(common_scripts\utility::cointoss()) - { - var_0D = var_03; - } - } - } - } - - return var_0D; -} - -//Function Number: 8 -_fire(param_00,param_01,param_02) -{ - var_03 = param_02.name; - param_01 playeraddnotifycommands(); - var_04 = fireorbitalmissile(param_01,var_03); - if(isdefined(level.ishorde) && level.ishorde) - { - param_01.rocket = var_04; - } - - param_02.rocketammo--; - if(param_02.rocketammo > 0 || param_02.clustermissile) - { - var_04 disablemissileboosting(); - } - - var_04.owner = param_01; - var_04.team = param_01.team; - var_04.lifeid = param_00; - var_04.type = "remote"; - level.remotemissileinprogress = 1; - var_04 thread maps\mp\gametypes\_damage::setentitydamagecallback(10,undefined,::missilestrikeondeath,undefined,1); - if(isdefined(level.ishorde) && level.ishorde) - { - var_04 thread rocketimpact_dronekillcheck(param_01); - } - - var_04 setmissileminimapvisible(1); - var_04 playsoundtoteam("mstrike_entry_npc",maps\mp\_utility::getotherteam(var_04.team)); - var_04 playsoundtoteam("mstrike_entry_npc",var_04.team,param_01); - missileeyes(param_01,var_04,param_02); -} - -//Function Number: 9 -rocketimpact_dronekillcheck(param_00) -{ - self waittill("death"); - if(isdefined(level.flying_attack_drones)) - { - foreach(var_02 in level.flying_attack_drones) - { - if(var_02.origin[2] > self.origin[2] && var_02.origin[2] < self.origin[2] + 1200 && distance2dsquared(var_02.origin,self.origin) < 40000) - { - var_02 dodamage(350,self.origin,param_00,param_00,"MOD_PROJECTILE_SPLASH","remotemissile_projectile_mp"); - } - } - } -} - -//Function Number: 10 -missilestrikeondeath(param_00,param_01,param_02,param_03) -{ - if(isdefined(level.ishorde) && level.ishorde) - { - if(isdefined(self.owner)) - { - self.owner.missileweapon = undefined; - self.owner.rocket = undefined; - } - } - - playfx(level.remotemissile_fx["explode"],self.origin); - maps\mp\gametypes\_damage::onkillstreakkilled(param_00,param_01,param_02,param_03,"missile_strike_destroyed",undefined,undefined,0); - self delete(); -} - -//Function Number: 11 -fireorbitalmissile(param_00,param_01) -{ - var_02 = maps\mp\killstreaks\_aerial_utility::getentorstructarray("remoteMissileSpawn","targetname"); - foreach(var_04 in var_02) - { - if(isdefined(var_04.target)) - { - var_04.targetent = getent(var_04.target,"targetname"); - } - } - - if(var_02.size > 0) - { - var_06 = param_00 getbestspawnpoint(var_02); - } - else - { - var_06 = undefined; - } - - var_07 = undefined; - var_08 = undefined; - if(isdefined(var_06)) - { - var_07 = var_06.origin; - var_08 = var_06.targetent.origin; - var_09 = 24000; - if(isdefined(level.remote_missile_height_override)) - { - var_09 = level.remote_missile_height_override; - } - - var_0A = vectornormalize(var_07 - var_08); - var_07 = var_0A * var_09 + var_08; - } - else - { - var_0B = (0,0,level._missile_strike_setting["Launch_Value"].vert); - var_09 = level._missile_strike_setting["Launch_Value"].horz; - var_0C = level._missile_strike_setting["Launch_Value"].targetdest; - var_0D = anglestoforward(param_00.angles); - var_07 = param_00.origin + var_0B + var_0D * var_09 * -1; - var_08 = param_00.origin + var_0D * var_0C; - } - - return magicbullet(param_01,var_07,var_08,param_00); -} - -//Function Number: 12 -missileeyes(param_00,param_01,param_02) -{ - param_00 endon("joined_team"); - param_00 endon("joined_spectators"); - param_02 endon("missile_strike_complete"); - param_00 endon("disconnect"); - param_01 thread rocket_cleanupondeath(); - param_00 thread player_cleanupongameended(param_01,param_02); - param_00 thread player_cleanuponteamchange(param_01,param_02); - param_00.clusterdeployed = 0; - param_00.missileboostused = 0; - param_00 cameralinkto(param_01,"tag_origin"); - param_00 controlslinkto(param_01); - if(getdvarint("camera_thirdPerson")) - { - param_00 maps\mp\_utility::setthirdpersondof(0); - } - - param_00 thread init_hud(param_01,param_02); - param_00 thread playerwaitreset(param_02); - if(param_02.clustermissile) - { - param_00 thread watchforclustersplit(param_01,param_02); - } - - if(param_02.rocketammo <= 0 && !param_02.clustermissile) - { - param_01 enablemissileboosting(); - param_00 thread hud_watch_for_boost_active(param_01,param_02); - } - else - { - param_00 thread watchforextramissilefire(param_01,param_02); - } - - param_00 thread playerwatchforearlyexit(param_02); - param_01 waittill("death"); - if(param_02.gasmissile) - { - if(isdefined(param_01)) - { - param_00 thread releasegas(param_01.origin); - } - } - - if(isdefined(param_01)) - { - param_00 maps\mp\_matchdata::logkillstreakevent("missile_strike",param_01.origin); - } - - param_02 notify("missile_strike_complete"); -} - -//Function Number: 13 -playerwatchforearlyexit(param_00) -{ - level endon("game_ended"); - param_00 endon("missile_strike_complete"); - self endon("disconnect"); - for(;;) - { - var_01 = 0; - while(self usebuttonpressed()) - { - var_01 = var_01 + 0.05; - if(var_01 > 0.5) - { - param_00 notify("ms_early_exit"); - return; - } - - wait 0.05; - } - - wait 0.05; - } -} - -//Function Number: 14 -playerwaitreset(param_00) -{ - param_00 common_scripts\utility::waittill_either("missile_strike_complete","ms_early_exit"); - playerreset(); -} - -//Function Number: 15 -playerreset() -{ - self endon("disconnect"); - self controlsunlink(); - maps\mp\_utility::freezecontrolswrapper(1); - playerremovenotifycommands(); - stopmissileboostsounds(); - if(!level.gameended || isdefined(self.finalkill)) - { - maps\mp\killstreaks\_aerial_utility::playershowfullstatic(); - } - - wait(0.5); - maps\mp\gametypes\_hostmigration::waittillhostmigrationdone(); - remove_hud(); - self cameraunlink(); - maps\mp\_utility::freezecontrolswrapper(0); - if(maps\mp\_utility::isusingremote()) - { - maps\mp\_utility::clearusingremote(); - } - - if(getdvarint("camera_thirdPerson")) - { - maps\mp\_utility::setthirdpersondof(1); - } - - maps\mp\_utility::playerrestoreangles(); - if(isdefined(level.script)) - { - self visionsetnakedforplayer(level.script,0); - } - - maps\mp\_utility::revertvisionsetforplayer(0.02); -} - -//Function Number: 16 -stopmissileboostsounds() -{ - self stoplocalsound("mstrike_boost_shot"); - self stoplocalsound("mstrike_boost_boom"); - self stoplocalsound("mstrike_boost_swoop"); - self stoplocalsound("mstrike_boost_jet"); - self stoplocalsound("mstrike_boost_roar"); -} - -//Function Number: 17 -watchforextramissilefire(param_00,param_01) -{ - param_00 endon("death"); - wait(0.5); - for(;;) - { - self waittill("FireButtonPressed"); - if(param_01.rocketammo > 0) - { - thread firebabymissile(param_00,param_01); - } - else - { - break; - } - - wait(0.1); - } -} - -//Function Number: 18 -enableboost(param_00) -{ - wait(0.5); - param_00 enablemissileboosting(); -} - -//Function Number: 19 -firebabymissile(param_00,param_01) -{ - var_02 = param_01.name; - var_03 = (0,32,0); - var_04 = param_01.rocketammo % 2; - if(var_04 == 0) - { - var_03 = (0,-64,0); - } - - var_05 = param_00.origin + anglestoforward(param_00.angles) * 32000; - var_06 = bullettrace(param_00.origin,var_05,0,param_00,0,0,0,1,0); - var_07 = param_00.origin + var_03 + anglestoforward(param_00.angles) * 750; - var_08 = var_06["position"]; - var_09 = magicbullet("remotemissile_projectile_secondary_mp",var_07,var_08,self); - if(!isdefined(var_09)) - { - return; - } - - param_01.rocketammo--; - if(param_01.rocketammo <= 0 && !param_01.clustermissile) - { - hud_update_fire_text(var_09,param_01); - thread hud_watch_for_boost_active(param_00,param_01); - thread enableboost(param_00); - } - - if(isdefined(var_02)) - { - if(isdefined(param_00.targets) && param_00.targets.size) - { - var_09 missile_settargetent(param_00.targets[0]); - } - } - - var_09.team = self.team; - var_09 setmissileminimapvisible(1); - self playrumbleonentity("sniper_fire"); - earthquake(0.2,0.2,param_00.origin,200); - var_09 thread maps\mp\gametypes\_damage::setentitydamagecallback(10,undefined,::missilestrikeondeath,undefined,1); -} - -//Function Number: 20 -watchforclustersplit(param_00,param_01) -{ - param_01 endon("missile_strike_complete"); - self endon("spawned_player"); - param_00 endon("death"); - while(param_01.rocketammo > 0) - { - self waittill("FireButtonPressed"); - } - - wait(0.25); - self waittill("FireButtonPressed"); - self.clusterdeployed = 1; - hud_update_fire_text(param_00,param_01); - thread split_rocket(param_00,param_01); -} - -//Function Number: 21 -split_rocket(param_00,param_01) -{ - if(param_01.clusterhellfire) - { - thread split_rocket_hellfire(param_00,param_01); - return; - } - - thread split_rocket_spiral(param_00,param_01); -} - -//Function Number: 22 -split_rocket_hellfire(param_00,param_01) -{ - var_02 = 2; - var_03 = []; - if(isdefined(param_00.targets) && param_00.targets.size) - { - var_03 = param_00.targets; - } - - thread fire_straight_bomblet(param_00,0,param_01); - foreach(var_05 in var_03) - { - thread fire_targeted_bomblet(param_00,var_05,var_02,param_01); - var_02++; - } - - for(var_07 = var_03.size;var_07 <= 8;var_07++) - { - thread fire_random_bomblet(param_00,var_07 % 6,var_02,param_01); - var_02++; - } - - self playrumbleonentity("sniper_fire"); - earthquake(0.2,0.2,param_00.origin,200); - param_00 setmissilecoasting(1); - thread fade_to_white(); - thread bomblet_camera_waiter(param_00,param_01); -} - -//Function Number: 23 -split_rocket_spiral(param_00,param_01) -{ - param_01 endon("missile_strike_complete"); - self endon("spawned_player"); - param_00 endon("death"); - thread fade_to_white(); - self waittill("full_white"); - thread maps\mp\_utility::freezecontrolswrapper(1); - if(!isdefined(param_00)) - { - return; - } - - self.strikerocketstoredposition = param_00.origin; - self.strikerocketstoredangles = param_00.angles; - var_02 = distance(param_00.origin,self.origin) + 10000; - var_03 = param_00.origin + anglestoforward(param_00.angles) * var_02; - var_04 = self.strikerocketstoredposition; - var_05 = param_00.origin + anglestoforward(param_00.angles) * 3250; - param_00 setmissilecoasting(1); - thread bomblet_camera_waiter(param_00,param_01); - thread spawnclusterchildren(var_03,self.strikerocketstoredposition,var_05,param_01); - self waittill("fade_white_over"); - wait(9); - maps\mp\_utility::freezecontrolswrapper(0); -} - -//Function Number: 24 -fire_straight_bomblet(param_00,param_01,param_02) -{ - param_02 endon("missile_strike_complete"); - var_03 = param_00.origin; - var_04 = param_00.angles; - var_05 = param_00.owner; - if(param_01 > 0) - { - wait(param_01 * 0.05); - } - - var_06 = magicbullet("remotemissile_projectile_cluster_child_hellfire_mp",var_03,var_03 + anglestoforward(var_04) * 1000,self); - var_06.team = self.team; - var_06.killcament = self; - var_06 setmissileminimapvisible(1); - var_06 thread bomblet_explosion_waiter(self,param_02); -} - -//Function Number: 25 -fire_targeted_bomblet(param_00,param_01,param_02,param_03) -{ - param_03 endon("missile_strike_complete"); - var_04 = param_00.origin; - var_05 = param_00.angles; - var_06 = param_00.owner; - var_07 = param_01.origin; - wait(param_02 * 0.05); - if(isdefined(param_01) && distance2dsquared(param_01.origin,var_07) < 57600) - { - var_07 = param_01.origin; - } - - var_08 = magicbullet("remotemissile_projectile_cluster_child_hellfire_mp",var_04,var_07,self); - var_08.team = self.team; - var_08.killcament = self; - if(isdefined(param_01)) - { - var_08 missile_settargetent(param_01); - } - - var_08 setmissileminimapvisible(1); - var_08 thread bomblet_explosion_waiter(self,param_03); -} - -//Function Number: 26 -fire_random_bomblet(param_00,param_01,param_02,param_03) -{ - param_03 endon("missile_strike_complete"); - var_04 = 600; - var_05 = param_00.origin; - var_06 = param_00.angles; - var_07 = param_00.owner; - var_08 = param_00.aimtarget; - wait(param_02 * 0.05); - var_09 = randomintrange(10 + 60 * param_01,50 + 60 * param_01); - var_0A = randomintrange(200,var_04 + 100); - var_0B = min(var_0A,var_04 - 50) * cos(var_09); - var_0C = min(var_0A,var_04 - 50) * sin(var_09); - var_0D = magicbullet("remotemissile_projectile_cluster_child_hellfire_mp",var_05,var_08 + (var_0B,var_0C,0),self); - var_0D.team = self.team; - var_0D.killcament = self; - var_0D setmissileminimapvisible(1); - var_0D thread bomblet_explosion_waiter(self,param_03); -} - -//Function Number: 27 -bomblet_explosion_waiter(param_00,param_01) -{ - param_00 endon("disconnect"); - param_01 endon("ms_early_exit"); - param_01 endon("missile_strike_complete"); - level endon("game_ended"); - self waittill("death"); - param_01 notify("bomblet_exploded"); -} - -//Function Number: 28 -bomblet_camera_waiter(param_00,param_01) -{ - self endon("disconnect"); - param_01 endon("ms_early_exit"); - param_01 endon("missile_strike_complete"); - param_00 endon("death"); - level endon("game_ended"); - param_01 waittill("bomblet_exploded"); - wait(1); - thread bomblet_camera_waiter_complete(param_00,param_01); -} - -//Function Number: 29 -bomblet_camera_waiter_complete(param_00,param_01) -{ - param_00 notify("death"); - param_01 notify("missile_strike_complete"); -} - -//Function Number: 30 -getprespawnedclusterrotationent(param_00,param_01) -{ - while(param_00.prespawnedrotationents.size < param_00.prespawnedindex + 1) - { - wait 0.05; - } - - var_02 = param_00.prespawnedrotationents[param_00.prespawnedindex]; - param_00.prespawnedindex++; - if(isdefined(param_01)) - { - var_02.origin = param_01; - } - - return var_02; -} - -//Function Number: 31 -spawnclusterchildren(param_00,param_01,param_02,param_03) -{ - var_04 = randomintrange(16,64); - if(randomint(100) > 50) - { - var_04 = var_04 * -1; - } - - var_05 = randomintrange(16,64); - if(randomint(100) > 50) - { - var_05 = var_05 * -1; - } - - var_06 = param_01 + (var_04,var_05,0); - var_07 = param_02 + (var_04,var_05,0); - var_08 = getprespawnedclusterrotationent(param_03,param_02); - var_08.rotatinglinkarray = []; - var_08.rotatinglinkarray[0] = getprespawnedclusterrotationent(param_03,var_07); - var_08.rotatinglinkarray[0] vehicle_jetbikesethoverforcescale(var_08); - var_09 = magicbullet("remotemissile_projectile_cluster_child_mp",var_06,var_07,self); - var_09 missile_settargetent(var_08.rotatinglinkarray[0]); - var_09 missile_setflightmodedirect(); - var_09.owner = self; - var_09.team = self.team; - var_09 setmissileminimapvisible(1); - var_09 thread bomblet_explosion_waiter(self,param_03); - var_0A = var_07 - var_06; - var_0A = vectornormalize((var_0A[0],var_0A[1],0)); - var_0A = var_0A * -30; - var_0A = var_0A + (0,0,200); - var_0B = param_03.prespawnedkillcament; - var_0B.origin = var_06 + var_0A; - var_0B.killcamstarttime = gettime(); - var_0B linkto(var_09); - var_0B thread killcamrocketdeath(var_09); - var_09.killcament = var_0B; - var_0C = 10; - param_03.rotatinglinkarrayindex = var_08.rotatinglinkarray.size; - for(var_0D = 0;var_0D < var_0C;var_0D++) - { - var_0E = var_08.rotatinglinkarray.size; - var_08.rotatinglinkarray[var_0E] = getprespawnedclusterrotationent(param_03); - } - - var_09 endon("death"); - thread deleterotationents(var_08,var_09); - thread rotatetargets(var_08,var_09); - thread movetargets(var_08,var_09); - wait 0.05; - for(var_0D = 1;var_0D <= var_0C;var_0D++) - { - var_0F = getmissileposition(param_01,param_02,var_08,param_03); - var_07 = var_0F.origin; - var_06 = var_0F.randomposition; - var_10 = magicbullet("remotemissile_projectile_cluster_child_mp",var_06,var_07,self); - var_10 missile_settargetent(var_08.rotatinglinkarray[var_0D]); - var_10 missile_setflightmodedirect(); - var_10.owner = self; - var_10.team = self.team; - var_10.killcament = var_0B; - var_10 setmissileminimapvisible(1); - var_10 thread bomblet_explosion_waiter(self,param_03); - wait 0.05; - } -} - -//Function Number: 32 -getmissileposition(param_00,param_01,param_02,param_03) -{ - var_04 = param_02.rotatinglinkarray[param_03.rotatinglinkarrayindex]; - param_03.rotatinglinkarrayindex++; - var_05 = param_02.origin - param_01; - param_00 = param_00 + var_05; - var_06 = randomintrange(64,500); - var_07 = var_06 + 0; - if(randomint(100) > 50) - { - var_06 = var_06 * -1; - var_07 = var_06 - 0; - } - - var_08 = randomintrange(64,500); - var_09 = var_08 + 0; - if(randomint(100) > 50) - { - var_08 = var_08 * -1; - var_09 = var_08 - 0; - } - - var_0A = param_00 + (var_06,var_08,0); - var_0B = param_02.origin + (var_07,var_09,0); - var_04.origin = var_0B; - var_04.randomposition = var_0A; - var_04 vehicle_jetbikesethoverforcescale(param_02); - return var_04; -} - -//Function Number: 33 -killcamrocketdeath(param_00) -{ - self endon("death"); - param_00 waittill("death"); - self unlink(); - self.origin = self.origin + (0,0,50); - wait(3); - self delete(); -} - -//Function Number: 34 -rotatetargets(param_00,param_01) -{ - param_01 endon("death"); - var_02 = 10; - for(;;) - { - param_00 rotatevelocity((0,120,0),var_02); - wait(var_02); - } -} - -//Function Number: 35 -movetargets(param_00,param_01) -{ - param_01 endon("death"); - var_02 = param_01.origin; - var_03 = distance(param_01.origin,param_00.origin); - var_04 = self.strikerocketstoredangles; - var_05 = self.strikerocketstoredposition; - for(;;) - { - var_06 = distance(param_01.origin,var_02); - var_07 = var_05 + anglestoforward(var_04) * var_03 + var_06; - param_00.origin = var_07; - wait 0.05; - } -} - -//Function Number: 36 -deleterotationents(param_00,param_01) -{ - param_01 waittill("death"); - if(isdefined(param_00)) - { - foreach(var_03 in param_00.rotatinglinkarray) - { - var_03 delete(); - } - - param_00 delete(); - } -} - -//Function Number: 37 -releasegas(param_00) -{ - var_01 = param_00 + (0,0,40); - var_02 = spawn("script_model",var_01); - var_02 setmodel("tag_origin"); - var_03 = spawn("script_model",var_02.origin); - var_02.killcament = var_03; - var_02.killcament setscriptmoverkillcam("explosive"); - var_02.killcament vehicle_jetbikesethoverforcescale(var_02); - var_04 = spawnstruct(); - var_04.origin = var_01; - var_04.team = self.team; - level.missile_strike_gas_clouds[level.missile_strike_gas_clouds.size] = var_04; - var_02 thread showgascloud(self); - var_02.objidenemy = maps\mp\gametypes\_gameobjects::getnextobjid(); - objective_add(var_02.objidenemy,"active",var_02.origin,"hud_gas_enemy"); - objective_playerenemyteam(var_02.objidenemy,self getentitynumber()); - var_02.objidfriendly = maps\mp\gametypes\_gameobjects::getnextobjid(); - objective_add(var_02.objidfriendly,"active",var_02.origin,"hud_gas_friendly"); - objective_playerteam(var_02.objidfriendly,self getentitynumber()); - thread chemdamagethink(var_02,var_01,self); - common_scripts\utility::waittill_any_timeout_no_endon_death(20,"joined_team","joined_spectators","disconnect"); - maps\mp\_utility::_objective_delete(var_02.objidenemy); - maps\mp\_utility::_objective_delete(var_02.objidfriendly); - wait(2); - var_02 friendlyenemyeffectsstop(); - var_02.killcament delete(); - var_02 delete(); - var_05 = 0; - var_06 = []; - for(var_07 = 0;var_07 < level.missile_strike_gas_clouds.size;var_07++) - { - if(!var_05 && level.missile_strike_gas_clouds[var_07].origin == var_01) - { - var_05 = 1; - continue; - } - - var_06[var_06.size] = level.missile_strike_gas_clouds[var_07]; - } - - level.missile_strike_gas_clouds = var_06; -} - -//Function Number: 38 -showgascloud(param_00) -{ - var_01 = level._missile_strike_setting["Particle_FX"].gasfriendly; - var_02 = level._missile_strike_setting["Particle_FX"].gas; - var_03 = self gettagorigin("tag_origin"); - var_04 = (1,0,0); - self.friendlyfx = maps\mp\_utility::spawnfxshowtoteam(var_01,param_00.team,var_03,var_04); - self.enemyfx = maps\mp\_utility::spawnfxshowtoteam(var_02,maps\mp\_utility::getotherteam(param_00.team),var_03,var_04); -} - -//Function Number: 39 -friendlyenemyeffectsstop() -{ - if(isdefined(self.friendlyfx)) - { - self.friendlyfx delete(); - } - - if(isdefined(self.enemyfx)) - { - self.enemyfx delete(); - } -} - -//Function Number: 40 -creategastrackingoverlay() -{ - if(!isdefined(self.strikegastrackingoverlay)) - { - self.strikegastrackingoverlay = newclienthudelem(self); - self.strikegastrackingoverlay.x = 0; - self.strikegastrackingoverlay.y = 0; - self.strikegastrackingoverlay setshader("lab_gas_overlay",640,480); - self.strikegastrackingoverlay.alignx = "left"; - self.strikegastrackingoverlay.aligny = "top"; - self.strikegastrackingoverlay.horzalign = "fullscreen"; - self.strikegastrackingoverlay.vertalign = "fullscreen"; - self.strikegastrackingoverlay.alpha = 0; - } -} - -//Function Number: 41 -chemdamagethink(param_00,param_01,param_02) -{ - param_00 endon("death"); - param_02 endon("joined_team"); - param_02 endon("joined_spectators"); - param_02 endon("disconnect"); - var_03 = 200; - var_04 = 20; - for(;;) - { - if(!isdefined(param_02)) - { - return; - } - - param_00.killcament radiusdamage(param_01,var_03,var_04,var_04,param_02,"MOD_TRIGGER_HURT","killstreak_strike_missile_gas_mp",0); - wait(1); - } -} - -//Function Number: 42 -waitforgasdamage() -{ - for(;;) - { - self waittill("damage",var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09); - if(isdefined(var_01) && self == var_01) - { - continue; - } - - if(maps\mp\_utility::_hasperk("specialty_stun_resistance")) - { - continue; - } - - if(isdefined(var_09) && var_09 == "killstreak_strike_missile_gas_mp") - { - thread shockthink(); - } - } -} - -//Function Number: 43 -shockthink() -{ - if(self.missilestrikegastime <= 0) - { - thread fadeinoutgastrackingoverlay(); - thread removeoverlaydeath(); - } - - self.missilestrikegastime = 2; - self shellshock("mp_lab_gas",1); - while(self.missilestrikegastime > 0) - { - self.missilestrikegastime--; - wait(1); - } - - self notify("missile_strike_gas_end"); - endgastrackingoverlay(); -} - -//Function Number: 44 -fadeinoutgastrackingoverlay() -{ - level endon("game_ended"); - self endon("missile_strike_gas_end"); - self endon("death"); - if(isdefined(self.strikegastrackingoverlay)) - { - for(;;) - { - self.strikegastrackingoverlay fadeovertime(0.4); - self.strikegastrackingoverlay.alpha = 1; - wait(0.5); - self.strikegastrackingoverlay fadeovertime(0.4); - self.strikegastrackingoverlay.alpha = 0.5; - wait(0.5); - } - } -} - -//Function Number: 45 -endgastrackingoverlay() -{ - if(isdefined(self.strikegastrackingoverlay)) - { - self.strikegastrackingoverlay fadeovertime(0.2); - self.strikegastrackingoverlay.alpha = 0; - } -} - -//Function Number: 46 -endgastrackingoverlaydeath() -{ - if(isdefined(self.strikegastrackingoverlay)) - { - self.strikegastrackingoverlay.alpha = 0; - } -} - -//Function Number: 47 -removeoverlaydeath() -{ - self endon("missile_strike_gas_end"); - self waittill("death"); - thread endgastrackingoverlaydeath(); -} - -//Function Number: 48 -player_cleanuponteamchange(param_00,param_01) -{ - param_00 endon("death"); - self endon("disconnect"); - common_scripts\utility::waittill_any("joined_team","joined_spectators"); - param_01 notify("missile_strike_complete"); - level.remotemissileinprogress = undefined; -} - -//Function Number: 49 -rocket_cleanupondeath() -{ - var_00 = self getentitynumber(); - level.rockets[var_00] = self; - self waittill("death"); - level.rockets[var_00] = undefined; - level.remotemissileinprogress = undefined; -} - -//Function Number: 50 -player_cleanupongameended(param_00,param_01) -{ - param_00 endon("death"); - self endon("disconnect"); - level waittill("game_ended"); - param_01 notify("missile_strike_complete"); -} - -//Function Number: 51 -player_is_valid_target(param_00) -{ - if(!isdefined(param_00)) - { - return 0; - } - - if(isalliedsentient(param_00,self)) - { - return 0; - } - - if(!isalive(param_00)) - { - return 0; - } - - if(param_00 maps\mp\_utility::_hasperk("specialty_blindeye")) - { - return 0; - } - - if(isdefined(param_00.spawntime) && gettime() - param_00.spawntime / 1000 < 5) - { - return 0; - } - - return 1; -} - -//Function Number: 52 -getenemytargets() -{ - var_00 = []; - foreach(var_02 in level.players) - { - if(!player_is_valid_target(var_02)) - { - continue; - } - - var_00[var_00.size] = var_02; - } - - return var_00; -} - -//Function Number: 53 -getvalidtargetssorted(param_00,param_01,param_02) -{ - var_03 = param_02.name; - var_04 = 600; - var_05 = var_04 * var_04; - var_06 = []; - var_07 = anglestoforward(param_00.angles); - var_08 = param_00.origin[2]; - var_09 = level.mapcenter[2]; - var_0A = var_09 - var_08; - var_0B = var_0A / var_07[2]; - var_0C = param_00.origin + var_07 * var_0B; - param_00.aimtarget = var_0C; - var_0D = 0; - if(param_02.rocketammo > 0) - { - var_0D = 1; - } - else if(param_02.clustermissile && param_02.clusterhellfire && !self.clusterdeployed) - { - var_0D = 10; - } - else - { - return var_06; - } - - var_0E = getenemytargets(); - foreach(var_10 in var_0E) - { - if(distance2dsquared(var_10.origin,var_0C) < var_05) - { - if(param_01) - { - if(bullettracepassed(var_10.origin + (0,0,60),var_10.origin + (0,0,180),0,var_10)) - { - var_06[var_06.size] = var_10; - } - - continue; - } - - var_06[var_06.size] = var_10; - } - } - - var_12 = common_scripts\utility::get_array_of_closest(param_00.aimtarget,var_06,undefined,var_0D); - return var_12; -} - -//Function Number: 54 -targeting_hud_init() -{ - targeting_hud_destroy(); - var_00 = 10; - self.missile_target_icons = []; - for(var_01 = 0;var_01 < var_00;var_01++) - { - var_02 = newclienthudelem(self); - var_02.x = 0; - var_02.y = 0; - var_02.z = 0; - var_02.alpha = 0; - var_02.archived = 0; - var_02.shader = "hud_fofbox_hostile"; - var_02 setshader("hud_fofbox_hostile",450,450); - var_02 setwaypoint(0,0,0,0); - var_02 setwaypointiconfadeatcenter(0); - var_02 setwaypointaerialtargeting(1); - self.missile_target_icons[var_01] = var_02; - } -} - -//Function Number: 55 -targeting_hud_destroy() -{ - if(!isdefined(self.missile_target_icons)) - { - return; - } - - var_00 = 10; - for(var_01 = 0;var_01 < var_00;var_01++) - { - if(isdefined(self.missile_target_icons[var_01])) - { - self.missile_target_icons[var_01] destroy(); - } - } - - self.missile_target_icons = undefined; -} - -//Function Number: 56 -targeting_hud_think(param_00,param_01) -{ - self endon("disconnect"); - param_01 endon("ms_early_exit"); - param_01 endon("missile_strike_complete"); - param_00 endon("death"); - level endon("game_ended"); - wait(1); - var_02 = param_01.name; - param_00.targets = getvalidtargetssorted(param_00,1,param_01); - var_03 = 10; - var_04 = 5; - var_05 = 0; - var_06 = 47; - for(;;) - { - foreach(var_08 in self.missile_target_icons) - { - var_08.alpha = 0; - } - - var_05++; - if(var_05 > var_04) - { - param_00.targets = getvalidtargetssorted(param_00,1,param_01); - var_05 = 0; - } - - var_0A = self.missile_target_icons[0]; - var_0A.x = self.origin[0]; - var_0A.y = self.origin[1]; - var_0A.z = self.origin[2]; - var_0A.alpha = 1; - if(var_0A.shader != "hud_fofbox_self") - { - var_0A.shader = "hud_fofbox_self"; - var_0A setshader("hud_fofbox_self",450,450); - var_0A setwaypoint(0,0,0,0); - var_0A setwaypointiconfadeatcenter(0); - var_0A setwaypointaerialtargeting(1); - } - - var_0B = 1; - var_0C = 0; - var_0D = level.agentarray; - if(!isdefined(var_0D)) - { - var_0D = []; - } - - var_0E = common_scripts\utility::array_combine(level.players,var_0D); - param_00.targets = common_scripts\utility::array_removeundefined(param_00.targets); - var_0F = common_scripts\utility::array_remove_array(var_0E,param_00.targets); - var_10 = []; - foreach(var_12 in var_0F) - { - if(player_is_valid_target(var_12)) - { - var_10[var_10.size] = var_12; - } - } - - var_14 = common_scripts\utility::get_array_of_closest(param_00.aimtarget,var_10,undefined,undefined); - var_0E = common_scripts\utility::array_combine(param_00.targets,var_14); - foreach(var_16 in var_0E) - { - if(!isdefined(var_16)) - { - continue; - } - - var_0A = self.missile_target_icons[var_0B]; - if(!isdefined(var_0A)) - { - break; - } - - if((isplayer(var_16) || isagent(var_16)) && player_is_valid_target(var_16)) - { - var_0A.x = var_16.origin[0]; - var_0A.y = var_16.origin[1]; - var_0A.z = var_16.origin[2]; - var_0A.alpha = 1; - var_0B++; - if(common_scripts\utility::array_contains(param_00.targets,var_16) && var_0A.shader == "hud_fofbox_hostile") - { - var_0A.shader = "hud_fofbox_hostile_ms_target"; - var_0A setshader("hud_fofbox_hostile_ms_target",450,450); - var_0A setwaypoint(0,0,0,0,0); - var_0A fadeovertime(0.05); - var_0A setwaypointiconfadeatcenter(0); - var_0A setwaypointaerialtargeting(1); - var_0C++; - continue; - } - - if(!common_scripts\utility::array_contains(param_00.targets,var_16) && var_0A.shader == "hud_fofbox_hostile_ms_target") - { - var_0A.shader = "hud_fofbox_hostile"; - var_0A setshader("hud_fofbox_hostile",450,450); - var_0A setwaypoint(0,0,0,0); - var_0A fadeovertime(0.05); - var_0A setwaypointiconfadeatcenter(0); - var_0A setwaypointaerialtargeting(1); - } - } - } - - if(var_0C == 1) - { - param_00 playsoundtoplayer("mstrike_locked_on_single",param_00.owner); - } - - if(var_0C > 1) - { - param_00 playsoundtoplayer("mstrike_locked_on_multiple",param_00.owner); - } - - wait 0.05; - } -} - -//Function Number: 57 -init_hud(param_00,param_01) -{ - self endon("disconnect"); - thread targeting_hud_init(); - thread targeting_hud_think(param_00,param_01); - self setclientomnvar("ui_predator_missile",1); - self setclientomnvar("ui_predator_missile_count",param_01.rocketammo); - var_02 = param_01.name; - if(var_02 == "remotemissile_projectile_mp") - { - self setclientomnvar("ui_predator_missile_type",1); - } - else if(var_02 == "remotemissile_projectile_gas_mp") - { - self setclientomnvar("ui_predator_missile_type",2); - } - else if(var_02 == "remotemissile_projectile_cluster_parent_mp") - { - if(param_01.clusterhellfire) - { - self setclientomnvar("ui_predator_missile_type",4); - } - else - { - self setclientomnvar("ui_predator_missile_type",3); - } - } - - wait 0.05; - hud_update_fire_text(param_00,param_01); - maps\mp\killstreaks\_aerial_utility::playerenablestreakstatic(); -} - -//Function Number: 58 -remove_hud() -{ - self setclientomnvar("ui_predator_missile",0); - self setclientomnvar("ui_predator_missile_text",0); - self setclientomnvar("ui_predator_missile_type",0); - self setclientomnvar("ui_predator_missile_count",0); - targeting_hud_destroy(); - maps\mp\killstreaks\_aerial_utility::playerdisablestreakstatic(); -} - -//Function Number: 59 -hud_update_fire_text(param_00,param_01) -{ - self setclientomnvar("ui_predator_missile_count",param_01.rocketammo); - if(param_01.rocketammo > 0) - { - self setclientomnvar("ui_predator_missile_text",param_01.rocketammo); - return; - } - - if(param_01.clustermissile) - { - if(!self.clusterdeployed) - { - self setclientomnvar("ui_predator_missile_text",5); - return; - } - - self setclientomnvar("ui_predator_missile_text",6); - return; - } - - if(!self.missileboostused) - { - self setclientomnvar("ui_predator_missile_text",3); - return; - } - - self setclientomnvar("ui_predator_missile_text",4); -} - -//Function Number: 60 -hud_watch_for_boost_active(param_00,param_01) -{ - self endon("disconnect"); - param_01 endon("missile_strike_complete"); - param_01 endon("ms_early_exit"); - self waittill("FireButtonPressed"); - self playrumbleonentity("sniper_fire"); - self.missileboostused = 1; - hud_update_fire_text(param_00,param_01); -} - -//Function Number: 61 -fade_to_white() -{ - self endon("disconnect"); - if(!isdefined(self.strikewhitefade)) - { - self.strikewhitefade = newclienthudelem(self); - self.strikewhitefade.x = 0; - self.strikewhitefade.y = 0; - self.strikewhitefade setshader("white",640,480); - self.strikewhitefade.alignx = "left"; - self.strikewhitefade.aligny = "top"; - self.strikewhitefade.horzalign = "fullscreen"; - self.strikewhitefade.vertalign = "fullscreen"; - self.strikewhitefade.alpha = 0; - } - - self.strikewhitefade fadeovertime(0.15); - self.strikewhitefade.alpha = 1; - wait(0.15); - self notify("full_white"); - self.strikewhitefade fadeovertime(0.2); - self.strikewhitefade.alpha = 0; - wait(0.2); - self notify("fade_white_over"); - self.strikewhitefade destroy(); -} - -//Function Number: 62 -playeraddnotifycommands() -{ - self notifyonplayercommand("FireButtonPressed","+attack"); - self notifyonplayercommand("FireButtonPressed","+attack_akimbo_accessible"); -} - -//Function Number: 63 -playerremovenotifycommands() -{ - self notifyonplayercommandremove("FireButtonPressed","+attack"); - self notifyonplayercommandremove("FireButtonPressed","+attack_akimbo_accessible"); -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/killstreaks/_nuke.gsc b/AW/PC/MP/maps/mp/killstreaks/_nuke.gsc deleted file mode 100644 index 07e98d5..0000000 --- a/AW/PC/MP/maps/mp/killstreaks/_nuke.gsc +++ /dev/null @@ -1,397 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_nuke.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 21 - * Decompile Time: 340 ms - * Timestamp: 10/27/2023 1:52:01 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - level._effect["nuke_flash"] = loadfx("vfx/explosion/dna_bomb_flash_mp"); - level._effect["nuke_aftermath"] = loadfx("vfx/dust/nuke_aftermath_mp"); - level._effect["dna_bomb_body_gas"] = loadfx("vfx/explosion/dna_bomb_body_gas"); - game["strings"]["nuclear_strike"] = &"KILLSTREAKS_TACTICAL_NUKE"; - level.killstreakfuncs["nuke"] = ::tryusenuke; - level.killstreakwieldweapons["nuke_mp"] = "nuke"; - setdvarifuninitialized("scr_nukeTimer",10); - setdvarifuninitialized("scr_nukeCancelMode",0); - level.nuketimer = getdvarint("scr_nukeTimer"); - level.cancelmode = getdvarint("scr_nukeCancelMode"); - level.nukeemptimeout = 60; - level.nukeemptimeremaining = int(level.nukeemptimeout); - level.nukeinfo = spawnstruct(); - level.nukeinfo.xpscalar = 2; - level.nukedetonated = undefined; - level thread onplayerconnect(); -} - -//Function Number: 2 -tryusenuke(param_00,param_01,param_02) -{ - if(isdefined(level.nukeincoming)) - { - self iprintlnbold(&"KILLSTREAKS_NUKE_ALREADY_INBOUND"); - return 0; - } - - if(maps\mp\_utility::isusingremote()) - { - return 0; - } - - if(!isdefined(param_02)) - { - param_02 = 1; - } - - thread donuke(param_02); - maps\mp\_matchdata::logkillstreakevent("nuke",self.origin); - return 1; -} - -//Function Number: 3 -delaythread_nuke(param_00,param_01) -{ - level endon("nuke_cancelled"); - maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(param_00); - thread [[ param_01 ]](); -} - -//Function Number: 4 -donuke(param_00) -{ - level endon("nuke_cancelled"); - level.nukeinfo.player = self; - level.nukeinfo.team = self.pers["team"]; - level.nukeincoming = 1; - setomnvar("ui_bomb_timer",4); - if(level.teambased) - { - thread maps\mp\_utility::teamplayercardsplash("used_nuke",self,self.team); - } - else if(!level.hardcoremode) - { - self iprintlnbold(&"MP_FRIENDLY_TACTICAL_NUKE"); - } - - level thread delaythread_nuke(level.nuketimer - 3.3,::nukesoundincoming); - level thread delaythread_nuke(level.nuketimer,::nukesoundexplosion); - level thread delaythread_nuke(level.nuketimer,::nukeslowmo); - level thread delaythread_nuke(level.nuketimer - 0.32,::nukeeffects); - level thread delaythread_nuke(level.nuketimer - 0.1,::nukevision); - level thread delaythread_nuke(level.nuketimer + 0.5,::nukedeath); - level thread delaythread_nuke(level.nuketimer + 1.5,::nukeearthquake); - level thread nukeaftermatheffect(); - level thread update_ui_timers(); - if(level.cancelmode && param_00) - { - level thread cancelnukeondeath(self); - } - - if(!isdefined(level.nuke_clockobject)) - { - level.nuke_clockobject = spawn("script_origin",(0,0,0)); - level.nuke_clockobject hide(); - } - - if(!isdefined(level.nuke_soundobject)) - { - level.nuke_soundobject = spawn("script_origin",(0,0,1)); - level.nuke_soundobject hide(); - } - - for(var_01 = level.nuketimer;var_01 > 0;var_01--) - { - level.nuke_clockobject playsound("ks_dna_warn_timer"); - wait(1); - } -} - -//Function Number: 5 -cancelnukeondeath(param_00) -{ - param_00 common_scripts\utility::waittill_any("death","disconnect"); - setomnvar("ui_bomb_timer",0); - level.nukeincoming = undefined; - level notify("nuke_cancelled"); -} - -//Function Number: 6 -nukesoundincoming() -{ - level endon("nuke_cancelled"); - if(isdefined(level.nuke_soundobject)) - { - level.nuke_soundobject playsound("ks_dna_incoming"); - } -} - -//Function Number: 7 -nukesoundexplosion() -{ - level endon("nuke_cancelled"); - if(isdefined(level.nuke_soundobject)) - { - level.nuke_soundobject playsound("ks_dna_explosion"); - level.nuke_soundobject playsound("ks_dna_wave"); - } -} - -//Function Number: 8 -nukeeffects() -{ - level endon("nuke_cancelled"); - foreach(var_01 in level.players) - { - var_02 = anglestoforward(var_01.angles); - var_02 = (var_02[0],var_02[1],0); - var_02 = vectornormalize(var_02); - var_03 = 300; - var_04 = spawn("script_model",var_01.origin + var_02 * var_03); - var_04 setmodel("tag_origin"); - var_04.angles = (0,var_01.angles[1] + 180,90); - var_04 thread nukeeffect(var_01); - } -} - -//Function Number: 9 -nukeeffect(param_00) -{ - level endon("nuke_cancelled"); - param_00 endon("disconnect"); - wait 0.05; - playfxontagforclients(level._effect["nuke_flash"],self,"tag_origin",param_00); -} - -//Function Number: 10 -nukeaftermatheffect() -{ - level endon("nuke_cancelled"); - level waittill("spawning_intermission"); - var_00 = getentarray("mp_global_intermission","classname"); - var_00 = var_00[0]; - var_01 = anglestoup(var_00.angles); - var_02 = anglestoright(var_00.angles); - playfx(level._effect["nuke_aftermath"],var_00.origin,var_01,var_02); -} - -//Function Number: 11 -nukeslowmo() -{ - level endon("nuke_cancelled"); - setomnvar("ui_bomb_timer",0); - setslowmotion(1,0.25,0.5); - level waittill("nuke_death"); - setslowmotion(0.25,1,2); -} - -//Function Number: 12 -nukevision() -{ - level endon("nuke_cancelled"); - var_00 = "dna_bomb"; - if(isdefined(level.dnavisionset)) - { - var_00 = level.dnavisionset; - } - - level.nukevisioninprogress = 1; - foreach(var_02 in level.players) - { - var_02 setclienttriggervisionset(var_00,0.5); - var_02 thread maps\mp\_flashgrenades::applyflash(1.6,0.35); - } - - level waittill("nuke_death"); - wait(3); - foreach(var_02 in level.players) - { - var_02 setclienttriggervisionset("",10); - } - - level.nukevisioninprogress = undefined; -} - -//Function Number: 13 -nukedeath() -{ - level endon("nuke_cancelled"); - level notify("nuke_death"); - maps\mp\gametypes\_hostmigration::waittillhostmigrationdone(); - ambientstop(1); - var_00 = 0; - foreach(var_02 in level.players) - { - if(level.teambased) - { - if(isdefined(level.nukeinfo.team) && var_02.team == level.nukeinfo.team) - { - continue; - } - } - else if(isdefined(level.nukeinfo.player) && var_02 == level.nukeinfo.player) - { - continue; - } - - var_02.nuked = 1; - if(isalive(var_02)) - { - var_02 thread maps\mp\gametypes\_damage::finishplayerdamagewrapper(level.nukeinfo.player,level.nukeinfo.player,999999,0,"MOD_EXPLOSIVE","nuke_mp",var_02.origin,var_02.origin,"none",0,0); - if(isdefined(var_02.isjuggernaut) && var_02.isjuggernaut == 1) - { - var_02 dodamage(1,var_02.origin,level.nukeinfo.player,level.nukeinfo.player,"MOD_EXPLOSIVE","nuke_mp"); - } - - maps\mp\_utility::delaythread(var_00 + 1,::bodygasfx,var_02.body); - var_00 = var_00 + 0.05; - } - } - - level thread nuke_empjam(); - level.nukeincoming = undefined; -} - -//Function Number: 14 -bodygasfx(param_00) -{ - if(isdefined(param_00)) - { - playfxontag(common_scripts\utility::getfx("dna_bomb_body_gas"),param_00,"J_SPINELOWER"); - } -} - -//Function Number: 15 -nukeearthquake() -{ - level endon("nuke_cancelled"); - level waittill("nuke_death"); -} - -//Function Number: 16 -nuke_empjam() -{ - level endon("game_ended"); - level notify("nuke_EMPJam"); - level endon("nuke_EMPJam"); - if(level.multiteambased) - { - for(var_00 = 0;var_00 < level.teamnamelist.size;var_00++) - { - if(level.nukeinfo.team != level.teamnamelist[var_00]) - { - level maps\mp\killstreaks\_emp::destroyactivevehicles(level.nukeinfo.player,level.teamnamelist[var_00]); - } - } - } - else if(level.teambased) - { - level maps\mp\killstreaks\_emp::destroyactivevehicles(level.nukeinfo.player,maps\mp\_utility::getotherteam(level.nukeinfo.team)); - } - else - { - level maps\mp\killstreaks\_emp::destroyactivevehicles(level.nukeinfo.player,maps\mp\_utility::getotherteam(level.nukeinfo.team)); - } - - level notify("nuke_emp_update"); - level notify("nuke_emp_update"); - level notify("nuke_emp_ended"); -} - -//Function Number: 17 -keepnukeemptimeremaining() -{ - level notify("keepNukeEMPTimeRemaining"); - level endon("keepNukeEMPTimeRemaining"); - level endon("nuke_emp_ended"); - level.nukeemptimeremaining = int(level.nukeemptimeout); - while(level.nukeemptimeremaining) - { - wait(1); - level.nukeemptimeremaining--; - } -} - -//Function Number: 18 -nuke_empteamtracker() -{ - level endon("game_ended"); - for(;;) - { - level common_scripts\utility::waittill_either("joined_team","nuke_emp_update"); - foreach(var_01 in level.players) - { - if(var_01.team == "spectator") - { - continue; - } - - if(level.teambased) - { - if(isdefined(level.nukeinfo.team) && var_01.team == level.nukeinfo.team) - { - continue; - } - } - else if(isdefined(level.nukeinfo.player) && var_01 == level.nukeinfo.player) - { - continue; - } - - if(!level.teamnukeemped[var_01.team] && !var_01 maps\mp\_utility::isemped()) - { - var_01 setempjammed(0); - continue; - } - - var_01 setempjammed(1); - } - } -} - -//Function Number: 19 -onplayerconnect() -{ - for(;;) - { - level waittill("connected",var_00); - var_00 thread onplayerspawned(); - } -} - -//Function Number: 20 -onplayerspawned() -{ - self endon("disconnect"); - for(;;) - { - self waittill("spawned_player"); - if(isdefined(level.nukevisioninprogress)) - { - self setclienttriggervisionset("dna_bomb"); - wait 0.05; - self setclienttriggervisionset("",10); - } - } -} - -//Function Number: 21 -update_ui_timers() -{ - level endon("game_ended"); - level endon("disconnect"); - level endon("nuke_cancelled"); - level endon("nuke_death"); - var_00 = level.nuketimer * 1000 + gettime(); - setomnvar("ui_nuke_end_milliseconds",var_00); - level waittill("host_migration_begin"); - var_01 = maps\mp\gametypes\_hostmigration::waittillhostmigrationdone(); - if(var_01 > 0) - { - setomnvar("ui_nuke_end_milliseconds",var_00 + var_01); - } -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/killstreaks/_orbital_strike.gsc b/AW/PC/MP/maps/mp/killstreaks/_orbital_strike.gsc deleted file mode 100644 index 7277742..0000000 --- a/AW/PC/MP/maps/mp/killstreaks/_orbital_strike.gsc +++ /dev/null @@ -1,1446 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_orbital_strike.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 75 - * Decompile Time: 1133 ms - * Timestamp: 10/27/2023 1:52:07 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - level._effect["orbital_laser_clouds"] = loadfx("vfx/unique/vfx_odin_parallax_clouds"); - level._effect["orbital_laser_warmup"] = loadfx("vfx/beam/orbital_laser_warmup"); - level._effect["orbital_laser_warmup_water"] = loadfx("vfx/beam/orbital_laser_water_boiling"); - level._effect["orbital_laser_warmup_wide"] = loadfx("vfx/beam/orbital_laser_warmup_large"); - level._effect["orbital_laser_warmup_wide_water"] = loadfx("vfx/beam/orbital_laser_water_boiling"); - level._effect["orbital_laser_warmup_lightshow"] = loadfx("vfx/beam/orbital_laser_warmup_lightshow"); - level._effect["orbital_laser_warmup_lightshow_water"] = loadfx("vfx/beam/orbital_laser_water_boiling"); - level._effect["orbital_laser_warmup_lightshow_wide"] = loadfx("vfx/beam/orbital_laser_warmup_lightshow_large"); - level._effect["orbital_laser_warmup_lightshow_wide_water"] = loadfx("vfx/beam/orbital_laser_water_boiling"); - level._effect["orbital_laser_fire"] = loadfx("vfx/beam/orbital_laser_fire_small"); - level._effect["orbital_laser_fire_water"] = loadfx("vfx/beam/orbital_laser_water_sm"); - level._effect["orbital_laser_fire_wide"] = loadfx("vfx/beam/orbital_laser_fire_large"); - level._effect["orbital_laser_fire_wide_water"] = loadfx("vfx/beam/orbital_laser_water_sm"); - level._effect["orbital_laser_fire_lightshow"] = loadfx("vfx/beam/orbital_laser_fire_lightshow"); - level._effect["orbital_laser_fire_lightshow_water"] = loadfx("vfx/beam/orbital_laser_water_sm"); - level._effect["orbital_laser_fire_lightshow_wide"] = loadfx("vfx/beam/orbital_laser_fire_lightshow_large"); - level._effect["orbital_laser_fire_lightshow_wide_water"] = loadfx("vfx/beam/orbital_laser_water_sm"); - level._effect["orbital_laser_ending"] = loadfx("vfx/beam/orbital_laser_ending"); - level._effect["orbital_laser_ending_water"] = loadfx("vfx/beam/orbital_laser_water_aftermath"); - level._effect["orbital_laser_beam"] = loadfx("vfx/beam/orbital_laser_lightbeam"); - level._effect["orbital_laser_beam_wide"] = loadfx("vfx/beam/orbital_laser_lightbeam_lg"); - level._effect["orbital_laser_beam_lightshow"] = loadfx("vfx/beam/orbital_laser_lightbeam_lightshow"); - level._effect["orbital_laser_beam_lightshow_wide"] = loadfx("vfx/beam/orbital_laser_lightbeam_lightshow_lg"); - level._effect["orbital_laser_smoldering"] = loadfx("vfx/beam/orbital_laser_smoldering"); - level._effect["orbital_laser_death"] = loadfx("vfx/beam/orbital_laser_lightbeam_burnmark"); - level._orbital_strike_setting = []; - level._orbital_strike_setting = spawnstruct(); - level._orbital_strike_setting.vehicle = "orbital_laser_strike_mp"; - level._orbital_strike_setting.helitype = "OrbitalStrike"; - level._orbital_strike_setting.maxhealth = 9999999; - level.killstreakfuncs["orbital_strike_laser"] = ::tryuseorbitalstrike; - level.killstreakwieldweapons["orbital_laser_fov_mp"] = "orbital_strike_laser"; - if(!isdefined(level.orbital_lasers)) - { - level.orbital_lasers = []; - } - - if(level.teambased) - { - level.orbital_laser_axis = 0; - level.orbital_laser_allies = 0; - } - - level.orbitallaseroverrides = spawnstruct(); - level.orbitallaseroverrides.spawnheight = undefined; - level.orbitallaseroverrides.spawnpoint = undefined; - if(isdefined(level.orbitallaseroverridefunc)) - { - [[ level.orbitallaseroverridefunc ]](); - } -} - -//Function Number: 2 -tryuseorbitalstrike(param_00,param_01) -{ - if(checkorbitallaserusage()) - { - self iprintlnbold(&"KILLSTREAKS_AIR_SPACE_TOO_CROWDED"); - return 0; - } - - if(maps\mp\_utility::currentactivevehiclecount() >= maps\mp\_utility::maxvehiclesallowed() || level.fauxvehiclecount + 1 >= maps\mp\_utility::maxvehiclesallowed()) - { - self iprintlnbold(&"MP_TOO_MANY_VEHICLES"); - return 0; - } - - maps\mp\_utility::incrementfauxvehiclecount(); - var_02 = undefined; - if(level.teambased) - { - var_02 = self.team; - setorbitallaserforteam(var_02,1); - } - - var_03 = maps\mp\killstreaks\_killstreaks::initridekillstreak("orbital_strike"); - if(var_03 != "success") - { - maps\mp\_utility::decrementfauxvehiclecount(); - if(level.teambased) - { - setorbitallaserforteam(var_02,0); - } - - return 0; - } - - if(isdefined(level.ishorde) && level.ishorde && self.killstreakindexweapon == 1) - { - self notify("used_horde_orbital"); - } - - maps\mp\_utility::setusingremote("orbital_strike"); - var_03 = setuporbitalstrike(param_00,param_01); - maps\mp\_matchdata::logkillstreakevent("orbital_strike",self.origin); - return var_03; -} - -//Function Number: 3 -checkorbitallaserusage() -{ - if(level.teambased) - { - if(self.team == "allies") - { - return level.orbital_laser_allies; - } - - return level.orbital_laser_axis; - } - - return level.orbital_lasers.size >= 2; -} - -//Function Number: 4 -setorbitallaserforteam(param_00,param_01) -{ - if(param_00 == "allies") - { - level.orbital_laser_allies = param_01; - return; - } - - level.orbital_laser_axis = param_01; -} - -//Function Number: 5 -orbitalstrikesetupdelay(param_00) -{ - self endon("OrbitalStrikeStreakComplete"); - wait 0.05; - param_00 thermaldrawdisable(); -} - -//Function Number: 6 -setuporbitalstrike(param_00,param_01) -{ - playeraddnotifycommands(); - var_02 = findbestspawnlocation(); - var_03 = spawnhelicopter(self,var_02.origin,(0,0,0),level._orbital_strike_setting.vehicle,"tag_origin"); - if(!isdefined(var_03)) - { - return 0; - } - - thread orbitalstrikesetupdelay(var_03); - level.orbital_lasers = common_scripts\utility::array_add(level.orbital_lasers,var_03); - var_03.modules = param_01; - var_03.vehicletype = "orbital_strike"; - var_03.lifeid = param_00; - var_03.team = self.pers["team"]; - var_03.pers["team"] = self.pers["team"]; - var_03.owner = self; - var_03.maxhealth = level._orbital_strike_setting.maxhealth; - var_03.zoffset = (0,0,0); - var_03.targeting_delay = level.heli_targeting_delay; - var_03.primarytarget = undefined; - var_03.secondarytarget = undefined; - var_03.attacker = undefined; - var_03.cloakstate = 0; - var_03.numcharges = 1; - if(common_scripts\utility::array_contains(var_03.modules,"orbital_strike_laser_burst1")) - { - var_03.numcharges++; - } - - if(common_scripts\utility::array_contains(var_03.modules,"orbital_strike_laser_burst2")) - { - var_03.numcharges++; - } - - var_03.widebeam = common_scripts\utility::array_contains(var_03.modules,"orbital_strike_laser_width"); - var_03.beams = common_scripts\utility::array_contains(var_03.modules,"orbital_strike_laser_beam"); - var_03.fireduration = 6; - if(common_scripts\utility::array_contains(var_03.modules,"orbital_strike_laser_duration")) - { - var_03.fireduration = var_03.fireduration * 1.5; - } - - self.controllingorbitallaser = 1; - thread monitororbitalstriketimeout(var_03); - thread monitororbitalstrikedeath(var_03); - thread monitorplayerdisconnect(var_03); - thread monitorplayerteamchange(var_03); - thread monitorgameended(var_03); - thread playercontrolorbitalstrike(var_03); - thread watchallplayerdeath(var_03,self); - thread onplayerconnect(var_03,self); - return 1; -} - -//Function Number: 7 -onplayerconnect(param_00,param_01) -{ - param_01 endon("OrbitalStrikeStreakComplete"); - param_01 endon("disconnect"); - param_00 endon("death"); - param_00 endon("PossessHoldTimeComplete"); - param_00 endon("leaving"); - for(;;) - { - level waittill("connected",var_02); - var_02 thread waitforlaserdeath(param_00,param_01); - } -} - -//Function Number: 8 -zoomslam(param_00) -{ - var_01 = spawn("script_model",param_00.origin + (0,0,3000)); - var_01.angles = vectortoangles((0,0,1)); - var_01 setmodel("tag_origin"); - var_01 thread waitanddelete(5); - var_02 = common_scripts\utility::array_add(maps\mp\_utility::get_players_watching(),self); - foreach(var_04 in var_02) - { - var_04 setclientomnvar("cam_scene_name","odin_zoom_down"); - var_04 setclientomnvar("cam_scene_lead",param_00 getentitynumber()); - var_04 setclientomnvar("cam_scene_support",var_01 getentitynumber()); - var_04 playlocalsound("vulcan_hud_transition"); - var_04 thread clouds(param_00); - } -} - -//Function Number: 9 -clouds(param_00) -{ - level endon("game_ended"); - var_01 = spawn("script_model",param_00.origin + (0,0,-1000)); - var_01.angles = vectortoangles((0,0,1)); - var_01 setmodel("tag_origin"); - var_01 thread waitanddelete(5); - playfxontagforclients(level._effect["orbital_laser_clouds"],var_01,"tag_origin",self); -} - -//Function Number: 10 -waitanddelete(param_00) -{ - self endon("death"); - level endon("game_ended"); - wait(param_00); - self delete(); -} - -//Function Number: 11 -turnonandhideorbitalhud() -{ - self setclientomnvar("ui_orbital_laser",1); - self setclientomnvar("ui_orbital_laser_mode",0); - self setclientomnvar("ui_orbital_laser_charge",0); - self setclientomnvar("ui_orbital_laser_bursts",0); - maps\mp\killstreaks\_aerial_utility::playerenablestreakstatic(); -} - -//Function Number: 12 -showorbitalstrikehud(param_00) -{ - thread activatethermal(); - self setclientomnvar("ui_orbital_laser_mode",1); - self setclientomnvar("ui_orbital_laser_bursts",param_00.numcharges); - maps\mp\killstreaks\_aerial_utility::playerenablestreakstatic(); -} - -//Function Number: 13 -orbitalstrikebeginchargeup(param_00,param_01) -{ - self endon("disconnect"); - self endon("OrbitalStrikeStreakComplete"); - var_02 = gettime() + param_01 * 1000; - self setclientomnvar("ui_orbital_laser_charge",var_02); - self setclientomnvar("ui_orbital_laser_mode",1); - self playrumbleonentity("orbital_laser_charge"); - playwarmupsounds(param_00,0); - wait(0.1); - playwarmupeffects(param_00); -} - -//Function Number: 14 -orbitalstrikchargeupspeedup(param_00,param_01) -{ - var_02 = gettime() + param_01 * 1000; - self setclientomnvar("ui_orbital_laser_charge",var_02); - self stoprumble("orbital_laser_charge"); - self playrumbleonentity("orbital_laser_charge_quick"); - playwarmupsounds(param_00,1); -} - -//Function Number: 15 -orbitalstrikechargeupcomplete(param_00) -{ - self setclientomnvar("ui_orbital_laser_charge",0); - self stoprumble("orbital_laser_charge"); - self stoprumble("orbital_laser_charge_quick"); - self playrumblelooponentity("orbital_laser_fire"); -} - -//Function Number: 16 -createorbitaltimer(param_00,param_01) -{ - var_02 = gettime() + param_01 * 1000; - thread orbitalstrikebeginchargeup(param_00,param_01); - maps\mp\_utility::waitfortimeornotify(param_01,"StartFire"); - var_03 = var_02 - gettime(); - if(var_03 > 2500) - { - orbitalstrikchargeupspeedup(param_00,1.1); - wait(1.1); - } - else - { - stopwarmupsounds(param_00); - } - - orbitalstrikechargeupcomplete(param_00); -} - -//Function Number: 17 -hidefirehud(param_00) -{ - self setclientomnvar("ui_orbital_laser_mode",2); -} - -//Function Number: 18 -sethudnumbursts(param_00) -{ - self setclientomnvar("ui_orbital_laser_bursts",param_00.numcharges); -} - -//Function Number: 19 -getorbitallaserzheight() -{ - if(isdefined(level.orbitallaseroverrides.spawnheight)) - { - return level.orbitallaseroverrides.spawnheight; - } - - var_00 = maps\mp\killstreaks\_aerial_utility::gethelianchor(); - var_01 = var_00.origin[2] + 1024; - if(isdefined(level.airstrikeoverrides) && isdefined(level.airstrikeoverrides.spawnheight)) - { - var_01 = var_01 + level.airstrikeoverrides.spawnheight; - } - - return var_01; -} - -//Function Number: 20 -findbestspawnlocation() -{ - if(!isdefined(self.strikespawnpoint)) - { - self.strikespawnpoint = spawnstruct(); - } - - var_00 = maps\mp\killstreaks\_aerial_utility::gethelianchor(); - var_01 = getorbitallaserzheight(); - var_02 = level.mapcenter; - if(isdefined(level.orbitallaseroverrides.spawnpoint)) - { - var_02 = level.orbitallaseroverrides.spawnpoint; - } - - self.strikespawnpoint.origin = var_02 + (0,0,var_01); - self.strikespawnpoint.angles = (0,self.angles[1],0); - return self.strikespawnpoint; -} - -//Function Number: 21 -monitororbitalstrikesafearea(param_00) -{ - self endon("OrbitalStrikeStreakComplete"); - thread maps\mp\killstreaks\_aerial_utility::playerhandleboundarystatic(param_00,"OrbitalStrikeStreakComplete"); - param_00 waittill("outOfBounds"); - wait(2); - param_00 notify("leaving"); -} - -//Function Number: 22 -playercontrolorbitalstrike(param_00) -{ - self endon("OrbitalStrikeStreakComplete"); - thread maps\mp\_utility::freezecontrolswrapper(1); - thread monitororbitalstrikesafearea(param_00); - maps\mp\_utility::playersaveangles(); - wait(0.45); - thread setvulcanvisionandlightsetpermap(0.5); - zoomslam(param_00); - turnonandhideorbitalhud(); - wait(1.5); - maps\mp\killstreaks\_aerial_utility::playershowfullstatic(); - thread maps\mp\_utility::freezecontrolswrapper(0); - maps\mp\_utility::_giveweapon("orbital_laser_fov_mp"); - self switchtoweapon("orbital_laser_fov_mp"); - common_scripts\utility::_disableweaponswitch(); - self unlink(); - param_00 sethoverparams(0,0,0); - param_00 setjitterparams((0,0,0),0,0); - thread leaveorbitalstrikeearly(param_00); - thread playinteriorsound(param_00); - self setplayerangles((0,0,0)); - self remotecontrolvehicle(param_00); - wait(0.05); - self cameralinkto(param_00,"tag_origin"); - wait(0.55); - maps\mp\gametypes\_hostmigration::waittillhostmigrationdone(); - param_00.killcamstarttime = gettime(); - showorbitalstrikehud(param_00); - thread weaponsetup(param_00); -} - -//Function Number: 23 -setplayerstance() -{ - if(self getstance() == "prone") - { - self setstance("crouch"); - } -} - -//Function Number: 24 -leaveorbitalstrikeearly(param_00) -{ - self endon("OrbitalStrikeStreakComplete"); - param_00 endon("death"); - var_01 = 5; - for(;;) - { - self waittill("ToggleControlState"); - thread cancelpossessbuttonpressmonitor(); - self.holdingleavebutton = 1; - for(var_02 = 0;var_02 <= var_01;var_02++) - { - wait(0.1); - if(self.holdingleavebutton == 1 && var_02 == var_01) - { - param_00 notify("PossessHoldTimeComplete"); - continue; - } - - if(self.holdingleavebutton == 0) - { - break; - } - } - } -} - -//Function Number: 25 -cancelpossessbuttonpressmonitor() -{ - self endon("OrbitalStrikeStreakComplete"); - self endon("PossessHoldTimeComplete"); - self waittill("ToggleControlCancel"); - self.holdingleavebutton = 0; -} - -//Function Number: 26 -activatethermal() -{ - self setshadowrendering(0); - self thermalvisionfofoverlayon(); - self setblurforplayer(1.1,0); - var_00 = 0.125; - var_01 = 8500; - var_02 = 0.125; - var_03 = 5500; - var_04 = 20; - var_05 = 30; - thread maps\mp\killstreaks\_aerial_utility::thermalvision("OrbitalStrikeStreakComplete",var_00,var_01,var_02,var_03,var_04,var_05); -} - -//Function Number: 27 -playinteriorsound(param_00) -{ - var_01 = common_scripts\utility::array_add(maps\mp\_utility::get_players_watching(),self); - if(isdefined(param_00)) - { - param_00 thread maps\mp\_utility::playloopsoundtoplayers("vulcan_interior_loop_plr",undefined,var_01); - } - - common_scripts\utility::waittill_any("OrbitalStrikeStreakComplete"); - if(isdefined(param_00)) - { - param_00 common_scripts\utility::stop_loop_sound_on_entity("vulcan_interior_loop_plr"); - } -} - -//Function Number: 28 -weaponlistenforstopfire(param_00) -{ - self endon("OrbitalStrikeStreakComplete"); - var_01 = gettime() + param_00.fireduration * 1000; - self setclientomnvar("ui_orbital_laser_fire",var_01); - wait(param_00.fireduration); - self setclientomnvar("ui_orbital_laser_fire",0); - param_00 notify("stop_charge"); -} - -//Function Number: 29 -getlaserradius(param_00) -{ - if(param_00.widebeam) - { - return 256; - } - - return 128; -} - -//Function Number: 30 -weaponsetup(param_00) -{ - var_01 = anglestoforward(param_00.angles); - var_02 = anglestoright(param_00.angles); - var_03 = param_00 gettagorigin("tag_origin") + var_01 * 30; - var_04 = (0,0,-1); - var_05 = var_03 + var_04 * 5000; - var_06 = bullettrace(var_03,var_05,0,param_00); - var_07 = var_06["position"]; - var_08 = getlaserradius(param_00); - param_00.weaponlinker = spawn("script_model",var_03); - param_00.weaponlinker setmodel("generic_prop_raven"); - param_00.weaponlinker vehicle_jetbikesethoverforcescale(param_00,"tag_origin"); - var_09 = var_07; - var_0A = vectortoangles(var_09 - var_03); - var_0B = spawn("script_model",var_03); - var_0B setmodel("tag_origin"); - var_0B.angles = var_0A; - var_0B vehicle_jetbikesethoverforcescale(param_00.weaponlinker,"tag_origin"); - param_00.weapontag01 = var_0B; - var_0C = spawn("script_model",var_09); - var_0C.angles = (-90,0,0); - var_0C setmodel("tag_origin"); - var_0C setotherent(var_0B); - var_0C show(); - param_00.weapontag01.targetedent = var_0C; - if(param_00.beams) - { - var_09 = var_07 + var_01 * var_08; - var_0A = vectortoangles(var_09 - var_03); - var_0D = spawn("script_model",var_03); - var_0D setmodel("tag_origin"); - var_0D.angles = var_0A; - var_0D vehicle_jetbikesethoverforcescale(param_00.weaponlinker,"j_prop_1"); - param_00.weapontag02 = var_0D; - var_0E = spawn("script_model",var_09); - var_0E.angles = (-90,0,0); - var_0E setmodel("tag_origin"); - var_0E setotherent(var_0D); - var_0E show(); - param_00.weapontag02.targetedent = var_0E; - var_0F = sin(60) * var_08; - var_10 = cos(60) * var_08; - var_09 = var_07 - var_01 * var_10 + var_02 * var_0F; - var_0A = vectortoangles(var_09 - var_03); - var_11 = spawn("script_model",var_03); - var_11 setmodel("tag_origin"); - var_11.angles = var_0A; - var_11 vehicle_jetbikesethoverforcescale(param_00.weaponlinker,"j_prop_1"); - param_00.weapontag03 = var_11; - var_12 = spawn("script_model",var_09); - var_12.angles = (-90,0,0); - var_12 setmodel("tag_origin"); - var_12 setotherent(var_11); - var_12 show(); - param_00.weapontag03.targetedent = var_12; - var_09 = var_07 - var_01 * var_10 - var_02 * var_0F; - var_0A = vectortoangles(var_09 - var_03); - var_13 = spawn("script_model",var_03); - var_13 setmodel("tag_origin"); - var_13.angles = var_0A; - var_13 vehicle_jetbikesethoverforcescale(param_00.weaponlinker,"j_prop_1"); - param_00.weapontag04 = var_13; - var_14 = spawn("script_model",var_09); - var_14.angles = (-90,0,0); - var_14 setmodel("tag_origin"); - var_14 setotherent(var_13); - var_14 show(); - param_00.weapontag04.targetedent = var_14; - } - - thread spinthelasers(param_00); - thread monitororbitalstrikeweapon(param_00); -} - -//Function Number: 31 -deleteweaponmodels(param_00) -{ - if(isdefined(param_00.weapontag01)) - { - param_00.weapontag01.targetedent delete(); - param_00.weapontag01 delete(); - if(param_00.beams) - { - param_00.weapontag02.targetedent delete(); - param_00.weapontag02 delete(); - param_00.weapontag03.targetedent delete(); - param_00.weapontag03 delete(); - param_00.weapontag04.targetedent delete(); - param_00.weapontag04 delete(); - } - } - - if(isdefined(param_00.weaponlinker)) - { - param_00.weaponlinker delete(); - } -} - -//Function Number: 32 -spinthelasers(param_00) -{ - param_00.weaponlinker scriptmodelplayanim("mp_generic_prop_spin","hello"); -} - -//Function Number: 33 -monitororbitalstrikeweapon(param_00) -{ - self endon("OrbitalStrikeStreakComplete"); - param_00 clearturrettarget(); - wait(1); - var_01 = 6; - while(param_00.numcharges > 0) - { - createorbitaltimer(param_00,var_01); - param_00.numcharges--; - sethudnumbursts(param_00); - thread weaponlistenforstopfire(param_00); - hidefirehud(param_00); - laserweapon(param_00); - wait(0.1); - } - - param_00 notify("done"); -} - -//Function Number: 34 -oneshotsoundonmovingent(param_00,param_01) -{ - if(!isdefined(param_01)) - { - param_01 = 5; - } - - var_02 = spawn("script_model",self.origin); - var_02 setmodel("tag_origin"); - var_02 vehicle_jetbikesethoverforcescale(self); - var_02 playsound(param_00); - var_02 thread waitanddelete(param_01); -} - -//Function Number: 35 -oneshotsoundonstationaryent(param_00,param_01) -{ - if(!isdefined(param_01)) - { - param_01 = 5; - } - - var_02 = spawn("script_model",self.origin); - var_02 setmodel("tag_origin"); - var_02 playsound(param_00); - var_02 thread waitanddelete(param_01); -} - -//Function Number: 36 -startlasersounds(param_00) -{ - param_00.playingloopfiresounds = 1; - var_01 = common_scripts\utility::array_add(maps\mp\_utility::get_players_watching(),self); - param_00.weapontag01.targetedent thread common_scripts\utility::play_loop_sound_on_entity("vulcan_beam_loop_npc"); - param_00.weapontag01.targetedent thread common_scripts\utility::play_loop_sound_on_entity("vulcan_impact_loop_npc"); - param_00.weapontag01.targetedent oneshotsoundonmovingent("vulcan_shot_snap_npc"); - param_00.weapontag01.targetedent oneshotsoundonmovingent("vulcan_shot_tail_npc"); - var_02 = "vulcan_std_beam_loop_plr"; - if(param_00.beams) - { - var_02 = "vulcan_lshow_beam_loop_plr"; - } - else if(param_00.widebeam) - { - var_02 = "vulcan_wide_beam_loop_plr"; - } - - param_00 thread maps\mp\_utility::playloopsoundtoplayers("vulcan_beam_loop_plr",undefined,var_01); - param_00 thread maps\mp\_utility::playloopsoundtoplayers(var_02,undefined,var_01); - var_03 = "vulcan_shot_snap_plr"; - if(param_00.beams) - { - var_03 = "vulcan_shot_snap_lshow_plr"; - } - else if(param_00.widebeam) - { - var_03 = "vulcan_shot_snap_wide_plr"; - } - - self playlocalsound(var_03); - self playlocalsound("vulcan_shot_tail_plr"); -} - -//Function Number: 37 -stoplasersounds(param_00) -{ - if(isdefined(param_00.weapontag01)) - { - param_00.weapontag01.targetedent common_scripts\utility::stop_loop_sound_on_entity("vulcan_beam_loop_npc"); - param_00.weapontag01.targetedent common_scripts\utility::stop_loop_sound_on_entity("vulcan_impact_loop_npc"); - if(param_00.beams) - { - param_00.weapontag02.targetedent common_scripts\utility::stop_loop_sound_on_entity("vulcan_beam_loop_npc"); - param_00.weapontag02.targetedent common_scripts\utility::stop_loop_sound_on_entity("vulcan_impact_loop_npc"); - param_00.weapontag03.targetedent common_scripts\utility::stop_loop_sound_on_entity("vulcan_beam_loop_npc"); - param_00.weapontag03.targetedent common_scripts\utility::stop_loop_sound_on_entity("vulcan_impact_loop_npc"); - param_00.weapontag04.targetedent common_scripts\utility::stop_loop_sound_on_entity("vulcan_beam_loop_npc"); - param_00.weapontag04.targetedent common_scripts\utility::stop_loop_sound_on_entity("vulcan_impact_loop_npc"); - } - } - - var_01 = "vulcan_std_beam_loop_plr"; - if(param_00.widebeam) - { - var_01 = "vulcan_wide_beam_loop_plr"; - } - - param_00 common_scripts\utility::stop_loop_sound_on_entity("vulcan_beam_loop_plr"); - param_00 common_scripts\utility::stop_loop_sound_on_entity(var_01); - if(isdefined(param_00.playingloopfiresounds) && param_00.playingloopfiresounds) - { - param_00.playingloopfiresounds = 0; - if(isdefined(param_00.weapontag01)) - { - param_00.weapontag01.targetedent oneshotsoundonstationaryent("vulcan_beam_stop_npc"); - if(param_00.beams) - { - param_00.weapontag02.targetedent oneshotsoundonstationaryent("vulcan_beam_stop_npc"); - param_00.weapontag03.targetedent oneshotsoundonstationaryent("vulcan_beam_stop_npc"); - param_00.weapontag04.targetedent oneshotsoundonstationaryent("vulcan_beam_stop_npc"); - } - } - - if(self.controllingorbitallaser) - { - var_02 = 1; - if(isdefined(self) && var_02) - { - self playlocalsound("vulcan_beam_stop_plr"); - return; - } - } - } -} - -//Function Number: 38 -laserweapon(param_00) -{ - self endon("OrbitalStrikeStreakComplete"); - stopwarmupeffects(param_00); - wait 0.05; - wait 0.05; - thread firelaserbeam(param_00); - thread laserpilotquake(param_00); - thread lasersurfacequake(param_00); - thread laserdophysics(param_00); - thread laserdodamge(param_00); - self setremotehelicopterthrottlescale(0.3); - param_00 waittill("stop_charge"); - self setremotehelicopterthrottlescale(1); -} - -//Function Number: 39 -laserdodamge(param_00) -{ - self endon("OrbitalStrikeStreakComplete"); - param_00 endon("death"); - param_00 endon("PossessHoldTimeComplete"); - param_00 endon("leaving"); - param_00 endon("stop_charge"); - var_01 = getlaserradius(param_00); - for(;;) - { - param_00 radiusdamage(param_00.weapontag01.targetedent.origin + (0,0,8),var_01,90,90,self,"MOD_TRIGGER_HURT","orbital_laser_fov_mp"); - if(isdefined(level.ishorde) && level.ishorde && isdefined(level.flying_attack_drones)) - { - foreach(var_03 in level.flying_attack_drones) - { - if(var_03.origin[2] > param_00.weapontag01.targetedent.origin[2] && distance2dsquared(var_03.origin,param_00.weapontag01.targetedent.origin) < int(var_01 * var_01 / 9)) - { - var_03 dodamage(90,param_00.weapontag01.targetedent.origin,self,self,"MOD_TRIGGER_HURT","orbital_laser_fov_mp"); - } - } - } - - if(param_00.beams) - { - param_00 radiusdamage(param_00.weapontag02.targetedent.origin + (0,0,8),var_01,90,90,self,"MOD_TRIGGER_HURT","orbital_laser_fov_mp"); - param_00 radiusdamage(param_00.weapontag03.targetedent.origin + (0,0,8),var_01,90,90,self,"MOD_TRIGGER_HURT","orbital_laser_fov_mp"); - param_00 radiusdamage(param_00.weapontag04.targetedent.origin + (0,0,8),var_01,90,90,self,"MOD_TRIGGER_HURT","orbital_laser_fov_mp"); - } - - glassradiusdamage(param_00.weapontag01.targetedent.origin + (0,0,32),var_01 * 2,200,200); - if(param_00.beams) - { - glassradiusdamage(param_00.weapontag02.targetedent.origin + (0,0,32),var_01 * 2,200,200); - glassradiusdamage(param_00.weapontag03.targetedent.origin + (0,0,32),var_01 * 2,200,200); - glassradiusdamage(param_00.weapontag04.targetedent.origin + (0,0,32),var_01 * 2,200,200); - } - - wait(0.15); - } -} - -//Function Number: 40 -watchallplayerdeath(param_00,param_01) -{ - foreach(var_03 in level.players) - { - var_03 thread waitforlaserdeath(param_00,param_01); - } -} - -//Function Number: 41 -waitforlaserdeath(param_00,param_01) -{ - self endon("OrbitalStrikeStreakComplete"); - param_00 endon("death"); - param_00 endon("PossessHoldTimeComplete"); - param_00 endon("leaving"); - for(;;) - { - self waittill("death",var_02,var_03,var_04); - if(isdefined(var_04) && isdefined(var_02) && var_02 == param_01 && var_04 == "orbital_laser_fov_mp") - { - var_05 = 10; - for(var_06 = 0;var_06 < var_05;var_06++) - { - wait(0.05); - if(isdefined(self) && isdefined(self.body)) - { - playfxontag(level._effect["orbital_laser_death"],self.body,"tag_origin"); - break; - } - } - } - - wait(0.05); - } -} - -//Function Number: 42 -laserdophysics(param_00) -{ - self endon("OrbitalStrikeStreakComplete"); - param_00 endon("death"); - param_00 endon("PossessHoldTimeComplete"); - param_00 endon("leaving"); - param_00 endon("stop_charge"); - var_01 = getlaserradius(param_00); - var_02 = 2; - for(;;) - { - var_03 = randomfloatrange(0.65,0.8); - var_04 = randomintrange(-180,180); - var_05 = (param_00.weapontag01.targetedent.angles[0] * var_03,var_04,var_04); - var_06 = anglestoforward(var_05); - physicsexplosionsphere(param_00.weapontag01.targetedent.origin + (0,0,1),var_01,96,var_02); - wait(0.4); - } -} - -//Function Number: 43 -firelaserbeam(param_00) -{ - self endon("OrbitalStrikeStreakComplete"); - param_00 endon("death"); - playfireeffects(param_00); - playbeameffects(param_00); - startlasersounds(param_00); - param_00 waittill("stop_charge"); - if(isdefined(param_00)) - { - stopfireeffects(param_00); - stopbeameffects(param_00); - stoplasersounds(param_00); - } -} - -//Function Number: 44 -laserpilotquake(param_00) -{ - self endon("OrbitalStrikeStreakComplete"); - param_00 endon("death"); - param_00 endon("stop_weapon"); - param_00 endon("stop_charge"); - var_01 = 0.25; - earthquake(0.07,var_01,param_00.origin,256); - wait(var_01); -} - -//Function Number: 45 -lasersurfacequake(param_00) -{ - self endon("OrbitalStrikeStreakComplete"); - param_00 endon("death"); - param_00 endon("stop_weapon"); - param_00 endon("stop_charge"); - var_01 = 0.25; - earthquake(0.5,var_01,param_00.weapontag01.targetedent.origin + (0,0,16),384); - wait(var_01); -} - -//Function Number: 46 -playeffectongroundent(param_00,param_01,param_02) -{ - level endon("game_ended"); - self endon("death"); - var_03 = self isgroundentoverwater(); - if(var_03) - { - playfxontag(param_01,self,"tag_origin"); - } - else - { - playfxontag(param_00,self,"tag_origin"); - } - - for(;;) - { - var_04 = var_03; - var_03 = self isgroundentoverwater(); - if(var_03 != var_04) - { - if(var_03) - { - stopfxontag(param_00,self,"tag_origin"); - playfxontag(param_01,self,"tag_origin"); - } - else - { - stopfxontag(param_01,self,"tag_origin"); - playfxontag(param_00,self,"tag_origin"); - } - } - - var_05 = common_scripts\utility::waittill_notify_or_timeout_return(param_02,0.05); - if(!isdefined(var_05) || var_05 != "timeout") - { - break; - } - } - - if(var_03) - { - stopfxontag(param_01,self,"tag_origin"); - return; - } - - stopfxontag(param_00,self,"tag_origin"); -} - -//Function Number: 47 -playwarmupeffects(param_00) -{ - var_01 = "stop_warmup_fx"; - var_02 = getwarmupeffect(param_00); - var_03 = getwarmupeffect(param_00,1); - param_00.weapontag01.targetedent thread playeffectongroundent(var_02,var_03,var_01); - if(param_00.beams) - { - var_04 = getwarmuplightshoweffect(param_00); - var_05 = getwarmuplightshoweffect(param_00,1); - param_00.weapontag02.targetedent thread playeffectongroundent(var_04,var_05,var_01); - param_00.weapontag03.targetedent thread playeffectongroundent(var_04,var_05,var_01); - param_00.weapontag04.targetedent thread playeffectongroundent(var_04,var_05,var_01); - } -} - -//Function Number: 48 -stopwarmupeffects(param_00) -{ - var_01 = "stop_warmup_fx"; - if(isdefined(param_00.weapontag01)) - { - param_00.weapontag01.targetedent notify(var_01); - if(param_00.beams) - { - param_00.weapontag02.targetedent notify(var_01); - param_00.weapontag03.targetedent notify(var_01); - param_00.weapontag04.targetedent notify(var_01); - } - } -} - -//Function Number: 49 -getwarmupeffect(param_00,param_01) -{ - var_02 = "orbital_laser_warmup"; - if(param_00.widebeam) - { - var_02 = var_02 + "_wide"; - } - - if(isdefined(param_01) && param_01) - { - var_02 = var_02 + "_water"; - } - - return common_scripts\utility::getfx(var_02); -} - -//Function Number: 50 -getwarmuplightshoweffect(param_00,param_01) -{ - var_02 = "orbital_laser_warmup_lightshow"; - if(param_00.widebeam) - { - var_02 = var_02 + "_wide"; - } - - if(isdefined(param_01) && param_01) - { - var_02 = var_02 + "_water"; - } - - return common_scripts\utility::getfx(var_02); -} - -//Function Number: 51 -playwarmupsounds(param_00,param_01) -{ - stopwarmupsounds(param_00); - var_02 = "vulcan_charge_start_npc"; - var_03 = "vulcan_charge_start_plr"; - if(param_01) - { - var_02 = "vulcan_charge_up_npc"; - var_03 = "vulcan_charge_up_plr"; - } - - param_00.weapontag01.targetedent playsoundonmovingent(var_02); - if(param_00.beams) - { - param_00.weapontag02.targetedent playsoundonmovingent(var_02); - param_00.weapontag03.targetedent playsoundonmovingent(var_02); - param_00.weapontag04.targetedent playsoundonmovingent(var_02); - } - - self playlocalsound(var_03); -} - -//Function Number: 52 -stopwarmupsounds(param_00) -{ - if(isdefined(param_00.weapontag01)) - { - param_00.weapontag01.targetedent stopsounds(); - if(param_00.beams) - { - param_00.weapontag02.targetedent stopsounds(); - param_00.weapontag03.targetedent stopsounds(); - param_00.weapontag04.targetedent stopsounds(); - } - } - - if(isdefined(self)) - { - self stoplocalsound("vulcan_charge_start_plr"); - self stoplocalsound("vulcan_charge_up_plr"); - } -} - -//Function Number: 53 -playfireeffects(param_00) -{ - var_01 = "stop_fire_fx"; - var_02 = getfireeffect(param_00); - var_03 = getfireeffect(param_00,1); - var_04 = getfirelightshoweffect(param_00); - var_05 = getfirelightshoweffect(param_00,1); - if(param_00.beams) - { - param_00.weapontag01.targetedent thread playeffectongroundent(var_04,var_05,var_01); - param_00.weapontag02.targetedent thread playeffectongroundent(var_04,var_05,var_01); - param_00.weapontag03.targetedent thread playeffectongroundent(var_04,var_05,var_01); - param_00.weapontag04.targetedent thread playeffectongroundent(var_04,var_05,var_01); - return; - } - - param_00.weapontag01.targetedent thread playeffectongroundent(var_02,var_03,var_01); -} - -//Function Number: 54 -stopfireeffects(param_00) -{ - var_01 = "stop_fire_fx"; - if(isdefined(param_00.weapontag01)) - { - param_00.weapontag01.targetedent notify(var_01); - if(param_00.beams) - { - param_00.weapontag02.targetedent notify(var_01); - param_00.weapontag03.targetedent notify(var_01); - param_00.weapontag04.targetedent notify(var_01); - } - - playlaserendingeffect(param_00); - } -} - -//Function Number: 55 -playlaserendingeffect(param_00) -{ - var_01 = param_00.weapontag01.targetedent; - if(var_01 isgroundentoverwater()) - { - playfx(level._effect["orbital_laser_ending_water"],var_01.origin,anglestoforward(var_01.angles),anglestoup(var_01.angles)); - return; - } - - playfx(level._effect["orbital_laser_ending"],var_01.origin,anglestoforward(var_01.angles),anglestoup(var_01.angles)); -} - -//Function Number: 56 -getfireeffect(param_00,param_01) -{ - var_02 = "orbital_laser_fire"; - if(param_00.widebeam) - { - var_02 = var_02 + "_wide"; - } - - if(isdefined(param_01) && param_01) - { - var_02 = var_02 + "_water"; - } - - return common_scripts\utility::getfx(var_02); -} - -//Function Number: 57 -getfirelightshoweffect(param_00,param_01) -{ - var_02 = "orbital_laser_fire_lightshow"; - if(param_00.widebeam) - { - var_02 = var_02 + "_wide"; - } - - if(isdefined(param_01) && param_01) - { - var_02 = var_02 + "_water"; - } - - return common_scripts\utility::getfx(var_02); -} - -//Function Number: 58 -playbeameffects(param_00) -{ - var_01 = getbeameffect(param_00); - playfxontag(var_01,param_00.weapontag01.targetedent,"tag_origin"); - if(param_00.beams) - { - var_02 = getlightshowbeameffect(param_00); - playfxontag(var_02,param_00.weapontag02.targetedent,"tag_origin"); - playfxontag(var_02,param_00.weapontag03.targetedent,"tag_origin"); - playfxontag(var_02,param_00.weapontag04.targetedent,"tag_origin"); - } -} - -//Function Number: 59 -stopbeameffects(param_00) -{ - var_01 = getbeameffect(param_00); - wait 0.05; - if(isdefined(param_00.weapontag01)) - { - stopfxontag(var_01,param_00.weapontag01.targetedent,"tag_origin"); - if(param_00.beams) - { - var_02 = getlightshowbeameffect(param_00); - stopfxontag(var_02,param_00.weapontag02.targetedent,"tag_origin"); - stopfxontag(var_02,param_00.weapontag03.targetedent,"tag_origin"); - stopfxontag(var_02,param_00.weapontag04.targetedent,"tag_origin"); - } - } -} - -//Function Number: 60 -playlingereffects(param_00) -{ - playfxontag("orbital_laser_smoldering",param_00.weapontag01.targetedent,"tag_origin"); -} - -//Function Number: 61 -getbeameffect(param_00) -{ - var_01 = "orbital_laser_beam"; - if(param_00.widebeam) - { - var_01 = var_01 + "_wide"; - } - - return common_scripts\utility::getfx(var_01); -} - -//Function Number: 62 -getlightshowbeameffect(param_00) -{ - var_01 = "orbital_laser_beam_lightshow"; - if(param_00.widebeam) - { - var_01 = var_01 + "_wide"; - } - - return common_scripts\utility::getfx(var_01); -} - -//Function Number: 63 -orbitalstriketimer(param_00,param_01) -{ - self endon("disconnect"); - self endon("OrbitalStrikeStreakComplete"); - wait(param_00); - param_01 notify("leaving"); -} - -//Function Number: 64 -monitororbitalstrikedeath(param_00) -{ - self endon("disconnect"); - self endon("game_ended"); - self endon("OrbitalStrikeStreakComplete"); - param_00 waittill("death",var_01,var_02,var_03); - param_00 maps\mp\gametypes\_damage::onkillstreakkilled(var_01,var_03,var_02,param_00.health + 1,"vulcan_destroyed",undefined,undefined,1); - param_00 notify("finish_death"); -} - -//Function Number: 65 -monitororbitalstriketimeout(param_00) -{ - self endon("OrbitalStrikeStreakComplete"); - param_00 common_scripts\utility::waittill_any("leaving","crashing","PossessHoldTimeComplete","done","finish_death"); - thread orbitalstrikecleanup(param_00); -} - -//Function Number: 66 -givecontrolback(param_00) -{ - if(isdefined(param_00) && isdefined(param_00.weapontag01)) - { - param_00.weapontag01.targetedent setotherent(undefined); - if(param_00.beams) - { - param_00.weapontag02.targetedent setotherent(undefined); - param_00.weapontag03.targetedent setotherent(undefined); - param_00.weapontag04.targetedent setotherent(undefined); - } - } - - self setclientomnvar("ui_orbital_laser_charge",0); - self setclientomnvar("ui_orbital_laser_mode",0); - self setclientomnvar("ui_orbital_laser_bursts",0); - self setclientomnvar("ui_orbital_laser_fire",0); - self setclientomnvar("ui_orbital_laser",0); - maps\mp\killstreaks\_aerial_utility::playerdisablestreakstatic(); - self takeweapon("orbital_laser_fov_mp"); - if(self.disabledweaponswitch > 0) - { - common_scripts\utility::_enableweaponswitch(); - } - - self setblurforplayer(0,0); - self setshadowrendering(1); - maps\mp\killstreaks\_aerial_utility::disableorbitalthermal(self); - self thermalvisionfofoverlayoff(); - self remotecontrolvehicleoff(); - self controlsunlink(); - self cameraunlink(); - if(maps\mp\_utility::isusingremote()) - { - maps\mp\_utility::clearusingremote(); - } - - thread delaycontrol(); - thread removevulcanvisionandlightsetpermap(0.5); - if(getdvarint("camera_thirdPerson")) - { - maps\mp\_utility::setthirdpersondof(1); - } - - maps\mp\_utility::playerrestoreangles(); - self notify("player_control_strike_over"); -} - -//Function Number: 67 -delaycontrol() -{ - self freezecontrols(1); - wait(0.5); - self freezecontrols(0); -} - -//Function Number: 68 -monitorplayerdisconnect(param_00) -{ - self endon("OrbitalStrikeStreakComplete"); - self waittill("disconnect"); - thread orbitalstrikecleanup(param_00,1); -} - -//Function Number: 69 -monitorplayerteamchange(param_00) -{ - self endon("OrbitalStrikeStreakComplete"); - common_scripts\utility::waittill_either("joined_team","joined_spectators"); - thread orbitalstrikecleanup(param_00); -} - -//Function Number: 70 -monitorgameended(param_00) -{ - self endon("OrbitalStrikeStreakComplete"); - level waittill("game_ended"); - thread orbitalstrikecleanup(param_00); -} - -//Function Number: 71 -orbitalstrikecleanup(param_00,param_01) -{ - self notify("OrbitalStrikeStreakComplete"); - waittillframeend; - if(!isdefined(param_00)) - { - return; - } - - if(!isdefined(param_01)) - { - param_01 = 0; - } - - if(!param_01) - { - self.controllingorbitallaser = 0; - givecontrolback(param_00); - playerremovenotifycommands(); - } - - level.orbital_lasers = common_scripts\utility::array_remove(level.orbital_lasers,param_00); - if(level.teambased) - { - setorbitallaserforteam(param_00.team,0); - } - - stopwarmupsounds(param_00); - stoplasersounds(param_00); - stopwarmupeffects(param_00); - stopfireeffects(param_00); - stopbeameffects(param_00); - deleteweaponmodels(param_00); - param_00 delete(); - maps\mp\_utility::decrementfauxvehiclecount(); - wait 0.05; - if(isdefined(self)) - { - self stoprumble("orbital_laser_charge"); - self stoprumble("orbital_laser_charge_quick"); - } - - wait 0.05; - if(isdefined(self)) - { - self stoprumble("orbital_laser_fire"); - } -} - -//Function Number: 72 -playeraddnotifycommands() -{ - if(!isbot(self)) - { - self notifyonplayercommand("SwitchVisionMode","+actionslot 1"); - self notifyonplayercommand("ToggleControlState","+activate"); - self notifyonplayercommand("ToggleControlCancel","-activate"); - self notifyonplayercommand("ToggleControlState","+usereload"); - self notifyonplayercommand("ToggleControlCancel","-usereload"); - self notifyonplayercommand("StartFire","+attack"); - self notifyonplayercommand("StartFire","+attack_akimbo_accessible"); - } -} - -//Function Number: 73 -playerremovenotifycommands() -{ - if(!isbot(self)) - { - self notifyonplayercommandremove("SwitchVisionMode","+actionslot 1"); - self notifyonplayercommandremove("ToggleControlState","+activate"); - self notifyonplayercommandremove("ToggleControlCancel","-activate"); - self notifyonplayercommandremove("ToggleControlState","+usereload"); - self notifyonplayercommandremove("ToggleControlCancel","-usereload"); - self notifyonplayercommandremove("StartFire","+attack"); - self notifyonplayercommandremove("StartFire","+attack_akimbo_accessible"); - } -} - -//Function Number: 74 -setvulcanvisionandlightsetpermap(param_00) -{ - self endon("disconnect"); - self endon("game_ended"); - self endon("OrbitalStrikeStreakComplete"); - wait(param_00); - if(isdefined(level.vulcanvisionset)) - { - self setclienttriggervisionset(level.vulcanvisionset,0); - } - - if(isdefined(level.vulcanlightset)) - { - self lightsetforplayer(level.vulcanlightset); - } - - maps\mp\killstreaks\_aerial_utility::handle_player_starting_aerial_view(); -} - -//Function Number: 75 -removevulcanvisionandlightsetpermap(param_00) -{ - self setclienttriggervisionset("",param_00); - self lightsetforplayer(""); - maps\mp\killstreaks\_aerial_utility::handle_player_ending_aerial_view(); -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/killstreaks/_orbitalsupport.gsc b/AW/PC/MP/maps/mp/killstreaks/_orbitalsupport.gsc deleted file mode 100644 index 0487f6e..0000000 --- a/AW/PC/MP/maps/mp/killstreaks/_orbitalsupport.gsc +++ /dev/null @@ -1,1786 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_orbitalsupport.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 77 - * Decompile Time: 1263 ms - * Timestamp: 10/27/2023 1:52:13 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - level.orbitalsupportoverrides = spawnstruct(); - level.orbitalsupportoverrides.spawnorigin = undefined; - level.orbitalsupportoverrides.spawnangle = undefined; - level.orbitalsupportoverrides.spawnanglemax = undefined; - level.orbitalsupportoverrides.spawnanglemin = undefined; - level.orbitalsupportoverrides.spawnradius = undefined; - level.orbitalsupportoverrides.spawnheight = undefined; - level.orbitalsupportoverrides.speed = undefined; - level.orbitalsupportoverrides.turretpitch = undefined; - level.orbitalsupportoverrides.leftarc = undefined; - level.orbitalsupportoverrides.rightarc = undefined; - level.orbitalsupportoverrides.toparc = undefined; - level.orbitalsupportoverrides.bottomarc = undefined; - if(isdefined(level.orbitalsupportoverridefunc)) - { - [[ level.orbitalsupportoverridefunc ]](); - } - - level.orbitalsupport_use_duration = 40; - level.orbitalsupport_speed = 123; - if(isdefined(level.orbitalsupportoverrides.speed)) - { - level.orbitalsupport_speed = level.orbitalsupportoverrides.speed; - } - - var_00 = getentarray("minimap_corner","targetname"); - var_01 = (0,0,0); - if(var_00.size) - { - var_01 = maps\mp\gametypes\_spawnlogic::findboxcenter(var_00[0].origin,var_00[1].origin); - } - - if(isdefined(level.orbitalsupportoverrides.spawnorigin)) - { - var_01 = level.orbitalsupportoverrides.spawnorigin; - } - - level.osprig = spawn("script_model",var_01); - level.osprig setmodel("c130_zoomrig"); - level.osprig.angles = (0,115,0); - level.osprig hide(); - thread rotateplane(level.orbitalsupport_speed); - level._effect["orbitalsupport_cloud"] = loadfx("vfx/cloud/orbitalsupport_cloud"); - level._effect["orbitalsupport_rocket_explode_player"] = loadfx("vfx/explosion/rocket_explosion_distant"); - level._effect["orbitalsupport_entry"] = loadfx("vfx/vehicle/vehicle_osp_enter_clouds_parent"); - level._effect["orbitalsupport_entry_complete"] = loadfx("vfx/vehicle/vehicle_osp_enter_shock"); - level._effect["vehicle_osp_jet"] = loadfx("vfx/vehicle/vehicle_osp_jet"); - level._effect["vehicle_osp_jet_lg"] = loadfx("vfx/vehicle/vehicle_osp_jet_lg"); - level._effect["vehicle_osp_rocket_marker"] = loadfx("vfx/unique/vfx_marker_killstreak_guide"); - level._effect["vehicle_osp_jet_lg_trl"] = loadfx("vfx/vehicle/vehicle_osp_jet_lg_trl"); - level._effect["orbitalsupport_entry_flash"] = loadfx("vfx/vehicle/vehicle_osp_enter_flash"); - level._effect["orbitalsupport_explosion"] = loadfx("vfx/explosion/vehicle_mil_blimp_explosion"); - level._effect["orbitalsupport_explosion_jet"] = loadfx("vfx/explosion/vehicle_mil_blimp_explosion_jet"); - level._effect["orbitalsupport_light"] = loadfx("vfx/lights/vehicle_osp_light"); - level.physicssphereradius["orbitalsupport_40mm_mp"] = 600; - level.physicssphereradius["orbitalsupport_40mmbuddy_mp"] = 600; - level.physicssphereradius["orbitalsupport_105mm_mp"] = 1000; - level.physicssphereforce["orbitalsupport_40mm_mp"] = 3; - level.physicssphereforce["orbitalsupport_40mmbuddy_mp"] = 3; - level.physicssphereforce["orbitalsupport_105mm_mp"] = 6; - level.orbitalsupportinuse = 0; - level thread onorbitalsupportplayerconnect(); - level.killstreakfuncs["orbitalsupport"] = ::tryuseorbitalsupport; - level.killstreakwieldweapons["orbitalsupport_105mm_mp"] = "orbitalsupport"; - level.killstreakwieldweapons["orbitalsupport_40mm_mp"] = "orbitalsupport"; - level.killstreakwieldweapons["orbitalsupport_40mmbuddy_mp"] = "orbitalsupport"; - level.killstreakwieldweapons["orbitalsupport_big_turret_mp"] = "orbitalsupport"; - level.killstreakwieldweapons["orbitalsupport_missile_mp"] = "orbitalsupport"; - level.orbitalsupport_chatter_timer = 0; - level.orbitalsupport_buddy_chatter_timer = 0; - game["dialog"]["assist_mp_paladin"] = "ks_paladin_joinreq"; - game["dialog"]["pilot_sup_mp_paladin"] = "pilot_sup_mp_paladin"; - game["dialog"]["pilot_aslt_mp_paladin"] = "pilot_aslt_mp_paladin"; - game["dialog"]["copilot_sup_mp_paladin"] = "copilot_sup_mp_paladin"; - game["dialog"]["copilot_aslt_mp_paladin"] = "copilot_aslt_mp_paladin"; - game["dialog"]["copilot_enemykill_mp_paladin"] = "copilot_enemykill_mp_paladin"; - game["dialog"]["copilot_marked_mp_paladin"] = "copilot_marked_mp_paladin"; -} - -//Function Number: 2 -tryuseorbitalsupport(param_00,param_01) -{ - if(isdefined(level.orbitalsupport_player) || level.orbitalsupportinuse) - { - self iprintlnbold(&"MP_ORBITALSUPPORT_IN_USE"); - return 0; - } - - level.orbitalsupportinuse = 1; - thread playerclearorbitalsupportonteamchange(); - var_02 = maps\mp\killstreaks\_killstreaks::initridekillstreak("paladin",0,undefined,3); - if(var_02 != "success") - { - level.orbitalsupportinuse = 0; - return 0; - } - - maps\mp\_utility::setusingremote("orbitalsupport"); - thread setorbitalsupportplayer(self,param_01); - maps\mp\_matchdata::logkillstreakevent("orbitalsupport",self.origin); - level.orbitalsupport_planemodel.crashed = undefined; - return 1; -} - -//Function Number: 3 -playerclearorbitalsupportonteamchange() -{ - self endon("rideKillstreakBlack"); - self waittill("joined_team"); - level.orbitalsupportinuse = 0; -} - -//Function Number: 4 -setorbitalsupportplayer(param_00,param_01) -{ - self endon("orbitalsupport_player_removed"); - self endon("disconnect"); - level.orbitalsupport_player = param_00; - param_00 maps\mp\_utility::playersaveangles(); - param_00 orbitalsupport_spawn(); - level.orbitalsupport_planemodel.incomingmissile = 0; - level.orbitalsupport_planemodel.vehicletype = "paladin"; - level.orbitalsupport_planemodel thread maps\mp\gametypes\_damage::setentitydamagecallback(3000,undefined,::crashplane,::maps\mp\killstreaks\_aerial_utility::heli_modifydamage,1); - level.orbitalsupport_planemodel.modules = param_01; - level.orbitalsupport_planemodel.hasrockets = common_scripts\utility::array_contains(param_01,"orbitalsupport_rockets"); - level.orbitalsupport_planemodel.hasturret = common_scripts\utility::array_contains(param_01,"orbitalsupport_turret"); - level.orbitalsupport_planemodel.coopoffensive = common_scripts\utility::array_contains(param_01,"orbitalsupport_coop_offensive"); - level.orbitalsupport_planemodel.extraflare = common_scripts\utility::array_contains(param_01,"orbitalsupport_flares"); - level.orbitalsupport_planemodel.ammofeeder = common_scripts\utility::array_contains(param_01,"orbitalsupport_ammo"); - level.orbitalsupport_planemodel.player = param_00; - if(level.orbitalsupport_planemodel.extraflare) - { - var_02 = 1; - } - else - { - var_02 = 0; - } - - level.orbitalsupport_planemodel.helitype = "osp"; - level.orbitalsupport_planemodel thread maps\mp\killstreaks\_aerial_utility::heli_flares_monitor(var_02); - thread maps\mp\_utility::teamplayercardsplash("used_orbitalsupport",param_00); - param_00 startac130(); - param_00 maps\mp\killstreaks\_aerial_utility::playerdisablestreakstatic(); - param_00 maps\mp\killstreaks\_killstreaks::playerwaittillridekillstreakcomplete(); - param_00 thread waitsetthermal(1); - param_00 thread waitdisableshadows(1); - param_00 thread setospvisionandlightsetpermap(1.25); - param_00 thread clouds(); - if(getdvarint("camera_thirdPerson")) - { - param_00 maps\mp\_utility::setthirdpersondof(0); - } - - param_00 playerswitchtoturret(level.orbitalsupport_big_turret); - param_00.controlled_orbitalsupport_turret = "medium"; - param_00.reloading_big_orbitalsupport_gun = 0; - param_00.reloading_medium_orbitalsupport_gun = 0; - param_00.reloading_rocket_orbitalsupport_gun = 0; - param_00.reloading_buddy_medium_orbitalsupport_gun = 0; - param_00.medium_orbitalsupport_ammo = 8; - param_00 thread removeorbitalsupportplayerondisconnect(); - param_00 thread removeorbitalsupportplayeronchangeteams(); - param_00 thread removeorbitalsupportplayeronspectate(); - param_00 thread removeorbitalsupportplayeroncrash(); - param_00 thread removeorbitalsupportplayerongamecleanup(); - wait(1); - maps\mp\gametypes\_hostmigration::waittillhostmigrationdone(); - param_00 playersetavailableweaponshud(); - param_00 setclientomnvar("ui_osp_weapon",1); - param_00 setclientomnvar("ui_osp_toggle",1); - param_00 thread waitsetstatic(0.1); - param_00 thread pulseorbitalsupportreloadtext(); - var_03 = level.orbitalsupport_use_duration; - if(common_scripts\utility::array_contains(param_01,"orbitalsupport_time")) - { - var_03 = var_03 + 15; - } - - param_00.orbitalsupport_endtime = gettime() + var_03 * 1000; - param_00 setclientomnvar("ui_warbird_countdown",param_00.orbitalsupport_endtime); - self notifyonplayercommand("orbitalsupport_fire","+attack"); - self notifyonplayercommand("orbitalsupport_fire","+attack_akimbo_accessible"); - param_00 thread changeweapons(); - param_00 thread firebigorbitalsupportgun(); - param_00 thread firemediumorbitalsupportgun(); - param_00 thread firerocketorbitalsupportgun(); - param_00 thread showaerialmarker(); - param_00 thread removeorbitalsupportplayeraftertime(var_03); - param_00 thread removeorbitalsupportplayeroncommand(); - if(level.teambased) - { - level thread handlecoopjoining(param_00); - } - - level thread setupplayersduringstreak(); -} - -//Function Number: 5 -waitsetstatic(param_00) -{ - self endon("orbitalsupport_player_removed"); - self endon("disconnect"); - wait(param_00); - maps\mp\killstreaks\_aerial_utility::playerenablestreakstatic(); -} - -//Function Number: 6 -waitsetthermal(param_00) -{ - self endon("disconnect"); - level endon("orbitalsupport_player_removed"); - self endon("orbitalsupport_player_removed"); - wait(param_00); - self thermalvisionfofoverlayon(); - var_01 = 9275; - if(isdefined(level.orbitalsupportoverrides.spawnheight)) - { - var_01 = level.orbitalsupportoverrides.spawnheight - level.mapcenter[2]; - } - - var_02 = 0.3; - var_03 = var_01; - var_04 = 0.3; - var_05 = var_01 * 0.75; - var_06 = 20; - var_07 = 30; - thread maps\mp\killstreaks\_aerial_utility::thermalvision("orbitalsupport_player_removed",var_02,var_03,var_04,var_05,var_06,var_07); -} - -//Function Number: 7 -waitdisableshadows(param_00) -{ - self endon("disconnect"); - level endon("orbitalsupport_player_removed"); - self endon("orbitalsupport_player_removed"); - wait(param_00); - self setshadowrendering(0); -} - -//Function Number: 8 -setospvisionandlightsetpermap(param_00) -{ - self endon("disconnect"); - level endon("orbitalsupport_player_removed"); - wait(param_00); - if(isdefined(level.ospvisionset)) - { - self setclienttriggervisionset(level.ospvisionset,0); - } - - if(isdefined(level.osplightset)) - { - self lightsetforplayer(level.osplightset); - } - - maps\mp\killstreaks\_aerial_utility::handle_player_starting_aerial_view(); -} - -//Function Number: 9 -removeospvisionandlightsetpermap(param_00) -{ - self setclienttriggervisionset("",param_00); - self lightsetforplayer(""); - maps\mp\killstreaks\_aerial_utility::handle_player_ending_aerial_view(); -} - -//Function Number: 10 -removeorbitalsupportplayeroncommand() -{ - self endon("orbitalsupport_player_removed"); - var_00 = 0; - for(;;) - { - if(self usebuttonpressed()) - { - var_00 = var_00 + 0.05; - if(var_00 > 1) - { - if((isdefined(level.orbitalsupport_buddy) && level.orbitalsupport_buddy.joined == 1) || !isdefined(level.orbitalsupport_buddy)) - { - level thread removeorbitalsupportplayer(self,0); - return; - } - } - } - else - { - var_00 = 0; - } - - wait(0.05); - } -} - -//Function Number: 11 -removeorbitalsupportplayerongamecleanup() -{ - self endon("orbitalsupport_player_removed"); - level waittill("game_ended"); - level thread removeorbitalsupportplayer(self,0); -} - -//Function Number: 12 -removeorbitalsupportplayeroncrash() -{ - self endon("orbitalsupport_player_removed"); - level.orbitalsupport_planemodel waittill("crashing"); - level thread removeorbitalsupportplayer(self,0); -} - -//Function Number: 13 -removeorbitalsupportplayerondisconnect() -{ - self endon("orbitalsupport_player_removed"); - self waittill("disconnect"); - level thread removeorbitalsupportplayer(self,1); -} - -//Function Number: 14 -removeorbitalsupportplayeronchangeteams() -{ - self endon("orbitalsupport_player_removed"); - self waittill("joined_team"); - level thread removeorbitalsupportplayer(self,0); -} - -//Function Number: 15 -removeorbitalsupportplayeronspectate() -{ - self endon("orbitalsupport_player_removed"); - common_scripts\utility::waittill_any("joined_spectators","spawned"); - level thread removeorbitalsupportplayer(self,0); -} - -//Function Number: 16 -removeorbitalsupportplayeraftertime(param_00) -{ - self endon("orbitalsupport_player_removed"); - if(maps\mp\_utility::_hasperk("specialty_blackbox") && isdefined(self.specialty_blackbox_bonus)) - { - param_00 = param_00 * self.specialty_blackbox_bonus; - } - - maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(param_00); - if(isdefined(level.orbitalsupport_buddy)) - { - maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(7); - } - - level thread removeorbitalsupportplayer(self,0); -} - -//Function Number: 17 -removeorbitalsupportplayer(param_00,param_01) -{ - param_00 notify("orbitalsupport_player_removed"); - level notify("orbitalsupport_player_removed"); - waittillframeend; - level.orbitalsupport_planemodel.player = undefined; - if(isdefined(level.orbitalsupport_buddy)) - { - level.orbitalsupport_buddy thread removeorbitalsupportbuddy(0); - } - - if(!param_01) - { - param_00 playerresetospomnvars(); - param_00 notifyonplayercommandremove("orbitalsupport_fire","+attack"); - param_00 notifyonplayercommandremove("orbitalsupport_fire","+attack_akimbo_accessible"); - if(!isbot(param_00) && level.orbitalsupport_planemodel.hasrockets || level.orbitalsupport_planemodel.hasturret) - { - param_00 notifyonplayercommandremove("switch_orbitalsupport_turret","weapnext"); - } - - param_00 remotecontrolturretoff(level.orbitalsupport_big_turret); - level.orbitalsupport_big_turret hide(); - param_00 unlink(); - var_02 = maps\mp\_utility::getkillstreakweapon("orbitalsupport"); - param_00 takeweapon(var_02); - if(param_00 maps\mp\_utility::isusingremote()) - { - param_00 maps\mp\_utility::clearusingremote(); - } - - maps\mp\killstreaks\_aerial_utility::disableorbitalthermal(param_00); - param_00 setshadowrendering(1); - param_00 thermalvisionfofoverlayoff(); - param_00 setblurforplayer(0,0); - param_00 removeospvisionandlightsetpermap(1.5); - param_00 stopac130(); - if(getdvarint("camera_thirdPerson")) - { - param_00 maps\mp\_utility::setthirdpersondof(1); - } - - if(isdefined(param_00.darkscreenoverlay)) - { - param_00.darkscreenoverlay destroy(); - } - - param_00.reloading_big_orbitalsupport_gun = undefined; - param_00.reloading_medium_orbitalsupport_gun = undefined; - param_00.reloading_rocket_orbitalsupport_gun = undefined; - param_00.reloading_buddy_medium_orbitalsupport_gun = undefined; - param_00 maps\mp\_utility::playerrestoreangles(); - } - - if(isdefined(level.orbitalsupport_planemodel.crashed)) - { - level.orbitalsupport_player = undefined; - return; - } - - level.orbitalsupport_player = undefined; - level.orbitalsupport_planemodel stoploopsound(); - level.orbitalsupport_planemodel playsound("paladin_orbit_return"); - level.orbitalsupport_planemodel orbitalsupportexit(); -} - -//Function Number: 18 -cleanupospents() -{ - level.orbitalsupport_planemodel stoploopsound(); - if(isdefined(level.orbitalsupport_targetent)) - { - stopfxontag(common_scripts\utility::getfx("vehicle_osp_rocket_marker"),level.orbitalsupport_targetent,"tag_origin"); - level.orbitalsupport_targetent delete(); - } - - level.orbitalsupport_buddy_turret turretdeletesoundent(); - level.orbitalsupport_buddy_turret delete(); - if(isdefined(level.orbitalsupport_planemodel.farflightsound)) - { - level.orbitalsupport_planemodel.farflightsound stoploopsound(); - level.orbitalsupport_planemodel.farflightsound delete(); - } - - if(isdefined(level.orbitalsupport_planemodel.closeflightsound)) - { - level.orbitalsupport_planemodel.closeflightsound stoploopsound(); - level.orbitalsupport_planemodel.closeflightsound delete(); - } - - if(isdefined(level.orbitalsupport_planemodel.minimapicon)) - { - level.orbitalsupport_planemodel.minimapicon delete(); - } -} - -//Function Number: 19 -orbitalsupport_spawn() -{ - var_00 = getentarray("minimap_corner","targetname"); - var_01 = (0,0,0); - if(var_00.size) - { - var_01 = maps\mp\gametypes\_spawnlogic::findboxcenter(var_00[0].origin,var_00[1].origin); - var_01 = (var_01[0],var_01[1],0); - } - - if(isdefined(level.orbitalsupportoverrides.spawnorigin)) - { - var_01 = level.orbitalsupportoverrides.spawnorigin; - var_01 = (var_01[0],var_01[1],0); - } - - level.orbitalsupport_planemodel = spawn("script_model",var_01); - level.orbitalsupport_planemodel.angles = (0,0,0); - level.orbitalsupport_planemodel setmodel("vehicle_mil_blimp_orbital_platform_ai"); - level.orbitalsupport_planemodel.owner = self; - level.orbitalsupport_planemodel common_scripts\utility::make_entity_sentient_mp(self.team); - level.orbitalsupport_planemodel.minimapicon = spawnplane(self,"script_model",var_01,"compass_objpoint_ac130_friendly","compass_objpoint_ac130_enemy"); - level.orbitalsupport_planemodel.minimapicon setmodel("tag_origin"); - level.orbitalsupport_planemodel.minimapicon vehicle_jetbikesethoverforcescale(level.orbitalsupport_planemodel,"tag_origin",(0,0,0),(0,0,0)); - level.orbitalsupport_planemodel setcandamage(1); - level.orbitalsupport_planemodel setcanradiusdamage(1); - level.orbitalsupport_planemodel.maxhealth = 2000; - level.orbitalsupport_planemodel.health = level.orbitalsupport_planemodel.maxhealth; - level.orbitalsupport_planemodel.showthreatmarker = 0; - level.orbitalsupport_planemodel setrandomorbitalsupportstartposition(); - level.orbitalsupport_big_turret = spawnorbitalsupportturret("orbitalsupport_big_turret_mp","orbitalsupport_big_turret","tag_orbitalsupport_biggun",0); - level.orbitalsupport_buddy_turret = spawnorbitalsupportturret("orbitalsupport_buddy_turret_mp","orbitalsupport_small_turret","tag_orbitalsupport_mediumgun2",1); - level.orbitalsupport_planemodel thread moveorbitalsupporttodestination(); -} - -//Function Number: 20 -spawnorbitalsupportturret(param_00,param_01,param_02,param_03) -{ - var_04 = spawnturret("misc_turret",level.orbitalsupport_planemodel gettagorigin(param_02),param_00,0); - var_04.angles = level.orbitalsupport_planemodel gettagangles(param_02); - var_04 setmodel(param_01); - var_04 setdefaultdroppitch(45); - var_04 linkto(level.orbitalsupport_planemodel,param_02,(0,0,0),(0,0,0)); - var_04.owner = undefined; - var_04.health = 99999; - var_04.maxhealth = 1000; - var_04.damagetaken = 0; - var_04.stunned = 0; - var_04.stunnedtime = 0; - var_04 setcandamage(0); - var_04 setcanradiusdamage(0); - var_04 turretfiredisable(); - if(param_03) - { - var_04 thread turretspawnsoundent(param_02); - } - - return var_04; -} - -//Function Number: 21 -turretspawnsoundent(param_00) -{ - wait 0.05; - self.soundent = spawn("script_model",self.origin); - self.soundent setmodel("tag_origin"); - self.soundent linkto(level.orbitalsupport_planemodel,param_00,(0,0,0),(0,0,0)); -} - -//Function Number: 22 -pulseorbitalsupportreloadtext() -{ - level endon("orbitalsupport_player_removed"); - self endon("orbitalsupport_player_removed"); - self endon("switch_orbitalsupport_turret"); - self setclientomnvar("ui_osp_reload_bitfield",0); - var_00 = 1; - var_01 = 2; - var_02 = 4; - for(;;) - { - var_03 = 0; - if(self.reloading_big_orbitalsupport_gun) - { - var_03 = var_03 + var_00; - } - - if(self.reloading_medium_orbitalsupport_gun || self.reloading_buddy_medium_orbitalsupport_gun) - { - var_03 = var_03 + var_01; - } - - if(self.reloading_rocket_orbitalsupport_gun) - { - var_03 = var_03 + var_02; - } - - self setclientomnvar("ui_osp_reload_bitfield",var_03); - wait(0.05); - } -} - -//Function Number: 23 -changeweapons() -{ - self endon("orbitalsupport_player_removed"); - if(isbot(self)) - { - return; - } - - var_00 = level.orbitalsupport_planemodel.hasrockets; - var_01 = level.orbitalsupport_planemodel.hasturret; - if(!var_00 && !var_01) - { - return; - } - - self notifyonplayercommand("switch_orbitalsupport_turret","weapnext"); - wait(0.05); - self setclientomnvar("ui_osp_weapon",1); - for(;;) - { - self waittill("switch_orbitalsupport_turret"); - if(self.controlled_orbitalsupport_turret == "medium") - { - if(var_00) - { - playerswitchtorocketturret(); - } - else - { - playerswitchtobigturret(); - } - } - else if(self.controlled_orbitalsupport_turret == "rocket") - { - if(var_01) - { - playerswitchtobigturret(); - } - else - { - playerswitchtomediumturret(); - } - } - else if(self.controlled_orbitalsupport_turret == "big") - { - playerswitchtomediumturret(); - } - - self playlocalsound("paladin_weapon_cycle_plr"); - } -} - -//Function Number: 24 -playersetavailableweaponshud() -{ - var_00 = level.orbitalsupport_planemodel.hasrockets; - var_01 = level.orbitalsupport_planemodel.hasturret; - var_02 = 1; - if(var_01) - { - var_02 = var_02 + 2; - } - - if(var_00) - { - var_02 = var_02 + 4; - } - - self setclientomnvar("ui_osp_avail_weapons",var_02); -} - -//Function Number: 25 -playerswitchtoturret(param_00) -{ - self unlink(); - level thread handleturretsoundent(param_00); - var_01 = 25; - var_02 = 25; - var_03 = -25; - var_04 = 60; - if(isdefined(level.orbitalsupportoverrides.rightarc)) - { - var_01 = level.orbitalsupportoverrides.rightarc; - } - - if(isdefined(level.orbitalsupportoverrides.leftarc)) - { - var_02 = level.orbitalsupportoverrides.leftarc; - } - - if(isdefined(level.orbitalsupportoverrides.toparc)) - { - var_03 = level.orbitalsupportoverrides.toparc; - } - - if(isdefined(level.orbitalsupportoverrides.bottomarc)) - { - var_04 = level.orbitalsupportoverrides.bottomarc; - } - - self playerlinkweaponviewtodelta(param_00,"tag_player",0,var_01,var_02,var_03,var_04,1); - self playerlinkedsetusebaseangleforviewclamp(1); - var_05 = 45; - if(isdefined(level.orbitalsupportoverrides.turretpitch)) - { - var_05 = level.orbitalsupportoverrides.turretpitch; - } - - self remotecontrolturret(param_00,var_05); -} - -//Function Number: 26 -handleturretsoundent(param_00) -{ - param_00 endon("death"); - param_00 notify("startHandleSoundEnt"); - param_00 endon("startHandleSoundEnt"); - if(isdefined(param_00.soundent)) - { - param_00.soundent hide(); - } - - foreach(var_02 in level.players) - { - if(isdefined(param_00.owner) && param_00.owner != var_02) - { - if(isdefined(param_00.soundent)) - { - param_00.soundent showtoplayer(var_02); - } - } - } - - for(;;) - { - level waittill("connected",var_02); - if(isdefined(param_00.soundent)) - { - param_00.soundent showtoplayer(var_02); - } - } -} - -//Function Number: 27 -playerswitchtobigturret() -{ - self.controlled_orbitalsupport_turret = "big"; - self setclientomnvar("ui_osp_weapon",0); - thread pulseorbitalsupportreloadtext(); - if(isdefined(level.orbitalsupport_targetent)) - { - stopfxontag(common_scripts\utility::getfx("vehicle_osp_rocket_marker"),level.orbitalsupport_targetent,"tag_origin"); - } -} - -//Function Number: 28 -playerswitchtorocketturret() -{ - self.controlled_orbitalsupport_turret = "rocket"; - self setclientomnvar("ui_osp_weapon",3); - thread pulseorbitalsupportreloadtext(); - if(isdefined(level.orbitalsupport_targetent)) - { - playfxontag(common_scripts\utility::getfx("vehicle_osp_rocket_marker"),level.orbitalsupport_targetent,"tag_origin"); - } -} - -//Function Number: 29 -playerswitchtomediumturret() -{ - self.controlled_orbitalsupport_turret = "medium"; - self setclientomnvar("ui_osp_weapon",1); - thread pulseorbitalsupportreloadtext(); - if(isdefined(level.orbitalsupport_targetent)) - { - stopfxontag(common_scripts\utility::getfx("vehicle_osp_rocket_marker"),level.orbitalsupport_targetent,"tag_origin"); - } -} - -//Function Number: 30 -playergetturretendpoint(param_00) -{ - if(!isdefined(param_00) || !param_00) - { - return level.orbitalsupport_big_turret gettagorigin("tag_player") + anglestoforward(level.orbitalsupport_big_turret gettagangles("tag_player")) * 20000; - } - - return level.orbitalsupport_buddy_turret gettagorigin("tag_player") + anglestoforward(level.orbitalsupport_buddy_turret gettagangles("tag_player")) * 20000; -} - -//Function Number: 31 -firebigorbitalsupportgun() -{ - self endon("orbitalsupport_player_removed"); - if(!level.orbitalsupport_planemodel.ammofeeder) - { - var_00 = 6; - } - else - { - var_00 = 4; - } - - while(!isdefined(level.orbitalsupport_planemodel.paladinflying)) - { - wait 0.05; - } - - for(;;) - { - self.reloading_big_orbitalsupport_gun = 0; - self waittill("orbitalsupport_fire"); - if(isdefined(level.hostmigrationtimer)) - { - continue; - } - - if(self.controlled_orbitalsupport_turret == "big") - { - var_01 = playergetturretendpoint(); - var_02 = level.orbitalsupport_big_turret gettagorigin("tag_missile1"); - var_03 = magicbullet("orbitalsupport_105mm_mp",var_02,var_01,self,1); - var_03.vehicle_fired_from = level.orbitalsupport_planemodel; - level.orbitalsupport_planemodel playsound("paladin_cannon_snap"); - var_03 playsound("orbitalsupport_105mm_proj_travel"); - self playrumbleonentity("ac130_105mm_fire"); - self playlocalsound("paladin_cannon_reload"); - earthquake(0.3,1,level.orbitalsupport_planemodel.origin,1000,self); - self.reloading_big_orbitalsupport_gun = 1; - wait(var_00); - } - } -} - -//Function Number: 32 -firemediumorbitalsupportgun() -{ - self endon("orbitalsupport_player_removed"); - while(!isdefined(level.orbitalsupport_planemodel.paladinflying)) - { - wait 0.05; - } - - for(;;) - { - self.reloading_medium_orbitalsupport_gun = 0; - if(!level.orbitalsupport_planemodel.ammofeeder) - { - var_00 = 3; - } - else - { - var_00 = 2; - } - - if(self.controlled_orbitalsupport_turret == "medium" && self attackbuttonpressed() && !isdefined(level.hostmigrationtimer)) - { - var_01 = level.orbitalsupport_big_turret gettagorigin("tag_missile1"); - var_02 = playergetturretendpoint(); - level.orbitalsupport_planemodel playsound("paladin_mgun_burst_plr"); - var_03 = magicbullet("orbitalsupport_40mm_mp",var_01,var_02,self,1); - var_03.vehicle_fired_from = level.orbitalsupport_planemodel; - var_04 = bullettrace(var_01,var_02,0); - wait(0.05); - earthquake(0.1,0.5,level.orbitalsupport_planemodel.origin,1000,self); - firemediumorbitalsupportvolley(var_04["position"],"orbitalsupport_40mm_mp"); - firemediumorbitalsupportvolley(var_04["position"],"orbitalsupport_40mm_mp"); - firemediumorbitalsupportvolley(var_04["position"],"orbitalsupport_40mm_mp"); - self.medium_orbitalsupport_ammo--; - if(self.medium_orbitalsupport_ammo <= 0) - { - self.reloading_medium_orbitalsupport_gun = 1; - wait(var_00); - self.medium_orbitalsupport_ammo = 8; - } - } - - wait(0.05); - } -} - -//Function Number: 33 -firebuddythreatgrenades() -{ - self endon("orbitalsupport_player_removed"); - for(;;) - { - self waittill("orbitalsupport_fire"); - maps\mp\killstreaks\_aerial_utility::playerfakeshootpaintmissile(level.orbitalsupport_buddy_turret.soundent); - wait(2); - } -} - -//Function Number: 34 -firebuddymediumorbitalsupportgun() -{ - self endon("orbitalsupport_player_removed"); - var_00 = 6; - self.reloading_buddy_medium_orbitalsupport_gun = 0; - self.controlled_orbitalsupport_turret = "buddy"; - thread pulseorbitalsupportreloadtext(); - for(;;) - { - self.reloading_buddy_medium_orbitalsupport_gun = 0; - if(!level.orbitalsupport_planemodel.ammofeeder) - { - var_01 = 5; - } - else - { - var_01 = 3; - } - - if(self attackbuttonpressed()) - { - var_02 = level.orbitalsupport_buddy_turret gettagorigin("tag_missile1"); - var_03 = playergetturretendpoint(1); - level.orbitalsupport_planemodel playsound("paladin_mgun_burst_plr"); - var_04 = magicbullet("orbitalsupport_40mmbuddy_mp",var_02,var_03,self); - var_04.vehicle_fired_from = level.orbitalsupport_planemodel; - var_05 = bullettrace(var_02,var_03,0); - wait 0.05; - earthquake(0.1,0.5,level.orbitalsupport_planemodel.origin,1000,self); - firemediumorbitalsupportvolley(var_05["position"],"orbitalsupport_40mmbuddy_mp"); - firemediumorbitalsupportvolley(var_05["position"],"orbitalsupport_40mmbuddy_mp"); - firemediumorbitalsupportvolley(var_05["position"],"orbitalsupport_40mmbuddy_mp"); - var_00--; - if(var_00 <= 0) - { - self.reloading_buddy_medium_orbitalsupport_gun = 1; - wait(var_01); - var_00 = 6; - } - } - - wait(0.05); - } -} - -//Function Number: 35 -firemediumorbitalsupportvolley(param_00,param_01) -{ - var_02 = level.orbitalsupport_planemodel gettagorigin("tag_orbitalsupport_mediumgun1"); - var_03 = randomfloat(400) - 200; - var_04 = randomfloat(400) - 200; - var_05 = magicbullet(param_01,var_02,(param_00[0] + var_03,param_00[1] + var_04,param_00[2]),self,1); - var_05.vehicle_fired_from = level.orbitalsupport_planemodel; - self playrumbleonentity("ac130_25mm_fire"); - wait(0.05); - var_02 = level.orbitalsupport_planemodel gettagorigin("tag_orbitalsupport_mediumgun0"); - var_03 = randomfloat(400) - 200; - var_04 = randomfloat(400) - 200; - var_05 = magicbullet(param_01,var_02,(param_00[0] + var_03,param_00[1] + var_04,param_00[2]),self,1); - var_05.vehicle_fired_from = level.orbitalsupport_planemodel; - self playrumbleonentity("ac130_25mm_fire"); - wait(0.05); - var_02 = level.orbitalsupport_planemodel gettagorigin("tag_orbitalsupport_mediumgun3"); - var_03 = randomfloat(400) - 200; - var_04 = randomfloat(400) - 200; - var_05 = magicbullet(param_01,var_02,(param_00[0] + var_03,param_00[1] + var_04,param_00[2]),self,1); - var_05.vehicle_fired_from = level.orbitalsupport_planemodel; - self playrumbleonentity("ac130_25mm_fire"); - wait(0.05); -} - -//Function Number: 36 -random_vector(param_00) -{ - return (randomfloat(param_00) - param_00 * 0.5,randomfloat(param_00) - param_00 * 0.5,randomfloat(param_00) - param_00 * 0.5); -} - -//Function Number: 37 -firerocketorbitalsupportgun() -{ - self endon("orbitalsupport_player_removed"); - var_00 = 3; - var_01 = var_00; - self setclientomnvar("ui_osp_rockets",var_01); - if(!level.orbitalsupport_planemodel.ammofeeder) - { - var_02 = 6; - } - else - { - var_02 = 4; - } - - thread updateshootinglocation(); - while(!isdefined(level.orbitalsupport_planemodel.paladinflying)) - { - wait 0.05; - } - - for(;;) - { - self.reloading_rocket_orbitalsupport_gun = 0; - if(self.controlled_orbitalsupport_turret == "rocket" && self attackbuttonpressed() && !isdefined(level.hostmigrationtimer)) - { - earthquake(0.3,1,level.orbitalsupport_planemodel.origin,1000,self); - var_03 = level.orbitalsupport_big_turret gettagorigin("tag_missile1"); - var_04 = vectornormalize(anglestoforward(self getplayerangles())); - var_05 = vectornormalize(anglestoforward(level.orbitalsupport_planemodel gettagangles("tag_origin"))); - for(var_06 = 0;var_06 < 3;var_06++) - { - var_07 = var_04 + (0,0,0.4) + random_vector(1); - var_08 = magicbullet("orbitalsupport_missile_mp",var_03,var_03 + var_07,self); - var_08.vehicle_fired_from = level.orbitalsupport_planemodel; - self playlocalsound("paladin_missile_shot_2d"); - self playrumbleonentity("ac130_40mm_fire"); - var_08 missile_settargetent(level.orbitalsupport_targetent); - var_08 missile_setflightmodedirect(); - wait(0.1); - } - - var_01--; - self setclientomnvar("ui_osp_rockets",var_01); - if(var_01 == 0) - { - self.reloading_rocket_orbitalsupport_gun = 1; - thread rocketreloadsound(var_02); - wait(var_02); - var_01 = var_00; - self setclientomnvar("ui_osp_rockets",var_01); - self notify("rocketReloadComplete"); - continue; - } - else - { - wait(1.3); - } - } - - wait 0.05; - } -} - -//Function Number: 38 -updateshootinglocation() -{ - self endon("orbitalsupport_player_removed"); - level.orbitalsupport_targetent = spawn("script_model",(0,0,0)); - level.orbitalsupport_targetent setmodel("tag_origin"); - level.orbitalsupport_big_turret turretsetgroundaimentity(level.orbitalsupport_targetent); - for(;;) - { - var_00 = level.orbitalsupport_big_turret gettagorigin("tag_player"); - var_01 = level.orbitalsupport_big_turret gettagorigin("tag_player") + anglestoforward(level.orbitalsupport_big_turret gettagangles("tag_player")) * 20000; - var_02 = bullettrace(var_00,var_01,0,level.orbitalsupport_big_turret); - var_03 = var_02["position"]; - level.orbitalsupport_targetent.origin = var_03; - wait 0.05; - } -} - -//Function Number: 39 -rocketreloadsound(param_00) -{ - self endon("rocketReloadComplete"); - self endon("orbitalsupport_player_removed"); - var_01 = 3; - self playlocalsound("warbird_missile_reload_bed"); - wait(0.5); - for(;;) - { - self playlocalsound("warbird_missile_reload"); - wait(param_00 / var_01); - } -} - -//Function Number: 40 -showaerialmarker() -{ - level.orbitalsupport_planemodel endon("death"); - while(!isdefined(level.orbitalsupport_planemodel.paladinflying)) - { - wait 0.05; - } - - level.orbitalsupport_planemodel.showthreatmarker = 1; - level.orbitalsupport_planemodel thread maps\mp\killstreaks\_killstreaks::updateaerialkillstreakmarker(); - level.orbitalsupport_planemodel common_scripts\utility::waittill_either("crashing","leaving"); - level.orbitalsupport_planemodel.showthreatmarker = 0; - level.orbitalsupport_planemodel thread maps\mp\killstreaks\_killstreaks::updateaerialkillstreakmarker(); -} - -//Function Number: 41 -clouds() -{ - self endon("orbitalsupport_player_removed"); - wait(6); - clouds_create(); - for(;;) - { - wait(randomfloatrange(40,80)); - clouds_create(); - } -} - -//Function Number: 42 -clouds_create() -{ - if(isdefined(level.playerweapon) && issubstr(tolower(level.playerweapon),"25")) - { - return; - } - - playfxontagforclients(level._effect["orbitalsupport_cloud"],level.orbitalsupport_planemodel,"tag_player",level.orbitalsupport_player); -} - -//Function Number: 43 -crashplane(param_00,param_01,param_02,param_03) -{ - level.orbitalsupport_planemodel notify("crashing"); - level.orbitalsupport_planemodel.crashed = 1; - level.orbitalsupport_planemodel maps\mp\gametypes\_damage::onkillstreakkilled(param_00,param_01,param_02,param_03,"paladin_destroyed",undefined,"callout_destroyed_orbitalsupport",1); - thread crashfx(); - level.orbitalsupport_planemodel stopsounds(); - playsoundatpos(level.orbitalsupport_planemodel.origin,"paladin_ground_death"); - wait 0.05; - cleanupospents(); - level.orbitalsupport_planemodel delete(); - level.orbitalsupportinuse = 0; -} - -//Function Number: 44 -crashfx() -{ - var_00 = getosptaginfo("TAG_FX_ENGINE_B"); - var_01 = getosptaginfo("tag_origin"); - var_02 = getosptaginfo("tag_light_belly"); - var_03 = getosptaginfo("TAG_FX_ENGINE_L_1"); - var_04 = getosptaginfo("TAG_FX_ENGINE_L_2"); - var_05 = getosptaginfo("TAG_FX_ENGINE_R_1"); - var_06 = getosptaginfo("TAG_FX_ENGINE_R_2"); - playfx(common_scripts\utility::getfx("orbitalsupport_explosion"),var_01.origin,var_02.dir); - playfx(common_scripts\utility::getfx("orbitalsupport_explosion_jet"),var_03.origin,var_03.dir); - playfx(common_scripts\utility::getfx("orbitalsupport_explosion_jet"),var_04.origin,var_04.dir); - wait(0.05); - playfx(common_scripts\utility::getfx("orbitalsupport_explosion_jet"),var_05.origin,var_05.dir); - playfx(common_scripts\utility::getfx("orbitalsupport_explosion_jet"),var_06.origin,var_06.dir); -} - -//Function Number: 45 -getosptaginfo(param_00) -{ - var_01 = spawnstruct(); - var_01.origin = level.orbitalsupport_planemodel gettagorigin(param_00); - var_01.dir = anglestoforward(level.orbitalsupport_planemodel gettagangles(param_00)); - return var_01; -} - -//Function Number: 46 -handlecoopjoining(param_00) -{ - var_01 = "orbitalsupport_coop_defensive"; - var_02 = &"MP_JOIN_ORBITALSUPPORT_DEF"; - var_03 = "pilot_sup_mp_paladin"; - var_04 = "copilot_sup_mp_paladin"; - if(level.orbitalsupport_planemodel.coopoffensive) - { - var_01 = "orbitalsupport_coop_offensive"; - var_02 = &"MP_JOIN_ORBITALSUPPORT_OFF"; - var_03 = "pilot_aslt_mp_paladin"; - var_04 = "copilot_aslt_mp_paladin"; - } - - for(;;) - { - var_05 = maps\mp\killstreaks\_coop_util::promptforstreaksupport(param_00.team,var_02,var_01,"assist_mp_paladin",var_03,param_00,var_04); - level thread watchforjoin(var_05,param_00); - var_06 = waittillpromptcomplete("orbitalsupport_buddy_added"); - maps\mp\killstreaks\_coop_util::stoppromptforstreaksupport(var_05); - if(!isdefined(var_06)) - { - return; - } - - var_06 = waittillpromptcomplete("orbitalsupport_buddy_removed"); - if(!isdefined(var_06)) - { - return; - } - - waittillframeend; - } -} - -//Function Number: 47 -waittillpromptcomplete(param_00) -{ - level endon("orbitalsupport_player_removed"); - level waittill(param_00); - return 1; -} - -//Function Number: 48 -watchforjoin(param_00,param_01) -{ - level endon("orbitalsupport_player_removed"); - var_02 = maps\mp\killstreaks\_coop_util::waittillbuddyjoinedstreak(param_00); - var_02 thread setorbitalsupportbuddy(param_01); -} - -//Function Number: 49 -onorbitalsupportplayerconnect() -{ - level endon("game_ended"); - for(;;) - { - level waittill("connected",var_00); - var_00.orbitalsupport_hold_time = 0; - } -} - -//Function Number: 50 -setorbitalsupportbuddy(param_00) -{ - self endon("orbitalsupport_player_removed"); - level.orbitalsupport_buddy = self; - level.orbitalsupport_buddy.joined = 0; - level.orbitalsupport_buddy_chatter_timer = 0; - level notify("orbitalsupport_buddy_added"); - param_00 maps\mp\_utility::playersaveangles(); - setupflightsounds(); - level thread maps\mp\_utility::teamplayercardsplash("joined_orbitalsupport",self); - if(getdvarint("camera_thirdPerson")) - { - maps\mp\_utility::setthirdpersondof(0); - } - - thread playerdoridekillstreak(); - self waittill("initRideKillstreak_complete",var_01); - if(!var_01) - { - return; - } - - maps\mp\_utility::setusingremote("orbitalsupport"); - self startac130(); - maps\mp\killstreaks\_aerial_utility::playerdisablestreakstatic(); - playerswitchtoturret(level.orbitalsupport_buddy_turret); - thread waitsetstatic(0.1); - thread waitsetthermal(1); - thread waitdisableshadows(1); - thread setospvisionandlightsetpermap(1.25); - thread clouds(); - self.reloading_big_orbitalsupport_gun = 0; - self.reloading_medium_orbitalsupport_gun = 0; - self.reloading_rocket_orbitalsupport_gun = 0; - self.reloading_buddy_medium_orbitalsupport_gun = 0; - if(isdefined(level.orbitalsupport_planemodel) && level.orbitalsupport_planemodel.coopoffensive) - { - self setclientomnvar("ui_osp_avail_weapons",1); - self setclientomnvar("ui_osp_weapon",1); - thread firebuddymediumorbitalsupportgun(); - } - else - { - self notifyonplayercommand("orbitalsupport_fire","+attack"); - self notifyonplayercommand("orbitalsupport_fire","+attack_akimbo_accessible"); - self setclientomnvar("ui_osp_weapon",4); - thread firebuddythreatgrenades(); - } - - thread removeorbitalsupportbuddyondisconnect(); - thread removeorbitalsupportbuddyonchangeteams(); - thread removeorbitalsupportbuddyonspectate(); - if(!isbot(self)) - { - thread removeorbitalsupportbuddyoncommand(); - } - - wait(0.5); - level.orbitalsupport_buddy.joined = 1; - self setclientomnvar("ui_osp_toggle",2); - self setclientomnvar("ui_warbird_countdown",param_00.orbitalsupport_endtime); - var_02 = param_00 getentitynumber(); - self setclientomnvar("ui_coop_primary_num",var_02); -} - -//Function Number: 51 -playerdoridekillstreak() -{ - var_00 = maps\mp\killstreaks\_killstreaks::initridekillstreak("coop"); - if(var_00 != "success") - { - removeorbitalsupportbuddy(var_00 == "disconnect"); - self notify("initRideKillstreak_complete",0); - return; - } - - self notify("initRideKillstreak_complete",1); -} - -//Function Number: 52 -removeorbitalsupportbuddy(param_00) -{ - self notify("orbitalsupport_player_removed"); - level notify("orbitalsupport_buddy_removed"); - if(!param_00) - { - playerresetospomnvars(); - thread removeospvisionandlightsetpermap(0.5); - maps\mp\_utility::revertvisionsetforplayer(0); - self notifyonplayercommandremove("ExitButtonDown","+activate"); - self notifyonplayercommandremove("ExitButtonUp","-activate"); - self notifyonplayercommandremove("ExitButtonDown","+usereload"); - self notifyonplayercommandremove("ExitButtonUp","-usereload"); - if(!isdefined(level.orbitalsupport_planemodel) || !level.orbitalsupport_planemodel.coopoffensive) - { - self notifyonplayercommandremove("orbitalsupport_fire","+attack"); - self notifyonplayercommandremove("orbitalsupport_fire","+attack_akimbo_accessible"); - } - - self remotecontrolturretoff(level.orbitalsupport_buddy_turret); - self unlink(); - level.orbitalsupport_buddy_turret hide(); - maps\mp\killstreaks\_aerial_utility::disableorbitalthermal(self); - self setshadowrendering(1); - self thermalvisionfofoverlayoff(); - self setblurforplayer(0,0); - maps\mp\killstreaks\_aerial_utility::handle_player_ending_aerial_view(); - self stopac130(); - if(getdvarint("camera_thirdPerson")) - { - maps\mp\_utility::setthirdpersondof(1); - } - - if(isdefined(self.darkscreenoverlay)) - { - self.darkscreenoverlay destroy(); - } - - if(maps\mp\_utility::isusingremote()) - { - maps\mp\_utility::clearusingremote(); - } - - self.reloading_big_orbitalsupport_gun = undefined; - self.reloading_medium_orbitalsupport_gun = undefined; - self.reloading_rocket_orbitalsupport_gun = undefined; - self.reloading_buddy_medium_orbitalsupport_gun = undefined; - maps\mp\_utility::playerrestoreangles(); - maps\mp\killstreaks\_coop_util::playerresetaftercoopstreak(); - maps\mp\_utility::playerremotekillstreakshowhud(); - } - - level.orbitalsupport_buddy = undefined; - setupflightsounds(); -} - -//Function Number: 53 -removeorbitalsupportbuddyondisconnect() -{ - self endon("orbitalsupport_player_removed"); - self waittill("disconnect"); - thread removeorbitalsupportbuddy(1); -} - -//Function Number: 54 -removeorbitalsupportbuddyonchangeteams() -{ - self endon("orbitalsupport_player_removed"); - self waittill("joined_team"); - thread removeorbitalsupportbuddy(0); -} - -//Function Number: 55 -removeorbitalsupportbuddyonspectate() -{ - self endon("orbitalsupport_player_removed"); - common_scripts\utility::waittill_any("joined_spectators","spawned"); - thread removeorbitalsupportbuddy(0); -} - -//Function Number: 56 -removeorbitalsupportbuddyoncommand() -{ - self endon("orbitalsupport_player_removed"); - self notifyonplayercommand("ExitButtonDown","+activate"); - self notifyonplayercommand("ExitButtonUp","-activate"); - self notifyonplayercommand("ExitButtonDown","+usereload"); - self notifyonplayercommand("ExitButtonUp","-usereload"); - for(;;) - { - self waittill("ExitButtonDown"); - thread startospbuddyexitcommand(); - thread cancelospbuddyexitcommand(); - } -} - -//Function Number: 57 -startospbuddyexitcommand() -{ - self endon("orbitalsupport_player_removed"); - self endon("ExitButtonUp"); - self.osp_buddy_exit = 1; - wait(0.5); - if(self.osp_buddy_exit == 1) - { - thread removeorbitalsupportbuddy(0); - } -} - -//Function Number: 58 -cancelospbuddyexitcommand() -{ - self endon("orbitalsupport_player_removed"); - self waittill("ExitButtonUp"); - self.osp_buddy_exit = 0; -} - -//Function Number: 59 -setrandomorbitalsupportstartposition() -{ - var_00 = level.mapcenter[2] + 9275; - var_01 = 8000; - var_02 = (0,randomint(360),0); - if(isdefined(level.orbitalsupportoverrides.spawnangle)) - { - var_02 = (0,level.orbitalsupportoverrides.spawnangle,0); - } - else if(isdefined(level.orbitalsupportoverrides.spawnanglemin) && isdefined(level.orbitalsupportoverrides.spawnanglemax)) - { - var_02 = (0,randomintrange(level.orbitalsupportoverrides.spawnanglemin,level.orbitalsupportoverrides.spawnanglemax),0); - } - - if(isdefined(level.orbitalsupportoverrides.spawnradius)) - { - var_01 = level.orbitalsupportoverrides.spawnradius; - } - - if(isdefined(level.orbitalsupportoverrides.spawnheight)) - { - var_00 = level.orbitalsupportoverrides.spawnheight; - } - - level.orbitalsupport_planemodel.angles = var_02; - level.orbitalsupport_planemodel.origin = level.orbitalsupport_planemodel.origin - vectornormalize(-1 * anglestoright(level.orbitalsupport_planemodel gettagangles("tag_origin"))) * var_01; - level.orbitalsupport_planemodel.origin = level.orbitalsupport_planemodel.origin + (0,0,var_00); - level.orbitalsupport_planemodel.destination2 = spawnstruct(); - level.orbitalsupport_planemodel.destination2.origin = level.orbitalsupport_planemodel.origin; - level.orbitalsupport_planemodel.destination2.angles = level.orbitalsupport_planemodel.angles; - level.orbitalsupport_planemodel.origin = level.orbitalsupport_planemodel.origin + (0,0,65000); -} - -//Function Number: 60 -moveorbitalsupporttodestination(param_00) -{ - self endon("death"); - self endon("crashing"); - level endon("game_ended"); - level endon("orbitalsupport_player_removed"); - if(!isdefined(param_00)) - { - param_00 = 1; - } - - thread rotateplane(1,"off"); - level.orbitalsupport_planemodel thread playjetfx(); - thread playentrysounddelayed(); - level.orbitalsupport_planemodel scriptmodelplayanimdeltamotion("paladin_ks_callin","paladin_notetrack"); - if(isdefined(level.orbitalsupport_planemodel.owner)) - { - level.orbitalsupport_planemodel.owner thread playerdelayrumble(1.5); - } - - level.orbitalsupport_planemodel waittillmatch("engines_full","paladin_notetrack"); - level.orbitalsupport_planemodel waittillmatch("downward_stop","paladin_notetrack"); - if(isdefined(level.orbitalsupport_planemodel.owner)) - { - level.orbitalsupport_planemodel.owner stoprumble("orbital_laser_charge"); - level.orbitalsupport_planemodel.owner playrumbleonentity("ac130_105mm_fire"); - earthquake(0.2,2,level.orbitalsupport_planemodel.destination2.origin,1000); - } - - level.orbitalsupport_planemodel waittillmatch("engines_idle","paladin_notetrack"); - if(param_00) - { - level.orbitalsupport_planemodel vehicle_jetbikesethoverforcescale(level.osprig,"tag_player"); - thread rotateplane(level.orbitalsupport_speed); - } - - level.orbitalsupport_planemodel waittillmatch("end","paladin_notetrack"); - level.orbitalsupport_planemodel scriptmodelclearanim(); - level.orbitalsupport_planemodel scriptmodelplayanim("paladin_ks_loop","paladin_notetrack"); - if(isdefined(level.orbitalsupport_planemodel.owner)) - { - level.orbitalsupport_planemodel.closeflightsound = spawn("script_origin",(0,0,0)); - level.orbitalsupport_planemodel.closeflightsound vehicle_jetbikesethoverforcescale(level.orbitalsupport_planemodel,"tag_origin",(0,0,0),(0,0,0)); - level.orbitalsupport_planemodel.closeflightsound playloopsound("paladin_flight_loop_near"); - } - - level.orbitalsupport_planemodel.farflightsound = spawn("script_origin",(0,0,0)); - level.orbitalsupport_planemodel.farflightsound vehicle_jetbikesethoverforcescale(level.orbitalsupport_planemodel,"tag_origin",(0,0,0),(0,0,0)); - level.orbitalsupport_planemodel.farflightsound playloopsound("paladin_flight_loop_dist"); - setupflightsounds(); - level.orbitalsupport_planemodel.paladinflying = 1; -} - -//Function Number: 61 -setupflightsounds() -{ - if(isdefined(level.orbitalsupport_planemodel.closeflightsound)) - { - level.orbitalsupport_planemodel.closeflightsound hide(); - if(isdefined(level.orbitalsupport_planemodel.owner)) - { - level.orbitalsupport_planemodel.closeflightsound showtoplayer(level.orbitalsupport_planemodel.owner); - } - - if(isdefined(level.orbitalsupport_buddy) && !level.splitscreen && !bothplayerssplitscreen(level.orbitalsupport_planemodel.owner,level.orbitalsupport_buddy)) - { - level.orbitalsupport_planemodel.closeflightsound showtoplayer(level.orbitalsupport_buddy); - } - } - - if(isdefined(level.orbitalsupport_planemodel.farflightsound)) - { - level.orbitalsupport_planemodel.farflightsound hide(); - foreach(var_01 in level.players) - { - if(level.splitscreen || isdefined(level.orbitalsupport_planemodel.owner) && bothplayerssplitscreen(level.orbitalsupport_planemodel.owner,var_01)) - { - continue; - } - - if(isdefined(level.orbitalsupport_planemodel.owner) && var_01 != level.orbitalsupport_planemodel.owner) - { - level.orbitalsupport_planemodel.farflightsound showtoplayer(var_01); - } - } - } -} - -//Function Number: 62 -bothplayerssplitscreen(param_00,param_01) -{ - return param_00 issplitscreenplayer() && param_01 issplitscreenplayer(); -} - -//Function Number: 63 -playerdelayrumble(param_00) -{ - self endon("disconnect"); - self endon("orbitalsupport_player_removed"); - wait(param_00); - self playrumbleonentity("orbital_laser_charge"); -} - -//Function Number: 64 -playjetfx() -{ - level.orbitalsupport_planemodel endon("death"); - level.orbitalsupport_planemodel endon("crashing"); - level endon("game_ended"); - level endon("orbitalsupport_player_removed"); - level.orbitalsupport_planemodel endon("stopEffects"); - playfxontag(common_scripts\utility::getfx("orbitalsupport_entry"),level.orbitalsupport_planemodel,"tag_origin"); - wait 0.05; - playfxontag(common_scripts\utility::getfx("vehicle_osp_jet"),level.orbitalsupport_planemodel,"TAG_FX_ENGINE_L_1"); - playfxontag(common_scripts\utility::getfx("vehicle_osp_jet"),level.orbitalsupport_planemodel,"TAG_FX_ENGINE_L_2"); - playfxontag(common_scripts\utility::getfx("vehicle_osp_jet"),level.orbitalsupport_planemodel,"TAG_FX_ENGINE_R_1"); - playfxontag(common_scripts\utility::getfx("vehicle_osp_jet"),level.orbitalsupport_planemodel,"TAG_FX_ENGINE_R_2"); - wait 0.05; - playfx(common_scripts\utility::getfx("orbitalsupport_entry_flash"),level.orbitalsupport_planemodel.destination2.origin); - level.orbitalsupport_planemodel waittillmatch("engines_full","paladin_notetrack"); - playfxontag(common_scripts\utility::getfx("orbitalsupport_light"),level.orbitalsupport_planemodel,"tag_light_tail"); - playfxontag(common_scripts\utility::getfx("orbitalsupport_entry_complete"),level.orbitalsupport_planemodel,"tag_light_belly"); - wait 0.05; - stopfxontag(common_scripts\utility::getfx("vehicle_osp_jet"),level.orbitalsupport_planemodel,"TAG_FX_ENGINE_L_1"); - stopfxontag(common_scripts\utility::getfx("vehicle_osp_jet"),level.orbitalsupport_planemodel,"TAG_FX_ENGINE_R_1"); - playfxontag(common_scripts\utility::getfx("vehicle_osp_jet_lg"),level.orbitalsupport_planemodel,"TAG_FX_ENGINE_L_1"); - playfxontag(common_scripts\utility::getfx("vehicle_osp_jet_lg"),level.orbitalsupport_planemodel,"TAG_FX_ENGINE_L_2"); - wait 0.05; - stopfxontag(common_scripts\utility::getfx("vehicle_osp_jet"),level.orbitalsupport_planemodel,"TAG_FX_ENGINE_L_2"); - stopfxontag(common_scripts\utility::getfx("vehicle_osp_jet"),level.orbitalsupport_planemodel,"TAG_FX_ENGINE_R_2"); - playfxontag(common_scripts\utility::getfx("vehicle_osp_jet_lg"),level.orbitalsupport_planemodel,"TAG_FX_ENGINE_R_1"); - playfxontag(common_scripts\utility::getfx("vehicle_osp_jet_lg"),level.orbitalsupport_planemodel,"TAG_FX_ENGINE_R_2"); - level.orbitalsupport_planemodel waittillmatch("engines_idle","paladin_notetrack"); - stopfxontag(common_scripts\utility::getfx("vehicle_osp_jet_lg"),level.orbitalsupport_planemodel,"TAG_FX_ENGINE_L_1"); - stopfxontag(common_scripts\utility::getfx("vehicle_osp_jet_lg"),level.orbitalsupport_planemodel,"TAG_FX_ENGINE_R_1"); - playfxontag(common_scripts\utility::getfx("vehicle_osp_jet"),level.orbitalsupport_planemodel,"TAG_FX_ENGINE_L_1"); - playfxontag(common_scripts\utility::getfx("vehicle_osp_jet"),level.orbitalsupport_planemodel,"TAG_FX_ENGINE_R_1"); - wait 0.05; - stopfxontag(common_scripts\utility::getfx("vehicle_osp_jet_lg"),level.orbitalsupport_planemodel,"TAG_FX_ENGINE_L_2"); - stopfxontag(common_scripts\utility::getfx("vehicle_osp_jet_lg"),level.orbitalsupport_planemodel,"TAG_FX_ENGINE_R_2"); - playfxontag(common_scripts\utility::getfx("vehicle_osp_jet"),level.orbitalsupport_planemodel,"TAG_FX_ENGINE_L_2"); - playfxontag(common_scripts\utility::getfx("vehicle_osp_jet"),level.orbitalsupport_planemodel,"TAG_FX_ENGINE_R_2"); - wait 0.05; - stopfxontag(common_scripts\utility::getfx("orbitalsupport_entry"),level.orbitalsupport_planemodel,"tag_origin"); -} - -//Function Number: 65 -playentrysounddelayed() -{ - self endon("death"); - self endon("crashing"); - level endon("game_ended"); - level endon("orbitalsupport_player_removed"); - wait(1); - playsoundatpos(level.orbitalsupport_planemodel.destination2.origin,"paladin_orbit_drop"); -} - -//Function Number: 66 -orbitalsupportexit() -{ - level.orbitalsupport_planemodel endon("crashing"); - level.orbitalsupport_planemodel notify("leaving"); - level.orbitalsupport_planemodel unlink(); - level.orbitalsupport_planemodel scriptmodelplayanimdeltamotion("paladin_ks_exit","paladin_notetrack"); - stopfxontag(common_scripts\utility::getfx("vehicle_osp_jet"),level.orbitalsupport_planemodel,"TAG_FX_ENGINE_L_1"); - stopfxontag(common_scripts\utility::getfx("vehicle_osp_jet"),level.orbitalsupport_planemodel,"TAG_FX_ENGINE_L_2"); - stopfxontag(common_scripts\utility::getfx("vehicle_osp_jet"),level.orbitalsupport_planemodel,"TAG_FX_ENGINE_R_1"); - stopfxontag(common_scripts\utility::getfx("vehicle_osp_jet"),level.orbitalsupport_planemodel,"TAG_FX_ENGINE_R_2"); - wait 0.05; - playfxontag(common_scripts\utility::getfx("vehicle_osp_jet_lg_trl"),level.orbitalsupport_planemodel,"TAG_FX_ENGINE_L_1"); - playfxontag(common_scripts\utility::getfx("vehicle_osp_jet_lg_trl"),level.orbitalsupport_planemodel,"TAG_FX_ENGINE_L_2"); - playfxontag(common_scripts\utility::getfx("vehicle_osp_jet_lg_trl"),level.orbitalsupport_planemodel,"TAG_FX_ENGINE_R_1"); - playfxontag(common_scripts\utility::getfx("vehicle_osp_jet_lg_trl"),level.orbitalsupport_planemodel,"TAG_FX_ENGINE_R_2"); - wait 0.05; - playfxontag(common_scripts\utility::getfx("vehicle_osp_jet_lg_trl"),level.orbitalsupport_planemodel,"TAG_FX_ENGINE_B"); - wait(4.8); - cleanupospents(); - level.orbitalsupport_planemodel delete(); - level.orbitalsupportinuse = 0; -} - -//Function Number: 67 -setupplayersduringstreak() -{ - level.orbitalsupport_chatter_timer = 0; - foreach(var_01 in level.players) - { - if(isdefined(var_01.team) && level.orbitalsupport_planemodel.owner.team == var_01.team) - { - continue; - } - else if(!isdefined(var_01.team)) - { - var_01 onplayerspawnedduringstreak(); - continue; - } - - var_01 thread playermonitordeath(); - var_01 thread playermonitormarkedtarget(); - } - - level thread onplayerconnectduringstreak(); -} - -//Function Number: 68 -onplayerconnectduringstreak() -{ - level endon("game_ended"); - level.orbitalsupport_planemodel.owner endon("orbitalsupport_player_removed"); - for(;;) - { - level waittill("connected",var_00); - var_00 thread onplayerspawnedduringstreak(); - } -} - -//Function Number: 69 -onplayerspawnedduringstreak() -{ - self waittill("spawned_player"); - thread playermonitordeath(); - thread playermonitormarkedtarget(); - setupflightsounds(); -} - -//Function Number: 70 -playermonitormarkedtarget() -{ - self endon("disconnect"); - level.orbitalsupport_planemodel.owner endon("orbitalsupport_player_removed"); - var_00 = level.orbitalsupport_planemodel.owner.team; - for(;;) - { - self waittill("paint_marked_target",var_01); - if(self.team == var_00 || !isdefined(var_01)) - { - continue; - } - - if(isdefined(level.orbitalsupport_buddy) && var_01 == level.orbitalsupport_buddy && gettime() > level.orbitalsupport_buddy_chatter_timer) - { - level.orbitalsupport_buddy_chatter_timer = gettime() + 10000; - if(!level.orbitalsupport_planemodel.coopoffensive) - { - var_01 maps\mp\_utility::leaderdialogonplayer("copilot_marked_mp_paladin"); - } - } - } -} - -//Function Number: 71 -playermonitordeath() -{ - self endon("disconnect"); - level.orbitalsupport_planemodel.owner endon("orbitalsupport_player_removed"); - var_00 = level.orbitalsupport_planemodel.owner.team; - for(;;) - { - self waittill("death",var_01,var_02,var_03); - if(self.team == var_00 || !isdefined(var_01)) - { - continue; - } - - if(var_01 == level.orbitalsupport_planemodel.owner && gettime() > level.orbitalsupport_chatter_timer) - { - level.orbitalsupport_chatter_timer = gettime() + 10000; - var_01 maps\mp\_utility::leaderdialogonplayer("copilot_enemykill_mp_paladin"); - } - - if(isdefined(level.orbitalsupport_buddy) && var_01 == level.orbitalsupport_buddy && gettime() > level.orbitalsupport_buddy_chatter_timer) - { - level.orbitalsupport_buddy_chatter_timer = gettime() + 10000; - if(level.orbitalsupport_planemodel.coopoffensive) - { - var_01 maps\mp\_utility::leaderdialogonplayer("copilot_enemykill_mp_paladin"); - } - } - } -} - -//Function Number: 72 -turretdeletesoundent() -{ - if(isdefined(self.soundent)) - { - self.soundent delete(); - } -} - -//Function Number: 73 -playerresetospomnvars() -{ - self setclientomnvar("ui_killstreak_optic",0); - self setclientomnvar("ui_osp_rockets",0); - self setclientomnvar("ui_osp_avail_weapons",0); - self setclientomnvar("ui_osp_weapon",0); - self setclientomnvar("ui_osp_reload_bitfield",0); - self setclientomnvar("ui_osp_toggle",0); - self setclientomnvar("ui_coop_primary_num",0); - maps\mp\killstreaks\_aerial_utility::playerdisablestreakstatic(); -} - -//Function Number: 74 -rotateplane(param_00,param_01) -{ - level notify("stop_rotatePlane_thread"); - level endon("stop_rotatePlane_thread"); - if(!isdefined(param_01)) - { - param_01 = "on"; - } - - if(param_01 == "on") - { - level.osprig rotateyaw(360,param_00,0.5); - wait(param_00); - for(;;) - { - level.osprig rotateyaw(360,param_00); - wait(param_00); - } - - return; - } - - if(param_01 == "off") - { - var_02 = 10; - var_03 = param_00 / 360 * var_02; - level.osprig rotateyaw(level.osprig.angles[2] + var_02,var_03,0,var_03); - } -} - -//Function Number: 75 -spawnmuzzleflashent(param_00,param_01,param_02) -{ - var_03 = spawn("script_model",(0,0,0)); - var_03 setmodel("tag_origin"); - var_03 linkto(param_00,param_01,(0,0,0),(0,0,0)); - var_03 hide(); - foreach(var_05 in level.players) - { - if(var_05 != param_02) - { - var_03 showtoplayer(var_05); - } - } - - thread onplayerconnectmuzzleflashent(var_03); - return var_03; -} - -//Function Number: 76 -onplayerconnectmuzzleflashent(param_00) -{ - param_00 endon("death"); - for(;;) - { - level waittill("connected",var_01); - thread onplayerspawnedmuzzleflashent(param_00,var_01); - } -} - -//Function Number: 77 -onplayerspawnedmuzzleflashent(param_00,param_01) -{ - param_00 endon("death"); - param_01 endon("disconnect"); - param_01 waittill("spawned_player"); - param_00 showtoplayer(param_01); -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/killstreaks/_uav.gsc b/AW/PC/MP/maps/mp/killstreaks/_uav.gsc deleted file mode 100644 index a80fb22..0000000 --- a/AW/PC/MP/maps/mp/killstreaks/_uav.gsc +++ /dev/null @@ -1,835 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_uav.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 33 - * Decompile Time: 519 ms - * Timestamp: 10/27/2023 1:52:25 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - level._effect["uav_explode"] = loadfx("vfx/explosion/vehicle_uav_explosion"); - level._effect["uav_exit"] = loadfx("vfx/trail/smoketrail_uav"); - level._effect["uav_trail"] = loadfx("vfx/trail/smoketrail_uav"); - level.killstreakfuncs["uav"] = ::tryuseuav; - level.killstreakfuncs["uav_support"] = ::tryuseuav; - level.killstreakfuncs["counter_uav"] = ::tryuseuav; - var_00 = getentarray("minimap_corner","targetname"); - if(var_00.size) - { - var_01 = maps\mp\gametypes\_spawnlogic::findboxcenter(var_00[0].origin,var_00[1].origin); - } - else - { - var_01 = (0,0,0); - } - - level.uavrig = spawn("script_model",var_01); - level.uavrig setmodel("c130_zoomrig"); - level.uavrig.angles = (0,115,0); - level.uavrig hide(); - level.uavrig.targetname = "uavrig_script_model"; - level.uavrig thread rotateuavrig(); - if(level.teambased) - { - level.radarmode["allies"] = "normal_radar"; - level.radarmode["axis"] = "normal_radar"; - level.activeuavs["allies"] = 0; - level.activeuavs["axis"] = 0; - level.activecounteruavs["allies"] = 0; - level.activecounteruavs["axis"] = 0; - level.uavmodels["allies"] = []; - level.uavmodels["axis"] = []; - } - else - { - level.radarmode = []; - level.activeuavs = []; - level.activecounteruavs = []; - level.uavmodels = []; - } - - level thread onplayerconnect(); - level thread uavtracker(); -} - -//Function Number: 2 -onplayerconnect() -{ - for(;;) - { - level waittill("connected",var_00); - if(!level.teambased) - { - level.activeuavs[var_00.guid] = 0; - level.activeuavs[var_00.guid + "_radarStrength"] = 0; - level.activecounteruavs[var_00.guid] = 0; - level.radarmode[var_00.guid] = "normal_radar"; - } - - var_00 thread onplayerspawned(); - } -} - -//Function Number: 3 -onplayerspawned() -{ - self endon("disconnect"); - for(;;) - { - self waittill("spawned_player"); - level notify("uav_update"); - } -} - -//Function Number: 4 -rotateuavrig() -{ - for(;;) - { - self rotateyaw(-360,60); - wait(60); - } -} - -//Function Number: 5 -playtrailfx() -{ - self endon("death"); - level endon("game_ended"); - playfxontag(level._effect["uav_trail"],self,"tag_origin"); -} - -//Function Number: 6 -launchuav(param_00,param_01,param_02,param_03) -{ - var_04 = spawn("script_model",level.uavrig gettagorigin("tag_origin")); - var_04.modules = param_03; - var_04.value = 1; - if(common_scripts\utility::array_contains(var_04.modules,"uav_advanced_updates")) - { - var_04.value = 2; - } - - if(common_scripts\utility::array_contains(var_04.modules,"uav_enemy_direction")) - { - var_04.value = 3; - } - - if(common_scripts\utility::array_contains(var_04.modules,"uav_scrambler")) - { - var_05 = 1; - } - else - { - var_05 = 0; - } - - var_04 setmodel("uav_drone_static"); - var_04 thread playtrailfx(); - var_04 thread maps\mp\gametypes\_damage::setentitydamagecallback(1000,undefined,::uavondeath,undefined,1); - var_04.team = param_01; - var_04.owner = param_00; - var_04.timetoadd = 0; - var_04.orbit = common_scripts\utility::array_contains(var_04.modules,"uav_orbit"); - var_04.paintoutline = common_scripts\utility::array_contains(var_04.modules,"uav_paint_outline"); - var_04.assistpoints = common_scripts\utility::array_contains(var_04.modules,"uav_assist_points"); - var_04 common_scripts\utility::make_entity_sentient_mp(param_01); - var_04 thread handleincomingstinger(); - var_04.streakcustomization = param_00.streakcustomization; - var_04 adduavmodel(); - thread flyin(var_04); - var_04 thread updateuavmodelvisibility(); - var_04 thread maps\mp\killstreaks\_killstreaks::updateaerialkillstreakmarker(); - var_04 addactiveuav(); - if(var_05) - { - var_04 addactivecounteruav(); - } - - if(isdefined(level.activeuavs[param_01])) - { - foreach(var_07 in level.uavmodels[param_01]) - { - if(var_07 == var_04) - { - continue; - } - - if(var_05) - { - var_07.timetoadd = var_07.timetoadd + 5; - continue; - } - - if(!var_05) - { - var_07.timetoadd = var_07.timetoadd + 5; - } - } - } - - wait 0.05; - level notify("uav_update"); - var_09 = 30; - if(common_scripts\utility::array_contains(var_04.modules,"uav_increased_time")) - { - var_09 = var_09 + 15; - } - - var_04 waittill_notify_or_timeout_hostmigration_pause("death",var_09); - if(var_04.damagetaken < var_04.maxhealth) - { - var_04 unlink(); - var_0A = var_04.origin + anglestoforward(var_04.angles) * 20000; - var_04 moveto(var_0A,60); - playfxontag(common_scripts\utility::getfx("uav_exit"),var_04,"tag_origin"); - var_04 waittill_notify_or_timeout_hostmigration_pause("death",3); - if(var_04.damagetaken < var_04.maxhealth) - { - var_04 notify("leaving"); - var_04.isleaving = 1; - var_04 moveto(var_0A,4,4,0); - } - - var_04 waittill_notify_or_timeout_hostmigration_pause("death",4 + var_04.timetoadd); - } - - if(var_05) - { - var_04 removeactivecounteruav(); - } - - var_04 removeactiveuav(); - var_04 delete(); - var_04 removeuavmodel(); - level notify("uav_update"); -} - -//Function Number: 7 -flyin(param_00) -{ - param_00 hide(); - var_01 = randomintrange(3000,5000); - if(isdefined(level.spawnpoints)) - { - var_02 = level.spawnpoints; - } - else - { - var_02 = level.startspawnpoints; - } - - var_03 = var_02[0]; - foreach(var_05 in var_02) - { - if(var_05.origin[2] < var_03.origin[2]) - { - var_03 = var_05; - } - } - - var_07 = var_03.origin[2]; - var_08 = level.uavrig.origin[2]; - if(var_07 < 0) - { - var_08 = var_08 + var_07 * -1; - var_07 = 0; - } - - var_09 = var_08 - var_07; - if(var_09 + var_01 > 8100) - { - var_01 = var_01 - var_09 + var_01 - 8100; - } - - var_0A = randomint(360); - var_0B = randomint(2000) + 5000; - var_0C = cos(var_0A) * var_0B; - var_0D = sin(var_0A) * var_0B; - var_0E = vectornormalize((var_0C,var_0D,var_01)); - var_0E = var_0E * randomintrange(6000,7000); - param_00 linkto(level.uavrig,"tag_origin",var_0E,(0,var_0A - 90,135)); - wait 0.05; - var_0F = param_00.origin; - param_00 unlink(); - param_00.origin = var_0F + anglestoforward(param_00.angles) * -20000; - param_00 moveto(var_0F,4,0,2); - wait(4); - if(isdefined(param_00)) - { - param_00 linkto(level.uavrig,"tag_origin"); - } -} - -//Function Number: 8 -waittill_notify_or_timeout_hostmigration_pause(param_00,param_01) -{ - self endon(param_00); - maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(param_01); -} - -//Function Number: 9 -updateuavmodelvisibility() -{ - self endon("death"); - for(;;) - { - level common_scripts\utility::waittill_either("joined_team","uav_update"); - self hide(); - foreach(var_01 in level.players) - { - if(level.teambased) - { - if(var_01.team != self.team && !self.orbit) - { - self showtoplayer(var_01); - } - - continue; - } - - if((isdefined(self.owner) && var_01 == self.owner) || self.orbit) - { - continue; - } - - self showtoplayer(var_01); - } - } -} - -//Function Number: 10 -uavondeath(param_00,param_01,param_02,param_03) -{ - self hide(); - self notify("death"); - var_04 = anglestoright(self.angles) * 200; - playfx(common_scripts\utility::getfx("uav_explode"),self.origin,var_04); - playsoundatpos(self.origin,"uav_air_death"); - maps\mp\gametypes\_damage::onkillstreakkilled(param_00,param_01,param_02,param_03,"uav_destroyed",undefined,"callout_destroyed_uav",1); -} - -//Function Number: 11 -tryuseuav(param_00,param_01) -{ - if(isdefined(self.pers["killstreaks"][self.killstreakindexweapon].streakname)) - { - var_02 = self.pers["killstreaks"][self.killstreakindexweapon].streakname; - } - else - { - var_02 = "uav_support"; - } - - if(isdefined(level.ishorde) && level.ishorde && self.killstreakindexweapon == 1) - { - self notify("used_horde_uav"); - } - - return useuav(var_02,param_01); -} - -//Function Number: 12 -useuav(param_00,param_01) -{ - maps\mp\_matchdata::logkillstreakevent(param_00,self.origin); - var_02 = self.pers["team"]; - level thread launchuav(self,var_02,param_00,param_01); - return 1; -} - -//Function Number: 13 -uavtracker() -{ - level endon("game_ended"); - for(;;) - { - level waittill("uav_update"); - if(level.teambased) - { - updateteamuavstatus("allies"); - updateteamuavstatus("axis"); - continue; - } - - updateplayersuavstatus(); - } -} - -//Function Number: 14 -_getradarstrength(param_00,param_01,param_02) -{ - var_03 = 0; - var_04 = 0; - foreach(var_06 in level.uavmodels[param_00]) - { - var_03 = var_03 + var_06.value; - } - - foreach(var_06 in level.uavmodels[level.otherteam[param_00]]) - { - if(var_06.uavtype != "counter") - { - continue; - } - - var_04 = var_04 + var_06.value; - } - - if(var_04 > 0) - { - var_0A = -3; - } - else - { - var_0A = var_04; - } - - var_0B = getuavstrengthmin(); - var_0C = getuavstrengthmax(); - if(var_0A <= var_0B) - { - var_0A = var_0B; - } - else if(var_0A >= var_0C) - { - var_0A = var_0C; - } - - return var_0A; -} - -//Function Number: 15 -_getteampaintoutline(param_00) -{ - var_01 = 0; - var_02 = 0; - foreach(var_04 in level.uavmodels[param_00]) - { - if(var_04.paintoutline) - { - var_01 = var_01 + var_04.value; - } - } - - if(var_01 > 0) - { - var_02 = 1; - } - else - { - var_02 = 0; - } - - return var_02; -} - -//Function Number: 16 -_getpaintoutline(param_00) -{ - var_01 = 0; - var_02 = 0; - foreach(var_04 in level.uavmodels) - { - if(isdefined(var_04.owner) && var_04.owner == param_00 && var_04.paintoutline) - { - var_01 = var_01 + var_04.value; - } - } - - if(var_01 > 0) - { - var_02 = 1; - } - else - { - var_02 = 0; - } - - return var_02; -} - -//Function Number: 17 -updateteamuavstatus(param_00) -{ - var_01 = _getradarstrength(param_00); - var_02 = _getteampaintoutline(param_00); - updateteampaintoutline(param_00,var_02); - setteamradarstrength(param_00,var_01); - if(var_01 >= getuavstrengthlevelneutral()) - { - updateteamradarblocked(param_00,0); - unblockteamradar(param_00); - } - else - { - updateteamradarblocked(param_00,1); - blockteamradar(param_00); - } - - if(var_01 <= getuavstrengthlevelneutral()) - { - setteamradarwrapper(param_00,0); - updateteamuavtype(param_00); - return; - } - - if(var_01 >= getuavstrengthlevelshowenemyfastsweep()) - { - level.radarmode[param_00] = "fast_radar"; - } - else - { - level.radarmode[param_00] = "normal_radar"; - } - - updateteamuavtype(param_00); - setteamradarwrapper(param_00,1); -} - -//Function Number: 18 -updateplayersuavstatus() -{ - var_00 = getuavstrengthmin(); - var_01 = getuavstrengthmax(); - var_02 = getuavstrengthlevelshowenemydirectional(); - foreach(var_04 in level.players) - { - var_05 = level.activeuavs[var_04.guid + "_radarStrength"]; - var_06 = _getpaintoutline(var_04); - updatepaintoutline(var_04,var_06); - foreach(var_08 in level.players) - { - if(var_08 == var_04) - { - continue; - } - - var_09 = level.activecounteruavs[var_08.guid]; - if(var_09 > 0) - { - var_05 = -3; - break; - } - } - - if(var_05 <= var_00) - { - var_05 = var_00; - } - else if(var_05 >= var_01) - { - var_05 = var_01; - } - - var_04.radarstrength = var_05; - if(var_05 >= getuavstrengthlevelneutral()) - { - updateplayerradarblocked(var_04,0); - var_04.isradarblocked = 0; - } - else - { - updateplayerradarblocked(var_04,1); - var_04.isradarblocked = 1; - } - - if(var_05 <= getuavstrengthlevelneutral()) - { - var_04.hasradar = 0; - var_04.radarshowenemydirection = 0; - continue; - } - - if(var_05 >= getuavstrengthlevelshowenemyfastsweep()) - { - var_04.radarmode = "fast_radar"; - } - else - { - var_04.radarmode = "normal_radar"; - } - - var_04.radarshowenemydirection = var_05 >= var_02; - var_04.hasradar = 1; - } -} - -//Function Number: 19 -updateteamuavtype(param_00,param_01) -{ - var_02 = _getradarstrength(param_00) >= getuavstrengthlevelshowenemydirectional(); - foreach(var_04 in level.players) - { - if(var_04.team == "spectator") - { - continue; - } - - var_05 = maps\mp\gametypes\_gameobjects::getenemyteam(var_04.team); - var_04.radarmode = level.radarmode[var_04.team]; - var_04.enemyradarmode = level.radarmode[var_05]; - if(var_04.team == param_00) - { - var_04.radarshowenemydirection = var_02; - } - } -} - -//Function Number: 20 -updateteampaintoutline(param_00,param_01) -{ - level endon("game_ended"); - foreach(var_03 in level.players) - { - if(isdefined(var_03) && var_03.team == param_00) - { - var_03 playersetupuavpaintoutline(param_01); - } - } -} - -//Function Number: 21 -updatepaintoutline(param_00,param_01) -{ - level endon("game_ended"); - param_00 playersetupuavpaintoutline(param_01); -} - -//Function Number: 22 -playersetupuavpaintoutline(param_00) -{ - if(param_00) - { - if(!isdefined(self.uav_paint_effect)) - { - self.uav_paint_effect = maps\mp\_threatdetection::detection_highlight_hud_effect_on(self,-1); - } - - self setperk("specialty_uav_paint",1,0); - return; - } - - if(isdefined(self.uav_paint_effect)) - { - maps\mp\_threatdetection::detection_highlight_hud_effect_off(self.uav_paint_effect); - self.uav_paint_effect = undefined; - } - - self unsetperk("specialty_uav_paint",1); -} - -//Function Number: 23 -updateteamradarblocked(param_00,param_01) -{ - foreach(var_03 in level.players) - { - if(isdefined(var_03) && var_03.team == param_00) - { - updateplayerradarblocked(var_03,param_01); - } - } -} - -//Function Number: 24 -updateplayerradarblocked(param_00,param_01) -{ - if(!param_01 || !param_00 maps\mp\_utility::_hasperk("specialty_class_hardwired")) - { - param_00 setclientomnvar("ui_uav_scrambler_on",param_01); - } -} - -//Function Number: 25 -setteamradarwrapper(param_00,param_01) -{ - setteamradar(param_00,param_01); - level notify("radar_status_change",param_00); -} - -//Function Number: 26 -handleincomingstinger() -{ - level endon("game_ended"); - self endon("death"); - for(;;) - { - level waittill("stinger_fired",var_00,var_01); - if(!maps\mp\_stingerm7::anystingermissilelockedon(var_01,self)) - { - continue; - } - - foreach(var_03 in var_01) - { - if(!isdefined(var_03)) - { - continue; - } - - var_03 thread stingerproximitydetonate(var_03.lockedstingertarget,var_00); - } - } -} - -//Function Number: 27 -stingerproximitydetonate(param_00,param_01) -{ - self endon("death"); - var_02 = distance(self.origin,param_00 getpointinbounds(0,0,0)); - var_03 = param_00 getpointinbounds(0,0,0); - for(;;) - { - if(!isdefined(param_00)) - { - var_04 = var_03; - } - else - { - var_04 = param_00 getpointinbounds(0,0,0); - } - - var_03 = var_04; - var_05 = distance(self.origin,var_04); - if(var_05 < var_02) - { - var_02 = var_05; - } - - if(var_05 > var_02) - { - if(var_05 > 1536) - { - return; - } - - radiusdamage(self.origin,1536,600,600,param_01,"MOD_EXPLOSIVE","stinger_mp"); - playfx(level.stingerfxid,self.origin); - self hide(); - self notify("deleted"); - wait(0.05); - self delete(); - param_01 notify("killstreak_destroyed"); - } - - wait(0.05); - } -} - -//Function Number: 28 -adduavmodel() -{ - if(level.teambased) - { - level.uavmodels[self.team][level.uavmodels[self.team].size] = self; - return; - } - - level.uavmodels[self.owner.guid + "_" + gettime()] = self; -} - -//Function Number: 29 -removeuavmodel() -{ - var_00 = []; - if(level.teambased) - { - var_01 = self.team; - foreach(var_03 in level.uavmodels[var_01]) - { - if(!isdefined(var_03)) - { - continue; - } - - var_00[var_00.size] = var_03; - } - - level.uavmodels[var_01] = var_00; - return; - } - - foreach(var_03 in level.uavmodels) - { - if(!isdefined(var_03)) - { - continue; - } - - var_00[var_00.size] = var_03; - } - - level.uavmodels = var_00; -} - -//Function Number: 30 -addactiveuav() -{ - self.uavtype = "standard"; - if(level.teambased) - { - level.activeuavs[self.team]++; - return; - } - - level.activeuavs[self.owner.guid]++; - level.activeuavs[self.owner.guid + "_radarStrength"] = level.activeuavs[self.owner.guid + "_radarStrength"] + self.value; -} - -//Function Number: 31 -addactivecounteruav() -{ - self.uavtype = "counter"; - if(level.teambased) - { - level.activecounteruavs[self.team]++; - return; - } - - level.activecounteruavs[self.owner.guid]++; -} - -//Function Number: 32 -removeactiveuav() -{ - if(level.teambased) - { - level.activeuavs[self.team]--; - if(!level.activeuavs[self.team]) - { - return; - } - - return; - } - - if(isdefined(self.owner)) - { - level.activeuavs[self.owner.guid]--; - level.activeuavs[self.owner.guid + "_radarStrength"] = level.activeuavs[self.owner.guid + "_radarStrength"] - self.value; - } -} - -//Function Number: 33 -removeactivecounteruav() -{ - if(level.teambased) - { - level.activecounteruavs[self.team]--; - if(!level.activecounteruavs[self.team]) - { - return; - } - - return; - } - - if(isdefined(self.owner)) - { - level.activecounteruavs[self.owner.guid]--; - } -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/killstreaks/_warbird.gsc b/AW/PC/MP/maps/mp/killstreaks/_warbird.gsc deleted file mode 100644 index 1b6ad22..0000000 --- a/AW/PC/MP/maps/mp/killstreaks/_warbird.gsc +++ /dev/null @@ -1,2023 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_warbird.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 93 - * Decompile Time: 1583 ms - * Timestamp: 10/27/2023 1:52:30 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - level.warbirdsetting = []; - level.warbirdsetting["Warbird"] = spawnstruct(); - level.warbirdsetting["Warbird"].vehicle = "warbird_player_mp"; - level.warbirdsetting["Warbird"].modelbase = "vehicle_xh9_warbird_low_cloaked_in_out_mp_cloak"; - level.warbirdsetting["Warbird"].helitype = "warbird"; - level.warbirdsetting["Warbird"].maxhealth = level.heli_maxhealth; - level.killstreakfuncs["warbird"] = ::tryusewarbird; - level.killstreakwieldweapons["warbird_remote_turret_mp"] = "warbird"; - level.killstreakwieldweapons["warbird_player_turret_mp"] = "warbird"; - level.killstreakwieldweapons["warbird_missile_mp"] = "warbird"; - level.killstreakwieldweapons["paint_missile_killstreak_mp"] = "warbird"; - if(!isdefined(level.spawnedwarbirds)) - { - level.spawnedwarbirds = []; - } - - if(!isdefined(level.warbirdinuse)) - { - level.warbirdinuse = 0; - } - - level.chopper_fx["light"]["warbird"] = loadfx("vfx/lights/air_light_wingtip_red"); - level.chopper_fx["engine"]["warbird"] = loadfx("vfx/distortion/distortion_warbird_mp"); - maps\mp\killstreaks\_aerial_utility::makehelitype("warbird","vfx/explosion/vehicle_warbird_explosion_midair",::warbirdlightfx); - maps\mp\killstreaks\_aerial_utility::addairexplosion("warbird","vfx/explosion/vehicle_warbird_explosion_midair"); - game["dialog"]["assist_mp_warbird"] = "ks_warbird_joinreq"; - game["dialog"]["pilot_sup_mp_warbird"] = "pilot_sup_mp_warbird"; - game["dialog"]["pilot_aslt_mp_warbird"] = "pilot_aslt_mp_warbird"; - game["dialog"]["ks_warbird_destroyed"] = "ks_warbird_destroyed"; -} - -//Function Number: 2 -tryusewarbird(param_00,param_01) -{ - if(!canusewarbird()) - { - self iprintlnbold(&"KILLSTREAKS_AIR_SPACE_TOO_CROWDED"); - return 0; - } - else if(maps\mp\_utility::currentactivevehiclecount() >= maps\mp\_utility::maxvehiclesallowed() || level.fauxvehiclecount + 1 >= maps\mp\_utility::maxvehiclesallowed()) - { - self iprintlnbold(&"MP_TOO_MANY_VEHICLES"); - return 0; - } - - maps\mp\_utility::incrementfauxvehiclecount(); - level.warbirdinuse = 1; - var_02 = common_scripts\utility::array_contains(param_01,"warbird_ai_attack") || common_scripts\utility::array_contains(param_01,"warbird_ai_follow"); - if(!var_02) - { - thread playerclearwarbirdonteamchange(); - var_03 = maps\mp\killstreaks\_killstreaks::initridekillstreak("warbird"); - if(var_03 != "success") - { - maps\mp\_utility::decrementfauxvehiclecount(); - level.warbirdinuse = 0; - return 0; - } - - maps\mp\_utility::setusingremote("warbird"); - } - - var_03 = setupwarbirdkillstreak(param_00,param_01); - if(var_03) - { - maps\mp\_matchdata::logkillstreakevent("warbird",self.origin); - } - - return var_03; -} - -//Function Number: 3 -playerclearwarbirdonteamchange() -{ - self endon("rideKillstreakBlack"); - self endon("rideKillstreakFailed"); - self waittill("joined_team"); - level.warbirdinuse = 0; - maps\mp\_utility::decrementfauxvehiclecount(); -} - -//Function Number: 4 -canusewarbird() -{ - return !level.warbirdinuse; -} - -//Function Number: 5 -iscontrollingwarbird() -{ - return isdefined(self.controllingwarbird) && self.controllingwarbird; -} - -//Function Number: 6 -warbirdmakevehiclesolidcapsule() -{ - self endon("death"); - wait 0.05; - self makevehiclesolidcapsule(300,-9,160); -} - -//Function Number: 7 -setupplayercommands(param_00) -{ - if(isbot(self)) - { - return; - } - - self notifyonplayercommand("SwitchVisionMode","+actionslot 1"); - self notifyonplayercommand("SwitchWeapon","weapnext"); - self notifyonplayercommand("ToggleControlState","+activate"); - self notifyonplayercommand("ToggleControlCancel","-activate"); - self notifyonplayercommand("ToggleControlState","+usereload"); - self notifyonplayercommand("ToggleControlCancel","-usereload"); - self notifyonplayercommand("StartFire","+attack"); - self notifyonplayercommand("StartFire","+attack_akimbo_accessible"); - if(isdefined(param_00) && common_scripts\utility::array_contains(param_00,"warbird_cloak")) - { - self notifyonplayercommand("Cloak","+smoke"); - } -} - -//Function Number: 8 -disableplayercommands(param_00) -{ - if(isbot(self)) - { - return; - } - - self notifyonplayercommandremove("SwitchVisionMode","+actionslot 1"); - self notifyonplayercommandremove("SwitchWeapon","weapnext"); - self notifyonplayercommandremove("ToggleControlState","+activate"); - self notifyonplayercommandremove("ToggleControlCancel","-activate"); - self notifyonplayercommandremove("ToggleControlState","+usereload"); - self notifyonplayercommandremove("ToggleControlCancel","-usereload"); - self notifyonplayercommandremove("StartFire","+attack"); - self notifyonplayercommandremove("StartFire","+attack_akimbo_accessible"); - if(isdefined(param_00) && param_00.cancloak) - { - self notifyonplayercommandremove("Cloak","+smoke"); - } -} - -//Function Number: 9 -setupwarbirdkillstreak(param_00,param_01) -{ - self endon("warbirdStreakComplete"); - setupplayercommands(param_01); - self.possesswarbird = 0; - self.controllingwarbird = 0; - self.warbirdinit = 1; - var_02 = buildvalidflightpaths(); - var_03 = findbestspawnlocation(var_02); - var_03 = rotatehelispawn(var_03); - var_04 = spawnhelicopter(self,var_03.origin,var_03.angles,level.warbirdsetting["Warbird"].vehicle,level.warbirdsetting["Warbird"].modelbase); - var_04.currentnode = var_03; - if(!isdefined(var_04)) - { - return 0; - } - - var_04 thread warbird_audio(); - var_04 hide(); - var_04 thread warbirdmakevehiclesolidcapsule(); - var_04.targetent = spawn("script_origin",(0,0,0)); - var_04.vehicletype = "Warbird"; - var_04.heli_type = level.warbirdsetting["Warbird"].helitype; - var_04.helitype = level.warbirdsetting["Warbird"].helitype; - var_04.attractor = missile_createattractorent(var_04,level.heli_attract_strength,level.heli_attract_range); - var_04.lifeid = param_00; - var_04.team = self.pers["team"]; - var_04.pers["team"] = self.pers["team"]; - var_04.owner = self; - var_04.maxhealth = level.warbirdsetting["Warbird"].maxhealth; - var_04.zoffset = (0,0,0); - var_04.targeting_delay = level.heli_targeting_delay; - var_04.primarytarget = undefined; - var_04.secondarytarget = undefined; - var_04.attacker = undefined; - var_04.currentstate = "ok"; - var_04.picknewtarget = 1; - var_04.lineofsight = 0; - var_04.overheattime = 6; - var_04.firetime = 0; - var_04.weaponfire = 0; - var_04.ismoving = 1; - var_04.cloakcooldown = 0; - var_04.iscrashing = 0; - var_04.ispossessed = 0; - var_04.modules = param_01; - var_04.aiattack = common_scripts\utility::array_contains(var_04.modules,"warbird_ai_attack"); - var_04.aifollow = common_scripts\utility::array_contains(var_04.modules,"warbird_ai_follow"); - var_04.hasai = var_04.aiattack || var_04.aifollow; - var_04.cancloak = common_scripts\utility::array_contains(var_04.modules,"warbird_cloak"); - var_04.hasrockets = common_scripts\utility::array_contains(var_04.modules,"warbird_rockets"); - var_04.coopoffensive = common_scripts\utility::array_contains(var_04.modules,"warbird_coop_offensive"); - var_04.extraflare = common_scripts\utility::array_contains(var_04.modules,"warbird_flares"); - if(var_04.extraflare) - { - var_04.numextraflares = 1; - } - else - { - var_04.numextraflares = 0; - } - - if(var_04.hasrockets) - { - var_04.rocketclip = 3; - } - else - { - var_04.rocketclip = 0; - } - - var_04.remainingrocketshots = var_04.rocketclip; - if(var_04.hasai) - { - var_04.usableent = spawn("script_origin",(0,0,0)); - var_04.usableent linkto(var_04); - var_04.usableent maps\mp\_utility::makegloballyusablebytype("killstreakRemote",&"MP_WARBIRD_PLAYER_PROMPT",self); - } - - var_04 thread [[ level.lightfxfunc["warbird"] ]](); - var_04 common_scripts\utility::make_entity_sentient_mp(var_04.team); - if(!isdefined(level.spawnedwarbirds)) - { - level.spawnedwarbirds = []; - } - - level.spawnedwarbirds = common_scripts\utility::array_add(level.spawnedwarbirds,var_04); - var_04 maps\mp\killstreaks\_aerial_utility::addtohelilist(); - var_04 thread maps\mp\killstreaks\_aerial_utility::heli_flares_monitor(var_04.numextraflares); - var_04 thread maps\mp\killstreaks\_aerial_utility::heli_leave_on_disconnect(self); - var_04 thread maps\mp\killstreaks\_aerial_utility::heli_leave_on_changeteams(self); - var_04 thread maps\mp\killstreaks\_aerial_utility::heli_leave_on_gameended(self); - var_05 = 30; - if(common_scripts\utility::array_contains(var_04.modules,"warbird_time")) - { - var_05 = 45; - } - - if(maps\mp\_utility::_hasperk("specialty_blackbox") && isdefined(self.specialty_blackbox_bonus)) - { - var_05 = var_05 * self.specialty_blackbox_bonus; - } - - var_04.endtime = gettime() + var_05 * 1000; - var_04 thread maps\mp\killstreaks\_aerial_utility::heli_leave_on_timeout(var_05); - var_04 thread maps\mp\killstreaks\_aerial_utility::heli_monitoremp(); - var_04 thread maps\mp\gametypes\_damage::setentitydamagecallback(var_04.maxhealth,undefined,::warbirdondeath,::maps\mp\killstreaks\_aerial_utility::heli_modifydamage,1); - var_04 thread warbird_health(); - var_04 thread maps\mp\killstreaks\_aerial_utility::heli_existance(); - thread monitoraiwarbirddeathortimeout(var_04); - thread monitorplayerdisconnect(var_04); - var_04.warbirdturret = var_04 spawn_warbird_turret("warbird_remote_turret_mp","vehicle_xh9_warbird_turret_cloaked_inout_killstreak_mp_cloak","tag_player_mp",0); - var_04.warbirdturret hide(); - if(!var_04.aiattack && !var_04.aifollow) - { - var_04.warbirdturret showtoplayer(self); - } - - var_06 = "orbitalsupport_big_turret_mp"; - if(var_04.coopoffensive) - { - var_06 = "warbird_remote_turret_mp"; - } - - var_04.warbirdbuddyturret = var_04 spawn_warbird_turret(var_06,"vehicle_xh9_warbird_turret_cloaked_inout_killstreak_mp_cloak","tag_playerbuddy_mp",1); - var_04.warbirdbuddyturret hide(); - thread setupcloaking(var_04); - thread warbirdoverheatbarcolormonitor(var_04,var_04.warbirdturret); - if(var_04.aiattack || var_04.aifollow) - { - thread playermonitorwarbirdpossession(var_04); - } - else - { - thread playercontrolwarbirdsetup(var_04); - } - - if(isdefined(var_04)) - { - if(level.teambased) - { - level thread handlecoopjoining(var_04,self); - } - - return 1; - } - - return 0; -} - -//Function Number: 10 -playermonitorwarbirdpossession(param_00) -{ - self endon("warbirdStreakComplete"); - param_00 waittill("cloaked"); - wait 0.05; - for(;;) - { - monitoraiwarbirdswitch(param_00); - param_00.usableent waittill("trigger"); - thread manuallyjoinwarbird(); - playercontrolwarbirdsetup(param_00); - } -} - -//Function Number: 11 -manuallyjoinwarbird() -{ - self.manuallyjoiningkillstreak = 1; - common_scripts\utility::waittill_any("death","initRideKillstreak_complete","warbirdStreakComplete"); - self.manuallyjoiningkillstreak = 0; -} - -//Function Number: 12 -warbirdondeath(param_00,param_01,param_02,param_03) -{ - maps\mp\gametypes\_damage::onkillstreakkilled(param_00,param_01,param_02,param_03,"warbird_destroyed","ks_warbird_destroyed","callout_destroyed_warbird",1); -} - -//Function Number: 13 -setupcloaking(param_00) -{ - param_00.cloakstate = 0; - cloakingtransition(param_00,1,1); -} - -//Function Number: 14 -warbirdrockethudupdate(param_00) -{ - if(!param_00.hasrockets) - { - return; - } - - switch(param_00.remainingrocketshots) - { - case 0: - break; - - case 1: - break; - - case 2: - break; - - case 3: - break; - } -} - -//Function Number: 15 -setupwarbirdhud(param_00,param_01,param_02) -{ - self endon("warbirdStreakComplete"); - param_00 endon("death"); - self endon("ResumeWarbirdAI"); - if(!isdefined(param_01)) - { - param_01 = 0; - } - - self forcefirstpersonwhenfollowed(); - maps\mp\killstreaks\_aerial_utility::playerdisablestreakstatic(); - wait(0.05); - if(param_01) - { - self setclientomnvar("ui_warbird_toggle",2); - } - else - { - self setclientomnvar("ui_warbird_toggle",1); - } - - maps\mp\killstreaks\_aerial_utility::playerenablestreakstatic(); - self setclientomnvar("ui_warbird_cloak",0); - self setclientomnvar("ui_warbird_countdown",param_00.endtime); - if(!param_01) - { - warbirdrockethudupdate(param_00); - } - - if(param_01 && !param_00.coopoffensive) - { - self setclientomnvar("ui_warbird_weapon",3); - } - else if(param_01 && param_00.coopoffensive) - { - self setclientomnvar("ui_warbird_weapon",0); - } - else if(param_00.hasrockets) - { - self setclientomnvar("ui_warbird_weapon",1); - } - else - { - self setclientomnvar("ui_warbird_weapon",0); - } - - if(param_01) - { - var_03 = param_02 getentitynumber(); - self setclientomnvar("ui_coop_primary_num",var_03); - } - - if(param_00.cancloak && !param_01) - { - self setclientomnvar("ui_warbird_cloaktext",1); - } - else - { - self setclientomnvar("ui_warbird_cloaktext",0); - } - - self setclientomnvar("ui_killstreak_optic",0); -} - -//Function Number: 16 -warbirdoverheatbarcolormonitor(param_00,param_01) -{ - self endon("warbirdStreakComplete"); - param_00 endon("death"); - for(;;) - { - param_01.heat_level = param_01 getturretheat(); - self setclientomnvar("ui_warbird_heat",param_01.heat_level); - var_02 = 0; - if(isdefined(param_01)) - { - var_02 = param_01 isturretoverheated(); - } - - if(var_02) - { - self setclientomnvar("ui_warbird_fire",1); - } - else if(param_01.heat_level > 0.7) - { - self setclientomnvar("ui_warbird_fire",2); - } - else - { - self setclientomnvar("ui_warbird_fire",0); - } - - while(var_02) - { - wait(0.05); - var_02 = param_01 isturretoverheated(); - param_01.heat_level = param_01 getturretheat(); - self setclientomnvar("ui_warbird_heat",param_01.heat_level); - } - - self notify("overheatFinished"); - wait 0.05; - } -} - -//Function Number: 17 -spawn_warbird_turret(param_00,param_01,param_02,param_03) -{ - var_04 = spawnturret("misc_turret",self gettagorigin(param_02),param_00,0); - var_04.angles = self gettagangles(param_02); - var_04 setmodel(param_01); - var_04 setdefaultdroppitch(45); - var_04 linkto(self,param_02,(0,0,0),(0,0,0)); - var_04.owner = self.owner; - var_04.health = 99999; - var_04.maxhealth = 1000; - var_04.damagetaken = 0; - var_04.stunned = 0; - var_04.stunnedtime = 0; - var_04 setcandamage(0); - var_04 setcanradiusdamage(0); - var_04.team = self.team; - var_04.pers["team"] = self.team; - if(level.teambased) - { - var_04 setturretteam(self.team); - } - - var_04 setmode("sentry_manual"); - var_04 setsentryowner(self.owner); - var_04 setturretminimapvisible(0); - var_04.chopper = self; - if(param_03) - { - var_04.firesoundent = spawn("script_model",self gettagorigin(param_02)); - var_04.firesoundent setmodel("tag_origin"); - var_04.firesoundent vehicle_jetbikesethoverforcescale(self,param_02,(0,0,0),(0,0,0)); - } - - return var_04; -} - -//Function Number: 18 -takeover_warbird_turret_buddy(param_00) -{ - if(getdvarint("camera_thirdPerson")) - { - maps\mp\_utility::setthirdpersondof(0); - } - - param_00.warbirdbuddyturret.owner = self; - param_00.warbirdbuddyturret setmode("sentry_manual"); - param_00.warbirdbuddyturret setsentryowner(self); - self playerlinkweaponviewtodelta(param_00.warbirdbuddyturret,"tag_player",0,180,180,-20,180,0); - self playerlinkedsetviewznear(0); - self playerlinkedsetusebaseangleforviewclamp(1); - self remotecontrolturret(param_00.warbirdbuddyturret,45,param_00.angles[1]); -} - -//Function Number: 19 -findbestspawnlocation(param_00) -{ - var_01 = common_scripts\utility::get_array_of_closest(self.origin,param_00); - return var_01[0]; -} - -//Function Number: 20 -rotatehelispawn(param_00) -{ - var_01 = maps\mp\killstreaks\_aerial_utility::gethelianchor(); - var_02 = anglestoforward(param_00.angles); - var_03 = var_01.origin - param_00.origin; - var_04 = vectortoangles(var_03); - param_00.angles = var_04; - return param_00; -} - -//Function Number: 21 -buildvalidflightpaths() -{ - self endon("warbirdStreakComplete"); - if(!isdefined(level.warbirdflightpathnodes)) - { - level.warbirdflightpathnodes = []; - } - else - { - return level.warbirdflightpathnodes; - } - - var_00 = maps\mp\killstreaks\_aerial_utility::getentorstruct("heli_loop_start","targetname"); - var_01 = var_00; - var_02 = maps\mp\killstreaks\_aerial_utility::gethelianchor(); - var_03 = var_02.origin[2]; - for(;;) - { - var_04 = maps\mp\killstreaks\_aerial_utility::getentorstruct(var_01.target,"targetname"); - var_01.next = var_04; - var_04.prev = var_01; - var_04.origin = (var_04.origin[0],var_04.origin[1],var_03); - if(isinarray(level.warbirdflightpathnodes,var_04)) - { - break; - } - - level.warbirdflightpathnodes = common_scripts\utility::array_add(level.warbirdflightpathnodes,var_04); - var_01 = var_04; - } - - foreach(var_06 in level.warbirdflightpathnodes) - { - } - - return level.warbirdflightpathnodes; -} - -//Function Number: 22 -isinarray(param_00,param_01) -{ - if(isdefined(param_00)) - { - foreach(var_03 in param_00) - { - if(var_03 == param_01) - { - return 1; - } - } - } - - return 0; -} - -//Function Number: 23 -monitorwarbirdsafearea(param_00) -{ - self endon("warbirdStreakComplete"); - self endon("ResumeWarbirdAI"); - thread maps\mp\killstreaks\_aerial_utility::playerhandleboundarystatic(param_00,"warbirdStreakComplete","ResumeWarbirdAI"); - param_00 waittill("outOfBounds"); - wait(2); - param_00 thread maps\mp\killstreaks\_aerial_utility::heli_leave(); -} - -//Function Number: 24 -warbirdaiattack(param_00) -{ - thread warbirdfire(param_00); - thread warbirdlookatenemy(param_00); - thread warbirdmovetoattackpoint(param_00); -} - -//Function Number: 25 -warbirdmovetoattackpoint(param_00) -{ - self endon("warbirdPlayerControlled"); - self endon("warbirdStreakComplete"); - if(!isdefined(level.warbirdaiattackbasespeed)) - { - level.warbirdaiattackbasespeed = 40; - } - - if(!isdefined(level.warbirdaiattackneargoal)) - { - level.warbirdaiattackneargoal = 100; - } - - var_01 = level.warbirdaiattackbasespeed; - param_00 vehicle_setspeed(var_01,var_01 / 4,var_01 / 4); - param_00 setneargoalnotifydist(level.warbirdaiattackneargoal); - var_02 = param_00.currentnode; - if(!isdefined(var_02)) - { - var_03 = common_scripts\utility::get_array_of_closest(param_00.origin,buildvalidflightpaths()); - var_04 = param_00.origin; - for(var_05 = 0;var_05 < var_03.size;var_05++) - { - var_06 = var_03[var_05].origin; - if(maps\mp\killstreaks\_aerial_utility::flynodeorgtracepassed(var_04,var_06,param_00)) - { - var_07 = var_06 - var_04; - var_08 = distance(var_04,var_06); - var_09 = rotatevector(var_07,(0,90,0)); - var_0A = var_04 + var_09 * 100; - var_0B = var_0A + var_07 * var_08; - if(maps\mp\killstreaks\_aerial_utility::flynodeorgtracepassed(var_0A,var_0B,param_00)) - { - var_0C = rotatevector(var_07,(0,-90,0)); - var_0A = var_04 + var_0C * 100; - var_0B = var_0A + var_07 * var_08; - if(maps\mp\killstreaks\_aerial_utility::flynodeorgtracepassed(var_0A,var_0B,param_00)) - { - var_02 = var_03[var_05]; - break; - } - } - } - - wait 0.05; - } - } - else - { - var_02 = var_02.next; - } - - if(!isdefined(var_02)) - { - return; - } - - for(;;) - { - var_0D = 0; - if(param_00.aifollow) - { - var_0D = 1; - } - - param_00 setvehgoalpos(var_02.origin,var_0D); - param_00.ismoving = 1; - param_00 waittill("near_goal"); - param_00.currentnode = var_02; - param_00.ismoving = 0; - var_02 = waituntilmovereturnnode(param_00); - param_00.currentnode = undefined; - } -} - -//Function Number: 26 -waituntilmovereturnnode(param_00) -{ - if(param_00.aifollow && isdefined(param_00.owner)) - { - var_01 = param_00.currentnode; - var_02 = var_01.next; - var_03 = var_01.prev; - while(isdefined(param_00.owner)) - { - var_04 = distance2dsquared(param_00.owner.origin,var_01.origin); - var_05 = distance2dsquared(param_00.owner.origin,var_02.origin); - var_06 = distance2dsquared(param_00.owner.origin,var_03.origin); - if(var_05 < var_04 && var_05 < var_06) - { - return var_02; - } - else if(var_06 < var_04 && var_06 < var_05) - { - return var_03; - } - - wait 0.05; - } - - return; - } - - return var_06.currentnode.next; -} - -//Function Number: 27 -warbirdlookatenemy(param_00) -{ - self endon("warbirdPlayerControlled"); - self endon("warbirdStreakComplete"); - for(;;) - { - if(isdefined(param_00.enemy_target)) - { - monitorlookatent(param_00); - param_00.warbirdturret cleartargetentity(); - } - - wait 0.05; - } -} - -//Function Number: 28 -monitorlookatent(param_00) -{ - self endon("warbirdPlayerControlled"); - self endon("warbirdStreakComplete"); - param_00 endon("pickNewTarget"); - param_00 setlookatent(param_00.enemy_target); - param_00.warbirdturret settargetentity(param_00.enemy_target); - param_00.enemy_target common_scripts\utility::waittill_either("death","disconnect"); - param_00.picknewtarget = 1; - param_00.lineofsight = 0; -} - -//Function Number: 29 -warbirdfire(param_00) -{ - self endon("warbirdPlayerControlled"); - self endon("warbirdStreakComplete"); - thread fireai(param_00); - for(;;) - { - if(param_00.picknewtarget) - { - var_01 = level.participants; - var_02 = []; - foreach(var_04 in var_01) - { - if(var_04.team != self.team) - { - var_02 = common_scripts\utility::array_add(var_02,var_04); - } - } - - if(param_00.aiattack) - { - var_02 = sortbydistance(var_02,param_00.origin); - } - else - { - var_02 = sortbydistance(var_02,self.origin); - } - - var_06 = undefined; - foreach(var_04 in var_02) - { - if(!isdefined(var_04)) - { - continue; - } - - if(!isalive(var_04)) - { - continue; - } - - if(var_04 maps\mp\_utility::_hasperk("specialty_blindeye")) - { - continue; - } - - if(isdefined(var_04.spawntime) && gettime() - var_04.spawntime / 1000 < 5) - { - continue; - } - - var_06 = var_04; - param_00.enemy_target = var_06; - checkwarbirdtargetlos(param_00); - break; - } - } - - param_00 notify("LostLOS"); - wait(0.05); - } -} - -//Function Number: 30 -fireai(param_00) -{ - self endon("warbirdPlayerControlled"); - self endon("warbirdStreakComplete"); - param_00.remainingrocketshots = param_00.rocketclip; - for(;;) - { - wait 0.05; - if(!isdefined(param_00.enemy_target) || !isalive(param_00.enemy_target) || !param_00.lineofsight) - { - continue; - } - - if(param_00.hasrockets && param_00.remainingrocketshots) - { - fireairocket(param_00); - } - - param_00.warbirdturret shootturret(); - } -} - -//Function Number: 31 -fireairocket(param_00) -{ - var_01 = param_00 gettagorigin("tag_missile_right"); - var_02 = vectornormalize(anglestoforward(param_00.angles)); - var_03 = param_00 vehicle_getvelocity(); - var_04 = magicbullet("warbird_missile_mp",var_01 + var_03 / 10,self geteye() + var_03 + var_02 * 1000,self); - var_04.killcament = param_00; - playfxontag(level.chopper_fx["rocketlaunch"]["warbird"],param_00,"tag_missile_right"); - var_04 missile_settargetent(param_00.enemy_target); - var_04 missile_setflightmodedirect(); - param_00.remainingrocketshots--; - if(param_00.remainingrocketshots <= 0) - { - thread warbirdairocketreload(param_00); - } - - waittillrocketdeath(param_00,var_04); -} - -//Function Number: 32 -warbirdairocketreload(param_00) -{ - param_00 endon("warbirdStreakComplete"); - wait(6); - param_00.remainingrocketshots = param_00.rocketclip; -} - -//Function Number: 33 -waittillrocketdeath(param_00,param_01) -{ - param_00.enemy_target endon("death"); - param_00.enemy_target endon("disconnect"); - param_01 waittill("death"); -} - -//Function Number: 34 -checkwarbirdtargetlos(param_00) -{ - self endon("warbirdPlayerControlled"); - self endon("warbirdStreakComplete"); - param_00.enemy_target endon("death"); - param_00.enemy_target endon("disconnect"); - for(;;) - { - var_01 = param_00 gettagorigin("TAG_FLASH1"); - var_02 = param_00.enemy_target geteye(); - var_03 = vectornormalize(var_02 - var_01); - var_04 = var_01 + var_03 * 20; - var_05 = bullettrace(var_04,var_02,0,param_00,0,0,0,0,0); - if(!checktargetisinvision(param_00) && var_05["fraction"] < 1) - { - param_00.lineofsight = 0; - param_00.picknewtarget = 1; - param_00.enemy_target = undefined; - param_00 notify("pickNewTarget"); - return; - } - - param_00.lineofsight = 1; - wait(0.25); - } -} - -//Function Number: 35 -checktargetisinvision(param_00) -{ - var_01 = anglestoforward(param_00.angles); - var_02 = param_00.enemy_target.origin - param_00.origin; - var_03 = vectordot(var_01,var_02); - return var_03 < 0; -} - -//Function Number: 36 -playercontrolwarbirdsetup(param_00) -{ - self endon("warbirdStreakComplete"); - self.possesswarbird = 1; - self.controllingwarbird = 1; - param_00.player = self; - param_00.currentnode = undefined; - maps\mp\_utility::playersaveangles(); - wait 0.05; - self notify("warbirdPlayerControlled"); - param_00.ispossessed = 1; - param_00.killcamstarttime = undefined; - param_00.warbirdturret.killcament = undefined; - if(self.warbirdinit != 1) - { - maps\mp\_utility::_giveweapon("killstreak_predator_missile_mp"); - self switchtoweapon("killstreak_predator_missile_mp"); - while(self getcurrentweapon() != "killstreak_predator_missile_mp") - { - wait 0.05; - } - - thread playerdoridekillstreak(param_00,0); - self waittill("initRideKillstreak_complete",var_01); - if(!var_01) - { - return; - } - - maps\mp\_utility::setusingremote("Warbird"); - } - - thread setupwarbirdhud(param_00); - thread monitorwarbirdsafearea(param_00); - thread waitsetthermal(0.5); - thread setwarbirdvisionsetpermap(0.5); - self enableslowaim(0.3,0.3); - pausewarbirdenginefxforplayer(param_00); - param_00.playerattachpoint = spawn("script_model",(0,0,0)); - param_00.playerattachpoint setmodel("tag_player"); - param_00.playerattachpoint hide(); - var_02 = param_00 gettagorigin("tag_origin"); - var_03 = param_00 gettagangles("tag_origin"); - var_04 = anglestoforward(var_03); - var_02 = var_02 + var_04 * 165; - var_02 = var_02 + (0,0,-10); - param_00.playerattachpoint.origin = var_02; - param_00.playerattachpoint.angles = var_03; - param_00.playerattachpoint linkto(param_00,"tag_player_mp"); - self unlink(); - param_00 cancelaimove(param_00); - thread warbirdrocketdamageindicator(param_00); - self remotecontrolvehicle(param_00); - thread weaponsetup(param_00); - thread playercloakready(param_00); - param_00.warbirdturret setmode("sentry_manual"); - self remotecontrolturret(param_00.warbirdturret,45); - while(self.possesswarbird) - { - exitwarbirdcontrolstate(param_00); - } - - maps\mp\_utility::playerrestoreangles(); - if(!param_00.aiattack && !param_00.aifollow) - { - param_00 thread maps\mp\killstreaks\_aerial_utility::heli_leave(); - } -} - -//Function Number: 37 -setwarbirdvisionsetpermap(param_00) -{ - self endon("disconnect"); - self endon("warbirdStreakComplete"); - wait(param_00); - if(isdefined(level.warbirdvisionset)) - { - self setclienttriggervisionset(level.warbirdvisionset,0); - } -} - -//Function Number: 38 -removewarbirdvisionsetpermap(param_00) -{ - self setclienttriggervisionset("",param_00); -} - -//Function Number: 39 -playerdoridekillstreak(param_00,param_01) -{ - if(!isdefined(param_01)) - { - param_01 = 0; - } - - var_02 = "warbird"; - if(param_01) - { - var_02 = "coop"; - } - - var_03 = maps\mp\killstreaks\_killstreaks::initridekillstreak(var_02); - if(var_03 != "success" || param_01 && !level.warbirdinuse || !isdefined(param_00) || isdefined(param_00.isleaving) && param_00.isleaving) - { - if(param_01) - { - removewarbirdbuddy(param_00,var_03 == "disconnect"); - } - else if(var_03 != "disconnect") - { - playerreset(param_00); - } - - self notify("initRideKillstreak_complete",0); - return; - } - - self notify("initRideKillstreak_complete",1); -} - -//Function Number: 40 -exitwarbirdcontrolstate(param_00) -{ - self endon("warbirdStreakComplete"); - self waittill("ToggleControlState"); - thread cancelexitbuttonpressmonitor(); - self.possesswarbird = 0; - wait(0.5); - self notify("ExitHoldTimeComplete"); -} - -//Function Number: 41 -cancelexitbuttonpressmonitor() -{ - self endon("warbirdStreakComplete"); - self endon("ExitHoldTimeComplete"); - self waittill("ToggleControlCancel"); - self.possesswarbird = 1; -} - -//Function Number: 42 -waitsetthermal(param_00) -{ - self endon("warbirdStreakComplete"); - self endon("ResumeWarbirdAI"); - wait(param_00); - self thermalvisionfofoverlayon(); - self setblurforplayer(1.1,0); - var_01 = 135; - var_02 = 0; - var_03 = 60; - var_04 = 0; - var_05 = 12; - var_06 = 5; - maps\mp\killstreaks\_aerial_utility::thermalvision("warbirdThermalOff",var_01,var_02,var_03,var_04,var_05,var_06); -} - -//Function Number: 43 -waitsetthermalbuddy(param_00) -{ - self endon("warbirdStreakComplete"); - self endon("ResumeWarbirdAI"); - wait(param_00); - self thermalvisionfofoverlayon(); - self setblurforplayer(1.1,0); - var_01 = 100; - var_02 = 60; - var_03 = 512; - var_04 = 0; - var_05 = 12; - var_06 = 5; - maps\mp\killstreaks\_aerial_utility::thermalvision("warbirdThermalOff",var_01,var_02,var_03,var_04,var_05,var_06); -} - -//Function Number: 44 -playercloakready(param_00,param_01) -{ - self endon("warbirdStreakComplete"); - self endon("ResumeWarbirdAI"); - if(isdefined(self.warbirdinit) && self.warbirdinit == 1) - { - param_00 waittill("cloaked"); - common_scripts\utility::waittill_any_return_no_endon_death("ForceUncloak","Cloak","ResumeWarbirdAI"); - switchtovisible(param_00); - param_00.playerattachpoint play_sound_on_entity("warbird_cloak_deactivate"); - } - - for(;;) - { - thread playercloakactivated(param_00); - thread playercloakcooldown(param_00); - if(param_00.cloakcooldown != 0) - { - self setclientomnvar("ui_warbird_cloaktext",3); - wait(param_00.cloakcooldown); - } - - thread cloakreadydialog(); - if(param_00.cancloak) - { - self setclientomnvar("ui_warbird_cloaktext",1); - } - - self waittill("Cloak"); - self notify("ActivateCloak"); - param_00 play_sound_on_entity("warbird_cloak_activate"); - self waittill("CloakCharged"); - } -} - -//Function Number: 45 -playercloakactivated(param_00) -{ - self endon("warbirdStreakComplete"); - self endon("ResumeWarbirdAI"); - self waittill("ActivateCloak"); - var_01 = 10000; - self setclientomnvar("ui_warbird_cloaktime",var_01 + gettime()); - switchtocloaked(param_00); - thread cloakactivateddialog(param_00); - self setclientomnvar("ui_warbird_cloaktext",2); - param_00.cloakcooldown = 5; - thread cloakcooldown(param_00); - thread playercloakwaitforexit(param_00); -} - -//Function Number: 46 -playercloakcooldown(param_00) -{ - self endon("warbirdStreakComplete"); - self waittill("UnCloak"); - thread playcloakoverheatdialog(param_00); - switchtovisible(param_00); - self setclientomnvar("ui_warbird_cloaktext",3); - thread cloakdeactivateddialog(param_00); -} - -//Function Number: 47 -cloakcooldown(param_00) -{ - self endon("warbirdStreakComplete"); - self waittill("UnCloak"); - while(param_00.cloakcooldown > 0) - { - param_00.cloakcooldown = param_00.cloakcooldown - 0.5; - wait(0.5); - } - - param_00.cloakcooldown = 0; - self notify("CloakCharged"); -} - -//Function Number: 48 -playercloakwaitforexit(param_00) -{ - self endon("warbirdStreakComplete"); - var_01 = gettime(); - common_scripts\utility::waittill_any_timeout_no_endon_death(10,"ForceUncloak","Cloak","ResumeWarbirdAI"); - var_02 = gettime(); - var_03 = max(var_02 - var_01,5000); - param_00.cloakcooldown = var_03 / 1000; - var_04 = gettime() + var_03; - self setclientomnvar("ui_warbird_cloakdur",var_04); - self notify("UnCloak"); -} - -//Function Number: 49 -switchtocloaked(param_00) -{ - if(isdefined(param_00)) - { - thread cloakingtransition(param_00,1); - missile_deleteattractor(param_00.attractor); - self setclientomnvar("ui_warbird_cloak",1); - thread monitordamagewhilecloaking(param_00); - } -} - -//Function Number: 50 -switchtovisible(param_00) -{ - if(isdefined(param_00)) - { - thread cloakingtransition(param_00,0); - param_00.attractor = missile_createattractorent(param_00,level.heli_attract_strength,level.heli_attract_range); - self setclientomnvar("ui_warbird_cloak",0); - } -} - -//Function Number: 51 -cloakingtransition(param_00,param_01,param_02) -{ - param_00 notify("cloaking_transition"); - param_00 endon("cloaking_transition"); - param_00 endon("warbirdStreakComplete"); - if(param_01) - { - if(param_00.cloakstate == -2) - { - return; - } - - param_00.cloakstate = -1; - param_00 cloakingenable(); - param_00.warbirdturret cloakingenable(); - if(param_00.coopoffensive) - { - param_00.warbirdbuddyturret cloakingenable(); - } - - param_00 vehicle_setminimapvisible(0); - if(!isdefined(param_02) || !param_02) - { - wait(0.2); - } - else - { - wait(1.5); - } - - param_00 show(); - param_00.warbirdturret show(); - if(param_00.coopoffensive) - { - param_00.warbirdbuddyturret show(); - } - - param_00.cloakstate = -2; - param_00 notify("cloaked"); - param_00 stopwarbirdenginefx(); - return; - } - - if(param_00.cloakstate == 2) - { - return; - } - - param_00.cloakstate = 1; - param_00 cloakingdisable(); - param_00 vehicle_setminimapvisible(1); - param_00.warbirdturret cloakingdisable(); - if(param_00.coopoffensive) - { - param_00.warbirdbuddyturret cloakingdisable(); - } - - wait(2.2); - param_00.cloakstate = 2; - param_00 playwarbirdenginefx(); -} - -//Function Number: 52 -cloakdeactivateddialog(param_00) -{ - self endon("CloakCharged"); - self endon("warbirdStreakComplete"); - self endon("ResumeWarbirdAI"); - for(;;) - { - self waittill("Cloak"); - param_00.playerattachpoint play_sound_on_entity("warbird_cloak_notready"); - wait(1); - } -} - -//Function Number: 53 -cloakreadydialog() -{ -} - -//Function Number: 54 -cloakactivateddialog(param_00) -{ -} - -//Function Number: 55 -playcloakoverheatdialog(param_00) -{ - param_00.playerattachpoint play_sound_on_entity("warbird_cloak_deactivate"); -} - -//Function Number: 56 -cloakwarbirdexit(param_00,param_01) -{ - if(isdefined(param_00) && param_00.iscrashing == 0) - { - if(isdefined(param_01)) - { - param_01 notify("ActivateCloak"); - } - - thread cloakingtransition(param_00,1); - missile_deleteattractor(param_00.attractor); - } -} - -//Function Number: 57 -monitordamagewhilecloaking(param_00) -{ - self endon("UnCloak"); - self endon("warbirdStreakComplete"); - self endon("ResumeWarbirdAI"); - wait(1); - param_00 waittill("damage",var_01,var_02,var_03,var_04,var_05); - self notify("ForceUncloak"); -} - -//Function Number: 58 -warbirdrocketdamageindicator(param_00) -{ - self endon("ResumeWarbirdAI"); - self endon("warbirdStreakComplete"); - for(;;) - { - param_00 waittill("damage",var_01,var_02,var_03,var_04,var_05); - if(var_05 == "MOD_PROJECTILE") - { - earthquake(0.75,1,param_00.origin,1000); - self shellshock("frag_grenade_mp",0.5); - } - } -} - -//Function Number: 59 -updateshootinglocation(param_00) -{ - self endon("warbirdStreakComplete"); - level endon("ResumeWarbirdAI"); - for(;;) - { - var_01 = self getplayerangles(); - var_02 = param_00.playerattachpoint.origin; - var_03 = anglestoforward(var_01); - var_04 = var_02 + var_03 * 4000; - param_00.targetent.origin = var_04; - wait(0.05); - } -} - -//Function Number: 60 -monitorweaponselection(param_00) -{ - self endon("warbirdStreakComplete"); - self endon("ResumeWarbirdAI"); - self.current_warbird_weapon = "turret"; - param_00.warbirdturret turretfireenable(); - if(!param_00.hasrockets) - { - return; - } - - for(;;) - { - self waittill("SwitchWeapon"); - if(self.current_warbird_weapon == "turret") - { - self.current_warbird_weapon = "missiles"; - param_00.warbirdturret turretfiredisable(); - self setclientomnvar("ui_warbird_weapon",2); - } - else if(self.current_warbird_weapon == "missiles") - { - self.current_warbird_weapon = "turret"; - param_00.warbirdturret turretfireenable(); - self setclientomnvar("ui_warbird_weapon",1); - } - - self playlocalsound("warbird_weapon_cycle_plr"); - } -} - -//Function Number: 61 -weaponsetup(param_00) -{ - if(param_00.hasrockets) - { - thread firewarbirdrockets(param_00); - } - - thread monitorweaponselection(param_00); - thread updateshootinglocation(param_00); - thread force_uncloak_on_fire(param_00); -} - -//Function Number: 62 -waittillturretfired(param_00) -{ - param_00 endon("warbirdStreakComplete"); - param_00.warbirdturret endon("turret_fire"); - if(param_00.coopoffensive) - { - param_00.warbirdbuddyturret endon("turret_fire"); - } - - level waittill("forever"); -} - -//Function Number: 63 -force_uncloak_on_fire(param_00) -{ - level endon("game_ended"); - self endon("warbirdStreakComplete"); - for(;;) - { - waittillturretfired(param_00); - self notify("ForceUncloak"); - wait(0.05); - } -} - -//Function Number: 64 -firewarbirdthreatgrenades(param_00) -{ - param_00 endon("warbirdStreakComplete"); - self endon("warbirdStreakComplete"); - self endon("warbird_player_removed"); - for(;;) - { - self waittill("StartFire"); - maps\mp\killstreaks\_aerial_utility::playerfakeshootpaintmissile(param_00.warbirdbuddyturret.firesoundent); - playfxontag(level.chopper_fx["rocketlaunch"]["warbird"],param_00,"tag_origin"); - wait(2); - } -} - -//Function Number: 65 -firewarbirdrockets(param_00) -{ - self endon("ResumeWarbirdAI"); - self endon("warbirdStreakComplete"); - param_00.remainingrocketshots = param_00.rocketclip; - for(;;) - { - if(self.guid == "bot0" || self.guid == "bot1" || self.guid == "bot2" || self.guid == "bot3") - { - wait(3); - } - else - { - self waittill("StartFire"); - } - - if(self.current_warbird_weapon == "missiles" || self.guid == "bot0" || self.guid == "bot1" || self.guid == "bot2" || self.guid == "bot3") - { - earthquake(0.4,1,param_00.origin,1000); - self playrumbleonentity("ac130_105mm_fire"); - var_01 = param_00 gettagorigin("tag_missile_right"); - var_02 = vectornormalize(anglestoforward(self getplayerangles())); - var_03 = param_00 getentityvelocity(); - var_04 = magicbullet("warbird_missile_mp",var_01 + var_03 / 10,self geteye() + var_03 + var_02 * 1000,self); - playfxontag(level.chopper_fx["rocketlaunch"]["warbird"],param_00,"tag_missile_right"); - var_04 missile_settargetent(param_00.targetent); - var_04 missile_setflightmodedirect(); - param_00.remainingrocketshots--; - self notify("ForceUncloak"); - warbirdrockethudupdate(param_00); - if(param_00.remainingrocketshots == 0) - { - thread warbirdrocketreloadsound(param_00,6); - wait(6); - param_00.remainingrocketshots = param_00.rocketclip; - self notify("rocketReloadComplete"); - warbirdrockethudupdate(param_00); - } - else - { - wait(0.05); - } - } - } -} - -//Function Number: 66 -warbirdrocketreloadsound(param_00,param_01) -{ - self endon("rocketReloadComplete"); - self endon("ResumeWarbirdAI"); - self endon("warbirdStreakComplete"); - var_02 = 3; - self playlocalsound("warbird_missile_reload_bed"); - wait(0.5); - for(;;) - { - self playlocalsound("warbird_missile_reload"); - wait(param_01 / var_02); - } -} - -//Function Number: 67 -handlecoopjoining(param_00,param_01) -{ - var_02 = "warbird_coop_defensive"; - var_03 = &"MP_JOIN_WARBIRD_DEF"; - var_04 = "pilot_sup_mp_warbird"; - var_05 = "copilot_sup_mp_paladin"; - if(param_00.coopoffensive) - { - var_02 = "warbird_coop_offensive"; - var_03 = &"MP_JOIN_WARBIRD_OFF"; - var_04 = "pilot_aslt_mp_warbird"; - var_05 = "copilot_aslt_mp_paladin"; - } - - for(;;) - { - var_06 = maps\mp\killstreaks\_coop_util::promptforstreaksupport(param_01.team,var_03,var_02,"assist_mp_warbird",var_04,param_01,var_05); - level thread watchforjoin(var_06,param_00,param_01); - var_07 = waittillpromptcomplete(param_00,"buddyJoinedStreak"); - maps\mp\killstreaks\_coop_util::stoppromptforstreaksupport(var_06); - if(!isdefined(var_07)) - { - return; - } - - var_07 = waittillpromptcomplete(param_00,"buddyLeftWarbird"); - if(!isdefined(var_07)) - { - return; - } - } -} - -//Function Number: 68 -waittillpromptcomplete(param_00,param_01) -{ - param_00 endon("warbirdStreakComplete"); - param_00 waittill(param_01); - return 1; -} - -//Function Number: 69 -watchforjoin(param_00,param_01,param_02) -{ - param_01 endon("warbirdStreakComplete"); - var_03 = maps\mp\killstreaks\_coop_util::waittillbuddyjoinedstreak(param_00); - param_01 notify("buddyJoinedStreak"); - var_03 thread buddyjoinwarbirdsetup(param_01,param_02); -} - -//Function Number: 70 -buddyjoinwarbirdsetup(param_00,param_01) -{ - param_00 endon("warbirdStreakComplete"); - self endon("warbirdStreakComplete"); - self endon("warbird_player_removed"); - thread warbirdoverheatbarcolormonitor(param_00,param_00.warbirdbuddyturret); - param_00.buddy = self; - self.controllingwarbird = 1; - thread playerdoridekillstreak(param_00,1); - self waittill("initRideKillstreak_complete",var_02); - if(!var_02) - { - return; - } - - maps\mp\_utility::setusingremote("Warbird"); - maps\mp\_utility::playersaveangles(); - thread setupwarbirdhud(param_00,1,param_01); - thread monitorbuddywarbirddeathortimeout(param_00); - thread monitorbuddydisconnect(param_00); - thread waitsetthermalbuddy(0.5); - thread setwarbirdvisionsetpermap(0.5); - pausewarbirdenginefxforplayer(param_00); - thread warbirdrocketdamageindicator(param_00); - takeover_warbird_turret_buddy(param_00); - setupplayercommands(); - if(!param_00.coopoffensive) - { - thread firewarbirdthreatgrenades(param_00); - } - - if(!isbot(self)) - { - thread removewarbirdbuddyoncommand(param_00); - } -} - -//Function Number: 71 -removewarbirdbuddy(param_00,param_01) -{ - self notify("warbird_player_removed"); - if(!param_01) - { - playerresetwarbirdomnvars(); - self setblurforplayer(0,0); - self notify("warbirdThermalOff"); - maps\mp\killstreaks\_aerial_utility::disableorbitalthermal(self); - thread removewarbirdvisionsetpermap(1.5); - self thermalvisionfofoverlayoff(); - if(isdefined(param_00.warbirdbuddyturret) && iscontrollingwarbird()) - { - self remotecontrolturretoff(param_00.warbirdbuddyturret); - } - - self.controllingwarbird = undefined; - self enableweapons(); - self unlink(); - maps\mp\killstreaks\_coop_util::playerresetaftercoopstreak(); - self disableslowaim(); - disableplayercommands(param_00); - restartwarbirdenginefxforplayer(param_00); - if(maps\mp\_utility::isusingremote()) - { - maps\mp\_utility::clearusingremote(); - } - - maps\mp\_utility::playerremotekillstreakshowhud(); - maps\mp\_utility::playerrestoreangles(); - } - - param_00 notify("buddyLeftWarbird"); - param_00.buddy = undefined; -} - -//Function Number: 72 -monitorbuddywarbirddeathortimeout(param_00) -{ - self endon("disconnect"); - param_00 common_scripts\utility::waittill_any("leaving","death","crashing"); - self notify("warbirdStreakComplete"); - self notify("StopWaitForDisconnect"); - waittillframeend; - maps\mp\gametypes\_hostmigration::waittillhostmigrationdone(); - thread removewarbirdbuddy(param_00,0); -} - -//Function Number: 73 -monitorbuddydisconnect(param_00) -{ - self endon("StopWaitForDisconnect"); - self waittill("disconnect"); - thread removewarbirdbuddy(param_00,1); -} - -//Function Number: 74 -removewarbirdbuddyoncommand(param_00) -{ - self endon("warbird_player_removed"); - for(;;) - { - self waittill("ToggleControlState"); - thread startwarbirdbuddyexitcommand(param_00); - thread cancelwarbirdbuddyexitcommand(); - } -} - -//Function Number: 75 -startwarbirdbuddyexitcommand(param_00) -{ - self endon("warbird_player_removed"); - self endon("ToggleControlCancel"); - self.warbird_buddy_exit = 1; - wait(0.5); - if(self.warbird_buddy_exit == 1) - { - thread removewarbirdbuddy(param_00,0); - } -} - -//Function Number: 76 -cancelwarbirdbuddyexitcommand() -{ - self endon("warbird_player_removed"); - self waittill("ToggleControlCancel"); - self.warbird_buddy_exit = 0; -} - -//Function Number: 77 -monitoraiwarbirdswitch(param_00,param_01) -{ - self endon("warbirdStreakComplete"); - self.warbirdinit = 0; - self notify("ResumeWarbirdAI"); - self notify("warbirdThermalOff"); - param_00.ispossessed = 0; - thread cloakingtransition(param_00,0); - param_00.warbirdturret setmode("auto_nonai"); - playerresetwarbirdomnvars(); - waittillframeend; - thread warbirdaiattack(param_00); - param_00.killcamstarttime = gettime(); - param_00.warbirdturret.killcament = param_00; - param_00.player = undefined; - if(maps\mp\_utility::isusingremote()) - { - playerreset(param_00); - } - - wait 0.05; -} - -//Function Number: 78 -monitoraiwarbirddeathortimeout(param_00) -{ - self endon("disconnect"); - thread checkforcrashing(param_00); - var_01 = param_00 common_scripts\utility::waittill_any_return("leaving","death","crashing"); - playerresetafterwarbird(param_00); - level thread warbirdcleanup(param_00,self,var_01 != "death"); -} - -//Function Number: 79 -warbirdcleanup(param_00,param_01,param_02) -{ - level.spawnedwarbirds = common_scripts\utility::array_remove(level.spawnedwarbirds,param_00); - level.warbirdinuse = 0; - if(isdefined(param_00.usableent)) - { - param_00.usableent maps\mp\_utility::makegloballyunusablebytype(); - } - - thread cloakwarbirdexit(param_00,param_01); - if(isdefined(param_00.attractor)) - { - missile_deleteattractor(param_00.attractor); - } - - if(isdefined(param_00.playerattachpoint)) - { - param_00.playerattachpoint delete(); - } - - param_00.enemy_target = undefined; - if(param_02) - { - param_00 waittill("death"); - } - else - { - waittillframeend; - } - - var_03 = maps\mp\gametypes\_hostmigration::waittillhostmigrationdone(); - if(var_03 != 0) - { - wait 0.05; - } - - param_00.warbirdturret delete(); - if(isdefined(param_00.warbirdbuddyturret)) - { - if(isdefined(param_00.warbirdbuddyturret.firesoundent)) - { - param_00.warbirdbuddyturret.firesoundent delete(); - } - - param_00.warbirdbuddyturret delete(); - } - - if(isdefined(param_00.usableent)) - { - param_00.usableent delete(); - } -} - -//Function Number: 80 -playerresetafterwarbird(param_00) -{ - self notify("warbirdStreakComplete"); - param_00 notify("warbirdStreakComplete"); - waittillframeend; - playerresetwarbirdomnvars(); - if(param_00.ispossessed && !maps\mp\_utility::isinremotetransition()) - { - playerreset(param_00); - param_00.ispossessed = 0; - } - - disableplayercommands(param_00); - self notify("StopWaitForDisconnect"); -} - -//Function Number: 81 -playerreset(param_00) -{ - self setblurforplayer(0,0); - maps\mp\killstreaks\_aerial_utility::disableorbitalthermal(self); - self thermalvisionfofoverlayoff(); - thread removewarbirdvisionsetpermap(1.5); - self remotecontrolvehicleoff(); - if(isdefined(param_00.warbirdturret) && iscontrollingwarbird()) - { - self remotecontrolturretoff(param_00.warbirdturret); - } - - self.controllingwarbird = undefined; - self.possesswarbird = undefined; - self enableweapons(); - self unlink(); - if(maps\mp\_utility::isusingremote()) - { - maps\mp\_utility::clearusingremote(); - } - else - { - var_01 = self getcurrentweapon(); - if(var_01 == "none" || maps\mp\_utility::iskillstreakweapon(var_01)) - { - self switchtoweapon(common_scripts\utility::getlastweapon()); - } - - maps\mp\_utility::playerremotekillstreakshowhud(); - } - - thread playerdelaycontrol(); - if(param_00.hasai) - { - maps\mp\killstreaks\_killstreaks::takekillstreakweaponifnodupe("killstreak_predator_missile_mp"); - } - - self enableweaponswitch(); - self disableslowaim(); - if(!isdefined(param_00.isleaving) || !param_00.isleaving) - { - restartwarbirdenginefxforplayer(param_00); - } - - maps\mp\_utility::playerrestoreangles(); -} - -//Function Number: 82 -playerdelaycontrol() -{ - self endon("disconnect"); - maps\mp\_utility::freezecontrolswrapper(1); - wait(0.5); - maps\mp\_utility::freezecontrolswrapper(0); -} - -//Function Number: 83 -checkforcrashing(param_00) -{ - param_00 common_scripts\utility::waittill_any("crashing","death"); - param_00.iscrashing = 1; -} - -//Function Number: 84 -monitorplayerdisconnect(param_00) -{ - self endon("StopWaitForDisconnect"); - self waittill("disconnect"); - param_00 notify("warbirdStreakComplete"); - self notify("warbirdStreakComplete"); - self notify("warbirdThermalOff"); - param_00 thread maps\mp\killstreaks\_aerial_utility::heli_leave(); - level thread warbirdcleanup(param_00,self,1); -} - -//Function Number: 85 -play_sound_on_entity(param_00) -{ - self playsound(param_00); -} - -//Function Number: 86 -warbird_health() -{ - self endon("death"); - self endon("leaving"); - self endon("crashing"); - self.currentstate = "ok"; - self.laststate = "ok"; - self setdamagestage(3); - var_00 = 3; - self setdamagestage(var_00); - for(;;) - { - if(self.damagetaken >= self.maxhealth * 0.33 && var_00 == 3) - { - var_00 = 2; - self setdamagestage(var_00); - self.currentstate = "light smoke"; - playfxontag(level.chopper_fx["damage"]["light_smoke"],self,"tag_static_main_rotor_l"); - } - else if(self.damagetaken >= self.maxhealth * 0.66 && var_00 == 2) - { - var_00 = 1; - self setdamagestage(var_00); - self.currentstate = "heavy smoke"; - stopfxontag(level.chopper_fx["damage"]["light_smoke"],self,"tag_static_main_rotor_l"); - playfxontag(level.chopper_fx["damage"]["heavy_smoke"],self,"tag_static_main_rotor_l"); - } - else if(self.damagetaken >= self.maxhealth) - { - var_00 = 0; - self setdamagestage(var_00); - if(isdefined(self.largeprojectiledamage) && self.largeprojectiledamage) - { - thread maps\mp\killstreaks\_aerial_utility::heli_explode(1); - } - else - { - playfxontag(level.chopper_fx["damage"]["on_fire"],self,"TAG_TAIL_FX"); - thread maps\mp\killstreaks\_aerial_utility::heli_crash(); - } - } - - wait(0.05); - } -} - -//Function Number: 87 -playerresetwarbirdomnvars() -{ - self setclientomnvar("ui_warbird_heat",0); - self setclientomnvar("ui_warbird_flares",0); - self setclientomnvar("ui_warbird_fire",0); - self setclientomnvar("ui_warbird_cloak",0); - self setclientomnvar("ui_warbird_cloaktime",0); - self setclientomnvar("ui_warbird_cloakdur",0); - self setclientomnvar("ui_warbird_countdown",0); - self setclientomnvar("ui_warbird_missile",-1); - self setclientomnvar("ui_warbird_weapon",0); - self setclientomnvar("ui_warbird_cloaktext",0); - self setclientomnvar("ui_warbird_toggle",0); - self setclientomnvar("ui_coop_primary_num",0); - maps\mp\killstreaks\_aerial_utility::playerdisablestreakstatic(); - self disableforcefirstpersonwhenfollowed(); -} - -//Function Number: 88 -playwarbirdenginefx() -{ - playfxontag(level.chopper_fx["engine"]["warbird"],self,"tag_static_main_rotor_r"); - playfxontag(level.chopper_fx["engine"]["warbird"],self,"tag_static_main_rotor_l"); - if(isdefined(self.player)) - { - self.player pausewarbirdenginefxforplayer(self); - } - - if(isdefined(self.buddy)) - { - self.buddy pausewarbirdenginefxforplayer(self); - } -} - -//Function Number: 89 -stopwarbirdenginefx() -{ - stopfxontag(level.chopper_fx["engine"]["warbird"],self,"tag_static_main_rotor_r"); - stopfxontag(level.chopper_fx["engine"]["warbird"],self,"tag_static_main_rotor_l"); -} - -//Function Number: 90 -pausewarbirdenginefxforplayer(param_00) -{ - if(!isdefined(param_00)) - { - return; - } - - stopfxontagforclient(level.chopper_fx["engine"]["warbird"],param_00,"tag_static_main_rotor_r",self); - stopfxontagforclient(level.chopper_fx["engine"]["warbird"],param_00,"tag_static_main_rotor_l",self); -} - -//Function Number: 91 -restartwarbirdenginefxforplayer(param_00) -{ - if(!isdefined(param_00)) - { - return; - } - - if(maps\mp\killstreaks\_aerial_utility::vehicleiscloaked()) - { - return; - } - - playfxontagforclients(level.chopper_fx["engine"]["warbird"],param_00,"tag_static_main_rotor_r",self); - playfxontagforclients(level.chopper_fx["engine"]["warbird"],param_00,"tag_static_main_rotor_l",self); -} - -//Function Number: 92 -warbird_audio() -{ - if(isdefined(self)) - { - } -} - -//Function Number: 93 -warbirdlightfx() -{ - self endon("death"); - for(;;) - { - self.owner waittill("UnCloak"); - playfxontag(level.chopper_fx["light"]["warbird"],self,"tag_light_body_L"); - wait(0.05); - playfxontag(level.chopper_fx["light"]["warbird"],self,"tag_light_body_R"); - wait(0.05); - playfxontag(level.chopper_fx["light"]["warbird"],self,"tag_light_tail"); - self.owner waittill("ActivateCloak"); - stopfxontag(level.chopper_fx["light"]["warbird"],self,"tag_light_body_L"); - wait(0.05); - stopfxontag(level.chopper_fx["light"]["warbird"],self,"tag_light_body_R"); - wait(0.05); - stopfxontag(level.chopper_fx["light"]["warbird"],self,"tag_light_tail"); - } -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/killstreaks/streak_mp_bigben2.gsc b/AW/PC/MP/maps/mp/killstreaks/streak_mp_bigben2.gsc deleted file mode 100644 index d544535..0000000 --- a/AW/PC/MP/maps/mp/killstreaks/streak_mp_bigben2.gsc +++ /dev/null @@ -1,463 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps\mp\killstreaks\streak_mp_bigben2.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 26 - * Decompile Time: 449 ms - * Timestamp: 10/27/2023 1:44:45 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - precacheitem("iw5_dlcgun12loot5_mp"); - precacherumble("tank_rumble"); - precacherumble("heavygun_fire"); - precacherumble("smg_fire"); - level.killstreakwieldweapons["iw5_dlcgun12loot5_mp"] = "mp_bigben2"; - if(level.console) - { - level.skylight_fire_fx = loadfx("vfx/map/mp_bigben/mp_bigb_killstreak_screen_fire"); - } - else - { - level.skylight_fire_fx = loadfx("vfx/map/mp_bigben/mp_bigb_killstreak_screen_fire_pc"); - } - - var_00 = getent("rocket_startorg","targetname"); - var_01 = getent("rocket_endorg","targetname"); - var_02 = getent("camera_startorg","targetname"); - var_03 = getent("camera_endorg","targetname"); - level.rocket_start = var_00.origin; - level.rocket_start_angles = (270,0,0); - level.rocket_end = var_01.origin; - level.camera_start = var_02.origin; - level.camera_end = var_03.origin; - level.skylight_actual_rocket = getent("actual_rocket","targetname"); - level.skylight_camera_link = getent("camera_linkto_main","targetname"); - level.skylight_actual_rocket.origin = level.rocket_start; - level.skylight_actual_rocket.angles = level.rocket_start_angles; - level.skylight_camera_link.origin = level.camera_start; - level.skylight_camera_link setmodel("tag_player"); - level.skylight_rocket_fx_tag = spawn("script_model",(0,0,0)); - level.skylight_rocket_fx_tag setmodel("tag_origin"); - level.skylight_rocket_fx_tag linkto(level.skylight_actual_rocket,"tag_origin",(0,0,0),(0,0,0)); - level.missileflighttime = 10; - level.skylight_real_missile_number = 30; - level.skylight_fx_missile_chance = 100; - level.skylight_fx_missile_max = 30; - level.skylight_missile_min_time = 0.2; - level.skylight_missile_max_time = 0.4; - if(level.currentgen) - { - level.skylight_fx_missile_chance = 0; - } - - level.killstreakfuncs["mp_bigben2"] = ::tryuseskylight; - level.mapkillstreak = "mp_bigben2"; - level.mapkillstreakpickupstring = &"MP_BIGBEN2_MAP_KILLSTREAK_PICKUP"; - level.skylight_available = 1; -} - -//Function Number: 2 -tryuseskylight(param_00,param_01) -{ - if(!skylight_available()) - { - self iprintlnbold(&"KILLSTREAKS_AIR_SPACE_TOO_CROWDED"); - return 0; - } - - level.skylight_available = 0; - var_02 = maps\mp\killstreaks\_killstreaks::initridekillstreak(); - if(var_02 != "success") - { - level.skylight_available = 1; - return 0; - } - - maps\mp\_utility::setusingremote("mp_bigben2"); - var_02 = setupskylightrocketstrike(); - maps\mp\_matchdata::logkillstreakevent("dlc_streak4",self.origin); - return var_02; -} - -//Function Number: 3 -setupskylightrocketstrike() -{ - level notify("skylight_start"); - thread monitor_player_disconnect(); - thread monitor_player_team_change(); - thread monitor_game_ended(); - playeraddnotifycommands(); - thread skylight_rocket_control(); - thread skylight_monitor_timeout(); - thread skylight_play_rumble(); - thread skylight_cleanup_player(); - thread skylight_cleanup_rocket(); - thread skylight_rocket_animate(); - thread maps\mp\mp_bigben2_fx::stop_vista_vfx(); - thread skylight_monitor_fire(); - thread skylight_monitor_cancel(); - return 1; -} - -//Function Number: 4 -monitor_player_disconnect() -{ - self endon("skylight_cancel"); - self endon("skylight_payload_complete"); - self waittill("disconnect"); - self notify("skylight_cancel"); -} - -//Function Number: 5 -monitor_player_team_change() -{ - self endon("skylight_cancel"); - self endon("skylight_payload_complete"); - common_scripts\utility::waittill_either("joined_team","joined_spectators"); - self notify("skylight_cancel"); -} - -//Function Number: 6 -monitor_game_ended() -{ - self endon("skylight_cancel"); - self endon("skylight_payload_complete"); - level waittill("game_ended"); - self notify("skylight_cancel"); -} - -//Function Number: 7 -skylight_monitor_cancel() -{ - self endon("skylight_control_over"); - self endon("skylight_cancel"); - wait(0.3); - var_00 = 5; - for(;;) - { - self waittill("ToggleControlState"); - thread cancel_button_monitor(); - self.holdingleavebutton = 1; - for(var_01 = 0;var_01 <= var_00;var_01++) - { - wait(0.1); - if(self.holdingleavebutton == 1 && var_01 == var_00) - { - self notify("skylight_cancel"); - return; - } - else if(self.holdingleavebutton == 0) - { - break; - } - } - } -} - -//Function Number: 8 -cancel_button_monitor() -{ - self endon("skylight_control_over"); - self endon("skylight_cancel"); - self waittill("ToggleControlCancel"); - self.holdingleavebutton = 0; -} - -//Function Number: 9 -skylight_monitor_timeout() -{ - self endon("skylight_control_over"); - self endon("skylight_cancel"); - wait(level.missileflighttime); - self notify("skylight_fire_timeout"); -} - -//Function Number: 10 -skylight_monitor_fire() -{ - self endon("skylight_cancel"); - wait(0.3); - common_scripts\utility::waittill_any("StartFire","skylight_fire_timeout"); - self playlocalsound("bb_missile_launch_pod_midair_exp"); - var_00 = self getplayerangles(); - var_01 = anglestoforward(var_00); - var_02 = level.skylight_camera_link.origin; - var_03 = var_02 + var_01 * 12000; - var_04 = bullettrace(var_02,var_03,0,level.skylight_actual_rocket); - var_05 = var_04["position"]; - self playrumbleonentity("heavygun_fire"); - earthquake(0.4,1,level.skylight_camera_link.origin,2000,self); - wait(0.2); - self notify("skylight_control_over"); - thread fire_missiles(var_05); -} - -//Function Number: 11 -skylight_cleanup_player() -{ - self endon("disconnect"); - common_scripts\utility::waittill_any("skylight_control_over","skylight_cancel"); - playerremovenotifycommands(); - self enableweaponswitch(); - self unlink(); - self setclientomnvar("fov_scale",1); - self disableslowaim(); - self setclientomnvar("ui_solar_beam",0); - self thermalvisionfofoverlayoff(); - level.skylight_fire_fx_ent delete(); - if(maps\mp\_utility::isusingremote()) - { - maps\mp\_utility::clearusingremote(); - } - - thread removeskylightvisionandlightsetpermap(0.5); - if(getdvarint("camera_thirdPerson")) - { - maps\mp\_utility::setthirdpersondof(1); - } - - maps\mp\_utility::playerrestoreangles(); -} - -//Function Number: 12 -skylight_cleanup_rocket() -{ - common_scripts\utility::waittill_any("skylight_cancel","skylight_payload_complete"); - wait(0.1); - playfx(common_scripts\utility::getfx("mp_bigb_killstreak_rocket_explosion"),level.skylight_actual_rocket.origin); - stopfxontag(common_scripts\utility::getfx("mp_bigb_killstreak_rockettrail"),level.skylight_rocket_fx_tag,"tag_origin"); - level.skylight_actual_rocket scriptmodelclearanim(); - wait(0.1); - level.skylight_actual_rocket.origin = level.rocket_start; - level.skylight_actual_rocket.angles = level.rocket_start_angles; - level.skylight_camera_link.origin = level.camera_start; - level.skylight_available = 1; -} - -//Function Number: 13 -skylight_available() -{ - return level.skylight_available; -} - -//Function Number: 14 -playeraddnotifycommands() -{ - if(!isbot(self)) - { - self notifyonplayercommand("SwitchVisionMode","+actionslot 1"); - self notifyonplayercommand("ToggleControlState","+activate"); - self notifyonplayercommand("ToggleControlCancel","-activate"); - self notifyonplayercommand("ToggleControlState","+usereload"); - self notifyonplayercommand("ToggleControlCancel","-usereload"); - self notifyonplayercommand("StartFire","+attack"); - self notifyonplayercommand("StartFire","+attack_akimbo_accessible"); - } -} - -//Function Number: 15 -playerremovenotifycommands() -{ - if(!isbot(self)) - { - self notifyonplayercommandremove("SwitchVisionMode","+actionslot 1"); - self notifyonplayercommandremove("ToggleControlState","+activate"); - self notifyonplayercommandremove("ToggleControlCancel","-activate"); - self notifyonplayercommandremove("ToggleControlState","+usereload"); - self notifyonplayercommandremove("ToggleControlCancel","-usereload"); - self notifyonplayercommandremove("StartFire","+attack"); - self notifyonplayercommandremove("StartFire","+attack_akimbo_accessible"); - } -} - -//Function Number: 16 -setskylightvisionandlightsetpermap(param_00) -{ - self endon("skylight_cancel"); - self endon("game_ended"); - self endon("OrbitalStrikeStreakComplete"); - wait(param_00); - if(isdefined(level.vulcanvisionset)) - { - self setclienttriggervisionset(level.vulcanvisionset,0); - } - - if(isdefined(level.vulcanlightset)) - { - self lightsetforplayer(level.vulcanlightset); - } - - maps\mp\killstreaks\_aerial_utility::handle_player_starting_aerial_view(); -} - -//Function Number: 17 -removeskylightvisionandlightsetpermap(param_00) -{ - self setclienttriggervisionset("",param_00); - self lightsetforplayer(""); - maps\mp\killstreaks\_aerial_utility::handle_player_ending_aerial_view(); -} - -//Function Number: 18 -skylight_play_rumble() -{ - self endon("skylight_cancel"); - self endon("skylight_control_over"); - thread skylight_play_rumble_on_all_players(); - wait(0.1); - earthquake(0.4,3,level.skylight_camera_link.origin,2000,self); - wait(0.1); - earthquake(0.2,15,(4176.5,14000,18000),20000,self); - wait(0.5); - self playrumbleonentity("heavygun_fire"); - thread skylight_loop_rumble(20); -} - -//Function Number: 19 -skylight_play_rumble_on_all_players() -{ - foreach(var_01 in level.players) - { - if(var_01 != self) - { - earthquake(0.3,3,level.rocket_start,3500,var_01); - var_01 playrumblelooponentity("tank_rumble"); - var_01 thread skylight_end_rumble_loop(0.8); - if(distancesquared(level.rocket_start,var_01.origin) < 1000000) - { - var_01 playrumbleonentity("heavygun_fire"); - continue; - } - - if(distancesquared(level.rocket_start,var_01.origin) < 4000000) - { - var_01 playrumbleonentity("smg_fire"); - } - } - } -} - -//Function Number: 20 -skylight_loop_rumble(param_00) -{ - self endon("skylight_cancel"); - self endon("skylight_control_over"); - while(param_00 > 0) - { - self playrumbleonentity("smg_fire"); - param_00 = param_00 - 0.2; - wait(0.2); - } -} - -//Function Number: 21 -skylight_end_rumble_loop(param_00) -{ - self endon("death"); - level common_scripts\utility::waittill_notify_or_timeout("game_ended",param_00); - self stoprumble("tank_rumble"); -} - -//Function Number: 22 -skylight_rocket_control() -{ - self disableweaponswitch(); - self setclientomnvar("fov_scale",0.5); - self enableslowaim(0.5,0.5); - self thermalvisionfofoverlayon(); - level.skylight_camera_link moveto(level.camera_end,level.missileflighttime,1,0); - self playerlinkweaponviewtodelta(level.skylight_camera_link,"tag_player",1,60,60,-30,75,1); - thread setskylightvisionandlightsetpermap(0.5); - maps\mp\_utility::playersaveangles(); - self setplayerangles((40,270,0)); - self setclientomnvar("ui_solar_beam",1); - var_00 = gettime() + level.missileflighttime * 1000; - self setclientomnvar("ui_solar_beam_timer",var_00); - level.skylight_fire_fx_ent = spawnlinkedfxforclient(level.skylight_fire_fx,level.skylight_camera_link,"tag_player",self); - setfxkillondelete(level.skylight_fire_fx_ent,1); - triggerfx(level.skylight_fire_fx_ent); - thread aud_skylight_launch_sfx(); - thread aud_skylight_launch_sfx_3d(); -} - -//Function Number: 23 -aud_skylight_launch_sfx() -{ - self endon("disconnect"); - wait(0.2); - self playlocalsound("bb_missile_launch_pod_midair_exp"); - wait(0.2); - self playlocalsound("paladin_toggle_flir_plr"); - self playlocalsound("bb_missile_jet_pov_effit"); - common_scripts\utility::waittill_any("skylight_control_over","skylight_cancel"); - self stopsounds(); -} - -//Function Number: 24 -aud_skylight_launch_sfx_3d() -{ - wait(0.2); - self playsound("bb_missile_launch_pod_midair_exp_3d"); - self playsound("bb_missile_low_3d"); - wait(0.2); - self playsound("bb_missile_jet_pov_effit_3d"); - common_scripts\utility::waittill_any("skylight_control_over","skylight_cancel"); - self stopsounds(); -} - -//Function Number: 25 -skylight_rocket_animate() -{ - self endon("skylight_cancel"); - wait(0.1); - level.skylight_actual_rocket scriptmodelplayanimdeltamotion("bbn_skylight_rocket_launch"); - foreach(var_01 in level.players) - { - if(var_01 != self) - { - playfxontagforclients(common_scripts\utility::getfx("mp_bigb_killstreak_rockettrail"),level.skylight_rocket_fx_tag,"tag_origin",var_01); - } - } -} - -//Function Number: 26 -fire_missiles(param_00) -{ - self endon("skylight_cancel"); - var_01 = 0; - wait(randomfloatrange(level.skylight_missile_min_time,level.skylight_missile_max_time)); - var_02 = magicbullet("iw5_dlcgun12loot5_mp",level.skylight_actual_rocket.origin,param_00,self); - wait(0.1); - if(randomint(100) <= level.skylight_fx_missile_chance && var_01 < level.skylight_fx_missile_max) - { - var_01++; - var_03 = vectortoangles(level.skylight_actual_rocket.origin - param_00); - var_04 = anglestoforward(var_03); - playfx(common_scripts\utility::getfx("mp_bigb_killstreak_curvy_missile"),level.skylight_actual_rocket.origin,var_04); - } - - maps\mp\_audio::snd_play_in_space("paladin_cannon_snap",level.skylight_actual_rocket.origin); - for(var_05 = 1;var_05 < level.skylight_real_missile_number;var_05++) - { - wait(randomfloatrange(level.skylight_missile_min_time - 0.1,level.skylight_missile_max_time - 0.1)); - var_06 = randomfloatrange(-400,400); - var_07 = randomfloatrange(-400,400); - var_02 = magicbullet("iw5_dlcgun12loot5_mp",level.skylight_actual_rocket.origin,param_00 + (var_06,var_07,0),self); - wait(0.1); - if(randomint(100) <= level.skylight_fx_missile_chance && var_01 < level.skylight_fx_missile_max) - { - var_01++; - var_03 = vectortoangles(level.skylight_actual_rocket.origin - param_00 + (var_06,var_07,0)); - var_04 = anglestoforward(var_03); - playfx(common_scripts\utility::getfx("mp_bigb_killstreak_curvy_missile"),level.skylight_actual_rocket.origin,var_04); - } - - maps\mp\_audio::snd_play_in_space("paladin_cannon_snap",level.skylight_actual_rocket.origin); - } - - self notify("skylight_payload_complete"); -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/perks/_perkfunctions.gsc b/AW/PC/MP/maps/mp/perks/_perkfunctions.gsc deleted file mode 100644 index ded299e..0000000 --- a/AW/PC/MP/maps/mp/perks/_perkfunctions.gsc +++ /dev/null @@ -1,1314 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/perks/_perkfunctions.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 101 - * Decompile Time: 1760 ms - * Timestamp: 10/27/2023 1:52:35 AM -*******************************************************************/ - -//Function Number: 1 -setcrouchmovement() -{ - thread crouchstatelistener(); - crouchmovementsetspeed(); -} - -//Function Number: 2 -crouchstatelistener() -{ - self endon("death"); - self endon("disconnect"); - self endon("unsetCrouchMovement"); - self notifyonplayercommand("adjustedStance","+stance"); - self notifyonplayercommand("adjustedStance","+goStand"); - for(;;) - { - common_scripts\utility::waittill_any("adjustedStance","sprint_begin","weapon_change"); - wait(0.5); - crouchmovementsetspeed(); - } -} - -//Function Number: 3 -crouchmovementsetspeed() -{ - self.stancecrouchmovement = self getstance(); - var_00 = 0; - if(isdefined(self.adrenaline_speed_scalar)) - { - var_00 = self.adrenaline_speed_scalar; - } - else if(self.stancecrouchmovement == "crouch") - { - var_00 = self.crouch_speed_scalar; - } - else if(maps\mp\_utility::_hasperk("specialty_lightweight")) - { - var_00 = maps\mp\_utility::lightweightscalar(); - } - - self.movespeedscaler = var_00; - maps\mp\gametypes\_weapons::updatemovespeedscale(); -} - -//Function Number: 4 -unsetcrouchmovement() -{ - self notify("unsetCrouchMovement"); - var_00 = 1; - if(maps\mp\_utility::_hasperk("specialty_lightweight")) - { - var_00 = maps\mp\_utility::lightweightscalar(); - } - - self.movespeedscaler = var_00; - maps\mp\gametypes\_weapons::updatemovespeedscale(); -} - -//Function Number: 5 -setpersonaluav() -{ - var_00 = spawn("script_model",self.origin); - var_00.team = self.team; - var_00 makeportableradar(self); - self.personalradar = var_00; - thread radarmover(var_00); -} - -//Function Number: 6 -radarmover(param_00) -{ - level endon("game_ended"); - self endon("disconnect"); - self endon("personal_uav_remove"); - self endon("personal_uav_removed"); - for(;;) - { - param_00 moveto(self.origin,0.05); - wait(0.05); - } -} - -//Function Number: 7 -unsetpersonaluav() -{ - if(isdefined(self.personalradar)) - { - self notify("personal_uav_removed"); - level maps\mp\gametypes\_portable_radar::deleteportableradar(self.personalradar); - self.personalradar = undefined; - } -} - -//Function Number: 8 -setoverkillpro() -{ -} - -//Function Number: 9 -unsetoverkillpro() -{ -} - -//Function Number: 10 -setempimmune() -{ -} - -//Function Number: 11 -unsetempimmune() -{ -} - -//Function Number: 12 -setautospot() -{ - autospotadswatcher(); - autospotdeathwatcher(); -} - -//Function Number: 13 -autospotdeathwatcher() -{ - self waittill("death"); - self endon("disconnect"); - self endon("endAutoSpotAdsWatcher"); - level endon("game_ended"); - self autospotoverlayoff(); -} - -//Function Number: 14 -unsetautospot() -{ - self notify("endAutoSpotAdsWatcher"); - self autospotoverlayoff(); -} - -//Function Number: 15 -autospotadswatcher() -{ - self endon("death"); - self endon("disconnect"); - self endon("endAutoSpotAdsWatcher"); - level endon("game_ended"); - var_00 = 0; - for(;;) - { - wait(0.05); - if(self isusingturret()) - { - self autospotoverlayoff(); - continue; - } - - var_01 = self playerads(); - if(var_01 < 1 && var_00) - { - var_00 = 0; - self autospotoverlayoff(); - } - - if(var_01 < 1 && !var_00) - { - continue; - } - - if(var_01 == 1 && !var_00) - { - var_00 = 1; - self autospotoverlayon(); - } - } -} - -//Function Number: 16 -setregenspeed() -{ -} - -//Function Number: 17 -unsetregenspeed() -{ -} - -//Function Number: 18 -setsharpfocus() -{ - self setviewkickscale(0.5); -} - -//Function Number: 19 -unsetsharpfocus() -{ - self setviewkickscale(1); -} - -//Function Number: 20 -setdoubleload() -{ - self endon("death"); - self endon("disconnect"); - self endon("endDoubleLoad"); - level endon("game_ended"); - for(;;) - { - self waittill("reload"); - var_00 = self getweaponslist("primary"); - foreach(var_02 in var_00) - { - var_03 = self getweaponammoclip(var_02); - var_04 = weaponclipsize(var_02); - var_05 = var_04 - var_03; - var_06 = self setweaponammostock(var_02); - if(var_03 != var_04 && var_06 > 0) - { - if(var_03 + var_06 >= var_04) - { - self setweaponammoclip(var_02,var_04); - self setweaponammostock(var_02,var_06 - var_05); - continue; - } - - self setweaponammoclip(var_02,var_03 + var_06); - if(var_06 - var_05 > 0) - { - self setweaponammostock(var_02,var_06 - var_05); - continue; - } - - self setweaponammostock(var_02,0); - } - } - } -} - -//Function Number: 21 -unsetdoubleload() -{ - self notify("endDoubleLoad"); -} - -//Function Number: 22 -setmarksman(param_00) -{ - self endon("death"); - self endon("disconnect"); - level endon("game_ended"); - if(!isdefined(param_00)) - { - param_00 = 10; - } - else - { - param_00 = int(param_00) * 2; - } - - maps\mp\_utility::setrecoilscale(param_00); - self.recoilscale = param_00; -} - -//Function Number: 23 -unsetmarksman() -{ - maps\mp\_utility::setrecoilscale(0); - self.recoilscale = 0; -} - -//Function Number: 24 -setstunresistance(param_00) -{ - self endon("death"); - self endon("disconnect"); - level endon("game_ended"); - if(!isdefined(param_00)) - { - self.stunscaler = 0.5; - return; - } - - self.stunscaler = int(param_00) / 10; -} - -//Function Number: 25 -unsetstunresistance() -{ - self.stunscaler = 1; -} - -//Function Number: 26 -setsteadyaimpro() -{ - self endon("death"); - self endon("disconnect"); - level endon("game_ended"); - self setaimspreadmovementscale(0.5); -} - -//Function Number: 27 -unsetsteadyaimpro() -{ - self notify("end_SteadyAimPro"); - self setaimspreadmovementscale(1); -} - -//Function Number: 28 -blastshieldusetracker(param_00,param_01) -{ - self endon("death"); - self endon("disconnect"); - self endon("end_perkUseTracker"); - level endon("game_ended"); - for(;;) - { - self waittill("empty_offhand"); - if(!common_scripts\utility::isoffhandweaponenabled()) - { - continue; - } - - self [[ param_01 ]](maps\mp\_utility::_hasperk("_specialty_blastshield")); - } -} - -//Function Number: 29 -perkusedeathtracker() -{ - self endon("disconnect"); - self waittill("death"); - self._useperkenabled = undefined; -} - -//Function Number: 30 -setrearview() -{ -} - -//Function Number: 31 -unsetrearview() -{ - self notify("end_perkUseTracker"); -} - -//Function Number: 32 -setendgame() -{ - if(isdefined(self.endgame)) - { - return; - } - - self.maxhealth = maps\mp\gametypes\_tweakables::gettweakablevalue("player","maxhealth") * 4; - self.health = self.maxhealth; - self.endgame = 1; - self.attackertable[0] = ""; - self visionsetnakedforplayer("end_game",5); - thread endgamedeath(7); - self.hasdonecombat = 1; -} - -//Function Number: 33 -unsetendgame() -{ - self notify("stopEndGame"); - self.endgame = undefined; - maps\mp\_utility::revertvisionsetforplayer(); - if(!isdefined(self.endgametimer)) - { - return; - } - - self.endgametimer maps\mp\gametypes\_hud_util::destroyelem(); - self.endgameicon maps\mp\gametypes\_hud_util::destroyelem(); -} - -//Function Number: 34 -endgamedeath(param_00) -{ - self endon("death"); - self endon("disconnect"); - self endon("joined_team"); - level endon("game_ended"); - self endon("stopEndGame"); - wait(param_00 + 1); - maps\mp\_utility::_suicide(); -} - -//Function Number: 35 -stancestatelistener() -{ - self endon("death"); - self endon("disconnect"); - self notifyonplayercommand("adjustedStance","+stance"); - for(;;) - { - self waittill("adjustedStance"); - if(self.movespeedscaler != 0) - { - continue; - } - - unsetsiege(); - } -} - -//Function Number: 36 -jumpstatelistener() -{ - self endon("death"); - self endon("disconnect"); - self notifyonplayercommand("jumped","+goStand"); - for(;;) - { - self waittill("jumped"); - if(self.movespeedscaler != 0) - { - continue; - } - - unsetsiege(); - } -} - -//Function Number: 37 -unsetsiege() -{ - self.movespeedscaler = level.baseplayermovescale; - self resetspreadoverride(); - maps\mp\gametypes\_weapons::updatemovespeedscale(); - self playerrecoilscaleoff(); - self allowjump(1); -} - -//Function Number: 38 -setsaboteur() -{ - self.objectivescaler = 2; -} - -//Function Number: 39 -unsetsaboteur() -{ - self.objectivescaler = 1; -} - -//Function Number: 40 -setlightweight(param_00) -{ - if(!isdefined(param_00)) - { - param_00 = 10; - } - - self.movespeedscaler = maps\mp\_utility::lightweightscalar(param_00); - maps\mp\gametypes\_weapons::updatemovespeedscale(); -} - -//Function Number: 41 -unsetlightweight() -{ - self.movespeedscaler = level.baseplayermovescale; - maps\mp\gametypes\_weapons::updatemovespeedscale(); -} - -//Function Number: 42 -setblackbox() -{ - self.killstreakscaler = 1.5; -} - -//Function Number: 43 -unsetblackbox() -{ - self.killstreakscaler = 1; -} - -//Function Number: 44 -setsteelnerves() -{ - maps\mp\_utility::giveperk("specialty_bulletaccuracy",1); - maps\mp\_utility::giveperk("specialty_holdbreath",0); -} - -//Function Number: 45 -unsetsteelnerves() -{ - maps\mp\_utility::_unsetperk("specialty_bulletaccuracy"); - maps\mp\_utility::_unsetperk("specialty_holdbreath"); -} - -//Function Number: 46 -setdelaymine() -{ -} - -//Function Number: 47 -unsetdelaymine() -{ -} - -//Function Number: 48 -setlocaljammer() -{ - if(!maps\mp\_utility::isemped()) - { - self setmotiontrackervisible(0); - } -} - -//Function Number: 49 -unsetlocaljammer() -{ - self setmotiontrackervisible(1); -} - -//Function Number: 50 -setthermal() -{ - self thermalvisionon(); -} - -//Function Number: 51 -unsetthermal() -{ - self thermalvisionoff(); -} - -//Function Number: 52 -setonemanarmy() -{ - thread onemanarmyweaponchangetracker(); -} - -//Function Number: 53 -unsetonemanarmy() -{ - self notify("stop_oneManArmyTracker"); -} - -//Function Number: 54 -onemanarmyweaponchangetracker() -{ - self endon("death"); - self endon("disconnect"); - level endon("game_ended"); - self endon("stop_oneManArmyTracker"); - for(;;) - { - self waittill("weapon_change",var_00); - if(var_00 != "onemanarmy_mp") - { - continue; - } - - thread selectonemanarmyclass(); - } -} - -//Function Number: 55 -isonemanarmymenu(param_00) -{ - if(param_00 == game["menu_onemanarmy"]) - { - return 1; - } - - if(isdefined(game["menu_onemanarmy_defaults_splitscreen"]) && param_00 == game["menu_onemanarmy_defaults_splitscreen"]) - { - return 1; - } - - if(isdefined(game["menu_onemanarmy_custom_splitscreen"]) && param_00 == game["menu_onemanarmy_custom_splitscreen"]) - { - return 1; - } - - return 0; -} - -//Function Number: 56 -selectonemanarmyclass() -{ - self endon("death"); - self endon("disconnect"); - level endon("game_ended"); - common_scripts\utility::_disableweaponswitch(); - common_scripts\utility::_disableoffhandweapons(); - common_scripts\utility::_disableusability(); - self openpopupmenu(game["menu_onemanarmy"]); - thread closeomamenuondeath(); - self waittill("menuresponse",var_00,var_01); - common_scripts\utility::_enableweaponswitch(); - common_scripts\utility::_enableoffhandweapons(); - common_scripts\utility::_enableusability(); - if(var_01 == "back" || !isonemanarmymenu(var_00) || maps\mp\_utility::isusingremote()) - { - if(self getcurrentweapon() == "onemanarmy_mp") - { - common_scripts\utility::_disableweaponswitch(); - common_scripts\utility::_disableoffhandweapons(); - common_scripts\utility::_disableusability(); - self switchtoweapon(common_scripts\utility::getlastweapon()); - self waittill("weapon_change"); - common_scripts\utility::_enableweaponswitch(); - common_scripts\utility::_enableoffhandweapons(); - common_scripts\utility::_enableusability(); - } - - return; - } - - thread giveonemanarmyclass(var_01); -} - -//Function Number: 57 -closeomamenuondeath() -{ - self endon("menuresponse"); - self endon("disconnect"); - level endon("game_ended"); - self waittill("death"); - common_scripts\utility::_enableweaponswitch(); - common_scripts\utility::_enableoffhandweapons(); - common_scripts\utility::_enableusability(); - self closepopupmenu(); -} - -//Function Number: 58 -giveonemanarmyclass(param_00) -{ - self endon("death"); - self endon("disconnect"); - level endon("game_ended"); - if(maps\mp\_utility::_hasperk("specialty_omaquickchange")) - { - var_01 = 3; - self playlocalsound("foly_onemanarmy_bag3_plr"); - self playsoundtoteam("foly_onemanarmy_bag3_npc","allies",self); - self playsoundtoteam("foly_onemanarmy_bag3_npc","axis",self); - } - else - { - var_01 = 6; - self playlocalsound("foly_onemanarmy_bag6_plr"); - self playsoundtoteam("foly_onemanarmy_bag6_npc","allies",self); - self playsoundtoteam("foly_onemanarmy_bag6_npc","axis",self); - } - - thread omausebar(var_01); - common_scripts\utility::_disableweapon(); - common_scripts\utility::_disableoffhandweapons(); - common_scripts\utility::_disableusability(); - wait(var_01); - common_scripts\utility::_enableweapon(); - common_scripts\utility::_enableoffhandweapons(); - common_scripts\utility::_enableusability(); - self.omaclasschanged = 1; - maps\mp\gametypes\_class::giveandapplyloadout(self.pers["team"],param_00,0); - if(isdefined(self.carryflag)) - { - self attach(self.carryflag,"J_spine4",1); - } - - self notify("changed_kit"); - level notify("changed_kit"); -} - -//Function Number: 59 -omausebar(param_00) -{ - self endon("disconnect"); - var_01 = maps\mp\gametypes\_hud_util::createprimaryprogressbar(0,-25); - var_02 = maps\mp\gametypes\_hud_util::createprimaryprogressbartext(0,-25); - var_02 settext(&"MPUI_CHANGING_KIT"); - var_01 maps\mp\gametypes\_hud_util::updatebar(0,1 / param_00); - var_03 = 0; - while(var_03 < param_00 && isalive(self) && !level.gameended) - { - wait(0.05); - var_03 = var_03 + 0.05; - } - - var_01 maps\mp\gametypes\_hud_util::destroyelem(); - var_02 maps\mp\gametypes\_hud_util::destroyelem(); -} - -//Function Number: 60 -setblastshield() -{ - self setweaponhudiconoverride("primaryoffhand","specialty_s1_temp"); -} - -//Function Number: 61 -unsetblastshield() -{ - self setweaponhudiconoverride("primaryoffhand","none"); -} - -//Function Number: 62 -setfreefall() -{ -} - -//Function Number: 63 -unsetfreefall() -{ -} - -//Function Number: 64 -settacticalinsertion() -{ - maps\mp\_utility::_giveweapon("s1_tactical_insertion_device_mp",0); - self givestartammo("s1_tactical_insertion_device_mp"); - thread monitortiuse(); -} - -//Function Number: 65 -clearprevioustispawnpoint() -{ - self notify("clearPreviousTISpawnpointStarted"); - self endon("clearPreviousTISpawnpointStarted"); - common_scripts\utility::waittill_any("disconnect","joined_team","joined_spectators"); - if(isdefined(self.setspawnpoint)) - { - deleteti(self.setspawnpoint); - } -} - -//Function Number: 66 -updatetispawnposition() -{ - self endon("death"); - self endon("disconnect"); - self endon("faux_spawn"); - level endon("game_ended"); - while(maps\mp\_utility::isreallyalive(self)) - { - if(isvalidtispawnposition()) - { - self.tispawnposition = self.origin; - } - - wait(0.05); - } -} - -//Function Number: 67 -isvalidtispawnposition() -{ - if(canspawn(self.origin) && self isonground()) - { - return 1; - } - - return 0; -} - -//Function Number: 68 -monitortiuse() -{ - self endon("death"); - self endon("disconnect"); - self endon("faux_spawn"); - level endon("game_ended"); - thread clearprevioustispawnpoint(); - thread updatetispawnposition(); - thread monitorthirdpersonmodel(); - for(;;) - { - self waittill("grenade_fire",var_00,var_01); - if(var_01 != "s1_tactical_insertion_device_mp") - { - continue; - } - - if(isdefined(self.setspawnpoint)) - { - deleteti(self.setspawnpoint); - } - - if(!isdefined(self.tispawnposition)) - { - continue; - } - - if(maps\mp\_utility::touchingbadtrigger()) - { - continue; - } - - var_02 = playerphysicstrace(self.tispawnposition + (0,0,16),self.tispawnposition - (0,0,2048)) + (0,0,1); - var_03 = spawn("script_model",var_02); - var_03.angles = self.angles; - var_03.team = self.team; - var_03.owner = self; - var_03.enemytrigger = spawn("script_origin",var_02); - var_03 thread glowsticksetupandwaitfordeath(self); - var_03.playerspawnpos = self.tispawnposition; - var_03 setotherent(self); - var_03 common_scripts\utility::make_entity_sentient_mp(self.team,1); - var_03 playloopsound("tac_insert_spark_lp"); - self.setspawnpoint = var_03; - } -} - -//Function Number: 69 -monitorthirdpersonmodel() -{ - self notify("third_person_ti"); - self endon("third_person_ti"); - for(;;) - { - if(isdefined(self.attachmodelti)) - { - self detach("npc_tactical_insertion_device","tag_inhand"); - self.attachmodelti = undefined; - } - - self waittillmatch("s1_tactical_insertion_device_mp","grenade_pullback"); - self attach("npc_tactical_insertion_device","tag_inhand",1); - self.attachmodelti = "npc_tactical_insertion_device"; - maps\mp\_utility::waitfortimeornotify(3,"death"); - self detach("npc_tactical_insertion_device","tag_inhand"); - self.attachmodelti = undefined; - } -} - -//Function Number: 70 -glowsticksetupandwaitfordeath(param_00) -{ - self setmodel(level.spawnglowmodel["enemy"]); - thread maps\mp\gametypes\_damage::setentitydamagecallback(100,undefined,::ondeathti,undefined,0); - thread glowstickenemyuselistener(param_00); - thread glowstickuselistener(param_00); - thread glowstickteamupdater(self.team,level.spawnglow["enemy"],param_00); - var_01 = spawn("script_model",self.origin + (0,0,0)); - var_01.angles = self.angles; - var_01 setmodel(level.spawnglowmodel["friendly"]); - var_01 setcontents(0); - var_01 thread glowstickteamupdater(self.team,level.spawnglow["friendly"],param_00); - var_01 playloopsound("tac_insert_spark_lp"); - self waittill("death"); - var_01 stoploopsound(); - var_01 delete(); -} - -//Function Number: 71 -glowstickteamupdater(param_00,param_01,param_02) -{ - self endon("death"); - wait(0.05); - var_03 = self gettagangles("tag_fire_fx"); - var_04 = spawnfx(param_01,self gettagorigin("tag_fire_fx"),anglestoforward(var_03),anglestoup(var_03)); - triggerfx(var_04); - thread perk_deleteondeath(var_04); - for(;;) - { - self hide(); - var_04 hide(); - foreach(var_06 in level.players) - { - if(var_06.team == param_00 && level.teambased && param_01 == level.spawnglow["friendly"]) - { - self showtoplayer(var_06); - var_04 showtoplayer(var_06); - continue; - } - - if(var_06.team != param_00 && level.teambased && param_01 == level.spawnglow["enemy"]) - { - self showtoplayer(var_06); - var_04 showtoplayer(var_06); - continue; - } - - if(!level.teambased && var_06 == param_02 && param_01 == level.spawnglow["friendly"]) - { - self showtoplayer(var_06); - var_04 showtoplayer(var_06); - continue; - } - - if(!level.teambased && var_06 != param_02 && param_01 == level.spawnglow["enemy"]) - { - self showtoplayer(var_06); - var_04 showtoplayer(var_06); - } - } - - level common_scripts\utility::waittill_either("joined_team","player_spawned"); - } -} - -//Function Number: 72 -perk_deleteondeath(param_00) -{ - self waittill("death"); - if(isdefined(param_00)) - { - param_00 delete(); - } -} - -//Function Number: 73 -ondeathti(param_00,param_01,param_02,param_03) -{ - if(isdefined(self.owner) && param_00 != self.owner) - { - param_00 notify("destroyed_explosive"); - param_00 thread maps\mp\gametypes\_missions::processchallenge("ch_darkbringer"); - } - - playfx(level.spawnfire,self.origin); - self.owner thread maps\mp\_utility::leaderdialogonplayer("ti_destroyed",undefined,undefined,self.origin); - param_00 thread deleteti(self); -} - -//Function Number: 74 -glowstickuselistener(param_00) -{ - self endon("death"); - level endon("game_ended"); - param_00 endon("disconnect"); - self setcursorhint("HINT_NOICON"); - self sethintstring(&"MP_PATCH_PICKUP_TI"); - thread updateenemyuse(param_00); - for(;;) - { - self waittill("trigger",var_01); - var_01 playsound("tac_insert_pickup_plr"); - var_01 thread settacticalinsertion(); - var_01 thread deleteti(self); - } -} - -//Function Number: 75 -updateenemyuse(param_00) -{ - self endon("death"); - for(;;) - { - maps\mp\_utility::setselfusable(param_00); - level common_scripts\utility::waittill_either("joined_team","player_spawned"); - } -} - -//Function Number: 76 -deleteti(param_00) -{ - if(isdefined(param_00.enemytrigger)) - { - param_00.enemytrigger delete(); - } - - param_00 stoploopsound(); - param_00 delete(); -} - -//Function Number: 77 -glowstickenemyuselistener(param_00) -{ - self endon("death"); - level endon("game_ended"); - param_00 endon("disconnect"); - self.enemytrigger setcursorhint("HINT_NOICON"); - self.enemytrigger sethintstring(&"MP_PATCH_DESTROY_TI"); - self.enemytrigger maps\mp\_utility::makeenemyusable(param_00); - for(;;) - { - self.enemytrigger waittill("trigger",var_01); - thread ondeathti(var_01); - } -} - -//Function Number: 78 -setpainted(param_00) -{ - if(isplayer(self)) - { - if(isdefined(param_00.specialty_paint_time) && !maps\mp\_utility::_hasperk("specialty_coldblooded")) - { - self.painted = 1; - self setperk("specialty_radararrow",1,0); - thread unsetpainted(param_00.specialty_paint_time); - thread watchpainteddeath(); - } - } -} - -//Function Number: 79 -watchpainteddeath() -{ - self endon("disconnect"); - level endon("game_ended"); - self endon("unsetPainted"); - self waittill("death"); - self.painted = 0; -} - -//Function Number: 80 -unsetpainted(param_00) -{ - self notify("painted_again"); - self endon("painted_again"); - self endon("disconnect"); - self endon("death"); - level endon("game_ended"); - wait(param_00); - self.painted = 0; - self unsetperk("specialty_radararrow",1); - self notify("unsetPainted"); -} - -//Function Number: 81 -ispainted() -{ - return isdefined(self.painted) && self.painted; -} - -//Function Number: 82 -setrefillgrenades() -{ - if(isdefined(self.primarygrenade)) - { - self givemaxammo(self.primarygrenade); - } - - if(isdefined(self.secondarygrenade)) - { - self givemaxammo(self.secondarygrenade); - } -} - -//Function Number: 83 -setfinalstand() -{ - maps\mp\_utility::giveperk("specialty_pistoldeath",0); -} - -//Function Number: 84 -unsetfinalstand() -{ - maps\mp\_utility::_unsetperk("specialty_pistoldeath"); -} - -//Function Number: 85 -setcarepackage() -{ - thread maps\mp\killstreaks\_killstreaks::givekillstreak("airdrop_assault",0,0,self); -} - -//Function Number: 86 -unsetcarepackage() -{ -} - -//Function Number: 87 -setuav() -{ - thread maps\mp\killstreaks\_killstreaks::givekillstreak("uav",0,0,self); -} - -//Function Number: 88 -unsetuav() -{ -} - -//Function Number: 89 -setstoppingpower() -{ - maps\mp\_utility::giveperk("specialty_bulletdamage",0); - thread watchstoppingpowerkill(); -} - -//Function Number: 90 -watchstoppingpowerkill() -{ - self notify("watchStoppingPowerKill"); - self endon("watchStoppingPowerKill"); - self endon("disconnect"); - level endon("game_ended"); - self waittill("killed_enemy"); - unsetstoppingpower(); -} - -//Function Number: 91 -unsetstoppingpower() -{ - maps\mp\_utility::_unsetperk("specialty_bulletdamage"); - self notify("watchStoppingPowerKill"); -} - -//Function Number: 92 -setjuiced(param_00,param_01,param_02) -{ - self endon("death"); - self endon("faux_spawn"); - self endon("disconnect"); - self endon("unset_juiced"); - level endon("end_game"); - self.isjuiced = 1; - if(!isdefined(param_00)) - { - param_00 = 1.25; - } - - self.movespeedscaler = param_00; - maps\mp\gametypes\_weapons::updatemovespeedscale(); - if(level.splitscreen) - { - var_03 = 56; - var_04 = 21; - } - else - { - var_03 = 80; - var_04 = 32; - } - - if(!isdefined(param_01)) - { - param_01 = 7; - } - - if(!isdefined(param_02) || param_02 == 1) - { - self.juicedtimer = maps\mp\gametypes\_hud_util::createtimer("hudsmall",1); - self.juicedtimer maps\mp\gametypes\_hud_util::setpoint("CENTER","CENTER",0,var_03); - self.juicedtimer settimer(param_01); - self.juicedtimer.color = (0.8,0.8,0); - self.juicedtimer.archived = 0; - self.juicedtimer.foreground = 1; - self.juicedicon = maps\mp\gametypes\_hud_util::createicon(level.specialty_juiced_icon,var_04,var_04); - self.juicedicon.alpha = 0; - self.juicedicon maps\mp\gametypes\_hud_util::setparent(self.juicedtimer); - self.juicedicon maps\mp\gametypes\_hud_util::setpoint("BOTTOM","TOP"); - self.juicedicon.archived = 1; - self.juicedicon.sort = 1; - self.juicedicon.foreground = 1; - self.juicedicon fadeovertime(1); - self.juicedicon.alpha = 0.85; - } - - thread unsetjuicedondeath(); - thread unsetjuicedonride(); - wait(param_01 - 2); - if(isdefined(self.juicedicon)) - { - self.juicedicon fadeovertime(2); - self.juicedicon.alpha = 0; - } - - if(isdefined(self.juicedtimer)) - { - self.juicedtimer fadeovertime(2); - self.juicedtimer.alpha = 0; - } - - wait(2); - unsetjuiced(); -} - -//Function Number: 93 -unsetjuiced(param_00) -{ - if(!isdefined(param_00)) - { - if(maps\mp\_utility::isjuggernaut()) - { - if(isdefined(self.juggmovespeedscaler)) - { - self.movespeedscaler = self.juggmovespeedscaler; - } - else - { - self.movespeedscaler = 0.7; - } - } - else - { - self.movespeedscaler = level.baseplayermovescale; - if(maps\mp\_utility::_hasperk("specialty_lightweight")) - { - self.movespeedscaler = maps\mp\_utility::lightweightscalar(); - } - } - - maps\mp\gametypes\_weapons::updatemovespeedscale(); - } - - if(isdefined(self.juicedicon)) - { - self.juicedicon destroy(); - } - - if(isdefined(self.juicedtimer)) - { - self.juicedtimer destroy(); - } - - self.isjuiced = undefined; - self notify("unset_juiced"); -} - -//Function Number: 94 -unsetjuicedonride() -{ - self endon("disconnect"); - self endon("unset_juiced"); - for(;;) - { - wait(0.05); - if(maps\mp\_utility::isusingremote()) - { - thread unsetjuiced(); - break; - } - } -} - -//Function Number: 95 -unsetjuicedondeath() -{ - self endon("disconnect"); - self endon("unset_juiced"); - common_scripts\utility::waittill_any("death","faux_spawn"); - thread unsetjuiced(1); -} - -//Function Number: 96 -setlightarmorhp(param_00) -{ - if(isdefined(param_00)) - { - self.lightarmorhp = param_00; - if(isplayer(self) && isdefined(self.maxlightarmorhp) && self.maxlightarmorhp > 0) - { - var_01 = clamp(self.lightarmorhp / self.maxlightarmorhp,0,1); - self setclientomnvar("ui_light_armor_percent",var_01); - return; - } - - return; - } - - self.lightarmorhp = undefined; - self.maxlightarmorhp = undefined; - self setclientomnvar("ui_light_armor_percent",0); -} - -//Function Number: 97 -setlightarmor(param_00) -{ - self notify("give_light_armor"); - if(isdefined(self.lightarmorhp)) - { - unsetlightarmor(); - } - - thread removelightarmorondeath(); - thread removelightarmoronmatchend(); - if(isdefined(param_00)) - { - self.maxlightarmorhp = param_00; - } - else - { - self.maxlightarmorhp = 150; - } - - setlightarmorhp(self.maxlightarmorhp); -} - -//Function Number: 98 -removelightarmorondeath() -{ - self endon("disconnect"); - self endon("give_light_armor"); - self endon("remove_light_armor"); - self waittill("death"); - unsetlightarmor(); -} - -//Function Number: 99 -unsetlightarmor() -{ - setlightarmorhp(undefined); - self notify("remove_light_armor"); -} - -//Function Number: 100 -removelightarmoronmatchend() -{ - self endon("disconnect"); - self endon("remove_light_armor"); - level common_scripts\utility::waittill_any("round_end_finished","game_ended"); - thread unsetlightarmor(); -} - -//Function Number: 101 -haslightarmor() -{ - return isdefined(self.lightarmorhp) && self.lightarmorhp > 0; -} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/perks/_perks.gsc b/AW/PC/MP/maps/mp/perks/_perks.gsc deleted file mode 100644 index d1ea2ee..0000000 --- a/AW/PC/MP/maps/mp/perks/_perks.gsc +++ /dev/null @@ -1,491 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/perks/_perks.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 10 - * Decompile Time: 173 ms - * Timestamp: 10/27/2023 1:52:36 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - level.perkfuncs = []; - level.specialty_finalstand_icon = "specialty_s1_temp"; - level.specialty_c4_death_icon = "specialty_s1_temp"; - level.specialty_compassping_revenge_icon = "specialty_s1_temp"; - level.specialty_juiced_icon = "specialty_s1_temp"; - if(!isdefined(level.iszombiegame) || !level.iszombiegame) - { - level.spawnglowmodel["enemy"] = "static_tactical_insertion_device"; - level.spawnglowmodel["friendly"] = "static_tactical_insertion_device"; - level.spawnglow["enemy"] = loadfx("vfx/props/tac_insert_enemy"); - level.spawnglow["friendly"] = loadfx("vfx/props/tac_insert_friendly"); - level.spawnfire = loadfx("vfx/explosion/mp_tac_explosion"); - } - - level._effect["ricochet"] = loadfx("fx/impacts/large_metalhit_1"); - level.scriptperks = []; - level.perksetfuncs = []; - level.perkunsetfuncs = []; - level.scriptperks["specialty_blastshield"] = 1; - level.scriptperks["_specialty_blastshield"] = 1; - level.scriptperks["specialty_akimbo"] = 1; - level.scriptperks["specialty_falldamage"] = 1; - level.scriptperks["specialty_shield"] = 1; - level.scriptperks["specialty_feigndeath"] = 1; - level.scriptperks["specialty_shellshock"] = 1; - level.scriptperks["specialty_delaymine"] = 1; - level.scriptperks["specialty_localjammer"] = 1; - level.scriptperks["specialty_thermal"] = 1; - level.scriptperks["specialty_blackbox"] = 1; - level.scriptperks["specialty_steelnerves"] = 1; - level.scriptperks["specialty_flashgrenade"] = 1; - level.scriptperks["specialty_smokegrenade"] = 1; - level.scriptperks["specialty_concussiongrenade"] = 1; - level.scriptperks["specialty_saboteur"] = 1; - level.scriptperks["specialty_endgame"] = 1; - level.scriptperks["specialty_rearview"] = 1; - level.scriptperks["specialty_hardline"] = 1; - level.scriptperks["specialty_onemanarmy"] = 1; - level.scriptperks["specialty_primarydeath"] = 1; - level.scriptperks["specialty_secondarybling"] = 1; - level.scriptperks["specialty_explosivedamage"] = 1; - level.scriptperks["specialty_laststandoffhand"] = 1; - level.scriptperks["specialty_dangerclose"] = 1; - level.scriptperks["specialty_hardjack"] = 1; - level.scriptperks["specialty_extraspecialduration"] = 1; - level.scriptperks["specialty_rollover"] = 1; - level.scriptperks["specialty_armorpiercing"] = 1; - level.scriptperks["specialty_omaquickchange"] = 1; - level.scriptperks["_specialty_rearview"] = 1; - level.scriptperks["_specialty_onemanarmy"] = 1; - level.scriptperks["specialty_steadyaimpro"] = 1; - level.scriptperks["specialty_stun_resistance"] = 1; - level.scriptperks["specialty_double_load"] = 1; - level.scriptperks["specialty_regenspeed"] = 1; - level.scriptperks["specialty_twoprimaries"] = 1; - level.scriptperks["specialty_autospot"] = 1; - level.scriptperks["specialty_overkillpro"] = 1; - level.scriptperks["specialty_anytwo"] = 1; - level.scriptperks["specialty_fasterlockon"] = 1; - level.scriptperks["specialty_paint"] = 1; - level.scriptperks["specialty_paint_pro"] = 1; - level.scriptperks["specialty_silentkill"] = 1; - level.scriptperks["specialty_crouchmovement"] = 1; - level.scriptperks["specialty_personaluav"] = 1; - level.scriptperks["specialty_unwrapper"] = 1; - level.scriptperks["specialty_class_blindeye"] = 1; - level.scriptperks["specialty_class_lowprofile"] = 1; - level.scriptperks["specialty_class_coldblooded"] = 1; - level.scriptperks["specialty_class_hardwired"] = 1; - level.scriptperks["specialty_class_scavenger"] = 1; - level.scriptperks["specialty_class_hoarder"] = 1; - level.scriptperks["specialty_class_gungho"] = 1; - level.scriptperks["specialty_class_steadyhands"] = 1; - level.scriptperks["specialty_class_hardline"] = 1; - level.scriptperks["specialty_class_peripherals"] = 1; - level.scriptperks["specialty_class_quickdraw"] = 1; - level.scriptperks["specialty_class_toughness"] = 1; - level.scriptperks["specialty_class_lightweight"] = 1; - level.scriptperks["specialty_class_engineer"] = 1; - level.scriptperks["specialty_class_dangerclose"] = 1; - level.scriptperks["specialty_horde_weaponsfree"] = 1; - level.scriptperks["specialty_horde_dualprimary"] = 1; - level.scriptperks["specialty_marksman"] = 1; - level.scriptperks["specialty_sharp_focus"] = 1; - level.scriptperks["specialty_moredamage"] = 1; - level.scriptperks["specialty_copycat"] = 1; - level.scriptperks["specialty_finalstand"] = 1; - level.scriptperks["specialty_juiced"] = 1; - level.scriptperks["specialty_light_armor"] = 1; - level.scriptperks["specialty_carepackage"] = 1; - level.scriptperks["specialty_stopping_power"] = 1; - level.scriptperks["specialty_uav"] = 1; - level.scriptperks["bouncingbetty_mp"] = 1; - level.scriptperks["c4_mp"] = 1; - level.scriptperks["claymore_mp"] = 1; - level.scriptperks["frag_grenade_mp"] = 1; - level.scriptperks["semtex_mp"] = 1; - level.scriptperks["tracking_drone_mp"] = 1; - level.scriptperks["throwingknife_mp"] = 1; - level.scriptperks["exoknife_mp"] = 1; - level.scriptperks["exoknife_jug_mp"] = 1; - level.scriptperks["paint_grenade_mp"] = 1; - level.scriptperks["tri_drone_mp"] = 1; - level.scriptperks["explosive_gel_mp"] = 1; - level.scriptperks["frag_grenade_var_mp"] = 1; - level.scriptperks["contact_grenade_var_mp"] = 1; - level.scriptperks["semtex_grenade_var_mp"] = 1; - level.scriptperks["stun_grenade_var_mp"] = 1; - level.scriptperks["emp_grenade_var_mp"] = 1; - level.scriptperks["paint_grenade_var_mp"] = 1; - level.scriptperks["smoke_grenade_var_mp"] = 1; - level.scriptperks["explosive_drone_mp"] = 1; - level.scriptperks["concussion_grenade_mp"] = 1; - level.scriptperks["flash_grenade_mp"] = 1; - level.scriptperks["stun_grenade_mp"] = 1; - level.scriptperks["smoke_grenade_mp"] = 1; - level.scriptperks["emp_grenade_mp"] = 1; - level.scriptperks["portable_radar_mp"] = 1; - level.scriptperks["scrambler_mp"] = 1; - level.scriptperks["trophy_mp"] = 1; - level.scriptperks["s1_tactical_insertion_device_mp"] = 1; - level.scriptperks["specialty_wildcard_perkslot1"] = 1; - level.scriptperks["specialty_wildcard_perkslot2"] = 1; - level.scriptperks["specialty_wildcard_perkslot3"] = 1; - level.scriptperks["specialty_wildcard_primaryattachment"] = 1; - level.scriptperks["specialty_wildcard_secondaryattachment"] = 1; - level.scriptperks["specialty_wildcard_extrastreak"] = 1; - level.scriptperks["specialty_null"] = 1; - level.perksetfuncs["specialty_blastshield"] = ::maps\mp\perks\_perkfunctions::setblastshield; - level.perkunsetfuncs["specialty_blastshield"] = ::maps\mp\perks\_perkfunctions::unsetblastshield; - level.perksetfuncs["specialty_falldamage"] = ::maps\mp\perks\_perkfunctions::setfreefall; - level.perkunsetfuncs["specialty_falldamage"] = ::maps\mp\perks\_perkfunctions::unsetfreefall; - level.perksetfuncs["specialty_localjammer"] = ::maps\mp\perks\_perkfunctions::setlocaljammer; - level.perkunsetfuncs["specialty_localjammer"] = ::maps\mp\perks\_perkfunctions::unsetlocaljammer; - level.perksetfuncs["specialty_thermal"] = ::maps\mp\perks\_perkfunctions::setthermal; - level.perkunsetfuncs["specialty_thermal"] = ::maps\mp\perks\_perkfunctions::unsetthermal; - level.perksetfuncs["specialty_blackbox"] = ::maps\mp\perks\_perkfunctions::setblackbox; - level.perkunsetfuncs["specialty_blackbox"] = ::maps\mp\perks\_perkfunctions::unsetblackbox; - level.perksetfuncs["specialty_lightweight"] = ::maps\mp\perks\_perkfunctions::setlightweight; - level.perkunsetfuncs["specialty_lightweight"] = ::maps\mp\perks\_perkfunctions::unsetlightweight; - level.perksetfuncs["specialty_steelnerves"] = ::maps\mp\perks\_perkfunctions::setsteelnerves; - level.perkunsetfuncs["specialty_steelnerves"] = ::maps\mp\perks\_perkfunctions::unsetsteelnerves; - level.perksetfuncs["specialty_delaymine"] = ::maps\mp\perks\_perkfunctions::setdelaymine; - level.perkunsetfuncs["specialty_delaymine"] = ::maps\mp\perks\_perkfunctions::unsetdelaymine; - level.perksetfuncs["specialty_saboteur"] = ::maps\mp\perks\_perkfunctions::setsaboteur; - level.perkunsetfuncs["specialty_saboteur"] = ::maps\mp\perks\_perkfunctions::unsetsaboteur; - level.perksetfuncs["specialty_endgame"] = ::maps\mp\perks\_perkfunctions::setendgame; - level.perkunsetfuncs["specialty_endgame"] = ::maps\mp\perks\_perkfunctions::unsetendgame; - level.perksetfuncs["specialty_rearview"] = ::maps\mp\perks\_perkfunctions::setrearview; - level.perkunsetfuncs["specialty_rearview"] = ::maps\mp\perks\_perkfunctions::unsetrearview; - level.perksetfuncs["specialty_onemanarmy"] = ::maps\mp\perks\_perkfunctions::setonemanarmy; - level.perkunsetfuncs["specialty_onemanarmy"] = ::maps\mp\perks\_perkfunctions::unsetonemanarmy; - level.perksetfuncs["specialty_steadyaimpro"] = ::maps\mp\perks\_perkfunctions::setsteadyaimpro; - level.perkunsetfuncs["specialty_steadyaimpro"] = ::maps\mp\perks\_perkfunctions::unsetsteadyaimpro; - level.perksetfuncs["specialty_stun_resistance"] = ::maps\mp\perks\_perkfunctions::setstunresistance; - level.perkunsetfuncs["specialty_stun_resistance"] = ::maps\mp\perks\_perkfunctions::unsetstunresistance; - level.perksetfuncs["specialty_marksman"] = ::maps\mp\perks\_perkfunctions::setmarksman; - level.perkunsetfuncs["specialty_marksman"] = ::maps\mp\perks\_perkfunctions::unsetmarksman; - level.perksetfuncs["specialty_double_load"] = ::maps\mp\perks\_perkfunctions::setdoubleload; - level.perkunsetfuncs["specialty_double_load"] = ::maps\mp\perks\_perkfunctions::unsetdoubleload; - level.perksetfuncs["specialty_sharp_focus"] = ::maps\mp\perks\_perkfunctions::setsharpfocus; - level.perkunsetfuncs["specialty_sharp_focus"] = ::maps\mp\perks\_perkfunctions::unsetsharpfocus; - level.perksetfuncs["specialty_regenspeed"] = ::maps\mp\perks\_perkfunctions::setregenspeed; - level.perkunsetfuncs["specialty_regenspeed"] = ::maps\mp\perks\_perkfunctions::unsetregenspeed; - level.perksetfuncs["specialty_autospot"] = ::maps\mp\perks\_perkfunctions::setautospot; - level.perkunsetfuncs["specialty_autospot"] = ::maps\mp\perks\_perkfunctions::unsetautospot; - level.perksetfuncs["specialty_empimmune"] = ::maps\mp\perks\_perkfunctions::setempimmune; - level.perkunsetfuncs["specialty_empimmune"] = ::maps\mp\perks\_perkfunctions::unsetempimmune; - level.perksetfuncs["specialty_overkill_pro"] = ::maps\mp\perks\_perkfunctions::setoverkillpro; - level.perkunsetfuncs["specialty_overkill_pro"] = ::maps\mp\perks\_perkfunctions::unsetoverkillpro; - level.perksetfuncs["specialty_personaluav"] = ::maps\mp\perks\_perkfunctions::setpersonaluav; - level.perkunsetfuncs["specialty_personaluav"] = ::maps\mp\perks\_perkfunctions::unsetpersonaluav; - level.perksetfuncs["specialty_crouchmovement"] = ::maps\mp\perks\_perkfunctions::setcrouchmovement; - level.perkunsetfuncs["specialty_crouchmovement"] = ::maps\mp\perks\_perkfunctions::unsetcrouchmovement; - level.perksetfuncs["specialty_light_armor"] = ::maps\mp\perks\_perkfunctions::setlightarmor; - level.perkunsetfuncs["specialty_light_armor"] = ::maps\mp\perks\_perkfunctions::unsetlightarmor; - level.perksetfuncs["specialty_finalstand"] = ::maps\mp\perks\_perkfunctions::setfinalstand; - level.perkunsetfuncs["specialty_finalstand"] = ::maps\mp\perks\_perkfunctions::unsetfinalstand; - level.perksetfuncs["specialty_juiced"] = ::maps\mp\perks\_perkfunctions::setjuiced; - level.perkunsetfuncs["specialty_juiced"] = ::maps\mp\perks\_perkfunctions::unsetjuiced; - level.perksetfuncs["specialty_carepackage"] = ::maps\mp\perks\_perkfunctions::setcarepackage; - level.perkunsetfuncs["specialty_carepackage"] = ::maps\mp\perks\_perkfunctions::unsetcarepackage; - level.perksetfuncs["specialty_stopping_power"] = ::maps\mp\perks\_perkfunctions::setstoppingpower; - level.perkunsetfuncs["specialty_stopping_power"] = ::maps\mp\perks\_perkfunctions::unsetstoppingpower; - level.perksetfuncs["specialty_uav"] = ::maps\mp\perks\_perkfunctions::setuav; - level.perkunsetfuncs["specialty_uav"] = ::maps\mp\perks\_perkfunctions::unsetuav; - initperkdvars(); - level thread onplayerconnect(); -} - -//Function Number: 2 -validateperk(param_00,param_01) -{ - if(getdvarint("scr_game_perks") == 0) - { - return "specialty_null"; - } - - if(param_00 == 0 || param_00 == 1) - { - switch(param_01) - { - case "specialty_class_flakjacket": - case "specialty_extended_battery": - case "specialty_class_dangerclose": - case "specialty_class_lightweight": - case "specialty_class_lowprofile": - break; - - default: - break; - } - } -} - -//Function Number: 3 -getemptyperks() -{ - var_00 = []; - for(var_01 = 0;var_01 < 6;var_01++) - { - var_00[var_01] = "specialty_null"; - } - - return var_00; -} - -//Function Number: 4 -onplayerconnect() -{ - for(;;) - { - level waittill("connected",var_00); - var_00 thread onplayerspawned(); - } -} - -//Function Number: 5 -onplayerspawned() -{ - self endon("disconnect"); - self.perks = []; - self.weaponlist = []; - self.omaclasschanged = 0; - for(;;) - { - self waittill("spawned_player"); - self.omaclasschanged = 0; - thread maps\mp\gametypes\_scrambler::scramblerproximitytracker(); - } -} - -//Function Number: 6 -cac_modified_damage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) -{ - var_09 = 0; - var_0A = maps\mp\_utility::strip_suffix(param_04,"_lefthand"); - if(maps\mp\_utility::isbulletdamage(param_03)) - { - if(isplayer(param_01) && param_01 maps\mp\_utility::_hasperk("specialty_paint_pro") && !maps\mp\_utility::iskillstreakweapon(param_04) && isplayer(param_00) && !param_00 maps\mp\_utility::_hasperk("specialty_class_lowprofile")) - { - if(!param_00 maps\mp\perks\_perkfunctions::ispainted()) - { - param_01 maps\mp\gametypes\_missions::processchallenge("ch_bulletpaint"); - } - - if(param_01.trackrounds.has_trackrounds) - { - param_00 thread maps\mp\_trackrounds::set_painted_trackrounds(param_01); - } - - param_00 thread maps\mp\perks\_perkfunctions::setpainted(param_01); - } - - if(isplayer(param_01) && isdefined(param_04) && maps\mp\_utility::getweaponclass(param_04) == "weapon_sniper" && issubstr(param_04,"silencer")) - { - param_02 = param_02 * 0.75; - } - - if(isplayer(param_01) && param_01 maps\mp\_utility::_hasperk("specialty_bulletdamage") && param_00 maps\mp\_utility::_hasperk("specialty_armorvest")) - { - var_09 = var_09 + 0; - } - else if(isplayer(param_01) && param_01 maps\mp\_utility::_hasperk("specialty_bulletdamage") || param_01 maps\mp\_utility::_hasperk("specialty_moredamage")) - { - var_09 = var_09 + param_02 * level.bulletdamagemod; - } - else if(param_00 maps\mp\_utility::_hasperk("specialty_armorvest")) - { - var_09 = var_09 - param_02 * level.armorvestmod; - } - - if(param_00 maps\mp\_utility::isjuggernaut()) - { - var_0B = isdefined(param_00.juggernautweak) && param_00.juggernautweak && param_07 == "head" || param_07 == "helmet"; - if(!var_0B) - { - param_02 = param_02 * level.juggernautmod; - } - } - } - else if(isexplosivedamagemod(param_03)) - { - if(isplayer(param_01) && param_01 != param_00 && param_01 isitemunlocked("specialty_paint") && param_01 maps\mp\_utility::_hasperk("specialty_paint") && !maps\mp\_utility::iskillstreakweapon(param_04)) - { - if(!param_00 maps\mp\perks\_perkfunctions::ispainted()) - { - param_01 maps\mp\gametypes\_missions::processchallenge("ch_paint_pro"); - } - - param_00 thread maps\mp\perks\_perkfunctions::setpainted(param_01); - } - - if(isplayer(param_01) && weaponinheritsperks(param_04) && param_01 maps\mp\_utility::_hasperk("specialty_explosivedamage") && param_00 maps\mp\_utility::_hasperk("_specialty_blastshield")) - { - var_09 = var_09 + 0; - } - else if(isplayer(param_01) && weaponinheritsperks(param_04) && param_01 maps\mp\_utility::_hasperk("specialty_explosivedamage")) - { - var_09 = var_09 + param_02 * level.explosivedamagemod; - } - else if(param_00 maps\mp\_utility::_hasperk("_specialty_blastshield") && isdefined(param_00.specialty_blastshield_bonus) && var_0A != "semtex_mp" || param_02 < 125) - { - var_09 = var_09 - int(param_02 * param_00.specialty_blastshield_bonus); - } - - if(maps\mp\_utility::iskillstreakweapon(param_04) && isplayer(param_01) && param_01 maps\mp\_utility::_hasperk("specialty_explosivedamage")) - { - var_09 = var_09 + param_02 * level.explosivedamagemod; - } - - if(param_00 maps\mp\_utility::isjuggernaut()) - { - switch(param_04) - { - case "ac130_25mm_mp": - break; - - case "remotemissile_projectile_gas_mp": - case "remotemissile_projectile_cluster_parent_mp": - case "remotemissile_projectile_mp": - break; - - default: - break; - } - } - } -} - -//Function Number: 7 -initperkdvars() -{ - level.juggernautmod = 0.08; - level.juggernatudefmod = 0.08; - level.armorpiercingmod = 1.5; - level.regenhealthmod = 0.25; - level.bulletdamagemod = maps\mp\_utility::getintproperty("perk_bulletDamage",12) / 100; - level.explosivedamagemod = maps\mp\_utility::getintproperty("perk_explosiveDamage",10) / 100; - level.riotshieldmod = maps\mp\_utility::getintproperty("perk_riotShield",100) / 100; - level.armorvestmod = maps\mp\_utility::getintproperty("perk_armorVest",20) / 100; -} - -//Function Number: 8 -cac_selector() -{ -} - -//Function Number: 9 -giveblindeyeafterspawn() -{ - self endon("death"); - self endon("disconnect"); - maps\mp\_utility::giveperk("specialty_blindeye",0); - self.spawnperk = 1; - while(self.avoidkillstreakonspawntimer > 0) - { - self.avoidkillstreakonspawntimer = self.avoidkillstreakonspawntimer - 0.05; - wait(0.05); - } - - maps\mp\_utility::_unsetperk("specialty_blindeye"); - self.spawnperk = 0; -} - -//Function Number: 10 -applyperks() -{ - self setviewkickscale(0.5); - if(maps\mp\_utility::_hasperk("specialty_extended_battery")) - { - maps\mp\_utility::giveperk("specialty_exo_slamboots",0); - } - - if(maps\mp\_utility::_hasperk("specialty_class_lowprofile")) - { - maps\mp\_utility::giveperk("specialty_radarimmune",0); - maps\mp\_utility::giveperk("specialty_exoping_immune",0); - } - - if(maps\mp\_utility::_hasperk("specialty_class_flakjacket")) - { - maps\mp\_utility::giveperk("specialty_hard_shell",0); - maps\mp\_utility::giveperk("specialty_throwback",0); - maps\mp\_utility::giveperk("_specialty_blastshield",0); - self.specialty_blastshield_bonus = maps\mp\_utility::getintproperty("perk_blastShieldScale",45) / 100; - if(isdefined(level.hardcoremode) && level.hardcoremode) - { - self.specialty_blastshield_bonus = maps\mp\_utility::getintproperty("perk_blastShieldScale_HC",50) / 100; - } - } - - if(maps\mp\_utility::_hasperk("specialty_class_lightweight")) - { - maps\mp\_utility::giveperk("specialty_lightweight",0); - } - - if(maps\mp\_utility::_hasperk("specialty_class_dangerclose")) - { - maps\mp\_utility::giveperk("specialty_explosivedamage",0); - } - - if(maps\mp\_utility::_hasperk("specialty_class_blindeye")) - { - maps\mp\_utility::giveperk("specialty_blindeye",0); - maps\mp\_utility::giveperk("specialty_plainsight",0); - } - - if(maps\mp\_utility::_hasperk("specialty_class_coldblooded")) - { - maps\mp\_utility::giveperk("specialty_coldblooded",0); - maps\mp\_utility::giveperk("specialty_spygame",0); - maps\mp\_utility::giveperk("specialty_heartbreaker",0); - } - - if(maps\mp\_utility::_hasperk("specialty_class_peripherals") || maps\mp\_utility::practiceroundgame()) - { - maps\mp\_utility::giveperk("specialty_moreminimap",0); - maps\mp\_utility::giveperk("specialty_silentkill",0); - } - - if(maps\mp\_utility::_hasperk("specialty_class_fasthands")) - { - maps\mp\_utility::giveperk("specialty_quickswap",0); - maps\mp\_utility::giveperk("specialty_fastoffhand",0); - maps\mp\_utility::giveperk("specialty_sprintreload",0); - } - - if(maps\mp\_utility::_hasperk("specialty_class_dexterity")) - { - maps\mp\_utility::giveperk("specialty_sprintfire",0); - } - - if(maps\mp\_utility::_hasperk("specialty_class_hardwired")) - { - maps\mp\_utility::giveperk("specialty_empimmune",0); - maps\mp\_utility::giveperk("specialty_stun_resistance",0); - self.stunscaler = 0.1; - } - - if(maps\mp\_utility::_hasperk("specialty_class_toughness")) - { - self setviewkickscale(0.2); - } - - if(maps\mp\_utility::_hasperk("specialty_class_scavenger")) - { - self.ammopickup_scalar = 0.2; - maps\mp\_utility::giveperk("specialty_scavenger",0); - maps\mp\_utility::giveperk("specialty_bulletresupply",0); - maps\mp\_utility::giveperk("specialty_extraammo",0); - } - - if(maps\mp\_utility::_hasperk("specialty_class_hardline")) - { - maps\mp\_utility::giveperk("specialty_hardline",0); - } -} \ No newline at end of file diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_128_across_256_up.gsc b/AW/PC/SP/animscripts/traverse/boost_jump_128_across_256_up.gsc deleted file mode 100644 index 3360541..0000000 --- a/AW/PC/SP/animscripts/traverse/boost_jump_128_across_256_up.gsc +++ /dev/null @@ -1,18 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_128_across_256_up.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 1 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 1:53:12 AM -*******************************************************************/ - -//Function Number: 1 -main() -{ - if(self.canjumppath) - { - animscripts\traverse\boost::rocket_jump_human(%boost_jump_128_across_256_up,1); - } -} \ No newline at end of file diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_256_across_128_up.gsc b/AW/PC/SP/animscripts/traverse/boost_jump_256_across_128_up.gsc deleted file mode 100644 index aefc5c6..0000000 --- a/AW/PC/SP/animscripts/traverse/boost_jump_256_across_128_up.gsc +++ /dev/null @@ -1,18 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_256_across_128_up.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 1 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:53:17 AM -*******************************************************************/ - -//Function Number: 1 -main() -{ - if(self.canjumppath) - { - animscripts\traverse\boost::rocket_jump_human(%boost_jump_256_across_128_up,1); - } -} \ No newline at end of file diff --git a/AW/PC/SP/common_scripts/_bcs_location_trigs.gsc b/AW/PC/SP/common_scripts/_bcs_location_trigs.gsc deleted file mode 100644 index 8485d7b..0000000 --- a/AW/PC/SP/common_scripts/_bcs_location_trigs.gsc +++ /dev/null @@ -1,811 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: common_scripts/_bcs_location_trigs.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 34 - * Decompile Time: 596 ms - * Timestamp: 10/27/2023 1:57:27 AM -*******************************************************************/ - -//Function Number: 1 -bcs_location_trigs_init() -{ - if(isdefined(level.dds) && isdefined(level.bcs_locations)) - { - return; - } - - level.bcs_location_mappings = []; - bcs_location_trigger_mapping(); - bcs_trigs_assign_aliases(); - level.bcs_location_mappings = undefined; - anim.locationlastcallouttimes = []; -} - -//Function Number: 2 -bcs_trigs_assign_aliases() -{ - anim.bcs_locations = []; - var_00 = getentarray(); - var_01 = []; - foreach(var_03 in var_00) - { - if(isdefined(var_03.classname) && issubstr(var_03.classname,"trigger_multiple_bcs")) - { - var_01[var_01.size] = var_03; - } - } - - foreach(var_03 in var_01) - { - if(!isdefined(level.bcs_location_mappings[var_03.classname])) - { - continue; - } - - var_06 = parselocationaliases(level.bcs_location_mappings[var_03.classname]); - if(var_06.size > 1) - { - var_06 = common_scripts\utility::array_randomize(var_06); - } - - var_03.locationaliases = var_06; - } - - anim.bcs_locations = var_01; -} - -//Function Number: 3 -parselocationaliases(param_00) -{ - var_01 = strtok(param_00," "); - return var_01; -} - -//Function Number: 4 -add_bcs_location_mapping(param_00,param_01) -{ - if(isdefined(level.bcs_location_mappings[param_00])) - { - var_02 = level.bcs_location_mappings[param_00]; - var_03 = parselocationaliases(var_02); - var_04 = parselocationaliases(param_01); - foreach(var_06 in var_04) - { - foreach(var_08 in var_03) - { - if(var_06 == var_08) - { - return; - } - } - } - - var_02 = var_02 + " " + param_01; - level.bcs_location_mappings[param_00] = var_02; - return; - } - - level.bcs_location_mappings[var_09] = var_0A; -} - -//Function Number: 5 -bcs_location_trigger_mapping() -{ - if(common_scripts\utility::issp()) - { - generic_locations(); - fusion_locations(); - sanfran_locations(); - sanfran_b_locations(); - greece_locations(); - seoul_locations(); - detroit_locations(); - betrayal_locations(); - lab_locations(); - recovery_locations(); - lagos_locations(); - merida(); - old_locations(); - return; - } - - laser2_mp(); - lab2_mp(); - mp_refraction(); - mp_prison(); - mp_dam(); - mp_detroit(); - mp_greenband(); - mp_instinct(); - mp_levity(); - mp_recovery(); - mp_solar(); - mp_terrace(); - mp_torqued(); - mp_venus(); - mp_comeback(); - old_locations_mp(); -} - -//Function Number: 6 -generic_locations() -{ - add_bcs_location_mapping("trigger_multiple_bcs_generic_doorway_generic","doorway_generic"); - add_bcs_location_mapping("trigger_multiple_bcs_generic_window_generic","window_generic"); - add_bcs_location_mapping("trigger_multiple_bcs_generic_1stfloor_generic","1stfloor_generic"); - add_bcs_location_mapping("trigger_multiple_bcs_generic_1stfloor_doorway","1stfloor_doorway"); - add_bcs_location_mapping("trigger_multiple_bcs_generic_1stfloor_window","1stfloor_window"); - add_bcs_location_mapping("trigger_multiple_bcs_generic_2ndfloor_generic","2ndfloor_generic"); - add_bcs_location_mapping("trigger_multiple_bcs_generic_2ndfloor_window","2ndfloor_window"); - add_bcs_location_mapping("trigger_multiple_bcs_generic_rooftop","rooftop"); - add_bcs_location_mapping("trigger_multiple_bcs_generic_2ndfloor_balcony","2ndfloor_balcony"); -} - -//Function Number: 7 -fusion_locations() -{ - add_bcs_location_mapping("trigger_multiple_bcs_fus_truck","fus_truck"); - add_bcs_location_mapping("trigger_multiple_bcs_fus_tower","fus_tower"); - add_bcs_location_mapping("trigger_multiple_bcs_fus_generator","fus_generator"); - add_bcs_location_mapping("trigger_multiple_bcs_fus_mt","fus_mt"); - add_bcs_location_mapping("trigger_multiple_bcs_fus_titan","fus_titan"); - add_bcs_location_mapping("trigger_multiple_bcs_fus_hill","fus_hill"); - add_bcs_location_mapping("trigger_multiple_bcs_fus_garage","fus_garage"); - add_bcs_location_mapping("trigger_multiple_bcs_fus_crane","fus_crane"); - add_bcs_location_mapping("trigger_multiple_bcs_fus_forklift","fus_forklift"); - add_bcs_location_mapping("trigger_multiple_bcs_fus_pillar","fus_pillar"); - add_bcs_location_mapping("trigger_multiple_bcs_fus_pipes","fus_pipes"); - add_bcs_location_mapping("trigger_multiple_bcs_fus_balcony","fus_balcony"); - add_bcs_location_mapping("trigger_multiple_bcs_fus_catwalk","fus_catwalk"); - add_bcs_location_mapping("trigger_multiple_bcs_fus_fueltrucks","fus_fueltrucks"); - add_bcs_location_mapping("trigger_multiple_bcs_fus_walkway","fus_walkway"); - add_bcs_location_mapping("trigger_multiple_bcs_fus_stairs","fus_stairs"); -} - -//Function Number: 8 -sanfran_locations() -{ - add_bcs_location_mapping("trigger_multiple_bcs_sfa_bus","sfa_bus"); - add_bcs_location_mapping("trigger_multiple_bcs_sfa_cardoor","sfa_cardoor"); - add_bcs_location_mapping("trigger_multiple_bcs_sfa_cargovan","sfa_cargovan"); - add_bcs_location_mapping("trigger_multiple_bcs_sfa_policecar","sfa_policecar"); - add_bcs_location_mapping("trigger_multiple_bcs_sfa_roadsign","sfa_roadsign"); - add_bcs_location_mapping("trigger_multiple_bcs_sfa_sidewalk","sfa_sidewalk"); - add_bcs_location_mapping("trigger_multiple_bcs_sfa_sportscar","sfa_sportscar"); - add_bcs_location_mapping("trigger_multiple_bcs_sfa_topbus","sfa_topbus"); - add_bcs_location_mapping("trigger_multiple_bcs_sfa_tower","sfa_tower"); - add_bcs_location_mapping("trigger_multiple_bcs_sfa_trailer","sfa_trailer"); - add_bcs_location_mapping("trigger_multiple_bcs_sfa_truck","sfa_truck"); -} - -//Function Number: 9 -sanfran_b_locations() -{ - add_bcs_location_mapping("trigger_multiple_bcs_sfb_above","above"); - add_bcs_location_mapping("trigger_multiple_bcs_sfb_containers","sfb_containers"); - add_bcs_location_mapping("trigger_multiple_bcs_sfb_doors","doors"); - add_bcs_location_mapping("trigger_multiple_bcs_sfb_helipad","helipad"); - add_bcs_location_mapping("trigger_multiple_bcs_sfb_missileturret","missileturret"); - add_bcs_location_mapping("trigger_multiple_bcs_sfb_table","table"); - add_bcs_location_mapping("trigger_multiple_bcs_sfb_truck","sfb_truck"); - add_bcs_location_mapping("trigger_multiple_bcs_sfb_vtol","vtol"); - add_bcs_location_mapping("trigger_multiple_bcs_sfb_wreckage","wreckage"); - add_bcs_location_mapping("trigger_multiple_bcs_sfb_cargocrane","cargocrane"); - add_bcs_location_mapping("trigger_multiple_bcs_sfb_catwalk","sfb_catwalk"); - add_bcs_location_mapping("trigger_multiple_bcs_sfb_console","sfb_console"); - add_bcs_location_mapping("trigger_multiple_bcs_sfb_jammer","sfb_jammer"); - add_bcs_location_mapping("trigger_multiple_bcs_sfb_launchpad","sfb_launchpad"); - add_bcs_location_mapping("trigger_multiple_bcs_sfb_jet","sfb_jet"); -} - -//Function Number: 10 -greece_locations() -{ - add_bcs_location_mapping("trigger_multiple_bcs_grk_balcony","grk_balcony"); - add_bcs_location_mapping("trigger_multiple_bcs_grk_1stfloor_window","grk_1stfloor_window"); - add_bcs_location_mapping("trigger_multiple_bcs_grk_2ndfloor_window","grk_2ndfloor_window"); - add_bcs_location_mapping("trigger_multiple_bcs_grk_3rdfloor_window","grk_3rdfloor_window"); - add_bcs_location_mapping("trigger_multiple_bcs_grk_cafe","grk_cafe"); - add_bcs_location_mapping("trigger_multiple_bcs_grk_rooftop","grk_rooftop"); - add_bcs_location_mapping("trigger_multiple_bcs_grk_doorway","grk_doorway"); - add_bcs_location_mapping("trigger_multiple_bcs_gre_vehic","gre_vehic"); - add_bcs_location_mapping("trigger_multiple_bcs_gre_statue","gre_statue"); -} - -//Function Number: 11 -seoul_locations() -{ - add_bcs_location_mapping("trigger_multiple_bcs_seo_balcony","seo_balcony"); - add_bcs_location_mapping("trigger_multiple_bcs_seo_bus","seo_bus"); - add_bcs_location_mapping("trigger_multiple_bcs_seo_stairs","seo_stairs"); - add_bcs_location_mapping("trigger_multiple_bcs_seo_2ndwindow","seo_2ndwindow"); - add_bcs_location_mapping("trigger_multiple_bcs_seo_3rdbalcony","seo_3rdbalcony"); - add_bcs_location_mapping("trigger_multiple_bcs_seo_sculpture","seo_sculpture"); - add_bcs_location_mapping("trigger_multiple_bcs_seo_window","seo_window"); - add_bcs_location_mapping("trigger_multiple_bcs_seo_window","seo_window"); - add_bcs_location_mapping("trigger_multiple_bcs_seo_cafe","seo_cafe"); - add_bcs_location_mapping("trigger_multiple_bcs_seo_counter","seo_counter"); -} - -//Function Number: 12 -detroit_locations() -{ - add_bcs_location_mapping("trigger_multiple_bcs_det_bar","det_bar"); - add_bcs_location_mapping("trigger_multiple_bcs_det_balcony","det_balcony"); - add_bcs_location_mapping("trigger_multiple_bcs_det_walkway","det_walkway"); - add_bcs_location_mapping("trigger_multiple_bcs_det_ambulance","det_ambulance"); -} - -//Function Number: 13 -betrayal_locations() -{ - add_bcs_location_mapping("trigger_multiple_bcs_bet_plaza","bet_plaza"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_way","bet_way"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_1stfloor","bet_1stfloor"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_2ndfloor","bet_2ndfloor"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_3rdfloor","bet_3rdfloor"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_above","bet_above"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_balcony","bet_balcony"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_barge","bet_barge"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_checkpt","bet_checkpt"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_doorway","bet_doorway"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_open","bet_open"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_patio","bet_patio"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_rooftop","bet_rooftop"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_street","bet_street"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_drones","bet_drones"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_fountain","bet_fountain"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_skybridge","bet_skybridge"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_below","bet_below"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_bldng","bet_bldng"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_bridge","bet_bridge"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_deplycover","bet_deplycover"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_pallets","bet_pallets"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_catwalk","bet_catwalk"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_table","bet_table"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_crates","bet_crates"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_dock","bet_dock"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_leftshore","bet_leftshore"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_rightshore","bet_rightshore"); -} - -//Function Number: 14 -lab_locations() -{ - add_bcs_location_mapping("trigger_multiple_bcs_lab_canisters","lab_canisters"); - add_bcs_location_mapping("trigger_multiple_bcs_lab_camera","lab_camera"); - add_bcs_location_mapping("trigger_multiple_bcs_lab_van","lab_van"); - add_bcs_location_mapping("trigger_multiple_bcs_lab_lwrcatwalk","lab_lwrcatwalk"); - add_bcs_location_mapping("trigger_multiple_bcs_lab_uprcatwalk","lab_uprcatwalk"); - add_bcs_location_mapping("trigger_multiple_bcs_lab_forklift","lab_forklift"); - add_bcs_location_mapping("trigger_multiple_bcs_lab_rooftop","lab_rooftop"); -} - -//Function Number: 15 -recovery_locations() -{ - add_bcs_location_mapping("trigger_multiple_bcs_rec_firepit","rec_firepit"); - add_bcs_location_mapping("trigger_multiple_bcs_rec_hill","rec_hill"); - add_bcs_location_mapping("trigger_multiple_bcs_rec_pool","rec_pool"); - add_bcs_location_mapping("trigger_multiple_bcs_rec_road","rec_road"); - add_bcs_location_mapping("trigger_multiple_bcs_rec_patio","rec_patio"); - add_bcs_location_mapping("trigger_multiple_bcs_rec_table","rec_table"); - add_bcs_location_mapping("trigger_multiple_bcs_rec_couch","rec_couch"); -} - -//Function Number: 16 -lagos_locations() -{ - add_bcs_location_mapping("trigger_multiple_bcs_lag_street","lag_street"); - add_bcs_location_mapping("trigger_multiple_bcs_lag_dogs","lag_dogs"); - add_bcs_location_mapping("trigger_multiple_bcs_lag_median","lag_median"); - add_bcs_location_mapping("trigger_multiple_bcs_lag_rpgbus","lag_rpgbus"); - add_bcs_location_mapping("trigger_multiple_bcs_lag_overpass","lag_overpass"); - add_bcs_location_mapping("trigger_multiple_bcs_lag_suv","lag_suv"); - add_bcs_location_mapping("trigger_multiple_bcs_lag_suvapproach","lag_suvapproach"); - add_bcs_location_mapping("trigger_multiple_bcs_lag_topvan","lag_topvan"); -} - -//Function Number: 17 -merida() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_merida_radiotower","radiotower"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_merida_embassy_generic","embassy_generic"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_merida_aaguns","aaguns"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_merida_tunnel","tunnel"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_merida_cannons_generic","cannons_generic"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_merida_pool","pool"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_merida_embassy_north","embassy_north"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_merida_embassy_south","embassy_south"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_merida_embassy_east","embassy_east"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_merida_embassy_west","embassy_west"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_merida_cannons_embassy","cannons_embassy"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_merida_cannons_radiotower","cannons_radiotower"); -} - -//Function Number: 18 -laser2_mp() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_radardish","lsr_radardish"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_laserairdefensegun","lsr_laserairdefensegun"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_razorback","lsr_razorback"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_underhelipad","lsr_underhelipad"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_bunkerlookout","lsr_bunkerlookout"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_inradartower","lsr_inradartower"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_byradartower","lsr_byradartower"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_shippingcontainer","lsr_shippingcontainer"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_onhelipad","lsr_onhelipad"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_onbeach","lsr_onbeach"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_onbeach","lsr_bybridge"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_bylasergenerator","lsr_bylasergenerator"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_underlaser","lsr_underlaser"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_byhelipad","lsr_byhelipad"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_electricalroom","lsr_electricalroom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_piperoom","lsr_piperoom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_bybuoy","lsr_bybuoy"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_bygenerator","lsr_bygenerator"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_offswitch","lsr_offswitch"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_missilerack","lsr_missilerack"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_underchains","lsr_underchains"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_beachbunkerrooftop","lsr_beachbunkerrooftop"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_bunkerrooftop","lsr_bunkerrooftop"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_nettedcargo","lsr_nettedcargo"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_cagedcargo","lsr_cagedcargo"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_overturnedcar","lsr_overturnedcar"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_bridgebase","lsr_bridgebase"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_cornerbunker","lsr_cornerbunker"); -} - -//Function Number: 19 -lab2_mp() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_lab_parkinglot","lab_parkinglot"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lab_serverroom","lab_serverroom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lab_holoroom","lab_holoroom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lab_dryingroom","lab_dryingroom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lab_chemvats","lab_chemvats"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lab_generator","lab_generator"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lab_lobby","lab_lobby"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lab_behindcrates","lab_behindcrates"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lab_scienceroom","lab_scienceroom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lab_storageroom","lab_storageroom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lab_trench","lab_trench"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lab_behindvehicle","lab_behindvehicle"); -} - -//Function Number: 20 -mp_refraction() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_oncrane","ref_oncrane"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_byloadingdocks","ref_byloadingdocks"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_nearelevatorentrance","ref_nearelevatorentrance"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_inelevator","ref_inelevator"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_oncatwalks","ref_oncatwalks"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_seccheckpoint","ref_seccheckpoint"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_helopadentrance","ref_helopadentracne"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_checkinstation","ref_checkinstation"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_maintenceentrance","ref_maintenceentrance"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_insidelounge","ref_insidelounge"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_bylockmechanism","ref_bylockmechanism"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_inelevatorshaft","ref_inelevatorshaft"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_underhelipad","ref_underhelipad"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_bylgcontainers","ref_bylgcontainers"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_bylockers","ref_bylockers"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_abovelockers","ref_abovelockers"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_byadtowers","ref_byadtowers"); -} - -//Function Number: 21 -mp_prison() -{ - add_bcs_location_mapping(" trigger_multiple_bcs_mp_psn_insidecellblock","psn_insidecellblock"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_psnfrontentrance","psn_psnfrontentrance"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_insidemaintenancebldg","psn_insidemaintenancebldg"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_onmaintenancebldgroof","psn_onmaintenancebldgroof"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_prisonyard","psn_prisonyard"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_bballcourt","psn_bballcourt"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_psnbus","psn_psnbus"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_sectower","psn_sectower"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_insidegarage","psn_insidegarage"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_topofgarage","psn_topofgarage"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_destroyedwall","psn_destroyedwall"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_cellblockcatwalk","psn_cellblockcatwalk"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_lobbyentrance","psn_lobbyentrance"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_electricalbox","psn_electricalbox"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_policecar","psn_policecar"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_behinddumpster","psn_behinddumpster"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_catwalk","psn_catwalk"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_laundrybin","psn_laundrybin"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_psnrooftop","psn_psnrooftop"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_behindac","psn_behindac"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_insidelockerbldg","psn_insidelockerbldg"); -} - -//Function Number: 22 -mp_dam() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_dam_frontgate","dam_frontgate"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dam_semitruck","dam_semitruck"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dam_contructionsite","dam_contructionsite"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dam_insideoffice","dam_insideoffice"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dam_oncatwalks","dam_oncatwalks"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dam_centerstreet","dam_centerstreet"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dam_onminigun","dam_onminigun"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dam_cranebase","dam_cranebase"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dam_infactory","dam_infactory"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dam_inturbinebldg","dam_inturbinebldg"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dam_movingpipe","dam_movingpipe"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dam_electricalgrid","dam_electricalgrid"); - add_bcs_location_mapping("trigger_multiple_bcs_dam_insidelounge","dam_insidelounge"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dam_inpipes","dam_inpipes"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dam_underground","dam_underground"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dam_factoryrooftop","dam_factoryrooftop"); -} - -//Function Number: 23 -mp_detroit() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_inschool","det_inschool"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_bylockers","det_bylockers"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_hospitalentrance","det_hospitalentrance"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_hospitallobby","det_hospitallobby"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_inparkinggarage","det_inparkinggarage"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_garageentrance","det_garageentrance"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_piperoom","det_piperoom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_onramp","det_onramp"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_inalley","det_inalley"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_bytrailers","det_bytrailers"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_ontrailers","det_ontrailers"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_inthepod","det_inthepod"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_throughpark","det_throughpark"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_byplayground","det_byplayground"); - add_bcs_location_mapping("triger_multiple_bcs_mp_det_garageoverlook","det_garageoverlook"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_backalley","det_backalley"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_parkoffice","det_parkoffice"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_hospitaloffice","det_hospitaloffice"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_throughstreet","det_throughstreet"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_upperstreet","det_upperstreet"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_lowerstreet","det_lowerstreet"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_bycontainers","det_bycontainers"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_bydiner","det_bydiner"); -} - -//Function Number: 24 -mp_greenband() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_2ndflooraquarium","grn_2ndflooraquarium"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_hotelbar","grn_hotelbar"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_incafe","grn_incafe"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_behindcherrytree","grn_behindcherrytree"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_aquariumhallway","grn_aquariumhallway"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_aquariumpatio","grn_aquariumpatio"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_inelevator","grn_inelevator"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_behindaquariumdesk","grn_behindaquariumdesk"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_inzengarden","grn_inzengarden"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_topofzengarden","grn_topofzengarden"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_hotelentrance","grn_hotelentrance"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_hotellobby","grn_hotellobby"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_inaquarium","grn_aquarium"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_inlounge","grn_inlounge"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_behindstatue","grn_behindstatue"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_insidewalkway","grn_insidewalkway"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_underawning","grn_underawning"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_topofawning","grn_topofawning"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_behindlargerock","grn_behindlargerock"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_nearsculpture","grn_nearsculpture"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_behindsmallplanter","grn_behindsmallplanter"); -} - -//Function Number: 25 -mp_instinct() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_ins_byriverbed","ins_byriverbed"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ins_underexcavator","ins_underexcavator"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ins_oncliffs","ins_oncliffs"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ins_centertemple","ins_centertemple"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ins_towerofruins","ins_towerofruins"); - add_bcs_location_mapping("triger_multiple_bcs_mp_ins_nearpryramidhall","ins_nearpryramidhall"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ins_insidepryramid","ins_insidepryramid"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ins_behindtrailers","ins_behindtrailers"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ins_powergenerators","ins_powergenerators"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ins_onrubble","ins_onrubble"); -} - -//Function Number: 26 -mp_levity() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_secgates","lev_secgates"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_controlroom","lev_controlroom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_accessroofs","lev_accessroofs"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_mainhangar","lev_mainhangar"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_dronestorage","lev_dronestorage"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_inflightcontrol","lev_flightcontrol"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_flightcontrolroof","lev_flightcontrolroof"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_flightcontrolalley","lev_flightcontrolalley"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_observationdeck","lev_observationdeck"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_serveraccessroof","lev_serveraccessroof"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_hangarlounge","lev_hangarlounge"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_powercontrol","lev_powercontrol"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_readyrooms","lev_readyrooms"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_rearhangar","lev_rearhangar"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_serveraccess","lev_serveraccess"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_nearwaterfall","lev_nearwaterfall"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_nearrockslide","lev_nearrockslide"); -} - -//Function Number: 27 -mp_recovery() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_rec_inobservatory","rec_inobservatory"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_rec_bytram","rec_bytram"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_rec_byskywalk","rec_byskywalk"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_rec_inravine","rec_inravine"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_rec_insiderockhall","rec_insiderockhall"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_rec_byhangardoor","rec_byhangardoor"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_rec_inplaza","rec_inplaza"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_rec_bychopper","rec_bychopper"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_rec_onlaunchdeck","rec_onlaunchdeck"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_rec_nearridge","rec_nearridge"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_rec_undercontroltower","rec_undercontroltower"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_rec_gatecontrolroom","rec_gatecontrolroom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_rec_underdeck","rec_underdeck"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_rec_observationdeck","rec_observationdeck"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_rec_byrustedvan","rec_byrustedvan"); -} - -//Function Number: 28 -mp_solar() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_inparkinglot","slr_inparkinglot"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_bymainentry","slr_bymainentry"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_atpool","slr_atpool"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_indraintunnel","slr_indraintunnel"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_inoffice","slr_inoffice"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_bysmalltanks","slr_bysmalltanks"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_intowercontrolroom","slr_intowercontrolroom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_bytransformers","slr_bytransformers"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_condensercontrolroom","slr_condensercontrolroom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_inbacklot","slr_inbacklot"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_bycyclonetank","slr_bycyclonetank"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_indrainarea","slr_indrainarea"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_indriveway","slr_indriveway"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_visitorcenter","slr_visitorcenter"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_inpumproom","slr_inpumproom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_sciencearea","slr_sciencearea"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_ingarage","slr_ingarage"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_oncatwalks","slr_oncatwalks"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_bycondensers","slr_bycondensers"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_inutilityroom","slr_inutilityroom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_onutilityroof","slr_onutilityroof"); -} - -//Function Number: 29 -mp_terrace() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_hotellobby","trc_hotellobby"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_atgrotto","trc_atgrotto"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_insaunatunnel","trc_insaunatunnel"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_saunaentrance","trc_saunaentrance"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_inlowerruins","trc_inlowerruins"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_inupperruins","trc_inupperruins"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_onupperterrace","trc_onupperterrace"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_incafe","trc_incafe"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_undertower","trc_undertower"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_nightclubentrance","trc_nightclubentrance"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_yellowroom","trc_yellowroom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_redroom","trc_redroom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_lowerterrace","trc_lowerterrace"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_atbonfire","trc_atbonfire"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_poseidonspool","trc_poseidonspool"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_saunaroof","trc_saunaroof"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_inshowers","trc_inshowers"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_topofminervamall","trc_topofminervamall"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_sixbellspatio","trc_sixbellspatio"); -} - -//Function Number: 30 -mp_torqued() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_nearbusstop","trq_nearbusstop"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_incafe","trq_incafe"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_chocolateshop","trq_chocolateshop"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_baseofclocktower","trq_baseofclocktower"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_inclocktower","trq_inclocktower"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_nearfountain","trq_nearfountain"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_outdoorcafe","trq_outdoorcafe"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_parkinglot","trq_parkinglot"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_gatedpatio","trq_gatedpatio"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_nearrestaurant","trq_nearrestaurant"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_insemi","trq_insemi"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_nearsnackbar","trq_nearsnackbar"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_insideticketcounter","trq_insideticketcounter"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_frontoftrain","trq_frontoftrain"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_backoftrain","trq_backoftrain"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_utilitywalkway","trq_utilitywalkway"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_onskywalk","trq_onskywalk"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_topofawning","trq_topofawning"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_behindbearstatue","trq_behindbearstatue"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_behindcar","trq_behindcar"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_incoffeeshop","trq_incoffeeshop"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_inconstructionblgd","trq_inconstructionblgd"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_inelevator","trq_inelevator"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_onroof","trq_onroof"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_behindsecuritytruck","trq_behindsecuritytruck"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_aboveticketcounter","trq_aboveticketcounter"); -} - -//Function Number: 31 -mp_venus() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_inpool","vns_inpool"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_bypool","vns_bypool"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_inlounge","vns_inlounge"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_inlobby","vns_inlobby"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_onbalcony","vns_onbalcony"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_byhelipad","vns_byhelipad"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_onfountain","vns_onfountain"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_byfountain","vns_byfountain"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_onpoolshade","vns_onpoolshade"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_inzengarden","vns_inzengarden"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_inbar","vns_inbar"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_bybar","vns_bybar"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_onwoodendeck","vns_onwoodendeck"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_inobservationlounge","vns_inobservationlounge"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_bywaterfall","vns_bywaterfall"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_incentercourtyard","vns_incentercourtyard"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_onpatio","vns_onpatio"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_byfallentree","vns_byfallentree"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_inbansaigarden","vns_inbansaigarden"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_bypenthouse","vns_bypenthouse"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_byhorsestatue","vns_byhorsestatue"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_bysoliderstatue","vns_bysoliderstatue"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_onhallwayrooftop","vns_onhallwayrooftop"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_onbalconystaircase","vns_onbalconystaircase"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_onoutsidebalconystaircase","vns_onoutsidebalconystaircase"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_onobservationdeck","vns_onobservationdeck"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_onobservationrooftop","vns_onobservationrooftop"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_underwaterfall","vns_underwaterfall"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_insaunalobby","vns_insaunalobby"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_underkeyholearchway","vns_underkeyholearchway"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_onoverhang","vns_onoverhang"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_bylanterns","vns_bylanterns"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_onpenthouseroof","vns_onpenthouseroof"); -} - -//Function Number: 32 -mp_comeback() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_rearentrancenetcafe","cbk_rearentrancenetcafe"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_netcafe","cbk_netcafe"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_videostore","cbk_videostore"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_videostoreroof","cbk_videostoreroof"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_byshanty","cbk_byshanty"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_powerstationroof","cbk_powerstationroof"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_centercoil","cbk_centercoil"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_glassoffices","cbk_glassoffices"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_grassybalcony","cbk_grassybalcony"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_fabricsshop","cbk_fabricsshop"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_fabricsshoproof","cbk_fabricsshoproof"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_westcourtyard","cbk_westcourtyard"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_nearskywalk","cbk_nearskywalk"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_baseofapttower","cbk_baseofapttower"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_northcourtyard","cbk_northcourtyard"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_atopensewer","cbk_atopensewer"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_eastcourtyard","cbk_eastcourtyard"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_nearmarket","cbk_nearmarket"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_oneonezero","cbk_oneonezero"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_southcourtyard","cbk_southcourtyard"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_southerncourtyard","cbk_southerncourtyard"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_outsideofficebldg","cbk_outsideofficebldg"); -} - -//Function Number: 33 -old_locations() -{ - add_bcs_location_mapping("trigger_multiple_bcs_ns_acrosschasm","acrosschasm"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_amcrt_stck","amcrt_stck"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_barr_conc","barr_conc"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_brls","brls"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_catwlk","catwlk"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_cell_l","cell_l"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_cell_r","cell_r"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_celldr_endhl","celldr_endhl"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_corrgatedmtl","corrgatedmtl"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_cot","cot"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_crt_stck","crt_stck"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_crtstk_nrldge","crtstk_nrldge"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_cv_cent","cv_cent"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_cv_cent_concsup","cv_cent_concsup"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_cv_cent_tv","cv_cent_tv"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_cv_small_l","cv_small_l"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_cv_wall_inside","cv_wall_inside"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_cv_wall_outside","cv_wall_outside"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_dpstr","dpstr"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_drvwy","drvwy"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_dsk_lg","dsk_lg"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_dsk_stck","dsk_stck"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_fuelcont","fuelcont"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_fuelconts","fuelconts"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_gbgcns","gbgcns"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_hdghog","hdghog"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_hesco_nrledge","hesco_nrledge"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_hescobarr","hescobarr"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_icemach","icemach"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_intsec_3w","intsec_3w"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_lckr_cntr","lckr_cntr"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_lckr_l","lckr_l"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_lckr_ne","lckr_ne"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_lckr_r","lckr_r"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_lckr_sw","lckr_sw"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_lowwall_bwire","lowwall_bwire"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_newsbox","newsbox"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_phnbth","phnbth"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_pipes_behind","pipes_behind"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_pipes_nside","pipes_nside"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_rappel_left","rappel_left"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_samlnchr","samlnchr"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_sentrygun","sentrygun"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_shwr_cntr","shwr_cntr"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_shwr_ne","shwr_ne"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_shwr_sw","shwr_sw"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_sndbgs","sndbgs"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_stairs_down","stairs_down"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_stairs_up","stairs_up"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_stairs_ylw","stairs_ylw"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_tun_leadoutside","tun_leadoutside"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_vendmach","vendmach"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_wirespl_lg","wirespl_lg"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_wlkwy_abv_archs","wlkwy_abv_archs"); - add_bcs_location_mapping("trigger_multiple_bcs_df_monument_courtyard","monument_courtyard"); - add_bcs_location_mapping("trigger_multiple_bcs_df_monument_top","monument_top"); - add_bcs_location_mapping("trigger_multiple_bcs_df_car_parked","car_parked"); - add_bcs_location_mapping("trigger_multiple_bcs_df_embassy","embassy"); - add_bcs_location_mapping("trigger_multiple_bcs_df_embassy_1st","embassy_1st"); - add_bcs_location_mapping("trigger_multiple_bcs_df_embassy_3rd","embassy_3rd"); - add_bcs_location_mapping("trigger_multiple_bcs_df_vehicle_snowcat","vehicle_snowcat"); - add_bcs_location_mapping("trigger_multiple_bcs_df_vehicle_dumptruck","vehicle_dumptruck"); - add_bcs_location_mapping("trigger_multiple_bcs_df_building_red","building_red"); - add_bcs_location_mapping("trigger_multiple_bcs_df_vehicle_snowmobile","vehicle_snowmobile"); - add_bcs_location_mapping("trigger_multiple_bcs_df_scaffolding_generic","scaffolding_generic"); - add_bcs_location_mapping("trigger_multiple_bcs_df_container_red","container_red"); - add_bcs_location_mapping("trigger_multiple_bcs_df_tires_large","tires_large"); - add_bcs_location_mapping("trigger_multiple_bcs_df_memorial_building","memorial_building"); - add_bcs_location_mapping("trigger_multiple_bcs_df_stand_hotdog","stand_hotdog"); - add_bcs_location_mapping("trigger_multiple_bcs_df_stand_trading","stand_trading"); - add_bcs_location_mapping("trigger_multiple_bcs_df_subway_entrance","subway_entrance"); - add_bcs_location_mapping("trigger_multiple_bcs_df_rubble_generic","rubble_generic"); - add_bcs_location_mapping("trigger_multiple_bcs_df_cases_right","cases_right"); - add_bcs_location_mapping("trigger_multiple_bcs_df_cases_left","cases_left"); - add_bcs_location_mapping("trigger_multiple_bcs_df_cases_generic","cases_generic"); - add_bcs_location_mapping("trigger_multiple_bcs_df_barrier_orange","barrier_orange"); - add_bcs_location_mapping("trigger_multiple_bcs_df_barrier_hesco","barrier_hesco"); - add_bcs_location_mapping("trigger_multiple_bcs_df_stryker_destroyed","stryker_destroyed"); - add_bcs_location_mapping("trigger_multiple_bcs_df_fan_exhaust","fan_exhaust"); - add_bcs_location_mapping("trigger_multiple_bcs_df_tower_jamming","tower_jamming"); - add_bcs_location_mapping("trigger_multiple_bcs_df_ac_generic","ac_generic"); - add_bcs_location_mapping("trigger_multiple_bcs_df_table_computer","table_computer"); - add_bcs_location_mapping("trigger_multiple_bcs_df_bulkhead_generic","bulkhead_generic"); - add_bcs_location_mapping("trigger_multiple_bcs_df_bunk_generic","bunk_generic"); - add_bcs_location_mapping("trigger_multiple_bcs_df_console_generic","console_generic"); - add_bcs_location_mapping("trigger_multiple_bcs_df_deck_generic","deck_generic"); -} - -//Function Number: 34 -old_locations_mp() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_dome_bunker","bunker"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dome_bunker_back","bunker_back"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dome_office","office"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dome_dome","dome"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dome_catwalk","catwalk"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dome_loadingbay","loadingbay"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dome_hallway","hallway"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dome_hallway_loadingbay","hallway_loadingbay"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dome_hallway_office","hallway_office"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dome_wall_broken","wall_broken"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dome_tank","tank"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dome_radar","radar"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dome_humvee","humvee"); -} \ No newline at end of file diff --git a/AW/PC/SP/common_scripts/_createfx.gsc b/AW/PC/SP/common_scripts/_createfx.gsc deleted file mode 100644 index 050d3f2..0000000 --- a/AW/PC/SP/common_scripts/_createfx.gsc +++ /dev/null @@ -1,3267 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: common_scripts/_createfx.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 137 - * Decompile Time: 2213 ms - * Timestamp: 10/27/2023 1:57:34 AM -*******************************************************************/ - -//Function Number: 1 -soundonly() -{ - return getdvar("scr_createfx_type","0") == "2"; -} - -//Function Number: 2 -fxonly() -{ - return getdvar("scr_createfx_type","0") == "1"; -} - -//Function Number: 3 -tracknoneditfx(param_00) -{ - if(isdefined(level.tracked_ent)) - { - if(!isdefined(level.tracked_ents)) - { - level.tracked_ents = []; - } - - level.tracked_ents[level.tracked_ents.size] = level.tracked_ent.v; - } - - level.tracked_ent = param_00; -} - -//Function Number: 4 -createeffect(param_00,param_01) -{ - var_02 = spawnstruct(); - if(soundonly()) - { - tracknoneditfx(var_02); - } - else - { - if(!isdefined(level.createfxent)) - { - level.createfxent = []; - } - - level.createfxent[level.createfxent.size] = var_02; - } - - var_02.v = []; - var_02.v["type"] = param_00; - var_02.v["fxid"] = param_01; - var_02.v["angles"] = (0,0,0); - var_02.v["origin"] = (0,0,0); - var_02.drawn = 1; - if(isdefined(param_01) && isdefined(level.createfxbyfxid)) - { - var_03 = level.createfxbyfxid[param_01]; - if(!isdefined(var_03)) - { - var_03 = []; - } - - var_03[var_03.size] = var_02; - level.createfxbyfxid[param_01] = var_03; - } - - return var_02; -} - -//Function Number: 5 -getloopeffectdelaydefault() -{ - return 0.5; -} - -//Function Number: 6 -getoneshoteffectdelaydefault() -{ - return -15; -} - -//Function Number: 7 -getexploderdelaydefault() -{ - return 0; -} - -//Function Number: 8 -getintervalsounddelaymindefault() -{ - return 0.75; -} - -//Function Number: 9 -getintervalsounddelaymaxdefault() -{ - return 2; -} - -//Function Number: 10 -createloopsound() -{ - var_00 = spawnstruct(); - if(fxonly()) - { - tracknoneditfx(var_00); - } - else - { - if(!isdefined(level.createfxent)) - { - level.createfxent = []; - } - - level.createfxent[level.createfxent.size] = var_00; - } - - var_00.v = []; - var_00.v["type"] = "soundfx"; - var_00.v["fxid"] = "No FX"; - var_00.v["soundalias"] = "nil"; - var_00.v["angles"] = (0,0,0); - var_00.v["origin"] = (0,0,0); - var_00.v["server_culled"] = 1; - if(getdvar("serverCulledSounds") != "1") - { - var_00.v["server_culled"] = 0; - } - - var_00.drawn = 1; - return var_00; -} - -//Function Number: 11 -createintervalsound() -{ - var_00 = createloopsound(); - var_00.v["type"] = "soundfx_interval"; - var_00.v["delay_min"] = getintervalsounddelaymindefault(); - var_00.v["delay_max"] = getintervalsounddelaymaxdefault(); - return var_00; -} - -//Function Number: 12 -createdynamicambience() -{ - var_00 = spawnstruct(); - if(fxonly()) - { - tracknoneditfx(var_00); - } - else - { - if(!isdefined(level.createfxent)) - { - level.createfxent = []; - } - - level.createfxent[level.createfxent.size] = var_00; - } - - var_00.v = []; - var_00.v["origin"] = (0,0,0); - var_00.v["dynamic_distance"] = 1000; - var_00.v["fxid"] = "No FX"; - var_00.v["type"] = "soundfx_dynamic"; - var_00.v["ambiencename"] = "nil"; - return var_00; -} - -//Function Number: 13 -createnewexploder() -{ - var_00 = spawnstruct(); - if(fxonly()) - { - tracknoneditfx(var_00); - } - else - { - if(!isdefined(level.createfxent)) - { - level.createfxent = []; - } - - level.createfxent[level.createfxent.size] = var_00; - } - - var_00.v = []; - var_00.v["type"] = "exploder"; - var_00.v["fxid"] = "No FX"; - var_00.v["soundalias"] = "nil"; - var_00.v["loopsound"] = "nil"; - var_00.v["angles"] = (0,0,0); - var_00.v["origin"] = (0,0,0); - var_00.v["exploder"] = 1; - var_00.v["flag"] = "nil"; - var_00.v["exploder_type"] = "normal"; - var_00.drawn = 1; - return var_00; -} - -//Function Number: 14 -createexploderex(param_00,param_01) -{ - var_02 = common_scripts\utility::createexploder(param_00); - var_02.v["exploder"] = param_01; - return var_02; -} - -//Function Number: 15 -createreactiveent() -{ - var_00 = spawnstruct(); - if(soundonly()) - { - tracknoneditfx(var_00); - } - else - { - if(!isdefined(level.createfxent)) - { - level.createfxent = []; - } - - level.createfxent[level.createfxent.size] = var_00; - } - - var_00.v = []; - var_00.v["origin"] = (0,0,0); - var_00.v["reactive_radius"] = 200; - var_00.v["fxid"] = "No FX"; - var_00.v["type"] = "reactive_fx"; - var_00.v["soundalias"] = "nil"; - return var_00; -} - -//Function Number: 16 -set_origin_and_angles(param_00,param_01) -{ - if(isdefined(level.createfx_offset)) - { - param_00 = param_00 + level.createfx_offset; - } - - self.v["origin"] = param_00; - self.v["angles"] = param_01; -} - -//Function Number: 17 -set_forward_and_up_vectors() -{ - self.v["up"] = anglestoup(self.v["angles"]); - self.v["forward"] = anglestoforward(self.v["angles"]); -} - -//Function Number: 18 -convertoneshotfx() -{ - setdvarifuninitialized("curr_exp_num",1); - var_00 = getdvarint("curr_exp_num"); - for(var_01 = 0;var_01 < level._createfx.selected_fx_ents.size;var_01++) - { - var_02 = level._createfx.selected_fx_ents[var_01]; - setfxkillondelete(var_02.looper,1); - wait 0.05; - var_02 common_scripts\utility::pauseeffect(); - var_02.v["type"] = "exploder"; - var_02.v["exploder"] = var_00; - var_02.v["exploder_type"] = "normal"; - var_02 common_scripts\utility::activate_individual_exploder(); - } - - level._createfx.justconvertedoneshot = 1; -} - -//Function Number: 19 -createfx_common() -{ - precacheshader("black"); - level._createfx = spawnstruct(); - level._createfx.grenade = spawn("script_origin",(0,0,0)); - level._createfx.grenade.fx = loadfx("vfx/explosion/frag_grenade_default"); - level._createfx.grenade.sound = "null"; - level._createfx.grenade.radius = 256; - if(level.mp_createfx) - { - hack_start("painter_mp"); - } - else - { - hack_start("painter"); - } - - common_scripts\utility::flag_init("createfx_saving"); - common_scripts\utility::flag_init("createfx_started"); - if(!isdefined(level.createfx)) - { - level.createfx = []; - } - - level.createfx_loopcounter = 0; - setdvar("ui_hidehud","1"); - level notify("createfx_common_done"); -} - -//Function Number: 20 -init_level_variables() -{ - level._createfx.selectedmove_up = 0; - level._createfx.selectedmove_forward = 0; - level._createfx.selectedmove_right = 0; - level._createfx.selectedrotate_pitch = 0; - level._createfx.selectedrotate_roll = 0; - level._createfx.selectedrotate_yaw = 0; - level._createfx.selected_fx = []; - level._createfx.selected_fx_ents = []; - level._createfx.justconvertedoneshot = 0; - level._createfx.rate = 1; - level._createfx.snap2normal = 0; - level._createfx.snap90deg = 0; - level._createfx.localrot = 0; - level._createfx.axismode = 0; - level._createfx.select_by_name = 0; - level._createfx.player_speed = getdvarfloat("g_speed"); - set_player_speed_hud(); -} - -//Function Number: 21 -init_locked_list() -{ - level._createfx.lockedlist = []; - level._createfx.lockedlist["escape"] = 1; - level._createfx.lockedlist["BUTTON_LSHLDR"] = 1; - level._createfx.lockedlist["BUTTON_RSHLDR"] = 1; - level._createfx.lockedlist["mouse1"] = 1; - level._createfx.lockedlist["ctrl"] = 1; -} - -//Function Number: 22 -init_colors() -{ - var_00 = []; - var_00["loopfx"]["selected"] = (1,1,0.2); - var_00["loopfx"]["highlighted"] = (0.4,0.95,1); - var_00["loopfx"]["default"] = (0.3,0.8,1); - var_00["oneshotfx"]["selected"] = (1,1,0.2); - var_00["oneshotfx"]["highlighted"] = (0.3,0.6,1); - var_00["oneshotfx"]["default"] = (0.1,0.2,1); - var_00["exploder"]["selected"] = (1,1,0.2); - var_00["exploder"]["highlighted"] = (1,0.2,0.2); - var_00["exploder"]["default"] = (1,0.1,0.1); - var_00["rainfx"]["selected"] = (1,1,0.2); - var_00["rainfx"]["highlighted"] = (0.95,0.4,0.95); - var_00["rainfx"]["default"] = (0.78,0,0.73); - var_00["soundfx"]["selected"] = (1,1,0.2); - var_00["soundfx"]["highlighted"] = (0.2,1,0.2); - var_00["soundfx"]["default"] = (0.1,1,0.1); - var_00["soundfx_interval"]["selected"] = (1,1,0.2); - var_00["soundfx_interval"]["highlighted"] = (0.3,1,0.3); - var_00["soundfx_interval"]["default"] = (0.1,1,0.1); - var_00["reactive_fx"]["selected"] = (1,1,0.2); - var_00["reactive_fx"]["highlighted"] = (0.5,1,0.75); - var_00["reactive_fx"]["default"] = (0.2,0.9,0.2); - var_00["soundfx_dynamic"]["selected"] = (1,1,0.2); - var_00["soundfx_dynamic"]["highlighted"] = (0.3,1,0.3); - var_00["soundfx_dynamic"]["default"] = (0.1,1,0.1); - level._createfx.colors = var_00; -} - -//Function Number: 23 -createfxlogic() -{ - waittillframeend; - wait(0.05); - if(!isdefined(level._effect)) - { - level._effect = []; - } - - if(getdvar("createfx_map") == "") - { - } - else if(getdvar("createfx_map") == common_scripts\utility::get_template_level()) - { - [[ level.func_position_player ]](); - } - - init_crosshair(); - common_scripts\_createfxmenu::init_menu(); - init_huds(); - init_tool_hud(); - init_crosshair(); - init_level_variables(); - init_locked_list(); - init_colors(); - if(getdvar("createfx_use_f4") == "") - { - } - - if(getdvar("createfx_no_autosave") == "") - { - } - - level.createfx_draw_enabled = 1; - level.last_displayed_ent = undefined; - level.buttonisheld = []; - var_00 = (0,0,0); - common_scripts\utility::flag_set("createfx_started"); - if(!level.mp_createfx) - { - var_00 = level.player.origin; - } - - var_01 = undefined; - level.fx_rotating = 0; - common_scripts\_createfxmenu::setmenu("none"); - level.createfx_selecting = 0; - var_02 = newhudelem(); - var_02.x = -120; - var_02.y = 200; - var_02.foreground = 0; - var_02 setshader("black",250,160); - var_02.alpha = 0; - level.createfx_inputlocked = 0; - foreach(var_04 in level.createfxent) - { - var_04 post_entity_creation_function(); - } - - thread draw_distance(); - var_06 = undefined; - thread createfx_autosave(); - level.createfx_last_movement_timer = 0; - thread save_undo_buffer(); - thread setup_last_movement_timer(); - for(;;) - { - var_07 = 0; - var_08 = anglestoright(level.player getplayerangles()); - var_09 = anglestoforward(level.player getplayerangles()); - var_0A = anglestoup(level.player getplayerangles()); - var_0B = 0.85; - var_0C = var_09 * 750; - level.createfxcursor = bullettrace(level.player geteye(),level.player geteye() + var_0C,0,undefined); - var_0D = undefined; - level.buttonclick = []; - level.button_is_kb = []; - process_button_held_and_clicked(); - var_0E = button_is_held("ctrl","BUTTON_LSHLDR"); - var_0F = button_is_clicked("mouse1","BUTTON_A"); - var_10 = button_is_held("mouse1","BUTTON_A"); - var_11 = button_is_held("shift"); - common_scripts\_createfxmenu::create_fx_menu(); - var_12 = "F5"; - if(getdvarint("createfx_use_f4")) - { - var_12 = "F4"; - } - - if(button_is_clicked(var_12)) - { - } - - if(getdvarint("scr_createfx_dump")) - { - generate_fx_log(); - } - - if(button_is_clicked("F2")) - { - toggle_createfx_drawing(); - } - - if(button_is_clicked("ins")) - { - insert_effect(); - } - - if(button_is_clicked("del")) - { - delete_pressed(); - } - - if(button_is_clicked("escape")) - { - clear_settable_fx(); - } - - if(button_is_clicked("rightarrow","space") && !level.createfx_menu_list_active) - { - set_off_exploders(); - } - - if(button_is_clicked("leftarrow") && !level.createfx_menu_list_active) - { - turn_off_exploders(); - } - - if(button_is_clicked("f")) - { - frame_selected(); - } - - if(button_is_clicked("u")) - { - select_by_name_list(); - } - - if(button_is_clicked("c")) - { - convertoneshotfx(); - } - - modify_player_speed(); - if(!var_0E && button_is_clicked("g")) - { - select_all_exploders_of_currently_selected("exploder"); - select_all_exploders_of_currently_selected("flag"); - } - - if(button_is_clicked("h","F1")) - { - show_help(); - } - - if(button_is_clicked("BUTTON_LSTICK")) - { - copy_ents(); - } - - if(button_is_clicked("BUTTON_RSTICK")) - { - paste_ents(); - } - - if(button_is_clicked("z")) - { - undo(); - } - - if(button_is_clicked("z") && var_11) - { - redo(); - } - - if(var_0E) - { - if(button_is_clicked("c")) - { - copy_ents(); - } - - if(button_is_clicked("v")) - { - paste_ents(); - } - - if(button_is_clicked("g")) - { - spawn_grenade(); - } - } - - if(isdefined(level._createfx.selected_fx_option_index)) - { - common_scripts\_createfxmenu::menu_fx_option_set(); - } - - for(var_13 = 0;var_13 < level.createfxent.size;var_13++) - { - var_04 = level.createfxent[var_13]; - var_14 = vectornormalize(var_04.v["origin"] - level.player.origin + (0,0,55)); - var_15 = vectordot(var_09,var_14); - if(var_15 < var_0B) - { - continue; - } - - var_0B = var_15; - var_0D = var_04; - } - - level.fx_highlightedent = var_0D; - if(isdefined(var_0D)) - { - if(isdefined(var_01)) - { - if(var_01 != var_0D) - { - if(!ent_is_selected(var_01)) - { - var_01 thread entity_highlight_disable(); - } - - if(!ent_is_selected(var_0D)) - { - var_0D thread entity_highlight_enable(); - } - } - } - else if(!ent_is_selected(var_0D)) - { - var_0D thread entity_highlight_enable(); - } - } - - manipulate_createfx_ents(var_0D,var_0F,var_10,var_0E,var_08); - var_07 = handle_selected_ents(var_07); - wait(0.05); - if(var_07) - { - update_selected_entities(); - } - - if(!level.mp_createfx) - { - var_00 = [[ level.func_position_player_get ]](var_00); - } - - var_01 = var_0D; - if(last_selected_entity_has_changed(var_06)) - { - level.effect_list_offset = 0; - clear_settable_fx(); - common_scripts\_createfxmenu::setmenu("none"); - } - - if(level._createfx.selected_fx_ents.size) - { - var_06 = level._createfx.selected_fx_ents[level._createfx.selected_fx_ents.size - 1]; - continue; - } - - var_06 = undefined; - } -} - -//Function Number: 24 -modify_player_speed() -{ - var_00 = 0; - var_01 = button_is_held("ctrl"); - if(button_is_held(".")) - { - if(var_01) - { - if(level._createfx.player_speed < 190) - { - level._createfx.player_speed = 190; - } - else - { - level._createfx.player_speed = level._createfx.player_speed + 10; - } - } - else - { - level._createfx.player_speed = level._createfx.player_speed + 5; - } - - var_00 = 1; - } - else if(button_is_held(",")) - { - if(var_01) - { - if(level._createfx.player_speed > 190) - { - level._createfx.player_speed = 190; - } - else - { - level._createfx.player_speed = level._createfx.player_speed - 10; - } - } - else - { - level._createfx.player_speed = level._createfx.player_speed - 5; - } - - var_00 = 1; - } - - if(var_00) - { - level._createfx.player_speed = clamp(level._createfx.player_speed,5,500); - [[ level.func_player_speed ]](); - set_player_speed_hud(); - } -} - -//Function Number: 25 -set_player_speed_hud() -{ - if(!isdefined(level._createfx.player_speed_hud)) - { - var_00 = newhudelem(); - var_00.alignx = "right"; - var_00.foreground = 1; - var_00.fontscale = 1.2; - var_00.alpha = 1; - var_00.x = 120; - var_00.y = 420; - var_01 = newhudelem(); - var_01.alignx = "left"; - var_01.foreground = 1; - var_01.fontscale = 1.2; - var_01.alpha = 1; - var_01.x = 120; - var_01.y = 420; - var_00.hud_value = var_01; - level._createfx.player_speed_hud = var_00; - } - - level._createfx.player_speed_hud.hud_value setvalue(level._createfx.player_speed); -} - -//Function Number: 26 -toggle_createfx_drawing() -{ - level.createfx_draw_enabled = !level.createfx_draw_enabled; -} - -//Function Number: 27 -insert_effect() -{ - common_scripts\_createfxmenu::setmenu("creation"); - level.effect_list_offset = 0; - clear_fx_hudelements(); - set_fx_hudelement("Pick effect type to create:"); - set_fx_hudelement("1. One Shot FX"); - set_fx_hudelement("2. Looping FX"); - set_fx_hudelement("3. Looping sound"); - set_fx_hudelement("4. Exploder"); - set_fx_hudelement("5. One Shot Sound"); - set_fx_hudelement("6. Reactive Sound"); - set_fx_hudelement("7. Dynamic Ambience"); - set_fx_hudelement("(c) Cancel >"); - set_fx_hudelement("(x) Exit >"); -} - -//Function Number: 28 -manipulate_createfx_ents(param_00,param_01,param_02,param_03,param_04) -{ - if(!level.createfx_draw_enabled) - { - return; - } - - if(level._createfx.select_by_name) - { - level._createfx.select_by_name = 0; - param_00 = undefined; - } - else if(select_by_substring()) - { - param_00 = undefined; - } - - for(var_05 = 0;var_05 < level.createfxent.size;var_05++) - { - var_06 = level.createfxent[var_05]; - if(!var_06.drawn) - { - continue; - } - - var_07 = getdvarfloat("createfx_scaleid"); - if(isdefined(param_00) && var_06 == param_00) - { - if(!common_scripts\_createfxmenu::entities_are_selected()) - { - common_scripts\_createfxmenu::display_fx_info(var_06); - } - - if(param_01) - { - var_08 = index_is_selected(var_05); - level.createfx_help_active = 0; - level.createfx_selecting = !var_08; - if(!param_03) - { - var_09 = level._createfx.selected_fx_ents.size; - clear_entity_selection(); - if(var_08 && var_09 == 1) - { - select_entity(var_05,var_06); - } - } - - toggle_entity_selection(var_05,var_06); - } - else if(param_02) - { - if(param_03) - { - if(level.createfx_selecting) - { - select_entity(var_05,var_06); - } - - if(!level.createfx_selecting) - { - deselect_entity(var_05,var_06); - } - } - } - - var_0A = "highlighted"; - } - else - { - var_0A = "default"; - } - - if(index_is_selected(var_05)) - { - var_0A = "selected"; - } - - var_06 createfx_print3d(var_0A,var_07,param_04); - } -} - -//Function Number: 29 -createfx_print3d(param_00,param_01,param_02) -{ - if(getdvarint("fx_showLightGridSampleOffset") != 0) - { - var_03 = getdvarfloat("fx_lightGridSampleOffset"); - var_04 = anglestoforward(self.v["angles"]) * var_03; - } - - if(self.textalpha > 0) - { - var_05 = get_print3d_text(); - var_06 = param_02 * var_05.size * -2.93; - var_07 = level._createfx.colors[self.v["type"]][param_00]; - if(isdefined(self.is_playing)) - { - var_07 = (1,0.5,0); - } - - if(isdefined(self.v["reactive_radius"])) - { - return; - } - - if(isdefined(self.v["dynamic_distance"])) - { - return; - } - } -} - -//Function Number: 30 -get_print3d_text() -{ - switch(self.v["type"]) - { - case "reactive_fx": - break; - - case "soundfx_interval": - break; - - case "soundfx_dynamic": - break; - - case "soundfx": - break; - - case "exploder": - break; - - case "oneshotfx": - break; - - default: - break; - } -} - -//Function Number: 31 -select_by_name_list() -{ - level.effect_list_offset = 0; - clear_fx_hudelements(); - common_scripts\_createfxmenu::setmenu("select_by_name"); - common_scripts\_createfxmenu::draw_effects_list(); -} - -//Function Number: 32 -handle_selected_ents(param_00) -{ - if(level._createfx.selected_fx_ents.size > 0 && level.createfx_help_active == 0) - { - param_00 = selected_ent_buttons(param_00); - if(!current_mode_hud("selected_ents")) - { - new_tool_hud("selected_ents"); - set_tool_hudelem("Mode:","move"); - set_tool_hudelem("Move Rate( -/+ ):",level._createfx.rate); - if(level._createfx.snap2normal) - { - var_01 = "on"; - var_02 = (0,1,0); - } - else - { - var_01 = "off"; - var_02 = (0.5,0.5,0.5); - } - - set_tool_hudelem("Snap2Normal( S ):",var_01,var_02); - if(level._createfx.snap90deg) - { - var_03 = "on"; - var_04 = (0,1,0); - } - else - { - var_03 = "off"; - var_04 = (0.5,0.5,0.5); - } - - set_tool_hudelem("90deg Snap( L ):",var_03,var_04); - if(level._createfx.localrot) - { - var_05 = "on"; - var_06 = (0,1,0); - } - else - { - var_05 = "off"; - var_06 = (0.5,0.5,0.5); - } - - set_tool_hudelem("Local Rotation( R ):",var_05,var_06); - } - - if(level._createfx.axismode && level._createfx.selected_fx_ents.size > 0) - { - set_tool_hudelem("Mode:","rotate"); - thread [[ level.func_process_fx_rotater ]](); - if(button_is_clicked("p")) - { - reset_axis_of_selected_ents(); - } - - if(button_is_clicked("o")) - { - aim_axis_of_selected_ents(); - } - - if(button_is_clicked("v")) - { - copy_angles_of_selected_ents(); - } - - for(var_07 = 0;var_07 < level._createfx.selected_fx_ents.size;var_07++) - { - level._createfx.selected_fx_ents[var_07] draw_axis(); - } - - if(level.selectedrotate_pitch != 0 || level.selectedrotate_yaw != 0 || level.selectedrotate_roll != 0) - { - param_00 = 1; - } - } - else - { - set_tool_hudelem("Mode:","move"); - var_08 = get_selected_move_vector(); - for(var_07 = 0;var_07 < level._createfx.selected_fx_ents.size;var_07++) - { - var_09 = level._createfx.selected_fx_ents[var_07]; - if(isdefined(var_09.model)) - { - continue; - } - - var_09 draw_cross(); - var_09.v["origin"] = var_09.v["origin"] + var_08; - } - - if(distance((0,0,0),var_08) > 0) - { - thread save_undo_buffer(); - level.createfx_last_movement_timer = 0; - param_00 = 1; - } - } - } - else - { - clear_tool_hud(); - } - - return param_00; -} - -//Function Number: 33 -selected_ent_buttons(param_00) -{ - if(button_is_clicked("BUTTON_X")) - { - toggle_axismode(); - } - - modify_rate(); - if(button_is_clicked("s")) - { - toggle_snap2normal(); - } - - if(button_is_clicked("l")) - { - toggle_snap90deg(); - } - - if(button_is_clicked("r")) - { - toggle_localrot(); - } - - if(button_is_clicked("end")) - { - drop_selection_to_ground(); - param_00 = 1; - } - - if(button_is_clicked("tab","BUTTON_RSHLDR")) - { - move_selection_to_cursor(); - param_00 = 1; - } - - return param_00; -} - -//Function Number: 34 -modify_rate() -{ - var_00 = button_is_held("shift"); - var_01 = button_is_held("ctrl"); - if(button_is_clicked("=")) - { - if(var_00) - { - level._createfx.rate = level._createfx.rate + 0.025; - } - else if(var_01) - { - if(level._createfx.rate < 1) - { - level._createfx.rate = 1; - } - else - { - level._createfx.rate = level._createfx.rate + 10; - } - } - else - { - level._createfx.rate = level._createfx.rate + 0.1; - } - } - else if(button_is_clicked("-")) - { - if(var_00) - { - level._createfx.rate = level._createfx.rate - 0.025; - } - else if(var_01) - { - if(level._createfx.rate > 1) - { - level._createfx.rate = 1; - } - else - { - level._createfx.rate = 0.1; - } - } - else - { - level._createfx.rate = level._createfx.rate - 0.1; - } - } - - level._createfx.rate = clamp(level._createfx.rate,0.025,100); - set_tool_hudelem("Move Rate( -/+ ):",level._createfx.rate); -} - -//Function Number: 35 -toggle_axismode() -{ - level._createfx.axismode = !level._createfx.axismode; -} - -//Function Number: 36 -toggle_snap2normal() -{ - level._createfx.snap2normal = !level._createfx.snap2normal; - if(level._createfx.snap2normal) - { - var_00 = "on"; - var_01 = (0,1,0); - } - else - { - var_00 = "off"; - var_01 = (0.5,0.5,0.5); - } - - set_tool_hudelem("Snap2Normal( S ):",var_00,var_01); -} - -//Function Number: 37 -toggle_snap90deg() -{ - level._createfx.snap90deg = !level._createfx.snap90deg; - if(level._createfx.snap90deg) - { - var_00 = "on"; - var_01 = (0,1,0); - } - else - { - var_00 = "off"; - var_01 = (0.5,0.5,0.5); - } - - set_tool_hudelem("90deg Snap( L ):",var_00,var_01); -} - -//Function Number: 38 -toggle_localrot() -{ - level._createfx.localrot = !level._createfx.localrot; - if(level._createfx.localrot) - { - var_00 = "on"; - var_01 = (0,1,0); - } - else - { - var_00 = "off"; - var_01 = (0.5,0.5,0.5); - } - - set_tool_hudelem("Local Rotation( R ):",var_00,var_01); -} - -//Function Number: 39 -copy_angles_of_selected_ents() -{ - thread save_undo_buffer(); - level notify("new_ent_selection"); - for(var_00 = 0;var_00 < level._createfx.selected_fx_ents.size;var_00++) - { - var_01 = level._createfx.selected_fx_ents[var_00]; - var_01.v["angles"] = level._createfx.selected_fx_ents[level._createfx.selected_fx_ents.size - 1].v["angles"]; - var_01 set_forward_and_up_vectors(); - } - - update_selected_entities(); - level.createfx_last_movement_timer = 0; -} - -//Function Number: 40 -aim_axis_of_selected_ents() -{ - thread save_undo_buffer(); - level notify("new_ent_selection"); - var_00 = level._createfx.selected_fx_ents[level._createfx.selected_fx_ents.size - 1]; - for(var_01 = 0;var_01 < level._createfx.selected_fx_ents.size - 1;var_01++) - { - var_02 = level._createfx.selected_fx_ents[var_01]; - var_03 = vectortoangles(var_00.v["origin"] - var_02.v["origin"]); - var_02.v["angles"] = var_03; - var_02 set_forward_and_up_vectors(); - } - - update_selected_entities(); - level.createfx_last_movement_timer = 0; -} - -//Function Number: 41 -reset_axis_of_selected_ents() -{ - level notify("new_ent_selection"); - thread save_undo_buffer(); - for(var_00 = 0;var_00 < level._createfx.selected_fx_ents.size;var_00++) - { - var_01 = level._createfx.selected_fx_ents[var_00]; - var_01.v["angles"] = (0,0,0); - var_01 set_forward_and_up_vectors(); - } - - update_selected_entities(); - level.createfx_last_movement_timer = 0; -} - -//Function Number: 42 -last_selected_entity_has_changed(param_00) -{ - if(isdefined(param_00)) - { - if(!common_scripts\_createfxmenu::entities_are_selected()) - { - return 1; - } - } - else - { - return common_scripts\_createfxmenu::entities_are_selected(); - } - - return param_00 != level._createfx.selected_fx_ents[level._createfx.selected_fx_ents.size - 1]; -} - -//Function Number: 43 -drop_selection_to_ground() -{ - thread save_undo_buffer(); - for(var_00 = 0;var_00 < level._createfx.selected_fx_ents.size;var_00++) - { - var_01 = level._createfx.selected_fx_ents[var_00]; - var_02 = bullettrace(var_01.v["origin"],var_01.v["origin"] + (0,0,-2048),0,undefined); - var_01.v["origin"] = var_02["position"]; - } - - level.createfx_last_movement_timer = 0; -} - -//Function Number: 44 -set_off_exploders() -{ - level notify("createfx_exploder_reset"); - var_00 = []; - for(var_01 = 0;var_01 < level._createfx.selected_fx_ents.size;var_01++) - { - var_02 = level._createfx.selected_fx_ents[var_01]; - if(isdefined(var_02.v["exploder"])) - { - var_00[var_02.v["exploder"]] = 1; - } - } - - var_03 = getarraykeys(var_00); - for(var_01 = 0;var_01 < var_03.size;var_01++) - { - common_scripts\_exploder::exploder(var_03[var_01]); - } -} - -//Function Number: 45 -turn_off_exploders() -{ - level notify("createfx_exploder_reset"); - var_00 = []; - for(var_01 = 0;var_01 < level._createfx.selected_fx_ents.size;var_01++) - { - var_02 = level._createfx.selected_fx_ents[var_01]; - if(isdefined(var_02.v["exploder"])) - { - var_00[var_02.v["exploder"]] = 1; - } - } - - var_03 = getarraykeys(var_00); - for(var_01 = 0;var_01 < var_03.size;var_01++) - { - common_scripts\_exploder::kill_exploder(var_03[var_01]); - } -} - -//Function Number: 46 -draw_distance() -{ - var_00 = 0; - if(getdvarint("createfx_drawdist") == 0) - { - } - - for(;;) - { - var_01 = getdvarint("createfx_drawdist"); - var_01 = var_01 * var_01; - for(var_02 = 0;var_02 < level.createfxent.size;var_02++) - { - var_03 = level.createfxent[var_02]; - var_03.drawn = distancesquared(level.player.origin,var_03.v["origin"]) <= var_01; - var_00++; - if(var_00 > 100) - { - var_00 = 0; - wait(0.05); - } - } - - if(level.createfxent.size == 0) - { - wait(0.05); - } - } -} - -//Function Number: 47 -createfx_autosave() -{ - setdvarifuninitialized("createfx_autosave_time","300"); - for(;;) - { - wait(getdvarint("createfx_autosave_time")); - common_scripts\utility::flag_waitopen("createfx_saving"); - if(getdvarint("createfx_no_autosave")) - { - continue; - } - - generate_fx_log(1); - } -} - -//Function Number: 48 -rotate_over_time(param_00,param_01) -{ - level endon("new_ent_selection"); - var_02 = 0.1; - for(var_03 = 0;var_03 < var_02 * 20;var_03++) - { - if(level.selectedrotate_pitch != 0) - { - param_00 addpitch(level.selectedrotate_pitch); - } - else if(level.selectedrotate_roll != 0) - { - param_00 addyaw(level.selectedrotate_roll); - } - else - { - param_00 addroll(level.selectedrotate_yaw); - } - - wait(0.05); - param_00 draw_axis(); - for(var_04 = 0;var_04 < level._createfx.selected_fx_ents.size;var_04++) - { - var_05 = level._createfx.selected_fx_ents[var_04]; - if(isdefined(var_05.model)) - { - continue; - } - - var_05.v["origin"] = param_01[var_04].origin; - var_05.v["angles"] = param_01[var_04].angles; - } - } -} - -//Function Number: 49 -delete_pressed() -{ - if(level.createfx_inputlocked) - { - remove_selected_option(); - return; - } - - delete_selection(); -} - -//Function Number: 50 -remove_selected_option() -{ - if(!isdefined(level._createfx.selected_fx_option_index)) - { - return; - } - - var_00 = level._createfx.options[level._createfx.selected_fx_option_index]["name"]; - for(var_01 = 0;var_01 < level.createfxent.size;var_01++) - { - var_02 = level.createfxent[var_01]; - if(!ent_is_selected(var_02)) - { - continue; - } - - var_02 remove_option(var_00); - } - - update_selected_entities(); - clear_settable_fx(); -} - -//Function Number: 51 -remove_option(param_00) -{ - self.v[param_00] = undefined; -} - -//Function Number: 52 -delete_selection() -{ - save_undo_buffer(); - var_00 = []; - for(var_01 = 0;var_01 < level.createfxent.size;var_01++) - { - var_02 = level.createfxent[var_01]; - if(ent_is_selected(var_02)) - { - if(isdefined(var_02.looper)) - { - var_02.looper delete(); - } - - var_02 notify("stop_loop"); - continue; - } - - var_00[var_00.size] = var_02; - } - - level.createfxent = var_00; - level._createfx.selected_fx = []; - level._createfx.selected_fx_ents = []; - clear_fx_hudelements(); - save_redo_buffer(); -} - -//Function Number: 53 -move_selection_to_cursor() -{ - thread save_undo_buffer(); - var_00 = level.createfxcursor["position"]; - if(level._createfx.selected_fx_ents.size <= 0) - { - return; - } - - var_01 = get_center_of_array(level._createfx.selected_fx_ents); - var_02 = var_01 - var_00; - for(var_03 = 0;var_03 < level._createfx.selected_fx_ents.size;var_03++) - { - var_04 = level._createfx.selected_fx_ents[var_03]; - if(isdefined(var_04.model)) - { - continue; - } - - var_04.v["origin"] = var_04.v["origin"] - var_02; - if(level._createfx.snap2normal) - { - if(isdefined(level.createfxcursor["normal"])) - { - var_04.v["angles"] = vectortoangles(level.createfxcursor["normal"]); - } - } - } - - level.createfx_last_movement_timer = 0; -} - -//Function Number: 54 -select_last_entity() -{ - select_entity(level.createfxent.size - 1,level.createfxent[level.createfxent.size - 1]); -} - -//Function Number: 55 -reselect_entitites() -{ - var_00 = []; - for(var_01 = 0;var_01 < level.createfxent.size;var_01++) - { - if(index_is_selected(var_01)) - { - var_00[var_00.size] = var_01; - } - } - - clear_entity_selection(); - select_index_array(var_00); -} - -//Function Number: 56 -select_all_exploders_of_currently_selected(param_00) -{ - var_01 = []; - foreach(var_03 in level._createfx.selected_fx_ents) - { - if(!isdefined(var_03.v[param_00])) - { - continue; - } - - var_04 = var_03.v[param_00]; - var_01[var_04] = 1; - } - - foreach(var_04, var_07 in var_01) - { - foreach(var_09, var_03 in level.createfxent) - { - if(index_is_selected(var_09)) - { - continue; - } - - if(!isdefined(var_03.v[param_00])) - { - continue; - } - - if(var_03.v[param_00] != var_04) - { - continue; - } - - select_entity(var_09,var_03); - } - } - - update_selected_entities(); -} - -//Function Number: 57 -copy_ents() -{ - if(level._createfx.selected_fx_ents.size <= 0) - { - return; - } - - var_00 = []; - for(var_01 = 0;var_01 < level._createfx.selected_fx_ents.size;var_01++) - { - var_02 = level._createfx.selected_fx_ents[var_01]; - var_03 = spawnstruct(); - var_03.v = var_02.v; - var_03 post_entity_creation_function(); - var_00[var_00.size] = var_03; - } - - level.stored_ents = var_00; -} - -//Function Number: 58 -post_entity_creation_function() -{ - self.textalpha = 0; - self.drawn = 1; -} - -//Function Number: 59 -paste_ents() -{ - if(!isdefined(level.stored_ents)) - { - return; - } - - clear_entity_selection(); - for(var_00 = 0;var_00 < level.stored_ents.size;var_00++) - { - add_and_select_entity(level.stored_ents[var_00]); - } - - move_selection_to_cursor(); - update_selected_entities(); - level.stored_ents = []; - copy_ents(); -} - -//Function Number: 60 -add_and_select_entity(param_00) -{ - level.createfxent[level.createfxent.size] = param_00; - select_last_entity(); -} - -//Function Number: 61 -get_center_of_array(param_00) -{ - var_01 = (0,0,0); - for(var_02 = 0;var_02 < param_00.size;var_02++) - { - var_01 = (var_01[0] + param_00[var_02].v["origin"][0],var_01[1] + param_00[var_02].v["origin"][1],var_01[2] + param_00[var_02].v["origin"][2]); - } - - return (var_01[0] / param_00.size,var_01[1] / param_00.size,var_01[2] / param_00.size); -} - -//Function Number: 62 -get_radius_of_array(param_00) -{ - var_01 = param_00[0].v["origin"]; - var_02 = param_00[0].v["origin"]; - var_03 = var_01[0]; - var_04 = var_01[1]; - var_05 = var_01[2]; - var_06 = var_02[0]; - var_07 = var_02[1]; - var_08 = var_02[2]; - for(var_09 = 0;var_09 < param_00.size;var_09++) - { - var_0A = param_00[var_09].v["origin"]; - if(var_0A[0] < var_01[0]) - { - var_03 = var_0A[0]; - } - - if(var_0A[0] > var_02[0]) - { - var_06 = var_0A[0]; - } - - if(var_0A[1] < var_01[1]) - { - var_04 = var_0A[1]; - } - - if(var_0A[1] > var_02[1]) - { - var_07 = var_0A[1]; - } - - if(var_0A[2] < var_01[2]) - { - var_05 = var_0A[2]; - } - - if(var_0A[2] > var_02[2]) - { - var_08 = var_0A[2]; - } - } - - var_01 = (var_03,var_04,var_05); - var_02 = (var_06,var_07,var_08); - var_0B = distance(var_02,var_01); - return var_0B; -} - -//Function Number: 63 -ent_draw_axis() -{ - self endon("death"); - for(;;) - { - draw_axis(); - wait(0.05); - } -} - -//Function Number: 64 -rotation_is_occuring() -{ - if(level.selectedrotate_roll != 0) - { - return 1; - } - - if(level.selectedrotate_pitch != 0) - { - return 1; - } - - return level.selectedrotate_yaw != 0; -} - -//Function Number: 65 -print_fx_options(param_00,param_01,param_02) -{ - for(var_03 = 0;var_03 < level._createfx.options.size;var_03++) - { - var_04 = level._createfx.options[var_03]; - if(isdefined(var_04["nowrite"]) && var_04["nowrite"]) - { - continue; - } - - var_05 = var_04["name"]; - if(!isdefined(param_00.v[var_05])) - { - continue; - } - - if(!common_scripts\_createfxmenu::mask(var_04["mask"],param_00.v["type"])) - { - continue; - } - - if(!level.mp_createfx) - { - if(common_scripts\_createfxmenu::mask("fx",param_00.v["type"]) && var_05 == "fxid") - { - continue; - } - - if(param_00.v["type"] == "exploder" && var_05 == "exploder") - { - continue; - } - - var_06 = param_00.v["type"] + "/" + var_05; - if(isdefined(level._createfx.defaults[var_06]) && level._createfx.defaults[var_06] == param_00.v[var_05]) - { - continue; - } - } - - if(var_04["type"] == "string") - { - var_07 = param_00.v[var_05] + ""; - if(var_07 == "nil") - { - continue; - } - - if(var_05 == "platform" && var_07 == "all") - { - continue; - } - - cfxprintln(param_01 + "ent.v[ \" + var_05 + "\" ] = \" + param_00.v[var_05] + "\";"); - continue; - } - - cfxprintln(param_01 + "ent.v[ \" + var_05 + "\" ] = " + param_00.v[var_05] + ";"); - } -} - -//Function Number: 66 -entity_highlight_disable() -{ - self notify("highlight change"); - self endon("highlight change"); - for(;;) - { - self.textalpha = self.textalpha * 0.85; - self.textalpha = self.textalpha - 0.05; - if(self.textalpha < 0) - { - break; - } - - wait(0.05); - } - - self.textalpha = 0; -} - -//Function Number: 67 -entity_highlight_enable() -{ - self notify("highlight change"); - self endon("highlight change"); - for(;;) - { - self.textalpha = self.textalpha + 0.05; - self.textalpha = self.textalpha * 1.25; - if(self.textalpha > 1) - { - break; - } - - wait(0.05); - } - - self.textalpha = 1; -} - -//Function Number: 68 -clear_settable_fx() -{ - level.createfx_inputlocked = 0; - level._createfx.selected_fx_option_index = undefined; - reset_fx_hud_colors(); -} - -//Function Number: 69 -reset_fx_hud_colors() -{ - for(var_00 = 0;var_00 < level._createfx.hudelem_count;var_00++) - { - level._createfx.hudelems[var_00][0].color = (1,1,1); - } -} - -//Function Number: 70 -toggle_entity_selection(param_00,param_01) -{ - if(isdefined(level._createfx.selected_fx[param_00])) - { - deselect_entity(param_00,param_01); - return; - } - - select_entity(param_00,param_01); -} - -//Function Number: 71 -select_entity(param_00,param_01) -{ - if(isdefined(level._createfx.selected_fx[param_00])) - { - return; - } - - clear_settable_fx(); - level notify("new_ent_selection"); - param_01 thread entity_highlight_enable(); - level._createfx.selected_fx[param_00] = 1; - level._createfx.selected_fx_ents[level._createfx.selected_fx_ents.size] = param_01; - level.createfx_menu_list_active = 0; -} - -//Function Number: 72 -ent_is_highlighted(param_00) -{ - if(!isdefined(level.fx_highlightedent)) - { - return 0; - } - - return param_00 == level.fx_highlightedent; -} - -//Function Number: 73 -deselect_entity(param_00,param_01) -{ - if(!isdefined(level._createfx.selected_fx[param_00])) - { - return; - } - - clear_settable_fx(); - level notify("new_ent_selection"); - level._createfx.selected_fx[param_00] = undefined; - if(!ent_is_highlighted(param_01)) - { - param_01 thread entity_highlight_disable(); - } - - var_02 = []; - for(var_03 = 0;var_03 < level._createfx.selected_fx_ents.size;var_03++) - { - if(level._createfx.selected_fx_ents[var_03] != param_01) - { - var_02[var_02.size] = level._createfx.selected_fx_ents[var_03]; - } - } - - level._createfx.selected_fx_ents = var_02; -} - -//Function Number: 74 -index_is_selected(param_00) -{ - return isdefined(level._createfx.selected_fx[param_00]); -} - -//Function Number: 75 -ent_is_selected(param_00) -{ - for(var_01 = 0;var_01 < level._createfx.selected_fx_ents.size;var_01++) - { - if(level._createfx.selected_fx_ents[var_01] == param_00) - { - return 1; - } - } - - return 0; -} - -//Function Number: 76 -clear_entity_selection() -{ - for(var_00 = 0;var_00 < level._createfx.selected_fx_ents.size;var_00++) - { - if(!ent_is_highlighted(level._createfx.selected_fx_ents[var_00])) - { - level._createfx.selected_fx_ents[var_00] thread entity_highlight_disable(); - } - } - - level._createfx.selected_fx = []; - level._createfx.selected_fx_ents = []; -} - -//Function Number: 77 -draw_axis() -{ -} - -//Function Number: 78 -draw_cross() -{ -} - -//Function Number: 79 -createfx_centerprint(param_00) -{ - thread createfx_centerprint_thread(param_00); -} - -//Function Number: 80 -createfx_centerprint_thread(param_00) -{ - level notify("new_createfx_centerprint"); - level endon("new_createfx_centerprint"); - for(var_01 = 0;var_01 < 5;var_01++) - { - } - - wait(4.5); - for(var_01 = 0;var_01 < 5;var_01++) - { - } -} - -//Function Number: 81 -get_selected_move_vector() -{ - var_00 = level.player getplayerangles()[1]; - var_01 = (0,var_00,0); - var_02 = anglestoright(var_01); - var_03 = anglestoforward(var_01); - var_04 = anglestoup(var_01); - var_05 = 0; - var_06 = level._createfx.rate; - if(buttondown("DPAD_UP")) - { - if(level.selectedmove_forward < 0) - { - level.selectedmove_forward = 0; - } - - level.selectedmove_forward = level.selectedmove_forward + var_06; - } - else if(buttondown("DPAD_DOWN")) - { - if(level.selectedmove_forward > 0) - { - level.selectedmove_forward = 0; - } - - level.selectedmove_forward = level.selectedmove_forward - var_06; - } - else - { - level.selectedmove_forward = 0; - } - - if(buttondown("DPAD_RIGHT")) - { - if(level.selectedmove_right < 0) - { - level.selectedmove_right = 0; - } - - level.selectedmove_right = level.selectedmove_right + var_06; - } - else if(buttondown("DPAD_LEFT")) - { - if(level.selectedmove_right > 0) - { - level.selectedmove_right = 0; - } - - level.selectedmove_right = level.selectedmove_right - var_06; - } - else - { - level.selectedmove_right = 0; - } - - if(buttondown("BUTTON_Y")) - { - if(level.selectedmove_up < 0) - { - level.selectedmove_up = 0; - } - - level.selectedmove_up = level.selectedmove_up + var_06; - } - else if(buttondown("BUTTON_B")) - { - if(level.selectedmove_up > 0) - { - level.selectedmove_up = 0; - } - - level.selectedmove_up = level.selectedmove_up - var_06; - } - else - { - level.selectedmove_up = 0; - } - - var_07 = (0,0,0); - var_07 = var_07 + var_03 * level.selectedmove_forward; - var_07 = var_07 + var_02 * level.selectedmove_right; - var_07 = var_07 + var_04 * level.selectedmove_up; - return var_07; -} - -//Function Number: 82 -set_anglemod_move_vector() -{ - if(!level._createfx.snap90deg) - { - var_00 = level._createfx.rate; - } - else - { - var_00 = 90; - } - - if(buttondown("kp_uparrow","DPAD_UP")) - { - if(level.selectedrotate_pitch < 0) - { - level.selectedrotate_pitch = 0; - } - - level.selectedrotate_pitch = level.selectedrotate_pitch + var_00; - } - else if(buttondown("kp_downarrow","DPAD_DOWN")) - { - if(level.selectedrotate_pitch > 0) - { - level.selectedrotate_pitch = 0; - } - - level.selectedrotate_pitch = level.selectedrotate_pitch - var_00; - } - else - { - level.selectedrotate_pitch = 0; - } - - if(buttondown("DPAD_LEFT")) - { - if(level.selectedrotate_yaw < 0) - { - level.selectedrotate_yaw = 0; - } - - level.selectedrotate_yaw = level.selectedrotate_yaw + var_00; - } - else if(buttondown("DPAD_RIGHT")) - { - if(level.selectedrotate_yaw > 0) - { - level.selectedrotate_yaw = 0; - } - - level.selectedrotate_yaw = level.selectedrotate_yaw - var_00; - } - else - { - level.selectedrotate_yaw = 0; - } - - if(buttondown("BUTTON_Y")) - { - if(level.selectedrotate_roll < 0) - { - level.selectedrotate_roll = 0; - } - - level.selectedrotate_roll = level.selectedrotate_roll + var_00; - return; - } - - if(buttondown("BUTTON_B")) - { - if(level.selectedrotate_roll > 0) - { - level.selectedrotate_roll = 0; - } - - level.selectedrotate_roll = level.selectedrotate_roll - var_00; - return; - } - - level.selectedrotate_roll = 0; -} - -//Function Number: 83 -update_selected_entities() -{ - var_00 = 0; - foreach(var_02 in level._createfx.selected_fx_ents) - { - if(var_02.v["type"] == "reactive_fx") - { - var_00 = 1; - } - - var_02 [[ level.func_updatefx ]](); - } - - if(var_00) - { - refresh_reactive_fx_ents(); - } -} - -//Function Number: 84 -hack_start(param_00) -{ - if(!isdefined(param_00)) - { - param_00 = "painter_mp"; - } - - precachemenu(param_00); - wait(0.05); - if(param_00 == "painter_mp") - { - return; - } - - level.player openpopupmenu(param_00); - level.player closepopupmenu(param_00); -} - -//Function Number: 85 -stop_fx_looper() -{ - if(isdefined(self.looper)) - { - self.looper delete(); - } - - stop_loopsound(); -} - -//Function Number: 86 -stop_loopsound() -{ - self notify("stop_loop"); -} - -//Function Number: 87 -func_get_level_fx() -{ - if(!isdefined(level._effect_keys)) - { - var_00 = getarraykeys(level._effect); - } - else - { - var_00 = getarraykeys(level._effect); - if(var_00.size == level._effect_keys.size) - { - return level._effect_keys; - } - } - - var_00 = common_scripts\utility::alphabetize(var_00); - level._effect_keys = var_00; - return var_00; -} - -//Function Number: 88 -restart_fx_looper() -{ - stop_fx_looper(); - set_forward_and_up_vectors(); - switch(self.v["type"]) - { - case "loopfx": - break; - - case "oneshotfx": - break; - - case "soundfx": - break; - - case "soundfx_interval": - break; - - case "soundfx_dynamic": - break; - } -} - -//Function Number: 89 -refresh_reactive_fx_ents() -{ - level._fx.reactive_fx_ents = undefined; - foreach(var_01 in level.createfxent) - { - if(var_01.v["type"] == "reactive_fx") - { - var_01 set_forward_and_up_vectors(); - var_01 common_scripts\_fx::add_reactive_fx(); - } - } -} - -//Function Number: 90 -process_fx_rotater() -{ - if(level.fx_rotating) - { - thread save_undo_buffer(); - level.createfx_last_movement_timer = 0; - return; - } - - set_anglemod_move_vector(); - if(!rotation_is_occuring()) - { - return; - } - - level.fx_rotating = 1; - if(level._createfx.selected_fx_ents.size > 1 && !level._createfx.localrot) - { - var_00 = get_center_of_array(level._createfx.selected_fx_ents); - var_01 = spawn("script_origin",var_00); - var_01.v["angles"] = level._createfx.selected_fx_ents[0].v["angles"]; - var_01.v["origin"] = var_00; - var_02 = []; - for(var_03 = 0;var_03 < level._createfx.selected_fx_ents.size;var_03++) - { - var_02[var_03] = spawn("script_origin",level._createfx.selected_fx_ents[var_03].v["origin"]); - var_02[var_03].angles = level._createfx.selected_fx_ents[var_03].v["angles"]; - var_02[var_03] vehicle_jetbikesethoverforcescale(var_01); - } - - rotate_over_time(var_01,var_02); - var_01 delete(); - for(var_03 = 0;var_03 < var_02.size;var_03++) - { - var_02[var_03] delete(); - } - } - else if(level._createfx.selected_fx_ents.size > 0) - { - foreach(var_05 in level._createfx.selected_fx_ents) - { - var_02 = spawn("script_origin",(0,0,0)); - var_02.angles = var_05.v["angles"]; - if(level.selectedrotate_pitch != 0) - { - var_02 addpitch(level.selectedrotate_pitch); - } - else if(level.selectedrotate_yaw != 0) - { - var_02 addyaw(level.selectedrotate_yaw); - } - else - { - var_02 addroll(level.selectedrotate_roll); - } - - var_05.v["angles"] = var_02.angles; - var_02 delete(); - } - - wait(0.05); - } - - level.fx_rotating = 0; -} - -//Function Number: 91 -spawn_grenade() -{ - playfx(level._createfx.grenade.fx,level.createfxcursor["position"]); - level._createfx.grenade playsound(level._createfx.grenade.sound); - radiusdamage(level.createfxcursor["position"],level._createfx.grenade.radius,50,5,undefined,"MOD_EXPLOSIVE"); - level notify("code_damageradius",undefined,level._createfx.grenade.radius,level.createfxcursor["position"]); -} - -//Function Number: 92 -show_help() -{ - if(level.createfx_help_active == 1) - { - clear_fx_hudelements(); - level.createfx_help_active = 0; - level.createfx_menu_list_active = 0; - reselect_entitites(); - } - else - { - level.createfx_help_active = 1; - level.createfx_menu_list_active = 1; - common_scripts\_createfxmenu::draw_help_list(); - thread common_scripts\_createfxmenu::help_navigation_buttons(); - clear_tool_hud(); - } - - wait(0.2); -} - -//Function Number: 93 -generate_fx_log(param_00) -{ -} - -//Function Number: 94 -write_entity(param_00,param_01) -{ - var_02 = "\t"; - if(getdvarint("scr_map_exploder_dump")) - { - if(!isdefined(param_00.model)) - { - return; - } - } - else if(isdefined(param_00.model)) - { - return; - } - - if(param_00.v["type"] == "loopfx") - { - cfxprintln(var_02 + "ent = createLoopEffect( \" + param_00.v["fxid"] + "\" );"); - } - - if(param_00.v["type"] == "oneshotfx") - { - cfxprintln(var_02 + "ent = createOneshotEffect( \" + param_00.v["fxid"] + "\" );"); - } - - if(param_00.v["type"] == "exploder") - { - if(isdefined(param_00.v["exploder"]) && !level.mp_createfx) - { - cfxprintln(var_02 + "ent = createExploderEx( \" + param_00.v["fxid"] + "\", \" + param_00.v["exploder"] + "\" );"); - } - else - { - cfxprintln(var_02 + "ent = createExploder( \" + param_00.v["fxid"] + "\" );"); - } - } - - if(param_00.v["type"] == "soundfx") - { - cfxprintln(var_02 + "ent = createLoopSound();"); - } - - if(param_00.v["type"] == "soundfx_interval") - { - cfxprintln(var_02 + "ent = createIntervalSound();"); - } - - if(param_00.v["type"] == "reactive_fx") - { - cfxprintln(var_02 + "ent = createReactiveEnt();"); - } - - if(param_00.v["type"] == "soundfx_dynamic") - { - cfxprintln(var_02 + "ent = createDynamicAmbience();"); - } - - cfxprintln(var_02 + "ent set_origin_and_angles( " + param_00.v["origin"] + ", " + param_00.v["angles"] + " );"); - print_fx_options(param_00,var_02,param_01); - cfxprintln(""); -} - -//Function Number: 95 -write_log(param_00,param_01,param_02,param_03,param_04) -{ - var_05 = "\t"; - cfxprintlnstart(); - cfxprintln("//_createfx generated. Do not touch!!"); - cfxprintln("#include common_scripts\\utility;"); - cfxprintln("#include common_scripts\\_createfx;\n"); - cfxprintln(""); - cfxprintln("main()"); - cfxprintln("{"); - var_06 = param_00.size; - if(isdefined(param_04)) - { - var_06 = var_06 + param_04.size; - } - - cfxprintln(var_05 + "// CreateFX " + param_01 + " entities placed: " + var_06); - foreach(var_08 in param_00) - { - if(level.createfx_loopcounter > 16) - { - level.createfx_loopcounter = 0; - wait(0.1); - } - - level.createfx_loopcounter++; - write_entity(var_08,param_02); - } - - if(isdefined(param_04)) - { - foreach(var_0B in param_04) - { - if(level.createfx_loopcounter > 16) - { - level.createfx_loopcounter = 0; - wait(0.1); - } - - level.createfx_loopcounter++; - var_08 = spawnstruct(); - var_08.v = var_0B; - write_entity(var_08,param_02); - } - } - - cfxprintln("}"); - cfxprintln(" "); - cfxprintlnend(param_02,param_03,param_01); -} - -//Function Number: 96 -createfx_adjust_array() -{ - var_00 = 0.1; - foreach(var_02 in level.createfxent) - { - var_03 = []; - var_04 = []; - for(var_05 = 0;var_05 < 3;var_05++) - { - var_03[var_05] = var_02.v["origin"][var_05]; - var_04[var_05] = var_02.v["angles"][var_05]; - if(var_03[var_05] < var_00 && var_03[var_05] > var_00 * -1) - { - var_03[var_05] = 0; - } - - if(var_04[var_05] < var_00 && var_04[var_05] > var_00 * -1) - { - var_04[var_05] = 0; - } - } - - var_02.v["origin"] = (var_03[0],var_03[1],var_03[2]); - var_02.v["angles"] = (var_04[0],var_04[1],var_04[2]); - } -} - -//Function Number: 97 -get_createfx_array(param_00) -{ - var_01 = get_createfx_types(param_00); - var_02 = []; - foreach(var_05, var_04 in var_01) - { - var_02[var_05] = []; - } - - foreach(var_07 in level.createfxent) - { - var_08 = 0; - foreach(var_05, param_00 in var_01) - { - if(var_07.v["type"] != param_00) - { - continue; - } - - var_08 = 1; - var_02[var_05][var_02[var_05].size] = var_07; - break; - } - } - - var_0B = []; - for(var_0C = 0;var_0C < var_01.size;var_0C++) - { - foreach(var_07 in var_02[var_0C]) - { - var_0B[var_0B.size] = var_07; - } - } - - return var_0B; -} - -//Function Number: 98 -get_createfx_types(param_00) -{ - var_01 = []; - if(param_00 == "fx") - { - var_01[0] = "loopfx"; - var_01[1] = "oneshotfx"; - var_01[2] = "exploder"; - } - else - { - var_01[0] = "soundfx"; - var_01[1] = "soundfx_interval"; - var_01[2] = "reactive_fx"; - var_01[3] = "soundfx_dynamic"; - } - - return var_01; -} - -//Function Number: 99 -is_createfx_type(param_00,param_01) -{ - var_02 = get_createfx_types(param_01); - foreach(var_04 in var_02) - { - if(param_00.v["type"] == var_04) - { - return 1; - } - } - - return 0; -} - -//Function Number: 100 -createfx_filter_types() -{ - var_00 = []; - var_00[0] = "soundfx"; - var_00[1] = "loopfx"; - var_00[2] = "oneshotfx"; - var_00[3] = "exploder"; - var_00[4] = "soundfx_interval"; - var_00[5] = "reactive_fx"; - var_00[6] = "soundfx_dynamic"; - var_01 = []; - foreach(var_04, var_03 in var_00) - { - var_01[var_04] = []; - } - - foreach(var_06 in level.createfxent) - { - var_07 = 0; - foreach(var_04, var_09 in var_00) - { - if(var_06.v["type"] != var_09) - { - continue; - } - - var_07 = 1; - var_01[var_04][var_01[var_04].size] = var_06; - break; - } - } - - var_0B = []; - for(var_0C = 0;var_0C < var_00.size;var_0C++) - { - foreach(var_06 in var_01[var_0C]) - { - var_0B[var_0B.size] = var_06; - } - } - - level.createfxent = var_0B; -} - -//Function Number: 101 -cfxprintlnstart() -{ - common_scripts\utility::fileprint_launcher_start_file(); -} - -//Function Number: 102 -cfxprintln(param_00) -{ - common_scripts\utility::fileprint_launcher(param_00); -} - -//Function Number: 103 -cfxprintlnend(param_00,param_01,param_02) -{ - var_03 = 1; - if(param_01 != "" || param_00) - { - var_03 = 0; - } - - if(common_scripts\utility::issp()) - { - var_04 = common_scripts\utility::get_template_level() + param_01 + "_" + param_02 + ".gsc"; - if(param_00) - { - var_04 = "backup_" + param_02 + ".gsc"; - } - } - else - { - var_04 = common_scripts\utility::get_template_level() + param_02 + "_" + var_03 + ".gsc"; - if(param_00) - { - var_04 = "backup.gsc"; - } - } - - common_scripts\utility::fileprint_launcher_end_file("/share/raw/maps/createfx/" + var_04,var_03); -} - -//Function Number: 104 -process_button_held_and_clicked() -{ - add_button("mouse1"); - add_button("BUTTON_RSHLDR"); - add_button("BUTTON_LSHLDR"); - add_button("BUTTON_RSTICK"); - add_button("BUTTON_LSTICK"); - add_button("BUTTON_A"); - add_button("BUTTON_B"); - add_button("BUTTON_X"); - add_button("BUTTON_Y"); - add_button("DPAD_UP"); - add_button("DPAD_LEFT"); - add_button("DPAD_RIGHT"); - add_button("DPAD_DOWN"); - add_kb_button("shift"); - add_kb_button("ctrl"); - add_kb_button("escape"); - add_kb_button("F1"); - add_kb_button("F5"); - add_kb_button("F4"); - add_kb_button("F2"); - add_kb_button("a"); - add_kb_button("g"); - add_kb_button("c"); - add_kb_button("h"); - add_kb_button("i"); - add_kb_button("f"); - add_kb_button("k"); - add_kb_button("l"); - add_kb_button("m"); - add_kb_button("o"); - add_kb_button("p"); - add_kb_button("r"); - add_kb_button("s"); - add_kb_button("u"); - add_kb_button("v"); - add_kb_button("x"); - add_kb_button("y"); - add_kb_button("z"); - add_kb_button("del"); - add_kb_button("end"); - add_kb_button("tab"); - add_kb_button("ins"); - add_kb_button("add"); - add_kb_button("space"); - add_kb_button("enter"); - add_kb_button("1"); - add_kb_button("2"); - add_kb_button("3"); - add_kb_button("4"); - add_kb_button("5"); - add_kb_button("6"); - add_kb_button("7"); - add_kb_button("8"); - add_kb_button("9"); - add_kb_button("0"); - add_kb_button("-"); - add_kb_button("="); - add_kb_button(","); - add_kb_button("."); - add_kb_button("["); - add_kb_button("]"); - add_kb_button("leftarrow"); - add_kb_button("rightarrow"); - add_kb_button("uparrow"); - add_kb_button("downarrow"); -} - -//Function Number: 105 -locked(param_00) -{ - if(isdefined(level._createfx.lockedlist[param_00])) - { - return 0; - } - - return kb_locked(param_00); -} - -//Function Number: 106 -kb_locked(param_00) -{ - return level.createfx_inputlocked && isdefined(level.button_is_kb[param_00]); -} - -//Function Number: 107 -add_button(param_00) -{ - if(locked(param_00)) - { - return; - } - - if(!isdefined(level.buttonisheld[param_00])) - { - if(level.player buttonpressed(param_00)) - { - level.buttonisheld[param_00] = 1; - level.buttonclick[param_00] = 1; - return; - } - - return; - } - - if(!level.player buttonpressed(param_00)) - { - level.buttonisheld[param_00] = undefined; - } -} - -//Function Number: 108 -add_kb_button(param_00) -{ - level.button_is_kb[param_00] = 1; - add_button(param_00); -} - -//Function Number: 109 -buttondown(param_00,param_01) -{ - return buttonpressed_internal(param_00) || buttonpressed_internal(param_01); -} - -//Function Number: 110 -buttonpressed_internal(param_00) -{ - if(!isdefined(param_00)) - { - return 0; - } - - if(kb_locked(param_00)) - { - return 0; - } - - return level.player buttonpressed(param_00); -} - -//Function Number: 111 -button_is_held(param_00,param_01) -{ - if(isdefined(param_01)) - { - if(isdefined(level.buttonisheld[param_01])) - { - return 1; - } - } - - return isdefined(level.buttonisheld[param_00]); -} - -//Function Number: 112 -button_is_clicked(param_00,param_01) -{ - if(isdefined(param_01)) - { - if(isdefined(level.buttonclick[param_01])) - { - return 1; - } - } - - return isdefined(level.buttonclick[param_00]); -} - -//Function Number: 113 -init_huds() -{ - level._createfx.hudelems = []; - level._createfx.hudelem_count = 30; - var_00 = []; - var_01 = []; - var_00[0] = 0; - var_01[0] = 0; - var_00[1] = 1; - var_01[1] = 1; - var_00[2] = -2; - var_01[2] = 1; - var_00[3] = 1; - var_01[3] = -1; - var_00[4] = -2; - var_01[4] = -1; - level.cleartextmarker = newhudelem(); - level.cleartextmarker.alpha = 0; - for(var_02 = 0;var_02 < level._createfx.hudelem_count;var_02++) - { - var_03 = []; - for(var_04 = 0;var_04 < 1;var_04++) - { - var_05 = newhudelem(); - var_05.alignx = "left"; - var_05.location = 0; - var_05.foreground = 1; - var_05.fontscale = 1.4; - var_05.sort = 20 - var_04; - var_05.alpha = 1; - var_05.x = 0 + var_00[var_04]; - var_05.y = 60 + var_01[var_04] + var_02 * 15; - if(var_04 > 0) - { - var_05.color = (0,0,0); - } - - var_03[var_03.size] = var_05; - } - - level._createfx.hudelems[var_02] = var_03; - } - - var_03 = []; - for(var_04 = 0;var_04 < 5;var_04++) - { - var_05 = newhudelem(); - var_05.alignx = "center"; - var_05.location = 0; - var_05.foreground = 1; - var_05.fontscale = 1.4; - var_05.sort = 20 - var_04; - var_05.alpha = 1; - var_05.x = 320 + var_00[var_04]; - var_05.y = 80 + var_01[var_04]; - if(var_04 > 0) - { - var_05.color = (0,0,0); - } - - var_03[var_03.size] = var_05; - } - - level.createfx_centerprint = var_03; -} - -//Function Number: 114 -init_crosshair() -{ - var_00 = newhudelem(); - var_00.location = 0; - var_00.alignx = "center"; - var_00.aligny = "middle"; - var_00.foreground = 1; - var_00.fontscale = 2; - var_00.sort = 20; - var_00.alpha = 1; - var_00.x = 320; - var_00.y = 233; -} - -//Function Number: 115 -clear_fx_hudelements() -{ - level.cleartextmarker clearalltextafterhudelem(); - for(var_00 = 0;var_00 < level._createfx.hudelem_count;var_00++) - { - for(var_01 = 0;var_01 < 1;var_01++) - { - } - } - - level.fxhudelements = 0; -} - -//Function Number: 116 -set_fx_hudelement(param_00) -{ - for(var_01 = 0;var_01 < 1;var_01++) - { - } - - level.fxhudelements++; -} - -//Function Number: 117 -init_tool_hud() -{ - if(!isdefined(level._createfx.tool_hudelems)) - { - level._createfx.tool_hudelems = []; - } - - if(!isdefined(level._createfx.tool_hud_visible)) - { - level._createfx.tool_hud_visible = 1; - } - - if(!isdefined(level._createfx.tool_hud)) - { - level._createfx.tool_hud = ""; - } -} - -//Function Number: 118 -new_tool_hud(param_00) -{ - foreach(var_03, var_02 in level._createfx.tool_hudelems) - { - if(isdefined(var_02.value_hudelem)) - { - var_02.value_hudelem destroy(); - } - - var_02 destroy(); - level._createfx.tool_hudelems[var_03] = undefined; - } - - level._createfx.tool_hud = param_00; -} - -//Function Number: 119 -current_mode_hud(param_00) -{ - return level._createfx.tool_hud == param_00; -} - -//Function Number: 120 -clear_tool_hud() -{ - new_tool_hud(""); -} - -//Function Number: 121 -new_tool_hudelem(param_00) -{ - var_01 = newhudelem(); - var_01.alignx = "left"; - var_01.location = 0; - var_01.foreground = 1; - var_01.fontscale = 1.2; - var_01.alpha = 1; - var_01.x = 0; - var_01.y = 320 + param_00 * 15; - return var_01; -} - -//Function Number: 122 -get_tool_hudelem(param_00) -{ - if(isdefined(level._createfx.tool_hudelems[param_00])) - { - return level._createfx.tool_hudelems[param_00]; - } - - return undefined; -} - -//Function Number: 123 -set_tool_hudelem(param_00,param_01,param_02) -{ - var_03 = get_tool_hudelem(param_00); - if(!isdefined(var_03)) - { - var_03 = new_tool_hudelem(level._createfx.tool_hudelems.size); - level._createfx.tool_hudelems[param_00] = var_03; - var_03.text = param_00; - } - - if(isdefined(param_01)) - { - if(isdefined(var_03.value_hudelem)) - { - var_04 = var_03.value_hudelem; - } - else - { - var_04 = new_tool_hudelem(level._createfx.tool_hudelems.size); - var_04.x = var_04.x + 110; - var_04.y = var_03.y; - var_03.value_hudelem = var_04; - } - - if(isdefined(var_04.text) && var_04.text == param_01) - { - return; - } - - var_04.text = param_01; - if(!isdefined(param_02)) - { - param_02 = (1,1,1); - } - - var_04.color = param_02; - } -} - -//Function Number: 124 -select_by_substring() -{ - var_00 = getdvar("select_by_substring"); - if(var_00 == "") - { - return 0; - } - - setdvar("select_by_substring",""); - var_01 = []; - foreach(var_04, var_03 in level.createfxent) - { - if(issubstr(var_03.v["fxid"],var_00)) - { - var_01[var_01.size] = var_04; - } - } - - if(var_01.size == 0) - { - return 0; - } - - deselect_all_ents(); - select_index_array(var_01); - foreach(var_06 in var_01) - { - var_03 = level.createfxent[var_06]; - select_entity(var_06,var_03); - } - - return 1; -} - -//Function Number: 125 -select_index_array(param_00) -{ - foreach(var_02 in param_00) - { - var_03 = level.createfxent[var_02]; - select_entity(var_02,var_03); - } -} - -//Function Number: 126 -deselect_all_ents() -{ - foreach(var_02, var_01 in level._createfx.selected_fx_ents) - { - deselect_entity(var_02,var_01); - } -} - -//Function Number: 127 -setup_last_movement_timer() -{ - wait(0.5); - for(;;) - { - level.createfx_last_movement_timer = level.createfx_last_movement_timer + 0.05; - if(level.createfx_last_movement_timer == 0.15) - { - foreach(var_01 in level._createfx.selected_fx_ents) - { - if(var_01.v["type"] == "exploder") - { - var_01 common_scripts\utility::activate_individual_exploder(); - } - } - - common_scripts\_createfxmenu::display_current_translation(); - save_redo_buffer(); - } - - if(level.createfx_last_movement_timer == 0.05) - { - var_01 = common_scripts\_createfxmenu::get_last_selected_ent(); - common_scripts\_createfxmenu::display_current_translation(); - } - - wait(0.05); - } -} - -//Function Number: 128 -frame_selected() -{ - if(level._createfx.selected_fx_ents.size < 1) - { - return; - } - - if(level._createfx.selected_fx_ents.size > 1) - { - var_00 = get_center_of_array(level._createfx.selected_fx_ents); - var_01 = get_radius_of_array(level._createfx.selected_fx_ents) + 200; - } - else - { - var_00 = level._createfx.selected_fx_ents[0].v["origin"]; - var_01 = 200; - } - - var_02 = anglestoforward(level.player getplayerangles()); - var_03 = var_02 * -1 * var_01; - var_04 = level.player geteye(); - var_05 = var_04 - level.player.origin; - level.player setorigin(var_00 + var_03 - var_05); -} - -//Function Number: 129 -clear_all_loopers() -{ - foreach(var_01 in level.createfxent) - { - if(isdefined(var_01.looper)) - { - var_01.looper delete(); - } - - var_01 stop_loopsound(); - } -} - -//Function Number: 130 -restart_oneshots() -{ - foreach(var_01 in level.createfxent) - { - if(var_01.v["type"] == "oneshotfx") - { - var_01 restart_fx_looper(); - } - } -} - -//Function Number: 131 -restart_selected_exploders() -{ - foreach(var_01 in level._createfx.selected_fx_ents) - { - if(isdefined(var_01) && var_01.v["type"] == "exploder") - { - var_01 common_scripts\utility::activate_individual_exploder(); - } - } -} - -//Function Number: 132 -save_undo_buffer() -{ - if(isdefined(level.createfxent) && level.createfx_last_movement_timer > 0.15) - { - level.createfxent_undo = copystructarrayvalues(level.createfxent); - } -} - -//Function Number: 133 -save_redo_buffer() -{ - if(isdefined(level.createfxent)) - { - level.createfxent_redo = copystructarrayvalues(level.createfxent); - } -} - -//Function Number: 134 -undo() -{ - if(isdefined(level.createfxent_undo)) - { - clear_all_loopers(); - level.createfxent = []; - level.createfxent = copystructarrayvalues(level.createfxent_undo); - clear_fx_hudelements(); - reselect_entitites(); - restart_oneshots(); - restart_selected_exploders(); - } -} - -//Function Number: 135 -redo() -{ - if(isdefined(level.createfxent_redo)) - { - clear_all_loopers(); - level.createfxent = []; - level.createfxent = copystructarrayvalues(level.createfxent_redo); - clear_fx_hudelements(); - reselect_entitites(); - restart_oneshots(); - restart_selected_exploders(); - } -} - -//Function Number: 136 -copystructarrayvalues(param_00) -{ - var_01 = []; - if(param_00.size > 0) - { - for(var_02 = 0;var_02 < param_00.size;var_02++) - { - var_03 = spawnstruct(); - if(isdefined(param_00[var_02].v)) - { - var_03.v = []; - var_03.v["type"] = param_00[var_02].v["type"]; - var_03.v["fxid"] = param_00[var_02].v["fxid"]; - var_03.v["soundalias"] = param_00[var_02].v["soundalias"]; - var_03.v["loopsound"] = param_00[var_02].v["loopsound"]; - var_03.v["angles"] = param_00[var_02].v["angles"]; - var_03.v["origin"] = param_00[var_02].v["origin"]; - var_03.v["exploder"] = param_00[var_02].v["exploder"]; - var_03.v["flag"] = param_00[var_02].v["flag"]; - var_03.v["exploder_type"] = param_00[var_02].v["exploder_type"]; - var_03.v["server_culled"] = param_00[var_02].v["server_culled"]; - var_03.v["delay_min"] = param_00[var_02].v["delay_min"]; - var_03.v["delay_max"] = param_00[var_02].v["delay_max"]; - var_03.v["soundalias"] = param_00[var_02].v["soundalias"]; - var_03.v["delay"] = param_00[var_02].v["delay"]; - var_03.v["forward"] = param_00[var_02].v["forward"]; - var_03.v["up"] = param_00[var_02].v["up"]; - var_01[var_02] = var_03; - } - - var_01[var_02].drawn = param_00[var_02].drawn; - var_01[var_02].textalpha = param_00[var_02].textalpha; - } - } - - return var_01; -} - -//Function Number: 137 -removefxentwithentity(param_00) -{ - var_01 = []; - foreach(var_03 in level.createfxent) - { - if(isdefined(var_03.model) && var_03.model == param_00) - { - continue; - } - - var_01[var_01.size] = var_03; - } - - level.createfxent = var_01; -} \ No newline at end of file diff --git a/AW/PC/SP/common_scripts/_createfxmenu.gsc b/AW/PC/SP/common_scripts/_createfxmenu.gsc deleted file mode 100644 index 3e15ffd..0000000 --- a/AW/PC/SP/common_scripts/_createfxmenu.gsc +++ /dev/null @@ -1,977 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: common_scripts/_createfxmenu.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 40 - * Decompile Time: 662 ms - * Timestamp: 10/27/2023 1:57:36 AM -*******************************************************************/ - -//Function Number: 1 -init_menu() -{ - level._createfx.options = []; - addoption("vector","origin","Origin",(0,0,0),"fx",1); - addoption("vector","angles","Angles",(0,0,0),"fx",1); - addoption("string","fxid","FX id","nil","fx"); - addoption("float","delay","Repeat rate/start delay",0.5,"fx"); - addoption("string","flag","Flag","nil","exploder"); - addoption("string","platform","Platform","all","all"); - if(!level.mp_createfx) - { - addoption("string","firefx","2nd FX id","nil","exploder"); - addoption("float","firefxdelay","2nd FX id repeat rate",0.5,"exploder"); - addoption("float","firefxtimeout","2nd FX timeout",5,"exploder"); - addoption("string","firefxsound","2nd FX soundalias","nil","exploder"); - addoption("float","damage","Radius damage",150,"exploder"); - addoption("float","damage_radius","Radius of radius damage",250,"exploder"); - addoption("string","earthquake","Earthquake","nil","exploder"); - addoption("string","ender","Level notify for ending 2nd FX","nil","exploder"); - } - - addoption("float","delay_min","Minimimum time between repeats",1,"soundfx_interval"); - addoption("float","delay_max","Maximum time between repeats",2,"soundfx_interval"); - addoption("int","repeat","Number of times to repeat",5,"exploder"); - addoption("string","exploder","Exploder","1","exploder"); - setup_help_keys(); - addoption("string","soundalias","Soundalias","nil","all"); - addoption("string","loopsound","Loopsound","nil","exploder"); - addoption("int","reactive_radius","Reactive Radius",100,"reactive_fx",undefined,::input_reactive_radius); - addoption("string","ambiencename","Ambience Name","nil","soundfx_dynamic"); - addoption("int","dynamic_distance","Dynamic Max Distance",1000,"soundfx_dynamic"); - if(!level.mp_createfx) - { - addoption("string","rumble","Rumble","nil","exploder"); - addoption("int","stoppable","Can be stopped from script","1","all"); - } - - level.effect_list_offset = 0; - level.effect_list_offset_max = 10; - level.effect_list_current_size = 0; - level.help_list_offset = 0; - level.help_list_offset_max = 20; - level.createfx_help_active = 0; - level.createfx_menu_list_active = 0; - level.createfxmasks = []; - level.createfxmasks["all"] = []; - level.createfxmasks["all"]["exploder"] = 1; - level.createfxmasks["all"]["oneshotfx"] = 1; - level.createfxmasks["all"]["loopfx"] = 1; - level.createfxmasks["all"]["soundfx"] = 1; - level.createfxmasks["all"]["soundfx_interval"] = 1; - level.createfxmasks["all"]["reactive_fx"] = 1; - level.createfxmasks["all"]["soundfx_dynamic"] = 1; - level.createfxmasks["fx"] = []; - level.createfxmasks["fx"]["exploder"] = 1; - level.createfxmasks["fx"]["oneshotfx"] = 1; - level.createfxmasks["fx"]["loopfx"] = 1; - level.createfxmasks["exploder"] = []; - level.createfxmasks["exploder"]["exploder"] = 1; - level.createfxmasks["loopfx"] = []; - level.createfxmasks["loopfx"]["loopfx"] = 1; - level.createfxmasks["oneshotfx"] = []; - level.createfxmasks["oneshotfx"]["oneshotfx"] = 1; - level.createfxmasks["soundfx"] = []; - level.createfxmasks["soundfx"]["soundalias"] = 1; - level.createfxmasks["soundfx_interval"] = []; - level.createfxmasks["soundfx_interval"]["soundfx_interval"] = 1; - level.createfxmasks["reactive_fx"] = []; - level.createfxmasks["reactive_fx"]["reactive_fx"] = 1; - level.createfxmasks["soundfx_dynamic"] = []; - level.createfxmasks["soundfx_dynamic"]["soundfx_dynamic"] = 1; - var_00 = []; - var_00["creation"] = ::menu_create_select; - var_00["create_oneshot"] = ::menu_create; - var_00["create_loopfx"] = ::menu_create; - var_00["change_fxid"] = ::menu_create; - var_00["none"] = ::menu_none; - var_00["add_options"] = ::menu_add_options; - var_00["select_by_name"] = ::menu_select_by_name; - level._createfx.menus = var_00; -} - -//Function Number: 2 -menu(param_00) -{ - return level.create_fx_menu == param_00; -} - -//Function Number: 3 -setmenu(param_00) -{ - level.create_fx_menu = param_00; -} - -//Function Number: 4 -create_fx_menu() -{ - if(common_scripts\_createfx::button_is_clicked("escape","x")) - { - _exit_menu(); - return; - } - - if(isdefined(level._createfx.menus[level.create_fx_menu])) - { - [[ level._createfx.menus[level.create_fx_menu] ]](); - } -} - -//Function Number: 5 -menu_create_select() -{ - if(common_scripts\_createfx::button_is_clicked("1")) - { - setmenu("create_oneshot"); - draw_effects_list(); - return; - } - - if(common_scripts\_createfx::button_is_clicked("2")) - { - setmenu("create_loopfx"); - draw_effects_list(); - return; - } - - if(common_scripts\_createfx::button_is_clicked("3")) - { - setmenu("create_loopsound"); - var_00 = common_scripts\_createfx::createloopsound(); - finish_creating_entity(var_00); - return; - } - - if(common_scripts\_createfx::button_is_clicked("4")) - { - setmenu("create_exploder"); - var_00 = common_scripts\_createfx::createnewexploder(); - finish_creating_entity(var_00); - return; - } - - if(common_scripts\_createfx::button_is_clicked("5")) - { - setmenu("create_interval_sound"); - var_00 = common_scripts\_createfx::createintervalsound(); - finish_creating_entity(var_00); - return; - } - - if(common_scripts\_createfx::button_is_clicked("6")) - { - var_00 = common_scripts\_createfx::createreactiveent(); - finish_creating_entity(var_00); - return; - } - - if(common_scripts\_createfx::button_is_clicked("7")) - { - var_00 = common_scripts\_createfx::createdynamicambience(); - finish_creating_entity(var_00); - return; - } -} - -//Function Number: 6 -menu_create() -{ - level.createfx_menu_list_active = 1; - if(next_button()) - { - increment_list_offset(); - draw_effects_list(); - } - else if(previous_button()) - { - decrement_list_offset(); - draw_effects_list(); - } - - menu_fx_creation(); -} - -//Function Number: 7 -menu_none() -{ - if(common_scripts\_createfx::button_is_clicked("m")) - { - increment_list_offset(); - } - - menu_change_selected_fx(); - if(entities_are_selected()) - { - var_00 = get_last_selected_ent(); - if(!isdefined(level.last_displayed_ent) || var_00 != level.last_displayed_ent || level._createfx.justconvertedoneshot == 1) - { - display_fx_info(var_00); - level.last_displayed_ent = var_00; - level._createfx.justconvertedoneshot = 0; - } - - if(common_scripts\_createfx::button_is_clicked("a")) - { - common_scripts\_createfx::clear_settable_fx(); - setmenu("add_options"); - return; - } - - return; - } - - level.last_displayed_ent = undefined; -} - -//Function Number: 8 -menu_add_options() -{ - if(!entities_are_selected()) - { - common_scripts\_createfx::clear_fx_hudelements(); - setmenu("none"); - return; - } - - display_fx_add_options(get_last_selected_ent()); - if(next_button()) - { - increment_list_offset(); - } -} - -//Function Number: 9 -menu_select_by_name() -{ - if(next_button()) - { - increment_list_offset(); - draw_effects_list("Select by name"); - } - else if(previous_button()) - { - decrement_list_offset(); - draw_effects_list("Select by name"); - } - - select_by_name(); -} - -//Function Number: 10 -next_button() -{ - return common_scripts\_createfx::button_is_clicked("rightarrow"); -} - -//Function Number: 11 -previous_button() -{ - return common_scripts\_createfx::button_is_clicked("leftarrow"); -} - -//Function Number: 12 -_exit_menu() -{ - common_scripts\_createfx::clear_fx_hudelements(); - common_scripts\_createfx::clear_entity_selection(); - common_scripts\_createfx::update_selected_entities(); - setmenu("none"); -} - -//Function Number: 13 -menu_fx_creation() -{ - var_00 = 0; - var_01 = undefined; - var_02 = common_scripts\_createfx::func_get_level_fx(); - for(var_03 = level.effect_list_offset;var_03 < var_02.size;var_03++) - { - var_00 = var_00 + 1; - var_04 = var_00; - if(var_04 == 10) - { - var_04 = 0; - } - - if(common_scripts\_createfx::button_is_clicked(var_04 + "")) - { - var_01 = var_02[var_03]; - break; - } - - if(var_00 > level.effect_list_offset_max) - { - break; - } - } - - if(!isdefined(var_01)) - { - return; - } - - if(menu("change_fxid")) - { - apply_option_to_selected_fx(get_option("fxid"),var_01); - level.effect_list_offset = 0; - common_scripts\_createfx::clear_fx_hudelements(); - setmenu("none"); - level.createfx_menu_list_active = 0; - level.createfx_last_movement_timer = 0; - return; - } - - var_05 = undefined; - if(menu("create_loopfx")) - { - var_05 = common_scripts\utility::createloopeffect(var_01); - } - - if(menu("create_oneshot")) - { - var_05 = common_scripts\utility::createoneshoteffect(var_01); - } - - finish_creating_entity(var_05); -} - -//Function Number: 14 -finish_creating_entity(param_00) -{ - param_00.v["angles"] = vectortoangles(param_00.v["origin"] + (0,0,100) - param_00.v["origin"]); - param_00 common_scripts\_createfx::post_entity_creation_function(); - common_scripts\_createfx::clear_entity_selection(); - common_scripts\_createfx::select_last_entity(); - common_scripts\_createfx::move_selection_to_cursor(); - common_scripts\_createfx::update_selected_entities(); - setmenu("none"); - level.createfx_menu_list_active = 0; -} - -//Function Number: 15 -entities_are_selected() -{ - return level._createfx.selected_fx_ents.size > 0; -} - -//Function Number: 16 -menu_change_selected_fx() -{ - if(!level._createfx.selected_fx_ents.size) - { - return; - } - - var_00 = 0; - var_01 = 0; - var_02 = get_last_selected_ent(); - for(var_03 = 0;var_03 < level._createfx.options.size;var_03++) - { - var_04 = level._createfx.options[var_03]; - if(!isdefined(var_02.v[var_04["name"]])) - { - continue; - } - - var_00++; - if(var_00 < level.effect_list_offset) - { - continue; - } - - var_01++; - var_05 = var_01; - if(var_05 == 10) - { - var_05 = 0; - } - - if(common_scripts\_createfx::button_is_clicked(var_05 + "")) - { - prepare_option_for_change(var_04,var_01); - break; - } - - if(var_01 > level.effect_list_offset_max) - { - var_06 = 1; - break; - } - } -} - -//Function Number: 17 -prepare_option_for_change(param_00,param_01) -{ - if(param_00["name"] == "fxid") - { - setmenu("change_fxid"); - draw_effects_list(); - return; - } - - level.createfx_inputlocked = 1; - level._createfx.hudelems[param_01 + 1][0].color = (1,1,0); - if(isdefined(param_00["input_func"])) - { - thread [[ param_00["input_func"] ]](param_01 + 1); - } - else - { - common_scripts\_createfx::createfx_centerprint("To set " + param_00["description"] + ", type /fx newvalue. To remove " + param_00["description"] + ", type /fx del"); - } - - set_option_index(param_00["name"]); - setdvar("fx","nil"); -} - -//Function Number: 18 -menu_fx_option_set() -{ - if(getdvar("fx") == "nil") - { - return; - } - - if(getdvar("fx") == "del") - { - common_scripts\_createfx::remove_selected_option(); - return; - } - - var_00 = get_selected_option(); - var_01 = undefined; - if(var_00["type"] == "string") - { - var_01 = getdvar("fx"); - } - - if(var_00["type"] == "int") - { - var_01 = getdvarint("fx"); - } - - if(var_00["type"] == "float") - { - var_01 = getdvarfloat("fx"); - } - - if(var_00["type"] == "vector") - { - var_01 = getdvarvector("fx"); - } - - if(isdefined(var_01)) - { - apply_option_to_selected_fx(var_00,var_01); - return; - } - - setdvar("fx","nil"); -} - -//Function Number: 19 -apply_option_to_selected_fx(param_00,param_01) -{ - common_scripts\_createfx::save_undo_buffer(); - for(var_02 = 0;var_02 < level._createfx.selected_fx_ents.size;var_02++) - { - var_03 = level._createfx.selected_fx_ents[var_02]; - if(mask(param_00["mask"],var_03.v["type"])) - { - var_03.v[param_00["name"]] = param_01; - } - } - - level.last_displayed_ent = undefined; - common_scripts\_createfx::update_selected_entities(); - common_scripts\_createfx::clear_settable_fx(); - if(param_00["name"] == "origin") - { - level.createfx_last_movement_timer = 0; - common_scripts\_createfx::frame_selected(); - } - - if(param_00["name"] == "angles") - { - level.createfx_last_movement_timer = 0; - } - - common_scripts\_createfx::save_redo_buffer(); -} - -//Function Number: 20 -set_option_index(param_00) -{ - for(var_01 = 0;var_01 < level._createfx.options.size;var_01++) - { - if(level._createfx.options[var_01]["name"] != param_00) - { - continue; - } - - level._createfx.selected_fx_option_index = var_01; - return; - } -} - -//Function Number: 21 -get_selected_option() -{ - return level._createfx.options[level._createfx.selected_fx_option_index]; -} - -//Function Number: 22 -mask(param_00,param_01) -{ - return isdefined(level.createfxmasks[param_00][param_01]); -} - -//Function Number: 23 -addoption(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - var_07 = []; - var_07["type"] = param_00; - var_07["name"] = param_01; - var_07["description"] = param_02; - var_07["default"] = param_03; - var_07["mask"] = param_04; - if(isdefined(param_05) && param_05) - { - var_07["nowrite"] = 1; - } - else - { - var_07["nowrite"] = 0; - } - - if(isdefined(param_06)) - { - var_07["input_func"] = param_06; - } - - level._createfx.options[level._createfx.options.size] = var_07; -} - -//Function Number: 24 -get_option(param_00) -{ - for(var_01 = 0;var_01 < level._createfx.options.size;var_01++) - { - if(level._createfx.options[var_01]["name"] == param_00) - { - return level._createfx.options[var_01]; - } - } -} - -//Function Number: 25 -input_reactive_radius(param_00) -{ - for(;;) - { - wait(0.05); - if(level.player buttonpressed("escape") || level.player buttonpressed("x")) - { - break; - } - - var_01 = 0; - if(level.player buttonpressed("-")) - { - var_01 = -10; - } - else if(level.player buttonpressed("=")) - { - var_01 = 10; - } - - if(var_01 != 0) - { - foreach(var_03 in level._createfx.selected_fx_ents) - { - if(isdefined(var_03.v["reactive_radius"])) - { - var_03.v["reactive_radius"] = var_03.v["reactive_radius"] + var_01; - var_03.v["reactive_radius"] = clamp(var_03.v["reactive_radius"],10,1000); - } - } - } - } - - level.last_displayed_ent = undefined; - common_scripts\_createfx::update_selected_entities(); - common_scripts\_createfx::clear_settable_fx(); -} - -//Function Number: 26 -display_fx_add_options(param_00) -{ - level.createfx_menu_list_active = 1; - common_scripts\_createfx::clear_fx_hudelements(); - common_scripts\_createfx::set_fx_hudelement("Name: " + param_00.v["fxid"]); - common_scripts\_createfx::set_fx_hudelement("Type: " + param_00.v["type"]); - common_scripts\_createfx::set_fx_hudelement("Origin: " + param_00.v["origin"]); - common_scripts\_createfx::set_fx_hudelement("Angles: " + param_00.v["angles"]); - var_01 = 0; - var_02 = 0; - var_03 = 0; - if(level.effect_list_offset >= level._createfx.options.size) - { - level.effect_list_offset = 0; - } - - for(var_04 = 0;var_04 < level._createfx.options.size;var_04++) - { - var_05 = level._createfx.options[var_04]; - if(isdefined(param_00.v[var_05["name"]])) - { - continue; - } - - if(!mask(var_05["mask"],param_00.v["type"])) - { - continue; - } - - var_01++; - if(var_01 < level.effect_list_offset) - { - continue; - } - - if(var_02 >= level.effect_list_offset_max) - { - continue; - } - - var_02++; - var_06 = var_02; - if(var_06 == 10) - { - var_06 = 0; - } - - if(common_scripts\_createfx::button_is_clicked(var_06 + "")) - { - add_option_to_selected_entities(var_05); - menunone(); - level.last_displayed_ent = undefined; - return; - } - - common_scripts\_createfx::set_fx_hudelement(var_06 + ". " + var_05["description"]); - } - - if(var_01 > level.effect_list_offset_max) - { - level.effect_list_current_size = var_01; - common_scripts\_createfx::set_fx_hudelement("(->) More >"); - } - - common_scripts\_createfx::set_fx_hudelement("(x) Exit >"); -} - -//Function Number: 27 -add_option_to_selected_entities(param_00) -{ - var_01 = undefined; - for(var_02 = 0;var_02 < level._createfx.selected_fx_ents.size;var_02++) - { - var_03 = level._createfx.selected_fx_ents[var_02]; - if(mask(param_00["mask"],var_03.v["type"])) - { - var_03.v[param_00["name"]] = param_00["default"]; - } - } -} - -//Function Number: 28 -menunone() -{ - level.effect_list_offset = 0; - common_scripts\_createfx::clear_fx_hudelements(); - setmenu("none"); -} - -//Function Number: 29 -display_fx_info(param_00) -{ - if(!menu("none")) - { - return; - } - - if(level.createfx_help_active) - { - return; - } - - common_scripts\_createfx::clear_fx_hudelements(); - common_scripts\_createfx::set_fx_hudelement("Name: " + param_00.v["fxid"]); - common_scripts\_createfx::set_fx_hudelement("Type: " + param_00.v["type"]); - if(entities_are_selected()) - { - var_01 = 0; - var_02 = 0; - var_03 = 0; - for(var_04 = 0;var_04 < level._createfx.options.size;var_04++) - { - var_05 = level._createfx.options[var_04]; - if(!isdefined(param_00.v[var_05["name"]])) - { - continue; - } - - var_01++; - if(var_01 < level.effect_list_offset) - { - continue; - } - - var_02++; - common_scripts\_createfx::set_fx_hudelement(var_02 + ". " + var_05["description"] + ": " + param_00.v[var_05["name"]]); - if(var_02 > level.effect_list_offset_max) - { - var_03 = 1; - break; - } - } - - if(var_01 > level.effect_list_offset_max) - { - level.effect_list_current_size = var_01; - common_scripts\_createfx::set_fx_hudelement("(->) More >"); - } - - common_scripts\_createfx::set_fx_hudelement("(a) Add >"); - common_scripts\_createfx::set_fx_hudelement("(x) Exit >"); - return; - } - - var_01 = 0; - var_03 = 0; - for(var_04 = 0;var_04 < level._createfx.options.size;var_04++) - { - var_05 = level._createfx.options[var_04]; - if(!isdefined(param_00.v[var_05["name"]])) - { - continue; - } - - var_01++; - common_scripts\_createfx::set_fx_hudelement(var_05["description"] + ": " + param_00.v[var_05["name"]]); - if(var_01 > level._createfx.hudelem_count) - { - break; - } - } -} - -//Function Number: 30 -display_current_translation() -{ - var_00 = get_last_selected_ent(); - if(isdefined(var_00)) - { - display_fx_info(var_00); - } -} - -//Function Number: 31 -draw_effects_list(param_00) -{ - common_scripts\_createfx::clear_fx_hudelements(); - var_01 = 0; - var_02 = 0; - var_03 = common_scripts\_createfx::func_get_level_fx(); - level.effect_list_current_size = var_03.size; - if(!isdefined(param_00)) - { - param_00 = "Pick an effect"; - } - - common_scripts\_createfx::set_fx_hudelement(param_00 + " [" + level.effect_list_offset + " - " + var_03.size + "]:"); - for(var_04 = level.effect_list_offset;var_04 < var_03.size;var_04++) - { - var_01 = var_01 + 1; - common_scripts\_createfx::set_fx_hudelement(var_01 + ". " + var_03[var_04]); - if(var_01 >= level.effect_list_offset_max) - { - var_02 = 1; - break; - } - } - - if(var_03.size > level.effect_list_offset_max) - { - common_scripts\_createfx::set_fx_hudelement("(->) More >"); - common_scripts\_createfx::set_fx_hudelement("(<-) Previous >"); - } -} - -//Function Number: 32 -increment_list_offset() -{ - if(level.effect_list_offset >= level.effect_list_current_size - level.effect_list_offset_max) - { - level.effect_list_offset = 0; - return; - } - - level.effect_list_offset = level.effect_list_offset + level.effect_list_offset_max; -} - -//Function Number: 33 -decrement_list_offset() -{ - if(level.effect_list_current_size < level.effect_list_offset_max) - { - level.effect_list_offset = 0; - return; - } - - level.effect_list_offset = level.effect_list_offset - level.effect_list_offset_max; - if(level.effect_list_offset < 0) - { - level.effect_list_offset = level.effect_list_current_size - level.effect_list_offset_max; - } -} - -//Function Number: 34 -draw_help_list(param_00) -{ - common_scripts\_createfx::clear_fx_hudelements(); - var_01 = 0; - var_02 = level.createfx_help_keys; - if(!isdefined(param_00)) - { - param_00 = "Help"; - } - - common_scripts\_createfx::set_fx_hudelement("[" + param_00 + "]"); - for(var_03 = level.help_list_offset;var_03 < var_02.size;var_03++) - { - var_01 = var_01 + 1; - common_scripts\_createfx::set_fx_hudelement(var_02[var_03]); - if(var_01 >= level.help_list_offset_max) - { - var_04 = 1; - break; - } - } - - if(var_02.size > level.help_list_offset_max) - { - level.effect_list_current_size = var_02.size; - common_scripts\_createfx::set_fx_hudelement("(->) More >"); - common_scripts\_createfx::set_fx_hudelement("(<-) Previous >"); - } -} - -//Function Number: 35 -increment_help_list_offset() -{ - var_00 = level.createfx_help_keys; - if(level.help_list_offset >= var_00.size - level.help_list_offset_max) - { - level.help_list_offset = 0; - return; - } - - level.help_list_offset = level.help_list_offset + level.help_list_offset_max; -} - -//Function Number: 36 -decrement_help_list_offset() -{ - level.help_list_offset = level.help_list_offset - level.help_list_offset_max; - if(level.help_list_offset < 0) - { - var_00 = level.createfx_help_keys; - level.help_list_offset = var_00.size - level.help_list_offset_max; - } -} - -//Function Number: 37 -help_navigation_buttons() -{ - while(level.createfx_help_active == 1) - { - if(next_button()) - { - increment_help_list_offset(); - draw_help_list(); - wait(0.1); - continue; - } - - if(previous_button()) - { - decrement_help_list_offset(); - draw_help_list(); - wait(0.1); - } - - wait 0.05; - } -} - -//Function Number: 38 -setup_help_keys() -{ - level.createfx_help_keys = ["Insert Insert entity","F2 Toggle createfx dot and text drawing","F5 SAVES your work","Z Undo","Shift-Z Redo","F Frames currently selected entities in camera view","END Drop selected entities to the ground","A Add option to the selected entities","P Reset the rotation of the selected entities","V Copy the angles from the most recently selected fx onto all selected fx.","O Orient all selected fx to point at most recently selected fx.","S Toggle Snap2Normal mode.","L Toggle 90deg Snap mode.","G Select all effects in level of same exploder or flag as selected.","U Select by name list.","C Convert One-Shot to Exploder.","Delete Kill the selected entities","ESCAPE Cancel out of option-modify-mode, must have console open","SPACE or -> Turn on exploders","<- Turn off exploders","Dpad Move selected entities on X/Y or rotate pitch/yaw","A button Toggle the selection of the current entity","X button Toggle entity rotation mode","Y button Move selected entites up or rotate roll","B button Move selected entites down or rotate roll","R Shoulder Move selected entities to the cursor","L Shoulder Hold to select multiple entites","L JoyClick Copy","R JoyClick Paste","Ctrl-C Copy","Ctrl-V Paste","N UFO","T Toggle Timescale FAST","Y Toggle Timescale SLOW","[ Toggle FX Visibility","] Toggle ShowTris","F11 Toggle FX Profile"]; -} - -//Function Number: 39 -select_by_name() -{ - var_00 = 0; - var_01 = undefined; - var_02 = common_scripts\_createfx::func_get_level_fx(); - for(var_03 = level.effect_list_offset;var_03 < var_02.size;var_03++) - { - var_00 = var_00 + 1; - var_04 = var_00; - if(var_04 == 10) - { - var_04 = 0; - } - - if(common_scripts\_createfx::button_is_clicked(var_04 + "")) - { - var_01 = var_02[var_03]; - break; - } - - if(var_00 > level.effect_list_offset_max) - { - break; - } - } - - if(!isdefined(var_01)) - { - return; - } - - var_05 = []; - foreach(var_03, var_07 in level.createfxent) - { - if(issubstr(var_07.v["fxid"],var_01)) - { - var_05[var_05.size] = var_03; - } - } - - common_scripts\_createfx::deselect_all_ents(); - common_scripts\_createfx::select_index_array(var_05); - level._createfx.select_by_name = 1; -} - -//Function Number: 40 -get_last_selected_ent() -{ - return level._createfx.selected_fx_ents[level._createfx.selected_fx_ents.size - 1]; -} \ No newline at end of file diff --git a/AW/PC/SP/common_scripts/_dynamic_world.gsc b/AW/PC/SP/common_scripts/_dynamic_world.gsc deleted file mode 100644 index d05a932..0000000 --- a/AW/PC/SP/common_scripts/_dynamic_world.gsc +++ /dev/null @@ -1,1760 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: common_scripts/_dynamic_world.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 73 - * Decompile Time: 1196 ms - * Timestamp: 10/27/2023 1:57:49 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - common_scripts\utility::array_thread(getentarray("com_wall_fan_blade_rotate_slow","targetname"),::fan_blade_rotate,"veryslow"); - common_scripts\utility::array_thread(getentarray("com_wall_fan_blade_rotate","targetname"),::fan_blade_rotate,"slow"); - common_scripts\utility::array_thread(getentarray("com_wall_fan_blade_rotate_fast","targetname"),::fan_blade_rotate,"fast"); - var_00 = []; - var_00["trigger_multiple_dyn_metal_detector"] = ::metal_detector; - var_00["trigger_multiple_dyn_creaky_board"] = ::creaky_board; - var_00["trigger_multiple_dyn_photo_copier"] = ::photo_copier; - var_00["trigger_multiple_dyn_copier_no_light"] = ::photo_copier_no_light; - var_00["trigger_radius_motion_light"] = ::motion_light; - var_00["trigger_radius_dyn_motion_dlight"] = ::outdoor_motion_dlight; - var_00["trigger_multiple_dog_bark"] = ::dog_bark; - var_00["trigger_radius_bird_startle"] = ::bird_startle; - var_00["trigger_multiple_dyn_motion_light"] = ::motion_light; - var_00["trigger_multiple_dyn_door"] = ::trigger_door; - player_init(); - foreach(var_04, var_02 in var_00) - { - var_03 = getentarray(var_04,"classname"); - common_scripts\utility::array_thread(var_03,::triggertouchthink); - common_scripts\utility::array_thread(var_03,var_02); - } - - common_scripts\utility::array_thread(getentarray("vending_machine","targetname"),::vending_machine); - common_scripts\utility::array_thread(getentarray("toggle","targetname"),::use_toggle); - common_scripts\utility::array_thread(getentarray("sliding_door","targetname"),::sliding_door); - level thread onplayerconnect(); - var_05 = getent("civilian_jet_origin","targetname"); - if(isdefined(var_05)) - { - var_05 thread civilian_jet_flyby(); - } - - thread interactive_tv(); -} - -//Function Number: 2 -onplayerconnect() -{ - for(;;) - { - level waittill("connecting",var_00); - var_00 thread movementtracker(); - } -} - -//Function Number: 3 -player_init() -{ - if(common_scripts\utility::issp()) - { - foreach(var_01 in level.players) - { - var_01.touchtriggers = []; - var_01 thread movementtracker(); - } - } -} - -//Function Number: 4 -ai_init() -{ - self.touchtriggers = []; - thread movementtracker(); -} - -//Function Number: 5 -civilian_jet_flyby() -{ - level endon("game_ended"); - jet_init(); - level waittill("prematch_over"); - for(;;) - { - thread jet_timer(); - self waittill("start_flyby"); - thread jet_flyby(); - self waittill("flyby_done"); - jet_reset(); - } -} - -//Function Number: 6 -jet_init() -{ - self.jet_parts = getentarray(self.target,"targetname"); - self.jet_flyto = getent("civilian_jet_flyto","targetname"); - self.engine_fxs = getentarray("engine_fx","targetname"); - self.flash_fxs = getentarray("flash_fx","targetname"); - self.jet_engine_fx = loadfx("fx/fire/jet_afterburner"); - self.jet_flash_fx_red = loadfx("vfx/lights/aircraft_light_wingtip_red"); - self.jet_flash_fx_green = loadfx("vfx/lights/aircraft_light_wingtip_green"); - self.jet_flash_fx_blink = loadfx("vfx/lights/aircraft_light_red_blink"); - level.civilianjetflyby = undefined; - var_00 = vectornormalize(self.origin - self.jet_flyto.origin) * 20000; - self.jet_flyto.origin = self.jet_flyto.origin - var_00; - self.origin = self.origin + var_00; - foreach(var_02 in self.jet_parts) - { - var_02.origin = var_02.origin + var_00; - var_02.old_origin = var_02.origin; - var_02 hide(); - } - - foreach(var_05 in self.engine_fxs) - { - var_05.origin = var_05.origin + var_00; - } - - foreach(var_08 in self.flash_fxs) - { - var_08.origin = var_08.origin + var_00; - } - - var_0A = self.origin; - var_0B = self.jet_flyto.origin; - self.jet_fly_vec = var_0B - var_0A; - var_0C = 2000; - var_0D = abs(distance(var_0A,var_0B)); - self.jet_flight_time = var_0D / var_0C; -} - -//Function Number: 7 -jet_reset() -{ - foreach(var_01 in self.jet_parts) - { - var_01.origin = var_01.old_origin; - var_01 hide(); - } -} - -//Function Number: 8 -jet_timer() -{ - level endon("game_ended"); - var_00 = gettimeinterval(); - var_01 = max(10,var_00); - var_01 = min(var_01,100); - if(getdvar("jet_flyby_timer") != "") - { - level.civilianjetflyby_timer = 5 + getdvarint("jet_flyby_timer"); - } - else - { - level.civilianjetflyby_timer = 0.25 + randomfloatrange(0.3,0.7) * 60 * var_01; - } - - wait(level.civilianjetflyby_timer); - while(isdefined(level.airstrikeinprogress) || isdefined(level.ac130player) || isdefined(level.chopper) || isdefined(level.remotemissileinprogress)) - { - wait(0.05); - } - - self notify("start_flyby"); - level.civilianjetflyby = 1; - self waittill("flyby_done"); - level.civilianjetflyby = undefined; -} - -//Function Number: 9 -gettimeinterval() -{ - if(common_scripts\utility::issp()) - { - return 10; - } - - if(isdefined(game["status"]) && game["status"] == "overtime") - { - return 1; - } - - return getwatcheddvar("timelimit"); -} - -//Function Number: 10 -getwatcheddvar(param_00) -{ - param_00 = "scr_" + level.gametype + "_" + param_00; - if(isdefined(level.overridewatchdvars) && isdefined(level.overridewatchdvars[param_00])) - { - return level.overridewatchdvars[param_00]; - } - - return level.watchdvars[param_00].value; -} - -//Function Number: 11 -jet_flyby() -{ - foreach(var_01 in self.jet_parts) - { - var_01 show(); - } - - var_03 = []; - var_04 = []; - foreach(var_06 in self.engine_fxs) - { - var_07 = spawn("script_model",var_06.origin); - var_07 setmodel("tag_origin"); - var_07.angles = var_06.angles; - var_03[var_03.size] = var_07; - } - - foreach(var_0A in self.flash_fxs) - { - var_0B = spawn("script_model",var_0A.origin); - var_0B setmodel("tag_origin"); - var_0B.color = var_0A.script_noteworthy; - var_0B.angles = var_0A.angles; - var_04[var_04.size] = var_0B; - } - - thread jet_planesound(self.jet_parts[0],level.mapcenter); - wait(0.05); - foreach(var_07 in var_03) - { - playfxontag(self.jet_engine_fx,var_07,"tag_origin"); - } - - foreach(var_0B in var_04) - { - if(isdefined(var_0B.color) && var_0B.color == "blink") - { - playfxontag(self.jet_flash_fx_blink,var_0B,"tag_origin"); - continue; - } - - if(isdefined(var_0B.color) && var_0B.color == "red") - { - playfxontag(self.jet_flash_fx_red,var_0B,"tag_origin"); - continue; - } - - playfxontag(self.jet_flash_fx_green,var_0B,"tag_origin"); - } - - foreach(var_01 in self.jet_parts) - { - var_01 moveto(var_01.origin + self.jet_fly_vec,self.jet_flight_time); - } - - foreach(var_07 in var_03) - { - var_07 moveto(var_07.origin + self.jet_fly_vec,self.jet_flight_time); - } - - foreach(var_0B in var_04) - { - var_0B moveto(var_0B.origin + self.jet_fly_vec,self.jet_flight_time); - } - - wait(self.jet_flight_time + 1); - foreach(var_07 in var_03) - { - var_07 delete(); - } - - foreach(var_0B in var_04) - { - var_0B delete(); - } - - self notify("flyby_done"); -} - -//Function Number: 12 -jet_planesound(param_00,param_01) -{ - param_00 thread playsound_loop_on_ent("veh_mig29_dist_loop"); - while(!targetisclose(param_00,param_01)) - { - wait(0.05); - } - - param_00 thread playsound_loop_on_ent("veh_mig29_close_loop"); - while(targetisinfront(param_00,param_01)) - { - wait(0.05); - } - - wait(0.5); - param_00 thread playsound_float("veh_mig29_sonic_boom"); - while(targetisclose(param_00,param_01)) - { - wait(0.05); - } - - param_00 notify("stop soundveh_mig29_close_loop"); - self waittill("flyby_done"); - param_00 notify("stop soundveh_mig29_dist_loop"); -} - -//Function Number: 13 -playsound_float(param_00,param_01,param_02) -{ - var_03 = spawn("script_origin",(0,0,1)); - var_03 hide(); - if(!isdefined(param_01)) - { - param_01 = self.origin; - } - - var_03.origin = param_01; - if(isdefined(param_02) && param_02) - { - var_03 playsoundasmaster(param_00); - } - else - { - var_03 playsound(param_00); - } - - wait(10); - var_03 delete(); -} - -//Function Number: 14 -playsound_loop_on_ent(param_00,param_01) -{ - var_02 = spawn("script_origin",(0,0,0)); - var_02 hide(); - var_02 endon("death"); - thread common_scripts\utility::delete_on_death(var_02); - if(isdefined(param_01)) - { - var_02.origin = self.origin + param_01; - var_02.angles = self.angles; - var_02 linkto(self); - } - else - { - var_02.origin = self.origin; - var_02.angles = self.angles; - var_02 linkto(self); - } - - var_02 playloopsound(param_00); - self waittill("stop sound" + param_00); - var_02 stoploopsound(param_00); - var_02 delete(); -} - -//Function Number: 15 -targetisinfront(param_00,param_01) -{ - var_02 = anglestoforward(common_scripts\utility::flat_angle(param_00.angles)); - var_03 = vectornormalize(common_scripts\utility::flat_origin(param_01) - param_00.origin); - var_04 = vectordot(var_02,var_03); - if(var_04 > 0) - { - return 1; - } - - return 0; -} - -//Function Number: 16 -targetisclose(param_00,param_01) -{ - var_02 = targetisinfront(param_00,param_01); - if(var_02) - { - var_03 = 1; - } - else - { - var_03 = -1; - } - - var_04 = common_scripts\utility::flat_origin(param_00.origin); - var_05 = var_04 + anglestoforward(common_scripts\utility::flat_angle(param_00.angles)) * var_03 * 100000; - var_06 = pointonsegmentnearesttopoint(var_04,var_05,param_01); - var_07 = distance(var_04,var_06); - if(var_07 < 3000) - { - return 1; - } - - return 0; -} - -//Function Number: 17 -vending_machine() -{ - level endon("game_ended"); - self endon("death"); - self setcursorhint("HINT_ACTIVATE"); - self.vm_normal = getent(self.target,"targetname"); - var_00 = getent(self.vm_normal.target,"targetname"); - var_01 = getent(var_00.target,"targetname"); - var_02 = getent(var_01.target,"targetname"); - self.vm_launch_from = var_02.origin; - var_03 = getent(var_02.target,"targetname"); - self.vm_launch_to = var_03.origin; - if(isdefined(var_03.target)) - { - self.vm_fx_loc = getent(var_03.target,"targetname").origin; - } - - self.vm_normal setcandamage(1); - self.vm_normal_model = self.vm_normal.model; - self.vm_damaged_model = self.vm_normal.script_noteworthy; - self.vm_soda_model = var_00.model; - self.vm_soda_start_pos = var_00.origin; - self.vm_soda_start_angle = var_00.angles; - self.vm_soda_stop_pos = var_01.origin; - self.vm_soda_stop_angle = var_01.angles; - precachemodel(self.vm_damaged_model); - var_00 delete(); - var_01 delete(); - var_02 delete(); - var_03 delete(); - self.soda_array = []; - self.soda_count = 12; - self.soda_slot = undefined; - self.hp = 400; - thread vending_machine_damage_monitor(self.vm_normal); - self playloopsound("vending_machine_hum"); - for(;;) - { - self waittill("trigger",var_04); - self playsound("vending_machine_button_press"); - if(!self.soda_count) - { - continue; - } - - if(isdefined(self.soda_slot)) - { - soda_can_eject(); - } - - soda_can_drop(spawn_soda()); - wait(0.05); - } -} - -//Function Number: 18 -vending_machine_damage_monitor(param_00) -{ - level endon("game_ended"); - var_01 = "mod_grenade mod_projectile mod_explosive mod_grenade_splash mod_projectile_splash splash"; - var_02 = loadfx("fx/explosions/tv_explosion"); - for(;;) - { - var_03 = undefined; - var_04 = undefined; - var_05 = undefined; - var_06 = undefined; - var_07 = undefined; - param_00 waittill("damage",var_03,var_04,var_05,var_06,var_07); - if(isdefined(var_07)) - { - if(issubstr(var_01,tolower(var_07))) - { - var_03 = var_03 * 3; - } - - self.hp = self.hp - var_03; - if(self.hp > 0) - { - continue; - } - - self notify("death"); - self.origin = self.origin + (0,0,10000); - if(!isdefined(self.vm_fx_loc)) - { - var_08 = self.vm_normal.origin + (37,-31,52); - } - else - { - var_08 = self.vm_fx_loc; - } - - playfx(var_02,var_08); - self.vm_normal setmodel(self.vm_damaged_model); - while(self.soda_count > 0) - { - if(isdefined(self.soda_slot)) - { - soda_can_eject(); - } - - soda_can_drop(spawn_soda()); - wait(0.05); - } - - self stoploopsound("vending_machine_hum"); - return; - } - } -} - -//Function Number: 19 -spawn_soda() -{ - var_00 = spawn("script_model",self.vm_soda_start_pos); - var_00 setmodel(self.vm_soda_model); - var_00.origin = self.vm_soda_start_pos; - var_00.angles = self.vm_soda_start_angle; - return var_00; -} - -//Function Number: 20 -soda_can_drop(param_00) -{ - param_00 moveto(self.vm_soda_stop_pos,0.2); - param_00 playsound("vending_machine_soda_drop"); - wait(0.2); - self.soda_slot = param_00; - self.soda_count--; -} - -//Function Number: 21 -soda_can_eject() -{ - self endon("death"); - if(isdefined(self.soda_slot.ejected) && self.soda_slot.ejected == 1) - { - return; - } - - var_00 = 1; - var_01 = var_00 * -999; - var_02 = int(40000); - var_03 = (int(var_02 / 2),int(var_02 / 2),0) - (randomint(var_02),randomint(var_02),0); - var_04 = vectornormalize(self.vm_launch_to - self.vm_launch_from + var_03); - var_05 = var_04 * randomfloatrange(var_01,var_00); - self.soda_slot physicslaunchclient(self.vm_launch_from,var_05); - self.soda_slot.ejected = 1; -} - -//Function Number: 22 -freefall() -{ - level endon("game_ended"); - var_00 = "briefcase_bomb_mp"; - precacheitem(var_00); - for(;;) - { - self waittill("trigger_enter",var_01); - if(!var_01 hasweapon(var_00)) - { - var_01 playsound("freefall_death"); - var_01 giveweapon(var_00); - var_01 setweaponammostock(var_00,0); - var_01 setweaponammoclip(var_00,0); - var_01 switchtoweapon(var_00); - } - } -} - -//Function Number: 23 -metal_detector() -{ - level endon("game_ended"); - var_00 = getent(self.target,"targetname"); - var_00 enablegrenadetouchdamage(); - var_01 = getent(var_00.target,"targetname"); - var_02 = getent(var_01.target,"targetname"); - var_03 = getent(var_02.target,"targetname"); - var_04 = getent(var_03.target,"targetname"); - var_05 = []; - var_06 = min(var_01.origin[0],var_02.origin[0]); - var_05[0] = var_06; - var_07 = max(var_01.origin[0],var_02.origin[0]); - var_05[1] = var_07; - var_08 = min(var_01.origin[1],var_02.origin[1]); - var_05[2] = var_08; - var_09 = max(var_01.origin[1],var_02.origin[1]); - var_05[3] = var_09; - var_0A = min(var_01.origin[2],var_02.origin[2]); - var_05[4] = var_0A; - var_0B = max(var_01.origin[2],var_02.origin[2]); - var_05[5] = var_0B; - var_01 delete(); - var_02 delete(); - if(!common_scripts\utility::issp()) - { - self.alarm_interval = 7; - } - else - { - self.alarm_interval = 2; - } - - self.alarm_playing = 0; - self.alarm_annoyance = 0; - self.tolerance = 0; - thread metal_detector_dmg_monitor(var_00); - thread metal_detector_touch_monitor(); - thread metal_detector_weapons(var_05,"weapon_claymore","weapon_c4"); - var_0C = (var_03.origin[0],var_03.origin[1],var_0B); - var_0D = (var_04.origin[0],var_04.origin[1],var_0B); - var_0E = loadfx("fx/props/metal_detector_light"); - for(;;) - { - common_scripts\utility::waittill_any("dmg_triggered","touch_triggered","weapon_triggered"); - thread playsound_and_light("alarm_metal_detector",var_0E,var_0C,var_0D); - } -} - -//Function Number: 24 -playsound_and_light(param_00,param_01,param_02,param_03) -{ - level endon("game_ended"); - if(!self.alarm_playing) - { - self.alarm_playing = 1; - thread annoyance_tracker(); - if(!self.alarm_annoyance) - { - self playsound(param_00); - } - - playfx(param_01,param_02); - playfx(param_01,param_03); - wait(self.alarm_interval); - self.alarm_playing = 0; - } -} - -//Function Number: 25 -annoyance_tracker() -{ - level endon("game_ended"); - if(!self.tolerance) - { - return; - } - - var_00 = self.alarm_interval + 0.15; - if(self.tolerance) - { - self.tolerance--; - } - else - { - self.alarm_annoyance = 1; - } - - var_01 = gettime(); - var_02 = 7; - if(common_scripts\utility::issp()) - { - var_02 = 2; - } - - waittill_any_or_timeout("dmg_triggered","touch_triggered","weapon_triggered",var_02 + 2); - var_03 = gettime() - var_01; - if(var_03 > var_02 * 1000 + 1150) - { - self.alarm_annoyance = 0; - self.tolerance = 0; - } -} - -//Function Number: 26 -waittill_any_or_timeout(param_00,param_01,param_02,param_03) -{ - level endon("game_ended"); - self endon(param_00); - self endon(param_01); - self endon(param_02); - wait(param_03); -} - -//Function Number: 27 -metal_detector_weapons(param_00,param_01,param_02) -{ - level endon("game_ended"); - for(;;) - { - waittill_weapon_placed(); - var_03 = getentarray("grenade","classname"); - foreach(var_05 in var_03) - { - if(isdefined(var_05.model) && var_05.model == param_01 || var_05.model == param_02) - { - if(isinbound(var_05,param_00)) - { - thread weapon_notify_loop(var_05,param_00); - } - } - } - } -} - -//Function Number: 28 -waittill_weapon_placed() -{ - level endon("game_ended"); - self endon("dmg_triggered"); - self waittill("touch_triggered"); -} - -//Function Number: 29 -weapon_notify_loop(param_00,param_01) -{ - param_00 endon("death"); - while(isinbound(param_00,param_01)) - { - self notify("weapon_triggered"); - wait(self.alarm_interval); - } -} - -//Function Number: 30 -isinbound(param_00,param_01) -{ - var_02 = param_01[0]; - var_03 = param_01[1]; - var_04 = param_01[2]; - var_05 = param_01[3]; - var_06 = param_01[4]; - var_07 = param_01[5]; - var_08 = param_00.origin[0]; - var_09 = param_00.origin[1]; - var_0A = param_00.origin[2]; - if(isinbound_single(var_08,var_02,var_03)) - { - if(isinbound_single(var_09,var_04,var_05)) - { - if(isinbound_single(var_0A,var_06,var_07)) - { - return 1; - } - } - } - - return 0; -} - -//Function Number: 31 -isinbound_single(param_00,param_01,param_02) -{ - if(param_00 > param_01 && param_00 < param_02) - { - return 1; - } - - return 0; -} - -//Function Number: 32 -metal_detector_dmg_monitor(param_00) -{ - level endon("game_ended"); - for(;;) - { - param_00 waittill("damage",var_01,var_02,var_03,var_04,var_05); - if(isdefined(var_05) && alarm_validate_damage(var_05)) - { - self notify("dmg_triggered"); - } - } -} - -//Function Number: 33 -metal_detector_touch_monitor() -{ - level endon("game_ended"); - for(;;) - { - self waittill("trigger_enter"); - while(anythingtouchingtrigger(self)) - { - self notify("touch_triggered"); - wait(self.alarm_interval); - } - } -} - -//Function Number: 34 -alarm_validate_damage(param_00) -{ - var_01 = "mod_melee melee mod_grenade mod_projectile mod_explosive mod_impact"; - var_02 = strtok(var_01," "); - foreach(var_04 in var_02) - { - if(tolower(var_04) == tolower(param_00)) - { - return 1; - } - } - - return 0; -} - -//Function Number: 35 -creaky_board() -{ - level endon("game_ended"); - for(;;) - { - self waittill("trigger_enter",var_00); - var_00 thread do_creak(self); - } -} - -//Function Number: 36 -do_creak(param_00) -{ - self endon("disconnect"); - self endon("death"); - self playsound("step_walk_plr_woodcreak_on"); - for(;;) - { - self waittill("trigger_leave",var_01); - if(param_00 != var_01) - { - continue; - } - - self playsound("step_walk_plr_woodcreak_off"); - } -} - -//Function Number: 37 -motion_light() -{ - level endon("game_ended"); - self.movetracker = 1; - self.lightson = 0; - var_00 = getentarray(self.target,"targetname"); - common_scripts\utility::noself_array_call(["com_two_light_fixture_off","com_two_light_fixture_on"],::precachemodel); - foreach(var_02 in var_00) - { - var_02.lightrigs = []; - var_03 = getent(var_02.target,"targetname"); - if(!isdefined(var_03.target)) - { - continue; - } - - var_02.lightrigs = getentarray(var_03.target,"targetname"); - } - - for(;;) - { - self waittill("trigger_enter"); - while(anythingtouchingtrigger(self)) - { - var_05 = 0; - foreach(var_07 in self.touchlist) - { - if(isdefined(var_07.distmoved) && var_07.distmoved > 5) - { - var_05 = 1; - } - } - - if(var_05) - { - if(!self.lightson) - { - self.lightson = 1; - var_00[0] playsound("switch_auto_lights_on"); - foreach(var_02 in var_00) - { - var_02 setlightintensity(1); - if(isdefined(var_02.lightrigs)) - { - foreach(var_0B in var_02.lightrigs) - { - var_0B setmodel("com_two_light_fixture_on"); - } - } - } - } - - thread motion_light_timeout(var_00,10); - } - - wait(0.05); - } - } -} - -//Function Number: 38 -motion_light_timeout(param_00,param_01) -{ - self notify("motion_light_timeout"); - self endon("motion_light_timeout"); - wait(param_01); - foreach(var_03 in param_00) - { - var_03 setlightintensity(0); - if(isdefined(var_03.lightrigs)) - { - foreach(var_05 in var_03.lightrigs) - { - var_05 setmodel("com_two_light_fixture_off"); - } - } - } - - param_00[0] playsound("switch_auto_lights_off"); - self.lightson = 0; -} - -//Function Number: 39 -outdoor_motion_dlight() -{ - if(!isdefined(level.outdoor_motion_light)) - { - level.outdoor_motion_light = loadfx("vfx/lights/outdoor_motion_light"); - } - - level endon("game_ended"); - self.movetracker = 1; - self.lightson = 0; - var_00 = getent(self.target,"targetname"); - var_01 = getentarray(var_00.target,"targetname"); - common_scripts\utility::noself_array_call(["com_two_light_fixture_off","com_two_light_fixture_on"],::precachemodel); - for(;;) - { - self waittill("trigger_enter"); - while(anythingtouchingtrigger(self)) - { - var_02 = 0; - foreach(var_04 in self.touchlist) - { - if(isdefined(var_04.distmoved) && var_04.distmoved > 5) - { - var_02 = 1; - } - } - - if(var_02) - { - if(!self.lightson) - { - self.lightson = 1; - var_00 playsound("switch_auto_lights_on"); - var_00 setmodel("com_two_light_fixture_on"); - foreach(var_07 in var_01) - { - var_07.lightent = spawn("script_model",var_07.origin); - var_07.lightent setmodel("tag_origin"); - playfxontag(level.outdoor_motion_light,var_07.lightent,"tag_origin"); - } - } - - thread outdoor_motion_dlight_timeout(var_00,var_01,10); - } - - wait(0.05); - } - } -} - -//Function Number: 40 -outdoor_motion_dlight_timeout(param_00,param_01,param_02) -{ - self notify("motion_light_timeout"); - self endon("motion_light_timeout"); - wait(param_02); - foreach(var_04 in param_01) - { - var_04.lightent delete(); - } - - param_00 playsound("switch_auto_lights_off"); - param_00 setmodel("com_two_light_fixture_off"); - self.lightson = 0; -} - -//Function Number: 41 -dog_bark() -{ - level endon("game_ended"); - self.movetracker = 1; - var_00 = getent(self.target,"targetname"); - for(;;) - { - self waittill("trigger_enter",var_01); - while(anythingtouchingtrigger(self)) - { - var_02 = 0; - foreach(var_04 in self.touchlist) - { - if(isdefined(var_04.distmoved) && var_04.distmoved > var_02) - { - var_02 = var_04.distmoved; - } - } - - if(var_02 > 6) - { - var_00 playsound("dyn_anml_dog_bark"); - wait(randomfloatrange(16 / var_02,16 / var_02 + randomfloat(1))); - continue; - } - - wait(0.05); - } - } -} - -//Function Number: 42 -trigger_door() -{ - var_00 = getent(self.target,"targetname"); - self.doorent = var_00; - self.doorangle = getvectorrightangle(vectornormalize(self getorigin() - var_00 getorigin())); - var_00.baseyaw = var_00.angles[1]; - var_01 = 1; - for(;;) - { - self waittill("trigger_enter",var_02); - var_00 thread dooropen(var_01,getdoorside(var_02)); - if(anythingtouchingtrigger(self)) - { - self waittill("trigger_empty"); - } - - wait(3); - if(anythingtouchingtrigger(self)) - { - self waittill("trigger_empty"); - } - - var_00 thread doorclose(var_01); - } -} - -//Function Number: 43 -dooropen(param_00,param_01) -{ - if(param_01) - { - self rotateto((0,self.baseyaw + 90,1),param_00,0.1,0.75); - } - else - { - self rotateto((0,self.baseyaw - 90,1),param_00,0.1,0.75); - } - - self playsound("door_generic_house_open"); - wait(param_00 + 0.05); -} - -//Function Number: 44 -doorclose(param_00) -{ - self rotateto((0,self.baseyaw,1),param_00); - self playsound("door_generic_house_close"); - wait(param_00 + 0.05); -} - -//Function Number: 45 -getdoorside(param_00) -{ - return vectordot(self.doorangle,vectornormalize(param_00.origin - self.doorent getorigin())) > 0; -} - -//Function Number: 46 -getvectorrightangle(param_00) -{ - return (param_00[1],0 - param_00[0],param_00[2]); -} - -//Function Number: 47 -use_toggle() -{ - if(self.classname != "trigger_use_touch") - { - return; - } - - var_00 = getentarray(self.target,"targetname"); - self.lightson = 1; - foreach(var_02 in var_00) - { - var_02 setlightintensity(1.5 * self.lightson); - } - - for(;;) - { - self waittill("trigger"); - self.lightson = !self.lightson; - if(self.lightson) - { - foreach(var_02 in var_00) - { - var_02 setlightintensity(1.5); - } - - self playsound("switch_auto_lights_on"); - continue; - } - - foreach(var_02 in var_00) - { - var_02 setlightintensity(0); - } - - self playsound("switch_auto_lights_off"); - } -} - -//Function Number: 48 -bird_startle() -{ -} - -//Function Number: 49 -photo_copier_init(param_00) -{ - self.copier = get_photo_copier(param_00); - if(isdefined(self.copier)) - { - var_01 = getent(self.copier.target,"targetname"); - if(isdefined(var_01)) - { - var_02 = getent(var_01.target,"targetname"); - if(isdefined(var_02)) - { - var_02.intensity = var_02 getlightintensity(); - var_02 setlightintensity(0); - param_00.copy_bar = var_01; - param_00.start_pos = var_01.origin; - param_00.light = var_02; - var_03 = self.copier.angles + (0,90,0); - var_04 = anglestoforward(var_03); - param_00.end_pos = param_00.start_pos + var_04 * 30; - return; - } - } - } -} - -//Function Number: 50 -get_photo_copier(param_00) -{ - if(!isdefined(param_00.target)) - { - var_01 = getentarray("destructible_toy","targetname"); - var_02 = var_01[0]; - foreach(var_04 in var_01) - { - if(isdefined(var_04.destructible_type) && var_04.destructible_type == "toy_copier") - { - if(distance(param_00.origin,var_02.origin) > distance(param_00.origin,var_04.origin)) - { - var_02 = var_04; - } - } - } - } - else - { - var_02 = getent(var_02.target,"targetname"); - if(isdefined(var_02)) - { - var_02 setcandamage(1); - } - } - - return var_02; -} - -//Function Number: 51 -waittill_copier_copies() -{ - if(!isdefined(self.copier)) - { - return; - } - - self.copier endon("FX_State_Change0"); - self.copier endon("death"); - self waittill("trigger_enter"); -} - -//Function Number: 52 -photo_copier() -{ - level endon("game_ended"); - photo_copier_init(self); - if(!isdefined(self.copier)) - { - return; - } - - self.copier endon("FX_State_Change0"); - thread photo_copier_stop(); - for(;;) - { - waittill_copier_copies(); - self playsound("mach_copier_run"); - if(isdefined(self.copy_bar)) - { - reset_copier(self); - thread photo_copier_copy_bar_goes(); - thread photo_copier_light_on(); - } - - wait(3); - } -} - -//Function Number: 53 -photo_copier_no_light() -{ - level endon("game_ended"); - self endon("death"); - if(common_scripts\utility::get_template_level() == "hamburg") - { - return; - } - - self.copier = get_photo_copier(self); - if(!isdefined(self.copier)) - { - return; - } - - self.copier endon("FX_State_Change0"); - for(;;) - { - waittill_copier_copies(); - self playsound("mach_copier_run"); - wait(3); - } -} - -//Function Number: 54 -reset_copier(param_00) -{ - param_00.copy_bar moveto(param_00.start_pos,0.2); - param_00.light setlightintensity(0); -} - -//Function Number: 55 -photo_copier_copy_bar_goes() -{ - self.copier notify("bar_goes"); - self.copier endon("bar_goes"); - self.copier endon("FX_State_Change0"); - self.copier endon("death"); - var_00 = self.copy_bar; - wait(2); - var_00 moveto(self.end_pos,1.6); - wait(1.8); - var_00 moveto(self.start_pos,1.6); - wait(1.6); - var_01 = self.light; - var_02 = 0.2; - var_03 = var_02 / 0.05; - for(var_04 = 0;var_04 < var_03;var_04++) - { - var_05 = var_04 * 0.05; - var_05 = var_05 / var_02; - var_05 = 1 - var_05 * var_01.intensity; - if(var_05 > 0) - { - var_01 setlightintensity(var_05); - } - - wait(0.05); - } -} - -//Function Number: 56 -photo_copier_light_on() -{ - self.copier notify("light_on"); - self.copier endon("light_on"); - self.copier endon("FX_State_Change0"); - self.copier endon("death"); - var_00 = self.light; - var_01 = 0.2; - var_02 = var_01 / 0.05; - for(var_03 = 0;var_03 < var_02;var_03++) - { - var_04 = var_03 * 0.05; - var_04 = var_04 / var_01; - var_00 setlightintensity(var_04 * var_00.intensity); - wait(0.05); - } - - photo_light_flicker(var_00); -} - -//Function Number: 57 -photo_copier_stop() -{ - self.copier waittill("FX_State_Change0"); - self.copier endon("death"); - reset_copier(self); -} - -//Function Number: 58 -photo_light_flicker(param_00) -{ - param_00 setlightintensity(1); - wait(0.05); - param_00 setlightintensity(0); - wait(0.1); - param_00 setlightintensity(1); - wait(0.05); - param_00 setlightintensity(0); - wait(0.1); - param_00 setlightintensity(1); -} - -//Function Number: 59 -fan_blade_rotate(param_00) -{ - var_01 = 0; - var_02 = 20000; - var_03 = 1; - if(isdefined(self.speed)) - { - var_03 = self.speed; - } - - if(param_00 == "slow") - { - if(isdefined(self.script_noteworthy) && self.script_noteworthy == "lockedspeed") - { - var_01 = 180; - } - else - { - var_01 = randomfloatrange(100 * var_03,360 * var_03); - } - } - else if(param_00 == "fast") - { - var_01 = randomfloatrange(720 * var_03,1000 * var_03); - } - else if(param_00 == "veryslow") - { - var_01 = randomfloatrange(1 * var_03,2 * var_03); - } - else - { - } - - if(isdefined(self.script_noteworthy) && self.script_noteworthy == "lockedspeed") - { - wait(0); - } - else - { - wait(randomfloatrange(0,1)); - } - - if(!isdefined(self)) - { - return; - } - - var_04 = self.angles; - var_05 = anglestoright(self.angles) * 100; - var_05 = vectornormalize(var_05); - for(;;) - { - var_06 = abs(vectordot(var_05,(1,0,0))); - var_07 = abs(vectordot(var_05,(0,1,0))); - var_08 = abs(vectordot(var_05,(0,0,1))); - if(var_06 > 0.9) - { - self rotatevelocity((var_01,0,0),var_02); - } - else if(var_07 > 0.9) - { - self rotatevelocity((var_01,0,0),var_02); - } - else if(var_08 > 0.9) - { - self rotatevelocity((0,var_01,0),var_02); - } - else - { - self rotatevelocity((0,var_01,0),var_02); - } - - wait(var_02); - } -} - -//Function Number: 60 -triggertouchthink(param_00,param_01) -{ - level endon("game_ended"); - self endon("deleted"); - self.entnum = self getentitynumber(); - for(;;) - { - self waittill("trigger",var_02); - if(!isplayer(var_02) && !isdefined(var_02.finished_spawning)) - { - continue; - } - - if(!isalive(var_02)) - { - continue; - } - - if(!isdefined(var_02.touchtriggers[self.entnum])) - { - var_02 thread playertouchtriggerthink(self,param_00,param_01); - } - } -} - -//Function Number: 61 -playertouchtriggerthink(param_00,param_01,param_02) -{ - param_00 endon("deleted"); - if(!isplayer(self)) - { - self endon("death"); - } - - if(!common_scripts\utility::issp()) - { - var_03 = self.guid; - } - else - { - var_03 = "player" + gettime(); - } - - param_00.touchlist[var_03] = self; - if(isdefined(param_00.movetracker)) - { - self.movetrackers++; - } - - param_00 notify("trigger_enter",self); - self notify("trigger_enter",param_00); - if(isdefined(param_01)) - { - self thread [[ param_01 ]](param_00); - } - - self.touchtriggers[param_00.entnum] = param_00; - while(isalive(self) && self istouching(param_00) && common_scripts\utility::issp() || !level.gameended) - { - wait(0.05); - } - - if(isdefined(self)) - { - self.touchtriggers[param_00.entnum] = undefined; - if(isdefined(param_00.movetracker)) - { - self.movetrackers--; - } - - self notify("trigger_leave",param_00); - if(isdefined(param_02)) - { - self thread [[ param_02 ]](param_00); - } - } - - if(!common_scripts\utility::issp() && level.gameended) - { - return; - } - - param_00.touchlist[var_03] = undefined; - param_00 notify("trigger_leave",self); - if(!anythingtouchingtrigger(param_00)) - { - param_00 notify("trigger_empty"); - } -} - -//Function Number: 62 -movementtracker() -{ - if(isdefined(level.disablemovementtracker)) - { - return; - } - - self endon("disconnect"); - if(!isplayer(self)) - { - self endon("death"); - } - - self.movetrackers = 0; - self.distmoved = 0; - for(;;) - { - self waittill("trigger_enter"); - var_00 = self.origin; - while(self.movetrackers) - { - self.distmoved = distance(var_00,self.origin); - var_00 = self.origin; - wait(0.05); - } - - self.distmoved = 0; - } -} - -//Function Number: 63 -anythingtouchingtrigger(param_00) -{ - return param_00.touchlist.size; -} - -//Function Number: 64 -playertouchingtrigger(param_00,param_01) -{ - return isdefined(param_00.touchtriggers[param_01.entnum]); -} - -//Function Number: 65 -interactive_tv() -{ - var_00 = getentarray("interactive_tv","targetname"); - if(var_00.size) - { - common_scripts\utility::noself_array_call(["com_tv2_d","com_tv1_d","com_tv1","com_tv2","com_tv1_testpattern","com_tv2_testpattern"],::precachemodel); - level.breakables_fx["tv_explode"] = loadfx("fx/explosions/tv_explosion"); - } - - level.tv_lite_array = getentarray("interactive_tv_light","targetname"); - common_scripts\utility::array_thread(getentarray("interactive_tv","targetname"),::tv_logic); -} - -//Function Number: 66 -tv_logic() -{ - self setcandamage(1); - self.damagemodel = undefined; - self.offmodel = undefined; - self.damagemodel = "com_tv2_d"; - self.offmodel = "com_tv2"; - self.onmodel = "com_tv2_testpattern"; - if(issubstr(self.model,"1")) - { - self.offmodel = "com_tv1"; - self.onmodel = "com_tv1_testpattern"; - } - - if(isdefined(self.target)) - { - if(isdefined(level.disable_interactive_tv_use_triggers)) - { - var_00 = getent(self.target,"targetname"); - if(isdefined(var_00)) - { - var_00 delete(); - } - } - else - { - self.usetrig = getent(self.target,"targetname"); - self.usetrig usetriggerrequirelookat(); - self.usetrig setcursorhint("HINT_NOICON"); - } - } - - var_01 = common_scripts\utility::get_array_of_closest(self.origin,level.tv_lite_array,undefined,undefined,64); - if(var_01.size) - { - self.lite = var_01[0]; - level.tv_lite_array = common_scripts\utility::array_remove(level.tv_lite_array,self.lite); - self.liteintensity = self.lite getlightintensity(); - } - - thread tv_damage(); - if(isdefined(self.usetrig)) - { - thread tv_off(); - } -} - -//Function Number: 67 -tv_off() -{ - self.usetrig endon("death"); - for(;;) - { - wait(0.2); - self.usetrig waittill("trigger"); - self notify("off"); - if(self.model == self.offmodel) - { - self setmodel(self.onmodel); - if(isdefined(self.lite)) - { - self.lite setlightintensity(self.liteintensity); - } - - continue; - } - - self setmodel(self.offmodel); - if(isdefined(self.lite)) - { - self.lite setlightintensity(0); - } - } -} - -//Function Number: 68 -tv_damage() -{ - self waittill("damage",var_00,var_01,var_02,var_03,var_04); - self notify("off"); - if(isdefined(self.usetrig)) - { - self.usetrig notify("death"); - } - - self setmodel(self.damagemodel); - if(isdefined(self.lite)) - { - self.lite setlightintensity(0); - } - - playfxontag(level.breakables_fx["tv_explode"],self,"tag_fx"); - self playsound("tv_shot_burst"); - if(isdefined(self.usetrig)) - { - self.usetrig delete(); - } -} - -//Function Number: 69 -sliding_door() -{ - if(!isdefined(self.open_time)) - { - self.open_time = 1; - } - - var_00 = getentarray(self.target,"script_linkname"); - var_01 = []; - foreach(var_03 in var_00) - { - if(var_03.classname == "script_origin") - { - var_01[var_01.size] = var_03; - continue; - } - - var_03 door_init(self.open_time); - } - - var_00 = common_scripts\utility::array_remove_array(var_00,var_01); - for(;;) - { - if(!isdefined(level.characters)) - { - wait(1); - continue; - } - - var_05 = vehicle_getarray(); - var_06 = common_scripts\utility::array_combine(level.characters,var_05); - var_07 = 0; - foreach(var_09 in var_06) - { - if(var_09 istouching(self)) - { - var_07++; - break; - } - } - - if(var_07 > 0) - { - open_all_doors(var_00); - } - else - { - var_0B = 1; - thread close_all_doors(var_00,var_0B); - } - - wait(0.05); - } -} - -//Function Number: 70 -door_init(param_00) -{ - self.start_position = self.origin; - self.sliding_door_state = "closed"; - var_01 = getent(self.target,"targetname"); - self.open_position = var_01.origin; - self.open_velocity = distance(self.open_position,self.origin) / param_00; -} - -//Function Number: 71 -open_all_doors(param_00) -{ - foreach(var_02 in param_00) - { - if(var_02.sliding_door_state == "open" || var_02.sliding_door_state == "opening") - { - continue; - } - - var_02 thread open_door(); - } -} - -//Function Number: 72 -open_door() -{ - self.sliding_door_state = "opening"; - var_00 = distance(self.origin,self.open_position) / self.open_velocity; - if(var_00 < 0.05) - { - var_00 = 0.05; - } - - self moveto(self.open_position,var_00); - self playsound("glass_door_open"); - wait(var_00); - self.sliding_door_state = "open"; -} - -//Function Number: 73 -close_all_doors(param_00,param_01) -{ - foreach(var_03 in param_00) - { - if(var_03.sliding_door_state == "closed" || var_03.sliding_door_state == "opening") - { - continue; - } - - var_03 moveto(var_03.start_position,param_01); - self playsound("glass_door_close"); - var_03.sliding_door_state = "closed"; - } -} \ No newline at end of file diff --git a/AW/PC/SP/maps/_utility.gsc b/AW/PC/SP/maps/_utility.gsc deleted file mode 100644 index 431ae7d..0000000 --- a/AW/PC/SP/maps/_utility.gsc +++ /dev/null @@ -1,13322 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/_utility.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 857 - * Decompile Time: 13856 ms - * Timestamp: 10/27/2023 2:01:58 AM -*******************************************************************/ - -//Function Number: 1 -set_hudoutline(param_00,param_01) -{ - var_02 = undefined; - param_00 = tolower(param_00); - var_03["friendly"] = 3; - var_03["enemy"] = 4; - var_03["objective"] = 5; - var_03["neutral"] = 0; - var_02 = var_03[param_00]; - self hudoutlineenable(var_02,param_01); -} - -//Function Number: 2 -is_coop() -{ - if(issplitscreen() || getdvar("coop") == "1") - { - return 1; - } - - return 0; -} - -//Function Number: 3 -is_coop_online() -{ - if(issplitscreen()) - { - return 0; - } - - if(!is_coop()) - { - return 0; - } - - return 1; -} - -//Function Number: 4 -is_player_down(param_00) -{ - if(param_00 ent_flag_exist("laststand_downed")) - { - return param_00 ent_flag("laststand_downed"); - } - - if(isdefined(param_00.laststand)) - { - return param_00.laststand; - } - - return !isalive(param_00); -} - -//Function Number: 5 -is_player_down_and_out(param_00) -{ - if(!isdefined(param_00.down_part2_proc_ran)) - { - return 0; - } - - return param_00.down_part2_proc_ran; -} - -//Function Number: 6 -killing_will_down(param_00) -{ - if(laststand_enabled()) - { - if(isdefined(level.laststand_kill_will_down_func)) - { - return param_00 [[ level.laststand_kill_will_down_func ]](); - } - } - - return 0; -} - -//Function Number: 7 -is_survival() -{ - return is_specialop() && getdvarint("so_survival") > 0; -} - -//Function Number: 8 -laststand_enabled() -{ - return isdefined(level.laststand_type) && level.laststand_type > 0; -} - -//Function Number: 9 -is_specialop() -{ - return getdvarint("specialops") >= 1; -} - -//Function Number: 10 -convert_to_time_string(param_00,param_01) -{ - var_02 = ""; - if(param_00 < 0) - { - var_02 = var_02 + "-"; - } - - param_00 = round_float(param_00,1,0); - var_03 = param_00 * 100; - var_03 = int(var_03); - var_03 = abs(var_03); - var_04 = var_03 / 6000; - var_04 = int(var_04); - var_02 = var_02 + var_04; - var_05 = var_03 / 100; - var_05 = int(var_05); - var_05 = var_05 - var_04 * 60; - if(var_05 < 10) - { - var_02 = var_02 + ":0" + var_05; - } - else - { - var_02 = var_02 + ":" + var_05; - } - - if(isdefined(param_01) && param_01) - { - var_06 = var_03; - var_06 = var_06 - var_04 * 6000; - var_06 = var_06 - var_05 * 100; - var_06 = int(var_06 / 10); - var_02 = var_02 + "." + var_06; - } - - return var_02; -} - -//Function Number: 11 -round_float(param_00,param_01,param_02) -{ - param_01 = int(param_01); - if(param_01 < 0 || param_01 > 4) - { - return param_00; - } - - var_03 = 1; - for(var_04 = 1;var_04 <= param_01;var_04++) - { - var_03 = var_03 * 10; - } - - var_05 = param_00 * var_03; - if(!isdefined(param_02) || param_02) - { - var_05 = floor(var_05); - } - else - { - var_05 = ceil(var_05); - } - - param_00 = var_05 / var_03; - return param_00; -} - -//Function Number: 12 -round_millisec_on_sec(param_00,param_01,param_02) -{ - var_03 = param_00 / 1000; - var_03 = round_float(var_03,param_01,param_02); - param_00 = var_03 * 1000; - return int(param_00); -} - -//Function Number: 13 -set_vision_set(param_00,param_01) -{ - if(maps\_utility_code::init_vision_set(param_00)) - { - return; - } - - if(!isdefined(param_01)) - { - param_01 = 1; - } - - visionsetnaked(param_00,param_01); - setdvar("vision_set_current",param_00); -} - -//Function Number: 14 -set_vision_set_player(param_00,param_01) -{ - if(maps\_utility_code::init_vision_set(param_00)) - { - return; - } - - if(!isdefined(param_01)) - { - param_01 = 1; - } - - self visionsetnakedforplayer(param_00,param_01); -} - -//Function Number: 15 -sun_light_fade(param_00,param_01,param_02) -{ - param_02 = int(param_02 * 20); - var_03 = []; - for(var_04 = 0;var_04 < 3;var_04++) - { - var_03[var_04] = param_00[var_04] - param_01[var_04] / param_02; - } - - var_05 = []; - for(var_04 = 0;var_04 < param_02;var_04++) - { - wait(0.05); - for(var_06 = 0;var_06 < 3;var_06++) - { - var_05[var_06] = param_00[var_06] - var_03[var_06] * var_04; - } - - setsunlight(var_05[0],var_05[1],var_05[2]); - } - - setsunlight(param_01[0],param_01[1],param_01[2]); -} - -//Function Number: 16 -ent_flag_wait(param_00) -{ - while(isdefined(self) && !self.ent_flag[param_00]) - { - self waittill(param_00); - } -} - -//Function Number: 17 -ent_flag_wait_vehicle_node(param_00) -{ - while(isdefined(self) && !self.ent_flag[param_00]) - { - self waittill(param_00); - } -} - -//Function Number: 18 -ent_flag_wait_either(param_00,param_01) -{ - while(isdefined(self)) - { - if(ent_flag(param_00)) - { - return; - } - - if(ent_flag(param_01)) - { - return; - } - - common_scripts\utility::waittill_either(param_00,param_01); - } -} - -//Function Number: 19 -ent_flag_wait_or_timeout(param_00,param_01) -{ - var_02 = gettime(); - while(isdefined(self)) - { - if(self.ent_flag[param_00]) - { - break; - } - - if(gettime() >= var_02 + param_01 * 1000) - { - break; - } - - maps\_utility_code::ent_wait_for_flag_or_time_elapses(param_00,param_01); - } -} - -//Function Number: 20 -ent_flag_waitopen(param_00) -{ - while(isdefined(self) && self.ent_flag[param_00]) - { - self waittill(param_00); - } -} - -//Function Number: 21 -ent_flag_assert(param_00) -{ -} - -//Function Number: 22 -ent_flag_waitopen_either(param_00,param_01) -{ - while(isdefined(self)) - { - if(!ent_flag(param_00)) - { - return; - } - - if(!ent_flag(param_01)) - { - return; - } - - common_scripts\utility::waittill_either(param_00,param_01); - } -} - -//Function Number: 23 -ent_flag_init(param_00) -{ - if(!isdefined(self.ent_flag)) - { - self.ent_flag = []; - self.ent_flags_lock = []; - } - - self.ent_flag[param_00] = 0; -} - -//Function Number: 24 -ent_flag_exist(param_00) -{ - if(isdefined(self.ent_flag) && isdefined(self.ent_flag[param_00])) - { - return 1; - } - - return 0; -} - -//Function Number: 25 -ent_flag_set_delayed(param_00,param_01) -{ - self endon("death"); - wait(param_01); - ent_flag_set(param_00); -} - -//Function Number: 26 -ent_flag_set(param_00) -{ - self.ent_flag[param_00] = 1; - self notify(param_00); -} - -//Function Number: 27 -ent_flag_clear(param_00,param_01) -{ - if(self.ent_flag[param_00]) - { - self.ent_flag[param_00] = 0; - self notify(param_00); - } - - if(isdefined(param_01) && param_01) - { - self.ent_flag[param_00] = undefined; - } -} - -//Function Number: 28 -ent_flag_clear_delayed(param_00,param_01) -{ - wait(param_01); - ent_flag_clear(param_00); -} - -//Function Number: 29 -ent_flag(param_00) -{ - return self.ent_flag[param_00]; -} - -//Function Number: 30 -get_closest_to_player_view(param_00,param_01,param_02,param_03) -{ - if(!param_00.size) - { - return; - } - - if(!isdefined(param_01)) - { - param_01 = level.player; - } - - if(!isdefined(param_03)) - { - param_03 = -1; - } - - var_04 = param_01.origin; - if(isdefined(param_02) && param_02) - { - var_04 = param_01 geteye(); - } - - var_05 = undefined; - var_06 = param_01 getplayerangles(); - var_07 = anglestoforward(var_06); - var_08 = -1; - foreach(var_0A in param_00) - { - var_0B = vectortoangles(var_0A.origin - var_04); - var_0C = anglestoforward(var_0B); - var_0D = vectordot(var_07,var_0C); - if(var_0D < var_08) - { - continue; - } - - if(var_0D < param_03) - { - continue; - } - - var_08 = var_0D; - var_05 = var_0A; - } - - return var_05; -} - -//Function Number: 31 -get_closest_index_to_player_view(param_00,param_01,param_02) -{ - if(!param_00.size) - { - return; - } - - if(!isdefined(param_01)) - { - param_01 = level.player; - } - - var_03 = param_01.origin; - if(isdefined(param_02) && param_02) - { - var_03 = param_01 geteye(); - } - - var_04 = undefined; - var_05 = param_01 getplayerangles(); - var_06 = anglestoforward(var_05); - var_07 = -1; - for(var_08 = 0;var_08 < param_00.size;var_08++) - { - var_09 = vectortoangles(param_00[var_08].origin - var_03); - var_0A = anglestoforward(var_09); - var_0B = vectordot(var_06,var_0A); - if(var_0B < var_07) - { - continue; - } - - var_07 = var_0B; - var_04 = var_08; - } - - return var_04; -} - -//Function Number: 32 -flag_trigger_init(param_00,param_01,param_02) -{ - common_scripts\utility::flag_init(param_00); - if(!isdefined(param_02)) - { - param_02 = 0; - } - - param_01 thread maps\_utility_code::_flag_wait_trigger(param_00,param_02); - return param_01; -} - -//Function Number: 33 -flag_triggers_init(param_00,param_01,param_02) -{ - common_scripts\utility::flag_init(param_00); - if(!isdefined(param_02)) - { - param_02 = 0; - } - - for(var_03 = 0;var_03 < param_01.size;var_03++) - { - param_01[var_03] thread maps\_utility_code::_flag_wait_trigger(param_00,0); - } - - return param_01; -} - -//Function Number: 34 -flag_set_delayed(param_00,param_01) -{ - wait(param_01); - common_scripts\utility::flag_set(param_00); -} - -//Function Number: 35 -flag_clear_delayed(param_00,param_01) -{ - wait(param_01); - common_scripts\utility::flag_clear(param_00); -} - -//Function Number: 36 -level_end_save() -{ - if(arcademode()) - { - return; - } - - if(level.missionfailed) - { - return; - } - - if(common_scripts\utility::flag("game_saving")) - { - return; - } - - for(var_00 = 0;var_00 < level.players.size;var_00++) - { - var_01 = level.players[var_00]; - if(!isalive(var_01)) - { - return; - } - } - - common_scripts\utility::flag_set("game_saving"); - var_02 = "levelshots / autosave / autosave_" + level.script + "end"; - savegame("levelend",&"AUTOSAVE_AUTOSAVE",var_02,1,1); - common_scripts\utility::flag_clear("game_saving"); -} - -//Function Number: 37 -add_extra_autosave_check(param_00,param_01,param_02) -{ - level._extra_autosave_checks[param_00] = []; - level._extra_autosave_checks[param_00]["func"] = param_01; - level._extra_autosave_checks[param_00]["msg"] = param_02; -} - -//Function Number: 38 -remove_extra_autosave_check(param_00) -{ - level._extra_autosave_checks[param_00] = undefined; -} - -//Function Number: 39 -autosave_stealth() -{ - thread autosave_by_name_thread("autosave_stealth",8,1); -} - -//Function Number: 40 -autosave_stealth_silent() -{ - thread autosave_by_name_thread("autosave_stealth",8,1,1); -} - -//Function Number: 41 -autosave_tactical() -{ - maps\_utility_code::autosave_tactical_setup(); - thread maps\_utility_code::autosave_tactical_proc(); -} - -//Function Number: 42 -autosave_by_name(param_00) -{ - thread autosave_by_name_thread(param_00); -} - -//Function Number: 43 -autosave_by_name_silent(param_00) -{ - thread autosave_by_name_thread(param_00,undefined,undefined,1); -} - -//Function Number: 44 -autosave_by_name_thread(param_00,param_01,param_02,param_03) -{ - if(!isdefined(level.curautosave)) - { - level.curautosave = 1; - } - - var_04 = "levelshots/autosave/autosave_" + level.script + level.curautosave; - var_05 = level maps\_autosave::tryautosave(level.curautosave,"autosave",var_04,param_01,param_02,param_03); - if(isdefined(var_05) && var_05) - { - level.curautosave++; - } -} - -//Function Number: 45 -autosave_or_timeout(param_00,param_01) -{ - thread autosave_by_name_thread(param_00,param_01); -} - -//Function Number: 46 -debug_message(param_00,param_01,param_02,param_03) -{ - if(!isdefined(param_02)) - { - param_02 = 5; - } - - if(isdefined(param_03)) - { - param_03 endon("death"); - param_01 = param_03.origin; - } - - for(var_04 = 0;var_04 < param_02 * 20;var_04++) - { - if(!isdefined(param_03)) - { - } - else - { - } - - wait(0.05); - } -} - -//Function Number: 47 -debug_message_ai(param_00,param_01) -{ - self notify("debug_message_ai"); - self endon("debug_message_ai"); - self endon("death"); - if(!isdefined(param_01)) - { - param_01 = 5; - } - - for(var_02 = 0;var_02 < param_01 * 20;var_02++) - { - wait(0.05); - } -} - -//Function Number: 48 -debug_message_clear(param_00,param_01,param_02,param_03) -{ - if(isdefined(param_03)) - { - level notify(param_00 + param_03); - level endon(param_00 + param_03); - } - else - { - level notify(param_00); - level endon(param_00); - } - - if(!isdefined(param_02)) - { - param_02 = 5; - } - - for(var_04 = 0;var_04 < param_02 * 20;var_04++) - { - wait(0.05); - } -} - -//Function Number: 49 -precache(param_00) -{ - var_01 = spawn("script_model",(0,0,0)); - var_01.origin = level.player getorigin(); - var_01 setmodel(param_00); - var_01 delete(); -} - -//Function Number: 50 -closerfunc(param_00,param_01) -{ - return param_00 >= param_01; -} - -//Function Number: 51 -fartherfunc(param_00,param_01) -{ - return param_00 <= param_01; -} - -//Function Number: 52 -getclosestfx(param_00,param_01,param_02) -{ - return maps\_utility_code::comparesizesfx(param_00,param_01,param_02,::closerfunc); -} - -//Function Number: 53 -get_closest_point(param_00,param_01,param_02) -{ - var_03 = param_01[0]; - var_04 = distance(param_00,var_03); - for(var_05 = 0;var_05 < param_01.size;var_05++) - { - var_06 = distance(param_00,param_01[var_05]); - if(var_06 >= var_04) - { - continue; - } - - var_04 = var_06; - var_03 = param_01[var_05]; - } - - if(!isdefined(param_02) || var_04 <= param_02) - { - return var_03; - } - - return undefined; -} - -//Function Number: 54 -get_farthest_ent(param_00,param_01) -{ - if(param_01.size < 1) - { - return; - } - - var_02 = distance(param_01[0] getorigin(),param_00); - var_03 = param_01[0]; - for(var_04 = 0;var_04 < param_01.size;var_04++) - { - var_05 = distance(param_01[var_04] getorigin(),param_00); - if(var_05 < var_02) - { - continue; - } - - var_02 = var_05; - var_03 = param_01[var_04]; - } - - return var_03; -} - -//Function Number: 55 -get_within_range(param_00,param_01,param_02) -{ - var_03 = []; - for(var_04 = 0;var_04 < param_01.size;var_04++) - { - if(distance(param_01[var_04].origin,param_00) <= param_02) - { - var_03[var_03.size] = param_01[var_04]; - } - } - - return var_03; -} - -//Function Number: 56 -get_outside_range(param_00,param_01,param_02) -{ - var_03 = []; - for(var_04 = 0;var_04 < param_01.size;var_04++) - { - if(distance(param_01[var_04].origin,param_00) > param_02) - { - var_03[var_03.size] = param_01[var_04]; - } - } - - return var_03; -} - -//Function Number: 57 -get_closest_living(param_00,param_01,param_02) -{ - if(!isdefined(param_02)) - { - param_02 = 9999999; - } - - if(param_01.size < 1) - { - return; - } - - var_03 = undefined; - for(var_04 = 0;var_04 < param_01.size;var_04++) - { - if(!isalive(param_01[var_04])) - { - continue; - } - - var_05 = distance(param_01[var_04].origin,param_00); - if(var_05 >= param_02) - { - continue; - } - - param_02 = var_05; - var_03 = param_01[var_04]; - } - - return var_03; -} - -//Function Number: 58 -get_highest_dot(param_00,param_01,param_02) -{ - if(!param_02.size) - { - return; - } - - var_03 = undefined; - var_04 = vectortoangles(param_01 - param_00); - var_05 = anglestoforward(var_04); - var_06 = -1; - foreach(var_08 in param_02) - { - var_04 = vectortoangles(var_08.origin - param_00); - var_09 = anglestoforward(var_04); - var_0A = vectordot(var_05,var_09); - if(var_0A < var_06) - { - continue; - } - - var_06 = var_0A; - var_03 = var_08; - } - - return var_03; -} - -//Function Number: 59 -get_closest_index(param_00,param_01,param_02) -{ - if(!isdefined(param_02)) - { - param_02 = 9999999; - } - - if(param_01.size < 1) - { - return; - } - - var_03 = undefined; - foreach(var_07, var_05 in param_01) - { - var_06 = distance(var_05.origin,param_00); - if(var_06 >= param_02) - { - continue; - } - - param_02 = var_06; - var_03 = var_07; - } - - return var_03; -} - -//Function Number: 60 -get_closest_exclude(param_00,param_01,param_02) -{ - if(!isdefined(param_01)) - { - return undefined; - } - - var_03 = 0; - if(isdefined(param_02) && param_02.size) - { - var_04 = []; - for(var_05 = 0;var_05 < param_01.size;var_05++) - { - var_04[var_05] = 0; - } - - for(var_05 = 0;var_05 < param_01.size;var_05++) - { - for(var_06 = 0;var_06 < param_02.size;var_06++) - { - if(param_01[var_05] == param_02[var_06]) - { - var_04[var_05] = 1; - } - } - } - - var_07 = 0; - for(var_05 = 0;var_05 < param_01.size;var_05++) - { - if(!var_04[var_05] && isdefined(param_01[var_05])) - { - var_07 = 1; - var_03 = distance(param_00,param_01[var_05].origin); - var_08 = var_05; - var_05 = param_01.size + 1; - } - } - - if(!var_07) - { - return undefined; - } - } - else - { - for(var_05 = 0;var_05 < param_01.size;var_05++) - { - if(isdefined(param_01[var_05])) - { - var_03 = distance(param_00,param_01[0].origin); - var_08 = var_05; - var_05 = param_01.size + 1; - } - } - } - - var_08 = undefined; - for(var_05 = 0;var_05 < param_01.size;var_05++) - { - if(isdefined(param_01[var_05])) - { - var_04 = 0; - if(isdefined(param_02)) - { - for(var_06 = 0;var_06 < param_02.size;var_06++) - { - if(param_01[var_05] == param_02[var_06]) - { - var_04 = 1; - } - } - } - - if(!var_04) - { - var_09 = distance(param_00,param_01[var_05].origin); - if(var_09 <= var_03) - { - var_03 = var_09; - var_08 = var_05; - } - } - } - } - - if(isdefined(var_08)) - { - return param_01[var_08]; - } - - return undefined; -} - -//Function Number: 61 -get_closest_player(param_00) -{ - if(level.players.size == 1) - { - return level.player; - } - - var_01 = common_scripts\utility::getclosest(param_00,level.players); - return var_01; -} - -//Function Number: 62 -get_closest_player_healthy(param_00) -{ - if(level.players.size == 1) - { - return level.player; - } - - var_01 = get_players_healthy(); - var_02 = common_scripts\utility::getclosest(param_00,var_01); - return var_02; -} - -//Function Number: 63 -get_players_healthy() -{ - var_00 = []; - foreach(var_02 in level.players) - { - if(is_player_down(var_02)) - { - continue; - } - - var_00[var_00.size] = var_02; - } - - return var_00; -} - -//Function Number: 64 -get_closest_ai(param_00,param_01,param_02) -{ - if(isdefined(param_01)) - { - var_03 = getaiarray(param_01); - } - else - { - var_03 = getaiarray(); - } - - if(var_03.size == 0) - { - return undefined; - } - - if(isdefined(param_02)) - { - var_03 = common_scripts\utility::array_remove_array(var_03,param_02); - } - - return common_scripts\utility::getclosest(param_00,var_03); -} - -//Function Number: 65 -get_closest_ai_exclude(param_00,param_01,param_02) -{ - if(isdefined(param_01)) - { - var_03 = getaiarray(param_01); - } - else - { - var_03 = getaiarray(); - } - - if(var_03.size == 0) - { - return undefined; - } - - return get_closest_exclude(param_00,var_03,param_02); -} - -//Function Number: 66 -get_progress(param_00,param_01,param_02,param_03) -{ - if(!isdefined(param_03)) - { - param_03 = distance(param_00,param_01); - } - - param_03 = max(0.01,param_03); - var_04 = vectornormalize(param_01 - param_00); - var_05 = param_02 - param_00; - var_06 = vectordot(var_05,var_04); - var_06 = var_06 / param_03; - var_06 = clamp(var_06,0,1); - return var_06; -} - -//Function Number: 67 -can_see_origin(param_00,param_01) -{ - if(!isdefined(param_01)) - { - param_01 = 1; - } - - if(!point_in_fov(param_00)) - { - return 0; - } - - if(!sighttracepassed(self geteye(),param_00,param_01,self)) - { - return 0; - } - - return 1; -} - -//Function Number: 68 -point_in_fov(param_00) -{ - var_01 = anglestoforward(self.angles); - var_02 = vectornormalize(param_00 - self.origin); - var_03 = vectordot(var_01,var_02); - return var_03 > 0.766; -} - -//Function Number: 69 -stop_magic_bullet_shield() -{ - self notify("stop_magic_bullet_shield"); - if(isai(self)) - { - self.attackeraccuracy = 1; - } - - self.magic_bullet_shield = undefined; - self.damageshield = 0; - self notify("internal_stop_magic_bullet_shield"); -} - -//Function Number: 70 -magic_bullet_death_detection() -{ -} - -//Function Number: 71 -magic_bullet_shield(param_00) -{ - if(isai(self)) - { - } - else - { - self.health = 100000; - } - - self endon("internal_stop_magic_bullet_shield"); - if(isai(self)) - { - self.attackeraccuracy = 0.1; - } - - self notify("magic_bullet_shield"); - self.magic_bullet_shield = 1; - self.damageshield = 1; - self.noragdoll = 1; -} - -//Function Number: 72 -disable_long_death() -{ - self.a.disablelongdeath = 1; -} - -//Function Number: 73 -enable_long_death() -{ - self.a.disablelongdeath = 0; -} - -//Function Number: 74 -enable_blood_pool() -{ - self.skipbloodpool = undefined; -} - -//Function Number: 75 -disable_blood_pool() -{ - self.skipbloodpool = 1; -} - -//Function Number: 76 -deletable_magic_bullet_shield() -{ - magic_bullet_shield(1); -} - -//Function Number: 77 -get_ignoreme() -{ - return self.ignoreme; -} - -//Function Number: 78 -set_ignoreme(param_00) -{ - self.ignoreme = param_00; -} - -//Function Number: 79 -set_ignoreall(param_00) -{ - self.ignoreall = param_00; -} - -//Function Number: 80 -set_ignoresonicaoe(param_00) -{ - self.ignoresonicaoe = param_00; -} - -//Function Number: 81 -set_favoriteenemy(param_00) -{ - self.favoriteenemy = param_00; -} - -//Function Number: 82 -get_pacifist() -{ - return self.pacifist; -} - -//Function Number: 83 -set_pacifist(param_00) -{ - self.pacifist = param_00; -} - -//Function Number: 84 -ignore_me_timer(param_00) -{ - self notify("new_ignore_me_timer"); - self endon("new_ignore_me_timer"); - self endon("death"); - if(!isdefined(self.ignore_me_timer_prev_value)) - { - self.ignore_me_timer_prev_value = self.ignoreme; - } - - var_01 = getaiarray("bad_guys"); - foreach(var_03 in var_01) - { - if(!isalive(var_03.enemy)) - { - continue; - } - - if(var_03.enemy != self) - { - continue; - } - - var_03 clearenemy(); - } - - self.ignoreme = 1; - wait(param_00); - self.ignoreme = self.ignore_me_timer_prev_value; - self.ignore_me_timer_prev_value = undefined; -} - -//Function Number: 85 -delete_exploder(param_00) -{ - common_scripts\_exploder::delete_exploder_proc(param_00); -} - -//Function Number: 86 -hide_exploder_models(param_00) -{ - common_scripts\_exploder::hide_exploder_models_proc(param_00); -} - -//Function Number: 87 -show_exploder_models(param_00) -{ - common_scripts\_exploder::show_exploder_models_proc(param_00); -} - -//Function Number: 88 -stop_exploder(param_00) -{ - common_scripts\_exploder::stop_exploder_proc(param_00); -} - -//Function Number: 89 -get_exploder_array(param_00) -{ - return common_scripts\_exploder::get_exploder_array_proc(param_00); -} - -//Function Number: 90 -flood_spawn(param_00) -{ - maps\_spawner::flood_spawner_scripted(param_00); -} - -//Function Number: 91 -set_ambient(param_00,param_01) -{ - soundscripts\_audio_zone_manager::azm_start_zone(param_00,param_01); -} - -//Function Number: 92 -force_crawling_death(param_00,param_01,param_02,param_03) -{ - if(!isdefined(param_01)) - { - param_01 = 4; - } - - thread force_crawling_death_proc(param_00,param_01,param_02,param_03); -} - -//Function Number: 93 -override_crawl_death_anims() -{ - if(isdefined(self.a.custom_crawling_death_array)) - { - self.a.array["crawl"] = self.a.custom_crawling_death_array["crawl"]; - self.a.array["death"] = self.a.custom_crawling_death_array["death"]; - self.a.crawl_fx_rate = self.a.custom_crawling_death_array["blood_fx_rate"]; - if(isdefined(self.a.custom_crawling_death_array["blood_fx"])) - { - self.a.crawl_fx = self.a.custom_crawling_death_array["blood_fx"]; - } - } - - self.a.array["stand_2_crawl"] = []; - self.a.array["stand_2_crawl"][0] = %dying_stand_2_crawl_v3; - if(isdefined(self.nofallanim)) - { - self.a.pose = "prone"; - } - - self orientmode("face angle",self.a.force_crawl_angle); - self.a.force_crawl_angle = undefined; -} - -//Function Number: 94 -force_crawling_death_proc(param_00,param_01,param_02,param_03) -{ - self.forcelongdeath = 1; - self.a.force_num_crawls = param_01; - self.noragdoll = 1; - self.nofallanim = param_03; - self.a.custom_crawling_death_array = param_02; - self.crawlingpainanimoverridefunc = ::override_crawl_death_anims; - self.maxhealth = 100000; - self.health = 100000; - enable_long_death(); - if(!isdefined(param_03) || param_03 == 0) - { - self.a.force_crawl_angle = param_00 + 181.02; - return; - } - - self.a.force_crawl_angle = param_00; - thread animscripts\notetracks::notetrackposecrawl(); -} - -//Function Number: 95 -never_saw_it_coming() -{ - self endon("death"); - for(;;) - { - var_00 = self ishighjumping(); - if(var_00) - { - var_01 = common_scripts\utility::waittill_any_return("exo_dodge","player_boost_land","disable_high_jump"); - if(!isdefined(var_01) || var_01 == "player_boost_land" || var_01 == "disable_high_jump") - { - continue; - } - - if(!isdefined(self.never_saw_it_coming)) - { - self.never_saw_it_coming = 1; - } - - common_scripts\utility::waittill_any("player_boost_land","disable_high_jump"); - wait 0.05; - self.never_saw_it_coming = undefined; - } - - wait 0.05; - } -} - -//Function Number: 96 -check_man_overboard() -{ - if(getdvar("mapname","undefined") != "sanfran_b") - { - return; - } - - if(!isdefined(level.player.man_overboard) || !level.player.man_overboard) - { - level.player.man_overboard = 1; - } - - wait(2); - level.player.man_overboard = undefined; -} - -//Function Number: 97 -monitor_genius_achievement(param_00,param_01,param_02) -{ - if(param_01 != "MOD_GRENADE") - { - param_00.genius_achievement = undefined; - return; - } - - if(!isdefined(param_00.genius_achievement)) - { - param_00.genius_achievement = 1; - } - else - { - param_00.genius_achievement++; - } - - if(param_00.genius_achievement == 4) - { - giveachievement_wrapper("SMART_GRENADE_KILL"); - } - - wait(0.1); - param_00.genius_achievement = undefined; -} - -//Function Number: 98 -start_monitor_escape_artist() -{ - add_global_spawn_function("axis",::monitor_escape_artist); - common_scripts\utility::array_thread(getaiarray("axis"),::monitor_escape_artist); - level.grenade_id = 0; - level.player.escape_artist = []; -} - -//Function Number: 99 -monitor_escape_artist() -{ - for(;;) - { - var_00 = undefined; - self waittill("grenade_fire",var_00,var_01); - var_00.unique_id = level.grenade_id; - level.grenade_id++; - var_00.owner = self.unique_id; - var_00 thread escape_artist_distance(); - var_00 thread escape_artist(); - } -} - -//Function Number: 100 -escape_artist_distance() -{ - var_00 = level.player; - var_01 = self.unique_id; - while(isdefined(self)) - { - var_02 = var_00.origin - self.origin; - var_03 = getweaponexplosionradius("fraggrenade") + 23; - var_04 = squared(var_03); - var_05 = lengthsquared(var_02); - if(var_05 > var_04) - { - if(isdefined(var_00.escape_artist[self.unique_id])) - { - var_00.escape_artist[self.unique_id] = undefined; - } - - continue; - } - - if(!isdefined(var_00.escape_artist[self.unique_id])) - { - if(isdefined(self.owner)) - { - var_00.escape_artist[self.unique_id] = 1; - } - } - - wait 0.05; - } - - if(isdefined(var_00.escape_artist[var_01])) - { - var_00.escape_artist[var_01] = undefined; - } -} - -//Function Number: 101 -escape_artist() -{ - var_00 = level.player; - while(isdefined(self)) - { - if(isdefined(var_00.escape_artist[self.unique_id])) - { - var_01 = level.player common_scripts\utility::waittill_any_timeout(4,"exo_dodge"); - if(isdefined(var_01) && var_01 == "exo_dodge") - { - thread check_grenade_dmg(); - } - - continue; - } - - wait 0.05; - } -} - -//Function Number: 102 -check_grenade_dmg() -{ - level.player endon("death"); - while(isdefined(self)) - { - var_00 = level.player waittill_dmg_timeout(1,"damage"); - if(isdefined(var_00) && isarray(var_00)) - { - if(var_00[5] == "MOD_GRENADE_SPLASH" && !isdefined(level.player.escape_artist_failure)) - { - if(var_00[2].unique_id == self.owner && isdefined(level.player.escape_artist[self.unique_id])) - { - level.player.escape_artist_failure = 1; - } - } - - continue; - } - - wait 0.05; - } - - if(!isdefined(level.player.escape_artist_failure)) - { - level.player escape_artist_success(); - return; - } - - level.player.escape_artist_failure = undefined; -} - -//Function Number: 103 -escape_artist_success() -{ - var_00 = self getlocalplayerprofiledata("ach_escapeArtist") + 1; - if(var_00 == 20) - { - giveachievement_wrapper("GRENADE_DODGE"); - } - - self setlocalplayerprofiledata("ach_escapeArtist",var_00); -} - -//Function Number: 104 -waittill_dmg_timeout(param_00,param_01) -{ - if(!isdefined(param_01) || param_01 != "death") - { - self endon("death"); - } - - var_02 = spawnstruct(); - if(isdefined(param_01)) - { - childthread common_scripts\utility::waittill_string_parms(param_01,var_02); - } - - var_02 childthread common_scripts\utility::_timeout(param_00); - var_02 waittill("returned",var_03); - var_02 notify("die"); - return var_03; -} - -//Function Number: 105 -shock_ondeath() -{ - precacheshellshock("default"); - self waittill("death"); - if(isdefined(self.specialdeath)) - { - return; - } - - if(getdvar("r_texturebits") == "16") - { - return; - } - - self shellshock("default",3); -} - -//Function Number: 106 -playerwatch_unresolved_collision() -{ - self endon("death"); - self endon("stop_unresolved_collision_script"); - reset_unresolved_collision_handler(); - childthread playerwatch_unresolved_collision_count(); - for(;;) - { - if(self.unresolved_collision) - { - self.unresolved_collision = 0; - if(self.unresolved_collision_count >= 20) - { - if(isdefined(self.handle_unresolved_collision)) - { - self [[ self.handle_unresolved_collision ]](); - } - else - { - default_unresolved_collision_handler(); - } - } - } - else - { - reset_unresolved_collision_handler(); - } - - wait(0.05); - } -} - -//Function Number: 107 -playerwatch_unresolved_collision_count() -{ - for(;;) - { - self waittill("unresolved_collision"); - self.unresolved_collision = 1; - self.unresolved_collision_count++; - } -} - -//Function Number: 108 -reset_unresolved_collision_handler() -{ - self.unresolved_collision = 0; - self.unresolved_collision_count = 0; -} - -//Function Number: 109 -default_unresolved_collision_handler() -{ - var_00 = getnodesinradiussorted(self.origin,300,0,200,"Path"); - if(var_00.size) - { - self cancelmantle(); - self dontinterpolate(); - self setorigin(var_00[0].origin); - reset_unresolved_collision_handler(); - return; - } - - self kill(); -} - -//Function Number: 110 -stop_playerwatch_unresolved_collision() -{ - self notify("stop_unresolved_collision_script"); - reset_unresolved_collision_handler(); -} - -//Function Number: 111 -delete_on_death_wait_sound(param_00,param_01) -{ - param_00 endon("death"); - self waittill("death"); - if(isdefined(param_00)) - { - if(param_00 iswaitingonsound()) - { - param_00 waittill(param_01); - } - - param_00 delete(); - } -} - -//Function Number: 112 -is_dead_sentient() -{ - return issentient(self) && !isalive(self); -} - -//Function Number: 113 -play_sound_on_tag(param_00,param_01,param_02,param_03,param_04) -{ - if(is_dead_sentient()) - { - return; - } - - if(!soundexists(param_00)) - { - return; - } - - var_05 = spawn("script_origin",(0,0,0)); - var_05 endon("death"); - thread delete_on_death_wait_sound(var_05,"sounddone"); - if(isdefined(param_01)) - { - var_05 linkto(self,param_01,(0,0,0),(0,0,0)); - } - else - { - var_05.origin = self.origin; - var_05.angles = self.angles; - var_05 linkto(self); - } - - var_05 playsound(param_00,"sounddone"); - if(isdefined(param_02)) - { - if(!isdefined(maps\_utility_code::wait_for_sounddone_or_death(var_05))) - { - var_05 stopsounds(); - } - - wait(0.05); - } - else - { - var_05 waittill("sounddone"); - } - - if(isdefined(param_03)) - { - self notify(param_03); - } - - var_05 delete(); -} - -//Function Number: 114 -play_sound_on_tag_endon_death(param_00,param_01) -{ - play_sound_on_tag(param_00,param_01,1); -} - -//Function Number: 115 -play_sound_on_entity(param_00,param_01) -{ - play_sound_on_tag(param_00,undefined,undefined,param_01); -} - -//Function Number: 116 -play_loop_sound_on_tag(param_00,param_01,param_02,param_03) -{ - var_04 = spawn("script_origin",(0,0,0)); - var_04 endon("death"); - if(!isdefined(param_02)) - { - param_02 = 1; - } - - if(param_02) - { - thread common_scripts\utility::delete_on_death(var_04); - } - - if(!isdefined(param_03)) - { - param_03 = 0; - } - - if(param_03) - { - thread delete_on_removed(var_04); - } - - if(isdefined(param_01)) - { - var_04 linkto(self,param_01,(0,0,0),(0,0,0)); - } - else - { - var_04.origin = self.origin; - var_04.angles = self.angles; - var_04 linkto(self); - } - - var_04 playloopsound(param_00); - self waittill("stop sound" + param_00); - var_04 stoploopsound(param_00); - var_04 delete(); -} - -//Function Number: 117 -delete_on_removed(param_00) -{ - param_00 endon("death"); - while(isdefined(self)) - { - wait(0.05); - } - - if(isdefined(param_00)) - { - param_00 delete(); - } -} - -//Function Number: 118 -save_friendlies() -{ - var_00 = getaiarray("allies"); - var_01 = 0; - for(var_02 = 0;var_02 < var_00.size;var_02++) - { - if(isdefined(var_00[var_02].script_friendname)) - { - continue; - } - - game["character" + var_01] = var_00[var_02] codescripts\character::save(); - var_01++; - } - - game["total characters"] = var_01; -} - -//Function Number: 119 -spawn_failed(param_00) -{ - if(!isalive(param_00)) - { - return 1; - } - - if(!isdefined(param_00.finished_spawning)) - { - param_00 common_scripts\utility::waittill_either("finished spawning","death"); - } - - if(isalive(param_00)) - { - return 0; - } - - return 1; -} - -//Function Number: 120 -spawn_setcharacter(param_00) -{ - codescripts\character::precache(param_00); - self waittill("spawned",var_01); - if(spawn_failed(var_01)) - { - return; - } - - var_01 codescripts\character::new(); - var_01 codescripts\character::load(param_00); -} - -//Function Number: 121 -key_hint_print(param_00,param_01) -{ - iprintlnbold(param_00,param_01["key1"]); -} - -//Function Number: 122 -view_tag(param_00) -{ - self endon("death"); - for(;;) - { - maps\_debug::drawtag(param_00); - wait(0.05); - } -} - -//Function Number: 123 -assign_animtree(param_00) -{ - if(isdefined(param_00)) - { - self.animname = param_00; - } - - self useanimtree(level.scr_animtree[self.animname]); -} - -//Function Number: 124 -assign_model() -{ - if(isarray(level.scr_model[self.animname])) - { - var_00 = randomint(level.scr_model[self.animname].size); - self setmodel(level.scr_model[self.animname][var_00]); - return; - } - - self setmodel(level.scr_model[self.animname]); -} - -//Function Number: 125 -spawn_anim_model(param_00,param_01,param_02) -{ - if(!isdefined(param_01)) - { - param_01 = (0,0,0); - } - - var_03 = spawn("script_model",param_01); - var_03.animname = param_00; - var_03 assign_animtree(); - var_03 assign_model(); - if(isdefined(param_02)) - { - var_03.angles = param_02; - } - - return var_03; -} - -//Function Number: 126 -trigger_wait(param_00,param_01) -{ - var_02 = getent(param_00,param_01); - if(!isdefined(var_02)) - { - return; - } - - var_02 waittill("trigger",var_03); - level notify(param_00,var_03); - return var_03; -} - -//Function Number: 127 -trigger_wait_targetname(param_00) -{ - return trigger_wait(param_00,"targetname"); -} - -//Function Number: 128 -set_flag_on_dead(param_00,param_01) -{ - thread set_flag_on_func_wait_proc(param_00,param_01,::waittill_dead,"set_flag_on_dead"); -} - -//Function Number: 129 -set_flag_on_dead_or_dying(param_00,param_01) -{ - thread set_flag_on_func_wait_proc(param_00,param_01,::waittill_dead_or_dying,"set_flag_on_dead_or_dying"); -} - -//Function Number: 130 -set_flag_on_spawned(param_00,param_01) -{ - thread set_flag_on_func_wait_proc(param_00,param_01,::empty_func,"set_flag_on_spawned"); -} - -//Function Number: 131 -empty_func(param_00) -{ -} - -//Function Number: 132 -set_flag_on_spawned_ai_proc(param_00,param_01) -{ - self waittill("spawned",var_02); - if(spawn_failed(var_02)) - { - return; - } - - param_00.ai[param_00.ai.size] = var_02; - ent_flag_set(param_01); -} - -//Function Number: 133 -set_flag_on_func_wait_proc(param_00,param_01,param_02,param_03) -{ - var_04 = spawnstruct(); - var_04.ai = []; - foreach(var_06 in param_00) - { - var_06 ent_flag_init(param_03); - } - - common_scripts\utility::array_thread(param_00,::set_flag_on_spawned_ai_proc,var_04,param_03); - foreach(var_06 in param_00) - { - var_06 ent_flag_wait(param_03); - } - - [[ param_02 ]](var_04.ai); - common_scripts\utility::flag_set(param_01); -} - -//Function Number: 134 -set_flag_on_trigger(param_00,param_01) -{ - if(!common_scripts\utility::flag(param_01)) - { - param_00 waittill("trigger",var_02); - common_scripts\utility::flag_set(param_01); - return var_02; - } -} - -//Function Number: 135 -set_flag_on_targetname_trigger(param_00) -{ - if(common_scripts\utility::flag(param_00)) - { - return; - } - - var_01 = getent(param_00,"targetname"); - var_01 waittill("trigger"); - common_scripts\utility::flag_set(param_00); -} - -//Function Number: 136 -is_in_array(param_00,param_01) -{ - for(var_02 = 0;var_02 < param_00.size;var_02++) - { - if(param_00[var_02] == param_01) - { - return 1; - } - } - - return 0; -} - -//Function Number: 137 -waittill_dead(param_00,param_01,param_02) -{ - var_0A = spawnstruct(); - if(isdefined(param_02)) - { - var_0A endon("thread_timed_out"); - var_0A thread waittill_dead_timeout(param_02); - } - - var_0A.count = param_00.size; - if(isdefined(param_01) && param_01 < var_0A.count) - { - var_0A.count = param_01; - } - - common_scripts\utility::array_thread(param_00,::waittill_dead_thread,var_0A); - while(var_0A.count > 0) - { - var_0A waittill("waittill_dead guy died"); - } -} - -//Function Number: 138 -waittill_dead_or_dying(param_00,param_01,param_02) -{ - var_03 = []; - foreach(var_05 in param_00) - { - if(isalive(var_05) && !var_05.ignoreforfixednodesafecheck) - { - var_03[var_03.size] = var_05; - } - } - - param_00 = var_03; - var_07 = spawnstruct(); - if(isdefined(param_02)) - { - var_07 endon("thread_timed_out"); - var_07 thread waittill_dead_timeout(param_02); - } - - var_07.count = param_00.size; - if(isdefined(param_01) && param_01 < var_07.count) - { - var_07.count = param_01; - } - - common_scripts\utility::array_thread(param_00,::waittill_dead_or_dying_thread,var_07); - while(var_07.count > 0) - { - var_07 waittill("waittill_dead_guy_dead_or_dying"); - } -} - -//Function Number: 139 -waittill_dead_thread(param_00) -{ - self waittill("death"); - param_00.count--; - param_00 notify("waittill_dead guy died"); -} - -//Function Number: 140 -waittill_dead_or_dying_thread(param_00) -{ - common_scripts\utility::waittill_either("death","pain_death"); - param_00.count--; - param_00 notify("waittill_dead_guy_dead_or_dying"); -} - -//Function Number: 141 -waittill_dead_timeout(param_00) -{ - wait(param_00); - self notify("thread_timed_out"); -} - -//Function Number: 142 -waittill_aigroupcleared(param_00) -{ - while(level._ai_group[param_00].spawnercount || level._ai_group[param_00].aicount) - { - wait(0.25); - } -} - -//Function Number: 143 -waittill_aigroupcount(param_00,param_01) -{ - while(level._ai_group[param_00].spawnercount + level._ai_group[param_00].aicount > param_01) - { - wait(0.25); - } -} - -//Function Number: 144 -get_ai_group_count(param_00) -{ - return level._ai_group[param_00].spawnercount + level._ai_group[param_00].aicount; -} - -//Function Number: 145 -get_ai_group_sentient_count(param_00) -{ - return level._ai_group[param_00].aicount; -} - -//Function Number: 146 -get_ai_group_ai(param_00) -{ - var_01 = []; - for(var_02 = 0;var_02 < level._ai_group[param_00].ai.size;var_02++) - { - if(!isalive(level._ai_group[param_00].ai[var_02])) - { - continue; - } - - var_01[var_01.size] = level._ai_group[param_00].ai[var_02]; - } - - return var_01; -} - -//Function Number: 147 -waittill_notetrack_or_damage(param_00) -{ - self endon("damage"); - self endon("death"); - self waittillmatch(param_00,"single anim"); -} - -//Function Number: 148 -get_living_ai(param_00,param_01) -{ - var_02 = get_living_ai_array(param_00,param_01); - if(var_02.size > 1) - { - return undefined; - } - - return var_02[0]; -} - -//Function Number: 149 -get_living_ai_array(param_00,param_01) -{ - var_02 = getaispeciesarray("all","all"); - var_03 = []; - var_04 = var_02; - var_06 = getfirstarraykey(var_04); - if(isdefined(var_06)) - { - var_05 = var_04[var_06]; - if(!isalive(var_05)) - { - continue; - } - - switch(param_01) - { - case "targetname": - break; - - case "script_noteworthy": - break; - } - } -} - -//Function Number: 150 -get_vehicle(param_00,param_01) -{ - var_02 = get_vehicle_array(param_00,param_01); - if(!var_02.size) - { - return undefined; - } - - return var_02[0]; -} - -//Function Number: 151 -get_vehicle_array(param_00,param_01) -{ - var_02 = getentarray(param_00,param_01); - var_03 = []; - var_04 = []; - foreach(var_06 in var_02) - { - if(var_06.code_classname != "script_vehicle") - { - continue; - } - - var_04[0] = var_06; - if(isspawner(var_06)) - { - if(isdefined(var_06.last_spawned_vehicle)) - { - var_04[0] = var_06.last_spawned_vehicle; - var_03 = array_merge(var_03,var_04); - } - - continue; - } - - var_03 = array_merge(var_03,var_04); - } - - return var_03; -} - -//Function Number: 152 -get_living_aispecies(param_00,param_01,param_02) -{ - var_03 = get_living_aispecies_array(param_00,param_01,param_02); - if(var_03.size > 1) - { - return undefined; - } - - return var_03[0]; -} - -//Function Number: 153 -get_living_aispecies_array(param_00,param_01,param_02) -{ - if(!isdefined(param_02)) - { - param_02 = "all"; - } - - var_03 = getaispeciesarray("allies",param_02); - var_03 = common_scripts\utility::array_combine(var_03,getaispeciesarray("axis",param_02)); - var_04 = []; - var_05 = 0; - if(var_05 < var_03.size) - { - switch(param_01) - { - case "targetname": - break; - - case "script_noteworthy": - break; - } - } -} - -//Function Number: 154 -gather_delay_proc(param_00,param_01) -{ - if(isdefined(level.gather_delay[param_00])) - { - if(level.gather_delay[param_00]) - { - wait(0.05); - if(isalive(self)) - { - self notify("gather_delay_finished" + param_00 + param_01); - } - - return; - } - - level waittill(param_00); - if(isalive(self)) - { - self notify("gather_delay_finished" + param_00 + param_01); - } - - return; - } - - level.gather_delay[param_00] = 0; - wait(param_01); - level.gather_delay[param_00] = 1; - level notify(param_00); - if(isalive(self)) - { - self notify("gat her_delay_finished" + param_00 + param_01); - } -} - -//Function Number: 155 -gather_delay(param_00,param_01) -{ - thread gather_delay_proc(param_00,param_01); - self waittill("gather_delay_finished" + param_00 + param_01); -} - -//Function Number: 156 -death_waiter(param_00) -{ - self waittill("death"); - level notify(param_00); -} - -//Function Number: 157 -getchar(param_00) -{ - if(param_00 == 0) - { - return "0"; - } - - if(param_00 == 1) - { - return "1"; - } - - if(param_00 == 2) - { - return "2"; - } - - if(param_00 == 3) - { - return "3"; - } - - if(param_00 == 4) - { - return "4"; - } - - if(param_00 == 5) - { - return "5"; - } - - if(param_00 == 6) - { - return "6"; - } - - if(param_00 == 7) - { - return "7"; - } - - if(param_00 == 8) - { - return "8"; - } - - if(param_00 == 9) - { - return "9"; - } -} - -//Function Number: 158 -getlinks_array(param_00,param_01) -{ - var_02 = []; - for(var_03 = 0;var_03 < param_00.size;var_03++) - { - var_04 = param_00[var_03]; - var_05 = var_04.script_linkname; - if(!isdefined(var_05)) - { - continue; - } - - if(!isdefined(param_01[var_05])) - { - continue; - } - - var_02[var_02.size] = var_04; - } - - return var_02; -} - -//Function Number: 159 -array_merge_links(param_00,param_01) -{ - if(!param_00.size) - { - return param_01; - } - - if(!param_01.size) - { - return param_00; - } - - var_02 = []; - for(var_03 = 0;var_03 < param_00.size;var_03++) - { - var_04 = param_00[var_03]; - var_02[var_04.script_linkname] = 1; - } - - for(var_03 = 0;var_03 < param_01.size;var_03++) - { - var_04 = param_01[var_03]; - if(isdefined(var_02[var_04.script_linkname])) - { - continue; - } - - var_02[var_04.script_linkname] = 1; - param_00[param_00.size] = var_04; - } - - return param_00; -} - -//Function Number: 160 -array_merge(param_00,param_01) -{ - if(param_00.size == 0) - { - return param_01; - } - - if(param_01.size == 0) - { - return param_00; - } - - var_02 = param_00; - foreach(var_04 in param_01) - { - var_05 = 0; - foreach(var_07 in param_00) - { - if(var_07 == var_04) - { - var_05 = 1; - break; - } - } - - if(var_05) - { - continue; - } - else - { - var_02[var_02.size] = var_04; - } - } - - return var_02; -} - -//Function Number: 161 -array_exclude(param_00,param_01) -{ - var_02 = param_00; - for(var_03 = 0;var_03 < param_01.size;var_03++) - { - if(is_in_array(param_00,param_01[var_03])) - { - var_02 = common_scripts\utility::array_remove(var_02,param_01[var_03]); - } - } - - return var_02; -} - -//Function Number: 162 -array_compare(param_00,param_01) -{ - if(param_00.size != param_01.size) - { - return 0; - } - - foreach(var_05, var_03 in param_00) - { - if(!isdefined(param_01[var_05])) - { - return 0; - } - - var_04 = param_01[var_05]; - if(var_04 != var_03) - { - return 0; - } - } - - return 1; -} - -//Function Number: 163 -getlinkedvehiclenodes() -{ - var_00 = []; - if(isdefined(self.script_linkto)) - { - var_01 = common_scripts\utility::get_links(); - foreach(var_03 in var_01) - { - var_04 = getvehiclenodearray(var_03,"script_linkname"); - var_00 = common_scripts\utility::array_combine(var_00,var_04); - } - } - - return var_00; -} - -//Function Number: 164 -draw_line(param_00,param_01,param_02,param_03,param_04) -{ - wait(0.05); -} - -//Function Number: 165 -draw_line_to_ent_for_time(param_00,param_01,param_02,param_03,param_04,param_05) -{ - param_05 = gettime() + param_05 * 1000; - while(gettime() < param_05) - { - wait(0.05); - if(!isdefined(param_01) || !isdefined(param_01.origin)) - { - return; - } - } -} - -//Function Number: 166 -draw_line_from_ent_for_time(param_00,param_01,param_02,param_03,param_04,param_05) -{ - draw_line_to_ent_for_time(param_01,param_00,param_02,param_03,param_04,param_05); -} - -//Function Number: 167 -draw_line_from_ent_to_ent_for_time(param_00,param_01,param_02,param_03,param_04,param_05) -{ - param_00 endon("death"); - param_01 endon("death"); - param_05 = gettime() + param_05 * 1000; - while(gettime() < param_05) - { - wait(0.05); - } -} - -//Function Number: 168 -draw_line_from_ent_to_ent_until_notify(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - param_00 endon("death"); - param_01 endon("death"); - param_05 endon(param_06); - wait(0.05); -} - -//Function Number: 169 -draw_line_until_notify(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - param_05 endon(param_06); - common_scripts\utility::draw_line_for_time(param_00,param_01,param_02,param_03,param_04,0.05); -} - -//Function Number: 170 -draw_line_from_ent_to_vec_for_time(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - param_06 = gettime() + param_06 * 1000; - param_01 = param_01 * param_02; - while(gettime() < param_06) - { - wait(0.05); - if(!isdefined(param_00) || !isdefined(param_00.origin)) - { - return; - } - } -} - -//Function Number: 171 -draw_circle_until_notify(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - if(isdefined(param_07)) - { - var_08 = param_07; - } - else - { - var_08 = 16; - } - - var_09 = 360 / var_08; - var_0A = []; - for(var_0B = 0;var_0B < var_08;var_0B++) - { - var_0C = var_09 * var_0B; - var_0D = cos(var_0C) * param_01; - var_0E = sin(var_0C) * param_01; - var_0F = param_00[0] + var_0D; - var_10 = param_00[1] + var_0E; - var_11 = param_00[2]; - var_0A[var_0A.size] = (var_0F,var_10,var_11); - } - - thread draw_circle_lines_until_notify(var_0A,param_02,param_03,param_04,param_05,param_06); -} - -//Function Number: 172 -draw_circle_for_time(param_00,param_01,param_02,param_03,param_04,param_05) -{ - var_06 = 16; - var_07 = 360 / var_06; - var_08 = []; - for(var_09 = 0;var_09 < var_06;var_09++) - { - var_0A = var_07 * var_09; - var_0B = cos(var_0A) * param_01; - var_0C = sin(var_0A) * param_01; - var_0D = param_00[0] + var_0B; - var_0E = param_00[1] + var_0C; - var_0F = param_00[2]; - var_08[var_08.size] = (var_0D,var_0E,var_0F); - } - - thread draw_circle_lines_for_time(var_08,param_02,param_03,param_04,param_05); -} - -//Function Number: 173 -draw_circle_lines_for_time(param_00,param_01,param_02,param_03,param_04) -{ - for(var_05 = 0;var_05 < param_00.size;var_05++) - { - var_06 = param_00[var_05]; - if(var_05 + 1 >= param_00.size) - { - var_07 = param_00[0]; - } - else - { - var_07 = param_00[var_05 + 1]; - } - - thread common_scripts\utility::draw_line_for_time(var_06,var_07,param_01,param_02,param_03,param_04); - } -} - -//Function Number: 174 -draw_circle_lines_until_notify(param_00,param_01,param_02,param_03,param_04,param_05) -{ - for(var_06 = 0;var_06 < param_00.size;var_06++) - { - var_07 = param_00[var_06]; - if(var_06 + 1 >= param_00.size) - { - var_08 = param_00[0]; - } - else - { - var_08 = param_00[var_06 + 1]; - } - - thread draw_line_until_notify(var_07,var_08,param_01,param_02,param_03,param_04,param_05); - } -} - -//Function Number: 175 -clear_enemy_passthrough() -{ - self notify("enemy"); - self clearenemy(); -} - -//Function Number: 176 -battlechatter_off(param_00) -{ - level notify("battlechatter_off_thread"); - maps\_dds::dds_disable(param_00); - animscripts\battlechatter::bcs_setup_chatter_toggle_array(); - if(isdefined(param_00)) - { - set_battlechatter_variable(param_00,0); - var_01 = getaiarray(param_00); - } - else - { - foreach(param_00 in level.teams) - { - set_battlechatter_variable(param_00,0); - } - - var_01 = getaiarray(); - } - - if(!isdefined(level.chatinitialized) || !level.chatinitialized) - { - return; - } - - for(var_04 = 0;var_04 < var_01.size;var_04++) - { - var_01[var_04].battlechatter = 0; - } - - for(var_04 = 0;var_04 < var_01.size;var_04++) - { - var_05 = var_01[var_04]; - if(!isalive(var_05)) - { - continue; - } - - if(!var_05.chatinitialized) - { - continue; - } - - if(!var_05.isspeaking) - { - continue; - } - - var_05 maps\_utility_code::wait_until_done_speaking(); - } - - var_06 = gettime() - level.lastteamspeaktime["allies"]; - if(var_06 < 1500) - { - wait(var_06 / 1000); - } - - if(isdefined(param_00)) - { - level notify(param_00 + " done speaking"); - return; - } - - level notify("done speaking"); -} - -//Function Number: 177 -battlechatter_on(param_00) -{ - thread battlechatter_on_thread(param_00); - maps\_dds::dds_enable(param_00); -} - -//Function Number: 178 -battlechatter_on_thread(param_00) -{ - level endon("battlechatter_off_thread"); - animscripts\battlechatter::bcs_setup_chatter_toggle_array(); - while(!isdefined(level.chatinitialized)) - { - wait(0.05); - } - - common_scripts\utility::flag_set("battlechatter_on_thread_waiting"); - wait(1.5); - common_scripts\utility::flag_clear("battlechatter_on_thread_waiting"); - if(isdefined(param_00)) - { - set_battlechatter_variable(param_00,1); - var_01 = getaiarray(param_00); - } - else - { - foreach(param_00 in level.teams) - { - set_battlechatter_variable(param_00,1); - } - - var_01 = getaiarray(); - } - - for(var_04 = 0;var_04 < var_01.size;var_04++) - { - var_01[var_04] set_battlechatter(1); - } -} - -//Function Number: 179 -set_battlechatter(param_00) -{ - dds_exclude_this_ai(!param_00); - if(!isdefined(level.chatinitialized) || !level.chatinitialized) - { - return; - } - - if(self.type == "dog") - { - return; - } - - if(param_00) - { - if(isdefined(self.script_bcdialog) && !self.script_bcdialog) - { - self.battlechatter = 0; - return; - } - - self.battlechatter = 1; - return; - } - - self.battlechatter = 0; - if(isdefined(self.isspeaking) && self.isspeaking) - { - self waittill("done speaking"); - } -} - -//Function Number: 180 -set_team_bcvoice(param_00,param_01) -{ - if(!level.chatinitialized) - { - return; - } - - var_02 = getarraykeys(level.countryids); - var_03 = common_scripts\utility::array_contains(var_02,param_01); - if(!var_03) - { - return; - } - - var_04 = getaiarray(param_00); - foreach(var_06 in var_04) - { - var_06 set_ai_bcvoice(param_01); - wait 0.05; - } -} - -//Function Number: 181 -set_ai_bcvoice(param_00) -{ - if(!level.chatinitialized) - { - return; - } - - var_01 = getarraykeys(level.countryids); - var_02 = common_scripts\utility::array_contains(var_01,param_00); - if(!var_02) - { - return; - } - - if(self.type == "dog") - { - return; - } - - if(isdefined(self.isspeaking) && self.isspeaking) - { - self waittill("done speaking"); - wait(0.1); - } - - animscripts\battlechatter_ai::removefromsystem(); - waittillframeend; - self.voice = param_00; - animscripts\battlechatter_ai::addtosystem(); -} - -//Function Number: 182 -flavorbursts_on(param_00) -{ - thread set_flavorbursts_team_state(1,param_00); -} - -//Function Number: 183 -flavorbursts_off(param_00) -{ - thread set_flavorbursts_team_state(0,param_00); -} - -//Function Number: 184 -set_flavorbursts_team_state(param_00,param_01) -{ - if(!isdefined(param_01)) - { - param_01 = "allies"; - } - - if(!level.chatinitialized) - { - return; - } - - wait(1.5); - level.flavorbursts[param_01] = param_00; - var_02 = []; - var_02 = getaiarray(param_01); - common_scripts\utility::array_thread(var_02,::set_flavorbursts,param_00); -} - -//Function Number: 185 -set_flavorbursts(param_00) -{ - self.flavorbursts = param_00; -} - -//Function Number: 186 -friendlyfire_warnings_off() -{ - var_00 = getaiarray("allies"); - foreach(var_02 in var_00) - { - if(isalive(var_02)) - { - var_02 set_friendlyfire_warnings(0); - } - } - - level.friendlyfire_warnings = 0; -} - -//Function Number: 187 -friendlyfire_warnings_on() -{ - var_00 = getaiarray("allies"); - foreach(var_02 in var_00) - { - if(isalive(var_02)) - { - var_02 set_friendlyfire_warnings(1); - } - } - - level.friendlyfire_warnings = 1; -} - -//Function Number: 188 -set_friendlyfire_warnings(param_00) -{ - if(param_00) - { - self.friendlyfire_warnings_disable = undefined; - return; - } - - self.friendlyfire_warnings_disable = 1; -} - -//Function Number: 189 -dds_set_player_character_name(param_00) -{ - if(!isplayer(self)) - { - return; - } - - switch(param_00) - { - case "reznov": - case "hudson": - case "mason": - break; - - default: - break; - } -} - -//Function Number: 190 -dds_exclude_this_ai(param_00) -{ - if(isai(self) && isalive(self)) - { - if(param_00) - { - self.dds_disable = 1; - return; - } - - self.dds_disable = 0; - return; - } -} - -//Function Number: 191 -get_obj_origin(param_00) -{ - var_01 = getentarray("objective","targetname"); - for(var_02 = 0;var_02 < var_01.size;var_02++) - { - if(var_01[var_02].script_noteworthy == param_00) - { - return var_01[var_02].origin; - } - } -} - -//Function Number: 192 -get_obj_event(param_00) -{ - var_01 = getentarray("objective_event","targetname"); - for(var_02 = 0;var_02 < var_01.size;var_02++) - { - if(var_01[var_02].script_noteworthy == param_00) - { - return var_01[var_02]; - } - } -} - -//Function Number: 193 -waittill_objective_event() -{ - maps\_utility_code::waittill_objective_event_proc(1); -} - -//Function Number: 194 -waittill_objective_event_notrigger() -{ - maps\_utility_code::waittill_objective_event_proc(0); -} - -//Function Number: 195 -debugorigin() -{ - self notify("Debug origin"); - self endon("Debug origin"); - self endon("death"); - for(;;) - { - var_00 = anglestoforward(self.angles); - var_01 = var_00 * 30; - var_02 = var_00 * 20; - var_03 = anglestoright(self.angles); - var_04 = var_03 * -10; - var_03 = var_03 * 10; - wait(0.05); - } -} - -//Function Number: 196 -get_linked_structs() -{ - var_00 = []; - if(isdefined(self.script_linkto)) - { - var_01 = common_scripts\utility::get_links(); - for(var_02 = 0;var_02 < var_01.size;var_02++) - { - var_03 = common_scripts\utility::getstruct(var_01[var_02],"script_linkname"); - if(isdefined(var_03)) - { - var_00[var_00.size] = var_03; - } - } - } - - return var_00; -} - -//Function Number: 197 -get_last_ent_in_chain(param_00) -{ - var_01 = self; - if(isdefined(var_01.target)) - { - wait(0.05); - if(isdefined(var_01.target)) - { - switch(param_00) - { - case "vehiclenode": - break; - - case "pathnode": - break; - - case "ent": - break; - - case "struct": - break; - - default: - break; - } - } - } -} - -//Function Number: 198 -player_seek(param_00) -{ - var_01 = spawn("script_origin",level.player.origin); - var_01 linkto(level.player); - if(isdefined(param_00)) - { - thread timeout(param_00); - } - - self setgoalentity(var_01); - if(!isdefined(self.oldgoalradius)) - { - self.oldgoalradius = self.goalradius; - } - - self.goalradius = 300; - common_scripts\utility::waittill_any("goal","timeout"); - if(isdefined(self.oldgoalradius)) - { - self.goalradius = self.oldgoalradius; - self.oldgoalradius = undefined; - } - - var_01 delete(); -} - -//Function Number: 199 -timeout(param_00) -{ - self endon("death"); - wait(param_00); - self notify("timeout"); -} - -//Function Number: 200 -set_forcegoal() -{ - if(isdefined(self.set_forcedgoal)) - { - return; - } - - self.oldfightdist = self.pathenemyfightdist; - self.oldmaxdist = self.pathenemylookahead; - self.oldmaxsight = self.maxsightdistsqrd; - self.pathenemyfightdist = 8; - self.pathenemylookahead = 8; - self.maxsightdistsqrd = 1; - self.set_forcedgoal = 1; -} - -//Function Number: 201 -unset_forcegoal() -{ - if(!isdefined(self.set_forcedgoal)) - { - return; - } - - self.pathenemyfightdist = self.oldfightdist; - self.pathenemylookahead = self.oldmaxdist; - self.maxsightdistsqrd = self.oldmaxsight; - self.set_forcedgoal = undefined; -} - -//Function Number: 202 -array_removedead_keepkeys(param_00) -{ - var_01 = []; - var_02 = getarraykeys(param_00); - for(var_03 = 0;var_03 < var_02.size;var_03++) - { - var_04 = var_02[var_03]; - if(!isalive(param_00[var_04])) - { - continue; - } - - var_01[var_04] = param_00[var_04]; - } - - return var_01; -} - -//Function Number: 203 -array_removedead(param_00) -{ - var_01 = []; - foreach(var_03 in param_00) - { - if(!isalive(var_03)) - { - continue; - } - - var_01[var_01.size] = var_03; - } - - return var_01; -} - -//Function Number: 204 -array_removedead_or_dying(param_00) -{ - var_01 = []; - foreach(var_03 in param_00) - { - if(!isalive(var_03)) - { - continue; - } - - if(var_03 doinglongdeath()) - { - continue; - } - - var_01[var_01.size] = var_03; - } - - return var_01; -} - -//Function Number: 205 -array_remove_nokeys(param_00,param_01) -{ - var_02 = []; - for(var_03 = 0;var_03 < param_00.size;var_03++) - { - if(param_00[var_03] != param_01) - { - var_02[var_02.size] = param_00[var_03]; - } - } - - return var_02; -} - -//Function Number: 206 -array_remove_index(param_00,param_01) -{ - for(var_02 = 0;var_02 < param_00.size - 1;var_02++) - { - if(var_02 == param_01) - { - param_00[var_02] = param_00[var_02 + 1]; - param_01++; - } - } - - param_00[param_00.size - 1] = undefined; - return param_00; -} - -//Function Number: 207 -array_notify(param_00,param_01,param_02) -{ - foreach(var_04 in param_00) - { - var_04 notify(param_01,param_02); - } -} - -//Function Number: 208 -struct_arrayspawn() -{ - var_00 = spawnstruct(); - var_00.array = []; - var_00.lastindex = 0; - return var_00; -} - -//Function Number: 209 -structarray_add(param_00,param_01) -{ - param_00.array[param_00.lastindex] = param_01; - param_01.struct_array_index = param_00.lastindex; - param_00.lastindex++; -} - -//Function Number: 210 -structarray_remove(param_00,param_01) -{ - structarray_swaptolast(param_00,param_01); - param_00.array[param_00.lastindex - 1] = undefined; - param_00.lastindex--; -} - -//Function Number: 211 -structarray_remove_index(param_00,param_01) -{ - if(isdefined(param_00.array[param_00.lastindex - 1])) - { - param_00.array[param_01] = param_00.array[param_00.lastindex - 1]; - param_00.array[param_01].struct_array_index = param_01; - param_00.array[param_00.lastindex - 1] = undefined; - param_00.lastindex = param_00.array.size; - return; - } - - param_00.array[param_01] = undefined; - structarray_remove_undefined(param_00); -} - -//Function Number: 212 -structarray_remove_undefined(param_00) -{ - var_01 = []; - foreach(var_03 in param_00.array) - { - if(!isdefined(var_03)) - { - continue; - } - - var_01[var_01.size] = var_03; - } - - param_00.array = var_01; - foreach(var_06, var_03 in param_00.array) - { - var_03.struct_array_index = var_06; - } - - param_00.lastindex = param_00.array.size; -} - -//Function Number: 213 -structarray_swaptolast(param_00,param_01) -{ - param_00 maps\_utility_code::structarray_swap(param_00.array[param_00.lastindex - 1],param_01); -} - -//Function Number: 214 -structarray_shuffle(param_00,param_01) -{ - for(var_02 = 0;var_02 < param_01;var_02++) - { - param_00 maps\_utility_code::structarray_swap(param_00.array[var_02],param_00.array[randomint(param_00.lastindex)]); - } -} - -//Function Number: 215 -get_use_key() -{ - if(level.console) - { - return " + usereload"; - } - - return " + activate"; -} - -//Function Number: 216 -custom_battlechatter(param_00) -{ - return animscripts\battlechatter_ai::custom_battlechatter_internal(param_00); -} - -//Function Number: 217 -get_stop_watch(param_00,param_01) -{ - var_02 = newhudelem(); - if(level.console) - { - var_02.x = 68; - var_02.y = 35; - } - else - { - var_02.x = 58; - var_02.y = 95; - } - - var_02.alignx = "center"; - var_02.aligny = "middle"; - var_02.horzalign = "left"; - var_02.vertalign = "middle"; - if(isdefined(param_01)) - { - var_03 = param_01; - } - else - { - var_03 = level.explosiveplanttime; - } - - var_02 setclock(var_03,param_00,"hudStopwatch",64,64); - return var_02; -} - -//Function Number: 218 -objective_is_active(param_00) -{ - var_01 = 0; - for(var_02 = 0;var_02 < level.active_objective.size;var_02++) - { - if(level.active_objective[var_02] != param_00) - { - continue; - } - - var_01 = 1; - break; - } - - return var_01; -} - -//Function Number: 219 -objective_is_inactive(param_00) -{ - var_01 = 0; - for(var_02 = 0;var_02 < level.inactive_objective.size;var_02++) - { - if(level.inactive_objective[var_02] != param_00) - { - continue; - } - - var_01 = 1; - break; - } - - return var_01; -} - -//Function Number: 220 -set_objective_inactive(param_00) -{ - var_01 = []; - for(var_02 = 0;var_02 < level.active_objective.size;var_02++) - { - if(level.active_objective[var_02] == param_00) - { - continue; - } - - var_01[var_01.size] = level.active_objective[var_02]; - } - - level.active_objective = var_01; - var_03 = 0; - for(var_02 = 0;var_02 < level.inactive_objective.size;var_02++) - { - if(level.inactive_objective[var_02] != param_00) - { - continue; - } - - var_03 = 1; - } - - if(!var_03) - { - level.inactive_objective[level.inactive_objective.size] = param_00; - } -} - -//Function Number: 221 -set_objective_active(param_00) -{ - var_01 = []; - for(var_02 = 0;var_02 < level.inactive_objective.size;var_02++) - { - if(level.inactive_objective[var_02] == param_00) - { - continue; - } - - var_01[var_01.size] = level.inactive_objective[var_02]; - } - - level.inactive_objective = var_01; - var_03 = 0; - for(var_02 = 0;var_02 < level.active_objective.size;var_02++) - { - if(level.active_objective[var_02] != param_00) - { - continue; - } - - var_03 = 1; - } - - if(!var_03) - { - level.active_objective[level.active_objective.size] = param_00; - } -} - -//Function Number: 222 -missionfailedwrapper() -{ - if(level.missionfailed) - { - return; - } - - if(isdefined(level.nextmission)) - { - return; - } - - setsaveddvar("ammoCounterHide",1); - level.missionfailed = 1; - common_scripts\utility::flag_set("missionfailed"); - if(arcademode()) - { - return; - } - - if(getdvar("failure_disabled") == "1") - { - return; - } - - if(isdefined(level.mission_fail_func)) - { - thread [[ level.mission_fail_func ]](); - return; - } - - maps\_utility_code::mission_recon(0); - missionfailed(); -} - -//Function Number: 223 -set_mission_failed_override(param_00) -{ - level.mission_fail_func = param_00; -} - -//Function Number: 224 -script_delay() -{ - if(isdefined(self.script_delay)) - { - wait(self.script_delay); - return 1; - } - else if(isdefined(self.script_delay_min) && isdefined(self.script_delay_max)) - { - wait(randomfloatrange(self.script_delay_min,self.script_delay_max)); - return 1; - } - - return 0; -} - -//Function Number: 225 -script_wait() -{ - var_00 = gettime(); - if(isdefined(self.script_wait)) - { - wait(self.script_wait); - if(isdefined(self.script_wait_add)) - { - self.script_wait = self.script_wait + self.script_wait_add; - } - } - else if(isdefined(self.script_wait_min) && isdefined(self.script_wait_max)) - { - wait(randomfloatrange(self.script_wait_min,self.script_wait_max)); - if(isdefined(self.script_wait_add)) - { - self.script_wait_min = self.script_wait_min + self.script_wait_add; - self.script_wait_max = self.script_wait_max + self.script_wait_add; - } - } - - return gettime() - var_00; -} - -//Function Number: 226 -guy_enter_vehicle(param_00) -{ - maps\_vehicle_aianim::guy_enter(param_00); -} - -//Function Number: 227 -guy_runtovehicle_load(param_00,param_01) -{ - maps\_vehicle_aianim::guy_runtovehicle(param_00,param_01); -} - -//Function Number: 228 -get_force_color_guys(param_00,param_01) -{ - var_02 = getaiarray(param_00); - var_03 = []; - for(var_04 = 0;var_04 < var_02.size;var_04++) - { - var_05 = var_02[var_04]; - if(!isdefined(var_05.script_forcecolor)) - { - continue; - } - - if(var_05.script_forcecolor != param_01) - { - continue; - } - - var_03[var_03.size] = var_05; - } - - return var_03; -} - -//Function Number: 229 -get_all_force_color_friendlies() -{ - var_00 = getaiarray("allies"); - var_01 = []; - for(var_02 = 0;var_02 < var_00.size;var_02++) - { - var_03 = var_00[var_02]; - if(!isdefined(var_03.script_forcecolor)) - { - continue; - } - - var_01[var_01.size] = var_03; - } - - return var_01; -} - -//Function Number: 230 -get_all_target_ents(param_00) -{ - if(!isdefined(param_00)) - { - param_00 = self.target; - } - - var_01 = []; - var_02 = getentarray(param_00,"targetname"); - var_01 = common_scripts\utility::array_combine(var_01,var_02); - var_02 = getnodearray(param_00,"targetname"); - var_01 = common_scripts\utility::array_combine(var_01,var_02); - var_02 = common_scripts\utility::getstructarray(param_00,"targetname"); - var_01 = common_scripts\utility::array_combine(var_01,var_02); - var_02 = getvehiclenodearray(param_00,"targetname"); - var_01 = common_scripts\utility::array_combine(var_01,var_02); - return var_01; -} - -//Function Number: 231 -enable_ai_color() -{ - if(isdefined(self.script_forcecolor)) - { - return; - } - - if(!isdefined(self.old_forcecolor)) - { - return; - } - - set_force_color(self.old_forcecolor); - self.old_forcecolor = undefined; -} - -//Function Number: 232 -enable_ai_color_dontmove() -{ - self.dontcolormove = 1; - enable_ai_color(); -} - -//Function Number: 233 -disable_ai_color() -{ - if(isdefined(self.new_force_color_being_set)) - { - self endon("death"); - self waittill("done_setting_new_color"); - } - - self clearfixednodesafevolume(); - if(!isdefined(self.script_forcecolor)) - { - return; - } - - self.old_forcecolor = self.script_forcecolor; - maps\_colors::remove_ai_from_colors(); -} - -//Function Number: 234 -clear_force_color() -{ - disable_ai_color(); -} - -//Function Number: 235 -check_force_color(param_00) -{ - var_01 = level.colorchecklist[tolower(param_00)]; - if(isdefined(self.script_forcecolor) && var_01 == self.script_forcecolor) - { - return 1; - } - - return 0; -} - -//Function Number: 236 -get_force_color() -{ - var_00 = self.script_forcecolor; - return var_00; -} - -//Function Number: 237 -set_force_color(param_00) -{ - var_01 = maps\_colors::add_ai_to_colors(param_00); -} - -//Function Number: 238 -issue_color_orders(param_00,param_01) -{ - maps\_colors::issue_color_orders_generic(param_00,param_01); -} - -//Function Number: 239 -clear_color_order(param_00,param_01) -{ - maps\_colors::clear_color_order_from_team(param_00,param_01); -} - -//Function Number: 240 -clear_all_color_orders(param_00) -{ - foreach(var_02 in level.colorlist) - { - maps\_colors::clear_color_order_from_team(var_02,param_00); - } -} - -//Function Number: 241 -replace_on_death() -{ - thread maps\_colors::colornode_replace_on_death(); -} - -//Function Number: 242 -disable_replace_on_death() -{ - self.replace_on_death = undefined; - self notify("_disable_reinforcement"); -} - -//Function Number: 243 -stop_replace_on_death() -{ - self notify("_disable_reinforcement"); -} - -//Function Number: 244 -stop_all_replace_on_death(param_00,param_01) -{ - thread maps\_colors::colornode_stop_replace_on_death_group(param_00,param_01); -} - -//Function Number: 245 -spawn_reinforcement(param_00,param_01,param_02,param_03) -{ - if(!isdefined(param_03)) - { - param_03 = "allies"; - } - - thread maps\_colors::colornode_spawn_reinforcement(param_03,param_00,param_01,param_02); -} - -//Function Number: 246 -clear_promotion_order() -{ - maps\_colors::colornode_clear_promotion_order(); -} - -//Function Number: 247 -set_promotion_order(param_00,param_01) -{ - maps\_colors::colornode_set_promotion_order(param_00,param_01); -} - -//Function Number: 248 -set_empty_promotion_order(param_00) -{ - maps\_colors::colornode_set_empty_promotion_order(param_00); -} - -//Function Number: 249 -has_color() -{ - if(maps\_colors::get_team() == "axis") - { - return isdefined(self.script_color_axis) || isdefined(self.script_forcecolor); - } - - return isdefined(self.script_color_allies) || isdefined(self.script_forcecolor); -} - -//Function Number: 250 -get_color_volume_from_trigger() -{ - return maps\_colors::get_color_volume_from_trigger_codes(); -} - -//Function Number: 251 -get_color_nodes_from_trigger() -{ - return maps\_colors::get_color_nodes_from_trigger_codes(); -} - -//Function Number: 252 -flashrumbleloop(param_00) -{ - var_01 = gettime() + param_00 * 1000; - while(gettime() < var_01) - { - self playrumbleonentity("damage_heavy"); - wait(0.05); - } -} - -//Function Number: 253 -flashmonitorenablehealthshield(param_00) -{ - self endon("death"); - self endon("flashed"); - wait(0.2); - self enablehealthshield(0); - wait(param_00 + 2); - self enablehealthshield(1); -} - -//Function Number: 254 -ninebanghandler(param_00,param_01,param_02,param_03,param_04) -{ - var_05 = [0.8,0.7,0.7,0.6]; - var_06 = [1,0.8,0.6,0.6]; - foreach(var_0C, var_08 in var_06) - { - var_09 = param_01 - 0.85 / 0.15; - if(var_09 > param_02) - { - param_02 = var_09; - } - - if(param_02 < 0.25) - { - param_02 = 0.25; - } - - var_0A = 0.3; - if(param_01 > 1 - var_0A) - { - param_01 = 1; - } - else - { - param_01 = param_01 / 1 - var_0A; - } - - if(param_04 != self.team) - { - var_0B = param_01 * param_02 * 6; - } - else - { - var_0B = param_01 * param_02 * 3; - } - - if(var_0B < 0.25) - { - continue; - } - - var_0B = var_08 * var_0B; - if(isdefined(self.maxflashedseconds) && var_0B > self.maxflashedseconds) - { - var_0B = self.maxflashedseconds; - } - - self.flashingteam = param_04; - self notify("flashed"); - self.flashendtime = gettime() + var_0B * 1000; - self shellshock("flashbang",var_0B); - common_scripts\utility::flag_set("player_flashed"); - if(param_01 * param_02 > 0.5) - { - thread flashmonitorenablehealthshield(var_0B); - } - - wait(var_05[var_0C]); - } - - thread maps\_utility_code::unflash_flag(0.05); -} - -//Function Number: 255 -flashmonitor() -{ - self endon("death"); - for(;;) - { - self waittill("flashbang",var_00,var_01,var_02,var_03,var_04); - if("1" == getdvar("noflash")) - { - continue; - } - - if(is_player_down(self)) - { - continue; - } - - if(isdefined(self.threw_ninebang)) - { - var_05 = 0.8; - var_06 = 1 - var_05; - self.threw_ninebang = undefined; - if(var_01 < var_06) - { - continue; - } - - var_01 = var_01 - var_06 / var_05; - } - - var_07 = var_01 - 0.85 / 0.15; - if(var_07 > var_02) - { - var_02 = var_07; - } - - if(var_02 < 0.25) - { - var_02 = 0.25; - } - - var_08 = 0.3; - if(var_01 > 1 - var_08) - { - var_01 = 1; - } - else - { - var_01 = var_01 / 1 - var_08; - } - - if(var_04 != self.team) - { - var_09 = var_01 * var_02 * 6; - } - else - { - var_09 = var_01 * var_02 * 3; - } - - if(var_09 < 0.25) - { - continue; - } - - if(isdefined(self.maxflashedseconds) && var_09 > self.maxflashedseconds) - { - var_09 = self.maxflashedseconds; - } - - self.flashingteam = var_04; - self notify("flashed"); - self.flashendtime = gettime() + var_09 * 1000; - self shellshock("flashbang",var_09); - self lightsetoverrideenableforplayer("flashed",0.1); - common_scripts\utility::flag_set("player_flashed"); - thread maps\_utility_code::unflash_flag(var_09); - wait(0.1); - self lightsetoverrideenableforplayer(var_09 - 0.1); - if(var_01 * var_02 > 0.5) - { - thread flashmonitorenablehealthshield(var_09); - } - - if(var_09 > 2) - { - thread flashrumbleloop(0.75); - } - else - { - thread flashrumbleloop(0.25); - } - - if(var_04 != "allies") - { - thread flashnearbyallies(var_09,var_04); - } - } -} - -//Function Number: 256 -flashnearbyallies(param_00,param_01) -{ - wait(0.05); - var_02 = getaiarray("allies"); - for(var_03 = 0;var_03 < var_02.size;var_03++) - { - if(distancesquared(var_02[var_03].origin,self.origin) < 122500) - { - var_04 = param_00 + randomfloatrange(-1000,1500); - if(var_04 > 4.5) - { - var_04 = 4.5; - } - else if(var_04 < 0.25) - { - continue; - } - - var_05 = gettime() + var_04 * 1000; - if(!isdefined(var_02[var_03].flashendtime) || var_02[var_03].flashendtime < var_05) - { - var_02[var_03].flashingteam = param_01; - var_02[var_03] flashbangstart(var_04); - } - } - } -} - -//Function Number: 257 -restarteffect() -{ - common_scripts\_createfx::restart_fx_looper(); -} - -//Function Number: 258 -pauseexploder(param_00) -{ - param_00 = param_00 + ""; - if(isdefined(level.createfxexploders)) - { - var_01 = level.createfxexploders[param_00]; - if(isdefined(var_01)) - { - foreach(var_03 in var_01) - { - var_03 common_scripts\utility::pauseeffect(); - } - - return; - } - - return; - } - - foreach(var_06 in level.createfxent) - { - if(!isdefined(var_06.v["exploder"])) - { - continue; - } - - if(var_06.v["exploder"] != var_03) - { - continue; - } - - var_06 common_scripts\utility::pauseeffect(); - } -} - -//Function Number: 259 -restartexploder(param_00) -{ - param_00 = param_00 + ""; - if(isdefined(level.createfxexploders)) - { - var_01 = level.createfxexploders[param_00]; - if(isdefined(var_01)) - { - foreach(var_03 in var_01) - { - var_03 restarteffect(); - } - - return; - } - - return; - } - - foreach(var_06 in level.createfxent) - { - if(!isdefined(var_06.v["exploder"])) - { - continue; - } - - if(var_06.v["exploder"] != var_03) - { - continue; - } - - var_06 restarteffect(); - } -} - -//Function Number: 260 -getfxarraybyid(param_00) -{ - var_01 = []; - if(isdefined(level.createfxbyfxid)) - { - var_02 = level.createfxbyfxid[param_00]; - if(isdefined(var_02)) - { - var_01 = var_02; - } - } - else - { - for(var_03 = 0;var_03 < level.createfxent.size;var_03++) - { - if(level.createfxent[var_03].v["fxid"] == param_00) - { - var_01[var_01.size] = level.createfxent[var_03]; - } - } - } - - return var_01; -} - -//Function Number: 261 -ignoreallenemies(param_00) -{ - self notify("ignoreAllEnemies_threaded"); - self endon("ignoreAllEnemies_threaded"); - if(param_00) - { - self.old_threat_bias_group = self getthreatbiasgroup(); - var_01 = undefined; - createthreatbiasgroup("ignore_everybody"); - self setthreatbiasgroup("ignore_everybody"); - var_02 = []; - var_02["axis"] = "allies"; - var_02["allies"] = "axis"; - var_03 = getaiarray(var_02[self.team]); - var_04 = []; - for(var_05 = 0;var_05 < var_03.size;var_05++) - { - var_04[var_03[var_05] getthreatbiasgroup()] = 1; - } - - var_06 = getarraykeys(var_04); - for(var_05 = 0;var_05 < var_06.size;var_05++) - { - setthreatbias(var_06[var_05],"ignore_everybody",0); - } - - return; - } - - var_01 = undefined; - if(self.old_threat_bias_group != "") - { - self setthreatbiasgroup(self.old_threat_bias_group); - } - - self.old_threat_bias_group = undefined; -} - -//Function Number: 262 -vehicle_detachfrompath() -{ - maps\_vehicle_code::vehicle_pathdetach(); -} - -//Function Number: 263 -vehicle_resumepath() -{ - thread maps\_vehicle_code::vehicle_resumepathvehicle(); -} - -//Function Number: 264 -vehicle_land(param_00) -{ - maps\_vehicle_code::vehicle_landvehicle(param_00); -} - -//Function Number: 265 -vehicle_liftoff(param_00) -{ - maps\_vehicle_code::vehicle_liftoffvehicle(param_00); -} - -//Function Number: 266 -vehicle_dynamicpath(param_00,param_01) -{ - maps\_vehicle::vehicle_paths(param_00,param_01); -} - -//Function Number: 267 -groundpos(param_00) -{ - return bullettrace(param_00,param_00 + (0,0,-100000),0,self)["position"]; -} - -//Function Number: 268 -change_player_health_packets(param_00) -{ - self.player_health_packets = self.player_health_packets + param_00; - self notify("update_health_packets"); - if(self.player_health_packets >= 3) - { - self.player_health_packets = 3; - } -} - -//Function Number: 269 -getvehiclespawner(param_00) -{ - var_01 = getvehiclespawnerarray(param_00); - return var_01[0]; -} - -//Function Number: 270 -getvehiclespawnerarray(param_00) -{ - return maps\_vehicle_code::_getvehiclespawnerarray(param_00); -} - -//Function Number: 271 -describe_start(param_00,param_01,param_02,param_03,param_04,param_05) -{ - add_start_assert(); - if(!isdefined(level.start_description)) - { - level.start_description = []; - } - - level.start_description[param_00] = add_start_construct(param_00,param_01,param_02,param_03,[param_04],param_05); -} - -//Function Number: 272 -add_start(param_00,param_01,param_02,param_03,param_04,param_05) -{ - add_start_assert(); - param_00 = tolower(param_00); - if(isdefined(param_04)) - { - if(param_04.size > 2) - { - var_06 = []; - var_06[0] = param_04[0]; - var_06[1] = param_04[1]; - param_04 = var_06; - } - - if(!isdefined(level.start_transients)) - { - level.start_transients = []; - } - - foreach(var_08 in param_04) - { - if(!common_scripts\utility::array_contains(level.start_transients,var_08)) - { - level.start_transients[level.start_transients.size] = var_08; - } - } - } - - if(isdefined(level.start_description) && isdefined(level.start_description[param_00])) - { - var_0B = level.start_description[param_00]; - } - else - { - var_0B = add_start_construct(param_01,param_02,param_03,param_04,param_05,var_0B); - } - - if(!isdefined(param_01)) - { - if(!isdefined(level.start_description)) - { - } - else if(!issubstr(param_00,"no_game")) - { - if(!isdefined(level.start_description[param_00])) - { - return; - } - } - } - - level.start_functions[level.start_functions.size] = var_0B; - level.start_arrays[param_00] = var_0B; -} - -//Function Number: 273 -set_start_transients(param_00,param_01) -{ - if(!isdefined(level.start_arrays)) - { - return; - } - - if(!isdefined(level.start_arrays[param_00])) - { - return; - } - - param_00 = tolower(param_00); - if(param_01.size > 2) - { - var_02 = []; - var_02[0] = param_01[0]; - var_02[1] = param_01[1]; - param_01 = var_02; - } - - if(!isdefined(level.start_transients)) - { - level.start_transients = []; - } - - foreach(var_04 in param_01) - { - if(!common_scripts\utility::array_contains(level.start_transients,var_04)) - { - level.start_transients[level.start_transients.size] = var_04; - } - } - - level.start_arrays[param_00]["transients_to_load"] = param_01; -} - -//Function Number: 274 -is_no_game_start() -{ - return issubstr(level.start_point,"no_game"); -} - -//Function Number: 275 -add_start_construct(param_00,param_01,param_02,param_03,param_04,param_05) -{ - var_06 = []; - var_06["name"] = param_00; - var_06["start_func"] = param_01; - var_06["start_loc_string"] = param_02; - var_06["logic_func"] = param_03; - var_06["transients_to_load"] = param_04; - var_06["catchup_function"] = param_05; - return var_06; -} - -//Function Number: 276 -add_start_assert() -{ - if(!isdefined(level.start_functions)) - { - level.start_functions = []; - } -} - -//Function Number: 277 -level_has_start_points() -{ - return level.start_functions.size > 1; -} - -//Function Number: 278 -set_default_start(param_00) -{ - level.default_start_override = param_00; -} - -//Function Number: 279 -default_start(param_00) -{ - level.default_start = param_00; -} - -//Function Number: 280 -linetime(param_00,param_01,param_02,param_03) -{ - thread maps\_utility_code::linetime_proc(param_00,param_01,param_02,param_03); -} - -//Function Number: 281 -within_fov_2d(param_00,param_01,param_02,param_03) -{ - var_04 = vectornormalize((param_02[0],param_02[1],0) - (param_00[0],param_00[1],0)); - var_05 = anglestoforward((0,param_01[1],0)); - return vectordot(var_05,var_04) >= param_03; -} - -//Function Number: 282 -get_dot(param_00,param_01,param_02) -{ - var_03 = vectornormalize(param_02 - param_00); - var_04 = anglestoforward(param_01); - var_05 = vectordot(var_04,var_03); - return var_05; -} - -//Function Number: 283 -within_fov_of_players(param_00,param_01) -{ - var_02 = undefined; - for(var_03 = 0;var_03 < level.players.size;var_03++) - { - var_04 = level.players[var_03] geteye(); - var_02 = common_scripts\utility::within_fov(var_04,level.players[var_03] getplayerangles(),param_00,param_01); - if(!var_02) - { - return 0; - } - } - - return 1; -} - -//Function Number: 284 -wait_for_buffer_time_to_pass(param_00,param_01) -{ - var_02 = param_01 * 1000 - gettime() - param_00; - var_02 = var_02 * 0.001; - if(var_02 > 0) - { - wait(var_02); - } -} - -//Function Number: 285 -bcs_scripted_dialogue_start() -{ - anim.scripteddialoguestarttime = gettime(); -} - -//Function Number: 286 -dialogue_queue(param_00) -{ - var_01 = getsndaliasvalue(param_00,"squelchname"); - if(self == level || var_01 != "") - { - radio_dialogue(param_00,undefined,var_01); - return; - } - - bcs_scripted_dialogue_start(); - maps\_anim::anim_single_queue(self,param_00); -} - -//Function Number: 287 -generic_dialogue_queue(param_00,param_01) -{ - bcs_scripted_dialogue_start(); - maps\_anim::anim_generic_queue(self,param_00,undefined,undefined,param_01); -} - -//Function Number: 288 -radio_dialogue(param_00,param_01,param_02) -{ - if(!isdefined(level.player_radio_emitter)) - { - var_03 = spawn("script_origin",(0,0,0)); - var_03 linkto(level.player,"",(0,0,0),(0,0,0)); - level.player_radio_emitter = var_03; - } - - bcs_scripted_dialogue_start(); - if(!isdefined(param_01)) - { - return level.player_radio_emitter function_stack(::radio_dialogue_play,param_00,param_02); - } - - return level.player_radio_emitter function_stack_timeout(param_01,::radio_dialogue_play,param_00,param_02); -} - -//Function Number: 289 -radio_dialogue_play(param_00,param_01) -{ - if(!isdefined(param_01)) - { - param_01 = "none"; - } - - level.player_radio_squelch_out_queued = 0; - if(param_01 != "none" && isdefined(level.scr_radio["squelches"][param_01])) - { - play_sound_on_tag(level.scr_radio["squelches"][param_01]["on"],undefined,1); - } - - var_02 = 0; - if(isdefined(level.scr_radio[param_00])) - { - var_02 = play_sound_on_tag(level.scr_radio[param_00],undefined,1); - } - else - { - var_02 = play_sound_on_tag(param_00,undefined,1); - } - - if(param_01 != "none" && isdefined(level.scr_radio["squelches"][param_01])) - { - thread radio_try_squelch_out(param_01); - } - - return var_02; -} - -//Function Number: 290 -radio_dialogue_overlap(param_00) -{ - if(!isdefined(level.player_radio_emitter_overlap)) - { - level.player_radio_emitter_overlap = []; - } - - var_01 = spawn("script_origin",(0,0,0)); - level.player_radio_emitter_overlap[level.player_radio_emitter_overlap.size] = var_01; - var_01 endon("death"); - thread delete_on_death_wait_sound(var_01,"sounddone"); - var_01.origin = level.player_radio_emitter.origin; - var_01.angles = level.player_radio_emitter.angles; - var_01 linkto(level.player_radio_emitter); - var_01 playsound(level.scr_radio[param_00],"sounddone"); - if(!isdefined(maps\_utility_code::wait_for_sounddone_or_death(var_01))) - { - var_01 stopsounds(); - } - - wait(0.05); - level.player_radio_emitter_overlap = common_scripts\utility::array_remove(level.player_radio_emitter_overlap,var_01); - var_01 delete(); -} - -//Function Number: 291 -radio_dialogue_stop() -{ - if(!isdefined(level.player_radio_emitter)) - { - return; - } - - level.player_radio_emitter delete(); -} - -//Function Number: 292 -radio_dialogue_overlap_stop() -{ - if(!isdefined(level.player_radio_emitter_overlap)) - { - return; - } - - foreach(var_01 in level.player_radio_emitter_overlap) - { - if(isdefined(var_01)) - { - var_01 stopsounds(); - wait(0.05); - var_01 delete(); - } - } - - level.player_radio_emitter_overlap = undefined; -} - -//Function Number: 293 -radio_dialogue_clear_stack() -{ - if(!isdefined(level.player_radio_emitter)) - { - return; - } - - level.player_radio_emitter function_stack_clear(); -} - -//Function Number: 294 -radio_dialogue_remove_from_stack(param_00) -{ - if(!isdefined(level.player_radio_emitter)) - { - return; - } - - if(!isdefined(level.player_radio_emitter.function_stack)) - { - return; - } - - var_01 = []; - var_02 = 0; - var_03 = level.player_radio_emitter.function_stack.size; - for(var_04 = 0;var_04 < var_03;var_04++) - { - if(var_04 == 0 && isdefined(level.player_radio_emitter.function_stack[0].function_stack_func_begun) && isdefined(level.player_radio_emitter.function_stack[0].function_stack_func_begun)) - { - var_01[var_01.size] = level.player_radio_emitter.function_stack[var_04]; - continue; - } - - if(isdefined(level.player_radio_emitter.function_stack[var_04].param1) && level.player_radio_emitter.function_stack[var_04].param1 == param_00) - { - level.player_radio_emitter.function_stack[var_04] notify("death"); - level.player_radio_emitter.function_stack[var_04] = undefined; - var_02 = 1; - continue; - } - - var_01[var_01.size] = level.player_radio_emitter.function_stack[var_04]; - } - - if(var_02) - { - level.player_radio_emitter.function_stack = var_01; - } -} - -//Function Number: 295 -radio_dialogue_interupt(param_00) -{ - if(!isdefined(level.player_radio_emitter)) - { - var_01 = spawn("script_origin",(0,0,0)); - var_01 linkto(level.player,"",(0,0,0),(0,0,0)); - level.player_radio_emitter = var_01; - } - - level.player_radio_emitter play_sound_on_tag(level.scr_radio[param_00],undefined,1); -} - -//Function Number: 296 -radio_dialogue_safe(param_00) -{ - return radio_dialogue(param_00,0.05); -} - -//Function Number: 297 -smart_radio_dialogue(param_00,param_01) -{ - var_02 = getsndaliasvalue(param_00,"squelchname"); - maps\_utility_code::add_to_radio(param_00); - radio_dialogue(param_00,param_01,var_02); -} - -//Function Number: 298 -smart_radio_dialogue_interrupt(param_00) -{ - maps\_utility_code::add_to_radio(param_00); - radio_dialogue_stop(); - radio_dialogue_interupt(param_00); -} - -//Function Number: 299 -smart_radio_dialogue_overlap(param_00) -{ - maps\_utility_code::add_to_radio(param_00); - radio_dialogue_overlap(param_00); -} - -//Function Number: 300 -smart_dialogue(param_00) -{ - maps\_utility_code::add_to_dialogue(param_00); - dialogue_queue(param_00); -} - -//Function Number: 301 -smart_dialogue_generic(param_00) -{ - maps\_utility_code::add_to_dialogue_generic(param_00); - generic_dialogue_queue(param_00); -} - -//Function Number: 302 -radio_try_squelch_out(param_00,param_01) -{ - self endon("death"); - if(!isdefined(param_01)) - { - param_01 = 0.1; - } - - level.player_radio_squelch_out_queued = 1; - wait(param_01); - if(isdefined(level.player_radio_emitter) && level.player_radio_squelch_out_queued == 1) - { - level.player_radio_emitter function_stack(::play_sound_on_tag,level.scr_radio["squelches"][param_00]["off"],undefined,1); - } -} - -//Function Number: 303 -radio_dialogue_queue(param_00,param_01) -{ - radio_dialogue(param_00,undefined,param_01); -} - -//Function Number: 304 -hint_create(param_00,param_01,param_02) -{ - var_03 = spawnstruct(); - if(isdefined(param_01) && param_01 == 1) - { - var_03.bg = newhudelem(); - } - - var_03.elm = newhudelem(); - var_03 hint_position_internal(param_02); - var_03.elm settext(param_00); - return var_03; -} - -//Function Number: 305 -hint_delete() -{ - self notify("death"); - if(isdefined(self.elm)) - { - self.elm destroy(); - } - - if(isdefined(self.bg)) - { - self.bg destroy(); - } -} - -//Function Number: 306 -hint_position_internal(param_00) -{ - if(level.console) - { - self.elm.fontscale = 2; - } - else - { - self.elm.fontscale = 1.6; - } - - self.elm.x = 0; - self.elm.y = -40; - self.elm.alignx = "center"; - self.elm.aligny = "bottom"; - self.elm.horzalign = "center"; - self.elm.vertalign = "middle"; - self.elm.sort = 1; - self.elm.alpha = 0.8; - if(!isdefined(self.bg)) - { - return; - } - - self.bg.x = 0; - self.bg.y = -40; - self.bg.alignx = "center"; - self.bg.aligny = "middle"; - self.bg.horzalign = "center"; - self.bg.vertalign = "middle"; - self.bg.sort = -1; - if(level.console) - { - self.bg setshader("popmenu_bg",650,52); - } - else - { - self.bg setshader("popmenu_bg",650,42); - } - - if(!isdefined(param_00)) - { - param_00 = 0.5; - } - - self.bg.alpha = param_00; -} - -//Function Number: 307 -string(param_00) -{ - return "" + param_00; -} - -//Function Number: 308 -is_string_a_number(param_00) -{ - var_01 = float(param_00); - return string(var_01) == param_00; -} - -//Function Number: 309 -ignoreeachother(param_00,param_01) -{ - setignoremegroup(param_00,param_01); - setignoremegroup(param_01,param_00); -} - -//Function Number: 310 -add_global_spawn_function(param_00,param_01,param_02,param_03,param_04) -{ - var_05 = []; - var_05["function"] = param_01; - var_05["param1"] = param_02; - var_05["param2"] = param_03; - var_05["param3"] = param_04; - level.spawn_funcs[param_00][level.spawn_funcs[param_00].size] = var_05; -} - -//Function Number: 311 -remove_global_spawn_function(param_00,param_01) -{ - var_02 = []; - for(var_03 = 0;var_03 < level.spawn_funcs[param_00].size;var_03++) - { - if(level.spawn_funcs[param_00][var_03]["function"] != param_01) - { - var_02[var_02.size] = level.spawn_funcs[param_00][var_03]; - } - } - - level.spawn_funcs[param_00] = var_02; -} - -//Function Number: 312 -exists_global_spawn_function(param_00,param_01) -{ - if(!isdefined(level.spawn_funcs)) - { - return 0; - } - - for(var_02 = 0;var_02 < level.spawn_funcs[param_00].size;var_02++) - { - if(level.spawn_funcs[param_00][var_02]["function"] == param_01) - { - return 1; - } - } - - return 0; -} - -//Function Number: 313 -remove_spawn_function(param_00) -{ - var_01 = []; - foreach(var_03 in self.spawn_functions) - { - if(var_03["function"] == param_00) - { - continue; - } - - var_01[var_01.size] = var_03; - } - - self.spawn_functions = var_01; -} - -//Function Number: 314 -add_spawn_function(param_00,param_01,param_02,param_03,param_04,param_05) -{ - foreach(var_07 in self.spawn_functions) - { - if(var_07["function"] == param_00) - { - return; - } - } - - var_09 = []; - var_09["function"] = param_00; - var_09["param1"] = param_01; - var_09["param2"] = param_02; - var_09["param3"] = param_03; - var_09["param4"] = param_04; - var_09["param5"] = param_05; - self.spawn_functions[self.spawn_functions.size] = var_09; -} - -//Function Number: 315 -array_delete(param_00) -{ - for(var_01 = 0;var_01 < param_00.size;var_01++) - { - param_00[var_01] delete(); - } -} - -//Function Number: 316 -array_kill(param_00) -{ - for(var_01 = 0;var_01 < param_00.size;var_01++) - { - param_00[var_01] kill(); - } -} - -//Function Number: 317 -ignore_triggers(param_00) -{ - self endon("death"); - self.ignoretriggers = 1; - if(isdefined(param_00)) - { - wait(param_00); - } - else - { - wait(0.5); - } - - self.ignoretriggers = 0; -} - -//Function Number: 318 -activate_trigger_with_targetname(param_00) -{ - var_01 = getent(param_00,"targetname"); - var_01 activate_trigger(); -} - -//Function Number: 319 -activate_trigger_with_noteworthy(param_00) -{ - var_01 = getent(param_00,"script_noteworthy"); - var_01 activate_trigger(); -} - -//Function Number: 320 -disable_trigger_with_targetname(param_00) -{ - var_01 = getent(param_00,"targetname"); - var_01 common_scripts\utility::trigger_off(); -} - -//Function Number: 321 -disable_trigger_with_noteworthy(param_00) -{ - var_01 = getent(param_00,"script_noteworthy"); - var_01 common_scripts\utility::trigger_off(); -} - -//Function Number: 322 -enable_trigger_with_targetname(param_00) -{ - var_01 = getent(param_00,"targetname"); - var_01 common_scripts\utility::trigger_on(); -} - -//Function Number: 323 -enable_trigger_with_noteworthy(param_00) -{ - var_01 = getent(param_00,"script_noteworthy"); - var_01 common_scripts\utility::trigger_on(); -} - -//Function Number: 324 -is_hero() -{ - return isdefined(level.hero_list[get_ai_number()]); -} - -//Function Number: 325 -get_ai_number() -{ - if(!isdefined(self.unique_id)) - { - set_ai_number(); - } - - return self.unique_id; -} - -//Function Number: 326 -set_ai_number() -{ - self.unique_id = "ai" + level.ai_number; - level.ai_number++; -} - -//Function Number: 327 -make_hero() -{ - level.hero_list[self.unique_id] = 1; -} - -//Function Number: 328 -unmake_hero() -{ - level.hero_list[self.unique_id] = undefined; -} - -//Function Number: 329 -get_heroes() -{ - var_00 = []; - var_01 = getaiarray("allies"); - for(var_02 = 0;var_02 < var_01.size;var_02++) - { - if(var_01[var_02] is_hero()) - { - var_00[var_00.size] = var_01[var_02]; - } - } - - return var_00; -} - -//Function Number: 330 -set_team_pacifist(param_00,param_01) -{ - var_02 = getaiarray(param_00); - for(var_03 = 0;var_03 < var_02.size;var_03++) - { - var_02[var_03].pacifist = param_01; - } -} - -//Function Number: 331 -remove_dead_from_array(param_00) -{ - var_01 = []; - foreach(var_03 in param_00) - { - if(!isalive(var_03)) - { - continue; - } - - var_01[var_01.size] = var_03; - } - - return var_01; -} - -//Function Number: 332 -remove_heroes_from_array(param_00) -{ - var_01 = []; - for(var_02 = 0;var_02 < param_00.size;var_02++) - { - if(param_00[var_02] is_hero()) - { - continue; - } - - var_01[var_01.size] = param_00[var_02]; - } - - return var_01; -} - -//Function Number: 333 -remove_color_from_array(param_00,param_01) -{ - var_02 = []; - for(var_03 = 0;var_03 < param_00.size;var_03++) - { - var_04 = param_00[var_03]; - if(!isdefined(var_04.script_forcecolor)) - { - continue; - } - - if(var_04.script_forcecolor == param_01) - { - continue; - } - - var_02[var_02.size] = var_04; - } - - return var_02; -} - -//Function Number: 334 -remove_noteworthy_from_array(param_00,param_01) -{ - var_02 = []; - for(var_03 = 0;var_03 < param_00.size;var_03++) - { - var_04 = param_00[var_03]; - if(!isdefined(var_04.script_noteworthy)) - { - continue; - } - - if(var_04.script_noteworthy == param_01) - { - continue; - } - - var_02[var_02.size] = var_04; - } - - return var_02; -} - -//Function Number: 335 -get_closest_colored_friendly(param_00,param_01) -{ - var_02 = get_force_color_guys("allies",param_00); - var_02 = remove_heroes_from_array(var_02); - if(!isdefined(param_01)) - { - var_03 = level.player.origin; - } - else - { - var_03 = var_02; - } - - return common_scripts\utility::getclosest(var_03,var_02); -} - -//Function Number: 336 -remove_without_classname(param_00,param_01) -{ - var_02 = []; - for(var_03 = 0;var_03 < param_00.size;var_03++) - { - if(!issubstr(param_00[var_03].classname,param_01)) - { - continue; - } - - var_02[var_02.size] = param_00[var_03]; - } - - return var_02; -} - -//Function Number: 337 -remove_without_model(param_00,param_01) -{ - var_02 = []; - for(var_03 = 0;var_03 < param_00.size;var_03++) - { - if(!issubstr(param_00[var_03].model,param_01)) - { - continue; - } - - var_02[var_02.size] = param_00[var_03]; - } - - return var_02; -} - -//Function Number: 338 -get_closest_colored_friendly_with_classname(param_00,param_01,param_02) -{ - var_03 = get_force_color_guys("allies",param_00); - var_03 = remove_heroes_from_array(var_03); - if(!isdefined(param_02)) - { - var_04 = level.player.origin; - } - else - { - var_04 = var_03; - } - - var_03 = remove_without_classname(var_03,param_01); - return common_scripts\utility::getclosest(var_04,var_03); -} - -//Function Number: 339 -promote_nearest_friendly(param_00,param_01) -{ - for(;;) - { - var_02 = get_closest_colored_friendly(param_00); - if(!isalive(var_02)) - { - wait(1); - continue; - } - - var_02 set_force_color(param_01); - } -} - -//Function Number: 340 -instantly_promote_nearest_friendly(param_00,param_01) -{ - for(;;) - { - var_02 = get_closest_colored_friendly(param_00); - if(!isalive(var_02)) - { - return; - } - - var_02 set_force_color(param_01); - } -} - -//Function Number: 341 -instantly_promote_nearest_friendly_with_classname(param_00,param_01,param_02) -{ - for(;;) - { - var_03 = get_closest_colored_friendly_with_classname(param_00,param_02); - if(!isalive(var_03)) - { - return; - } - - var_03 set_force_color(param_01); - } -} - -//Function Number: 342 -promote_nearest_friendly_with_classname(param_00,param_01,param_02) -{ - for(;;) - { - var_03 = get_closest_colored_friendly_with_classname(param_00,param_02); - if(!isalive(var_03)) - { - wait(1); - continue; - } - - var_03 set_force_color(param_01); - } -} - -//Function Number: 343 -riotshield_lock_orientation(param_00) -{ - self orientmode("face angle",param_00); - self.lockorientation = 1; -} - -//Function Number: 344 -riotshield_unlock_orientation() -{ - self.lockorientation = 0; -} - -//Function Number: 345 -instantly_set_color_from_array_with_classname(param_00,param_01,param_02) -{ - var_03 = 0; - var_04 = []; - for(var_05 = 0;var_05 < param_00.size;var_05++) - { - var_06 = param_00[var_05]; - if(var_03 || !issubstr(var_06.classname,param_02)) - { - var_04[var_04.size] = var_06; - continue; - } - - var_03 = 1; - var_06 set_force_color(param_01); - } - - return var_04; -} - -//Function Number: 346 -instantly_set_color_from_array(param_00,param_01) -{ - var_02 = 0; - var_03 = []; - for(var_04 = 0;var_04 < param_00.size;var_04++) - { - var_05 = param_00[var_04]; - if(var_02) - { - var_03[var_03.size] = var_05; - continue; - } - - var_02 = 1; - var_05 set_force_color(param_01); - } - - return var_03; -} - -//Function Number: 347 -wait_for_script_noteworthy_trigger(param_00) -{ - maps\_utility_code::wait_for_trigger(param_00,"script_noteworthy"); -} - -//Function Number: 348 -wait_for_targetname_trigger(param_00) -{ - maps\_utility_code::wait_for_trigger(param_00,"targetname"); -} - -//Function Number: 349 -wait_for_flag_or_timeout(param_00,param_01) -{ - if(common_scripts\utility::flag(param_00)) - { - return; - } - - level endon(param_00); - wait(param_01); -} - -//Function Number: 350 -wait_for_notify_or_timeout(param_00,param_01) -{ - self endon(param_00); - wait(param_01); -} - -//Function Number: 351 -wait_for_trigger_or_timeout(param_00) -{ - self endon("trigger"); - wait(param_00); -} - -//Function Number: 352 -wait_for_either_trigger(param_00,param_01) -{ - var_02 = spawnstruct(); - var_03 = []; - var_03 = common_scripts\utility::array_combine(var_03,getentarray(param_00,"targetname")); - var_03 = common_scripts\utility::array_combine(var_03,getentarray(param_01,"targetname")); - for(var_04 = 0;var_04 < var_03.size;var_04++) - { - var_02 thread maps\_utility_code::ent_waits_for_trigger(var_03[var_04]); - } - - var_02 waittill("done"); -} - -//Function Number: 353 -dronespawn_bodyonly(param_00) -{ - var_01 = maps\_spawner::spawner_dronespawn(param_00); - return var_01; -} - -//Function Number: 354 -dronespawn(param_00) -{ - if(!isdefined(param_00)) - { - param_00 = self; - } - - var_01 = maps\_spawner::spawner_dronespawn(param_00); - var_01 [[ level.drone_spawn_func ]](); - var_01.spawn_funcs = param_00.spawn_functions; - var_01 thread maps\_spawner::run_spawn_functions(); - var_01.spawner = param_00; - return var_01; -} - -//Function Number: 355 -swap_ai_to_drone(param_00) -{ - return maps\_spawner::spawner_swap_ai_to_drone(param_00); -} - -//Function Number: 356 -swap_drone_to_ai(param_00) -{ - return maps\_spawner::spawner_swap_drone_to_ai(param_00); -} - -//Function Number: 357 -get_trigger_flag() -{ - if(isdefined(self.script_flag)) - { - return self.script_flag; - } - - if(isdefined(self.script_noteworthy)) - { - return self.script_noteworthy; - } -} - -//Function Number: 358 -set_default_pathenemy_settings() -{ - self.pathenemylookahead = 192; - self.pathenemyfightdist = 192; -} - -//Function Number: 359 -cqb_walk(param_00) -{ - if(param_00 == "on") - { - enable_cqbwalk(); - return; - } - - disable_cqbwalk(); -} - -//Function Number: 360 -enable_cqbwalk(param_00) -{ - if(self.type == "dog") - { - return; - } - - if(!isdefined(param_00)) - { - self.cqbenabled = 1; - } - - self.cqbwalking = 1; - self.turnrate = 0.2; - level thread animscripts\cqb::findcqbpointsofinterest(); -} - -//Function Number: 361 -disable_cqbwalk() -{ - if(self.type == "dog") - { - return; - } - - self.cqbwalking = undefined; - self.cqbenabled = undefined; - self.turnrate = 0.3; - self.cqb_point_of_interest = undefined; -} - -//Function Number: 362 -enable_readystand() -{ - self.busereadyidle = 1; -} - -//Function Number: 363 -disable_readystand() -{ - self.busereadyidle = undefined; -} - -//Function Number: 364 -cqb_aim(param_00) -{ - if(!isdefined(param_00)) - { - self.cqb_target = undefined; - return; - } - - self.cqb_target = param_00; - if(!isdefined(param_00.origin)) - { - } -} - -//Function Number: 365 -set_force_cover(param_00) -{ - if(isdefined(param_00) && param_00) - { - self.forcesuppression = 1; - return; - } - - self.forcesuppression = undefined; -} - -//Function Number: 366 -do_in_order(param_00,param_01,param_02,param_03) -{ - if(isdefined(param_01)) - { - [[ param_00 ]](param_01); - } - else - { - [[ param_00 ]](); - } - - if(isdefined(param_03)) - { - [[ param_02 ]](param_03); - return; - } - - [[ param_02 ]](); -} - -//Function Number: 367 -send_notify(param_00,param_01) -{ - if(isdefined(param_01)) - { - self notify(param_00,param_01); - return; - } - - self notify(param_00); -} - -//Function Number: 368 -waittill_match_or_timeout(param_00,param_01,param_02) -{ - var_03 = spawnstruct(); - var_03 endon("complete"); - var_03 delaythread(param_02,::send_notify,"complete"); - self waittillmatch(param_01,param_00); -} - -//Function Number: 369 -deleteent(param_00) -{ - param_00 notify("deleted"); - param_00 delete(); -} - -//Function Number: 370 -first_touch(param_00) -{ - if(!isdefined(self.touched)) - { - self.touched = []; - } - - if(isdefined(self.touched[param_00.unique_id])) - { - return 0; - } - - self.touched[param_00.unique_id] = 1; - return 1; -} - -//Function Number: 371 -getanim(param_00) -{ - return level.scr_anim[self.animname][param_00]; -} - -//Function Number: 372 -hasanim(param_00) -{ - return isdefined(level.scr_anim[self.animname][param_00]); -} - -//Function Number: 373 -getanim_from_animname(param_00,param_01) -{ - return level.scr_anim[param_01][param_00]; -} - -//Function Number: 374 -getanim_generic(param_00) -{ - return level.scr_anim["generic"][param_00]; -} - -//Function Number: 375 -add_hint_string(param_00,param_01,param_02) -{ - if(!isdefined(level.trigger_hint_string)) - { - level.trigger_hint_string = []; - level.trigger_hint_func = []; - } - - level.trigger_hint_string[param_00] = param_01; - precachestring(param_01); - if(isdefined(param_02)) - { - level.trigger_hint_func[param_00] = param_02; - } -} - -//Function Number: 376 -show_hint(param_00) -{ - thread maps\_utility_code::showhintprint_struct(param_00); -} - -//Function Number: 377 -hide_hint(param_00) -{ - param_00.timeout = 1; -} - -//Function Number: 378 -fire_radius(param_00,param_01) -{ - var_02 = spawn("trigger_radius",param_00,0,param_01,48); - for(;;) - { - var_02 waittill("trigger",var_03); - level.player dodamage(5,param_00); - } -} - -//Function Number: 379 -clearthreatbias(param_00,param_01) -{ - setthreatbias(param_00,param_01,0); - setthreatbias(param_01,param_00,0); -} - -//Function Number: 380 -throwgrenadeatplayerasap() -{ - animscripts\combat_utility::throwgrenadeatplayerasap_combat_utility(); -} - -//Function Number: 381 -array_combine_keys(param_00,param_01) -{ - if(!param_00.size) - { - return param_01; - } - - var_02 = getarraykeys(param_01); - for(var_03 = 0;var_03 < var_02.size;var_03++) - { - param_00[var_02[var_03]] = param_01[var_02[var_03]]; - } - - return param_00; -} - -//Function Number: 382 -set_ignoresuppression(param_00) -{ - self.ignoresuppression = param_00; -} - -//Function Number: 383 -set_goalradius(param_00) -{ - self.goalradius = param_00; -} - -//Function Number: 384 -try_forever_spawn() -{ - var_00 = self.export; - for(;;) - { - var_01 = self dospawn(); - if(spawn_failed(var_01)) - { - wait(1); - continue; - } - - return var_01; - } -} - -//Function Number: 385 -set_allowdeath(param_00) -{ - self.allowdeath = param_00; -} - -//Function Number: 386 -set_run_anim(param_00,param_01) -{ - if(isdefined(param_01)) - { - self.alwaysrunforward = param_01; - } - else - { - self.alwaysrunforward = 1; - } - - disable_turnanims(); - self.run_overrideanim = level.scr_anim[self.animname][param_00]; - self.walk_overrideanim = self.run_overrideanim; -} - -//Function Number: 387 -set_dog_walk_anim() -{ - self.a.movement = "walk"; - self.disablearrivals = 1; - self.disableexits = 1; - self.script_nobark = 1; -} - -//Function Number: 388 -set_combat_stand_animset(param_00,param_01,param_02,param_03) -{ - animscripts\animset::init_animset_custom_stand(param_00,param_01,param_02,param_03); -} - -//Function Number: 389 -set_move_animset(param_00,param_01,param_02) -{ - var_03 = animscripts\utility::lookupanimarray(param_00); - if(isarray(param_01)) - { - var_03["straight"] = param_01[0]; - var_03["move_f"] = param_01[0]; - var_03["move_l"] = param_01[1]; - var_03["move_r"] = param_01[2]; - var_03["move_b"] = param_01[3]; - } - else - { - var_03["straight"] = param_01; - var_03["move_f"] = param_01; - } - - if(isdefined(param_02)) - { - var_03["sprint"] = param_02; - } - - self.custommoveanimset[param_00] = var_03; -} - -//Function Number: 390 -set_generic_idle_anim(param_00) -{ - var_01 = level.scr_anim["generic"][param_00]; - if(isarray(var_01)) - { - self.specialidleanim = var_01; - return; - } - - self.specialidleanim[0] = var_01; -} - -//Function Number: 391 -set_idle_anim(param_00) -{ - var_01 = level.scr_anim[self.animname][param_00]; - if(isarray(var_01)) - { - self.specialidleanim = var_01; - return; - } - - self.specialidleanim[0] = var_01; -} - -//Function Number: 392 -clear_generic_idle_anim() -{ - self.specialidleanim = undefined; - self notify("stop_specialidle"); -} - -//Function Number: 393 -set_generic_run_anim(param_00,param_01) -{ - set_generic_run_anim_array(param_00,undefined,param_01); -} - -//Function Number: 394 -clear_generic_run_anim() -{ - self notify("movemode"); - enable_turnanims(); - self.run_overrideanim = undefined; - self.walk_overrideanim = undefined; -} - -//Function Number: 395 -set_generic_run_anim_array(param_00,param_01,param_02) -{ - self notify("movemode"); - if(!isdefined(param_02) || param_02) - { - self.alwaysrunforward = 1; - } - else - { - self.alwaysrunforward = undefined; - } - - disable_turnanims(); - self.run_overrideanim = level.scr_anim["generic"][param_00]; - self.walk_overrideanim = self.run_overrideanim; - if(isdefined(param_01)) - { - self.run_override_weights = level.scr_anim["generic"][param_01]; - self.walk_override_weights = self.run_override_weights; - return; - } - - self.run_override_weights = undefined; - self.walk_override_weights = undefined; -} - -//Function Number: 396 -set_run_anim_array(param_00,param_01,param_02) -{ - self notify("movemode"); - if(!isdefined(param_02) || param_02) - { - self.alwaysrunforward = 1; - } - else - { - self.alwaysrunforward = undefined; - } - - disable_turnanims(); - self.run_overrideanim = level.scr_anim[self.animname][param_00]; - self.walk_overrideanim = self.run_overrideanim; - if(isdefined(param_01)) - { - self.run_override_weights = level.scr_anim[self.animname][param_01]; - self.walk_override_weights = self.run_override_weights; - return; - } - - self.run_override_weights = undefined; - self.walk_override_weights = undefined; -} - -//Function Number: 397 -clear_run_anim() -{ - self notify("clear_run_anim"); - self notify("movemode"); - if(self.type == "dog") - { - self.a.movement = "run"; - self.disablearrivals = 0; - self.disableexits = 0; - self.script_nobark = undefined; - return; - } - - if(!isdefined(self.casual_killer)) - { - enable_turnanims(); - } - - self.alwaysrunforward = undefined; - self.run_overrideanim = undefined; - self.walk_overrideanim = undefined; - self.run_override_weights = undefined; - self.walk_override_weights = undefined; -} - -//Function Number: 398 -debugvar(param_00,param_01) -{ - setdvarifuninitialized(param_00,param_01); - return getdvarfloat(param_00); -} - -//Function Number: 399 -physicsjolt_proximity(param_00,param_01,param_02) -{ - self endon("death"); - self endon("stop_physicsjolt"); - if(!isdefined(param_00) || !isdefined(param_01) || !isdefined(param_02)) - { - param_00 = 400; - param_01 = 256; - param_02 = (0,0,0.075); - } - - var_03 = param_00 * param_00; - var_04 = 3; - var_05 = param_02; - for(;;) - { - wait(0.1); - param_02 = var_05; - if(self.code_classname == "script_vehicle") - { - var_06 = self vehicle_getspeed(); - if(var_06 < var_04) - { - var_07 = var_06 / var_04; - param_02 = var_05 * var_07; - } - } - - var_08 = distancesquared(self.origin,level.player.origin); - var_07 = var_03 / var_08; - if(var_07 > 1) - { - var_07 = 1; - } - - param_02 = param_02 * var_07; - var_09 = param_02[0] + param_02[1] + param_02[2]; - if(var_09 > 0.025) - { - physicsjitter(self.origin,param_00,param_01,param_02[2],param_02[2] * 2); - } - } -} - -//Function Number: 400 -set_goal_entity(param_00) -{ - self setgoalentity(param_00); -} - -//Function Number: 401 -activate_trigger(param_00,param_01,param_02) -{ - if(!isdefined(param_00)) - { - activate_trigger_process(param_02); - return; - } - - common_scripts\utility::array_thread(getentarray(param_00,param_01),::activate_trigger_process,param_02); -} - -//Function Number: 402 -activate_trigger_process(param_00) -{ - self notify("trigger",param_00); -} - -//Function Number: 403 -self_delete() -{ - self delete(); -} - -//Function Number: 404 -remove_nocolor_from_array(param_00) -{ - var_01 = []; - for(var_02 = 0;var_02 < param_00.size;var_02++) - { - var_03 = param_00[var_02]; - if(var_03 has_color()) - { - var_01[var_01.size] = var_03; - } - } - - return var_01; -} - -//Function Number: 405 -clear_colors() -{ - clear_team_colors("axis"); - clear_team_colors("allies"); -} - -//Function Number: 406 -clear_team_colors(param_00) -{ - level.currentcolorforced[param_00]["r"] = undefined; - level.currentcolorforced[param_00]["b"] = undefined; - level.currentcolorforced[param_00]["c"] = undefined; - level.currentcolorforced[param_00]["y"] = undefined; - level.currentcolorforced[param_00]["p"] = undefined; - level.currentcolorforced[param_00]["o"] = undefined; - level.currentcolorforced[param_00]["g"] = undefined; -} - -//Function Number: 407 -get_script_palette() -{ - var_00 = []; - var_00["r"] = (1,0,0); - var_00["o"] = (1,0.5,0); - var_00["y"] = (1,1,0); - var_00["g"] = (0,1,0); - var_00["c"] = (0,1,1); - var_00["b"] = (0,0,1); - var_00["p"] = (1,0,1); - return var_00; -} - -//Function Number: 408 -notify_delay(param_00,param_01) -{ - self endon("death"); - if(param_01 > 0) - { - wait(param_01); - } - - if(!isdefined(self)) - { - return; - } - - self notify(param_00); -} - -//Function Number: 409 -gun_remove() -{ - if(isai(self)) - { - animscripts\shared::placeweaponon(self.weapon,"none"); - return; - } - - detach_attachments_from_weapon_model(self.weapon); - self detach(getweaponmodel(self.weapon),"tag_weapon_right"); -} - -//Function Number: 410 -gun_recall() -{ - if(isai(self)) - { - animscripts\shared::placeweaponon(self.weapon,"right"); - return; - } - - self attach(getweaponmodel(self.weapon),"tag_weapon_right"); - update_weapon_tag_visibility(self.weapon); -} - -//Function Number: 411 -update_weapon_tag_visibility(param_00) -{ - if(isdefined(param_00) && param_00 != "none") - { - var_01 = getweaponandattachmentmodels(param_00); - var_02 = array_remove_index(var_01,0); - foreach(var_04 in var_02) - { - self attach(var_04["worldModel"],var_04["attachTag"]); - } - - self hideweapontags(param_00); - } -} - -//Function Number: 412 -detach_attachments_from_weapon_model(param_00) -{ - if(isdefined(param_00) && param_00 != "none") - { - var_01 = getweaponandattachmentmodels(param_00); - var_02 = array_remove_index(var_01,0); - foreach(var_04 in var_02) - { - self detach(var_04["worldModel"],var_04["attachTag"],0); - } - } -} - -//Function Number: 413 -attach_player_current_weapon_to_rig(param_00) -{ - var_01 = level.player getcurrentweapon(); - var_02 = getweaponandattachmentmodels(var_01); - var_03 = var_02[0]["weapon"]; - var_04 = array_remove_index(var_02,0); - param_00 attach(var_03,"TAG_WEAPON_RIGHT",1); - foreach(var_06 in var_04) - { - param_00 attach(var_06["attachment"],var_06["attachTag"]); - } - - param_00 hideweapontags(var_01); -} - -//Function Number: 414 -place_weapon_on(param_00,param_01) -{ - if(!animscripts\utility::aihasweapon(param_00)) - { - animscripts\init::initweapon(param_00); - } - - animscripts\shared::placeweaponon(param_00,param_01); -} - -//Function Number: 415 -forceuseweapon(param_00,param_01) -{ - if(!animscripts\init::isweaponinitialized(param_00)) - { - animscripts\init::initweapon(param_00); - } - - var_02 = self.weapon != "none"; - var_03 = animscripts\utility::usingsidearm(); - var_04 = param_01 == "sidearm"; - var_05 = param_01 == "secondary"; - if(var_02 && var_03 != var_04) - { - if(var_03) - { - var_06 = "none"; - } - else if(var_06) - { - var_06 = "back"; - } - else - { - var_06 = "chest"; - } - - animscripts\shared::placeweaponon(self.weapon,var_06); - self.lastweapon = self.weapon; - } - else - { - self.lastweapon = param_00; - } - - animscripts\shared::placeweaponon(param_00,"right"); - if(var_04) - { - self.sidearm = param_00; - } - else if(var_05) - { - self.secondaryweapon = param_00; - } - else - { - self.primaryweapon = param_00; - } - - self.weapon = param_00; - self.bulletsinclip = weaponclipsize(self.weapon); - self notify("weapon_switch_done"); -} - -//Function Number: 416 -lerp_player_view_to_tag(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - maps\_utility_code::lerp_player_view_to_tag_internal(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,0); -} - -//Function Number: 417 -lerp_player_view_to_tag_and_hit_geo(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - maps\_utility_code::lerp_player_view_to_tag_internal(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,1); -} - -//Function Number: 418 -lerp_player_view_to_position(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) -{ - param_09 = get_player_from_self(); - var_0A = spawn("script_origin",(0,0,0)); - var_0A.origin = param_09.origin; - var_0A.angles = param_09 getplayerangles(); - if(isdefined(param_08) && param_08) - { - param_09 playerlinkto(var_0A,"",param_03,param_04,param_05,param_06,param_07,param_08); - } - else if(isdefined(param_04)) - { - param_09 playerlinkto(var_0A,"",param_03,param_04,param_05,param_06,param_07); - } - else if(isdefined(param_03)) - { - param_09 playerlinkto(var_0A,"",param_03); - } - else - { - param_09 playerlinkto(var_0A); - } - - var_0A moveto(param_00,param_02,param_02 * 0.25); - var_0A rotateto(param_01,param_02,param_02 * 0.25); - wait(param_02); - var_0A delete(); -} - -//Function Number: 419 -lerp_player_view_to_tag_oldstyle(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - maps\_utility_code::lerp_player_view_to_tag_oldstyle_internal(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,0); -} - -//Function Number: 420 -lerp_player_view_to_position_oldstyle(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) -{ - var_09 = get_player_from_self(); - var_0A = spawn("script_origin",(0,0,0)); - var_0A.origin = var_09 get_player_feet_from_view(); - var_0A.angles = var_09 getplayerangles(); - if(isdefined(param_08)) - { - var_09 playerlinktodelta(var_0A,"",param_03,param_04,param_05,param_06,param_07,param_08); - } - else if(isdefined(param_04)) - { - var_09 playerlinktodelta(var_0A,"",param_03,param_04,param_05,param_06,param_07); - } - else if(isdefined(param_03)) - { - var_09 playerlinktodelta(var_0A,"",param_03); - } - else - { - var_09 playerlinktodelta(var_0A); - } - - var_0A moveto(param_00,param_02,param_02 * 0.25); - var_0A rotateto(param_01,param_02,param_02 * 0.25); - wait(param_02); - var_0A delete(); -} - -//Function Number: 421 -player_moves(param_00) -{ - var_01 = level.player.origin; - for(;;) - { - if(distance(var_01,level.player.origin) > param_00) - { - break; - } - - wait(0.05); - } -} - -//Function Number: 422 -waittill_either_function(param_00,param_01,param_02,param_03) -{ - var_04 = spawnstruct(); - thread maps\_utility_code::waittill_either_function_internal(var_04,param_00,param_01); - thread maps\_utility_code::waittill_either_function_internal(var_04,param_02,param_03); - var_04 waittill("done"); -} - -//Function Number: 423 -waittill_msg(param_00) -{ - self waittill(param_00); -} - -//Function Number: 424 -display_hint(param_00,param_01,param_02,param_03,param_04) -{ - var_05 = get_player_from_self(); - if(isdefined(level.trigger_hint_func[param_00])) - { - if(var_05 [[ level.trigger_hint_func[param_00] ]]()) - { - return; - } - - var_05 thread maps\_utility_code::hintprint(level.trigger_hint_string[param_00],level.trigger_hint_func[param_00],param_01,param_02,param_03,undefined,undefined,param_04); - return; - } - - var_05 thread maps\_utility_code::hintprint(level.trigger_hint_string[param_00],undefined,undefined,undefined,undefined,undefined,undefined,param_04); -} - -//Function Number: 425 -hintdisplayhandler(param_00,param_01,param_02,param_03,param_04,param_05) -{ - maps\_utility_code::hintdisplayhandlersetup(param_00); - if(!isdefined(param_01)) - { - display_hint(param_00,param_02,param_03,param_04,param_05); - return; - } - - display_hint_timeout(param_00,param_01,param_02,param_03,param_04,param_05); -} - -//Function Number: 426 -hintdisplaymintimehandler(param_00,param_01,param_02,param_03,param_04,param_05) -{ - var_06 = get_player_from_self(); - if(var_06 [[ level.trigger_hint_func[param_00] ]]()) - { - return; - } - - maps\_utility_code::hintdisplayhandlersetup(param_00); - var_06 thread maps\_utility_code::hintprint(level.trigger_hint_string[param_00],level.trigger_hint_func[param_00],param_03,param_04,param_05,param_01,param_02); -} - -//Function Number: 427 -add_control_based_hint_strings(param_00,param_01,param_02,param_03,param_04) -{ - if(!isdefined(level.trigger_hint_string)) - { - level.trigger_hint_string = []; - level.trigger_hint_func = []; - } - - level.trigger_hint_string[param_00] = param_01; - level.hint_list[param_00]["gamepad"] = param_01; - level.hint_list[param_00]["pc"] = param_03; - level.hint_list[param_00]["southpaw"] = param_04; - precachestring(param_01); - if(isdefined(param_03)) - { - precachestring(param_03); - } - - if(isdefined(param_04)) - { - precachestring(param_04); - } - - if(isdefined(param_02)) - { - level.trigger_hint_func[param_00] = param_02; - } -} - -//Function Number: 428 -handletriggerhintinputtypetext() -{ - if(!isdefined(level.hint_triggers)) - { - level.hint_triggers = []; - } - - for(;;) - { - level.hint_triggers = common_scripts\utility::array_removeundefined(level.hint_triggers); - if(isdefined(level.hint_triggers) && isdefined(level.player)) - { - foreach(var_01 in level.hint_triggers) - { - if(level.player common_scripts\utility::is_player_gamepad_enabled()) - { - var_01 sethintstring(var_01.gp_hint_text); - continue; - } - - var_01 sethintstring(var_01.pc_hint_text); - } - } - - wait(0.1); - } -} - -//Function Number: 429 -addhinttrigger(param_00,param_01) -{ - if(!isdefined(level.hint_triggers)) - { - thread handletriggerhintinputtypetext(); - level.hint_triggers = []; - } - - var_02 = 0; - foreach(var_04 in level.hint_triggers) - { - if(self == var_04) - { - var_04.gp_hint_text = param_00; - var_04.pc_hint_text = param_01; - var_02 = 1; - break; - } - } - - if(!var_02) - { - self.gp_hint_text = param_00; - self.pc_hint_text = param_01; - level.hint_triggers = common_scripts\utility::array_add(level.hint_triggers,self); - } -} - -//Function Number: 430 -display_hint_timeout(param_00,param_01,param_02,param_03,param_04,param_05) -{ - var_06 = get_player_from_self(); - if(var_06 [[ level.trigger_hint_func[param_00] ]]()) - { - return; - } - - var_06 thread maps\_utility_code::hintprint(level.trigger_hint_string[param_00],level.trigger_hint_func[param_00],param_02,param_03,param_04,param_01,undefined,param_05); -} - -//Function Number: 431 -display_hint_timeout_mintime(param_00,param_01,param_02,param_03,param_04,param_05) -{ - var_06 = get_player_from_self(); - if(var_06 [[ level.trigger_hint_func[param_00] ]]()) - { - return; - } - - var_06 thread maps\_utility_code::hintprint(level.trigger_hint_string[param_00],level.trigger_hint_func[param_00],param_03,param_04,param_05,param_01,param_02); -} - -//Function Number: 432 -display_hint_stick(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) -{ - if(!isdefined(param_06)) - { - param_06 = 0; - } - - var_0A = maps\_utility_code::hint_stick_get_updated(param_00,param_01,param_02,param_03,param_04,param_05,param_06); - thread display_hint(var_0A,param_07,param_08,param_09); - thread maps\_utility_code::hint_stick_update(param_00,param_01,param_02,param_03,param_04,param_05,param_06); -} - -//Function Number: 433 -display_hint_stick_timeout(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A) -{ - if(!isdefined(param_07)) - { - param_07 = 0; - } - - var_0B = maps\_utility_code::hint_stick_get_updated(param_00,param_02,param_03,param_04,param_05,param_06,param_07); - thread display_hint_timeout(var_0B,param_01,param_08,param_09,param_0A); - thread maps\_utility_code::hint_stick_update(param_00,param_02,param_03,param_04,param_05,param_06,param_07); -} - -//Function Number: 434 -display_hint_stick_timeout_mintime(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B) -{ - if(!isdefined(param_08)) - { - param_08 = 0; - } - - var_0C = maps\_utility_code::hint_stick_get_updated(param_00,param_03,param_04,param_05,param_06,param_07,param_08); - thread display_hint_timeout_mintime(var_0C,param_01,param_02,param_09,param_0A,param_0B); - thread maps\_utility_code::hint_stick_update(param_00,param_03,param_04,param_05,param_06,param_07,param_08); -} - -//Function Number: 435 -check_hint_condition(param_00,param_01,param_02,param_03) -{ - if(isdefined(param_03)) - { - return [[ level.trigger_hint_func[param_00] ]](param_01,param_02,param_03); - } - - if(isdefined(param_02)) - { - return [[ level.trigger_hint_func[param_00] ]](param_01,param_02); - } - - if(isdefined(param_01)) - { - return [[ level.trigger_hint_func[param_00] ]](param_01); - } - - return [[ level.trigger_hint_func[param_00] ]](); -} - -//Function Number: 436 -getgenericanim(param_00) -{ - return level.scr_anim["generic"][param_00]; -} - -//Function Number: 437 -enable_careful() -{ - self.script_careful = 1; -} - -//Function Number: 438 -disable_careful() -{ - self.script_careful = 0; - self notify("stop_being_careful"); -} - -//Function Number: 439 -enable_sprint() -{ - self.sprint = 1; -} - -//Function Number: 440 -disable_sprint() -{ - self.sprint = undefined; -} - -//Function Number: 441 -disable_bulletwhizbyreaction() -{ - self.disablebulletwhizbyreaction = 1; -} - -//Function Number: 442 -enable_bulletwhizbyreaction() -{ - self.disablebulletwhizbyreaction = undefined; -} - -//Function Number: 443 -clear_dvar(param_00) -{ - setdvar(param_00,""); -} - -//Function Number: 444 -set_fixednode_true() -{ - self.fixednode = 1; -} - -//Function Number: 445 -set_fixednode_false() -{ - self.fixednode = 0; -} - -//Function Number: 446 -spawn_ai(param_00,param_01) -{ - if(isdefined(self.script_delay_spawn)) - { - self endon("death"); - wait(self.script_delay_spawn); - } - - var_02 = undefined; - var_03 = isdefined(self.script_stealth) && common_scripts\utility::flag("_stealth_enabled") && !common_scripts\utility::flag("_stealth_spotted"); - if(isdefined(self.script_forcespawn) || isdefined(param_00)) - { - if(!isdefined(self.script_drone)) - { - var_02 = self stalingradspawn(var_03); - } - else - { - var_02 = dronespawn(self); - } - } - else if(!isdefined(self.script_drone)) - { - var_02 = self dospawn(var_03); - } - else - { - var_02 = dronespawn(self); - } - - if(isdefined(param_01) && param_01 && isalive(var_02)) - { - var_02 magic_bullet_shield(); - } - - if(!isdefined(self.script_drone)) - { - spawn_failed(var_02); - } - - if(isdefined(self.script_spawn_once)) - { - self delete(); - } - - if(isdefined(var_02)) - { - var_02.spawner = self; - } - - if(isdefined(var_02) && !isdefined(var_02.targetname)) - { - if(isdefined(self.targetname)) - { - var_02.targetname = self.targetname + "_AI"; - } - } - - return var_02; -} - -//Function Number: 447 -function_stack(param_00,param_01,param_02,param_03,param_04,param_05) -{ - var_06 = spawnstruct(); - var_06 thread maps\_utility_code::function_stack_proc(self,param_00,param_01,param_02,param_03,param_04,param_05); - return maps\_utility_code::function_stack_wait_finish(var_06); -} - -//Function Number: 448 -function_stack_timeout(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - var_07 = spawnstruct(); - var_07 thread maps\_utility_code::function_stack_proc(self,param_01,param_02,param_03,param_04,param_05,param_06); - if(isdefined(var_07.function_stack_func_begun) || var_07 common_scripts\utility::waittill_any_timeout(param_00,"function_stack_func_begun") != "timeout") - { - return maps\_utility_code::function_stack_wait_finish(var_07); - } - - var_07 notify("death"); - return 0; -} - -//Function Number: 449 -function_stack_clear() -{ - var_00 = []; - if(isdefined(self.function_stack[0]) && isdefined(self.function_stack[0].function_stack_func_begun)) - { - var_00[0] = self.function_stack[0]; - } - - self.function_stack = undefined; - self notify("clear_function_stack"); - waittillframeend; - if(!var_00.size) - { - return; - } - - if(!var_00[0].function_stack_func_begun) - { - return; - } - - self.function_stack = var_00; -} - -//Function Number: 450 -geo_off() -{ - if(isdefined(self.geo_off)) - { - return; - } - - self.realorigin = self getorigin(); - self moveto(self.realorigin + (0,0,-10000),0.2); - self.geo_off = 1; -} - -//Function Number: 451 -geo_on() -{ - if(!isdefined(self.geo_off)) - { - return; - } - - self moveto(self.realorigin,0.2); - self waittill("movedone"); - self.geo_off = undefined; -} - -//Function Number: 452 -disable_exits() -{ - self.disableexits = 1; -} - -//Function Number: 453 -enable_exits() -{ - self.disableexits = undefined; -} - -//Function Number: 454 -disable_turnanims() -{ - self.noturnanims = 1; -} - -//Function Number: 455 -enable_turnanims() -{ - self.noturnanims = undefined; -} - -//Function Number: 456 -disable_arrivals() -{ - self.disablearrivals = 1; -} - -//Function Number: 457 -enable_arrivals() -{ - self endon("death"); - waittillframeend; - self.disablearrivals = undefined; -} - -//Function Number: 458 -set_blur(param_00,param_01) -{ - setblur(param_00,param_01); -} - -//Function Number: 459 -set_goal_radius(param_00) -{ - self.goalradius = param_00; -} - -//Function Number: 460 -set_goal_node(param_00) -{ - self.last_set_goalnode = param_00; - self.last_set_goalpos = undefined; - self.last_set_goalent = undefined; - self setgoalnode(param_00); -} - -//Function Number: 461 -set_goal_node_targetname(param_00) -{ - var_01 = getnode(param_00,"targetname"); - set_goal_node(var_01); -} - -//Function Number: 462 -set_goal_pos(param_00) -{ - self.last_set_goalnode = undefined; - self.last_set_goalpos = param_00; - self.last_set_goalent = undefined; - self setgoalpos(param_00); -} - -//Function Number: 463 -set_goal_ent(param_00) -{ - set_goal_pos(param_00.origin); - self.last_set_goalent = param_00; -} - -//Function Number: 464 -objective_complete(param_00) -{ - maps\_utility_code::objective_recon(param_00); - objective_state(param_00,"done"); - level notify("objective_complete" + param_00); -} - -//Function Number: 465 -handsignal(param_00,param_01,param_02,param_03) -{ - var_04 = 1; - if(isdefined(param_01)) - { - var_04 = !param_01; - } - - if(isdefined(param_02)) - { - level endon(param_02); - } - - if(isdefined(param_03)) - { - level waittill(param_03); - } - - var_05 = "signal_" + param_00; - if(self.a.pose == "crouch") - { - var_05 = var_05 + "_crouch"; - } - else if(self.script == "cover_right" || self.script == "cover_multi" && self.cover.state == "right") - { - var_05 = var_05 + "_coverR"; - } - else if(animscripts\utility::iscqbwalking()) - { - var_05 = var_05 + "_cqb"; - } - - if(var_04) - { - self setanimrestart(getgenericanim(var_05),1,0,1.1); - return; - } - - maps\_anim::anim_generic(self,var_05); -} - -//Function Number: 466 -array_spawn(param_00,param_01,param_02) -{ - if(!isdefined(param_02)) - { - param_02 = 0; - } - - var_03 = []; - foreach(var_05 in param_00) - { - var_05.count = 1; - if(getsubstr(var_05.classname,7,10) == "veh") - { - var_06 = var_05 spawn_vehicle(); - if(isdefined(var_06.target) && !isdefined(var_06.script_moveoverride)) - { - var_06 thread maps\_vehicle::gopath(); - } - - var_03[var_03.size] = var_06; - continue; - } - - var_06 = var_05 spawn_ai(param_01); - if(!param_02) - { - } - - var_03[var_03.size] = var_06; - } - - if(!param_02) - { - } - - return var_03; -} - -//Function Number: 467 -array_spawn_cg(param_00,param_01,param_02,param_03) -{ - if(!isdefined(param_02)) - { - param_02 = 0; - } - - var_04 = []; - foreach(var_06 in param_00) - { - var_06.count = 1; - if(getsubstr(var_06.classname,7,10) == "veh") - { - var_07 = var_06 spawn_vehicle(); - if(isdefined(var_07.target) && !isdefined(var_07.script_moveoverride)) - { - var_07 thread maps\_vehicle::gopath(); - } - - var_04[var_04.size] = var_07; - continue; - } - - var_07 = var_06 spawn_ai(1); - var_04 = common_scripts\utility::array_add(var_04,var_07); - if(isdefined(param_03)) - { - wait(param_03); - continue; - } - - wait 0.05; - } - - if(!param_02) - { - } - - return var_04; -} - -//Function Number: 468 -array_spawn_targetname(param_00,param_01,param_02,param_03) -{ - var_04 = getentarray(param_00,"targetname"); - if(isdefined(level.spawn_pool_enabled)) - { - var_05 = common_scripts\utility::getstructarray(param_00,"targetname"); - if(isdefined(param_03) && param_03) - { - deletestructarray_ref(var_05); - } - - var_06 = maps\_spawner::get_pool_spawners_from_structarray(var_05); - var_04 = common_scripts\utility::array_combine(var_04,var_06); - } - - return array_spawn(var_04,param_01,param_02); -} - -//Function Number: 469 -array_spawn_targetname_cg(param_00,param_01,param_02,param_03,param_04) -{ - var_05 = getentarray(param_00,"targetname"); - if(isdefined(level.spawn_pool_enabled)) - { - var_06 = common_scripts\utility::getstructarray(param_00,"targetname"); - if(isdefined(param_04) && param_04) - { - deletestructarray_ref(var_06); - } - - var_07 = maps\_spawner::get_pool_spawners_from_structarray(var_06); - var_05 = common_scripts\utility::array_combine(var_05,var_07); - } - - return array_spawn_cg(var_05,param_01,param_03,param_02); -} - -//Function Number: 470 -array_spawn_noteworthy(param_00,param_01,param_02,param_03) -{ - var_04 = getentarray(param_00,"script_noteworthy"); - if(isdefined(level.spawn_pool_enabled)) - { - var_05 = common_scripts\utility::getstructarray(param_00,"script_noteworthy"); - if(isdefined(param_03) && param_03) - { - deletestructarray_ref(var_05); - } - - var_06 = maps\_spawner::get_pool_spawners_from_structarray(var_05); - var_04 = common_scripts\utility::array_combine(var_04,var_06); - } - - return array_spawn(var_04,param_01,param_02); -} - -//Function Number: 471 -spawn_script_noteworthy(param_00,param_01) -{ - var_02 = getent(param_00,"script_noteworthy"); - var_03 = var_02 spawn_ai(param_01); - return var_03; -} - -//Function Number: 472 -spawn_targetname(param_00,param_01) -{ - var_02 = getent(param_00,"targetname"); - var_03 = var_02 spawn_ai(param_01); - return var_03; -} - -//Function Number: 473 -add_dialogue_line(param_00,param_01,param_02) -{ - if(getdvarint("loc_warnings",0)) - { - return; - } - - if(!isdefined(level.dialogue_huds)) - { - level.dialogue_huds = []; - } - - var_03 = 0; - for(;;) - { - if(!isdefined(level.dialogue_huds[var_03])) - { - break; - } - - var_03++; - } - - var_04 = "^3"; - if(isdefined(param_02)) - { - switch(param_02) - { - case "red": - case "r": - break; - - case "green": - case "g": - break; - - case "yellow": - case "y": - break; - - case "blue": - case "b": - break; - - case "cyan": - case "c": - break; - - case "purple": - case "p": - break; - - case "white": - case "w": - break; - - case "black": - case "bl": - break; - } - } -} - -//Function Number: 474 -destructible_disable_explosion() -{ - common_scripts\_destructible::disable_explosion(); -} - -//Function Number: 475 -destructible_force_explosion() -{ - common_scripts\_destructible::force_explosion(); -} - -//Function Number: 476 -set_grenadeammo(param_00) -{ - self.grenadeammo = param_00; -} - -//Function Number: 477 -get_player_feet_from_view() -{ - var_00 = self.origin; - var_01 = anglestoup(self getplayerangles()); - var_02 = self getplayerviewheight(); - var_03 = var_00 + (0,0,var_02); - var_04 = var_00 + var_01 * var_02; - var_05 = var_03 - var_04; - var_06 = var_00 + var_05; - return var_06; -} - -//Function Number: 478 -set_baseaccuracy(param_00) -{ - self.baseaccuracy = param_00; -} - -//Function Number: 479 -set_console_status() -{ - if(!isdefined(level.console)) - { - level.console = getdvar("consoleGame") == "true"; - } - else - { - } - - if(!isdefined(level.xenon)) - { - level.xenon = getdvar("xenonGame") == "true"; - } - else - { - } - - if(!isdefined(level.ps3)) - { - level.ps3 = getdvar("ps3Game") == "true"; - } - else - { - } - - if(!isdefined(level.wiiugame)) - { - level.wiiugame = getdvar("wiiuGame") == "true"; - } - else - { - } - - if(!isdefined(level.pccg)) - { - level.pccg = getdvar("pccgGame") == "true"; - } - else - { - } - - if(!isdefined(level.xb3)) - { - level.xb3 = getdvar("xb3Game") == "true"; - } - else - { - } - - if(!isdefined(level.ps4)) - { - level.ps4 = getdvar("ps4Game") == "true"; - } - else - { - } - - if(!isdefined(level.pc)) - { - level.pc = !level.console && !level.pccg; - } - else - { - } - - if(!isdefined(level.currentgen)) - { - level.currentgen = level.ps3 || level.pccg || level.xenon || level.wiiugame; - } - else - { - } - - if(!isdefined(level.nextgen)) - { - level.nextgen = level.pc || level.ps4 || level.xb3; - } -} - -//Function Number: 480 -is_gen4() -{ - return level.nextgen; -} - -//Function Number: 481 -autosave_now(param_00) -{ - return maps\_autosave::_autosave_game_now(param_00); -} - -//Function Number: 482 -autosave_now_silent() -{ - return maps\_autosave::_autosave_game_now(1); -} - -//Function Number: 483 -set_generic_deathanim(param_00) -{ - self.deathanim = getgenericanim(param_00); -} - -//Function Number: 484 -set_deathanim(param_00) -{ - self.deathanim = getanim(param_00); -} - -//Function Number: 485 -clear_deathanim() -{ - self.deathanim = undefined; -} - -//Function Number: 486 -hunted_style_door_open(param_00) -{ - wait(1.75); - if(isdefined(param_00)) - { - self playsound(param_00); - } - else - { - self playsound("door_wood_slow_open"); - } - - self rotateto(self.angles + (0,70,0),2,0.5,0); - self connectpaths(); - self waittill("rotatedone"); - self rotateto(self.angles + (0,40,0),2,0,2); -} - -//Function Number: 487 -palm_style_door_open(param_00) -{ - wait(1.35); - if(isdefined(param_00)) - { - self playsound(param_00); - } - else - { - self playsound("door_wood_slow_open"); - } - - self rotateto(self.angles + (0,70,0),2,0.5,0); - self connectpaths(); - self waittill("rotatedone"); - self rotateto(self.angles + (0,40,0),2,0,2); -} - -//Function Number: 488 -lerp_fov_overtime(param_00,param_01) -{ - foreach(var_03 in level.players) - { - var_03 lerpfov(param_01,param_00); - } - - wait(param_00); -} - -//Function Number: 489 -lerp_fovscale_overtime(param_00,param_01) -{ - var_02 = getdvarfloat("cg_fovscale"); - var_03 = int(param_00 / 0.05); - var_04 = param_01 - var_02 / var_03; - var_05 = var_02; - for(var_06 = 0;var_06 < var_03;var_06++) - { - var_05 = var_05 + var_04; - setsaveddvar("cg_fovscale",var_05); - wait(0.05); - } - - setsaveddvar("cg_fovscale",param_01); -} - -//Function Number: 490 -putgunaway() -{ - animscripts\shared::placeweaponon(self.weapon,"none"); - self.weapon = "none"; -} - -//Function Number: 491 -apply_fog() -{ - maps\_art::set_fog_progress(0); -} - -//Function Number: 492 -apply_end_fog() -{ - maps\_art::set_fog_progress(1); -} - -//Function Number: 493 -anim_stopanimscripted() -{ - self stopanimscripted(); - self notify("stop_loop"); - self notify("single anim","end"); - self notify("looping anim","end"); -} - -//Function Number: 494 -disable_pain() -{ - self.a.disablepain = 1; - self.allowpain = 0; -} - -//Function Number: 495 -enable_pain() -{ - self.a.disablepain = 0; - self.allowpain = 1; -} - -//Function Number: 496 -_delete() -{ - self delete(); -} - -//Function Number: 497 -_kill() -{ - self kill(); -} - -//Function Number: 498 -kill_wrapper() -{ - if(isplayer(self)) - { - if(common_scripts\utility::flag_exist("special_op_terminated") && common_scripts\utility::flag("special_op_terminated")) - { - return 0; - } - - if(is_player_down(self)) - { - self disableinvulnerability(); - } - } - - self enabledeathshield(0); - self kill(); - return 1; -} - -//Function Number: 499 -_setentitytarget(param_00) -{ - self setentitytarget(param_00); -} - -//Function Number: 500 -_clearentitytarget() -{ - self clearentitytarget(); -} - -//Function Number: 501 -_unlink() -{ - self unlink(); -} - -//Function Number: 502 -disable_oneshotfx_with_noteworthy(param_00) -{ - var_01 = getarraykeys(level._global_fx_ents[param_00]); - for(var_02 = 0;var_02 < var_01.size;var_02++) - { - level._global_fx_ents[param_00][var_01[var_02]].looper delete(); - level._global_fx_ents[param_00][var_01[var_02]] = undefined; - } -} - -//Function Number: 503 -_setlightintensity(param_00) -{ - self setlightintensity(param_00); -} - -//Function Number: 504 -_linkto(param_00,param_01,param_02,param_03) -{ - if(isdefined(param_03)) - { - self linkto(param_00,param_01,param_02,param_03); - return; - } - - if(isdefined(param_02)) - { - self linkto(param_00,param_01,param_02); - return; - } - - if(isdefined(param_01)) - { - self linkto(param_00,param_01); - return; - } - - self linkto(param_00); -} - -//Function Number: 505 -array_wait(param_00,param_01,param_02) -{ - var_03 = getarraykeys(param_00); - var_04 = []; - for(var_05 = 0;var_05 < var_03.size;var_05++) - { - var_06 = var_03[var_05]; - } - - for(var_05 = 0;var_05 < var_03.size;var_05++) - { - var_06 = var_03[var_05]; - var_04[var_06] = spawnstruct(); - var_04[var_06]._array_wait = 1; - var_04[var_06] thread maps\_utility_code::array_waitlogic1(param_00[var_06],param_01,param_02); - } - - for(var_05 = 0;var_05 < var_03.size;var_05++) - { - var_06 = var_03[var_05]; - if(isdefined(param_00[var_06]) && var_04[var_06]._array_wait) - { - var_04[var_06] waittill("_array_wait"); - } - } -} - -//Function Number: 506 -die() -{ - self kill((0,0,0)); -} - -//Function Number: 507 -getmodel(param_00) -{ - return level.scr_model[param_00]; -} - -//Function Number: 508 -isads() -{ - return self playerads() > 0.5; -} - -//Function Number: 509 -waittill_player_lookat(param_00,param_01,param_02,param_03,param_04,param_05) -{ - if(!isdefined(param_05)) - { - param_05 = level.player; - } - - var_06 = spawnstruct(); - if(isdefined(param_03)) - { - var_06 thread notify_delay("timeout",param_03); - } - - var_06 endon("timeout"); - if(!isdefined(param_00)) - { - param_00 = 0.92; - } - - if(!isdefined(param_01)) - { - param_01 = 0; - } - - var_07 = int(param_01 * 20); - var_08 = var_07; - self endon("death"); - var_09 = isai(self); - var_0A = undefined; - for(;;) - { - if(var_09) - { - var_0A = self geteye(); - } - else - { - var_0A = self.origin; - } - - if(param_05 player_looking_at(var_0A,param_00,param_02,param_04)) - { - var_08--; - if(var_08 <= 0) - { - return 1; - } - } - else - { - var_08 = var_07; - } - - wait(0.05); - } -} - -//Function Number: 510 -waittill_player_lookat_for_time(param_00,param_01,param_02,param_03) -{ - waittill_player_lookat(param_01,param_00,param_02,undefined,param_03); -} - -//Function Number: 511 -player_looking_at(param_00,param_01,param_02,param_03) -{ - if(!isdefined(param_01)) - { - param_01 = 0.8; - } - - var_04 = get_player_from_self(); - var_05 = var_04 geteye(); - var_06 = vectortoangles(param_00 - var_05); - var_07 = anglestoforward(var_06); - var_08 = var_04 getplayerangles(); - var_09 = anglestoforward(var_08); - var_0A = vectordot(var_07,var_09); - if(var_0A < param_01) - { - return 0; - } - - if(isdefined(param_02)) - { - return 1; - } - - var_0B = bullettrace(param_00,var_05,0,param_03); - return var_0B["fraction"] == 1; -} - -//Function Number: 512 -either_player_looking_at(param_00,param_01,param_02,param_03) -{ - for(var_04 = 0;var_04 < level.players.size;var_04++) - { - if(level.players[var_04] player_looking_at(param_00,param_01,param_02,param_03)) - { - return 1; - } - } - - return 0; -} - -//Function Number: 513 -player_can_see_ai(param_00,param_01) -{ - var_02 = gettime(); - if(!isdefined(param_01)) - { - param_01 = 0; - } - - if(isdefined(param_00.playerseesmetime) && param_00.playerseesmetime + param_01 >= var_02) - { - return param_00.playerseesme; - } - - param_00.playerseesmetime = var_02; - if(!common_scripts\utility::within_fov(level.player.origin,level.player.angles,param_00.origin,0.766)) - { - param_00.playerseesme = 0; - return 0; - } - - var_03 = level.player geteye(); - var_04 = param_00.origin; - if(sighttracepassed(var_03,var_04,1,level.player,param_00)) - { - param_00.playerseesme = 1; - return 1; - } - - var_05 = param_00 geteye(); - if(sighttracepassed(var_03,var_05,1,level.player,param_00)) - { - param_00.playerseesme = 1; - return 1; - } - - var_06 = var_05 + var_04 * 0.5; - if(sighttracepassed(var_03,var_06,1,level.player,param_00)) - { - param_00.playerseesme = 1; - return 1; - } - - param_00.playerseesme = 0; - return 0; -} - -//Function Number: 514 -players_within_distance(param_00,param_01) -{ - var_02 = param_00 * param_00; - for(var_03 = 0;var_03 < level.players.size;var_03++) - { - if(distancesquared(param_01,level.players[var_03].origin) < var_02) - { - return 1; - } - } - - return 0; -} - -//Function Number: 515 -ai_delete_when_out_of_sight(param_00,param_01) -{ - if(!isdefined(param_00)) - { - return; - } - - var_02 = 0.75; - if(issplitscreen()) - { - var_02 = 0.65; - } - - while(param_00.size > 0) - { - wait(1); - for(var_03 = 0;var_03 < param_00.size;var_03++) - { - if(!isdefined(param_00[var_03]) || !isalive(param_00[var_03])) - { - param_00 = common_scripts\utility::array_remove(param_00,param_00[var_03]); - continue; - } - - if(players_within_distance(param_01,param_00[var_03].origin)) - { - continue; - } - - if(either_player_looking_at(param_00[var_03].origin + (0,0,48),var_02,1)) - { - continue; - } - - if(isdefined(param_00[var_03].magic_bullet_shield)) - { - param_00[var_03] stop_magic_bullet_shield(); - } - - param_00[var_03] delete(); - param_00 = common_scripts\utility::array_remove(param_00,param_00[var_03]); - } - } -} - -//Function Number: 516 -add_wait(param_00,param_01,param_02,param_03) -{ - var_04 = spawnstruct(); - var_04.caller = self; - var_04.func = param_00; - var_04.parms = []; - if(isdefined(param_01)) - { - var_04.parms[var_04.parms.size] = param_01; - } - - if(isdefined(param_02)) - { - var_04.parms[var_04.parms.size] = param_02; - } - - if(isdefined(param_03)) - { - var_04.parms[var_04.parms.size] = param_03; - } - - level.wait_any_func_array[level.wait_any_func_array.size] = var_04; -} - -//Function Number: 517 -add_abort(param_00,param_01,param_02,param_03) -{ - var_04 = spawnstruct(); - var_04.caller = self; - var_04.func = param_00; - var_04.parms = []; - if(isdefined(param_01)) - { - var_04.parms[var_04.parms.size] = param_01; - } - - if(isdefined(param_02)) - { - var_04.parms[var_04.parms.size] = param_02; - } - - if(isdefined(param_03)) - { - var_04.parms[var_04.parms.size] = param_03; - } - - level.abort_wait_any_func_array[level.abort_wait_any_func_array.size] = var_04; -} - -//Function Number: 518 -add_func(param_00,param_01,param_02,param_03,param_04,param_05) -{ - var_06 = spawnstruct(); - var_06.caller = self; - var_06.func = param_00; - var_06.parms = []; - if(isdefined(param_01)) - { - var_06.parms[var_06.parms.size] = param_01; - } - - if(isdefined(param_02)) - { - var_06.parms[var_06.parms.size] = param_02; - } - - if(isdefined(param_03)) - { - var_06.parms[var_06.parms.size] = param_03; - } - - if(isdefined(param_04)) - { - var_06.parms[var_06.parms.size] = param_04; - } - - if(isdefined(param_05)) - { - var_06.parms[var_06.parms.size] = param_05; - } - - level.run_func_after_wait_array[level.run_func_after_wait_array.size] = var_06; -} - -//Function Number: 519 -add_call(param_00,param_01,param_02,param_03,param_04,param_05) -{ - var_06 = spawnstruct(); - var_06.caller = self; - var_06.func = param_00; - var_06.parms = []; - if(isdefined(param_01)) - { - var_06.parms[var_06.parms.size] = param_01; - } - - if(isdefined(param_02)) - { - var_06.parms[var_06.parms.size] = param_02; - } - - if(isdefined(param_03)) - { - var_06.parms[var_06.parms.size] = param_03; - } - - if(isdefined(param_04)) - { - var_06.parms[var_06.parms.size] = param_04; - } - - if(isdefined(param_05)) - { - var_06.parms[var_06.parms.size] = param_05; - } - - level.run_call_after_wait_array[level.run_call_after_wait_array.size] = var_06; -} - -//Function Number: 520 -add_noself_call(param_00,param_01,param_02,param_03,param_04,param_05) -{ - var_06 = spawnstruct(); - var_06.func = param_00; - var_06.parms = []; - if(isdefined(param_01)) - { - var_06.parms[var_06.parms.size] = param_01; - } - - if(isdefined(param_02)) - { - var_06.parms[var_06.parms.size] = param_02; - } - - if(isdefined(param_03)) - { - var_06.parms[var_06.parms.size] = param_03; - } - - if(isdefined(param_04)) - { - var_06.parms[var_06.parms.size] = param_04; - } - - if(isdefined(param_05)) - { - var_06.parms[var_06.parms.size] = param_05; - } - - level.run_noself_call_after_wait_array[level.run_noself_call_after_wait_array.size] = var_06; -} - -//Function Number: 521 -add_endon(param_00) -{ - var_01 = spawnstruct(); - var_01.caller = self; - var_01.ender = param_00; - level.do_wait_endons_array[level.do_wait_endons_array.size] = var_01; -} - -//Function Number: 522 -do_wait_any() -{ - do_wait(level.wait_any_func_array.size - 1); -} - -//Function Number: 523 -do_wait(param_00) -{ - if(!isdefined(param_00)) - { - param_00 = 0; - } - - var_01 = spawnstruct(); - var_02 = level.wait_any_func_array; - var_03 = level.do_wait_endons_array; - var_04 = level.run_func_after_wait_array; - var_05 = level.run_call_after_wait_array; - var_06 = level.run_noself_call_after_wait_array; - var_07 = level.abort_wait_any_func_array; - level.wait_any_func_array = []; - level.run_func_after_wait_array = []; - level.do_wait_endons_array = []; - level.abort_wait_any_func_array = []; - level.run_call_after_wait_array = []; - level.run_noself_call_after_wait_array = []; - var_01.count = var_02.size; - var_01 common_scripts\utility::array_levelthread(var_02,::maps\_utility_code::waittill_func_ends,var_03); - var_01 thread maps\_utility_code::do_abort(var_07); - var_01 endon("any_funcs_aborted"); - for(;;) - { - if(var_01.count <= param_00) - { - break; - } - - var_01 waittill("func_ended"); - } - - var_01 notify("all_funcs_ended"); - common_scripts\utility::array_levelthread(var_04,::maps\_utility_code::exec_func,[]); - common_scripts\utility::array_levelthread(var_05,::maps\_utility_code::exec_call); - common_scripts\utility::array_levelthread(var_06,::maps\_utility_code::exec_call_noself); -} - -//Function Number: 524 -do_funcs() -{ - var_00 = spawnstruct(); - var_01 = level.run_func_after_wait_array; - level.run_func_after_wait_array = []; - foreach(var_03 in var_01) - { - level maps\_utility_code::exec_func(var_03,[]); - } - - var_00 notify("all_funcs_ended"); -} - -//Function Number: 525 -is_default_start() -{ - if(isdefined(level.forced_start_catchup) && level.forced_start_catchup == 1) - { - return 0; - } - - if(isdefined(level.default_start_override) && level.default_start_override == level.start_point) - { - return 1; - } - - if(isdefined(level.default_start)) - { - return level.start_point == "default"; - } - - if(level_has_start_points()) - { - return level.start_point == level.start_functions[0]["name"]; - } - - return level.start_point == "default"; -} - -//Function Number: 526 -force_start_catchup() -{ - level.forced_start_catchup = 1; -} - -//Function Number: 527 -is_first_start() -{ - if(!level_has_start_points()) - { - return 1; - } - - return level.start_point == level.start_functions[0]["name"]; -} - -//Function Number: 528 -is_after_start(param_00) -{ - var_01 = 0; - if(level.start_point == param_00) - { - return 0; - } - - for(var_02 = 0;var_02 < level.start_functions.size;var_02++) - { - if(level.start_functions[var_02]["name"] == param_00) - { - var_01 = 1; - continue; - } - - if(level.start_functions[var_02]["name"] == level.start_point) - { - return var_01; - } - } -} - -//Function Number: 529 -_earthquake(param_00,param_01,param_02,param_03) -{ - earthquake(param_00,param_01,param_02,param_03); -} - -//Function Number: 530 -waterfx(param_00,param_01) -{ - self endon("death"); - var_02 = 0; - if(isdefined(param_01)) - { - var_02 = 1; - } - - if(isdefined(param_00)) - { - common_scripts\utility::flag_assert(param_00); - level endon(param_00); - } - - for(;;) - { - wait(randomfloatrange(0.15,0.3)); - var_03 = self.origin + (0,0,150); - var_04 = self.origin - (0,0,150); - var_05 = bullettrace(var_03,var_04,0,undefined); - if(!issubstr(var_05["surfacetype"],"water")) - { - continue; - } - - var_06 = "water_movement"; - if(isplayer(self)) - { - if(distance(self getvelocity(),(0,0,0)) < 5) - { - var_06 = "water_stop"; - } - } - else if(isdefined(level._effect["water_" + self.a.movement])) - { - var_06 = "water_" + self.a.movement; - } - - var_07 = common_scripts\utility::getfx(var_06); - var_03 = var_05["position"]; - var_08 = (0,self.angles[1],0); - var_09 = anglestoforward(var_08); - var_0A = anglestoup(var_08); - playfx(var_07,var_03,var_0A,var_09); - if(var_06 != "water_stop" && var_02) - { - thread common_scripts\utility::play_sound_in_space(param_01,var_03); - } - } -} - -//Function Number: 531 -playersnowfootsteps(param_00) -{ - if(isdefined(param_00)) - { - common_scripts\utility::flag_assert(param_00); - level endon(param_00); - } - - for(;;) - { - wait(randomfloatrange(0.25,0.5)); - var_01 = self.origin + (0,0,0); - var_02 = self.origin - (0,0,5); - var_03 = bullettrace(var_01,var_02,0,undefined); - var_04 = anglestoforward(self.angles); - var_05 = distance(self getvelocity(),(0,0,0)); - if(isdefined(self.vehicle)) - { - continue; - } - - if(var_03["surfacetype"] != "snow") - { - continue; - } - - if(var_05 <= 10) - { - continue; - } - - var_06 = "snow_movement"; - if(distance(self getvelocity(),(0,0,0)) <= 154) - { - playfx(common_scripts\utility::getfx("footstep_snow_small"),var_03["position"],var_03["normal"],var_04); - } - - if(distance(self getvelocity(),(0,0,0)) > 154) - { - playfx(common_scripts\utility::getfx("footstep_snow"),var_03["position"],var_03["normal"],var_04); - } - } -} - -//Function Number: 532 -mix_up(param_00) -{ - var_01 = 60; - for(var_02 = 0;var_02 < var_01;var_02++) - { - self setsoundblend(param_00,param_00 + "_off",var_01 - var_02 / var_01); - wait(0.05); - } -} - -//Function Number: 533 -mix_down(param_00) -{ - var_01 = 60; - for(var_02 = 0;var_02 < var_01;var_02++) - { - self setsoundblend(param_00,param_00 + "_off",var_02 / var_01); - wait(0.05); - } -} - -//Function Number: 534 -manual_linkto(param_00,param_01) -{ - param_00 endon("death"); - self endon("death"); - if(!isdefined(param_01)) - { - param_01 = (0,0,0); - } - - for(;;) - { - self.origin = param_00.origin + param_01; - self.angles = param_00.angles; - wait(0.05); - } -} - -//Function Number: 535 -nextmission() -{ - maps\_utility_code::mission_recon(); - maps\_endmission::_nextmission(); -} - -//Function Number: 536 -make_array(param_00,param_01,param_02,param_03,param_04) -{ - var_05 = []; - var_05[var_05.size] = param_00; - if(isdefined(param_01)) - { - var_05[var_05.size] = param_01; - } - - if(isdefined(param_02)) - { - var_05[var_05.size] = param_02; - } - - if(isdefined(param_03)) - { - var_05[var_05.size] = param_03; - } - - if(isdefined(param_04)) - { - var_05[var_05.size] = param_04; - } - - return var_05; -} - -//Function Number: 537 -fail_on_friendly_fire() -{ - level.failonfriendlyfire = 1; -} - -//Function Number: 538 -normal_friendly_fire_penalty() -{ - level.failonfriendlyfire = 0; -} - -//Function Number: 539 -getplayerclaymores() -{ - var_00 = self getweaponslistall(); - var_01 = []; - for(var_02 = 0;var_02 < var_00.size;var_02++) - { - var_03 = var_00[var_02]; - var_01[var_03] = self getweaponammoclip(var_03); - } - - var_04 = 0; - if(isdefined(var_01["claymore"]) && var_01["claymore"] > 0) - { - var_04 = var_01["claymore"]; - } - - return var_04; -} - -//Function Number: 540 -_wait(param_00) -{ - wait(param_00); -} - -//Function Number: 541 -_waittillmatch(param_00,param_01) -{ - self waittillmatch(param_01,param_00); -} - -//Function Number: 542 -_setsaveddvar(param_00,param_01) -{ - setsaveddvar(param_00,param_01); -} - -//Function Number: 543 -lerp_saveddvar(param_00,param_01,param_02) -{ - var_03 = getdvarfloat(param_00); - level notify(param_00 + "_lerp_savedDvar"); - level endon(param_00 + "_lerp_savedDvar"); - var_04 = param_01 - var_03; - var_05 = 0.05; - var_06 = int(param_02 / var_05); - var_07 = var_04 / var_06; - while(var_06) - { - var_03 = var_03 + var_07; - setsaveddvar(param_00,var_03); - wait(var_05); - var_06--; - } - - setsaveddvar(param_00,param_01); -} - -//Function Number: 544 -lerp_saveddvar_cg_ng(param_00,param_01,param_02,param_03) -{ - if(is_gen4()) - { - lerp_saveddvar(param_00,param_02,param_03); - return; - } - - lerp_saveddvar(param_00,param_01,param_03); -} - -//Function Number: 545 -giveachievement_wrapper(param_00) -{ - if(is_demo()) - { - return; - } - - foreach(var_02 in level.players) - { - var_02 giveachievement(param_00); - } - - setspmatchdata("achievements_completed",param_00,1); -} - -//Function Number: 546 -player_giveachievement_wrapper(param_00) -{ - if(is_demo()) - { - return; - } - - self giveachievement(param_00); -} - -//Function Number: 547 -add_jav_glow(param_00) -{ - var_01 = spawn("script_model",(0,0,0)); - var_01 setcontents(0); - var_01 setmodel("weapon_javelin_obj"); - var_01.origin = self.origin; - var_01.angles = self.angles; - add_wait(::delete_on_not_defined); - if(isdefined(param_00)) - { - common_scripts\utility::flag_assert(param_00); - add_wait(::common_scripts\utility::flag_wait,param_00); - } - - do_wait_any(); - var_01 delete(); -} - -//Function Number: 548 -add_c4_glow(param_00) -{ - var_01 = spawn("script_model",(0,0,0)); - var_01 setcontents(0); - var_01 setmodel("weapon_c4_obj"); - var_01.origin = self.origin; - var_01.angles = self.angles; - add_wait(::delete_on_not_defined); - if(isdefined(param_00)) - { - common_scripts\utility::flag_assert(param_00); - add_wait(::common_scripts\utility::flag_wait,param_00); - } - - do_wait_any(); - var_01 delete(); -} - -//Function Number: 549 -delete_on_not_defined() -{ - for(;;) - { - if(!isdefined(self)) - { - return; - } - - wait(0.05); - } -} - -//Function Number: 550 -slowmo_start() -{ -} - -//Function Number: 551 -slowmo_end() -{ -} - -//Function Number: 552 -slowmo_setspeed_slow(param_00) -{ - level.slowmo.speed_slow = param_00; -} - -//Function Number: 553 -slowmo_setspeed_norm(param_00) -{ - level.slowmo.speed_norm = param_00; -} - -//Function Number: 554 -slowmo_setlerptime_in(param_00) -{ - level.slowmo.lerp_time_in = param_00; -} - -//Function Number: 555 -slowmo_setlerptime_out(param_00) -{ - level.slowmo.lerp_time_out = param_00; -} - -//Function Number: 556 -slowmo_lerp_in() -{ - if(isdefined(level.no_slowmo) && level.no_slowmo) - { - return; - } - - setslowmotion(level.slowmo.speed_norm,level.slowmo.speed_slow,level.slowmo.lerp_time_in); -} - -//Function Number: 557 -slowmo_lerp_out() -{ - if(isdefined(level.no_slowmo) && level.no_slowmo) - { - return; - } - - setslowmotion(level.slowmo.speed_slow,level.slowmo.speed_norm,level.slowmo.lerp_time_out); -} - -//Function Number: 558 -add_earthquake(param_00,param_01,param_02,param_03) -{ - level.earthquake[param_00]["magnitude"] = param_01; - level.earthquake[param_00]["duration"] = param_02; - level.earthquake[param_00]["radius"] = param_03; -} - -//Function Number: 559 -arcademode() -{ - return getdvar("arcademode") == "1"; -} - -//Function Number: 560 -arcademode_stop_timer() -{ - if(!isdefined(level.arcademode_hud_timer)) - { - return; - } - - level notify("arcadeMode_remove_timer"); - level.arcademode_stoptime = gettime(); - level.arcademode_hud_timer destroy(); - level.arcademode_hud_timer = undefined; -} - -//Function Number: 561 -musicplaywrapper(param_00,param_01,param_02) -{ - level._audio.last_song = param_00; - if(!isdefined(param_01)) - { - param_01 = 1; - } - - if(!isdefined(param_02)) - { - param_02 = 0; - } - - musicstop(0); - musicplay(param_00,0,1,1,param_02); -} - -//Function Number: 562 -music_loop(param_00,param_01,param_02,param_03,param_04) -{ - thread maps\_utility_code::music_loop_internal(param_00,param_01,param_02,param_03,param_04); -} - -//Function Number: 563 -music_loop_stealth(param_00,param_01,param_02,param_03,param_04) -{ - thread maps\_utility_code::music_loop_internal(param_00,param_01,param_02,param_03,param_04,1); -} - -//Function Number: 564 -music_play(param_00,param_01,param_02,param_03) -{ - if(isdefined(param_01) && param_01 > 0) - { - thread maps\_utility_code::music_play_internal_stop_with_fade_then_call(param_00,param_01,param_02,param_03); - return; - } - - music_stop(); - musicplaywrapper(param_00,param_02,param_03); -} - -//Function Number: 565 -music_crossfade(param_00,param_01,param_02,param_03) -{ - if(!isdefined(param_02)) - { - param_02 = 1; - } - - if(!isdefined(param_03)) - { - param_03 = 0; - } - - if(isdefined(level._audio.last_song)) - { - musicstop(param_01,level._audio.last_song,param_03); - } - else - { - iprintln("^3WARNING! script music_crossfade(): No previous song was played - no previous song to crossfade from - not fading out anything"); - } - - level._audio.last_song = param_00; - musicplay(param_00,param_01,param_02,0,param_03); - level endon("stop_music"); - wait(param_01); - level notify("done_crossfading"); -} - -//Function Number: 566 -music_stop(param_00) -{ - if(!isdefined(param_00) || param_00 <= 0) - { - musicstop(); - } - else - { - musicstop(param_00); - } - - level notify("stop_music"); -} - -//Function Number: 567 -player_is_near_live_grenade() -{ - var_00 = getentarray("grenade","classname"); - for(var_01 = 0;var_01 < var_00.size;var_01++) - { - var_02 = var_00[var_01]; - if(var_02.model == "weapon_claymore") - { - continue; - } - - for(var_03 = 0;var_03 < level.players.size;var_03++) - { - var_04 = level.players[var_03]; - if(distancesquared(var_02.origin,var_04.origin) < 75625) - { - return 1; - } - } - } - - return 0; -} - -//Function Number: 568 -player_died_recently() -{ - return getdvarint("player_died_recently","0") > 0; -} - -//Function Number: 569 -all_players_istouching(param_00) -{ - foreach(var_02 in level.players) - { - if(!var_02 istouching(param_00)) - { - return 0; - } - } - - return 1; -} - -//Function Number: 570 -any_players_istouching(param_00) -{ - foreach(var_02 in level.players) - { - if(var_02 istouching(param_00)) - { - return 1; - } - } - - return 0; -} - -//Function Number: 571 -getdifficulty() -{ - if(level.gameskill < 1) - { - return "easy"; - } - - if(level.gameskill < 2) - { - return "medium"; - } - - if(level.gameskill < 3) - { - return "hard"; - } - - return "fu"; -} - -//Function Number: 572 -getaverageplayerorigin() -{ - var_00 = 0; - var_01 = 0; - var_02 = 0; - foreach(var_04 in level.players) - { - var_00 = var_00 + var_04.origin[0]; - var_01 = var_01 + var_04.origin[1]; - var_02 = var_02 + var_04.origin[2]; - } - - var_00 = var_00 / level.players.size; - var_01 = var_01 / level.players.size; - var_02 = var_02 / level.players.size; - return (var_00,var_01,var_02); -} - -//Function Number: 573 -get_average_origin(param_00) -{ - var_01 = (0,0,0); - foreach(var_03 in param_00) - { - var_01 = var_01 + var_03.origin; - } - - return var_01 * 1 / param_00.size; -} - -//Function Number: 574 -generic_damage_think() -{ - self.damage_functions = []; - self endon("entitydeleted"); - self endon("stop_generic_damage_think"); - for(;;) - { - self waittill("damage",var_00,var_01,var_02,var_03,var_04,var_05,var_06); - foreach(var_08 in self.damage_functions) - { - thread [[ var_08 ]](var_00,var_01,var_02,var_03,var_04,var_05,var_06); - } - } -} - -//Function Number: 575 -add_damage_function(param_00) -{ - self.damage_functions[self.damage_functions.size] = param_00; -} - -//Function Number: 576 -remove_damage_function(param_00) -{ - var_01 = []; - foreach(var_03 in self.damage_functions) - { - if(var_03 == param_00) - { - continue; - } - - var_01[var_01.size] = var_03; - } - - self.damage_functions = var_01; -} - -//Function Number: 577 -givexp(param_00,param_01) -{ - if(isdefined(level.xp_enable) && level.xp_enable && isdefined(level.xp_give_func)) - { - self [[ level.xp_give_func ]](param_00,param_01); - } -} - -//Function Number: 578 -playlocalsoundwrapper(param_00) -{ - self playlocalsound(param_00); -} - -//Function Number: 579 -enableplayerweapons(param_00) -{ - if(level.players.size < 1) - { - return; - } - - foreach(var_02 in level.players) - { - if(param_00 == 1) - { - var_02 enableweapons(); - continue; - } - - var_02 disableweapons(); - } -} - -//Function Number: 580 -teleport_players(param_00) -{ - var_01 = undefined; - var_02 = undefined; - var_03 = undefined; - foreach(var_05 in param_00) - { - if(isdefined(var_05.script_noteworthy) && var_05.script_noteworthy == "player1") - { - var_01 = var_05; - continue; - } - - if(isdefined(var_05.script_noteworthy) && var_05.script_noteworthy == "player2") - { - var_02 = var_05; - continue; - } - - if(!isdefined(var_01)) - { - var_01 = var_05; - } - - if(!isdefined(var_02)) - { - var_02 = var_05; - } - } - - foreach(var_08 in level.players) - { - if(var_08 == level.player) - { - var_03 = var_01; - } - else if(var_08 == level.player2) - { - var_03 = var_02; - } - - var_08 setorigin(var_03.origin); - var_08 setplayerangles(var_03.angles); - } -} - -//Function Number: 581 -teleport_player(param_00) -{ - level.player setorigin(param_00.origin); - if(isdefined(param_00.angles)) - { - level.player setplayerangles(param_00.angles); - } -} - -//Function Number: 582 -translate_local() -{ - var_00 = []; - if(isdefined(self.entities)) - { - var_00 = self.entities; - } - - if(isdefined(self.entity)) - { - var_00[var_00.size] = self.entity; - } - - common_scripts\utility::array_levelthread(var_00,::maps\_utility_code::translate_local_on_ent); -} - -//Function Number: 583 -open_up_fov(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - level.player endon("stop_opening_fov"); - wait(param_00); - level.player playerlinktodelta(param_01,param_02,1,param_03,param_04,param_05,param_06,1); -} - -//Function Number: 584 -get_ai_touching_volume(param_00,param_01,param_02) -{ - if(!isdefined(param_00)) - { - param_00 = "all"; - } - - if(!isdefined(param_01)) - { - param_01 = "all"; - } - - var_03 = getaispeciesarray(param_00,param_01); - var_04 = []; - foreach(var_06 in var_03) - { - if(var_06 istouching(self)) - { - var_04[var_04.size] = var_06; - } - } - - return var_04; -} - -//Function Number: 585 -get_drones_touching_volume(param_00) -{ - if(!isdefined(param_00)) - { - param_00 = "all"; - } - - var_01 = []; - if(param_00 == "all") - { - var_01 = array_merge(level.drones["allies"].array,level.drones["axis"].array); - var_01 = array_merge(var_01,level.drones["neutral"].array); - } - else - { - var_01 = level.drones[param_00].array; - } - - var_02 = []; - foreach(var_04 in var_01) - { - if(!isdefined(var_04)) - { - continue; - } - - if(var_04 istouching(self)) - { - var_02[var_02.size] = var_04; - } - } - - return var_02; -} - -//Function Number: 586 -get_drones_with_targetname(param_00) -{ - var_01 = array_merge(level.drones["allies"].array,level.drones["axis"].array); - var_01 = array_merge(var_01,level.drones["neutral"].array); - var_02 = []; - foreach(var_04 in var_01) - { - if(!isdefined(var_04)) - { - continue; - } - - if(isdefined(var_04.targetname) && var_04.targetname == param_00) - { - var_02[var_02.size] = var_04; - } - } - - return var_02; -} - -//Function Number: 587 -get_other_player(param_00) -{ - foreach(var_02 in level.players) - { - if(param_00 == var_02) - { - continue; - } - - return var_02; - } -} - -//Function Number: 588 -set_count(param_00) -{ - self.count = param_00; -} - -//Function Number: 589 -follow_path(param_00,param_01,param_02,param_03) -{ - self notify("_utility::follow_path"); - self endon("_utility::follow_path"); - self endon("death"); - var_04 = undefined; - if(!isdefined(param_00.classname)) - { - if(!isdefined(param_00.type)) - { - var_04 = "struct"; - } - else - { - var_04 = "node"; - } - } - else - { - var_04 = "entity"; - } - - if(!isdefined(param_01)) - { - param_01 = 300; - } - - var_05 = self.script_forcegoal; - self.script_forcegoal = 1; - maps\_spawner::go_to_node(param_00,var_04,param_02,param_01,param_03); - self.script_forcegoal = var_05; -} - -//Function Number: 590 -enable_dynamic_run_speed(param_00,param_01,param_02,param_03,param_04,param_05) -{ - if(!isdefined(param_00)) - { - param_00 = 250; - } - - if(!isdefined(param_01)) - { - param_01 = 100; - } - - if(!isdefined(param_02)) - { - param_02 = param_00 * 2; - } - - if(!isdefined(param_03)) - { - param_03 = param_00 * 1.25; - } - - if(!isdefined(param_05)) - { - param_05 = 0; - } - - self.dontchangemoveplaybackrate = param_05; - thread maps\_utility_code::dynamic_run_speed_proc(param_00,param_01,param_02,param_03,param_04); -} - -//Function Number: 591 -disable_dynamic_run_speed() -{ - self notify("stop_dynamic_run_speed"); -} - -//Function Number: 592 -player_seek_enable() -{ - self endon("death"); - self endon("stop_player_seek"); - var_00 = 1200; - if(has_shotgun()) - { - var_00 = 250; - } - - var_01 = distance(self.origin,level.player.origin); - for(;;) - { - wait(2); - self.goalradius = var_01; - var_02 = get_closest_player(self.origin); - self setgoalentity(var_02); - var_01 = var_01 - 175; - if(var_01 < var_00) - { - var_01 = var_00; - return; - } - } -} - -//Function Number: 593 -player_seek_disable() -{ - self notify("stop_player_seek"); -} - -//Function Number: 594 -waittill_entity_in_range_or_timeout(param_00,param_01,param_02) -{ - self endon("death"); - param_00 endon("death"); - if(!isdefined(param_02)) - { - param_02 = 5; - } - - var_03 = gettime() + param_02 * 1000; - while(isdefined(param_00)) - { - if(distance(param_00.origin,self.origin) <= param_01) - { - break; - } - - if(gettime() > var_03) - { - break; - } - - wait(0.1); - } -} - -//Function Number: 595 -waittill_entity_in_range(param_00,param_01) -{ - self endon("death"); - param_00 endon("death"); - while(isdefined(param_00)) - { - if(distance(param_00.origin,self.origin) <= param_01) - { - break; - } - - wait(0.1); - } -} - -//Function Number: 596 -waittill_entity_out_of_range(param_00,param_01) -{ - self endon("death"); - param_00 endon("death"); - while(isdefined(param_00)) - { - if(distance(param_00.origin,self.origin) > param_01) - { - break; - } - - wait(0.1); - } -} - -//Function Number: 597 -has_shotgun() -{ - self endon("death"); - if(!isdefined(self.weapon)) - { - return 0; - } - - if(weaponclass(self.weapon) == "spread") - { - return 1; - } - - return 0; -} - -//Function Number: 598 -isprimaryweapon(param_00) -{ - if(param_00 == "none") - { - return 0; - } - - if(weaponinventorytype(param_00) != "primary") - { - return 0; - } - - switch(weaponclass(param_00)) - { - case "rifle": - case "sniper": - case "smg": - case "spread": - case "rocketlauncher": - case "pistol": - case "mg": - break; - - default: - break; - } -} - -//Function Number: 599 -player_has_thermal() -{ - var_00 = self getweaponslistall(); - if(!isdefined(var_00)) - { - return 0; - } - - foreach(var_02 in var_00) - { - if(issubstr(var_02,"thermal")) - { - return 1; - } - } - - return 0; -} - -//Function Number: 600 -waittill_true_goal(param_00,param_01) -{ - self endon("death"); - if(!isdefined(param_01)) - { - param_01 = self.goalradius; - } - - for(;;) - { - self waittill("goal"); - if(distance(self.origin,param_00) < param_01 + 10) - { - break; - } - } -} - -//Function Number: 601 -player_speed_percent(param_00,param_01) -{ - var_02 = int(getdvar("g_speed")); - if(!isdefined(level.player.g_speed)) - { - level.player.g_speed = var_02; - } - - var_03 = int(level.player.g_speed * param_00 * 0.01); - level.player player_speed_set(var_03,param_01); -} - -//Function Number: 602 -blend_movespeedscale_percent(param_00,param_01) -{ - var_02 = self; - if(!isplayer(var_02)) - { - var_02 = level.player; - } - - if(!isdefined(var_02.movespeedscale)) - { - var_02.movespeedscale = 1; - } - - var_03 = param_00 * 0.01; - var_02 blend_movespeedscale(var_03,param_01); -} - -//Function Number: 603 -player_speed_set(param_00,param_01) -{ - var_02 = int(getdvar("g_speed")); - if(!isdefined(level.player.g_speed)) - { - level.player.g_speed = var_02; - } - - var_03 = ::maps\_utility_code::g_speed_get_func; - var_04 = ::maps\_utility_code::g_speed_set_func; - level.player thread player_speed_proc(param_00,param_01,var_03,var_04,"player_speed_set"); -} - -//Function Number: 604 -player_bob_scale_set(param_00,param_01) -{ - var_02 = ::maps\_utility_code::g_bob_scale_get_func; - var_03 = ::maps\_utility_code::g_bob_scale_set_func; - level.player thread player_speed_proc(param_00,param_01,var_02,var_03,"player_bob_scale_set"); -} - -//Function Number: 605 -blend_movespeedscale(param_00,param_01) -{ - var_02 = self; - if(!isplayer(var_02)) - { - var_02 = level.player; - } - - if(!isdefined(var_02.movespeedscale)) - { - var_02.movespeedscale = 1; - } - - var_03 = ::maps\_utility_code::movespeed_get_func; - var_04 = ::maps\_utility_code::movespeed_set_func; - var_02 thread player_speed_proc(param_00,param_01,var_03,var_04,"blend_movespeedscale"); -} - -//Function Number: 606 -player_speed_proc(param_00,param_01,param_02,param_03,param_04) -{ - self notify(param_04); - self endon(param_04); - var_05 = [[ param_02 ]](); - var_06 = param_00; - if(isdefined(param_01)) - { - var_07 = var_06 - var_05; - var_08 = 0.05; - var_09 = param_01 / var_08; - var_0A = var_07 / var_09; - while(abs(var_06 - var_05) > abs(var_0A * 1.1)) - { - var_05 = var_05 + var_0A; - [[ param_03 ]](var_05); - wait(var_08); - } - } - - [[ param_03 ]](var_06); -} - -//Function Number: 607 -player_speed_default(param_00) -{ - if(!isdefined(level.player.g_speed)) - { - return; - } - - level.player player_speed_set(level.player.g_speed,param_00); - waittillframeend; - level.player.g_speed = undefined; -} - -//Function Number: 608 -blend_movespeedscale_default(param_00) -{ - var_01 = self; - if(!isplayer(var_01)) - { - var_01 = level.player; - } - - if(!isdefined(var_01.movespeedscale)) - { - return; - } - - var_01 blend_movespeedscale(1,param_00); - waittillframeend; - var_01.movespeedscale = undefined; -} - -//Function Number: 609 -teleport_ent(param_00) -{ - if(isplayer(self)) - { - self setorigin(param_00.origin); - self setplayerangles(param_00.angles); - return; - } - - self forceteleport(param_00.origin,param_00.angles); -} - -//Function Number: 610 -teleport_to_ent_tag(param_00,param_01) -{ - var_02 = param_00 gettagorigin(param_01); - var_03 = param_00 gettagangles(param_01); - self dontinterpolate(); - if(isplayer(self)) - { - self setorigin(var_02); - self setplayerangles(var_03); - return; - } - - if(isai(self)) - { - self forceteleport(var_02,var_03); - return; - } - - self.origin = var_02; - self.angles = var_03; -} - -//Function Number: 611 -teleport_ai(param_00) -{ - self forceteleport(param_00.origin,param_00.angles); - self setgoalpos(self.origin); - self setgoalnode(param_00); -} - -//Function Number: 612 -move_all_fx(param_00) -{ - foreach(var_02 in level.createfxent) - { - var_02.v["origin"] = var_02.v["origin"] + param_00; - } -} - -//Function Number: 613 -issliding() -{ - return isdefined(self.slidemodel); -} - -//Function Number: 614 -beginsliding(param_00,param_01,param_02) -{ - var_03 = self; - var_03 thread play_sound_on_entity("foot_slide_plr_start"); - if(soundexists("foot_slide_plr_loop")) - { - var_03 thread play_loop_sound_on_tag("foot_slide_plr_loop"); - } - - var_04 = isdefined(level.custom_linkto_slide); - if(!isdefined(param_00)) - { - param_00 = var_03 getvelocity() + (0,0,-10); - } - - if(!isdefined(param_01)) - { - param_01 = 10; - } - - if(!isdefined(param_02)) - { - if(isdefined(level.slide_dampening)) - { - param_02 = level.slide_dampening; - } - else - { - param_02 = 0.035; - } - } - - var_05 = spawn("script_origin",var_03.origin); - var_05.angles = var_03.angles; - var_03.slidemodel = var_05; - var_05 moveslide((0,0,15),15,param_00); - if(var_04) - { - var_03 playerlinktoblend(var_05,undefined,1); - } - else - { - var_03 playerlinkto(var_05); - } - - var_03 disableweapons(); - var_03 allowprone(0); - var_03 allowcrouch(1); - var_03 allowstand(0); - var_03 thread maps\_utility_code::doslide(var_05,param_01,param_02); -} - -//Function Number: 615 -endsliding() -{ - var_00 = self; - var_00 notify("stop soundfoot_slide_plr_loop"); - var_00 thread play_sound_on_entity("foot_slide_plr_end"); - var_00 unlink(); - var_00 setvelocity(var_00.slidemodel.slidevelocity); - var_00.slidemodel delete(); - var_00 enableweapons(); - var_00 allowprone(1); - var_00 allowcrouch(1); - var_00 allowstand(1); - var_00 notify("stop_sliding"); -} - -//Function Number: 616 -spawn_vehicle() -{ - return maps\_vehicle::vehicle_spawn(self); -} - -//Function Number: 617 -getentwithflag(param_00) -{ - var_01 = maps\_trigger::get_load_trigger_classes(); - var_02 = []; - foreach(var_06, var_04 in var_01) - { - if(!issubstr(var_06,"flag")) - { - continue; - } - - var_05 = getentarray(var_06,"classname"); - var_02 = common_scripts\utility::array_combine(var_02,var_05); - } - - var_07 = maps\_trigger::get_load_trigger_funcs(); - foreach(var_09, var_04 in var_07) - { - if(!issubstr(var_09,"flag")) - { - continue; - } - - var_05 = getentarray(var_09,"targetname"); - var_02 = common_scripts\utility::array_combine(var_02,var_05); - } - - var_0A = undefined; - foreach(var_0C in var_02) - { - if(var_0C.script_flag == param_00) - { - return var_0C; - } - } -} - -//Function Number: 618 -getentarraywithflag(param_00) -{ - var_01 = maps\_trigger::get_load_trigger_classes(); - var_02 = []; - foreach(var_06, var_04 in var_01) - { - if(!issubstr(var_06,"flag")) - { - continue; - } - - var_05 = getentarray(var_06,"classname"); - var_02 = common_scripts\utility::array_combine(var_02,var_05); - } - - var_07 = maps\_trigger::get_load_trigger_funcs(); - foreach(var_09, var_04 in var_07) - { - if(!issubstr(var_09,"flag")) - { - continue; - } - - var_05 = getentarray(var_09,"targetname"); - var_02 = common_scripts\utility::array_combine(var_02,var_05); - } - - var_0A = []; - foreach(var_0C in var_02) - { - if(var_0C.script_flag == param_00) - { - var_0A[var_0A.size] = var_0C; - } - } - - return var_0A; -} - -//Function Number: 619 -set_z(param_00,param_01) -{ - return (param_00[0],param_00[1],param_01); -} - -//Function Number: 620 -add_z(param_00,param_01) -{ - return (param_00[0],param_00[1],param_00[2] + param_01); -} - -//Function Number: 621 -set_y(param_00,param_01) -{ - return (param_00[0],param_01,param_00[2]); -} - -//Function Number: 622 -set_x(param_00,param_01) -{ - return (param_01,param_00[1],param_00[2]); -} - -//Function Number: 623 -player_using_missile() -{ - var_00 = self getcurrentweapon(); - if(!isdefined(var_00)) - { - return 0; - } - - if(issubstr(tolower(var_00),"rpg")) - { - return 1; - } - - if(issubstr(tolower(var_00),"stinger")) - { - return 1; - } - - if(issubstr(tolower(var_00),"at4")) - { - return 1; - } - - if(issubstr(tolower(var_00),"javelin")) - { - return 1; - } - - return 0; -} - -//Function Number: 624 -doinglongdeath() -{ - return isdefined(self.a.doinglongdeath); -} - -//Function Number: 625 -get_rumble_ent(param_00,param_01) -{ - if(is_coop()) - { - } - - var_02 = get_player_from_self(); - if(!isdefined(param_00)) - { - param_00 = "steady_rumble"; - } - - var_03 = spawn("script_origin",var_02 geteye()); - if(!isdefined(param_01) || !isnumber(param_01)) - { - var_03.intensity = 1; - } - else - { - var_03.intensity = param_01; - } - - var_03 thread maps\_utility_code::update_rumble_intensity(var_02,param_00); - return var_03; -} - -//Function Number: 626 -set_rumble_intensity(param_00) -{ - self.intensity = param_00; -} - -//Function Number: 627 -rumble_ramp_on(param_00) -{ - thread rumble_ramp_to(1,param_00); -} - -//Function Number: 628 -rumble_ramp_off(param_00) -{ - thread rumble_ramp_to(0,param_00); -} - -//Function Number: 629 -rumble_ramp_to(param_00,param_01) -{ - self notify("new_ramp"); - self endon("new_ramp"); - self endon("death"); - var_02 = param_01 * 20; - var_03 = param_00 - self.intensity; - var_04 = var_03 / var_02; - for(var_05 = 0;var_05 < var_02;var_05++) - { - self.intensity = self.intensity + var_04; - wait(0.05); - } - - self.intensity = param_00; -} - -//Function Number: 630 -get_player_from_self() -{ - if(isdefined(self)) - { - if(!is_in_array(level.players,self)) - { - return level.player; - } - - return self; - } - - return level.player; -} - -//Function Number: 631 -get_player_gameskill() -{ - return int(self getplayersetting("gameskill")); -} - -//Function Number: 632 -glow(param_00) -{ - if(isdefined(self.non_glow_model)) - { - return; - } - - self.non_glow_model = self.model; - if(!isdefined(param_00)) - { - param_00 = self.model + "_obj"; - } - - self setmodel(param_00); -} - -//Function Number: 633 -stopglow(param_00) -{ - if(!isdefined(self.non_glow_model)) - { - return; - } - - self setmodel(self.non_glow_model); - self.non_glow_model = undefined; -} - -//Function Number: 634 -array_delete_evenly(param_00,param_01,param_02) -{ - var_03 = []; - param_01 = param_02 - param_01; - foreach(var_05 in param_00) - { - var_03[var_03.size] = var_05; - if(var_03.size == param_02) - { - var_03 = common_scripts\utility::array_randomize(var_03); - for(var_06 = param_01;var_06 < var_03.size;var_06++) - { - var_03[var_06] delete(); - } - - var_03 = []; - } - } - - var_08 = []; - foreach(var_05 in param_00) - { - if(!isdefined(var_05)) - { - continue; - } - - var_08[var_08.size] = var_05; - } - - return var_08; -} - -//Function Number: 635 -waittill_in_range(param_00,param_01,param_02) -{ - if(!isdefined(param_02)) - { - param_02 = 0.5; - } - - self endon("death"); - while(isdefined(self)) - { - if(distance(param_00,self.origin) <= param_01) - { - break; - } - - wait(param_02); - } -} - -//Function Number: 636 -add_trace_fx(param_00) -{ - var_01 = spawnstruct(); - var_01 thread maps\_utility_code::add_trace_fx_proc(param_00); - return var_01; -} - -//Function Number: 637 -tracefx_on_tag(param_00,param_01,param_02) -{ - var_03 = self gettagorigin(param_01); - var_04 = self gettagangles(param_01); - tracefx(param_00,var_03,var_04,param_02); -} - -//Function Number: 638 -tracefx(param_00,param_01,param_02,param_03) -{ - var_04 = anglestoforward(param_02); - var_05 = bullettrace(param_01,param_01 + var_04 * param_03,0,undefined); - if(var_05["fraction"] >= 1) - { - return; - } - - var_06 = var_05["surfacetype"]; - if(!isdefined(level.trace_fx[param_00][var_06])) - { - var_06 = "default"; - } - - var_07 = level.trace_fx[param_00][var_06]; - if(isdefined(var_07["fx"])) - { - playfx(var_07["fx"],var_05["position"],var_05["normal"]); - } - - if(isdefined(var_07["fx_array"])) - { - foreach(var_09 in var_07["fx_array"]) - { - playfx(var_09,var_05["position"],var_05["normal"]); - } - } - - if(isdefined(var_07["sound"])) - { - level thread common_scripts\utility::play_sound_in_space(var_07["sound"],var_05["position"]); - } - - if(isdefined(var_07["rumble"])) - { - var_0B = get_player_from_self(); - var_0B playrumbleonentity(var_07["rumble"]); - } -} - -//Function Number: 639 -disable_surprise() -{ - self.newenemyreactiondistsq = 0; -} - -//Function Number: 640 -enable_surprise() -{ - self.newenemyreactiondistsq = squared(512); -} - -//Function Number: 641 -enable_heat_behavior(param_00) -{ - self.heat = 1; - self.no_pistol_switch = 1; - self.usecombatscriptatcover = 1; - if(!isdefined(param_00) || !param_00) - { - self.dontshootwhilemoving = 1; - self.maxfaceenemydist = 64; - self.pathenemylookahead = 2048; - disable_surprise(); - } - - self.specialreloadanimfunc = ::animscripts\animset::heat_reload_anim; - self.custommoveanimset["run"] = animscripts\utility::lookupanimarray("heat_run"); -} - -//Function Number: 642 -disable_heat_behavior() -{ - self.heat = undefined; - self.no_pistol_switch = undefined; - self.dontshootwhilemoving = undefined; - self.usecombatscriptatcover = 0; - self.maxfaceenemydist = 512; - self.specialreloadanimfunc = undefined; - self.custommoveanimset = undefined; -} - -//Function Number: 643 -getvehiclearray() -{ - return vehicle_getarray(); -} - -//Function Number: 644 -hint(param_00,param_01,param_02) -{ - if(!isdefined(param_02)) - { - param_02 = 0; - } - - var_03 = 0.5; - level endon("clearing_hints"); - if(isdefined(level.hintelement)) - { - level.hintelement maps\_hud_util::destroyelem(); - } - - level.hintelement = maps\_hud_util::createfontstring("default",1.5); - level.hintelement maps\_hud_util::setpoint("MIDDLE",undefined,0,30 + param_02); - level.hintelement.color = (1,1,1); - level.hintelement settext(param_00); - level.hintelement.alpha = 0; - level.hintelement fadeovertime(0.5); - level.hintelement.alpha = 1; - wait(0.5); - level.hintelement endon("death"); - if(isdefined(param_01)) - { - wait(param_01); - } - else - { - return; - } - - level.hintelement fadeovertime(var_03); - level.hintelement.alpha = 0; - wait(var_03); - level.hintelement maps\_hud_util::destroyelem(); -} - -//Function Number: 645 -hint_fade() -{ - var_00 = 1; - if(isdefined(level.hintelement)) - { - level notify("clearing_hints"); - level.hintelement fadeovertime(var_00); - level.hintelement.alpha = 0; - wait(var_00); - } -} - -//Function Number: 646 -kill_deathflag(param_00,param_01,param_02) -{ - if(!isdefined(level.flag[param_00])) - { - return; - } - - if(!isdefined(param_01)) - { - param_01 = 0; - } - - foreach(var_04 in level.deathflags[param_00]) - { - foreach(var_06 in var_04) - { - if(isalive(var_06)) - { - var_06 thread maps\_utility_code::kill_deathflag_proc(param_01,param_02); - continue; - } - - var_06 delete(); - } - } -} - -//Function Number: 647 -get_player_view_controller(param_00,param_01,param_02,param_03) -{ - if(!isdefined(param_03)) - { - param_03 = "player_view_controller"; - } - - if(!isdefined(param_02)) - { - param_02 = (0,0,0); - } - - var_04 = param_00 gettagorigin(param_01); - var_05 = spawnturret("misc_turret",var_04,param_03); - var_05.angles = param_00 gettagangles(param_01); - var_05 setmodel("tag_turret"); - var_05 linkto(param_00,param_01,param_02,(0,0,0)); - var_05 makeunusable(); - var_05 hide(); - var_05 setmode("manual"); - return var_05; -} - -//Function Number: 648 -create_blend(param_00,param_01,param_02,param_03) -{ - var_04 = spawnstruct(); - var_04 childthread maps\_utility_code::process_blend(param_00,self,param_01,param_02,param_03); - return var_04; -} - -//Function Number: 649 -set_unstorable_weapon(param_00,param_01) -{ - if(isdefined(self.unstorable_weapons)) - { - self.unstorable_weapons = []; - } - - if(!isdefined(param_01) || param_01) - { - self.unstorable_weapons[param_00] = 1; - return; - } - - self.unstorable_weapons[param_00] = undefined; -} - -//Function Number: 650 -is_unstorable_weapon(param_00) -{ - if(!isdefined(self.unstorable_weapons)) - { - return 0; - } - - return isdefined(self.unstorable_weapons[param_00]); -} - -//Function Number: 651 -store_players_weapons(param_00) -{ - if(!isdefined(self.stored_weapons)) - { - self.stored_weapons = []; - } - - if(!isdefined(self.unstorable_weapons)) - { - self.unstorable_weapons = []; - } - - var_01 = []; - var_02 = self getweaponslistall(); - var_03 = self getcurrentweapon(); - foreach(var_05 in var_02) - { - if(isdefined(self.unstorable_weapons[var_05])) - { - continue; - } - - var_01[var_05] = []; - var_01[var_05]["clip_left"] = self getweaponammoclip(var_05,"left"); - var_01[var_05]["clip_right"] = self getweaponammoclip(var_05,"right"); - var_01[var_05]["stock"] = self setweaponammostock(var_05); - } - - if(!isdefined(param_00)) - { - param_00 = "default"; - } - - self.stored_weapons[param_00] = []; - if(isdefined(self.unstorable_weapons[var_03])) - { - var_07 = self getweaponslistprimaries(); - foreach(var_05 in var_07) - { - if(!isdefined(self.unstorable_weapons[var_05])) - { - var_03 = var_05; - break; - } - } - } - - self.stored_weapons[param_00]["current_weapon"] = var_03; - self.stored_weapons[param_00]["inventory"] = var_01; -} - -//Function Number: 652 -restore_players_weapons(param_00) -{ - if(!isdefined(param_00)) - { - param_00 = "default"; - } - - if(!isdefined(self.stored_weapons) || !isdefined(self.stored_weapons[param_00])) - { - return; - } - - self takeallweapons(); - foreach(var_03, var_02 in self.stored_weapons[param_00]["inventory"]) - { - if(weaponinventorytype(var_03) != "altmode") - { - self giveweapon(var_03); - } - - self setweaponammoclip(var_03,var_02["clip_left"],"left"); - self setweaponammoclip(var_03,var_02["clip_right"],"right"); - self setweaponammostock(var_03,var_02["stock"]); - } - - var_04 = self.stored_weapons[param_00]["current_weapon"]; - if(var_04 != "none") - { - self switchtoweapon(var_04); - } -} - -//Function Number: 653 -get_storable_weapons_list_all() -{ - var_00 = self getweaponslistall(); - if(isdefined(self.unstorable_weapons)) - { - foreach(var_02 in var_00) - { - if(isdefined(self.unstorable_weapons[var_02])) - { - var_00 = common_scripts\utility::array_remove(var_00,var_02); - } - } - } - - return var_00; -} - -//Function Number: 654 -get_storable_weapons_list_primaries() -{ - var_00 = self getweaponslistprimaries(); - if(isdefined(self.unstorable_weapons)) - { - foreach(var_02 in var_00) - { - if(isdefined(self.unstorable_weapons[var_02])) - { - var_00 = common_scripts\utility::array_remove(var_00,var_02); - } - } - } - - return var_00; -} - -//Function Number: 655 -get_storable_current_weapon_primary() -{ - var_00 = self getcurrentprimaryweapon(); - if(isdefined(self.unstorable_weapons) && isdefined(self.unstorable_weapons[var_00])) - { - var_00 = get_first_storable_weapon(); - } - - return var_00; -} - -//Function Number: 656 -get_storable_current_weapon() -{ - var_00 = self getcurrentweapon(); - if(isdefined(self.unstorable_weapons) && isdefined(self.unstorable_weapons[var_00])) - { - var_00 = get_first_storable_weapon(); - } - - return var_00; -} - -//Function Number: 657 -get_first_storable_weapon() -{ - var_00 = get_storable_weapons_list_primaries(); - if(var_00.size > 0) - { - var_01 = var_00[0]; - } - else - { - var_01 = "none"; - } - - return var_01; -} - -//Function Number: 658 -hide_entity() -{ - switch(self.code_classname) - { - case "light_spot": - case "script_vehicle": - case "script_model": - break; - - case "script_brushmodel": - break; - - case "trigger_multiple_flag_looking": - case "trigger_multiple_flag_lookat": - case "trigger_multiple_breachIcon": - case "trigger_multiple_flag_set": - case "trigger_use_touch": - case "trigger_use": - case "trigger_multiple": - case "trigger_radius": - break; - - default: - break; - } -} - -//Function Number: 659 -show_entity() -{ - switch(self.code_classname) - { - case "light_spot": - case "script_vehicle": - case "script_model": - break; - - case "script_brushmodel": - break; - - case "trigger_multiple_flag_looking": - case "trigger_multiple_flag_lookat": - case "trigger_multiple_breachIcon": - case "trigger_multiple_flag_set": - case "trigger_use_touch": - case "trigger_use": - case "trigger_multiple": - case "trigger_radius": - break; - - default: - break; - } -} - -//Function Number: 660 -_rotateyaw(param_00,param_01,param_02,param_03) -{ - if(isdefined(param_03)) - { - self rotateyaw(param_00,param_01,param_02,param_03); - return; - } - - if(isdefined(param_02)) - { - self rotateyaw(param_00,param_01,param_02); - return; - } - - self rotateyaw(param_00,param_01); -} - -//Function Number: 661 -set_moveplaybackrate(param_00,param_01,param_02) -{ - self notify("set_moveplaybackrate"); - self endon("set_moveplaybackrate"); - if(isdefined(param_02) && param_02) - { - thread set_movetransitionrate(param_00,param_01); - } - - if(!isdefined(self.moveplaybackrate_orig)) - { - self.moveplaybackrate_orig = self.moveplaybackrate; - } - - if(isdefined(param_01)) - { - var_03 = param_00 - self.moveplaybackrate; - var_04 = 0.05; - var_05 = param_01 / var_04; - var_06 = var_03 / var_05; - while(abs(param_00 - self.moveplaybackrate) > abs(var_06 * 1.1)) - { - self.moveplaybackrate = self.moveplaybackrate + var_06; - wait(var_04); - } - } - - self.moveplaybackrate = param_00; -} - -//Function Number: 662 -restore_moveplaybackrate(param_00,param_01) -{ - self notify("set_moveplaybackrate"); - self endon("set_moveplaybackrate"); - if(isdefined(param_01) && param_01) - { - thread restore_movetransitionrate(param_00); - } - - set_moveplaybackrate(self.moveplaybackrate_orig,param_00,0); - self.moveplaybackrate_orig = undefined; -} - -//Function Number: 663 -set_movetransitionrate(param_00,param_01) -{ - self notify("set_moveplaybackrate"); - self endon("set_moveplaybackrate"); - if(!isdefined(self.movetransitionrate_orig)) - { - self.movetransitionrate_orig = self.movetransitionrate; - } - - if(isdefined(param_01)) - { - var_02 = param_00 - self.movetransitionrate; - var_03 = 0.05; - var_04 = param_01 / var_03; - var_05 = var_02 / var_04; - while(abs(param_00 - self.movetransitionrate) > abs(var_05 * 1.1)) - { - self.movetransitionrate = self.movetransitionrate + var_05; - wait(var_03); - } - } - - self.movetransitionrate = param_00; -} - -//Function Number: 664 -restore_movetransitionrate(param_00) -{ - self notify("set_moveplaybackrate"); - self endon("set_moveplaybackrate"); - set_movetransitionrate(self.movetransitionrate_orig,param_00); - self.movetransitionrate_orig = undefined; -} - -//Function Number: 665 -array_spawn_function(param_00,param_01,param_02,param_03,param_04,param_05) -{ - foreach(var_07 in param_00) - { - var_07 thread add_spawn_function(param_01,param_02,param_03,param_04,param_05); - } -} - -//Function Number: 666 -array_spawn_function_targetname(param_00,param_01,param_02,param_03,param_04,param_05) -{ - var_06 = getentarray(param_00,"targetname"); - array_spawn_function(var_06,param_01,param_02,param_03,param_04,param_05); -} - -//Function Number: 667 -array_spawn_function_noteworthy(param_00,param_01,param_02,param_03,param_04,param_05) -{ - var_06 = getentarray(param_00,"script_noteworthy"); - array_spawn_function(var_06,param_01,param_02,param_03,param_04,param_05); -} - -//Function Number: 668 -enable_dontevershoot() -{ - self.dontevershoot = 1; -} - -//Function Number: 669 -disable_dontevershoot() -{ - self.dontevershoot = undefined; -} - -//Function Number: 670 -create_sunflare_setting(param_00) -{ - if(!isdefined(level.sunflare_settings)) - { - level.sunflare_settings = []; - } - - var_01 = spawnstruct(); - var_01.name = param_00; - level.sunflare_settings[param_00] = var_01; - return var_01; -} - -//Function Number: 671 -create_vision_set_fog(param_00) -{ - if(!isdefined(level.vision_set_fog)) - { - level.vision_set_fog = []; - } - - var_01 = spawnstruct(); - var_01.name = param_00; - var_01.skyfogintensity = 0; - var_01.skyfogminangle = 0; - var_01.skyfogmaxangle = 0; - var_01.heightfogenabled = 0; - var_01.heightfogbaseheight = 0; - var_01.heightfoghalfplanedistance = 1000; - level.vision_set_fog[tolower(param_00)] = var_01; - return var_01; -} - -//Function Number: 672 -get_vision_set_fog(param_00) -{ - if(!isdefined(level.vision_set_fog)) - { - level.vision_set_fog = []; - } - - var_01 = level.vision_set_fog[tolower(param_00)]; - if(using_hdr_fog() && isdefined(var_01) && isdefined(var_01.hdroverride)) - { - var_01 = level.vision_set_fog[tolower(var_01.hdroverride)]; - } - - return var_01; -} - -//Function Number: 673 -create_fog(param_00) -{ - if(!isdefined(level.fog_set)) - { - level.fog_set = []; - } - - var_01 = spawnstruct(); - var_01.name = param_00; - level.fog_set[tolower(param_00)] = var_01; - return var_01; -} - -//Function Number: 674 -get_fog(param_00) -{ - if(!isdefined(level.fog_set)) - { - level.fog_set = []; - } - - var_01 = level.fog_set[tolower(param_00)]; - return var_01; -} - -//Function Number: 675 -init_self_fog_transition() -{ - if(!isdefined(self.fog_transition_ent)) - { - self.fog_transition_ent = spawnstruct(); - self.fog_transition_ent.fogset = ""; - self.fog_transition_ent.time = 0; - } -} - -//Function Number: 676 -using_hdr_fog() -{ - if(!isdefined(level.console)) - { - set_console_status(); - } - - return is_gen4(); -} - -//Function Number: 677 -fog_set_changes(param_00,param_01) -{ - if(!isplayer(self)) - { - maps\_art::init_fog_transition(); - } - else - { - init_self_fog_transition(); - } - - if(!isdefined(level.fog_set)) - { - level.fog_set = []; - } - - var_02 = level.fog_set[tolower(param_00)]; - if(!isdefined(var_02)) - { - var_02 = level.vision_set_fog[tolower(param_00)]; - } - - if(isdefined(var_02) && isdefined(var_02.hdroverride) && using_hdr_fog()) - { - if(isdefined(level.fog_set[tolower(var_02.hdroverride)])) - { - var_02 = level.fog_set[tolower(var_02.hdroverride)]; - } - else if(isdefined(level.vision_set_fog)) - { - var_02 = level.vision_set_fog[tolower(var_02.hdroverride)]; - } - } - - if(!isdefined(param_01)) - { - param_01 = var_02.transitiontime; - } - - if(!isplayer(self)) - { - common_scripts\utility::set_fog_to_ent_values(var_02,param_01); - level.fog_transition_ent.fogset = param_00; - level.fog_transition_ent.time = param_01; - return; - } - - if(param_00 != "" && self.fog_transition_ent.fogset == param_00 && self.fog_transition_ent.time == param_01) - { - return; - } - - common_scripts\utility::set_fog_to_ent_values(var_02,param_01); - self.fog_transition_ent.fogset = param_00; - self.fog_transition_ent.time = param_01; -} - -//Function Number: 678 -vision_set_fog_changes(param_00,param_01) -{ - var_02 = vision_set_changes(param_00,param_01); - if(var_02) - { - if(level.currentgen && isdefined(get_vision_set_fog(param_00 + "_cg"))) - { - fog_set_changes(param_00 + "_cg",param_01); - return; - } - - if(isdefined(get_vision_set_fog(param_00))) - { - fog_set_changes(param_00,param_01); - return; - } - - clearfog(param_01); - return; - } -} - -//Function Number: 679 -init_self_visionset() -{ - if(!isdefined(self.vision_set_transition_ent)) - { - self.vision_set_transition_ent = spawnstruct(); - self.vision_set_transition_ent.vision_set = ""; - self.vision_set_transition_ent.time = 0; - } -} - -//Function Number: 680 -vision_set_changes(param_00,param_01) -{ - if(!isplayer(self)) - { - var_02 = 1; - if(!isdefined(level.vision_set_transition_ent)) - { - level.vision_set_transition_ent = spawnstruct(); - level.vision_set_transition_ent.vision_set = ""; - level.vision_set_transition_ent.time = 0; - var_02 = 0; - } - - if(param_00 != "" && level.vision_set_transition_ent.vision_set == param_00 && level.vision_set_transition_ent.time == param_01) - { - return 0; - } - - level.vision_set_transition_ent.vision_set = param_00; - level.vision_set_transition_ent.time = param_01; - if(var_02 && getdvarint("scr_art_tweak") != 0) - { - } - else - { - visionsetnaked(param_00,param_01); - } - - level.lvl_visionset = param_00; - setdvar("vision_set_current",param_00); - } - else - { - init_self_visionset(); - if(param_00 != "" && self.vision_set_transition_ent.vision_set == param_00 && self.vision_set_transition_ent.time == param_01) - { - return 0; - } - - self.vision_set_transition_ent.vision_set = param_00; - self.vision_set_transition_ent.time = param_01; - self visionsetnakedforplayer(param_00,param_01); - } - - return 1; -} - -//Function Number: 681 -enable_teamflashbangimmunity() -{ - thread enable_teamflashbangimmunity_proc(); -} - -//Function Number: 682 -enable_teamflashbangimmunity_proc() -{ - self endon("death"); - for(;;) - { - self.teamflashbangimmunity = 1; - wait(0.05); - } -} - -//Function Number: 683 -disable_teamflashbangimmunity() -{ - self.teamflashbangimmunity = undefined; -} - -//Function Number: 684 -_radiusdamage(param_00,param_01,param_02,param_03,param_04) -{ - if(!isdefined(param_04)) - { - radiusdamage(param_00,param_01,param_02,param_03); - return; - } - - radiusdamage(param_00,param_01,param_02,param_03,param_04); -} - -//Function Number: 685 -mask_destructibles_in_volumes(param_00) -{ - var_01 = getentarray("destructible_toy","targetname"); - var_02 = getentarray("destructible_vehicle","targetname"); - var_03 = common_scripts\utility::array_combine(var_01,var_02); - foreach(var_05 in param_00) - { - var_05.destructibles = []; - } - - foreach(var_08 in var_03) - { - foreach(var_05 in param_00) - { - if(!var_05 istouching(var_08)) - { - continue; - } - - var_05 maps\_utility_code::put_toy_in_volume(var_08); - break; - } - } -} - -//Function Number: 686 -interactivekeypairs() -{ - var_00 = []; - var_00[0] = ["interactive_birds","targetname"]; - var_00[1] = ["interactive_vulture","targetname"]; - var_00[2] = ["interactive_fish","script_noteworthy"]; - return var_00; -} - -//Function Number: 687 -mask_interactives_in_volumes(param_00) -{ - var_01 = interactivekeypairs(); - var_02 = []; - foreach(var_04 in var_01) - { - var_05 = getentarray(var_04[0],var_04[1]); - var_02 = common_scripts\utility::array_combine(var_02,var_05); - } - - foreach(var_08 in var_02) - { - if(!isdefined(level._interactive[var_08.interactive_type].savetostructfn)) - { - continue; - } - - foreach(var_0B in param_00) - { - if(!var_0B istouching(var_08)) - { - continue; - } - - if(!isdefined(var_0B.interactives)) - { - var_0B.interactives = []; - } - - var_0B.interactives[var_0B.interactives.size] = var_08 [[ level._interactive[var_08.interactive_type].savetostructfn ]](); - } - } -} - -//Function Number: 688 -activate_interactives_in_volume() -{ - if(!isdefined(self.interactives)) - { - return; - } - - foreach(var_01 in self.interactives) - { - var_01 [[ level._interactive[var_01.interactive_type].loadfromstructfn ]](); - } - - self.interactives = undefined; -} - -//Function Number: 689 -delete_interactives_in_volumes(param_00) -{ - mask_interactives_in_volumes(param_00); - foreach(var_02 in param_00) - { - var_02.interactives = undefined; - } -} - -//Function Number: 690 -mask_exploders_in_volume(param_00) -{ - if(getdvar("createfx") != "") - { - return; - } - - var_01 = getentarray("script_brushmodel","classname"); - var_02 = getentarray("script_model","classname"); - for(var_03 = 0;var_03 < var_02.size;var_03++) - { - var_01[var_01.size] = var_02[var_03]; - } - - foreach(var_05 in param_00) - { - foreach(var_07 in var_01) - { - if(isdefined(var_07.script_prefab_exploder)) - { - var_07.script_exploder = var_07.script_prefab_exploder; - } - - if(!isdefined(var_07.script_exploder)) - { - continue; - } - - if(!isdefined(var_07.model)) - { - continue; - } - - if(var_07.code_classname != "script_model") - { - continue; - } - - if(!var_07 istouching(var_05)) - { - continue; - } - - var_07.masked_exploder = 1; - } - } -} - -//Function Number: 691 -activate_exploders_in_volume() -{ - var_00 = spawn("script_origin",(0,0,0)); - foreach(var_02 in level.createfxent) - { - if(!isdefined(var_02.v["masked_exploder"])) - { - continue; - } - - var_00.origin = var_02.v["origin"]; - var_00.angles = var_02.v["angles"]; - if(!var_00 istouching(self)) - { - continue; - } - - var_03 = var_02.v["masked_exploder"]; - var_04 = var_02.v["masked_exploder_spawnflags"]; - var_05 = var_02.v["masked_exploder_script_disconnectpaths"]; - var_06 = spawn("script_model",(0,0,0),var_04); - var_06 setmodel(var_03); - var_06.origin = var_02.v["origin"]; - var_06.angles = var_02.v["angles"]; - var_02.v["masked_exploder"] = undefined; - var_02.v["masked_exploder_spawnflags"] = undefined; - var_02.v["masked_exploder_script_disconnectpaths"] = undefined; - var_06.disconnect_paths = var_05; - var_06.script_exploder = var_02.v["exploder"]; - common_scripts\_exploder::setup_individual_exploder(var_06); - var_02.model = var_06; - } - - var_00 delete(); -} - -//Function Number: 692 -precache_destructible(param_00) -{ - var_01 = common_scripts\_destructible::destructible_getinfoindex(param_00); - if(var_01 != -1) - { - return; - } - - if(!isdefined(level.destructible_functions)) - { - level.destructible_functions = []; - } - - var_02 = spawnstruct(); - var_02.destructibleinfo = common_scripts\_destructible::destructible_gettype(param_00); - var_02 thread common_scripts\_destructible::precache_destructibles(); - var_02 thread common_scripts\_destructible::add_destructible_fx(); -} - -//Function Number: 693 -delete_destructibles_in_volumes(param_00,param_01) -{ - foreach(var_03 in param_00) - { - var_03.destructibles = []; - } - - var_05 = ["destructible_toy","destructible_vehicle"]; - var_06 = 0; - if(!isdefined(param_01)) - { - param_01 = 0; - } - - foreach(var_08 in var_05) - { - var_09 = getentarray(var_08,"targetname"); - foreach(var_0B in var_09) - { - foreach(var_03 in param_00) - { - if(param_01) - { - var_06++; - var_06 = var_06 % 5; - if(var_06 == 1) - { - wait(0.05); - } - } - - if(!var_03 istouching(var_0B)) - { - continue; - } - - var_0B delete(); - break; - } - } - } -} - -//Function Number: 694 -delete_exploders_in_volumes(param_00,param_01) -{ - var_02 = getentarray("script_brushmodel","classname"); - var_03 = getentarray("script_model","classname"); - for(var_04 = 0;var_04 < var_03.size;var_04++) - { - var_02[var_02.size] = var_03[var_04]; - } - - var_05 = []; - var_06 = spawn("script_origin",(0,0,0)); - var_07 = 0; - if(!isdefined(param_01)) - { - param_01 = 0; - } - - foreach(var_09 in param_00) - { - foreach(var_0B in var_02) - { - if(!isdefined(var_0B.script_exploder)) - { - continue; - } - - var_06.origin = var_0B getorigin(); - if(!var_09 istouching(var_06)) - { - continue; - } - - var_05[var_05.size] = var_0B; - } - } - - array_delete(var_05); - var_06 delete(); -} - -//Function Number: 695 -activate_destructibles_in_volume() -{ - if(!isdefined(self.destructibles)) - { - return; - } - - foreach(var_01 in self.destructibles) - { - var_02 = spawn("script_model",(0,0,0)); - var_02 setmodel(var_01.toy_model); - var_02.origin = var_01.origin; - var_02.angles = var_01.angles; - var_02.script_noteworthy = var_01.script_noteworthy; - var_02.targetname = var_01.targetname; - var_02.target = var_01.target; - var_02.script_linkto = var_01.script_linkto; - var_02.destructible_type = var_01.destructible_type; - var_02.script_noflip = var_01.script_noflip; - var_02 common_scripts\_destructible::setup_destructibles(1); - } - - self.destructibles = []; -} - -//Function Number: 696 -setflashbangimmunity(param_00) -{ - self.flashbangimmunity = param_00; -} - -//Function Number: 697 -flashbanggettimeleftsec() -{ - var_00 = self.flashendtime - gettime(); - if(var_00 < 0) - { - return 0; - } - - return var_00 * 0.001; -} - -//Function Number: 698 -flashbangisactive() -{ - return flashbanggettimeleftsec() > 0; -} - -//Function Number: 699 -flashbangstart(param_00) -{ - if(isdefined(self.flashbangimmunity) && self.flashbangimmunity) - { - return; - } - - var_01 = gettime() + param_00 * 1000; - if(isdefined(self.flashendtime)) - { - self.flashendtime = max(self.flashendtime,var_01); - } - else - { - self.flashendtime = var_01; - } - - self notify("flashed"); - self setflashbanged(1); -} - -//Function Number: 700 -waittill_volume_dead() -{ - for(;;) - { - var_00 = getaispeciesarray("axis","all"); - var_01 = 0; - foreach(var_03 in var_00) - { - if(!isalive(var_03)) - { - continue; - } - - if(var_03 istouching(self)) - { - var_01 = 1; - break; - } - - wait(0.0125); - } - - if(!var_01) - { - var_05 = get_ai_touching_volume("axis"); - if(!var_05.size) - { - break; - } - } - - wait(0.05); - } -} - -//Function Number: 701 -waittill_volume_dead_or_dying() -{ - var_00 = 0; - for(;;) - { - var_01 = getaispeciesarray("axis","all"); - var_02 = 0; - foreach(var_04 in var_01) - { - if(!isalive(var_04)) - { - continue; - } - - if(var_04 istouching(self)) - { - if(var_04 doinglongdeath()) - { - continue; - } - - var_02 = 1; - var_00 = 1; - break; - } - - wait(0.0125); - } - - if(!var_02) - { - var_06 = get_ai_touching_volume("axis"); - if(!var_06.size) - { - break; - } - else - { - var_00 = 1; - } - } - - wait(0.05); - } - - return var_00; -} - -//Function Number: 702 -waittill_volume_dead_then_set_flag(param_00) -{ - waittill_volume_dead(); - common_scripts\utility::flag_set(param_00); -} - -//Function Number: 703 -waittill_targetname_volume_dead_then_set_flag(param_00,param_01) -{ - var_02 = getent(param_00,"targetname"); - var_02 waittill_volume_dead_then_set_flag(param_01); -} - -//Function Number: 704 -player_can_be_shot() -{ - level.player ent_flag_clear("player_zero_attacker_accuracy"); - level.player.ignorerandombulletdamage = 0; - level.player maps\_gameskill::update_player_attacker_accuracy(); -} - -//Function Number: 705 -player_cant_be_shot() -{ - level.player ent_flag_set("player_zero_attacker_accuracy"); - level.player.attackeraccuracy = 0; - level.player.ignorerandombulletdamage = 1; -} - -//Function Number: 706 -set_player_attacker_accuracy(param_00) -{ - var_01 = get_player_from_self(); - var_01.gs.player_attacker_accuracy = param_00; - var_01 maps\_gameskill::update_player_attacker_accuracy(); -} - -//Function Number: 707 -array_index_by_parameters(param_00) -{ - var_01 = []; - foreach(var_03 in param_00) - { - var_01[var_03.script_parameters] = var_03; - } - - return var_01; -} - -//Function Number: 708 -array_index_by_classname(param_00) -{ - var_01 = []; - foreach(var_03 in param_00) - { - var_01[var_03.classname] = var_03; - } - - return var_01; -} - -//Function Number: 709 -array_index_by_script_index(param_00) -{ - var_01 = []; - foreach(var_03 in param_00) - { - var_04 = var_03.script_index; - if(isdefined(var_04)) - { - var_01[var_04] = var_03; - } - } - - return var_01; -} - -//Function Number: 710 -add_target_pivot(param_00) -{ - if(isdefined(param_00)) - { - self.pivot = param_00; - } - else - { - self.pivot = getent(self.target,"targetname"); - } - - self linkto(self.pivot); -} - -//Function Number: 711 -flashbangstop() -{ - self.flashendtime = undefined; - self setflashbanged(0); -} - -//Function Number: 712 -getent_or_struct(param_00,param_01) -{ - var_02 = getent(param_00,param_01); - if(isdefined(var_02)) - { - return var_02; - } - - return common_scripts\utility::getstruct(param_00,param_01); -} - -//Function Number: 713 -grenade_earthquake() -{ - thread endondeath(); - self endon("end_explode"); - self waittill("explode",var_00); - dirt_on_screen_from_position(var_00); -} - -//Function Number: 714 -endondeath() -{ - self waittill("death"); - waittillframeend; - self notify("end_explode"); -} - -//Function Number: 715 -dirt_on_screen_from_position(param_00) -{ - playrumbleonposition("grenade_rumble",param_00); - earthquake(0.3,0.5,param_00,400); - foreach(var_02 in level.players) - { - if(distance(param_00,var_02.origin) > 600) - { - continue; - } - - if(var_02 damageconetrace(param_00)) - { - var_02 thread dirteffect(param_00); - } - } -} - -//Function Number: 716 -player_rides_shotgun_in_humvee(param_00,param_01,param_02,param_03) -{ - return player_rides_in_humvee("shotgun",level.player,param_00,param_01,param_02,param_03); -} - -//Function Number: 717 -player_rides_in_humvee(param_00,param_01,param_02,param_03,param_04,param_05) -{ - if(!isdefined(param_01)) - { - param_01 = level.player; - } - - param_01 allowcrouch(0); - param_01 allowprone(0); - param_01 disableweapons(); - var_06 = common_scripts\utility::spawn_tag_origin(); - var_06 linkto(self,"tag_passenger",player_rides_in_humvee_offset(param_00),(0,0,0)); - var_06.player_dismount = common_scripts\utility::spawn_tag_origin(); - var_06.player_dismount linkto(self,"tag_body",player_rides_humvee_offset_dismount(param_00),(0,0,0)); - if(!isdefined(param_02)) - { - param_02 = 90; - } - - if(!isdefined(param_03)) - { - param_03 = 90; - } - - if(!isdefined(param_04)) - { - param_04 = 40; - } - - if(!isdefined(param_05)) - { - param_05 = 40; - } - - param_01 disableweapons(); - param_01 playerlinkto(var_06,"tag_origin",0.8,param_02,param_03,param_04,param_05); - param_01.humvee_org = var_06; - return var_06; -} - -//Function Number: 718 -player_rides_in_humvee_offset(param_00) -{ - switch(param_00) - { - case "shotgun": - break; - - case "backleft": - break; - - case "backright": - break; - } -} - -//Function Number: 719 -player_rides_humvee_offset_dismount(param_00) -{ - switch(param_00) - { - case "shotgun": - break; - - case "backleft": - break; - - case "backright": - break; - } -} - -//Function Number: 720 -player_leaves_humvee(param_00) -{ - if(!isdefined(param_00)) - { - param_00 = 0; - } - - var_01 = self; - var_02 = level.player; - if(isplayer(self)) - { - var_02 = self; - var_01 = var_02.humvee_org; - } - - var_01 unlink(); - if(!param_00) - { - var_03 = 0.6; - var_01 moveto(var_01.player_dismount.origin,var_03,var_03 * 0.5,var_03 * 0.5); - wait(var_03); - } - - var_02 unlink(); - var_02 enableweapons(); - var_02 allowcrouch(1); - var_02 allowprone(1); - var_02.humvee_org = undefined; - var_01.player_dismount delete(); - var_01 delete(); -} - -//Function Number: 721 -dirteffect(param_00,param_01) -{ - var_02 = screen_effect_sides(param_00); - foreach(var_05, var_04 in var_02) - { - thread maps\_gameskill::grenade_dirt_on_screen(var_05); - } -} - -//Function Number: 722 -bloodsplateffect(param_00) -{ - if(!isdefined(self.damageattacker)) - { - return; - } - - var_01 = screen_effect_sides(self.damageattacker.origin); - foreach(var_04, var_03 in var_01) - { - thread maps\_gameskill::blood_splat_on_screen(var_04); - } -} - -//Function Number: 723 -screen_effect_sides(param_00) -{ - var_01 = vectornormalize(anglestoforward(self.angles)); - var_02 = vectornormalize(anglestoright(self.angles)); - var_03 = vectornormalize(param_00 - self.origin); - var_04 = vectordot(var_03,var_01); - var_05 = vectordot(var_03,var_02); - var_06 = []; - var_07 = self getcurrentweapon(); - if(var_04 > 0 && var_04 > 0.5 && weapontype(var_07) != "riotshield") - { - var_06["bottom"] = 1; - } - - if(abs(var_04) < 0.866) - { - if(var_05 > 0) - { - var_06["right"] = 1; - } - else - { - var_06["left"] = 1; - } - } - - return var_06; -} - -//Function Number: 724 -pathrandompercent_set(param_00) -{ - if(!isdefined(self.old_pathrandompercent)) - { - self.old_pathrandompercent = self.pathrandompercent; - } - - self.pathrandompercent = param_00; -} - -//Function Number: 725 -pathrandompercent_zero() -{ - if(isdefined(self.old_pathrandompercent)) - { - return; - } - - self.old_pathrandompercent = self.pathrandompercent; - self.pathrandompercent = 0; -} - -//Function Number: 726 -pathrandompercent_reset() -{ - self.pathrandompercent = self.old_pathrandompercent; - self.old_pathrandompercent = undefined; -} - -//Function Number: 727 -walkdist_zero() -{ - if(isdefined(self.old_walkdistfacingmotion)) - { - return; - } - - self.old_walkdist = self.walkdist; - self.old_walkdistfacingmotion = self.walkdistfacingmotion; - self.walkdist = 0; - self.walkdistfacingmotion = 0; -} - -//Function Number: 728 -walkdist_force_walk() -{ - if(!isdefined(self.old_walkdistfacingmotion)) - { - self.old_walkdist = self.walkdist; - self.old_walkdistfacingmotion = self.walkdistfacingmotion; - } - - self.walkdist = 999999999; - self.walkdistfacingmotion = 999999999; -} - -//Function Number: 729 -is_walkdist_override() -{ - return isdefined(self.old_walkdistfacingmotion) || isdefined(self.old_walkdist); -} - -//Function Number: 730 -walkdist_reset() -{ - self.walkdist = self.old_walkdist; - self.walkdistfacingmotion = self.old_walkdistfacingmotion; - self.old_walkdist = undefined; - self.old_walkdistfacingmotion = undefined; -} - -//Function Number: 731 -enable_ignorerandombulletdamage_drone() -{ - thread ignorerandombulletdamage_drone_proc(); -} - -//Function Number: 732 -ignorerandombulletdamage_drone_proc() -{ - self endon("disable_ignorerandombulletdamage_drone"); - self endon("death"); - self.ignorerandombulletdamage = 1; - self.fakehealth = self.health; - self.health = 1000000; - for(;;) - { - self waittill("damage",var_00,var_01); - if(!isplayer(var_01) && issentient(var_01)) - { - if(isdefined(var_01.enemy) && var_01.enemy != self) - { - continue; - } - } - - self.fakehealth = self.fakehealth - var_00; - if(self.fakehealth <= 0) - { - break; - } - } - - self kill(); -} - -//Function Number: 733 -set_brakes(param_00) -{ - self.veh_brake = param_00; -} - -//Function Number: 734 -disable_ignorerandombulletdamage_drone() -{ - if(!isalive(self)) - { - return; - } - - if(!isdefined(self.ignorerandombulletdamage)) - { - return; - } - - self notify("disable_ignorerandombulletdamage_drone"); - self.ignorerandombulletdamage = undefined; - self.health = self.fakehealth; -} - -//Function Number: 735 -timeoutent(param_00) -{ - var_01 = spawnstruct(); - var_01 delaythread(param_00,::send_notify,"timeout"); - return var_01; -} - -//Function Number: 736 -delaythread(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - thread maps\_utility_code::delaythread_proc(param_01,param_00,param_02,param_03,param_04,param_05,param_06,param_07); -} - -//Function Number: 737 -delaychildthread(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - childthread maps\_utility_code::delaychildthread_proc(param_01,param_00,param_02,param_03,param_04,param_05,param_06,param_07); -} - -//Function Number: 738 -flagwaitthread(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - self endon("death"); - if(!isarray(param_00)) - { - param_00 = [param_00,0]; - } - - thread maps\_utility_code::flagwaitthread_proc(param_01,param_00,param_02,param_03,param_04,param_05,param_06,param_07); -} - -//Function Number: 739 -waittillthread(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - self endon("death"); - if(!isarray(param_00)) - { - param_00 = [param_00,0]; - } - - thread maps\_utility_code::waittillthread_proc(param_01,param_00,param_02,param_03,param_04,param_05,param_06,param_07); -} - -//Function Number: 740 -enable_danger_react(param_00) -{ - param_00 = param_00 * 1000; - self.dodangerreact = 1; - self.dangerreactduration = param_00; - self.neversprintforvariation = undefined; -} - -//Function Number: 741 -disable_danger_react() -{ - self.dodangerreact = 0; - self.neversprintforvariation = 1; -} - -//Function Number: 742 -set_group_advance_to_enemy_parameters(param_00,param_01) -{ - level.advancetoenemyinterval = param_00; - level.advancetoenemygroupmax = param_01; -} - -//Function Number: 743 -reset_group_advance_to_enemy_timer(param_00) -{ - level.lastadvancetoenemytime[param_00] = gettime(); -} - -//Function Number: 744 -set_custom_gameskill_func(param_00) -{ - level.custom_gameskill_func = param_00; - thread maps\_gameskill::resetskill(); -} - -//Function Number: 745 -clear_custom_gameskill_func() -{ - level.custom_gameskill_func = undefined; - thread maps\_gameskill::resetskill(); -} - -//Function Number: 746 -set_wind(param_00,param_01,param_02) -{ - maps\_animatedmodels::init_wind_if_uninitialized(); - if(isdefined(param_02)) - { - level.wind.variance = param_02; - } - - level.wind.rate = param_01; - level.wind.weight = param_00; - level notify("windchange","strong"); -} - -//Function Number: 747 -string_is_single_digit_integer(param_00) -{ - if(param_00.size > 1) - { - return 0; - } - - var_01 = []; - var_01["0"] = 1; - var_01["1"] = 1; - var_01["2"] = 1; - var_01["3"] = 1; - var_01["4"] = 1; - var_01["5"] = 1; - var_01["6"] = 1; - var_01["7"] = 1; - var_01["8"] = 1; - var_01["9"] = 1; - if(isdefined(var_01[param_00])) - { - return 1; - } - - return 0; -} - -//Function Number: 748 -set_battlechatter_variable(param_00,param_01) -{ - level.battlechatter[param_00] = param_01; - maps\_utility_code::update_battlechatter_hud(); -} - -//Function Number: 749 -objective_clearadditionalpositions(param_00) -{ - for(var_01 = 0;var_01 < 8;var_01++) - { - objective_additionalposition(param_00,var_01,(0,0,0)); - } -} - -//Function Number: 750 -get_minutes_and_seconds(param_00) -{ - var_01 = []; - var_01["minutes"] = 0; - for(var_01["seconds"] = int(param_00 / 1000);var_01["seconds"] >= 60;var_01["seconds"] = var_01["seconds"] - 60) - { - var_01["minutes"]++; - } - - if(var_01["seconds"] < 10) - { - var_01["seconds"] = "0" + var_01["seconds"]; - } - - return var_01; -} - -//Function Number: 751 -player_has_weapon(param_00) -{ - var_01 = level.player getweaponslistprimaries(); - foreach(var_03 in var_01) - { - if(var_03 == param_00) - { - return 1; - } - } - - return 0; -} - -//Function Number: 752 -obj(param_00) -{ - if(!isdefined(level.obj_array)) - { - level.obj_array = []; - } - - if(!isdefined(level.obj_array[param_00])) - { - level.obj_array[param_00] = level.obj_array.size + 1; - } - - return level.obj_array[param_00]; -} - -//Function Number: 753 -obj_exists(param_00) -{ - return isdefined(level.obj_array) && isdefined(level.obj_array[param_00]); -} - -//Function Number: 754 -player_mount_vehicle(param_00) -{ - self mountvehicle(param_00); - self.drivingvehicle = param_00; -} - -//Function Number: 755 -player_dismount_vehicle() -{ - self dismountvehicle(); - self.drivingvehicle = undefined; -} - -//Function Number: 756 -graph_position(param_00,param_01,param_02,param_03,param_04) -{ - var_05 = param_04 - param_02; - var_06 = param_03 - param_01; - var_07 = var_05 / var_06; - param_00 = param_00 - param_03; - param_00 = var_07 * param_00; - param_00 = param_00 + param_04; - return param_00; -} - -//Function Number: 757 -enable_achievement_harder_they_fall() -{ - self.rappeller = 1; -} - -//Function Number: 758 -disable_achievement_harder_they_fall() -{ - self.rappeller = undefined; -} - -//Function Number: 759 -enable_achievement_harder_they_fall_guy(param_00) -{ - param_00 enable_achievement_harder_they_fall(); -} - -//Function Number: 760 -disable_achievement_harder_they_fall_guy(param_00) -{ - param_00 disable_achievement_harder_they_fall(); -} - -//Function Number: 761 -musiclength(param_00) -{ - var_01 = tablelookup("sound/soundlength.csv",0,param_00,1); - if(!isdefined(var_01) || var_01 == "") - { - return -1; - } - - var_01 = int(var_01); - var_01 = var_01 * 0.001; - return var_01; -} - -//Function Number: 762 -is_command_bound(param_00) -{ - var_01 = getkeybinding(param_00); - return var_01["count"]; -} - -//Function Number: 763 -linear_interpolate(param_00,param_01,param_02) -{ - var_03 = param_02 - param_01; - var_04 = param_00 * var_03; - var_05 = param_01 + var_04; - return var_05; -} - -//Function Number: 764 -define_loadout(param_00) -{ - level.loadout = param_00; -} - -//Function Number: 765 -template_level(param_00) -{ - define_loadout(param_00); - level.template_script = param_00; -} - -//Function Number: 766 -template_so_level(param_00) -{ - level.audio_stringtable_mapname = param_00; -} - -//Function Number: 767 -fx_volume_pause_noteworthy(param_00,param_01) -{ - thread fx_volume_pause_noteworthy_thread(param_00,param_01); -} - -//Function Number: 768 -fx_volume_pause_noteworthy_thread(param_00,param_01) -{ - var_02 = getent(param_00,"script_noteworthy"); - var_02 notify("new_volume_command"); - var_02 endon("new_volume_command"); - wait(0.05); - fx_volume_pause(var_02,param_01); -} - -//Function Number: 769 -fx_volume_pause(param_00,param_01) -{ - param_00.fx_paused = 1; - if(!isdefined(param_01)) - { - param_01 = 0; - } - - if(param_01) - { - array_thread_mod_delayed(param_00.fx,::common_scripts\utility::pauseeffect); - return; - } - - common_scripts\utility::array_thread(param_00.fx,::common_scripts\utility::pauseeffect); -} - -//Function Number: 770 -array_thread_mod_delayed(param_00,param_01,param_02) -{ - var_03 = 0; - if(!isdefined(param_02)) - { - param_02 = 5; - } - - var_04 = []; - foreach(var_06 in param_00) - { - var_04[var_04.size] = var_06; - var_03++; - var_03 = var_03 % param_02; - if(param_02 == 0) - { - common_scripts\utility::array_thread(var_04,param_01); - wait(0.05); - var_04 = []; - } - } -} - -//Function Number: 771 -fx_volume_restart_noteworthy(param_00) -{ - thread fx_volume_restart_noteworthy_thread(param_00); -} - -//Function Number: 772 -fx_volume_restart_noteworthy_thread(param_00) -{ - var_01 = getent(param_00,"script_noteworthy"); - var_01 notify("new_volume_command"); - var_01 endon("new_volume_command"); - wait(0.05); - if(!isdefined(var_01.fx_paused)) - { - return; - } - - var_01.fx_paused = undefined; - fx_volume_restart(var_01); -} - -//Function Number: 773 -fx_volume_restart(param_00) -{ - common_scripts\utility::array_thread(param_00.fx,::restarteffect); -} - -//Function Number: 774 -flag_count_increment(param_00) -{ - if(!isdefined(level.flag_count)) - { - level.flag_count = []; - } - - if(!isdefined(level.flag_count[param_00])) - { - level.flag_count[param_00] = 1; - return; - } - - level.flag_count[param_00]++; -} - -//Function Number: 775 -flag_count_decrement(param_00) -{ - level.flag_count[param_00]--; - level.flag_count[param_00] = int(max(0,level.flag_count[param_00])); - if(level.flag_count[param_00]) - { - return; - } - - common_scripts\utility::flag_set(param_00); -} - -//Function Number: 776 -flag_count_set(param_00,param_01) -{ - level.flag_count[param_00] = param_01; -} - -//Function Number: 777 -add_cleanup_ent(param_00,param_01) -{ - if(!isdefined(level.cleanup_ents)) - { - level.cleanup_ents = []; - } - - if(!isdefined(level.cleanup_ents[param_01])) - { - level.cleanup_ents[param_01] = []; - } - - level.cleanup_ents[param_01][level.cleanup_ents[param_01].size] = param_00; -} - -//Function Number: 778 -cleanup_ents(param_00) -{ - var_01 = level.cleanup_ents[param_00]; - var_01 = common_scripts\utility::array_removeundefined(var_01); - array_delete(var_01); - level.cleanup_ents[param_00] = undefined; -} - -//Function Number: 779 -cleanup_ents_removing_bullet_shield(param_00) -{ - if(!isdefined(level.cleanup_ents)) - { - return; - } - - if(!isdefined(level.cleanup_ents[param_00])) - { - return; - } - - var_01 = level.cleanup_ents[param_00]; - var_01 = common_scripts\utility::array_removeundefined(var_01); - foreach(var_03 in var_01) - { - if(!isai(var_03)) - { - continue; - } - - if(!isalive(var_03)) - { - continue; - } - - if(!isdefined(var_03.magic_bullet_shield)) - { - continue; - } - - if(!var_03.magic_bullet_shield) - { - continue; - } - - var_03 stop_magic_bullet_shield(); - } - - array_delete(var_01); - level.cleanup_ents[param_00] = undefined; -} - -//Function Number: 780 -add_trigger_function(param_00) -{ - if(!isdefined(self.trigger_functions)) - { - thread maps\_utility_code::add_trigger_func_thread(); - } - - self.trigger_functions[self.trigger_functions.size] = param_00; -} - -//Function Number: 781 -getallweapons() -{ - var_00 = []; - var_01 = getentarray(); - foreach(var_03 in var_01) - { - if(!isdefined(var_03.classname)) - { - continue; - } - - if(issubstr(var_03.classname,"weapon_")) - { - var_00[var_00.size] = var_03; - } - } - - return var_00; -} - -//Function Number: 782 -radio_add(param_00) -{ - level.scr_radio[param_00] = param_00; -} - -//Function Number: 783 -move_with_rate(param_00,param_01,param_02) -{ - self notify("newmove"); - self endon("newmove"); - if(!isdefined(param_02)) - { - param_02 = 200; - } - - var_03 = distance(self.origin,param_00); - var_04 = var_03 / param_02; - var_05 = vectornormalize(param_00 - self.origin); - self moveto(param_00,var_04,0,0); - self rotateto(param_01,var_04,0,0); - wait(var_04); - if(!isdefined(self)) - { - return; - } - - self.velocity = var_05 * var_03 / var_04; -} - -//Function Number: 784 -flag_on_death(param_00) -{ - level endon(param_00); - self waittill("death"); - common_scripts\utility::flag_set(param_00); -} - -//Function Number: 785 -enable_damagefeedback_hud() -{ - level.damagefeedbackhud = 1; -} - -//Function Number: 786 -disable_damagefeedback_hud() -{ - level.damagefeedbackhud = 0; -} - -//Function Number: 787 -is_damagefeedback_hud_enabled() -{ - return isdefined(level.damagefeedbackhud) && level.damagefeedbackhud; -} - -//Function Number: 788 -enable_damagefeedback_snd() -{ - level.damagefeedbacksnd = 1; -} - -//Function Number: 789 -disable_damagefeedback_snd() -{ - level.damagefeedbacksnd = 0; -} - -//Function Number: 790 -is_damagefeedback_snd_enabled() -{ - return isdefined(level.damagefeedbacksnd) && level.damagefeedbacksnd; -} - -//Function Number: 791 -add_damagefeedback() -{ - maps\_damagefeedback::monitordamage(); -} - -//Function Number: 792 -remove_damagefeedback() -{ - maps\_damagefeedback::stopmonitordamage(); -} - -//Function Number: 793 -is_demo() -{ - if(getdvar("e3demo") == "1") - { - return 1; - } - - return 0; -} - -//Function Number: 794 -deletestructarray(param_00,param_01,param_02) -{ - var_03 = common_scripts\utility::getstructarray(param_00,param_01); - deletestructarray_ref(var_03,param_02); -} - -//Function Number: 795 -deletestruct_ref(param_00) -{ - if(!isdefined(param_00)) - { - return; - } - - var_01 = param_00.script_linkname; - if(isdefined(var_01) && isdefined(level.struct_class_names["script_linkname"]) && isdefined(level.struct_class_names["script_linkname"][var_01])) - { - foreach(var_04, var_03 in level.struct_class_names["script_linkname"][var_01]) - { - if(isdefined(var_03) && param_00 == var_03) - { - level.struct_class_names["script_linkname"][var_01][var_04] = undefined; - } - } - - if(level.struct_class_names["script_linkname"][var_01].size == 0) - { - level.struct_class_names["script_linkname"][var_01] = undefined; - } - } - - var_01 = param_00.script_noteworthy; - if(isdefined(var_01) && isdefined(level.struct_class_names["script_noteworthy"]) && isdefined(level.struct_class_names["script_noteworthy"][var_01])) - { - foreach(var_04, var_03 in level.struct_class_names["script_noteworthy"][var_01]) - { - if(isdefined(var_03) && param_00 == var_03) - { - level.struct_class_names["script_noteworthy"][var_01][var_04] = undefined; - } - } - - if(level.struct_class_names["script_noteworthy"][var_01].size == 0) - { - level.struct_class_names["script_noteworthy"][var_01] = undefined; - } - } - - var_01 = param_00.target; - if(isdefined(var_01) && isdefined(level.struct_class_names["target"]) && isdefined(level.struct_class_names["target"][var_01])) - { - foreach(var_04, var_03 in level.struct_class_names["target"][var_01]) - { - if(isdefined(var_03) && param_00 == var_03) - { - level.struct_class_names["target"][var_01][var_04] = undefined; - } - } - - if(level.struct_class_names["target"][var_01].size == 0) - { - level.struct_class_names["target"][var_01] = undefined; - } - } - - var_01 = param_00.targetname; - if(isdefined(var_01) && isdefined(level.struct_class_names["targetname"]) && isdefined(level.struct_class_names["targetname"][var_01])) - { - foreach(var_04, var_03 in level.struct_class_names["targetname"][var_01]) - { - if(isdefined(var_03) && param_00 == var_03) - { - level.struct_class_names["targetname"][var_01][var_04] = undefined; - } - } - - if(level.struct_class_names["targetname"][var_01].size == 0) - { - level.struct_class_names["targetname"][var_01] = undefined; - } - } - - if(isdefined(level.struct)) - { - foreach(var_04, var_03 in level.struct) - { - if(param_00 == var_03) - { - level.struct[var_04] = undefined; - } - } - } -} - -//Function Number: 796 -deletestructarray_ref(param_00,param_01) -{ - if(!isdefined(param_00) || !isarray(param_00) || param_00.size == 0) - { - return; - } - - param_01 = common_scripts\utility::ter_op(isdefined(param_01),param_01,0); - param_01 = common_scripts\utility::ter_op(param_01 > 0,param_01,0); - if(param_01 > 0) - { - foreach(var_03 in param_00) - { - deletestruct_ref(var_03); - wait(param_01); - } - - return; - } - - foreach(var_03 in param_01) - { - deletestruct_ref(var_03); - } -} - -//Function Number: 797 -getstruct_delete(param_00,param_01) -{ - var_02 = common_scripts\utility::getstruct(param_00,param_01); - deletestruct_ref(var_02); - return var_02; -} - -//Function Number: 798 -getstructarray_delete(param_00,param_01,param_02) -{ - var_03 = common_scripts\utility::getstructarray(param_00,param_01); - deletestructarray_ref(var_03,param_02); - return var_03; -} - -//Function Number: 799 -getent_or_struct_or_node(param_00,param_01) -{ - var_02 = getent_or_struct(param_00,param_01); - if(!isdefined(var_02)) - { - var_02 = getnode(param_00,param_01); - } - - if(!isdefined(var_02)) - { - var_02 = getvehiclenode(param_00,param_01); - } - - return var_02; -} - -//Function Number: 800 -setentityheadicon(param_00,param_01,param_02,param_03,param_04) -{ - if(isdefined(param_03)) - { - self.entityheadiconoffset = param_03; - } - else - { - self.entityheadiconoffset = (0,0,0); - } - - if(isdefined(param_04)) - { - self.entityheadiconreferencefunc = param_04; - } - - self notify("new_head_icon"); - var_05 = newhudelem(); - var_05.archived = 1; - var_05.alpha = 0.8; - var_05 setshader(param_00,param_01,param_02); - var_05 setwaypoint(0,0,0,1); - self.entityheadicon = var_05; - updateentityheadiconorigin(); - thread updateentityheadicon(); - thread destroyentityheadiconondeath(); -} - -//Function Number: 801 -removeentityheadicon() -{ - if(!isdefined(self.entityheadicon)) - { - return; - } - - self.entityheadicon destroy(); -} - -//Function Number: 802 -updateentityheadicon() -{ - self endon("new_head_icon"); - self endon("death"); - var_00 = self.origin; - for(;;) - { - if(var_00 != self.origin) - { - updateentityheadiconorigin(); - var_00 = self.origin; - } - - wait(0.05); - } -} - -//Function Number: 803 -updateentityheadiconorigin() -{ - if(isdefined(self.entityheadiconreferencefunc)) - { - var_00 = self [[ self.entityheadiconreferencefunc ]](); - if(isdefined(var_00)) - { - self.entityheadicon.x = self.entityheadiconoffset[0] + var_00[0]; - self.entityheadicon.y = self.entityheadiconoffset[1] + var_00[1]; - self.entityheadicon.z = self.entityheadiconoffset[2] + var_00[2]; - return; - } - } - - self.entityheadicon.x = self.origin[0] + self.entityheadiconoffset[0]; - self.entityheadicon.y = self.origin[1] + self.entityheadiconoffset[1]; - self.entityheadicon.z = self.origin[2] + self.entityheadiconoffset[2]; -} - -//Function Number: 804 -destroyentityheadiconondeath() -{ - self endon("new_head_icon"); - self waittill("death"); - if(!isdefined(self.entityheadicon)) - { - return; - } - - self.entityheadicon destroy(); -} - -//Function Number: 805 -worldtolocalcoords(param_00) -{ - var_01 = param_00 - self.origin; - return (vectordot(var_01,anglestoforward(self.angles)),-1 * vectordot(var_01,anglestoright(self.angles)),vectordot(var_01,anglestoup(self.angles))); -} - -//Function Number: 806 -intro_screen_create(param_00,param_01,param_02,param_03,param_04) -{ - level.introscreen = spawnstruct(); - level.introscreen.completed_delay = 3; - level.introscreen.fade_out_time = 1.5; - level.introscreen.fade_in_time = undefined; - if(isdefined(param_03)) - { - level.introscreen.lines = [param_00,param_01,param_02,param_03]; - } - else - { - level.introscreen.lines = [param_00,param_01,param_02]; - } - - common_scripts\utility::noself_array_call(level.introscreen.lines,::precachestring); -} - -//Function Number: 807 -intro_screen_custom_func(param_00) -{ - level.introscreen.customfunc = param_00; -} - -//Function Number: 808 -intro_screen_custom_timing(param_00,param_01,param_02) -{ - level.introscreen.completed_delay = param_00; - level.introscreen.fade_out_time = param_01; - level.introscreen.fade_in_time = param_02; -} - -//Function Number: 809 -set_npc_anims(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) -{ - if(isdefined(param_01)) - { - self.run_overrideanim = param_01; - } - - if(isdefined(param_02)) - { - self.walk_overrideanim = param_02; - } - - if(isdefined(param_03)) - { - self.specialidleanim = param_03; - } - - self.animarchetype = param_00; - var_0A = []; - if(isdefined(param_04) && isdefined(param_05)) - { - var_0B = []; - foreach(var_0D in param_06) - { - var_0B[var_0D] = param_04; - } - - var_0A["cover_trans"] = var_0B; - var_0F = []; - foreach(var_0D in param_06) - { - var_0F[var_0D] = param_05; - } - - var_0A["cover_exit"] = var_0F; - } - else if(isdefined(param_04) || isdefined(param_05)) - { - } - - if(isdefined(param_07)) - { - if(isdefined(param_08)) - { - } - - var_0A["run_turn"] = param_07; - var_0A["walk_turn"] = param_08; - self.noturnanims = undefined; - } - else if(isdefined(param_08)) - { - } - else - { - self.noturnanims = 1; - } - - if(isdefined(param_09)) - { - var_12 = []; - var_12["stairs_up"] = param_09["stairs_up"]; - var_12["stairs_down"] = param_09["stairs_down"]; - var_12["stairs_up_in"] = param_09["stairs_up_in"]; - var_12["stairs_down_in"] = param_09["stairs_down_in"]; - var_12["stairs_up_out"] = param_09["stairs_up_out"]; - var_12["stairs_down_out"] = param_09["stairs_down_out"]; - var_0A["walk"] = var_12; - var_0A["run"] = var_12; - self.run_overrideanim_hasstairanimarray = 1; - } - else - { - self.run_overrideanim_hasstairanimarray = undefined; - } - - level.archetypes[param_00] = var_0A; - animscripts\init_move_transitions::inittransdistandanglesforarchetype(param_00); -} - -//Function Number: 810 -clear_npc_anims(param_00) -{ - self.animarchetype = undefined; - level.archetypes[param_00] = undefined; - self.run_overrideanim = undefined; - self.run_overrideanim_hasstairanimarray = undefined; - self.walk_overrideanim = undefined; - self.specialidleanim = undefined; -} - -//Function Number: 811 -register_archetype(param_00,param_01,param_02) -{ - animscripts\animset::registerarchetype(param_00,param_01,param_02); -} - -//Function Number: 812 -archetype_exists(param_00) -{ - return animscripts\animset::archetypeexists(param_00); -} - -//Function Number: 813 -set_archetype(param_00) -{ - self.animarchetype = param_00; - self notify("move_loop_restart"); - if(param_00 == "creepwalk") - { - self.sharpturnlookaheaddist = 72; - } -} - -//Function Number: 814 -clear_archetype() -{ - if(isdefined(self.animarchetype) && self.animarchetype == "creepwalk") - { - self.sharpturnlookaheaddist = 30; - } - - self.animarchetype = undefined; - self notify("move_loop_restart"); -} - -//Function Number: 815 -shot_endangers_any_player(param_00,param_01) -{ - foreach(var_03 in level.players) - { - if(var_03 shot_endangers_player(param_00,param_01)) - { - return 1; - } - } - - return 0; -} - -//Function Number: 816 -shot_endangers_player(param_00,param_01) -{ - var_02 = self getpointinbounds(0,0,0); - var_03 = var_02 - param_00; - var_04 = length(var_03); - var_05 = asin(clamp(60 / var_04,0,1)); - if(vectordot(vectornormalize(var_03),vectornormalize(param_01 - param_00)) > cos(var_05)) - { - return 1; - } - - return 0; -} - -//Function Number: 817 -transient_load(param_00) -{ - loadtransient(param_00); - while(!istransientloaded(param_00)) - { - wait(0.1); - } - - common_scripts\utility::flag_set(param_00 + "_loaded"); -} - -//Function Number: 818 -transient_unload(param_00) -{ - unloadtransient(param_00); - while(istransientloaded(param_00)) - { - wait(0.1); - } - - common_scripts\utility::flag_clear(param_00 + "_loaded"); -} - -//Function Number: 819 -transient_init(param_00) -{ - common_scripts\utility::flag_init(param_00 + "_loaded"); -} - -//Function Number: 820 -transient_switch(param_00,param_01) -{ - if(common_scripts\utility::flag(param_00 + "_loaded")) - { - transient_unload(param_00); - } - - if(!common_scripts\utility::flag(param_01 + "_loaded")) - { - transient_load(param_01); - } -} - -//Function Number: 821 -transient_unloadall_and_load(param_00) -{ - unloadalltransients(); - transient_load(param_00); -} - -//Function Number: 822 -deep_array_call(param_00,param_01,param_02) -{ - if(!isdefined(param_02)) - { - foreach(var_04 in param_00) - { - if(isdefined(var_04)) - { - if(isarray(var_04)) - { - deep_array_call(var_04,param_01); - continue; - } - - var_04 [[ param_01 ]](); - } - } - - return; - } - - switch(var_05.size) - { - case 0: - break; - - case 1: - break; - - case 2: - break; - - case 3: - break; - - case 4: - break; - - case 5: - break; - } -} - -//Function Number: 823 -deep_array_thread(param_00,param_01,param_02) -{ - if(!isdefined(param_02)) - { - foreach(var_04 in param_00) - { - if(isdefined(var_04)) - { - if(isarray(var_04)) - { - deep_array_thread(var_04,param_01,param_02); - continue; - } - - var_04 thread [[ param_01 ]](); - } - } - - return; - } - - switch(var_05.size) - { - case 0: - break; - - case 1: - break; - - case 2: - break; - - case 3: - break; - - case 4: - break; - - case 5: - break; - } -} - -//Function Number: 824 -setdvar_cg_ng(param_00,param_01,param_02) -{ - if(!isdefined(level.console)) - { - set_console_status(); - } - - if(is_gen4()) - { - setdvar(param_00,param_02); - return; - } - - setdvar(param_00,param_01); -} - -//Function Number: 825 -setsaveddvar_cg_ng(param_00,param_01,param_02) -{ - if(!isdefined(level.console)) - { - set_console_status(); - } - - if(is_gen4()) - { - setsaveddvar(param_00,param_02); - return; - } - - setsaveddvar(param_00,param_01); -} - -//Function Number: 826 -follow_path_and_animate(param_00,param_01) -{ - self endon("death"); - self endon("stop_path"); - self notify("stop_going_to_node"); - self notify("follow_path"); - self endon("follow_path"); - wait(0.1); - var_02 = param_00; - var_03 = undefined; - var_04 = undefined; - if(!isdefined(param_01)) - { - param_01 = 300; - } - - self.current_follow_path = var_02; - var_02 script_delay(); - if(isdefined(var_02)) - { - self.current_follow_path = var_02; - if(isdefined(var_02.lookahead)) - { - break; - } - - if(isdefined(level.struct_class_names["targetname"][var_02.targetname])) - { - var_04 = ::follow_path_animate_set_struct; - } - else if(isdefined(var_02.classname)) - { - var_04 = ::follow_path_animate_set_ent; - } - else - { - var_04 = ::follow_path_animate_set_node; - } - - if(isdefined(var_02.radius) && var_02.radius != 0) - { - self.goalradius = var_02.radius; - } - - if(self.goalradius < 16) - { - self.goalradius = 16; - } - - if(isdefined(var_02.height) && var_02.height != 0) - { - self.goalheight = var_02.height; - } - - var_05 = self.goalradius; - self childthread [[ var_04 ]](var_02); - if(isdefined(var_02.animation)) - { - var_02 waittill(var_02.animation); - } - else - { - for(;;) - { - self waittill("goal"); - if(distance(var_02.origin,self.origin) < var_05 + 10 || self.team != "allies") - { - break; - } - } - } - - var_02 notify("trigger",self); - if(isdefined(var_02.script_flag_set)) - { - common_scripts\utility::flag_set(var_02.script_flag_set); - } - - if(isdefined(var_02.script_parameters)) - { - var_06 = strtok(var_02.script_parameters," "); - var_07 = 0; - if(var_07 < var_06.size) - { - if(isdefined(level.custom_followpath_parameter_func)) - { - self [[ level.custom_followpath_parameter_func ]](var_06[var_07],var_02); - } - - if(self.type == "dog") - { - continue; - } - - switch(var_06[var_07]) - { - case "enable_cqb": - break; - - case "disable_cqb": - break; - - case "deleteme": - break; - } - } - } - } -} - -//Function Number: 827 -follow_path_wait_for_player(param_00,param_01) -{ - if(distance(level.player.origin,param_00.origin) < distance(self.origin,param_00.origin)) - { - return 1; - } - - var_02 = undefined; - var_02 = anglestoforward(self.angles); - var_03 = vectornormalize(level.player.origin - self.origin); - if(isdefined(param_00.target)) - { - var_04 = common_scripts\utility::get_target_ent(param_00.target); - var_02 = vectornormalize(var_04.origin - param_00.origin); - } - else if(isdefined(param_00.angles)) - { - var_02 = anglestoforward(param_00.angles); - } - else - { - var_02 = anglestoforward(self.angles); - } - - if(vectordot(var_02,var_03) > 0) - { - return 1; - } - - if(distance(level.player.origin,self.origin) < param_01) - { - return 1; - } - - return 0; -} - -//Function Number: 828 -follow_path_animate_set_node(param_00) -{ - self notify("follow_path_new_goal"); - if(isdefined(param_00.animation)) - { - param_00 maps\_anim::anim_generic_reach(self,param_00.animation); - self notify("starting_anim",param_00.animation); - if(isdefined(param_00.script_parameters) && issubstr(param_00.script_parameters,"gravity")) - { - param_00 maps\_anim::anim_generic_gravity(self,param_00.animation); - } - else - { - param_00 maps\_anim::anim_generic_run(self,param_00.animation); - } - - self setgoalpos(self.origin); - return; - } - - set_goal_node(param_00); -} - -//Function Number: 829 -follow_path_animate_set_ent(param_00) -{ - self notify("follow_path_new_goal"); - if(isdefined(param_00.animation)) - { - param_00 maps\_anim::anim_generic_reach(self,param_00.animation); - self notify("starting_anim",param_00.animation); - if(isdefined(param_00.script_parameters) && issubstr(param_00.script_parameters,"gravity")) - { - param_00 maps\_anim::anim_generic_gravity(self,param_00.animation); - } - else - { - param_00 maps\_anim::anim_generic_run(self,param_00.animation); - } - - self setgoalpos(self.origin); - return; - } - - set_goal_ent(param_00); -} - -//Function Number: 830 -follow_path_animate_set_struct(param_00) -{ - self notify("follow_path_new_goal"); - if(isdefined(param_00.animation)) - { - param_00 maps\_anim::anim_generic_reach(self,param_00.animation); - self notify("starting_anim",param_00.animation); - disable_exits(); - if(isdefined(param_00.script_parameters) && issubstr(param_00.script_parameters,"gravity")) - { - param_00 maps\_anim::anim_generic_gravity(self,param_00.animation); - } - else - { - param_00 maps\_anim::anim_generic_run(self,param_00.animation); - } - - delaythread(0.05,::enable_exits); - self setgoalpos(self.origin); - return; - } - - set_goal_pos(param_00.origin); -} - -//Function Number: 831 -post_load_precache(param_00) -{ - if(!isdefined(level.post_load_funcs)) - { - level.post_load_funcs = []; - } - - level.post_load_funcs = common_scripts\utility::array_add(level.post_load_funcs,param_00); -} - -//Function Number: 832 -game_is_current_gen() -{ - if(level.xenon) - { - return 1; - } - - if(level.ps3) - { - return 1; - } - - return 0; -} - -//Function Number: 833 -lerpfov_saved(param_00,param_01) -{ - thread lerpfov_saved_thread(param_00,param_01); -} - -//Function Number: 834 -lerpfov_saved_thread(param_00,param_01) -{ - self notify("new_lerp_Fov_Saved"); - self endon("new_lerp_Fov_Saved"); - self lerpfov(param_00,param_01); - wait(param_01); - setsaveddvar("cg_fov",param_00); -} - -//Function Number: 835 -getdvarfloatdefault(param_00,param_01) -{ - var_02 = getdvar(param_00); - if(var_02 != "") - { - return float(var_02); - } - - return param_01; -} - -//Function Number: 836 -getdvarintdefault(param_00,param_01) -{ - var_02 = getdvar(param_00); - if(var_02 != "") - { - return int(var_02); - } - - return param_01; -} - -//Function Number: 837 -ui_action_slot_force_active_on(param_00) -{ - var_01 = "ui_actionslot_" + param_00 + "_forceActive"; - setdvar(var_01,"on"); -} - -//Function Number: 838 -ui_action_slot_force_active_off(param_00) -{ - var_01 = "ui_actionslot_" + param_00 + "_forceActive"; - setdvar(var_01,"turn_off"); -} - -//Function Number: 839 -ui_action_slot_force_active_one_time(param_00) -{ - var_01 = "ui_actionslot_" + param_00 + "_forceActive"; - setdvar(var_01,"onetime"); -} - -//Function Number: 840 -hastag(param_00,param_01) -{ - var_02 = getnumparts(param_00); - for(var_03 = 0;var_03 < var_02;var_03++) - { - if(tolower(getpartname(param_00,var_03)) == tolower(param_01)) - { - return 1; - } - } - - return 0; -} - -//Function Number: 841 -stylized_center_text(param_00,param_01,param_02,param_03) -{ - if(!isarray(param_00)) - { - param_00 = [param_00]; - } - - var_04 = 320; - var_05 = 200; - var_06 = []; - foreach(var_0A, var_08 in param_00) - { - var_09 = maps\_introscreen::stylized_line(var_08,param_01,var_04,var_05 + var_0A * 20,"center",param_02,param_03); - var_06 = common_scripts\utility::array_combine(var_09,var_06); - } - - wait(param_01); - maps\_introscreen::stylized_fadeout(var_06,var_04,var_05,param_00.size); -} - -//Function Number: 842 -center_screen_text(param_00) -{ - thread maps\_introscreen::center_screen_lines(param_00); -} - -//Function Number: 843 -enable_s1_motionset(param_00) -{ - if(!s1_motionset_avaliable()) - { - return; - } - - if(isdefined(self.mech) && self.mech) - { - return; - } - - if(!level.nextgen) - { - return; - } - - if(isdefined(param_00) && param_00) - { - if(!isdefined(self.animarchetype) || self.animarchetype == "soldier") - { - self.animarchetype = "s1_soldier"; - return; - } - - return; - } - - if(!isdefined(self.animarchetype) || self.animarchetype == "s1_soldier") - { - self.animarchetype = "soldier"; - } -} - -//Function Number: 844 -s1_motionset_avaliable() -{ - if(level.nextgen) - { - return 1; - } - - return 0; -} - -//Function Number: 845 -ai_ignore_everything() -{ - if(isdefined(self.script_drone)) - { - return; - } - - if(isdefined(self._ignore_settings_old)) - { - ai_unignore_everything(); - } - - self._ignore_settings_old = []; - self.disableplayeradsloscheck = maps\_utility_code::ai_save_ignore_setting(self.disableplayeradsloscheck,"disableplayeradsloscheck",1); - self.ignoreall = maps\_utility_code::ai_save_ignore_setting(self.ignoreall,"ignoreall",1); - self.ignoreme = maps\_utility_code::ai_save_ignore_setting(self.ignoreme,"ignoreme",1); - self.grenadeawareness = maps\_utility_code::ai_save_ignore_setting(self.grenadeawareness,"grenadeawareness",0); - self.badplaceawareness = maps\_utility_code::ai_save_ignore_setting(self.badplaceawareness,"badplaceawareness",0); - self.ignoreexplosionevents = maps\_utility_code::ai_save_ignore_setting(self.ignoreexplosionevents,"ignoreexplosionevents",1); - self.ignorerandombulletdamage = maps\_utility_code::ai_save_ignore_setting(self.ignorerandombulletdamage,"ignorerandombulletdamage",1); - self.ignoresuppression = maps\_utility_code::ai_save_ignore_setting(self.ignoresuppression,"ignoresuppression",1); - self.dontavoidplayer = maps\_utility_code::ai_save_ignore_setting(self.dontavoidplayer,"dontavoidplayer",1); - self.newenemyreactiondistsq = maps\_utility_code::ai_save_ignore_setting(self.newenemyreactiondistsq,"newEnemyReactionDistSq",0); - self.disablebulletwhizbyreaction = maps\_utility_code::ai_save_ignore_setting(self.disablebulletwhizbyreaction,"disableBulletWhizbyReaction",1); - self.disablefriendlyfirereaction = maps\_utility_code::ai_save_ignore_setting(self.disablefriendlyfirereaction,"disableFriendlyFireReaction",1); - self.dontmelee = maps\_utility_code::ai_save_ignore_setting(self.dontmelee,"dontMelee",1); - self.flashbangimmunity = maps\_utility_code::ai_save_ignore_setting(self.flashbangimmunity,"flashBangImmunity",1); - self.dodangerreact = maps\_utility_code::ai_save_ignore_setting(self.dodangerreact,"doDangerReact",0); - self.neversprintforvariation = maps\_utility_code::ai_save_ignore_setting(self.neversprintforvariation,"neverSprintForVariation",1); - self.a.disablepain = maps\_utility_code::ai_save_ignore_setting(self.a.disablepain,"a.disablePain",1); - self.allowpain = maps\_utility_code::ai_save_ignore_setting(self.allowpain,"allowPain",0); - self.fixednode = maps\_utility_code::ai_save_ignore_setting(self.fixednode,"fixedNode",1); - self.script_forcegoal = maps\_utility_code::ai_save_ignore_setting(self.script_forcegoal,"script_forcegoal",1); - self.goalradius = maps\_utility_code::ai_save_ignore_setting(self.goalradius,"goalradius",5); - disable_ai_color(); -} - -//Function Number: 846 -ai_unignore_everything(param_00) -{ - if(isdefined(self.script_drone)) - { - return; - } - - if(isdefined(param_00) && param_00) - { - if(isdefined(self._ignore_settings_old)) - { - self._ignore_settings_old = undefined; - } - } - - self.disableplayeradsloscheck = maps\_utility_code::ai_restore_ignore_setting("disableplayeradsloscheck",0); - self.ignoreall = maps\_utility_code::ai_restore_ignore_setting("ignoreall",0); - self.ignoreme = maps\_utility_code::ai_restore_ignore_setting("ignoreme",0); - self.grenadeawareness = maps\_utility_code::ai_restore_ignore_setting("grenadeawareness",1); - self.badplaceawareness = maps\_utility_code::ai_restore_ignore_setting("badplaceawareness",1); - self.ignoreexplosionevents = maps\_utility_code::ai_restore_ignore_setting("ignoreexplosionevents",0); - self.ignorerandombulletdamage = maps\_utility_code::ai_restore_ignore_setting("ignorerandombulletdamage",0); - self.ignoresuppression = maps\_utility_code::ai_restore_ignore_setting("ignoresuppression",0); - self.dontavoidplayer = maps\_utility_code::ai_restore_ignore_setting("dontavoidplayer",0); - self.newenemyreactiondistsq = maps\_utility_code::ai_restore_ignore_setting("newEnemyReactionDistSq",262144); - self.disablebulletwhizbyreaction = maps\_utility_code::ai_restore_ignore_setting("disableBulletWhizbyReaction",undefined); - self.disablefriendlyfirereaction = maps\_utility_code::ai_restore_ignore_setting("disableFriendlyFireReaction",undefined); - self.dontmelee = maps\_utility_code::ai_restore_ignore_setting("dontMelee",undefined); - self.flashbangimmunity = maps\_utility_code::ai_restore_ignore_setting("flashBangImmunity",undefined); - self.dodangerreact = maps\_utility_code::ai_restore_ignore_setting("doDangerReact",1); - self.neversprintforvariation = maps\_utility_code::ai_restore_ignore_setting("neverSprintForVariation",undefined); - self.a.disablepain = maps\_utility_code::ai_restore_ignore_setting("a.disablePain",0); - self.allowpain = maps\_utility_code::ai_restore_ignore_setting("allowPain",1); - self.fixednode = maps\_utility_code::ai_restore_ignore_setting("fixedNode",0); - self.script_forcegoal = maps\_utility_code::ai_restore_ignore_setting("script_forcegoal",0); - self.goalradius = maps\_utility_code::ai_restore_ignore_setting("goalradius",100); - enable_ai_color(); - self._ignore_settings_old = undefined; -} - -//Function Number: 847 -attach_player_current_weapon_to_anim_tag(param_00) -{ - var_01 = level.player getcurrentweapon(); - var_02 = getweaponandattachmentmodels(var_01); - var_03 = var_02[0]["weapon"]; - var_04 = array_remove_index(var_02,0); - self attach(var_03,param_00,1); - foreach(var_06 in var_04) - { - self attach(var_06["attachment"],var_06["attachTag"]); - } - - self hideweapontags(var_01); -} - -//Function Number: 848 -playerallowalternatemelee(param_00,param_01) -{ - _playerallow("altmelee",param_00,param_01,::_allowalternatemelee,0); -} - -//Function Number: 849 -_allowalternatemelee(param_00) -{ - if(param_00) - { - self enablealternatemelee(); - return; - } - - self disablealternatemelee(); -} - -//Function Number: 850 -playerallowweaponpickup(param_00,param_01) -{ - _playerallow("weaponPickup",param_00,param_01,::_allowweaponpickup,0); -} - -//Function Number: 851 -_allowweaponpickup(param_00) -{ - if(param_00) - { - self enableweaponpickup(); - return; - } - - self disableweaponpickup(); -} - -//Function Number: 852 -_playerallow(param_00,param_01,param_02,param_03,param_04) -{ - if(!isdefined(self.playerdisableabilitytypes)) - { - self.playerdisableabilitytypes = []; - } - - if(!isdefined(self.playerdisableabilitytypes[param_00])) - { - self.playerdisableabilitytypes[param_00] = []; - } - - if(!isdefined(param_02)) - { - param_02 = "default"; - } - - if(param_01) - { - self.playerdisableabilitytypes[param_00] = common_scripts\utility::array_remove(self.playerdisableabilitytypes[param_00],param_02); - if(!self.playerdisableabilitytypes[param_00].size) - { - if(!isdefined(param_04) || param_04) - { - self [[ param_03 ]](1); - return; - } - - self [[ param_03 ]](1); - return; - } - - return; - } - - if(!isdefined(common_scripts\utility::array_find(self.playerdisableabilitytypes[param_00],param_02))) - { - self.playerdisableabilitytypes[param_00] = common_scripts\utility::array_add(self.playerdisableabilitytypes[param_00],param_02); - } - - if(!isdefined(param_04) || param_04) - { - self [[ param_03 ]](0); - return; - } - - self [[ param_03 ]](0); -} - -//Function Number: 853 -pretend_to_be_dead() -{ - if(!isalive(self)) - { - return; - } - - self.pretending_to_be_dead = 1; - self setthreatdetection("disable"); - self disableaimassist(); - self.ignoreme = 1; - self.ignoresonicaoe = 1; -} - -//Function Number: 854 -tff_sync_setup() -{ - precacheshader("loading_animation"); - common_scripts\utility::flag_init("tff_sync_complete"); - maps\_utility_code::_tff_sync_triggers(); -} - -//Function Number: 855 -tff_sync(param_00) -{ - if(isdefined(param_00)) - { - wait(param_00); - } - - if(aretransientsbusy()) - { - common_scripts\utility::flag_clear("tff_sync_complete"); - synctransients(); - while(aretransientsbusy()) - { - wait(0.05); - } - - common_scripts\utility::flag_set("tff_sync_complete"); - } -} - -//Function Number: 856 -tff_sync_notetrack(param_00,param_01) -{ - tff_sync(param_01); -} - -//Function Number: 857 -logbreadcrumbdatasp() -{ - level.player endon("death"); - for(;;) - { - var_00 = getspcheckpointdata(); - var_01 = var_00[4]; - var_02 = gettime(); - recordbreadcrumbdataforplayersp(level.player,var_01,var_02); - wait(2); - } -} \ No newline at end of file diff --git a/AW/PC/SP/vehicle_scripts/_empty.gsc b/AW/PC/SP/vehicle_scripts/_empty.gsc deleted file mode 100644 index a4dc136..0000000 --- a/AW/PC/SP/vehicle_scripts/_empty.gsc +++ /dev/null @@ -1,14 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_empty.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 1 - * Decompile Time: 11 ms - * Timestamp: 10/27/2023 2:06:17 AM -*******************************************************************/ - -//Function Number: 1 -main(param_00,param_01) -{ -} \ No newline at end of file diff --git a/AW/PC/ZM/common_scripts/_artcommon.gsc b/AW/PC/ZM/common_scripts/_artcommon.gsc deleted file mode 100644 index 68acea9..0000000 --- a/AW/PC/ZM/common_scripts/_artcommon.gsc +++ /dev/null @@ -1,14 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: common_scripts/_artcommon.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 1 - * Decompile Time: 14 ms - * Timestamp: 10/27/2023 2:07:11 AM -*******************************************************************/ - -//Function Number: 1 -setfogsliders() -{ -} \ No newline at end of file diff --git a/AW/PC/ZM/common_scripts/_bcs_location_trigs.gsc b/AW/PC/ZM/common_scripts/_bcs_location_trigs.gsc deleted file mode 100644 index 2b6e707..0000000 --- a/AW/PC/ZM/common_scripts/_bcs_location_trigs.gsc +++ /dev/null @@ -1,811 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: common_scripts/_bcs_location_trigs.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 34 - * Decompile Time: 521 ms - * Timestamp: 10/27/2023 2:07:13 AM -*******************************************************************/ - -//Function Number: 1 -bcs_location_trigs_init() -{ - if(isdefined(level.dds) && isdefined(level.bcs_locations)) - { - return; - } - - level.bcs_location_mappings = []; - bcs_location_trigger_mapping(); - bcs_trigs_assign_aliases(); - level.bcs_location_mappings = undefined; - anim.locationlastcallouttimes = []; -} - -//Function Number: 2 -bcs_trigs_assign_aliases() -{ - anim.bcs_locations = []; - var_00 = getentarray(); - var_01 = []; - foreach(var_03 in var_00) - { - if(isdefined(var_03.classname) && issubstr(var_03.classname,"trigger_multiple_bcs")) - { - var_01[var_01.size] = var_03; - } - } - - foreach(var_03 in var_01) - { - if(!isdefined(level.bcs_location_mappings[var_03.classname])) - { - continue; - } - - var_06 = parselocationaliases(level.bcs_location_mappings[var_03.classname]); - if(var_06.size > 1) - { - var_06 = common_scripts\utility::array_randomize(var_06); - } - - var_03.locationaliases = var_06; - } - - anim.bcs_locations = var_01; -} - -//Function Number: 3 -parselocationaliases(param_00) -{ - var_01 = strtok(param_00," "); - return var_01; -} - -//Function Number: 4 -add_bcs_location_mapping(param_00,param_01) -{ - if(isdefined(level.bcs_location_mappings[param_00])) - { - var_02 = level.bcs_location_mappings[param_00]; - var_03 = parselocationaliases(var_02); - var_04 = parselocationaliases(param_01); - foreach(var_06 in var_04) - { - foreach(var_08 in var_03) - { - if(var_06 == var_08) - { - return; - } - } - } - - var_02 = var_02 + " " + param_01; - level.bcs_location_mappings[param_00] = var_02; - return; - } - - level.bcs_location_mappings[var_09] = var_0A; -} - -//Function Number: 5 -bcs_location_trigger_mapping() -{ - if(common_scripts\utility::issp()) - { - generic_locations(); - fusion_locations(); - sanfran_locations(); - sanfran_b_locations(); - greece_locations(); - seoul_locations(); - detroit_locations(); - betrayal_locations(); - lab_locations(); - recovery_locations(); - lagos_locations(); - merida(); - old_locations(); - return; - } - - laser2_mp(); - lab2_mp(); - mp_refraction(); - mp_prison(); - mp_dam(); - mp_detroit(); - mp_greenband(); - mp_instinct(); - mp_levity(); - mp_recovery(); - mp_solar(); - mp_terrace(); - mp_torqued(); - mp_venus(); - mp_comeback(); - old_locations_mp(); -} - -//Function Number: 6 -generic_locations() -{ - add_bcs_location_mapping("trigger_multiple_bcs_generic_doorway_generic","doorway_generic"); - add_bcs_location_mapping("trigger_multiple_bcs_generic_window_generic","window_generic"); - add_bcs_location_mapping("trigger_multiple_bcs_generic_1stfloor_generic","1stfloor_generic"); - add_bcs_location_mapping("trigger_multiple_bcs_generic_1stfloor_doorway","1stfloor_doorway"); - add_bcs_location_mapping("trigger_multiple_bcs_generic_1stfloor_window","1stfloor_window"); - add_bcs_location_mapping("trigger_multiple_bcs_generic_2ndfloor_generic","2ndfloor_generic"); - add_bcs_location_mapping("trigger_multiple_bcs_generic_2ndfloor_window","2ndfloor_window"); - add_bcs_location_mapping("trigger_multiple_bcs_generic_rooftop","rooftop"); - add_bcs_location_mapping("trigger_multiple_bcs_generic_2ndfloor_balcony","2ndfloor_balcony"); -} - -//Function Number: 7 -fusion_locations() -{ - add_bcs_location_mapping("trigger_multiple_bcs_fus_truck","fus_truck"); - add_bcs_location_mapping("trigger_multiple_bcs_fus_tower","fus_tower"); - add_bcs_location_mapping("trigger_multiple_bcs_fus_generator","fus_generator"); - add_bcs_location_mapping("trigger_multiple_bcs_fus_mt","fus_mt"); - add_bcs_location_mapping("trigger_multiple_bcs_fus_titan","fus_titan"); - add_bcs_location_mapping("trigger_multiple_bcs_fus_hill","fus_hill"); - add_bcs_location_mapping("trigger_multiple_bcs_fus_garage","fus_garage"); - add_bcs_location_mapping("trigger_multiple_bcs_fus_crane","fus_crane"); - add_bcs_location_mapping("trigger_multiple_bcs_fus_forklift","fus_forklift"); - add_bcs_location_mapping("trigger_multiple_bcs_fus_pillar","fus_pillar"); - add_bcs_location_mapping("trigger_multiple_bcs_fus_pipes","fus_pipes"); - add_bcs_location_mapping("trigger_multiple_bcs_fus_balcony","fus_balcony"); - add_bcs_location_mapping("trigger_multiple_bcs_fus_catwalk","fus_catwalk"); - add_bcs_location_mapping("trigger_multiple_bcs_fus_fueltrucks","fus_fueltrucks"); - add_bcs_location_mapping("trigger_multiple_bcs_fus_walkway","fus_walkway"); - add_bcs_location_mapping("trigger_multiple_bcs_fus_stairs","fus_stairs"); -} - -//Function Number: 8 -sanfran_locations() -{ - add_bcs_location_mapping("trigger_multiple_bcs_sfa_bus","sfa_bus"); - add_bcs_location_mapping("trigger_multiple_bcs_sfa_cardoor","sfa_cardoor"); - add_bcs_location_mapping("trigger_multiple_bcs_sfa_cargovan","sfa_cargovan"); - add_bcs_location_mapping("trigger_multiple_bcs_sfa_policecar","sfa_policecar"); - add_bcs_location_mapping("trigger_multiple_bcs_sfa_roadsign","sfa_roadsign"); - add_bcs_location_mapping("trigger_multiple_bcs_sfa_sidewalk","sfa_sidewalk"); - add_bcs_location_mapping("trigger_multiple_bcs_sfa_sportscar","sfa_sportscar"); - add_bcs_location_mapping("trigger_multiple_bcs_sfa_topbus","sfa_topbus"); - add_bcs_location_mapping("trigger_multiple_bcs_sfa_tower","sfa_tower"); - add_bcs_location_mapping("trigger_multiple_bcs_sfa_trailer","sfa_trailer"); - add_bcs_location_mapping("trigger_multiple_bcs_sfa_truck","sfa_truck"); -} - -//Function Number: 9 -sanfran_b_locations() -{ - add_bcs_location_mapping("trigger_multiple_bcs_sfb_above","above"); - add_bcs_location_mapping("trigger_multiple_bcs_sfb_containers","sfb_containers"); - add_bcs_location_mapping("trigger_multiple_bcs_sfb_doors","doors"); - add_bcs_location_mapping("trigger_multiple_bcs_sfb_helipad","helipad"); - add_bcs_location_mapping("trigger_multiple_bcs_sfb_missileturret","missileturret"); - add_bcs_location_mapping("trigger_multiple_bcs_sfb_table","table"); - add_bcs_location_mapping("trigger_multiple_bcs_sfb_truck","sfb_truck"); - add_bcs_location_mapping("trigger_multiple_bcs_sfb_vtol","vtol"); - add_bcs_location_mapping("trigger_multiple_bcs_sfb_wreckage","wreckage"); - add_bcs_location_mapping("trigger_multiple_bcs_sfb_cargocrane","cargocrane"); - add_bcs_location_mapping("trigger_multiple_bcs_sfb_catwalk","sfb_catwalk"); - add_bcs_location_mapping("trigger_multiple_bcs_sfb_console","sfb_console"); - add_bcs_location_mapping("trigger_multiple_bcs_sfb_jammer","sfb_jammer"); - add_bcs_location_mapping("trigger_multiple_bcs_sfb_launchpad","sfb_launchpad"); - add_bcs_location_mapping("trigger_multiple_bcs_sfb_jet","sfb_jet"); -} - -//Function Number: 10 -greece_locations() -{ - add_bcs_location_mapping("trigger_multiple_bcs_grk_balcony","grk_balcony"); - add_bcs_location_mapping("trigger_multiple_bcs_grk_1stfloor_window","grk_1stfloor_window"); - add_bcs_location_mapping("trigger_multiple_bcs_grk_2ndfloor_window","grk_2ndfloor_window"); - add_bcs_location_mapping("trigger_multiple_bcs_grk_3rdfloor_window","grk_3rdfloor_window"); - add_bcs_location_mapping("trigger_multiple_bcs_grk_cafe","grk_cafe"); - add_bcs_location_mapping("trigger_multiple_bcs_grk_rooftop","grk_rooftop"); - add_bcs_location_mapping("trigger_multiple_bcs_grk_doorway","grk_doorway"); - add_bcs_location_mapping("trigger_multiple_bcs_gre_vehic","gre_vehic"); - add_bcs_location_mapping("trigger_multiple_bcs_gre_statue","gre_statue"); -} - -//Function Number: 11 -seoul_locations() -{ - add_bcs_location_mapping("trigger_multiple_bcs_seo_balcony","seo_balcony"); - add_bcs_location_mapping("trigger_multiple_bcs_seo_bus","seo_bus"); - add_bcs_location_mapping("trigger_multiple_bcs_seo_stairs","seo_stairs"); - add_bcs_location_mapping("trigger_multiple_bcs_seo_2ndwindow","seo_2ndwindow"); - add_bcs_location_mapping("trigger_multiple_bcs_seo_3rdbalcony","seo_3rdbalcony"); - add_bcs_location_mapping("trigger_multiple_bcs_seo_sculpture","seo_sculpture"); - add_bcs_location_mapping("trigger_multiple_bcs_seo_window","seo_window"); - add_bcs_location_mapping("trigger_multiple_bcs_seo_window","seo_window"); - add_bcs_location_mapping("trigger_multiple_bcs_seo_cafe","seo_cafe"); - add_bcs_location_mapping("trigger_multiple_bcs_seo_counter","seo_counter"); -} - -//Function Number: 12 -detroit_locations() -{ - add_bcs_location_mapping("trigger_multiple_bcs_det_bar","det_bar"); - add_bcs_location_mapping("trigger_multiple_bcs_det_balcony","det_balcony"); - add_bcs_location_mapping("trigger_multiple_bcs_det_walkway","det_walkway"); - add_bcs_location_mapping("trigger_multiple_bcs_det_ambulance","det_ambulance"); -} - -//Function Number: 13 -betrayal_locations() -{ - add_bcs_location_mapping("trigger_multiple_bcs_bet_plaza","bet_plaza"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_way","bet_way"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_1stfloor","bet_1stfloor"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_2ndfloor","bet_2ndfloor"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_3rdfloor","bet_3rdfloor"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_above","bet_above"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_balcony","bet_balcony"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_barge","bet_barge"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_checkpt","bet_checkpt"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_doorway","bet_doorway"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_open","bet_open"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_patio","bet_patio"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_rooftop","bet_rooftop"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_street","bet_street"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_drones","bet_drones"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_fountain","bet_fountain"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_skybridge","bet_skybridge"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_below","bet_below"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_bldng","bet_bldng"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_bridge","bet_bridge"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_deplycover","bet_deplycover"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_pallets","bet_pallets"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_catwalk","bet_catwalk"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_table","bet_table"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_crates","bet_crates"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_dock","bet_dock"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_leftshore","bet_leftshore"); - add_bcs_location_mapping("trigger_multiple_bcs_bet_rightshore","bet_rightshore"); -} - -//Function Number: 14 -lab_locations() -{ - add_bcs_location_mapping("trigger_multiple_bcs_lab_canisters","lab_canisters"); - add_bcs_location_mapping("trigger_multiple_bcs_lab_camera","lab_camera"); - add_bcs_location_mapping("trigger_multiple_bcs_lab_van","lab_van"); - add_bcs_location_mapping("trigger_multiple_bcs_lab_lwrcatwalk","lab_lwrcatwalk"); - add_bcs_location_mapping("trigger_multiple_bcs_lab_uprcatwalk","lab_uprcatwalk"); - add_bcs_location_mapping("trigger_multiple_bcs_lab_forklift","lab_forklift"); - add_bcs_location_mapping("trigger_multiple_bcs_lab_rooftop","lab_rooftop"); -} - -//Function Number: 15 -recovery_locations() -{ - add_bcs_location_mapping("trigger_multiple_bcs_rec_firepit","rec_firepit"); - add_bcs_location_mapping("trigger_multiple_bcs_rec_hill","rec_hill"); - add_bcs_location_mapping("trigger_multiple_bcs_rec_pool","rec_pool"); - add_bcs_location_mapping("trigger_multiple_bcs_rec_road","rec_road"); - add_bcs_location_mapping("trigger_multiple_bcs_rec_patio","rec_patio"); - add_bcs_location_mapping("trigger_multiple_bcs_rec_table","rec_table"); - add_bcs_location_mapping("trigger_multiple_bcs_rec_couch","rec_couch"); -} - -//Function Number: 16 -lagos_locations() -{ - add_bcs_location_mapping("trigger_multiple_bcs_lag_street","lag_street"); - add_bcs_location_mapping("trigger_multiple_bcs_lag_dogs","lag_dogs"); - add_bcs_location_mapping("trigger_multiple_bcs_lag_median","lag_median"); - add_bcs_location_mapping("trigger_multiple_bcs_lag_rpgbus","lag_rpgbus"); - add_bcs_location_mapping("trigger_multiple_bcs_lag_overpass","lag_overpass"); - add_bcs_location_mapping("trigger_multiple_bcs_lag_suv","lag_suv"); - add_bcs_location_mapping("trigger_multiple_bcs_lag_suvapproach","lag_suvapproach"); - add_bcs_location_mapping("trigger_multiple_bcs_lag_topvan","lag_topvan"); -} - -//Function Number: 17 -merida() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_merida_radiotower","radiotower"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_merida_embassy_generic","embassy_generic"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_merida_aaguns","aaguns"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_merida_tunnel","tunnel"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_merida_cannons_generic","cannons_generic"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_merida_pool","pool"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_merida_embassy_north","embassy_north"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_merida_embassy_south","embassy_south"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_merida_embassy_east","embassy_east"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_merida_embassy_west","embassy_west"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_merida_cannons_embassy","cannons_embassy"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_merida_cannons_radiotower","cannons_radiotower"); -} - -//Function Number: 18 -laser2_mp() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_radardish","lsr_radardish"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_laserairdefensegun","lsr_laserairdefensegun"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_razorback","lsr_razorback"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_underhelipad","lsr_underhelipad"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_bunkerlookout","lsr_bunkerlookout"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_inradartower","lsr_inradartower"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_byradartower","lsr_byradartower"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_shippingcontainer","lsr_shippingcontainer"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_onhelipad","lsr_onhelipad"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_onbeach","lsr_onbeach"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_onbeach","lsr_bybridge"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_bylasergenerator","lsr_bylasergenerator"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_underlaser","lsr_underlaser"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_byhelipad","lsr_byhelipad"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_electricalroom","lsr_electricalroom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_piperoom","lsr_piperoom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_bybuoy","lsr_bybuoy"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_bygenerator","lsr_bygenerator"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_offswitch","lsr_offswitch"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_missilerack","lsr_missilerack"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_underchains","lsr_underchains"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_beachbunkerrooftop","lsr_beachbunkerrooftop"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_bunkerrooftop","lsr_bunkerrooftop"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_nettedcargo","lsr_nettedcargo"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_cagedcargo","lsr_cagedcargo"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_overturnedcar","lsr_overturnedcar"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_bridgebase","lsr_bridgebase"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lsr_cornerbunker","lsr_cornerbunker"); -} - -//Function Number: 19 -lab2_mp() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_lab_parkinglot","lab_parkinglot"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lab_serverroom","lab_serverroom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lab_holoroom","lab_holoroom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lab_dryingroom","lab_dryingroom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lab_chemvats","lab_chemvats"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lab_generator","lab_generator"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lab_lobby","lab_lobby"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lab_behindcrates","lab_behindcrates"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lab_scienceroom","lab_scienceroom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lab_storageroom","lab_storageroom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lab_trench","lab_trench"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lab_behindvehicle","lab_behindvehicle"); -} - -//Function Number: 20 -mp_refraction() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_oncrane","ref_oncrane"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_byloadingdocks","ref_byloadingdocks"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_nearelevatorentrance","ref_nearelevatorentrance"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_inelevator","ref_inelevator"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_oncatwalks","ref_oncatwalks"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_seccheckpoint","ref_seccheckpoint"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_helopadentrance","ref_helopadentracne"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_checkinstation","ref_checkinstation"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_maintenceentrance","ref_maintenceentrance"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_insidelounge","ref_insidelounge"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_bylockmechanism","ref_bylockmechanism"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_inelevatorshaft","ref_inelevatorshaft"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_underhelipad","ref_underhelipad"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_bylgcontainers","ref_bylgcontainers"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_bylockers","ref_bylockers"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_abovelockers","ref_abovelockers"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ref_byadtowers","ref_byadtowers"); -} - -//Function Number: 21 -mp_prison() -{ - add_bcs_location_mapping(" trigger_multiple_bcs_mp_psn_insidecellblock","psn_insidecellblock"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_psnfrontentrance","psn_psnfrontentrance"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_insidemaintenancebldg","psn_insidemaintenancebldg"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_onmaintenancebldgroof","psn_onmaintenancebldgroof"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_prisonyard","psn_prisonyard"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_bballcourt","psn_bballcourt"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_psnbus","psn_psnbus"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_sectower","psn_sectower"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_insidegarage","psn_insidegarage"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_topofgarage","psn_topofgarage"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_destroyedwall","psn_destroyedwall"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_cellblockcatwalk","psn_cellblockcatwalk"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_lobbyentrance","psn_lobbyentrance"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_electricalbox","psn_electricalbox"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_policecar","psn_policecar"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_behinddumpster","psn_behinddumpster"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_catwalk","psn_catwalk"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_laundrybin","psn_laundrybin"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_psnrooftop","psn_psnrooftop"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_behindac","psn_behindac"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_psn_insidelockerbldg","psn_insidelockerbldg"); -} - -//Function Number: 22 -mp_dam() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_dam_frontgate","dam_frontgate"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dam_semitruck","dam_semitruck"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dam_contructionsite","dam_contructionsite"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dam_insideoffice","dam_insideoffice"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dam_oncatwalks","dam_oncatwalks"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dam_centerstreet","dam_centerstreet"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dam_onminigun","dam_onminigun"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dam_cranebase","dam_cranebase"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dam_infactory","dam_infactory"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dam_inturbinebldg","dam_inturbinebldg"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dam_movingpipe","dam_movingpipe"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dam_electricalgrid","dam_electricalgrid"); - add_bcs_location_mapping("trigger_multiple_bcs_dam_insidelounge","dam_insidelounge"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dam_inpipes","dam_inpipes"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dam_underground","dam_underground"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dam_factoryrooftop","dam_factoryrooftop"); -} - -//Function Number: 23 -mp_detroit() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_inschool","det_inschool"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_bylockers","det_bylockers"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_hospitalentrance","det_hospitalentrance"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_hospitallobby","det_hospitallobby"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_inparkinggarage","det_inparkinggarage"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_garageentrance","det_garageentrance"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_piperoom","det_piperoom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_onramp","det_onramp"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_inalley","det_inalley"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_bytrailers","det_bytrailers"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_ontrailers","det_ontrailers"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_inthepod","det_inthepod"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_throughpark","det_throughpark"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_byplayground","det_byplayground"); - add_bcs_location_mapping("triger_multiple_bcs_mp_det_garageoverlook","det_garageoverlook"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_backalley","det_backalley"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_parkoffice","det_parkoffice"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_hospitaloffice","det_hospitaloffice"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_throughstreet","det_throughstreet"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_upperstreet","det_upperstreet"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_lowerstreet","det_lowerstreet"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_bycontainers","det_bycontainers"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_det_bydiner","det_bydiner"); -} - -//Function Number: 24 -mp_greenband() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_2ndflooraquarium","grn_2ndflooraquarium"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_hotelbar","grn_hotelbar"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_incafe","grn_incafe"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_behindcherrytree","grn_behindcherrytree"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_aquariumhallway","grn_aquariumhallway"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_aquariumpatio","grn_aquariumpatio"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_inelevator","grn_inelevator"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_behindaquariumdesk","grn_behindaquariumdesk"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_inzengarden","grn_inzengarden"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_topofzengarden","grn_topofzengarden"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_hotelentrance","grn_hotelentrance"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_hotellobby","grn_hotellobby"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_inaquarium","grn_aquarium"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_inlounge","grn_inlounge"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_behindstatue","grn_behindstatue"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_insidewalkway","grn_insidewalkway"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_underawning","grn_underawning"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_topofawning","grn_topofawning"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_behindlargerock","grn_behindlargerock"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_nearsculpture","grn_nearsculpture"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_grn_behindsmallplanter","grn_behindsmallplanter"); -} - -//Function Number: 25 -mp_instinct() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_ins_byriverbed","ins_byriverbed"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ins_underexcavator","ins_underexcavator"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ins_oncliffs","ins_oncliffs"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ins_centertemple","ins_centertemple"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ins_towerofruins","ins_towerofruins"); - add_bcs_location_mapping("triger_multiple_bcs_mp_ins_nearpryramidhall","ins_nearpryramidhall"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ins_insidepryramid","ins_insidepryramid"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ins_behindtrailers","ins_behindtrailers"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ins_powergenerators","ins_powergenerators"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_ins_onrubble","ins_onrubble"); -} - -//Function Number: 26 -mp_levity() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_secgates","lev_secgates"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_controlroom","lev_controlroom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_accessroofs","lev_accessroofs"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_mainhangar","lev_mainhangar"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_dronestorage","lev_dronestorage"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_inflightcontrol","lev_flightcontrol"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_flightcontrolroof","lev_flightcontrolroof"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_flightcontrolalley","lev_flightcontrolalley"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_observationdeck","lev_observationdeck"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_serveraccessroof","lev_serveraccessroof"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_hangarlounge","lev_hangarlounge"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_powercontrol","lev_powercontrol"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_readyrooms","lev_readyrooms"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_rearhangar","lev_rearhangar"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_serveraccess","lev_serveraccess"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_nearwaterfall","lev_nearwaterfall"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_lev_nearrockslide","lev_nearrockslide"); -} - -//Function Number: 27 -mp_recovery() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_rec_inobservatory","rec_inobservatory"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_rec_bytram","rec_bytram"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_rec_byskywalk","rec_byskywalk"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_rec_inravine","rec_inravine"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_rec_insiderockhall","rec_insiderockhall"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_rec_byhangardoor","rec_byhangardoor"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_rec_inplaza","rec_inplaza"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_rec_bychopper","rec_bychopper"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_rec_onlaunchdeck","rec_onlaunchdeck"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_rec_nearridge","rec_nearridge"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_rec_undercontroltower","rec_undercontroltower"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_rec_gatecontrolroom","rec_gatecontrolroom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_rec_underdeck","rec_underdeck"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_rec_observationdeck","rec_observationdeck"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_rec_byrustedvan","rec_byrustedvan"); -} - -//Function Number: 28 -mp_solar() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_inparkinglot","slr_inparkinglot"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_bymainentry","slr_bymainentry"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_atpool","slr_atpool"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_indraintunnel","slr_indraintunnel"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_inoffice","slr_inoffice"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_bysmalltanks","slr_bysmalltanks"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_intowercontrolroom","slr_intowercontrolroom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_bytransformers","slr_bytransformers"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_condensercontrolroom","slr_condensercontrolroom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_inbacklot","slr_inbacklot"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_bycyclonetank","slr_bycyclonetank"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_indrainarea","slr_indrainarea"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_indriveway","slr_indriveway"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_visitorcenter","slr_visitorcenter"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_inpumproom","slr_inpumproom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_sciencearea","slr_sciencearea"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_ingarage","slr_ingarage"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_oncatwalks","slr_oncatwalks"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_bycondensers","slr_bycondensers"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_inutilityroom","slr_inutilityroom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_slr_onutilityroof","slr_onutilityroof"); -} - -//Function Number: 29 -mp_terrace() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_hotellobby","trc_hotellobby"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_atgrotto","trc_atgrotto"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_insaunatunnel","trc_insaunatunnel"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_saunaentrance","trc_saunaentrance"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_inlowerruins","trc_inlowerruins"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_inupperruins","trc_inupperruins"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_onupperterrace","trc_onupperterrace"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_incafe","trc_incafe"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_undertower","trc_undertower"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_nightclubentrance","trc_nightclubentrance"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_yellowroom","trc_yellowroom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_redroom","trc_redroom"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_lowerterrace","trc_lowerterrace"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_atbonfire","trc_atbonfire"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_poseidonspool","trc_poseidonspool"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_saunaroof","trc_saunaroof"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_inshowers","trc_inshowers"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_topofminervamall","trc_topofminervamall"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trc_sixbellspatio","trc_sixbellspatio"); -} - -//Function Number: 30 -mp_torqued() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_nearbusstop","trq_nearbusstop"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_incafe","trq_incafe"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_chocolateshop","trq_chocolateshop"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_baseofclocktower","trq_baseofclocktower"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_inclocktower","trq_inclocktower"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_nearfountain","trq_nearfountain"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_outdoorcafe","trq_outdoorcafe"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_parkinglot","trq_parkinglot"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_gatedpatio","trq_gatedpatio"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_nearrestaurant","trq_nearrestaurant"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_insemi","trq_insemi"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_nearsnackbar","trq_nearsnackbar"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_insideticketcounter","trq_insideticketcounter"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_frontoftrain","trq_frontoftrain"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_backoftrain","trq_backoftrain"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_utilitywalkway","trq_utilitywalkway"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_onskywalk","trq_onskywalk"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_topofawning","trq_topofawning"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_behindbearstatue","trq_behindbearstatue"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_behindcar","trq_behindcar"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_incoffeeshop","trq_incoffeeshop"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_inconstructionblgd","trq_inconstructionblgd"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_inelevator","trq_inelevator"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_onroof","trq_onroof"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_behindsecuritytruck","trq_behindsecuritytruck"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_aboveticketcounter","trq_aboveticketcounter"); -} - -//Function Number: 31 -mp_venus() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_inpool","vns_inpool"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_bypool","vns_bypool"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_inlounge","vns_inlounge"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_inlobby","vns_inlobby"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_onbalcony","vns_onbalcony"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_byhelipad","vns_byhelipad"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_onfountain","vns_onfountain"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_byfountain","vns_byfountain"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_onpoolshade","vns_onpoolshade"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_inzengarden","vns_inzengarden"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_inbar","vns_inbar"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_bybar","vns_bybar"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_onwoodendeck","vns_onwoodendeck"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_inobservationlounge","vns_inobservationlounge"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_bywaterfall","vns_bywaterfall"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_incentercourtyard","vns_incentercourtyard"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_onpatio","vns_onpatio"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_byfallentree","vns_byfallentree"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_inbansaigarden","vns_inbansaigarden"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_bypenthouse","vns_bypenthouse"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_byhorsestatue","vns_byhorsestatue"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_bysoliderstatue","vns_bysoliderstatue"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_onhallwayrooftop","vns_onhallwayrooftop"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_onbalconystaircase","vns_onbalconystaircase"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_onoutsidebalconystaircase","vns_onoutsidebalconystaircase"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_onobservationdeck","vns_onobservationdeck"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_onobservationrooftop","vns_onobservationrooftop"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_underwaterfall","vns_underwaterfall"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_insaunalobby","vns_insaunalobby"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_underkeyholearchway","vns_underkeyholearchway"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_onoverhang","vns_onoverhang"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_bylanterns","vns_bylanterns"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_vns_onpenthouseroof","vns_onpenthouseroof"); -} - -//Function Number: 32 -mp_comeback() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_rearentrancenetcafe","cbk_rearentrancenetcafe"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_netcafe","cbk_netcafe"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_videostore","cbk_videostore"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_videostoreroof","cbk_videostoreroof"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_byshanty","cbk_byshanty"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_powerstationroof","cbk_powerstationroof"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_centercoil","cbk_centercoil"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_glassoffices","cbk_glassoffices"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_grassybalcony","cbk_grassybalcony"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_fabricsshop","cbk_fabricsshop"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_fabricsshoproof","cbk_fabricsshoproof"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_westcourtyard","cbk_westcourtyard"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_nearskywalk","cbk_nearskywalk"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_baseofapttower","cbk_baseofapttower"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_northcourtyard","cbk_northcourtyard"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_atopensewer","cbk_atopensewer"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_eastcourtyard","cbk_eastcourtyard"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_nearmarket","cbk_nearmarket"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_oneonezero","cbk_oneonezero"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_southcourtyard","cbk_southcourtyard"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_southerncourtyard","cbk_southerncourtyard"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_cbk_outsideofficebldg","cbk_outsideofficebldg"); -} - -//Function Number: 33 -old_locations() -{ - add_bcs_location_mapping("trigger_multiple_bcs_ns_acrosschasm","acrosschasm"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_amcrt_stck","amcrt_stck"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_barr_conc","barr_conc"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_brls","brls"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_catwlk","catwlk"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_cell_l","cell_l"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_cell_r","cell_r"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_celldr_endhl","celldr_endhl"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_corrgatedmtl","corrgatedmtl"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_cot","cot"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_crt_stck","crt_stck"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_crtstk_nrldge","crtstk_nrldge"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_cv_cent","cv_cent"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_cv_cent_concsup","cv_cent_concsup"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_cv_cent_tv","cv_cent_tv"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_cv_small_l","cv_small_l"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_cv_wall_inside","cv_wall_inside"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_cv_wall_outside","cv_wall_outside"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_dpstr","dpstr"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_drvwy","drvwy"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_dsk_lg","dsk_lg"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_dsk_stck","dsk_stck"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_fuelcont","fuelcont"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_fuelconts","fuelconts"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_gbgcns","gbgcns"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_hdghog","hdghog"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_hesco_nrledge","hesco_nrledge"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_hescobarr","hescobarr"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_icemach","icemach"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_intsec_3w","intsec_3w"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_lckr_cntr","lckr_cntr"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_lckr_l","lckr_l"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_lckr_ne","lckr_ne"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_lckr_r","lckr_r"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_lckr_sw","lckr_sw"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_lowwall_bwire","lowwall_bwire"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_newsbox","newsbox"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_phnbth","phnbth"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_pipes_behind","pipes_behind"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_pipes_nside","pipes_nside"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_rappel_left","rappel_left"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_samlnchr","samlnchr"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_sentrygun","sentrygun"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_shwr_cntr","shwr_cntr"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_shwr_ne","shwr_ne"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_shwr_sw","shwr_sw"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_sndbgs","sndbgs"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_stairs_down","stairs_down"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_stairs_up","stairs_up"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_stairs_ylw","stairs_ylw"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_tun_leadoutside","tun_leadoutside"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_vendmach","vendmach"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_wirespl_lg","wirespl_lg"); - add_bcs_location_mapping("trigger_multiple_bcs_ns_wlkwy_abv_archs","wlkwy_abv_archs"); - add_bcs_location_mapping("trigger_multiple_bcs_df_monument_courtyard","monument_courtyard"); - add_bcs_location_mapping("trigger_multiple_bcs_df_monument_top","monument_top"); - add_bcs_location_mapping("trigger_multiple_bcs_df_car_parked","car_parked"); - add_bcs_location_mapping("trigger_multiple_bcs_df_embassy","embassy"); - add_bcs_location_mapping("trigger_multiple_bcs_df_embassy_1st","embassy_1st"); - add_bcs_location_mapping("trigger_multiple_bcs_df_embassy_3rd","embassy_3rd"); - add_bcs_location_mapping("trigger_multiple_bcs_df_vehicle_snowcat","vehicle_snowcat"); - add_bcs_location_mapping("trigger_multiple_bcs_df_vehicle_dumptruck","vehicle_dumptruck"); - add_bcs_location_mapping("trigger_multiple_bcs_df_building_red","building_red"); - add_bcs_location_mapping("trigger_multiple_bcs_df_vehicle_snowmobile","vehicle_snowmobile"); - add_bcs_location_mapping("trigger_multiple_bcs_df_scaffolding_generic","scaffolding_generic"); - add_bcs_location_mapping("trigger_multiple_bcs_df_container_red","container_red"); - add_bcs_location_mapping("trigger_multiple_bcs_df_tires_large","tires_large"); - add_bcs_location_mapping("trigger_multiple_bcs_df_memorial_building","memorial_building"); - add_bcs_location_mapping("trigger_multiple_bcs_df_stand_hotdog","stand_hotdog"); - add_bcs_location_mapping("trigger_multiple_bcs_df_stand_trading","stand_trading"); - add_bcs_location_mapping("trigger_multiple_bcs_df_subway_entrance","subway_entrance"); - add_bcs_location_mapping("trigger_multiple_bcs_df_rubble_generic","rubble_generic"); - add_bcs_location_mapping("trigger_multiple_bcs_df_cases_right","cases_right"); - add_bcs_location_mapping("trigger_multiple_bcs_df_cases_left","cases_left"); - add_bcs_location_mapping("trigger_multiple_bcs_df_cases_generic","cases_generic"); - add_bcs_location_mapping("trigger_multiple_bcs_df_barrier_orange","barrier_orange"); - add_bcs_location_mapping("trigger_multiple_bcs_df_barrier_hesco","barrier_hesco"); - add_bcs_location_mapping("trigger_multiple_bcs_df_stryker_destroyed","stryker_destroyed"); - add_bcs_location_mapping("trigger_multiple_bcs_df_fan_exhaust","fan_exhaust"); - add_bcs_location_mapping("trigger_multiple_bcs_df_tower_jamming","tower_jamming"); - add_bcs_location_mapping("trigger_multiple_bcs_df_ac_generic","ac_generic"); - add_bcs_location_mapping("trigger_multiple_bcs_df_table_computer","table_computer"); - add_bcs_location_mapping("trigger_multiple_bcs_df_bulkhead_generic","bulkhead_generic"); - add_bcs_location_mapping("trigger_multiple_bcs_df_bunk_generic","bunk_generic"); - add_bcs_location_mapping("trigger_multiple_bcs_df_console_generic","console_generic"); - add_bcs_location_mapping("trigger_multiple_bcs_df_deck_generic","deck_generic"); -} - -//Function Number: 34 -old_locations_mp() -{ - add_bcs_location_mapping("trigger_multiple_bcs_mp_dome_bunker","bunker"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dome_bunker_back","bunker_back"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dome_office","office"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dome_dome","dome"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dome_catwalk","catwalk"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dome_loadingbay","loadingbay"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dome_hallway","hallway"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dome_hallway_loadingbay","hallway_loadingbay"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dome_hallway_office","hallway_office"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dome_wall_broken","wall_broken"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dome_tank","tank"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dome_radar","radar"); - add_bcs_location_mapping("trigger_multiple_bcs_mp_dome_humvee","humvee"); -} \ No newline at end of file diff --git a/AW/PC/ZM/common_scripts/_createfxmenu.gsc b/AW/PC/ZM/common_scripts/_createfxmenu.gsc deleted file mode 100644 index a3f009b..0000000 --- a/AW/PC/ZM/common_scripts/_createfxmenu.gsc +++ /dev/null @@ -1,977 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: common_scripts/_createfxmenu.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 40 - * Decompile Time: 680 ms - * Timestamp: 10/27/2023 2:07:22 AM -*******************************************************************/ - -//Function Number: 1 -init_menu() -{ - level._createfx.options = []; - addoption("vector","origin","Origin",(0,0,0),"fx",1); - addoption("vector","angles","Angles",(0,0,0),"fx",1); - addoption("string","fxid","FX id","nil","fx"); - addoption("float","delay","Repeat rate/start delay",0.5,"fx"); - addoption("string","flag","Flag","nil","exploder"); - addoption("string","platform","Platform","all","all"); - if(!level.mp_createfx) - { - addoption("string","firefx","2nd FX id","nil","exploder"); - addoption("float","firefxdelay","2nd FX id repeat rate",0.5,"exploder"); - addoption("float","firefxtimeout","2nd FX timeout",5,"exploder"); - addoption("string","firefxsound","2nd FX soundalias","nil","exploder"); - addoption("float","damage","Radius damage",150,"exploder"); - addoption("float","damage_radius","Radius of radius damage",250,"exploder"); - addoption("string","earthquake","Earthquake","nil","exploder"); - addoption("string","ender","Level notify for ending 2nd FX","nil","exploder"); - } - - addoption("float","delay_min","Minimimum time between repeats",1,"soundfx_interval"); - addoption("float","delay_max","Maximum time between repeats",2,"soundfx_interval"); - addoption("int","repeat","Number of times to repeat",5,"exploder"); - addoption("string","exploder","Exploder","1","exploder"); - setup_help_keys(); - addoption("string","soundalias","Soundalias","nil","all"); - addoption("string","loopsound","Loopsound","nil","exploder"); - addoption("int","reactive_radius","Reactive Radius",100,"reactive_fx",undefined,::input_reactive_radius); - addoption("string","ambiencename","Ambience Name","nil","soundfx_dynamic"); - addoption("int","dynamic_distance","Dynamic Max Distance",1000,"soundfx_dynamic"); - if(!level.mp_createfx) - { - addoption("string","rumble","Rumble","nil","exploder"); - addoption("int","stoppable","Can be stopped from script","1","all"); - } - - level.effect_list_offset = 0; - level.effect_list_offset_max = 10; - level.effect_list_current_size = 0; - level.help_list_offset = 0; - level.help_list_offset_max = 20; - level.createfx_help_active = 0; - level.createfx_menu_list_active = 0; - level.createfxmasks = []; - level.createfxmasks["all"] = []; - level.createfxmasks["all"]["exploder"] = 1; - level.createfxmasks["all"]["oneshotfx"] = 1; - level.createfxmasks["all"]["loopfx"] = 1; - level.createfxmasks["all"]["soundfx"] = 1; - level.createfxmasks["all"]["soundfx_interval"] = 1; - level.createfxmasks["all"]["reactive_fx"] = 1; - level.createfxmasks["all"]["soundfx_dynamic"] = 1; - level.createfxmasks["fx"] = []; - level.createfxmasks["fx"]["exploder"] = 1; - level.createfxmasks["fx"]["oneshotfx"] = 1; - level.createfxmasks["fx"]["loopfx"] = 1; - level.createfxmasks["exploder"] = []; - level.createfxmasks["exploder"]["exploder"] = 1; - level.createfxmasks["loopfx"] = []; - level.createfxmasks["loopfx"]["loopfx"] = 1; - level.createfxmasks["oneshotfx"] = []; - level.createfxmasks["oneshotfx"]["oneshotfx"] = 1; - level.createfxmasks["soundfx"] = []; - level.createfxmasks["soundfx"]["soundalias"] = 1; - level.createfxmasks["soundfx_interval"] = []; - level.createfxmasks["soundfx_interval"]["soundfx_interval"] = 1; - level.createfxmasks["reactive_fx"] = []; - level.createfxmasks["reactive_fx"]["reactive_fx"] = 1; - level.createfxmasks["soundfx_dynamic"] = []; - level.createfxmasks["soundfx_dynamic"]["soundfx_dynamic"] = 1; - var_00 = []; - var_00["creation"] = ::menu_create_select; - var_00["create_oneshot"] = ::menu_create; - var_00["create_loopfx"] = ::menu_create; - var_00["change_fxid"] = ::menu_create; - var_00["none"] = ::menu_none; - var_00["add_options"] = ::menu_add_options; - var_00["select_by_name"] = ::menu_select_by_name; - level._createfx.menus = var_00; -} - -//Function Number: 2 -menu(param_00) -{ - return level.create_fx_menu == param_00; -} - -//Function Number: 3 -setmenu(param_00) -{ - level.create_fx_menu = param_00; -} - -//Function Number: 4 -create_fx_menu() -{ - if(common_scripts\_createfx::button_is_clicked("escape","x")) - { - _exit_menu(); - return; - } - - if(isdefined(level._createfx.menus[level.create_fx_menu])) - { - [[ level._createfx.menus[level.create_fx_menu] ]](); - } -} - -//Function Number: 5 -menu_create_select() -{ - if(common_scripts\_createfx::button_is_clicked("1")) - { - setmenu("create_oneshot"); - draw_effects_list(); - return; - } - - if(common_scripts\_createfx::button_is_clicked("2")) - { - setmenu("create_loopfx"); - draw_effects_list(); - return; - } - - if(common_scripts\_createfx::button_is_clicked("3")) - { - setmenu("create_loopsound"); - var_00 = common_scripts\_createfx::createloopsound(); - finish_creating_entity(var_00); - return; - } - - if(common_scripts\_createfx::button_is_clicked("4")) - { - setmenu("create_exploder"); - var_00 = common_scripts\_createfx::createnewexploder(); - finish_creating_entity(var_00); - return; - } - - if(common_scripts\_createfx::button_is_clicked("5")) - { - setmenu("create_interval_sound"); - var_00 = common_scripts\_createfx::createintervalsound(); - finish_creating_entity(var_00); - return; - } - - if(common_scripts\_createfx::button_is_clicked("6")) - { - var_00 = common_scripts\_createfx::createreactiveent(); - finish_creating_entity(var_00); - return; - } - - if(common_scripts\_createfx::button_is_clicked("7")) - { - var_00 = common_scripts\_createfx::createdynamicambience(); - finish_creating_entity(var_00); - return; - } -} - -//Function Number: 6 -menu_create() -{ - level.createfx_menu_list_active = 1; - if(next_button()) - { - increment_list_offset(); - draw_effects_list(); - } - else if(previous_button()) - { - decrement_list_offset(); - draw_effects_list(); - } - - menu_fx_creation(); -} - -//Function Number: 7 -menu_none() -{ - if(common_scripts\_createfx::button_is_clicked("m")) - { - increment_list_offset(); - } - - menu_change_selected_fx(); - if(entities_are_selected()) - { - var_00 = get_last_selected_ent(); - if(!isdefined(level.last_displayed_ent) || var_00 != level.last_displayed_ent || level._createfx.justconvertedoneshot == 1) - { - display_fx_info(var_00); - level.last_displayed_ent = var_00; - level._createfx.justconvertedoneshot = 0; - } - - if(common_scripts\_createfx::button_is_clicked("a")) - { - common_scripts\_createfx::clear_settable_fx(); - setmenu("add_options"); - return; - } - - return; - } - - level.last_displayed_ent = undefined; -} - -//Function Number: 8 -menu_add_options() -{ - if(!entities_are_selected()) - { - common_scripts\_createfx::clear_fx_hudelements(); - setmenu("none"); - return; - } - - display_fx_add_options(get_last_selected_ent()); - if(next_button()) - { - increment_list_offset(); - } -} - -//Function Number: 9 -menu_select_by_name() -{ - if(next_button()) - { - increment_list_offset(); - draw_effects_list("Select by name"); - } - else if(previous_button()) - { - decrement_list_offset(); - draw_effects_list("Select by name"); - } - - select_by_name(); -} - -//Function Number: 10 -next_button() -{ - return common_scripts\_createfx::button_is_clicked("rightarrow"); -} - -//Function Number: 11 -previous_button() -{ - return common_scripts\_createfx::button_is_clicked("leftarrow"); -} - -//Function Number: 12 -_exit_menu() -{ - common_scripts\_createfx::clear_fx_hudelements(); - common_scripts\_createfx::clear_entity_selection(); - common_scripts\_createfx::update_selected_entities(); - setmenu("none"); -} - -//Function Number: 13 -menu_fx_creation() -{ - var_00 = 0; - var_01 = undefined; - var_02 = common_scripts\_createfx::func_get_level_fx(); - for(var_03 = level.effect_list_offset;var_03 < var_02.size;var_03++) - { - var_00 = var_00 + 1; - var_04 = var_00; - if(var_04 == 10) - { - var_04 = 0; - } - - if(common_scripts\_createfx::button_is_clicked(var_04 + "")) - { - var_01 = var_02[var_03]; - break; - } - - if(var_00 > level.effect_list_offset_max) - { - break; - } - } - - if(!isdefined(var_01)) - { - return; - } - - if(menu("change_fxid")) - { - apply_option_to_selected_fx(get_option("fxid"),var_01); - level.effect_list_offset = 0; - common_scripts\_createfx::clear_fx_hudelements(); - setmenu("none"); - level.createfx_menu_list_active = 0; - level.createfx_last_movement_timer = 0; - return; - } - - var_05 = undefined; - if(menu("create_loopfx")) - { - var_05 = common_scripts\utility::createloopeffect(var_01); - } - - if(menu("create_oneshot")) - { - var_05 = common_scripts\utility::createoneshoteffect(var_01); - } - - finish_creating_entity(var_05); -} - -//Function Number: 14 -finish_creating_entity(param_00) -{ - param_00.v["angles"] = vectortoangles(param_00.v["origin"] + (0,0,100) - param_00.v["origin"]); - param_00 common_scripts\_createfx::post_entity_creation_function(); - common_scripts\_createfx::clear_entity_selection(); - common_scripts\_createfx::select_last_entity(); - common_scripts\_createfx::move_selection_to_cursor(); - common_scripts\_createfx::update_selected_entities(); - setmenu("none"); - level.createfx_menu_list_active = 0; -} - -//Function Number: 15 -entities_are_selected() -{ - return level._createfx.selected_fx_ents.size > 0; -} - -//Function Number: 16 -menu_change_selected_fx() -{ - if(!level._createfx.selected_fx_ents.size) - { - return; - } - - var_00 = 0; - var_01 = 0; - var_02 = get_last_selected_ent(); - for(var_03 = 0;var_03 < level._createfx.options.size;var_03++) - { - var_04 = level._createfx.options[var_03]; - if(!isdefined(var_02.v[var_04["name"]])) - { - continue; - } - - var_00++; - if(var_00 < level.effect_list_offset) - { - continue; - } - - var_01++; - var_05 = var_01; - if(var_05 == 10) - { - var_05 = 0; - } - - if(common_scripts\_createfx::button_is_clicked(var_05 + "")) - { - prepare_option_for_change(var_04,var_01); - break; - } - - if(var_01 > level.effect_list_offset_max) - { - var_06 = 1; - break; - } - } -} - -//Function Number: 17 -prepare_option_for_change(param_00,param_01) -{ - if(param_00["name"] == "fxid") - { - setmenu("change_fxid"); - draw_effects_list(); - return; - } - - level.createfx_inputlocked = 1; - level._createfx.hudelems[param_01 + 1][0].color = (1,1,0); - if(isdefined(param_00["input_func"])) - { - thread [[ param_00["input_func"] ]](param_01 + 1); - } - else - { - common_scripts\_createfx::createfx_centerprint("To set " + param_00["description"] + ", type /fx newvalue. To remove " + param_00["description"] + ", type /fx del"); - } - - set_option_index(param_00["name"]); - setdvar("fx","nil"); -} - -//Function Number: 18 -menu_fx_option_set() -{ - if(getdvar("fx") == "nil") - { - return; - } - - if(getdvar("fx") == "del") - { - common_scripts\_createfx::remove_selected_option(); - return; - } - - var_00 = get_selected_option(); - var_01 = undefined; - if(var_00["type"] == "string") - { - var_01 = getdvar("fx"); - } - - if(var_00["type"] == "int") - { - var_01 = getdvarint("fx"); - } - - if(var_00["type"] == "float") - { - var_01 = getdvarfloat("fx"); - } - - if(var_00["type"] == "vector") - { - var_01 = getdvarvector("fx"); - } - - if(isdefined(var_01)) - { - apply_option_to_selected_fx(var_00,var_01); - return; - } - - setdvar("fx","nil"); -} - -//Function Number: 19 -apply_option_to_selected_fx(param_00,param_01) -{ - common_scripts\_createfx::save_undo_buffer(); - for(var_02 = 0;var_02 < level._createfx.selected_fx_ents.size;var_02++) - { - var_03 = level._createfx.selected_fx_ents[var_02]; - if(mask(param_00["mask"],var_03.v["type"])) - { - var_03.v[param_00["name"]] = param_01; - } - } - - level.last_displayed_ent = undefined; - common_scripts\_createfx::update_selected_entities(); - common_scripts\_createfx::clear_settable_fx(); - if(param_00["name"] == "origin") - { - level.createfx_last_movement_timer = 0; - common_scripts\_createfx::frame_selected(); - } - - if(param_00["name"] == "angles") - { - level.createfx_last_movement_timer = 0; - } - - common_scripts\_createfx::save_redo_buffer(); -} - -//Function Number: 20 -set_option_index(param_00) -{ - for(var_01 = 0;var_01 < level._createfx.options.size;var_01++) - { - if(level._createfx.options[var_01]["name"] != param_00) - { - continue; - } - - level._createfx.selected_fx_option_index = var_01; - return; - } -} - -//Function Number: 21 -get_selected_option() -{ - return level._createfx.options[level._createfx.selected_fx_option_index]; -} - -//Function Number: 22 -mask(param_00,param_01) -{ - return isdefined(level.createfxmasks[param_00][param_01]); -} - -//Function Number: 23 -addoption(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - var_07 = []; - var_07["type"] = param_00; - var_07["name"] = param_01; - var_07["description"] = param_02; - var_07["default"] = param_03; - var_07["mask"] = param_04; - if(isdefined(param_05) && param_05) - { - var_07["nowrite"] = 1; - } - else - { - var_07["nowrite"] = 0; - } - - if(isdefined(param_06)) - { - var_07["input_func"] = param_06; - } - - level._createfx.options[level._createfx.options.size] = var_07; -} - -//Function Number: 24 -get_option(param_00) -{ - for(var_01 = 0;var_01 < level._createfx.options.size;var_01++) - { - if(level._createfx.options[var_01]["name"] == param_00) - { - return level._createfx.options[var_01]; - } - } -} - -//Function Number: 25 -input_reactive_radius(param_00) -{ - for(;;) - { - wait(0.05); - if(level.player buttonpressed("escape") || level.player buttonpressed("x")) - { - break; - } - - var_01 = 0; - if(level.player buttonpressed("-")) - { - var_01 = -10; - } - else if(level.player buttonpressed("=")) - { - var_01 = 10; - } - - if(var_01 != 0) - { - foreach(var_03 in level._createfx.selected_fx_ents) - { - if(isdefined(var_03.v["reactive_radius"])) - { - var_03.v["reactive_radius"] = var_03.v["reactive_radius"] + var_01; - var_03.v["reactive_radius"] = clamp(var_03.v["reactive_radius"],10,1000); - } - } - } - } - - level.last_displayed_ent = undefined; - common_scripts\_createfx::update_selected_entities(); - common_scripts\_createfx::clear_settable_fx(); -} - -//Function Number: 26 -display_fx_add_options(param_00) -{ - level.createfx_menu_list_active = 1; - common_scripts\_createfx::clear_fx_hudelements(); - common_scripts\_createfx::set_fx_hudelement("Name: " + param_00.v["fxid"]); - common_scripts\_createfx::set_fx_hudelement("Type: " + param_00.v["type"]); - common_scripts\_createfx::set_fx_hudelement("Origin: " + param_00.v["origin"]); - common_scripts\_createfx::set_fx_hudelement("Angles: " + param_00.v["angles"]); - var_01 = 0; - var_02 = 0; - var_03 = 0; - if(level.effect_list_offset >= level._createfx.options.size) - { - level.effect_list_offset = 0; - } - - for(var_04 = 0;var_04 < level._createfx.options.size;var_04++) - { - var_05 = level._createfx.options[var_04]; - if(isdefined(param_00.v[var_05["name"]])) - { - continue; - } - - if(!mask(var_05["mask"],param_00.v["type"])) - { - continue; - } - - var_01++; - if(var_01 < level.effect_list_offset) - { - continue; - } - - if(var_02 >= level.effect_list_offset_max) - { - continue; - } - - var_02++; - var_06 = var_02; - if(var_06 == 10) - { - var_06 = 0; - } - - if(common_scripts\_createfx::button_is_clicked(var_06 + "")) - { - add_option_to_selected_entities(var_05); - menunone(); - level.last_displayed_ent = undefined; - return; - } - - common_scripts\_createfx::set_fx_hudelement(var_06 + ". " + var_05["description"]); - } - - if(var_01 > level.effect_list_offset_max) - { - level.effect_list_current_size = var_01; - common_scripts\_createfx::set_fx_hudelement("(->) More >"); - } - - common_scripts\_createfx::set_fx_hudelement("(x) Exit >"); -} - -//Function Number: 27 -add_option_to_selected_entities(param_00) -{ - var_01 = undefined; - for(var_02 = 0;var_02 < level._createfx.selected_fx_ents.size;var_02++) - { - var_03 = level._createfx.selected_fx_ents[var_02]; - if(mask(param_00["mask"],var_03.v["type"])) - { - var_03.v[param_00["name"]] = param_00["default"]; - } - } -} - -//Function Number: 28 -menunone() -{ - level.effect_list_offset = 0; - common_scripts\_createfx::clear_fx_hudelements(); - setmenu("none"); -} - -//Function Number: 29 -display_fx_info(param_00) -{ - if(!menu("none")) - { - return; - } - - if(level.createfx_help_active) - { - return; - } - - common_scripts\_createfx::clear_fx_hudelements(); - common_scripts\_createfx::set_fx_hudelement("Name: " + param_00.v["fxid"]); - common_scripts\_createfx::set_fx_hudelement("Type: " + param_00.v["type"]); - if(entities_are_selected()) - { - var_01 = 0; - var_02 = 0; - var_03 = 0; - for(var_04 = 0;var_04 < level._createfx.options.size;var_04++) - { - var_05 = level._createfx.options[var_04]; - if(!isdefined(param_00.v[var_05["name"]])) - { - continue; - } - - var_01++; - if(var_01 < level.effect_list_offset) - { - continue; - } - - var_02++; - common_scripts\_createfx::set_fx_hudelement(var_02 + ". " + var_05["description"] + ": " + param_00.v[var_05["name"]]); - if(var_02 > level.effect_list_offset_max) - { - var_03 = 1; - break; - } - } - - if(var_01 > level.effect_list_offset_max) - { - level.effect_list_current_size = var_01; - common_scripts\_createfx::set_fx_hudelement("(->) More >"); - } - - common_scripts\_createfx::set_fx_hudelement("(a) Add >"); - common_scripts\_createfx::set_fx_hudelement("(x) Exit >"); - return; - } - - var_01 = 0; - var_03 = 0; - for(var_04 = 0;var_04 < level._createfx.options.size;var_04++) - { - var_05 = level._createfx.options[var_04]; - if(!isdefined(param_00.v[var_05["name"]])) - { - continue; - } - - var_01++; - common_scripts\_createfx::set_fx_hudelement(var_05["description"] + ": " + param_00.v[var_05["name"]]); - if(var_01 > level._createfx.hudelem_count) - { - break; - } - } -} - -//Function Number: 30 -display_current_translation() -{ - var_00 = get_last_selected_ent(); - if(isdefined(var_00)) - { - display_fx_info(var_00); - } -} - -//Function Number: 31 -draw_effects_list(param_00) -{ - common_scripts\_createfx::clear_fx_hudelements(); - var_01 = 0; - var_02 = 0; - var_03 = common_scripts\_createfx::func_get_level_fx(); - level.effect_list_current_size = var_03.size; - if(!isdefined(param_00)) - { - param_00 = "Pick an effect"; - } - - common_scripts\_createfx::set_fx_hudelement(param_00 + " [" + level.effect_list_offset + " - " + var_03.size + "]:"); - for(var_04 = level.effect_list_offset;var_04 < var_03.size;var_04++) - { - var_01 = var_01 + 1; - common_scripts\_createfx::set_fx_hudelement(var_01 + ". " + var_03[var_04]); - if(var_01 >= level.effect_list_offset_max) - { - var_02 = 1; - break; - } - } - - if(var_03.size > level.effect_list_offset_max) - { - common_scripts\_createfx::set_fx_hudelement("(->) More >"); - common_scripts\_createfx::set_fx_hudelement("(<-) Previous >"); - } -} - -//Function Number: 32 -increment_list_offset() -{ - if(level.effect_list_offset >= level.effect_list_current_size - level.effect_list_offset_max) - { - level.effect_list_offset = 0; - return; - } - - level.effect_list_offset = level.effect_list_offset + level.effect_list_offset_max; -} - -//Function Number: 33 -decrement_list_offset() -{ - if(level.effect_list_current_size < level.effect_list_offset_max) - { - level.effect_list_offset = 0; - return; - } - - level.effect_list_offset = level.effect_list_offset - level.effect_list_offset_max; - if(level.effect_list_offset < 0) - { - level.effect_list_offset = level.effect_list_current_size - level.effect_list_offset_max; - } -} - -//Function Number: 34 -draw_help_list(param_00) -{ - common_scripts\_createfx::clear_fx_hudelements(); - var_01 = 0; - var_02 = level.createfx_help_keys; - if(!isdefined(param_00)) - { - param_00 = "Help"; - } - - common_scripts\_createfx::set_fx_hudelement("[" + param_00 + "]"); - for(var_03 = level.help_list_offset;var_03 < var_02.size;var_03++) - { - var_01 = var_01 + 1; - common_scripts\_createfx::set_fx_hudelement(var_02[var_03]); - if(var_01 >= level.help_list_offset_max) - { - var_04 = 1; - break; - } - } - - if(var_02.size > level.help_list_offset_max) - { - level.effect_list_current_size = var_02.size; - common_scripts\_createfx::set_fx_hudelement("(->) More >"); - common_scripts\_createfx::set_fx_hudelement("(<-) Previous >"); - } -} - -//Function Number: 35 -increment_help_list_offset() -{ - var_00 = level.createfx_help_keys; - if(level.help_list_offset >= var_00.size - level.help_list_offset_max) - { - level.help_list_offset = 0; - return; - } - - level.help_list_offset = level.help_list_offset + level.help_list_offset_max; -} - -//Function Number: 36 -decrement_help_list_offset() -{ - level.help_list_offset = level.help_list_offset - level.help_list_offset_max; - if(level.help_list_offset < 0) - { - var_00 = level.createfx_help_keys; - level.help_list_offset = var_00.size - level.help_list_offset_max; - } -} - -//Function Number: 37 -help_navigation_buttons() -{ - while(level.createfx_help_active == 1) - { - if(next_button()) - { - increment_help_list_offset(); - draw_help_list(); - wait(0.1); - continue; - } - - if(previous_button()) - { - decrement_help_list_offset(); - draw_help_list(); - wait(0.1); - } - - wait 0.05; - } -} - -//Function Number: 38 -setup_help_keys() -{ - level.createfx_help_keys = ["Insert Insert entity","F2 Toggle createfx dot and text drawing","F5 SAVES your work","Z Undo","Shift-Z Redo","F Frames currently selected entities in camera view","END Drop selected entities to the ground","A Add option to the selected entities","P Reset the rotation of the selected entities","V Copy the angles from the most recently selected fx onto all selected fx.","O Orient all selected fx to point at most recently selected fx.","S Toggle Snap2Normal mode.","L Toggle 90deg Snap mode.","G Select all effects in level of same exploder or flag as selected.","U Select by name list.","C Convert One-Shot to Exploder.","Delete Kill the selected entities","ESCAPE Cancel out of option-modify-mode, must have console open","SPACE or -> Turn on exploders","<- Turn off exploders","Dpad Move selected entities on X/Y or rotate pitch/yaw","A button Toggle the selection of the current entity","X button Toggle entity rotation mode","Y button Move selected entites up or rotate roll","B button Move selected entites down or rotate roll","R Shoulder Move selected entities to the cursor","L Shoulder Hold to select multiple entites","L JoyClick Copy","R JoyClick Paste","Ctrl-C Copy","Ctrl-V Paste","N UFO","T Toggle Timescale FAST","Y Toggle Timescale SLOW","[ Toggle FX Visibility","] Toggle ShowTris","F11 Toggle FX Profile"]; -} - -//Function Number: 39 -select_by_name() -{ - var_00 = 0; - var_01 = undefined; - var_02 = common_scripts\_createfx::func_get_level_fx(); - for(var_03 = level.effect_list_offset;var_03 < var_02.size;var_03++) - { - var_00 = var_00 + 1; - var_04 = var_00; - if(var_04 == 10) - { - var_04 = 0; - } - - if(common_scripts\_createfx::button_is_clicked(var_04 + "")) - { - var_01 = var_02[var_03]; - break; - } - - if(var_00 > level.effect_list_offset_max) - { - break; - } - } - - if(!isdefined(var_01)) - { - return; - } - - var_05 = []; - foreach(var_03, var_07 in level.createfxent) - { - if(issubstr(var_07.v["fxid"],var_01)) - { - var_05[var_05.size] = var_03; - } - } - - common_scripts\_createfx::deselect_all_ents(); - common_scripts\_createfx::select_index_array(var_05); - level._createfx.select_by_name = 1; -} - -//Function Number: 40 -get_last_selected_ent() -{ - return level._createfx.selected_fx_ents[level._createfx.selected_fx_ents.size - 1]; -} \ No newline at end of file diff --git a/AW/PC/ZM/common_scripts/_destructible.gsc b/AW/PC/ZM/common_scripts/_destructible.gsc deleted file mode 100644 index aa32d13..0000000 --- a/AW/PC/ZM/common_scripts/_destructible.gsc +++ /dev/null @@ -1,4397 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: common_scripts/_destructible.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 157 - * Decompile Time: 2538 ms - * Timestamp: 10/27/2023 2:07:30 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - level.destructiblespawnedentslimit = 50; - level.destructiblespawnedents = []; - level.currentcaralarms = 0; - level.commonstarttime = gettime(); - if(isdefined(level.currentgen) && level.currentgen) - { - level.destructiblespawnedentslimit = 25; - } - - if(!isdefined(level.fast_destructible_explode)) - { - level.fast_destructible_explode = 0; - } - - if(!isdefined(level.func)) - { - level.func = []; - } - - var_00 = 1; - if(var_00) - { - find_destructibles(); - } - - var_01 = getentarray("delete_on_load","targetname"); - foreach(var_03 in var_01) - { - var_03 delete(); - } - - init_destroyed_count(); - init_destructible_frame_queue(); -} - -//Function Number: 2 -debgugprintdestructiblelist() -{ -} - -//Function Number: 3 -find_destructibles() -{ - if(!isdefined(level.destructible_functions)) - { - level.destructible_functions = []; - } - - var_00 = []; - foreach(var_02 in level.struct) - { - if(isdefined(var_02.script_noteworthy) && var_02.script_noteworthy == "destructible_dot") - { - var_00[var_00.size] = var_02; - } - } - - var_04 = getentarray("destructible_vehicle","targetname"); - foreach(var_06 in var_04) - { - var_06 thread setup_destructibles_thread(var_00); - } - - var_08 = getentarray("destructible_toy","targetname"); - foreach(var_0A in var_08) - { - var_0A thread setup_destructibles_thread(var_00); - } - - debgugprintdestructiblelist(); -} - -//Function Number: 4 -setup_destructibles_thread(param_00) -{ - setup_destructibles(); - setup_destructible_dots(param_00); -} - -//Function Number: 5 -setup_destructible_dots(param_00) -{ - var_01 = self.destructibleinfo; - var_02 = param_00; - var_0B = getfirstarraykey(var_02); - if(isdefined(var_0B)) - { - var_03 = var_02[var_0B]; - if(isdefined(level.destructible_type[var_01].destructible_dots)) - { - return; - } - - if(isdefined(var_03.script_parameters) && issubstr(var_03.script_parameters,"destructible_type") && issubstr(var_03.script_parameters,self.destructible_type)) - { - if(distancesquared(self.origin,var_03.origin) < 1) - { - var_04 = getentarray(var_03.target,"targetname"); - level.destructible_type[var_01].destructible_dots = []; - var_05 = var_04; - var_0A = getfirstarraykey(var_05); - if(isdefined(var_0A)) - { - var_06 = var_05[var_0A]; - var_07 = var_06.script_index; - if(!isdefined(level.destructible_type[var_01].destructible_dots[var_07])) - { - level.destructible_type[var_01].destructible_dots[var_07] = []; - } - - var_08 = level.destructible_type[var_01].destructible_dots[var_07].size; - level.destructible_type[var_01].destructible_dots[var_07][var_08]["classname"] = var_06.classname; - level.destructible_type[var_01].destructible_dots[var_07][var_08]["origin"] = var_06.origin; - var_09 = common_scripts\utility::ter_op(isdefined(var_06.spawnflags),var_06.spawnflags,0); - level.destructible_type[var_01].destructible_dots[var_07][var_08]["spawnflags"] = var_09; - switch(var_06.classname) - { - case "trigger_radius": - break; - - default: - break; - } - } - } - } - } -} - -//Function Number: 6 -destructible_getinfoindex(param_00) -{ - if(!isdefined(level.destructible_type)) - { - return -1; - } - - if(level.destructible_type.size == 0) - { - return -1; - } - - for(var_01 = 0;var_01 < level.destructible_type.size;var_01++) - { - if(param_00 == level.destructible_type[var_01].v["type"]) - { - return var_01; - } - } - - return -1; -} - -//Function Number: 7 -dest_cover(param_00,param_01,param_02,param_03,param_04,param_05) -{ - if(!isdefined(param_01)) - { - param_01 = 0; - } - - if(!isdefined(param_02)) - { - param_02 = "test/concrete_cover_dest_test"; - } - - if(!isdefined(param_03)) - { - param_03 = 150; - } - - destructible_create(param_00,"tag_origin",1,undefined,32,"no_melee"); - if(isdefined(param_04)) - { - destructible_state(undefined,param_04,undefined,undefined,32,"no_melee"); - } - - for(var_06 = 0;var_06 < param_01;var_06++) - { - var_07 = "fx_joint_" + var_06; - destructible_part(var_07,undefined,param_03,undefined,undefined,"no_melee",1); - destructible_fx(var_07,param_02); - if(isdefined(param_05)) - { - destructible_sound(param_05); - } - - destructible_state(undefined); - } -} - -//Function Number: 8 -destructible_gettype(param_00) -{ - var_01 = destructible_getinfoindex(param_00); - if(var_01 >= 0) - { - return var_01; - } - - if(issubstr(param_00,"dest_cover")) - { - dest_cover(self.destructible_type,self.script_dest_cover_numchunks,self.script_dest_cover_chunkfx,self.script_dest_cover_chunkhealth,self.script_dest_cover_dmg_model,self.script_dest_cover_chunksnd); - var_01 = destructible_getinfoindex(param_00); - return var_01; - } - - if(!isdefined(level.destructible_functions[param_00])) - { - return -1; - } - - [[ level.destructible_functions[param_00] ]](); - var_01 = destructible_getinfoindex(param_00); - return var_01; -} - -//Function Number: 9 -setup_destructibles() -{ - var_00 = undefined; - self.modeldummyon = 0; - add_damage_owner_recorder(); - self.destructibleinfo = destructible_gettype(self.destructible_type); - if(self.destructibleinfo < 0) - { - return; - } - - precache_destructibles(); - add_destructible_fx(); - if(isdefined(level.destructible_transient) && isdefined(level.destructible_transient[self.destructible_type])) - { - common_scripts\utility::flag_wait(level.destructible_transient[self.destructible_type] + "_loaded"); - } - - if(isdefined(level.destructible_type[self.destructibleinfo].attachedmodels)) - { - foreach(var_03 in level.destructible_type[self.destructibleinfo].attachedmodels) - { - if(isdefined(var_03.tag)) - { - self attach(var_03.model,var_03.tag); - } - else - { - self attach(var_03.model); - } - - if(self.modeldummyon) - { - if(isdefined(var_03.tag)) - { - self.modeldummy attach(var_03.model,var_03.tag); - continue; - } - - self.modeldummy attach(var_03.model); - } - } - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts)) - { - self.destructible_parts = []; - for(var_05 = 0;var_05 < level.destructible_type[self.destructibleinfo].parts.size;var_05++) - { - self.destructible_parts[var_05] = spawnstruct(); - self.destructible_parts[var_05].v["currentState"] = 0; - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_05][0].v["health"])) - { - self.destructible_parts[var_05].v["health"] = level.destructible_type[self.destructibleinfo].parts[var_05][0].v["health"]; - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_05][0].v["random_dynamic_attachment_1"])) - { - var_06 = randomint(level.destructible_type[self.destructibleinfo].parts[var_05][0].v["random_dynamic_attachment_1"].size); - var_07 = level.destructible_type[self.destructibleinfo].parts[var_05][0].v["random_dynamic_attachment_tag"][var_06]; - var_08 = level.destructible_type[self.destructibleinfo].parts[var_05][0].v["random_dynamic_attachment_1"][var_06]; - var_09 = level.destructible_type[self.destructibleinfo].parts[var_05][0].v["random_dynamic_attachment_2"][var_06]; - var_0A = level.destructible_type[self.destructibleinfo].parts[var_05][0].v["clipToRemove"][var_06]; - thread do_random_dynamic_attachment(var_07,var_08,var_09,var_0A); - } - - if(var_05 == 0) - { - continue; - } - - var_0B = level.destructible_type[self.destructibleinfo].parts[var_05][0].v["modelName"]; - var_0C = level.destructible_type[self.destructibleinfo].parts[var_05][0].v["tagName"]; - for(var_0D = 1;isdefined(level.destructible_type[self.destructibleinfo].parts[var_05][var_0D]);var_0D++) - { - var_0E = level.destructible_type[self.destructibleinfo].parts[var_05][var_0D].v["tagName"]; - var_0F = level.destructible_type[self.destructibleinfo].parts[var_05][var_0D].v["modelName"]; - if(isdefined(var_0E) && var_0E != var_0C) - { - hideapart(var_0E); - if(self.modeldummyon) - { - self.modeldummy hideapart(var_0E); - } - } - } - } - } - - if(isdefined(self.target)) - { - thread destructible_handles_collision_brushes(); - } - - if(self.code_classname != "script_vehicle") - { - self setcandamage(1); - } - - if(common_scripts\utility::issp()) - { - thread connecttraverses(); - } - - thread destructible_think(); - if(issubstr(self.destructible_type,"dest_cover")) - { - thread destructiblecoverwatcher(); - } - - thread destructible_fx_spawnimmediate(); -} - -//Function Number: 10 -destructible_create(param_00,param_01,param_02,param_03,param_04,param_05) -{ - if(!isdefined(level.destructible_type)) - { - level.destructible_type = []; - } - - var_06 = level.destructible_type.size; - level.destructible_type[var_06] = spawnstruct(); - level.destructible_type[var_06].v["type"] = param_00; - level.destructible_type[var_06].parts = []; - level.destructible_type[var_06].parts[0][0] = spawnstruct(); - level.destructible_type[var_06].parts[0][0].v["modelName"] = self.model; - level.destructible_type[var_06].parts[0][0].v["tagName"] = param_01; - level.destructible_type[var_06].parts[0][0].v["health"] = param_02; - level.destructible_type[var_06].parts[0][0].v["validAttackers"] = param_03; - level.destructible_type[var_06].parts[0][0].v["validDamageZone"] = param_04; - level.destructible_type[var_06].parts[0][0].v["validDamageCause"] = param_05; - level.destructible_type[var_06].parts[0][0].v["godModeAllowed"] = 1; - level.destructible_type[var_06].parts[0][0].v["rotateTo"] = self.angles; - level.destructible_type[var_06].parts[0][0].v["vehicle_exclude_anim"] = 0; -} - -//Function Number: 11 -destructible_part(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) -{ - var_0A = level.destructible_type.size - 1; - var_0B = level.destructible_type[var_0A].parts.size; - var_0C = 0; - destructible_info(var_0B,var_0C,param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,undefined,param_09); -} - -//Function Number: 12 -destructible_state(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - var_08 = level.destructible_type.size - 1; - var_09 = level.destructible_type[var_08].parts.size - 1; - var_0A = level.destructible_type[var_08].parts[var_09].size; - if(!isdefined(param_00) && var_09 == 0) - { - param_00 = level.destructible_type[var_08].parts[var_09][0].v["tagName"]; - } - - destructible_info(var_09,var_0A,param_00,param_01,param_02,param_03,param_04,param_05,undefined,undefined,param_06,param_07); -} - -//Function Number: 13 -destructible_fx_spawn_immediate(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - destructible_fx(param_00,param_01,param_02,param_03,param_04,param_05,1,param_06); -} - -//Function Number: 14 -destructible_fx(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - if(!isdefined(param_02)) - { - param_02 = 1; - } - - if(!isdefined(param_04)) - { - param_04 = 0; - } - - if(!isdefined(param_05)) - { - param_05 = 0; - } - - if(!isdefined(param_06)) - { - param_06 = 0; - } - - if(!isdefined(param_07)) - { - param_07 = 0; - } - - var_08 = level.destructible_type.size - 1; - var_09 = level.destructible_type[var_08].parts.size - 1; - var_0A = level.destructible_type[var_08].parts[var_09].size - 1; - var_0B = 0; - if(isdefined(level.destructible_type[var_08].parts[var_09][var_0A].v["fx_filename"])) - { - if(isdefined(level.destructible_type[var_08].parts[var_09][var_0A].v["fx_filename"][param_04])) - { - var_0B = level.destructible_type[var_08].parts[var_09][var_0A].v["fx_filename"][param_04].size; - } - } - - if(isdefined(param_03)) - { - level.destructible_type[var_08].parts[var_09][var_0A].v["fx_valid_damagetype"][param_04][var_0B] = param_03; - } - - level.destructible_type[var_08].parts[var_09][var_0A].v["fx_filename"][param_04][var_0B] = param_01; - level.destructible_type[var_08].parts[var_09][var_0A].v["fx_tag"][param_04][var_0B] = param_00; - level.destructible_type[var_08].parts[var_09][var_0A].v["fx_useTagAngles"][param_04][var_0B] = param_02; - level.destructible_type[var_08].parts[var_09][var_0A].v["fx_cost"][param_04][var_0B] = param_05; - level.destructible_type[var_08].parts[var_09][var_0A].v["spawn_immediate"][param_04][var_0B] = param_06; - level.destructible_type[var_08].parts[var_09][var_0A].v["state_change_kill"][param_04][var_0B] = param_07; -} - -//Function Number: 15 -destructible_createdot_predefined(param_00) -{ - var_01 = level.destructible_type.size - 1; - var_02 = level.destructible_type[var_01].parts.size - 1; - var_03 = level.destructible_type[var_01].parts[var_02].size - 1; - if(!isdefined(level.destructible_type[var_01].parts[var_02][var_03].v["dot"])) - { - level.destructible_type[var_01].parts[var_02][var_03].v["dot"] = []; - } - - var_04 = level.destructible_type[var_01].parts[var_02][var_03].v["dot"].size; - var_05 = createdot(); - var_05.type = "predefined"; - var_05.index = param_00; - level.destructible_type[var_01].parts[var_02][var_03].v["dot"][var_04] = var_05; -} - -//Function Number: 16 -destructible_createdot_radius(param_00,param_01,param_02,param_03) -{ - var_04 = level.destructible_type.size - 1; - var_05 = level.destructible_type[var_04].parts.size - 1; - var_06 = level.destructible_type[var_04].parts[var_05].size - 1; - if(!isdefined(level.destructible_type[var_04].parts[var_05][var_06].v["dot"])) - { - level.destructible_type[var_04].parts[var_05][var_06].v["dot"] = []; - } - - var_07 = level.destructible_type[var_04].parts[var_05][var_06].v["dot"].size; - var_08 = createdot_radius((0,0,0),param_01,param_02,param_03); - var_08.tag = param_00; - level.destructible_type[var_04].parts[var_05][var_06].v["dot"][var_07] = var_08; -} - -//Function Number: 17 -destructible_setdot_ontick(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - var_08 = level.destructible_type.size - 1; - var_09 = level.destructible_type[var_08].parts.size - 1; - var_0A = level.destructible_type[var_08].parts[var_09].size - 1; - var_0B = level.destructible_type[var_08].parts[var_09][var_0A].v["dot"].size - 1; - var_0C = level.destructible_type[var_08].parts[var_09][var_0A].v["dot"][var_0B]; - var_0C setdot_ontick(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07); - initdot(param_06); -} - -//Function Number: 18 -destructible_setdot_ontickfunc(param_00,param_01,param_02) -{ - var_03 = level.destructible_type.size - 1; - var_04 = level.destructible_type[var_03].parts.size - 1; - var_05 = level.destructible_type[var_03].parts[var_04].size - 1; - var_06 = level.destructible_type[var_03].parts[var_04][var_05].v["dot"].size - 1; - var_07 = level.destructible_type[var_03].parts[var_04][var_05].v["dot"][var_06]; - var_08 = var_07.ticks.size; - var_07.ticks[var_08].onenterfunc = param_00; - var_07.ticks[var_08].onexitfunc = param_01; - var_07.ticks[var_08].ondeathfunc = param_02; -} - -//Function Number: 19 -destructible_builddot_ontick(param_00,param_01) -{ - var_02 = level.destructible_type.size - 1; - var_03 = level.destructible_type[var_02].parts.size - 1; - var_04 = level.destructible_type[var_02].parts[var_03].size - 1; - var_05 = level.destructible_type[var_02].parts[var_03][var_04].v["dot"].size - 1; - var_06 = level.destructible_type[var_02].parts[var_03][var_04].v["dot"][var_05]; - var_06 builddot_ontick(param_00,param_01); -} - -//Function Number: 20 -destructible_builddot_startloop(param_00) -{ - var_01 = level.destructible_type.size - 1; - var_02 = level.destructible_type[var_01].parts.size - 1; - var_03 = level.destructible_type[var_01].parts[var_02].size - 1; - var_04 = level.destructible_type[var_01].parts[var_02][var_03].v["dot"].size - 1; - var_05 = level.destructible_type[var_01].parts[var_02][var_03].v["dot"][var_04]; - var_05 builddot_startloop(param_00); -} - -//Function Number: 21 -destructible_builddot_damage(param_00,param_01,param_02,param_03,param_04,param_05) -{ - var_06 = level.destructible_type.size - 1; - var_07 = level.destructible_type[var_06].parts.size - 1; - var_08 = level.destructible_type[var_06].parts[var_07].size - 1; - var_09 = level.destructible_type[var_06].parts[var_07][var_08].v["dot"].size - 1; - var_0A = level.destructible_type[var_06].parts[var_07][var_08].v["dot"][var_09]; - var_0A builddot_damage(param_00,param_01,param_02,param_03,param_04,param_05); -} - -//Function Number: 22 -destructible_builddot_wait(param_00) -{ - var_01 = level.destructible_type.size - 1; - var_02 = level.destructible_type[var_01].parts.size - 1; - var_03 = level.destructible_type[var_01].parts[var_02].size - 1; - var_04 = level.destructible_type[var_01].parts[var_02][var_03].v["dot"].size - 1; - var_05 = level.destructible_type[var_01].parts[var_02][var_03].v["dot"][var_04]; - var_05 builddot_wait(param_00); -} - -//Function Number: 23 -destructible_loopfx(param_00,param_01,param_02,param_03) -{ - if(!isdefined(param_03)) - { - param_03 = 0; - } - - var_04 = level.destructible_type.size - 1; - var_05 = level.destructible_type[var_04].parts.size - 1; - var_06 = level.destructible_type[var_04].parts[var_05].size - 1; - var_07 = 0; - if(isdefined(level.destructible_type[var_04].parts[var_05][var_06].v["loopfx_filename"])) - { - var_07 = level.destructible_type[var_04].parts[var_05][var_06].v["loopfx_filename"].size; - } - - level.destructible_type[var_04].parts[var_05][var_06].v["loopfx_filename"][var_07] = param_01; - level.destructible_type[var_04].parts[var_05][var_06].v["loopfx_tag"][var_07] = param_00; - level.destructible_type[var_04].parts[var_05][var_06].v["loopfx_rate"][var_07] = param_02; - level.destructible_type[var_04].parts[var_05][var_06].v["loopfx_cost"][var_07] = param_03; -} - -//Function Number: 24 -destructible_healthdrain(param_00,param_01,param_02,param_03) -{ - var_04 = level.destructible_type.size - 1; - var_05 = level.destructible_type[var_04].parts.size - 1; - var_06 = level.destructible_type[var_04].parts[var_05].size - 1; - level.destructible_type[var_04].parts[var_05][var_06].v["healthdrain_amount"] = param_00; - level.destructible_type[var_04].parts[var_05][var_06].v["healthdrain_interval"] = param_01; - level.destructible_type[var_04].parts[var_05][var_06].v["badplace_radius"] = param_02; - level.destructible_type[var_04].parts[var_05][var_06].v["badplace_team"] = param_03; -} - -//Function Number: 25 -destructible_sound(param_00,param_01,param_02) -{ - var_03 = level.destructible_type.size - 1; - var_04 = level.destructible_type[var_03].parts.size - 1; - var_05 = level.destructible_type[var_03].parts[var_04].size - 1; - if(!isdefined(param_02)) - { - param_02 = 0; - } - - if(!isdefined(level.destructible_type[var_03].parts[var_04][var_05].v["sound"])) - { - level.destructible_type[var_03].parts[var_04][var_05].v["sound"] = []; - level.destructible_type[var_03].parts[var_04][var_05].v["soundCause"] = []; - } - - if(!isdefined(level.destructible_type[var_03].parts[var_04][var_05].v["sound"][param_02])) - { - level.destructible_type[var_03].parts[var_04][var_05].v["sound"][param_02] = []; - level.destructible_type[var_03].parts[var_04][var_05].v["soundCause"][param_02] = []; - } - - var_06 = level.destructible_type[var_03].parts[var_04][var_05].v["sound"][param_02].size; - level.destructible_type[var_03].parts[var_04][var_05].v["sound"][param_02][var_06] = param_00; - level.destructible_type[var_03].parts[var_04][var_05].v["soundCause"][param_02][var_06] = param_01; -} - -//Function Number: 26 -destructible_loopsound(param_00,param_01) -{ - var_02 = level.destructible_type.size - 1; - var_03 = level.destructible_type[var_02].parts.size - 1; - var_04 = level.destructible_type[var_02].parts[var_03].size - 1; - if(!isdefined(level.destructible_type[var_02].parts[var_03][var_04].v["loopsound"])) - { - level.destructible_type[var_02].parts[var_03][var_04].v["loopsound"] = []; - level.destructible_type[var_02].parts[var_03][var_04].v["loopsoundCause"] = []; - } - - var_05 = level.destructible_type[var_02].parts[var_03][var_04].v["loopsound"].size; - level.destructible_type[var_02].parts[var_03][var_04].v["loopsound"][var_05] = param_00; - level.destructible_type[var_02].parts[var_03][var_04].v["loopsoundCause"][var_05] = param_01; -} - -//Function Number: 27 -destructible_anim(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) -{ - if(!isdefined(param_03)) - { - param_03 = 0; - } - - if(!isdefined(param_04)) - { - param_04 = 0; - } - - var_09 = []; - var_09["anim"] = param_00; - var_09["animTree"] = param_01; - var_09["animType"] = param_02; - var_09["vehicle_exclude_anim"] = param_03; - var_09["groupNum"] = param_04; - var_09["mpAnim"] = param_05; - var_09["maxStartDelay"] = param_06; - var_09["animRateMin"] = param_07; - var_09["animRateMax"] = param_08; - add_array_to_destructible("animation",var_09); -} - -//Function Number: 28 -destructible_spotlight(param_00) -{ - var_01 = []; - var_01["spotlight_tag"] = param_00; - var_01["spotlight_fx"] = "spotlight_fx"; - var_01["spotlight_brightness"] = 0.85; - var_01["randomly_flip"] = 1; - add_keypairs_to_destructible(var_01); -} - -//Function Number: 29 -add_key_to_destructible(param_00,param_01) -{ - var_02 = []; - var_02[param_00] = param_01; - add_keypairs_to_destructible(var_02); -} - -//Function Number: 30 -add_keypairs_to_destructible(param_00) -{ - var_01 = level.destructible_type.size - 1; - var_02 = level.destructible_type[var_01].parts.size - 1; - var_03 = level.destructible_type[var_01].parts[var_02].size - 1; - foreach(var_06, var_05 in param_00) - { - level.destructible_type[var_01].parts[var_02][var_03].v[var_06] = var_05; - } -} - -//Function Number: 31 -add_array_to_destructible(param_00,param_01) -{ - var_02 = level.destructible_type.size - 1; - var_03 = level.destructible_type[var_02].parts.size - 1; - var_04 = level.destructible_type[var_02].parts[var_03].size - 1; - var_05 = level.destructible_type[var_02].parts[var_03][var_04].v; - if(!isdefined(var_05[param_00])) - { - var_05[param_00] = []; - } - - var_05[param_00][var_05[param_00].size] = param_01; - level.destructible_type[var_02].parts[var_03][var_04].v = var_05; -} - -//Function Number: 32 -destructible_car_alarm() -{ - var_00 = level.destructible_type.size - 1; - var_01 = level.destructible_type[var_00].parts.size - 1; - var_02 = level.destructible_type[var_00].parts[var_01].size - 1; - level.destructible_type[var_00].parts[var_01][var_02].v["triggerCarAlarm"] = 1; -} - -//Function Number: 33 -destructible_lights_out(param_00) -{ - if(!isdefined(param_00)) - { - param_00 = 256; - } - - var_01 = level.destructible_type.size - 1; - var_02 = level.destructible_type[var_01].parts.size - 1; - var_03 = level.destructible_type[var_01].parts[var_02].size - 1; - level.destructible_type[var_01].parts[var_02][var_03].v["break_nearby_lights"] = param_00; -} - -//Function Number: 34 -random_dynamic_attachment(param_00,param_01,param_02,param_03) -{ - if(!isdefined(param_02)) - { - param_02 = ""; - } - - var_04 = level.destructible_type.size - 1; - var_05 = level.destructible_type[var_04].parts.size - 1; - var_06 = 0; - if(!isdefined(level.destructible_type[var_04].parts[var_05][var_06].v["random_dynamic_attachment_1"])) - { - level.destructible_type[var_04].parts[var_05][var_06].v["random_dynamic_attachment_1"] = []; - level.destructible_type[var_04].parts[var_05][var_06].v["random_dynamic_attachment_2"] = []; - level.destructible_type[var_04].parts[var_05][var_06].v["random_dynamic_attachment_tag"] = []; - } - - var_07 = level.destructible_type[var_04].parts[var_05][var_06].v["random_dynamic_attachment_1"].size; - level.destructible_type[var_04].parts[var_05][var_06].v["random_dynamic_attachment_1"][var_07] = param_01; - level.destructible_type[var_04].parts[var_05][var_06].v["random_dynamic_attachment_2"][var_07] = param_02; - level.destructible_type[var_04].parts[var_05][var_06].v["random_dynamic_attachment_tag"][var_07] = param_00; - level.destructible_type[var_04].parts[var_05][var_06].v["clipToRemove"][var_07] = param_03; -} - -//Function Number: 35 -destructible_physics(param_00,param_01) -{ - var_02 = level.destructible_type.size - 1; - var_03 = level.destructible_type[var_02].parts.size - 1; - var_04 = level.destructible_type[var_02].parts[var_03].size - 1; - if(!isdefined(level.destructible_type[var_02].parts[var_03][var_04].v["physics"])) - { - level.destructible_type[var_02].parts[var_03][var_04].v["physics"] = []; - level.destructible_type[var_02].parts[var_03][var_04].v["physics_tagName"] = []; - level.destructible_type[var_02].parts[var_03][var_04].v["physics_velocity"] = []; - } - - var_05 = level.destructible_type[var_02].parts[var_03][var_04].v["physics"].size; - level.destructible_type[var_02].parts[var_03][var_04].v["physics"][var_05] = 1; - level.destructible_type[var_02].parts[var_03][var_04].v["physics_tagName"][var_05] = param_00; - level.destructible_type[var_02].parts[var_03][var_04].v["physics_velocity"][var_05] = param_01; -} - -//Function Number: 36 -destructible_splash_damage_scaler(param_00) -{ - var_01 = level.destructible_type.size - 1; - var_02 = level.destructible_type[var_01].parts.size - 1; - var_03 = level.destructible_type[var_01].parts[var_02].size - 1; - level.destructible_type[var_01].parts[var_02][var_03].v["splash_damage_scaler"] = param_00; -} - -//Function Number: 37 -destructible_explode(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B,param_0C,param_0D) -{ - var_0E = level.destructible_type.size - 1; - var_0F = level.destructible_type[var_0E].parts.size - 1; - var_10 = level.destructible_type[var_0E].parts[var_0F].size - 1; - if(common_scripts\utility::issp()) - { - level.destructible_type[var_0E].parts[var_0F][var_10].v["explode_range"] = param_02; - } - else - { - level.destructible_type[var_0E].parts[var_0F][var_10].v["explode_range"] = param_03; - } - - level.destructible_type[var_0E].parts[var_0F][var_10].v["explode"] = 1; - level.destructible_type[var_0E].parts[var_0F][var_10].v["explode_force_min"] = param_00; - level.destructible_type[var_0E].parts[var_0F][var_10].v["explode_force_max"] = param_01; - level.destructible_type[var_0E].parts[var_0F][var_10].v["explode_mindamage"] = param_04; - level.destructible_type[var_0E].parts[var_0F][var_10].v["explode_maxdamage"] = param_05; - level.destructible_type[var_0E].parts[var_0F][var_10].v["continueDamage"] = param_06; - level.destructible_type[var_0E].parts[var_0F][var_10].v["originOffset"] = param_07; - level.destructible_type[var_0E].parts[var_0F][var_10].v["earthQuakeScale"] = param_08; - level.destructible_type[var_0E].parts[var_0F][var_10].v["earthQuakeRadius"] = param_09; - level.destructible_type[var_0E].parts[var_0F][var_10].v["originOffset3d"] = param_0A; - level.destructible_type[var_0E].parts[var_0F][var_10].v["delaytime"] = param_0B; - level.destructible_type[var_0E].parts[var_0F][var_10].v["explode_angularImpulse_min"] = param_0C; - level.destructible_type[var_0E].parts[var_0F][var_10].v["explode_angularImpulse_max"] = param_0D; -} - -//Function Number: 38 -destructible_function(param_00) -{ - var_01 = level.destructible_type.size - 1; - var_02 = level.destructible_type[var_01].parts.size - 1; - var_03 = level.destructible_type[var_01].parts[var_02].size - 1; - level.destructible_type[var_01].parts[var_02][var_03].v["function"] = param_00; -} - -//Function Number: 39 -destructible_notify(param_00) -{ - var_01 = level.destructible_type.size - 1; - var_02 = level.destructible_type[var_01].parts.size - 1; - var_03 = level.destructible_type[var_01].parts[var_02].size - 1; - level.destructible_type[var_01].parts[var_02][var_03].v["functionNotify"] = param_00; -} - -//Function Number: 40 -destructible_damage_threshold(param_00) -{ - var_01 = level.destructible_type.size - 1; - var_02 = level.destructible_type[var_01].parts.size - 1; - var_03 = level.destructible_type[var_01].parts[var_02].size - 1; - level.destructible_type[var_01].parts[var_02][var_03].v["damage_threshold"] = param_00; -} - -//Function Number: 41 -destructible_attachmodel(param_00,param_01) -{ - param_01 = tolower(param_01); - var_02 = level.destructible_type.size - 1; - if(!isdefined(level.destructible_type[var_02].attachedmodels)) - { - level.destructible_type[var_02].attachedmodels = []; - } - - var_03 = spawnstruct(); - var_03.model = param_01; - var_03.tag = param_00; - level.destructible_type[var_02].attachedmodels[level.destructible_type[var_02].attachedmodels.size] = var_03; -} - -//Function Number: 42 -destructible_info(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B,param_0C) -{ - if(isdefined(param_03)) - { - param_03 = tolower(param_03); - } - - var_0D = level.destructible_type.size - 1; - level.destructible_type[var_0D].parts[param_00][param_01] = spawnstruct(); - level.destructible_type[var_0D].parts[param_00][param_01].v["modelName"] = param_03; - level.destructible_type[var_0D].parts[param_00][param_01].v["tagName"] = param_02; - level.destructible_type[var_0D].parts[param_00][param_01].v["health"] = param_04; - level.destructible_type[var_0D].parts[param_00][param_01].v["validAttackers"] = param_05; - level.destructible_type[var_0D].parts[param_00][param_01].v["validDamageZone"] = param_06; - level.destructible_type[var_0D].parts[param_00][param_01].v["validDamageCause"] = param_07; - level.destructible_type[var_0D].parts[param_00][param_01].v["alsoDamageParent"] = param_08; - level.destructible_type[var_0D].parts[param_00][param_01].v["physicsOnExplosion"] = param_09; - level.destructible_type[var_0D].parts[param_00][param_01].v["grenadeImpactDeath"] = param_0A; - level.destructible_type[var_0D].parts[param_00][param_01].v["godModeAllowed"] = 0; - level.destructible_type[var_0D].parts[param_00][param_01].v["splashRotation"] = param_0B; - level.destructible_type[var_0D].parts[param_00][param_01].v["receiveDamageFromParent"] = param_0C; -} - -//Function Number: 43 -precache_destructibles() -{ - if(!isdefined(level.destructible_type[self.destructibleinfo].parts)) - { - return; - } - - if(isdefined(level.destructible_type[self.destructibleinfo].attachedmodels)) - { - foreach(var_01 in level.destructible_type[self.destructibleinfo].attachedmodels) - { - precachemodel(var_01.model); - } - } - - for(var_03 = 0;var_03 < level.destructible_type[self.destructibleinfo].parts.size;var_03++) - { - for(var_04 = 0;var_04 < level.destructible_type[self.destructibleinfo].parts[var_03].size;var_04++) - { - if(level.destructible_type[self.destructibleinfo].parts[var_03].size <= var_04) - { - continue; - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_03][var_04].v["modelName"])) - { - precachemodel(level.destructible_type[self.destructibleinfo].parts[var_03][var_04].v["modelName"]); - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_03][var_04].v["animation"])) - { - var_05 = level.destructible_type[self.destructibleinfo].parts[var_03][var_04].v["animation"]; - foreach(var_07 in var_05) - { - if(isdefined(var_07["mpAnim"])) - { - common_scripts\utility::noself_func("precacheMpAnim",var_07["mpAnim"]); - } - } - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_03][var_04].v["random_dynamic_attachment_1"])) - { - foreach(var_0A in level.destructible_type[self.destructibleinfo].parts[var_03][var_04].v["random_dynamic_attachment_1"]) - { - if(isdefined(var_0A) && var_0A != "") - { - precachemodel(var_0A); - precachemodel(var_0A + "_destroy"); - } - } - - foreach(var_0A in level.destructible_type[self.destructibleinfo].parts[var_03][var_04].v["random_dynamic_attachment_2"]) - { - if(isdefined(var_0A) && var_0A != "") - { - precachemodel(var_0A); - precachemodel(var_0A + "_destroy"); - } - } - } - } - } -} - -//Function Number: 44 -add_destructible_fx() -{ - if(!isdefined(level.destructible_type[self.destructibleinfo].parts)) - { - return; - } - - for(var_00 = 0;var_00 < level.destructible_type[self.destructibleinfo].parts.size;var_00++) - { - for(var_01 = 0;var_01 < level.destructible_type[self.destructibleinfo].parts[var_00].size;var_01++) - { - if(level.destructible_type[self.destructibleinfo].parts[var_00].size <= var_01) - { - continue; - } - - var_02 = level.destructible_type[self.destructibleinfo].parts[var_00][var_01]; - if(isdefined(var_02.v["fx_filename"])) - { - for(var_03 = 0;var_03 < var_02.v["fx_filename"].size;var_03++) - { - var_04 = var_02.v["fx_filename"][var_03]; - var_05 = var_02.v["fx_tag"][var_03]; - if(isdefined(var_04)) - { - if(isdefined(var_02.v["fx"]) && isdefined(var_02.v["fx"][var_03]) && var_02.v["fx"][var_03].size == var_04.size) - { - continue; - } - - for(var_06 = 0;var_06 < var_04.size;var_06++) - { - var_07 = var_04[var_06]; - var_08 = var_05[var_06]; - level.destructible_type[self.destructibleinfo].parts[var_00][var_01].v["fx"][var_03][var_06] = loadfx(var_07,var_08); - } - } - } - } - - var_09 = level.destructible_type[self.destructibleinfo].parts[var_00][var_01].v["loopfx_filename"]; - var_0A = level.destructible_type[self.destructibleinfo].parts[var_00][var_01].v["loopfx_tag"]; - if(isdefined(var_09)) - { - if(isdefined(var_02.v["loopfx"]) && var_02.v["loopfx"].size == var_09.size) - { - continue; - } - - for(var_06 = 0;var_06 < var_09.size;var_06++) - { - var_0B = var_09[var_06]; - var_0C = var_0A[var_06]; - level.destructible_type[self.destructibleinfo].parts[var_00][var_01].v["loopfx"][var_06] = loadfx(var_0B,var_0C); - } - } - } - } -} - -//Function Number: 45 -candamagedestructible(param_00) -{ - foreach(var_02 in self.destructibles) - { - if(var_02 == param_00) - { - return 1; - } - } - - return 0; -} - -//Function Number: 46 -destructible_think() -{ - var_00 = 0; - var_01 = self.model; - var_02 = undefined; - var_03 = self.origin; - var_04 = undefined; - var_05 = undefined; - var_06 = undefined; - var_07 = self.model; - destructible_update_part(var_00,var_01,var_02,var_03,var_04,var_05,var_06); - self endon("stop_taking_damage"); - for(;;) - { - var_00 = undefined; - var_05 = undefined; - var_04 = undefined; - var_03 = undefined; - var_08 = undefined; - var_01 = undefined; - var_02 = undefined; - var_09 = undefined; - var_0A = undefined; - self waittill("damage",var_00,var_05,var_04,var_03,var_08,var_01,var_02,var_09,var_0A); - if(!isdefined(var_00)) - { - continue; - } - - if(isdefined(var_05) && isdefined(var_05.type) && var_05.type == "soft_landing" && !var_05 candamagedestructible(self)) - { - continue; - } - - if(common_scripts\utility::issp()) - { - var_00 = var_00 * 0.5; - } - else - { - var_00 = var_00 * 1; - } - - if(var_00 <= 0) - { - continue; - } - - if(common_scripts\utility::issp()) - { - if(isdefined(var_05) && isplayer(var_05)) - { - self.damageowner = var_05; - } - } - else if(isdefined(var_05) && isplayer(var_05)) - { - self.damageowner = var_05; - } - else if(isdefined(var_05) && isdefined(var_05.gunner) && isplayer(var_05.gunner)) - { - self.damageowner = var_05.gunner; - } - - var_08 = getdamagetype(var_08); - if(is_shotgun_damage(var_05,var_08)) - { - if(common_scripts\utility::issp()) - { - var_00 = var_00 * 8; - } - else - { - var_00 = var_00 * 4; - } - } - - if(!isdefined(var_01) || var_01 == "") - { - var_01 = self.model; - } - - if(isdefined(var_02) && var_02 == "") - { - if(isdefined(var_09) && var_09 != "" && var_09 != "tag_body" && var_09 != "body_animate_jnt") - { - var_02 = var_09; - } - else - { - var_02 = undefined; - } - - var_0B = level.destructible_type[self.destructibleinfo].parts[0][0].v["tagName"]; - if(isdefined(var_0B) && isdefined(var_09) && var_0B == var_09) - { - var_02 = undefined; - } - } - - if(var_08 == "splash" || var_08 == "energy") - { - if(isdefined(level.destructible_type[self.destructibleinfo].parts[0][0].v["splash_damage_scaler"])) - { - var_00 = var_00 * level.destructible_type[self.destructibleinfo].parts[0][0].v["splash_damage_scaler"]; - } - else if(common_scripts\utility::issp()) - { - var_00 = var_00 * 9; - } - else - { - var_00 = var_00 * 13; - } - - if(var_07 == self.model && isdefined(self.script_dest_cover_dmg_model)) - { - self setmodel(self.script_dest_cover_dmg_model); - } - - destructible_splash_damage(int(var_00),var_03,var_04,var_05,var_08); - continue; - } - - thread destructible_update_part(int(var_00),var_01,var_02,var_03,var_04,var_05,var_08); - } -} - -//Function Number: 47 -is_shotgun_damage(param_00,param_01) -{ - if(param_01 != "bullet") - { - return 0; - } - - if(!isdefined(param_00)) - { - return 0; - } - - var_02 = undefined; - if(isplayer(param_00)) - { - var_02 = param_00 getcurrentweapon(); - } - else if(isdefined(level.enable_ai_shotgun_destructible_damage) && level.enable_ai_shotgun_destructible_damage) - { - if(isdefined(param_00.weapon)) - { - var_02 = param_00.weapon; - } - } - - if(!isdefined(var_02)) - { - return 0; - } - - var_03 = weaponclass(var_02); - if(isdefined(var_03) && var_03 == "spread") - { - return 1; - } - - return 0; -} - -//Function Number: 48 -getpartandstateindex(param_00,param_01) -{ - var_02 = spawnstruct(); - var_02.v = []; - var_03 = -1; - var_04 = -1; - if(tolower(param_00) == tolower(self.model) && !isdefined(param_01)) - { - param_00 = self.model; - param_01 = undefined; - var_03 = 0; - var_04 = 0; - } - - for(var_05 = 0;var_05 < level.destructible_type[self.destructibleinfo].parts.size;var_05++) - { - var_04 = self.destructible_parts[var_05].v["currentState"]; - if(level.destructible_type[self.destructibleinfo].parts[var_05].size <= var_04) - { - continue; - } - - if(!isdefined(param_01)) - { - continue; - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_05][var_04].v["tagName"])) - { - var_06 = level.destructible_type[self.destructibleinfo].parts[var_05][var_04].v["tagName"]; - if(tolower(var_06) == tolower(param_01)) - { - var_03 = var_05; - break; - } - } - } - - var_02.v["stateIndex"] = var_04; - var_02.v["partIndex"] = var_03; - return var_02; -} - -//Function Number: 49 -destructible_update_part(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - if(!isdefined(self.destructible_parts)) - { - return; - } - - if(self.destructible_parts.size == 0) - { - return; - } - - if(level.fast_destructible_explode) - { - self endon("destroyed"); - } - - var_08 = getpartandstateindex(param_01,param_02); - var_09 = var_08.v["stateIndex"]; - var_0A = var_08.v["partIndex"]; - if(var_0A < 0) - { - return; - } - - var_0B = var_09; - var_0C = 0; - var_0D = 0; - var_09 = self.destructible_parts[var_0A].v["currentState"]; - if(!isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_09])) - { - break; - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][0].v["alsoDamageParent"])) - { - if(getdamagetype(param_06) != "splash") - { - var_0E = level.destructible_type[self.destructibleinfo].parts[var_0A][0].v["alsoDamageParent"]; - var_0F = int(param_00 * var_0E); - thread notifydamageafterframe(var_0F,param_05,param_04,param_03,param_06,"",""); - } - } - - if(var_0A == 0 && getdamagetype(param_06) != "splash") - { - for(var_10 = 0;var_10 < level.destructible_type[self.destructibleinfo].parts.size;var_10++) - { - var_11 = level.destructible_type[self.destructibleinfo].parts[var_10]; - if(!isdefined(var_11[0].v["receiveDamageFromParent"])) - { - continue; - } - - var_12 = 0; - if(isdefined(self.destructible_parts[var_10].v["currentState"])) - { - var_12 = self.destructible_parts[var_10].v["currentState"]; - } - - if(!isdefined(var_11[var_12])) - { - continue; - } - - if(!isdefined(var_11[var_12].v["tagName"])) - { - continue; - } - - var_13 = var_11[var_12].v["tagName"]; - var_0E = var_11[0].v["receiveDamageFromParent"]; - var_14 = int(param_00 * var_0E); - thread notifydamageafterframe(var_14,param_05,param_04,param_03,param_06,"",var_13); - } - } - - if(!isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_09].v["health"])) - { - break; - } - - if(!isdefined(self.destructible_parts[var_0A].v["health"])) - { - break; - } - - if(var_0C) - { - self.destructible_parts[var_0A].v["health"] = level.destructible_type[self.destructibleinfo].parts[var_0A][var_09].v["health"]; - } - - var_0C = 0; - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_09].v["grenadeImpactDeath"]) && param_06 == "impact") - { - param_00 = 100000000; - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_09].v["damage_threshold"]) && level.destructible_type[self.destructibleinfo].parts[var_0A][var_09].v["damage_threshold"] > param_00) - { - param_00 = 0; - } - - var_15 = self.destructible_parts[var_0A].v["health"]; - var_16 = isattackervalid(var_0A,var_09,param_05); - if(var_16) - { - var_17 = isvaliddamagecause(var_0A,var_09,param_06); - if(var_17) - { - if(isdefined(param_05)) - { - if(isplayer(param_05)) - { - self.player_damage = self.player_damage + param_00; - } - else if(param_05 != self) - { - self.non_player_damage = self.non_player_damage + param_00; - } - } - - if(isdefined(param_06)) - { - if(param_06 == "melee" || param_06 == "impact") - { - param_00 = 100000; - } - } - - self.destructible_parts[var_0A].v["health"] = self.destructible_parts[var_0A].v["health"] - param_00; - } - } - - if(self.destructible_parts[var_0A].v["health"] > 0) - { - return; - } - - if(isdefined(param_07)) - { - param_07.v["fxcost"] = get_part_fx_cost_for_action_state(var_0A,self.destructible_parts[var_0A].v["currentState"]); - add_destructible_to_frame_queue(self,param_07,param_00); - if(!isdefined(self.waiting_for_queue)) - { - self.waiting_for_queue = 1; - } - else - { - self.waiting_for_queue++; - } - - self waittill("queue_processed",var_18); - self.waiting_for_queue--; - if(self.waiting_for_queue == 0) - { - self.waiting_for_queue = undefined; - } - - if(!var_18) - { - self.destructible_parts[var_0A].v["health"] = var_15; - return; - } - } - - param_00 = int(abs(self.destructible_parts[var_0A].v["health"])); - if(param_00 < 0) - { - return; - } - - self.destructible_parts[var_0A].v["currentState"]++; - var_09 = self.destructible_parts[var_0A].v["currentState"]; - var_19 = var_09 - 1; - var_1A = undefined; - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19])) - { - var_1A = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v; - } - - var_1B = undefined; - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_09])) - { - var_1B = level.destructible_type[self.destructibleinfo].parts[var_0A][var_09].v; - } - - if(!isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19])) - { - return; - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["explode"])) - { - self.exploding = 1; - } - - if(isdefined(self.loopingsoundstopnotifies) && isdefined(self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)])) - { - for(var_10 = 0;var_10 < self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)].size;var_10++) - { - self notify(self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)][var_10]); - if(common_scripts\utility::issp() && self.modeldummyon) - { - self.modeldummy notify(self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)][var_10]); - } - } - - self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)] = undefined; - } - - if(isdefined(var_1A["break_nearby_lights"])) - { - destructible_get_my_breakable_light(var_1A["break_nearby_lights"]); - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_09])) - { - if(var_0A == 0) - { - var_1C = var_1B["modelName"]; - if(isdefined(var_1C) && var_1C != self.model) - { - self setmodel(var_1C); - if(common_scripts\utility::issp() && self.modeldummyon) - { - self.modeldummy setmodel(var_1C); - } - - destructible_splash_rotatation(var_1B); - } - } - else - { - hideapart(param_02); - if(common_scripts\utility::issp() && self.modeldummyon) - { - self.modeldummy hideapart(param_02); - } - - param_02 = var_1B["tagName"]; - if(isdefined(param_02)) - { - showapart(param_02); - if(common_scripts\utility::issp() && self.modeldummyon) - { - self.modeldummy showapart(param_02); - } - } - } - } - - var_1D = get_dummy(); - if(isdefined(self.exploding)) - { - clear_anims(var_1D); - } - - var_1E = destructible_animation_think(var_1A,var_1D,param_06,var_0A); - var_1E = destructible_fx_think(var_1A,var_1D,param_06,var_0A,var_1E); - self notify("FX_State_Change_Kill" + var_0A); - var_1E = destructible_sound_think(var_1A,var_1D,param_06,var_1E); - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopfx"])) - { - var_1F = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopfx_filename"].size; - if(var_1F > 0) - { - self notify("FX_State_Change" + var_0A); - } - - for(var_20 = 0;var_20 < var_1F;var_20++) - { - var_21 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopfx"][var_20]; - var_22 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopfx_tag"][var_20]; - var_23 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopfx_rate"][var_20]; - thread loopfx_ontag(var_21,var_22,var_23,var_0A); - } - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopsound"])) - { - for(var_10 = 0;var_10 < level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopsound"].size;var_10++) - { - var_24 = isvalidsoundcause("loopsoundCause",var_1A,var_10,param_06); - if(var_24) - { - var_25 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopsound"][var_10]; - var_26 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["tagName"]; - thread play_loop_sound_on_destructible(var_25,var_26); - if(!isdefined(self.loopingsoundstopnotifies)) - { - self.loopingsoundstopnotifies = []; - } - - if(!isdefined(self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)])) - { - self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)] = []; - } - - var_27 = self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)].size; - self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)][var_27] = "stop sound" + var_25; - } - } - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["triggerCarAlarm"])) - { - thread do_car_alarm(); - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["break_nearby_lights"])) - { - thread break_nearest_light(); - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["healthdrain_amount"])) - { - self notify("Health_Drain_State_Change" + var_0A); - var_28 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["healthdrain_amount"]; - var_29 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["healthdrain_interval"]; - var_2A = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["modelName"]; - var_2B = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["tagName"]; - var_2C = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["badplace_radius"]; - var_2D = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["badplace_team"]; - if(var_28 > 0) - { - thread health_drain(var_28,var_29,var_0A,var_2A,var_2B,var_2C,var_2D); - } - } - - var_2E = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["dot"]; - if(isdefined(var_2E)) - { - var_2F = var_2E; - var_3C = getfirstarraykey(var_2F); - if(isdefined(var_3C)) - { - var_30 = var_2F[var_3C]; - var_31 = var_30.index; - if(var_30.type == "predefined" && isdefined(var_31)) - { - var_32 = []; - var_33 = level.destructible_type[self.destructibleinfo].destructible_dots[var_31]; - var_3B = getfirstarraykey(var_33); - if(isdefined(var_3B)) - { - var_34 = var_33[var_3B]; - var_35 = var_34["classname"]; - var_36 = undefined; - switch(var_35) - { - case "trigger_radius": - break; - - default: - break; - } - } - } - } - } -} - -//Function Number: 50 -destructible_splash_rotatation(param_00) -{ - var_01 = param_00["splashRotation"]; - var_02 = param_00["rotateTo"]; - if(!isdefined(var_02)) - { - return; - } - - if(!isdefined(var_01)) - { - return; - } - - if(!var_01) - { - return; - } - - self.angles = (self.angles[0],var_02[1],self.angles[2]); -} - -//Function Number: 51 -damage_not(param_00) -{ - var_01 = strtok(param_00," "); - var_02 = strtok("splash melee bullet splash impact unknown"," "); - var_03 = ""; - foreach(var_05 in var_01) - { - var_02 = common_scripts\utility::array_remove(var_02,var_05); - } - - foreach(var_08 in var_02) - { - var_03 = var_03 + var_08 + " "; - } - - return var_03; -} - -//Function Number: 52 -destructible_splash_damage(param_00,param_01,param_02,param_03,param_04) -{ - if(param_00 <= 0) - { - return; - } - - if(isdefined(self.exploded)) - { - return; - } - - if(!isdefined(level.destructible_type[self.destructibleinfo].parts)) - { - return; - } - - var_05 = getallactiveparts(param_02); - if(var_05.size <= 0) - { - return; - } - - var_05 = setdistanceonparts(var_05,param_01); - var_06 = getlowestpartdistance(var_05); - foreach(var_08 in var_05) - { - var_09 = var_08.v["distance"] * 1.4; - var_0A = param_00 - var_09 - var_06; - if(var_0A <= 0) - { - continue; - } - - if(isdefined(self.exploded)) - { - continue; - } - - thread destructible_update_part(var_0A,var_08.v["modelName"],var_08.v["tagName"],param_01,param_02,param_03,param_04,var_08); - } -} - -//Function Number: 53 -getallactiveparts(param_00) -{ - var_01 = []; - if(!isdefined(level.destructible_type[self.destructibleinfo].parts)) - { - return var_01; - } - - for(var_02 = 0;var_02 < level.destructible_type[self.destructibleinfo].parts.size;var_02++) - { - var_03 = var_02; - var_04 = self.destructible_parts[var_03].v["currentState"]; - for(var_05 = 0;var_05 < level.destructible_type[self.destructibleinfo].parts[var_03].size;var_05++) - { - var_06 = level.destructible_type[self.destructibleinfo].parts[var_03][var_05].v["splashRotation"]; - if(isdefined(var_06) && var_06) - { - var_07 = vectortoangles(param_00); - var_08 = var_07[1] - 90; - level.destructible_type[self.destructibleinfo].parts[var_03][var_05].v["rotateTo"] = (0,var_08,0); - } - } - - if(!isdefined(level.destructible_type[self.destructibleinfo].parts[var_03][var_04])) - { - continue; - } - - var_09 = level.destructible_type[self.destructibleinfo].parts[var_03][var_04].v["tagName"]; - if(!isdefined(var_09)) - { - var_09 = ""; - } - - if(var_09 == "") - { - continue; - } - - var_0A = level.destructible_type[self.destructibleinfo].parts[var_03][var_04].v["modelName"]; - if(!isdefined(var_0A)) - { - var_0A = ""; - } - - var_0B = var_01.size; - var_01[var_0B] = spawnstruct(); - var_01[var_0B].v["modelName"] = var_0A; - var_01[var_0B].v["tagName"] = var_09; - } - - return var_01; -} - -//Function Number: 54 -setdistanceonparts(param_00,param_01) -{ - for(var_02 = 0;var_02 < param_00.size;var_02++) - { - var_03 = distance(param_01,self gettagorigin(param_00[var_02].v["tagName"])); - param_00[var_02].v["distance"] = var_03; - } - - return param_00; -} - -//Function Number: 55 -getlowestpartdistance(param_00) -{ - var_01 = undefined; - foreach(var_03 in param_00) - { - var_04 = var_03.v["distance"]; - if(!isdefined(var_01)) - { - var_01 = var_04; - } - - if(var_04 < var_01) - { - var_01 = var_04; - } - } - - return var_01; -} - -//Function Number: 56 -isvalidsoundcause(param_00,param_01,param_02,param_03,param_04) -{ - if(isdefined(param_04)) - { - var_05 = param_01[param_00][param_04][param_02]; - } - else - { - var_05 = param_02[param_01][param_03]; - } - - if(!isdefined(var_05)) - { - return 1; - } - - if(var_05 == param_03) - { - return 1; - } - - return 0; -} - -//Function Number: 57 -isattackervalid(param_00,param_01,param_02) -{ - if(isdefined(self.forceexploding)) - { - return 1; - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[param_00][param_01].v["explode"])) - { - if(isdefined(self.dontallowexplode)) - { - return 0; - } - } - - if(!isdefined(param_02)) - { - return 1; - } - - if(param_02 == self) - { - return 1; - } - - var_03 = level.destructible_type[self.destructibleinfo].parts[param_00][param_01].v["validAttackers"]; - if(!isdefined(var_03)) - { - return 1; - } - - if(var_03 == "no_player") - { - if(!isplayer(param_02)) - { - return 1; - } - - if(!isdefined(param_02.damageisfromplayer)) - { - return 1; - } - - if(param_02.damageisfromplayer == 0) - { - return 1; - } - } - else if(var_03 == "player_only") - { - if(isplayer(param_02)) - { - return 1; - } - - if(isdefined(param_02.damageisfromplayer) && param_02.damageisfromplayer) - { - return 1; - } - } - else if(var_03 == "no_ai" && isdefined(level.isaifunc)) - { - if(![[ level.isaifunc ]](param_02)) - { - return 1; - } - } - else if(var_03 == "ai_only" && isdefined(level.isaifunc)) - { - if([[ level.isaifunc ]](param_02)) - { - return 1; - } - } - else - { - } - - return 0; -} - -//Function Number: 58 -isvaliddamagecause(param_00,param_01,param_02) -{ - if(!isdefined(param_02)) - { - return 1; - } - - var_03 = level.destructible_type[self.destructibleinfo].parts[param_00][param_01].v["godModeAllowed"]; - if(var_03 && (isdefined(self.godmode) && self.godmode) || isdefined(self.script_bulletshield) && self.script_bulletshield && param_02 == "bullet") - { - return 0; - } - - var_04 = level.destructible_type[self.destructibleinfo].parts[param_00][param_01].v["validDamageCause"]; - if(!isdefined(var_04)) - { - return 1; - } - - if(var_04 == "splash" && param_02 != "splash") - { - return 0; - } - - if(var_04 == "no_splash" && param_02 == "splash") - { - return 0; - } - - if((var_04 == "no_melee" && param_02 == "melee") || param_02 == "impact") - { - return 0; - } - - if(var_04 == "bullet" && param_02 != "bullet") - { - return 0; - } - - return 1; -} - -//Function Number: 59 -getdamagetype(param_00) -{ - if(!isdefined(param_00)) - { - return "unknown"; - } - - param_00 = tolower(param_00); - switch(param_00) - { - case "mod_crush": - case "mod_melee_alt": - case "mod_melee": - case "melee": - break; - - case "mod_rifle_bullet": - case "mod_pistol_bullet": - case "bullet": - break; - - case "mod_explosive": - case "mod_projectile_splash": - case "mod_projectile": - case "mod_grenade_splash": - case "mod_grenade": - case "splash": - break; - - case "mod_impact": - break; - - case "mod_energy": - break; - - case "unknown": - break; - - default: - break; - } -} - -//Function Number: 60 -damage_mirror(param_00,param_01,param_02) -{ - self notify("stop_damage_mirror"); - self endon("stop_damage_mirror"); - param_00 endon("stop_taking_damage"); - self setcandamage(1); - for(;;) - { - self waittill("damage",var_03,var_04,var_05,var_06,var_07); - param_00 notify("damage",var_03,var_04,var_05,var_06,var_07,param_01,param_02); - var_03 = undefined; - var_04 = undefined; - var_05 = undefined; - var_06 = undefined; - var_07 = undefined; - } -} - -//Function Number: 61 -add_damage_owner_recorder() -{ - self.player_damage = 0; - self.non_player_damage = 0; - self.car_damage_owner_recorder = 1; -} - -//Function Number: 62 -loopfx_ontag(param_00,param_01,param_02,param_03) -{ - self endon("FX_State_Change" + param_03); - self endon("delete_destructible"); - level endon("putout_fires"); - while(isdefined(self)) - { - var_04 = get_dummy(); - playfxontag(param_00,var_04,param_01); - wait(param_02); - } -} - -//Function Number: 63 -health_drain(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - self endon("Health_Drain_State_Change" + param_02); - level endon("putout_fires"); - self endon("destroyed"); - if(isdefined(param_05) && isdefined(level.destructible_badplace_radius_multiplier)) - { - param_05 = param_05 * level.destructible_badplace_radius_multiplier; - } - - if(isdefined(param_00) && isdefined(level.destructible_health_drain_amount_multiplier)) - { - param_00 = param_00 * level.destructible_health_drain_amount_multiplier; - } - - wait(param_01); - self.healthdrain = 1; - var_07 = undefined; - if(isdefined(level.disable_destructible_bad_places) && level.disable_destructible_bad_places) - { - param_05 = undefined; - } - - if(isdefined(param_05) && isdefined(level.badplace_cylinder_func)) - { - var_07 = "" + gettime(); - if(!isdefined(self.disablebadplace)) - { - if(isdefined(self.script_radius)) - { - param_05 = self.script_radius; - } - - if(common_scripts\utility::issp() && isdefined(param_06)) - { - if(param_06 == "both") - { - [[ level.badplace_cylinder_func ]](var_07,0,self.origin,param_05,128,"allies","bad_guys"); - } - else - { - [[ level.badplace_cylinder_func ]](var_07,0,self.origin,param_05,128,param_06); - } - - thread badplace_remove(var_07); - } - else - { - [[ level.badplace_cylinder_func ]](var_07,0,self.origin,param_05,128); - thread badplace_remove(var_07); - } - } - } - - while(isdefined(self) && self.destructible_parts[param_02].v["health"] > 0) - { - self notify("damage",param_00,self,(0,0,0),(0,0,0),"MOD_UNKNOWN",param_03,param_04); - wait(param_01); - } - - self notify("remove_badplace"); -} - -//Function Number: 64 -badplace_remove(param_00) -{ - common_scripts\utility::waittill_any("destroyed","remove_badplace"); - [[ level.badplace_delete_func ]](param_00); -} - -//Function Number: 65 -physics_launch(param_00,param_01,param_02,param_03) -{ - var_04 = physics_object_create(param_00,param_01); - var_04 physicslaunchclient(param_02,param_03); -} - -//Function Number: 66 -physics_launch_with_impulse(param_00,param_01,param_02,param_03) -{ - var_04 = physics_object_create(param_00,param_01); - var_04 physicslaunchclientwithimpulse(param_02,param_03); -} - -//Function Number: 67 -physics_object_create(param_00,param_01) -{ - var_02 = level.destructible_type[self.destructibleinfo].parts[param_00][param_01].v["modelName"]; - var_03 = level.destructible_type[self.destructibleinfo].parts[param_00][param_01].v["tagName"]; - hideapart(var_03); - if(level.destructiblespawnedents.size >= level.destructiblespawnedentslimit) - { - physics_object_remove(level.destructiblespawnedents[0]); - } - - var_04 = spawn("script_model",self gettagorigin(var_03)); - var_04.angles = self gettagangles(var_03); - var_04 setmodel(var_02); - level.destructiblespawnedents[level.destructiblespawnedents.size] = var_04; - return var_04; -} - -//Function Number: 68 -physics_object_remove(param_00) -{ - var_01 = []; - for(var_02 = 0;var_02 < level.destructiblespawnedents.size;var_02++) - { - if(level.destructiblespawnedents[var_02] == param_00) - { - continue; - } - - var_01[var_01.size] = level.destructiblespawnedents[var_02]; - } - - level.destructiblespawnedents = var_01; - if(isdefined(param_00)) - { - param_00 delete(); - } -} - -//Function Number: 69 -explode(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B,param_0C,param_0D,param_0E) -{ - if(isdefined(param_03) && isdefined(level.destructible_explosion_radius_multiplier)) - { - param_03 = param_03 * level.destructible_explosion_radius_multiplier; - } - - if(!isdefined(param_07)) - { - param_07 = 80; - } - - if(!isdefined(param_0B)) - { - param_0B = (0,0,0); - } - - if(!isdefined(param_06) || isdefined(param_06) && !param_06) - { - if(isdefined(self.exploded)) - { - return; - } - - self.exploded = 1; - } - - if(!isdefined(param_0C)) - { - param_0C = 0; - } - - self notify("exploded",param_0A); - level notify("destructible_exploded",self,param_0A); - if(self.code_classname == "script_vehicle") - { - self notify("death",param_0A,self.damage_type); - } - - if(common_scripts\utility::issp()) - { - thread disconnecttraverses(); - } - - if(!level.fast_destructible_explode) - { - wait(0.05); - } - - if(!isdefined(self)) - { - return; - } - - var_0F = self.destructible_parts[param_00].v["currentState"]; - var_10 = undefined; - if(isdefined(level.destructible_type[self.destructibleinfo].parts[param_00][var_0F])) - { - var_10 = level.destructible_type[self.destructibleinfo].parts[param_00][var_0F].v["tagName"]; - } - - if(isdefined(var_10)) - { - var_11 = self gettagorigin(var_10); - } - else - { - var_11 = self.origin; - } - - self notify("damage",param_05,self,(0,0,0),var_11,"MOD_EXPLOSIVE","",""); - self notify("stop_car_alarm"); - waittillframeend; - if(isdefined(level.destructible_type[self.destructibleinfo].parts)) - { - for(var_12 = level.destructible_type[self.destructibleinfo].parts.size - 1;var_12 >= 0;var_12--) - { - if(var_12 == param_00) - { - continue; - } - - var_13 = self.destructible_parts[var_12].v["currentState"]; - if(var_13 >= level.destructible_type[self.destructibleinfo].parts[var_12].size) - { - var_13 = level.destructible_type[self.destructibleinfo].parts[var_12].size - 1; - } - - var_14 = level.destructible_type[self.destructibleinfo].parts[var_12][var_13].v["modelName"]; - var_10 = level.destructible_type[self.destructibleinfo].parts[var_12][var_13].v["tagName"]; - if(!isdefined(var_14)) - { - continue; - } - - if(!isdefined(var_10)) - { - continue; - } - - var_15 = 0; - if(isdefined(self.destructible_parts[var_12].v["health"])) - { - var_15 = self.destructible_parts[var_12].v["health"]; - } - - var_16 = 0; - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_12][var_13].v["health"])) - { - var_16 = level.destructible_type[self.destructibleinfo].parts[var_12][var_13].v["health"]; - } - - if(var_16 > 0 && var_15 <= 0) - { - continue; - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_12][0].v["physicsOnExplosion"])) - { - if(level.destructible_type[self.destructibleinfo].parts[var_12][0].v["physicsOnExplosion"] > 0) - { - var_17 = level.destructible_type[self.destructibleinfo].parts[var_12][0].v["physicsOnExplosion"]; - var_18 = self gettagorigin(var_10); - var_19 = vectornormalize(var_18 - var_11); - var_19 = var_19 * randomfloatrange(param_01,param_02) * var_17; - if(isdefined(param_0D) && isdefined(param_0E)) - { - var_1A = common_scripts\utility::randomvectorrange(param_0D,param_0E); - thread physics_launch_with_impulse(var_12,var_13,var_19,var_1A); - } - else - { - thread physics_launch(var_12,var_13,var_18,var_19); - } - - continue; - } - } - } - } - - var_1B = !isdefined(param_06) || isdefined(param_06) && !param_06; - if(var_1B) - { - self notify("stop_taking_damage"); - } - - if(!level.fast_destructible_explode) - { - wait(0.05); - } - - if(!isdefined(self)) - { - return; - } - - var_1C = var_11 + (0,0,param_07) + param_0B; - var_1D = getsubstr(level.destructible_type[self.destructibleinfo].v["type"],0,7) == "vehicle"; - if(var_1D) - { - anim.lastcarexplosiontime = gettime(); - anim.lastcarexplosiondamagelocation = var_1C; - anim.lastcarexplosionlocation = var_11; - anim.lastcarexplosionrange = param_03; - } - - level thread set_disable_friendlyfire_value_delayed(1); - if(param_0C > 0) - { - wait(param_0C); - } - - if(isdefined(level.destructible_protection_func)) - { - thread [[ level.destructible_protection_func ]](); - } - - if(common_scripts\utility::issp()) - { - if(level.gameskill == 0 && !player_touching_post_clip()) - { - self radiusdamage(var_1C,param_03,param_05,param_04,self,"MOD_RIFLE_BULLET"); - } - else - { - self radiusdamage(var_1C,param_03,param_05,param_04,self); - } - - if(isdefined(self.damageowner) && var_1D) - { - self.damageowner notify("destroyed_car"); - level notify("player_destroyed_car",self.damageowner,var_1C); - } - } - else - { - var_1E = "destructible_toy"; - if(var_1D) - { - var_1E = "destructible_car"; - } - - if(!isdefined(self.damageowner)) - { - self radiusdamage(var_1C,param_03,param_05,param_04,self,"MOD_EXPLOSIVE",var_1E); - } - else - { - self radiusdamage(var_1C,param_03,param_05,param_04,self.damageowner,"MOD_EXPLOSIVE",var_1E); - if(var_1D) - { - self.damageowner notify("destroyed_car"); - level notify("player_destroyed_car",self.damageowner,var_1C); - } - } - } - - if(isdefined(param_08) && isdefined(param_09)) - { - earthquake(param_08,2,var_1C,param_09); - } - - level thread set_disable_friendlyfire_value_delayed(0,0.05); - var_1F = 0.01; - var_20 = param_03 * var_1F; - param_03 = param_03 * 0.99; - physicsexplosionsphere(var_11,param_03,0,var_20); - if(var_1B) - { - self setcandamage(0); - thread cleanupvars(); - } - - self notify("destroyed"); -} - -//Function Number: 70 -cleanupvars() -{ - wait(0.05); - while(isdefined(self) && isdefined(self.waiting_for_queue)) - { - self waittill("queue_processed"); - wait(0.05); - } - - if(!isdefined(self)) - { - return; - } - - self.animsapplied = undefined; - self.attacker = undefined; - self.car_damage_owner_recorder = undefined; - self.caralarm = undefined; - self.damageowner = undefined; - self.destructible_parts = undefined; - self.destructible_type = undefined; - self.destructibleinfo = undefined; - self.healthdrain = undefined; - self.non_player_damage = undefined; - self.player_damage = undefined; - if(!isdefined(level.destructible_cleans_up_more)) - { - return; - } - - self.script_noflip = undefined; - self.exploding = undefined; - self.loopingsoundstopnotifies = undefined; - self.car_alarm_org = undefined; -} - -//Function Number: 71 -set_disable_friendlyfire_value_delayed(param_00,param_01) -{ - level notify("set_disable_friendlyfire_value_delayed"); - level endon("set_disable_friendlyfire_value_delayed"); - if(isdefined(param_01)) - { - wait(param_01); - } - - level.friendlyfiredisabledfordestructible = param_00; -} - -//Function Number: 72 -connecttraverses() -{ - var_00 = get_traverse_disconnect_brush(); - if(!isdefined(var_00)) - { - return; - } - - var_00 [[ level.connectpathsfunction ]](); - var_00.origin = var_00.origin - (0,0,10000); -} - -//Function Number: 73 -disconnecttraverses() -{ - var_00 = get_traverse_disconnect_brush(); - if(!isdefined(var_00)) - { - return; - } - - var_00.origin = var_00.origin + (0,0,10000); - var_00 [[ level.disconnectpathsfunction ]](); - var_00.origin = var_00.origin - (0,0,10000); -} - -//Function Number: 74 -get_traverse_disconnect_brush() -{ - if(!isdefined(self.target)) - { - return undefined; - } - - var_00 = getentarray(self.target,"targetname"); - foreach(var_02 in var_00) - { - if(isspawner(var_02)) - { - continue; - } - - if(isdefined(var_02.script_destruct_collision)) - { - continue; - } - - if(var_02.code_classname == "light") - { - continue; - } - - if(!var_02.spawnflags & 1) - { - continue; - } - - return var_02; - } -} - -//Function Number: 75 -hideapart(param_00) -{ - self hidepart(param_00); -} - -//Function Number: 76 -showapart(param_00) -{ - self showpart(param_00); -} - -//Function Number: 77 -disable_explosion() -{ - self.dontallowexplode = 1; -} - -//Function Number: 78 -force_explosion() -{ - self.dontallowexplode = undefined; - self.forceexploding = 1; - self notify("damage",100000,self,self.origin,self.origin,"MOD_EXPLOSIVE","",""); -} - -//Function Number: 79 -get_dummy() -{ - if(!common_scripts\utility::issp()) - { - return self; - } - - if(self.modeldummyon) - { - var_00 = self.modeldummy; - } - else - { - var_00 = self; - } - - return var_00; -} - -//Function Number: 80 -play_loop_sound_on_destructible(param_00,param_01) -{ - var_02 = get_dummy(); - var_03 = spawn("script_origin",(0,0,0)); - if(isdefined(param_01)) - { - var_03.origin = var_02 gettagorigin(param_01); - } - else - { - var_03.origin = var_02.origin; - } - - var_03 playloopsound(param_00); - var_02 thread force_stop_sound(param_00); - var_02 waittill("stop sound" + param_00); - if(!isdefined(var_03)) - { - return; - } - - var_03 stoploopsound(param_00); - var_03 delete(); -} - -//Function Number: 81 -force_stop_sound(param_00) -{ - self endon("stop sound" + param_00); - level waittill("putout_fires"); - self notify("stop sound" + param_00); -} - -//Function Number: 82 -notifydamageafterframe(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - waittillframeend; - if(isdefined(self.exploded)) - { - return; - } - - if(common_scripts\utility::issp()) - { - param_00 = param_00 / 0.5; - } - else - { - param_00 = param_00 / 1; - } - - self notify("damage",param_00,param_01,param_02,param_03,param_04,param_05,param_06); -} - -//Function Number: 83 -play_sound(param_00,param_01) -{ - if(isdefined(param_01)) - { - var_02 = spawn("script_origin",self gettagorigin(param_01)); - var_02 hide(); - var_02 linkto(self,param_01,(0,0,0),(0,0,0)); - } - else - { - var_02 = spawn("script_origin",(0,0,0)); - var_02 hide(); - var_02.origin = self.origin; - var_02.angles = self.angles; - var_02 linkto(self); - } - - var_02 playsound(param_00); - wait(5); - if(isdefined(var_02)) - { - var_02 delete(); - } -} - -//Function Number: 84 -do_car_alarm() -{ - if(isdefined(self.caralarm)) - { - return; - } - - self.caralarm = 1; - if(!should_do_car_alarm()) - { - return; - } - - self.car_alarm_org = spawn("script_model",self.origin); - self.car_alarm_org hide(); - self.car_alarm_org playloopsound("car_alarm"); - level.currentcaralarms++; - thread car_alarm_timeout(); - self waittill("stop_car_alarm"); - level.lastcaralarmtime = gettime(); - level.currentcaralarms--; - self.car_alarm_org stoploopsound("car_alarm"); - self.car_alarm_org delete(); -} - -//Function Number: 85 -car_alarm_timeout() -{ - self endon("stop_car_alarm"); - wait(25); - if(!isdefined(self)) - { - return; - } - - thread play_sound("car_alarm_off"); - self notify("stop_car_alarm"); -} - -//Function Number: 86 -should_do_car_alarm() -{ - if(level.currentcaralarms >= 2) - { - return 0; - } - - var_00 = undefined; - if(!isdefined(level.lastcaralarmtime)) - { - if(common_scripts\utility::cointoss()) - { - return 1; - } - - var_00 = gettime() - level.commonstarttime; - } - else - { - var_00 = gettime() - level.lastcaralarmtime; - } - - if(level.currentcaralarms == 0 && var_00 >= 120) - { - return 1; - } - - if(randomint(100) <= 33) - { - return 1; - } - - return 0; -} - -//Function Number: 87 -do_random_dynamic_attachment(param_00,param_01,param_02,param_03) -{ - var_04 = []; - if(common_scripts\utility::issp()) - { - self attach(param_01,param_00,0); - if(isdefined(param_02) && param_02 != "") - { - self attach(param_02,param_00,0); - } - } - else - { - var_04[0] = spawn("script_model",self gettagorigin(param_00)); - var_04[0].angles = self gettagangles(param_00); - var_04[0] setmodel(param_01); - var_04[0] linkto(self,param_00); - if(isdefined(param_02) && param_02 != "") - { - var_04[1] = spawn("script_model",self gettagorigin(param_00)); - var_04[1].angles = self gettagangles(param_00); - var_04[1] setmodel(param_02); - var_04[1] linkto(self,param_00); - } - } - - if(isdefined(param_03)) - { - var_05 = self gettagorigin(param_00); - var_06 = get_closest_with_targetname(var_05,param_03); - if(isdefined(var_06)) - { - var_06 delete(); - } - } - - self waittill("exploded"); - if(common_scripts\utility::issp()) - { - self detach(param_01,param_00); - self attach(param_01 + "_destroy",param_00,0); - if(isdefined(param_02) && param_02 != "") - { - self detach(param_02,param_00); - self attach(param_02 + "_destroy",param_00,0); - return; - } - - return; - } - - var_04[0] setmodel(param_01 + "_destroy"); - if(isdefined(param_02) && param_02 != "") - { - var_04[1] setmodel(param_02 + "_destroy"); - } -} - -//Function Number: 88 -get_closest_with_targetname(param_00,param_01) -{ - var_02 = undefined; - var_03 = undefined; - var_04 = getentarray(param_01,"targetname"); - foreach(var_06 in var_04) - { - var_07 = distancesquared(param_00,var_06.origin); - if(!isdefined(var_02) || var_07 < var_02) - { - var_02 = var_07; - var_03 = var_06; - } - } - - return var_03; -} - -//Function Number: 89 -player_touching_post_clip() -{ - var_00 = undefined; - if(!isdefined(self.target)) - { - return 0; - } - - var_01 = getentarray(self.target,"targetname"); - foreach(var_03 in var_01) - { - if(isdefined(var_03.script_destruct_collision) && var_03.script_destruct_collision == "post") - { - var_00 = var_03; - break; - } - } - - if(!isdefined(var_00)) - { - return 0; - } - - var_05 = get_player_touching(var_00); - if(isdefined(var_05)) - { - return 1; - } - - return 0; -} - -//Function Number: 90 -get_player_touching(param_00) -{ - foreach(var_02 in level.players) - { - if(!isalive(var_02)) - { - continue; - } - - if(param_00 istouching(var_02)) - { - return var_02; - } - } - - return undefined; -} - -//Function Number: 91 -is_so() -{ - return getdvar("specialops") == "1"; -} - -//Function Number: 92 -destructible_handles_collision_brushes() -{ - var_00 = getentarray(self.target,"targetname"); - var_01 = []; - var_01["pre"] = ::collision_brush_pre_explosion; - var_01["post"] = ::collision_brush_post_explosion; - foreach(var_03 in var_00) - { - if(!isdefined(var_03.script_destruct_collision)) - { - continue; - } - - self thread [[ var_01[var_03.script_destruct_collision] ]](var_03); - } -} - -//Function Number: 93 -collision_brush_pre_explosion(param_00) -{ - waittillframeend; - if(common_scripts\utility::issp() && param_00.spawnflags & 1) - { - param_00 [[ level.disconnectpathsfunction ]](); - } - - self waittill("exploded"); - if(common_scripts\utility::issp() && param_00.spawnflags & 1) - { - param_00 [[ level.connectpathsfunction ]](); - } - - param_00 delete(); -} - -//Function Number: 94 -collision_brush_post_explosion(param_00) -{ - param_00 notsolid(); - if(common_scripts\utility::issp() && param_00.spawnflags & 1) - { - param_00 [[ level.connectpathsfunction ]](); - } - - self waittill("exploded"); - waittillframeend; - if(common_scripts\utility::issp()) - { - if(param_00.spawnflags & 1) - { - param_00 [[ level.disconnectpathsfunction ]](); - } - - if(is_so()) - { - var_01 = get_player_touching(param_00); - if(isdefined(var_01)) - { - self thread [[ level.func_destructible_crush_player ]](var_01); - } - } - else - { - } - } - - param_00 solid(); -} - -//Function Number: 95 -debug_player_in_post_clip(param_00) -{ -} - -//Function Number: 96 -destructible_get_my_breakable_light(param_00) -{ - var_01 = getentarray("light_destructible","targetname"); - if(common_scripts\utility::issp()) - { - var_02 = getentarray("light_destructible","script_noteworthy"); - var_01 = common_scripts\utility::array_combine(var_01,var_02); - } - - if(!var_01.size) - { - return; - } - - var_03 = param_00 * param_00; - var_04 = undefined; - foreach(var_06 in var_01) - { - var_07 = distancesquared(self.origin,var_06.origin); - if(var_07 < var_03) - { - var_04 = var_06; - var_03 = var_07; - } - } - - if(!isdefined(var_04)) - { - return; - } - - self.breakable_light = var_04; -} - -//Function Number: 97 -break_nearest_light(param_00) -{ - if(!isdefined(self.breakable_light)) - { - return; - } - - self.breakable_light setlightintensity(0); -} - -//Function Number: 98 -debug_radiusdamage_circle(param_00,param_01,param_02,param_03) -{ - var_04 = 16; - var_05 = 360 / var_04; - var_06 = []; - for(var_07 = 0;var_07 < var_04;var_07++) - { - var_08 = var_05 * var_07; - var_09 = cos(var_08) * param_01; - var_0A = sin(var_08) * param_01; - var_0B = param_00[0] + var_09; - var_0C = param_00[1] + var_0A; - var_0D = param_00[2]; - var_06[var_06.size] = (var_0B,var_0C,var_0D); - } - - thread debug_circle_drawlines(var_06,5,(1,0,0),param_00); - var_06 = []; - for(var_07 = 0;var_07 < var_04;var_07++) - { - var_08 = var_05 * var_07; - var_09 = cos(var_08) * param_01; - var_0A = sin(var_08) * param_01; - var_0B = param_00[0]; - var_0C = param_00[1] + var_09; - var_0D = param_00[2] + var_0A; - var_06[var_06.size] = (var_0B,var_0C,var_0D); - } - - thread debug_circle_drawlines(var_06,5,(1,0,0),param_00); - var_06 = []; - for(var_07 = 0;var_07 < var_04;var_07++) - { - var_08 = var_05 * var_07; - var_09 = cos(var_08) * param_01; - var_0A = sin(var_08) * param_01; - var_0B = param_00[0] + var_0A; - var_0C = param_00[1]; - var_0D = param_00[2] + var_09; - var_06[var_06.size] = (var_0B,var_0C,var_0D); - } - - thread debug_circle_drawlines(var_06,5,(1,0,0),param_00); -} - -//Function Number: 99 -debug_circle_drawlines(param_00,param_01,param_02,param_03) -{ - for(var_04 = 0;var_04 < param_00.size;var_04++) - { - var_05 = param_00[var_04]; - if(var_04 + 1 >= param_00.size) - { - var_06 = param_00[0]; - } - else - { - var_06 = param_00[var_04 + 1]; - } - - thread debug_line(var_05,var_06,param_01,param_02); - thread debug_line(param_03,var_05,param_01,param_02); - } -} - -//Function Number: 100 -debug_line(param_00,param_01,param_02,param_03) -{ - if(!isdefined(param_03)) - { - param_03 = (1,1,1); - } - - for(var_04 = 0;var_04 < param_02 * 20;var_04++) - { - wait(0.05); - } -} - -//Function Number: 101 -spotlight_tag_origin_cleanup(param_00) -{ - param_00 endon("death"); - level waittill("new_destructible_spotlight"); - param_00 delete(); -} - -//Function Number: 102 -spotlight_fizzles_out(param_00,param_01,param_02,param_03,param_04) -{ - level endon("new_destructible_spotlight"); - thread spotlight_tag_origin_cleanup(param_04); - var_05 = param_00["spotlight_brightness"]; - wait(randomfloatrange(2,5)); - destructible_fx_think(param_00,param_01,param_02,param_03); - level.destructible_spotlight delete(); - param_04 delete(); -} - -//Function Number: 103 -destructible_spotlight_think(param_00,param_01,param_02,param_03) -{ - if(!common_scripts\utility::issp()) - { - return; - } - - if(!isdefined(self.breakable_light)) - { - return; - } - - param_01 common_scripts\utility::self_func("startignoringspotLight"); - if(!isdefined(level.destructible_spotlight)) - { - level.destructible_spotlight = common_scripts\utility::spawn_tag_origin(); - var_04 = common_scripts\utility::getfx(param_00["spotlight_fx"]); - playfxontag(var_04,level.destructible_spotlight,"tag_origin"); - } - - level notify("new_destructible_spotlight"); - level.destructible_spotlight unlink(); - var_05 = common_scripts\utility::spawn_tag_origin(); - var_05 linkto(self,param_00["spotlight_tag"],(0,0,0),(0,0,0)); - level.destructible_spotlight.origin = self.breakable_light.origin; - level.destructible_spotlight.angles = self.breakable_light.angles; - level.destructible_spotlight thread spotlight_fizzles_out(param_00,param_01,param_02,param_03,var_05); - wait(0.05); - if(isdefined(var_05)) - { - level.destructible_spotlight linkto(var_05); - } -} - -//Function Number: 104 -is_valid_damagetype(param_00,param_01,param_02,param_03) -{ - var_04 = undefined; - if(isdefined(param_01["fx_valid_damagetype"])) - { - var_04 = param_01["fx_valid_damagetype"][param_03][param_02]; - } - - if(!isdefined(var_04)) - { - return 1; - } - - return issubstr(var_04,param_00); -} - -//Function Number: 105 -destructible_sound_think(param_00,param_01,param_02,param_03) -{ - if(isdefined(self.exploded)) - { - return undefined; - } - - if(!isdefined(param_00["sound"])) - { - return undefined; - } - - if(!isdefined(param_03)) - { - param_03 = 0; - } - - if(!isdefined(param_00["sound"][param_03])) - { - return undefined; - } - - for(var_04 = 0;var_04 < param_00["sound"][param_03].size;var_04++) - { - var_05 = isvalidsoundcause("soundCause",param_00,var_04,param_02,param_03); - if(!var_05) - { - continue; - } - - var_06 = param_00["sound"][param_03][var_04]; - var_07 = param_00["tagName"]; - param_01 thread play_sound(var_06,var_07); - } - - return param_03; -} - -//Function Number: 106 -destructible_fx_kill_state_wait(param_00) -{ - var_01 = level.destructible_type[self.destructibleinfo].parts[0].size - 1; - self endon("FX_State_Change_Kill" + param_00); - for(;;) - { - var_02 = -1; - if(isdefined(self.destructible_parts[0].v["currentState"])) - { - var_02 = self.destructible_parts[0].v["currentState"]; - } - - if(var_02 == var_01) - { - return 0; - } - - wait 0.05; - } -} - -//Function Number: 107 -destructible_fx_spawn_think(param_00,param_01,param_02,param_03,param_04,param_05) -{ - waittillframeend; - if(!isdefined(param_05)) - { - param_05 = 0; - } - - var_06 = undefined; - var_07 = undefined; - if(isdefined(param_02)) - { - if(param_04) - { - playfxontag(param_01,param_00,param_02); - wait(0.05); - if(param_05 == 1 || param_05 == 2) - { - destructible_fx_kill_state_wait(param_03); - if(param_05 == 1) - { - stopfxontag(param_01,param_00,param_02); - return; - } - - killfxontag(param_01,param_00,param_02); - return; - } - - return; - } - - var_08 = param_00 gettagorigin(param_02); - var_09 = (0,0,100); - if(param_05 == 1 || param_05 == 2) - { - var_07 = spawnfx(param_01,var_08,var_09); - var_06 = triggerfx(var_07,0.01); - } - else - { - var_06 = playfx(param_01,var_08,var_09); - } - - wait(0.05); - if(param_05 == 1 || param_05 == 2) - { - destructible_fx_kill_state_wait(param_03); - if(param_05 == 1) - { - var_07 delete(); - return; - } - - if(param_05 == 2) - { - setfxkillondelete(var_07,1); - wait(0.05); - var_07 delete(); - return; - } - - return; - } - - return; - } - - var_08 = param_02.origin; - var_09 = (0,0,100); - if(param_05 == 1 || param_05 == 2) - { - var_07 = spawnfx(param_01,var_08,var_09); - var_06 = triggerfx(var_07,0.01); - } - else - { - var_06 = playfx(param_01,var_08,var_09); - } - - wait(0.05); - if(param_05 == 1 || param_05 == 2) - { - destructible_fx_kill_state_wait(param_03); - if(param_05 == 1) - { - var_07 delete(); - return; - } - - if(param_05 == 2) - { - setfxkillondelete(var_07,1); - wait(0.05); - var_07 delete(); - return; - } - - return; - } -} - -//Function Number: 108 -destructible_fx_spawnimmediate() -{ - if(!isdefined(level.destructible_type[self.destructibleinfo].parts)) - { - return; - } - - var_00 = get_dummy(); - for(var_01 = 0;var_01 < level.destructible_type[self.destructibleinfo].parts.size;var_01++) - { - for(var_02 = 0;var_02 < level.destructible_type[self.destructibleinfo].parts[var_01].size;var_02++) - { - var_03 = level.destructible_type[self.destructibleinfo].parts[var_01][var_02]; - if(isdefined(var_03.v["fx_filename"])) - { - for(var_04 = 0;var_04 < var_03.v["fx_filename"].size;var_04++) - { - var_05 = var_03.v["fx_filename"][var_04]; - var_06 = var_03.v["fx_tag"][var_04]; - var_07 = var_03.v["spawn_immediate"][var_04]; - if(isdefined(var_05) && isdefined(var_07)) - { - for(var_08 = 0;var_08 < var_05.size;var_08++) - { - if(var_07[var_08] == 1) - { - var_09 = var_03.v["state_change_kill"][var_04][var_08]; - var_0A = level.destructible_type[self.destructibleinfo].parts[var_01][var_02].v["fx"][var_04][var_08]; - var_0B = var_06[var_08]; - var_0C = var_05[var_08]; - var_0D = level.destructible_type[self.destructibleinfo].parts[var_01][var_02].v["fx_useTagAngles"][var_04][var_08]; - thread destructible_fx_spawn_think(var_00,var_0A,var_0B,var_01,var_0D,var_09); - } - } - } - } - } - } - } -} - -//Function Number: 109 -destructible_fx_think(param_00,param_01,param_02,param_03,param_04) -{ - if(!isdefined(param_00["fx"])) - { - return undefined; - } - - if(!isdefined(param_04)) - { - param_04 = randomint(param_00["fx_filename"].size); - } - - if(!isdefined(param_00["fx"][param_04])) - { - param_04 = randomint(param_00["fx_filename"].size); - } - - var_05 = param_00["fx_filename"][param_04].size; - for(var_06 = 0;var_06 < var_05;var_06++) - { - if(!is_valid_damagetype(param_02,param_00,var_06,param_04)) - { - continue; - } - - if(param_00["spawn_immediate"][param_04][var_06] == 1) - { - continue; - } - - var_07 = param_00["fx"][param_04][var_06]; - var_08 = param_00["state_change_kill"][param_04][var_06]; - if(isdefined(param_00["fx_tag"][param_04][var_06])) - { - var_09 = param_00["fx_tag"][param_04][var_06]; - self notify("FX_State_Change" + param_03); - if(param_00["fx_useTagAngles"][param_04][var_06]) - { - thread destructible_fx_spawn_think(param_01,var_07,var_09,param_03,1,var_08); - } - else - { - thread destructible_fx_spawn_think(param_01,var_07,var_09,param_03,0,var_08); - } - - continue; - } - - thread destructible_fx_spawn_think(param_01,var_07,undefined,param_03,0,var_08); - } - - return param_04; -} - -//Function Number: 110 -destructible_animation_think(param_00,param_01,param_02,param_03) -{ - if(isdefined(self.exploded)) - { - return undefined; - } - - if(!isdefined(param_00["animation"])) - { - return undefined; - } - - if(isdefined(self.no_destructible_animation)) - { - return undefined; - } - - if(isdefined(param_00["randomly_flip"]) && !isdefined(self.script_noflip)) - { - if(common_scripts\utility::cointoss()) - { - self.angles = self.angles + (0,180,0); - } - } - - if(isdefined(param_00["spotlight_tag"])) - { - thread destructible_spotlight_think(param_00,param_01,param_02,param_03); - wait(0.05); - } - - var_04 = common_scripts\utility::random(param_00["animation"]); - var_05 = var_04["anim"]; - var_06 = var_04["animTree"]; - var_07 = var_04["groupNum"]; - var_08 = var_04["mpAnim"]; - var_09 = var_04["maxStartDelay"]; - var_0A = var_04["animRateMin"]; - var_0B = var_04["animRateMax"]; - if(!isdefined(var_0A)) - { - var_0A = 1; - } - - if(!isdefined(var_0B)) - { - var_0B = 1; - } - - if(var_0A == var_0B) - { - var_0C = var_0A; - } - else - { - var_0C = randomfloatrange(var_0B,var_0C); - } - - var_0D = var_04["vehicle_exclude_anim"]; - if(self.code_classname == "script_vehicle" && var_0D) - { - return undefined; - } - - param_01 common_scripts\utility::self_func("useanimtree",var_06); - var_0E = var_04["animType"]; - if(!isdefined(self.animsapplied)) - { - self.animsapplied = []; - } - - self.animsapplied[self.animsapplied.size] = var_05; - if(isdefined(self.exploding)) - { - clear_anims(param_01); - } - - if(isdefined(var_09) && var_09 > 0) - { - wait(randomfloat(var_09)); - } - - if(!common_scripts\utility::issp()) - { - if(isdefined(var_08)) - { - common_scripts\utility::self_func("scriptModelPlayAnim",var_08); - } - - return var_07; - } - - if(var_0E == "setanim") - { - param_01 common_scripts\utility::self_func("setanim",var_05,1,1,var_0C); - return var_07; - } - - if(var_0E == "setanimknob") - { - param_01 common_scripts\utility::self_func("setanimknob",var_05,1,0,var_0C); - return var_07; - } - - return undefined; -} - -//Function Number: 111 -clear_anims(param_00) -{ - if(isdefined(self.animsapplied)) - { - foreach(var_02 in self.animsapplied) - { - if(common_scripts\utility::issp()) - { - param_00 common_scripts\utility::self_func("clearanim",var_02,0); - continue; - } - - param_00 common_scripts\utility::self_func("scriptModelClearAnim"); - } - } -} - -//Function Number: 112 -init_destroyed_count() -{ - level.destroyedcount = 0; - level.destroyedcounttimeout = 0.5; - if(common_scripts\utility::issp()) - { - level.maxdestructions = 20; - return; - } - - level.maxdestructions = 2; -} - -//Function Number: 113 -add_to_destroyed_count() -{ - level.destroyedcount++; - wait(level.destroyedcounttimeout); - level.destroyedcount--; -} - -//Function Number: 114 -get_destroyed_count() -{ - return level.destroyedcount; -} - -//Function Number: 115 -get_max_destroyed_count() -{ - return level.maxdestructions; -} - -//Function Number: 116 -init_destructible_frame_queue() -{ - level.destructibleframequeue = []; -} - -//Function Number: 117 -add_destructible_to_frame_queue(param_00,param_01,param_02) -{ - var_03 = self getentitynumber(); - if(!isdefined(level.destructibleframequeue[var_03])) - { - level.destructibleframequeue[var_03] = spawnstruct(); - level.destructibleframequeue[var_03].entnum = var_03; - level.destructibleframequeue[var_03].destructible = param_00; - level.destructibleframequeue[var_03].totaldamage = 0; - level.destructibleframequeue[var_03].neardistance = 9999999; - level.destructibleframequeue[var_03].fxcost = 0; - } - - level.destructibleframequeue[var_03].fxcost = level.destructibleframequeue[var_03].fxcost + param_01.v["fxcost"]; - level.destructibleframequeue[var_03].totaldamage = level.destructibleframequeue[var_03].totaldamage + param_02; - if(param_01.v["distance"] < level.destructibleframequeue[var_03].neardistance) - { - level.destructibleframequeue[var_03].neardistance = param_01.v["distance"]; - } - - thread handle_destructible_frame_queue(); -} - -//Function Number: 118 -handle_destructible_frame_queue() -{ - level notify("handle_destructible_frame_queue"); - level endon("handle_destructible_frame_queue"); - wait(0.05); - var_00 = level.destructibleframequeue; - level.destructibleframequeue = []; - var_01 = sort_destructible_frame_queue(var_00); - for(var_02 = 0;var_02 < var_01.size;var_02++) - { - if(get_destroyed_count() < get_max_destroyed_count()) - { - if(var_01[var_02].fxcost) - { - thread add_to_destroyed_count(); - } - - var_01[var_02].destructible notify("queue_processed",1); - continue; - } - - var_01[var_02].destructible notify("queue_processed",0); - } -} - -//Function Number: 119 -sort_destructible_frame_queue(param_00) -{ - var_01 = []; - foreach(var_03 in param_00) - { - var_01[var_01.size] = var_03; - } - - for(var_05 = 1;var_05 < var_01.size;var_05++) - { - var_06 = var_01[var_05]; - for(var_07 = var_05 - 1;var_07 >= 0 && get_better_destructible(var_06,var_01[var_07]) == var_06;var_07--) - { - var_01[var_07 + 1] = var_01[var_07]; - } - - var_01[var_07 + 1] = var_06; - } - - return var_01; -} - -//Function Number: 120 -get_better_destructible(param_00,param_01) -{ - if(param_00.totaldamage > param_01.totaldamage) - { - return param_00; - } - - return param_01; -} - -//Function Number: 121 -get_part_fx_cost_for_action_state(param_00,param_01) -{ - var_02 = 0; - if(!isdefined(level.destructible_type[self.destructibleinfo].parts[param_00][param_01])) - { - return var_02; - } - - var_03 = level.destructible_type[self.destructibleinfo].parts[param_00][param_01].v; - if(isdefined(var_03["fx"])) - { - foreach(var_05 in var_03["fx_cost"]) - { - foreach(var_07 in var_05) - { - var_02 = var_02 + var_07; - } - } - } - - return var_02; -} - -//Function Number: 122 -initdot(param_00) -{ - if(!common_scripts\utility::flag_exist("FLAG_DOT_init")) - { - common_scripts\utility::flag_init("FLAG_DOT_init"); - common_scripts\utility::flag_set("FLAG_DOT_init"); - } - - param_00 = tolower(param_00); - switch(param_00) - { - case "poison": - break; - - default: - break; - } -} - -//Function Number: 123 -createdot() -{ - var_00 = spawnstruct(); - var_00.ticks = []; - return var_00; -} - -//Function Number: 124 -createdot_radius(param_00,param_01,param_02,param_03) -{ - var_04 = spawnstruct(); - var_04.type = "trigger_radius"; - var_04.origin = param_00; - var_04.spawnflags = param_01; - var_04.radius = param_02; - var_04.minradius = param_02; - var_04.maxradius = param_02; - var_04.height = param_03; - var_04.ticks = []; - return var_04; -} - -//Function Number: 125 -setdot_origin(param_00) -{ - self.origin = param_00; -} - -//Function Number: 126 -setdot_radius(param_00,param_01) -{ - if(isdefined(self.classname) && self.classname != "trigger_radius") - { - } - - if(!isdefined(param_01)) - { - param_01 = param_00; - } - - self.minradius = param_00; - self.maxradius = param_01; -} - -//Function Number: 127 -setdot_height(param_00,param_01) -{ - if(isdefined(self.classname) && issubstr(self.classname,"trigger")) - { - } -} - -//Function Number: 128 -setdot_ontick(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - if(isdefined(param_00)) - { - } - else - { - param_00 = 0; - } - - param_06 = tolower(param_06); - param_07 = tolower(param_07); - var_08 = self.ticks.size; - self.ticks[var_08] = spawnstruct(); - self.ticks[var_08].enable = 0; - self.ticks[var_08].delay = param_00; - self.ticks[var_08].interval = param_01; - self.ticks[var_08].duration = param_02; - self.ticks[var_08].mindamage = param_03; - self.ticks[var_08].maxdamage = param_04; - switch(param_05) - { - case 1: - case 0: - break; - - default: - break; - } -} - -//Function Number: 129 -builddot_ontick(param_00,param_01) -{ - param_01 = tolower(param_01); - var_02 = self.ticks.size; - self.ticks[var_02] = spawnstruct(); - self.ticks[var_02].duration = param_00; - self.ticks[var_02].delay = 0; - self.ticks[var_02].onenterfunc = ::onenterdot_buildfunc; - self.ticks[var_02].onexitfunc = ::onexitdot_buildfunc; - self.ticks[var_02].ondeathfunc = ::ondeathdot_buildfunc; - switch(param_01) - { - case "player": - break; - - default: - break; - } -} - -//Function Number: 130 -builddot_startloop(param_00) -{ - var_01 = self.ticks.size - 1; - if(!isdefined(self.ticks[var_01].statements)) - { - self.ticks[var_01].statements = []; - } - - var_02 = self.ticks[var_01].statements.size; - self.ticks[var_01].statements = []; - self.ticks[var_01].statements["vars"] = []; - self.ticks[var_01].statements["vars"]["count"] = param_00; -} - -//Function Number: 131 -builddot_damage(param_00,param_01,param_02,param_03,param_04,param_05) -{ - var_06 = self.ticks.size - 1; - if(!isdefined(self.ticks[var_06].statements["actions"])) - { - self.ticks[var_06].statements["actions"] = []; - } - - var_07 = self.ticks[var_06].statements["actions"].size; - self.ticks[var_06].statements["actions"][var_07] = []; - self.ticks[var_06].statements["actions"][var_07]["vars"] = [param_00,param_01,param_02,param_03,param_04,param_05]; - self.ticks[var_06].statements["actions"][var_07]["func"] = ::dobuilddot_damage; -} - -//Function Number: 132 -builddot_wait(param_00) -{ - var_01 = self.ticks.size - 1; - if(!isdefined(self.ticks[var_01].statements["actions"])) - { - self.ticks[var_01].statements["actions"] = []; - } - - var_02 = self.ticks[var_01].statements["actions"].size; - self.ticks[var_01].statements["actions"][var_02] = []; - self.ticks[var_01].statements["actions"][var_02]["vars"] = [param_00]; - self.ticks[var_01].statements["actions"][var_02]["func"] = ::dobuilddot_wait; -} - -//Function Number: 133 -onenterdot_buildfunc(param_00,param_01) -{ - var_02 = param_01 getentitynumber(); - param_01 endon("death"); - param_01 endon("LISTEN_kill_tick_" + param_00 + "_" + var_02); - self endon("disconnect"); - self endon("game_ended"); - self endon("death"); - self endon("LISTEN_exit_dot_" + var_02); - var_02 = undefined; - var_03 = param_01.ticks[param_00].statements; - if(!isdefined(var_03) || !isdefined(var_03["vars"]) || !isdefined(var_03["vars"]["count"]) || !isdefined(var_03["actions"])) - { - return; - } - - var_04 = var_03["vars"]["count"]; - var_05 = var_03["actions"]; - var_03 = undefined; - for(var_06 = 1;var_06 <= var_04 || var_04 == 0;var_06--) - { - foreach(var_08 in var_05) - { - var_09 = var_08["vars"]; - var_0A = var_08["func"]; - self [[ var_0A ]](param_00,param_01,var_09); - } - } -} - -//Function Number: 134 -onexitdot_buildfunc(param_00,param_01) -{ - var_02 = param_01 getentitynumber(); - var_03 = self getentitynumber(); - param_01 notify("LISTEN_kill_tick_" + param_00 + "_" + var_02 + "_" + var_03); -} - -//Function Number: 135 -ondeathdot_buildfunc(param_00,param_01) -{ -} - -//Function Number: 136 -dobuilddot_damage(param_00,param_01,param_02) -{ - var_03 = param_02[0]; - var_04 = param_02[1]; - var_05 = param_02[2]; - var_06 = param_02[3]; - var_07 = param_02[4]; - var_08 = param_02[5]; - self thread [[ level.callbackplayerdamage ]](param_01,param_01,var_04,var_06,var_07,var_08,param_01.origin,(0,0,0) - param_01.origin,"none",0); -} - -//Function Number: 137 -dobuilddot_wait(param_00,param_01,param_02) -{ - var_03 = param_01 getentitynumber(); - var_04 = self getentitynumber(); - param_01 endon("death"); - param_01 endon("LISTEN_kill_tick_" + param_00 + "_" + var_03); - param_01 notify("LISTEN_kill_tick_" + param_00 + "_" + var_03 + "_" + var_04); - self endon("disconnect"); - self endon("game_ended"); - self endon("death"); - self endon("LISTEN_exit_dot_" + var_03); - var_03 = undefined; - var_04 = undefined; - wait(param_02[0]); -} - -//Function Number: 138 -startdot_group(param_00) -{ - var_01 = []; - var_02 = param_00; - var_0D = getfirstarraykey(var_02); - if(isdefined(var_0D)) - { - var_03 = var_02[var_0D]; - var_04 = undefined; - switch(var_03.type) - { - case "trigger_radius": - break; - - default: - break; - } - } -} - -//Function Number: 139 -startdot_player() -{ - thread triggertouchthink(::onenterdot_player,::onexitdot_player); -} - -//Function Number: 140 -monitordot() -{ - var_00 = gettime(); - while(isdefined(self)) - { - foreach(var_04, var_02 in self.ticks) - { - if(isdefined(var_02) && gettime() - var_00 >= var_02.duration * 1000) - { - var_03 = self getentitynumber(); - self notify("LISTEN_kill_tick_" + var_04 + "_" + var_03); - self.ticks[var_04] = undefined; - } - } - - if(!self.ticks.size) - { - break; - } - - wait(0.05); - } - - if(isdefined(self)) - { - foreach(var_02 in self.ticks) - { - self [[ var_02.ondeathfunc ]](); - } - - self notify("death"); - self delete(); - } -} - -//Function Number: 141 -onenterdot_player(param_00) -{ - var_01 = param_00 getentitynumber(); - self notify("LISTEN_enter_dot_" + var_01); - foreach(var_04, var_03 in param_00.ticks) - { - if(!var_03.enable) - { - thread dodot_delayfunc(var_04,param_00,var_03.delay,var_03.onenterfunc); - } - } - - foreach(var_04, var_03 in param_00.ticks) - { - if(var_03.enable && var_03.affected == "player") - { - self thread [[ var_03.onenterfunc ]](var_04,param_00); - } - } -} - -//Function Number: 142 -onexitdot_player(param_00) -{ - var_01 = param_00 getentitynumber(); - self notify("LISTEN_exit_dot_" + var_01); - foreach(var_04, var_03 in param_00.ticks) - { - if(var_03.enable && var_03.affected == "player") - { - self thread [[ var_03.onexitfunc ]](var_04,param_00); - } - } -} - -//Function Number: 143 -dodot_delayfunc(param_00,param_01,param_02,param_03) -{ - var_04 = param_01 getentitynumber(); - var_05 = self getentitynumber(); - param_01 endon("LISTEN_kill_tick_" + param_00 + "_" + var_04 + "_" + var_05); - self endon("disconnect"); - self endon("game_ended"); - self endon("death"); - self notify("LISTEN_exit_dot_" + var_04); - var_04 = undefined; - var_05 = undefined; - wait(param_02); - self thread [[ param_03 ]](param_00,param_01); -} - -//Function Number: 144 -onenterdot_poisondamageplayer(param_00,param_01) -{ - var_02 = param_01 getentitynumber(); - var_03 = self getentitynumber(); - param_01 endon("death"); - param_01 endon("LISTEN_kill_tick_" + param_00 + "_" + var_02); - param_01 endon("LISTEN_kill_tick_" + param_00 + "_" + var_02 + "_" + var_03); - self endon("disconnect"); - self endon("game_ended"); - self endon("death"); - self endon("LISTEN_exit_dot_" + var_02); - if(!isdefined(self.onenterdot_poisondamagecount)) - { - self.onenterdot_poisondamagecount = []; - } - - if(!isdefined(self.onenterdot_poisondamagecount[param_00])) - { - self.onenterdot_poisondamagecount[param_00] = []; - } - - self.onenterdot_poisondamagecount[param_00][var_02] = 0; - var_04 = common_scripts\utility::ter_op(common_scripts\utility::issp(),1.5,1); - if(isdefined(param_01) && isdefined(param_01.ticks[param_00])) - { - self.onenterdot_poisondamagecount[param_00][var_02]++; - switch(self.onenterdot_poisondamagecount[param_00][var_02]) - { - case 1: - break; - - case 3: - break; - - case 4: - break; - - case 6: - break; - - case 8: - break; - } - } -} - -//Function Number: 145 -onexitdot_poisondamageplayer(param_00,param_01) -{ - var_02 = param_01 getentitynumber(); - var_03 = self getentitynumber(); - var_04 = self.onenterdot_poisondamageoverlay; - if(isdefined(var_04)) - { - foreach(var_07, var_06 in var_04) - { - if(isdefined(var_04[var_07]) && isdefined(var_04[var_07][var_02])) - { - var_04[var_07][var_02] thread dodot_fadeoutblackout(0.1,0); - } - } - } - - param_01 notify("LISTEN_kill_tick_" + param_00 + "_" + var_02 + "_" + var_03); -} - -//Function Number: 146 -ondeathdot_poisondamageplayer() -{ - var_00 = self getentitynumber(); - foreach(var_02 in level.players) - { - var_03 = var_02.onenterdot_poisondamageoverlay; - if(isdefined(var_03)) - { - foreach(var_06, var_05 in var_03) - { - if(isdefined(var_03[var_06]) && isdefined(var_03[var_06][var_00])) - { - var_03[var_06][var_00] thread dodot_fadeoutblackoutanddestroy(); - } - } - } - } -} - -//Function Number: 147 -dodot_poisondamage(param_00,param_01) -{ - if(common_scripts\utility::issp()) - { - return; - } - - self thread [[ level.callbackplayerdamage ]](param_00,param_00,param_01,0,"MOD_SUICIDE","claymore_mp",param_00.origin,(0,0,0) - param_00.origin,"none",0); -} - -//Function Number: 148 -dodot_poisonblackout(param_00,param_01) -{ - var_02 = param_01 getentitynumber(); - var_03 = self getentitynumber(); - param_01 endon("death"); - param_01 endon("LISTEN_kill_tick_" + param_00 + "_" + var_02); - param_01 endon("LISTEN_kill_tick_" + param_00 + "_" + var_02 + "_" + var_03); - self endon("disconnect"); - self endon("game_ended"); - self endon("death"); - self endon("LISTEN_exit_dot_" + var_02); - if(!isdefined(self.onenterdot_poisondamageoverlay)) - { - self.onenterdot_poisondamageoverlay = []; - } - - if(!isdefined(self.onenterdot_poisondamageoverlay[param_00])) - { - self.onenterdot_poisondamageoverlay[param_00] = []; - } - - if(!isdefined(self.onenterdot_poisondamageoverlay[param_00][var_02])) - { - var_04 = newclienthudelem(self); - var_04.x = 0; - var_04.y = 0; - var_04.alignx = "left"; - var_04.aligny = "top"; - var_04.horzalign = "fullscreen"; - var_04.vertalign = "fullscreen"; - var_04.alpha = 0; - var_04 setshader("black",640,480); - self.onenterdot_poisondamageoverlay[param_00][var_02] = var_04; - } - - var_04 = self.onenterdot_poisondamageoverlay[param_00][var_02]; - var_05 = 1; - var_06 = 2; - var_07 = 0.25; - var_08 = 1; - var_09 = 5; - var_0A = 100; - var_0B = 0; - for(;;) - { - while(self.onenterdot_poisondamagecount[param_00][var_02] > 1) - { - var_0C = var_0A - var_09; - var_0B = self.onenterdot_poisondamagecount[param_00][var_02] - var_09 / var_0C; - if(var_0B < 0) - { - var_0B = 0; - } - else if(var_0B > 1) - { - var_0B = 1; - } - - var_0D = var_06 - var_05; - var_0E = var_05 + var_0D * 1 - var_0B; - var_0F = var_08 - var_07; - var_10 = var_07 + var_0F * var_0B; - var_11 = var_0B * 0.5; - if(var_0B == 1) - { - break; - } - - var_12 = var_0E / 2; - var_04 dodot_fadeinblackout(var_12,var_10); - var_04 dodot_fadeoutblackout(var_12,var_11); - wait(var_0B * 0.5); - } - - if(var_0B == 1) - { - break; - } - - if(var_04.alpha != 0) - { - var_04 dodot_fadeoutblackout(1,0); - } - - wait(0.05); - } - - var_04 dodot_fadeinblackout(2,0); -} - -//Function Number: 149 -dodot_fadeinblackout(param_00,param_01) -{ - self fadeovertime(param_00); - self.alpha = param_01; - param_01 = undefined; - wait(param_00); -} - -//Function Number: 150 -dodot_fadeoutblackout(param_00,param_01) -{ - self fadeovertime(param_00); - self.alpha = param_01; - param_01 = undefined; - wait(param_00); -} - -//Function Number: 151 -dodot_fadeoutblackoutanddestroy(param_00,param_01) -{ - self fadeovertime(param_00); - self.alpha = param_01; - param_01 = undefined; - wait(param_00); - self destroy(); -} - -//Function Number: 152 -triggertouchthink(param_00,param_01) -{ - level endon("game_ended"); - self endon("death"); - self.entnum = self getentitynumber(); - for(;;) - { - self waittill("trigger",var_02); - if(!isplayer(var_02) && !isdefined(var_02.finished_spawning)) - { - continue; - } - - if(!isalive(var_02)) - { - continue; - } - - if(!isdefined(var_02.touchtriggers[self.entnum])) - { - var_02 thread playertouchtriggerthink(self,param_00,param_01); - } - } -} - -//Function Number: 153 -playertouchtriggerthink(param_00,param_01,param_02) -{ - param_00 endon("death"); - if(!isplayer(self)) - { - self endon("death"); - } - - if(!common_scripts\utility::issp()) - { - var_03 = self.guid; - } - else - { - var_03 = "player" + gettime(); - } - - param_00.touchlist[var_03] = self; - if(isdefined(param_00.movetracker)) - { - self.movetrackers++; - } - - param_00 notify("trigger_enter",self); - self notify("trigger_enter",param_00); - var_04 = 1; - foreach(var_06 in param_00.dot_group) - { - foreach(var_08 in self.touchtriggers) - { - if(var_06 == var_08) - { - var_04 = 0; - } - } - } - - if(var_04 && isdefined(param_01)) - { - self thread [[ param_01 ]](param_00); - } - - self.touchtriggers[param_00.entnum] = param_00; - while(isalive(self) && common_scripts\utility::issp() || !level.gameended) - { - var_0B = 1; - if(self istouching(param_00)) - { - wait(0.05); - continue; - } - - if(!param_00.dot_group.size) - { - var_0B = 0; - } - - foreach(var_06 in param_00.dot_group) - { - if(self istouching(var_06)) - { - wait(0.05); - break; - } - else - { - var_0B = 0; - } - } - - if(!var_0B) - { - break; - } - } - - if(isdefined(self)) - { - self.touchtriggers[param_00.entnum] = undefined; - if(isdefined(param_00.movetracker)) - { - self.movetrackers--; - } - - self notify("trigger_leave",param_00); - if(var_04 && isdefined(param_02)) - { - self thread [[ param_02 ]](param_00); - } - } - - if(!common_scripts\utility::issp() && level.gameended) - { - return; - } - - param_00.touchlist[var_03] = undefined; - param_00 notify("trigger_leave",self); - if(!anythingtouchingtrigger(param_00)) - { - param_00 notify("trigger_empty"); - } -} - -//Function Number: 154 -anythingtouchingtrigger(param_00) -{ - return param_00.touchlist.size; -} - -//Function Number: 155 -get_precached_anim(param_00) -{ - return level._destructible_preanims[param_00]; -} - -//Function Number: 156 -get_precached_animtree(param_00) -{ - return level._destructible_preanimtree[param_00]; -} - -//Function Number: 157 -destructiblecoverwatcher() -{ - if(!isdefined(level.player)) - { - return; - } - - if(!isdefined(self.script_dest_cover_dmg_dist)) - { - self.script_dest_cover_dmg_dist = 20000; - } - - while(isdefined(self)) - { - if(isdefined(self.destructible_parts)) - { - var_00 = 0; - for(var_01 = 1;var_01 < self.destructible_parts.size;var_01++) - { - if(self.destructible_parts[var_01].v["currentState"] == 1) - { - var_00++; - } - } - - if(var_00 == self.destructible_parts.size - 1) - { - break; - } - } - - var_02 = distancesquared(level.player.origin,self.origin); - if(var_02 > self.script_dest_cover_dmg_dist * self.script_dest_cover_dmg_dist) - { - self setcandamage(0); - continue; - } - - self setcandamage(1); - wait(0.05); - } -} \ No newline at end of file diff --git a/AW/PC/ZM/common_scripts/_exploder.gsc b/AW/PC/ZM/common_scripts/_exploder.gsc deleted file mode 100644 index c62004b..0000000 --- a/AW/PC/ZM/common_scripts/_exploder.gsc +++ /dev/null @@ -1,1313 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: common_scripts/_exploder.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 37 - * Decompile Time: 560 ms - * Timestamp: 10/27/2023 2:07:39 AM -*******************************************************************/ - -//Function Number: 1 -getexploders(param_00) -{ - param_00 = param_00 + ""; - if(isdefined(level.createfxexploders)) - { - return level.createfxexploders[param_00]; - } - - var_01 = []; - foreach(var_03 in level.createfxent) - { - if(!isdefined(var_03)) - { - continue; - } - - if(var_03.v["type"] != "exploder") - { - continue; - } - - if(!isdefined(var_03.v["exploder"])) - { - continue; - } - - if(var_03.v["exploder"] == param_00) - { - var_01[var_01.size] = var_03; - } - } - - return var_01; -} - -//Function Number: 2 -setup_individual_exploder(param_00) -{ - var_01 = param_00.script_exploder; - if(!isdefined(level.exploders[var_01])) - { - level.exploders[var_01] = []; - } - - var_02 = param_00.targetname; - if(!isdefined(var_02)) - { - var_02 = ""; - } - - level.exploders[var_01][level.exploders[var_01].size] = param_00; - if(exploder_model_starts_hidden(param_00)) - { - param_00 hide(); - return; - } - - if(exploder_model_is_damaged_model(param_00)) - { - param_00 hide(); - param_00 notsolid(); - if(isdefined(param_00.spawnflags) && param_00.spawnflags & 1) - { - if(isdefined(param_00.script_disconnectpaths)) - { - param_00 connectpaths(); - } - } - - return; - } - - if(exploder_model_is_chunk(param_00)) - { - param_00 hide(); - param_00 notsolid(); - if(isdefined(param_00.spawnflags) && param_00.spawnflags & 1) - { - param_00 connectpaths(); - } - } -} - -//Function Number: 3 -setupexploders() -{ - level.exploders = []; - var_00 = getentarray("script_brushmodel","classname"); - var_01 = getentarray("script_model","classname"); - for(var_02 = 0;var_02 < var_01.size;var_02++) - { - var_00[var_00.size] = var_01[var_02]; - } - - foreach(var_04 in var_00) - { - if(isdefined(var_04.script_prefab_exploder)) - { - var_04.script_exploder = var_04.script_prefab_exploder; - } - - if(isdefined(var_04.masked_exploder)) - { - continue; - } - - if(isdefined(var_04.script_exploder)) - { - setup_individual_exploder(var_04); - } - } - - var_06 = []; - var_07 = getentarray("script_brushmodel","classname"); - for(var_02 = 0;var_02 < var_07.size;var_02++) - { - if(isdefined(var_07[var_02].script_prefab_exploder)) - { - var_07[var_02].script_exploder = var_07[var_02].script_prefab_exploder; - } - - if(isdefined(var_07[var_02].script_exploder)) - { - var_06[var_06.size] = var_07[var_02]; - } - } - - var_07 = getentarray("script_model","classname"); - for(var_02 = 0;var_02 < var_07.size;var_02++) - { - if(isdefined(var_07[var_02].script_prefab_exploder)) - { - var_07[var_02].script_exploder = var_07[var_02].script_prefab_exploder; - } - - if(isdefined(var_07[var_02].script_exploder)) - { - var_06[var_06.size] = var_07[var_02]; - } - } - - var_07 = getentarray("script_origin","classname"); - for(var_02 = 0;var_02 < var_07.size;var_02++) - { - if(isdefined(var_07[var_02].script_prefab_exploder)) - { - var_07[var_02].script_exploder = var_07[var_02].script_prefab_exploder; - } - - if(isdefined(var_07[var_02].script_exploder)) - { - var_06[var_06.size] = var_07[var_02]; - } - } - - var_07 = getentarray("item_health","classname"); - for(var_02 = 0;var_02 < var_07.size;var_02++) - { - if(isdefined(var_07[var_02].script_prefab_exploder)) - { - var_07[var_02].script_exploder = var_07[var_02].script_prefab_exploder; - } - - if(isdefined(var_07[var_02].script_exploder)) - { - var_06[var_06.size] = var_07[var_02]; - } - } - - var_07 = level.struct; - for(var_02 = 0;var_02 < var_07.size;var_02++) - { - if(!isdefined(var_07[var_02])) - { - continue; - } - - if(isdefined(var_07[var_02].script_prefab_exploder)) - { - var_07[var_02].script_exploder = var_07[var_02].script_prefab_exploder; - } - - if(isdefined(var_07[var_02].script_exploder)) - { - if(!isdefined(var_07[var_02].angles)) - { - var_07[var_02].angles = (0,0,0); - } - - var_06[var_06.size] = var_07[var_02]; - } - } - - if(!isdefined(level.createfxent)) - { - level.createfxent = []; - } - - var_08 = []; - var_08["exploderchunk visible"] = 1; - var_08["exploderchunk"] = 1; - var_08["exploder"] = 1; - thread setup_flag_exploders(); - for(var_02 = 0;var_02 < var_06.size;var_02++) - { - var_09 = var_06[var_02]; - var_04 = common_scripts\utility::createexploder(var_09.script_fxid); - var_04.v = []; - var_04.v["origin"] = var_09.origin; - var_04.v["angles"] = var_09.angles; - var_04.v["delay"] = var_09.script_delay; - var_04.v["delay_post"] = var_09.script_delay_post; - var_04.v["firefx"] = var_09.script_firefx; - var_04.v["firefxdelay"] = var_09.script_firefxdelay; - var_04.v["firefxsound"] = var_09.script_firefxsound; - var_04.v["firefxtimeout"] = var_09.script_firefxtimeout; - var_04.v["earthquake"] = var_09.script_earthquake; - var_04.v["rumble"] = var_09.script_rumble; - var_04.v["damage"] = var_09.script_damage; - var_04.v["damage_radius"] = var_09.script_radius; - var_04.v["soundalias"] = var_09.script_soundalias; - var_04.v["repeat"] = var_09.script_repeat; - var_04.v["delay_min"] = var_09.script_delay_min; - var_04.v["delay_max"] = var_09.script_delay_max; - var_04.v["target"] = var_09.target; - var_04.v["ender"] = var_09.script_ender; - var_04.v["physics"] = var_09.script_physics; - var_04.v["type"] = "exploder"; - if(!isdefined(var_09.script_fxid)) - { - var_04.v["fxid"] = "No FX"; - } - else - { - var_04.v["fxid"] = var_09.script_fxid; - } - - var_04.v["exploder"] = var_09.script_exploder; - if(isdefined(level.createfxexploders)) - { - var_0A = level.createfxexploders[var_04.v["exploder"]]; - if(!isdefined(var_0A)) - { - var_0A = []; - } - - var_0A[var_0A.size] = var_04; - level.createfxexploders[var_04.v["exploder"]] = var_0A; - } - - if(!isdefined(var_04.v["delay"])) - { - var_04.v["delay"] = 0; - } - - if(isdefined(var_09.target)) - { - var_0B = getentarray(var_04.v["target"],"targetname")[0]; - if(isdefined(var_0B)) - { - var_0C = var_0B.origin; - var_04.v["angles"] = vectortoangles(var_0C - var_04.v["origin"]); - } - else - { - var_0B = common_scripts\utility::get_target_ent(var_04.v["target"]); - if(isdefined(var_0B)) - { - var_0C = var_0B.origin; - var_04.v["angles"] = vectortoangles(var_0C - var_04.v["origin"]); - } - } - } - - if(!isdefined(var_09.code_classname)) - { - var_04.model = var_09; - if(isdefined(var_04.model.script_modelname)) - { - precachemodel(var_04.model.script_modelname); - } - } - else if(var_09.code_classname == "script_brushmodel" || isdefined(var_09.model)) - { - var_04.model = var_09; - var_04.model.disconnect_paths = var_09.script_disconnectpaths; - } - - if(isdefined(var_09.targetname) && isdefined(var_08[var_09.targetname])) - { - var_04.v["exploder_type"] = var_09.targetname; - } - else - { - var_04.v["exploder_type"] = "normal"; - } - - if(isdefined(var_09.masked_exploder)) - { - var_04.v["masked_exploder"] = var_09.model; - var_04.v["masked_exploder_spawnflags"] = var_09.spawnflags; - var_04.v["masked_exploder_script_disconnectpaths"] = var_09.script_disconnectpaths; - var_09 delete(); - } - - var_04 common_scripts\_createfx::post_entity_creation_function(); - } -} - -//Function Number: 4 -setup_flag_exploders() -{ - waittillframeend; - waittillframeend; - waittillframeend; - var_00 = []; - foreach(var_02 in level.createfxent) - { - if(var_02.v["type"] != "exploder") - { - continue; - } - - var_03 = var_02.v["flag"]; - if(!isdefined(var_03)) - { - continue; - } - - if(var_03 == "nil") - { - var_02.v["flag"] = undefined; - } - - var_00[var_03] = 1; - } - - foreach(var_07, var_06 in var_00) - { - thread exploder_flag_wait(var_07); - } -} - -//Function Number: 5 -exploder_flag_wait(param_00) -{ - if(!common_scripts\utility::flag_exist(param_00)) - { - common_scripts\utility::flag_init(param_00); - } - - common_scripts\utility::flag_wait(param_00); - foreach(var_02 in level.createfxent) - { - if(var_02.v["type"] != "exploder") - { - continue; - } - - var_03 = var_02.v["flag"]; - if(!isdefined(var_03)) - { - continue; - } - - if(var_03 != param_00) - { - continue; - } - - var_02 common_scripts\utility::activate_individual_exploder(); - } -} - -//Function Number: 6 -exploder_model_is_damaged_model(param_00) -{ - return isdefined(param_00.targetname) && param_00.targetname == "exploder"; -} - -//Function Number: 7 -exploder_model_starts_hidden(param_00) -{ - return param_00.model == "fx" && !isdefined(param_00.targetname) || param_00.targetname != "exploderchunk"; -} - -//Function Number: 8 -exploder_model_is_chunk(param_00) -{ - return isdefined(param_00.targetname) && param_00.targetname == "exploderchunk"; -} - -//Function Number: 9 -show_exploder_models_proc(param_00) -{ - param_00 = param_00 + ""; - if(isdefined(level.createfxexploders)) - { - var_01 = level.createfxexploders[param_00]; - if(isdefined(var_01)) - { - foreach(var_03 in var_01) - { - if(!exploder_model_starts_hidden(var_03.model) && !exploder_model_is_damaged_model(var_03.model) && !exploder_model_is_chunk(var_03.model)) - { - var_03.model show(); - } - - if(isdefined(var_03.brush_shown)) - { - var_03.model show(); - } - } - - return; - } - - return; - } - - var_05 = 0; - while(var_03 < level.createfxent.size) - { - var_05 = level.createfxent[var_03]; - if(!isdefined(var_05)) - { - continue; - } - - if(var_05.v["type"] != "exploder") - { - continue; - } - - if(!isdefined(var_05.v["exploder"])) - { - continue; - } - - if(var_05.v["exploder"] + "" != var_02) - { - continue; - } - - if(isdefined(var_05.model)) - { - if(!exploder_model_starts_hidden(var_05.model) && !exploder_model_is_damaged_model(var_05.model) && !exploder_model_is_chunk(var_05.model)) - { - var_05.model show(); - } - - if(isdefined(var_05.brush_shown)) - { - var_05.model show(); - } - } - - var_03++; - } -} - -//Function Number: 10 -stop_exploder_proc(param_00) -{ - param_00 = param_00 + ""; - if(isdefined(level.createfxexploders)) - { - var_01 = level.createfxexploders[param_00]; - if(isdefined(var_01)) - { - foreach(var_03 in var_01) - { - if(!isdefined(var_03.looper)) - { - continue; - } - - var_03.looper delete(); - } - - return; - } - - return; - } - - var_05 = 0; - while(var_03 < level.createfxent.size) - { - var_05 = level.createfxent[var_03]; - if(!isdefined(var_05)) - { - continue; - } - - if(var_05.v["type"] != "exploder") - { - continue; - } - - if(!isdefined(var_05.v["exploder"])) - { - continue; - } - - if(var_05.v["exploder"] + "" != var_02) - { - continue; - } - - if(!isdefined(var_05.looper)) - { - continue; - } - - var_05.looper delete(); - var_03++; - } -} - -//Function Number: 11 -get_exploder_array_proc(param_00) -{ - param_00 = param_00 + ""; - var_01 = []; - if(isdefined(level.createfxexploders)) - { - var_02 = level.createfxexploders[param_00]; - if(isdefined(var_02)) - { - var_01 = var_02; - } - } - else - { - foreach(var_04 in level.createfxent) - { - if(var_04.v["type"] != "exploder") - { - continue; - } - - if(!isdefined(var_04.v["exploder"])) - { - continue; - } - - if(var_04.v["exploder"] + "" != param_00) - { - continue; - } - - var_01[var_01.size] = var_04; - } - } - - return var_01; -} - -//Function Number: 12 -hide_exploder_models_proc(param_00) -{ - param_00 = param_00 + ""; - if(isdefined(level.createfxexploders)) - { - var_01 = level.createfxexploders[param_00]; - if(isdefined(var_01)) - { - foreach(var_03 in var_01) - { - if(isdefined(var_03.model)) - { - var_03.model hide(); - } - } - - return; - } - - return; - } - - var_05 = 0; - while(var_03 < level.createfxent.size) - { - var_05 = level.createfxent[var_03]; - if(!isdefined(var_05)) - { - continue; - } - - if(var_05.v["type"] != "exploder") - { - continue; - } - - if(!isdefined(var_05.v["exploder"])) - { - continue; - } - - if(var_05.v["exploder"] + "" != var_02) - { - continue; - } - - if(isdefined(var_05.model)) - { - var_05.model hide(); - } - - var_03++; - } -} - -//Function Number: 13 -delete_exploder_proc(param_00) -{ - param_00 = param_00 + ""; - if(isdefined(level.createfxexploders)) - { - var_01 = level.createfxexploders[param_00]; - if(isdefined(var_01)) - { - foreach(var_03 in var_01) - { - if(isdefined(var_03.model)) - { - var_03.model delete(); - } - } - } - } - else - { - for(var_05 = 0;var_05 < level.createfxent.size;var_05++) - { - var_03 = level.createfxent[var_05]; - if(!isdefined(var_03)) - { - continue; - } - - if(var_03.v["type"] != "exploder") - { - continue; - } - - if(!isdefined(var_03.v["exploder"])) - { - continue; - } - - if(var_03.v["exploder"] + "" != param_00) - { - continue; - } - - if(isdefined(var_03.model)) - { - var_03.model delete(); - } - } - } - - level notify("killexplodertridgers" + param_00); -} - -//Function Number: 14 -exploder_damage() -{ - if(isdefined(self.v["delay"])) - { - var_00 = self.v["delay"]; - } - else - { - var_00 = 0; - } - - if(isdefined(self.v["damage_radius"])) - { - var_01 = self.v["damage_radius"]; - } - else - { - var_01 = 128; - } - - var_02 = self.v["damage"]; - var_03 = self.v["origin"]; - wait(var_00); - if(isdefined(level.custom_radius_damage_for_exploders)) - { - [[ level.custom_radius_damage_for_exploders ]](var_03,var_01,var_02); - return; - } - - radiusdamage(var_03,var_01,var_02,var_02); -} - -//Function Number: 15 -activate_individual_exploder_proc() -{ - if(isdefined(self.v["firefx"])) - { - thread fire_effect(); - } - - if(isdefined(self.v["fxid"]) && self.v["fxid"] != "No FX") - { - thread cannon_effect(); - } - else if(isdefined(self.v["soundalias"]) && self.v["soundalias"] != "nil") - { - thread sound_effect(); - } - - if(isdefined(self.v["loopsound"]) && self.v["loopsound"] != "nil") - { - thread effect_loopsound(); - } - - if(isdefined(self.v["damage"])) - { - thread exploder_damage(); - } - - if(isdefined(self.v["earthquake"])) - { - thread exploder_earthquake(); - } - - if(isdefined(self.v["rumble"])) - { - thread exploder_rumble(); - } - - if(self.v["exploder_type"] == "exploder") - { - thread brush_show(); - return; - } - - if(self.v["exploder_type"] == "exploderchunk" || self.v["exploder_type"] == "exploderchunk visible") - { - thread brush_throw(); - return; - } - - thread brush_delete(); -} - -//Function Number: 16 -brush_delete() -{ - var_00 = self.v["exploder"]; - if(isdefined(self.v["delay"]) && self.v["delay"] >= 0) - { - wait(self.v["delay"]); - } - else - { - wait(0.05); - } - - if(!isdefined(self.model)) - { - return; - } - - if(isdefined(self.model.classname)) - { - if(common_scripts\utility::issp() && self.model.spawnflags & 1) - { - self.model [[ level.connectpathsfunction ]](); - } - } - - if(level.createfx_enabled) - { - if(isdefined(self.exploded)) - { - return; - } - - self.exploded = 1; - self.model hide(); - self.model notsolid(); - wait(3); - self.exploded = undefined; - self.model show(); - self.model solid(); - return; - } - - if(!isdefined(self.v["fxid"]) || self.v["fxid"] == "No FX") - { - self.v["exploder"] = undefined; - } - - waittillframeend; - if(isdefined(self.model) && isdefined(self.model.classname)) - { - self.model delete(); - } -} - -//Function Number: 17 -brush_throw() -{ - if(isdefined(self.v["delay"])) - { - wait(self.v["delay"]); - } - - var_00 = undefined; - if(isdefined(self.v["target"])) - { - var_00 = common_scripts\utility::get_target_ent(self.v["target"]); - } - - if(!isdefined(var_00)) - { - self.model delete(); - return; - } - - self.model show(); - if(isdefined(self.v["delay_post"])) - { - wait(self.v["delay_post"]); - } - - var_01 = self.v["origin"]; - var_02 = self.v["angles"]; - var_03 = var_00.origin; - var_04 = var_03 - self.v["origin"]; - var_05 = var_04[0]; - var_06 = var_04[1]; - var_07 = var_04[2]; - var_08 = isdefined(self.v["physics"]); - if(var_08) - { - var_09 = undefined; - if(isdefined(var_00.target)) - { - var_09 = var_00 common_scripts\utility::get_target_ent(); - } - - if(!isdefined(var_09)) - { - var_0A = var_01; - var_0B = var_00.origin; - } - else - { - var_0A = var_02.origin; - var_0B = var_0A.origin - var_01.origin * self.v["physics"]; - } - - self.model physicslaunchclient(var_0A,var_0B); - return; - } - else - { - self.model rotatevelocity((var_08,var_09,var_0A),12); - self.model movegravity((var_08,var_09,var_0A),12); - } - - if(level.createfx_enabled) - { - if(isdefined(self.exploded)) - { - return; - } - - self.exploded = 1; - wait(3); - self.exploded = undefined; - self.v["origin"] = var_04; - self.v["angles"] = var_05; - self.model hide(); - return; - } - - self.v["exploder"] = undefined; - wait(6); - self.model delete(); -} - -//Function Number: 18 -brush_show() -{ - if(isdefined(self.v["delay"])) - { - wait(self.v["delay"]); - } - - if(!isdefined(self.model.script_modelname)) - { - self.model show(); - self.model solid(); - } - else - { - var_00 = self.model common_scripts\utility::spawn_tag_origin(); - if(isdefined(self.model.script_linkname)) - { - var_00.script_linkname = self.model.script_linkname; - } - - var_00 setmodel(self.model.script_modelname); - var_00 show(); - } - - self.brush_shown = 1; - if(common_scripts\utility::issp() && !isdefined(self.model.script_modelname) && self.model.spawnflags & 1) - { - if(!isdefined(self.model.disconnect_paths)) - { - self.model [[ level.connectpathsfunction ]](); - } - else - { - self.model [[ level.disconnectpathsfunction ]](); - } - } - - if(level.createfx_enabled) - { - if(isdefined(self.exploded)) - { - return; - } - - self.exploded = 1; - wait(3); - self.exploded = undefined; - if(!isdefined(self.model.script_modelname)) - { - self.model hide(); - self.model notsolid(); - } - } -} - -//Function Number: 19 -exploder_rumble() -{ - if(!common_scripts\utility::issp()) - { - return; - } - - exploder_delay(); - level.player playrumbleonentity(self.v["rumble"]); -} - -//Function Number: 20 -exploder_delay() -{ - if(!isdefined(self.v["delay"])) - { - self.v["delay"] = 0; - } - - var_00 = self.v["delay"]; - var_01 = self.v["delay"] + 0.001; - if(isdefined(self.v["delay_min"])) - { - var_00 = self.v["delay_min"]; - } - - if(isdefined(self.v["delay_max"])) - { - var_01 = self.v["delay_max"]; - } - - if(var_00 > 0) - { - wait(randomfloatrange(var_00,var_01)); - } -} - -//Function Number: 21 -effect_loopsound() -{ - if(isdefined(self.loopsound_ent)) - { - self.loopsound_ent delete(); - } - - var_00 = self.v["origin"]; - var_01 = self.v["loopsound"]; - exploder_delay(); - self.loopsound_ent = common_scripts\utility::play_loopsound_in_space(var_01,var_00); -} - -//Function Number: 22 -sound_effect() -{ - effect_soundalias(); -} - -//Function Number: 23 -effect_soundalias() -{ - var_00 = self.v["origin"]; - var_01 = self.v["soundalias"]; - exploder_delay(); - common_scripts\utility::play_sound_in_space(var_01,var_00); -} - -//Function Number: 24 -exploder_earthquake() -{ - exploder_delay(); - common_scripts\utility::do_earthquake(self.v["earthquake"],self.v["origin"]); -} - -//Function Number: 25 -exploder_playsound() -{ - if(!isdefined(self.v["soundalias"]) || self.v["soundalias"] == "nil") - { - return; - } - - common_scripts\utility::play_sound_in_space(self.v["soundalias"],self.v["origin"]); -} - -//Function Number: 26 -fire_effect() -{ - var_00 = self.v["forward"]; - var_01 = self.v["up"]; - var_02 = undefined; - var_03 = self.v["firefxsound"]; - var_04 = self.v["origin"]; - var_05 = self.v["firefx"]; - var_06 = self.v["ender"]; - if(!isdefined(var_06)) - { - var_06 = "createfx_effectStopper"; - } - - var_07 = 0.5; - if(isdefined(self.v["firefxdelay"])) - { - var_07 = self.v["firefxdelay"]; - } - - exploder_delay(); - if(isdefined(var_03)) - { - common_scripts\utility::loop_fx_sound_with_angles(var_03,var_04,(0,0,0),1,var_06); - } - - playfx(level._effect[var_05],self.v["origin"],var_00,var_01); -} - -//Function Number: 27 -cannon_effect() -{ - if(isdefined(self.v["repeat"])) - { - thread exploder_playsound(); - for(var_00 = 0;var_00 < self.v["repeat"];var_00++) - { - playfx(level._effect[self.v["fxid"]],self.v["origin"],self.v["forward"],self.v["up"]); - exploder_delay(); - } - - return; - } - - if(!isdefined(self.v["delay"])) - { - self.v["delay"] = 0; - } - - if(self.v["delay"] >= 0) - { - exploder_delay(); - var_01 = 0; - } - else - { - var_01 = self.v["delay"]; - } - - if(isdefined(self.looper)) - { - self.looper delete(); - } - - self.looper = spawnfx(common_scripts\utility::getfx(self.v["fxid"]),self.v["origin"],self.v["forward"],self.v["up"]); - if(level.createfx_enabled) - { - setfxkillondelete(self.looper,1); - } - - if(self.v["delay"] >= 0) - { - triggerfx(self.looper); - } - else - { - triggerfx(self.looper,var_01); - } - - exploder_playsound(); -} - -//Function Number: 28 -activate_exploder(param_00,param_01,param_02) -{ - param_00 = param_00 + ""; - level notify("exploding_" + param_00); - var_03 = 0; - if(isdefined(level.createfxexploders) && !level.createfx_enabled) - { - var_04 = level.createfxexploders[param_00]; - if(isdefined(var_04)) - { - foreach(var_06 in var_04) - { - if(!var_06 check_exploder_platform()) - { - continue; - } - - var_06 common_scripts\utility::activate_individual_exploder(); - var_03 = 1; - } - } - } - else - { - for(var_08 = 0;var_08 < level.createfxent.size;var_08++) - { - var_06 = level.createfxent[var_08]; - if(!isdefined(var_06)) - { - continue; - } - - if(var_06.v["type"] != "exploder") - { - continue; - } - - if(!isdefined(var_06.v["exploder"])) - { - continue; - } - - if(var_06.v["exploder"] + "" != param_00) - { - continue; - } - - if(!var_06 check_exploder_platform()) - { - continue; - } - - var_06 common_scripts\utility::activate_individual_exploder(); - var_03 = 1; - } - } - - if(!shouldrunserversideeffects() && !var_03) - { - activate_clientside_exploder(param_00,param_01,param_02); - } -} - -//Function Number: 29 -exploder(param_00,param_01,param_02) -{ - [[ level._fx.exploderfunction ]](param_00,param_01,param_02); -} - -//Function Number: 30 -kill_exploder(param_00) -{ - var_01 = getexploders(param_00); - if(isdefined(var_01)) - { - foreach(var_03 in var_01) - { - if(isdefined(var_03.looper)) - { - setfxkillondelete(var_03.looper,1); - } - } - - wait 0.05; - foreach(var_03 in var_01) - { - var_03 common_scripts\utility::pauseeffect(); - } - } -} - -//Function Number: 31 -check_exploder_platform() -{ - var_00 = self; - if(isdefined(var_00.v["platform"]) && isdefined(level.currentgen)) - { - var_01 = var_00.v["platform"]; - if((var_01 == "cg" && !level.currentgen) || var_01 == "ng" && !level.nextgen) - { - return 0; - } - } - - return 1; -} - -//Function Number: 32 -activate_clientside_exploder(param_00,param_01,param_02) -{ - if(!is_valid_clientside_exploder_name(param_00)) - { - return; - } - - var_03 = int(param_00); - activateclientexploder(var_03,param_01,param_02); -} - -//Function Number: 33 -deactivate_clientside_exploder(param_00,param_01,param_02) -{ - if(!is_valid_clientside_exploder_name(param_00)) - { - return; - } - - var_03 = int(param_00); - stopclientexploder(var_03,param_01,param_02); -} - -//Function Number: 34 -is_valid_clientside_exploder_name(param_00) -{ - if(!isdefined(param_00)) - { - return 0; - } - - var_01 = param_00; - if(isstring(param_00)) - { - var_01 = int(param_00); - if(var_01 == 0 && param_00 != "0") - { - return 0; - } - } - - return var_01 >= 0; -} - -//Function Number: 35 -shouldrunserversideeffects() -{ - if(common_scripts\utility::issp()) - { - return 1; - } - - if(!isdefined(level.createfx_enabled)) - { - level.createfx_enabled = getdvar("createfx") != ""; - } - - if(level.createfx_enabled) - { - return 1; - } - - return getdvar("clientSideEffects") != "1"; -} - -//Function Number: 36 -exploder_before_load(param_00,param_01,param_02) -{ - waittillframeend; - waittillframeend; - activate_exploder(param_00,param_01,param_02); -} - -//Function Number: 37 -exploder_after_load(param_00,param_01,param_02) -{ - activate_exploder(param_00,param_01,param_02); -} \ No newline at end of file diff --git a/AW/PC/ZM/common_scripts/_fx.gsc b/AW/PC/ZM/common_scripts/_fx.gsc deleted file mode 100644 index c568578..0000000 --- a/AW/PC/ZM/common_scripts/_fx.gsc +++ /dev/null @@ -1,857 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: common_scripts/_fx.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 39 - * Decompile Time: 790 ms - * Timestamp: 10/27/2023 2:07:42 AM -*******************************************************************/ - -//Function Number: 1 -initfx() -{ - if(!isdefined(level.func)) - { - level.func = []; - } - - if(!isdefined(level.func["create_triggerfx"])) - { - level.func["create_triggerfx"] = ::create_triggerfx; - } - - if(!isdefined(level._fx)) - { - level._fx = spawnstruct(); - } - - common_scripts\utility::create_lock("createfx_looper",20); - level.fxfireloopmod = 1; - level._fx.exploderfunction = ::common_scripts\_exploder::exploder_before_load; - waittillframeend; - waittillframeend; - level._fx.exploderfunction = ::common_scripts\_exploder::exploder_after_load; - level._fx.server_culled_sounds = 0; - if(getdvarint("serverCulledSounds") == 1) - { - level._fx.server_culled_sounds = 1; - } - - if(level.createfx_enabled) - { - level._fx.server_culled_sounds = 0; - } - - if(level.createfx_enabled) - { - level waittill("createfx_common_done"); - } - - var_00 = 0; - if(var_00 < level.createfxent.size) - { - var_01 = level.createfxent[var_00]; - var_01 common_scripts\_createfx::set_forward_and_up_vectors(); - switch(var_01.v["type"]) - { - case "loopfx": - break; - - case "oneshotfx": - break; - - case "soundfx": - break; - - case "soundfx_interval": - break; - - case "reactive_fx": - break; - - case "soundfx_dynamic": - break; - } - } -} - -//Function Number: 2 -remove_dupes() -{ -} - -//Function Number: 3 -check_createfx_limit() -{ -} - -//Function Number: 4 -check_limit_type(param_00,param_01) -{ -} - -//Function Number: 5 -print_org(param_00,param_01,param_02,param_03) -{ - if(getdvar("debug") == "1") - { - } -} - -//Function Number: 6 -platformmatches() -{ - if(isdefined(self.v["platform"]) && isdefined(level.currentgen)) - { - var_00 = self.v["platform"]; - if((var_00 == "cg" && !level.currentgen) || var_00 == "ng" && !level.nextgen || var_00 == "xenon" && !level.xenon || var_00 == "ps3" && !level.ps3 || var_00 == "pc" && !level.pc || var_00 == "xb3" && !level.xb3 || var_00 == "ps4" && !level.ps4 || var_00 == "pccg" && !level.pccg || var_00 == "!cg" && level.currentgen || var_00 == "!ng" && level.nextgen || var_00 == "!xenon" && level.xenon || var_00 == "!ps3" && level.ps3 || var_00 == "!pc" && level.pc || var_00 == "!xb3" && level.xb3 || var_00 == "!ps4" && level.ps4 || var_00 == "!pccg" && level.pccg) - { - return 0; - } - } - - return 1; -} - -//Function Number: 7 -oneshotfx(param_00,param_01,param_02,param_03) -{ -} - -//Function Number: 8 -exploderfx(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B,param_0C,param_0D,param_0E,param_0F,param_10,param_11) -{ - if(1) - { - var_12 = common_scripts\utility::createexploder(param_01); - var_12.v["origin"] = param_02; - var_12.v["angles"] = (0,0,0); - if(isdefined(param_04)) - { - var_12.v["angles"] = vectortoangles(param_04 - param_02); - } - - var_12.v["delay"] = param_03; - var_12.v["exploder"] = param_00; - if(isdefined(level.createfxexploders)) - { - var_13 = level.createfxexploders[var_12.v["exploder"]]; - if(!isdefined(var_13)) - { - var_13 = []; - } - - var_13[var_13.size] = var_12; - level.createfxexploders[var_12.v["exploder"]] = var_13; - } - - return; - } - - var_14 = spawn("script_origin",(0,0,0)); - var_14.origin = param_03; - var_14.angles = vectortoangles(param_05 - param_03); - var_14.script_exploder = param_01; - var_14.script_fxid = param_02; - var_14.script_delay = param_04; - var_14.script_firefx = param_06; - var_14.script_firefxdelay = param_07; - var_14.script_firefxsound = param_08; - var_14.script_sound = param_09; - var_14.script_earthquake = param_0A; - var_14.script_damage = param_0B; - var_14.script_radius = param_10; - var_14.script_soundalias = param_0C; - var_14.script_firefxtimeout = param_11; - var_14.script_repeat = param_0D; - var_14.script_delay_min = param_0E; - var_14.script_delay_max = param_0F; - var_14.script_exploder_group = var_12; - var_15 = anglestoforward(var_14.angles); - var_15 = var_15 * 150; - var_14.targetpos = param_03 + var_15; - if(!isdefined(level._script_exploders)) - { - level._script_exploders = []; - } - - level._script_exploders[level._script_exploders.size] = var_14; -} - -//Function Number: 9 -loopfx(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - var_07 = common_scripts\utility::createloopeffect(param_00); - var_07.v["origin"] = param_01; - var_07.v["angles"] = (0,0,0); - if(isdefined(param_03)) - { - var_07.v["angles"] = vectortoangles(param_03 - param_01); - } - - var_07.v["delay"] = param_02; -} - -//Function Number: 10 -create_looper() -{ - self.looper = playloopedfx(level._effect[self.v["fxid"]],self.v["delay"],self.v["origin"],0,self.v["forward"],self.v["up"]); - create_loopsound(); -} - -//Function Number: 11 -create_loopsound() -{ - if(!platformmatches()) - { - return; - } - - self notify("stop_loop"); - if(!isdefined(self.v["soundalias"])) - { - return; - } - - if(self.v["soundalias"] == "nil") - { - return; - } - - var_00 = 0; - var_01 = undefined; - if(isdefined(self.v["stopable"]) && self.v["stopable"]) - { - if(isdefined(self.looper)) - { - var_01 = "death"; - } - else - { - var_01 = "stop_loop"; - } - } - else if(level._fx.server_culled_sounds && isdefined(self.v["server_culled"])) - { - var_00 = self.v["server_culled"]; - } - - var_02 = self; - if(isdefined(self.looper)) - { - var_02 = self.looper; - } - - var_03 = undefined; - if(level.createfx_enabled) - { - var_03 = self; - } - - var_02 common_scripts\utility::loop_fx_sound_with_angles(self.v["soundalias"],self.v["origin"],self.v["angles"],var_00,var_01,var_03); -} - -//Function Number: 12 -create_interval_sound() -{ - if(!platformmatches()) - { - return; - } - - self notify("stop_loop"); - if(!isdefined(self.v["soundalias"])) - { - return; - } - - if(self.v["soundalias"] == "nil") - { - return; - } - - var_00 = undefined; - var_01 = self; - if((isdefined(self.v["stopable"]) && self.v["stopable"]) || level.createfx_enabled) - { - if(isdefined(self.looper)) - { - var_01 = self.looper; - var_00 = "death"; - } - else - { - var_00 = "stop_loop"; - } - } - - var_01 thread common_scripts\utility::loop_fx_sound_interval_with_angles(self.v["soundalias"],self.v["origin"],self.v["angles"],var_00,undefined,self.v["delay_min"],self.v["delay_max"]); -} - -//Function Number: 13 -create_dynamicambience() -{ - if(!platformmatches()) - { - return; - } - - if(!isdefined(self.v["ambiencename"])) - { - return; - } - - if(self.v["ambiencename"] == "nil") - { - return; - } - - if(common_scripts\utility::issp()) - { - return; - } - - if(getdvar("createfx") == "on") - { - common_scripts\utility::flag_wait("createfx_started"); - } - - if(isdefined(self.dambinfostruct)) - { - level.player stopdynamicambience(self.dambinfostruct.unique_id); - } - - self.dambinfostruct = spawnstruct(); - self.dambinfostruct common_scripts\utility::assign_unique_id(); - level.player playdynamicambience(self.v["ambiencename"],self.v["origin"],self.v["dynamic_distance"],self.dambinfostruct.unique_id); -} - -//Function Number: 14 -loopfxthread() -{ - wait 0.05; - if(isdefined(self.fxstart)) - { - level waittill("start fx" + self.fxstart); - } - - for(;;) - { - create_looper(); - if(isdefined(self.timeout)) - { - thread loopfxstop(self.timeout); - } - - if(isdefined(self.fxstop)) - { - level waittill("stop fx" + self.fxstop); - } - else - { - return; - } - - if(isdefined(self.looper)) - { - self.looper delete(); - } - - if(isdefined(self.fxstart)) - { - level waittill("start fx" + self.fxstart); - continue; - } - } -} - -//Function Number: 15 -loopfxchangeid(param_00) -{ - self endon("death"); - param_00 waittill("effect id changed",var_01); -} - -//Function Number: 16 -loopfxchangeorg(param_00) -{ - self endon("death"); - for(;;) - { - param_00 waittill("effect org changed",var_01); - self.origin = var_01; - } -} - -//Function Number: 17 -loopfxchangedelay(param_00) -{ - self endon("death"); - param_00 waittill("effect delay changed",var_01); -} - -//Function Number: 18 -loopfxdeletion(param_00) -{ - self endon("death"); - param_00 waittill("effect deleted"); - self delete(); -} - -//Function Number: 19 -loopfxstop(param_00) -{ - self endon("death"); - wait(param_00); - self.looper delete(); -} - -//Function Number: 20 -loopsound(param_00,param_01,param_02) -{ - level thread loopsoundthread(param_00,param_01,param_02); -} - -//Function Number: 21 -loopsoundthread(param_00,param_01,param_02) -{ - var_03 = spawn("script_origin",param_01); - var_03.origin = param_01; - var_03 playloopsound(param_00); -} - -//Function Number: 22 -gunfireloopfx(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - thread gunfireloopfxthread(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07); -} - -//Function Number: 23 -gunfireloopfxthread(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - level endon("stop all gunfireloopfx"); - wait 0.05; - if(param_07 < param_06) - { - var_08 = param_07; - param_07 = param_06; - param_06 = var_08; - } - - var_09 = param_06; - var_0A = param_07 - param_06; - if(param_05 < param_04) - { - var_08 = param_05; - param_05 = param_04; - param_04 = var_08; - } - - var_0B = param_04; - var_0C = param_05 - param_04; - if(param_03 < param_02) - { - var_08 = param_03; - param_03 = param_02; - param_02 = var_08; - } - - var_0D = param_02; - var_0E = param_03 - param_02; - var_0F = spawnfx(level._effect[param_00],param_01); - if(!level.createfx_enabled) - { - var_0F willneverchange(); - } - - for(;;) - { - var_10 = var_0D + randomint(var_0E); - for(var_11 = 0;var_11 < var_10;var_11++) - { - triggerfx(var_0F); - wait(var_0B + randomfloat(var_0C)); - } - - wait(var_09 + randomfloat(var_0A)); - } -} - -//Function Number: 24 -gunfireloopfxvec(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) -{ - thread gunfireloopfxvecthread(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08); -} - -//Function Number: 25 -gunfireloopfxvecthread(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) -{ - level endon("stop all gunfireloopfx"); - wait 0.05; - if(param_08 < param_07) - { - var_09 = param_08; - param_08 = param_07; - param_07 = var_09; - } - - var_0A = param_07; - var_0B = param_08 - param_07; - if(param_06 < param_05) - { - var_09 = param_06; - param_06 = param_05; - param_05 = var_09; - } - - var_0C = param_05; - var_0D = param_06 - param_05; - if(param_04 < param_03) - { - var_09 = param_04; - param_04 = param_03; - param_03 = var_09; - } - - var_0E = param_03; - var_0F = param_04 - param_03; - param_02 = vectornormalize(param_02 - param_01); - var_10 = spawnfx(level._effect[param_00],param_01,param_02); - if(!level.createfx_enabled) - { - var_10 willneverchange(); - } - - for(;;) - { - var_11 = var_0E + randomint(var_0F); - for(var_12 = 0;var_12 < int(var_11 / level.fxfireloopmod);var_12++) - { - triggerfx(var_10); - var_13 = var_0C + randomfloat(var_0D) * level.fxfireloopmod; - if(var_13 < 0.05) - { - var_13 = 0.05; - } - - wait(var_13); - } - - wait(var_0C + randomfloat(var_0D)); - wait(var_0A + randomfloat(var_0B)); - } -} - -//Function Number: 26 -setfireloopmod(param_00) -{ - level.fxfireloopmod = 1 / param_00; -} - -//Function Number: 27 -setup_fx() -{ - if(!isdefined(self.script_fxid) || !isdefined(self.script_fxcommand) || !isdefined(self.script_delay)) - { - return; - } - - if(isdefined(self.model)) - { - if(self.model == "toilet") - { - thread burnville_paratrooper_hack(); - return; - } - } - - var_00 = undefined; - if(isdefined(self.target)) - { - var_01 = getent(self.target,"targetname"); - if(isdefined(var_01)) - { - var_00 = var_01.origin; - } - } - - var_02 = undefined; - if(isdefined(self.script_fxstart)) - { - var_02 = self.script_fxstart; - } - - var_03 = undefined; - if(isdefined(self.script_fxstop)) - { - var_03 = self.script_fxstop; - } - - if(self.script_fxcommand == "OneShotfx") - { - oneshotfx(self.script_fxid,self.origin,self.script_delay,var_00); - } - - if(self.script_fxcommand == "loopfx") - { - loopfx(self.script_fxid,self.origin,self.script_delay,var_00,var_02,var_03); - } - - if(self.script_fxcommand == "loopsound") - { - loopsound(self.script_fxid,self.origin,self.script_delay); - } - - self delete(); -} - -//Function Number: 28 -burnville_paratrooper_hack() -{ - var_00 = (0,0,self.angles[1]); - var_01 = level._effect[self.script_fxid]; - var_02 = self.origin; - wait(1); - level thread burnville_paratrooper_hack_loop(var_00,var_02,var_01); - self delete(); -} - -//Function Number: 29 -burnville_paratrooper_hack_loop(param_00,param_01,param_02) -{ - for(;;) - { - playfx(param_02,param_01); - wait(30 + randomfloat(40)); - } -} - -//Function Number: 30 -create_triggerfx() -{ - if(!verify_effects_assignment(self.v["fxid"])) - { - return; - } - - self.looper = spawnfx(level._effect[self.v["fxid"]],self.v["origin"],self.v["forward"],self.v["up"]); - triggerfx(self.looper,self.v["delay"]); - if(!level.createfx_enabled) - { - self.looper willneverchange(); - } - - create_loopsound(); -} - -//Function Number: 31 -verify_effects_assignment(param_00) -{ - if(isdefined(level._effect[param_00])) - { - return 1; - } - - if(!isdefined(level._missing_fx)) - { - level._missing_fx = []; - } - - level._missing_fx[self.v["fxid"]] = param_00; - verify_effects_assignment_print(param_00); - return 0; -} - -//Function Number: 32 -verify_effects_assignment_print(param_00) -{ - level notify("verify_effects_assignment_print"); - level endon("verify_effects_assignment_print"); - wait(0.05); - var_01 = getarraykeys(level._missing_fx); - foreach(var_03 in var_01) - { - } -} - -//Function Number: 33 -oneshotfxthread() -{ - wait(0.05); - if(!platformmatches()) - { - return; - } - - if(self.v["delay"] > 0) - { - wait(self.v["delay"]); - } - - [[ level.func["create_triggerfx"] ]](); -} - -//Function Number: 34 -add_reactive_fx() -{ - if(!platformmatches()) - { - return; - } - - if(!common_scripts\utility::issp() && getdvar("createfx") == "") - { - return; - } - - if(!isdefined(level._fx.reactive_thread)) - { - level._fx.reactive_thread = 1; - level thread reactive_fx_thread(); - } - - if(!isdefined(level._fx.reactive_fx_ents)) - { - level._fx.reactive_fx_ents = []; - } - - level._fx.reactive_fx_ents[level._fx.reactive_fx_ents.size] = self; - self.next_reactive_time = 3000; -} - -//Function Number: 35 -reactive_fx_thread() -{ - if(!common_scripts\utility::issp()) - { - if(getdvar("createfx") == "on") - { - common_scripts\utility::flag_wait("createfx_started"); - } - } - - level._fx.reactive_sound_ents = []; - var_00 = 256; - for(;;) - { - level waittill("code_damageradius",var_01,var_00,var_02,var_03); - var_04 = sort_reactive_ents(var_02,var_00); - foreach(var_07, var_06 in var_04) - { - var_06 thread play_reactive_fx(var_07); - } - } -} - -//Function Number: 36 -vector2d(param_00) -{ - return (param_00[0],param_00[1],0); -} - -//Function Number: 37 -sort_reactive_ents(param_00,param_01) -{ - var_02 = []; - var_03 = gettime(); - foreach(var_05 in level._fx.reactive_fx_ents) - { - if(var_05.next_reactive_time > var_03) - { - continue; - } - - var_06 = var_05.v["reactive_radius"] + param_01; - var_06 = var_06 * var_06; - if(distancesquared(param_00,var_05.v["origin"]) < var_06) - { - var_02[var_02.size] = var_05; - } - } - - foreach(var_05 in var_02) - { - var_09 = vector2d(var_05.v["origin"] - level.player.origin); - var_0A = vector2d(param_00 - level.player.origin); - var_0B = vectornormalize(var_09); - var_0C = vectornormalize(var_0A); - var_05.dot = vectordot(var_0B,var_0C); - } - - for(var_0E = 0;var_0E < var_02.size - 1;var_0E++) - { - for(var_0F = var_0E + 1;var_0F < var_02.size;var_0F++) - { - if(var_02[var_0E].dot > var_02[var_0F].dot) - { - var_10 = var_02[var_0E]; - var_02[var_0E] = var_02[var_0F]; - var_02[var_0F] = var_10; - } - } - } - - foreach(var_05 in var_02) - { - var_05.origin = undefined; - var_05.dot = undefined; - } - - for(var_0E = 4;var_0E < var_02.size;var_0E++) - { - var_02[var_0E] = undefined; - } - - return var_02; -} - -//Function Number: 38 -play_reactive_fx(param_00) -{ - var_01 = get_reactive_sound_ent(); - if(!isdefined(var_01)) - { - return; - } - - self.next_reactive_time = gettime() + 3000; - var_01.origin = self.v["origin"]; - var_01.is_playing = 1; - wait(param_00 * randomfloatrange(0.05,0.1)); - if(common_scripts\utility::issp()) - { - var_01 playsound(self.v["soundalias"],"sounddone"); - var_01 waittill("sounddone"); - } - else - { - var_01 playsound(self.v["soundalias"]); - wait(2); - } - - wait(0.1); - var_01.is_playing = 0; -} - -//Function Number: 39 -get_reactive_sound_ent() -{ - foreach(var_01 in level._fx.reactive_sound_ents) - { - if(!var_01.is_playing) - { - return var_01; - } - } - - if(level._fx.reactive_sound_ents.size < 4) - { - var_01 = spawn("script_origin",(0,0,0)); - var_01.is_playing = 0; - level._fx.reactive_sound_ents[level._fx.reactive_sound_ents.size] = var_01; - return var_01; - } - - return undefined; -} \ No newline at end of file diff --git a/AW/PC/ZM/common_scripts/utility.gsc b/AW/PC/ZM/common_scripts/utility.gsc deleted file mode 100644 index cff3517..0000000 --- a/AW/PC/ZM/common_scripts/utility.gsc +++ /dev/null @@ -1,3975 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: common_scripts/utility.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 215 - * Decompile Time: 3533 ms - * Timestamp: 10/27/2023 2:07:53 AM -*******************************************************************/ - -//Function Number: 1 -noself_func(param_00,param_01,param_02,param_03,param_04) -{ - if(!isdefined(level.func)) - { - return; - } - - if(!isdefined(level.func[param_00])) - { - return; - } - - if(!isdefined(param_01)) - { - [[ level.func[param_00] ]](); - return; - } - - if(!isdefined(param_02)) - { - [[ level.func[param_00] ]](param_01); - return; - } - - if(!isdefined(param_03)) - { - [[ level.func[param_00] ]](param_01,param_02); - return; - } - - if(!isdefined(param_04)) - { - [[ level.func[param_00] ]](param_01,param_02,param_03); - return; - } - - [[ level.func[param_00] ]](param_01,param_02,param_03,param_04); -} - -//Function Number: 2 -self_func(param_00,param_01,param_02,param_03,param_04) -{ - if(!isdefined(level.func[param_00])) - { - return; - } - - if(!isdefined(param_01)) - { - self [[ level.func[param_00] ]](); - return; - } - - if(!isdefined(param_02)) - { - self [[ level.func[param_00] ]](param_01); - return; - } - - if(!isdefined(param_03)) - { - self [[ level.func[param_00] ]](param_01,param_02); - return; - } - - if(!isdefined(param_04)) - { - self [[ level.func[param_00] ]](param_01,param_02,param_03); - return; - } - - self [[ level.func[param_00] ]](param_01,param_02,param_03,param_04); -} - -//Function Number: 3 -randomvector(param_00) -{ - return (randomfloat(param_00) - param_00 * 0.5,randomfloat(param_00) - param_00 * 0.5,randomfloat(param_00) - param_00 * 0.5); -} - -//Function Number: 4 -randomvectorrange(param_00,param_01) -{ - var_02 = randomfloatrange(param_00,param_01); - if(randomint(2) == 0) - { - var_02 = var_02 * -1; - } - - var_03 = randomfloatrange(param_00,param_01); - if(randomint(2) == 0) - { - var_03 = var_03 * -1; - } - - var_04 = randomfloatrange(param_00,param_01); - if(randomint(2) == 0) - { - var_04 = var_04 * -1; - } - - return (var_02,var_03,var_04); -} - -//Function Number: 5 -randomvectorincone(param_00,param_01) -{ - var_02 = randomfloat(param_01); - var_03 = randomfloat(360); - var_04 = sin(var_02); - var_05 = cos(var_02); - var_06 = sin(var_03); - var_07 = cos(var_03); - var_08 = (var_05,var_07 * var_04,var_06 * var_04); - return rotatevector(var_08,vectortoangles(param_00)); -} - -//Function Number: 6 -sign(param_00) -{ - if(param_00 >= 0) - { - return 1; - } - - return -1; -} - -//Function Number: 7 -mod(param_00,param_01) -{ - var_02 = int(param_00 / param_01); - if(param_00 * param_01 < 0) - { - var_02 = var_02 - 1; - } - - return param_00 - var_02 * param_01; -} - -//Function Number: 8 -tostring(param_00) -{ - return "" + param_00; -} - -//Function Number: 9 -track(param_00) -{ - if(isdefined(self.current_target)) - { - if(param_00 == self.current_target) - { - return; - } - } - - self.current_target = param_00; -} - -//Function Number: 10 -get_enemy_team(param_00) -{ - var_01 = []; - var_01["axis"] = "allies"; - var_01["allies"] = "axis"; - return var_01[param_00]; -} - -//Function Number: 11 -clear_exception(param_00) -{ - self.exception[param_00] = level.defaultexception; -} - -//Function Number: 12 -set_exception(param_00,param_01) -{ - self.exception[param_00] = param_01; -} - -//Function Number: 13 -set_all_exceptions(param_00) -{ - var_01 = getarraykeys(self.exception); - for(var_02 = 0;var_02 < var_01.size;var_02++) - { - self.exception[var_01[var_02]] = param_00; - } -} - -//Function Number: 14 -cointoss() -{ - return randomint(100) >= 50; -} - -//Function Number: 15 -choose_from_weighted_array(param_00,param_01) -{ - var_02 = randomint(param_01[param_01.size - 1] + 1); - for(var_03 = 0;var_03 < param_01.size;var_03++) - { - if(var_02 <= param_01[var_03]) - { - return param_00[var_03]; - } - } -} - -//Function Number: 16 -get_cumulative_weights(param_00) -{ - var_01 = []; - var_02 = 0; - for(var_03 = 0;var_03 < param_00.size;var_03++) - { - var_02 = var_02 + param_00[var_03]; - var_01[var_03] = var_02; - } - - return var_01; -} - -//Function Number: 17 -waittill_string(param_00,param_01) -{ - if(param_00 != "death") - { - self endon("death"); - } - - param_01 endon("die"); - self waittill(param_00); - param_01 notify("returned",param_00); -} - -//Function Number: 18 -waittill_string_parms(param_00,param_01) -{ - if(param_00 != "death") - { - self endon("death"); - } - - param_01 endon("die"); - self waittill(param_00,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A,var_0B); - var_0C = []; - var_0C[0] = param_00; - if(isdefined(var_02)) - { - var_0C[1] = var_02; - } - - if(isdefined(var_03)) - { - var_0C[2] = var_03; - } - - if(isdefined(var_04)) - { - var_0C[3] = var_04; - } - - if(isdefined(var_05)) - { - var_0C[4] = var_05; - } - - if(isdefined(var_06)) - { - var_0C[5] = var_06; - } - - if(isdefined(var_07)) - { - var_0C[6] = var_07; - } - - if(isdefined(var_08)) - { - var_0C[7] = var_08; - } - - if(isdefined(var_09)) - { - var_0C[8] = var_09; - } - - if(isdefined(var_0A)) - { - var_0C[9] = var_0A; - } - - if(isdefined(var_0B)) - { - var_0C[10] = var_0B; - } - - param_01 notify("returned",var_0C); -} - -//Function Number: 19 -waittill_string_no_endon_death(param_00,param_01) -{ - param_01 endon("die"); - self waittill(param_00); - param_01 notify("returned",param_00); -} - -//Function Number: 20 -waittill_multiple(param_00,param_01,param_02,param_03,param_04) -{ - self endon("death"); - var_05 = spawnstruct(); - var_05.threads = 0; - if(isdefined(param_00)) - { - childthread waittill_string(param_00,var_05); - var_05.threads++; - } - - if(isdefined(param_01)) - { - childthread waittill_string(param_01,var_05); - var_05.threads++; - } - - if(isdefined(param_02)) - { - childthread waittill_string(param_02,var_05); - var_05.threads++; - } - - if(isdefined(param_03)) - { - childthread waittill_string(param_03,var_05); - var_05.threads++; - } - - if(isdefined(param_04)) - { - childthread waittill_string(param_04,var_05); - var_05.threads++; - } - - while(var_05.threads) - { - var_05 waittill("returned"); - var_05.threads--; - } - - var_05 notify("die"); -} - -//Function Number: 21 -waittill_multiple_ents(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - self endon("death"); - var_08 = spawnstruct(); - var_08.threads = 0; - if(isdefined(param_00)) - { - param_00 childthread waittill_string(param_01,var_08); - var_08.threads++; - } - - if(isdefined(param_02)) - { - param_02 childthread waittill_string(param_03,var_08); - var_08.threads++; - } - - if(isdefined(param_04)) - { - param_04 childthread waittill_string(param_05,var_08); - var_08.threads++; - } - - if(isdefined(param_06)) - { - param_06 childthread waittill_string(param_07,var_08); - var_08.threads++; - } - - while(var_08.threads) - { - var_08 waittill("returned"); - var_08.threads--; - } - - var_08 notify("die"); -} - -//Function Number: 22 -waittill_any_return(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - if((!isdefined(param_00) || param_00 != "death") && !isdefined(param_01) || param_01 != "death" && !isdefined(param_02) || param_02 != "death" && !isdefined(param_03) || param_03 != "death" && !isdefined(param_04) || param_04 != "death" && !isdefined(param_05) || param_05 != "death" && !isdefined(param_06) || param_06 != "death") - { - self endon("death"); - } - - var_07 = spawnstruct(); - if(isdefined(param_00)) - { - childthread waittill_string(param_00,var_07); - } - - if(isdefined(param_01)) - { - childthread waittill_string(param_01,var_07); - } - - if(isdefined(param_02)) - { - childthread waittill_string(param_02,var_07); - } - - if(isdefined(param_03)) - { - childthread waittill_string(param_03,var_07); - } - - if(isdefined(param_04)) - { - childthread waittill_string(param_04,var_07); - } - - if(isdefined(param_05)) - { - childthread waittill_string(param_05,var_07); - } - - if(isdefined(param_06)) - { - childthread waittill_string(param_06,var_07); - } - - var_07 waittill("returned",var_08); - var_07 notify("die"); - return var_08; -} - -//Function Number: 23 -waittill_any_return_parms(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - if((!isdefined(param_00) || param_00 != "death") && !isdefined(param_01) || param_01 != "death" && !isdefined(param_02) || param_02 != "death" && !isdefined(param_03) || param_03 != "death" && !isdefined(param_04) || param_04 != "death" && !isdefined(param_05) || param_05 != "death" && !isdefined(param_06) || param_06 != "death" && !isdefined(param_07) || param_07 != "death") - { - self endon("death"); - } - - var_08 = spawnstruct(); - if(isdefined(param_00)) - { - childthread waittill_string_parms(param_00,var_08); - } - - if(isdefined(param_01)) - { - childthread waittill_string_parms(param_01,var_08); - } - - if(isdefined(param_02)) - { - childthread waittill_string_parms(param_02,var_08); - } - - if(isdefined(param_03)) - { - childthread waittill_string_parms(param_03,var_08); - } - - if(isdefined(param_04)) - { - childthread waittill_string_parms(param_04,var_08); - } - - if(isdefined(param_05)) - { - childthread waittill_string_parms(param_05,var_08); - } - - if(isdefined(param_06)) - { - childthread waittill_string_parms(param_06,var_08); - } - - if(isdefined(param_07)) - { - childthread waittill_string_parms(param_07,var_08); - } - - var_08 waittill("returned",var_09); - var_08 notify("die"); - return var_09; -} - -//Function Number: 24 -waittill_any_return_no_endon_death(param_00,param_01,param_02,param_03,param_04,param_05) -{ - var_06 = spawnstruct(); - if(isdefined(param_00)) - { - childthread waittill_string_no_endon_death(param_00,var_06); - } - - if(isdefined(param_01)) - { - childthread waittill_string_no_endon_death(param_01,var_06); - } - - if(isdefined(param_02)) - { - childthread waittill_string_no_endon_death(param_02,var_06); - } - - if(isdefined(param_03)) - { - childthread waittill_string_no_endon_death(param_03,var_06); - } - - if(isdefined(param_04)) - { - childthread waittill_string_no_endon_death(param_04,var_06); - } - - if(isdefined(param_05)) - { - childthread waittill_string_no_endon_death(param_05,var_06); - } - - var_06 waittill("returned",var_07); - var_06 notify("die"); - return var_07; -} - -//Function Number: 25 -waittill_any_in_array_return(param_00) -{ - var_01 = spawnstruct(); - var_02 = 0; - foreach(var_04 in param_00) - { - childthread waittill_string(var_04,var_01); - if(var_04 == "death") - { - var_02 = 1; - } - } - - if(!var_02) - { - self endon("death"); - } - - var_01 waittill("returned",var_06); - var_01 notify("die"); - return var_06; -} - -//Function Number: 26 -waittill_any_in_array_return_no_endon_death(param_00) -{ - var_01 = spawnstruct(); - foreach(var_03 in param_00) - { - childthread waittill_string_no_endon_death(var_03,var_01); - } - - var_01 waittill("returned",var_05); - var_01 notify("die"); - return var_05; -} - -//Function Number: 27 -waittill_any_in_array_or_timeout(param_00,param_01) -{ - var_02 = spawnstruct(); - var_03 = 0; - foreach(var_05 in param_00) - { - childthread waittill_string(var_05,var_02); - if(var_05 == "death") - { - var_03 = 1; - } - } - - if(!var_03) - { - self endon("death"); - } - - var_02 childthread _timeout(param_01); - var_02 waittill("returned",var_07); - var_02 notify("die"); - return var_07; -} - -//Function Number: 28 -waittill_any_in_array_or_timeout_no_endon_death(param_00,param_01) -{ - var_02 = spawnstruct(); - foreach(var_04 in param_00) - { - childthread waittill_string_no_endon_death(var_04,var_02); - } - - var_02 thread _timeout(param_01); - var_02 waittill("returned",var_06); - var_02 notify("die"); - return var_06; -} - -//Function Number: 29 -waittill_any_timeout(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - if((!isdefined(param_01) || param_01 != "death") && !isdefined(param_02) || param_02 != "death" && !isdefined(param_03) || param_03 != "death" && !isdefined(param_04) || param_04 != "death" && !isdefined(param_05) || param_05 != "death" && !isdefined(param_06) || param_06 != "death") - { - self endon("death"); - } - - var_07 = spawnstruct(); - if(isdefined(param_01)) - { - childthread waittill_string(param_01,var_07); - } - - if(isdefined(param_02)) - { - childthread waittill_string(param_02,var_07); - } - - if(isdefined(param_03)) - { - childthread waittill_string(param_03,var_07); - } - - if(isdefined(param_04)) - { - childthread waittill_string(param_04,var_07); - } - - if(isdefined(param_05)) - { - childthread waittill_string(param_05,var_07); - } - - if(isdefined(param_06)) - { - childthread waittill_string(param_06,var_07); - } - - var_07 childthread _timeout(param_00); - var_07 waittill("returned",var_08); - var_07 notify("die"); - return var_08; -} - -//Function Number: 30 -_timeout(param_00) -{ - self endon("die"); - wait(param_00); - self notify("returned","timeout"); -} - -//Function Number: 31 -waittill_any_timeout_no_endon_death(param_00,param_01,param_02,param_03,param_04,param_05) -{ - var_06 = spawnstruct(); - if(isdefined(param_01)) - { - childthread waittill_string_no_endon_death(param_01,var_06); - } - - if(isdefined(param_02)) - { - childthread waittill_string_no_endon_death(param_02,var_06); - } - - if(isdefined(param_03)) - { - childthread waittill_string_no_endon_death(param_03,var_06); - } - - if(isdefined(param_04)) - { - childthread waittill_string_no_endon_death(param_04,var_06); - } - - if(isdefined(param_05)) - { - childthread waittill_string_no_endon_death(param_05,var_06); - } - - var_06 childthread _timeout(param_00); - var_06 waittill("returned",var_07); - var_06 notify("die"); - return var_07; -} - -//Function Number: 32 -waittill_any(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - if(isdefined(param_01)) - { - self endon(param_01); - } - - if(isdefined(param_02)) - { - self endon(param_02); - } - - if(isdefined(param_03)) - { - self endon(param_03); - } - - if(isdefined(param_04)) - { - self endon(param_04); - } - - if(isdefined(param_05)) - { - self endon(param_05); - } - - if(isdefined(param_06)) - { - self endon(param_06); - } - - if(isdefined(param_07)) - { - self endon(param_07); - } - - self waittill(param_00); -} - -//Function Number: 33 -waittill_any_ents(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B,param_0C,param_0D) -{ - if(isdefined(param_02) && isdefined(param_03)) - { - param_02 endon(param_03); - } - - if(isdefined(param_04) && isdefined(param_05)) - { - param_04 endon(param_05); - } - - if(isdefined(param_06) && isdefined(param_07)) - { - param_06 endon(param_07); - } - - if(isdefined(param_08) && isdefined(param_09)) - { - param_08 endon(param_09); - } - - if(isdefined(param_0A) && isdefined(param_0B)) - { - param_0A endon(param_0B); - } - - if(isdefined(param_0C) && isdefined(param_0D)) - { - param_0C endon(param_0D); - } - - param_00 waittill(param_01); -} - -//Function Number: 34 -isflashed() -{ - var_00 = gettime(); - if(isdefined(self.flashendtime) && var_00 < self.flashendtime) - { - return 1; - } - - if(isdefined(self.concussionendtime) && var_00 < self.concussionendtime) - { - return 1; - } - - return 0; -} - -//Function Number: 35 -flag_exist(param_00) -{ - return isdefined(level.flag[param_00]); -} - -//Function Number: 36 -flag(param_00) -{ - return level.flag[param_00]; -} - -//Function Number: 37 -init_flags() -{ - level.flag = []; - level.flags_lock = []; - level.generic_index = 0; - if(!isdefined(level.sp_stat_tracking_func)) - { - level.sp_stat_tracking_func = ::empty_init_func; - } - - level.flag_struct = spawnstruct(); - level.flag_struct assign_unique_id(); -} - -//Function Number: 38 -flag_init(param_00) -{ - if(!isdefined(level.flag)) - { - init_flags(); - } - - level.flag[param_00] = 0; - if(!isdefined(level.trigger_flags)) - { - init_trigger_flags(); - level.trigger_flags[param_00] = []; - } - else if(!isdefined(level.trigger_flags[param_00])) - { - level.trigger_flags[param_00] = []; - } - - if(issuffix(param_00,"aa_")) - { - thread [[ level.sp_stat_tracking_func ]](param_00); - } -} - -//Function Number: 39 -empty_init_func(param_00) -{ -} - -//Function Number: 40 -issuffix(param_00,param_01) -{ - if(param_01.size > param_00.size) - { - return 0; - } - - for(var_02 = 0;var_02 < param_01.size;var_02++) - { - if(param_00[var_02] != param_01[var_02]) - { - return 0; - } - } - - return 1; -} - -//Function Number: 41 -flag_set(param_00,param_01) -{ - level.flag[param_00] = 1; - set_trigger_flag_permissions(param_00); - if(isdefined(param_01)) - { - level notify(param_00,param_01); - return; - } - - level notify(param_00); -} - -//Function Number: 42 -assign_unique_id() -{ - self.unique_id = "generic" + level.generic_index; - level.generic_index++; -} - -//Function Number: 43 -flag_wait(param_00) -{ - var_01 = undefined; - while(!flag(param_00)) - { - var_01 = undefined; - level waittill(param_00,var_01); - } - - if(isdefined(var_01)) - { - return var_01; - } -} - -//Function Number: 44 -flag_clear(param_00) -{ - if(!flag(param_00)) - { - return; - } - - level.flag[param_00] = 0; - set_trigger_flag_permissions(param_00); - level notify(param_00); -} - -//Function Number: 45 -flag_waitopen(param_00) -{ - while(flag(param_00)) - { - level waittill(param_00); - } -} - -//Function Number: 46 -waittill_either(param_00,param_01) -{ - self endon(param_00); - self waittill(param_01); -} - -//Function Number: 47 -array_thread(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A) -{ - if(!isdefined(param_02)) - { - foreach(var_0C in param_00) - { - var_0C thread [[ param_01 ]](); - } - - return; - } - - if(!isdefined(param_06)) - { - foreach(var_0E in param_03) - { - var_0E thread [[ param_03 ]](param_04); - } - - return; - } - - if(!isdefined(param_09)) - { - foreach(var_10 in param_05) - { - var_10 thread [[ param_05 ]](param_06,param_07); - } - - return; - } - - if(!isdefined(var_0C)) - { - foreach(var_12 in param_07) - { - var_12 thread [[ param_07 ]](param_08,param_09,param_0A); - } - - return; - } - - if(!isdefined(var_0F)) - { - foreach(var_14 in param_09) - { - var_14 thread [[ param_09 ]](param_0A,var_0B,var_0C,var_0D); - } - - return; - } - - if(!isdefined(var_12)) - { - foreach(var_16 in var_0B) - { - var_16 thread [[ var_0B ]](var_0C,var_0D,var_0E,var_0F,var_10); - } - - return; - } - - if(!isdefined(var_15)) - { - foreach(var_18 in var_0D) - { - var_18 thread [[ var_0D ]](var_0E,var_0F,var_10,var_11,var_12,var_13); - } - - return; - } - - if(!isdefined(var_18)) - { - foreach(var_1A in var_0F) - { - var_1A thread [[ var_0F ]](var_10,var_11,var_12,var_13,var_14,var_15,var_16); - } - - return; - } - - if(!isdefined(var_1B)) - { - foreach(var_1C in var_11) - { - var_1C thread [[ var_11 ]](var_12,var_13,var_14,var_15,var_16,var_17,var_18,var_19); - } - - return; - } - - foreach(var_1E in var_13) - { - var_1E thread [[ var_13 ]](var_14,var_15,var_16,var_17,var_18,var_19,var_1A,var_1B,var_1C); - } -} - -//Function Number: 48 -array_call(param_00,param_01,param_02,param_03,param_04) -{ - if(isdefined(param_04)) - { - foreach(var_06 in param_00) - { - var_06 [[ param_01 ]](param_02,param_03,param_04); - } - - return; - } - - if(isdefined(var_06)) - { - foreach(var_08 in param_03) - { - var_08 [[ param_03 ]](param_04,var_05); - } - - return; - } - - if(isdefined(var_07)) - { - foreach(var_0A in var_05) - { - var_0A [[ var_05 ]](var_06); - } - - return; - } - - foreach(var_0C in var_07) - { - var_0C [[ var_07 ]](); - } -} - -//Function Number: 49 -noself_array_call(param_00,param_01,param_02,param_03,param_04) -{ - if(isdefined(param_04)) - { - foreach(var_06 in param_00) - { - [[ param_01 ]](var_06,param_02,param_03,param_04); - } - - return; - } - - if(isdefined(var_06)) - { - foreach(var_08 in param_03) - { - [[ param_03 ]](var_08,param_04,var_05); - } - - return; - } - - if(isdefined(var_07)) - { - foreach(var_0A in var_05) - { - [[ var_05 ]](var_0A,var_06); - } - - return; - } - - foreach(var_0C in var_07) - { - [[ var_07 ]](var_0C); - } -} - -//Function Number: 50 -array_thread4(param_00,param_01,param_02,param_03,param_04,param_05) -{ - array_thread(param_00,param_01,param_02,param_03,param_04,param_05); -} - -//Function Number: 51 -array_thread5(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - array_thread(param_00,param_01,param_02,param_03,param_04,param_05,param_06); -} - -//Function Number: 52 -trigger_on(param_00,param_01) -{ - if(isdefined(param_00) && isdefined(param_01)) - { - var_02 = getentarray(param_00,param_01); - array_thread(var_02,::trigger_on_proc); - return; - } - - trigger_on_proc(); -} - -//Function Number: 53 -trigger_on_proc() -{ - if(isdefined(self.realorigin)) - { - self.origin = self.realorigin; - } - - self.trigger_off = undefined; -} - -//Function Number: 54 -trigger_off(param_00,param_01) -{ - if(isdefined(param_00) && isdefined(param_01)) - { - var_02 = getentarray(param_00,param_01); - array_thread(var_02,::trigger_off_proc); - return; - } - - trigger_off_proc(); -} - -//Function Number: 55 -trigger_off_proc() -{ - if(!isdefined(self.realorigin)) - { - self.realorigin = self.origin; - } - - if(self.origin == self.realorigin) - { - self.origin = self.origin + (0,0,-10000); - } - - self.trigger_off = 1; -} - -//Function Number: 56 -set_trigger_flag_permissions(param_00) -{ - if(!isdefined(level.trigger_flags)) - { - return; - } - - level.trigger_flags[param_00] = array_removeundefined(level.trigger_flags[param_00]); - array_thread(level.trigger_flags[param_00],::update_trigger_based_on_flags); -} - -//Function Number: 57 -update_trigger_based_on_flags() -{ - var_00 = 1; - if(isdefined(self.script_flag_true)) - { - var_00 = 0; - var_01 = create_flags_and_return_tokens(self.script_flag_true); - foreach(var_03 in var_01) - { - if(flag(var_03)) - { - var_00 = 1; - break; - } - } - } - - var_05 = 1; - if(isdefined(self.script_flag_false)) - { - var_01 = create_flags_and_return_tokens(self.script_flag_false); - foreach(var_03 in var_01) - { - if(flag(var_03)) - { - var_05 = 0; - break; - } - } - } - - [[ level.trigger_func[var_00 && var_05] ]](); -} - -//Function Number: 58 -create_flags_and_return_tokens(param_00) -{ - var_01 = strtok(param_00," "); - for(var_02 = 0;var_02 < var_01.size;var_02++) - { - if(!isdefined(level.flag[var_01[var_02]])) - { - flag_init(var_01[var_02]); - } - } - - return var_01; -} - -//Function Number: 59 -init_trigger_flags() -{ - level.trigger_flags = []; - level.trigger_func[1] = ::trigger_on; - level.trigger_func[0] = ::trigger_off; -} - -//Function Number: 60 -getstruct(param_00,param_01) -{ - var_02 = level.struct_class_names[param_01][param_00]; - if(!isdefined(var_02)) - { - return undefined; - } - - if(var_02.size > 1) - { - return undefined; - } - - return var_02[0]; -} - -//Function Number: 61 -getstructarray(param_00,param_01) -{ - var_02 = level.struct_class_names[param_01][param_00]; - if(!isdefined(var_02)) - { - return []; - } - - return var_02; -} - -//Function Number: 62 -struct_class_init() -{ - level.struct_class_names = []; - level.struct_class_names["target"] = []; - level.struct_class_names["targetname"] = []; - level.struct_class_names["script_noteworthy"] = []; - level.struct_class_names["script_linkname"] = []; - foreach(var_01 in level.struct) - { - add_struct_to_global_array(var_01); - } -} - -//Function Number: 63 -add_struct_to_global_array(param_00) -{ - if(isdefined(param_00.targetname)) - { - if(!isdefined(level.struct_class_names["targetname"][param_00.targetname])) - { - level.struct_class_names["targetname"][param_00.targetname] = []; - } - - var_01 = level.struct_class_names["targetname"][param_00.targetname].size; - level.struct_class_names["targetname"][param_00.targetname][var_01] = param_00; - } - - if(isdefined(param_00.target)) - { - if(!isdefined(level.struct_class_names["target"][param_00.target])) - { - level.struct_class_names["target"][param_00.target] = []; - } - - var_01 = level.struct_class_names["target"][param_00.target].size; - level.struct_class_names["target"][param_00.target][var_01] = param_00; - } - - if(isdefined(param_00.script_noteworthy)) - { - if(!isdefined(level.struct_class_names["script_noteworthy"][param_00.script_noteworthy])) - { - level.struct_class_names["script_noteworthy"][param_00.script_noteworthy] = []; - } - - var_01 = level.struct_class_names["script_noteworthy"][param_00.script_noteworthy].size; - level.struct_class_names["script_noteworthy"][param_00.script_noteworthy][var_01] = param_00; - } - - if(isdefined(param_00.script_linkname)) - { - if(!isdefined(level.struct_class_names["script_linkname"][param_00.script_linkname])) - { - level.struct_class_names["script_linkname"][param_00.script_linkname] = []; - } - - var_01 = level.struct_class_names["script_linkname"][param_00.script_linkname].size; - level.struct_class_names["script_linkname"][param_00.script_linkname][0] = param_00; - } -} - -//Function Number: 64 -fileprint_start(param_00) -{ -} - -//Function Number: 65 -fileprint_map_start() -{ -} - -//Function Number: 66 -fileprint_map_header(param_00) -{ - if(!isdefined(param_00)) - { - param_00 = 0; - } -} - -//Function Number: 67 -fileprint_map_keypairprint(param_00,param_01) -{ -} - -//Function Number: 68 -fileprint_map_entity_start() -{ -} - -//Function Number: 69 -fileprint_map_entity_end() -{ -} - -//Function Number: 70 -fileprint_radiant_vec(param_00) -{ -} - -//Function Number: 71 -array_remove(param_00,param_01) -{ - var_02 = []; - foreach(var_04 in param_00) - { - if(var_04 != param_01) - { - var_02[var_02.size] = var_04; - } - } - - return var_02; -} - -//Function Number: 72 -array_remove_array(param_00,param_01) -{ - foreach(var_03 in param_01) - { - param_00 = array_remove(param_00,var_03); - } - - return param_00; -} - -//Function Number: 73 -array_removeundefined(param_00) -{ - var_01 = []; - foreach(var_03 in param_00) - { - if(!isdefined(var_03)) - { - continue; - } - - var_01[var_01.size] = var_03; - } - - return var_01; -} - -//Function Number: 74 -array_remove_duplicates(param_00) -{ - var_01 = []; - foreach(var_03 in param_00) - { - if(!isdefined(var_03)) - { - continue; - } - - var_04 = 1; - foreach(var_06 in var_01) - { - if(var_03 == var_06) - { - var_04 = 0; - break; - } - } - - if(var_04) - { - var_01[var_01.size] = var_03; - } - } - - return var_01; -} - -//Function Number: 75 -array_levelthread(param_00,param_01,param_02,param_03,param_04) -{ - if(isdefined(param_04)) - { - foreach(var_06 in param_00) - { - thread [[ param_01 ]](var_06,param_02,param_03,param_04); - } - - return; - } - - if(isdefined(var_06)) - { - foreach(var_08 in param_03) - { - thread [[ param_03 ]](var_08,param_04,var_05); - } - - return; - } - - if(isdefined(var_07)) - { - foreach(var_0A in var_05) - { - thread [[ var_05 ]](var_0A,var_06); - } - - return; - } - - foreach(var_0C in var_07) - { - thread [[ var_07 ]](var_0C); - } -} - -//Function Number: 76 -array_levelcall(param_00,param_01,param_02,param_03,param_04) -{ - if(isdefined(param_04)) - { - foreach(var_06 in param_00) - { - [[ param_01 ]](var_06,param_02,param_03,param_04); - } - - return; - } - - if(isdefined(var_06)) - { - foreach(var_08 in param_03) - { - [[ param_03 ]](var_08,param_04,var_05); - } - - return; - } - - if(isdefined(var_07)) - { - foreach(var_0A in var_05) - { - [[ var_05 ]](var_0A,var_06); - } - - return; - } - - foreach(var_0C in var_07) - { - [[ var_07 ]](var_0C); - } -} - -//Function Number: 77 -add_to_array(param_00,param_01) -{ - if(!isdefined(param_01)) - { - return param_00; - } - - if(!isdefined(param_00)) - { - param_00[0] = param_01; - } - else - { - param_00[param_00.size] = param_01; - } - - return param_00; -} - -//Function Number: 78 -flag_assert(param_00) -{ -} - -//Function Number: 79 -flag_wait_either(param_00,param_01) -{ - for(;;) - { - if(flag(param_00)) - { - return; - } - - if(flag(param_01)) - { - return; - } - - level waittill_either(param_00,param_01); - } -} - -//Function Number: 80 -flag_wait_either_return(param_00,param_01) -{ - for(;;) - { - if(flag(param_00)) - { - return param_00; - } - - if(flag(param_01)) - { - return param_01; - } - - var_02 = level waittill_any_return(param_00,param_01); - return var_02; - } -} - -//Function Number: 81 -flag_waitopen_either(param_00,param_01) -{ - for(;;) - { - if(!flag(param_00)) - { - return param_00; - } - - if(!flag(param_01)) - { - return param_01; - } - - level waittill_either(param_00,param_01); - } -} - -//Function Number: 82 -flag_waitopen_either_return(param_00,param_01) -{ - return flag_waitopen_either(param_00,param_01); -} - -//Function Number: 83 -flag_wait_any(param_00,param_01,param_02,param_03,param_04,param_05) -{ - var_06 = []; - if(isdefined(param_05)) - { - var_06[var_06.size] = param_00; - var_06[var_06.size] = param_01; - var_06[var_06.size] = param_02; - var_06[var_06.size] = param_03; - var_06[var_06.size] = param_04; - var_06[var_06.size] = param_05; - } - else if(isdefined(param_04)) - { - var_06[var_06.size] = param_00; - var_06[var_06.size] = param_01; - var_06[var_06.size] = param_02; - var_06[var_06.size] = param_03; - var_06[var_06.size] = param_04; - } - else if(isdefined(param_03)) - { - var_06[var_06.size] = param_00; - var_06[var_06.size] = param_01; - var_06[var_06.size] = param_02; - var_06[var_06.size] = param_03; - } - else if(isdefined(param_02)) - { - var_06[var_06.size] = param_00; - var_06[var_06.size] = param_01; - var_06[var_06.size] = param_02; - } - else if(isdefined(param_01)) - { - flag_wait_either(param_00,param_01); - return; - } - else - { - return; - } - - for(;;) - { - for(var_07 = 0;var_07 < var_06.size;var_07++) - { - if(flag(var_06[var_07])) - { - return; - } - } - - level waittill_any(param_00,param_01,param_02,param_03,param_04,param_05); - } -} - -//Function Number: 84 -flag_wait_any_return(param_00,param_01,param_02,param_03,param_04) -{ - var_05 = []; - if(isdefined(param_04)) - { - var_05[var_05.size] = param_00; - var_05[var_05.size] = param_01; - var_05[var_05.size] = param_02; - var_05[var_05.size] = param_03; - var_05[var_05.size] = param_04; - } - else if(isdefined(param_03)) - { - var_05[var_05.size] = param_00; - var_05[var_05.size] = param_01; - var_05[var_05.size] = param_02; - var_05[var_05.size] = param_03; - } - else if(isdefined(param_02)) - { - var_05[var_05.size] = param_00; - var_05[var_05.size] = param_01; - var_05[var_05.size] = param_02; - } - else if(isdefined(param_01)) - { - var_06 = flag_wait_either_return(param_00,param_01); - return var_06; - } - else - { - return; - } - - for(;;) - { - for(var_07 = 0;var_07 < var_06.size;var_07++) - { - if(flag(var_06[var_07])) - { - return var_06[var_07]; - } - } - - var_06 = level waittill_any_return(param_01,param_02,param_03,param_04,var_05); - return var_07; - } -} - -//Function Number: 85 -flag_wait_all(param_00,param_01,param_02,param_03) -{ - if(isdefined(param_00)) - { - flag_wait(param_00); - } - - if(isdefined(param_01)) - { - flag_wait(param_01); - } - - if(isdefined(param_02)) - { - flag_wait(param_02); - } - - if(isdefined(param_03)) - { - flag_wait(param_03); - } -} - -//Function Number: 86 -flag_wait_or_timeout(param_00,param_01) -{ - var_02 = param_01 * 1000; - var_03 = gettime(); - for(;;) - { - if(flag(param_00)) - { - break; - } - - if(gettime() >= var_03 + var_02) - { - break; - } - - var_04 = var_02 - gettime() - var_03; - var_05 = var_04 / 1000; - wait_for_flag_or_time_elapses(param_00,var_05); - } -} - -//Function Number: 87 -flag_waitopen_or_timeout(param_00,param_01) -{ - var_02 = gettime(); - for(;;) - { - if(!flag(param_00)) - { - break; - } - - if(gettime() >= var_02 + param_01 * 1000) - { - break; - } - - wait_for_flag_or_time_elapses(param_00,param_01); - } -} - -//Function Number: 88 -wait_for_flag_or_time_elapses(param_00,param_01) -{ - level endon(param_00); - wait(param_01); -} - -//Function Number: 89 -delaycall(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A) -{ - thread delaycall_proc(param_01,param_00,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A); -} - -//Function Number: 90 -delaycall_proc(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A) -{ - if(issp()) - { - self endon("death"); - self endon("stop_delay_call"); - } - - wait(param_01); - if(isdefined(param_0A)) - { - self [[ param_00 ]](param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A); - return; - } - - if(isdefined(param_09)) - { - self [[ param_00 ]](param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09); - return; - } - - if(isdefined(param_08)) - { - self [[ param_00 ]](param_02,param_03,param_04,param_05,param_06,param_07,param_08); - return; - } - - if(isdefined(param_07)) - { - self [[ param_00 ]](param_02,param_03,param_04,param_05,param_06,param_07); - return; - } - - if(isdefined(param_06)) - { - self [[ param_00 ]](param_02,param_03,param_04,param_05,param_06); - return; - } - - if(isdefined(param_05)) - { - self [[ param_00 ]](param_02,param_03,param_04,param_05); - return; - } - - if(isdefined(param_04)) - { - self [[ param_00 ]](param_02,param_03,param_04); - return; - } - - if(isdefined(param_03)) - { - self [[ param_00 ]](param_02,param_03); - return; - } - - if(isdefined(param_02)) - { - self [[ param_00 ]](param_02); - return; - } - - self [[ param_00 ]](); -} - -//Function Number: 91 -delay_script_call(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A) -{ - thread delay_script_call_proc(param_01,param_00,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A); -} - -//Function Number: 92 -delay_script_call_proc(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A) -{ - wait(param_01); - if(isdefined(param_0A)) - { - self [[ param_00 ]](param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A); - return; - } - - if(isdefined(param_09)) - { - self [[ param_00 ]](param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09); - return; - } - - if(isdefined(param_08)) - { - self [[ param_00 ]](param_02,param_03,param_04,param_05,param_06,param_07,param_08); - return; - } - - if(isdefined(param_07)) - { - self [[ param_00 ]](param_02,param_03,param_04,param_05,param_06,param_07); - return; - } - - if(isdefined(param_06)) - { - self [[ param_00 ]](param_02,param_03,param_04,param_05,param_06); - return; - } - - if(isdefined(param_05)) - { - self [[ param_00 ]](param_02,param_03,param_04,param_05); - return; - } - - if(isdefined(param_04)) - { - self [[ param_00 ]](param_02,param_03,param_04); - return; - } - - if(isdefined(param_03)) - { - self [[ param_00 ]](param_02,param_03); - return; - } - - if(isdefined(param_02)) - { - self [[ param_00 ]](param_02); - return; - } - - self [[ param_00 ]](); -} - -//Function Number: 93 -noself_delaycall(param_00,param_01,param_02,param_03,param_04,param_05) -{ - thread noself_delaycall_proc(param_01,param_00,param_02,param_03,param_04,param_05); -} - -//Function Number: 94 -noself_delaycall_proc(param_00,param_01,param_02,param_03,param_04,param_05) -{ - wait(param_01); - if(isdefined(param_05)) - { - [[ param_00 ]](param_02,param_03,param_04,param_05); - return; - } - - if(isdefined(param_04)) - { - [[ param_00 ]](param_02,param_03,param_04); - return; - } - - if(isdefined(param_03)) - { - [[ param_00 ]](param_02,param_03); - return; - } - - if(isdefined(param_02)) - { - [[ param_00 ]](param_02); - return; - } - - [[ param_00 ]](); -} - -//Function Number: 95 -issp() -{ - if(!isdefined(level.issp)) - { - level.issp = !string_starts_with(getdvar("mapname"),"mp_"); - } - - return level.issp; -} - -//Function Number: 96 -issp_towerdefense() -{ - if(!isdefined(level.issp_towerdefense)) - { - level.issp_towerdefense = string_starts_with(getdvar("mapname"),"so_td_"); - } - - return level.issp_towerdefense; -} - -//Function Number: 97 -string_starts_with(param_00,param_01) -{ - if(param_00.size < param_01.size) - { - return 0; - } - - for(var_02 = 0;var_02 < param_01.size;var_02++) - { - if(tolower(param_00[var_02]) != tolower(param_01[var_02])) - { - return 0; - } - } - - return 1; -} - -//Function Number: 98 -string_find(param_00,param_01) -{ - if(param_00.size < param_01.size) - { - return -1; - } - - if(param_01.size == 0) - { - return 0; - } - - var_02 = 0; - var_03 = 0; - while(var_02 < param_00.size) - { - if(tolower(param_00[var_02]) == tolower(param_01[var_03])) - { - var_03++; - } - else - { - var_03 = 0; - if(tolower(param_00[var_02]) == tolower(param_01[var_03])) - { - var_03++; - } - else if(var_02 > param_00.size - param_01.size) - { - return -1; - } - } - - if(var_03 >= param_01.size) - { - return var_02 - var_03 + 1; - } - - var_02++; - } - - return -1; -} - -//Function Number: 99 -plot_points(param_00,param_01,param_02,param_03,param_04) -{ - var_05 = param_00[0]; - if(!isdefined(param_01)) - { - param_01 = 1; - } - - if(!isdefined(param_02)) - { - param_02 = 1; - } - - if(!isdefined(param_03)) - { - param_03 = 1; - } - - if(!isdefined(param_04)) - { - param_04 = 0.05; - } - - for(var_06 = 1;var_06 < param_00.size;var_06++) - { - thread draw_line_for_time(var_05,param_00[var_06],param_01,param_02,param_03,param_04); - var_05 = param_00[var_06]; - } -} - -//Function Number: 100 -draw_line_for_time(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - if(!isdefined(param_06)) - { - param_06 = 0; - } - - param_05 = gettime() + param_05 * 1000; - while(gettime() < param_05) - { - wait(0.05); - } -} - -//Function Number: 101 -table_combine(param_00,param_01) -{ - var_02 = []; - foreach(var_05, var_04 in param_00) - { - var_02[var_05] = var_04; - } - - foreach(var_05, var_04 in param_01) - { - var_02[var_05] = var_04; - } - - return var_02; -} - -//Function Number: 102 -array_combine(param_00,param_01) -{ - var_02 = []; - foreach(var_04 in param_00) - { - if(isdefined(var_04)) - { - var_02[var_02.size] = var_04; - } - } - - foreach(var_04 in param_01) - { - if(isdefined(var_04)) - { - var_02[var_02.size] = var_04; - } - } - - return var_02; -} - -//Function Number: 103 -array_combine_non_integer_indices(param_00,param_01) -{ - var_02 = []; - foreach(var_05, var_04 in param_00) - { - var_02[var_05] = var_04; - } - - foreach(var_05, var_04 in param_01) - { - var_02[var_05] = var_04; - } - - return var_02; -} - -//Function Number: 104 -array_randomize(param_00) -{ - for(var_01 = 0;var_01 < param_00.size;var_01++) - { - var_02 = randomint(param_00.size); - var_03 = param_00[var_01]; - param_00[var_01] = param_00[var_02]; - param_00[var_02] = var_03; - } - - return param_00; -} - -//Function Number: 105 -array_add(param_00,param_01) -{ - param_00[param_00.size] = param_01; - return param_00; -} - -//Function Number: 106 -array_first(param_00) -{ - var_01 = undefined; - foreach(var_03 in param_00) - { - var_01 = var_03; - break; - } - - return var_01; -} - -//Function Number: 107 -array_insert(param_00,param_01,param_02) -{ - if(param_02 == param_00.size) - { - var_03 = param_00; - var_03[var_03.size] = param_01; - return var_03; - } - - var_03 = []; - var_04 = 0; - for(var_05 = 0;var_05 < param_00.size;var_05++) - { - if(var_05 == param_02) - { - var_03[var_05] = param_01; - var_04 = 1; - } - - var_03[var_05 + var_04] = param_00[var_05]; - } - - return var_03; -} - -//Function Number: 108 -array_contains(param_00,param_01) -{ - if(param_00.size <= 0) - { - return 0; - } - - foreach(var_03 in param_00) - { - if(var_03 == param_01) - { - return 1; - } - } - - return 0; -} - -//Function Number: 109 -array_find(param_00,param_01) -{ - foreach(var_04, var_03 in param_00) - { - if(var_03 == param_01) - { - return var_04; - } - } - - return undefined; -} - -//Function Number: 110 -flat_angle(param_00) -{ - var_01 = (0,param_00[1],0); - return var_01; -} - -//Function Number: 111 -flat_origin(param_00) -{ - var_01 = (param_00[0],param_00[1],0); - return var_01; -} - -//Function Number: 112 -draw_arrow_time(param_00,param_01,param_02,param_03) -{ - level endon("newpath"); - var_04 = []; - var_05 = vectortoangles(param_00 - param_01); - var_06 = anglestoright(var_05); - var_07 = anglestoforward(var_05); - var_08 = anglestoup(var_05); - var_09 = distance(param_00,param_01); - var_0A = []; - var_0B = 0.1; - var_0A[0] = param_00; - var_0A[1] = param_00 + var_06 * var_09 * var_0B + var_07 * var_09 * -0.1; - var_0A[2] = param_01; - var_0A[3] = param_00 + var_06 * var_09 * -1 * var_0B + var_07 * var_09 * -0.1; - var_0A[4] = param_00; - var_0A[5] = param_00 + var_08 * var_09 * var_0B + var_07 * var_09 * -0.1; - var_0A[6] = param_01; - var_0A[7] = param_00 + var_08 * var_09 * -1 * var_0B + var_07 * var_09 * -0.1; - var_0A[8] = param_00; - var_0C = param_02[0]; - var_0D = param_02[1]; - var_0E = param_02[2]; - plot_points(var_0A,var_0C,var_0D,var_0E,param_03); -} - -//Function Number: 113 -get_linked_ents() -{ - var_00 = []; - if(isdefined(self.script_linkto)) - { - var_01 = get_links(); - foreach(var_03 in var_01) - { - var_04 = getentarray(var_03,"script_linkname"); - if(var_04.size > 0) - { - var_00 = array_combine(var_00,var_04); - } - } - } - - return var_00; -} - -//Function Number: 114 -get_linked_vehicle_nodes() -{ - var_00 = []; - if(isdefined(self.script_linkto)) - { - var_01 = get_links(); - foreach(var_03 in var_01) - { - var_04 = getvehiclenodearray(var_03,"script_linkname"); - if(var_04.size > 0) - { - var_00 = array_combine(var_00,var_04); - } - } - } - - return var_00; -} - -//Function Number: 115 -get_linked_ent() -{ - var_00 = get_linked_ents(); - return var_00[0]; -} - -//Function Number: 116 -get_linked_vehicle_node() -{ - var_00 = get_linked_vehicle_nodes(); - return var_00[0]; -} - -//Function Number: 117 -get_links() -{ - return strtok(self.script_linkto," "); -} - -//Function Number: 118 -run_thread_on_targetname(param_00,param_01,param_02,param_03,param_04) -{ - var_05 = getentarray(param_00,"targetname"); - array_thread(var_05,param_01,param_02,param_03,param_04); - var_05 = getstructarray(param_00,"targetname"); - array_thread(var_05,param_01,param_02,param_03,param_04); - var_05 = [[ level.getnodearrayfunction ]](param_00,"targetname"); - array_thread(var_05,param_01,param_02,param_03,param_04); - var_05 = getvehiclenodearray(param_00,"targetname"); - array_thread(var_05,param_01,param_02,param_03,param_04); -} - -//Function Number: 119 -run_thread_on_noteworthy(param_00,param_01,param_02,param_03,param_04) -{ - var_05 = getentarray(param_00,"script_noteworthy"); - array_thread(var_05,param_01,param_02,param_03,param_04); - var_05 = getstructarray(param_00,"script_noteworthy"); - array_thread(var_05,param_01,param_02,param_03,param_04); - var_05 = [[ level.getnodearrayfunction ]](param_00,"script_noteworthy"); - array_thread(var_05,param_01,param_02,param_03,param_04); - var_05 = getvehiclenodearray(param_00,"script_noteworthy"); - array_thread(var_05,param_01,param_02,param_03,param_04); -} - -//Function Number: 120 -draw_arrow(param_00,param_01,param_02) -{ - level endon("newpath"); - var_03 = []; - var_04 = vectortoangles(param_00 - param_01); - var_05 = anglestoright(var_04); - var_06 = anglestoforward(var_04); - var_07 = distance(param_00,param_01); - var_08 = []; - var_09 = 0.05; - var_08[0] = param_00; - var_08[1] = param_00 + var_05 * var_07 * var_09 + var_06 * var_07 * -0.2; - var_08[2] = param_01; - var_08[3] = param_00 + var_05 * var_07 * -1 * var_09 + var_06 * var_07 * -0.2; - for(var_0A = 0;var_0A < 4;var_0A++) - { - var_0B = var_0A + 1; - if(var_0B >= 4) - { - var_0B = 0; - } - } -} - -//Function Number: 121 -draw_entity_bounds(param_00,param_01,param_02,param_03,param_04) -{ - if(!isdefined(param_02)) - { - param_02 = (0,1,0); - } - - if(!isdefined(param_03)) - { - param_03 = 0; - } - - if(!isdefined(param_04)) - { - param_04 = 0.05; - } - - if(param_03) - { - var_05 = int(param_04 / 0.05); - } - else - { - var_05 = int(param_02 / 0.05); - } - - var_06 = []; - var_07 = []; - var_08 = gettime(); - var_09 = var_08 + param_01 * 1000; - while(var_08 < var_09 && isdefined(param_00)) - { - var_06[0] = param_00 getpointinbounds(1,1,1); - var_06[1] = param_00 getpointinbounds(1,1,-1); - var_06[2] = param_00 getpointinbounds(-1,1,-1); - var_06[3] = param_00 getpointinbounds(-1,1,1); - var_07[0] = param_00 getpointinbounds(1,-1,1); - var_07[1] = param_00 getpointinbounds(1,-1,-1); - var_07[2] = param_00 getpointinbounds(-1,-1,-1); - var_07[3] = param_00 getpointinbounds(-1,-1,1); - for(var_0A = 0;var_0A < 4;var_0A++) - { - var_0B = var_0A + 1; - if(var_0B == 4) - { - var_0B = 0; - } - } - - if(!param_03) - { - return; - } - - wait(param_04); - var_08 = gettime(); - } -} - -//Function Number: 122 -draw_volume(param_00,param_01,param_02,param_03,param_04) -{ - draw_entity_bounds(param_00,param_01,param_02,param_03,param_04); -} - -//Function Number: 123 -draw_trigger(param_00,param_01,param_02,param_03,param_04) -{ - draw_entity_bounds(param_00,param_01,param_02,param_03,param_04); -} - -//Function Number: 124 -getfx(param_00) -{ - return level._effect[param_00]; -} - -//Function Number: 125 -fxexists(param_00) -{ - return isdefined(level._effect[param_00]); -} - -//Function Number: 126 -print_csv_asset(param_00,param_01) -{ - var_02 = param_01 + "," + param_00; - if(isdefined(level.csv_lines[var_02])) - { - return; - } - - level.csv_lines[var_02] = 1; -} - -//Function Number: 127 -fileprint_csv_start(param_00) -{ -} - -//Function Number: 128 -getlastweapon() -{ - return self.saved_lastweapon; -} - -//Function Number: 129 -playerunlimitedammothread() -{ -} - -//Function Number: 130 -isusabilityenabled() -{ - return !self.disabledusability; -} - -//Function Number: 131 -_disableusability() -{ - if(!isdefined(self.disabledusability)) - { - self.disabledusability = 0; - } - - self.disabledusability++; - self disableusability(); -} - -//Function Number: 132 -_enableusability() -{ - if(!isdefined(self.disabledusability)) - { - self.disabledusability = 0; - return; - } - - if(self.disabledusability > 0) - { - self.disabledusability--; - if(self.disabledusability == 0) - { - self enableusability(); - return; - } - } -} - -//Function Number: 133 -resetusability() -{ - self.disabledusability = 0; - self enableusability(); -} - -//Function Number: 134 -_disableweapon() -{ - if(!isdefined(self.disabledweapon)) - { - self.disabledweapon = 0; - } - - self.disabledweapon++; - self disableweapons(); -} - -//Function Number: 135 -_enableweapon() -{ - if(!isdefined(self.disabledweapon)) - { - self.disabledweapon = 0; - } - - self.disabledweapon--; - if(!self.disabledweapon) - { - self enableweapons(); - } -} - -//Function Number: 136 -isweaponenabled() -{ - return !self.disabledweapon; -} - -//Function Number: 137 -_disableweaponswitch() -{ - if(!isdefined(self.disabledweaponswitch)) - { - self.disabledweaponswitch = 0; - } - - self.disabledweaponswitch++; - self disableweaponswitch(); -} - -//Function Number: 138 -_enableweaponswitch() -{ - if(!isdefined(self.disabledweaponswitch)) - { - self.disabledweaponswitch = 0; - } - - self.disabledweaponswitch--; - if(!self.disabledweaponswitch) - { - if(isdefined(level.hordeweaponsjammed) && level.hordeweaponsjammed == 1) - { - return; - } - - self enableweaponswitch(); - } -} - -//Function Number: 139 -isweaponswitchenabled() -{ - return !self.disabledweaponswitch; -} - -//Function Number: 140 -_disableoffhandweapons() -{ - if(!isdefined(self.disabledoffhandweapons)) - { - self.disabledoffhandweapons = 0; - } - - self.disabledoffhandweapons++; - self disableoffhandweapons(); -} - -//Function Number: 141 -_enableoffhandweapons() -{ - if(!isdefined(self.disabledoffhandweapons)) - { - self.disabledoffhandweapons = 0; - } - - self.disabledoffhandweapons--; - if(!self.disabledoffhandweapons) - { - self enableoffhandweapons(); - } -} - -//Function Number: 142 -isoffhandweaponenabled() -{ - return !self.disabledoffhandweapons; -} - -//Function Number: 143 -_enabledetonate(param_00,param_01) -{ - if(!self hasweapon(param_00)) - { - return; - } - - if(self getdetonateenabled(param_00) == param_01) - { - return; - } - - self enabledetonate(param_00,param_01); - if(param_01) - { - self notify("WeaponDetonateEnabled",param_00); - return; - } - - self notify("WeaponDetonateDisabled",param_00); -} - -//Function Number: 144 -random(param_00) -{ - var_01 = []; - foreach(var_03 in param_00) - { - var_01[var_01.size] = var_03; - } - - if(!var_01.size) - { - return undefined; - } - - return var_01[randomint(var_01.size)]; -} - -//Function Number: 145 -random_weight_sorted(param_00) -{ - var_01 = []; - foreach(var_03 in param_00) - { - var_01[var_01.size] = var_03; - } - - if(!var_01.size) - { - return undefined; - } - - var_05 = randomint(var_01.size * var_01.size); - return var_01[var_01.size - 1 - int(sqrt(var_05))]; -} - -//Function Number: 146 -spawn_tag_origin() -{ - var_00 = spawn("script_model",(0,0,0)); - var_00 setmodel("tag_origin"); - var_00 hide(); - if(isdefined(self.origin)) - { - var_00.origin = self.origin; - } - - if(isdefined(self.angles)) - { - var_00.angles = self.angles; - } - - return var_00; -} - -//Function Number: 147 -waittill_notify_or_timeout(param_00,param_01) -{ - self endon(param_00); - wait(param_01); -} - -//Function Number: 148 -waittill_notify_or_timeout_return(param_00,param_01) -{ - self endon(param_00); - wait(param_01); - return "timeout"; -} - -//Function Number: 149 -fileprint_launcher_start_file() -{ - level.fileprintlauncher_linecount = 0; - level.fileprint_launcher = 1; - fileprint_launcher("GAMEPRINTSTARTFILE:"); -} - -//Function Number: 150 -fileprint_launcher(param_00) -{ - level.fileprintlauncher_linecount++; - if(level.fileprintlauncher_linecount > 200) - { - wait(0.05); - level.fileprintlauncher_linecount = 0; - } -} - -//Function Number: 151 -fileprint_launcher_end_file(param_00,param_01) -{ - if(!isdefined(param_01)) - { - param_01 = 0; - } - - if(param_01) - { - fileprint_launcher("GAMEPRINTENDFILE:GAMEPRINTP4ENABLED:" + param_00); - } - else - { - fileprint_launcher("GAMEPRINTENDFILE:" + param_00); - } - - var_02 = gettime() + 4000; - while(getdvarint("LAUNCHER_PRINT_SUCCESS") == 0 && getdvar("LAUNCHER_PRINT_FAIL") == "0" && gettime() < var_02) - { - wait(0.05); - } - - if(!gettime() < var_02) - { - iprintlnbold("LAUNCHER_PRINT_FAIL:( TIMEOUT ): launcherconflict? restart launcher and try again? "); - level.fileprint_launcher = undefined; - return 0; - } - - var_03 = getdvar("LAUNCHER_PRINT_FAIL"); - if(var_03 != "0") - { - iprintlnbold("LAUNCHER_PRINT_FAIL:( " + var_03 + " ): launcherconflict? restart launcher and try again? "); - level.fileprint_launcher = undefined; - return 0; - } - - level.fileprint_launcher = undefined; - return 1; -} - -//Function Number: 152 -launcher_write_clipboard(param_00) -{ - level.fileprintlauncher_linecount = 0; - fileprint_launcher("LAUNCHER_CLIP:" + param_00); -} - -//Function Number: 153 -isdestructible() -{ - if(!isdefined(self)) - { - return 0; - } - - return isdefined(self.destructible_type); -} - -//Function Number: 154 -pauseeffect() -{ - common_scripts\_createfx::stop_fx_looper(); -} - -//Function Number: 155 -activate_individual_exploder() -{ - common_scripts\_exploder::activate_individual_exploder_proc(); -} - -//Function Number: 156 -get_target_ent(param_00) -{ - if(!isdefined(param_00)) - { - param_00 = self.target; - } - - var_01 = getent(param_00,"targetname"); - if(isdefined(var_01)) - { - return var_01; - } - - if(issp()) - { - var_01 = [[ level.getnodefunction ]](param_00,"targetname"); - if(isdefined(var_01)) - { - return var_01; - } - } - - var_01 = getstruct(param_00,"targetname"); - if(isdefined(var_01)) - { - return var_01; - } - - var_01 = getvehiclenode(param_00,"targetname"); - if(isdefined(var_01)) - { - return var_01; - } -} - -//Function Number: 157 -get_noteworthy_ent(param_00) -{ - var_01 = getent(param_00,"script_noteworthy"); - if(isdefined(var_01)) - { - return var_01; - } - - if(issp()) - { - var_01 = [[ level.getnodefunction ]](param_00,"script_noteworthy"); - if(isdefined(var_01)) - { - return var_01; - } - } - - var_01 = getstruct(param_00,"script_noteworthy"); - if(isdefined(var_01)) - { - return var_01; - } - - var_01 = getvehiclenode(param_00,"script_noteworthy"); - if(isdefined(var_01)) - { - return var_01; - } -} - -//Function Number: 158 -do_earthquake(param_00,param_01) -{ - var_02 = level.earthquake[param_00]; - earthquake(var_02["magnitude"],var_02["duration"],param_01,var_02["radius"]); -} - -//Function Number: 159 -play_loopsound_in_space(param_00,param_01) -{ - if(!soundexists(param_00)) - { - return; - } - - var_02 = spawn("script_origin",(0,0,0)); - if(!isdefined(param_01)) - { - param_01 = self.origin; - } - - var_02.origin = param_01; - var_02 playloopsound(param_00); - return var_02; -} - -//Function Number: 160 -play_sound_in_space_with_angles(param_00,param_01,param_02,param_03) -{ - if(!soundexists(param_00)) - { - return; - } - - var_04 = spawn("script_origin",(0,0,1)); - if(!isdefined(param_01)) - { - param_01 = self.origin; - } - - var_04.origin = param_01; - var_04.angles = param_02; - if(issp()) - { - if(isdefined(param_03) && param_03) - { - var_04 playsoundasmaster(param_00,"sounddone"); - } - else - { - var_04 playsound(param_00,"sounddone"); - } - - var_04 waittill("sounddone"); - } - else if(isdefined(param_03) && param_03) - { - var_04 playsoundasmaster(param_00); - } - else - { - var_04 playsound(param_00); - } - - var_04 delete(); -} - -//Function Number: 161 -play_sound_in_space(param_00,param_01,param_02) -{ - play_sound_in_space_with_angles(param_00,param_01,(0,0,0),param_02); -} - -//Function Number: 162 -loop_fx_sound(param_00,param_01,param_02,param_03,param_04) -{ - if(!soundexists(param_00)) - { - return; - } - - if(isdefined(param_03)) - { - param_02 = undefined; - } - - if(isdefined(param_02) && param_02 && !isdefined(level.first_frame) || level.first_frame == 1) - { - spawnloopingsound(param_00,param_01,(0,0,0)); - return; - } - - var_05 = spawn("script_origin",(0,0,0)); - if(isdefined(param_03)) - { - thread loop_sound_delete(param_03,var_05); - self endon(param_03); - } - - var_05.origin = param_01; - var_05 playloopsound(param_00); - var_05 willneverchange(); -} - -//Function Number: 163 -loop_fx_sound_with_angles(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - if(!soundexists(param_00)) - { - return; - } - - if(isdefined(param_03) && param_03) - { - if(!isdefined(level.first_frame) || level.first_frame == 1) - { - spawnloopingsound(param_00,param_01,param_02); - return; - } - - return; - } - - if(isdefined(level.createfx_enabled) && level.createfx_enabled && isdefined(param_05.loopsound_ent)) - { - var_07 = param_05.loopsound_ent; - } - else - { - var_07 = spawn("script_origin",(0,0,0)); - } - - if(isdefined(param_04)) - { - thread loop_sound_delete(param_04,var_07); - self endon(param_04); - } - - var_07.origin = param_01; - var_07.angles = param_02; - var_07 playloopsound(param_00); - if(isdefined(level.createfx_enabled) && level.createfx_enabled) - { - param_05.loopsound_ent = var_07; - return; - } - - var_07 willneverchange(); -} - -//Function Number: 164 -loop_fx_sound_interval(param_00,param_01,param_02,param_03,param_04,param_05) -{ - loop_fx_sound_interval_with_angles(param_00,param_01,(0,0,0),param_02,param_03,param_04,param_05); -} - -//Function Number: 165 -loop_fx_sound_interval_with_angles(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - var_07 = spawn("script_origin",(0,0,0)); - if(isdefined(param_03)) - { - thread loop_sound_delete(param_03,var_07); - self endon(param_03); - } - - var_07.origin = param_01; - var_07.angles = param_02; - if(param_05 >= param_06) - { - wait(0.05); - } - - if(!soundexists(param_00)) - { - wait(0.05); - } - - for(;;) - { - wait(randomfloatrange(param_05,param_06)); - lock("createfx_looper"); - thread play_sound_in_space_with_angles(param_00,var_07.origin,var_07.angles,undefined); - unlock("createfx_looper"); - } -} - -//Function Number: 166 -loop_sound_delete(param_00,param_01) -{ - param_01 endon("death"); - self waittill(param_00); - param_01 delete(); -} - -//Function Number: 167 -createloopeffect(param_00) -{ - var_01 = common_scripts\_createfx::createeffect("loopfx",param_00); - var_01.v["delay"] = common_scripts\_createfx::getloopeffectdelaydefault(); - return var_01; -} - -//Function Number: 168 -createoneshoteffect(param_00) -{ - var_01 = common_scripts\_createfx::createeffect("oneshotfx",param_00); - var_01.v["delay"] = common_scripts\_createfx::getoneshoteffectdelaydefault(); - return var_01; -} - -//Function Number: 169 -createexploder(param_00) -{ - var_01 = common_scripts\_createfx::createeffect("exploder",param_00); - var_01.v["delay"] = common_scripts\_createfx::getexploderdelaydefault(); - var_01.v["exploder_type"] = "normal"; - return var_01; -} - -//Function Number: 170 -alphabetize(param_00) -{ - if(param_00.size <= 1) - { - return param_00; - } - - var_01 = 0; - for(var_02 = param_00.size - 1;var_02 >= 1;var_02--) - { - var_03 = param_00[var_02]; - var_04 = var_02; - for(var_05 = 0;var_05 < var_02;var_05++) - { - var_06 = param_00[var_05]; - if(stricmp(var_06,var_03) > 0) - { - var_03 = var_06; - var_04 = var_05; - } - } - - if(var_04 != var_02) - { - param_00[var_04] = param_00[var_02]; - param_00[var_02] = var_03; - } - } - - return param_00; -} - -//Function Number: 171 -is_later_in_alphabet(param_00,param_01) -{ - return stricmp(param_00,param_01) > 0; -} - -//Function Number: 172 -play_loop_sound_on_entity(param_00,param_01) -{ - if(!soundexists(param_00)) - { - return; - } - - var_02 = spawn("script_origin",(0,0,0)); - var_02 endon("death"); - thread delete_on_death(var_02); - if(isdefined(param_01)) - { - var_02.origin = self.origin + param_01; - var_02.angles = self.angles; - var_02 vehicle_jetbikesethoverforcescale(self); - } - else - { - var_02.origin = self.origin; - var_02.angles = self.angles; - var_02 vehicle_jetbikesethoverforcescale(self); - } - - var_02 playloopsound(param_00); - self waittill("stop sound" + param_00); - var_02 stoploopsound(param_00); - var_02 delete(); -} - -//Function Number: 173 -stop_loop_sound_on_entity(param_00) -{ - self notify("stop sound" + param_00); -} - -//Function Number: 174 -delete_on_death(param_00) -{ - param_00 endon("death"); - self waittill("death"); - if(isdefined(param_00)) - { - param_00 delete(); - } -} - -//Function Number: 175 -error(param_00) -{ - wait 0.05; -} - -//Function Number: 176 -create_dvar(param_00,param_01) -{ - setdvarifuninitialized(param_00,param_01); -} - -//Function Number: 177 -void(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B,param_0C,param_0D) -{ -} - -//Function Number: 178 -tag_project(param_00,param_01) -{ - var_02 = self gettagorigin(param_00); - var_03 = self gettagangles(param_00); - var_04 = anglestoforward(var_03); - var_04 = vectornormalize(var_04) * param_01; - return var_02 + var_04; -} - -//Function Number: 179 -ter_op(param_00,param_01,param_02) -{ - if(param_00) - { - return param_01; - } - - return param_02; -} - -//Function Number: 180 -create_lock(param_00,param_01) -{ - if(!isdefined(param_01)) - { - param_01 = 1; - } - - if(!isdefined(level.lock)) - { - level.lock = []; - } - - var_02 = spawnstruct(); - var_02.max_count = param_01; - var_02.count = 0; - level.lock[param_00] = var_02; -} - -//Function Number: 181 -lock_exists(param_00) -{ - if(!isdefined(level.lock)) - { - return 0; - } - - return isdefined(level.lock[param_00]); -} - -//Function Number: 182 -lock(param_00) -{ - for(var_01 = level.lock[param_00];var_01.count >= var_01.max_count;var_01 waittill("unlocked")) - { - } - - var_01.count++; -} - -//Function Number: 183 -is_locked(param_00) -{ - var_01 = level.lock[param_00]; - return var_01.count > var_01.max_count; -} - -//Function Number: 184 -unlock_wait(param_00) -{ - thread unlock_thread(param_00); - wait(0.05); -} - -//Function Number: 185 -unlock(param_00) -{ - thread unlock_thread(param_00); -} - -//Function Number: 186 -unlock_thread(param_00) -{ - wait(0.05); - var_01 = level.lock[param_00]; - var_01.count--; - var_01 notify("unlocked"); -} - -//Function Number: 187 -get_template_level() -{ - var_00 = level.script; - if(isdefined(level.template_script)) - { - var_00 = level.template_script; - } - - return var_00; -} - -//Function Number: 188 -array_reverse(param_00) -{ - var_01 = []; - for(var_02 = param_00.size - 1;var_02 >= 0;var_02--) - { - var_01[var_01.size] = param_00[var_02]; - } - - return var_01; -} - -//Function Number: 189 -distance_2d_squared(param_00,param_01) -{ - return length2dsquared(param_00 - param_01); -} - -//Function Number: 190 -get_array_of_farthest(param_00,param_01,param_02,param_03,param_04,param_05) -{ - var_06 = get_array_of_closest(param_00,param_01,param_02,param_03,param_04,param_05); - var_06 = array_reverse(var_06); - return var_06; -} - -//Function Number: 191 -get_array_of_closest(param_00,param_01,param_02,param_03,param_04,param_05) -{ - if(!isdefined(param_03)) - { - param_03 = param_01.size; - } - - if(!isdefined(param_02)) - { - param_02 = []; - } - - var_06 = undefined; - if(isdefined(param_04)) - { - var_06 = param_04 * param_04; - } - - var_07 = 0; - if(isdefined(param_05)) - { - var_07 = param_05 * param_05; - } - - if(param_02.size == 0 && param_03 >= param_01.size && var_07 == 0 && !isdefined(var_06)) - { - return sortbydistance(param_01,param_00); - } - - var_08 = []; - foreach(var_0A in param_01) - { - var_0B = 0; - foreach(var_0D in param_02) - { - if(var_0A == var_0D) - { - var_0B = 1; - break; - } - } - - if(var_0B) - { - continue; - } - - var_0F = distancesquared(param_00,var_0A.origin); - if(isdefined(var_06) && var_0F > var_06) - { - continue; - } - - if(var_0F < var_07) - { - continue; - } - - var_08[var_08.size] = var_0A; - } - - var_08 = sortbydistance(var_08,param_00); - if(param_03 >= var_08.size) - { - return var_08; - } - - var_11 = []; - for(var_12 = 0;var_12 < param_03;var_12++) - { - var_11[var_12] = var_08[var_12]; - } - - return var_11; -} - -//Function Number: 192 -is_player_gamepad_enabled() -{ - if(!level.console) - { - var_00 = self usinggamepad(); - if(isdefined(var_00)) - { - return var_00; - } - else - { - return 0; - } - } - - return 1; -} - -//Function Number: 193 -drop_to_ground(param_00,param_01,param_02) -{ - if(!isdefined(param_01)) - { - param_01 = 1500; - } - - if(!isdefined(param_02)) - { - param_02 = -12000; - } - - return physicstrace(param_00 + (0,0,param_01),param_00 + (0,0,param_02)); -} - -//Function Number: 194 -add_destructible_type_function(param_00,param_01) -{ - if(!isdefined(level.destructible_functions)) - { - level.destructible_functions = []; - } - - level.destructible_functions[param_00] = param_01; -} - -//Function Number: 195 -add_destructible_type_transient(param_00,param_01) -{ - if(!isdefined(level.destructible_transient)) - { - level.destructible_transient = []; - } - - level.destructible_transient[param_00] = param_01; -} - -//Function Number: 196 -within_fov(param_00,param_01,param_02,param_03) -{ - var_04 = vectornormalize(param_02 - param_00); - var_05 = anglestoforward(param_01); - var_06 = vectordot(var_05,var_04); - return var_06 >= param_03; -} - -//Function Number: 197 -entity_path_disconnect_thread(param_00) -{ - self notify("entity_path_disconnect_thread"); - self endon("entity_path_disconnect_thread"); - self endon("death"); - level endon("game_ended"); - var_01 = 0; - self.forcedisconnectuntil = 0; - for(;;) - { - var_02 = self.origin; - var_03 = waittill_any_timeout(param_00,"path_disconnect"); - var_04 = 0; - var_05 = distancesquared(self.origin,var_02) > 0; - if(var_05) - { - var_04 = 1; - } - - if(isdefined(var_03) && var_03 == "path_disconnect") - { - var_04 = 1; - } - - if(gettime() < self.forcedisconnectuntil) - { - var_04 = 1; - } - - foreach(var_07 in level.characters) - { - if(isai(var_07) && distancesquared(self.origin,var_07.origin) < 250000) - { - var_04 = 1; - self.forcedisconnectuntil = max(gettime() + 30000,self.forcedisconnectuntil); - } - } - - if(var_04 != var_01 || var_05) - { - if(var_04) - { - self disconnectpaths(); - } - else - { - self connectpaths(); - } - - var_01 = var_04; - } - } -} - -//Function Number: 198 -make_entity_sentient_mp(param_00,param_01) -{ - if(level.gametype == "aliens" && isdefined(level.aliens_make_entity_sentient_func)) - { - return self [[ level.aliens_make_entity_sentient_func ]](param_00,param_01); - } - - if(isdefined(level.bot_funcs) && isdefined(level.bot_funcs["bots_make_entity_sentient"])) - { - return self [[ level.bot_funcs["bots_make_entity_sentient"] ]](param_00,param_01); - } -} - -//Function Number: 199 -ai_3d_sighting_model(param_00) -{ - if(isdefined(level.bot_funcs) && isdefined(level.bot_funcs["ai_3d_sighting_model"])) - { - return self [[ level.bot_funcs["ai_3d_sighting_model"] ]](param_00); - } -} - -//Function Number: 200 -set_basic_animated_model(param_00,param_01,param_02) -{ - if(!isdefined(level.anim_prop_models)) - { - level.anim_prop_models = []; - } - - var_03 = tolower(getdvar("mapname")); - var_04 = 1; - if(string_starts_with(var_03,"mp_")) - { - var_04 = 0; - } - - if(var_04) - { - level.anim_prop_models[param_00]["basic"] = param_01; - return; - } - - level.anim_prop_models[param_00]["basic"] = param_02; -} - -//Function Number: 201 -getclosest(param_00,param_01,param_02) -{ - if(!isdefined(param_02)) - { - param_02 = 500000; - } - - var_03 = undefined; - foreach(var_05 in param_01) - { - if(!isdefined(var_05)) - { - continue; - } - - var_06 = distance(var_05.origin,param_00); - if(var_06 >= param_02) - { - continue; - } - - param_02 = var_06; - var_03 = var_05; - } - - return var_03; -} - -//Function Number: 202 -getfarthest(param_00,param_01,param_02) -{ - if(!isdefined(param_02)) - { - param_02 = 500000; - } - - var_03 = 0; - var_04 = undefined; - foreach(var_06 in param_01) - { - var_07 = distance(var_06.origin,param_00); - if(var_07 <= var_03 || var_07 >= param_02) - { - continue; - } - - var_03 = var_07; - var_04 = var_06; - } - - return var_04; -} - -//Function Number: 203 -missile_settargetandflightmode(param_00,param_01,param_02) -{ - param_02 = ter_op(isdefined(param_02),param_02,(0,0,0)); - self missile_settargetent(param_00,param_02); - switch(param_01) - { - case "direct": - break; - - case "top": - break; - } -} - -//Function Number: 204 -evfromluminancenits(param_00) -{ - return log(param_00 + 6.1E-05) / log(2) + 2.84; -} - -//Function Number: 205 -lineartogamma_srgb(param_00) -{ - if(param_00 <= 0.0031308) - { - return param_00 * 12.92; - } - - return pow(param_00,0.4166667) * 1.055 - 0.055; -} - -//Function Number: 206 -convertlegacyfog(param_00) -{ - if(!isdefined(param_00.hdrcolorintensity)) - { - if(isusinghdr()) - { - var_01 = max(param_00.red,max(param_00.green,param_00.blue)); - var_02 = evfromluminancenits(var_01 * getradiometricunit()); - if(var_01 > 0) - { - param_00.red = param_00.red / var_01; - param_00.green = param_00.green / var_01; - param_00.blue = param_00.blue / var_01; - param_00.red = lineartogamma_srgb(param_00.red); - param_00.green = lineartogamma_srgb(param_00.green); - param_00.blue = lineartogamma_srgb(param_00.blue); - param_00.hdrcolorintensity = var_02; - } - else - { - param_00.hdrcolorintensity = 0; - } - } - else - { - param_00.hdrcolorintensity = 1; - } - } - - if(isdefined(param_00.sunfogenabled) && param_00.sunfogenabled) - { - if(!isdefined(param_00.hdrsuncolorintensity)) - { - if(isusinghdr()) - { - var_01 = max(param_00.red,param_00.green,param_00.blue); - var_02 = evfromluminancenits(var_01 * getradiometricunit()); - if(var_01 > 0) - { - param_00.sunred = param_00.sunred / var_01; - param_00.sungreen = param_00.sungreen / var_01; - param_00.sunblue = param_00.sunblue / var_01; - param_00.sunred = lineartogamma_srgb(param_00.red); - param_00.sungreen = lineartogamma_srgb(param_00.green); - param_00.sunblue = lineartogamma_srgb(param_00.blue); - param_00.hdrsuncolorintensity = var_02; - return; - } - - param_00.hdrsuncolorintensity = 0; - return; - } - - param_00.hdrsuncolorintensity = 1; - return; - } - } -} - -//Function Number: 207 -convertfogtech(param_00) -{ - if(isdefined(level.exclusive_fog_tech)) - { - switch(level.exclusive_fog_tech) - { - case "dfog": - break; - - case "normal_fog": - break; - - default: - break; - } - } -} - -//Function Number: 208 -set_fog_to_ent_values_dfog(param_00,param_01) -{ - if(isdefined(param_00.sunfogenabled) && param_00.sunfogenabled) - { - if(!isplayer(self)) - { - setexpfogext(param_00.startdist,param_00.halfwaydist,param_00.red,param_00.green,param_00.blue,param_00.hdrcolorintensity,param_00.maxopacity,param_01,param_00.sunred,param_00.sungreen,param_00.sunblue,param_00.hdrsuncolorintensity,param_00.sundir,param_00.sunbeginfadeangle,param_00.sunendfadeangle,param_00.normalfogscale,param_00.skyfogintensity,param_00.skyfogminangle,param_00.skyfogmaxangle,param_00.heightfogenabled,param_00.heightfogbaseheight,param_00.heightfoghalfplanedistance); - return; - } - - self playersetexpfogext(param_00.startdist,param_00.halfwaydist,param_00.red,param_00.green,param_00.blue,param_00.hdrcolorintensity,param_00.maxopacity,param_01,param_00.sunred,param_00.sungreen,param_00.sunblue,param_00.hdrsuncolorintensity,param_00.sundir,param_00.sunbeginfadeangle,param_00.sunendfadeangle,param_00.normalfogscale,param_00.skyfogintensity,param_00.skyfogminangle,param_00.skyfogmaxangle,param_00.heightfogenabled,param_00.heightfogbaseheight,param_00.heightfoghalfplanedistance); - return; - } - - if(!isplayer(self)) - { - setexpfogext(param_00.startdist,param_00.halfwaydist,param_00.red,param_00.green,param_00.blue,param_00.hdrcolorintensity,param_00.maxopacity,param_01,param_00.skyfogintensity,param_00.skyfogminangle,param_00.skyfogmaxangle,param_00.heightfogenabled,param_00.heightfogbaseheight,param_00.heightfoghalfplanedistance); - return; - } - - self playersetexpfogext(param_00.startdist,param_00.halfwaydist,param_00.red,param_00.green,param_00.blue,param_00.hdrcolorintensity,param_00.maxopacity,param_01,param_00.skyfogintensity,param_00.skyfogminangle,param_00.skyfogmaxangle,param_00.heightfogenabled,param_00.heightfogbaseheight,param_00.heightfoghalfplanedistance); -} - -//Function Number: 209 -set_fog_to_ent_values(param_00,param_01) -{ - if(!isdefined(param_01)) - { - param_01 = 0; - } - - if(!isdefined(param_00.skyfogintensity)) - { - param_00.skyfogintensity = 0; - param_00.skyfogminangle = 0; - param_00.skyfogmaxangle = 0; - } - - if(!isdefined(param_00.heightfogenabled)) - { - param_00.heightfogenabled = 0; - param_00.heightfogbaseheight = 0; - param_00.heightfoghalfplanedistance = 1000; - } - - convertlegacyfog(param_00); - convertfogtech(param_00); - if(isdefined(param_00.atmosfogenabled)) - { - if(level.nextgen && param_00.atmosfogenabled) - { - if(isplayer(self)) - { - self playersetatmosfog(param_01,param_00.atmosfogsunfogcolor,param_00.atmosfoghazecolor,param_00.atmosfoghazestrength,param_00.atmosfoghazespread,param_00.atmosfogextinctionstrength,param_00.atmosfoginscatterstrength,param_00.atmosfoghalfplanedistance,param_00.atmosfogstartdistance,param_00.atmosfogdistancescale,int(param_00.atmosfogskydistance),param_00.atmosfogskyangularfalloffenabled,param_00.atmosfogskyfalloffstartangle,param_00.atmosfogskyfalloffanglerange,param_00.atmosfogsundirection,param_00.atmosfogheightfogenabled,param_00.atmosfogheightfogbaseheight,param_00.atmosfogheightfoghalfplanedistance); - return; - } - - setatmosfog(param_01,param_00.atmosfogsunfogcolor,param_00.atmosfoghazecolor,param_00.atmosfoghazestrength,param_00.atmosfoghazespread,param_00.atmosfogextinctionstrength,param_00.atmosfoginscatterstrength,param_00.atmosfoghalfplanedistance,param_00.atmosfogstartdistance,param_00.atmosfogdistancescale,int(param_00.atmosfogskydistance),param_00.atmosfogskyangularfalloffenabled,param_00.atmosfogskyfalloffstartangle,param_00.atmosfogskyfalloffanglerange,param_00.atmosfogsundirection,param_00.atmosfogheightfogenabled,param_00.atmosfogheightfogbaseheight,param_00.atmosfogheightfoghalfplanedistance); - return; - } - - set_fog_to_ent_values_dfog(param_00,param_01); - return; - } - - set_fog_to_ent_values_dfog(param_00,param_01); -} - -//Function Number: 210 -add_fx(param_00,param_01) -{ - if(!isdefined(level._effect)) - { - level._effect = []; - } - - level._effect[param_00] = loadfx(param_01); -} - -//Function Number: 211 -array_sort_by_handler(param_00,param_01) -{ - for(var_02 = 0;var_02 < param_00.size - 1;var_02++) - { - for(var_03 = var_02 + 1;var_03 < param_00.size;var_03++) - { - if(param_00[var_03] [[ param_01 ]]() < param_00[var_02] [[ param_01 ]]()) - { - var_04 = param_00[var_03]; - param_00[var_03] = param_00[var_02]; - param_00[var_02] = var_04; - } - } - } - - return param_00; -} - -//Function Number: 212 -array_sort_with_func(param_00,param_01,param_02) -{ - if(!isdefined(param_02)) - { - param_02 = -1; - } - - for(var_03 = 1;var_03 < param_00.size;var_03++) - { - var_04 = param_00[var_03]; - for(var_05 = var_03 - 1;var_05 >= 0 && ![[ param_01 ]](param_00[var_05],var_04);var_05--) - { - param_00[var_05 + 1] = param_00[var_05]; - } - - param_00[var_05 + 1] = var_04; - if(param_02 > 0 && var_03 % param_02 == 0) - { - wait(0.05); - } - } - - return param_00; -} - -//Function Number: 213 -hide_notsolid() -{ - if(!isdefined(self.oldcontents)) - { - self.oldcontents = self setcontents(0); - } - - self hide(); -} - -//Function Number: 214 -show_solid() -{ - if(!isai(self)) - { - self solid(); - } - - if(isdefined(self.oldcontents)) - { - self setcontents(self.oldcontents); - } - - self show(); -} - -//Function Number: 215 -setlightingstate(param_00) -{ - var_01 = getentarray(); - setomnvar("lighting_state",param_00); - if(!getdvarint("r_reflectionProbeGenerate")) - { - foreach(var_03 in var_01) - { - if(isdefined(var_03.lightingstate) && var_03.classname == "script_brushmodel" || var_03.classname == "script_model") - { - if(var_03.lightingstate == 0) - { - continue; - } - - if(var_03.lightingstate == param_00) - { - var_03 show_solid(); - continue; - } - - var_03 hide_notsolid(); - } - } - } -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/_aerial_pathnodes.gsc b/AW/PC/ZM/maps/mp/_aerial_pathnodes.gsc deleted file mode 100644 index 83bb5ce..0000000 --- a/AW/PC/ZM/maps/mp/_aerial_pathnodes.gsc +++ /dev/null @@ -1,480 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_aerial_pathnodes.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 13 - * Decompile Time: 226 ms - * Timestamp: 10/27/2023 2:07:54 AM -*******************************************************************/ - -//Function Number: 1 -waittill_aerial_pathnodes_calculated() -{ - while(!isdefined(level.calculated_aerial_nodes_done) || !level.calculated_aerial_nodes_done) - { - wait(0.5); - } -} - -//Function Number: 2 -get_aerial_offset() -{ - if(isdefined(level.aerial_pathnode_offset)) - { - return (0,0,level.aerial_pathnode_offset); - } - - return (0,0,500); -} - -//Function Number: 3 -get_group_connect_dist() -{ - if(isdefined(level.aerial_pathnode_group_connect_dist)) - { - if(level.nextgen) - { - } - else - { - } - - return level.aerial_pathnode_group_connect_dist; - } - - return 250; -} - -//Function Number: 4 -node_is_valid__to_convert_to_aerial_pathnode(param_00) -{ - return (param_00.type == "Path" && nodeexposedtosky(param_00,1) && !param_00 nodeisdisconnected()) || isdefined(param_00.forceenableaerialnode) && param_00.forceenableaerialnode; -} - -//Function Number: 5 -calculate_aerial_pathnodes() -{ - if(isdefined(level.calculated_aerial_nodes_in_progress) || isdefined(level.calculated_aerial_nodes_done)) - { - return; - } - - var_00 = getdvar("mapname"); - if(var_00 == getdvar("virtualLobbyMap") || var_00 == "mp_character_room" || getdvarint("virtualLobbyActive") == 1) - { - return; - } - - level.calculated_aerial_nodes_in_progress = 1; - level.calculated_aerial_nodes_done = 0; - wait(0.5); - level.aerial_pathnodes = []; - var_01 = getallnodes(); - foreach(var_03 in var_01) - { - if(node_is_valid__to_convert_to_aerial_pathnode(var_03)) - { - level.aerial_pathnodes[level.aerial_pathnodes.size] = var_03; - if(!isdefined(var_03.aerial_neighbors)) - { - var_03.aerial_neighbors = []; - } - - var_04 = getlinkednodes(var_03); - foreach(var_06 in var_04) - { - if(node_is_valid__to_convert_to_aerial_pathnode(var_06) && !common_scripts\utility::array_contains(var_03.aerial_neighbors,var_06)) - { - var_03.aerial_neighbors[var_03.aerial_neighbors.size] = var_06; - if(!isdefined(var_06.aerial_neighbors)) - { - var_06.aerial_neighbors = []; - } - - if(!common_scripts\utility::array_contains(var_06.aerial_neighbors,var_03)) - { - var_06.aerial_neighbors[var_06.aerial_neighbors.size] = var_03; - } - } - } - } - } - - var_01 = undefined; - wait(0.05); - var_09 = divide_nodes_into_groups(level.aerial_pathnodes,1); - var_0A = 3; - if(!0) - { - var_0B = get_group_connect_dist(); - var_0C = []; - var_0D = 0; - for(var_0E = 0;var_0E < var_09.size;var_0E++) - { - if(!isdefined(var_0C[var_0E])) - { - var_0C[var_0E] = []; - } - - foreach(var_03 in var_09[var_0E]) - { - for(var_10 = var_0E + 1;var_10 < var_09.size;var_10++) - { - if(!isdefined(var_0C[var_0E][var_10])) - { - var_0C[var_0E][var_10] = []; - } - - var_11 = []; - foreach(var_13 in var_09[var_10]) - { - var_14 = distance(var_03.origin,var_13.origin); - var_15 = var_14 < var_0B; - var_16 = 0; - if(!var_15) - { - if(isdefined(level.aerial_pathnodes_force_connect)) - { - foreach(var_18 in level.aerial_pathnodes_force_connect) - { - var_19 = squared(var_18.radius); - if(distance2dsquared(var_18.origin,var_03.origin) < var_19 && distance2dsquared(var_18.origin,var_13.origin) < var_19) - { - var_16 = 1; - break; - } - } - } - } - - var_1B = var_11.size < var_0A || var_14 < var_11[var_0A - 1][2]; - if(var_15 && var_1B) - { - if(var_11.size == var_0A) - { - var_11[var_0A - 1] = undefined; - } - - var_11[var_11.size] = [var_03,var_13,var_14]; - var_11 = common_scripts\utility::array_sort_with_func(var_11,::is_pair_a_closer_than_pair_b); - continue; - } - - if(var_16) - { - var_0C[var_0E][var_10][var_0C[var_0E][var_10].size] = [var_03,var_13,-1]; - } - } - - foreach(var_1E in var_11) - { - var_0C[var_0E][var_10][var_0C[var_0E][var_10].size] = var_1E; - } - } - - var_0D++; - if(var_0D >= 50) - { - var_0D = 0; - wait(0.05); - } - } - } - - wait(0.05); - var_21 = 0; - for(var_0E = 0;var_0E < var_09.size;var_0E++) - { - for(var_10 = var_0E + 1;var_10 < var_09.size;var_10++) - { - var_21 = var_21 + var_0C[var_0E][var_10].size; - var_0C[var_0E][var_10] = common_scripts\utility::array_sort_with_func(var_0C[var_0E][var_10],::is_pair_a_closer_than_pair_b,150); - if(var_21 > 500) - { - wait(0.05); - var_21 = 0; - } - } - } - - wait(0.05); - var_22 = get_aerial_offset(); - var_23 = 10; - var_24 = 0; - if(0) - { - level.added_aerial_links = []; - } - - for(var_0E = 0;var_0E < var_09.size;var_0E++) - { - for(var_10 = var_0E + 1;var_10 < var_09.size;var_10++) - { - foreach(var_26 in var_0C[var_0E][var_10]) - { - var_27 = var_26[0]; - var_28 = var_26[1]; - if(!node0_has_neighbor_connected_to_node1(var_27,var_28)) - { - var_29 = num_node_connections_to_group(var_27,var_28.aerial_group); - var_2A = num_node_connections_to_group(var_28,var_27.aerial_group); - if(var_29 < var_0A && var_2A < var_0A) - { - var_2B = playerphysicstrace(var_27.origin + var_22,var_28.origin + var_22); - var_24++; - var_2C = distancesquared(var_2B,var_28.origin + var_22) < 1; - if(!var_2C && var_26[2] == -1) - { - var_2C = bullettracepassed(var_27.origin + var_22,var_28.origin + var_22,0,undefined); - } - - if(var_2C) - { - var_27.aerial_neighbors[var_27.aerial_neighbors.size] = var_28; - var_28.aerial_neighbors[var_28.aerial_neighbors.size] = var_27; - if(0) - { - level.added_aerial_links[level.added_aerial_links.size] = [var_27,var_28]; - } - } - - if(var_24 % var_23 == 0) - { - wait(0.05); - } - } - } - } - } - } - - var_0C = undefined; - var_09 = divide_nodes_into_groups(level.aerial_pathnodes); - if(0) - { - var_09 = common_scripts\utility::array_sort_with_func(var_09,::is_group_a_larger_than_group_b); - for(var_0E = 0;var_0E < var_09.size;var_0E++) - { - foreach(var_03 in var_09[var_0E]) - { - var_03.aerial_group = var_0E; - } - } - } - else - { - foreach(var_03 in level.aerial_pathnodes) - { - var_03.aerial_group = undefined; - } - } - - var_32 = 0; - for(var_0E = 0;var_0E < var_09.size;var_0E++) - { - var_32 = max(var_09[var_0E].size,var_32); - } - - for(var_0E = 0;var_0E < var_09.size;var_0E++) - { - if(var_09[var_0E].size < 0.1 * var_32) - { - foreach(var_03 in var_09[var_0E]) - { - level.aerial_pathnodes = common_scripts\utility::array_remove(level.aerial_pathnodes,var_03); - foreach(var_06 in var_03.aerial_neighbors) - { - for(var_10 = 0;var_10 < var_06.aerial_neighbors.size;var_10++) - { - var_35 = var_06.aerial_neighbors[var_10]; - if(var_35 == var_03) - { - var_06.aerial_neighbors[var_10] = var_06.aerial_neighbors[var_06.aerial_neighbors.size - 1]; - var_06.aerial_neighbors[var_06.aerial_neighbors.size - 1] = undefined; - var_10--; - } - } - } - - var_03.aerial_neighbors = undefined; - } - } - } - } - - level.calculated_aerial_nodes_done = 1; - level.calculated_aerial_nodes_in_progress = 0; -} - -//Function Number: 6 -is_group_a_larger_than_group_b(param_00,param_01) -{ - return param_00.size > param_01.size; -} - -//Function Number: 7 -is_pair_a_closer_than_pair_b(param_00,param_01) -{ - return param_00[2] < param_01[2]; -} - -//Function Number: 8 -num_node_connections_to_group(param_00,param_01) -{ - var_02 = 0; - foreach(var_04 in param_00.aerial_neighbors) - { - if(var_04.aerial_group == param_01) - { - var_02++; - } - } - - return var_02; -} - -//Function Number: 9 -node0_has_neighbor_connected_to_node1(param_00,param_01) -{ - foreach(var_03 in param_00.aerial_neighbors) - { - foreach(var_05 in var_03.aerial_neighbors) - { - if(var_05 == param_01) - { - return 1; - } - } - } - - return 0; -} - -//Function Number: 10 -divide_nodes_into_groups(param_00,param_01) -{ - if(!isdefined(param_01)) - { - param_01 = 0; - } - - foreach(var_03 in param_00) - { - var_03.aerial_group = undefined; - } - - var_05 = param_00; - var_06 = []; - while(var_05.size > 0) - { - var_07 = var_06.size; - var_06[var_07] = []; - var_05[0].aerial_group = -1; - var_08 = [var_05[0]]; - var_09 = 0; - while(var_08.size > 0) - { - var_0A = var_08[0]; - var_06[var_07][var_06[var_07].size] = var_0A; - var_0A.aerial_group = var_07; - var_08[0] = var_08[var_08.size - 1]; - var_08[var_08.size - 1] = undefined; - foreach(var_0C in var_0A.aerial_neighbors) - { - if(!isdefined(var_0C.aerial_group)) - { - var_0C.aerial_group = -1; - var_08[var_08.size] = var_0C; - } - } - - for(var_0E = 0;var_0E < var_05.size;var_0E++) - { - if(var_05[var_0E] == var_0A) - { - var_05[var_0E] = var_05[var_05.size - 1]; - var_05[var_05.size - 1] = undefined; - break; - } - } - - var_09++; - if(var_09 > 100) - { - wait(0.05); - var_09 = 0; - } - } - - if(var_06[var_07].size <= param_01) - { - var_06[var_07] = undefined; - continue; - } - - wait(0.05); - } - - wait(0.05); - return var_06; -} - -//Function Number: 11 -node_is_aerial(param_00) -{ - return isdefined(param_00.aerial_neighbors); -} - -//Function Number: 12 -get_ent_closest_aerial_node(param_00,param_01) -{ - if(!isdefined(param_00)) - { - param_00 = 1500; - } - - if(!isdefined(param_01)) - { - param_01 = 0; - } - - var_02 = getnodesinradiussorted(self.origin,param_00,param_01,get_aerial_offset()[2] * 2,"path"); - for(var_03 = 0;var_03 < var_02.size;var_03++) - { - if(node_is_aerial(var_02[var_03])) - { - return var_02[var_03]; - } - } -} - -//Function Number: 13 -find_path_between_aerial_nodes(param_00,param_01) -{ - param_00.path_to_this_node = []; - var_02 = [param_00]; - var_03 = [param_00]; - while(!isdefined(param_01.path_to_this_node)) - { - var_04 = var_02[0]; - var_02 = common_scripts\utility::array_remove(var_02,var_04); - foreach(var_06 in var_04.aerial_neighbors) - { - if(!isdefined(var_06.path_to_this_node)) - { - var_06.path_to_this_node = common_scripts\utility::array_add(var_04.path_to_this_node,var_04); - var_02[var_02.size] = var_06; - var_03[var_03.size] = var_06; - } - } - } - - var_08 = common_scripts\utility::array_add(param_01.path_to_this_node,param_01); - foreach(var_0A in var_03) - { - var_0A.path_to_this_node = undefined; - } - - return var_08; -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/_animatedmodels.gsc b/AW/PC/ZM/maps/mp/_animatedmodels.gsc deleted file mode 100644 index e0192f6..0000000 --- a/AW/PC/ZM/maps/mp/_animatedmodels.gsc +++ /dev/null @@ -1,52 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_animatedmodels.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 2 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 2:07:55 AM -*******************************************************************/ - -//Function Number: 1 -main() -{ - if(!isdefined(level.anim_prop_models)) - { - level.anim_prop_models = []; - } - - var_00 = getarraykeys(level.anim_prop_models); - foreach(var_02 in var_00) - { - var_03 = getarraykeys(level.anim_prop_models[var_02]); - foreach(var_05 in var_03) - { - precachempanim(level.anim_prop_models[var_02][var_05]); - } - } - - waittillframeend; - level.init_animatedmodels = []; - var_08 = getentarray("animated_model","targetname"); - common_scripts\utility::array_thread(var_08,::animatemodel); - level.init_animatedmodels = undefined; -} - -//Function Number: 2 -animatemodel() -{ - if(isdefined(self.animation)) - { - var_00 = self.animation; - } - else - { - var_01 = getarraykeys(level.anim_prop_models[self.model]); - var_02 = var_01[randomint(var_01.size)]; - var_00 = level.anim_prop_models[self.model][var_02]; - } - - self scriptmodelplayanim(var_00); - self willneverchange(); -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/_art.gsc b/AW/PC/ZM/maps/mp/_art.gsc deleted file mode 100644 index 51e9624..0000000 --- a/AW/PC/ZM/maps/mp/_art.gsc +++ /dev/null @@ -1,508 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_art.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 36 - * Decompile Time: 582 ms - * Timestamp: 10/27/2023 2:07:58 AM -*******************************************************************/ - -//Function Number: 1 -main() -{ - if(!isdefined(level.dofdefault)) - { - level.dofdefault["nearStart"] = 0; - level.dofdefault["nearEnd"] = 0; - level.dofdefault["farStart"] = 0; - level.dofdefault["farEnd"] = 0; - level.dofdefault["nearBlur"] = 6; - level.dofdefault["farBlur"] = 1.8; - } -} - -//Function Number: 2 -setup_fog_tweak() -{ -} - -//Function Number: 3 -inittweaks() -{ -} - -//Function Number: 4 -tweaklightset() -{ -} - -//Function Number: 5 -tweakart() -{ -} - -//Function Number: 6 -fovslidercheck() -{ -} - -//Function Number: 7 -construct_vision_ents() -{ - if(!isdefined(level.vision_set_fog)) - { - level.vision_set_fog = []; - } - - var_00 = getentarray("trigger_multiple_visionset","classname"); - foreach(var_02 in var_00) - { - if(isdefined(var_02.script_visionset)) - { - construct_vision_set(var_02.script_visionset); - } - - if(isdefined(var_02.script_visionset_start)) - { - construct_vision_set(var_02.script_visionset_start); - } - - if(isdefined(var_02.script_visionset_end)) - { - construct_vision_set(var_02.script_visionset_end); - } - } -} - -//Function Number: 8 -construct_vision_set(param_00) -{ - if(isdefined(level.vision_set_fog[param_00])) - { - return; - } - - create_default_vision_set_fog(param_00); - create_vision_set_vision(param_00); - iprintlnbold("new vision: " + param_00); -} - -//Function Number: 9 -create_vision_set_vision(param_00) -{ - if(!isdefined(level.vision_set_vision)) - { - level.vision_set_vision = []; - } - - var_01 = spawnstruct(); - var_01.name = param_00; - level.vision_set_vision[param_00] = var_01; - return var_01; -} - -//Function Number: 10 -add_vision_sets_from_triggers() -{ -} - -//Function Number: 11 -add_vision_set(param_00) -{ -} - -//Function Number: 12 -create_default_vision_set_fog(param_00) -{ - var_01 = create_vision_set_fog(param_00); - var_01.startdist = 3764.17; - var_01.halfwaydist = 19391; - var_01.red = 0.661137; - var_01.green = 0.554261; - var_01.blue = 0.454014; - var_01.maxopacity = 0.7; - var_01.transitiontime = 0; - var_01.skyfogintensity = 0; - var_01.skyfogminangle = 0; - var_01.skyfogmaxangle = 0; - var_01.heightfogenabled = 0; - var_01.heightfogbaseheight = 0; - var_01.heightfoghalfplanedistance = 1000; -} - -//Function Number: 13 -create_vision_set_fog(param_00) -{ - if(!isdefined(level.vision_set_fog)) - { - level.vision_set_fog = []; - } - - var_01 = spawnstruct(); - var_01.name = param_00; - var_01.skyfogintensity = 0; - var_01.skyfogminangle = 0; - var_01.skyfogmaxangle = 0; - var_01.heightfogenabled = 0; - var_01.heightfogbaseheight = 0; - var_01.heightfoghalfplanedistance = 1000; - level.vision_set_fog[tolower(param_00)] = var_01; - return var_01; -} - -//Function Number: 14 -set_fog(param_00,param_01) -{ - level.vision_set_transition_ent.vision_set = param_00; - level.vision_set_transition_ent.time = param_01; - var_02 = get_fog(param_00); - if(getdvarint("scr_art_tweak") != 0) - { - translateenttosliders(var_02); - param_01 = 0; - } - - common_scripts\utility::set_fog_to_ent_values(var_02,param_01); -} - -//Function Number: 15 -translateenttosliders(param_00) -{ -} - -//Function Number: 16 -hud_init() -{ - var_00 = 7; - var_01 = []; - var_02 = 15; - var_03 = int(var_00 / 2); - var_04 = 240 + var_03 * var_02; - var_05 = 0.5 / var_03; - var_06 = var_05; - for(var_07 = 0;var_07 < var_00;var_07++) - { - var_01[var_07] = _newhudelem(); - var_01[var_07].location = 0; - var_01[var_07].alignx = "left"; - var_01[var_07].aligny = "middle"; - var_01[var_07].foreground = 1; - var_01[var_07].fontscale = 2; - var_01[var_07].sort = 20; - if(var_07 == var_03) - { - var_01[var_07].alpha = 1; - } - else - { - var_01[var_07].alpha = var_06; - } - - var_01[var_07].x = 20; - var_01[var_07].y = var_04; - var_01[var_07] _settext("."); - if(var_07 == var_03) - { - var_05 = var_05 * -1; - } - - var_06 = var_06 + var_05; - var_04 = var_04 - var_02; - } - - level.spam_group_hudelems = var_01; -} - -//Function Number: 17 -_newhudelem() -{ - if(!isdefined(level.scripted_elems)) - { - level.scripted_elems = []; - } - - var_00 = newhudelem(); - level.scripted_elems[level.scripted_elems.size] = var_00; - return var_00; -} - -//Function Number: 18 -_settext(param_00) -{ - self.realtext = param_00; - self settext("_"); - thread _clearalltextafterhudelem(); - var_01 = 0; - foreach(var_03 in level.scripted_elems) - { - if(isdefined(var_03.realtext)) - { - var_01 = var_01 + var_03.realtext.size; - var_03 settext(var_03.realtext); - } - } -} - -//Function Number: 19 -_clearalltextafterhudelem() -{ - if(getdvar("netconststrings_enabled") != "0") - { - return; - } - - if(level._clearalltextafterhudelem) - { - return; - } - - level._clearalltextafterhudelem = 1; - self clearalltextafterhudelem(); - wait(0.05); - level._clearalltextafterhudelem = 0; -} - -//Function Number: 20 -setgroup_up() -{ - reset_cmds(); - var_00 = undefined; - var_01 = getarraykeys(level.vision_set_fog); - for(var_02 = 0;var_02 < var_01.size;var_02++) - { - if(var_01[var_02] == level.vision_set_transition_ent.vision_set) - { - var_00 = var_02 + 1; - break; - } - } - - if(var_00 == var_01.size) - { - return; - } - - setcurrentgroup(var_01[var_00]); -} - -//Function Number: 21 -setgroup_down() -{ - reset_cmds(); - var_00 = undefined; - var_01 = getarraykeys(level.vision_set_fog); - for(var_02 = 0;var_02 < var_01.size;var_02++) - { - if(var_01[var_02] == level.vision_set_transition_ent.vision_set) - { - var_00 = var_02 - 1; - break; - } - } - - if(var_00 < 0) - { - return; - } - - setcurrentgroup(var_01[var_00]); -} - -//Function Number: 22 -reset_cmds() -{ -} - -//Function Number: 23 -vision_set_fog_changes_mp(param_00,param_01) -{ - foreach(var_03 in level.players) - { - var_03 visionsetnakedforplayer(param_00,param_01); - var_03 openpopupmenu("dev_vision_exec"); - wait(0.05); - var_03 closepopupmenu("dev_vision_exec"); - } - - set_fog(param_00,param_01); -} - -//Function Number: 24 -setcurrentgroup(param_00) -{ - var_01 = getarraykeys(level.vision_set_fog); - if(level.currentgen) - { - var_02 = param_00 + "_cg"; - var_03 = common_scripts\utility::array_find(var_01,var_02); - if(isdefined(var_03)) - { - param_00 = var_02; - } - } - - level.spam_model_current_group = param_00; - var_04 = 0; - var_05 = int(level.spam_group_hudelems.size / 2); - for(var_06 = 0;var_06 < var_01.size;var_06++) - { - if(var_01[var_06] == param_00) - { - var_04 = var_06; - break; - } - } - - level.spam_group_hudelems[var_05] _settext(var_01[var_04]); - for(var_06 = 1;var_06 < level.spam_group_hudelems.size - var_05;var_06++) - { - if(var_04 - var_06 < 0) - { - level.spam_group_hudelems[var_05 + var_06] _settext("."); - continue; - } - - level.spam_group_hudelems[var_05 + var_06] _settext(var_01[var_04 - var_06]); - } - - for(var_06 = 1;var_06 < level.spam_group_hudelems.size - var_05;var_06++) - { - if(var_04 + var_06 > var_01.size - 1) - { - level.spam_group_hudelems[var_05 - var_06] _settext("."); - continue; - } - - level.spam_group_hudelems[var_05 - var_06] _settext(var_01[var_04 + var_06]); - } - - vision_set_fog_changes_mp(var_01[var_04],0); -} - -//Function Number: 25 -get_fog(param_00) -{ - if(!isdefined(level.vision_set_fog)) - { - level.vision_set_fog = []; - } - - var_01 = level.vision_set_fog[param_00]; - return var_01; -} - -//Function Number: 26 -init_fog_transition() -{ - if(!isdefined(level.fog_transition_ent)) - { - level.fog_transition_ent = spawnstruct(); - level.fog_transition_ent.fogset = ""; - level.fog_transition_ent.time = 0; - } -} - -//Function Number: 27 -playerinit() -{ - var_00 = level.vision_set_transition_ent.vision_set; - level.vision_set_transition_ent.vision_set = ""; - level.vision_set_transition_ent.time = ""; - init_fog_transition(); - level.fog_transition_ent.fogset = ""; - level.fog_transition_ent.time = ""; - setcurrentgroup(var_00); -} - -//Function Number: 28 -button_down(param_00,param_01) -{ - var_02 = level.player buttonpressed(param_00); - if(!var_02) - { - var_02 = level.player buttonpressed(param_01); - } - - if(!isdefined(level.buttons[param_00])) - { - level.buttons[param_00] = 0; - } - - if(gettime() < level.buttons[param_00]) - { - return 0; - } - - level.buttons[param_00] = gettime() + 400; - return var_02; -} - -//Function Number: 29 -dumpsettings() -{ -} - -//Function Number: 30 -artstartvisionfileexport() -{ - common_scripts\utility::fileprint_launcher_start_file(); -} - -//Function Number: 31 -artendvisionfileexport() -{ - return common_scripts\utility::fileprint_launcher_end_file("\\share\\raw\\vision\\" + level.script + ".vision",1); -} - -//Function Number: 32 -artstartfogfileexport() -{ - common_scripts\utility::fileprint_launcher_start_file(); -} - -//Function Number: 33 -artendfogfileexport() -{ - return common_scripts\utility::fileprint_launcher_end_file("\\share\\raw\\maps\\createart\\" + level.script + "_art.gsc",1); -} - -//Function Number: 34 -artfxprintlnfog() -{ - common_scripts\utility::fileprint_launcher(""); - common_scripts\utility::fileprint_launcher("\t//* Fog section * "); - common_scripts\utility::fileprint_launcher(""); - common_scripts\utility::fileprint_launcher("\tsetDevDvar( \"scr_fog_disable\", \" + getdvarint("scr_fog_disable") + "\" + " );"); - common_scripts\utility::fileprint_launcher(""); - common_scripts\utility::fileprint_launcher("\t/$"); - if(isusinghdr()) - { - common_scripts\utility::fileprint_launcher("\tlevel._art_fog_setup = maps\\createart\\" + level.script + "_fog_hdr::main;"); - } - else - { - common_scripts\utility::fileprint_launcher("\tlevel._art_fog_setup = maps\\createart\\" + level.script + "_fog::main;"); - } - - common_scripts\utility::fileprint_launcher("\t$/"); -} - -//Function Number: 35 -art_print_fog() -{ -} - -//Function Number: 36 -create_light_set(param_00) -{ - if(!isdefined(level.light_set)) - { - level.light_set = []; - } - - var_01 = spawnstruct(); - var_01.name = param_00; - level.light_set[param_00] = var_01; - return var_01; -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/_audio.gsc b/AW/PC/ZM/maps/mp/_audio.gsc deleted file mode 100644 index f7f8abf..0000000 --- a/AW/PC/ZM/maps/mp/_audio.gsc +++ /dev/null @@ -1,573 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_audio.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 34 - * Decompile Time: 572 ms - * Timestamp: 10/27/2023 2:08:00 AM -*******************************************************************/ - -//Function Number: 1 -init_audio() -{ - if(!isdefined(level.audio)) - { - level.audio = spawnstruct(); - } - - init_reverb(); - init_whizby(); - level.onplayerconnectaudioinit = ::onplayerconnectaudioinit; -} - -//Function Number: 2 -onplayerconnectaudioinit() -{ - apply_reverb("default"); -} - -//Function Number: 3 -init_reverb() -{ - add_reverb("default","generic",0.15,0.9,2); -} - -//Function Number: 4 -add_reverb(param_00,param_01,param_02,param_03,param_04) -{ - var_05 = []; - is_roomtype_valid(param_01); - var_05["roomtype"] = param_01; - var_05["wetlevel"] = param_02; - var_05["drylevel"] = param_03; - var_05["fadetime"] = param_04; - level.audio.reverb_settings[param_00] = var_05; -} - -//Function Number: 5 -is_roomtype_valid(param_00) -{ -} - -//Function Number: 6 -apply_reverb(param_00) -{ - if(!isdefined(level.audio.reverb_settings[param_00])) - { - var_01 = level.audio.reverb_settings["default"]; - } - else - { - var_01 = level.audio.reverb_settings[var_01]; - } - - self setreverb("snd_enveffectsprio_level",var_01["roomtype"],var_01["drylevel"],var_01["wetlevel"],var_01["fadetime"]); -} - -//Function Number: 7 -init_whizby() -{ - level.audio.whizby_settings = []; - set_whizby_radius(15,30,50); - set_whizby_spread(150,250,350); -} - -//Function Number: 8 -set_whizby_radius(param_00,param_01,param_02) -{ - level.audio.whizby_settings["radius"] = [param_00,param_01,param_02]; -} - -//Function Number: 9 -set_whizby_spread(param_00,param_01,param_02) -{ - level.audio.whizby_settings["spread"] = [param_00,param_01,param_02]; -} - -//Function Number: 10 -apply_whizby() -{ - var_00 = level.audio.whizby_settings; - var_01 = var_00["spread"]; - var_02 = var_00["radius"]; - self setwhizbyspreads(var_01[0],var_01[1],var_01[2]); - self setwhizbyradii(var_02[0],var_02[1],var_02[2]); -} - -//Function Number: 11 -snd_play_team_splash(param_00,param_01) -{ - if(!isdefined(param_00)) - { - param_00 = "null"; - } - - if(!isdefined(param_01)) - { - param_01 = "null"; - } - - if(level.teambased) - { - foreach(var_03 in level.players) - { - if(isdefined(var_03) && issentient(var_03) && issentient(self) && var_03.team != self.team) - { - if(soundexists(param_01)) - { - var_03 playlocalsound(param_01); - } - - continue; - } - - if(isdefined(var_03) && issentient(var_03) && issentient(self) && var_03.team == self.team) - { - if(soundexists(param_00)) - { - var_03 playlocalsound(param_00); - } - } - } - } -} - -//Function Number: 12 -snd_play_on_notetrack_timer(param_00,param_01,param_02,param_03) -{ -} - -//Function Number: 13 -snd_play_on_notetrack(param_00,param_01,param_02) -{ - self endon("stop_sequencing_notetracks"); - self endon("death"); - sndx_play_on_notetrack_internal(param_00,param_01,param_02); -} - -//Function Number: 14 -sndx_play_on_notetrack_internal(param_00,param_01,param_02) -{ - for(;;) - { - self waittill(param_01,var_03); - if(isdefined(var_03) && var_03 != "end") - { - if(isarray(param_00)) - { - var_04 = param_00[var_03]; - if(isdefined(var_04)) - { - self playsound(var_04); - } - - continue; - } - - if(param_01 == var_03) - { - self playsound(param_00); - } - } - } -} - -//Function Number: 15 -scriptmodelplayanimwithnotify(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - if(isdefined(param_04)) - { - level endon(param_04); - } - - param_00 scriptmodelplayanimdeltamotion(param_01,param_02); - thread scriptmodelplayanimwithnotify_notetracks(param_00,param_02,param_03,param_04,param_05,param_06); -} - -//Function Number: 16 -scriptmodelplayanimwithnotify_notetracks(param_00,param_01,param_02,param_03,param_04,param_05) -{ - if(isdefined(param_03)) - { - level endon(param_03); - } - - if(isdefined(param_04)) - { - param_00 endon(param_04); - } - - if(isdefined(param_05)) - { - param_00 endon(param_05); - } - - param_00 endon("death"); - for(;;) - { - param_00 waittill(param_01,var_06); - if(isdefined(var_06) && var_06 == param_01) - { - param_00 playsound(param_02); - } - } -} - -//Function Number: 17 -scriptmodelplayanimwithnotify_uniquename(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - if(isdefined(param_05)) - { - level endon(param_05); - } - - param_00 scriptmodelplayanimdeltamotion(param_01,param_02); - thread scriptmodelplayanimwithnotify_notetracks_uniquename(param_00,param_02,param_03,param_04,param_05,param_06,param_07); -} - -//Function Number: 18 -scriptmodelplayanimwithnotify_notetracks_uniquename(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - if(isdefined(param_04)) - { - level endon(param_04); - } - - if(isdefined(param_05)) - { - param_00 endon(param_05); - } - - if(isdefined(param_06)) - { - param_00 endon(param_06); - } - - param_00 endon("death"); - if(isarray(param_02)) - { - var_07 = param_02.size; - for(;;) - { - param_00 waittill(param_01,var_08); - if(isdefined(var_08)) - { - for(var_09 = 0;var_09 < var_07;var_09++) - { - if(var_08 == param_02[var_09]) - { - param_00 playsound(param_03[var_09]); - } - } - } - } - - return; - } - - for(;;) - { - param_00 waittill(param_01,var_08); - if(isdefined(var_08) && var_08 == param_02) - { - param_00 playsound(param_03); - } - } -} - -//Function Number: 19 -snd_veh_play_loops(param_00,param_01,param_02) -{ - var_03 = self; - var_04 = [param_00,param_01,param_02]; - var_05[0] = spawn("script_origin",var_03.origin); - var_05[0] vehicle_jetbikesethoverforcescale(var_03); - var_05[0] playloopsound(param_00); - var_05[1] = spawn("script_origin",var_03.origin); - var_05[1] vehicle_jetbikesethoverforcescale(var_03); - var_05[1] playloopsound(param_01); - var_05[2] = spawn("script_origin",var_03.origin); - var_05[2] vehicle_jetbikesethoverforcescale(var_03); - var_05[2] playloopsound(param_02); - var_03 waittill("death"); - foreach(var_07 in var_05) - { - if(isdefined(var_07)) - { - wait(0.06); - var_07 delete(); - } - } -} - -//Function Number: 20 -deprecated_aud_map(param_00,param_01) -{ - var_02 = 0; - var_03 = param_01.size; - var_04 = param_01[0]; - for(var_05 = 1;var_05 < param_01.size;var_05++) - { - var_06 = param_01[var_05]; - if(param_00 >= var_04[0] && param_00 <= var_06[0]) - { - var_07 = var_04[0]; - var_08 = var_06[0]; - var_09 = var_04[1]; - var_0A = var_06[1]; - var_0B = param_00 - var_07 / var_08 - var_07; - var_02 = var_09 + var_0B * var_0A - var_09; - break; - } - else - { - var_04 = var_06; - } - } - - return var_02; -} - -//Function Number: 21 -snd_play_loop_in_space(param_00,param_01,param_02,param_03) -{ - var_04 = 0.2; - if(isdefined(param_03)) - { - var_04 = param_03; - } - - var_05 = spawn("script_origin",param_01); - var_05 playloopsound(param_00); - thread sndx_play_loop_in_space_internal(var_05,param_02,var_04); - return var_05; -} - -//Function Number: 22 -sndx_play_loop_in_space_internal(param_00,param_01,param_02) -{ - level waittill(param_01); - if(isdefined(param_00)) - { - param_00 scalevolume(0,param_02); - wait(param_02 + 0.05); - param_00 delete(); - } -} - -//Function Number: 23 -snd_script_timer(param_00) -{ - level.timer_number = 0; - if(!isdefined(param_00)) - { - param_00 = 0.1; - } - - for(;;) - { - iprintln(level.timer_number); - wait(param_00); - level.timer_number = level.timer_number + param_00; - } -} - -//Function Number: 24 -snd_play_in_space(param_00,param_01,param_02,param_03) -{ - var_04 = 9; - var_05 = 0.75; - var_06 = spawn("script_origin",param_01); - var_06 playsound(param_00); - var_06 thread sndx_play_in_space_internal(var_04,var_05); - return var_06; -} - -//Function Number: 25 -sndx_play_in_space_internal(param_00,param_01) -{ - var_02 = 9; - var_03 = 0.05; - var_04 = self; - if(isdefined(param_00)) - { - var_02 = param_00; - } - - if(isdefined(param_01)) - { - var_03 = param_01; - } - - wait(var_02); - if(isdefined(var_04)) - { - var_04 scalevolume(0,var_03); - wait(var_03 + 0.05); - if(isdefined(var_04)) - { - var_04 delete(); - } - } -} - -//Function Number: 26 -snd_play_in_space_delayed(param_00,param_01,param_02,param_03,param_04) -{ - var_05 = 9; - var_06 = 0.75; - var_07 = spawn("script_origin",param_01); - var_07 thread sndx_play_in_space_delayed_internal(param_00,param_02,param_03,param_04); - return var_07; -} - -//Function Number: 27 -sndx_play_in_space_delayed_internal(param_00,param_01,param_02,param_03) -{ - wait(param_01); - var_04 = 9; - var_05 = 0.05; - var_06 = self; - var_06 playsound(param_00); - if(isdefined(param_02)) - { - var_04 = param_02; - } - - if(isdefined(param_03)) - { - var_05 = param_03; - } - - wait(var_04); - if(isdefined(var_06)) - { - var_06 scalevolume(0,var_05); - wait(var_05 + 0.05); - if(isdefined(var_06)) - { - var_06 delete(); - } - } -} - -//Function Number: 28 -snd_play_linked(param_00,param_01,param_02,param_03) -{ - var_04 = spawn("script_origin",param_01.origin); - var_04 linkto(param_01); - var_04 thread sndx_play_linked_internal(param_00,param_01,param_02,param_03); - return var_04; -} - -//Function Number: 29 -sndx_play_linked_internal(param_00,param_01,param_02,param_03) -{ - var_04 = 9; - var_05 = 0.05; - var_06 = self; - var_06 playsound(param_00); - if(isdefined(param_02)) - { - var_04 = param_02; - } - - if(isdefined(param_03)) - { - var_05 = param_03; - } - - wait(var_04); - if(isdefined(var_06)) - { - var_06 scalevolume(0,var_05); - wait(var_05 + 0.05); - var_06 delete(); - } -} - -//Function Number: 30 -snd_play_linked_loop(param_00,param_01,param_02) -{ - var_03 = spawn("script_origin",param_01.origin); - var_03 linkto(param_01); - var_03 thread sndx_play_linked_loop_internal(param_00,param_01,param_02); - return var_03; -} - -//Function Number: 31 -sndx_play_linked_loop_internal(param_00,param_01,param_02) -{ - var_03 = 0.05; - var_04 = self; - var_04 playloopsound(param_00); - if(isdefined(param_02)) - { - var_03 = param_02; - } - - param_01 waittill("death"); - if(isdefined(var_04)) - { - var_04 scalevolume(0,var_03); - wait(var_03 + 0.05); - var_04 delete(); - } -} - -//Function Number: 32 -aud_print_3d_on_ent(param_00,param_01,param_02,param_03,param_04) -{ - if(isdefined(self)) - { - var_05 = (1,1,1); - var_06 = (1,0,0); - var_07 = (0,1,0); - var_08 = (0,1,1); - var_09 = 5; - var_0A = var_05; - if(isdefined(param_01)) - { - var_09 = param_01; - } - - if(isdefined(param_02)) - { - var_0A = param_02; - switch(var_0A) - { - case "red": - break; - - case "white": - break; - - case "blue": - break; - - case "green": - break; - - default: - break; - } - } - } -} - -//Function Number: 33 -audx_print_3d_timer(param_00) -{ - self endon("death"); - wait(param_00); - if(isdefined(self)) - { - self notify("aud_stop_3D_print"); - } -} - -//Function Number: 34 -snd_vehicle_mp() -{ -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/_awards.gsc b/AW/PC/ZM/maps/mp/_awards.gsc deleted file mode 100644 index c5f5425..0000000 --- a/AW/PC/ZM/maps/mp/_awards.gsc +++ /dev/null @@ -1,448 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_awards.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 19 - * Decompile Time: 336 ms - * Timestamp: 10/27/2023 2:08:01 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - initawards(); - level thread onplayerconnect(); -} - -//Function Number: 2 -onplayerconnect() -{ - for(;;) - { - level waittill("connected",var_00); - if(!isdefined(var_00.pers["stats"])) - { - var_00.pers["stats"] = []; - } - - var_00.stats = var_00.pers["stats"]; - if(!var_00.stats.size) - { - foreach(var_03, var_02 in level.awards) - { - var_00 maps\mp\_utility::initplayerstat(var_03,level.awards[var_03].defaultvalue); - } - } - } -} - -//Function Number: 3 -initawards() -{ - initstataward("headshots",0,1,::highesetwinsupdateplayerdata); - initstataward("multikill",0,1,::highesetwinsupdateplayerdata); - initstataward("avengekills",0,1,::highesetwinsupdateplayerdata); - initstataward("comebacks",0,1,::highesetwinsupdateplayerdata); - initstataward("rescues",0,1,::highesetwinsupdateplayerdata); - initstataward("longshots",0,1,::highesetwinsupdateplayerdata); - initstataward("revengekills",0,1,::highesetwinsupdateplayerdata); - initstataward("bulletpenkills",0,1,::highesetwinsupdateplayerdata); - initstataward("throwback_kill",0,1,::highesetwinsupdateplayerdata); - initstataward("firstblood",0,1,::highesetwinsupdateplayerdata); - initstataward("posthumous",0,1,::highesetwinsupdateplayerdata); - initstataward("assistedsuicide",0,1,::highesetwinsupdateplayerdata); - initstataward("buzzkill",0,1,::highesetwinsupdateplayerdata); - initstataward("oneshotkill",0,1,::highesetwinsupdateplayerdata); - initstataward("air_to_air_kill",0,1,::highesetwinsupdateplayerdata); - initstataward("air_to_ground_kill",0,1,::highesetwinsupdateplayerdata); - initstataward("ground_to_air_kill",0,1,::highesetwinsupdateplayerdata); - initstataward("doublekill",0,1,::highesetwinsupdateplayerdata); - initstataward("triplekill",0,1,::highesetwinsupdateplayerdata); - initstataward("fourkill",0,1,::highesetwinsupdateplayerdata); - initstataward("fivekill",0,1,::highesetwinsupdateplayerdata); - initstataward("sixkill",0,1,::highesetwinsupdateplayerdata); - initstataward("sevenkill",0,1,::highesetwinsupdateplayerdata); - initstataward("eightkill",0,1,::highesetwinsupdateplayerdata); - initstataward("hijacker",0,1,::highesetwinsupdateplayerdata); - initstataward("backstab",0,1,::highesetwinsupdateplayerdata); - initstataward("5killstreak",0,1,::highesetwinsupdateplayerdata); - initstataward("10killstreak",0,1,::highesetwinsupdateplayerdata); - initstataward("15killstreak",0,1,::highesetwinsupdateplayerdata); - initstataward("20killstreak",0,1,::highesetwinsupdateplayerdata); - initstataward("25killstreak",0,1,::highesetwinsupdateplayerdata); - initstataward("30killstreak",0,1,::highesetwinsupdateplayerdata); - initstataward("30pluskillstreak",0,1,::highesetwinsupdateplayerdata); - initstataward("pointblank",0,1,::highesetwinsupdateplayerdata); - initstataward("firstplacekill",0,1,::highesetwinsupdateplayerdata); - initstataward("boostslamkill",0,1,::highesetwinsupdateplayerdata); - initstataward("assault",0,1,::highesetwinsupdateplayerdata); - initstataward("defends",0,1,::highesetwinsupdateplayerdata); - initstataward("exo_knife_kill",0,1,::highesetwinsupdateplayerdata); - initstataward("exo_knife_recall_kill",0,1,::highesetwinsupdateplayerdata); - initstataward("near_death_kill",0,1,::highesetwinsupdateplayerdata); - initstataward("slide_kill",0,1,::highesetwinsupdateplayerdata); - initstataward("flash_kill",0,1,::highesetwinsupdateplayerdata); - initstataward("riot_kill",0,1,::highesetwinsupdateplayerdata); - initstataward("melee_air_to_air",0,1,::highesetwinsupdateplayerdata); - initstataward("assist_riot_shield",0,1,::highesetwinsupdateplayerdata); - initstataward("semtex_stick",0,1,::highesetwinsupdateplayerdata); - initstataward("stuck_with_explosive",0,1,::highesetwinsupdateplayerdata); - initstataward("crossbow_stick",0,1,::highesetwinsupdateplayerdata); - initstataward("multiKillOneBullet",0,1,::highesetwinsupdateplayerdata); - initstataward("think_fast",0,1,::highesetwinsupdateplayerdata); - initstataward("take_and_kill",0,1,::highesetwinsupdateplayerdata); - initstataward("four_play",0,1,::highesetwinsupdateplayerdata); - initstataward("sharepackage",0,1,::highesetwinsupdateplayerdata); - initstataward("map_killstreak",0,1,::highesetwinsupdateplayerdata); - initstataward("killstreak_tag",0,1,::highesetwinsupdateplayerdata); - initstataward("killstreak_join",0,1,::highesetwinsupdateplayerdata); - initstataward("kills",0,0,::highestwins); - initstataward("longestkillstreak",0,0,::highestwins); - initstataward("knifekills",0,0,::highestwins); - initstataward("kdratio",0,0,::highestwins); - initstataward("deaths",0,0,::lowestwithhalfplayedtime); - initstataward("assists",0,0,::highestwins); - initstataward("totalGameScore",0,0,::highestwins); - initstataward("scorePerMinute",0,0,::highestwins); - initstataward("mostScorePerLife",0,0,::highestwins); - initstataward("killStreaksUsed",0,0,::highestwins); - initstataward("humiliation",0,1,::highesetwinsupdateplayerdata); - initstataward("regicide",0,1,::highesetwinsupdateplayerdata); - initstataward("gunslinger",0,1,::highesetwinsupdateplayerdata); - initstataward("dejavu",0,1,::highesetwinsupdateplayerdata); - initstataward("levelup",0,1,::highesetwinsupdateplayerdata); - initstataward("omegaman",0,1,::highesetwinsupdateplayerdata); - initstataward("plague",0,1,::highesetwinsupdateplayerdata); - initstataward("patientzero",0,1,::highesetwinsupdateplayerdata); - initstataward("careless",0,1,::highesetwinsupdateplayerdata); - initstataward("survivor",0,1,::highesetwinsupdateplayerdata); - initstataward("contagious",0,1,::highesetwinsupdateplayerdata); - initstataward("flagscaptured",0,1,::highesetwinsupdateplayerdata); - initstataward("flagsreturned",0,1,::highesetwinsupdateplayerdata); - initstataward("flagcarrierkills",0,1,::highesetwinsupdateplayerdata); - initstataward("flagscarried",0,1,::highesetwinsupdateplayerdata); - initstataward("killsasflagcarrier",0,1,::highesetwinsupdateplayerdata); - initstataward("pointscaptured",0,1,::highesetwinsupdateplayerdata); - initstataward("kill_while_capture",0,1,::highesetwinsupdateplayerdata); - initstataward("opening_move",0,1,::highesetwinsupdateplayerdata); - initstataward("hp_secure",0,1,::highesetwinsupdateplayerdata); - initstataward("targetsdestroyed",0,1,::highesetwinsupdateplayerdata); - initstataward("bombsplanted",0,1,::highesetwinsupdateplayerdata); - initstataward("bombsdefused",0,1,::highesetwinsupdateplayerdata); - initstataward("ninja_defuse",0,1,::highesetwinsupdateplayerdata); - initstataward("last_man_defuse",0,1,::highesetwinsupdateplayerdata); - initstataward("elimination",0,1,::highesetwinsupdateplayerdata); - initstataward("last_man_standing",0,1,::highesetwinsupdateplayerdata); - initstataward("sr_tag_elimination",0,1,::highesetwinsupdateplayerdata); - initstataward("sr_tag_revive",0,1,::highesetwinsupdateplayerdata); - initstataward("killsconfirmed",0,1,::highesetwinsupdateplayerdata); - initstataward("killsdenied",0,1,::highesetwinsupdateplayerdata); - initstataward("kill_denied_retrieved",0,1,::highesetwinsupdateplayerdata); - initstataward("tag_collector",0,1,::highesetwinsupdateplayerdata); - initstataward("touchdown",0,1,::highesetwinsupdateplayerdata); - initstataward("fieldgoal",0,1,::highesetwinsupdateplayerdata); - initstataward("interception",0,1,::highesetwinsupdateplayerdata); - initstataward("kill_with_ball",0,1,::highesetwinsupdateplayerdata); - initstataward("ball_score_assist",0,1,::highesetwinsupdateplayerdata); - initstataward("pass_kill_pickup",0,1,::highesetwinsupdateplayerdata); - initstataward("killedBallCarrier",0,1,::highesetwinsupdateplayerdata); - initstataward("uav_destroyed",0,1,::highesetwinsupdateplayerdata); - initstataward("warbird_destroyed",0,1,::highesetwinsupdateplayerdata); - initstataward("paladin_destroyed",0,1,::highesetwinsupdateplayerdata); - initstataward("vulcan_destroyed",0,1,::highesetwinsupdateplayerdata); - initstataward("goliath_destroyed",0,1,::highesetwinsupdateplayerdata); - initstataward("missile_strike_destroyed",0,1,::highesetwinsupdateplayerdata); - initstataward("sentry_gun_destroyed",0,1,::highesetwinsupdateplayerdata); - initstataward("strafing_run_destroyed",0,1,::highesetwinsupdateplayerdata); - initstataward("assault_drone_destroyed",0,1,::highesetwinsupdateplayerdata); - initstataward("recon_drone_destroyed",0,1,::highesetwinsupdateplayerdata); - initstataward("map_killstreak_destroyed",0,1,::highesetwinsupdateplayerdata); - initstataward("assist_killstreak_destroyed",0,1,::highesetwinsupdateplayerdata); - initstataward("warbird_kill",0,1,::highesetwinsupdateplayerdata); - initstataward("paladin_kill",0,1,::highesetwinsupdateplayerdata); - initstataward("vulcan_kill",0,1,::highesetwinsupdateplayerdata); - initstataward("goliath_kill",0,1,::highesetwinsupdateplayerdata); - initstataward("airdrop_kill",0,1,::highesetwinsupdateplayerdata); - initstataward("airdrop_trap_kill",0,1,::highesetwinsupdateplayerdata); - initstataward("missile_strike_kill",0,1,::highesetwinsupdateplayerdata); - initstataward("sentry_gun_kill",0,1,::highesetwinsupdateplayerdata); - initstataward("strafing_run_kill",0,1,::highesetwinsupdateplayerdata); - initstataward("assault_drone_kill",0,1,::highesetwinsupdateplayerdata); - initstataward("map_killstreak_kill",0,1,::highesetwinsupdateplayerdata); - initstataward("coop_killstreak_kill",0,1,::highesetwinsupdateplayerdata); - initstataward("uav_earned",0,1,::highesetwinsupdateplayerdata); - initstataward("warbird_earned",0,1,::highesetwinsupdateplayerdata); - initstataward("orbitalsupport_earned",0,1,::highesetwinsupdateplayerdata); - initstataward("orbital_strike_laser_earned",0,1,::highesetwinsupdateplayerdata); - initstataward("orbital_carepackage_earned",0,1,::highesetwinsupdateplayerdata); - initstataward("heavy_exosuit_earned",0,1,::highesetwinsupdateplayerdata); - initstataward("missile_strike_earned",0,1,::highesetwinsupdateplayerdata); - initstataward("remote_mg_sentry_turret_earned",0,1,::highesetwinsupdateplayerdata); - initstataward("strafing_run_airstrike_earned",0,1,::highesetwinsupdateplayerdata); - initstataward("assault_ugv_earned",0,1,::highesetwinsupdateplayerdata); - initstataward("recon_ugv_earned",0,1,::highesetwinsupdateplayerdata); - initstataward("emp_earned",0,1,::highesetwinsupdateplayerdata); - initstataward("numMatchesRecorded",0,0,::highestwins); -} - -//Function Number: 4 -initstataward(param_00,param_01,param_02,param_03,param_04,param_05) -{ - level.awards[param_00] = spawnstruct(); - level.awards[param_00].defaultvalue = param_01; - if(isdefined(param_03)) - { - level.awards[param_00].process = param_03; - } - - if(isdefined(param_02)) - { - level.awards[param_00].saveonupdate = param_02; - } - - if(isdefined(param_04)) - { - level.awards[param_00].var1 = param_04; - } - - if(isdefined(param_05)) - { - level.awards[param_00].var2 = param_05; - } -} - -//Function Number: 5 -setpersonalbestifgreater(param_00) -{ - var_01 = self getcommonplayerdata("bests",param_00); - var_02 = maps\mp\_utility::getplayerstat(param_00); - var_02 = getformattedvalue(param_00,var_02); - if(var_01 == 0 || var_02 > var_01) - { - self setcommonplayerdata("bests",param_00,var_02); - } -} - -//Function Number: 6 -setpersonalbestiflower(param_00) -{ - var_01 = self getcommonplayerdata("bests",param_00); - var_02 = maps\mp\_utility::getplayerstat(param_00); - var_02 = getformattedvalue(param_00,var_02); - if(var_01 == 0 || var_02 < var_01) - { - self setcommonplayerdata("bests",param_00,var_02); - } -} - -//Function Number: 7 -calculatekd(param_00) -{ - var_01 = param_00 maps\mp\_utility::getplayerstat("kills"); - var_02 = param_00 maps\mp\_utility::getplayerstat("deaths"); - if(var_02 == 0) - { - var_02 = 1; - } - - param_00 maps\mp\_utility::setplayerstat("kdratio",var_01 / var_02); -} - -//Function Number: 8 -gettotalscore(param_00) -{ - var_01 = param_00.score; - if(!level.teambased) - { - var_01 = param_00.extrascore0; - } - - return var_01; -} - -//Function Number: 9 -calculatespm(param_00) -{ - if(param_00.timeplayed["total"] < 1) - { - return; - } - - var_01 = gettotalscore(param_00); - var_02 = param_00.timeplayed["total"]; - var_03 = var_01 / var_02 / 60; - param_00 maps\mp\_utility::setplayerstat("totalGameScore",var_01); - param_00 maps\mp\_utility::setplayerstat("scorePerMinute",var_03); -} - -//Function Number: 10 -assignawards() -{ - foreach(var_01 in level.players) - { - if(!var_01 maps\mp\_utility::rankingenabled()) - { - return; - } - - var_01 maps\mp\_utility::incplayerstat("numMatchesRecorded",1); - calculatekd(var_01); - calculatespm(var_01); - } - - foreach(var_08, var_04 in level.awards) - { - if(!isdefined(level.awards[var_08].process) || isdefined(level.awards[var_08].saveonupdate) && level.awards[var_08].saveonupdate) - { - continue; - } - - var_05 = level.awards[var_08].process; - var_06 = level.awards[var_08].var1; - var_07 = level.awards[var_08].var2; - if(isdefined(var_06) && isdefined(var_07)) - { - [[ var_05 ]](var_08,var_06,var_07); - continue; - } - - if(isdefined(var_06)) - { - [[ var_05 ]](var_08,var_06); - continue; - } - - [[ var_05 ]](var_08); - } -} - -//Function Number: 11 -giveaward(param_00,param_01) -{ - param_01 = getformattedvalue(param_00,param_01); - var_02 = self getcommonplayerdata("round","awards",param_00); - self setcommonplayerdata("round","awards",param_00,var_02 + param_01); - if(maps\mp\_utility::practiceroundgame()) - { - return; - } - - if(shouldaveragetotal(param_00)) - { - var_03 = self getcommonplayerdata("awards","numMatchesRecorded"); - var_04 = self getcommonplayerdata("awards",param_00); - var_05 = var_04 * var_03; - var_06 = int(var_05 + param_01 / var_03 + 1); - self setcommonplayerdata("awards",param_00,var_06); - return; - } - - var_02 = self getcommonplayerdata("awards",param_00); - self setcommonplayerdata("awards",param_00,var_02 + param_01); -} - -//Function Number: 12 -shouldaveragetotal(param_00) -{ - switch(param_00) - { - case "scorePerMinute": - case "kdratio": - break; - } -} - -//Function Number: 13 -getformattedvalue(param_00,param_01) -{ - var_02 = tablelookup("mp/awardTable.csv",1,param_00,5); - switch(var_02) - { - case "float": - break; - - case "multi": - case "ratio": - case "time": - case "count": - case "distance": - case "none": - default: - break; - } -} - -//Function Number: 14 -highesetwinsupdateplayerdata(param_00,param_01) -{ - if(maps\mp\_utility::rankingenabled()) - { - giveaward(param_00,param_01); - setpersonalbestifgreater(param_00); - } -} - -//Function Number: 15 -lowestwinsupdateplayerdata(param_00,param_01) -{ - if(maps\mp\_utility::rankingenabled()) - { - giveaward(param_00,param_01); - setpersonalbestiflower(param_00); - } -} - -//Function Number: 16 -highestwins(param_00,param_01) -{ - foreach(var_03 in level.players) - { - if(var_03 maps\mp\_utility::rankingenabled() && var_03 statvaluechanged(param_00) && !isdefined(param_01) || var_03 maps\mp\_utility::getplayerstat(param_00) >= param_01) - { - var_04 = var_03 maps\mp\_utility::getplayerstat(param_00); - var_03 highesetwinsupdateplayerdata(param_00,var_04); - } - } -} - -//Function Number: 17 -lowestwins(param_00,param_01) -{ - foreach(var_03 in level.players) - { - if(var_03 maps\mp\_utility::rankingenabled() && var_03 statvaluechanged(param_00) && !isdefined(param_01) || var_03 maps\mp\_utility::getplayerstat(param_00) <= param_01) - { - var_04 = var_03 maps\mp\_utility::getplayerstat(param_00); - var_03 lowestwinsupdateplayerdata(param_00,var_04); - } - } -} - -//Function Number: 18 -lowestwithhalfplayedtime(param_00) -{ - var_01 = maps\mp\_utility::gettimepassed() / 1000; - var_02 = var_01 * 0.5; - foreach(var_04 in level.players) - { - if(var_04.hasspawned && var_04.timeplayed["total"] >= var_02) - { - var_05 = var_04 maps\mp\_utility::getplayerstat(param_00); - var_04 lowestwinsupdateplayerdata(param_00,var_05); - } - } -} - -//Function Number: 19 -statvaluechanged(param_00) -{ - var_01 = maps\mp\_utility::getplayerstat(param_00); - var_02 = level.awards[param_00].defaultvalue; - if(var_01 == var_02) - { - return 0; - } - - return 1; -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/_createfx.gsc b/AW/PC/ZM/maps/mp/_createfx.gsc deleted file mode 100644 index 21e07ca..0000000 --- a/AW/PC/ZM/maps/mp/_createfx.gsc +++ /dev/null @@ -1,70 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_createfx.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 4 - * Decompile Time: 54 ms - * Timestamp: 10/27/2023 2:08:02 AM -*******************************************************************/ - -//Function Number: 1 -createfx() -{ - level.func_position_player = ::common_scripts\utility::void; - level.func_position_player_get = ::func_position_player_get; - level.func_loopfxthread = ::common_scripts\_fx::loopfxthread; - level.func_oneshotfxthread = ::common_scripts\_fx::oneshotfxthread; - level.func_create_loopsound = ::common_scripts\_fx::create_loopsound; - level.func_updatefx = ::common_scripts\_createfx::restart_fx_looper; - level.func_process_fx_rotater = ::common_scripts\_createfx::process_fx_rotater; - level.func_player_speed = ::func_player_speed; - level.mp_createfx = 1; - level.callbackstartgametype = ::common_scripts\utility::void; - level.callbackplayerconnect = ::common_scripts\utility::void; - level.callbackplayerdisconnect = ::common_scripts\utility::void; - level.callbackplayerdamage = ::common_scripts\utility::void; - level.callbackplayerkilled = ::common_scripts\utility::void; - level.callbackentityoutofworld = ::common_scripts\utility::void; - level.callbackcodeendgame = ::common_scripts\utility::void; - level.callbackplayerlaststand = ::common_scripts\utility::void; - level.callbackplayerconnect = ::callback_playerconnect; - level.callbackplayermigrated = ::common_scripts\utility::void; - maps\mp\gametypes\_gameobjects::main([]); - thread common_scripts\_createfx::func_get_level_fx(); - common_scripts\_createfx::createfx_common(); - level waittill("eternity"); -} - -//Function Number: 2 -func_position_player_get(param_00) -{ - return level.player.origin; -} - -//Function Number: 3 -callback_playerconnect() -{ - self waittill("begin"); - if(!isdefined(level.player)) - { - var_00 = getentarray("mp_global_intermission","classname"); - var_01 = (var_00[0].angles[0],var_00[0].angles[1],0); - self spawn(var_00[0].origin,var_01); - maps\mp\_utility::updatesessionstate("playing"); - self.maxhealth = 10000000; - self.health = 10000000; - level.player = self; - thread common_scripts\_createfx::createfxlogic(); - return; - } - - kick(self getentitynumber()); -} - -//Function Number: 4 -func_player_speed() -{ - var_00 = level._createfx.player_speed / 190; - level.player setmovespeedscale(var_00); -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/_exo_battery.gsc b/AW/PC/ZM/maps/mp/_exo_battery.gsc deleted file mode 100644 index a08ba3d..0000000 --- a/AW/PC/ZM/maps/mp/_exo_battery.gsc +++ /dev/null @@ -1,141 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_exo_battery.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 5 - * Decompile Time: 78 ms - * Timestamp: 10/27/2023 2:08:13 AM -*******************************************************************/ - -//Function Number: 1 -update_exo_battery_hud(param_00) -{ - level endon("game_ended"); - self endon("death"); - self endon("disconnect"); - self endon("joined_team"); - self endon("faux_spawn"); - self endon("kill_battery"); - if(!isplayer(self)) - { - return; - } - - while(get_exo_ability_hud_omnvar_value(param_00,"ui_exo_battery_toggle") == 1) - { - var_01 = self batterygetcharge(param_00); - set_exo_ability_hud_omnvar(param_00,"ui_exo_battery_level",var_01); - wait(0.05); - } -} - -//Function Number: 2 -set_exo_ability_hud_omnvar(param_00,param_01,param_02) -{ - if(self gettacticalweapon() == param_00) - { - self setclientomnvar(param_01 + "0",param_02); - if(param_01 == "ui_exo_battery_toggle") - { - if(param_02 == 1) - { - self setclientomnvar("ui_exo_battery_iconA",param_00); - return; - } - - return; - } - - return; - } - - if(self getlethalweapon() == param_00) - { - self setclientomnvar(param_01 + "1",param_02); - if(param_01 == "ui_exo_battery_toggle") - { - if(param_02 == 1) - { - self setclientomnvar("ui_exo_battery_iconB",param_00); - return; - } - - return; - } - - return; - } - - self setclientomnvar("ui_exo_battery_iconA","reset"); - self setclientomnvar("ui_exo_battery_iconB","reset"); - self setclientomnvar("ui_exo_battery_toggle0",0); - self setclientomnvar("ui_exo_battery_toggle1",0); -} - -//Function Number: 3 -get_exo_ability_hud_omnvar_value(param_00,param_01) -{ - if(self gettacticalweapon() == param_00) - { - return self getclientomnvar(param_01 + "0"); - } - else if(self getlethalweapon() == param_00) - { - return self getclientomnvar(param_01 + "1"); - } - - return -1; -} - -//Function Number: 4 -play_insufficient_tactical_energy_sfx() -{ - level endon("game_ended"); - self endon("disconnect"); - self endon("death"); - self endon("faux_spawn"); - self endon("joined_team"); - self endon("kill_battery"); - self notifyonplayercommandremove("tried_left_exo_ability","+smoke"); - wait(0.05); - self notifyonplayercommand("tried_left_exo_ability","+smoke"); - for(;;) - { - self waittill("tried_left_exo_ability"); - var_00 = self gettacticalweapon(); - if(maps\mp\_utility::is_exo_ability_weapon(var_00)) - { - if(self batterygetcharge(var_00) < batteryreqtouse(var_00)) - { - self playlocalsound("mp_exo_bat_empty"); - } - } - } -} - -//Function Number: 5 -play_insufficient_lethal_energy_sfx() -{ - level endon("game_ended"); - self endon("disconnect"); - self endon("death"); - self endon("faux_spawn"); - self endon("joined_team"); - self endon("kill_battery"); - self notifyonplayercommandremove("tried_right_exo_ability","+frag"); - wait(0.05); - self notifyonplayercommand("tried_right_exo_ability","+frag"); - for(;;) - { - self waittill("tried_right_exo_ability"); - var_00 = self getlethalweapon(); - if(maps\mp\_utility::is_exo_ability_weapon(var_00)) - { - if(self batterygetcharge(var_00) < batteryreqtouse(var_00)) - { - self playlocalsound("mp_exo_bat_empty"); - } - } - } -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/_exo_cloak.gsc b/AW/PC/ZM/maps/mp/_exo_cloak.gsc deleted file mode 100644 index 97c1f02..0000000 --- a/AW/PC/ZM/maps/mp/_exo_cloak.gsc +++ /dev/null @@ -1,331 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_exo_cloak.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 12 - * Decompile Time: 179 ms - * Timestamp: 10/27/2023 2:08:14 AM -*******************************************************************/ - -//Function Number: 1 -give_exo_cloak() -{ - var_00 = get_exo_cloak_weapon(); - if(self hasweapon(var_00)) - { - return; - } - - self giveweapon(var_00); - self batterysetdischargescale(var_00,1); - self.exo_cloak_on = 0; - self.exo_cloak_off_time = undefined; - if(self gettacticalweapon() == var_00) - { - self setclientomnvar("ui_exo_battery_level0",self batterygetcharge(var_00)); - self setclientomnvar("exo_ability_nrg_req0",batteryreqtouse(var_00)); - self setclientomnvar("exo_ability_nrg_total0",self batterygetsize(var_00)); - } - else if(self getlethalweapon() == var_00) - { - self setclientomnvar("ui_exo_battery_level1",self batterygetcharge(var_00)); - self setclientomnvar("exo_ability_nrg_req1",batteryreqtouse(var_00)); - self setclientomnvar("exo_ability_nrg_total1",self batterygetsize(var_00)); - } - - if(!isdefined(self.exocloak)) - { - self.exocloak = spawnstruct(); - } - - self.exocloak.costume = []; - self.exocloak.costume["viewmodel"] = self getviewmodel(); - self.exocloak.costume["body"] = self getmodelfromentity(); - self notify("exo_cloak_reset"); - thread wait_for_exocloak_cancel(); - thread wait_for_exocloak_pressed(); - thread wait_for_player_death(); - thread wait_for_game_end(); -} - -//Function Number: 2 -wait_for_exocloak_pressed() -{ - level endon("game_ended"); - self endon("death"); - self endon("disconnect"); - self endon("faux_spawn"); - self endon("joined_team"); - self endon("exo_cloak_reset"); - for(;;) - { - self waittill("exo_ability_activate",var_00); - if(var_00 == level.cloakweapon) - { - if(!self iscloaked()) - { - thread handle_exocloak(); - } - else - { - active_cloaking_disable(1); - } - - continue; - } - - if(!maps\mp\_utility::is_exo_ability_weapon(var_00)) - { - active_cloaking_disable(1); - } - } -} - -//Function Number: 3 -wait_for_exocloak_cancel() -{ - level endon("game_ended"); - self endon("death"); - self endon("disconnect"); - self endon("faux_spawn"); - self endon("joined_team"); - self endon("exo_cloak_reset"); - for(;;) - { - common_scripts\utility::waittill_any("using_remote","weapon_fired","melee_fired","ground_slam","grenade_fire"); - active_cloaking_disable(1); - } -} - -//Function Number: 4 -wait_for_player_death() -{ - level endon("game_ended"); - self endon("disconnect"); - self endon("exo_cloak_reset"); - common_scripts\utility::waittill_any("death","faux_spawn","joined_team"); - active_cloaking_disable(1); -} - -//Function Number: 5 -handle_exocloak() -{ - level endon("game_ended"); - self endon("disconnect"); - self endon("death"); - self endon("faux_spawn"); - self endon("joined_team"); - self endon("exo_cloak_disabled"); - self endon("exo_cloak_reset"); - if(self batterygetcharge(level.cloakweapon) > 0) - { - active_cloaking_enable(); - while(self batterygetcharge(level.cloakweapon) > 0) - { - wait(0.05); - } - - active_cloaking_disable(1); - } -} - -//Function Number: 6 -active_cloaking_enable() -{ - self.exo_cloak_on = 1; - self.exo_cloak_off_time = undefined; - self cloakingenable(); - hideattachmentswhilecloaked(); - self batterydischargebegin(level.cloakweapon); - maps\mp\_exo_battery::set_exo_ability_hud_omnvar(level.cloakweapon,"ui_exo_battery_toggle",1); - thread maps\mp\_exo_battery::update_exo_battery_hud(level.cloakweapon); - maps\mp\_snd_common_mp::snd_message("mp_exo_cloak_activate"); - self.pers["numberOfTimesCloakingUsed"]++; - if(isdefined(level.ishorde)) - { - wait(2); - self.ignoreme = 1; - } -} - -//Function Number: 7 -active_cloaking_disable(param_00) -{ - if(!isdefined(param_00)) - { - param_00 = 1; - } - - if(!self iscloaked()) - { - return; - } - - self.exo_cloak_on = 0; - self.exo_cloak_off_time = gettime(); - self cloakingdisable(); - showattachmentsaftercloak(); - if(isdefined(level.ishorde)) - { - self.ignoreme = 0; - } - - self batterydischargeend(level.cloakweapon); - maps\mp\_exo_battery::set_exo_ability_hud_omnvar(level.cloakweapon,"ui_exo_battery_toggle",0); - if(param_00) - { - maps\mp\_snd_common_mp::snd_message("mp_exo_cloak_deactivate"); - } - - self notify("exo_cloak_disabled"); -} - -//Function Number: 8 -take_exo_cloak() -{ - var_00 = get_exo_cloak_weapon(); - self notify("kill_battery"); - active_cloaking_disable(0); - self takeweapon(var_00); - self notify("exo_cloak_reset"); -} - -//Function Number: 9 -wait_for_game_end() -{ - self endon("death"); - self endon("disconnect"); - self endon("joined_team"); - self endon("faux_spawn"); - self endon("exo_cloak_reset"); - level waittill("game_ended"); - active_cloaking_disable(1); -} - -//Function Number: 10 -hideattachmentswhilecloaked() -{ - if(self hasweapon("adrenaline_mp")) - { - if(isdefined(self.overclock_on) && self.overclock_on == 1) - { - killfxontag(level.exo_overclock_vfx_le_active,self,"J_Hip_LE"); - killfxontag(level.exo_overclock_vfx_ri_active,self,"J_Hip_RI"); - } - else - { - killfxontag(level.exo_overclock_vfx_le_inactive,self,"J_Hip_LE"); - killfxontag(level.exo_overclock_vfx_ri_inactive,self,"J_Hip_RI"); - } - } - - if(self hasweapon("exorepulsor_equipment_mp")) - { - if(isdefined(self.repulsoractive) && self.repulsoractive == 1) - { - killfxontag(level.exo_repulsor_player_vfx_active,self,"TAG_JETPACK"); - } - else - { - killfxontag(level.exo_repulsor_player_vfx_inactive,self,"TAG_JETPACK"); - } - } - - if(self hasweapon("exoping_equipment_mp")) - { - if(isdefined(self.exo_ping_on) && self.exo_ping_on == 1) - { - killfxontag(level.exo_ping_vfx_active,self,"J_SpineUpper"); - } - else - { - killfxontag(level.exo_ping_vfx_inactive,self,"J_SpineUpper"); - } - } - - if(self hasweapon("extra_health_mp")) - { - if(isdefined(self.exo_health_on) && self.exo_health_on == 1) - { - killfxontag(level.exo_health_le_active_vfx,self,"J_Shoulder_LE"); - killfxontag(level.exo_health_rt_active_vfx,self,"J_Shoulder_RI"); - return; - } - - killfxontag(level.exo_health_le_inactive_vfx,self,"J_Shoulder_LE"); - killfxontag(level.exo_health_rt_inactive_vfx,self,"J_Shoulder_RI"); - } -} - -//Function Number: 11 -showattachmentsaftercloak() -{ - if(self hasweapon("adrenaline_mp")) - { - if(isdefined(self.overclock_on) && self.overclock_on == 1) - { - playfxontag(level.exo_overclock_vfx_le_active,self,"J_Hip_LE"); - playfxontag(level.exo_overclock_vfx_ri_active,self,"J_Hip_RI"); - } - else - { - playfxontag(level.exo_overclock_vfx_le_inactive,self,"J_Hip_LE"); - playfxontag(level.exo_overclock_vfx_ri_inactive,self,"J_Hip_RI"); - } - } - - if(self hasweapon("exorepulsor_equipment_mp")) - { - if(isdefined(self.repulsoractive) && self.repulsoractive == 1) - { - playfxontag(level.exo_repulsor_player_vfx_active,self,"TAG_JETPACK"); - } - else - { - playfxontag(level.exo_repulsor_player_vfx_inactive,self,"TAG_JETPACK"); - } - } - - if(self hasweapon("exoping_equipment_mp")) - { - if(isdefined(self.exo_ping_on) && self.exo_ping_on == 1) - { - playfxontag(level.exo_ping_vfx_active,self,"J_SpineUpper"); - } - else - { - playfxontag(level.exo_ping_vfx_inactive,self,"J_SpineUpper"); - } - } - - if(self hasweapon("extra_health_mp")) - { - if(isdefined(self.exo_health_on) && self.exo_health_on == 1) - { - playfxontag(level.exo_health_le_active_vfx,self,"J_Shoulder_LE"); - playfxontag(level.exo_health_rt_active_vfx,self,"J_Shoulder_RI"); - return; - } - - playfxontag(level.exo_health_le_inactive_vfx,self,"J_Shoulder_LE"); - playfxontag(level.exo_health_rt_inactive_vfx,self,"J_Shoulder_RI"); - } -} - -//Function Number: 12 -get_exo_cloak_weapon() -{ - if(isdefined(level.cloakweapon)) - { - return level.cloakweapon; - } - - level.cloakweapon = "exocloak_equipment_mp"; - if(isdefined(level.ishorde)) - { - level.cloakweapon = "exocloakhorde_equipment_mp"; - } - - return level.cloakweapon; -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/_exo_hover.gsc b/AW/PC/ZM/maps/mp/_exo_hover.gsc deleted file mode 100644 index b243b4b..0000000 --- a/AW/PC/ZM/maps/mp/_exo_hover.gsc +++ /dev/null @@ -1,187 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_exo_hover.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 7 - * Decompile Time: 102 ms - * Timestamp: 10/27/2023 2:08:15 AM -*******************************************************************/ - -//Function Number: 1 -exo_hover_think() -{ - level endon("game_ended"); - self endon("death"); - self endon("disconnect"); - self endon("joined_team"); - self endon("faux_spawn"); - self endon("exo_hover_taken"); - if(!self hasweapon(level.hoverweapon)) - { - return; - } - - exo_hover_init(); - for(;;) - { - if(self batteryisinuse(level.hoverweapon) == 0) - { - self waittillmatch(level.hoverweapon,"battery_discharge_begin"); - } - - self.exo_hover_on = 1; - maps\mp\gametypes\_gamelogic::sethasdonecombat(self,1); - self.pers["numberOfTimesHoveringUsed"]++; - maps\mp\_exo_battery::set_exo_ability_hud_omnvar(level.hoverweapon,"ui_exo_battery_toggle",1); - thread maps\mp\_exo_battery::update_exo_battery_hud(level.hoverweapon); - thread exo_hover_update(); - thread play_exo_hover_vfx(); - if(maps\mp\_utility::_hasperk("specialty_exo_blastsuppressor")) - { - maps\mp\_snd_common_mp::snd_message("mp_suppressed_exo_hover"); - } - else - { - maps\mp\_snd_common_mp::snd_message("mp_regular_exo_hover"); - } - - thread end_exo_hover_on_notifies(); - if(self batteryisinuse(level.hoverweapon) == 1) - { - self waittillmatch(level.hoverweapon,"battery_discharge_end"); - } - - maps\mp\_exo_battery::set_exo_ability_hud_omnvar(level.hoverweapon,"ui_exo_battery_toggle",0); - self.exo_hover_on = 0; - self notify("stop_exo_hover_effects"); - } -} - -//Function Number: 2 -exo_hover_init() -{ - self batterysetdischargescale(level.hoverweapon,1); - var_00 = self batterygetsize(level.hoverweapon); - if(self gettacticalweapon() == level.hoverweapon) - { - self setclientomnvar("exo_ability_nrg_req0",0); - self setclientomnvar("exo_ability_nrg_total0",var_00); - self setclientomnvar("ui_exo_battery_level0",var_00); - } - else if(self getlethalweapon() == level.hoverweapon) - { - self setclientomnvar("exo_ability_nrg_req1",0); - self setclientomnvar("exo_ability_nrg_total1",var_00); - self setclientomnvar("ui_exo_battery_level1",var_00); - } - - if(!isdefined(level.regular_exo_hover_vfx)) - { - level.regular_exo_hover_vfx = loadfx("vfx/smoke/exohover_exhaust_continuous"); - } - - if(!isdefined(level.suppressed_exo_hover_vfx)) - { - level.suppressed_exo_hover_vfx = loadfx("vfx/smoke/exohover_exhaust_continuous_suppressed"); - } - - if(level.gametype == "horde") - { - setdynamicdvar("hover_max_travel_distance",1000); - return; - } - - setdynamicdvar("hover_max_travel_distance",350); -} - -//Function Number: 3 -end_exo_hover_on_notifies() -{ - self endon("stop_exo_hover_effects"); - common_scripts\utility::waittill_any("death","disconnect","joined_team","faux_spawn","exo_hover_taken"); - maps\mp\_exo_battery::set_exo_ability_hud_omnvar(level.hoverweapon,"ui_exo_battery_toggle",0); - self.exo_hover_on = 0; - self notify("stop_exo_hover_effects"); -} - -//Function Number: 4 -take_exo_hover() -{ - level.hoverweapon = "exohover_equipment_mp"; - if(isdefined(level.ishorde)) - { - level.hoverweapon = "exohoverhorde_equipment_mp"; - } - - self notify("kill_battery"); - self notify("exo_hover_taken"); - self takeweapon(level.hoverweapon); -} - -//Function Number: 5 -give_exo_hover() -{ - level.hoverweapon = "exohover_equipment_mp"; - if(isdefined(level.ishorde)) - { - level.hoverweapon = "exohoverhorde_equipment_mp"; - } - - self giveweapon(level.hoverweapon); - thread exo_hover_think(); -} - -//Function Number: 6 -exo_hover_update() -{ - level endon("game_ended"); - self endon("disconnect"); - self endon("death"); - self endon("joined_team"); - self endon("faux_spawn"); - self endon("exo_hover_taken"); - self endon("stop_exo_hover_effects"); - var_00 = self batterygetdischargerate(level.hoverweapon); - var_01 = self batterygetsize(level.hoverweapon); - for(;;) - { - self playrumbleonentity("damage_heavy"); - var_02 = self getvelocity(); - var_03 = length2d(var_02); - var_04 = 1; - if(level.gametype == "horde") - { - if(isdefined(self.hordeexobattery)) - { - var_04 = 1 + self.hordeexobattery * -0.1; - } - } - - self batterysetdischargescale(level.hoverweapon,max(var_04,var_01 * var_03 / getdvarint("hover_max_travel_distance",350) * var_00)); - wait(0.1); - } -} - -//Function Number: 7 -play_exo_hover_vfx() -{ - level endon("game_ended"); - var_00 = 0; - if(maps\mp\_utility::_hasperk("specialty_exo_blastsuppressor")) - { - var_00 = 1; - var_01 = spawnlinkedfx(level.suppressed_exo_hover_vfx,self,"tag_jetpack"); - } - else - { - var_01 = spawnlinkedfx(level.regular_exo_hover_vfx,self,"tag_jetpack"); - } - - triggerfx(var_01); - common_scripts\utility::waittill_any("disconnect","death","joined_team","faux_spawn","exo_hover_taken","stop_exo_hover_effects"); - if(isdefined(var_01)) - { - var_01 delete(); - } -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/_exo_shield.gsc b/AW/PC/ZM/maps/mp/_exo_shield.gsc deleted file mode 100644 index a758151..0000000 --- a/AW/PC/ZM/maps/mp/_exo_shield.gsc +++ /dev/null @@ -1,109 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_exo_shield.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 5 - * Decompile Time: 78 ms - * Timestamp: 10/27/2023 2:08:18 AM -*******************************************************************/ - -//Function Number: 1 -exo_shield_think() -{ - level endon("game_ended"); - self endon("death"); - self endon("disconnect"); - self endon("joined_team"); - self endon("faux_spawn"); - self endon("exo_shield_taken"); - self notify("exo_shield_think_end"); - self endon("exo_shield_think_end"); - var_00 = get_exo_shield_weapon(); - if(!self hasweapon(var_00)) - { - return; - } - - self batterysetdischargescale(var_00,1); - var_01 = batteryusepershot(var_00); - var_02 = self batterygetsize(var_00); - if(self gettacticalweapon() == var_00) - { - self setclientomnvar("ui_exo_battery_level0",var_02); - self setclientomnvar("exo_ability_nrg_req0",var_01); - self setclientomnvar("exo_ability_nrg_total0",var_02); - } - else if(self getlethalweapon() == var_00) - { - self setclientomnvar("ui_exo_battery_level1",var_02); - self setclientomnvar("exo_ability_nrg_req1",var_01); - self setclientomnvar("exo_ability_nrg_total1",var_02); - } - - thread wait_for_player_death(var_00); - for(;;) - { - self waittillmatch(var_00,"grenade_pullback"); - maps\mp\_snd_common_mp::snd_message("mp_exo_shield_activate"); - self.pers["numberOfTimesShieldUsed"]++; - maps\mp\_exo_battery::set_exo_ability_hud_omnvar(var_00,"ui_exo_battery_toggle",1); - self.exo_shield_on = 1; - if(!isagent(self)) - { - thread maps\mp\_exo_battery::update_exo_battery_hud(var_00); - } - - if(self batteryisinuse(var_00) == 1) - { - self waittillmatch(var_00,"battery_discharge_end"); - } - - maps\mp\_snd_common_mp::snd_message("mp_exo_shield_deactivate"); - maps\mp\_exo_battery::set_exo_ability_hud_omnvar(var_00,"ui_exo_battery_toggle",0); - self.exo_shield_on = 0; - } -} - -//Function Number: 2 -take_exo_shield() -{ - self notify("kill_battery"); - self notify("exo_shield_taken"); - self takeweapon(get_exo_shield_weapon()); -} - -//Function Number: 3 -give_exo_shield() -{ - self giveweapon(get_exo_shield_weapon()); - thread exo_shield_think(); -} - -//Function Number: 4 -get_exo_shield_weapon() -{ - if(isdefined(level.exoshieldweapon)) - { - return level.exoshieldweapon; - } - - level.exoshieldweapon = "exoshield_equipment_mp"; - if(isdefined(level.ishorde)) - { - level.exoshieldweapon = "exoshieldhorde_equipment_mp"; - } - - return level.exoshieldweapon; -} - -//Function Number: 5 -wait_for_player_death(param_00) -{ - level endon("game_ended"); - self endon("disconnect"); - common_scripts\utility::waittill_any("death","joined_team","faux_spawn","exo_shield_taken"); - maps\mp\_exo_battery::set_exo_ability_hud_omnvar(param_00,"ui_exo_battery_toggle",0); - self.exo_shield_on = 0; - self refreshshieldmodels(); -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/_exo_suit.gsc b/AW/PC/ZM/maps/mp/_exo_suit.gsc deleted file mode 100644 index b8c53fd..0000000 --- a/AW/PC/ZM/maps/mp/_exo_suit.gsc +++ /dev/null @@ -1,169 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_exo_suit.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 12 - * Decompile Time: 199 ms - * Timestamp: 10/27/2023 2:08:19 AM -*******************************************************************/ - -//Function Number: 1 -getgroundslamminheight() -{ - return 120; -} - -//Function Number: 2 -getgroundslammaxheight() -{ - return 380; -} - -//Function Number: 3 -getgroundslammindamage() -{ - return 50; -} - -//Function Number: 4 -getgroundslammaxdamage() -{ - return 110; -} - -//Function Number: 5 -getgroundslamminradius() -{ - return 75; -} - -//Function Number: 6 -getgroundslammaxradius() -{ - return 125; -} - -//Function Number: 7 -init() -{ - level._effect["exo_slam_kneeslide_fx"] = loadfx("vfx/code/slam_jetpack_kneeslide"); - level thread onplayerconnect(); -} - -//Function Number: 8 -onplayerconnect() -{ - for(;;) - { - level waittill("connected",var_00); - var_00 thread monitorgroundslam(); - var_00 thread monitorgroundslamhitplayer(); - } -} - -//Function Number: 9 -monitorgroundslam() -{ - self endon("disconnect"); - var_00 = 10; - var_01 = 4; - var_02 = (1,0,0); - var_03 = (0,1,0); - var_04 = (0,0,1); - var_05 = 16; - for(;;) - { - self waittill("ground_slam",var_06); - if(isdefined(level.groundslam) && self [[ level.groundslam ]](var_06)) - { - continue; - } - - var_07 = getdvarfloat("ground_slam_min_height",getgroundslamminheight()); - var_08 = getdvarfloat("ground_slam_max_height",getgroundslammaxheight()); - var_09 = getdvarfloat("ground_slam_min_damage",getgroundslammindamage()); - var_0A = getdvarfloat("ground_slam_max_damage",getgroundslammaxdamage()); - var_0B = getdvarfloat("ground_slam_min_radius",getgroundslamminradius()); - var_0C = getdvarfloat("ground_slam_max_radius",getgroundslammaxradius()); - if(var_06 < var_07) - { - continue; - } - - var_0D = var_06 - var_07 / var_08 - var_07; - var_0D = clamp(var_0D,0,1); - var_0E = var_0C - var_0B * var_0D + var_0B; - var_0F = var_0E + 60; - var_10 = var_0F * var_0F; - self radiusdamage(self.origin,var_0E,var_0A,var_09,self,"MOD_TRIGGER_HURT","boost_slam_mp"); - if(maps\mp\_utility::_hasperk("specialty_exo_slamboots")) - { - playfxontag(level._effect["exo_slam_kneeslide_fx"],self,"j_knee_ri"); - physicsexplosionsphere(self.origin,var_0E,20,1); - foreach(var_12 in level.players) - { - if(maps\mp\_utility::isreallyalive(var_12) && var_12 != self && !level.teambased || var_12.team != self.team && !var_12 maps\mp\_utility::isusingremote()) - { - if(distancesquared(self.origin,var_12.origin) < var_10) - { - var_12 shellshock("concussion_grenade_mp",1.5); - maps\mp\gametypes\_missions::processchallenge("ch_perk_overcharge"); - } - } - } - } - else - { - physicsexplosionsphere(self.origin,var_0E,20,0.9); - } - - if(getdvarint("ground_slam_debug")) - { - thread draw_circle_for_time(self.origin,var_0E + var_05,(0,1,0),0,16,var_00); - var_14 = 100; - var_15 = var_14 - var_09 * var_0E / var_0A - var_09; - thread draw_circle_for_time(self.origin,var_15 + var_05,(1,0,0),0,16,var_00); - foreach(var_12 in level.players) - { - } - } - } -} - -//Function Number: 10 -draw_circle_for_time(param_00,param_01,param_02,param_03,param_04,param_05) -{ - var_06 = param_05 / 0.05; - for(var_07 = 0;var_07 < var_06;var_07++) - { - maps\mp\bots\_bots_util::bot_draw_circle(param_00,param_01,param_02,param_03,param_04); - wait(0.05); - } -} - -//Function Number: 11 -monitorgroundslamhitplayer() -{ - self endon("disconnect"); - for(;;) - { - self waittill("ground_slam_hit_player",var_00); - if(isdefined(level.groundslamhitplayer) && self [[ level.groundslamhitplayer ]](var_00)) - { - continue; - } - - var_00 dodamage(var_00.health,self.origin,self,self,"MOD_CRUSH","boost_slam_mp"); - } -} - -//Function Number: 12 -exo_power_cooldown(param_00) -{ - var_01 = int(param_00 * 1000); - self setclientomnvar("ui_exo_cooldown_time",var_01); - wait(param_00); - self setclientomnvar("ui_exo_cooldown_time",0); - self playlocalsound("exo_power_recharged"); -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/_explosive_drone.gsc b/AW/PC/ZM/maps/mp/_explosive_drone.gsc deleted file mode 100644 index 91fb85a..0000000 --- a/AW/PC/ZM/maps/mp/_explosive_drone.gsc +++ /dev/null @@ -1,1557 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_explosive_drone.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 68 - * Decompile Time: 1065 ms - * Timestamp: 10/27/2023 2:08:23 AM -*******************************************************************/ - -//Function Number: 1 -watchexplosivedroneusage() -{ - self endon("spawned_player"); - self endon("disconnect"); - self endon("death"); - self endon("faux_spawn"); - if(!isdefined(level.explosivedronesettings)) - { - explosivedroneinit(); - } - - for(;;) - { - self waittill("grenade_fire",var_00,var_01); - var_02 = maps\mp\_utility::strip_suffix(var_01,"_lefthand"); - if(var_02 == "explosive_drone_mp") - { - var_00.team = self.team; - if(!isdefined(var_00.owner)) - { - var_00.owner = self; - } - - if(!isdefined(var_00.weaponname)) - { - var_00.weaponname = var_01; - } - - var_00 thread explosivedronelink(); - } - } -} - -//Function Number: 2 -explosivedronelink() -{ - thread watchforstick(); - wait(0.1); - if(isdefined(self)) - { - self.explosivedrone = spawn("script_model",self.origin); - self.explosivedrone.targetname = "explosive_drone_head_model"; - self.explosivedrone setmodel(level.explosivedronesettings.modelbase); - self.explosivedrone.oldcontents = self.explosivedrone setcontents(0); - self.explosivedrone linkto(self,"tag_spike",(0,0,0),(0,0,0)); - self.explosivedrone.owner = self.owner; - var_00 = self.explosivedrone; - var_00 thread cleanup_on_grenade_death(self); - thread monitorspikedestroy(); - thread monitorheaddestroy(); - } -} - -//Function Number: 3 -cleanup_on_grenade_death(param_00) -{ - param_00 waittill("death"); - if(isdefined(self)) - { - self delete(); - } -} - -//Function Number: 4 -explosivegrenadedeath(param_00,param_01,param_02,param_03) -{ - if(isdefined(self)) - { - self notify("death"); - if(isdefined(self.explosivedrone)) - { - self.explosivedrone deleteexplosivedrone(); - } - - self delete(); - } -} - -//Function Number: 5 -explosiveheaddeath(param_00,param_01,param_02,param_03) -{ - if(isdefined(self)) - { - self delete(); - } -} - -//Function Number: 6 -explosivedroneinit() -{ - level.explosivedronemaxperplayer = 1; - level.explosivedronesettings = spawnstruct(); - level.explosivedronesettings.timeout = 20; - level.explosivedronesettings.explosivetimeout = 30; - level.explosivedronesettings.health = 60; - level.explosivedronesettings.maxhealth = 60; - level.explosivedronesettings.vehicleinfo = "vehicle_tracking_drone_mp"; - level.explosivedronesettings.modelbase = "npc_drone_explosive_main"; - level.explosivedronesettings.fxid_sparks = loadfx("vfx/sparks/direct_hack_stun"); - level.explosivedronesettings.fxid_laser_glow = loadfx("vfx/lights/tracking_drone_laser_blue"); - level.explosivedronesettings.fxid_explode = loadfx("vfx/explosion/explosive_drone_explosion"); - level.explosivedronesettings.fxid_lethalexplode = loadfx("vfx/explosion/explosive_drone_explosion"); - level.explosivedronesettings.fxid_enemy_light = loadfx("vfx/lights/light_explosive_drone_beacon_enemy"); - level.explosivedronesettings.fxid_friendly_light = loadfx("vfx/lights/light_explosive_drone_beacon_friendly"); - level.explosivedronesettings.fxid_engine_distort = loadfx("vfx/distortion/tracking_drone_distortion_hemi"); - level.explosivedronesettings.fxid_launch_thruster = loadfx("vfx/trail/explosive_drone_thruster_large"); - level.explosivedronesettings.fxid_position_thruster = loadfx("vfx/trail/explosive_drone_thruster_small"); - level.explosivedronesettings.sound_explode = "wpn_explosive_drone_exp"; - level.explosivedronesettings.sound_lock = "wpn_explosive_drone_lock"; - level.explosivedronesettings.sound_launch = "wpn_explosive_drone_open"; - foreach(var_01 in level.players) - { - var_01.is_being_tracked = 0; - } - - level thread onexplosiveplayerconnect(); - level.explosivedronetimeout = level.explosivedronesettings.timeout; - level.explosivedronetimeout = level.explosivedronesettings.explosivetimeout; - level.explosivedronedebugposition = 0; - level.explosivedronedebugpositionforward = 0; - level.explosivedronedebugpositionheight = 0; -} - -//Function Number: 7 -tryuseexplosivedrone(param_00) -{ - var_01 = 1; - if(maps\mp\_utility::isusingremote()) - { - return 0; - } - else if(exceededmaxexplosivedrones()) - { - self iprintlnbold(&"MP_AIR_SPACE_TOO_CROWDED"); - return 0; - } - else if(maps\mp\_utility::currentactivevehiclecount() >= maps\mp\_utility::maxvehiclesallowed() || level.fauxvehiclecount + var_01 >= maps\mp\_utility::maxvehiclesallowed()) - { - self iprintlnbold(&"MP_AIR_SPACE_TOO_CROWDED"); - return 0; - } - - if(!isdefined(self.explosivedronearray)) - { - self.explosivedronearray = []; - } - - if(self.explosivedronearray.size) - { - self.explosivedronearray = common_scripts\utility::array_removeundefined(self.explosivedronearray); - if(self.explosivedronearray.size >= level.explosivedronemaxperplayer) - { - if(isdefined(self.explosivedronearray[0])) - { - self.explosivedronearray[0] thread explosivedrone_leave(); - } - } - } - - maps\mp\_utility::incrementfauxvehiclecount(); - var_02 = param_00 createexplosivedrone(); - if(!isdefined(var_02)) - { - maps\mp\_utility::decrementfauxvehiclecount(); - return 0; - } - - self playsound(level.explosivedronesettings.sound_launch); - self playsound(level.explosivedronesettings.sound_lock); - self.explosivedronearray[self.explosivedronearray.size] = var_02; - thread startexplosivedrone(var_02); - playfxontag(level.explosivedronesettings.fxid_launch_thruster,var_02,"TAG_THRUSTER_BTM"); - param_00 notify("mine_selfdestruct"); - return var_02; -} - -//Function Number: 8 -createexplosivedrone(param_00,param_01,param_02,param_03) -{ - if(!isdefined(param_00)) - { - param_00 = 0; - } - - if(!param_00) - { - var_04 = self.angles; - var_05 = anglestoforward(var_04); - var_06 = anglestoright(var_04); - var_07 = var_05 * 50; - var_08 = var_06 * 0; - var_09 = 80; - if(isdefined(self.explosivedrone)) - { - var_0B = self.explosivedrone.origin; - var_04 = self.explosivedrone.angles; - self.explosivedrone deleteexplosivedrone(); - addtodeletespike(); - } - else - { - var_0B = self.origin; - } - } - else - { - var_0B = param_03; - var_0C = param_01; - var_04 = param_02; - } - - var_0D = anglestoup(self.angles); - var_0B = var_0B + var_0D * 10; - var_0E = spawnhelicopter(self.owner,var_0B,var_04,level.explosivedronesettings.vehicleinfo,level.explosivedronesettings.modelbase); - if(!isdefined(var_0E)) - { - return; - } - - var_0E.type = "explosive_drone"; - var_0E common_scripts\utility::make_entity_sentient_mp(self.owner.team); - var_0E makevehiclenotcollidewithplayers(1); - var_0E addtoexplosivedronelist(); - var_0E thread removefromexplosivedronelistondeath(); - var_0E.health = level.explosivedronesettings.health; - var_0E.maxhealth = level.explosivedronesettings.maxhealth; - var_0E.damagetaken = 0; - var_0E.speed = 20; - var_0E.followspeed = 20; - var_0E.owner = self.owner; - var_0E.team = self.owner.team; - var_0E vehicle_setspeed(var_0E.speed,10,10); - var_0E setyawspeed(120,90); - var_0E setneargoalnotifydist(64); - var_0E sethoverparams(20,5,5); - var_0E.fx_tag0 = undefined; - if(isdefined(var_0E.type)) - { - if(var_0E.type == "explosive_drone") - { - } - } - - var_0E.maxtrackingrange = 2000; - var_0E.maxlaserrange = 300; - var_0E.trackedplayer = undefined; - var_0F = 45; - var_10 = 45; - var_0E setmaxpitchroll(var_0F,var_10); - var_0E.targetpos = var_0B; - var_0E.attract_strength = 10000; - var_0E.attract_range = 150; - var_0E.attractor = missile_createattractorent(var_0E,var_0E.attract_strength,var_0E.attract_range); - var_0E.hasdodged = 0; - var_0E.stunned = 0; - var_0E.inactive = 0; - var_0E thread maps\mp\gametypes\_damage::setentitydamagecallback(var_0E.maxhealth,undefined,::onexplosivedronedeath,undefined,0); - var_0E thread explosivedrone_watchdisable(); - var_0E thread explosivedrone_watchdeath(); - var_0E thread explosivedrone_watchtimeout(); - var_0E thread explosivedrone_watchownerloss(); - var_0E thread explosivedrone_watchownerdeath(); - var_0E thread explosivedrone_watchroundend(); - var_0E thread explosivedrone_watchhostmigration(); - var_0E thread explosivedrone_enemy_lightfx(); - var_0E thread explosivedrone_friendly_lightfx(); - var_0E thread drone_thrusterfxexplosive(); - return var_0E; -} - -//Function Number: 9 -addtodeletespike() -{ - var_00 = 5; - if(!isdefined(level.spikelist)) - { - level.spikelist = []; - level.spikelistindex = 0; - } - - if(level.spikelist.size >= var_00) - { - if(isdefined(level.spikelist[level.spikelistindex])) - { - level.spikelist[level.spikelistindex] delete(); - } - } - - level.spikelist[level.spikelistindex] = self; - level.spikelistindex = level.spikelistindex + 1 % var_00; -} - -//Function Number: 10 -idletargetmoverexplosive(param_00) -{ - self endon("disconnect"); - level endon("game_ended"); - param_00 endon("death"); - var_01 = anglestoforward(self.angles); - for(;;) - { - if(maps\mp\_utility::isreallyalive(self) && !maps\mp\_utility::isusingremote() && anglestoforward(self.angles) != var_01) - { - var_01 = anglestoforward(self.angles); - var_02 = self.origin + var_01 * -100 + (0,0,40); - param_00 moveto(var_02,0.5); - } - - wait(0.5); - } -} - -//Function Number: 11 -explosivedrone_enemy_lightfx() -{ - self endon("death"); - self.owner endon("faux_spawn"); - foreach(var_01 in level.players) - { - if(isdefined(var_01) && issentient(var_01) && issentient(self) && var_01.team != self.team) - { - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_enemy_light,self,"TAG_BEACON",var_01); - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_enemy_light,self,"TAG_BEACON",var_01); - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_enemy_light,self,"TAG_BEACON",var_01); - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_enemy_light,self,"TAG_BEACON",var_01); - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_enemy_light,self,"TAG_BEACON",var_01); - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_enemy_light,self,"TAG_BEACON",var_01); - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_enemy_light,self,"TAG_BEACON",var_01); - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_enemy_light,self,"TAG_BEACON",var_01); - } - } -} - -//Function Number: 12 -explosivedrone_friendly_lightfx() -{ - self endon("death"); - self.owner endon("faux_spawn"); - foreach(var_01 in level.players) - { - if(isdefined(var_01) && issentient(var_01) && issentient(self) && var_01.team == self.team) - { - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_friendly_light,self,"TAG_BEACON",var_01); - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_friendly_light,self,"TAG_BEACON",var_01); - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_friendly_light,self,"TAG_BEACON",var_01); - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_friendly_light,self,"TAG_BEACON",var_01); - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_enemy_light,self,"TAG_BEACON",var_01); - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_enemy_light,self,"TAG_BEACON",var_01); - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_enemy_light,self,"TAG_BEACON",var_01); - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_enemy_light,self,"TAG_BEACON",var_01); - } - } - - thread watchconnectedplayfxexplosive(); - thread watchjoinedteamplayfxexplosive(); -} - -//Function Number: 13 -drone_thrusterfxexplosive() -{ - self endon("death"); - self endon("disconnect"); - self.owner endon("faux_spawn"); - for(;;) - { - foreach(var_01 in level.players) - { - thread drone_thrusterfx_bottom_threaded(var_01); - thread drone_thrusterfx_side_threaded(var_01); - } - - wait(1.1); - } -} - -//Function Number: 14 -drone_thrusterfx_side_threaded(param_00) -{ - self endon("death"); - self endon("disconnect"); - self.owner endon("faux_spawn"); - wait(0.1); - if(isdefined(param_00) && isdefined(self) && isdefined(level.explosivedronesettings.fxid_position_thruster)) - { - playfxontagforclients(level.explosivedronesettings.fxid_position_thruster,self,"TAG_THRUST_SIDE_X_nY_Z",param_00); - } - - wait(0.1); - if(isdefined(param_00) && isdefined(self) && isdefined(level.explosivedronesettings.fxid_position_thruster)) - { - playfxontagforclients(level.explosivedronesettings.fxid_position_thruster,self,"TAG_THRUST_SIDE_X_nY_nZ",param_00); - } - - wait(0.1); - if(isdefined(param_00) && isdefined(self) && isdefined(level.explosivedronesettings.fxid_position_thruster)) - { - playfxontagforclients(level.explosivedronesettings.fxid_position_thruster,self,"TAG_THRUST_SIDE_nX_nY_Z",param_00); - } - - wait(0.1); - if(isdefined(param_00) && isdefined(self) && isdefined(level.explosivedronesettings.fxid_position_thruster)) - { - playfxontagforclients(level.explosivedronesettings.fxid_position_thruster,self,"TAG_THRUST_SIDE_nX_nY_nZ",param_00); - } - - wait(0.1); - if(isdefined(param_00) && isdefined(self) && isdefined(level.explosivedronesettings.fxid_position_thruster)) - { - playfxontagforclients(level.explosivedronesettings.fxid_position_thruster,self,"TAG_THRUST_SIDE_nX_Y_nZ",param_00); - } - - wait(0.1); - if(isdefined(param_00) && isdefined(self) && isdefined(level.explosivedronesettings.fxid_position_thruster)) - { - playfxontagforclients(level.explosivedronesettings.fxid_position_thruster,self,"TAG_THRUST_SIDE_nX_Y_Z",param_00); - } - - wait(0.1); - if(isdefined(param_00) && isdefined(self) && isdefined(level.explosivedronesettings.fxid_position_thruster)) - { - playfxontagforclients(level.explosivedronesettings.fxid_position_thruster,self,"TAG_THRUST_SIDE_X_Y_Z",param_00); - } - - wait(0.1); - if(isdefined(param_00) && isdefined(self) && isdefined(level.explosivedronesettings.fxid_position_thruster)) - { - playfxontagforclients(level.explosivedronesettings.fxid_position_thruster,self,"TAG_THRUST_SIDE_X_Y_nZ",param_00); - } -} - -//Function Number: 15 -drone_thrusterfx_bottom_threaded(param_00) -{ - self endon("death"); - self endon("disconnect"); - self.owner endon("faux_spawn"); - wait(0.1); - if(isdefined(param_00) && isdefined(self) && isdefined(level.explosivedronesettings.fxid_engine_distort)) - { - playfxontagforclients(level.explosivedronesettings.fxid_engine_distort,self,"TAG_THRUSTER_BTM",param_00); - } - - wait(0.1); - if(isdefined(param_00) && isdefined(self) && isdefined(level.explosivedronesettings.fxid_position_thruster)) - { - playfxontagforclients(level.explosivedronesettings.fxid_position_thruster,self,"TAG_THRUSTER_BTM",param_00); - } - - wait(0.1); - if(isdefined(param_00) && isdefined(self) && isdefined(level.explosivedronesettings.fxid_engine_distort)) - { - playfxontagforclients(level.explosivedronesettings.fxid_engine_distort,self,"TAG_THRUSTER_BTM",param_00); - } - - wait(0.1); - if(isdefined(param_00) && isdefined(self) && isdefined(level.explosivedronesettings.fxid_position_thruster)) - { - playfxontagforclients(level.explosivedronesettings.fxid_position_thruster,self,"TAG_THRUSTER_BTM",param_00); - } - - wait(0.1); - if(isdefined(param_00) && isdefined(self) && isdefined(level.explosivedronesettings.fxid_engine_distort)) - { - playfxontagforclients(level.explosivedronesettings.fxid_engine_distort,self,"TAG_THRUSTER_BTM",param_00); - } - - wait(0.1); - if(isdefined(param_00) && isdefined(self) && isdefined(level.explosivedronesettings.fxid_position_thruster)) - { - playfxontagforclients(level.explosivedronesettings.fxid_position_thruster,self,"TAG_THRUSTER_BTM",param_00); - } - - wait(0.1); - if(isdefined(param_00) && isdefined(self) && isdefined(level.explosivedronesettings.fxid_engine_distort)) - { - playfxontagforclients(level.explosivedronesettings.fxid_engine_distort,self,"TAG_THRUSTER_BTM",param_00); - } - - wait(0.1); - if(isdefined(param_00) && isdefined(self) && isdefined(level.explosivedronesettings.fxid_position_thruster)) - { - playfxontagforclients(level.explosivedronesettings.fxid_position_thruster,self,"TAG_THRUSTER_BTM",param_00); - } - - wait(0.1); - if(isdefined(param_00) && isdefined(self) && isdefined(level.explosivedronesettings.fxid_engine_distort)) - { - playfxontagforclients(level.explosivedronesettings.fxid_engine_distort,self,"TAG_THRUSTER_BTM",param_00); - } - - wait(0.1); - if(isdefined(param_00) && isdefined(self) && isdefined(level.explosivedronesettings.fxid_position_thruster)) - { - playfxontagforclients(level.explosivedronesettings.fxid_position_thruster,self,"TAG_THRUSTER_BTM",param_00); - } - - wait(0.1); - if(isdefined(param_00) && isdefined(self) && isdefined(level.explosivedronesettings.fxid_engine_distort)) - { - playfxontagforclients(level.explosivedronesettings.fxid_engine_distort,self,"TAG_THRUSTER_BTM",param_00); - } -} - -//Function Number: 16 -watchconnectedplayfxexplosive() -{ - self endon("death"); - self.owner endon("faux_spawn"); - for(;;) - { - level waittill("connected",var_00); - var_00 waittill("spawned_player"); - if(isdefined(var_00) && var_00.team == self.team) - { - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_friendly_light,self,"TAG_BEACON",var_00); - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_friendly_light,self,"TAG_BEACON",var_00); - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_friendly_light,self,"TAG_BEACON",var_00); - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_friendly_light,self,"TAG_BEACON",var_00); - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_enemy_light,self,"TAG_BEACON",var_00); - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_enemy_light,self,"TAG_BEACON",var_00); - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_enemy_light,self,"TAG_BEACON",var_00); - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_enemy_light,self,"TAG_BEACON",var_00); - } - } -} - -//Function Number: 17 -watchjoinedteamplayfxexplosive() -{ - self endon("death"); - self.owner endon("faux_spawn"); - for(;;) - { - level waittill("joined_team",var_00); - var_00 waittill("spawned_player"); - if(isdefined(var_00) && var_00.team == self.team) - { - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_friendly_light,self,"TAG_BEACON",var_00); - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_friendly_light,self,"TAG_BEACON",var_00); - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_friendly_light,self,"TAG_BEACON",var_00); - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_friendly_light,self,"TAG_BEACON",var_00); - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_enemy_light,self,"TAG_BEACON",var_00); - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_enemy_light,self,"TAG_BEACON",var_00); - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_enemy_light,self,"TAG_BEACON",var_00); - wait(0.15); - playfxontagforclients(level.explosivedronesettings.fxid_enemy_light,self,"TAG_BEACON",var_00); - } - } -} - -//Function Number: 18 -startexplosivedrone(param_00) -{ - level endon("game_ended"); - param_00 endon("death"); - param_00 thread explosivedrone_followtarget(); - param_00 thread createkillcamentity(); - if(isdefined(param_00.type)) - { - if(param_00.type == "explosive_drone") - { - param_00 thread checkforexplosivegoalexplosive(); - } - } -} - -//Function Number: 19 -checkforexplosivegoalexplosive() -{ - level endon("game_ended"); - level endon("host_migration_begin"); - self endon("death"); - self endon("leaving"); - var_00 = gettime(); - thread blowupatendoftrackingtime(var_00); -} - -//Function Number: 20 -blowupatendoftrackingtime(param_00) -{ - level endon("game_ended"); - level endon("host_migration_begin"); - self endon("death"); - self endon("leaving"); - while(gettime() - param_00 < 3000) - { - wait 0.05; - } - - if(isdefined(self)) - { - self notify("exploding"); - thread blowupdronesequenceexplosive(); - } -} - -//Function Number: 21 -blowupdronesequenceexplosive() -{ - var_00 = undefined; - if(isdefined(self)) - { - if(isdefined(self.owner)) - { - var_00 = self.owner; - } - - self playsound(level.explosivedronesettings.sound_lock); - wait(0.5); - } - - if(isdefined(self)) - { - self playsound("wpn_explosive_drone_exp"); - var_01 = anglestoup(self.angles); - var_02 = anglestoforward(self.angles); - playfx(level.explosivedronesettings.fxid_lethalexplode,self.origin,var_02,var_01); - if(isdefined(var_00)) - { - self radiusdamage(self.origin,256,130,55,var_00,"MOD_EXPLOSIVE","explosive_drone_mp"); - } - else - { - self radiusdamage(self.origin,256,130,55,undefined,"MOD_EXPLOSIVE","explosive_drone_mp"); - } - - self notify("death"); - } -} - -//Function Number: 22 -turnondangerlightsexplosive() -{ - if(isdefined(self)) - { - } - - wait(0.05); - if(isdefined(self)) - { - } - - wait(0.15); - if(isdefined(self)) - { - } -} - -//Function Number: 23 -explosivedrone_followtarget() -{ - level endon("game_ended"); - level endon("host_migration_begin"); - self endon("death"); - self endon("leaving"); - self endon("exploding"); - if(!isdefined(self.owner)) - { - thread explosivedrone_leave(); - return; - } - - self.owner endon("disconnect"); - self endon("owner_gone"); - self vehicle_setspeed(self.followspeed,10,10); - self.previoustrackedplayer = self.owner; - self.trackedplayer = undefined; - for(;;) - { - if(isdefined(self.stunned) && self.stunned) - { - wait(0.5); - continue; - } - - if(isdefined(self.owner) && isalive(self.owner)) - { - var_00 = self.maxtrackingrange * self.maxtrackingrange; - var_01 = var_00; - if(!isdefined(self.trackedplayer) || self.trackedplayer == self.owner) - { - foreach(var_03 in level.players) - { - if(isdefined(var_03) && isalive(var_03) && var_03 != self.owner && !level.teambased || var_03.team != self.team && !var_03 maps\mp\_utility::_hasperk("specialty_blindeye")) - { - var_04 = distancesquared(self.origin,var_03.origin); - if(var_04 < var_01) - { - var_01 = var_04; - self.trackedplayer = var_03; - thread watchplayerdeathdisconnectexplosive(var_03); - } - } - } - } - - if(!isdefined(self.trackedplayer)) - { - thread explosivedroneexplode(); - } - - if(isdefined(self.trackedplayer)) - { - explosivedrone_movetoplayer(self.trackedplayer); - } - - if(self.trackedplayer != self.previoustrackedplayer) - { - stophighlightingplayerexplosive(self.previoustrackedplayer); - self.previoustrackedplayer = self.trackedplayer; - } - } - - wait(1); - } -} - -//Function Number: 24 -watchplayerdeathdisconnectexplosive(param_00) -{ - param_00 common_scripts\utility::waittill_any("death","disconnect","faux_spawn","joined_team"); - if(param_00.is_being_tracked == 1) - { - thread explosivedrone_leave(); - return; - } - - self.trackedplayer = undefined; -} - -//Function Number: 25 -explosivedrone_movetoplayer(param_00) -{ - level endon("game_ended"); - self endon("death"); - self endon("leaving"); - self.owner endon("death"); - self.owner endon("disconnect"); - self endon("owner_gone"); - self notify("explosiveDrone_moveToPlayer"); - self endon("explosiveDrone_moveToPlayer"); - var_01 = 0; - var_02 = 0; - var_03 = 65; - switch(param_00 getstance()) - { - case "stand": - break; - - case "crouch": - break; - - case "prone": - break; - } -} - -//Function Number: 26 -explosivedrone_stopmovement() -{ - self setvehgoalpos(self.origin,1); - self.intransit = 0; - self.inactive = 1; -} - -//Function Number: 27 -explosivedrone_changeowner(param_00) -{ - maps\mp\_utility::incrementfauxvehiclecount(); - var_01 = param_00 createexplosivedrone(1,self.origin,self.angles); - if(!isdefined(var_01)) - { - maps\mp\_utility::decrementfauxvehiclecount(); - return 0; - } - - if(!isdefined(param_00.explosivedronearray)) - { - param_00.explosivedronearray = []; - } - - param_00.explosivedronearray[param_00.explosivedronearray.size] = var_01; - param_00 thread startexplosivedrone(var_01); - if(isdefined(level.explosivedronesettings.fxid_sparks)) - { - } - - removeexplosivedrone(); - return 1; -} - -//Function Number: 28 -explosivedrone_highlighttarget() -{ - level endon("game_ended"); - self endon("death"); - self endon("leaving"); - if(!isdefined(self.owner)) - { - thread explosivedrone_leave(); - return; - } - - self.owner endon("disconnect"); - self.owner endon("joined_team"); - self.owner endon("joined_spectators"); - self.lasertag = spawn("script_model",self.origin); - self.lasertag setmodel("tag_laser"); - if(isdefined(self.trackedplayer)) - { - self.lasertag.origin = self gettagorigin("tag_weapon"); - var_00 = 20; - var_01 = (randomfloat(var_00),randomfloat(var_00),randomfloat(var_00)) - (10,10,10); - var_02 = 65; - switch(self.trackedplayer getstance()) - { - case "stand": - break; - - case "crouch": - break; - - case "prone": - break; - } - } -} - -//Function Number: 29 -starthighlightingplayerexplosive(param_00) -{ - self.lasertag laseron("explosive_drone_laser"); - playfxontag(level.explosivedronesettings.fxid_laser_glow,self.lasertag,"tag_laser"); - if(isdefined(level.explosivedronesettings.sound_lock)) - { - self playsound(level.explosivedronesettings.sound_lock); - } - - param_00 setperk("specialty_radararrow",1,0); - if(param_00.is_being_tracked == 0) - { - param_00.is_being_tracked = 1; - param_00.trackedbyplayer = self.owner; - } -} - -//Function Number: 30 -stophighlightingplayerexplosive(param_00) -{ - if(isdefined(self.lasertag)) - { - self.lasertag laseroff(); - stopfxontag(level.explosivedronesettings.fxid_laser_glow,self.lasertag,"tag_laser"); - } - - if(isdefined(param_00)) - { - if(isdefined(level.explosivedronesettings.sound_lock)) - { - self stoploopsound(); - } - - if(param_00 hasperk("specialty_radararrow",1)) - { - param_00 unsetperk("specialty_radararrow",1); - } - - param_00 notify("player_not_tracked"); - param_00.is_being_tracked = 0; - param_00.trackedbyplayer = undefined; - } -} - -//Function Number: 31 -onexplosiveplayerconnect() -{ - level endon("game_ended"); - for(;;) - { - level waittill("connected",var_00); - var_00.is_being_tracked = 0; - foreach(var_00 in level.players) - { - if(!isdefined(var_00.is_being_tracked)) - { - var_00.is_being_tracked = 0; - } - } - } -} - -//Function Number: 32 -explosivedrone_watchforgoal() -{ - level endon("game_ended"); - self endon("death"); - self endon("leaving"); - self.owner endon("death"); - self.owner endon("disconnect"); - self endon("owner_gone"); - self notify("explosiveDrone_watchForGoal"); - self endon("explosiveDrone_watchForGoal"); - var_00 = common_scripts\utility::waittill_any_return("goal","near_goal","hit_goal"); - self.intransit = 0; - self.inactive = 0; - self notify("hit_goal"); -} - -//Function Number: 33 -explosivedrone_watchdeath() -{ - level endon("game_ended"); - self endon("gone"); - self waittill("death"); - thread explosivedronedestroyed(); -} - -//Function Number: 34 -explosivedrone_watchtimeout() -{ - level endon("game_ended"); - level endon("host_migration_begin"); - self endon("death"); - self.owner endon("disconnect"); - self endon("owner_gone"); - var_00 = level.explosivedronetimeout; - if(self.type == "explosive_drone") - { - var_00 = level.explosivedronetimeout; - } - - wait(var_00); - thread explosivedrone_leave(); -} - -//Function Number: 35 -explosivedrone_watchownerloss() -{ - level endon("game_ended"); - self endon("death"); - self endon("leaving"); - self.owner common_scripts\utility::waittill_any("disconnect","joined_team","joined_spectators"); - self notify("owner_gone"); - thread explosivedrone_leave(); -} - -//Function Number: 36 -explosivedrone_watchownerdeath() -{ - level endon("game_ended"); - self endon("death"); - self endon("leaving"); - for(;;) - { - self.owner waittill("death"); - thread explosivedrone_leave(); - } -} - -//Function Number: 37 -explosivedrone_watchtargetdisconnect() -{ - level endon("game_ended"); - level endon("host_migration_begin"); - self endon("death"); - self endon("leaving"); - self.owner endon("death"); - self.owner endon("disconnect"); - self endon("owner_gone"); - self notify("explosiveDrone_watchTargetDisconnect"); - self endon("explosiveDrone_watchTargetDisconnect"); - self.trackedplayer waittill("disconnect"); - stophighlightingplayerexplosive(self.trackedplayer); - explosivedrone_movetoplayer(self.owner); -} - -//Function Number: 38 -explosivedrone_watchroundend() -{ - level endon("game_ended"); - self endon("death"); - self endon("leaving"); - self.owner endon("disconnect"); - self endon("owner_gone"); - level common_scripts\utility::waittill_any("round_end_finished","game_ended"); - thread explosivedrone_leave(); -} - -//Function Number: 39 -explosivedrone_watchhostmigration() -{ - level endon("game_ended"); - self endon("death"); - self endon("leaving"); - self.owner endon("death"); - self.owner endon("disconnect"); - self endon("owner_gone"); - level waittill("host_migration_begin"); - stophighlightingplayerexplosive(self.trackedplayer); - maps\mp\gametypes\_hostmigration::waittillhostmigrationdone(); - thread explosivedrone_changeowner(self.owner); -} - -//Function Number: 40 -explosivedrone_leave() -{ - self endon("death"); - self notify("leaving"); - stophighlightingplayerexplosive(self.trackedplayer); - explosivedroneexplode(); -} - -//Function Number: 41 -onexplosivedronedeath(param_00,param_01,param_02,param_03) -{ - self notify("death"); -} - -//Function Number: 42 -explosivedrone_grenade_watchdisable() -{ - self endon("death"); - self.owner endon("disconnect"); - level endon("game_ended"); - self.stunned = 0; - for(;;) - { - self waittill("emp_damage",var_00,var_01); - thread explosivedrone_grenade_stunned(); - } -} - -//Function Number: 43 -explosivedrone_watchdisable() -{ - self endon("death"); - self.owner endon("disconnect"); - level endon("game_ended"); - for(;;) - { - self waittill("emp_damage",var_00,var_01); - thread explosivedrone_stunned(); - } -} - -//Function Number: 44 -explosivedrone_grenade_stunned() -{ - self notify("explosiveDrone_stunned"); - self endon("explosiveDrone_stunned"); - self endon("death"); - self.owner endon("disconnect"); - level endon("game_ended"); - explosivedrone_grenade_stunbegin(); - wait(10); - explosivedrone_grenade_stunend(); -} - -//Function Number: 45 -explosivedrone_stunned() -{ - self notify("explosiveDrone_stunned"); - self endon("explosiveDrone_stunned"); - self endon("death"); - self.owner endon("disconnect"); - level endon("game_ended"); - explosivedrone_stunbegin(); - wait(10); - explosivedrone_stunend(); -} - -//Function Number: 46 -explosivedrone_grenade_stunbegin() -{ - if(self.stunned) - { - return; - } - - self.stunned = 1; - if(isdefined(level.explosivedronesettings.fxid_sparks)) - { - playfxontag(level.explosivedronesettings.fxid_sparks,self,"TAG_BEACON"); - } -} - -//Function Number: 47 -explosivedrone_stunbegin() -{ - if(self.stunned) - { - return; - } - - self.stunned = 1; - if(isdefined(level.explosivedronesettings.fxid_sparks)) - { - playfxontag(level.explosivedronesettings.fxid_sparks,self,"TAG_BEACON"); - } - - thread stophighlightingplayerexplosive(self.trackedplayer); - self.trackedplayer = undefined; - self.previoustrackedplayer = self.owner; - thread explosivedrone_stopmovement(); -} - -//Function Number: 48 -explosivedrone_grenade_stunend() -{ - if(isdefined(level.explosivedronesettings.fxid_sparks)) - { - killfxontag(level.explosivedronesettings.fxid_sparks,self,"TAG_BEACON"); - } - - self.stunned = 0; - self.inactive = 0; -} - -//Function Number: 49 -explosivedrone_stunend() -{ - if(isdefined(level.explosivedronesettings.fxid_sparks)) - { - killfxontag(level.explosivedronesettings.fxid_sparks,self,"TAG_BEACON"); - } - - self.stunned = 0; - self.inactive = 0; -} - -//Function Number: 50 -explosivedronedestroyed() -{ - if(!isdefined(self)) - { - return; - } - - stophighlightingplayerexplosive(self.trackedplayer); - explosivedrone_stunend(); - explosivedroneexplode(); -} - -//Function Number: 51 -explosivedroneexplode() -{ - if(isdefined(level.explosivedronesettings.fxid_explode)) - { - playfx(level.explosivedronesettings.fxid_explode,self.origin); - } - - if(isdefined(level.explosivedronesettings.sound_explode)) - { - self playsound(level.explosivedronesettings.sound_explode); - } - - self notify("exploding"); - removeexplosivedrone(); -} - -//Function Number: 52 -deleteexplosivedrone() -{ - if(isdefined(self.attractor)) - { - missile_deleteattractor(self.attractor); - } - - removekillcamentity(); - self delete(); -} - -//Function Number: 53 -removeexplosivedrone() -{ - maps\mp\_utility::decrementfauxvehiclecount(); - if(isdefined(self.owner) && isdefined(self.owner.explosivedrone)) - { - self.owner.explosivedrone = undefined; - } - - deleteexplosivedrone(); -} - -//Function Number: 54 -addtoexplosivedronelist() -{ - level.explosivedrones[self getentitynumber()] = self; -} - -//Function Number: 55 -removefromexplosivedronelistondeath() -{ - var_00 = self getentitynumber(); - self waittill("death"); - level.explosivedrones[var_00] = undefined; - level.explosivedrones = common_scripts\utility::array_removeundefined(level.explosivedrones); -} - -//Function Number: 56 -exceededmaxexplosivedrones() -{ - if(isdefined(level.explosivedrones) && level.explosivedrones.size >= maps\mp\_utility::maxvehiclesallowed()) - { - return 1; - } - - return 0; -} - -//Function Number: 57 -explosivedroneproximitytrigger() -{ - self endon("mine_destroyed"); - self endon("mine_selfdestruct"); - self endon("death"); - self.owner endon("disconnect"); - self.owner endon("faux_spawn"); - wait(3); - if(isdefined(self) && isdefined(self.explosivedrone)) - { - var_00 = self.explosivedrone gettagorigin("TAG_BEACON") - self gettagorigin("TAG_BEACON") + (0,0,10); - if(level.teambased) - { - maps\mp\_entityheadicons::setteamheadicon(self.owner.team,var_00,"TAG_BEACON"); - } - else - { - maps\mp\_entityheadicons::setplayerheadicon(self.owner,var_00,"TAG_BEACON"); - } - - var_01 = spawn("trigger_radius",self.origin + (0,0,-96),0,192,192); - var_01.owner = self; - thread explosivedronedeletetrigger(var_01); - thread watchforpickup(var_01); - var_02 = undefined; - while(isdefined(self) && isdefined(self.explosivedrone)) - { - var_01 waittill("trigger",var_02); - if(!isdefined(var_02)) - { - wait(0.1); - continue; - } - - if(var_02 maps\mp\_utility::_hasperk("specialty_blindeye")) - { - wait(0.1); - continue; - } - - if(isdefined(self.explosivedrone) && !var_02 sightconetrace(self.explosivedrone gettagorigin("TAG_BEACON"),self.explosivedrone)) - { - wait(0.1); - continue; - } - - if(isdefined(self.explosivedrone)) - { - var_03 = self.explosivedrone gettagorigin("TAG_BEACON"); - var_04 = var_02 geteye(); - if(!bullettracepassed(var_03,var_04,0,self.explosivedrone)) - { - wait(0.1); - continue; - } - } - - if(maps\mp\_utility::isreallyalive(var_02) && var_02 != self.owner && !level.teambased || var_02.team != self.owner.team && !self.stunned) - { - var_02 tryuseexplosivedrone(self); - } - } - } -} - -//Function Number: 58 -explosivedronedeletetrigger(param_00) -{ - common_scripts\utility::waittill_any("mine_triggered","mine_destroyed","mine_selfdestruct","death"); - if(isdefined(self.entityheadicon)) - { - self notify("kill_entity_headicon_thread"); - self.entityheadicon destroy(); - } - - param_00 delete(); -} - -//Function Number: 59 -showdebugradius(param_00) -{ - var_01 = spawnfx(level.explosivedronesettings.dome,param_00.origin); - triggerfx(var_01); - self waittill("death"); - var_01 delete(); -} - -//Function Number: 60 -endonplayerspawn() -{ - self.owner common_scripts\utility::waittill_any("spawned_player","faux_spawn","delete_explosive_drones"); - explosivegrenadedeath(); -} - -//Function Number: 61 -monitorspikedestroy() -{ - self.owner endon("death"); - self.owner endon("disconnect"); - self.owner endon("faux_spawn"); - common_scripts\utility::waittill_any("mine_selfdestruct"); - explosivegrenadedeath(); -} - -//Function Number: 62 -monitorheaddestroy() -{ - self.owner endon("death"); - self.owner endon("disconnect"); - self.owner endon("faux_spawn"); - while(isdefined(self.explosivedrone)) - { - wait(0.15); - } - - if(isdefined(self)) - { - self playsound("wpn_explosive_drone_exp"); - var_00 = anglestoup(self.angles); - var_01 = anglestoforward(self.angles); - playfx(level.explosivedronesettings.fxid_lethalexplode,self.origin,var_01,var_00); - self radiusdamage(self.origin,256,130,55,self.owner,"MOD_EXPLOSIVE","explosive_drone_mp"); - self notify("death"); - } - - explosivegrenadedeath(); -} - -//Function Number: 63 -startgrenadelightfx() -{ - self endon("death"); - self.owner endon("death"); - self.owner endon("disconnect"); - var_00 = 0.6; - while(isdefined(self.explosivedrone)) - { - foreach(var_02 in level.players) - { - if(isdefined(var_02) && issentient(var_02) && var_02.team == self.team && isdefined(self.explosivedrone)) - { - thread fxblink(level.explosivedronesettings.fxid_friendly_light,self.explosivedrone,"TAG_BEACON",var_02); - } - - if(isdefined(var_02) && issentient(var_02) && var_02.team != self.team && isdefined(self.explosivedrone)) - { - thread fxblink(level.explosivedronesettings.fxid_enemy_light,self.explosivedrone,"TAG_BEACON",var_02); - } - } - - wait(var_00); - } -} - -//Function Number: 64 -fxblink(param_00,param_01,param_02,param_03) -{ - for(var_04 = 0;var_04 <= 4 && isdefined(param_01);var_04++) - { - if(isdefined(param_03) && isdefined(param_01) && isdefined(self.stunned) && !self.stunned) - { - playfxontagforclients(param_00,param_01,param_02,param_03); - wait(0.15); - } - } -} - -//Function Number: 65 -watchforstick() -{ - self endon("death"); - self.owner endon("death"); - self.owner endon("disconnect"); - var_00 = undefined; - var_00 = common_scripts\utility::waittill_any_return_parms("missile_stuck","mp_exo_repulsor_repel"); - while(!isdefined(self.explosivedrone)) - { - wait 0.05; - } - - if(isdefined(var_00[1])) - { - var_01 = var_00[1].script_stay_drone; - if(var_00[1].classname == "script_model" && !isdefined(var_01) && var_01 == 1) - { - self playsound("wpn_explosive_drone_exp"); - var_02 = anglestoup(self.angles); - var_03 = anglestoforward(self.angles); - playfx(level.explosivedronesettings.fxid_lethalexplode,self.origin,var_03,var_02); - self radiusdamage(self.origin,256,130,55,self.owner,"MOD_EXPLOSIVE","explosive_drone_mp"); - thread explosivegrenadedeath(); - } - } - - if(isdefined(self)) - { - self.explosivedrone setcontents(self.explosivedrone.oldcontents); - thread explosivedroneproximitytrigger(); - thread endonplayerspawn(); - thread explosivedrone_grenade_watchdisable(); - thread startgrenadelightfx(); - thread maps\mp\gametypes\_damage::setentitydamagecallback(100,undefined,::explosivegrenadedeath,undefined,0); - self.explosivedrone thread maps\mp\gametypes\_damage::setentitydamagecallback(100,undefined,::explosiveheaddeath,undefined,0); - thread maps\mp\gametypes\_weapons::stickyhandlemovers("mine_selfdestruct"); - } -} - -//Function Number: 66 -createkillcamentity() -{ - var_00 = (0,0,0); - self.killcament = spawn("script_model",self.origin); - self.killcament setscriptmoverkillcam("explosive"); - self.killcament linkto(self,"TAG_THRUSTER_BTM",var_00,(0,0,0)); - self.killcament setcontents(0); - self.killcament.starttime = gettime(); -} - -//Function Number: 67 -removekillcamentity() -{ - if(isdefined(self.killcament)) - { - self.killcament delete(); - } -} - -//Function Number: 68 -watchforpickup(param_00) -{ - self.owner endon("disconnect"); - self.owner endon("faux_spawn"); - level endon("game_ended"); - self endon("death"); - self.owner endon("death"); - self.explosivedrone makeusable(); - self.explosivedrone sethintstring(&"MP_PICKUP_EXPLOSIVE_DRONE"); - self.explosivedrone sethintstringvisibleonlytoowner(1); - var_01 = getdvarfloat("player_useRadius",128); - var_01 = var_01 * var_01; - for(;;) - { - if(!isdefined(self) || !isdefined(param_00)) - { - break; - } - - var_02 = isdefined(self.explosivedrone) && distancesquared(self.owner geteye(),self.explosivedrone.origin) <= var_01; - if(self.owner istouching(param_00) && var_02) - { - var_03 = 0; - while(self.owner usebuttonpressed()) - { - if(!maps\mp\_utility::isreallyalive(self.owner)) - { - break; - } - - if(!self.owner istouching(param_00)) - { - break; - } - - if(self.owner fragbuttonpressed() || self.owner secondaryoffhandbuttonpressed() || isdefined(self.owner.throwinggrenade)) - { - break; - } - - if(self.owner isusingturret() || self.owner maps\mp\_utility::isusingremote()) - { - break; - } - - if(isdefined(self.owner.iscapturingcrate) && self.owner.iscapturingcrate) - { - break; - } - - if(isdefined(self.owner.empgrenaded) && self.owner.empgrenaded) - { - break; - } - - if(isdefined(self.owner.using_remote_turret) && self.owner.using_remote_turret) - { - break; - } - - var_03 = var_03 + 0.05; - if(var_03 > 0.75) - { - self.owner setweaponammostock(self.weaponname,self.owner setweaponammostock(self.weaponname) + 1); - self.explosivedrone deleteexplosivedrone(); - self delete(); - break; - } - - wait 0.05; - } - } - - wait 0.05; - } -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/_flashgrenades.gsc b/AW/PC/ZM/maps/mp/_flashgrenades.gsc deleted file mode 100644 index a19ed5d..0000000 --- a/AW/PC/ZM/maps/mp/_flashgrenades.gsc +++ /dev/null @@ -1,193 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_flashgrenades.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 7 - * Decompile Time: 115 ms - * Timestamp: 10/27/2023 2:08:24 AM -*******************************************************************/ - -//Function Number: 1 -main() -{ - precacheshellshock("flashbang_mp"); -} - -//Function Number: 2 -startmonitoringflash() -{ - thread monitorflash(); -} - -//Function Number: 3 -stopmonitoringflash(param_00) -{ - self notify("stop_monitoring_flash"); -} - -//Function Number: 4 -flashrumbleloop(param_00) -{ - self endon("stop_monitoring_flash"); - self endon("flash_rumble_loop"); - self notify("flash_rumble_loop"); - var_01 = gettime() + param_00 * 1000; - while(gettime() < var_01) - { - self playrumbleonentity("damage_heavy"); - wait(0.05); - } -} - -//Function Number: 5 -monitorflash() -{ - self endon("disconnect"); - self notify("monitorFlash"); - self endon("monitorFlash"); - self.flashendtime = 0; - var_00 = 2.5; - for(;;) - { - self waittill("flashbang",var_01,var_02,var_03,var_04,var_05,var_06); - if(!isalive(self)) - { - break; - } - - if(isdefined(self.usingremote)) - { - continue; - } - - if(!isdefined(var_06)) - { - var_06 = 0; - } - - var_07 = 0; - var_08 = 1; - if(var_03 < 0.25) - { - var_03 = 0.25; - } - else if(var_03 > 0.8) - { - var_03 = 1; - } - - var_09 = var_02 * var_03 * var_00; - var_09 = var_09 + var_06; - if(isdefined(self.stunscaler)) - { - var_09 = var_09 * self.stunscaler; - } - - if(var_09 < 0.25) - { - continue; - } - - var_0A = undefined; - if(var_09 > 2) - { - var_0A = 0.75; - } - else - { - var_0A = 0.25; - } - - if(level.teambased && isdefined(var_04) && isdefined(var_04.team) && var_04.team == self.team && var_04 != self) - { - if(level.friendlyfire == 0) - { - continue; - } - else if(level.friendlyfire == 1) - { - } - else if(level.friendlyfire == 2) - { - var_09 = var_09 * 0.5; - var_0A = var_0A * 0.5; - var_08 = 0; - var_07 = 1; - } - else if(level.friendlyfire == 3) - { - var_09 = var_09 * 0.5; - var_0A = var_0A * 0.5; - var_07 = 1; - } - } - else if(isdefined(var_04)) - { - if(var_04 != self) - { - var_04 maps\mp\gametypes\_missions::processchallenge("ch_indecentexposure"); - } - } - - if(var_08 && isdefined(self)) - { - thread applyflash(var_09,var_0A); - if(isdefined(var_04) && var_04 != self) - { - var_04 thread maps\mp\gametypes\_damagefeedback::updatedamagefeedback("flash"); - var_0B = self; - if(isplayer(var_04) && var_04 isitemunlocked("specialty_paint") && var_04 maps\mp\_utility::_hasperk("specialty_paint")) - { - if(!var_0B maps\mp\perks\_perkfunctions::ispainted()) - { - var_04 maps\mp\gametypes\_missions::processchallenge("ch_paint_pro"); - } - - var_0B thread maps\mp\perks\_perkfunctions::setpainted(var_04); - } - } - } - - if(var_07 && isdefined(var_04)) - { - var_04 thread applyflash(var_09,var_0A); - } - } -} - -//Function Number: 6 -applyflash(param_00,param_01) -{ - if(!isdefined(self.flashduration) || param_00 > self.flashduration) - { - self.flashduration = param_00; - } - - if(!isdefined(self.flashrumbleduration) || param_01 > self.flashrumbleduration) - { - self.flashrumbleduration = param_01; - } - - wait(0.05); - if(isdefined(self.flashduration)) - { - self shellshock("flashbang_mp",self.flashduration); - self.flashendtime = gettime() + self.flashduration * 1000; - thread maps\mp\_utility::light_set_override_for_player("flashed",0.1,0.1,self.flashduration - 0.1); - } - - if(isdefined(self.flashrumbleduration)) - { - thread flashrumbleloop(self.flashrumbleduration); - } - - self.flashduration = undefined; - self.flashrumbleduration = undefined; -} - -//Function Number: 7 -isflashbanged() -{ - return isdefined(self.flashendtime) && gettime() < self.flashendtime; -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/_global_fx.gsc b/AW/PC/ZM/maps/mp/_global_fx.gsc deleted file mode 100644 index ecbd988..0000000 --- a/AW/PC/ZM/maps/mp/_global_fx.gsc +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_global_fx.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 1 - * Decompile Time: 15 ms - * Timestamp: 10/27/2023 2:08:25 AM -*******************************************************************/ - -//Function Number: 1 -main() -{ - maps\mp\_global_fx_code::global_fx("ch_streetlight_02_FX_origin","fx/misc/lighthaze"); - maps\mp\_global_fx_code::global_fx("me_streetlight_01_FX_origin","fx/misc/lighthaze_bog_a"); - maps\mp\_global_fx_code::global_fx("ch_street_light_01_on","fx/misc/light_glow_white"); - maps\mp\_global_fx_code::global_fx("lamp_post_globe_on","fx/misc/light_glow_white"); - maps\mp\_global_fx_code::global_fx("highway_lamp_post","fx/misc/lighthaze_villassault"); - maps\mp\_global_fx_code::global_fx("cs_cargoship_spotlight_on_FX_origin","fx/misc/lighthaze"); - maps\mp\_global_fx_code::global_fx("com_tires_burning01_FX_origin","fx/fire/tire_fire_med"); - maps\mp\_global_fx_code::global_fx("icbm_powerlinetower_FX_origin","fx/misc/power_tower_light_red_blink"); - maps\mp\_global_fx_code::global_fx("icbm_mainframe_FX_origin","fx/props/icbm_mainframe_lightblink"); - maps\mp\_global_fx_code::global_fx("lighthaze_oilrig_FX_origin","fx/misc/lighthaze_oilrig"); - maps\mp\_global_fx_code::global_fx("lighthaze_white_FX_origin","fx/misc/lighthaze_white"); - maps\mp\_global_fx_code::global_fx("light_glow_walllight_white_FX_origin","fx/misc/light_glow_walllight_white"); - maps\mp\_global_fx_code::global_fx("fluorescent_glow_FX_origin","fx/misc/fluorescent_glow"); - maps\mp\_global_fx_code::global_fx("light_glow_industrial_FX_origin","fx/misc/light_glow_industrial"); - maps\mp\_global_fx_code::global_fx("highrise_blinky_tower","fx/misc/power_tower_light_red_blink_large"); - maps\mp\_global_fx_code::global_fx("light_glow_white_bulb_FX_origin","fx/misc/light_glow_white_bulb"); - maps\mp\_global_fx_code::global_fx("light_glow_white_lamp_FX_origin","fx/misc/light_glow_white_lamp"); - maps\mp\_global_fx_code::global_fx("light_red_steady_FX_origin","fx/misc/tower_light_red_steady",-2); - maps\mp\_global_fx_code::global_fx("light_blue_steady_FX_origin","vfx/lights/tower_light_glow_blue_steady",-2); - maps\mp\_global_fx_code::global_fx("light_orange_steady_FX_origin","fx/misc/tower_light_orange_steady",-2); - maps\mp\_global_fx_code::global_fx("glow_stick_pile_FX_origin","fx/misc/glow_stick_glow_pile",-2); - maps\mp\_global_fx_code::global_fx("glow_stick_orange_pile_FX_origin","fx/misc/glow_stick_glow_pile_orange",-2); - maps\mp\_global_fx_code::global_fx("light_pulse_red_FX_origin","fx/misc/light_glow_red_generic_pulse",-2); - maps\mp\_global_fx_code::global_fx("light_pulse_red_FX_origin","fx/misc/light_glow_red_generic_pulse",-2); - maps\mp\_global_fx_code::global_fx("light_pulse_orange_FX_origin","fx/misc/light_glow_orange_generic_pulse",-2); - maps\mp\_global_fx_code::global_fx("light_red_blink_FX_origin","fx/misc/power_tower_light_red_blink",-2); - maps\mp\_global_fx_code::global_fx("flare_ambient_FX_origin","fx/misc/flare_ambient",undefined,undefined,"emt_road_flare_burn"); - maps\mp\_global_fx_code::global_fx("me_dumpster_fire_FX_origin","fx/fire/firelp_med_pm",undefined,undefined,"fire_dumpster_medium"); - maps\mp\_global_fx_code::global_fx("barrel_fireFX_origin","fx/fire/firelp_barrel_pm",undefined,undefined,"fire_barrel_small"); -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/_global_fx_code.gsc b/AW/PC/ZM/maps/mp/_global_fx_code.gsc deleted file mode 100644 index b5bc61d..0000000 --- a/AW/PC/ZM/maps/mp/_global_fx_code.gsc +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_global_fx_code.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 1 - * Decompile Time: 21 ms - * Timestamp: 10/27/2023 2:08:25 AM -*******************************************************************/ - -//Function Number: 1 -global_fx(param_00,param_01,param_02,param_03,param_04) -{ - var_05 = common_scripts\utility::getstructarray(param_00,"targetname"); - if(var_05.size <= 0) - { - return; - } - - if(!isdefined(param_02)) - { - param_02 = randomfloatrange(-20,-15); - } - - if(!isdefined(param_03)) - { - param_03 = param_01; - } - - foreach(var_07 in var_05) - { - if(!isdefined(level._effect)) - { - level._effect = []; - } - - if(!isdefined(level._effect[param_03])) - { - level._effect[param_03] = loadfx(param_01); - } - - if(!isdefined(var_07.angles)) - { - var_07.angles = (0,0,0); - } - - var_08 = common_scripts\utility::createoneshoteffect(param_03); - var_08.v["origin"] = var_07.origin; - var_08.v["angles"] = var_07.angles; - var_08.v["fxid"] = param_03; - var_08.v["delay"] = param_02; - if(isdefined(param_04)) - { - var_08.v["soundalias"] = param_04; - } - } -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/_lasersight.gsc b/AW/PC/ZM/maps/mp/_lasersight.gsc deleted file mode 100644 index 5b13efa..0000000 --- a/AW/PC/ZM/maps/mp/_lasersight.gsc +++ /dev/null @@ -1,95 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_lasersight.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 2 - * Decompile Time: 28 ms - * Timestamp: 10/27/2023 2:08:26 AM -*******************************************************************/ - -//Function Number: 1 -lasersight_think() -{ - self endon("death"); - self endon("disconnect"); - self endon("faux_spawn"); - self.laser_on = undefined; - self.wasemp = 0; - self.has_laser = 0; - for(;;) - { - while(maps\mp\_utility::isemped() && self.has_laser) - { - wait(0.05); - self laseroff(); - self.wasemp = 1; - continue; - } - - if(self.wasemp && self.has_laser) - { - self.wasemp = 0; - self laseron(get_laser_name()); - } - - if(issubstr(self getcurrentweapon(),"maaws") || issubstr(self getcurrentweapon(),"dlcgun11loot3")) - { - self.has_laser = 1; - } - - if(self.has_laser && self isthrowinggrenade()) - { - if(isdefined(self.laser_on) && self.laser_on) - { - self laseroff(); - self.laser_on = 0; - while(!self isusingoffhand() && self isthrowinggrenade()) - { - wait(0.05); - } - - while(self isusingoffhand() && self isthrowinggrenade()) - { - wait(0.05); - } - - while(self isthrowinggrenade()) - { - wait(0.05); - } - - self laseron(get_laser_name()); - self.laser_on = 1; - } - } - - if(!self.has_laser) - { - if(isdefined(self.laser_on) && self.laser_on) - { - self laseroff(); - self.laser_on = 0; - } - } - else if(!isdefined(self.laser_on) || !self.laser_on) - { - self laseron(get_laser_name()); - self.laser_on = 1; - } - - wait(0.05); - } -} - -//Function Number: 2 -get_laser_name() -{ - var_00 = self getcurrentweapon(); - if(issubstr(var_00,"_dlcgun10loot5") || maps\mp\gametypes\_class::isexoxmg(var_00) || maps\mp\gametypes\_class::issac3(var_00)) - { - return "mp_attachment_lasersight_short"; - } - - return "mp_attachment_lasersight"; -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/_matchdata.gsc b/AW/PC/ZM/maps/mp/_matchdata.gsc deleted file mode 100644 index 942beb4..0000000 --- a/AW/PC/ZM/maps/mp/_matchdata.gsc +++ /dev/null @@ -1,1663 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_matchdata.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 38 - * Decompile Time: 569 ms - * Timestamp: 10/27/2023 2:08:28 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - if(!isdefined(game["gamestarted"])) - { - setmatchdatadef("mp/matchdata.def"); - setmatchdata("map",level.script); - if(level.hardcoremode) - { - var_00 = level.gametype + " hc"; - setmatchdata("gametype",var_00); - } - else - { - setmatchdata("gametype",level.gametype); - } - - setmatchdata("buildVersion",getbuildversion()); - setmatchdata("buildNumber",getbuildnumber()); - setmatchdataid(); - } - - level.maxlives = 490; - level.maxevents = 150; - level.maxkillstreaks = 64; - level.maxlogclients = 30; - level.maxnumchallengesperplayer = 5; - level.maxnumawardsperplayer = 10; - level.maxloadouts = 10; - level thread gameendlistener(); - if(getdvar("virtualLobbyActive") != "1") - { - level thread reconlogplayerinfo(); - } -} - -//Function Number: 2 -matchstarted() -{ - if(getdvar("virtualLobbyActive") == "1") - { - return; - } - - if(getdvar("mapname") == getdvar("virtualLobbyMap")) - { - return; - } - - sysprint("MatchStarted: Completed"); - var_00 = getplaylistname(); - setmatchdata("playlistName",var_00); - var_01 = getlocaltimestring(); - setmatchdata("localTimeStringAtMatchStart",var_01); - if(getmatchstarttimeutc() == 0) - { - setmatchdata("startTimeUTC",getsystemtime()); - } - - setmatchdata("iseSports",maps\mp\_utility::ismlgmatch()); - if(maps\mp\_utility::privatematch()) - { - setmatchdata("privateMatch",1); - } - - if(maps\mp\_utility::practiceroundgame()) - { - setmatchdata("practiceRound",1); - } - - if(!maps\mp\_utility::isaugmentedgamemode()) - { - setmatchdata("classicMode",1); - } - - if(maps\mp\_utility::isdivisionmode()) - { - setmatchdata("divisionMode",1); - } - - var_02 = 0; - if(isdefined(level.iszombiegame) && level.iszombiegame && isdefined(game["start_in_zmb_hard_mode"]) && game["start_in_zmb_hard_mode"]) - { - var_02 = 1; - } - - setmatchdata("isHardMode",var_02); - thread logbreadcrumbdata(); - thread accumulateplayerpingdata(); -} - -//Function Number: 3 -logbreadcrumbdata() -{ - level endon("game_ended"); - for(;;) - { - var_00 = maps\mp\_utility::getgametimepassedseconds(); - foreach(var_02 in level.players) - { - if(isbot(var_02) || istestclient(var_02)) - { - continue; - } - - if(maps\mp\_utility::isreallyalive(var_02) && isdefined(var_02.lifeid) && canloglife(var_02.lifeid)) - { - var_03 = 31; - if(isdefined(var_02.lastshotby)) - { - var_03 = var_02.lastshotby; - } - - recordbreadcrumbdataforplayer(var_02,var_02.lifeid,var_00,var_03); - var_02.lastshotby = undefined; - } - } - - if(isdefined(level.iszombiegame) && level.iszombiegame) - { - wait(5); - continue; - } - - wait(2); - } -} - -//Function Number: 4 -accumulateplayerpingdata() -{ - level endon("game_ended"); - for(;;) - { - foreach(var_01 in level.players) - { - if(isbot(var_01) || istestclient(var_01)) - { - continue; - } - - if(!isdefined(var_01.pers["pingAccumulation"]) || !isdefined(var_01.pers["minPing"]) || !isdefined(var_01.pers["maxPing"]) || !isdefined(var_01.pers["pingSampleCount"])) - { - continue; - } - - var_02 = var_01 getcurrentping(); - var_01.pers["pingAccumulation"] = var_01.pers["pingAccumulation"] + var_02; - var_01.pers["pingSampleCount"]++; - if(var_01.pers["pingSampleCount"] > 5 && var_02 > 0) - { - if(var_02 > var_01.pers["maxPing"]) - { - var_01.pers["maxPing"] = var_02; - } - - if(var_02 < var_01.pers["minPing"]) - { - var_01.pers["minPing"] = var_02; - } - } - } - - wait(2); - } -} - -//Function Number: 5 -getmatchstarttimeutc() -{ - return getmatchdata("startTimeUTC"); -} - -//Function Number: 6 -logkillstreakevent(param_00,param_01) -{ - if(!canlogclient(self) || !canlogkillstreak()) - { - return; - } - - var_02 = getmatchdata("killstreakCount"); - setmatchdata("killstreakCount",var_02 + 1); - setmatchdata("killstreaks",var_02,"eventType",param_00); - setmatchdata("killstreaks",var_02,"player",self.clientid); - setmatchdata("killstreaks",var_02,"eventStartTimeDeciSecondsFromMatchStart",maps\mp\_utility::gettimepasseddeciseconds()); - setmatchdata("killstreaks",var_02,"eventPos",0,int(param_01[0])); - setmatchdata("killstreaks",var_02,"eventPos",1,int(param_01[1])); - setmatchdata("killstreaks",var_02,"eventPos",2,int(param_01[2])); - setmatchdata("killstreaks",var_02,"index",var_02); - setmatchdata("killstreaks",var_02,"coopPlayerIndex",255); - self.currentkillstreakindex = var_02; - reconspatialevent(param_01,"script_mp_killstreak: eventType %s, player_name %s, player %d, gameTime %d",param_00,self.name,self.clientid,gettime()); -} - -//Function Number: 7 -loggameevent(param_00,param_01) -{ - if(!canlogclient(self) || !canlogevent()) - { - return; - } - - var_02 = getmatchdata("eventCount"); - setmatchdata("eventCount",var_02 + 1); - setmatchdata("events",var_02,"eventType",param_00); - setmatchdata("events",var_02,"player",self.clientid); - setmatchdata("events",var_02,"eventTimeDeciSecondsFromMatchStart",maps\mp\_utility::gettimepasseddeciseconds()); - setmatchdata("events",var_02,"eventPos",0,int(param_01[0])); - setmatchdata("events",var_02,"eventPos",1,int(param_01[1])); - setmatchdata("events",var_02,"eventPos",2,int(param_01[2])); - reconspatialevent(param_01,"script_mp_event: event_type %s, player_name %s, player %d, gameTime %d",param_00,self.name,self.clientid,gettime()); -} - -//Function Number: 8 -logkillevent(param_00,param_01) -{ - if(!canloglife(param_00)) - { - return; - } - - setmatchdata("lives",param_00,"modifiers",param_01,1); -} - -//Function Number: 9 -logmultikill(param_00,param_01) -{ - if(!canloglife(param_00)) - { - return; - } - - setmatchdata("lives",param_00,"multikill",param_01); -} - -//Function Number: 10 -logplayerlife(param_00) -{ - if(!canlogclient(self) || !canloglife(self.lifeid)) - { - return; - } - - var_01 = gettime() - self.spawntime; - self.totallifetime = self.totallifetime + var_01; - var_02 = maps\mp\_utility::convertmillisecondstodecisecondsandclamptoshort(var_01); - setmatchdata("lives",self.lifeid,"player",self.clientid); - setmatchdata("lives",self.lifeid,"spawnPos",0,int(self.spawnpos[0])); - setmatchdata("lives",self.lifeid,"spawnPos",1,int(self.spawnpos[1])); - setmatchdata("lives",self.lifeid,"spawnPos",2,int(self.spawnpos[2])); - setmatchdata("lives",self.lifeid,"wasTacticalInsertion",self.wasti); - setmatchdata("lives",self.lifeid,"team",self.team); - if(isdefined(self.spawntimedecisecondsfrommatchstart)) - { - setmatchdata("lives",self.lifeid,"spawnTimeDeciSecondsFromMatchStart",self.spawntimedecisecondsfrommatchstart); - } - else - { - setmatchdata("lives",self.lifeid,"spawnTimeDeciSecondsFromMatchStart",-1); - } - - setmatchdata("lives",self.lifeid,"durationDeciSeconds",var_02); - var_03 = logloadout(); - setmatchdata("lives",self.lifeid,"loadoutIndex",var_03); - var_04 = maps\mp\_utility::clamptoshort(self.pers["score"] - self.scoreatlifestart); - setmatchdata("lives",self.lifeid,"scoreEarnedDuringThisLife",var_04); - if(isdefined(self.pers["summary"]) && isdefined(self.pers["summary"]["xp"])) - { - if(isdefined(self.xpatlifestart)) - { - var_05 = maps\mp\_utility::clamptoshort(self.pers["summary"]["xp"] - self.xpatlifestart); - setmatchdata("lives",self.lifeid,"xpEarnedDuringThisLife",var_05); - } - } -} - -//Function Number: 11 -logplayerxp(param_00,param_01) -{ - if(!canlogclient(self)) - { - return; - } - - setmatchdata("players",self.clientid,param_01,param_00); -} - -//Function Number: 12 -logcompletedchallenge(param_00) -{ - if(!isplayer(self) || !canlogclient(self) || isbot(self)) - { - return; - } - - var_01 = getmatchdata("players",self.clientid,"challengeCount"); - if(var_01 < level.maxnumchallengesperplayer) - { - setmatchdata("players",self.clientid,"challenges",var_01,param_00); - setmatchdata("players",self.clientid,"challengeCount",var_01 + 1); - } -} - -//Function Number: 13 -logloadout() -{ - var_00 = 255; - if(!canlogclient(self) || !canloglife(self.lifeid) || self.curclass == "gamemode") - { - return var_00; - } - - var_01 = self.curclass; - var_02 = 0; - for(var_02 = 0;var_02 < level.maxloadouts;var_02++) - { - var_03 = getmatchdata("players",self.clientid,"loadouts",var_02,"slotUsed"); - if(!var_03) - { - break; - } - else - { - var_04 = getmatchdata("players",self.clientid,"loadouts",var_02,"className"); - if(var_01 == var_04) - { - return var_02; - } - } - } - - if(var_02 == level.maxloadouts) - { - return var_00; - } - - setmatchdata("players",self.clientid,"loadouts",var_02,"slotUsed",1); - setmatchdata("players",self.clientid,"loadouts",var_02,"className",var_01); - var_05 = ""; - var_06 = ""; - var_07 = ""; - var_08 = ""; - var_09 = []; - var_0A = []; - var_0B = ""; - var_0C = 0; - var_0D = ""; - var_0E = ""; - var_0F = 0; - if(var_01 == "copycat") - { - var_10 = self.pers["copyCatLoadout"]; - var_11 = var_10["loadoutPrimary"]; - var_12 = var_10["loadoutPrimaryAttachment"]; - var_13 = var_10["loadoutPrimaryAttachment2"]; - var_14 = var_10["loadoutPrimaryAttachment3"]; - var_15 = var_10["loadoutPrimaryCamo"]; - var_16 = var_10["loadoutPrimaryReticle"]; - var_17 = var_10["loadoutSecondary"]; - var_18 = var_10["loadoutSecondaryAttachment"]; - var_19 = var_10["loadoutSecondaryAttachment2"]; - var_1A = var_10["loadoutSecondaryCamo"]; - var_1B = var_10["loadoutSecondaryReticle"]; - var_0B = var_10["loadoutEquipment"]; - var_0C = var_10["loadoutEquipmentExtra"]; - var_0D = var_10["loadoutOffhand"]; - var_0F = var_10["loadoutOffhandExtra"]; - for(var_1C = 0;var_1C < 6;var_1C++) - { - var_09[var_1C] = var_10["loadoutPerks"][var_1C]; - } - - for(var_1C = 0;var_1C < 3;var_1C++) - { - var_0A[var_1C] = var_10["loadoutWildcards"][var_1C]; - } - - var_05 = var_10["loadoutKillstreaks"][0]; - var_1D = var_10["loadoutKillstreakModules"][0][0]; - var_1E = var_10["loadoutKillstreakModules"][0][1]; - var_1F = var_10["loadoutKillstreakModules"][0][2]; - var_06 = var_10["loadoutKillstreaks"][1]; - var_20 = var_10["loadoutKillstreakModules"][1][0]; - var_21 = var_10["loadoutKillstreakModules"][1][1]; - var_22 = var_10["loadoutKillstreakModules"][1][2]; - var_07 = var_10["loadoutKillstreaks"][2]; - var_23 = var_10["loadoutKillstreakModules"][2][0]; - var_24 = var_10["loadoutKillstreakModules"][2][1]; - var_25 = var_10["loadoutKillstreakModules"][2][2]; - var_08 = var_10["loadoutKillstreaks"][3]; - var_26 = var_10["loadoutKillstreakModules"][3][0]; - var_27 = var_10["loadoutKillstreakModules"][3][1]; - var_28 = var_10["loadoutKillstreakModules"][3][2]; - } - else if(issubstr(var_19,"custom")) - { - var_29 = maps\mp\_utility::getclassindex(var_19); - var_11 = maps\mp\gametypes\_class::cac_getweapon(var_29,0); - var_12 = maps\mp\gametypes\_class::cac_getweaponattachment(var_29,0); - var_13 = maps\mp\gametypes\_class::cac_getweaponattachmenttwo(var_29,0); - var_14 = maps\mp\gametypes\_class::cac_getweaponattachmentthree(var_29,0); - var_15 = maps\mp\gametypes\_class::cac_getweaponcamo(var_29,0); - for(var_1C = 0;var_1C < 6;var_1C++) - { - var_09[var_1C] = maps\mp\gametypes\_class::cac_getperk(var_29,var_1C); - } - - for(var_1C = 0;var_1C < 3;var_1C++) - { - var_0A[var_1C] = maps\mp\gametypes\_class::cac_getwildcard(var_29,var_1C); - } - - var_17 = maps\mp\gametypes\_class::cac_getweapon(var_29,1); - var_18 = maps\mp\gametypes\_class::cac_getweaponattachment(var_29,1); - var_19 = maps\mp\gametypes\_class::cac_getweaponattachmenttwo(var_29,1); - var_1A = maps\mp\gametypes\_class::cac_getweaponcamo(var_29,1); - var_0B = maps\mp\gametypes\_class::cac_getequipment(var_29,0); - var_0C = maps\mp\gametypes\_class::cac_getequipmentextra(var_29,0); - var_0D = maps\mp\gametypes\_class::cac_getoffhand(var_29); - var_05 = maps\mp\gametypes\_class::cac_getkillstreak(var_29,0); - var_1D = maps\mp\gametypes\_class::cac_getkillstreakmodule(var_29,0,0); - var_1E = maps\mp\gametypes\_class::cac_getkillstreakmodule(var_29,0,1); - var_1F = maps\mp\gametypes\_class::cac_getkillstreakmodule(var_29,0,2); - var_06 = maps\mp\gametypes\_class::cac_getkillstreak(var_29,1); - var_20 = maps\mp\gametypes\_class::cac_getkillstreakmodule(var_29,1,0); - var_21 = maps\mp\gametypes\_class::cac_getkillstreakmodule(var_29,1,1); - var_22 = maps\mp\gametypes\_class::cac_getkillstreakmodule(var_29,1,2); - var_07 = maps\mp\gametypes\_class::cac_getkillstreak(var_29,2); - var_23 = maps\mp\gametypes\_class::cac_getkillstreakmodule(var_29,2,0); - var_24 = maps\mp\gametypes\_class::cac_getkillstreakmodule(var_29,2,1); - var_25 = maps\mp\gametypes\_class::cac_getkillstreakmodule(var_29,2,2); - var_08 = maps\mp\gametypes\_class::cac_getkillstreak(var_29,3); - var_26 = maps\mp\gametypes\_class::cac_getkillstreakmodule(var_29,3,0); - var_27 = maps\mp\gametypes\_class::cac_getkillstreakmodule(var_29,3,1); - var_28 = maps\mp\gametypes\_class::cac_getkillstreakmodule(var_29,3,2); - } - else if(issubstr(var_1A,"practice")) - { - var_29 = maps\mp\_utility::getclassindex(var_1A); - var_29 = self.pers["practiceRoundClasses"][var_29]; - var_11 = maps\mp\gametypes\_class::table_getweapon(level.practiceroundclasstablename,var_29,0); - var_12 = maps\mp\gametypes\_class::table_getweaponattachment(level.practiceroundclasstablename,var_29,0,0); - var_13 = maps\mp\gametypes\_class::table_getweaponattachment(level.practiceroundclasstablename,var_29,0,1); - var_14 = maps\mp\gametypes\_class::table_getweaponattachment(level.practiceroundclasstablename,var_29,0,2); - var_15 = maps\mp\gametypes\_class::table_getweaponcamo(level.practiceroundclasstablename,var_29,0); - var_17 = maps\mp\gametypes\_class::table_getweapon(level.practiceroundclasstablename,var_29,1); - var_18 = maps\mp\gametypes\_class::table_getweaponattachment(level.practiceroundclasstablename,var_29,1,0); - var_19 = maps\mp\gametypes\_class::table_getweaponattachment(level.practiceroundclasstablename,var_29,1,1); - var_1A = maps\mp\gametypes\_class::table_getweaponcamo(level.practiceroundclasstablename,var_29,1); - var_0B = maps\mp\gametypes\_class::table_getequipment(level.practiceroundclasstablename,var_29); - var_0C = maps\mp\gametypes\_class::table_getequipmentextra(level.practiceroundclasstablename,var_29); - var_0D = maps\mp\gametypes\_class::table_getoffhand(level.practiceroundclasstablename,var_29); - for(var_1C = 0;var_1C < 6;var_1C++) - { - var_09[var_1C] = maps\mp\gametypes\_class::table_getperk(level.practiceroundclasstablename,var_29,var_1C); - } - - for(var_1C = 0;var_1C < 3;var_1C++) - { - var_0A[var_1C] = maps\mp\gametypes\_class::table_getwildcard(level.practiceroundclasstablename,var_29,var_1C); - } - - var_05 = maps\mp\gametypes\_class::table_getkillstreak(level.practiceroundclasstablename,var_29,0); - var_1D = maps\mp\gametypes\_class::table_getkillstreakmodule(level.practiceroundclasstablename,var_29,0,0); - var_1E = maps\mp\gametypes\_class::table_getkillstreakmodule(level.practiceroundclasstablename,var_29,0,1); - var_1F = maps\mp\gametypes\_class::table_getkillstreakmodule(level.practiceroundclasstablename,var_29,0,2); - var_06 = maps\mp\gametypes\_class::table_getkillstreak(level.practiceroundclasstablename,var_29,1); - var_20 = maps\mp\gametypes\_class::table_getkillstreakmodule(level.practiceroundclasstablename,var_29,1,0); - var_21 = maps\mp\gametypes\_class::table_getkillstreakmodule(level.practiceroundclasstablename,var_29,1,1); - var_22 = maps\mp\gametypes\_class::table_getkillstreakmodule(level.practiceroundclasstablename,var_29,1,2); - var_07 = maps\mp\gametypes\_class::table_getkillstreak(level.practiceroundclasstablename,var_29,2); - var_23 = maps\mp\gametypes\_class::table_getkillstreakmodule(level.practiceroundclasstablename,var_29,2,0); - var_24 = maps\mp\gametypes\_class::table_getkillstreakmodule(level.practiceroundclasstablename,var_29,2,1); - var_25 = maps\mp\gametypes\_class::table_getkillstreakmodule(level.practiceroundclasstablename,var_29,2,2); - var_08 = maps\mp\gametypes\_class::table_getkillstreak(level.practiceroundclasstablename,var_29,3); - var_26 = maps\mp\gametypes\_class::table_getkillstreakmodule(level.practiceroundclasstablename,var_29,3,0); - var_27 = maps\mp\gametypes\_class::table_getkillstreakmodule(level.practiceroundclasstablename,var_29,3,1); - var_28 = maps\mp\gametypes\_class::table_getkillstreakmodule(level.practiceroundclasstablename,var_29,3,2); - } - else - { - var_29 = maps\mp\_utility::getclassindex(var_1A); - var_11 = maps\mp\gametypes\_class::table_getweapon(level.classtablename,var_29,0); - var_12 = maps\mp\gametypes\_class::table_getweaponattachment(level.classtablename,var_29,0,0); - var_13 = maps\mp\gametypes\_class::table_getweaponattachment(level.classtablename,var_29,0,1); - var_14 = maps\mp\gametypes\_class::table_getweaponattachment(level.classtablename,var_29,0,2); - var_15 = maps\mp\gametypes\_class::table_getweaponcamo(level.classtablename,var_29,0); - for(var_1C = 0;var_1C < 6;var_1C++) - { - var_09[var_1C] = maps\mp\gametypes\_class::table_getperk(level.classtablename,var_29,var_1C); - } - - for(var_1C = 0;var_1C < 3;var_1C++) - { - var_0A[var_1C] = maps\mp\gametypes\_class::table_getwildcard(level.classtablename,var_29,var_1C); - } - - var_17 = maps\mp\gametypes\_class::table_getweapon(level.classtablename,var_29,1); - var_18 = maps\mp\gametypes\_class::table_getweaponattachment(level.classtablename,var_29,1,0); - var_19 = maps\mp\gametypes\_class::table_getweaponattachment(level.classtablename,var_29,1,1); - var_1A = maps\mp\gametypes\_class::table_getweaponcamo(level.classtablename,var_29,1); - var_0B = maps\mp\gametypes\_class::table_getequipment(level.classtablename,var_29); - var_0C = maps\mp\gametypes\_class::table_getequipmentextra(level.classtablename,var_29); - var_0D = maps\mp\gametypes\_class::table_getoffhand(level.classtablename,var_29); - var_05 = maps\mp\gametypes\_class::table_getkillstreak(level.classtablename,var_29,0); - var_1D = maps\mp\gametypes\_class::table_getkillstreakmodule(level.classtablename,var_29,0,0); - var_1E = maps\mp\gametypes\_class::table_getkillstreakmodule(level.classtablename,var_29,0,1); - var_1F = maps\mp\gametypes\_class::table_getkillstreakmodule(level.classtablename,var_29,0,2); - var_06 = maps\mp\gametypes\_class::table_getkillstreak(level.classtablename,var_29,1); - var_20 = maps\mp\gametypes\_class::table_getkillstreakmodule(level.classtablename,var_29,1,0); - var_21 = maps\mp\gametypes\_class::table_getkillstreakmodule(level.classtablename,var_29,1,1); - var_22 = maps\mp\gametypes\_class::table_getkillstreakmodule(level.classtablename,var_29,1,2); - var_07 = maps\mp\gametypes\_class::table_getkillstreak(level.classtablename,var_29,2); - var_23 = maps\mp\gametypes\_class::table_getkillstreakmodule(level.classtablename,var_29,2,0); - var_24 = maps\mp\gametypes\_class::table_getkillstreakmodule(level.classtablename,var_29,2,1); - var_25 = maps\mp\gametypes\_class::table_getkillstreakmodule(level.classtablename,var_29,2,2); - var_08 = maps\mp\gametypes\_class::table_getkillstreak(level.classtablename,var_29,3); - var_26 = maps\mp\gametypes\_class::table_getkillstreakmodule(level.classtablename,var_29,3,0); - var_27 = maps\mp\gametypes\_class::table_getkillstreakmodule(level.classtablename,var_29,3,1); - var_28 = maps\mp\gametypes\_class::table_getkillstreakmodule(level.classtablename,var_29,3,2); - } - - var_12 = maps\mp\_utility::attachmentmap_tobase(var_12); - var_13 = maps\mp\_utility::attachmentmap_tobase(var_13); - var_14 = maps\mp\_utility::attachmentmap_tobase(var_14); - var_18 = maps\mp\_utility::attachmentmap_tobase(var_18); - var_19 = maps\mp\_utility::attachmentmap_tobase(var_19); - setmatchdata("players",self.clientid,"loadouts",var_02,"primaryWeapon",var_11); - setmatchdata("players",self.clientid,"loadouts",var_02,"primaryAttachments",0,var_12); - setmatchdata("players",self.clientid,"loadouts",var_02,"primaryAttachments",1,var_13); - setmatchdata("players",self.clientid,"loadouts",var_02,"primaryAttachments",2,var_14); - for(var_1C = 0;var_1C < 6;var_1C++) - { - setmatchdata("players",self.clientid,"loadouts",var_02,"perkSlots",var_1C,var_09[var_1C]); - } - - for(var_1C = 0;var_1C < 3;var_1C++) - { - setmatchdata("players",self.clientid,"loadouts",var_02,"wildcardSlots",var_1C,var_0A[var_1C]); - } - - setmatchdata("players",self.clientid,"loadouts",var_02,"secondaryWeapon",var_17); - setmatchdata("players",self.clientid,"loadouts",var_02,"secondaryAttachments",0,var_18); - setmatchdata("players",self.clientid,"loadouts",var_02,"secondaryAttachments",1,var_19); - setmatchdata("players",self.clientid,"loadouts",var_02,"offhandWeapon",var_0D); - setmatchdata("players",self.clientid,"loadouts",var_02,"equipment",var_0B); - setmatchdata("players",self.clientid,"loadouts",var_02,"equipmentWeaponExtra",var_0C); - setmatchdata("players",self.clientid,"loadouts",var_02,"assaultStreaks",0,"streak",var_05); - setmatchdata("players",self.clientid,"loadouts",var_02,"assaultStreaks",0,"modules",0,var_1D); - setmatchdata("players",self.clientid,"loadouts",var_02,"assaultStreaks",0,"modules",1,var_1E); - setmatchdata("players",self.clientid,"loadouts",var_02,"assaultStreaks",0,"modules",2,var_1F); - setmatchdata("players",self.clientid,"loadouts",var_02,"assaultStreaks",1,"streak",var_06); - setmatchdata("players",self.clientid,"loadouts",var_02,"assaultStreaks",1,"modules",0,var_20); - setmatchdata("players",self.clientid,"loadouts",var_02,"assaultStreaks",1,"modules",1,var_21); - setmatchdata("players",self.clientid,"loadouts",var_02,"assaultStreaks",1,"modules",2,var_22); - setmatchdata("players",self.clientid,"loadouts",var_02,"assaultStreaks",2,"streak",var_07); - setmatchdata("players",self.clientid,"loadouts",var_02,"assaultStreaks",2,"modules",0,var_23); - setmatchdata("players",self.clientid,"loadouts",var_02,"assaultStreaks",2,"modules",1,var_24); - setmatchdata("players",self.clientid,"loadouts",var_02,"assaultStreaks",2,"modules",2,var_25); - setmatchdata("players",self.clientid,"loadouts",var_02,"assaultStreaks",3,"streak",var_08); - setmatchdata("players",self.clientid,"loadouts",var_02,"assaultStreaks",3,"modules",0,var_26); - setmatchdata("players",self.clientid,"loadouts",var_02,"assaultStreaks",3,"modules",1,var_27); - setmatchdata("players",self.clientid,"loadouts",var_02,"assaultStreaks",3,"modules",2,var_28); - thread recon_log_loadout(self,var_11,var_12,var_13,var_14,var_15,var_17,var_18,var_19,var_1A,var_0B,var_0C,var_0D,var_09[0],var_09[1],var_09[2],var_09[3],var_09[4],var_09[5],var_0A[0],var_0A[1],var_0A[2],var_05,var_1D,var_1E,var_1F,var_06,var_20,var_21,var_22,var_07,var_23,var_24,var_25,var_08,var_26,var_27,var_28); - return var_02; -} - -//Function Number: 14 -recon_log_loadout(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B,param_0C,param_0D,param_0E,param_0F,param_10,param_11,param_12,param_13,param_14,param_15,param_16,param_17,param_18,param_19,param_1A,param_1B,param_1C,param_1D,param_1E,param_1F,param_20,param_21,param_22,param_23,param_24,param_25) -{ - var_26 = isbot(param_00) || istestclient(param_00); - var_27 = "_matchdata.gsc"; - var_28 = param_00.spawntime; - var_29 = param_00.curclass; - var_2A = param_00.name; - reconevent("@"script_mp_loadout_gear: script_file %s, gameTime %d, player_name %s, is_bot %b, class %s, primary_weapon %s, primary_attach_1 %s, primary_attach_2 %s, primary_attach_3 %s, primary_camo %s, secondary_weapon %s, secondary_attach_1 %s, secondary_attach_2 %s, secondary_camo %s, equipment %s, equipment_extra %b, exo_ability %s",var_27,var_28,var_2A,var_26,var_29,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B,param_0C); - reconevent("script_mp_loadout_perks: script_file %s, gameTime %d, player_name %s, perk_1 %s, perk_2 %s, perk_3 %s, perk_4 %s, perk_5 %s, perk_6 %s, wildcard_1 %s, wildcard_2 %s, wildcard_3 %s",var_27,var_28,var_2A,param_0D,param_0E,param_0F,param_10,param_11,param_12,param_13,param_14,param_15); - reconevent("@"script_mp_loadout_killstreaks: script_file %s, gameTime %d, player_name %s, killstreak_1 %s, killstreak_1_module_a %s, killstreak_1_module_b %s, killstreak_1_module_c %s, killstreak_2 %s, killstreak_2_module_a %s, killstreak_2_module_b %s, killstreak_2_module_c %s, killstreak_3 %s, killstreak_3_module_a %s, killstreak_3_module_b %s, killstreak_3_module_c %s, killstreak_4 %s, killstreak_4_module_a %s, killstreak_4_module_b %s, killstreak_4_module_c %s",var_27,var_28,var_2A,param_16,param_17,param_18,param_19,param_1A,param_1B,param_1C,param_1D,param_1E,param_1F,param_20,param_21,param_22,param_23,param_24,param_25); -} - -//Function Number: 15 -logplayerandkillerexomovedata(param_00,param_01) -{ - if(!canlogclient(self) || isplayer(param_01) && !canlogclient(param_01) || !canloglife(param_00)) - { - return; - } - - if(param_00 >= level.maxlives) - { - return; - } - - var_02 = maps\mp\_utility::gettimepasseddecisecondsincludingrounds(); - if(isdefined(self.exocount["exo_boost"]) && isdefined(self.exomostrecenttimedeciseconds["exo_boost"])) - { - var_03 = maps\mp\_utility::clamptobyte(self.exocount["exo_boost"]); - setmatchdata("lives",param_00,"numberOfBoosts",var_03); - var_04 = maps\mp\_utility::clamptobyte(var_02 - self.exomostrecenttimedeciseconds["exo_boost"]); - setmatchdata("lives",param_00,"victimDeciSecondsSinceLastBoost",var_04); - } - - if(isdefined(self.exocount["ground_slam"]) && isdefined(self.exomostrecenttimedeciseconds["ground_slam"])) - { - var_03 = maps\mp\_utility::clamptobyte(self.exocount["ground_slam"]); - setmatchdata("lives",param_00,"numberOfBoostsSlams",var_03); - var_04 = maps\mp\_utility::clamptobyte(var_02 - self.exomostrecenttimedeciseconds["ground_slam"]); - setmatchdata("lives",param_00,"victimDeciSecondsSinceLastBoostSlam",var_04); - } - - if(isdefined(self.exocount["exo_dodge"]) && isdefined(self.exomostrecenttimedeciseconds["exo_dodge"])) - { - var_03 = maps\mp\_utility::clamptobyte(self.exocount["exo_dodge"]); - setmatchdata("lives",param_00,"numberOfDodges",var_03); - var_04 = maps\mp\_utility::clamptobyte(var_02 - self.exomostrecenttimedeciseconds["exo_dodge"]); - setmatchdata("lives",param_00,"victimDeciSecondsSinceLastDodge",var_04); - } - - if(isdefined(self.exocount["exo_slide"])) - { - var_03 = maps\mp\_utility::clamptobyte(self.exocount["exo_slide"]); - setmatchdata("lives",param_00,"numberOfKneeSlides",var_03); - } - - if(isplayer(param_01)) - { - if(!isdefined(param_01.exomostrecenttimedeciseconds)) - { - return; - } - - if(isdefined(param_01.exomostrecenttimedeciseconds["exo_boost"])) - { - var_04 = maps\mp\_utility::clamptobyte(var_02 - param_01.exomostrecenttimedeciseconds["exo_boost"]); - setmatchdata("lives",param_00,"killerDeciSecondsSinceLastBoost",var_04); - } - - if(isdefined(param_01.exomostrecenttimedeciseconds["ground_slam"])) - { - var_04 = maps\mp\_utility::clamptobyte(var_02 - param_01.exomostrecenttimedeciseconds["ground_slam"]); - setmatchdata("lives",param_00,"killerDeciSecondsSinceLastBoostSlam",var_04); - } - - if(isdefined(param_01.exomostrecenttimedeciseconds["exo_dodge"])) - { - var_04 = maps\mp\_utility::clamptobyte(var_02 - param_01.exomostrecenttimedeciseconds["exo_dodge"]); - setmatchdata("lives",param_00,"killerDeciSecondsSinceLastDodge",var_04); - } - } -} - -//Function Number: 16 -logplayerandkilleradsandfov(param_00,param_01) -{ - if(!canlogclient(self) || isplayer(param_01) && !canlogclient(param_01) || !canloglife(param_00)) - { - return; - } - - if(param_00 >= level.maxlives) - { - return; - } - - if(isplayer(param_01)) - { - if(param_01 playerads() > 0.5) - { - setmatchdata("lives",param_00,"killerWasADS",1); - } - - var_02 = param_01 geteye(); - if(common_scripts\utility::within_fov(var_02,param_01.angles,self.origin,cos(getdvarfloat("cg_fov")))) - { - setmatchdata("lives",param_00,"victimWasInKillersFOV",1); - } - - var_03 = self geteye(); - if(common_scripts\utility::within_fov(var_03,self.angles,param_01.origin,cos(getdvarfloat("cg_fov")))) - { - setmatchdata("lives",param_00,"killerWasInVictimsFOV",1); - } - } - - if(self playerads() > 0.5) - { - setmatchdata("lives",param_00,"victimWasADS",1); - } -} - -//Function Number: 17 -logplayerandkillershieldcloakhoveractive(param_00,param_01) -{ - if(!canlogclient(self) || isplayer(param_01) && !canlogclient(param_01) || !canloglife(param_00)) - { - return; - } - - if(param_00 >= level.maxlives) - { - return; - } - - if(isdefined(self.exo_shield_on) && self.exo_shield_on) - { - setmatchdata("lives",param_00,"victimShieldActive",1); - } - - if(isdefined(self.exo_hover_on) && self.exo_hover_on) - { - setmatchdata("lives",param_00,"victimHoverActive",1); - } - - if(self iscloaked()) - { - setmatchdata("lives",param_00,"victimCloakingActive",1); - } - - if(isplayer(param_01)) - { - if(isdefined(param_01.exo_shield_on) && param_01.exo_shield_on) - { - setmatchdata("lives",param_00,"killerShieldActive",1); - } - - if(isdefined(param_01.exo_hover_on) && param_01.exo_hover_on) - { - setmatchdata("lives",param_00,"killerHoverActive",1); - } - - if(param_01 iscloaked()) - { - setmatchdata("lives",param_00,"killerCloakingActive",1); - } - } -} - -//Function Number: 18 -determineweaponnameandattachments(param_00,param_01) -{ - var_02 = undefined; - var_03 = undefined; - if(param_00 == "none") - { - var_02 = "none"; - var_03 = "none"; - } - else - { - var_02 = weaponinventorytype(param_00); - var_03 = weaponclass(param_00); - } - - if(issubstr(param_00,"destructible")) - { - param_00 = "destructible"; - } - - var_04 = []; - var_04[0] = "None"; - var_04[1] = "None"; - var_04[2] = "None"; - var_05 = ""; - if(isdefined(var_02) && var_02 == "primary" || var_02 == "altmode" && var_03 == "pistol" || var_03 == "smg" || var_03 == "rifle" || var_03 == "spread" || var_03 == "mg" || var_03 == "grenade" || var_03 == "rocketlauncher" || var_03 == "sniper" || var_03 == "cone" || var_03 == "beam" || var_03 == "shield") - { - if(var_02 == "altmode") - { - if(isdefined(param_01)) - { - param_00 = param_01; - } - } - - var_06 = maps\mp\_utility::getweaponnametokens(param_00); - var_05 = maps\mp\_utility::getbaseweaponname(param_00); - if(var_06[0] == "iw5" || var_06[0] == "iw6") - { - var_07 = getweaponattachments(param_00); - var_08 = 0; - foreach(var_0A in var_07) - { - if(!maps\mp\_utility::isattachment(var_0A)) - { - continue; - } - - var_0B = maps\mp\_utility::attachmentmap_tobase(var_0A); - if(var_08 <= 2) - { - var_04[var_08] = var_0B; - var_08++; - continue; - } - - break; - } - } - else if(var_06[0] == "alt") - { - var_0D = var_06[1] + "_" + var_06[2]; - var_05 = var_0D; - if(isdefined(var_06[4]) && maps\mp\_utility::isattachment(var_06[4])) - { - var_0B = maps\mp\_utility::attachmentmap_tobase(var_06[4]); - var_04[0] = var_0B; - } - - if(isdefined(var_06[5]) && maps\mp\_utility::isattachment(var_06[5])) - { - var_0B = maps\mp\_utility::attachmentmap_tobase(var_06[5]); - var_04[1] = var_0B; - } - } - else - { - var_06[var_06.size - 1] = undefined; - if(isdefined(var_06[1]) && var_02 != "altmode") - { - var_0B = maps\mp\_utility::attachmentmap_tobase(var_06[1]); - var_04[0] = var_0B; - } - - if(isdefined(var_06[2]) && var_02 != "altmode") - { - var_0B = maps\mp\_utility::attachmentmap_tobase(var_06[2]); - var_04[1] = var_0B; - } - } - } - else if(var_02 == "item" || var_02 == "offhand") - { - var_05 = maps\mp\_utility::strip_suffix(param_00,"_lefthand"); - var_05 = maps\mp\_utility::strip_suffix(var_05,"_mp"); - } - else - { - var_05 = param_00; - } - - var_0E = spawnstruct(); - var_0E.weaponname = var_05; - var_0E.attachments = var_04; - var_0E.weapontype = var_02; - var_0E.weaponclass = var_03; - var_0E.weaponnamefull = param_00; - return var_0E; -} - -//Function Number: 19 -logfirefightshotshits(param_00,param_01) -{ - if(!canlogclient(self) || isplayer(param_01) && !canlogclient(param_01) || !canloglife(param_00)) - { - return; - } - - if(!isplayer(param_01)) - { - return; - } - - if(param_00 >= level.maxlives) - { - return; - } - - if(self.currentfirefightshots > 0) - { - setmatchdata("lives",param_00,"shots",maps\mp\_utility::clamptobyte(self.currentfirefightshots)); - } - - if(isdefined(param_01.enemyhitcounts) && isdefined(param_01.enemyhitcounts[self.guid]) && param_01.enemyhitcounts[self.guid] > 0) - { - setmatchdata("lives",param_00,"hits",maps\mp\_utility::clamptobyte(param_01.enemyhitcounts[self.guid])); - } - - if(param_01.currentfirefightshots > 0) - { - setmatchdata("lives",param_00,"killerShots",maps\mp\_utility::clamptobyte(param_01.currentfirefightshots)); - } - - if(isdefined(self.enemyhitcounts) && isdefined(self.enemyhitcounts[param_01.guid]) && self.enemyhitcounts[param_01.guid] > 0) - { - setmatchdata("lives",param_00,"killerHits",maps\mp\_utility::clamptobyte(self.enemyhitcounts[param_01.guid])); - } -} - -//Function Number: 20 -logplayerandkillerstanceandmotionstate(param_00,param_01) -{ - if(!canloglife(param_00)) - { - return; - } - - if(isplayer(self) && canlogclient(self)) - { - var_02 = getstanceandmotionstateforplayer(self); - setmatchdata("lives",param_00,"victimStanceAndMotionState",var_02); - } - - if(isplayer(param_01) && canlogclient(param_01)) - { - var_02 = getstanceandmotionstateforplayer(param_01); - setmatchdata("lives",param_00,"killerStanceAndMotionState",var_02); - } -} - -//Function Number: 21 -logassists(param_00,param_01) -{ - if(!canloglife(param_00)) - { - return; - } - - if(isplayer(self) && canlogclient(self)) - { - if(isdefined(self.attackerdata)) - { - var_02 = 0; - foreach(var_04 in self.attackerdata) - { - if(isplayer(var_04.attackerent)) - { - if(var_04.attackerent != param_01) - { - setmatchdata("lives",param_00,"assists",var_02,"assistingPlayerIndex",var_04.attackerent.clientid); - setmatchdata("lives",param_00,"assists",var_02,"damage",maps\mp\_utility::clamptobyte(var_04.damage)); - var_02++; - if(var_02 == 5) - { - break; - } - } - } - } - - if(var_02 < 5) - { - for(var_06 = var_02;var_06 < 5;var_06++) - { - setmatchdata("lives",param_00,"assists",var_06,"assistingPlayerIndex",255); - } - - return; - } - } - } -} - -//Function Number: 22 -logspecialassists(param_00,param_01) -{ - if(!isplayer(self) || !canlogclient(self)) - { - return; - } - - if(!isplayer(param_00) || !canlogclient(param_00)) - { - return; - } - - var_02 = self.lifeid; - if(!canloglife(var_02)) - { - return; - } - - if(param_01 == "assist_emp" || param_01 == "assist_uav" || param_01 == "assist_uav_plus" || param_01 == "assist_riot_shield") - { - for(var_03 = 0;var_03 < 5;var_03++) - { - var_04 = getmatchdata("lives",var_02,"assists",var_03,"assistingPlayerIndex"); - if(var_04 == param_00.clientid || var_04 == 255) - { - if(var_04 == 255) - { - setmatchdata("lives",var_02,"assists",var_03,"assistingPlayerIndex",param_00.clientid); - } - - if(param_01 == "assist_emp") - { - setmatchdata("lives",var_02,"assists",var_03,"assistEMP",1); - } - else if(param_01 == "assist_uav") - { - setmatchdata("lives",var_02,"assists",var_03,"assistUAV",1); - } - else if(param_01 == "assist_uav_plus") - { - setmatchdata("lives",var_02,"assists",var_03,"assistUAVPlus",1); - } - else if(param_01 == "assist_riot_shield") - { - setmatchdata("lives",var_02,"assists",var_03,"assistRiotShield",1); - } - else - { - } - - break; - } - } - } -} - -//Function Number: 23 -logplayerdeath(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - if(!canlogclient(self) || isplayer(param_01) && !canlogclient(param_01) || !canloglife(param_00)) - { - return; - } - - if(param_00 >= level.maxlives) - { - return; - } - - if(level.iszombiegame) - { - return; - } - - if(isdefined(level.ishorde) && level.ishorde) - { - return; - } - - logplayerandkillerexomovedata(param_00,param_01); - logplayerandkilleradsandfov(param_00,param_01); - logplayerandkillershieldcloakhoveractive(param_00,param_01); - logfirefightshotshits(param_00,param_01); - logplayerandkillerstanceandmotionstate(param_00,param_01); - logassists(param_00,param_01); - var_08 = determineweaponnameandattachments(param_04,param_05); - for(var_09 = 0;var_09 < 3;var_09++) - { - if(isdefined(var_08.attachments[var_09]) && var_08.attachments[var_09] != "None") - { - setmatchdata("lives",param_00,"killersWeaponAttachments",var_09,var_08.attachments[var_09]); - } - } - - if(var_08.weapontype != "exclusive") - { - setmatchdata("lives",param_00,"killersWeapon",var_08.weaponname); - } - - if(var_08.weaponnamefull == "altmode") - { - setmatchdata("lives",param_00,"killersWeaponAltMode",1); - } - - if(maps\mp\_utility::iskillstreakweapon(var_08.weaponnamefull)) - { - setmatchdata("lives",param_00,"modifiers","killstreak",1); - if(isdefined(param_01.currentkillstreakindex)) - { - var_0A = getmatchdata("killstreaks",param_01.currentkillstreakindex,"killsTotal"); - var_0A++; - setmatchdata("killstreaks",param_01.currentkillstreakindex,"killsTotal",maps\mp\_utility::clamptoshort(var_0A)); - setmatchdata("lives",param_00,"killerKillstreakIndex",param_01.currentkillstreakindex); - } - } - else - { - setmatchdata("lives",param_00,"killerKillstreakIndex",255); - } - - var_0B = determineweaponnameandattachments(param_07,undefined); - for(var_09 = 0;var_09 < 3;var_09++) - { - if(isdefined(var_0B.attachments[var_09]) && var_0B.attachments[var_09] != "None") - { - setmatchdata("lives",param_00,"victimCurrentWeaponAtDeathAttachments",var_09,var_0B.attachments[var_09]); - } - } - - if(var_0B.weapontype != "exclusive") - { - if(maps\mp\_utility::iskillstreakweapon(var_0B.weaponname)) - { - if(isdefined(self.primaryweapon)) - { - var_0C = maps\mp\_utility::getbaseweaponname(self.primaryweapon); - setmatchdata("lives",param_00,"victimCurrentWeaponAtDeath",var_0C); - } - } - else - { - setmatchdata("lives",param_00,"victimCurrentWeaponAtDeath",var_0B.weaponname); - } - } - - if(isdefined(self.pickedupweaponfrom) && isdefined(self.pickedupweaponfrom[var_0B.weaponnamefull])) - { - setmatchdata("lives",param_00,"victimCurrentWeaponPickedUp",1); - } - - setmatchdata("lives",param_00,"meansOfDeath",param_03); - var_0D = 2; - if(isplayer(param_01)) - { - setmatchdata("lives",param_00,"killer",param_01.clientid); - setmatchdata("lives",param_00,"killerLifeIndex",param_01.lifeid); - setmatchdata("lives",param_00,"killerPos",0,int(param_01.origin[0])); - setmatchdata("lives",param_00,"killerPos",1,int(param_01.origin[1])); - setmatchdata("lives",param_00,"killerPos",2,int(param_01.origin[2])); - setmatchdata("lives",param_00,"killerAngles",0,int(param_01.angles[0])); - setmatchdata("lives",param_00,"killerAngles",1,int(param_01.angles[1])); - setmatchdata("lives",param_00,"killerAngles",2,int(param_01.angles[2])); - var_0E = anglestoforward((0,self.angles[1],0)); - var_0F = self.origin - param_01.origin; - var_0F = vectornormalize((var_0F[0],var_0F[1],0)); - var_0D = vectordot(var_0E,var_0F); - setmatchdata("lives",param_00,"dotOfDeath",var_0D); - if(param_01 maps\mp\_utility::isjuggernaut()) - { - setmatchdata("lives",param_00,"killerIsJuggernaut",1); - } - - if(isdefined(param_01.pickedupweaponfrom) && isdefined(param_01.pickedupweaponfrom[var_08.weaponnamefull])) - { - setmatchdata("lives",param_00,"killerCurrentWeaponPickedUp",1); - } - } - else - { - setmatchdata("lives",param_00,"killer",255); - setmatchdata("lives",param_00,"killerLifeIndex",65535); - setmatchdata("lives",param_00,"killerPos",0,int(self.origin[0])); - setmatchdata("lives",param_00,"killerPos",1,int(self.origin[1])); - setmatchdata("lives",param_00,"killerPos",2,int(self.origin[2])); - setmatchdata("lives",param_00,"killerAngles",0,int(self.angles[0])); - setmatchdata("lives",param_00,"killerAngles",1,int(self.angles[1])); - setmatchdata("lives",param_00,"killerAngles",2,int(self.angles[2])); - } - - setmatchdata("lives",param_00,"player",self.clientid); - setmatchdata("lives",param_00,"victimPos",0,int(self.origin[0])); - setmatchdata("lives",param_00,"victimPos",1,int(self.origin[1])); - setmatchdata("lives",param_00,"victimPos",2,int(self.origin[2])); - setmatchdata("lives",param_00,"victimAngles",0,int(self.angles[0])); - setmatchdata("lives",param_00,"victimAngles",1,int(self.angles[1])); - setmatchdata("lives",param_00,"victimAngles",2,int(self.angles[2])); - var_10 = "world"; - if(isplayer(param_01)) - { - var_10 = param_01.name; - } - - var_11 = 1; - var_12 = 0; - var_13 = maps\mp\_utility::isaiteamparticipant(self); - var_14 = 0; - if(isplayer(param_01)) - { - var_14 = maps\mp\_utility::isaiteamparticipant(param_01); - } - - var_15 = length(self.origin - param_01.origin); - var_16 = 0; - var_17 = 0; - var_18 = -1; - var_19 = -1; - var_1A = gettime(); - if(isplayer(param_01)) - { - var_17 = param_01 playerads(); - } - - var_1B = param_01.clientid; - if(!isdefined(var_1B)) - { - var_1B = -1; - } - - var_1C = param_01.lifeid; - if(!isdefined(var_1C)) - { - var_1C = -1; - } - - var_1D = 0.1; - if(self.damage_info.size > 1) - { - var_11 = 0; - } - - if(isdefined(self.damage_info[param_01 getentitynumber()])) - { - var_12 = self.damage_info[param_01 getentitynumber()].num_shots; - } - - var_1E = self.pers["primaryWeapon"] + "_mp"; - var_1F = weaponclass(var_1E); - if(issubstr(var_08.weaponname,"loot")) - { - var_16 = 1; - } - - if(isdefined(self.spawninfo) && isdefined(self.spawninfo.spawntime)) - { - var_18 = var_1A - self.spawninfo.spawntime / 1000; - } - - if(isdefined(param_01.spawninfo) && isdefined(param_01.spawninfo.spawntime) && isplayer(param_01)) - { - var_19 = var_1A - param_01.spawninfo.spawntime / 1000; - } - - reconspatialevent(self.origin,"script_mp_playerdeath: player_name %s, life_id %d, angles %v, death_dot %f, is_jugg %b, is_killstreak %b, mod %s, gameTime %d, spawnToDeathTime %f, attackerAliveTime %f, attacker_life_id %d",self.name,self.lifeid,self.angles,var_0D,param_01 maps\mp\_utility::isjuggernaut(),maps\mp\_utility::iskillstreakweapon(var_08.weaponnamefull),param_03,var_1A,var_18,var_19,var_1C); - reconspatialevent(self.origin,"@"script_mp_weaponinfo: player_name %s, life_id %d, isbot %b, attacker_name %s, attacker %d, attacker_pos %v, distance %f, ads_fraction %f, is_jugg %b, is_killstreak %b, weapon_type %s, weapon_class %s, weapon_name %s, isLoot %b, attachment0 %s, attachment1 %s, attachment2 %s, numShots %d, soleAttacker %b, gameTime %d",self.name,self.lifeid,var_13,var_10,var_1B,param_01.origin,var_15,var_17,param_01 maps\mp\_utility::isjuggernaut(),maps\mp\_utility::iskillstreakweapon(var_08.weaponnamefull),var_08.weapontype,var_08.weaponclass,var_08.weaponname,var_16,var_08.attachments[0],var_08.attachments[1],var_08.attachments[2],var_12,var_11,var_1A); - reconspatialevent(self.origin,"script_mp_weaponinfo_ext: player_name %s, life_id %d, gametime %d, version %f, victimWeapon %s, victimWeaponClass %s, killerIsBot %b",self.name,self.lifeid,var_1A,var_1D,var_1E,var_1F,var_14); - if(!isdefined(level.matchdata)) - { - level.matchdata = []; - } - - if(!isdefined(level.matchdata["deathCount"])) - { - level.matchdata["deathCount"] = 1; - } - else - { - level.matchdata["deathCount"]++; - } - - if(var_18 <= 3) - { - if(!isdefined(level.matchdata["badSpawnDiedTooFastCount"])) - { - level.matchdata["badSpawnDiedTooFastCount"] = 1; - } - else - { - level.matchdata["badSpawnDiedTooFastCount"]++; - } - - if(self.spawninfo.badspawn == 0) - { - if(!isdefined(level.matchdata["badSpawnByAnyMeansCount"])) - { - level.matchdata["badSpawnByAnyMeansCount"] = 1; - } - else - { - level.matchdata["badSpawnByAnyMeansCount"]++; - } - - self.spawninfo.badspawn = 1; - } - } - - if(isplayer(param_01) && var_19 <= 3 && !var_08.weaponname == "sentry_minigun_mp") - { - if(!isdefined(level.matchdata["badSpawnKilledTooFastCount"])) - { - level.matchdata["badSpawnKilledTooFastCount"] = 1; - } - else - { - level.matchdata["badSpawnKilledTooFastCount"]++; - } - - if(param_01.spawninfo.badspawn == 0) - { - if(!isdefined(level.matchdata["badSpawnByAnyMeansCount"])) - { - level.matchdata["badSpawnByAnyMeansCount"] = 1; - } - else - { - level.matchdata["badSpawnByAnyMeansCount"]++; - } - - param_01.spawninfo.badspawn = 1; - } - } -} - -//Function Number: 24 -logplayerdata() -{ - if(!canlogclient(self)) - { - return; - } - - setmatchdata("players",self.clientid,"score",maps\mp\_utility::getpersstat("score")); - if(maps\mp\_utility::getpersstat("assists") > 255) - { - setmatchdata("players",self.clientid,"assists",255); - } - else - { - setmatchdata("players",self.clientid,"assists",maps\mp\_utility::getpersstat("assists")); - } - - if(maps\mp\_utility::getpersstat("longestStreak") > 255) - { - setmatchdata("players",self.clientid,"longestStreak",255); - } - else - { - setmatchdata("players",self.clientid,"longestStreak",maps\mp\_utility::getpersstat("longestStreak")); - } - - if(isdefined(self) && isdefined(self.pers) && isdefined(self.pers["validationInfractions"])) - { - if(maps\mp\_utility::getpersstat("validationInfractions") > 255) - { - setmatchdata("players",self.clientid,"validationInfractions",255); - return; - } - - setmatchdata("players",self.clientid,"validationInfractions",maps\mp\_utility::getpersstat("validationInfractions")); - } -} - -//Function Number: 25 -endofgamesummarylogger() -{ - foreach(var_01 in level.players) - { - wait(0.05); - if(!isdefined(var_01)) - { - continue; - } - - logplayerping(var_01); - if(isdefined(var_01.detectedexploit) && var_01.detectedexploit && var_01 maps\mp\_utility::rankingenabled()) - { - var_01 setrankedplayerdata("restXPGoal",var_01.detectedexploit); - } - - var_02 = undefined; - var_03 = 0; - if(isdefined(game["challengeStruct"]) && isdefined(game["challengeStruct"]["challengesCompleted"]) && isdefined(game["challengeStruct"]["challengesCompleted"][var_01.guid])) - { - var_03 = 1; - } - - if(var_03) - { - var_02 = game["challengeStruct"]["challengesCompleted"][var_01.guid]; - if(var_02.size > 0) - { - var_01 setcommonplayerdata("round","challengeNumCompleted",var_02.size); - var_04 = maps\mp\_utility::clamptobyte(var_02.size); - setmatchdata("players",var_01.clientid,"challengesCompleted",var_04); - } - else - { - var_01 setcommonplayerdata("round","challengeNumCompleted",0); - } - } - else - { - var_01 setcommonplayerdata("round","challengeNumCompleted",0); - } - - for(var_05 = 0;var_05 < 20;var_05++) - { - if(isdefined(var_02) && isdefined(var_02[var_05]) && var_02[var_05] != 8000) - { - var_01 setcommonplayerdata("round","challengesCompleted",var_05,var_02[var_05]); - continue; - } - - var_01 setcommonplayerdata("round","challengesCompleted",var_05,0); - } - - var_01 setcommonplayerdata("round","gameMode",level.gametype); - var_01 setcommonplayerdata("round","map",tolower(getdvar("mapname"))); - } -} - -//Function Number: 26 -logplayerping(param_00) -{ - if(!isdefined(param_00.pers["maxPing"]) || !isdefined(param_00.pers["minPing"]) || !isdefined(param_00.pers["pingAccumulation"]) || !isdefined(param_00.pers["pingSampleCount"])) - { - return; - } - - if(param_00.pers["pingSampleCount"] > 0 && param_00.pers["maxPing"] > 0) - { - var_01 = maps\mp\_utility::clamptoshort(param_00.pers["pingAccumulation"] / param_00.pers["pingSampleCount"]); - setmatchdata("players",param_00.clientid,"averagePing",var_01); - setmatchdata("players",param_00.clientid,"maxPing",maps\mp\_utility::clamptoshort(param_00.pers["maxPing"])); - setmatchdata("players",param_00.clientid,"minPing",maps\mp\_utility::clamptoshort(param_00.pers["minPing"])); - } -} - -//Function Number: 27 -gameendlistener() -{ - level waittill("game_ended"); - foreach(var_01 in level.players) - { - var_01 logplayerdata(); - if(!isalive(var_01)) - { - continue; - } - - var_01 logplayerlife(0); - } - - foreach(var_01 in level.players) - { - if(var_01.totallifetime > 0) - { - var_04 = var_01 maps\mp\_utility::getpersstat("score") / var_01.totallifetime / 60000; - tournamentreportplayerspm(var_01.xuid,var_04,var_01.team); - } - - var_01.totallifetime = 0; - } -} - -//Function Number: 28 -canlogclient(param_00) -{ - if(isagent(param_00)) - { - return 0; - } - - var_01 = param_00.code_classname; - if(!isdefined(var_01)) - { - var_01 = "undefined"; - } - - return param_00.clientid < level.maxlogclients; -} - -//Function Number: 29 -canlogevent() -{ - return getmatchdata("eventCount") < level.maxevents; -} - -//Function Number: 30 -canlogkillstreak() -{ - return getmatchdata("killstreakCount") < level.maxkillstreaks; -} - -//Function Number: 31 -canloglife(param_00) -{ - return getmatchdata("lifeCount") < level.maxlives; -} - -//Function Number: 32 -logweaponstat(param_00,param_01,param_02) -{ - if(!canlogclient(self)) - { - return; - } - - if(maps\mp\_utility::iskillstreakweapon(param_00)) - { - return; - } - - if(!isdefined(self.pers["mpWeaponStats"][param_00])) - { - self.pers["mpWeaponStats"][param_00] = []; - } - - if(!isdefined(self.pers["mpWeaponStats"][param_00][param_01])) - { - self.pers["mpWeaponStats"][param_00][param_01] = 0; - } - - var_03 = self.pers["mpWeaponStats"][param_00][param_01]; - var_03 = var_03 + param_02; - self.pers["mpWeaponStats"][param_00][param_01] = var_03; -} - -//Function Number: 33 -buildbaseweaponlist() -{ - var_00 = []; - var_01 = 149; - for(var_02 = 0;var_02 <= var_01;var_02++) - { - var_03 = tablelookup("mp/statstable.csv",0,var_02,4); - if(var_03 == "") - { - continue; - } - - if(!issubstr(tablelookup("mp/statsTable.csv",0,var_02,2),"weapon_")) - { - continue; - } - - if(tablelookup("mp/statsTable.csv",0,var_02,2) == "weapon_other") - { - continue; - } - - if(tablelookup("mp/statsTable.csv",0,var_02,51) != "") - { - continue; - } - - var_00[var_00.size] = var_03; - } - - return var_00; -} - -//Function Number: 34 -logkillsconfirmed() -{ - if(!canlogclient(self)) - { - return; - } - - setmatchdata("players",self.clientid,"killsConfirmed",self.pers["confirmed"]); -} - -//Function Number: 35 -logkillsdenied() -{ - if(!canlogclient(self)) - { - return; - } - - setmatchdata("players",self.clientid,"killsDenied",self.pers["denied"]); -} - -//Function Number: 36 -loginitialstats() -{ - if(getdvarint("mdsd") > 0) - { - var_00 = self getrankedplayerdata("experience"); - setmatchdata("players",self.clientid,"startXp",var_00); - setmatchdata("players",self.clientid,"startKills",self getrankedplayerdata("kills")); - setmatchdata("players",self.clientid,"startDeaths",self getrankedplayerdata("deaths")); - setmatchdata("players",self.clientid,"startWins",self getrankedplayerdata("wins")); - setmatchdata("players",self.clientid,"startLosses",self getrankedplayerdata("losses")); - setmatchdata("players",self.clientid,"startHits",self getrankedplayerdata("hits")); - setmatchdata("players",self.clientid,"startMisses",self getrankedplayerdata("misses")); - setmatchdata("players",self.clientid,"startGamesPlayed",self getrankedplayerdata("gamesPlayed")); - setmatchdata("players",self.clientid,"startScore",self getrankedplayerdata("score")); - setmatchdata("players",self.clientid,"startUnlockPoints",self getrankedplayerdata("unlockPoints")); - setmatchdata("players",self.clientid,"startPrestige",self getrankedplayerdata("prestige")); - setmatchdata("players",self.clientid,"startDP",self getrankedplayerdata("division")); - var_01 = self getrankedplayerdata("mmr"); - setmatchdata("players",self.clientid,"startMMR",var_01); - } -} - -//Function Number: 37 -logfinalstats() -{ - if(getdvarint("mdsd") > 0) - { - var_00 = self getrankedplayerdata("experience"); - setmatchdata("players",self.clientid,"endXp",var_00); - setmatchdata("players",self.clientid,"endKills",self getrankedplayerdata("kills")); - setmatchdata("players",self.clientid,"endDeaths",self getrankedplayerdata("deaths")); - setmatchdata("players",self.clientid,"endWins",self getrankedplayerdata("wins")); - setmatchdata("players",self.clientid,"endLosses",self getrankedplayerdata("losses")); - setmatchdata("players",self.clientid,"endHits",self getrankedplayerdata("hits")); - setmatchdata("players",self.clientid,"endMisses",self getrankedplayerdata("misses")); - setmatchdata("players",self.clientid,"endGamesPlayed",self getrankedplayerdata("gamesPlayed")); - setmatchdata("players",self.clientid,"endScore",self getrankedplayerdata("score")); - setmatchdata("players",self.clientid,"endUnlockPoints",self getrankedplayerdata("unlockPoints")); - setmatchdata("players",self.clientid,"endPrestige",self getrankedplayerdata("prestige")); - var_01 = self getrankedplayerdata("mmr"); - setmatchdata("players",self.clientid,"endMMR",var_01); - if(isdefined(self.pers["rank"])) - { - var_03 = maps\mp\_utility::clamptobyte(maps\mp\gametypes\_rank::getrank()); - setmatchdata("players",self.clientid,"rankAtEnd",var_03); - } - } -} - -//Function Number: 38 -reconlogplayerinfo() -{ - for(;;) - { - if(getdvarint("cl_freemove") == 0) - { - foreach(var_01 in level.players) - { - var_02 = 0; - if(maps\mp\_utility::isreallyalive(var_01)) - { - var_02 = 1; - } - - if(istestclient(var_01)) - { - continue; - } - - if(!isdefined(var_01.origin)) - { - continue; - } - - var_03 = "disconnected?"; - if(isdefined(var_01.name)) - { - var_03 = var_01.name; - } - - var_04 = -1; - if(isdefined(var_01.clientid)) - { - var_04 = var_01.clientid; - } - - var_05 = (-999,-999,-999); - if(isdefined(var_01.angles)) - { - var_05 = var_01.angles; - } - - var_06 = "undefined"; - if(isdefined(var_01.team)) - { - var_06 = var_01.team; - } - - var_07 = gettime(); - reconspatialevent(var_01.origin,"script_mp_playerpos: player_name %s, angles %v, gameTime %d, playerTeam %s, is_alive %b",var_03,var_05,var_07,var_06,var_02); - } - } - - wait(0.2); - } -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/_mp_lights.gsc b/AW/PC/ZM/maps/mp/_mp_lights.gsc deleted file mode 100644 index a3d131a..0000000 --- a/AW/PC/ZM/maps/mp/_mp_lights.gsc +++ /dev/null @@ -1,536 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_mp_lights.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 23 - * Decompile Time: 362 ms - * Timestamp: 10/27/2023 2:08:30 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - if(!isdefined(level.sunenable)) - { - level.sunenable = getdvarint("sm_sunenable",1); - } - - if(!isdefined(level.sunshadowscale)) - { - level.sunshadowscale = getdvarfloat("sm_sunshadowscale",1); - } - - if(!isdefined(level.spotlimit)) - { - level.spotlimit = getdvarint("sm_spotlimit",4); - } - - if(!isdefined(level.sunsamplesizenear)) - { - level.sunsamplesizenear = getdvarfloat("sm_sunsamplesizenear",0.25); - } - - if(!isdefined(level.qualityspotshadow)) - { - level.qualityspotshadow = getdvarfloat("sm_qualityspotshadow",1); - } - - thread monitorplayerspawns(); - if(!isdefined(level._light)) - { - level._light = spawnstruct(); - light_setup_common_flickerlight_presets(); - light_message_init(); - } - - var_00 = getentarray("trigger_multiple_light_sunshadow","classname"); - for(var_01 = 0;var_01 < var_00.size;var_01++) - { - level thread sun_shadow_trigger(var_00[var_01]); - } -} - -//Function Number: 2 -set_smdvars(param_00,param_01,param_02,param_03,param_04) -{ - if(isdefined(param_00)) - { - level.sunenable = param_00; - } - - if(isdefined(param_01)) - { - level.sunshadowscale = param_01; - } - - if(isdefined(param_02)) - { - level.spotlimit = param_02; - } - - if(isdefined(param_03)) - { - level.sunsamplesizenear = param_03; - } - - if(isdefined(param_04)) - { - level.qualityspotshadow = param_04; - } -} - -//Function Number: 3 -monitorplayerspawns() -{ - if(isdefined(level.players)) - { - foreach(var_01 in level.players) - { - var_01 initplayer(); - } - } - - for(;;) - { - level waittill("connected",var_01); - var_01 initplayer(); - var_01 thread monitordeath(); - } -} - -//Function Number: 4 -initplayer() -{ - self.sunenable = level.sunenable; - self.sunshadowscale = level.sunshadowscale; - self.spotlimit = level.spotlimit; - self.sunsamplesizenear = level.sunsamplesizenear; - self.qualityspotshadow = level.qualityspotshadow; - self setclientdvars("sm_sunenable",self.sunenable,"sm_sunshadowscale",self.sunshadowscale,"sm_spotlimit",self.spotlimit,"sm_qualityspotshadow",self.qualityspotshadow,"sm_sunSampleSizeNear",self.sunsamplesizenear); -} - -//Function Number: 5 -monitordeath() -{ - self waittill("spawned"); - initplayer(); -} - -//Function Number: 6 -sun_shadow_trigger(param_00) -{ - var_01 = 1; - if(isdefined(param_00.script_duration)) - { - var_01 = param_00.script_duration; - } - - for(;;) - { - param_00 waittill("trigger",var_02); - param_00 set_sun_shadow_params(var_01,var_02); - } -} - -//Function Number: 7 -set_sun_shadow_params(param_00,param_01) -{ - var_02 = param_01.sunenable; - var_03 = param_01.sunshadowscale; - var_04 = param_01.spotlimit; - var_05 = param_01.sunsamplesizenear; - var_06 = param_01.qualityspotshadow; - if(isdefined(self.script_sunenable)) - { - var_02 = self.script_sunenable; - } - - if(isdefined(self.script_sunshadowscale)) - { - var_03 = self.script_sunshadowscale; - } - - if(isdefined(self.script_spotlimit)) - { - var_04 = self.script_spotlimit; - } - - if(isdefined(self.script_sunsamplesizenear)) - { - var_05 = self.script_sunsamplesizenear; - } - - var_05 = min(max(0.016,var_05),32); - if(isdefined(self.script_qualityspotshadow)) - { - var_06 = self.script_qualityspotshadow; - } - - param_01 setclientdvars("sm_sunenable",var_02,"sm_sunshadowscale",var_03,"sm_spotlimit",var_04,"sm_qualityspotshadow",var_06); - param_01.sunenable = var_02; - param_01.sunshadowscale = var_03; - param_01.spotlimit = var_04; - var_07 = param_01.sunsamplesizenear; - param_01.sunsamplesizenear = var_05; - param_01.qualityspotshadow = var_06; - thread lerp_sunsamplesizenear_overtime(var_05,var_07,param_00,param_01); -} - -//Function Number: 8 -lerp_sunsamplesizenear_overtime(param_00,param_01,param_02,param_03) -{ - level notify("changing_sunsamplesizenear" + param_03.name); - level endon("changing_sunsamplesizenear" + param_03.name); - if(param_00 == param_01) - { - return; - } - - var_04 = param_00 - param_01; - var_05 = 0.1; - var_06 = param_02 / var_05; - if(var_06 > 0) - { - var_07 = var_04 / var_06; - var_08 = param_01; - for(var_09 = 0;var_09 < var_06;var_09++) - { - var_08 = var_08 + var_07; - param_03 setclientdvar("sm_sunSampleSizeNear",var_08); - param_03.sunsamplesizenear = var_08; - wait(var_05); - } - } - - param_03 setclientdvar("sm_sunSampleSizeNear",param_00); - param_03.sunsamplesizenear = param_00; -} - -//Function Number: 9 -light_setup_common_flickerlight_presets() -{ - create_flickerlight_preset("fire",(0.972549,0.62451,0.345098),(0.2,0.1462746,0.0878432),0.005,0.2,8); - create_flickerlight_preset("blue_fire",(0.445098,0.62451,0.972549),(0.05,0.150451,0.3078432),0.005,0.2,8); - create_flickerlight_preset("white_fire",(0.972549,0.972549,0.972549),(0.2,0.2,0.2),0.005,0.2,8); - create_flickerlight_preset("pulse",(0,0,0),(255,107,107),0.2,1,8); - create_flickerlight_preset("lightbulb",(0.972549,0.62451,0.345098),(0.2,0.1462746,0.0878432),0.005,0.2,6); - create_flickerlight_preset("fluorescent",(0.972549,0.62451,0.345098),(0.2,0.1462746,0.0878432),0.005,0.2,7); - create_flickerlight_preset("static_screen",(0.63,0.72,0.92),(0.4,0.43,0.48),0.005,0.2,7); -} - -//Function Number: 10 -create_flickerlight_preset(param_00,param_01,param_02,param_03,param_04,param_05) -{ - if(!isdefined(level._light.flicker_presets)) - { - level._light.flicker_presets = []; - } - - var_06 = spawnstruct(); - var_06.color0 = param_01; - var_06.color1 = param_02; - var_06.mindelay = param_03; - var_06.maxdelay = param_04; - var_06.intensity = param_05; - level._light.flicker_presets[param_00] = var_06; -} - -//Function Number: 11 -get_flickerlight_preset(param_00) -{ - if(isdefined(level._light.flicker_presets) && isdefined(level._light.flicker_presets[param_00])) - { - return level._light.flicker_presets[param_00]; - } - - return undefined; -} - -//Function Number: 12 -play_flickerlight_preset(param_00,param_01,param_02) -{ - var_03 = getent(param_01,"targetname"); - if(!isdefined(var_03)) - { - return; - } - - var_04 = get_flickerlight_preset(param_00); - if(!isdefined(var_04)) - { - return; - } - - if(isdefined(param_02)) - { - if(param_02 < 0) - { - param_02 = 0; - } - - var_04.intensity = param_02; - } - - var_03 setlightintensity(var_04.intensity); - var_03.islightflickering = 1; - var_03.islightflickerpaused = 0; - var_03 thread dyn_flickerlight(var_04.color0,var_04.color1,var_04.mindelay,var_04.maxdelay); - return var_03; -} - -//Function Number: 13 -stop_flickerlight(param_00,param_01,param_02) -{ - var_03 = getent(param_01,"targetname"); - if(!isdefined(var_03)) - { - return; - } - - if(!isdefined(var_03.islightflickering)) - { - return; - } - - if(isdefined(param_02)) - { - if(param_02 < 0) - { - param_02 = 0; - } - } - - var_03 setlightintensity(param_02); - var_03 notify("kill_flicker"); - var_03.islightflickering = undefined; -} - -//Function Number: 14 -pause_flickerlight(param_00,param_01) -{ - var_02 = getent(param_01,"targetname"); - if(!isdefined(var_02)) - { - return; - } - - if(!isdefined(var_02.islightflickering)) - { - return; - } - - var_02.islightflickerpaused = 1; -} - -//Function Number: 15 -unpause_flickerlight(param_00,param_01) -{ - var_02 = getent(param_01,"targetname"); - if(!isdefined(var_02)) - { - return; - } - - if(!isdefined(var_02.islightflickering)) - { - return; - } - - var_02.islightflickerpaused = 0; -} - -//Function Number: 16 -dyn_flickerlight(param_00,param_01,param_02,param_03) -{ - self endon("kill_flicker"); - var_04 = param_00; - var_05 = 0; - for(;;) - { - if(self.islightflickerpaused) - { - wait(0.05); - continue; - } - - var_06 = var_04; - var_04 = param_00 + param_01 - param_00 * randomfloat(1); - if(param_02 != param_03) - { - var_05 = var_05 + randomfloatrange(param_02,param_03); - } - else - { - var_05 = var_05 + param_02; - } - - if(var_05 == 0) - { - var_05 = var_05 + 1E-07; - } - - var_07 = var_06 - var_04 * 1 / var_05; - while(var_05 > 0 && !self.islightflickerpaused) - { - self setlightcolor(var_04 + var_07 * var_05); - wait(0.05); - var_05 = var_05 - 0.05; - } - } -} - -//Function Number: 17 -model_flicker_preset(param_00,param_01,param_02,param_03) -{ - var_04 = getentarray(param_00,"script_noteworthy"); - if(!isdefined(var_04)) - { - return; - } - - self endon("death"); - var_05 = 0; - var_06 = randomfloatrange(0.1,0.25); - if(isdefined(param_02)) - { - exploder(param_02); - } - - while(var_05 < param_01) - { - if(isdefined(param_03)) - { - exploder(param_03); - } - - foreach(var_08 in var_04) - { - var_08 show(); - } - - wait(var_06); - if(isdefined(param_03)) - { - stop_exploder(param_03); - } - - foreach(var_08 in var_04) - { - var_08 hide(); - } - - var_05++; - wait(var_06); - } -} - -//Function Number: 18 -light_message_init() -{ - level._light.messages = []; -} - -//Function Number: 19 -light_debug_dvar_init() -{ -} - -//Function Number: 20 -light_register_message(param_00,param_01) -{ - level._light.messages[param_00] = param_01; -} - -//Function Number: 21 -light_message(param_00,param_01,param_02,param_03) -{ - if(isdefined(level._light.messages[param_00])) - { - if(isdefined(param_03)) - { - thread [[ level._light.messages[param_00] ]](param_01,param_02,param_03); - return; - } - - if(isdefined(param_02)) - { - thread [[ level._light.messages[param_00] ]](param_01,param_02); - return; - } - - if(isdefined(param_01)) - { - thread [[ level._light.messages[param_00] ]](param_01); - return; - } - - thread [[ level._light.messages[param_00] ]](); - return; - } -} - -//Function Number: 22 -stop_exploder(param_00) -{ - param_00 = param_00 + ""; - if(isdefined(level.createfxexploders)) - { - var_01 = level.createfxexploders[param_00]; - if(isdefined(var_01)) - { - foreach(var_03 in var_01) - { - if(!isdefined(var_03.looper)) - { - continue; - } - - var_03.looper delete(); - } - - return; - } - - return; - } - - var_05 = 0; - while(var_03 < level.createfxent.size) - { - var_05 = level.createfxent[var_03]; - if(!isdefined(var_05)) - { - continue; - } - - if(var_05.v["type"] != "exploder") - { - continue; - } - - if(!isdefined(var_05.v["exploder"])) - { - continue; - } - - if(var_05.v["exploder"] + "" != var_02) - { - continue; - } - - if(!isdefined(var_05.looper)) - { - continue; - } - - var_05.looper delete(); - var_03++; - } -} - -//Function Number: 23 -exploder(param_00) -{ - [[ level.exploderfunction ]](param_00); -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/_scoreboard.gsc b/AW/PC/ZM/maps/mp/_scoreboard.gsc deleted file mode 100644 index c6dad5b..0000000 --- a/AW/PC/ZM/maps/mp/_scoreboard.gsc +++ /dev/null @@ -1,199 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_scoreboard.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 3 - * Decompile Time: 50 ms - * Timestamp: 10/27/2023 2:08:31 AM -*******************************************************************/ - -//Function Number: 1 -processlobbyscoreboards() -{ - foreach(var_01 in level.placement["all"]) - { - var_01 setplayerscoreboardinfo(); - } - - if(level.multiteambased) - { - buildscoreboardtype("multiteam"); - foreach(var_01 in level.players) - { - var_01 setcommonplayerdata("round","scoreboardType","multiteam"); - } - - setclientmatchdata("alliesScore",-1); - setclientmatchdata("axisScore",-1); - } - else if(level.teambased) - { - var_05 = getteamscore("allies"); - var_06 = getteamscore("axis"); - if(var_05 == var_06) - { - var_07 = "tied"; - } - else if(var_06 > var_07) - { - var_07 = "allies"; - } - else - { - var_07 = "axis"; - } - - setclientmatchdata("alliesScore",var_05); - setclientmatchdata("axisScore",var_06); - if(var_07 == "tied") - { - buildscoreboardtype("allies"); - buildscoreboardtype("axis"); - foreach(var_01 in level.players) - { - var_09 = var_01.pers["team"]; - if(!isdefined(var_09)) - { - continue; - } - - if(var_09 == "spectator") - { - var_01 setcommonplayerdata("round","scoreboardType","allies"); - continue; - } - - var_01 setcommonplayerdata("round","scoreboardType",var_09); - } - } - else - { - buildscoreboardtype(var_07); - foreach(var_01 in level.players) - { - var_01 setcommonplayerdata("round","scoreboardType",var_07); - } - } - } - else - { - buildscoreboardtype("neutral"); - foreach(var_01 in level.players) - { - var_01 setcommonplayerdata("round","scoreboardType","neutral"); - } - - setclientmatchdata("alliesScore",-1); - setclientmatchdata("axisScore",-1); - } - - foreach(var_01 in level.players) - { - var_10 = 0; - if(!var_01 maps\mp\_utility::rankingenabled() || maps\mp\_utility::practiceroundgame()) - { - var_10 = var_01.pers["summary"]["xp"]; - } - else - { - var_10 = var_01 gettotalmpxp() - var_01.pers["summary"]["matchStartXp"]; - } - - var_01 setcommonplayerdata("round","totalXp",var_10); - var_01 setcommonplayerdata("round","scoreXp",var_01.pers["summary"]["score"]); - var_01 setcommonplayerdata("round","challengeXp",var_01.pers["summary"]["challenge"]); - var_01 setcommonplayerdata("round","matchXp",var_01.pers["summary"]["match"]); - var_01 setcommonplayerdata("round","miscXp",var_01.pers["summary"]["misc"]); - var_01 setcommonplayerdata("round","entitlementXp",var_01.pers["summary"]["entitlementXP"]); - var_01 setcommonplayerdata("round","clanWarsXp",var_01.pers["summary"]["clanWarsXP"]); - } -} - -//Function Number: 2 -setplayerscoreboardinfo() -{ - var_00 = getclientmatchdata("scoreboardPlayerCount"); - if(var_00 <= 24) - { - setclientmatchdata("players",self.clientmatchdataid,"score",self.pers["score"]); - var_01 = self.pers["kills"]; - setclientmatchdata("players",self.clientmatchdataid,"kills",var_01); - if(level.gametype == "ctf" || level.gametype == "sr" || level.gametype == "gun") - { - var_02 = self.assists; - } - else - { - var_02 = self.pers["assists"]; - } - - setclientmatchdata("players",self.clientmatchdataid,"assists",var_02); - var_03 = self.pers["deaths"]; - setclientmatchdata("players",self.clientmatchdataid,"deaths",var_03); - var_04 = self.pers["headshots"]; - setclientmatchdata("players",self.clientmatchdataid,"headshots",var_04); - var_05 = self.pers["team"]; - setclientmatchdata("players",self.clientmatchdataid,"team",var_05); - var_06 = game[self.pers["team"]]; - setclientmatchdata("players",self.clientmatchdataid,"faction",var_06); - var_07 = self.pers["extrascore0"]; - setclientmatchdata("players",self.clientmatchdataid,"extrascore0",var_07); - var_08 = self.pers["extrascore1"]; - setclientmatchdata("players",self.clientmatchdataid,"extrascore1",var_08); - var_09 = 0; - if(isdefined(self.pers["division"]) && isdefined(self.pers["division"]["index"])) - { - var_09 = self.pers["division"]["index"]; - } - - setclientmatchdata("players",self.clientmatchdataid,"division",var_09); - var_00++; - setclientmatchdata("scoreboardPlayerCount",var_00); - } -} - -//Function Number: 3 -buildscoreboardtype(param_00) -{ - if(param_00 == "multiteam") - { - var_01 = 0; - foreach(var_03 in level.teamnamelist) - { - foreach(var_05 in level.placement[var_03]) - { - setclientmatchdata("scoreboards","multiteam",var_01,var_05.clientmatchdataid); - var_01++; - } - } - - return; - } - - if(var_05 == "neutral") - { - var_01 = 0; - foreach(var_05 in level.placement["all"]) - { - setclientmatchdata("scoreboards",param_00,var_01,var_05.clientmatchdataid); - var_01++; - } - - return; - } - - var_0A = maps\mp\_utility::getotherteam(var_05); - var_01 = 0; - foreach(var_05 in level.placement[param_00]) - { - setclientmatchdata("scoreboards",param_00,var_01,var_05.clientmatchdataid); - var_01++; - } - - foreach(var_05 in level.placement[var_0A]) - { - setclientmatchdata("scoreboards",param_00,var_01,var_05.clientmatchdataid); - var_01++; - } -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/_stinger.gsc b/AW/PC/ZM/maps/mp/_stinger.gsc deleted file mode 100644 index 4ce627f..0000000 --- a/AW/PC/ZM/maps/mp/_stinger.gsc +++ /dev/null @@ -1,473 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_stinger.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 11 - * Decompile Time: 158 ms - * Timestamp: 10/27/2023 2:08:33 AM -*******************************************************************/ - -//Function Number: 1 -initstingerusage() -{ - self.stingerstage = undefined; - self.stingertarget = undefined; - self.stingerlockstarttime = undefined; - self.stingerlostsightlinetime = undefined; - thread resetstingerlockingondeath(); -} - -//Function Number: 2 -resetstingerlocking() -{ - if(!isdefined(self.stingeruseentered)) - { - return; - } - - self.stingeruseentered = undefined; - self notify("stop_javelin_locking_feedback"); - self notify("stop_javelin_locked_feedback"); - self weaponlockfree(); - initstingerusage(); -} - -//Function Number: 3 -resetstingerlockingondeath() -{ - self endon("disconnect"); - self notify("ResetStingerLockingOnDeath"); - self endon("ResetStingerLockingOnDeath"); - for(;;) - { - self waittill("death"); - resetstingerlocking(); - } -} - -//Function Number: 4 -stillvalidstingerlock(param_00) -{ - if(!isdefined(param_00)) - { - return 0; - } - - if(!self worldpointinreticle_circle(param_00.origin,65,85)) - { - return 0; - } - - if(isdefined(level.ac130) && self.stingertarget == level.ac130.planemodel && !isdefined(level.ac130player)) - { - return 0; - } - - if(isdefined(level.orbitalsupport_planemodel) && self.stingertarget == level.orbitalsupport_planemodel && !isdefined(level.orbitalsupport_player)) - { - return 0; - } - - return 1; -} - -//Function Number: 5 -loopstingerlockingfeedback() -{ - self endon("faux_spawn"); - self endon("stop_javelin_locking_feedback"); - for(;;) - { - if(isdefined(level.chopper) && isdefined(level.chopper.gunner) && isdefined(self.stingertarget) && self.stingertarget == level.chopper.gunner) - { - level.chopper.gunner playlocalsound("missile_locking"); - } - - if(isdefined(level.ac130player) && isdefined(self.stingertarget) && self.stingertarget == level.ac130.planemodel) - { - level.ac130player playlocalsound("missile_locking"); - } - - self playlocalsound("stinger_locking"); - self playrumbleonentity("ac130_25mm_fire"); - wait(0.6); - } -} - -//Function Number: 6 -loopstingerlockedfeedback() -{ - self endon("faux_spawn"); - self endon("stop_javelin_locked_feedback"); - for(;;) - { - if(isdefined(level.chopper) && isdefined(level.chopper.gunner) && isdefined(self.stingertarget) && self.stingertarget == level.chopper.gunner) - { - level.chopper.gunner playlocalsound("missile_locking"); - } - - if(isdefined(level.ac130player) && isdefined(self.stingertarget) && self.stingertarget == level.ac130.planemodel) - { - level.ac130player playlocalsound("missile_locking"); - } - - self playlocalsound("stinger_locked"); - self playrumbleonentity("ac130_25mm_fire"); - wait(0.25); - } -} - -//Function Number: 7 -locksighttest(param_00) -{ - var_01 = self geteye(); - if(!isdefined(param_00)) - { - return 0; - } - - var_02 = sighttracepassed(var_01,param_00.origin,0,param_00); - if(var_02) - { - return 1; - } - - var_03 = param_00 getpointinbounds(1,0,0); - var_02 = sighttracepassed(var_01,var_03,0,param_00); - if(var_02) - { - return 1; - } - - var_04 = param_00 getpointinbounds(-1,0,0); - var_02 = sighttracepassed(var_01,var_04,0,param_00); - if(var_02) - { - return 1; - } - - return 0; -} - -//Function Number: 8 -stingerdebugdraw(param_00) -{ -} - -//Function Number: 9 -softsighttest() -{ - var_00 = 500; - if(locksighttest(self.stingertarget)) - { - self.stingerlostsightlinetime = 0; - return 1; - } - - if(self.stingerlostsightlinetime == 0) - { - self.stingerlostsightlinetime = gettime(); - } - - var_01 = gettime() - self.stingerlostsightlinetime; - if(var_01 >= var_00) - { - resetstingerlocking(); - return 0; - } - - return 1; -} - -//Function Number: 10 -gettargetlist() -{ - var_00 = []; - if(maps\mp\_utility::invirtuallobby()) - { - return var_00; - } - - if(level.teambased) - { - if(isdefined(level.chopper) && level.chopper.team != self.team || isdefined(level.chopper.owner) && level.chopper.owner == self) - { - var_00[var_00.size] = level.chopper; - } - - if(isdefined(level.ac130player) && level.ac130player.team != self.team) - { - var_00[var_00.size] = level.ac130.planemodel; - } - - if(isdefined(level.orbitalsupport_player) && level.orbitalsupport_player.team != self.team) - { - var_00[var_00.size] = level.orbitalsupport_planemodel; - } - - if(isdefined(level.spawnedwarbirds)) - { - foreach(var_02 in level.spawnedwarbirds) - { - if(isdefined(var_02) && var_02.team != self.team) - { - var_00[var_00.size] = var_02; - } - } - } - - if(isdefined(level.harriers)) - { - foreach(var_05 in level.harriers) - { - if(isdefined(var_05) && var_05.team != self.team || isdefined(var_05.owner) && var_05.owner == self) - { - var_00[var_00.size] = var_05; - } - } - } - - if(level.multiteambased) - { - for(var_07 = 0;var_07 < level.teamnamelist.size;var_07++) - { - if(self.team != level.teamnamelist[var_07]) - { - if(level.uavmodels[level.teamnamelist[var_07]].size) - { - foreach(var_09 in level.uavmodels[level.teamnamelist[var_07]]) - { - var_00[var_00.size] = var_09; - } - } - } - } - } - else if(level.uavmodels[level.otherteam[self.team]].size) - { - foreach(var_09 in level.uavmodels[level.otherteam[self.team]]) - { - var_00[var_00.size] = var_09; - } - } - - if(isdefined(level.littlebirds)) - { - foreach(var_0E in level.littlebirds) - { - if(isdefined(var_0E) && var_0E.team != self.team || isdefined(var_0E.owner) && var_0E.owner == self) - { - var_00[var_00.size] = var_0E; - } - } - } - - if(isdefined(level.ugvs)) - { - foreach(var_11 in level.ugvs) - { - if(isdefined(var_11) && var_11.team != self.team || isdefined(var_11.owner) && var_11.owner == self) - { - var_00[var_00.size] = var_11; - } - } - } - } - else - { - if(isdefined(level.chopper)) - { - var_00[var_00.size] = level.chopper; - } - - if(isdefined(level.ac130player)) - { - var_00[var_00.size] = level.ac130.planemodel; - } - - if(isdefined(level.harriers)) - { - foreach(var_05 in level.harriers) - { - if(isdefined(var_05)) - { - var_00[var_00.size] = var_05; - } - } - } - - if(level.uavmodels.size) - { - foreach(var_09 in level.uavmodels) - { - if(isdefined(var_09.owner) && var_09.owner == self) - { - continue; - } - - var_00[var_00.size] = var_09; - } - } - - if(isdefined(level.littlebirds)) - { - foreach(var_0E in level.littlebirds) - { - if(!isdefined(var_0E)) - { - continue; - } - - var_00[var_00.size] = var_0E; - } - } - - if(isdefined(level.ugvs)) - { - foreach(var_11 in level.ugvs) - { - if(!isdefined(var_11)) - { - continue; - } - - var_00[var_00.size] = var_11; - } - } - } - - return var_00; -} - -//Function Number: 11 -stingerusageloop() -{ - if(!isplayer(self)) - { - return; - } - - self endon("death"); - self endon("disconnect"); - self endon("faux_spawn"); - var_00 = 1000; - initstingerusage(); - for(;;) - { - wait(0.05); - if(self playerads() < 0.95) - { - resetstingerlocking(); - continue; - } - - var_01 = self getcurrentweapon(); - if(issubstr(var_01,"stingerm7")) - { - continue; - } - - if(var_01 != "stinger_mp" && var_01 != "iw5_maaws_mp") - { - resetstingerlocking(); - continue; - } - - self.stingeruseentered = 1; - if(!isdefined(self.stingerstage)) - { - self.stingerstage = 0; - } - - stingerdebugdraw(self.stingertarget); - if(self.stingerstage == 0) - { - var_02 = gettargetlist(); - if(var_02.size == 0) - { - continue; - } - - var_03 = []; - foreach(var_05 in var_02) - { - if(!isdefined(var_05)) - { - continue; - } - - var_06 = self worldpointinreticle_circle(var_05.origin,65,75); - if(var_06) - { - var_03[var_03.size] = var_05; - } - } - - if(var_03.size == 0) - { - continue; - } - - var_08 = sortbydistance(var_03,self.origin); - if(!locksighttest(var_08[0])) - { - continue; - } - - thread loopstingerlockingfeedback(); - self.stingertarget = var_08[0]; - self.stingerlockstarttime = gettime(); - self.stingerstage = 1; - self.stingerlostsightlinetime = 0; - } - - if(self.stingerstage == 1) - { - if(!stillvalidstingerlock(self.stingertarget)) - { - resetstingerlocking(); - continue; - } - - var_09 = softsighttest(); - if(!var_09) - { - continue; - } - - var_0A = gettime() - self.stingerlockstarttime; - if(maps\mp\_utility::_hasperk("specialty_fasterlockon")) - { - if(var_0A < var_00 * 0.5) - { - continue; - } - } - else if(var_0A < var_00) - { - continue; - } - - self notify("stop_javelin_locking_feedback"); - thread loopstingerlockedfeedback(); - self weaponlockfinalize(self.stingertarget); - self.stingerstage = 2; - } - - if(self.stingerstage == 2) - { - var_09 = softsighttest(); - if(!var_09) - { - continue; - } - - if(!stillvalidstingerlock(self.stingertarget)) - { - resetstingerlocking(); - continue; - } - } - } -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/_teleport.gsc b/AW/PC/ZM/maps/mp/_teleport.gsc deleted file mode 100644 index 4dacbce..0000000 --- a/AW/PC/ZM/maps/mp/_teleport.gsc +++ /dev/null @@ -1,1323 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_teleport.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 59 - * Decompile Time: 890 ms - * Timestamp: 10/27/2023 2:08:37 AM -*******************************************************************/ - -//Function Number: 1 -main() -{ - thread main_thread(); -} - -//Function Number: 2 -main_thread() -{ - var_00 = common_scripts\utility::getstructarray("teleport_world_origin","targetname"); - var_01 = level.gametype; - if(!var_00.size || !var_01 == "dom" || var_01 == "ctf" || var_01 == "hp" || var_01 == "ball") - { - return; - } - - common_scripts\utility::flag_init("teleport_setup_complete"); - level.teleport_minimaps = []; - level.teleport_allowed = 1; - level.teleport_to_offset = 0; - level.teleport_to_nodes = 0; - level.teleport_include_killsteaks = 0; - level.teleport_include_players = 0; - level.teleport_gamemode_func = undefined; - level.teleport_pre_funcs = []; - level.teleport_post_funcs = []; - level.teleport_nodes_in_zone = []; - level.teleport_pathnode_zones = []; - level.teleport_onstartgametype = level.onstartgametype; - level.onstartgametype = ::teleport_onstartgametype; - level.teleportgetactivenodesfunc = ::teleport_get_active_nodes; - level.teleportgetactivepathnodezonesfunc = ::teleport_get_active_pathnode_zones; -} - -//Function Number: 3 -teleport_init() -{ - level.teleport_spawn_info = []; - var_00 = common_scripts\utility::getstructarray("teleport_world_origin","targetname"); - if(!var_00.size) - { - return; - } - - level.teleport_zones = []; - foreach(var_02 in var_00) - { - if(!isdefined(var_02.script_noteworthy)) - { - var_02.script_noteworthy = "zone_" + level.teleport_zones.size; - } - - var_02.name = var_02.script_noteworthy; - teleport_parse_zone_targets(var_02); - level.teleport_nodes_in_zone[var_02.name] = []; - level.teleport_pathnode_zones[var_02.name] = []; - level.teleport_zones[var_02.script_noteworthy] = var_02; - } - - var_04 = getallnodes(); - foreach(var_06 in var_04) - { - var_02 = teleport_closest_zone(var_06.origin); - level.teleport_nodes_in_zone[var_02.name][level.teleport_nodes_in_zone[var_02.name].size] = var_06; - } - - for(var_08 = 0;var_08 < getzonecount();var_08++) - { - var_02 = teleport_closest_zone(getzoneorigin(var_08)); - level.teleport_pathnode_zones[var_02.name][level.teleport_pathnode_zones[var_02.name].size] = var_08; - } - - if(!isdefined(level.teleport_zone_current)) - { - if(isdefined(level.teleport_zones["start"])) - { - teleport_set_current_zone("start"); - return; - } - - foreach(var_0B, var_0A in level.teleport_zones) - { - teleport_set_current_zone(var_0B); - break; - } - } -} - -//Function Number: 4 -teleport_onstartgametype() -{ - teleport_init(); - var_00 = undefined; - var_01 = undefined; - switch(level.gametype) - { - case "dom": - break; - - case "ctf": - break; - - case "hp": - break; - - case "ball": - break; - - default: - break; - } -} - -//Function Number: 5 -teleport_pre_onstartgamesr() -{ - teleport_pre_onstartgamesd_and_sr(); -} - -//Function Number: 6 -teleport_pre_onstartgamesd() -{ - teleport_pre_onstartgamesd_and_sr(); -} - -//Function Number: 7 -teleport_pre_onstartgamesd_and_sr() -{ - foreach(var_01 in level.teleport_zones) - { - var_01.sd_triggers = []; - var_01.sd_bombs = []; - var_01.sd_bombzones = []; - } - - var_03 = getentarray("sd_bomb_pickup_trig","targetname"); - foreach(var_05 in var_03) - { - var_06 = teleport_closest_zone(var_05.origin); - if(isdefined(var_06)) - { - var_06.sd_triggers[var_06.sd_triggers.size] = var_05; - teleport_change_targetname(var_05,var_06.name); - } - } - - var_08 = getentarray("sd_bomb","targetname"); - foreach(var_0A in var_08) - { - var_06 = teleport_closest_zone(var_0A.origin); - if(isdefined(var_06)) - { - var_06.sd_bombs[var_06.sd_bombs.size] = var_0A; - teleport_change_targetname(var_0A,var_06.name); - } - } - - var_0C = getentarray("bombzone","targetname"); - foreach(var_0E in var_0C) - { - var_06 = teleport_closest_zone(var_0E.origin); - if(isdefined(var_06)) - { - var_06.sd_bombzones[var_06.sd_bombzones.size] = var_0E; - teleport_change_targetname(var_0E,var_06.name); - } - } - - var_10 = []; - foreach(var_01 in level.teleport_zones) - { - if(var_01.sd_triggers.size && var_01.sd_triggers.size && var_01.sd_triggers.size) - { - var_10[var_10.size] = var_01.name; - } - } - - teleport_gamemode_disable_teleport(var_10); - var_13 = level.teleport_zones[level.teleport_zone_current]; - teleport_restore_targetname(var_13.sd_triggers); - teleport_restore_targetname(var_13.sd_bombs); - teleport_restore_targetname(var_13.sd_bombzones); -} - -//Function Number: 8 -teleport_onstartgamehorde() -{ - foreach(var_01 in level.teleport_zones) - { - var_01.horde_drops = []; - } - - var_03 = common_scripts\utility::getstructarray("horde_drop","targetname"); - foreach(var_05 in var_03) - { - var_06 = teleport_closest_zone(var_05.origin); - if(isdefined(var_06)) - { - var_06.horde_drops[var_06.horde_drops.size] = var_05; - } - } - - var_08 = []; - foreach(var_01 in level.teleport_zones) - { - if(var_01.horde_drops.size) - { - var_08[var_08.size] = var_01.name; - } - } - - teleport_gamemode_disable_teleport(var_08); - var_0B = level.teleport_zones[level.teleport_zone_current]; - level.struct_class_names["targetname"]["horde_drop"] = var_0B.horde_drops; -} - -//Function Number: 9 -teleport_change_targetname(param_00,param_01) -{ - if(!isarray(param_00)) - { - param_00 = [param_00]; - } - - if(!isdefined(param_01)) - { - param_01 = "hide_from_getEnt"; - } - - foreach(var_03 in param_00) - { - var_03.saved_targetname = var_03.targetname; - var_03.targetname = var_03.targetname + "_" + param_01; - } -} - -//Function Number: 10 -teleport_gamemode_disable_teleport(param_00) -{ - if(!isdefined(param_00)) - { - param_00 = getarraykeys(level.teleport_zones); - } - - var_01 = game["teleport_zone_dom"]; - if(!isdefined(var_01)) - { - var_01 = common_scripts\utility::random(param_00); - game["teleport_zone_dom"] = var_01; - } - - teleport_to_zone(var_01,0); - level.teleport_allowed = 0; -} - -//Function Number: 11 -teleport_restore_targetname(param_00) -{ - if(!isarray(param_00)) - { - param_00 = [param_00]; - } - - foreach(var_02 in param_00) - { - if(isdefined(var_02.saved_targetname)) - { - var_02.targetname = var_02.saved_targetname; - } - } -} - -//Function Number: 12 -teleport_onstartgamectf() -{ - level.teleport_gamemode_func = ::teleport_onteleportctf; -} - -//Function Number: 13 -teleport_onstartgamehp() -{ - if(!isdefined(level.number_of_hp_zones_pre_teleport)) - { - level.number_of_hp_zones_pre_teleport = 5; - } - - level.pre_event_hp_zones = []; - level.post_event_hp_zones = []; - level.all_hp_zones = level.zones; - foreach(var_01 in level.zones) - { - if(var_01.script_index > level.number_of_hp_zones_pre_teleport) - { - level.post_event_hp_zones[level.post_event_hp_zones.size] = var_01; - continue; - } - - level.pre_event_hp_zones[level.pre_event_hp_zones.size] = var_01; - } - - level.zones = level.pre_event_hp_zones; - level.teleport_gamemode_func = ::teleport_onteleporthp; -} - -//Function Number: 14 -teleport_onstartgameball() -{ - level.teleport_gamemode_func = ::teleport_onteleportball; -} - -//Function Number: 15 -teleport_onstartgamedom() -{ - foreach(var_01 in level.teleport_zones) - { - var_01.flags = []; - var_01.domflags = []; - } - - level.all_dom_flags = level.flags; - foreach(var_04 in level.flags) - { - var_05 = teleport_closest_zone(var_04.origin); - if(isdefined(var_05)) - { - var_04.teleport_zone = var_05.name; - var_05.flags[var_05.flags.size] = var_04; - var_05.domflags[var_05.domflags.size] = var_04.useobj; - } - } - - level.dom_flag_data = []; - foreach(var_01 in level.teleport_zones) - { - foreach(var_09 in var_01.flags) - { - var_0A = spawnstruct(); - var_0A.trigger_origin = var_09.origin; - var_0A.visual_origin = var_09.useobj.visuals[0].origin; - var_0A.baseeffectpos = var_09.useobj.baseeffectpos; - var_0A.baseeffectforward = var_09.useobj.baseeffectforward; - var_0A.baseeffectright = var_09.useobj.baseeffectright; - var_0A.obj_origin = var_09.useobj.curorigin; - var_0A.obj3d_origins = []; - foreach(var_0C in level.teamnamelist) - { - var_0D = "objpoint_" + var_0C + "_" + var_09.useobj.entnum; - var_0E = maps\mp\gametypes\_objpoints::getobjpointbyname(var_0D); - if(isdefined(var_0E)) - { - var_0A.obj3d_origins[var_0C] = (var_0E.x,var_0E.y,var_0E.z); - } - } - - var_0D = "objpoint_mlg_" + var_09.useobj.entnum; - var_0E = maps\mp\gametypes\_objpoints::getobjpointbyname(var_0D); - if(isdefined(var_0E)) - { - var_0A.obj3d_origins["mlg"] = (var_0E.x,var_0E.y,var_0E.z); - } - - level.dom_flag_data[var_01.name][var_09.useobj.label] = var_0A; - } - } - - level.flags = level.teleport_zones[level.teleport_zone_current].flags; - level.domflags = level.teleport_zones[level.teleport_zone_current].domflags; - foreach(var_01 in level.teleport_zones) - { - foreach(var_04 in var_01.flags) - { - if(var_01.name == level.teleport_zone_current) - { - continue; - } - - var_04.useobj.visuals[0] delete(); - var_04.useobj maps\mp\gametypes\_gameobjects::deleteuseobject(); - } - } - - level.teleport_gamemode_func = ::teleport_onteleportdom; - teleport_onteleportdom(level.teleport_zone_current); - level.teleport_dom_finished_initializing = 1; - level thread teleport_dom_post_bot_cleanup(); -} - -//Function Number: 16 -teleport_dom_post_bot_cleanup() -{ - while(!isdefined(level.bot_gametype_precaching_done)) - { - wait(0.05); - } - - foreach(var_01 in level.teleport_zones) - { - foreach(var_03 in var_01.flags) - { - var_04 = level.dom_flag_data[var_01.name][var_03.useobj.label]; - var_04.nodes = var_03.nodes; - if(var_01.name != level.teleport_zone_current) - { - var_03 delete(); - } - } - } -} - -//Function Number: 17 -teleport_onstartgameconf() -{ - level.teleport_gamemode_func = ::teleport_onteleportconf; -} - -//Function Number: 18 -teleport_onteleportdom(param_00) -{ - var_01 = level.teleport_zones[level.teleport_zone_current]; - var_02 = level.teleport_zones[param_00]; - if(param_00 == level.teleport_zone_current) - { - return; - } - - foreach(var_04 in level.domflags) - { - var_04 maps\mp\gametypes\_gameobjects::setownerteam("neutral"); - var_04 maps\mp\gametypes\_gameobjects::set2dicon("enemy","waypoint_captureneutral" + var_04.label); - var_04 maps\mp\gametypes\_gameobjects::set3dicon("enemy","waypoint_captureneutral" + var_04.label); - var_04 maps\mp\gametypes\_gameobjects::set2dicon("friendly","waypoint_captureneutral" + var_04.label); - var_04 maps\mp\gametypes\_gameobjects::set3dicon("friendly","waypoint_captureneutral" + var_04.label); - var_04 maps\mp\gametypes\_gameobjects::set2dicon("mlg","waypoint_esports_dom_white" + var_04.label); - var_04 maps\mp\gametypes\_gameobjects::set3dicon("mlg","waypoint_esports_dom_white" + var_04.label); - var_04.firstcapture = 1; - } - - foreach(var_04 in level.flags) - { - var_07 = level.dom_flag_data[param_00][var_04.useobj.label]; - var_04.origin = var_07.trigger_origin; - var_04.useobj.visuals[0].origin = var_07.visual_origin; - var_04.useobj.baseeffectpos = var_07.baseeffectpos; - var_04.useobj.baseeffectforward = var_07.baseeffectforward; - var_04.useobj maps\mp\gametypes\dom::updatevisuals(); - var_04.teleport_zone = param_00; - var_04.nodes = var_07.nodes; - if(isdefined(var_04.useobj.objidallies)) - { - objective_position(var_04.useobj.objidallies,var_07.obj_origin); - } - - if(isdefined(var_04.useobj.objidaxis)) - { - objective_position(var_04.useobj.objidaxis,var_07.obj_origin); - } - - if(isdefined(var_04.useobj.objidmlgspectator)) - { - objective_position(var_04.useobj.objidmlgspectator,var_07.obj_origin); - } - - foreach(var_09 in level.teamnamelist) - { - var_0A = "objpoint_" + var_09 + "_" + var_04.useobj.entnum; - var_0B = maps\mp\gametypes\_objpoints::getobjpointbyname(var_0A); - var_0B.x = var_07.obj3d_origins[var_09][0]; - var_0B.y = var_07.obj3d_origins[var_09][1]; - var_0B.z = var_07.obj3d_origins[var_09][2]; - } - - var_0A = "objpoint_mlg_" + var_04.useobj.entnum; - var_0B = maps\mp\gametypes\_objpoints::getobjpointbyname(var_0A); - var_0B.x = var_07.obj3d_origins["mlg"][0]; - var_0B.y = var_07.obj3d_origins["mlg"][1]; - var_0B.z = var_07.obj3d_origins["mlg"][2]; - } - - maps\mp\gametypes\dom::flagsetup(); - foreach(var_0F in level.domflags) - { - var_10 = var_0F.label; - foreach(var_12 in level.teleport_zones["start"].domflags) - { - if(var_12.label == var_10) - { - var_0F.levelflag = var_12.levelflag; - } - } - } - - foreach(var_0F in level.flags) - { - var_10 = var_0F.label; - foreach(var_17 in level.teleport_zones["start"].flags) - { - if(var_17.label == var_10) - { - var_0F.levelflag = var_17.levelflag; - } - } - } -} - -//Function Number: 19 -teleport_get_matching_dom_flag(param_00,param_01) -{ - foreach(var_03 in level.teleport_zones[param_01].flags) - { - if(param_00.useobj.label == var_03.useobj.label) - { - return var_03; - } - } - - return undefined; -} - -//Function Number: 20 -teleport_onteleportctf(param_00) -{ - if(game["switchedsides"]) - { - level.ctf_second_zones["axis"] = getent("post_event_capzone_allies","targetname"); - level.ctf_second_zones["allies"] = getent("post_event_capzone_axis","targetname"); - } - else - { - level.ctf_second_zones["allies"] = getent("post_event_capzone_allies","targetname"); - level.ctf_second_zones["axis"] = getent("post_event_capzone_axis","targetname"); - } - - var_01 = []; - var_01["allies"] = level.capzones["allies"]; - var_01["axis"] = level.capzones["axis"]; - var_02["allies"] = level.teamflags["allies"]; - var_02["axis"] = level.teamflags["axis"]; - var_03["allies"] = level.ctf_second_zones["allies"].origin; - var_03["axis"] = level.ctf_second_zones["axis"].origin; - foreach(var_05 in var_01) - { - var_05 maps\mp\gametypes\_gameobjects::move_use_object(var_03[var_05.ownerteam],(0,0,85)); - var_05.trigger common_scripts\utility::trigger_off(); - } - - foreach(var_08 in level.teamflags) - { - var_08 maps\mp\gametypes\_gameobjects::move_use_object(var_03[var_08.ownerteam],(0,0,85)); - if(isdefined(var_08.carrier)) - { - var_08 maps\mp\gametypes\_gameobjects::setvisibleteam("any"); - var_08 maps\mp\gametypes\_gameobjects::set2dicon("friendly",level.iconkill2d); - var_08 maps\mp\gametypes\_gameobjects::set3dicon("friendly",level.iconkill3d); - var_08 maps\mp\gametypes\_gameobjects::set2dicon("enemy",level.iconescort2d); - var_08 maps\mp\gametypes\_gameobjects::set3dicon("enemy",level.iconescort3d); - level.capzones[var_08.ownerteam] maps\mp\gametypes\_gameobjects::allowuse("none"); - level.capzones[var_08.ownerteam] maps\mp\gametypes\_gameobjects::setvisibleteam("friendly"); - level.capzones[var_08.ownerteam] maps\mp\gametypes\_gameobjects::set2dicon("friendly",level.iconwaitforflag2d); - level.capzones[var_08.ownerteam] maps\mp\gametypes\_gameobjects::set3dicon("friendly",level.iconwaitforflag3d); - if(var_08.ownerteam == "allies") - { - level.capzones[var_08.ownerteam] maps\mp\gametypes\_gameobjects::set2dicon("mlg",level.iconmissingblue); - level.capzones[var_08.ownerteam] maps\mp\gametypes\_gameobjects::set3dicon("mlg",level.iconmissingblue); - continue; - } - - level.capzones[var_08.ownerteam] maps\mp\gametypes\_gameobjects::set2dicon("mlg",level.iconmissingred); - level.capzones[var_08.ownerteam] maps\mp\gametypes\_gameobjects::set3dicon("mlg",level.iconmissingred); - } - } - - maps\mp\gametypes\ctf::capturezone_reset_base_effects(); - maps\mp\gametypes\ctf::reassign_ctf_team_spawns(); - foreach(var_05 in var_01) - { - var_05.trigger common_scripts\utility::trigger_on(); - } -} - -//Function Number: 21 -teleport_onteleporthp(param_00) -{ - level.zones = level.post_event_hp_zones; - if(level.randomzonespawn == 0) - { - level.prevzoneindex = level.zones.size - 1; - } - else - { - level.zonespawnqueue = []; - maps\mp\gametypes\hp::shufflezones(); - } - - setomnvar("ui_hardpoint_timer",0); - level notify("zone_moved"); -} - -//Function Number: 22 -teleport_onteleportball(param_00) -{ - level.ball_starts_post_event = common_scripts\utility::getstructarray("ball_start_post_event","targetname"); - if(game["switchedsides"]) - { - level.ball_goals_post_event["allies"] = common_scripts\utility::getstruct("ball_goal_axis_post_event","targetname"); - level.ball_goals_post_event["axis"] = common_scripts\utility::getstruct("ball_goal_allies_post_event","targetname"); - } - else - { - level.ball_goals_post_event["axis"] = common_scripts\utility::getstruct("ball_goal_axis_post_event","targetname"); - level.ball_goals_post_event["allies"] = common_scripts\utility::getstruct("ball_goal_allies_post_event","targetname"); - } - - var_01 = []; - var_01["allies"] = level.ball_goals["allies"]; - var_01["axis"] = level.ball_goals["axis"]; - var_02 = []; - var_02["allies"] = level.ball_goals_post_event["allies"].origin; - var_02["axis"] = level.ball_goals_post_event["axis"].origin; - foreach(var_04 in var_01) - { - var_05 = (0,0,var_04.radius / 2 * 1.1); - var_04.useobject maps\mp\gametypes\_gameobjects::move_use_object(var_02[var_04.team],var_05); - var_04 maps\mp\gametypes\ball::ball_find_ground(); - foreach(var_07 in level.players) - { - maps\mp\gametypes\ball::ball_goal_fx_for_player(var_07); - } - } - - bot_setup_ball_jump_nodes(); - var_0A = getzonenearest(level.ball_goals["allies"].origin); - if(isdefined(var_0A)) - { - botzonesetteam(var_0A,"allies"); - } - - var_0A = getzonenearest(level.ball_goals["axis"].origin); - if(isdefined(var_0A)) - { - botzonesetteam(var_0A,"axis"); - } - - level.ball_starts = []; - foreach(var_0C in level.ball_starts_post_event) - { - maps\mp\gametypes\ball::ball_add_start(var_0C.origin); - } - - foreach(var_0F in level.balls) - { - var_10 = 0; - foreach(var_07 in level.players) - { - if(isdefined(var_07.ball_carried) && var_07.ball_carried == var_0F) - { - var_10 = 1; - break; - } - } - - if(var_10 != 1) - { - var_0F maps\mp\gametypes\ball::ball_return_home(); - } - } -} - -//Function Number: 23 -bot_setup_ball_jump_nodes() -{ - var_00 = 400; - wait(1); - var_01 = 0; - var_02 = 10; - foreach(var_04 in level.ball_goals) - { - var_04.ball_jump_nodes = []; - var_05 = getnodesinradius(var_04.origin,var_00,0); - foreach(var_07 in var_05) - { - if(var_07.type == "End") - { - continue; - } - - var_01++; - if(bot_ball_origin_can_see_goal(var_07.origin,var_04,1)) - { - var_04.ball_jump_nodes[var_04.ball_jump_nodes.size] = var_07; - } - - if(var_01 % var_02 == 0) - { - wait(0.05); - } - } - - var_09 = 999999999; - foreach(var_07 in var_04.ball_jump_nodes) - { - var_0B = distance2dsquared(var_07.origin,var_04.origin); - if(var_0B < var_09) - { - var_04.nearest_node = var_07; - var_09 = var_0B; - } - } - - wait(0.05); - } -} - -//Function Number: 24 -bot_ball_origin_can_see_goal(param_00,param_01,param_02) -{ - var_03 = bot_ball_trace_to_origin(param_00,param_01.origin); - if(isdefined(param_02) && param_02) - { - if(!var_03) - { - var_04 = param_01.origin - (0,0,param_01.radius * 0.5); - var_03 = bot_ball_trace_to_origin(param_00,var_04); - } - - if(!var_03) - { - var_04 = param_01.origin + (0,0,param_01.radius * 0.5); - var_03 = bot_ball_trace_to_origin(param_00,var_04); - } - } - - return var_03; -} - -//Function Number: 25 -bot_ball_trace_to_origin(param_00,param_01) -{ - if(isdefined(self) && isplayer(self) || isagent(self)) - { - var_02 = playerphysicstrace(param_00,param_01,self); - } - else - { - var_02 = playerphysicstrace(param_01,var_02); - } - - return distancesquared(var_02,param_01) < 1; -} - -//Function Number: 26 -teleport_onteleportconf(param_00) -{ - var_01 = get_teleport_delta(param_00); - foreach(var_03 in level.dogtags) - { - var_04 = var_03.curorigin + var_01; - var_05 = teleport_get_safe_node_near(var_04); - if(isdefined(var_05)) - { - var_05.last_teleport_time = gettime(); - var_06 = var_05.origin - var_03.curorigin; - var_03.curorigin = var_03.curorigin + var_06; - var_03.trigger.origin = var_03.trigger.origin + var_06; - var_03.visuals[0].origin = var_03.visuals[0].origin + var_06; - var_03.visuals[1].origin = var_03.visuals[1].origin + var_06; - continue; - } - - var_03 maps\mp\gametypes\conf::resettags(); - } -} - -//Function Number: 27 -teleport_get_safe_node_near(param_00) -{ - var_01 = gettime(); - var_02 = getnodesinradiussorted(param_00,300,0,200,"Path"); - for(var_03 = 0;var_03 < var_02.size;var_03++) - { - var_04 = var_02[var_03]; - if(isdefined(var_04.last_teleport_time) && var_04.last_teleport_time == var_01) - { - continue; - } - - return var_04; - } - - return undefined; -} - -//Function Number: 28 -teleport_closest_zone(param_00) -{ - var_01 = undefined; - var_02 = undefined; - foreach(var_04 in level.teleport_zones) - { - var_05 = distancesquared(var_04.origin,param_00); - if(!isdefined(var_01) || var_05 < var_01) - { - var_01 = var_05; - var_02 = var_04; - } - } - - return var_02; -} - -//Function Number: 29 -teleport_origin_use_nodes(param_00) -{ - level.teleport_to_nodes = param_00; -} - -//Function Number: 30 -teleport_origin_use_offset(param_00) -{ - level.teleport_to_offset = param_00; -} - -//Function Number: 31 -teleport_include_killstreaks(param_00) -{ - level.teleport_include_killsteaks = param_00; -} - -//Function Number: 32 -teleport_set_minimap_for_zone(param_00,param_01) -{ - level.teleport_minimaps[param_00] = param_01; -} - -//Function Number: 33 -teleport_set_pre_func(param_00,param_01) -{ - level.teleport_pre_funcs[param_01] = param_00; -} - -//Function Number: 34 -teleport_set_post_func(param_00,param_01) -{ - level.teleport_post_funcs[param_01] = param_00; -} - -//Function Number: 35 -teleport_parse_zone_targets(param_00) -{ - if(isdefined(param_00.origins_pasrsed) && param_00.origins_pasrsed) - { - return; - } - - param_00.teleport_origins = []; - param_00.teleport_origins["none"] = []; - param_00.teleport_origins["allies"] = []; - param_00.teleport_origins["axis"] = []; - var_01 = common_scripts\utility::getstructarray("teleport_zone_" + param_00.name,"targetname"); - if(isdefined(param_00.target)) - { - var_02 = common_scripts\utility::getstructarray(param_00.target,"targetname"); - var_01 = common_scripts\utility::array_combine(var_02,var_01); - } - - var_03 = var_01; - var_0D = getfirstarraykey(var_03); - if(isdefined(var_0D)) - { - var_04 = var_03[var_0D]; - if(!isdefined(var_04.script_noteworthy)) - { - var_04.script_noteworthy = "teleport_origin"; - } - - switch(var_04.script_noteworthy) - { - case "teleport_origin": - break; - - case "telport_origin_nodrop": - break; - - default: - break; - } - } -} - -//Function Number: 36 -teleport_set_current_zone(param_00) -{ - level.teleport_zone_current = param_00; - if(isdefined(level.teleport_minimaps[param_00])) - { - maps\mp\_compass::setupminimap(level.teleport_minimaps[param_00]); - } -} - -//Function Number: 37 -teleport_filter_spawn_point(param_00,param_01) -{ - if(!isdefined(param_01)) - { - param_01 = level.teleport_zone_current; - } - - var_02 = []; - foreach(var_04 in param_00) - { - if(!isdefined(var_04.teleport_label)) - { - var_04.teleport_label = "ent_" + var_04 getentitynumber(); - } - - if(!isdefined(level.teleport_spawn_info[var_04.teleport_label])) - { - teleport_init_spawn_info(var_04); - } - - if(level.teleport_spawn_info[var_04.teleport_label].zone == param_01) - { - var_02[var_02.size] = var_04; - } - } - - return var_02; -} - -//Function Number: 38 -teleport_init_spawn_info(param_00) -{ - if(!isdefined(param_00.teleport_label)) - { - param_00.teleport_label = "ent_" + param_00 getentitynumber(); - } - - if(isdefined(level.teleport_spawn_info[param_00.teleport_label])) - { - return; - } - - var_01 = spawnstruct(); - var_01.spawner = param_00; - var_02 = undefined; - foreach(var_04 in level.teleport_zones) - { - var_05 = distance(var_04.origin,param_00.origin); - if(!isdefined(var_02) || var_05 < var_02) - { - var_02 = var_05; - var_01.zone = var_04.name; - } - } - - level.teleport_spawn_info[param_00.teleport_label] = var_01; -} - -//Function Number: 39 -teleport_is_valid_zone(param_00) -{ - foreach(var_03, var_02 in level.teleport_zones) - { - if(var_03 == param_00) - { - return 1; - } - } - - return 0; -} - -//Function Number: 40 -teleport_to_zone(param_00,param_01) -{ - if(!level.teleport_allowed) - { - return; - } - - if(!isdefined(param_01)) - { - param_01 = 1; - } - - var_02 = level.teleport_pre_funcs[param_00]; - if(isdefined(var_02) && param_01) - { - [[ var_02 ]](); - } - - var_03 = level.teleport_zones[level.teleport_zone_current]; - var_04 = level.teleport_zones[param_00]; - if(!isdefined(var_03) || !isdefined(var_04)) - { - return; - } - - if(level.teleport_include_players) - { - teleport_to_zone_players(param_00); - teleport_to_zone_agents(param_00); - } - - if(level.teleport_include_killsteaks) - { - teleport_to_zone_killstreaks(param_00); - } - - if(isdefined(level.teleport_gamemode_func)) - { - [[ level.teleport_gamemode_func ]](param_00); - } - - teleport_set_current_zone(param_00); - level notify("teleport_to_zone",param_00); - var_05 = level.teleport_post_funcs[param_00]; - if(isdefined(var_05) && param_01) - { - [[ var_05 ]](); - } - - if(isdefined(level.bot_funcs) && isdefined(level.bot_funcs["post_teleport"])) - { - [[ level.bot_funcs["post_teleport"] ]](); - } -} - -//Function Number: 41 -teleport_to_zone_agents(param_00) -{ - var_01 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); - foreach(var_03 in var_01) - { - teleport_to_zone_character(param_00,var_03); - } -} - -//Function Number: 42 -teleport_to_zone_players(param_00) -{ - foreach(var_02 in level.players) - { - teleport_to_zone_character(param_00,var_02); - } -} - -//Function Number: 43 -teleport_to_zone_character(param_00,param_01) -{ - var_02 = level.teleport_zones[level.teleport_zone_current]; - var_03 = level.teleport_zones[param_00]; - var_04 = gettime(); - if(isplayer(param_01) && param_01.sessionstate == "intermission" || param_01.sessionstate == "spectator") - { - var_05 = getentarray("mp_global_intermission","classname"); - var_05 = teleport_filter_spawn_point(var_05,param_00); - var_06 = var_05[0]; - param_01 dontinterpolate(); - param_01 setorigin(var_06.origin); - param_01 setplayerangles(var_06.angles); - return; - } - - var_07 = undefined; - var_08 = var_03.angles; - if(isplayer(var_03)) - { - var_08 = var_03 getplayerangles(); - } - - foreach(var_0E, var_0A in var_05.teleport_origins) - { - var_05.teleport_origins[var_0E] = common_scripts\utility::array_randomize(var_0A); - foreach(var_0C in var_0A) - { - var_0C.claimed = 0; - } - } - - var_0F = []; - if(level.teambased) - { - if(isdefined(var_03.team) && isdefined(var_05.teleport_origins[var_03.team])) - { - var_0F = var_05.teleport_origins[var_03.team]; - } - } - else - { - var_0F = var_05.teleport_origins["none"]; - } - - foreach(var_0C in var_0F) - { - if(!var_0C.claimed) - { - var_07 = var_0C.origin; - var_08 = var_0C.angles; - var_0C.claimed = 1; - break; - } - } - - var_12 = var_05.origin - var_04.origin; - var_13 = var_03.origin + var_12; - if(!isdefined(var_07) && level.teleport_to_offset) - { - if(canspawn(var_13) && !positionwouldtelefrag(var_13)) - { - var_07 = var_13; - } - } - - if(!isdefined(var_07) && level.teleport_to_nodes) - { - var_14 = getnodesinradiussorted(var_13,300,0,200,"Path"); - for(var_15 = 0;var_15 < var_14.size;var_15++) - { - var_16 = var_14[var_15]; - if(isdefined(var_16.last_teleport_time) && var_16.last_teleport_time == var_06) - { - continue; - } - - var_0C = var_16.origin; - if(canspawn(var_0C) && !positionwouldtelefrag(var_0C)) - { - var_16.last_teleport_time = var_06; - var_07 = var_0C; - break; - } - } - } - - if(!isdefined(var_07)) - { - var_03 maps\mp\_utility::_suicide(); - return; - } - - var_03 cancelmantle(); - var_03 dontinterpolate(); - var_03 setorigin(var_07); - var_03 setplayerangles(var_08); - thread teleport_validate_success(var_03); -} - -//Function Number: 44 -teleport_validate_success(param_00) -{ - wait 0.05; - if(isdefined(param_00)) - { - var_01 = teleport_closest_zone(param_00.origin); - if(var_01.name != level.teleport_zone_current) - { - param_00 maps\mp\_utility::_suicide(); - } - } -} - -//Function Number: 45 -get_teleport_delta(param_00) -{ - var_01 = level.teleport_zones[param_00]; - var_02 = level.teleport_zones[level.teleport_zone_current]; - var_03 = var_01.origin - var_02.origin; - return var_03; -} - -//Function Number: 46 -teleport_to_zone_killstreaks(param_00) -{ -} - -//Function Number: 47 -teleport_notify_death() -{ - if(isdefined(self)) - { - self notify("death"); - } -} - -//Function Number: 48 -array_thread_safe(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A) -{ - if(!isdefined(param_00)) - { - return; - } - - common_scripts\utility::array_thread(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A); -} - -//Function Number: 49 -array_levelthread_safe(param_00,param_01,param_02,param_03,param_04) -{ - if(!isdefined(param_00)) - { - return; - } - - common_scripts\utility::array_levelthread(param_00,param_01,param_02,param_03,param_04); -} - -//Function Number: 50 -teleport_get_care_packages() -{ - return getentarray("care_package","targetname"); -} - -//Function Number: 51 -teleport_get_deployable_boxes() -{ - var_00 = []; - var_01 = getentarray("script_model","classname"); - foreach(var_03 in var_01) - { - if(isdefined(var_03.boxtype)) - { - var_00[var_00.size] = var_03; - } - } - - return var_00; -} - -//Function Number: 52 -teleport_place_on_ground(param_00,param_01) -{ - if(!isdefined(param_00)) - { - return; - } - - if(!isdefined(param_01)) - { - param_01 = 300; - } - - var_02 = param_00.origin; - var_03 = param_00.origin - (0,0,param_01); - var_04 = bullettrace(var_02,var_03,0,param_00); - if(var_04["fraction"] < 1) - { - param_00.origin = var_04["position"]; - return 1; - } - - return 0; -} - -//Function Number: 53 -teleport_add_delta_targets(param_00,param_01) -{ - if(teleport_delta_this_frame(param_00)) - { - return; - } - - teleport_add_delta(param_00,param_01); - if(isdefined(param_00.target)) - { - var_02 = getentarray(param_00.target,"targetname"); - var_03 = common_scripts\utility::getstructarray(param_00.target,"targetname"); - var_04 = common_scripts\utility::array_combine(var_02,var_03); - common_scripts\utility::array_levelthread(var_04,::teleport_add_delta_targets,param_01); - } -} - -//Function Number: 54 -teleport_self_add_delta_targets(param_00) -{ - teleport_add_delta_targets(self,param_00); -} - -//Function Number: 55 -teleport_self_add_delta(param_00) -{ - teleport_add_delta(self,param_00); -} - -//Function Number: 56 -teleport_add_delta(param_00,param_01) -{ - if(isdefined(param_00)) - { - if(!teleport_delta_this_frame(param_00)) - { - param_00.origin = param_00.origin + param_01; - param_00.last_teleport_time = gettime(); - } - } -} - -//Function Number: 57 -teleport_delta_this_frame(param_00) -{ - return isdefined(param_00.last_teleport_time) && param_00.last_teleport_time == gettime(); -} - -//Function Number: 58 -teleport_get_active_nodes() -{ - return level.teleport_nodes_in_zone[level.teleport_zone_current]; -} - -//Function Number: 59 -teleport_get_active_pathnode_zones() -{ - return level.teleport_pathnode_zones[level.teleport_zone_current]; -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/_utility.gsc b/AW/PC/ZM/maps/mp/_utility.gsc deleted file mode 100644 index e658ed0..0000000 --- a/AW/PC/ZM/maps/mp/_utility.gsc +++ /dev/null @@ -1,6513 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/_utility.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 392 - * Decompile Time: 6048 ms - * Timestamp: 10/27/2023 2:08:59 AM -*******************************************************************/ - -//Function Number: 1 -exploder_sound() -{ - if(isdefined(self.script_delay)) - { - wait(self.script_delay); - } - - self playsound(level.scr_sound[self.script_sound]); -} - -//Function Number: 2 -_beginlocationselection(param_00,param_01,param_02,param_03) -{ - self beginlocationselection(param_01,param_02,param_03); - self setclientomnvar("ui_map_location_selector",1); - self.selectinglocation = 1; - self setblurforplayer(10.3,0.3); - thread endselectiononaction("cancel_location"); - thread endselectiononaction("death"); - thread endselectiononaction("disconnect"); - thread endselectiononaction("used"); - thread endselectiononaction("weapon_change"); - self endon("stop_location_selection"); - thread endselectiononendgame(); - thread endselectiononemp(); - thread endselectionohostmigration(); -} - -//Function Number: 3 -stoplocationselection(param_00,param_01) -{ - if(!isdefined(param_01)) - { - param_01 = "generic"; - } - - if(!param_00) - { - self setclientomnvar("ui_map_location_selector",0); - self setblurforplayer(0,0.3); - self endlocationselection(); - self.selectinglocation = undefined; - } - - self notify("stop_location_selection",param_01); -} - -//Function Number: 4 -endselectiononemp() -{ - self endon("stop_location_selection"); - for(;;) - { - level waittill("emp_update"); - if(!isemped()) - { - continue; - } - - thread stoplocationselection(0,"emp"); - } -} - -//Function Number: 5 -endselectiononaction(param_00,param_01) -{ - self endon("stop_location_selection"); - if(!isdefined(param_01)) - { - param_01 = 1; - } - - while(param_01 > 0) - { - self waittill(param_00); - param_01--; - } - - thread stoplocationselection(param_00 == "disconnect",param_00); -} - -//Function Number: 6 -endselectiononendgame() -{ - self endon("stop_location_selection"); - level waittill("game_ended"); - thread stoplocationselection(0,"end_game"); -} - -//Function Number: 7 -endselectionohostmigration() -{ - self endon("stop_location_selection"); - level waittill("host_migration_begin"); - thread stoplocationselection(0,"hostmigrate"); -} - -//Function Number: 8 -isattachment(param_00) -{ - var_01 = tablelookup("mp/attachmentTable.csv",3,param_00,0); - if(isdefined(var_01) && var_01 != "") - { - return 1; - } - - return 0; -} - -//Function Number: 9 -getattachmenttype(param_00) -{ - var_01 = tablelookup("mp/attachmentTable.csv",3,param_00,1); - return var_01; -} - -//Function Number: 10 -delaythread(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - thread delaythread_proc(param_01,param_00,param_02,param_03,param_04,param_05,param_06); -} - -//Function Number: 11 -delaythread_proc(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - wait(param_01); - if(!isdefined(param_02)) - { - thread [[ param_00 ]](); - return; - } - - if(!isdefined(param_03)) - { - thread [[ param_00 ]](param_02); - return; - } - - if(!isdefined(param_04)) - { - thread [[ param_00 ]](param_02,param_03); - return; - } - - if(!isdefined(param_05)) - { - thread [[ param_00 ]](param_02,param_03,param_04); - return; - } - - if(!isdefined(param_06)) - { - thread [[ param_00 ]](param_02,param_03,param_04,param_05); - return; - } - - thread [[ param_00 ]](param_02,param_03,param_04,param_05,param_06); -} - -//Function Number: 12 -getplant() -{ - var_00 = self.origin + (0,0,10); - var_01 = 11; - var_02 = anglestoforward(self.angles); - var_02 = var_02 * var_01; - var_03[0] = var_00 + var_02; - var_03[1] = var_00; - var_04 = bullettrace(var_03[0],var_03[0] + (0,0,-18),0,undefined); - if(var_04["fraction"] < 1) - { - var_05 = spawnstruct(); - var_05.origin = var_04["position"]; - var_05.angles = orienttonormal(var_04["normal"]); - return var_05; - } - - var_05 = bullettrace(var_04[1],var_04[1] + (0,0,-18),0,undefined); - if(var_05["fraction"] < 1) - { - var_05 = spawnstruct(); - var_05.origin = var_04["position"]; - var_05.angles = orienttonormal(var_04["normal"]); - return var_05; - } - - var_04[2] = var_01 + (16,16,0); - var_04[3] = var_01 + (16,-16,0); - var_04[4] = var_01 + (-16,-16,0); - var_04[5] = var_01 + (-16,16,0); - var_06 = undefined; - var_07 = undefined; - for(var_08 = 0;var_08 < var_04.size;var_08++) - { - var_05 = bullettrace(var_04[var_08],var_04[var_08] + (0,0,-1000),0,undefined); - if(!isdefined(var_06) || var_05["fraction"] < var_06) - { - var_06 = var_05["fraction"]; - var_07 = var_05["position"]; - } - } - - if(var_06 == 1) - { - var_07 = self.origin; - } - - var_05 = spawnstruct(); - var_08.origin = var_06; - var_08.angles = orienttonormal(var_04["normal"]); - return var_08; -} - -//Function Number: 13 -orienttonormal(param_00) -{ - var_01 = (param_00[0],param_00[1],0); - var_02 = length(var_01); - if(!var_02) - { - return (0,0,0); - } - - var_03 = vectornormalize(var_01); - var_04 = param_00[2] * -1; - var_05 = (var_03[0] * var_04,var_03[1] * var_04,var_02); - var_06 = vectortoangles(var_05); - return var_06; -} - -//Function Number: 14 -deleteplacedentity(param_00) -{ - var_01 = getentarray(param_00,"classname"); - for(var_02 = 0;var_02 < var_01.size;var_02++) - { - var_01[var_02] delete(); - } -} - -//Function Number: 15 -playsoundonplayers(param_00,param_01,param_02) -{ - if(level.splitscreen) - { - if(isdefined(level.players[0])) - { - level.players[0] playlocalsound(param_00); - return; - } - - return; - } - - if(isdefined(param_01)) - { - if(isdefined(param_02)) - { - for(var_03 = 0;var_03 < level.players.size;var_03++) - { - var_04 = level.players[var_03]; - if(var_04 issplitscreenplayer() && !var_04 issplitscreenplayerprimary()) - { - continue; - } - - if(isdefined(var_04.pers["team"]) && var_04.pers["team"] == param_01 && !isexcluded(var_04,param_02)) - { - var_04 playlocalsound(param_00); - } - } - - return; - } - - for(var_03 = 0;var_03 < level.players.size;var_03++) - { - var_04 = level.players[var_03]; - if(var_04 issplitscreenplayer() && !var_04 issplitscreenplayerprimary()) - { - continue; - } - - if(isdefined(var_04.pers["team"]) && var_04.pers["team"] == param_01) - { - var_04 playlocalsound(param_00); - } - } - - return; - } - - if(isdefined(var_04)) - { - for(var_03 = 0;var_03 < level.players.size;var_03++) - { - var_04 = level.players[var_03]; - if(var_04 issplitscreenplayer() && !var_04 issplitscreenplayerprimary()) - { - continue; - } - - if(!isexcluded(var_04,param_02)) - { - var_04 playlocalsound(param_00); - } - } - - return; - } - - for(var_03 = 0;var_03 < level.players.size;var_03++) - { - var_04 = level.players[var_03]; - if(var_04 issplitscreenplayer() && !var_04 issplitscreenplayerprimary()) - { - continue; - } - - var_04 playlocalsound(param_00); - } -} - -//Function Number: 16 -playloopsoundtoplayers(param_00,param_01,param_02) -{ - if(!soundexists(param_00)) - { - return; - } - - var_03 = spawn("script_origin",(0,0,0)); - var_03 endon("death"); - thread common_scripts\utility::delete_on_death(var_03); - if(isdefined(param_02)) - { - var_03 hide(); - foreach(var_05 in param_02) - { - var_03 showtoplayer(var_05); - } - } - - if(isdefined(param_01)) - { - var_03.origin = self.origin + param_01; - var_03.angles = self.angles; - var_03 vehicle_jetbikesethoverforcescale(self); - } - else - { - var_03.origin = self.origin; - var_03.angles = self.angles; - var_03 vehicle_jetbikesethoverforcescale(self); - } - - var_03 playloopsound(param_00); - self waittill("stop sound" + param_00); - var_03 stoploopsound(param_00); - var_03 delete(); -} - -//Function Number: 17 -sortlowermessages() -{ - for(var_00 = 1;var_00 < self.lowermessages.size;var_00++) - { - var_01 = self.lowermessages[var_00]; - var_02 = var_01.priority; - for(var_03 = var_00 - 1;var_03 >= 0 && var_02 > self.lowermessages[var_03].priority;var_03--) - { - self.lowermessages[var_03 + 1] = self.lowermessages[var_03]; - } - - self.lowermessages[var_03 + 1] = var_01; - } -} - -//Function Number: 18 -addlowermessage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) -{ - var_09 = undefined; - foreach(var_0B in self.lowermessages) - { - if(var_0B.name == param_00) - { - if(var_0B.text == param_01 && var_0B.priority == param_03) - { - return; - } - - var_09 = var_0B; - break; - } - } - - if(!isdefined(var_09)) - { - var_09 = spawnstruct(); - self.lowermessages[self.lowermessages.size] = var_09; - } - - var_09.name = param_00; - var_09.text = param_01; - var_09.time = param_02; - var_09.addtime = gettime(); - var_09.priority = param_03; - var_09.showtimer = param_04; - var_09.shouldfade = param_05; - var_09.fadetoalpha = param_06; - var_09.fadetoalphatime = param_07; - var_09.hidewhenindemo = param_08; - sortlowermessages(); -} - -//Function Number: 19 -removelowermessage(param_00) -{ - if(isdefined(self.lowermessages)) - { - for(var_01 = self.lowermessages.size;var_01 > 0;var_01--) - { - if(self.lowermessages[var_01 - 1].name != param_00) - { - continue; - } - - var_02 = self.lowermessages[var_01 - 1]; - for(var_03 = var_01;var_03 < self.lowermessages.size;var_03++) - { - if(isdefined(self.lowermessages[var_03])) - { - self.lowermessages[var_03 - 1] = self.lowermessages[var_03]; - } - } - - self.lowermessages[self.lowermessages.size - 1] = undefined; - } - - sortlowermessages(); - } -} - -//Function Number: 20 -getlowermessage() -{ - return self.lowermessages[0]; -} - -//Function Number: 21 -setlowermessage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) -{ - if(!isdefined(param_03)) - { - param_03 = 1; - } - - if(!isdefined(param_02)) - { - param_02 = 0; - } - - if(!isdefined(param_04)) - { - param_04 = 0; - } - - if(!isdefined(param_05)) - { - param_05 = 0; - } - - if(!isdefined(param_06)) - { - param_06 = 0.85; - } - - if(!isdefined(param_07)) - { - param_07 = 3; - } - - if(!isdefined(param_08)) - { - param_08 = 0; - } - - addlowermessage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08); - updatelowermessage(); -} - -//Function Number: 22 -updatelowermessage() -{ - if(!isdefined(self.lowermessage)) - { - return; - } - - var_00 = getlowermessage(); - if(!isdefined(var_00)) - { - if(isdefined(self.lowermessage) && isdefined(self.lowertimer)) - { - self.lowermessage.alpha = 0; - self.lowertimer.alpha = 0; - } - - return; - } - - self.lowermessage settext(var_00.text); - self.lowermessage.alpha = 0.85; - self.lowertimer.alpha = 1; - self.lowermessage.hidewhenindemo = var_00.hidewhenindemo; - if(var_00.shouldfade) - { - self.lowermessage fadeovertime(min(var_00.fadetoalphatime,60)); - self.lowermessage.alpha = var_00.fadetoalpha; - } - - if(var_00.time > 0 && var_00.showtimer) - { - self.lowertimer settimer(max(var_00.time - gettime() - var_00.addtime / 1000,0.1)); - return; - } - - if(var_00.time > 0 && !var_00.showtimer) - { - self.lowertimer settext(""); - self.lowermessage fadeovertime(min(var_00.time,60)); - self.lowermessage.alpha = 0; - thread clearondeath(var_00); - thread clearafterfade(var_00); - return; - } - - self.lowertimer settext(""); -} - -//Function Number: 23 -clearondeath(param_00) -{ - self notify("message_cleared"); - self endon("message_cleared"); - self endon("disconnect"); - level endon("game_ended"); - self waittill("death"); - clearlowermessage(param_00.name); -} - -//Function Number: 24 -clearafterfade(param_00) -{ - wait(param_00.time); - clearlowermessage(param_00.name); - self notify("message_cleared"); -} - -//Function Number: 25 -clearlowermessage(param_00) -{ - removelowermessage(param_00); - updatelowermessage(); -} - -//Function Number: 26 -clearlowermessages() -{ - for(var_00 = 0;var_00 < self.lowermessages.size;var_00++) - { - self.lowermessages[var_00] = undefined; - } - - if(!isdefined(self.lowermessage)) - { - return; - } - - updatelowermessage(); -} - -//Function Number: 27 -printonteam(param_00,param_01) -{ - foreach(var_03 in level.players) - { - if(var_03.team != param_01) - { - continue; - } - - var_03 iprintln(param_00); - } -} - -//Function Number: 28 -printboldonteam(param_00,param_01) -{ - for(var_02 = 0;var_02 < level.players.size;var_02++) - { - var_03 = level.players[var_02]; - if(isdefined(var_03.pers["team"]) && var_03.pers["team"] == param_01) - { - var_03 iprintlnbold(param_00); - } - } -} - -//Function Number: 29 -printboldonteamarg(param_00,param_01,param_02) -{ - for(var_03 = 0;var_03 < level.players.size;var_03++) - { - var_04 = level.players[var_03]; - if(isdefined(var_04.pers["team"]) && var_04.pers["team"] == param_01) - { - var_04 iprintlnbold(param_00,param_02); - } - } -} - -//Function Number: 30 -printonteamarg(param_00,param_01,param_02) -{ - for(var_03 = 0;var_03 < level.players.size;var_03++) - { - var_04 = level.players[var_03]; - if(isdefined(var_04.pers["team"]) && var_04.pers["team"] == param_01) - { - var_04 iprintln(param_00,param_02); - } - } -} - -//Function Number: 31 -printonplayers(param_00,param_01) -{ - var_02 = level.players; - for(var_03 = 0;var_03 < var_02.size;var_03++) - { - if(isdefined(param_01)) - { - if(isdefined(var_02[var_03].pers["team"]) && var_02[var_03].pers["team"] == param_01) - { - var_02[var_03] iprintln(param_00); - } - - continue; - } - - var_02[var_03] iprintln(param_00); - } -} - -//Function Number: 32 -printandsoundoneveryone(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - var_07 = isdefined(param_04); - var_08 = 0; - if(isdefined(param_05)) - { - var_08 = 1; - } - - if(level.splitscreen || !var_07) - { - for(var_09 = 0;var_09 < level.players.size;var_09++) - { - var_0A = level.players[var_09]; - var_0B = var_0A.team; - if(isdefined(var_0B)) - { - if(var_0B == param_00 && isdefined(param_02)) - { - var_0A iprintln(param_02,param_06); - continue; - } - - if(var_0B == param_01 && isdefined(param_03)) - { - var_0A iprintln(param_03,param_06); - } - } - } - - if(var_07) - { - level.players[0] playlocalsound(param_04); - return; - } - - return; - } - - if(var_0B) - { - for(var_09 = 0;var_09 < level.players.size;var_09++) - { - var_0A = level.players[var_09]; - var_0B = var_0A.team; - if(isdefined(var_0B)) - { - if(var_0B == param_00) - { - if(isdefined(param_02)) - { - var_0A iprintln(param_02,param_06); - } - - var_0A playlocalsound(param_04); - continue; - } - - if(var_0B == param_01) - { - if(isdefined(param_03)) - { - var_0A iprintln(param_03,param_06); - } - - var_0A playlocalsound(param_05); - } - } - } - - return; - } - - for(var_09 = 0;var_09 < level.players.size;var_09++) - { - var_0A = level.players[var_09]; - var_0B = var_0A.team; - if(isdefined(var_0B)) - { - if(var_0B == param_00) - { - if(isdefined(param_02)) - { - var_0A iprintln(param_02,param_06); - } - - var_0A playlocalsound(param_04); - continue; - } - - if(var_0B == param_01) - { - if(isdefined(param_03)) - { - var_0A iprintln(param_03,param_06); - } - } - } - } -} - -//Function Number: 33 -printandsoundonteam(param_00,param_01,param_02) -{ - foreach(var_04 in level.players) - { - if(var_04.team != param_00) - { - continue; - } - - var_04 printandsoundonplayer(param_01,param_02); - } -} - -//Function Number: 34 -printandsoundonplayer(param_00,param_01) -{ - self iprintln(param_00); - self playlocalsound(param_01); -} - -//Function Number: 35 -_playlocalsound(param_00) -{ - if(level.splitscreen && self getentitynumber() != 0) - { - return; - } - - self playlocalsound(param_00); -} - -//Function Number: 36 -dvarintvalue(param_00,param_01,param_02,param_03) -{ - param_00 = "scr_" + level.gametype + "_" + param_00; - if(getdvar(param_00) == "") - { - setdvar(param_00,param_01); - return param_01; - } - - var_04 = getdvarint(param_00); - if(var_04 > param_03) - { - var_04 = param_03; - } - else if(var_04 < param_02) - { - var_04 = param_02; - } - else - { - return var_04; - } - - setdvar(param_00,var_04); - return var_04; -} - -//Function Number: 37 -dvarfloatvalue(param_00,param_01,param_02,param_03) -{ - param_00 = "scr_" + level.gametype + "_" + param_00; - if(getdvar(param_00) == "") - { - setdvar(param_00,param_01); - return param_01; - } - - var_04 = getdvarfloat(param_00); - if(var_04 > param_03) - { - var_04 = param_03; - } - else if(var_04 < param_02) - { - var_04 = param_02; - } - else - { - return var_04; - } - - setdvar(param_00,var_04); - return var_04; -} - -//Function Number: 38 -play_sound_on_tag(param_00,param_01) -{ - if(isdefined(param_01)) - { - playsoundatpos(self gettagorigin(param_01),param_00); - return; - } - - playsoundatpos(self.origin,param_00); -} - -//Function Number: 39 -getotherteam(param_00) -{ - if(level.multiteambased) - { - } - - if(param_00 == "allies") - { - return "axis"; - } - else if(param_00 == "axis") - { - return "allies"; - } - else - { - return "none"; - } -} - -//Function Number: 40 -wait_endon(param_00,param_01,param_02,param_03) -{ - self endon(param_01); - if(isdefined(param_02)) - { - self endon(param_02); - } - - if(isdefined(param_03)) - { - self endon(param_03); - } - - wait(param_00); -} - -//Function Number: 41 -initpersstat(param_00) -{ - if(!isdefined(self.pers[param_00])) - { - self.pers[param_00] = 0; - } -} - -//Function Number: 42 -getpersstat(param_00) -{ - return self.pers[param_00]; -} - -//Function Number: 43 -incpersstat(param_00,param_01) -{ - if(isdefined(self) && isdefined(self.pers) && isdefined(self.pers[param_00])) - { - self.pers[param_00] = self.pers[param_00] + param_01; - maps\mp\gametypes\_persistence::statadd(param_00,param_01); - } -} - -//Function Number: 44 -setpersstat(param_00,param_01) -{ - self.pers[param_00] = param_01; -} - -//Function Number: 45 -initplayerstat(param_00,param_01) -{ - if(!isdefined(self.stats["stats_" + param_00])) - { - if(!isdefined(param_01)) - { - param_01 = 0; - } - - self.stats["stats_" + param_00] = spawnstruct(); - self.stats["stats_" + param_00].value = param_01; - if(rankingenabled()) - { - self setcommonplayerdata("round","awards",param_00,0); - } - } -} - -//Function Number: 46 -incplayerstat(param_00,param_01) -{ - if(isagent(self)) - { - return; - } - - var_02 = self.stats["stats_" + param_00]; - var_02.value = var_02.value + param_01; - if(isdefined(level.awards[param_00]) && isdefined(level.awards[param_00].process) && level.awards[param_00].saveonupdate) - { - var_03 = level.awards[param_00].process; - self [[ var_03 ]](param_00,param_01); - } -} - -//Function Number: 47 -setplayerstat(param_00,param_01) -{ - var_02 = self.stats["stats_" + param_00]; - var_02.value = param_01; - var_02.time = gettime(); -} - -//Function Number: 48 -getplayerstat(param_00) -{ - return self.stats["stats_" + param_00].value; -} - -//Function Number: 49 -getplayerstattime(param_00) -{ - return self.stats["stats_" + param_00].time; -} - -//Function Number: 50 -setplayerstatifgreater(param_00,param_01) -{ - var_02 = getplayerstat(param_00); - if(param_01 > var_02) - { - setplayerstat(param_00,param_01); - } -} - -//Function Number: 51 -setplayerstatiflower(param_00,param_01) -{ - var_02 = getplayerstat(param_00); - if(param_01 < var_02) - { - setplayerstat(param_00,param_01); - } -} - -//Function Number: 52 -updatepersratio(param_00,param_01,param_02) -{ - if(!rankingenabled()) - { - return; - } - - var_03 = maps\mp\gametypes\_persistence::statget(param_01); - var_04 = maps\mp\gametypes\_persistence::statget(param_02); - if(var_04 == 0) - { - var_04 = 1; - } - - maps\mp\gametypes\_persistence::statset(param_00,int(var_03 * 1000 / var_04)); -} - -//Function Number: 53 -updatepersratiobuffered(param_00,param_01,param_02) -{ - if(!rankingenabled()) - { - return; - } - - var_03 = maps\mp\gametypes\_persistence::statgetbuffered(param_01); - var_04 = maps\mp\gametypes\_persistence::statgetbuffered(param_02); - if(var_04 == 0) - { - var_04 = 1; - } - - maps\mp\gametypes\_persistence::statsetbuffered(param_00,int(var_03 * 1000 / var_04)); -} - -//Function Number: 54 -waittillslowprocessallowed(param_00) -{ - if(level.lastslowprocessframe == gettime()) - { - if(isdefined(param_00) && param_00) - { - while(level.lastslowprocessframe == gettime()) - { - wait(0.05); - } - } - else - { - wait(0.05); - if(level.lastslowprocessframe == gettime()) - { - wait(0.05); - if(level.lastslowprocessframe == gettime()) - { - wait(0.05); - if(level.lastslowprocessframe == gettime()) - { - wait(0.05); - } - } - } - } - } - - level.lastslowprocessframe = gettime(); -} - -//Function Number: 55 -waitfortimeornotify(param_00,param_01) -{ - self endon(param_01); - wait(param_00); -} - -//Function Number: 56 -waitfortimeornotifies(param_00,param_01) -{ - if(isdefined(param_01)) - { - foreach(var_03 in param_01) - { - self endon(var_03); - } - } - - if(isdefined(param_00) && param_00 > 0) - { - wait(param_00); - } -} - -//Function Number: 57 -isexcluded(param_00,param_01) -{ - for(var_02 = 0;var_02 < param_01.size;var_02++) - { - if(param_00 == param_01[var_02]) - { - return 1; - } - } - - return 0; -} - -//Function Number: 58 -leaderdialog(param_00,param_01,param_02,param_03,param_04) -{ - if(isdefined(level.iszombiegame) && level.iszombiegame) - { - return; - } - - if(param_00 == "null") - { - return; - } - - if(!isdefined(param_01)) - { - leaderdialogbothteams(param_00,"allies",param_00,"axis",param_02,param_03,param_04); - return; - } - - if(isdefined(param_03)) - { - for(var_05 = 0;var_05 < level.players.size;var_05++) - { - var_06 = level.players[var_05]; - if(isdefined(var_06.pers["team"]) && var_06.pers["team"] == param_01 && !isexcluded(var_06,param_03)) - { - if(var_06 issplitscreenplayer() && !var_06 issplitscreenplayerprimary()) - { - continue; - } - - var_06 leaderdialogonplayer(param_00,param_02,undefined,param_04); - } - } - - return; - } - - for(var_05 = 0;var_05 < level.players.size;var_05++) - { - var_06 = level.players[var_05]; - if(isdefined(var_06.pers["team"]) && var_06.pers["team"] == param_01) - { - if(var_06 issplitscreenplayer() && !var_06 issplitscreenplayerprimary()) - { - continue; - } - - var_06 leaderdialogonplayer(param_00,param_02,undefined,param_04); - } - } -} - -//Function Number: 59 -leaderdialogbothteams(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - if(isdefined(level.iszombiegame) && level.iszombiegame) - { - return; - } - - if(level.splitscreen) - { - return; - } - - if(level.splitscreen) - { - if(level.players.size) - { - level.players[0] leaderdialogonplayer(param_00,param_04,undefined,param_06); - } - - return; - } - - if(isdefined(param_05)) - { - for(var_07 = 0;var_07 < level.players.size;var_07++) - { - var_08 = level.players[var_07]; - var_09 = var_08.pers["team"]; - if(!isdefined(var_09)) - { - continue; - } - - if(isexcluded(var_08,param_05)) - { - continue; - } - - if(var_08 issplitscreenplayer() && !var_08 issplitscreenplayerprimary()) - { - continue; - } - - if(var_09 == param_01) - { - var_08 leaderdialogonplayer(param_00,param_04,undefined,param_06); - continue; - } - - if(var_09 == param_03) - { - var_08 leaderdialogonplayer(param_02,param_04,undefined,param_06); - } - } - - return; - } - - for(var_07 = 0;var_07 < level.players.size;var_07++) - { - var_08 = level.players[var_07]; - var_09 = var_08.pers["team"]; - if(!isdefined(var_09)) - { - continue; - } - - if(var_08 issplitscreenplayer() && !var_08 issplitscreenplayerprimary()) - { - continue; - } - - if(var_09 == param_01) - { - var_08 leaderdialogonplayer(param_00,param_04,undefined,param_06); - continue; - } - - if(var_09 == param_03) - { - var_08 leaderdialogonplayer(param_02,param_04,undefined,param_06); - } - } -} - -//Function Number: 60 -leaderdialogonplayers(param_00,param_01,param_02,param_03) -{ - if(isdefined(level.iszombiegame) && level.iszombiegame) - { - return; - } - - foreach(var_05 in param_01) - { - var_05 leaderdialogonplayer(param_00,param_02,undefined,param_03); - } -} - -//Function Number: 61 -leaderdialogonplayer(param_00,param_01,param_02,param_03) -{ - if(isdefined(level.iszombiegame) && level.iszombiegame) - { - return; - } - - if(!isdefined(param_02)) - { - param_02 = 0; - } - - var_04 = self.pers["team"]; - if(isdefined(level.ishorde) && !self issplitscreenplayerprimary()) - { - return; - } - - if(isdefined(level.announcerdisabled) && level.announcerdisabled) - { - return; - } - - if(!isdefined(var_04)) - { - return; - } - - if(var_04 != "allies" && var_04 != "axis") - { - return; - } - - if(self issplitscreenplayer() && !self issplitscreenplayerprimary()) - { - return; - } - - if(!isdefined(param_03)) - { - param_03 = (0,0,0); - } - - if(isdefined(param_01)) - { - if(self.leaderdialoggroup == param_01) - { - if(param_02) - { - if(self.leaderdialogactive != "") - { - self stoplocalsound(self.leaderdialogactive); - } - - thread leaderdialogonplayer_internal(param_00,var_04,param_03); - } - - return; - } - - var_05 = isdefined(self.leaderdialoggroups[param_01]); - self.leaderdialoggroups[param_01] = param_00; - param_00 = param_01; - if(var_05) - { - return; - } - } - - if(self.leaderdialogactive == "") - { - thread leaderdialogonplayer_internal(param_00,var_04,param_03); - return; - } - - self.leaderdialogqueue[self.leaderdialogqueue.size] = param_00; - self.leaderdialoglocqueue[self.leaderdialoglocqueue.size] = param_03; -} - -//Function Number: 62 -leaderdialog_trylockout(param_00,param_01) -{ - var_02 = 2; - if(isdefined(game["dialog"]["lockouts"][param_00])) - { - var_02 = game["dialog"]["lockouts"][param_00]; - if(var_02 == 0) - { - return; - } - } - - if(!isdefined(param_01.active_vo_lockouts)) - { - param_01.active_vo_lockouts = []; - } - - param_01.active_vo_lockouts[param_00] = 1; - thread leaderdialog_lockoutcleardelayed(param_00,param_01,var_02); -} - -//Function Number: 63 -leaderdialog_lockoutcleardelayed(param_00,param_01,param_02) -{ - param_01 endon("disconnect"); - wait(param_02); - param_01.active_vo_lockouts[param_00] = undefined; -} - -//Function Number: 64 -leaderdialog_islockedout(param_00,param_01) -{ - if(isdefined(param_01.active_vo_lockouts)) - { - if(isdefined(param_01.active_vo_lockouts[param_00])) - { - if(isdefined(param_01.active_vo_lockouts[param_00] == 1)) - { - return 1; - } - } - } - - return 0; -} - -//Function Number: 65 -leaderdialogonplayer_internal(param_00,param_01,param_02) -{ - self endon("disconnect"); - self notify("playLeaderDialogOnPlayer"); - self endon("playLeaderDialogOnPlayer"); - if(isdefined(self.leaderdialoggroups[param_00])) - { - var_03 = param_00; - param_00 = self.leaderdialoggroups[var_03]; - self.leaderdialoggroups[var_03] = undefined; - self.leaderdialoggroup = var_03; - } - - if(!isdefined(game["dialog"][param_00])) - { - return; - } - - if(isai(self) && isdefined(level.bot_funcs) && isdefined(level.bot_funcs["leader_dialog"])) - { - self [[ level.bot_funcs["leader_dialog"] ]](param_00,param_02); - } - - if(issubstr(game["dialog"][param_00],"null")) - { - return; - } - - if(isdefined(level.ishorde) && level.ishorde) - { - if(issubstr(param_00,"coop_gdn")) - { - var_04 = param_00; - } - else - { - var_04 = "AT_anr0_" + game["dialog"][param_01]; - } - } - else - { - var_04 = game["voice"][param_02] + game["dialog"][param_01]; - } - - if(soundexists(var_04)) - { - if(leaderdialog_islockedout(game["dialog"][param_00],self)) - { - return; - } - - self.leaderdialogactive = var_04; - self playlocalannouncersound(var_04); - leaderdialog_trylockout(game["dialog"][param_00],self); - } - else - { - } - - wait(2); - self.leaderdialoglocalsound = ""; - self.leaderdialogactive = ""; - self.leaderdialoggroup = ""; - if(self.leaderdialogqueue.size > 0) - { - var_05 = self.leaderdialogqueue[0]; - var_06 = self.leaderdialoglocqueue[0]; - for(var_07 = 1;var_07 < self.leaderdialogqueue.size;var_07++) - { - self.leaderdialogqueue[var_07 - 1] = self.leaderdialogqueue[var_07]; - } - - for(var_07 = 1;var_07 < self.leaderdialoglocqueue.size;var_07++) - { - self.leaderdialoglocqueue[var_07 - 1] = self.leaderdialoglocqueue[var_07]; - } - - self.leaderdialogqueue[var_07 - 1] = undefined; - self.leaderdialoglocqueue[var_07 - 1] = undefined; - thread leaderdialogonplayer_internal(var_05,param_01,var_06); - } -} - -//Function Number: 66 -getnextrelevantdialog() -{ - for(var_00 = 0;var_00 < self.leaderdialogqueue.size;var_00++) - { - if(issubstr(self.leaderdialogqueue[var_00],"losing")) - { - if(self.team == "allies") - { - if(issubstr(level.axiscapturing,self.leaderdialogqueue[var_00])) - { - return self.leaderdialogqueue[var_00]; - } - else - { - common_scripts\utility::array_remove(self.leaderdialogqueue,self.leaderdialogqueue[var_00]); - } - } - else if(issubstr(level.alliescapturing,self.leaderdialogqueue[var_00])) - { - return self.leaderdialogqueue[var_00]; - } - else - { - common_scripts\utility::array_remove(self.leaderdialogqueue,self.leaderdialogqueue[var_00]); - } - - continue; - } - - return level.alliescapturing[self.leaderdialogqueue]; - } -} - -//Function Number: 67 -orderonqueueddialog() -{ - self endon("disconnect"); - var_00 = []; - var_00 = self.leaderdialogqueue; - for(var_01 = 0;var_01 < self.leaderdialogqueue.size;var_01++) - { - if(issubstr(self.leaderdialogqueue[var_01],"losing")) - { - for(var_02 = var_01;var_02 >= 0;var_02--) - { - if(!issubstr(self.leaderdialogqueue[var_02],"losing") && var_02 != 0) - { - continue; - } - - if(var_02 != var_01) - { - arrayinsertion(var_00,self.leaderdialogqueue[var_01],var_02); - common_scripts\utility::array_remove(var_00,self.leaderdialogqueue[var_01]); - break; - } - } - } - } - - self.leaderdialogqueue = var_00; -} - -//Function Number: 68 -flushdialogonplayer() -{ - self.leaderdialoggroups = []; - self.leaderdialogqueue = []; - self.leaderdialogactive = ""; - self.currentleaderdialoggroup = ""; - self notify("flush_dialog"); -} - -//Function Number: 69 -flushgroupdialog(param_00) -{ - foreach(var_02 in level.players) - { - var_02 flushgroupdialogonplayer(param_00); - } -} - -//Function Number: 70 -arrayremovevalue(param_00,param_01) -{ - var_02 = 0; - for(var_03 = 0;var_02 < param_00.size;var_03++) - { - if(param_00[var_02] == param_01) - { - var_02++; - continue; - } - - if(var_02 != var_03) - { - param_00[var_03] = param_00[var_02]; - } - - var_02++; - } - - while(var_03 < param_00.size) - { - param_00[var_03] = undefined; - var_03++; - } -} - -//Function Number: 71 -flushgroupdialogonplayer(param_00) -{ - self.leaderdialoggroups[param_00] = undefined; - arrayremovevalue(self.leaderdialogqueue,param_00); - if(self.leaderdialogqueue.size == 0) - { - flushdialogonplayer(); - } -} - -//Function Number: 72 -updatemainmenu() -{ - if(self.pers["team"] == "spectator") - { - self setclientdvar("g_scriptMainMenu",game["menu_team"]); - return; - } - - self setclientdvar("g_scriptMainMenu",game["menu_class_" + self.pers["team"]]); -} - -//Function Number: 73 -updateobjectivetext() -{ - if(self.pers["team"] == "spectator") - { - self setclientdvar("cg_objectiveText",""); - return; - } - - if(getwatcheddvar("scorelimit") > 0 && !isobjectivebased()) - { - if(level.splitscreen) - { - self setclientdvar("cg_objectiveText",getobjectivescoretext(self.pers["team"])); - return; - } - - self setclientdvar("cg_objectiveText",getobjectivescoretext(self.pers["team"]),getwatcheddvar("scorelimit")); - return; - } - - self setclientdvar("cg_objectiveText",getobjectivetext(self.pers["team"])); -} - -//Function Number: 74 -setobjectivetext(param_00,param_01) -{ - game["strings"]["objective_" + param_00] = param_01; -} - -//Function Number: 75 -setobjectivescoretext(param_00,param_01) -{ - game["strings"]["objective_score_" + param_00] = param_01; -} - -//Function Number: 76 -setobjectivehinttext(param_00,param_01) -{ - game["strings"]["objective_hint_" + param_00] = param_01; -} - -//Function Number: 77 -getobjectivetext(param_00) -{ - return game["strings"]["objective_" + param_00]; -} - -//Function Number: 78 -getobjectivescoretext(param_00) -{ - return game["strings"]["objective_score_" + param_00]; -} - -//Function Number: 79 -getobjectivehinttext(param_00) -{ - return game["strings"]["objective_hint_" + param_00]; -} - -//Function Number: 80 -gettimepassed() -{ - if(!isdefined(level.starttime) || !isdefined(level.discardtime)) - { - return 0; - } - - if(level.timerstopped) - { - return level.timerpausetime - level.starttime - level.discardtime; - } - - return gettime() - level.starttime - level.discardtime; -} - -//Function Number: 81 -getunpausedtimepassedraw() -{ - if(!isdefined(level.matchdurationstarttime)) - { - return 0; - } - - return gettime() - level.matchdurationstarttime; -} - -//Function Number: 82 -getgametimepassedms() -{ - var_00 = getmatchdata("gameLengthSeconds") * 1000; - var_00 = var_00 + getunpausedtimepassedraw(); - return var_00; -} - -//Function Number: 83 -getgametimepassedseconds() -{ - var_00 = getgametimepassedms(); - var_01 = int(var_00 / 1000); - return var_01; -} - -//Function Number: 84 -gettimepassedpercentage() -{ - return gettimepassed() / gettimelimit() * 60 * 1000 * 100; -} - -//Function Number: 85 -getsecondspassed() -{ - return gettimepassed() / 1000; -} - -//Function Number: 86 -getminutespassed() -{ - return getsecondspassed() / 60; -} - -//Function Number: 87 -gettimedeciseconds() -{ - return convertmillisecondstodecisecondsandclamptoshort(gettime()); -} - -//Function Number: 88 -gettimepasseddeciseconds() -{ - return convertmillisecondstodecisecondsandclamptoshort(gettimepassed()); -} - -//Function Number: 89 -gettimepasseddecisecondsincludingrounds() -{ - var_00 = getgametimepassedms(); - return convertmillisecondstodecisecondsandclamptoshort(var_00); -} - -//Function Number: 90 -convertmillisecondstodecisecondsandclamptoshort(param_00) -{ - return clamptoshort(param_00 / 100); -} - -//Function Number: 91 -clamptoshort(param_00) -{ - param_00 = int(param_00); - if(param_00 > 32767) - { - param_00 = 32767; - } - - if(param_00 < -32768) - { - param_00 = -32768; - } - - return param_00; -} - -//Function Number: 92 -clamptobyte(param_00) -{ - param_00 = int(param_00); - if(param_00 > 255) - { - param_00 = 255; - } - - if(param_00 < 0) - { - param_00 = 0; - } - - return param_00; -} - -//Function Number: 93 -clearkillcamstate() -{ - self.forcespectatorclient = -1; - self.killcamentity = -1; - self.archivetime = 0; - self.psoffsettime = 0; - self.spectatekillcam = 0; -} - -//Function Number: 94 -isinkillcam() -{ - return self.spectatekillcam; -} - -//Function Number: 95 -isvalidclass(param_00) -{ - return isdefined(param_00) && param_00 != ""; -} - -//Function Number: 96 -getvalueinrange(param_00,param_01,param_02) -{ - if(param_00 > param_02) - { - return param_02; - } - - if(param_00 < param_01) - { - return param_01; - } - - return param_00; -} - -//Function Number: 97 -logxpgains() -{ - if(!isdefined(self.pers["summary"])) - { - return; - } - - if(isai(self)) - { - return; - } - - var_00 = 0; - if(isdefined(self.timeplayed["total"])) - { - var_00 = self.timeplayed["total"]; - } - - reconevent("script_EarnedXP: totalXP %d, timeplayed %d, score %d, challenge %d, match %d, misc %d, gamemode %s",self.pers["summary"]["xp"],var_00,self.pers["summary"]["score"],self.pers["summary"]["challenge"],self.pers["summary"]["match"],self.pers["summary"]["misc"],level.gametype); -} - -//Function Number: 98 -registerroundswitchdvar(param_00,param_01,param_02,param_03) -{ - registerwatchdvarint("roundswitch",param_01); - param_00 = "scr_" + param_00 + "_roundswitch"; - level.roundswitchdvar = param_00; - level.roundswitchmin = param_02; - level.roundswitchmax = param_03; - level.roundswitch = getdvarint(param_00,param_01); - if(level.roundswitch < param_02) - { - level.roundswitch = param_02; - return; - } - - if(level.roundswitch > param_03) - { - level.roundswitch = param_03; - } -} - -//Function Number: 99 -registerroundlimitdvar(param_00,param_01) -{ - registerwatchdvarint("roundlimit",param_01); -} - -//Function Number: 100 -registernumteamsdvar(param_00,param_01) -{ - registerwatchdvarint("numTeams",param_01); -} - -//Function Number: 101 -registerwinlimitdvar(param_00,param_01) -{ - registerwatchdvarint("winlimit",param_01); -} - -//Function Number: 102 -registerscorelimitdvar(param_00,param_01) -{ - registerwatchdvarint("scorelimit",param_01); -} - -//Function Number: 103 -registertimelimitdvar(param_00,param_01) -{ - registerwatchdvarfloat("timelimit",param_01); - setdvar("ui_timelimit",gettimelimit()); -} - -//Function Number: 104 -registerhalftimedvar(param_00,param_01) -{ - registerwatchdvarint("halftime",param_01); - setdvar("ui_halftime",gethalftime()); -} - -//Function Number: 105 -registernumlivesdvar(param_00,param_01) -{ - registerwatchdvarint("numlives",param_01); -} - -//Function Number: 106 -setovertimelimitdvar(param_00) -{ - setdvar("overtimeTimeLimit",param_00); -} - -//Function Number: 107 -get_damageable_player(param_00,param_01) -{ - var_02 = spawnstruct(); - var_02.isplayer = 1; - var_02.isadestructable = 0; - var_02.entity = param_00; - var_02.damagecenter = param_01; - return var_02; -} - -//Function Number: 108 -get_damageable_sentry(param_00,param_01) -{ - var_02 = spawnstruct(); - var_02.isplayer = 0; - var_02.isadestructable = 0; - var_02.issentry = 1; - var_02.entity = param_00; - var_02.damagecenter = param_01; - return var_02; -} - -//Function Number: 109 -get_damageable_grenade(param_00,param_01) -{ - var_02 = spawnstruct(); - var_02.isplayer = 0; - var_02.isadestructable = 0; - var_02.entity = param_00; - var_02.damagecenter = param_01; - return var_02; -} - -//Function Number: 110 -get_damageable_mine(param_00,param_01) -{ - var_02 = spawnstruct(); - var_02.isplayer = 0; - var_02.isadestructable = 0; - var_02.entity = param_00; - var_02.damagecenter = param_01; - return var_02; -} - -//Function Number: 111 -get_damageable_player_pos(param_00) -{ - return param_00.origin + (0,0,32); -} - -//Function Number: 112 -getstancecenter() -{ - if(self getstance() == "crouch") - { - var_00 = self.origin + (0,0,24); - } - else if(self getstance() == "prone") - { - var_00 = self.origin + (0,0,10); - } - else - { - var_00 = self.origin + (0,0,32); - } - - return var_00; -} - -//Function Number: 113 -get_damageable_grenade_pos(param_00) -{ - return param_00.origin; -} - -//Function Number: 114 -getdvarvec(param_00) -{ - var_01 = getdvar(param_00); - if(var_01 == "") - { - return (0,0,0); - } - - var_02 = strtok(var_01," "); - if(var_02.size < 3) - { - return (0,0,0); - } - - setdvar("tempR",var_02[0]); - setdvar("tempG",var_02[1]); - setdvar("tempB",var_02[2]); - return (getdvarfloat("tempR"),getdvarfloat("tempG"),getdvarfloat("tempB")); -} - -//Function Number: 115 -strip_suffix(param_00,param_01) -{ - if(param_00.size <= param_01.size) - { - return param_00; - } - - if(getsubstr(param_00,param_00.size - param_01.size,param_00.size) == param_01) - { - return getsubstr(param_00,0,param_00.size - param_01.size); - } - - return param_00; -} - -//Function Number: 116 -_takeweaponsexcept(param_00) -{ - var_01 = self getweaponslistall(); - foreach(var_03 in var_01) - { - if(var_03 == param_00) - { - continue; - } - else - { - self takeweapon(var_03); - } - } -} - -//Function Number: 117 -savedata() -{ - var_00 = spawnstruct(); - var_00.offhandclass = self gettacticalweapon(); - var_00.actionslots = self.saved_actionslotdata; - var_00.currentweapon = self getcurrentweapon(); - var_01 = self getweaponslistall(); - var_00.weapons = []; - foreach(var_03 in var_01) - { - if(weaponinventorytype(var_03) == "exclusive") - { - continue; - } - - if(weaponinventorytype(var_03) == "altmode") - { - continue; - } - - var_04 = spawnstruct(); - var_04.name = var_03; - var_04.clipammor = self getweaponammoclip(var_03,"right"); - var_04.clipammol = self getweaponammoclip(var_03,"left"); - var_04.stockammo = self setweaponammostock(var_03); - if(isdefined(self.throwinggrenade) && self.throwinggrenade == var_03) - { - var_04.stockammo--; - } - - var_00.weapons[var_00.weapons.size] = var_04; - } - - self.script_savedata = var_00; -} - -//Function Number: 118 -restoredata() -{ - var_00 = self.script_savedata; - self settacticalweapon(var_00.offhandclass); - foreach(var_02 in var_00.weapons) - { - _giveweapon(var_02.name,int(tablelookup("mp/camoTable.csv",1,self.loadoutprimarycamo,0))); - self setweaponammoclip(var_02.name,var_02.clipammor,"right"); - if(issubstr(var_02.name,"akimbo")) - { - self setweaponammoclip(var_02.name,var_02.clipammol,"left"); - } - - self setweaponammostock(var_02.name,var_02.stockammo); - } - - foreach(var_06, var_05 in var_00.actionslots) - { - _setactionslot(var_06,var_05.type,var_05.item); - } - - if(self getcurrentweapon() == "none") - { - var_02 = var_00.currentweapon; - if(var_02 == "none") - { - var_02 = common_scripts\utility::getlastweapon(); - } - - self setspawnweapon(var_02); - self switchtoweapon(var_02); - } -} - -//Function Number: 119 -setextrascore0(param_00) -{ - self.extrascore0 = param_00; - setpersstat("extrascore0",param_00); -} - -//Function Number: 120 -setextrascore1(param_00) -{ - self.extrascore1 = param_00; - setpersstat("extrascore1",param_00); -} - -//Function Number: 121 -_setactionslot(param_00,param_01,param_02) -{ - self.saved_actionslotdata[param_00].type = param_01; - self.saved_actionslotdata[param_00].item = param_02; - self setactionslot(param_00,param_01,param_02); -} - -//Function Number: 122 -isfloat(param_00) -{ - if(int(param_00) != param_00) - { - return 1; - } - - return 0; -} - -//Function Number: 123 -registerwatchdvarint(param_00,param_01) -{ - var_02 = "scr_" + level.gametype + "_" + param_00; - level.watchdvars[var_02] = spawnstruct(); - level.watchdvars[var_02].value = getdvarint(var_02,param_01); - level.watchdvars[var_02].type = "int"; - level.watchdvars[var_02].notifystring = "update_" + param_00; -} - -//Function Number: 124 -registerwatchdvarfloat(param_00,param_01) -{ - var_02 = "scr_" + level.gametype + "_" + param_00; - level.watchdvars[var_02] = spawnstruct(); - level.watchdvars[var_02].value = getdvarfloat(var_02,param_01); - level.watchdvars[var_02].type = "float"; - level.watchdvars[var_02].notifystring = "update_" + param_00; -} - -//Function Number: 125 -registerwatchdvar(param_00,param_01) -{ - var_02 = "scr_" + level.gametype + "_" + param_00; - level.watchdvars[var_02] = spawnstruct(); - level.watchdvars[var_02].value = getdvar(var_02,param_01); - level.watchdvars[var_02].type = "string"; - level.watchdvars[var_02].notifystring = "update_" + param_00; -} - -//Function Number: 126 -setoverridewatchdvar(param_00,param_01) -{ - param_00 = "scr_" + level.gametype + "_" + param_00; - level.overridewatchdvars[param_00] = param_01; -} - -//Function Number: 127 -getwatcheddvar(param_00) -{ - param_00 = "scr_" + level.gametype + "_" + param_00; - if(isdefined(level.overridewatchdvars) && isdefined(level.overridewatchdvars[param_00])) - { - return level.overridewatchdvars[param_00]; - } - - return level.watchdvars[param_00].value; -} - -//Function Number: 128 -updatewatcheddvars() -{ - while(game["state"] == "playing") - { - var_00 = getarraykeys(level.watchdvars); - foreach(var_02 in var_00) - { - if(level.watchdvars[var_02].type == "string") - { - var_03 = getproperty(var_02,level.watchdvars[var_02].value); - } - else if(level.watchdvars[var_02].type == "float") - { - var_03 = getfloatproperty(var_02,level.watchdvars[var_02].value); - } - else - { - var_03 = getintproperty(var_02,level.watchdvars[var_02].value); - } - - if(var_03 != level.watchdvars[var_02].value) - { - level.watchdvars[var_02].value = var_03; - level notify(level.watchdvars[var_02].notifystring,var_03); - } - } - - wait(1); - } -} - -//Function Number: 129 -isroundbased() -{ - if(!level.teambased) - { - return 0; - } - - if(getwatcheddvar("winlimit") != 1 && getwatcheddvar("roundlimit") != 1) - { - return 1; - } - - return 0; -} - -//Function Number: 130 -isfirstround() -{ - if(!level.teambased) - { - return 1; - } - - if(getwatcheddvar("roundlimit") > 1 && game["roundsPlayed"] == 0) - { - return 1; - } - - if(getwatcheddvar("winlimit") > 1 && game["roundsWon"]["allies"] == 0 && game["roundsWon"]["axis"] == 0) - { - return 1; - } - - return 0; -} - -//Function Number: 131 -islastround() -{ - if(!level.teambased) - { - return 1; - } - - if(getwatcheddvar("roundlimit") > 1 && game["roundsPlayed"] >= getwatcheddvar("roundlimit") - 1) - { - return 1; - } - - if(getwatcheddvar("winlimit") > 1 && game["roundsWon"]["allies"] >= getwatcheddvar("winlimit") - 1 && game["roundsWon"]["axis"] >= getwatcheddvar("winlimit") - 1) - { - return 1; - } - - return 0; -} - -//Function Number: 132 -wasonlyround() -{ - if(!level.teambased) - { - return 1; - } - - if(isdefined(level.onlyroundoverride)) - { - return 0; - } - - if(getwatcheddvar("winlimit") == 1 && hitwinlimit()) - { - return 1; - } - - if(getwatcheddvar("roundlimit") == 1) - { - return 1; - } - - return 0; -} - -//Function Number: 133 -waslastround() -{ - if(level.forcedend) - { - return 1; - } - - if(!level.teambased) - { - return 1; - } - - if(hitroundlimit() || hitwinlimit()) - { - return 1; - } - - return 0; -} - -//Function Number: 134 -hitroundlimit() -{ - if(getwatcheddvar("roundlimit") <= 0) - { - return 0; - } - - return game["roundsPlayed"] >= getwatcheddvar("roundlimit"); -} - -//Function Number: 135 -hitscorelimit() -{ - if(isobjectivebased()) - { - return 0; - } - - if(getwatcheddvar("scorelimit") <= 0) - { - return 0; - } - - if(level.teambased) - { - if(game["teamScores"]["allies"] >= getwatcheddvar("scorelimit") || game["teamScores"]["axis"] >= getwatcheddvar("scorelimit")) - { - return 1; - } - } - else - { - for(var_00 = 0;var_00 < level.players.size;var_00++) - { - var_01 = level.players[var_00]; - if(isdefined(var_01.score) && var_01.score >= getwatcheddvar("scorelimit")) - { - return 1; - } - } - } - - return 0; -} - -//Function Number: 136 -hitwinlimit() -{ - if(getwatcheddvar("winlimit") <= 0) - { - return 0; - } - - if(!level.teambased) - { - return 1; - } - - if(getroundswon("allies") >= getwatcheddvar("winlimit") || getroundswon("axis") >= getwatcheddvar("winlimit")) - { - return 1; - } - - return 0; -} - -//Function Number: 137 -getscorelimit() -{ - if(isroundbased()) - { - if(getwatcheddvar("roundlimit")) - { - return getwatcheddvar("roundlimit"); - } - - return getwatcheddvar("winlimit"); - } - - return getwatcheddvar("scorelimit"); -} - -//Function Number: 138 -getroundswon(param_00) -{ - return game["roundsWon"][param_00]; -} - -//Function Number: 139 -isobjectivebased() -{ - return level.objectivebased; -} - -//Function Number: 140 -gettimelimit() -{ - if(inovertime()) - { - var_00 = float(getdvar("overtimeTimeLimit")); - if(!isdefined(var_00)) - { - var_00 = 1; - } - - return var_00; - } - - return getwatcheddvar("timelimit"); -} - -//Function Number: 141 -gethalftime() -{ - if(inovertime()) - { - return 0; - } - - return getwatcheddvar("halftime"); -} - -//Function Number: 142 -inovertime() -{ - return isdefined(game["status"]) && isovertimetext(game["status"]); -} - -//Function Number: 143 -isovertimetext(param_00) -{ - return param_00 == "overtime" || param_00 == "overtime_halftime"; -} - -//Function Number: 144 -gamehasstarted() -{ - if(isdefined(level.gamehasstarted)) - { - return level.gamehasstarted; - } - - if(level.teambased) - { - return level.hasspawned["axis"] && level.hasspawned["allies"]; - } - - return level.maxplayercount > 1; -} - -//Function Number: 145 -getaverageorigin(param_00) -{ - var_01 = (0,0,0); - if(!param_00.size) - { - return undefined; - } - - foreach(var_03 in param_00) - { - var_01 = var_01 + var_03.origin; - } - - var_05 = int(var_01[0] / param_00.size); - var_06 = int(var_01[1] / param_00.size); - var_07 = int(var_01[2] / param_00.size); - var_01 = (var_05,var_06,var_07); - return var_01; -} - -//Function Number: 146 -getlivingplayers(param_00) -{ - var_01 = []; - foreach(var_03 in level.players) - { - if(!isalive(var_03)) - { - continue; - } - - if(level.teambased && isdefined(param_00)) - { - if(param_00 == var_03.pers["team"]) - { - var_01[var_01.size] = var_03; - } - - continue; - } - - var_01[var_01.size] = var_03; - } - - return var_01; -} - -//Function Number: 147 -setusingremote(param_00) -{ - if(isdefined(self.carryicon)) - { - self.carryicon.alpha = 0; - } - - self.usingremote = param_00; - common_scripts\utility::_disableoffhandweapons(); - self notify("using_remote"); -} - -//Function Number: 148 -getremotename() -{ - return self.usingremote; -} - -//Function Number: 149 -freezecontrolswrapper(param_00) -{ - if(isdefined(level.hostmigrationtimer)) - { - self freezecontrols(1); - return; - } - - self freezecontrols(param_00); - self.controlsfrozen = param_00; -} - -//Function Number: 150 -freezecontrolswrapperwithdelay(param_00,param_01) -{ - wait(param_01); - if(isdefined(self)) - { - freezecontrolswrapper(param_00); - } -} - -//Function Number: 151 -clearusingremote() -{ - if(isdefined(self.carryicon)) - { - self.carryicon.alpha = 1; - } - - self.usingremote = undefined; - common_scripts\utility::_enableoffhandweapons(); - var_00 = self getcurrentweapon(); - if(var_00 == "none" || iskillstreakweapon(var_00)) - { - self switchtoweapon(common_scripts\utility::getlastweapon()); - } - - freezecontrolswrapper(0); - playerremotekillstreakshowhud(); - self notify("stopped_using_remote"); -} - -//Function Number: 152 -playerremotekillstreakhidehud() -{ - self setclientomnvar("ui_killstreak_remote",1); -} - -//Function Number: 153 -playerremotekillstreakshowhud() -{ - self setclientomnvar("ui_killstreak_remote",0); -} - -//Function Number: 154 -get_water_weapon() -{ - if(isdefined(self.underwatermotiontype)) - { - if(self.underwatermotiontype == "shallow" && isdefined(level.shallow_water_weapon)) - { - return level.shallow_water_weapon; - } - - if(self.underwatermotiontype == "deep" && isdefined(level.deep_water_weapon)) - { - return level.deep_water_weapon; - } - - if(self.underwatermotiontype != "none" && isdefined(level.shallow_water_weapon)) - { - return level.shallow_water_weapon; - } - } - - return "none"; -} - -//Function Number: 155 -isusingremote() -{ - return isdefined(self.usingremote); -} - -//Function Number: 156 -isinremotetransition() -{ - return isdefined(self.remoteridetransition); -} - -//Function Number: 157 -isrocketcorpse() -{ - return isdefined(self.isrocketcorpse) && self.isrocketcorpse; -} - -//Function Number: 158 -queuecreate(param_00) -{ - if(!isdefined(level.queues)) - { - level.queues = []; - } - - level.queues[param_00] = []; -} - -//Function Number: 159 -queueadd(param_00,param_01) -{ - level.queues[param_00][level.queues[param_00].size] = param_01; -} - -//Function Number: 160 -queueremovefirst(param_00) -{ - var_01 = undefined; - var_02 = []; - foreach(var_04 in level.queues[param_00]) - { - if(!isdefined(var_04)) - { - continue; - } - - if(!isdefined(var_01)) - { - var_01 = var_04; - continue; - } - - var_02[var_02.size] = var_04; - } - - level.queues[param_00] = var_02; - return var_01; -} - -//Function Number: 161 -_giveweapon(param_00,param_01,param_02) -{ - if(!isdefined(param_01)) - { - param_01 = -1; - } - - var_03 = 0; - if(isdefined(self.pers["toggleScopeStates"]) && isdefined(self.pers["toggleScopeStates"][param_00])) - { - var_03 = self.pers["toggleScopeStates"][param_00]; - } - - if(issubstr(param_00,"_akimbo") || isdefined(param_02) && param_02 == 1) - { - if(isagent(self)) - { - self giveweapon(param_00,param_01,1,-1,0); - return; - } - - self giveweapon(param_00,param_01,1,-1,0,self,var_03); - return; - } - - if(isagent(self)) - { - self giveweapon(param_00,param_01,0,-1,0); - return; - } - - self giveweapon(param_00,param_01,0,-1,0,self,var_03); -} - -//Function Number: 162 -_hasperk(param_00) -{ - if(isdefined(self.perks) && isdefined(self.perks[param_00])) - { - return 1; - } - - return 0; -} - -//Function Number: 163 -giveperk(param_00,param_01,param_02) -{ - if(issubstr(param_00,"_mp")) - { - _giveweapon(param_00,0); - self givestartammo(param_00); - _setperk(param_00,param_01); - return; - } - - if(issubstr(param_00,"specialty_weapon_")) - { - _setperk(param_00,param_01); - return; - } - - _setperk(param_00,param_01,param_02); -} - -//Function Number: 164 -_setperk(param_00,param_01,param_02) -{ - self.perks[param_00] = 1; - self.perksperkname[param_00] = param_00; - self.perksuseslot[param_00] = param_01; - if(isdefined(level.perksetfuncs[param_00])) - { - self thread [[ level.perksetfuncs[param_00] ]](); - } - - var_03 = strip_suffix(param_00,"_lefthand"); - if(isdefined(param_02)) - { - self setperk(param_00,!isdefined(level.scriptperks[var_03]),param_01,param_02); - return; - } - - self setperk(param_00,!isdefined(level.scriptperks[var_03]),param_01); -} - -//Function Number: 165 -_unsetperk(param_00) -{ - self.perks[param_00] = undefined; - self.perksperkname[param_00] = undefined; - self.perksuseslot[param_00] = undefined; - self.perksperkpower[param_00] = undefined; - if(isdefined(level.perkunsetfuncs[param_00])) - { - self thread [[ level.perkunsetfuncs[param_00] ]](); - } - - var_01 = strip_suffix(param_00,"_lefthand"); - self unsetperk(param_00,!isdefined(level.scriptperks[var_01])); -} - -//Function Number: 166 -_clearperks() -{ - foreach(var_02, var_01 in self.perks) - { - if(isdefined(level.perkunsetfuncs[var_02])) - { - self [[ level.perkunsetfuncs[var_02] ]](); - } - } - - self.perks = []; - self.perksperkname = []; - self.perksuseslot = []; - self.perksperkpower = []; - self clearperks(); -} - -//Function Number: 167 -cangiveability(param_00) -{ - return _cangiveability(param_00); -} - -//Function Number: 168 -_cangiveability(param_00) -{ - if(!isdefined(level.abilitycansetfuncs) || !isdefined(level.abilitycansetfuncs[param_00])) - { - return 1; - } - - return self [[ level.abilitycansetfuncs[param_00] ]](); -} - -//Function Number: 169 -giveability(param_00,param_01) -{ - _setability(param_00,param_01); -} - -//Function Number: 170 -_setability(param_00,param_01) -{ - self.abilities[param_00] = 1; - if(isplayer(self)) - { - if(isdefined(level.abilitysetfuncs[param_00])) - { - self thread [[ level.abilitysetfuncs[param_00] ]](); - } - } - - self setperk(param_00,!isdefined(level.scriptabilities[param_00]),param_01); -} - -//Function Number: 171 -_unsetability(param_00) -{ - self.abilities[param_00] = undefined; - if(isplayer(self)) - { - if(isdefined(level.abilityunsetfuncs[param_00])) - { - self thread [[ level.abilityunsetfuncs[param_00] ]](); - } - } - - self unsetperk(param_00,!isdefined(level.scriptabilities[param_00])); -} - -//Function Number: 172 -_clearabilities() -{ - if(isplayer(self)) - { - if(isdefined(level.abilityunsetfuncs[self.pers["ability"]])) - { - self [[ level.abilityunsetfuncs[self.pers["ability"]] ]](); - } - } - - self.abilities = []; - self clearperks(); -} - -//Function Number: 173 -_hasability(param_00,param_01) -{ - if(!isdefined(param_01)) - { - param_01 = 0; - } - - if(param_01) - { - if(isdefined(self.abilities[param_00]) && self.abilities[param_00]) - { - return 1; - } - } - else if(isdefined(self.pers["ability"]) && self.pers["ability"] == param_00 && isdefined(self.pers["abilityOn"]) && self.pers["abilityOn"]) - { - return 1; - } - - return 0; -} - -//Function Number: 174 -quicksort(param_00,param_01) -{ - return quicksortmid(param_00,0,param_00.size - 1,param_01); -} - -//Function Number: 175 -quicksortmid(param_00,param_01,param_02,param_03) -{ - var_04 = param_01; - var_05 = param_02; - if(!isdefined(param_03)) - { - param_03 = ::quicksort_compare; - } - - if(param_02 - param_01 >= 1) - { - var_06 = param_00[param_01]; - while(var_05 > var_04) - { - while([[ param_03 ]](param_00[var_04],var_06) && var_04 <= param_02 && var_05 > var_04) - { - var_04++; - } - - while(![[ param_03 ]](param_00[var_05],var_06) && var_05 >= param_01 && var_05 >= var_04) - { - var_05--; - } - - if(var_05 > var_04) - { - param_00 = swap(param_00,var_04,var_05); - } - } - - param_00 = swap(param_00,param_01,var_05); - param_00 = quicksortmid(param_00,param_01,var_05 - 1,param_03); - param_00 = quicksortmid(param_00,var_05 + 1,param_02,param_03); - } - else - { - return param_01; - } - - return param_00; -} - -//Function Number: 176 -quicksort_compare(param_00,param_01) -{ - return param_00 <= param_01; -} - -//Function Number: 177 -swap(param_00,param_01,param_02) -{ - var_03 = param_00[param_01]; - param_00[param_01] = param_00[param_02]; - param_00[param_02] = var_03; - return param_00; -} - -//Function Number: 178 -_suicide() -{ - if(isusingremote() && !isdefined(self.fauxdead)) - { - thread maps\mp\gametypes\_damage::playerkilled_internal(self,self,self,10000,"MOD_SUICIDE","frag_grenade_mp",(0,0,0),"none",0,1116,1); - return; - } - - if(!isusingremote() && !isdefined(self.fauxdead)) - { - self suicide(); - } -} - -//Function Number: 179 -isreallyalive(param_00) -{ - if(isalive(param_00) && !isdefined(param_00.fauxdead)) - { - return 1; - } - - return 0; -} - -//Function Number: 180 -waittill_any_timeout_pause_on_death_and_prematch(param_00,param_01,param_02,param_03,param_04,param_05) -{ - var_06 = spawnstruct(); - if(isdefined(param_01)) - { - thread common_scripts\utility::waittill_string_no_endon_death(param_01,var_06); - } - - if(isdefined(param_02)) - { - thread common_scripts\utility::waittill_string_no_endon_death(param_02,var_06); - } - - if(isdefined(param_03)) - { - thread common_scripts\utility::waittill_string_no_endon_death(param_03,var_06); - } - - if(isdefined(param_04)) - { - thread common_scripts\utility::waittill_string_no_endon_death(param_04,var_06); - } - - if(isdefined(param_05)) - { - thread common_scripts\utility::waittill_string_no_endon_death(param_05,var_06); - } - - var_06 thread _timeout_pause_on_death_and_prematch(param_00,self); - var_06 waittill("returned",var_07); - var_06 notify("die"); - return var_07; -} - -//Function Number: 181 -_timeout_pause_on_death_and_prematch(param_00,param_01) -{ - self endon("die"); - var_02 = 0.05; - while(param_00 > 0) - { - if(isplayer(param_01) && !isreallyalive(param_01)) - { - param_01 waittill("spawned_player"); - } - - if(getdvarint("ui_inprematch")) - { - level waittill("prematch_over"); - } - - wait(var_02); - param_00 = param_00 - var_02; - } - - self notify("returned","timeout"); -} - -//Function Number: 182 -playdeathsound() -{ - if(isdefined(level.customplaydeathsound)) - { - self thread [[ level.customplaydeathsound ]](); - return; - } - - var_00 = randomintrange(1,8); - if(maps\mp\killstreaks\_juggernaut::get_is_in_mech()) - { - return; - } - - if(self.team == "axis") - { - if(self hasfemalecustomizationmodel()) - { - self playsound("generic_death_enemy_fm_" + var_00); - return; - } - - self playsound("generic_death_enemy_" + var_00); - return; - } - - if(self hasfemalecustomizationmodel()) - { - self playsound("generic_death_friendly_fm_" + var_00); - return; - } - - self playsound("generic_death_friendly_" + var_00); -} - -//Function Number: 183 -rankingenabled() -{ - if(!isplayer(self)) - { - return 0; - } - - return level.rankedmatch && !self.usingonlinedataoffline; -} - -//Function Number: 184 -privatematch() -{ - return !level.onlinegame || getdvarint("xblive_privatematch"); -} - -//Function Number: 185 -matchmakinggame() -{ - return level.onlinegame && !getdvarint("xblive_privatematch"); -} - -//Function Number: 186 -practiceroundgame() -{ - return level.practiceround; -} - -//Function Number: 187 -setaltsceneobj(param_00,param_01,param_02,param_03) -{ -} - -//Function Number: 188 -endsceneondeath(param_00) -{ - self endon("altscene"); - param_00 waittill("death"); - self notify("end_altScene"); -} - -//Function Number: 189 -getmapname() -{ - return getdvar("mapname"); -} - -//Function Number: 190 -getgametypenumlives() -{ - return getwatcheddvar("numlives"); -} - -//Function Number: 191 -arrayinsertion(param_00,param_01,param_02) -{ - if(param_00.size != 0) - { - for(var_03 = param_00.size;var_03 >= param_02;var_03--) - { - param_00[var_03 + 1] = param_00[var_03]; - } - } - - param_00[param_02] = param_01; -} - -//Function Number: 192 -getproperty(param_00,param_01) -{ - var_02 = param_01; - var_02 = getdvar(param_00,param_01); - return var_02; -} - -//Function Number: 193 -getintproperty(param_00,param_01) -{ - var_02 = param_01; - var_02 = getdvarint(param_00,param_01); - return var_02; -} - -//Function Number: 194 -getfloatproperty(param_00,param_01) -{ - var_02 = param_01; - var_02 = getdvarfloat(param_00,param_01); - return var_02; -} - -//Function Number: 195 -ischangingweapon() -{ - return isdefined(self.changingweapon); -} - -//Function Number: 196 -killshouldaddtokillstreak(param_00) -{ - return 1; -} - -//Function Number: 197 -isjuggernaut() -{ - if(isdefined(self.isjuggernaut) && self.isjuggernaut == 1) - { - return 1; - } - - if(isdefined(self.isjuggernautdef) && self.isjuggernautdef == 1) - { - return 1; - } - - if(isdefined(self.isjuggernautgl) && self.isjuggernautgl == 1) - { - return 1; - } - - if(isdefined(self.isjuggernautrecon) && self.isjuggernautrecon == 1) - { - return 1; - } - - if(isdefined(self.isjuggernautmaniac) && self.isjuggernautmaniac == 1) - { - return 1; - } - - return 0; -} - -//Function Number: 198 -iskillstreakweapon(param_00) -{ - if(!isdefined(param_00)) - { - return 0; - } - - if(param_00 == "none") - { - return 0; - } - - if(isdestructibleweapon(param_00)) - { - return 0; - } - - if(isbombsiteweapon(param_00)) - { - return 0; - } - - if(issubstr(param_00,"killstreak")) - { - return 1; - } - - if(param_00 == "airdrop_sentry_marker_mp") - { - return 1; - } - - var_01 = getweaponnametokens(param_00); - var_02 = 0; - foreach(var_04 in var_01) - { - if(var_04 == "mp") - { - var_02 = 1; - break; - } - } - - if(!var_02) - { - param_00 = param_00 + "_mp"; - } - - if(maps\mp\killstreaks\_airdrop::isairdropmarker(param_00)) - { - return 1; - } - - if(isdefined(level.killstreakwieldweapons) && isdefined(level.killstreakwieldweapons[param_00])) - { - return 1; - } - - var_06 = weaponinventorytype(param_00); - if(isdefined(var_06) && var_06 == "exclusive") - { - return 1; - } - - return 0; -} - -//Function Number: 199 -isdestructibleweapon(param_00) -{ - if(!isdefined(param_00)) - { - return 0; - } - - switch(param_00) - { - case "barrel_mp": - case "destructible": - case "destructible_car": - case "destructible_toy": - break; - } -} - -//Function Number: 200 -isaugmentedgamemode() -{ - return getdvarint("scr_game_high_jump",0); -} - -//Function Number: 201 -isgrapplinghookgamemode() -{ - if(invirtuallobby()) - { - return 0; - } - - return getdvarint("scr_game_grappling_hook",0); -} - -//Function Number: 202 -isdivisionmode() -{ - return getdvarint("scr_game_division",0); -} - -//Function Number: 203 -isbombsiteweapon(param_00) -{ - if(!isdefined(param_00)) - { - return 0; - } - - switch(param_00) - { - case "bomb_site_mp": - case "search_dstry_bomb_defuse_mp": - case "search_dstry_bomb_mp": - break; - } -} - -//Function Number: 204 -isenvironmentweapon(param_00) -{ - if(!isdefined(param_00)) - { - return 0; - } - - if(param_00 == "turret_minigun_mp") - { - return 1; - } - - if(issubstr(param_00,"_bipod_")) - { - return 1; - } - - return 0; -} - -//Function Number: 205 -is_legacy_weapon(param_00) -{ - switch(param_00) - { - case "iw5_dlcgun8loot1": - case "iw5_dlcgun7loot6": - case "iw5_dlcgun7loot0": - case "iw5_dlcgun6loot5": - case "iw5_dlcgun6": - break; - - default: - break; - } -} - -//Function Number: 206 -islootweapon(param_00) -{ - if(is_legacy_weapon(param_00)) - { - return 0; - } - - if(issubstr(param_00,"loot")) - { - return 1; - } - - if(issubstr(param_00,"atlas")) - { - return 1; - } - - if(issubstr(param_00,"gold")) - { - return 1; - } - - if(issubstr(param_00,"blops2")) - { - return 1; - } - - if(issubstr(param_00,"ghosts")) - { - return 1; - } - - return 0; -} - -//Function Number: 207 -getweaponnametokens(param_00) -{ - return strtok(param_00,"_"); -} - -//Function Number: 208 -getweaponclass(param_00) -{ - var_01 = getbaseweaponname(param_00); - var_02 = tablelookup("mp/statstable.csv",4,var_01,2); - if(var_02 == "") - { - var_03 = strip_suffix(param_00,"_lefthand"); - var_03 = strip_suffix(var_03,"_mp"); - var_02 = tablelookup("mp/statstable.csv",4,var_03,2); - } - - if(isenvironmentweapon(param_00)) - { - var_02 = "weapon_mg"; - } - else if(iskillstreakweapon(param_00)) - { - var_02 = "killstreak"; - } - else if(param_00 == "none") - { - var_02 = "other"; - } - else if(var_02 == "") - { - var_02 = "other"; - } - - return var_02; -} - -//Function Number: 209 -getweaponattachmentarrayfromstats(param_00) -{ - param_00 = getbaseweaponname(param_00); - if(!isdefined(level.weaponattachments[param_00])) - { - var_01 = []; - for(var_02 = 0;var_02 <= 29;var_02++) - { - var_03 = tablelookup("mp/statsTable.csv",4,param_00,11 + var_02); - if(var_03 == "") - { - break; - } - - var_01[var_01.size] = var_03; - } - - level.weaponattachments[param_00] = var_01; - } - - return level.weaponattachments[param_00]; -} - -//Function Number: 210 -getweaponattachmentfromstats(param_00,param_01) -{ - param_00 = getbaseweaponname(param_00); - return tablelookup("mp/statsTable.csv",4,param_00,11 + param_01); -} - -//Function Number: 211 -getbaseweaponname(param_00,param_01) -{ - var_02 = getweaponnametokens(param_00); - var_03 = ""; - if(var_02[0] == "iw5" || var_02[0] == "iw6" || var_02[0] == "s1") - { - var_03 = var_02[0] + "_" + var_02[1]; - } - else if(var_02[0] == "alt") - { - var_03 = var_02[1] + "_" + var_02[2]; - } - else if(var_02.size > 1 && var_02[1] == "grenade" || var_02[1] == "marker") - { - var_03 = var_02[0] + "_" + var_02[1]; - } - else - { - var_03 = var_02[0]; - } - - var_04 = ""; - if(isdefined(param_01) && param_01 == 1) - { - var_04 = tablelookup("mp/statsTable.csv",4,var_03,59); - } - - if(var_04 != "") - { - return "iw5_" + var_04; - } - - return var_03; -} - -//Function Number: 212 -fixakimbostring(param_00,param_01) -{ - if(!isdefined(param_01)) - { - param_01 = 1; - } - - var_02 = 0; - for(var_03 = 0;var_03 < param_00.size;var_03++) - { - if(param_00[var_03] == "a" && param_00[var_03 + 1] == "k" && param_00[var_03 + 2] == "i" && param_00[var_03 + 3] == "m" && param_00[var_03 + 4] == "b" && param_00[var_03 + 5] == "o") - { - var_02 = var_03; - break; - } - } - - param_00 = getsubstr(param_00,0,var_02) + getsubstr(param_00,var_02 + 6,param_00.size); - if(param_01) - { - param_00 = param_00 + "_akimbo"; - } - - return param_00; -} - -//Function Number: 213 -playsoundinspace(param_00,param_01) -{ - playsoundatpos(param_01,param_00); -} - -//Function Number: 214 -limitdecimalplaces(param_00,param_01) -{ - var_02 = 1; - for(var_03 = 0;var_03 < param_01;var_03++) - { - var_02 = var_02 * 10; - } - - var_04 = param_00 * var_02; - var_04 = int(var_04); - var_04 = var_04 / var_02; - return var_04; -} - -//Function Number: 215 -rounddecimalplaces(param_00,param_01,param_02) -{ - if(!isdefined(param_02)) - { - param_02 = "nearest"; - } - - var_03 = 1; - for(var_04 = 0;var_04 < param_01;var_04++) - { - var_03 = var_03 * 10; - } - - var_05 = param_00 * var_03; - if(param_02 == "up") - { - var_06 = ceil(var_05); - } - else if(var_03 == "down") - { - var_06 = floor(var_06); - } - else - { - var_06 = var_06 + 0.5; - } - - var_05 = int(var_06); - var_05 = var_05 / var_03; - return var_05; -} - -//Function Number: 216 -playerforclientid(param_00) -{ - foreach(var_02 in level.players) - { - if(var_02.clientid == param_00) - { - return var_02; - } - } - - return undefined; -} - -//Function Number: 217 -stringtofloat(param_00) -{ - var_01 = strtok(param_00,"."); - var_02 = int(var_01[0]); - if(isdefined(var_01[1])) - { - var_03 = 1; - for(var_04 = 0;var_04 < var_01[1].size;var_04++) - { - var_03 = var_03 * 0.1; - } - - var_02 = var_02 + int(var_01[1]) * var_03; - } - - return var_02; -} - -//Function Number: 218 -setselfusable(param_00) -{ - self makeusable(); - foreach(var_02 in level.players) - { - if(var_02 != param_00) - { - self disableplayeruse(var_02); - continue; - } - - self enableplayeruse(var_02); - } -} - -//Function Number: 219 -setselfunusuable() -{ - self makeunusable(); - foreach(var_01 in level.players) - { - self disableplayeruse(var_01); - } -} - -//Function Number: 220 -maketeamusable(param_00) -{ - self makeusable(); - thread _updateteamusable(param_00); -} - -//Function Number: 221 -_updateteamusable(param_00) -{ - self endon("death"); - for(;;) - { - foreach(var_02 in level.players) - { - if(var_02.team == param_00) - { - self enableplayeruse(var_02); - continue; - } - - self disableplayeruse(var_02); - } - - level waittill("joined_team"); - } -} - -//Function Number: 222 -makeenemyusable(param_00) -{ - self makeusable(); - thread _updateenemyusable(param_00); -} - -//Function Number: 223 -_updateenemyusable(param_00) -{ - self endon("death"); - var_01 = param_00.team; - for(;;) - { - if(level.teambased) - { - foreach(var_03 in level.players) - { - if(var_03.team != var_01) - { - self enableplayeruse(var_03); - continue; - } - - self disableplayeruse(var_03); - } - } - else - { - foreach(var_03 in level.players) - { - if(var_03 != param_00) - { - self enableplayeruse(var_03); - continue; - } - - self disableplayeruse(var_03); - } - } - - level waittill("joined_team"); - } -} - -//Function Number: 224 -getnextlifeid() -{ - var_00 = getmatchdata("lifeCount"); - if(var_00 < level.maxlives) - { - setmatchdata("lifeCount",var_00 + 1); - return var_00; - } - - return level.maxlives - 1; -} - -//Function Number: 225 -initgameflags() -{ - if(!isdefined(game["flags"])) - { - game["flags"] = []; - } -} - -//Function Number: 226 -gameflaginit(param_00,param_01) -{ - game["flags"][param_00] = param_01; -} - -//Function Number: 227 -gameflag(param_00) -{ - return game["flags"][param_00]; -} - -//Function Number: 228 -gameflagset(param_00) -{ - game["flags"][param_00] = 1; - level notify(param_00); -} - -//Function Number: 229 -gameflagclear(param_00) -{ - game["flags"][param_00] = 0; -} - -//Function Number: 230 -gameflagwait(param_00) -{ - while(!gameflag(param_00)) - { - level waittill(param_00); - } -} - -//Function Number: 231 -isbulletdamage(param_00) -{ - var_01 = "MOD_RIFLE_BULLET MOD_PISTOL_BULLET MOD_HEAD_SHOT"; - if(issubstr(var_01,param_00)) - { - return 1; - } - - return 0; -} - -//Function Number: 232 -isfmjdamage(param_00,param_01,param_02) -{ - return isdefined(param_02) && isplayer(param_02) && param_02 _hasperk("specialty_bulletpenetration") && isdefined(param_01) && isbulletdamage(param_01); -} - -//Function Number: 233 -initlevelflags() -{ - if(!isdefined(level.levelflags)) - { - level.levelflags = []; - } -} - -//Function Number: 234 -levelflaginit(param_00,param_01) -{ - level.levelflags[param_00] = param_01; -} - -//Function Number: 235 -levelflag(param_00) -{ - return level.levelflags[param_00]; -} - -//Function Number: 236 -levelflagset(param_00) -{ - level.levelflags[param_00] = 1; - level notify(param_00); -} - -//Function Number: 237 -levelflagclear(param_00) -{ - level.levelflags[param_00] = 0; - level notify(param_00); -} - -//Function Number: 238 -levelflagwait(param_00) -{ - while(!levelflag(param_00)) - { - level waittill(param_00); - } -} - -//Function Number: 239 -levelflagwaitopen(param_00) -{ - while(levelflag(param_00)) - { - level waittill(param_00); - } -} - -//Function Number: 240 -invirtuallobby() -{ - if(!isdefined(level.virtuallobbyactive) || level.virtuallobbyactive == 0) - { - return 0; - } - - return 1; -} - -//Function Number: 241 -initglobals() -{ - if(!isdefined(level.global_tables)) - { - level.global_tables["killstreakTable"] = spawnstruct(); - level.global_tables["killstreakTable"].path = "mp/killstreakTable.csv"; - level.global_tables["killstreakTable"].index_col = 0; - level.global_tables["killstreakTable"].ref_col = 1; - level.global_tables["killstreakTable"].name_col = 2; - level.global_tables["killstreakTable"].desc_col = 3; - level.global_tables["killstreakTable"].adrenaline_col = 4; - level.global_tables["killstreakTable"].earned_hint_col = 5; - level.global_tables["killstreakTable"].sound_col = 6; - level.global_tables["killstreakTable"].earned_dialog_col = 7; - level.global_tables["killstreakTable"].allies_dialog_col = 8; - level.global_tables["killstreakTable"].opfor_dialog_col = 9; - level.global_tables["killstreakTable"].enemy_use_dialog_col = 10; - level.global_tables["killstreakTable"].weapon_col = 11; - level.global_tables["killstreakTable"].score_col = 12; - level.global_tables["killstreakTable"].icon_col = 13; - level.global_tables["killstreakTable"].overhead_icon_col = 14; - level.global_tables["killstreakTable"].overhead_icon_col_plus1 = 15; - level.global_tables["killstreakTable"].overhead_icon_col_plus2 = 16; - level.global_tables["killstreakTable"].overhead_icon_col_plus3 = 17; - level.global_tables["killstreakTable"].dpad_icon_col = 18; - level.global_tables["killstreakTable"].unearned_icon_col = 19; - } -} - -//Function Number: 242 -iskillstreakdenied() -{ - if(invirtuallobby()) - { - return 0; - } - - return isemped() || isairdenied(); -} - -//Function Number: 243 -isemped() -{ - if(self.team == "spectator") - { - return 0; - } - - if(invirtuallobby()) - { - return 0; - } - - if(level.teambased) - { - return level.teamemped[self.team] || isdefined(self.empgrenaded) && self.empgrenaded; - } - - return (isdefined(level.empplayer) && level.empplayer != self) || isdefined(self.empgrenaded) && self.empgrenaded; -} - -//Function Number: 244 -isempedbykillstreak() -{ - if(self.team == "spectator") - { - return 0; - } - - if(invirtuallobby()) - { - return 0; - } - - if(level.teambased) - { - return level.teamemped[self.team]; - } - - return isdefined(level.empplayer) && level.empplayer != self; -} - -//Function Number: 245 -isairdenied() -{ - return 0; -} - -//Function Number: 246 -isnuked() -{ - if(self.team == "spectator") - { - return 0; - } - - return isdefined(self.nuked); -} - -//Function Number: 247 -getplayerforguid(param_00) -{ - foreach(var_02 in level.players) - { - if(var_02.guid == param_00) - { - return var_02; - } - } - - return undefined; -} - -//Function Number: 248 -teamplayercardsplash(param_00,param_01,param_02,param_03) -{ - if(level.hardcoremode) - { - return; - } - - foreach(var_05 in level.players) - { - if(isdefined(param_02) && var_05.team != param_02) - { - continue; - } - - if(!isplayer(var_05)) - { - continue; - } - - var_05 thread maps\mp\gametypes\_hud_message::playercardsplashnotify(param_00,param_01,param_03); - } -} - -//Function Number: 249 -iscacprimaryweapon(param_00) -{ - switch(getweaponclass(param_00)) - { - case "weapon_special": - case "weapon_heavy": - case "weapon_shotgun": - case "weapon_lmg": - case "weapon_sniper": - case "weapon_riot": - case "weapon_assault": - case "weapon_smg": - break; - - default: - break; - } -} - -//Function Number: 250 -iscacsecondaryweapon(param_00) -{ - switch(getweaponclass(param_00)) - { - case "weapon_sec_special": - case "weapon_machine_pistol": - case "weapon_pistol": - case "weapon_projectile": - break; - - default: - break; - } -} - -//Function Number: 251 -getlastlivingplayer(param_00) -{ - var_01 = undefined; - foreach(var_03 in level.players) - { - if(isdefined(param_00) && var_03.team != param_00) - { - continue; - } - - if(!isreallyalive(var_03) && !var_03 maps\mp\gametypes\_playerlogic::mayspawn()) - { - continue; - } - - var_01 = var_03; - } - - return var_01; -} - -//Function Number: 252 -getpotentiallivingplayers() -{ - var_00 = []; - foreach(var_02 in level.players) - { - if(!isreallyalive(var_02) && !var_02 maps\mp\gametypes\_playerlogic::mayspawn()) - { - continue; - } - - var_00[var_00.size] = var_02; - } - - return var_00; -} - -//Function Number: 253 -waittillrecoveredhealth(param_00,param_01) -{ - self endon("death"); - self endon("disconnect"); - var_02 = 0; - if(!isdefined(param_01)) - { - param_01 = 0.05; - } - - if(!isdefined(param_00)) - { - param_00 = 0; - } - - for(;;) - { - if(self.health != self.maxhealth) - { - var_02 = 0; - } - else - { - var_02 = var_02 + param_01; - } - - wait(param_01); - if(self.health == self.maxhealth && var_02 >= param_00) - { - break; - } - } -} - -//Function Number: 254 -attachmentmap_tounique(param_00,param_01) -{ - var_02 = param_00; - param_01 = getbaseweaponname(param_01,1); - if(param_01 != "iw5_dlcgun6loot5" && islootweapon(param_01)) - { - param_01 = maps\mp\gametypes\_class::getbasefromlootversion(param_01); - } - - if(isdefined(level.attachmentmap_basetounique[param_01]) && isdefined(level.attachmentmap_basetounique[param_01][param_00])) - { - var_02 = level.attachmentmap_basetounique[param_01][param_00]; - } - else - { - var_03 = tablelookup("mp/statstable.csv",4,param_01,2); - if(isdefined(level.attachmentmap_basetounique[var_03]) && isdefined(level.attachmentmap_basetounique[var_03][param_00])) - { - var_02 = level.attachmentmap_basetounique[var_03][param_00]; - } - } - - return var_02; -} - -//Function Number: 255 -attachmentperkmap(param_00) -{ - var_01 = undefined; - if(isdefined(level.attachmentmap_attachtoperk[param_00])) - { - var_01 = level.attachmentmap_attachtoperk[param_00]; - } - - return var_01; -} - -//Function Number: 256 -isattachmentsniperscopedefault(param_00,param_01) -{ - var_02 = strtok(param_00,"_"); - return isattachmentsniperscopedefaulttokenized(var_02,param_01); -} - -//Function Number: 257 -isattachmentsniperscopedefaulttokenized(param_00,param_01) -{ - var_02 = 0; - if(param_00.size && isdefined(param_01)) - { - var_03 = 0; - if(param_00[0] == "alt") - { - var_03 = 1; - } - - if(param_00.size >= 3 + var_03 && param_00[var_03] == "iw5" || param_00[var_03] == "iw6") - { - if(weaponclass(param_00[var_03] + "_" + param_00[var_03 + 1] + "_" + param_00[var_03 + 2]) == "sniper") - { - var_02 = param_00[var_03 + 1] + "scope" == param_01; - } - } - } - - return var_02; -} - -//Function Number: 258 -getweaponattachmentsbasenames(param_00) -{ - var_01 = getweaponattachments(param_00); - foreach(var_04, var_03 in var_01) - { - var_01[var_04] = attachmentmap_tobase(var_03); - } - - return var_01; -} - -//Function Number: 259 -getattachmentlistbasenames() -{ - var_00 = []; - var_01 = 0; - var_02 = tablelookup("mp/attachmentTable.csv",0,var_01,4); - while(var_02 != "") - { - if(!common_scripts\utility::array_contains(var_00,var_02)) - { - var_00[var_00.size] = var_02; - } - - var_01++; - var_02 = tablelookup("mp/attachmentTable.csv",0,var_01,4); - } - - return var_00; -} - -//Function Number: 260 -getattachmentlistuniqenames() -{ - var_00 = []; - var_01 = 0; - var_02 = tablelookup("mp/attachmentTable.csv",0,var_01,3); - while(var_02 != "") - { - var_00[var_00.size] = var_02; - var_01++; - var_02 = tablelookup("mp/attachmentTable.csv",0,var_01,3); - } - - return var_00; -} - -//Function Number: 261 -buildattachmentmaps() -{ - var_00 = getattachmentlistuniqenames(); - level.attachmentmap_uniquetobase = []; - foreach(var_02 in var_00) - { - var_03 = tablelookup("mp/attachmentTable.csv",3,var_02,4); - if(var_02 == var_03) - { - continue; - } - - level.attachmentmap_uniquetobase[var_02] = var_03; - } - - var_05 = []; - var_06 = 1; - var_07 = tablelookupbyrow("mp/attachmentmap.csv",var_06,0); - while(var_07 != "") - { - var_05[var_05.size] = var_07; - var_06++; - var_07 = tablelookupbyrow("mp/attachmentmap.csv",var_06,0); - } - - var_08 = []; - var_09 = 1; - var_0A = tablelookupbyrow("mp/attachmentmap.csv",0,var_09); - while(var_0A != "") - { - var_08[var_0A] = var_09; - var_09++; - var_0A = tablelookupbyrow("mp/attachmentmap.csv",0,var_09); - } - - level.attachmentmap_basetounique = []; - foreach(var_07 in var_05) - { - foreach(var_0F, var_0D in var_08) - { - var_0E = tablelookup("mp/attachmentmap.csv",0,var_07,var_0D); - if(var_0E == "") - { - continue; - } - - if(!isdefined(level.attachmentmap_basetounique[var_07])) - { - level.attachmentmap_basetounique[var_07] = []; - } - - level.attachmentmap_basetounique[var_07][var_0F] = var_0E; - } - } - - level.attachmentmap_attachtoperk = []; - foreach(var_12 in var_00) - { - var_13 = tablelookup("mp/attachmentTable.csv",3,var_12,8); - if(var_13 == "") - { - continue; - } - - level.attachmentmap_attachtoperk[var_12] = var_13; - } -} - -//Function Number: 262 -attachmentmap_tobase(param_00) -{ - if(isdefined(level.attachmentmap_uniquetobase[param_00])) - { - param_00 = level.attachmentmap_uniquetobase[param_00]; - } - - return param_00; -} - -//Function Number: 263 -_objective_delete(param_00) -{ - objective_delete(param_00); - if(!isdefined(level.reclaimedreservedobjectives)) - { - level.reclaimedreservedobjectives = []; - level.reclaimedreservedobjectives[0] = param_00; - return; - } - - level.reclaimedreservedobjectives[level.reclaimedreservedobjectives.size] = param_00; -} - -//Function Number: 264 -touchingbadtrigger() -{ - var_00 = getentarray("trigger_hurt","classname"); - foreach(var_02 in var_00) - { - if(self istouching(var_02)) - { - return 1; - } - } - - var_04 = getentarray("radiation","targetname"); - foreach(var_02 in var_04) - { - if(self istouching(var_02)) - { - return 1; - } - } - - if(isdefined(level.ishorde) && level.ishorde) - { - if(getmapname() == "mp_torqued") - { - if(isdefined(level.hordeavalanche) && level.hordeavalanche && isdefined(level.dyneventavalanche.status) && level.dyneventavalanche.status != "post_avalanche") - { - var_07 = getentarray("quake_kill_volume01","targetname"); - foreach(var_09 in var_07) - { - if(self istouching(var_09)) - { - return 1; - } - } - } - } - else if(getmapname() == "mp_lost") - { - foreach(var_0C in level.hordekilltriggers) - { - if(self istouching(var_0C)) - { - return 1; - } - } - } - } - - if(getdvar("g_gametype") == "hp" && isdefined(level.zone) && isdefined(level.zone.trig) && self istouching(level.zone.trig)) - { - return 1; - } - - return 0; -} - -//Function Number: 265 -setthirdpersondof(param_00) -{ - if(param_00) - { - self setdepthoffield(0,110,512,4096,6,1.8); - return; - } - - self setdepthoffield(0,0,512,512,4,0); -} - -//Function Number: 266 -killtrigger(param_00,param_01,param_02) -{ - var_03 = spawn("trigger_radius",param_00,0,param_01,param_02); - for(;;) - { - var_03 waittill("trigger",var_04); - if(!isplayer(var_04)) - { - continue; - } - - var_04 suicide(); - } -} - -//Function Number: 267 -findisfacing(param_00,param_01,param_02) -{ - var_03 = cos(param_02); - var_04 = anglestoforward(param_00.angles); - var_05 = param_01.origin - param_00.origin; - var_04 = var_04 * (1,1,0); - var_05 = var_05 * (1,1,0); - var_05 = vectornormalize(var_05); - var_04 = vectornormalize(var_04); - var_06 = vectordot(var_05,var_04); - if(var_06 >= var_03) - { - return 1; - } - - return 0; -} - -//Function Number: 268 -drawline(param_00,param_01,param_02,param_03) -{ - var_04 = int(param_02 * 20); - for(var_05 = 0;var_05 < var_04;var_05++) - { - wait(0.05); - } -} - -//Function Number: 269 -drawsphere(param_00,param_01,param_02,param_03) -{ - var_04 = int(param_02 * 20); - for(var_05 = 0;var_05 < var_04;var_05++) - { - wait(0.05); - } -} - -//Function Number: 270 -setrecoilscale(param_00,param_01) -{ - if(!isdefined(param_00)) - { - param_00 = 0; - } - - if(!isdefined(self.recoilscale)) - { - self.recoilscale = param_00; - } - else - { - self.recoilscale = self.recoilscale + param_00; - } - - if(isdefined(param_01)) - { - if(isdefined(self.recoilscale) && param_01 < self.recoilscale) - { - param_01 = self.recoilscale; - } - - var_02 = 100 - param_01; - } - else - { - var_02 = 100 - self.recoilscale; - } - - if(var_02 < 0) - { - var_02 = 0; - } - - if(var_02 > 100) - { - var_02 = 100; - } - - if(var_02 == 100) - { - self playerrecoilscaleoff(); - return; - } - - self playerrecoilscaleon(var_02); -} - -//Function Number: 271 -cleanarray(param_00) -{ - var_01 = []; - foreach(var_04, var_03 in param_00) - { - if(!isdefined(var_03)) - { - continue; - } - - var_01[var_01.size] = param_00[var_04]; - } - - return var_01; -} - -//Function Number: 272 -notusableforjoiningplayers(param_00) -{ - self notify("notusablejoiningplayers"); - self endon("death"); - level endon("game_ended"); - param_00 endon("disconnect"); - param_00 endon("death"); - self endon("notusablejoiningplayers"); - for(;;) - { - level waittill("player_spawned",var_01); - if(isdefined(var_01) && var_01 != param_00) - { - self disableplayeruse(var_01); - } - } -} - -//Function Number: 273 -isstrstart(param_00,param_01) -{ - return getsubstr(param_00,0,param_01.size) == param_01; -} - -//Function Number: 274 -disableallstreaks() -{ - level.killstreaksdisabled = 1; -} - -//Function Number: 275 -enableallstreaks() -{ - level.killstreaksdisabled = undefined; -} - -//Function Number: 276 -validateusestreak(param_00,param_01) -{ - if(isdefined(param_00)) - { - var_02 = param_00; - } - else - { - var_03 = self.pers["killstreaks"]; - var_02 = var_03[self.killstreakindexweapon].streakname; - } - - if(isdefined(level.killstreaksdisabled) && level.killstreaksdisabled) - { - return 0; - } - - if(isdefined(self.killstreaksdisabled) && self.killstreaksdisabled) - { - return 0; - } - - if(!self isonground() && isridekillstreak(var_02)) - { - return 0; - } - - if(isusingremote() || isinremotetransition()) - { - return 0; - } - - if(isdefined(self.selectinglocation)) - { - return 0; - } - - if(shouldpreventearlyuse(var_02) && level.killstreakrounddelay) - { - var_04 = 0; - if(isdefined(level.prematch_done_time)) - { - var_04 = gettime() - level.prematch_done_time / 1000; - } - - if(var_04 < level.killstreakrounddelay) - { - var_05 = int(level.killstreakrounddelay - var_04 + 0.5); - if(!var_05) - { - var_05 = 1; - } - - if(!isdefined(param_01) && param_01) - { - self iprintlnbold(&"MP_UNAVAILABLE_FOR_N",var_05); - } - - return 0; - } - } - - if(isemped() && !isdefined(level.iszombiegame) || !level.iszombiegame) - { - if(!isdefined(var_02) && var_02) - { - if(isdefined(level.emptimeremaining) && level.emptimeremaining > 0) - { - self iprintlnbold(&"MP_UNAVAILABLE_FOR_N_WHEN_EMP",level.emptimeremaining); - } - else if(isdefined(self.empendtime) && int(self.empendtime - gettime() / 1000) > 0) - { - self iprintlnbold(&"MP_UNAVAILABLE_FOR_N",int(self.empendtime - gettime() / 1000)); - } - } - - return 0; - } - - if(self isusingturret() && isridekillstreak(var_04) || iscarrykillstreak(var_04)) - { - if(!isdefined(var_02) && var_02) - { - self iprintlnbold(&"MP_UNAVAILABLE_USING_TURRET"); - } - - return 0; - } - - if(isjuggernaut()) - { - return 0; - } - - if(isdefined(self.laststand) && !_hasperk("specialty_finalstand")) - { - if(!isdefined(var_02) && var_02) - { - self iprintlnbold(&"MP_UNAVILABLE_IN_LASTSTAND"); - } - - return 0; - } - - if(!common_scripts\utility::isweaponenabled()) - { - return 0; - } - - return 1; -} - -//Function Number: 277 -isridekillstreak(param_00) -{ - switch(param_00) - { - case "mp_seoul2": - case "mp_bigben2": - case "assault_ugv": - case "warbird": - case "recon_ugv": - case "mp_recreation": - case "orbitalsupport": - case "orbital_strike_drone": - case "orbital_strike_cluster": - case "orbital_strike_laser_chem": - case "orbital_strike_chem": - case "orbital_strike_laser": - case "orbital_strike": - case "missile_strike": - case "mp_terrace": - case "mp_solar": - case "mp_levity": - case "mp_detroit": - case "mp_dam": - break; - - default: - break; - } -} - -//Function Number: 278 -iscarrykillstreak(param_00) -{ - switch(param_00) - { - case "remote_mg_sentry_turret": - case "deployable_exp_ammo": - case "deployable_grenades": - case "deployable_ammo": - case "sentry": - break; - - default: - break; - } -} - -//Function Number: 279 -shouldpreventearlyuse(param_00) -{ - switch(param_00) - { - case "strafing_run_airstrike": - case "warbird": - case "orbitalsupport": - case "orbital_strike_laser": - case "missile_strike": - break; - } -} - -//Function Number: 280 -iskillstreakaffectedbyemp(param_00) -{ - switch(param_00) - { - case "refill_grenades": - case "speed_boost": - case "eyes_on": - case "high_value_target": - case "recon_agent": - case "agent": - case "placeable_barrier": - case "deployable_juicebox": - case "deployable_grenades": - case "deployable_ammo": - break; - - default: - break; - } -} - -//Function Number: 281 -iskillstreakaffectedbyjammer(param_00) -{ - return iskillstreakaffectedbyemp(param_00) && !isflyingkillstreak(param_00); -} - -//Function Number: 282 -isflyingkillstreak(param_00) -{ - switch(param_00) - { - case "orbital_carepackag": - case "airdrop_support": - case "airdrop_assault": - case "airdrop_sentry_minigun": - case "orbitalsupport": - case "orbital_strike_drone": - case "orbital_strike_cluster": - case "orbital_strike_laser_chem": - case "orbital_strike_chem": - case "orbital_strike_laser": - case "orbital_strike": - case "missile_strike": - break; - - default: - break; - } -} - -//Function Number: 283 -isallteamstreak(param_00) -{ - var_01 = getkillstreakallteamstreak(param_00); - if(!isdefined(var_01)) - { - return 0; - } - - if(int(var_01) == 1) - { - return 1; - } - - return 0; -} - -//Function Number: 284 -getkillstreakrownum(param_00) -{ - return tablelookuprownum(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00); -} - -//Function Number: 285 -getkillstreakindex(param_00) -{ - var_01 = tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].index_col); - if(var_01 == "") - { - var_02 = -1; - } - else - { - var_02 = int(var_02); - } - - return var_02; -} - -//Function Number: 286 -getkillstreakreference(param_00) -{ - return tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].ref_col); -} - -//Function Number: 287 -getkillstreakname(param_00) -{ - return tablelookupistring(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].name_col); -} - -//Function Number: 288 -getkillstreakdescription(param_00) -{ - return tablelookupistring(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].desc_col); -} - -//Function Number: 289 -getkillstreakkills(param_00) -{ - return tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].adrenaline_col); -} - -//Function Number: 290 -getkillstreakearnedhint(param_00) -{ - return tablelookupistring(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].earned_hint_col); -} - -//Function Number: 291 -getkillstreaksound(param_00) -{ - return tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].sound_col); -} - -//Function Number: 292 -getkillstreakearneddialog(param_00) -{ - return tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].earned_dialog_col); -} - -//Function Number: 293 -getkillstreakalliesdialog(param_00) -{ - return tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].allies_dialog_col); -} - -//Function Number: 294 -getkillstreakenemydialog(param_00) -{ - return tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].enemy_dialog_col); -} - -//Function Number: 295 -getkillstreakenemyusedialog(param_00) -{ - return int(tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].enemy_use_dialog_col)); -} - -//Function Number: 296 -getkillstreakweapon(param_00,param_01) -{ - if(isdefined(param_01) && param_01.size > 0) - { - var_02 = _getmodulekillstreakweapon(param_00,param_01); - if(isdefined(var_02)) - { - return var_02; - } - } - - return tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].weapon_col); -} - -//Function Number: 297 -_getmodulekillstreakweapon(param_00,param_01) -{ - var_02 = param_01; - var_04 = getfirstarraykey(var_02); - if(isdefined(var_04)) - { - var_03 = var_02[var_04]; - switch(var_03) - { - case "warbird_ai_follow": - case "warbird_ai_attack": - break; - - case "assault_ugv_ai": - break; - - case "turretheadmg_mp": - case "turretheadrocket_mp": - case "turretheadenergy_mp": - break; - - default: - break; - } - } -} - -//Function Number: 298 -getkillstreakscore(param_00) -{ - return tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].score_col); -} - -//Function Number: 299 -getkillstreakicon(param_00) -{ - return tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].icon_col); -} - -//Function Number: 300 -getkillstreakoverheadicon(param_00) -{ - return tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].overhead_icon_col); -} - -//Function Number: 301 -getkillstreakdpadicon(param_00) -{ - return tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].dpad_icon_col); -} - -//Function Number: 302 -getkillstreakunearnedicon(param_00) -{ - return tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].unearned_icon_col); -} - -//Function Number: 303 -getkillstreakallteamstreak(param_00) -{ - return tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].all_team_streak_col); -} - -//Function Number: 304 -currentactivevehiclecount(param_00) -{ - if(!isdefined(param_00)) - { - param_00 = 0; - } - - var_01 = param_00; - if(isdefined(level.helis)) - { - var_01 = var_01 + level.helis.size; - } - - if(isdefined(level.littlebirds)) - { - var_01 = var_01 + level.littlebirds.size; - } - - if(isdefined(level.ugvs)) - { - var_01 = var_01 + level.ugvs.size; - } - - if(isdefined(level.ishorde) && level.ishorde) - { - if(isdefined(level.flying_attack_drones)) - { - var_01 = var_01 + level.flying_attack_drones.size; - } - - if(isdefined(level.trackingdrones)) - { - var_01 = var_01 + level.trackingdrones.size; - } - } - - return var_01; -} - -//Function Number: 305 -maxvehiclesallowed() -{ - return 8; -} - -//Function Number: 306 -incrementfauxvehiclecount() -{ - level.fauxvehiclecount++; -} - -//Function Number: 307 -decrementfauxvehiclecount() -{ - level.fauxvehiclecount--; - if(level.fauxvehiclecount < 0) - { - level.fauxvehiclecount = 0; - } -} - -//Function Number: 308 -lightweightscalar(param_00) -{ - return 1.07; -} - -//Function Number: 309 -allowteamchoice() -{ - if(!isshipbuild() && getdvarint("scr_skipclasschoice",0) > 0) - { - return 0; - } - - var_00 = int(tablelookup("mp/gametypesTable.csv",0,level.gametype,4)); - return var_00; -} - -//Function Number: 310 -allowclasschoice() -{ - if(!isshipbuild() && getdvarint("scr_skipclasschoice",0) > 0) - { - return 0; - } - - var_00 = int(tablelookup("mp/gametypesTable.csv",0,level.gametype,5)); - return var_00; -} - -//Function Number: 311 -showgenericmenuonmatchstart() -{ - if(allowteamchoice() || allowclasschoice()) - { - return 0; - } - - var_00 = int(tablelookup("mp/gametypesTable.csv",0,level.gametype,7)); - return var_00; -} - -//Function Number: 312 -isbuffequippedonweapon(param_00,param_01) -{ - return 0; -} - -//Function Number: 313 -setcommonrulesfrommatchrulesdata(param_00) -{ - var_01 = getmatchrulesdata("commonOption","timeLimit"); - setdynamicdvar("scr_" + level.gametype + "_timeLimit",var_01); - registertimelimitdvar(level.gametype,var_01); - var_02 = getmatchrulesdata("commonOption","scoreLimit"); - setdynamicdvar("scr_" + level.gametype + "_scoreLimit",var_02); - registerscorelimitdvar(level.gametype,var_02); - setdynamicdvar("scr_game_matchstarttime",getmatchrulesdata("commonOption","preMatchTimer")); - setdynamicdvar("scr_game_roundstarttime",getmatchrulesdata("commonOption","preRoundTimer")); - setdynamicdvar("scr_game_suicidespawndelay",getmatchrulesdata("commonOption","suicidePenalty")); - setdynamicdvar("scr_team_teamkillspawndelay",getmatchrulesdata("commonOption","teamKillPenalty")); - setdynamicdvar("scr_team_teamkillkicklimit",getmatchrulesdata("commonOption","teamKillKickLimit")); - var_03 = getmatchrulesdata("commonOption","numLives"); - setdynamicdvar("scr_" + level.gametype + "_numLives",var_03); - registernumlivesdvar(level.gametype,var_03); - setdynamicdvar("scr_player_maxhealth",getmatchrulesdata("commonOption","maxHealth")); - setdynamicdvar("scr_player_healthregentime",getmatchrulesdata("commonOption","healthRegen")); - level.matchrules_damagemultiplier = 0; - level.matchrules_vampirism = 0; - setdynamicdvar("scr_game_spectatetype",getmatchrulesdata("commonOption","spectateModeAllowed")); - setdynamicdvar("scr_game_lockspectatorpov",getmatchrulesdata("commonOption","spectateModePOV")); - setdynamicdvar("scr_game_allowkillcam",getmatchrulesdata("commonOption","showKillcam")); - setdynamicdvar("scr_game_forceuav",getmatchrulesdata("commonOption","radarAlwaysOn")); - setdynamicdvar("scr_" + level.gametype + "_playerrespawndelay",getmatchrulesdata("commonOption","respawnDelay")); - setdynamicdvar("scr_" + level.gametype + "_waverespawndelay",getmatchrulesdata("commonOption","waveRespawnDelay")); - setdynamicdvar("scr_player_forcerespawn",getmatchrulesdata("commonOption","forceRespawn")); - level.matchrules_allowcustomclasses = getmatchrulesdata("commonOption","allowCustomClasses"); - level.customclasspickcount = getmatchrulesdata("commonOption","classPickCount"); - setdynamicdvar("scr_game_high_jump",getmatchrulesdata("commonOption","highJump")); - setdynamicdvar("jump_slowdownEnable",getdvar("scr_game_high_jump") == "0"); - setdynamicdvar("scr_game_hardpoints",1); - setdynamicdvar("scr_game_perks",1); - setdynamicdvar("g_hardcore",getmatchrulesdata("commonOption","hardcoreModeOn")); - setdynamicdvar("scr_thirdPerson",getmatchrulesdata("commonOption","forceThirdPersonView")); - setdynamicdvar("camera_thirdPerson",getmatchrulesdata("commonOption","forceThirdPersonView")); - setdynamicdvar("scr_game_onlyheadshots",getmatchrulesdata("commonOption","headshotsOnly")); - if(!isdefined(param_00)) - { - setdynamicdvar("scr_team_fftype",getmatchrulesdata("commonOption","ffType")); - } - - setdynamicdvar("scr_game_killstreakdelay",getmatchrulesdata("commonOption","streakGracePeriod")); - level.dynamiceventstype = getmatchrulesdata("commonOption","dynamicEventsType"); - level.mapstreaksdisabled = getmatchrulesdata("commonOption","mapStreaksDisabled"); - level.chatterdisabled = getmatchrulesdata("commonOption","chatterDisabled"); - level.announcerdisabled = getmatchrulesdata("commonOption","announcerDisabled"); - level.matchrules_switchteamdisabled = getmatchrulesdata("commonOption","switchTeamDisabled"); - level.grenadegraceperiod = getmatchrulesdata("commonOption","grenadeGracePeriod"); - if(getmatchrulesdata("commonOption","hardcoreModeOn")) - { - setdynamicdvar("scr_team_fftype",1); - setdynamicdvar("scr_player_maxhealth",30); - setdynamicdvar("scr_player_healthregentime",0); - setdynamicdvar("scr_player_respawndelay",10); - setdynamicdvar("scr_game_allowkillcam",0); - setdynamicdvar("scr_game_forceuav",0); - } - - setdvar("bg_compassShowEnemies",getdvar("scr_game_forceuav")); -} - -//Function Number: 314 -reinitializematchrulesonmigration() -{ - for(;;) - { - level waittill("host_migration_begin"); - [[ level.initializematchrules ]](); - } -} - -//Function Number: 315 -reinitializethermal(param_00) -{ - self endon("disconnect"); - if(isdefined(param_00)) - { - param_00 endon("death"); - } - - for(;;) - { - level waittill("host_migration_begin"); - if(isdefined(self.lastvisionsetthermal)) - { - self visionsetthermalforplayer(self.lastvisionsetthermal,0); - } - } -} - -//Function Number: 316 -getmatchrulesspecialclass(param_00,param_01) -{ - var_02 = []; - var_02["loadoutPrimary"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","weaponSetups",0,"weapon"); - var_02["loadoutPrimaryAttachment"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","weaponSetups",0,"attachment",0); - var_02["loadoutPrimaryAttachment2"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","weaponSetups",0,"attachment",1); - var_02["loadoutPrimaryAttachment3"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","weaponSetups",0,"attachment",2); - var_02["loadoutPrimaryCamo"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","weaponSetups",0,"camo"); - var_02["loadoutPrimaryReticle"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","weaponSetups",0,"reticle"); - var_02["loadoutSecondary"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","weaponSetups",1,"weapon"); - var_02["loadoutSecondaryAttachment"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","weaponSetups",1,"attachment",0); - var_02["loadoutSecondaryAttachment2"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","weaponSetups",1,"attachment",1); - var_02["loadoutSecondaryAttachment3"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","weaponSetups",1,"attachment",2); - var_02["loadoutSecondaryCamo"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","weaponSetups",1,"camo"); - var_02["loadoutSecondaryReticle"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","weaponSetups",1,"reticle"); - var_02["loadoutEquipment"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","equipmentSetups",0,"equipment"); - var_02["loadoutEquipmentExtra"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","equipmentSetups",0,"extra"); - var_02["loadoutOffhand"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","equipmentSetups",1,"equipment"); - var_02["loadoutOffhandExtra"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","equipmentSetups",1,"extra"); - for(var_03 = 0;var_03 < 6;var_03++) - { - var_02["loadoutPerks"][var_03] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","perkSlots",var_03); - } - - for(var_03 = 0;var_03 < 3;var_03++) - { - var_02["loadoutWildcards"][var_03] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","wildcardSlots",var_03); - } - - for(var_03 = 0;var_03 < 4;var_03++) - { - var_02["loadoutKillstreaks"][var_03] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","assaultStreaks",var_03,"streak"); - for(var_04 = 0;var_04 < 3;var_04++) - { - var_02["loadoutKillstreakModules"][var_03][var_04] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","assaultStreaks",var_03,"modules",var_04); - } - } - - var_02["loadoutJuggernaut"] = getmatchrulesdata("defaultClasses",param_00,param_01,"juggernaut"); - return var_02; -} - -//Function Number: 317 -recipeclassapplyjuggernaut(param_00) -{ - level endon("game_ended"); - self endon("disconnect"); - if(!isdefined(level.ishorde) && !isdefined(level.iszombiegame) && level.iszombiegame) - { - if(level.ingraceperiod && !self.hasdonecombat) - { - self waittill("applyLoadout"); - } - else - { - self waittill("spawned_player"); - } - } - else - { - self waittill("applyLoadout"); - } - - if(param_00) - { - self notify("lost_juggernaut"); - wait(0.5); - } - - if(!isdefined(self.isjuiced)) - { - self.movespeedscaler = 0.7; - maps\mp\gametypes\_weapons::updatemovespeedscale(); - } - - self.juggmovespeedscaler = 0.7; - self disableweaponpickup(); - if(!getdvarint("camera_thirdPerson") && !isdefined(level.ishorde) && !isdefined(level.iszombiegame) && level.iszombiegame) - { - self.juggernautoverlay = newclienthudelem(self); - self.juggernautoverlay.x = 0; - self.juggernautoverlay.y = 0; - self.juggernautoverlay.alignx = "left"; - self.juggernautoverlay.aligny = "top"; - self.juggernautoverlay.horzalign = "fullscreen"; - self.juggernautoverlay.vertalign = "fullscreen"; - self.juggernautoverlay setshader(level.juggsettings["juggernaut"].overlay,640,480); - self.juggernautoverlay.sort = -10; - self.juggernautoverlay.archived = 1; - self.juggernautoverlay.hidein3rdperson = 1; - } - - thread maps\mp\killstreaks\_juggernaut::juggernautsounds(); - if(level.gametype != "jugg" || isdefined(level.matchrules_showjuggradaricon) && level.matchrules_showjuggradaricon) - { - self setperk("specialty_radarjuggernaut",1,0); - } - - if(isdefined(self.isjuggmodejuggernaut) && self.isjuggmodejuggernaut) - { - var_01 = spawn("script_model",self.origin); - var_01.team = self.team; - var_01 makeportableradar(self); - self.personalradar = var_01; - thread maps\mp\killstreaks\_juggernaut::radarmover(var_01); - } - - level notify("juggernaut_equipped",self); - thread maps\mp\killstreaks\_juggernaut::juggremover(); -} - -//Function Number: 318 -updatesessionstate(param_00) -{ - self.sessionstate = param_00; - self setclientomnvar("ui_session_state",param_00); -} - -//Function Number: 319 -cac_getcustomclassloc() -{ - if(isdefined(level.forcecustomclassloc)) - { - return level.forcecustomclassloc; - } - - if(getdvarint("xblive_privatematch") || issystemlink()) - { - return "privateMatchCustomClasses"; - } - - return "customClasses"; -} - -//Function Number: 320 -getclassindex(param_00) -{ - return level.classmap[param_00]; -} - -//Function Number: 321 -isteaminlaststand() -{ - var_00 = getlivingplayers(self.team); - foreach(var_02 in var_00) - { - if(var_02 != self && !isdefined(var_02.laststand) || !var_02.laststand) - { - return 0; - } - } - - return 1; -} - -//Function Number: 322 -killteaminlaststand(param_00) -{ - var_01 = getlivingplayers(param_00); - foreach(var_03 in var_01) - { - if(isdefined(var_03.laststand) && var_03.laststand) - { - var_03 thread maps\mp\gametypes\_damage::dieaftertime(randomintrange(1,3)); - } - } -} - -//Function Number: 323 -switch_to_last_weapon(param_00) -{ - if(!isai(self)) - { - self switchtoweapon(param_00); - return; - } - - self switchtoweapon("none"); -} - -//Function Number: 324 -isaiteamparticipant(param_00) -{ - if(isagent(param_00) && param_00.agent_teamparticipant == 1) - { - return 1; - } - - if(isbot(param_00)) - { - return 1; - } - - return 0; -} - -//Function Number: 325 -isteamparticipant(param_00) -{ - if(isaiteamparticipant(param_00)) - { - return 1; - } - - if(isplayer(param_00)) - { - return 1; - } - - return 0; -} - -//Function Number: 326 -isaigameparticipant(param_00) -{ - if(isagent(param_00) && param_00.agent_gameparticipant == 1) - { - return 1; - } - - if(isbot(param_00)) - { - return 1; - } - - return 0; -} - -//Function Number: 327 -isgameparticipant(param_00) -{ - if(isaigameparticipant(param_00)) - { - return 1; - } - - if(isplayer(param_00)) - { - return 1; - } - - return 0; -} - -//Function Number: 328 -getteamindex(param_00) -{ - var_01 = 0; - if(level.teambased) - { - switch(param_00) - { - case "axis": - break; - - case "allies": - break; - } - } -} - -//Function Number: 329 -ismeleemod(param_00) -{ - return param_00 == "MOD_MELEE" || param_00 == "MOD_MELEE_ALT"; -} - -//Function Number: 330 -isheadshot(param_00,param_01,param_02,param_03) -{ - if(isdefined(param_03)) - { - if(isdefined(param_03.owner)) - { - if(param_03.code_classname == "script_vehicle") - { - return 0; - } - - if(param_03.code_classname == "misc_turret") - { - return 0; - } - - if(param_03.code_classname == "script_model") - { - return 0; - } - } - - if(isdefined(param_03.agent_type)) - { - if(param_03.agent_type == "dog" || param_03.agent_type == "alien") - { - return 0; - } - } - } - - return (param_01 == "head" || param_01 == "helmet") && !ismeleemod(param_02) && param_02 != "MOD_IMPACT" && !isenvironmentweapon(param_00); -} - -//Function Number: 331 -attackerishittingteam(param_00,param_01) -{ - if(!level.teambased) - { - return 0; - } - - if(!isdefined(param_01) || !isdefined(param_00)) - { - return 0; - } - - if(!isdefined(param_00.team) || !isdefined(param_01.team)) - { - return 0; - } - - if(param_00 == param_01) - { - return 0; - } - - if(param_00.pers["team"] == param_01.team && isdefined(param_01.teamchangedthisframe)) - { - return 0; - } - - if(isdefined(param_01.scrambled) && param_01.scrambled) - { - return 0; - } - - if(param_00.team == param_01.team) - { - return 1; - } - - return 0; -} - -//Function Number: 332 -set_high_priority_target_for_bot(param_00) -{ - if(!isdefined(self.high_priority_for) && common_scripts\utility::array_contains(self.high_priority_for,param_00)) - { - self.high_priority_for = common_scripts\utility::array_add(self.high_priority_for,param_00); - param_00 notify("calculate_new_level_targets"); - } -} - -//Function Number: 333 -add_to_bot_use_targets(param_00,param_01) -{ - if(isdefined(level.bot_funcs["bots_add_to_level_targets"])) - { - param_00.use_time = param_01; - param_00.bot_interaction_type = "use"; - [[ level.bot_funcs["bots_add_to_level_targets"] ]](param_00); - } -} - -//Function Number: 334 -remove_from_bot_use_targets(param_00) -{ - if(isdefined(level.bot_funcs["bots_remove_from_level_targets"])) - { - [[ level.bot_funcs["bots_remove_from_level_targets"] ]](param_00); - } -} - -//Function Number: 335 -add_to_bot_damage_targets(param_00) -{ - if(isdefined(level.bot_funcs["bots_add_to_level_targets"])) - { - param_00.bot_interaction_type = "damage"; - [[ level.bot_funcs["bots_add_to_level_targets"] ]](param_00); - } -} - -//Function Number: 336 -remove_from_bot_damage_targets(param_00) -{ - if(isdefined(level.bot_funcs["bots_remove_from_level_targets"])) - { - [[ level.bot_funcs["bots_remove_from_level_targets"] ]](param_00); - } -} - -//Function Number: 337 -notify_enemy_bots_bomb_used(param_00) -{ - if(isdefined(level.bot_funcs["notify_enemy_bots_bomb_used"])) - { - self [[ level.bot_funcs["notify_enemy_bots_bomb_used"] ]](param_00); - } -} - -//Function Number: 338 -get_rank_xp_and_prestige_for_bot() -{ - if(isdefined(level.bot_funcs["bot_get_rank_xp_and_prestige"])) - { - return self [[ level.bot_funcs["bot_get_rank_xp_and_prestige"] ]](); - } -} - -//Function Number: 339 -set_rank_xp_and_prestige_for_bot() -{ - var_00 = get_rank_xp_and_prestige_for_bot(); - if(isdefined(var_00)) - { - self.pers["rankxp"] = var_00.rankxp; - self.pers["prestige"] = var_00.prestige; - self.pers["prestige_fake"] = var_00.prestige; - } -} - -//Function Number: 340 -set_console_status() -{ - if(!isdefined(level.console)) - { - level.console = getdvar("consoleGame") == "true"; - } - else - { - } - - if(!isdefined(level.xenon)) - { - level.xenon = getdvar("xenonGame") == "true"; - } - else - { - } - - if(!isdefined(level.ps3)) - { - level.ps3 = getdvar("ps3Game") == "true"; - } - else - { - } - - if(!isdefined(level.xb3)) - { - level.xb3 = getdvar("xb3Game") == "true"; - } - else - { - } - - if(!isdefined(level.ps4)) - { - level.ps4 = getdvar("ps4Game") == "true"; - } -} - -//Function Number: 341 -is_gen4() -{ - if(level.xb3 || level.ps4 || !level.console) - { - return 1; - } - - return 0; -} - -//Function Number: 342 -setdvar_cg_ng(param_00,param_01,param_02) -{ - if(!isdefined(level.console) || !isdefined(level.xb3) || !isdefined(level.ps4)) - { - set_console_status(); - } - - if(is_gen4()) - { - setdvar(param_00,param_02); - return; - } - - setdvar(param_00,param_01); -} - -//Function Number: 343 -isvalidteamtarget(param_00,param_01) -{ - return isdefined(param_01.team) && param_01.team != param_00.team; -} - -//Function Number: 344 -isvalidffatarget(param_00,param_01) -{ - return isdefined(param_01.owner) && param_01.owner != param_00; -} - -//Function Number: 345 -gethelipilotmeshoffset() -{ - return (0,0,5000); -} - -//Function Number: 346 -gethelipilottraceoffset() -{ - return (0,0,2500); -} - -//Function Number: 347 -revertvisionsetforplayer(param_00) -{ - if(!isdefined(param_00)) - { - param_00 = 1; - } - - if(isdefined(level.nukedetonated) && isdefined(level.nukevisionset)) - { - self setclienttriggervisionset(level.nukevisionset,param_00); - self visionsetnakedforplayer(level.nukevisionset,param_00); - set_visionset_for_watching_players(level.nukevisionset,param_00); - return; - } - - if(isdefined(self.usingremote) && isdefined(self.ridevisionset)) - { - self setclienttriggervisionset(self.ridevisionset,param_00); - self visionsetnakedforplayer(self.ridevisionset,param_00); - set_visionset_for_watching_players(self.ridevisionset,param_00); - return; - } - - self setclienttriggervisionset("",param_00); - self visionsetnakedforplayer("",param_00); - set_visionset_for_watching_players("",param_00); -} - -//Function Number: 348 -set_light_set_for_player(param_00) -{ - if(!isplayer(self)) - { - return; - } - - if(isdefined(level.lightset_current)) - { - level.lightset_previous = level.lightset_current; - } - - level.lightset_current = param_00; - self lightsetforplayer(param_00); -} - -//Function Number: 349 -clear_light_set_for_player() -{ - if(!isplayer(self)) - { - return; - } - - var_00 = getmapcustom("map"); - if(isdefined(level.lightset_previous)) - { - var_00 = level.lightset_previous; - level.lightset_previous = undefined; - } - - level.lightset_current = var_00; - self lightsetforplayer(var_00); -} - -//Function Number: 350 -light_set_override_for_player(param_00,param_01,param_02,param_03) -{ - if(!isplayer(self)) - { - return; - } - - self lightsetoverrideenableforplayer(param_00,param_01); - waitfortimeornotifies(param_02,["death","disconnect"]); - if(isdefined(self)) - { - self lightsetoverrideenableforplayer(param_03); - } -} - -//Function Number: 351 -getuniqueid() -{ - if(isdefined(self.pers["guid"])) - { - return self.pers["guid"]; - } - - var_00 = self getguid(); - if(var_00 == "0000000000000000") - { - if(isdefined(level.guidgen)) - { - level.guidgen++; - } - else - { - level.guidgen = 1; - } - - var_00 = "script" + level.guidgen; - } - - self.pers["guid"] = var_00; - return self.pers["guid"]; -} - -//Function Number: 352 -get_players_watching(param_00,param_01) -{ - if(!isdefined(param_00)) - { - param_00 = 0; - } - - if(!isdefined(param_01)) - { - param_01 = 0; - } - - var_02 = self getentitynumber(); - var_03 = []; - foreach(var_05 in level.players) - { - if(!isdefined(var_05) || var_05 == self) - { - continue; - } - - var_06 = 0; - if(!param_01) - { - if((isdefined(var_05.team) && var_05.team == "spectator") || var_05.sessionstate == "spectator") - { - var_07 = var_05 getspectatingplayer(); - if(isdefined(var_07) && var_07 == self) - { - var_06 = 1; - } - } - - if(var_05.forcespectatorclient == var_02) - { - var_06 = 1; - } - } - - if(!param_00) - { - if(var_05.killcamentity == var_02) - { - var_06 = 1; - } - } - - if(var_06) - { - var_03[var_03.size] = var_05; - } - } - - return var_03; -} - -//Function Number: 353 -set_visionset_for_watching_players(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - var_07 = get_players_watching(param_04,param_05); - foreach(var_09 in var_07) - { - var_09 notify("changing_watching_visionset"); - if(isdefined(param_03) && param_03) - { - var_09 visionsetmissilecamforplayer(param_00,param_01); - } - else if(isdefined(param_06) && param_06) - { - var_09 visionsetpostapplyforplayer(param_00,param_01); - } - else - { - var_09 visionsetnakedforplayer(param_00,param_01); - } - - if(param_00 != "" && isdefined(param_02)) - { - var_09 thread reset_visionset_on_team_change(self,param_01 + param_02,param_06); - var_09 thread reset_visionset_on_disconnect(self,param_06); - if(var_09 isinkillcam()) - { - var_09 thread reset_visionset_on_spawn(); - } - } - } -} - -//Function Number: 354 -reset_visionset_on_spawn() -{ - self endon("disconnect"); - self waittill("spawned"); - self visionsetnakedforplayer("",0); - self visionsetpostapplyforplayer("",0); -} - -//Function Number: 355 -reset_visionset_on_team_change(param_00,param_01,param_02) -{ - self endon("changing_watching_visionset"); - param_00 endon("disconnect"); - var_03 = gettime(); - var_04 = self.team; - while(gettime() - var_03 < param_01 * 1000) - { - if(self.team != var_04 || !common_scripts\utility::array_contains(param_00 get_players_watching(),self)) - { - if(isdefined(param_02) && param_02) - { - self visionsetpostapplyforplayer("",0); - } - else - { - self visionsetnakedforplayer("",0); - } - - self notify("changing_visionset"); - break; - } - - wait(0.05); - } -} - -//Function Number: 356 -reset_visionset_on_disconnect(param_00,param_01) -{ - self endon("changing_watching_visionset"); - param_00 waittill("disconnect"); - if(isdefined(param_01) && param_01) - { - self visionsetpostapplyforplayer("",0); - return; - } - - self visionsetnakedforplayer("",0); -} - -//Function Number: 357 -_validateattacker(param_00) -{ - if(isagent(param_00) && !isdefined(param_00.isactive) || !param_00.isactive) - { - return undefined; - } - - return param_00; -} - -//Function Number: 358 -_setnameplatematerial(param_00,param_01) -{ - if(!isdefined(self.nameplatematerial)) - { - self.nameplatematerial = []; - self.prevnameplatematerial = []; - } - else - { - self.prevnameplatematerial[0] = self.nameplatematerial[0]; - self.prevnameplatematerial[1] = self.nameplatematerial[1]; - } - - self.nameplatematerial[0] = param_00; - self.nameplatematerial[1] = param_01; - self setnameplatematerial(param_00,param_01); -} - -//Function Number: 359 -_restorepreviousnameplatematerial() -{ - if(isdefined(self.prevnameplatematerial)) - { - self setnameplatematerial(self.prevnameplatematerial[0],self.prevnameplatematerial[1]); - } - else - { - self setnameplatematerial("",""); - } - - self.nameplatematerial = undefined; - self.prevnameplatematerial = undefined; -} - -//Function Number: 360 -findandplayanims(param_00,param_01) -{ - var_02 = getentarray(param_00,"targetname"); - if(var_02.size > 0) - { - foreach(var_04 in var_02) - { - var_05 = 0; - if(isdefined(var_04.script_animation)) - { - if(isdefined(var_04.script_parameters) && var_04.script_parameters == "delta_anim") - { - var_05 = 1; - } - - var_04 thread playanim(param_01,var_05); - } - } - } -} - -//Function Number: 361 -playanim(param_00,param_01) -{ - if(param_00 == 1) - { - wait(randomfloatrange(0,1)); - } - - if(param_01 == 0) - { - self scriptmodelplayanim(self.script_animation); - return; - } - - self scriptmodelplayanimdeltamotion(self.script_animation); -} - -//Function Number: 362 -playerallowhighjump(param_00,param_01) -{ - _playerallow("highjump",param_00,param_01,::allowhighjump); -} - -//Function Number: 363 -playerallowhighjumpdrop(param_00,param_01) -{ - _playerallow("highjumpdrop",param_00,param_01,::allowhighjumpdrop); -} - -//Function Number: 364 -playerallowboostjump(param_00,param_01) -{ - _playerallow("boostjump",param_00,param_01,::allowboostjump); -} - -//Function Number: 365 -playerallowpowerslide(param_00,param_01) -{ - _playerallow("powerslide",param_00,param_01,::allowpowerslide); -} - -//Function Number: 366 -playerallowdodge(param_00,param_01) -{ - _playerallow("dodge",param_00,param_01,::allowdodge); -} - -//Function Number: 367 -_playerallow(param_00,param_01,param_02,param_03,param_04) -{ - if(!isdefined(self.playerdisableabilitytypes)) - { - self.playerdisableabilitytypes = []; - } - - if(!isdefined(self.playerdisableabilitytypes[param_00])) - { - self.playerdisableabilitytypes[param_00] = []; - } - - if(!isdefined(param_02)) - { - param_02 = "default"; - } - - if(!isdefined(param_04)) - { - param_04 = 1; - } - - if(param_01) - { - self.playerdisableabilitytypes[param_00] = common_scripts\utility::array_remove(self.playerdisableabilitytypes[param_00],param_02); - if(!self.playerdisableabilitytypes[param_00].size) - { - if(param_04) - { - self [[ param_03 ]](1); - return; - } - - self [[ param_03 ]](1); - return; - } - - return; - } - - if(!isdefined(common_scripts\utility::array_find(self.playerdisableabilitytypes[param_00],param_02))) - { - self.playerdisableabilitytypes[param_00] = common_scripts\utility::array_add(self.playerdisableabilitytypes[param_00],param_02); - } - - if(param_04) - { - self [[ param_03 ]](0); - return; - } - - self [[ param_03 ]](0); -} - -//Function Number: 368 -makegloballyusablebytype(param_00,param_01,param_02,param_03) -{ - var_04 = 500; - switch(param_00) - { - case "killstreakRemote": - break; - - case "coopStreakPrompt": - break; - - default: - break; - } -} - -//Function Number: 369 -_insertintoglobalusablelist(param_00,param_01,param_02,param_03) -{ - if(!isdefined(level.globalusableents)) - { - level.globalusableents = []; - } - - var_04 = -1; - for(var_05 = 0;var_05 < level.globalusableents.size;var_05++) - { - var_06 = level.globalusableents[var_05]; - if(var_06.priority > param_00) - { - if(var_04 == -1) - { - var_04 = var_05; - } - - break; - } - - if(var_06.priority == param_00) - { - var_06.priority = var_06.priority + 0.01; - if(var_06.enabled) - { - var_06.ent makeglobalusable(var_06.priority,var_06.player,var_06.team); - } - - if(var_04 == -1) - { - var_04 = var_05; - } - } - } - - if(var_04 == -1) - { - var_04 = 0; - } - - var_07 = spawnstruct(); - var_07.ent = self; - var_07.priority = param_00; - var_07.type = param_01; - var_07.player = param_02; - var_07.team = param_03; - var_07.enabled = 1; - level.globalusableents = common_scripts\utility::array_insert(level.globalusableents,var_07,var_04); -} - -//Function Number: 370 -makegloballyunusablebytype() -{ - var_00 = undefined; - foreach(var_02 in level.globalusableents) - { - if(var_02.ent == self) - { - var_00 = var_02; - break; - } - } - - if(isdefined(var_00)) - { - var_04 = var_00.priority; - level.globalusableents = common_scripts\utility::array_remove(level.globalusableents,var_00); - self makeglobalunusable(); - foreach(var_02 in level.globalusableents) - { - if(var_04 > var_02.priority && int(var_04) == int(var_02.priority)) - { - var_02.priority = var_02.priority - 0.01; - if(var_02.enabled) - { - var_02.ent makeglobalusable(var_02.priority,var_02.player,var_02.team); - } - } - } - } -} - -//Function Number: 371 -disablegloballyusablebytype() -{ - foreach(var_01 in level.globalusableents) - { - if(var_01.ent == self) - { - if(var_01.enabled) - { - var_01.ent makeglobalunusable(); - var_01.enabled = 0; - } - - break; - } - } -} - -//Function Number: 372 -enablegloballyusablebytype() -{ - foreach(var_01 in level.globalusableents) - { - if(var_01.ent == self) - { - if(!var_01.enabled) - { - var_01.ent makeglobalusable(var_01.priority,var_01.player,var_01.team); - var_01.enabled = 1; - } - - break; - } - } -} - -//Function Number: 373 -setdof(param_00) -{ - self setdepthoffield(param_00["nearStart"],param_00["nearEnd"],param_00["farStart"],param_00["farEnd"],param_00["nearBlur"],param_00["farBlur"]); -} - -//Function Number: 374 -is_exo_ability_weapon(param_00) -{ - switch(param_00) - { - case "iw5_dlcgun12loot7_mp": - case "exomute_equipment_mp": - case "exocloakhorde_equipment_mp": - case "exohoverhorde_equipment_mp": - case "exoshieldhorde_equipment_mp": - case "exoshield_equipment_mp": - case "exorepulsor_equipment_mp": - case "exoping_equipment_mp": - case "exohover_equipment_mp": - case "exocloak_equipment_mp": - case "extra_health_mp": - case "adrenaline_mp": - break; - - default: - break; - } -} - -//Function Number: 375 -isenemy(param_00) -{ - if(level.teambased) - { - return isplayeronenemyteam(param_00); - } - - return isplayerffaenemy(param_00); -} - -//Function Number: 376 -isplayeronenemyteam(param_00) -{ - return param_00.team != self.team; -} - -//Function Number: 377 -isplayerffaenemy(param_00) -{ - if(isdefined(param_00.owner)) - { - return param_00.owner != self; - } - - return param_00 != self; -} - -//Function Number: 378 -ismlgsystemlink() -{ - if(issystemlink() && getdvarint("xblive_competitionmatch")) - { - return 1; - } - - return 0; -} - -//Function Number: 379 -ismlgsplitscreen() -{ - if(issplitscreen() && getdvarint("xblive_competitionmatch")) - { - return 1; - } - - return 0; -} - -//Function Number: 380 -ismlgprivatematch() -{ - if(privatematch() && getdvarint("xblive_competitionmatch")) - { - return 1; - } - - return 0; -} - -//Function Number: 381 -ismlgmatch() -{ - if(ismlgsystemlink() || ismlgsplitscreen() || ismlgprivatematch()) - { - return 1; - } - - return 0; -} - -//Function Number: 382 -spawnfxshowtoteam(param_00,param_01,param_02,param_03) -{ - var_04 = spawnfx(param_00,param_02,param_03); - var_04 fxshowtoteam(param_01); - return var_04; -} - -//Function Number: 383 -fxshowtoteam(param_00) -{ - thread showfxtoteam(param_00); - setfxkillondelete(self,1); - triggerfx(self); -} - -//Function Number: 384 -showfxtoteam(param_00) -{ - self endon("death"); - level endon("game_ended"); - for(;;) - { - self hide(); - foreach(var_02 in level.players) - { - var_03 = var_02.team; - if(var_03 != "axis" || var_02 ismlgspectator()) - { - var_03 = "allies"; - } - - if(param_00 == var_03 || param_00 == "neutral") - { - self showtoplayer(var_02); - } - } - - level waittill("joined_team"); - } -} - -//Function Number: 385 -get_spawn_weapon_name(param_00) -{ - var_01 = "iw5_combatknife_mp"; - if(isdefined(param_00.primaryname) && param_00.primaryname != "none" && param_00.primaryname != "iw5_combatknife_mp") - { - var_01 = param_00.primaryname; - } - else if(isdefined(param_00.secondaryname) && param_00.secondaryname != "none") - { - var_01 = param_00.secondaryname; - } - - return var_01; -} - -//Function Number: 386 -playersaveangles() -{ - self.restoreangles = self getplayerangles(); -} - -//Function Number: 387 -playerrestoreangles() -{ - if(isdefined(self.restoreangles)) - { - if(self.team != "spectator") - { - self setplayerangles(self.restoreangles); - } - - self.restoreangles = undefined; - } -} - -//Function Number: 388 -setmlgicons(param_00,param_01) -{ - param_00 maps\mp\gametypes\_gameobjects::set2dicon("mlg",param_01); - param_00 maps\mp\gametypes\_gameobjects::set3dicon("mlg",param_01); -} - -//Function Number: 389 -spawnpatchclip(param_00,param_01,param_02) -{ - var_03 = getent(param_00,"targetname"); - if(!isdefined(var_03)) - { - return undefined; - } - - var_04 = spawn("script_model",param_01); - var_04 clonebrushmodeltoscriptmodel(var_03); - var_04.angles = param_02; - return var_04; -} - -//Function Number: 390 -iscoop() -{ - if(isdefined(level.ishorde) && level.ishorde) - { - return 1; - } - - if(isdefined(level.iszombiegame) && level.iszombiegame) - { - return 1; - } - - return 0; -} - -//Function Number: 391 -setlightingstate_patched(param_00) -{ - var_01 = getentarray(); - setomnvar("lighting_state",param_00); - if(!getdvarint("r_reflectionProbeGenerate")) - { - foreach(var_03 in var_01) - { - if(isdefined(var_03.lightingstate) && var_03.classname == "script_brushmodel" || var_03.classname == "script_model") - { - if(var_03.lightingstate == 0) - { - continue; - } - - if(var_03.lightingstate == param_00) - { - var_03 common_scripts\utility::show_solid(); - var_03 allowriotshieldplant(); - continue; - } - - var_03 notify("hidingLightingState"); - var_03 common_scripts\utility::hide_notsolid(); - } - } - } -} - -//Function Number: 392 -gettimeutc_for_stat_recording() -{ - return gettimeutc(); -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/agents/_agent_common.gsc b/AW/PC/ZM/maps/mp/agents/_agent_common.gsc deleted file mode 100644 index 2552fad..0000000 --- a/AW/PC/ZM/maps/mp/agents/_agent_common.gsc +++ /dev/null @@ -1,109 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps\mp\agents\_agent_common.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 8 - * Decompile Time: 152 ms - * Timestamp: 10/27/2023 2:07:02 AM -*******************************************************************/ - -//Function Number: 1 -codecallback_agentadded() -{ - maps\mp\agents\_agent_utility::initagentscriptvariables(); - var_00 = "axis"; - if(level.numagents % 2 == 0) - { - var_00 = "allies"; - } - - level.numagents++; - maps\mp\agents\_agent_utility::set_agent_team(var_00); - level.agentarray[level.agentarray.size] = self; -} - -//Function Number: 2 -codecallback_agentdamaged(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) -{ - param_01 = maps\mp\_utility::_validateattacker(param_01); - self [[ maps\mp\agents\_agent_utility::agentfunc("on_damaged") ]](param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09); -} - -//Function Number: 3 -codecallback_agentkilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) -{ - param_01 = maps\mp\_utility::_validateattacker(param_01); - self thread [[ maps\mp\agents\_agent_utility::agentfunc("on_killed") ]](param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08); -} - -//Function Number: 4 -init() -{ - initagentlevelvariables(); - level thread add_agents_to_game(); -} - -//Function Number: 5 -connectnewagent(param_00,param_01,param_02) -{ - var_03 = maps\mp\agents\_agent_utility::getfreeagent(param_00); - if(isdefined(var_03)) - { - var_03.connecttime = gettime(); - if(isdefined(param_01)) - { - var_03 maps\mp\agents\_agent_utility::set_agent_team(param_01); - } - else - { - var_03 maps\mp\agents\_agent_utility::set_agent_team(var_03.team); - } - - if(isdefined(param_02)) - { - var_03.class_override = param_02; - } - - if(isdefined(level.agent_funcs[param_00]["onAIConnect"])) - { - var_03 [[ var_03 maps\mp\agents\_agent_utility::agentfunc("onAIConnect") ]](); - } - - var_03 maps\mp\gametypes\_spawnlogic::addtocharactersarray(); - } - - return var_03; -} - -//Function Number: 6 -initagentlevelvariables() -{ - level.agentarray = []; - level.numagents = 0; -} - -//Function Number: 7 -add_agents_to_game() -{ - level endon("game_ended"); - level waittill("connected",var_00); - var_01 = getmaxagents(); - while(level.agentarray.size < var_01) - { - var_02 = addagent(); - if(!isdefined(var_02)) - { - wait 0.05; - continue; - } - } -} - -//Function Number: 8 -set_agent_health(param_00) -{ - self.agenthealth = param_00; - self.health = param_00; - self.maxhealth = param_00; -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/killstreaks/_airdrop.gsc b/AW/PC/ZM/maps/mp/killstreaks/_airdrop.gsc deleted file mode 100644 index 34b4e6c..0000000 --- a/AW/PC/ZM/maps/mp/killstreaks/_airdrop.gsc +++ /dev/null @@ -1,1988 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_airdrop.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 64 - * Decompile Time: 975 ms - * Timestamp: 10/27/2023 2:09:07 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - if(getdvarint("virtuallobbyactive",0)) - { - return; - } - - level._effect["airdrop_crate_destroy"] = loadfx("vfx/explosion/vehicle_pdrone_explosion"); - level._effect["airdrop_crate_trap_explode"] = loadfx("vfx/explosion/frag_grenade_default"); - setairdropcratecollision("airdrop_crate"); - setairdropcratecollision("care_package"); - level.numdropcrates = 0; - level.cratetypes = []; - level.killstreakwieldweapons["airdrop_trap_explosive_mp"] = "airdrop_assault"; - level.killstreakfuncs["airdrop_reinforcement_common"] = ::tryusereinforcementcommon; - level.killstreakfuncs["airdrop_reinforcement_uncommon"] = ::tryusereinforcementuncommon; - level.killstreakfuncs["airdrop_reinforcement_rare"] = ::tryusereinforcementrare; - level.killstreakfuncs["airdrop_reinforcement_practice"] = ::tryusereinforcementpractice; - addcratetypes_standard(); - level.secondaryreinforcementhinttext = []; - level.secondaryreinforcementhinttext["specialty_extended_battery"] = &"PERKS_EXO_BATTERY"; - level.secondaryreinforcementhinttext["specialty_class_lowprofile"] = &"PERKS_LOWPROFILE"; - level.secondaryreinforcementhinttext["specialty_class_flakjacket"] = &"PERKS_FLAKJACKET"; - level.secondaryreinforcementhinttext["specialty_class_lightweight"] = &"PERKS_LIGHTWEIGHT"; - level.secondaryreinforcementhinttext["specialty_class_blindeye"] = &"PERKS_BLINDEYE"; - level.secondaryreinforcementhinttext["specialty_class_coldblooded"] = &"PERKS_COLDBLOODED"; - level.secondaryreinforcementhinttext["specialty_class_peripherals"] = &"PERKS_PERIPHERALS"; - level.secondaryreinforcementhinttext["specialty_class_fasthands"] = &"PERKS_FASTHANDS"; - level.secondaryreinforcementhinttext["specialty_class_dexterity"] = &"PERKS_DEXTERITY"; - level.secondaryreinforcementhinttext["specialty_exo_blastsuppressor"] = &"PERKS_EXO_BLASTSUPPRESSOR"; - level.secondaryreinforcementhinttext["specialty_class_hardwired"] = &"PERKS_HARDWIRED"; - level.secondaryreinforcementhinttext["specialty_class_toughness"] = &"PERKS_TOUGHNESS"; - level.secondaryreinforcementhinttext["specialty_class_scavenger"] = &"PERKS_SCAVENGER"; - level.secondaryreinforcementhinttext["specialty_class_hardline"] = &"PERKS_HARDLINE"; - if(isdefined(level.customcratefunc)) - { - [[ level.customcratefunc ]](); - } - - generatemaxweightedcratevalue(); - level.mapkillstreakautodropindex = randomint(4); -} - -//Function Number: 2 -addcratetypes_standard() -{ - var_00 = level.mapkillstreak; - if(isdefined(level.mapstreaksdisabled) && level.mapstreaksdisabled) - { - var_00 = undefined; - } - - addcratetype("airdrop_assault",var_00,168,::killstreakcratethink,level.mapkillstreakpickupstring,var_00); - addcratetype("airdrop_assault","b",168,::killstreakcratethink,&"MP_SENTRY_PICKUP","remote_mg_sentry_turret","sentry_guardian","sentry_heavy_resistance"); - addcratetype("airdrop_assault","c",168,::killstreakcratethink,&"MP_SENTRY_PICKUP","remote_mg_sentry_turret","sentry_guardian","sentry_rippable","sentry_rocket_turret"); - addcratetype("airdrop_assault","d",168,::killstreakcratethink,&"MP_MISSILE_STRIKE_PICKUP","missile_strike","missile_strike_extra_1"); - addcratetype("airdrop_assault","e",168,::killstreakcratethink,&"MP_MISSILE_STRIKE_PICKUP","missile_strike","missile_strike_chem","missile_strike_extra_1"); - addcratetype("airdrop_assault","f",168,::killstreakcratethink,&"MP_RECON_UGV_PICKUP","recon_ugv","recon_ugv_cloak","recon_ugv_assist_points"); - addcratetype("airdrop_assault","g",168,::killstreakcratethink,&"MP_RECON_UGV_PICKUP","recon_ugv","recon_ugv_paint_grenade","recon_ugv_assist_points"); - addcratetype("airdrop_assault","h",98,::killstreakcratethink,&"MP_ORBITAL_STRIKE_LASER_PICKUP","orbital_strike_laser","orbital_strike_laser_beam"); - addcratetype("airdrop_assault","i",98,::killstreakcratethink,&"MP_ORBITAL_STRIKE_LASER_PICKUP","orbital_strike_laser","orbital_strike_laser_width","orbital_strike_laser_duration"); - addcratetype("airdrop_assault","j",100,::killstreakcratethink,&"MP_UAV_PICKUP","uav","uav_enemy_direction","uav_orbit"); - addcratetype("airdrop_assault","k",100,::killstreakcratethink,&"MP_UAV_PICKUP","uav","uav_scrambler","uav_increased_time","uav_paint_outline"); - addcratetype("airdrop_assault","l",40,::killstreakcratethink,&"MP_WARBIRD_PICKUP","warbird","warbird_rockets","warbird_coop_offensive"); - addcratetype("airdrop_assault","m",40,::killstreakcratethink,&"MP_WARBIRD_PICKUP","warbird","warbird_ai_attack","warbird_flares","warbird_time"); - addcratetype("airdrop_assault","n",30,::killstreakcratethink,&"MP_GROUND_ASSAULT_DRONE_PICKUP","assault_ugv","assault_ugv_mg","assault_ugv_rockets"); - addcratetype("airdrop_assault","o",30,::killstreakcratethink,&"MP_GROUND_ASSAULT_DRONE_PICKUP","assault_ugv","assault_ugv_ai","assault_ugv_rockets"); - addcratetype("airdrop_assault","p",20,::killstreakcratethink,&"MP_ORBITALSUPPORT_PICKUP","orbitalsupport","orbitalsupport_turret","orbitalsupport_coop_offensive","orbitalsupport_ammo"); - addcratetype("airdrop_assault","q",20,::killstreakcratethink,&"MP_ORBITALSUPPORT_PICKUP","orbitalsupport","orbitalsupport_rockets","orbitalsupport_flares","orbitalsupport_time"); - addcratetype("airdrop_assault","r",20,::killstreakcratethink,&"MP_AIRSTRIKE_PICKUP","strafing_run_airstrike","strafing_run_airstrike_two","strafing_run_airstrike_flares"); - addcratetype("airdrop_assault","s",20,::killstreakcratethink,&"MP_AIRSTRIKE_PICKUP","strafing_run_airstrike","strafing_run_airstrike_stealth"); - addcratetype("airdrop_assault","t",10,::killstreakcratethink,&"MP_EMP_PICKUP","emp","emp_assist","emp_flash"); - addcratetype("airdrop_assault","u",10,::killstreakcratethink,&"MP_EMP_PICKUP","emp","emp_streak_kill","emp_equipment_kill","emp_time_1"); - addcratetype("airdrop_assault","v",10,::killstreakcratethink,&"MP_HEAVY_EXO_PICKUP","heavy_exosuit","heavy_exosuit_radar","heavy_exosuit_punch"); - addcratetype("airdrop_assault","w",10,::killstreakcratethink,&"MP_HEAVY_EXO_PICKUP","heavy_exosuit","heavy_exosuit_trophy","heavy_exosuit_rockets","heavy_exosuit_eject"); - addcratetype("airdrop_assault_odds",var_00,136,::killstreakcratethink,level.mapkillstreakpickupstring,var_00); - addcratetype("airdrop_assault_odds","b",136,::killstreakcratethink,&"MP_SENTRY_PICKUP","remote_mg_sentry_turret","sentry_guardian","sentry_heavy_resistance"); - addcratetype("airdrop_assault_odds","c",136,::killstreakcratethink,&"MP_SENTRY_PICKUP","remote_mg_sentry_turret","sentry_guardian","sentry_rippable","sentry_rocket_turret"); - addcratetype("airdrop_assault_odds","d",136,::killstreakcratethink,&"MP_MISSILE_STRIKE_PICKUP","missile_strike","missile_strike_extra_1"); - addcratetype("airdrop_assault_odds","e",136,::killstreakcratethink,&"MP_MISSILE_STRIKE_PICKUP","missile_strike","missile_strike_chem","missile_strike_extra_1"); - addcratetype("airdrop_assault_odds","f",136,::killstreakcratethink,&"MP_RECON_UGV_PICKUP","recon_ugv","recon_ugv_cloak","recon_ugv_assist_points"); - addcratetype("airdrop_assault_odds","g",136,::killstreakcratethink,&"MP_RECON_UGV_PICKUP","recon_ugv","recon_ugv_paint_grenade","recon_ugv_assist_points"); - addcratetype("airdrop_assault_odds","h",116,::killstreakcratethink,&"MP_ORBITAL_STRIKE_LASER_PICKUP","orbital_strike_laser","orbital_strike_laser_beam"); - addcratetype("airdrop_assault_odds","i",116,::killstreakcratethink,&"MP_ORBITAL_STRIKE_LASER_PICKUP","orbital_strike_laser","orbital_strike_laser_width","orbital_strike_laser_duration"); - addcratetype("airdrop_assault_odds","j",100,::killstreakcratethink,&"MP_UAV_PICKUP","uav","uav_enemy_direction","uav_orbit"); - addcratetype("airdrop_assault_odds","k",100,::killstreakcratethink,&"MP_UAV_PICKUP","uav","uav_scrambler","uav_increased_time","uav_paint_outline"); - addcratetype("airdrop_assault_odds","l",60,::killstreakcratethink,&"MP_WARBIRD_PICKUP","warbird","warbird_rockets","warbird_coop_offensive"); - addcratetype("airdrop_assault_odds","m",60,::killstreakcratethink,&"MP_WARBIRD_PICKUP","warbird","warbird_ai_attack","warbird_flares","warbird_time"); - addcratetype("airdrop_assault_odds","n",50,::killstreakcratethink,&"MP_GROUND_ASSAULT_DRONE_PICKUP","assault_ugv","assault_ugv_mg","assault_ugv_rockets"); - addcratetype("airdrop_assault_odds","o",50,::killstreakcratethink,&"MP_GROUND_ASSAULT_DRONE_PICKUP","assault_ugv","assault_ugv_ai","assault_ugv_rockets"); - addcratetype("airdrop_assault_odds","p",40,::killstreakcratethink,&"MP_ORBITALSUPPORT_PICKUP","orbitalsupport","orbitalsupport_turret","orbitalsupport_coop_offensive","orbitalsupport_ammo"); - addcratetype("airdrop_assault_odds","q",40,::killstreakcratethink,&"MP_ORBITALSUPPORT_PICKUP","orbitalsupport","orbitalsupport_rockets","orbitalsupport_flares","orbitalsupport_time"); - addcratetype("airdrop_assault_odds","r",40,::killstreakcratethink,&"MP_AIRSTRIKE_PICKUP","strafing_run_airstrike","strafing_run_airstrike_two","strafing_run_airstrike_flares"); - addcratetype("airdrop_assault_odds","s",40,::killstreakcratethink,&"MP_AIRSTRIKE_PICKUP","strafing_run_airstrike","strafing_run_airstrike_stealth"); - addcratetype("airdrop_assault_odds","t",30,::killstreakcratethink,&"MP_EMP_PICKUP","emp","emp_assist","emp_flash"); - addcratetype("airdrop_assault_odds","u",30,::killstreakcratethink,&"MP_EMP_PICKUP","emp","emp_streak_kill","emp_equipment_kill","emp_time_1"); - addcratetype("airdrop_assault_odds","v",30,::killstreakcratethink,&"MP_HEAVY_EXO_PICKUP","heavy_exosuit","heavy_exosuit_radar","heavy_exosuit_punch"); - addcratetype("airdrop_assault_odds","w",30,::killstreakcratethink,&"MP_HEAVY_EXO_PICKUP","heavy_exosuit","heavy_exosuit_trophy","heavy_exosuit_rockets","heavy_exosuit_eject"); - addcratetype("airdrop_reinforcement_common","a",100,::reinforcementcratekillstreakthink,&"MP_SENTRY_PICKUP","remote_mg_sentry_turret","sentry_guardian"); - addcratetype("airdrop_reinforcement_common","b",100,::reinforcementcratekillstreakthink,&"MP_UAV_PICKUP","uav","uav_enemy_direction"); - addcratetype("airdrop_reinforcement_common","c",100,::reinforcementcratekillstreakthink,&"MP_RECON_UGV_PICKUP","recon_ugv","recon_ugv_assist_points"); - addcratetype("airdrop_reinforcement_uncommon","a",100,::reinforcementcratekillstreakthink,&"MP_EMP_PICKUP","emp"); - addcratetype("airdrop_reinforcement_uncommon","b",100,::reinforcementcratekillstreakthink,&"MP_GROUND_ASSAULT_DRONE_PICKUP","assault_ugv","assault_ugv_rockets"); - addcratetype("airdrop_reinforcement_uncommon","c",100,::reinforcementcratekillstreakthink,&"MP_SENTRY_PICKUP","remote_mg_sentry_turret","sentry_guardian","sentry_rippable","sentry_rocket_turret"); - addcratetype("airdrop_reinforcement_uncommon","d",100,::reinforcementcratekillstreakthink,&"MP_MISSILE_STRIKE_PICKUP","missile_strike","missile_strike_chem","missile_strike_extra_1"); - addcratetype("airdrop_reinforcement_uncommon","e",100,::reinforcementcratekillstreakthink,&"MP_UAV_PICKUP","uav","uav_scrambler","uav_increased_time"); - addcratetype("airdrop_reinforcement_uncommon","f",100,::reinforcementcratekillstreakthink,&"MP_RECON_UGV_PICKUP","recon_ugv","recon_ugv_paint_grenade","recon_ugv_assist_points"); - addcratetype("airdrop_reinforcement_uncommon","g",100,::reinforcementcratespecialtythink,&"PERKS_EXO_BATTERY","specialty_extended_battery"); - addcratetype("airdrop_reinforcement_uncommon","h",100,::reinforcementcratespecialtythink,&"PERKS_LOWPROFILE","specialty_class_lowprofile"); - addcratetype("airdrop_reinforcement_uncommon","j",100,::reinforcementcratespecialtythink,&"PERKS_FLAKJACKET","specialty_class_flakjacket"); - addcratetype("airdrop_reinforcement_uncommon","k",100,::reinforcementcratespecialtythink,&"PERKS_LIGHTWEIGHT","specialty_class_lightweight"); - addcratetype("airdrop_reinforcement_uncommon","l",100,::reinforcementcratespecialtythink,&"PERKS_BLINDEYE","specialty_class_blindeye"); - addcratetype("airdrop_reinforcement_uncommon","m",100,::reinforcementcratespecialtythink,&"PERKS_COLDBLOODED","specialty_class_coldblooded"); - addcratetype("airdrop_reinforcement_uncommon","n",100,::reinforcementcratespecialtythink,&"PERKS_PERIPHERALS","specialty_class_peripherals"); - addcratetype("airdrop_reinforcement_uncommon","o",100,::reinforcementcratespecialtythink,&"PERKS_FASTHANDS","specialty_class_fasthands"); - addcratetype("airdrop_reinforcement_uncommon","p",100,::reinforcementcratespecialtythink,&"PERKS_DEXTERITY","specialty_class_dexterity"); - addcratetype("airdrop_reinforcement_uncommon","r",100,::reinforcementcratespecialtythink,&"PERKS_EXO_BLASTSUPPRESSOR","specialty_exo_blastsuppressor"); - addcratetype("airdrop_reinforcement_uncommon","s",100,::reinforcementcratespecialtythink,&"PERKS_HARDWIRED","specialty_class_hardwired"); - addcratetype("airdrop_reinforcement_uncommon","t",100,::reinforcementcratespecialtythink,&"PERKS_TOUGHNESS","specialty_class_toughness"); - addcratetype("airdrop_reinforcement_uncommon","u",100,::reinforcementcratespecialtythink,&"PERKS_SCAVENGER","specialty_class_scavenger"); - addcratetype("airdrop_reinforcement_uncommon","v",100,::reinforcementcratespecialtythink,&"PERKS_HARDLINE","specialty_class_hardline"); - addcratetype("airdrop_reinforcement_rare","a",100,::reinforcementcratekillstreakthink,&"MP_HEAVY_EXO_PICKUP","heavy_exosuit","heavy_exosuit_radar"); - addcratetype("airdrop_reinforcement_rare","b",100,::reinforcementcratekillstreakthink,&"MP_ORBITALSUPPORT_PICKUP","orbitalsupport","orbitalsupport_turret"); - addcratetype("airdrop_reinforcement_rare","c",100,::reinforcementcratekillstreakthink,&"MP_AIRSTRIKE_PICKUP","strafing_run_airstrike","strafing_run_airstrike_flares"); - addcratetype("airdrop_reinforcement_rare","d",100,::reinforcementcratekillstreakthink,&"MP_WARBIRD_PICKUP","warbird","warbird_ai_attack","warbird_flares"); - addcratetype("airdrop_reinforcement_rare","e",100,::reinforcementcratekillstreakthink,&"MP_ORBITAL_STRIKE_LASER_PICKUP","orbital_strike_laser","orbital_strike_laser_width","orbital_strike_laser_duration"); - addcratetype("airdrop_reinforcement_rare","f",100,::reinforcementcratekillstreakthink,&"MP_UAV_PICKUP","uav","uav_scrambler","uav_increased_time","uav_paint_outline"); - addcratetype("airdrop_reinforcement_rare","g",100,::reinforcementcratekillstreakthink,&"MP_RECON_UGV_PICKUP","recon_ugv","recon_ugv_paint_grenade","recon_ugv_assist_points","recon_ugv_stun"); - addcratetype("airdrop_reinforcement_rare","h",100,::reinforcementcratespecialtythink,&"PERKS_EXO_BATTERY","specialty_extended_battery"); - addcratetype("airdrop_reinforcement_rare","i",100,::reinforcementcratespecialtythink,&"PERKS_LOWPROFILE","specialty_class_lowprofile"); - addcratetype("airdrop_reinforcement_rare","k",100,::reinforcementcratespecialtythink,&"PERKS_FLAKJACKET","specialty_class_flakjacket"); - addcratetype("airdrop_reinforcement_rare","l",100,::reinforcementcratespecialtythink,&"PERKS_LIGHTWEIGHT","specialty_class_lightweight"); - addcratetype("airdrop_reinforcement_rare","m",100,::reinforcementcratespecialtythink,&"PERKS_BLINDEYE","specialty_class_blindeye"); - addcratetype("airdrop_reinforcement_rare","n",100,::reinforcementcratespecialtythink,&"PERKS_COLDBLOODED","specialty_class_coldblooded"); - addcratetype("airdrop_reinforcement_rare","o",100,::reinforcementcratespecialtythink,&"PERKS_PERIPHERALS","specialty_class_peripherals"); - addcratetype("airdrop_reinforcement_rare","p",100,::reinforcementcratespecialtythink,&"PERKS_FASTHANDS","specialty_class_fasthands"); - addcratetype("airdrop_reinforcement_rare","q",100,::reinforcementcratespecialtythink,&"PERKS_DEXTERITY","specialty_class_dexterity"); - addcratetype("airdrop_reinforcement_rare","s",100,::reinforcementcratespecialtythink,&"PERKS_EXO_BLASTSUPPRESSOR","specialty_exo_blastsuppressor"); - addcratetype("airdrop_reinforcement_rare","t",100,::reinforcementcratespecialtythink,&"PERKS_HARDWIRED","specialty_class_hardwired"); - addcratetype("airdrop_reinforcement_rare","u",100,::reinforcementcratespecialtythink,&"PERKS_TOUGHNESS","specialty_class_toughness"); - addcratetype("airdrop_reinforcement_rare","v",100,::reinforcementcratespecialtythink,&"PERKS_SCAVENGER","specialty_class_scavenger"); - addcratetype("airdrop_reinforcement_rare","w",100,::reinforcementcratespecialtythink,&"PERKS_HARDLINE","specialty_class_hardline"); - addcratetype("airdrop_reinforcement_practice","a",168,::reinforcementcratekillstreakthink,&"MP_SENTRY_PICKUP","remote_mg_sentry_turret","sentry_guardian","sentry_rippable","sentry_rocket_turret"); - addcratetype("airdrop_reinforcement_practice","b",168,::reinforcementcratekillstreakthink,&"MP_MISSILE_STRIKE_PICKUP","missile_strike","missile_strike_extra_1"); - addcratetype("airdrop_reinforcement_practice","c",168,::reinforcementcratekillstreakthink,&"MP_RECON_UGV_PICKUP","recon_ugv","recon_ugv_paint_grenade","recon_ugv_assist_points"); - addcratetype("airdrop_reinforcement_practice","d",98,::reinforcementcratekillstreakthink,&"MP_ORBITAL_STRIKE_LASER_PICKUP","orbital_strike_laser","orbital_strike_laser_beam"); - addcratetype("airdrop_reinforcement_practice","e",98,::reinforcementcratekillstreakthink,&"MP_ORBITAL_STRIKE_LASER_PICKUP","orbital_strike_laser","orbital_strike_laser_width","orbital_strike_laser_duration"); - addcratetype("airdrop_reinforcement_practice","f",100,::reinforcementcratekillstreakthink,&"MP_UAV_PICKUP","uav","uav_enemy_direction","uav_orbit"); - addcratetype("airdrop_reinforcement_practice","g",100,::reinforcementcratekillstreakthink,&"MP_UAV_PICKUP","uav","uav_scrambler","uav_increased_time","uav_paint_outline"); - addcratetype("airdrop_reinforcement_practice","h",40,::reinforcementcratekillstreakthink,&"MP_WARBIRD_PICKUP","warbird","warbird_rockets","warbird_coop_offensive"); - addcratetype("airdrop_reinforcement_practice","i",40,::reinforcementcratekillstreakthink,&"MP_WARBIRD_PICKUP","warbird","warbird_ai_attack","warbird_flares","warbird_time"); - addcratetype("airdrop_reinforcement_practice","j",30,::reinforcementcratekillstreakthink,&"MP_GROUND_ASSAULT_DRONE_PICKUP","assault_ugv","assault_ugv_mg","assault_ugv_rockets"); - addcratetype("airdrop_reinforcement_practice","k",30,::reinforcementcratekillstreakthink,&"MP_GROUND_ASSAULT_DRONE_PICKUP","assault_ugv","assault_ugv_ai","assault_ugv_rockets"); - addcratetype("airdrop_reinforcement_practice","l",20,::reinforcementcratekillstreakthink,&"MP_ORBITALSUPPORT_PICKUP","orbitalsupport","orbitalsupport_turret","orbitalsupport_coop_offensive","orbitalsupport_ammo"); - addcratetype("airdrop_reinforcement_practice","m",20,::reinforcementcratekillstreakthink,&"MP_ORBITALSUPPORT_PICKUP","orbitalsupport","orbitalsupport_rockets","orbitalsupport_flares","orbitalsupport_time"); - addcratetype("airdrop_reinforcement_practice","n",20,::reinforcementcratekillstreakthink,&"MP_AIRSTRIKE_PICKUP","strafing_run_airstrike","strafing_run_airstrike_flares"); - addcratetype("airdrop_reinforcement_practice","o",20,::reinforcementcratekillstreakthink,&"MP_AIRSTRIKE_PICKUP","strafing_run_airstrike","strafing_run_airstrike_stealth"); - addcratetype("airdrop_reinforcement_practice","p",10,::reinforcementcratekillstreakthink,&"MP_EMP_PICKUP","emp","emp_assist","emp_flash"); - addcratetype("airdrop_reinforcement_practice","q",10,::reinforcementcratekillstreakthink,&"MP_EMP_PICKUP","emp","emp_streak_kill","emp_equipment_kill","emp_time_1"); - addcratetype("airdrop_reinforcement_practice","r",10,::reinforcementcratekillstreakthink,&"MP_HEAVY_EXO_PICKUP","heavy_exosuit","heavy_exosuit_radar","heavy_exosuit_punch"); - addcratetype("airdrop_reinforcement_practice","s",10,::reinforcementcratekillstreakthink,&"MP_HEAVY_EXO_PICKUP","heavy_exosuit","heavy_exosuit_trophy","heavy_exosuit_rockets","heavy_exosuit_eject"); -} - -//Function Number: 3 -generatemaxweightedcratevalue() -{ - foreach(var_06, var_01 in level.cratetypes) - { - level.cratemaxval[var_06] = 0; - foreach(var_03 in var_01) - { - var_04 = var_03.type; - if(!level.cratetypes[var_06][var_04].raw_weight) - { - level.cratetypes[var_06][var_04].weight = level.cratetypes[var_06][var_04].raw_weight; - continue; - } - - level.cratemaxval[var_06] = level.cratemaxval[var_06] + level.cratetypes[var_06][var_04].raw_weight; - level.cratetypes[var_06][var_04].weight = level.cratemaxval[var_06]; - } - } -} - -//Function Number: 4 -changecrateweight(param_00,param_01,param_02) -{ - if(!isdefined(level.cratetypes[param_00]) || !isdefined(level.cratetypes[param_00][param_01])) - { - return; - } - - level.cratetypes[param_00][param_01].raw_weight = param_02; - generatemaxweightedcratevalue(); -} - -//Function Number: 5 -setairdropcratecollision(param_00) -{ - var_01 = getentarray(param_00,"targetname"); - if(!isdefined(var_01) || var_01.size == 0) - { - return; - } - - level.airdropcratecollision = getent(var_01[0].target,"targetname"); - foreach(var_03 in var_01) - { - var_03 deletecrate(); - } -} - -//Function Number: 6 -addcratetype(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) -{ - if(!isdefined(param_01)) - { - return; - } - - level.cratetypes[param_00][param_01] = spawnstruct(); - level.cratetypes[param_00][param_01].droptype = param_00; - level.cratetypes[param_00][param_01].type = param_01; - level.cratetypes[param_00][param_01].raw_weight = param_02; - level.cratetypes[param_00][param_01].weight = param_02; - level.cratetypes[param_00][param_01].func = param_03; - level.cratetypes[param_00][param_01].streakref = param_05; - level.cratetypes[param_00][param_01].modules = []; - level.cratetypes[param_00][param_01].modules[level.cratetypes[param_00][param_01].modules.size] = param_06; - level.cratetypes[param_00][param_01].modules[level.cratetypes[param_00][param_01].modules.size] = param_07; - level.cratetypes[param_00][param_01].modules[level.cratetypes[param_00][param_01].modules.size] = param_08; - if(isdefined(param_04)) - { - game["strings"][param_00 + param_01 + "_hint"] = param_04; - } -} - -//Function Number: 7 -getstreakforcrate(param_00,param_01) -{ - if(isdefined(level.cratetypes[param_00]) && isdefined(level.cratetypes[param_00][param_01]) && isdefined(level.cratetypes[param_00][param_01].streakref)) - { - return level.cratetypes[param_00][param_01].streakref; - } - - return param_01; -} - -//Function Number: 8 -getmodulesforcrate(param_00,param_01) -{ - if(isdefined(level.customkillstreakcratemodules)) - { - return [[ level.customkillstreakcratemodules ]](param_00,param_01); - } - - return level.cratetypes[param_00][param_01].modules; -} - -//Function Number: 9 -getrandomcratetype(param_00,param_01) -{ - if(getdvar("g_gametype") != "horde") - { - var_07 = isdefined(level.mapkillstreak) && isdefined(level.cratetypes[param_00][level.mapkillstreak]); - var_08 = isdefined(level.mapkillstreakautodropindex) && level.numdropcrates >= level.mapkillstreakautodropindex; - if(var_07 && var_08) - { - level.mapkillstreakautodropindex = undefined; - return level.mapkillstreak; - } - } - - var_09 = randomint(level.cratemaxval[param_00]); - var_0A = undefined; - var_0B = level.cratetypes[param_00]; - if(isdefined(param_01)) - { - var_0C = level.cratetypes[param_00]; - foreach(var_0E in var_0C) - { - if(cratetypeisexcluded(var_0E.type,param_01)) - { - var_0C = special_array_remove(var_0C,var_0E); - } - } - - var_0B = var_0C; - } - - foreach(var_04 in var_0B) - { - var_05 = var_04.type; - if(!level.cratetypes[param_00][var_05].weight) - { - continue; - } - - var_0A = var_05; - if(level.cratetypes[param_00][var_05].weight > var_09) - { - break; - } - } - - return var_0A; -} - -//Function Number: 10 -cratetypeisexcluded(param_00,param_01) -{ - foreach(var_03 in param_01) - { - if(var_03 == param_00) - { - return 1; - } - } - - return 0; -} - -//Function Number: 11 -special_array_remove(param_00,param_01) -{ - var_02 = []; - foreach(var_04 in param_00) - { - if(var_04 != param_01) - { - var_02[var_04.type] = var_04; - } - } - - return var_02; -} - -//Function Number: 12 -getcratetypefordroptype(param_00,param_01) -{ - switch(param_00) - { - case "airdrop_assault_odds": - case "airdrop_assault": - default: - break; - } -} - -//Function Number: 13 -deleteonownerdeath(param_00) -{ - self linkto(param_00,"tag_origin",(0,0,0),(0,0,0)); - param_00 waittill("death"); - self delete(); -} - -//Function Number: 14 -crateteammodelupdater() -{ - self endon("death"); - self hide(); - foreach(var_01 in level.players) - { - if(var_01.team != "spectator") - { - self showtoplayer(var_01); - } - } - - for(;;) - { - level waittill("joined_team"); - self hide(); - foreach(var_01 in level.players) - { - if(var_01.team != "spectator") - { - self showtoplayer(var_01); - } - } - } -} - -//Function Number: 15 -cratemodelteamupdater(param_00,param_01) -{ - self endon("death"); - self hide(); - foreach(var_03 in level.players) - { - if(var_03.team == param_00 || param_01 && var_03.team == "spectator") - { - self showtoplayer(var_03); - } - } - - for(;;) - { - level common_scripts\utility::waittill_any("joined_team","joined_spectators"); - self hide(); - foreach(var_03 in level.players) - { - if(var_03.team == param_00 || param_01 && var_03.team == "spectator") - { - self showtoplayer(var_03); - } - } - } -} - -//Function Number: 16 -cratemodelplayerupdater(param_00,param_01) -{ - self endon("death"); - self hide(); - foreach(var_03 in level.players) - { - if(param_01 && isdefined(param_00) && var_03 != param_00) - { - continue; - } - - if(!param_01 && isdefined(param_00) && var_03 == param_00) - { - continue; - } - - self showtoplayer(var_03); - } - - for(;;) - { - level waittill("joined_team"); - self hide(); - foreach(var_03 in level.players) - { - if(param_01 && isdefined(param_00) && var_03 != param_00) - { - continue; - } - - if(!param_01 && isdefined(param_00) && var_03 == param_00) - { - continue; - } - - self showtoplayer(var_03); - } - } -} - -//Function Number: 17 -crateuseteamupdater(param_00) -{ - self endon("death"); - for(;;) - { - setusablebyteam(param_00); - level waittill("joined_team"); - } -} - -//Function Number: 18 -crateusejuggernautupdater() -{ - var_00 = getstreakforcrate(self.droptype,self.cratetype); - if(!issubstr(var_00,"juggernaut")) - { - return; - } - - self endon("death"); - level endon("game_ended"); - for(;;) - { - level waittill("juggernaut_equipped",var_01); - self disableplayeruse(var_01); - thread crateusepostjuggernautupdater(var_01); - } -} - -//Function Number: 19 -crateusepostjuggernautupdater(param_00) -{ - self endon("death"); - level endon("game_ended"); - param_00 endon("disconnect"); - param_00 waittill("death"); - self enableplayeruse(param_00); -} - -//Function Number: 20 -createairdropcrate(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - if(!isdefined(param_04)) - { - param_04 = (0,0,0); - } - - if(!isdefined(param_05)) - { - param_05 = 0; - } - - if(!isdefined(param_06)) - { - param_06 = 1; - } - - var_07 = spawn("script_model",param_03); - var_07.angles = param_04; - var_07.curprogress = 0; - var_07.usetime = 0; - var_07.userate = 0; - var_07.team = self.team; - if(isdefined(param_00)) - { - var_07.owner = param_00; - } - else - { - var_07.owner = undefined; - } - - var_07.cratetype = param_02; - var_07.droptype = param_01; - var_07.targetname = "care_package"; - var_07.istrap = param_05; - if(var_07.team == "any") - { - var_07 setmodel("orbital_carepackage_pod_01_ai"); - var_07.friendlymodel = spawn("script_model",var_07.origin); - var_07.friendlymodel setmodel("tag_origin"); - var_07.friendlymodel thread deleteonownerdeath(var_07); - } - else if(isdefined(level.iszombiegame) && level.iszombiegame) - { - var_07 setmodel("orbital_carepackage_pod_01_logo_atlas"); - var_07.friendlymodel = spawn("script_model",var_07.origin); - var_07.friendlymodel setmodel("orbital_carepackage_pod_01_ai"); - var_07.friendlymodel.parentcrate = var_07; - var_07.friendlymodel notsolid(); - var_07.friendlymodel thread deleteonownerdeath(var_07); - } - else - { - var_07 setmodel(maps\mp\gametypes\_teams::getteamcratemodel(var_07.team)); - var_07 thread crateteammodelupdater(); - var_08 = "orbital_carepackage_pod_01_ai"; - var_09 = "orbital_carepackage_pod_01_clr_01_ai"; - if(param_02 == "booby_trap") - { - var_08 = "orbital_carepackage_pod_01_logo_trap_ai"; - var_07 thread trap_createbombsquadmodel(); - } - else if(param_05) - { - var_07 thread trap_createbombsquadmodel(); - } - - var_07.friendlymodel = spawn("script_model",param_03); - var_07.friendlymodel setmodel(var_08); - var_07.friendlymodel.parentcrate = var_07; - var_07.friendlymodel notsolid(); - var_07.enemymodel = spawn("script_model",param_03); - var_07.enemymodel setmodel(var_09); - var_07.enemymodel.parentcrate = var_07; - var_07.enemymodel notsolid(); - var_07.friendlymodel thread deleteonownerdeath(var_07); - if(level.teambased) - { - var_07.friendlymodel thread cratemodelteamupdater(var_07.team,1); - } - else - { - var_07.friendlymodel thread cratemodelplayerupdater(param_00,1); - } - - var_07.enemymodel thread deleteonownerdeath(var_07); - if(level.teambased) - { - var_07.enemymodel thread cratemodelteamupdater(level.otherteam[var_07.team],0); - } - else - { - var_07.enemymodel thread cratemodelplayerupdater(param_00,0); - } - } - - var_07.inuse = 0; - if(param_06) - { - var_07 clonebrushmodeltoscriptmodel(level.airdropcratecollision); - } - - var_07.killcament = spawn("script_model",var_07.origin + (0,0,-200)); - var_07.killcament setscriptmoverkillcam("explosive"); - var_07.killcament setcontents(0); - var_07.killcament linkto(var_07); - level.numdropcrates++; - return var_07; -} - -//Function Number: 21 -trap_createbombsquadmodel() -{ - var_00 = spawn("script_model",self.origin); - var_00.angles = self.angles; - var_00 hide(); - var_00 thread maps\mp\gametypes\_weapons::bombsquadvisibilityupdater(self.owner); - var_00 setmodel("orbital_carepackage_pod_01_ai_bombsquad"); - var_00 linkto(self); - var_00 setcontents(0); - self waittill("death"); - var_00 delete(); -} - -//Function Number: 22 -cratesetuphintstrings(param_00,param_01) -{ - if(isdefined(param_01) && isdefined(self.owner)) - { - self.ownerstringent = spawn("script_model",self.origin + (0,0,60)); - self.ownerstringent setcursorhint("HINT_NOICON"); - self.ownerstringent sethintstring(param_00); - self.ownerstringent setsecondaryhintstring(param_01); - self.otherstringent = spawn("script_model",self.origin + (0,0,60)); - self.otherstringent setcursorhint("HINT_NOICON"); - self.otherstringent sethintstring(param_00); - return; - } - - self setcursorhint("HINT_NOICON"); - self sethintstring(param_00); -} - -//Function Number: 23 -onplayerconnecthintstring(param_00,param_01) -{ - param_00 endon("death"); - param_01 endon("death"); - for(;;) - { - level waittill("connected",var_02); - var_02 thread onplayerspawnedhintstring(param_00,param_01); - } -} - -//Function Number: 24 -onplayerspawnedhintstring(param_00,param_01) -{ - param_00 endon("death"); - param_01 endon("death"); - self waittill("spawned"); - param_00 enableplayeruse(self); - param_01 disableplayeruse(self); -} - -//Function Number: 25 -cratesetupforuse(param_00,param_01) -{ - if(isdefined(level.ishorde) && level.ishorde) - { - self waittill("drop_pod_cleared"); - } - - if(isdefined(self.ownerstringent)) - { - self.ownerstringent makeusable(); - self.otherstringent makeusable(); - foreach(var_03 in level.players) - { - if(var_03 != self.owner) - { - self.ownerstringent disableplayeruse(var_03); - self.otherstringent enableplayeruse(var_03); - continue; - } - - self.otherstringent disableplayeruse(var_03); - self.ownerstringent enableplayeruse(var_03); - } - - thread onplayerconnecthintstring(self.otherstringent,self.ownerstringent); - } - else - { - self makeusable(); - } - - self.mode = param_00; - if(self.team == "any") - { - var_05 = maps\mp\gametypes\_gameobjects::getnextobjid(); - objective_add(var_05,"invisible",(0,0,0)); - objective_position(var_05,self.origin); - objective_state(var_05,"active"); - var_06 = "compass_objpoint_ammo_friendly"; - objective_icon(var_05,var_06); - objective_team(var_05,"none"); - self.objidfriendly = var_05; - } - else - { - if(level.teambased || isdefined(self.owner)) - { - var_05 = maps\mp\gametypes\_gameobjects::getnextobjid(); - objective_add(var_05,"invisible",(0,0,0)); - objective_position(var_05,self.origin); - objective_state(var_05,"active"); - var_06 = "compass_objpoint_ammo_friendly"; - if(param_00 == "trap") - { - var_06 = "compass_objpoint_trap_friendly"; - } - - objective_icon(var_05,var_06); - if(!level.teambased && isdefined(self.owner)) - { - objective_playerteam(var_05,self.owner getentitynumber()); - } - else - { - objective_team(var_05,self.team); - } - - self.objidfriendly = var_05; - } - - if(!isdefined(level.ishorde) && level.ishorde) - { - if(!isdefined(self.owner) || !isdefined(self.modulehide) && self.modulehide) - { - var_05 = maps\mp\gametypes\_gameobjects::getnextobjid(); - objective_add(var_05,"invisible",(0,0,0)); - objective_position(var_05,self.origin); - objective_state(var_05,"active"); - objective_icon(var_05,"compass_objpoint_ammo_enemy"); - if(!level.teambased && isdefined(self.owner)) - { - objective_playerenemyteam(var_05,self.owner getentitynumber()); - } - else - { - objective_team(var_05,level.otherteam[self.team]); - } - - self.objidenemy = var_05; - } - } - } - - if(self.team == "any") - { - foreach(var_08 in level.teamnamelist) - { - if(isdefined(param_01) && isarray(param_01)) - { - setheadicon_multiple(var_08,param_01); - continue; - } - - maps\mp\_entityheadicons::setheadicon(var_08,param_01,(0,0,60),14,14,undefined,undefined,undefined,undefined,undefined,0); - } - } - else if(param_00 == "trap") - { - thread crateuseteamupdater(maps\mp\_utility::getotherteam(self.team)); - } - else - { - thread crateuseteamupdater(); - var_0A = getstreakforcrate(self.droptype,self.cratetype); - if(issubstr(var_0A,"juggernaut")) - { - foreach(var_03 in level.players) - { - if(var_03 maps\mp\_utility::isjuggernaut()) - { - thread crateusepostjuggernautupdater(var_03); - } - } - } - - if(level.teambased) - { - if(isdefined(param_01) && isarray(param_01)) - { - setheadicon_multiple(self.team,param_01); - } - else - { - maps\mp\_entityheadicons::setheadicon(self.team,param_01,(0,0,60),14,14,undefined,undefined,undefined,undefined,undefined,0); - } - } - else if(isdefined(self.owner)) - { - if(isdefined(param_01) && isarray(param_01)) - { - setheadicon_multiple(self.owner,param_01); - } - else - { - maps\mp\_entityheadicons::setheadicon(self.owner,param_01,(0,0,60),14,14,undefined,undefined,undefined,undefined,undefined,0); - } - } - } - - thread crateusejuggernautupdater(); -} - -//Function Number: 26 -setheadicon_multiple(param_00,param_01) -{ - var_02 = 10; - var_03 = 0; - self.iconents = []; - foreach(var_05 in param_01) - { - self.iconents[var_05] = common_scripts\utility::spawn_tag_origin(); - self.iconents[var_05] maps\mp\_entityheadicons::setheadicon(param_00,var_05,(0,0,55 + var_03 * var_02),14,14,undefined,undefined,undefined,undefined,undefined,0); - var_03++; - } -} - -//Function Number: 27 -setusablebyteam(param_00) -{ - var_01 = getstreakforcrate(self.droptype,self.cratetype); - foreach(var_03 in level.players) - { - if(issubstr(var_01,"juggernaut") && var_03 maps\mp\_utility::isjuggernaut()) - { - self disableplayeruse(var_03); - continue; - } - - if(!level.teambased && self.mode == "trap") - { - if(isdefined(self.owner) && var_03 == self.owner) - { - self disableplayeruse(var_03); - } - else - { - self enableplayeruse(var_03); - } - - continue; - } - - if(!isdefined(param_00) || param_00 == var_03.team) - { - self enableplayeruse(var_03); - continue; - } - - self disableplayeruse(var_03); - } -} - -//Function Number: 28 -physicswaiter(param_00,param_01) -{ - self waittill("physics_finished"); - self.droppingtoground = 0; - self thread [[ level.cratetypes[param_00][param_01].func ]](param_00); - level thread droptimeout(self,self.owner,param_01); - var_02 = getentarray("trigger_hurt","classname"); - foreach(var_04 in var_02) - { - if(self.friendlymodel istouching(var_04)) - { - deletecrate(); - return; - } - } - - if(isdefined(self.owner) && abs(self.origin[2] - self.owner.origin[2]) > 4000) - { - deletecrate(); - return; - } - - if(isdefined(level.iszombiegame) && level.iszombiegame) - { - self disconnectpaths(); - } - else if(isdefined(level.ishorde) && level.ishorde) - { - self disconnectpaths(); - } - - var_06 = spawnstruct(); - var_06.deathoverridecallback = ::movingplatformdeathfunc; - var_06.touchingplatformvalid = ::movingplatformtouchvalid; - thread maps\mp\_movers::handle_moving_platforms(var_06); -} - -//Function Number: 29 -movingplatformdeathfunc(param_00) -{ - deletecrate(1,1); -} - -//Function Number: 30 -movingplatformtouchvalid(param_00) -{ - return carepackageandcarepackagevalid(param_00) && carepackageandgoliathvalid(param_00) && carepackageandplatformvalid(param_00); -} - -//Function Number: 31 -carepackageandgoliathvalid(param_00) -{ - return !isdefined(self.targetname) || !isdefined(param_00.cratetype) || self.targetname != "care_package" || param_00.cratetype != "juggernaut"; -} - -//Function Number: 32 -carepackageandcarepackagevalid(param_00) -{ - return !isdefined(self.targetname) || !isdefined(param_00.targetname) || self.targetname != "care_package" || param_00.targetname != "care_package"; -} - -//Function Number: 33 -carepackageandplatformvalid(param_00) -{ - return !isdefined(self.targetname) || !isdefined(param_00.carepackagetouchvalid) || self.targetname != "care_package" || !param_00.carepackagetouchvalid; -} - -//Function Number: 34 -droptimeout(param_00,param_01,param_02) -{ - if(isdefined(level.nocratetimeout) && level.nocratetimeout) - { - return; - } - - level endon("game_ended"); - param_00 endon("death"); - if(param_00.droptype == "nuke_drop") - { - return; - } - - var_03 = 90; - if(param_02 == "supply") - { - var_03 = 20; - } - - maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(var_03); - while(param_00.curprogress != 0) - { - wait(1); - } - - param_00 deletecrate(1,1); -} - -//Function Number: 35 -crateothercapturethink(param_00) -{ - self endon("captured"); - var_01 = self; - if(isdefined(self.otherstringent)) - { - var_01 = self.otherstringent; - } - - while(isdefined(self)) - { - var_01 waittill("trigger",var_02); - if(isdefined(self.owner) && var_02 == self.owner) - { - continue; - } - - if(var_02 isjumping() || isdefined(var_02.exo_hover_on) && var_02.exo_hover_on) - { - continue; - } - - if(!var_02 isonground() && !waitplayerstuckoncarepackagereturn(var_02)) - { - continue; - } - - if(!validateopenconditions(var_02)) - { - continue; - } - - var_02.iscapturingcrate = 1; - var_03 = createuseent(); - var_04 = 0; - if(self.cratetype == "booby_trap") - { - var_04 = var_03 useholdthink(var_02,500,param_00); - } - else - { - var_04 = var_03 useholdthink(var_02,undefined,param_00); - } - - if(isdefined(var_03)) - { - var_03 delete(); - } - - if(!var_04) - { - if(isdefined(var_02)) - { - var_02.iscapturingcrate = 0; - } - - continue; - } - - var_02.iscapturingcrate = 0; - if(isdefined(level.ishorde) && level.ishorde) - { - if(self.cratetype == "juggernaut" && !isdefined(var_02.laststand) && var_02.laststand) - { - var_02 setdemigod(1); - } - - if(isdefined(var_02.laststand) && var_02.laststand) - { - continue; - } - } - - self notify("captured",var_02); - } -} - -//Function Number: 36 -crateownercapturethink(param_00) -{ - self endon("captured"); - if(!isdefined(self.owner)) - { - return; - } - - self.owner endon("disconnect"); - var_01 = self; - if(isdefined(self.ownerstringent)) - { - var_01 = self.ownerstringent; - } - - var_02 = 500; - if(isdefined(self.modulepickup) && self.modulepickup) - { - var_02 = 100; - } - - while(isdefined(self)) - { - var_01 waittill("trigger",var_03); - if(isdefined(self.owner) && var_03 != self.owner) - { - continue; - } - - if(var_03 isjumping() || isdefined(var_03.exo_hover_on) && var_03.exo_hover_on) - { - continue; - } - - if(!var_03 isonground() && !waitplayerstuckoncarepackagereturn(var_03)) - { - continue; - } - - if(!validateopenconditions(var_03)) - { - continue; - } - - var_03.iscapturingcrate = 1; - if(!useholdthink(var_03,var_02,param_00)) - { - var_03.iscapturingcrate = 0; - continue; - } - - var_03.iscapturingcrate = 0; - if(isdefined(level.ishorde) && level.ishorde) - { - if(self.cratetype == "juggernaut" && !isdefined(var_03.laststand) && var_03.laststand) - { - var_03 setdemigod(1); - } - - if(isdefined(var_03.laststand) && var_03.laststand) - { - continue; - } - } - - self notify("captured",var_03); - } -} - -//Function Number: 37 -waitplayerstuckoncarepackagereturn(param_00) -{ - if(param_00 isonground()) - { - return 0; - } - - var_01 = 200; - var_02 = param_00.origin; - var_03 = gettime(); - while(isdefined(param_00) && maps\mp\_utility::isreallyalive(param_00) && !param_00 isonground() && var_02 == param_00.origin && param_00 usebuttonpressed()) - { - var_04 = gettime() - var_03; - if(var_04 >= var_01) - { - return 1; - } - - wait 0.05; - } - - return 0; -} - -//Function Number: 38 -validateopenconditions(param_00) -{ - var_01 = param_00 getcurrentprimaryweapon(); - if(issubstr(var_01,"turrethead")) - { - return 1; - } - - if(!param_00 maps\mp\killstreaks\_killstreaks::canshufflewithkillstreakweapon()) - { - return 0; - } - - if(isdefined(param_00.changingweapon) && !param_00 maps\mp\killstreaks\_killstreaks::canshufflewithkillstreakweapon()) - { - return 0; - } - - return 1; -} - -//Function Number: 39 -killstreakcratethink(param_00) -{ - self endon("death"); - var_01 = getstreakforcrate(param_00,self.cratetype); - var_02 = getmodulesforcrate(param_00,self.cratetype); - var_03 = isdefined(self.owner) && self.owner maps\mp\_utility::_hasperk("specialty_highroller") || isdefined(self.moduleroll) && self.moduleroll; - var_04 = undefined; - if(var_03) - { - var_04 = &"MP_PACKAGE_REROLL"; - } - - var_05 = undefined; - if(isdefined(game["strings"][param_00 + self.cratetype + "_hint"])) - { - var_05 = game["strings"][param_00 + self.cratetype + "_hint"]; - } - else - { - var_05 = &"PLATFORM_GET_KILLSTREAK"; - } - - cratesetuphintstrings(var_05,var_04); - cratesetupforuse("all",maps\mp\killstreaks\_killstreaks::getkillstreakcrateicon(var_01,var_02)); - if(isdefined(self.owner)) - { - thread crateothercapturethink(); - } - - thread crateownercapturethink(); - if(var_03) - { - thread crateownerdoubletapthink(); - } - - if(self.istrap) - { - cratetrapsetupkillcam(); - } - - for(;;) - { - self waittill("captured",var_06); - var_01 = getstreakforcrate(param_00,self.cratetype); - var_02 = getmodulesforcrate(param_00,self.cratetype); - if(isdefined(self.owner) && var_06 != self.owner) - { - if(!level.teambased || var_06.team != self.team) - { - if(self.istrap) - { - var_06 thread detonatetrap(self,self.owner); - return; - } - else - { - var_06 thread maps\mp\_events::hijackerevent(self.owner); - } - } - else - { - self.owner thread maps\mp\_events::sharedevent(); - } - } - - var_06 playlocalsound("orbital_pkg_use"); - var_07 = var_06 maps\mp\killstreaks\_killstreaks::getnextkillstreakslotindex(var_01,0); - var_06 thread maps\mp\gametypes\_hud_message::killstreaksplashnotify(var_01,undefined,undefined,var_02,var_07); - var_06 thread maps\mp\killstreaks\_killstreaks::givekillstreak(var_01,0,0,self.owner,var_02); - if(isdefined(level.mapkillstreak) && level.mapkillstreak == self.cratetype) - { - var_06 thread maps\mp\_events::mapkillstreakevent(); - } - - var_08 = 1; - var_09 = var_06 maps\mp\_utility::_hasperk("specialty_highroller") && !level.teambased || var_06.team != self.team; - var_0A = isdefined(self.moduletrap) && self.moduletrap; - var_0B = var_0A && self.owner == var_06 || level.teambased && var_06.team == self.team; - if(var_09 || var_0B) - { - var_0C = var_06 createairdropcrate(var_06,"booby_trap","booby_trap",self.origin,self.angles); - if(isdefined(var_0C.enemymodel)) - { - var_0C.enemymodel thread maps\mp\killstreaks\_orbital_carepackage::orbitalanimate(1); - } - - var_0C thread boobytrapcratethink(self); - level thread droptimeout(var_0C,var_0C.owner,var_0C.cratetype); - var_08 = 0; - if(isdefined(var_0C.friendlymodel)) - { - var_0C.friendlymodel solid(); - } - - if(isdefined(var_0C.enemymodel)) - { - var_0C.enemymodel solid(); - } - } - - deletecrate(var_08); - } -} - -//Function Number: 40 -detonatetrap(param_00,param_01) -{ - param_00 endon("death"); - var_02 = param_00.origin + (0,0,50); - if(level.teambased) - { - param_00 maps\mp\_entityheadicons::setheadicon(self.team,"specialty_trap_crate",(0,0,60),14,14,undefined,undefined,undefined,undefined,undefined,0); - } - else - { - param_00 maps\mp\_entityheadicons::setheadicon(self,"specialty_trap_crate",(0,0,60),14,14,undefined,undefined,undefined,undefined,undefined,0); - } - - thread common_scripts\utility::play_sound_in_space("orbital_pkg_trap_armed",var_02); - wait(1); - var_03 = var_02 + (0,0,1) - var_02; - playfx(common_scripts\utility::getfx("airdrop_crate_trap_explode"),var_02,var_03); - thread common_scripts\utility::play_sound_in_space("orbital_pkg_trap_detonate",var_02); - if(isdefined(param_00.friendlymodel)) - { - param_00.friendlymodel notsolid(); - } - - if(isdefined(param_00.enemymodel)) - { - param_00.enemymodel notsolid(); - } - - if(isdefined(param_01)) - { - param_00.trapkillcament radiusdamage(var_02,400,300,50,param_01,"MOD_EXPLOSIVE","airdrop_trap_explosive_mp"); - } - else - { - param_00.trapkillcament radiusdamage(var_02,400,300,50,undefined,"MOD_EXPLOSIVE","airdrop_trap_explosive_mp"); - } - - param_00 deletecrate(); -} - -//Function Number: 41 -deletecrate(param_00,param_01) -{ - if(!isdefined(param_00)) - { - param_00 = 1; - } - - if(!isdefined(param_01)) - { - param_01 = 0; - } - - if(isdefined(self.objidfriendly)) - { - maps\mp\_utility::_objective_delete(self.objidfriendly); - } - - if(isdefined(self.objidenemy)) - { - maps\mp\_utility::_objective_delete(self.objidenemy); - } - - if(isdefined(self.trapkillcament)) - { - self.trapkillcament delete(); - } - - if(isdefined(self.killcament)) - { - self.killcament delete(); - } - - if(isdefined(self.ownerstringent)) - { - self.ownerstringent delete(); - } - - if(isdefined(self.otherstringent)) - { - self.otherstringent delete(); - } - - if(isdefined(self.droptype)) - { - if(param_00) - { - playfx(common_scripts\utility::getfx("ocp_death"),self.origin); - } - - if(param_01) - { - playsoundatpos(self.origin,"orbital_pkg_self_destruct"); - } - } - - if(isdefined(self.iconents)) - { - foreach(var_03 in self.iconents) - { - var_03 delete(); - } - } - - self delete(); -} - -//Function Number: 42 -useholdthink(param_00,param_01,param_02) -{ - if(isplayer(param_00)) - { - param_00 playerlinkto(self); - } - else - { - param_00 linkto(self); - } - - param_00 playerlinkedoffsetenable(); - if(!param_00 maps\mp\_utility::isjuggernaut()) - { - param_00 common_scripts\utility::_disableweapon(); - } - - thread useholdthinkplayerreset(param_00); - self.curprogress = 0; - self.inuse = 1; - self.userate = 0; - if(isdefined(param_01)) - { - if(param_00 maps\mp\_utility::_hasperk("specialty_unwrapper") && isdefined(param_00.specialty_unwrapper_care_bonus)) - { - param_01 = param_01 * param_00.specialty_unwrapper_care_bonus; - } - - if(isdefined(level.podcapturetimemodifier)) - { - param_01 = param_01 * level.podcapturetimemodifier; - } - - self.usetime = param_01; - } - else if(param_00 maps\mp\_utility::_hasperk("specialty_unwrapper") && isdefined(param_00.specialty_unwrapper_care_bonus)) - { - self.usetime = 3000 * param_00.specialty_unwrapper_care_bonus; - } - else - { - self.usetime = 3000; - } - - if(isplayer(param_00)) - { - param_00 thread personalusebar(self,param_02); - } - - var_03 = useholdthinkloop(param_00); - if(!isdefined(var_03)) - { - var_03 = 0; - } - - if(!isdefined(self)) - { - return 0; - } - - self notify("useHoldThinkLoopDone"); - self.inuse = 0; - self.curprogress = 0; - return var_03; -} - -//Function Number: 43 -useholdthinkplayerreset(param_00) -{ - param_00 endon("death"); - common_scripts\utility::waittill_any("death","captured","useHoldThinkLoopDone"); - if(isalive(param_00)) - { - if(!param_00 maps\mp\_utility::isjuggernaut()) - { - param_00 common_scripts\utility::_enableweapon(); - } - - if(param_00 islinked()) - { - param_00 unlink(); - } - } -} - -//Function Number: 44 -personalusebar(param_00,param_01) -{ - self endon("disconnect"); - if(isdefined(param_01)) - { - iprintlnbold("Fixme @agersant " + param_01); - } - - self setclientomnvar("ui_use_bar_text",1); - self setclientomnvar("ui_use_bar_start_time",int(gettime())); - var_02 = -1; - while(maps\mp\_utility::isreallyalive(self) && isdefined(param_00) && param_00.inuse && !level.gameended) - { - if(var_02 != param_00.userate) - { - if(param_00.curprogress > param_00.usetime) - { - param_00.curprogress = param_00.usetime; - } - - if(param_00.userate > 0) - { - var_03 = gettime(); - var_04 = param_00.curprogress / param_00.usetime; - var_05 = var_03 + 1 - var_04 * param_00.usetime / param_00.userate; - self setclientomnvar("ui_use_bar_end_time",int(var_05)); - } - - var_02 = param_00.userate; - } - - wait(0.05); - } - - self setclientomnvar("ui_use_bar_end_time",0); -} - -//Function Number: 45 -ishordelaststand(param_00) -{ - return isdefined(level.ishorde) && level.ishorde && isdefined(param_00.laststand) && param_00.laststand; -} - -//Function Number: 46 -useholdthinkloop(param_00) -{ - param_00 endon("stop_useHoldThinkLoop"); - while(!level.gameended && isdefined(self) && maps\mp\_utility::isreallyalive(param_00) && !ishordelaststand(param_00) && param_00 usebuttonpressed() && self.curprogress < self.usetime) - { - self.curprogress = self.curprogress + 50 * self.userate; - if(isdefined(self.objectivescaler)) - { - self.userate = 1 * self.objectivescaler; - } - else - { - self.userate = 1; - } - - if(self.curprogress >= self.usetime) - { - return maps\mp\_utility::isreallyalive(param_00); - } - - wait(0.05); - } - - return 0; -} - -//Function Number: 47 -isairdropmarker(param_00) -{ - switch(param_00) - { - case "airdrop_mp": - case "airdrop_marker_mp": - break; - - default: - break; - } -} - -//Function Number: 48 -createuseent() -{ - var_00 = spawn("script_origin",self.origin); - var_00.curprogress = 0; - var_00.usetime = 0; - var_00.userate = 3000; - var_00.inuse = 0; - var_00 thread deleteuseent(self); - return var_00; -} - -//Function Number: 49 -deleteuseent(param_00) -{ - self endon("death"); - param_00 waittill("death"); - self delete(); -} - -//Function Number: 50 -crateownerdoubletapthink() -{ - self.packageholdtimer = 0; - self.packagesingletapped = 0; - while(!level.gameended && isdefined(self)) - { - if(maps\mp\_utility::isreallyalive(self.owner) && distancesquared(self.origin,self.owner.origin) < 10000) - { - if(self.owner usebuttonpressed()) - { - self.packageholdtimer++; - continue; - } - - if(self.packageholdtimer > 0) - { - if(self.packageholdtimer < 5) - { - if(self.packagesingletapped == 1) - { - self notify("package_double_tap"); - var_00 = self.cratetype; - var_01 = 0; - while(self.cratetype == var_00 && var_01 < 100) - { - var_01++; - self.cratetype = getrandomcratetype(self.droptype); - } - - var_02 = getstreakforcrate(self.droptype,self.cratetype); - var_03 = getmodulesforcrate(self.droptype,self.cratetype); - var_04 = game["strings"][self.droptype + self.cratetype + "_hint"]; - if(!isdefined(var_04)) - { - var_04 = &"PLATFORM_GET_KILLSTREAK"; - } - - if(isdefined(self.ownerstringent)) - { - self.ownerstringent sethintstring(var_04); - self.otherstringent sethintstring(var_04); - self.ownerstringent setsecondaryhintstring(""); - } - else - { - self sethintstring(var_04); - self setsecondaryhintstring(""); - } - - if(level.teambased) - { - maps\mp\_entityheadicons::setheadicon(self.team,maps\mp\killstreaks\_killstreaks::getkillstreakcrateicon(var_02,var_03),(0,0,60),14,14,undefined,undefined,undefined,undefined,undefined,0); - } - else if(isdefined(self.owner)) - { - maps\mp\_entityheadicons::setheadicon(self.owner,maps\mp\killstreaks\_killstreaks::getkillstreakcrateicon(var_02,var_03),(0,0,60),14,14,undefined,undefined,undefined,undefined,undefined,0); - } - - self.owner playlocalsound("orbital_pkg_reroll"); - return 1; - } - else - { - self.packagesingletapped = 1; - thread tappackagethink(); - } - } - - self.packageholdtimer = 0; - } - } - - wait(0.05); - } -} - -//Function Number: 51 -tappackagethink() -{ - level endon("game_ended"); - self endon("death"); - self endon("package_double_tap"); - wait(0.2); - self.packagesingletapped = 0; -} - -//Function Number: 52 -boobytrapcratethink(param_00) -{ - self endon("death"); - var_01 = getstreakforcrate(param_00.droptype,param_00.cratetype); - var_02 = getmodulesforcrate(param_00.droptype,param_00.cratetype); - var_03 = maps\mp\killstreaks\_killstreaks::getkillstreakcrateicon(var_01,var_02); - var_04 = undefined; - if(isdefined(game["strings"][param_00.droptype + param_00.cratetype + "_hint"])) - { - var_04 = game["strings"][param_00.droptype + param_00.cratetype + "_hint"]; - } - else - { - var_04 = &"PLATFORM_GET_KILLSTREAK"; - } - - cratesetuphintstrings(var_04); - cratesetupforuse("trap",var_03); - cratetrapsetupkillcam(); - thread crateothercapturethink(param_00); - for(;;) - { - self waittill("captured",var_05); - var_05 thread detonatetrap(self,self.owner); - } -} - -//Function Number: 53 -cratetrapsetupkillcam(param_00) -{ - var_01 = bullettrace(self.origin,self.origin + (0,0,90),0,self); - self.trapkillcament = spawn("script_model",var_01["position"]); - self.trapkillcament setcontents(0); - self.trapkillcament setscriptmoverkillcam("large explosive"); -} - -//Function Number: 54 -tryusereinforcementcommon(param_00,param_01,param_02) -{ - return maps\mp\killstreaks\_orbital_carepackage::tryuseorbitalcarepackage(param_00,"airdrop_reinforcement_common",param_02); -} - -//Function Number: 55 -tryusereinforcementuncommon(param_00,param_01,param_02) -{ - return maps\mp\killstreaks\_orbital_carepackage::tryuseorbitalcarepackage(param_00,"airdrop_reinforcement_uncommon",param_02); -} - -//Function Number: 56 -tryusereinforcementrare(param_00,param_01,param_02) -{ - return maps\mp\killstreaks\_orbital_carepackage::tryuseorbitalcarepackage(param_00,"airdrop_reinforcement_rare",param_02); -} - -//Function Number: 57 -tryusereinforcementpractice(param_00,param_01,param_02) -{ - return maps\mp\killstreaks\_orbital_carepackage::tryuseorbitalcarepackage(param_00,"airdrop_reinforcement_practice",param_02); -} - -//Function Number: 58 -reinforcementcratekillstreakthink(param_00) -{ - killstreakcratethink(param_00); -} - -//Function Number: 59 -reinforcementcratespecialtythink(param_00) -{ - self endon("death"); - var_01 = getperkforcrate(param_00,self.cratetype); - var_02 = undefined; - if(param_00 == "airdrop_reinforcement_rare") - { - var_02 = getsecondaryperkforcrate(param_00); - } - - var_03 = undefined; - if(isdefined(var_02)) - { - var_04 = game["strings"][param_00 + self.cratetype + "_hint"]; - var_05 = getsecondaryperkhintfromperkref(var_02); - if(isdefined(var_04) && isdefined(var_05)) - { - self setreinforcementhintstrings(var_04,var_05); - } - else - { - cratesetuphintstrings(&"MP_PERK_PICKUP_GENERIC_MULTIPLE"); - } - - var_03 = []; - var_03[0] = getperkcrateicon(var_01); - if(!isdefined(var_03[0])) - { - var_03[0] = ""; - } - - var_03[1] = getperkcrateicon(var_02); - if(!isdefined(var_03[1])) - { - var_03[1] = ""; - } - } - else - { - var_04 = game["strings"][var_01 + self.cratetype + "_hint"]; - if(isdefined(var_04)) - { - self setreinforcementhintstrings(var_04); - } - else - { - cratesetuphintstrings(&"MP_PERK_PICKUP_GENERIC"); - } - - var_03 = getperkcrateicon(var_01); - if(!isdefined(var_03)) - { - var_03 = ""; - } - } - - cratesetupforuse("all",var_03); - if(isdefined(self.owner)) - { - thread crateothercapturethink(); - } - - thread crateownercapturethink(); - for(;;) - { - self waittill("captured",var_06); - if(isdefined(self.owner) && var_06 != self.owner) - { - if(!level.teambased || var_06.team != self.team) - { - var_06 thread maps\mp\_events::hijackerevent(self.owner); - } - else - { - self.owner thread maps\mp\_events::sharedevent(); - } - } - - var_06 playlocalsound("orbital_pkg_use"); - var_06 apply_reinforcement_perk(var_01); - var_07 = int(tablelookuprownum("mp/perktable.csv",1,var_01)); - var_06 setclientomnvar("ui_reinforcement_active_perk_1",var_07); - if(isdefined(var_02)) - { - var_06 apply_reinforcement_perk(var_02); - var_07 = int(tablelookuprownum("mp/perktable.csv",1,var_02)); - var_06 setclientomnvar("ui_reinforcement_active_perk_2",var_07); - } - else - { - var_06 setclientomnvar("ui_reinforcement_active_perk_2",-1); - } - - deletecrate(1); - } -} - -//Function Number: 60 -getperkforcrate(param_00,param_01) -{ - if(isdefined(level.cratetypes[param_00][param_01].streakref)) - { - return level.cratetypes[param_00][param_01].streakref; - } - - return param_01; -} - -//Function Number: 61 -getsecondaryperkforcrate(param_00) -{ - if(isdefined(level.cratetypes[param_00]) && isdefined(level.cratetypes[param_00][self.cratetype])) - { - var_01 = []; - foreach(var_03 in level.cratetypes[param_00]) - { - if(!issubstr(var_03.streakref,"specialty_")) - { - var_01[var_01.size] = var_03.type; - } - } - - var_01[var_01.size] = self.cratetype; - var_05 = getrandomcratetype(param_00,var_01); - if(isdefined(var_05) && isdefined(level.cratetypes[param_00][var_05].streakref)) - { - return level.cratetypes[param_00][var_05].streakref; - } - } - - return undefined; -} - -//Function Number: 62 -getsecondaryperkhintfromperkref(param_00) -{ - var_01 = undefined; - if(isdefined(level.secondaryreinforcementhinttext[param_00])) - { - var_01 = level.secondaryreinforcementhinttext[param_00]; - } - - return var_01; -} - -//Function Number: 63 -getperkcrateicon(param_00) -{ - var_01 = "mp/perktable.csv"; - var_02 = 1; - var_03 = 11; - return tablelookup(var_01,var_02,param_00,var_03); -} - -//Function Number: 64 -apply_reinforcement_perk(param_00) -{ - self.reinforcementperks[param_00] = 1; - if(param_00 == "specialty_extended_battery") - { - maps\mp\_utility::giveperk("specialty_extended_battery",0); - maps\mp\_utility::giveperk("specialty_exo_slamboots",0); - return; - } - - if(param_00 == "specialty_class_lowprofile") - { - maps\mp\_utility::giveperk("specialty_radarimmune",0); - maps\mp\_utility::giveperk("specialty_exoping_immune",0); - return; - } - - if(param_00 == "specialty_class_flakjacket") - { - maps\mp\_utility::giveperk("specialty_hard_shell",0); - maps\mp\_utility::giveperk("specialty_throwback",0); - maps\mp\_utility::giveperk("_specialty_blastshield",0); - self.specialty_blastshield_bonus = maps\mp\_utility::getintproperty("perk_blastShieldScale",45) / 100; - if(isdefined(level.hardcoremode) && level.hardcoremode) - { - self.specialty_blastshield_bonus = maps\mp\_utility::getintproperty("perk_blastShieldScale_HC",90) / 100; - } - - return; - } - - if(param_00 == "specialty_class_lightweight") - { - maps\mp\_utility::giveperk("specialty_lightweight",0); - return; - } - - if(param_00 == "specialty_class_dangerclose") - { - maps\mp\_utility::giveperk("specialty_explosivedamage",0); - return; - } - - if(param_00 == "specialty_class_blindeye") - { - maps\mp\_utility::giveperk("specialty_blindeye",0); - maps\mp\_utility::giveperk("specialty_plainsight",0); - return; - } - - if(param_00 == "specialty_class_coldblooded") - { - maps\mp\_utility::giveperk("specialty_coldblooded",0); - maps\mp\_utility::giveperk("specialty_spygame",0); - maps\mp\_utility::giveperk("specialty_heartbreaker",0); - return; - } - - if(param_00 == "specialty_class_peripherals") - { - maps\mp\_utility::giveperk("specialty_moreminimap",0); - maps\mp\_utility::giveperk("specialty_silentkill",0); - return; - } - - if(param_00 == "specialty_class_fasthands") - { - maps\mp\_utility::giveperk("specialty_quickswap",0); - maps\mp\_utility::giveperk("specialty_fastoffhand",0); - maps\mp\_utility::giveperk("specialty_sprintreload",0); - return; - } - - if(param_00 == "specialty_class_dexterity") - { - maps\mp\_utility::giveperk("specialty_sprintfire",0); - return; - } - - if(param_00 == "specialty_class_hardwired") - { - maps\mp\_utility::giveperk("specialty_empimmune",0); - maps\mp\_utility::giveperk("specialty_stun_resistance",0); - self.stunscaler = 0.1; - return; - } - - if(param_00 == "specialty_class_toughness") - { - self setviewkickscale(0.2); - return; - } - - if(param_00 == "specialty_class_scavenger") - { - self.ammopickup_scalar = 0.2; - maps\mp\_utility::giveperk("specialty_scavenger",0); - maps\mp\_utility::giveperk("specialty_bulletresupply",0); - maps\mp\_utility::giveperk("specialty_extraammo",0); - return; - } - - if(param_00 == "specialty_class_hardline") - { - maps\mp\_utility::giveperk("specialty_hardline",0); - maps\mp\killstreaks\_killstreaks::updatestreakcount(); - } -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/killstreaks/_airstrike.gsc b/AW/PC/ZM/maps/mp/killstreaks/_airstrike.gsc deleted file mode 100644 index 140428e..0000000 --- a/AW/PC/ZM/maps/mp/killstreaks/_airstrike.gsc +++ /dev/null @@ -1,1243 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_airstrike.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 63 - * Decompile Time: 947 ms - * Timestamp: 10/27/2023 2:09:10 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - level._effect["airstrike_ground"] = loadfx("vfx/explosion/clusterbomb_explode"); - level._effect["airstrike_bombs"] = loadfx("vfx/explosion/vfx_clusterbomb"); - level._effect["airstrike_death"] = loadfx("vfx/explosion/vehicle_warbird_explosion_midair"); - level._effect["airstrike_engine"] = loadfx("vfx/fire/jet_afterburner"); - level._effect["airstrike_wingtip"] = loadfx("vfx/trail/jet_contrail"); - level.harriers = []; - level.planes = []; - level.artillerydangercenters = []; - level.dangermaxradius["strafing_run_airstrike"] = 900; - level.dangerminradius["strafing_run_airstrike"] = 750; - level.dangerforwardpush["strafing_run_airstrike"] = 1; - level.dangerovalscale["strafing_run_airstrike"] = 6; - level.killstreakfuncs["strafing_run_airstrike"] = ::tryusestrafingrunairstrike; - level.killstreakwieldweapons["stealth_bomb_mp"] = "strafing_run_airstrike"; - level.killstreakwieldweapons["airstrike_missile_mp"] = "strafing_run_airstrike"; - level.killstreakwieldweapons["orbital_carepackage_pod_plane_mp"] = "strafing_run_airstrike"; -} - -//Function Number: 2 -tryusestrafingrunairstrike(param_00,param_01) -{ - return tryuseairstrike(param_00,"strafing_run_airstrike",param_01); -} - -//Function Number: 3 -tryuseairstrike(param_00,param_01,param_02) -{ - if(isdefined(level.strafing_run_airstrike)) - { - self iprintlnbold(&"KILLSTREAKS_AIR_SPACE_TOO_CROWDED"); - return 0; - } - - var_03 = selectairstrikelocation(param_00,param_01,param_02); - if(!isdefined(var_03) || !var_03) - { - return 0; - } - - return 1; -} - -//Function Number: 4 -doairstrike(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - if(isdefined(level.airstrikeinprogress)) - { - while(isdefined(level.airstrikeinprogress)) - { - level waittill("begin_airstrike"); - } - - level.airstrikeinprogress = 1; - wait(2); - } - - if(!isdefined(param_03)) - { - return; - } - - level.airstrikeinprogress = 1; - var_07 = dropsitetrace(param_01,param_03); - var_08 = spawnstruct(); - var_08.origin = var_07; - var_08.forward = anglestoforward((0,param_02,0)); - var_08.streakname = param_05; - var_08.team = param_04; - level.artillerydangercenters[level.artillerydangercenters.size] = var_08; - var_09 = callstrike(param_00,param_03,var_07,param_02,param_05,param_06); - wait(1); - level.airstrikeinprogress = undefined; - param_03 notify("begin_airstrike"); - level notify("begin_airstrike"); - wait(7.5); - var_0A = 0; - var_0B = []; - for(var_0C = 0;var_0C < level.artillerydangercenters.size;var_0C++) - { - if(!var_0A && level.artillerydangercenters[var_0C].origin == var_07) - { - var_0A = 1; - continue; - } - - var_0B[var_0B.size] = level.artillerydangercenters[var_0C]; - } - - level.artillerydangercenters = var_0B; -} - -//Function Number: 5 -clearprogress(param_00) -{ - wait(2); - level.airstrikeinprogress = undefined; -} - -//Function Number: 6 -getairstrikedanger(param_00) -{ - var_01 = 0; - for(var_02 = 0;var_02 < level.artillerydangercenters.size;var_02++) - { - var_03 = level.artillerydangercenters[var_02].origin; - var_04 = level.artillerydangercenters[var_02].forward; - var_05 = level.artillerydangercenters[var_02].streakname; - var_01 = var_01 + getsingleairstrikedanger(param_00,var_03,var_04,var_05); - } - - return var_01; -} - -//Function Number: 7 -getsingleairstrikedanger(param_00,param_01,param_02,param_03) -{ - var_04 = param_01 + level.dangerforwardpush[param_03] * level.dangermaxradius[param_03] * param_02; - var_05 = param_00 - var_04; - var_05 = (var_05[0],var_05[1],0); - var_06 = vectordot(var_05,param_02) * param_02; - var_07 = var_05 - var_06; - var_08 = var_07 + var_06 / level.dangerovalscale[param_03]; - var_09 = lengthsquared(var_08); - if(var_09 > level.dangermaxradius[param_03] * level.dangermaxradius[param_03]) - { - return 0; - } - - if(var_09 < level.dangerminradius[param_03] * level.dangerminradius[param_03]) - { - return 1; - } - - var_0A = sqrt(var_09); - var_0B = var_0A - level.dangerminradius[param_03] / level.dangermaxradius[param_03] - level.dangerminradius[param_03]; - return 1 - var_0B; -} - -//Function Number: 8 -pointisinairstrikearea(param_00,param_01,param_02,param_03) -{ - return distance2d(param_00,param_01) <= level.dangermaxradius[param_03] * 1.25; -} - -//Function Number: 9 -radiusartilleryshellshock(param_00,param_01,param_02,param_03,param_04) -{ - var_05 = level.players; - foreach(var_07 in level.players) - { - if(!isalive(var_07)) - { - continue; - } - - if(var_07.team == param_04 || var_07.team == "spectator") - { - continue; - } - - var_08 = var_07.origin + (0,0,32); - var_09 = distance(param_00,var_08); - if(var_09 > param_01) - { - continue; - } - - var_0A = int(param_02 + param_03 - param_02 * var_09 / param_01); - var_07 thread artilleryshellshock("default",var_0A); - } -} - -//Function Number: 10 -artilleryshellshock(param_00,param_01) -{ - self endon("disconnect"); - if(isdefined(self.beingartilleryshellshocked) && self.beingartilleryshellshocked) - { - return; - } - - self.beingartilleryshellshocked = 1; - self shellshock(param_00,param_01); - wait(param_01 + 1); - self.beingartilleryshellshocked = 0; -} - -//Function Number: 11 -bomberdropcarepackges(param_00,param_01) -{ - param_00 endon("death"); - param_00 endon("crashing"); - var_02 = spawnstruct(); - var_02.usednodes = []; - var_02.cratetypes = []; - waitillairstrikeoverbombingarea(param_00); - wait(0.1); - var_03 = gettime(); - var_02.cratetypes[0] = shootdowncarepackage(param_00,param_01,var_02); - var_04 = gettime(); - var_05 = 0.1 - var_04 - var_03 / 1000; - if(var_05 > 0) - { - wait(var_05); - } - - var_03 = gettime(); - var_02.cratetypes[1] = shootdowncarepackage(param_00,param_01,var_02); - var_04 = gettime(); - var_05 = 0.1 - var_04 - var_03 / 1000; - if(var_05 > 0) - { - wait(var_05); - } - - var_02.cratetypes[2] = shootdowncarepackage(param_00,param_01,var_02); -} - -//Function Number: 12 -shootdowncarepackage(param_00,param_01,param_02) -{ - var_03 = dropsitetrace(param_00.origin,param_00); - var_04 = findclosenode(var_03,param_00,param_02,param_00.dropsite,param_01); - if(!isdefined(var_04)) - { - var_04 = spawnstruct(); - var_04.origin = var_03; - } - - var_05 = param_00.origin + (0,0,-5); - return maps\mp\killstreaks\_orbital_carepackage::firepod("orbital_carepackage_pod_plane_mp",param_01,var_04,"airdrop_assault",[],undefined,var_05,param_02.cratetypes,0); -} - -//Function Number: 13 -dropsitetrace(param_00,param_01) -{ - var_02 = param_00; - var_03 = var_02 + (0,0,-1000000); - var_04 = bullettrace(var_02,var_03,0,param_01); - for(var_05 = var_04["entity"];isdefined(var_05) && isdefined(var_05.vehicletype);var_05 = var_04["entity"]) - { - wait 0.05; - var_02 = var_04["position"]; - var_04 = bullettrace(var_02,var_03,0,var_05); - } - - return var_04["position"]; -} - -//Function Number: 14 -withinothercarepackagenodes(param_00,param_01) -{ - var_02 = 26; - var_03 = var_02 * 2; - var_04 = var_03 * var_03; - foreach(var_06 in param_01.usednodes) - { - var_07 = distance2dsquared(var_06.origin,param_00); - if(var_07 < var_04) - { - return 1; - } - } - - return 0; -} - -//Function Number: 15 -findclosenode(param_00,param_01,param_02,param_03,param_04) -{ - var_05 = 4; - var_06 = 5; - var_07 = param_01.origin; - var_08 = getnodesinradiussorted(param_03,300,0,1000); - var_09 = undefined; - foreach(var_0B in var_08) - { - if(var_05 <= 0) - { - break; - } - - if(!nodeexposedtosky(var_0B,1)) - { - continue; - } - - if(common_scripts\utility::array_contains(param_02.usednodes,var_0B)) - { - continue; - } - - if(withinothercarepackagenodes(var_0B.origin,param_02)) - { - continue; - } - - var_0C = var_0B.origin + (0,0,5); - var_0D = param_04; - if(!isdefined(var_0D)) - { - var_0D = param_01; - } - - param_02.usednodes[param_02.usednodes.size] = var_0B; - if(bullettracepassed(var_07,var_0C,0,param_01) && maps\mp\killstreaks\_orbital_util::carepackagetrace(var_0B.origin,var_0D,"carepackage")) - { - var_09 = var_0B; - break; - } - - var_06--; - if(var_06 <= 0) - { - var_05--; - var_06 = 5; - wait 0.05; - } - } - - return var_09; -} - -//Function Number: 16 -dobomberstrike(param_00,param_01,param_02,param_03,param_04,param_05,param_06) -{ - if(!isdefined(param_01)) - { - return; - } - - if(!common_scripts\utility::array_contains(param_06,"strafing_run_airstrike_two")) - { - thread spawnairstrikeplane(param_00,param_01,param_02,param_03,param_04,param_05,param_06,1); - return; - } - - var_07 = spawnstruct(); - getadditionalbomberplanestarts(param_03,param_04,var_07); - thread spawnairstrikeplane(param_00,param_01,param_02,var_07.startpoint1,param_04,param_05,param_06,1); - wait(1); - thread spawnairstrikeplane(param_00,param_01,param_02,var_07.startpoint2,param_04,param_05,param_06,0); -} - -//Function Number: 17 -getadditionalbomberplanestarts(param_00,param_01,param_02) -{ - var_03 = anglestoright(param_01); - param_02.startpoint1 = param_00 + var_03 * 500; - param_02.startpoint2 = param_00 + var_03 * -1 * 500; -} - -//Function Number: 18 -spawnairstrikeplane(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) -{ - var_08 = "compass_objpoint_airstrike_busy"; - if(common_scripts\utility::array_contains(param_06,"strafing_run_airstrike_stealth")) - { - var_08 = "compass_objpoint_b2_airstrike_enemy"; - } - - var_09 = spawn("script_model",param_03); - var_09.angles = param_04; - var_09 setmodel("vehicle_airplane_shrike"); - var_09.minimapicon = spawnplane(param_01,"script_model",param_03,"compass_objpoint_airstrike_friendly",var_08); - var_09.minimapicon setmodel("tag_origin"); - var_09.minimapicon vehicle_jetbikesethoverforcescale(var_09,"tag_origin",(0,0,0),(0,0,0)); - var_09.modules = param_06; - var_09.vehicletype = "strafing_run"; - addplanetolist(var_09); - var_09 setcandamage(1); - var_09 setcanradiusdamage(1); - var_09 thread maps\mp\gametypes\_damage::setentitydamagecallback(1000,undefined,::onairstrikedeath,::maps\mp\killstreaks\_aerial_utility::heli_modifydamage,1); - if(common_scripts\utility::array_contains(var_09.modules,"strafing_run_airstrike_flares")) - { - var_09 thread airstrike_flares_monitor(); - } - - var_09 thread handledeath(); - var_09 playloopsound("bombrun_jet_dist_loop"); - var_09.lifeid = param_00; - var_09.owner = param_01; - var_09.team = param_01.team; - var_09.dropsite = param_02; - var_09.enteringbombingarea = 1; - var_09 thread planeanimatepath(param_02); - var_09 thread planeplayeffects(); - thread stealthbomber_killcam(var_09,param_05); - if(common_scripts\utility::array_contains(var_09.modules,"strafing_run_airstrike_package")) - { - thread bomberdropcarepackges(var_09,param_01); - } - else - { - thread bomberdropbombs(var_09,param_01); - } - - if(level.teambased && param_07) - { - level thread handlecoopjoining(var_09,param_01); - } - - var_09 endon("death"); - var_09 endon("crashing"); - waitillairstrikeoverbombingarea(var_09); - var_09.enteringbombingarea = 0; - var_09 waittill("pathComplete"); - level.strafing_run_airstrike = undefined; - var_09 notify("airstrike_complete"); - removeplanefromlist(var_09); - var_09 waittillmatch("end","airstrike"); - var_09 notify("delete"); - if(isdefined(var_09.minimapicon)) - { - var_09.minimapicon delete(); - } - - var_09 delete(); -} - -//Function Number: 19 -planehandlehostmigration() -{ - self endon("airstrike_complete"); - self endon("pathComplete"); - for(;;) - { - level waittill("host_migration_begin"); - self scriptmodelpauseanim(1); - level waittill("host_migration_end"); - self scriptmodelpauseanim(0); - } -} - -//Function Number: 20 -planeanimatepath(param_00) -{ - self endon("airstrike_complete"); - self scriptmodelplayanimdeltamotion("strafing_run_ks_flyby","airstrike"); - thread planehandlehostmigration(); - self.status = "flying_in"; - self.flyingspeed = 3333.333; - wait(3); - self.status = "strike"; - self.flyingspeed = 1000; - wait(10); - self.status = "flying_out"; - self.flyingspeed = 3333.333; - wait(2.9); - self notify("pathComplete"); -} - -//Function Number: 21 -airstrike_flares_monitor() -{ - self.numflares = 4; - thread maps\mp\killstreaks\_aerial_utility::handleincomingstinger(); -} - -//Function Number: 22 -onairstrikedeath(param_00,param_01,param_02,param_03) -{ - thread crashplane(); - maps\mp\gametypes\_damage::onkillstreakkilled(param_00,param_01,param_02,param_03,"strafing_run_destroyed",undefined,"callout_destroyed_airstrike",1); -} - -//Function Number: 23 -crashplane() -{ - self notify("crashing"); - self.crashed = 1; -} - -//Function Number: 24 -bomberdropbombs(param_00,param_01) -{ - param_00 endon("airstrike_complete"); - while(!targetisclose(param_00,param_00.dropsite,5000)) - { - wait(0.05); - } - - var_02 = 1; - var_03 = 0; - param_00 notify("start_bombing"); - param_00 thread playbombfx(); - var_04 = targetgetdist(param_00,param_00.dropsite); - while(var_04 < 5000) - { - if(var_04 < 1500 && !var_03) - { - var_03 = 1; - } - - var_02 = !var_02; - if(var_04 < 4500) - { - param_00 thread callstrike_bomb(param_00.origin,param_01,(0,0,0),var_02); - } - - wait(0.1); - var_04 = targetgetdist(param_00,param_00.dropsite); - } - - param_00 notify("stop_bombing"); - level.strafing_run_airstrike = undefined; -} - -//Function Number: 25 -playbombfx() -{ - self endon("stop_bombing"); - self endon("airstrike_complete"); - self.bomb_tag_left = spawn("script_model",(0,0,0)); - self.bomb_tag_left setmodel("tag_origin"); - self.bomb_tag_left linkto(self,"bombaydoor_left_jnt",(0,0,0),(0,-90,0)); - self.bomb_tag_right = spawn("script_model",(0,0,0)); - self.bomb_tag_right setmodel("tag_origin"); - self.bomb_tag_right linkto(self,"bombaydoor_right_jnt",(0,0,0),(0,-90,0)); - for(;;) - { - playfxontag(common_scripts\utility::getfx("airstrike_bombs"),self.bomb_tag_left,"tag_origin"); - playfxontag(common_scripts\utility::getfx("airstrike_bombs"),self.bomb_tag_right,"tag_origin"); - wait(0.5); - } -} - -//Function Number: 26 -stealthbomber_killcam(param_00,param_01) -{ - param_00 endon("airstrike_complete"); - param_00 waittill("start_bombing"); - var_02 = anglestoforward(param_00.angles); - var_03 = spawn("script_model",param_00.origin + (0,0,100) - var_02 * 200); - param_00.killcament = var_03; - param_00.killcament setscriptmoverkillcam("airstrike"); - param_00.airstriketype = param_01; - var_03.starttime = gettime(); - var_03 thread deleteaftertime(16); - var_03 linkto(param_00,"tag_origin",(-256,768,768),(0,0,0)); -} - -//Function Number: 27 -callstrike_bomb(param_00,param_01,param_02,param_03) -{ - self endon("airstrike_complete"); - if(!isdefined(param_01) || param_01 maps\mp\_utility::isemped() || param_01 maps\mp\_utility::isairdenied()) - { - self notify("stop_bombing"); - return; - } - - var_04 = 512; - var_05 = (0,randomint(360),0); - var_06 = param_00 + anglestoforward(var_05) * randomfloat(var_04); - var_07 = bullettrace(var_06,var_06 + (0,0,-10000),0,self); - var_06 = var_07["position"]; - var_08 = distance(param_00,var_06); - if(var_08 > 10000) - { - return; - } - - wait(0.85 * var_08 / 2000); - if(!isdefined(param_01) || param_01 maps\mp\_utility::isemped() || param_01 maps\mp\_utility::isairdenied()) - { - self notify("stop_bombing"); - return; - } - - if(param_03) - { - playfx(common_scripts\utility::getfx("airstrike_ground"),var_06); - level thread maps\mp\gametypes\_shellshock::stealthairstrike_earthquake(var_06); - } - - thread maps\mp\_utility::playsoundinspace("bombrun_snap",var_06); - radiusartilleryshellshock(var_06,512,8,4,param_01.team); - self radiusdamage(var_06 + (0,0,16),896,300,50,param_01,"MOD_EXPLOSIVE","stealth_bomb_mp"); - if(isdefined(level.ishorde) && level.ishorde && isdefined(level.flying_attack_drones)) - { - foreach(var_0A in level.flying_attack_drones) - { - if(var_0A.origin[2] > var_06[2] - 24 && var_0A.origin[2] < var_06[2] + 1000 && distance2dsquared(var_0A.origin,var_06) < 90000) - { - var_0A dodamage(randomintrange(50,300),var_06 + (0,0,16),param_01,param_01,"MOD_EXPLOSIVE","stealth_bomb_mp"); - } - } - } -} - -//Function Number: 28 -handledeath(param_00) -{ - level endon("game_ended"); - self endon("delete"); - common_scripts\utility::waittill_either("death","crashing"); - var_01 = anglestoforward(self.angles); - playfx(common_scripts\utility::getfx("airstrike_death"),self.origin,var_01); - maps\mp\_utility::playsoundinspace("bombrun_air_death",self.origin); - self notify("airstrike_complete"); - removeplanefromlist(self); - level.strafing_run_airstrike = undefined; - if(isdefined(self.minimapicon)) - { - self.minimapicon delete(); - } - - self delete(); -} - -//Function Number: 29 -addplanetolist(param_00) -{ - level.planes[level.planes.size] = param_00; -} - -//Function Number: 30 -removeplanefromlist(param_00) -{ - level.planes = common_scripts\utility::array_remove(level.planes,param_00); -} - -//Function Number: 31 -deleteaftertime(param_00) -{ - self endon("death"); - wait(param_00); - self delete(); -} - -//Function Number: 32 -planeplayeffects() -{ - self endon("airstrike_complete"); - wait 0.05; - playfxontag(common_scripts\utility::getfx("airstrike_engine"),self,"tag_engine_right"); - playfxontag(common_scripts\utility::getfx("airstrike_engine"),self,"tag_engine_left"); - playfxontag(common_scripts\utility::getfx("airstrike_wingtip"),self,"tag_right_wingtip"); - playfxontag(common_scripts\utility::getfx("airstrike_wingtip"),self,"tag_left_wingtip"); -} - -//Function Number: 33 -callstrike(param_00,param_01,param_02,param_03,param_04,param_05) -{ - thread maps\mp\_utility::teamplayercardsplash("used_strafing_run_airstrike",param_01,param_01.team); - var_06 = getplaneflyheight(); - param_01 endon("disconnect"); - var_07 = (0,param_03,0); - var_08 = getflightpath(param_02,var_07,var_06); - level thread dobomberstrike(param_00,param_01,param_02,var_08,var_07,param_04,param_05); -} - -//Function Number: 34 -getplaneflyheight() -{ - var_00 = 0; - if(isdefined(level.airstrikeoverrides) && isdefined(level.airstrikeoverrides.spawnheight)) - { - var_00 = level.airstrikeoverrides.spawnheight; - } - - var_01 = maps\mp\killstreaks\_aerial_utility::gethelianchor(); - return var_01.origin[2] + 750 + var_00; -} - -//Function Number: 35 -getflightpath(param_00,param_01,param_02) -{ - var_03 = getflightdistance() / 2; - var_04 = param_00 + anglestoforward(param_01) * -1 * var_03; - var_04 = var_04 * (1,1,0); - var_04 = var_04 + (0,0,param_02); - return var_04; -} - -//Function Number: 36 -getflightdistance() -{ - return 30000; -} - -//Function Number: 37 -targetgetdist(param_00,param_01) -{ - var_02 = targetisinfront(param_00,param_01); - if(var_02) - { - var_03 = 1; - } - else - { - var_03 = -1; - } - - var_04 = common_scripts\utility::flat_origin(param_00.origin); - var_05 = var_04 + anglestoforward(common_scripts\utility::flat_angle(param_00.angles)) * var_03 * 100000; - var_06 = pointonsegmentnearesttopoint(var_04,var_05,param_01); - var_07 = distance(var_04,var_06); - return var_07; -} - -//Function Number: 38 -targetisclose(param_00,param_01,param_02) -{ - if(!isdefined(param_02)) - { - param_02 = 3000; - } - - var_03 = targetisinfront(param_00,param_01); - if(var_03) - { - var_04 = 1; - } - else - { - var_04 = -1; - } - - var_05 = common_scripts\utility::flat_origin(param_00.origin); - var_06 = var_05 + anglestoforward(common_scripts\utility::flat_angle(param_00.angles)) * var_04 * 100000; - var_07 = pointonsegmentnearesttopoint(var_05,var_06,param_01); - var_08 = distance(var_05,var_07); - if(var_08 < param_02) - { - return 1; - } - - return 0; -} - -//Function Number: 39 -targetisinfront(param_00,param_01) -{ - var_02 = anglestoforward(common_scripts\utility::flat_angle(param_00.angles)); - var_03 = vectornormalize(common_scripts\utility::flat_origin(param_01) - param_00.origin); - var_04 = vectordot(var_02,var_03); - if(var_04 > 0) - { - return 1; - } - - return 0; -} - -//Function Number: 40 -waitforairstrikecancel() -{ - self endon("location_selection_complete"); - self endon("disconnect"); - self waittill("stop_location_selection"); - self setblurforplayer(0,0.3); - self setclientomnvar("ui_map_location_blocked",0); - if(maps\mp\gametypes\_hostmigration::waittillhostmigrationdone() > 0) - { - self switchtoweapon(common_scripts\utility::getlastweapon()); - } - - level.strafing_run_airstrike = undefined; -} - -//Function Number: 41 -selectairstrikelocation(param_00,param_01,param_02) -{ - if(!isdefined(level.mapsize)) - { - level.mapsize = 1024; - } - - var_03 = level.mapsize / 6.46875; - if(level.splitscreen) - { - var_03 = var_03 * 1.5; - } - - level.strafing_run_airstrike = 1; - var_04 = 1; - var_05 = 1; - if(common_scripts\utility::array_contains(param_02,"strafing_run_airstrike_two")) - { - var_05 = 2; - } - - self setclientomnvar("ui_map_location_use_carepackages",common_scripts\utility::array_contains(param_02,"strafing_run_airstrike_package")); - self setclientomnvar("ui_map_location_num_planes",var_05); - self setclientomnvar("ui_map_location_height",getplaneflyheight()); - maps\mp\_utility::_beginlocationselection(param_01,"map_artillery_selector",var_04,var_03); - thread waitforairstrikecancel(); - self endon("stop_location_selection"); - self endon("disconnect"); - var_06 = undefined; - var_07 = undefined; - var_08 = 0; - while(!var_08) - { - self waittill("confirm_location",var_09,var_0A); - if(!var_04) - { - var_0A = 0; - } - - if(validateflightlocationanddirection(var_09,var_0A,param_02,self)) - { - var_06 = var_09; - var_07 = var_0A; - self setclientomnvar("ui_map_location_use_carepackages",0); - self setclientomnvar("ui_map_location_num_planes",0); - self setclientomnvar("ui_map_location_height",0); - break; - } - else - { - thread showblockedhud(); - } - } - - self setblurforplayer(0,0.3); - self notify("location_selection_complete"); - self setclientomnvar("ui_map_location_blocked",0); - maps\mp\_matchdata::logkillstreakevent(param_01,var_06); - thread finishairstrikeusage(param_00,[var_06],[var_07],param_01,param_02); - return 1; -} - -//Function Number: 42 -showblockedhud() -{ - self endon("location_selection_complete"); - self endon("disconnect"); - self endon("stop_location_selection"); - self notify("airstrikeShowBlockedHUD"); - self endon("airstrikeShowBlockedHUD"); - if(self getclientomnvar("ui_map_location_blocked") == 0) - { - self playlocalsound("recon_drn_cloak_notready"); - } - - self setclientomnvar("ui_map_location_blocked",1); - wait(1.5); - self setclientomnvar("ui_map_location_blocked",0); -} - -//Function Number: 43 -validateflightlocationanddirection(param_00,param_01,param_02,param_03) -{ - var_04 = getplaneflyheight(); - var_05 = 1; - if(common_scripts\utility::array_contains(param_02,"strafing_run_airstrike_two")) - { - var_05 = 2; - } - - return bombingruntracepassed(param_00,var_04,param_01,var_05); -} - -//Function Number: 44 -finishairstrikeusage(param_00,param_01,param_02,param_03,param_04) -{ - self notify("used"); - for(var_05 = 0;var_05 < param_01.size;var_05++) - { - var_06 = param_01[var_05]; - var_07 = param_02[var_05]; - var_08 = bullettrace(level.mapcenter + (0,0,1000000),level.mapcenter,0,undefined); - var_06 = (var_06[0],var_06[1],var_08["position"][2] - 514); - thread doairstrike(param_00,var_06,var_07,self,self.pers["team"],param_03,param_04); - } -} - -//Function Number: 45 -waitillairstrikeoverbombingarea(param_00) -{ - param_00 endon("airstrike_complete"); - while(!targetisclose(param_00,param_00.dropsite,200)) - { - wait 0.05; - } -} - -//Function Number: 46 -playerdelaycontrol() -{ - self endon("disconnect"); - maps\mp\_utility::freezecontrolswrapper(1); - wait(0.5); - maps\mp\_utility::freezecontrolswrapper(0); -} - -//Function Number: 47 -playerdoridekillstreak(param_00) -{ - var_01 = maps\mp\killstreaks\_killstreaks::initridekillstreak("coop",0,0.5); - if(var_01 != "success" || !isdefined(param_00)) - { - if(var_01 != "disconnect") - { - if(!isdefined(param_00)) - { - thread maps\mp\_utility::playerremotekillstreakshowhud(); - } - - playerreset(0); - maps\mp\killstreaks\_coop_util::playerresetaftercoopstreak(); - } - - self notify("initRideKillstreak_complete",0); - return; - } - - self notify("initRideKillstreak_complete",1); -} - -//Function Number: 48 -handlecoopjoining(param_00,param_01) -{ - var_02 = param_01.team; - if(param_01.team == "allies") - { - var_03 = "SE_1mc_orbitalsupport_buddyrequest"; - var_04 = "SE_1mc_orbitalsupport_buddy"; - } - else - { - var_03 = "AT_1mc_orbitalsupport_buddyrequest"; - var_04 = "AT_1mc_orbitalsupport_buddy"; - } - - waittilloverplayspace(param_00); - if(!isdefined(param_00)) - { - return; - } - - var_05 = maps\mp\killstreaks\_coop_util::promptforstreaksupport(var_02,&"MP_JOIN_STRAFING_RUN","strafing_run_airstrike_coop_offensive",var_03,var_04,param_01); - level thread watchforjoin(var_05,param_00,param_01); - var_06 = waittillpromptcomplete(param_00,"buddyJoinedStreak"); - maps\mp\killstreaks\_coop_util::stoppromptforstreaksupport(var_05); - if(!isdefined(var_06)) - { - return; - } - - var_06 = waittillpromptcomplete(param_00,"airstrike_buddy_removed"); - if(!isdefined(var_06)) - { - } -} - -//Function Number: 49 -notifycoopover(param_00) -{ - param_00 endon("airstrike_complete"); - if(param_00.enteringbombingarea) - { - waitillairstrikeoverbombingarea(param_00); - } - - waittillleftplayspace(param_00,1.65); - param_00 notify("coopJoinOver"); -} - -//Function Number: 50 -waittilloverplayspace(param_00) -{ - var_01 = 1.65; - var_02 = anglestoforward(param_00.angles); - for(;;) - { - wait 0.05; - if(!isdefined(param_00)) - { - return; - } - - var_03 = param_00.flyingspeed * var_01; - var_04 = param_00.origin + var_02 * var_03; - var_05 = var_04 + (0,0,-10000); - var_06 = bullettrace(var_04,var_05,0,param_00); - if(var_06["fraction"] == 1) - { - continue; - } - - var_07 = var_06["position"]; - var_08 = getnodesinradius(var_07,300,0); - if(var_08.size > 0) - { - break; - } - } -} - -//Function Number: 51 -waittillleftplayspace(param_00,param_01) -{ - param_00 endon("airstrike_complete"); - if(!isdefined(param_01)) - { - param_01 = 0; - } - - for(;;) - { - wait 0.05; - var_02 = param_00.flyingspeed * param_01; - var_03 = anglestoforward(param_00.angles); - var_04 = param_00.origin + var_03 * var_02; - var_05 = var_04 + (0,0,-10000); - var_06 = bullettrace(var_04,var_05,0,param_00); - if(var_06["fraction"] == 1) - { - break; - } - - var_07 = var_06["position"]; - var_08 = getnodesinradius(var_07,300,0); - if(var_08.size == 0) - { - break; - } - } -} - -//Function Number: 52 -waittillfiremissile(param_00,param_01) -{ - param_01 endon("airstrike_fire"); - param_00 endon("airstrike_complete"); - if(param_00.enteringbombingarea) - { - waitillairstrikeoverbombingarea(param_00); - } - - waittillleftplayspace(param_00); -} - -//Function Number: 53 -waittillpromptcomplete(param_00,param_01) -{ - param_00 endon("airstrike_complete"); - param_00 endon("coopJoinOver"); - param_00 waittill(param_01); - return 1; -} - -//Function Number: 54 -watchforjoin(param_00,param_01,param_02) -{ - var_03 = waittillbuddyjoinedairstrike(param_00,param_01); - if(!isdefined(var_03)) - { - return; - } - - param_01 notify("buddyJoinedStreak"); - level notify("buddyGO"); - var_03 thread playerdoridekillstreak(param_01); - var_03 waittill("initRideKillstreak_complete",var_04); - if(!var_04) - { - return; - } - - var_03 maps\mp\_utility::playersaveangles(); - var_03 maps\mp\_utility::setusingremote("strafing_run"); - var_03 notifyonplayercommand("airstrike_fire","+attack"); - var_03 notifyonplayercommand("airstrike_fire","+attack_akimbo_accessible"); - var_05 = spawnturret("misc_turret",param_01 gettagorigin("tag_origin"),"sentry_minigun_mp"); - var_05 turretfiredisable(); - var_05 setmodel("tag_turret"); - var_05 vehicle_jetbikesethoverforcescale(param_01,"tag_origin",(0,0,0),(70,180,0)); - var_03 playerlinkweaponviewtodelta(var_05,"tag_player",0,180,180,5,15,0); - var_03 playerlinkedsetviewznear(0); - var_03 playerlinkedsetusebaseangleforviewclamp(1); - var_03 remotecontrolturret(var_05,60,45); - var_06 = var_03 maps\mp\killstreaks\_missile_strike::buildweaponsettings([]); - missileeyesinit(var_03,var_06,param_02); - waittillfiremissile(param_01,var_03); - if(isdefined(var_03)) - { - earthquake(0.4,1,var_03 getvieworigin(),300); - firemissile(var_03,var_05,var_06); - if(isdefined(var_03)) - { - var_03 maps\mp\killstreaks\_coop_util::playerresetaftercoopstreak(); - var_03 notifyonplayercommandremove("airstrike_fire","+attack"); - var_03 notifyonplayercommandremove("airstrike_fire","+attack_akimbo_accessible"); - } - } - - var_05 delete(); -} - -//Function Number: 55 -waittillbuddyjoinedairstrike(param_00,param_01) -{ - param_01 endon("airstrike_complete"); - param_01 endon("coopJoinOver"); - thread notifycoopover(param_01); - var_02 = maps\mp\killstreaks\_coop_util::waittillbuddyjoinedstreak(param_00); - return var_02; -} - -//Function Number: 56 -firemissile(param_00,param_01,param_02) -{ - var_03 = param_01 gettagorigin("tag_player"); - var_04 = anglestoforward(param_01 gettagangles("tag_player")); - var_05 = var_03 + var_04 * 10000; - var_06 = magicbullet("airstrike_missile_mp",var_03,var_05,param_00); - var_06.owner = param_00; - wait 0.05; - if(!isdefined(param_00)) - { - return; - } - - param_00 unlink(); - param_00 remotecontrolturretoff(param_01); - param_00 setclientomnvar("fov_scale",4.333333); - missileeyesgo(param_00,var_06,param_02); - if(!isdefined(param_00)) - { - return; - } - - param_00 setclientomnvar("fov_scale",1); -} - -//Function Number: 57 -missileeyesinit(param_00,param_01,param_02) -{ - param_00 thread hudinit(param_01,param_02); - param_00 thermalvisionfofoverlayon(); - if(getdvarint("camera_thirdPerson")) - { - param_00 maps\mp\_utility::setthirdpersondof(0); - } -} - -//Function Number: 58 -missileeyesgo(param_00,param_01,param_02) -{ - param_00 endon("joined_team"); - param_00 endon("joined_spectators"); - param_00 endon("player_control_strike_over"); - param_00 endon("disconnect"); - param_02 endon("ms_early_exit"); - param_01 thread maps\mp\killstreaks\_missile_strike::rocket_cleanupondeath(); - param_00 thread maps\mp\killstreaks\_missile_strike::player_cleanupongameended(param_01,param_02); - param_00 thread maps\mp\killstreaks\_missile_strike::player_cleanuponteamchange(param_01,param_02); - param_00 thread hudgo(param_01,param_02); - param_00 thread playerwaitreset(param_02); - param_00 cameralinkto(param_01,"tag_origin"); - param_00 controlslinkto(param_01); - param_00 thread maps\mp\killstreaks\_missile_strike::playerwatchforearlyexit(param_02); - param_01 common_scripts\utility::waittill_notify_or_timeout("death",10); - param_02 notify("missile_strike_complete"); -} - -//Function Number: 59 -playerwaitreset(param_00) -{ - param_00 common_scripts\utility::waittill_either("missile_strike_complete","ms_early_exit"); - playerreset(); -} - -//Function Number: 60 -playerreset(param_00) -{ - self endon("disconnect"); - if(!isdefined(param_00)) - { - param_00 = 1; - } - - self controlsunlink(); - maps\mp\_utility::freezecontrolswrapper(1); - self setclientomnvar("fov_scale",1); - stopmissileboostsounds(); - maps\mp\killstreaks\_missile_strike::stopmissileboostsounds(); - if(!level.gameended || isdefined(self.finalkill)) - { - maps\mp\killstreaks\_aerial_utility::playershowfullstatic(); - } - - if(param_00) - { - wait(0.5); - maps\mp\gametypes\_hostmigration::waittillhostmigrationdone(); - } - - maps\mp\killstreaks\_missile_strike::remove_hud(); - self thermalvisionfofoverlayoff(); - self cameraunlink(); - maps\mp\_utility::freezecontrolswrapper(0); - if(maps\mp\_utility::isusingremote()) - { - maps\mp\_utility::clearusingremote(); - } - - maps\mp\_utility::playerrestoreangles(); -} - -//Function Number: 61 -stopmissileboostsounds() -{ - self stoplocalsound("bombrun_support_mstrike_boost_shot"); - self stoplocalsound("bombrun_support_mstrike_boost_boom"); - self stoplocalsound("bombrun_support_mstrike_boost_jet"); -} - -//Function Number: 62 -hudinit(param_00,param_01) -{ - self endon("disconnect"); - self setclientomnvar("ui_predator_missile",2); - self setclientomnvar("ui_coop_primary_num",param_01 getentitynumber()); - wait 0.05; - maps\mp\killstreaks\_missile_strike::hud_update_fire_text(undefined,param_00); - maps\mp\killstreaks\_aerial_utility::playerenablestreakstatic(); -} - -//Function Number: 63 -hudgo(param_00,param_01) -{ - thread maps\mp\killstreaks\_missile_strike::targeting_hud_init(); - thread maps\mp\killstreaks\_missile_strike::targeting_hud_think(param_00,param_01); -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/killstreaks/_drone_recon.gsc b/AW/PC/ZM/maps/mp/killstreaks/_drone_recon.gsc deleted file mode 100644 index a2e2343..0000000 --- a/AW/PC/ZM/maps/mp/killstreaks/_drone_recon.gsc +++ /dev/null @@ -1,626 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_drone_recon.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 28 - * Decompile Time: 424 ms - * Timestamp: 10/27/2023 2:09:23 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - level._effect["emp_grenade"] = loadfx("vfx/explosion/emp_grenade_explosion"); - level._effect["antenna_light_mp"] = loadfx("vfx/lights/light_reconugv_antenna"); - level._effect["recon_drone_marker_threat"] = loadfx("vfx/ui/vfx_marker_drone_recon"); - level._effect["recon_drone_marker_emp"] = loadfx("vfx/ui/vfx_marker_drone_recon2"); - level._effect["recond_drone_exhaust"] = loadfx("vfx/vehicle/vehicle_mp_recon_drone_smoke"); - level.ugvmarkedarrays = []; - thread onplayerconnect(); - level.killstreakfuncs["recon_ugv"] = ::tryuserecondrone; - level.killstreakwieldweapons["recon_drone_turret_mp"] = "recon_ugv"; - level.killstreakwieldweapons["emp_grenade_killstreak_mp"] = "recon_ugv"; - level.killstreakwieldweapons["paint_grenade_killstreak_mp"] = "recon_ugv"; - game["dialog"]["ks_recdrone_destroyed"] = "ks_recdrone_destroyed"; -} - -//Function Number: 2 -getdronespawnpoint() -{ - var_00 = maps\mp\killstreaks\_drone_common::dronegetspawnpoint(); - return var_00; -} - -//Function Number: 3 -tryuserecondrone(param_00,param_01) -{ - if(maps\mp\_utility::currentactivevehiclecount() >= maps\mp\_utility::maxvehiclesallowed() || level.fauxvehiclecount + 1 >= maps\mp\_utility::maxvehiclesallowed()) - { - self iprintlnbold(&"MP_TOO_MANY_VEHICLES"); - return 0; - } - - maps\mp\_utility::incrementfauxvehiclecount(); - var_02 = getdronespawnpoint(); - if(!var_02.placementok) - { - self iprintlnbold(&"MP_DRONE_PLACEMENT_INVALID"); - maps\mp\_utility::decrementfauxvehiclecount(); - return 0; - } - - common_scripts\utility::_disableweaponswitch(); - var_03 = maps\mp\killstreaks\_killstreaks::initridekillstreak("recon_ugv"); - if(var_03 != "success") - { - common_scripts\utility::_enableweaponswitch(); - maps\mp\_utility::decrementfauxvehiclecount(); - return 0; - } - - maps\mp\_utility::setusingremote("recon_ugv"); - var_04 = createreconuav(param_00,param_01,var_02.origin,var_02.angles); - common_scripts\utility::_enableweaponswitch(); - self switchtoweapon("killstreak_predator_missile_mp"); - if(isdefined(var_04)) - { - maps\mp\_matchdata::logkillstreakevent("recon_ugv",self.origin); - thread maps\mp\_utility::teamplayercardsplash("used_recon_ugv",self); - return 1; - } - - maps\mp\_utility::decrementfauxvehiclecount(); - return 0; -} - -//Function Number: 4 -onplayerconnect() -{ - for(;;) - { - level waittill("connected",var_00); - var_00 thread onplayerspawned(); - } -} - -//Function Number: 5 -onplayerspawned() -{ - self endon("disconnect"); - self waittill("spawned_player"); - var_00 = spawnstruct(); - var_00.markedplayerarray = []; - var_00.markedturretarray = []; - var_00.owner = self; - var_00.monitormarkingthread = 0; - level.ugvmarkedarrays = common_scripts\utility::array_add(level.ugvmarkedarrays,var_00); -} - -//Function Number: 6 -createreconuav(param_00,param_01,param_02,param_03) -{ - var_04 = "recon_uav_mp"; - var_05 = "vehicle_atlas_aerial_drone_02_patrol_mp_static_75p"; - var_06 = spawnhelicopter(self,param_02,param_03,var_04,var_05); - if(!isdefined(var_06)) - { - return undefined; - } - - thread playercommonreconvehiclesetup(var_06,param_01,param_00); - var_06.maxhealth = 250; - var_06.vehicletype = "drone_recon"; - var_06.vehname = "recon_uav"; - var_06.markdistance = 1500; - if(var_06.hasincreasedtime) - { - var_07 = 45; - } - else - { - var_07 = 30; - } - - var_06.lifespan = var_07; - var_06.endtime = gettime() + var_07 * 1000; - var_06 thread maps\mp\gametypes\_damage::setentitydamagecallback(var_06.maxhealth,undefined,::onrecondronedeath,::maps\mp\killstreaks\_aerial_utility::heli_modifydamage,1); - if(var_06.hascloak) - { - thread maps\mp\killstreaks\_drone_common::dronecloakready(var_06,var_06.hascloak); - } - - startusingreconvehicle(var_06); - thread monitoruavsafearea(var_06); - thread monitorplayerdisconnect(var_06); - thread monitorplayerswitchteams(var_06); - thread monitorplayergameended(var_06); - thread reconhandletimeoutwarning(var_06); - thread reconhandletimeout(var_06); - thread reconhandledeath(var_06); - thread reconhudsetup(var_06); - thread maps\mp\killstreaks\_drone_common::playerwatchfordroneemp(var_06); - var_08 = spawnstruct(); - var_08.validateaccuratetouching = 1; - var_08.deathoverridecallback = ::override_drone_platform_death; - var_06 thread maps\mp\_movers::handle_moving_platforms(var_08); - var_06.getstingertargetposfunc = ::reconuav_stinger_target_pos; - return var_06; -} - -//Function Number: 7 -reconuav_stinger_target_pos() -{ - return self gettagorigin("tag_origin"); -} - -//Function Number: 8 -override_drone_platform_death(param_00) -{ - self notify("death"); -} - -//Function Number: 9 -setupplayercommands(param_00) -{ - if(isbot(self)) - { - return; - } - - self notifyonplayercommand("recon_fire_main","+attack"); - self notifyonplayercommand("recon_fire_main","+attack_akimbo_accessible"); - self notifyonplayercommand("recon_fire_secondary","+speed_throw"); - self notifyonplayercommand("recon_fire_secondary","+toggleads_throw"); - self notifyonplayercommand("recon_fire_secondary","+ads_akimbo_accessible"); - if(common_scripts\utility::array_contains(param_00,"recon_ugv_cloak")) - { - self notifyonplayercommand("Cloak","+activate"); - self notifyonplayercommand("Cloak","+usereload"); - } -} - -//Function Number: 10 -disableplayercommands(param_00) -{ - if(isbot(self)) - { - return; - } - - self notifyonplayercommandremove("recon_fire_main","+attack"); - self notifyonplayercommandremove("recon_fire_main","+attack_akimbo_accessible"); - self notifyonplayercommandremove("recon_fire_secondary","+speed_throw"); - self notifyonplayercommandremove("recon_fire_secondary","+toggleads_throw"); - self notifyonplayercommandremove("recon_fire_secondary","+ads_akimbo_accessible"); - if(isdefined(param_00) && param_00.hascloak) - { - self notifyonplayercommandremove("Cloak","+activate"); - self notifyonplayercommandremove("Cloak","+usereload"); - } -} - -//Function Number: 11 -playercommonreconvehiclesetup(param_00,param_01,param_02) -{ - self endon("reconStreakComplete"); - param_00 endon("death"); - self.using_remote_tank = 0; - param_00.lifeid = param_02; - param_00.team = self.team; - param_00.owner = self; - param_00.damagetaken = 0; - param_00.destroyed = 0; - param_00.empgrenaded = 0; - param_00.damagefade = 1; - param_00.markedplayers = []; - param_00.modules = param_01; - param_00.hasarhud = common_scripts\utility::array_contains(param_00.modules,"recon_ugv_ar_hud"); - param_00.haspaintgrenade = 1; - param_00.hasassistpoints = common_scripts\utility::array_contains(param_00.modules,"recon_ugv_assist_points"); - param_00.hasstun = common_scripts\utility::array_contains(param_00.modules,"recon_ugv_stun"); - param_00.hasincreasedtime = common_scripts\utility::array_contains(param_00.modules,"recon_ugv_increased_time"); - param_00.hascloak = common_scripts\utility::array_contains(param_00.modules,"recon_ugv_cloak"); - param_00.hasempgrenade = common_scripts\utility::array_contains(param_00.modules,"recon_ugv_emp"); - param_00 hide(); - param_00 makeunusable(); - param_00 makevehiclesolidcapsule(23,-9,23); - param_00 setcandamage(1); - param_00 common_scripts\utility::make_entity_sentient_mp(param_00.team); - reconspawnturret(param_00); - thread maps\mp\killstreaks\_drone_common::dronesetupcloaking(param_00,param_00.hascloak); - wait(1.6); - setupplayercommands(param_01); - thread notify_recon_drone_on_player_command(param_00); - var_03 = "recon_drone_marker_threat"; - if(param_00.hasempgrenade) - { - var_03 = "recon_drone_marker_emp"; - } - - thread maps\mp\killstreaks\_drone_common::updateshootinglocation(param_00,common_scripts\utility::getfx(var_03),1); - thread maps\mp\killstreaks\_drone_common::playerhandleexhaustfx(param_00,"recond_drone_exhaust","tag_exhaust"); - param_00.mgturret settargetentity(param_00.targetent); - thread reconplayerexit(param_00); -} - -//Function Number: 12 -reconspawnturret(param_00) -{ - var_01 = "recon_drone_turret_mp"; - var_02 = "tag_turret"; - var_03 = "vehicle_atlas_aerial_drone_02_patrol_mp_turret_75p"; - var_04 = spawnturret("misc_turret",param_00 gettagorigin(var_02),var_01,0); - var_04.angles = param_00 gettagangles(var_02); - var_04 setmodel(var_03); - var_04 setdefaultdroppitch(45); - var_04 linkto(param_00,var_02,(0,0,0),(0,0,0)); - var_04.owner = param_00.owner; - var_04.health = 99999; - var_04.maxhealth = 1000; - var_04.damagetaken = 0; - var_04.stunned = 0; - var_04.stunnedtime = 0; - var_04 setcandamage(0); - var_04 setcanradiusdamage(0); - var_04 makeunusable(); - var_04.team = param_00.team; - var_04.pers["team"] = param_00.team; - if(level.teambased) - { - var_04 setturretteam(param_00.team); - } - - var_04 setmode("sentry_manual"); - var_04 setsentryowner(param_00.owner); - var_04 setturretminimapvisible(0); - var_04.chopper = param_00; - var_04 setcontents(0); - var_04.firesoundent = spawn("script_model",param_00 gettagorigin(var_02)); - var_04.firesoundent setmodel("tag_origin"); - var_04.firesoundent vehicle_jetbikesethoverforcescale(param_00,var_02,(0,0,0),(0,0,0)); - var_04.firesoundent setcontents(0); - var_04 hide(); - param_00.mgturret = var_04; - if(param_00.haspaintgrenade) - { - thread firethreatgrenades(param_00); - } - - if(param_00.hasempgrenade) - { - thread fireempgrenades(param_00); - } -} - -//Function Number: 13 -firethreatgrenades(param_00) -{ - param_00 endon("death"); - self endon("disconnect"); - var_01 = gettime(); - var_02 = 0; - for(;;) - { - self waittill("recon_fire_main"); - self notify("ForceUncloak"); - var_03 = param_00.mgturret gettagorigin("tag_aim"); - var_04 = param_00.targetent.origin; - if(param_00.hasstun && gettime() >= var_01) - { - var_01 = gettime() + 6000; - var_02 = 1; - } - - maps\mp\killstreaks\_aerial_utility::playerfakeshootpaintgrenadeattarget(param_00.mgturret.firesoundent,var_03,var_04,var_02,param_00); - self setclientomnvar("ui_recondrone_paint",2); - wait(2); - self setclientomnvar("ui_recondrone_paint",1); - var_02 = 0; - } -} - -//Function Number: 14 -fireempgrenades(param_00) -{ - param_00 endon("death"); - self endon("disconnect"); - for(;;) - { - self waittill("recon_fire_secondary"); - self notify("ForceUncloak"); - var_01 = param_00.mgturret gettagorigin("tag_aim"); - var_02 = param_00.targetent.origin; - maps\mp\killstreaks\_aerial_utility::playerfakeshootempgrenadeattarget(param_00.mgturret.firesoundent,var_01,var_02); - self setclientomnvar("ui_recondrone_emp",2); - wait(5); - self setclientomnvar("ui_recondrone_emp",1); - } -} - -//Function Number: 15 -notify_recon_drone_on_player_command(param_00) -{ - self endon("disconnect"); - param_00 endon("death"); - for(;;) - { - var_01 = common_scripts\utility::waittill_any_return("recon_fire_main","recon_fire_secondary","Cloak"); - if(isdefined(var_01)) - { - param_00 notify(var_01); - } - } -} - -//Function Number: 16 -startusingreconvehicle(param_00) -{ - var_01 = self; - if(getdvarint("camera_thirdPerson")) - { - var_01 maps\mp\_utility::setthirdpersondof(0); - } - - var_01 maps\mp\_utility::playersaveangles(); - var_01 cameralinkto(param_00,"tag_origin"); - var_01 remotecontrolvehicle(param_00); - var_01 thread maps\mp\killstreaks\_drone_common::setdronevisionandlightsetpermap(1.5,param_00); - var_01.using_remote_tank = 1; - if(var_01 maps\mp\_utility::isjuggernaut()) - { - var_01.juggernautoverlay.alpha = 0; - } -} - -//Function Number: 17 -reconhudsetup(param_00) -{ - param_00 endon("death"); - self endon("disconnect"); - reconhudremove(param_00); - wait(0.5); - self setclientomnvar("ui_recondrone_toggle",1); - maps\mp\killstreaks\_aerial_utility::playerenablestreakstatic(); - self setclientomnvar("ui_recondrone_countdown",param_00.endtime); - if(param_00.hascloak) - { - self setclientomnvar("ui_drone_cloak",2); - } - - if(param_00.haspaintgrenade) - { - self setclientomnvar("ui_recondrone_paint",1); - } - - if(param_00.hasempgrenade) - { - self setclientomnvar("ui_recondrone_emp",1); - } - - if(param_00.hasarhud) - { - self thermalvisionfofoverlayon(); - } -} - -//Function Number: 18 -reconhudremove(param_00) -{ - self setclientomnvar("ui_recondrone_toggle",0); - self setclientomnvar("ui_recondrone_countdown",0); - self setclientomnvar("ui_drone_cloak",0); - self setclientomnvar("ui_drone_cloak_time",0); - self setclientomnvar("ui_drone_cloak_cooldown",0); - self setclientomnvar("ui_recondrone_paint",0); - self setclientomnvar("ui_recondrone_emp",0); - maps\mp\killstreaks\_aerial_utility::playerdisablestreakstatic(); -} - -//Function Number: 19 -monitoruavsafearea(param_00) -{ - self endon("reconStreakComplete"); - thread maps\mp\killstreaks\_aerial_utility::playerhandleboundarystatic(param_00,"reconStreakComplete"); - thread maps\mp\killstreaks\_aerial_utility::playerhandlekillvehicle(param_00,"reconStreakComplete"); - param_00 waittill("outOfBounds"); - wait(2); - param_00 notify("death"); -} - -//Function Number: 20 -monitorplayerdisconnect(param_00) -{ - self endon("StopWaitForDisconnect"); - param_00 endon("death"); - self waittill("disconnect"); - param_00 notify("death"); -} - -//Function Number: 21 -monitorplayerswitchteams(param_00) -{ - self endon("reconStreakComplete"); - common_scripts\utility::waittill_any("joined_team","joined_spectators"); - param_00 notify("death"); -} - -//Function Number: 22 -monitorplayergameended(param_00) -{ - self endon("reconStreakComplete"); - level waittill("game_ended"); - param_00 notify("death"); -} - -//Function Number: 23 -onrecondronedeath(param_00,param_01,param_02,param_03) -{ - self notify("death",param_00,param_02,param_01); - maps\mp\gametypes\_damage::onkillstreakkilled(param_00,param_01,param_02,param_03,"recon_drone_destroyed",undefined,"callout_destroyed_drone_recon",1); -} - -//Function Number: 24 -reconhandletimeoutwarning(param_00) -{ - param_00 endon("death"); - var_01 = 10; - var_02 = 1; - maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(param_00.lifespan - var_01); - while(var_01 > 0) - { - param_00 playsound("mp_warbird_outofbounds_warning"); - var_01 = var_01 - var_02; - wait(var_02); - } - - param_00 notify("death"); -} - -//Function Number: 25 -reconhandletimeout(param_00) -{ - param_00 endon("death"); - maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(param_00.lifespan); - param_00 notify("death"); -} - -//Function Number: 26 -reconhandledeath(param_00) -{ - var_01 = param_00 getentitynumber(); - param_00 maps\mp\killstreaks\_drone_common::droneaddtogloballist(var_01); - param_00 waittill("death",var_02); - if(isdefined(param_00)) - { - param_00 ghost(); - } - - if(isdefined(param_00.mgturret)) - { - param_00.mgturret ghost(); - } - - if(isdefined(self)) - { - maps\mp\_utility::freezecontrolswrapper(1); - } - - self notify("reconStreakComplete"); - self notify("StopWaitForDisconnect"); - param_00 playsound("assault_drn_death"); - param_00 maps\mp\killstreaks\_drone_common::droneremovefromgloballist(var_01); - wait 0.05; - playfxontag(level._effect["remote_tank_explode"],param_00,"tag_origin"); - wait(1); - maps\mp\gametypes\_hostmigration::waittillhostmigrationdone(); - if(isdefined(self) && !level.gameended) - { - maps\mp\_utility::freezecontrolswrapper(0); - } - - if(isdefined(self) && isdefined(var_02) && self != var_02) - { - thread maps\mp\_utility::leaderdialogonplayer("ks_recdrone_destroyed",undefined,undefined,self.origin); - } - - if(isdefined(self) && self.using_remote_tank || maps\mp\_utility::isusingremote()) - { - reconsetinactivity(param_00); - self.using_remote_tank = 0; - if(maps\mp\_utility::isjuggernaut()) - { - self.juggernautoverlay.alpha = 1; - } - } - - maps\mp\_utility::decrementfauxvehiclecount(); - if(isdefined(param_00.mgturret)) - { - if(isdefined(param_00.mgturret.firesoundent)) - { - param_00.mgturret.firesoundent delete(); - } - - param_00.mgturret delete(); - } - - if(isdefined(param_00.thing)) - { - param_00.thing delete(); - } - - param_00 delete(); -} - -//Function Number: 27 -reconsetinactivity(param_00) -{ - if(!isdefined(param_00)) - { - return; - } - - var_01 = self; - if(isdefined(var_01.using_remote_tank) && var_01.using_remote_tank) - { - var_01 notify("end_remote"); - var_01 remotecontrolvehicleoff(param_00); - var_01 thermalvisionfofoverlayoff(); - thread maps\mp\killstreaks\_drone_common::removedronevisionandlightsetpermap(1.5); - var_01 reconhudremove(param_00); - var_01 disableplayercommands(param_00); - if(var_01 maps\mp\_utility::isusingremote() && !level.gameended) - { - var_01 maps\mp\_utility::clearusingremote(); - } - - var_02 = maps\mp\_utility::getkillstreakweapon("recon_ugv"); - var_01 takeweapon(var_02); - var_01 enableweaponswitch(); - var_01 switchtoweapon(common_scripts\utility::getlastweapon()); - var_01 maps\mp\_utility::playerrestoreangles(); - if(getdvarint("camera_thirdPerson")) - { - var_01 maps\mp\_utility::setthirdpersondof(1); - } - - if(isdefined(var_01.disabledusability) && var_01.disabledusability) - { - var_01 common_scripts\utility::_enableusability(); - } - - var_01.using_remote_tank = 0; - } -} - -//Function Number: 28 -reconplayerexit(param_00) -{ - if(!isdefined(self)) - { - return; - } - - var_01 = self; - level endon("game_ended"); - var_01 endon("disconnect"); - param_00 endon("death"); - for(;;) - { - var_02 = 0; - while(var_01 usebuttonpressed()) - { - var_02 = var_02 + 0.05; - if(var_02 > 0.75) - { - param_00 notify("death"); - return; - } - - wait(0.05); - } - - wait(0.05); - } -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/killstreaks/_emp.gsc b/AW/PC/ZM/maps/mp/killstreaks/_emp.gsc deleted file mode 100644 index 225f11b..0000000 --- a/AW/PC/ZM/maps/mp/killstreaks/_emp.gsc +++ /dev/null @@ -1,985 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_emp.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 32 - * Decompile Time: 490 ms - * Timestamp: 10/27/2023 2:09:25 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - level._effect["emp_third_person_sparks"] = loadfx("vfx/explosion/electrical_sparks_small_emp_runner"); - if(level.multiteambased) - { - for(var_00 = 0;var_00 < level.teamnamelist.size;var_00++) - { - level.teamemped[level.teamnamelist[var_00]] = 0; - } - } - else - { - level.teamemped["allies"] = 0; - level.teamemped["axis"] = 0; - } - - level.empowner = undefined; - level.empplayer = undefined; - level.empstreaksdisabled = 0; - level.empequipmentdisabled = 0; - level.empassistpoints = 0; - level.empexodisabled = 0; - level.emptimeremaining = 0; - level thread emp_playertracker(); - level.killstreakfuncs["emp"] = ::emp_use; - level thread onplayerconnect(); -} - -//Function Number: 2 -getmodulelineemp(param_00) -{ - var_01 = common_scripts\utility::array_contains(param_00,"emp_streak_kill"); - var_02 = common_scripts\utility::array_contains(param_00,"emp_equipment_kill"); - var_03 = common_scripts\utility::array_contains(param_00,"emp_exo_kill"); - if(!var_01 && !var_02 && !var_03) - { - return "_01"; - } - - if(var_01 && !var_02 && !var_03) - { - return "_02"; - } - - if(!var_01 && var_02 && !var_03) - { - return "_03"; - } - - if(!var_01 && !var_02 && var_03) - { - return "_04"; - } - - if(var_01 && var_02 && !var_03) - { - return "_05"; - } - - if(var_01 && !var_02 && var_03) - { - return "_06"; - } - - if(!var_01 && var_02 && var_03) - { - return "_07"; - } - - return "_08"; -} - -//Function Number: 3 -onplayerconnect() -{ - for(;;) - { - level waittill("connected",var_00); - var_00 thread onplayerspawned(); - } -} - -//Function Number: 4 -onplayerspawned() -{ - self endon("disconnect"); - for(;;) - { - self waittill("spawned_player"); - if(issystemhacked() && !maps\mp\_utility::_hasperk("specialty_empimmune")) - { - applyemp(); - } - - self waittill("death"); - if(self.team == "spectator" || issystemhacked()) - { - removeemp(); - } - } -} - -//Function Number: 5 -issystemhacked() -{ - return (level.teambased && level.teamemped[self.team]) || !level.teambased && isdefined(level.empplayer) && level.empplayer != self; -} - -//Function Number: 6 -applyemp(param_00) -{ - var_01 = 2; - if(level.empexodisabled) - { - var_01 = 1; - if(maps\mp\_utility::isaugmentedgamemode()) - { - maps\mp\_utility::playerallowhighjump(0,"emp"); - maps\mp\_utility::playerallowhighjumpdrop(0,"emp"); - maps\mp\_utility::playerallowboostjump(0,"emp"); - maps\mp\_utility::playerallowpowerslide(0,"emp"); - maps\mp\_utility::playerallowdodge(0,"emp"); - } - } - - self.empscrambleid = maps\mp\gametypes\_scrambler::playersethudempscrambled(level.empendtime,var_01,"emp"); - self digitaldistortsetmaterial("digital_distort_mp"); - self digitaldistortsetparams(1,1); - self.empon = 1; - self notify("applyEMPkillstreak"); - self setempjammed(1,level.empequipmentdisabled); - if(isdefined(param_00) && param_00 == "emp_update") - { - self playsoundtoplayer("emp_system_hacked",self); - } - - thread dynamicdistortion(); - thread playerdelaystartsparkseffect(); -} - -//Function Number: 7 -playerdelaystartsparkseffect() -{ - self endon("death"); - self endon("disconnect"); - level endon("emp_update"); - if(!isdefined(self.costume)) - { - self waittill("player_model_set"); - } - - if(!isdefined(self.empfx)) - { - self.empfx = spawnlinkedfx(common_scripts\utility::getfx("emp_third_person_sparks"),self,"j_shoulder_ri"); - triggerfx(self.empfx); - setfxkillondelete(self.empfx,1); - } -} - -//Function Number: 8 -dynamicdistortion() -{ - self notify("dynamicDistortion"); - self endon("death"); - self endon("disconnect"); - self endon("dynamicDistortion"); - wait(0.1); - var_00 = 0; - var_01 = 0.55; - var_02 = 0.2; - var_03 = var_01 - var_02; - var_04 = 0.2; - var_05 = level.empendtime - gettime() / 1000 - 0.2; - while(var_00 < var_05) - { - if(isdefined(self.empon) && !self.empon) - { - break; - } - - var_06 = var_05 - var_00 / var_05; - self digitaldistortsetparams(var_06 * var_03 + var_02,1); - var_00 = var_00 + var_04; - wait(var_04); - } - - self digitaldistortsetparams(0,0); -} - -//Function Number: 9 -removeemp(param_00) -{ - if(maps\mp\_utility::isaugmentedgamemode()) - { - maps\mp\_utility::playerallowhighjump(1,"emp"); - maps\mp\_utility::playerallowhighjumpdrop(1,"emp"); - maps\mp\_utility::playerallowboostjump(1,"emp"); - maps\mp\_utility::playerallowpowerslide(1,"emp"); - maps\mp\_utility::playerallowdodge(1,"emp"); - } - - if(isdefined(self.empscrambleid)) - { - maps\mp\gametypes\_scrambler::playersethudempscrambledoff(self.empscrambleid); - self.empscrambleid = undefined; - } - else if(self.team == "spectator") - { - self setclientomnvar("ui_exo_reboot_end_time",0); - self setclientomnvar("ui_exo_reboot_type",0); - } - - self digitaldistortsetparams(0,0); - self.empon = undefined; - self notify("removeEMPkillstreak"); - self setempjammed(0); - if(isdefined(param_00) && param_00 == "emp_update") - { - self playsoundtoplayer("emp_system_reboot",self); - } - - if(isdefined(self.empfx)) - { - self.empfx delete(); - } -} - -//Function Number: 10 -emp_use(param_00,param_01) -{ - var_02 = self.pers["team"]; - if(level.teambased) - { - var_03 = level.otherteam[var_02]; - thread emp_jamteam(var_03,param_01); - } - else - { - thread emp_jamplayers(self,param_01); - } - - maps\mp\_matchdata::logkillstreakevent("emp",self.origin); - maps\mp\gametypes\_missions::processchallenge("ch_streak_emp",1); - return 1; -} - -//Function Number: 11 -emp_gettimeoutfrommodules(param_00) -{ - var_01 = 20; - if(common_scripts\utility::array_contains(param_00,"emp_time_1") && common_scripts\utility::array_contains(param_00,"emp_time_2")) - { - var_01 = 40; - } - else if(common_scripts\utility::array_contains(param_00,"emp_time_1") || common_scripts\utility::array_contains(param_00,"emp_time_2")) - { - var_01 = 30; - } - - if(isdefined(level.ishorde) && level.ishorde) - { - return 60; - } - - return var_01; -} - -//Function Number: 12 -emp_artifacts(param_00) -{ - self endon("disconnect"); - self notify("EMP_Artifacts"); - self endon("EMP_Artifacts"); - if(isdefined(level.ishorde) && level.ishorde) - { - wait(0.1); - } - - self setclientomnvar("ui_hud_static",2); - wait(param_00); - self setclientomnvar("ui_hud_static",0); -} - -//Function Number: 13 -emp_jamteam(param_00,param_01) -{ - level endon("game_ended"); - if(!isdefined(level.ishorde)) - { - thread maps\mp\_utility::teamplayercardsplash("used_emp",self); - } - - level notify("EMP_JamTeam" + param_00); - level endon("EMP_JamTeam" + param_00); - level.empowner = self; - var_02 = emp_gettimeoutfrommodules(param_01); - foreach(var_04 in level.players) - { - var_04 playlocalsound("emp_big_activate"); - if(var_04.team != param_00) - { - continue; - } - - if(var_04 maps\mp\_utility::_hasperk("specialty_empimmune")) - { - continue; - } - - if(var_04 maps\mp\_utility::_hasperk("specialty_localjammer")) - { - var_04 setmotiontrackervisible(1); - } - - var_04 thread emp_artifacts(var_02); - } - - visionsetnaked("coup_sunblind",0.1); - if(common_scripts\utility::array_contains(param_01,"emp_flash")) - { - foreach(var_04 in level.players) - { - if(var_04.team != param_00 || !maps\mp\_utility::isreallyalive(var_04) || isdefined(var_04.usingremote)) - { - continue; - } - - if(var_04 maps\mp\_utility::_hasperk("specialty_empimmune")) - { - continue; - } - - var_04 thread maps\mp\_flashgrenades::applyflash(2.5,0.75); - } - } - - wait(0.1); - visionsetnaked("coup_sunblind",0); - if(isdefined(level.nukedetonated)) - { - visionsetnaked(level.nukevisionset,3); - } - else - { - visionsetnaked("",3); - } - - level.teamemped[param_00] = 1; - level.empstreaksdisabled = common_scripts\utility::array_contains(param_01,"emp_streak_kill"); - level.empequipmentdisabled = common_scripts\utility::array_contains(param_01,"emp_equipment_kill"); - level.empassistpoints = common_scripts\utility::array_contains(param_01,"emp_assist"); - level.empexodisabled = common_scripts\utility::array_contains(param_01,"emp_exo_kill"); - level notify("emp_update"); - level.empendtime = gettime() + int(var_02 * 1000); - if(level.empstreaksdisabled) - { - level destroyactivestreakvehicles(self,param_00); - } - - if(level.empequipmentdisabled) - { - level destroyactiveequipmentvehicles(self,param_00); - } - - level thread keepemptimeremaining(var_02); - maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(var_02); - level.teamemped[param_00] = 0; - foreach(var_04 in level.players) - { - if(var_04.team != param_00) - { - continue; - } - - if(var_04 maps\mp\_utility::_hasperk("specialty_localjammer")) - { - var_04 setmotiontrackervisible(0); - } - } - - level.empowner = undefined; - level.empstreaksdisabled = 0; - level.empequipmentdisabled = 0; - level.empassistpoints = 0; - level.empexodisabled = 0; - level notify("emp_update"); -} - -//Function Number: 14 -emp_jamplayers(param_00,param_01) -{ - level notify("EMP_JamPlayers"); - level endon("EMP_JamPlayers"); - level.empowner = param_00; - var_02 = emp_gettimeoutfrommodules(param_01); - foreach(var_04 in level.players) - { - var_04 playlocalsound("emp_big_activate"); - if(var_04 == param_00) - { - continue; - } - - if(var_04 maps\mp\_utility::_hasperk("specialty_localjammer")) - { - var_04 setmotiontrackervisible(1); - } - - var_04 thread emp_artifacts(var_02); - } - - visionsetnaked("coup_sunblind",0.1); - if(common_scripts\utility::array_contains(param_01,"emp_flash")) - { - foreach(var_04 in level.players) - { - if(var_04 == param_00 || !maps\mp\_utility::isreallyalive(var_04) || isdefined(var_04.usingremote)) - { - continue; - } - - var_04 thread maps\mp\_flashgrenades::applyflash(2.5,0.75); - } - } - - wait(0.1); - visionsetnaked("coup_sunblind",0); - if(isdefined(level.nukedetonated)) - { - visionsetnaked(level.nukevisionset,3); - } - else - { - visionsetnaked("",3); - } - - level notify("emp_update"); - level.empplayer = param_00; - level.empplayer thread empplayerffadisconnect(); - level.empstreaksdisabled = common_scripts\utility::array_contains(param_01,"emp_streak_kill"); - level.empequipmentdisabled = common_scripts\utility::array_contains(param_01,"emp_equipment_kill"); - level.empassistpoints = common_scripts\utility::array_contains(param_01,"emp_assist"); - level.empexodisabled = common_scripts\utility::array_contains(param_01,"emp_exo_kill"); - level.empendtime = gettime() + int(var_02 * 1000); - if(level.empstreaksdisabled) - { - level destroyactivestreakvehicles(param_00); - } - - if(level.empequipmentdisabled) - { - level destroyactiveequipmentvehicles(param_00); - } - - level notify("emp_update"); - level thread keepemptimeremaining(var_02); - maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(var_02); - foreach(var_04 in level.players) - { - if(var_04 == param_00) - { - continue; - } - - if(var_04 maps\mp\_utility::_hasperk("specialty_localjammer")) - { - var_04 setmotiontrackervisible(0); - } - } - - level.empplayer = undefined; - level.empowner = undefined; - level.empstreaksdisabled = 0; - level.empequipmentdisabled = 0; - level.empassistpoints = 0; - level.empexodisabled = 0; - level notify("emp_update"); - level notify("emp_ended"); -} - -//Function Number: 15 -keepemptimeremaining(param_00) -{ - level notify("keepEMPTimeRemaining"); - level endon("keepEMPTimeRemaining"); - level endon("emp_ended"); - level.emptimeremaining = int(param_00); - while(level.emptimeremaining) - { - wait(1); - level.emptimeremaining--; - } -} - -//Function Number: 16 -empplayerffadisconnect() -{ - level endon("EMP_JamPlayers"); - level endon("emp_ended"); - self waittill("disconnect"); - level notify("emp_update"); -} - -//Function Number: 17 -emp_playertracker() -{ - for(;;) - { - var_00 = level common_scripts\utility::waittill_any_return_no_endon_death("joined_team","emp_update","game_ended"); - foreach(var_02 in level.players) - { - if(var_02.team == "spectator") - { - var_03 = var_02 getspectatingplayer(); - if(!isdefined(var_03) || !var_03 issystemhacked()) - { - var_02 removeemp(var_00); - } - - continue; - } - - if(var_02 maps\mp\_utility::_hasperk("specialty_empimmune")) - { - continue; - } - - if(maps\mp\_utility::isreallyalive(var_02) && var_02 issystemhacked() && !level.gameended) - { - var_02 applyemp(var_00); - continue; - } - - var_02 removeemp(var_00); - } - - if(level.gameended) - { - return; - } - } -} - -//Function Number: 18 -destroyactivevehicles(param_00,param_01) -{ - thread destroyactivestreakvehicles(param_00,param_01); - thread destroyactiveequipmentvehicles(param_00,param_01); -} - -//Function Number: 19 -destroyactivestreakvehicles(param_00,param_01) -{ - thread destroyactivehelis(param_00,param_01); - thread destroyactivelittlebirds(param_00,param_01); - thread destroyactiveturrets(param_00,param_01); - thread destroyactiverockets(param_00,param_01); - thread destroyactiveuavs(param_00,param_01); - thread destroyactiveugvs(param_00,param_01); - thread destroyactiveorbitallasers(param_00,param_01); - thread destroyactivegoliaths(param_00,param_01); -} - -//Function Number: 20 -destroyactiveequipmentvehicles(param_00,param_01) -{ - thread destroyactivedrones(param_00,param_01); -} - -//Function Number: 21 -destroyempobjectsinradius(param_00,param_01,param_02,param_03) -{ - thread destroyactivehelis(param_00,param_01,param_02,param_03); - thread destroyactivelittlebirds(param_00,param_01,param_02,param_03); - thread destroyactiveturrets(param_00,param_01,param_02,param_03); - thread destroyactiverockets(param_00,param_01,param_02,param_03); - thread destroyactiveuavs(param_00,param_01,param_02,param_03); - thread destroyactiveugvs(param_00,param_01,param_02,param_03); - thread destroyactiveorbitallasers(param_00,param_01,param_02,param_03); - thread destroyactivedrones(param_00,param_01,param_02,param_03); -} - -//Function Number: 22 -destroyactivehelis(param_00,param_01,param_02,param_03) -{ - var_04 = "MOD_EXPLOSIVE"; - var_05 = "killstreak_emp_mp"; - var_06 = 5000; - var_07 = level.helis; - if(isdefined(level.orbitalsupport_planemodel)) - { - var_07[var_07.size] = level.orbitalsupport_planemodel; - } - - foreach(var_09 in var_07) - { - if(level.teambased && isdefined(param_01)) - { - if(isdefined(var_09.team) && var_09.team != param_01) - { - continue; - } - } - else if(isdefined(var_09.owner) && var_09.owner == param_00) - { - continue; - } - - if(isdefined(param_02) && isdefined(param_03)) - { - var_0A = param_02; - if(distancesquared(var_09.origin,param_02) > param_03 * param_03) - { - continue; - } - } - - var_06 = var_09.maxhealth + 1; - var_09 dodamage(var_06,var_09.origin,param_00,param_00,var_04,var_05); - wait(0.05); - } -} - -//Function Number: 23 -destroyactivelittlebirds(param_00,param_01,param_02,param_03) -{ - var_04 = "MOD_EXPLOSIVE"; - var_05 = "killstreak_emp_mp"; - var_06 = 5000; - var_07 = common_scripts\utility::array_combine(level.planes,level.littlebirds); - foreach(var_09 in level.carepackagedrones) - { - if(isdefined(var_09.crate)) - { - var_07[var_07.size] = var_09.crate; - } - } - - foreach(var_0C in var_07) - { - if(level.teambased && isdefined(param_01)) - { - if(isdefined(var_0C.team) && var_0C.team != param_01) - { - continue; - } - } - else if(isdefined(var_0C.owner) && var_0C.owner == param_00) - { - continue; - } - - if(isdefined(param_02) && isdefined(param_03)) - { - var_0D = param_02; - if(distancesquared(var_0C.origin,param_02) > param_03 * param_03) - { - continue; - } - } - - var_06 = var_0C.maxhealth + 1; - if(isdefined(var_0C.cratetype)) - { - var_0C = var_0C.enemymodel; - } - - var_0C dodamage(var_06,var_0C.origin,param_00,param_00,var_04,var_05); - wait(0.05); - } -} - -//Function Number: 24 -destroyactiveturrets(param_00,param_01,param_02,param_03) -{ - var_04 = "MOD_EXPLOSIVE"; - var_05 = "killstreak_emp_mp"; - var_06 = 5000; - foreach(var_08 in level.turrets) - { - if(level.teambased && isdefined(param_01)) - { - if(isdefined(var_08.team) && var_08.team != param_01) - { - continue; - } - } - else if(isdefined(var_08.owner) && var_08.owner == param_00) - { - continue; - } - - if(isdefined(param_02) && isdefined(param_03)) - { - var_09 = param_02; - if(distancesquared(var_08.origin,param_02) > param_03 * param_03) - { - continue; - } - } - - var_06 = var_08.maxhealth + 1; - var_08 dodamage(var_06,var_08.origin,param_00,param_00,var_04,var_05); - } - - if(isdefined(level.ishorde) && level.ishorde) - { - foreach(var_0C in level.players) - { - if(isdefined(var_0C.iscarrying) && var_0C.iscarrying) - { - var_0C notify("force_cancel_placement"); - } - } - } -} - -//Function Number: 25 -destroyactiverockets(param_00,param_01,param_02,param_03) -{ - var_04 = "MOD_EXPLOSIVE"; - var_05 = "killstreak_emp_mp"; - var_06 = 5000; - foreach(var_08 in level.rockets) - { - if(isdefined(var_08.weaponname) && skiprocketemp(var_08.weaponname)) - { - continue; - } - - if(level.teambased && isdefined(param_01)) - { - if(isdefined(var_08.team) && var_08.team != param_01) - { - continue; - } - } - else if(isdefined(var_08.owner) && var_08.owner == param_00) - { - continue; - } - - if(isdefined(param_02) && isdefined(param_03)) - { - var_09 = param_02; - if(distancesquared(var_08.origin,param_02) > param_03 * param_03) - { - continue; - } - } - - if(shoulddamagerocket(var_08)) - { - var_06 = var_08.maxhealth + 1; - var_08 dodamage(var_06,var_08.origin,param_00,param_00,var_04,var_05); - } - else - { - playfx(level.remotemissile_fx["explode"],var_08.origin); - var_08 delete(); - } - - wait(0.05); - } -} - -//Function Number: 26 -shoulddamagerocket(param_00) -{ - return isdefined(param_00.damagecallback); -} - -//Function Number: 27 -skiprocketemp(param_00) -{ - return param_00 == "orbital_carepackage_pod_mp"; -} - -//Function Number: 28 -destroyactiveuavs(param_00,param_01,param_02,param_03) -{ - var_04 = "MOD_EXPLOSIVE"; - var_05 = "killstreak_emp_mp"; - var_06 = 5000; - var_07 = level.uavmodels; - if(level.teambased && isdefined(param_01)) - { - var_07 = level.uavmodels[param_01]; - } - - foreach(var_09 in var_07) - { - if(level.teambased && isdefined(param_01)) - { - } - else if(isdefined(var_09.owner) && var_09.owner == param_00) - { - continue; - } - - if(isdefined(param_02) && isdefined(param_03)) - { - var_0A = param_02; - if(distancesquared(var_09.origin,param_02) > param_03 * param_03) - { - continue; - } - } - - var_06 = var_09.maxhealth + 1; - var_09 dodamage(var_06,var_09.origin,param_00,param_00,var_04,var_05); - wait(0.05); - } -} - -//Function Number: 29 -destroyactiveugvs(param_00,param_01,param_02,param_03) -{ - var_04 = "MOD_EXPLOSIVE"; - var_05 = "killstreak_emp_mp"; - var_06 = 5000; - foreach(var_08 in level.ugvs) - { - if(level.teambased && isdefined(param_01)) - { - if(isdefined(var_08.team) && var_08.team != param_01) - { - continue; - } - } - else if(isdefined(var_08.owner) && var_08.owner == param_00) - { - continue; - } - - if(isdefined(param_02) && isdefined(param_03)) - { - var_09 = param_02; - if(distancesquared(var_08.origin,param_02) > param_03 * param_03) - { - continue; - } - } - - var_06 = var_08.maxhealth + 1; - var_08 dodamage(var_06,var_08.origin,param_00,param_00,var_04,var_05); - wait(0.05); - } -} - -//Function Number: 30 -destroyactivedrones(param_00,param_01,param_02,param_03) -{ - var_04 = "MOD_EXPLOSIVE"; - var_05 = "killstreak_emp_mp"; - var_06 = 5000; - var_07 = common_scripts\utility::array_combine(level.trackingdrones,level.explosivedrones); - foreach(var_09 in var_07) - { - if(level.teambased && isdefined(param_01)) - { - if(isdefined(var_09.team) && var_09.team != param_01) - { - continue; - } - } - else if(isdefined(var_09.owner) && var_09.owner == param_00) - { - continue; - } - - if(isdefined(param_02) && isdefined(param_03)) - { - var_0A = param_02; - if(distancesquared(var_09.origin,param_02) > param_03 * param_03) - { - continue; - } - } - - var_06 = var_09.maxhealth + 1; - var_09 dodamage(var_06,var_09.origin,param_00,param_00,var_04,var_05); - } - - foreach(var_0D in level.grenades) - { - if(!isdefined(var_0D.weaponname) || !issubstr(var_0D.weaponname,"explosive_drone_mp")) - { - continue; - } - - if(level.teambased && isdefined(param_01)) - { - if(isdefined(var_0D.team) && var_0D.team != param_01) - { - continue; - } - } - else if(isdefined(var_0D.owner) && var_0D.owner == param_00) - { - continue; - } - - if(isdefined(param_02) && isdefined(param_03)) - { - var_0A = param_02; - if(distancesquared(var_0D.origin,param_02) > param_03 * param_03) - { - continue; - } - } - - var_0D thread maps\mp\_explosive_drone::explosivegrenadedeath(); - } -} - -//Function Number: 31 -destroyactiveorbitallasers(param_00,param_01,param_02,param_03) -{ - var_04 = "MOD_EXPLOSIVE"; - var_05 = "killstreak_emp_mp"; - var_06 = 5000; - var_07 = (0,0,0); - var_08 = (0,0,0); - var_09 = ""; - var_0A = ""; - var_0B = ""; - var_0C = undefined; - foreach(var_0E in level.orbital_lasers) - { - if(level.teambased && isdefined(param_01)) - { - if(isdefined(var_0E.team) && var_0E.team != param_01) - { - continue; - } - } - else if(isdefined(var_0E.owner) && var_0E.owner == param_00) - { - continue; - } - - var_0E notify("death",param_00,var_04,var_05); - wait(0.05); - } -} - -//Function Number: 32 -destroyactivegoliaths(param_00,param_01) -{ - foreach(var_03 in level.players) - { - if(var_03 maps\mp\_utility::isjuggernaut()) - { - if(level.teambased && isdefined(param_01)) - { - if(isdefined(var_03.team) && var_03.team != param_01) - { - continue; - } - } - - if(isdefined(level.ishorde) && level.ishorde) - { - var_03 maps\mp\_snd_common_mp::snd_message("goliath_self_destruct"); - playfx(common_scripts\utility::getfx("goliath_self_destruct"),var_03.origin,anglestoup(var_03.angles)); - var_03 thread [[ level.hordehandlejuggdeath ]](); - continue; - } - - var_03 thread maps\mp\killstreaks\_juggernaut::playerkillheavyexo(var_03.origin,param_00,"MOD_EXPLOSIVE","killstreak_goliathsd_mp"); - } - } -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/killstreaks/_marking_util.gsc b/AW/PC/ZM/maps/mp/killstreaks/_marking_util.gsc deleted file mode 100644 index c659067..0000000 --- a/AW/PC/ZM/maps/mp/killstreaks/_marking_util.gsc +++ /dev/null @@ -1,18 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_marking_util.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 1 - * Decompile Time: 14 ms - * Timestamp: 10/27/2023 2:09:37 AM -*******************************************************************/ - -//Function Number: 1 -playerprocesstaggedassist(param_00) -{ - if(level.teambased && isdefined(param_00)) - { - thread maps\mp\_events::processassistevent(param_00); - } -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/killstreaks/_orbital_carepackage.gsc b/AW/PC/ZM/maps/mp/killstreaks/_orbital_carepackage.gsc deleted file mode 100644 index 834a892..0000000 --- a/AW/PC/ZM/maps/mp/killstreaks/_orbital_carepackage.gsc +++ /dev/null @@ -1,961 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_orbital_carepackage.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 38 - * Decompile Time: 611 ms - * Timestamp: 10/27/2023 2:09:44 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - level._orbital_care_pod = []; - level.orbitaldropmarkers = []; - level._effect["ocp_death"] = loadfx("vfx/explosion/exo_droppod_explosion"); - level._effect["ocp_midair"] = loadfx("vfx/explosion/exo_droppod_split"); - level._effect["ocp_ground_marker"] = loadfx("vfx/unique/vfx_marker_killstreak_guide_carepackage"); - level._effect["ocp_ground_marker_bad"] = loadfx("vfx/unique/vfx_marker_killstreak_guide_carepackage_fizzle"); - level._effect["ocp_exhaust"] = loadfx("vfx/vehicle/vehicle_ocp_exhaust"); - level._effect["ocp_thruster_small"] = loadfx("vfx/vehicle/vehicle_ocp_thrusters_small"); - level._effect["vfx_ocp_steam"] = loadfx("vfx/steam/vfx_ocp_steam"); - level._effect["vfx_ocp_steam2"] = loadfx("vfx/steam/vfx_ocp_steam2"); - level._effect["ocp_glow"] = loadfx("vfx/unique/orbital_carepackage_glow"); - level.killstreakfuncs["orbital_carepackage"] = ::tryusedefaultorbitalcarepackage; - level.killstreakwieldweapons["orbital_carepackage_pod_mp"] = "orbital_carepackage"; - level.killstreakfuncs["orbital_carepackage_juggernaut_exosuit"] = ::tryuseorbitaljuggernautexosuit; - precachempanim("orbital_care_package_open"); - precachempanim("orbital_care_package_fan_spin"); - level.ocp_weap_name = "orbital_carepackage_pod_mp"; - if(!isdefined(level.missileitemclipdelay)) - { - level.missileitemclipdelay = 3; - } -} - -//Function Number: 2 -tryusedefaultorbitalcarepackage(param_00,param_01) -{ - return tryuseorbitalcarepackage(param_00,"orbital_carepackage",param_01); -} - -//Function Number: 3 -tryuseorbitaljuggernautexosuit(param_00,param_01) -{ - return tryuseorbitalcarepackage(param_00,"orbital_carepackage_juggernaut_exosuit",param_01); -} - -//Function Number: 4 -tryuseorbitalcarepackage(param_00,param_01,param_02) -{ - if((common_scripts\utility::array_contains(param_02,"orbital_carepackage_drone") && maps\mp\_utility::currentactivevehiclecount() >= maps\mp\_utility::maxvehiclesallowed()) || level.fauxvehiclecount + 1 >= maps\mp\_utility::maxvehiclesallowed()) - { - self iprintlnbold(&"MP_TOO_MANY_VEHICLES"); - return 0; - } - - var_03 = playerlaunchcarepackage(param_01,param_02); - if(!isdefined(var_03) || !var_03) - { - return 0; - } - - if(param_01 == "orbital_carepackage") - { - maps\mp\gametypes\_missions::processchallenge("ch_streak_orbitalcare",1); - } - - return 1; -} - -//Function Number: 5 -playerlaunchcarepackage(param_00,param_01) -{ - var_02 = maps\mp\killstreaks\_orbital_util::playergetoutsidenode("carepackage"); - var_03 = undefined; - if(isdefined(var_02)) - { - var_03 = var_02.origin; - } - else if(isdefined(level.ishorde) && level.ishorde) - { - var_02 = [[ level.hordegetoutsideposition ]](); - var_03 = var_02.origin; - } - else - { - thread maps\mp\killstreaks\_orbital_util::playerplayinvalidpositioneffect(common_scripts\utility::getfx("ocp_ground_marker_bad")); - self setclientomnvar("ui_invalid_orbital_care_package",1); - return 0; - } - - var_04 = undefined; - if(common_scripts\utility::array_contains(param_01,"orbital_carepackage_drone")) - { - var_04 = spawnhelicopter(self,var_03 + (0,0,200),(0,0,0),"orbital_carepackage_drone_mp","orbital_carepackage_pod_01_vehicle"); - if(!isdefined(var_04)) - { - return 0; - } - - var_04 hide(); - } - - var_05 = firepod(level.ocp_weap_name,self,var_02,param_00,param_01,var_04,undefined,undefined,1); - return isdefined(var_05); -} - -//Function Number: 6 -firepod(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) -{ - if(!isdefined(param_06)) - { - param_06 = param_01 maps\mp\killstreaks\_orbital_util::playergetorbitalstartpos(param_02,"carepackage"); - } - - var_09 = param_02.origin; - if(!isdefined(param_07)) - { - param_07 = []; - } - - var_0A = magicbullet(param_00,param_06,var_09,param_01,0,1); - if(!isdefined(var_0A)) - { - return; - } - - var_0A thread setmissilespecialclipmaskdelayed(level.missileitemclipdelay); - if(!isdefined(level.iszombiegame) || !level.iszombiegame) - { - var_0A thread trajectory_kill(param_01); - } - - var_0B = param_01 createplayerdroppod(var_0A); - var_0B.streakname = param_03; - var_0B.modules = param_04; - var_0B.droppoint = param_02.origin; - var_0B.drone = param_05; - var_0B.givebackcarepackage = param_08; - var_0A.team = param_01.team; - var_0A.owner = param_01; - var_0A.type = "remote"; - return monitordrop(param_01,var_0A,var_0B,param_03,param_07,param_00); -} - -//Function Number: 7 -trajectory_kill(param_00) -{ - self endon("death"); - var_01 = self.origin; - while(isdefined(self)) - { - if(!level.teambased) - { - capsule_damage(10000,self.origin,var_01,30,undefined,param_00); - } - else - { - capsule_damage(10000,self.origin,var_01,30,level.otherteam[param_00.team],param_00); - } - - var_01 = self.origin; - wait(0.05); - } -} - -//Function Number: 8 -capsule_damage(param_00,param_01,param_02,param_03,param_04,param_05) -{ - var_06 = param_02 - param_01; - var_07 = vectornormalize(var_06); - var_08 = length(var_06); - var_09 = param_03 * param_03; - foreach(var_0B in level.characters) - { - if(!isalive(var_0B)) - { - continue; - } - - if(var_0B != param_05 && isdefined(param_04) && isdefined(var_0B.team) && var_0B.team != param_04) - { - continue; - } - - var_0C = var_0B.origin - param_01; - var_0D = vectordot(var_0C,var_07); - if(var_0D > param_03 * -1 && var_0D < var_08 + param_03) - { - var_0E = param_01 + var_07 * var_0D; - var_0F = distancesquared(var_0E,var_0B.origin); - if(var_0F <= var_09) - { - var_0B dodamage(param_00,var_0E,param_05,self,"MOD_EXPLOSIVE",level.ocp_weap_name); - } - } - } -} - -//Function Number: 9 -setmissilespecialclipmaskdelayed(param_00) -{ - self endon("death"); - wait(param_00); - self setmissilespecialclipmask(1); -} - -//Function Number: 10 -createplayerdroppod(param_00) -{ - var_01 = 0; - if(!isdefined(level._orbital_care_pod)) - { - level._orbital_care_pod = []; - } - else - { - level._orbital_care_pod = maps\mp\_utility::cleanarray(level._orbital_care_pod); - var_01 = level._orbital_care_pod.size; - } - - level._orbital_care_pod[var_01] = spawnstruct(); - level._orbital_care_pod[var_01].hasleftcam = 0; - level._orbital_care_pod[var_01].podrocket = param_00; - level._orbital_care_pod[var_01].podrocket.maxhealth = 100; - level._orbital_care_pod[var_01].podrocket.health = 100; - level._orbital_care_pod[var_01].podrocket.damagetaken = 0; - level._orbital_care_pod[var_01].podrocket.ispodrocket = 1; - level._orbital_care_pod[var_01].owner = self; - level._orbital_care_pod[var_01].alive = 1; - return level._orbital_care_pod[var_01]; -} - -//Function Number: 11 -rocket_cleanupondeath() -{ - var_00 = self getentitynumber(); - level.rockets[var_00] = self; - self waittill("death"); - if(isdefined(level.orbitaldropupgrade) && level.orbitaldropupgrade == 1) - { - magicgrenademanual("dna_aoe_grenade_throw_zombie_mp",self.origin + (0,0,64),(0,0,0),3,level.player,1); - } - - level.rockets[var_00] = undefined; - if(isdefined(self.killcament)) - { - self.killcament unlink(); - self.killcament.origin = self.killcament.origin + (0,0,300); - } -} - -//Function Number: 12 -getdroptypefromstreakname(param_00) -{ - switch(param_00) - { - case "orbital_carepackage_juggernaut_exosuit": - break; - - case "airdrop_reinforcement_common": - break; - - case "airdrop_reinforcement_uncommon": - break; - - case "airdrop_reinforcement_rare": - break; - - case "airdrop_reinforcement_practice": - break; - - case "horde_support_drop": - break; - - default: - break; - } -} - -//Function Number: 13 -allowdronedelivery(param_00) -{ - if(!isdefined(param_00)) - { - return 0; - } - - if(level.teambased && level.teamemped[param_00.team]) - { - return 0; - } - - if(!level.teambased && isdefined(level.empplayer) && level.empplayer != param_00) - { - return 0; - } - - return 1; -} - -//Function Number: 14 -monitordrop(param_00,param_01,param_02,param_03,param_04,param_05) -{ - var_06 = getdroptypefromstreakname(param_03); - if(var_06 == "airdrop_assault" && common_scripts\utility::array_contains(param_02.modules,"orbital_carepackage_odds")) - { - var_06 = "airdrop_assault_odds"; - } - - if(isdefined(level.getcratefordroptype)) - { - var_07 = [[ level.getcratefordroptype ]](var_06); - } - else - { - var_07 = maps\mp\killstreaks\_airdrop::getcratetypefordroptype(var_07); - } - - thread monitordropinternal(param_00,param_01,param_02,var_06,var_07,param_05); - return var_07; -} - -//Function Number: 15 -monitordropinternal(param_00,param_01,param_02,param_03,param_04,param_05) -{ - level endon("game_ended"); - param_01 thread rocket_cleanupondeath(); - var_06 = common_scripts\utility::array_contains(param_02.modules,"orbital_carepackage_trap"); - var_07 = param_00 maps\mp\killstreaks\_airdrop::createairdropcrate(param_00,param_03,param_04,param_01.origin,undefined,var_06,0); - var_07.moduletrap = common_scripts\utility::array_contains(param_02.modules,"orbital_carepackage_trap"); - var_07.modulehide = common_scripts\utility::array_contains(param_02.modules,"orbital_carepackage_hide"); - var_07.moduleroll = common_scripts\utility::array_contains(param_02.modules,"orbital_carepackage_roll"); - var_07.modulepickup = common_scripts\utility::array_contains(param_02.modules,"orbital_carepackage_fast_pickup"); - var_07.angles = (0,0,0); - var_07.en_route_in_air = 1; - param_01.killcament = var_07.killcament; - if(param_05 == "orbital_carepackage_pod_plane_mp") - { - param_01.killcament.killcamstarttime = gettime(); - } - - var_08 = common_scripts\utility::array_contains(param_02.modules,"orbital_carepackage_drone"); - var_09 = spawn("script_model",param_02.droppoint + (0,0,5)); - var_09.angles = (-90,0,0); - var_09 setmodel("tag_origin"); - var_09 hide(); - var_09 showtoplayer(param_00); - playfxontag(common_scripts\utility::getfx("ocp_ground_marker"),var_09,"tag_origin"); - var_09 thread carepackagesetupminimap(param_02.modules,param_00); - maps\mp\killstreaks\_orbital_util::adddropmarker(var_09); - if(var_08) - { - param_00 thread playermonitorfordronedelivery(param_01,param_02,var_09,var_07); - } - - var_07 linkto(param_01,"tag_origin",(0,0,0),(-90,0,0)); - param_01 waittill("death",var_0A,var_0B,var_0C); - if(isdefined(param_01) && !var_08 && param_01.origin[2] > param_02.droppoint[2] && distancesquared(param_01.origin,param_02.droppoint) > 22500) - { - if(param_02.givebackcarepackage) - { - if(isdefined(level.ishorde) && level.ishorde) - { - var_0D = [[ level.hordegetoutsideposition ]](); - firepod(level.ocp_weap_name,self,var_0D,"horde_support_drop",param_02.modules,0,undefined,undefined,1); - } - else if(isdefined(param_00)) - { - param_00 playergivebackcarepackage(param_02); - } - } - - level thread cleanupcarepackage(param_02,var_07,var_09); - return; - } - - if(var_08 && allowdronedelivery(param_00) && isdefined(param_02.drone)) - { - param_02.drone show(); - } - else - { - earthquake(0.4,1,param_02.droppoint,800); - playrumbleonposition("artillery_rumble",param_02.droppoint); - } - - killfxontag(common_scripts\utility::getfx("ocp_ground_marker"),var_09,"tag_origin"); - param_02.alive = 0; - if(var_08 && allowdronedelivery(param_00) && isdefined(param_02.drone)) - { - param_02.drone waittill("delivered"); - var_07 setcontents(var_07.oldcontents); - var_07.oldcontents = undefined; - } - - var_09 thread carepackagecleanup(var_07); - var_07 clonebrushmodeltoscriptmodel(level.airdropcratecollision); - var_07.droppingtoground = 1; - var_07 unlink(); - var_07 physicslaunchserver((0,0,0)); - var_07 thread cratedetectstopphysics(); - var_07 thread orbitalphysicswaiter(param_03,param_04,param_00); - level thread removepod(var_07,param_02); - var_07.en_route_in_air = 0; -} - -//Function Number: 16 -crateimpactcleanup(param_00) -{ - if(!isdefined(param_00)) - { - return; - } - - var_01 = getnodesinradiussorted(self.origin,300,0,300); - foreach(var_03 in level.characters) - { - if(!isalive(var_03)) - { - continue; - } - - if(isalliedsentient(var_03,param_00)) - { - if(var_03 istouching(self)) - { - foreach(var_05 in var_01) - { - if(distancesquared(var_05.origin,self.origin) > 10000) - { - var_03 setorigin(var_05.origin,1); - var_01 = common_scripts\utility::array_remove(var_01,var_05); - break; - } - } - } - } - } -} - -//Function Number: 17 -cratedetectstopphysics() -{ - self endon("physics_finished"); - self endon("death"); - var_00 = 4; - var_01 = var_00 / 0.05; - var_02 = 25; - var_03 = 0; - var_04 = self.origin; - for(;;) - { - wait 0.05; - var_05 = distancesquared(var_04,self.origin); - if(var_05 < var_02) - { - var_03++; - } - else - { - var_03 = 0; - } - - var_04 = self.origin; - if(var_03 >= var_01) - { - self physicsstop(); - return; - } - } -} - -//Function Number: 18 -playergivebackcarepackage(param_00) -{ - var_01 = maps\mp\killstreaks\_killstreaks::getstreakcost("orbital_carepackage"); - var_02 = maps\mp\killstreaks\_killstreaks::getnextkillstreakslotindex("orbital_carepackage",0); - thread maps\mp\gametypes\_hud_message::killstreaksplashnotify("orbital_carepackage",var_01,undefined,param_00.modules,var_02); - thread maps\mp\killstreaks\_killstreaks::givekillstreak("orbital_carepackage",0,0,self,param_00.modules); -} - -//Function Number: 19 -cleanupcarepackage(param_00,param_01,param_02) -{ - if(isdefined(param_01)) - { - thread removepod(param_01,param_00); - param_01 delete(); - } - - if(isdefined(param_00.drone)) - { - param_00.drone maps\mp\killstreaks\_drone_carepackage::carepackagedrone_remove(); - } - - if(isdefined(param_02)) - { - if(isdefined(param_02.objidfriendly)) - { - maps\mp\_utility::_objective_delete(param_02.objidfriendly); - } - - if(isdefined(param_02.objidenemy)) - { - maps\mp\_utility::_objective_delete(param_02.objidenemy); - } - - killfxontag(common_scripts\utility::getfx("ocp_ground_marker"),param_02,"tag_origin"); - wait 0.05; - param_02 delete(); - } -} - -//Function Number: 20 -orbitalphysicswaiter(param_00,param_01,param_02) -{ - self endon("death"); - maps\mp\killstreaks\_airdrop::physicswaiter(param_00,param_01); - self playsound("orbital_pkg_panel"); - if(isdefined(self.enemymodel)) - { - self.enemymodel thread orbitalanimate(); - self.enemymodel solid(); - } - - if(isdefined(self.friendlymodel)) - { - self.friendlymodel thread orbitalanimate(); - self.friendlymodel solid(); - } - - thread crateimpactcleanup(param_02); -} - -//Function Number: 21 -orbitalanimate(param_00) -{ - self endon("death"); - if(!isdefined(param_00) || !param_00) - { - wait(0.75); - } - - if(isdefined(param_00) && param_00) - { - self scriptmodelplayanim("orbital_care_package_open_loop"); - } - else - { - self scriptmodelplayanim("orbital_care_package_open"); - } - - playfxontag(common_scripts\utility::getfx("ocp_glow"),self,"TAG_ORIGIN"); - if(!isdefined(param_00) || !param_00) - { - wait 0.05; - playfxontag(common_scripts\utility::getfx("vfx_ocp_steam2"),self,"TAG_FX_PANEL_F"); - playfxontag(common_scripts\utility::getfx("vfx_ocp_steam2"),self,"TAG_FX_PANEL_K"); - wait 0.05; - playfxontag(common_scripts\utility::getfx("vfx_ocp_steam"),self,"TAG_FX_PANEL_FR"); - playfxontag(common_scripts\utility::getfx("vfx_ocp_steam"),self,"TAG_FX_PANEL_KL"); - wait 0.05; - playfxontag(common_scripts\utility::getfx("vfx_ocp_steam"),self,"TAG_FX_PANEL_FL"); - playfxontag(common_scripts\utility::getfx("vfx_ocp_steam"),self,"TAG_FX_PANEL_KR"); - } -} - -//Function Number: 22 -delaycleanupdroppod(param_00) -{ - wait(5); - param_00 delete(); -} - -//Function Number: 23 -removepod(param_00,param_01) -{ - param_00 waittill("death"); - wait(15); - for(var_02 = 0;var_02 < level._orbital_care_pod.size;var_02++) - { - if(isdefined(level._orbital_care_pod[var_02]) && level._orbital_care_pod[var_02] == param_01) - { - if(level._orbital_care_pod[var_02].alive == 0) - { - level._orbital_care_pod[var_02] = undefined; - } - } - } - - if(isdefined(param_01)) - { - param_01 = undefined; - } -} - -//Function Number: 24 -carepackagesetupminimap(param_00,param_01) -{ - self endon("death"); - if(common_scripts\utility::array_contains(param_00,"orbital_carepackage_hide")) - { - return; - } - - var_02 = maps\mp\gametypes\_gameobjects::getnextobjid(); - objective_add(var_02,"invisible",(0,0,0)); - objective_position(var_02,self.origin); - objective_state(var_02,"active"); - var_03 = "compass_objpoint_ammo_friendly"; - objective_icon(var_02,var_03); - if(!level.teambased) - { - objective_playerteam(var_02,param_01 getentitynumber()); - } - else - { - objective_team(var_02,param_01.team); - } - - self.objidfriendly = var_02; - if(!isdefined(level.ishorde) && level.ishorde) - { - var_02 = maps\mp\gametypes\_gameobjects::getnextobjid(); - objective_add(var_02,"invisible",(0,0,0)); - objective_position(var_02,self.origin); - objective_state(var_02,"active"); - objective_icon(var_02,"compass_objpoint_ammo_enemy"); - if(!level.teambased) - { - objective_playerenemyteam(var_02,param_01 getentitynumber()); - } - else - { - objective_team(var_02,level.otherteam[param_01.team]); - } - - self.objidenemy = var_02; - } - - if(common_scripts\utility::array_contains(param_00,"orbital_carepackage_drone")) - { - self waittill("linkedToDrone"); - objective_onentity(self.objidfriendly,self); - if(isdefined(self.objidenemy)) - { - objective_onentity(self.objidenemy,self); - self show(); - } - } -} - -//Function Number: 25 -carepackagecleanup(param_00) -{ - param_00 common_scripts\utility::waittill_any("physics_finished","death"); - if(isdefined(self.objidfriendly)) - { - maps\mp\_utility::_objective_delete(self.objidfriendly); - } - - if(isdefined(self.objidenemy)) - { - maps\mp\_utility::_objective_delete(self.objidenemy); - } - - killfxontag(common_scripts\utility::getfx("ocp_glow"),self,"TAG_ORIGIN"); - if(isdefined(level.ishorde) && level.ishorde) - { - param_00 notify("drop_pod_cleared"); - } - - wait 0.05; - self delete(); -} - -//Function Number: 26 -setupdamagecallback(param_00) -{ - param_00.health = 500; - param_00.maxhealth = param_00.health; - param_00.readytodie = 0; - setupdamagecallbackinternal(param_00.friendlymodel); - setupdamagecallbackinternal(param_00.enemymodel); -} - -//Function Number: 27 -setupdamagecallbackinternal(param_00) -{ - param_00 thread maps\mp\gametypes\_damage::setentitydamagecallback(9999,undefined,undefined,::cratehandledamagecallback,1); -} - -//Function Number: 28 -disabledamagecallback(param_00) -{ - disabledamagecallbackinternal(param_00.friendlymodel); - disabledamagecallbackinternal(param_00.enemymodel); -} - -//Function Number: 29 -disabledamagecallbackinternal(param_00) -{ - param_00.damagecallback = undefined; - param_00 setcandamage(0); - param_00 setdamagecallbackon(0); -} - -//Function Number: 30 -cratehandledamagecallback(param_00,param_01,param_02,param_03) -{ - var_04 = self; - if(isdefined(self.parentcrate)) - { - var_04 = self.parentcrate; - } - - var_05 = maps\mp\gametypes\_damage::modifydamage(param_00,param_01,param_02,param_03); - var_04.health = var_04.health - var_05; - if(var_04.health <= 0) - { - disabledamagecallback(var_04); - var_04 notify("disabled"); - } - - return 0; -} - -//Function Number: 31 -playermonitorfordronedelivery(param_00,param_01,param_02,param_03) -{ - self endon("disconenct"); - self endon("joined_team"); - self endon("joined_spectators"); - var_04 = 576; - var_05 = 250000; - var_06 = param_01.droppoint; - var_07 = param_00.origin; - var_08 = distancesquared(var_07,var_06); - setupdamagecallback(param_03); - var_09 = param_01.drone; - var_09 thread carepackagedronewatchcratedeath(param_03); - param_03.oldcontents = param_03 setcontents(0); - param_03.friendlymodel solid(); - param_03.enemymodel solid(); - for(;;) - { - if(!isdefined(param_00)) - { - break; - } - - var_07 = param_00.origin; - var_08 = distancesquared(var_07,var_06); - if(var_08 <= var_05) - { - break; - } - - wait 0.05; - } - - if(var_08 > var_05) - { - if(param_01.givebackcarepackage && allowdronedelivery(self)) - { - playergivebackcarepackage(param_01); - } - - level thread cleanupcarepackage(param_01,param_03,param_02); - return; - } - - if(!isdefined(self)) - { - level thread cleanupcarepackage(param_01,param_03,param_02); - return; - } - - if(!allowdronedelivery(self)) - { - level thread cleanupcarepackage(param_03,undefined,undefined); - return; - } - - var_09 thread carepackagedronewatchdeath(); - var_09 endon("death"); - var_09 vehicle_teleport(param_03.origin,param_03.angles,0,0); - param_03 linkto(var_09,"tag_origin",(0,0,0),(0,0,0)); - param_03.friendlymodel scriptmodelplayanim("orbital_care_package_fan_spin","nothing"); - param_03.enemymodel scriptmodelplayanim("orbital_care_package_fan_spin","nothing"); - maps\mp\killstreaks\_drone_carepackage::setupcarepackagedrone(var_09,1); - var_09.crate = param_03; - if(isdefined(param_00)) - { - var_07 = param_00.origin; - param_00 notify("death"); - param_00 delete(); - } - - playsoundatpos(var_07,"orbital_pkg_pod_midair_exp"); - playfx(common_scripts\utility::getfx("ocp_midair"),var_07,getdvarvector("scr_ocp_forward",(0,0,-1))); - var_09 thread drone_thrusterfx(); - var_0A = param_01.droppoint + (0,0,35); - var_09 setvehgoalpos(var_0A,1); - var_09 vehicle_setspeedimmediate(getdvarfloat("scr_ocp_dropspeed",30),getdvarfloat("scr_ocp_dropa",20),getdvarfloat("scr_ocp_dropd",1)); - var_09 sethoverparams(30,5,5); - var_09 setmaxpitchroll(15,15); - while(distancesquared(var_09.origin,var_0A) > var_04 && param_03.health > 0) - { - wait 0.05; - } - - if(param_03.health > 0) - { - wait(1); - } - - if(param_03.health > 0) - { - param_02 linkto(var_09,"tag_origin"); - param_02 notify("linkedToDrone"); - var_09 thread maps\mp\killstreaks\_drone_carepackage::carepackagedrone_deleteonactivate(); - var_09 carepackagedronefindowner(); - } - - disabledamagecallback(param_03); - param_03 playsoundonmovingent("orbital_pkg_drone_jets_off"); - if(isdefined(var_09)) - { - var_09 drone_stopthrustereffects(); - } - - param_03.friendlymodel scriptmodelclearanim("orbital_care_package_fan_spin","nothing"); - param_03.enemymodel scriptmodelclearanim("orbital_care_package_fan_spin","nothing"); - wait 0.05; - if(isdefined(var_09)) - { - var_09 maps\mp\killstreaks\_drone_carepackage::carepackagedrone_delete(); - } -} - -//Function Number: 32 -carepackagedronewatchdeath() -{ - self endon("delivered"); - self waittill("death"); - self notify("delivered"); -} - -//Function Number: 33 -carepackagedronewatchcratedeath(param_00) -{ - self endon("delivered"); - param_00 waittill("disabled"); - self notify("delivered"); -} - -//Function Number: 34 -carepackagedronefindowner() -{ - var_00 = self.owner; - var_00 endon("disconnect"); - self endon("death"); - self endon("delivered"); - var_01 = 22500; - var_02 = 1; - var_03 = gettime(); - for(;;) - { - var_04 = maps\mp\_utility::isreallyalive(var_00); - if(!var_04) - { - var_02 = 1; - wait 0.05; - } - - if(var_03 < gettime() || var_02) - { - var_02 = 0; - self setdronegoalpos(var_00,(0,-100,15)); - var_03 = gettime() + 1000; - } - - var_05 = distancesquared(self.origin,var_00.origin + (0,0,15)); - if(var_05 < var_01) - { - wait(getdvarfloat("scr_ocp_waitDeliver",1)); - self notify("delivered"); - return; - } - - wait 0.05; - } -} - -//Function Number: 35 -drone_thrusterfx() -{ - self endon("death"); - playfxontag(common_scripts\utility::getfx("ocp_thruster_small"),self,"j_thruster_fl"); - playfxontag(common_scripts\utility::getfx("ocp_thruster_small"),self,"j_thruster_fr"); - playfxontag(common_scripts\utility::getfx("ocp_thruster_small"),self,"j_thruster_kl"); - playfxontag(common_scripts\utility::getfx("ocp_thruster_small"),self,"j_thruster_kr"); - wait 0.05; - wait 0.05; - if(isdefined(self)) - { - playfxontag(common_scripts\utility::getfx("ocp_exhaust"),self,"tag_fx"); - } - - for(;;) - { - level waittill("connected",var_00); - thread drone_thrusterplayerconnected(var_00); - } -} - -//Function Number: 36 -drone_thrusterplayerconnected(param_00) -{ - param_00 endon("disconnect"); - param_00 waittill("spawned_player"); - if(isdefined(param_00) && isdefined(self)) - { - drone_thrusterplayer(param_00); - } -} - -//Function Number: 37 -drone_thrusterplayer(param_00) -{ - param_00 endon("disconnect"); - self endon("death"); - playfxontagforclients(common_scripts\utility::getfx("ocp_thruster_small"),self,"j_thruster_fl",param_00); - playfxontagforclients(common_scripts\utility::getfx("ocp_thruster_small"),self,"j_thruster_fr",param_00); - playfxontagforclients(common_scripts\utility::getfx("ocp_thruster_small"),self,"j_thruster_kl",param_00); - playfxontagforclients(common_scripts\utility::getfx("ocp_thruster_small"),self,"j_thruster_kr",param_00); - wait 0.05; - wait 0.05; - if(isdefined(self)) - { - playfxontagforclients(common_scripts\utility::getfx("ocp_exhaust"),self,"tag_fx",param_00); - } -} - -//Function Number: 38 -drone_stopthrustereffects() -{ - killfxontag(common_scripts\utility::getfx("ocp_thruster_small"),self,"j_thruster_fl"); - killfxontag(common_scripts\utility::getfx("ocp_thruster_small"),self,"j_thruster_fr"); - killfxontag(common_scripts\utility::getfx("ocp_thruster_small"),self,"j_thruster_kl"); - killfxontag(common_scripts\utility::getfx("ocp_thruster_small"),self,"j_thruster_kr"); - wait 0.05; - wait 0.05; - if(isdefined(self)) - { - killfxontag(common_scripts\utility::getfx("ocp_exhaust"),self,"tag_fx"); - } -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/killstreaks/_orbital_util.gsc b/AW/PC/ZM/maps/mp/killstreaks/_orbital_util.gsc deleted file mode 100644 index fecf860..0000000 --- a/AW/PC/ZM/maps/mp/killstreaks/_orbital_util.gsc +++ /dev/null @@ -1,833 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_orbital_util.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 37 - * Decompile Time: 574 ms - * Timestamp: 10/27/2023 2:09:50 AM -*******************************************************************/ - -//Function Number: 1 -initstart() -{ - level.orbital_util_remote_traces_frame = 0; - level.orbital_util_remote_traces = 5; - level.orbital_util_capsule_traces_frame = 0; - level.orbital_util_capsule_traces = 5; - level.orbital_util_last_trace = 0; - level thread deletemapremotemissileclip(); - level.orbital_util_covered_volumes = getentarray("orbital_node_covered","targetname"); -} - -//Function Number: 2 -deletemapremotemissileclip() -{ - var_00 = getentarray("carepackage_clip","targetname"); - foreach(var_02 in var_00) - { - var_02 delete(); - } -} - -//Function Number: 3 -playergetoutsidenode(param_00) -{ - if(!isdefined(param_00)) - { - param_00 = "goliath"; - } - - var_01 = playergetnodelookingat(param_00); - if(!isdefined(var_01)) - { - return; - } - - self.lastnodelookingattrace = undefined; - return var_01; -} - -//Function Number: 4 -playergetorbitalstartpos(param_00,param_01) -{ - if(!isdefined(param_01)) - { - param_01 = "goliath"; - } - - var_02 = maps\mp\killstreaks\_aerial_utility::getentorstructarray("remoteMissileSpawn","targetname"); - var_03 = nodegetremotemissileorigin(param_00,var_02,param_01); - if(isdefined(var_03)) - { - return var_03; - } - - return nodegetremotemissileorgfromabove(param_00); -} - -//Function Number: 5 -getstartpositionabove(param_00) -{ - return param_00.origin + (0,0,24000); -} - -//Function Number: 6 -adddropmarker(param_00,param_01) -{ - if(!isdefined(param_01)) - { - param_01 = "goliath"; - } - - param_00.orbitaltype = param_01; - level.orbitaldropmarkers[level.orbitaldropmarkers.size] = param_00; - thread _adddropmarkerinternal(param_00); -} - -//Function Number: 7 -playerplayinvalidpositioneffect(param_00) -{ - var_01 = self.lastnodelookingattrace; - var_02 = self.lastnearestnode; - if(!isdefined(var_01)) - { - var_03 = anglestoforward(self getplayerangles()); - var_04 = self geteye(); - var_05 = var_04 + var_03 * 500; - var_01 = bullettrace(var_04,var_05,0,self,1,0,0,0,0); - } - - self.lastnodelookingattrace = undefined; - self.lastnearestnode = undefined; - var_06 = var_01["position"]; - if(isdefined(var_02)) - { - var_07 = var_01["normal"]; - var_08 = var_07[2] > 0.8; - if(!var_08) - { - var_06 = var_02.origin; - } - } - - var_09 = spawn("script_model",var_06 + (0,0,5)); - var_09.angles = (-90,0,0); - var_09 setmodel("tag_origin"); - var_09 hide(); - var_09 showtoplayer(self); - playfxontag(param_00,var_09,"tag_origin"); - wait(5); - var_09 delete(); -} - -//Function Number: 8 -playergetnodelookingat(param_00) -{ - var_01 = anglestoforward(self getplayerangles()); - var_02 = self geteye(); - var_03 = var_02 + var_01 * 500; - var_04 = bullettrace(var_02,var_03,0,self,1,0,0,0,0); - self.lastnodelookingattrace = var_04; - var_05 = var_04["fraction"] == 1; - if(var_05) - { - return playergetnearestnode(undefined,param_00); - } - - var_06 = var_04["position"]; - var_07 = getnodesinradius(var_06,128,0,60); - var_08 = var_07.size == 0; - if(var_08) - { - return playergetnearestnode(undefined,param_00); - } - - var_09 = var_04["normal"]; - var_0A = var_09[2] > 0.8; - if(!var_0A) - { - return playergetnearestnode(var_06,param_00); - } - - if(orbitalbadlandingcheck(var_06)) - { - return playergetnearestnode(var_06,param_00); - } - - if(param_00 == "goliath") - { - if(goliathbadlandingcheck(var_06)) - { - return playergetnearestnode(var_06,param_00); - } - } - - var_0B = carepackagetrace(var_06,self,param_00); - if(!var_0B) - { - return playergetnearestnode(var_06,param_00); - } - - if(groundpositionoffedge(var_06,param_00)) - { - return playergetnearestnode(var_06,param_00); - } - - var_0D = spawnstruct(); - var_0D.origin = var_06; - var_0E = maps\mp\killstreaks\_aerial_utility::getentorstructarray("remoteMissileSpawn","targetname"); - var_0F = nodegetremotemissileorigin(var_0D,var_0E,param_00); - if(!isdefined(var_0F)) - { - return playergetnearestnode(var_06,param_00); - } - - return var_0D; -} - -//Function Number: 9 -groundpositionoffedge(param_00,param_01) -{ - if(param_01 == "goliath") - { - var_02 = 41; - } - else - { - var_02 = 26; - } - - var_03 = (var_02,0,0); - var_04 = -1 * var_03; - var_05 = (0,var_02,0); - var_06 = -1 * var_05; - var_07 = (0,0,-10); - var_08 = [var_03,var_04,var_05,var_06]; - foreach(var_0A in var_08) - { - var_0B = param_00 + var_0A; - var_0C = param_00 + var_0A + var_07; - var_0D = bullettracepassed(var_0B,var_0C,0,undefined); - if(var_0D) - { - return 1; - } - } - - return 0; -} - -//Function Number: 10 -_nodefindnewremotemissileorg(param_00,param_01,param_02) -{ - var_03 = nodefindremotemissleent(param_00,param_01,param_02); - if(isdefined(var_03)) - { - return nodegetremotemissleentorg(param_00,param_01); - } - - var_04 = nodetestfirefromabove(param_00,param_02); - if(isdefined(var_04)) - { - return nodegetremotemissileorgfromabove(param_00); - } -} - -//Function Number: 11 -nodegetremotemissileorigin(param_00,param_01,param_02) -{ - if(nodehasremotemissiledataset(param_00)) - { - if(!nodeisremotemissilefromabove(param_00)) - { - return nodegetremotemissleentorg(param_00,param_01); - } - - return nodegetremotemissileorgfromabove(param_00); - } - - return _nodefindnewremotemissileorg(param_00,param_01,param_02); -} - -//Function Number: 12 -nodeispathnode(param_00) -{ - return isdefined(param_00.type); -} - -//Function Number: 13 -nodeisremotemissilefromabove(param_00) -{ - return (nodeispathnode(param_00) && nodehasremotemissileset(param_00) && nodegetremotemissilename(param_00) == "up") || isdefined(param_00.bestmissilespawnabove); -} - -//Function Number: 14 -nodehasremotemissiledataset(param_00) -{ - return (nodeispathnode(param_00) && nodehasremotemissileset(param_00)) || isdefined(param_00.bestmissilespawnabove) || isdefined(param_00.bestmissilespawn); -} - -//Function Number: 15 -nodegetremotemissileorgfromabove(param_00) -{ - return getstartpositionabove(param_00); -} - -//Function Number: 16 -nodetestfirefromabove(param_00,param_01) -{ - var_02 = getstartpositionabove(param_00); - var_03 = remotemissileenttracetooriginpassedwrapper(var_02,param_00.origin,param_01); - if(var_03) - { - param_00.bestmissilespawnabove = var_02; - return var_02; - } -} - -//Function Number: 17 -nodegetremotemissleentorg(param_00,param_01) -{ - var_02 = undefined; - if(nodeispathnode(param_00) && nodehasremotemissileset(param_00)) - { - var_03 = nodegetremotemissilename(param_00); - foreach(var_05 in param_01) - { - if(isdefined(var_05.script_noteworthy) && var_05.script_noteworthy == var_03) - { - var_02 = var_05; - } - } - } - else if(isdefined(param_00.bestmissilespawn)) - { - var_02 = param_00.bestmissilespawn; - } - - var_07 = vectornormalize(var_02.origin - param_00.origin); - return param_00.origin + var_07 * 24000; -} - -//Function Number: 18 -nodefindremotemissleent(param_00,param_01,param_02) -{ - param_01 = sortbydistance(param_01,param_00.origin); - foreach(var_04 in param_01) - { - var_05 = remotemissileenttracetooriginpassedwrapper(var_04.origin,param_00.origin,param_02); - if(var_05) - { - param_00.bestmissilespawn = var_04; - return var_04; - } - - wait 0.05; - } -} - -//Function Number: 19 -remotemissileenttracetooriginpassedwrapper(param_00,param_01,param_02) -{ - if(level.orbital_util_remote_traces_frame != gettime()) - { - level.orbital_util_remote_traces_frame = gettime(); - level.orbital_util_remote_traces = 5; - } - - if(level.orbital_util_remote_traces <= 0) - { - if(level.orbital_util_last_trace != gettime()) - { - wait 0.05; - level.orbital_util_last_trace = gettime(); - } - - level.orbital_util_remote_traces = 5; - } - - level.orbital_util_remote_traces--; - var_03 = 26; - if(param_02 == "goliath") - { - var_03 = 41; - } - - return remotemissileenttracetooriginpassed(param_00,param_01,var_03,1); -} - -//Function Number: 20 -nodecanhitground(param_00,param_01) -{ - if(orbitalbadlandingcheck(param_00.origin)) - { - return 0; - } - - if(isdefined(param_01) && param_01 == "goliath") - { - if(goliathbadlandingcheck(param_00.origin)) - { - return 0; - } - } - - if(nodehasremotemissileset(param_00)) - { - return nodegetremotemissilename(param_00) != "none"; - } - - return nodeexposedtosky(param_00,1); -} - -//Function Number: 21 -carepackagetrace(param_00,param_01,param_02) -{ - var_03 = 100; - if(param_02 == "goliath") - { - var_04 = 41; - } - else - { - var_04 = 26; - } - - foreach(var_06 in level.orbitaldropmarkers) - { - var_07 = var_04; - if(var_06.orbitaltype == "goliath") - { - var_07 = var_07 + 41; - } - else - { - var_07 = var_07 + 26; - } - - var_08 = var_07 * var_07; - var_09 = distance2dsquared(var_06.origin,param_00); - if(var_09 < var_08) - { - return 0; - } - } - - if(level.orbital_util_capsule_traces_frame != gettime()) - { - level.orbital_util_capsule_traces_frame = gettime(); - level.orbital_util_capsule_traces = 5; - } - - if(level.orbital_util_capsule_traces <= 0) - { - if(level.orbital_util_last_trace != gettime()) - { - wait 0.05; - level.orbital_util_last_trace = gettime(); - } - - level.orbital_util_capsule_traces = 5; - } - - level.orbital_util_capsule_traces--; - return capsuletracepassed(param_00 + (0,0,6),var_04,var_04 * 2,param_01,0); -} - -//Function Number: 22 -playergetnearestnode(param_00,param_01) -{ - if(!isdefined(param_00)) - { - var_02 = 300; - var_03 = self geteye(); - var_04 = anglestoforward(self.angles); - var_05 = var_03 + var_04 * var_02; - var_06 = bullettrace(var_03,var_05,0,self); - param_00 = var_05; - if(var_06["fraction"] < 1) - { - param_00 = var_03 + var_04 * var_02 * var_06["fraction"]; - } - } - - var_07 = getclosestnodeinsight(param_00,1); - var_08 = isdefined(var_07); - if(var_08) - { - var_08 = nodecanhitground(var_07,param_01) && carepackagetrace(var_07.origin,self,param_01); - } - - if(var_08) - { - return var_07; - } - - var_09 = spawnstruct(); - var_09.maxtracesperframe = 5; - var_09.maxnodes = 20; - var_09.numtraces = 5; - playerfindnodeinfront(param_00,param_01,var_09); - var_0A = var_09.nearestnode; - if(isdefined(var_0A)) - { - return var_0A; - } - - if(!isdefined(var_07)) - { - var_07 = playergetclosestnode(500,100,self.origin,0,1,param_01); - if(!isdefined(var_07)) - { - var_07 = playergetclosestnode(500,0,self.origin,0,0,param_01); - } - - if(!isdefined(var_07)) - { - var_07 = self getnearestnode(); - } - } - - self.lastnearestnode = var_07; - if(isdefined(var_07)) - { - return playerfindaltnode(var_07,param_01); - } -} - -//Function Number: 23 -orbitalbadlandingcheck(param_00) -{ - if(isdefined(level.orbital_util_covered_volumes) && level.orbital_util_covered_volumes.size > 0) - { - var_01 = 0; - foreach(var_03 in level.orbital_util_covered_volumes) - { - var_01 = ispointinvolume(param_00,var_03); - if(var_01) - { - return 1; - } - } - } - - return 0; -} - -//Function Number: 24 -goliathbadlandingcheck(param_00) -{ - if(isdefined(level.goliath_bad_landing_volumes)) - { - foreach(var_02 in level.goliath_bad_landing_volumes) - { - if(ispointinvolume(param_00,var_02)) - { - return 1; - } - } - } - - return 0; -} - -//Function Number: 25 -playerfindnodeinfront(param_00,param_01,param_02) -{ - var_03 = 500; - var_04 = 100; - var_05 = playerfindnodeinfrontinternal(param_00,var_04,var_03,param_01,param_02); - if(!isdefined(var_05) && param_02.maxnodes > 0) - { - var_04 = 0; - var_05 = playerfindnodeinfrontinternal(param_00,var_04,var_03,param_01,param_02); - } - - param_02.nearestnode = var_05; -} - -//Function Number: 26 -playerfindnodeinfrontinternal(param_00,param_01,param_02,param_03,param_04) -{ - while(param_01 < param_02 && param_04.maxnodes > 0) - { - var_05 = playergetclosestnode(param_02,param_01,param_00,1,1,param_03); - if(param_04.numtraces <= 0 && !tracedonerecently()) - { - wait 0.05; - param_04.numtraces = param_04.maxtracesperframe; - } - - if(isdefined(var_05)) - { - param_04.numtraces--; - param_04.maxnodes--; - var_06 = self geteye(); - var_07 = var_05.origin + (0,0,6); - var_08 = bullettrace(var_06,var_07,0,self); - var_09 = var_08["fraction"] == 1 && carepackagetrace(var_05.origin,self,param_03); - if(var_09) - { - return var_05; - } - - param_01 = distance(param_00,var_05.origin) + 1; - continue; - } - - param_01 = param_02 + 1; - } -} - -//Function Number: 27 -playerfindaltnode(param_00,param_01) -{ - var_02 = checknodestart(param_00,self,param_01); - if(isdefined(var_02)) - { - if(orbitalbadlandingcheck(var_02.origin)) - { - return undefined; - } - - if(param_01 == "goliath") - { - if(goliathbadlandingcheck(var_02.origin)) - { - return undefined; - } - } - - return var_02; - } -} - -//Function Number: 28 -tracedonerecently() -{ - return level.orbital_util_last_trace == gettime(); -} - -//Function Number: 29 -checknodestart(param_00,param_01,param_02) -{ - var_03 = 250000; - var_04 = 20; - param_00.linkdistance = 0; - param_00.nodechecked = 1; - var_05 = spawnstruct(); - var_05.nodestocheck = []; - var_05.nodeschecked = []; - var_05.nodeschecked["" + param_00 getnodenumber()] = param_00; - var_05.nextnodes = getlinkednodes(param_00,1); - addnodestobechecked(var_05,1,param_00,var_03,param_01,param_02); - var_06 = 0; - for(;;) - { - var_07 = getnextnode(var_05); - if(isdefined(var_07)) - { - var_06++; - if(!carepackagetrace(var_07.origin,param_01,param_02)) - { - var_07.nodechecked = 1; - var_05.nodestocheck["" + var_07 getnodenumber()] = undefined; - var_05.nodeschecked["" + var_07 getnodenumber()] = var_07; - var_08 = var_07.linkdistance + 1; - if(var_08 <= 6) - { - var_05.nextnodes = getlinkednodes(var_07,1); - addnodestobechecked(var_05,var_08,var_07,var_03,param_01,param_02); - } - } - else - { - cleanupnodefields(var_05); - return var_07; - } - } - else - { - cleanupnodefields(var_05); - return; - } - - if(var_06 >= var_04) - { - if(!tracedonerecently()) - { - wait 0.05; - } - - var_06 = 0; - } - } -} - -//Function Number: 30 -cleanupnodefields(param_00) -{ - foreach(var_02 in param_00.nodestocheck) - { - var_02.linkdistance = undefined; - var_02.nodechecked = undefined; - } - - foreach(var_02 in param_00.nodeschecked) - { - var_02.linkdistance = undefined; - var_02.nodechecked = undefined; - } -} - -//Function Number: 31 -getnextnode(param_00) -{ - if(param_00.nodestocheck.size == 0) - { - return; - } - - var_01 = undefined; - var_02 = undefined; - var_03 = getarraykeys(param_00.nodestocheck); - for(var_04 = 0;var_04 < var_03.size;var_04++) - { - var_05 = param_00.nodestocheck[var_03[var_04]]; - if(!isdefined(var_01) || var_05.linkdistance < var_02) - { - var_01 = var_05; - var_02 = var_05.linkdistance; - } - } - - return var_01; -} - -//Function Number: 32 -addnodestobechecked(param_00,param_01,param_02,param_03,param_04,param_05) -{ - for(var_06 = 0;var_06 < param_00.nextnodes.size;var_06++) - { - var_07 = param_00.nextnodes[var_06]; - if(!isdefined(var_07.nodechecked)) - { - var_08 = nodecanhitground(var_07,param_05); - if(var_08) - { - var_09 = distancesquared(var_07.origin,param_04.origin); - var_08 = var_09 < param_03; - } - - if(!var_08) - { - var_07.nodechecked = 1; - param_00.nodeschecked["" + var_07 getnodenumber()] = var_07; - } - else if(!isdefined(var_07.linkdistance)) - { - var_07.linkdistance = param_01; - param_00.nodestocheck["" + var_07 getnodenumber()] = var_07; - } - else if(var_07.linkdistance > param_01) - { - var_07.linkdistance = param_01; - } - } - } -} - -//Function Number: 33 -playergetclosestnode(param_00,param_01,param_02,param_03,param_04,param_05) -{ - if(!isdefined(param_00)) - { - param_00 = 1500; - } - - if(!isdefined(param_01)) - { - param_01 = 0; - } - - if(!isdefined(param_02)) - { - param_02 = self.origin; - } - - var_06 = 100; - var_07 = param_01; - var_08 = param_01 + var_06; - if(var_08 > param_00) - { - var_08 = param_00; - } - - while(var_08 <= param_00 && var_07 < param_00) - { - var_09 = playergetclosestnodeinternal(var_08,var_07,param_02,param_03,param_04,param_05); - if(isdefined(var_09)) - { - return var_09; - } - - var_07 = var_07 + var_06; - var_08 = var_08 + var_06; - if(var_08 > param_00) - { - var_08 = param_00; - } - } -} - -//Function Number: 34 -playergetclosestnodeinternal(param_00,param_01,param_02,param_03,param_04,param_05) -{ - var_06 = 1; - var_07 = getnodesinradiussorted(param_02,param_00,param_01,120,"path"); - for(var_08 = 0;var_08 < var_07.size;var_08++) - { - if(param_03) - { - var_06 = var_06 & nodecanhitground(var_07[var_08],param_05); - } - - if(param_04) - { - var_06 = var_06 & playerwithinfov2d(var_07[var_08].origin); - } - - if(var_06) - { - return var_07[var_08]; - } - } -} - -//Function Number: 35 -playerwithinfov2d(param_00) -{ - var_01 = cos(60); - var_02 = vectornormalize((param_00[0],param_00[1],0) - (self.origin[0],self.origin[1],0)); - var_03 = anglestoforward((0,self.angles[1],0)); - return vectordot(var_03,var_02) >= var_01; -} - -//Function Number: 36 -_adddropmarkerinternal(param_00) -{ - param_00 waittill("death"); - level.orbitaldropmarkers = common_scripts\utility::array_remove(level.orbitaldropmarkers,param_00); -} - -//Function Number: 37 -nodesetremotemissilenamewrapper(param_00,param_01) -{ - var_02 = getnodesinradiussorted(param_00,24,0); - if(var_02.size > 0) - { - var_03 = var_02[0]; - nodesetremotemissilename(var_03,param_01); - } -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/killstreaks/_rippedturret.gsc b/AW/PC/ZM/maps/mp/killstreaks/_rippedturret.gsc deleted file mode 100644 index 72f7f7c..0000000 --- a/AW/PC/ZM/maps/mp/killstreaks/_rippedturret.gsc +++ /dev/null @@ -1,340 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_rippedturret.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 20 - * Decompile Time: 301 ms - * Timestamp: 10/27/2023 2:10:00 AM -*******************************************************************/ - -//Function Number: 1 -init() -{ - level.killstreakfuncs["ripped_turret"] = ::tryuserippedturret; - level.killstreakwieldweapons["turretheadmg_mp"] = "ripped_turret"; - level.killstreakwieldweapons["turretheadenergy_mp"] = "ripped_turret"; - level.killstreakwieldweapons["turretheadrocket_mp"] = "ripped_turret"; - level thread onplayerconnect(); -} - -//Function Number: 2 -onplayerconnect() -{ - for(;;) - { - level waittill("connected",var_00); - level thread onplayerspawned(var_00); - } -} - -//Function Number: 3 -onplayerspawned(param_00) -{ - for(;;) - { - param_00 waittill("killstreakUseWaiter"); - level thread updateammo(param_00); - } -} - -//Function Number: 4 -updateammo(param_00) -{ - param_00 setclientomnvar("ui_energy_ammo",1); - if(!isdefined(param_00.pers["rippableSentry"])) - { - return; - } - - var_01 = undefined; - if(param_00 hasweapon("turretheadmg_mp")) - { - var_01 = "turretheadmg_mp"; - } - else if(param_00 hasweapon("turretheadenergy_mp")) - { - var_01 = "turretheadenergy_mp"; - } - else if(param_00 hasweapon("turretheadrocket_mp")) - { - var_01 = "turretheadrocket_mp"; - } - - if(!isdefined(var_01)) - { - return; - } - - var_02 = param_00 playergetrippableammo(); - if(isturretenergyweapon(var_01)) - { - var_03 = getammoforturretweapontype(var_01); - var_04 = var_02 / var_03; - param_00 setclientomnvar("ui_energy_ammo",var_04); - return; - } - - param_00 setweaponammoclip(var_01,var_02); -} - -//Function Number: 5 -tryuserippedturret(param_00,param_01) -{ - var_02 = tryuserippedturretinternal(param_01); - if(var_02) - { - maps\mp\_matchdata::logkillstreakevent("ripped_turret",self.origin); - } - - return var_02; -} - -//Function Number: 6 -tryuserippedturretinternal(param_00) -{ - if(maps\mp\_utility::isusingremote()) - { - return 0; - } - - var_01 = playersetuprecordedturrethead(param_00); - return var_01; -} - -//Function Number: 7 -playergiveturrethead(param_00) -{ - maps\mp\killstreaks\_killstreaks::givekillstreak("ripped_turret",0,0,self,[param_00]); - if(!isdefined(self.pers["rippableSentry"])) - { - self.pers["rippableSentry"] = spawnstruct(); - } - - var_01 = getammoforturretweapontype(param_00); - playerrecordrippableammo(var_01); - if(!common_scripts\utility::is_player_gamepad_enabled()) - { - self notify("streakUsed1"); - waittillframeend; - } - - self switchtoweapon(param_00); -} - -//Function Number: 8 -playermoduleshaverippedturret(param_00) -{ - foreach(var_02 in param_00) - { - if(var_02 == "turretheadenergy_mp" || var_02 == "turretheadrocket_mp" || var_02 == "turretheadmg_mp") - { - return 1; - } - } - - return 0; -} - -//Function Number: 9 -playersetuprecordedturrethead(param_00) -{ - self endon("disconnect"); - level endon("game_ended"); - var_01 = playergetrippableammo(); - var_02 = param_00[0]; - if(!isturretenergyweapon(var_02)) - { - self setweaponammoclip(var_02,var_01); - } - - self setweaponammostock(var_02,0); - thread playermonitorweaponswitch(var_02); - if(isturretenergyweapon(var_02)) - { - thread playersetupturretenergybar(var_02,var_01); - } - else - { - thread playertrackturretammo(var_02); - } - - common_scripts\utility::waittill_any_return("death","rippable_complete","rippable_switch"); - if(!isdefined(self)) - { - return 0; - } - - if(isturretenergyweapon(var_02)) - { - self notifyonplayercommandremove("fire_turret_weapon","+attack"); - self notifyonplayercommandremove("fire_turret_weapon","+attack_akimbo_accessible"); - } - - var_03 = !playerhasrippableturretinfo(); - return var_03; -} - -//Function Number: 10 -playermonitorweaponswitch(param_00) -{ - self endon("death"); - self endon("disconnect"); - self endon("rippable_complete"); - var_01 = self getcurrentweapon(); - while(var_01 == param_00 || maps\mp\_utility::isbombsiteweapon(var_01)) - { - self waittill("weapon_change",var_01); - } - - if(maps\mp\_utility::iskillstreakweapon(var_01)) - { - self.justswitchedtokillstreakweapon = var_01; - } - - self notify("rippable_switch"); -} - -//Function Number: 11 -playertrackturretammo(param_00) -{ - self endon("death"); - self endon("disconnect"); - self endon("rippable_switch"); - for(;;) - { - var_01 = self getweaponammoclip(param_00); - playerrecordrippableammo(var_01); - if(var_01 == 0) - { - playerclearrippableturretinfo(); - self notify("rippable_complete"); - return; - } - - wait 0.05; - } -} - -//Function Number: 12 -playerhasturretheadweapon() -{ - if(playerhasrippableturretinfo()) - { - return 1; - } - - var_00 = self getweaponslistprimaries(); - foreach(var_02 in var_00) - { - if(var_02 == "turretheadenergy_mp" || var_02 == "turretheadrocket_mp" || var_02 == "turretheadmg_mp") - { - return 1; - } - } - - return 0; -} - -//Function Number: 13 -getammoforturretweapontype(param_00) -{ - if(param_00 == "turretheadmg_mp") - { - return 100; - } - - if(param_00 == "turretheadrocket_mp") - { - return 6; - } - - return getfullenergy(); -} - -//Function Number: 14 -isturretenergyweapon(param_00) -{ - return param_00 == "turretheadenergy_mp"; -} - -//Function Number: 15 -playersetupturretenergybar(param_00,param_01) -{ - self endon("death"); - self endon("disconnect"); - self endon("rippable_switch"); - var_02 = getfullenergy(); - self notifyonplayercommand("fire_turret_weapon","+attack"); - self notifyonplayercommand("fire_turret_weapon","+attack_akimbo_accessible"); - param_01 = playergetrippableammo(); - var_03 = param_01 / var_02; - self setclientomnvar("ui_energy_ammo",var_03); - for(;;) - { - if(!self attackbuttonpressed()) - { - self waittill("fire_turret_weapon"); - } - - if(self isreloading() || self getcurrentweapon() != "turretheadenergy_mp" || !self isfiring() || self isusingoffhand()) - { - wait 0.05; - continue; - } - - param_01 = playergetrippableammo(); - param_01 = clamp(param_01 - 1,0,getfullenergy()); - var_03 = param_01 / var_02; - self setclientomnvar("ui_energy_ammo",var_03); - if(param_01 <= 0) - { - var_04 = self getweaponslistprimaries(); - if(var_04.size > 0) - { - self switchtoweapon(var_04[0]); - } - else - { - self takeweapon(param_00); - } - - playerclearrippableturretinfo(); - self notify("rippable_complete"); - return; - } - - wait 0.05; - playerrecordrippableammo(var_02); - } -} - -//Function Number: 16 -getfullenergy() -{ - return 200; -} - -//Function Number: 17 -playergetrippableammo() -{ - return self.pers["rippableSentry"].ammo; -} - -//Function Number: 18 -playerrecordrippableammo(param_00) -{ - self.pers["rippableSentry"].ammo = param_00; -} - -//Function Number: 19 -playerhasrippableturretinfo() -{ - return isdefined(self.pers["rippableSentry"]) && playergetrippableammo() > 0; -} - -//Function Number: 20 -playerclearrippableturretinfo() -{ - self.pers["rippableSentry"] = undefined; -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/killstreaks/streak_mp_blackbox.gsc b/AW/PC/ZM/maps/mp/killstreaks/streak_mp_blackbox.gsc deleted file mode 100644 index 4e37e31..0000000 --- a/AW/PC/ZM/maps/mp/killstreaks/streak_mp_blackbox.gsc +++ /dev/null @@ -1,832 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps\mp\killstreaks\streak_mp_blackbox.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 28 - * Decompile Time: 498 ms - * Timestamp: 10/27/2023 2:07:07 AM -*******************************************************************/ - -//Function Number: 1 -streak_init() -{ - precacheitem("iw5_dlcgun12loot4_mp"); - precacheshader("dpad_killstreak_lost_static"); - precacheshader("overlay_blackbox_killstreak"); - level.killstreakfuncs["mp_blackbox"] = ::tryusempblackbox; - level.mapkillstreak = "mp_blackbox"; - level.mapkillstreakpickupstring = &"MP_BLACKBOX_MAP_KILLSTREAK_PICKUP"; - level.killstreakoverlay = "overlay_blackbox_killstreak"; - level.killstreak_trail_fx = loadfx("vfx/map/mp_blackbox/trail_on_character"); - level.killstreak_chest_fx = loadfx("vfx/map/mp_blackbox/killstreak_chest_vfx"); -} - -//Function Number: 2 -test_give_players_map_killstreak() -{ - wait(60); - for(;;) - { - if(isdefined(level.players) && level.players.size > 0) - { - var_00 = level.players[randomintrange(0,level.players.size)]; - if(isdefined(var_00) && var_00.team != "spectator" && isdefined(var_00.killstreakmodules) && !var_00 hasweapon("iw5_dlcgun12loot4_mp") && !isbot(var_00) && !isagent(var_00)) - { - if(!isdefined(var_00.map_killstreak_active) || !var_00.map_killstreak_active) - { - if(!isdefined(var_00.given_map_killstreak) || !var_00.given_map_killstreak) - { - var_00.given_map_killstreak = 1; - var_00 maps\mp\killstreaks\_killstreaks::givekillstreak(level.mapkillstreak); - } - } - } - } - - wait(20); - } -} - -//Function Number: 3 -tryusempblackbox(param_00,param_01) -{ - if(maps\mp\_utility::isusingremote()) - { - return 0; - } - - if(maps\mp\_utility::isairdenied()) - { - return 0; - } - - if(maps\mp\_utility::isemped()) - { - return 0; - } - - if(maps\mp\_utility::isjuggernaut()) - { - return 0; - } - - if(isdefined(self.map_killstreak_active) && self.map_killstreak_active) - { - return 0; - } - - thread enable_alien_mode(); - return 1; -} - -//Function Number: 4 -setcreature() -{ - self.radar_highlight = newclienthudelem(self); - self.radar_highlight.color = (1,0.015,0.015); - self.radar_highlight.alpha = 1; - self.radar_highlight setradarhighlight(60); -} - -//Function Number: 5 -unsetcreature() -{ - if(isdefined(self.radar_highlight)) - { - self.radar_highlight destroy(); - } -} - -//Function Number: 6 -enable_alien_mode() -{ - self playsound("ks_blackbox_spore_use"); - level.perksetfuncs["specialty_exo_creature"] = ::setcreature; - level.perkunsetfuncs["specialty_exo_creature"] = ::unsetcreature; - self.map_killstreak_active = 1; - disable_exo_usage(); - alien_mode_abilities(0); - enable_clientfx(); - enable_fx(); - thread alien_mode_reapply_on_death(); - alien_mode_timer(); - self notify("notify_end_killstreak_mode"); - self.map_killstreak_active = 0; - disable_alien_mode(); - disable_clientfx(); - disable_fx(); - reenable_exo_usage(); - level.perksetfuncs["specialty_exo_creature"] = undefined; - level.perkunsetfuncs["specialty_exo_creature"] = undefined; -} - -//Function Number: 7 -disable_alien_mode() -{ - alien_mode_overdrive_off(); - alien_extra_health_off(); - self allowsprint(0); - wait(0.1); - remove_alien_perks(); - self allowsprint(1); - self notify("stop_exo_repulsor"); - self.killstreaksdisabled = undefined; -} - -//Function Number: 8 -disable_exo_usage() -{ - if(self hasweapon("adrenaline_mp")) - { - self.has_overclock_ability = 1; - self.overclock_battery_charge = self batterygetcharge("adrenaline_mp"); - self batterysetcharge("adrenaline_mp",0); - } - - if(self hasweapon("extra_health_mp")) - { - self.has_stim_ability = 1; - self.stim_battery_charge = self batterygetcharge("extra_health_mp"); - self batterysetcharge("extra_health_mp",0); - } - - if(isdefined(level.cloakweapon) && self hasweapon(level.cloakweapon)) - { - self.has_cloak_ability = 1; - self.cloak_battery_charge = self batterygetcharge(maps\mp\_exo_cloak::get_exo_cloak_weapon()); - self batterysetcharge(maps\mp\_exo_cloak::get_exo_cloak_weapon(),0); - } - - if(isdefined(level.hoverweapon) && self hasweapon(level.hoverweapon)) - { - self.has_hover_ability = 1; - self.hover_battery_charge = self batterygetcharge(level.hoverweapon); - self batterysetcharge(level.hoverweapon,0); - } - - if(self hasweapon("exomute_equipment_mp")) - { - self.has_mute_ability = 1; - self.mute_battery_charge = self batterygetcharge("exomute_equipment_mp"); - self batterysetcharge("exomute_equipment_mp",0); - } - - if(self hasweapon("exoping_equipment_mp")) - { - self.has_ping_ability = 1; - self.ping_battery_charge = self batterygetcharge("exoping_equipment_mp"); - self batterysetcharge("exoping_equipment_mp",0); - } - - if(self hasweapon("exorepulsor_equipment_mp")) - { - self.has_trophy_ability = 1; - self.trophy_battery_charge = self batterygetcharge("exorepulsor_equipment_mp"); - self batterysetcharge("exorepulsor_equipment_mp",0); - } - - if(isdefined(level.exoshieldweapon) && self hasweapon(level.exoshieldweapon)) - { - self.has_shield_ability = 1; - self.shield_battery_charge = self batterygetcharge(maps\mp\_exo_shield::get_exo_shield_weapon()); - self batterysetcharge(maps\mp\_exo_shield::get_exo_shield_weapon(),0); - } -} - -//Function Number: 9 -reenable_exo_usage() -{ - if(isdefined(self.has_overclock_ability) && self.has_overclock_ability == 1) - { - self batterysetcharge("adrenaline_mp",self.overclock_battery_charge); - } - - if(isdefined(self.has_stim_ability) && self.has_stim_ability == 1) - { - self batterysetcharge("extra_health_mp",self.stim_battery_charge); - } - - if(isdefined(self.has_cloak_ability) && self.has_cloak_ability == 1) - { - self batterysetcharge(maps\mp\_exo_cloak::get_exo_cloak_weapon(),self.cloak_battery_charge); - } - - if(isdefined(self.has_hover_ability) && self.has_hover_ability == 1) - { - self batterysetcharge(level.hoverweapon,self.hover_battery_charge); - } - - if(isdefined(self.has_mute_ability) && self.has_mute_ability == 1) - { - self batterysetcharge("exomute_equipment_mp",self.mute_battery_charge); - } - - if(isdefined(self.has_ping_ability) && self.has_ping_ability == 1) - { - self batterysetcharge("exoping_equipment_mp",self.ping_battery_charge); - } - - if(isdefined(self.has_trophy_ability) && self.has_trophy_ability == 1) - { - self batterysetcharge("exorepulsor_equipment_mp",self.trophy_battery_charge); - } - - if(isdefined(self.has_shield_ability) && self.has_shield_ability == 1) - { - self batterysetcharge(maps\mp\_exo_shield::get_exo_shield_weapon(),self.shield_battery_charge); - } -} - -//Function Number: 10 -alien_mode_abilities(param_00) -{ - alien_mode_overdrive_on(); - thread alien_extra_health_on(param_00); - give_alien_perks(); - self.killstreaksdisabled = 1; - thread alien_mode_exo_repulsor_on(); - thread alien_mode_unlimited_ammo(); -} - -//Function Number: 11 -give_alien_perks() -{ - self setviewkickscale(0.5); - maps\mp\_utility::giveperk("specialty_exo_slamboots",0); - maps\mp\_utility::giveperk("specialty_radarimmune",0); - maps\mp\_utility::giveperk("specialty_exoping_immune",0); - maps\mp\_utility::giveperk("specialty_hard_shell",0); - maps\mp\_utility::giveperk("specialty_throwback",0); - maps\mp\_utility::giveperk("_specialty_blastshield",0); - self.specialty_blastshield_bonus = maps\mp\_utility::getintproperty("perk_blastShieldScale",45) / 100; - if(isdefined(level.hardcoremode) && level.hardcoremode) - { - self.specialty_blastshield_bonus = maps\mp\_utility::getintproperty("perk_blastShieldScale_HC",90) / 100; - } - - maps\mp\_utility::giveperk("specialty_lightweight",0); - maps\mp\_utility::giveperk("specialty_explosivedamage",0); - maps\mp\_utility::giveperk("specialty_blindeye",0); - maps\mp\_utility::giveperk("specialty_plainsight",0); - maps\mp\_utility::giveperk("specialty_coldblooded",0); - maps\mp\_utility::giveperk("specialty_spygame",0); - maps\mp\_utility::giveperk("specialty_heartbreaker",0); - maps\mp\_utility::giveperk("specialty_moreminimap",0); - maps\mp\_utility::giveperk("specialty_silentkill",0); - maps\mp\_utility::giveperk("specialty_quickswap",0); - maps\mp\_utility::giveperk("specialty_fastoffhand",0); - maps\mp\_utility::giveperk("specialty_sprintreload",0); - maps\mp\_utility::giveperk("specialty_sprintfire",0); - maps\mp\_utility::giveperk("specialty_empimmune",0); - maps\mp\_utility::giveperk("specialty_stun_resistance",0); - self.stunscaler = 0.1; - self setviewkickscale(0.2); - self.ammopickup_scalar = 0.2; - maps\mp\_utility::giveperk("specialty_scavenger",0); - maps\mp\_utility::giveperk("specialty_bulletresupply",0); - maps\mp\_utility::giveperk("specialty_extraammo",0); - maps\mp\_utility::giveperk("specialty_hardline",0); - maps\mp\_utility::giveperk("specialty_exo_creature",0); -} - -//Function Number: 12 -should_remove_alien_perk(param_00) -{ - if(maps\mp\_utility::_hasperk(param_00)) - { - return 0; - } - - var_01 = isdefined(self.reinforcementperks) && isdefined(self.reinforcementperks[param_00]) && self.reinforcementperks[param_00]; - if(var_01) - { - return 0; - } - - return 1; -} - -//Function Number: 13 -remove_alien_perks() -{ - if(should_remove_alien_perk("specialty_extended_battery")) - { - maps\mp\_utility::_unsetperk("specialty_exo_slamboots"); - } - - if(should_remove_alien_perk("specialty_class_lowprofile")) - { - maps\mp\_utility::_unsetperk("specialty_radarimmune"); - maps\mp\_utility::_unsetperk("specialty_exoping_immune"); - } - - if(should_remove_alien_perk("specialty_class_flakjacket")) - { - maps\mp\_utility::_unsetperk("specialty_hard_shell"); - maps\mp\_utility::_unsetperk("specialty_throwback"); - maps\mp\_utility::_unsetperk("_specialty_blastshield"); - } - - if(should_remove_alien_perk("specialty_class_lightweight")) - { - maps\mp\_utility::_unsetperk("specialty_lightweight"); - } - - if(should_remove_alien_perk("specialty_class_dangerclose")) - { - maps\mp\_utility::_unsetperk("specialty_explosivedamage"); - } - - if(should_remove_alien_perk("specialty_class_blindeye")) - { - maps\mp\_utility::_unsetperk("specialty_blindeye"); - maps\mp\_utility::_unsetperk("specialty_plainsight"); - } - - if(should_remove_alien_perk("specialty_class_coldblooded")) - { - maps\mp\_utility::_unsetperk("specialty_coldblooded"); - maps\mp\_utility::_unsetperk("specialty_spygame"); - maps\mp\_utility::_unsetperk("specialty_heartbreaker"); - } - - if(should_remove_alien_perk("specialty_class_peripherals") || maps\mp\_utility::practiceroundgame()) - { - maps\mp\_utility::_unsetperk("specialty_moreminimap"); - maps\mp\_utility::_unsetperk("specialty_silentkill"); - } - - if(should_remove_alien_perk("specialty_class_fasthands")) - { - maps\mp\_utility::_unsetperk("specialty_quickswap"); - maps\mp\_utility::_unsetperk("specialty_fastoffhand"); - maps\mp\_utility::_unsetperk("specialty_sprintreload"); - } - - if(should_remove_alien_perk("specialty_class_dexterity")) - { - maps\mp\_utility::_unsetperk("specialty_sprintfire"); - } - - if(should_remove_alien_perk("specialty_class_hardwired")) - { - maps\mp\_utility::_unsetperk("specialty_empimmune"); - maps\mp\_utility::_unsetperk("specialty_stun_resistance"); - } - - if(should_remove_alien_perk("specialty_class_toughness")) - { - self setviewkickscale(0.5); - } - - if(should_remove_alien_perk("specialty_class_scavenger")) - { - maps\mp\_utility::_unsetperk("specialty_scavenger"); - maps\mp\_utility::_unsetperk("specialty_bulletresupply"); - maps\mp\_utility::_unsetperk("specialty_extraammo"); - } - - if(should_remove_alien_perk("specialty_class_hardline")) - { - maps\mp\_utility::_unsetperk("specialty_hardline"); - } - - maps\mp\_utility::_unsetperk("specialty_exo_creature"); -} - -//Function Number: 14 -alien_extra_health_on(param_00) -{ - thread maps\mp\perks\_perkfunctions::setlightarmor(); - self.maxhealth = int(self.maxhealth * 3); - self.ignoreregendelay = 1; - self.healthregenlevel = 0.99; - if(param_00) - { - self waittill("playerHealthRegen"); - } - - self notify("damage"); - maps\mp\_extrahealth::killstimfx(); -} - -//Function Number: 15 -alien_extra_health_off() -{ - thread maps\mp\perks\_perkfunctions::unsetlightarmor(); - if(isdefined(level.ishorde)) - { - self.maxhealth = self.classmaxhealth + self.hordearmor * 40; - } - else - { - self.maxhealth = int(self.maxhealth / 3); - } - - if(self.health > self.maxhealth) - { - self.health = self.maxhealth; - } - - self.healthregenlevel = undefined; - maps\mp\_extrahealth::killstimfx(); -} - -//Function Number: 16 -alien_mode_overdrive_on() -{ - if(isdefined(self.overclock_on) && self.overclock_on == 1) - { - thread maps\mp\_adrenaline::stopadrenaline(1); - } - - self.adrenaline_speed_scalar = 1.12; - if(maps\mp\_utility::_hasperk("specialty_lightweight")) - { - self.movespeedscaler = self.adrenaline_speed_scalar + maps\mp\_utility::lightweightscalar() - 1; - } - else - { - self.movespeedscaler = self.adrenaline_speed_scalar; - } - - if(isdefined(level.ishorde) && level.ishorde) - { - var_00 = self getclientomnvar("ui_horde_player_class"); - self.movespeedscaler = min(level.classsettings[var_00]["speed"] + 0.25,10); - } - - maps\mp\gametypes\_weapons::updatemovespeedscale(); - thread maps\mp\_adrenaline::killoverclockfx(); -} - -//Function Number: 17 -alien_mode_overdrive_off() -{ - self notify("EndAdrenaline"); - if(maps\mp\_utility::_hasperk("specialty_lightweight")) - { - self.movespeedscaler = maps\mp\_utility::lightweightscalar(); - } - else - { - self.movespeedscaler = level.baseplayermovescale; - } - - if(isdefined(level.ishorde) && level.ishorde) - { - var_00 = self getclientomnvar("ui_horde_player_class"); - self.movespeedscaler = level.classsettings[var_00]["speed"]; - } - - maps\mp\gametypes\_weapons::updatemovespeedscale(); - self.adrenaline_speed_scalar = undefined; -} - -//Function Number: 18 -alien_mode_exo_ping_on() -{ - if(isdefined(self.exo_ping_on) && self.exo_ping_on == 1) - { - thread maps\mp\_exo_ping::stop_exo_ping(); - } - - var_00 = 1; - var_01 = 2; - thread maps\mp\_threatdetection::detection_highlight_hud_effect(self,60 + var_00); - while(self.map_killstreak_active) - { - foreach(var_03 in level.players) - { - if(!isdefined(var_03) || !isalive(var_03) || self.team == var_03.team) - { - continue; - } - - var_04 = var_03; - var_04 maps\mp\_threatdetection::addthreatevent([self],var_00 + 0.05,"PAINT_KILLSTREAK",1,0); - } - - wait(var_00); - } -} - -//Function Number: 19 -alien_mode_exo_repulsor_on() -{ - if(!isdefined(level.exo_repulsor_impact)) - { - level.exo_repulsor_impact = loadfx("vfx/explosion/exo_repulsor_impact"); - } - - if(!isdefined(level.exo_repulsor_activate_vfx)) - { - level.exo_repulsor_activate_vfx = loadfx("vfx/unique/repulsor_bubble"); - } - - if(!isdefined(level.exo_repulsor_deactivate_vfx)) - { - level.exo_repulsor_deactivate_vfx = loadfx("vfx/unique/repulsor_bubble_deactivate"); - } - - if(!isdefined(level.exo_repulsor_player_vfx_active)) - { - level.exo_repulsor_player_vfx_active = loadfx("vfx/unique/exo_repulsor_emitter"); - } - - if(!isdefined(level.exo_repulsor_player_vfx_inactive)) - { - level.exo_repulsor_player_vfx_inactive = loadfx("vfx/unique/exo_repulsor_inactive"); - } - - if(isdefined(self.repulsoractive) && self.repulsoractive == 1) - { - thread maps\mp\_exo_repulsor::stop_repulsor(1); - } - - thread alien_mode_repulsor_on(); -} - -//Function Number: 20 -alien_mode_repulsor_on() -{ - level endon("game_ended"); - self endon("stop_exo_repulsor"); - maps\mp\_exo_repulsor::exorepulsorinit(); - for(;;) - { - for(var_00 = 0;var_00 < level.grenades.size;var_00++) - { - var_01 = level.grenades[var_00]; - if(!isdefined(var_01.weaponname)) - { - continue; - } - - if(isdefined(var_01.weaponname) && maps\mp\_utility::is_exo_ability_weapon(var_01.weaponname)) - { - continue; - } - - if(!isdefined(var_01.owner)) - { - continue; - } - - if(isdefined(var_01.owner) && var_01.owner == self) - { - continue; - } - - if(level.teambased && isdefined(var_01.owner.team) && var_01.owner.team == self.team) - { - continue; - } - - var_02 = distance(var_01.origin,self.origin); - if(var_02 < 385) - { - if(sighttracepassed(self geteye(),var_01.origin,0,self)) - { - var_03 = var_01.origin - self.origin; - var_04 = vectortoangles(var_03); - var_05 = anglestoup(var_04); - var_06 = anglestoforward(var_04); - var_07 = vectornormalize(var_06); - var_08 = var_01.origin - 0.2 * var_02 * var_07; - playfx(level.exo_repulsor_impact,var_08,var_07,var_05); - var_01 maps\mp\_snd_common_mp::snd_message("mp_exo_repulsor_repel"); - if(var_01.weaponname == "explosive_drone_mp") - { - var_01 notify("mp_exo_repulsor_repel"); - var_01 thread maps\mp\_explosive_drone::explosivegrenadedeath(); - } - else - { - var_01 delete(); - } - - self.projectilesstopped++; - maps\mp\gametypes\_missions::processchallenge("ch_exoability_repulser"); - } - } - } - - for(var_00 = 0;var_00 < level.missiles.size;var_00++) - { - var_09 = level.missiles[var_00]; - if(!isdefined(var_09.owner)) - { - continue; - } - - if(isdefined(var_09.owner) && var_09.owner == self) - { - continue; - } - - if(level.teambased && isdefined(var_09.owner.team) && var_09.owner.team == self.team) - { - continue; - } - - var_0A = distance(var_09.origin,self.origin); - if(var_0A < 385) - { - if(sighttracepassed(self geteye(),var_09.origin,0,self)) - { - var_0B = var_09.origin - self.origin; - var_0C = vectortoangles(var_0B); - var_0D = anglestoup(var_0C); - var_0E = anglestoforward(var_0C); - var_0F = vectornormalize(var_0E); - var_08 = var_09.origin - 0.2 * var_0A * var_0F; - playfx(level.exo_repulsor_impact,var_08,var_0F,var_0D); - var_09 maps\mp\_snd_common_mp::snd_message("mp_exo_repulsor_repel"); - if(isdefined(var_09.weaponname) && var_09.weaponname == "iw5_exocrossbow_mp") - { - stopfxontag(common_scripts\utility::getfx("exocrossbow_sticky_blinking"),var_09.fx_origin,"tag_origin"); - } - - var_09 delete(); - self.projectilesstopped++; - maps\mp\gametypes\_missions::processchallenge("ch_exoability_repulser"); - } - } - } - - for(var_00 = 0;var_00 < level.explosivedrones.size;var_00++) - { - var_10 = level.explosivedrones[var_00]; - if(isdefined(var_10)) - { - if(!isdefined(var_10.owner)) - { - continue; - } - - if(isdefined(var_10.owner) && var_10.owner == self) - { - continue; - } - - if(level.teambased && isdefined(var_10.owner.team) && var_10.owner.team == self.team) - { - continue; - } - - var_11 = distance(var_10.origin,self.origin); - if(var_11 < 385) - { - if(sighttracepassed(self geteye(),var_10.origin,0,self)) - { - var_12 = var_10.origin - self.origin; - var_13 = vectortoangles(var_12); - var_14 = anglestoup(var_13); - var_15 = anglestoforward(var_13); - var_16 = vectornormalize(var_15); - var_08 = var_10.origin - 0.2 * var_11 * var_16; - playfx(level.exo_repulsor_impact,var_08,var_16,var_14); - var_10 maps\mp\_snd_common_mp::snd_message("mp_exo_repulsor_repel"); - if(isdefined(var_10.explosivedrone)) - { - var_10.explosivedrone delete(); - } - - var_10 delete(); - self.projectilesstopped++; - maps\mp\gametypes\_missions::processchallenge("ch_exoability_repulser"); - } - } - } - } - - foreach(var_18 in level.trackingdrones) - { - if(!isdefined(var_18.owner)) - { - continue; - } - - if(isdefined(var_18.owner) && var_18.owner == self) - { - continue; - } - - if(level.teambased && isdefined(var_18.owner.team) && var_18.owner.team == self.team) - { - continue; - } - - var_19 = distance(var_18.origin,self.origin); - if(var_19 < 385) - { - if(sighttracepassed(self geteye(),var_18.origin,0,self)) - { - var_1A = var_18.origin - self.origin; - var_1B = vectortoangles(var_1A); - var_1C = anglestoup(var_1B); - var_1D = anglestoforward(var_1B); - var_1E = vectornormalize(var_1D); - var_08 = var_18.origin - 0.2 * var_19 * var_1E; - playfx(level.exo_repulsor_impact,var_08,var_1E,var_1C); - var_18 maps\mp\_snd_common_mp::snd_message("mp_exo_repulsor_repel"); - if(!isremovedentity(var_18) && isdefined(var_18)) - { - var_18 notify("death"); - maps\mp\_utility::decrementfauxvehiclecount(); - } - - self.projectilesstopped++; - maps\mp\gametypes\_missions::processchallenge("ch_exoability_repulser"); - } - } - } - - if(self.projectilesstopped >= 2) - { - if(!isdefined(level.ishorde)) - { - thread maps\mp\_events::fourplayevent(); - } - - self.projectilesstopped = self.projectilesstopped - 2; - } - - wait(0.05); - } - - thread maps\mp\_exo_repulsor::stop_repulsor(1); -} - -//Function Number: 21 -alien_mode_unlimited_ammo() -{ - self endon("notify_end_killstreak_mode"); - for(;;) - { - var_00 = self getcurrentweapon(); - self waittill("reload"); - self setweaponammostock(var_00,weaponstartammo(var_00)); - } -} - -//Function Number: 22 -alien_mode_reapply_on_death() -{ - self endon("notify_end_killstreak_mode"); - for(;;) - { - self waittill("death"); - disable_alien_mode(); - self waittill("spawnplayer_giveloadout"); - alien_mode_abilities(1); - thread aud_play_respawn_squish(); - wait(0.2); - enable_fx(); - } -} - -//Function Number: 23 -alien_mode_timer() -{ - level endon("game_ended"); - self endon("disconnect"); - self endon("joined_team"); - self endon("faux_spawn"); - wait(60); -} - -//Function Number: 24 -enable_clientfx() -{ - self setclutoverrideenableforplayer("clut_mp_blackbox_ks",0.2); -} - -//Function Number: 25 -disable_clientfx() -{ - self setclutoverridedisableforplayer(0.5); -} - -//Function Number: 26 -enable_fx() -{ - playfxontag(level.killstreak_chest_fx,self,"j_spine4"); - playfxontag(level.killstreak_trail_fx,self,"tag_origin"); -} - -//Function Number: 27 -disable_fx() -{ - stopfxontag(level.killstreak_trail_fx,self,"tag_origin"); - stopfxontag(level.killstreak_chest_fx,self,"j_spine4"); -} - -//Function Number: 28 -aud_play_respawn_squish() -{ - wait(0.5); - self playsound("ks_blackbox_spore_respawn"); -} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/killstreaks/streak_mp_seoul2.gsc b/AW/PC/ZM/maps/mp/killstreaks/streak_mp_seoul2.gsc deleted file mode 100644 index a20f083..0000000 --- a/AW/PC/ZM/maps/mp/killstreaks/streak_mp_seoul2.gsc +++ /dev/null @@ -1,823 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: maps\mp\killstreaks\streak_mp_seoul2.gsc - * Game: Call of Duty: Advanced Warfare - * Platform: PC - * Function Count: 43 - * Decompile Time: 732 ms - * Timestamp: 10/27/2023 2:07:10 AM -*******************************************************************/ - -//Function Number: 1 -streak_init() -{ - precacheitem("iw5_dlcgun12loot2_mp"); - level.killstreakfuncs["mp_seoul2"] = ::tryusempswarm; - level.mapkillstreak = "mp_seoul2"; - level.mapkillstreakpickupstring = &"MP_SEOUL2_MAP_KILLSTREAK_PICKUP"; - level.killstreakwieldweapons["iw5_dlcgun12loot2_mp"] = "mp_seoul2"; - level.swarm_use_duration = 40; - level.swarm_speed = 40; - var_00 = getentarray("minimap_corner","targetname"); - var_01 = (0,0,0); - if(var_00.size) - { - var_01 = maps\mp\gametypes\_spawnlogic::findboxcenter(var_00[0].origin,var_00[1].origin); - } - - level.swarmrig = spawn("script_model",var_01); - level.swarmrig setmodel("c130_zoomrig"); - level.swarmrig.angles = (0,115,0); - level.swarmrig hide(); - thread rotateswarm(level.swarm_speed); - level._effect["orbitalsupport_rocket_explode_player"] = loadfx("vfx/explosion/rocket_explosion_distant"); - level.swarminuse = 0; - level._effect["drone_swarm_loop"] = loadfx("vfx/map/mp_seoul2/drone_swarm_loop"); - level._effect["drone_swarm_trail"] = loadfx("vfx/trail/drone_swarm_missile_trail"); - level._effect["drone_swarm_trail_inair"] = loadfx("vfx/trail/drone_swarm_missile_trail_inair"); -} - -//Function Number: 2 -tryusempswarm(param_00,param_01) -{ - if(maps\mp\_utility::isusingremote()) - { - return 0; - } - - if(maps\mp\_utility::isemped()) - { - return 0; - } - - if(maps\mp\_utility::isjuggernaut()) - { - return 0; - } - - if(isdefined(level.swarm_player) || level.swarminuse) - { - self iprintlnbold(&"MP_SEOUL2_SWARM_IN_USE"); - return 0; - } - - level.swarminuse = 1; - thread playerclearswarmonteamchange(); - var_02 = maps\mp\killstreaks\_killstreaks::initridekillstreak("paladin",0,undefined,3); - if(var_02 != "success") - { - level.swarminuse = 0; - return 0; - } - - maps\mp\_utility::setusingremote("orbitalplatform"); - thread setswarmplayer(self); - maps\mp\_matchdata::logkillstreakevent("dlc_streak5",self.origin); - return 1; -} - -//Function Number: 3 -playerclearswarmonteamchange() -{ - self endon("rideKillstreakBlack"); - self waittill("joined_team"); - level.swarminuse = 0; -} - -//Function Number: 4 -setswarmplayer(param_00) -{ - self endon("swarm_player_removed"); - self endon("disconnect"); - level.swarm_player = param_00; - param_00 maps\mp\_utility::playersaveangles(); - param_00 swarm_spawn(); - level.swarm_planemodel.vehicletype = "paladin"; - level.swarm_planemodel.player = param_00; - level.swarm_planemodel.helitype = "osp"; - param_00 startac130(); - param_00 maps\mp\killstreaks\_aerial_utility::playerdisablestreakstatic(); - param_00 maps\mp\killstreaks\_killstreaks::playerwaittillridekillstreakcomplete(); - param_00 thread waitsetthermal(1); - param_00 thread waitdisableshadows(1); - param_00 thread setswarmvisionandlightsetpermap(1.25); - if(getdvarint("camera_thirdPerson")) - { - param_00 maps\mp\_utility::setthirdpersondof(0); - } - - param_00 playerswitchtoturret(level.swarm_big_turret); - param_00.controlled_swarm_turret = "medium"; - param_00.reloading_rocket_swarm_gun = 0; - param_00 thread removeswarmplayerondisconnect(); - param_00 thread removeswarmplayeronchangeteams(); - param_00 thread removeswarmplayeronspectate(); - param_00 thread removeswarmplayerongamecleanup(); - param_00 thread removeswarmplayeronsystemhack(); - wait(1); - maps\mp\gametypes\_hostmigration::waittillhostmigrationdone(); - param_00 setclientomnvar("ui_solar_beam",1); - param_00 thread waitsetstatic(0.1); - var_01 = level.swarm_use_duration; - param_00.swarm_endtime = gettime() + var_01 * 1000; - param_00 setclientomnvar("ui_warbird_countdown",param_00.swarm_endtime); - self notifyonplayercommand("swarm_fire","+attack"); - self notifyonplayercommand("swarm_fire","+attack_akimbo_accessible"); - param_00 thread firerocketswarmgun(); - if(isdefined(level.swarm_targetent)) - { - playfxontag(common_scripts\utility::getfx("vehicle_osp_rocket_marker"),level.swarm_targetent,"tag_origin"); - } - - param_00 thread pulseswarmreloadtext(); - param_00 thread showaerialmarker(); - param_00 thread removeswarmplayeraftertime(var_01); - param_00 thread removeswarmplayeroncommand(); - level.swarm_planemodel thread swarmexit(var_01); - level thread setupplayersduringstreak(); -} - -//Function Number: 5 -waitsetstatic(param_00) -{ - self endon("swarm_player_removed"); - self endon("disconnect"); - wait(param_00); - maps\mp\killstreaks\_aerial_utility::playerenablestreakstatic(); -} - -//Function Number: 6 -waitsetthermal(param_00) -{ - self endon("disconnect"); - level endon("swarm_player_removed"); - self endon("swarm_player_removed"); - wait(param_00); - self thermalvisionfofoverlayon(); - var_01 = 3000; - var_02 = 0.3; - var_03 = var_01; - var_04 = 0.3; - var_05 = var_01 * 0.75; - var_06 = 20; - var_07 = 30; - thread maps\mp\killstreaks\_aerial_utility::thermalvision("swarm_player_removed",var_02,var_03,var_04,var_05,var_06,var_07); -} - -//Function Number: 7 -waitdisableshadows(param_00) -{ - self endon("disconnect"); - level endon("swarm_player_removed"); - self endon("swarm_player_removed"); - wait(param_00); - self setshadowrendering(0); -} - -//Function Number: 8 -setswarmvisionandlightsetpermap(param_00) -{ - self endon("disconnect"); - level endon("swarm_player_removed"); - wait(param_00); - if(isdefined(level.swarmvisionset)) - { - self setclienttriggervisionset(level.swarmvisionset,0); - } - - if(isdefined(level.swarmlightset)) - { - self lightsetforplayer(level.swarmlightset); - } - - maps\mp\killstreaks\_aerial_utility::handle_player_starting_aerial_view(); -} - -//Function Number: 9 -removeswarmvisionandlightsetpermap(param_00) -{ - self setclienttriggervisionset("",param_00); - self lightsetforplayer(""); - maps\mp\killstreaks\_aerial_utility::handle_player_ending_aerial_view(); -} - -//Function Number: 10 -removeswarmplayeroncommand() -{ - self endon("swarm_player_removed"); - var_00 = 0; - for(;;) - { - if(self usebuttonpressed()) - { - var_00 = var_00 + 0.05; - if(var_00 > 1) - { - level thread removeswarmplayer(self,0); - return; - } - } - else - { - var_00 = 0; - } - - wait(0.05); - } -} - -//Function Number: 11 -removeswarmplayerongamecleanup() -{ - self endon("swarm_player_removed"); - level waittill("game_ended"); - level thread removeswarmplayer(self,0); -} - -//Function Number: 12 -removeswarmplayerondisconnect() -{ - self endon("swarm_player_removed"); - self waittill("disconnect"); - level thread removeswarmplayer(self,1); -} - -//Function Number: 13 -removeswarmplayeronchangeteams() -{ - self endon("swarm_player_removed"); - self waittill("joined_team"); - level thread removeswarmplayer(self,0); -} - -//Function Number: 14 -removeswarmplayeronspectate() -{ - self endon("swarm_player_removed"); - common_scripts\utility::waittill_any("joined_spectators","spawned"); - level thread removeswarmplayer(self,0); -} - -//Function Number: 15 -removeswarmplayeraftertime(param_00) -{ - self endon("swarm_player_removed"); - maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(param_00); - level thread removeswarmplayer(self,0); -} - -//Function Number: 16 -removeswarmplayeronsystemhack() -{ - self endon("swarm_player_removed"); - for(;;) - { - self waittill("EMP_Artifacts"); - wait(0.15); - if(level.empstreaksdisabled) - { - level thread removeswarmplayer(self,0); - } - } -} - -//Function Number: 17 -removeswarmplayer(param_00,param_01) -{ - param_00 notify("swarm_player_removed"); - level notify("swarm_player_removed"); - waittillframeend; - level.swarm_planemodel.player = undefined; - if(!param_01) - { - param_00 playerresetswarmomnvars(); - param_00 notifyonplayercommandremove("swarm_fire","+attack"); - param_00 notifyonplayercommandremove("swarm_fire","+attack_akimbo_accessible"); - param_00 remotecontrolturretoff(level.swarm_big_turret); - level.swarm_big_turret hide(); - param_00 unlink(); - var_02 = maps\mp\_utility::getkillstreakweapon("orbitalsupport"); - param_00 takeweapon(var_02); - if(param_00 maps\mp\_utility::isusingremote()) - { - param_00 maps\mp\_utility::clearusingremote(); - } - - maps\mp\killstreaks\_aerial_utility::disableorbitalthermal(param_00); - param_00 setshadowrendering(1); - param_00 thermalvisionfofoverlayoff(); - param_00 setblurforplayer(0,0); - param_00 removeswarmvisionandlightsetpermap(1.5); - param_00 stopac130(); - if(getdvarint("camera_thirdPerson")) - { - param_00 maps\mp\_utility::setthirdpersondof(1); - } - - if(isdefined(param_00.darkscreenoverlay)) - { - param_00.darkscreenoverlay destroy(); - } - - param_00.reloading_rocket_swarm_gun = undefined; - param_00 maps\mp\_utility::playerrestoreangles(); - } - - if(isdefined(level.swarm_targetent)) - { - stopfxontag(common_scripts\utility::getfx("vehicle_osp_rocket_marker"),level.swarm_targetent,"tag_origin"); - level.swarm_targetent delete(); - } - - level.swarm_player = undefined; - level.swarm_planemodel stoploopsound(); - level.swarm_planemodel playsound("paladin_orbit_return"); -} - -//Function Number: 18 -cleanupswarments() -{ - level.swarm_planemodel stoploopsound(); - if(isdefined(level.swarm_planemodel.farflightsound)) - { - level.swarm_planemodel.farflightsound stoploopsound(); - level.swarm_planemodel.farflightsound delete(); - } - - if(isdefined(level.swarm_planemodel.closeflightsound)) - { - level.swarm_planemodel.closeflightsound stoploopsound(); - level.swarm_planemodel.closeflightsound delete(); - } - - if(isdefined(level.swarm_planemodel.minimapicon)) - { - level.swarm_planemodel.minimapicon delete(); - } -} - -//Function Number: 19 -swarm_spawn() -{ - var_00 = getentarray("minimap_corner","targetname"); - var_01 = (0,0,0); - if(var_00.size) - { - var_01 = maps\mp\gametypes\_spawnlogic::findboxcenter(var_00[0].origin,var_00[1].origin); - var_01 = (var_01[0],var_01[1],0); - } - - level.swarm_planemodel = spawn("script_model",var_01); - level.swarm_planemodel.angles = (0,0,0); - level.swarm_planemodel setmodel("vehicle_mp_seoul2_killstreak_osp_rig"); - level.swarm_planemodel.owner = self; - level.swarm_planemodel common_scripts\utility::make_entity_sentient_mp(self.team); - level.swarm_planemodel.minimapicon = spawnplane(self,"script_model",var_01,"compass_objpoint_seoul2_swarm_friendly","compass_objpoint_seoul2_swarm_enemy"); - level.swarm_planemodel.minimapicon setmodel("tag_origin"); - level.swarm_planemodel.minimapicon vehicle_jetbikesethoverforcescale(level.swarm_planemodel,"tag_origin",(0,0,0),(0,0,0)); - level.swarm_planemodel.fxent = level.swarm_planemodel common_scripts\utility::spawn_tag_origin(); - level.swarm_planemodel.fxent vehicle_jetbikesethoverforcescale(level.swarm_planemodel,"tag_origin",(0,0,-800),(0,0,0)); - level.swarm_planemodel.fxent show(); - playfxontag(common_scripts\utility::getfx("drone_swarm_loop"),level.swarm_planemodel.fxent,"tag_origin"); - level.swarm_planemodel setcandamage(1); - level.swarm_planemodel setcanradiusdamage(1); - level.swarm_planemodel.showthreatmarker = 0; - level.swarm_planemodel setrandomswarmstartposition(); - level.swarm_big_turret = spawnswarmturret("orbitalsupport_medium_turret_mp","orbitalsupport_big_turret","tag_orbitalsupport_biggun"); - level.swarm_planemodel thread moveswarmtodestination(); -} - -//Function Number: 20 -spawnswarmturret(param_00,param_01,param_02) -{ - var_03 = spawnturret("misc_turret",level.swarm_planemodel gettagorigin(param_02),param_00,0); - var_03.angles = level.swarm_planemodel gettagangles(param_02); - var_03 setmodel(param_01); - var_03 setdefaultdroppitch(45); - var_03 linkto(level.swarm_planemodel,param_02,(0,0,0),(0,0,0)); - var_03.owner = undefined; - var_03.health = 99999; - var_03.maxhealth = 1000; - var_03.damagetaken = 0; - var_03.stunned = 0; - var_03.stunnedtime = 0; - var_03 setcandamage(0); - var_03 setcanradiusdamage(0); - var_03 turretfiredisable(); - return var_03; -} - -//Function Number: 21 -swarmturretspawnsoundent(param_00) -{ - wait 0.05; - self.soundent = spawn("script_model",self.origin); - self.soundent setmodel("tag_origin"); - self.soundent linkto(level.swarm_planemodel,param_00,(0,0,0),(0,0,0)); -} - -//Function Number: 22 -pulseswarmreloadtext() -{ - level endon("swarm_player_removed"); - self endon("swarm_player_removed"); - self setclientomnvar("ui_osp_reload_bitfield",0); - var_00 = 4; - for(;;) - { - var_01 = 0; - if(self.reloading_rocket_swarm_gun) - { - var_01 = var_01 + var_00; - } - - self setclientomnvar("ui_osp_reload_bitfield",var_01); - wait(0.05); - } -} - -//Function Number: 23 -playerswitchtoturret(param_00) -{ - self unlink(); - level thread handleturretsoundent(param_00); - var_01 = 75; - var_02 = 75; - var_03 = -30; - var_04 = 360; - self playerlinkweaponviewtodelta(param_00,"tag_player",0,var_01,var_02,var_03,var_04,1); - self playerlinkedsetusebaseangleforviewclamp(1); - var_05 = 45; - self remotecontrolturret(param_00,var_05); -} - -//Function Number: 24 -handleturretsoundent(param_00) -{ - param_00 endon("death"); - param_00 notify("startHandleSoundEnt"); - param_00 endon("startHandleSoundEnt"); - if(isdefined(param_00.soundent)) - { - param_00.soundent hide(); - } - - foreach(var_02 in level.players) - { - if(isdefined(param_00.owner) && param_00.owner != var_02) - { - if(isdefined(param_00.soundent)) - { - param_00.soundent showtoplayer(var_02); - } - } - } - - for(;;) - { - level waittill("connected",var_02); - if(isdefined(param_00.soundent)) - { - param_00.soundent showtoplayer(var_02); - } - } -} - -//Function Number: 25 -random_vector(param_00) -{ - return (randomfloat(param_00) - param_00 * 0.5,randomfloat(param_00) - param_00 * 0.5,randomfloat(param_00) - param_00 * 0.5); -} - -//Function Number: 26 -firerocketswarmgun() -{ - self endon("swarm_player_removed"); - var_00 = 3; - thread updateshootinglocation(); - while(!isdefined(level.swarm_planemodel.swarmflying)) - { - wait 0.05; - } - - for(;;) - { - self.reloading_rocket_swarm_gun = 0; - if(self attackbuttonpressed() && !isdefined(level.hostmigrationtimer)) - { - earthquake(0.3,1,level.swarm_planemodel.origin,1000,self); - var_01 = level.swarm_big_turret gettagorigin("tag_missile1"); - var_02 = vectornormalize(anglestoforward(self getplayerangles())); - var_03 = vectornormalize(anglestoforward(level.swarm_planemodel gettagangles("tag_origin"))); - for(var_04 = 0;var_04 < 1;var_04++) - { - var_05 = var_02 + (0,0,0.4) + random_vector(0.5); - var_06 = var_01 + common_scripts\utility::randomvectorrange(-1,1); - var_07 = magicbullet("iw5_dlcgun12loot2_mp",var_01,var_01 + var_05,self); - var_08 = var_07 common_scripts\utility::spawn_tag_origin(); - var_08 show(); - var_08 vehicle_jetbikesethoverforcescale(var_07,"tag_fx"); - var_09 = []; - foreach(var_0B in level.players) - { - if(var_0B != self) - { - var_09[var_09.size] = spawnlinkedfxforclient(common_scripts\utility::getfx("drone_swarm_trail"),var_08,"tag_origin",var_0B); - } - } - - var_09[var_09.size] = spawnlinkedfxforclient(common_scripts\utility::getfx("drone_swarm_trail_inair"),var_08,"tag_origin",self); - foreach(var_0E in var_09) - { - setfxkillondelete(var_0E,1); - triggerfx(var_0E); - } - - thread cleanupdronemissilefx(var_07,var_08,var_09); - var_07.vehicle_fired_from = level.swarm_planemodel; - self playlocalsound("paladin_missile_shot_2d"); - self playrumbleonentity("ac130_40mm_fire"); - var_07 missile_settargetent(level.swarm_targetent); - var_07 missile_setflightmodedirect(); - wait(0.1); - } - - self.reloading_rocket_swarm_gun = 1; - thread rocketreloadsound(var_00); - wait(var_00); - self notify("rocketReloadComplete"); - } - - wait 0.05; - } -} - -//Function Number: 27 -cleanupdronemissilefx(param_00,param_01,param_02) -{ - param_00 waittill("death"); - foreach(var_04 in param_02) - { - var_04 delete(); - } - - param_01 delete(); -} - -//Function Number: 28 -updateshootinglocation() -{ - self endon("swarm_player_removed"); - level.swarm_targetent = spawn("script_model",(0,0,0)); - level.swarm_targetent setmodel("tag_origin"); - level.swarm_big_turret turretsetgroundaimentity(level.swarm_targetent); - for(;;) - { - var_00 = level.swarm_big_turret gettagorigin("tag_player"); - var_01 = level.swarm_big_turret gettagorigin("tag_player") + anglestoforward(level.swarm_big_turret gettagangles("tag_player")) * 20000; - var_02 = bullettrace(var_00,var_01,0,level.swarm_big_turret); - var_03 = var_02["position"]; - level.swarm_targetent.origin = var_03; - wait 0.05; - } -} - -//Function Number: 29 -rocketreloadsound(param_00) -{ - self endon("rocketReloadComplete"); - self endon("swarm_player_removed"); - self playlocalsound("warbird_missile_reload_bed"); - wait(0.5); - self playlocalsound("warbird_missile_reload"); -} - -//Function Number: 30 -showaerialmarker() -{ - level.swarm_planemodel endon("death"); - while(!isdefined(level.swarm_planemodel.swarmflying)) - { - wait 0.05; - } - - level.swarm_planemodel.showthreatmarker = 1; - level.swarm_planemodel thread maps\mp\killstreaks\_killstreaks::updateaerialkillstreakmarker(); - level.swarm_planemodel common_scripts\utility::waittill_either("crashing","leaving"); - level.swarm_planemodel.showthreatmarker = 0; - level.swarm_planemodel thread maps\mp\killstreaks\_killstreaks::updateaerialkillstreakmarker(); -} - -//Function Number: 31 -setrandomswarmstartposition() -{ - var_00 = level.mapcenter[2] + 3000; - var_01 = 2000; - var_02 = (0,randomint(360),0); - level.swarm_planemodel.angles = var_02; - level.swarm_planemodel.origin = level.swarm_planemodel.origin - vectornormalize(-1 * anglestoright(level.swarm_planemodel gettagangles("tag_origin"))) * var_01; - level.swarm_planemodel.origin = level.swarm_planemodel.origin + (0,0,var_00); - level.swarm_planemodel.destination2 = spawnstruct(); - level.swarm_planemodel.destination2.origin = level.swarm_planemodel.origin; - level.swarm_planemodel.destination2.angles = level.swarm_planemodel.angles; - level.swarm_planemodel.origin = level.swarm_planemodel.origin + (0,0,65000); -} - -//Function Number: 32 -moveswarmtodestination(param_00) -{ - self endon("death"); - self endon("crashing"); - level endon("game_ended"); - level endon("swarm_player_removed"); - if(!isdefined(param_00)) - { - param_00 = 1; - } - - thread rotateswarm(1,"off"); - thread playentrysounddelayed(); - level.swarm_planemodel scriptmodelplayanimdeltamotion("mp_seoul2_ks_callin","paladin_notetrack"); - level.swarm_planemodel waittillmatch("engines_full","paladin_notetrack"); - level.swarm_planemodel waittillmatch("downward_stop","paladin_notetrack"); - if(param_00) - { - level.swarm_planemodel vehicle_jetbikesethoverforcescale(level.swarmrig,"tag_player"); - thread rotateswarm(level.swarm_speed); - } - - level.swarm_planemodel waittillmatch("end","paladin_notetrack"); - level.swarm_planemodel scriptmodelclearanim(); - level.swarm_planemodel scriptmodelplayanim("paladin_ks_loop","paladin_notetrack"); - if(isdefined(level.swarm_planemodel.owner)) - { - level.swarm_planemodel.closeflightsound = spawn("script_origin",(0,0,0)); - level.swarm_planemodel.closeflightsound vehicle_jetbikesethoverforcescale(level.swarm_planemodel,"tag_origin",(0,0,0),(0,0,0)); - level.swarm_planemodel.closeflightsound playloopsound("paladin_flight_loop_near"); - } - - level.swarm_planemodel.farflightsound = spawn("script_origin",(0,0,0)); - level.swarm_planemodel.farflightsound vehicle_jetbikesethoverforcescale(level.swarm_planemodel,"tag_origin",(0,0,0),(0,0,0)); - level.swarm_planemodel.farflightsound playloopsound("paladin_flight_loop_dist"); - setupflightsounds(); - level.swarm_planemodel.swarmflying = 1; -} - -//Function Number: 33 -setupflightsounds() -{ - if(isdefined(level.swarm_planemodel.closeflightsound)) - { - level.swarm_planemodel.closeflightsound hide(); - if(isdefined(level.swarm_planemodel.owner)) - { - level.swarm_planemodel.closeflightsound showtoplayer(level.swarm_planemodel.owner); - } - } - - if(isdefined(level.swarm_planemodel.farflightsound)) - { - level.swarm_planemodel.farflightsound hide(); - foreach(var_01 in level.players) - { - if(level.splitscreen || isdefined(level.swarm_planemodel.owner) && bothplayerssplitscreen(level.swarm_planemodel.owner,var_01)) - { - continue; - } - - if(isdefined(level.swarm_planemodel.owner) && var_01 != level.swarm_planemodel.owner) - { - level.swarm_planemodel.farflightsound showtoplayer(var_01); - } - } - } -} - -//Function Number: 34 -bothplayerssplitscreen(param_00,param_01) -{ - return param_00 issplitscreenplayer() && param_01 issplitscreenplayer(); -} - -//Function Number: 35 -playerdelayrumble(param_00) -{ - self endon("disconnect"); - self endon("swarm_player_removed"); - wait(param_00); - self playrumbleonentity("orbital_laser_charge"); -} - -//Function Number: 36 -playentrysounddelayed() -{ - self endon("death"); - self endon("crashing"); - level endon("game_ended"); - level endon("swarm_player_removed"); - wait(1); - playsoundatpos(level.swarm_planemodel.destination2.origin,"paladin_orbit_drop"); -} - -//Function Number: 37 -swarmexit(param_00) -{ - level.swarm_planemodel endon("crashing"); - maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(param_00); - level.swarm_planemodel notify("leaving"); - level.swarm_planemodel unlink(); - level.swarm_planemodel.fxent unlink(); - level.swarm_planemodel scriptmodelplayanimdeltamotion("paladin_ks_exit","paladin_notetrack"); - wait(4.8); - cleanupswarments(); - level.swarm_planemodel delete(); - level.swarminuse = 0; -} - -//Function Number: 38 -setupplayersduringstreak() -{ - level.swarm_chatter_timer = 0; - foreach(var_01 in level.players) - { - if(isdefined(var_01.team) && level.swarm_planemodel.owner.team == var_01.team) - { - continue; - } - else if(!isdefined(var_01.team)) - { - var_01 onplayerspawnedduringstreak(); - continue; - } - } - - level thread onplayerconnectduringstreak(); -} - -//Function Number: 39 -onplayerconnectduringstreak() -{ - level endon("game_ended"); - level.swarm_planemodel.owner endon("swarm_player_removed"); - for(;;) - { - level waittill("connected",var_00); - var_00 thread onplayerspawnedduringstreak(); - } -} - -//Function Number: 40 -onplayerspawnedduringstreak() -{ - self waittill("spawned_player"); - setupflightsounds(); -} - -//Function Number: 41 -turretdeletesoundent() -{ - if(isdefined(self.soundent)) - { - self.soundent delete(); - } -} - -//Function Number: 42 -playerresetswarmomnvars() -{ - self setclientomnvar("ui_killstreak_optic",0); - self setclientomnvar("ui_osp_reload_bitfield",0); - self setclientomnvar("ui_solar_beam",0); - maps\mp\killstreaks\_aerial_utility::playerdisablestreakstatic(); -} - -//Function Number: 43 -rotateswarm(param_00,param_01) -{ - level notify("stop_rotateSwarm_thread"); - level endon("stop_rotateSwarm_thread"); - if(!isdefined(param_01)) - { - param_01 = "on"; - } - - if(param_01 == "on") - { - level.swarmrig rotateyaw(360,param_00,0.5); - wait(param_00); - for(;;) - { - level.swarmrig rotateyaw(360,param_00); - wait(param_00); - } - - return; - } - - if(param_01 == "off") - { - var_02 = 10; - var_03 = param_00 / 360 * var_02; - level.swarmrig rotateyaw(level.swarmrig.angles[2] + var_02,var_03,0,var_03); - } -} \ No newline at end of file diff --git a/AW/PC/aitype/ally_atlas_ar.gsc b/AW/PC/aitype/ally_atlas_ar.gsc new file mode 100644 index 0000000..ac768e1 --- /dev/null +++ b/AW/PC/aitype/ally_atlas_ar.gsc @@ -0,0 +1,99 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_atlas_ar.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 1:56:57 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(10)) + { + case 0: + self.weapon = "iw5_himar_sp_himarscope"; + break; + + case 1: + self.weapon = "iw5_himar_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_himar_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_himar_sp_variablereddot"; + break; + + case 4: + self.weapon = "iw5_himar_sp_opticstargetenhancer"; + break; + + case 5: + self.weapon = "iw5_bal27_sp"; + break; + + case 6: + self.weapon = "iw5_bal27_sp_opticsacog2"; + break; + + case 7: + self.weapon = "iw5_bal27_sp_opticsreddot"; + break; + + case 8: + self.weapon = "iw5_bal27_sp_variablereddot"; + break; + + case 9: + self.weapon = "iw5_bal27_sp_opticstargetenhancer"; + break; + } + + character\character_atlas_ar::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_ar::precache(); + precacheitem("iw5_himar_sp_himarscope"); + precacheitem("iw5_himar_sp_opticsacog2"); + precacheitem("iw5_himar_sp_opticsreddot"); + precacheitem("iw5_himar_sp_variablereddot"); + precacheitem("iw5_himar_sp_opticstargetenhancer"); + precacheitem("iw5_bal27_sp"); + precacheitem("iw5_bal27_sp_opticsacog2"); + precacheitem("iw5_bal27_sp_opticsreddot"); + precacheitem("iw5_bal27_sp_variablereddot"); + precacheitem("iw5_bal27_sp_opticstargetenhancer"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_atlas_pmc_ar.gsc b/AW/PC/aitype/ally_atlas_pmc_ar.gsc new file mode 100644 index 0000000..1e9bdfb --- /dev/null +++ b/AW/PC/aitype/ally_atlas_pmc_ar.gsc @@ -0,0 +1,74 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_atlas_pmc_ar.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 1:56:57 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(5)) + { + case 0: + self.weapon = "iw5_bal27_sp"; + break; + + case 1: + self.weapon = "iw5_bal27_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_bal27_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_bal27_sp_variablereddot"; + break; + + case 4: + self.weapon = "iw5_bal27_sp_opticstargetenhancer"; + break; + } + + character\character_pmc_ar::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_pmc_ar::precache(); + precacheitem("iw5_bal27_sp"); + precacheitem("iw5_bal27_sp_opticsacog2"); + precacheitem("iw5_bal27_sp_opticsreddot"); + precacheitem("iw5_bal27_sp_variablereddot"); + precacheitem("iw5_bal27_sp_opticstargetenhancer"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_atlas_pmc_ar_lowlod.gsc b/AW/PC/aitype/ally_atlas_pmc_ar_lowlod.gsc new file mode 100644 index 0000000..175f0c8 --- /dev/null +++ b/AW/PC/aitype/ally_atlas_pmc_ar_lowlod.gsc @@ -0,0 +1,114 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_atlas_pmc_ar_lowlod.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 1:56:58 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(13)) + { + case 0: + self.weapon = "iw5_bal27_sp"; + break; + + case 1: + self.weapon = "iw5_bal27_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_bal27_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_bal27_sp_opticsthermal"; + break; + + case 4: + self.weapon = "iw5_bal27_sp_variablereddot"; + break; + + case 5: + self.weapon = "iw5_bal27_sp_opticstargetenhancer"; + break; + + case 6: + self.weapon = "iw5_ak12_sp"; + break; + + case 7: + self.weapon = "iw5_ak12_sp_opticsacog2"; + break; + + case 8: + self.weapon = "iw5_ak12_sp_opticsreddot"; + break; + + case 9: + self.weapon = "iw5_ak12_sp_opticsthermal"; + break; + + case 10: + self.weapon = "iw5_ak12_sp_opticstargetenhancer"; + break; + + case 11: + self.weapon = "iw5_lsat_sp"; + break; + + case 12: + self.weapon = "iw5_lsat_sp_opticsacog2"; + break; + } + + character\character_pmc_ar_lowlod::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_pmc_ar_lowlod::precache(); + precacheitem("iw5_bal27_sp"); + precacheitem("iw5_bal27_sp_opticsacog2"); + precacheitem("iw5_bal27_sp_opticsreddot"); + precacheitem("iw5_bal27_sp_opticsthermal"); + precacheitem("iw5_bal27_sp_variablereddot"); + precacheitem("iw5_bal27_sp_opticstargetenhancer"); + precacheitem("iw5_ak12_sp"); + precacheitem("iw5_ak12_sp_opticsacog2"); + precacheitem("iw5_ak12_sp_opticsreddot"); + precacheitem("iw5_ak12_sp_opticsthermal"); + precacheitem("iw5_ak12_sp_opticstargetenhancer"); + precacheitem("iw5_lsat_sp"); + precacheitem("iw5_lsat_sp_opticsacog2"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_atlas_pmc_noexo.gsc b/AW/PC/aitype/ally_atlas_pmc_noexo.gsc new file mode 100644 index 0000000..3014b33 --- /dev/null +++ b/AW/PC/aitype/ally_atlas_pmc_noexo.gsc @@ -0,0 +1,47 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_atlas_pmc_noexo.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 44 ms + * Timestamp: 4/22/2024 1:56:58 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_pmc_noexo::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_pmc_noexo::precache(); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_atlas_pmc_noexo_rec_driver.gsc b/AW/PC/aitype/ally_atlas_pmc_noexo_rec_driver.gsc new file mode 100644 index 0000000..04b22bb --- /dev/null +++ b/AW/PC/aitype/ally_atlas_pmc_noexo_rec_driver.gsc @@ -0,0 +1,47 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_atlas_pmc_noexo_rec_driver.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 45 ms + * Timestamp: 4/22/2024 1:56:58 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_pmc_noexo_rec_driver::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_pmc_noexo_rec_driver::precache(); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_atlas_pmc_smg.gsc b/AW/PC/aitype/ally_atlas_pmc_smg.gsc new file mode 100644 index 0000000..888281d --- /dev/null +++ b/AW/PC/aitype/ally_atlas_pmc_smg.gsc @@ -0,0 +1,134 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_atlas_pmc_smg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 1:56:59 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(15)) + { + case 0: + self.weapon = "iw5_sn6_sp"; + break; + + case 1: + self.weapon = "iw5_sn6_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_sn6_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_sn6_sp_variablereddot"; + break; + + case 4: + self.weapon = "iw5_sn6_sp_opticstargetenhancer"; + break; + + case 5: + self.weapon = "iw5_asm1_sp"; + break; + + case 6: + self.weapon = "iw5_asm1_sp_opticsacog2"; + break; + + case 7: + self.weapon = "iw5_asm1_sp_opticsreddot"; + break; + + case 8: + self.weapon = "iw5_asm1_sp_variablereddot"; + break; + + case 9: + self.weapon = "iw5_asm1_sp_opticstargetenhancer"; + break; + + case 10: + self.weapon = "iw5_hmr9_sp"; + break; + + case 11: + self.weapon = "iw5_hmr9_sp_opticsacog2"; + break; + + case 12: + self.weapon = "iw5_hmr9_sp_opticsreddot"; + break; + + case 13: + self.weapon = "iw5_hmr9_sp_variablereddot"; + break; + + case 14: + self.weapon = "iw5_hmr9_sp_opticstargetenhancer"; + break; + } + + switch(codescripts\character::get_random_character(2)) + { + case 0: + character\character_pmc_smg::main(); + break; + + case 1: + character\character_pmc_smg_asi::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_pmc_smg::precache(); + character\character_pmc_smg_asi::precache(); + precacheitem("iw5_sn6_sp"); + precacheitem("iw5_sn6_sp_opticsacog2"); + precacheitem("iw5_sn6_sp_opticsreddot"); + precacheitem("iw5_sn6_sp_variablereddot"); + precacheitem("iw5_sn6_sp_opticstargetenhancer"); + precacheitem("iw5_asm1_sp"); + precacheitem("iw5_asm1_sp_opticsacog2"); + precacheitem("iw5_asm1_sp_opticsreddot"); + precacheitem("iw5_asm1_sp_variablereddot"); + precacheitem("iw5_asm1_sp_opticstargetenhancer"); + precacheitem("iw5_hmr9_sp"); + precacheitem("iw5_hmr9_sp_opticsacog2"); + precacheitem("iw5_hmr9_sp_opticsreddot"); + precacheitem("iw5_hmr9_sp_variablereddot"); + precacheitem("iw5_hmr9_sp_opticstargetenhancer"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_atlas_security_ar.gsc b/AW/PC/aitype/ally_atlas_security_ar.gsc new file mode 100644 index 0000000..2013459 --- /dev/null +++ b/AW/PC/aitype/ally_atlas_security_ar.gsc @@ -0,0 +1,99 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_atlas_security_ar.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 1:56:59 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(10)) + { + case 0: + self.weapon = "iw5_himar_sp_himarscope"; + break; + + case 1: + self.weapon = "iw5_himar_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_himar_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_himar_sp_variablereddot"; + break; + + case 4: + self.weapon = "iw5_himar_sp_opticstargetenhancer"; + break; + + case 5: + self.weapon = "iw5_bal27_sp"; + break; + + case 6: + self.weapon = "iw5_bal27_sp_opticsacog2"; + break; + + case 7: + self.weapon = "iw5_bal27_sp_opticsreddot"; + break; + + case 8: + self.weapon = "iw5_bal27_sp_variablereddot"; + break; + + case 9: + self.weapon = "iw5_bal27_sp_opticstargetenhancer"; + break; + } + + character\character_atlas_security_ar::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_security_ar::precache(); + precacheitem("iw5_himar_sp_himarscope"); + precacheitem("iw5_himar_sp_opticsacog2"); + precacheitem("iw5_himar_sp_opticsreddot"); + precacheitem("iw5_himar_sp_variablereddot"); + precacheitem("iw5_himar_sp_opticstargetenhancer"); + precacheitem("iw5_bal27_sp"); + precacheitem("iw5_bal27_sp_opticsacog2"); + precacheitem("iw5_bal27_sp_opticsreddot"); + precacheitem("iw5_bal27_sp_variablereddot"); + precacheitem("iw5_bal27_sp_opticstargetenhancer"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/SP/aitype/ally_atlas_pmc_smg.gsc b/AW/PC/aitype/ally_atlas_smg.gsc similarity index 68% rename from AW/PC/SP/aitype/ally_atlas_pmc_smg.gsc rename to AW/PC/aitype/ally_atlas_smg.gsc index de10440..87b3dcb 100644 --- a/AW/PC/SP/aitype/ally_atlas_pmc_smg.gsc +++ b/AW/PC/aitype/ally_atlas_smg.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: aitype\ally_atlas_pmc_smg.gsc + * Decompiled File: ally_atlas_smg.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 61 ms - * Timestamp: 10/27/2023 1:52:37 AM + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 1:56:59 AM *******************************************************************/ //Function Number: 1 @@ -31,50 +31,67 @@ main() switch(codescripts\character::get_random_weapon(15)) { case 0: + self.weapon = "iw5_sn6_sp"; break; case 1: + self.weapon = "iw5_sn6_sp_opticsacog2"; break; case 2: + self.weapon = "iw5_sn6_sp_opticsreddot"; break; case 3: + self.weapon = "iw5_sn6_sp_variablereddot"; break; case 4: + self.weapon = "iw5_sn6_sp_opticstargetenhancer"; break; case 5: + self.weapon = "iw5_asm1_sp"; break; case 6: + self.weapon = "iw5_asm1_sp_opticsacog2"; break; case 7: + self.weapon = "iw5_asm1_sp_opticsreddot"; break; case 8: + self.weapon = "iw5_asm1_sp_variablereddot"; break; case 9: + self.weapon = "iw5_asm1_sp_opticstargetenhancer"; break; case 10: + self.weapon = "iw5_hmr9_sp"; break; case 11: + self.weapon = "iw5_hmr9_sp_opticsacog2"; break; case 12: + self.weapon = "iw5_hmr9_sp_opticsreddot"; break; case 13: + self.weapon = "iw5_hmr9_sp_variablereddot"; break; case 14: + self.weapon = "iw5_hmr9_sp_opticstargetenhancer"; break; } + + character\character_atlas_ar::main(); } //Function Number: 2 @@ -86,8 +103,7 @@ spawner() //Function Number: 3 precache() { - character\character_pmc_smg::precache(); - character\character_pmc_smg_asi::precache(); + character\character_atlas_ar::precache(); precacheitem("iw5_sn6_sp"); precacheitem("iw5_sn6_sp_opticsacog2"); precacheitem("iw5_sn6_sp_opticsreddot"); diff --git a/AW/PC/aitype/ally_doctor_mwi.gsc b/AW/PC/aitype/ally_doctor_mwi.gsc new file mode 100644 index 0000000..38ca1b5 --- /dev/null +++ b/AW/PC/aitype/ally_doctor_mwi.gsc @@ -0,0 +1,47 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_doctor_mwi.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 1:57:00 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 150; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_doctor_mwi::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_doctor_mwi::precache(); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_doctor_mwi_holo.gsc b/AW/PC/aitype/ally_doctor_mwi_holo.gsc new file mode 100644 index 0000000..e72d0ee --- /dev/null +++ b/AW/PC/aitype/ally_doctor_mwi_holo.gsc @@ -0,0 +1,47 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_doctor_mwi_holo.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 1:57:00 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 150; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_doctor_mwi_holo::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_doctor_mwi_holo::precache(); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_fus_police_a.gsc b/AW/PC/aitype/ally_fus_police_a.gsc new file mode 100644 index 0000000..714da03 --- /dev/null +++ b/AW/PC/aitype/ally_fus_police_a.gsc @@ -0,0 +1,64 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_fus_police_a.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 1:57:00 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(3)) + { + case 0: + self.weapon = "iw5_maul_sp"; + break; + + case 1: + self.weapon = "iw5_maul_sp_opticsreddot"; + break; + + case 2: + self.weapon = "iw5_maul_sp_opticstargetenhancer"; + break; + } + + character\character_sf_police_a::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_sf_police_a::precache(); + precacheitem("iw5_maul_sp"); + precacheitem("iw5_maul_sp_opticsreddot"); + precacheitem("iw5_maul_sp_opticstargetenhancer"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_fus_police_b.gsc b/AW/PC/aitype/ally_fus_police_b.gsc new file mode 100644 index 0000000..4b76b20 --- /dev/null +++ b/AW/PC/aitype/ally_fus_police_b.gsc @@ -0,0 +1,64 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_fus_police_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 62 ms + * Timestamp: 4/22/2024 1:57:01 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(3)) + { + case 0: + self.weapon = "iw5_maul_sp"; + break; + + case 1: + self.weapon = "iw5_maul_sp_opticsreddot"; + break; + + case 2: + self.weapon = "iw5_maul_sp_opticstargetenhancer"; + break; + } + + character\character_sf_police_c::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_sf_police_c::precache(); + precacheitem("iw5_maul_sp"); + precacheitem("iw5_maul_sp_opticsreddot"); + precacheitem("iw5_maul_sp_opticstargetenhancer"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_burke_b_atlas.gsc b/AW/PC/aitype/ally_hero_burke_b_atlas.gsc new file mode 100644 index 0000000..6e35c4a --- /dev/null +++ b/AW/PC/aitype/ally_hero_burke_b_atlas.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_burke_b_atlas.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 44 ms + * Timestamp: 4/22/2024 1:57:01 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_bal27_sp_variablereddot"; + character\character_hero_burke_b_atlas::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_burke_b_atlas::precache(); + precacheitem("iw5_bal27_sp_variablereddot"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_burke_pmc.gsc b/AW/PC/aitype/ally_hero_burke_pmc.gsc new file mode 100644 index 0000000..b12f77c --- /dev/null +++ b/AW/PC/aitype/ally_hero_burke_pmc.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_burke_pmc.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 55 ms + * Timestamp: 4/22/2024 1:57:02 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_bal27_sp_variablereddot"; + character\character_hero_burke_b_pmc::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_burke_b_pmc::precache(); + precacheitem("iw5_bal27_sp_variablereddot"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_burke_sentinel_cloak.gsc b/AW/PC/aitype/ally_hero_burke_sentinel_cloak.gsc new file mode 100644 index 0000000..b452109 --- /dev/null +++ b/AW/PC/aitype/ally_hero_burke_sentinel_cloak.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_burke_sentinel_cloak.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 1:57:02 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_hbra3_sp_variablereddot"; + character\character_hero_burke_sentinel_cloak::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_burke_sentinel_cloak::precache(); + precacheitem("iw5_hbra3_sp_variablereddot"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_burke_sentinel_jump_jet.gsc b/AW/PC/aitype/ally_hero_burke_sentinel_jump_jet.gsc new file mode 100644 index 0000000..744582e --- /dev/null +++ b/AW/PC/aitype/ally_hero_burke_sentinel_jump_jet.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_burke_sentinel_jump_jet.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 1:57:02 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_bal27_sp_variablereddot"; + character\character_hero_burke_sentinel::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_burke_sentinel::precache(); + precacheitem("iw5_bal27_sp_variablereddot"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_carter_atlas_pmc.gsc b/AW/PC/aitype/ally_hero_carter_atlas_pmc.gsc new file mode 100644 index 0000000..a385290 --- /dev/null +++ b/AW/PC/aitype/ally_hero_carter_atlas_pmc.gsc @@ -0,0 +1,74 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_carter_atlas_pmc.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 55 ms + * Timestamp: 4/22/2024 1:57:03 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(5)) + { + case 0: + self.weapon = "iw5_bal27_sp"; + break; + + case 1: + self.weapon = "iw5_bal27_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_bal27_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_bal27_sp_variablereddot"; + break; + + case 4: + self.weapon = "iw5_bal27_sp_opticstargetenhancer"; + break; + } + + character\character_hero_carter_pmc::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_carter_pmc::precache(); + precacheitem("iw5_bal27_sp"); + precacheitem("iw5_bal27_sp_opticsacog2"); + precacheitem("iw5_bal27_sp_opticsreddot"); + precacheitem("iw5_bal27_sp_variablereddot"); + precacheitem("iw5_bal27_sp_opticstargetenhancer"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_cormack_captured.gsc b/AW/PC/aitype/ally_hero_cormack_captured.gsc new file mode 100644 index 0000000..5bfe13e --- /dev/null +++ b/AW/PC/aitype/ally_hero_cormack_captured.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_cormack_captured.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 1:57:03 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_sn6_sp"; + character\character_hero_cormack_captured::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_cormack_captured::precache(); + precacheitem("iw5_sn6_sp"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/SP/aitype/ally_hero_cormack_marine.gsc b/AW/PC/aitype/ally_hero_cormack_marine.gsc similarity index 89% rename from AW/PC/SP/aitype/ally_hero_cormack_marine.gsc rename to AW/PC/aitype/ally_hero_cormack_marine.gsc index 17b5a6b..0dadf64 100644 --- a/AW/PC/SP/aitype/ally_hero_cormack_marine.gsc +++ b/AW/PC/aitype/ally_hero_cormack_marine.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: aitype\ally_hero_cormack_marine.gsc + * Decompiled File: ally_hero_cormack_marine.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 74 ms - * Timestamp: 10/27/2023 1:52:38 AM + * Decompile Time: 54 ms + * Timestamp: 4/22/2024 1:57:03 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/aitype/ally_hero_cormack_marine_damaged.gsc b/AW/PC/aitype/ally_hero_cormack_marine_damaged.gsc similarity index 89% rename from AW/PC/SP/aitype/ally_hero_cormack_marine_damaged.gsc rename to AW/PC/aitype/ally_hero_cormack_marine_damaged.gsc index 080cb76..69c5912 100644 --- a/AW/PC/SP/aitype/ally_hero_cormack_marine_damaged.gsc +++ b/AW/PC/aitype/ally_hero_cormack_marine_damaged.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: aitype\ally_hero_cormack_marine_damaged.gsc + * Decompiled File: ally_hero_cormack_marine_damaged.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 69 ms - * Timestamp: 10/27/2023 1:52:38 AM + * Decompile Time: 62 ms + * Timestamp: 4/22/2024 1:57:04 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/aitype/ally_hero_cormack_marine_dress.gsc b/AW/PC/aitype/ally_hero_cormack_marine_dress.gsc new file mode 100644 index 0000000..c385f50 --- /dev/null +++ b/AW/PC/aitype/ally_hero_cormack_marine_dress.gsc @@ -0,0 +1,47 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_cormack_marine_dress.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 45 ms + * Timestamp: 4/22/2024 1:57:04 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_hero_cormack_marine_dress::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_cormack_marine_dress::precache(); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/SP/aitype/ally_hero_cormack_marine_seointro.gsc b/AW/PC/aitype/ally_hero_cormack_marine_seointro.gsc similarity index 89% rename from AW/PC/SP/aitype/ally_hero_cormack_marine_seointro.gsc rename to AW/PC/aitype/ally_hero_cormack_marine_seointro.gsc index e4695ca..93189e1 100644 --- a/AW/PC/SP/aitype/ally_hero_cormack_marine_seointro.gsc +++ b/AW/PC/aitype/ally_hero_cormack_marine_seointro.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: aitype\ally_hero_cormack_marine_seointro.gsc + * Decompiled File: ally_hero_cormack_marine_seointro.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 68 ms - * Timestamp: 10/27/2023 1:52:39 AM + * Decompile Time: 51 ms + * Timestamp: 4/22/2024 1:57:04 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/aitype/ally_hero_cormack_sentinel_arctic.gsc b/AW/PC/aitype/ally_hero_cormack_sentinel_arctic.gsc new file mode 100644 index 0000000..d87d4f7 --- /dev/null +++ b/AW/PC/aitype/ally_hero_cormack_sentinel_arctic.gsc @@ -0,0 +1,74 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_cormack_sentinel_arctic.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:57:05 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(5)) + { + case 0: + self.weapon = "iw5_bal27_sp"; + break; + + case 1: + self.weapon = "iw5_bal27_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_bal27_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_bal27_sp_variablereddot"; + break; + + case 4: + self.weapon = "iw5_bal27_sp_opticstargetenhancer"; + break; + } + + character\character_hero_cormack_sentinel_arctic::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_cormack_sentinel_arctic::precache(); + precacheitem("iw5_bal27_sp"); + precacheitem("iw5_bal27_sp_opticsacog2"); + precacheitem("iw5_bal27_sp_opticsreddot"); + precacheitem("iw5_bal27_sp_variablereddot"); + precacheitem("iw5_bal27_sp_opticstargetenhancer"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_cormack_sentinel_cloak.gsc b/AW/PC/aitype/ally_hero_cormack_sentinel_cloak.gsc new file mode 100644 index 0000000..ff73c62 --- /dev/null +++ b/AW/PC/aitype/ally_hero_cormack_sentinel_cloak.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_cormack_sentinel_cloak.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 1:57:05 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_hbra3_sp_silencer01_variablereddot"; + character\character_hero_cormack_cloak::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_cormack_cloak::precache(); + precacheitem("iw5_hbra3_sp_silencer01_variablereddot"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_cormack_sentinel_ie.gsc b/AW/PC/aitype/ally_hero_cormack_sentinel_ie.gsc new file mode 100644 index 0000000..d4db32e --- /dev/null +++ b/AW/PC/aitype/ally_hero_cormack_sentinel_ie.gsc @@ -0,0 +1,74 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_cormack_sentinel_ie.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 1:57:05 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_pbwsingleshot_sp_silencerpistol"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(5)) + { + case 0: + self.weapon = "iw5_kf5fullauto_sp_silencer01"; + break; + + case 1: + self.weapon = "iw5_kf5fullauto_sp_opticsacog2_silencer01"; + break; + + case 2: + self.weapon = "iw5_kf5fullauto_sp_opticstargetenhancer_silencer01"; + break; + + case 3: + self.weapon = "iw5_kf5fullauto_sp_opticsreddot_silencer01"; + break; + + case 4: + self.weapon = "iw5_kf5fullauto_sp_silencer01_variablereddot"; + break; + } + + character\character_hero_cormack_sentinel_udt_b::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_cormack_sentinel_udt_b::precache(); + precacheitem("iw5_kf5fullauto_sp_silencer01"); + precacheitem("iw5_kf5fullauto_sp_opticsacog2_silencer01"); + precacheitem("iw5_kf5fullauto_sp_opticstargetenhancer_silencer01"); + precacheitem("iw5_kf5fullauto_sp_opticsreddot_silencer01"); + precacheitem("iw5_kf5fullauto_sp_silencer01_variablereddot"); + precacheitem("iw5_pbwsingleshot_sp_silencerpistol"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_cormack_sentinel_ie_grapple.gsc b/AW/PC/aitype/ally_hero_cormack_sentinel_ie_grapple.gsc new file mode 100644 index 0000000..bbfaf0d --- /dev/null +++ b/AW/PC/aitype/ally_hero_cormack_sentinel_ie_grapple.gsc @@ -0,0 +1,74 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_cormack_sentinel_ie_grapple.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 55 ms + * Timestamp: 4/22/2024 1:57:06 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_pbwsingleshot_sp_silencerpistol"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(5)) + { + case 0: + self.weapon = "iw5_kf5fullauto_sp_silencer01"; + break; + + case 1: + self.weapon = "iw5_kf5fullauto_sp_opticsacog2_silencer01"; + break; + + case 2: + self.weapon = "iw5_kf5fullauto_sp_opticstargetenhancer_silencer01"; + break; + + case 3: + self.weapon = "iw5_kf5fullauto_sp_opticsreddot_silencer01"; + break; + + case 4: + self.weapon = "iw5_kf5fullauto_sp_silencer01_variablereddot"; + break; + } + + character\character_hero_cormack_sentinel_udtgr::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_cormack_sentinel_udtgr::precache(); + precacheitem("iw5_kf5fullauto_sp_silencer01"); + precacheitem("iw5_kf5fullauto_sp_opticsacog2_silencer01"); + precacheitem("iw5_kf5fullauto_sp_opticstargetenhancer_silencer01"); + precacheitem("iw5_kf5fullauto_sp_opticsreddot_silencer01"); + precacheitem("iw5_kf5fullauto_sp_silencer01_variablereddot"); + precacheitem("iw5_pbwsingleshot_sp_silencerpistol"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_cormack_sentinel_jump_jet.gsc b/AW/PC/aitype/ally_hero_cormack_sentinel_jump_jet.gsc new file mode 100644 index 0000000..f77fa1b --- /dev/null +++ b/AW/PC/aitype/ally_hero_cormack_sentinel_jump_jet.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_cormack_sentinel_jump_jet.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 51 ms + * Timestamp: 4/22/2024 1:57:06 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_hbra3_sp_variablereddot"; + character\character_hero_cormack_sentinel::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_cormack_sentinel::precache(); + precacheitem("iw5_hbra3_sp_variablereddot"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_gideon_atlas.gsc b/AW/PC/aitype/ally_hero_gideon_atlas.gsc new file mode 100644 index 0000000..0f3ba70 --- /dev/null +++ b/AW/PC/aitype/ally_hero_gideon_atlas.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_gideon_atlas.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 1:57:06 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_bal27_sp_variablereddot"; + character\character_hero_gideon_atlas::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_gideon_atlas::precache(); + precacheitem("iw5_bal27_sp_variablereddot"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_gideon_atlas_arctic.gsc b/AW/PC/aitype/ally_hero_gideon_atlas_arctic.gsc new file mode 100644 index 0000000..55d07ea --- /dev/null +++ b/AW/PC/aitype/ally_hero_gideon_atlas_arctic.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_gideon_atlas_arctic.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 48 ms + * Timestamp: 4/22/2024 1:57:07 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_bal27_sp_variablereddot"; + character\character_hero_gideon_atlas_arctic::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_gideon_atlas_arctic::precache(); + precacheitem("iw5_bal27_sp_variablereddot"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/SP/aitype/ally_hero_gideon_atlas_pmc.gsc b/AW/PC/aitype/ally_hero_gideon_atlas_pmc.gsc similarity index 89% rename from AW/PC/SP/aitype/ally_hero_gideon_atlas_pmc.gsc rename to AW/PC/aitype/ally_hero_gideon_atlas_pmc.gsc index aee3fcd..185ffc9 100644 --- a/AW/PC/SP/aitype/ally_hero_gideon_atlas_pmc.gsc +++ b/AW/PC/aitype/ally_hero_gideon_atlas_pmc.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: aitype\ally_hero_gideon_atlas_pmc.gsc + * Decompiled File: ally_hero_gideon_atlas_pmc.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 90 ms - * Timestamp: 10/27/2023 1:52:40 AM + * Decompile Time: 54 ms + * Timestamp: 4/22/2024 1:57:07 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/aitype/ally_hero_gideon_atlas_pmc_mask.gsc b/AW/PC/aitype/ally_hero_gideon_atlas_pmc_mask.gsc new file mode 100644 index 0000000..fbc4210 --- /dev/null +++ b/AW/PC/aitype/ally_hero_gideon_atlas_pmc_mask.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_gideon_atlas_pmc_mask.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:57:07 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_bal27_sp_variablereddot"; + character\character_hero_gideon_atlas_pmc_mask::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_gideon_atlas_pmc_mask::precache(); + precacheitem("iw5_bal27_sp_variablereddot"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_gideon_captured.gsc b/AW/PC/aitype/ally_hero_gideon_captured.gsc new file mode 100644 index 0000000..5566f3f --- /dev/null +++ b/AW/PC/aitype/ally_hero_gideon_captured.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_gideon_captured.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 50 ms + * Timestamp: 4/22/2024 1:57:08 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "flash_grenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_hmr9_sp"; + character\character_hero_gideon_captured::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_gideon_captured::precache(); + precacheitem("iw5_hmr9_sp"); + precacheitem("iw5_titan45_sp"); + precacheitem("flash_grenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_gideon_pmc.gsc b/AW/PC/aitype/ally_hero_gideon_pmc.gsc new file mode 100644 index 0000000..f6ef366 --- /dev/null +++ b/AW/PC/aitype/ally_hero_gideon_pmc.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_gideon_pmc.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:57:08 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_bal27_sp_variablereddot"; + character\character_hero_gideon_pmc::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_gideon_pmc::precache(); + precacheitem("iw5_bal27_sp_variablereddot"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_gideon_sentinel_cloak.gsc b/AW/PC/aitype/ally_hero_gideon_sentinel_cloak.gsc new file mode 100644 index 0000000..bf7b26f --- /dev/null +++ b/AW/PC/aitype/ally_hero_gideon_sentinel_cloak.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_gideon_sentinel_cloak.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 1:57:08 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_hbra3_sp"; + character\character_hero_gideon_sentinel_cloak::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_gideon_sentinel_cloak::precache(); + precacheitem("iw5_hbra3_sp"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_gideon_sentinel_finale.gsc b/AW/PC/aitype/ally_hero_gideon_sentinel_finale.gsc new file mode 100644 index 0000000..3e3a507 --- /dev/null +++ b/AW/PC/aitype/ally_hero_gideon_sentinel_finale.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_gideon_sentinel_finale.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 1:57:09 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_hbra3_sp_variablereddot"; + character\character_hero_gideon_sentinel_finale::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_gideon_sentinel_finale::precache(); + precacheitem("iw5_hbra3_sp_variablereddot"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_gideon_sentinel_jump_jet.gsc b/AW/PC/aitype/ally_hero_gideon_sentinel_jump_jet.gsc new file mode 100644 index 0000000..7693b93 --- /dev/null +++ b/AW/PC/aitype/ally_hero_gideon_sentinel_jump_jet.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_gideon_sentinel_jump_jet.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 44 ms + * Timestamp: 4/22/2024 1:57:09 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_hbra3_sp_variablereddot"; + character\character_hero_gideon_sentinel_jetpack::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_gideon_sentinel_jetpack::precache(); + precacheitem("iw5_hbra3_sp_variablereddot"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_ilana_atlas_pmc.gsc b/AW/PC/aitype/ally_hero_ilana_atlas_pmc.gsc new file mode 100644 index 0000000..df6591a --- /dev/null +++ b/AW/PC/aitype/ally_hero_ilana_atlas_pmc.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_ilana_atlas_pmc.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 1:57:09 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_bal27_sp_variablereddot"; + character\character_hero_ilana_atlas_pmc::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_ilana_atlas_pmc::precache(); + precacheitem("iw5_bal27_sp_variablereddot"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_ilana_captured.gsc b/AW/PC/aitype/ally_hero_ilana_captured.gsc new file mode 100644 index 0000000..a0797ba --- /dev/null +++ b/AW/PC/aitype/ally_hero_ilana_captured.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_ilana_captured.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 1:57:10 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_hmr9_sp"; + character\character_hero_ilana_captured::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_ilana_captured::precache(); + precacheitem("iw5_hmr9_sp"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_ilana_sentinel_arctic.gsc b/AW/PC/aitype/ally_hero_ilana_sentinel_arctic.gsc new file mode 100644 index 0000000..4f12b3a --- /dev/null +++ b/AW/PC/aitype/ally_hero_ilana_sentinel_arctic.gsc @@ -0,0 +1,74 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_ilana_sentinel_arctic.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 1:57:10 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(5)) + { + case 0: + self.weapon = "iw5_bal27_sp"; + break; + + case 1: + self.weapon = "iw5_bal27_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_bal27_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_bal27_sp_variablereddot"; + break; + + case 4: + self.weapon = "iw5_bal27_sp_opticstargetenhancer"; + break; + } + + character\character_hero_ilana_sentinel_arctic::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_ilana_sentinel_arctic::precache(); + precacheitem("iw5_bal27_sp"); + precacheitem("iw5_bal27_sp_opticsacog2"); + precacheitem("iw5_bal27_sp_opticsreddot"); + precacheitem("iw5_bal27_sp_variablereddot"); + precacheitem("iw5_bal27_sp_opticstargetenhancer"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_ilana_sentinel_ie.gsc b/AW/PC/aitype/ally_hero_ilana_sentinel_ie.gsc new file mode 100644 index 0000000..f15e46d --- /dev/null +++ b/AW/PC/aitype/ally_hero_ilana_sentinel_ie.gsc @@ -0,0 +1,74 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_ilana_sentinel_ie.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 1:57:10 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_pbwsingleshot_sp_silencerpistol"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(5)) + { + case 0: + self.weapon = "iw5_kf5fullauto_sp_silencer01"; + break; + + case 1: + self.weapon = "iw5_kf5fullauto_sp_opticsacog2_silencer01"; + break; + + case 2: + self.weapon = "iw5_kf5fullauto_sp_opticstargetenhancer_silencer01"; + break; + + case 3: + self.weapon = "iw5_kf5fullauto_sp_opticsreddot_silencer01"; + break; + + case 4: + self.weapon = "iw5_kf5fullauto_sp_silencer01_variablereddot"; + break; + } + + character\character_hero_ilana_sentinel_udt_b::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_ilana_sentinel_udt_b::precache(); + precacheitem("iw5_kf5fullauto_sp_silencer01"); + precacheitem("iw5_kf5fullauto_sp_opticsacog2_silencer01"); + precacheitem("iw5_kf5fullauto_sp_opticstargetenhancer_silencer01"); + precacheitem("iw5_kf5fullauto_sp_opticsreddot_silencer01"); + precacheitem("iw5_kf5fullauto_sp_silencer01_variablereddot"); + precacheitem("iw5_pbwsingleshot_sp_silencerpistol"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_ilana_sentinel_ie_grapple.gsc b/AW/PC/aitype/ally_hero_ilana_sentinel_ie_grapple.gsc new file mode 100644 index 0000000..1e3dbe7 --- /dev/null +++ b/AW/PC/aitype/ally_hero_ilana_sentinel_ie_grapple.gsc @@ -0,0 +1,74 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_ilana_sentinel_ie_grapple.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 1:57:10 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_pbwsingleshot_sp_silencerpistol"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(5)) + { + case 0: + self.weapon = "iw5_kf5fullauto_sp_silencer01"; + break; + + case 1: + self.weapon = "iw5_kf5fullauto_sp_opticsacog2_silencer01"; + break; + + case 2: + self.weapon = "iw5_kf5fullauto_sp_opticstargetenhancer_silencer01"; + break; + + case 3: + self.weapon = "iw5_kf5fullauto_sp_opticsreddot_silencer01"; + break; + + case 4: + self.weapon = "iw5_kf5fullauto_sp_silencer01_variablereddot"; + break; + } + + character\character_hero_ilana_sentinel_udtgr::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_ilana_sentinel_udtgr::precache(); + precacheitem("iw5_kf5fullauto_sp_silencer01"); + precacheitem("iw5_kf5fullauto_sp_opticsacog2_silencer01"); + precacheitem("iw5_kf5fullauto_sp_opticstargetenhancer_silencer01"); + precacheitem("iw5_kf5fullauto_sp_opticsreddot_silencer01"); + precacheitem("iw5_kf5fullauto_sp_silencer01_variablereddot"); + precacheitem("iw5_pbwsingleshot_sp_silencerpistol"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_ilana_tourist.gsc b/AW/PC/aitype/ally_hero_ilana_tourist.gsc new file mode 100644 index 0000000..84cdeaf --- /dev/null +++ b/AW/PC/aitype/ally_hero_ilana_tourist.gsc @@ -0,0 +1,74 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_ilana_tourist.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 1:57:11 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(5)) + { + case 0: + self.weapon = "iw5_bal27_sp"; + break; + + case 1: + self.weapon = "iw5_bal27_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_bal27_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_bal27_sp_variablereddot"; + break; + + case 4: + self.weapon = "iw5_bal27_sp_opticstargetenhancer"; + break; + } + + character\character_hero_ilana_tourist::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_ilana_tourist::precache(); + precacheitem("iw5_bal27_sp"); + precacheitem("iw5_bal27_sp_opticsacog2"); + precacheitem("iw5_bal27_sp_opticsreddot"); + precacheitem("iw5_bal27_sp_variablereddot"); + precacheitem("iw5_bal27_sp_opticstargetenhancer"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_irons.gsc b/AW/PC/aitype/ally_hero_irons.gsc new file mode 100644 index 0000000..289e505 --- /dev/null +++ b/AW/PC/aitype/ally_hero_irons.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_irons.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:57:11 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_hero_irons::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_irons::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_joker_atlas.gsc b/AW/PC/aitype/ally_hero_joker_atlas.gsc new file mode 100644 index 0000000..c464cb5 --- /dev/null +++ b/AW/PC/aitype/ally_hero_joker_atlas.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_joker_atlas.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 1:57:12 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_himar_sp_himarscope"; + character\character_hero_joker_atlas::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_joker_atlas::precache(); + precacheitem("iw5_himar_sp_himarscope"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_joker_atlas_pmc.gsc b/AW/PC/aitype/ally_hero_joker_atlas_pmc.gsc new file mode 100644 index 0000000..ec0e223 --- /dev/null +++ b/AW/PC/aitype/ally_hero_joker_atlas_pmc.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_joker_atlas_pmc.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 50 ms + * Timestamp: 4/22/2024 1:57:12 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_bal27_sp_opticstargetenhancer"; + character\character_hero_joker_atlas_pmc::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_joker_atlas_pmc::precache(); + precacheitem("iw5_bal27_sp_opticstargetenhancer"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_knox_sentinel_cloak.gsc b/AW/PC/aitype/ally_hero_knox_sentinel_cloak.gsc new file mode 100644 index 0000000..7acab27 --- /dev/null +++ b/AW/PC/aitype/ally_hero_knox_sentinel_cloak.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_knox_sentinel_cloak.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 1:57:12 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_hbra3_sp_opticsacog2_silencer01"; + character\character_hero_knox_sentinel_cloak::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_knox_sentinel_cloak::precache(); + precacheitem("iw5_hbra3_sp_opticsacog2_silencer01"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_knox_sentinel_det_cloak.gsc b/AW/PC/aitype/ally_hero_knox_sentinel_det_cloak.gsc new file mode 100644 index 0000000..d3697ac --- /dev/null +++ b/AW/PC/aitype/ally_hero_knox_sentinel_det_cloak.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_knox_sentinel_det_cloak.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 65 ms + * Timestamp: 4/22/2024 1:57:13 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_bal27_sp_silencer01_variablereddot"; + character\character_hero_knox_sentinel_det_cloak::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_knox_sentinel_det_cloak::precache(); + precacheitem("iw5_bal27_sp_silencer01_variablereddot"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_knox_sentinel_ie.gsc b/AW/PC/aitype/ally_hero_knox_sentinel_ie.gsc new file mode 100644 index 0000000..3541380 --- /dev/null +++ b/AW/PC/aitype/ally_hero_knox_sentinel_ie.gsc @@ -0,0 +1,74 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_knox_sentinel_ie.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 1:57:13 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_pbwsingleshot_sp_silencerpistol"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(5)) + { + case 0: + self.weapon = "iw5_kf5fullauto_sp_silencer01"; + break; + + case 1: + self.weapon = "iw5_kf5fullauto_sp_opticsacog2_silencer01"; + break; + + case 2: + self.weapon = "iw5_kf5fullauto_sp_opticstargetenhancer_silencer01"; + break; + + case 3: + self.weapon = "iw5_kf5fullauto_sp_opticsreddot_silencer01"; + break; + + case 4: + self.weapon = "iw5_kf5fullauto_sp_silencer01_variablereddot"; + break; + } + + character\character_hero_knox_sentinel_udt::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_knox_sentinel_udt::precache(); + precacheitem("iw5_kf5fullauto_sp_silencer01"); + precacheitem("iw5_kf5fullauto_sp_opticsacog2_silencer01"); + precacheitem("iw5_kf5fullauto_sp_opticstargetenhancer_silencer01"); + precacheitem("iw5_kf5fullauto_sp_opticsreddot_silencer01"); + precacheitem("iw5_kf5fullauto_sp_silencer01_variablereddot"); + precacheitem("iw5_pbwsingleshot_sp_silencerpistol"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_knox_sentinel_ie_grapple.gsc b/AW/PC/aitype/ally_hero_knox_sentinel_ie_grapple.gsc new file mode 100644 index 0000000..c5b3f8b --- /dev/null +++ b/AW/PC/aitype/ally_hero_knox_sentinel_ie_grapple.gsc @@ -0,0 +1,74 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_knox_sentinel_ie_grapple.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 1:57:13 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_pbwsingleshot_sp_silencerpistol"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(5)) + { + case 0: + self.weapon = "iw5_kf5fullauto_sp_silencer01"; + break; + + case 1: + self.weapon = "iw5_kf5fullauto_sp_opticsacog2_silencer01"; + break; + + case 2: + self.weapon = "iw5_kf5fullauto_sp_opticstargetenhancer_silencer01"; + break; + + case 3: + self.weapon = "iw5_kf5fullauto_sp_opticsreddot_silencer01"; + break; + + case 4: + self.weapon = "iw5_kf5fullauto_sp_silencer01_variablereddot"; + break; + } + + character\character_hero_knox_sentinel_udtgr::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_knox_sentinel_udtgr::precache(); + precacheitem("iw5_kf5fullauto_sp_silencer01"); + precacheitem("iw5_kf5fullauto_sp_opticsacog2_silencer01"); + precacheitem("iw5_kf5fullauto_sp_opticstargetenhancer_silencer01"); + precacheitem("iw5_kf5fullauto_sp_opticsreddot_silencer01"); + precacheitem("iw5_kf5fullauto_sp_silencer01_variablereddot"); + precacheitem("iw5_pbwsingleshot_sp_silencerpistol"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_knox_sentinel_jump_jet.gsc b/AW/PC/aitype/ally_hero_knox_sentinel_jump_jet.gsc new file mode 100644 index 0000000..32d41bb --- /dev/null +++ b/AW/PC/aitype/ally_hero_knox_sentinel_jump_jet.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_knox_sentinel_jump_jet.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 1:57:14 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_hbra3_sp_opticsacog2"; + character\character_hero_knox_sentinel_jetpack::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_knox_sentinel_jetpack::precache(); + precacheitem("iw5_hbra3_sp_opticsacog2"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_knox_sentinel_lab.gsc b/AW/PC/aitype/ally_hero_knox_sentinel_lab.gsc new file mode 100644 index 0000000..46bf075 --- /dev/null +++ b/AW/PC/aitype/ally_hero_knox_sentinel_lab.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_knox_sentinel_lab.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 1:57:14 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_hbra3_sp_opticsacog2"; + character\character_hero_knox_sentinel::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_knox_sentinel::precache(); + precacheitem("iw5_hbra3_sp_opticsacog2"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_hero_parker_atlas.gsc b/AW/PC/aitype/ally_hero_parker_atlas.gsc new file mode 100644 index 0000000..7d14e11 --- /dev/null +++ b/AW/PC/aitype/ally_hero_parker_atlas.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_hero_parker_atlas.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 44 ms + * Timestamp: 4/22/2024 1:57:14 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_bal27_sp_opticstargetenhancer"; + character\character_hero_parker_atlas::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_parker_atlas::precache(); + precacheitem("iw5_bal27_sp_opticstargetenhancer"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/SP/aitype/ally_hero_will_marine.gsc b/AW/PC/aitype/ally_hero_will_marine.gsc similarity index 89% rename from AW/PC/SP/aitype/ally_hero_will_marine.gsc rename to AW/PC/aitype/ally_hero_will_marine.gsc index ef025f4..b0a3140 100644 --- a/AW/PC/SP/aitype/ally_hero_will_marine.gsc +++ b/AW/PC/aitype/ally_hero_will_marine.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: aitype\ally_hero_will_marine.gsc + * Decompiled File: ally_hero_will_marine.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 58 ms - * Timestamp: 10/27/2023 1:52:40 AM + * Decompile Time: 60 ms + * Timestamp: 4/22/2024 1:57:15 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/aitype/ally_hero_will_marine_seointro.gsc b/AW/PC/aitype/ally_hero_will_marine_seointro.gsc similarity index 89% rename from AW/PC/SP/aitype/ally_hero_will_marine_seointro.gsc rename to AW/PC/aitype/ally_hero_will_marine_seointro.gsc index 5c529c9..8564f6c 100644 --- a/AW/PC/SP/aitype/ally_hero_will_marine_seointro.gsc +++ b/AW/PC/aitype/ally_hero_will_marine_seointro.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: aitype\ally_hero_will_marine_seointro.gsc + * Decompiled File: ally_hero_will_marine_seointro.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 65 ms - * Timestamp: 10/27/2023 1:52:41 AM + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 1:57:15 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/aitype/ally_marine_ar_m4grunt.gsc b/AW/PC/aitype/ally_marine_ar_m4grunt.gsc similarity index 76% rename from AW/PC/SP/aitype/ally_marine_ar_m4grunt.gsc rename to AW/PC/aitype/ally_marine_ar_m4grunt.gsc index 4eb8831..916741f 100644 --- a/AW/PC/SP/aitype/ally_marine_ar_m4grunt.gsc +++ b/AW/PC/aitype/ally_marine_ar_m4grunt.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: aitype\ally_marine_ar_m4grunt.gsc + * Decompiled File: ally_marine_ar_m4grunt.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 59 ms - * Timestamp: 10/27/2023 1:52:42 AM + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 1:57:15 AM *******************************************************************/ //Function Number: 1 @@ -32,24 +32,31 @@ main() switch(codescripts\character::get_random_character(7)) { case 0: + character\character_sp_usmc_james::main(); break; case 1: + character\character_sp_usmc_sami::main(); break; case 2: + character\character_sp_usmc_at4::main(); break; case 3: + character\character_sp_usmc_ryan::main(); break; case 4: + character\character_sp_usmc_sami_goggles::main(); break; case 5: + character\character_sp_usmc_zach::main(); break; case 6: + character\character_sp_usmc_zach_goggles::main(); break; } } diff --git a/AW/PC/SP/aitype/ally_mech.gsc b/AW/PC/aitype/ally_mech.gsc similarity index 90% rename from AW/PC/SP/aitype/ally_mech.gsc rename to AW/PC/aitype/ally_mech.gsc index 4806303..1b1d729 100644 --- a/AW/PC/SP/aitype/ally_mech.gsc +++ b/AW/PC/aitype/ally_mech.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: aitype\ally_mech.gsc + * Decompiled File: ally_mech.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 69 ms - * Timestamp: 10/27/2023 1:52:42 AM + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 1:57:16 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/aitype/ally_nigerian_army.gsc b/AW/PC/aitype/ally_nigerian_army.gsc new file mode 100644 index 0000000..849eee3 --- /dev/null +++ b/AW/PC/aitype/ally_nigerian_army.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_nigerian_army.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 46 ms + * Timestamp: 4/22/2024 1:57:16 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_ak12_sp"; + character\character_nigerian_army::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_nigerian_army::precache(); + precacheitem("iw5_ak12_sp"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_nigerian_general.gsc b/AW/PC/aitype/ally_nigerian_general.gsc new file mode 100644 index 0000000..d74fbd0 --- /dev/null +++ b/AW/PC/aitype/ally_nigerian_general.gsc @@ -0,0 +1,59 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_nigerian_general.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 1:57:16 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(2)) + { + case 0: + self.weapon = "iw5_ak12_sp"; + break; + + case 1: + self.weapon = "iw5_ak12_sp_opticsacog2"; + break; + } + + character\character_nigerian_general::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_nigerian_general::precache(); + precacheitem("iw5_ak12_sp"); + precacheitem("iw5_ak12_sp_opticsacog2"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_nigerian_prime_minister.gsc b/AW/PC/aitype/ally_nigerian_prime_minister.gsc new file mode 100644 index 0000000..dba6ed8 --- /dev/null +++ b/AW/PC/aitype/ally_nigerian_prime_minister.gsc @@ -0,0 +1,47 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_nigerian_prime_minister.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 1:57:17 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_nigerian_prime_minister::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_nigerian_prime_minister::precache(); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_pmc_ar.gsc b/AW/PC/aitype/ally_pmc_ar.gsc new file mode 100644 index 0000000..2c7500c --- /dev/null +++ b/AW/PC/aitype/ally_pmc_ar.gsc @@ -0,0 +1,74 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_pmc_ar.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 1:57:17 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(5)) + { + case 0: + self.weapon = "iw5_bal27_sp"; + break; + + case 1: + self.weapon = "iw5_bal27_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_bal27_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_bal27_sp_variablereddot"; + break; + + case 4: + self.weapon = "iw5_bal27_sp_opticstargetenhancer"; + break; + } + + character\character_pmc_ar::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_pmc_ar::precache(); + precacheitem("iw5_bal27_sp"); + precacheitem("iw5_bal27_sp_opticsacog2"); + precacheitem("iw5_bal27_sp_opticsreddot"); + precacheitem("iw5_bal27_sp_variablereddot"); + precacheitem("iw5_bal27_sp_opticstargetenhancer"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_pmc_cap_ar.gsc b/AW/PC/aitype/ally_pmc_cap_ar.gsc new file mode 100644 index 0000000..2b9cb77 --- /dev/null +++ b/AW/PC/aitype/ally_pmc_cap_ar.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_pmc_cap_ar.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 1:57:17 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_bal27_sp_variablereddot"; + character\character_pmc_cap_ar::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_pmc_cap_ar::precache(); + precacheitem("iw5_bal27_sp_variablereddot"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_potus.gsc b/AW/PC/aitype/ally_potus.gsc new file mode 100644 index 0000000..febc6b5 --- /dev/null +++ b/AW/PC/aitype/ally_potus.gsc @@ -0,0 +1,47 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_potus.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 44 ms + * Timestamp: 4/22/2024 1:57:18 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_potus::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_potus::precache(); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_sentinel_arctic_ar.gsc b/AW/PC/aitype/ally_sentinel_arctic_ar.gsc new file mode 100644 index 0000000..c376034 --- /dev/null +++ b/AW/PC/aitype/ally_sentinel_arctic_ar.gsc @@ -0,0 +1,74 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_sentinel_arctic_ar.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 1:57:18 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(5)) + { + case 0: + self.weapon = "iw5_hbra3_sp"; + break; + + case 1: + self.weapon = "iw5_hbra3_sp_opticstargetenhancer"; + break; + + case 2: + self.weapon = "iw5_hbra3_sp_variablereddot"; + break; + + case 3: + self.weapon = "iw5_hbra3_sp_opticsacog2"; + break; + + case 4: + self.weapon = "iw5_hbra3_sp_opticsreddot"; + break; + } + + character\character_sentinel_arctic_ar::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_sentinel_arctic_ar::precache(); + precacheitem("iw5_hbra3_sp"); + precacheitem("iw5_hbra3_sp_opticstargetenhancer"); + precacheitem("iw5_hbra3_sp_variablereddot"); + precacheitem("iw5_hbra3_sp_opticsacog2"); + precacheitem("iw5_hbra3_sp_opticsreddot"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_sentinel_bal27.gsc b/AW/PC/aitype/ally_sentinel_bal27.gsc new file mode 100644 index 0000000..c82df7e --- /dev/null +++ b/AW/PC/aitype/ally_sentinel_bal27.gsc @@ -0,0 +1,74 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_sentinel_bal27.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 1:57:18 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(5)) + { + case 0: + self.weapon = "iw5_hbra3_sp"; + break; + + case 1: + self.weapon = "iw5_hbra3_sp_opticstargetenhancer"; + break; + + case 2: + self.weapon = "iw5_hbra3_sp_variablereddot"; + break; + + case 3: + self.weapon = "iw5_hbra3_sp_opticsacog2"; + break; + + case 4: + self.weapon = "iw5_hbra3_sp_opticsreddot"; + break; + } + + character\character_sentinel::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_sentinel::precache(); + precacheitem("iw5_hbra3_sp"); + precacheitem("iw5_hbra3_sp_opticstargetenhancer"); + precacheitem("iw5_hbra3_sp_variablereddot"); + precacheitem("iw5_hbra3_sp_opticsacog2"); + precacheitem("iw5_hbra3_sp_opticsreddot"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_sentinel_cloak_ar.gsc b/AW/PC/aitype/ally_sentinel_cloak_ar.gsc new file mode 100644 index 0000000..66f7d11 --- /dev/null +++ b/AW/PC/aitype/ally_sentinel_cloak_ar.gsc @@ -0,0 +1,124 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_sentinel_cloak_ar.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 1:57:19 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(15)) + { + case 0: + self.weapon = "iw5_bal27_sp"; + break; + + case 1: + self.weapon = "iw5_bal27_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_bal27_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_bal27_sp_opticsthermal"; + break; + + case 4: + self.weapon = "iw5_bal27_sp_variablereddot"; + break; + + case 5: + self.weapon = "iw5_bal27_sp_opticstargetenhancer"; + break; + + case 6: + self.weapon = "iw5_ak12_sp"; + break; + + case 7: + self.weapon = "iw5_ak12_sp_opticsacog2"; + break; + + case 8: + self.weapon = "iw5_ak12_sp_opticsreddot"; + break; + + case 9: + self.weapon = "iw5_ak12_sp_opticsthermal"; + break; + + case 10: + self.weapon = "iw5_ak12_sp_opticstargetenhancer"; + break; + + case 11: + self.weapon = "iw5_lsat_sp"; + break; + + case 12: + self.weapon = "iw5_lsat_sp_opticsacog2"; + break; + + case 13: + self.weapon = "iw5_hbra3_sp"; + break; + + case 14: + self.weapon = "iw5_hbra3_sp_opticsacog2"; + break; + } + + character\character_sentinel_cloak::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_sentinel_cloak::precache(); + precacheitem("iw5_bal27_sp"); + precacheitem("iw5_bal27_sp_opticsacog2"); + precacheitem("iw5_bal27_sp_opticsreddot"); + precacheitem("iw5_bal27_sp_opticsthermal"); + precacheitem("iw5_bal27_sp_variablereddot"); + precacheitem("iw5_bal27_sp_opticstargetenhancer"); + precacheitem("iw5_ak12_sp"); + precacheitem("iw5_ak12_sp_opticsacog2"); + precacheitem("iw5_ak12_sp_opticsreddot"); + precacheitem("iw5_ak12_sp_opticsthermal"); + precacheitem("iw5_ak12_sp_opticstargetenhancer"); + precacheitem("iw5_lsat_sp"); + precacheitem("iw5_lsat_sp_opticsacog2"); + precacheitem("iw5_hbra3_sp"); + precacheitem("iw5_hbra3_sp_opticsacog2"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_sentinel_ie.gsc b/AW/PC/aitype/ally_sentinel_ie.gsc new file mode 100644 index 0000000..4b1a61c --- /dev/null +++ b/AW/PC/aitype/ally_sentinel_ie.gsc @@ -0,0 +1,46 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_sentinel_ie.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 1:57:19 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_kf5singleshot_sp"; + character\character_sentinel_ie::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_sentinel_ie::precache(); + precacheitem("iw5_kf5singleshot_sp"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_sentinel_ie_land.gsc b/AW/PC/aitype/ally_sentinel_ie_land.gsc new file mode 100644 index 0000000..4a0d118 --- /dev/null +++ b/AW/PC/aitype/ally_sentinel_ie_land.gsc @@ -0,0 +1,46 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_sentinel_ie_land.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 1:57:19 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_kf5singleshot_sp"; + character\character_sentinel_ie_land::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_sentinel_ie_land::precache(); + precacheitem("iw5_kf5singleshot_sp"); +} \ No newline at end of file diff --git a/AW/PC/SP/aitype/ally_sentinel_pilot.gsc b/AW/PC/aitype/ally_sentinel_pilot.gsc similarity index 89% rename from AW/PC/SP/aitype/ally_sentinel_pilot.gsc rename to AW/PC/aitype/ally_sentinel_pilot.gsc index 4c09c23..4260d5a 100644 --- a/AW/PC/SP/aitype/ally_sentinel_pilot.gsc +++ b/AW/PC/aitype/ally_sentinel_pilot.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: aitype\ally_sentinel_pilot.gsc + * Decompiled File: ally_sentinel_pilot.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 61 ms - * Timestamp: 10/27/2023 1:52:43 AM + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 1:57:20 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/aitype/ally_sentinel_shotgun.gsc b/AW/PC/aitype/ally_sentinel_shotgun.gsc new file mode 100644 index 0000000..7786e32 --- /dev/null +++ b/AW/PC/aitype/ally_sentinel_shotgun.gsc @@ -0,0 +1,64 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_sentinel_shotgun.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 45 ms + * Timestamp: 4/22/2024 1:57:20 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(3)) + { + case 0: + self.weapon = "iw5_rhino_sp"; + break; + + case 1: + self.weapon = "iw5_rhino_sp_opticsreddot"; + break; + + case 2: + self.weapon = "iw5_rhino_sp_opticstargetenhancer"; + break; + } + + character\character_sentinel::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_sentinel::precache(); + precacheitem("iw5_rhino_sp"); + precacheitem("iw5_rhino_sp_opticsreddot"); + precacheitem("iw5_rhino_sp_opticstargetenhancer"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_sentinel_sniper.gsc b/AW/PC/aitype/ally_sentinel_sniper.gsc new file mode 100644 index 0000000..dccc4a0 --- /dev/null +++ b/AW/PC/aitype/ally_sentinel_sniper.gsc @@ -0,0 +1,69 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_sentinel_sniper.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 1:57:20 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(4)) + { + case 0: + self.weapon = "iw5_mors_sp_morsscope"; + break; + + case 1: + self.weapon = "iw5_mors_sp_morsscopevz"; + break; + + case 2: + self.weapon = "iw5_mors_sp_opticsacog2"; + break; + + case 3: + self.weapon = "iw5_mors_sp_opticsthermal"; + break; + } + + character\character_sentinel::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_sentinel::precache(); + precacheitem("iw5_mors_sp_morsscope"); + precacheitem("iw5_mors_sp_morsscopevz"); + precacheitem("iw5_mors_sp_opticsacog2"); + precacheitem("iw5_mors_sp_opticsthermal"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_sentinel_soldier_cloaked.gsc b/AW/PC/aitype/ally_sentinel_soldier_cloaked.gsc new file mode 100644 index 0000000..a1099c2 --- /dev/null +++ b/AW/PC/aitype/ally_sentinel_soldier_cloaked.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_sentinel_soldier_cloaked.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:57:21 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "beretta"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "s1_m160_npc_only"; + character\character_sentinel_soldier_cloaked::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_sentinel_soldier_cloaked::precache(); + precacheitem("s1_m160_npc_only"); + precacheitem("beretta"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_sf_police_shotgun.gsc b/AW/PC/aitype/ally_sf_police_shotgun.gsc new file mode 100644 index 0000000..e2729d6 --- /dev/null +++ b/AW/PC/aitype/ally_sf_police_shotgun.gsc @@ -0,0 +1,79 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_sf_police_shotgun.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 1:57:21 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(3)) + { + case 0: + self.weapon = "iw5_maul_sp"; + break; + + case 1: + self.weapon = "iw5_maul_sp_opticsreddot"; + break; + + case 2: + self.weapon = "iw5_maul_sp_opticstargetenhancer"; + break; + } + + switch(codescripts\character::get_random_character(3)) + { + case 0: + character\character_sf_police_a::main(); + break; + + case 1: + character\character_sf_police_b::main(); + break; + + case 2: + character\character_sf_police_c::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_sf_police_a::precache(); + character\character_sf_police_b::precache(); + character\character_sf_police_c::precache(); + precacheitem("iw5_maul_sp"); + precacheitem("iw5_maul_sp_opticsreddot"); + precacheitem("iw5_maul_sp_opticstargetenhancer"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_sf_police_shotgun_se.gsc b/AW/PC/aitype/ally_sf_police_shotgun_se.gsc new file mode 100644 index 0000000..f2c5e8e --- /dev/null +++ b/AW/PC/aitype/ally_sf_police_shotgun_se.gsc @@ -0,0 +1,74 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_sf_police_shotgun_se.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 50 ms + * Timestamp: 4/22/2024 1:57:21 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(3)) + { + case 0: + self.weapon = "iw5_maul_sp"; + break; + + case 1: + self.weapon = "iw5_maul_sp_opticsreddot"; + break; + + case 2: + self.weapon = "iw5_maul_sp_opticstargetenhancer"; + break; + } + + switch(codescripts\character::get_random_character(2)) + { + case 0: + character\character_sf_police_a::main(); + break; + + case 1: + character\character_sf_police_b::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_sf_police_a::precache(); + character\character_sf_police_b::precache(); + precacheitem("iw5_maul_sp"); + precacheitem("iw5_maul_sp_opticsreddot"); + precacheitem("iw5_maul_sp_opticstargetenhancer"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/SP/aitype/ally_us_marine_ar.gsc b/AW/PC/aitype/ally_us_marine_ar.gsc similarity index 77% rename from AW/PC/SP/aitype/ally_us_marine_ar.gsc rename to AW/PC/aitype/ally_us_marine_ar.gsc index 27134e3..8eda3a0 100644 --- a/AW/PC/SP/aitype/ally_us_marine_ar.gsc +++ b/AW/PC/aitype/ally_us_marine_ar.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: aitype\ally_us_marine_ar.gsc + * Decompiled File: ally_us_marine_ar.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 63 ms - * Timestamp: 10/27/2023 1:52:43 AM + * Decompile Time: 45 ms + * Timestamp: 4/22/2024 1:57:21 AM *******************************************************************/ //Function Number: 1 @@ -31,20 +31,27 @@ main() switch(codescripts\character::get_random_weapon(5)) { case 0: + self.weapon = "iw5_hbra3_sp"; break; case 1: + self.weapon = "iw5_hbra3_sp_opticstargetenhancer"; break; case 2: + self.weapon = "iw5_hbra3_sp_variablereddot"; break; case 3: + self.weapon = "iw5_hbra3_sp_opticsacog2"; break; case 4: + self.weapon = "iw5_hbra3_sp_opticsreddot"; break; } + + character\character_us_marine_ar::main(); } //Function Number: 2 diff --git a/AW/PC/SP/aitype/ally_us_marine_ar_seo.gsc b/AW/PC/aitype/ally_us_marine_ar_seo.gsc similarity index 76% rename from AW/PC/SP/aitype/ally_us_marine_ar_seo.gsc rename to AW/PC/aitype/ally_us_marine_ar_seo.gsc index b109c77..13cfae4 100644 --- a/AW/PC/SP/aitype/ally_us_marine_ar_seo.gsc +++ b/AW/PC/aitype/ally_us_marine_ar_seo.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: aitype\ally_us_marine_ar_seo.gsc + * Decompiled File: ally_us_marine_ar_seo.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 58 ms - * Timestamp: 10/27/2023 1:52:44 AM + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 1:57:22 AM *******************************************************************/ //Function Number: 1 @@ -31,20 +31,27 @@ main() switch(codescripts\character::get_random_weapon(5)) { case 0: + self.weapon = "iw5_hbra3_sp"; break; case 1: + self.weapon = "iw5_hbra3_sp_opticstargetenhancer"; break; case 2: + self.weapon = "iw5_hbra3_sp_variablereddot"; break; case 3: + self.weapon = "iw5_hbra3_sp_opticsacog2"; break; case 4: + self.weapon = "iw5_hbra3_sp_opticsreddot"; break; } + + character\character_us_marine_smg_seo::main(); } //Function Number: 2 diff --git a/AW/PC/SP/aitype/ally_us_marine_ar_seo_lowlod.gsc b/AW/PC/aitype/ally_us_marine_ar_seo_lowlod.gsc similarity index 76% rename from AW/PC/SP/aitype/ally_us_marine_ar_seo_lowlod.gsc rename to AW/PC/aitype/ally_us_marine_ar_seo_lowlod.gsc index 1f6533d..2f25dea 100644 --- a/AW/PC/SP/aitype/ally_us_marine_ar_seo_lowlod.gsc +++ b/AW/PC/aitype/ally_us_marine_ar_seo_lowlod.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: aitype\ally_us_marine_ar_seo_lowlod.gsc + * Decompiled File: ally_us_marine_ar_seo_lowlod.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 60 ms - * Timestamp: 10/27/2023 1:52:45 AM + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 1:57:22 AM *******************************************************************/ //Function Number: 1 @@ -31,20 +31,27 @@ main() switch(codescripts\character::get_random_weapon(5)) { case 0: + self.weapon = "iw5_hbra3_sp"; break; case 1: + self.weapon = "iw5_hbra3_sp_opticstargetenhancer"; break; case 2: + self.weapon = "iw5_hbra3_sp_variablereddot"; break; case 3: + self.weapon = "iw5_hbra3_sp_opticsacog2"; break; case 4: + self.weapon = "iw5_hbra3_sp_opticsreddot"; break; } + + character\character_us_marine_ar_lowlod::main(); } //Function Number: 2 diff --git a/AW/PC/SP/aitype/ally_us_marine_ar_seointro.gsc b/AW/PC/aitype/ally_us_marine_ar_seointro.gsc similarity index 76% rename from AW/PC/SP/aitype/ally_us_marine_ar_seointro.gsc rename to AW/PC/aitype/ally_us_marine_ar_seointro.gsc index 1203a16..f50f6bc 100644 --- a/AW/PC/SP/aitype/ally_us_marine_ar_seointro.gsc +++ b/AW/PC/aitype/ally_us_marine_ar_seointro.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: aitype\ally_us_marine_ar_seointro.gsc + * Decompiled File: ally_us_marine_ar_seointro.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 60 ms - * Timestamp: 10/27/2023 1:52:46 AM + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 1:57:22 AM *******************************************************************/ //Function Number: 1 @@ -31,20 +31,27 @@ main() switch(codescripts\character::get_random_weapon(5)) { case 0: + self.weapon = "iw5_hbra3_sp"; break; case 1: + self.weapon = "iw5_hbra3_sp_opticstargetenhancer"; break; case 2: + self.weapon = "iw5_hbra3_sp_variablereddot"; break; case 3: + self.weapon = "iw5_hbra3_sp_opticsacog2"; break; case 4: + self.weapon = "iw5_hbra3_sp_opticsreddot"; break; } + + character\character_us_marine_smg_seointro::main(); } //Function Number: 2 diff --git a/AW/PC/aitype/ally_us_marine_dress.gsc b/AW/PC/aitype/ally_us_marine_dress.gsc new file mode 100644 index 0000000..456f6bb --- /dev/null +++ b/AW/PC/aitype/ally_us_marine_dress.gsc @@ -0,0 +1,47 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_us_marine_dress.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 1:57:23 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_us_marine_dress::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_us_marine_dress::precache(); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_us_marine_dress_a.gsc b/AW/PC/aitype/ally_us_marine_dress_a.gsc new file mode 100644 index 0000000..5cf2597 --- /dev/null +++ b/AW/PC/aitype/ally_us_marine_dress_a.gsc @@ -0,0 +1,47 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_us_marine_dress_a.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 45 ms + * Timestamp: 4/22/2024 1:57:23 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_us_marine_dress_a::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_us_marine_dress_a::precache(); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_us_marine_dress_ar.gsc b/AW/PC/aitype/ally_us_marine_dress_ar.gsc new file mode 100644 index 0000000..0a4993e --- /dev/null +++ b/AW/PC/aitype/ally_us_marine_dress_ar.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_us_marine_dress_ar.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 1:57:23 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_hbra3_sp"; + character\character_us_marine_dress_lowlod::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_us_marine_dress_lowlod::precache(); + precacheitem("iw5_hbra3_sp"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_us_marine_dress_b.gsc b/AW/PC/aitype/ally_us_marine_dress_b.gsc new file mode 100644 index 0000000..2f81d25 --- /dev/null +++ b/AW/PC/aitype/ally_us_marine_dress_b.gsc @@ -0,0 +1,47 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_us_marine_dress_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 1:57:24 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_us_marine_dress_b::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_us_marine_dress_b::precache(); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_us_marine_dress_c.gsc b/AW/PC/aitype/ally_us_marine_dress_c.gsc new file mode 100644 index 0000000..6f66aaa --- /dev/null +++ b/AW/PC/aitype/ally_us_marine_dress_c.gsc @@ -0,0 +1,47 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_us_marine_dress_c.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 55 ms + * Timestamp: 4/22/2024 1:57:24 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_us_marine_dress_c::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_us_marine_dress_c::precache(); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_us_marine_dress_d.gsc b/AW/PC/aitype/ally_us_marine_dress_d.gsc new file mode 100644 index 0000000..8f8228e --- /dev/null +++ b/AW/PC/aitype/ally_us_marine_dress_d.gsc @@ -0,0 +1,47 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_us_marine_dress_d.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 57 ms + * Timestamp: 4/22/2024 1:57:25 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_us_marine_dress_d::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_us_marine_dress_d::precache(); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_us_marine_dress_e.gsc b/AW/PC/aitype/ally_us_marine_dress_e.gsc new file mode 100644 index 0000000..48db583 --- /dev/null +++ b/AW/PC/aitype/ally_us_marine_dress_e.gsc @@ -0,0 +1,47 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_us_marine_dress_e.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 69 ms + * Timestamp: 4/22/2024 1:57:25 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_us_marine_dress_e::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_us_marine_dress_e::precache(); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/ally_us_marine_dress_f.gsc b/AW/PC/aitype/ally_us_marine_dress_f.gsc new file mode 100644 index 0000000..29351de --- /dev/null +++ b/AW/PC/aitype/ally_us_marine_dress_f.gsc @@ -0,0 +1,47 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_us_marine_dress_f.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 56 ms + * Timestamp: 4/22/2024 1:57:26 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_us_marine_dress_f::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_us_marine_dress_f::precache(); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/SP/aitype/ally_us_marine_seofob_ar.gsc b/AW/PC/aitype/ally_us_marine_seofob_ar.gsc similarity index 76% rename from AW/PC/SP/aitype/ally_us_marine_seofob_ar.gsc rename to AW/PC/aitype/ally_us_marine_seofob_ar.gsc index 904e88c..a584292 100644 --- a/AW/PC/SP/aitype/ally_us_marine_seofob_ar.gsc +++ b/AW/PC/aitype/ally_us_marine_seofob_ar.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: aitype\ally_us_marine_seofob_ar.gsc + * Decompiled File: ally_us_marine_seofob_ar.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 58 ms - * Timestamp: 10/27/2023 1:52:46 AM + * Decompile Time: 54 ms + * Timestamp: 4/22/2024 1:57:26 AM *******************************************************************/ //Function Number: 1 @@ -31,20 +31,27 @@ main() switch(codescripts\character::get_random_weapon(5)) { case 0: + self.weapon = "iw5_hbra3_sp"; break; case 1: + self.weapon = "iw5_hbra3_sp_opticstargetenhancer"; break; case 2: + self.weapon = "iw5_hbra3_sp_variablereddot"; break; case 3: + self.weapon = "iw5_hbra3_sp_opticsacog2"; break; case 4: + self.weapon = "iw5_hbra3_sp_opticsreddot"; break; } + + character\character_us_marine_seofob_ar::main(); } //Function Number: 2 diff --git a/AW/PC/SP/aitype/ally_us_marine_shotgun_seo_lowlod.gsc b/AW/PC/aitype/ally_us_marine_shotgun_seo_lowlod.gsc similarity index 77% rename from AW/PC/SP/aitype/ally_us_marine_shotgun_seo_lowlod.gsc rename to AW/PC/aitype/ally_us_marine_shotgun_seo_lowlod.gsc index 1526154..ad99dd7 100644 --- a/AW/PC/SP/aitype/ally_us_marine_shotgun_seo_lowlod.gsc +++ b/AW/PC/aitype/ally_us_marine_shotgun_seo_lowlod.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: aitype\ally_us_marine_shotgun_seo_lowlod.gsc + * Decompiled File: ally_us_marine_shotgun_seo_lowlod.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 61 ms - * Timestamp: 10/27/2023 1:52:47 AM + * Decompile Time: 63 ms + * Timestamp: 4/22/2024 1:57:27 AM *******************************************************************/ //Function Number: 1 @@ -31,17 +31,23 @@ main() switch(codescripts\character::get_random_weapon(4)) { case 0: + self.weapon = "iw5_uts19_sp"; break; case 1: + self.weapon = "iw5_uts19_sp_opticstargetenhancer"; break; case 2: + self.weapon = "iw5_uts19_sp"; break; case 3: + self.weapon = "iw5_uts19_sp_opticsreddot"; break; } + + character\character_us_marine_shotgun_lowlod::main(); } //Function Number: 2 diff --git a/AW/PC/SP/aitype/ally_us_marine_smg.gsc b/AW/PC/aitype/ally_us_marine_smg.gsc similarity index 77% rename from AW/PC/SP/aitype/ally_us_marine_smg.gsc rename to AW/PC/aitype/ally_us_marine_smg.gsc index 6504223..ea2b187 100644 --- a/AW/PC/SP/aitype/ally_us_marine_smg.gsc +++ b/AW/PC/aitype/ally_us_marine_smg.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: aitype\ally_us_marine_smg.gsc + * Decompiled File: ally_us_marine_smg.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 61 ms - * Timestamp: 10/27/2023 1:52:47 AM + * Decompile Time: 54 ms + * Timestamp: 4/22/2024 1:57:27 AM *******************************************************************/ //Function Number: 1 @@ -31,20 +31,27 @@ main() switch(codescripts\character::get_random_weapon(5)) { case 0: + self.weapon = "iw5_kf5_sp"; break; case 1: + self.weapon = "iw5_kf5_sp_opticstargetenhancer"; break; case 2: + self.weapon = "iw5_kf5_sp_variablereddot"; break; case 3: + self.weapon = "iw5_kf5_sp_opticsacog2"; break; case 4: + self.weapon = "iw5_kf5_sp_opticsreddot"; break; } + + character\character_us_marine_smg::main(); } //Function Number: 2 diff --git a/AW/PC/SP/aitype/ally_us_marine_smg_seo_lowlod.gsc b/AW/PC/aitype/ally_us_marine_smg_seo_lowlod.gsc similarity index 76% rename from AW/PC/SP/aitype/ally_us_marine_smg_seo_lowlod.gsc rename to AW/PC/aitype/ally_us_marine_smg_seo_lowlod.gsc index cd1bc60..3a89074 100644 --- a/AW/PC/SP/aitype/ally_us_marine_smg_seo_lowlod.gsc +++ b/AW/PC/aitype/ally_us_marine_smg_seo_lowlod.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: aitype\ally_us_marine_smg_seo_lowlod.gsc + * Decompiled File: ally_us_marine_smg_seo_lowlod.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 59 ms - * Timestamp: 10/27/2023 1:52:48 AM + * Decompile Time: 58 ms + * Timestamp: 4/22/2024 1:57:27 AM *******************************************************************/ //Function Number: 1 @@ -31,20 +31,27 @@ main() switch(codescripts\character::get_random_weapon(5)) { case 0: + self.weapon = "iw5_kf5_sp"; break; case 1: + self.weapon = "iw5_kf5_sp_opticstargetenhancer"; break; case 2: + self.weapon = "iw5_kf5_sp_variablereddot"; break; case 3: + self.weapon = "iw5_kf5_sp_opticsacog2"; break; case 4: + self.weapon = "iw5_kf5_sp_opticsreddot"; break; } + + character\character_us_marine_smg_lowlod::main(); } //Function Number: 2 diff --git a/AW/PC/aitype/ally_us_navy_sf_ar.gsc b/AW/PC/aitype/ally_us_navy_sf_ar.gsc new file mode 100644 index 0000000..1e181cb --- /dev/null +++ b/AW/PC/aitype/ally_us_navy_sf_ar.gsc @@ -0,0 +1,139 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ally_us_navy_sf_ar.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 87 ms + * Timestamp: 4/22/2024 1:57:28 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(15)) + { + case 0: + self.weapon = "iw5_bal27_sp"; + break; + + case 1: + self.weapon = "iw5_bal27_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_bal27_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_bal27_sp_opticsthermal"; + break; + + case 4: + self.weapon = "iw5_bal27_sp_variablereddot"; + break; + + case 5: + self.weapon = "iw5_bal27_sp_opticstargetenhancer"; + break; + + case 6: + self.weapon = "iw5_ak12_sp"; + break; + + case 7: + self.weapon = "iw5_ak12_sp_opticsacog2"; + break; + + case 8: + self.weapon = "iw5_ak12_sp_opticsreddot"; + break; + + case 9: + self.weapon = "iw5_ak12_sp_opticsthermal"; + break; + + case 10: + self.weapon = "iw5_ak12_sp_opticstargetenhancer"; + break; + + case 11: + self.weapon = "iw5_lsat_sp"; + break; + + case 12: + self.weapon = "iw5_lsat_sp_opticsacog2"; + break; + + case 13: + self.weapon = "iw5_hbra3_sp"; + break; + + case 14: + self.weapon = "iw5_hbra3_sp_opticsacog2"; + break; + } + + switch(codescripts\character::get_random_character(3)) + { + case 0: + character\character_navy_sf_assault_a::main(); + break; + + case 1: + character\character_navy_sf_assault_b::main(); + break; + + case 2: + character\character_navy_sf_assault_c::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_navy_sf_assault_a::precache(); + character\character_navy_sf_assault_b::precache(); + character\character_navy_sf_assault_c::precache(); + precacheitem("iw5_bal27_sp"); + precacheitem("iw5_bal27_sp_opticsacog2"); + precacheitem("iw5_bal27_sp_opticsreddot"); + precacheitem("iw5_bal27_sp_opticsthermal"); + precacheitem("iw5_bal27_sp_variablereddot"); + precacheitem("iw5_bal27_sp_opticstargetenhancer"); + precacheitem("iw5_ak12_sp"); + precacheitem("iw5_ak12_sp_opticsacog2"); + precacheitem("iw5_ak12_sp_opticsreddot"); + precacheitem("iw5_ak12_sp_opticsthermal"); + precacheitem("iw5_ak12_sp_opticstargetenhancer"); + precacheitem("iw5_lsat_sp"); + precacheitem("iw5_lsat_sp_opticsacog2"); + precacheitem("iw5_hbra3_sp"); + precacheitem("iw5_hbra3_sp_opticsacog2"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_africa_male.gsc b/AW/PC/aitype/civilian_africa_male.gsc new file mode 100644 index 0000000..2f5bbe9 --- /dev/null +++ b/AW/PC/aitype/civilian_africa_male.gsc @@ -0,0 +1,60 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_africa_male.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 1:57:28 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 30; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + switch(codescripts\character::get_random_character(3)) + { + case 0: + character\character_civilian_africa_male_a::main(); + break; + + case 1: + character\character_civilian_africa_male_b::main(); + break; + + case 2: + character\character_civilian_africa_male_c::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civilian_africa_male_a::precache(); + character\character_civilian_africa_male_b::precache(); + character\character_civilian_africa_male_c::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_african_female.gsc b/AW/PC/aitype/civilian_african_female.gsc new file mode 100644 index 0000000..c64d6ac --- /dev/null +++ b/AW/PC/aitype/civilian_african_female.gsc @@ -0,0 +1,55 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_african_female.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:57:29 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + switch(codescripts\character::get_random_character(2)) + { + case 0: + character\character_civ_afr_lgt_female_cas::main(); + break; + + case 1: + character\character_civ_afr_drk_female_cas::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_afr_lgt_female_cas::precache(); + character\character_civ_afr_drk_female_cas::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_african_male.gsc b/AW/PC/aitype/civilian_african_male.gsc new file mode 100644 index 0000000..b7b37e7 --- /dev/null +++ b/AW/PC/aitype/civilian_african_male.gsc @@ -0,0 +1,65 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_african_male.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 64 ms + * Timestamp: 4/22/2024 1:57:29 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + switch(codescripts\character::get_random_character(4)) + { + case 0: + character\character_civ_afr_dark_male_casual::main(); + break; + + case 1: + character\character_civ_afr_dark_male_dress::main(); + break; + + case 2: + character\character_civ_afr_light_male_casual::main(); + break; + + case 3: + character\character_civ_mde_male_casual::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_afr_dark_male_casual::precache(); + character\character_civ_afr_dark_male_dress::precache(); + character\character_civ_afr_light_male_casual::precache(); + character\character_civ_mde_male_casual::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_african_male_ie.gsc b/AW/PC/aitype/civilian_african_male_ie.gsc new file mode 100644 index 0000000..205a6b9 --- /dev/null +++ b/AW/PC/aitype/civilian_african_male_ie.gsc @@ -0,0 +1,60 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_african_male_ie.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 64 ms + * Timestamp: 4/22/2024 1:57:30 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + switch(codescripts\character::get_random_character(3)) + { + case 0: + character\character_civ_african_male_b::main(); + break; + + case 1: + character\character_civ_african_male_c::main(); + break; + + case 2: + character\character_civ_african_male_d::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_african_male_b::precache(); + character\character_civ_african_male_c::precache(); + character\character_civ_african_male_d::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_baghdad_female.gsc b/AW/PC/aitype/civilian_baghdad_female.gsc new file mode 100644 index 0000000..6c97742 --- /dev/null +++ b/AW/PC/aitype/civilian_baghdad_female.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_baghdad_female.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 1:57:30 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_mde_female_casual::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_mde_female_casual::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_baghdad_male.gsc b/AW/PC/aitype/civilian_baghdad_male.gsc new file mode 100644 index 0000000..ffbef17 --- /dev/null +++ b/AW/PC/aitype/civilian_baghdad_male.gsc @@ -0,0 +1,70 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_baghdad_male.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 1:57:30 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + switch(codescripts\character::get_random_character(5)) + { + case 0: + character\character_civ_s1_male_a::main(); + break; + + case 1: + character\character_civ_s1_male_b::main(); + break; + + case 2: + character\character_civ_s1_male_c::main(); + break; + + case 3: + character\character_civ_s1_male_d::main(); + break; + + case 4: + character\character_civ_s1_male_e::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_s1_male_a::precache(); + character\character_civ_s1_male_b::precache(); + character\character_civ_s1_male_c::precache(); + character\character_civ_s1_male_d::precache(); + character\character_civ_s1_male_e::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_business_female_s1.gsc b/AW/PC/aitype/civilian_business_female_s1.gsc new file mode 100644 index 0000000..e100ec2 --- /dev/null +++ b/AW/PC/aitype/civilian_business_female_s1.gsc @@ -0,0 +1,60 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_business_female_s1.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 54 ms + * Timestamp: 4/22/2024 1:57:31 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + switch(codescripts\character::get_random_character(3)) + { + case 0: + character\character_civ_mde_female_dress::main(); + break; + + case 1: + character\character_civ_cau_fem_drs_sml::main(); + break; + + case 2: + character\character_civ_afr_light_fem_drs_sml::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_mde_female_dress::precache(); + character\character_civ_cau_fem_drs_sml::precache(); + character\character_civ_afr_light_fem_drs_sml::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_business_male_1.gsc b/AW/PC/aitype/civilian_business_male_1.gsc new file mode 100644 index 0000000..02ed8db --- /dev/null +++ b/AW/PC/aitype/civilian_business_male_1.gsc @@ -0,0 +1,70 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_business_male_1.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 55 ms + * Timestamp: 4/22/2024 1:57:31 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 30; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + switch(codescripts\character::get_random_character(5)) + { + case 0: + character\character_civ_afr_dark_male_dress::main(); + break; + + case 1: + character\character_civ_asi_male_dress::main(); + break; + + case 2: + character\character_civ_cau_male_dress::main(); + break; + + case 3: + character\character_civ_mde_male_dress::main(); + break; + + case 4: + character\character_civ_afr_light_male_dress::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_afr_dark_male_dress::precache(); + character\character_civ_asi_male_dress::precache(); + character\character_civ_cau_male_dress::precache(); + character\character_civ_mde_male_dress::precache(); + character\character_civ_afr_light_male_dress::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_business_male_s1.gsc b/AW/PC/aitype/civilian_business_male_s1.gsc new file mode 100644 index 0000000..43bf7ab --- /dev/null +++ b/AW/PC/aitype/civilian_business_male_s1.gsc @@ -0,0 +1,55 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_business_male_s1.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 63 ms + * Timestamp: 4/22/2024 1:57:32 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + switch(codescripts\character::get_random_character(2)) + { + case 0: + character\character_civ_mde_male_dress::main(); + break; + + case 1: + character\character_civ_cau_male_dress::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_mde_male_dress::precache(); + character\character_civ_cau_male_dress::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_business_male_s1_hostage_lag.gsc b/AW/PC/aitype/civilian_business_male_s1_hostage_lag.gsc new file mode 100644 index 0000000..a5877ba --- /dev/null +++ b/AW/PC/aitype/civilian_business_male_s1_hostage_lag.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_business_male_s1_hostage_lag.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 1:57:32 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_s1_male_hostage_lag::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_s1_male_hostage_lag::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_business_male_s1_lag.gsc b/AW/PC/aitype/civilian_business_male_s1_lag.gsc new file mode 100644 index 0000000..47b0964 --- /dev/null +++ b/AW/PC/aitype/civilian_business_male_s1_lag.gsc @@ -0,0 +1,55 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_business_male_s1_lag.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 65 ms + * Timestamp: 4/22/2024 1:57:33 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + switch(codescripts\character::get_random_character(2)) + { + case 0: + character\character_civ_mde_male_dress::main(); + break; + + case 1: + character\character_civ_afr_light_male_dress::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_mde_male_dress::precache(); + character\character_civ_afr_light_male_dress::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_captured_tech.gsc b/AW/PC/aitype/civilian_captured_tech.gsc new file mode 100644 index 0000000..bf095ca --- /dev/null +++ b/AW/PC/aitype/civilian_captured_tech.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_captured_tech.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 56 ms + * Timestamp: 4/22/2024 1:57:33 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_doctor_cpt::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_doctor_cpt::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_fus_suit_a.gsc b/AW/PC/aitype/civilian_fus_suit_a.gsc new file mode 100644 index 0000000..3ed2701 --- /dev/null +++ b/AW/PC/aitype/civilian_fus_suit_a.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_fus_suit_a.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 54 ms + * Timestamp: 4/22/2024 1:57:33 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_rec_funeral_male_afr::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_rec_funeral_male_afr::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_fus_suit_b.gsc b/AW/PC/aitype/civilian_fus_suit_b.gsc new file mode 100644 index 0000000..6e8419b --- /dev/null +++ b/AW/PC/aitype/civilian_fus_suit_b.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_fus_suit_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 51 ms + * Timestamp: 4/22/2024 1:57:34 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_rec_funeral_male::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_rec_funeral_male::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_fus_worker_a.gsc b/AW/PC/aitype/civilian_fus_worker_a.gsc new file mode 100644 index 0000000..e7e032f --- /dev/null +++ b/AW/PC/aitype/civilian_fus_worker_a.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_fus_worker_a.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 56 ms + * Timestamp: 4/22/2024 1:57:34 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_s1_worker_a::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_s1_worker_a::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_fus_worker_b.gsc b/AW/PC/aitype/civilian_fus_worker_b.gsc new file mode 100644 index 0000000..a7758fb --- /dev/null +++ b/AW/PC/aitype/civilian_fus_worker_b.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_fus_worker_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:57:35 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_s1_worker_b::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_s1_worker_b::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_greece_female.gsc b/AW/PC/aitype/civilian_greece_female.gsc new file mode 100644 index 0000000..b93e803 --- /dev/null +++ b/AW/PC/aitype/civilian_greece_female.gsc @@ -0,0 +1,85 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_greece_female.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 63 ms + * Timestamp: 4/22/2024 1:57:35 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + switch(codescripts\character::get_random_character(8)) + { + case 0: + character\character_civ_cau_female_casual::main(); + break; + + case 1: + character\character_civ_cau_female_dress::main(); + break; + + case 2: + character\character_civ_afr_light_female_casual::main(); + break; + + case 3: + character\character_civ_afr_light_female_dress::main(); + break; + + case 4: + character\character_civ_afr_dark_female_casual::main(); + break; + + case 5: + character\character_civ_afr_dark_female_dress::main(); + break; + + case 6: + character\character_civ_mde_female_casual::main(); + break; + + case 7: + character\character_civ_mde_female_dress::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_cau_female_casual::precache(); + character\character_civ_cau_female_dress::precache(); + character\character_civ_afr_light_female_casual::precache(); + character\character_civ_afr_light_female_dress::precache(); + character\character_civ_afr_dark_female_casual::precache(); + character\character_civ_afr_dark_female_dress::precache(); + character\character_civ_mde_female_casual::precache(); + character\character_civ_mde_female_dress::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_greece_male.gsc b/AW/PC/aitype/civilian_greece_male.gsc new file mode 100644 index 0000000..20a695c --- /dev/null +++ b/AW/PC/aitype/civilian_greece_male.gsc @@ -0,0 +1,85 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_greece_male.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 58 ms + * Timestamp: 4/22/2024 1:57:36 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + switch(codescripts\character::get_random_character(8)) + { + case 0: + character\character_civ_cau_male_casual::main(); + break; + + case 1: + character\character_civ_cau_male_dress::main(); + break; + + case 2: + character\character_civ_afr_light_male_casual::main(); + break; + + case 3: + character\character_civ_afr_light_male_dress::main(); + break; + + case 4: + character\character_civ_afr_dark_male_casual::main(); + break; + + case 5: + character\character_civ_afr_dark_male_dress::main(); + break; + + case 6: + character\character_civ_mde_male_casual::main(); + break; + + case 7: + character\character_civ_mde_male_dress::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_cau_male_casual::precache(); + character\character_civ_cau_male_dress::precache(); + character\character_civ_afr_light_male_casual::precache(); + character\character_civ_afr_light_male_dress::precache(); + character\character_civ_afr_dark_male_casual::precache(); + character\character_civ_afr_dark_male_dress::precache(); + character\character_civ_mde_male_casual::precache(); + character\character_civ_mde_male_dress::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_greece_male_no_face.gsc b/AW/PC/aitype/civilian_greece_male_no_face.gsc new file mode 100644 index 0000000..55def19 --- /dev/null +++ b/AW/PC/aitype/civilian_greece_male_no_face.gsc @@ -0,0 +1,65 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_greece_male_no_face.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 1:57:36 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + switch(codescripts\character::get_random_character(4)) + { + case 0: + character\character_civ_cau_male_casual_grk::main(); + break; + + case 1: + character\character_civ_cau_male_dress_grk::main(); + break; + + case 2: + character\character_civ_afr_male_cas_grk::main(); + break; + + case 3: + character\character_civ_afr_male_drs_grk::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_cau_male_casual_grk::precache(); + character\character_civ_cau_male_dress_grk::precache(); + character\character_civ_afr_male_cas_grk::precache(); + character\character_civ_afr_male_drs_grk::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_ie_doctor.gsc b/AW/PC/aitype/civilian_ie_doctor.gsc new file mode 100644 index 0000000..b555b1c --- /dev/null +++ b/AW/PC/aitype/civilian_ie_doctor.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_ie_doctor.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 61 ms + * Timestamp: 4/22/2024 1:57:36 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 1; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_ie_doctor::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_ie_doctor::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_ie_irons.gsc b/AW/PC/aitype/civilian_ie_irons.gsc new file mode 100644 index 0000000..7631080 --- /dev/null +++ b/AW/PC/aitype/civilian_ie_irons.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_ie_irons.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 62 ms + * Timestamp: 4/22/2024 1:57:37 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_hero_irons::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_hero_irons::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_india_female.gsc b/AW/PC/aitype/civilian_india_female.gsc new file mode 100644 index 0000000..05fa0b6 --- /dev/null +++ b/AW/PC/aitype/civilian_india_female.gsc @@ -0,0 +1,55 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_india_female.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 51 ms + * Timestamp: 4/22/2024 1:57:37 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 30; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + switch(codescripts\character::get_random_character(2)) + { + case 0: + character\character_civilian_india_female_a::main(); + break; + + case 1: + character\character_civilian_india_female_b::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civilian_india_female_a::precache(); + character\character_civilian_india_female_b::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_india_male.gsc b/AW/PC/aitype/civilian_india_male.gsc new file mode 100644 index 0000000..ce9420c --- /dev/null +++ b/AW/PC/aitype/civilian_india_male.gsc @@ -0,0 +1,65 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_india_male.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:57:38 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 30; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + switch(codescripts\character::get_random_character(4)) + { + case 0: + character\character_civilian_india_male_a::main(); + break; + + case 1: + character\character_civilian_india_male_b::main(); + break; + + case 2: + character\character_civilian_india_male_c::main(); + break; + + case 3: + character\character_civilian_india_male_d::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civilian_india_male_a::precache(); + character\character_civilian_india_male_b::precache(); + character\character_civilian_india_male_c::precache(); + character\character_civilian_india_male_d::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_prisoner_female.gsc b/AW/PC/aitype/civilian_prisoner_female.gsc new file mode 100644 index 0000000..4cfb267 --- /dev/null +++ b/AW/PC/aitype/civilian_prisoner_female.gsc @@ -0,0 +1,55 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_prisoner_female.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 1:57:38 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "team3"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + switch(codescripts\character::get_random_character(2)) + { + case 0: + character\character_civilian_prisoner_female_a::main(); + break; + + case 1: + character\character_civilian_prisoner_female_b::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("team3"); +} + +//Function Number: 3 +precache() +{ + character\character_civilian_prisoner_female_a::precache(); + character\character_civilian_prisoner_female_b::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_prisoner_male.gsc b/AW/PC/aitype/civilian_prisoner_male.gsc new file mode 100644 index 0000000..f582418 --- /dev/null +++ b/AW/PC/aitype/civilian_prisoner_male.gsc @@ -0,0 +1,60 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_prisoner_male.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 65 ms + * Timestamp: 4/22/2024 1:57:39 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "team3"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + switch(codescripts\character::get_random_character(3)) + { + case 0: + character\character_civ_pris_afr_dark_male_lite::main(); + break; + + case 1: + character\character_civ_pris_mde_male_lite::main(); + break; + + case 2: + character\character_civ_pris_cau_male_lite::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("team3"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_pris_afr_dark_male_lite::precache(); + character\character_civ_pris_mde_male_lite::precache(); + character\character_civ_pris_cau_male_lite::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_rec_funeral_female_a.gsc b/AW/PC/aitype/civilian_rec_funeral_female_a.gsc new file mode 100644 index 0000000..48e497a --- /dev/null +++ b/AW/PC/aitype/civilian_rec_funeral_female_a.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_rec_funeral_female_a.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 1:57:39 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_rec_funeral_female_a::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_rec_funeral_female_a::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_rec_funeral_female_b.gsc b/AW/PC/aitype/civilian_rec_funeral_female_b.gsc new file mode 100644 index 0000000..9a7273d --- /dev/null +++ b/AW/PC/aitype/civilian_rec_funeral_female_b.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_rec_funeral_female_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:57:39 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_rec_funeral_female_b::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_rec_funeral_female_b::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_rec_funeral_female_c.gsc b/AW/PC/aitype/civilian_rec_funeral_female_c.gsc new file mode 100644 index 0000000..6cd8f4c --- /dev/null +++ b/AW/PC/aitype/civilian_rec_funeral_female_c.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_rec_funeral_female_c.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 70 ms + * Timestamp: 4/22/2024 1:57:40 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_rec_funeral_female_c::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_rec_funeral_female_c::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_rec_funeral_female_d.gsc b/AW/PC/aitype/civilian_rec_funeral_female_d.gsc new file mode 100644 index 0000000..dc620fc --- /dev/null +++ b/AW/PC/aitype/civilian_rec_funeral_female_d.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_rec_funeral_female_d.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 54 ms + * Timestamp: 4/22/2024 1:57:40 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_rec_funeral_female_d::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_rec_funeral_female_d::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_rec_funeral_female_wife.gsc b/AW/PC/aitype/civilian_rec_funeral_female_wife.gsc new file mode 100644 index 0000000..a0a8fde --- /dev/null +++ b/AW/PC/aitype/civilian_rec_funeral_female_wife.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_rec_funeral_female_wife.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 61 ms + * Timestamp: 4/22/2024 1:57:41 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_rec_funeral_female_wife::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_rec_funeral_female_wife::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_rec_funeral_male.gsc b/AW/PC/aitype/civilian_rec_funeral_male.gsc new file mode 100644 index 0000000..0c10889 --- /dev/null +++ b/AW/PC/aitype/civilian_rec_funeral_male.gsc @@ -0,0 +1,55 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_rec_funeral_male.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 64 ms + * Timestamp: 4/22/2024 1:57:41 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + switch(codescripts\character::get_random_character(2)) + { + case 0: + character\character_civ_rec_funeral_male::main(); + break; + + case 1: + character\character_civ_rec_funeral_male_afr::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_rec_funeral_male::precache(); + character\character_civ_rec_funeral_male_afr::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_rec_funeral_male_afr_a.gsc b/AW/PC/aitype/civilian_rec_funeral_male_afr_a.gsc new file mode 100644 index 0000000..9200191 --- /dev/null +++ b/AW/PC/aitype/civilian_rec_funeral_male_afr_a.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_rec_funeral_male_afr_a.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 54 ms + * Timestamp: 4/22/2024 1:57:42 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_rec_funeral_male_afr_a::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_rec_funeral_male_afr_a::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_rec_funeral_male_afr_b.gsc b/AW/PC/aitype/civilian_rec_funeral_male_afr_b.gsc new file mode 100644 index 0000000..eedccc6 --- /dev/null +++ b/AW/PC/aitype/civilian_rec_funeral_male_afr_b.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_rec_funeral_male_afr_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 56 ms + * Timestamp: 4/22/2024 1:57:42 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_rec_funeral_male_afr_b::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_rec_funeral_male_afr_b::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_rec_funeral_male_afr_c.gsc b/AW/PC/aitype/civilian_rec_funeral_male_afr_c.gsc new file mode 100644 index 0000000..ad1f722 --- /dev/null +++ b/AW/PC/aitype/civilian_rec_funeral_male_afr_c.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_rec_funeral_male_afr_c.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 145 ms + * Timestamp: 4/22/2024 1:57:43 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_rec_funeral_male_afr_c::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_rec_funeral_male_afr_c::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_rec_funeral_male_afr_d.gsc b/AW/PC/aitype/civilian_rec_funeral_male_afr_d.gsc new file mode 100644 index 0000000..6c9cf41 --- /dev/null +++ b/AW/PC/aitype/civilian_rec_funeral_male_afr_d.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_rec_funeral_male_afr_d.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 1:57:43 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_rec_funeral_male_afr_d::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_rec_funeral_male_afr_d::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_rec_funeral_male_asi_a.gsc b/AW/PC/aitype/civilian_rec_funeral_male_asi_a.gsc new file mode 100644 index 0000000..06884be --- /dev/null +++ b/AW/PC/aitype/civilian_rec_funeral_male_asi_a.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_rec_funeral_male_asi_a.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 64 ms + * Timestamp: 4/22/2024 1:57:44 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_rec_funeral_male_asi_a::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_rec_funeral_male_asi_a::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_rec_funeral_male_cau_a.gsc b/AW/PC/aitype/civilian_rec_funeral_male_cau_a.gsc new file mode 100644 index 0000000..5eccf50 --- /dev/null +++ b/AW/PC/aitype/civilian_rec_funeral_male_cau_a.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_rec_funeral_male_cau_a.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:57:44 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_rec_funeral_male_cau_a::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_rec_funeral_male_cau_a::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_rec_funeral_male_cau_b.gsc b/AW/PC/aitype/civilian_rec_funeral_male_cau_b.gsc new file mode 100644 index 0000000..00dad7b --- /dev/null +++ b/AW/PC/aitype/civilian_rec_funeral_male_cau_b.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_rec_funeral_male_cau_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:57:45 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_rec_funeral_male_cau_b::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_rec_funeral_male_cau_b::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_rec_funeral_male_cau_c.gsc b/AW/PC/aitype/civilian_rec_funeral_male_cau_c.gsc new file mode 100644 index 0000000..b91f836 --- /dev/null +++ b/AW/PC/aitype/civilian_rec_funeral_male_cau_c.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_rec_funeral_male_cau_c.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:57:45 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_rec_funeral_male_cau_c::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_rec_funeral_male_cau_c::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_rec_funeral_male_cau_d.gsc b/AW/PC/aitype/civilian_rec_funeral_male_cau_d.gsc new file mode 100644 index 0000000..9bf2cef --- /dev/null +++ b/AW/PC/aitype/civilian_rec_funeral_male_cau_d.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_rec_funeral_male_cau_d.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:57:45 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_rec_funeral_male_cau_d::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_rec_funeral_male_cau_d::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_rec_funeral_male_cau_e.gsc b/AW/PC/aitype/civilian_rec_funeral_male_cau_e.gsc new file mode 100644 index 0000000..65c2197 --- /dev/null +++ b/AW/PC/aitype/civilian_rec_funeral_male_cau_e.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_rec_funeral_male_cau_e.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 51 ms + * Timestamp: 4/22/2024 1:57:46 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_rec_funeral_male_cau_e::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_rec_funeral_male_cau_e::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_rec_funeral_male_cau_f.gsc b/AW/PC/aitype/civilian_rec_funeral_male_cau_f.gsc new file mode 100644 index 0000000..2be088d --- /dev/null +++ b/AW/PC/aitype/civilian_rec_funeral_male_cau_f.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_rec_funeral_male_cau_f.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:57:46 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_rec_funeral_male_cau_f::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_rec_funeral_male_cau_f::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_scientist_s1_a.gsc b/AW/PC/aitype/civilian_scientist_s1_a.gsc new file mode 100644 index 0000000..2be858f --- /dev/null +++ b/AW/PC/aitype/civilian_scientist_s1_a.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_scientist_s1_a.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 67 ms + * Timestamp: 4/22/2024 1:57:47 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_scientist_s1_a::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_scientist_s1_a::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_scientist_s1_b.gsc b/AW/PC/aitype/civilian_scientist_s1_b.gsc new file mode 100644 index 0000000..c032b04 --- /dev/null +++ b/AW/PC/aitype/civilian_scientist_s1_b.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_scientist_s1_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:57:47 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_scientist_s1_b::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_scientist_s1_b::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_scientist_s1_c.gsc b/AW/PC/aitype/civilian_scientist_s1_c.gsc new file mode 100644 index 0000000..977e881 --- /dev/null +++ b/AW/PC/aitype/civilian_scientist_s1_c.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_scientist_s1_c.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 54 ms + * Timestamp: 4/22/2024 1:57:47 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_scientist_s1_c::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_scientist_s1_c::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_scientist_s1_d.gsc b/AW/PC/aitype/civilian_scientist_s1_d.gsc new file mode 100644 index 0000000..3ed2eba --- /dev/null +++ b/AW/PC/aitype/civilian_scientist_s1_d.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_scientist_s1_d.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 54 ms + * Timestamp: 4/22/2024 1:57:48 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_scientist_s1_d::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_scientist_s1_d::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_scientist_s1_e.gsc b/AW/PC/aitype/civilian_scientist_s1_e.gsc new file mode 100644 index 0000000..1bee5c0 --- /dev/null +++ b/AW/PC/aitype/civilian_scientist_s1_e.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_scientist_s1_e.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:57:48 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_scientist_s1_e::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_scientist_s1_e::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_scientist_s1_f.gsc b/AW/PC/aitype/civilian_scientist_s1_f.gsc new file mode 100644 index 0000000..6b9d9b5 --- /dev/null +++ b/AW/PC/aitype/civilian_scientist_s1_f.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_scientist_s1_f.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 54 ms + * Timestamp: 4/22/2024 1:57:49 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_scientist_s1_f::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_scientist_s1_f::precache(); +} \ No newline at end of file diff --git a/AW/PC/SP/aitype/civilian_seoul_female.gsc b/AW/PC/aitype/civilian_seoul_female.gsc similarity index 88% rename from AW/PC/SP/aitype/civilian_seoul_female.gsc rename to AW/PC/aitype/civilian_seoul_female.gsc index e1d94d5..6e3430b 100644 --- a/AW/PC/SP/aitype/civilian_seoul_female.gsc +++ b/AW/PC/aitype/civilian_seoul_female.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: aitype\civilian_seoul_female.gsc + * Decompiled File: civilian_seoul_female.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 70 ms - * Timestamp: 10/27/2023 1:52:49 AM + * Decompile Time: 64 ms + * Timestamp: 4/22/2024 1:57:49 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/aitype/civilian_seoul_male.gsc b/AW/PC/aitype/civilian_seoul_male.gsc similarity index 77% rename from AW/PC/SP/aitype/civilian_seoul_male.gsc rename to AW/PC/aitype/civilian_seoul_male.gsc index 5591522..233d32c 100644 --- a/AW/PC/SP/aitype/civilian_seoul_male.gsc +++ b/AW/PC/aitype/civilian_seoul_male.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: aitype\civilian_seoul_male.gsc + * Decompiled File: civilian_seoul_male.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 69 ms - * Timestamp: 10/27/2023 1:52:49 AM + * Decompile Time: 54 ms + * Timestamp: 4/22/2024 1:57:50 AM *******************************************************************/ //Function Number: 1 @@ -32,18 +32,23 @@ main() switch(codescripts\character::get_random_character(5)) { case 0: + character\character_civ_seoul_male_a::main(); break; case 1: + character\character_civ_seoul_male_b::main(); break; case 2: + character\character_civ_seoul_male_c::main(); break; case 3: + character\character_civ_seoul_male_d::main(); break; case 4: + character\character_civ_seoul_male_e::main(); break; } } diff --git a/AW/PC/SP/aitype/civilian_seoul_male_principle.gsc b/AW/PC/aitype/civilian_seoul_male_principle.gsc similarity index 87% rename from AW/PC/SP/aitype/civilian_seoul_male_principle.gsc rename to AW/PC/aitype/civilian_seoul_male_principle.gsc index 30993fb..9162712 100644 --- a/AW/PC/SP/aitype/civilian_seoul_male_principle.gsc +++ b/AW/PC/aitype/civilian_seoul_male_principle.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: aitype\civilian_seoul_male_principle.gsc + * Decompiled File: civilian_seoul_male_principle.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 62 ms - * Timestamp: 10/27/2023 1:52:50 AM + * Decompile Time: 152 ms + * Timestamp: 4/22/2024 1:57:50 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/aitype/civilian_sf_male.gsc b/AW/PC/aitype/civilian_sf_male.gsc new file mode 100644 index 0000000..d523a06 --- /dev/null +++ b/AW/PC/aitype/civilian_sf_male.gsc @@ -0,0 +1,70 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_sf_male.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:57:51 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + switch(codescripts\character::get_random_character(5)) + { + case 0: + character\character_civ_cau_male_casual::main(); + break; + + case 1: + character\character_civ_cau_male_dress::main(); + break; + + case 2: + character\character_civ_asi_male_casual::main(); + break; + + case 3: + character\character_civ_mde_male_casual::main(); + break; + + case 4: + character\character_civ_afr_dark_male_casual::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_cau_male_casual::precache(); + character\character_civ_cau_male_dress::precache(); + character\character_civ_asi_male_casual::precache(); + character\character_civ_mde_male_casual::precache(); + character\character_civ_afr_dark_male_casual::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_slum_male.gsc b/AW/PC/aitype/civilian_slum_male.gsc new file mode 100644 index 0000000..cd0b9a4 --- /dev/null +++ b/AW/PC/aitype/civilian_slum_male.gsc @@ -0,0 +1,85 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_slum_male.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 54 ms + * Timestamp: 4/22/2024 1:57:51 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 30; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + switch(codescripts\character::get_random_character(8)) + { + case 0: + character\character_civilian_slum_male_aa::main(); + break; + + case 1: + character\character_civilian_slum_male_aa_wht::main(); + break; + + case 2: + character\character_civilian_slum_male_ab::main(); + break; + + case 3: + character\character_civilian_slum_male_ab_wht::main(); + break; + + case 4: + character\character_civilian_slum_male_ba::main(); + break; + + case 5: + character\character_civilian_slum_male_ba_wht::main(); + break; + + case 6: + character\character_civilian_slum_male_bb::main(); + break; + + case 7: + character\character_civilian_slum_male_bb_wht::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civilian_slum_male_aa::precache(); + character\character_civilian_slum_male_aa_wht::precache(); + character\character_civilian_slum_male_ab::precache(); + character\character_civilian_slum_male_ab_wht::precache(); + character\character_civilian_slum_male_ba::precache(); + character\character_civilian_slum_male_ba_wht::precache(); + character\character_civilian_slum_male_bb::precache(); + character\character_civilian_slum_male_bb_wht::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_urban_female_dead_s1.gsc b/AW/PC/aitype/civilian_urban_female_dead_s1.gsc new file mode 100644 index 0000000..9c53660 --- /dev/null +++ b/AW/PC/aitype/civilian_urban_female_dead_s1.gsc @@ -0,0 +1,55 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_urban_female_dead_s1.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 51 ms + * Timestamp: 4/22/2024 1:57:52 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + switch(codescripts\character::get_random_character(2)) + { + case 0: + character\character_civ_s1_female_dead_a::main(); + break; + + case 1: + character\character_civ_s1_female_dead_b::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_s1_female_dead_a::precache(); + character\character_civ_s1_female_dead_b::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_urban_female_s1.gsc b/AW/PC/aitype/civilian_urban_female_s1.gsc new file mode 100644 index 0000000..020c74c --- /dev/null +++ b/AW/PC/aitype/civilian_urban_female_s1.gsc @@ -0,0 +1,80 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_urban_female_s1.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 64 ms + * Timestamp: 4/22/2024 1:57:52 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + switch(codescripts\character::get_random_character(7)) + { + case 0: + character\character_civ_s1_female_a::main(); + break; + + case 1: + character\character_civ_s1_female_b::main(); + break; + + case 2: + character\character_civ_s1_female_c::main(); + break; + + case 3: + character\character_civ_s1_female_d::main(); + break; + + case 4: + character\character_civ_s1_female_e::main(); + break; + + case 5: + character\character_civ_s1_female_f::main(); + break; + + case 6: + character\character_civ_s1_female_g::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_s1_female_a::precache(); + character\character_civ_s1_female_b::precache(); + character\character_civ_s1_female_c::precache(); + character\character_civ_s1_female_d::precache(); + character\character_civ_s1_female_e::precache(); + character\character_civ_s1_female_f::precache(); + character\character_civ_s1_female_g::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_urban_female_s1_det.gsc b/AW/PC/aitype/civilian_urban_female_s1_det.gsc new file mode 100644 index 0000000..a712c2e --- /dev/null +++ b/AW/PC/aitype/civilian_urban_female_s1_det.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_urban_female_s1_det.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 56 ms + * Timestamp: 4/22/2024 1:57:53 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_s1_female_g::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_s1_female_g::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_urban_female_s1_det_spraycan.gsc b/AW/PC/aitype/civilian_urban_female_s1_det_spraycan.gsc new file mode 100644 index 0000000..eaab60d --- /dev/null +++ b/AW/PC/aitype/civilian_urban_female_s1_det_spraycan.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_urban_female_s1_det_spraycan.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 64 ms + * Timestamp: 4/22/2024 1:57:53 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_s1_female_e::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_s1_female_e::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_urban_female_s1_ie.gsc b/AW/PC/aitype/civilian_urban_female_s1_ie.gsc new file mode 100644 index 0000000..d9a01f0 --- /dev/null +++ b/AW/PC/aitype/civilian_urban_female_s1_ie.gsc @@ -0,0 +1,60 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_urban_female_s1_ie.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 54 ms + * Timestamp: 4/22/2024 1:57:53 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + switch(codescripts\character::get_random_character(3)) + { + case 0: + character\character_civ_s1_female_a::main(); + break; + + case 1: + character\character_civ_s1_female_b::main(); + break; + + case 2: + character\character_civ_s1_female_c::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_s1_female_a::precache(); + character\character_civ_s1_female_b::precache(); + character\character_civ_s1_female_c::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_urban_male_dead_s1.gsc b/AW/PC/aitype/civilian_urban_male_dead_s1.gsc new file mode 100644 index 0000000..100b5c6 --- /dev/null +++ b/AW/PC/aitype/civilian_urban_male_dead_s1.gsc @@ -0,0 +1,60 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_urban_male_dead_s1.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 171 ms + * Timestamp: 4/22/2024 1:57:54 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + switch(codescripts\character::get_random_character(3)) + { + case 0: + character\character_civ_s1_male_dead_a::main(); + break; + + case 1: + character\character_civ_s1_male_dead_b::main(); + break; + + case 2: + character\character_civ_s1_male_dead_c::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_s1_male_dead_a::precache(); + character\character_civ_s1_male_dead_b::precache(); + character\character_civ_s1_male_dead_c::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_urban_male_s1.gsc b/AW/PC/aitype/civilian_urban_male_s1.gsc new file mode 100644 index 0000000..a7d8d64 --- /dev/null +++ b/AW/PC/aitype/civilian_urban_male_s1.gsc @@ -0,0 +1,60 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_urban_male_s1.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:57:55 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + switch(codescripts\character::get_random_character(3)) + { + case 0: + character\character_civ_mde_male_casual::main(); + break; + + case 1: + character\character_civ_afr_light_male_casual::main(); + break; + + case 2: + character\character_civ_cau_male_casual::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_mde_male_casual::precache(); + character\character_civ_afr_light_male_casual::precache(); + character\character_civ_cau_male_casual::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_urban_male_s1_det_ball1.gsc b/AW/PC/aitype/civilian_urban_male_s1_det_ball1.gsc new file mode 100644 index 0000000..7252305 --- /dev/null +++ b/AW/PC/aitype/civilian_urban_male_s1_det_ball1.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_urban_male_s1_det_ball1.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 54 ms + * Timestamp: 4/22/2024 1:57:55 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_cau_male_casual_ball1::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_cau_male_casual_ball1::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_urban_male_s1_det_ball2.gsc b/AW/PC/aitype/civilian_urban_male_s1_det_ball2.gsc new file mode 100644 index 0000000..8155d6c --- /dev/null +++ b/AW/PC/aitype/civilian_urban_male_s1_det_ball2.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_urban_male_s1_det_ball2.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 62 ms + * Timestamp: 4/22/2024 1:57:56 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_cau_male_casual_ball2::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_cau_male_casual_ball2::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_urban_male_s1_ie.gsc b/AW/PC/aitype/civilian_urban_male_s1_ie.gsc new file mode 100644 index 0000000..dc48978 --- /dev/null +++ b/AW/PC/aitype/civilian_urban_male_s1_ie.gsc @@ -0,0 +1,65 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_urban_male_s1_ie.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 60 ms + * Timestamp: 4/22/2024 1:57:56 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + switch(codescripts\character::get_random_character(4)) + { + case 0: + character\character_civ_s1_male_b::main(); + break; + + case 1: + character\character_civ_s1_male_c::main(); + break; + + case 2: + character\character_civ_s1_male_d::main(); + break; + + case 3: + character\character_civ_s1_male_e::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_s1_male_b::precache(); + character\character_civ_s1_male_c::precache(); + character\character_civ_s1_male_d::precache(); + character\character_civ_s1_male_e::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_worker_hardhat_s1.gsc b/AW/PC/aitype/civilian_worker_hardhat_s1.gsc new file mode 100644 index 0000000..711c57c --- /dev/null +++ b/AW/PC/aitype/civilian_worker_hardhat_s1.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_worker_hardhat_s1.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 1:57:56 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "civilian"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_civ_s1_worker_hardhat::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civ_s1_worker_hardhat::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/civilian_worker_male_ie.gsc b/AW/PC/aitype/civilian_worker_male_ie.gsc new file mode 100644 index 0000000..4a19b6a --- /dev/null +++ b/AW/PC/aitype/civilian_worker_male_ie.gsc @@ -0,0 +1,60 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian_worker_male_ie.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 50 ms + * Timestamp: 4/22/2024 1:57:57 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 1; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + switch(codescripts\character::get_random_character(3)) + { + case 0: + character\character_civilian_worker_a::main(); + break; + + case 1: + character\character_civilian_worker_b::main(); + break; + + case 2: + character\character_civilian_worker_c::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_civilian_worker_a::precache(); + character\character_civilian_worker_b::precache(); + character\character_civilian_worker_c::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_atlas_ar.gsc b/AW/PC/aitype/enemy_atlas_ar.gsc new file mode 100644 index 0000000..43ce217 --- /dev/null +++ b/AW/PC/aitype/enemy_atlas_ar.gsc @@ -0,0 +1,99 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_atlas_ar.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 51 ms + * Timestamp: 4/22/2024 1:57:57 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(10)) + { + case 0: + self.weapon = "iw5_bal27_sp"; + break; + + case 1: + self.weapon = "iw5_bal27_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_bal27_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_bal27_sp_variablereddot"; + break; + + case 4: + self.weapon = "iw5_bal27_sp_opticstargetenhancer"; + break; + + case 5: + self.weapon = "iw5_himar_sp_himarscope"; + break; + + case 6: + self.weapon = "iw5_himar_sp_opticsacog2"; + break; + + case 7: + self.weapon = "iw5_himar_sp_opticsreddot"; + break; + + case 8: + self.weapon = "iw5_himar_sp_variablereddot"; + break; + + case 9: + self.weapon = "iw5_himar_sp_opticstargetenhancer"; + break; + } + + character\character_atlas_smg::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_smg::precache(); + precacheitem("iw5_bal27_sp"); + precacheitem("iw5_bal27_sp_opticsacog2"); + precacheitem("iw5_bal27_sp_opticsreddot"); + precacheitem("iw5_bal27_sp_variablereddot"); + precacheitem("iw5_bal27_sp_opticstargetenhancer"); + precacheitem("iw5_himar_sp_himarscope"); + precacheitem("iw5_himar_sp_opticsacog2"); + precacheitem("iw5_himar_sp_opticsreddot"); + precacheitem("iw5_himar_sp_variablereddot"); + precacheitem("iw5_himar_sp_opticstargetenhancer"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_atlas_ar_arctic.gsc b/AW/PC/aitype/enemy_atlas_ar_arctic.gsc new file mode 100644 index 0000000..114ec86 --- /dev/null +++ b/AW/PC/aitype/enemy_atlas_ar_arctic.gsc @@ -0,0 +1,99 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_atlas_ar_arctic.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:57:58 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(10)) + { + case 0: + self.weapon = "iw5_bal27_sp"; + break; + + case 1: + self.weapon = "iw5_bal27_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_bal27_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_bal27_sp_variablereddot"; + break; + + case 4: + self.weapon = "iw5_bal27_sp_opticstargetenhancer"; + break; + + case 5: + self.weapon = "iw5_himar_sp_himarscope"; + break; + + case 6: + self.weapon = "iw5_himar_sp_opticsacog2"; + break; + + case 7: + self.weapon = "iw5_himar_sp_opticsreddot"; + break; + + case 8: + self.weapon = "iw5_himar_sp_variablereddot"; + break; + + case 9: + self.weapon = "iw5_himar_sp_opticstargetenhancer"; + break; + } + + character\character_atlas_arctic_ar::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_arctic_ar::precache(); + precacheitem("iw5_bal27_sp"); + precacheitem("iw5_bal27_sp_opticsacog2"); + precacheitem("iw5_bal27_sp_opticsreddot"); + precacheitem("iw5_bal27_sp_variablereddot"); + precacheitem("iw5_bal27_sp_opticstargetenhancer"); + precacheitem("iw5_himar_sp_himarscope"); + precacheitem("iw5_himar_sp_opticsacog2"); + precacheitem("iw5_himar_sp_opticsreddot"); + precacheitem("iw5_himar_sp_variablereddot"); + precacheitem("iw5_himar_sp_opticstargetenhancer"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_atlas_ar_captured.gsc b/AW/PC/aitype/enemy_atlas_ar_captured.gsc new file mode 100644 index 0000000..8ee92a0 --- /dev/null +++ b/AW/PC/aitype/enemy_atlas_ar_captured.gsc @@ -0,0 +1,99 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_atlas_ar_captured.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 54 ms + * Timestamp: 4/22/2024 1:57:58 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45pickup_sp_xmags"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(10)) + { + case 0: + self.weapon = "iw5_bal27_sp"; + break; + + case 1: + self.weapon = "iw5_bal27_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_bal27_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_bal27_sp_variablereddot"; + break; + + case 4: + self.weapon = "iw5_bal27_sp_opticstargetenhancer"; + break; + + case 5: + self.weapon = "iw5_himar_sp_himarscope"; + break; + + case 6: + self.weapon = "iw5_himar_sp_opticsacog2"; + break; + + case 7: + self.weapon = "iw5_himar_sp_opticsreddot"; + break; + + case 8: + self.weapon = "iw5_himar_sp_variablereddot"; + break; + + case 9: + self.weapon = "iw5_himar_sp_opticstargetenhancer"; + break; + } + + character\character_atlas_smg::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_smg::precache(); + precacheitem("iw5_bal27_sp"); + precacheitem("iw5_bal27_sp_opticsacog2"); + precacheitem("iw5_bal27_sp_opticsreddot"); + precacheitem("iw5_bal27_sp_variablereddot"); + precacheitem("iw5_bal27_sp_opticstargetenhancer"); + precacheitem("iw5_himar_sp_himarscope"); + precacheitem("iw5_himar_sp_opticsacog2"); + precacheitem("iw5_himar_sp_opticsreddot"); + precacheitem("iw5_himar_sp_variablereddot"); + precacheitem("iw5_himar_sp_opticstargetenhancer"); + precacheitem("iw5_titan45pickup_sp_xmags"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_atlas_ar_lowlod.gsc b/AW/PC/aitype/enemy_atlas_ar_lowlod.gsc new file mode 100644 index 0000000..9d00d78 --- /dev/null +++ b/AW/PC/aitype/enemy_atlas_ar_lowlod.gsc @@ -0,0 +1,99 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_atlas_ar_lowlod.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 1:57:58 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(10)) + { + case 0: + self.weapon = "iw5_bal27_sp"; + break; + + case 1: + self.weapon = "iw5_bal27_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_bal27_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_bal27_sp_variablereddot"; + break; + + case 4: + self.weapon = "iw5_bal27_sp_opticstargetenhancer"; + break; + + case 5: + self.weapon = "iw5_himar_sp_himarscope"; + break; + + case 6: + self.weapon = "iw5_himar_sp_opticsacog2"; + break; + + case 7: + self.weapon = "iw5_himar_sp_opticsreddot"; + break; + + case 8: + self.weapon = "iw5_himar_sp_variablereddot"; + break; + + case 9: + self.weapon = "iw5_himar_sp_opticstargetenhancer"; + break; + } + + character\character_atlas_smg_lowlod::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_smg_lowlod::precache(); + precacheitem("iw5_bal27_sp"); + precacheitem("iw5_bal27_sp_opticsacog2"); + precacheitem("iw5_bal27_sp_opticsreddot"); + precacheitem("iw5_bal27_sp_variablereddot"); + precacheitem("iw5_bal27_sp_opticstargetenhancer"); + precacheitem("iw5_himar_sp_himarscope"); + precacheitem("iw5_himar_sp_opticsacog2"); + precacheitem("iw5_himar_sp_opticsreddot"); + precacheitem("iw5_himar_sp_variablereddot"); + precacheitem("iw5_himar_sp_opticstargetenhancer"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_atlas_bodyguard_smg.gsc b/AW/PC/aitype/enemy_atlas_bodyguard_smg.gsc new file mode 100644 index 0000000..306c94b --- /dev/null +++ b/AW/PC/aitype/enemy_atlas_bodyguard_smg.gsc @@ -0,0 +1,47 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_atlas_bodyguard_smg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:57:59 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_sn6_sp_opticsreddot_silencer01"; + character\character_atlas_bodyguard_smg::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_bodyguard_smg::precache(); + precacheitem("iw5_sn6_sp_opticsreddot_silencer01"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_atlas_elite_ar.gsc b/AW/PC/aitype/enemy_atlas_elite_ar.gsc new file mode 100644 index 0000000..c39139d --- /dev/null +++ b/AW/PC/aitype/enemy_atlas_elite_ar.gsc @@ -0,0 +1,74 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_atlas_elite_ar.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 51 ms + * Timestamp: 4/22/2024 1:57:59 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "elite"; + self.accuracy = 0.2; + self.health = 1000; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45loot_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(5)) + { + case 0: + self.weapon = "iw5_bal27loot_sp"; + break; + + case 1: + self.weapon = "iw5_bal27loot_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_bal27loot_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_bal27loot_sp_variablereddot"; + break; + + case 4: + self.weapon = "iw5_bal27loot_sp_opticstargetenhancer"; + break; + } + + character\character_atlas_elete::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_elete::precache(); + precacheitem("iw5_bal27loot_sp"); + precacheitem("iw5_bal27loot_sp_opticsacog2"); + precacheitem("iw5_bal27loot_sp_opticsreddot"); + precacheitem("iw5_bal27loot_sp_variablereddot"); + precacheitem("iw5_bal27loot_sp_opticstargetenhancer"); + precacheitem("iw5_titan45loot_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_atlas_elite_jump_jet_ar.gsc b/AW/PC/aitype/enemy_atlas_elite_jump_jet_ar.gsc new file mode 100644 index 0000000..4d0675d --- /dev/null +++ b/AW/PC/aitype/enemy_atlas_elite_jump_jet_ar.gsc @@ -0,0 +1,74 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_atlas_elite_jump_jet_ar.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 1:58:00 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "elite"; + self.accuracy = 0.2; + self.health = 1000; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45loot_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(5)) + { + case 0: + self.weapon = "iw5_bal27loot_sp"; + break; + + case 1: + self.weapon = "iw5_bal27loot_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_bal27loot_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_bal27loot_sp_variablereddot"; + break; + + case 4: + self.weapon = "iw5_bal27loot_sp_opticstargetenhancer"; + break; + } + + character\character_atlas_elete::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_elete::precache(); + precacheitem("iw5_bal27loot_sp"); + precacheitem("iw5_bal27loot_sp_opticsacog2"); + precacheitem("iw5_bal27loot_sp_opticsreddot"); + precacheitem("iw5_bal27loot_sp_variablereddot"); + precacheitem("iw5_bal27loot_sp_opticstargetenhancer"); + precacheitem("iw5_titan45loot_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_atlas_elite_jump_jet_lmg.gsc b/AW/PC/aitype/enemy_atlas_elite_jump_jet_lmg.gsc new file mode 100644 index 0000000..a2900b7 --- /dev/null +++ b/AW/PC/aitype/enemy_atlas_elite_jump_jet_lmg.gsc @@ -0,0 +1,79 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_atlas_elite_jump_jet_lmg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 57 ms + * Timestamp: 4/22/2024 1:58:00 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "elite"; + self.accuracy = 0.2; + self.health = 1000; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45loot_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(6)) + { + case 0: + self.weapon = "iw5_asawloot_sp"; + break; + + case 1: + self.weapon = "iw5_asawloot_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_asawloot_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_asawloot_sp_opticsthermal"; + break; + + case 4: + self.weapon = "iw5_asawloot_sp_variablereddot"; + break; + + case 5: + self.weapon = "iw5_asawloot_sp_opticstargetenhancer"; + break; + } + + character\character_atlas_elete::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_elete::precache(); + precacheitem("iw5_asawloot_sp"); + precacheitem("iw5_asawloot_sp_opticsacog2"); + precacheitem("iw5_asawloot_sp_opticsreddot"); + precacheitem("iw5_asawloot_sp_opticsthermal"); + precacheitem("iw5_asawloot_sp_variablereddot"); + precacheitem("iw5_asawloot_sp_opticstargetenhancer"); + precacheitem("iw5_titan45loot_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_atlas_elite_jump_jet_rpg.gsc b/AW/PC/aitype/enemy_atlas_elite_jump_jet_rpg.gsc new file mode 100644 index 0000000..23e435c --- /dev/null +++ b/AW/PC/aitype/enemy_atlas_elite_jump_jet_rpg.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_atlas_elite_jump_jet_rpg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 64 ms + * Timestamp: 4/22/2024 1:58:01 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "elite"; + self.accuracy = 0.2; + self.health = 1000; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45loot_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_mahem_sp"; + character\character_atlas_elete::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_elete::precache(); + precacheitem("iw5_mahem_sp"); + precacheitem("iw5_titan45loot_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_atlas_elite_jump_jet_smg.gsc b/AW/PC/aitype/enemy_atlas_elite_jump_jet_smg.gsc new file mode 100644 index 0000000..2eef23d --- /dev/null +++ b/AW/PC/aitype/enemy_atlas_elite_jump_jet_smg.gsc @@ -0,0 +1,74 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_atlas_elite_jump_jet_smg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:58:01 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "elite"; + self.accuracy = 0.2; + self.health = 1000; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45loot_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(5)) + { + case 0: + self.weapon = "iw5_kf5loot_sp"; + break; + + case 1: + self.weapon = "iw5_kf5loot_sp_opticstargetenhancer"; + break; + + case 2: + self.weapon = "iw5_kf5loot_sp_variablereddot"; + break; + + case 3: + self.weapon = "iw5_kf5loot_sp_opticsacog2"; + break; + + case 4: + self.weapon = "iw5_kf5loot_sp_opticsreddot"; + break; + } + + character\character_atlas_elete::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_elete::precache(); + precacheitem("iw5_kf5loot_sp"); + precacheitem("iw5_kf5loot_sp_opticstargetenhancer"); + precacheitem("iw5_kf5loot_sp_variablereddot"); + precacheitem("iw5_kf5loot_sp_opticsacog2"); + precacheitem("iw5_kf5loot_sp_opticsreddot"); + precacheitem("iw5_titan45loot_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_atlas_elite_lmg.gsc b/AW/PC/aitype/enemy_atlas_elite_lmg.gsc new file mode 100644 index 0000000..2fc8a10 --- /dev/null +++ b/AW/PC/aitype/enemy_atlas_elite_lmg.gsc @@ -0,0 +1,79 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_atlas_elite_lmg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:58:01 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "elite"; + self.accuracy = 0.2; + self.health = 1000; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45loot_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(6)) + { + case 0: + self.weapon = "iw5_asawloot_sp"; + break; + + case 1: + self.weapon = "iw5_asawloot_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_asawloot_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_asawloot_sp_opticsthermal"; + break; + + case 4: + self.weapon = "iw5_asawloot_sp_variablereddot"; + break; + + case 5: + self.weapon = "iw5_asawloot_sp_opticstargetenhancer"; + break; + } + + character\character_atlas_elete::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_elete::precache(); + precacheitem("iw5_asawloot_sp"); + precacheitem("iw5_asawloot_sp_opticsacog2"); + precacheitem("iw5_asawloot_sp_opticsreddot"); + precacheitem("iw5_asawloot_sp_opticsthermal"); + precacheitem("iw5_asawloot_sp_variablereddot"); + precacheitem("iw5_asawloot_sp_opticstargetenhancer"); + precacheitem("iw5_titan45loot_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_atlas_elite_rpg.gsc b/AW/PC/aitype/enemy_atlas_elite_rpg.gsc new file mode 100644 index 0000000..b3b7536 --- /dev/null +++ b/AW/PC/aitype/enemy_atlas_elite_rpg.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_atlas_elite_rpg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:58:02 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "elite"; + self.accuracy = 0.2; + self.health = 1000; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45loot_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_mahem_sp"; + character\character_atlas_elete::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_elete::precache(); + precacheitem("iw5_mahem_sp"); + precacheitem("iw5_titan45loot_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_atlas_elite_shotgun.gsc b/AW/PC/aitype/enemy_atlas_elite_shotgun.gsc new file mode 100644 index 0000000..2bfa1a6 --- /dev/null +++ b/AW/PC/aitype/enemy_atlas_elite_shotgun.gsc @@ -0,0 +1,69 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_atlas_elite_shotgun.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 60 ms + * Timestamp: 4/22/2024 1:58:02 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "elite"; + self.accuracy = 0.2; + self.health = 1000; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45loot_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(4)) + { + case 0: + self.weapon = "iw5_uts19loot_sp"; + break; + + case 1: + self.weapon = "iw5_uts19loot_sp_opticstargetenhancer"; + break; + + case 2: + self.weapon = "iw5_uts19loot_sp_foregrip"; + break; + + case 3: + self.weapon = "iw5_uts19loot_sp_opticsreddot"; + break; + } + + character\character_atlas_elete::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_elete::precache(); + precacheitem("iw5_uts19loot_sp"); + precacheitem("iw5_uts19loot_sp_opticstargetenhancer"); + precacheitem("iw5_uts19loot_sp_foregrip"); + precacheitem("iw5_uts19loot_sp_opticsreddot"); + precacheitem("iw5_titan45loot_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_atlas_elite_smg.gsc b/AW/PC/aitype/enemy_atlas_elite_smg.gsc new file mode 100644 index 0000000..4af6f3d --- /dev/null +++ b/AW/PC/aitype/enemy_atlas_elite_smg.gsc @@ -0,0 +1,74 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_atlas_elite_smg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 1:58:03 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "elite"; + self.accuracy = 0.2; + self.health = 1000; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45loot_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(5)) + { + case 0: + self.weapon = "iw5_kf5loot_sp"; + break; + + case 1: + self.weapon = "iw5_kf5loot_sp_opticstargetenhancer"; + break; + + case 2: + self.weapon = "iw5_kf5loot_sp_variablereddot"; + break; + + case 3: + self.weapon = "iw5_kf5loot_sp_opticsacog2"; + break; + + case 4: + self.weapon = "iw5_kf5loot_sp_opticsreddot"; + break; + } + + character\character_atlas_elete::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_elete::precache(); + precacheitem("iw5_kf5loot_sp"); + precacheitem("iw5_kf5loot_sp_opticstargetenhancer"); + precacheitem("iw5_kf5loot_sp_variablereddot"); + precacheitem("iw5_kf5loot_sp_opticsacog2"); + precacheitem("iw5_kf5loot_sp_opticsreddot"); + precacheitem("iw5_titan45loot_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_atlas_elite_smg_captured.gsc b/AW/PC/aitype/enemy_atlas_elite_smg_captured.gsc new file mode 100644 index 0000000..3547fbd --- /dev/null +++ b/AW/PC/aitype/enemy_atlas_elite_smg_captured.gsc @@ -0,0 +1,59 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_atlas_elite_smg_captured.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 1:58:03 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "elite"; + self.accuracy = 0.2; + self.health = 1000; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45pickup_sp_xmags"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(2)) + { + case 0: + self.weapon = "iw5_sn6pickup_sp_xmags"; + break; + + case 1: + self.weapon = "iw5_hmr9pickup_sp_xmags"; + break; + } + + character\character_atlas_elete::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_elete::precache(); + precacheitem("iw5_sn6pickup_sp_xmags"); + precacheitem("iw5_hmr9pickup_sp_xmags"); + precacheitem("iw5_titan45pickup_sp_xmags"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_atlas_jump_jet_ar.gsc b/AW/PC/aitype/enemy_atlas_jump_jet_ar.gsc new file mode 100644 index 0000000..af8c6b8 --- /dev/null +++ b/AW/PC/aitype/enemy_atlas_jump_jet_ar.gsc @@ -0,0 +1,99 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_atlas_jump_jet_ar.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 1:58:04 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(10)) + { + case 0: + self.weapon = "iw5_bal27_sp"; + break; + + case 1: + self.weapon = "iw5_bal27_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_bal27_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_bal27_sp_variablereddot"; + break; + + case 4: + self.weapon = "iw5_bal27_sp_opticstargetenhancer"; + break; + + case 5: + self.weapon = "iw5_himar_sp_himarscope"; + break; + + case 6: + self.weapon = "iw5_himar_sp_opticsacog2"; + break; + + case 7: + self.weapon = "iw5_himar_sp_opticsreddot"; + break; + + case 8: + self.weapon = "iw5_himar_sp_variablereddot"; + break; + + case 9: + self.weapon = "iw5_himar_sp_opticstargetenhancer"; + break; + } + + character\character_atlas_smg::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_smg::precache(); + precacheitem("iw5_bal27_sp"); + precacheitem("iw5_bal27_sp_opticsacog2"); + precacheitem("iw5_bal27_sp_opticsreddot"); + precacheitem("iw5_bal27_sp_variablereddot"); + precacheitem("iw5_bal27_sp_opticstargetenhancer"); + precacheitem("iw5_himar_sp_himarscope"); + precacheitem("iw5_himar_sp_opticsacog2"); + precacheitem("iw5_himar_sp_opticsreddot"); + precacheitem("iw5_himar_sp_variablereddot"); + precacheitem("iw5_himar_sp_opticstargetenhancer"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_atlas_jump_jet_rpg.gsc b/AW/PC/aitype/enemy_atlas_jump_jet_rpg.gsc new file mode 100644 index 0000000..0434fc5 --- /dev/null +++ b/AW/PC/aitype/enemy_atlas_jump_jet_rpg.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_atlas_jump_jet_rpg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 54 ms + * Timestamp: 4/22/2024 1:58:04 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_mahem_sp"; + character\character_atlas_smg::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_smg::precache(); + precacheitem("iw5_mahem_sp"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_atlas_jump_jet_smg.gsc b/AW/PC/aitype/enemy_atlas_jump_jet_smg.gsc new file mode 100644 index 0000000..5bddeff --- /dev/null +++ b/AW/PC/aitype/enemy_atlas_jump_jet_smg.gsc @@ -0,0 +1,124 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_atlas_jump_jet_smg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 59 ms + * Timestamp: 4/22/2024 1:58:04 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(15)) + { + case 0: + self.weapon = "iw5_sn6_sp"; + break; + + case 1: + self.weapon = "iw5_sn6_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_sn6_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_sn6_sp_variablereddot"; + break; + + case 4: + self.weapon = "iw5_sn6_sp_opticstargetenhancer"; + break; + + case 5: + self.weapon = "iw5_hmr9_sp"; + break; + + case 6: + self.weapon = "iw5_hmr9_sp_opticsacog2"; + break; + + case 7: + self.weapon = "iw5_hmr9_sp_opticsreddot"; + break; + + case 8: + self.weapon = "iw5_hmr9_sp_variablereddot"; + break; + + case 9: + self.weapon = "iw5_hmr9_sp_opticstargetenhancer"; + break; + + case 10: + self.weapon = "iw5_asm1_sp"; + break; + + case 11: + self.weapon = "iw5_asm1_sp_opticsacog2"; + break; + + case 12: + self.weapon = "iw5_asm1_sp_opticsreddot"; + break; + + case 13: + self.weapon = "iw5_asm1_sp_variablereddot"; + break; + + case 14: + self.weapon = "iw5_asm1_sp_opticstargetenhancer"; + break; + } + + character\character_atlas_smg::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_smg::precache(); + precacheitem("iw5_sn6_sp"); + precacheitem("iw5_sn6_sp_opticsacog2"); + precacheitem("iw5_sn6_sp_opticsreddot"); + precacheitem("iw5_sn6_sp_variablereddot"); + precacheitem("iw5_sn6_sp_opticstargetenhancer"); + precacheitem("iw5_hmr9_sp"); + precacheitem("iw5_hmr9_sp_opticsacog2"); + precacheitem("iw5_hmr9_sp_opticsreddot"); + precacheitem("iw5_hmr9_sp_variablereddot"); + precacheitem("iw5_hmr9_sp_opticstargetenhancer"); + precacheitem("iw5_asm1_sp"); + precacheitem("iw5_asm1_sp_opticsacog2"); + precacheitem("iw5_asm1_sp_opticsreddot"); + precacheitem("iw5_asm1_sp_variablereddot"); + precacheitem("iw5_asm1_sp_opticstargetenhancer"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_atlas_lmg.gsc b/AW/PC/aitype/enemy_atlas_lmg.gsc new file mode 100644 index 0000000..fe0d804 --- /dev/null +++ b/AW/PC/aitype/enemy_atlas_lmg.gsc @@ -0,0 +1,79 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_atlas_lmg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 1:58:05 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(6)) + { + case 0: + self.weapon = "iw5_asaw_sp"; + break; + + case 1: + self.weapon = "iw5_asaw_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_asaw_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_asaw_sp_opticsthermal"; + break; + + case 4: + self.weapon = "iw5_asaw_sp_variablereddot"; + break; + + case 5: + self.weapon = "iw5_asaw_sp_opticstargetenhancer"; + break; + } + + character\character_atlas_smg::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_smg::precache(); + precacheitem("iw5_asaw_sp"); + precacheitem("iw5_asaw_sp_opticsacog2"); + precacheitem("iw5_asaw_sp_opticsreddot"); + precacheitem("iw5_asaw_sp_opticsthermal"); + precacheitem("iw5_asaw_sp_variablereddot"); + precacheitem("iw5_asaw_sp_opticstargetenhancer"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_atlas_pmc_estate_smg.gsc b/AW/PC/aitype/enemy_atlas_pmc_estate_smg.gsc new file mode 100644 index 0000000..0fc37c2 --- /dev/null +++ b/AW/PC/aitype/enemy_atlas_pmc_estate_smg.gsc @@ -0,0 +1,47 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_atlas_pmc_estate_smg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 54 ms + * Timestamp: 4/22/2024 1:58:05 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_sn6_sp_opticsreddot_silencer01"; + character\character_atlas_pmc_estate_smg::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_pmc_estate_smg::precache(); + precacheitem("iw5_sn6_sp_opticsreddot_silencer01"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_atlas_rpg.gsc b/AW/PC/aitype/enemy_atlas_rpg.gsc new file mode 100644 index 0000000..2c8d09a --- /dev/null +++ b/AW/PC/aitype/enemy_atlas_rpg.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_atlas_rpg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:58:06 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_mahem_sp"; + character\character_atlas_smg::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_smg::precache(); + precacheitem("iw5_mahem_sp"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_atlas_rpg_lowlod.gsc b/AW/PC/aitype/enemy_atlas_rpg_lowlod.gsc new file mode 100644 index 0000000..f81f8cf --- /dev/null +++ b/AW/PC/aitype/enemy_atlas_rpg_lowlod.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_atlas_rpg_lowlod.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 56 ms + * Timestamp: 4/22/2024 1:58:06 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_mahem_sp"; + character\character_atlas_smg_lowlod::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_smg_lowlod::precache(); + precacheitem("iw5_mahem_sp"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_atlas_security_smg.gsc b/AW/PC/aitype/enemy_atlas_security_smg.gsc new file mode 100644 index 0000000..1834fd5 --- /dev/null +++ b/AW/PC/aitype/enemy_atlas_security_smg.gsc @@ -0,0 +1,74 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_atlas_security_smg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 1:58:06 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 250; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(5)) + { + case 0: + self.weapon = "iw5_kf5_sp"; + break; + + case 1: + self.weapon = "iw5_kf5_sp_opticstargetenhancer"; + break; + + case 2: + self.weapon = "iw5_kf5_sp_variablereddot"; + break; + + case 3: + self.weapon = "iw5_kf5_sp_opticsacog2"; + break; + + case 4: + self.weapon = "iw5_kf5_sp_opticsreddot"; + break; + } + + character\character_atlas_security_ar::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_security_ar::precache(); + precacheitem("iw5_kf5_sp"); + precacheitem("iw5_kf5_sp_opticstargetenhancer"); + precacheitem("iw5_kf5_sp_variablereddot"); + precacheitem("iw5_kf5_sp_opticsacog2"); + precacheitem("iw5_kf5_sp_opticsreddot"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_atlas_security_smg_captured.gsc b/AW/PC/aitype/enemy_atlas_security_smg_captured.gsc new file mode 100644 index 0000000..6c3b12d --- /dev/null +++ b/AW/PC/aitype/enemy_atlas_security_smg_captured.gsc @@ -0,0 +1,59 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_atlas_security_smg_captured.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 54 ms + * Timestamp: 4/22/2024 1:58:07 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 250; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45pickup_sp_xmags"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(2)) + { + case 0: + self.weapon = "iw5_sn6pickup_sp_xmags"; + break; + + case 1: + self.weapon = "iw5_hmr9pickup_sp_xmags"; + break; + } + + character\character_atlas_security_ar::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_security_ar::precache(); + precacheitem("iw5_sn6pickup_sp_xmags"); + precacheitem("iw5_hmr9pickup_sp_xmags"); + precacheitem("iw5_titan45pickup_sp_xmags"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_atlas_shotgun.gsc b/AW/PC/aitype/enemy_atlas_shotgun.gsc new file mode 100644 index 0000000..23b85b2 --- /dev/null +++ b/AW/PC/aitype/enemy_atlas_shotgun.gsc @@ -0,0 +1,69 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_atlas_shotgun.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:58:07 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(4)) + { + case 0: + self.weapon = "iw5_uts19_sp"; + break; + + case 1: + self.weapon = "iw5_uts19_sp_opticstargetenhancer"; + break; + + case 2: + self.weapon = "iw5_uts19_sp_foregrip"; + break; + + case 3: + self.weapon = "iw5_uts19_sp_opticsreddot"; + break; + } + + character\character_atlas_smg::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_smg::precache(); + precacheitem("iw5_uts19_sp"); + precacheitem("iw5_uts19_sp_opticstargetenhancer"); + precacheitem("iw5_uts19_sp_foregrip"); + precacheitem("iw5_uts19_sp_opticsreddot"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_atlas_smg.gsc b/AW/PC/aitype/enemy_atlas_smg.gsc new file mode 100644 index 0000000..f8ddcb2 --- /dev/null +++ b/AW/PC/aitype/enemy_atlas_smg.gsc @@ -0,0 +1,124 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_atlas_smg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:58:08 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(15)) + { + case 0: + self.weapon = "iw5_sn6_sp"; + break; + + case 1: + self.weapon = "iw5_sn6_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_sn6_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_sn6_sp_variablereddot"; + break; + + case 4: + self.weapon = "iw5_sn6_sp_opticstargetenhancer"; + break; + + case 5: + self.weapon = "iw5_hmr9_sp"; + break; + + case 6: + self.weapon = "iw5_hmr9_sp_opticsacog2"; + break; + + case 7: + self.weapon = "iw5_hmr9_sp_opticsreddot"; + break; + + case 8: + self.weapon = "iw5_hmr9_sp_variablereddot"; + break; + + case 9: + self.weapon = "iw5_hmr9_sp_opticstargetenhancer"; + break; + + case 10: + self.weapon = "iw5_asm1_sp"; + break; + + case 11: + self.weapon = "iw5_asm1_sp_opticsacog2"; + break; + + case 12: + self.weapon = "iw5_asm1_sp_opticsreddot"; + break; + + case 13: + self.weapon = "iw5_asm1_sp_variablereddot"; + break; + + case 14: + self.weapon = "iw5_asm1_sp_opticstargetenhancer"; + break; + } + + character\character_atlas_smg::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_smg::precache(); + precacheitem("iw5_sn6_sp"); + precacheitem("iw5_sn6_sp_opticsacog2"); + precacheitem("iw5_sn6_sp_opticsreddot"); + precacheitem("iw5_sn6_sp_variablereddot"); + precacheitem("iw5_sn6_sp_opticstargetenhancer"); + precacheitem("iw5_hmr9_sp"); + precacheitem("iw5_hmr9_sp_opticsacog2"); + precacheitem("iw5_hmr9_sp_opticsreddot"); + precacheitem("iw5_hmr9_sp_variablereddot"); + precacheitem("iw5_hmr9_sp_opticstargetenhancer"); + precacheitem("iw5_asm1_sp"); + precacheitem("iw5_asm1_sp_opticsacog2"); + precacheitem("iw5_asm1_sp_opticsreddot"); + precacheitem("iw5_asm1_sp_variablereddot"); + precacheitem("iw5_asm1_sp_opticstargetenhancer"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_atlas_smg_arctic.gsc b/AW/PC/aitype/enemy_atlas_smg_arctic.gsc new file mode 100644 index 0000000..69aa9d4 --- /dev/null +++ b/AW/PC/aitype/enemy_atlas_smg_arctic.gsc @@ -0,0 +1,124 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_atlas_smg_arctic.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 168 ms + * Timestamp: 4/22/2024 1:58:09 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(15)) + { + case 0: + self.weapon = "iw5_sn6_sp"; + break; + + case 1: + self.weapon = "iw5_sn6_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_sn6_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_sn6_sp_variablereddot"; + break; + + case 4: + self.weapon = "iw5_sn6_sp_opticstargetenhancer"; + break; + + case 5: + self.weapon = "iw5_hmr9_sp"; + break; + + case 6: + self.weapon = "iw5_hmr9_sp_opticsacog2"; + break; + + case 7: + self.weapon = "iw5_hmr9_sp_opticsreddot"; + break; + + case 8: + self.weapon = "iw5_hmr9_sp_variablereddot"; + break; + + case 9: + self.weapon = "iw5_hmr9_sp_opticstargetenhancer"; + break; + + case 10: + self.weapon = "iw5_asm1_sp"; + break; + + case 11: + self.weapon = "iw5_asm1_sp_opticsacog2"; + break; + + case 12: + self.weapon = "iw5_asm1_sp_opticsreddot"; + break; + + case 13: + self.weapon = "iw5_asm1_sp_variablereddot"; + break; + + case 14: + self.weapon = "iw5_asm1_sp_opticstargetenhancer"; + break; + } + + character\character_atlas_arctic_smg::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_arctic_smg::precache(); + precacheitem("iw5_sn6_sp"); + precacheitem("iw5_sn6_sp_opticsacog2"); + precacheitem("iw5_sn6_sp_opticsreddot"); + precacheitem("iw5_sn6_sp_variablereddot"); + precacheitem("iw5_sn6_sp_opticstargetenhancer"); + precacheitem("iw5_hmr9_sp"); + precacheitem("iw5_hmr9_sp_opticsacog2"); + precacheitem("iw5_hmr9_sp_opticsreddot"); + precacheitem("iw5_hmr9_sp_variablereddot"); + precacheitem("iw5_hmr9_sp_opticstargetenhancer"); + precacheitem("iw5_asm1_sp"); + precacheitem("iw5_asm1_sp_opticsacog2"); + precacheitem("iw5_asm1_sp_opticsreddot"); + precacheitem("iw5_asm1_sp_variablereddot"); + precacheitem("iw5_asm1_sp_opticstargetenhancer"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_atlas_smg_captured.gsc b/AW/PC/aitype/enemy_atlas_smg_captured.gsc new file mode 100644 index 0000000..02e7290 --- /dev/null +++ b/AW/PC/aitype/enemy_atlas_smg_captured.gsc @@ -0,0 +1,59 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_atlas_smg_captured.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:58:09 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45pickup_sp_xmags"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(2)) + { + case 0: + self.weapon = "iw5_sn6pickup_sp_xmags"; + break; + + case 1: + self.weapon = "iw5_hmr9pickup_sp_xmags"; + break; + } + + character\character_atlas_smg::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_smg::precache(); + precacheitem("iw5_sn6pickup_sp_xmags"); + precacheitem("iw5_hmr9pickup_sp_xmags"); + precacheitem("iw5_titan45pickup_sp_xmags"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_atlas_smg_captured_noexo.gsc b/AW/PC/aitype/enemy_atlas_smg_captured_noexo.gsc new file mode 100644 index 0000000..0113db8 --- /dev/null +++ b/AW/PC/aitype/enemy_atlas_smg_captured_noexo.gsc @@ -0,0 +1,59 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_atlas_smg_captured_noexo.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 54 ms + * Timestamp: 4/22/2024 1:58:09 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45pickup_sp_xmags"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(2)) + { + case 0: + self.weapon = "iw5_sn6pickup_sp_xmags"; + break; + + case 1: + self.weapon = "iw5_hmr9pickup_sp_xmags"; + break; + } + + character\character_atlas_noexo::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_noexo::precache(); + precacheitem("iw5_sn6pickup_sp_xmags"); + precacheitem("iw5_hmr9pickup_sp_xmags"); + precacheitem("iw5_titan45pickup_sp_xmags"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_atlas_smg_captured_pilot.gsc b/AW/PC/aitype/enemy_atlas_smg_captured_pilot.gsc new file mode 100644 index 0000000..d1a97f0 --- /dev/null +++ b/AW/PC/aitype/enemy_atlas_smg_captured_pilot.gsc @@ -0,0 +1,59 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_atlas_smg_captured_pilot.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 55 ms + * Timestamp: 4/22/2024 1:58:10 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45pickup_sp_xmags"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(2)) + { + case 0: + self.weapon = "iw5_sn6pickup_sp_xmags"; + break; + + case 1: + self.weapon = "iw5_hmr9pickup_sp_xmags"; + break; + } + + character\character_atlas_mech_pilot::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_mech_pilot::precache(); + precacheitem("iw5_sn6pickup_sp_xmags"); + precacheitem("iw5_hmr9pickup_sp_xmags"); + precacheitem("iw5_titan45pickup_sp_xmags"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_atlas_sniper.gsc b/AW/PC/aitype/enemy_atlas_sniper.gsc new file mode 100644 index 0000000..2647d82 --- /dev/null +++ b/AW/PC/aitype/enemy_atlas_sniper.gsc @@ -0,0 +1,65 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_atlas_sniper.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 1:58:10 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = "sniper_glint.csv"; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(768,700); + self setengagementmaxdist(1450,2100); + } + + switch(codescripts\character::get_random_weapon(3)) + { + case 0: + self.weapon = "iw5_thor_sp_thorscope"; + break; + + case 1: + self.weapon = "iw5_thor_sp_thorscopevz"; + break; + + case 2: + self.weapon = "iw5_thor_sp_thorstabilizer"; + break; + } + + character\character_atlas_smg::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_atlas_smg::precache(); + precacheitem("iw5_thor_sp_thorscope"); + precacheitem("iw5_thor_sp_thorscopevz"); + precacheitem("iw5_thor_sp_thorstabilizer"); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); + maps\_sniper_glint::main(); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_captured_doctor.gsc b/AW/PC/aitype/enemy_captured_doctor.gsc new file mode 100644 index 0000000..f950fab --- /dev/null +++ b/AW/PC/aitype/enemy_captured_doctor.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_captured_doctor.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:58:11 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 150; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45pickup_sp_xmags"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_sn6pickup_sp_xmags"; + character\character_doctor_cpt::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_doctor_cpt::precache(); + precacheitem("iw5_sn6pickup_sp_xmags"); + precacheitem("iw5_titan45pickup_sp_xmags"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_captured_tech.gsc b/AW/PC/aitype/enemy_captured_tech.gsc new file mode 100644 index 0000000..c601c0a --- /dev/null +++ b/AW/PC/aitype/enemy_captured_tech.gsc @@ -0,0 +1,47 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_captured_tech.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 51 ms + * Timestamp: 4/22/2024 1:58:11 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 150; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45pickup_sp_xmags"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_doctor_cpt::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_doctor_cpt::precache(); + precacheitem("iw5_titan45pickup_sp_xmags"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_casual_irons.gsc b/AW/PC/aitype/enemy_casual_irons.gsc new file mode 100644 index 0000000..35ee03d --- /dev/null +++ b/AW/PC/aitype/enemy_casual_irons.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_casual_irons.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 51 ms + * Timestamp: 4/22/2024 1:58:11 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_casual_irons::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_casual_irons::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_casual_irons_bet_holo.gsc b/AW/PC/aitype/enemy_casual_irons_bet_holo.gsc new file mode 100644 index 0000000..b76104b --- /dev/null +++ b/AW/PC/aitype/enemy_casual_irons_bet_holo.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_casual_irons_bet_holo.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 55 ms + * Timestamp: 4/22/2024 1:58:12 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "allies"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 100; + self.grenadeweapon = ""; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_casual_irons_bet_holo::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("allies"); +} + +//Function Number: 3 +precache() +{ + character\character_casual_irons_bet_holo::precache(); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_coop_cloaked_static.gsc b/AW/PC/aitype/enemy_coop_cloaked_static.gsc new file mode 100644 index 0000000..fd78980 --- /dev/null +++ b/AW/PC/aitype/enemy_coop_cloaked_static.gsc @@ -0,0 +1,46 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_coop_cloaked_static.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 1:58:12 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 500; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 1; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_coop_cloaked_static::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_coop_cloaked_static::precache(); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_doctor.gsc b/AW/PC/aitype/enemy_doctor.gsc new file mode 100644 index 0000000..c1a9082 --- /dev/null +++ b/AW/PC/aitype/enemy_doctor.gsc @@ -0,0 +1,47 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_doctor.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 68 ms + * Timestamp: 4/22/2024 1:58:13 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 150; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_doctor::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_doctor::precache(); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_doctor_pas.gsc b/AW/PC/aitype/enemy_doctor_pas.gsc new file mode 100644 index 0000000..e4d9f0e --- /dev/null +++ b/AW/PC/aitype/enemy_doctor_pas.gsc @@ -0,0 +1,47 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_doctor_pas.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 65 ms + * Timestamp: 4/22/2024 1:58:13 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "neutral"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 150; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_doctor_pas::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("neutral"); +} + +//Function Number: 3 +precache() +{ + character\character_doctor_pas::precache(); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_dog.gsc b/AW/PC/aitype/enemy_dog.gsc new file mode 100644 index 0000000..55f65c7 --- /dev/null +++ b/AW/PC/aitype/enemy_dog.gsc @@ -0,0 +1,49 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_dog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 58 ms + * Timestamp: 4/22/2024 1:58:14 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = "dog.atr"; + self.additionalassets = "common_dogs.csv"; + self.team = "axis"; + self.type = "dog"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = "dog_bite"; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "dog_bite"; + character\character_sp_doberman_dog::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_sp_doberman_dog::precache(); + precacheitem("dog_bite"); + precacheitem("dog_bite"); + precacheitem("fraggrenade"); + animscripts\dog\dog_init::initdoganimations(); +} \ No newline at end of file diff --git a/AW/PC/SP/aitype/enemy_dprk_ar.gsc b/AW/PC/aitype/enemy_dprk_ar.gsc similarity index 72% rename from AW/PC/SP/aitype/enemy_dprk_ar.gsc rename to AW/PC/aitype/enemy_dprk_ar.gsc index 9f4fb8d..c161049 100644 --- a/AW/PC/SP/aitype/enemy_dprk_ar.gsc +++ b/AW/PC/aitype/enemy_dprk_ar.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: aitype\enemy_dprk_ar.gsc + * Decompiled File: enemy_dprk_ar.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 62 ms - * Timestamp: 10/27/2023 1:52:50 AM + * Decompile Time: 64 ms + * Timestamp: 4/22/2024 1:58:14 AM *******************************************************************/ //Function Number: 1 @@ -31,35 +31,47 @@ main() switch(codescripts\character::get_random_weapon(10)) { case 0: + self.weapon = "iw5_ak12_sp"; break; case 1: + self.weapon = "iw5_ak12_sp_opticsacog2"; break; case 2: + self.weapon = "iw5_ak12_sp_opticsreddot"; break; case 3: + self.weapon = "iw5_ak12_sp_variablereddot"; break; case 4: + self.weapon = "iw5_ak12_sp_opticstargetenhancer"; break; case 5: + self.weapon = "iw5_arx160_sp"; break; case 6: + self.weapon = "iw5_arx160_sp_opticsacog2"; break; case 7: + self.weapon = "iw5_arx160_sp_opticsreddot"; break; case 8: + self.weapon = "iw5_arx160_sp_variablereddot"; break; case 9: + self.weapon = "iw5_arx160_sp_opticstargetenhancer"; break; } + + character\character_dprk_ar::main(); } //Function Number: 2 diff --git a/AW/PC/SP/aitype/enemy_dprk_rpg.gsc b/AW/PC/aitype/enemy_dprk_rpg.gsc similarity index 89% rename from AW/PC/SP/aitype/enemy_dprk_rpg.gsc rename to AW/PC/aitype/enemy_dprk_rpg.gsc index 2570e42..c57eb36 100644 --- a/AW/PC/SP/aitype/enemy_dprk_rpg.gsc +++ b/AW/PC/aitype/enemy_dprk_rpg.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: aitype\enemy_dprk_rpg.gsc + * Decompiled File: enemy_dprk_rpg.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 68 ms - * Timestamp: 10/27/2023 1:52:51 AM + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:58:15 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/aitype/enemy_dprk_shotgun.gsc b/AW/PC/aitype/enemy_dprk_shotgun.gsc similarity index 79% rename from AW/PC/SP/aitype/enemy_dprk_shotgun.gsc rename to AW/PC/aitype/enemy_dprk_shotgun.gsc index 8371d92..b5d3bd6 100644 --- a/AW/PC/SP/aitype/enemy_dprk_shotgun.gsc +++ b/AW/PC/aitype/enemy_dprk_shotgun.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: aitype\enemy_dprk_shotgun.gsc + * Decompiled File: enemy_dprk_shotgun.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 59 ms - * Timestamp: 10/27/2023 1:52:52 AM + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 1:58:15 AM *******************************************************************/ //Function Number: 1 @@ -31,14 +31,19 @@ main() switch(codescripts\character::get_random_weapon(3)) { case 0: + self.weapon = "iw5_maul_sp"; break; case 1: + self.weapon = "iw5_maul_sp_opticsreddot"; break; case 2: + self.weapon = "iw5_maul_sp_opticstargetenhancer"; break; } + + character\character_dprk_shotgun::main(); } //Function Number: 2 diff --git a/AW/PC/SP/aitype/enemy_dprk_smg.gsc b/AW/PC/aitype/enemy_dprk_smg.gsc similarity index 77% rename from AW/PC/SP/aitype/enemy_dprk_smg.gsc rename to AW/PC/aitype/enemy_dprk_smg.gsc index 112828a..7827a19 100644 --- a/AW/PC/SP/aitype/enemy_dprk_smg.gsc +++ b/AW/PC/aitype/enemy_dprk_smg.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: aitype\enemy_dprk_smg.gsc + * Decompiled File: enemy_dprk_smg.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 63 ms - * Timestamp: 10/27/2023 1:52:52 AM + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 1:58:15 AM *******************************************************************/ //Function Number: 1 @@ -31,20 +31,27 @@ main() switch(codescripts\character::get_random_weapon(5)) { case 0: + self.weapon = "iw5_kf5_sp"; break; case 1: + self.weapon = "iw5_kf5_sp_opticsacog2"; break; case 2: + self.weapon = "iw5_kf5_sp_opticsreddot"; break; case 3: + self.weapon = "iw5_kf5_sp_opticstargetenhancer"; break; case 4: + self.weapon = "iw5_kf5_sp_variablereddot"; break; } + + character\character_dprk_smg::main(); } //Function Number: 2 diff --git a/AW/PC/aitype/enemy_kva_ar.gsc b/AW/PC/aitype/enemy_kva_ar.gsc new file mode 100644 index 0000000..7924cb8 --- /dev/null +++ b/AW/PC/aitype/enemy_kva_ar.gsc @@ -0,0 +1,124 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_kva_ar.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 60 ms + * Timestamp: 4/22/2024 1:58:16 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_vbr_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(15)) + { + case 0: + self.weapon = "iw5_ak12_sp"; + break; + + case 1: + self.weapon = "iw5_ak12_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_ak12_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_ak12_sp_variablereddot"; + break; + + case 4: + self.weapon = "iw5_ak12_sp_opticstargetenhancer"; + break; + + case 5: + self.weapon = "iw5_arx160_sp"; + break; + + case 6: + self.weapon = "iw5_arx160_sp_opticsacog2"; + break; + + case 7: + self.weapon = "iw5_arx160_sp_opticsreddot"; + break; + + case 8: + self.weapon = "iw5_arx160_sp_variablereddot"; + break; + + case 9: + self.weapon = "iw5_arx160_sp_opticstargetenhancer"; + break; + + case 10: + self.weapon = "iw5_m182spr_sp"; + break; + + case 11: + self.weapon = "iw5_m182spr_sp_opticsacog2"; + break; + + case 12: + self.weapon = "iw5_m182spr_sp_opticsreddot"; + break; + + case 13: + self.weapon = "iw5_m182spr_sp_variablereddot"; + break; + + case 14: + self.weapon = "iw5_m182spr_sp_opticstargetenhancer"; + break; + } + + character\character_kva_ar::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_kva_ar::precache(); + precacheitem("iw5_ak12_sp"); + precacheitem("iw5_ak12_sp_opticsacog2"); + precacheitem("iw5_ak12_sp_opticsreddot"); + precacheitem("iw5_ak12_sp_variablereddot"); + precacheitem("iw5_ak12_sp_opticstargetenhancer"); + precacheitem("iw5_arx160_sp"); + precacheitem("iw5_arx160_sp_opticsacog2"); + precacheitem("iw5_arx160_sp_opticsreddot"); + precacheitem("iw5_arx160_sp_variablereddot"); + precacheitem("iw5_arx160_sp_opticstargetenhancer"); + precacheitem("iw5_m182spr_sp"); + precacheitem("iw5_m182spr_sp_opticsacog2"); + precacheitem("iw5_m182spr_sp_opticsreddot"); + precacheitem("iw5_m182spr_sp_variablereddot"); + precacheitem("iw5_m182spr_sp_opticstargetenhancer"); + precacheitem("iw5_vbr_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_kva_ar_recovery.gsc b/AW/PC/aitype/enemy_kva_ar_recovery.gsc new file mode 100644 index 0000000..52e4153 --- /dev/null +++ b/AW/PC/aitype/enemy_kva_ar_recovery.gsc @@ -0,0 +1,124 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_kva_ar_recovery.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 62 ms + * Timestamp: 4/22/2024 1:58:16 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_vbr_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(15)) + { + case 0: + self.weapon = "iw5_ak12_sp"; + break; + + case 1: + self.weapon = "iw5_ak12_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_ak12_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_ak12_sp_variablereddot"; + break; + + case 4: + self.weapon = "iw5_ak12_sp_opticstargetenhancer"; + break; + + case 5: + self.weapon = "iw5_ak12_sp"; + break; + + case 6: + self.weapon = "iw5_ak12_sp_opticsacog2"; + break; + + case 7: + self.weapon = "iw5_ak12_sp_opticsreddot"; + break; + + case 8: + self.weapon = "iw5_ak12_sp_variablereddot"; + break; + + case 9: + self.weapon = "iw5_ak12_sp_opticstargetenhancer"; + break; + + case 10: + self.weapon = "iw5_ak12_sp"; + break; + + case 11: + self.weapon = "iw5_ak12_sp_opticsacog2"; + break; + + case 12: + self.weapon = "iw5_ak12_sp_opticsreddot"; + break; + + case 13: + self.weapon = "iw5_ak12_sp_variablereddot"; + break; + + case 14: + self.weapon = "iw5_ak12_sp_opticstargetenhancer"; + break; + } + + character\character_kva_ar::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_kva_ar::precache(); + precacheitem("iw5_ak12_sp"); + precacheitem("iw5_ak12_sp_opticsacog2"); + precacheitem("iw5_ak12_sp_opticsreddot"); + precacheitem("iw5_ak12_sp_variablereddot"); + precacheitem("iw5_ak12_sp_opticstargetenhancer"); + precacheitem("iw5_ak12_sp"); + precacheitem("iw5_ak12_sp_opticsacog2"); + precacheitem("iw5_ak12_sp_opticsreddot"); + precacheitem("iw5_ak12_sp_variablereddot"); + precacheitem("iw5_ak12_sp_opticstargetenhancer"); + precacheitem("iw5_ak12_sp"); + precacheitem("iw5_ak12_sp_opticsacog2"); + precacheitem("iw5_ak12_sp_opticsreddot"); + precacheitem("iw5_ak12_sp_variablereddot"); + precacheitem("iw5_ak12_sp_opticstargetenhancer"); + precacheitem("iw5_vbr_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_kva_civ_ar.gsc b/AW/PC/aitype/enemy_kva_civ_ar.gsc new file mode 100644 index 0000000..4de790c --- /dev/null +++ b/AW/PC/aitype/enemy_kva_civ_ar.gsc @@ -0,0 +1,139 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_kva_civ_ar.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 56 ms + * Timestamp: 4/22/2024 1:58:17 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_vbr_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(15)) + { + case 0: + self.weapon = "iw5_ak12_sp"; + break; + + case 1: + self.weapon = "iw5_ak12_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_ak12_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_ak12_sp_variablereddot"; + break; + + case 4: + self.weapon = "iw5_ak12_sp_opticstargetenhancer"; + break; + + case 5: + self.weapon = "iw5_arx160_sp"; + break; + + case 6: + self.weapon = "iw5_arx160_sp_opticsacog2"; + break; + + case 7: + self.weapon = "iw5_arx160_sp_opticsreddot"; + break; + + case 8: + self.weapon = "iw5_arx160_sp_variablereddot"; + break; + + case 9: + self.weapon = "iw5_arx160_sp_opticstargetenhancer"; + break; + + case 10: + self.weapon = "iw5_m182spr_sp"; + break; + + case 11: + self.weapon = "iw5_m182spr_sp_opticsacog2"; + break; + + case 12: + self.weapon = "iw5_m182spr_sp_opticsreddot"; + break; + + case 13: + self.weapon = "iw5_m182spr_sp_variablereddot"; + break; + + case 14: + self.weapon = "iw5_m182spr_sp_opticstargetenhancer"; + break; + } + + switch(codescripts\character::get_random_character(3)) + { + case 0: + character\character_kva_civ_a::main(); + break; + + case 1: + character\character_kva_civ_b::main(); + break; + + case 2: + character\character_kva_civ_c::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_kva_civ_a::precache(); + character\character_kva_civ_b::precache(); + character\character_kva_civ_c::precache(); + precacheitem("iw5_ak12_sp"); + precacheitem("iw5_ak12_sp_opticsacog2"); + precacheitem("iw5_ak12_sp_opticsreddot"); + precacheitem("iw5_ak12_sp_variablereddot"); + precacheitem("iw5_ak12_sp_opticstargetenhancer"); + precacheitem("iw5_arx160_sp"); + precacheitem("iw5_arx160_sp_opticsacog2"); + precacheitem("iw5_arx160_sp_opticsreddot"); + precacheitem("iw5_arx160_sp_variablereddot"); + precacheitem("iw5_arx160_sp_opticstargetenhancer"); + precacheitem("iw5_m182spr_sp"); + precacheitem("iw5_m182spr_sp_opticsacog2"); + precacheitem("iw5_m182spr_sp_opticsreddot"); + precacheitem("iw5_m182spr_sp_variablereddot"); + precacheitem("iw5_m182spr_sp_opticstargetenhancer"); + precacheitem("iw5_vbr_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_kva_civ_lmg.gsc b/AW/PC/aitype/enemy_kva_civ_lmg.gsc new file mode 100644 index 0000000..55921ee --- /dev/null +++ b/AW/PC/aitype/enemy_kva_civ_lmg.gsc @@ -0,0 +1,89 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_kva_civ_lmg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 56 ms + * Timestamp: 4/22/2024 1:58:17 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_vbr_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(5)) + { + case 0: + self.weapon = "iw5_lsat_sp"; + break; + + case 1: + self.weapon = "iw5_lsat_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_lsat_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_lsat_sp_opticstargetenhancer"; + break; + + case 4: + self.weapon = "iw5_lsat_sp_variablereddot"; + break; + } + + switch(codescripts\character::get_random_character(3)) + { + case 0: + character\character_kva_civ_a::main(); + break; + + case 1: + character\character_kva_civ_b::main(); + break; + + case 2: + character\character_kva_civ_c::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_kva_civ_a::precache(); + character\character_kva_civ_b::precache(); + character\character_kva_civ_c::precache(); + precacheitem("iw5_lsat_sp"); + precacheitem("iw5_lsat_sp_opticsacog2"); + precacheitem("iw5_lsat_sp_opticsreddot"); + precacheitem("iw5_lsat_sp_opticstargetenhancer"); + precacheitem("iw5_lsat_sp_variablereddot"); + precacheitem("iw5_vbr_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_kva_civ_rpg.gsc b/AW/PC/aitype/enemy_kva_civ_rpg.gsc new file mode 100644 index 0000000..0bec9e3 --- /dev/null +++ b/AW/PC/aitype/enemy_kva_civ_rpg.gsc @@ -0,0 +1,64 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_kva_civ_rpg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 1:58:17 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = "iw5_ak12_sp"; + self.sidearm = "iw5_vbr_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_mahem_sp"; + switch(codescripts\character::get_random_character(3)) + { + case 0: + character\character_kva_civ_a::main(); + break; + + case 1: + character\character_kva_civ_b::main(); + break; + + case 2: + character\character_kva_civ_c::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_kva_civ_a::precache(); + character\character_kva_civ_b::precache(); + character\character_kva_civ_c::precache(); + precacheitem("iw5_mahem_sp"); + precacheitem("iw5_ak12_sp"); + precacheitem("iw5_vbr_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_kva_civ_smg.gsc b/AW/PC/aitype/enemy_kva_civ_smg.gsc new file mode 100644 index 0000000..41c1b06 --- /dev/null +++ b/AW/PC/aitype/enemy_kva_civ_smg.gsc @@ -0,0 +1,114 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_kva_civ_smg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 1:58:18 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_vbr_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(10)) + { + case 0: + self.weapon = "iw5_kf5_sp"; + break; + + case 1: + self.weapon = "iw5_kf5_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_kf5_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_kf5_sp_opticstargetenhancer"; + break; + + case 4: + self.weapon = "iw5_kf5_sp_variablereddot"; + break; + + case 5: + self.weapon = "iw5_mp11_sp"; + break; + + case 6: + self.weapon = "iw5_mp11_sp_opticsacog2"; + break; + + case 7: + self.weapon = "iw5_mp11_sp_opticsreddot"; + break; + + case 8: + self.weapon = "iw5_mp11_sp_opticstargetenhancer"; + break; + + case 9: + self.weapon = "iw5_mp11_sp_variablereddot"; + break; + } + + switch(codescripts\character::get_random_character(3)) + { + case 0: + character\character_kva_civ_a::main(); + break; + + case 1: + character\character_kva_civ_b::main(); + break; + + case 2: + character\character_kva_civ_c::main(); + break; + } +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_kva_civ_a::precache(); + character\character_kva_civ_b::precache(); + character\character_kva_civ_c::precache(); + precacheitem("iw5_kf5_sp"); + precacheitem("iw5_kf5_sp_opticsacog2"); + precacheitem("iw5_kf5_sp_opticsreddot"); + precacheitem("iw5_kf5_sp_opticstargetenhancer"); + precacheitem("iw5_kf5_sp_variablereddot"); + precacheitem("iw5_mp11_sp"); + precacheitem("iw5_mp11_sp_opticsacog2"); + precacheitem("iw5_mp11_sp_opticsreddot"); + precacheitem("iw5_mp11_sp_opticstargetenhancer"); + precacheitem("iw5_mp11_sp_variablereddot"); + precacheitem("iw5_vbr_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_kva_hazmat_ar.gsc b/AW/PC/aitype/enemy_kva_hazmat_ar.gsc new file mode 100644 index 0000000..84e205d --- /dev/null +++ b/AW/PC/aitype/enemy_kva_hazmat_ar.gsc @@ -0,0 +1,124 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_kva_hazmat_ar.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:58:18 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_vbr_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(15)) + { + case 0: + self.weapon = "iw5_ak12_sp"; + break; + + case 1: + self.weapon = "iw5_ak12_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_ak12_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_ak12_sp_variablereddot"; + break; + + case 4: + self.weapon = "iw5_ak12_sp_opticstargetenhancer"; + break; + + case 5: + self.weapon = "iw5_arx160_sp"; + break; + + case 6: + self.weapon = "iw5_arx160_sp_opticsacog2"; + break; + + case 7: + self.weapon = "iw5_arx160_sp_opticsreddot"; + break; + + case 8: + self.weapon = "iw5_arx160_sp_variablereddot"; + break; + + case 9: + self.weapon = "iw5_arx160_sp_opticstargetenhancer"; + break; + + case 10: + self.weapon = "iw5_m182spr_sp"; + break; + + case 11: + self.weapon = "iw5_m182spr_sp_opticsacog2"; + break; + + case 12: + self.weapon = "iw5_m182spr_sp_opticsreddot"; + break; + + case 13: + self.weapon = "iw5_m182spr_sp_variablereddot"; + break; + + case 14: + self.weapon = "iw5_m182spr_sp_opticstargetenhancer"; + break; + } + + character\character_kva_hazmat::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_kva_hazmat::precache(); + precacheitem("iw5_ak12_sp"); + precacheitem("iw5_ak12_sp_opticsacog2"); + precacheitem("iw5_ak12_sp_opticsreddot"); + precacheitem("iw5_ak12_sp_variablereddot"); + precacheitem("iw5_ak12_sp_opticstargetenhancer"); + precacheitem("iw5_arx160_sp"); + precacheitem("iw5_arx160_sp_opticsacog2"); + precacheitem("iw5_arx160_sp_opticsreddot"); + precacheitem("iw5_arx160_sp_variablereddot"); + precacheitem("iw5_arx160_sp_opticstargetenhancer"); + precacheitem("iw5_m182spr_sp"); + precacheitem("iw5_m182spr_sp_opticsacog2"); + precacheitem("iw5_m182spr_sp_opticsreddot"); + precacheitem("iw5_m182spr_sp_variablereddot"); + precacheitem("iw5_m182spr_sp_opticstargetenhancer"); + precacheitem("iw5_vbr_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_kva_hazmat_lmg.gsc b/AW/PC/aitype/enemy_kva_hazmat_lmg.gsc new file mode 100644 index 0000000..bf82e1f --- /dev/null +++ b/AW/PC/aitype/enemy_kva_hazmat_lmg.gsc @@ -0,0 +1,74 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_kva_hazmat_lmg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 59 ms + * Timestamp: 4/22/2024 1:58:19 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_vbr_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(5)) + { + case 0: + self.weapon = "iw5_lsat_sp"; + break; + + case 1: + self.weapon = "iw5_lsat_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_lsat_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_lsat_sp_opticstargetenhancer"; + break; + + case 4: + self.weapon = "iw5_lsat_sp_variablereddot"; + break; + } + + character\character_kva_hazmat::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_kva_hazmat::precache(); + precacheitem("iw5_lsat_sp"); + precacheitem("iw5_lsat_sp_opticsacog2"); + precacheitem("iw5_lsat_sp_opticsreddot"); + precacheitem("iw5_lsat_sp_opticstargetenhancer"); + precacheitem("iw5_lsat_sp_variablereddot"); + precacheitem("iw5_vbr_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_kva_hazmat_nohat.gsc b/AW/PC/aitype/enemy_kva_hazmat_nohat.gsc new file mode 100644 index 0000000..bbfc7ad --- /dev/null +++ b/AW/PC/aitype/enemy_kva_hazmat_nohat.gsc @@ -0,0 +1,47 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_kva_hazmat_nohat.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:58:19 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 250; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_kva_hazmat_nohat::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_kva_hazmat_nohat::precache(); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_kva_hazmat_shotgun.gsc b/AW/PC/aitype/enemy_kva_hazmat_shotgun.gsc new file mode 100644 index 0000000..c4777b0 --- /dev/null +++ b/AW/PC/aitype/enemy_kva_hazmat_shotgun.gsc @@ -0,0 +1,79 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_kva_hazmat_shotgun.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 65 ms + * Timestamp: 4/22/2024 1:58:19 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_vbr_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(6)) + { + case 0: + self.weapon = "iw5_maul_sp"; + break; + + case 1: + self.weapon = "iw5_maul_sp_opticsreddot"; + break; + + case 2: + self.weapon = "iw5_maul_sp_opticstargetenhancer"; + break; + + case 3: + self.weapon = "iw5_rhino_sp"; + break; + + case 4: + self.weapon = "iw5_rhino_sp_opticsreddot"; + break; + + case 5: + self.weapon = "iw5_rhino_sp_opticstargetenhancer"; + break; + } + + character\character_kva_hazmat::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_kva_hazmat::precache(); + precacheitem("iw5_maul_sp"); + precacheitem("iw5_maul_sp_opticsreddot"); + precacheitem("iw5_maul_sp_opticstargetenhancer"); + precacheitem("iw5_rhino_sp"); + precacheitem("iw5_rhino_sp_opticsreddot"); + precacheitem("iw5_rhino_sp_opticstargetenhancer"); + precacheitem("iw5_vbr_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_kva_hazmat_smg.gsc b/AW/PC/aitype/enemy_kva_hazmat_smg.gsc new file mode 100644 index 0000000..550c53f --- /dev/null +++ b/AW/PC/aitype/enemy_kva_hazmat_smg.gsc @@ -0,0 +1,99 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_kva_hazmat_smg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 56 ms + * Timestamp: 4/22/2024 1:58:20 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_vbr_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(10)) + { + case 0: + self.weapon = "iw5_kf5_sp"; + break; + + case 1: + self.weapon = "iw5_kf5_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_kf5_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_kf5_sp_opticstargetenhancer"; + break; + + case 4: + self.weapon = "iw5_kf5_sp_variablereddot"; + break; + + case 5: + self.weapon = "iw5_mp11_sp"; + break; + + case 6: + self.weapon = "iw5_mp11_sp_opticsacog2"; + break; + + case 7: + self.weapon = "iw5_mp11_sp_opticsreddot"; + break; + + case 8: + self.weapon = "iw5_mp11_sp_opticstargetenhancer"; + break; + + case 9: + self.weapon = "iw5_mp11_sp_variablereddot"; + break; + } + + character\character_kva_hazmat::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_kva_hazmat::precache(); + precacheitem("iw5_kf5_sp"); + precacheitem("iw5_kf5_sp_opticsacog2"); + precacheitem("iw5_kf5_sp_opticsreddot"); + precacheitem("iw5_kf5_sp_opticstargetenhancer"); + precacheitem("iw5_kf5_sp_variablereddot"); + precacheitem("iw5_mp11_sp"); + precacheitem("iw5_mp11_sp_opticsacog2"); + precacheitem("iw5_mp11_sp_opticsreddot"); + precacheitem("iw5_mp11_sp_opticstargetenhancer"); + precacheitem("iw5_mp11_sp_variablereddot"); + precacheitem("iw5_vbr_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_kva_leader_hades.gsc b/AW/PC/aitype/enemy_kva_leader_hades.gsc new file mode 100644 index 0000000..3b753a8 --- /dev/null +++ b/AW/PC/aitype/enemy_kva_leader_hades.gsc @@ -0,0 +1,47 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_kva_leader_hades.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 55 ms + * Timestamp: 4/22/2024 1:58:20 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_titan45_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "none"; + character\character_kva_leader_hades::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_kva_leader_hades::precache(); + precacheitem("iw5_titan45_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_kva_lmg.gsc b/AW/PC/aitype/enemy_kva_lmg.gsc new file mode 100644 index 0000000..dd83922 --- /dev/null +++ b/AW/PC/aitype/enemy_kva_lmg.gsc @@ -0,0 +1,74 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_kva_lmg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:58:21 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_vbr_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(5)) + { + case 0: + self.weapon = "iw5_lsat_sp"; + break; + + case 1: + self.weapon = "iw5_lsat_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_lsat_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_lsat_sp_opticstargetenhancer"; + break; + + case 4: + self.weapon = "iw5_lsat_sp_variablereddot"; + break; + } + + character\character_kva_lmg::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_kva_lmg::precache(); + precacheitem("iw5_lsat_sp"); + precacheitem("iw5_lsat_sp_opticsacog2"); + precacheitem("iw5_lsat_sp_opticsreddot"); + precacheitem("iw5_lsat_sp_opticstargetenhancer"); + precacheitem("iw5_lsat_sp_variablereddot"); + precacheitem("iw5_vbr_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_kva_rpg.gsc b/AW/PC/aitype/enemy_kva_rpg.gsc new file mode 100644 index 0000000..2d30d57 --- /dev/null +++ b/AW/PC/aitype/enemy_kva_rpg.gsc @@ -0,0 +1,49 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_kva_rpg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 54 ms + * Timestamp: 4/22/2024 1:58:21 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = "iw5_ak12_sp"; + self.sidearm = "iw5_vbr_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + self.weapon = "iw5_mahem_sp"; + character\character_kva_smg::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_kva_smg::precache(); + precacheitem("iw5_mahem_sp"); + precacheitem("iw5_ak12_sp"); + precacheitem("iw5_vbr_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_kva_shotgun.gsc b/AW/PC/aitype/enemy_kva_shotgun.gsc new file mode 100644 index 0000000..9cd21a0 --- /dev/null +++ b/AW/PC/aitype/enemy_kva_shotgun.gsc @@ -0,0 +1,79 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_kva_shotgun.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 54 ms + * Timestamp: 4/22/2024 1:58:21 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_vbr_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(6)) + { + case 0: + self.weapon = "iw5_maul_sp"; + break; + + case 1: + self.weapon = "iw5_maul_sp_opticsreddot"; + break; + + case 2: + self.weapon = "iw5_maul_sp_opticstargetenhancer"; + break; + + case 3: + self.weapon = "iw5_rhino_sp"; + break; + + case 4: + self.weapon = "iw5_rhino_sp_opticsreddot"; + break; + + case 5: + self.weapon = "iw5_rhino_sp_opticstargetenhancer"; + break; + } + + character\character_kva_shotgun::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_kva_shotgun::precache(); + precacheitem("iw5_maul_sp"); + precacheitem("iw5_maul_sp_opticsreddot"); + precacheitem("iw5_maul_sp_opticstargetenhancer"); + precacheitem("iw5_rhino_sp"); + precacheitem("iw5_rhino_sp_opticsreddot"); + precacheitem("iw5_rhino_sp_opticstargetenhancer"); + precacheitem("iw5_vbr_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_kva_shotgun_recovery.gsc b/AW/PC/aitype/enemy_kva_shotgun_recovery.gsc new file mode 100644 index 0000000..bf45d87 --- /dev/null +++ b/AW/PC/aitype/enemy_kva_shotgun_recovery.gsc @@ -0,0 +1,79 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_kva_shotgun_recovery.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 54 ms + * Timestamp: 4/22/2024 1:58:22 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_vbr_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(6)) + { + case 0: + self.weapon = "iw5_rhino_sp"; + break; + + case 1: + self.weapon = "iw5_rhino_sp_opticsreddot"; + break; + + case 2: + self.weapon = "iw5_rhino_sp_opticstargetenhancer"; + break; + + case 3: + self.weapon = "iw5_rhino_sp"; + break; + + case 4: + self.weapon = "iw5_rhino_sp_opticsreddot"; + break; + + case 5: + self.weapon = "iw5_rhino_sp_opticstargetenhancer"; + break; + } + + character\character_kva_shotgun::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_kva_shotgun::precache(); + precacheitem("iw5_rhino_sp"); + precacheitem("iw5_rhino_sp_opticsreddot"); + precacheitem("iw5_rhino_sp_opticstargetenhancer"); + precacheitem("iw5_rhino_sp"); + precacheitem("iw5_rhino_sp_opticsreddot"); + precacheitem("iw5_rhino_sp_opticstargetenhancer"); + precacheitem("iw5_vbr_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_kva_smg.gsc b/AW/PC/aitype/enemy_kva_smg.gsc new file mode 100644 index 0000000..7cb740e --- /dev/null +++ b/AW/PC/aitype/enemy_kva_smg.gsc @@ -0,0 +1,99 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_kva_smg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 59 ms + * Timestamp: 4/22/2024 1:58:22 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_vbr_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(10)) + { + case 0: + self.weapon = "iw5_kf5_sp"; + break; + + case 1: + self.weapon = "iw5_kf5_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_kf5_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_kf5_sp_opticstargetenhancer"; + break; + + case 4: + self.weapon = "iw5_kf5_sp_variablereddot"; + break; + + case 5: + self.weapon = "iw5_mp11_sp"; + break; + + case 6: + self.weapon = "iw5_mp11_sp_opticsacog2"; + break; + + case 7: + self.weapon = "iw5_mp11_sp_opticsreddot"; + break; + + case 8: + self.weapon = "iw5_mp11_sp_opticstargetenhancer"; + break; + + case 9: + self.weapon = "iw5_mp11_sp_variablereddot"; + break; + } + + character\character_kva_smg::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_kva_smg::precache(); + precacheitem("iw5_kf5_sp"); + precacheitem("iw5_kf5_sp_opticsacog2"); + precacheitem("iw5_kf5_sp_opticsreddot"); + precacheitem("iw5_kf5_sp_opticstargetenhancer"); + precacheitem("iw5_kf5_sp_variablereddot"); + precacheitem("iw5_mp11_sp"); + precacheitem("iw5_mp11_sp_opticsacog2"); + precacheitem("iw5_mp11_sp_opticsreddot"); + precacheitem("iw5_mp11_sp_opticstargetenhancer"); + precacheitem("iw5_mp11_sp_variablereddot"); + precacheitem("iw5_vbr_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_kva_smg_recovery.gsc b/AW/PC/aitype/enemy_kva_smg_recovery.gsc new file mode 100644 index 0000000..a96daf4 --- /dev/null +++ b/AW/PC/aitype/enemy_kva_smg_recovery.gsc @@ -0,0 +1,99 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_kva_smg_recovery.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 72 ms + * Timestamp: 4/22/2024 1:58:23 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = ""; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_vbr_sp"; + if(isai(self)) + { + self setengagementmindist(256,0); + self setengagementmaxdist(768,1024); + } + + switch(codescripts\character::get_random_weapon(10)) + { + case 0: + self.weapon = "iw5_kf5_sp"; + break; + + case 1: + self.weapon = "iw5_kf5_sp_opticsacog2"; + break; + + case 2: + self.weapon = "iw5_kf5_sp_opticsreddot"; + break; + + case 3: + self.weapon = "iw5_kf5_sp_opticstargetenhancer"; + break; + + case 4: + self.weapon = "iw5_kf5_sp_variablereddot"; + break; + + case 5: + self.weapon = "iw5_kf5_sp"; + break; + + case 6: + self.weapon = "iw5_kf5_sp_opticsacog2"; + break; + + case 7: + self.weapon = "iw5_kf5_sp_opticsreddot"; + break; + + case 8: + self.weapon = "iw5_kf5_sp_opticstargetenhancer"; + break; + + case 9: + self.weapon = "iw5_kf5_sp_variablereddot"; + break; + } + + character\character_kva_smg::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_kva_smg::precache(); + precacheitem("iw5_kf5_sp"); + precacheitem("iw5_kf5_sp_opticsacog2"); + precacheitem("iw5_kf5_sp_opticsreddot"); + precacheitem("iw5_kf5_sp_opticstargetenhancer"); + precacheitem("iw5_kf5_sp_variablereddot"); + precacheitem("iw5_kf5_sp"); + precacheitem("iw5_kf5_sp_opticsacog2"); + precacheitem("iw5_kf5_sp_opticsreddot"); + precacheitem("iw5_kf5_sp_opticstargetenhancer"); + precacheitem("iw5_kf5_sp_variablereddot"); + precacheitem("iw5_vbr_sp"); + precacheitem("fraggrenade"); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_kva_sniper.gsc b/AW/PC/aitype/enemy_kva_sniper.gsc new file mode 100644 index 0000000..aaffbea --- /dev/null +++ b/AW/PC/aitype/enemy_kva_sniper.gsc @@ -0,0 +1,75 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_kva_sniper.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 60 ms + * Timestamp: 4/22/2024 1:58:23 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = "sniper_glint.csv"; + self.team = "axis"; + self.type = "human"; + self.subclass = "regular"; + self.accuracy = 0.2; + self.health = 200; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = "iw5_vbr_sp"; + if(isai(self)) + { + self setengagementmindist(1250,1024); + self setengagementmaxdist(1600,2400); + } + + switch(codescripts\character::get_random_weapon(5)) + { + case 0: + self.weapon = "iw5_m990_sp_m990scope"; + break; + + case 1: + self.weapon = "iw5_m990_sp_m990scopevz"; + break; + + case 2: + self.weapon = "iw5_m990_sp_m990stabilizer"; + break; + + case 3: + self.weapon = "iw5_m990_sp_opticsacog2"; + break; + + case 4: + self.weapon = "iw5_m990_sp_opticsthermal"; + break; + } + + character\character_kva_ar::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_kva_ar::precache(); + precacheitem("iw5_m990_sp_m990scope"); + precacheitem("iw5_m990_sp_m990scopevz"); + precacheitem("iw5_m990_sp_m990stabilizer"); + precacheitem("iw5_m990_sp_opticsacog2"); + precacheitem("iw5_m990_sp_opticsthermal"); + precacheitem("iw5_vbr_sp"); + precacheitem("fraggrenade"); + maps\_sniper_glint::main(); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_mech.gsc b/AW/PC/aitype/enemy_mech.gsc new file mode 100644 index 0000000..63ea252 --- /dev/null +++ b/AW/PC/aitype/enemy_mech.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_mech.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 56 ms + * Timestamp: 4/22/2024 1:58:24 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = "mech.csv"; + self.team = "axis"; + self.type = "mech"; + self.subclass = "mech"; + self.accuracy = 0.2; + self.health = 4500; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(512,0); + self setengagementmaxdist(2056,2056); + } + + self.weapon = "exo_minigun"; + character\character_mech::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_mech::precache(); + precacheitem("exo_minigun"); + precacheitem("fraggrenade"); + maps\_mech::main(); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_mech_long_lod.gsc b/AW/PC/aitype/enemy_mech_long_lod.gsc new file mode 100644 index 0000000..ab69a4d --- /dev/null +++ b/AW/PC/aitype/enemy_mech_long_lod.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_mech_long_lod.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:58:24 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = "mech.csv"; + self.team = "axis"; + self.type = "mech"; + self.subclass = "mech"; + self.accuracy = 0.2; + self.health = 4500; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(512,0); + self setengagementmaxdist(2056,2056); + } + + self.weapon = "exo_minigun"; + character\character_mech_long_lod::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_mech_long_lod::precache(); + precacheitem("exo_minigun"); + precacheitem("fraggrenade"); + maps\_mech::main(); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_mech_scaled.gsc b/AW/PC/aitype/enemy_mech_scaled.gsc new file mode 100644 index 0000000..dbd2024 --- /dev/null +++ b/AW/PC/aitype/enemy_mech_scaled.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_mech_scaled.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 63 ms + * Timestamp: 4/22/2024 1:58:24 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = "mech.csv"; + self.team = "axis"; + self.type = "mech"; + self.subclass = "mech"; + self.accuracy = 0.2; + self.health = 4500; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(512,0); + self setengagementmaxdist(1024,1024); + } + + self.weapon = "exo_minigun_scaled"; + character\character_mech_scaled::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_mech_scaled::precache(); + precacheitem("exo_minigun_scaled"); + precacheitem("fraggrenade"); + maps\_mech::main(); +} \ No newline at end of file diff --git a/AW/PC/aitype/enemy_mech_skinny.gsc b/AW/PC/aitype/enemy_mech_skinny.gsc new file mode 100644 index 0000000..77d3ea0 --- /dev/null +++ b/AW/PC/aitype/enemy_mech_skinny.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: enemy_mech_skinny.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 64 ms + * Timestamp: 4/22/2024 1:58:25 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animtree = ""; + self.additionalassets = "mech.csv"; + self.team = "axis"; + self.type = "human"; + self.subclass = "mech"; + self.accuracy = 0.2; + self.health = 4500; + self.grenadeweapon = "fraggrenade"; + self.grenadeammo = 0; + self.secondaryweapon = ""; + self.sidearm = ""; + if(isai(self)) + { + self setengagementmindist(512,0); + self setengagementmaxdist(2056,2056); + } + + self.weapon = "exo_minigun"; + character\character_mech::main(); +} + +//Function Number: 2 +spawner() +{ + self setspawnerteam("axis"); +} + +//Function Number: 3 +precache() +{ + character\character_mech::precache(); + precacheitem("exo_minigun"); + precacheitem("fraggrenade"); + maps\_mech::main(); +} \ No newline at end of file diff --git a/AW/PC/SP/animscripts/animmode.gsc b/AW/PC/animscripts/animmode.gsc similarity index 96% rename from AW/PC/SP/animscripts/animmode.gsc rename to AW/PC/animscripts/animmode.gsc index a019c75..7cbfdb0 100644 --- a/AW/PC/SP/animscripts/animmode.gsc +++ b/AW/PC/animscripts/animmode.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\animmode.gsc + * Decompiled File: animmode.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 45 ms - * Timestamp: 10/27/2023 1:54:14 AM + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 1:59:48 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/animset.gsc b/AW/PC/animscripts/animset.gsc similarity index 99% rename from AW/PC/SP/animscripts/animset.gsc rename to AW/PC/animscripts/animset.gsc index 3fedd23..e6c0f07 100644 --- a/AW/PC/SP/animscripts/animset.gsc +++ b/AW/PC/animscripts/animset.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\animset.gsc + * Decompiled File: animset.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 56 - * Decompile Time: 964 ms - * Timestamp: 10/27/2023 1:54:17 AM + * Decompile Time: 796 ms + * Timestamp: 4/22/2024 1:59:51 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/battlechatter.gsc b/AW/PC/animscripts/battlechatter.gsc similarity index 88% rename from AW/PC/SP/animscripts/battlechatter.gsc rename to AW/PC/animscripts/battlechatter.gsc index fec110e..2a05368 100644 --- a/AW/PC/SP/animscripts/battlechatter.gsc +++ b/AW/PC/animscripts/battlechatter.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\battlechatter.gsc + * Decompiled File: battlechatter.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 174 - * Decompile Time: 2827 ms - * Timestamp: 10/27/2023 1:54:26 AM + * Decompile Time: 2485 ms + * Timestamp: 4/22/2024 1:59:58 AM *******************************************************************/ //Function Number: 1 @@ -648,17 +648,32 @@ bcsenabled() bcsdebugwaiter() { var_00 = getdvarint("bcs_enable"); - var_01 = getdvarint("bcs_enable"); - if(var_01 != var_00) + for(;;) { - switch(var_01) + var_01 = getdvarint("bcs_enable"); + if(var_01 != var_00) { - case 1: - break; + switch(var_01) + { + case 1: + if(!level.chatinitialized) + { + enablebattlechatter(); + } + break; + + case 0: + if(level.chatinitialized) + { + disablebattlechatter(); + } + break; + } - case 0: - break; + var_00 = var_01; } + + wait(1); } } @@ -785,21 +800,27 @@ playbattlechatter() switch(var_00) { case "custom": + thread playcustomevent(); break; case "response": + thread playresponseevent(); break; case "order": + thread playorderevent(); break; case "threat": + thread playthreatevent(); break; case "reaction": + thread playreactionevent(); break; case "inform": + thread playinformevent(); break; } } @@ -827,14 +848,42 @@ playthreatevent() switch(self.chatqueue["threat"].eventtype) { case "infantry": + if(isplayer(var_00) || !isdefined(var_00 getturret())) + { + var_01 = threatinfantry(var_00); + } + else + { + } break; case "dog": + var_01 = threatdog(var_00); break; case "vehicle": break; } + + self notify("done speaking"); + if(!var_01) + { + return; + } + + if(!isalive(var_00)) + { + return; + } + + var_00.calledout[self.squad.squadname] = spawnstruct(); + var_00.calledout[self.squad.squadname].spotter = self; + var_00.calledout[self.squad.squadname].threattype = self.chatqueue["threat"].eventtype; + var_00.calledout[self.squad.squadname].expiretime = gettime() + level.bcs_threatresettime; + if(isdefined(var_00.squad)) + { + self.squad.squadlist[var_00.squad.squadname].calledout = 1; + } } //Function Number: 18 @@ -867,62 +916,272 @@ threatinfantry(param_00,param_01) switch(var_03.type) { case "rpg": + var_02 threatinfantryrpg(param_00); break; case "exposed": + var_04 = doexposedcalloutresponse(var_03.responder); + if(var_04 && cansayname(var_03.responder)) + { + var_02 addnamealias(var_03.responder.bcname); + var_02.looktarget = var_03.responder; + } + + var_02 threatinfantryexposed(param_00); + if(var_04) + { + if(randomint(100) < level.eventchance["response"]["callout_negative"]) + { + var_03.responder animscripts\battlechatter_ai::addresponseevent("callout","neg",self,0.9); + } + else + { + var_03.responder animscripts\battlechatter_ai::addresponseevent("exposed","acquired",self,0.9); + } + } break; case "player_obvious": + var_02 addplayernamealias(); + var_02 addthreatobviousalias(); break; case "player_distance": + var_05 = getdistanceyardsnormalized(level.player.origin,param_00.origin); + var_02 addplayernamealias(); + var_02 addthreatdistancealias(var_05); break; case "player_contact_clock": + var_02 addplayernamealias(); + var_02 addthreatcalloutalias("contactclock",var_03.playerclockdirection); break; case "player_target_clock": + var_02 addplayernamealias(); + var_02 addthreatcalloutalias("targetclock",var_03.playerclockdirection); break; case "player_target_clock_high": + var_02 addplayernamealias(); + var_06 = getdegreeselevation(level.player.origin,param_00.origin); + if(var_06 >= 20 && var_06 <= 50) + { + var_02 addthreatcalloutalias("targetclock",var_03.playerclockdirection); + var_02 addthreatelevationalias(var_06); + } + else + { + var_02 addthreatcalloutalias("targetclock",var_03.playerclockdirection + "_high"); + } break; case "player_cardinal": + var_02 addplayernamealias(); + var_07 = getdirectioncompass(level.player.origin,param_00.origin); + var_08 = normalizecompassdirection(var_07); + if(var_08 == "impossible") + { + return 0; + } + + var_02 addthreatcalloutalias("cardinal",var_08); break; case "ai_obvious": + if(isdefined(var_03.responder) && cansayname(var_03.responder)) + { + var_02 addnamealias(var_03.responder.bcname); + var_02.looktarget = var_03.responder; + } + + var_02 addthreatobviousalias(); + var_02 addcalloutresponseevent(self,var_03,param_00); break; case "ai_distance": + var_09 = self; + if(self.team == "allies") + { + var_09 = level.player; + } + else if(isdefined(var_03.responder) && randomint(100) < level.eventchance["response"]["callout"]) + { + var_09 = var_03.responder; + } + + var_05 = getdistanceyardsnormalized(var_09.origin,param_00.origin); + var_02 addthreatdistancealias(var_05); + var_02 addcalloutresponseevent(self,var_03,param_00); break; case "ai_contact_clock": + var_09 = self; + if(self.team == "allies") + { + var_09 = level.player; + } + else if(isdefined(var_03.responder) && randomint(100) < level.eventchance["response"]["callout"]) + { + var_09 = var_03.responder; + } + + var_0A = getrelativeangles(var_09); + var_0B = getdirectionfacingclock(var_0A,var_09.origin,param_00.origin); + var_02 addthreatcalloutalias("contactclock",var_0B); + var_02 addcalloutresponseevent(self,var_03,param_00); break; case "ai_casual_clock": + var_09 = self; + if(self.team == "allies") + { + var_09 = level.player; + } + else if(isdefined(var_03.responder) && randomint(100) < level.eventchance["response"]["callout"]) + { + var_09 = var_03.responder; + } + + var_0A = getrelativeangles(var_09); + var_0B = getdirectionfacingclock(var_0A,var_09.origin,param_00.origin); + var_02 addthreatcalloutalias("casualclock",var_0B); + var_02 addcalloutresponseevent(self,var_03,param_00); break; case "ai_target_clock": + var_09 = self; + if(self.team == "allies") + { + var_09 = level.player; + } + else if(isdefined(var_03.responder) && randomint(100) < level.eventchance["response"]["callout"]) + { + var_09 = var_03.responder; + } + + var_0A = getrelativeangles(var_09); + var_0B = getdirectionfacingclock(var_0A,var_09.origin,param_00.origin); + var_02 addthreatcalloutalias("targetclock",var_0B); + var_02 addcalloutresponseevent(self,var_03,param_00); break; case "ai_target_clock_high": + var_09 = self; + if(self.team == "allies") + { + var_09 = level.player; + } + else if(isdefined(var_03.responder) && randomint(100) < level.eventchance["response"]["callout"]) + { + var_09 = var_03.responder; + } + + var_0A = getrelativeangles(var_09); + var_0B = getdirectionfacingclock(var_0A,var_09.origin,param_00.origin); + var_06 = getdegreeselevation(var_09.origin,param_00.origin); + if(var_06 >= 20 && var_06 <= 50) + { + var_02 addthreatcalloutalias("targetclock",var_0B); + var_02 addthreatelevationalias(var_06); + } + else + { + var_02 addthreatcalloutalias("targetclock",var_0B + "_high"); + } + + var_02 addcalloutresponseevent(self,var_03,param_00); break; case "ai_cardinal": + var_09 = self; + if(self.team == "allies") + { + var_09 = level.player; + } + + var_07 = getdirectioncompass(var_09.origin,param_00.origin); + var_08 = normalizecompassdirection(var_07); + if(var_08 == "impossible") + { + return 0; + } + + var_02 addthreatcalloutalias("cardinal",var_08); break; case "generic_location": + var_0C = var_02 threatinfantry_docalloutlocation(var_03); + if(!var_0C) + { + return 0; + } break; case "player_location": + var_02 addplayernamealias(); + var_0C = var_02 threatinfantry_docalloutlocation(var_03); + if(!var_0C) + { + return 0; + } break; case "concat_location": + var_02 addconcattargetalias(param_00); + var_09 = self; + if(self.team == "allies") + { + var_09 = level.player; + } + + var_0C = var_02 threatinfantry_docalloutlocation(var_03,1); + if(!var_0C) + { + return 0; + } + + var_02 addconcatdirectionalias(var_09,param_00); + var_02 addcalloutresponseevent(self,var_03,param_00); break; case "ai_location": + if(cansayname(var_03.responder)) + { + var_02 addnamealias(var_03.responder.bcname); + var_02.looktarget = var_03.responder; + } + + var_0C = var_02 threatinfantry_docalloutlocation(var_03); + if(!var_0C) + { + return 0; + } + + var_0D = var_02.soundaliases.size - 1; + var_0E = var_02.soundaliases[var_0D]; + if(iscallouttypereport(var_0E)) + { + var_03.responder animscripts\battlechatter_ai::addresponseevent("callout","echo",self,0.9,var_0E); + } + else if(iscallouttypeqa(var_0E,self)) + { + var_03.responder animscripts\battlechatter_ai::addresponseevent("callout","QA",self,0.9,var_0E,var_03.location); + } + else if(randomint(100) < level.eventchance["response"]["callout_negative"]) + { + var_03.responder animscripts\battlechatter_ai::addresponseevent("callout","neg",self,0.9); + } + else + { + var_03.responder animscripts\battlechatter_ai::addresponseevent("exposed","acquired",self,0.9); + } break; } + + setlastcallouttype(var_03.type); + playphrase(var_02); + return 1; } //Function Number: 20 @@ -1388,20 +1647,50 @@ playreactionevent() switch(self.chatqueue["reaction"].eventtype) { case "casualty": + reactioncasualty(var_00,var_01); break; case "taunt": + reactiontaunt(var_00,var_01); break; case "friendlyfire": + reactionfriendlyfire(var_00,var_01); break; case "takingfire": + reactiontakingfire(var_00,var_01); + if(common_scripts\utility::cointoss()) + { + var_02 = getresponder(64,1024,"response"); + if(isdefined(var_02)) + { + if(common_scripts\utility::cointoss()) + { + if(var_02 cansay("reaction","ask_ok",1,undefined)) + { + var_02 animscripts\battlechatter_ai::addreactionevent("ask_ok",undefined,self,1); + } + } + else + { + var_02 animscripts\battlechatter_ai::addresponseevent("covering","fire",self,1); + } + } + } break; case "ask_ok": + responsetakingfire(var_00,"ask","ok"); + var_02 = getresponder(64,1024,"response"); + if(isdefined(var_02)) + { + var_02 animscripts\battlechatter_ai::addresponseevent("im","ok",self,1); + } break; } + + self notify("done speaking"); } //Function Number: 41 @@ -1484,17 +1773,23 @@ playresponseevent() switch(self.chatqueue["response"].eventtype) { case "exposed": + responsethreatexposed(var_01,var_00); break; case "callout": + responsethreatcallout(var_01,var_00); break; case "ack": + responsegeneric(var_01,var_00); break; default: + responsegeneric(var_01,var_00); break; } + + self notify("done speaking"); } //Function Number: 47 @@ -1579,14 +1874,19 @@ playorderevent() switch(self.chatqueue["order"].eventtype) { case "action": + orderaction(var_00,var_01); break; case "move": + ordermove(var_00,var_01); break; case "displace": + orderdisplace(var_00); break; } + + self notify("done speaking"); } //Function Number: 51 @@ -1661,20 +1961,27 @@ playinformevent() switch(self.chatqueue["inform"].eventtype) { case "incoming": + informincoming(var_00); break; case "attack": + informattacking(var_00); break; case "reloading": + informreloading(var_00); break; case "suppressed": + informsuppressed(var_00); break; case "killfirm": + informkillfirm(var_00); break; } + + self notify("done speaking"); } //Function Number: 56 @@ -2625,35 +2932,46 @@ normalizecompassdirection(param_00) switch(param_00) { case "north": + var_01 = "n"; break; case "northwest": + var_01 = "nw"; break; case "west": + var_01 = "w"; break; case "southwest": + var_01 = "sw"; break; case "south": + var_01 = "s"; break; case "southeast": + var_01 = "se"; break; case "east": + var_01 = "e"; break; case "northeast": + var_01 = "ne"; break; case "impossible": + var_01 = "impossible"; break; default: break; } + + return var_01; } //Function Number: 103 @@ -2912,9 +3230,38 @@ addconcatdirectionalias(param_00,param_01) switch(var_02) { case "absolute": + var_03 = getdirectioncompass(level.player.origin,param_01.origin); + var_04 = normalizecompassdirection(var_03); + if(var_04 != "impossible" && var_04.size != 2) + { + var_05 = self.owner.countryid + "_" + self.owner.npcid + "_concat_dir_cmpss_" + var_04; + self.soundaliases[self.soundaliases.size] = var_05; + break; + } + break; case "relative": + var_06 = getrelativeangles(param_00); + var_07 = getdirectionfacingclock(var_06,param_00.origin,param_01.origin); + var_08 = int(var_07); + if(1 < var_08 && var_08 < 5 && common_scripts\utility::cointoss()) + { + var_05 = self.owner.countryid + "_" + self.owner.npcid + "_concat_dir_right"; + self.soundaliases[self.soundaliases.size] = var_05; + break; + } + else if(7 < var_08 && var_08 < 11 && common_scripts\utility::cointoss()) + { + var_05 = self.owner.countryid + "_" + self.owner.npcid + "_concat_dir_left"; + self.soundaliases[self.soundaliases.size] = var_05; + break; + } + else + { + var_05 = self.owner.countryid + "_" + self.owner.npcid + "_concat_dir_clock_" + var_07; + self.soundaliases[self.soundaliases.size] = var_05; + } break; } } diff --git a/AW/PC/SP/animscripts/battlechatter_ai.gsc b/AW/PC/animscripts/battlechatter_ai.gsc similarity index 96% rename from AW/PC/SP/animscripts/battlechatter_ai.gsc rename to AW/PC/animscripts/battlechatter_ai.gsc index 77f1354..3bbd837 100644 --- a/AW/PC/SP/animscripts/battlechatter_ai.gsc +++ b/AW/PC/animscripts/battlechatter_ai.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\battlechatter_ai.gsc + * Decompiled File: battlechatter_ai.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 58 - * Decompile Time: 925 ms - * Timestamp: 10/27/2023 1:54:29 AM + * Decompile Time: 845 ms + * Timestamp: 4/22/2024 2:00:01 AM *******************************************************************/ //Function Number: 1 @@ -144,8 +144,10 @@ forceenglish() switch(level.script) { case "pmc_strike": - break; + return 1; } + + return 0; } //Function Number: 4 @@ -441,8 +443,17 @@ addthreatevent(param_00,param_01,param_02) switch(param_00) { case "infantry": + var_03.threat = param_01; break; } + + if(isdefined(param_01.squad)) + { + self.squad animscripts\battlechatter::updatecontact(param_01.squad.squadname,self); + } + + self.chatqueue["threat"] = undefined; + self.chatqueue["threat"] = var_03; } //Function Number: 14 @@ -535,11 +546,17 @@ addinformevent(param_00,param_01,param_02,param_03) switch(param_00) { case "reloading": + var_04.modifier = param_01; + var_04.informto = param_02; break; default: + var_04.modifier = param_01; break; } + + self.chatqueue["inform"] = undefined; + self.chatqueue["inform"] = var_04; } //Function Number: 18 @@ -1154,8 +1171,10 @@ damage_is_valid_for_friendlyfire_warning(param_00,param_01) case "MOD_MELEE_ALT": case "MOD_GRENADE_SPLASH": case "MOD_GRENADE": - break; + return 0; } + + return 1; } //Function Number: 39 @@ -1352,20 +1371,40 @@ custom_battlechatter_internal(param_00) switch(var_01) { case "order_move_combat": + if(!nationalityokformoveorder()) + { + return 0; + } + + animscripts\battlechatter::tryorderto(self.customchatphrase,var_02); + addmovecombataliasex(); break; case "order_move_noncombat": + if(!nationalityokformoveordernoncombat()) + { + return 0; + } + + addmovenoncombataliasex(); break; case "order_action_coverme": + animscripts\battlechatter::tryorderto(self.customchatphrase,var_02); + addactioncovermealiasex(); break; case "inform_reloading": + addinformreloadingaliasex(); break; default: - break; + var_01 = get_phraseinvalidstr(var_01); + return 0; } + + endcustomevent(2000); + return 1; } //Function Number: 52 diff --git a/AW/PC/SP/animscripts/civilian.gsc b/AW/PC/animscripts/civilian.gsc similarity index 92% rename from AW/PC/SP/animscripts/civilian.gsc rename to AW/PC/animscripts/civilian.gsc index 8923fe9..2ec8893 100644 --- a/AW/PC/SP/animscripts/civilian.gsc +++ b/AW/PC/animscripts/civilian.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\civilian.gsc + * Decompiled File: civilian.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 4 - * Decompile Time: 74 ms - * Timestamp: 10/27/2023 1:54:30 AM + * Decompile Time: 67 ms + * Timestamp: 4/22/2024 2:00:01 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/civilian/civilian_combat.gsc b/AW/PC/animscripts/civilian/civilian_combat.gsc similarity index 71% rename from AW/PC/SP/animscripts/civilian/civilian_combat.gsc rename to AW/PC/animscripts/civilian/civilian_combat.gsc index 7ee7c2e..ee81f06 100644 --- a/AW/PC/SP/animscripts/civilian/civilian_combat.gsc +++ b/AW/PC/animscripts/civilian/civilian_combat.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\civilian\civilian_combat.gsc + * Decompiled File: civilian\civilian_combat.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 1:52:53 AM + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 1:58:35 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/civilian/civilian_cover_arrival.gsc b/AW/PC/animscripts/civilian/civilian_cover_arrival.gsc similarity index 76% rename from AW/PC/SP/animscripts/civilian/civilian_cover_arrival.gsc rename to AW/PC/animscripts/civilian/civilian_cover_arrival.gsc index 8b37e44..80ece08 100644 --- a/AW/PC/SP/animscripts/civilian/civilian_cover_arrival.gsc +++ b/AW/PC/animscripts/civilian/civilian_cover_arrival.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\civilian\civilian_cover_arrival.gsc + * Decompiled File: civilian\civilian_cover_arrival.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 * Decompile Time: 33 ms - * Timestamp: 10/27/2023 1:52:53 AM + * Timestamp: 4/22/2024 1:58:35 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/animscripts/civilian/civilian_cover_crouch.gsc b/AW/PC/animscripts/civilian/civilian_cover_crouch.gsc new file mode 100644 index 0000000..9b87239 --- /dev/null +++ b/AW/PC/animscripts/civilian/civilian_cover_crouch.gsc @@ -0,0 +1,15 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian\civilian_cover_crouch.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 1:58:36 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + animscripts\civilian::cover(); +} \ No newline at end of file diff --git a/AW/PC/SP/animscripts/civilian/civilian_cover_left.gsc b/AW/PC/animscripts/civilian/civilian_cover_left.gsc similarity index 70% rename from AW/PC/SP/animscripts/civilian/civilian_cover_left.gsc rename to AW/PC/animscripts/civilian/civilian_cover_left.gsc index c45b026..c55a2e3 100644 --- a/AW/PC/SP/animscripts/civilian/civilian_cover_left.gsc +++ b/AW/PC/animscripts/civilian/civilian_cover_left.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\civilian\civilian_cover_left.gsc + * Decompiled File: civilian\civilian_cover_left.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 34 ms - * Timestamp: 10/27/2023 1:52:54 AM + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 1:58:36 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/civilian/civilian_cover_prone.gsc b/AW/PC/animscripts/civilian/civilian_cover_prone.gsc similarity index 70% rename from AW/PC/SP/animscripts/civilian/civilian_cover_prone.gsc rename to AW/PC/animscripts/civilian/civilian_cover_prone.gsc index ca1242a..8b0f4b6 100644 --- a/AW/PC/SP/animscripts/civilian/civilian_cover_prone.gsc +++ b/AW/PC/animscripts/civilian/civilian_cover_prone.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\civilian\civilian_cover_prone.gsc + * Decompiled File: civilian\civilian_cover_prone.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:52:55 AM + * Decompile Time: 23 ms + * Timestamp: 4/22/2024 1:58:36 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/civilian/civilian_cover_right.gsc b/AW/PC/animscripts/civilian/civilian_cover_right.gsc similarity index 70% rename from AW/PC/SP/animscripts/civilian/civilian_cover_right.gsc rename to AW/PC/animscripts/civilian/civilian_cover_right.gsc index 474431f..3fbbaf2 100644 --- a/AW/PC/SP/animscripts/civilian/civilian_cover_right.gsc +++ b/AW/PC/animscripts/civilian/civilian_cover_right.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\civilian\civilian_cover_right.gsc + * Decompiled File: civilian\civilian_cover_right.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:52:55 AM + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 1:58:36 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/animscripts/civilian/civilian_cover_stand.gsc b/AW/PC/animscripts/civilian/civilian_cover_stand.gsc new file mode 100644 index 0000000..eb638ba --- /dev/null +++ b/AW/PC/animscripts/civilian/civilian_cover_stand.gsc @@ -0,0 +1,15 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian\civilian_cover_stand.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 1:58:37 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + animscripts\civilian::cover(); +} \ No newline at end of file diff --git a/AW/PC/SP/animscripts/civilian/civilian_death.gsc b/AW/PC/animscripts/civilian/civilian_death.gsc similarity index 71% rename from AW/PC/SP/animscripts/civilian/civilian_death.gsc rename to AW/PC/animscripts/civilian/civilian_death.gsc index 47eecdd..232cd37 100644 --- a/AW/PC/SP/animscripts/civilian/civilian_death.gsc +++ b/AW/PC/animscripts/civilian/civilian_death.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\civilian\civilian_death.gsc + * Decompiled File: civilian\civilian_death.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:52:56 AM + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 1:58:37 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/civilian/civilian_flashed.gsc b/AW/PC/animscripts/civilian/civilian_flashed.gsc similarity index 81% rename from AW/PC/SP/animscripts/civilian/civilian_flashed.gsc rename to AW/PC/animscripts/civilian/civilian_flashed.gsc index 3c703c3..0abf3e7 100644 --- a/AW/PC/SP/animscripts/civilian/civilian_flashed.gsc +++ b/AW/PC/animscripts/civilian/civilian_flashed.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\civilian\civilian_flashed.gsc + * Decompiled File: civilian\civilian_flashed.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 44 ms - * Timestamp: 10/27/2023 1:52:57 AM + * Decompile Time: 34 ms + * Timestamp: 4/22/2024 1:58:37 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/animscripts/civilian/civilian_grenade_response.gsc b/AW/PC/animscripts/civilian/civilian_grenade_response.gsc new file mode 100644 index 0000000..fd52efb --- /dev/null +++ b/AW/PC/animscripts/civilian/civilian_grenade_response.gsc @@ -0,0 +1,15 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian\civilian_grenade_response.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 1:58:37 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + animscripts\civilian::cover(); +} \ No newline at end of file diff --git a/AW/PC/SP/animscripts/civilian/civilian_init.gsc b/AW/PC/animscripts/civilian/civilian_init.gsc similarity index 98% rename from AW/PC/SP/animscripts/civilian/civilian_init.gsc rename to AW/PC/animscripts/civilian/civilian_init.gsc index 00d4333..a2d318b 100644 --- a/AW/PC/SP/animscripts/civilian/civilian_init.gsc +++ b/AW/PC/animscripts/civilian/civilian_init.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\civilian\civilian_init.gsc + * Decompiled File: civilian\civilian_init.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 9 - * Decompile Time: 152 ms - * Timestamp: 10/27/2023 1:52:58 AM + * Decompile Time: 112 ms + * Timestamp: 4/22/2024 1:58:38 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/civilian/civilian_move.gsc b/AW/PC/animscripts/civilian/civilian_move.gsc similarity index 95% rename from AW/PC/SP/animscripts/civilian/civilian_move.gsc rename to AW/PC/animscripts/civilian/civilian_move.gsc index 4409ab3..d77415c 100644 --- a/AW/PC/SP/animscripts/civilian/civilian_move.gsc +++ b/AW/PC/animscripts/civilian/civilian_move.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\civilian\civilian_move.gsc + * Decompiled File: civilian\civilian_move.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 4 - * Decompile Time: 78 ms - * Timestamp: 10/27/2023 1:52:59 AM + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:58:38 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/civilian/civilian_pain.gsc b/AW/PC/animscripts/civilian/civilian_pain.gsc similarity index 71% rename from AW/PC/SP/animscripts/civilian/civilian_pain.gsc rename to AW/PC/animscripts/civilian/civilian_pain.gsc index de1b28d..af85608 100644 --- a/AW/PC/SP/animscripts/civilian/civilian_pain.gsc +++ b/AW/PC/animscripts/civilian/civilian_pain.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\civilian\civilian_pain.gsc + * Decompiled File: civilian\civilian_pain.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 44 ms - * Timestamp: 10/27/2023 1:52:59 AM + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 1:58:39 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/civilian/civilian_reactions.gsc b/AW/PC/animscripts/civilian/civilian_reactions.gsc similarity index 70% rename from AW/PC/SP/animscripts/civilian/civilian_reactions.gsc rename to AW/PC/animscripts/civilian/civilian_reactions.gsc index 69c000e..9303f63 100644 --- a/AW/PC/SP/animscripts/civilian/civilian_reactions.gsc +++ b/AW/PC/animscripts/civilian/civilian_reactions.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\civilian\civilian_reactions.gsc + * Decompiled File: civilian\civilian_reactions.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:53:00 AM + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 1:58:39 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/civilian/civilian_scripted.gsc b/AW/PC/animscripts/civilian/civilian_scripted.gsc similarity index 70% rename from AW/PC/SP/animscripts/civilian/civilian_scripted.gsc rename to AW/PC/animscripts/civilian/civilian_scripted.gsc index 5b44bae..1b61f53 100644 --- a/AW/PC/SP/animscripts/civilian/civilian_scripted.gsc +++ b/AW/PC/animscripts/civilian/civilian_scripted.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\civilian\civilian_scripted.gsc + * Decompiled File: civilian\civilian_scripted.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 41 ms - * Timestamp: 10/27/2023 1:53:00 AM + * Decompile Time: 20 ms + * Timestamp: 4/22/2024 1:58:39 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/animscripts/civilian/civilian_stop.gsc b/AW/PC/animscripts/civilian/civilian_stop.gsc new file mode 100644 index 0000000..4463d4e --- /dev/null +++ b/AW/PC/animscripts/civilian/civilian_stop.gsc @@ -0,0 +1,15 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: civilian\civilian_stop.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 20 ms + * Timestamp: 4/22/2024 1:58:39 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + animscripts\civilian::stop(); +} \ No newline at end of file diff --git a/AW/PC/SP/animscripts/combat.gsc b/AW/PC/animscripts/combat.gsc similarity index 98% rename from AW/PC/SP/animscripts/combat.gsc rename to AW/PC/animscripts/combat.gsc index 4f971ba..72258e2 100644 --- a/AW/PC/SP/animscripts/combat.gsc +++ b/AW/PC/animscripts/combat.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\combat.gsc + * Decompiled File: combat.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 68 - * Decompile Time: 1098 ms - * Timestamp: 10/27/2023 1:54:33 AM + * Decompile Time: 1124 ms + * Timestamp: 4/22/2024 2:00:05 AM *******************************************************************/ //Function Number: 1 @@ -1647,23 +1647,53 @@ tryexposedreacquire() switch(self.reacquire_state) { case 0: + if(self reacquirestep(32)) + { + return; + } break; case 1: + if(self reacquirestep(64)) + { + self.reacquire_state = 0; + return; + } break; case 2: + if(self reacquirestep(96)) + { + self.reacquire_state = 0; + return; + } break; case 3: + if(animscripts\combat_utility::tryrunningtoenemy(0)) + { + self.reacquire_state = 0; + return; + } break; case 4: + if(!self cansee(self.enemy) || !self canshootenemy()) + { + self flagenemyunattackable(); + } break; default: + if(self.reacquire_state > 15) + { + self.reacquire_state = 0; + return; + } break; } + + self.reacquire_state++; } //Function Number: 66 diff --git a/AW/PC/SP/animscripts/combat_say.gsc b/AW/PC/animscripts/combat_say.gsc similarity index 79% rename from AW/PC/SP/animscripts/combat_say.gsc rename to AW/PC/animscripts/combat_say.gsc index 54a61cf..5a84076 100644 --- a/AW/PC/SP/animscripts/combat_say.gsc +++ b/AW/PC/animscripts/combat_say.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\combat_say.gsc + * Decompiled File: combat_say.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 57 ms - * Timestamp: 10/27/2023 1:54:34 AM + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:00:05 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/combat_utility.gsc b/AW/PC/animscripts/combat_utility.gsc similarity index 94% rename from AW/PC/SP/animscripts/combat_utility.gsc rename to AW/PC/animscripts/combat_utility.gsc index 7d2c19d..5338b3b 100644 --- a/AW/PC/SP/animscripts/combat_utility.gsc +++ b/AW/PC/animscripts/combat_utility.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\combat_utility.gsc + * Decompiled File: combat_utility.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 87 - * Decompile Time: 1456 ms - * Timestamp: 10/27/2023 1:54:39 AM + * Decompile Time: 1308 ms + * Timestamp: 4/22/2024 2:00:10 AM *******************************************************************/ //Function Number: 1 @@ -1157,12 +1157,119 @@ trygrenadethrow(param_00,param_01,param_02,param_03,param_04,param_05,param_06) { case "cover_crouch": case "none": + if(self.a.pose == "stand") + { + param_05 = (0,0,80); + var_07 = %stand_grenade_throw; + } + else + { + param_05 = (0,0,65); + var_07 = %crouch_grenade_throw; + } + + var_08 = "left"; break; default: + var_07 = undefined; + var_08 = undefined; break; } } + + if(!isdefined(var_07)) + { + return 0; + } + + if(isdefined(param_01)) + { + if(!isdefined(param_04)) + { + var_09 = self checkgrenadethrowpos(param_03,param_01,param_05,"min energy","min time","max time"); + } + else + { + var_09 = self checkgrenadethrowpos(param_04,param_02,param_06,"min time","min energy"); + } + } + else if(common_scripts\utility::flag("_cloaked_stealth_enabled")) + { + var_09 = self checkgrenadethrowpos(param_04,self lastknownpos(param_01),param_06,"min energy","min time","max time"); + } + else + { + var_0A = distance(param_01.origin,self.origin); + var_0B = self.randomgrenaderange; + if(var_0A < 800) + { + if(var_0A < 256) + { + var_0B = 0; + } + else + { + var_0B = var_0B * var_0A - 256 / 544; + } + } + + if(!isdefined(param_04)) + { + var_09 = self checkgrenadethrow(param_03,var_0B,"min energy","min time","max time"); + } + else + { + var_09 = self checkgrenadethrow(param_03,var_0B,"min time","min energy"); + } + } + + self.a.nextgrenadetrytime = gettime() + randomintrange(1000,2000); + if(isdefined(var_09)) + { + if(!isdefined(self.oldgrenawareness)) + { + self.oldgrenawareness = self.grenadeawareness; + } + + self.grenadeawareness = 0; + var_0C = getdesiredgrenadetimervalue(); + setgrenadetimer(self.activegrenadetimer,min(gettime() + 3000,var_0C)); + var_0D = 0; + if(usingplayergrenadetimer()) + { + param_00.numgrenadesinprogresstowardsplayer++; + thread reducegiptponkillanimscript(param_00); + if(param_00.numgrenadesinprogresstowardsplayer > 1) + { + var_0D = 1; + } + + if(self.activegrenadetimer.timername == "fraggrenade") + { + if(param_00.numgrenadesinprogresstowardsplayer <= 1) + { + param_00.lastfraggrenadetoplayerstart = gettime(); + } + } + } + + if(isdefined(param_06)) + { + thread dogrenadethrow(var_07,var_09,var_0C,var_0D); + } + else + { + dogrenadethrow(var_07,var_09,var_0C,var_0D); + } + + return 1; + } + else + { + } + + return 0; } //Function Number: 49 diff --git a/AW/PC/SP/animscripts/corner.gsc b/AW/PC/animscripts/corner.gsc similarity index 99% rename from AW/PC/SP/animscripts/corner.gsc rename to AW/PC/animscripts/corner.gsc index 9c33b56..c5718d2 100644 --- a/AW/PC/SP/animscripts/corner.gsc +++ b/AW/PC/animscripts/corner.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\corner.gsc + * Decompiled File: corner.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 60 - * Decompile Time: 950 ms - * Timestamp: 10/27/2023 1:54:42 AM + * Decompile Time: 886 ms + * Timestamp: 4/22/2024 2:00:13 AM *******************************************************************/ //Function Number: 1 @@ -1351,15 +1351,19 @@ getpredictedpathmidpoint(param_00) { case "cover_swim_left": case "cover_left": + var_03 = var_03 * 0 - var_01; break; case "cover_swim_right": case "cover_right": + var_03 = var_03 * var_01; break; default: break; } + + return self.covernode.origin + (var_03[0],var_03[1],0); } //Function Number: 45 diff --git a/AW/PC/SP/animscripts/cover_arrival.gsc b/AW/PC/animscripts/cover_arrival.gsc similarity index 99% rename from AW/PC/SP/animscripts/cover_arrival.gsc rename to AW/PC/animscripts/cover_arrival.gsc index ed40782..ce628d1 100644 --- a/AW/PC/SP/animscripts/cover_arrival.gsc +++ b/AW/PC/animscripts/cover_arrival.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\cover_arrival.gsc + * Decompiled File: cover_arrival.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 35 - * Decompile Time: 580 ms - * Timestamp: 10/27/2023 1:54:44 AM + * Decompile Time: 524 ms + * Timestamp: 4/22/2024 2:00:14 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/cover_behavior.gsc b/AW/PC/animscripts/cover_behavior.gsc similarity index 99% rename from AW/PC/SP/animscripts/cover_behavior.gsc rename to AW/PC/animscripts/cover_behavior.gsc index e4b0976..2559e2e 100644 --- a/AW/PC/SP/animscripts/cover_behavior.gsc +++ b/AW/PC/animscripts/cover_behavior.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\cover_behavior.gsc + * Decompiled File: cover_behavior.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 39 - * Decompile Time: 614 ms - * Timestamp: 10/27/2023 1:54:46 AM + * Decompile Time: 569 ms + * Timestamp: 4/22/2024 2:00:16 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/cover_crouch.gsc b/AW/PC/animscripts/cover_crouch.gsc similarity index 82% rename from AW/PC/SP/animscripts/cover_crouch.gsc rename to AW/PC/animscripts/cover_crouch.gsc index 25cc05d..d3f55f3 100644 --- a/AW/PC/SP/animscripts/cover_crouch.gsc +++ b/AW/PC/animscripts/cover_crouch.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\cover_crouch.gsc + * Decompiled File: cover_crouch.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 53 ms - * Timestamp: 10/27/2023 1:54:47 AM + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:00:17 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/cover_left.gsc b/AW/PC/animscripts/cover_left.gsc similarity index 97% rename from AW/PC/SP/animscripts/cover_left.gsc rename to AW/PC/animscripts/cover_left.gsc index 9f8e01c..e335e86 100644 --- a/AW/PC/SP/animscripts/cover_left.gsc +++ b/AW/PC/animscripts/cover_left.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\cover_left.gsc + * Decompiled File: cover_left.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 5 - * Decompile Time: 116 ms - * Timestamp: 10/27/2023 1:54:48 AM + * Decompile Time: 80 ms + * Timestamp: 4/22/2024 2:00:17 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/cover_multi.gsc b/AW/PC/animscripts/cover_multi.gsc similarity index 96% rename from AW/PC/SP/animscripts/cover_multi.gsc rename to AW/PC/animscripts/cover_multi.gsc index 39e55c2..3ada2fd 100644 --- a/AW/PC/SP/animscripts/cover_multi.gsc +++ b/AW/PC/animscripts/cover_multi.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\cover_multi.gsc + * Decompiled File: cover_multi.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 17 - * Decompile Time: 293 ms - * Timestamp: 10/27/2023 1:54:49 AM + * Decompile Time: 263 ms + * Timestamp: 4/22/2024 2:00:18 AM *******************************************************************/ //Function Number: 1 @@ -290,15 +290,19 @@ covermulti_exitstate(param_00) switch(param_00) { case "left": + animscripts\cover_left::end_script(); break; case "right": + animscripts\cover_right::end_script(); break; case "stand": + animscripts\cover_stand::end_script(); break; case "crouch": + animscripts\cover_crouch::end_script(); break; } } diff --git a/AW/PC/SP/animscripts/cover_prone.gsc b/AW/PC/animscripts/cover_prone.gsc similarity index 98% rename from AW/PC/SP/animscripts/cover_prone.gsc rename to AW/PC/animscripts/cover_prone.gsc index 22f5c60..5604aab 100644 --- a/AW/PC/SP/animscripts/cover_prone.gsc +++ b/AW/PC/animscripts/cover_prone.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\cover_prone.gsc + * Decompiled File: cover_prone.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 15 - * Decompile Time: 275 ms - * Timestamp: 10/27/2023 1:54:50 AM + * Decompile Time: 214 ms + * Timestamp: 4/22/2024 2:00:19 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/cover_right.gsc b/AW/PC/animscripts/cover_right.gsc similarity index 97% rename from AW/PC/SP/animscripts/cover_right.gsc rename to AW/PC/animscripts/cover_right.gsc index 1b2df3b..a62431b 100644 --- a/AW/PC/SP/animscripts/cover_right.gsc +++ b/AW/PC/animscripts/cover_right.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\cover_right.gsc + * Decompiled File: cover_right.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 5 - * Decompile Time: 98 ms - * Timestamp: 10/27/2023 1:54:51 AM + * Decompile Time: 105 ms + * Timestamp: 4/22/2024 2:00:20 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/cover_stand.gsc b/AW/PC/animscripts/cover_stand.gsc similarity index 81% rename from AW/PC/SP/animscripts/cover_stand.gsc rename to AW/PC/animscripts/cover_stand.gsc index b701e34..75882a2 100644 --- a/AW/PC/SP/animscripts/cover_stand.gsc +++ b/AW/PC/animscripts/cover_stand.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\cover_stand.gsc + * Decompiled File: cover_stand.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 44 ms - * Timestamp: 10/27/2023 1:54:51 AM + * Decompile Time: 38 ms + * Timestamp: 4/22/2024 2:00:20 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/cover_swim_left.gsc b/AW/PC/animscripts/cover_swim_left.gsc similarity index 91% rename from AW/PC/SP/animscripts/cover_swim_left.gsc rename to AW/PC/animscripts/cover_swim_left.gsc index df11ce4..0c64006 100644 --- a/AW/PC/SP/animscripts/cover_swim_left.gsc +++ b/AW/PC/animscripts/cover_swim_left.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\cover_swim_left.gsc + * Decompiled File: cover_swim_left.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 56 ms - * Timestamp: 10/27/2023 1:54:52 AM + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 2:00:21 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/cover_swim_right.gsc b/AW/PC/animscripts/cover_swim_right.gsc similarity index 91% rename from AW/PC/SP/animscripts/cover_swim_right.gsc rename to AW/PC/animscripts/cover_swim_right.gsc index 6cbec9f..85ccfbd 100644 --- a/AW/PC/SP/animscripts/cover_swim_right.gsc +++ b/AW/PC/animscripts/cover_swim_right.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\cover_swim_right.gsc + * Decompiled File: cover_swim_right.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 57 ms - * Timestamp: 10/27/2023 1:54:53 AM + * Decompile Time: 51 ms + * Timestamp: 4/22/2024 2:00:21 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/cover_swim_up.gsc b/AW/PC/animscripts/cover_swim_up.gsc similarity index 89% rename from AW/PC/SP/animscripts/cover_swim_up.gsc rename to AW/PC/animscripts/cover_swim_up.gsc index 3820d40..5308a37 100644 --- a/AW/PC/SP/animscripts/cover_swim_up.gsc +++ b/AW/PC/animscripts/cover_swim_up.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\cover_swim_up.gsc + * Decompiled File: cover_swim_up.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 58 ms - * Timestamp: 10/27/2023 1:54:53 AM + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 2:00:22 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/cover_wall.gsc b/AW/PC/animscripts/cover_wall.gsc similarity index 99% rename from AW/PC/SP/animscripts/cover_wall.gsc rename to AW/PC/animscripts/cover_wall.gsc index 2f899d4..f59df3c 100644 --- a/AW/PC/SP/animscripts/cover_wall.gsc +++ b/AW/PC/animscripts/cover_wall.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\cover_wall.gsc + * Decompiled File: cover_wall.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 40 - * Decompile Time: 681 ms - * Timestamp: 10/27/2023 1:54:56 AM + * Decompile Time: 557 ms + * Timestamp: 4/22/2024 2:00:23 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/cqb.gsc b/AW/PC/animscripts/cqb.gsc similarity index 98% rename from AW/PC/SP/animscripts/cqb.gsc rename to AW/PC/animscripts/cqb.gsc index eb2fb8f..bb246ed 100644 --- a/AW/PC/SP/animscripts/cqb.gsc +++ b/AW/PC/animscripts/cqb.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\cqb.gsc + * Decompiled File: cqb.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 8 - * Decompile Time: 145 ms - * Timestamp: 10/27/2023 1:54:56 AM + * Decompile Time: 141 ms + * Timestamp: 4/22/2024 2:00:24 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/animscripts/custom/snowmobile.gsc b/AW/PC/animscripts/custom/snowmobile.gsc new file mode 100644 index 0000000..c633706 --- /dev/null +++ b/AW/PC/animscripts/custom/snowmobile.gsc @@ -0,0 +1,918 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: custom\snowmobile.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 32 + * Decompile Time: 425 ms + * Timestamp: 4/22/2024 1:58:41 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.current_event = "none"; + self.shoot_while_driving_thread = undefined; + snowmobile_geton(); + if(isdefined(self.drivingvehicle)) + { + main_driver(); + return; + } + + main_passenger(); +} + +//Function Number: 2 +snowmobile_geton() +{ + self.grenadeawareness = 0; + self.a.pose = "crouch"; + maps\_utility::disable_surprise(); + self.allowpain = 0; + self.getoffvehiclefunc = ::snowmobile_getoff; + self.specialdeathfunc = ::snowmobile_normal_death; + self.disablebulletwhizbyreaction = 1; +} + +//Function Number: 3 +snowmobile_getoff() +{ + self.allowpain = 1; + self.getoffvehiclefunc = undefined; + self.specialdeathfunc = undefined; + self.a.specialshootbehavior = undefined; + self.disablebulletwhizbyreaction = undefined; + maps\_utility::gun_recall(); + self.onsnowmobile = undefined; + self.custom_animscript["combat"] = undefined; + self.custom_animscript["stop"] = undefined; +} + +//Function Number: 4 +main_driver() +{ + var_00 = self.ridingvehicle.driver_shooting || self.ridingvehicle.riders.size == 1; + snowmobile_setanim_driver(var_00); + if(var_00) + { + animscripts\shared::placeweaponon(self.primaryweapon,"left"); + self.rightaimlimit = 90; + self.leftaimlimit = -90; + animscripts\track::setanimaimweight(1,0.2); + thread snowmobile_trackshootentorpos_driver(); + thread snowmobile_loop_driver_shooting(); + } + else + { + animscripts\shared::placeweaponon(self.primaryweapon,"none"); + thread snowmobile_loop_driver(); + } + + snowmobile_handle_events("driver"); +} + +//Function Number: 5 +main_passenger() +{ + snowmobile_setanim_passenger(self.ridingvehicle.passenger_shooting); + if(self.ridingvehicle.passenger_shooting) + { + self.rightaimlimit = 180; + self.leftaimlimit = -180; + self.diraimlimit = 1; + animscripts\track::setanimaimweight(1,0.2); + thread snowmobile_trackshootentorpos_passenger(); + thread snowmobile_loop_passenger_shooting(); + } + else + { + thread snowmobile_loop_passenger(); + } + + snowmobile_handle_events("passenger"); +} + +//Function Number: 6 +snowmobile_loop_driver() +{ + self endon("death"); + self endon("killanimscript"); + var_00 = "left2right"; + var_01 = []; + var_01["left2right"] = getanimlength(animscripts\utility::animarray("left2right")); + var_01["right2left"] = getanimlength(animscripts\utility::animarray("right2left")); + self setanimknoball(%sm_turn,%body,1,0); + self setanim(animscripts\utility::animarray("drive"),1,0); + self setanimknob(animscripts\utility::animarray(var_00),1,0); + self setanimtime(animscripts\utility::animarray(var_00),0.5); + for(;;) + { + if(self.ridingvehicle.steering_enable) + { + var_02 = 0.5 * 1 + maps\_vehicle_code::update_steering(self.ridingvehicle); + var_03 = self getanimtime(animscripts\utility::animarray(var_00)); + if(var_00 == "right2left") + { + var_03 = 1 - var_03; + } + + var_04 = 20 * abs(var_03 - var_02); + if(var_03 < var_02) + { + var_00 = "left2right"; + var_04 = var_04 * var_01["left2right"]; + } + else + { + var_00 = "right2left"; + var_04 = var_04 * var_01["right2left"]; + var_03 = 1 - var_03; + } + } + else + { + var_00 = "left2right"; + var_04 = 0; + var_03 = 0.5; + } + + self setanimknoblimited(animscripts\utility::animarray(var_00),1,0.1,var_04); + self setanimtime(animscripts\utility::animarray(var_00),var_03); + wait(0.05); + } +} + +//Function Number: 7 +snowmobile_loop_passenger() +{ + self endon("death"); + self endon("killanimscript"); + self setanimknoball(animscripts\utility::animarray("hide"),%body,1,0); + self setanimknob(animscripts\utility::animarray("drive"),1,0); + for(;;) + { + var_00 = maps\_vehicle_code::update_steering(self.ridingvehicle); + self setanimlimited(%sm_lean,abs(var_00),0.05); + if(var_00 >= 0) + { + self setanimknoblimited(animscripts\utility::animarray("lean_right"),1,0.05); + } + else + { + self setanimknoblimited(animscripts\utility::animarray("lean_left"),1,0.05); + } + + wait(0.05); + } +} + +//Function Number: 8 +snowmobile_loop_driver_shooting() +{ + self endon("death"); + self endon("killanimscript"); + var_00 = 0.05; + var_01 = 0; + self setanimknoball(%sm_aiming,%body,1,0); + self setanimknob(animscripts\utility::animarray("idle"),1,0); + for(;;) + { + if(self.current_event != "none") + { + self waittill("snowmobile_event_finished"); + continue; + } + + var_02 = maps\_vehicle_code::update_steering(self.ridingvehicle); + var_03 = 1 - abs(var_02); + var_04 = max(0,0 - var_02); + var_05 = max(0,var_02); + self setanimlimited(animscripts\utility::animarray("straight_level_center"),var_03,var_00); + self setanimlimited(animscripts\utility::animarray("straight_level_left"),var_04,var_00); + self setanimlimited(animscripts\utility::animarray("straight_level_right"),var_05,var_00); + if(self.bulletsinclip <= 0) + { + animscripts\weaponlist::refillclip(); + var_01 = gettime() + 3000; + } + + if(var_01 <= gettime()) + { + snowmobile_start_shooting(); + } + + self setanimknoblimited(animscripts\utility::animarray("add_aim_left_center"),var_03,var_00); + self setanimlimited(animscripts\utility::animarray("add_aim_left_left"),var_04,var_00); + self setanimlimited(animscripts\utility::animarray("add_aim_left_right"),var_05,var_00); + self setanimknoblimited(animscripts\utility::animarray("add_aim_right_center"),var_03,var_00); + self setanimlimited(animscripts\utility::animarray("add_aim_right_left"),var_04,var_00); + self setanimlimited(animscripts\utility::animarray("add_aim_right_right"),var_05,var_00); + thread snowmobile_stop_shooting(); + wait(0.05); + } +} + +//Function Number: 9 +snowmobile_loop_passenger_shooting() +{ + self endon("death"); + self endon("killanimscript"); + var_00 = 0.05; + self setanimknoball(%sm_aiming,%body,1,0); + self setanimknob(animscripts\utility::animarray("idle"),1,0); + for(;;) + { + if(self.current_event != "none") + { + self waittill("snowmobile_event_finished"); + continue; + } + + if(snowmobile_reload()) + { + continue; + } + + var_01 = maps\_vehicle_code::update_steering(self.ridingvehicle); + var_02 = 1 - abs(var_01); + var_03 = max(0,0 - var_01); + var_04 = max(0,var_01); + self setanimlimited(animscripts\utility::animarray("straight_level_center"),var_02,var_00); + self setanimlimited(animscripts\utility::animarray("straight_level_left"),var_03,var_00); + self setanimlimited(animscripts\utility::animarray("straight_level_right"),var_04,var_00); + snowmobile_start_shooting(); + self setanimlimited(animscripts\utility::animarray("aim_left_center"),var_02,var_00); + self setanimlimited(animscripts\utility::animarray("aim_left_left"),var_03,var_00); + self setanimlimited(animscripts\utility::animarray("aim_left_right"),var_04,var_00); + self setanimlimited(animscripts\utility::animarray("aim_right_center"),var_02,var_00); + self setanimlimited(animscripts\utility::animarray("aim_right_left"),var_03,var_00); + self setanimlimited(animscripts\utility::animarray("aim_right_right"),var_04,var_00); + self setanimlimited(animscripts\utility::animarray("add_aim_backleft_center"),var_02,var_00); + self setanimlimited(animscripts\utility::animarray("add_aim_backleft_left"),var_03,var_00); + self setanimlimited(animscripts\utility::animarray("add_aim_backleft_right"),var_04,var_00); + self setanimlimited(animscripts\utility::animarray("add_aim_backright_center"),var_02,var_00); + self setanimlimited(animscripts\utility::animarray("add_aim_backright_left"),var_03,var_00); + self setanimlimited(animscripts\utility::animarray("add_aim_backright_right"),var_04,var_00); + if(isplayer(self.enemy)) + { + self updateplayersightaccuracy(); + } + + wait(0.05); + thread snowmobile_stop_shooting(); + } +} + +//Function Number: 10 +snowmobile_do_event(param_00) +{ + self endon("death"); + self.ridingvehicle.steering_enable = 0; + self setflaggedanimknoblimitedrestart("snowmobile_event",param_00,1,0.17); + animscripts\shared::donotetracks("snowmobile_event",::snowmobile_waitfor_start_lean); + self setanimknoblimited(animscripts\utility::animarray("event_restore"),1,0.1); + self.ridingvehicle.steering_enable = 1; + self.current_event = "none"; + self notify("snowmobile_event_finished"); +} + +//Function Number: 11 +snowmobile_handle_events(param_00) +{ + self endon("death"); + self endon("killanimscript"); + var_01 = self.ridingvehicle; + for(;;) + { + if(var_01.event["jump"][param_00]) + { + var_01.event["jump"][param_00] = 0; + self notify("snowmobile_event_occurred"); + self.current_event = "jump"; + var_01.steering_enable = 0; + self setflaggedanimknoblimitedrestart("jump",animscripts\utility::animarray("event_jump"),1,0.17); + } + + if(var_01.event["bump"][param_00]) + { + var_01.event["bump"][param_00] = 0; + self notify("snowmobile_event_occurred"); + if(self.current_event != "bump_big") + { + thread snowmobile_do_event(animscripts\utility::animarray("event_bump")); + } + } + + if(var_01.event["bump_big"][param_00]) + { + var_01.event["bump_big"][param_00] = 0; + self notify("snowmobile_event_occurred"); + self.current_event = "bump_big"; + thread snowmobile_do_event(animscripts\utility::animarray("event_bump_big")); + } + + if(var_01.event["sway_left"][param_00]) + { + var_01.event["sway_left"][param_00] = 0; + self notify("snowmobile_event_occurred"); + if(self.current_event != "bump_big") + { + thread snowmobile_do_event(animscripts\utility::animarray("event_sway")["left"]); + } + } + + if(var_01.event["sway_right"][param_00]) + { + var_01.event["sway_right"][param_00] = 0; + self notify("snowmobile_event_occurred"); + if(self.current_event != "bump_big") + { + thread snowmobile_do_event(animscripts\utility::animarray("event_sway")["right"]); + } + } + + wait(0.05); + } +} + +//Function Number: 12 +snowmobile_start_shooting() +{ + self notify("want_shoot_while_driving"); + self setanim(%sm_add_fire,1,0.2); + if(isdefined(self.shoot_while_driving_thread)) + { + return; + } + + self.shoot_while_driving_thread = 1; + thread snowmobile_decide_shoot(); + thread snowmobile_shoot(); +} + +//Function Number: 13 +snowmobile_stop_shooting() +{ + self endon("killanimscript"); + self endon("want_shoot_while_driving"); + wait(0.05); + self notify("end_shoot_while_driving"); + self.shoot_while_driving_thread = undefined; + self clearanim(%sm_add_fire,0.2); +} + +//Function Number: 14 +snowmobile_decide_shoot() +{ + self endon("killanimscript"); + self endon("end_shoot_while_driving"); + self.a.specialshootbehavior = ::snowmobileshootbehavior; + snowmobile_decide_shoot_internal(); + self.shoot_while_driving_thread = undefined; +} + +//Function Number: 15 +snowmobile_decide_shoot_internal() +{ + self endon("snowmobile_event_occurred"); + animscripts\shoot_behavior::decidewhatandhowtoshoot("normal"); +} + +//Function Number: 16 +snowmobileshootbehavior() +{ + if(!isdefined(self.enemy)) + { + self.shootent = undefined; + self.shootpos = undefined; + self.shootstyle = "none"; + return; + } + + self.shootent = self.enemy; + self.shootpos = self.enemy getshootatpos(); + var_00 = distancesquared(self.origin,self.enemy.origin); + if(var_00 < 1000000) + { + self.shootstyle = "full"; + } + else if(var_00 < 4000000) + { + self.shootstyle = "burst"; + } + else + { + self.shootstyle = "single"; + } + + if(isdefined(self.enemy.vehicle)) + { + var_01 = 0.5; + var_02 = self.shootent.vehicle; + var_03 = self.ridingvehicle; + var_04 = var_03.origin - var_02.origin; + var_05 = anglestoforward(var_02.angles); + var_06 = anglestoright(var_02.angles); + var_07 = vectordot(var_04,var_05); + if(var_07 < 0) + { + var_08 = var_02 vehicle_getspeed() * var_01; + var_08 = var_08 * 17.6; + if(var_08 > 50) + { + var_09 = vectordot(var_04,var_06); + var_09 = var_09 / 3; + if(var_09 > 128) + { + var_09 = 128; + } + else if(var_09 < -128) + { + var_09 = -128; + } + + if(var_09 > 0) + { + var_09 = 128 - var_09; + } + else + { + var_09 = -128 - var_09; + } + + self.shootent = undefined; + self.shootpos = var_02.origin + var_08 * var_05 + var_09 * var_06; + return; + } + } + } +} + +//Function Number: 17 +snowmobile_shoot() +{ + self endon("killanimscript"); + self endon("end_shoot_while_driving"); + self notify("doing_shootWhileDriving"); + self endon("doing_shootWhileDriving"); + for(;;) + { + if(!self.bulletsinclip) + { + wait(0.5); + continue; + } + + animscripts\combat_utility::shootuntilshootbehaviorchange(); + } +} + +//Function Number: 18 +snowmobile_reload() +{ + if(!self.ridingvehicle.steering_enable) + { + return 0; + } + + if(!animscripts\combat_utility::needtoreload(0)) + { + return 0; + } + + if(!animscripts\utility::usingriflelikeweapon()) + { + return 0; + } + + snowmobile_reload_internal(); + self notify("abort_reload"); + return 1; +} + +//Function Number: 19 +snowmobile_reload_internal() +{ + self endon("snowmobile_event_occurred"); + self.stop_aiming_for_reload = 1; + self waittill("start_blending_reload"); + self setanim(%sm_aiming,0,0.25); + self setflaggedanimrestart("gun_down",animscripts\utility::animarray("gun_down"),1,0.25); + animscripts\shared::donotetracks("gun_down"); + self clearanim(animscripts\utility::animarray("gun_down"),0); + self setflaggedanimknoballrestart("reload_anim",animscripts\utility::animarray("reload"),%body,1,0.25); + animscripts\shared::donotetracks("reload_anim"); + self clearanim(%sm_reload,0.2); + self setflaggedanimrestart("gun_up",animscripts\utility::animarray("gun_up"),1,0.25); + self.gun_up_for_reload = 1; + animscripts\shared::donotetracks("gun_up",::snowmobile_waitfor_start_aim); + self.stop_aiming_for_reload = undefined; + self clearanim(%sm_reload,0.1); + self setanim(%sm_aiming,1,0.1); + if(isdefined(self.gun_up_for_reload)) + { + self.gun_up_for_reload = undefined; + animscripts\shared::donotetracks("gun_up",::snowmobile_waitfor_end); + self clearanim(animscripts\utility::animarray("gun_up"),0); + } +} + +//Function Number: 20 +snowmobile_waitfor_start_aim(param_00) +{ + if(param_00 == "start_aim") + { + return 1; + } +} + +//Function Number: 21 +snowmobile_waitfor_end(param_00) +{ + if(param_00 == "end") + { + return 1; + } +} + +//Function Number: 22 +snowmobile_waitfor_start_lean(param_00) +{ + if(param_00 == "start_lean") + { + return 1; + } +} + +//Function Number: 23 +snowmobile_trackshootentorpos_driver() +{ + self endon("killanimscript"); + self endon("stop tracking"); + var_00 = 0.05; + var_01 = 8; + var_02 = 0; + var_03 = 0; + var_04 = 1; + for(;;) + { + animscripts\track::incranimaimweight(); + var_05 = (self.origin[0],self.origin[1],self geteye()[2]); + var_06 = self.shootpos; + if(isdefined(self.shootent)) + { + var_06 = self.shootent getshootatpos(); + } + + if(!isdefined(var_06)) + { + var_03 = 0; + var_07 = self getanglestolikelyenemypath(); + if(isdefined(var_07)) + { + var_03 = angleclamp180(self.angles[1] - var_07[1]); + } + } + else + { + var_08 = var_06 - var_05; + var_09 = vectortoangles(var_08); + var_03 = self.angles[1] - var_09[1]; + var_03 = angleclamp180(var_03); + } + + if(var_03 > self.rightaimlimit || var_03 < self.leftaimlimit) + { + var_03 = 0; + } + + if(var_04) + { + var_04 = 0; + } + else + { + var_0A = var_03 - var_02; + if(abs(var_0A) > var_01) + { + var_03 = var_02 + var_01 * common_scripts\utility::sign(var_0A); + } + } + + var_02 = var_03; + var_0B = min(max(0 - var_03,0),90) / 90 * self.a.aimweight; + var_0C = min(max(var_03,0),90) / 90 * self.a.aimweight; + self setanimlimited(%sm_aim_4,var_0B,var_00); + self setanimlimited(%sm_aim_6,var_0C,var_00); + wait(0.05); + } +} + +//Function Number: 24 +snowmobile_trackshootentorpos_passenger() +{ + self endon("killanimscript"); + self endon("stop tracking"); + var_00 = 0.05; + var_01 = 5; + var_02 = 20; + var_03 = 15; + var_04 = 40; + var_05 = 30; + var_06 = 0; + var_07 = 0; + var_08 = 1; + for(;;) + { + animscripts\track::incranimaimweight(); + var_09 = (self.origin[0],self.origin[1],self geteye()[2]); + var_0A = self.shootpos; + if(isdefined(self.shootent)) + { + var_0A = self.shootent getshootatpos(); + } + + if(!isdefined(var_0A)) + { + var_07 = 0; + var_0B = self getanglestolikelyenemypath(); + if(isdefined(var_0B)) + { + var_07 = angleclamp180(self.angles[1] - var_0B[1]); + } + } + else + { + var_0C = var_0A - var_09; + var_0D = vectortoangles(var_0C); + var_07 = self.angles[1] - var_0D[1]; + var_07 = angleclamp180(var_07); + } + + if(isdefined(self.stop_aiming_for_reload) || var_07 > 0 && var_07 - self.rightaimlimit * self.diraimlimit > 0 || var_07 < 0 && var_07 - self.leftaimlimit * self.diraimlimit < 0) + { + var_07 = 0; + } + + if(var_08) + { + var_08 = 0; + } + else + { + if(var_06 < -180 + var_04 && var_07 > 180 - var_05) + { + var_07 = -179; + } + + if(var_06 > 180 - var_04 && var_07 < -180 + var_05) + { + var_07 = 179; + } + + var_0E = var_07 - var_06; + var_0F = var_02 - var_01 * abs(var_0E) / 180 + var_01; + if(isdefined(self.stop_aiming_for_reload)) + { + var_0F = var_03; + if(abs(var_06) < 45) + { + self notify("start_blending_reload"); + } + } + + if(abs(var_0E) > var_0F) + { + var_07 = var_06 + var_0F * common_scripts\utility::sign(var_0E); + } + } + + var_06 = var_07; + var_10 = max(-90 - var_07,0) / 90 * self.a.aimweight; + var_11 = min(max(0 - var_07,0),90) / 90 * self.a.aimweight; + var_12 = max(90 - abs(var_07),0) / 90 * self.a.aimweight; + var_13 = min(max(var_07,0),90) / 90 * self.a.aimweight; + var_14 = max(-90 + var_07,0) / 90 * self.a.aimweight; + self setanimlimited(%sm_aim_1,var_10,var_00); + self setanimlimited(%sm_aim_4_delta,var_11,var_00); + self setanimlimited(%sm_aim_5_delta,var_12,var_00); + self setanimlimited(%sm_aim_6_delta,var_13,var_00); + self setanimlimited(%sm_aim_3,var_14,var_00); + wait(0.05); + } +} + +//Function Number: 25 +snowmobile_get_death_anim(param_00,param_01,param_02) +{ + var_03 = undefined; + var_04 = undefined; + var_05 = 0; + for(var_06 = 0;var_06 < param_00.size;var_06++) + { + var_07 = animscripts\utility::absangleclamp180(param_02 - param_01[var_06]); + if(!isdefined(var_03) || var_07 < var_05) + { + var_04 = var_03; + var_03 = param_00[var_06]; + var_05 = var_07; + continue; + } + + if(!isdefined(var_04)) + { + var_04 = param_00[var_06]; + } + } + + var_08 = var_03; + if(isdefined(level.prevsnowmobiledeath) && var_08 == level.prevsnowmobiledeath && gettime() - level.prevsnowmobiledeathtime < 500) + { + var_08 = var_04; + } + + anim.prevsnowmobiledeath = var_08; + anim.prevsnowmobiledeathtime = gettime(); + return var_08; +} + +//Function Number: 26 +snowmobile_death_launchslide() +{ + var_00 = self.ridingvehicle; + var_01 = var_00.prevframevelocity; + var_01 = (var_01[0],var_01[1],randomfloatrange(200,400)) * 0.75; + if(lengthsquared(var_01) > 1000000) + { + var_01 = vectornormalize(var_01) * 1000; + } + + var_02 = spawn("script_origin",self.origin); + var_02 moveslide((0,0,40),15,var_01); + self linkto(var_02); + var_02 thread deleteshortly(); +} + +//Function Number: 27 +snowmobile_normal_death() +{ + var_00 = []; + var_00[0] = level.scr_anim["snowmobile"]["small"]["death"]["back"]; + var_00[1] = level.scr_anim["snowmobile"]["small"]["death"]["right"]; + var_00[2] = level.scr_anim["snowmobile"]["small"]["death"]["left"]; + var_01 = []; + var_01[0] = -180; + var_01[1] = -90; + var_01[2] = 90; + var_02 = snowmobile_get_death_anim(var_00,var_01,self.damageyaw); + animscripts\death::playdeathanim(var_02); + return 1; +} + +//Function Number: 28 +snowmobile_collide_death() +{ + var_00 = self.ridingvehicle; + if(!isdefined(var_00)) + { + return snowmobile_normal_death(); + } + + var_01 = var_00.prevframevelocity; + snowmobile_death_launchslide(); + var_02 = vectortoangles(var_01); + var_03 = angleclamp180(var_02[1] - self.angles[1]); + var_04 = []; + var_04[0] = level.scr_anim["snowmobile"]["big"]["death"]["back"]; + var_04[1] = level.scr_anim["snowmobile"]["big"]["death"]["left"]; + var_04[2] = level.scr_anim["snowmobile"]["big"]["death"]["front"]; + var_04[3] = level.scr_anim["snowmobile"]["big"]["death"]["right"]; + var_05 = []; + var_05[0] = -180; + var_05[1] = -90; + var_05[2] = 0; + var_05[3] = 90; + var_06 = snowmobile_get_death_anim(var_04,var_05,var_03); + animscripts\death::playdeathanim(var_06); + return 1; +} + +//Function Number: 29 +deleteshortly() +{ + var_00 = self.origin; + for(var_01 = 0;var_01 < 60;var_01++) + { + wait(0.05); + var_00 = self.origin; + } + + wait(3); + if(isdefined(self)) + { + self delete(); + } +} + +//Function Number: 30 +snowmobile_setanim_common(param_00) +{ + self.a.array["idle"] = level.scr_anim["snowmobile"][param_00]["idle"]; + self.a.array["drive"] = level.scr_anim["snowmobile"][param_00]["drive"]; + self.a.array["fire"] = level.scr_anim["snowmobile"][param_00]["fire"]; + self.a.array["single"] = animscripts\utility::array(level.scr_anim["snowmobile"][param_00]["single"]); + self.a.array["burst2"] = level.scr_anim["snowmobile"][param_00]["fire"]; + self.a.array["burst3"] = level.scr_anim["snowmobile"][param_00]["fire"]; + self.a.array["burst4"] = level.scr_anim["snowmobile"][param_00]["fire"]; + self.a.array["burst5"] = level.scr_anim["snowmobile"][param_00]["fire"]; + self.a.array["burst6"] = level.scr_anim["snowmobile"][param_00]["fire"]; + self.a.array["semi2"] = level.scr_anim["snowmobile"][param_00]["fire"]; + self.a.array["semi3"] = level.scr_anim["snowmobile"][param_00]["fire"]; + self.a.array["semi4"] = level.scr_anim["snowmobile"][param_00]["fire"]; + self.a.array["semi5"] = level.scr_anim["snowmobile"][param_00]["fire"]; +} + +//Function Number: 31 +snowmobile_setanim_driver(param_00) +{ + self.a.array = []; + snowmobile_setanim_common("driver"); + self.a.array["left2right"] = level.scr_anim["snowmobile"]["driver"]["left2right"]; + self.a.array["right2left"] = level.scr_anim["snowmobile"]["driver"]["right2left"]; + self.a.array["straight_level_left"] = level.scr_anim["snowmobile"]["driver"]["straight_level"]["left"]; + self.a.array["straight_level_center"] = level.scr_anim["snowmobile"]["driver"]["straight_level"]["center"]; + self.a.array["straight_level_right"] = level.scr_anim["snowmobile"]["driver"]["straight_level"]["right"]; + self.a.array["add_aim_left_left"] = level.scr_anim["snowmobile"]["driver"]["add_aim_left"]["left"]; + self.a.array["add_aim_left_center"] = level.scr_anim["snowmobile"]["driver"]["add_aim_left"]["center"]; + self.a.array["add_aim_left_right"] = level.scr_anim["snowmobile"]["driver"]["add_aim_left"]["right"]; + self.a.array["add_aim_right_left"] = level.scr_anim["snowmobile"]["driver"]["add_aim_right"]["left"]; + self.a.array["add_aim_right_center"] = level.scr_anim["snowmobile"]["driver"]["add_aim_right"]["center"]; + self.a.array["add_aim_right_right"] = level.scr_anim["snowmobile"]["driver"]["add_aim_right"]["right"]; + if(param_00) + { + self.a.array["event_jump"] = level.scr_anim["snowmobile"]["driver"]["shoot_jump"]; + self.a.array["event_bump"] = level.scr_anim["snowmobile"]["driver"]["shoot_bump"]; + self.a.array["event_bump_big"] = level.scr_anim["snowmobile"]["driver"]["shoot_bump_big"]; + self.a.array["event_sway"] = []; + self.a.array["event_sway"]["left"] = level.scr_anim["snowmobile"]["driver"]["shoot_sway_left"]; + self.a.array["event_sway"]["right"] = level.scr_anim["snowmobile"]["driver"]["shoot_sway_right"]; + self.a.array["event_restore"] = %sm_aiming; + return; + } + + self.a.array["event_jump"] = level.scr_anim["snowmobile"]["driver"]["drive_jump"]; + self.a.array["event_bump"] = level.scr_anim["snowmobile"]["driver"]["drive_bump"]; + self.a.array["event_bump_big"] = level.scr_anim["snowmobile"]["driver"]["drive_bump_big"]; + self.a.array["event_sway"] = []; + self.a.array["event_sway"]["left"] = level.scr_anim["snowmobile"]["driver"]["drive_sway_left"]; + self.a.array["event_sway"]["right"] = level.scr_anim["snowmobile"]["driver"]["drive_sway_right"]; + self.a.array["event_restore"] = %sm_turn; +} + +//Function Number: 32 +snowmobile_setanim_passenger(param_00) +{ + self.a.array = []; + snowmobile_setanim_common("passenger"); + self.a.array["hide"] = level.scr_anim["snowmobile"]["passenger"]["hide"]; + self.a.array["lean_left"] = level.scr_anim["snowmobile"]["passenger"]["add_lean"]["left"]; + self.a.array["lean_right"] = level.scr_anim["snowmobile"]["passenger"]["add_lean"]["right"]; + self.a.array["reload"] = level.scr_anim["snowmobile"]["passenger"]["reload"]; + self.a.array["gun_up"] = level.scr_anim["snowmobile"]["passenger"]["gun_up"]; + self.a.array["gun_down"] = level.scr_anim["snowmobile"]["passenger"]["gun_down"]; + self.a.array["aim_left_left"] = level.scr_anim["snowmobile"]["passenger"]["aim_left"]["left"]; + self.a.array["aim_left_center"] = level.scr_anim["snowmobile"]["passenger"]["aim_left"]["center"]; + self.a.array["aim_left_right"] = level.scr_anim["snowmobile"]["passenger"]["aim_left"]["right"]; + self.a.array["aim_right_left"] = level.scr_anim["snowmobile"]["passenger"]["aim_right"]["left"]; + self.a.array["aim_right_center"] = level.scr_anim["snowmobile"]["passenger"]["aim_right"]["center"]; + self.a.array["aim_right_right"] = level.scr_anim["snowmobile"]["passenger"]["aim_right"]["right"]; + self.a.array["add_aim_backleft_left"] = level.scr_anim["snowmobile"]["passenger"]["add_aim_backleft"]["left"]; + self.a.array["add_aim_backleft_center"] = level.scr_anim["snowmobile"]["passenger"]["add_aim_backleft"]["center"]; + self.a.array["add_aim_backleft_right"] = level.scr_anim["snowmobile"]["passenger"]["add_aim_backleft"]["right"]; + self.a.array["add_aim_backright_left"] = level.scr_anim["snowmobile"]["passenger"]["add_aim_backright"]["left"]; + self.a.array["add_aim_backright_center"] = level.scr_anim["snowmobile"]["passenger"]["add_aim_backright"]["center"]; + self.a.array["add_aim_backright_right"] = level.scr_anim["snowmobile"]["passenger"]["add_aim_backright"]["right"]; + self.a.array["straight_level_left"] = level.scr_anim["snowmobile"]["passenger"]["straight_level"]["left"]; + self.a.array["straight_level_center"] = level.scr_anim["snowmobile"]["passenger"]["straight_level"]["center"]; + self.a.array["straight_level_right"] = level.scr_anim["snowmobile"]["passenger"]["straight_level"]["right"]; + if(param_00) + { + self.a.array["event_jump"] = level.scr_anim["snowmobile"]["passenger"]["drive_jump"]; + self.a.array["event_bump"] = level.scr_anim["snowmobile"]["passenger"]["drive_bump"]; + self.a.array["event_bump_big"] = level.scr_anim["snowmobile"]["passenger"]["drive_bump_big"]; + self.a.array["event_sway"] = []; + self.a.array["event_sway"]["left"] = level.scr_anim["snowmobile"]["passenger"]["drive_sway_left"]; + self.a.array["event_sway"]["right"] = level.scr_anim["snowmobile"]["passenger"]["drive_sway_right"]; + self.a.array["event_restore"] = %sm_aiming; + return; + } + + self.a.array["event_jump"] = level.scr_anim["snowmobile"]["passenger"]["hide_jump"]; + self.a.array["event_bump"] = level.scr_anim["snowmobile"]["passenger"]["hide_bump"]; + self.a.array["event_bump_big"] = level.scr_anim["snowmobile"]["passenger"]["hide_bump_big"]; + self.a.array["event_sway"] = []; + self.a.array["event_sway"]["left"] = level.scr_anim["snowmobile"]["passenger"]["hide_sway_left"]; + self.a.array["event_sway"]["right"] = level.scr_anim["snowmobile"]["passenger"]["hide_sway_right"]; + self.a.array["event_restore"] = %sm_turn; +} \ No newline at end of file diff --git a/AW/PC/SP/animscripts/death.gsc b/AW/PC/animscripts/death.gsc similarity index 94% rename from AW/PC/SP/animscripts/death.gsc rename to AW/PC/animscripts/death.gsc index 589583d..9178aa5 100644 --- a/AW/PC/SP/animscripts/death.gsc +++ b/AW/PC/animscripts/death.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\death.gsc + * Decompiled File: death.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 47 - * Decompile Time: 745 ms - * Timestamp: 10/27/2023 1:54:59 AM + * Decompile Time: 719 ms + * Timestamp: 4/22/2024 2:00:27 AM *******************************************************************/ //Function Number: 1 @@ -526,26 +526,95 @@ specialdeath() switch(self.a.special) { case "cover_right": - break; + if(self.a.pose == "stand") + { + var_00 = animscripts\utility::lookupanim("death","cover_right_stand"); + dodeathfromarray(var_00); + } + else + { + var_00 = []; + if(animscripts\utility::damagelocationisany("head","neck")) + { + var_00 = animscripts\utility::lookupanim("death","cover_right_crouch_head"); + } + else + { + var_00 = animscripts\utility::lookupanim("death","cover_right_crouch_default"); + } + + dodeathfromarray(var_00); + } + return 1; case "cover_left": - break; + if(self.a.pose == "stand") + { + var_00 = animscripts\utility::lookupanim("death","cover_left_stand"); + dodeathfromarray(var_00); + } + else + { + var_00 = animscripts\utility::lookupanim("death","cover_left_crouch"); + dodeathfromarray(var_00); + } + return 1; case "cover_stand": - break; + var_00 = animscripts\utility::lookupanim("death","cover_stand"); + dodeathfromarray(var_00); + return 1; case "cover_crouch": - break; + var_00 = []; + if(animscripts\utility::damagelocationisany("head","neck") && self.damageyaw > 135 || self.damageyaw <= -45) + { + var_00[var_00.size] = animscripts\utility::lookupanim("death","cover_crouch_head"); + } + + if(self.damageyaw > -45 && self.damageyaw <= 45) + { + var_00[var_00.size] = animscripts\utility::lookupanim("death","cover_crouch_back"); + } + + var_00[var_00.size] = animscripts\utility::lookupanim("death","cover_crouch_default"); + dodeathfromarray(var_00); + return 1; case "saw": - break; + if(self.a.pose == "stand") + { + dodeathfromarray(animscripts\utility::lookupanim("death","saw_stand")); + } + else if(self.a.pose == "crouch") + { + dodeathfromarray(animscripts\utility::lookupanim("death","saw_crouch")); + } + else + { + dodeathfromarray(animscripts\utility::lookupanim("death","saw_prone")); + } + return 1; case "dying_crawl": - break; + if(isdefined(self.a.onback) && self.a.pose == "crouch") + { + var_00 = animscripts\utility::lookupanim("death","dying_crawl_crouch"); + dodeathfromarray(var_00); + } + else + { + var_00 = animscripts\utility::lookupanim("death","dying_crawl_prone"); + dodeathfromarray(var_00); + } + return 1; case "stumbling_pain": - break; + playdeathanim(self.a.stumblingpainanimseq[self.a.stumblingpainanimseq.size - 1]); + return 1; } + + return 0; } //Function Number: 17 diff --git a/AW/PC/animscripts/dog/dog_combat.gsc b/AW/PC/animscripts/dog/dog_combat.gsc new file mode 100644 index 0000000..bdac1dc --- /dev/null +++ b/AW/PC/animscripts/dog/dog_combat.gsc @@ -0,0 +1,1944 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: dog\dog_combat.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 82 + * Decompile Time: 970 ms + * Timestamp: 4/22/2024 1:58:44 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(isdefined(level.shark_functions)) + { + if(issubstr(self.model,"shark")) + { + self [[ level.shark_functions["combat"] ]](); + return; + } + } + + self endon("killanimscript"); + if(!isalive(self.enemy)) + { + combatidle(); + return; + } + + if(isplayer(self.enemy)) + { + meleebiteattackplayer(); + return; + } + + meleestrugglevsai(); +} + +//Function Number: 2 +end_script() +{ + self setpitchorient(); + self.doglastknowngoodpos = undefined; +} + +//Function Number: 3 +killplayer() +{ + self endon("pvd_melee_interrupted"); + if(!isdefined(self.meleeingplayer.player_view)) + { + return; + } + + var_00 = self.meleeingplayer.player_view; + if(isdefined(var_00.player_killed)) + { + return; + } + + var_00.player_killed = 1; + if(maps\_utility::killing_will_down(self.meleeingplayer)) + { + knock_down_player_coop(self.meleeingplayer,self); + return; + } + + self.meleeingplayer.specialdeath = 1; + self.meleeingplayer setcandamage(1); + if(var_00 gettagindex("tag_torso") != -1) + { + playfxontag(level._effect["dog_bite_blood"],var_00,"tag_torso"); + } + + wait(1); + if(!isdefined(self) || !isdefined(self.meleeingplayer)) + { + return; + } + + var_01 = is_hyena(); + self.meleeingplayer enablehealthshield(0); + if(!isalive(self.meleeingplayer)) + { + return; + } + + self.meleeingplayer dog_player_kill(self); + self.meleeingplayer shellshock("default",5); + waittillframeend; + setdvar("ui_deadquote",""); + thread dog_death_hud(self.meleeingplayer,var_01); +} + +//Function Number: 4 +knock_down_player_coop(param_00,param_01) +{ + param_00.dog_downed_player = 1; + var_02 = dog_vs_player_anim_rate(); + self setflaggedanimknobrestart("meleeanim",%german_shepherd_player_getoff,1,0.1,var_02); + param_00.player_view notify("pvd_melee_interrupted"); + param_00.player_view notify("pvd_melee_done"); + param_00.player_view playerview_endsequence(param_00); + if(!maps\_utility::killing_will_down(param_00)) + { + param_00 dog_player_kill(param_01); + } +} + +//Function Number: 5 +dog_player_kill(param_00) +{ + if(maps\_utility::laststand_enabled()) + { + self enabledeathshield(0); + } + + self disableinvulnerability(); + if(isalive(param_00)) + { + self kill(self.origin,param_00); + return; + } + + self kill(self.origin); +} + +//Function Number: 6 +dog_death_hud(param_00,param_01) +{ + if(maps\_utility::is_specialop()) + { + return; + } + + wait(1.5); + thread dog_deathquote(param_00); + var_02 = newclienthudelem(param_00); + var_02.x = 0; + var_02.y = 50; + if(param_01) + { + var_02 setshader("hud_hyena_melee",96,96); + } + else + { + var_02 setshader("hud_dog_melee",96,96); + } + + var_02.alignx = "center"; + var_02.aligny = "middle"; + var_02.horzalign = "center"; + var_02.vertalign = "middle"; + var_02.foreground = 1; + var_02.alpha = 0; + var_02 fadeovertime(1); + var_02.alpha = 1; +} + +//Function Number: 7 +dog_deathquote(param_00) +{ + var_01 = param_00 maps\_hud_util::createclientfontstring("default",1.75); + var_01.color = (1,1,1); + var_01 settext(level.dog_death_quote); + var_01.x = 0; + var_01.y = -30; + var_01.alignx = "center"; + var_01.aligny = "middle"; + var_01.horzalign = "center"; + var_01.vertalign = "middle"; + var_01.foreground = 1; + var_01.alpha = 0; + var_01 fadeovertime(1); + var_01.alpha = 1; +} + +//Function Number: 8 +attackmiss() +{ + self clearanim(%body,0.1); + var_00 = %german_shepherd_attack_player_miss_b; + if(isdefined(self.enemy)) + { + var_01 = anglestoforward((0,self.desiredangle,0)); + var_02 = vectornormalize(self.enemy.origin - self.origin); + var_03 = self.enemy.origin - self.origin + var_01 * 40; + if(vectordot(var_02,var_01) > 0.707 || vectordot(var_03,var_01) > 0) + { + thread animscripts\dog\dog_stop::lookattarget("normal"); + } + else + { + self.skipstartmove = 1; + thread attackmisstracktargetthread(); + if(var_02[0] * var_01[1] - var_02[1] * var_01[0] > 0) + { + var_00 = %german_shepherd_attack_player_miss_turnr; + } + else + { + var_00 = %german_shepherd_attack_player_miss_turnl; + } + } + } + + self setflaggedanimrestart("miss_anim",var_00,1,0,1); + var_04 = getanimlength(var_00); + soundscripts\_snd::snd_message("anml_doberman","attack_miss"); + animscripts\notetracks::donotetracksfortime(var_04 - 0.1,"miss_anim"); + self notify("stop tracking"); +} + +//Function Number: 9 +attackmisstracktargetthread() +{ + self endon("killanimscript"); + wait(0.6); + self orientmode("face enemy"); +} + +//Function Number: 10 +knockoutofads(param_00) +{ + param_00 endon("death"); + param_00 allowads(0); + wait(0.75); + param_00 allowads(1); +} + +//Function Number: 11 +dogmelee() +{ + if(isdefined(self.meleeingplayer)) + { + if(isdefined(self.meleeingplayer.using_uav) && self.meleeingplayer.using_uav) + { + self.meleeingplayer notify("force_out_of_uav"); + } + + if(self.meleeingplayer islinked()) + { + return undefined; + } + + if(self.meleeingplayer ismantling()) + { + return undefined; + } + + if(self.meleeingplayer.laststand && self.meleeingplayer.ignoreme) + { + return undefined; + } + } + + if(isdefined(self.enemy)) + { + if(distance2d(self.origin,self.enemy.origin) < 32) + { + return self melee(); + } + } + + return self melee(anglestoforward(self.angles)); +} + +//Function Number: 12 +handlemeleebiteattacknotetracks(param_00) +{ + switch(param_00) + { + case "dog_melee": + var_01 = dogmelee(); + if(isdefined(var_01)) + { + if(isplayer(var_01)) + { + var_02 = var_01 getcurrentweapon(); + if(isdefined(var_02) && var_02 == "s1_exo_shield_sp") + { + var_01 shellshock("dog_bite_hit_shield",0.5); + } + else + { + var_01 shellshock("dog_bite",1); + } + + soundscripts\_snd::snd_message("anml_doberman","attack_hit"); + thread knockoutofads(var_01); + } + } + else + { + attackmiss(); + return 1; + } + break; + + case "stop_tracking": + self orientmode("face current"); + break; + } +} + +//Function Number: 13 +addsafetyhealth() +{ + var_00 = self.meleeingplayer getnormalhealth(); + if(var_00 == 0) + { + return 0; + } + + if(var_00 < 0.25) + { + self.meleeingplayer setnormalhealth(var_00 + 0.25); + return 1; + } + + return 0; +} + +//Function Number: 14 +removesafetyhealth() +{ + var_00 = self.meleeingplayer getnormalhealth(); + if(var_00 > 0.25) + { + self.meleeingplayer setnormalhealth(var_00 - 0.25); + return; + } + + self.meleeingplayer setnormalhealth(0.01); +} + +//Function Number: 15 +handlemeleefinishattacknotetracks(param_00) +{ + switch(param_00) + { + case "dog_melee": + var_01 = addsafetyhealth(); + var_02 = dogmelee(); + if(isdefined(var_02) && isplayer(var_02) && isalive(self.meleeingplayer)) + { + if(var_01) + { + removesafetyhealth(); + } + + self.skipstartmove = undefined; + self.meleeingplayer.player_view = playerview_spawn(self); + if(self.meleeingplayer.player_view playerview_startsequence(self)) + { + self setcandamage(0); + } + } + else + { + if(var_01) + { + removesafetyhealth(); + } + + attackmiss(); + return 1; + } + break; + + case "dog_early": + self notify("dog_early_notetrack"); + var_03 = 0.45 + 0.8 * level.dog_melee_timing_array[level.dog_melee_index]; + var_03 = var_03 * dog_vs_player_anim_rate(); + level.dog_melee_index++; + if(level.dog_melee_index >= level.dog_melee_timing_array.size) + { + level.dog_melee_index = 0; + level.dog_melee_timing_array = common_scripts\utility::array_randomize(level.dog_melee_timing_array); + } + + self setflaggedanimlimited("meleeanim",%german_shepherd_attack_player,1,0.2,var_03); + self setflaggedanimlimited("meleeanim",%german_shepherd_attack_player_late,1,0.2,var_03); + self.meleeingplayer.player_view playerview_playknockdownanimlimited(var_03); + break; + + case "dog_lunge": + thread set_melee_timer(); + var_03 = dog_vs_player_anim_rate(); + self setflaggedanim("meleeanim",%german_shepherd_attack_player,1,0.2,var_03); + self.meleeingplayer.player_view playerview_playknockdownanim(var_03); + break; + + case "dogbite_damage": + thread killplayer(); + break; + + case "stop_tracking": + self orientmode("face current"); + break; + } +} + +//Function Number: 16 +handle_dogbite_notetrack(param_00) +{ + switch(param_00) + { + case "dogbite_damage": + thread killplayer(); + break; + } +} + +//Function Number: 17 +set_melee_timer() +{ + wait(0.1); + thread dog_hint(); + wait(0.05); + self.melee_able_timer = gettime(); +} + +//Function Number: 18 +playerdoginit() +{ + self.lastdogmeleeplayertime = 0; + self.dogmeleeplayercounter = 0; +} + +//Function Number: 19 +meleebiteattackplayer() +{ + self.meleeingplayer = self.enemy; + if(!isdefined(self.meleeingplayer.doginited)) + { + self.meleeingplayer playerdoginit(); + } + + var_00 = 30; + var_01 = self.meleeattackdist + var_00; + for(;;) + { + if(!isalive(self.enemy)) + { + break; + } + + if(!isplayer(self.enemy)) + { + break; + } + + if(maps\_utility::is_player_down(self.enemy)) + { + combatidle(); + continue; + } + + if((isdefined(self.meleeingplayer.syncedmeleetarget) && self.meleeingplayer.syncedmeleetarget != self) || isdefined(self.meleeingplayer.player_view) && isdefined(self.meleeingplayer.player_view.inseq)) + { + if(checkendcombat(var_01)) + { + break; + } + else + { + combatidle(); + continue; + } + } + + if(shouldwaitincombatidle()) + { + combatidle(); + continue; + } + + self orientmode("face enemy"); + self animmode("zonly_physics"); + self.safetochangescript = 0; + prepareattackplayer(); + self clearanim(%body,0.1); + self clearpitchorient(); + self.meleeingplayer setnextdogattackallowtime(500); + if(dog_cant_kill_in_one_hit() || !isdefined(self.dogallowplayerpairedanim)) + { + self.meleeingplayer.lastdogmeleeplayertime = gettime(); + self.meleeingplayer.dogmeleeplayercounter++; + self setflaggedanimrestart("meleeanim",%german_shepherd_run_attack_b,1,0.2,1); + animscripts\shared::donotetracks("meleeanim",::handlemeleebiteattacknotetracks); + } + else + { + thread dog_melee_death(); + self.meleeingplayer.attacked_by_dog = 1; + self.meleeingplayer.laststand = 0; + self.meleeingplayer.achieve_downed_kills = undefined; + thread clear_player_attacked_by_dog_on_death(); + self setflaggedanimrestart("meleeanim",%german_shepherd_attack_player,1,0.2,1); + self setflaggedanimrestart("meleeanim",%german_shepherd_attack_player_late,1,0,1); + self setanimlimited(%attack_player,1,0,1); + self setanimlimited(%attack_player_late,0.01,0,1); + animscripts\shared::donotetracks("meleeanim",::handlemeleefinishattacknotetracks); + self notify("dog_no_longer_melee_able"); + self setcandamage(1); + self unlink(); + } + + self.safetochangescript = 1; + wait(0.05); + if(checkendcombat(var_01)) + { + break; + } + } + + self.safetochangescript = 1; + self animmode("none"); +} + +//Function Number: 20 +clear_player_attacked_by_dog_on_death() +{ + self waittill("death"); + self.meleeingplayer.attacked_by_dog = undefined; +} + +//Function Number: 21 +dog_cant_kill_in_one_hit() +{ + if(isdefined(self.meleeingplayer.dogs_dont_instant_kill)) + { + return 1; + } + + if(maps\_utility::is_player_down(self.meleeingplayer)) + { + return 1; + } + + if(isdefined(self.meleeingplayer.slidemodel)) + { + return 1; + } + + if(gettime() - self.meleeingplayer.lastdogmeleeplayertime > 8000) + { + self.meleeingplayer.dogmeleeplayercounter = 0; + } + + return self.meleeingplayer.dogmeleeplayercounter < self.meleeingplayer.gs.dog_hits_before_kill && self.meleeingplayer.health > 25; +} + +//Function Number: 22 +shouldwaitincombatidle() +{ + return isdefined(self.enemy.dogattackallowtime) && gettime() < self.enemy.dogattackallowtime; +} + +//Function Number: 23 +setnextdogattackallowtime(param_00) +{ + self.dogattackallowtime = gettime() + param_00; +} + +//Function Number: 24 +isdoingtraversal() +{ + return self isinscriptedstate() && self.script != "scripted" && self.script != ""; +} + +//Function Number: 25 +meleestrugglevsai() +{ + if(!isalive(self.enemy) || !isdefined(level.allow_dog_paired_melee_vs_ai)) + { + return; + } + + if(isdefined(self.enemy.melee)) + { + if(!isdefined(self.enemy.melee.target) || self.enemy.melee.target != self) + { + combatidle(); + return; + } + } + + if(isdefined(self.enemy.syncedmeleetarget) || shouldwaitincombatidle() || !isai(self.enemy)) + { + combatidle(); + return; + } + + self.in_melee = 1; + self.enemy setnextdogattackallowtime(500); + self.enemy.dog_attacking_me = self; + var_00 = animscripts\battlechatter::getdirectionfacingclock(self.enemy.angles,self.enemy.origin,self.origin); + var_01 = "F"; + switch(var_00) + { + case "4": + case "3": + case "2": + var_01 = "R"; + break; + + case "10": + case "9": + case "8": + var_01 = "L"; + break; + + case "7": + case "6": + case "5": + var_01 = "B"; + break; + } + + self.enemy.dog_attack_dir = var_01; + level notify("dog_attacks_ai",self,self.enemy,var_01); + self.enemy notify("dog_attacks_ai",self,var_01); + if(isdefined(level.dog_alt_melee_func)) + { + if([[ level.dog_alt_melee_func ]](var_01)) + { + return 1; + } + } + + self.safetochangescript = 0; + self animmode("zonly_physics"); + self.pushable = 0; + self clearpitchorient(); + self.meleekilltarget = !isdefined(self.enemy.magic_bullet_shield) && !isdefined(self.enemy.noragdoll) && isdefined(self.enemy.a.doinglongdeath) || isdefined(self.meleealwayswin) || randomint(100) > 50; + self.originaltarget = self.enemy; + self.enemy.battlechatter = 0; + self.enemy.ignoreall = 1; + self.enemy clearenemy(); + self.enemy.diequietly = 1; + var_02 = 0; + if(isdefined(self.enemy.use_old_dog_attack)) + { + var_02 = 1; + } + + if(meleestruggle_istraverse()) + { + return meleestrugglevsai_traverse(var_01); + } + + var_03 = vectortoangles(self.origin - self.enemy.origin); + var_03 = (0,var_03[1],0); + var_04 = []; + var_04[0] = %body; + if(var_02) + { + self.enemy.use_old_dog_attack = 1; + var_04[1] = %iw6_dog_kill_front_quick_1; + var_05 = 1; + if(isdefined(self.controlling_dog) && self.controlling_dog) + { + thread maps\_utility::play_sound_on_entity("scn_nml_dog_attack_short"); + } + else + { + thread maps\_utility::play_sound_on_entity("scn_nml_dog_attack_short_npc"); + } + } + else if(isdefined(self.enemy.a.doinglongdeath) || self.enemy.a.pose == "prone" || self.enemy isdoingtraversal()) + { + thread maps\_utility::play_sound_on_entity("scn_nml_dog_attack_short_npc"); + return domeleevsai_simple(); + } + else + { + var_05[1] = %iw6_dog_kill_front_long_1; + var_05 = 1; + switch(var_01) + { + case "R": + var_04[1] = %iw6_dog_kill_right_quick_1; + var_05 = 1; + var_03 = var_03 + (0,90,0); + if(isdefined(self.controlling_dog) && self.controlling_dog) + { + thread maps\_utility::play_sound_on_entity("scn_nml_dog_attack_short"); + } + else + { + thread maps\_utility::play_sound_on_entity("scn_nml_dog_attack_short_npc"); + } + break; + + case "L": + var_04[1] = %iw6_dog_kill_left_quick_1; + var_05 = 1; + var_03 = var_03 + (0,-90,0); + if(isdefined(self.controlling_dog) && self.controlling_dog) + { + thread maps\_utility::play_sound_on_entity("scn_nml_dog_attack_short"); + } + else + { + thread maps\_utility::play_sound_on_entity("scn_nml_dog_attack_short_npc"); + } + break; + + case "B": + var_04[1] = %iw6_dog_kill_back_quick_1; + var_05 = 1; + var_03 = var_03 - (0,180,0); + if(isdefined(self.controlling_dog) && self.controlling_dog) + { + thread maps\_utility::play_sound_on_entity("scn_nml_dog_attack_quick_back_plr"); + } + else + { + thread maps\_utility::play_sound_on_entity("scn_nml_dog_attack_quick_back_npc"); + } + break; + + default: + if(isdefined(self.controlling_dog) && self.controlling_dog) + { + thread maps\_utility::play_sound_on_entity("scn_nml_dog_attack_front_plr"); + } + else + { + thread maps\_utility::play_sound_on_entity("scn_nml_dog_attack_front_npc"); + } + break; + } + } + + return domeleevsai(var_04,var_05,var_03); +} + +//Function Number: 26 +domeleevsai_simple() +{ + self animcustom(::domeleevsai_simple_animcustom,::domeleevsai_simple_animcustom_cleanup); + return 1; +} + +//Function Number: 27 +domeleevsai_simple_animcustom() +{ + self notify("stop_pant"); + self.flashbangimmunity = 1; + self.enemy meleestrugglevsdog_justdie(); + var_00 = self.enemy.origin - self.origin; + var_01 = vectortoangles(var_00); + self clearanim(%body,0.1); + self animmode("zonly_physics"); + self orientmode("face angle",var_01[1]); + animscripts\shared::donotetracks("meleeanim"); +} + +//Function Number: 28 +domeleevsai_simple_animcustom_cleanup() +{ + self.pushable = 1; + self.safetochangescript = 1; + self.flashbangimmunity = 0; + self.in_melee = 0; +} + +//Function Number: 29 +domeleevsai(param_00,param_01,param_02,param_03) +{ + self notify("stop_pant"); + self setcandamage(0); + self.enemy.fndogmeleevictim = param_03; + self endon("melee_dog_interrupted"); + thread meleestrugglevsai_interruptedcheck(self.enemy); + self clearanim(param_00[0],0.1); + self animrelative("meleeanim",self.enemy.origin,param_02,param_00[1]); + if(!animhasnotetrack(param_00[1],"ai_attack_start")) + { + handlestartaipart("ai_attack_start"); + } + + animscripts\shared::donotetracks("meleeanim",::handlestartaipart); + self notify("end_dog_interrupted_check"); + self setcandamage(1); + self animmode("zonly_physics"); + for(var_04 = 1;var_04 < param_01;var_04++) + { + if(isdefined(level._effect["dog_bite"]) && isdefined(level._effect["dog_bite"][var_04]) && isdefined(self.enemy)) + { + playfxontag(level._effect["dog_bite"][var_04],self.enemy,"TAG_EYE"); + } + + self clearanim(param_00[var_04],0); + if(!insyncmeleewithtarget()) + { + break; + } + + if(!self.meleekilltarget && var_04 + 1 == param_01) + { + self.health = 1; + } + + self setflaggedanimrestart("meleeanim",param_00[var_04 + 1],1,0,1); + animscripts\shared::donotetracks("meleeanim"); + } + + melee_dogcleanup(); + return 1; +} + +//Function Number: 30 +melee_dogcleanup() +{ + self unlink(); + if(!self.meleekilltarget) + { + if(!isdefined(self.magic_bullet_shield)) + { + self kill(); + } + } + else + { + self.pushable = 1; + self.safetochangescript = 1; + self.flashbangimmunity = 0; + } + + thread ragdoll_corpses(); + self.in_melee = 0; + if(isdefined(self.doglastknowngoodpos)) + { + var_00 = self aiphysicstrace(self.origin,self.origin + (0,0,2),undefined,undefined,1,0,1); + if(distancesquared(var_00,self.origin) < 0.001) + { + self forceteleport(self.doglastknowngoodpos,self.angles,60); + } + + self.doglastknowngoodpos = undefined; + } + + self animmode("none"); +} + +//Function Number: 31 +meleestruggle_istraverse() +{ + var_00 = self getdogattackbeginnode(); + return isdefined(var_00); +} + +//Function Number: 32 +meleestrugglevsai_traverse(param_00) +{ + self.safetochangescript = 0; + self animmode("zonly_physics"); + self.pushable = 0; + self clearpitchorient(); + self.meleekilltarget = !isdefined(self.enemy.magic_bullet_shield) && isdefined(self.enemy.a.doinglongdeath) || isdefined(self.meleealwayswin) || randomint(100) > 50; + self.originaltarget = self.enemy; + self.enemy.battlechatter = 0; + var_01 = vectortoangles(self.origin - self.enemy.origin); + var_01 = (0,var_01[1],0); + var_02 = []; + var_02[0] = %body; + var_02[1] = %iw6_dog_kill_wall_over_front_1; + var_03 = 1; + if(self.enemy isdoingtraversal()) + { + thread maps\_utility::play_sound_on_entity("scn_nml_dog_attack_short_npc"); + } + else if(isdefined(self.controlling_dog) && self.controlling_dog) + { + thread maps\_utility::play_sound_on_entity("scn_nml_dog_attack_front_plr"); + } + else + { + thread maps\_utility::play_sound_on_entity("scn_nml_dog_attack_front_npc"); + } + + self.doglastknowngoodpos = self.origin; + return domeleevsai(var_02,var_03,var_01,::meleestrugglevsdog_traverse); +} + +//Function Number: 33 +meleestrugglevsai_interrupted_animcustom() +{ + self animmode("gravity"); + self clearanim(%body,0.2); + self setflaggedanim("meleeanim",%iw6_dog_kill_breach_end_nml); + animscripts\shared::donotetracks("meleeanim"); +} + +//Function Number: 34 +meleestrugglevsai_interrupted_animcustom_cleanup() +{ + if(isdefined(self.doglastknowngoodposcustom)) + { + self.doglastknowngoodpos = self.doglastknowngoodposcustom; + } + + self.doglastknowngoodposcustom = undefined; + self animmode("zonly_physics"); + melee_dogcleanup(); + meleestrugglevsdog_end(); +} + +//Function Number: 35 +meleestrugglevsai_interruptedcheck(param_00) +{ + self endon("killanimscript"); + self endon("death"); + self endon("end_melee_all"); + self endon("end_dog_interrupted_check"); + param_00 waittill("death"); + self notify("melee_dog_interrupted"); + self unlink(); + self setcandamage(1); + self.doglastknowngoodposcustom = self.doglastknowngoodpos; + self animcustom(::meleestrugglevsai_interrupted_animcustom,::meleestrugglevsai_interrupted_animcustom_cleanup); +} + +//Function Number: 36 +combatidle() +{ + self orientmode("face enemy"); + self clearanim(%body,0.1); + self animmode("zonly_physics"); + var_00 = []; + var_00[0] = %iw6_dog_attackidle; + var_00[1] = %iw6_dog_attackidle_bark; + var_01 = common_scripts\utility::random(var_00); + thread combatidlepreventoverlappingplayer(); + self setflaggedanimrestart("combat_idle",var_01,1,0.2,1); + animscripts\shared::donotetracks("combat_idle"); + self notify("combatIdleEnd"); +} + +//Function Number: 37 +combatidlepreventoverlappingplayer() +{ + self endon("killanimscript"); + self endon("combatIdleEnd"); + for(;;) + { + wait(0.1); + var_00 = getentarray("player","classname"); + for(var_01 = 0;var_01 < var_00.size;var_01++) + { + var_02 = var_00[var_01]; + if(!isdefined(var_02.syncedmeleetarget) || var_02.syncedmeleetarget == self) + { + continue; + } + + var_03 = var_02.origin - self.origin; + if(var_03[2] * var_03[2] > 6400) + { + continue; + } + + var_03 = (var_03[0],var_03[1],0); + var_04 = length(var_03); + if(var_04 < 1) + { + var_03 = anglestoforward(self.angles); + } + + if(var_04 < 30) + { + var_03 = var_03 * 3 / var_04; + self safeteleport(self.origin - var_03,(0,30,0)); + } + } + } +} + +//Function Number: 38 +insyncmeleewithtarget() +{ + return isdefined(self.enemy) && isdefined(self.enemy.syncedmeleetarget) && self.enemy.syncedmeleetarget == self; +} + +//Function Number: 39 +handlestartaipart(param_00) +{ + if(param_00 != "ai_attack_start") + { + handlevxnotetrack(param_00); + return undefined; + } + + if(!isdefined(self.enemy)) + { + return 1; + } + + if(self.enemy != self.originaltarget) + { + return 1; + } + + if(isdefined(self.enemy.syncedmeleetarget)) + { + return 1; + } + + self.flashbangimmunity = 1; + self.enemy.syncedmeleetarget = self; + if(self.enemy isdoingtraversal()) + { + self.enemy meleestrugglevsdog_justdie(); + return; + } + + if(isdefined(self.enemy.fndogmeleevictim)) + { + self.enemy animcustom(self.enemy.fndogmeleevictim); + return; + } + + self.enemy animcustom(::meleestrugglevsdog); +} + +//Function Number: 40 +checkendcombat(param_00) +{ + if(!isdefined(self.enemy)) + { + return 0; + } + + var_01 = distancesquared(self.origin,self.enemy.origin); + return var_01 > param_00 * param_00; +} + +//Function Number: 41 +prepareattackplayer() +{ + if(is_hyena()) + { + level.dog_death_quote = &"NEW_HYENA_DEATH_DO_NOTHING_ALT"; + level.so_dog_death_quote = "@NEW_HYENA_DEATH_DO_NOTHING_ALT"; + } + else + { + level.dog_death_quote = &"NEW_DOG_DEATH_DO_NOTHING_ALT"; + level.so_dog_death_quote = "@NEW_DOG_DEATH_DO_NOTHING_ALT"; + } + + level.dog_death_type = "nothing"; + var_00 = distance(self.origin,self.enemy.origin); + if(var_00 > self.meleeattackdist) + { + var_01 = self.enemy.origin - self.origin; + var_02 = var_00 - self.meleeattackdist / var_00; + var_01 = (var_01[0] * var_02,var_01[1] * var_02,var_01[2] * var_02); + thread attackteleportthread(var_01); + } +} + +//Function Number: 42 +attackteleportthread(param_00) +{ + self endon("death"); + self endon("killanimscript"); + var_01 = 5; + var_02 = (param_00[0] / var_01,param_00[1] / var_01,param_00[2] / var_01); + for(var_03 = 0;var_03 < var_01;var_03++) + { + self teleport(self.origin + var_02); + wait(0.05); + } +} + +//Function Number: 43 +player_attacked() +{ + return isalive(self.meleeingplayer) && self.meleeingplayer meleebuttonpressed(); +} + +//Function Number: 44 +dog_hint() +{ + var_00 = self.meleeingplayer.gs.dog_presstime / 1000 / dog_vs_player_anim_rate(); + level endon("clearing_dog_hint"); + if(isdefined(self.meleeingplayer.doghintelem)) + { + self.meleeingplayer.doghintelem maps\_hud_util::destroyelem(); + } + + self.meleeingplayer.doghintelem = self.meleeingplayer maps\_hud_util::createclientfontstring("default",3); + self.meleeingplayer.doghintelem.color = (1,1,1); + self.meleeingplayer.doghintelem settext(&"SCRIPT_PLATFORM_DOG_HINT"); + self.meleeingplayer.doghintelem.x = 0; + self.meleeingplayer.doghintelem.y = 20; + self.meleeingplayer.doghintelem.alignx = "center"; + self.meleeingplayer.doghintelem.aligny = "middle"; + self.meleeingplayer.doghintelem.horzalign = "center"; + self.meleeingplayer.doghintelem.vertalign = "middle"; + self.meleeingplayer.doghintelem.foreground = 1; + self.meleeingplayer.doghintelem.alpha = 1; + self.meleeingplayer.doghintelem.hidewhendead = 1; + self.meleeingplayer.doghintelem.sort = -1; + self.meleeingplayer.doghintelem endon("death"); + wait(var_00); + thread dog_hint_fade(); +} + +//Function Number: 45 +dog_hint_fade() +{ + level notify("clearing_dog_hint"); + if(isdefined(self) && isdefined(self.meleeingplayer.doghintelem)) + { + var_00 = self.meleeingplayer.doghintelem; + if(isdefined(self.meleeingplayer.player_view.necksnapped) && self.meleeingplayer.player_view.necksnapped) + { + var_01 = 0.5; + var_00 changefontscaleovertime(var_01); + var_00.fontscale = var_00.fontscale * 1.5; + var_00.glowcolor = (0.3,0.6,0.3); + var_00.glowalpha = 1; + var_00 fadeovertime(var_01); + var_00.color = (0,0,0); + var_00.alpha = 0; + wait(var_01); + var_00 maps\_hud_util::destroyelem(); + return; + } + + var_00 maps\_hud_util::destroyelem(); + } +} + +//Function Number: 46 +dog_delayed_unlink() +{ + wait(0.7); + if(isdefined(self)) + { + self unlink(); + } +} + +//Function Number: 47 +dog_delayed_allow_damage() +{ + self endon("death"); + wait(1.5); + if(isdefined(self)) + { + self setcandamage(1); + } +} + +//Function Number: 48 +dog_melee_death() +{ + self endon("killanimscript"); + self endon("dog_no_longer_melee_able"); + var_00 = 0; + var_01 = self.meleeingplayer.gs.dog_presstime / dog_vs_player_anim_rate(); + self waittill("dog_early_notetrack"); + while(player_attacked()) + { + wait(0.05); + } + + var_02 = 0; + for(;;) + { + if(!var_00) + { + if(player_attacked()) + { + var_00 = 1; + if(isdefined(self.melee_able_timer) && isalive(self.meleeingplayer)) + { + if(gettime() - self.melee_able_timer <= var_01) + { + self.meleeingplayer set_melee_early(var_02); + self.meleeingplayer.player_view.necksnapped = 1; + self notify("melee_stop"); + self setflaggedanimknobrestart("dog_death_anim",%german_shepherd_player_neck_snap,1,0.2,1); + thread dog_delayed_allow_damage(); + self setcandamage(0); + self waittillmatch("dog_death","dog_death_anim"); + thread common_scripts\utility::play_sound_in_space("dog_neckbreak",self geteye()); + self setcandamage(1); + self.a.nodeath = 1; + self.dog_neck_snapped = 1; + var_03 = self.meleeingplayer.origin - self.origin; + var_03 = (var_03[0],var_03[1],0); + thread dog_delayed_unlink(); + self kill(self geteye() - var_03,self.meleeingplayer); + self notify("killanimscript"); + } + else + { + self.meleeingplayer set_melee_early(var_02); + self.meleeingplayer.player_view playerview_knockdownlate(); + self setanimlimited(%attack_player,0.01,0.2,1); + self setanimlimited(%attack_player_late,1,0.2,1); + if(is_hyena()) + { + level.dog_death_quote = &"NEW_HYENA_DEATH_TOO_LATE_ALT"; + level.so_dog_death_quote = "@NEW_HYENA_DEATH_TOO_LATE_ALT"; + } + else + { + level.dog_death_quote = &"NEW_DOG_DEATH_TOO_LATE_ALT"; + level.so_dog_death_quote = "@NEW_DOG_DEATH_TOO_LATE_ALT"; + } + + level.dog_death_type = "late"; + } + + return; + } + + var_02 = 1; + if(self.meleeingplayer can_early_melee()) + { + if(is_hyena()) + { + level.dog_death_quote = &"NEW_HYENA_DEATH_TOO_SOON_ALT"; + level.so_dog_death_quote = "@NEW_HYENA_DEATH_TOO_SOON_ALT"; + } + else + { + level.dog_death_quote = &"NEW_DOG_DEATH_TOO_SOON_ALT"; + level.so_dog_death_quote = "@NEW_DOG_DEATH_TOO_SOON_ALT"; + } + + level.dog_death_type = "soon"; + var_04 = dog_vs_player_anim_rate(); + self setflaggedanimknobrestart("meleeanim",%german_shepherd_player_neck_miss,1,0.2,var_04); + self.meleeingplayer.player_view playerview_playmissanim(var_04); + return; + } + } + } + else if(!player_attacked()) + { + var_01 = 0; + } + + wait(0.05); + } +} + +//Function Number: 49 +can_early_melee() +{ + if(self.gameskill == 3) + { + return 1; + } + + if(isdefined(self.dogmeleeearly) && self.dogmeleeearly) + { + return 1; + } + + return 0; +} + +//Function Number: 50 +set_melee_early(param_00) +{ + if(!param_00) + { + return; + } + + if(level.gameskill > 1 && !isdefined(self.dogmeleeearly)) + { + self.dogmeleeearly = 1; + } +} + +//Function Number: 51 +meleestrugglevsdog() +{ + self endon("killanimscript"); + self endon("death"); + self endon("end_melee_all"); + if(!isdefined(self.syncedmeleetarget)) + { + return; + } + + self stopsounds(); + var_00 = vectortoangles(self.syncedmeleetarget.origin - self.origin); + var_01 = var_00[1]; + if(isdefined(self.use_old_dog_attack) && self.use_old_dog_attack) + { + var_02 = []; + var_02[0] = %body; + var_02[1] = %iw6_dog_kill_front_quick_guy_1; + var_03 = 1; + maps\_utility::gun_remove(); + } + else + { + var_02 = []; + var_02[0] = %body; + switch(self.dog_attack_dir) + { + case "F": + var_02[1] = %iw6_dog_kill_front_long_guy_1; + var_03 = 1; + playsound_victim("dogdeathlong"); + break; + + case "R": + var_02[1] = %iw6_dog_kill_right_quick_guy_1; + var_03 = 1; + var_01 = var_00[1] + 90; + playsound_victim("dogdeathshort"); + break; + + case "L": + var_02[1] = %iw6_dog_kill_left_quick_guy_1; + var_03 = 1; + var_01 = var_00[1] - 90; + playsound_victim("dogdeathshort"); + break; + + case "B": + var_02[1] = %iw6_dog_kill_back_quick_guy_1; + var_03 = 1; + var_01 = var_00[1] - 180; + playsound_victim("dogdeathshort"); + break; + + default: + break; + } + } + + domeleevsdog(var_02,var_01); +} + +//Function Number: 52 +playsound_victim(param_00) +{ + if(isdefined(self.syncedmeleetarget.controlling_dog)) + { + param_00 = param_00 + "plr"; + } + + thread animscripts\face::saygenericdialogue(param_00); +} + +//Function Number: 53 +meleestrugglevsdog_interruptedcheck() +{ + self endon("killanimscript"); + self endon("death"); + self endon("end_melee_all"); + var_00 = []; + var_00[1] = %ai_attacked_german_shepherd_02_getup_a; + var_00[2] = %ai_attacked_german_shepherd_02_getup_a; + if(self.syncedmeleetarget.meleekilltarget) + { + var_00[4] = %ai_attacked_german_shepherd_04_getup_a; + } + + for(;;) + { + if(!isdefined(self.syncedmeleetarget) || !isalive(self.syncedmeleetarget)) + { + break; + } + + wait(0.1); + } + + self.ragdoll_immediate = undefined; + if(self.meleeseq > 0) + { + if(!isdefined(var_00[self.meleeseq])) + { + return; + } + + self clearanim(%melee_dog,0.1); + self setflaggedanimrestart("getupanim",var_00[self.meleeseq],1,0.1,1); + animscripts\shared::donotetracks("getupanim"); + } + + meleestrugglevsdog_end(); +} + +//Function Number: 54 +meleestrugglevsdog_end() +{ + self orientmode("face default"); + self.syncedmeleetarget = undefined; + self.meleeseq = undefined; + self.allowpain = 1; + self.battlechatter = 1; + self.use_old_dog_attack = undefined; + self.dog_attacking_me = undefined; + setnextdogattackallowtime(1000); + if(isdefined(self.olddontattackme)) + { + self.dontattackme = self.olddontattackme; + self.olddontattackme = undefined; + } + + self notify("end_melee_all"); +} + +//Function Number: 55 +meleestrugglevsdog_collision(param_00) +{ + self endon("killanimscript"); + self endon("death"); + self endon("end_melee_all"); + var_01 = self.syncedmeleetarget; + var_01 endon("death"); + var_01 endon("killanimscript"); + if(isdefined(param_00) && param_00 > 0) + { + wait(param_00); + } + + var_01.doglastknowngoodpos = var_01.origin; + for(;;) + { + var_02 = var_01 aiphysicstrace(self.origin,var_01.origin,undefined,undefined,1,1,1); + if(var_02["fraction"] >= 1) + { + var_01.doglastknowngoodpos = var_01.origin; + wait(0.05); + continue; + } + + if(var_02["normal"][2] >= 0) + { + var_03 = var_02["position"] - var_01.origin; + var_04 = vectordot(var_03,var_02["normal"]); + if(var_04 > 0) + { + var_05 = self.origin + var_04 + 1 * var_02["normal"]; + var_06 = var_05 + (0,0,9); + var_07 = var_05 + (0,0,-9); + var_08 = self aiphysicstrace(var_06,var_07); + if(var_08[2] > var_05[2]) + { + var_05 = var_08; + } + + self forceteleport(var_05,self.angles,60); + } + } + + wait(0.05); + } +} + +//Function Number: 56 +meleestrugglevsdog_justdie() +{ + thread animscripts\face::saygenericdialogue("dogdeathlong"); + self.ragdoll_immediate = 1; + if(!isdefined(self.magic_bullet_shield)) + { + self.forceragdollimmediate = 1; + animscripts\shared::dropallaiweapons(); + self kill(self.dog_attacking_me.origin,self.dog_attacking_me); + } + + thread ragdoll_corpses(); + setnextdogattackallowtime(1000); +} + +//Function Number: 57 +meleestrugglevsdog_traverse() +{ + if(!isdefined(self.syncedmeleetarget)) + { + return; + } + + var_00 = vectortoangles(self.syncedmeleetarget.origin - self.origin); + var_01 = var_00[1]; + var_02 = []; + var_02[0] = %body; + var_02[1] = %iw6_dog_kill_wall_over_front_guy_1; + playsound_victim("dogdeathlong"); + domeleevsdog(var_02,var_01,0.15); +} + +//Function Number: 58 +domeleevsdog(param_00,param_01,param_02) +{ + self endon("killanimscript"); + self endon("death"); + self endon("end_melee_all"); + if(!isdefined(self.syncedmeleetarget)) + { + return; + } + + self orientmode("face angle",param_01); + self animmode("gravity"); + self.olddontattackme = self.dontattackme; + self.dontattackme = 1; + self.health = 1; + self.battlechatter = 0; + self.a.pose = "stand"; + self.a.special = "none"; + if(animscripts\utility::usingsidearm()) + { + animscripts\shared::placeweaponon(self.primaryweapon,"right"); + } + + self.ragdoll_immediate = 1; + self.meleeseq = 0; + thread meleestrugglevsdog_interruptedcheck(); + self clearanim(param_00[0],0.1); + self setflaggedanimrestart("aianim",param_00[1],1,0.1,1); + thread animscripts\shared::donotetracks("aianim"); + wait(0.15); + self.syncedmeleetarget linkto(self,"tag_sync",(0,0,0),(0,0,0)); + thread meleestrugglevsdog_collision(param_02); + self waittillmatch("end","aianim"); + self.syncedmeleetarget notify("end_dog_interrupted_check"); + if(!isdefined(self.magic_bullet_shield)) + { + self.forceragdollimmediate = 1; + self.a.nodeath = 1; + animscripts\shared::dropallaiweapons(); + self kill(self.dog_attacking_me.origin,self.dog_attacking_me); + } + + meleestrugglevsdog_end(); +} + +//Function Number: 59 +playerdrone_create(param_00) +{ + var_01 = spawn("script_model",param_00.origin); + var_01 [[ param_00.last_modelfunc ]](); + var_01 useanimtree(#animtree); + return var_01; +} + +//Function Number: 60 +playerdrone_anim_knockdown(param_00) +{ + self endon("death"); + var_01 = getanimlength(%player_3rd_dog_knockdown); + self setanim(%player_3rd_dog_knockdown,1,0,param_00); +} + +//Function Number: 61 +playerdone_anim_neck_snap() +{ + self setanimknobrestart(%player_3rd_dog_knockdown_neck_snap,1,0,1); +} + +//Function Number: 62 +playerdone_anim_saved() +{ + self setanimknobrestart(%player_3rd_dog_knockdown_saved,1,0,1); +} + +//Function Number: 63 +playerdone_anim_laststand() +{ + self setanimknobrestart(%player_3rd_dog_knockdown_laststand,1,0,1); +} + +//Function Number: 64 +playerview_spawn(param_00) +{ + var_01 = spawn("script_model",param_00.meleeingplayer.origin); + var_01.angles = param_00.meleeingplayer.angles; + var_01 setmodel(level.player_viewhand_model); + var_01 useanimtree(#animtree); + var_01 hide(); + return var_01; +} + +//Function Number: 65 +handleplayerknockdownnotetracks(param_00) +{ + switch(param_00) + { + case "allow_player_save": + if(isdefined(self.dog)) + { + wait(1); + self.dog setcandamage(1); + } + break; + + case "blood_pool": + if(!isdefined(self.dog.meleeingplayer)) + { + break; + } + + if(maps\_utility::killing_will_down(self.dog.meleeingplayer)) + { + break; + } + + var_01 = self gettagorigin("tag_torso"); + var_02 = self gettagangles("tag_torso"); + var_03 = anglestoforward(var_02); + var_04 = anglestoup(var_02); + var_05 = anglestoright(var_02); + var_01 = var_01 + var_03 * -8.5 + var_04 * 5 + var_05 * 0; + playfx(level._effect["deathfx_bloodpool"],var_01,var_03,var_04); + break; + } +} + +//Function Number: 66 +playerview_knockdownanim(param_00) +{ + self endon("pvd_melee_interrupted"); + var_01 = param_00.meleeingplayer; + self.dog = param_00; + thread playerview_checkinterrupted(var_01); + self setflaggedanimrestart("viewanim",%player_view_dog_knockdown); + self setflaggedanimrestart("viewanim",%player_view_dog_knockdown_late); + self setanimlimited(%knockdown,1,0,1); + self setanimlimited(%knockdown_late,0.01,0,1); + animscripts\shared::donotetracks("viewanim",::handleplayerknockdownnotetracks); + self dontinterpolate(); + self.dog = undefined; + playerview_endsequence(var_01); + self notify("pvd_melee_done"); +} + +//Function Number: 67 +playerview_checkinterrupted(param_00) +{ + self endon("pvd_melee_done"); + self.dog common_scripts\utility::waittill_any("death","pain","melee_stop"); + if(!isdefined(param_00.specialdeath) && isalive(param_00)) + { + self notify("pvd_melee_interrupted"); + self.dog notify("pvd_melee_interrupted"); + playerview_endsequence(param_00); + } +} + +//Function Number: 68 +playerview_startsequence(param_00) +{ + if(isdefined(self.inseq)) + { + return 0; + } + + var_01 = param_00.meleeingplayer; + if(isdefined(var_01) && isdefined(var_01.placingsentry)) + { + var_01 notify("sentry_placement_canceled"); + } + + var_01 notify("dog_attacks_player"); + self.inseq = 1; + if(isalive(var_01)) + { + var_01 hidehud(); + } + + var_01 setstance("stand"); + var_01.syncedmeleetarget = param_00; + var_01.player_view playerview_show(var_01); + var_02 = param_00.origin - var_01.origin; + self.angles = vectortoangles(var_02); + self.angles = (0,self.angles[1],0); + self.startangles = self.angles; + var_03 = var_01.origin; + var_04 = var_01 getdroptofloorposition(var_01.origin); + if(isdefined(var_04)) + { + self.origin = var_04; + } + else + { + self.origin = var_01.origin; + } + + thread playerview_knockdownanim(param_00); + self dontinterpolate(); + var_01 playerlinktoabsolute(self,"tag_player"); + param_00 linkto(self,"tag_sync",(0,0,0),(0,0,0)); + var_05 = self gettagangles("tag_sync"); + param_00 orientmode("face angle",var_05[1]); + param_00 orientmode("face default"); + var_01 allowstand(1); + var_01 allowlean(0); + var_01 allowcrouch(0); + var_01 allowprone(0); + var_01 freezecontrols(1); + var_01 setcandamage(0); + return 1; +} + +//Function Number: 69 +savednotify(param_00) +{ + wait(0.5); + param_00 playsound("saved_from_dog"); +} + +//Function Number: 70 +player_gets_weapons_back() +{ + self endon("death"); + self showviewmodel(); + self enableweapons(); +} + +//Function Number: 71 +playerview_endsequence(param_00) +{ + param_00 showhud(); + if(isalive(param_00)) + { + self clearanim(%player_view_dog_knockdown,0.1); + if(isdefined(self.necksnapped)) + { + self setflaggedanimrestart("viewanim",%player_view_dog_knockdown_neck_snap,1,0.2,1); + if(isdefined(self.playerdrone)) + { + self.playerdrone playerdone_anim_neck_snap(); + } + } + else if(isdefined(param_00.dog_downed_player)) + { + self setflaggedanimknobrestart("viewanim",%player_view_dog_knockdown_laststand,1,0.1,1); + if(isdefined(self.playerdrone)) + { + self.playerdrone playerdone_anim_laststand(); + } + } + else + { + thread savednotify(param_00); + self setflaggedanimrestart("viewanim",%player_view_dog_knockdown_saved); + if(isdefined(self.playerdrone)) + { + self.playerdrone playerdone_anim_saved(); + } + } + + if(!isdefined(param_00.dog_downed_player)) + { + param_00 maps\_utility::delaythread(2.5,::player_gets_weapons_back); + animscripts\shared::donotetracks("viewanim"); + param_00 notify("player_saved_from_dog"); + } + else + { + animscripts\shared::donotetracks("viewanim"); + param_00 notify("deathshield",1000000,self.dog); + param_00 showviewmodel(); + } + + playerview_unlinkplayeranddelete(param_00); + } + else + { + setsaveddvar("compass",0); + } + + param_00.syncedmeleetarget = undefined; + param_00.dog_downed_player = undefined; + restoreplayercontrols(param_00); +} + +//Function Number: 72 +playerview_unlinkplayeranddelete(param_00) +{ + param_00 show(); + param_00 unlink(); + param_00 setorigin(self.origin); + param_00 setplayerangles(self.startangles); + param_00 setcandamage(1); + var_01 = param_00.player_view; + if(isdefined(var_01)) + { + if(isdefined(var_01.playerdrone)) + { + var_01.playerdrone delete(); + } + + var_01 delete(); + param_00.player_view = undefined; + } +} + +//Function Number: 73 +restoreplayercontrols(param_00) +{ + param_00 allowlean(1); + param_00 allowcrouch(1); + param_00 allowprone(1); + param_00 freezecontrols(0); + param_00.attacked_by_dog = undefined; +} + +//Function Number: 74 +playerview_show(param_00) +{ + self showonclient(param_00); + if(maps\_utility::is_coop()) + { + var_01 = playerdrone_create(param_00); + var_01 linkto(self,"tag_origin",(0,0,0),(0,0,0)); + var_01 thread playerdrone_anim_knockdown(1); + self.playerdrone = var_01; + if(level.player == param_00 && isdefined(level.player2)) + { + param_00 hideonclient(level.player2); + var_01 hideonclient(level.player); + } + else + { + param_00 hideonclient(level.player); + var_01 hideonclient(level.player2); + } + } + + param_00 hideviewmodel(); + param_00 disableweapons(); +} + +//Function Number: 75 +playerview_playknockdownanimlimited(param_00) +{ + self setflaggedanimlimited("viewanim",%player_view_dog_knockdown,1,0.2,param_00); + self setflaggedanimlimited("viewanim",%player_view_dog_knockdown_late,1,0.2,param_00); + if(isdefined(self.playerdrone)) + { + self.playerdrone playerdrone_anim_knockdown(param_00); + } +} + +//Function Number: 76 +playerview_playknockdownanim(param_00) +{ + self setflaggedanimlimited("viewanim",%player_view_dog_knockdown,1,0.2,param_00); + self setflaggedanimlimited("viewanim",%player_view_dog_knockdown_late,1,0.2,param_00); + if(isdefined(self.playerdrone)) + { + self.playerdrone playerdrone_anim_knockdown(param_00); + } +} + +//Function Number: 77 +playerview_playmissanim(param_00) +{ + self setflaggedanimknobrestart("viewanim",%player_view_dog_knockdown_neck_miss,1,0.2,param_00); +} + +//Function Number: 78 +playerview_knockdownlate() +{ + self setanimlimited(%knockdown,0.01,0.2,1); + self setanimlimited(%knockdown_late,1,0.2,1); +} + +//Function Number: 79 +dog_vs_player_anim_rate() +{ + return 1; +} + +//Function Number: 80 +is_hyena() +{ + if(issubstr(self.classname,"hyena")) + { + return 1; + } + + return 0; +} + +//Function Number: 81 +ragdoll_corpses() +{ + wait(0.1); + var_00 = getcorpsearray(); + foreach(var_02 in var_00) + { + if(var_02 isragdoll() == 0) + { + var_02 startragdoll(); + } + } +} + +//Function Number: 82 +handlevxnotetrack(param_00) +{ + if(common_scripts\utility::string_starts_with(param_00,"vfx")) + { + if(isdefined(level._effect[param_00])) + { + playfxontag(common_scripts\utility::getfx(param_00),self,"TAG_MOUTH_FX"); + return; + } + + return; + } + + if(common_scripts\utility::string_starts_with(param_00,"screen_blood")) + { + if(isdefined(self.controlling_dog)) + { + var_01 = "bottom"; + if(issubstr(param_00,"right")) + { + var_01 = "right"; + } + else if(issubstr(param_00,"left")) + { + var_01 = "left"; + } + + self notify("screen_blood",var_01); + return; + } + } +} \ No newline at end of file diff --git a/AW/PC/animscripts/dog/dog_cover_arrival.gsc b/AW/PC/animscripts/dog/dog_cover_arrival.gsc new file mode 100644 index 0000000..912fc01 --- /dev/null +++ b/AW/PC/animscripts/dog/dog_cover_arrival.gsc @@ -0,0 +1,20 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: dog\dog_cover_arrival.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 1:58:44 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self endon("killanimscript"); + thread animscripts\dog\dog_move::handlefootstepnotetracks(); + self clearanim(%dog_move,0.2); + self setflaggedanimknoballrestart("dog_stop",self.dogarrivalanim,%body,1,0.2,self.moveplaybackrate); + animscripts\shared::donotetracks("dog_stop"); + self.dogarrivalanim = undefined; +} \ No newline at end of file diff --git a/AW/PC/animscripts/dog/dog_death.gsc b/AW/PC/animscripts/dog/dog_death.gsc new file mode 100644 index 0000000..c959b90 --- /dev/null +++ b/AW/PC/animscripts/dog/dog_death.gsc @@ -0,0 +1,95 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: dog\dog_death.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 45 ms + * Timestamp: 4/22/2024 1:58:45 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(isdefined(level.shark_functions)) + { + if(issubstr(self.model,"shark")) + { + self [[ level.shark_functions["death"] ]](); + return; + } + } + + self endon("killanimscript"); + if(isdefined(self.a.nodeath)) + { + wait(1.1); + var_00 = self getdroptofloorposition(); + if(isdefined(var_00)) + { + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01.origin = self.origin; + var_01.angles = self.angles; + self linkto(var_01); + var_01 moveto(var_00,0.5); + wait(0.5); + self unlink(); + var_01 delete(); + } + else + { + wait(0.5); + } + + return; + } + + self unlink(); + if(isdefined(self.enemy) && isdefined(self.enemy.syncedmeleetarget) && self.enemy.syncedmeleetarget == self) + { + self.enemy.syncedmeleetarget = undefined; + } + + self clearanim(%body,0.2); + var_02 = getdogdeathanim("front"); + if(isdefined(self.deathanim)) + { + var_02 = self.deathanim; + } + + if(isdefined(self.custom_deathsound)) + { + self playsound(self.custom_deathsound); + } + else if(self isdogbeingdriven()) + { + soundscripts\_snd::snd_message("anml_doberman","death"); + } + else + { + soundscripts\_snd::snd_message("anml_doberman","death"); + } + + self setflaggedanimrestart("dog_anim",var_02,1,0.2,1); + animscripts\shared::donotetracks("dog_anim"); +} + +//Function Number: 2 +getdogdeathanim(param_00) +{ + var_01 = animscripts\utility::lookupdoganim("death",param_00); + if(isarray(var_01)) + { + return var_01[randomint(var_01.size)]; + } + + return var_01; +} + +//Function Number: 3 +initdogarchetype_death() +{ + var_00 = []; + var_00["front"] = [%iw6_dog_death_4,%iw6_dog_death_6]; + level.archetypes["dog"]["death"] = var_00; +} \ No newline at end of file diff --git a/AW/PC/animscripts/dog/dog_flashed.gsc b/AW/PC/animscripts/dog/dog_flashed.gsc new file mode 100644 index 0000000..45ce988 --- /dev/null +++ b/AW/PC/animscripts/dog/dog_flashed.gsc @@ -0,0 +1,61 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: dog\dog_flashed.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 1:58:45 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(isdefined(level.shark_functions)) + { + if(issubstr(self.model,"shark")) + { + self [[ level.shark_functions["flashed"] ]](); + return; + } + } + + self endon("killanimscript"); + self endon("stop_flashbang_effect"); + wait(randomfloatrange(0,0.4)); + self clearanim(%body,0.1); + var_00 = maps\_utility::flashbanggettimeleftsec(); + if(var_00 > 2 && randomint(100) > 60) + { + self setflaggedanimrestart("flashed_anim",getdogflashedanim("flash_long"),1,0.2,self.animplaybackrate * 0.75); + } + else + { + self setflaggedanimrestart("flashed_anim",getdogflashedanim("flash_short"),1,0.2,self.animplaybackrate); + } + + var_01 = getanimlength(getdogflashedanim("flash_short")) * self.animplaybackrate; + if(var_00 < var_01) + { + animscripts\notetracks::donotetracksfortime(var_00,"flashed_anim"); + } + else + { + animscripts\shared::donotetracks("flashed_anim"); + } + + self.flashed = 0; + self notify("stop_flashbang_effect"); +} + +//Function Number: 2 +getdogflashedanim(param_00) +{ + var_01 = animscripts\utility::lookupdoganim("reaction",param_00); + if(isdefined(var_01) && isarray(var_01)) + { + return var_01[randomint(var_01.size)]; + } + + return var_01; +} \ No newline at end of file diff --git a/AW/PC/animscripts/dog/dog_init.gsc b/AW/PC/animscripts/dog/dog_init.gsc new file mode 100644 index 0000000..6457254 --- /dev/null +++ b/AW/PC/animscripts/dog/dog_init.gsc @@ -0,0 +1,142 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: dog\dog_init.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 4 + * Decompile Time: 67 ms + * Timestamp: 4/22/2024 1:58:45 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(isdefined(level.shark_functions)) + { + if(issubstr(self.model,"shark")) + { + self [[ level.shark_functions["init"] ]](); + return; + } + } + + self useanimtree(#animtree); + initdoganimations(); + initdogarchetype(); + animscripts\init::firstinit(); + self.ignoresuppression = 1; + self.newenemyreactiondistsq = 0; + self.chatinitialized = 0; + self.nododgemove = 1; + self.root_anim = %body; + self.meleeattackdist = 0; + thread setmeleeattackdist(); + self.a = spawnstruct(); + self.a.pose = "stand"; + self.a.nextstandinghitdying = 0; + self.a.movement = "run"; + animscripts\init::set_anim_playback_rate(); + self.suppressionthreshold = 1; + self.disablearrivals = 0; + self.stopanimdistsq = level.dogstoppingdistsq; + self.usechokepoints = 0; + self.turnrate = 0.2; + thread animscripts\combat_utility::monitorflash(); + self.pathenemyfightdist = 512; + self settalktospecies("dog"); + self.health = int(level.dog_health * self.health); +} + +//Function Number: 2 +setmeleeattackdist() +{ + self endon("death"); + for(;;) + { + if(isdefined(self.enemy) && isplayer(self.enemy)) + { + self.meleeattackdist = level.dogattackplayerdist; + } + else + { + self.meleeattackdist = level.dogattackaidist; + } + + self waittill("enemy"); + } +} + +//Function Number: 3 +initdoganimations() +{ + if(!isdefined(level.dogsinitialized)) + { + level.dogsinitialized = 1; + precachestring(&"SCRIPT_PLATFORM_DOG_DEATH_DO_NOTHING"); + precachestring(&"SCRIPT_PLATFORM_DOG_DEATH_TOO_LATE"); + precachestring(&"SCRIPT_PLATFORM_DOG_DEATH_TOO_SOON"); + precachestring(&"SCRIPT_PLATFORM_DOG_HINT"); + precachestring(&"NEW_DOG_DEATH_DO_NOTHING_ALT"); + precachestring(&"NEW_DOG_DEATH_TOO_LATE_ALT"); + precachestring(&"NEW_DOG_DEATH_TOO_SOON_ALT"); + } + + if(isdefined(level.notfirsttimedogs)) + { + return; + } + + precacheshader("hud_dog_melee"); + precacheshader("hud_hyena_melee"); + anim.notfirsttimedogs = 1; + anim.dogstoppingdistsq = lengthsquared(getmovedelta(%iw6_dog_attackidle_runin_8,0,1) * 3); + anim.dogstartmovedist = length(getmovedelta(%iw6_dog_attackidle_runout_8,0,1)); + anim.dogattackplayerdist = 102; + var_00 = getstartorigin((0,0,0),(0,0,0),%iw6_dog_kill_front_quick_1); + anim.dogattackaidist = length(var_00); + anim.dogtraverseanims = []; + level.dogtraverseanims["wallhop"] = %iw6_dog_traverse_over_24; + level.dogtraverseanims["window_40"] = %iw6_dog_traverse_over_36; + level.dogtraverseanims["jump_down_40"] = %iw6_dog_traverse_down_40; + level.dogtraverseanims["jump_down_24"] = %iw6_dog_traverse_down_24; + level.dogtraverseanims["jump_up_24"] = %iw6_dog_traverse_up_24; + level.dogtraverseanims["jump_up_40"] = %iw6_dog_traverse_up_40; + level.dogtraverseanims["jump_up_80"] = %iw6_dog_traverse_up_70; + level.dogtraverseanims["jump_down_70"] = %iw6_dog_traverse_down_70; + level.doglookpose["attackIdle"][2] = %german_shepherd_attack_look_down; + level.doglookpose["attackIdle"][4] = %german_shepherd_attack_look_left; + level.doglookpose["attackIdle"][6] = %german_shepherd_attack_look_right; + level.doglookpose["attackIdle"][8] = %german_shepherd_attack_look_up; + level.doglookpose["normal"][2] = %german_shepherd_look_down; + level.doglookpose["normal"][4] = %german_shepherd_look_left; + level.doglookpose["normal"][6] = %german_shepherd_look_right; + level.doglookpose["normal"][8] = %german_shepherd_look_up; + level._effect["dog_bite_blood"] = loadfx("fx/impacts/deathfx_dogbite"); + level._effect["deathfx_bloodpool"] = loadfx("fx/impacts/deathfx_bloodpool_view"); + var_01 = 5; + var_02 = []; + for(var_03 = 0;var_03 <= var_01;var_03++) + { + var_02[var_02.size] = var_03 / var_01; + } + + level.dog_melee_index = 0; + level.dog_melee_timing_array = common_scripts\utility::array_randomize(var_02); + setdvar("friendlySaveFromDog","0"); +} + +//Function Number: 4 +initdogarchetype() +{ + animscripts\animset::init_anim_sets(); + if(animscripts\animset::archetypeexists("dog")) + { + return; + } + + level.archetypes["dog"] = []; + animscripts\dog\dog_stop::initdogarchetype_stop(); + animscripts\dog\dog_move::initdogarchetype_move(); + animscripts\dog\dog_pain::initdogarchetype_reaction(); + animscripts\dog\dog_death::initdogarchetype_death(); +} \ No newline at end of file diff --git a/AW/PC/animscripts/dog/dog_kill_traversal.gsc b/AW/PC/animscripts/dog/dog_kill_traversal.gsc new file mode 100644 index 0000000..ecaa537 --- /dev/null +++ b/AW/PC/animscripts/dog/dog_kill_traversal.gsc @@ -0,0 +1,151 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: dog\dog_kill_traversal.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 6 + * Decompile Time: 94 ms + * Timestamp: 4/22/2024 1:58:46 AM +*******************************************************************/ + +//Function Number: 1 +check_kill_traversal(param_00) +{ + if(self.team != "allies") + { + return 0; + } + + self endon("killanimscript"); + var_01 = self getnegotiationstartnode(); + var_02 = self getnegotiationendnode(); + var_03 = getaiarray("axis"); + var_04 = undefined; + var_05 = dog_get_within_range(var_02.origin,var_03,90); + if(var_05.size > 0) + { + var_06 = var_05[0]; + var_07 = lengthsquared(var_01.origin - var_02.origin); + var_08 = lengthsquared(var_01.origin - var_06.origin); + if(var_08 < var_07) + { + self.syncedmeleetarget2 = var_06; + var_06.syncedmeleetarget2 = self; + var_06.traversedata = param_00; + var_09 = []; + var_09[0][0] = 400; + var_09[0][1] = "blood_small"; + var_09[0][2] = "J_Neck"; + var_09[1][0] = 2300; + var_09[1][1] = "blood_medium"; + var_09[1][2] = "J_Neck"; + var_09[2][0] = 2600; + var_09[2][1] = "blood_medium"; + var_09[2][2] = "J_Neck"; + var_09[3][0] = 3300; + var_09[3][1] = "blood_heavy"; + var_09[3][2] = "J_Neck"; + var_06 thread monitorfx(var_09); + var_06 animcustom(::human_traverse_kill); + self orientmode("face angle",var_01.angles[1]); + dog_traverse_kill(param_00); + return 1; + } + } + + return 0; +} + +//Function Number: 2 +dog_get_within_range(param_00,param_01,param_02) +{ + var_03 = []; + for(var_04 = 0;var_04 < param_01.size;var_04++) + { + if(distance(param_01[var_04].origin,param_00) <= param_02) + { + var_03[var_03.size] = param_01[var_04]; + } + } + + return var_03; +} + +//Function Number: 3 +dog_traverse_kill(param_00) +{ + self.safetochangescript = 0; + self.orig_flashbangimmunity = self.flashbangimmunity; + self.flashbangimmunity = 1; + self.pushable = 0; + self traversemode("nogravity"); + self traversemode("noclip"); + self clearpitchorient(); + self setcandamage(0); + self clearanim(%body,0.1); + self setflaggedanimrestart("dog_traverse",level.scr_anim["generic"][param_00["traverseAnim"]][0],1,0.2,1); + animscripts\shared::donotetracks("dog_traverse"); + self unlink(); + self setcandamage(1); + self traversemode("gravity"); + self.pushable = 1; + self.safetochangescript = 1; + self.flashbangimmunity = self.orig_flashbangimmunity; +} + +//Function Number: 4 +human_traverse_kill() +{ + self endon("killanimscript"); + self endon("death"); + self orientmode("face point",self.syncedmeleetarget2.origin,1); + self animmode("nogravity"); + self.a.pose = "stand"; + self.a.special = "none"; + if(animscripts\utility::usingsidearm()) + { + animscripts\shared::placeweaponon(self.primaryweapon,"right"); + } + + self clearanim(%body,0.1); + self setflaggedanimrestart("aianim",level.scr_anim["generic"][self.traversedata["traverseAnim"]][1],1,0.1,1); + if(isdefined(self.traversedata["linkMe"])) + { + thread dog_link(); + } + + animscripts\shared::donotetracks("aianim"); + self waittillmatch("end","aianim"); + if(isalive(self) && !isdefined(self.magic_bullet_shield)) + { + self.a.nodeath = 1; + animscripts\shared::dropallaiweapons(); + self kill(); + } +} + +//Function Number: 5 +monitorfx(param_00) +{ + self endon("death"); + var_01 = 0; + var_02 = gettime(); + while(var_01 < param_00.size) + { + var_03 = gettime() - var_02; + if(var_03 >= param_00[var_01][0]) + { + playfxontag(level._effect[param_00[var_01][1]],self,param_00[var_01][2]); + var_01++; + } + + wait(0.05); + } +} + +//Function Number: 6 +dog_link() +{ + wait(0.15); + self.syncedmeleetarget2 linkto(self,"tag_sync",(0,0,0),(0,0,0)); +} \ No newline at end of file diff --git a/AW/PC/animscripts/dog/dog_move.gsc b/AW/PC/animscripts/dog/dog_move.gsc new file mode 100644 index 0000000..2d9a27e --- /dev/null +++ b/AW/PC/animscripts/dog/dog_move.gsc @@ -0,0 +1,1358 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: dog\dog_move.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 49 + * Decompile Time: 584 ms + * Timestamp: 4/22/2024 1:58:48 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(isdefined(level.shark_functions)) + { + if(issubstr(self.model,"shark")) + { + self [[ level.shark_functions["move"] ]](); + return; + } + } + + self.sharpturnlookaheaddist = 48; + self.postsharpturnlookaheaddist = 100; + self.sharpturntooclosetodestdist = 72; + self endon("killanimscript"); + thread handlefootstepnotetracks(); + if(self isdogbeingdriven()) + { + continuedrivenmovement(); + return; + } + + startmove(); + continuemovement(); +} + +//Function Number: 2 +end_script() +{ + if(isdefined(self.prevturnrate)) + { + self.turnrate = self.prevturnrate; + self.prevturnrate = undefined; + } + + if(isdefined(self.moveoverridesound)) + { + stopmovesound(); + self.moveoverridesound = undefined; + } + + self.drivenmovemode = undefined; + self.bsharpturnduringsharpturn = undefined; + cancelallbut(undefined); +} + +//Function Number: 3 +setupmovement() +{ + thread waitfordrivenchange(); + thread waitforrunwalkslopechange(); + thread waitforratechange(); + thread waitforbark(); + thread waitforsharpturn(); + thread waitforstop(); + thread waitforfollowspeed(); +} + +//Function Number: 4 +continuemovement() +{ + self.moveratemultiplier = 1; + setupmovement(); + self animmode("none"); + self orientmode("face motion"); + self clearanim(%body,0.2); + setmoveanim(self.movemode,self.stairsstate,1); +} + +//Function Number: 5 +continuedrivenmovement() +{ + self clearanim(%body,0.5); + self.drivenmovemode = getdesireddrivenmovemode("walk"); + setdrivenanim(self.drivenmovemode,1); + thread waitfordrivenchange(); + thread drivenanimupdate(); +} + +//Function Number: 6 +startturntoangle(param_00,param_01) +{ + self clearanim(%body,0.2); + animscripts\dog\dog_stop::turntoangle(param_00,param_01); +} + +//Function Number: 7 +startmove() +{ + self.bfirstmoveanim = 1; + var_00 = self getnegotiationstartnode(); + if(isdefined(var_00)) + { + var_01 = var_00.origin; + } + else + { + var_01 = self.pathgoalpos; + } + + if(!isdefined(var_01)) + { + return; + } + + if(isdefined(self.disableexits) && self.disableexits) + { + return; + } + + if(self isdogbeingdriven()) + { + return; + } + + var_02 = vectortoangles(self.lookaheaddir); + var_03 = angleclamp180(var_02[1] - self.angles[1]); + if((isdefined(self.bdoturnandmove) && self.bdoturnandmove) || isdefined(self.movementtype) && self.movementtype == "walk" || self.movementtype == "walk_fast" || self.movementtype == "sniff") + { + if(abs(var_03) > 25) + { + startturntoangle(var_02[1],1); + } + + return; + } + + if(length2dsquared(self.velocity) > 16) + { + var_04 = vectortoangles(self.velocity); + if(abs(angleclamp180(var_04[1] - var_02[1])) < 45) + { + return; + } + } + + if(distancesquared(var_01,self.origin) < 22500) + { + if(abs(var_03) > 25) + { + startturntoangle(var_02[1],1); + } + + return; + } + + var_05 = getdogmoveanim("run_start"); + var_06 = getangleindices(var_03); + var_07 = undefined; + for(var_08 = 0;var_08 < var_06.size;var_08++) + { + var_09 = var_06[var_08]; + var_07 = var_05[var_09]; + var_0A = getmovedelta(var_07); + var_0B = rotatevector(var_0A,self.angles) + self.origin; + if(self maymovefrompointtopoint(self.origin,var_0B,1,1)) + { + break; + } + } + + if(var_08 == var_06.size) + { + if(abs(var_03) > 25) + { + startturntoangle(var_02[1],1); + } + + return; + } + + self.moveanimtype = "run"; + var_0C = getnotetracktimes(var_07,"code_move"); + var_0D = 1; + if(var_0C.size > 0) + { + var_0D = var_0C[0]; + } + + var_0E = getangledelta3d(var_07,0,var_0D); + self animmode("zonly_physics",0); + self orientmode("face angle",angleclamp180(var_02[1] - var_0E[1])); + var_0F = getanimlength(var_07) * var_0D; + var_10 = 0.01 + abs(angleclamp180(var_03 - var_0E[1])) / var_0F / 1000; + if(var_10 < 0.01) + { + var_10 = 0.01; + } + + self.prevturnrate = self.turnrate; + self.turnrate = var_10; + var_11 = 0.1; + if(animscripts\dog\dog_stop::getdefaultidlestate() != "attackidle") + { + var_11 = 0.4; + } + + self setflaggedanimknoballrestart("dog_start_move",var_07,%body,1,var_11,self.moveplaybackrate); + thread startmove_updateangle(var_07,var_0D,var_0F); + animscripts\shared::donotetracks("dog_start_move"); + self notify("end_startmove_updateangle"); + self.turnrate = self.prevturnrate; + self.prevturnrate = undefined; + self animmode("none",0); + self orientmode("face motion"); +} + +//Function Number: 8 +startmove_updateangle(param_00,param_01,param_02) +{ + self endon("killanimscript"); + self endon("end_startmove_updateangle"); + wait(0.05); + for(;;) + { + var_03 = self getanimtime(param_00); + var_04 = vectortoangles(self.lookaheaddir); + var_05 = getangledelta3d(param_00,var_03,param_01); + var_06 = angleclamp180(var_04[1] - self.angles[1]); + self orientmode("face angle",angleclamp180(var_04[1] - var_05[1])); + self.turnrate = 0.01 + abs(angleclamp180(var_06 - var_05[1])) / param_02 / 1000; + if(self.turnrate < 0.01) + { + self.turnrate = 0.01; + } + + wait(0.05); + } +} + +//Function Number: 9 +startdrivenmovement() +{ + var_00 = getdogmoveanim("run_start"); + var_01 = var_00[4]; + self setflaggedanimknoballrestart("dog_start_move",var_01,%body); + animscripts\shared::donotetracks("dog_start_move"); +} + +//Function Number: 10 +waitfordrivenchange() +{ + self endon("dogmove_endwait_drivenchange"); + self endon("killanimscript"); + var_00 = self isdogbeingdriven(); + for(;;) + { + var_01 = self isdogbeingdriven(); + if(var_00 != var_01) + { + cancelallbut("drivenchange"); + if(var_01) + { + continuedrivenmovement(); + } + else + { + continuemovement(); + } + + break; + } + + wait(0.2); + } +} + +//Function Number: 11 +waitforrunwalkslopechange() +{ + self endon("dogmove_endwait_runwalkslope"); + self endon("killanimscript"); + var_00 = self.movemode; + var_01 = self.stairsstate; + var_02 = self.run_overrideanim; + var_03 = self.walk_overrideanim; + var_04 = self.movementtype; + for(;;) + { + if(var_00 != self.movemode || var_01 != self.stairsstate || hasmovementtypechanged(var_04) || hasoverrideanimchanged(var_02,var_03)) + { + self clearanim(%dog_move,0.2); + if(isdefined(self.script_nostairs)) + { + setmoveanim(self.movemode,"none",1); + } + else + { + setmoveanim(self.movemode,self.stairsstate,1); + } + + var_00 = self.movemode; + var_01 = self.stairsstate; + var_02 = self.run_overrideanim; + var_03 = self.walk_overrideanim; + var_04 = self.movementtype; + } + + wait(0.1); + } +} + +//Function Number: 12 +waitforratechange() +{ + self endon("dogmove_endwait_ratechange"); + self endon("killanimscript"); + var_00 = self.moveplaybackrate; + var_01 = self.moveratemultiplier; + for(;;) + { + if(var_00 != self.moveplaybackrate || var_01 != self.moveratemultiplier) + { + setmoveanim(self.movemode,self.stairsstate,0); + var_00 = self.moveplaybackrate; + var_01 = self.moveratemultiplier; + } + + wait(0.1); + } +} + +//Function Number: 13 +waitforsharpturn() +{ + self endon("dogmove_endwait_sharpturn"); + self endon("killanimscript"); + self waittill("path_changed",var_00,var_01,var_02); + var_03 = dosharpturn(var_01,var_02); + if(!var_03) + { + thread waitforsharpturn(); + } +} + +//Function Number: 14 +shoulddosharpturns() +{ + if(isdefined(self.script_noturnanim) || self isdogbeingdriven()) + { + return 0; + } + + if(isdefined(self.movementtype) && self.movementtype == "walk" || self.movementtype == "walk_fast") + { + return 0; + } + + if(self.stairsstate == "down") + { + return 0; + } + + return 1; +} + +//Function Number: 15 +dosharpturn(param_00,param_01) +{ + if(!shoulddosharpturns()) + { + return 0; + } + + var_02 = 10; + if(param_01) + { + var_02 = 30; + } + + var_03 = vectortoangles(param_00); + var_04 = angleclamp180(var_03[1] - self.angles[1]); + var_05 = getangleindex(var_04,var_02); + if(var_05 == 4) + { + return 0; + } + + cancelallbut("sharpturn"); + thread waitforsharpturnduringsharpturn(); + if(shouldsniff()) + { + var_06 = getdogmoveanim("sniff_turn"); + if(var_05 < 4) + { + var_07 = var_06[2]; + } + else + { + var_07 = var_06[6]; + } + } + else + { + var_07 = getdogturnanim("quick_sharp_turn",var_07); + } + + var_08 = getnotetracktimes(var_07,"code_move"); + var_09 = 1; + if(var_08.size > 0) + { + var_09 = var_08[0]; + } + + var_0A = getangledelta(var_07,0,var_09); + var_0B = getanimlength(var_07) * var_09; + var_0C = abs(var_04 - var_0A) / var_0B / 1000; + if(var_0C < 0.01) + { + var_0C = 0.01; + } + + self.prevturnrate = self.turnrate; + self.turnrate = var_0C; + self clearanim(%dog_move,0.1); + self animmode("zonly_physics",0); + self orientmode("face angle",angleclamp180(var_03[1] - var_0A)); + self setflaggedanimknoballrestart("dog_sharp_turn",var_07,%body,1,0.2,self.moveplaybackrate); + animscripts\shared::donotetracks("dog_sharp_turn"); + self clearanim(%dog_move_turn,0.2); + self.turnrate = self.prevturnrate; + self.prevturnrate = undefined; + self notify("dogmove_endwait_sharpturnduringsharpturn"); + if(isdefined(self.bsharpturnduringsharpturn)) + { + self.bsharpturnduringsharpturn = undefined; + if(!dosharpturn(self.lookaheaddir,1)) + { + continuemovement(); + } + } + else + { + continuemovement(); + } + + return 1; +} + +//Function Number: 16 +waitforsharpturnduringsharpturn() +{ + self endon("dogmove_endwait_sharpturnduringsharpturn"); + self endon("killanimscript"); + for(;;) + { + self waittill("path_changed",var_00,var_01,var_02); + if(var_02) + { + self.bsharpturnduringsharpturn = 1; + } + } +} + +//Function Number: 17 +shoulddoarrivals() +{ + if(isdefined(self.disablearrivals) && self.disablearrivals) + { + return 0; + } + + if(self isdogbeingdriven()) + { + return 0; + } + + if(isdefined(self.movementtype) && self.movementtype == "walk" || self.movementtype == "walk_fast") + { + return 0; + } + + return 1; +} + +//Function Number: 18 +waitforstop() +{ + self endon("dogmove_endwait_stop"); + self endon("killanimscript"); + self.stopanimdistsq = level.dogstoppingdistsq; + self waittill("stop_soon"); + if(!shoulddoarrivals()) + { + return; + } + + var_00 = self.pathgoalpos; + if(!isdefined(var_00)) + { + thread waitforstop(); + return; + } + + var_01 = getarrivalnode(); + if(isdefined(var_01) && var_01.type != "Path") + { + var_02 = angleclamp180(var_01.angles[1] - self.angles[1]); + var_03 = getangleindex(var_02); + } + else + { + var_04 = var_02 - self.origin; + var_05 = vectortoangles(var_04); + var_02 = angleclamp180(var_05[1] - self.angles[1]); + var_03 = getangleindex(var_02); + } + + var_06 = getdogmoveanim("run_stop"); + var_07 = animscripts\dog\dog_stop::getdefaultidlestate(0); + if(var_07 == "attackidle") + { + var_08 = "attack"; + } + else if(var_08 == "sneakidle" && var_06 == 4) + { + var_08 = "sneak"; + } + else if(var_08 == "alertidle" || var_08 == "sneakidle") + { + var_08 = "alert"; + } + else + { + var_08 = "casual"; + } + + var_09 = var_06[var_08][var_03]; + if(!isdefined(var_09)) + { + thread waitforstop(); + return; + } + + var_0A = getmovedelta(var_09); + var_0B = getangledelta(var_09); + var_0C = var_00 - self.origin; + if(length(var_0C) < length(var_0A)) + { + thread waitforstop(); + return; + } + + var_0D = getstopdata(); + var_0E = calcanimstartpos(var_0D.pos,var_0D.angles[1],var_0A,var_0B); + var_0F = droppostoground(var_0E); + if(!isdefined(var_0F)) + { + thread waitforstop(); + return; + } + + if(!self maymovefrompointtopoint(var_0D.pos,var_0F)) + { + thread waitforstop(); + return; + } + + cancelallbut("stop"); + if(distancesquared(var_0E,self.origin) > 4) + { + thread waitforpathsetwhilestopping(); + self setruntopos(var_0E); + self waittill("runto_arrived"); + self notify("dogmove_endwait_pathsetwhilestopping"); + } + + if(!shoulddoarrivals()) + { + continuemovement(); + return; + } + + stopmovesound(); + if(isdefined(var_01) && var_01.type != "Path") + { + var_10 = var_01.angles; + } + else + { + var_11 = var_01 - self.origin; + var_10 = vectortoangles(var_11); + } + + if(var_03 == 0 || var_03 == 1 || var_03 == 7 || var_03 == 8) + { + var_12 = (0,var_0D.angles[1] - var_0B,0); + } + else + { + var_12 = (0,var_12[1] - var_0C,0); + } + + self.dogarrivalanim = var_09; + self startcoverarrival(var_0E,var_12[1],0); +} + +//Function Number: 19 +waitforpathsetwhilestopping() +{ + self endon("killanimscript"); + self endon("dogmove_endwait_pathsetwhilestopping"); + var_00 = self.goalpos; + self waittill("path_set"); + var_01 = self.goalpos; + if(distance2dsquared(var_00,var_01) < 1) + { + thread waitforpathsetwhilestopping(); + return; + } + + cancelallbut("pathsetwhilestopping"); + continuemovement(); +} + +//Function Number: 20 +waitforbark() +{ + self endon("killanimscript"); + self endon("dogmove_endwait_bark"); + var_00 = 0.3; + var_01 = var_00; + for(;;) + { + if(isdefined(self.script_nobark) && self.script_nobark) + { + var_01 = var_00; + } + else if(isdefined(self.enemy)) + { + soundscripts\_snd::snd_message("anml_doberman","bark"); + var_01 = 2 + randomint(1); + } + else + { + var_01 = var_00; + } + + wait(var_01); + } +} + +//Function Number: 21 +waitforfollowspeed() +{ + self endon("killanimscript"); + self endon("dogmove_endwait_followspeed"); + var_00 = 128; + var_01 = 0.6; + var_02 = -30; + var_03 = 30; + self.moveratemultiplier = 1; + for(;;) + { + var_04 = self.moveratemultiplier; + self.moveratemultiplier = 1; + if(self isdogfollowinghandler() && self.movemode == "run") + { + if(isdefined(self.doghandler.pathgoalpos)) + { + var_05 = self.origin - self.doghandler.origin; + var_06 = lengthsquared(var_05); + if(var_06 < var_00 * var_00) + { + var_07 = vectordot(self.doghandler.lookaheaddir,var_05); + if(var_07 > var_03) + { + self.moveratemultiplier = lerp(var_01,1,lerpfraction(var_03,var_00,var_07)); + } + else if(var_07 > var_02) + { + self.moveratemultiplier = var_01; + } + else + { + self.moveratemultiplier = lerp(var_01,1,lerpfraction(var_02,-1 * var_00,var_07)); + } + } + } + } + else + { + var_08 = 1; + var_09 = self getdogavoident(); + if(isdefined(var_09)) + { + var_0A = var_09.origin - self.origin; + var_0B = anglestoforward(self.angles); + var_0C = vectordot(var_0B,var_0A); + if(var_0C > 0) + { + if(isplayer(var_09)) + { + var_0D = lengthsquared(var_09 getentityvelocity()); + } + else + { + var_0D = lengthsquared(var_0A.velocity); + } + + var_0E = anglestoforward(var_09.angles); + var_0F = 0.5; + if(var_0D < 1 || vectordot(var_0E,var_0B) > var_0F) + { + var_08 = 0.65; + } + } + } + + if(var_04 < var_08) + { + self.moveratemultiplier = min(var_04 + 0.05,var_08); + } + else if(var_04 > var_08) + { + self.moveratemultiplier = max(var_04 - 0.05,var_08); + } + } + + wait(0.1); + } +} + +//Function Number: 22 +lerp(param_00,param_01,param_02) +{ + return param_00 + param_01 - param_00 * param_02; +} + +//Function Number: 23 +lerpfraction(param_00,param_01,param_02) +{ + return param_02 - param_00 / param_01 - param_00; +} + +//Function Number: 24 +cancelallbut(param_00,param_01) +{ + var_02 = ["runwalkslope","ratechange","bark","sharpturn","sharpturnduringsharpturn","stop","pathsetwhilestopping","followspeed","drivenchange","drivenanim"]; + var_03 = isdefined(param_00); + var_04 = isdefined(param_01); + foreach(var_06 in var_02) + { + if(var_03 && var_06 == param_00) + { + continue; + } + + if(var_04 && var_06 == param_01) + { + continue; + } + + self notify("dogmove_endwait_" + var_06); + } +} + +//Function Number: 25 +getstopdata() +{ + var_00 = spawnstruct(); + var_01 = getarrivalnode(); + if(isdefined(var_01) && var_01.type != "Path") + { + var_00.pos = var_01.origin; + var_00.angles = var_01.angles; + } + else + { + var_00.pos = self.pathgoalpos; + if(lengthsquared(self.velocity) > 1) + { + var_00.angles = self.angles; + } + else + { + var_00.angles = vectortoangles(self.lookaheaddir); + } + } + + return var_00; +} + +//Function Number: 26 +playmoveanim(param_00,param_01,param_02,param_03) +{ + if(param_01) + { + self setflaggedanimknoballrestart("dog_move",param_00,%dog_move,1,param_02,param_03); + return; + } + + self setflaggedanimknoball("dog_move",param_00,%dog_move,1,param_02,param_03); +} + +//Function Number: 27 +playmoveanimknob(param_00,param_01,param_02,param_03) +{ + if(param_01) + { + self setflaggedanimknoballrestart("dog_move",param_00,%dog_move,1,param_02,param_03); + return; + } + + self setflaggedanimknoball("dog_move",param_00,%dog_move,1,param_02,param_03); +} + +//Function Number: 28 +setmoveanim(param_00,param_01,param_02) +{ + var_03 = !isdefined(param_02) || param_02; + var_04 = undefined; + var_05 = isdefined(self.bfirstmoveanim) && self.bfirstmoveanim; + self.bfirstmoveanim = undefined; + if(param_00 == "walk") + { + self setanimknob(%dog_walk,1); + if(isdefined(self.walk_overrideanim)) + { + var_06 = self.walk_overrideanim; + } + else if(shouldsniff()) + { + var_06 = getdogmoveanim("sniff"); + } + else + { + var_06 = getdogmoveanim("walk"); + } + + playmoveanim(var_06,var_03,0.3,self.moveplaybackrate * self.moveratemultiplier); + self.moveanimtype = "walk"; + } + else if(param_00 == "run") + { + if(param_01 == "up") + { + self setanimknob(%dog_slope,1); + var_06 = getdogmoveanim("run_up"); + playmoveanimknob(var_06,var_03,0.5,self.moveplaybackrate * self.moveratemultiplier); + self.moveanimtype = "run"; + } + else if(param_02 == "down") + { + self setanimknob(%dog_slope,1); + var_06 = getdogmoveanim("run_down"); + playmoveanimknob(var_06,var_03,0.5,self.moveplaybackrate * self.moveratemultiplier); + self.moveanimtype = "run"; + } + else if(isdefined(self.sprint) && self.sprint) + { + self setanimknob(%dog_run,1); + var_06 = getdogmoveanim("sprint"); + playmoveanim(var_06,var_03,0.3,self.moveplaybackrate * self.moveratemultiplier); + self.moveanimtype = "sprint"; + } + else + { + self setanimknob(%dog_run,1); + self.moveanimtype = "run"; + var_07 = isdefined(self.movementtype); + var_08 = 0.3; + if(isdefined(self.run_overrideanim)) + { + var_06 = self.run_overrideanim; + if(isdefined(self.run_overridesound)) + { + var_04 = self.run_overridesound; + } + } + else if(var_07 && self.movementtype == "walk") + { + var_06 = getdogmoveanim("walk"); + self.moveanimtype = "walk"; + if(var_05) + { + var_08 = 0.5; + } + } + else if(var_07 && self.movementtype == "walk_fast") + { + var_06 = getdogmoveanim("walk_fast"); + self.moveanimtype = "walk"; + if(var_05) + { + var_08 = 0.5; + } + } + else if(shouldsniff()) + { + var_06 = getdogmoveanim("sniff"); + var_04 = "anml_dog_sniff_walk"; + self.moveanimtype = "walk"; + if(var_05) + { + var_08 = 0.5; + } + } + else + { + var_06 = getdogmoveanim("run"); + } + + playmoveanim(var_06,var_03,var_08,self.moveplaybackrate * self.moveratemultiplier); + } + } + else + { + } + + playmovesound(var_04); +} + +//Function Number: 29 +playmovesound(param_00) +{ + var_01 = isdefined(self.moveoverridesound); + var_02 = isdefined(param_00); + if(!var_01 && !var_02) + { + return; + } + else if(var_01 && var_02 && self.moveoverridesound == param_00) + { + return; + } + + stopmovesound(); + if(var_02) + { + thread loopmovesound(param_00); + } +} + +//Function Number: 30 +loopmovesound(param_00) +{ + self endon("killanimscript"); + var_01 = spawn("script_origin",self.origin); + var_01.angles = self.angles; + var_01 linkto(self); + self.movesoundorigin = var_01; + self.moveoverridesound = param_00; + for(;;) + { + var_01 playsound(param_00,"dog_move_sound"); + var_02 = movesound_waitfordoneordeath(var_01,"dog_move_sound"); + if(!isdefined(var_02)) + { + break; + } + } +} + +//Function Number: 31 +movesound_waitfordoneordeath(param_00,param_01) +{ + self endon("death"); + param_00 endon("death"); + param_00 waittill(param_01); + return 1; +} + +//Function Number: 32 +stopmovesound() +{ + if(isdefined(self.movesoundorigin)) + { + if(self.movesoundorigin iswaitingonsound()) + { + self.movesoundorigin stopsounds(); + wait(0.05); + } + + if(isdefined(self.movesoundorigin)) + { + self.movesoundorigin delete(); + } + + self.movesoundorigin = undefined; + self.moveoverridesound = undefined; + } +} + +//Function Number: 33 +getdesireddrivenmovemode(param_00) +{ + var_01 = 22500; + var_02 = 10000; + var_03 = length2dsquared(self.velocity); + if(param_00 == "walk") + { + if(var_03 > var_01) + { + return "run"; + } + } + else if(param_00 == "run") + { + if(var_03 < var_02) + { + return "walk"; + } + } + + return param_00; +} + +//Function Number: 34 +setdrivenanim(param_00,param_01,param_02) +{ + self.bfirstmoveanim = undefined; + var_03 = 0.5; + self clearanim(%dog_move,var_03); + if(!isdefined(param_02)) + { + param_02 = 1; + } + + if(param_00 == "walk") + { + playmoveanimknob(getdogmoveanim("sneak"),param_01,var_03,param_02); + return; + } + + if(param_00 == "run") + { + playmoveanimknob(getdogmoveanim("run"),param_01,var_03,param_02); + } +} + +//Function Number: 35 +drivenanimupdate() +{ + self endon("dogmove_endwait_drivenanim"); + self endon("killanimscript"); + var_00 = 30; + var_01 = var_00 * var_00; + for(;;) + { + var_02 = getdesireddrivenmovemode(self.drivenmovemode); + if(var_02 != self.drivenmovemode) + { + setdrivenanim(var_02,1); + self.drivenmovemode = var_02; + } + + if(self.drivenmovemode == "walk") + { + var_03 = 1; + var_04 = length2dsquared(self.velocity); + if(var_04 < var_01) + { + var_03 = max(sqrt(var_04) / var_00,0.15); + } + + setdrivenanim(var_02,0,var_03); + } + + wait(0.1); + } +} + +//Function Number: 36 +calcanimstartpos(param_00,param_01,param_02,param_03) +{ + var_04 = param_01 - param_03; + var_05 = (0,var_04,0); + var_06 = rotatevector(param_02,var_05); + return param_00 - var_06; +} + +//Function Number: 37 +dog_addlean() +{ + var_00 = clamp(self.leanamount / 25,-1,1); + if(var_00 > 0) + { + } +} + +//Function Number: 38 +getangleindex(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = 10; + } + + if(param_00 < 0) + { + return int(ceil(180 + param_00 - param_01 / 45)); + } + + return int(floor(180 + param_00 + param_01 / 45)); +} + +//Function Number: 39 +getangleindices(param_00,param_01) +{ + var_02 = [-180,-135,-90,-45,0,45,90,135,180]; + var_03 = getangleindex(param_00,param_01); + var_04 = [var_03]; + if(param_00 > var_02[var_03]) + { + if(var_03 + 1 < var_02.size) + { + var_04[var_04.size] = var_03 + 1; + if(param_00 > var_02[var_03] + var_02[var_03 + 1] * 0.5) + { + if(var_03 + 2 < var_02.size) + { + var_04[var_04.size] = var_03 + 2; + } + } + else if(var_03 - 1 >= 0) + { + var_04[var_04.size] = var_03 - 1; + } + } + else + { + if(var_03 - 1 >= 0) + { + var_04[var_04.size] = var_03 - 1; + } + + var_04[var_04.size] = 1; + } + } + else if(var_03 - 1 >= 0) + { + var_04[var_04.size] = var_03 - 1; + if(param_00 < var_02[var_03] + var_02[var_03 - 1] * 0.5) + { + if(var_03 - 2 >= 0) + { + var_04[var_04.size] = var_03 - 2; + } + } + else if(var_03 + 1 < var_02.size) + { + var_04[var_04.size] = var_03 + 1; + } + } + else + { + if(var_03 + 1 < var_02.size) + { + var_04[var_04.size] = var_03 + 1; + } + + var_04[var_04.size] = var_02.size - 1; + } + + return var_04; +} + +//Function Number: 40 +droppostoground(param_00) +{ + var_01 = param_00 + (0,0,64); + var_02 = param_00 + (0,0,-64); + var_03 = 15; + var_04 = 45; + var_05 = self aiphysicstrace(var_01,var_02,var_03,var_04,1); + if(abs(var_05[2] - var_01[2]) < 0.5) + { + return undefined; + } + + if(abs(var_05[2] - var_02[2]) < 0.5) + { + return undefined; + } + + return var_05; +} + +//Function Number: 41 +aredifferent(param_00,param_01) +{ + var_02 = isdefined(param_00); + var_03 = isdefined(param_01); + if(!var_02 && !var_03) + { + return 0; + } + + if(var_02 && var_03 && param_00 == param_01) + { + return 0; + } + + return 1; +} + +//Function Number: 42 +hasmovementtypechanged(param_00) +{ + return aredifferent(self.movementtype,param_00); +} + +//Function Number: 43 +hasoverrideanimchanged(param_00,param_01) +{ + return aredifferent(self.run_overrideanim,param_00) || aredifferent(self.walk_overrideanim,param_01); +} + +//Function Number: 44 +getarrivalnode() +{ + if(isdefined(self.scriptedarrivalent)) + { + return self.scriptedarrivalent; + } + + if(isdefined(self.node)) + { + return self.node; + } + + if(isdefined(self.prevnode) && isdefined(self.pathgoalpos) && distance2dsquared(self.prevnode.origin,self.pathgoalpos) < 36) + { + return self.prevnode; + } + + return undefined; +} + +//Function Number: 45 +shouldsniff() +{ + return isdefined(self.movementtype) && self.movementtype == "sniff"; +} + +//Function Number: 46 +getdogmoveanim(param_00) +{ + var_01 = animscripts\utility::lookupdoganim("move",param_00); + return var_01; +} + +//Function Number: 47 +getdogturnanim(param_00,param_01,param_02) +{ + var_03 = getdogmoveanim(param_00); + if(isdefined(var_03[param_01])) + { + return var_03[param_01]; + } + + if(isdefined(param_02)) + { + var_03 = getdogmoveanim(param_02); + return var_03[param_01]; + } +} + +//Function Number: 48 +handlefootstepnotetracks() +{ + self endon("killanimscript"); + for(;;) + { + self waittill("dog_move",var_00); + animscripts\notetracks::handlenotetrack(var_00,"dog_move"); + } +} + +//Function Number: 49 +initdogarchetype_move() +{ + var_00 = []; + var_00["walk"] = %iw6_dog_walk; + var_00["walk_fast"] = %iw6_dog_fastwalk; + var_00["run"] = %iw6_dog_run; + var_00["run_up"] = %iw6_dog_ramp_up_run; + var_00["run_down"] = %iw6_dog_ramp_down_run; + var_00["sprint"] = %iw6_dog_sprint; + var_00["sneak"] = %iw6_dog_sneak_walk_forward; + var_00["sniff"] = %iw6_dog_sniff_walk; + var_00["run_start"] = []; + var_00["run_start"][0] = %iw6_dog_attackidle_runout_2; + var_00["run_start"][1] = %iw6_dog_attackidle_runout_3; + var_00["run_start"][2] = %iw6_dog_attackidle_runout_6; + var_00["run_start"][3] = %iw6_dog_attackidle_runout_9; + var_00["run_start"][4] = %iw6_dog_attackidle_runout_8; + var_00["run_start"][5] = %iw6_dog_attackidle_runout_7; + var_00["run_start"][6] = %iw6_dog_attackidle_runout_4; + var_00["run_start"][7] = %iw6_dog_attackidle_runout_1; + var_00["run_start"][8] = %iw6_dog_attackidle_runout_2; + var_00["run_stop"] = []; + var_00["run_stop"]["attack"] = []; + var_00["run_stop"]["attack"][0] = %iw6_dog_attackidle_runin_2; + var_00["run_stop"]["attack"][1] = %iw6_dog_attackidle_runin_1; + var_00["run_stop"]["attack"][2] = %iw6_dog_attackidle_runin_4; + var_00["run_stop"]["attack"][3] = %iw6_dog_attackidle_runin_7; + var_00["run_stop"]["attack"][4] = %iw6_dog_attackidle_runin_8; + var_00["run_stop"]["attack"][5] = %iw6_dog_attackidle_runin_9; + var_00["run_stop"]["attack"][6] = %iw6_dog_attackidle_runin_6; + var_00["run_stop"]["attack"][7] = %iw6_dog_attackidle_runin_3; + var_00["run_stop"]["attack"][8] = %iw6_dog_attackidle_runin_2; + var_00["run_stop"]["alert"] = []; + var_00["run_stop"]["alert"][0] = %iw6_dog_alertidle_runin_2; + var_00["run_stop"]["alert"][1] = %iw6_dog_alertidle_runin_1; + var_00["run_stop"]["alert"][2] = %iw6_dog_alertidle_runin_4; + var_00["run_stop"]["alert"][3] = %iw6_dog_alertidle_runin_7; + var_00["run_stop"]["alert"][4] = %iw6_dog_alertidle_runin_8; + var_00["run_stop"]["alert"][5] = %iw6_dog_alertidle_runin_9; + var_00["run_stop"]["alert"][6] = %iw6_dog_alertidle_runin_6; + var_00["run_stop"]["alert"][7] = %iw6_dog_alertidle_runin_3; + var_00["run_stop"]["alert"][8] = %iw6_dog_alertidle_runin_2; + var_00["run_stop"]["casual"] = []; + var_00["run_stop"]["casual"][0] = %iw6_dog_casualidle_runin_2; + var_00["run_stop"]["casual"][1] = %iw6_dog_casualidle_runin_1; + var_00["run_stop"]["casual"][2] = %iw6_dog_casualidle_runin_4; + var_00["run_stop"]["casual"][3] = %iw6_dog_casualidle_runin_7; + var_00["run_stop"]["casual"][4] = %iw6_dog_casualidle_runin_8; + var_00["run_stop"]["casual"][5] = %iw6_dog_casualidle_runin_9; + var_00["run_stop"]["casual"][6] = %iw6_dog_casualidle_runin_6; + var_00["run_stop"]["casual"][7] = %iw6_dog_casualidle_runin_3; + var_00["run_stop"]["casual"][8] = %iw6_dog_casualidle_runin_2; + var_00["run_stop"]["sneak"] = []; + var_00["run_stop"]["sneak"][4] = %iw6_dog_sneak_runin_8; + var_00["sharp_turn"] = []; + var_00["sharp_turn"][0] = %iw6_dog_run_turn_2; + var_00["sharp_turn"][1] = %iw6_dog_run_turn_3; + var_00["sharp_turn"][2] = %iw6_dog_run_turn_6; + var_00["sharp_turn"][3] = %iw6_dog_run_turn_9; + var_00["sharp_turn"][5] = %iw6_dog_run_turn_7; + var_00["sharp_turn"][6] = %iw6_dog_run_turn_4; + var_00["sharp_turn"][7] = %iw6_dog_run_turn_1; + var_00["sharp_turn"][8] = %iw6_dog_run_turn_2; + var_00["quick_sharp_turn"] = []; + var_00["quick_sharp_turn"][0] = %iw6_dog_run_quickturn_2; + var_00["quick_sharp_turn"][1] = %iw6_dog_run_quickturn_3; + var_00["quick_sharp_turn"][2] = %iw6_dog_run_quickturn_6; + var_00["quick_sharp_turn"][3] = %iw6_dog_run_quickturn_9; + var_00["quick_sharp_turn"][5] = %iw6_dog_run_quickturn_7; + var_00["quick_sharp_turn"][6] = %iw6_dog_run_quickturn_4; + var_00["quick_sharp_turn"][7] = %iw6_dog_run_quickturn_1; + var_00["quick_sharp_turn"][8] = %iw6_dog_run_quickturn_2; + var_00["sniff_turn"][2] = %iw6_dog_sniff_turn_6; + var_00["sniff_turn"][6] = %iw6_dog_sniff_turn_4; + level.archetypes["dog"]["move"] = var_00; +} \ No newline at end of file diff --git a/AW/PC/animscripts/dog/dog_pain.gsc b/AW/PC/animscripts/dog/dog_pain.gsc new file mode 100644 index 0000000..a371352 --- /dev/null +++ b/AW/PC/animscripts/dog/dog_pain.gsc @@ -0,0 +1,76 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: dog\dog_pain.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 44 ms + * Timestamp: 4/22/2024 1:58:48 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(isdefined(level.shark_functions)) + { + if(issubstr(self.model,"shark")) + { + self [[ level.shark_functions["pain"] ]](); + return; + } + } + + self endon("killanimscript"); + if(isdefined(self.enemy) && isdefined(self.enemy.syncedmeleetarget) && self.enemy.syncedmeleetarget == self && !isdefined(self.disablepain) || !self.disablepain) + { + self unlink(); + self.enemy.syncedmeleetarget = undefined; + } + + self animmode("zonly_physics"); + self clearanim(%body,0.2); + if(self.prevscript == "dog_stop") + { + var_00 = "idle_pain"; + } + else + { + var_00 = "run_pain"; + } + + self setflaggedanimrestart("dog_pain_anim",getdogpainanim(var_00),1,0.2,1); + if(self isdogbeingdriven()) + { + self playsound("bullet_large_flesh"); + } + else + { + self playsound("bullet_large_flesh_npc"); + } + + soundscripts\_snd::snd_message("anml_doberman","pain"); + animscripts\shared::donotetracks("dog_pain_anim"); +} + +//Function Number: 2 +getdogpainanim(param_00) +{ + var_01 = animscripts\utility::lookupdoganim("reaction",param_00); + if(isarray(var_01)) + { + return var_01[randomint(var_01.size)]; + } + + return var_01; +} + +//Function Number: 3 +initdogarchetype_reaction() +{ + var_00 = []; + var_00["flash_long"] = [%iw6_dog_run_pain_4,%iw6_dog_run_pain_6]; + var_00["flash_short"] = %german_shepherd_run_flashbang_b; + var_00["run_pain"] = [%iw6_dog_run_pain_4,%iw6_dog_run_pain_6]; + var_00["idle_pain"] = [%iw6_dog_alertidle_pain_4,%iw6_dog_alertidle_pain_6]; + level.archetypes["dog"]["reaction"] = var_00; +} \ No newline at end of file diff --git a/AW/PC/animscripts/dog/dog_reactions.gsc b/AW/PC/animscripts/dog/dog_reactions.gsc new file mode 100644 index 0000000..c76c5ad --- /dev/null +++ b/AW/PC/animscripts/dog/dog_reactions.gsc @@ -0,0 +1,22 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: dog\dog_reactions.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 1:58:48 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(isdefined(level.shark_functions)) + { + if(issubstr(self.model,"shark")) + { + self [[ level.shark_functions["reactions"] ]](); + return; + } + } +} \ No newline at end of file diff --git a/AW/PC/animscripts/dog/dog_scripted.gsc b/AW/PC/animscripts/dog/dog_scripted.gsc new file mode 100644 index 0000000..522e473 --- /dev/null +++ b/AW/PC/animscripts/dog/dog_scripted.gsc @@ -0,0 +1,72 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: dog\dog_scripted.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 1:58:49 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(isdefined(level.shark_functions)) + { + if(issubstr(self.model,"shark")) + { + self [[ level.shark_functions["scripted"] ]](); + return; + } + } + + self endon("death"); + self notify("killanimscript"); + self.codescripted["root"] = %body; + self endon("end_sequence"); + self startscriptedanim(self.codescripted["notifyName"],self.codescripted["origin"],self.codescripted["angles"],self.codescripted["anim"],self.codescripted["animMode"],self.codescripted["root"],self.codescripted["goalTime"]); + self.codescripted = undefined; + if(isdefined(self.deathstring_passed)) + { + self.deathstring = self.deathstring_passed; + } + + self waittill("killanimscript"); +} + +//Function Number: 2 +init(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + if(isdefined(level.shark_functions)) + { + if(issubstr(self.model,"shark")) + { + self [[ level.shark_functions["scripted_init"] ]](param_00,param_01,param_02,param_03,param_04,param_05); + return; + } + } + + self.codescripted["notifyName"] = param_00; + self.codescripted["origin"] = param_01; + self.codescripted["angles"] = param_02; + self.codescripted["anim"] = param_03; + if(isdefined(param_04)) + { + self.codescripted["animMode"] = param_04; + } + else + { + self.codescripted["animMode"] = "normal"; + } + + if(isdefined(param_05)) + { + self.codescripted["root"] = param_05; + } + else + { + self.codescripted["root"] = %body; + } + + self.codescripted["goalTime"] = param_06; +} \ No newline at end of file diff --git a/AW/PC/animscripts/dog/dog_stop.gsc b/AW/PC/animscripts/dog/dog_stop.gsc new file mode 100644 index 0000000..5e5a224 --- /dev/null +++ b/AW/PC/animscripts/dog/dog_stop.gsc @@ -0,0 +1,984 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: dog\dog_stop.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 36 + * Decompile Time: 403 ms + * Timestamp: 4/22/2024 1:58:50 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(isdefined(level.shark_functions)) + { + if(issubstr(self.model,"shark")) + { + self [[ level.shark_functions["stop"] ]](); + return; + } + } + + self endon("killanimscript"); + self clearanim(%body,0.2); + self setanim(%dog_idle_knob); + thread waitforstatechange(); + self.dognextidletwitchtime = getdognexttwitchtime(); + self.moveanimtype = "walk"; + self.idleanimtype = undefined; + for(;;) + { + if(self isdogbeingdriven()) + { + dodrivenidle(); + continue; + } + + if(isdefined(self.specialidleanim)) + { + dospecialidle(); + continue; + } + + var_00 = dogstop_getnode(); + if(!self isdogbeingdriven() && !isdefined(self.bidlelooking) || !self.bidlelooking) + { + var_01 = 262144; + var_02 = self.doghandler; + if(isdefined(var_02)) + { + if(isdefined(var_02.node) && isdefined(var_00)) + { + var_03 = var_02.origin - self.origin; + turntoangle(vectortoyaw(var_03)); + } + else + { + var_04 = 65536; + var_05 = 6400; + var_06 = distancesquared(self.origin,var_02.origin); + if(var_06 < var_05) + { + turntoangle(var_02.angles[1]); + } + else if(var_06 < var_04) + { + var_03 = var_02.origin - self.origin; + var_07 = vectortoyaw(var_03); + turntoangle(var_07); + } + } + } + else if((!isdefined(var_00) || !issubstr(var_00.type,"Cover") || isdefined(self.favoriteenemy)) && isdefined(self.enemy) && isalive(self.enemy) && self seerecently(self.enemy,5) || distancesquared(self.origin,self.enemy.origin) < var_01) + { + var_08 = self.enemy.origin - self.origin; + turntoangle(vectortoyaw(var_08)); + } + else if(isdefined(var_00) && shouldfacenodedir(var_00)) + { + turntoangle(var_00.angles[1]); + } + + self orientmode("face angle",self.angles[1]); + } + + if(isdefined(self.customidleanimset)) + { + stoplookatidle(); + docustomidle(); + continue; + } + + var_09 = getdefaultidlestate(); + if(var_09 == "casualidle") + { + if(isdefined(self.idlelookattargets)) + { + dolookatidle(); + } + else + { + stoplookatidle(); + playidleanim("casualidle",getdogstopanim("casualidle"),0,0.5,2); + } + } + else if(var_09 == "attackidle") + { + if(isdefined(self.idlelookattargets) && isdefined(self.aggresivelookat)) + { + dolookatidle(); + } + else + { + stopidlesound(); + stoplookatidle(); + var_0A = !isdefined(self.enemy) || distance2dsquared(self.origin,self.enemy.origin) > 589824; + if(var_0A && gettime() > self.dognextidletwitchtime) + { + var_0B = chooseattackidle(); + playidleanim("attackidle",getdogstopanim(var_0B),0,0.2,-1); + self.dognextidletwitchtime = getdognexttwitchtime(); + } + else + { + playidleanim("attackidle",getdogstopanim("attackidle"),0,0.5,0.5); + } + } + } + else + { + stopidlesound(); + stoplookatidle(); + playidleanim(var_09,getdogstopanim(var_09),0,0.5,2); + } + } +} + +//Function Number: 2 +end_script() +{ + if(isdefined(self.prevturnrate)) + { + self.turnrate = self.prevturnrate; + self.prevturnrate = undefined; + } + + self.dogturnadjust = undefined; + self.dogturnrate = undefined; + self.dognextidletwitchtime = undefined; + self.currenttrackingyawspeed = undefined; + self.currenttrackingyaw = undefined; + stopidlesound(); + stoplookatidle(); +} + +//Function Number: 3 +playidleanim(param_00,param_01,param_02,param_03,param_04) +{ + self endon("killIdleAnim"); + if(isdefined(self.idleanimtype) && self.idleanimtype != param_00) + { + var_05 = getdogstoptransitionanim(self.idleanimtype,param_00); + if(isdefined(var_05)) + { + self setflaggedanimknobrestart("dog_idle_transition",var_05,1,0.2,self.animplaybackrate); + animscripts\shared::donotetracks("dog_idle_transition"); + param_03 = 0.2; + } + } + + self.idleanimtype = param_00; + if(param_02) + { + self setflaggedanimknobrestart("dog_idle",param_01,1,param_03,self.animplaybackrate); + } + else + { + self setflaggedanimknob("dog_idle",param_01,1,param_03,self.animplaybackrate); + } + + if(param_04 > 0) + { + animscripts\notetracks::donotetracksfortime(param_04,"dog_idle"); + return; + } + + animscripts\shared::donotetracks("dog_idle"); +} + +//Function Number: 4 +waitforstatechange() +{ + self endon("killanimscript"); + var_00 = self isdogbeingdriven(); + var_01 = self.defaultidlestateoverride; + for(;;) + { + var_02 = self isdogbeingdriven(); + if(var_02 != var_00) + { + killidleanim(); + var_00 = var_02; + self orientmode("face angle",self.angles[1]); + } + else if(animscripts\dog\dog_move::aredifferent(self.defaultidlestateoverride,var_01)) + { + killidleanim(); + var_01 = self.defaultidlestateoverride; + } + + wait(0.1); + } +} + +//Function Number: 5 +killidleanim() +{ + self notify("killIdleAnim"); + stoplookatidle(); +} + +//Function Number: 6 +shouldfacenodedir(param_00) +{ + return param_00.type == "Guard" || param_00.type == "Exposed" || issubstr(param_00.type,"Cover "); +} + +//Function Number: 7 +getturnanim(param_00) +{ + var_01 = getdefaultidlestate(); + if(var_01 == "casualidle" || var_01 == "sniffidle") + { + if(param_00 < -135 || param_00 > 135) + { + return getdogstopanim("casual_turn_180"); + } + + if(param_00 < 0) + { + return getdogstopanim("casual_turn_right"); + } + + return getdogstopanim("casual_turn_left"); + } + + if(param_00 < -135 || param_00 > 135) + { + return getdogstopanim("attack_turn_180"); + } + + if(param_00 < 0) + { + return getdogstopanim("attack_turn_right"); + } + + return getdogstopanim("attack_turn_left"); +} + +//Function Number: 8 +handledogturnnotetracks(param_00) +{ + if(param_00 == "turn_begin") + { + var_01 = angleclamp180(self.angles[1] + self.dogturnadjust); + self.dogturnadjust = undefined; + self.prevturnrate = self.turnrate; + self.turnrate = self.dogturnrate; + self.dogturnrate = undefined; + self orientmode("face angle",var_01); + return; + } + + if(param_00 == "turn_end") + { + self.turnrate = self.prevturnrate; + self.prevturnrate = undefined; + } +} + +//Function Number: 9 +turntoangle(param_00,param_01) +{ + self endon("killIdleAnim"); + var_02 = self.angles[1]; + var_03 = angleclamp180(param_00 - var_02); + if(-0.5 < var_03 && var_03 < 0.5) + { + return; + } + + if(-15 < var_03 && var_03 < 15) + { + rotatetoangle(param_00,2); + return; + } + + stopidlesound(); + var_04 = getturnanim(var_03); + var_05 = getanimlength(var_04); + var_06 = getangledelta(var_04); + var_07 = 0.2; + if(var_05 < 0.7) + { + var_07 = 0.05; + } + + if(isdefined(param_01) && param_01) + { + self animmode("zonly_physics"); + } + else + { + self animmode("angle deltas"); + } + + self setanim(%dog_idle_knob,1,var_07); + self setflaggedanimknobrestart("dog_turn",var_04,1,var_07); + if(animhasnotetrack(var_04,"turn_begin") && animhasnotetrack(var_04,"turn_end")) + { + var_08 = getnotetracktimes(var_04,"turn_begin"); + var_09 = getnotetracktimes(var_04,"turn_end"); + var_0A = var_09[0] - var_08[0] * var_05; + self.dogturnadjust = angleclamp180(var_03 - var_06); + self.dogturnrate = max(abs(self.dogturnadjust) / var_0A / 1000,0.01); + self orientmode("face angle",self.angles[1]); + animscripts\shared::donotetracks("dog_turn",::handledogturnnotetracks); + } + else + { + self.prevturnrate = self.turnrate; + self.turnrate = max(abs(angleclamp180(var_03 - var_06)) / var_05 / 1000,0.01); + self orientmode("face angle",angleclamp180(param_00 - var_06)); + animscripts\shared::donotetracks("dog_turn"); + self.turnrate = self.prevturnrate; + self.prevturnrate = undefined; + } + + self clearanim(var_04,0.2); + self animmode("none"); +} + +//Function Number: 10 +rotatetoangle(param_00,param_01) +{ + self orientmode("face angle",param_00); + while(abs(angleclamp180(param_00 - self.angles[1])) > param_01) + { + wait(0.1); + } +} + +//Function Number: 11 +shouldcoveridle() +{ + var_00 = dogstop_getnode(); + if(isdefined(var_00) && issubstr(var_00.type,"Cover")) + { + return 1; + } + + return 0; +} + +//Function Number: 12 +chooseattackidle() +{ + var_00 = ["attackidle_twitch_1","attackidle_twitch_2"]; + var_01 = [1,1]; + if(!isdefined(self.script_nobark) || !self.script_nobark) + { + var_02 = var_00.size; + var_00[var_02] = "attackidle_bark"; + var_01[var_02] = 4; + } + + var_03 = 0; + for(var_02 = 0;var_02 < var_01.size;var_02++) + { + var_03 = var_03 + var_01[var_02]; + } + + var_04 = randomint(var_03); + var_05 = 0; + for(var_02 = 0;var_02 < var_01.size;var_02++) + { + var_05 = var_05 + var_01[var_02]; + if(var_04 < var_05) + { + return var_00[var_02]; + } + } +} + +//Function Number: 13 +dodrivenidle() +{ + playidlesound(self.customidlesound); + playidleanim("sneakstandidle",getdogstopanim("sneakstandidle"),0,0.5,-1); +} + +//Function Number: 14 +dospecialidle() +{ + if(isarray(self.specialidleanim)) + { + var_00 = self.specialidleanim[randomint(self.specialidleanim.size)]; + } + else + { + var_00 = self.specialidleanim; + } + + playidlesound(self.customidlesound); + playidleanim("specialidle",var_00,0,0.5,-1); +} + +//Function Number: 15 +docustomidle() +{ + if(isarray(self.customidleanimset)) + { + if(isdefined(self.customidleanimweights)) + { + var_00 = animscripts\utility::anim_array(self.customidleanimset,self.customidleanimweights); + } + else + { + var_00 = self.customidleanimset[randomint(self.customidleanimset.size)]; + } + } + else + { + var_00 = self.customidleanimset; + } + + playidlesound(self.customidlesound); + playidleanim("customidle",var_00,0,0.5,-1); +} + +//Function Number: 16 +dolookatidle() +{ + if(!isdefined(self.bidlelooking) || !self.bidlelooking) + { + self.bidlelooking = 1; + thread lookatidleupdate(); + } + + wait(0.5); +} + +//Function Number: 17 +stoplookatidle() +{ + if(!isdefined(self.bidlelooking) || !self.bidlelooking) + { + return; + } + + self.bidlelooking = undefined; + self.idletrackloop = undefined; + self notify("endIdleLookAt"); + self clearanim(%look_2,1); + self clearanim(%look_4,1); + self clearanim(%look_6,1); + self clearanim(%look_8,1); +} + +//Function Number: 18 +lookatidleupdate() +{ + self endon("killanimscript"); + self endon("endIdleLookAt"); + while(isdefined(self.idlelookattargets) && isarray(self.idlelookattargets) && self.idlelookattargets.size > 0) + { + var_00 = getlookattarget(self.lookattarget); + self.lookattarget = var_00; + if(!isdefined(self.idletrackloop)) + { + thread idletrackloop(); + } + + var_01 = 3 + randomfloat(3); + wait(var_01); + } + + stoplookatidle(); +} + +//Function Number: 19 +getlookattarget(param_00) +{ + if(isdefined(self.alwayslookatfirsttarget) && self.alwayslookatfirsttarget && self.idlelookattargets.size > 0) + { + return self.idlelookattargets[0]; + } + + var_01 = isdefined(param_00); + if(self.idlelookattargets.size == 1) + { + if(var_01) + { + return undefined; + } + else + { + return self.idlelookattargets[0]; + } + } + + if(var_01) + { + var_02 = randomint(100); + if(var_02 < 33) + { + return undefined; + } + } + + var_03 = self.idlelookattargets; + var_04 = []; + var_05 = 0; + var_06 = !var_01; + for(var_07 = 0;var_07 < var_03.size;var_07++) + { + if(!var_06 && var_03[var_07] == param_00) + { + var_08 = var_03.size - 1; + if(var_07 != var_08) + { + var_03[var_07] = var_03[var_08]; + } + + var_03[var_08] = undefined; + var_06 = 1; + if(var_07 == var_08) + { + break; + } + } + + var_09 = distance2dsquared(self.origin,var_03[var_07].origin); + var_04[var_07] = 1 / var_09; + var_05 = var_05 + var_04[var_07]; + } + + var_0A = randomfloat(var_05); + var_0B = 0; + for(var_07 = 0;var_07 < var_03.size;var_07++) + { + var_0B = var_0B + var_04[var_07]; + if(var_0A < var_0B) + { + return var_03[var_07]; + } + } +} + +//Function Number: 20 +idletrackloop() +{ + self endon("killanimscript"); + self endon("endIdleLookAt"); + self.idletrackloop = 1; + self clearanim(%dog_idle_knob,0.2); + self setanimknob(getdogstopanimbase(),1,0.5); + self setanimknoblimited(getdogstopanimlook("2"),1,0); + self setanimknoblimited(getdogstopanimlook("4"),1,0); + self setanimknoblimited(getdogstopanimlook("6"),1,0); + self setanimknoblimited(getdogstopanimlook("8"),1,0); + var_00 = 90; + var_01 = -100; + var_02 = -25; + var_03 = 25; + self.currenttrackingyaw = 0; + self.currenttrackingyawspeed = 0; + for(;;) + { + var_04 = self geteye(); + if(isdefined(self.lookattarget)) + { + var_05 = self.lookattarget geteye(); + var_06 = var_05 - var_04; + var_07 = vectortoangles(var_06); + } + else + { + var_07 = self.angles; + } + + var_08 = angleclamp180(var_07[1] - self.angles[1]); + var_09 = angleclamp180(var_07[0] - self.angles[0]); + if(var_08 > var_00 || var_08 < var_01) + { + self.currenttrackingyaw = 0; + self.currenttrackingyawspeed = 0; + turntoangle(self.angles[1] + var_08 * 0.75); + self setanimknob(getdogstopanimbase(),1,0.1); + continue; + } + + var_0A = calctrackingyaw(var_08,self.currenttrackingyaw,self.currenttrackingyawspeed); + self.currenttrackingyaw = var_0A; + var_0B = 0; + var_0C = 0; + var_0D = 0; + var_0E = 0; + if(var_0A > 0) + { + var_0B = clamp(var_0A / var_00,0,1); + } + else + { + var_0C = clamp(var_0A / var_01,0,1); + } + + if(var_09 < 0) + { + var_0D = clamp(var_09 / var_02,0,1); + } + else + { + var_0E = clamp(var_09 / var_03,0,1); + } + + self setanimlimited(%look_2,var_0E,1); + self setanimlimited(%look_4,var_0B,0.1); + self setanimlimited(%look_6,var_0C,0.1); + self setanimlimited(%look_8,var_0D,1); + wait(0.05); + } +} + +//Function Number: 21 +calctrackingyaw(param_00,param_01,param_02) +{ + var_03 = 90; + var_04 = -100; + var_05 = 1; + var_06 = 0.5; + var_07 = 6; + var_08 = clamp(param_00,var_04,var_03); + var_09 = angleclamp180(var_08 - param_01); + if(var_08 > param_01) + { + if(param_02 >= 0 && !needtodecelforarrival(var_09,param_02,var_06)) + { + var_0A = param_02 + var_05; + } + else if(var_03 >= 0) + { + var_0A = var_03 - var_07; + } + else + { + var_0A = var_03 + var_07; + } + } + else if(var_03 <= 0 && !needtodecelforarrival(var_0A,var_03,var_07)) + { + var_0A = var_03 - var_06; + } + else if(var_03 <= 0) + { + var_0A = var_03 + var_07; + } + else + { + var_0A = var_03 - var_07; + } + + var_0A = clamp(var_0A,-1 * var_07,var_07); + if(var_08 >= param_01 && param_01 + var_0A > var_08) + { + var_0A = var_08 - param_01; + } + else if(var_08 <= param_01 && param_01 + var_0A < var_08) + { + var_0A = var_08 - param_01; + } + + var_0B = param_01 + var_0A; + self.currenttrackingyawspeed = var_0A; + return var_0B; +} + +//Function Number: 22 +needtodecelforarrival(param_00,param_01,param_02) +{ + if(param_01 == 0) + { + return 0; + } + + var_03 = abs(param_00); + var_04 = abs(param_01); + param_02 = abs(param_02); + while(var_03 > 0) + { + var_03 = var_03 - var_04; + var_04 = var_04 - param_02; + if(var_04 < 0) + { + return 0; + } + } + + return 1; +} + +//Function Number: 23 +dogstop_getnode() +{ + if(isdefined(self.node)) + { + return self.node; + } + + return self.prevnode; +} + +//Function Number: 24 +getdefaultidlestate(param_00) +{ + if(isdefined(self.defaultidlestateoverride)) + { + return self.defaultidlestateoverride; + } + + var_01 = isdefined(self.enemy) && isalive(self.enemy); + var_02 = var_01 && distancesquared(self.origin,self.enemy.origin) < 1000000 && isdefined(self.favoriteenemy) || self seerecently(self.enemy,5); + var_03 = dogstop_getnode(); + if(isdefined(self.aggresivelookat)) + { + return "attackidle"; + } + + if(!isdefined(param_00)) + { + param_00 = 1; + } + + if(isdefined(var_03) && !param_00 || distance(self.origin,var_03.origin) <= 32) + { + if(var_03.type == "Guard") + { + if(var_02) + { + return "attackidle"; + } + else + { + return "alertidle"; + } + } + else if(issubstr(var_03.type,"Cover")) + { + return "sneakidle"; + } + else if(var_01) + { + if(var_02) + { + return "attackidle"; + } + else + { + return "alertidle"; + } + } + } + + if(var_02) + { + return "attackidle"; + } + + if(animscripts\dog\dog_move::shouldsniff()) + { + return "sniffidle"; + } + + return "casualidle"; +} + +//Function Number: 25 +should_growl() +{ + if(isdefined(self.script_growl)) + { + return 1; + } + + if(!isdefined(self.enemy)) + { + return 0; + } + + if(!isalive(self.enemy)) + { + return 1; + } + + return !self cansee(self.enemy); +} + +//Function Number: 26 +lookattarget(param_00) +{ + self endon("killanimscript"); + self endon("stop tracking"); + self clearanim(%german_shepherd_look_2,0); + self clearanim(%german_shepherd_look_4,0); + self clearanim(%german_shepherd_look_6,0); + self clearanim(%german_shepherd_look_8,0); + self setdefaultaimlimits(); + self.rightaimlimit = 90; + self.leftaimlimit = -90; + self setanimlimited(level.doglookpose[param_00][2],1,0); + self setanimlimited(level.doglookpose[param_00][4],1,0); + self setanimlimited(level.doglookpose[param_00][6],1,0); + self setanimlimited(level.doglookpose[param_00][8],1,0); + animscripts\track::setanimaimweight(1,0.2); + animscripts\track::trackloop(%german_shepherd_look_2,%german_shepherd_look_4,%german_shepherd_look_6,%german_shepherd_look_8); +} + +//Function Number: 27 +playidlesound(param_00) +{ + if(!animscripts\dog\dog_move::aredifferent(self.idlesound,param_00)) + { + return; + } + + stopidlesound(); + if(isdefined(param_00)) + { + thread loopidlesound(param_00); + } +} + +//Function Number: 28 +loopidlesound(param_00) +{ + self endon("killanimscript"); + var_01 = spawn("script_origin",self.origin); + var_01.angles = self.angles; + var_01 linkto(self); + self.idlesoundorigin = var_01; + self.idlesound = param_00; + for(;;) + { + var_01 playsound(param_00,"dog_idle_sound"); + var_02 = idlesound_waitfordoneordeath(var_01,"dog_idle_sound"); + if(!isdefined(var_02)) + { + break; + } + } +} + +//Function Number: 29 +idlesound_waitfordoneordeath(param_00,param_01) +{ + self endon("death"); + param_00 endon("death"); + param_00 waittill(param_01); + return 1; +} + +//Function Number: 30 +stopidlesound() +{ + if(isdefined(self.idlesoundorigin)) + { + if(self.idlesoundorigin iswaitingonsound()) + { + self.idlesoundorigin stopsounds(); + wait(0.05); + } + + self.idlesoundorigin delete(); + self.idlesoundorigin = undefined; + self.idlesound = undefined; + } +} + +//Function Number: 31 +getdognexttwitchtime() +{ + if(isdefined(self.script_nobark) && self.script_nobark) + { + return gettime() + 4000 + randomint(3000); + } + + return gettime() + 1000 + randomint(1000); +} + +//Function Number: 32 +getdogstopanimbase() +{ + if(isdefined(self.aggresivelookat)) + { + return getdogstopanim("attackidle_base"); + } + + return getdogstopanim("casualidle_base"); +} + +//Function Number: 33 +getdogstopanimlook(param_00) +{ + if(isdefined(self.aggresivelookat)) + { + return getdogstopanim("attackidle_look_" + param_00); + } + + return getdogstopanim("casualidle_look_" + param_00); +} + +//Function Number: 34 +getdogstopanim(param_00) +{ + var_01 = animscripts\utility::lookupdoganim("stop",param_00); + return var_01; +} + +//Function Number: 35 +getdogstoptransitionanim(param_00,param_01) +{ + var_02 = animscripts\utility::lookupdoganim("stop","transition"); + if(isdefined(var_02[param_00]) && isdefined(var_02[param_00][param_01])) + { + return var_02[param_00][param_01]; + } + + return undefined; +} + +//Function Number: 36 +initdogarchetype_stop() +{ + var_00 = []; + var_00["attackidle"] = %iw6_dog_attackidle; + var_00["attack_turn_left"] = %iw6_dog_attackidle_turn_4; + var_00["attack_turn_right"] = %iw6_dog_attackidle_turn_6; + var_00["attack_turn_180"] = %iw6_dog_attackidle_turn_2; + var_00["attackidle_base"] = %iw6_dog_attackidle_base; + var_00["attackidle_look_2"] = %iw6_dog_attackidle_2; + var_00["attackidle_look_8"] = %iw6_dog_attackidle_8; + var_00["alertidle"] = %iw6_dog_alertidle; + var_00["attackidle_bark"] = %iw6_dog_attackidle_bark; + var_00["attackidle_twitch_1"] = %iw6_dog_attackidle_twitch_1; + var_00["attackidle_twitch_2"] = %iw6_dog_attackidle_twitch_2; + var_00["casualidle"] = %iw6_dog_casualidle; + var_00["casual_turn_left"] = %iw6_dog_casualidle_turn_4; + var_00["casual_turn_right"] = %iw6_dog_casualidle_turn_6; + var_00["casual_turn_180"] = %iw6_dog_casualidle_turn_2; + var_00["casualidle_base"] = %iw6_dog_casualidle_base; + var_00["casualidle_look_2"] = %iw6_dog_casualidle_2; + var_00["casualidle_look_4"] = %iw6_dog_casualidle_4; + var_00["casualidle_look_6"] = %iw6_dog_casualidle_6; + var_00["casualidle_look_8"] = %iw6_dog_casualidle_8; + var_00["sneakstandidle"] = %iw6_dog_sneak_stand_idle; + var_00["sneakidle"] = %iw6_dog_sneakidle; + var_00["sniffidle"] = %iw6_dog_sniff_idle; + var_00["transition"] = []; + var_00["transition"]["casualidle"] = []; + var_00["transition"]["casualidle"]["sneakidle"] = %iw6_dog_idle_2_sneak_idle; + var_00["transition"]["casualidle"]["alertidle"] = %iw6_dog_idle_2_alert_idle; + var_00["transition"]["casualidle"]["attackidle"] = %iw6_dog_idle_2_alert_idle; + var_00["transition"]["alertidle"] = []; + var_00["transition"]["alertidle"]["casualidle"] = %iw6_dog_alert_2_casual_idle; + var_00["transition"]["alertidle"]["sneakidle"] = %iw6_dog_idle_2_sneak_idle; + var_00["transition"]["attackidle"] = []; + var_00["transition"]["attackidle"]["casualidle"] = %iw6_dog_alert_2_casual_idle; + var_00["transition"]["attackidle"]["sneakidle"] = %iw6_dog_idle_2_sneak_idle; + var_00["transition"]["sneakidle"] = []; + var_00["transition"]["sneakidle"]["casualidle"] = %iw6_dog_sneak_2_casual_idle; + var_00["transition"]["sneakidle"]["alertidle"] = %iw6_dog_sneak_2_casual_idle; + var_00["transition"]["sneakidle"]["attackidle"] = %iw6_dog_sneak_2_casual_idle; + level.archetypes["dog"]["stop"] = var_00; +} \ No newline at end of file diff --git a/AW/PC/SP/animscripts/door.gsc b/AW/PC/animscripts/door.gsc similarity index 98% rename from AW/PC/SP/animscripts/door.gsc rename to AW/PC/animscripts/door.gsc index 49d1b66..dff5dea 100644 --- a/AW/PC/SP/animscripts/door.gsc +++ b/AW/PC/animscripts/door.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\door.gsc + * Decompiled File: door.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 11 - * Decompile Time: 191 ms - * Timestamp: 10/27/2023 1:55:00 AM + * Decompile Time: 171 ms + * Timestamp: 4/22/2024 2:00:27 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/exit_node.gsc b/AW/PC/animscripts/exit_node.gsc similarity index 98% rename from AW/PC/SP/animscripts/exit_node.gsc rename to AW/PC/animscripts/exit_node.gsc index bf18168..62bad27 100644 --- a/AW/PC/SP/animscripts/exit_node.gsc +++ b/AW/PC/animscripts/exit_node.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\exit_node.gsc + * Decompiled File: exit_node.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 15 - * Decompile Time: 251 ms - * Timestamp: 10/27/2023 1:55:01 AM + * Decompile Time: 245 ms + * Timestamp: 4/22/2024 2:00:28 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/face.gsc b/AW/PC/animscripts/face.gsc similarity index 57% rename from AW/PC/SP/animscripts/face.gsc rename to AW/PC/animscripts/face.gsc index 07c9563..cd52822 100644 --- a/AW/PC/SP/animscripts/face.gsc +++ b/AW/PC/animscripts/face.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\face.gsc + * Decompiled File: face.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 19 - * Decompile Time: 317 ms - * Timestamp: 10/27/2023 1:55:02 AM + * Decompile Time: 272 ms + * Timestamp: 4/22/2024 2:00:29 AM *******************************************************************/ //Function Number: 1 @@ -39,11 +39,67 @@ saygenericdialogue(param_00) case "pmc": case "xslice": case "american": + var_02 = "friendly"; + var_03 = level.numfriendlyvoices; break; default: + var_02 = "enemy"; + var_03 = level.numenemyvoices; break; } + + var_01 = 1 + self getentitynumber() % var_03; + var_02 = var_02 + "_" + var_01; + var_04 = undefined; + switch(param_00) + { + case "meleecharge": + case "meleeattack": + var_05 = 0.5; + break; + + case "flashbang": + var_05 = 0.7; + break; + + case "pain": + var_05 = 0.9; + break; + + case "pain_small": + var_05 = 0.9; + break; + + case "dogdeathlongplr": + case "dogdeathshortplr": + case "dogdeathlong": + case "dogdeathshort": + case "melee_death": + case "death": + var_05 = 1; + break; + + default: + var_05 = 0.3; + break; + } + + var_06 = undefined; + if(isdefined(self.generic_voice_override)) + { + var_06 = self.generic_voice_override + "_" + param_00 + "_" + var_02; + if(!soundexists(var_06)) + { + var_06 = "generic_" + param_00 + "_" + var_02; + } + } + else + { + var_06 = "generic_" + param_00 + "_" + var_02; + } + + thread playfacethread(var_04,var_06,var_05); } //Function Number: 3 @@ -130,15 +186,155 @@ playfacethread(param_00,param_01,param_02,param_03,param_04,param_05) switch(param_02) { case "any": + param_02 = 0.1; break; case "pain": + param_02 = 0.9; break; case "death": + param_02 = 1; break; } } + + if(param_02 <= self.a.currentdialogimportance && isdefined(param_04) && param_04 == "wait") + { + var_06 = self.facewaiting.size; + var_07 = self.facelastnotifynum + 1; + self.facewaiting[var_06]["facialanim"] = param_00; + self.facewaiting[var_06]["soundAlias"] = param_01; + self.facewaiting[var_06]["importance"] = param_02; + self.facewaiting[var_06]["notifyString"] = param_03; + self.facewaiting[var_06]["waitOrNot"] = param_04; + self.facewaiting[var_06]["timeToWait"] = param_05; + self.facewaiting[var_06]["notifyNum"] = var_07; + thread playface_waitfornotify("animscript face stop waiting " + self.facewaiting[var_06]["notifyNum"],"Face done waiting","Face done waiting"); + if(isdefined(param_05)) + { + thread playface_waitfortime(param_05,"Face done waiting","Face done waiting"); + } + + self waittill("Face done waiting"); + var_06 = undefined; + for(var_08 = 0;var_08 < self.facewaiting.size;var_08++) + { + if(self.facewaiting[var_08]["notifyNum"] == var_07) + { + var_06 = var_08; + break; + } + } + + if(self.a.facewaitforresult == "notify") + { + playfacethread(self.facewaiting[var_06]["facialanim"],self.facewaiting[var_06]["soundAlias"],self.facewaiting[var_06]["importance"],self.facewaiting[var_06]["notifyString"]); + } + else if(isdefined(param_03)) + { + self.faceresult = "failed"; + self notify(param_03); + } + + for(var_08 = var_06 + 1;var_08 < self.facewaiting.size;var_08++) + { + self.facewaiting[var_08 - 1]["facialanim"] = self.facewaiting[var_08]["facialanim"]; + self.facewaiting[var_08 - 1]["soundAlias"] = self.facewaiting[var_08]["soundAlias"]; + self.facewaiting[var_08 - 1]["importance"] = self.facewaiting[var_08]["importance"]; + self.facewaiting[var_08 - 1]["notifyString"] = self.facewaiting[var_08]["notifyString"]; + self.facewaiting[var_08 - 1]["waitOrNot"] = self.facewaiting[var_08]["waitOrNot"]; + self.facewaiting[var_08 - 1]["timeToWait"] = self.facewaiting[var_08]["timeToWait"]; + self.facewaiting[var_08 - 1]["notifyNum"] = self.facewaiting[var_08]["notifyNum"]; + } + + self.facewaiting[self.facewaiting.size - 1] = undefined; + return; + } + + if(param_02 >= self.a.currentdialogimportance) + { + self notify("end current face"); + self endon("end current face"); + if(isdefined(param_03)) + { + if(isdefined(self.a.currentdialognotifystring)) + { + self.faceresult = "interrupted"; + self notify(self.a.currentdialognotifystring); + } + } + + self.a.currentdialogimportance = param_02; + self.a.currentdialogsound = param_01; + self.a.currentdialognotifystring = param_03; + self.a.facialanimdone = 1; + self.a.facialsounddone = 1; + if(isdefined(param_00)) + { + maps\_anim::disabledefaultfacialanims(); + self setflaggedanimknobrestart("animscript faceanim",param_00,1,0.1,1); + self.a.facialanimdone = 0; + thread waitforfacialanim(); + } + else + { + maps\_anim::disabledefaultfacialanims(0); + } + + if(isdefined(param_01)) + { + self playsoundatviewheight(param_01,"animscript facesound",1); + self.a.facialsounddone = 0; + thread waitforfacesound(); + } + + while(!self.a.facialanimdone || !self.a.facialsounddone) + { + self waittill("animscript facedone"); + } + + self.a.currentdialogimportance = 0; + self.a.currentdialogsound = undefined; + self.a.currentdialognotifystring = undefined; + if(isdefined(param_03)) + { + self.faceresult = "finished"; + self notify(param_03); + } + + if(isdefined(self.facewaiting) && self.facewaiting.size > 0) + { + var_09 = 0; + var_0A = 1; + for(var_08 = 0;var_08 < self.facewaiting.size;var_08++) + { + if(self.facewaiting[var_08]["importance"] > var_09) + { + var_09 = self.facewaiting[var_08]["importance"]; + var_0A = var_08; + } + } + + self notify("animscript face stop waiting " + self.facewaiting[var_0A]["notifyNum"]); + return; + } + + if(isai(self)) + { + playidleface(); + return; + } + + return; + } + + if(isdefined(param_03)) + { + self.faceresult = "failed"; + self notify(param_03); + return; + } } //Function Number: 9 diff --git a/AW/PC/SP/animscripts/first_frame.gsc b/AW/PC/animscripts/first_frame.gsc similarity index 84% rename from AW/PC/SP/animscripts/first_frame.gsc rename to AW/PC/animscripts/first_frame.gsc index c3d2368..20ab708 100644 --- a/AW/PC/SP/animscripts/first_frame.gsc +++ b/AW/PC/animscripts/first_frame.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\first_frame.gsc + * Decompiled File: first_frame.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:55:03 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:00:30 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/flashed.gsc b/AW/PC/animscripts/flashed.gsc similarity index 95% rename from AW/PC/SP/animscripts/flashed.gsc rename to AW/PC/animscripts/flashed.gsc index a80ef0c..4af4d64 100644 --- a/AW/PC/SP/animscripts/flashed.gsc +++ b/AW/PC/animscripts/flashed.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\flashed.gsc + * Decompiled File: flashed.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 5 - * Decompile Time: 90 ms - * Timestamp: 10/27/2023 1:55:04 AM + * Decompile Time: 78 ms + * Timestamp: 4/22/2024 2:00:30 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/animscripts/free_run.gsc b/AW/PC/animscripts/free_run.gsc new file mode 100644 index 0000000..633a8d8 --- /dev/null +++ b/AW/PC/animscripts/free_run.gsc @@ -0,0 +1,200 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: free_run.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 7 + * Decompile Time: 121 ms + * Timestamp: 4/22/2024 2:00:31 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + waittillframeend; + waittillframeend; + setup_free_run_move_anims(); + setup_free_run_cover_crouch_anims(); + setup_free_run_transition_anims(); +} + +//Function Number: 2 +setup_free_run_move_anims() +{ + var_00 = []; + var_00["sprint"] = %freerunnerb_loop; + var_00["move_f"] = %freerunnerb_loop; + var_00["move_l"] = %freerunnerb_loop; + var_00["move_r"] = %freerunnerb_loop; + var_00["move_b"] = %freerunnerb_loop; + level.archetypes["soldier"]["free_run_move"] = var_00; +} + +//Function Number: 3 +setup_free_run_cover_crouch_anims() +{ + var_00 = []; + var_00["hide_idle"] = %unarmed_covercrouch_hide_idle; + var_00["hide_idle_twitch"] = animscripts\utility::array(%unarmed_covercrouch_twitch_1,%unarmed_covercrouch_twitch_2,%unarmed_covercrouch_twitch_3,%unarmed_covercrouch_twitch_4); + var_00["look"] = animscripts\utility::array(%unarmed_covercrouch_hide_look); + var_00["add_aim_up"] = %covercrouch_aim8_add; + var_00["add_aim_down"] = %covercrouch_aim2_add; + var_00["add_aim_left"] = %covercrouch_aim4_add; + var_00["add_aim_right"] = %covercrouch_aim6_add; + var_00["straight_level"] = %covercrouch_aim5; + var_00["hide_idle_flinch"] = animscripts\utility::array(); + var_00["hide_2_crouch"] = %covercrouch_hide_2_aim; + var_00["hide_2_stand"] = %covercrouch_hide_2_stand; + var_00["hide_2_lean"] = %covercrouch_hide_2_lean; + var_00["hide_2_right"] = %covercrouch_hide_2_right; + var_00["hide_2_left"] = %covercrouch_hide_2_left; + var_00["crouch_2_hide"] = %covercrouch_aim_2_hide; + var_00["stand_2_hide"] = %covercrouch_stand_2_hide; + var_00["lean_2_hide"] = %covercrouch_lean_2_hide; + var_00["right_2_hide"] = %covercrouch_right_2_hide; + var_00["left_2_hide"] = %covercrouch_left_2_hide; + var_00["smg_hide_2_stand"] = %smg_covercrouch_hide_2_stand; + var_00["smg_stand_2_hide"] = %smg_covercrouch_stand_2_hide; + var_00["crouch_aim"] = %covercrouch_aim5; + var_00["stand_aim"] = %exposed_aim_5; + var_00["lean_aim"] = %covercrouch_lean_aim5; + var_00["fire"] = %exposed_shoot_auto_v2; + var_00["semi2"] = %exposed_shoot_semi2; + var_00["semi3"] = %exposed_shoot_semi3; + var_00["semi4"] = %exposed_shoot_semi4; + var_00["semi5"] = %exposed_shoot_semi5; + var_00["single"] = [%exposed_shoot_semi1]; + var_00["burst2"] = %exposed_shoot_burst3; + var_00["burst3"] = %exposed_shoot_burst3; + var_00["burst4"] = %exposed_shoot_burst4; + var_00["burst5"] = %exposed_shoot_burst5; + var_00["burst6"] = %exposed_shoot_burst6; + var_00["blind_fire"] = animscripts\utility::array(%covercrouch_blindfire_1,%covercrouch_blindfire_2,%covercrouch_blindfire_3,%covercrouch_blindfire_4); + var_00["reload"] = %covercrouch_reload_hide; + var_00["grenade_safe"] = animscripts\utility::array(%covercrouch_grenadea,%covercrouch_grenadeb); + var_00["grenade_exposed"] = animscripts\utility::array(%covercrouch_grenadea,%covercrouch_grenadeb); + var_00["exposed_idle"] = animscripts\utility::array(%exposed_idle_alert_v1,%exposed_idle_alert_v2,%exposed_idle_alert_v3); + level.archetypes["soldier"]["free_run_cover_crouch"] = var_00; +} + +//Function Number: 4 +setup_free_run_transition_anims() +{ + var_00 = "free_run_into_cover_crouch"; + var_01 = []; + var_01[1] = %unarmed_covercrouch_arrive_7; + var_01[2] = %unarmed_covercrouch_arrive_8; + var_01[3] = %unarmed_covercrouch_arrive_9; + var_01[4] = %unarmed_covercrouch_arrive_4; + var_01[6] = %unarmed_covercrouch_arrive_6; + level.archetypes["soldier"]["cover_trans"][var_00] = var_01; + var_02 = "free_run_out_of_cover_crouch"; + var_01 = []; + var_01[1] = %unarmed_covercrouch_exit_1; + var_01[2] = %unarmed_covercrouch_exit_2; + var_01[3] = %unarmed_covercrouch_exit_3; + var_01[4] = %unarmed_covercrouch_exit_4; + var_01[6] = %unarmed_covercrouch_exit_6; + level.archetypes["soldier"]["cover_exit"][var_02] = var_01; + for(var_03 = 1;var_03 <= 6;var_03++) + { + if(var_03 == 5) + { + continue; + } + + level.archetypes["soldier"]["cover_trans_dist"][var_00][var_03] = getmovedelta(level.archetypes["soldier"]["cover_trans"][var_00][var_03],0,1); + level.archetypes["soldier"]["cover_trans_angles"][var_00][var_03] = getangledelta(level.archetypes["soldier"]["cover_trans"][var_00][var_03],0,1); + if(animhasnotetrack(level.archetypes["soldier"]["cover_exit"][var_02][var_03],"code_move")) + { + var_04 = getnotetracktimes(level.archetypes["soldier"]["cover_exit"][var_02][var_03],"code_move")[0]; + } + else + { + var_04 = 1; + } + + level.archetypes["soldier"]["cover_exit_dist"][var_02][var_03] = getmovedelta(level.archetypes["soldier"]["cover_exit"][var_02][var_03],0,var_04); + level.archetypes["soldier"]["cover_exit_angles"][var_02][var_03] = getangledelta(level.archetypes["soldier"]["cover_exit"][var_02][var_03],0,1); + } + + level.archetypes["soldier"]["CoverTransLongestDist"][var_00] = 0; + for(var_03 = 1;var_03 <= 6;var_03++) + { + if(var_03 == 5) + { + continue; + } + + var_05 = lengthsquared(level.archetypes["soldier"]["cover_trans_dist"][var_00][var_03]); + if(level.archetypes["soldier"]["CoverTransLongestDist"][var_00] < var_05) + { + level.archetypes["soldier"]["CoverTransLongestDist"][var_00] = var_05; + } + } + + level.arrivalendstance[var_00] = "crouch"; +} + +//Function Number: 5 +move_free_run() +{ + if(self.a.pose != "stand") + { + self clearanim(%animscript_root,0.2); + if(self.a.pose == "prone") + { + animscripts\utility::exitpronewrapper(1); + } + + self.a.pose = "stand"; + } + + self.a.movement = self.movemode; + var_00 = animscripts\utility::lookupanim("free_run_move","sprint"); + var_01 = self.moveplaybackrate; + var_02 = 0.3; + if(self.movemode == "walk") + { + var_01 = var_01 * 0.6; + } + + self setflaggedanimknoball("runanim",var_00,%walk_and_run_loops,1,var_02,var_01,1); + animscripts\run::setmovenonforwardanims(animscripts\utility::lookupanim("free_run_move","move_b"),animscripts\utility::lookupanim("free_run_move","move_l"),animscripts\utility::lookupanim("free_run_move","move_r")); + thread animscripts\run::setcombatstandmoveanimweights("free_run_move"); + animscripts\notetracks::donotetracksfortime(0.2,"runanim"); +} + +//Function Number: 6 +enable_free_running(param_00) +{ + if(!isdefined(param_00) || param_00 == 0) + { + self.free_running_hidden_weapon = self.weapon; + maps\_utility::gun_remove(); + self.weapon = "none"; + } + else if(isdefined(self.free_running_hidden_weapon)) + { + self.free_running_hidden_weapon = undefined; + } + + self.free_running = 1; + animscripts\move::register_pluggable_move_loop_override(::move_free_run); +} + +//Function Number: 7 +disable_free_running() +{ + if(isdefined(self.free_running)) + { + if(isdefined(self.free_running_hidden_weapon)) + { + animscripts\shared::placeweaponon(self.free_running_hidden_weapon,"right"); + self.free_running_hidden_weapon = undefined; + } + + self.free_running = undefined; + animscripts\move::clear_pluggable_move_loop_override(); + } +} \ No newline at end of file diff --git a/AW/PC/SP/animscripts/grenade_cower.gsc b/AW/PC/animscripts/grenade_cower.gsc similarity index 95% rename from AW/PC/SP/animscripts/grenade_cower.gsc rename to AW/PC/animscripts/grenade_cower.gsc index 6574a26..14277c4 100644 --- a/AW/PC/SP/animscripts/grenade_cower.gsc +++ b/AW/PC/animscripts/grenade_cower.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\grenade_cower.gsc + * Decompiled File: grenade_cower.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 63 ms - * Timestamp: 10/27/2023 1:55:04 AM + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 2:00:31 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/grenade_return_throw.gsc b/AW/PC/animscripts/grenade_return_throw.gsc similarity index 96% rename from AW/PC/SP/animscripts/grenade_return_throw.gsc rename to AW/PC/animscripts/grenade_return_throw.gsc index f7f9409..3de819f 100644 --- a/AW/PC/SP/animscripts/grenade_return_throw.gsc +++ b/AW/PC/animscripts/grenade_return_throw.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\grenade_return_throw.gsc + * Decompiled File: grenade_return_throw.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 4 - * Decompile Time: 81 ms - * Timestamp: 10/27/2023 1:55:05 AM + * Decompile Time: 65 ms + * Timestamp: 4/22/2024 2:00:32 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/hummer_turret/common.gsc b/AW/PC/animscripts/hummer_turret/common.gsc similarity index 99% rename from AW/PC/SP/animscripts/hummer_turret/common.gsc rename to AW/PC/animscripts/hummer_turret/common.gsc index 38e7cee..b3416d4 100644 --- a/AW/PC/SP/animscripts/hummer_turret/common.gsc +++ b/AW/PC/animscripts/hummer_turret/common.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\hummer_turret\common.gsc + * Decompiled File: hummer_turret\common.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 37 - * Decompile Time: 674 ms - * Timestamp: 10/27/2023 1:53:03 AM + * Decompile Time: 452 ms + * Timestamp: 4/22/2024 1:58:52 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/hummer_turret/dshk_stand.gsc b/AW/PC/animscripts/hummer_turret/dshk_stand.gsc similarity index 93% rename from AW/PC/SP/animscripts/hummer_turret/dshk_stand.gsc rename to AW/PC/animscripts/hummer_turret/dshk_stand.gsc index ecb0074..8f5b3ad 100644 --- a/AW/PC/SP/animscripts/hummer_turret/dshk_stand.gsc +++ b/AW/PC/animscripts/hummer_turret/dshk_stand.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\hummer_turret\dshk_stand.gsc + * Decompiled File: hummer_turret\dshk_stand.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 61 ms - * Timestamp: 10/27/2023 1:53:04 AM + * Decompile Time: 54 ms + * Timestamp: 4/22/2024 1:58:52 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/hummer_turret/minigun_code.gsc b/AW/PC/animscripts/hummer_turret/minigun_code.gsc similarity index 96% rename from AW/PC/SP/animscripts/hummer_turret/minigun_code.gsc rename to AW/PC/animscripts/hummer_turret/minigun_code.gsc index db905c7..56ffbaa 100644 --- a/AW/PC/SP/animscripts/hummer_turret/minigun_code.gsc +++ b/AW/PC/animscripts/hummer_turret/minigun_code.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\hummer_turret\minigun_code.gsc + * Decompiled File: hummer_turret\minigun_code.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 4 - * Decompile Time: 98 ms - * Timestamp: 10/27/2023 1:53:05 AM + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 1:58:52 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/hummer_turret/minigun_stand.gsc b/AW/PC/animscripts/hummer_turret/minigun_stand.gsc similarity index 94% rename from AW/PC/SP/animscripts/hummer_turret/minigun_stand.gsc rename to AW/PC/animscripts/hummer_turret/minigun_stand.gsc index fa398a0..68d01a4 100644 --- a/AW/PC/SP/animscripts/hummer_turret/minigun_stand.gsc +++ b/AW/PC/animscripts/hummer_turret/minigun_stand.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\hummer_turret\minigun_stand.gsc + * Decompiled File: hummer_turret\minigun_stand.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 47 ms - * Timestamp: 10/27/2023 1:53:05 AM + * Decompile Time: 35 ms + * Timestamp: 4/22/2024 1:58:53 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/init.gsc b/AW/PC/animscripts/init.gsc similarity index 99% rename from AW/PC/SP/animscripts/init.gsc rename to AW/PC/animscripts/init.gsc index 1f6ec38..e24ed83 100644 --- a/AW/PC/SP/animscripts/init.gsc +++ b/AW/PC/animscripts/init.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\init.gsc + * Decompiled File: init.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 25 - * Decompile Time: 433 ms - * Timestamp: 10/27/2023 1:55:07 AM + * Decompile Time: 359 ms + * Timestamp: 4/22/2024 2:00:33 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/init_move_transitions.gsc b/AW/PC/animscripts/init_move_transitions.gsc similarity index 99% rename from AW/PC/SP/animscripts/init_move_transitions.gsc rename to AW/PC/animscripts/init_move_transitions.gsc index 911782f..9af4082 100644 --- a/AW/PC/SP/animscripts/init_move_transitions.gsc +++ b/AW/PC/animscripts/init_move_transitions.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\init_move_transitions.gsc + * Decompiled File: init_move_transitions.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 11 - * Decompile Time: 205 ms - * Timestamp: 10/27/2023 1:55:08 AM + * Decompile Time: 186 ms + * Timestamp: 4/22/2024 2:00:34 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/melee.gsc b/AW/PC/animscripts/melee.gsc similarity index 99% rename from AW/PC/SP/animscripts/melee.gsc rename to AW/PC/animscripts/melee.gsc index bb65119..499cd3b 100644 --- a/AW/PC/SP/animscripts/melee.gsc +++ b/AW/PC/animscripts/melee.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\melee.gsc + * Decompiled File: melee.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 61 - * Decompile Time: 1027 ms - * Timestamp: 10/27/2023 1:55:11 AM + * Decompile Time: 869 ms + * Timestamp: 4/22/2024 2:00:37 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/move.gsc b/AW/PC/animscripts/move.gsc similarity index 99% rename from AW/PC/SP/animscripts/move.gsc rename to AW/PC/animscripts/move.gsc index 75d059f..78d1466 100644 --- a/AW/PC/SP/animscripts/move.gsc +++ b/AW/PC/animscripts/move.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\move.gsc + * Decompiled File: move.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 45 - * Decompile Time: 719 ms - * Timestamp: 10/27/2023 1:55:14 AM + * Decompile Time: 647 ms + * Timestamp: 4/22/2024 2:00:39 AM *******************************************************************/ //Function Number: 1 @@ -215,8 +215,10 @@ waspreviouslyincover() case "cover_right": case "cover_stand": case "cover_crouch": - break; + return 1; } + + return 0; } //Function Number: 8 diff --git a/AW/PC/SP/animscripts/notetracks.gsc b/AW/PC/animscripts/notetracks.gsc similarity index 82% rename from AW/PC/SP/animscripts/notetracks.gsc rename to AW/PC/animscripts/notetracks.gsc index 50e3dc2..71a2ebf 100644 --- a/AW/PC/SP/animscripts/notetracks.gsc +++ b/AW/PC/animscripts/notetracks.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\notetracks.gsc + * Decompiled File: notetracks.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 67 - * Decompile Time: 1134 ms - * Timestamp: 10/27/2023 1:55:17 AM + * Decompile Time: 988 ms + * Timestamp: 4/22/2024 2:00:42 AM *******************************************************************/ //Function Number: 1 @@ -38,8 +38,81 @@ handledogfootstepnotetracks(param_00) case "footstep_back_left_small": case "footstep_front_right_small": case "footstep_front_left_small": - break; + var_01 = undefined; + if(isdefined(self.groundtype)) + { + var_01 = self.groundtype; + self.lastgroundtype = var_01; + } + else if(isdefined(self.lastgroundtype)) + { + var_01 = self.lastgroundtype; + } + else + { + var_01 = "dirt"; + } + + if(var_01 != "dirt" && var_01 != "concrete" && var_01 != "wood" && var_01 != "metal") + { + var_01 = "dirt"; + } + + if(var_01 == "concrete") + { + var_01 = "cement"; + } + + var_02 = self.moveanimtype; + if(!isdefined(var_02)) + { + var_02 = "run"; + } + + var_03 = self isdogbeingdriven() || isdefined(self.controlling_dog); + if(var_03) + { + self playsound("dogstep_plr_" + var_02 + "_" + var_01); + } + else + { + self playsound("dogstep_" + var_02 + "_" + var_01); + } + + if(!isdefined(self.bdisablegearsounds) || self.bdisablegearsounds) + { + if(issubstr(param_00,"front_left") || issubstr(param_00,"fr_l")) + { + var_04 = "anml_dog_mvmt_accent"; + var_05 = "anml_dog_mvmt_vest"; + if(var_03) + { + if(!isdefined(self.drivenmovemode) || self.drivenmovemode == "walk") + { + var_06 = "_plr"; + } + else + { + var_06 = "_run_plr"; + } + } + else if(var_03 == "walk") + { + var_06 = "_npc"; + } + else + { + var_06 = "_run_npc"; + } + + self playsound(var_04 + var_06); + self playsound(var_05 + var_06); + } + } + return 1; } + + return 0; } //Function Number: 3 @@ -511,68 +584,155 @@ notetrackspacejet_proc(param_00,param_01) switch(param_00) { case "space_jet_bottom": + var_02 = ["tag_jet_bottom_1","tag_jet_bottom_2"]; break; case "space_jet_bottom_1": + var_02 = ["tag_jet_bottom_1"]; break; case "space_jet_bottom_2": + var_02 = ["tag_jet_bottom_2"]; break; case "space_jet_top": + var_02 = ["tag_jet_top_1","tag_jet_top_2"]; break; case "space_jet_top_1": + var_02 = ["tag_jet_top_1"]; break; case "space_jet_top_2": + var_02 = ["tag_jet_top_2"]; break; case "space_jet_left": + var_02 = ["tag_jet_le_1","tag_jet_le_2"]; break; case "space_jet_left_1": + var_02 = ["tag_jet_le_1"]; break; case "space_jet_left_2": + var_02 = ["tag_jet_le_2"]; break; case "space_jet_right": + var_02 = ["tag_jet_ri_1","tag_jet_ri_2"]; break; case "space_jet_right_1": + var_02 = ["tag_jet_ri_1"]; break; case "space_jet_right_2": + var_02 = ["tag_jet_ri_2"]; break; case "space_jet_front": + var_02 = ["tag_jet_front_1","tag_jet_front_2"]; break; case "space_jet_front_1": + var_02 = ["tag_jet_front_1"]; break; case "space_jet_front_2": + var_02 = ["tag_jet_front_2"]; break; case "space_jet_back": + var_02 = ["tag_jet_back_1","tag_jet_back_2","tag_jet_back_3","tag_jet_back_4"]; break; case "space_jet_back_1": + var_02 = ["tag_jet_back_1"]; break; case "space_jet_back_2": + var_02 = ["tag_jet_back_2"]; break; case "space_jet_back_3": + var_02 = ["tag_jet_back_3"]; break; case "space_jet_back_4": + var_02 = ["tag_jet_back_4"]; break; case "space_jet_random": + var_02 = ["tag_jet_bottom_1","tag_jet_bottom_2","tag_jet_top_1","tag_jet_top_2","tag_jet_le_1","tag_jet_le_2","tag_jet_ri_1","tag_jet_ri_2"]; break; } + + if(common_scripts\utility::fxexists("space_jet_small") && isdefined(var_02)) + { + if(isdefined(var_02)) + { + if(param_00 == "space_jet_random") + { + for(var_04 = 0;var_04 < 6;var_04++) + { + var_05 = randomint(8); + var_06 = var_02[var_05]; + if(maps\_utility::hastag(self.model,var_06)) + { + if(!isdefined(self.audio_jet_counter)) + { + self.audio_jet_counter = 0; + } + + self.audio_jet_counter++; + if(self.audio_jet_counter > 5) + { + self.audio_jet_counter = 0; + } + + if(self.audio_jet_counter == 1) + { + self playsound("space_npc_jetpack_boost_ss"); + } + + playfxontag(level._effect["space_jet_small"],self,var_06); + } + + wait(randomfloatrange(0.1,0.3)); + } + + return; + } + + foreach(var_06 in var_03) + { + if(isdefined(var_06) && maps\_utility::hastag(self.model,var_06)) + { + if(!isdefined(self.audio_jet_counter)) + { + self.audio_jet_counter = 0; + } + + self.audio_jet_counter++; + if(self.audio_jet_counter > 5) + { + self.audio_jet_counter = 0; + } + + if(self.audio_jet_counter == 1) + { + self playsound("space_npc_jetpack_boost_ss"); + } + + playfxontag(level._effect["space_jet_small"],self,var_06); + wait(0.1); + } + } + + return; + } + } } //Function Number: 39 @@ -801,59 +961,105 @@ handlenotetrack(param_00,param_01,param_02,param_03) case "undefined": case "end": case "finish": - break; + return param_00; case "finish early": + if(isdefined(self.enemy)) + { + return param_00; + } break; case "swish small": + thread common_scripts\utility::play_sound_in_space("melee_swing_small",self gettagorigin("TAG_WEAPON_RIGHT")); break; case "swish large": + thread common_scripts\utility::play_sound_in_space("melee_swing_large",self gettagorigin("TAG_WEAPON_RIGHT")); break; case "torso_mvmnt": + thread common_scripts\utility::play_sound_in_space("foly_mvmnt_cloth_npc",self.origin); break; case "rechamber": + if(animscripts\utility::weapon_pump_action_shotgun()) + { + notetrack_playsound("weap_reload_shotgun_pump_npc"); + } + + self.a.needstorechamber = 0; break; case "no death": + self.a.nodeath = 1; break; case "no pain": + self.allowpain = 0; break; case "allow pain": + self.allowpain = 1; break; case "anim_melee = \"right\": case "anim_melee = right": + self.a.meleestate = "right"; break; case "anim_melee = \"left\": case "anim_melee = left": + self.a.meleestate = "left"; break; case "swap taghelmet to tagleft": + if(isdefined(self.hatmodel)) + { + if(isdefined(self.helmetsidemodel)) + { + self detach(self.helmetsidemodel,"TAG_HELMETSIDE"); + self.helmetsidemodel = undefined; + } + + self detach(self.hatmodel,""); + self attach(self.hatmodel,"TAG_WEAPON_LEFT"); + self.hatmodel = undefined; + } break; case "stop anim": - break; + maps\_utility::anim_stopanimscripted(); + return param_00; case "break glass": + level notify("glass_break",self); break; case "break_glass": + level notify("glass_break",self); break; case "attach clip left": + if(animscripts\utility::usingrocketlauncher()) + { + notetrackrocketlauncherammoattach(); + } break; case "detach clip left": + if(animscripts\utility::usingrocketlauncher()) + { + notetrackrocketlauncherammodelete(); + } + break; default: + if(isdefined(param_02)) + { + return [[ param_02 ]](param_00); + } break; } } diff --git a/AW/PC/SP/animscripts/pain.gsc b/AW/PC/animscripts/pain.gsc similarity index 93% rename from AW/PC/SP/animscripts/pain.gsc rename to AW/PC/animscripts/pain.gsc index 2cf9a3a..1d2ee94 100644 --- a/AW/PC/SP/animscripts/pain.gsc +++ b/AW/PC/animscripts/pain.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\pain.gsc + * Decompiled File: pain.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 53 - * Decompile Time: 883 ms - * Timestamp: 10/27/2023 1:55:20 AM + * Decompile Time: 805 ms + * Timestamp: 4/22/2024 2:00:45 AM *******************************************************************/ //Function Number: 1 @@ -614,59 +614,137 @@ specialpain(param_00) switch(param_00) { case "cover_left": + if(self.a.pose == "stand") + { + var_01 = animscripts\utility::lookupanim("pain","cover_left_stand"); + dopainfromarray(var_01); + var_02 = 1; + } + else if(self.a.pose == "crouch") + { + var_01 = animscripts\utility::lookupanim("pain","cover_left_crouch"); + dopainfromarray(var_01); + var_02 = 1; + } + else + { + var_02 = 0; + } break; case "cover_right": + if(self.a.pose == "stand") + { + var_01 = animscripts\utility::lookupanim("pain","cover_right_stand"); + dopainfromarray(var_01); + var_02 = 1; + } + else if(self.a.pose == "crouch") + { + var_01 = animscripts\utility::lookupanim("pain","cover_right_crouch"); + dopainfromarray(var_01); + var_02 = 1; + } + else + { + var_02 = 0; + } break; case "cover_right_stand_A": + var_02 = 0; break; case "cover_right_stand_B": + dopain(animscripts\utility::lookupanim("pain","cover_right_stand_B")); + var_02 = 1; break; case "cover_left_stand_A": + dopain(animscripts\utility::lookupanim("pain","cover_left_stand_A")); + var_02 = 1; break; case "cover_left_stand_B": + dopain(animscripts\utility::lookupanim("pain","cover_left_stand_B")); + var_02 = 1; break; case "cover_crouch": + var_01 = animscripts\utility::lookupanim("pain","cover_crouch"); + dopainfromarray(var_01); + var_02 = 1; break; case "cover_stand": + var_01 = animscripts\utility::lookupanim("pain","cover_stand"); + dopainfromarray(var_01); + var_02 = 1; break; case "cover_stand_aim": + var_01 = animscripts\utility::lookupanim("pain","cover_stand_aim"); + dopainfromarray(var_01); + var_02 = 1; break; case "smg_cover_stand_aim": + var_01 = animscripts\utility::lookupanim("pain",var_02); + dopainfromarray(var_01); + var_02 = 1; break; case "cover_crouch_aim": + var_01 = animscripts\utility::lookupanim("pain","cover_crouch_aim"); + dopainfromarray(var_01); + var_02 = 1; break; case "saw": + if(self.a.pose == "stand") + { + var_03 = animscripts\utility::lookupanim("pain","saw_stand"); + } + else if(self.a.pose == "crouch") + { + var_03 = animscripts\utility::lookupanim("pain","saw_crouch"); + } + else + { + var_03 = animscripts\utility::lookupanim("pain","saw_prone"); + } + + pain_setflaggedanimknob("painanim",var_03,1,0.3,1); + animscripts\shared::donotetracks("painanim"); + var_02 = 1; break; case "mg42": + mg42pain(self.a.pose); + var_02 = 1; break; case "minigun": + var_02 = 0; break; case "corner_right_martyrdom": + var_02 = trycornerrightgrenadedeath(); break; case "rambo_right": case "rambo_left": case "dying_crawl": case "rambo": + var_02 = 0; break; default: + var_02 = 0; break; } + + return var_02; } //Function Number: 17 @@ -998,17 +1076,34 @@ shouldattemptstumblingpain(param_00) switch(var_05) { case "b": + var_06 = anglestoforward(self.angles); + var_07 = self.origin - var_06 * var_03; break; case "l": + var_08 = anglestoright(self.angles); + var_07 = self.origin - var_08 * var_03; break; case "r": + var_08 = anglestoright(self.angles); + var_07 = self.origin + var_08 * var_03; break; default: break; } + + if(!self maymovetopoint(var_07)) + { + return; + } + + var_09 = animscripts\utility::lookupanim("crawl_death","longdeath"); + var_0A = var_04 + "_" + var_05; + var_0B = randomint(var_09[var_0A].size); + var_0C = var_09[var_0A][var_0B]; + return var_0C; } //Function Number: 27 diff --git a/AW/PC/SP/animscripts/reactions.gsc b/AW/PC/animscripts/reactions.gsc similarity index 98% rename from AW/PC/SP/animscripts/reactions.gsc rename to AW/PC/animscripts/reactions.gsc index fc95ee1..ee3cf52 100644 --- a/AW/PC/SP/animscripts/reactions.gsc +++ b/AW/PC/animscripts/reactions.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\reactions.gsc + * Decompiled File: reactions.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 12 - * Decompile Time: 207 ms - * Timestamp: 10/27/2023 1:55:21 AM + * Decompile Time: 188 ms + * Timestamp: 4/22/2024 2:00:46 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/animscripts/riotshield/riotshield.gsc b/AW/PC/animscripts/riotshield/riotshield.gsc new file mode 100644 index 0000000..abc09ea --- /dev/null +++ b/AW/PC/animscripts/riotshield/riotshield.gsc @@ -0,0 +1,803 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: riotshield\riotshield.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 28 + * Decompile Time: 333 ms + * Timestamp: 4/22/2024 1:58:54 AM +*******************************************************************/ + +//Function Number: 1 +init_riotshield_ai_anims() +{ + level.notetracks["detach shield"] = ::notetrackdetachshield; + animscripts\init_move_transitions::init_move_transition_arrays(); + var_00 = []; + var_00["cover_trans"]["riotshield"][1] = %riotshield_run_approach_1; + var_00["cover_trans"]["riotshield"][2] = %riotshield_run_approach_2; + var_00["cover_trans"]["riotshield"][3] = %riotshield_run_approach_3; + var_00["cover_trans"]["riotshield"][4] = %riotshield_run_approach_4; + var_00["cover_trans"]["riotshield"][6] = %riotshield_run_approach_6; + var_00["cover_trans"]["riotshield"][7] = undefined; + var_00["cover_trans"]["riotshield"][8] = %riotshield_walk2crouch_8; + var_00["cover_trans"]["riotshield"][9] = undefined; + var_00["cover_trans"]["riotshield_crouch"][1] = %riotshield_walk_approach_1; + var_00["cover_trans"]["riotshield_crouch"][2] = %riotshield_walk_approach_2; + var_00["cover_trans"]["riotshield_crouch"][3] = %riotshield_walk_approach_3; + var_00["cover_trans"]["riotshield_crouch"][4] = %riotshield_walk_approach_4; + var_00["cover_trans"]["riotshield_crouch"][6] = %riotshield_walk_approach_6; + var_00["cover_trans"]["riotshield_crouch"][7] = undefined; + var_00["cover_trans"]["riotshield_crouch"][8] = %riotshield_walk2crouch_8; + var_00["cover_trans"]["riotshield_crouch"][9] = undefined; + var_01 = []; + var_01[0] = "riotshield"; + var_01[1] = "riotshield_crouch"; + for(var_02 = 0;var_02 < var_01.size;var_02++) + { + var_03 = var_01[var_02]; + for(var_04 = 1;var_04 <= 9;var_04++) + { + if(var_04 == 5) + { + continue; + } + + if(isdefined(var_00["cover_trans"][var_03][var_04])) + { + var_00["cover_trans_dist"][var_03][var_04] = getmovedelta(var_00["cover_trans"][var_03][var_04],0,1); + } + } + } + + var_00["cover_trans_angles"]["riotshield_crouch"][1] = 45; + var_00["cover_trans_angles"]["riotshield_crouch"][2] = 0; + var_00["cover_trans_angles"]["riotshield_crouch"][3] = -45; + var_00["cover_trans_angles"]["riotshield_crouch"][4] = 90; + var_00["cover_trans_angles"]["riotshield_crouch"][6] = -90; + var_00["cover_trans_angles"]["riotshield_crouch"][8] = 180; + var_00["cover_trans_angles"]["riotshield"][1] = 45; + var_00["cover_trans_angles"]["riotshield"][2] = 0; + var_00["cover_trans_angles"]["riotshield"][3] = -45; + var_00["cover_trans_angles"]["riotshield"][4] = 90; + var_00["cover_trans_angles"]["riotshield"][6] = -90; + var_00["cover_trans_angles"]["riotshield"][8] = 180; + animscripts\animset::registerarchetype("riotshield",var_00,0); + level.arrivalendstance["riotshield"] = "crouch"; + level.arrivalendstance["riotshield_crouch"] = "crouch"; + animscripts\combat_utility::addgrenadethrowanimoffset(%riotshield_crouch_grenade_toss,(-3.20014,1.7098,55.6886)); +} + +//Function Number: 2 +notetrackdetachshield(param_00,param_01) +{ + animscripts\shared::dropaiweapon(self.secondaryweapon); + self.secondaryweapon = "none"; + if(isalive(self)) + { + riotshield_turn_into_regular_ai(); + } +} + +//Function Number: 3 +riotshield_approach_type() +{ + if(self.a.pose == "crouch") + { + return "riotshield_crouch"; + } + + return "riotshield"; +} + +//Function Number: 4 +riotshield_approach_conditions(param_00) +{ + return 1; +} + +//Function Number: 5 +init_riotshield_ai() +{ + animscripts\shared::placeweaponon(self.secondaryweapon,"left",0); + self.animarchetype = "riotshield"; + self initriotshieldhealth(self.secondaryweapon); + self.shieldmodelvariant = 0; + thread riotshield_damaged(); + self.subclass = "riotshield"; + self.approachtypefunc = ::riotshield_approach_type; + self.approachconditioncheckfunc = ::riotshield_approach_conditions; + self.faceenemyarrival = 1; + self.disablecoverarrivalsonly = 1; + self.pathrandompercent = 0; + self.interval = 0; + self.disabledoorbehavior = 1; + self.no_pistol_switch = 1; + self.dontshootwhilemoving = 1; + self.disablebulletwhizbyreaction = 1; + self.disablefriendlyfirereaction = 1; + self.neversprintforvariation = 1; + self.combatmode = "no_cover"; + self.fixednode = 0; + self.maxfaceenemydist = 1500; + self.nomeleechargedelay = 1; + self.meleechargedistsq = squared(256); + self.meleeplayerwhilemoving = 1; + self.usemuzzlesideoffset = 1; + if(level.gameskill < 1) + { + self.shieldbulletblocklimit = randomintrange(4,8); + } + else + { + self.shieldbulletblocklimit = randomintrange(8,12); + } + + self.shieldbulletblockcount = 0; + self.shieldbulletblocktime = 0; + self.walkdist = 500; + self.walkdistfacingmotion = 500; + self.grenadeawareness = 1; + self.frontshieldanglecos = 0.5; + self.nogrenadereturnthrow = 1; + self.a.grenadethrowpose = "crouch"; + self.minexposedgrenadedist = 400; + self.ignoresuppression = 1; + self.specialmelee_standard = ::riotshield_melee_standard; + self.specialmeleechooseaction = ::riotshield_melee_aivsai; + maps\_utility::disable_turnanims(); + maps\_utility::disable_surprise(); + maps\_utility::disable_cqbwalk(); + init_riotshield_animsets(); + if(level.gameskill < 1) + { + self.bullet_resistance = 30; + } + else + { + self.bullet_resistance = 40; + } + + maps\_utility::add_damage_function(::maps\_spawner::bullet_resistance); + maps\_utility::add_damage_function(::animscripts\pain::additive_pain); +} + +//Function Number: 6 +riotshield_charge() +{ + if(!animscripts\melee::melee_standard_updateandvalidatetarget()) + { + return 0; + } + + var_00 = getmovedelta(%riotshield_basha_attack,0,1); + var_01 = lengthsquared(var_00); + if(distancesquared(self.origin,self.melee.target.origin) < var_01) + { + return 1; + } + + animscripts\melee::melee_playchargesound(); + var_02 = 0.1; + var_03 = 1; + for(;;) + { + if(!animscripts\melee::melee_standard_updateandvalidatetarget()) + { + return 0; + } + + if(var_03) + { + self.a.pose = "stand"; + self setflaggedanimknoball("chargeanim",%riotshield_sprint,%body,1,0.2,1); + var_03 = 0; + } + + self orientmode("face point",self.melee.target.origin); + animscripts\notetracks::donotetracksfortime(var_02,"chargeanim"); + var_04 = distancesquared(self.origin,self.melee.target.origin); + if(var_04 < var_01) + { + break; + } + + if(gettime() >= self.melee.giveuptime) + { + return 0; + } + } + + return 1; +} + +//Function Number: 7 +riotshield_melee_standard() +{ + self animmode("zonly_physics"); + animscripts\melee::melee_standard_resetgiveuptime(); + for(;;) + { + if(!riotshield_charge()) + { + self.nextmeleechargetime = gettime() + 1500; + self.nextmeleechargetarget = self.melee.target; + break; + } + + animscripts\battlechatter_ai::evaluatemeleeevent(); + self orientmode("face point",self.melee.target.origin); + self setflaggedanimknoballrestart("meleeanim",%riotshield_bash_vs_player,%body,1,0.2,1); + self.melee.inprogress = 1; + if(!animscripts\melee::melee_standard_playattackloop()) + { + animscripts\melee::melee_standard_delaystandardcharge(self.melee.target); + break; + } + + self animmode("none"); + } + + self animmode("none"); +} + +//Function Number: 8 +riotshield_melee_aivsai() +{ + var_00 = self.melee.target; + if(self.subclass == "riotshield" && var_00.subclass == "riotshield") + { + return 0; + } + + animscripts\melee::melee_decide_winner(); + var_01 = vectortoangles(var_00.origin - self.origin); + var_02 = angleclamp180(var_00.angles[1] - var_01[1]); + if(abs(var_02) > 100) + { + if(self.melee.winner) + { + if(self.subclass == "riotshield") + { + self.melee.animname = %riotshield_basha_attack; + var_00.melee.animname = %riotshield_basha_defend; + var_00.melee.surviveanimname = %riotshield_basha_defend_survive; + } + else + { + self.melee.animname = %riotshield_bashb_defend; + var_00.melee.animname = %riotshield_bashb_attack; + } + } + else if(self.subclass == "riotshield") + { + self.melee.animname = %riotshield_bashb_attack; + var_00.melee.animname = %riotshield_bashb_defend; + } + else + { + self.melee.animname = %riotshield_basha_defend; + var_00.melee.animname = %riotshield_basha_attack; + } + } + else + { + return 0; + } + + self.melee.startpos = getstartorigin(var_00.origin,var_00.angles,self.melee.animname); + self.melee.startangles = (var_00.angles[0],angleclamp180(var_00.angles[1] + 180),var_00.angles[2]); + self.lockorientation = 0; + var_00.lockorientation = 0; + return animscripts\melee::melee_updateandvalidatestartpos(); +} + +//Function Number: 9 +riotshield_startmovetransition() +{ + if(isdefined(self.disableexits)) + { + return; + } + + self orientmode("face angle",self.angles[1]); + self animmode("zonly_physics",0); + if(self.a.pose == "crouch") + { + if(isdefined(self.sprint) || isdefined(self.fastwalk)) + { + var_00 = %riotshield_crouch2stand; + } + else + { + var_00 = %riotshield_crouch2walk; + } + + var_01 = randomfloatrange(0.9,1.1); + if(isdefined(self.copgroup)) + { + var_01 = 2.5; + } + + self setflaggedanimknoballrestart("startmove",var_00,%body,1,0.1,var_01); + animscripts\shared::donotetracks("startmove"); + self clearanim(%riotshield_crouch2walk,0.5); + } + + if(isdefined(self.sprint) || isdefined(self.fastwalk)) + { + self allowedstances("stand","crouch"); + self.a.pose = "stand"; + } + + self orientmode("face default"); + self animmode("normal",0); + thread riotshield_bullet_hit_shield(); +} + +//Function Number: 10 +riotshield_endmovetransition() +{ + if(self.prevscript == "move" && self.a.pose == "crouch") + { + self clearanim(%animscript_root,0.2); + var_00 = randomfloatrange(0.9,1.1); + if(isdefined(self.copgroup)) + { + var_00 = 2.5; + } + + self animmode("zonly_physics"); + self setflaggedanimknoballrestart("endmove",%riotshield_walk2crouch_8,%body,1,0.2,var_00); + animscripts\shared::donotetracks("endmove"); + self animmode("normal"); + } + + self allowedstances("crouch"); +} + +//Function Number: 11 +riotshield_startcombat() +{ + riotshield_endmovetransition(); + self.pushable = 0; + thread riotshield_bullet_hit_shield(); +} + +//Function Number: 12 +riotshield_bullet_hit_shield() +{ + self endon("killanimscript"); + for(;;) + { + self waittill("bullet_hitshield"); + var_00 = gettime(); + if(var_00 - self.shieldbulletblocktime > 500) + { + self.shieldbulletblockcount = 0; + } + else + { + self.shieldbulletblockcount++; + } + + self.shieldbulletblocktime = var_00; + if(self.shieldbulletblockcount > self.shieldbulletblocklimit) + { + self dodamage(1,(0,0,0)); + } + + if(common_scripts\utility::cointoss()) + { + var_01 = %riotshield_reacta; + } + else + { + var_01 = %riotshield_reactb; + } + + self notify("new_hit_react"); + self setflaggedanimrestart("hitreact",var_01,1,0.1,1); + thread riotshield_bullet_hit_shield_clear(); + } +} + +//Function Number: 13 +riotshield_bullet_hit_shield_clear() +{ + self endon("killanimscript"); + self endon("new_hit_react"); + self waittillmatch("end","hitreact"); + self clearanim(%riotshield_react,0.1); +} + +//Function Number: 14 +riotshield_grenadecower() +{ + if(self.a.pose == "stand") + { + self clearanim(%animscript_root,0.2); + self setflaggedanimknoballrestart("trans",%riotshield_walk2crouch_8,%body,1,0.2,1.2); + animscripts\shared::donotetracks("trans"); + } + + if(isdefined(self.grenade)) + { + var_00 = 1; + var_01 = self.grenade.origin - self.origin; + if(isdefined(self.enemy)) + { + var_02 = self.enemy.origin - self.origin; + if(vectordot(var_01,var_02) < 0) + { + var_00 = 0; + } + } + + if(var_00) + { + var_03 = angleclamp180(self.angles[1] - vectortoyaw(var_01)); + if(!isdefined(self.turnthreshold)) + { + self.turnthreshold = 55; + } + + while(abs(var_03) > self.turnthreshold) + { + if(!isdefined(self.a.array)) + { + animscripts\combat::setup_anim_array(); + } + + if(!animscripts\combat::turntofacerelativeyaw(var_03)) + { + break; + } + + var_03 = angleclamp180(self.angles[1] - vectortoyaw(var_01)); + } + } + } + + self setanimknoball(%riotshield_crouch_aim_5,%body,1,0.2,1); + self setflaggedanimknoballrestart("grenadecower",%riotshield_crouch_idle_add,%add_idle,1,0.2,self.animplaybackrate); + animscripts\shared::donotetracks("grenadecower"); +} + +//Function Number: 15 +riotshield_flashbang() +{ + self notify("flashed"); + if(!isdefined(self.a.onback)) + { + var_00 = randomfloatrange(0.9,1.1); + self.frontshieldanglecos = 1; + var_01 = []; + var_01[0] = %riotshield_crouch_grenade_flash1; + var_01[1] = %riotshield_crouch_grenade_flash2; + var_01[2] = %riotshield_crouch_grenade_flash3; + var_01[3] = %riotshield_crouch_grenade_flash4; + var_02 = var_01[randomint(var_01.size)]; + self setflaggedanimknoballrestart("flashanim",var_02,%body,1,0.1,var_00); + self.minpaindamage = 1000; + animscripts\shared::donotetracks("flashanim"); + } + else + { + wait(0.1); + } + + self.minpaindamage = 0; + if(isdefined(self.subclass) && self.subclass == "riotshield") + { + self.frontshieldanglecos = 0.5; + } +} + +//Function Number: 16 +riotshield_pain() +{ + self.a.pose = "crouch"; + if(animscripts\utility::usingsidearm()) + { + maps\_utility::forceuseweapon(self.primaryweapon,"primary"); + } + + if(!isdefined(self.a.onback)) + { + var_00 = randomfloatrange(0.8,1.15); + self.frontshieldanglecos = 1; + if((self.damageyaw < -120 || self.damageyaw > 120) && isexplosivedamagemod(self.damagemod)) + { + var_01 = []; + var_01[0] = %riotshield_crouch_grenade_blowback; + var_01[1] = %riotshield_crouch_grenade_blowbackl; + var_01[2] = %riotshield_crouch_grenade_blowbackr; + var_02 = var_01[randomint(var_01.size)]; + self setflaggedanimknoballrestart("painanim",var_02,%body,1,0.2,var_00); + self.minpaindamage = 1000; + } + else + { + self setflaggedanimknoballrestart("painanim",%riotshield_crouch_pain,%body,1,0.2,var_00); + } + + animscripts\shared::donotetracks("painanim"); + } + else + { + wait(0.1); + } + + self.minpaindamage = 0; + if(isdefined(self.subclass) && self.subclass == "riotshield") + { + self.frontshieldanglecos = 0.5; + } +} + +//Function Number: 17 +riotshield_death() +{ + if(isdefined(self.a.onback) && self.a.pose == "crouch") + { + var_00 = []; + var_00[0] = %dying_back_death_v2; + var_00[1] = %dying_back_death_v3; + var_00[2] = %dying_back_death_v4; + var_01 = var_00[randomint(var_00.size)]; + animscripts\death::playdeathanim(var_01); + return 1; + } + + if(self.prevscript == "pain" || self.prevscript == "flashed") + { + var_02 = randomint(2) == 0; + } + else + { + var_02 = 1; + } + + if(var_02) + { + if(common_scripts\utility::cointoss()) + { + var_01 = %riotshield_crouch_death; + } + else + { + var_01 = %riotshield_crouch_death_fallback; + } + + animscripts\death::playdeathanim(var_02); + return 1; + } + + self.a.pose = "crouch"; + return 0; +} + +//Function Number: 18 +init_riotshield_animsets() +{ + var_00 = []; + var_00["sprint"] = %riotshield_sprint; + var_00["prone"] = %prone_crawl; + var_00["straight"] = %riotshield_run_f; + var_00["move_f"] = %riotshield_run_f; + var_00["move_l"] = %riotshield_run_l; + var_00["move_r"] = %riotshield_run_r; + var_00["move_b"] = %riotshield_run_b; + var_00["crouch"] = %riotshield_crouchwalk_f; + var_00["crouch_l"] = %riotshield_crouchwalk_l; + var_00["crouch_r"] = %riotshield_crouchwalk_r; + var_00["crouch_b"] = %riotshield_crouchwalk_b; + var_00["stairs_up"] = %traverse_stair_run_01; + var_00["stairs_down"] = %traverse_stair_run_down; + self.custommoveanimset["run"] = var_00; + self.custommoveanimset["walk"] = var_00; + self.custommoveanimset["cqb"] = var_00; + self.customidleanimset = []; + self.customidleanimset["crouch"] = %riotshield_crouch_aim_5; + self.customidleanimset["crouch_add"] = %riotshield_crouch_idle_add; + self.customidleanimset["stand"] = %riotshield_crouch_aim_5; + self.customidleanimset["stand_add"] = %riotshield_crouch_idle_add; + self.a.pose = "crouch"; + self allowedstances("crouch"); + var_00 = level.animsets.defaultstand; + var_00["add_aim_up"] = %riotshield_crouch_aim_8; + var_00["add_aim_down"] = %riotshield_crouch_aim_2; + var_00["add_aim_left"] = %riotshield_crouch_aim_4; + var_00["add_aim_right"] = %riotshield_crouch_aim_6; + var_00["straight_level"] = %riotshield_crouch_aim_5; + var_00["fire"] = %riotshield_crouch_fire_auto; + var_00["single"] = animscripts\utility::array(%riotshield_crouch_fire_single); + var_00["burst2"] = %riotshield_crouch_fire_burst; + var_00["burst3"] = %riotshield_crouch_fire_burst; + var_00["burst4"] = %riotshield_crouch_fire_burst; + var_00["burst5"] = %riotshield_crouch_fire_burst; + var_00["burst6"] = %riotshield_crouch_fire_burst; + var_00["semi2"] = %riotshield_crouch_fire_burst; + var_00["semi3"] = %riotshield_crouch_fire_burst; + var_00["semi4"] = %riotshield_crouch_fire_burst; + var_00["semi5"] = %riotshield_crouch_fire_burst; + var_00["exposed_idle"] = animscripts\utility::array(%riotshield_crouch_idle_add,%riotshield_crouch_twitch); + var_00["exposed_grenade"] = animscripts\utility::array(%riotshield_crouch_grenade_toss); + var_00["reload"] = animscripts\utility::array(%riotshield_crouch_reload); + var_00["reload_crouchhide"] = animscripts\utility::array(%riotshield_crouch_reload); + var_00["turn_left_45"] = %riotshield_crouch_lturn; + var_00["turn_left_90"] = %riotshield_crouch_lturn; + var_00["turn_left_135"] = %riotshield_crouch_lturn; + var_00["turn_left_180"] = %riotshield_crouch_lturn; + var_00["turn_right_45"] = %riotshield_crouch_rturn; + var_00["turn_right_90"] = %riotshield_crouch_rturn; + var_00["turn_right_135"] = %riotshield_crouch_rturn; + var_00["turn_right_180"] = %riotshield_crouch_rturn; + var_00["stand_2_crouch"] = %riotshield_walk2crouch_8; + animscripts\animset::init_animset_complete_custom_stand(var_00); + animscripts\animset::init_animset_complete_custom_crouch(var_00); + self.chooseposefunc = ::riotshield_choose_pose; + self.painfunction = ::riotshield_pain; + self.specialdeathfunc = ::riotshield_death; + self.specialflashedfunc = ::riotshield_flashbang; + self.grenadecowerfunction = ::riotshield_grenadecower; + self.custommovetransition = ::riotshield_startmovetransition; + self.permanentcustommovetransition = 1; + common_scripts\utility::set_exception("exposed",::riotshield_startcombat); +} + +//Function Number: 19 +riotshield_choose_pose(param_00) +{ + if(isdefined(self.grenade)) + { + return "stand"; + } + + return animscripts\utility::choosepose(param_00); +} + +//Function Number: 20 +riotshield_sprint_on() +{ + self.maxfaceenemydist = 128; + self.sprint = 1; + self orientmode("face default"); + self.lockorientation = 0; + self.walkdist = 32; + self.walkdistfacingmotion = 32; +} + +//Function Number: 21 +riotshield_fastwalk_on() +{ + self.maxfaceenemydist = 128; + self.fastwalk = 1; + self.walkdist = 32; + self.walkdistfacingmotion = 32; +} + +//Function Number: 22 +riotshield_sprint_off() +{ + self.maxfaceenemydist = 1500; + self.walkdist = 500; + self.walkdistfacingmotion = 500; + self.sprint = undefined; + self allowedstances("crouch"); +} + +//Function Number: 23 +riotshield_fastwalk_off() +{ + self.maxfaceenemydist = 1500; + self.walkdist = 500; + self.walkdistfacingmotion = 500; + self.fastwalk = undefined; + self allowedstances("crouch"); +} + +//Function Number: 24 +null_func() +{ +} + +//Function Number: 25 +riotshield_init_flee() +{ + if(self.script == "move") + { + self animcustom(::null_func); + } + + self.custommovetransition = ::riotshield_flee_and_drop_shield; +} + +//Function Number: 26 +riotshield_flee_and_drop_shield() +{ + self.custommovetransition = ::riotshield_startmovetransition; + self animmode("zonly_physics",0); + self orientmode("face current"); + if(!isdefined(self.dropshieldinplace) && isdefined(self.enemy) && vectordot(self.lookaheaddir,anglestoforward(self.angles)) < 0) + { + var_00 = %riotshield_crouch2walk_2flee; + } + else + { + var_00 = %riotshield_crouch2stand_shield_drop; + } + + var_01 = randomfloatrange(0.85,1.1); + self setflaggedanimknoball("fleeanim",var_00,%animscript_root,1,0.1,var_01); + animscripts\shared::donotetracks("fleeanim"); + self.maxfaceenemydist = 32; + self.lockorientation = 0; + self orientmode("face default"); + self animmode("normal",0); + animscripts\shared::donotetracks("fleeanim"); + self clearanim(var_00,0.2); + self.maxfaceenemydist = 128; +} + +//Function Number: 27 +riotshield_turn_into_regular_ai() +{ + self.subclass = "regular"; + self.combatmode = "cover"; + self.approachtypefunc = undefined; + self.approachconditioncheckfunc = undefined; + self.faceenemyarrival = undefined; + self.disablecoverarrivalsonly = undefined; + self.pathrandompercent = 0; + self.interval = 80; + self.disabledoorbehavior = undefined; + self.no_pistol_switch = undefined; + self.dontshootwhilemoving = undefined; + self.disablebulletwhizbyreaction = undefined; + self.disablefriendlyfirereaction = undefined; + self.neversprintforvariation = undefined; + self.maxfaceenemydist = 128; + self.nomeleechargedelay = undefined; + self.meleechargedistsq = undefined; + self.meleeplayerwhilemoving = undefined; + self.usemuzzlesideoffset = undefined; + self.pathenemyfightdist = 128; + self.pathenemylookahead = 128; + self.walkdist = 256; + self.walkdistfacingmotion = 64; + self.lockorientation = 0; + self.frontshieldanglecos = 1; + self.nogrenadereturnthrow = 0; + self.ignoresuppression = 0; + self.sprint = undefined; + self allowedstances("stand","crouch","prone"); + self.specialmelee_standard = undefined; + self.specialmeleechooseaction = undefined; + maps\_utility::enable_turnanims(); + self.bullet_resistance = undefined; + maps\_utility::remove_damage_function(::maps\_spawner::bullet_resistance); + maps\_utility::remove_damage_function(::animscripts\pain::additive_pain); + animscripts\animset::clear_custom_animset(); + self.chooseposefunc = ::animscripts\utility::choosepose; + self.painfunction = undefined; + self.specialdeathfunc = undefined; + self.specialflashedfunc = undefined; + self.grenadecowerfunction = undefined; + self.custommovetransition = undefined; + self.permanentcustommovetransition = undefined; + common_scripts\utility::clear_exception("exposed"); + common_scripts\utility::clear_exception("stop_immediate"); +} + +//Function Number: 28 +riotshield_damaged() +{ + self endon("death"); + self waittill("riotshield_damaged"); + self.shieldbroken = 1; + animscripts\shared::detachallweaponmodels(); + self.shieldmodelvariant = 1; + animscripts\shared::updateattachedweaponmodels(); +} \ No newline at end of file diff --git a/AW/PC/SP/animscripts/run.gsc b/AW/PC/animscripts/run.gsc similarity index 96% rename from AW/PC/SP/animscripts/run.gsc rename to AW/PC/animscripts/run.gsc index 9abd544..86fbe0a 100644 --- a/AW/PC/SP/animscripts/run.gsc +++ b/AW/PC/animscripts/run.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\run.gsc + * Decompiled File: run.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 46 - * Decompile Time: 730 ms - * Timestamp: 10/27/2023 1:55:24 AM + * Decompile Time: 703 ms + * Timestamp: 4/22/2024 2:00:48 AM *******************************************************************/ //Function Number: 1 @@ -15,12 +15,61 @@ moverun() switch(var_00) { case "stand": + if(animscripts\setposemovement::standrun_begin()) + { + return; + } + + if(isdefined(self.run_overrideanim)) + { + animscripts\move::movestand_moveoverride(self.run_overrideanim,self.run_override_weights); + return; + } + + if(standrun_checkchangeweapon()) + { + return; + } + + if(standrun_checkreload()) + { + return; + } + + animscripts\utility::updateisincombattimer(); + if(animscripts\utility::isincombat()) + { + standrun_combatnormal(); + } + else + { + standrun_noncombatnormal(); + } break; case "crouch": + if(animscripts\setposemovement::crouchrun_begin()) + { + return; + } + + if(isdefined(self.crouchrun_combatanim)) + { + crouchrun_runoverride(); + } + else + { + crouchrun_runnormal(); + } break; default: + if(animscripts\setposemovement::pronerun_begin()) + { + return; + } + + pronecrawl(); break; } } diff --git a/AW/PC/SP/animscripts/s1_common_anims.gsc b/AW/PC/animscripts/s1_common_anims.gsc similarity index 99% rename from AW/PC/SP/animscripts/s1_common_anims.gsc rename to AW/PC/animscripts/s1_common_anims.gsc index e12447a..30eb21e 100644 --- a/AW/PC/SP/animscripts/s1_common_anims.gsc +++ b/AW/PC/animscripts/s1_common_anims.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\s1_common_anims.gsc + * Decompiled File: s1_common_anims.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 30 - * Decompile Time: 493 ms - * Timestamp: 10/27/2023 1:55:26 AM + * Decompile Time: 459 ms + * Timestamp: 4/22/2024 2:00:50 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/saw/common.gsc b/AW/PC/animscripts/saw/common.gsc similarity index 98% rename from AW/PC/SP/animscripts/saw/common.gsc rename to AW/PC/animscripts/saw/common.gsc index 9309277..87deef3 100644 --- a/AW/PC/SP/animscripts/saw/common.gsc +++ b/AW/PC/animscripts/saw/common.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\saw\common.gsc + * Decompiled File: saw\common.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 13 - * Decompile Time: 223 ms - * Timestamp: 10/27/2023 1:53:06 AM + * Decompile Time: 165 ms + * Timestamp: 4/22/2024 1:58:54 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/saw/stand.gsc b/AW/PC/animscripts/saw/stand.gsc similarity index 89% rename from AW/PC/SP/animscripts/saw/stand.gsc rename to AW/PC/animscripts/saw/stand.gsc index e917548..769ae20 100644 --- a/AW/PC/SP/animscripts/saw/stand.gsc +++ b/AW/PC/animscripts/saw/stand.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\saw\stand.gsc + * Decompiled File: saw\stand.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 45 ms - * Timestamp: 10/27/2023 1:53:07 AM + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 1:58:55 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/scripted.gsc b/AW/PC/animscripts/scripted.gsc similarity index 94% rename from AW/PC/SP/animscripts/scripted.gsc rename to AW/PC/animscripts/scripted.gsc index 34057ba..ae71b19 100644 --- a/AW/PC/SP/animscripts/scripted.gsc +++ b/AW/PC/animscripts/scripted.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\scripted.gsc + * Decompiled File: scripted.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 43 ms - * Timestamp: 10/27/2023 1:55:26 AM + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 2:00:50 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/setposemovement.gsc b/AW/PC/animscripts/setposemovement.gsc similarity index 76% rename from AW/PC/SP/animscripts/setposemovement.gsc rename to AW/PC/animscripts/setposemovement.gsc index 25dab66..7a19b8c 100644 --- a/AW/PC/SP/animscripts/setposemovement.gsc +++ b/AW/PC/animscripts/setposemovement.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\setposemovement.gsc + * Decompiled File: setposemovement.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 55 - * Decompile Time: 906 ms - * Timestamp: 10/27/2023 1:55:29 AM + * Decompile Time: 786 ms + * Timestamp: 4/22/2024 2:00:53 AM *******************************************************************/ //Function Number: 1 @@ -51,14 +51,53 @@ standstop_begin() switch(self.a.pose) { case "stand": + switch(self.a.movement) + { + case "stop": + return 0; + + case "walk": + standwalktostand(); + break; + + default: + standruntostand(); + break; + } break; case "crouch": + switch(self.a.movement) + { + case "stop": + crouchtostand(); + break; + + case "walk": + crouchwalktostand(); + break; + + default: + crouchruntostand(); + break; + } break; default: + switch(self.a.movement) + { + case "stop": + pronetostand(); + break; + + default: + pronetostand(); + break; + } break; } + + return 1; } //Function Number: 4 @@ -67,14 +106,44 @@ standwalk_begin() switch(self.a.pose) { case "stand": + switch(self.a.movement) + { + case "stop": + blendintostandwalk(); + break; + + case "walk": + return 0; + + default: + blendintostandwalk(); + break; + } break; case "crouch": + switch(self.a.movement) + { + case "stop": + crouchtostandwalk(); + break; + + case "walk": + blendintostandwalk(); + break; + + default: + blendintostandwalk(); + break; + } break; default: + pronetostandwalk(); break; } + + return 1; } //Function Number: 5 @@ -83,14 +152,34 @@ standrun_begin() switch(self.a.pose) { case "stand": + switch(self.a.movement) + { + case "walk": + case "stop": + return blendintostandrun(); + + default: + return 0; + } break; case "crouch": + switch(self.a.movement) + { + case "stop": + return crouchtostandrun(); + + default: + return blendintostandrun(); + } break; default: + pronetostandrun(); break; } + + return 1; } //Function Number: 6 @@ -99,12 +188,46 @@ crouchstop_begin() switch(self.a.pose) { case "stand": + switch(self.a.movement) + { + case "stop": + standtocrouch(); + break; + + case "walk": + standwalktocrouch(); + break; + + case "run": + standruntocrouch(); + break; + + default: + break; + } break; case "crouch": + switch(self.a.movement) + { + case "stop": + break; + + case "walk": + crouchwalktocrouch(); + break; + + case "run": + crouchruntocrouch(); + break; + + default: + break; + } break; case "prone": + pronetocrouch(); break; default: @@ -118,14 +241,44 @@ crouchwalk_begin() switch(self.a.pose) { case "stand": + switch(self.a.movement) + { + case "stop": + blendintocrouchwalk(); + break; + + case "walk": + blendintocrouchwalk(); + break; + + default: + blendintocrouchwalk(); + break; + } break; case "crouch": + switch(self.a.movement) + { + case "stop": + crouchtocrouchwalk(); + break; + + case "walk": + return 0; + + default: + blendintocrouchwalk(); + break; + } break; default: + pronetocrouchwalk(); break; } + + return 1; } //Function Number: 8 @@ -134,14 +287,40 @@ crouchrun_begin() switch(self.a.pose) { case "stand": + switch(self.a.movement) + { + case "stop": + blendintocrouchrun(); + break; + + default: + blendintocrouchrun(); + break; + } break; case "crouch": + switch(self.a.movement) + { + case "stop": + crouchtocrouchrun(); + break; + + case "walk": + blendintocrouchrun(); + break; + + default: + return 0; + } break; default: + pronetocrouchrun(); break; } + + return 1; } //Function Number: 9 @@ -150,12 +329,59 @@ pronestop_begin() switch(self.a.pose) { case "stand": + switch(self.a.movement) + { + case "stop": + standtoprone(); + break; + + case "walk": + standtoprone(); + break; + + case "run": + crouchruntoprone(); + break; + + default: + break; + } break; case "crouch": + switch(self.a.movement) + { + case "stop": + crouchtoprone(); + break; + + case "walk": + crouchtoprone(); + break; + + case "run": + crouchruntoprone(); + break; + + default: + break; + } break; case "prone": + switch(self.a.movement) + { + case "stop": + break; + + case "walk": + case "run": + pronecrawltoprone(); + break; + + default: + break; + } break; default: @@ -169,14 +395,46 @@ pronewalk_begin() switch(self.a.pose) { case "stand": + switch(self.a.movement) + { + case "stop": + standtopronewalk(); + break; + + default: + crouchruntopronewalk(); + break; + } break; case "crouch": + switch(self.a.movement) + { + case "stop": + crouchtopronewalk(); + break; + + default: + crouchruntopronewalk(); + break; + } break; default: + switch(self.a.movement) + { + case "stop": + pronetopronerun(); + break; + + default: + self.a.movement = "walk"; + return 0; + } break; } + + return 1; } //Function Number: 11 @@ -185,14 +443,46 @@ pronerun_begin() switch(self.a.pose) { case "stand": + switch(self.a.movement) + { + case "stop": + standtopronerun(); + break; + + default: + crouchruntopronerun(); + break; + } break; case "crouch": + switch(self.a.movement) + { + case "stop": + crouchtopronerun(); + break; + + default: + crouchruntopronerun(); + break; + } break; default: + switch(self.a.movement) + { + case "stop": + pronetopronerun(); + break; + + default: + self.a.movement = "run"; + return 0; + } break; } + + return 1; } //Function Number: 12 diff --git a/AW/PC/SP/animscripts/shared.gsc b/AW/PC/animscripts/shared.gsc similarity index 91% rename from AW/PC/SP/animscripts/shared.gsc rename to AW/PC/animscripts/shared.gsc index 28d0842..a0fc9cf 100644 --- a/AW/PC/SP/animscripts/shared.gsc +++ b/AW/PC/animscripts/shared.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\shared.gsc + * Decompiled File: shared.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 33 - * Decompile Time: 532 ms - * Timestamp: 10/27/2023 1:55:31 AM + * Decompile Time: 471 ms + * Timestamp: 4/22/2024 2:00:54 AM *******************************************************************/ //Function Number: 1 @@ -197,19 +197,19 @@ gettagforpos(param_00) switch(param_00) { case "chest": - break; + return "tag_weapon_chest"; case "back": - break; + return "tag_stowed_back"; case "left": - break; + return "tag_weapon_left"; case "right": - break; + return "tag_weapon_right"; case "hand": - break; + return "tag_inhand"; default: break; @@ -604,19 +604,54 @@ handledropclip(param_00) } } - self waittill(param_00,var_02); - switch(var_02) + for(;;) { - case "attach clip right": - case "attach clip left": - break; - - case "detach clip nohand": - break; - - case "detach clip right": - case "detach clip left": - break; + self waittill(param_00,var_02); + switch(var_02) + { + case "attach clip right": + case "attach clip left": + if(isdefined(var_01)) + { + self attach(var_01,"tag_inhand"); + thread resetcliponabort(var_01,"tag_inhand"); + if(!self.weaponinfo[self.weapon].hasclip) + { + self hidepart("tag_clip"); + } + } + + animscripts\weaponlist::refillclip(); + break; + + case "detach clip nohand": + if(isdefined(var_01)) + { + self detach(var_01,"tag_inhand"); + } + break; + + case "detach clip right": + case "detach clip left": + if(isdefined(var_01)) + { + self detach(var_01,"tag_inhand"); + self showpart("tag_clip"); + self notify("clip_detached"); + self.weaponinfo[self.weapon].hasclip = 1; + } + + if(animscripts\utility::usingsidearm()) + { + self playsound("weap_reload_pistol_clipin_npc"); + } + else + { + self playsound("weap_reload_smg_clipin_npc"); + } + self.a.needstorechamber = 0; + break; + } } } @@ -793,16 +828,18 @@ rpgplayerrepulsor_getnummisses() { case "gimp": case "easy": - break; + return 2; case "difficult": case "hard": case "medium": - break; + return 1; case "fu": - break; + return 0; } + + return 2; } //Function Number: 33 diff --git a/AW/PC/SP/animscripts/shoot_behavior.gsc b/AW/PC/animscripts/shoot_behavior.gsc similarity index 99% rename from AW/PC/SP/animscripts/shoot_behavior.gsc rename to AW/PC/animscripts/shoot_behavior.gsc index dead1e2..9a9463a 100644 --- a/AW/PC/SP/animscripts/shoot_behavior.gsc +++ b/AW/PC/animscripts/shoot_behavior.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\shoot_behavior.gsc + * Decompiled File: shoot_behavior.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 27 - * Decompile Time: 452 ms - * Timestamp: 10/27/2023 1:55:33 AM + * Decompile Time: 393 ms + * Timestamp: 4/22/2024 2:00:56 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/animscripts/snowmobile.gsc b/AW/PC/animscripts/snowmobile.gsc new file mode 100644 index 0000000..0b56700 --- /dev/null +++ b/AW/PC/animscripts/snowmobile.gsc @@ -0,0 +1,918 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: snowmobile.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 32 + * Decompile Time: 458 ms + * Timestamp: 4/22/2024 2:00:57 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.current_event = "none"; + self.shoot_while_driving_thread = undefined; + snowmobile_geton(); + if(isdefined(self.drivingvehicle)) + { + main_driver(); + return; + } + + main_passenger(); +} + +//Function Number: 2 +snowmobile_geton() +{ + self.grenadeawareness = 0; + self.a.pose = "crouch"; + maps\_utility::disable_surprise(); + self.allowpain = 0; + self.flashbangimmunity = 1; + self.getoffvehiclefunc = ::snowmobile_getoff; + self.specialdeathfunc = ::snowmobile_normal_death; + self.disablebulletwhizbyreaction = 1; +} + +//Function Number: 3 +snowmobile_getoff() +{ + self.allowpain = 1; + self.flashbangimmunity = 0; + maps\_utility::gun_recall(); + self.onsnowmobile = undefined; + self.getoffvehiclefunc = undefined; + self.specialdeathfunc = undefined; + self.a.specialshootbehavior = undefined; + self.disablebulletwhizbyreaction = undefined; +} + +//Function Number: 4 +main_driver() +{ + var_00 = self.ridingvehicle.driver_shooting || self.ridingvehicle.riders.size == 1; + snowmobile_setanim_driver(var_00); + if(var_00) + { + animscripts\shared::placeweaponon(self.primaryweapon,"left"); + self.rightaimlimit = 90; + self.leftaimlimit = -90; + animscripts\track::setanimaimweight(1,0.2); + thread snowmobile_trackshootentorpos_driver(); + thread snowmobile_loop_driver_shooting(); + } + else + { + animscripts\shared::placeweaponon(self.primaryweapon,"none"); + thread snowmobile_loop_driver(); + } + + snowmobile_handle_events("driver"); +} + +//Function Number: 5 +main_passenger() +{ + snowmobile_setanim_passenger(self.ridingvehicle.passenger_shooting); + if(self.ridingvehicle.passenger_shooting) + { + self.rightaimlimit = 180; + self.leftaimlimit = -180; + self.diraimlimit = 1; + animscripts\track::setanimaimweight(1,0.2); + thread snowmobile_trackshootentorpos_passenger(); + thread snowmobile_loop_passenger_shooting(); + } + else + { + thread snowmobile_loop_passenger(); + } + + snowmobile_handle_events("passenger"); +} + +//Function Number: 6 +snowmobile_loop_driver() +{ + self endon("death"); + self endon("killanimscript"); + var_00 = "left2right"; + var_01 = []; + var_01["left2right"] = getanimlength(animscripts\utility::animarray("left2right")); + var_01["right2left"] = getanimlength(animscripts\utility::animarray("right2left")); + self setanimknoball(%sm_turn,%body,1,0); + self setanim(animscripts\utility::animarray("drive"),1,0); + self setanimknob(animscripts\utility::animarray(var_00),1,0); + self setanimtime(animscripts\utility::animarray(var_00),0.5); + for(;;) + { + if(self.ridingvehicle.steering_enable) + { + var_02 = 0.5 * 1 + maps\_vehicle_code::update_steering(self.ridingvehicle); + var_03 = self getanimtime(animscripts\utility::animarray(var_00)); + if(var_00 == "right2left") + { + var_03 = 1 - var_03; + } + + var_04 = 20 * abs(var_03 - var_02); + if(var_03 < var_02) + { + var_00 = "left2right"; + var_04 = var_04 * var_01["left2right"]; + } + else + { + var_00 = "right2left"; + var_04 = var_04 * var_01["right2left"]; + var_03 = 1 - var_03; + } + } + else + { + var_00 = "left2right"; + var_04 = 0; + var_03 = 0.5; + } + + self setanimknoblimited(animscripts\utility::animarray(var_00),1,0.1,var_04); + self setanimtime(animscripts\utility::animarray(var_00),var_03); + wait(0.05); + } +} + +//Function Number: 7 +snowmobile_loop_passenger() +{ + self endon("death"); + self endon("killanimscript"); + self setanimknoball(animscripts\utility::animarray("hide"),%body,1,0); + self setanimknob(animscripts\utility::animarray("drive"),1,0); + for(;;) + { + var_00 = maps\_vehicle_code::update_steering(self.ridingvehicle); + self setanimlimited(%sm_lean,abs(var_00),0.05); + if(var_00 >= 0) + { + self setanimknoblimited(animscripts\utility::animarray("lean_right"),1,0.05); + } + else + { + self setanimknoblimited(animscripts\utility::animarray("lean_left"),1,0.05); + } + + wait(0.05); + } +} + +//Function Number: 8 +snowmobile_loop_driver_shooting() +{ + self endon("death"); + self endon("killanimscript"); + var_00 = 0.05; + var_01 = 0; + self setanimknoball(%sm_aiming,%body,1,0); + self setanimknob(animscripts\utility::animarray("idle"),1,0); + for(;;) + { + if(self.current_event != "none") + { + self waittill("snowmobile_event_finished"); + continue; + } + + var_02 = maps\_vehicle_code::update_steering(self.ridingvehicle); + var_03 = 1 - abs(var_02); + var_04 = max(0,0 - var_02); + var_05 = max(0,var_02); + self setanimlimited(animscripts\utility::animarray("straight_level_center"),var_03,var_00); + self setanimlimited(animscripts\utility::animarray("straight_level_left"),var_04,var_00); + self setanimlimited(animscripts\utility::animarray("straight_level_right"),var_05,var_00); + if(self.bulletsinclip <= 0) + { + animscripts\weaponlist::refillclip(); + var_01 = gettime() + 3000; + } + + if(var_01 <= gettime()) + { + snowmobile_start_shooting(); + } + + self setanimknoblimited(animscripts\utility::animarray("add_aim_left_center"),var_03,var_00); + self setanimlimited(animscripts\utility::animarray("add_aim_left_left"),var_04,var_00); + self setanimlimited(animscripts\utility::animarray("add_aim_left_right"),var_05,var_00); + self setanimknoblimited(animscripts\utility::animarray("add_aim_right_center"),var_03,var_00); + self setanimlimited(animscripts\utility::animarray("add_aim_right_left"),var_04,var_00); + self setanimlimited(animscripts\utility::animarray("add_aim_right_right"),var_05,var_00); + thread snowmobile_stop_shooting(); + wait(0.05); + } +} + +//Function Number: 9 +snowmobile_loop_passenger_shooting() +{ + self endon("death"); + self endon("killanimscript"); + var_00 = 0.05; + self setanimknoball(%sm_aiming,%body,1,0); + self setanimknob(animscripts\utility::animarray("idle"),1,0); + for(;;) + { + if(self.current_event != "none") + { + self waittill("snowmobile_event_finished"); + continue; + } + + if(snowmobile_reload()) + { + continue; + } + + var_01 = maps\_vehicle_code::update_steering(self.ridingvehicle); + var_02 = 1 - abs(var_01); + var_03 = max(0,0 - var_01); + var_04 = max(0,var_01); + self setanimlimited(animscripts\utility::animarray("straight_level_center"),var_02,var_00); + self setanimlimited(animscripts\utility::animarray("straight_level_left"),var_03,var_00); + self setanimlimited(animscripts\utility::animarray("straight_level_right"),var_04,var_00); + snowmobile_start_shooting(); + self setanimlimited(animscripts\utility::animarray("aim_left_center"),var_02,var_00); + self setanimlimited(animscripts\utility::animarray("aim_left_left"),var_03,var_00); + self setanimlimited(animscripts\utility::animarray("aim_left_right"),var_04,var_00); + self setanimlimited(animscripts\utility::animarray("aim_right_center"),var_02,var_00); + self setanimlimited(animscripts\utility::animarray("aim_right_left"),var_03,var_00); + self setanimlimited(animscripts\utility::animarray("aim_right_right"),var_04,var_00); + self setanimlimited(animscripts\utility::animarray("add_aim_backleft_center"),var_02,var_00); + self setanimlimited(animscripts\utility::animarray("add_aim_backleft_left"),var_03,var_00); + self setanimlimited(animscripts\utility::animarray("add_aim_backleft_right"),var_04,var_00); + self setanimlimited(animscripts\utility::animarray("add_aim_backright_center"),var_02,var_00); + self setanimlimited(animscripts\utility::animarray("add_aim_backright_left"),var_03,var_00); + self setanimlimited(animscripts\utility::animarray("add_aim_backright_right"),var_04,var_00); + if(isplayer(self.enemy)) + { + self updateplayersightaccuracy(); + } + + wait(0.05); + thread snowmobile_stop_shooting(); + } +} + +//Function Number: 10 +snowmobile_do_event(param_00) +{ + self endon("death"); + self.ridingvehicle.steering_enable = 0; + self setflaggedanimknoblimitedrestart("snowmobile_event",param_00,1,0.17); + animscripts\shared::donotetracks("snowmobile_event",::snowmobile_waitfor_start_lean); + self setanimknoblimited(animscripts\utility::animarray("event_restore"),1,0.1); + self.ridingvehicle.steering_enable = 1; + self.current_event = "none"; + self notify("snowmobile_event_finished"); +} + +//Function Number: 11 +snowmobile_handle_events(param_00) +{ + self endon("death"); + self endon("killanimscript"); + var_01 = self.ridingvehicle; + for(;;) + { + if(var_01.event["jump"][param_00]) + { + var_01.event["jump"][param_00] = 0; + self notify("snowmobile_event_occurred"); + self.current_event = "jump"; + var_01.steering_enable = 0; + self setflaggedanimknoblimitedrestart("jump",animscripts\utility::animarray("event_jump"),1,0.17); + } + + if(var_01.event["bump"][param_00]) + { + var_01.event["bump"][param_00] = 0; + self notify("snowmobile_event_occurred"); + if(self.current_event != "bump_big") + { + thread snowmobile_do_event(animscripts\utility::animarray("event_bump")); + } + } + + if(var_01.event["bump_big"][param_00]) + { + var_01.event["bump_big"][param_00] = 0; + self notify("snowmobile_event_occurred"); + self.current_event = "bump_big"; + thread snowmobile_do_event(animscripts\utility::animarray("event_bump_big")); + } + + if(var_01.event["sway_left"][param_00]) + { + var_01.event["sway_left"][param_00] = 0; + self notify("snowmobile_event_occurred"); + if(self.current_event != "bump_big") + { + thread snowmobile_do_event(animscripts\utility::animarray("event_sway")["left"]); + } + } + + if(var_01.event["sway_right"][param_00]) + { + var_01.event["sway_right"][param_00] = 0; + self notify("snowmobile_event_occurred"); + if(self.current_event != "bump_big") + { + thread snowmobile_do_event(animscripts\utility::animarray("event_sway")["right"]); + } + } + + wait(0.05); + } +} + +//Function Number: 12 +snowmobile_start_shooting() +{ + self notify("want_shoot_while_driving"); + self setanim(%sm_add_fire,1,0.2); + if(isdefined(self.shoot_while_driving_thread)) + { + return; + } + + self.shoot_while_driving_thread = 1; + thread snowmobile_decide_shoot(); + thread snowmobile_shoot(); +} + +//Function Number: 13 +snowmobile_stop_shooting() +{ + self endon("killanimscript"); + self endon("want_shoot_while_driving"); + wait(0.05); + self notify("end_shoot_while_driving"); + self.shoot_while_driving_thread = undefined; + self clearanim(%sm_add_fire,0.2); +} + +//Function Number: 14 +snowmobile_decide_shoot() +{ + self endon("killanimscript"); + self endon("end_shoot_while_driving"); + self.a.specialshootbehavior = ::snowmobileshootbehavior; + snowmobile_decide_shoot_internal(); + self.shoot_while_driving_thread = undefined; +} + +//Function Number: 15 +snowmobile_decide_shoot_internal() +{ + self endon("snowmobile_event_occurred"); + animscripts\shoot_behavior::decidewhatandhowtoshoot("normal"); +} + +//Function Number: 16 +snowmobileshootbehavior() +{ + if(!isdefined(self.enemy)) + { + self.shootent = undefined; + self.shootpos = undefined; + self.shootstyle = "none"; + return; + } + + self.shootent = self.enemy; + self.shootpos = self.enemy getshootatpos(); + var_00 = distancesquared(self.origin,self.enemy.origin); + if(var_00 < 1000000) + { + self.shootstyle = "full"; + } + else if(var_00 < 4000000) + { + self.shootstyle = "burst"; + } + else + { + self.shootstyle = "single"; + } + + if(isdefined(self.enemy.vehicle)) + { + var_01 = 0.5; + var_02 = self.shootent.vehicle; + var_03 = self.ridingvehicle; + var_04 = var_03.origin - var_02.origin; + var_05 = anglestoforward(var_02.angles); + var_06 = anglestoright(var_02.angles); + var_07 = vectordot(var_04,var_05); + if(var_07 < 0) + { + var_08 = var_02 vehicle_getspeed() * var_01; + var_08 = var_08 * 17.6; + if(var_08 > 50) + { + var_09 = vectordot(var_04,var_06); + var_09 = var_09 / 3; + if(var_09 > 128) + { + var_09 = 128; + } + else if(var_09 < -128) + { + var_09 = -128; + } + + if(var_09 > 0) + { + var_09 = 128 - var_09; + } + else + { + var_09 = -128 - var_09; + } + + self.shootent = undefined; + self.shootpos = var_02.origin + var_08 * var_05 + var_09 * var_06; + return; + } + } + } +} + +//Function Number: 17 +snowmobile_shoot() +{ + self endon("killanimscript"); + self endon("end_shoot_while_driving"); + self notify("doing_shootWhileDriving"); + self endon("doing_shootWhileDriving"); + for(;;) + { + if(!self.bulletsinclip) + { + wait(0.5); + continue; + } + + animscripts\combat_utility::shootuntilshootbehaviorchange(); + } +} + +//Function Number: 18 +snowmobile_reload() +{ + if(!self.ridingvehicle.steering_enable) + { + return 0; + } + + if(!animscripts\combat_utility::needtoreload(0)) + { + return 0; + } + + if(!animscripts\utility::usingriflelikeweapon()) + { + return 0; + } + + snowmobile_reload_internal(); + self notify("abort_reload"); + return 1; +} + +//Function Number: 19 +snowmobile_reload_internal() +{ + self endon("snowmobile_event_occurred"); + self.stop_aiming_for_reload = 1; + self waittill("start_blending_reload"); + self setanim(%sm_aiming,0,0.25); + self setflaggedanimrestart("gun_down",animscripts\utility::animarray("gun_down"),1,0.25); + animscripts\shared::donotetracks("gun_down"); + self clearanim(animscripts\utility::animarray("gun_down"),0); + self setflaggedanimknoballrestart("reload_anim",animscripts\utility::animarray("reload"),%body,1,0.25); + animscripts\shared::donotetracks("reload_anim"); + self clearanim(%sm_reload,0.2); + self setflaggedanimrestart("gun_up",animscripts\utility::animarray("gun_up"),1,0.25); + self.gun_up_for_reload = 1; + animscripts\shared::donotetracks("gun_up",::snowmobile_waitfor_start_aim); + self.stop_aiming_for_reload = undefined; + self clearanim(%sm_reload,0.1); + self setanim(%sm_aiming,1,0.1); + if(isdefined(self.gun_up_for_reload)) + { + self.gun_up_for_reload = undefined; + animscripts\shared::donotetracks("gun_up",::snowmobile_waitfor_end); + self clearanim(animscripts\utility::animarray("gun_up"),0); + } +} + +//Function Number: 20 +snowmobile_waitfor_start_aim(param_00) +{ + if(param_00 == "start_aim") + { + return 1; + } +} + +//Function Number: 21 +snowmobile_waitfor_end(param_00) +{ + if(param_00 == "end") + { + return 1; + } +} + +//Function Number: 22 +snowmobile_waitfor_start_lean(param_00) +{ + if(param_00 == "start_lean") + { + return 1; + } +} + +//Function Number: 23 +snowmobile_trackshootentorpos_driver() +{ + self endon("killanimscript"); + self endon("stop tracking"); + var_00 = 0.05; + var_01 = 8; + var_02 = 0; + var_03 = 0; + var_04 = 1; + for(;;) + { + animscripts\track::incranimaimweight(); + var_05 = (self.origin[0],self.origin[1],self geteye()[2]); + var_06 = self.shootpos; + if(isdefined(self.shootent)) + { + var_06 = self.shootent getshootatpos(); + } + + if(!isdefined(var_06)) + { + var_03 = 0; + var_07 = self getanglestolikelyenemypath(); + if(isdefined(var_07)) + { + var_03 = angleclamp180(self.angles[1] - var_07[1]); + } + } + else + { + var_08 = var_06 - var_05; + var_09 = vectortoangles(var_08); + var_03 = self.angles[1] - var_09[1]; + var_03 = angleclamp180(var_03); + } + + if(var_03 > self.rightaimlimit || var_03 < self.leftaimlimit) + { + var_03 = 0; + } + + if(var_04) + { + var_04 = 0; + } + else + { + var_0A = var_03 - var_02; + if(abs(var_0A) > var_01) + { + var_03 = var_02 + var_01 * common_scripts\utility::sign(var_0A); + } + } + + var_02 = var_03; + var_0B = min(max(0 - var_03,0),90) / 90 * self.a.aimweight; + var_0C = min(max(var_03,0),90) / 90 * self.a.aimweight; + self setanimlimited(%sm_aim_4,var_0B,var_00); + self setanimlimited(%sm_aim_6,var_0C,var_00); + wait(0.05); + } +} + +//Function Number: 24 +snowmobile_trackshootentorpos_passenger() +{ + self endon("killanimscript"); + self endon("stop tracking"); + var_00 = 0.05; + var_01 = 5; + var_02 = 20; + var_03 = 15; + var_04 = 40; + var_05 = 30; + var_06 = 0; + var_07 = 0; + var_08 = 1; + for(;;) + { + animscripts\track::incranimaimweight(); + var_09 = (self.origin[0],self.origin[1],self geteye()[2]); + var_0A = self.shootpos; + if(isdefined(self.shootent)) + { + var_0A = self.shootent getshootatpos(); + } + + if(!isdefined(var_0A)) + { + var_07 = 0; + var_0B = self getanglestolikelyenemypath(); + if(isdefined(var_0B)) + { + var_07 = angleclamp180(self.angles[1] - var_0B[1]); + } + } + else + { + var_0C = var_0A - var_09; + var_0D = vectortoangles(var_0C); + var_07 = self.angles[1] - var_0D[1]; + var_07 = angleclamp180(var_07); + } + + if(isdefined(self.stop_aiming_for_reload) || var_07 > 0 && var_07 - self.rightaimlimit * self.diraimlimit > 0 || var_07 < 0 && var_07 - self.leftaimlimit * self.diraimlimit < 0) + { + var_07 = 0; + } + + if(var_08) + { + var_08 = 0; + } + else + { + if(var_06 < -180 + var_04 && var_07 > 180 - var_05) + { + var_07 = -179; + } + + if(var_06 > 180 - var_04 && var_07 < -180 + var_05) + { + var_07 = 179; + } + + var_0E = var_07 - var_06; + var_0F = var_02 - var_01 * abs(var_0E) / 180 + var_01; + if(isdefined(self.stop_aiming_for_reload)) + { + var_0F = var_03; + if(abs(var_06) < 45) + { + self notify("start_blending_reload"); + } + } + + if(abs(var_0E) > var_0F) + { + var_07 = var_06 + var_0F * common_scripts\utility::sign(var_0E); + } + } + + var_06 = var_07; + var_10 = max(-90 - var_07,0) / 90 * self.a.aimweight; + var_11 = min(max(0 - var_07,0),90) / 90 * self.a.aimweight; + var_12 = max(90 - abs(var_07),0) / 90 * self.a.aimweight; + var_13 = min(max(var_07,0),90) / 90 * self.a.aimweight; + var_14 = max(-90 + var_07,0) / 90 * self.a.aimweight; + self setanimlimited(%sm_aim_1,var_10,var_00); + self setanimlimited(%sm_aim_4_delta,var_11,var_00); + self setanimlimited(%sm_aim_5_delta,var_12,var_00); + self setanimlimited(%sm_aim_6_delta,var_13,var_00); + self setanimlimited(%sm_aim_3,var_14,var_00); + wait(0.05); + } +} + +//Function Number: 25 +snowmobile_get_death_anim(param_00,param_01,param_02) +{ + var_03 = undefined; + var_04 = undefined; + var_05 = 0; + for(var_06 = 0;var_06 < param_00.size;var_06++) + { + var_07 = animscripts\utility::absangleclamp180(param_02 - param_01[var_06]); + if(!isdefined(var_03) || var_07 < var_05) + { + var_04 = var_03; + var_03 = param_00[var_06]; + var_05 = var_07; + continue; + } + + if(!isdefined(var_04)) + { + var_04 = param_00[var_06]; + } + } + + var_08 = var_03; + if(isdefined(level.prevsnowmobiledeath) && var_08 == level.prevsnowmobiledeath && gettime() - level.prevsnowmobiledeathtime < 500) + { + var_08 = var_04; + } + + anim.prevsnowmobiledeath = var_08; + anim.prevsnowmobiledeathtime = gettime(); + return var_08; +} + +//Function Number: 26 +snowmobile_death_launchslide() +{ + var_00 = self.ridingvehicle; + var_01 = var_00.prevframevelocity; + var_01 = (var_01[0],var_01[1],randomfloatrange(200,400)) * 0.75; + if(lengthsquared(var_01) > 1000000) + { + var_01 = vectornormalize(var_01) * 1000; + } + + var_02 = spawn("script_origin",self.origin); + var_02 moveslide((0,0,40),15,var_01); + self linkto(var_02); + var_02 thread deleteshortly(); +} + +//Function Number: 27 +snowmobile_normal_death() +{ + var_00 = []; + var_00[0] = level.scr_anim["snowmobile"]["small"]["death"]["back"]; + var_00[1] = level.scr_anim["snowmobile"]["small"]["death"]["right"]; + var_00[2] = level.scr_anim["snowmobile"]["small"]["death"]["left"]; + var_01 = []; + var_01[0] = -180; + var_01[1] = -90; + var_01[2] = 90; + var_02 = snowmobile_get_death_anim(var_00,var_01,self.damageyaw); + animscripts\death::playdeathanim(var_02); + return 1; +} + +//Function Number: 28 +snowmobile_collide_death() +{ + var_00 = self.ridingvehicle; + if(!isdefined(var_00)) + { + return snowmobile_normal_death(); + } + + var_01 = var_00.prevframevelocity; + snowmobile_death_launchslide(); + var_02 = vectortoangles(var_01); + var_03 = angleclamp180(var_02[1] - self.angles[1]); + var_04 = []; + var_04[0] = level.scr_anim["snowmobile"]["big"]["death"]["back"]; + var_04[1] = level.scr_anim["snowmobile"]["big"]["death"]["left"]; + var_04[2] = level.scr_anim["snowmobile"]["big"]["death"]["front"]; + var_04[3] = level.scr_anim["snowmobile"]["big"]["death"]["right"]; + var_05 = []; + var_05[0] = -180; + var_05[1] = -90; + var_05[2] = 0; + var_05[3] = 90; + var_06 = snowmobile_get_death_anim(var_04,var_05,var_03); + animscripts\death::playdeathanim(var_06); + return 1; +} + +//Function Number: 29 +deleteshortly() +{ + var_00 = self.origin; + for(var_01 = 0;var_01 < 60;var_01++) + { + wait(0.05); + var_00 = self.origin; + } + + wait(3); + if(isdefined(self)) + { + self delete(); + } +} + +//Function Number: 30 +snowmobile_setanim_common(param_00) +{ + self.a.array["idle"] = level.scr_anim["snowmobile"][param_00]["idle"]; + self.a.array["drive"] = level.scr_anim["snowmobile"][param_00]["drive"]; + self.a.array["fire"] = level.scr_anim["snowmobile"][param_00]["fire"]; + self.a.array["single"] = animscripts\utility::array(level.scr_anim["snowmobile"][param_00]["single"]); + self.a.array["burst2"] = level.scr_anim["snowmobile"][param_00]["fire"]; + self.a.array["burst3"] = level.scr_anim["snowmobile"][param_00]["fire"]; + self.a.array["burst4"] = level.scr_anim["snowmobile"][param_00]["fire"]; + self.a.array["burst5"] = level.scr_anim["snowmobile"][param_00]["fire"]; + self.a.array["burst6"] = level.scr_anim["snowmobile"][param_00]["fire"]; + self.a.array["semi2"] = level.scr_anim["snowmobile"][param_00]["fire"]; + self.a.array["semi3"] = level.scr_anim["snowmobile"][param_00]["fire"]; + self.a.array["semi4"] = level.scr_anim["snowmobile"][param_00]["fire"]; + self.a.array["semi5"] = level.scr_anim["snowmobile"][param_00]["fire"]; +} + +//Function Number: 31 +snowmobile_setanim_driver(param_00) +{ + self.a.array = []; + snowmobile_setanim_common("driver"); + self.a.array["left2right"] = level.scr_anim["snowmobile"]["driver"]["left2right"]; + self.a.array["right2left"] = level.scr_anim["snowmobile"]["driver"]["right2left"]; + self.a.array["straight_level_left"] = level.scr_anim["snowmobile"]["driver"]["straight_level"]["left"]; + self.a.array["straight_level_center"] = level.scr_anim["snowmobile"]["driver"]["straight_level"]["center"]; + self.a.array["straight_level_right"] = level.scr_anim["snowmobile"]["driver"]["straight_level"]["right"]; + self.a.array["add_aim_left_left"] = level.scr_anim["snowmobile"]["driver"]["add_aim_left"]["left"]; + self.a.array["add_aim_left_center"] = level.scr_anim["snowmobile"]["driver"]["add_aim_left"]["center"]; + self.a.array["add_aim_left_right"] = level.scr_anim["snowmobile"]["driver"]["add_aim_left"]["right"]; + self.a.array["add_aim_right_left"] = level.scr_anim["snowmobile"]["driver"]["add_aim_right"]["left"]; + self.a.array["add_aim_right_center"] = level.scr_anim["snowmobile"]["driver"]["add_aim_right"]["center"]; + self.a.array["add_aim_right_right"] = level.scr_anim["snowmobile"]["driver"]["add_aim_right"]["right"]; + if(param_00) + { + self.a.array["event_jump"] = level.scr_anim["snowmobile"]["driver"]["shoot_jump"]; + self.a.array["event_bump"] = level.scr_anim["snowmobile"]["driver"]["shoot_bump"]; + self.a.array["event_bump_big"] = level.scr_anim["snowmobile"]["driver"]["shoot_bump_big"]; + self.a.array["event_sway"] = []; + self.a.array["event_sway"]["left"] = level.scr_anim["snowmobile"]["driver"]["shoot_sway_left"]; + self.a.array["event_sway"]["right"] = level.scr_anim["snowmobile"]["driver"]["shoot_sway_right"]; + self.a.array["event_restore"] = %sm_aiming; + return; + } + + self.a.array["event_jump"] = level.scr_anim["snowmobile"]["driver"]["drive_jump"]; + self.a.array["event_bump"] = level.scr_anim["snowmobile"]["driver"]["drive_bump"]; + self.a.array["event_bump_big"] = level.scr_anim["snowmobile"]["driver"]["drive_bump_big"]; + self.a.array["event_sway"] = []; + self.a.array["event_sway"]["left"] = level.scr_anim["snowmobile"]["driver"]["drive_sway_left"]; + self.a.array["event_sway"]["right"] = level.scr_anim["snowmobile"]["driver"]["drive_sway_right"]; + self.a.array["event_restore"] = %sm_turn; +} + +//Function Number: 32 +snowmobile_setanim_passenger(param_00) +{ + self.a.array = []; + snowmobile_setanim_common("passenger"); + self.a.array["hide"] = level.scr_anim["snowmobile"]["passenger"]["hide"]; + self.a.array["lean_left"] = level.scr_anim["snowmobile"]["passenger"]["add_lean"]["left"]; + self.a.array["lean_right"] = level.scr_anim["snowmobile"]["passenger"]["add_lean"]["right"]; + self.a.array["reload"] = level.scr_anim["snowmobile"]["passenger"]["reload"]; + self.a.array["gun_up"] = level.scr_anim["snowmobile"]["passenger"]["gun_up"]; + self.a.array["gun_down"] = level.scr_anim["snowmobile"]["passenger"]["gun_down"]; + self.a.array["aim_left_left"] = level.scr_anim["snowmobile"]["passenger"]["aim_left"]["left"]; + self.a.array["aim_left_center"] = level.scr_anim["snowmobile"]["passenger"]["aim_left"]["center"]; + self.a.array["aim_left_right"] = level.scr_anim["snowmobile"]["passenger"]["aim_left"]["right"]; + self.a.array["aim_right_left"] = level.scr_anim["snowmobile"]["passenger"]["aim_right"]["left"]; + self.a.array["aim_right_center"] = level.scr_anim["snowmobile"]["passenger"]["aim_right"]["center"]; + self.a.array["aim_right_right"] = level.scr_anim["snowmobile"]["passenger"]["aim_right"]["right"]; + self.a.array["add_aim_backleft_left"] = level.scr_anim["snowmobile"]["passenger"]["add_aim_backleft"]["left"]; + self.a.array["add_aim_backleft_center"] = level.scr_anim["snowmobile"]["passenger"]["add_aim_backleft"]["center"]; + self.a.array["add_aim_backleft_right"] = level.scr_anim["snowmobile"]["passenger"]["add_aim_backleft"]["right"]; + self.a.array["add_aim_backright_left"] = level.scr_anim["snowmobile"]["passenger"]["add_aim_backright"]["left"]; + self.a.array["add_aim_backright_center"] = level.scr_anim["snowmobile"]["passenger"]["add_aim_backright"]["center"]; + self.a.array["add_aim_backright_right"] = level.scr_anim["snowmobile"]["passenger"]["add_aim_backright"]["right"]; + self.a.array["straight_level_left"] = level.scr_anim["snowmobile"]["passenger"]["straight_level"]["left"]; + self.a.array["straight_level_center"] = level.scr_anim["snowmobile"]["passenger"]["straight_level"]["center"]; + self.a.array["straight_level_right"] = level.scr_anim["snowmobile"]["passenger"]["straight_level"]["right"]; + if(param_00) + { + self.a.array["event_jump"] = level.scr_anim["snowmobile"]["passenger"]["drive_jump"]; + self.a.array["event_bump"] = level.scr_anim["snowmobile"]["passenger"]["drive_bump"]; + self.a.array["event_bump_big"] = level.scr_anim["snowmobile"]["passenger"]["drive_bump_big"]; + self.a.array["event_sway"] = []; + self.a.array["event_sway"]["left"] = level.scr_anim["snowmobile"]["passenger"]["drive_sway_left"]; + self.a.array["event_sway"]["right"] = level.scr_anim["snowmobile"]["passenger"]["drive_sway_right"]; + self.a.array["event_restore"] = %sm_aiming; + return; + } + + self.a.array["event_jump"] = level.scr_anim["snowmobile"]["passenger"]["hide_jump"]; + self.a.array["event_bump"] = level.scr_anim["snowmobile"]["passenger"]["hide_bump"]; + self.a.array["event_bump_big"] = level.scr_anim["snowmobile"]["passenger"]["hide_bump_big"]; + self.a.array["event_sway"] = []; + self.a.array["event_sway"]["left"] = level.scr_anim["snowmobile"]["passenger"]["hide_sway_left"]; + self.a.array["event_sway"]["right"] = level.scr_anim["snowmobile"]["passenger"]["hide_sway_right"]; + self.a.array["event_restore"] = %sm_turn; +} \ No newline at end of file diff --git a/AW/PC/SP/animscripts/squadmanager.gsc b/AW/PC/animscripts/squadmanager.gsc similarity index 93% rename from AW/PC/SP/animscripts/squadmanager.gsc rename to AW/PC/animscripts/squadmanager.gsc index f71c85e..59739ea 100644 --- a/AW/PC/SP/animscripts/squadmanager.gsc +++ b/AW/PC/animscripts/squadmanager.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\squadmanager.gsc + * Decompiled File: squadmanager.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 32 - * Decompile Time: 556 ms - * Timestamp: 10/27/2023 1:55:35 AM + * Decompile Time: 456 ms + * Timestamp: 4/22/2024 2:00:59 AM *******************************************************************/ //Function Number: 1 @@ -364,20 +364,27 @@ officerwaiter() //Function Number: 13 updatewaiter() { - anim waittill("squadupdate",var_00); - switch(var_00) + for(;;) { - case "squadlist": - break; - - case "combat": - break; - - case "origin": - break; - - case "forward": - break; + anim waittill("squadupdate",var_00); + switch(var_00) + { + case "squadlist": + updatesquadlist(); + break; + + case "combat": + updatecombat(); + break; + + case "origin": + updateorigin(); + break; + + case "forward": + updateheading(); + break; + } } } @@ -629,6 +636,7 @@ aiupdateanimstate(param_00) case "death": case "move": case "stop": + self.a.state = param_00; break; case "grenadecower": @@ -650,10 +658,12 @@ aiupdateanimstate(param_00) case "cover_right": case "cover_stand": case "cover_crouch": + self.a.state = "cover"; break; case "l33t truckride combat": case "aim": + self.a.state = "combat"; break; } } @@ -800,15 +810,36 @@ querymemberstate(param_00,param_01) switch(param_01) { case "suppressed": + if(param_00.suppressedtime > 1) + { + self.squadstates[param_01].numactive++; + } break; case "combat": + if(param_00.combattime > 0) + { + self.squadstates[param_01].numactive++; + } break; case "attacking": + if(gettime() < param_00.a.lastshoottime + 2000) + { + self.squadstates[param_01].numactive++; + } break; case "cover": + if(!param_00 animscripts\battlechatter::isexposed()) + { + self.squadstates[param_01].numactive++; + } break; } + + if(self.squadstates[param_01].numactive > self.squadstates[param_01].activateratio * self.members.size) + { + self.squadstates[param_01].isactive = 1; + } } \ No newline at end of file diff --git a/AW/PC/SP/animscripts/stop.gsc b/AW/PC/animscripts/stop.gsc similarity index 98% rename from AW/PC/SP/animscripts/stop.gsc rename to AW/PC/animscripts/stop.gsc index 6681f7c..df953a7 100644 --- a/AW/PC/SP/animscripts/stop.gsc +++ b/AW/PC/animscripts/stop.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\stop.gsc + * Decompiled File: stop.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 12 - * Decompile Time: 198 ms - * Timestamp: 10/27/2023 1:55:36 AM + * Decompile Time: 204 ms + * Timestamp: 4/22/2024 2:01:00 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/swim.gsc b/AW/PC/animscripts/swim.gsc similarity index 96% rename from AW/PC/SP/animscripts/swim.gsc rename to AW/PC/animscripts/swim.gsc index e752342..884bfac 100644 --- a/AW/PC/SP/animscripts/swim.gsc +++ b/AW/PC/animscripts/swim.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\swim.gsc + * Decompiled File: swim.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 63 - * Decompile Time: 998 ms - * Timestamp: 10/27/2023 1:55:40 AM + * Decompile Time: 920 ms + * Timestamp: 4/22/2024 2:01:03 AM *******************************************************************/ //Function Number: 1 @@ -1256,17 +1256,17 @@ swim_getapproachtype(param_00) switch(var_01) { case "Cover Right 3D": - break; + return "cover_corner_r"; case "Cover Left 3D": - break; + return "cover_corner_l"; case "Cover Up 3D": - break; + return "cover_u"; case "Path 3D": case "Exposed 3D": - break; + return "exposed"; default: break; @@ -1433,15 +1433,31 @@ swim_setstrafeaimset(param_00) switch(param_00) { case "front": + self setanimknoblimited(getswimanim("aim_move_U"),1,0.1); + self setanimknoblimited(getswimanim("aim_move_D"),1,0.1); + self setanimknoblimited(getswimanim("aim_move_L"),1,0.1); + self setanimknoblimited(getswimanim("aim_move_R"),1,0.1); break; case "back": + self setanimknoblimited(getswimanim("strafe_B_aim_U"),1,0.1); + self setanimknoblimited(getswimanim("strafe_B_aim_D"),1,0.1); + self setanimknoblimited(getswimanim("strafe_B_aim_L"),1,0.1); + self setanimknoblimited(getswimanim("strafe_B_aim_R"),1,0.1); break; case "left": + self setanimknoblimited(getswimanim("strafe_L_aim_U"),1,0.1); + self setanimknoblimited(getswimanim("strafe_L_aim_D"),1,0.1); + self setanimknoblimited(getswimanim("strafe_L_aim_L"),1,0.1); + self setanimknoblimited(getswimanim("strafe_L_aim_R"),1,0.1); break; case "right": + self setanimknoblimited(getswimanim("strafe_R_aim_U"),1,0.1); + self setanimknoblimited(getswimanim("strafe_R_aim_D"),1,0.1); + self setanimknoblimited(getswimanim("strafe_R_aim_L"),1,0.1); + self setanimknoblimited(getswimanim("strafe_R_aim_R"),1,0.1); break; default: @@ -1604,8 +1620,10 @@ swim_isapproachablenode(param_00) case "Cover Right 3D": case "Cover Left 3D": case "Cover Up 3D": - break; + return 1; } + + return 0; } //Function Number: 62 diff --git a/AW/PC/animscripts/technical_lagos/common.gsc b/AW/PC/animscripts/technical_lagos/common.gsc new file mode 100644 index 0000000..02ac684 --- /dev/null +++ b/AW/PC/animscripts/technical_lagos/common.gsc @@ -0,0 +1,277 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: technical_lagos\common.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 13 + * Decompile Time: 162 ms + * Timestamp: 4/22/2024 1:58:55 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00) +{ + self endon("killanimscript"); + animscripts\utility::initialize("saw"); + if(!isdefined(param_00)) + { + return; + } + + self.a.special = "saw"; + if(isdefined(param_00.script_delay_min)) + { + var_01 = param_00.script_delay_min; + } + else + { + var_01 = maps\_mgturret::burst_fire_settings("delay"); + } + + if(isdefined(param_00.script_delay_max)) + { + var_02 = param_00.script_delay_max - var_01; + } + else + { + var_02 = maps\_mgturret::burst_fire_settings("delay_range"); + } + + if(isdefined(param_00.script_burst_min)) + { + var_03 = param_00.script_burst_min; + } + else + { + var_03 = maps\_mgturret::burst_fire_settings("burst"); + } + + if(isdefined(param_00.script_burst_max)) + { + var_04 = param_00.script_burst_max - var_03; + } + else + { + var_04 = maps\_mgturret::burst_fire_settings("burst_range"); + } + + var_05 = gettime(); + var_06 = "start"; + animscripts\shared::placeweaponon(self.weapon,"none"); + param_00 show(); + if(isdefined(param_00.aiowner)) + { + self.a.postscriptfunc = ::postscriptfunc; + self.a.usingturret = param_00; + param_00 notify("being_used"); + thread stopusingturretwhennodelost(); + } + else + { + self.a.postscriptfunc = ::preplacedpostscriptfunc; + } + + param_00.dofiring = 0; + thread firecontroller(param_00); + self setturretanim(self.primaryturretanim); + self setanimknobrestart(self.primaryturretanim,1,0.2,1); + self setanimknoblimitedrestart(self.additiveturretidle); + self setanimknoblimitedrestart(self.additiveturretfire); + param_00 setanimknoblimitedrestart(param_00.additiveturretidle); + param_00 setanimknoblimitedrestart(param_00.additiveturretfire); + param_00 endon("death"); + for(;;) + { + if(param_00.dofiring) + { + thread doshoot(param_00); + waittimeoruntilturretstatechange(randomfloatrange(var_03,var_03 + var_04),param_00); + param_00 notify("turretstatechange"); + if(param_00.dofiring) + { + thread doaim(param_00); + wait(randomfloatrange(var_01,var_01 + var_02)); + } + + continue; + } + + thread doaim(param_00); + param_00 waittill("turretstatechange"); + } +} + +//Function Number: 2 +waittimeoruntilturretstatechange(param_00,param_01) +{ + param_01 endon("turretstatechange"); + wait(param_00); +} + +//Function Number: 3 +firecontroller(param_00) +{ + self endon("killanimscript"); + var_01 = cos(15); + for(;;) + { + while(isdefined(self.enemy)) + { + var_02 = self.enemy.origin; + var_03 = param_00 gettagangles("tag_aim"); + if(common_scripts\utility::within_fov(param_00.origin,var_03,var_02,var_01) || distancesquared(param_00.origin,var_02) < 40000) + { + if(!param_00.dofiring) + { + param_00.dofiring = 1; + param_00 notify("turretstatechange"); + } + } + else if(param_00.dofiring) + { + param_00.dofiring = 0; + param_00 notify("turretstatechange"); + } + + wait(0.05); + } + + if(param_00.dofiring) + { + param_00.dofiring = 0; + param_00 notify("turretstatechange"); + } + + wait(0.05); + } +} + +//Function Number: 4 +turrettimer(param_00,param_01) +{ + if(param_00 <= 0) + { + return; + } + + self endon("killanimscript"); + param_01 endon("turretstatechange"); + wait(param_00); + param_01 notify("turretstatechange"); +} + +//Function Number: 5 +stopusingturretwhennodelost() +{ + self endon("killanimscript"); + for(;;) + { + if(!isdefined(self.node) || distancesquared(self.origin,self.node.origin) > 4096) + { + self stopuseturret(); + } + + wait(0.25); + } +} + +//Function Number: 6 +postscriptfunc(param_00) +{ + if(param_00 == "pain") + { + if(isdefined(self.node) && distancesquared(self.origin,self.node.origin) < 4096) + { + self.a.usingturret hide(); + animscripts\shared::placeweaponon(self.weapon,"right"); + self.a.postscriptfunc = ::postpainfunc; + return; + } + else + { + self stopuseturret(); + } + } + + if(param_00 == "saw") + { + var_01 = self getturret(); + return; + } + + self.a.usingturret delete(); + self.a.usingturret = undefined; + animscripts\shared::placeweaponon(self.weapon,"right"); +} + +//Function Number: 7 +postpainfunc(param_00) +{ + if(!isdefined(self.node) || distancesquared(self.origin,self.node.origin) > 4096) + { + self stopuseturret(); + self.a.usingturret delete(); + self.a.usingturret = undefined; + if(isdefined(self.weapon) && self.weapon != "none") + { + animscripts\shared::placeweaponon(self.weapon,"right"); + return; + } + + return; + } + + if(param_00 != "saw") + { + self.a.usingturret delete(); + } +} + +//Function Number: 8 +preplacedpostscriptfunc(param_00) +{ + animscripts\shared::placeweaponon(self.weapon,"right"); +} + +//Function Number: 9 +doshoot(param_00) +{ + self setanim(%additive_saw_idle,0,0.1); + self setanim(%additive_saw_fire,1,0.1); + param_00 turretdoshootanims(); + turretdoshoot(param_00); +} + +//Function Number: 10 +doaim(param_00) +{ + self setanim(%additive_saw_idle,1,0.1); + self setanim(%additive_saw_fire,0,0.1); + param_00 turretdoaimanims(); +} + +//Function Number: 11 +turretdoshoot(param_00) +{ + self endon("killanimscript"); + param_00 endon("turretstatechange"); + for(;;) + { + param_00 shootturret(); + wait(0.1); + } +} + +//Function Number: 12 +turretdoshootanims() +{ + self setanim(%additive_saw_idle,0,0.1); + self setanim(%additive_saw_fire,1,0.1); +} + +//Function Number: 13 +turretdoaimanims() +{ + self setanim(%additive_saw_idle,1,0.1); + self setanim(%additive_saw_fire,0,0.1); +} \ No newline at end of file diff --git a/AW/PC/animscripts/technical_lagos/stand.gsc b/AW/PC/animscripts/technical_lagos/stand.gsc new file mode 100644 index 0000000..8a86d80 --- /dev/null +++ b/AW/PC/animscripts/technical_lagos/stand.gsc @@ -0,0 +1,45 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: technical_lagos\stand.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 50 ms + * Timestamp: 4/22/2024 1:58:56 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.desired_anim_pose = "stand"; + animscripts\utility::updateanimpose(); + self.a.movement = "stop"; + var_00 = self getturret(); + var_00 thread turretinit(self); + self.primaryturretanim = %technicalgunner_aim; + self.additiveturretidle = %technical_turret_driveidle; + self.additiveturretfire = %technical_turret_firing; + self.painfunction = ::technical_pain; + self.deathanim = %technical_turret_death; + thread animscripts\technical_lagos\common::main(var_00); +} + +//Function Number: 2 +technical_pain() +{ + self setflaggedanimknoballrestart("painanim",%technical_turret_pain,%body,1,0.1,1); + animscripts\shared::donotetracks("painanim"); +} + +//Function Number: 3 +turretinit(param_00) +{ + self.leftarc = 115; + self.rightarc = 115; + self useanimtree(#animtree); + self.additiveturretidle = %saw_gunner_idle_mg; + self.additiveturretfire = %saw_gunner_firing_mg_add; + self endon("death"); + param_00 waittill("killanimscript"); + self stopuseanimtree(); +} \ No newline at end of file diff --git a/AW/PC/SP/animscripts/track.gsc b/AW/PC/animscripts/track.gsc similarity index 98% rename from AW/PC/SP/animscripts/track.gsc rename to AW/PC/animscripts/track.gsc index 819bc67..2aa7a12 100644 --- a/AW/PC/SP/animscripts/track.gsc +++ b/AW/PC/animscripts/track.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\track.gsc + * Decompiled File: track.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 9 - * Decompile Time: 176 ms - * Timestamp: 10/27/2023 1:55:40 AM + * Decompile Time: 156 ms + * Timestamp: 4/22/2024 2:01:04 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/animscripts/traverse/berlin_column_jump.gsc b/AW/PC/animscripts/traverse/berlin_column_jump.gsc new file mode 100644 index 0000000..aa92ea9 --- /dev/null +++ b/AW/PC/animscripts/traverse/berlin_column_jump.gsc @@ -0,0 +1,30 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: traverse\berlin_column_jump.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 31 ms + * Timestamp: 4/22/2024 1:58:56 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(self.type == "dog") + { + animscripts\traverse\shared::dog_jump_up(38,5); + return; + } + + low_wall_human(); +} + +//Function Number: 2 +low_wall_human() +{ + var_00 = []; + var_00["traverseAnim"] = %berlin_jumping_column_sandman; + var_00["traverseHeight"] = 38; + animscripts\traverse\shared::dotraverse(var_00); +} \ No newline at end of file diff --git a/AW/PC/SP/animscripts/traverse/boost.gsc b/AW/PC/animscripts/traverse/boost.gsc similarity index 91% rename from AW/PC/SP/animscripts/traverse/boost.gsc rename to AW/PC/animscripts/traverse/boost.gsc index a11a283..3935729 100644 --- a/AW/PC/SP/animscripts/traverse/boost.gsc +++ b/AW/PC/animscripts/traverse/boost.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost.gsc + * Decompiled File: traverse\boost.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 10 - * Decompile Time: 174 ms - * Timestamp: 10/27/2023 1:53:08 AM + * Decompile Time: 137 ms + * Timestamp: 4/22/2024 1:58:57 AM *******************************************************************/ //Function Number: 1 @@ -47,9 +47,11 @@ newhandletraversenotetracks_landassist(param_00) break; case "land_assist": + thread land_assist_thrusters(self); break; case "assist_thrusters": + thread land_assist_thrusters(self); break; case "boost_end": @@ -59,6 +61,7 @@ newhandletraversenotetracks_landassist(param_00) break; default: + animscripts\traverse\shared::handletraversenotetracks(param_00); break; } } @@ -69,12 +72,15 @@ newhandletraversenotetracks(param_00) switch(param_00) { case "boost_begin": + thread newhandleboostbegin(); break; case "boost_end": + thread newhandleboostend(); break; default: + animscripts\traverse\shared::handletraversenotetracks(param_00); break; } } diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_128_across.gsc b/AW/PC/animscripts/traverse/boost_jump_128_across.gsc similarity index 74% rename from AW/PC/SP/animscripts/traverse/boost_jump_128_across.gsc rename to AW/PC/animscripts/traverse/boost_jump_128_across.gsc index f5b5c4c..d886dcc 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_128_across.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_128_across.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_128_across.gsc + * Decompiled File: traverse\boost_jump_128_across.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 32 ms - * Timestamp: 10/27/2023 1:53:08 AM + * Decompile Time: 23 ms + * Timestamp: 4/22/2024 1:58:57 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_128_across_128_down.gsc b/AW/PC/animscripts/traverse/boost_jump_128_across_128_down.gsc similarity index 73% rename from AW/PC/SP/animscripts/traverse/boost_jump_128_across_128_down.gsc rename to AW/PC/animscripts/traverse/boost_jump_128_across_128_down.gsc index c313ab4..8e750a5 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_128_across_128_down.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_128_across_128_down.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_128_across_128_down.gsc + * Decompiled File: traverse\boost_jump_128_across_128_down.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 1:53:09 AM + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 1:58:57 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_128_across_128_up.gsc b/AW/PC/animscripts/traverse/boost_jump_128_across_128_up.gsc similarity index 73% rename from AW/PC/SP/animscripts/traverse/boost_jump_128_across_128_up.gsc rename to AW/PC/animscripts/traverse/boost_jump_128_across_128_up.gsc index a5a0c15..d8bdf91 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_128_across_128_up.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_128_across_128_up.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_128_across_128_up.gsc + * Decompiled File: traverse\boost_jump_128_across_128_up.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 1:53:09 AM + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 1:58:57 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_128_across_140_down.gsc b/AW/PC/animscripts/traverse/boost_jump_128_across_140_down.gsc similarity index 73% rename from AW/PC/SP/animscripts/traverse/boost_jump_128_across_140_down.gsc rename to AW/PC/animscripts/traverse/boost_jump_128_across_140_down.gsc index 77171e4..d8c3637 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_128_across_140_down.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_128_across_140_down.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_128_across_140_down.gsc + * Decompiled File: traverse\boost_jump_128_across_140_down.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 1:53:10 AM + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 1:58:58 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_128_across_140_up.gsc b/AW/PC/animscripts/traverse/boost_jump_128_across_140_up.gsc similarity index 73% rename from AW/PC/SP/animscripts/traverse/boost_jump_128_across_140_up.gsc rename to AW/PC/animscripts/traverse/boost_jump_128_across_140_up.gsc index e61bfc0..c6de31e 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_128_across_140_up.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_128_across_140_up.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_128_across_140_up.gsc + * Decompiled File: traverse\boost_jump_128_across_140_up.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 44 ms - * Timestamp: 10/27/2023 1:53:10 AM + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 1:58:58 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_128_across_196_down.gsc b/AW/PC/animscripts/traverse/boost_jump_128_across_196_down.gsc similarity index 73% rename from AW/PC/SP/animscripts/traverse/boost_jump_128_across_196_down.gsc rename to AW/PC/animscripts/traverse/boost_jump_128_across_196_down.gsc index aa3a4cb..8cbd14b 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_128_across_196_down.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_128_across_196_down.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_128_across_196_down.gsc + * Decompiled File: traverse\boost_jump_128_across_196_down.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:53:11 AM + * Decompile Time: 58 ms + * Timestamp: 4/22/2024 1:58:59 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_128_across_196_up.gsc b/AW/PC/animscripts/traverse/boost_jump_128_across_196_up.gsc similarity index 73% rename from AW/PC/SP/animscripts/traverse/boost_jump_128_across_196_up.gsc rename to AW/PC/animscripts/traverse/boost_jump_128_across_196_up.gsc index e596bfd..dcf8018 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_128_across_196_up.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_128_across_196_up.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_128_across_196_up.gsc + * Decompiled File: traverse\boost_jump_128_across_196_up.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 32 ms - * Timestamp: 10/27/2023 1:53:11 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 1:58:59 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/animscripts/traverse/boost_jump_128_across_256_down.gsc b/AW/PC/animscripts/traverse/boost_jump_128_across_256_down.gsc new file mode 100644 index 0000000..21464bc --- /dev/null +++ b/AW/PC/animscripts/traverse/boost_jump_128_across_256_down.gsc @@ -0,0 +1,18 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: traverse\boost_jump_128_across_256_down.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 1:58:59 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(self.canjumppath) + { + animscripts\traverse\boost::rocket_jump_human(%boost_jump_128_across_256_down,1); + } +} \ No newline at end of file diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_128_across_256_down.gsc b/AW/PC/animscripts/traverse/boost_jump_128_across_256_up.gsc similarity index 74% rename from AW/PC/SP/animscripts/traverse/boost_jump_128_across_256_down.gsc rename to AW/PC/animscripts/traverse/boost_jump_128_across_256_up.gsc index fdb885a..3888f20 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_128_across_256_down.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_128_across_256_up.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_128_across_256_down.gsc + * Decompiled File: traverse\boost_jump_128_across_256_up.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:53:12 AM + * Timestamp: 4/22/2024 1:59:00 AM *******************************************************************/ //Function Number: 1 @@ -13,6 +13,6 @@ main() { if(self.canjumppath) { - animscripts\traverse\boost::rocket_jump_human(%boost_jump_128_across_256_down,1); + animscripts\traverse\boost::rocket_jump_human(%boost_jump_128_across_256_up,1); } } \ No newline at end of file diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_128_across_320_down.gsc b/AW/PC/animscripts/traverse/boost_jump_128_across_320_down.gsc similarity index 74% rename from AW/PC/SP/animscripts/traverse/boost_jump_128_across_320_down.gsc rename to AW/PC/animscripts/traverse/boost_jump_128_across_320_down.gsc index 8e60104..1b06ca5 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_128_across_320_down.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_128_across_320_down.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_128_across_320_down.gsc + * Decompiled File: traverse\boost_jump_128_across_320_down.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:53:13 AM + * Decompile Time: 29 ms + * Timestamp: 4/22/2024 1:59:00 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_128_across_320_up.gsc b/AW/PC/animscripts/traverse/boost_jump_128_across_320_up.gsc similarity index 74% rename from AW/PC/SP/animscripts/traverse/boost_jump_128_across_320_up.gsc rename to AW/PC/animscripts/traverse/boost_jump_128_across_320_up.gsc index 300dd6f..7c44113 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_128_across_320_up.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_128_across_320_up.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_128_across_320_up.gsc + * Decompiled File: traverse\boost_jump_128_across_320_up.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:53:14 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 1:59:00 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_128_across_384_down.gsc b/AW/PC/animscripts/traverse/boost_jump_128_across_384_down.gsc similarity index 74% rename from AW/PC/SP/animscripts/traverse/boost_jump_128_across_384_down.gsc rename to AW/PC/animscripts/traverse/boost_jump_128_across_384_down.gsc index 5471fd8..365e2ed 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_128_across_384_down.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_128_across_384_down.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_128_across_384_down.gsc + * Decompiled File: traverse\boost_jump_128_across_384_down.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 32 ms - * Timestamp: 10/27/2023 1:53:14 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 1:59:01 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_128_across_384_up.gsc b/AW/PC/animscripts/traverse/boost_jump_128_across_384_up.gsc similarity index 74% rename from AW/PC/SP/animscripts/traverse/boost_jump_128_across_384_up.gsc rename to AW/PC/animscripts/traverse/boost_jump_128_across_384_up.gsc index 5122ad9..0e9e8ff 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_128_across_384_up.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_128_across_384_up.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_128_across_384_up.gsc + * Decompiled File: traverse\boost_jump_128_across_384_up.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 35 ms - * Timestamp: 10/27/2023 1:53:15 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 1:59:01 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_256_across.gsc b/AW/PC/animscripts/traverse/boost_jump_256_across.gsc similarity index 74% rename from AW/PC/SP/animscripts/traverse/boost_jump_256_across.gsc rename to AW/PC/animscripts/traverse/boost_jump_256_across.gsc index 1008d55..90d51a7 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_256_across.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_256_across.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_256_across.gsc + * Decompiled File: traverse\boost_jump_256_across.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 32 ms - * Timestamp: 10/27/2023 1:53:15 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 1:59:01 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_256_across_128_down.gsc b/AW/PC/animscripts/traverse/boost_jump_256_across_128_down.gsc similarity index 73% rename from AW/PC/SP/animscripts/traverse/boost_jump_256_across_128_down.gsc rename to AW/PC/animscripts/traverse/boost_jump_256_across_128_down.gsc index 5b81f6a..9f4f3bb 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_256_across_128_down.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_256_across_128_down.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_256_across_128_down.gsc + * Decompiled File: traverse\boost_jump_256_across_128_down.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 34 ms - * Timestamp: 10/27/2023 1:53:16 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 1:59:02 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_256_across_128_over.gsc b/AW/PC/animscripts/traverse/boost_jump_256_across_128_over.gsc similarity index 73% rename from AW/PC/SP/animscripts/traverse/boost_jump_256_across_128_over.gsc rename to AW/PC/animscripts/traverse/boost_jump_256_across_128_over.gsc index 1deb4de..cd3fb89 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_256_across_128_over.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_256_across_128_over.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_256_across_128_over.gsc + * Decompiled File: traverse\boost_jump_256_across_128_over.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 29 ms - * Timestamp: 10/27/2023 1:53:16 AM + * Decompile Time: 25 ms + * Timestamp: 4/22/2024 1:59:02 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_256_across_256_down.gsc b/AW/PC/animscripts/traverse/boost_jump_256_across_128_up.gsc similarity index 74% rename from AW/PC/SP/animscripts/traverse/boost_jump_256_across_256_down.gsc rename to AW/PC/animscripts/traverse/boost_jump_256_across_128_up.gsc index 4d009bc..b5fb39c 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_256_across_256_down.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_256_across_128_up.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_256_across_256_down.gsc + * Decompiled File: traverse\boost_jump_256_across_128_up.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 * Decompile Time: 28 ms - * Timestamp: 10/27/2023 1:53:19 AM + * Timestamp: 4/22/2024 1:59:02 AM *******************************************************************/ //Function Number: 1 @@ -13,6 +13,6 @@ main() { if(self.canjumppath) { - animscripts\traverse\boost::rocket_jump_human(%boost_jump_256_across_256_down,1); + animscripts\traverse\boost::rocket_jump_human(%boost_jump_256_across_128_up,1); } } \ No newline at end of file diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_256_across_140_down.gsc b/AW/PC/animscripts/traverse/boost_jump_256_across_140_down.gsc similarity index 73% rename from AW/PC/SP/animscripts/traverse/boost_jump_256_across_140_down.gsc rename to AW/PC/animscripts/traverse/boost_jump_256_across_140_down.gsc index ee88d32..86d48b7 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_256_across_140_down.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_256_across_140_down.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_256_across_140_down.gsc + * Decompiled File: traverse\boost_jump_256_across_140_down.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:53:17 AM + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 1:59:02 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_256_across_140_up.gsc b/AW/PC/animscripts/traverse/boost_jump_256_across_140_up.gsc similarity index 73% rename from AW/PC/SP/animscripts/traverse/boost_jump_256_across_140_up.gsc rename to AW/PC/animscripts/traverse/boost_jump_256_across_140_up.gsc index ddd1915..3eea8b2 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_256_across_140_up.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_256_across_140_up.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_256_across_140_up.gsc + * Decompiled File: traverse\boost_jump_256_across_140_up.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 32 ms - * Timestamp: 10/27/2023 1:53:18 AM + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 1:59:03 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_256_across_196_down.gsc b/AW/PC/animscripts/traverse/boost_jump_256_across_196_down.gsc similarity index 73% rename from AW/PC/SP/animscripts/traverse/boost_jump_256_across_196_down.gsc rename to AW/PC/animscripts/traverse/boost_jump_256_across_196_down.gsc index eeb2495..d304015 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_256_across_196_down.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_256_across_196_down.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_256_across_196_down.gsc + * Decompiled File: traverse\boost_jump_256_across_196_down.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 29 ms - * Timestamp: 10/27/2023 1:53:18 AM + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 1:59:03 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_256_across_196_up.gsc b/AW/PC/animscripts/traverse/boost_jump_256_across_196_up.gsc similarity index 73% rename from AW/PC/SP/animscripts/traverse/boost_jump_256_across_196_up.gsc rename to AW/PC/animscripts/traverse/boost_jump_256_across_196_up.gsc index 1751f12..927fa89 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_256_across_196_up.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_256_across_196_up.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_256_across_196_up.gsc + * Decompiled File: traverse\boost_jump_256_across_196_up.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 37 ms - * Timestamp: 10/27/2023 1:53:19 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 1:59:03 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/animscripts/traverse/boost_jump_256_across_256_down.gsc b/AW/PC/animscripts/traverse/boost_jump_256_across_256_down.gsc new file mode 100644 index 0000000..10f9b71 --- /dev/null +++ b/AW/PC/animscripts/traverse/boost_jump_256_across_256_down.gsc @@ -0,0 +1,18 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: traverse\boost_jump_256_across_256_down.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 1:59:04 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(self.canjumppath) + { + animscripts\traverse\boost::rocket_jump_human(%boost_jump_256_across_256_down,1); + } +} \ No newline at end of file diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_256_across_256_up.gsc b/AW/PC/animscripts/traverse/boost_jump_256_across_256_up.gsc similarity index 73% rename from AW/PC/SP/animscripts/traverse/boost_jump_256_across_256_up.gsc rename to AW/PC/animscripts/traverse/boost_jump_256_across_256_up.gsc index 4327055..7fe96dc 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_256_across_256_up.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_256_across_256_up.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_256_across_256_up.gsc + * Decompiled File: traverse\boost_jump_256_across_256_up.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 40 ms - * Timestamp: 10/27/2023 1:53:20 AM + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 1:59:04 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_256_across_320_down.gsc b/AW/PC/animscripts/traverse/boost_jump_256_across_320_down.gsc similarity index 74% rename from AW/PC/SP/animscripts/traverse/boost_jump_256_across_320_down.gsc rename to AW/PC/animscripts/traverse/boost_jump_256_across_320_down.gsc index fd3336c..5914a56 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_256_across_320_down.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_256_across_320_down.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_256_across_320_down.gsc + * Decompiled File: traverse\boost_jump_256_across_320_down.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 36 ms - * Timestamp: 10/27/2023 1:53:20 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 1:59:04 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_256_across_320_up.gsc b/AW/PC/animscripts/traverse/boost_jump_256_across_320_up.gsc similarity index 74% rename from AW/PC/SP/animscripts/traverse/boost_jump_256_across_320_up.gsc rename to AW/PC/animscripts/traverse/boost_jump_256_across_320_up.gsc index 72e8af6..8d746b5 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_256_across_320_up.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_256_across_320_up.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_256_across_320_up.gsc + * Decompiled File: traverse\boost_jump_256_across_320_up.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 1:53:21 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 1:59:05 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_256_across_384_down.gsc b/AW/PC/animscripts/traverse/boost_jump_256_across_384_down.gsc similarity index 74% rename from AW/PC/SP/animscripts/traverse/boost_jump_256_across_384_down.gsc rename to AW/PC/animscripts/traverse/boost_jump_256_across_384_down.gsc index 8cf73f2..9b32ea3 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_256_across_384_down.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_256_across_384_down.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_256_across_384_down.gsc + * Decompiled File: traverse\boost_jump_256_across_384_down.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 1:53:21 AM + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 1:59:05 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_256_across_384_up.gsc b/AW/PC/animscripts/traverse/boost_jump_256_across_384_up.gsc similarity index 74% rename from AW/PC/SP/animscripts/traverse/boost_jump_256_across_384_up.gsc rename to AW/PC/animscripts/traverse/boost_jump_256_across_384_up.gsc index 5b659fc..4410845 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_256_across_384_up.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_256_across_384_up.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_256_across_384_up.gsc + * Decompiled File: traverse\boost_jump_256_across_384_up.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 1:53:22 AM + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 1:59:05 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_400_across.gsc b/AW/PC/animscripts/traverse/boost_jump_400_across.gsc similarity index 74% rename from AW/PC/SP/animscripts/traverse/boost_jump_400_across.gsc rename to AW/PC/animscripts/traverse/boost_jump_400_across.gsc index c244fa9..e07db58 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_400_across.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_400_across.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_400_across.gsc + * Decompiled File: traverse\boost_jump_400_across.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:53:22 AM + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 1:59:06 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_512_across_128_down.gsc b/AW/PC/animscripts/traverse/boost_jump_512_across_128_down.gsc similarity index 73% rename from AW/PC/SP/animscripts/traverse/boost_jump_512_across_128_down.gsc rename to AW/PC/animscripts/traverse/boost_jump_512_across_128_down.gsc index d39e517..cf9bedd 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_512_across_128_down.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_512_across_128_down.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_512_across_128_down.gsc + * Decompiled File: traverse\boost_jump_512_across_128_down.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 1:53:23 AM + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 1:59:06 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_512_across_128_over.gsc b/AW/PC/animscripts/traverse/boost_jump_512_across_128_over.gsc similarity index 73% rename from AW/PC/SP/animscripts/traverse/boost_jump_512_across_128_over.gsc rename to AW/PC/animscripts/traverse/boost_jump_512_across_128_over.gsc index 51760db..6f92e2d 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_512_across_128_over.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_512_across_128_over.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_512_across_128_over.gsc + * Decompiled File: traverse\boost_jump_512_across_128_over.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 1:53:23 AM + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 1:59:06 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_512_across_128_up.gsc b/AW/PC/animscripts/traverse/boost_jump_512_across_128_up.gsc similarity index 73% rename from AW/PC/SP/animscripts/traverse/boost_jump_512_across_128_up.gsc rename to AW/PC/animscripts/traverse/boost_jump_512_across_128_up.gsc index 6ce377f..88d7ab9 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_512_across_128_up.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_512_across_128_up.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_512_across_128_up.gsc + * Decompiled File: traverse\boost_jump_512_across_128_up.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 1:53:24 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 1:59:07 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_512_across_256_over.gsc b/AW/PC/animscripts/traverse/boost_jump_512_across_256_over.gsc similarity index 78% rename from AW/PC/SP/animscripts/traverse/boost_jump_512_across_256_over.gsc rename to AW/PC/animscripts/traverse/boost_jump_512_across_256_over.gsc index 2f80736..26863aa 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_512_across_256_over.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_512_across_256_over.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_512_across_256_over.gsc + * Decompiled File: traverse\boost_jump_512_across_256_over.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:53:24 AM + * Timestamp: 4/22/2024 1:59:07 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_512_across_270_down.gsc b/AW/PC/animscripts/traverse/boost_jump_512_across_270_down.gsc similarity index 73% rename from AW/PC/SP/animscripts/traverse/boost_jump_512_across_270_down.gsc rename to AW/PC/animscripts/traverse/boost_jump_512_across_270_down.gsc index cd45d42..36f47c5 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_512_across_270_down.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_512_across_270_down.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_512_across_270_down.gsc + * Decompiled File: traverse\boost_jump_512_across_270_down.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 29 ms - * Timestamp: 10/27/2023 1:53:25 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 1:59:07 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_512_across_64_over.gsc b/AW/PC/animscripts/traverse/boost_jump_512_across_64_over.gsc similarity index 73% rename from AW/PC/SP/animscripts/traverse/boost_jump_512_across_64_over.gsc rename to AW/PC/animscripts/traverse/boost_jump_512_across_64_over.gsc index 1f0d21e..b7907f9 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_512_across_64_over.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_512_across_64_over.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_512_across_64_over.gsc + * Decompiled File: traverse\boost_jump_512_across_64_over.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 1:53:25 AM + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 1:59:08 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_512_across_64_over_128down.gsc b/AW/PC/animscripts/traverse/boost_jump_512_across_64_over_128down.gsc similarity index 72% rename from AW/PC/SP/animscripts/traverse/boost_jump_512_across_64_over_128down.gsc rename to AW/PC/animscripts/traverse/boost_jump_512_across_64_over_128down.gsc index aa7d87b..8defae1 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_512_across_64_over_128down.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_512_across_64_over_128down.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_512_across_64_over_128down.gsc + * Decompiled File: traverse\boost_jump_512_across_64_over_128down.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 1:53:26 AM + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 1:59:08 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_512_across_64_over_64down.gsc b/AW/PC/animscripts/traverse/boost_jump_512_across_64_over_64down.gsc similarity index 72% rename from AW/PC/SP/animscripts/traverse/boost_jump_512_across_64_over_64down.gsc rename to AW/PC/animscripts/traverse/boost_jump_512_across_64_over_64down.gsc index 18a58cb..32004ac 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_512_across_64_over_64down.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_512_across_64_over_64down.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_512_across_64_over_64down.gsc + * Decompiled File: traverse\boost_jump_512_across_64_over_64down.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 1:53:26 AM + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 1:59:08 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_64_across_128_down.gsc b/AW/PC/animscripts/traverse/boost_jump_64_across_128_down.gsc similarity index 74% rename from AW/PC/SP/animscripts/traverse/boost_jump_64_across_128_down.gsc rename to AW/PC/animscripts/traverse/boost_jump_64_across_128_down.gsc index 4535102..de0de24 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_64_across_128_down.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_64_across_128_down.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_64_across_128_down.gsc + * Decompiled File: traverse\boost_jump_64_across_128_down.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 29 ms - * Timestamp: 10/27/2023 1:53:26 AM + * Decompile Time: 38 ms + * Timestamp: 4/22/2024 1:59:09 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_64_across_128_up.gsc b/AW/PC/animscripts/traverse/boost_jump_64_across_128_up.gsc similarity index 74% rename from AW/PC/SP/animscripts/traverse/boost_jump_64_across_128_up.gsc rename to AW/PC/animscripts/traverse/boost_jump_64_across_128_up.gsc index 744dbce..92cee6b 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_64_across_128_up.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_64_across_128_up.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_64_across_128_up.gsc + * Decompiled File: traverse\boost_jump_64_across_128_up.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 1:53:27 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 1:59:09 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_64_across_256_down.gsc b/AW/PC/animscripts/traverse/boost_jump_64_across_256_down.gsc similarity index 74% rename from AW/PC/SP/animscripts/traverse/boost_jump_64_across_256_down.gsc rename to AW/PC/animscripts/traverse/boost_jump_64_across_256_down.gsc index bafbe10..cd94fa6 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_64_across_256_down.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_64_across_256_down.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_64_across_256_down.gsc + * Decompiled File: traverse\boost_jump_64_across_256_down.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:53:27 AM + * Decompile Time: 29 ms + * Timestamp: 4/22/2024 1:59:09 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_64_across_256_up.gsc b/AW/PC/animscripts/traverse/boost_jump_64_across_256_up.gsc similarity index 74% rename from AW/PC/SP/animscripts/traverse/boost_jump_64_across_256_up.gsc rename to AW/PC/animscripts/traverse/boost_jump_64_across_256_up.gsc index dbd3dbe..2558eca 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_64_across_256_up.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_64_across_256_up.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_64_across_256_up.gsc + * Decompiled File: traverse\boost_jump_64_across_256_up.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 38 ms - * Timestamp: 10/27/2023 1:53:28 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 1:59:10 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_64_across_320_down.gsc b/AW/PC/animscripts/traverse/boost_jump_64_across_320_down.gsc similarity index 74% rename from AW/PC/SP/animscripts/traverse/boost_jump_64_across_320_down.gsc rename to AW/PC/animscripts/traverse/boost_jump_64_across_320_down.gsc index 708bca9..17240d7 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_64_across_320_down.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_64_across_320_down.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_64_across_320_down.gsc + * Decompiled File: traverse\boost_jump_64_across_320_down.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 32 ms - * Timestamp: 10/27/2023 1:53:28 AM + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 1:59:10 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_64_across_320_up.gsc b/AW/PC/animscripts/traverse/boost_jump_64_across_320_up.gsc similarity index 74% rename from AW/PC/SP/animscripts/traverse/boost_jump_64_across_320_up.gsc rename to AW/PC/animscripts/traverse/boost_jump_64_across_320_up.gsc index 65424e5..f049853 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_64_across_320_up.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_64_across_320_up.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_64_across_320_up.gsc + * Decompiled File: traverse\boost_jump_64_across_320_up.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:53:29 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 1:59:10 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_64_across_384_down.gsc b/AW/PC/animscripts/traverse/boost_jump_64_across_384_down.gsc similarity index 74% rename from AW/PC/SP/animscripts/traverse/boost_jump_64_across_384_down.gsc rename to AW/PC/animscripts/traverse/boost_jump_64_across_384_down.gsc index bd64cdf..e1dbc8a 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_64_across_384_down.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_64_across_384_down.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_64_across_384_down.gsc + * Decompiled File: traverse\boost_jump_64_across_384_down.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 29 ms - * Timestamp: 10/27/2023 1:53:29 AM + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 1:59:11 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_64_across_384_up.gsc b/AW/PC/animscripts/traverse/boost_jump_64_across_384_up.gsc similarity index 74% rename from AW/PC/SP/animscripts/traverse/boost_jump_64_across_384_up.gsc rename to AW/PC/animscripts/traverse/boost_jump_64_across_384_up.gsc index 3456067..977d1e4 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_64_across_384_up.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_64_across_384_up.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_64_across_384_up.gsc + * Decompiled File: traverse\boost_jump_64_across_384_up.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 29 ms - * Timestamp: 10/27/2023 1:53:30 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 1:59:11 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/boost_jump_railing.gsc b/AW/PC/animscripts/traverse/boost_jump_railing.gsc similarity index 58% rename from AW/PC/SP/animscripts/traverse/boost_jump_railing.gsc rename to AW/PC/animscripts/traverse/boost_jump_railing.gsc index 202f2c9..dec030e 100644 --- a/AW/PC/SP/animscripts/traverse/boost_jump_railing.gsc +++ b/AW/PC/animscripts/traverse/boost_jump_railing.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\boost_jump_railing.gsc + * Decompiled File: traverse\boost_jump_railing.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 45 ms - * Timestamp: 10/27/2023 1:53:30 AM + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 1:59:12 AM *******************************************************************/ //Function Number: 1 @@ -17,51 +17,67 @@ main() switch(var_00.script_noteworthy) { case "boost_jump_128_across_128_down_32_railing": + rocket_jump_human_railing(%boost_jump_128_across_128_down_32_railing,1); break; case "boost_jump_128_across_140_down_32_railing": + rocket_jump_human_railing(%boost_jump_128_across_140_down_32_railing,1); break; case "boost_jump_128_across_196_down_32_railing": + rocket_jump_human_railing(%boost_jump_128_across_196_down_32_railing,1); break; case "boost_jump_128_across_256_down_32_railing": + rocket_jump_human_railing(%boost_jump_128_across_256_down_32_railing,1); break; case "boost_jump_256_across_128_down_32_railing": + rocket_jump_human_railing(%boost_jump_256_across_128_down_32_railing,1); break; case "boost_jump_256_across_140_down_32_railing": + rocket_jump_human_railing(%boost_jump_256_across_140_down_32_railing,1); break; case "boost_jump_256_across_196_down_32_railing": + rocket_jump_human_railing(%boost_jump_256_across_196_down_32_railing,1); break; case "boost_jump_256_across_256_down_32_railing": + rocket_jump_human_railing(%boost_jump_256_across_256_down_32_railing,1); break; case "boost_jump_128_across_128_up_32_railing": + animscripts\traverse\boost::rocket_jump_human(%boost_jump_128_across_128_up_32_railing,1); break; case "boost_jump_128_across_140_up_32_railing": + animscripts\traverse\boost::rocket_jump_human(%boost_jump_128_across_140_up_32_railing,1); break; case "boost_jump_128_across_196_up_32_railing": + animscripts\traverse\boost::rocket_jump_human(%boost_jump_128_across_196_up_32_railing,1); break; case "boost_jump_128_across_256_up_32_railing": + animscripts\traverse\boost::rocket_jump_human(%boost_jump_128_across_256_up_32_railing,1); break; case "boost_jump_256_across_128_up_32_railing": + animscripts\traverse\boost::rocket_jump_human(%boost_jump_256_across_128_up_32_railing,1); break; case "boost_jump_256_across_140_up_32_railing": + animscripts\traverse\boost::rocket_jump_human(%boost_jump_256_across_140_up_32_railing,1); break; case "boost_jump_256_across_196_up_32_railing": + animscripts\traverse\boost::rocket_jump_human(%boost_jump_256_across_196_up_32_railing,1); break; case "boost_jump_256_across_256_up_32_railing": + animscripts\traverse\boost::rocket_jump_human(%boost_jump_256_across_256_up_32_railing,1); break; default: diff --git a/AW/PC/SP/animscripts/traverse/crawl.gsc b/AW/PC/animscripts/traverse/crawl.gsc similarity index 85% rename from AW/PC/SP/animscripts/traverse/crawl.gsc rename to AW/PC/animscripts/traverse/crawl.gsc index 57e7dac..4171c43 100644 --- a/AW/PC/SP/animscripts/traverse/crawl.gsc +++ b/AW/PC/animscripts/traverse/crawl.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\crawl.gsc + * Decompiled File: traverse\crawl.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:53:31 AM + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 1:59:12 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/crouch_jump_down_40.gsc b/AW/PC/animscripts/traverse/crouch_jump_down_40.gsc similarity index 84% rename from AW/PC/SP/animscripts/traverse/crouch_jump_down_40.gsc rename to AW/PC/animscripts/traverse/crouch_jump_down_40.gsc index 8c594c8..8177332 100644 --- a/AW/PC/SP/animscripts/traverse/crouch_jump_down_40.gsc +++ b/AW/PC/animscripts/traverse/crouch_jump_down_40.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\crouch_jump_down_40.gsc + * Decompiled File: traverse\crouch_jump_down_40.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 32 ms - * Timestamp: 10/27/2023 1:53:31 AM + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 1:59:12 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/animscripts/traverse/dog_jump_down_24.gsc b/AW/PC/animscripts/traverse/dog_jump_down_24.gsc new file mode 100644 index 0000000..51798e7 --- /dev/null +++ b/AW/PC/animscripts/traverse/dog_jump_down_24.gsc @@ -0,0 +1,30 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: traverse\dog_jump_down_24.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 51 ms + * Timestamp: 4/22/2024 1:59:13 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(self.type == "dog") + { + animscripts\traverse\shared::dog_jump_down(24,5,"jump_down_24",1); + return; + } + + low_wall_human(); +} + +//Function Number: 2 +low_wall_human() +{ + var_00 = []; + var_00["traverseAnim"] = %ch_pragueb_7_5_crosscourt_aimantle_a; + var_00["traverseHeight"] = 32; + animscripts\traverse\shared::dotraverse(var_00); +} \ No newline at end of file diff --git a/AW/PC/animscripts/traverse/dog_jump_down_40.gsc b/AW/PC/animscripts/traverse/dog_jump_down_40.gsc new file mode 100644 index 0000000..1711d24 --- /dev/null +++ b/AW/PC/animscripts/traverse/dog_jump_down_40.gsc @@ -0,0 +1,30 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: traverse\dog_jump_down_40.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 1:59:13 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(self.type == "dog") + { + animscripts\traverse\shared::dog_jump_down(40,5,"jump_down_40",1); + return; + } + + low_wall_human(); +} + +//Function Number: 2 +low_wall_human() +{ + var_00 = []; + var_00["traverseAnim"] = %ch_pragueb_7_5_crosscourt_aimantle_a; + var_00["traverseHeight"] = 32; + animscripts\traverse\shared::dotraverse(var_00); +} \ No newline at end of file diff --git a/AW/PC/animscripts/traverse/dog_jump_down_70.gsc b/AW/PC/animscripts/traverse/dog_jump_down_70.gsc new file mode 100644 index 0000000..5a191c3 --- /dev/null +++ b/AW/PC/animscripts/traverse/dog_jump_down_70.gsc @@ -0,0 +1,30 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: traverse\dog_jump_down_70.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 1:59:13 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(self.type == "dog") + { + animscripts\traverse\shared::dog_jump_down(70,5,"jump_down_70",1); + return; + } + + low_wall_human(); +} + +//Function Number: 2 +low_wall_human() +{ + var_00 = []; + var_00["traverseAnim"] = %ch_pragueb_7_5_crosscourt_aimantle_a; + var_00["traverseHeight"] = 32; + animscripts\traverse\shared::dotraverse(var_00); +} \ No newline at end of file diff --git a/AW/PC/animscripts/traverse/dog_jump_over_40.gsc b/AW/PC/animscripts/traverse/dog_jump_over_40.gsc new file mode 100644 index 0000000..97d0799 --- /dev/null +++ b/AW/PC/animscripts/traverse/dog_jump_over_40.gsc @@ -0,0 +1,41 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: traverse\dog_jump_over_40.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 1:59:14 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(self.type == "dog") + { + var_00 = []; + var_00["traverseAnim"] = "dog_jump_over_40"; + var_00["linkMe"] = 1; + if(!animscripts\dog\dog_kill_traversal::check_kill_traversal(var_00)) + { + return animscripts\traverse\shared::dog_wall_and_window_hop("window_40",40); + } + + return; + } + + low_wall_human(); +} + +//Function Number: 2 +low_wall_human() +{ + var_00 = []; + var_00["traverseAnim"] = %traverse40; + var_00["traverseToCoverAnim"] = %traverse40_2_cover; + var_00["coverType"] = "Cover Crouch"; + var_00["traverseHeight"] = 40; + var_00["interruptDeathAnim"][0] = animscripts\utility::array(%traverse40_death_start,%traverse40_death_start_2); + var_00["interruptDeathAnim"][1] = animscripts\utility::array(%traverse40_death_end,%traverse40_death_end_2); + animscripts\traverse\shared::dotraverse(var_00); +} \ No newline at end of file diff --git a/AW/PC/animscripts/traverse/dog_jump_up_24.gsc b/AW/PC/animscripts/traverse/dog_jump_up_24.gsc new file mode 100644 index 0000000..52990f8 --- /dev/null +++ b/AW/PC/animscripts/traverse/dog_jump_up_24.gsc @@ -0,0 +1,30 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: traverse\dog_jump_up_24.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:59:14 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(self.type == "dog") + { + animscripts\traverse\shared::dog_jump_up(24,5,"jump_up_24",1); + return; + } + + low_wall_human(); +} + +//Function Number: 2 +low_wall_human() +{ + var_00 = []; + var_00["traverseAnim"] = %ch_pragueb_7_5_crosscourt_aimantle_a; + var_00["traverseHeight"] = 32; + animscripts\traverse\shared::dotraverse(var_00); +} \ No newline at end of file diff --git a/AW/PC/animscripts/traverse/dog_jump_up_40.gsc b/AW/PC/animscripts/traverse/dog_jump_up_40.gsc new file mode 100644 index 0000000..1e43b1c --- /dev/null +++ b/AW/PC/animscripts/traverse/dog_jump_up_40.gsc @@ -0,0 +1,30 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: traverse\dog_jump_up_40.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 1:59:14 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(self.type == "dog") + { + animscripts\traverse\shared::dog_jump_up(40,5,"jump_up_40",1); + return; + } + + low_wall_human(); +} + +//Function Number: 2 +low_wall_human() +{ + var_00 = []; + var_00["traverseAnim"] = %ch_pragueb_7_5_crosscourt_aimantle_a; + var_00["traverseHeight"] = 32; + animscripts\traverse\shared::dotraverse(var_00); +} \ No newline at end of file diff --git a/AW/PC/animscripts/traverse/dog_jump_up_70.gsc b/AW/PC/animscripts/traverse/dog_jump_up_70.gsc new file mode 100644 index 0000000..800e872 --- /dev/null +++ b/AW/PC/animscripts/traverse/dog_jump_up_70.gsc @@ -0,0 +1,15 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: traverse\dog_jump_up_70.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 1:59:15 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + animscripts\traverse\shared::dog_jump_up(70,5,"jump_up_80",1); +} \ No newline at end of file diff --git a/AW/PC/animscripts/traverse/dog_over_40.gsc b/AW/PC/animscripts/traverse/dog_over_40.gsc new file mode 100644 index 0000000..79e2827 --- /dev/null +++ b/AW/PC/animscripts/traverse/dog_over_40.gsc @@ -0,0 +1,34 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: traverse\dog_over_40.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 1:59:15 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(self.type == "dog") + { + animscripts\traverse\shared::dog_wall_and_window_hop("window_40",40); + return; + } + + low_wall_human(); +} + +//Function Number: 2 +low_wall_human() +{ + var_00 = []; + var_00["traverseAnim"] = %traverse40; + var_00["traverseToCoverAnim"] = %traverse40_2_cover; + var_00["coverType"] = "Cover Crouch"; + var_00["traverseHeight"] = 40; + var_00["interruptDeathAnim"][0] = animscripts\utility::array(%traverse40_death_start,%traverse40_death_start_2); + var_00["interruptDeathAnim"][1] = animscripts\utility::array(%traverse40_death_end,%traverse40_death_end_2); + animscripts\traverse\shared::dotraverse(var_00); +} \ No newline at end of file diff --git a/AW/PC/animscripts/traverse/drop_512.gsc b/AW/PC/animscripts/traverse/drop_512.gsc new file mode 100644 index 0000000..ceb3dfd --- /dev/null +++ b/AW/PC/animscripts/traverse/drop_512.gsc @@ -0,0 +1,17 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: traverse\drop_512.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 1:59:16 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = []; + var_00["traverseAnim"] = %traverse_drop_512; + animscripts\traverse\shared::dotraverse(var_00); +} \ No newline at end of file diff --git a/AW/PC/SP/animscripts/traverse/duck_under_56.gsc b/AW/PC/animscripts/traverse/duck_under_56.gsc similarity index 85% rename from AW/PC/SP/animscripts/traverse/duck_under_56.gsc rename to AW/PC/animscripts/traverse/duck_under_56.gsc index 0269cb3..eeb041d 100644 --- a/AW/PC/SP/animscripts/traverse/duck_under_56.gsc +++ b/AW/PC/animscripts/traverse/duck_under_56.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\duck_under_56.gsc + * Decompiled File: traverse\duck_under_56.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 1:53:32 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 1:59:16 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/1341.gsc b/AW/PC/animscripts/traverse/grapple.gsc similarity index 64% rename from AW/PC/MP/1341.gsc rename to AW/PC/animscripts/traverse/grapple.gsc index a4a011d..9192e23 100644 --- a/AW/PC/MP/1341.gsc +++ b/AW/PC/animscripts/traverse/grapple.gsc @@ -1,19 +1,15 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: 1341.gsc + * Decompiled File: traverse\grapple.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 0 ms - * Timestamp: 10/27/2023 1:46:51 AM + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 1:59:16 AM *******************************************************************/ //Function Number: 1 main() { - wait(0); - if(isdefined(self)) - { - self delete(); - } + maps\_grapple_traverse::grapple_traverse(); } \ No newline at end of file diff --git a/AW/PC/SP/animscripts/traverse/hms_greece_jump_across_164.gsc b/AW/PC/animscripts/traverse/hms_greece_jump_across_164.gsc similarity index 78% rename from AW/PC/SP/animscripts/traverse/hms_greece_jump_across_164.gsc rename to AW/PC/animscripts/traverse/hms_greece_jump_across_164.gsc index a9f12ee..35bf0fa 100644 --- a/AW/PC/SP/animscripts/traverse/hms_greece_jump_across_164.gsc +++ b/AW/PC/animscripts/traverse/hms_greece_jump_across_164.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\hms_greece_jump_across_164.gsc + * Decompiled File: traverse\hms_greece_jump_across_164.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 45 ms - * Timestamp: 10/27/2023 1:53:32 AM + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 1:59:17 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/hms_greece_jump_across_192.gsc b/AW/PC/animscripts/traverse/hms_greece_jump_across_192.gsc similarity index 81% rename from AW/PC/SP/animscripts/traverse/hms_greece_jump_across_192.gsc rename to AW/PC/animscripts/traverse/hms_greece_jump_across_192.gsc index 02d7876..184f69a 100644 --- a/AW/PC/SP/animscripts/traverse/hms_greece_jump_across_192.gsc +++ b/AW/PC/animscripts/traverse/hms_greece_jump_across_192.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\hms_greece_jump_across_192.gsc + * Decompiled File: traverse\hms_greece_jump_across_192.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 48 ms - * Timestamp: 10/27/2023 1:53:33 AM + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 1:59:17 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/hms_greece_jump_down_96.gsc b/AW/PC/animscripts/traverse/hms_greece_jump_down_96.gsc similarity index 81% rename from AW/PC/SP/animscripts/traverse/hms_greece_jump_down_96.gsc rename to AW/PC/animscripts/traverse/hms_greece_jump_down_96.gsc index 4b263fe..d7c9e4d 100644 --- a/AW/PC/SP/animscripts/traverse/hms_greece_jump_down_96.gsc +++ b/AW/PC/animscripts/traverse/hms_greece_jump_down_96.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\hms_greece_jump_down_96.gsc + * Decompiled File: traverse\hms_greece_jump_down_96.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 45 ms - * Timestamp: 10/27/2023 1:53:33 AM + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 1:59:17 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/hms_greece_jump_over_32_across_320.gsc b/AW/PC/animscripts/traverse/hms_greece_jump_over_32_across_320.gsc similarity index 79% rename from AW/PC/SP/animscripts/traverse/hms_greece_jump_over_32_across_320.gsc rename to AW/PC/animscripts/traverse/hms_greece_jump_over_32_across_320.gsc index 71eb2f1..c799fd0 100644 --- a/AW/PC/SP/animscripts/traverse/hms_greece_jump_over_32_across_320.gsc +++ b/AW/PC/animscripts/traverse/hms_greece_jump_over_32_across_320.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\hms_greece_jump_over_32_across_320.gsc + * Decompiled File: traverse\hms_greece_jump_over_32_across_320.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 46 ms - * Timestamp: 10/27/2023 1:53:34 AM + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 1:59:18 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/hms_greece_jump_over_32_across_352.gsc b/AW/PC/animscripts/traverse/hms_greece_jump_over_32_across_352.gsc similarity index 79% rename from AW/PC/SP/animscripts/traverse/hms_greece_jump_over_32_across_352.gsc rename to AW/PC/animscripts/traverse/hms_greece_jump_over_32_across_352.gsc index fed9acf..e60256b 100644 --- a/AW/PC/SP/animscripts/traverse/hms_greece_jump_over_32_across_352.gsc +++ b/AW/PC/animscripts/traverse/hms_greece_jump_over_32_across_352.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\hms_greece_jump_over_32_across_352.gsc + * Decompiled File: traverse\hms_greece_jump_over_32_across_352.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 45 ms - * Timestamp: 10/27/2023 1:53:34 AM + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 1:59:18 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/hms_greece_jump_over_32_across_400.gsc b/AW/PC/animscripts/traverse/hms_greece_jump_over_32_across_400.gsc similarity index 79% rename from AW/PC/SP/animscripts/traverse/hms_greece_jump_over_32_across_400.gsc rename to AW/PC/animscripts/traverse/hms_greece_jump_over_32_across_400.gsc index e26118e..b89023b 100644 --- a/AW/PC/SP/animscripts/traverse/hms_greece_jump_over_32_across_400.gsc +++ b/AW/PC/animscripts/traverse/hms_greece_jump_over_32_across_400.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\hms_greece_jump_over_32_across_400.gsc + * Decompiled File: traverse\hms_greece_jump_over_32_across_400.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 47 ms - * Timestamp: 10/27/2023 1:53:35 AM + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 1:59:18 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/hms_greece_jump_over_32_down_192.gsc b/AW/PC/animscripts/traverse/hms_greece_jump_over_32_down_192.gsc similarity index 79% rename from AW/PC/SP/animscripts/traverse/hms_greece_jump_over_32_down_192.gsc rename to AW/PC/animscripts/traverse/hms_greece_jump_over_32_down_192.gsc index 406d5ba..0ad55b4 100644 --- a/AW/PC/SP/animscripts/traverse/hms_greece_jump_over_32_down_192.gsc +++ b/AW/PC/animscripts/traverse/hms_greece_jump_over_32_down_192.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\hms_greece_jump_over_32_down_192.gsc + * Decompiled File: traverse\hms_greece_jump_over_32_down_192.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 44 ms - * Timestamp: 10/27/2023 1:53:36 AM + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 1:59:19 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/hms_greece_jump_over_36_down_128.gsc b/AW/PC/animscripts/traverse/hms_greece_jump_over_36_down_128.gsc similarity index 81% rename from AW/PC/SP/animscripts/traverse/hms_greece_jump_over_36_down_128.gsc rename to AW/PC/animscripts/traverse/hms_greece_jump_over_36_down_128.gsc index a5457d8..dd7ecae 100644 --- a/AW/PC/SP/animscripts/traverse/hms_greece_jump_over_36_down_128.gsc +++ b/AW/PC/animscripts/traverse/hms_greece_jump_over_36_down_128.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\hms_greece_jump_over_36_down_128.gsc + * Decompiled File: traverse\hms_greece_jump_over_36_down_128.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 47 ms - * Timestamp: 10/27/2023 1:53:36 AM + * Decompile Time: 51 ms + * Timestamp: 4/22/2024 1:59:19 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/hms_greece_jump_over_36_down_164.gsc b/AW/PC/animscripts/traverse/hms_greece_jump_over_36_down_164.gsc similarity index 82% rename from AW/PC/SP/animscripts/traverse/hms_greece_jump_over_36_down_164.gsc rename to AW/PC/animscripts/traverse/hms_greece_jump_over_36_down_164.gsc index 58d30f9..df7cf5a 100644 --- a/AW/PC/SP/animscripts/traverse/hms_greece_jump_over_36_down_164.gsc +++ b/AW/PC/animscripts/traverse/hms_greece_jump_over_36_down_164.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\hms_greece_jump_over_36_down_164.gsc + * Decompiled File: traverse\hms_greece_jump_over_36_down_164.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 54 ms - * Timestamp: 10/27/2023 1:53:37 AM + * Decompile Time: 48 ms + * Timestamp: 4/22/2024 1:59:20 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/hms_greece_jump_over_36_down_180.gsc b/AW/PC/animscripts/traverse/hms_greece_jump_over_36_down_180.gsc similarity index 81% rename from AW/PC/SP/animscripts/traverse/hms_greece_jump_over_36_down_180.gsc rename to AW/PC/animscripts/traverse/hms_greece_jump_over_36_down_180.gsc index 9db2806..756739b 100644 --- a/AW/PC/SP/animscripts/traverse/hms_greece_jump_over_36_down_180.gsc +++ b/AW/PC/animscripts/traverse/hms_greece_jump_over_36_down_180.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\hms_greece_jump_over_36_down_180.gsc + * Decompiled File: traverse\hms_greece_jump_over_36_down_180.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 45 ms - * Timestamp: 10/27/2023 1:53:37 AM + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 1:59:20 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/hms_greece_jump_over_36_down_208.gsc b/AW/PC/animscripts/traverse/hms_greece_jump_over_36_down_208.gsc similarity index 82% rename from AW/PC/SP/animscripts/traverse/hms_greece_jump_over_36_down_208.gsc rename to AW/PC/animscripts/traverse/hms_greece_jump_over_36_down_208.gsc index c3dcc70..8dec228 100644 --- a/AW/PC/SP/animscripts/traverse/hms_greece_jump_over_36_down_208.gsc +++ b/AW/PC/animscripts/traverse/hms_greece_jump_over_36_down_208.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\hms_greece_jump_over_36_down_208.gsc + * Decompiled File: traverse\hms_greece_jump_over_36_down_208.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 47 ms - * Timestamp: 10/27/2023 1:53:38 AM + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 1:59:20 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/hms_greece_jump_over_40_down_88.gsc b/AW/PC/animscripts/traverse/hms_greece_jump_over_40_down_88.gsc similarity index 82% rename from AW/PC/SP/animscripts/traverse/hms_greece_jump_over_40_down_88.gsc rename to AW/PC/animscripts/traverse/hms_greece_jump_over_40_down_88.gsc index 2cdb68b..dc1d9a2 100644 --- a/AW/PC/SP/animscripts/traverse/hms_greece_jump_over_40_down_88.gsc +++ b/AW/PC/animscripts/traverse/hms_greece_jump_over_40_down_88.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\hms_greece_jump_over_40_down_88.gsc + * Decompiled File: traverse\hms_greece_jump_over_40_down_88.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 47 ms - * Timestamp: 10/27/2023 1:53:38 AM + * Decompile Time: 51 ms + * Timestamp: 4/22/2024 1:59:21 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/hms_greece_window_dive.gsc b/AW/PC/animscripts/traverse/hms_greece_window_dive.gsc similarity index 84% rename from AW/PC/SP/animscripts/traverse/hms_greece_window_dive.gsc rename to AW/PC/animscripts/traverse/hms_greece_window_dive.gsc index d231967..45d5345 100644 --- a/AW/PC/SP/animscripts/traverse/hms_greece_window_dive.gsc +++ b/AW/PC/animscripts/traverse/hms_greece_window_dive.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\hms_greece_window_dive.gsc + * Decompiled File: traverse\hms_greece_window_dive.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 65 ms - * Timestamp: 10/27/2023 1:53:39 AM + * Decompile Time: 54 ms + * Timestamp: 4/22/2024 1:59:21 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/hms_greece_window_over_40.gsc b/AW/PC/animscripts/traverse/hms_greece_window_over_40.gsc similarity index 87% rename from AW/PC/SP/animscripts/traverse/hms_greece_window_over_40.gsc rename to AW/PC/animscripts/traverse/hms_greece_window_over_40.gsc index f142ebb..0ae30f9 100644 --- a/AW/PC/SP/animscripts/traverse/hms_greece_window_over_40.gsc +++ b/AW/PC/animscripts/traverse/hms_greece_window_over_40.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\hms_greece_window_over_40.gsc + * Decompiled File: traverse\hms_greece_window_over_40.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 62 ms - * Timestamp: 10/27/2023 1:53:40 AM + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 1:59:22 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/iw6_creep_stepdown_16.gsc b/AW/PC/animscripts/traverse/iw6_creep_stepdown_16.gsc similarity index 80% rename from AW/PC/SP/animscripts/traverse/iw6_creep_stepdown_16.gsc rename to AW/PC/animscripts/traverse/iw6_creep_stepdown_16.gsc index d4192a0..877f879 100644 --- a/AW/PC/SP/animscripts/traverse/iw6_creep_stepdown_16.gsc +++ b/AW/PC/animscripts/traverse/iw6_creep_stepdown_16.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\iw6_creep_stepdown_16.gsc + * Decompiled File: traverse\iw6_creep_stepdown_16.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 43 ms - * Timestamp: 10/27/2023 1:53:40 AM + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 1:59:22 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/iw6_jumpdown_40.gsc b/AW/PC/animscripts/traverse/iw6_jumpdown_40.gsc similarity index 81% rename from AW/PC/SP/animscripts/traverse/iw6_jumpdown_40.gsc rename to AW/PC/animscripts/traverse/iw6_jumpdown_40.gsc index bb3d151..753cdf7 100644 --- a/AW/PC/SP/animscripts/traverse/iw6_jumpdown_40.gsc +++ b/AW/PC/animscripts/traverse/iw6_jumpdown_40.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\iw6_jumpdown_40.gsc + * Decompiled File: traverse\iw6_jumpdown_40.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 43 ms - * Timestamp: 10/27/2023 1:53:41 AM + * Decompile Time: 51 ms + * Timestamp: 4/22/2024 1:59:22 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/iw6_jumpdown_56.gsc b/AW/PC/animscripts/traverse/iw6_jumpdown_56.gsc similarity index 81% rename from AW/PC/SP/animscripts/traverse/iw6_jumpdown_56.gsc rename to AW/PC/animscripts/traverse/iw6_jumpdown_56.gsc index 9925d7e..209c942 100644 --- a/AW/PC/SP/animscripts/traverse/iw6_jumpdown_56.gsc +++ b/AW/PC/animscripts/traverse/iw6_jumpdown_56.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\iw6_jumpdown_56.gsc + * Decompiled File: traverse\iw6_jumpdown_56.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 50 ms - * Timestamp: 10/27/2023 1:53:41 AM + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 1:59:23 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/iw6_jumpdown_72.gsc b/AW/PC/animscripts/traverse/iw6_jumpdown_72.gsc similarity index 81% rename from AW/PC/SP/animscripts/traverse/iw6_jumpdown_72.gsc rename to AW/PC/animscripts/traverse/iw6_jumpdown_72.gsc index 63e236a..0231396 100644 --- a/AW/PC/SP/animscripts/traverse/iw6_jumpdown_72.gsc +++ b/AW/PC/animscripts/traverse/iw6_jumpdown_72.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\iw6_jumpdown_72.gsc + * Decompiled File: traverse\iw6_jumpdown_72.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 61 ms - * Timestamp: 10/27/2023 1:53:42 AM + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 1:59:23 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/iw6_jumpdown_88.gsc b/AW/PC/animscripts/traverse/iw6_jumpdown_88.gsc similarity index 81% rename from AW/PC/SP/animscripts/traverse/iw6_jumpdown_88.gsc rename to AW/PC/animscripts/traverse/iw6_jumpdown_88.gsc index 9b57e77..ba2beba 100644 --- a/AW/PC/SP/animscripts/traverse/iw6_jumpdown_88.gsc +++ b/AW/PC/animscripts/traverse/iw6_jumpdown_88.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\iw6_jumpdown_88.gsc + * Decompiled File: traverse\iw6_jumpdown_88.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 54 ms - * Timestamp: 10/27/2023 1:53:42 AM + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 1:59:24 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/iw6_jumpup_72.gsc b/AW/PC/animscripts/traverse/iw6_jumpup_72.gsc similarity index 96% rename from AW/PC/SP/animscripts/traverse/iw6_jumpup_72.gsc rename to AW/PC/animscripts/traverse/iw6_jumpup_72.gsc index 8ce8f47..063e025 100644 --- a/AW/PC/SP/animscripts/traverse/iw6_jumpup_72.gsc +++ b/AW/PC/animscripts/traverse/iw6_jumpup_72.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\iw6_jumpup_72.gsc + * Decompiled File: traverse\iw6_jumpup_72.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 4 - * Decompile Time: 81 ms - * Timestamp: 10/27/2023 1:53:43 AM + * Decompile Time: 72 ms + * Timestamp: 4/22/2024 1:59:24 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/iw6_traverse_over_40_a.gsc b/AW/PC/animscripts/traverse/iw6_traverse_over_40_a.gsc similarity index 87% rename from AW/PC/SP/animscripts/traverse/iw6_traverse_over_40_a.gsc rename to AW/PC/animscripts/traverse/iw6_traverse_over_40_a.gsc index d2db13e..75fc7ab 100644 --- a/AW/PC/SP/animscripts/traverse/iw6_traverse_over_40_a.gsc +++ b/AW/PC/animscripts/traverse/iw6_traverse_over_40_a.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\iw6_traverse_over_40_a.gsc + * Decompiled File: traverse\iw6_traverse_over_40_a.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 55 ms - * Timestamp: 10/27/2023 1:53:44 AM + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 1:59:24 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/iw6_traverse_over_40_b.gsc b/AW/PC/animscripts/traverse/iw6_traverse_over_40_b.gsc similarity index 89% rename from AW/PC/SP/animscripts/traverse/iw6_traverse_over_40_b.gsc rename to AW/PC/animscripts/traverse/iw6_traverse_over_40_b.gsc index d4f7f21..5ef7388 100644 --- a/AW/PC/SP/animscripts/traverse/iw6_traverse_over_40_b.gsc +++ b/AW/PC/animscripts/traverse/iw6_traverse_over_40_b.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\iw6_traverse_over_40_b.gsc + * Decompiled File: traverse\iw6_traverse_over_40_b.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 * Decompile Time: 49 ms - * Timestamp: 10/27/2023 1:53:44 AM + * Timestamp: 4/22/2024 1:59:25 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/jump_across_100.gsc b/AW/PC/animscripts/traverse/jump_across_100.gsc similarity index 88% rename from AW/PC/SP/animscripts/traverse/jump_across_100.gsc rename to AW/PC/animscripts/traverse/jump_across_100.gsc index 7eb7f3e..47a1016 100644 --- a/AW/PC/SP/animscripts/traverse/jump_across_100.gsc +++ b/AW/PC/animscripts/traverse/jump_across_100.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\jump_across_100.gsc + * Decompiled File: traverse\jump_across_100.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 36 ms - * Timestamp: 10/27/2023 1:53:45 AM + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 1:59:25 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/jump_across_112_over_32.gsc b/AW/PC/animscripts/traverse/jump_across_112_over_32.gsc similarity index 79% rename from AW/PC/SP/animscripts/traverse/jump_across_112_over_32.gsc rename to AW/PC/animscripts/traverse/jump_across_112_over_32.gsc index 457e460..025be14 100644 --- a/AW/PC/SP/animscripts/traverse/jump_across_112_over_32.gsc +++ b/AW/PC/animscripts/traverse/jump_across_112_over_32.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\jump_across_112_over_32.gsc + * Decompiled File: traverse\jump_across_112_over_32.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 47 ms - * Timestamp: 10/27/2023 1:53:45 AM + * Decompile Time: 49 ms + * Timestamp: 4/22/2024 1:59:25 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/jump_across_72.gsc b/AW/PC/animscripts/traverse/jump_across_72.gsc similarity index 87% rename from AW/PC/SP/animscripts/traverse/jump_across_72.gsc rename to AW/PC/animscripts/traverse/jump_across_72.gsc index 3b3f2a7..a367f21 100644 --- a/AW/PC/SP/animscripts/traverse/jump_across_72.gsc +++ b/AW/PC/animscripts/traverse/jump_across_72.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\jump_across_72.gsc + * Decompiled File: traverse\jump_across_72.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 38 ms - * Timestamp: 10/27/2023 1:53:46 AM + * Decompile Time: 36 ms + * Timestamp: 4/22/2024 1:59:26 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/jump_over_high_wall.gsc b/AW/PC/animscripts/traverse/jump_over_high_wall.gsc similarity index 88% rename from AW/PC/SP/animscripts/traverse/jump_over_high_wall.gsc rename to AW/PC/animscripts/traverse/jump_over_high_wall.gsc index a276377..01664ad 100644 --- a/AW/PC/SP/animscripts/traverse/jump_over_high_wall.gsc +++ b/AW/PC/animscripts/traverse/jump_over_high_wall.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\jump_over_high_wall.gsc + * Decompiled File: traverse\jump_over_high_wall.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 29 ms - * Timestamp: 10/27/2023 1:53:46 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 1:59:26 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/jump_up_80.gsc b/AW/PC/animscripts/traverse/jump_up_80.gsc similarity index 86% rename from AW/PC/SP/animscripts/traverse/jump_up_80.gsc rename to AW/PC/animscripts/traverse/jump_up_80.gsc index cfba604..6c7b4ee 100644 --- a/AW/PC/SP/animscripts/traverse/jump_up_80.gsc +++ b/AW/PC/animscripts/traverse/jump_up_80.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\jump_up_80.gsc + * Decompiled File: traverse\jump_up_80.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 32 ms - * Timestamp: 10/27/2023 1:53:47 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 1:59:26 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/jumpdown_130.gsc b/AW/PC/animscripts/traverse/jumpdown_130.gsc similarity index 82% rename from AW/PC/SP/animscripts/traverse/jumpdown_130.gsc rename to AW/PC/animscripts/traverse/jumpdown_130.gsc index 84cd853..d403eb4 100644 --- a/AW/PC/SP/animscripts/traverse/jumpdown_130.gsc +++ b/AW/PC/animscripts/traverse/jumpdown_130.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\jumpdown_130.gsc + * Decompiled File: traverse\jumpdown_130.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 45 ms - * Timestamp: 10/27/2023 1:53:47 AM + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 1:59:27 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/jumpdown_224.gsc b/AW/PC/animscripts/traverse/jumpdown_224.gsc similarity index 79% rename from AW/PC/SP/animscripts/traverse/jumpdown_224.gsc rename to AW/PC/animscripts/traverse/jumpdown_224.gsc index 59629e8..114fea5 100644 --- a/AW/PC/SP/animscripts/traverse/jumpdown_224.gsc +++ b/AW/PC/animscripts/traverse/jumpdown_224.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\jumpdown_224.gsc + * Decompiled File: traverse\jumpdown_224.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 46 ms - * Timestamp: 10/27/2023 1:53:48 AM + * Decompile Time: 48 ms + * Timestamp: 4/22/2024 1:59:27 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/jumpdown_40.gsc b/AW/PC/animscripts/traverse/jumpdown_40.gsc similarity index 82% rename from AW/PC/SP/animscripts/traverse/jumpdown_40.gsc rename to AW/PC/animscripts/traverse/jumpdown_40.gsc index e7863ea..c6ca8df 100644 --- a/AW/PC/SP/animscripts/traverse/jumpdown_40.gsc +++ b/AW/PC/animscripts/traverse/jumpdown_40.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\jumpdown_40.gsc + * Decompiled File: traverse\jumpdown_40.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 45 ms - * Timestamp: 10/27/2023 1:53:48 AM + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 1:59:28 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/jumpdown_56.gsc b/AW/PC/animscripts/traverse/jumpdown_56.gsc similarity index 81% rename from AW/PC/SP/animscripts/traverse/jumpdown_56.gsc rename to AW/PC/animscripts/traverse/jumpdown_56.gsc index cc74cb5..4c712c1 100644 --- a/AW/PC/SP/animscripts/traverse/jumpdown_56.gsc +++ b/AW/PC/animscripts/traverse/jumpdown_56.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\jumpdown_56.gsc + * Decompiled File: traverse\jumpdown_56.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 47 ms - * Timestamp: 10/27/2023 1:53:49 AM + * Decompile Time: 54 ms + * Timestamp: 4/22/2024 1:59:28 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/jumpdown_96.gsc b/AW/PC/animscripts/traverse/jumpdown_96.gsc similarity index 82% rename from AW/PC/SP/animscripts/traverse/jumpdown_96.gsc rename to AW/PC/animscripts/traverse/jumpdown_96.gsc index 5315ff8..aa59f91 100644 --- a/AW/PC/SP/animscripts/traverse/jumpdown_96.gsc +++ b/AW/PC/animscripts/traverse/jumpdown_96.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\jumpdown_96.gsc + * Decompiled File: traverse\jumpdown_96.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 57 ms - * Timestamp: 10/27/2023 1:53:49 AM + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 1:59:28 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/ladder_down.gsc b/AW/PC/animscripts/traverse/ladder_down.gsc similarity index 79% rename from AW/PC/SP/animscripts/traverse/ladder_down.gsc rename to AW/PC/animscripts/traverse/ladder_down.gsc index c08f2da..bad4b3c 100644 --- a/AW/PC/SP/animscripts/traverse/ladder_down.gsc +++ b/AW/PC/animscripts/traverse/ladder_down.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\ladder_down.gsc + * Decompiled File: traverse\ladder_down.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:53:50 AM + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 1:59:29 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/ladder_up.gsc b/AW/PC/animscripts/traverse/ladder_up.gsc similarity index 79% rename from AW/PC/SP/animscripts/traverse/ladder_up.gsc rename to AW/PC/animscripts/traverse/ladder_up.gsc index 7a76e70..ee48b32 100644 --- a/AW/PC/SP/animscripts/traverse/ladder_up.gsc +++ b/AW/PC/animscripts/traverse/ladder_up.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\ladder_up.gsc + * Decompiled File: traverse\ladder_up.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 42 ms - * Timestamp: 10/27/2023 1:53:50 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 1:59:29 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/lag_traffic_rooftop_jump_100.gsc b/AW/PC/animscripts/traverse/lag_traffic_rooftop_jump_100.gsc similarity index 74% rename from AW/PC/SP/animscripts/traverse/lag_traffic_rooftop_jump_100.gsc rename to AW/PC/animscripts/traverse/lag_traffic_rooftop_jump_100.gsc index fb5348b..9dbc99b 100644 --- a/AW/PC/SP/animscripts/traverse/lag_traffic_rooftop_jump_100.gsc +++ b/AW/PC/animscripts/traverse/lag_traffic_rooftop_jump_100.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\lag_traffic_rooftop_jump_100.gsc + * Decompiled File: traverse\lag_traffic_rooftop_jump_100.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:53:51 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 1:59:29 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/lag_unstable_jump_long.gsc b/AW/PC/animscripts/traverse/lag_unstable_jump_long.gsc similarity index 86% rename from AW/PC/SP/animscripts/traverse/lag_unstable_jump_long.gsc rename to AW/PC/animscripts/traverse/lag_unstable_jump_long.gsc index 4bbc305..b296ded 100644 --- a/AW/PC/SP/animscripts/traverse/lag_unstable_jump_long.gsc +++ b/AW/PC/animscripts/traverse/lag_unstable_jump_long.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\lag_unstable_jump_long.gsc + * Decompiled File: traverse\lag_unstable_jump_long.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 1:53:51 AM + * Decompile Time: 37 ms + * Timestamp: 4/22/2024 1:59:30 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/lag_unstable_jump_medium.gsc b/AW/PC/animscripts/traverse/lag_unstable_jump_medium.gsc similarity index 86% rename from AW/PC/SP/animscripts/traverse/lag_unstable_jump_medium.gsc rename to AW/PC/animscripts/traverse/lag_unstable_jump_medium.gsc index 675d7de..7e08198 100644 --- a/AW/PC/SP/animscripts/traverse/lag_unstable_jump_medium.gsc +++ b/AW/PC/animscripts/traverse/lag_unstable_jump_medium.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\lag_unstable_jump_medium.gsc + * Decompiled File: traverse\lag_unstable_jump_medium.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:53:52 AM + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 1:59:30 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/lag_unstable_jump_short.gsc b/AW/PC/animscripts/traverse/lag_unstable_jump_short.gsc similarity index 86% rename from AW/PC/SP/animscripts/traverse/lag_unstable_jump_short.gsc rename to AW/PC/animscripts/traverse/lag_unstable_jump_short.gsc index af33165..c138180 100644 --- a/AW/PC/SP/animscripts/traverse/lag_unstable_jump_short.gsc +++ b/AW/PC/animscripts/traverse/lag_unstable_jump_short.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\lag_unstable_jump_short.gsc + * Decompiled File: traverse\lag_unstable_jump_short.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 1:53:52 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 1:59:30 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/landassist_jump_512_across_128_down.gsc b/AW/PC/animscripts/traverse/landassist_jump_512_across_128_down.gsc similarity index 71% rename from AW/PC/SP/animscripts/traverse/landassist_jump_512_across_128_down.gsc rename to AW/PC/animscripts/traverse/landassist_jump_512_across_128_down.gsc index 9346ae8..eddb542 100644 --- a/AW/PC/SP/animscripts/traverse/landassist_jump_512_across_128_down.gsc +++ b/AW/PC/animscripts/traverse/landassist_jump_512_across_128_down.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\landassist_jump_512_across_128_down.gsc + * Decompiled File: traverse\landassist_jump_512_across_128_down.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 1:53:53 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 1:59:31 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/mantle_over_low_cover_38.gsc b/AW/PC/animscripts/traverse/mantle_over_low_cover_38.gsc similarity index 84% rename from AW/PC/SP/animscripts/traverse/mantle_over_low_cover_38.gsc rename to AW/PC/animscripts/traverse/mantle_over_low_cover_38.gsc index c9640fd..95ef5e2 100644 --- a/AW/PC/SP/animscripts/traverse/mantle_over_low_cover_38.gsc +++ b/AW/PC/animscripts/traverse/mantle_over_low_cover_38.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\mantle_over_low_cover_38.gsc + * Decompiled File: traverse\mantle_over_low_cover_38.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 45 ms - * Timestamp: 10/27/2023 1:53:53 AM + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 1:59:31 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/mantle_over_low_cover_40.gsc b/AW/PC/animscripts/traverse/mantle_over_low_cover_40.gsc similarity index 84% rename from AW/PC/SP/animscripts/traverse/mantle_over_low_cover_40.gsc rename to AW/PC/animscripts/traverse/mantle_over_low_cover_40.gsc index 7ef9473..5a4a03a 100644 --- a/AW/PC/SP/animscripts/traverse/mantle_over_low_cover_40.gsc +++ b/AW/PC/animscripts/traverse/mantle_over_low_cover_40.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\mantle_over_low_cover_40.gsc + * Decompiled File: traverse\mantle_over_low_cover_40.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 47 ms - * Timestamp: 10/27/2023 1:53:54 AM + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 1:59:31 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/rocket_jump_128_down.gsc b/AW/PC/animscripts/traverse/rocket_jump_128_down.gsc similarity index 74% rename from AW/PC/SP/animscripts/traverse/rocket_jump_128_down.gsc rename to AW/PC/animscripts/traverse/rocket_jump_128_down.gsc index 425b4ac..d174cda 100644 --- a/AW/PC/SP/animscripts/traverse/rocket_jump_128_down.gsc +++ b/AW/PC/animscripts/traverse/rocket_jump_128_down.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\rocket_jump_128_down.gsc + * Decompiled File: traverse\rocket_jump_128_down.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:53:54 AM + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 1:59:32 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/rocket_jump_128_up.gsc b/AW/PC/animscripts/traverse/rocket_jump_128_up.gsc similarity index 74% rename from AW/PC/SP/animscripts/traverse/rocket_jump_128_up.gsc rename to AW/PC/animscripts/traverse/rocket_jump_128_up.gsc index 5de1d4c..46f1274 100644 --- a/AW/PC/SP/animscripts/traverse/rocket_jump_128_up.gsc +++ b/AW/PC/animscripts/traverse/rocket_jump_128_up.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\rocket_jump_128_up.gsc + * Decompiled File: traverse\rocket_jump_128_up.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:53:55 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 1:59:32 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/rocket_jump_160_airbrake_512.gsc b/AW/PC/animscripts/traverse/rocket_jump_160_airbrake_512.gsc similarity index 73% rename from AW/PC/SP/animscripts/traverse/rocket_jump_160_airbrake_512.gsc rename to AW/PC/animscripts/traverse/rocket_jump_160_airbrake_512.gsc index f6e4adc..add5c2b 100644 --- a/AW/PC/SP/animscripts/traverse/rocket_jump_160_airbrake_512.gsc +++ b/AW/PC/animscripts/traverse/rocket_jump_160_airbrake_512.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\rocket_jump_160_airbrake_512.gsc + * Decompiled File: traverse\rocket_jump_160_airbrake_512.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 32 ms - * Timestamp: 10/27/2023 1:53:55 AM + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 1:59:32 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/rocket_jump_256_down.gsc b/AW/PC/animscripts/traverse/rocket_jump_256_down.gsc similarity index 74% rename from AW/PC/SP/animscripts/traverse/rocket_jump_256_down.gsc rename to AW/PC/animscripts/traverse/rocket_jump_256_down.gsc index 8d9e930..6a8448f 100644 --- a/AW/PC/SP/animscripts/traverse/rocket_jump_256_down.gsc +++ b/AW/PC/animscripts/traverse/rocket_jump_256_down.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\rocket_jump_256_down.gsc + * Decompiled File: traverse\rocket_jump_256_down.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 32 ms - * Timestamp: 10/27/2023 1:53:56 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 1:59:33 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/rocket_jump_256_up.gsc b/AW/PC/animscripts/traverse/rocket_jump_256_up.gsc similarity index 74% rename from AW/PC/SP/animscripts/traverse/rocket_jump_256_up.gsc rename to AW/PC/animscripts/traverse/rocket_jump_256_up.gsc index 7573cc7..a5411c0 100644 --- a/AW/PC/SP/animscripts/traverse/rocket_jump_256_up.gsc +++ b/AW/PC/animscripts/traverse/rocket_jump_256_up.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\rocket_jump_256_up.gsc + * Decompiled File: traverse\rocket_jump_256_up.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 44 ms - * Timestamp: 10/27/2023 1:53:56 AM + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 1:59:33 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/rocket_jump_run_med.gsc b/AW/PC/animscripts/traverse/rocket_jump_run_med.gsc similarity index 74% rename from AW/PC/SP/animscripts/traverse/rocket_jump_run_med.gsc rename to AW/PC/animscripts/traverse/rocket_jump_run_med.gsc index 71e9ed8..e3f9ae4 100644 --- a/AW/PC/SP/animscripts/traverse/rocket_jump_run_med.gsc +++ b/AW/PC/animscripts/traverse/rocket_jump_run_med.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\rocket_jump_run_med.gsc + * Decompiled File: traverse\rocket_jump_run_med.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:53:57 AM + * Decompile Time: 34 ms + * Timestamp: 4/22/2024 1:59:33 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/rocket_jump_run_med_up.gsc b/AW/PC/animscripts/traverse/rocket_jump_run_med_down.gsc similarity index 71% rename from AW/PC/SP/animscripts/traverse/rocket_jump_run_med_up.gsc rename to AW/PC/animscripts/traverse/rocket_jump_run_med_down.gsc index 79e7821..2cb3777 100644 --- a/AW/PC/SP/animscripts/traverse/rocket_jump_run_med_up.gsc +++ b/AW/PC/animscripts/traverse/rocket_jump_run_med_down.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\rocket_jump_run_med_up.gsc + * Decompiled File: traverse\rocket_jump_run_med_down.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:53:57 AM + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 1:59:34 AM *******************************************************************/ //Function Number: 1 @@ -13,6 +13,6 @@ main() { if(self.canjumppath) { - animscripts\traverse\boost::rocket_jump_human(%g_rocket_jump_run_med_up); + animscripts\traverse\boost::rocket_jump_human(%g_rocket_jump_run_med_down); } } \ No newline at end of file diff --git a/AW/PC/SP/animscripts/traverse/rocket_jump_run_med_down.gsc b/AW/PC/animscripts/traverse/rocket_jump_run_med_up.gsc similarity index 76% rename from AW/PC/SP/animscripts/traverse/rocket_jump_run_med_down.gsc rename to AW/PC/animscripts/traverse/rocket_jump_run_med_up.gsc index 72c688e..9a9f52e 100644 --- a/AW/PC/SP/animscripts/traverse/rocket_jump_run_med_down.gsc +++ b/AW/PC/animscripts/traverse/rocket_jump_run_med_up.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\rocket_jump_run_med_down.gsc + * Decompiled File: traverse\rocket_jump_run_med_up.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 * Decompile Time: 29 ms - * Timestamp: 10/27/2023 1:53:57 AM + * Timestamp: 4/22/2024 1:59:34 AM *******************************************************************/ //Function Number: 1 @@ -13,6 +13,6 @@ main() { if(self.canjumppath) { - animscripts\traverse\boost::rocket_jump_human(%g_rocket_jump_run_med_down); + animscripts\traverse\boost::rocket_jump_human(%g_rocket_jump_run_med_up); } } \ No newline at end of file diff --git a/AW/PC/SP/animscripts/traverse/rocket_jump_run_short.gsc b/AW/PC/animscripts/traverse/rocket_jump_run_short.gsc similarity index 74% rename from AW/PC/SP/animscripts/traverse/rocket_jump_run_short.gsc rename to AW/PC/animscripts/traverse/rocket_jump_run_short.gsc index d712e6f..b4d0ab2 100644 --- a/AW/PC/SP/animscripts/traverse/rocket_jump_run_short.gsc +++ b/AW/PC/animscripts/traverse/rocket_jump_run_short.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\rocket_jump_run_short.gsc + * Decompiled File: traverse\rocket_jump_run_short.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 32 ms - * Timestamp: 10/27/2023 1:53:58 AM + * Decompile Time: 29 ms + * Timestamp: 4/22/2024 1:59:34 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/rocket_jump_run_short_down.gsc b/AW/PC/animscripts/traverse/rocket_jump_run_short_down.gsc similarity index 73% rename from AW/PC/SP/animscripts/traverse/rocket_jump_run_short_down.gsc rename to AW/PC/animscripts/traverse/rocket_jump_run_short_down.gsc index 5265c81..4cdfbc8 100644 --- a/AW/PC/SP/animscripts/traverse/rocket_jump_run_short_down.gsc +++ b/AW/PC/animscripts/traverse/rocket_jump_run_short_down.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\rocket_jump_run_short_down.gsc + * Decompiled File: traverse\rocket_jump_run_short_down.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:53:58 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 1:59:35 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/rocket_jump_run_short_up.gsc b/AW/PC/animscripts/traverse/rocket_jump_run_short_up.gsc similarity index 74% rename from AW/PC/SP/animscripts/traverse/rocket_jump_run_short_up.gsc rename to AW/PC/animscripts/traverse/rocket_jump_run_short_up.gsc index d4c5286..ffb589e 100644 --- a/AW/PC/SP/animscripts/traverse/rocket_jump_run_short_up.gsc +++ b/AW/PC/animscripts/traverse/rocket_jump_run_short_up.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\rocket_jump_run_short_up.gsc + * Decompiled File: traverse\rocket_jump_run_short_up.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:53:59 AM + * Decompile Time: 34 ms + * Timestamp: 4/22/2024 1:59:35 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/seoul_jump_landassist.gsc b/AW/PC/animscripts/traverse/seoul_jump_landassist.gsc similarity index 97% rename from AW/PC/SP/animscripts/traverse/seoul_jump_landassist.gsc rename to AW/PC/animscripts/traverse/seoul_jump_landassist.gsc index 463dae1..47bc42a 100644 --- a/AW/PC/SP/animscripts/traverse/seoul_jump_landassist.gsc +++ b/AW/PC/animscripts/traverse/seoul_jump_landassist.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\seoul_jump_landassist.gsc + * Decompiled File: traverse\seoul_jump_landassist.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 4 - * Decompile Time: 77 ms - * Timestamp: 10/27/2023 1:54:00 AM + * Decompile Time: 67 ms + * Timestamp: 4/22/2024 1:59:36 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/seoul_zipline.gsc b/AW/PC/animscripts/traverse/seoul_zipline.gsc similarity index 99% rename from AW/PC/SP/animscripts/traverse/seoul_zipline.gsc rename to AW/PC/animscripts/traverse/seoul_zipline.gsc index 7e24e58..462f2ac 100644 --- a/AW/PC/SP/animscripts/traverse/seoul_zipline.gsc +++ b/AW/PC/animscripts/traverse/seoul_zipline.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\seoul_zipline.gsc + * Decompiled File: traverse\seoul_zipline.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 30 - * Decompile Time: 504 ms - * Timestamp: 10/27/2023 1:54:01 AM + * Decompile Time: 506 ms + * Timestamp: 4/22/2024 1:59:37 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/shared.gsc b/AW/PC/animscripts/traverse/shared.gsc similarity index 99% rename from AW/PC/SP/animscripts/traverse/shared.gsc rename to AW/PC/animscripts/traverse/shared.gsc index dc786d6..62e6019 100644 --- a/AW/PC/SP/animscripts/traverse/shared.gsc +++ b/AW/PC/animscripts/traverse/shared.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\shared.gsc + * Decompiled File: traverse\shared.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 20 - * Decompile Time: 352 ms - * Timestamp: 10/27/2023 1:54:03 AM + * Decompile Time: 330 ms + * Timestamp: 4/22/2024 1:59:39 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/slide_across_car.gsc b/AW/PC/animscripts/traverse/slide_across_car.gsc similarity index 92% rename from AW/PC/SP/animscripts/traverse/slide_across_car.gsc rename to AW/PC/animscripts/traverse/slide_across_car.gsc index a78b9ab..723f1ec 100644 --- a/AW/PC/SP/animscripts/traverse/slide_across_car.gsc +++ b/AW/PC/animscripts/traverse/slide_across_car.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\slide_across_car.gsc + * Decompiled File: traverse\slide_across_car.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 60 ms - * Timestamp: 10/27/2023 1:54:03 AM + * Decompile Time: 65 ms + * Timestamp: 4/22/2024 1:59:39 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/step_down_24.gsc b/AW/PC/animscripts/traverse/step_down_24.gsc similarity index 82% rename from AW/PC/SP/animscripts/traverse/step_down_24.gsc rename to AW/PC/animscripts/traverse/step_down_24.gsc index a81985d..c80fe6d 100644 --- a/AW/PC/SP/animscripts/traverse/step_down_24.gsc +++ b/AW/PC/animscripts/traverse/step_down_24.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\step_down_24.gsc + * Decompiled File: traverse\step_down_24.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 47 ms - * Timestamp: 10/27/2023 1:54:04 AM + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 1:59:40 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/step_up_12.gsc b/AW/PC/animscripts/traverse/step_up_12.gsc similarity index 85% rename from AW/PC/SP/animscripts/traverse/step_up_12.gsc rename to AW/PC/animscripts/traverse/step_up_12.gsc index bd47cd4..ca11bb8 100644 --- a/AW/PC/SP/animscripts/traverse/step_up_12.gsc +++ b/AW/PC/animscripts/traverse/step_up_12.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\step_up_12.gsc + * Decompiled File: traverse\step_up_12.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 1:54:04 AM + * Decompile Time: 36 ms + * Timestamp: 4/22/2024 1:59:40 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/step_up_24.gsc b/AW/PC/animscripts/traverse/step_up_24.gsc similarity index 83% rename from AW/PC/SP/animscripts/traverse/step_up_24.gsc rename to AW/PC/animscripts/traverse/step_up_24.gsc index 533a500..908ac28 100644 --- a/AW/PC/SP/animscripts/traverse/step_up_24.gsc +++ b/AW/PC/animscripts/traverse/step_up_24.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\step_up_24.gsc + * Decompiled File: traverse\step_up_24.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 46 ms - * Timestamp: 10/27/2023 1:54:05 AM + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 1:59:41 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/step_up_32.gsc b/AW/PC/animscripts/traverse/step_up_32.gsc similarity index 83% rename from AW/PC/SP/animscripts/traverse/step_up_32.gsc rename to AW/PC/animscripts/traverse/step_up_32.gsc index 8097180..66958b0 100644 --- a/AW/PC/SP/animscripts/traverse/step_up_32.gsc +++ b/AW/PC/animscripts/traverse/step_up_32.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\step_up_32.gsc + * Decompiled File: traverse\step_up_32.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 46 ms - * Timestamp: 10/27/2023 1:54:05 AM + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 1:59:41 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/stepup_112.gsc b/AW/PC/animscripts/traverse/stepup_112.gsc similarity index 79% rename from AW/PC/SP/animscripts/traverse/stepup_112.gsc rename to AW/PC/animscripts/traverse/stepup_112.gsc index c5606d2..85f3d39 100644 --- a/AW/PC/SP/animscripts/traverse/stepup_112.gsc +++ b/AW/PC/animscripts/traverse/stepup_112.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\stepup_112.gsc + * Decompiled File: traverse\stepup_112.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 46 ms - * Timestamp: 10/27/2023 1:54:06 AM + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 1:59:41 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/stepup_112_over_32.gsc b/AW/PC/animscripts/traverse/stepup_112_over_32.gsc similarity index 79% rename from AW/PC/SP/animscripts/traverse/stepup_112_over_32.gsc rename to AW/PC/animscripts/traverse/stepup_112_over_32.gsc index 35c5777..c1ed12d 100644 --- a/AW/PC/SP/animscripts/traverse/stepup_112_over_32.gsc +++ b/AW/PC/animscripts/traverse/stepup_112_over_32.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\stepup_112_over_32.gsc + * Decompiled File: traverse\stepup_112_over_32.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 45 ms - * Timestamp: 10/27/2023 1:54:06 AM + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 1:59:42 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/stepup_38.gsc b/AW/PC/animscripts/traverse/stepup_38.gsc similarity index 84% rename from AW/PC/SP/animscripts/traverse/stepup_38.gsc rename to AW/PC/animscripts/traverse/stepup_38.gsc index b5f8258..1b2ccd6 100644 --- a/AW/PC/SP/animscripts/traverse/stepup_38.gsc +++ b/AW/PC/animscripts/traverse/stepup_38.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\stepup_38.gsc + * Decompiled File: traverse\stepup_38.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 54 ms - * Timestamp: 10/27/2023 1:54:07 AM + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 1:59:42 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/stepup_52.gsc b/AW/PC/animscripts/traverse/stepup_52.gsc similarity index 82% rename from AW/PC/SP/animscripts/traverse/stepup_52.gsc rename to AW/PC/animscripts/traverse/stepup_52.gsc index 0425106..0a4f122 100644 --- a/AW/PC/SP/animscripts/traverse/stepup_52.gsc +++ b/AW/PC/animscripts/traverse/stepup_52.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\stepup_52.gsc + * Decompiled File: traverse\stepup_52.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 47 ms - * Timestamp: 10/27/2023 1:54:07 AM + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 1:59:42 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/stepup_52_fast.gsc b/AW/PC/animscripts/traverse/stepup_52_fast.gsc similarity index 82% rename from AW/PC/SP/animscripts/traverse/stepup_52_fast.gsc rename to AW/PC/animscripts/traverse/stepup_52_fast.gsc index f51fdc6..d9e8804 100644 --- a/AW/PC/SP/animscripts/traverse/stepup_52_fast.gsc +++ b/AW/PC/animscripts/traverse/stepup_52_fast.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\stepup_52_fast.gsc + * Decompiled File: traverse\stepup_52_fast.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 46 ms - * Timestamp: 10/27/2023 1:54:08 AM + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 1:59:43 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/walk_casual.gsc b/AW/PC/animscripts/traverse/walk_casual.gsc similarity index 77% rename from AW/PC/SP/animscripts/traverse/walk_casual.gsc rename to AW/PC/animscripts/traverse/walk_casual.gsc index b623103..8a68890 100644 --- a/AW/PC/SP/animscripts/traverse/walk_casual.gsc +++ b/AW/PC/animscripts/traverse/walk_casual.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\walk_casual.gsc + * Decompiled File: traverse\walk_casual.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 32 ms - * Timestamp: 10/27/2023 1:54:09 AM + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 1:59:43 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/animscripts/traverse/wall_climb_90.gsc b/AW/PC/animscripts/traverse/wall_climb_90.gsc new file mode 100644 index 0000000..249885f --- /dev/null +++ b/AW/PC/animscripts/traverse/wall_climb_90.gsc @@ -0,0 +1,79 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: traverse\wall_climb_90.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 56 ms + * Timestamp: 4/22/2024 1:59:44 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.traversedeath = 1; + advancedtraverse2(%traverse90,90); +} + +//Function Number: 2 +advancedtraverse2(param_00,param_01) +{ + self.desired_anim_pose = "crouch"; + animscripts\utility::updateanimpose(); + self endon("killanimscript"); + self traversemode("nogravity"); + self traversemode("noclip"); + var_02 = self getnegotiationstartnode(); + self orientmode("face angle",var_02.angles[1]); + var_03 = var_02.traverse_height - var_02.origin[2]; + thread animscripts\traverse\shared::teleportthread(var_03 - param_01); + self setflaggedanimknoballrestart("traverse",param_00,%body,1,0.15,1); + var_04 = gettime(); + thread animscripts\notetracks::donotetracksforever("traverse","no clear",::handle_death); + if(!animhasnotetrack(param_00,"gravity on")) + { + var_04 = 1.23; + var_05 = 0.2; + wait(5.9); + self traversemode("gravity"); + wait(var_05); + return; + } + + self waittillmatch("gravity on","traverse"); + self traversemode("gravity"); + if(!animhasnotetrack(param_00,"blend")) + { + wait(0.2); + return; + } + + self waittillmatch("blend","traverse"); +} + +//Function Number: 3 +handle_death(param_00) +{ + if(param_00 != "traverse_death") + { + return; + } + + self endon("killanimscript"); + if(self.health == 1) + { + self.a.nodeath = 1; + if(self.traversedeath > 1) + { + self setflaggedanimknoball("deathanim",%traverse90_end_death,%body,1,0.2,1); + } + else + { + self setflaggedanimknoball("deathanim",%traverse90_start_death,%body,1,0.2,1); + } + + animscripts\face::saygenericdialogue("death"); + } + + self.traversedeath++; +} \ No newline at end of file diff --git a/AW/PC/SP/animscripts/traverse/wall_hop.gsc b/AW/PC/animscripts/traverse/wall_hop.gsc similarity index 86% rename from AW/PC/SP/animscripts/traverse/wall_hop.gsc rename to AW/PC/animscripts/traverse/wall_hop.gsc index 522f8a4..5fb272a 100644 --- a/AW/PC/SP/animscripts/traverse/wall_hop.gsc +++ b/AW/PC/animscripts/traverse/wall_hop.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\wall_hop.gsc + * Decompiled File: traverse\wall_hop.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 45 ms - * Timestamp: 10/27/2023 1:54:09 AM + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 1:59:44 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/wall_over_40.gsc b/AW/PC/animscripts/traverse/wall_over_40.gsc similarity index 88% rename from AW/PC/SP/animscripts/traverse/wall_over_40.gsc rename to AW/PC/animscripts/traverse/wall_over_40.gsc index 61822f4..1a55f67 100644 --- a/AW/PC/SP/animscripts/traverse/wall_over_40.gsc +++ b/AW/PC/animscripts/traverse/wall_over_40.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\wall_over_40.gsc + * Decompiled File: traverse\wall_over_40.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 46 ms - * Timestamp: 10/27/2023 1:54:10 AM + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 1:59:44 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/wall_over_96.gsc b/AW/PC/animscripts/traverse/wall_over_96.gsc similarity index 93% rename from AW/PC/SP/animscripts/traverse/wall_over_96.gsc rename to AW/PC/animscripts/traverse/wall_over_96.gsc index adb445b..bffe4c5 100644 --- a/AW/PC/SP/animscripts/traverse/wall_over_96.gsc +++ b/AW/PC/animscripts/traverse/wall_over_96.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\wall_over_96.gsc + * Decompiled File: traverse\wall_over_96.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 61 ms - * Timestamp: 10/27/2023 1:54:10 AM + * Decompile Time: 56 ms + * Timestamp: 4/22/2024 1:59:45 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/window.gsc b/AW/PC/animscripts/traverse/window.gsc similarity index 86% rename from AW/PC/SP/animscripts/traverse/window.gsc rename to AW/PC/animscripts/traverse/window.gsc index 7e69c44..4035260 100644 --- a/AW/PC/SP/animscripts/traverse/window.gsc +++ b/AW/PC/animscripts/traverse/window.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\window.gsc + * Decompiled File: traverse\window.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:54:11 AM + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 1:59:45 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/window_2.gsc b/AW/PC/animscripts/traverse/window_2.gsc similarity index 90% rename from AW/PC/SP/animscripts/traverse/window_2.gsc rename to AW/PC/animscripts/traverse/window_2.gsc index d606f41..dc89d30 100644 --- a/AW/PC/SP/animscripts/traverse/window_2.gsc +++ b/AW/PC/animscripts/traverse/window_2.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\window_2.gsc + * Decompiled File: traverse\window_2.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 47 ms - * Timestamp: 10/27/2023 1:54:11 AM + * Decompile Time: 50 ms + * Timestamp: 4/22/2024 1:59:46 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/window_divethrough_36.gsc b/AW/PC/animscripts/traverse/window_divethrough_36.gsc similarity index 83% rename from AW/PC/SP/animscripts/traverse/window_divethrough_36.gsc rename to AW/PC/animscripts/traverse/window_divethrough_36.gsc index 78a6aed..4eb10d9 100644 --- a/AW/PC/SP/animscripts/traverse/window_divethrough_36.gsc +++ b/AW/PC/animscripts/traverse/window_divethrough_36.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\window_divethrough_36.gsc + * Decompiled File: traverse\window_divethrough_36.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 45 ms - * Timestamp: 10/27/2023 1:54:12 AM + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 1:59:46 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/window_down.gsc b/AW/PC/animscripts/traverse/window_down.gsc similarity index 94% rename from AW/PC/SP/animscripts/traverse/window_down.gsc rename to AW/PC/animscripts/traverse/window_down.gsc index 6094cef..373b1b9 100644 --- a/AW/PC/SP/animscripts/traverse/window_down.gsc +++ b/AW/PC/animscripts/traverse/window_down.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\window_down.gsc + * Decompiled File: traverse\window_down.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 4 - * Decompile Time: 80 ms - * Timestamp: 10/27/2023 1:54:12 AM + * Decompile Time: 70 ms + * Timestamp: 4/22/2024 1:59:46 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/window_over_40.gsc b/AW/PC/animscripts/traverse/window_over_40.gsc similarity index 88% rename from AW/PC/SP/animscripts/traverse/window_over_40.gsc rename to AW/PC/animscripts/traverse/window_over_40.gsc index 2bb75e6..ed9660c 100644 --- a/AW/PC/SP/animscripts/traverse/window_over_40.gsc +++ b/AW/PC/animscripts/traverse/window_over_40.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\window_over_40.gsc + * Decompiled File: traverse\window_over_40.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 45 ms - * Timestamp: 10/27/2023 1:54:13 AM + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 1:59:47 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/animscripts/traverse/window_over_quick.gsc b/AW/PC/animscripts/traverse/window_over_quick.gsc similarity index 87% rename from AW/PC/SP/animscripts/traverse/window_over_quick.gsc rename to AW/PC/animscripts/traverse/window_over_quick.gsc index 8b99ea6..2f68eee 100644 --- a/AW/PC/SP/animscripts/traverse/window_over_quick.gsc +++ b/AW/PC/animscripts/traverse/window_over_quick.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\traverse\window_over_quick.gsc + * Decompiled File: traverse\window_over_quick.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 45 ms - * Timestamp: 10/27/2023 1:54:13 AM + * Decompile Time: 51 ms + * Timestamp: 4/22/2024 1:59:47 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/animscripts/turret/zipline_gun.gsc b/AW/PC/animscripts/turret/zipline_gun.gsc new file mode 100644 index 0000000..54925b8 --- /dev/null +++ b/AW/PC/animscripts/turret/zipline_gun.gsc @@ -0,0 +1,34 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: turret\zipline_gun.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 1:59:47 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.a.movement = "stop"; + var_00 = self getturret(); + var_01 = 0; + if(issubstr(var_00.model,"_left")) + { + var_01 = 1; + } + + if(var_01) + { + self.primaryturretanim = %ziplinegunnerleft_aim; + } + else + { + self.primaryturretanim = %ziplinegunnerright_aim; + } + + self clearanim(%body,0.2); + self setturretanim(self.primaryturretanim); + self setanimknobrestart(self.primaryturretanim,1,0.2,1); +} \ No newline at end of file diff --git a/AW/PC/SP/animscripts/utility.gsc b/AW/PC/animscripts/utility.gsc similarity index 96% rename from AW/PC/SP/animscripts/utility.gsc rename to AW/PC/animscripts/utility.gsc index 12d85b8..ab0edec 100644 --- a/AW/PC/SP/animscripts/utility.gsc +++ b/AW/PC/animscripts/utility.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\utility.gsc + * Decompiled File: utility.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 157 - * Decompile Time: 2517 ms - * Timestamp: 10/27/2023 1:55:48 AM + * Decompile Time: 2241 ms + * Timestamp: 4/22/2024 2:01:11 AM *******************************************************************/ //Function Number: 1 @@ -458,17 +458,68 @@ choosepose(param_00) switch(param_00) { case "stand": + if(isstanceallowedwrapper("stand")) + { + var_01 = "stand"; + } + else if(isstanceallowedwrapper("crouch")) + { + var_01 = "crouch"; + } + else if(isstanceallowedwrapper("prone")) + { + var_01 = "prone"; + } + else + { + var_01 = "stand"; + } break; case "crouch": + if(isstanceallowedwrapper("crouch")) + { + var_01 = "crouch"; + } + else if(isstanceallowedwrapper("stand")) + { + var_01 = "stand"; + } + else if(isstanceallowedwrapper("prone")) + { + var_01 = "prone"; + } + else + { + var_01 = "crouch"; + } break; case "prone": + if(isstanceallowedwrapper("prone")) + { + var_01 = "prone"; + } + else if(isstanceallowedwrapper("crouch")) + { + var_01 = "crouch"; + } + else if(isstanceallowedwrapper("stand")) + { + var_01 = "stand"; + } + else + { + var_01 = "prone"; + } break; default: + var_01 = "stand"; break; } + + return var_01; } //Function Number: 27 @@ -1092,22 +1143,43 @@ getnodeoffset(param_00,param_01) { case "Cover Left": case "Cover Left 3D": + if(param_00 gethighestnodestance() == "crouch") + { + var_09 = calculatenodeoffset(var_0A,var_0B,var_02); + } + else + { + var_09 = calculatenodeoffset(var_0A,var_0B,var_03); + } break; case "Cover Right": case "Cover Right 3D": + if(param_00 gethighestnodestance() == "crouch") + { + var_09 = calculatenodeoffset(var_0A,var_0B,var_04); + } + else + { + var_09 = calculatenodeoffset(var_0A,var_0B,var_05); + } break; case "Turret": case "Cover Stand": case "Conceal Stand": + var_09 = calculatenodeoffset(var_0A,var_0B,var_07); break; case "Cover Crouch Window": case "Cover Crouch": case "Conceal Crouch": + var_09 = calculatenodeoffset(var_0A,var_0B,var_06); break; } + + param_00.offset = var_09; + return param_00.offset; } //Function Number: 68 @@ -1264,16 +1336,16 @@ getcovermultipretendtype(param_00,param_01) switch(param_01) { case "right": - break; + return "Cover Right"; case "left": - break; + return "Cover Left"; case "stand": - break; + return "Cover Stand"; case "crouch": - break; + return "Cover Crouch"; default: break; @@ -2322,8 +2394,10 @@ usingriflelikeweapon() case "smg": case "spread": case "mg": - break; + return 1; } + + return 0; } //Function Number: 131 diff --git a/AW/PC/SP/animscripts/walk.gsc b/AW/PC/animscripts/walk.gsc similarity index 85% rename from AW/PC/SP/animscripts/walk.gsc rename to AW/PC/animscripts/walk.gsc index f6b06ed..cfcde2b 100644 --- a/AW/PC/SP/animscripts/walk.gsc +++ b/AW/PC/animscripts/walk.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\walk.gsc + * Decompiled File: walk.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 4 - * Decompile Time: 75 ms - * Timestamp: 10/27/2023 1:55:49 AM + * Decompile Time: 67 ms + * Timestamp: 4/22/2024 2:01:11 AM *******************************************************************/ //Function Number: 1 @@ -21,12 +21,37 @@ movewalk() switch(var_01) { case "stand": + if(animscripts\setposemovement::standwalk_begin()) + { + return; + } + + if(isdefined(self.walk_overrideanim)) + { + animscripts\move::movestand_moveoverride(self.walk_overrideanim,self.walk_override_weights); + return; + } + + dowalkanim(getwalkanim("straight")); break; case "crouch": + if(animscripts\setposemovement::crouchwalk_begin()) + { + return; + } + + dowalkanim(getwalkanim("crouch")); break; default: + if(animscripts\setposemovement::pronewalk_begin()) + { + return; + } + + self.a.movement = "walk"; + dowalkanim(getwalkanim("prone")); break; } } diff --git a/AW/PC/SP/animscripts/weaponlist.gsc b/AW/PC/animscripts/weaponlist.gsc similarity index 94% rename from AW/PC/SP/animscripts/weaponlist.gsc rename to AW/PC/animscripts/weaponlist.gsc index 55811e4..2d21721 100644 --- a/AW/PC/SP/animscripts/weaponlist.gsc +++ b/AW/PC/animscripts/weaponlist.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\weaponlist.gsc + * Decompiled File: weaponlist.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 9 - * Decompile Time: 157 ms - * Timestamp: 10/27/2023 1:55:50 AM + * Decompile Time: 143 ms + * Timestamp: 4/22/2024 2:01:12 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/character/character_atlas_ar.gsc b/AW/PC/character/character_atlas_ar.gsc new file mode 100644 index 0000000..b69f071 --- /dev/null +++ b/AW/PC/character/character_atlas_ar.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_atlas_ar.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:01:16 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("atlas_body"); + codescripts\character::attachhead("alias_enemy_atlas_heads",xmodelalias\alias_enemy_atlas_heads::main()); + self.voice = "atlas"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("atlas_body"); + codescripts\character::precachemodelarray(xmodelalias\alias_enemy_atlas_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_atlas_arctic_ar.gsc b/AW/PC/character/character_atlas_arctic_ar.gsc new file mode 100644 index 0000000..eb9a552 --- /dev/null +++ b/AW/PC/character/character_atlas_arctic_ar.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_atlas_arctic_ar.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 38 ms + * Timestamp: 4/22/2024 2:01:17 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("atlas_arctic_body"); + codescripts\character::attachhead("alias_enemy_atlas_arctic_heads",xmodelalias\alias_enemy_atlas_arctic_heads::main()); + self.voice = "atlas"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("atlas_arctic_body"); + codescripts\character::precachemodelarray(xmodelalias\alias_enemy_atlas_arctic_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_atlas_arctic_smg.gsc b/AW/PC/character/character_atlas_arctic_smg.gsc new file mode 100644 index 0000000..1cc3acb --- /dev/null +++ b/AW/PC/character/character_atlas_arctic_smg.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_atlas_arctic_smg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:01:17 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("atlas_arctic_body"); + codescripts\character::attachhead("alias_enemy_atlas_arctic_heads",xmodelalias\alias_enemy_atlas_arctic_heads::main()); + self.voice = "atlas"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("atlas_arctic_body"); + codescripts\character::precachemodelarray(xmodelalias\alias_enemy_atlas_arctic_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_atlas_bodyguard_smg.gsc b/AW/PC/character/character_atlas_bodyguard_smg.gsc new file mode 100644 index 0000000..96e5892 --- /dev/null +++ b/AW/PC/character/character_atlas_bodyguard_smg.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_atlas_bodyguard_smg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:01:17 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_urban_male_body_g"); + codescripts\character::attachhead("alias_atlas_bodyguard_heads",xmodelalias\alias_atlas_bodyguard_heads::main()); + self.voice = "secretservice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_urban_male_body_g"); + codescripts\character::precachemodelarray(xmodelalias\alias_atlas_bodyguard_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_atlas_elete.gsc b/AW/PC/character/character_atlas_elete.gsc new file mode 100644 index 0000000..2f378dc --- /dev/null +++ b/AW/PC/character/character_atlas_elete.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_atlas_elete.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 2:01:17 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("atlas_elite_body"); + codescripts\character::attachhead("alias_enemy_atlas_elite_heads",xmodelalias\alias_enemy_atlas_elite_heads::main()); + self.voice = "atlas"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("atlas_elite_body"); + codescripts\character::precachemodelarray(xmodelalias\alias_enemy_atlas_elite_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_atlas_mech_pilot.gsc b/AW/PC/character/character_atlas_mech_pilot.gsc new file mode 100644 index 0000000..565a11e --- /dev/null +++ b/AW/PC/character/character_atlas_mech_pilot.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_atlas_mech_pilot.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 2:01:18 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("atlas_body_noexo"); + self attach("npc_exo_armor_atlas_head_captured","",1); + self.headmodel = "npc_exo_armor_atlas_head_captured"; + self.voice = "atlas"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("atlas_body_noexo"); + precachemodel("npc_exo_armor_atlas_head_captured"); +} \ No newline at end of file diff --git a/AW/PC/character/character_atlas_noexo.gsc b/AW/PC/character/character_atlas_noexo.gsc new file mode 100644 index 0000000..a7027f8 --- /dev/null +++ b/AW/PC/character/character_atlas_noexo.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_atlas_noexo.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:01:18 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("atlas_body_noexo"); + codescripts\character::attachhead("alias_enemy_atlas_heads",xmodelalias\alias_enemy_atlas_heads::main()); + self.voice = "atlas"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("atlas_body_noexo"); + codescripts\character::precachemodelarray(xmodelalias\alias_enemy_atlas_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_atlas_pmc_estate_smg.gsc b/AW/PC/character/character_atlas_pmc_estate_smg.gsc new file mode 100644 index 0000000..701aa9a --- /dev/null +++ b/AW/PC/character/character_atlas_pmc_estate_smg.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_atlas_pmc_estate_smg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 30 ms + * Timestamp: 4/22/2024 2:01:18 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("atlas_pmc_body_noexo"); + codescripts\character::attachhead("alias_pmc_casual_heads",xmodelalias\alias_pmc_casual_heads::main()); + self.voice = "secretservice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("atlas_pmc_body_noexo"); + codescripts\character::precachemodelarray(xmodelalias\alias_pmc_casual_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_atlas_security_ar.gsc b/AW/PC/character/character_atlas_security_ar.gsc new file mode 100644 index 0000000..0d78c60 --- /dev/null +++ b/AW/PC/character/character_atlas_security_ar.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_atlas_security_ar.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:01:19 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("atlas_security"); + self attach("atlas_security_head_a","",1); + self.headmodel = "atlas_security_head_a"; + self.voice = "atlas"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("atlas_security"); + precachemodel("atlas_security_head_a"); +} \ No newline at end of file diff --git a/AW/PC/character/character_atlas_smg.gsc b/AW/PC/character/character_atlas_smg.gsc new file mode 100644 index 0000000..69df4d6 --- /dev/null +++ b/AW/PC/character/character_atlas_smg.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_atlas_smg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 31 ms + * Timestamp: 4/22/2024 2:01:19 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("atlas_body"); + codescripts\character::attachhead("alias_enemy_atlas_heads",xmodelalias\alias_enemy_atlas_heads::main()); + self.voice = "atlas"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("atlas_body"); + codescripts\character::precachemodelarray(xmodelalias\alias_enemy_atlas_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_atlas_smg_lowlod.gsc b/AW/PC/character/character_atlas_smg_lowlod.gsc new file mode 100644 index 0000000..15fb6d6 --- /dev/null +++ b/AW/PC/character/character_atlas_smg_lowlod.gsc @@ -0,0 +1,23 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_atlas_smg_lowlod.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:01:19 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("atlas_body_all"); + self.voice = "atlas"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("atlas_body_all"); +} \ No newline at end of file diff --git a/AW/PC/character/character_casual_irons.gsc b/AW/PC/character/character_casual_irons.gsc new file mode 100644 index 0000000..94e3ebe --- /dev/null +++ b/AW/PC/character/character_casual_irons.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_casual_irons.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 31 ms + * Timestamp: 4/22/2024 2:01:20 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("irons_casual"); + self attach("head_hero_irons_blend","",1); + self.headmodel = "head_hero_irons_blend"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("irons_casual"); + precachemodel("head_hero_irons_blend"); +} \ No newline at end of file diff --git a/AW/PC/character/character_casual_irons_bet_holo.gsc b/AW/PC/character/character_casual_irons_bet_holo.gsc new file mode 100644 index 0000000..ed6e9a2 --- /dev/null +++ b/AW/PC/character/character_casual_irons_bet_holo.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_casual_irons_bet_holo.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:01:20 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("irons_casual"); + self attach("head_hero_irons_holo_blend","",1); + self.headmodel = "head_hero_irons_holo_blend"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("irons_casual"); + precachemodel("head_hero_irons_holo_blend"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_afr_dark_female_casual.gsc b/AW/PC/character/character_civ_afr_dark_female_casual.gsc new file mode 100644 index 0000000..0e7337e --- /dev/null +++ b/AW/PC/character/character_civ_afr_dark_female_casual.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_afr_dark_female_casual.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 30 ms + * Timestamp: 4/22/2024 2:01:20 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_afr_drk_female_bodies_cas::main()); + codescripts\character::attachhead("alias_civ_afr_drk_female_heads",xmodelalias\alias_civ_afr_drk_female_heads::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_afr_drk_female_bodies_cas::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_afr_drk_female_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_afr_dark_female_dress.gsc b/AW/PC/character/character_civ_afr_dark_female_dress.gsc new file mode 100644 index 0000000..57a88b7 --- /dev/null +++ b/AW/PC/character/character_civ_afr_dark_female_dress.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_afr_dark_female_dress.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 29 ms + * Timestamp: 4/22/2024 2:01:20 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_afr_drk_female_bodies_drs::main()); + codescripts\character::attachhead("alias_civ_afr_drk_female_heads",xmodelalias\alias_civ_afr_drk_female_heads::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_afr_drk_female_bodies_drs::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_afr_drk_female_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_afr_dark_male_casual.gsc b/AW/PC/character/character_civ_afr_dark_male_casual.gsc new file mode 100644 index 0000000..40661d4 --- /dev/null +++ b/AW/PC/character/character_civ_afr_dark_male_casual.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_afr_dark_male_casual.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:01:21 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_afr_dark_male_bodies_casual::main()); + codescripts\character::attachhead("alias_civ_afr_dark_male_heads",xmodelalias\alias_civ_afr_dark_male_heads::main()); + self.voice = "african"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_afr_dark_male_bodies_casual::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_afr_dark_male_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_afr_dark_male_dress.gsc b/AW/PC/character/character_civ_afr_dark_male_dress.gsc new file mode 100644 index 0000000..c081da0 --- /dev/null +++ b/AW/PC/character/character_civ_afr_dark_male_dress.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_afr_dark_male_dress.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 30 ms + * Timestamp: 4/22/2024 2:01:21 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_afr_dark_male_bodies_dress::main()); + codescripts\character::attachhead("alias_civ_afr_dark_male_heads",xmodelalias\alias_civ_afr_dark_male_heads::main()); + self.voice = "african"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_afr_dark_male_bodies_dress::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_afr_dark_male_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_afr_drk_female_cas.gsc b/AW/PC/character/character_civ_afr_drk_female_cas.gsc new file mode 100644 index 0000000..a3f844a --- /dev/null +++ b/AW/PC/character/character_civ_afr_drk_female_cas.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_afr_drk_female_cas.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:01:21 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_afr_drk_female_bodies_cas::main()); + codescripts\character::attachhead("alias_civ_afr_drk_female_heads",xmodelalias\alias_civ_afr_drk_female_heads::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_afr_drk_female_bodies_cas::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_afr_drk_female_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_afr_lgt_female_cas.gsc b/AW/PC/character/character_civ_afr_lgt_female_cas.gsc new file mode 100644 index 0000000..0de4383 --- /dev/null +++ b/AW/PC/character/character_civ_afr_lgt_female_cas.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_afr_lgt_female_cas.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:01:22 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_afr_lgt_female_bodies_cas::main()); + codescripts\character::attachhead("alias_civ_afr_lgt_female_heads",xmodelalias\alias_civ_afr_lgt_female_heads::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_afr_lgt_female_bodies_cas::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_afr_lgt_female_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_afr_light_fem_drs_sml.gsc b/AW/PC/character/character_civ_afr_light_fem_drs_sml.gsc new file mode 100644 index 0000000..1150d41 --- /dev/null +++ b/AW/PC/character/character_civ_afr_light_fem_drs_sml.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_afr_light_fem_drs_sml.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 37 ms + * Timestamp: 4/22/2024 2:01:22 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_afr_lgt_fem_bod_drs_sml::main()); + codescripts\character::attachhead("alias_civ_afr_lgt_female_heads",xmodelalias\alias_civ_afr_lgt_female_heads::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_afr_lgt_fem_bod_drs_sml::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_afr_lgt_female_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_afr_light_female_casual.gsc b/AW/PC/character/character_civ_afr_light_female_casual.gsc new file mode 100644 index 0000000..828a546 --- /dev/null +++ b/AW/PC/character/character_civ_afr_light_female_casual.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_afr_light_female_casual.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 2:01:22 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_afr_lgt_female_bodies_cas::main()); + codescripts\character::attachhead("alias_civ_afr_lgt_female_heads",xmodelalias\alias_civ_afr_lgt_female_heads::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_afr_lgt_female_bodies_cas::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_afr_lgt_female_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_afr_light_female_dress.gsc b/AW/PC/character/character_civ_afr_light_female_dress.gsc new file mode 100644 index 0000000..c599930 --- /dev/null +++ b/AW/PC/character/character_civ_afr_light_female_dress.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_afr_light_female_dress.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 30 ms + * Timestamp: 4/22/2024 2:01:22 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_afr_lgt_female_bodies_drs::main()); + codescripts\character::attachhead("alias_civ_afr_lgt_female_heads",xmodelalias\alias_civ_afr_lgt_female_heads::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_afr_lgt_female_bodies_drs::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_afr_lgt_female_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_afr_light_male_casual.gsc b/AW/PC/character/character_civ_afr_light_male_casual.gsc new file mode 100644 index 0000000..1551f8c --- /dev/null +++ b/AW/PC/character/character_civ_afr_light_male_casual.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_afr_light_male_casual.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 31 ms + * Timestamp: 4/22/2024 2:01:23 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_afr_light_male_bodies_casual::main()); + codescripts\character::attachhead("alias_civ_afr_light_male_heads",xmodelalias\alias_civ_afr_light_male_heads::main()); + self.voice = "african"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_afr_light_male_bodies_casual::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_afr_light_male_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_afr_light_male_dress.gsc b/AW/PC/character/character_civ_afr_light_male_dress.gsc new file mode 100644 index 0000000..d3f61df --- /dev/null +++ b/AW/PC/character/character_civ_afr_light_male_dress.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_afr_light_male_dress.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 31 ms + * Timestamp: 4/22/2024 2:01:23 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_afr_light_male_bodies_dress::main()); + codescripts\character::attachhead("alias_civ_afr_light_male_heads",xmodelalias\alias_civ_afr_light_male_heads::main()); + self.voice = "african"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_afr_light_male_bodies_dress::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_afr_light_male_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_afr_male_cas_grk.gsc b/AW/PC/character/character_civ_afr_male_cas_grk.gsc new file mode 100644 index 0000000..33736e6 --- /dev/null +++ b/AW/PC/character/character_civ_afr_male_cas_grk.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_afr_male_cas_grk.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:01:23 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_afr_dark_male_bodies_casual::main()); + codescripts\character::attachhead("alias_greece_civilian_heads_males_b",xmodelalias\alias_greece_civilian_heads_males_b::main()); + self.voice = "african"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_afr_dark_male_bodies_casual::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_greece_civilian_heads_males_b::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_afr_male_drs_grk.gsc b/AW/PC/character/character_civ_afr_male_drs_grk.gsc new file mode 100644 index 0000000..f0c9dd1 --- /dev/null +++ b/AW/PC/character/character_civ_afr_male_drs_grk.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_afr_male_drs_grk.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:01:24 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_afr_dark_male_bodies_dress::main()); + codescripts\character::attachhead("alias_greece_civilian_heads_males_b",xmodelalias\alias_greece_civilian_heads_males_b::main()); + self.voice = "african"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_afr_dark_male_bodies_dress::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_greece_civilian_heads_males_b::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_african_male_b.gsc b/AW/PC/character/character_civ_african_male_b.gsc new file mode 100644 index 0000000..67c1647 --- /dev/null +++ b/AW/PC/character/character_civ_african_male_b.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_african_male_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:01:24 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_african_male_body_b"); + self attach("head_male_sp_gartei","",1); + self.headmodel = "head_male_sp_gartei"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_african_male_body_b"); + precachemodel("head_male_sp_gartei"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_african_male_c.gsc b/AW/PC/character/character_civ_african_male_c.gsc new file mode 100644 index 0000000..16b1925 --- /dev/null +++ b/AW/PC/character/character_civ_african_male_c.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_african_male_c.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 51 ms + * Timestamp: 4/22/2024 2:01:24 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_african_male_body_c"); + self attach("head_male_mp_brickerson","",1); + self.headmodel = "head_male_mp_brickerson"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_african_male_body_c"); + precachemodel("head_male_mp_brickerson"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_african_male_d.gsc b/AW/PC/character/character_civ_african_male_d.gsc new file mode 100644 index 0000000..0160c52 --- /dev/null +++ b/AW/PC/character/character_civ_african_male_d.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_african_male_d.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:01:25 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_african_male_body_d"); + self attach("head_male_mp_sykes","",1); + self.headmodel = "head_male_mp_sykes"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_african_male_body_d"); + precachemodel("head_male_mp_sykes"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_asi_male_casual.gsc b/AW/PC/character/character_civ_asi_male_casual.gsc new file mode 100644 index 0000000..30c47c7 --- /dev/null +++ b/AW/PC/character/character_civ_asi_male_casual.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_asi_male_casual.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:01:25 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_asi_male_bodies_casual::main()); + codescripts\character::attachhead("alias_civ_asi_male_heads",xmodelalias\alias_civ_asi_male_heads::main()); + self.voice = "northkorea"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_asi_male_bodies_casual::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_asi_male_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_asi_male_dress.gsc b/AW/PC/character/character_civ_asi_male_dress.gsc new file mode 100644 index 0000000..c9b133e --- /dev/null +++ b/AW/PC/character/character_civ_asi_male_dress.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_asi_male_dress.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 31 ms + * Timestamp: 4/22/2024 2:01:25 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_asi_male_bodies_dress::main()); + codescripts\character::attachhead("alias_civ_asi_male_heads",xmodelalias\alias_civ_asi_male_heads::main()); + self.voice = "northkorea"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_asi_male_bodies_dress::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_asi_male_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_cau_fem_drs_sml.gsc b/AW/PC/character/character_civ_cau_fem_drs_sml.gsc new file mode 100644 index 0000000..2810d72 --- /dev/null +++ b/AW/PC/character/character_civ_cau_fem_drs_sml.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_cau_fem_drs_sml.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:01:25 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_cau_fem_bod_drs_sml::main()); + codescripts\character::attachhead("alias_civ_cau_fem_heads_sml",xmodelalias\alias_civ_cau_fem_heads_sml::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_cau_fem_bod_drs_sml::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_cau_fem_heads_sml::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_cau_female_casual.gsc b/AW/PC/character/character_civ_cau_female_casual.gsc new file mode 100644 index 0000000..1f0b387 --- /dev/null +++ b/AW/PC/character/character_civ_cau_female_casual.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_cau_female_casual.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:01:26 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_cau_female_bodies_cas::main()); + codescripts\character::attachhead("alias_civ_cau_female_heads",xmodelalias\alias_civ_cau_female_heads::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_cau_female_bodies_cas::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_cau_female_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_cau_female_dress.gsc b/AW/PC/character/character_civ_cau_female_dress.gsc new file mode 100644 index 0000000..631a0fe --- /dev/null +++ b/AW/PC/character/character_civ_cau_female_dress.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_cau_female_dress.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 30 ms + * Timestamp: 4/22/2024 2:01:26 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_cau_female_bodies_drs::main()); + codescripts\character::attachhead("alias_civ_cau_female_heads",xmodelalias\alias_civ_cau_female_heads::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_cau_female_bodies_drs::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_cau_female_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_cau_male_casual.gsc b/AW/PC/character/character_civ_cau_male_casual.gsc new file mode 100644 index 0000000..5e91b2e --- /dev/null +++ b/AW/PC/character/character_civ_cau_male_casual.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_cau_male_casual.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 30 ms + * Timestamp: 4/22/2024 2:01:26 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_cau_male_bodies_casual::main()); + codescripts\character::attachhead("alias_civ_cau_male_heads",xmodelalias\alias_civ_cau_male_heads::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_cau_male_bodies_casual::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_cau_male_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_cau_male_casual_ball1.gsc b/AW/PC/character/character_civ_cau_male_casual_ball1.gsc new file mode 100644 index 0000000..dbc269c --- /dev/null +++ b/AW/PC/character/character_civ_cau_male_casual_ball1.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_cau_male_casual_ball1.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 30 ms + * Timestamp: 4/22/2024 2:01:27 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_urban_male_body_b_gray_shirt"); + self attach("head_m_gen_cau_young","",1); + self.headmodel = "head_m_gen_cau_young"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_urban_male_body_b_gray_shirt"); + precachemodel("head_m_gen_cau_young"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_cau_male_casual_ball2.gsc b/AW/PC/character/character_civ_cau_male_casual_ball2.gsc new file mode 100644 index 0000000..e99f93e --- /dev/null +++ b/AW/PC/character/character_civ_cau_male_casual_ball2.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_cau_male_casual_ball2.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 30 ms + * Timestamp: 4/22/2024 2:01:27 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_urban_male_body_c_gray_shirt"); + self attach("head_m_gen_cau_barton","",1); + self.headmodel = "head_m_gen_cau_barton"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_urban_male_body_c_gray_shirt"); + precachemodel("head_m_gen_cau_barton"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_cau_male_casual_grk.gsc b/AW/PC/character/character_civ_cau_male_casual_grk.gsc new file mode 100644 index 0000000..7c42d68 --- /dev/null +++ b/AW/PC/character/character_civ_cau_male_casual_grk.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_cau_male_casual_grk.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:01:27 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_cau_male_bodies_casual::main()); + codescripts\character::attachhead("alias_greece_civilian_heads_males_a",xmodelalias\alias_greece_civilian_heads_males_a::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_cau_male_bodies_casual::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_greece_civilian_heads_males_a::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_cau_male_dress.gsc b/AW/PC/character/character_civ_cau_male_dress.gsc new file mode 100644 index 0000000..f74ed4f --- /dev/null +++ b/AW/PC/character/character_civ_cau_male_dress.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_cau_male_dress.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:01:27 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_cau_male_bodies_dress::main()); + codescripts\character::attachhead("alias_civ_cau_male_heads",xmodelalias\alias_civ_cau_male_heads::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_cau_male_bodies_dress::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_cau_male_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_cau_male_dress_grk.gsc b/AW/PC/character/character_civ_cau_male_dress_grk.gsc new file mode 100644 index 0000000..929c53c --- /dev/null +++ b/AW/PC/character/character_civ_cau_male_dress_grk.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_cau_male_dress_grk.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:01:28 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_cau_male_bodies_dress::main()); + codescripts\character::attachhead("alias_greece_civilian_heads_males_a",xmodelalias\alias_greece_civilian_heads_males_a::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_cau_male_bodies_dress::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_greece_civilian_heads_males_a::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_mde_female_casual.gsc b/AW/PC/character/character_civ_mde_female_casual.gsc new file mode 100644 index 0000000..206b75b --- /dev/null +++ b/AW/PC/character/character_civ_mde_female_casual.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_mde_female_casual.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:01:28 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_mde_female_bodies_cas::main()); + codescripts\character::attachhead("alias_civ_mde_female_heads",xmodelalias\alias_civ_mde_female_heads::main()); + self.voice = "arab"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_mde_female_bodies_cas::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_mde_female_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_mde_female_dress.gsc b/AW/PC/character/character_civ_mde_female_dress.gsc new file mode 100644 index 0000000..d9e4b2d --- /dev/null +++ b/AW/PC/character/character_civ_mde_female_dress.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_mde_female_dress.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 31 ms + * Timestamp: 4/22/2024 2:01:28 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_mde_female_bodies_drs::main()); + codescripts\character::attachhead("alias_civ_mde_female_heads",xmodelalias\alias_civ_mde_female_heads::main()); + self.voice = "arab"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_mde_female_bodies_drs::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_mde_female_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_mde_male_casual.gsc b/AW/PC/character/character_civ_mde_male_casual.gsc new file mode 100644 index 0000000..00a1f47 --- /dev/null +++ b/AW/PC/character/character_civ_mde_male_casual.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_mde_male_casual.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:01:29 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_mde_male_bodies_casual::main()); + codescripts\character::attachhead("alias_civ_mde_male_heads",xmodelalias\alias_civ_mde_male_heads::main()); + self.voice = "arab"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_mde_male_bodies_casual::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_mde_male_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_mde_male_dress.gsc b/AW/PC/character/character_civ_mde_male_dress.gsc new file mode 100644 index 0000000..03b3515 --- /dev/null +++ b/AW/PC/character/character_civ_mde_male_dress.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_mde_male_dress.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:01:29 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_mde_male_bodies_dress::main()); + codescripts\character::attachhead("alias_civ_mde_male_heads",xmodelalias\alias_civ_mde_male_heads::main()); + self.voice = "arab"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_mde_male_bodies_dress::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_mde_male_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_pris_afr_dark_male_lite.gsc b/AW/PC/character/character_civ_pris_afr_dark_male_lite.gsc new file mode 100644 index 0000000..08472cd --- /dev/null +++ b/AW/PC/character/character_civ_pris_afr_dark_male_lite.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_pris_afr_dark_male_lite.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:01:29 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_pris_afr_dark_male_bodies::main()); + codescripts\character::attachhead("alias_civ_afr_dark_male_heads",xmodelalias\alias_civ_afr_dark_male_heads::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_pris_afr_dark_male_bodies::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_afr_dark_male_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_pris_cau_male_lite.gsc b/AW/PC/character/character_civ_pris_cau_male_lite.gsc new file mode 100644 index 0000000..a395654 --- /dev/null +++ b/AW/PC/character/character_civ_pris_cau_male_lite.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_pris_cau_male_lite.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:01:29 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_pris_cau_male_bodies::main()); + codescripts\character::attachhead("alias_civ_cau_male_heads",xmodelalias\alias_civ_cau_male_heads::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_pris_cau_male_bodies::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_cau_male_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_pris_mde_male_lite.gsc b/AW/PC/character/character_civ_pris_mde_male_lite.gsc new file mode 100644 index 0000000..2b5646b --- /dev/null +++ b/AW/PC/character/character_civ_pris_mde_male_lite.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_pris_mde_male_lite.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:01:30 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_pris_mde_male_bodies::main()); + codescripts\character::attachhead("alias_civ_mde_male_heads",xmodelalias\alias_civ_mde_male_heads::main()); + self.voice = "arab"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_pris_mde_male_bodies::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_mde_male_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_rec_funeral_female_a.gsc b/AW/PC/character/character_civ_rec_funeral_female_a.gsc new file mode 100644 index 0000000..b753fcb --- /dev/null +++ b/AW/PC/character/character_civ_rec_funeral_female_a.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_rec_funeral_female_a.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 30 ms + * Timestamp: 4/22/2024 2:01:30 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_funeral_female_body_a"); + self attach("head_f_act_cau_biedermann_fun","",1); + self.headmodel = "head_f_act_cau_biedermann_fun"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_funeral_female_body_a"); + precachemodel("head_f_act_cau_biedermann_fun"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_rec_funeral_female_b.gsc b/AW/PC/character/character_civ_rec_funeral_female_b.gsc new file mode 100644 index 0000000..f859ee0 --- /dev/null +++ b/AW/PC/character/character_civ_rec_funeral_female_b.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_rec_funeral_female_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:01:30 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_funeral_female_body_b"); + self attach("head_f_gen_afr_waters","",1); + self.headmodel = "head_f_gen_afr_waters"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_funeral_female_body_b"); + precachemodel("head_f_gen_afr_waters"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_rec_funeral_female_c.gsc b/AW/PC/character/character_civ_rec_funeral_female_c.gsc new file mode 100644 index 0000000..d0a80bd --- /dev/null +++ b/AW/PC/character/character_civ_rec_funeral_female_c.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_rec_funeral_female_c.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 2:01:31 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_funeral_female_body_b"); + self attach("head_f_gen_afr_summers","",1); + self.headmodel = "head_f_gen_afr_summers"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_funeral_female_body_b"); + precachemodel("head_f_gen_afr_summers"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_rec_funeral_female_d.gsc b/AW/PC/character/character_civ_rec_funeral_female_d.gsc new file mode 100644 index 0000000..7c18339 --- /dev/null +++ b/AW/PC/character/character_civ_rec_funeral_female_d.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_rec_funeral_female_d.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:01:31 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_funeral_female_body_a"); + self attach("head_f_gen_asi_kwok_base","",1); + self.headmodel = "head_f_gen_asi_kwok_base"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_funeral_female_body_a"); + precachemodel("head_f_gen_asi_kwok_base"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_rec_funeral_female_wife.gsc b/AW/PC/character/character_civ_rec_funeral_female_wife.gsc new file mode 100644 index 0000000..272a988 --- /dev/null +++ b/AW/PC/character/character_civ_rec_funeral_female_wife.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_rec_funeral_female_wife.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 30 ms + * Timestamp: 4/22/2024 2:01:31 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_funeral_female_irons_body"); + self attach("head_f_act_cau_atias_funeral","",1); + self.headmodel = "head_f_act_cau_atias_funeral"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_funeral_female_irons_body"); + precachemodel("head_f_act_cau_atias_funeral"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_rec_funeral_male.gsc b/AW/PC/character/character_civ_rec_funeral_male.gsc new file mode 100644 index 0000000..20d44a7 --- /dev/null +++ b/AW/PC/character/character_civ_rec_funeral_male.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_rec_funeral_male.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 2:01:31 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_rec_funeral_male_body::main()); + codescripts\character::attachhead("alias_civ_rec_funeral_male_heads",xmodelalias\alias_civ_rec_funeral_male_heads::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_rec_funeral_male_body::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_rec_funeral_male_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_rec_funeral_male_afr.gsc b/AW/PC/character/character_civ_rec_funeral_male_afr.gsc new file mode 100644 index 0000000..50024f4 --- /dev/null +++ b/AW/PC/character/character_civ_rec_funeral_male_afr.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_rec_funeral_male_afr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:01:32 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_rec_funeral_male_body_afr::main()); + codescripts\character::attachhead("alias_civ_rec_funeral_male_heads_afr",xmodelalias\alias_civ_rec_funeral_male_heads_afr::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_rec_funeral_male_body_afr::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_rec_funeral_male_heads_afr::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_rec_funeral_male_afr_a.gsc b/AW/PC/character/character_civ_rec_funeral_male_afr_a.gsc new file mode 100644 index 0000000..0509cb1 --- /dev/null +++ b/AW/PC/character/character_civ_rec_funeral_male_afr_a.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_rec_funeral_male_afr_a.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 2:01:32 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_male_body_suit_closed_afr"); + self attach("head_m_gen_afr_bowman","",1); + self.headmodel = "head_m_gen_afr_bowman"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_male_body_suit_closed_afr"); + precachemodel("head_m_gen_afr_bowman"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_rec_funeral_male_afr_b.gsc b/AW/PC/character/character_civ_rec_funeral_male_afr_b.gsc new file mode 100644 index 0000000..2bd2624 --- /dev/null +++ b/AW/PC/character/character_civ_rec_funeral_male_afr_b.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_rec_funeral_male_afr_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 30 ms + * Timestamp: 4/22/2024 2:01:32 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_urban_male_body_g_afr"); + self attach("head_m_act_afr_brickerson_base_sunglasses","",1); + self.headmodel = "head_m_act_afr_brickerson_base_sunglasses"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_urban_male_body_g_afr"); + precachemodel("head_m_act_afr_brickerson_base_sunglasses"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_rec_funeral_male_afr_c.gsc b/AW/PC/character/character_civ_rec_funeral_male_afr_c.gsc new file mode 100644 index 0000000..45b8160 --- /dev/null +++ b/AW/PC/character/character_civ_rec_funeral_male_afr_c.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_rec_funeral_male_afr_c.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:01:33 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_urban_male_body_g_afr"); + self attach("head_m_gen_afr_davis","",1); + self.headmodel = "head_m_gen_afr_davis"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_urban_male_body_g_afr"); + precachemodel("head_m_gen_afr_davis"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_rec_funeral_male_afr_d.gsc b/AW/PC/character/character_civ_rec_funeral_male_afr_d.gsc new file mode 100644 index 0000000..9bd8fe5 --- /dev/null +++ b/AW/PC/character/character_civ_rec_funeral_male_afr_d.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_rec_funeral_male_afr_d.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 31 ms + * Timestamp: 4/22/2024 2:01:33 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_urban_male_body_f_afr"); + self attach("head_m_gen_afr_rice","",1); + self.headmodel = "head_m_gen_afr_rice"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_urban_male_body_f_afr"); + precachemodel("head_m_gen_afr_rice"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_rec_funeral_male_asi_a.gsc b/AW/PC/character/character_civ_rec_funeral_male_asi_a.gsc new file mode 100644 index 0000000..0ba6200 --- /dev/null +++ b/AW/PC/character/character_civ_rec_funeral_male_asi_a.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_rec_funeral_male_asi_a.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 30 ms + * Timestamp: 4/22/2024 2:01:33 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_urban_male_body_f"); + self attach("head_m_gen_asi_kang","",1); + self.headmodel = "head_m_gen_asi_kang"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_urban_male_body_f"); + precachemodel("head_m_gen_asi_kang"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_rec_funeral_male_cau_a.gsc b/AW/PC/character/character_civ_rec_funeral_male_cau_a.gsc new file mode 100644 index 0000000..471a84b --- /dev/null +++ b/AW/PC/character/character_civ_rec_funeral_male_cau_a.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_rec_funeral_male_cau_a.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:01:34 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_male_body_suit_closed"); + self attach("head_m_gen_cau_anderson_sunglasses","",1); + self.headmodel = "head_m_gen_cau_anderson_sunglasses"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_male_body_suit_closed"); + precachemodel("head_m_gen_cau_anderson_sunglasses"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_rec_funeral_male_cau_b.gsc b/AW/PC/character/character_civ_rec_funeral_male_cau_b.gsc new file mode 100644 index 0000000..95736c9 --- /dev/null +++ b/AW/PC/character/character_civ_rec_funeral_male_cau_b.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_rec_funeral_male_cau_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 31 ms + * Timestamp: 4/22/2024 2:01:34 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_urban_male_body_g"); + self attach("head_m_gen_cau_barton_sunglasses","",1); + self.headmodel = "head_m_gen_cau_barton_sunglasses"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_urban_male_body_g"); + precachemodel("head_m_gen_cau_barton_sunglasses"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_rec_funeral_male_cau_c.gsc b/AW/PC/character/character_civ_rec_funeral_male_cau_c.gsc new file mode 100644 index 0000000..073c2ca --- /dev/null +++ b/AW/PC/character/character_civ_rec_funeral_male_cau_c.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_rec_funeral_male_cau_c.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 31 ms + * Timestamp: 4/22/2024 2:01:34 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_male_body_suit_closed"); + self attach("head_m_gen_cau_clark","",1); + self.headmodel = "head_m_gen_cau_clark"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_male_body_suit_closed"); + precachemodel("head_m_gen_cau_clark"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_rec_funeral_male_cau_d.gsc b/AW/PC/character/character_civ_rec_funeral_male_cau_d.gsc new file mode 100644 index 0000000..daca940 --- /dev/null +++ b/AW/PC/character/character_civ_rec_funeral_male_cau_d.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_rec_funeral_male_cau_d.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:01:34 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_urban_male_body_f"); + self attach("head_m_gen_cau_young","",1); + self.headmodel = "head_m_gen_cau_young"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_urban_male_body_f"); + precachemodel("head_m_gen_cau_young"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_rec_funeral_male_cau_e.gsc b/AW/PC/character/character_civ_rec_funeral_male_cau_e.gsc new file mode 100644 index 0000000..e533a0b --- /dev/null +++ b/AW/PC/character/character_civ_rec_funeral_male_cau_e.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_rec_funeral_male_cau_e.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 29 ms + * Timestamp: 4/22/2024 2:01:35 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_urban_male_body_g"); + self attach("head_m_act_cau_bedrosian_base","",1); + self.headmodel = "head_m_act_cau_bedrosian_base"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_urban_male_body_g"); + precachemodel("head_m_act_cau_bedrosian_base"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_rec_funeral_male_cau_f.gsc b/AW/PC/character/character_civ_rec_funeral_male_cau_f.gsc new file mode 100644 index 0000000..fd2e48d --- /dev/null +++ b/AW/PC/character/character_civ_rec_funeral_male_cau_f.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_rec_funeral_male_cau_f.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:01:35 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_male_body_suit_closed"); + self attach("head_m_act_cau_manasi_base","",1); + self.headmodel = "head_m_act_cau_manasi_base"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_male_body_suit_closed"); + precachemodel("head_m_act_cau_manasi_base"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_s1_female_a.gsc b/AW/PC/character/character_civ_s1_female_a.gsc new file mode 100644 index 0000000..92280ec --- /dev/null +++ b/AW/PC/character/character_civ_s1_female_a.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_s1_female_a.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 44 ms + * Timestamp: 4/22/2024 2:01:35 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_urban_female_body_a_mde"); + self attach("head_f_gen_mde_halabi","",1); + self.headmodel = "head_f_gen_mde_halabi"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_urban_female_body_a_mde"); + precachemodel("head_f_gen_mde_halabi"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_s1_female_b.gsc b/AW/PC/character/character_civ_s1_female_b.gsc new file mode 100644 index 0000000..03b5887 --- /dev/null +++ b/AW/PC/character/character_civ_s1_female_b.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_s1_female_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 34 ms + * Timestamp: 4/22/2024 2:01:35 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_urban_female_body_b"); + self attach("head_f_act_cau_hamilton_base","",1); + self.headmodel = "head_f_act_cau_hamilton_base"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_urban_female_body_b"); + precachemodel("head_f_act_cau_hamilton_base"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_s1_female_c.gsc b/AW/PC/character/character_civ_s1_female_c.gsc new file mode 100644 index 0000000..fb9ec02 --- /dev/null +++ b/AW/PC/character/character_civ_s1_female_c.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_s1_female_c.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:01:36 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_urban_female_body_c_afr_dark"); + self attach("head_f_act_afr_townes","",1); + self.headmodel = "head_f_act_afr_townes"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_urban_female_body_c_afr_dark"); + precachemodel("head_f_act_afr_townes"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_s1_female_d.gsc b/AW/PC/character/character_civ_s1_female_d.gsc new file mode 100644 index 0000000..bbc17f6 --- /dev/null +++ b/AW/PC/character/character_civ_s1_female_d.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_s1_female_d.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:01:36 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_urban_female_body_b_blue"); + self attach("head_f_gen_cau_peterson","",1); + self.headmodel = "head_f_gen_cau_peterson"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_urban_female_body_b_blue"); + precachemodel("head_f_gen_cau_peterson"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_s1_female_dead_a.gsc b/AW/PC/character/character_civ_s1_female_dead_a.gsc new file mode 100644 index 0000000..d51571f --- /dev/null +++ b/AW/PC/character/character_civ_s1_female_dead_a.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_s1_female_dead_a.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 31 ms + * Timestamp: 4/22/2024 2:01:36 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_urban_female_dead_body_a"); + self attach("head_ilana_civilian","",1); + self.headmodel = "head_ilana_civilian"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_urban_female_dead_body_a"); + precachemodel("head_ilana_civilian"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_s1_female_dead_b.gsc b/AW/PC/character/character_civ_s1_female_dead_b.gsc new file mode 100644 index 0000000..7c6f4a7 --- /dev/null +++ b/AW/PC/character/character_civ_s1_female_dead_b.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_s1_female_dead_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 31 ms + * Timestamp: 4/22/2024 2:01:37 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_urban_female_dead_body_b"); + self attach("head_ilana_civilian","",1); + self.headmodel = "head_ilana_civilian"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_urban_female_dead_body_b"); + precachemodel("head_ilana_civilian"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_s1_female_e.gsc b/AW/PC/character/character_civ_s1_female_e.gsc new file mode 100644 index 0000000..e127719 --- /dev/null +++ b/AW/PC/character/character_civ_s1_female_e.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_s1_female_e.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 30 ms + * Timestamp: 4/22/2024 2:01:37 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_urban_female_body_e_asi"); + self attach("head_f_gen_asi_lee_base","",1); + self.headmodel = "head_f_gen_asi_lee_base"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_urban_female_body_e_asi"); + precachemodel("head_f_gen_asi_lee_base"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_s1_female_f.gsc b/AW/PC/character/character_civ_s1_female_f.gsc new file mode 100644 index 0000000..440dfb4 --- /dev/null +++ b/AW/PC/character/character_civ_s1_female_f.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_s1_female_f.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 30 ms + * Timestamp: 4/22/2024 2:01:37 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_urban_female_body_f"); + self attach("head_f_act_cau_biedermann","",1); + self.headmodel = "head_f_act_cau_biedermann"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_urban_female_body_f"); + precachemodel("head_f_act_cau_biedermann"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_s1_female_g.gsc b/AW/PC/character/character_civ_s1_female_g.gsc new file mode 100644 index 0000000..acc663c --- /dev/null +++ b/AW/PC/character/character_civ_s1_female_g.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_s1_female_g.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:01:37 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_urban_female_body_g_afr_light"); + self attach("head_f_gen_afr_rice","",1); + self.headmodel = "head_f_gen_afr_rice"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_urban_female_body_g_afr_light"); + precachemodel("head_f_gen_afr_rice"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_s1_male_a.gsc b/AW/PC/character/character_civ_s1_male_a.gsc new file mode 100644 index 0000000..add1ca9 --- /dev/null +++ b/AW/PC/character/character_civ_s1_male_a.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_s1_male_a.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:01:38 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_urban_male_body_a"); + self attach("head_m_act_cau_bedrosian_base","",1); + self.headmodel = "head_m_act_cau_bedrosian_base"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_urban_male_body_a"); + precachemodel("head_m_act_cau_bedrosian_base"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_s1_male_b.gsc b/AW/PC/character/character_civ_s1_male_b.gsc new file mode 100644 index 0000000..f7508a4 --- /dev/null +++ b/AW/PC/character/character_civ_s1_male_b.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_s1_male_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:01:38 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_urban_male_body_b"); + self attach("civ_urban_male_head_kanik","",1); + self.headmodel = "civ_urban_male_head_kanik"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_urban_male_body_b"); + precachemodel("civ_urban_male_head_kanik"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_s1_male_c.gsc b/AW/PC/character/character_civ_s1_male_c.gsc new file mode 100644 index 0000000..7e3a613 --- /dev/null +++ b/AW/PC/character/character_civ_s1_male_c.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_s1_male_c.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:01:38 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_urban_male_body_c"); + self attach("head_m_gen_cau_anderson","",1); + self.headmodel = "head_m_gen_cau_anderson"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_urban_male_body_c"); + precachemodel("head_m_gen_cau_anderson"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_s1_male_d.gsc b/AW/PC/character/character_civ_s1_male_d.gsc new file mode 100644 index 0000000..94db606 --- /dev/null +++ b/AW/PC/character/character_civ_s1_male_d.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_s1_male_d.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:01:39 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_urban_male_body_d"); + self attach("head_m_gen_cau_clark","",1); + self.headmodel = "head_m_gen_cau_clark"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_urban_male_body_d"); + precachemodel("head_m_gen_cau_clark"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_s1_male_dead_a.gsc b/AW/PC/character/character_civ_s1_male_dead_a.gsc new file mode 100644 index 0000000..d322ca6 --- /dev/null +++ b/AW/PC/character/character_civ_s1_male_dead_a.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_s1_male_dead_a.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 2:01:39 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_urban_dead_body_a::main()); + codescripts\character::attachhead("alias_civ_rec_funeral_male_heads",xmodelalias\alias_civ_rec_funeral_male_heads::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_urban_dead_body_a::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_rec_funeral_male_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_s1_male_dead_b.gsc b/AW/PC/character/character_civ_s1_male_dead_b.gsc new file mode 100644 index 0000000..df62edf --- /dev/null +++ b/AW/PC/character/character_civ_s1_male_dead_b.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_s1_male_dead_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 46 ms + * Timestamp: 4/22/2024 2:01:39 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_urban_dead_body_b::main()); + codescripts\character::attachhead("alias_civ_urban_male_heads_afr_light",xmodelalias\alias_civ_urban_male_heads_afr_light::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_urban_dead_body_b::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_urban_male_heads_afr_light::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_s1_male_dead_c.gsc b/AW/PC/character/character_civ_s1_male_dead_c.gsc new file mode 100644 index 0000000..fa3fddd --- /dev/null +++ b/AW/PC/character/character_civ_s1_male_dead_c.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_s1_male_dead_c.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 46 ms + * Timestamp: 4/22/2024 2:01:40 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_civ_urban_dead_body_c::main()); + codescripts\character::attachhead("alias_civ_rec_funeral_male_heads",xmodelalias\alias_civ_rec_funeral_male_heads::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_civ_urban_dead_body_c::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_rec_funeral_male_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_s1_male_e.gsc b/AW/PC/character/character_civ_s1_male_e.gsc new file mode 100644 index 0000000..0468f80 --- /dev/null +++ b/AW/PC/character/character_civ_s1_male_e.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_s1_male_e.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:01:40 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_urban_male_body_e"); + self attach("head_m_gen_cau_young","",1); + self.headmodel = "head_m_gen_cau_young"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_urban_male_body_e"); + precachemodel("head_m_gen_cau_young"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_s1_male_hostage_lag.gsc b/AW/PC/character/character_civ_s1_male_hostage_lag.gsc new file mode 100644 index 0000000..893f1d1 --- /dev/null +++ b/AW/PC/character/character_civ_s1_male_hostage_lag.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_s1_male_hostage_lag.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 31 ms + * Timestamp: 4/22/2024 2:01:40 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_urban_male_body_f"); + self attach("head_m_act_cau_ramsay_base","",1); + self.headmodel = "head_m_act_cau_ramsay_base"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_urban_male_body_f"); + precachemodel("head_m_act_cau_ramsay_base"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_s1_worker_a.gsc b/AW/PC/character/character_civ_s1_worker_a.gsc new file mode 100644 index 0000000..3c19f48 --- /dev/null +++ b/AW/PC/character/character_civ_s1_worker_a.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_s1_worker_a.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:01:41 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_worker"); + self attach("head_m_gen_cau_barton","",1); + self.headmodel = "head_m_gen_cau_barton"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_worker"); + precachemodel("head_m_gen_cau_barton"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_s1_worker_b.gsc b/AW/PC/character/character_civ_s1_worker_b.gsc new file mode 100644 index 0000000..560734f --- /dev/null +++ b/AW/PC/character/character_civ_s1_worker_b.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_s1_worker_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:01:41 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_worker"); + self attach("head_m_gen_cau_clark","",1); + self.headmodel = "head_m_gen_cau_clark"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_worker"); + precachemodel("head_m_gen_cau_clark"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_s1_worker_hardhat.gsc b/AW/PC/character/character_civ_s1_worker_hardhat.gsc new file mode 100644 index 0000000..5b86819 --- /dev/null +++ b/AW/PC/character/character_civ_s1_worker_hardhat.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_s1_worker_hardhat.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:01:41 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_worker"); + codescripts\character::attachhead("alias_civ_worker_hardhat_s1_heads",xmodelalias\alias_civ_worker_hardhat_s1_heads::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_worker"); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_worker_hardhat_s1_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_scientist_s1_a.gsc b/AW/PC/character/character_civ_scientist_s1_a.gsc new file mode 100644 index 0000000..f88260b --- /dev/null +++ b/AW/PC/character/character_civ_scientist_s1_a.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_scientist_s1_a.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 34 ms + * Timestamp: 4/22/2024 2:01:42 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_scientist"); + self attach("head_m_act_cau_bedrosian_base","",1); + self.headmodel = "head_m_act_cau_bedrosian_base"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_scientist"); + precachemodel("head_m_act_cau_bedrosian_base"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_scientist_s1_b.gsc b/AW/PC/character/character_civ_scientist_s1_b.gsc new file mode 100644 index 0000000..27ac5d8 --- /dev/null +++ b/AW/PC/character/character_civ_scientist_s1_b.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_scientist_s1_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:01:42 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_scientist"); + self attach("head_m_act_afr_adams_base","",1); + self.headmodel = "head_m_act_afr_adams_base"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_scientist"); + precachemodel("head_m_act_afr_adams_base"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_scientist_s1_c.gsc b/AW/PC/character/character_civ_scientist_s1_c.gsc new file mode 100644 index 0000000..86492ec --- /dev/null +++ b/AW/PC/character/character_civ_scientist_s1_c.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_scientist_s1_c.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:01:42 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_scientist"); + self attach("head_m_gen_cau_barton_hardhat","",1); + self.headmodel = "head_m_gen_cau_barton_hardhat"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_scientist"); + precachemodel("head_m_gen_cau_barton_hardhat"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_scientist_s1_d.gsc b/AW/PC/character/character_civ_scientist_s1_d.gsc new file mode 100644 index 0000000..aade090 --- /dev/null +++ b/AW/PC/character/character_civ_scientist_s1_d.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_scientist_s1_d.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:01:43 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_scientist"); + self attach("head_m_gen_afr_rice_hardhat","",1); + self.headmodel = "head_m_gen_afr_rice_hardhat"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_scientist"); + precachemodel("head_m_gen_afr_rice_hardhat"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_scientist_s1_e.gsc b/AW/PC/character/character_civ_scientist_s1_e.gsc new file mode 100644 index 0000000..8eafd38 --- /dev/null +++ b/AW/PC/character/character_civ_scientist_s1_e.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_scientist_s1_e.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:01:43 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_scientist"); + self attach("head_m_gen_mde_azzam","",1); + self.headmodel = "head_m_gen_mde_azzam"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_scientist"); + precachemodel("head_m_gen_mde_azzam"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civ_scientist_s1_f.gsc b/AW/PC/character/character_civ_scientist_s1_f.gsc new file mode 100644 index 0000000..c394a47 --- /dev/null +++ b/AW/PC/character/character_civ_scientist_s1_f.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civ_scientist_s1_f.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:01:43 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_scientist"); + self attach("head_m_gen_asi_lee","",1); + self.headmodel = "head_m_gen_asi_lee"; + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_scientist"); + precachemodel("head_m_gen_asi_lee"); +} \ No newline at end of file diff --git a/AW/PC/SP/character/character_civ_seoul_female.gsc b/AW/PC/character/character_civ_seoul_female.gsc similarity index 86% rename from AW/PC/SP/character/character_civ_seoul_female.gsc rename to AW/PC/character/character_civ_seoul_female.gsc index 6b65b16..a154f43 100644 --- a/AW/PC/SP/character/character_civ_seoul_female.gsc +++ b/AW/PC/character/character_civ_seoul_female.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_civ_seoul_female.gsc + * Decompiled File: character_civ_seoul_female.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 29 ms - * Timestamp: 10/27/2023 1:57:07 AM + * Decompile Time: 31 ms + * Timestamp: 4/22/2024 2:01:44 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/character/character_civ_seoul_male_a.gsc b/AW/PC/character/character_civ_seoul_male_a.gsc similarity index 86% rename from AW/PC/SP/character/character_civ_seoul_male_a.gsc rename to AW/PC/character/character_civ_seoul_male_a.gsc index fa109fc..e7c995a 100644 --- a/AW/PC/SP/character/character_civ_seoul_male_a.gsc +++ b/AW/PC/character/character_civ_seoul_male_a.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_civ_seoul_male_a.gsc + * Decompiled File: character_civ_seoul_male_a.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 39 ms - * Timestamp: 10/27/2023 1:57:07 AM + * Decompile Time: 31 ms + * Timestamp: 4/22/2024 2:01:44 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/character/character_civ_seoul_male_b.gsc b/AW/PC/character/character_civ_seoul_male_b.gsc similarity index 86% rename from AW/PC/SP/character/character_civ_seoul_male_b.gsc rename to AW/PC/character/character_civ_seoul_male_b.gsc index 8668f7a..e03c697 100644 --- a/AW/PC/SP/character/character_civ_seoul_male_b.gsc +++ b/AW/PC/character/character_civ_seoul_male_b.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_civ_seoul_male_b.gsc + * Decompiled File: character_civ_seoul_male_b.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 34 ms - * Timestamp: 10/27/2023 1:57:07 AM + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:01:44 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/character/character_civ_seoul_male_c.gsc b/AW/PC/character/character_civ_seoul_male_c.gsc similarity index 86% rename from AW/PC/SP/character/character_civ_seoul_male_c.gsc rename to AW/PC/character/character_civ_seoul_male_c.gsc index f6dff02..0acb727 100644 --- a/AW/PC/SP/character/character_civ_seoul_male_c.gsc +++ b/AW/PC/character/character_civ_seoul_male_c.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_civ_seoul_male_c.gsc + * Decompiled File: character_civ_seoul_male_c.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 29 ms - * Timestamp: 10/27/2023 1:57:08 AM + * Decompile Time: 30 ms + * Timestamp: 4/22/2024 2:01:44 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/character/character_civ_seoul_male_d.gsc b/AW/PC/character/character_civ_seoul_male_d.gsc similarity index 86% rename from AW/PC/SP/character/character_civ_seoul_male_d.gsc rename to AW/PC/character/character_civ_seoul_male_d.gsc index bf55f46..9060f48 100644 --- a/AW/PC/SP/character/character_civ_seoul_male_d.gsc +++ b/AW/PC/character/character_civ_seoul_male_d.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_civ_seoul_male_d.gsc + * Decompiled File: character_civ_seoul_male_d.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 28 ms - * Timestamp: 10/27/2023 1:57:08 AM + * Decompile Time: 34 ms + * Timestamp: 4/22/2024 2:01:45 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/character/character_civ_seoul_male_e.gsc b/AW/PC/character/character_civ_seoul_male_e.gsc similarity index 86% rename from AW/PC/SP/character/character_civ_seoul_male_e.gsc rename to AW/PC/character/character_civ_seoul_male_e.gsc index 469db83..59f28df 100644 --- a/AW/PC/SP/character/character_civ_seoul_male_e.gsc +++ b/AW/PC/character/character_civ_seoul_male_e.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_civ_seoul_male_e.gsc + * Decompiled File: character_civ_seoul_male_e.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 29 ms - * Timestamp: 10/27/2023 1:57:09 AM + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:01:45 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/character/character_civ_seoul_male_principle.gsc b/AW/PC/character/character_civ_seoul_male_principle.gsc similarity index 81% rename from AW/PC/SP/character/character_civ_seoul_male_principle.gsc rename to AW/PC/character/character_civ_seoul_male_principle.gsc index f4454cc..82c6485 100644 --- a/AW/PC/SP/character/character_civ_seoul_male_principle.gsc +++ b/AW/PC/character/character_civ_seoul_male_principle.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_civ_seoul_male_principle.gsc + * Decompiled File: character_civ_seoul_male_principle.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 28 ms - * Timestamp: 10/27/2023 1:57:09 AM + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:01:45 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/character/character_civilian_africa_male_a.gsc b/AW/PC/character/character_civilian_africa_male_a.gsc new file mode 100644 index 0000000..7d8f74e --- /dev/null +++ b/AW/PC/character/character_civilian_africa_male_a.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civilian_africa_male_a.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:01:46 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_africa_civ_male_a"); + codescripts\character::attachhead("alias_africa_civilian_male_heads",xmodelalias\alias_africa_civilian_male_heads::main()); + self.voice = "african"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_africa_civ_male_a"); + codescripts\character::precachemodelarray(xmodelalias\alias_africa_civilian_male_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civilian_africa_male_b.gsc b/AW/PC/character/character_civilian_africa_male_b.gsc new file mode 100644 index 0000000..ccc5ebd --- /dev/null +++ b/AW/PC/character/character_civilian_africa_male_b.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civilian_africa_male_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 36 ms + * Timestamp: 4/22/2024 2:01:46 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_africa_civ_male_b"); + codescripts\character::attachhead("alias_africa_civilian_male_heads",xmodelalias\alias_africa_civilian_male_heads::main()); + self.voice = "african"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_africa_civ_male_b"); + codescripts\character::precachemodelarray(xmodelalias\alias_africa_civilian_male_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civilian_africa_male_c.gsc b/AW/PC/character/character_civilian_africa_male_c.gsc new file mode 100644 index 0000000..a412ecf --- /dev/null +++ b/AW/PC/character/character_civilian_africa_male_c.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civilian_africa_male_c.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:01:46 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_africa_civ_male_c"); + codescripts\character::attachhead("alias_africa_civilian_male_heads",xmodelalias\alias_africa_civilian_male_heads::main()); + self.voice = "african"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_africa_civ_male_c"); + codescripts\character::precachemodelarray(xmodelalias\alias_africa_civilian_male_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civilian_india_female_a.gsc b/AW/PC/character/character_civilian_india_female_a.gsc new file mode 100644 index 0000000..d14085d --- /dev/null +++ b/AW/PC/character/character_civilian_india_female_a.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civilian_india_female_a.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 34 ms + * Timestamp: 4/22/2024 2:01:47 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_india_female_a"); + self attach("head_india_female_a","",1); + self.headmodel = "head_india_female_a"; + self.voice = "arab"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_india_female_a"); + precachemodel("head_india_female_a"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civilian_india_female_b.gsc b/AW/PC/character/character_civilian_india_female_b.gsc new file mode 100644 index 0000000..d92613f --- /dev/null +++ b/AW/PC/character/character_civilian_india_female_b.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civilian_india_female_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:01:47 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_india_female_b"); + self attach("head_india_female_b","",1); + self.headmodel = "head_india_female_b"; + self.voice = "arab"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_india_female_b"); + precachemodel("head_india_female_b"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civilian_india_male_a.gsc b/AW/PC/character/character_civilian_india_male_a.gsc new file mode 100644 index 0000000..3c2e40e --- /dev/null +++ b/AW/PC/character/character_civilian_india_male_a.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civilian_india_male_a.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 2:01:47 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_india_male_a"); + self attach("head_india_male_a","",1); + self.headmodel = "head_india_male_a"; + self.voice = "arab"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_india_male_a"); + precachemodel("head_india_male_a"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civilian_india_male_b.gsc b/AW/PC/character/character_civilian_india_male_b.gsc new file mode 100644 index 0000000..f538fdd --- /dev/null +++ b/AW/PC/character/character_civilian_india_male_b.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civilian_india_male_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:01:48 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_india_male_b"); + self attach("head_india_male_b","",1); + self.headmodel = "head_india_male_b"; + self.voice = "arab"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_india_male_b"); + precachemodel("head_india_male_b"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civilian_india_male_c.gsc b/AW/PC/character/character_civilian_india_male_c.gsc new file mode 100644 index 0000000..10bf655 --- /dev/null +++ b/AW/PC/character/character_civilian_india_male_c.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civilian_india_male_c.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 55 ms + * Timestamp: 4/22/2024 2:01:48 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_india_male_a_alt"); + self attach("head_india_male_c","",1); + self.headmodel = "head_india_male_c"; + self.voice = "arab"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_india_male_a_alt"); + precachemodel("head_india_male_c"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civilian_india_male_d.gsc b/AW/PC/character/character_civilian_india_male_d.gsc new file mode 100644 index 0000000..64ebeac --- /dev/null +++ b/AW/PC/character/character_civilian_india_male_d.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civilian_india_male_d.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:01:49 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_india_male_b_alt"); + self attach("head_india_male_d","",1); + self.headmodel = "head_india_male_d"; + self.voice = "arab"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_india_male_b_alt"); + precachemodel("head_india_male_d"); +} \ No newline at end of file diff --git a/AW/PC/character/character_civilian_prisoner_female_a.gsc b/AW/PC/character/character_civilian_prisoner_female_a.gsc new file mode 100644 index 0000000..07b88a3 --- /dev/null +++ b/AW/PC/character/character_civilian_prisoner_female_a.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civilian_prisoner_female_a.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 44 ms + * Timestamp: 4/22/2024 2:01:49 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_prisoner_atlas_body"); + codescripts\character::attachhead("alias_civilian_heads_prisoner_female",xmodelalias\alias_civilian_heads_prisoner_female::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_prisoner_atlas_body"); + codescripts\character::precachemodelarray(xmodelalias\alias_civilian_heads_prisoner_female::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civilian_prisoner_female_b.gsc b/AW/PC/character/character_civilian_prisoner_female_b.gsc new file mode 100644 index 0000000..c958da4 --- /dev/null +++ b/AW/PC/character/character_civilian_prisoner_female_b.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civilian_prisoner_female_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 46 ms + * Timestamp: 4/22/2024 2:01:50 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_prisoner_atlas_body_b"); + codescripts\character::attachhead("alias_civilian_heads_prisoner_female",xmodelalias\alias_civilian_heads_prisoner_female::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_prisoner_atlas_body_b"); + codescripts\character::precachemodelarray(xmodelalias\alias_civilian_heads_prisoner_female::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civilian_slum_male_aa.gsc b/AW/PC/character/character_civilian_slum_male_aa.gsc new file mode 100644 index 0000000..9f60e91 --- /dev/null +++ b/AW/PC/character/character_civilian_slum_male_aa.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civilian_slum_male_aa.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 46 ms + * Timestamp: 4/22/2024 2:01:50 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_slum_civ_male_aa"); + codescripts\character::attachhead("alias_civilian_slum_heads",xmodelalias\alias_civilian_slum_heads::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_slum_civ_male_aa"); + codescripts\character::precachemodelarray(xmodelalias\alias_civilian_slum_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civilian_slum_male_aa_wht.gsc b/AW/PC/character/character_civilian_slum_male_aa_wht.gsc new file mode 100644 index 0000000..4587ae1 --- /dev/null +++ b/AW/PC/character/character_civilian_slum_male_aa_wht.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civilian_slum_male_aa_wht.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 38 ms + * Timestamp: 4/22/2024 2:01:50 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_slum_civ_male_aa_wht"); + codescripts\character::attachhead("alias_civilian_slum_heads_wht",xmodelalias\alias_civilian_slum_heads_wht::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_slum_civ_male_aa_wht"); + codescripts\character::precachemodelarray(xmodelalias\alias_civilian_slum_heads_wht::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civilian_slum_male_ab.gsc b/AW/PC/character/character_civilian_slum_male_ab.gsc new file mode 100644 index 0000000..1432038 --- /dev/null +++ b/AW/PC/character/character_civilian_slum_male_ab.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civilian_slum_male_ab.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:01:51 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_slum_civ_male_ab"); + codescripts\character::attachhead("alias_civilian_slum_heads",xmodelalias\alias_civilian_slum_heads::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_slum_civ_male_ab"); + codescripts\character::precachemodelarray(xmodelalias\alias_civilian_slum_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civilian_slum_male_ab_wht.gsc b/AW/PC/character/character_civilian_slum_male_ab_wht.gsc new file mode 100644 index 0000000..d804f3f --- /dev/null +++ b/AW/PC/character/character_civilian_slum_male_ab_wht.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civilian_slum_male_ab_wht.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 61 ms + * Timestamp: 4/22/2024 2:01:51 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_slum_civ_male_ab_wht"); + codescripts\character::attachhead("alias_civilian_slum_heads_wht",xmodelalias\alias_civilian_slum_heads_wht::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_slum_civ_male_ab_wht"); + codescripts\character::precachemodelarray(xmodelalias\alias_civilian_slum_heads_wht::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civilian_slum_male_ba.gsc b/AW/PC/character/character_civilian_slum_male_ba.gsc new file mode 100644 index 0000000..0be1760 --- /dev/null +++ b/AW/PC/character/character_civilian_slum_male_ba.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civilian_slum_male_ba.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:01:52 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_slum_civ_male_ba"); + codescripts\character::attachhead("alias_civilian_slum_heads",xmodelalias\alias_civilian_slum_heads::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_slum_civ_male_ba"); + codescripts\character::precachemodelarray(xmodelalias\alias_civilian_slum_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civilian_slum_male_ba_wht.gsc b/AW/PC/character/character_civilian_slum_male_ba_wht.gsc new file mode 100644 index 0000000..2057c23 --- /dev/null +++ b/AW/PC/character/character_civilian_slum_male_ba_wht.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civilian_slum_male_ba_wht.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 2:01:52 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_slum_civ_male_ba_wht"); + codescripts\character::attachhead("alias_civilian_slum_heads_wht",xmodelalias\alias_civilian_slum_heads_wht::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_slum_civ_male_ba_wht"); + codescripts\character::precachemodelarray(xmodelalias\alias_civilian_slum_heads_wht::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civilian_slum_male_bb.gsc b/AW/PC/character/character_civilian_slum_male_bb.gsc new file mode 100644 index 0000000..b6c96e3 --- /dev/null +++ b/AW/PC/character/character_civilian_slum_male_bb.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civilian_slum_male_bb.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 38 ms + * Timestamp: 4/22/2024 2:01:52 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_slum_civ_male_bb"); + codescripts\character::attachhead("alias_civilian_slum_heads",xmodelalias\alias_civilian_slum_heads::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_slum_civ_male_bb"); + codescripts\character::precachemodelarray(xmodelalias\alias_civilian_slum_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civilian_slum_male_bb_wht.gsc b/AW/PC/character/character_civilian_slum_male_bb_wht.gsc new file mode 100644 index 0000000..21e2850 --- /dev/null +++ b/AW/PC/character/character_civilian_slum_male_bb_wht.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civilian_slum_male_bb_wht.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 47 ms + * Timestamp: 4/22/2024 2:01:53 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_slum_civ_male_bb_wht"); + codescripts\character::attachhead("alias_civilian_slum_heads_wht",xmodelalias\alias_civilian_slum_heads_wht::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_slum_civ_male_bb_wht"); + codescripts\character::precachemodelarray(xmodelalias\alias_civilian_slum_heads_wht::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civilian_worker_a.gsc b/AW/PC/character/character_civilian_worker_a.gsc new file mode 100644 index 0000000..6dfd1ec --- /dev/null +++ b/AW/PC/character/character_civilian_worker_a.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civilian_worker_a.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:01:53 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_work_civ_male_a"); + codescripts\character::attachhead("alias_civilian_worker_heads",xmodelalias\alias_civilian_worker_heads::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_work_civ_male_a"); + codescripts\character::precachemodelarray(xmodelalias\alias_civilian_worker_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civilian_worker_b.gsc b/AW/PC/character/character_civilian_worker_b.gsc new file mode 100644 index 0000000..aa51823 --- /dev/null +++ b/AW/PC/character/character_civilian_worker_b.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civilian_worker_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:01:53 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_work_civ_male_b"); + codescripts\character::attachhead("alias_civilian_worker_heads",xmodelalias\alias_civilian_worker_heads::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_work_civ_male_b"); + codescripts\character::precachemodelarray(xmodelalias\alias_civilian_worker_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_civilian_worker_c.gsc b/AW/PC/character/character_civilian_worker_c.gsc new file mode 100644 index 0000000..d90350d --- /dev/null +++ b/AW/PC/character/character_civilian_worker_c.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_civilian_worker_c.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 44 ms + * Timestamp: 4/22/2024 2:01:54 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_work_civ_male_c"); + codescripts\character::attachhead("alias_civilian_worker_heads",xmodelalias\alias_civilian_worker_heads::main()); + self.voice = "american"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_work_civ_male_c"); + codescripts\character::precachemodelarray(xmodelalias\alias_civilian_worker_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_coop_cloaked_static.gsc b/AW/PC/character/character_coop_cloaked_static.gsc new file mode 100644 index 0000000..fac4e09 --- /dev/null +++ b/AW/PC/character/character_coop_cloaked_static.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_coop_cloaked_static.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 2:01:54 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_coop_cloaked_static"); + codescripts\character::attachhead("alias_coop_cloaked_static_heads",xmodelalias\alias_coop_cloaked_static_heads::main()); + self.voice = "russian"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_coop_cloaked_static"); + codescripts\character::precachemodelarray(xmodelalias\alias_coop_cloaked_static_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_doctor.gsc b/AW/PC/character/character_doctor.gsc new file mode 100644 index 0000000..7cfb72a --- /dev/null +++ b/AW/PC/character/character_doctor.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_doctor.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 38 ms + * Timestamp: 4/22/2024 2:01:54 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("doctor_body"); + codescripts\character::attachhead("alias_civ_asi_male_heads",xmodelalias\alias_civ_asi_male_heads::main()); + self.voice = "atlas"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("doctor_body"); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_asi_male_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_doctor_cpt.gsc b/AW/PC/character/character_doctor_cpt.gsc new file mode 100644 index 0000000..5a73195 --- /dev/null +++ b/AW/PC/character/character_doctor_cpt.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_doctor_cpt.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 49 ms + * Timestamp: 4/22/2024 2:01:55 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("doctor_body"); + codescripts\character::attachhead("alias_civ_asi_male_heads_cpt",xmodelalias\alias_civ_asi_male_heads_cpt::main()); + self.voice = "atlas"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("doctor_body"); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_asi_male_heads_cpt::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_doctor_mwi.gsc b/AW/PC/character/character_doctor_mwi.gsc new file mode 100644 index 0000000..6a0c62b --- /dev/null +++ b/AW/PC/character/character_doctor_mwi.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_doctor_mwi.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:01:55 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_urban_male_body_f"); + self attach("head_m_gen_cau_shipley","",1); + self.headmodel = "head_m_gen_cau_shipley"; + self.voice = "atlas"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_urban_male_body_f"); + precachemodel("head_m_gen_cau_shipley"); +} \ No newline at end of file diff --git a/AW/PC/character/character_doctor_mwi_holo.gsc b/AW/PC/character/character_doctor_mwi_holo.gsc new file mode 100644 index 0000000..cd086b4 --- /dev/null +++ b/AW/PC/character/character_doctor_mwi_holo.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_doctor_mwi_holo.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 48 ms + * Timestamp: 4/22/2024 2:01:56 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_urban_male_body_f"); + self attach("head_m_gen_cau_shipley_holo","",1); + self.headmodel = "head_m_gen_cau_shipley_holo"; + self.voice = "atlas"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_urban_male_body_f"); + precachemodel("head_m_gen_cau_shipley_holo"); +} \ No newline at end of file diff --git a/AW/PC/character/character_doctor_pas.gsc b/AW/PC/character/character_doctor_pas.gsc new file mode 100644 index 0000000..ce07447 --- /dev/null +++ b/AW/PC/character/character_doctor_pas.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_doctor_pas.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 38 ms + * Timestamp: 4/22/2024 2:01:56 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("dr_pas_body"); + self attach("dr_pas_head","",1); + self.headmodel = "dr_pas_head"; + self.voice = "atlas"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("dr_pas_body"); + precachemodel("dr_pas_head"); +} \ No newline at end of file diff --git a/AW/PC/SP/character/character_dprk_ar.gsc b/AW/PC/character/character_dprk_ar.gsc similarity index 83% rename from AW/PC/SP/character/character_dprk_ar.gsc rename to AW/PC/character/character_dprk_ar.gsc index e53347a..650457b 100644 --- a/AW/PC/SP/character/character_dprk_ar.gsc +++ b/AW/PC/character/character_dprk_ar.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_dprk_ar.gsc + * Decompiled File: character_dprk_ar.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 28 ms - * Timestamp: 10/27/2023 1:57:10 AM + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:01:56 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/character/character_dprk_shotgun.gsc b/AW/PC/character/character_dprk_shotgun.gsc similarity index 82% rename from AW/PC/SP/character/character_dprk_shotgun.gsc rename to AW/PC/character/character_dprk_shotgun.gsc index 344b1de..c6784b8 100644 --- a/AW/PC/SP/character/character_dprk_shotgun.gsc +++ b/AW/PC/character/character_dprk_shotgun.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_dprk_shotgun.gsc + * Decompiled File: character_dprk_shotgun.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 29 ms - * Timestamp: 10/27/2023 1:57:10 AM + * Decompile Time: 48 ms + * Timestamp: 4/22/2024 2:01:57 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/character/character_dprk_smg.gsc b/AW/PC/character/character_dprk_smg.gsc similarity index 82% rename from AW/PC/SP/character/character_dprk_smg.gsc rename to AW/PC/character/character_dprk_smg.gsc index 0f71791..87c4504 100644 --- a/AW/PC/SP/character/character_dprk_smg.gsc +++ b/AW/PC/character/character_dprk_smg.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_dprk_smg.gsc + * Decompiled File: character_dprk_smg.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 29 ms - * Timestamp: 10/27/2023 1:57:11 AM + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 2:01:57 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/character/character_hero_burke_b_atlas.gsc b/AW/PC/character/character_hero_burke_b_atlas.gsc new file mode 100644 index 0000000..895143f --- /dev/null +++ b/AW/PC/character/character_hero_burke_b_atlas.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_burke_b_atlas.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 2:01:57 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("atlas_body"); + self attach("head_hero_gideon_beanie","",1); + self.headmodel = "head_hero_gideon_beanie"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("atlas_body"); + precachemodel("head_hero_gideon_beanie"); +} \ No newline at end of file diff --git a/AW/PC/character/character_hero_burke_b_pmc.gsc b/AW/PC/character/character_hero_burke_b_pmc.gsc new file mode 100644 index 0000000..049f8fa --- /dev/null +++ b/AW/PC/character/character_hero_burke_b_pmc.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_burke_b_pmc.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 49 ms + * Timestamp: 4/22/2024 2:01:58 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("atlas_pmc_body"); + self attach("head_hero_gideon_beanie","",1); + self.headmodel = "head_hero_gideon_beanie"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("atlas_pmc_body"); + precachemodel("head_hero_gideon_beanie"); +} \ No newline at end of file diff --git a/AW/PC/character/character_hero_burke_sentinel.gsc b/AW/PC/character/character_hero_burke_sentinel.gsc new file mode 100644 index 0000000..fb871c8 --- /dev/null +++ b/AW/PC/character/character_hero_burke_sentinel.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_burke_sentinel.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 2:01:58 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("burke_sentinel_body"); + self attach("head_hero_gideon_beanie","",1); + self.headmodel = "head_hero_gideon_beanie"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("burke_sentinel_body"); + precachemodel("head_hero_gideon_beanie"); +} \ No newline at end of file diff --git a/AW/PC/character/character_hero_burke_sentinel_cloak.gsc b/AW/PC/character/character_hero_burke_sentinel_cloak.gsc new file mode 100644 index 0000000..f2ac91a --- /dev/null +++ b/AW/PC/character/character_hero_burke_sentinel_cloak.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_burke_sentinel_cloak.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 2:01:59 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_hero_burke_sentinel_covert"); + self attach("head_hero_burke_sentinel_covert","",1); + self.headmodel = "head_hero_burke_sentinel_covert"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_hero_burke_sentinel_covert"); + precachemodel("head_hero_burke_sentinel_covert"); +} \ No newline at end of file diff --git a/AW/PC/SP/character/character_hero_carter_pmc.gsc b/AW/PC/character/character_hero_carter_pmc.gsc similarity index 83% rename from AW/PC/SP/character/character_hero_carter_pmc.gsc rename to AW/PC/character/character_hero_carter_pmc.gsc index 22f7f7e..c6e0ead 100644 --- a/AW/PC/SP/character/character_hero_carter_pmc.gsc +++ b/AW/PC/character/character_hero_carter_pmc.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_hero_carter_pmc.gsc + * Decompiled File: character_hero_carter_pmc.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 1:57:11 AM + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:01:59 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/character/character_hero_cormack_captured.gsc b/AW/PC/character/character_hero_cormack_captured.gsc new file mode 100644 index 0000000..e19a5ca --- /dev/null +++ b/AW/PC/character/character_hero_cormack_captured.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_cormack_captured.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 2:01:59 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("sentinel_pilot_body_captured"); + self attach("head_hero_cormack_blend","",1); + self.headmodel = "head_hero_cormack_blend"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("sentinel_pilot_body_captured"); + precachemodel("head_hero_cormack_blend"); +} \ No newline at end of file diff --git a/AW/PC/character/character_hero_cormack_cloak.gsc b/AW/PC/character/character_hero_cormack_cloak.gsc new file mode 100644 index 0000000..ea92f54 --- /dev/null +++ b/AW/PC/character/character_hero_cormack_cloak.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_cormack_cloak.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 2:02:00 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_hero_cormack_sentinel_covert"); + self attach("head_hero_cormack_sentinel_covert","",1); + self.headmodel = "head_hero_cormack_sentinel_covert"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_hero_cormack_sentinel_covert"); + precachemodel("head_hero_cormack_sentinel_covert"); +} \ No newline at end of file diff --git a/AW/PC/SP/character/character_hero_cormack_marine.gsc b/AW/PC/character/character_hero_cormack_marine.gsc similarity index 82% rename from AW/PC/SP/character/character_hero_cormack_marine.gsc rename to AW/PC/character/character_hero_cormack_marine.gsc index dbe67f4..c7782e9 100644 --- a/AW/PC/SP/character/character_hero_cormack_marine.gsc +++ b/AW/PC/character/character_hero_cormack_marine.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_hero_cormack_marine.gsc + * Decompiled File: character_hero_cormack_marine.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 29 ms - * Timestamp: 10/27/2023 1:57:12 AM + * Decompile Time: 61 ms + * Timestamp: 4/22/2024 2:02:00 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/character/character_hero_cormack_marine_damaged.gsc b/AW/PC/character/character_hero_cormack_marine_damaged.gsc similarity index 82% rename from AW/PC/SP/character/character_hero_cormack_marine_damaged.gsc rename to AW/PC/character/character_hero_cormack_marine_damaged.gsc index c8dbadd..34bfef3 100644 --- a/AW/PC/SP/character/character_hero_cormack_marine_damaged.gsc +++ b/AW/PC/character/character_hero_cormack_marine_damaged.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_hero_cormack_marine_damaged.gsc + * Decompiled File: character_hero_cormack_marine_damaged.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 29 ms - * Timestamp: 10/27/2023 1:57:12 AM + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:02:00 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/character/character_hero_cormack_marine_dress.gsc b/AW/PC/character/character_hero_cormack_marine_dress.gsc new file mode 100644 index 0000000..fb1b9f3 --- /dev/null +++ b/AW/PC/character/character_hero_cormack_marine_dress.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_cormack_marine_dress.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 49 ms + * Timestamp: 4/22/2024 2:02:01 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("marine_dress_body_a"); + self attach("head_hero_cormack_dress_hat","",1); + self.headmodel = "head_hero_cormack_dress_hat"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("marine_dress_body_a"); + precachemodel("head_hero_cormack_dress_hat"); +} \ No newline at end of file diff --git a/AW/PC/SP/character/character_hero_cormack_marine_seointro.gsc b/AW/PC/character/character_hero_cormack_marine_seointro.gsc similarity index 81% rename from AW/PC/SP/character/character_hero_cormack_marine_seointro.gsc rename to AW/PC/character/character_hero_cormack_marine_seointro.gsc index 248180c..1fc6db1 100644 --- a/AW/PC/SP/character/character_hero_cormack_marine_seointro.gsc +++ b/AW/PC/character/character_hero_cormack_marine_seointro.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_hero_cormack_marine_seointro.gsc + * Decompiled File: character_hero_cormack_marine_seointro.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:57:13 AM + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:02:01 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/character/character_hero_cormack_sentinel.gsc b/AW/PC/character/character_hero_cormack_sentinel.gsc new file mode 100644 index 0000000..2cbcfc3 --- /dev/null +++ b/AW/PC/character/character_hero_cormack_sentinel.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_cormack_sentinel.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:02:02 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_hero_cormack_sentinel"); + self attach("head_hero_cormack_helmet","",1); + self.headmodel = "head_hero_cormack_helmet"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_hero_cormack_sentinel"); + precachemodel("head_hero_cormack_helmet"); +} \ No newline at end of file diff --git a/AW/PC/character/character_hero_cormack_sentinel_arctic.gsc b/AW/PC/character/character_hero_cormack_sentinel_arctic.gsc new file mode 100644 index 0000000..18f04a6 --- /dev/null +++ b/AW/PC/character/character_hero_cormack_sentinel_arctic.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_cormack_sentinel_arctic.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 2:02:02 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_hero_cormack_sentinel_halo"); + self attach("head_hero_cormack_sentinel_halo","",1); + self.headmodel = "head_hero_cormack_sentinel_halo"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_hero_cormack_sentinel_halo"); + precachemodel("head_hero_cormack_sentinel_halo"); +} \ No newline at end of file diff --git a/AW/PC/character/character_hero_cormack_sentinel_udt_b.gsc b/AW/PC/character/character_hero_cormack_sentinel_udt_b.gsc new file mode 100644 index 0000000..e793ff5 --- /dev/null +++ b/AW/PC/character/character_hero_cormack_sentinel_udt_b.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_cormack_sentinel_udt_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 47 ms + * Timestamp: 4/22/2024 2:02:02 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_hero_cormack_sentinel_udt_dry"); + self attach("head_hero_cormack_facemask_udt","",1); + self.headmodel = "head_hero_cormack_facemask_udt"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_hero_cormack_sentinel_udt_dry"); + precachemodel("head_hero_cormack_facemask_udt"); +} \ No newline at end of file diff --git a/AW/PC/character/character_hero_cormack_sentinel_udtgr.gsc b/AW/PC/character/character_hero_cormack_sentinel_udtgr.gsc new file mode 100644 index 0000000..764dc6a --- /dev/null +++ b/AW/PC/character/character_hero_cormack_sentinel_udtgr.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_cormack_sentinel_udtgr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:02:03 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_hero_cormack_sentinel_udt_grapple"); + self attach("head_hero_cormack_facemask_udt","",1); + self.headmodel = "head_hero_cormack_facemask_udt"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_hero_cormack_sentinel_udt_grapple"); + precachemodel("head_hero_cormack_facemask_udt"); +} \ No newline at end of file diff --git a/AW/PC/character/character_hero_gideon_atlas.gsc b/AW/PC/character/character_hero_gideon_atlas.gsc new file mode 100644 index 0000000..8dea530 --- /dev/null +++ b/AW/PC/character/character_hero_gideon_atlas.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_gideon_atlas.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 2:02:03 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_hero_burke_atlas"); + self attach("head_hero_gideon_beanie","",1); + self.headmodel = "head_hero_gideon_beanie"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_hero_burke_atlas"); + precachemodel("head_hero_gideon_beanie"); +} \ No newline at end of file diff --git a/AW/PC/character/character_hero_gideon_atlas_arctic.gsc b/AW/PC/character/character_hero_gideon_atlas_arctic.gsc new file mode 100644 index 0000000..a3c5184 --- /dev/null +++ b/AW/PC/character/character_hero_gideon_atlas_arctic.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_gideon_atlas_arctic.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 2:02:03 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("atlas_arctic_body"); + self attach("head_hero_gideon_beanie","",1); + self.headmodel = "head_hero_gideon_beanie"; + self.voice = "atlas"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("atlas_arctic_body"); + precachemodel("head_hero_gideon_beanie"); +} \ No newline at end of file diff --git a/AW/PC/SP/character/character_hero_gideon_atlas_pmc.gsc b/AW/PC/character/character_hero_gideon_atlas_pmc.gsc similarity index 82% rename from AW/PC/SP/character/character_hero_gideon_atlas_pmc.gsc rename to AW/PC/character/character_hero_gideon_atlas_pmc.gsc index 7d07da6..62ca24a 100644 --- a/AW/PC/SP/character/character_hero_gideon_atlas_pmc.gsc +++ b/AW/PC/character/character_hero_gideon_atlas_pmc.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_hero_gideon_atlas_pmc.gsc + * Decompiled File: character_hero_gideon_atlas_pmc.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:57:13 AM + * Decompile Time: 48 ms + * Timestamp: 4/22/2024 2:02:04 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/character/character_hero_gideon_atlas_pmc_mask.gsc b/AW/PC/character/character_hero_gideon_atlas_pmc_mask.gsc new file mode 100644 index 0000000..571f9b5 --- /dev/null +++ b/AW/PC/character/character_hero_gideon_atlas_pmc_mask.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_gideon_atlas_pmc_mask.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:02:04 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("kva_body_assault"); + self attach("head_hero_gideon_mask","",1); + self.headmodel = "head_hero_gideon_mask"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("kva_body_assault"); + precachemodel("head_hero_gideon_mask"); +} \ No newline at end of file diff --git a/AW/PC/character/character_hero_gideon_captured.gsc b/AW/PC/character/character_hero_gideon_captured.gsc new file mode 100644 index 0000000..a58d10b --- /dev/null +++ b/AW/PC/character/character_hero_gideon_captured.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_gideon_captured.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:02:05 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("sentinel_pilot_body_captured"); + self attach("head_hero_gideon_blend","",1); + self.headmodel = "head_hero_gideon_blend"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("sentinel_pilot_body_captured"); + precachemodel("head_hero_gideon_blend"); +} \ No newline at end of file diff --git a/AW/PC/character/character_hero_gideon_pmc.gsc b/AW/PC/character/character_hero_gideon_pmc.gsc new file mode 100644 index 0000000..130665c --- /dev/null +++ b/AW/PC/character/character_hero_gideon_pmc.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_gideon_pmc.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 44 ms + * Timestamp: 4/22/2024 2:02:05 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("atlas_pmc_body"); + self attach("head_hero_gideon_beanie","",1); + self.headmodel = "head_hero_gideon_beanie"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("atlas_pmc_body"); + precachemodel("head_hero_gideon_beanie"); +} \ No newline at end of file diff --git a/AW/PC/character/character_hero_gideon_sentinel_cloak.gsc b/AW/PC/character/character_hero_gideon_sentinel_cloak.gsc new file mode 100644 index 0000000..b57a185 --- /dev/null +++ b/AW/PC/character/character_hero_gideon_sentinel_cloak.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_gideon_sentinel_cloak.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:02:05 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_hero_burke_sentinel_covert"); + self attach("head_hero_gideon_sentinel_covert","",1); + self.headmodel = "head_hero_gideon_sentinel_covert"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_hero_burke_sentinel_covert"); + precachemodel("head_hero_gideon_sentinel_covert"); +} \ No newline at end of file diff --git a/AW/PC/character/character_hero_gideon_sentinel_finale.gsc b/AW/PC/character/character_hero_gideon_sentinel_finale.gsc new file mode 100644 index 0000000..c1a65c2 --- /dev/null +++ b/AW/PC/character/character_hero_gideon_sentinel_finale.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_gideon_sentinel_finale.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 2:02:06 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_hero_gideon_pilot_finale"); + self attach("head_hero_gideon_blend","",1); + self.headmodel = "head_hero_gideon_blend"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_hero_gideon_pilot_finale"); + precachemodel("head_hero_gideon_blend"); +} \ No newline at end of file diff --git a/AW/PC/character/character_hero_gideon_sentinel_jetpack.gsc b/AW/PC/character/character_hero_gideon_sentinel_jetpack.gsc new file mode 100644 index 0000000..e3f822b --- /dev/null +++ b/AW/PC/character/character_hero_gideon_sentinel_jetpack.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_gideon_sentinel_jetpack.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 2:02:06 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("burke_sentinel_body"); + self attach("head_hero_gideon_beanie","",1); + self.headmodel = "head_hero_gideon_beanie"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("burke_sentinel_body"); + precachemodel("head_hero_gideon_beanie"); +} \ No newline at end of file diff --git a/AW/PC/character/character_hero_ilana_atlas_pmc.gsc b/AW/PC/character/character_hero_ilana_atlas_pmc.gsc new file mode 100644 index 0000000..9b307f0 --- /dev/null +++ b/AW/PC/character/character_hero_ilana_atlas_pmc.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_ilana_atlas_pmc.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:02:06 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("ilana_atlas_pmc"); + self attach("head_hero_ilana_blend","",1); + self.headmodel = "head_hero_ilana_blend"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("ilana_atlas_pmc"); + precachemodel("head_hero_ilana_blend"); +} \ No newline at end of file diff --git a/AW/PC/character/character_hero_ilana_captured.gsc b/AW/PC/character/character_hero_ilana_captured.gsc new file mode 100644 index 0000000..261b5b4 --- /dev/null +++ b/AW/PC/character/character_hero_ilana_captured.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_ilana_captured.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 38 ms + * Timestamp: 4/22/2024 2:02:07 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_ilana_sentinel_pilot_captured"); + self attach("head_hero_ilana_blend","",1); + self.headmodel = "head_hero_ilana_blend"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_ilana_sentinel_pilot_captured"); + precachemodel("head_hero_ilana_blend"); +} \ No newline at end of file diff --git a/AW/PC/character/character_hero_ilana_sentinel_arctic.gsc b/AW/PC/character/character_hero_ilana_sentinel_arctic.gsc new file mode 100644 index 0000000..9b61b6f --- /dev/null +++ b/AW/PC/character/character_hero_ilana_sentinel_arctic.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_ilana_sentinel_arctic.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:02:07 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_hero_ilana_sentinel_halo"); + self attach("head_hero_ilana_blend","",1); + self.headmodel = "head_hero_ilana_blend"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_hero_ilana_sentinel_halo"); + precachemodel("head_hero_ilana_blend"); +} \ No newline at end of file diff --git a/AW/PC/character/character_hero_ilana_sentinel_udt_b.gsc b/AW/PC/character/character_hero_ilana_sentinel_udt_b.gsc new file mode 100644 index 0000000..1094a33 --- /dev/null +++ b/AW/PC/character/character_hero_ilana_sentinel_udt_b.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_ilana_sentinel_udt_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 2:02:08 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_ilana_sentinel_udt_dry"); + self attach("head_hero_ilana_blend","",1); + self.headmodel = "head_hero_ilana_blend"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_ilana_sentinel_udt_dry"); + precachemodel("head_hero_ilana_blend"); +} \ No newline at end of file diff --git a/AW/PC/character/character_hero_ilana_sentinel_udtgr.gsc b/AW/PC/character/character_hero_ilana_sentinel_udtgr.gsc new file mode 100644 index 0000000..0495e6c --- /dev/null +++ b/AW/PC/character/character_hero_ilana_sentinel_udtgr.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_ilana_sentinel_udtgr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 38 ms + * Timestamp: 4/22/2024 2:02:08 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_ilana_sentinel_udt_grapple"); + self attach("head_hero_ilana_blend","",1); + self.headmodel = "head_hero_ilana_blend"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_ilana_sentinel_udt_grapple"); + precachemodel("head_hero_ilana_blend"); +} \ No newline at end of file diff --git a/AW/PC/character/character_hero_ilana_tourist.gsc b/AW/PC/character/character_hero_ilana_tourist.gsc new file mode 100644 index 0000000..e324790 --- /dev/null +++ b/AW/PC/character/character_hero_ilana_tourist.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_ilana_tourist.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:02:08 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_ilana_civilian"); + self attach("head_hero_ilana_blend","",1); + self.headmodel = "head_hero_ilana_blend"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_ilana_civilian"); + precachemodel("head_hero_ilana_blend"); +} \ No newline at end of file diff --git a/AW/PC/character/character_hero_irons.gsc b/AW/PC/character/character_hero_irons.gsc new file mode 100644 index 0000000..52e27e7 --- /dev/null +++ b/AW/PC/character/character_hero_irons.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_irons.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:02:09 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("irons_suit"); + self attach("head_hero_irons_blend","",1); + self.headmodel = "head_hero_irons_blend"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("irons_suit"); + precachemodel("head_hero_irons_blend"); +} \ No newline at end of file diff --git a/AW/PC/character/character_hero_joker_atlas.gsc b/AW/PC/character/character_hero_joker_atlas.gsc new file mode 100644 index 0000000..09b07b3 --- /dev/null +++ b/AW/PC/character/character_hero_joker_atlas.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_joker_atlas.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 2:02:09 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("atlas_body"); + self attach("head_hero_joker_goggles","",1); + self.headmodel = "head_hero_joker_goggles"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("atlas_body"); + precachemodel("head_hero_joker_goggles"); +} \ No newline at end of file diff --git a/AW/PC/character/character_hero_joker_atlas_pmc.gsc b/AW/PC/character/character_hero_joker_atlas_pmc.gsc new file mode 100644 index 0000000..a6093ff --- /dev/null +++ b/AW/PC/character/character_hero_joker_atlas_pmc.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_joker_atlas_pmc.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 50 ms + * Timestamp: 4/22/2024 2:02:09 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("joker_atlas_pmc"); + self attach("head_hero_joker_goggles","",1); + self.headmodel = "head_hero_joker_goggles"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("joker_atlas_pmc"); + precachemodel("head_hero_joker_goggles"); +} \ No newline at end of file diff --git a/AW/PC/character/character_hero_knox_sentinel.gsc b/AW/PC/character/character_hero_knox_sentinel.gsc new file mode 100644 index 0000000..f23242b --- /dev/null +++ b/AW/PC/character/character_hero_knox_sentinel.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_knox_sentinel.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:02:10 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("sentinel_body_nojet_b"); + self attach("head_hero_knox_blend","",1); + self.headmodel = "head_hero_knox_blend"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("sentinel_body_nojet_b"); + precachemodel("head_hero_knox_blend"); +} \ No newline at end of file diff --git a/AW/PC/character/character_hero_knox_sentinel_cloak.gsc b/AW/PC/character/character_hero_knox_sentinel_cloak.gsc new file mode 100644 index 0000000..b1464a9 --- /dev/null +++ b/AW/PC/character/character_hero_knox_sentinel_cloak.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_knox_sentinel_cloak.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:02:10 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("sentinel_covert_body_a"); + self attach("head_hero_knox_sentinel_covert_blend","",1); + self.headmodel = "head_hero_knox_sentinel_covert_blend"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("sentinel_covert_body_a"); + precachemodel("head_hero_knox_sentinel_covert_blend"); +} \ No newline at end of file diff --git a/AW/PC/character/character_hero_knox_sentinel_det_cloak.gsc b/AW/PC/character/character_hero_knox_sentinel_det_cloak.gsc new file mode 100644 index 0000000..5386d73 --- /dev/null +++ b/AW/PC/character/character_hero_knox_sentinel_det_cloak.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_knox_sentinel_det_cloak.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 38 ms + * Timestamp: 4/22/2024 2:02:10 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("sentinel_covert_body_a"); + self attach("head_hero_knox_sentinel_covert_blend","",1); + self.headmodel = "head_hero_knox_sentinel_covert_blend"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("sentinel_covert_body_a"); + precachemodel("head_hero_knox_sentinel_covert_blend"); +} \ No newline at end of file diff --git a/AW/PC/character/character_hero_knox_sentinel_jetpack.gsc b/AW/PC/character/character_hero_knox_sentinel_jetpack.gsc new file mode 100644 index 0000000..17afab7 --- /dev/null +++ b/AW/PC/character/character_hero_knox_sentinel_jetpack.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_knox_sentinel_jetpack.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 47 ms + * Timestamp: 4/22/2024 2:02:11 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("sentinel_body_c"); + self attach("head_hero_knox_blend","",1); + self.headmodel = "head_hero_knox_blend"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("sentinel_body_c"); + precachemodel("head_hero_knox_blend"); +} \ No newline at end of file diff --git a/AW/PC/character/character_hero_knox_sentinel_udt.gsc b/AW/PC/character/character_hero_knox_sentinel_udt.gsc new file mode 100644 index 0000000..102ac21 --- /dev/null +++ b/AW/PC/character/character_hero_knox_sentinel_udt.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_knox_sentinel_udt.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 2:02:11 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_hero_cormack_sentinel_udt_dry"); + self attach("head_hero_knox_sentinel_halo_blend","",1); + self.headmodel = "head_hero_knox_sentinel_halo_blend"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_hero_cormack_sentinel_udt_dry"); + precachemodel("head_hero_knox_sentinel_halo_blend"); +} \ No newline at end of file diff --git a/AW/PC/character/character_hero_knox_sentinel_udtgr.gsc b/AW/PC/character/character_hero_knox_sentinel_udtgr.gsc new file mode 100644 index 0000000..6182354 --- /dev/null +++ b/AW/PC/character/character_hero_knox_sentinel_udtgr.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_knox_sentinel_udtgr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 51 ms + * Timestamp: 4/22/2024 2:02:12 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_hero_cormack_sentinel_udt_grapple"); + self attach("head_hero_knox_sentinel_halo_blend","",1); + self.headmodel = "head_hero_knox_sentinel_halo_blend"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_hero_cormack_sentinel_udt_grapple"); + precachemodel("head_hero_knox_sentinel_halo_blend"); +} \ No newline at end of file diff --git a/AW/PC/character/character_hero_parker_atlas.gsc b/AW/PC/character/character_hero_parker_atlas.gsc new file mode 100644 index 0000000..681a5ca --- /dev/null +++ b/AW/PC/character/character_hero_parker_atlas.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_hero_parker_atlas.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:02:12 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("atlas_body"); + self attach("head_m_gen_mde_azzam","",1); + self.headmodel = "head_m_gen_mde_azzam"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("atlas_body"); + precachemodel("head_m_gen_mde_azzam"); +} \ No newline at end of file diff --git a/AW/PC/SP/character/character_hero_will_marine.gsc b/AW/PC/character/character_hero_will_marine.gsc similarity index 82% rename from AW/PC/SP/character/character_hero_will_marine.gsc rename to AW/PC/character/character_hero_will_marine.gsc index 45a8572..441e2ef 100644 --- a/AW/PC/SP/character/character_hero_will_marine.gsc +++ b/AW/PC/character/character_hero_will_marine.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_hero_will_marine.gsc + * Decompiled File: character_hero_will_marine.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 1:57:14 AM + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:02:12 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/character/character_hero_will_marine_seointro.gsc b/AW/PC/character/character_hero_will_marine_seointro.gsc similarity index 81% rename from AW/PC/SP/character/character_hero_will_marine_seointro.gsc rename to AW/PC/character/character_hero_will_marine_seointro.gsc index 4822400..31f605d 100644 --- a/AW/PC/SP/character/character_hero_will_marine_seointro.gsc +++ b/AW/PC/character/character_hero_will_marine_seointro.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_hero_will_marine_seointro.gsc + * Decompiled File: character_hero_will_marine_seointro.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 39 ms - * Timestamp: 10/27/2023 1:57:14 AM + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 2:02:13 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/character/character_ie_doctor.gsc b/AW/PC/character/character_ie_doctor.gsc new file mode 100644 index 0000000..5ee14b8 --- /dev/null +++ b/AW/PC/character/character_ie_doctor.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_ie_doctor.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:02:13 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("civ_urban_male_body_g"); + self attach("dr_pas_head","",1); + self.headmodel = "dr_pas_head"; + self.voice = "atlas"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("civ_urban_male_body_g"); + precachemodel("dr_pas_head"); +} \ No newline at end of file diff --git a/AW/PC/character/character_kva_ar.gsc b/AW/PC/character/character_kva_ar.gsc new file mode 100644 index 0000000..0a0f1ec --- /dev/null +++ b/AW/PC/character/character_kva_ar.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_kva_ar.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 48 ms + * Timestamp: 4/22/2024 2:02:13 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("kva_body_assault"); + codescripts\character::attachhead("alias_kva_heads",xmodelalias\alias_kva_heads::main()); + self.voice = "kva"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("kva_body_assault"); + codescripts\character::precachemodelarray(xmodelalias\alias_kva_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_kva_civ_a.gsc b/AW/PC/character/character_kva_civ_a.gsc new file mode 100644 index 0000000..7419adf --- /dev/null +++ b/AW/PC/character/character_kva_civ_a.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_kva_civ_a.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 2:02:14 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("kva_civilian_a"); + self attach("head_m_act_cau_bedrosian_base","",1); + self.headmodel = "head_m_act_cau_bedrosian_base"; + self.voice = "kva"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("kva_civilian_a"); + precachemodel("head_m_act_cau_bedrosian_base"); +} \ No newline at end of file diff --git a/AW/PC/character/character_kva_civ_b.gsc b/AW/PC/character/character_kva_civ_b.gsc new file mode 100644 index 0000000..80e08b6 --- /dev/null +++ b/AW/PC/character/character_kva_civ_b.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_kva_civ_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:02:14 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("kva_civilian_b"); + self attach("head_m_gen_cau_young","",1); + self.headmodel = "head_m_gen_cau_young"; + self.voice = "kva"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("kva_civilian_b"); + precachemodel("head_m_gen_cau_young"); +} \ No newline at end of file diff --git a/AW/PC/character/character_kva_civ_c.gsc b/AW/PC/character/character_kva_civ_c.gsc new file mode 100644 index 0000000..760360b --- /dev/null +++ b/AW/PC/character/character_kva_civ_c.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_kva_civ_c.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 47 ms + * Timestamp: 4/22/2024 2:02:15 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("kva_civilian_c"); + self attach("head_m_gen_cau_barton_kva_civ","",1); + self.headmodel = "head_m_gen_cau_barton_kva_civ"; + self.voice = "kva"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("kva_civilian_c"); + precachemodel("head_m_gen_cau_barton_kva_civ"); +} \ No newline at end of file diff --git a/AW/PC/character/character_kva_hazmat.gsc b/AW/PC/character/character_kva_hazmat.gsc new file mode 100644 index 0000000..a8ab4b4 --- /dev/null +++ b/AW/PC/character/character_kva_hazmat.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_kva_hazmat.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:02:15 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("kva_hazmat_body_a"); + self attach("kva_hazmat_head_a","",1); + self.headmodel = "kva_hazmat_head_a"; + self.voice = "kva"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("kva_hazmat_body_a"); + precachemodel("kva_hazmat_head_a"); +} \ No newline at end of file diff --git a/AW/PC/character/character_kva_hazmat_nohat.gsc b/AW/PC/character/character_kva_hazmat_nohat.gsc new file mode 100644 index 0000000..4b7d60a --- /dev/null +++ b/AW/PC/character/character_kva_hazmat_nohat.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_kva_hazmat_nohat.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 2:02:15 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("kva_hazmat_body_low"); + codescripts\character::attachhead("alias_civ_cau_male_heads_hazmat_nohat",xmodelalias\alias_civ_cau_male_heads_hazmat_nohat::main()); + self.voice = "kva"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("kva_hazmat_body_low"); + codescripts\character::precachemodelarray(xmodelalias\alias_civ_cau_male_heads_hazmat_nohat::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_kva_leader_hades.gsc b/AW/PC/character/character_kva_leader_hades.gsc new file mode 100644 index 0000000..d117309 --- /dev/null +++ b/AW/PC/character/character_kva_leader_hades.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_kva_leader_hades.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 51 ms + * Timestamp: 4/22/2024 2:02:16 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("kva_leader_body"); + self attach("kva_leader_head","",1); + self.headmodel = "kva_leader_head"; + self.voice = "kva"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("kva_leader_body"); + precachemodel("kva_leader_head"); +} \ No newline at end of file diff --git a/AW/PC/character/character_kva_lmg.gsc b/AW/PC/character/character_kva_lmg.gsc new file mode 100644 index 0000000..6b7d5de --- /dev/null +++ b/AW/PC/character/character_kva_lmg.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_kva_lmg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:02:16 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("kva_body_lmg"); + codescripts\character::attachhead("alias_kva_heads",xmodelalias\alias_kva_heads::main()); + self.voice = "kva"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("kva_body_lmg"); + codescripts\character::precachemodelarray(xmodelalias\alias_kva_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_kva_shotgun.gsc b/AW/PC/character/character_kva_shotgun.gsc new file mode 100644 index 0000000..aaab2d4 --- /dev/null +++ b/AW/PC/character/character_kva_shotgun.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_kva_shotgun.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 2:02:16 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("kva_body_shotgun"); + codescripts\character::attachhead("alias_kva_heads",xmodelalias\alias_kva_heads::main()); + self.voice = "kva"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("kva_body_shotgun"); + codescripts\character::precachemodelarray(xmodelalias\alias_kva_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_kva_smg.gsc b/AW/PC/character/character_kva_smg.gsc new file mode 100644 index 0000000..5e1eb90 --- /dev/null +++ b/AW/PC/character/character_kva_smg.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_kva_smg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 50 ms + * Timestamp: 4/22/2024 2:02:17 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("kva_body_smg2"); + codescripts\character::attachhead("alias_kva_heads",xmodelalias\alias_kva_heads::main()); + self.voice = "kva"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("kva_body_smg2"); + codescripts\character::precachemodelarray(xmodelalias\alias_kva_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/SP/character/character_mech.gsc b/AW/PC/character/character_mech.gsc similarity index 83% rename from AW/PC/SP/character/character_mech.gsc rename to AW/PC/character/character_mech.gsc index 167b0d6..9cb17d6 100644 --- a/AW/PC/SP/character/character_mech.gsc +++ b/AW/PC/character/character_mech.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_mech.gsc + * Decompiled File: character_mech.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 27 ms - * Timestamp: 10/27/2023 1:57:15 AM + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 2:02:17 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/character/character_mech_long_lod.gsc b/AW/PC/character/character_mech_long_lod.gsc new file mode 100644 index 0000000..cc8d3d5 --- /dev/null +++ b/AW/PC/character/character_mech_long_lod.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_mech_long_lod.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 2:02:18 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("npc_exo_armor_long_lod"); + self attach("npc_exo_armor_atlas_head","",1); + self.headmodel = "npc_exo_armor_atlas_head"; + self.voice = "atlas"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("npc_exo_armor_long_lod"); + precachemodel("npc_exo_armor_atlas_head"); +} \ No newline at end of file diff --git a/AW/PC/character/character_mech_scaled.gsc b/AW/PC/character/character_mech_scaled.gsc new file mode 100644 index 0000000..5b6ebaa --- /dev/null +++ b/AW/PC/character/character_mech_scaled.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_mech_scaled.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 2:02:18 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("npc_exo_armor_base_scaled"); + self attach("npc_exo_armor_atlas_head","",1); + self.headmodel = "npc_exo_armor_atlas_head"; + self.voice = "atlas"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("npc_exo_armor_base_scaled"); + precachemodel("npc_exo_armor_atlas_head"); +} \ No newline at end of file diff --git a/AW/PC/character/character_navy_sf_assault_a.gsc b/AW/PC/character/character_navy_sf_assault_a.gsc new file mode 100644 index 0000000..e929c20 --- /dev/null +++ b/AW/PC/character/character_navy_sf_assault_a.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_navy_sf_assault_a.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 2:02:18 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("navy_body_c"); + self attach("navy_head_a","",1); + self.headmodel = "navy_head_a"; + self.voice = "sentinel"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("navy_body_c"); + precachemodel("navy_head_a"); +} \ No newline at end of file diff --git a/AW/PC/character/character_navy_sf_assault_b.gsc b/AW/PC/character/character_navy_sf_assault_b.gsc new file mode 100644 index 0000000..6e18b0b --- /dev/null +++ b/AW/PC/character/character_navy_sf_assault_b.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_navy_sf_assault_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 2:02:19 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("navy_body_c"); + self attach("head_m_gen_cau_young","",1); + self.headmodel = "head_m_gen_cau_young"; + self.voice = "sentinel"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("navy_body_c"); + precachemodel("head_m_gen_cau_young"); +} \ No newline at end of file diff --git a/AW/PC/character/character_navy_sf_assault_c.gsc b/AW/PC/character/character_navy_sf_assault_c.gsc new file mode 100644 index 0000000..d7408b4 --- /dev/null +++ b/AW/PC/character/character_navy_sf_assault_c.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_navy_sf_assault_c.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 44 ms + * Timestamp: 4/22/2024 2:02:19 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("navy_body_c"); + self attach("navy_head_c","",1); + self.headmodel = "navy_head_c"; + self.voice = "sentinel"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("navy_body_c"); + precachemodel("navy_head_c"); +} \ No newline at end of file diff --git a/AW/PC/character/character_nigerian_army.gsc b/AW/PC/character/character_nigerian_army.gsc new file mode 100644 index 0000000..5e8efab --- /dev/null +++ b/AW/PC/character/character_nigerian_army.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_nigerian_army.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:02:19 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_nigerian_army_bodies::main()); + codescripts\character::attachhead("alias_nigerian_army_heads",xmodelalias\alias_nigerian_army_heads::main()); + self.voice = "african"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_nigerian_army_bodies::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_nigerian_army_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_nigerian_general.gsc b/AW/PC/character/character_nigerian_general.gsc new file mode 100644 index 0000000..78aa8b7 --- /dev/null +++ b/AW/PC/character/character_nigerian_general.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_nigerian_general.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:02:20 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("nigerian_general_body"); + self attach("nigerian_general_head","",1); + self.headmodel = "nigerian_general_head"; + self.voice = "african"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("nigerian_general_body"); + precachemodel("nigerian_general_head"); +} \ No newline at end of file diff --git a/AW/PC/character/character_nigerian_prime_minister.gsc b/AW/PC/character/character_nigerian_prime_minister.gsc new file mode 100644 index 0000000..b3732b4 --- /dev/null +++ b/AW/PC/character/character_nigerian_prime_minister.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_nigerian_prime_minister.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 2:02:20 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("nigerian_prime_minister_body"); + self attach("prime_minister_head","",1); + self.headmodel = "prime_minister_head"; + self.voice = "african"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("nigerian_prime_minister_body"); + precachemodel("prime_minister_head"); +} \ No newline at end of file diff --git a/AW/PC/character/character_pmc_ar.gsc b/AW/PC/character/character_pmc_ar.gsc new file mode 100644 index 0000000..b6b3d00 --- /dev/null +++ b/AW/PC/character/character_pmc_ar.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_pmc_ar.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 54 ms + * Timestamp: 4/22/2024 2:02:21 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("burke_atlas_pmc"); + codescripts\character::attachhead("alias_pmc_casual_heads",xmodelalias\alias_pmc_casual_heads::main()); + self.voice = "atlas"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("burke_atlas_pmc"); + codescripts\character::precachemodelarray(xmodelalias\alias_pmc_casual_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_pmc_ar_lowlod.gsc b/AW/PC/character/character_pmc_ar_lowlod.gsc new file mode 100644 index 0000000..14c5e14 --- /dev/null +++ b/AW/PC/character/character_pmc_ar_lowlod.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_pmc_ar_lowlod.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 2:02:21 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("marines_body_assault_lowlod"); + self attach("pmc_casual_head_c_lowlod","",1); + self.headmodel = "pmc_casual_head_c_lowlod"; + self.voice = "atlas"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("marines_body_assault_lowlod"); + precachemodel("pmc_casual_head_c_lowlod"); +} \ No newline at end of file diff --git a/AW/PC/character/character_pmc_cap_ar.gsc b/AW/PC/character/character_pmc_cap_ar.gsc new file mode 100644 index 0000000..8d97ea4 --- /dev/null +++ b/AW/PC/character/character_pmc_cap_ar.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_pmc_cap_ar.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:02:21 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("atlas_pmc_body"); + self attach("pmc_casual_head_c","",1); + self.headmodel = "pmc_casual_head_c"; + self.voice = "atlas"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("atlas_pmc_body"); + precachemodel("pmc_casual_head_c"); +} \ No newline at end of file diff --git a/AW/PC/character/character_pmc_noexo.gsc b/AW/PC/character/character_pmc_noexo.gsc new file mode 100644 index 0000000..06a3aaa --- /dev/null +++ b/AW/PC/character/character_pmc_noexo.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_pmc_noexo.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 2:02:22 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("atlas_pmc_body_noexo"); + codescripts\character::attachhead("alias_pmc_casual_heads",xmodelalias\alias_pmc_casual_heads::main()); + self.voice = "atlas"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("atlas_pmc_body_noexo"); + codescripts\character::precachemodelarray(xmodelalias\alias_pmc_casual_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_pmc_noexo_rec_driver.gsc b/AW/PC/character/character_pmc_noexo_rec_driver.gsc new file mode 100644 index 0000000..1dd8b5f --- /dev/null +++ b/AW/PC/character/character_pmc_noexo_rec_driver.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_pmc_noexo_rec_driver.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 2:02:22 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("atlas_pmc_body_noexo"); + self attach("head_m_gen_cau_young_atlas_pmc","",1); + self.headmodel = "head_m_gen_cau_young_atlas_pmc"; + self.voice = "atlas"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("atlas_pmc_body_noexo"); + precachemodel("head_m_gen_cau_young_atlas_pmc"); +} \ No newline at end of file diff --git a/AW/PC/SP/character/character_pmc_smg.gsc b/AW/PC/character/character_pmc_smg.gsc similarity index 84% rename from AW/PC/SP/character/character_pmc_smg.gsc rename to AW/PC/character/character_pmc_smg.gsc index 08075ca..6bed5bc 100644 --- a/AW/PC/SP/character/character_pmc_smg.gsc +++ b/AW/PC/character/character_pmc_smg.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_pmc_smg.gsc + * Decompiled File: character_pmc_smg.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 32 ms - * Timestamp: 10/27/2023 1:57:15 AM + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:02:22 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/character/character_pmc_smg_asi.gsc b/AW/PC/character/character_pmc_smg_asi.gsc similarity index 84% rename from AW/PC/SP/character/character_pmc_smg_asi.gsc rename to AW/PC/character/character_pmc_smg_asi.gsc index e85e4e9..0f83aa7 100644 --- a/AW/PC/SP/character/character_pmc_smg_asi.gsc +++ b/AW/PC/character/character_pmc_smg_asi.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_pmc_smg_asi.gsc + * Decompiled File: character_pmc_smg_asi.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:57:16 AM + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:02:23 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/character/character_potus.gsc b/AW/PC/character/character_potus.gsc new file mode 100644 index 0000000..3a7f32f --- /dev/null +++ b/AW/PC/character/character_potus.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_potus.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 2:02:23 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("president_body"); + self attach("head_m_gen_cau_potus_base","",1); + self.headmodel = "head_m_gen_cau_potus_base"; + self.voice = "sentinel"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("president_body"); + precachemodel("head_m_gen_cau_potus_base"); +} \ No newline at end of file diff --git a/AW/PC/character/character_sentinel.gsc b/AW/PC/character/character_sentinel.gsc new file mode 100644 index 0000000..ffdc53d --- /dev/null +++ b/AW/PC/character/character_sentinel.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_sentinel.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 38 ms + * Timestamp: 4/22/2024 2:02:23 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_sentinel_bodies::main()); + codescripts\character::attachhead("alias_sentinel_heads",xmodelalias\alias_sentinel_heads::main()); + self.voice = "sentinel"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_sentinel_bodies::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_sentinel_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_sentinel_arctic_ar.gsc b/AW/PC/character/character_sentinel_arctic_ar.gsc new file mode 100644 index 0000000..d9b4c47 --- /dev/null +++ b/AW/PC/character/character_sentinel_arctic_ar.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_sentinel_arctic_ar.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 2:02:24 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_sentinel_arctic_bodies::main()); + codescripts\character::attachhead("alias_sentinel_arctic_heads",xmodelalias\alias_sentinel_arctic_heads::main()); + self.voice = "sentinel"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_sentinel_arctic_bodies::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_sentinel_arctic_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_sentinel_cloak.gsc b/AW/PC/character/character_sentinel_cloak.gsc new file mode 100644 index 0000000..acf181c --- /dev/null +++ b/AW/PC/character/character_sentinel_cloak.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_sentinel_cloak.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 2:02:24 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("sentinel_covert_body_a"); + self attach("sentinel_covert_head_a","",1); + self.headmodel = "sentinel_covert_head_a"; + self.voice = "sentinel"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("sentinel_covert_body_a"); + precachemodel("sentinel_covert_head_a"); +} \ No newline at end of file diff --git a/AW/PC/character/character_sentinel_ie.gsc b/AW/PC/character/character_sentinel_ie.gsc new file mode 100644 index 0000000..b38ed62 --- /dev/null +++ b/AW/PC/character/character_sentinel_ie.gsc @@ -0,0 +1,23 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_sentinel_ie.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 48 ms + * Timestamp: 4/22/2024 2:02:25 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("sentinel_udt_underwater"); + self.voice = "sentinel"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("sentinel_udt_underwater"); +} \ No newline at end of file diff --git a/AW/PC/character/character_sentinel_ie_land.gsc b/AW/PC/character/character_sentinel_ie_land.gsc new file mode 100644 index 0000000..83e1e64 --- /dev/null +++ b/AW/PC/character/character_sentinel_ie_land.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_sentinel_ie_land.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:02:25 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("sentinel_udt_land_body"); + codescripts\character::attachhead("alias_sentinel_udt_heads",xmodelalias\alias_sentinel_udt_heads::main()); + self.voice = "sentinel"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("sentinel_udt_land_body"); + codescripts\character::precachemodelarray(xmodelalias\alias_sentinel_udt_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_sentinel_soldier_cloaked.gsc b/AW/PC/character/character_sentinel_soldier_cloaked.gsc new file mode 100644 index 0000000..8fa0bb4 --- /dev/null +++ b/AW/PC/character/character_sentinel_soldier_cloaked.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_sentinel_soldier_cloaked.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 2:02:25 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("body_sentinel_soldier_cloaked"); + self attach("head_sentinel_soldier_cloaked","",1); + self.headmodel = "head_sentinel_soldier_cloaked"; + self.voice = "xslice"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("body_sentinel_soldier_cloaked"); + precachemodel("head_sentinel_soldier_cloaked"); +} \ No newline at end of file diff --git a/AW/PC/character/character_sf_police_a.gsc b/AW/PC/character/character_sf_police_a.gsc new file mode 100644 index 0000000..3f2f055 --- /dev/null +++ b/AW/PC/character/character_sf_police_a.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_sf_police_a.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 49 ms + * Timestamp: 4/22/2024 2:02:26 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("sf_police_body_darkskin"); + self attach("head_m_gen_afr_davis_police","",1); + self.headmodel = "head_m_gen_afr_davis_police"; + self.voice = "sentinel"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("sf_police_body_darkskin"); + precachemodel("head_m_gen_afr_davis_police"); +} \ No newline at end of file diff --git a/AW/PC/character/character_sf_police_b.gsc b/AW/PC/character/character_sf_police_b.gsc new file mode 100644 index 0000000..2a0daf4 --- /dev/null +++ b/AW/PC/character/character_sf_police_b.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_sf_police_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 2:02:26 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("sf_police_body"); + self attach("head_m_gen_cau_young_police","",1); + self.headmodel = "head_m_gen_cau_young_police"; + self.voice = "sentinel"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("sf_police_body"); + precachemodel("head_m_gen_cau_young_police"); +} \ No newline at end of file diff --git a/AW/PC/character/character_sf_police_c.gsc b/AW/PC/character/character_sf_police_c.gsc new file mode 100644 index 0000000..3548727 --- /dev/null +++ b/AW/PC/character/character_sf_police_c.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_sf_police_c.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:02:26 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("sf_police_body"); + self attach("sf_police_head_c","",1); + self.headmodel = "sf_police_head_c"; + self.voice = "sentinel"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("sf_police_body"); + precachemodel("sf_police_head_c"); +} \ No newline at end of file diff --git a/AW/PC/character/character_sp_doberman_dog.gsc b/AW/PC/character/character_sp_doberman_dog.gsc new file mode 100644 index 0000000..55cb5bc --- /dev/null +++ b/AW/PC/character/character_sp_doberman_dog.gsc @@ -0,0 +1,23 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_sp_doberman_dog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 48 ms + * Timestamp: 4/22/2024 2:02:27 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("animal_dobernan"); + self.voice = "arab"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("animal_dobernan"); +} \ No newline at end of file diff --git a/AW/PC/SP/character/character_sp_usmc_at4.gsc b/AW/PC/character/character_sp_usmc_at4.gsc similarity index 83% rename from AW/PC/SP/character/character_sp_usmc_at4.gsc rename to AW/PC/character/character_sp_usmc_at4.gsc index 0ce8068..57e5fd6 100644 --- a/AW/PC/SP/character/character_sp_usmc_at4.gsc +++ b/AW/PC/character/character_sp_usmc_at4.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_sp_usmc_at4.gsc + * Decompiled File: character_sp_usmc_at4.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 39 ms - * Timestamp: 10/27/2023 1:57:16 AM + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:02:27 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/character/character_sp_usmc_james.gsc b/AW/PC/character/character_sp_usmc_james.gsc similarity index 83% rename from AW/PC/SP/character/character_sp_usmc_james.gsc rename to AW/PC/character/character_sp_usmc_james.gsc index b2cced5..5855463 100644 --- a/AW/PC/SP/character/character_sp_usmc_james.gsc +++ b/AW/PC/character/character_sp_usmc_james.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_sp_usmc_james.gsc + * Decompiled File: character_sp_usmc_james.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 35 ms - * Timestamp: 10/27/2023 1:57:17 AM + * Decompile Time: 48 ms + * Timestamp: 4/22/2024 2:02:28 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/character/character_sp_usmc_ryan.gsc b/AW/PC/character/character_sp_usmc_ryan.gsc similarity index 83% rename from AW/PC/SP/character/character_sp_usmc_ryan.gsc rename to AW/PC/character/character_sp_usmc_ryan.gsc index 99a2a26..7b9a82b 100644 --- a/AW/PC/SP/character/character_sp_usmc_ryan.gsc +++ b/AW/PC/character/character_sp_usmc_ryan.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_sp_usmc_ryan.gsc + * Decompiled File: character_sp_usmc_ryan.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 29 ms - * Timestamp: 10/27/2023 1:57:17 AM + * Decompile Time: 49 ms + * Timestamp: 4/22/2024 2:02:28 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/character/character_sp_usmc_sami.gsc b/AW/PC/character/character_sp_usmc_sami.gsc similarity index 83% rename from AW/PC/SP/character/character_sp_usmc_sami.gsc rename to AW/PC/character/character_sp_usmc_sami.gsc index fba1773..a45a616 100644 --- a/AW/PC/SP/character/character_sp_usmc_sami.gsc +++ b/AW/PC/character/character_sp_usmc_sami.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_sp_usmc_sami.gsc + * Decompiled File: character_sp_usmc_sami.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 28 ms - * Timestamp: 10/27/2023 1:57:18 AM + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 2:02:28 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/character/character_sp_usmc_sami_goggles.gsc b/AW/PC/character/character_sp_usmc_sami_goggles.gsc similarity index 82% rename from AW/PC/SP/character/character_sp_usmc_sami_goggles.gsc rename to AW/PC/character/character_sp_usmc_sami_goggles.gsc index ad899bb..8ecd2ae 100644 --- a/AW/PC/SP/character/character_sp_usmc_sami_goggles.gsc +++ b/AW/PC/character/character_sp_usmc_sami_goggles.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_sp_usmc_sami_goggles.gsc + * Decompiled File: character_sp_usmc_sami_goggles.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:57:18 AM + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 2:02:29 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/character/character_sp_usmc_zach.gsc b/AW/PC/character/character_sp_usmc_zach.gsc similarity index 83% rename from AW/PC/SP/character/character_sp_usmc_zach.gsc rename to AW/PC/character/character_sp_usmc_zach.gsc index cd9a2f5..94aed17 100644 --- a/AW/PC/SP/character/character_sp_usmc_zach.gsc +++ b/AW/PC/character/character_sp_usmc_zach.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_sp_usmc_zach.gsc + * Decompiled File: character_sp_usmc_zach.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 28 ms - * Timestamp: 10/27/2023 1:57:19 AM + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:02:29 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/character/character_sp_usmc_zach_goggles.gsc b/AW/PC/character/character_sp_usmc_zach_goggles.gsc similarity index 82% rename from AW/PC/SP/character/character_sp_usmc_zach_goggles.gsc rename to AW/PC/character/character_sp_usmc_zach_goggles.gsc index f39995e..9b75581 100644 --- a/AW/PC/SP/character/character_sp_usmc_zach_goggles.gsc +++ b/AW/PC/character/character_sp_usmc_zach_goggles.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_sp_usmc_zach_goggles.gsc + * Decompiled File: character_sp_usmc_zach_goggles.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 28 ms - * Timestamp: 10/27/2023 1:57:19 AM + * Decompile Time: 44 ms + * Timestamp: 4/22/2024 2:02:29 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/character/character_us_marine_ar.gsc b/AW/PC/character/character_us_marine_ar.gsc similarity index 84% rename from AW/PC/SP/character/character_us_marine_ar.gsc rename to AW/PC/character/character_us_marine_ar.gsc index a1d635a..ed695e9 100644 --- a/AW/PC/SP/character/character_us_marine_ar.gsc +++ b/AW/PC/character/character_us_marine_ar.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_us_marine_ar.gsc + * Decompiled File: character_us_marine_ar.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:57:20 AM + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 2:02:30 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/character/character_us_marine_ar_lowlod.gsc b/AW/PC/character/character_us_marine_ar_lowlod.gsc similarity index 82% rename from AW/PC/SP/character/character_us_marine_ar_lowlod.gsc rename to AW/PC/character/character_us_marine_ar_lowlod.gsc index 6abcbaa..ac9eac7 100644 --- a/AW/PC/SP/character/character_us_marine_ar_lowlod.gsc +++ b/AW/PC/character/character_us_marine_ar_lowlod.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_us_marine_ar_lowlod.gsc + * Decompiled File: character_us_marine_ar_lowlod.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 40 ms - * Timestamp: 10/27/2023 1:57:20 AM + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 2:02:30 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/character/character_us_marine_dress.gsc b/AW/PC/character/character_us_marine_dress.gsc new file mode 100644 index 0000000..49430e9 --- /dev/null +++ b/AW/PC/character/character_us_marine_dress.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_us_marine_dress.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 50 ms + * Timestamp: 4/22/2024 2:02:31 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_us_marine_dress_bodies::main()); + codescripts\character::attachhead("alias_us_marine_dress_heads",xmodelalias\alias_us_marine_dress_heads::main()); + self.voice = "sentinel"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_us_marine_dress_bodies::main()); + codescripts\character::precachemodelarray(xmodelalias\alias_us_marine_dress_heads::main()); +} \ No newline at end of file diff --git a/AW/PC/character/character_us_marine_dress_a.gsc b/AW/PC/character/character_us_marine_dress_a.gsc new file mode 100644 index 0000000..44b7108 --- /dev/null +++ b/AW/PC/character/character_us_marine_dress_a.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_us_marine_dress_a.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 48 ms + * Timestamp: 4/22/2024 2:02:31 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_us_marine_dress_bodies::main()); + self attach("head_m_gen_cau_clark_marines_dress","",1); + self.headmodel = "head_m_gen_cau_clark_marines_dress"; + self.voice = "sentinel"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_us_marine_dress_bodies::main()); + precachemodel("head_m_gen_cau_clark_marines_dress"); +} \ No newline at end of file diff --git a/AW/PC/character/character_us_marine_dress_b.gsc b/AW/PC/character/character_us_marine_dress_b.gsc new file mode 100644 index 0000000..e1b23cd --- /dev/null +++ b/AW/PC/character/character_us_marine_dress_b.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_us_marine_dress_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 2:02:31 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_us_marine_dress_bodies::main()); + self attach("head_m_gen_asi_lee_marines_dress","",1); + self.headmodel = "head_m_gen_asi_lee_marines_dress"; + self.voice = "sentinel"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_us_marine_dress_bodies::main()); + precachemodel("head_m_gen_asi_lee_marines_dress"); +} \ No newline at end of file diff --git a/AW/PC/character/character_us_marine_dress_c.gsc b/AW/PC/character/character_us_marine_dress_c.gsc new file mode 100644 index 0000000..2e6be65 --- /dev/null +++ b/AW/PC/character/character_us_marine_dress_c.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_us_marine_dress_c.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 48 ms + * Timestamp: 4/22/2024 2:02:32 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_us_marine_dress_bodies::main()); + self attach("head_m_act_afr_sykes_marines_dress","",1); + self.headmodel = "head_m_act_afr_sykes_marines_dress"; + self.voice = "sentinel"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_us_marine_dress_bodies::main()); + precachemodel("head_m_act_afr_sykes_marines_dress"); +} \ No newline at end of file diff --git a/AW/PC/character/character_us_marine_dress_d.gsc b/AW/PC/character/character_us_marine_dress_d.gsc new file mode 100644 index 0000000..a8201aa --- /dev/null +++ b/AW/PC/character/character_us_marine_dress_d.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_us_marine_dress_d.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 38 ms + * Timestamp: 4/22/2024 2:02:32 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_us_marine_dress_bodies::main()); + self attach("head_m_gen_afr_craig_marines_dress","",1); + self.headmodel = "head_m_gen_afr_craig_marines_dress"; + self.voice = "sentinel"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_us_marine_dress_bodies::main()); + precachemodel("head_m_gen_afr_craig_marines_dress"); +} \ No newline at end of file diff --git a/AW/PC/character/character_us_marine_dress_e.gsc b/AW/PC/character/character_us_marine_dress_e.gsc new file mode 100644 index 0000000..ffc2370 --- /dev/null +++ b/AW/PC/character/character_us_marine_dress_e.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_us_marine_dress_e.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 50 ms + * Timestamp: 4/22/2024 2:02:32 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_us_marine_dress_bodies::main()); + self attach("head_m_gen_mde_azzam_marines_dress","",1); + self.headmodel = "head_m_gen_mde_azzam_marines_dress"; + self.voice = "sentinel"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_us_marine_dress_bodies::main()); + precachemodel("head_m_gen_mde_azzam_marines_dress"); +} \ No newline at end of file diff --git a/AW/PC/character/character_us_marine_dress_f.gsc b/AW/PC/character/character_us_marine_dress_f.gsc new file mode 100644 index 0000000..7989149 --- /dev/null +++ b/AW/PC/character/character_us_marine_dress_f.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_us_marine_dress_f.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 2:02:33 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + codescripts\character::setmodelfromarray(xmodelalias\alias_us_marine_dress_bodies::main()); + self attach("head_m_act_asi_owens_marines_dress","",1); + self.headmodel = "head_m_act_asi_owens_marines_dress"; + self.voice = "sentinel"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + codescripts\character::precachemodelarray(xmodelalias\alias_us_marine_dress_bodies::main()); + precachemodel("head_m_act_asi_owens_marines_dress"); +} \ No newline at end of file diff --git a/AW/PC/character/character_us_marine_dress_lowlod.gsc b/AW/PC/character/character_us_marine_dress_lowlod.gsc new file mode 100644 index 0000000..e985679 --- /dev/null +++ b/AW/PC/character/character_us_marine_dress_lowlod.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: character_us_marine_dress_lowlod.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 2:02:33 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("marine_dress_body_a_lowlod"); + self attach("marine_dress_head_a_lowlod","",1); + self.headmodel = "marine_dress_head_a_lowlod"; + self.voice = "sentinel"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("marine_dress_body_a_lowlod"); + precachemodel("marine_dress_head_a_lowlod"); +} \ No newline at end of file diff --git a/AW/PC/SP/character/character_us_marine_seofob_ar.gsc b/AW/PC/character/character_us_marine_seofob_ar.gsc similarity index 81% rename from AW/PC/SP/character/character_us_marine_seofob_ar.gsc rename to AW/PC/character/character_us_marine_seofob_ar.gsc index e72187a..0bc8681 100644 --- a/AW/PC/SP/character/character_us_marine_seofob_ar.gsc +++ b/AW/PC/character/character_us_marine_seofob_ar.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_us_marine_seofob_ar.gsc + * Decompiled File: character_us_marine_seofob_ar.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 27 ms - * Timestamp: 10/27/2023 1:57:21 AM + * Decompile Time: 51 ms + * Timestamp: 4/22/2024 2:02:34 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/character/character_us_marine_shotgun_lowlod.gsc b/AW/PC/character/character_us_marine_shotgun_lowlod.gsc similarity index 81% rename from AW/PC/SP/character/character_us_marine_shotgun_lowlod.gsc rename to AW/PC/character/character_us_marine_shotgun_lowlod.gsc index ed7edcd..5cab433 100644 --- a/AW/PC/SP/character/character_us_marine_shotgun_lowlod.gsc +++ b/AW/PC/character/character_us_marine_shotgun_lowlod.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_us_marine_shotgun_lowlod.gsc + * Decompiled File: character_us_marine_shotgun_lowlod.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 29 ms - * Timestamp: 10/27/2023 1:57:21 AM + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 2:02:34 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/character/character_us_marine_smg.gsc b/AW/PC/character/character_us_marine_smg.gsc similarity index 84% rename from AW/PC/SP/character/character_us_marine_smg.gsc rename to AW/PC/character/character_us_marine_smg.gsc index 293c382..37a7564 100644 --- a/AW/PC/SP/character/character_us_marine_smg.gsc +++ b/AW/PC/character/character_us_marine_smg.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_us_marine_smg.gsc + * Decompiled File: character_us_marine_smg.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:57:22 AM + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:02:34 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/character/character_us_marine_smg_lowlod.gsc b/AW/PC/character/character_us_marine_smg_lowlod.gsc similarity index 82% rename from AW/PC/SP/character/character_us_marine_smg_lowlod.gsc rename to AW/PC/character/character_us_marine_smg_lowlod.gsc index c3ed042..dd257ca 100644 --- a/AW/PC/SP/character/character_us_marine_smg_lowlod.gsc +++ b/AW/PC/character/character_us_marine_smg_lowlod.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_us_marine_smg_lowlod.gsc + * Decompiled File: character_us_marine_smg_lowlod.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 1:57:22 AM + * Decompile Time: 48 ms + * Timestamp: 4/22/2024 2:02:35 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/character/character_us_marine_smg_seo.gsc b/AW/PC/character/character_us_marine_smg_seo.gsc similarity index 81% rename from AW/PC/SP/character/character_us_marine_smg_seo.gsc rename to AW/PC/character/character_us_marine_smg_seo.gsc index 0a3c97d..418a331 100644 --- a/AW/PC/SP/character/character_us_marine_smg_seo.gsc +++ b/AW/PC/character/character_us_marine_smg_seo.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_us_marine_smg_seo.gsc + * Decompiled File: character_us_marine_smg_seo.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 29 ms - * Timestamp: 10/27/2023 1:57:23 AM + * Decompile Time: 62 ms + * Timestamp: 4/22/2024 2:02:35 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/character/character_us_marine_smg_seointro.gsc b/AW/PC/character/character_us_marine_smg_seointro.gsc similarity index 81% rename from AW/PC/SP/character/character_us_marine_smg_seointro.gsc rename to AW/PC/character/character_us_marine_smg_seointro.gsc index 8c091ea..b9c27c3 100644 --- a/AW/PC/SP/character/character_us_marine_smg_seointro.gsc +++ b/AW/PC/character/character_us_marine_smg_seointro.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/character_us_marine_smg_seointro.gsc + * Decompiled File: character_us_marine_smg_seointro.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 29 ms - * Timestamp: 10/27/2023 1:57:23 AM + * Decompile Time: 38 ms + * Timestamp: 4/22/2024 2:02:36 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/character/mp_character_ally_ghillie_urban.gsc b/AW/PC/character/mp_character_ally_ghillie_urban.gsc new file mode 100644 index 0000000..009a6c3 --- /dev/null +++ b/AW/PC/character/mp_character_ally_ghillie_urban.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp_character_ally_ghillie_urban.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:02:36 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("mp_body_ally_ghillie_urban_sniper"); + self attach("head_ally_delta_sniper","",1); + self.headmodel = "head_ally_delta_sniper"; + self setviewmodel("viewhands_iw5_ghillie_urban"); + self.voice = "delta"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("mp_body_ally_ghillie_urban_sniper"); + precachemodel("head_ally_delta_sniper"); + precachemodel("viewhands_iw5_ghillie_urban"); +} \ No newline at end of file diff --git a/AW/PC/MP/character/mp_character_cloak_test.gsc b/AW/PC/character/mp_character_cloak_test.gsc similarity index 84% rename from AW/PC/MP/character/mp_character_cloak_test.gsc rename to AW/PC/character/mp_character_cloak_test.gsc index f654a24..1dd1dda 100644 --- a/AW/PC/MP/character/mp_character_cloak_test.gsc +++ b/AW/PC/character/mp_character_cloak_test.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/mp_character_cloak_test.gsc + * Decompiled File: mp_character_cloak_test.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 29 ms - * Timestamp: 10/27/2023 1:46:53 AM + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:02:36 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/character/mp_character_op_ghillie_urban.gsc b/AW/PC/character/mp_character_op_ghillie_urban.gsc new file mode 100644 index 0000000..8bcaab2 --- /dev/null +++ b/AW/PC/character/mp_character_op_ghillie_urban.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp_character_op_ghillie_urban.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:02:37 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self setmodel("mp_body_opforce_ghillie_urban_sniper"); + self attach("head_opforce_russian_urban_sniper","",1); + self.headmodel = "head_opforce_russian_urban_sniper"; + self setviewmodel("viewhands_iw5_ghillie_urban"); + self.voice = "russian"; + self setclothtype("vestlight"); +} + +//Function Number: 2 +precache() +{ + precachemodel("mp_body_opforce_ghillie_urban_sniper"); + precachemodel("head_opforce_russian_urban_sniper"); + precachemodel("viewhands_iw5_ghillie_urban"); +} \ No newline at end of file diff --git a/AW/PC/MP/character/mp_character_sentinel.gsc b/AW/PC/character/mp_character_sentinel.gsc similarity index 86% rename from AW/PC/MP/character/mp_character_sentinel.gsc rename to AW/PC/character/mp_character_sentinel.gsc index b641d3d..2349005 100644 --- a/AW/PC/MP/character/mp_character_sentinel.gsc +++ b/AW/PC/character/mp_character_sentinel.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: character/mp_character_sentinel.gsc + * Decompiled File: mp_character_sentinel.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 29 ms - * Timestamp: 10/27/2023 1:46:53 AM + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:02:37 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/codescripts/character.gsc b/AW/PC/codescripts/character.gsc similarity index 98% rename from AW/PC/SP/codescripts/character.gsc rename to AW/PC/codescripts/character.gsc index 19ec22e..78e47df 100644 --- a/AW/PC/SP/codescripts/character.gsc +++ b/AW/PC/codescripts/character.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: codescripts/character.gsc + * Decompiled File: character.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 14 - * Decompile Time: 237 ms - * Timestamp: 10/27/2023 1:57:24 AM + * Decompile Time: 167 ms + * Timestamp: 4/22/2024 2:02:45 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/codescripts/delete.gsc b/AW/PC/codescripts/delete.gsc similarity index 75% rename from AW/PC/MP/codescripts/delete.gsc rename to AW/PC/codescripts/delete.gsc index 8ea990e..d397eef 100644 --- a/AW/PC/MP/codescripts/delete.gsc +++ b/AW/PC/codescripts/delete.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: codescripts\delete.gsc + * Decompiled File: delete.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 22 ms - * Timestamp: 10/27/2023 1:40:12 AM + * Decompile Time: 20 ms + * Timestamp: 4/22/2024 2:02:46 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/1343.gsc b/AW/PC/codescripts/message.gsc similarity index 83% rename from AW/PC/SP/1343.gsc rename to AW/PC/codescripts/message.gsc index a357261..b805c09 100644 --- a/AW/PC/SP/1343.gsc +++ b/AW/PC/codescripts/message.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: 1343.gsc + * Decompiled File: message.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 0 ms - * Timestamp: 10/27/2023 1:57:06 AM + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 2:02:46 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/codescripts/struct.gsc b/AW/PC/codescripts/struct.gsc similarity index 80% rename from AW/PC/MP/codescripts/struct.gsc rename to AW/PC/codescripts/struct.gsc index e9694c2..95c42b5 100644 --- a/AW/PC/MP/codescripts/struct.gsc +++ b/AW/PC/codescripts/struct.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: codescripts\struct.gsc + * Decompiled File: struct.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 33 ms - * Timestamp: 10/27/2023 1:40:13 AM + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:02:46 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/common_scripts/_artcommon.gsc b/AW/PC/common_scripts/_artcommon.gsc similarity index 71% rename from AW/PC/SP/common_scripts/_artcommon.gsc rename to AW/PC/common_scripts/_artcommon.gsc index 6f048f3..0460ce8 100644 --- a/AW/PC/SP/common_scripts/_artcommon.gsc +++ b/AW/PC/common_scripts/_artcommon.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: common_scripts/_artcommon.gsc + * Decompiled File: _artcommon.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 13 ms - * Timestamp: 10/27/2023 1:57:25 AM + * Decompile Time: 20 ms + * Timestamp: 4/22/2024 2:02:49 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/common_scripts/_bcs_location_trigs.gsc b/AW/PC/common_scripts/_bcs_location_trigs.gsc similarity index 99% rename from AW/PC/MP/common_scripts/_bcs_location_trigs.gsc rename to AW/PC/common_scripts/_bcs_location_trigs.gsc index 17b5668..21003ba 100644 --- a/AW/PC/MP/common_scripts/_bcs_location_trigs.gsc +++ b/AW/PC/common_scripts/_bcs_location_trigs.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: common_scripts/_bcs_location_trigs.gsc + * Decompiled File: _bcs_location_trigs.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 34 - * Decompile Time: 531 ms - * Timestamp: 10/27/2023 1:46:57 AM + * Decompile Time: 422 ms + * Timestamp: 4/22/2024 2:02:51 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/common_scripts/_bcs_location_trigs_dlc.gsc b/AW/PC/common_scripts/_bcs_location_trigs_dlc.gsc new file mode 100644 index 0000000..a0ba276 --- /dev/null +++ b/AW/PC/common_scripts/_bcs_location_trigs_dlc.gsc @@ -0,0 +1,420 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _bcs_location_trigs_dlc.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 21 + * Decompile Time: 263 ms + * Timestamp: 4/22/2024 2:02:51 AM +*******************************************************************/ + +//Function Number: 1 +bcs_location_trigs_dlc_init() +{ + if(isdefined(level.dds) && isdefined(level.bcs_locations)) + { + return; + } + + level.bcs_location_mappings = []; + bcs_dlc_location_trigger_mapping(); + bcs_dlc_trigs_assign_aliases(); + level.bcs_location_mappings = undefined; + anim.locationlastcallouttimes = []; +} + +//Function Number: 2 +bcs_dlc_trigs_assign_aliases() +{ + var_00 = getentarray(); + var_01 = []; + foreach(var_03 in var_00) + { + if(isdefined(var_03.classname) && issubstr(var_03.classname,"trigger_multiple_bcs")) + { + var_01[var_01.size] = var_03; + } + } + + foreach(var_03 in var_01) + { + if(!isdefined(level.bcs_location_mappings[var_03.classname])) + { + continue; + } + + var_06 = parselocationaliases(level.bcs_location_mappings[var_03.classname]); + if(var_06.size > 1) + { + var_06 = common_scripts\utility::array_randomize(var_06); + } + + var_03.locationaliases = var_06; + level.bcs_locations[level.bcs_locations.size] = var_03; + } + + anim.bcs_locations = var_01; +} + +//Function Number: 3 +parselocationaliases(param_00) +{ + var_01 = strtok(param_00," "); + return var_01; +} + +//Function Number: 4 +add_bcs_location_mapping(param_00,param_01) +{ + if(isdefined(level.bcs_location_mappings[param_00])) + { + var_02 = level.bcs_location_mappings[param_00]; + var_03 = parselocationaliases(var_02); + var_04 = parselocationaliases(param_01); + foreach(var_06 in var_04) + { + foreach(var_08 in var_03) + { + if(var_06 == var_08) + { + return; + } + } + } + + var_02 = var_02 + " " + param_01; + level.bcs_location_mappings[param_00] = var_02; + return; + } + + level.bcs_location_mappings[var_09] = var_0A; +} + +//Function Number: 5 +bcs_dlc_location_trigger_mapping() +{ + if(!common_scripts\utility::issp()) + { + clowntown_mp(); + torqued_mp(); + lost_mp(); + mp_urban(); + mp_climate_3(); + mp_perplex_1(); + mp_blackbox(); + mp_spark(); + mp_highrise2(); + mp_kremlin(); + mp_bigben2(); + mp_sector17(); + mp_seoul2(); + mp_liberty(); + mp_fracture(); + mp_lair(); + } +} + +//Function Number: 6 +mp_lair() +{ + add_bcs_location_mapping("trigger_multiple_bcs_mp_lair_plasma","lair_plasma"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lair_offices","lair_offices"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lair_bar","lair_bar"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lair_patio","lair_patio"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lair_dance","lair_dance"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lair_hpad","lair_hpad"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lair_wtower","lair_wtower"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lair_court","lair_court"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lair_fountain","lair_fountain"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lair_spa","lair_spa"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lair_etower","lair_etower"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lair_deck","lair_deck"); +} + +//Function Number: 7 +mp_fracture() +{ + add_bcs_location_mapping("trigger_multiple_bcs_mp_frac_fuel","frac_fuel"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_frac_base","frac_base"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_frac_exc_sites","frac_exc_sites"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_frac_shore","frac_shore"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_frac_obs_deck","frac_obs_deck"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_frac_crane","frac_crane"); +} + +//Function Number: 8 +mp_liberty() +{ + add_bcs_location_mapping("trigger_multiple_bcs_mp_lib_parking","lib_parking"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lib_trees","lib_trees"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lib_medical","lib_medical"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lib_sec","lib_sec"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lib_sec_roof","lib_sec_roof"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lib_monkeys","lib_monkeys"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lib_catwalk","lib_catwalk"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lib_camp","lib_camp"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lib_res","lib_res"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lib_ambu","lib_ambu"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lib_hay","lib_hay"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lib_loading","lib_loading"); +} + +//Function Number: 9 +mp_seoul2() +{ + add_bcs_location_mapping("trigger_multiple_bcs_mp_se2_awn","se2_awn"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_se2_awn_blw","se2_awn_blw"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_se2_nom","se2_nom"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_se2_roof","se2_roof"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_se2_humvees","se2_humvees"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_se2_bus_area","se2_bus_area"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_se2_sak_fl2","se2_sak_fl2"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_se2_sak_fl1","se2_sak_fl1"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_se2_bar_fl2","se2_bar_fl2"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_se2_alley","se2_alley"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_se2_fork","se2_fork"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_se2_ddc","se2_ddc"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_se2_trailer","se2_trailer"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_se2_van","se2_van"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_se2_fish","se2_fish"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_se2_koi_fl2","se2_koi_fl2"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_se2_cargo","se2_cargo"); +} + +//Function Number: 10 +mp_sector17() +{ + add_bcs_location_mapping("trigger_multiple_bcs_mp_sector17_entgate","sector17_entgate"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_sector17_bridge","sector17_bridge"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_sector17_alphabuild","sector17_alphabuild"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_sector17_alphapath","sector17_alphapath"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_sector17_centcont","sector17_centcont"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_sector17_hazmat","sector17_hazmat"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_sector17_airgate","sector17_airgate"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_sector17_forttop","sector17_forttop"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_sector17_fortbunk","sector17_fortbunk"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_sector17_forttunnel","sector17_forttunnel"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_sector17_bravobuild","sector17_bravobuild"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_sector17_bravolot","sector17_bravolot"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_sector17_charbuild","sector17_charbuild"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_sector17_rustbelt","sector17_rustbelt"); +} + +//Function Number: 11 +mp_bigben2() +{ + add_bcs_location_mapping("trigger_multiple_bcs_mp_bigben_balcony","bigben_balcony"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_bigben_deck","bigben_deck"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_bigben_lodeck","bigben_lodeck"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_bigben_hallway","bigben_hallway"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_bigben_juncroom","bigben_juncroom"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_bigben_minideck","bigben_minideck"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_bigben_guns","bigben_guns"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_bigben_gunplat","bigben_gunplat"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_bigben_crates","bigben_crates"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_bigben_bridge","bigben_bridge"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_bigben_ramp","bigben_ramp"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_bigben_shore","bigben_shore"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_bigben_roof","bigben_roof"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_bigben_ticket","bigben_ticket"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_bigben_scrub","bigben_scrub"); +} + +//Function Number: 12 +mp_kremlin() +{ + add_bcs_location_mapping("trigger_multiple_bcs_mp_kremlin_park","kremlin_park"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_kremlin_chkpoint","kremlin_chkpoint"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_kremlin_adminoffice","kremlin_adminoffice"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_kremlin_breach","kremlin_breach"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_kremlin_monument","kremlin_monument"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_kremlin_ecourtyard","kremlin_ecourtyard"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_kremlin_segallery","kremlin_segallery"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_kremlin_street","kremlin_street"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_kremlin_swgallery","kremlin_swgallery"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_kremlin_wcourt","kremlin_wcourt"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_kremlin_ngallery","kremlin_ngallery"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_kremlin_mainroom","kremlin_mainroom"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_kremlin_tower","kremlin_tower"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_kremlin_bridge","kremlin_bridge"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_kremlin_statue","kremlin_statue"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_kremlin_noverlook","kremlin_noverlook"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_kremlin_soverlook","kremlin_soverlook"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_kremlin_secourtyard","kremlin_secourtyard"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_kremlin_giftshop","kremlin_giftshop"); +} + +//Function Number: 13 +mp_highrise2() +{ + add_bcs_location_mapping("trigger_multiple_bcs_mp_hrise_undrground","hrise_undrground"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_hrise_renbldg","hrise_renbldg"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_hrise_conbldg","hrise_conbldg"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_hrise_sidecrane","hrise_sidecrane"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_hrise_ovrcrane","hrise_ovrcrane"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_hrise_proproof","hrise_proproof"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_hrise_propground","hrise_propground"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_hrise_helopad","hrise_helopad"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_hrise_copter","hrise_copter"); +} + +//Function Number: 14 +mp_climate_3() +{ + add_bcs_location_mapping("trigger_multiple_bcs_mp_cli_by_entr","cli_by_entr"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cli_bywaterfall","cli_bywaterfall"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cli_on_bridge","cli_on_bridge"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cli_nr_br","cli_nr_br"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cli_under_bridge","cli_under_bridge"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cli_in_control","cli_in_control"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cli_in_green","cli_in_green"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cli_bygreen","cli_bygreen"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cli_by_helo","cli_by_helo"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cli_in_nurse","cli_in_nurse"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cli_on_nur","cli_on_nur"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cli_in_main","cli_in_main"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cli_on_main","cli_on_main"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cli_in_ravine","cli_in_ravine"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cli_in_sewer","cli_in_sewer"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cli_roof","cli_roof"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cli_water","cli_water"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cli_trees","cli_trees"); +} + +//Function Number: 15 +mp_perplex_1() +{ + add_bcs_location_mapping("trigger_multiple_bcs_mp_per_atrium","per_atrium"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_per_roof","per_roof"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_per_on_gazebo","per_on_gazebo"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_per_in_gazebo","per_in_gazebo"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_per_ngaz","per_ngaz"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_per_on_bwalk","per_on_bwalk"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_per_in_rec","per_in_rec"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_per_by_center","per_by_center"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_per_on_rec","per_on_rec"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_per_in_office","per_in_office"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_per_on_office","per_on_office"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_per_by_office","per_by_office"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_per_in_gym","per_in_gym"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_per_on_gym","per_on_gym"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_per_nr_gym","per_nr_gym"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_per_whale","per_whale"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_per_on_apt","per_on_apt"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_per_in_apt","per_in_apt"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_per_by_apt","per_by_apt"); +} + +//Function Number: 16 +mp_blackbox() +{ + add_bcs_location_mapping("trigger_multiple_bcs_mp_bla_cockpit","bla_cockpit"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_bla_by_cave","bla_by_cave"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_bla_in_cave","bla_in_cave"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_bla_midship","bla_midship"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_bla_cntr_plat","bla_cntr_plat"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_bla_engine","bla_engine"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_bla_cliffs","bla_cliffs"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_bla_wing","bla_wing"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_bla_catwalks","bla_catwalks"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_bla_tail","bla_tail"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_bla_spores","bla_spores"); +} + +//Function Number: 17 +mp_spark() +{ + add_bcs_location_mapping("trigger_multiple_bcs_mp_sprk_train","sprk_train"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_sprk_fluid","sprk_fluid"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_sprk_drop","sprk_drop"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_sprk_rcs","sprk_rcs"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_sprk_scourt","sprk_scourt"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_sprk_aqua","sprk_aqua"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_sprk_ccs","sprk_ccs"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_sprk_ncourt","sprk_ncourt"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_sprk_ecs","sprk_ecs"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_sprk_office","sprk_office"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_sprk_topdep","sprk_topdep"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_sprk_gener","sprk_gener"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_sprk_ship","sprk_ship"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_sprk_security","sprk_security"); +} + +//Function Number: 18 +clowntown_mp() +{ + add_bcs_location_mapping("trigger_multiple_bcs_mp_cltn_officeroof","cltn_officeroof"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cltn_clownsign","cltn_clownsign"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cltn_officeint","cltn_officeint"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cltn_carwash","cltn_carwash"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cltn_bridge","cltn_bridge"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cltn_insidehotel","cltn_insidehotel"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cltn_hotelroof","cltn_hotelroof"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cltn_cemetery","cltn_cemetery"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cltn_pool","cltn_pool"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cltn_bathrooms","cltn_bathrooms"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cltn_sewer","cltn_sewer"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cltn_shed","cltn_shed"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cltn_18wheeler","cltn_18wheeler"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cltn_dumpster","cltn_dumpster"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cltn_flatbed","cltn_flatbed"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_cltn_2ndstoryblcny","cltn_2ndstoryblcny"); +} + +//Function Number: 19 +torqued_mp() +{ + add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_tower","trq_tower"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_oncarousel","trq_oncarousel"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_bycarousel","trq_bycarousel"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_upstairstrainstation","trq_upstairstrainstation"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_downtrainstation","trq_downtrainstation"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_ticketbooth","trq_ticketbooth"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_bytrain","trq_bytrain"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_ontrain","trq_ontrain"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_christmastree","trq_christmastree"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_office","trq_office"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_overlook","trq_overlook"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_lodge","trq_lodge"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_skishop","trq_skishop"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_bymarket","trq_bymarket"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_onmarket","trq_onmarket"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_awning","trq_awning"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_snowbank","trq_snowbank"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_trq_snowtrench","trq_snowtrench"); +} + +//Function Number: 20 +lost_mp() +{ + add_bcs_location_mapping("trigger_multiple_bcs_mp_lst_chemspill","lst_chemspill"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lst_engineroom","lst_engineroom"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lst_insphere","lst_insphere"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lst_bysphere","lst_bysphere"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lst_core","lst_core"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lst_hallway","lst_hallway"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lst_inpipe","lst_inpipe"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lst_bypipe","lst_bypipe"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lst_inchempool","lst_inchempool"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lst_bychempool","lst_bychempool"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_lst_wastestorage","lst_wastestorage"); +} + +//Function Number: 21 +mp_urban() +{ + add_bcs_location_mapping("trigger_multiple_bcs_mp_urb_int_tp","urb_int_tp"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_urb_lower_tp","urb_lower_tp"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_urb_back_tp","urb_back_tp"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_urb_int_construct","urb_int_construct"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_urb_lower_construct","urb_lower_construct"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_urb_complex","urb_complex"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_urb_west_complex","urb_west_complex"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_urb_west_complex_window","urb_west_complex_window"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_urb_east_complex","urb_east_complex"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_urb_east_complex_window","urb_east_complex_window"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_urb_plaza","urb_plaza"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_urb_plaza_stairs","urb_plaza_stairs"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_urb_crime_scene","urb_crime_scene"); + add_bcs_location_mapping("trigger_multiple_bcs_mp_urb_back_construct","urb_back_construct"); +} \ No newline at end of file diff --git a/AW/PC/ZM/common_scripts/_createfx.gsc b/AW/PC/common_scripts/_createfx.gsc similarity index 98% rename from AW/PC/ZM/common_scripts/_createfx.gsc rename to AW/PC/common_scripts/_createfx.gsc index 0c32e59..dd0f666 100644 --- a/AW/PC/ZM/common_scripts/_createfx.gsc +++ b/AW/PC/common_scripts/_createfx.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: common_scripts/_createfx.gsc + * Decompiled File: _createfx.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 137 - * Decompile Time: 2138 ms - * Timestamp: 10/27/2023 2:07:20 AM + * Decompile Time: 1582 ms + * Timestamp: 4/22/2024 2:02:56 AM *******************************************************************/ //Function Number: 1 @@ -868,25 +868,50 @@ get_print3d_text() switch(self.v["type"]) { case "reactive_fx": - break; + return "reactive: " + self.v["soundalias"]; case "soundfx_interval": - break; + return self.v["soundalias"]; case "soundfx_dynamic": - break; + return "dynamic: " + self.v["ambiencename"]; case "soundfx": - break; + return self.v["soundalias"]; case "exploder": + if(isdefined(self.v["soundalias"]) && self.v["soundalias"] != "nil") + { + if(self.v["fxid"] == "No FX") + { + return "@)) " + self.v["soundalias"]; + } + else + { + return self.v["fxid"] + " @))"; + } + } + else + { + return self.v["fxid"]; + } + break; case "oneshotfx": + if(isdefined(self.v["soundalias"]) && self.v["soundalias"] != "nil") + { + return self.v["fxid"] + " @))"; + } + else + { + return self.v["fxid"]; + } + break; default: - break; + return self.v["fxid"]; } } @@ -2188,18 +2213,23 @@ restart_fx_looper() switch(self.v["type"]) { case "loopfx": + common_scripts\_fx::create_looper(); break; case "oneshotfx": + common_scripts\_fx::create_triggerfx(); break; case "soundfx": + common_scripts\_fx::create_loopsound(); break; case "soundfx_interval": + common_scripts\_fx::create_interval_sound(); break; case "soundfx_dynamic": + common_scripts\_fx::create_dynamicambience(); break; } } diff --git a/AW/PC/MP/common_scripts/_createfxmenu.gsc b/AW/PC/common_scripts/_createfxmenu.gsc similarity index 99% rename from AW/PC/MP/common_scripts/_createfxmenu.gsc rename to AW/PC/common_scripts/_createfxmenu.gsc index 036a4c7..4c1abe0 100644 --- a/AW/PC/MP/common_scripts/_createfxmenu.gsc +++ b/AW/PC/common_scripts/_createfxmenu.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: common_scripts/_createfxmenu.gsc + * Decompiled File: _createfxmenu.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 40 - * Decompile Time: 600 ms - * Timestamp: 10/27/2023 1:47:06 AM + * Decompile Time: 452 ms + * Timestamp: 4/22/2024 2:02:58 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/common_scripts/_destructible.gsc b/AW/PC/common_scripts/_destructible.gsc similarity index 84% rename from AW/PC/SP/common_scripts/_destructible.gsc rename to AW/PC/common_scripts/_destructible.gsc index 1bb16be..3a05744 100644 --- a/AW/PC/SP/common_scripts/_destructible.gsc +++ b/AW/PC/common_scripts/_destructible.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: common_scripts/_destructible.gsc + * Decompiled File: _destructible.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 157 - * Decompile Time: 2617 ms - * Timestamp: 10/27/2023 1:57:45 AM + * Decompile Time: 1778 ms + * Timestamp: 4/22/2024 2:03:04 AM *******************************************************************/ //Function Number: 1 @@ -94,11 +94,8 @@ setup_destructibles_thread(param_00) setup_destructible_dots(param_00) { var_01 = self.destructibleinfo; - var_02 = param_00; - var_0B = getfirstarraykey(var_02); - if(isdefined(var_0B)) + foreach(var_03 in param_00) { - var_03 = var_02[var_0B]; if(isdefined(level.destructible_type[var_01].destructible_dots)) { return; @@ -110,11 +107,8 @@ setup_destructible_dots(param_00) { var_04 = getentarray(var_03.target,"targetname"); level.destructible_type[var_01].destructible_dots = []; - var_05 = var_04; - var_0A = getfirstarraykey(var_05); - if(isdefined(var_0A)) + foreach(var_06 in var_04) { - var_06 = var_05[var_0A]; var_07 = var_06.script_index; if(!isdefined(level.destructible_type[var_01].destructible_dots[var_07])) { @@ -129,12 +123,18 @@ setup_destructible_dots(param_00) switch(var_06.classname) { case "trigger_radius": + level.destructible_type[var_01].destructible_dots[var_07][var_08]["radius"] = var_06.height; + level.destructible_type[var_01].destructible_dots[var_07][var_08]["height"] = var_06.height; break; default: break; } + + var_06 delete(); } + + break; } } } @@ -1262,338 +1262,492 @@ destructible_update_part(param_00,param_01,param_02,param_03,param_04,param_05,p var_0B = var_09; var_0C = 0; var_0D = 0; - var_09 = self.destructible_parts[var_0A].v["currentState"]; - if(!isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_09])) + for(;;) { - break; - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][0].v["alsoDamageParent"])) - { - if(getdamagetype(param_06) != "splash") + var_09 = self.destructible_parts[var_0A].v["currentState"]; + if(!isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_09])) { - var_0E = level.destructible_type[self.destructibleinfo].parts[var_0A][0].v["alsoDamageParent"]; - var_0F = int(param_00 * var_0E); - thread notifydamageafterframe(var_0F,param_05,param_04,param_03,param_06,"",""); + break; } - } - if(var_0A == 0 && getdamagetype(param_06) != "splash") - { - for(var_10 = 0;var_10 < level.destructible_type[self.destructibleinfo].parts.size;var_10++) + if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][0].v["alsoDamageParent"])) { - var_11 = level.destructible_type[self.destructibleinfo].parts[var_10]; - if(!isdefined(var_11[0].v["receiveDamageFromParent"])) + if(getdamagetype(param_06) != "splash") { - continue; + var_0E = level.destructible_type[self.destructibleinfo].parts[var_0A][0].v["alsoDamageParent"]; + var_0F = int(param_00 * var_0E); + thread notifydamageafterframe(var_0F,param_05,param_04,param_03,param_06,"",""); } - - var_12 = 0; - if(isdefined(self.destructible_parts[var_10].v["currentState"])) - { - var_12 = self.destructible_parts[var_10].v["currentState"]; - } - - if(!isdefined(var_11[var_12])) - { - continue; - } - - if(!isdefined(var_11[var_12].v["tagName"])) - { - continue; - } - - var_13 = var_11[var_12].v["tagName"]; - var_0E = var_11[0].v["receiveDamageFromParent"]; - var_14 = int(param_00 * var_0E); - thread notifydamageafterframe(var_14,param_05,param_04,param_03,param_06,"",var_13); } - } - if(!isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_09].v["health"])) - { - break; - } - - if(!isdefined(self.destructible_parts[var_0A].v["health"])) - { - break; - } - - if(var_0C) - { - self.destructible_parts[var_0A].v["health"] = level.destructible_type[self.destructibleinfo].parts[var_0A][var_09].v["health"]; - } - - var_0C = 0; - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_09].v["grenadeImpactDeath"]) && param_06 == "impact") - { - param_00 = 100000000; - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_09].v["damage_threshold"]) && level.destructible_type[self.destructibleinfo].parts[var_0A][var_09].v["damage_threshold"] > param_00) - { - param_00 = 0; - } - - var_15 = self.destructible_parts[var_0A].v["health"]; - var_16 = isattackervalid(var_0A,var_09,param_05); - if(var_16) - { - var_17 = isvaliddamagecause(var_0A,var_09,param_06); - if(var_17) + if(var_0A == 0 && getdamagetype(param_06) != "splash") { - if(isdefined(param_05)) + for(var_10 = 0;var_10 < level.destructible_type[self.destructibleinfo].parts.size;var_10++) { - if(isplayer(param_05)) + var_11 = level.destructible_type[self.destructibleinfo].parts[var_10]; + if(!isdefined(var_11[0].v["receiveDamageFromParent"])) { - self.player_damage = self.player_damage + param_00; + continue; } - else if(param_05 != self) - { - self.non_player_damage = self.non_player_damage + param_00; - } - } - if(isdefined(param_06)) + var_12 = 0; + if(isdefined(self.destructible_parts[var_10].v["currentState"])) + { + var_12 = self.destructible_parts[var_10].v["currentState"]; + } + + if(!isdefined(var_11[var_12])) + { + continue; + } + + if(!isdefined(var_11[var_12].v["tagName"])) + { + continue; + } + + var_13 = var_11[var_12].v["tagName"]; + var_0E = var_11[0].v["receiveDamageFromParent"]; + var_14 = int(param_00 * var_0E); + thread notifydamageafterframe(var_14,param_05,param_04,param_03,param_06,"",var_13); + } + } + + if(!isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_09].v["health"])) + { + break; + } + + if(!isdefined(self.destructible_parts[var_0A].v["health"])) + { + break; + } + + if(var_0C) + { + self.destructible_parts[var_0A].v["health"] = level.destructible_type[self.destructibleinfo].parts[var_0A][var_09].v["health"]; + } + + var_0C = 0; + if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_09].v["grenadeImpactDeath"]) && param_06 == "impact") + { + param_00 = 100000000; + } + + if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_09].v["damage_threshold"]) && level.destructible_type[self.destructibleinfo].parts[var_0A][var_09].v["damage_threshold"] > param_00) + { + param_00 = 0; + } + + var_15 = self.destructible_parts[var_0A].v["health"]; + var_16 = isattackervalid(var_0A,var_09,param_05); + if(var_16) + { + var_17 = isvaliddamagecause(var_0A,var_09,param_06); + if(var_17) { - if(param_06 == "melee" || param_06 == "impact") + if(isdefined(param_05)) { - param_00 = 100000; + if(isplayer(param_05)) + { + self.player_damage = self.player_damage + param_00; + } + else if(param_05 != self) + { + self.non_player_damage = self.non_player_damage + param_00; + } } + + if(isdefined(param_06)) + { + if(param_06 == "melee" || param_06 == "impact") + { + param_00 = 100000; + } + } + + self.destructible_parts[var_0A].v["health"] = self.destructible_parts[var_0A].v["health"] - param_00; } - - self.destructible_parts[var_0A].v["health"] = self.destructible_parts[var_0A].v["health"] - param_00; - } - } - - if(self.destructible_parts[var_0A].v["health"] > 0) - { - return; - } - - if(isdefined(param_07)) - { - param_07.v["fxcost"] = get_part_fx_cost_for_action_state(var_0A,self.destructible_parts[var_0A].v["currentState"]); - add_destructible_to_frame_queue(self,param_07,param_00); - if(!isdefined(self.waiting_for_queue)) - { - self.waiting_for_queue = 1; - } - else - { - self.waiting_for_queue++; } - self waittill("queue_processed",var_18); - self.waiting_for_queue--; - if(self.waiting_for_queue == 0) + if(self.destructible_parts[var_0A].v["health"] > 0) { - self.waiting_for_queue = undefined; - } - - if(!var_18) - { - self.destructible_parts[var_0A].v["health"] = var_15; return; } - } - param_00 = int(abs(self.destructible_parts[var_0A].v["health"])); - if(param_00 < 0) - { - return; - } - - self.destructible_parts[var_0A].v["currentState"]++; - var_09 = self.destructible_parts[var_0A].v["currentState"]; - var_19 = var_09 - 1; - var_1A = undefined; - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19])) - { - var_1A = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v; - } - - var_1B = undefined; - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_09])) - { - var_1B = level.destructible_type[self.destructibleinfo].parts[var_0A][var_09].v; - } - - if(!isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19])) - { - return; - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["explode"])) - { - self.exploding = 1; - } - - if(isdefined(self.loopingsoundstopnotifies) && isdefined(self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)])) - { - for(var_10 = 0;var_10 < self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)].size;var_10++) + if(isdefined(param_07)) { - self notify(self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)][var_10]); - if(common_scripts\utility::issp() && self.modeldummyon) + param_07.v["fxcost"] = get_part_fx_cost_for_action_state(var_0A,self.destructible_parts[var_0A].v["currentState"]); + add_destructible_to_frame_queue(self,param_07,param_00); + if(!isdefined(self.waiting_for_queue)) { - self.modeldummy notify(self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)][var_10]); + self.waiting_for_queue = 1; + } + else + { + self.waiting_for_queue++; + } + + self waittill("queue_processed",var_18); + self.waiting_for_queue--; + if(self.waiting_for_queue == 0) + { + self.waiting_for_queue = undefined; + } + + if(!var_18) + { + self.destructible_parts[var_0A].v["health"] = var_15; + return; } } - self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)] = undefined; - } - - if(isdefined(var_1A["break_nearby_lights"])) - { - destructible_get_my_breakable_light(var_1A["break_nearby_lights"]); - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_09])) - { - if(var_0A == 0) + param_00 = int(abs(self.destructible_parts[var_0A].v["health"])); + if(param_00 < 0) { - var_1C = var_1B["modelName"]; - if(isdefined(var_1C) && var_1C != self.model) + return; + } + + self.destructible_parts[var_0A].v["currentState"]++; + var_09 = self.destructible_parts[var_0A].v["currentState"]; + var_19 = var_09 - 1; + var_1A = undefined; + if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19])) + { + var_1A = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v; + } + + var_1B = undefined; + if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_09])) + { + var_1B = level.destructible_type[self.destructibleinfo].parts[var_0A][var_09].v; + } + + if(!isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19])) + { + return; + } + + if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["explode"])) + { + self.exploding = 1; + } + + if(isdefined(self.loopingsoundstopnotifies) && isdefined(self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)])) + { + for(var_10 = 0;var_10 < self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)].size;var_10++) { - self setmodel(var_1C); + self notify(self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)][var_10]); if(common_scripts\utility::issp() && self.modeldummyon) { - self.modeldummy setmodel(var_1C); - } - - destructible_splash_rotatation(var_1B); - } - } - else - { - hideapart(param_02); - if(common_scripts\utility::issp() && self.modeldummyon) - { - self.modeldummy hideapart(param_02); - } - - param_02 = var_1B["tagName"]; - if(isdefined(param_02)) - { - showapart(param_02); - if(common_scripts\utility::issp() && self.modeldummyon) - { - self.modeldummy showapart(param_02); + self.modeldummy notify(self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)][var_10]); } } - } - } - var_1D = get_dummy(); - if(isdefined(self.exploding)) - { - clear_anims(var_1D); - } - - var_1E = destructible_animation_think(var_1A,var_1D,param_06,var_0A); - var_1E = destructible_fx_think(var_1A,var_1D,param_06,var_0A,var_1E); - self notify("FX_State_Change_Kill" + var_0A); - var_1E = destructible_sound_think(var_1A,var_1D,param_06,var_1E); - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopfx"])) - { - var_1F = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopfx_filename"].size; - if(var_1F > 0) - { - self notify("FX_State_Change" + var_0A); + self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)] = undefined; } - for(var_20 = 0;var_20 < var_1F;var_20++) + if(isdefined(var_1A["break_nearby_lights"])) { - var_21 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopfx"][var_20]; - var_22 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopfx_tag"][var_20]; - var_23 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopfx_rate"][var_20]; - thread loopfx_ontag(var_21,var_22,var_23,var_0A); + destructible_get_my_breakable_light(var_1A["break_nearby_lights"]); } - } - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopsound"])) - { - for(var_10 = 0;var_10 < level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopsound"].size;var_10++) + if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_09])) { - var_24 = isvalidsoundcause("loopsoundCause",var_1A,var_10,param_06); - if(var_24) + if(var_0A == 0) { - var_25 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopsound"][var_10]; - var_26 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["tagName"]; - thread play_loop_sound_on_destructible(var_25,var_26); - if(!isdefined(self.loopingsoundstopnotifies)) + var_1C = var_1B["modelName"]; + if(isdefined(var_1C) && var_1C != self.model) { - self.loopingsoundstopnotifies = []; - } - - if(!isdefined(self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)])) - { - self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)] = []; - } - - var_27 = self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)].size; - self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)][var_27] = "stop sound" + var_25; - } - } - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["triggerCarAlarm"])) - { - thread do_car_alarm(); - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["break_nearby_lights"])) - { - thread break_nearest_light(); - } - - if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["healthdrain_amount"])) - { - self notify("Health_Drain_State_Change" + var_0A); - var_28 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["healthdrain_amount"]; - var_29 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["healthdrain_interval"]; - var_2A = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["modelName"]; - var_2B = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["tagName"]; - var_2C = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["badplace_radius"]; - var_2D = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["badplace_team"]; - if(var_28 > 0) - { - thread health_drain(var_28,var_29,var_0A,var_2A,var_2B,var_2C,var_2D); - } - } - - var_2E = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["dot"]; - if(isdefined(var_2E)) - { - var_2F = var_2E; - var_3C = getfirstarraykey(var_2F); - if(isdefined(var_3C)) - { - var_30 = var_2F[var_3C]; - var_31 = var_30.index; - if(var_30.type == "predefined" && isdefined(var_31)) - { - var_32 = []; - var_33 = level.destructible_type[self.destructibleinfo].destructible_dots[var_31]; - var_3B = getfirstarraykey(var_33); - if(isdefined(var_3B)) - { - var_34 = var_33[var_3B]; - var_35 = var_34["classname"]; - var_36 = undefined; - switch(var_35) + self setmodel(var_1C); + if(common_scripts\utility::issp() && self.modeldummyon) { - case "trigger_radius": - break; + self.modeldummy setmodel(var_1C); + } - default: - break; + destructible_splash_rotatation(var_1B); + } + } + else + { + hideapart(param_02); + if(common_scripts\utility::issp() && self.modeldummyon) + { + self.modeldummy hideapart(param_02); + } + + param_02 = var_1B["tagName"]; + if(isdefined(param_02)) + { + showapart(param_02); + if(common_scripts\utility::issp() && self.modeldummyon) + { + self.modeldummy showapart(param_02); } } } } + + var_1D = get_dummy(); + if(isdefined(self.exploding)) + { + clear_anims(var_1D); + } + + var_1E = destructible_animation_think(var_1A,var_1D,param_06,var_0A); + var_1E = destructible_fx_think(var_1A,var_1D,param_06,var_0A,var_1E); + self notify("FX_State_Change_Kill" + var_0A); + var_1E = destructible_sound_think(var_1A,var_1D,param_06,var_1E); + if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopfx"])) + { + var_1F = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopfx_filename"].size; + if(var_1F > 0) + { + self notify("FX_State_Change" + var_0A); + } + + for(var_20 = 0;var_20 < var_1F;var_20++) + { + var_21 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopfx"][var_20]; + var_22 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopfx_tag"][var_20]; + var_23 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopfx_rate"][var_20]; + thread loopfx_ontag(var_21,var_22,var_23,var_0A); + } + } + + if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopsound"])) + { + for(var_10 = 0;var_10 < level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopsound"].size;var_10++) + { + var_24 = isvalidsoundcause("loopsoundCause",var_1A,var_10,param_06); + if(var_24) + { + var_25 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["loopsound"][var_10]; + var_26 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["tagName"]; + thread play_loop_sound_on_destructible(var_25,var_26); + if(!isdefined(self.loopingsoundstopnotifies)) + { + self.loopingsoundstopnotifies = []; + } + + if(!isdefined(self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)])) + { + self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)] = []; + } + + var_27 = self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)].size; + self.loopingsoundstopnotifies[common_scripts\utility::tostring(var_0A)][var_27] = "stop sound" + var_25; + } + } + } + + if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["triggerCarAlarm"])) + { + thread do_car_alarm(); + } + + if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["break_nearby_lights"])) + { + thread break_nearest_light(); + } + + if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["healthdrain_amount"])) + { + self notify("Health_Drain_State_Change" + var_0A); + var_28 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["healthdrain_amount"]; + var_29 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["healthdrain_interval"]; + var_2A = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["modelName"]; + var_2B = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["tagName"]; + var_2C = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["badplace_radius"]; + var_2D = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["badplace_team"]; + if(var_28 > 0) + { + thread health_drain(var_28,var_29,var_0A,var_2A,var_2B,var_2C,var_2D); + } + } + + var_2E = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["dot"]; + if(isdefined(var_2E)) + { + foreach(var_30 in var_2E) + { + var_31 = var_30.index; + if(var_30.type == "predefined" && isdefined(var_31)) + { + var_32 = []; + foreach(var_34 in level.destructible_type[self.destructibleinfo].destructible_dots[var_31]) + { + var_35 = var_34["classname"]; + var_36 = undefined; + switch(var_35) + { + case "trigger_radius": + var_37 = var_34["origin"]; + var_38 = var_34["spawnflags"]; + var_39 = var_34["radius"]; + var_3A = var_34["height"]; + var_36 = createdot_radius(self.origin + var_37,var_38,var_39,var_3A); + var_36.ticks = var_30.ticks; + var_32[var_32.size] = var_36; + break; + + default: + break; + } + } + + level thread startdot_group(var_32); + continue; + } + + if(isdefined(var_30)) + { + if(isdefined(var_30.tag)) + { + var_30 setdot_origin(self gettagorigin(var_30.tag)); + } + + level thread startdot_group([var_30]); + } + } + + var_2E = undefined; + } + + if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["explode"])) + { + var_0D = 1; + var_3D = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["explode_force_min"]; + var_3E = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["explode_force_max"]; + var_3F = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["explode_angularImpulse_min"]; + var_40 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["explode_angularImpulse_max"]; + var_41 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["explode_range"]; + var_42 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["explode_mindamage"]; + var_43 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["explode_maxdamage"]; + var_44 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["continueDamage"]; + var_45 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["originOffset"]; + var_46 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["earthQuakeScale"]; + var_47 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["earthQuakeRadius"]; + var_48 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["originOffset3d"]; + var_49 = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["delaytime"]; + if(isdefined(param_05) && param_05 != self) + { + self.attacker = param_05; + if(self.code_classname == "script_vehicle") + { + self.damage_type = param_06; + } + } + + thread explode(var_0A,var_3D,var_3E,var_41,var_42,var_43,var_44,var_45,var_46,var_47,param_05,var_48,var_49,var_3F,var_40); + } + + var_4A = undefined; + if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["physics"])) + { + for(var_10 = 0;var_10 < level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["physics"].size;var_10++) + { + var_4A = undefined; + var_4B = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["physics_tagName"][var_10]; + var_4C = level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["physics_velocity"][var_10]; + var_4D = undefined; + if(isdefined(var_4C)) + { + var_4E = undefined; + if(isdefined(var_4B)) + { + var_4E = self gettagangles(var_4B); + } + else if(isdefined(param_02)) + { + var_4E = self gettagangles(param_02); + } + + var_4A = undefined; + if(isdefined(var_4B)) + { + var_4A = self gettagorigin(var_4B); + } + else if(isdefined(param_02)) + { + var_4A = self gettagorigin(param_02); + } + + var_4F = var_4C[0] - 5 + randomfloat(10); + var_50 = var_4C[1] - 5 + randomfloat(10); + var_51 = var_4C[2] - 5 + randomfloat(10); + var_52 = anglestoforward(var_4E) * var_4F * randomfloatrange(80,110); + var_53 = anglestoright(var_4E) * var_50 * randomfloatrange(80,110); + var_54 = anglestoup(var_4E) * var_51 * randomfloatrange(80,110); + var_4D = var_52 + var_53 + var_54; + } + else + { + var_4D = param_03; + var_55 = (0,0,0); + if(isdefined(param_05)) + { + var_55 = param_05.origin; + var_4D = vectornormalize(param_03 - var_55); + var_4D = var_4D * 200; + } + } + + if(isdefined(var_4B)) + { + var_56 = undefined; + for(var_57 = 0;var_57 < level.destructible_type[self.destructibleinfo].parts.size;var_57++) + { + if(!isdefined(level.destructible_type[self.destructibleinfo].parts[var_57][0].v["tagName"])) + { + continue; + } + + if(level.destructible_type[self.destructibleinfo].parts[var_57][0].v["tagName"] != var_4B) + { + continue; + } + + var_56 = var_57; + break; + } + + if(isdefined(var_4A)) + { + thread physics_launch(var_56,0,var_4A,var_4D); + } + else + { + thread physics_launch(var_56,0,param_03,var_4D); + } + + continue; + } + + if(isdefined(var_4A)) + { + thread physics_launch(var_0A,var_19,var_4A,var_4D); + } + else + { + thread physics_launch(var_0A,var_19,param_03,var_4D); + } + + return; + } + } + + if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v) && isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["functionNotify"])) + { + self notify(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["functionNotify"]); + } + + if(isdefined(level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["function"])) + { + self thread [[ level.destructible_type[self.destructibleinfo].parts[var_0A][var_19].v["function"] ]](); + } + + var_0C = 1; } } @@ -1936,32 +2090,32 @@ getdamagetype(param_00) case "mod_melee_alt": case "mod_melee": case "melee": - break; + return "melee"; case "mod_rifle_bullet": case "mod_pistol_bullet": case "bullet": - break; + return "bullet"; - case "splash": case "mod_explosive": case "mod_projectile_splash": case "mod_projectile": case "mod_grenade_splash": case "mod_grenade": - break; + case "splash": + return "splash"; case "mod_impact": - break; + return "impact"; case "mod_energy": - break; + return "energy"; case "unknown": - break; + return "unknown"; default: - break; + return "unknown"; } } @@ -3640,6 +3794,11 @@ initdot(param_00) switch(param_00) { case "poison": + if(!common_scripts\utility::flag_exist("FLAG_DOT_poison_init")) + { + common_scripts\utility::flag_init("FLAG_DOT_poison_init"); + common_scripts\utility::flag_set("FLAG_DOT_poison_init"); + } break; default: @@ -3730,6 +3889,33 @@ setdot_ontick(param_00,param_01,param_02,param_03,param_04,param_05,param_06,par default: break; } + + self.ticks[var_08].falloff = param_05; + self.ticks[var_08].starttime = 0; + switch(param_06) + { + case "normal": + break; + + case "poison": + switch(param_07) + { + case "player": + self.ticks[var_08].type = param_06; + self.ticks[var_08].affected = param_07; + self.ticks[var_08].onenterfunc = ::onenterdot_poisondamageplayer; + self.ticks[var_08].onexitfunc = ::onexitdot_poisondamageplayer; + self.ticks[var_08].ondeathfunc = ::ondeathdot_poisondamageplayer; + break; + + default: + break; + } + break; + + default: + break; + } } //Function Number: 129 @@ -3746,6 +3932,7 @@ builddot_ontick(param_00,param_01) switch(param_01) { case "player": + self.ticks[var_02].affected = param_01; break; default: @@ -3875,20 +4062,78 @@ dobuilddot_wait(param_00,param_01,param_02) startdot_group(param_00) { var_01 = []; - var_02 = param_00; - var_0D = getfirstarraykey(var_02); - if(isdefined(var_0D)) + foreach(var_03 in param_00) { - var_03 = var_02[var_0D]; var_04 = undefined; switch(var_03.type) { case "trigger_radius": + var_04 = spawn("trigger_radius",var_03.origin,var_03.spawnflags,var_03.radius,var_03.height); + var_04.minradius = var_03.minradius; + var_04.maxradius = var_03.maxradius; + var_04.ticks = var_03.ticks; + var_01[var_01.size] = var_04; break; default: break; } + + if(isdefined(var_03.parent)) + { + var_04 linkto(var_03.parent); + var_03.parent.dot = var_04; + } + + var_05 = var_04.ticks; + foreach(var_07 in var_05) + { + var_07.starttime = gettime(); + } + + foreach(var_07 in var_05) + { + if(!var_07.delay) + { + var_07.enable = 1; + } + } + + foreach(var_07 in var_05) + { + if(issubstr(var_07.affected,"player")) + { + var_04.onplayer = 1; + break; + } + } + } + + foreach(var_04 in var_01) + { + var_04.dot_group = []; + foreach(var_10 in var_01) + { + if(var_04 == var_10) + { + continue; + } + + var_04.dot_group[var_04.dot_group.size] = var_10; + } + } + + foreach(var_04 in var_01) + { + if(var_04.onplayer) + { + var_04 thread startdot_player(); + } + } + + foreach(var_04 in var_01) + { + var_04 thread monitordot(); } } @@ -4010,26 +4255,38 @@ onenterdot_poisondamageplayer(param_00,param_01) self.onenterdot_poisondamagecount[param_00][var_02] = 0; var_04 = common_scripts\utility::ter_op(common_scripts\utility::issp(),1.5,1); - if(isdefined(param_01) && isdefined(param_01.ticks[param_00])) + while(isdefined(param_01) && isdefined(param_01.ticks[param_00])) { self.onenterdot_poisondamagecount[param_00][var_02]++; switch(self.onenterdot_poisondamagecount[param_00][var_02]) { case 1: + self viewkick(1,self.origin); break; case 3: + self shellshock("mp_radiation_low",4); + dodot_poisondamage(param_01,var_04 * 2); break; case 4: + self shellshock("mp_radiation_med",5); + thread dodot_poisonblackout(param_00,param_01); + dodot_poisondamage(param_01,var_04 * 2); break; case 6: + self shellshock("mp_radiation_high",5); + dodot_poisondamage(param_01,var_04 * 2); break; case 8: + self shellshock("mp_radiation_high",5); + dodot_poisondamage(param_01,var_04 * 500); break; } + + wait(param_01.ticks[param_00].interval); } } diff --git a/AW/PC/ZM/common_scripts/_dynamic_world.gsc b/AW/PC/common_scripts/_dynamic_world.gsc similarity index 99% rename from AW/PC/ZM/common_scripts/_dynamic_world.gsc rename to AW/PC/common_scripts/_dynamic_world.gsc index e0c9fbc..da68a95 100644 --- a/AW/PC/ZM/common_scripts/_dynamic_world.gsc +++ b/AW/PC/common_scripts/_dynamic_world.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: common_scripts/_dynamic_world.gsc + * Decompiled File: _dynamic_world.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 73 - * Decompile Time: 1158 ms - * Timestamp: 10/27/2023 2:07:34 AM + * Decompile Time: 867 ms + * Timestamp: 4/22/2024 2:03:06 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/common_scripts/_elevator.gsc b/AW/PC/common_scripts/_elevator.gsc similarity index 99% rename from AW/PC/ZM/common_scripts/_elevator.gsc rename to AW/PC/common_scripts/_elevator.gsc index 060daa3..cf6c8f5 100644 --- a/AW/PC/ZM/common_scripts/_elevator.gsc +++ b/AW/PC/common_scripts/_elevator.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: common_scripts/_elevator.gsc + * Decompiled File: _elevator.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 55 - * Decompile Time: 867 ms - * Timestamp: 10/27/2023 2:07:37 AM + * Decompile Time: 656 ms + * Timestamp: 4/22/2024 2:03:08 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/common_scripts/_exploder.gsc b/AW/PC/common_scripts/_exploder.gsc similarity index 99% rename from AW/PC/SP/common_scripts/_exploder.gsc rename to AW/PC/common_scripts/_exploder.gsc index c0869e1..dd536c0 100644 --- a/AW/PC/SP/common_scripts/_exploder.gsc +++ b/AW/PC/common_scripts/_exploder.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: common_scripts/_exploder.gsc + * Decompiled File: _exploder.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 37 - * Decompile Time: 637 ms - * Timestamp: 10/27/2023 1:57:51 AM + * Decompile Time: 446 ms + * Timestamp: 4/22/2024 2:03:10 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/common_scripts/_fx.gsc b/AW/PC/common_scripts/_fx.gsc similarity index 97% rename from AW/PC/SP/common_scripts/_fx.gsc rename to AW/PC/common_scripts/_fx.gsc index 42a9863..42b67d0 100644 --- a/AW/PC/SP/common_scripts/_fx.gsc +++ b/AW/PC/common_scripts/_fx.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: common_scripts/_fx.gsc + * Decompiled File: _fx.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 39 - * Decompile Time: 636 ms - * Timestamp: 10/27/2023 1:57:53 AM + * Decompile Time: 458 ms + * Timestamp: 4/22/2024 2:03:12 AM *******************************************************************/ //Function Number: 1 @@ -48,32 +48,39 @@ initfx() level waittill("createfx_common_done"); } - var_00 = 0; - if(var_00 < level.createfxent.size) + for(var_00 = 0;var_00 < level.createfxent.size;var_00++) { var_01 = level.createfxent[var_00]; var_01 common_scripts\_createfx::set_forward_and_up_vectors(); switch(var_01.v["type"]) { case "loopfx": + var_01 thread loopfxthread(); break; case "oneshotfx": + var_01 thread oneshotfxthread(); break; case "soundfx": + var_01 thread create_loopsound(); break; case "soundfx_interval": + var_01 thread create_interval_sound(); break; case "reactive_fx": + var_01 add_reactive_fx(); break; case "soundfx_dynamic": + var_01 thread create_dynamicambience(); break; } } + + check_createfx_limit(); } //Function Number: 2 diff --git a/AW/PC/common_scripts/_mp_pipes.gsc b/AW/PC/common_scripts/_mp_pipes.gsc new file mode 100644 index 0000000..7df3dbf --- /dev/null +++ b/AW/PC/common_scripts/_mp_pipes.gsc @@ -0,0 +1,442 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _mp_pipes.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 13 + * Decompile Time: 158 ms + * Timestamp: 4/22/2024 2:03:12 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(isdefined(level.pipes_init)) + { + return; + } + + level.pipes_init = 1; + var_00 = getentarray("pipe_shootable","targetname"); + if(!var_00.size) + { + return; + } + + level._pipes = spawnstruct(); + level._pipes.num_pipe_fx = 0; + level._pipes.last_fx_time_ms = 0; + var_00 thread precachefx(); + var_00 thread methodsinit(); + thread post_load(var_00); +} + +//Function Number: 2 +post_load(param_00) +{ + waittillframeend; + if(level.createfx_enabled) + { + return; + } + + common_scripts\utility::array_thread(param_00,::pipesetup); +} + +//Function Number: 3 +pipesetup() +{ + self setcandamage(1); + self setcanradiusdamage(0); + self.pipe_fx_array = []; + var_00 = undefined; + if(isdefined(self.target)) + { + var_00 = common_scripts\utility::getstruct(self.target,"targetname"); + self.a = var_00.origin; + var_01 = anglestoforward(var_00.angles); + var_01 = var_01 * 128; + self.b = self.a + var_01; + } + else + { + var_01 = anglestoforward(self.angles); + var_02 = var_01 * 64; + self.a = self.origin + var_02; + var_02 = var_01 * -64; + self.b = self.origin + var_02; + } + + thread pipe_wait_loop(); +} + +//Function Number: 4 +pipe_wait_loop() +{ + var_00 = (0,0,0); + var_01 = 0; + var_02 = 4; + for(;;) + { + self waittill("damage",var_03,var_04,var_05,var_00,var_06); + if(var_01) + { + if(randomint(100) >= 67) + { + continue; + } + } + + var_01 = 1; + var_07 = pipe_logic(var_05,var_00,var_06,var_04); + if(var_07) + { + var_02--; + } + + if(var_02 <= 0) + { + break; + } + } + + self setcandamage(0); +} + +//Function Number: 5 +pipe_logic(param_00,param_01,param_02,param_03) +{ + if(level._pipes.num_pipe_fx > 8) + { + return 0; + } + + var_04 = gettime(); + if(var_04 < level._pipes.last_fx_time_ms + 100) + { + return 0; + } + + if(!isdefined(level._pipes._pipe_methods[param_02])) + { + param_01 = pipe_calc_nofx(param_01,param_02); + } + else + { + param_01 = self [[ level._pipes._pipe_methods[param_02] ]](param_01,param_02); + } + + if(!isdefined(param_01)) + { + return 0; + } + + if(isdefined(param_03.classname) && param_03.classname == "worldspawn") + { + return 0; + } + + foreach(var_06 in self.pipe_fx_array) + { + if(distancesquared(param_01,var_06.origin) < 25) + { + return 0; + } + } + + var_08 = undefined; + if(isai(param_03)) + { + var_08 = param_03 geteye(); + } + else + { + var_08 = param_03.origin; + } + + var_09 = param_01 - var_08; + var_0A = undefined; + if(isdefined(level.pipes_use_simple_normal)) + { + var_0A = vectorfromlinetopoint(self.a,self.b,param_01); + } + else + { + var_0B = bullettrace(var_08,var_08 + 1.5 * var_09,0,param_03,0); + if(isdefined(var_0B["normal"]) && isdefined(var_0B["entity"]) && var_0B["entity"] == self) + { + var_0A = var_0B["normal"]; + } + } + + if(isdefined(var_0A)) + { + level._pipes.last_fx_time_ms = var_04; + thread pipefx(param_01,var_0A,param_03); + return 1; + } + + return 0; +} + +//Function Number: 6 +pipefx(param_00,param_01,param_02) +{ + var_03 = level._pipes.fx_time[self.script_noteworthy]; + var_04 = level._pipes._pipe_fx_time[self.script_noteworthy]; + var_05 = int(var_04 / var_03); + var_06 = 30; + var_07 = level._pipes._sound[self.script_noteworthy + "_hit"]; + var_08 = level._pipes._sound[self.script_noteworthy + "_loop"]; + var_09 = level._pipes._sound[self.script_noteworthy + "_end"]; + var_0A = spawn("script_origin",param_00); + var_0A setmodel("tag_origin"); + var_0A.angles = vectortoangles(param_01); + var_0A playsoundonmovingent(var_07); + var_0A playloopsound(var_08); + wait(0.1); + self.pipe_fx_array[self.pipe_fx_array.size] = var_0A; + if(common_scripts\utility::issp() || self.script_noteworthy != "steam") + { + thread pipe_damage(param_00,param_01,param_02,var_0A); + } + + if(self.script_noteworthy == "oil_leak") + { + var_0B = spawn("script_model",param_00); + var_0B setmodel("tag_origin"); + var_0B.angles = vectortoangles(param_01); + playfxontag(level._pipes._effect[self.script_noteworthy],var_0B,"tag_origin"); + level._pipes.num_pipe_fx++; + var_0B rotatepitch(90,var_03,1,1); + wait(var_03); + stopfxontag(level._pipes._effect[self.script_noteworthy],var_0B,"tag_origin"); + var_05--; + } + else + { + playfxontag(level._pipes._effect[self.script_noteworthy],var_0A,"tag_origin"); + level._pipes.num_pipe_fx++; + wait(var_03); + var_05--; + } + + while(level._pipes.num_pipe_fx <= 8 && var_05 > 0) + { + waittillframeend; + if(gettime() < level._pipes.last_fx_time_ms + 100) + { + wait(0.1); + continue; + } + + if(self.script_noteworthy == "oil_leak") + { + var_0B = spawn("script_model",param_00); + var_0B setmodel("tag_origin"); + var_0B.angles = vectortoangles(param_01); + playfxontag(level._pipes._effect[self.script_noteworthy],var_0B,"tag_origin"); + level._pipes.num_pipe_fx++; + var_0B rotatepitch(90,var_03,1,1); + wait(var_03); + stopfxontag(level._pipes._effect[self.script_noteworthy],var_0B,"tag_origin"); + continue; + } + + playfxontag(level._pipes._effect[self.script_noteworthy],var_0A,"tag_origin"); + wait(var_03); + var_05--; + } + + var_0A playsoundonmovingent(var_09); + wait(0.5); + var_0A stoploopsound(var_08); + var_0A delete(); + self.pipe_fx_array = common_scripts\utility::array_removeundefined(self.pipe_fx_array); + level._pipes.num_pipe_fx--; +} + +//Function Number: 7 +pipe_damage(param_00,param_01,param_02,param_03) +{ + if(!allow_pipe_damage()) + { + return; + } + + param_03 endon("death"); + var_04 = param_03.origin + vectornormalize(param_01) * 40; + var_05 = level._pipes._dmg[self.script_noteworthy]; + for(;;) + { + if(!isdefined(self.damageowner)) + { + self radiusdamage(var_04,36,var_05,var_05 * 0.75,undefined,"MOD_TRIGGER_HURT"); + } + else + { + self radiusdamage(var_04,36,var_05,var_05 * 0.75,param_02,"MOD_TRIGGER_HURT"); + } + + wait(0.4); + } +} + +//Function Number: 8 +allow_pipe_damage() +{ + if(!common_scripts\utility::issp()) + { + return 0; + } + + if(!isdefined(level.pipesdamage)) + { + return 1; + } + + return level.pipesdamage; +} + +//Function Number: 9 +methodsinit() +{ + level._pipes._pipe_methods = []; + level._pipes._pipe_methods["MOD_UNKNOWN"] = ::pipe_calc_splash; + level._pipes._pipe_methods["MOD_PISTOL_BULLET"] = ::pipe_calc_ballistic; + level._pipes._pipe_methods["MOD_RIFLE_BULLET"] = ::pipe_calc_ballistic; + level._pipes._pipe_methods["MOD_GRENADE"] = ::pipe_calc_splash; + level._pipes._pipe_methods["MOD_GRENADE_SPLASH"] = ::pipe_calc_splash; + level._pipes._pipe_methods["MOD_PROJECTILE"] = ::pipe_calc_splash; + level._pipes._pipe_methods["MOD_PROJECTILE_SPLASH"] = ::pipe_calc_splash; + level._pipes._pipe_methods["MOD_TRIGGER_HURT"] = ::pipe_calc_splash; + level._pipes._pipe_methods["MOD_EXPLOSIVE"] = ::pipe_calc_splash; + level._pipes._pipe_methods["MOD_EXPLOSIVE_BULLET"] = ::pipe_calc_splash; +} + +//Function Number: 10 +pipe_calc_ballistic(param_00,param_01) +{ + return param_00; +} + +//Function Number: 11 +pipe_calc_splash(param_00,param_01) +{ + var_02 = vectornormalize(vectorfromlinetopoint(self.a,self.b,param_00)); + param_00 = pointonsegmentnearesttopoint(self.a,self.b,param_00); + return param_00 + var_02 * 4; +} + +//Function Number: 12 +pipe_calc_nofx(param_00,param_01) +{ + return undefined; +} + +//Function Number: 13 +precachefx() +{ + var_00 = 0; + var_01 = 0; + var_02 = 0; + var_03 = 0; + var_04 = 0; + foreach(var_06 in self) + { + if(var_06.script_noteworthy == "water") + { + var_06.script_noteworthy = "steam"; + } + + if(var_06.script_noteworthy == "steam") + { + var_06 willneverchange(); + var_00 = 1; + continue; + } + + if(var_06.script_noteworthy == "fire") + { + var_06 willneverchange(); + var_01 = 1; + continue; + } + + if(var_06.script_noteworthy == "steam_small") + { + var_06 willneverchange(); + var_02 = 1; + continue; + } + + if(var_06.script_noteworthy == "oil_leak") + { + var_06 willneverchange(); + var_03 = 1; + continue; + } + + if(var_06.script_noteworthy == "oil_cap") + { + var_06 willneverchange(); + var_04 = 1; + continue; + } + } + + if(var_00) + { + level._pipes._effect["steam"] = loadfx("vfx/steam/steam_pipe_impact"); + level._pipes._sound["steam_hit"] = "mtl_steam_pipe_hit"; + level._pipes._sound["steam_loop"] = "mtl_steam_pipe_hiss_loop"; + level._pipes._sound["steam_end"] = "mtl_steam_pipe_hiss_loop_end"; + level._pipes.fx_time["steam"] = 3; + level._pipes._dmg["steam"] = 5; + level._pipes._pipe_fx_time["steam"] = 25; + } + + if(var_02) + { + level._pipes._effect["steam_small"] = loadfx("vfx/steam/steam_pipe_impact_sml"); + level._pipes._sound["steam_small_hit"] = "mtl_steam_pipe_hit"; + level._pipes._sound["steam_small_loop"] = "mtl_steam_pipe_hiss_loop"; + level._pipes._sound["steam_small_end"] = "mtl_steam_pipe_hiss_loop_end"; + level._pipes.fx_time["steam_small"] = 3; + level._pipes._dmg["steam_small"] = 5; + level._pipes._pipe_fx_time["steam_small"] = 25; + } + + if(var_01) + { + level._pipes._effect["fire"] = loadfx("vfx/fire/mp_pipe_gas_fire_leak_runner"); + level._pipes._sound["fire_hit"] = "mtl_gas_pipe_hit"; + level._pipes._sound["fire_loop"] = "mtl_gas_pipe_flame_loop"; + level._pipes._sound["fire_end"] = "mtl_gas_pipe_flame_end"; + level._pipes.fx_time["fire"] = 3; + level._pipes._dmg["fire"] = 5; + level._pipes._pipe_fx_time["fire"] = 25; + } + + if(var_03) + { + level._pipes._effect["oil_leak"] = loadfx("fx/impacts/pipe_oil_barrel_spill"); + level._pipes._sound["oil_leak_hit"] = "mtl_oil_barrel_hit"; + level._pipes._sound["oil_leak_loop"] = "mtl_oil_barrel_hiss_loop"; + level._pipes._sound["oil_leak_end"] = "mtl_oil_barrel_hiss_loop_end"; + level._pipes.fx_time["oil_leak"] = 6; + level._pipes._pipe_fx_time["oil_leak"] = 6; + level._pipes._dmg["oil_leak"] = 5; + } + + if(var_04) + { + level._pipes._effect["oil_cap"] = loadfx("fx/impacts/pipe_oil_barrel_squirt"); + level._pipes._sound["oil_cap_hit"] = "mtl_steam_pipe_hit"; + level._pipes._sound["oil_cap_loop"] = "mtl_steam_pipe_hiss_loop"; + level._pipes._sound["oil_cap_end"] = "mtl_steam_pipe_hiss_loop_end"; + level._pipes.fx_time["oil_cap"] = 3; + level._pipes._dmg["oil_cap"] = 5; + level._pipes._pipe_fx_time["oil_cap"] = 5; + } +} \ No newline at end of file diff --git a/AW/PC/common_scripts/_pipes.gsc b/AW/PC/common_scripts/_pipes.gsc new file mode 100644 index 0000000..45551d6 --- /dev/null +++ b/AW/PC/common_scripts/_pipes.gsc @@ -0,0 +1,413 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _pipes.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 13 + * Decompile Time: 159 ms + * Timestamp: 4/22/2024 2:03:13 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(isdefined(level.pipes_init)) + { + return; + } + + level.pipes_init = 1; + var_00 = getentarray("pipe_shootable","targetname"); + if(!var_00.size) + { + return; + } + + level._pipes = spawnstruct(); + level._pipes.num_pipe_fx = 0; + var_00 thread precachefx(); + var_00 thread methodsinit(); + thread post_load(var_00); +} + +//Function Number: 2 +post_load(param_00) +{ + waittillframeend; + if(level.createfx_enabled) + { + return; + } + + common_scripts\utility::array_thread(param_00,::pipesetup); +} + +//Function Number: 3 +pipesetup() +{ + self setcandamage(1); + self setcanradiusdamage(0); + self.pipe_fx_array = []; + var_00 = undefined; + if(isdefined(self.target)) + { + var_00 = common_scripts\utility::getstruct(self.target,"targetname"); + self.a = var_00.origin; + var_01 = anglestoforward(var_00.angles); + var_01 = var_01 * 128; + self.b = self.a + var_01; + } + else + { + var_01 = anglestoforward(self.angles); + var_02 = var_01 * 64; + self.a = self.origin + var_02; + var_02 = var_01 * -64; + self.b = self.origin + var_02; + } + + thread pipe_wait_loop(); +} + +//Function Number: 4 +pipe_wait_loop() +{ + var_00 = (0,0,0); + var_01 = 0; + var_02 = 4; + for(;;) + { + self waittill("damage",var_03,var_04,var_05,var_00,var_06); + if(var_01) + { + if(randomint(100) <= 33) + { + continue; + } + } + + var_01 = 1; + var_07 = pipe_logic(var_05,var_00,var_06,var_04); + if(var_07) + { + var_02--; + } + + if(var_02 <= 0) + { + break; + } + } + + self setcandamage(0); +} + +//Function Number: 5 +pipe_logic(param_00,param_01,param_02,param_03) +{ + if(level._pipes.num_pipe_fx > 8) + { + return 0; + } + + if(!isdefined(level._pipes._pipe_methods[param_02])) + { + param_01 = pipe_calc_nofx(param_01,param_02); + } + else + { + param_01 = self [[ level._pipes._pipe_methods[param_02] ]](param_01,param_02); + } + + if(!isdefined(param_01)) + { + return 0; + } + + if(isdefined(param_03.classname) && param_03.classname == "worldspawn") + { + return 0; + } + + foreach(var_05 in self.pipe_fx_array) + { + if(distancesquared(param_01,var_05.origin) < 25) + { + return 0; + } + } + + var_07 = undefined; + if(isai(param_03)) + { + var_07 = param_03 geteye(); + } + else + { + var_07 = param_03.origin; + } + + var_08 = param_01 - var_07; + var_09 = bullettrace(var_07,var_07 + 1.5 * var_08,0,param_03,0); + if(isdefined(var_09["normal"]) && isdefined(var_09["entity"]) && var_09["entity"] == self) + { + var_0A = var_09["normal"]; + thread pipefx(param_01,var_0A,param_03); + return 1; + } + + return 0; +} + +//Function Number: 6 +pipefx(param_00,param_01,param_02) +{ + var_03 = level._pipes.fx_time[self.script_noteworthy]; + var_04 = level._pipes._pipe_fx_time[self.script_noteworthy]; + var_05 = int(var_04 / var_03); + var_06 = 30; + var_07 = level._pipes._sound[self.script_noteworthy + "_hit"]; + var_08 = level._pipes._sound[self.script_noteworthy + "_loop"]; + var_09 = level._pipes._sound[self.script_noteworthy + "_end"]; + var_0A = spawn("script_origin",param_00); + var_0A hide(); + var_0A playsound(var_07); + var_0A playloopsound(var_08); + self.pipe_fx_array[self.pipe_fx_array.size] = var_0A; + if(common_scripts\utility::issp() || self.script_noteworthy != "steam") + { + thread pipe_damage(param_00,param_01,param_02,var_0A); + } + + if(self.script_noteworthy == "oil_leak") + { + var_0B = spawn("script_model",param_00); + var_0B setmodel("tag_origin"); + var_0B.angles = vectortoangles(param_01); + playfxontag(level._pipes._effect[self.script_noteworthy],var_0B,"tag_origin"); + level._pipes.num_pipe_fx++; + var_0B rotatepitch(90,var_03,1,1); + wait(var_03); + stopfxontag(level._pipes._effect[self.script_noteworthy],var_0B,"tag_origin"); + var_05--; + } + else + { + playfx(level._pipes._effect[self.script_noteworthy],param_00,param_01); + level._pipes.num_pipe_fx++; + wait(var_03); + var_05--; + } + + while(level._pipes.num_pipe_fx <= 8 && var_05 > 0) + { + if(self.script_noteworthy == "oil_leak") + { + var_0B = spawn("script_model",param_00); + var_0B setmodel("tag_origin"); + var_0B.angles = vectortoangles(param_01); + playfxontag(level._pipes._effect[self.script_noteworthy],var_0B,"tag_origin"); + level._pipes.num_pipe_fx++; + var_0B rotatepitch(90,var_03,1,1); + wait(var_03); + stopfxontag(level._pipes._effect[self.script_noteworthy],var_0B,"tag_origin"); + continue; + } + + playfx(level._pipes._effect[self.script_noteworthy],param_00,param_01); + wait(var_03); + var_05--; + } + + var_0A playsound(var_09); + wait(0.5); + var_0A stoploopsound(var_08); + var_0A delete(); + self.pipe_fx_array = common_scripts\utility::array_removeundefined(self.pipe_fx_array); + level._pipes.num_pipe_fx--; +} + +//Function Number: 7 +pipe_damage(param_00,param_01,param_02,param_03) +{ + if(!allow_pipe_damage()) + { + return; + } + + param_03 endon("death"); + var_04 = param_03.origin + vectornormalize(param_01) * 40; + var_05 = level._pipes._dmg[self.script_noteworthy]; + for(;;) + { + if(!isdefined(self.damageowner)) + { + self radiusdamage(var_04,36,var_05,var_05 * 0.75,undefined,"MOD_TRIGGER_HURT"); + } + else + { + self radiusdamage(var_04,36,var_05,var_05 * 0.75,param_02,"MOD_TRIGGER_HURT"); + } + + wait(0.4); + } +} + +//Function Number: 8 +allow_pipe_damage() +{ + if(!common_scripts\utility::issp()) + { + return 0; + } + + if(!isdefined(level.pipesdamage)) + { + return 1; + } + + return level.pipesdamage; +} + +//Function Number: 9 +methodsinit() +{ + level._pipes._pipe_methods = []; + level._pipes._pipe_methods["MOD_UNKNOWN"] = ::pipe_calc_splash; + level._pipes._pipe_methods["MOD_PISTOL_BULLET"] = ::pipe_calc_ballistic; + level._pipes._pipe_methods["MOD_RIFLE_BULLET"] = ::pipe_calc_ballistic; + level._pipes._pipe_methods["MOD_GRENADE"] = ::pipe_calc_splash; + level._pipes._pipe_methods["MOD_GRENADE_SPLASH"] = ::pipe_calc_splash; + level._pipes._pipe_methods["MOD_PROJECTILE"] = ::pipe_calc_splash; + level._pipes._pipe_methods["MOD_PROJECTILE_SPLASH"] = ::pipe_calc_splash; + level._pipes._pipe_methods["MOD_TRIGGER_HURT"] = ::pipe_calc_splash; + level._pipes._pipe_methods["MOD_EXPLOSIVE"] = ::pipe_calc_splash; + level._pipes._pipe_methods["MOD_EXPLOSIVE_BULLET"] = ::pipe_calc_splash; +} + +//Function Number: 10 +pipe_calc_ballistic(param_00,param_01) +{ + return param_00; +} + +//Function Number: 11 +pipe_calc_splash(param_00,param_01) +{ + var_02 = vectornormalize(vectorfromlinetopoint(self.a,self.b,param_00)); + param_00 = pointonsegmentnearesttopoint(self.a,self.b,param_00); + return param_00 + var_02 * 4; +} + +//Function Number: 12 +pipe_calc_nofx(param_00,param_01) +{ + return undefined; +} + +//Function Number: 13 +precachefx() +{ + var_00 = 0; + var_01 = 0; + var_02 = 0; + var_03 = 0; + var_04 = 0; + foreach(var_06 in self) + { + if(var_06.script_noteworthy == "water") + { + var_06.script_noteworthy = "steam"; + } + + if(var_06.script_noteworthy == "steam") + { + var_06 willneverchange(); + var_00 = 1; + continue; + } + + if(var_06.script_noteworthy == "fire") + { + var_06 willneverchange(); + var_01 = 1; + continue; + } + + if(var_06.script_noteworthy == "steam_small") + { + var_06 willneverchange(); + var_02 = 1; + continue; + } + + if(var_06.script_noteworthy == "oil_leak") + { + var_06 willneverchange(); + var_03 = 1; + continue; + } + + if(var_06.script_noteworthy == "oil_cap") + { + var_06 willneverchange(); + var_04 = 1; + continue; + } + } + + if(var_00) + { + level._pipes._effect["steam"] = loadfx("vfx/steam/steam_pipe_impact"); + level._pipes._sound["steam_hit"] = "mtl_steam_pipe_hit"; + level._pipes._sound["steam_loop"] = "mtl_steam_pipe_hiss_loop"; + level._pipes._sound["steam_end"] = "mtl_steam_pipe_hiss_loop_end"; + level._pipes.fx_time["steam"] = 3; + level._pipes._dmg["steam"] = 5; + level._pipes._pipe_fx_time["steam"] = 25; + } + + if(var_02) + { + level._pipes._effect["steam_small"] = loadfx("vfx/steam/steam_pipe_impact_sml"); + level._pipes._sound["steam_small_hit"] = "mtl_steam_pipe_hit"; + level._pipes._sound["steam_small_loop"] = "mtl_steam_pipe_hiss_loop"; + level._pipes._sound["steam_small_end"] = "mtl_steam_pipe_hiss_loop_end"; + level._pipes.fx_time["steam_small"] = 3; + level._pipes._dmg["steam_small"] = 5; + level._pipes._pipe_fx_time["steam_small"] = 25; + } + + if(var_01) + { + level._pipes._effect["fire"] = loadfx("fx/impacts/pipe_fire"); + level._pipes._sound["fire_hit"] = "mtl_gas_pipe_hit"; + level._pipes._sound["fire_loop"] = "mtl_gas_pipe_flame_loop"; + level._pipes._sound["fire_end"] = "mtl_gas_pipe_flame_end"; + level._pipes.fx_time["fire"] = 3; + level._pipes._dmg["fire"] = 5; + level._pipes._pipe_fx_time["fire"] = 25; + } + + if(var_03) + { + level._pipes._effect["oil_leak"] = loadfx("fx/impacts/pipe_oil_barrel_spill"); + level._pipes._sound["oil_leak_hit"] = "mtl_oil_barrel_hit"; + level._pipes._sound["oil_leak_loop"] = "mtl_oil_barrel_hiss_loop"; + level._pipes._sound["oil_leak_end"] = "mtl_oil_barrel_hiss_loop_end"; + level._pipes.fx_time["oil_leak"] = 6; + level._pipes._pipe_fx_time["oil_leak"] = 6; + level._pipes._dmg["oil_leak"] = 5; + } + + if(var_04) + { + level._pipes._effect["oil_cap"] = loadfx("fx/impacts/pipe_oil_barrel_squirt"); + level._pipes._sound["oil_cap_hit"] = "mtl_steam_pipe_hit"; + level._pipes._sound["oil_cap_loop"] = "mtl_steam_pipe_hiss_loop"; + level._pipes._sound["oil_cap_end"] = "mtl_steam_pipe_hiss_loop_end"; + level._pipes.fx_time["oil_cap"] = 3; + level._pipes._dmg["oil_cap"] = 5; + level._pipes._pipe_fx_time["oil_cap"] = 5; + } +} \ No newline at end of file diff --git a/AW/PC/SP/common_scripts/utility.gsc b/AW/PC/common_scripts/utility.gsc similarity index 99% rename from AW/PC/SP/common_scripts/utility.gsc rename to AW/PC/common_scripts/utility.gsc index 13559f0..84d27de 100644 --- a/AW/PC/SP/common_scripts/utility.gsc +++ b/AW/PC/common_scripts/utility.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: common_scripts/utility.gsc + * Decompiled File: utility.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 215 - * Decompile Time: 3426 ms - * Timestamp: 10/27/2023 1:58:04 AM + * Decompile Time: 2390 ms + * Timestamp: 4/22/2024 2:03:20 AM *******************************************************************/ //Function Number: 1 @@ -3691,9 +3691,11 @@ missile_settargetandflightmode(param_00,param_01,param_02) switch(param_01) { case "direct": + self missile_setflightmodedirect(); break; case "top": + self missile_setflightmodetop(); break; } } @@ -3783,9 +3785,25 @@ convertfogtech(param_00) switch(level.exclusive_fog_tech) { case "dfog": + if(level.exclusive_fog_tech == "dfog" && param_00.sunfogenabled == 0) + { + param_00.sunfogenabled = 1; + param_00.sunred = 0; + param_00.sungreen = 0; + param_00.sunblue = 0; + param_00.hdrsuncolorintensity = 0; + param_00.sundir = (0,0,0); + param_00.sunbeginfadeangle = 0; + param_00.sunendfageangle = 0; + param_00.normalfogscale = 1; + } break; case "normal_fog": + if(param_00.sunfogenabled == 1) + { + param_00.sunfogenabled = 0; + } break; default: diff --git a/AW/PC/destructible_scripts/berlin_hotel_lights_wall2.gsc b/AW/PC/destructible_scripts/berlin_hotel_lights_wall2.gsc new file mode 100644 index 0000000..9fadd1f --- /dev/null +++ b/AW/PC/destructible_scripts/berlin_hotel_lights_wall2.gsc @@ -0,0 +1,27 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: berlin_hotel_lights_wall2.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 31 ms + * Timestamp: 4/22/2024 2:03:24 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + dest_onestate("berlin_hotel_lights_wall2","berlin_hotel_lights_wall2_destroyed","fx/misc/light_blowout_wall_runner"); +} + +//Function Number: 2 +dest_onestate(param_00,param_01,param_02,param_03) +{ + common_scripts\_destructible::destructible_create(param_00,"tag_origin",150,undefined,32); + common_scripts\_destructible::destructible_fx("tag_fx",param_02); + common_scripts\_destructible::destructible_state("tag_origin",param_01,undefined,undefined,"no_meele"); + if(isdefined(param_03)) + { + common_scripts\_destructible::destructible_sound(param_03); + } +} \ No newline at end of file diff --git a/AW/PC/destructible_scripts/computer_01_destp.gsc b/AW/PC/destructible_scripts/computer_01_destp.gsc new file mode 100644 index 0000000..c03ad48 --- /dev/null +++ b/AW/PC/destructible_scripts/computer_01_destp.gsc @@ -0,0 +1,19 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: computer_01_destp.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 2:03:24 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + common_scripts\_destructible::destructible_create("computer_01_destp","tag_origin",200); + common_scripts\_destructible::destructible_fx_spawn_immediate("tag_fx","vfx/test/ui_prototype/ui_compscrn_proto",1,undefined,undefined,undefined,2); + common_scripts\_destructible::destructible_fx("tag_fx","vfx/glass/glass_shatter_01",1); + common_scripts\_destructible::destructible_state(undefined,"computer_screen_01_dstry_destp",300); + common_scripts\_destructible::destructible_state(); +} \ No newline at end of file diff --git a/AW/PC/destructible_scripts/container_plastic_72x56x48_01_destp.gsc b/AW/PC/destructible_scripts/container_plastic_72x56x48_01_destp.gsc new file mode 100644 index 0000000..792a883 --- /dev/null +++ b/AW/PC/destructible_scripts/container_plastic_72x56x48_01_destp.gsc @@ -0,0 +1,26 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: container_plastic_72x56x48_01_destp.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 2:03:24 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + common_scripts\_destructible::destructible_create("container_plastic_72x56x48_01_destp","tag_origin",500,undefined,32,"no_melee"); + common_scripts\_destructible::destructible_fx("tag_origin","vfx/destructible/container_plastic_72x56x48_01",1); + common_scripts\_destructible::destructible_explode(1500,3000,100,100,10,20,undefined,undefined,undefined,undefined,undefined,undefined,2000,3000); + common_scripts\_destructible::destructible_state("tag_origin","container_plastic_72x56x48_01_dstry_destp",undefined,undefined,undefined,undefined,undefined,0); + common_scripts\_destructible::destructible_part("tag_part_01","container_plastic_72x56x48_01_part_01_destp",undefined,undefined,undefined,undefined,1,1); + common_scripts\_destructible::destructible_part("tag_part_02","container_plastic_72x56x48_01_part_02_destp",undefined,undefined,undefined,undefined,1,1); + common_scripts\_destructible::destructible_part("tag_part_03","container_plastic_72x56x48_01_part_03_destp",undefined,undefined,undefined,undefined,1,1); + common_scripts\_destructible::destructible_part("tag_part_04","container_plastic_72x56x48_01_part_04_destp",undefined,undefined,undefined,undefined,1,1); + common_scripts\_destructible::destructible_part("tag_part_05","container_plastic_72x56x48_01_part_05_destp",undefined,undefined,undefined,undefined,1,1); + common_scripts\_destructible::destructible_part("tag_part_06","container_plastic_72x56x48_01_part_06_destp",undefined,undefined,undefined,undefined,1,1); + common_scripts\_destructible::destructible_part("tag_part_07","container_plastic_72x56x48_01_part_07_destp",undefined,undefined,undefined,undefined,1,1); + common_scripts\_destructible::destructible_part("tag_part_08","container_plastic_72x56x48_01_part_08_destp",undefined,undefined,undefined,undefined,1,1); +} \ No newline at end of file diff --git a/AW/PC/destructible_scripts/greece_spinning_displays.gsc b/AW/PC/destructible_scripts/greece_spinning_displays.gsc new file mode 100644 index 0000000..869d86d --- /dev/null +++ b/AW/PC/destructible_scripts/greece_spinning_displays.gsc @@ -0,0 +1,190 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: greece_spinning_displays.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 8 + * Decompile Time: 93 ms + * Timestamp: 4/22/2024 2:03:25 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = spawnstruct(); + var_00.cardfx = loadfx("vfx/destructible/greece_spinning_display_flying_cards_01"); + init_displays(var_00); +} + +//Function Number: 2 +get_num_card_tags(param_00) +{ + var_01 = 0; + switch(param_00) + { + case "greece_spinning_display_stand_01": + var_01 = 14; + break; + + case "greece_spinning_display_stand_02": + var_01 = 43; + break; + } + + return var_01; +} + +//Function Number: 3 +get_num_visible_card_tags() +{ + var_00 = 0; + for(var_01 = 0;var_01 < self.numcardtags;var_01++) + { + if(self.cardtagvisible[var_01]) + { + var_00++; + } + } + + return var_00; +} + +//Function Number: 4 +init_displays(param_00) +{ + param_00.displays = getentarray("spinningDisplayStand","targetname"); + if(!isdefined(param_00.displays)) + { + return; + } + + if(param_00.displays.size == 0) + { + return; + } + + for(var_01 = 0;var_01 < param_00.displays.size;var_01++) + { + var_02 = param_00.displays[var_01]; + var_02 init_card_tags(); + if(!isdefined(var_02.origin)) + { + var_02.origin = (0,0,0); + } + + var_02 useanimtree(#animtree); + var_02 setcandamage(1); + var_02.displayhealth = 50; + var_02 thread display_update(param_00); + } +} + +//Function Number: 5 +init_card_tags() +{ + self.numcardtags = get_num_card_tags(self.model); + self.cardtagvisible = []; + self.cardtagnames = []; + for(var_00 = 0;var_00 < self.numcardtags;var_00++) + { + self.cardtagnames[self.cardtagnames.size] = "tag_card_" + var_00 + 1; + self.cardtagvisible[self.cardtagvisible.size] = 1; + } +} + +//Function Number: 6 +get_spin_snd_alias(param_00) +{ + var_01 = ""; + switch(param_00) + { + case "greece_spinning_display_stand_01": + var_01 = "postcard_carousel_spin_sm_01"; + break; + + case "greece_spinning_display_stand_02": + var_01 = "postcard_carousel_spin_lrg_01"; + break; + } + + return var_01; +} + +//Function Number: 7 +get_crash_snd_alias(param_00) +{ + var_01 = ""; + switch(param_00) + { + case "greece_spinning_display_stand_01": + var_01 = "postcard_carousel_crash_sm_01"; + break; + + case "greece_spinning_display_stand_02": + var_01 = "postcard_carousel_crash_lrg_01"; + break; + } + + return var_01; +} + +//Function Number: 8 +display_update(param_00) +{ + for(;;) + { + self waittill("damage",var_01,var_02,var_03,var_04,var_05); + var_06 = var_04 - self.origin; + var_06 = vectornormalize((var_06[0],var_06[1],0)); + var_07 = vectorcross(var_06,(0,0,1)); + var_08 = vectornormalize((var_03[0],var_03[1],0)); + var_09 = vectordot(var_07,var_08); + var_0A = %greece_spinning_display_01_spin_ccw; + if(var_09 > 0) + { + var_0A = %greece_spinning_display_01_spin_cw; + } + + thread maps\_utility::play_sound_on_entity(get_spin_snd_alias(self.model)); + var_0B = getanimlength(var_0A); + self setanimknobrestart(var_0A,1,0.05); + var_0C = get_num_visible_card_tags(); + if(var_0C == 0) + { + self.displayhealth = self.displayhealth - var_01; + if(self.displayhealth <= 0) + { + self physicslaunchclient(var_04,var_03 * var_01 * 0.75); + thread maps\_utility::play_sound_on_entity(get_crash_snd_alias(self.model)); + return; + } + } + else + { + var_0D = 0; + for(var_0E = 0;var_0E < self.numcardtags;var_0E++) + { + if(!self.cardtagvisible[var_0E]) + { + continue; + } + + if(var_0C <= self.numcardtags * 0.25 || randomfloat(1) <= 0.5) + { + playfxontag(param_00.cardfx,self,self.cardtagnames[var_0E]); + wait(0.05); + self hidepart(self.cardtagnames[var_0E]); + self.cardtagvisible[var_0E] = 0; + var_0D = 1; + } + } + + if(var_0D) + { + thread maps\_utility::play_sound_on_entity("postcard_debris_scatter_01"); + } + } + + wait(var_0B * 0.3); + } +} \ No newline at end of file diff --git a/AW/PC/destructible_scripts/powerbox_112x64_01_green_destp.gsc b/AW/PC/destructible_scripts/powerbox_112x64_01_green_destp.gsc new file mode 100644 index 0000000..a318fc6 --- /dev/null +++ b/AW/PC/destructible_scripts/powerbox_112x64_01_green_destp.gsc @@ -0,0 +1,19 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: powerbox_112x64_01_green_destp.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 2:03:25 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + common_scripts\_destructible::destructible_create("powerbox_112x64_01_green_destp","tag_origin",500,undefined,32,"no_melee"); + common_scripts\_destructible::destructible_fx("tag_fx","vfx/destructible/powerbox_112x64_01_green",1); + common_scripts\_destructible::destructible_explode(30000,34000,100,100,10,20); + common_scripts\_destructible::destructible_state("tag_origin","powerbox_112x64_01_green_dstry_destp",undefined,undefined,undefined,undefined,undefined,0); + common_scripts\_destructible::destructible_part("tag_door","powerbox_112x64_01_green_door_part_a_destp",undefined,undefined,undefined,undefined,1,1); +} \ No newline at end of file diff --git a/AW/PC/destructible_scripts/security_camera_scanner_destp.gsc b/AW/PC/destructible_scripts/security_camera_scanner_destp.gsc new file mode 100644 index 0000000..10bee7b --- /dev/null +++ b/AW/PC/destructible_scripts/security_camera_scanner_destp.gsc @@ -0,0 +1,18 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: security_camera_scanner_destp.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 2:03:25 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + common_scripts\_destructible::destructible_create("security_camera_scanner_destp","tag_origin",10); + common_scripts\_destructible::destructible_fx_spawn_immediate("tag_fx","vfx/destructible/security_cam_scanner",1,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_fx("tag_fx","vfx/destructible/security_cam_scanner_xplod",1); + common_scripts\_destructible::destructible_state("tag_origin","security_camera_01"); +} \ No newline at end of file diff --git a/AW/PC/destructible_scripts/toy_chicken.gsc b/AW/PC/destructible_scripts/toy_chicken.gsc new file mode 100644 index 0000000..5b97c90 --- /dev/null +++ b/AW/PC/destructible_scripts/toy_chicken.gsc @@ -0,0 +1,15 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: toy_chicken.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 2:03:26 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + destructible_scripts\toy_chicken_common::toy_chicken_common(""); +} \ No newline at end of file diff --git a/AW/PC/destructible_scripts/toy_electricbox4.gsc b/AW/PC/destructible_scripts/toy_electricbox4.gsc new file mode 100644 index 0000000..26a6b7b --- /dev/null +++ b/AW/PC/destructible_scripts/toy_electricbox4.gsc @@ -0,0 +1,21 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: toy_electricbox4.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 20 ms + * Timestamp: 4/22/2024 2:03:26 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + common_scripts\_destructible::destructible_create("toy_electricbox4","tag_origin",150,undefined,32,"no_melee"); + common_scripts\_destructible::destructible_splash_damage_scaler(15); + common_scripts\_destructible::destructible_fx("tag_fx","fx/props/electricbox4_explode",undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_sound("exp_fusebox_sparks"); + common_scripts\_destructible::destructible_explode(20,2000,32,32,32,48,undefined,0); + common_scripts\_destructible::destructible_state(undefined,"me_electricbox4_dest",undefined,undefined,"no_melee"); + common_scripts\_destructible::destructible_part("tag_fx","me_electricbox4_door",undefined,undefined,undefined,undefined,1,1); +} \ No newline at end of file diff --git a/AW/PC/destructible_scripts/toy_locker_double.gsc b/AW/PC/destructible_scripts/toy_locker_double.gsc new file mode 100644 index 0000000..c913dc8 --- /dev/null +++ b/AW/PC/destructible_scripts/toy_locker_double.gsc @@ -0,0 +1,40 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: toy_locker_double.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 24 ms + * Timestamp: 4/22/2024 2:03:26 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + common_scripts\_destructible::destructible_create("toy_locker_double","tag_origin",150,undefined,32,"no_melee"); + common_scripts\_destructible::destructible_anim(%locker_broken_both_doors_1,#animtree,"setanimknob",undefined,0,"locker_broken_both_doors_1"); + common_scripts\_destructible::destructible_fx("tag_fx","fx/props/locker_double_des_02_right",undefined,undefined,0); + common_scripts\_destructible::destructible_sound("lockers_fast",undefined,0); + common_scripts\_destructible::destructible_anim(%locker_broken_both_doors_2,#animtree,"setanimknob",undefined,1,"locker_broken_both_doors_2"); + common_scripts\_destructible::destructible_fx("tag_fx","fx/props/locker_double_des_01_left",undefined,undefined,1); + common_scripts\_destructible::destructible_sound("lockers_fast",undefined,1); + common_scripts\_destructible::destructible_anim(%locker_broken_both_doors_4,#animtree,"setanimknob",undefined,2,"locker_broken_both_doors_4"); + common_scripts\_destructible::destructible_fx("tag_fx","fx/props/locker_double_des_03_both",undefined,undefined,2); + common_scripts\_destructible::destructible_sound("lockers_double",undefined,2); + common_scripts\_destructible::destructible_anim(%locker_broken_door1_fast,#animtree,"setanimknob",undefined,3,"locker_broken_door1_fast"); + common_scripts\_destructible::destructible_fx("tag_fx","fx/props/locker_double_des_01_left",undefined,undefined,3); + common_scripts\_destructible::destructible_sound("lockers_fast",undefined,3); + common_scripts\_destructible::destructible_anim(%locker_broken_door2_fast,#animtree,"setanimknob",undefined,4,"locker_broken_door2_fast"); + common_scripts\_destructible::destructible_fx("tag_fx","fx/props/locker_double_des_02_right",undefined,undefined,4); + common_scripts\_destructible::destructible_sound("lockers_fast",undefined,4); + common_scripts\_destructible::destructible_anim(%locker_broken_both_doors_3,#animtree,"setanimknob",undefined,5,"locker_broken_both_doors_3"); + common_scripts\_destructible::destructible_fx("tag_fx","fx/misc/no_effect",undefined,undefined,5); + common_scripts\_destructible::destructible_sound("lockers_minor",undefined,5); + common_scripts\_destructible::destructible_anim(%locker_broken_door1_slow,#animtree,"setanimknob",undefined,6,"locker_broken_door1_slow"); + common_scripts\_destructible::destructible_fx("tag_fx","fx/misc/no_effect",undefined,undefined,6); + common_scripts\_destructible::destructible_sound("lockers_minor",undefined,6); + common_scripts\_destructible::destructible_anim(%locker_broken_door2_slow,#animtree,"setanimknob",undefined,7,"locker_broken_door2_slow"); + common_scripts\_destructible::destructible_fx("tag_fx","fx/misc/no_effect",undefined,undefined,7); + common_scripts\_destructible::destructible_sound("lockers_minor",undefined,7); + common_scripts\_destructible::destructible_state(undefined,"com_locker_double_destroyed",undefined,undefined,"no_melee"); +} \ No newline at end of file diff --git a/AW/PC/SP/destructible_scripts/vehicle_civ_domestic_sedan_01_glass.gsc b/AW/PC/destructible_scripts/vehicle_civ_domestic_sedan_01_glass.gsc similarity index 94% rename from AW/PC/SP/destructible_scripts/vehicle_civ_domestic_sedan_01_glass.gsc rename to AW/PC/destructible_scripts/vehicle_civ_domestic_sedan_01_glass.gsc index 5c90e53..6c03cf9 100644 --- a/AW/PC/SP/destructible_scripts/vehicle_civ_domestic_sedan_01_glass.gsc +++ b/AW/PC/destructible_scripts/vehicle_civ_domestic_sedan_01_glass.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: destructible_scripts/vehicle_civ_domestic_sedan_01_glass.gsc + * Decompiled File: vehicle_civ_domestic_sedan_01_glass.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 14 ms - * Timestamp: 10/27/2023 1:58:04 AM + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 2:03:26 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/destructible_scripts/vehicle_civ_domestic_sedan_taxi_glass.gsc b/AW/PC/destructible_scripts/vehicle_civ_domestic_sedan_taxi_glass.gsc new file mode 100644 index 0000000..e066100 --- /dev/null +++ b/AW/PC/destructible_scripts/vehicle_civ_domestic_sedan_taxi_glass.gsc @@ -0,0 +1,39 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: vehicle_civ_domestic_sedan_taxi_glass.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 2:03:27 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + common_scripts\_destructible::destructible_create("vehicle_civ_domestic_sedan_taxi_glass","tag_origin",0); + common_scripts\_destructible::destructible_part("window1",undefined,50,undefined,undefined,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_fx("window1","vfx/glass/car_window_shatter_01"); + common_scripts\_destructible::destructible_state(); + common_scripts\_destructible::destructible_part("window2",undefined,50,undefined,undefined,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_fx("window2","vfx/glass/car_window_shatter_01"); + common_scripts\_destructible::destructible_state(); + common_scripts\_destructible::destructible_part("window3",undefined,50,undefined,undefined,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_fx("window3","vfx/glass/car_window_shatter_01"); + common_scripts\_destructible::destructible_state(); + common_scripts\_destructible::destructible_part("window4",undefined,50,undefined,undefined,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_fx("window4","vfx/glass/car_window_shatter_01"); + common_scripts\_destructible::destructible_state(); + common_scripts\_destructible::destructible_part("window5",undefined,50,undefined,undefined,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_fx("window5","vfx/glass/car_window_shatter_01"); + common_scripts\_destructible::destructible_state(); + common_scripts\_destructible::destructible_part("window6",undefined,50,undefined,undefined,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_fx("window6","vfx/glass/car_window_shatter_01"); + common_scripts\_destructible::destructible_state(); + common_scripts\_destructible::destructible_part("window7",undefined,50,undefined,undefined,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_fx("window7","vfx/glass/car_window_shatter_01"); + common_scripts\_destructible::destructible_state(); + common_scripts\_destructible::destructible_part("window8",undefined,50,undefined,undefined,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_fx("window8","vfx/glass/car_window_shatter_01"); + common_scripts\_destructible::destructible_state(); +} \ No newline at end of file diff --git a/AW/PC/destructible_scripts/vehicle_luxurysedan.gsc b/AW/PC/destructible_scripts/vehicle_luxurysedan.gsc new file mode 100644 index 0000000..8df35b0 --- /dev/null +++ b/AW/PC/destructible_scripts/vehicle_luxurysedan.gsc @@ -0,0 +1,110 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: vehicle_luxurysedan.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 2:03:27 AM +*******************************************************************/ + +//Function Number: 1 +vehicle_luxurysedan(param_00) +{ + common_scripts\_destructible::destructible_create("vehicle_luxurysedan_2008" + param_00,"tag_body",250,undefined,32,"no_melee"); + common_scripts\_destructible::destructible_loopfx("tag_hood_fx","fx/smoke/car_damage_whitesmoke",0.4); + common_scripts\_destructible::destructible_car_alarm(); + common_scripts\_destructible::destructible_state(undefined,undefined,200,undefined,32,"no_melee"); + common_scripts\_destructible::destructible_loopfx("tag_hood_fx","fx/smoke/car_damage_blacksmoke",0.4); + common_scripts\_destructible::destructible_state(undefined,undefined,100,undefined,32,"no_melee"); + common_scripts\_destructible::destructible_loopfx("tag_hood_fx","fx/smoke/car_damage_blacksmoke_fire",0.4); + common_scripts\_destructible::destructible_sound("fire_vehicle_flareup_med"); + common_scripts\_destructible::destructible_loopsound("fire_vehicle_med"); + common_scripts\_destructible::destructible_healthdrain(15,0.25,210,"allies"); + common_scripts\_destructible::destructible_state(undefined,undefined,300,"player_only",32,"no_melee"); + common_scripts\_destructible::destructible_loopsound("fire_vehicle_med"); + common_scripts\_destructible::destructible_state(undefined,undefined,400,undefined,32,"no_melee"); + common_scripts\_destructible::destructible_fx("tag_death_fx","fx/explosions/small_vehicle_explosion",0); + common_scripts\_destructible::destructible_sound("car_explode"); + common_scripts\_destructible::destructible_explode(4000,5000,210,250,50,300,undefined,undefined,0.3,500); + common_scripts\_destructible::destructible_anim(%vehicle_80s_sedan1_destroy,#animtree,"setanimknob",undefined,undefined,"vehicle_80s_sedan1_destroy"); + common_scripts\_destructible::destructible_state(undefined,"vehicle_luxurysedan_2008" + param_00 + "_destroy",undefined,32,"no_melee"); + var_01 = "tag_hood"; + common_scripts\_destructible::destructible_part(var_01,"vehicle_luxurysedan_2008" + param_00 + "_hood",800,undefined,undefined,undefined,1,2.5); + common_scripts\_destructible::destructible_part("left_wheel_01_jnt","vehicle_luxurysedan_2008" + param_00 + "_wheel_LF",20,undefined,undefined,"no_melee",undefined,1.7); + common_scripts\_destructible::destructible_anim(%vehicle_80s_sedan1_flattire_lf,#animtree,"setanim"); + common_scripts\_destructible::destructible_sound("veh_tire_deflate","bullet"); + common_scripts\_destructible::destructible_car_alarm(); + common_scripts\_destructible::destructible_part("left_wheel_02_jnt","vehicle_luxurysedan_2008" + param_00 + "_wheel_LF",20,undefined,undefined,"no_melee",undefined,1.7); + common_scripts\_destructible::destructible_anim(%vehicle_80s_sedan1_flattire_lb,#animtree,"setanim"); + common_scripts\_destructible::destructible_sound("veh_tire_deflate","bullet"); + common_scripts\_destructible::destructible_car_alarm(); + common_scripts\_destructible::destructible_part("right_wheel_01_jnt","vehicle_luxurysedan_2008" + param_00 + "_wheel_LF",20,undefined,undefined,"no_melee",undefined,1.7); + common_scripts\_destructible::destructible_anim(%vehicle_80s_sedan1_flattire_rf,#animtree,"setanim"); + common_scripts\_destructible::destructible_sound("veh_tire_deflate","bullet"); + common_scripts\_destructible::destructible_car_alarm(); + common_scripts\_destructible::destructible_part("right_wheel_02_jnt","vehicle_luxurysedan_2008" + param_00 + "_wheel_LF",20,undefined,undefined,"no_melee",undefined,1.7); + common_scripts\_destructible::destructible_anim(%vehicle_80s_sedan1_flattire_rb,#animtree,"setanim"); + common_scripts\_destructible::destructible_sound("veh_tire_deflate","bullet"); + common_scripts\_destructible::destructible_car_alarm(); + common_scripts\_destructible::destructible_part("tag_door_left_front","vehicle_luxurysedan_2008" + param_00 + "_door_LF",undefined,undefined,undefined,undefined,1,1); + common_scripts\_destructible::destructible_part("tag_door_right_front","vehicle_luxurysedan_2008" + param_00 + "_door_RF",undefined,undefined,undefined,undefined,1,1); + common_scripts\_destructible::destructible_part("tag_door_left_back","vehicle_luxurysedan_2008" + param_00 + "_door_LB",undefined,undefined,undefined,undefined,1,1); + common_scripts\_destructible::destructible_part("tag_door_right_back","vehicle_luxurysedan_2008" + param_00 + "_door_RB",undefined,undefined,undefined,undefined,1,1); + var_01 = "tag_glass_front"; + common_scripts\_destructible::destructible_part(var_01,undefined,40,undefined,undefined,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_state(var_01 + "_d",undefined,60,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_fx("tag_glass_front_fx","fx/props/car_glass_large"); + common_scripts\_destructible::destructible_sound("veh_glass_break_large"); + common_scripts\_destructible::destructible_car_alarm(); + common_scripts\_destructible::destructible_state(undefined); + var_01 = "tag_glass_back"; + common_scripts\_destructible::destructible_part(var_01,undefined,40,undefined,undefined,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_state(var_01 + "_d",undefined,60,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_fx("tag_glass_back_fx","fx/props/car_glass_large"); + common_scripts\_destructible::destructible_sound("veh_glass_break_large"); + common_scripts\_destructible::destructible_car_alarm(); + common_scripts\_destructible::destructible_state(undefined); + var_01 = "tag_glass_left_front"; + common_scripts\_destructible::destructible_part(var_01,undefined,20,undefined,undefined,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_state(var_01 + "_d",undefined,60,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_fx("tag_glass_left_front_fx","fx/props/car_glass_med"); + common_scripts\_destructible::destructible_sound("veh_glass_break_large"); + common_scripts\_destructible::destructible_car_alarm(); + common_scripts\_destructible::destructible_state(undefined); + var_01 = "tag_glass_right_front"; + common_scripts\_destructible::destructible_part(var_01,undefined,20,undefined,undefined,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_state(var_01 + "_d",undefined,60,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_fx("tag_glass_right_front_fx","fx/props/car_glass_med"); + common_scripts\_destructible::destructible_sound("veh_glass_break_large"); + common_scripts\_destructible::destructible_car_alarm(); + common_scripts\_destructible::destructible_state(undefined); + var_01 = "tag_glass_left_back"; + common_scripts\_destructible::destructible_part(var_01,undefined,20,undefined,undefined,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_state(var_01 + "_d",undefined,60,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_fx("tag_glass_left_back_fx","fx/props/car_glass_med"); + common_scripts\_destructible::destructible_sound("veh_glass_break_large"); + common_scripts\_destructible::destructible_car_alarm(); + common_scripts\_destructible::destructible_state(undefined); + var_01 = "tag_glass_right_back"; + common_scripts\_destructible::destructible_part(var_01,undefined,20,undefined,undefined,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_state(var_01 + "_d",undefined,60,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_fx("tag_glass_right_back_fx","fx/props/car_glass_med"); + common_scripts\_destructible::destructible_sound("veh_glass_break_large"); + common_scripts\_destructible::destructible_car_alarm(); + common_scripts\_destructible::destructible_state(undefined); + var_01 = "tag_light_left_front"; + common_scripts\_destructible::destructible_part(var_01,undefined,20,undefined,undefined,undefined,0.5); + common_scripts\_destructible::destructible_fx(var_01,"fx/props/car_glass_headlight"); + common_scripts\_destructible::destructible_sound("veh_glass_break_small"); + common_scripts\_destructible::destructible_state(var_01 + "_d"); + var_01 = "tag_light_right_front"; + common_scripts\_destructible::destructible_part(var_01,undefined,20,undefined,undefined,undefined,0.5); + common_scripts\_destructible::destructible_fx(var_01,"fx/props/car_glass_headlight"); + common_scripts\_destructible::destructible_sound("veh_glass_break_small"); + common_scripts\_destructible::destructible_state(var_01 + "_d"); + common_scripts\_destructible::destructible_part("tag_mirror_left","vehicle_luxurysedan_2008" + param_00 + "_mirror_L",40,undefined,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_physics(); + common_scripts\_destructible::destructible_part("tag_mirror_right","vehicle_luxurysedan_2008" + param_00 + "_mirror_R",40,undefined,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_physics(); +} \ No newline at end of file diff --git a/AW/PC/destructible_scripts/vehicle_luxurysedan_2008.gsc b/AW/PC/destructible_scripts/vehicle_luxurysedan_2008.gsc new file mode 100644 index 0000000..e913d46 --- /dev/null +++ b/AW/PC/destructible_scripts/vehicle_luxurysedan_2008.gsc @@ -0,0 +1,15 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: vehicle_luxurysedan_2008.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 2:03:27 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + destructible_scripts\vehicle_luxurysedan::vehicle_luxurysedan(""); +} \ No newline at end of file diff --git a/AW/PC/destructible_scripts/vehicle_pickup.gsc b/AW/PC/destructible_scripts/vehicle_pickup.gsc new file mode 100644 index 0000000..4bc46b0 --- /dev/null +++ b/AW/PC/destructible_scripts/vehicle_pickup.gsc @@ -0,0 +1,109 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: vehicle_pickup.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 23 ms + * Timestamp: 4/22/2024 2:03:27 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + common_scripts\_destructible::destructible_create("vehicle_pickup","tag_body",300,undefined,32,"no_melee"); + common_scripts\_destructible::destructible_loopfx("tag_hood_fx","fx/smoke/car_damage_whitesmoke",0.4); + common_scripts\_destructible::destructible_state(undefined,undefined,200,undefined,32,"no_melee"); + common_scripts\_destructible::destructible_loopfx("tag_hood_fx","fx/smoke/car_damage_blacksmoke",0.4); + common_scripts\_destructible::destructible_state(undefined,undefined,100,undefined,32,"no_melee"); + common_scripts\_destructible::destructible_loopfx("tag_hood_fx","fx/smoke/car_damage_blacksmoke_fire",0.4); + common_scripts\_destructible::destructible_sound("fire_vehicle_flareup_med"); + common_scripts\_destructible::destructible_loopsound("fire_vehicle_med"); + common_scripts\_destructible::destructible_healthdrain(15,0.25,210,"allies"); + common_scripts\_destructible::destructible_state(undefined,undefined,300,"player_only",32,"no_melee"); + common_scripts\_destructible::destructible_loopsound("fire_vehicle_med"); + common_scripts\_destructible::destructible_state(undefined,undefined,400,undefined,32,"no_melee"); + common_scripts\_destructible::destructible_fx("tag_death_fx","fx/explosions/small_vehicle_explosion",0); + common_scripts\_destructible::destructible_sound("car_explode"); + common_scripts\_destructible::destructible_explode(4000,5000,210,250,50,300,undefined,undefined,0.3,500); + common_scripts\_destructible::destructible_anim(%vehicle_80s_sedan1_destroy,#animtree,"setanimknob",undefined,undefined,"vehicle_80s_sedan1_destroy"); + common_scripts\_destructible::destructible_state(undefined,"vehicle_pickup_destroyed",undefined,32,"no_melee"); + var_00 = "tag_hood"; + common_scripts\_destructible::destructible_part(var_00,"vehicle_pickup_hood",800,undefined,undefined,undefined,1,2.5); + common_scripts\_destructible::destructible_part("left_wheel_01_jnt",undefined,20,undefined,undefined,"no_melee"); + common_scripts\_destructible::destructible_anim(%vehicle_80s_sedan1_flattire_lf,#animtree,"setanim"); + common_scripts\_destructible::destructible_sound("veh_tire_deflate","bullet"); + common_scripts\_destructible::destructible_part("left_wheel_02_jnt",undefined,20,undefined,undefined,"no_melee"); + common_scripts\_destructible::destructible_anim(%vehicle_80s_sedan1_flattire_lb,#animtree,"setanim"); + common_scripts\_destructible::destructible_sound("veh_tire_deflate","bullet"); + common_scripts\_destructible::destructible_part("right_wheel_01_jnt",undefined,20,undefined,undefined,"no_melee"); + common_scripts\_destructible::destructible_anim(%vehicle_80s_sedan1_flattire_rf,#animtree,"setanim"); + common_scripts\_destructible::destructible_sound("veh_tire_deflate","bullet"); + common_scripts\_destructible::destructible_part("right_wheel_02_jnt",undefined,20,undefined,undefined,"no_melee"); + common_scripts\_destructible::destructible_anim(%vehicle_80s_sedan1_flattire_rb,#animtree,"setanim"); + common_scripts\_destructible::destructible_sound("veh_tire_deflate","bullet"); + common_scripts\_destructible::destructible_part("tag_door_left_front","vehicle_pickup_door_LF",undefined,undefined,undefined,undefined,1,1); + common_scripts\_destructible::destructible_part("tag_door_right_front","vehicle_pickup_door_RF",undefined,undefined,undefined,undefined,1,1); + var_00 = "tag_glass_front"; + common_scripts\_destructible::destructible_part(var_00,undefined,40,undefined,undefined,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_state(var_00 + "_d",undefined,60,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_fx("tag_glass_front_fx","fx/props/car_glass_large"); + common_scripts\_destructible::destructible_sound("veh_glass_break_large"); + common_scripts\_destructible::destructible_state(undefined); + var_00 = "tag_glass_back"; + common_scripts\_destructible::destructible_part(var_00,undefined,40,undefined,undefined,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_state(var_00 + "_d",undefined,60,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_fx("tag_glass_back_fx","fx/props/car_glass_large"); + common_scripts\_destructible::destructible_sound("veh_glass_break_large"); + common_scripts\_destructible::destructible_state(undefined); + var_00 = "tag_glass_left_front"; + common_scripts\_destructible::destructible_part(var_00,undefined,20,undefined,undefined,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_state(var_00 + "_d",undefined,60,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_fx("tag_glass_left_front_fx","fx/props/car_glass_med"); + common_scripts\_destructible::destructible_sound("veh_glass_break_large"); + common_scripts\_destructible::destructible_state(undefined); + var_00 = "tag_glass_right_front"; + common_scripts\_destructible::destructible_part(var_00,undefined,20,undefined,undefined,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_state(var_00 + "_d",undefined,60,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_fx("tag_glass_right_front_fx","fx/props/car_glass_med"); + common_scripts\_destructible::destructible_sound("veh_glass_break_large"); + common_scripts\_destructible::destructible_state(undefined); + var_00 = "tag_glass_left_back"; + common_scripts\_destructible::destructible_part(var_00,undefined,20,undefined,undefined,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_state(var_00 + "_d",undefined,60,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_fx("tag_glass_left_back_fx","fx/props/car_glass_med"); + common_scripts\_destructible::destructible_sound("veh_glass_break_large"); + common_scripts\_destructible::destructible_state(undefined); + var_00 = "tag_glass_right_back"; + common_scripts\_destructible::destructible_part(var_00,undefined,20,undefined,undefined,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_state(var_00 + "_d",undefined,60,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_fx("tag_glass_right_back_fx","fx/props/car_glass_med"); + common_scripts\_destructible::destructible_sound("veh_glass_break_large"); + common_scripts\_destructible::destructible_state(undefined); + var_00 = "tag_light_left_front"; + common_scripts\_destructible::destructible_part(var_00,undefined,20,undefined,undefined,undefined,0.5); + common_scripts\_destructible::destructible_fx(var_00,"fx/props/car_glass_headlight"); + common_scripts\_destructible::destructible_sound("veh_glass_break_small"); + common_scripts\_destructible::destructible_state(var_00 + "_d"); + var_00 = "tag_light_right_front"; + common_scripts\_destructible::destructible_part(var_00,undefined,20,undefined,undefined,undefined,0.5); + common_scripts\_destructible::destructible_fx(var_00,"fx/props/car_glass_headlight"); + common_scripts\_destructible::destructible_sound("veh_glass_break_small"); + common_scripts\_destructible::destructible_state(var_00 + "_d"); + var_00 = "tag_light_left_back"; + common_scripts\_destructible::destructible_part(var_00,undefined,20); + common_scripts\_destructible::destructible_fx(var_00,"fx/props/car_glass_brakelight"); + common_scripts\_destructible::destructible_sound("veh_glass_break_small"); + common_scripts\_destructible::destructible_state(var_00 + "_d"); + var_00 = "tag_light_right_back"; + common_scripts\_destructible::destructible_part(var_00,undefined,20); + common_scripts\_destructible::destructible_fx(var_00,"fx/props/car_glass_brakelight"); + common_scripts\_destructible::destructible_sound("veh_glass_break_small"); + common_scripts\_destructible::destructible_state(var_00 + "_d"); + common_scripts\_destructible::destructible_part("tag_bumper_front",undefined,undefined,undefined,undefined,undefined,1,1); + common_scripts\_destructible::destructible_part("tag_bumper_back",undefined,undefined,undefined,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_part("tag_mirror_left","vehicle_pickup_mirror_L",40,undefined,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_physics(); + common_scripts\_destructible::destructible_part("tag_mirror_right","vehicle_pickup_mirror_R",40,undefined,undefined,undefined,undefined,1); + common_scripts\_destructible::destructible_physics(); +} \ No newline at end of file diff --git a/AW/PC/destructible_scripts/wall_firebox_destp.gsc b/AW/PC/destructible_scripts/wall_firebox_destp.gsc new file mode 100644 index 0000000..21c8b17 --- /dev/null +++ b/AW/PC/destructible_scripts/wall_firebox_destp.gsc @@ -0,0 +1,17 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: wall_firebox_destp.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 19 ms + * Timestamp: 4/22/2024 2:03:28 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + common_scripts\_destructible::destructible_create("wall_firebox_destp","tag_origin",50); + common_scripts\_destructible::destructible_fx(undefined,"vfx/destructible/wall_firebox_init_xplod",1); + common_scripts\_destructible::destructible_state("tag_origin","destp_invisible_poly_01"); +} \ No newline at end of file diff --git a/AW/PC/SP/maps/_anim.gsc b/AW/PC/maps/_anim.gsc similarity index 95% rename from AW/PC/SP/maps/_anim.gsc rename to AW/PC/maps/_anim.gsc index 2d2d0c1..28b03d2 100644 --- a/AW/PC/SP/maps/_anim.gsc +++ b/AW/PC/maps/_anim.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_anim.gsc + * Decompiled File: _anim.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 154 - * Decompile Time: 2653 ms - * Timestamp: 10/27/2023 1:58:13 AM + * Decompile Time: 2440 ms + * Timestamp: 4/22/2024 2:20:01 AM *******************************************************************/ //Function Number: 1 @@ -1092,154 +1092,163 @@ notetrack_wait(param_00,param_01,param_02,param_03,param_04,param_05) var_16 = 0; var_17 = 0; - var_08.dialoguenotetrack = 0; - var_14 = undefined; - if(!var_16 && isdefined(var_07) && isdefined(param_03)) + for(;;) { - var_16 = 1; - var_18 = undefined; - var_17 = isdefined(level.scr_notetrack[var_07]) && isdefined(level.scr_notetrack[var_07][param_03]) && isdefined(level.scr_notetrack[var_07][param_03]["start"]); - if(!var_17) + var_08.dialoguenotetrack = 0; + var_14 = undefined; + if(!var_16 && isdefined(var_07) && isdefined(param_03)) { - continue; - } - - var_14 = "start"; - } - else - { - param_00 waittill(param_01,var_14); - } - - if(var_14 == "end") - { - return; - } - - foreach(var_12, var_0B in var_09) - { - if(isdefined(level.scr_notetrack[var_07][var_12][var_14])) - { - foreach(var_0F in level.scr_notetrack[var_07][var_12][var_14]) + var_16 = 1; + var_18 = undefined; + var_17 = isdefined(level.scr_notetrack[var_07]) && isdefined(level.scr_notetrack[var_07][param_03]) && isdefined(level.scr_notetrack[var_07][param_03]["start"]); + if(!var_17) { - anim_handle_notetrack(var_0F,param_00,var_08,var_06); + continue; } - } - } - var_1C = getsubstr(var_14,0,3); - if(var_1C == "ps_") - { - var_1D = getsubstr(var_14,3); - if(isdefined(param_00.anim_playsound_func)) - { - param_00 thread [[ param_00.anim_playsound_func ]](var_1D,"j_head",1); + var_14 = "start"; } else { - param_00 thread maps\_utility::play_sound_on_tag(var_1D,undefined,1); + param_00 waittill(param_01,var_14); } - continue; - } - - if(var_1C == "vo_") - { - var_1D = getsubstr(var_14,3); - if(isdefined(param_00.anim_playsound_func)) + if(var_14 == "end") { - param_00 thread [[ param_00.anim_playsound_func ]](var_1D,"j_head",1); - } - else - { - param_00 thread maps\_utility::play_sound_on_tag(var_1D,"j_head",1); + return; } - continue; - } - - if(var_1C == "sd_") - { - var_1D = getsubstr(var_14,3); - param_00 thread maps\_utility::smart_dialogue(var_1D); - continue; - } - - if(var_1C == "fx_") - { - var_1E = strtok(tolower(getsubstr(var_14,3)),",() "); - if(var_1E.size == 2) + foreach(var_12, var_0B in var_09) { - if(var_1E[0] == "exploder") + if(isdefined(level.scr_notetrack[var_07][var_12][var_14])) { - common_scripts\_exploder::exploder(var_1E[1]); - continue; + foreach(var_0F in level.scr_notetrack[var_07][var_12][var_14]) + { + anim_handle_notetrack(var_0F,param_00,var_08,var_06); + } } - else if(var_1E[0] == "stop_exploder") + } + + var_1C = getsubstr(var_14,0,3); + if(var_1C == "ps_") + { + var_1D = getsubstr(var_14,3); + if(isdefined(param_00.anim_playsound_func)) { - maps\_utility::stop_exploder(var_1E[1]); - continue; + param_00 thread [[ param_00.anim_playsound_func ]](var_1D,"j_head",1); } else { - playfxontag(level._effect[var_1E[0]],param_00,var_1E[1]); - continue; + param_00 thread maps\_utility::play_sound_on_tag(var_1D,undefined,1); } + + continue; } - else if(var_1E.size == 3) + + if(var_1C == "vo_") { - if(var_1E[0] == "playfxontag") + var_1D = getsubstr(var_14,3); + if(isdefined(param_00.anim_playsound_func)) { - playfxontag(level._effect[var_1E[1]],param_00,var_1E[2]); - continue; + param_00 thread [[ param_00.anim_playsound_func ]](var_1D,"j_head",1); } - else if(var_1E[0] == "stopfxontag") + else { - stopfxontag(level._effect[var_1E[1]],param_00,var_1E[2]); - continue; - } - else if(var_1E[0] == "killfxontag") - { - killfxontag(level._effect[var_1E[1]],param_00,var_1E[2]); - continue; + param_00 thread maps\_utility::play_sound_on_tag(var_1D,"j_head",1); } + + continue; } - else if(var_1E.size == 11) + + if(var_1C == "sd_") { - var_1F = (float(var_1E[2]),float(var_1E[3]),float(var_1E[4])); - var_20 = (float(var_1E[5]),float(var_1E[6]),float(var_1E[7])); - var_21 = (float(var_1E[8]),float(var_1E[9]),float(var_1E[10])); - playfx(level._effect[var_1E[1]],var_1F,var_20,var_21); + var_1D = getsubstr(var_14,3); + param_00 thread maps\_utility::smart_dialogue(var_1D); + continue; } - } - var_1C = getsubstr(var_14,0,4); - if(var_1C == "psr_") - { - var_1D = getsubstr(var_14,4); - maps\_utility::radio_dialogue(var_1D); - continue; - } + if(var_1C == "fx_") + { + var_1E = strtok(tolower(getsubstr(var_14,3)),",() "); + if(var_1E.size == 2) + { + if(var_1E[0] == "exploder") + { + common_scripts\_exploder::exploder(var_1E[1]); + continue; + } + else if(var_1E[0] == "stop_exploder") + { + maps\_utility::stop_exploder(var_1E[1]); + continue; + } + else + { + playfxontag(level._effect[var_1E[0]],param_00,var_1E[1]); + continue; + } + } + else if(var_1E.size == 3) + { + if(var_1E[0] == "playfxontag") + { + playfxontag(level._effect[var_1E[1]],param_00,var_1E[2]); + continue; + } + else if(var_1E[0] == "stopfxontag") + { + stopfxontag(level._effect[var_1E[1]],param_00,var_1E[2]); + continue; + } + else if(var_1E[0] == "killfxontag") + { + killfxontag(level._effect[var_1E[1]],param_00,var_1E[2]); + continue; + } + } + else if(var_1E.size == 11) + { + var_1F = (float(var_1E[2]),float(var_1E[3]),float(var_1E[4])); + var_20 = (float(var_1E[5]),float(var_1E[6]),float(var_1E[7])); + var_21 = (float(var_1E[8]),float(var_1E[9]),float(var_1E[10])); + playfx(level._effect[var_1E[1]],var_1F,var_20,var_21); + } + } - switch(var_14) - { - case "ignoreall true": - break; + var_1C = getsubstr(var_14,0,4); + if(var_1C == "psr_") + { + var_1D = getsubstr(var_14,4); + maps\_utility::radio_dialogue(var_1D); + continue; + } - case "ignoreall false": - break; - - case "ignoreme true": - break; - - case "ignoreme false": - break; - - case "allowdeath true": - break; - - case "allowdeath false": - break; + switch(var_14) + { + case "ignoreall true": + self.ignoreall = 1; + break; + + case "ignoreall false": + self.ignoreall = 0; + break; + + case "ignoreme true": + self.ignoreme = 1; + break; + + case "ignoreme false": + self.ignoreme = 0; + break; + + case "allowdeath true": + self.allowdeath = 1; + break; + + case "allowdeath false": + self.allowdeath = 0; + break; + } } } diff --git a/AW/PC/SP/maps/_animatedmodels.gsc b/AW/PC/maps/_animatedmodels.gsc similarity index 97% rename from AW/PC/SP/maps/_animatedmodels.gsc rename to AW/PC/maps/_animatedmodels.gsc index f901846..d5ce69b 100644 --- a/AW/PC/SP/maps/_animatedmodels.gsc +++ b/AW/PC/maps/_animatedmodels.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_animatedmodels.gsc + * Decompiled File: _animatedmodels.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 7 * Decompile Time: 108 ms - * Timestamp: 10/27/2023 1:58:14 AM + * Timestamp: 4/22/2024 2:20:02 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/_ar_view.gsc b/AW/PC/maps/_ar_view.gsc new file mode 100644 index 0000000..e941b3e --- /dev/null +++ b/AW/PC/maps/_ar_view.gsc @@ -0,0 +1,121 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _ar_view.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 55 ms + * Timestamp: 4/22/2024 2:20:02 AM +*******************************************************************/ + +//Function Number: 1 +display_ar_box(param_00,param_01,param_02,param_03,param_04,param_05) +{ + self endon("stop_AR_box"); + var_06 = gettime(); + var_07 = param_03 / 2; + var_08 = (0,0,param_01); + var_09 = (0,0,param_01 + param_04); + var_0A = param_03 - 10 / 2; + var_0B = (0,0,param_01 + 5); + var_0C = (0,0,param_01 + 5 + param_04 - 10); + while(gettime() - var_06 < param_05 * 1000) + { + var_0D = param_00.origin; + var_0E = vectornormalize(var_0D - level.player.origin); + var_0F = anglestoup(level.player getplayerangles()); + var_10 = vectorcross(var_0E,var_0F); + var_11 = []; + var_11[0] = var_0D + var_08 + -1 * var_07 * var_10 + param_02 * var_10; + var_11[1] = var_0D + var_09 + -1 * var_07 * var_10 + param_02 * var_10; + var_11[2] = var_0D + var_09 + var_07 * var_10 + param_02 * var_10; + var_11[3] = var_0D + var_08 + var_07 * var_10 + param_02 * var_10; + var_12 = []; + for(var_13 = 0;var_13 < var_11.size;var_13++) + { + var_14 = vectornormalize(var_11[var_13 + 1 % var_11.size] - var_11[var_13]); + var_12[var_12.size] = var_11[var_13]; + var_12[var_12.size] = var_11[var_13] + 20 * var_14; + var_12[var_12.size] = var_11[var_13 + 1 % var_11.size]; + var_12[var_12.size] = var_11[var_13 + 1 % var_11.size] - 20 * var_14; + } + + for(var_13 = 0;var_13 < var_12.size;var_13++) + { + var_13++; + } + + var_15 = []; + var_15[0] = var_0D + var_0B + -1 * var_0A * var_10 + param_02 * var_10; + var_15[1] = var_0D + var_0C + -1 * var_0A * var_10 + param_02 * var_10; + var_15[2] = var_0D + var_0C + var_0A * var_10 + param_02 * var_10; + var_15[3] = var_0D + var_0B + var_0A * var_10 + param_02 * var_10; + var_16 = []; + for(var_13 = 0;var_13 < var_15.size;var_13++) + { + var_14 = vectornormalize(var_15[var_13 + 1 % var_15.size] - var_15[var_13]); + var_16[var_16.size] = var_15[var_13]; + var_16[var_16.size] = var_15[var_13] + 20 * var_14; + var_16[var_16.size] = var_15[var_13 + 1 % var_15.size]; + var_16[var_16.size] = var_15[var_13 + 1 % var_15.size] - 20 * var_14; + } + + for(var_13 = 0;var_13 < var_16.size;var_13++) + { + var_13++; + } + + wait(0.05); + } +} + +//Function Number: 2 +display_ar_line(param_00,param_01,param_02,param_03,param_04,param_05) +{ + self endon("stop_AR_line"); + var_06 = gettime(); + var_07 = param_03 / 2; + var_08 = (0,0,param_01); + var_09 = (0,0,param_01 + param_04); + var_0A = param_03 - 10 / 2; + var_0B = (0,0,param_01 - 5); + var_0C = (0,0,param_01 + param_04 - 5); + while(gettime() - var_06 < param_05 * 1000) + { + var_0D = param_00.origin; + var_0E = vectornormalize(var_0D - level.player.origin); + var_0F = anglestoup(level.player getplayerangles()); + var_10 = vectorcross(var_0E,var_0F); + var_11 = []; + var_11[0] = var_0D + var_08 + -1 * var_07 * var_10 + param_02 * var_10; + var_11[1] = var_0D + var_09 + var_07 * var_10 + param_02 * var_10; + for(var_12 = 0;var_12 < var_11.size;var_12++) + { + } + + var_13 = []; + var_13[0] = var_0D + var_0B + -1 * var_0A * var_10 + param_02 * var_10; + var_13[1] = var_0D + var_0C + var_0A * var_10 + param_02 * var_10; + for(var_12 = 0;var_12 < var_13.size;var_12++) + { + } + + wait(0.05); + } +} + +//Function Number: 3 +display_ar_text(param_00,param_01,param_02,param_03,param_04,param_05) +{ + self endon("stop_AR_text"); + var_06 = gettime(); + while(gettime() - var_06 < param_05 * 1000) + { + var_07 = param_00.origin; + var_08 = vectornormalize(var_07 - level.player.origin); + var_09 = anglestoup(level.player getplayerangles()); + var_0A = vectorcross(var_08,var_09); + var_0B = var_07 + (0,0,param_01) + param_02 * var_0A; + wait(0.05); + } +} \ No newline at end of file diff --git a/AW/PC/SP/maps/_art.gsc b/AW/PC/maps/_art.gsc similarity index 99% rename from AW/PC/SP/maps/_art.gsc rename to AW/PC/maps/_art.gsc index 91dbae8..3a50075 100644 --- a/AW/PC/SP/maps/_art.gsc +++ b/AW/PC/maps/_art.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_art.gsc + * Decompiled File: _art.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 28 - * Decompile Time: 474 ms - * Timestamp: 10/27/2023 1:58:16 AM + * Decompile Time: 418 ms + * Timestamp: 4/22/2024 2:20:04 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_autosave.gsc b/AW/PC/maps/_autosave.gsc similarity index 99% rename from AW/PC/SP/maps/_autosave.gsc rename to AW/PC/maps/_autosave.gsc index 5b46698..756ce1a 100644 --- a/AW/PC/SP/maps/_autosave.gsc +++ b/AW/PC/maps/_autosave.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_autosave.gsc + * Decompiled File: _autosave.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 28 - * Decompile Time: 449 ms - * Timestamp: 10/27/2023 1:58:17 AM + * Decompile Time: 413 ms + * Timestamp: 4/22/2024 2:20:05 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/_bobbing_boats.gsc b/AW/PC/maps/_bobbing_boats.gsc new file mode 100644 index 0000000..1324e0e --- /dev/null +++ b/AW/PC/maps/_bobbing_boats.gsc @@ -0,0 +1,437 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _bobbing_boats.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 12 + * Decompile Time: 197 ms + * Timestamp: 4/22/2024 2:20:06 AM +*******************************************************************/ + +//Function Number: 1 +createdefaultbobsettings() +{ + var_00 = spawnstruct(); + var_00.max_pitch = 3; + var_00.min_pitch_period = 3; + var_00.max_pitch_period = 6; + var_00.max_yaw = 0; + var_00.min_yaw_period = 3; + var_00.max_yaw_period = 6; + var_00.max_roll = 6; + var_00.min_roll_period = 3; + var_00.max_roll_period = 6; + var_00.max_sink = 36; + var_00.max_float = 24; + var_00.min_bob_period = 3; + var_00.max_bob_period = 6; + return var_00; +} + +//Function Number: 2 +createdefaultsmallbobsettings() +{ + var_00 = spawnstruct(); + var_00.max_pitch = 10; + var_00.min_pitch_period = 1; + var_00.max_pitch_period = 3; + var_00.max_yaw = 0; + var_00.min_yaw_period = 3; + var_00.max_yaw_period = 6; + var_00.max_roll = 10; + var_00.min_roll_period = 1; + var_00.max_roll_period = 3; + var_00.max_sink = 12; + var_00.max_float = 12; + var_00.min_bob_period = 1; + var_00.max_bob_period = 3; + var_00.isbuoy = 1; + return var_00; +} + +//Function Number: 3 +no_bobbing() +{ + self.nobob = 1; + self notify("stop_bobbing"); +} + +//Function Number: 4 +cleanup_bobbing() +{ + self.org_angles = self.angles; + self.org_origin = self.origin; + self waittill("stop_bobbing"); + waittillframeend; + self rotateto(self.org_angles,1,0,0); + self moveto(self.org_origin,1,0,0); +} + +//Function Number: 5 +start_bobbing_single(param_00) +{ + self notify("stop_bobbing"); + self endon("stop_bobbing"); + self endon("death"); + thread cleanup_bobbing(); + wait(param_00); + if(isdefined(self.nobob) && self.nobob) + { + return; + } + + self [[ self.bobbing_fnc ]](self.bobbing_settings); +} + +//Function Number: 6 +start_bobbing(param_00) +{ + var_01 = 1; + var_02 = 0; + foreach(var_04 in param_00) + { + var_04 thread start_bobbing_single(var_02); + var_02 = var_02 + 0.05; + if(var_02 > var_01) + { + var_02 = var_02 - var_01; + } + } +} + +//Function Number: 7 +stop_bobbing(param_00) +{ + foreach(var_02 in param_00) + { + var_02 notify("stop_bobbing"); + } +} + +//Function Number: 8 +prep_bobbing(param_00,param_01,param_02,param_03) +{ + foreach(var_05 in param_00) + { + var_05.bobbing_fnc = param_01; + var_05.bobbing_settings = param_02; + var_05.bobbing_underwater = param_03; + } +} + +//Function Number: 9 +bobbingobject(param_00) +{ + var_01 = self.origin; + var_02 = self.angles; + var_03 = 5; + var_04 = 3; + var_05 = 6; + var_06 = 0; + var_07 = 3; + var_08 = 6; + var_09 = 0; + var_0A = 3; + var_0B = 6; + var_0C = 36; + var_0D = 24; + var_0E = 3; + var_0F = 6; + var_10 = 0; + var_11 = 3; + var_12 = 6; + var_13 = 0; + var_14 = 3; + var_15 = 6; + var_16 = 1; + if(isdefined(param_00)) + { + if(isdefined(param_00.max_pitch)) + { + var_03 = param_00.max_pitch; + } + + if(isdefined(param_00.min_pitch_period)) + { + var_04 = param_00.min_pitch_period; + } + + if(isdefined(param_00.max_pitch_period)) + { + var_05 = param_00.max_pitch_period; + } + + if(isdefined(param_00.max_yaw)) + { + var_06 = param_00.max_yaw; + } + + if(isdefined(param_00.min_yaw_period)) + { + var_07 = param_00.min_yaw_period; + } + + if(isdefined(param_00.max_yaw_period)) + { + var_08 = param_00.max_yaw_period; + } + + if(isdefined(param_00.max_roll)) + { + var_09 = param_00.max_roll; + } + + if(isdefined(param_00.min_roll_period)) + { + var_0A = param_00.min_roll_period; + } + + if(isdefined(param_00.max_roll_period)) + { + var_0B = param_00.max_roll_period; + } + + if(isdefined(param_00.max_sink)) + { + var_0C = param_00.max_sink; + } + + if(isdefined(param_00.max_float)) + { + var_0D = param_00.max_float; + } + + if(isdefined(param_00.min_bob_period)) + { + var_0E = param_00.min_bob_period; + } + + if(isdefined(param_00.max_bob_period)) + { + var_0F = param_00.max_bob_period; + } + + if(isdefined(param_00.max_dx)) + { + var_10 = param_00.max_dx; + } + + if(isdefined(param_00.min_dx_period)) + { + var_11 = param_00.min_dx_period; + } + + if(isdefined(param_00.max_dx_period)) + { + var_12 = param_00.max_dx_period; + } + + if(isdefined(param_00.max_dy)) + { + var_13 = param_00.max_dy; + } + + if(isdefined(param_00.min_dy_period)) + { + var_14 = param_00.min_dy_period; + } + + if(isdefined(param_00.max_dy_period)) + { + var_15 = param_00.max_dy_period; + } + + if(isdefined(param_00.oldstyle)) + { + var_16 = param_00.oldstyle; + } + } + + self.tgt_values[0] = var_02[0]; + self.tgt_values[1] = var_02[1]; + self.tgt_values[2] = var_02[2]; + self.tgt_values[3] = var_01[0]; + self.tgt_values[4] = var_01[1]; + self.tgt_values[5] = var_01[2]; + if(!var_16) + { + thread bobobjectto(isdefined(param_00.isbuoy)); + } + + if(isdefined(param_00.isbuoy)) + { + thread bobbingbuoyangles(); + } + else + { + if(var_03 > 0) + { + thread bobobjectparam(0,var_02[0],0 - var_03,var_03,var_04,var_05,var_16); + } + + if(var_06 > 0) + { + thread bobobjectparam(1,var_02[1],0 - var_06,var_06,var_07,var_08,var_16); + } + + if(var_09 > 0) + { + thread bobobjectparam(2,var_02[2],0 - var_09,var_09,var_0A,var_0B,var_16); + } + } + + if(var_10 > 0) + { + thread bobobjectparam(3,var_01[0],0 - var_10,var_10,var_11,var_12,var_16); + } + + if(var_13 > 0) + { + thread bobobjectparam(4,var_01[1],0 - var_13,var_13,var_14,var_15,var_16); + } + + if(var_0D > 0) + { + thread bobobjectparam(5,var_01[2],0 - var_0C,var_0D,var_0E,var_0F,var_16); + } +} + +//Function Number: 10 +bobobjectparam(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + self endon("stop_bobbing"); + self endon("death"); + var_07 = randomint(2); + self.tgt_values[param_00] = param_01; + for(;;) + { + var_08 = param_01; + var_09 = param_04; + switch(var_07) + { + case 0: + var_08 = param_01 + randomfloat(param_03); + break; + + case 1: + if(param_02 < 0) + { + var_08 = param_01 - randomfloat(-1 * param_02); + } + else + { + var_08 = param_01 + randomfloat(param_02); + } + break; + } + + var_09 = randomfloatrange(param_04,param_05); + var_0A = var_09 / 3; + var_0B = var_09 / 3; + if(param_06) + { + var_0C = 0; + if(param_00 < 3) + { + var_0C = var_08 - self.angles[param_00]; + var_0C = angleclamp180(var_0C); + } + + switch(param_00) + { + case 0: + self rotatepitch(var_0C,var_09,var_0A,var_0B); + break; + + case 1: + self rotateyaw(var_0C,var_09,var_0A,var_0B); + break; + + case 2: + self rotateroll(var_0C,var_09,var_0A,var_0B); + break; + + case 3: + self movex(var_08 - self.origin[0],var_09,var_0A,var_0B); + break; + + case 4: + self movey(var_08 - self.origin[1],var_09,var_0A,var_0B); + break; + + case 5: + self movez(var_08 - self.origin[2],var_09,var_0A,var_0B); + break; + } + + wait(var_09); + } + else + { + while(0 < var_09) + { + var_0D = self.tgt_values[param_00]; + var_0C = var_08 - var_0D; + self.tgt_values[param_00] = self.tgt_values[param_00] + 0.05 / var_09 * var_0C; + wait(0.05); + var_09 = var_09 - 0.05; + } + } + + var_07 = 1 - var_07; + } +} + +//Function Number: 11 +bobbingbuoyangles() +{ + self endon("stop_bobbing"); + self endon("death"); + var_00 = 0.3; + var_01 = 1.5; + var_02 = 60; + var_03 = 3; + var_04 = 4; + var_05 = var_00 * var_04; + var_06 = 0; + self.org_angles = self.angles; + if(self.org_angles[0] == 0 && self.org_angles[2] == 0) + { + var_07 = 1; + } + else + { + var_07 = 0; + } + + var_08 = (0,0,0); + var_09 = 18 / var_02; + var_0A = 0.36 / var_03; + for(;;) + { + var_0B = calcrockingangles(self.org_angles,var_06,4,3,60); + var_0C = var_0B["angles"]; + var_06 = var_0B["result"]; + self rotateto(var_0C,0.4,0,0); + wait(0.2); + } +} + +//Function Number: 12 +bobobjectto(param_00) +{ + self endon("stop_bobbing"); + self endon("death"); + for(;;) + { + var_01 = (self.tgt_values[3],self.tgt_values[4],self.tgt_values[5]); + var_02 = (self.tgt_values[0],self.tgt_values[1],self.tgt_values[2]); + self moveto(var_01,0.1,0,0); + if(!param_00) + { + self rotateto(var_02,0.1,0,0); + } + + wait(0.05); + } +} \ No newline at end of file diff --git a/AW/PC/SP/maps/_breach.gsc b/AW/PC/maps/_breach.gsc similarity index 50% rename from AW/PC/SP/maps/_breach.gsc rename to AW/PC/maps/_breach.gsc index 9a12805..759844e 100644 --- a/AW/PC/SP/maps/_breach.gsc +++ b/AW/PC/maps/_breach.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_breach.gsc + * Decompiled File: _breach.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 24 - * Decompile Time: 399 ms - * Timestamp: 10/27/2023 1:58:19 AM + * Decompile Time: 341 ms + * Timestamp: 4/22/2024 2:20:07 AM *******************************************************************/ //Function Number: 1 @@ -60,9 +60,11 @@ breach_think(param_00,param_01,param_02,param_03,param_04,param_05) switch(self.breachtrigger.classname) { case "trigger_use": + self.triggerhintstring = param_02; break; case "trigger_use_touch": + self.triggerhintstring = param_02; break; case "trigger_radius": @@ -75,6 +77,158 @@ breach_think(param_00,param_01,param_02,param_03,param_04,param_05) break; } } + + switch(param_01) + { + case "explosive_breach_left": + break; + + case "shotgunhinges_breach_left": + break; + + case "flash_breach_no_door_right": + self.hasdoor = 0; + self.hasflashbangs = 1; + break; + + default: + break; + } + + if(self.hasdoor == 1) + { + self.edoor = getent(self.script_linkto,"script_linkname"); + if(self.edoor.classname == "script_model") + { + self.animent = spawn("script_origin",self.edoor.origin); + self.animent.angles = self.edoor.angles; + } + else if(self.edoor.classname == "script_brushmodel") + { + self.animent = getent(self.edoor.target,"targetname"); + self.edoor.vector = anglestoforward(self.animent.angles); + } + + self.animent.type = "Cover Right"; + self.eexploderorigin = getent(self.edoor.script_linkto,"script_linkname"); + self.iexplodernum = self.eexploderorigin.script_exploder; + } + else if(self.hasdoor == 0) + { + self.animent = getent(self.script_linkto,"script_linkname"); + } + + if(self.hasflashbangs == 1) + { + self.grenadeorigin = getent("flashthrow_" + var_07,"targetname"); + self.grenadedest = getent(self.grenadeorigin.target,"targetname"); + } + + thread breach_abort(param_00); + thread breach_cleanup(param_00); + thread breach_play_fx(param_01,param_04); + var_08 = 0; + for(var_09 = 0;var_09 < param_00.size;var_09++) + { + if(isdefined(param_00[var_09].firstbreacher)) + { + var_08++; + self.closestai = param_00[var_09]; + } + } + + if(var_08 > 0) + { + } + else + { + self.closestai = common_scripts\utility::getclosest(self.animent.origin,param_00); + } + + if(param_00.size == 1) + { + self.singlebreacher = 1; + } + + for(var_09 = 0;var_09 < param_00.size;var_09++) + { + param_00[var_09] thread breacher_think(self,param_01,param_05); + } + + while(self.breachers < param_00.size) + { + wait(0.05); + } + + self notify("ready_to_breach"); + self.readytobreach = 1; + if(isdefined(self.breachtrigger)) + { + self.breachtrigger thread breach_trigger_think(self); + self waittill("execute_the_breach"); + } + else + { + self notify("execute_the_breach"); + } + + common_scripts\utility::flag_set("begin_the_breach"); + self.abouttobebreached = 1; + if(isdefined(param_03) && param_03 == 1) + { + var_0A = getentarray("hostiles_" + var_07,"targetname"); + self waittill("spawn_hostiles"); + spawnbreachhostiles(var_0A); + self.hostilesspawned = 1; + } + + if(isdefined(self.badplace)) + { + badplace_cylinder(self.sbadplacename,-1,self.badplace.origin,self.badplace.radius,200,"bad_guys"); + } + + var_0B = getaiarray("bad_guys"); + var_0C = []; + for(var_09 = 0;var_09 < var_0B.size;var_09++) + { + if(var_0B[var_09] istouching(self)) + { + var_0C[var_0C.size] = var_0B[var_09]; + } + } + + if(var_0C.size > 0) + { + common_scripts\utility::array_thread(var_0C,::breach_enemies_stunned,self); + } + + while(!self.aiareintheroom) + { + wait(0.05); + } + + self notify("breach_complete"); + if(!var_0C.size) + { + return; + } + + while(!self.cleared) + { + wait(0.05); + for(var_09 = 0;var_09 < var_0C.size;var_09++) + { + if(!isalive(var_0C[var_09])) + { + var_0C = common_scripts\utility::array_remove(var_0C,var_0C[var_09]); + } + + if(var_0C.size == 0) + { + self.cleared = 1; + } + } + } } //Function Number: 3 @@ -123,17 +277,154 @@ breacher_think(param_00,param_01,param_02) switch(param_01) { case "explosive_breach_left": + if(isdefined(self.usebreachapproach) && self.usebreachapproach == 0) + { + var_04 = "detcord_stack_left_start_no_approach_" + var_03; + } + else + { + var_04 = "detcord_stack_left_start_" + var_03; + } + + var_05 = "detcord_stack_leftidle_" + var_03; + var_06 = "detcord_stack_leftbreach_" + var_03; break; case "shotgunhinges_breach_left": + var_04 = "shotgunhinges_breach_left_stack_start_" + var_03; + var_05 = "shotgunhinges_breach_left_stack_idle_" + var_03; + var_06 = "shotgunhinges_breach_left_stack_breach_" + var_03; break; case "flash_breach_no_door_right": + if(param_00.singlebreacher == 1) + { + var_04 = "flash_stack_right_start_single"; + var_05 = "flash_stack_right_idle_single"; + var_06 = "flash_stack_right_breach_single"; + var_07 = "flash_stack_right_flash_single"; + } + else + { + var_04 = "flash_stack_right_start_" + var_03; + var_05 = "flash_stack_right_idle_" + var_03; + var_06 = "flash_stack_right_breach_" + var_03; + var_07 = "flash_stack_right_flash_" + var_03; + } break; default: break; } + + breach_set_goaladius(64); + if(!isdefined(self.usebreachapproach) || self.usebreachapproach) + { + param_00.animent maps\_anim::anim_generic_reach(self,var_04); + } + else + { + self.scriptedarrivalent = param_00.animent; + param_00.animent maps\_anim::anim_generic_reach_and_arrive(self,var_04); + } + + param_00.animent maps\_anim::anim_generic(self,var_04); + param_00.animent thread maps\_anim::anim_generic_loop(self,var_05,self.ender); + self.setgoalpos = self.origin; + param_00.breachers++; + self.scriptedarrivalent = undefined; + param_00 waittill("execute_the_breach"); + if(!param_00.flashthrown && isdefined(var_07)) + { + param_00.animent notify(self.ender); + param_00.animent thread maps\_anim::anim_generic(self,var_07); + wait(1); + if(var_03 == "02" || param_00.singlebreacher == 1) + { + var_08 = "J_Mid_LE_1"; + self attach("projectile_m84_flashbang_grenade",var_08); + var_09 = self.grenadeweapon; + self.grenadeweapon = "flash_grenade"; + self.grenadeammo++; + if(var_03 == "02") + { + self waittillmatch("grenade_throw","single anim"); + } + + if(param_00.singlebreacher == 1 && var_03 == "01") + { + self waittillmatch("fire","single anim"); + } + + self magicgrenade(param_00.grenadeorigin.origin,param_00.grenadedest.origin,level.iflashfuse); + self detach("projectile_m84_flashbang_grenade",var_08); + self.grenadeweapon = var_09; + self.grenadeammo = 0; + } + + self waittillmatch("end","single anim"); + param_00.animent thread maps\_anim::anim_generic_loop(self,var_05,self.ender); + wait(0.1); + } + + param_00.animent notify(self.ender); + if(param_02 == 0) + { + self.breachdonotfire = 1; + } + + param_00.animent thread maps\_anim::anim_generic(self,var_06); + if(param_01 == "explosive_breach_left") + { + if(var_03 == "02") + { + thread detcord_logic(param_00); + self waittillmatch("pull fuse","single anim"); + wait(1); + param_00 notify("spawn_hostiles"); + param_00 notify("detpack_about_to_blow"); + self waittillmatch("explosion","single anim"); + param_00 notify("detpack_detonated"); + param_00.breached = 1; + param_00.edoor thread door_open("explosive",param_00); + param_00 notify("play_breach_fx"); + } + } + else if(param_01 == "shotgunhinges_breach_left") + { + if(var_03 == "01") + { + param_00 notify("spawn_hostiles"); + self waittillmatch("kick","single anim"); + param_00.edoor thread door_open("shotgun",param_00); + param_00 notify("play_breach_fx"); + } + } + else if(param_01 == "flash_breach_no_door_right") + { + } + + self waittillmatch("end","single anim"); + self notify("breach_complete"); + if(param_02 == 0) + { + self.breachdonotfire = undefined; + } + + if(isdefined(level.friendly_breach_thread)) + { + self thread [[ level.friendly_breach_thread ]](param_00); + } + + param_00.aiareintheroom = 1; + self pushplayer(0); + breach_reset_animname(); + while(!param_00.cleared) + { + wait(0.05); + } + + self.breaching = 0; } //Function Number: 5 @@ -264,9 +555,22 @@ breach_play_fx(param_00,param_01) switch(param_00) { case "explosive_breach_left": + self waittill("play_breach_fx"); + common_scripts\_exploder::exploder(self.iexplodernum); + thread common_scripts\utility::play_sound_in_space(level.scr_sound["breach_wooden_door"],self.eexploderorigin.origin); + if(param_01) + { + playfx(level._effect["_breach_doorbreach_detpack"],self.eexploderorigin.origin,anglestoforward(self.eexploderorigin.angles)); + } break; case "shotgunhinges_breach_left": + self waittill("play_breach_fx"); + common_scripts\_exploder::exploder(self.iexplodernum); + if(param_01) + { + playfx(level._effect["_breach_doorbreach_kick"],self.eexploderorigin.origin,anglestoforward(self.eexploderorigin.angles)); + } break; case "flash_breach_no_door_right": @@ -331,9 +635,17 @@ door_open(param_00,param_01,param_02) switch(param_00) { case "explosive": + thread door_fall_over(param_01.animent); + door_connectpaths(); + self playsound(level.scr_sound["breach_wooden_door"]); + earthquake(0.4,1,self.origin,1000); + radiusdamage(self.origin,56,level.maxdetpackdamage,level.mindetpackdamage); break; case "shotgun": + thread door_fall_over(param_01.animent); + door_connectpaths(); + self playsound(level.scr_sound["breach_wooden_door"]); break; } } diff --git a/AW/PC/SP/maps/_car_door_shield.gsc b/AW/PC/maps/_car_door_shield.gsc similarity index 98% rename from AW/PC/SP/maps/_car_door_shield.gsc rename to AW/PC/maps/_car_door_shield.gsc index 89a2975..c06272f 100644 --- a/AW/PC/SP/maps/_car_door_shield.gsc +++ b/AW/PC/maps/_car_door_shield.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_car_door_shield.gsc + * Decompiled File: _car_door_shield.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 47 - * Decompile Time: 777 ms - * Timestamp: 10/27/2023 1:58:22 AM + * Decompile Time: 671 ms + * Timestamp: 4/22/2024 2:20:10 AM *******************************************************************/ //Function Number: 1 @@ -312,19 +312,25 @@ get_door_model(param_00) { case "atlas_suv_door_03_gj": case "vm_atlas_suv_door_fl": + var_01 = "vm_atlas_suv_door_fl"; break; case "atlas_suv_door_04_gj": case "atlas_suv_door_02_gj": case "vm_atlas_suv_door_fr": + var_01 = "vm_atlas_suv_door_fr"; break; case "npc_civ_boxtruck_door_fl": + var_01 = "vm_civ_boxtruck_door_fl"; break; case "npc_civ_boxtruck_door_fr": + var_01 = "vm_civ_boxtruck_door_fr"; break; } + + return var_01; } //Function Number: 17 @@ -335,19 +341,25 @@ get_weapon_model(param_00) { case "atlas_suv_door_03_gj": case "vm_atlas_suv_door_fl": + var_01 = "weapon_suv_door_shield_fl"; break; case "atlas_suv_door_04_gj": case "atlas_suv_door_02_gj": case "vm_atlas_suv_door_fr": + var_01 = "weapon_suv_door_shield_fr"; break; case "npc_civ_boxtruck_door_fl": + var_01 = "weapon_boxtruck_door_shield_fl"; break; case "npc_civ_boxtruck_door_fr": + var_01 = "weapon_boxtruck_door_shield_fr"; break; } + + return var_01; } //Function Number: 18 diff --git a/AW/PC/SP/maps/_cg_encounter_perf_monitor.gsc b/AW/PC/maps/_cg_encounter_perf_monitor.gsc similarity index 97% rename from AW/PC/SP/maps/_cg_encounter_perf_monitor.gsc rename to AW/PC/maps/_cg_encounter_perf_monitor.gsc index f0118c7..ef24702 100644 --- a/AW/PC/SP/maps/_cg_encounter_perf_monitor.gsc +++ b/AW/PC/maps/_cg_encounter_perf_monitor.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_cg_encounter_perf_monitor.gsc + * Decompiled File: _cg_encounter_perf_monitor.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 13 - * Decompile Time: 194 ms - * Timestamp: 10/27/2023 1:58:23 AM + * Decompile Time: 228 ms + * Timestamp: 4/22/2024 2:20:11 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/_chargeable_weapon.gsc b/AW/PC/maps/_chargeable_weapon.gsc new file mode 100644 index 0000000..d8c6f7f --- /dev/null +++ b/AW/PC/maps/_chargeable_weapon.gsc @@ -0,0 +1,496 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _chargeable_weapon.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 28 + * Decompile Time: 474 ms + * Timestamp: 4/22/2024 2:20:12 AM +*******************************************************************/ + +//Function Number: 1 +setup_charged_shot() +{ + level._effect["charged_shot_tracer_low"] = loadfx("vfx/trail/charged_shot_1_trail"); + level._effect["charged_shot_tracer_med"] = loadfx("vfx/trail/charged_shot_2_trail"); + level._effect["charged_shot_tracer_high"] = loadfx("vfx/trail/charged_shot_3_trail"); + level._effect["charged_shot_impact_low"] = loadfx("vfx/weaponimpact/charged_shot_impact_1"); + level._effect["charged_shot_impact_med"] = loadfx("vfx/weaponimpact/charged_shot_impact_2"); + level._effect["charged_shot_impact_high"] = loadfx("vfx/weaponimpact/charged_shot_impact_3"); + level._effect["charged_shot_character_smoke"] = loadfx("vfx/smoke/charged_shot_character_smoke"); + soundscripts\_snd::snd_message("wpn_deam160_init"); + precacherumble("steady_rumble"); + foreach(var_01 in level.players) + { + var_01 thread monitor_charge_time(); + var_01 thread player_handle_charged_shot(); + } +} + +//Function Number: 2 +cleanup() +{ + player_cleanup_rumble(); + player_cleanup_reticle(); + player_cleanup_charge_indicator(); + player_cleanup_sound(); +} + +//Function Number: 3 +get_max_charge_time() +{ + var_00 = getminchargetime(self getcurrentweapon()); + var_01 = getchargetimepershot(self getcurrentweapon()); + var_02 = getmaxchargeshots(self getcurrentweapon()); + var_03 = var_00 + var_01 * var_02; + return var_03; +} + +//Function Number: 4 +monitor_player_death() +{ + self waittill("death"); + cleanup(); +} + +//Function Number: 5 +monitor_charge_time() +{ + self endon("death"); + player_init_rumble(); + player_init_reticle(); + player_init_charge_indicator(); + player_init_sound(); + thread monitor_player_death(); + var_00 = 0; + var_01 = 1; + for(;;) + { + var_02 = weaponischargeable(self getcurrentweapon()); + var_03 = var_02 && !self isthrowinggrenade() && !self isreloading() && !self ismeleeing() && !self ismantling(); + var_04 = level.player getchargetime(); + if(var_03) + { + var_05 = var_00 == 0 && var_04 > 0; + var_06 = var_00 > 0 && var_04 == 0; + var_07 = getminchargetime(self getcurrentweapon()); + var_08 = get_max_charge_time(); + var_01 = 0; + player_do_rumble(var_04,var_07,var_08); + player_do_reticle(var_04,var_07,var_08); + player_do_charge_indicator(var_04,var_07,var_08,var_00); + player_do_sound(var_04,var_05,var_06); + player_do_camera_shake(var_04,var_07,var_08); + } + else if(!var_01) + { + cleanup(); + var_01 = 1; + } + + var_00 = var_04; + wait(0.05); + } +} + +//Function Number: 6 +player_handle_charged_shot() +{ + self endon("death"); + for(;;) + { + level.player waittill("energy_fire",var_00); + var_01 = getminchargetime(level.player getcurrentweapon()); + var_02 = level.player get_max_charge_time(); + thread player_charged_shot(var_00,var_01,var_02); + } +} + +//Function Number: 7 +set_default_hud_parameters() +{ + self.alignx = "left"; + self.aligny = "top"; + self.horzalign = "center"; + self.vertalign = "middle"; + self.hidewhendead = 0; + self.hidewheninmenu = 0; + self.sort = 205; + self.foreground = 1; + self.alpha = 0.65; +} + +//Function Number: 8 +player_init_sound() +{ + if(isdefined(self.charged_shot_soundent)) + { + self.charged_shot_soundent delete(); + } + + self.charged_shot_soundent = common_scripts\utility::spawn_tag_origin(); +} + +//Function Number: 9 +player_do_sound(param_00,param_01,param_02) +{ + self.charged_shot_soundent.origin = self.origin; + self.charged_shot_soundent.angles = self.angles; + if(param_01) + { + soundscripts\_snd::snd_message("wpn_deam160_charge"); + } + + if(param_02) + { + level notify("aud_deam160_charge_break"); + } +} + +//Function Number: 10 +player_cleanup_sound() +{ + self.charged_shot_soundent stoploopsound(); +} + +//Function Number: 11 +player_init_reticle() +{ + precacheshader("charged_shot_reticle"); + precacheshader("charged_shot_reticle_corner_tl"); + precacheshader("charged_shot_reticle_corner_bl"); + precacheshader("charged_shot_reticle_corner_tr"); + precacheshader("charged_shot_reticle_corner_br"); + self.charged_shot_reticle_corners = []; + self.charged_shot_reticle = maps\_hud_util::createicon("charged_shot_reticle",16,16); + self.charged_shot_reticle set_default_hud_parameters(); + self.charged_shot_reticle.alignx = "center"; + self.charged_shot_reticle.aligny = "middle"; + self.charged_shot_reticle_corners["tl"] = maps\_hud_util::createicon("charged_shot_reticle_corner_tl",16,16); + self.charged_shot_reticle_corners["tl"] set_default_hud_parameters(); + self.charged_shot_reticle_corners["tl"].alignx = "right"; + self.charged_shot_reticle_corners["tl"].aligny = "bottom"; + self.charged_shot_reticle_corners["tr"] = maps\_hud_util::createicon("charged_shot_reticle_corner_tr",16,16); + self.charged_shot_reticle_corners["tr"] set_default_hud_parameters(); + self.charged_shot_reticle_corners["tr"].alignx = "left"; + self.charged_shot_reticle_corners["tr"].aligny = "bottom"; + self.charged_shot_reticle_corners["bl"] = maps\_hud_util::createicon("charged_shot_reticle_corner_bl",16,16); + self.charged_shot_reticle_corners["bl"] set_default_hud_parameters(); + self.charged_shot_reticle_corners["bl"].alignx = "right"; + self.charged_shot_reticle_corners["bl"].aligny = "top"; + self.charged_shot_reticle_corners["br"] = maps\_hud_util::createicon("charged_shot_reticle_corner_br",16,16); + self.charged_shot_reticle_corners["br"] set_default_hud_parameters(); + self.charged_shot_reticle_corners["br"].alignx = "left"; + self.charged_shot_reticle_corners["br"].aligny = "top"; + player_cleanup_reticle(); +} + +//Function Number: 12 +player_do_reticle(param_00,param_01,param_02) +{ + if(param_00 > param_01) + { + var_03 = compute_spread(param_00,param_01,param_02); + var_04 = tan(var_03); + var_05 = var_04 * 620; + var_06 = var_04 * 620; + self.charged_shot_reticle.alpha = 1; + self.charged_shot_reticle setshader("charged_shot_reticle",int(var_06),int(var_06)); + var_07 = var_04 * 320; + var_08 = var_04 * 320; + var_05 = clamp(var_04,16,32); + var_06 = clamp(var_04,16,24); + self.charged_shot_reticle_corners["tl"].x = -2 - var_07; + self.charged_shot_reticle_corners["tl"].y = -2 - var_08; + self.charged_shot_reticle_corners["tl"].alpha = 1; + self.charged_shot_reticle_corners["tl"] setshader("charged_shot_reticle_corner_tl",int(var_05),int(var_06)); + self.charged_shot_reticle_corners["tr"].x = 2 + var_07; + self.charged_shot_reticle_corners["tr"].y = -2 - var_08; + self.charged_shot_reticle_corners["tr"].alpha = 1; + self.charged_shot_reticle_corners["tr"] setshader("charged_shot_reticle_corner_tr",int(var_05),int(var_06)); + self.charged_shot_reticle_corners["bl"].x = -2 - var_07; + self.charged_shot_reticle_corners["bl"].y = 2 + var_08; + self.charged_shot_reticle_corners["bl"].alpha = 1; + self.charged_shot_reticle_corners["bl"] setshader("charged_shot_reticle_corner_bl",int(var_05),int(var_06)); + self.charged_shot_reticle_corners["br"].x = 2 + var_07; + self.charged_shot_reticle_corners["br"].y = 2 + var_08; + self.charged_shot_reticle_corners["br"].alpha = 1; + self.charged_shot_reticle_corners["br"] setshader("charged_shot_reticle_corner_br",int(var_05),int(var_06)); + player_set_all_reticle_colors((1,1,1)); + return; + } + + player_restore_reticle(); +} + +//Function Number: 13 +player_restore_reticle() +{ + self.charged_shot_reticle.alpha = 1; + self.charged_shot_reticle_corners["tl"].alpha = 1; + self.charged_shot_reticle_corners["tr"].alpha = 1; + self.charged_shot_reticle_corners["bl"].alpha = 1; + self.charged_shot_reticle_corners["br"].alpha = 1; + self.charged_shot_reticle_corners["tl"].x = -2; + self.charged_shot_reticle_corners["tl"].y = -2; + self.charged_shot_reticle_corners["tr"].x = 2; + self.charged_shot_reticle_corners["tr"].y = -2; + self.charged_shot_reticle_corners["bl"].x = -2; + self.charged_shot_reticle_corners["bl"].y = 2; + self.charged_shot_reticle_corners["br"].x = 2; + self.charged_shot_reticle_corners["br"].y = 2; + self.charged_shot_reticle setshader("charged_shot_reticle",16,16); + self.charged_shot_reticle_corners["tl"] setshader("charged_shot_reticle_corner_tl",16,16); + self.charged_shot_reticle_corners["bl"] setshader("charged_shot_reticle_corner_bl",16,16); + self.charged_shot_reticle_corners["tr"] setshader("charged_shot_reticle_corner_tr",16,16); + self.charged_shot_reticle_corners["br"] setshader("charged_shot_reticle_corner_br",16,16); + player_set_all_reticle_colors((1,1,1)); +} + +//Function Number: 14 +player_cleanup_reticle() +{ + self.charged_shot_reticle.alpha = 0; + self.charged_shot_reticle_corners["tl"].alpha = 0; + self.charged_shot_reticle_corners["tr"].alpha = 0; + self.charged_shot_reticle_corners["bl"].alpha = 0; + self.charged_shot_reticle_corners["br"].alpha = 0; +} + +//Function Number: 15 +player_init_rumble() +{ + self.charged_shot_rumble_ent = common_scripts\utility::spawn_tag_origin(); +} + +//Function Number: 16 +player_do_rumble(param_00,param_01,param_02) +{ + var_03 = maps\_shg_utility::linear_map_clamp(param_00,param_01,param_02,0,0.1); + if(var_03 > 0) + { + if(!isdefined(self.charged_shot_rumble_ent.rumbling)) + { + self.charged_shot_rumble_ent.rumbling = 1; + self.charged_shot_rumble_ent playrumblelooponentity("steady_rumble"); + } + + self.charged_shot_rumble_ent.origin = self.origin + (0,0,1 - clamp(var_03,0,1) * 1000); + return; + } + + player_cleanup_rumble(); +} + +//Function Number: 17 +player_cleanup_rumble() +{ + if(isdefined(self.charged_shot_rumble_ent.rumbling)) + { + self.charged_shot_rumble_ent stoprumble("steady_rumble"); + self.charged_shot_rumble_ent.rumbling = undefined; + } +} + +//Function Number: 18 +player_init_charge_indicator() +{ + for(var_00 = 1;var_00 <= 4;var_00++) + { + precacheshader("charged_shot_reticle_pip" + var_00); + } + + self.charge_indicator_hud = maps\_hud_util::createicon("charged_shot_reticle_pip1",32,32); + self.charge_indicator_hud set_default_hud_parameters(); + self.charge_indicator_hud.sort = 1; + self.charge_indicator_hud.horzalign = "fullscreen"; + self.charge_indicator_hud.alignx = "center"; + self.charge_indicator_hud.vertalign = "fullscreen"; + self.charge_indicator_hud.x = 320; + self.charge_indicator_hud.y = 170; + self.charge_indicator_hud.color = (1,1,1); + self.charge_indicator_hud.alpha = 0; +} + +//Function Number: 19 +player_set_all_reticle_colors(param_00) +{ + self.charge_indicator_hud.color = param_00; + self.charged_shot_reticle.color = param_00; + self.charged_shot_reticle_corners["tl"].color = param_00; + self.charged_shot_reticle_corners["tr"].color = param_00; + self.charged_shot_reticle_corners["bl"].color = param_00; + self.charged_shot_reticle_corners["br"].color = param_00; +} + +//Function Number: 20 +player_color_pulse(param_00) +{ + var_01 = param_00; + var_02 = 25; + soundscripts\_snd::snd_message("wpn_deam160_full_charge"); + while(level.player getchargetime() >= get_max_charge_time()) + { + var_01 = var_01 + var_02; + var_03 = sin(var_01 - param_00) + 1 * 0.5; + self.charge_indicator_hud.color = (var_03,var_03,var_03); + var_02 = min(45,var_02 + 0.5); + wait 0.05; + } + + self.charge_indicator_hud.color = (1,1,1); + level notify("aud_deam160_charge_break"); +} + +//Function Number: 21 +player_do_charge_indicator(param_00,param_01,param_02,param_03) +{ + var_04 = 0; + if(param_02 > 0) + { + var_05 = int(maps\_shg_utility::linear_map_clamp(param_03,0,param_02,0,4)); + var_04 = int(maps\_shg_utility::linear_map_clamp(param_00,0,param_02,0,4)); + if(var_05 < var_04) + { + soundscripts\_snd::snd_message("wpn_deam160_charge_dots_increase"); + } + } + + if(var_04 > 0) + { + self.charge_indicator_hud.alpha = 1; + self.charge_indicator_hud setshader("charged_shot_reticle_pip" + var_04,32,32); + } + else + { + self.charge_indicator_hud.alpha = 0; + } + + if(param_00 >= param_02 && param_03 != param_00) + { + thread player_color_pulse(param_00); + } +} + +//Function Number: 22 +player_cleanup_charge_indicator() +{ + self.charge_indicator_hud.alpha = 0; +} + +//Function Number: 23 +player_do_camera_shake(param_00,param_01,param_02) +{ + if(param_00 > param_01) + { + var_03 = maps\_shg_utility::linear_map_clamp(param_00,param_01,param_02,0.01,0.1); + earthquake(var_03,0.2,self.origin,512); + } +} + +//Function Number: 24 +compute_spread(param_00,param_01,param_02) +{ + return maps\_shg_utility::linear_map_clamp(param_00,param_01,param_02,1,5); +} + +//Function Number: 25 +play_charged_shot_fx(param_00,param_01,param_02) +{ + var_03 = param_02 - param_01; + var_04 = param_01 + var_03 * 0.2; + var_05 = param_02; + var_06 = self getgunangles(); + var_07 = anglestoforward(var_06); + var_08 = transformmove(self geteye(),var_06,(0,0,0),(0,0,0),(4,0,-1),(0,0,0))["origin"]; + var_09 = var_08 + 1000 * var_07; + var_0A = anglestoup(var_06); + var_0B = anglestoright(var_06); + var_0C = undefined; + var_0D = undefined; + if(param_00 >= var_05) + { + var_0C = common_scripts\utility::getfx("charged_shot_impact_high"); + var_0D = common_scripts\utility::getfx("charged_shot_tracer_high"); + soundscripts\_snd::snd_message("wpn_deam160_shot","large"); + } + else if(param_00 >= var_04) + { + var_0C = common_scripts\utility::getfx("charged_shot_impact_med"); + var_0D = common_scripts\utility::getfx("charged_shot_tracer_med"); + soundscripts\_snd::snd_message("wpn_deam160_shot","medium"); + } + else + { + var_0C = common_scripts\utility::getfx("charged_shot_impact_low"); + var_0D = common_scripts\utility::getfx("charged_shot_tracer_low"); + soundscripts\_snd::snd_message("wpn_deam160_shot","small"); + } + + if(isdefined(var_0D)) + { + playfx(var_0D,var_08,var_07,var_0A); + } + + if(isdefined(var_0C)) + { + var_0E = bullettrace(var_08,var_09,0,self,0); + if(var_0E["fraction"] < 1) + { + var_0F = var_0E["position"]; + playfx(var_0C,var_0F,var_0E["normal"]); + } + } +} + +//Function Number: 26 +player_charged_shot(param_00,param_01,param_02) +{ + var_03 = int(maps\_shg_utility::linear_map_clamp(param_00,param_01,param_02,1,5)); + var_04 = maps\_shg_utility::linear_map_clamp(param_00,param_01,param_02,0.1,0.6); + var_05 = int(var_03 - 1 * 0.5); + thread play_charged_shot_fx(param_00,param_01,param_02); + for(var_06 = 0;var_06 < var_03;var_06++) + { + if(var_06 == var_05) + { + earthquake(var_04,var_03 * 0.05 * 4,level.player.origin,100); + } + + wait 0.05; + } +} + +//Function Number: 27 +ai_detect_charged_damage() +{ + var_00 = spawnstruct(); + var_00 endon("end_charged_shot_damage_thread"); + thread ai_charged_shot_wait_for_death(var_00); + for(;;) + { + self waittill("damage",var_01,var_02,var_03,var_04,var_05); + if(isdefined(self)) + { + self.last_damage_pos = var_04; + if(isdefined(var_05) && var_05 == "MOD_ENERGY") + { + playfx(common_scripts\utility::getfx("charged_shot_character_smoke"),self.origin); + } + + if(self.health <= 0) + { + break; + } + } + } +} + +//Function Number: 28 +ai_charged_shot_wait_for_death(param_00) +{ + level.player endon("death"); + self waittill("death"); + wait(0.05); + param_00 notify("end_charged_shot_damage_thread"); +} \ No newline at end of file diff --git a/AW/PC/maps/_cloak.gsc b/AW/PC/maps/_cloak.gsc new file mode 100644 index 0000000..d1f239e --- /dev/null +++ b/AW/PC/maps/_cloak.gsc @@ -0,0 +1,1843 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _cloak.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 58 + * Decompile Time: 1004 ms + * Timestamp: 4/22/2024 2:20:16 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + precachestring(&"cloaking_hud_update"); + precacheshader("overlay_hunted_black"); + precacheshader("overlay_static"); + precacheshader("cinematic"); + precacheshader("qr_noise"); + precacheshader("dpad_icon_cloak"); + precacheshader("dpad_icon_cloak_off"); + precacheshader("nightvision_overlay_goggles"); + precachemodel("viewhands_s1_pmc_cloak"); + precachemodel("viewhands_player_sentinel_cloak"); + if(isdefined(0) && 0) + { + precacheshader("hud_temperature_gauge"); + } + + level._cloaked_stealth_settings = spawnstruct(); + level._cloaked_stealth_settings.cloak_on = 0; + level._cloaked_stealth_settings.visibility_range_version = 1; + init_cloaked_stealth_settings(); + init_player_cloak_state(); + init_cloak_view_model_anims(); + maps\_utility::add_global_spawn_function("allies",::allies_check_cloak_state); + maps\_utility::add_global_spawn_function("allies",::clear_stencil_on_death); + thread cloak_hud(); + do_player_cloak_update_threads(); + if(isdefined(0) && 0) + { + thread temp_cloak_gauge(); + } + + createthreatbiasgroup("cloak_friendly_npcs"); + createthreatbiasgroup("cloak_enemy_npcs"); + setignoremegroup("cloak_friendly_npcs","cloak_enemy_npcs"); + common_scripts\utility::flag_init("flag_player_cloak_enabled"); + common_scripts\utility::flag_set("_cloaked_stealth_enabled"); + maps\_stealth_utility::stealth_set_default_stealth_function("cloak_enemy_relaxed",::maps\_cloak_enemy_behavior::cloak_enemy_default_setup); + setomnvar("ui_cloak",1); + setomnvar("ui_meterhud_enable",1); + setomnvar("ui_meterhud_ar_and_2d",1); +} + +//Function Number: 2 +init_cloak_view_model_anims() +{ + level.scr_animtree["cloak_view_model"] = #animtree; + level.scr_model["cloak_view_model"] = "viewhands_player_sentinel_cloak"; + level.scr_anim["cloak_view_model"]["cloak_on"] = %vm_turn_on_cloak; + maps\_anim::addnotetrack_customfunction("cloak_view_model","cloak_on",::_cloak_toggle_internal,"cloak_on"); +} + +//Function Number: 3 +allies_check_cloak_state() +{ + if(level._cloaked_stealth_settings.cloak_on == 1) + { + setalertstencilstate(); + } +} + +//Function Number: 4 +axis_check_cloak_state() +{ + if(level._cloaked_stealth_settings.cloak_on == 1) + { + setalertstencilstate_axis(); + } +} + +//Function Number: 5 +clear_stencil_on_death() +{ + self waittill("death"); + clearstencilstateondeath(); +} + +//Function Number: 6 +cloaked_stealth_enable_lab_hud_cinematic() +{ + level._cloaked_stealth_settings.playing_lab_cinematic = 1; +} + +//Function Number: 7 +cloaked_stealth_disable_lab_hud_cinematic() +{ + level._cloaked_stealth_settings.playing_lab_cinematic = 0; +} + +//Function Number: 8 +cloaked_stealth_enable_battery_hud() +{ + level._cloaked_stealth_settings.battery_hud_is_visible = 1; +} + +//Function Number: 9 +cloaked_stealth_disable_battery_hud() +{ + level._cloaked_stealth_settings.battery_hud_is_visible = 0; +} + +//Function Number: 10 +cloaked_stealth_player_setup(param_00) +{ + if(isdefined(param_00) && param_00) + { + common_scripts\utility::flag_set("flag_player_cloak_enabled"); + } + + maps\_stealth_utility::stealth_default(); +} + +//Function Number: 11 +init_player_cloak_overlay() +{ + level.cloak_overlay = newhudelem(); + level.cloak_overlay.x = 0; + level.cloak_overlay.y = 0; + level.cloak_overlay.alignx = "left"; + level.cloak_overlay.aligny = "top"; + level.cloak_overlay.horzalign = "fullscreen"; + level.cloak_overlay.vertalign = "fullscreen"; + level.cloak_overlay.color = (1,0,0); + level.cloak_overlay setshader("overlay_static",640,480); + level.cloak_overlay.alpha = 0; +} + +//Function Number: 12 +_cloak_toggle_internal(param_00) +{ + if(level._cloaked_stealth_settings.cloak_on == 1) + { + turn_off_the_cloak_effect(); + level._cloaked_stealth_settings.penalty_timer = 1; + return; + } + + turn_on_the_cloak_effect(); +} + +//Function Number: 13 +_play_view_model_cloak_toggle_anim() +{ + level._cloaked_stealth_settings.playing_view_model_cloak_toggle_anim = 1; + level.player disableweapons(); + level.player waittill("weapon_change"); + var_00 = maps\_utility::spawn_anim_model("cloak_view_model"); + level._cloaked_stealth_settings.player_rig = var_00; + var_00 linktoplayerview(level.player,"tag_origin",(0,0,0),(0,0,0),1); + var_00 drawpostresolve(); + if(level._cloaked_stealth_settings.cloak_on == 1) + { + var_00 setmaterialscriptparam(0,0); + } + else + { + var_00 setmaterialscriptparam(1,0); + } + + soundscripts\_snd::snd_message("exo_cloak_button_press"); + level.player maps\_anim::anim_single_solo(var_00,"cloak_on"); + level.player enableweapons(); + var_00 unlink(); + level._cloaked_stealth_settings.player_rig = undefined; + var_00 delete(); + if(level._cloaked_stealth_settings.cloak_on == 0) + { + level.player overrideviewmodelmaterialreset(); + } + + level._cloaked_stealth_settings.playing_view_model_cloak_toggle_anim = 0; +} + +//Function Number: 14 +set_cloak_material_for_vm_weapon() +{ + if(level.player getcurrentweapon() != "iw5_unarmed") + { + level.player overrideviewmodelmaterialreset(); + if(issubstr(level.player getcurrentweapon(),"iw5_ak12_sp")) + { + level.player overrideviewmodelmaterial("mtl_ak12_base_nocamo","mtl_ak12_base_nocamo_cloak"); + } + + if(issubstr(level.player getcurrentweapon(),"iw5_arx160_sp")) + { + level.player overrideviewmodelmaterial("mtl_arx160_base_nocamo","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_arx160_iron_sights_base","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_arx160_strap_base","cloak_generic"); + } + + if(issubstr(level.player getcurrentweapon(),"iw5_asm1_sp")) + { + level.player overrideviewmodelmaterial("mtl_asm1_base_nocamo","mtl_asm1_base_nocamo_cloak"); + level.player overrideviewmodelmaterial("mtl_asm1_magazine_02_base","mtl_asm1_magazine_02_base_cloak"); + } + + if(issubstr(level.player getcurrentweapon(),"iw5_bal27_sp")) + { + level.player overrideviewmodelmaterial("_base_black","mtl_bal27_base_black_cloak"); + level.player overrideviewmodelmaterial("mtl_bal27_screen_a_green","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_bal27_magazine_out","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_bal27_magazine_inside","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_bal27_iron_sights","mtl_bal27_base_black_cloak"); + } + + if(issubstr(level.player getcurrentweapon(),"iw5_em1_sp")) + { + level.player overrideviewmodelmaterial("mtl_em1_base_nocamo","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_en_base_damage","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_em1_iron_sights_base","cloak_generic"); + } + + if(issubstr(level.player getcurrentweapon(),"iw5_gm6_sp")) + { + level.player overrideviewmodelmaterial("mtl_gm6_base_nocamo","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_gm6_scope_base","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_gm6_sight_base","cloak_generic"); + } + + if(issubstr(level.player getcurrentweapon(),"iw5_hbra3_sp")) + { + level.player overrideviewmodelmaterial("mtl_hbra3_base_nocamo","mtl_hbra3_base_nocamo_cloak"); + level.player overrideviewmodelmaterial("mtl_hbra3_base","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_hbra3_sight","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_hbra3_screen","cloak_generic"); + } + + if(issubstr(level.player getcurrentweapon(),"iw5_himar_sp")) + { + level.player overrideviewmodelmaterial("mtl_himar_base","mtl_himar_base_cloak"); + level.player overrideviewmodelmaterial("mtl_himar_glass_base","mtl_himar_glass_base_cloak"); + level.player overrideviewmodelmaterial("mtl_ar_base_handling_01","mtl_ar_base_handling_01_cloak"); + } + + if(issubstr(level.player getcurrentweapon(),"iw5_hmr9_sp")) + { + level.player overrideviewmodelmaterial("mtl_hmr9_base_nocamo","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_hmr9_bungee_chord","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_mag_dual_clip_base","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_hmr9_ironsights_base","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_hmr9_screen","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_hmr9_text_decals","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_hmr9_stock_base","cloak_generic"); + } + + if(issubstr(level.player getcurrentweapon(),"iw5_kf5_sp")) + { + level.player overrideviewmodelmaterial("mtl_kf5_base","mtl_kf5_base_nocamo_cloak"); + level.player overrideviewmodelmaterial("mtl_kf5_iron_sights_base","mtl_kf5_iron_sights_base_cloak"); + } + + if(issubstr(level.player getcurrentweapon(),"iw5_lsat_sp")) + { + level.player overrideviewmodelmaterial("mtl_lsat_base","mtl_lsat_base_cloak"); + level.player overrideviewmodelmaterial("mtl_lsat_iron_sights_base","mtl_lsat_iron_sights_base_cloak"); + } + + if(issubstr(level.player getcurrentweapon(),"iw5_m990_sp")) + { + level.player overrideviewmodelmaterial("mtl_m990_base_nocamo","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_m990_scope","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_m990_sight","cloak_generic"); + } + + if(issubstr(level.player getcurrentweapon(),"iw5_maaws_sp")) + { + level.player overrideviewmodelmaterial("mtl_maaws_base_nocamo","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_maaws_missile_base","cloak_generic"); + } + + if(issubstr(level.player getcurrentweapon(),"iw5_maul_sp")) + { + level.player overrideviewmodelmaterial("mtl_maul_base_nocamo","cloak_generic"); + } + + if(issubstr(level.player getcurrentweapon(),"iw5_mdl_sp")) + { + level.player overrideviewmodelmaterial("mtl_mdl_base","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_mdl_optic","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_mdl_optic_glass","mtl_mdl_optic_glass"); + level.player overrideviewmodelmaterial("mtl_mdl_optic_glow","mtl_mdl_optic_glow"); + } + + if(issubstr(level.player getcurrentweapon(),"iw5_mk14_sp")) + { + level.player overrideviewmodelmaterial("mtl_mk14_ebr_base_nocamo","cloak_generic"); + } + + if(issubstr(level.player getcurrentweapon(),"iw5_mors_sp")) + { + level.player overrideviewmodelmaterial("mtl_mors_base_nocamo","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_mors_scope","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_mors_sights","cloak_generic"); + } + + if(issubstr(level.player getcurrentweapon(),"iw5_mp11_sp")) + { + level.player overrideviewmodelmaterial("mtl_cbj_ms_base","cloak_generic"); + } + + if(issubstr(level.player getcurrentweapon(),"iw5_mp443_sp")) + { + level.player overrideviewmodelmaterial("mtl_mp443_base_nocamo","cloak_generic"); + } + + if(issubstr(level.player getcurrentweapon(),"iw5_rhino_sp")) + { + level.player overrideviewmodelmaterial("mtl_rhino_base_nocamo","cloak_generic"); + } + + if(issubstr(level.player getcurrentweapon(),"iw5_rw1_sp")) + { + level.player overrideviewmodelmaterial("mtl_rw1_main_base_nocamo","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_rw1_scope_base","cloak_generic"); + } + + if(issubstr(level.player getcurrentweapon(),"iw5_sac3_sp")) + { + level.player overrideviewmodelmaterial("mtl_sac3_base","cloak_generic"); + } + + if(issubstr(level.player getcurrentweapon(),"iw5_sn6_sp")) + { + level.player overrideviewmodelmaterial("mtl_sn6_base_black","mtl_sn6_base_black_nocamo_cloak"); + level.player overrideviewmodelmaterial("mtl_sn6_iron_sights_black","mtl_sn6_iron_sights_black_nocamo_cloak"); + } + + if(issubstr(level.player getcurrentweapon(),"iw5_stinger_sp")) + { + level.player overrideviewmodelmaterial("mtl_npc_stingerm7_base_black_nocamo","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_stingerm7_base_bottom_black_nocamo","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_stingerm7_base_top_black_nocamo","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_stingerm7_missile_01","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_stingerm7_screens_green","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_stingerm7_iron_sight_black","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_stingerm7_glass","mtl_stingerm7_glass"); + } + + if(issubstr(level.player getcurrentweapon(),"iw5_thor_sp")) + { + level.player overrideviewmodelmaterial("mtl_thor_base_nocamo","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_thor_scope_base","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_thor_scope_lens","mtl_thor_scope_lens"); + } + + if(issubstr(level.player getcurrentweapon(),"iw5_titan45_sp")) + { + level.player overrideviewmodelmaterial("mtl_titan45_base_nocamo","cloak_generic"); + } + + if(issubstr(level.player getcurrentweapon(),"iw5_uts19_sp")) + { + level.player overrideviewmodelmaterial("mtl_uts_19_add_on_nocamo","cloak_generic"); + } + + if(issubstr(level.player getcurrentweapon(),"iw5_vbr_sp")) + { + level.player overrideviewmodelmaterial("mtl_vbr_base_nocamo","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_vbr_siderail","cloak_generic"); + } + + if(issubstr(level.player getcurrentweapon(),"opticsacog2")) + { + level.player overrideviewmodelmaterial("mtl_acog2_base","mtl_acog2_base_cloak"); + level.player overrideviewmodelmaterial("mtl_mors_lens","mtl_mors_lens_cloak"); + } + + if(issubstr(level.player getcurrentweapon(),"himarscope")) + { + level.player overrideviewmodelmaterial("mtl_himar_computer_base","mtl_himar_computer_base_cloak"); + level.player overrideviewmodelmaterial("mtl_himar_reddot_body","mtl_himar_reddot_body_cloak"); + } + + if(issubstr(level.player getcurrentweapon(),"opticsreddot")) + { + level.player overrideviewmodelmaterial("mtl_weapon_reddot_body","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_weapon_reddot_lens","mtl_weapon_reddot_lens"); + level.player overrideviewmodelmaterial("mtl_optics_red_dot_small","mtl_optics_red_dot_small"); + level.player overrideviewmodelmaterial("mtl_weapon_reflex_red_dot","mtl_weapon_reflex_red_dot"); + } + + if(issubstr(level.player getcurrentweapon(),"silencer01") || issubstr(level.player getcurrentweapon(),"silencerpistol")) + { + level.player overrideviewmodelmaterial("mtl_weapon_silencer_01","cloak_generic"); + } + + if(issubstr(level.player getcurrentweapon(),"opticstargetenhancer")) + { + level.player overrideviewmodelmaterial("mtl_optics_target_enhancer_body","mtl_optics_target_enhancer_body_cloak"); + } + + if(issubstr(level.player getcurrentweapon(),"variablereddot")) + { + level.player overrideviewmodelmaterial("mtl_optics_variable_red_dot","mtl_optics_variable_red_dot_cloak"); + level.player overrideviewmodelmaterial("mtl_optics_variable_red_dot_square","mtl_optics_variable_red_dot_square"); + level.player overrideviewmodelmaterial("mtl_optics_variable_red_dot_glass02","mtl_optics_variable_red_dot_glass02_nodraw"); + level.player overrideviewmodelmaterial("mtl_optics_variable_red_dot_reticle","mtl_optics_variable_red_dot_reticle"); + level.player overrideviewmodelmaterial("mtl_optics_variable_red_dot_cross_reticle","mtl_optics_variable_red_dot_cross_reticle"); + level.player overrideviewmodelmaterial("mtl_optics_variable_red_dot_small","mtl_optics_variable_red_dot_small"); + } + + if(issubstr(level.player getcurrentweapon(),"directhack")) + { + level.player overrideviewmodelmaterial("mtl_directhack","cloak_generic"); + } + + if(issubstr(level.player getcurrentweapon(),"foregrip")) + { + level.player overrideviewmodelmaterial("mtl_foregrip","cloak_generic"); + } + + if(issubstr(level.player getcurrentweapon(),"parabolicmicrophone")) + { + level.player overrideviewmodelmaterial("mtl_mic_parabolic","cloak_generic"); + } + + if(issubstr(level.player getcurrentweapon(),"detech")) + { + level.player overrideviewmodelmaterial("mtl_optics_de_tech","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_optics_de_tech_led","mtl_optics_de_tech_led"); + level.player overrideviewmodelmaterial("mtl_optics_de_tech_lens","mtl_optics_de_tech_lens"); + level.player overrideviewmodelmaterial("mtl_optics_de_tech_reticle_base","mtl_optics_de_tech_reticle_base"); + level.player overrideviewmodelmaterial("mtl_weapon_reflex_red_dot","mtl_weapon_reflex_red_dot"); + } + + if(issubstr(level.player getcurrentweapon(),"lasersight")) + { + level.player overrideviewmodelmaterial("mtl_weapon_lasersight_01","cloak_generic"); + } + + if(issubstr(level.player getcurrentweapon(),"ironsights")) + { + level.player overrideviewmodelmaterial("_iron_sights_black","cloak_generic"); + level.player overrideviewmodelmaterial("_iron_sights_color","cloak_generic"); + } + + if(issubstr(level.player getcurrentweapon(),"opticseotech")) + { + level.player overrideviewmodelmaterial("mtl_weapon_eotech_body","mtl_weapon_eotech_body_cloak"); + level.player overrideviewmodelmaterial("mtl_weapon_eotech_lense","mtl_weapon_eotech_lense_nodraw"); + level.player overrideviewmodelmaterial("mtl_weapon_reflex_red_dot","mtl_weapon_reflex_red_dot"); + } + + if(issubstr(level.player getcurrentweapon(),"opticsthermal")) + { + level.player overrideviewmodelmaterial("mtl_weapon_thermal_scope_iw5","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_weapon_thermal_scope_iw5_lens","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_weapon_thermal_scope_scanlines","mtl_weapon_thermal_scope_scanlines"); + level.player overrideviewmodelmaterial("mtl_weapon_thermal_scope_screen","mtl_weapon_thermal_scope_screen"); + level.player overrideviewmodelmaterial("scope_overlay_m14_night","scope_overlay_m14_night"); + level.player overrideviewmodelmaterial("scope_overlay_m14_night_low_res","scope_overlay_m14_night_low_res"); + level.player overrideviewmodelmaterial("scope_overlay_m14_night_emp","scope_overlay_m14_night_emp"); + level.player overrideviewmodelmaterial("scope_overlay_m14_night_emp_low_res","scope_overlay_m14_night_emp_low_res"); + } + + if(issubstr(level.player getcurrentoffhand(),"grenade")) + { + level.player overrideviewmodelmaterial("mtl_variable_grenade_lethal","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_variable_grenade_nonlethal","cloak_generic"); + } + + if(issubstr(level.player getcurrentweapon(),"exo_shield")) + { + level.player overrideviewmodelmaterial("mtl_exo_riot_shield_base","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_exo_riot_shield_canvas","cloak_generic"); + level.player overrideviewmodelmaterial("mtl_exo_riot_shield_mesh","cloak_generic"); + } + } +} + +//Function Number: 15 +set_cloak_material_for_npc_weapon() +{ + if(self.weapon != "iw5_unarmed") + { + if(issubstr(self.weapon,"iw5_ak12_sp")) + { + self overridematerial("mtl_ak12_base_nocamo","mtl_ak12_base_nocamo_cloak"); + } + + if(issubstr(self.weapon,"iw5_arx160_sp")) + { + level.player overridematerial("mtl_arx160_base_nocamo","cloak_generic"); + self overridematerial("mtl_arx160_iron_sights_base","cloak_generic"); + self overridematerial("mtl_arx160_strap_base","cloak_generic"); + } + + if(issubstr(self.weapon,"iw5_asm1_sp")) + { + self overridematerial("mtl_asm1_base_nocamo","mtl_asm1_base_nocamo_cloak"); + self overridematerial("mtl_asm1_magazine_02_base","mtl_asm1_magazine_02_base_cloak"); + } + + if(issubstr(self.weapon,"iw5_bal27_sp")) + { + self overridematerial("_base_black","mtl_bal27_base_black_cloak"); + self overridematerial("mtl_bal27_screen_a_green","cloak_generic"); + self overridematerial("mtl_bal27_magazine_out","cloak_generic"); + self overridematerial("mtl_bal27_magazine_inside","cloak_generic"); + self overridematerial("mtl_bal27_iron_sights","mtl_bal27_base_black_cloak"); + } + + if(issubstr(self.weapon,"iw5_em1_sp")) + { + self overridematerial("mtl_em1_base_nocamo","cloak_generic"); + self overridematerial("mtl_en_base_damage","cloak_generic"); + self overridematerial("mtl_em1_iron_sights_base","cloak_generic"); + } + + if(issubstr(self.weapon,"iw5_gm6_sp")) + { + self overridematerial("mtl_gm6_base_nocamo","cloak_generic"); + self overridematerial("mtl_gm6_scope_base","cloak_generic"); + self overridematerial("mtl_gm6_sight_base","cloak_generic"); + } + + if(issubstr(self.weapon,"iw5_hbra3_sp")) + { + self overridematerial("mtl_hbra3_base_nocamo","mtl_hbra3_base_nocamo_cloak"); + self overridematerial("mtl_hbra3_base","mtl_hbra3_base_cloak"); + self overridematerial("mtl_hbra3_sight","mtl_hbra3_sight_cloak"); + self overridematerial("mtl_hbra3_screen","cloak_generic"); + } + + if(issubstr(self.weapon,"iw5_himar_sp")) + { + self overridematerial("mtl_himar_base","mtl_himar_base_cloak"); + self overridematerial("mtl_himar_glass_base","mtl_himar_glass_base_cloak"); + self overridematerial("mtl_ar_base_handling_01","mtl_ar_base_handling_01_cloak"); + self overridematerial("mtl_himar_iron_sights_base","mtl_himar_iron_sights_base_cloak"); + } + + if(issubstr(self.weapon,"iw5_hmr9_sp")) + { + self overridematerial("mtl_hmr9_base_nocamo","cloak_generic"); + self overridematerial("mtl_hmr9_ironsights_base","cloak_generic"); + self overridematerial("mtl_hmr9_screen","cloak_generic"); + self overridematerial("mtl_hmr9_text_decals","cloak_generic"); + self overridematerial("mtl_hmr9_stock_base","cloak_generic"); + } + + if(issubstr(self.weapon,"iw5_kf5_sp")) + { + self overridematerial("mtl_kf5_base","mtl_kf5_base_nocamo_cloak"); + self overridematerial("mtl_kf5_iron_sights_base","mtl_kf5_iron_sights_base_cloak"); + } + + if(issubstr(self.weapon,"iw5_lsat_sp")) + { + self overridematerial("mtl_lsat_base_nocamo","mtl_lsat_base_nocamo_cloak"); + self overridematerial("mtl_lsat_iron_sights_base","mtl_lsat_iron_sights_base_cloak"); + } + + if(issubstr(self.weapon,"iw5_m990_sp")) + { + self overridematerial("mtl_m990_base_nocamo","cloak_generic"); + self overridematerial("mtl_m990_scope","cloak_generic"); + self overridematerial("mtl_m990_sight","cloak_generic"); + } + + if(issubstr(self.weapon,"iw5_maaws_sp")) + { + self overridematerial("mtl_maaws_base_nocamo","cloak_generic"); + self overridematerial("mtl_maaws_missile_base","cloak_generic"); + } + + if(issubstr(self.weapon,"iw5_maul_sp")) + { + self overridematerial("mtl_maul_base_nocamo","cloak_generic"); + } + + if(issubstr(self.weapon,"iw5_mdl_sp")) + { + self overridematerial("mtl_mdl_base","cloak_generic"); + self overridematerial("mtl_mdl_optic","cloak_generic"); + } + + if(issubstr(self.weapon,"iw5_mk14_sp")) + { + self overridematerial("mtl_mk14_ebr_base_nocamo","cloak_generic"); + } + + if(issubstr(self.weapon,"iw5_mors_sp")) + { + self overridematerial("mtl_mors_base_nocamo","cloak_generic"); + self overridematerial("mtl_mors_scope","cloak_generic"); + self overridematerial("mtl_mors_sights","cloak_generic"); + } + + if(issubstr(self.weapon,"iw5_mp11_sp")) + { + self overridematerial("mtl_cbj_ms_base","cloak_generic"); + } + + if(issubstr(self.weapon,"iw5_mp443_sp")) + { + self overridematerial("mtl_mp443_base_nocamo","cloak_generic"); + } + + if(issubstr(self.weapon,"iw5_rhino_sp")) + { + self overridematerial("mtl_rhino_base_nocamo","cloak_generic"); + } + + if(issubstr(self.weapon,"iw5_rw1_sp")) + { + self overridematerial("mtl_rw1_main_base_nocamo","cloak_generic"); + self overridematerial("mtl_rw1_scope_base","cloak_generic"); + } + + if(issubstr(self.weapon,"iw5_sac3_sp")) + { + self overridematerial("mtl_sac3_base","cloak_generic"); + } + + if(issubstr(self.weapon,"iw5_sn6_sp")) + { + self overridematerial("mtl_sn6_base_black","mtl_sn6_base_black_nocamo_cloak"); + self overridematerial("mtl_sn6_iron_sights_black","mtl_sn6_iron_sights_black_nocamo_cloak"); + } + + if(issubstr(self.weapon,"iw5_stinger_sp")) + { + self overridematerial("mtl_npc_stingerm7_base_black_nocamo","cloak_generic"); + self overridematerial("mtl_stingerm7_base_bottom_black_nocamo","cloak_generic"); + self overridematerial("mtl_stingerm7_base_top_black_nocamo","cloak_generic"); + self overridematerial("mtl_stingerm7_missile_01","cloak_generic"); + self overridematerial("mtl_stingerm7_screens_green","cloak_generic"); + self overridematerial("mtl_stingerm7_iron_sight_black","cloak_generic"); + self overridematerial("mtl_stingerm7_glass","mtl_stingerm7_glass"); + } + + if(issubstr(self.weapon,"iw5_thor_sp")) + { + self overridematerial("mtl_thor_base_nocamo","cloak_generic"); + self overridematerial("mtl_thor_scope_base","cloak_generic"); + self overridematerial("mtl_thor_scope_lens","mtl_thor_scope_lens"); + } + + if(issubstr(self.weapon,"iw5_titan45_sp")) + { + self overridematerial("mtl_titan45_base_nocamo","cloak_generic"); + } + + if(issubstr(self.weapon,"iw5_uts19_sp")) + { + self overridematerial("mtl_uts_19_add_on_nocamo","cloak_generic"); + } + + if(issubstr(self.weapon,"iw5_vbr_sp")) + { + self overridematerial("mtl_vbr_base_nocamo","cloak_generic"); + self overridematerial("mtl_vbr_siderail","cloak_generic"); + } + + if(issubstr(self.weapon,"opticsacog2")) + { + self overridematerial("mtl_acog2_base","mtl_acog2_base_cloak"); + } + + if(issubstr(self.weapon,"himarscope")) + { + self overridematerial("mtl_himar_computer_base","mtl_himar_computer_base_cloak"); + self overridematerial("mtl_himar_reddot_body","mtl_himar_reddot_body_cloak"); + } + + if(issubstr(self.weapon,"opticsreddot")) + { + self overridematerial("mtl_weapon_reddot_body","mtl_weapon_reddot_body_cloak"); + } + + if(issubstr(self.weapon,"silencer01")) + { + self overridematerial("mtl_weapon_silencer_01","mtl_weapon_silencer_01_cloak"); + } + + if(issubstr(self.weapon,"opticstargetenhancer")) + { + self overridematerial("mtl_optics_target_enhancer_body","mtl_optics_target_enhancer_body_cloak"); + } + + if(issubstr(self.weapon,"variablereddot")) + { + self overridematerial("mtl_optics_variable_red_dot","mtl_optics_variable_red_dot_cloak"); + self overridematerial("mtl_optics_variable_red_dot_glass02","mtl_optics_variable_red_dot_glass02_nodraw"); + } + + if(issubstr(self.weapon,"directhack")) + { + self overridematerial("mtl_directhack","cloak_generic"); + } + + if(issubstr(self.weapon,"foregrip")) + { + self overridematerial("mtl_foregrip","cloak_generic"); + } + + if(issubstr(self.weapon,"parabolicmicrophone")) + { + self overridematerial("mtl_mic_parabolic","cloak_generic"); + } + + if(issubstr(self.weapon,"detech")) + { + self overridematerial("mtl_optics_de_tech","cloak_generic"); + } + + if(issubstr(self.weapon,"lasersight")) + { + self overridematerial("mtl_weapon_lasersight_01","cloak_generic"); + } + + if(issubstr(self.weapon,"ironsights")) + { + self overridematerial("_iron_sights_black","cloak_generic"); + self overridematerial("_iron_sights_color","cloak_generic"); + } + + if(issubstr(self.weapon,"opticseotech")) + { + self overridematerial("mtl_weapon_eotech_body","mtl_weapon_eotech_body_cloak"); + } + + if(issubstr(self.weapon,"opticsthermal")) + { + self overridematerial("mtl_weapon_thermal_scope","mtl_weapon_thermal_scope_cloak"); + } + } +} + +//Function Number: 16 +cloak_vm_weapon_instantaneous() +{ + set_cloak_material_for_vm_weapon(); + level.player setviewmodelmaterialscriptparam(0,0); +} + +//Function Number: 17 +cloak_vm_weapon_blend() +{ + wait(0.1); + set_cloak_material_for_vm_weapon(); + level.player setviewmodelmaterialscriptparam(1,0); + wait(0.05); + level.player setviewmodelmaterialscriptparam(0,0.75); +} + +//Function Number: 18 +cloak_npc_weapon_instantaneous() +{ + set_cloak_material_for_npc_weapon(); + self setmaterialscriptparam(0,0); +} + +//Function Number: 19 +monitor_player_weapon_for_cloak() +{ + var_00 = level.player getcurrentweapon(); + for(;;) + { + var_01 = level.player getcurrentweapon(); + if(var_01 != var_00) + { + if(level._cloaked_stealth_settings.cloak_on) + { + wait(0.1); + cloak_vm_weapon_instantaneous(); + } + + var_00 = var_01; + } + + if(level.player ismeleeing()) + { + if(level._cloaked_stealth_settings.cloak_on) + { + wait(0.1); + cloak_vm_weapon_instantaneous(); + } + } + + wait(0.05); + } +} + +//Function Number: 20 +check_for_npc_weapon_cloak_status_update() +{ + self endon("death"); + self notify("check_for_npc_weapon_cloak_status_update"); + self endon("check_for_npc_weapon_cloak_status_update"); + var_00 = self.weapon; + for(;;) + { + if(isdefined(self.cloak)) + { + var_01 = self.weapon; + if(var_01 != var_00) + { + if(self.cloak == "on") + { + wait(0.1); + cloak_npc_weapon_instantaneous(); + } + + var_00 = var_01; + } + } + + wait(0.05); + } +} + +//Function Number: 21 +turn_on_the_cloak_effect_when_able() +{ + while(isdefined(level._cloaked_stealth_settings.cloaking_visual_effect_in_progress)) + { + wait(0.05); + } + + level._cloaked_stealth_settings.cloaking_visual_effect_in_progress = 1; + var_00 = 0; + level.player setviewmodel("viewhands_s1_pmc_cloak"); + thread cloak_vm_weapon_blend(); + level.player drawpostresolve(); + level.player hudoutlineenable(0); + if(isdefined(level._cloaked_stealth_settings.player_rig)) + { + level._cloaked_stealth_settings.player_rig setmaterialscriptparam(0,0.3); + var_00 = 0.3; + level._cloaked_stealth_settings.player_rig hudoutlineenable(0); + } + + if(isdefined(level.scr_model["player_rig"])) + { + level.scr_model["player_rig"] = "viewbody_sentinel_covert_cloak"; + } + + if(isdefined(level.player_rig)) + { + level.player_rig setmodel(level.scr_model["player_rig"]); + level.player_rig drawpostresolve(); + level.player_rig setmaterialscriptparam(0,0.3); + var_00 = 0.3; + level.player_rig hudoutlineenable(0); + } + + wait(var_00); + level._cloaked_stealth_settings.cloaking_visual_effect_in_progress = undefined; +} + +//Function Number: 22 +turn_on_the_cloak_effect() +{ + level._cloaked_stealth_settings.cloak_on = 1; + soundscripts\_snd::snd_message("exo_cloak_enable"); + if(level._cloaked_stealth_settings.visibility_range_version == 1) + { + maps\_stealth_utility::stealth_detect_ranges_set(level._cloaked_stealth_settings.ranges["cloak_on_hidden"],level._cloaked_stealth_settings.ranges["cloak_on_spotted"]); + } + + thread turn_on_the_cloak_effect_when_able(); +} + +//Function Number: 23 +turn_off_the_cloak_effect_when_able() +{ + while(level.player ismeleeing() || isdefined(level._cloaked_stealth_settings.cloaking_visual_effect_in_progress)) + { + wait(0.05); + } + + level._cloaked_stealth_settings.cloaking_visual_effect_in_progress = 1; + var_00 = 0; + level.player setviewmodel("viewhands_player_sentinel"); + level.player drawpostresolveoff(); + level.player hudoutlinedisable(); + if(isdefined(level._cloaked_stealth_settings.player_rig)) + { + level._cloaked_stealth_settings.player_rig setmaterialscriptparam(1,0.2); + var_00 = 0.2; + level._cloaked_stealth_settings.player_rig hudoutlinedisable(); + soundscripts\_snd::snd_message("exo_cloak_disable"); + } + + level.player overrideviewmodelmaterialreset(); + if(isdefined(level.scr_model["player_rig"])) + { + level.scr_model["player_rig"] = "viewbody_sentinel_covert"; + } + + if(isdefined(level.player_rig)) + { + level.player_rig drawpostresolveoff(); + level.player_rig setmaterialscriptparam(1,0.3); + var_00 = 0.3; + level.player_rig setmodel(level.scr_model["player_rig"]); + level.player_rig hudoutlinedisable(); + } + + wait(var_00); + level._cloaked_stealth_settings.cloaking_visual_effect_in_progress = undefined; +} + +//Function Number: 24 +turn_off_the_cloak_effect() +{ + level._cloaked_stealth_settings.cloak_on = 0; + if(level._cloaked_stealth_settings.visibility_range_version == 1) + { + maps\_stealth_utility::stealth_detect_ranges_set(level._cloaked_stealth_settings.ranges["cloak_off_hidden"],level._cloaked_stealth_settings.ranges["cloak_off_spotted"]); + } + + thread turn_off_the_cloak_effect_when_able(); +} + +//Function Number: 25 +set_player_detection_distance_for_speed(param_00) +{ + if(!isdefined(level._cloaked_stealth_settings.current_speed)) + { + level._cloaked_stealth_settings.current_speed = -1; + } + + if(level._cloaked_stealth_settings.current_speed != param_00) + { + level._cloaked_stealth_settings.current_speed = param_00; + if(isdefined(level.player._stealth) && level.player [[ level.player._stealth.logic.getinshadow_func ]]()) + { + maps\_stealth_utility::stealth_detect_ranges_set(level._cloaked_stealth_settings.visibility_distance["shadow"][param_00],level._cloaked_stealth_settings.visibility_distance["shadow"][param_00]); + } + else + { + maps\_stealth_utility::stealth_detect_ranges_set(level._cloaked_stealth_settings.visibility_distance[param_00],level._cloaked_stealth_settings.visibility_distance[param_00]); + } + + if(param_00 == 1000) + { + maps\_stealth_visibility_system::system_default_event_distances(); + var_01 = level._stealth.logic.detection_level; + maps\_stealth_visibility_system::system_event_change(var_01); + } + else if(isdefined(level.player._stealth) && level.player [[ level.player._stealth.logic.getinshadow_func ]]()) + { + maps\_stealth_utility::stealth_ai_event_dist_custom(level._cloaked_stealth_settings.event_distance["shadow"][param_00]); + } + else + { + maps\_stealth_utility::stealth_ai_event_dist_custom(level._cloaked_stealth_settings.event_distance[param_00]); + } + } + + if(level.player maps\_utility::ent_flag_exist("_stealth_in_mute_radius") && level.player maps\_utility::ent_flag("_stealth_in_mute_radius")) + { + override_event_distances_for_mute_volume(); + } +} + +//Function Number: 26 +do_player_cloak_update_threads() +{ + if(level._cloaked_stealth_settings.visibility_range_version == 2) + { + thread monitor_player_speed_for_cloak(); + } + + thread monitor_player_weapon_for_cloak(); + thread monitor_player_damage_for_cloak(); + thread monitor_player_fire_for_cloak(); +} + +//Function Number: 27 +monitor_player_damage_for_cloak() +{ + while(!isdefined(level.player)) + { + wait(0.1); + } + + for(;;) + { + level.player waittill("damage"); + if(level._cloaked_stealth_settings.cloak_on == 1 && !isdefined(level._cloaked_stealth_settings.cloak_disabled)) + { + cloak_device_hit_by_electro_magnetic_pulse(); + } + } +} + +//Function Number: 28 +monitor_player_fire_for_cloak() +{ + while(!isdefined(level.player)) + { + wait(0.1); + } + + for(;;) + { + level.player waittill("weapon_fired",var_00); + if(!common_scripts\utility::flag("flag_player_cloak_enabled")) + { + return; + } + + if(issubstr(var_00,"silence")) + { + continue; + } + + if(level._cloaked_stealth_settings.cloak_on == 1 && !isdefined(level._cloaked_stealth_settings.cloak_disabled)) + { + cloak_device_hit_by_electro_magnetic_pulse(); + } + } +} + +//Function Number: 29 +monitor_player_speed_for_cloak() +{ + for(;;) + { + if(isdefined(level.player) && isdefined(level._cloaked_stealth_settings)) + { + if(level._cloaked_stealth_settings.cloak_on == 1 && !isdefined(level._cloaked_stealth_settings.cloak_disabled)) + { + var_00 = level.player maps\_shg_utility::get_differentiated_speed(); + if(var_00 < 50) + { + set_player_detection_distance_for_speed(0); + } + else if(var_00 < 100) + { + set_player_detection_distance_for_speed(50); + } + else if(var_00 < 150) + { + set_player_detection_distance_for_speed(100); + } + else if(var_00 < 200) + { + set_player_detection_distance_for_speed(150); + } + else if(var_00 < 250) + { + set_player_detection_distance_for_speed(200); + } + else if(var_00 < 300) + { + set_player_detection_distance_for_speed(250); + } + else if(var_00 < 350) + { + set_player_detection_distance_for_speed(300); + } + else if(var_00 < 400) + { + set_player_detection_distance_for_speed(350); + } + else + { + set_player_detection_distance_for_speed(400); + } + } + else + { + set_player_detection_distance_for_speed(1000); + } + } + + wait(0.05); + } +} + +//Function Number: 30 +cloak_device_hit_by_electro_magnetic_pulse() +{ + level._cloaked_stealth_settings.cloak_battery_level = level._cloaked_stealth_settings.battery_min; + turn_off_the_cloak_effect(); + soundscripts\_snd::snd_message("exo_cloak_battery_dead"); + level._cloaked_stealth_settings.penalty_timer = 5; + level._cloaked_stealth_settings.must_wait_for_full_charge = 1; +} + +//Function Number: 31 +cloak_battery_hud() +{ + self endon("death"); + var_00 = 0.05; + var_01 = var_00 / 120; + var_02 = var_00 / 22; + var_03 = var_00 / 2.5; + var_04 = var_00 / 90; + level._cloaked_stealth_settings.battery_min = 0.01; + level._cloaked_stealth_settings.cloak_battery_level = 1; + level._cloaked_stealth_settings.penalty_timer = 0; + level._cloaked_stealth_settings.must_wait_for_full_charge = 0; + level._cloaked_stealth_settings.auto_recloak = 0; + var_05 = 0; + for(;;) + { + if(level._cloaked_stealth_settings.cloak_on == 1) + { + if(1) + { + var_06 = level.player maps\_shg_utility::get_differentiated_speed(); + if(var_06 < 10) + { + if(var_05 > 0) + { + var_05 = var_05 - var_00; + } + else + { + level._cloaked_stealth_settings.cloak_battery_level = level._cloaked_stealth_settings.cloak_battery_level + var_04; + if(level._cloaked_stealth_settings.cloak_battery_level > 1) + { + level._cloaked_stealth_settings.cloak_battery_level = 1; + level._cloaked_stealth_settings.must_wait_for_full_charge = 0; + } + } + } + else + { + var_05 = 1; + var_07 = var_06 / 500; + if(var_07 < 0) + { + var_07 = 0; + } + else if(var_07 > 1) + { + var_07 = 1; + } + + var_08 = 40 * var_07 * var_07 * var_07; + level._cloaked_stealth_settings.cloak_battery_level = level._cloaked_stealth_settings.cloak_battery_level - var_08 * var_02; + if(level._cloaked_stealth_settings.cloak_battery_level <= level._cloaked_stealth_settings.battery_min) + { + level._cloaked_stealth_settings.cloak_battery_level = level._cloaked_stealth_settings.battery_min; + turn_off_the_cloak_effect(); + soundscripts\_snd::snd_message("exo_cloak_battery_dead"); + level._cloaked_stealth_settings.penalty_timer = 1; + level._cloaked_stealth_settings.must_wait_for_full_charge = 1; + if(0) + { + level._cloaked_stealth_settings.auto_recloak = 1; + } + } + } + } + else + { + level._cloaked_stealth_settings.cloak_battery_level = level._cloaked_stealth_settings.cloak_battery_level - var_02; + if(level._cloaked_stealth_settings.cloak_battery_level <= level._cloaked_stealth_settings.battery_min) + { + level._cloaked_stealth_settings.cloak_battery_level = level._cloaked_stealth_settings.battery_min; + turn_off_the_cloak_effect(); + soundscripts\_snd::snd_message("exo_cloak_battery_dead"); + level._cloaked_stealth_settings.penalty_timer = 1; + level._cloaked_stealth_settings.must_wait_for_full_charge = 1; + } + } + } + else if(1) + { + if(var_05 > 0 || level._cloaked_stealth_settings.penalty_timer > 0) + { + var_05 = var_05 - var_00; + level._cloaked_stealth_settings.penalty_timer = level._cloaked_stealth_settings.penalty_timer - var_00; + } + else + { + level._cloaked_stealth_settings.cloak_battery_level = level._cloaked_stealth_settings.cloak_battery_level + var_03; + if(level._cloaked_stealth_settings.cloak_battery_level > 1) + { + level._cloaked_stealth_settings.cloak_battery_level = 1; + level._cloaked_stealth_settings.must_wait_for_full_charge = 0; + if(0 && level._cloaked_stealth_settings.auto_recloak) + { + level._cloaked_stealth_settings.auto_recloak = 0; + turn_on_the_cloak_effect(); + } + } + } + } + else if(level._cloaked_stealth_settings.penalty_timer > 0) + { + level._cloaked_stealth_settings.penalty_timer = level._cloaked_stealth_settings.penalty_timer - var_00; + } + else + { + level._cloaked_stealth_settings.cloak_battery_level = level._cloaked_stealth_settings.cloak_battery_level + var_03; + if(level._cloaked_stealth_settings.cloak_battery_level > 1) + { + level._cloaked_stealth_settings.cloak_battery_level = 1; + level._cloaked_stealth_settings.must_wait_for_full_charge = 0; + if(0 && level._cloaked_stealth_settings.auto_recloak) + { + level._cloaked_stealth_settings.auto_recloak = 0; + turn_on_the_cloak_effect(); + } + } + } + + var_09 = int(100 * level._cloaked_stealth_settings.cloak_battery_level); + if(isdefined(level._cloaked_stealth_settings.battery_hud_is_visible) && level._cloaked_stealth_settings.battery_hud_is_visible == 1) + { + level.player setclientomnvar("ui_cloak",common_scripts\utility::flag("flag_player_cloak_enabled")); + level.player setclientomnvar("ui_cloak_cinematic",0); + level.player setclientomnvar("ui_cloak_on",level._cloaked_stealth_settings.cloak_on); + level.player setclientomnvar("ui_cloak_health",var_09); + level.player setclientomnvar("ui_meterhud_toggle",common_scripts\utility::flag("flag_player_cloak_enabled")); + level.player setclientomnvar("ui_meterhud_text",level._cloaked_stealth_settings.cloak_on); + level.player setclientomnvar("ui_meterhud_level",level._cloaked_stealth_settings.cloak_battery_level); + } + else + { + level.player setclientomnvar("ui_cloak",0); + level.player setclientomnvar("ui_meterhud_toggle",0); + level.player setclientomnvar("ui_meterhud_text",level._cloaked_stealth_settings.cloak_on); + } + + wait(var_00); + } +} + +//Function Number: 32 +cloak_hud() +{ + level.player endon("death"); + level.player notifyonplayercommand("cloak_button_pressed","+actionslot 4"); + level.player setweaponhudiconoverride("actionslot4","dpad_icon_cloak"); + thread cloak_battery_hud(); + level._cloaked_stealth_settings.playing_view_model_cloak_toggle_anim = 0; + if(level._cloaked_stealth_settings.cloak_on == 1) + { + turn_on_the_cloak_effect(); + } + else + { + turn_off_the_cloak_effect(); + } + + for(;;) + { + level.player waittill("cloak_button_pressed"); + if(common_scripts\utility::flag("flag_player_cloak_enabled")) + { + if(!common_scripts\utility::flag("flag_player_cloak_on_pressed")) + { + common_scripts\utility::flag_set("flag_player_cloak_on_pressed"); + } + + if(!level._cloaked_stealth_settings.playing_view_model_cloak_toggle_anim) + { + if(level._cloaked_stealth_settings.cloak_on == 1) + { + if(!isdefined(level.player_rig)) + { + thread _play_view_model_cloak_toggle_anim(); + } + + continue; + } + + if(level._cloaked_stealth_settings.cloak_battery_level > level._cloaked_stealth_settings.battery_min) + { + if(level._cloaked_stealth_settings.must_wait_for_full_charge == 0) + { + if(!isdefined(level.player_rig)) + { + thread _play_view_model_cloak_toggle_anim(); + } + } + } + } + } + } +} + +//Function Number: 33 +_ensure_player_is_decloaked() +{ + while(level._cloaked_stealth_settings.playing_view_model_cloak_toggle_anim) + { + wait(0.05); + } + + if(level._cloaked_stealth_settings.cloak_on == 1) + { + _play_view_model_cloak_toggle_anim(); + } +} + +//Function Number: 34 +disable_cloak_system(param_00) +{ + common_scripts\utility::flag_clear("flag_player_cloak_enabled"); + cloaked_stealth_disable_battery_hud(); + level.player setweaponhudiconoverride("actionslot4","dpad_icon_cloak_off"); + if(isdefined(param_00) && param_00) + { + thread _ensure_player_is_decloaked(); + return; + } + + if(level._cloaked_stealth_settings.cloak_on == 1) + { + turn_off_the_cloak_effect(); + } +} + +//Function Number: 35 +init_cloaked_stealth_settings() +{ + if(level._cloaked_stealth_settings.visibility_range_version == 1) + { + init_cloaked_stealth_visibility_range_v1(); + } + else + { + init_cloaked_stealth_detection_range(); + } + + set_corpse_detection_ranges_for_cloak_system(); + soundscripts\_snd::snd_message("snd_cloak_init"); +} + +//Function Number: 36 +init_player_cloak_state() +{ + if(level._cloaked_stealth_settings.visibility_range_version == 1) + { + maps\_stealth_utility::stealth_detect_ranges_set(level._cloaked_stealth_settings.ranges["cloak_off_hidden"],level._cloaked_stealth_settings.ranges["cloak_off_spotted"]); + return; + } + + set_player_detection_distance_for_speed(0); +} + +//Function Number: 37 +init_cloaked_stealth_visibility_range_v1() +{ + level._cloaked_stealth_settings.ranges = []; + level._cloaked_stealth_settings.ranges["cloak_on_hidden"]["prone"] = 70; + level._cloaked_stealth_settings.ranges["cloak_on_hidden"]["crouch"] = 90; + level._cloaked_stealth_settings.ranges["cloak_on_hidden"]["stand"] = 150; + level._cloaked_stealth_settings.ranges["cloak_on_spotted"]["prone"] = 150; + level._cloaked_stealth_settings.ranges["cloak_on_spotted"]["crouch"] = 400; + level._cloaked_stealth_settings.ranges["cloak_on_spotted"]["stand"] = 512; + level._cloaked_stealth_settings.ranges["cloak_off_hidden"]["prone"] = 70; + level._cloaked_stealth_settings.ranges["cloak_off_hidden"]["crouch"] = 600; + level._cloaked_stealth_settings.ranges["cloak_off_hidden"]["stand"] = 1024; + level._cloaked_stealth_settings.ranges["cloak_off_spotted"]["prone"] = 512; + level._cloaked_stealth_settings.ranges["cloak_off_spotted"]["crouch"] = 5000; + level._cloaked_stealth_settings.ranges["cloak_off_spotted"]["stand"] = 8000; +} + +//Function Number: 38 +get_detection_distance_for_player_speed(param_00) +{ + var_01 = 92; + var_02 = 200; + var_03 = 400; + return var_02 - var_01 * param_00 / var_03 + var_01; +} + +//Function Number: 39 +init_uncloaked_detection_distance_setting(param_00) +{ + var_01 = 450; + level._cloaked_stealth_settings.visibility_distance[param_00]["prone"] = var_01 * 0.6; + level._cloaked_stealth_settings.visibility_distance[param_00]["crouch"] = var_01 * 0.8; + level._cloaked_stealth_settings.visibility_distance[param_00]["stand"] = var_01; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistDeath"] = []; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistPain"] = []; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistBullet"] = []; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistFootstep"] = []; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistFootstepWalk"] = []; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistFootstepSprint"] = []; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistNewEnemy"] = []; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistGunShot"] = []; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistExplosion"] = []; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistDeath"]["spotted"] = var_01; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistDeath"]["hidden"] = var_01; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistPain"]["spotted"] = var_01; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistPain"]["hidden"] = var_01; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistBullet"]["spotted"] = var_01; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistBullet"]["hidden"] = var_01; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistFootstep"]["spotted"] = var_01; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistFootstep"]["hidden"] = var_01; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistFootstepWalk"]["spotted"] = var_01; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistFootstepWalk"]["hidden"] = var_01; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistFootstepSprint"]["spotted"] = var_01; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistFootstepSprint"]["hidden"] = var_01; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistNewEnemy"]["spotted"] = var_01; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistNewEnemy"]["hidden"] = var_01; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistGunShot"]["spotted"] = 6000; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistGunShot"]["hidden"] = 6000; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistExplosion"]["spotted"] = 6000; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistExplosion"]["hidden"] = 6000; +} + +//Function Number: 40 +init_detection_distance_setting(param_00,param_01) +{ + level._cloaked_stealth_settings.visibility_distance[param_00]["prone"] = param_01; + level._cloaked_stealth_settings.visibility_distance[param_00]["crouch"] = param_01; + level._cloaked_stealth_settings.visibility_distance[param_00]["stand"] = param_01; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistDeath"] = []; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistPain"] = []; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistBullet"] = []; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistFootstep"] = []; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistFootstepWalk"] = []; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistFootstepSprint"] = []; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistNewEnemy"] = []; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistGunShot"] = []; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistExplosion"] = []; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistDeath"]["spotted"] = param_01; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistDeath"]["hidden"] = param_01; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistPain"]["spotted"] = param_01; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistPain"]["hidden"] = param_01; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistBullet"]["spotted"] = param_01; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistBullet"]["hidden"] = param_01; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistFootstep"]["spotted"] = param_01; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistFootstep"]["hidden"] = param_01; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistFootstepWalk"]["spotted"] = param_01; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistFootstepWalk"]["hidden"] = param_01; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistFootstepSprint"]["spotted"] = param_01; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistFootstepSprint"]["hidden"] = param_01; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistNewEnemy"]["spotted"] = param_01; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistNewEnemy"]["hidden"] = param_01; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistGunShot"]["spotted"] = 6000; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistGunShot"]["hidden"] = 6000; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistExplosion"]["spotted"] = 6000; + level._cloaked_stealth_settings.event_distance[param_00]["ai_eventDistExplosion"]["hidden"] = 6000; +} + +//Function Number: 41 +init_uncloaked_detection_distance_setting_for_shadow(param_00) +{ + var_01 = 225; + level._cloaked_stealth_settings.visibility_distance["shadow"][param_00]["prone"] = var_01 * 0.6; + level._cloaked_stealth_settings.visibility_distance["shadow"][param_00]["crouch"] = var_01 * 0.8; + level._cloaked_stealth_settings.visibility_distance["shadow"][param_00]["stand"] = var_01; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistDeath"] = []; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistPain"] = []; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistBullet"] = []; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistFootstep"] = []; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistFootstepWalk"] = []; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistFootstepSprint"] = []; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistNewEnemy"] = []; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistGunShot"] = []; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistExplosion"] = []; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistDeath"]["spotted"] = var_01; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistDeath"]["hidden"] = var_01; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistPain"]["spotted"] = var_01; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistPain"]["hidden"] = var_01; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistBullet"]["spotted"] = var_01; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistBullet"]["hidden"] = var_01; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistFootstep"]["spotted"] = var_01; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistFootstep"]["hidden"] = var_01; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistFootstepWalk"]["spotted"] = var_01; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistFootstepWalk"]["hidden"] = var_01; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistFootstepSprint"]["spotted"] = var_01; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistFootstepSprint"]["hidden"] = var_01; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistNewEnemy"]["spotted"] = var_01; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistNewEnemy"]["hidden"] = var_01; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistGunShot"]["spotted"] = 6000; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistGunShot"]["hidden"] = 6000; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistExplosion"]["spotted"] = 6000; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistExplosion"]["hidden"] = 6000; +} + +//Function Number: 42 +init_detection_distance_setting_for_shadow(param_00,param_01) +{ + level._cloaked_stealth_settings.visibility_distance["shadow"][param_00]["prone"] = param_01; + level._cloaked_stealth_settings.visibility_distance["shadow"][param_00]["crouch"] = param_01; + level._cloaked_stealth_settings.visibility_distance["shadow"][param_00]["stand"] = param_01; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistDeath"] = []; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistPain"] = []; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistBullet"] = []; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistFootstep"] = []; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistFootstepWalk"] = []; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistFootstepSprint"] = []; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistNewEnemy"] = []; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistGunShot"] = []; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistExplosion"] = []; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistDeath"]["spotted"] = param_01; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistDeath"]["hidden"] = param_01; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistPain"]["spotted"] = param_01; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistPain"]["hidden"] = param_01; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistBullet"]["spotted"] = param_01; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistBullet"]["hidden"] = param_01; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistFootstep"]["spotted"] = param_01; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistFootstep"]["hidden"] = param_01; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistFootstepWalk"]["spotted"] = param_01; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistFootstepWalk"]["hidden"] = param_01; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistFootstepSprint"]["spotted"] = param_01; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistFootstepSprint"]["hidden"] = param_01; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistNewEnemy"]["spotted"] = param_01; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistNewEnemy"]["hidden"] = param_01; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistGunShot"]["spotted"] = 6000; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistGunShot"]["hidden"] = 6000; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistExplosion"]["spotted"] = 6000; + level._cloaked_stealth_settings.event_distance["shadow"][param_00]["ai_eventDistExplosion"]["hidden"] = 6000; +} + +//Function Number: 43 +init_computed_detection_distance_setting(param_00) +{ + var_01 = get_detection_distance_for_player_speed(param_00); + init_detection_distance_setting(param_00,var_01); + init_detection_distance_setting_for_shadow(param_00,var_01 * 0.5); +} + +//Function Number: 44 +init_cloaked_stealth_detection_range() +{ + level._cloaked_stealth_settings.visibility_distance = []; + level._cloaked_stealth_settings.event_distance = []; + init_computed_detection_distance_setting(0); + init_computed_detection_distance_setting(50); + init_computed_detection_distance_setting(100); + init_computed_detection_distance_setting(150); + init_computed_detection_distance_setting(200); + init_computed_detection_distance_setting(250); + init_computed_detection_distance_setting(300); + init_computed_detection_distance_setting(350); + init_computed_detection_distance_setting(400); + init_uncloaked_detection_distance_setting(1000); + init_uncloaked_detection_distance_setting_for_shadow(1000); +} + +//Function Number: 45 +set_corpse_detection_ranges_for_cloak_system() +{ + var_00["player_dist"] = 0; + var_00["sight_dist"] = 0; + var_00["detect_dist"] = 0; + maps\_stealth_utility::stealth_corpse_ranges_custom(var_00); +} + +//Function Number: 46 +debug_monitor_for_all_cloaked_stealth_enemies(param_00,param_01) +{ + var_02 = 1; + for(;;) + { + if(isdefined(level._cloak_enemy_array)) + { + level._cloak_enemy_array = maps\_utility::array_removedead(level._cloak_enemy_array); + foreach(var_04 in level._cloak_enemy_array) + { + var_04 thread maps\_stealth_debug::stealth_enemy_minimal_debug_monitor(); + if(isdefined(param_01) && param_01 == 1) + { + var_04 thread show_detailed_cloak_enemy_state(); + } + + if(isdefined(param_00) && param_00 == 1) + { + var_04 thread maps\_stealth_debug::last_known_position_monitor(); + } + } + } + + wait(var_02); + } +} + +//Function Number: 47 +show_detailed_cloak_enemy_state() +{ + self notify("show_detailed_cloak_enemy_state"); + self endon("show_detailed_cloak_enemy_state"); + self endon("death"); + for(;;) + { + if(isdefined(self._cloak_enemy_state)) + { + var_00 = ""; + if(self._cloak_enemy_state == "default_stealth_state") + { + if(isdefined(self._stealth.debug_state)) + { + var_00 = self._stealth.debug_state; + } + else + { + var_00 = "unknown state"; + } + } + else + { + var_00 = self._cloak_enemy_state; + } + } + + wait(0.05); + } +} + +//Function Number: 48 +is_player_cloaked() +{ + return level._cloaked_stealth_settings.cloak_on; +} + +//Function Number: 49 +set_cloak_on_model() +{ + self drawpostresolve(); + self setmaterialscriptparam(0,0.3); +} + +//Function Number: 50 +set_event_distance(param_00,param_01) +{ + setsaveddvar(param_00,param_01); + var_02 = "ai_busyEvent" + getsubstr(param_00,8); + setsaveddvar(var_02,param_01); +} + +//Function Number: 51 +override_event_distances_for_mute_volume() +{ + set_event_distance("ai_eventDistDeath",1); + set_event_distance("ai_eventDistPain",1); + set_event_distance("ai_eventDistBullet",1); + set_event_distance("ai_eventDistFootstep",1); + set_event_distance("ai_eventDistFootstepWalk",1); + set_event_distance("ai_eventDistFootstepSprint",1); + set_event_distance("ai_eventDistNewEnemy",1); + set_event_distance("ai_eventDistGunShot",1); + set_event_distance("ai_eventDistExplosion",1); +} + +//Function Number: 52 +activate_mute_volume(param_00,param_01) +{ + if(!level.player maps\_utility::ent_flag_exist("_stealth_in_mute_radius")) + { + level.player maps\_utility::ent_flag_init("_stealth_in_mute_radius"); + } + + var_02 = 0.05; + var_03 = self; + var_04 = param_00 * param_00; + var_05 = param_01; + for(;;) + { + var_05 = var_05 - var_02; + if(var_05 < 0) + { + level.player maps\_utility::ent_flag_clear("_stealth_in_mute_radius"); + maps\_stealth_visibility_system::system_default_event_distances(); + maps\_stealth_visibility_system::system_event_change(level._stealth.logic.detection_level); + return; + } + + if(!isdefined(var_03)) + { + level.player maps\_utility::ent_flag_clear("_stealth_in_mute_radius"); + maps\_stealth_visibility_system::system_default_event_distances(); + maps\_stealth_visibility_system::system_event_change(level._stealth.logic.detection_level); + return; + } + + var_06 = distancesquared(var_03.origin,level.player.origin); + if(var_06 < var_04) + { + mute_event_distances(); + maps\_stealth_visibility_system::system_event_change(level._stealth.logic.detection_level); + level.player maps\_utility::ent_flag_set("_stealth_in_mute_radius"); + } + else + { + maps\_stealth_visibility_system::system_default_event_distances(); + maps\_stealth_visibility_system::system_event_change(level._stealth.logic.detection_level); + level.player maps\_utility::ent_flag_clear("_stealth_in_mute_radius"); + } + + wait(var_02); + } +} + +//Function Number: 53 +mute_event_distances() +{ + var_00["ai_eventDistDeath"] = []; + var_00["ai_eventDistPain"] = []; + var_00["ai_eventDistExplosion"] = []; + var_00["ai_eventDistBullet"] = []; + var_00["ai_eventDistFootstep"] = []; + var_00["ai_eventDistFootstepWalk"] = []; + var_00["ai_eventDistFootstepSprint"] = []; + var_00["ai_eventDistGunShot"] = []; + var_00["ai_eventDistGunShotTeam"] = []; + var_00["ai_eventDistNewEnemy"] = []; + var_00["ai_eventDistDeath"]["spotted"] = getdvar("ai_eventDistDeath"); + var_00["ai_eventDistDeath"]["hidden"] = 1; + var_00["ai_eventDistPain"]["spotted"] = getdvar("ai_eventDistPain"); + var_00["ai_eventDistPain"]["hidden"] = 1; + var_00["ai_eventDistExplosion"]["spotted"] = 4000; + var_00["ai_eventDistExplosion"]["hidden"] = 1; + var_00["ai_eventDistBullet"]["spotted"] = 96; + var_00["ai_eventDistBullet"]["hidden"] = 1; + var_00["ai_eventDistFootstep"]["spotted"] = 1; + var_00["ai_eventDistFootstep"]["hidden"] = 1; + var_00["ai_eventDistFootstepWalk"]["spotted"] = 256; + var_00["ai_eventDistFootstepWalk"]["hidden"] = 1; + var_00["ai_eventDistFootstepSprint"]["spotted"] = 400; + var_00["ai_eventDistFootstepSprint"]["hidden"] = 1; + var_00["ai_eventDistGunShot"]["spotted"] = 2048; + var_00["ai_eventDistGunShot"]["hidden"] = 1; + var_00["ai_eventDistGunShotTeam"]["spotted"] = 750; + var_00["ai_eventDistGunShotTeam"]["hidden"] = 1; + var_00["ai_eventDistNewEnemy"]["spotted"] = 750; + var_00["ai_eventDistNewEnemy"]["hidden"] = 1; + maps\_stealth_visibility_system::system_set_event_distances(var_00); +} + +//Function Number: 54 +setalertstencilstate(param_00) +{ + if(isdefined(param_00)) + { + setsaveddvar("r_hudoutlinecloaklumscale",0); + thread maps\_utility::lerp_saveddvar("r_hudoutlinecloaklumscale",0.75,param_00); + } + else + { + setsaveddvar("r_hudoutlinecloaklumscale",0.75); + } + + setsaveddvar("r_hudoutlinewidth",1); + setsaveddvar("r_hudoutlinepostmode",4); + setsaveddvar("r_hudoutlinecloakblurradius",0.35); + self hudoutlineenable(6,1); +} + +//Function Number: 55 +clearalertstencilstate() +{ + if(isdefined(self)) + { + self hudoutlinedisable(); + self hudoutlineenable(0,0); + self hudoutlinedisable(); + setsaveddvar("r_hudoutlinewidth",1); + } +} + +//Function Number: 56 +clearstencilstateondeath() +{ + if(isdefined(self)) + { + self hudoutlinedisable(); + self hudoutlineenable(0,0); + } +} + +//Function Number: 57 +setalertstencilstate_axis() +{ + self endon("death"); + setsaveddvar("r_hudoutlinewidth",1); + self hudoutlineenable(4,1); +} + +//Function Number: 58 +temp_cloak_gauge() +{ + var_00 = 620; + var_01 = 240; + var_02 = 156; + var_03 = int(10); + var_04 = newhudelem(); + var_04.x = var_00 - 0.5 * 20 - var_03; + var_04.y = var_01 - int(40); + var_04.alignx = "right"; + var_04.aligny = "bottom"; + var_04.horzalign = "fullscreen"; + var_04.vertalign = "fullscreen"; + var_04.color = (0.1,0.6,0.1); + var_04 setshader("white",var_03,int(var_02 * level._cloaked_stealth_settings.cloak_battery_level)); + var_05 = newhudelem(); + var_05.x = var_00; + var_05.y = var_01; + var_05.alignx = var_04.alignx; + var_05.aligny = var_04.aligny; + var_05.horzalign = var_04.horzalign; + var_05.vertalign = var_04.vertalign; + var_05.color = (1,1,1); + var_05 setshader("hud_temperature_gauge",20,200); + var_06 = 0.05; + for(;;) + { + if(isdefined(level._cloaked_stealth_settings.battery_hud_is_visible) && level._cloaked_stealth_settings.battery_hud_is_visible == 1) + { + var_04.alpha = 1; + var_05.alpha = 1; + var_07 = level._cloaked_stealth_settings.cloak_battery_level; + var_04 scaleovertime(var_06,var_03,int(var_02 * var_07)); + if(var_07 > 0.5) + { + var_04.color = (0.1,0.6,0.1); + } + else if(var_07 > 0.2) + { + var_04.color = (1,1,0.1); + } + else + { + var_04.color = (1,0.1,0.1); + } + } + else + { + var_04.alpha = 0; + var_05.alpha = 0; + } + + wait(var_06); + } +} \ No newline at end of file diff --git a/AW/PC/maps/_cloak_enemy_behavior.gsc b/AW/PC/maps/_cloak_enemy_behavior.gsc new file mode 100644 index 0000000..2671677 --- /dev/null +++ b/AW/PC/maps/_cloak_enemy_behavior.gsc @@ -0,0 +1,452 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _cloak_enemy_behavior.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 18 + * Decompile Time: 286 ms + * Timestamp: 4/22/2024 2:20:17 AM +*******************************************************************/ + +//Function Number: 1 +cloak_enemy_reset_behavior() +{ + self endon("death"); + self endon("_stealth_enemy_alert_level_change"); + wait(randomfloatrange(1,7)); + self._stealth.logic.threat_level = "reset"; + self._cloak_enemy_state = "default_stealth_state"; + maps\_stealth_threat_enemy::enemy_alert_level_normal(); +} + +//Function Number: 2 +cloak_enemy_reset_behavior_mech() +{ + self endon("death"); + self endon("_stealth_enemy_alert_level_change"); + wait(randomfloatrange(1,7)); + self._stealth.logic.threat_level = "reset"; + self._cloak_enemy_state = "default_stealth_state"; + maps\_stealth_threat_enemy::enemy_alert_level_normal(); +} + +//Function Number: 3 +cloak_enemy_warning1_behavior_mech() +{ + self endon("death"); + self endon("_stealth_enemy_alert_level_change"); + self._stealth.logic.threat_level = "warning1"; + thread maps\_stealth_threat_enemy::enemy_announce_alert(); + if(isdefined(self.enemy)) + { + var_00 = self lastknownpos(self.enemy); + maps\_utility::ent_flag_set("_stealth_override_goalpos"); + self setgoalpos(var_00); + self.goalradius = 36; + self._cloak_enemy_state = "Path 2 LKP"; + self waittill("goal"); + self._cloak_enemy_state = "Looking around LKP"; + maps\_stealth_threat_enemy::enemy_lookaround_for_time(randomfloatrange(2,4)); + self._cloak_enemy_state = "Unknown"; + self.shootposoverride = undefined; + } +} + +//Function Number: 4 +cloak_enemy_warning1_behavior() +{ + self endon("death"); + self endon("_stealth_enemy_alert_level_change"); + self._stealth.logic.threat_level = "warning1"; + thread maps\_stealth_threat_enemy::enemy_announce_alert(); + if(isdefined(self.script_patroller)) + { + var_00 = "a"; + if(common_scripts\utility::cointoss()) + { + var_00 = "b"; + } + + maps\_stealth_shared_utilities::stealth_set_run_anim("_stealth_patrol_search_" + var_00,1); + self.disablearrivals = 1; + self.disableexits = 1; + } + + if(isdefined(self.enemy)) + { + var_01 = self lastknownpos(self.enemy); + maps\_utility::ent_flag_set("_stealth_override_goalpos"); + self setgoalpos(var_01); + self.goalradius = 36; + self._cloak_enemy_state = "Path 2 LKP"; + self waittill("goal"); + self._cloak_enemy_state = "Looking around LKP"; + maps\_stealth_threat_enemy::enemy_lookaround_for_time(randomfloatrange(2,4)); + self._cloak_enemy_state = "Unknown"; + self.shootposoverride = undefined; + } +} + +//Function Number: 5 +cloak_enemy_warning2_behavior() +{ + self endon("death"); + self endon("_stealth_enemy_alert_level_change"); + self._stealth.logic.threat_level = "warning2"; + maps\_stealth_threat_enemy::enemy_alert_level_warning2(); +} + +//Function Number: 6 +_investigate_last_known_position_with_endons() +{ + self endon("death"); + self endon("_stealth_enemy_alert_level_change"); + self.pathrandompercent = 50; + self.goalradius = 64; + maps\_utility::ent_flag_set("_stealth_override_goalpos"); + self setgoalpos(level._stealth.logic.lastknownposition); + self._cloak_enemy_state = "Path 2 LKP"; + self waittill("goal"); + self._cloak_enemy_state = "Looking around LKP"; + maps\_stealth_threat_enemy::enemy_lookaround_for_time(randomfloatrange(2,4)); +} + +//Function Number: 7 +_investigate_last_known_position_wrapper() +{ + level._stealth.logic.last_known_position_claimed = 1; + _investigate_last_known_position_with_endons(); + level._stealth.logic.last_known_position_claimed = 0; + if(isdefined(self)) + { + self.investigating_last_known_position = 0; + } +} + +//Function Number: 8 +cloak_enemy_attack_behavior_mech() +{ + self endon("death"); + self endon("_stealth_enemy_alert_level_change"); + self._stealth.logic.threat_level = "attack"; + self._stealth.logic.has_entered_attack_behavior = 1; + thread maps\_mech::mech_hunt_stealth_behavior(); +} + +//Function Number: 9 +cloak_enemy_fast_attack_behavior() +{ + var_00 = 10; + self endon("death"); + self endon("_stealth_enemy_alert_level_change"); + self._stealth.logic.threat_level = "attack"; + self._cloak_enemy_state = "fast_attack"; + thread maps\_stealth_shared_utilities::enemy_announce_spotted(self.origin); + if(isdefined(self.enemy)) + { + self.enemy_who_surprised_me = self.enemy; + self.dontmelee = 1; + self.disablereactionanims = 1; + animscripts\shoot_behavior::decidewhatandhowtoshoot("normal"); + wait(var_00); + self.disablereactionanims = 0; + self.dontmelee = undefined; + if(isdefined(self.mech)) + { + self.dontmelee = 1; + } + + self.enemy_who_surprised_me = undefined; + } + + if(isdefined(self.script_goalvolume)) + { + thread maps\_spawner::set_goal_volume(); + return; + } + + maps\_stealth_threat_enemy::enemy_close_in_on_target(); +} + +//Function Number: 10 +cloak_enemy_investigative_attack_behavior() +{ + self endon("death"); + self endon("_stealth_enemy_alert_level_change"); + self._stealth.logic.threat_level = "attack"; + self._cloak_enemy_state = "investigative_attack"; + self._stealth.logic.has_entered_attack_behavior = 1; + thread maps\_stealth_shared_utilities::enemy_announce_spotted(self.origin); + while(isdefined(self.enemy)) + { + if(!isdefined(level._stealth.logic.last_known_position_claimed) || !level._stealth.logic.last_known_position_claimed) + { + foreach(var_01 in level._stealth.group.groups) + { + if(isdefined(common_scripts\utility::array_find(var_01,self))) + { + level._stealth.logic.lastknownposition = self lastknownpos(self.enemy); + if(isarray(var_01)) + { + var_01 = maps\_utility::array_removedead(var_01); + var_02 = sortbydistance(var_01,level._stealth.logic.lastknownposition); + if(isdefined(var_02)) + { + var_02[0] thread _investigate_last_known_position_wrapper(); + var_02[0].investigating_last_known_position = 1; + } + } + } + } + + while(isdefined(self.investigating_last_known_position) && self.investigating_last_known_position) + { + wait(0.05); + } + + wait(0.1); + continue; + } + + var_05 = getentarray("info_v_stealth","targetname"); + if(isdefined(var_05)) + { + foreach(var_07 in var_05) + { + if(ispointinvolume(level._stealth.logic.lastknownposition,var_07)) + { + self cleargoalvolume(); + self setgoalvolumeauto(var_07); + wait(1); + break; + } + else + { + self._cloak_enemy_state = "Thinking"; + wait(randomfloatrange(0.2,1)); + } + } + } + else + { + } + + self._cloak_enemy_state = "Pathing to Cover"; + self waittill("goal"); + self._cloak_enemy_state = "In Cover"; + wait(1); + } +} + +//Function Number: 11 +cloak_enemy_attack_behavior() +{ + var_00 = 180; + var_01 = 0; + if(isdefined(self.enemy)) + { + var_02 = self.enemy.origin; + var_03 = self.origin; + if(distance2dsquared(var_03,var_02) < var_00 * var_00) + { + var_01 = 1; + } + } + + if(var_01) + { + cloak_enemy_fast_attack_behavior(); + return; + } + + if(isdefined(self.mech) && self.mech) + { + self.goalradius = 1024; + self setgoalpos(self lastknownpos(self.enemy)); + wait(randomfloatrange(0.5,1.5)); + self setgoalpos(self.origin); + cloak_enemy_attack_behavior_mech(); + return; + } + + if(randomfloatrange(0,1) < 0.33) + { + maps\_utility::enable_cqbwalk(); + } + + cloak_enemy_investigative_attack_behavior(); +} + +//Function Number: 12 +cloak_enemy_normal_behavior_mech() +{ + self endon("death"); + self endon("_stealth_enemy_alert_level_change"); + self notify("stop_hunting"); + self._stealth.logic.threat_level = "normal"; + cloak_enemy_reset_behavior_mech(); +} + +//Function Number: 13 +cloak_enemy_normal_behavior() +{ + self endon("death"); + self endon("_stealth_enemy_alert_level_change"); + self._stealth.logic.threat_level = "normal"; + cloak_enemy_reset_behavior(); +} + +//Function Number: 14 +cloak_enemy_state_hidden() +{ + self.fovcosine = 0.5; + self.fovcosinebusy = 0.1; + self.favoriteenemy = undefined; + self.dontattackme = 1; + self.dontevershoot = 1; + thread maps\_utility::set_battlechatter(0); + self.diequietly = 1; + self clearenemy(); +} + +//Function Number: 15 +cloak_enemy_state_spotted(param_00) +{ + self.fovcosine = 0.01; + self.ignoreall = 0; + self.dontattackme = undefined; + self.dontevershoot = undefined; + if(isdefined(self.oldfixednode)) + { + self.fixednode = self.oldfixednode; + } + + thread maps\_utility::set_battlechatter(1); + self.diequietly = 0; + if(!isdefined(param_00)) + { + maps\_utility::clear_run_anim(); + maps\_stealth_shared_utilities::enemy_stop_current_behavior(); + } + + if(isdefined(param_00)) + { + } +} + +//Function Number: 16 +cloak_enemy_default_setup() +{ + if(isplayer(self)) + { + maps\_stealth_visibility_friendly::stealth_visibility_friendly_main(); + return; + } + + self._cloak_enemy_state = "default_stealth_state"; + maps\_stealth_utility::stealth_plugin_basic(); + self.pathrandompercent = 0; + maps\_stealth_utility::stealth_plugin_threat(); + if(isdefined(self.mech)) + { + var_00["reset"] = ::cloak_enemy_reset_behavior_mech; + var_00["attack"] = ::cloak_enemy_attack_behavior; + var_00["normal"] = ::cloak_enemy_normal_behavior_mech; + var_01 = []; + var_01["reset"] = ::maps\_stealth_animation_funcs::enemy_animation_nothing; + var_01["warning"] = ::maps\_stealth_animation_funcs::enemy_animation_nothing; + var_01["attack"] = ::maps\_stealth_animation_funcs::enemy_animation_nothing; + maps\_stealth_utility::stealth_threat_behavior_custom(var_00,var_01); + } + else + { + var_01["reset"] = ::cloak_enemy_reset_behavior; + var_01["attack"] = ::cloak_enemy_attack_behavior; + var_01["normal"] = ::cloak_enemy_normal_behavior; + var_01 = []; + var_01["reset"] = ::maps\_stealth_animation_funcs::enemy_animation_nothing; + var_01["warning"] = ::maps\_stealth_animation_funcs::enemy_animation_nothing; + var_01["attack"] = ::maps\_stealth_animation_funcs::enemy_animation_nothing; + maps\_stealth_utility::stealth_threat_behavior_custom(var_00,var_01); + } + + maps\_stealth_utility::stealth_enable_seek_player_on_spotted(); + maps\_stealth_utility::stealth_plugin_corpse(); + maps\_stealth_utility::stealth_plugin_event_all(); + maps\_stealth_event_enemy::stealth_event_mod("heard_alarm",::heard_alarm_reaction_behavior,::maps\_stealth_animation_funcs::enemy_animation_generic); + self.baseaccuracy = 2; + self.fovcosine = 0.5; + self.fovcosinebusy = 0.1; + var_02 = []; + if(isdefined(self.mech)) + { + var_02["hidden"] = ::cloak_enemy_state_hidden; + var_02["spotted"] = ::cloak_enemy_state_spotted; + } + else + { + var_02["hidden"] = ::cloak_enemy_state_hidden; + var_02["spotted"] = ::cloak_enemy_state_spotted; + } + + maps\_stealth_utility::stealth_basic_states_custom(var_02); + if(!isdefined(level._cloak_enemy_array)) + { + level._cloak_enemy_array = []; + } + + level._cloak_enemy_array[level._cloak_enemy_array.size] = self; + self setthreatbiasgroup("cloak_enemy_npcs"); + maps\_utility::enable_surprise(); +} + +//Function Number: 17 +cqb_investigate_behavior(param_00) +{ + self endon("_stealth_enemy_alert_level_change"); + level endon("_stealth_spotted"); + self endon("_stealth_attack"); + self endon("death"); + self endon("pain_death"); + self.disablearrivals = 0; + self.disableexits = 0; + var_01 = distance(param_00.origin,self.origin); + self setgoalnode(param_00); + self.goalradius = var_01 * 0.5; + wait(0.05); + maps\_utility::set_generic_run_anim("_stealth_patrol_cqb"); + self._stealth.debug_state = "Investigate-CQB"; + self waittill("goal"); + if(!common_scripts\utility::flag("_stealth_spotted") && !isdefined(self.enemy) || !self cansee(self.enemy)) + { + maps\_stealth_shared_utilities::enemy_runto_and_lookaround(param_00); + } +} + +//Function Number: 18 +heard_alarm_reaction_behavior(param_00) +{ + self endon("death"); + self endon("pain_death"); + level endon("_stealth_spotted"); + self endon("_stealth_attack"); + if(!common_scripts\utility::flag("_stealth_spotted") && !maps\_utility::ent_flag("_stealth_attack")) + { + var_01 = self._stealth.logic.event.awareness_param[param_00]; + var_02 = maps\_stealth_shared_utilities::enemy_find_free_pathnode_near(var_01,300,40); + thread maps\_stealth_shared_utilities::enemy_announce_wtf(); + if(isdefined(var_02)) + { + thread cqb_investigate_behavior(var_02); + } + } + + var_03 = maps\_stealth_shared_utilities::group_get_flagname("_stealth_spotted"); + if(common_scripts\utility::flag(var_03)) + { + common_scripts\utility::flag_waitopen(var_03); + return; + } + + self waittill("normal"); +} \ No newline at end of file diff --git a/AW/PC/SP/maps/_colors.gsc b/AW/PC/maps/_colors.gsc similarity index 99% rename from AW/PC/SP/maps/_colors.gsc rename to AW/PC/maps/_colors.gsc index eb09838..b4b54a3 100644 --- a/AW/PC/SP/maps/_colors.gsc +++ b/AW/PC/maps/_colors.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_colors.gsc + * Decompiled File: _colors.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 73 - * Decompile Time: 1133 ms - * Timestamp: 10/27/2023 1:58:26 AM + * Decompile Time: 1197 ms + * Timestamp: 4/22/2024 2:20:21 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_compass.gsc b/AW/PC/maps/_compass.gsc similarity index 95% rename from AW/PC/SP/maps/_compass.gsc rename to AW/PC/maps/_compass.gsc index 12b399e..1e4cebc 100644 --- a/AW/PC/SP/maps/_compass.gsc +++ b/AW/PC/maps/_compass.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_compass.gsc + * Decompiled File: _compass.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 1:58:27 AM + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 2:20:21 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/_controlled_orbiting_drone.gsc b/AW/PC/maps/_controlled_orbiting_drone.gsc new file mode 100644 index 0000000..a38d21b --- /dev/null +++ b/AW/PC/maps/_controlled_orbiting_drone.gsc @@ -0,0 +1,601 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _controlled_orbiting_drone.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 36 + * Decompile Time: 572 ms + * Timestamp: 4/22/2024 2:20:23 AM +*******************************************************************/ + +//Function Number: 1 +precacheassets_and_initflags() +{ + precacheshader("white_multiply"); + precachestring(&"LAGOS_FLY_DRONE_CONTROL"); + common_scripts\utility::flag_init("FlagPlayerEndDroneControl"); + common_scripts\utility::flag_init("FlagPlayerEndDroneStatic"); + common_scripts\utility::flag_init("FlagSniperDroneAnimating"); + common_scripts\utility::flag_init("FlagSniperDroneLookAt"); + common_scripts\utility::flag_init("FlagForcePlayerADS"); + common_scripts\utility::flag_init("FlagHadesVehicleDriveStart"); +} + +//Function Number: 2 +initializesniperdronedata() +{ + var_00 = spawnstruct(); + var_00.droneangularvelocity = 0; + var_00.droneverticalvelocity = 0; + var_00.calculatenewhoverdestination = 1; + var_00.dronehoverdirection = (0,0,-1); + var_00.hoverspeed = 0.5; + var_00.lasthoveroffset = (0,0,0); + var_00.hoverbounceconeangle = 10; + var_00.currentvelocity = (0,0,0); + var_00.targetangularacceleration = 0; + var_00.stickhorizontalinputlength = 0; + var_00.brakingcurrenttime = 0; + var_00.bodyrollvelocity = (0,0,0); + var_00.framerollacceleration = (0,0,0); + var_00.barrelrollacceleration = (0,0,0); + var_00.frameviewmodeloffset = (0,0,0); + var_00.barrelviewmodeloffset = (0,0,0); + var_00.horizontaloffsetstrafe = 0; + var_00.verticaloffsetstrafe = 0; + var_00.horizontaloffsetlook = 0; + var_00.verticaloffsetlook = 0; + return var_00; +} + +//Function Number: 3 +initdroneflyinturnrate() +{ + setsaveddvar("aim_turnrate_pitch",30); + setsaveddvar("aim_turnrate_pitch_ads",25); + setsaveddvar("aim_turnrate_yaw",60); + setsaveddvar("aim_turnrate_yaw_ads",40); + setsaveddvar("aim_accel_turnrate_lerp",300); +} + +//Function Number: 4 +initdroneturnrate() +{ + setsaveddvar("aim_turnrate_pitch",70); + setsaveddvar("aim_turnrate_pitch_ads",55); + setsaveddvar("aim_turnrate_yaw",125); + setsaveddvar("aim_turnrate_yaw_ads",90); + setsaveddvar("aim_accel_turnrate_lerp",600); +} + +//Function Number: 5 +savedefaultturnrate() +{ + self.aim_turnrate_pitch = getdvarint("aim_turnrate_pitch"); + self.aim_turnrate_pitch_ads = getdvarint("aim_turnrate_pitch_ads"); + self.aim_turnrate_yaw = getdvarint("aim_turnrate_yaw"); + self.aim_turnrate_yaw_ads = getdvarint("aim_turnrate_yaw_ads"); + self.aim_accel_turnrate_lerp = getdvarint("aim_accel_turnrate_lerp"); +} + +//Function Number: 6 +restoredefaultturnrate() +{ + setsaveddvar("aim_turnrate_pitch",self.aim_turnrate_pitch); + setsaveddvar("aim_turnrate_pitch_ads",self.aim_turnrate_pitch_ads); + setsaveddvar("aim_turnrate_yaw",self.aim_turnrate_yaw); + setsaveddvar("aim_turnrate_yaw_ads",self.aim_turnrate_yaw_ads); + setsaveddvar("aim_accel_turnrate_lerp",self.aim_accel_turnrate_lerp); +} + +//Function Number: 7 +startdronecontrol(param_00,param_01,param_02,param_03,param_04,param_05) +{ + level endon("drone_control_complete"); + maps\_shg_utility::hide_player_hud(); + var_06 = distance2d(param_00.origin,param_01.origin); + var_07 = vectortoangles(param_01.origin - param_00.origin); + level.player disableweapons(); + level.player disableweaponswitch(); + level.player disableoffhandweapons(); + level.player allowcrouch(0); + var_08 = initializesniperdronedata(); + var_09 = common_scripts\utility::spawn_tag_origin(); + level.player.sniperdronelink = var_09; + level.player.sniperdronedata = var_08; + initorbitlowerbounds(param_00.origin,param_05); + var_0A = sniperdroneoverlays(); + childthread updateflyinscopeoverlay(var_0A["scope"],param_01.origin[2]); + level.player.sniperdronelink savedefaultturnrate(); + if(param_03) + { + var_09 initdroneflyinturnrate(); + common_scripts\utility::flag_wait("drone_fly_anim_done"); + } + else + { + level.player setplayerangles(vectortoangles(param_02.origin - param_01.origin)); + } + + initdroneturnrate(); + calculateinitialposition(param_01,param_00,var_07,var_06); + thread hintsniperdronemove(); + soundscripts\_snd::snd_message("fly_drone_camera_start_2",var_09,level.player); + var_0B = var_09.origin; + var_0C = 0; + var_0D = 0; + level.fly_drone_rumbling = 0; + var_0E = 1; + while(isdefined(level.player.sniperdronelink)) + { + if(common_scripts\utility::flag("FlagPlayerEndDroneStatic") || common_scripts\utility::flag("FlagSniperDroneAnimating") || common_scripts\utility::flag("FlagSniperDroneLookAt")) + { + wait 0.05; + continue; + } + + var_08.droneangularvelocity = updatehorizontalvelocity(); + var_08.droneverticalvelocity = updateverticalvelocity(); + var_0F = angleclamp(var_0C + var_08.droneangularvelocity * 0.05); + var_10 = combineangles((0,var_0F,0),var_07); + var_11 = var_0D + var_08.droneverticalvelocity * 0.05; + var_11 = clamp(var_11,-15,15); + var_12 = var_0B; + var_13 = param_00.origin + (0,0,var_11); + var_0B = var_13 + anglestoforward(var_10) * var_06; + var_14 = clamppositiontolowerbounds(var_0B,param_00.origin); + var_0B = (var_0B[0],var_0B[1],var_0B[2] + var_14); + var_11 = var_11 + var_14; + var_0F = clampyaworbitoffset(var_0B,param_00.origin,var_07); + var_09.origin = var_0B; + var_08.currentvelocity = var_0B - var_12; + if(length(var_08.currentvelocity) <= 0.6) + { + level notify("fly_drone_not_moving"); + } + else if(level.fly_drone_rumbling == 0) + { + thread maps\lagos_utility::rumble_flydrone_control(); + } + + var_15 = vectortoangles(var_13 - var_0B); + var_15 = var_15 * (0,1,0); + var_09.angles = var_15; + var_0C = var_0F; + var_0D = var_11; + if(var_0E) + { + var_16 = 0.75; + level.player unlink(); + var_17 = level.player getorigin(); + var_18 = level.player getplayerangles(); + var_19 = 0; + var_1A = level.player common_scripts\utility::spawn_tag_origin(); + while(var_19 <= var_16) + { + var_1B = var_19 / var_16; + var_1A.origin = vectorlerp(var_17,var_09.origin,var_1B); + var_1A.angles = vectorlerp(var_18,var_09.angles,var_1B); + level.player playerlinktodelta(var_1A,"tag_origin",1,10,10,10,30,1); + wait 0.05; + var_19 = var_19 + 0.05; + } + + level.player playerlinktodelta(var_09,"tag_origin",1,10,10,10,30,1); + var_0E = 0; + } + + wait 0.05; + } +} + +//Function Number: 8 +sniperdroneoverlays() +{ + var_00 = []; + var_00["scope"] = createoverlay("white_multiply",0); + return var_00; +} + +//Function Number: 9 +initorbitlowerbounds(param_00,param_01) +{ + level.player.sniperdronedata.orbitlowerbounds = maps\_sarray::sarray_spawn(); + for(var_02 = 0;var_02 < param_01.size;var_02++) + { + if(!isdefined(param_01[var_02])) + { + continue; + } + + var_03 = vectortoangles(param_00 - param_01[var_02].origin); + param_01[var_02].orbitangle = var_03[1]; + level.player.sniperdronedata.orbitlowerbounds maps\_sarray::sarray_push(param_01[var_02]); + } + + maps\_sarray::sarray_sort_by_handler(level.player.sniperdronedata.orbitlowerbounds,maps\_sarray::sarray_create_func_obj(::compareorbitangle)); +} + +//Function Number: 10 +calculateinitialposition(param_00,param_01,param_02,param_03) +{ + level.player.sniperdronelink.angles = vectortoangles(param_01.origin - param_00.origin) * (0,1,0); +} + +//Function Number: 11 +clamplookangle(param_00) +{ + if(param_00 > 180) + { + return param_00 - 360; + } + + if(param_00 < -180) + { + return param_00 + 360; + } + + return param_00; +} + +//Function Number: 12 +getlookpitch() +{ + var_00 = level.player getplayerangles(); + return clamplookangle(var_00[0]); +} + +//Function Number: 13 +getlookyaw() +{ + var_00 = level.player getplayerangles(); + return clamplookangle(var_00[1]) - clamplookangle(level.player.sniperdronelink.angles[1]); +} + +//Function Number: 14 +clearmovementparameters() +{ + level.player.sniperdronedata.bodyrollvelocity = (0,0,0); + level.player.sniperdronedata.bodyrollvelocity = (0,0,0); + level.player.sniperdronedata.framerollacceleration = (0,0,0); + level.player.sniperdronedata.barrelrollacceleration = (0,0,0); + level.player.sniperdronedata.targetangularacceleration = 0; + level.player.sniperdronedata.droneangularvelocity = 0; + level.player.sniperdronedata.droneverticalvelocity = 0; +} + +//Function Number: 15 +lerpplayerlook(param_00) +{ + var_01 = level.player getplayerangles(); + var_02 = 0; + while(var_02 <= 1) + { + var_03 = euler_lerp(var_01,param_00,var_02); + level.player setplayerangles(var_03); + var_02 = var_02 + 0.1; + wait(0.05); + } +} + +//Function Number: 16 +updateflyinscopeoverlay(param_00,param_01) +{ + while(isdefined(level.player.sniperdronelink)) + { + var_02 = level.player.sniperdronelink.angles; + wait(0.05); + if(!common_scripts\utility::flag("FlagSniperDroneAnimating") && !common_scripts\utility::flag("FlagSniperDroneLookAt")) + { + continue; + } + + var_03 = level.player.sniperdronelink.origin[2] - param_01; + var_04 = var_02[1] - level.player.sniperdronelink.angles[1]; + var_04 = clamp(var_04,-1,1); + var_05 = level.player.sniperdronelink.angles[0]; + if(common_scripts\utility::flag("FlagSniperDroneLookAt")) + { + var_05 = getlookpitch(); + } + } +} + +//Function Number: 17 +hintsniperdronemove() +{ + wait(1); + thread notifyonplayermovingsniperdrone(); + maps\_utility::hintdisplayhandler("move_fly_drone",5); +} + +//Function Number: 18 +move_fly_drone_check() +{ + level.player endon("death"); + if(level.player getnormalizedmovement() != 0) + { + return 1; + } + + return 0; +} + +//Function Number: 19 +notifyonplayermovingsniperdrone() +{ + for(;;) + { + var_00 = level.player getnormalizedmovement(); + if(length(var_00) != 0) + { + level.player notify("sniperdrone_moving"); + break; + } + + wait(0.05); + } +} + +//Function Number: 20 +enddronecontrol() +{ + level.player.sniperdronelink restoredefaultturnrate(); + wait(0.75); + level notify("drone_control_complete"); + level.player.sniperdronelink = undefined; + wait(0.25); +} + +//Function Number: 21 +iscontrollingdrone() +{ + return isdefined(level.player.sniperdronelink); +} + +//Function Number: 22 +createoverlay(param_00,param_01) +{ + var_02 = newclienthudelem(level.player); + var_02.x = 0; + var_02.y = 0; + var_02.alignx = "left"; + var_02.aligny = "top"; + var_02.horzalign = "fullscreen"; + var_02.vertalign = "fullscreen"; + var_02 setshader(param_00,640,480); + var_02.alpha = param_01; + var_02.sort = -3; + return var_02; +} + +//Function Number: 23 +compareorbitangle(param_00,param_01) +{ + return param_00.orbitangle < param_01.orbitangle; +} + +//Function Number: 24 +settargetangularacceleration(param_00) +{ + if(abs(level.player.sniperdronedata.targetangularacceleration) > abs(param_00)) + { + return; + } + + level.player.sniperdronedata.targetangularacceleration = param_00; +} + +//Function Number: 25 +updatetargetangularacceleration() +{ + if(!isdefined(level.player.sniperdronedata)) + { + return; + } + + level.player.sniperdronedata.targetangularacceleration = level.player.sniperdronedata.targetangularacceleration * 0.95; +} + +//Function Number: 26 +updatevelocity(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + var_09 = clamp(abs(param_01),0,1); + var_0A = 0; + if(param_02 * param_01 < 0) + { + if(level.player adsbuttonpressed() || common_scripts\utility::flag("FlagForcePlayerADS")) + { + var_0A = param_08 * param_01; + } + else + { + var_0A = param_07 * param_01; + } + } + + param_02 = param_02 + param_03 * param_01 + var_0A; + param_02 = clamp(param_02,-1 * param_04,param_04); + if(isdefined(param_00)) + { + updatetargetangularacceleration(); + param_00.stickhorizontalinputlength = var_09; + if(var_09 > 0) + { + param_00.targetangularacceleration = param_03 * param_01; + param_00.brakingcurrenttime = 0; + } + } + + if(var_09 == 0) + { + var_0B = param_02; + if(level.player adsbuttonpressed() || common_scripts\utility::flag("FlagForcePlayerADS")) + { + param_02 = param_02 * param_06; + } + else + { + param_02 = param_02 * param_05; + } + + if(isdefined(param_00)) + { + settargetangularacceleration(var_0B - param_02 * -1); + } + } + + return param_02; +} + +//Function Number: 27 +scalevelocity(param_00) +{ + if(level.player adsbuttonpressed() || common_scripts\utility::flag("FlagForcePlayerADS")) + { + param_00 = param_00 * 0.85; + } + + if(level.player adsbuttonpressed() && level.player enemyincrosshairs()) + { + param_00 = param_00 * 0.85; + } + + return param_00; +} + +//Function Number: 28 +updatehorizontalvelocity() +{ + var_00 = maps\lagos_utility::calculateleftstickdeadzone(); + var_01 = updatevelocity(level.player.sniperdronedata,var_00[1],level.player.sniperdronedata.droneangularvelocity,1.25,35,0.9,0.4,10,8); + return scalevelocity(var_01); +} + +//Function Number: 29 +updateverticalvelocity() +{ + var_00 = maps\lagos_utility::calculateleftstickdeadzone(); + var_01 = updatevelocity(undefined,var_00[0],level.player.sniperdronedata.droneverticalvelocity,5,10,0.75,0.4,150,125); + return scalevelocity(var_01); +} + +//Function Number: 30 +clamppositiontolowerbounds(param_00,param_01) +{ + var_02 = vectortoangles(param_01 - param_00); + var_03 = level.player.sniperdronedata.orbitlowerbounds maps\_sarray::sarray_length() - 1; + var_04 = 0; + for(var_04 = 0;var_04 < level.player.sniperdronedata.orbitlowerbounds maps\_sarray::sarray_length();var_04++) + { + if(var_02[1] < level.player.sniperdronedata.orbitlowerbounds maps\_sarray::sarray_get(var_04).orbitangle) + { + break; + } + + var_03 = var_04; + } + + var_04 = var_04 % level.player.sniperdronedata.orbitlowerbounds maps\_sarray::sarray_length(); + var_05 = level.player.sniperdronedata.orbitlowerbounds maps\_sarray::sarray_get(var_03).orbitangle; + var_06 = level.player.sniperdronedata.orbitlowerbounds maps\_sarray::sarray_get(var_04).orbitangle; + if(var_05 > var_06) + { + var_05 = var_05 - 360; + } + + var_07 = abs(var_02[1] - var_05) / abs(var_06 - var_05); + var_08 = level.player.sniperdronedata.orbitlowerbounds maps\_sarray::sarray_get(var_03).origin; + var_09 = level.player.sniperdronedata.orbitlowerbounds maps\_sarray::sarray_get(var_04).origin; + var_0A = var_08[2] + var_09[2] - var_08[2] * var_07; + if(param_00[2] < var_0A) + { + return var_0A - param_00[2]; + } + + return 0; +} + +//Function Number: 31 +clampyaworbitoffset(param_00,param_01,param_02) +{ + var_03 = vectortoangles(param_00 - param_01 * (1,1,0)); + var_03 = var_03 - param_02; + return var_03[1]; +} + +//Function Number: 32 +calculatehoverlocation(param_00,param_01) +{ + level endon("drone_control_complete"); + var_02 = param_00 + level.player.sniperdronedata.dronehoverdirection * 2; + return vectornormalize(var_02 - level.player.sniperdronelink.origin) * level.player.sniperdronedata.hoverspeed; +} + +//Function Number: 33 +updatehoverspeed(param_00) +{ + level endon("drone_control_complete"); + var_01 = param_00 + level.player.sniperdronedata.dronehoverdirection * 2; + var_02 = 10; + var_03 = length(var_01 - level.player.sniperdronelink.origin); + if(var_03 > var_02) + { + level.player.sniperdronedata.hoverspeed = level.player.sniperdronedata.hoverspeed + 0.5; + level.player.sniperdronedata.hoverspeed = clamp(level.player.sniperdronedata.hoverspeed,-0.5,0.5); + return; + } + + var_04 = maps\_shg_utility::linear_map_clamp(var_03,0,var_02,0,1); + level.player.sniperdronedata.hoverspeed = maps\_utility::linear_interpolate(var_04,0.25,0.5); +} + +//Function Number: 34 +updatehoveridle(param_00) +{ + level endon("drone_control_complete"); + if(level.player maps\_utility::isads()) + { + level.player.sniperdronedata.calculatenewhoverdestination = 1; + } + else if(abs(level.player.sniperdronedata.droneangularvelocity) > 0.05 || abs(level.player.sniperdronedata.droneverticalvelocity) > 0.05) + { + level.player.sniperdronedata.calculatenewhoverdestination = 1; + level.player.sniperdronedata.hoverbounceconeangle = 5; + level.player.sniperdronedata.dronehoverdirection = vectornormalize(level.player.sniperdronedata.currentvelocity) * -1; + } + else if(level.player.sniperdronedata.calculatenewhoverdestination) + { + level.player.sniperdronedata.calculatenewhoverdestination = 0; + level.player.sniperdronedata.dronehoverdirection = common_scripts\utility::randomvectorincone(level.player.sniperdronedata.dronehoverdirection * -1,level.player.sniperdronedata.hoverbounceconeangle); + level.player.sniperdronedata.dronehoverdirection = vectornormalize(level.player.sniperdronedata.dronehoverdirection); + level.player.sniperdronedata.hoverbounceconeangle = 10; + level.player.sniperdronedata.hoverspeed = 0; + return calculatehoverlocation(param_00); + } + else + { + updatehoverspeed(param_00); + var_01 = param_00 + level.player.sniperdronedata.dronehoverdirection * 2; + if(lengthsquared(level.player.sniperdronelink.origin - var_01) < squared(3)) + { + level.player.sniperdronedata.calculatenewhoverdestination = 1; + } + + return calculatehoverlocation(param_00); + } + + return (0,0,0); +} + +//Function Number: 35 +angle_lerp(param_00,param_01,param_02) +{ + return angleclamp(param_00 + angleclamp180(param_01 - param_00) * param_02); +} + +//Function Number: 36 +euler_lerp(param_00,param_01,param_02) +{ + return (angle_lerp(param_00[0],param_01[0],param_02),angle_lerp(param_00[1],param_01[1],param_02),angle_lerp(param_00[2],param_01[2],param_02)); +} \ No newline at end of file diff --git a/AW/PC/maps/_controlled_sniperdrone.gsc b/AW/PC/maps/_controlled_sniperdrone.gsc new file mode 100644 index 0000000..13b7aa9 --- /dev/null +++ b/AW/PC/maps/_controlled_sniperdrone.gsc @@ -0,0 +1,1458 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _controlled_sniperdrone.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 76 + * Decompile Time: 1142 ms + * Timestamp: 4/22/2024 2:20:27 AM +*******************************************************************/ + +//Function Number: 1 +precacheassets() +{ + precacheshader("white_multiply"); + precacheshader("overlay_static_digital"); + precacheshader("sentinel_drone_scanlines"); + precacheshader("sentinel_drone_overlay_distort"); + precacheshader("ugv_vignette_overlay"); + precacheshader("remote_chopper_overlay_scratches"); + precacheshader("wasp_screencrack"); + precacheitem("hms_sniperdrone"); + precacheshellshock("barrett"); + precachestring(&"sniper_drone_hud"); + precachestring(&"sniper_drone_hud_update"); + maps\_utility::add_control_based_hint_strings("drone_move",&"GREECE_HINT_DRONE_MOVE",::hintdronemoveoff,&"GREECE_HINT_DRONE_MOVE_KB",&"GREECE_HINT_DRONE_MOVE_SP"); + maps\_utility::add_control_based_hint_strings("drone_shoot",&"GREECE_HINT_DRONE_JUSTSHOOT",::hintdroneshootoff); + precachestring(&"GREECE_WARN_DRONE_DRYFIRE"); + precachestring(&"GREECE_WARN_INCOMING_MISSILE"); + precachemodel("vehicle_sniper_drone_outerparts"); + precachemodel("vehicle_sniper_drone_outerparts_cloak"); + precachemodel("vehicle_vm_sniper_drone"); + precachemodel("vehicle_vm_sniper_drone_cloak"); + precachemodel("vehicle_sniper_drone_hud_glass"); + precachemodel("vehicle_sniper_drone_hud_glass_break"); +} + +//Function Number: 2 +initializesniperdronedata() +{ + var_00 = spawnstruct(); + var_00.droneangularvelocity = 0; + var_00.droneverticalvelocity = 0; + var_00.calculatenewhoverdestination = 1; + var_00.dronehoverdirection = (0,0,-1); + var_00.hoverspeed = 1; + var_00.lasthoveroffset = (0,0,0); + var_00.hoverbounceconeangle = 120; + var_00.lastrecoiloffset = (0,0,0); + var_00.recoildirection = (0,0,0); + var_00.currentvelocity = (0,0,0); + var_00.targetangularacceleration = 0; + var_00.stickhorizontalinputlength = 0; + var_00.brakingcurrenttime = 0; + var_00.bodyrollvelocity = (0,0,0); + var_00.framerollacceleration = (0,0,0); + var_00.barrelrollacceleration = (0,0,0); + var_00.frameviewmodeloffset = (0,0,0); + var_00.barrelviewmodeloffset = (0,0,0); + var_00.horizontaloffsetstrafe = 0; + var_00.verticaloffsetstrafe = 0; + var_00.horizontaloffsetlook = 0; + var_00.verticaloffsetlook = 0; + var_00.dronesattackspeedmultiplier = 0.9; + return var_00; +} + +//Function Number: 3 +alerthighlighthudeffect(param_00) +{ + level.player notify("AlertHudEffect"); + level.player endon("AlertHudEffect"); + var_01 = newclienthudelem(level.player); + var_01.color = (1,0.05,0.025); + var_01.alpha = 1; + var_01 setradarhighlight(param_00); + return var_01; +} + +//Function Number: 4 +initdroneflyinturnrate() +{ + setsaveddvar("aim_turnrate_pitch",30); + setsaveddvar("aim_turnrate_pitch_ads",25); + setsaveddvar("aim_turnrate_yaw",60); + setsaveddvar("aim_turnrate_yaw_ads",40); + setsaveddvar("aim_accel_turnrate_lerp",300); +} + +//Function Number: 5 +initdroneturnrate() +{ + setsaveddvar("aim_turnrate_pitch",70); + setsaveddvar("aim_turnrate_pitch_ads",55); + setsaveddvar("aim_turnrate_yaw",125); + setsaveddvar("aim_turnrate_yaw_ads",90); + setsaveddvar("aim_accel_turnrate_lerp",600); +} + +//Function Number: 6 +savedefaultturnrate() +{ + self.aim_turnrate_pitch = getdvarint("aim_turnrate_pitch"); + self.aim_turnrate_pitch_ads = getdvarint("aim_turnrate_pitch_ads"); + self.aim_turnrate_yaw = getdvarint("aim_turnrate_yaw"); + self.aim_turnrate_yaw_ads = getdvarint("aim_turnrate_yaw_ads"); + self.aim_accel_turnrate_lerp = getdvarint("aim_accel_turnrate_lerp"); +} + +//Function Number: 7 +restoredefaultturnrate() +{ + setsaveddvar("aim_turnrate_pitch",self.aim_turnrate_pitch); + setsaveddvar("aim_turnrate_pitch_ads",self.aim_turnrate_pitch_ads); + setsaveddvar("aim_turnrate_yaw",self.aim_turnrate_yaw); + setsaveddvar("aim_turnrate_yaw_ads",self.aim_turnrate_yaw_ads); + setsaveddvar("aim_accel_turnrate_lerp",self.aim_accel_turnrate_lerp); +} + +//Function Number: 8 +startdronecontrol(param_00,param_01,param_02,param_03,param_04,param_05) +{ + var_06 = getdvarfloat("g_friendlyNameDist"); + setomnvar("ui_sniperdrone",1); + maps\_shg_utility::hide_player_hud(); + setsaveddvar("compass","1"); + common_scripts\utility::create_dvar("SniperDrone_Hide",0); + var_07 = level.player getcurrentweapon(); + var_08 = getdvarint("cg_fov",65) * getdvarfloat("cg_playerFovScale0",1); + var_09 = distance2d(param_00.origin,param_01.origin); + var_0A = vectortoangles(param_01.origin - param_00.origin); + level.player hideviewmodel(); + level.player disableweaponswitch(); + level.player disableoffhandweapons(); + level.player allowcrouch(0); + var_0B = initializesniperdronedata(); + var_0C = common_scripts\utility::spawn_tag_origin(); + level.player.sniperdronelink = var_0C; + level.player.sniperdronedata = var_0B; + initorbitlowerbounds(param_00.origin,param_05); + soundscripts\_snd::snd_message("start_sniper_drone"); + level.droneweapon = "hms_sniperdrone"; + level.player giveweapon(level.droneweapon); + level.player switchtoweaponimmediate(level.droneweapon); + level.variable_scope_weapons = ["hms_sniperdrone"]; + maps\_hms_utility::printlnscreenandconsole("Drone is now armed with " + level.droneweapon); + var_0B.frameviewmodel = spawn("script_model",var_0C.origin); + var_0B.frameviewmodel setmodel("vehicle_sniper_drone_outerparts_cloak"); + var_0B.frameviewmodel linktoplayerview(level.player,"tag_origin",(13,0,-3),(0,0,0),1); + var_0C.frameviewmodel = var_0B.frameviewmodel; + var_0B.frameviewmodel childthread viewmodelanimupdate(%sniper_drone_outerparts_idle,%sniper_drone_outerparts_fire); + var_0B.frameviewmodel thread sniperdronecloak(); + var_0B.barrelviewmodel = spawn("script_model",var_0C.origin); + var_0B.barrelviewmodel setmodel("vehicle_vm_sniper_drone_cloak"); + var_0B.barrelviewmodel linktoplayerview(level.player,"tag_origin",(-1,0,-1.75),(0,0,0),1); + var_0C.barrelviewmodel = var_0B.barrelviewmodel; + var_0B.barrelviewmodel childthread viewmodelanimupdate(%sniper_drone_vm_idle,%sniper_drone_vm_fire); + var_0B.barrelviewmodel thread sniperdronecloak(); + if(!level.currentgen) + { + var_0B.lensviewmodel = spawn("script_model",var_0C.origin); + var_0B.lensviewmodel setmodel("vehicle_sniper_drone_hud_glass"); + var_0B.lensviewmodel linktoplayerview(level.player,"tag_origin",(9,0,0),(0,0,0),1); + childthread sniperdronelensdamaged(); + } + + playfxontag(common_scripts\utility::getfx("sniper_drone_thruster_view"),var_0B.barrelviewmodel,"TAG_ORIGIN"); + playfxontag(common_scripts\utility::getfx("sniper_drone_wind_marker"),var_0B.barrelviewmodel,"TAG_ORIGIN"); + setsaveddvar("cg_drawBreathHint",0); + var_0D = sniperdroneoverlays(); + var_0E = alerthighlighthudeffect(3600); + level.player enableweapons(); + level.player enableinvulnerability(); + childthread dofiringeffects(); + childthread doadsblur(param_04); + childthread adjustfov(param_04,var_0D["black_sides"],var_0D["tech"]); + childthread adjustshadowcenter(param_04); + childthread cameralookatescapevehicle(param_00,var_0A,var_09); + childthread updateflyinscopeoverlay(var_0D["scope"],param_01.origin[2]); + childthread updateviewmodelvisibility(); + if(!param_04) + { + thread disabledronefiringatstart(param_03); + } + + level.player.sniperdronelink savedefaultturnrate(); + if(param_03) + { + var_0C initdroneflyinturnrate(); + maps\greece_conf_center::sniperdroneflyin(var_0C); + level.player playerlinktodelta(var_0C,"tag_origin",0,90,90,20,60,1); + var_0F = var_0C.angles; + var_10 = vectortoangles(param_00.origin - param_01.origin) * (0,1,0); + var_11 = 0; + while(var_11 <= 1) + { + wait(0.05); + var_11 = var_11 + 0.1; + var_12 = euler_lerp(var_0F * (1,0,0),var_10 * (1,0,0),var_11) * (1,0,0); + var_0C.angles = (var_12[0],var_0C.angles[1],var_0C.angles[2]); + } + + var_11 = 0; + while(var_11 <= 1) + { + wait(0.05); + var_11 = var_11 + 0.2; + var_13 = euler_lerp(var_0F * (0,1,0),var_10 * (0,1,0),var_11) * (0,1,0); + var_0C.angles = (var_0C.angles[0],var_13[1],var_0C.angles[2]); + } + } + else + { + level.player setplayerangles(vectortoangles(param_02.origin - param_01.origin)); + } + + initdroneturnrate(); + calculateinitialposition(param_01.origin,param_00,var_0A,var_09); + level.player playerlinktodelta(var_0C,"tag_origin",1,90,90,20,60,1); + var_14 = var_0C.origin; + var_15 = 0; + var_16 = 0; + setsaveddvar("g_friendlyNameDist",15000); + while(isdefined(level.player.sniperdronelink)) + { + wait(0.05); + if(common_scripts\utility::flag("FlagPlayerEndDroneStatic") || common_scripts\utility::flag("FlagSniperDroneAnimating") || common_scripts\utility::flag("FlagSniperDroneLookAt")) + { + continue; + } + + setomnvar("ui_sniperdrone",1); + updatescopeoverlay(var_0D["scope"],var_16,param_04); + updatedronesattackspeedmultiplier(); + var_0B.droneangularvelocity = updatehorizontalvelocity(); + var_0B.droneverticalvelocity = updateverticalvelocity(); + var_17 = angleclamp(var_15 + var_0B.droneangularvelocity * 0.05); + var_18 = combineangles((0,var_17,0),var_0A); + var_19 = var_16 + var_0B.droneverticalvelocity * 0.05; + var_19 = clamp(var_19,-900,900); + var_1A = var_14; + var_1B = param_00.origin + (0,0,var_19); + var_14 = var_1B + anglestoforward(var_18) * var_09; + var_1C = clamppositiontolowerbounds(var_14,param_00.origin); + var_14 = (var_14[0],var_14[1],var_14[2] + var_1C); + var_19 = var_19 + var_1C; + var_17 = clampyaworbitoffset(var_14,param_00.origin,var_0A); + var_1D = updatehoveridle(var_14); + var_0B.lasthoveroffset = var_0B.lasthoveroffset + var_1D; + var_1E = updaterecoiloffset(); + var_0C.origin = var_14 + var_0B.lasthoveroffset + var_1E; + var_0B.currentvelocity = var_14 - var_1A; + var_1F = vectortoangles(var_1B - var_14); + var_1F = var_1F * (0,1,0); + var_1F = updatebodyroll(var_1F); + var_0C.angles = var_1F; + var_15 = var_17; + var_16 = var_19; + } + + setsaveddvar("sm_sunShadowCenter","0 0 0"); + setsaveddvar("sm_lightScore_eyeProjectDist",64); + setsaveddvar("sv_znear","0"); + common_scripts\utility::flag_set("init_safehouse_outro_start_lighting"); + level.player disableinvulnerability(); + level.player enableweaponswitch(); + level.player enableoffhandweapons(); + level.player allowads(1); + level.player allowcrouch(1); + level.player takeweapon(level.droneweapon); + maps\_shg_utility::show_player_hud(); + foreach(var_21 in var_0D) + { + var_21 destroy(); + } + + var_0E destroy(); + var_0B.frameviewmodel unlinkfromplayerview(level.player); + var_0B.barrelviewmodel unlinkfromplayerview(level.player); + if(!level.currentgen) + { + var_0B.damagedlensviewmodel unlinkfromplayerview(level.player); + } + + level.player unlink(); + maps\_utility::teleport_player(common_scripts\utility::getstruct("PlayerStartConfCenter","targetname")); + level.player showviewmodel(); + level.player lerpfov(var_08,0.5); + level.player disablefocus(2); + level.player disableaudiozoom(1); + setsaveddvar("cg_drawBreathHint",1); + setsaveddvar("g_friendlyNameDist",var_06); + soundscripts\_snd::snd_message("stop_sniper_drone"); + level.player switchtoweaponimmediate(var_07); +} + +//Function Number: 9 +sniperdronecloak() +{ + self drawpostresolve(); + self setmaterialscriptparam(0,0); + common_scripts\utility::flag_wait("FlagSniperDroneCloakOff"); + self drawpostresolveoff(); + self setmaterialscriptparam(1,1); +} + +//Function Number: 10 +sniperdroneoverlays() +{ + var_00 = []; + var_00["scope"] = createoverlay("white_multiply",0); + var_00["static"] = createoverlay("overlay_static_digital",0.01); + var_00["scanlines"] = createoverlay("sentinel_drone_scanlines",0); + var_00["distort"] = createoverlay("sentinel_drone_overlay_distort",0); + var_00["scratches"] = createoverlay("remote_chopper_overlay_scratches",0); + childthread flickerstaticoverlay(var_00["static"],"FlagPlayerStartDroneFlight",0.1,2.5,0,0.1); + childthread flickerstaticoverlay(var_00["scanlines"],"FlagSniperDroneFlinch",0.5,7.5,0,0.25); + childthread flickerstaticoverlay(var_00["static"],"FlagSniperDroneFlinch",0.25,2.5); + childthread adjuststaticoverlay(var_00["scratches"],"FlagSniperDroneFlinch",1,undefined,0.5); + thread sniperdronemissilewarnmsg(); + childthread flickerstaticoverlay(var_00["scanlines"],"FlagSniperDroneHit",0.75,5,0,0.25); + childthread flickerstaticoverlay(var_00["static"],"FlagSniperDroneHit",0.5,5); + childthread adjuststaticoverlay(var_00["static"],"FlagPlayerEndDroneStatic",1); + childthread flickerstaticoverlay(var_00["scanlines"],"FlagPlayerEndDroneStatic",0.75,1); + return var_00; +} + +//Function Number: 11 +viewmodelanimupdate(param_00,param_01) +{ + self useanimtree(#animtree); + var_02 = getanimlength(param_01); + var_03 = 0; + while(isdefined(level.player.sniperdronelink)) + { + if(!var_03) + { + self setanimknob(param_00); + level.player waittill("weapon_fired"); + } + + self setanimknobrestart(param_01); + var_03 = 0; + if(!isdefined(waittillplayerfireortime(var_02))) + { + var_03 = 1; + } + } +} + +//Function Number: 12 +waittillplayerfireortime(param_00) +{ + level.player endon("weapon_fired"); + wait(param_00); + return 1; +} + +//Function Number: 13 +disabledronefiringatstart(param_00) +{ + level.player allowfire(0); + if(param_00 == 1) + { + common_scripts\utility::flag_wait("FlagPlayerEndDroneFlight"); + } + + thread sniperdronedryfire("FlagOkayToShootDrone"); + wait(1); + hintsniperdronemove(); + common_scripts\utility::flag_wait("FlagOkayToShootDrone"); + level notify("SniperdroneSafetyOff"); + level.player allowfire(1); + wait(0.05); + thread maps\greece_code::warning_fade(); + hintsniperdroneshoot(); +} + +//Function Number: 14 +disabledronefiringafterkill() +{ + level.player allowfire(0); + thread sniperdronedryfire("FlagConfRoomAlliesRecover"); + common_scripts\utility::flag_wait("FlagConfRoomAlliesRecover"); + level notify("SniperdroneSafetyOff"); + level.player allowfire(1); + wait(0.05); + thread maps\greece_code::warning_fade(); +} + +//Function Number: 15 +disabledronefiringduringcrash() +{ + level.player allowfire(0); + level.player allowads(0); + thread sniperdronebadfire(); +} + +//Function Number: 16 +sniperdronedryfire(param_00) +{ + level endon("SniperdroneSafetyOff"); + while(!common_scripts\utility::flag(param_00)) + { + if(level.player attackbuttonpressed()) + { + soundscripts\_snd::snd_message("sniper_drone_dry_fire"); + thread sniperdronedryfiremsg(); + } + + wait 0.05; + } + + thread maps\greece_code::warning_fade(); +} + +//Function Number: 17 +sniperdronedryfiremsg() +{ + thread maps\greece_code::warning(&"GREECE_WARN_DRONE_DRYFIRE"); + wait(3); + thread maps\greece_code::warning_fade(); +} + +//Function Number: 18 +sniperdronemissilewarnmsg() +{ + common_scripts\utility::flag_wait("FlagHadesVehicleDroneLaunch"); + thread maps\greece_code::warning(&"GREECE_WARN_INCOMING_MISSILE",undefined,60,2); + common_scripts\utility::flag_wait("FlagSniperDroneHit"); + thread maps\greece_code::warning_fade(); +} + +//Function Number: 19 +sniperdronebadfire() +{ + level endon("EndDroneControl"); + while(!common_scripts\utility::flag("FlagPlayerEndDroneControl")) + { + if(level.player attackbuttonpressed()) + { + soundscripts\_snd::snd_message("sniper_drone_dmg_fire"); + } + + wait 0.05; + } +} + +//Function Number: 20 +initorbitlowerbounds(param_00,param_01) +{ + level.player.sniperdronedata.orbitlowerbounds = maps\_sarray::sarray_spawn(); + for(var_02 = 0;var_02 < param_01.size;var_02++) + { + if(!isdefined(param_01[var_02])) + { + continue; + } + + var_03 = vectortoangles(param_00 - param_01[var_02].origin); + param_01[var_02].orbitangle = var_03[1]; + level.player.sniperdronedata.orbitlowerbounds maps\_sarray::sarray_push(param_01[var_02]); + } + + maps\_sarray::sarray_sort_by_handler(level.player.sniperdronedata.orbitlowerbounds,maps\_sarray::sarray_create_func_obj(::compareorbitangle)); +} + +//Function Number: 21 +calculateinitialposition(param_00,param_01,param_02,param_03) +{ + level.player.sniperdronelink.origin = param_01.origin + anglestoforward(param_02) * param_03; + level.player.sniperdronelink.angles = vectortoangles(param_01.origin - param_00) * (0,1,0); +} + +//Function Number: 22 +clamplookangle(param_00) +{ + if(param_00 > 180) + { + return param_00 - 360; + } + + if(param_00 < -180) + { + return param_00 + 360; + } + + return param_00; +} + +//Function Number: 23 +getlookpitch() +{ + var_00 = level.player getplayerangles(); + return clamplookangle(var_00[0]); +} + +//Function Number: 24 +getlookyaw() +{ + var_00 = level.player getplayerangles(); + return clamplookangle(var_00[1]) - clamplookangle(level.player.sniperdronelink.angles[1]); +} + +//Function Number: 25 +clearmovementparameters() +{ + level.player.sniperdronedata.bodyrollvelocity = (0,0,0); + level.player.sniperdronedata.bodyrollvelocity = (0,0,0); + level.player.sniperdronedata.framerollacceleration = (0,0,0); + level.player.sniperdronedata.barrelrollacceleration = (0,0,0); + level.player.sniperdronedata.targetangularacceleration = 0; + level.player.sniperdronedata.droneangularvelocity = 0; + level.player.sniperdronedata.droneverticalvelocity = 0; +} + +//Function Number: 26 +lerpplayerlook(param_00) +{ + var_01 = level.player getplayerangles(); + var_02 = 0; + while(var_02 <= 1) + { + var_03 = euler_lerp(var_01,param_00,var_02); + level.player setplayerangles(var_03); + var_02 = var_02 + 0.1; + wait(0.05); + } +} + +//Function Number: 27 +updateviewmodelvisibility() +{ + level.player endon("death"); + level endon("end_sniper_drone"); + var_00 = 0; + for(;;) + { + wait(0.05); + if(getdvarint("SniperDrone_Hide") == 1 && !var_00) + { + level.player.sniperdronedata.frameviewmodel hide(); + level.player.sniperdronedata.barrelviewmodel hide(); + if(isdefined(level.player.sniperdronedata.lensviewmodel)) + { + level.player.sniperdronedata.lensviewmodel hide(); + } + + var_00 = 1; + continue; + } + + if(getdvarint("SniperDrone_Hide") == 0 && var_00) + { + level.player.sniperdronedata.frameviewmodel show(); + level.player.sniperdronedata.barrelviewmodel show(); + if(isdefined(level.player.sniperdronedata.lensviewmodel)) + { + level.player.sniperdronedata.lensviewmodel show(); + } + + var_00 = 0; + } + } +} + +//Function Number: 28 +cameralookatescapevehicle(param_00,param_01,param_02) +{ + level.player endon("death"); + level endon("end_sniper_drone"); + common_scripts\utility::flag_wait("FlagHadesVehicleDroneLaunch"); + var_03 = getvehiclenode("HadesEscapeVehicleStart","targetname"); + common_scripts\utility::flag_set("FlagSniperDroneLookAt"); + level.player allowads(0); + var_04 = (0,0,0); + foreach(var_06 in level.allenemyvehicles) + { + if(isdefined(var_06.escapevehicle)) + { + var_04 = var_06.origin; + } + } + + var_08 = vectortoangles(var_04 - level.player.sniperdronelink.origin); + clearmovementparameters(); + lerpplayerlook(var_08); + common_scripts\utility::flag_clear("FlagSniperDroneLookAt"); +} + +//Function Number: 29 +updateflyinscopeoverlay(param_00,param_01) +{ + while(isdefined(level.player.sniperdronelink)) + { + var_02 = level.player.sniperdronelink.angles; + wait(0.05); + if(!common_scripts\utility::flag("FlagSniperDroneAnimating") && !common_scripts\utility::flag("FlagSniperDroneLookAt")) + { + continue; + } + + var_03 = level.player.sniperdronelink.origin[2] - param_01; + var_04 = var_02[1] - level.player.sniperdronelink.angles[1]; + var_04 = clamp(var_04,-1,1); + updatescopeoverlayalpha(0,param_00); + luinotifyevent(&"sniper_drone_hud_update",8,int(maps\_utility::round_float(var_04 * 100,0,0)),0,int(var_03),0,0,int(param_00.alpha * 10),0,gettime()); + var_05 = level.player.sniperdronelink.angles[0]; + if(common_scripts\utility::flag("FlagSniperDroneLookAt")) + { + var_05 = getlookpitch(); + } + + updateviewmodelpitchoffset(var_05); + level.player.sniperdronedata.frameviewmodel unlinkfromplayerview(level.player); + level.player.sniperdronedata.frameviewmodel linktoplayerview(level.player,"tag_origin",level.player.sniperdronedata.frameviewmodeloffset,(0,0,0),1); + level.player.sniperdronedata.barrelviewmodel unlinkfromplayerview(level.player); + level.player.sniperdronedata.barrelviewmodel linktoplayerview(level.player,"tag_origin",level.player.sniperdronedata.barrelviewmodeloffset,(0,0,0),1); + } +} + +//Function Number: 30 +hintsniperdronemove() +{ + thread notifyonplayermovingsniperdrone(); + thread maps\_utility::hintdisplaymintimehandler("drone_move",15,5); +} + +//Function Number: 31 +hintdronemoveoff() +{ + if(isdefined(level.playermovingdrone) && level.playermovingdrone == 1) + { + return level.playermovingdrone; + } + else if(common_scripts\utility::flag("FlagGateGuardsAtAllyVehicle")) + { + return 1; + } + + return 0; +} + +//Function Number: 32 +notifyonplayermovingsniperdrone() +{ + for(;;) + { + var_00 = level.player getnormalizedmovement(); + if(length(var_00) != 0) + { + level.playermovingdrone = 1; + break; + } + + wait(0.05); + } +} + +//Function Number: 33 +hintsniperdroneshoot() +{ + thread maps\_utility::hintdisplaymintimehandler("drone_shoot",10,3); +} + +//Function Number: 34 +hintdroneshootoff() +{ + return level.player attackbuttonpressed(); +} + +//Function Number: 35 +dofiringeffects() +{ + level endon("end_sniper_drone"); + level.player endon("death"); + var_00 = common_scripts\utility::getfx("sniper_drone_flash_view"); + var_01 = common_scripts\utility::getfx("sniper_drone_tracer"); + var_02 = level.player common_scripts\utility::spawn_tag_origin(); + var_02 linktoplayerview(level.player,"tag_origin",(0,0,-5),(0,0,0),1); + while(level.droneweapon == "hms_sniperdrone") + { + level.player waittill("weapon_fired"); + level.player shellshock("barrett",0.3); + level.player.sniperdronedata.recoildirection = anglestoforward(level.player getgunangles()) * -1; + level.player.sniperdronedata.calculatenewhoverdestination = 1; + level.player.sniperdronedata.lastrecoiloffset = (0,0,0); + if(level.player adsbuttonpressed()) + { + var_03 = level.player geteye(); + var_04 = anglestoforward(level.player getgunangles()); + var_05 = var_03 + var_04 * 100; + var_06 = var_03 + var_04 * 5000; + var_07 = bullettrace(var_05,var_06,1,undefined,0,1); + var_08 = var_03 - (0,0,5); + var_09 = var_07["position"] - var_08; + playfx(var_01,var_08,var_09,(0,0,1)); + screenshake(level.player.origin,0.25,0,0,0.2,0.1,0.1,0,0.5); + continue; + } + + playfxontag(var_00,level.player.sniperdronedata.barrelviewmodel,"tag_flash"); + playfxontag(var_01,level.player.sniperdronedata.barrelviewmodel,"tag_flash"); + } +} + +//Function Number: 36 +updaterecoiloffset(param_00) +{ + if(level.player.sniperdronedata.recoildirection != (0,0,0)) + { + var_01 = level.player.sniperdronedata.recoildirection * 250; + level.player.sniperdronedata.recoildirection = (0,0,0); + level.player.sniperdronedata.lastrecoiloffset = var_01; + return var_01; + } + + if(level.player.sniperdronedata.lastrecoiloffset == (0,0,0)) + { + return (0,0,0); + } + + level.player.sniperdronedata.lastrecoiloffset = vectorlerp(level.player.sniperdronedata.lastrecoiloffset,(0,0,0),0.1); + return level.player.sniperdronedata.lastrecoiloffset; +} + +//Function Number: 37 +isadsenabled(param_00) +{ + if(common_scripts\utility::flag("FlagHadesVehicleDroneLaunch") || common_scripts\utility::flag("FlagConfRoomExplosion")) + { + return 0; + } + + if(!param_00 && !common_scripts\utility::flag("FlagMonitorZoomOnHades") && !common_scripts\utility::flag("FlagGateGuardsApproachingAllyVehicle") && !common_scripts\utility::flag("FlagConfRoomExplosion") && !common_scripts\utility::flag("FlagHadesVehicleDroneLaunch")) + { + return 0; + } + + return 1; +} + +//Function Number: 38 +doadsblur(param_00) +{ + level.player endon("death"); + level endon("end_sniper_drone"); + var_01 = level.player adsbuttonpressed(); + for(;;) + { + wait(0.05); + if(common_scripts\utility::flag("FlagForcePlayerADS") || !isadsenabled(param_00)) + { + continue; + } + + var_02 = level.player adsbuttonpressed(); + if(!var_01 && var_02) + { + level.player setblurforplayer(2,0.1); + wait(0.3); + level.player setblurforplayer(0,0.1); + } + else if(var_01 && !var_02) + { + level.player setblurforplayer(2,0.1); + wait(0.3); + level.player setblurforplayer(0,0.1); + } + + var_01 = var_02; + } +} + +//Function Number: 39 +adjustfov(param_00,param_01,param_02) +{ + level.player endon("death"); + level endon("end_sniper_drone"); + var_03 = 40; + var_04 = 7.5; + var_05 = 0; + var_06 = 0; + level.player lerpfov(var_03,0.5); + level.player enablefocus(var_04 / 2,var_04,1,0); + while(isdefined(level.player.sniperdronelink)) + { + wait(0.05); + if(!isdefined(level.player.sniperdronelink)) + { + break; + } + + if(issaverecentlyloaded() && !var_06) + { + var_05 = 1; + var_06 = 1; + } + else if(!issaverecentlyloaded()) + { + var_06 = 0; + } + + if((isadsenabled(param_00) && level.player adsbuttonpressed()) || common_scripts\utility::flag("FlagForcePlayerADS")) + { + if(!var_05) + { + level.player lerpfov(var_04,0.25); + level.player enablefocus(7.5,20,0.125,1); + level.player enableaudiozoom(2,1); + var_05 = 1; + } + + continue; + } + + if(var_05) + { + level.player lerpfov(var_03,0.5); + level.player enablefocus(7.5,20,1,1); + level.player disableaudiozoom(1); + var_05 = 0; + } + } +} + +//Function Number: 40 +updatesunshadowcenter(param_00,param_01) +{ + var_02 = anglestoforward(level.player getgunangles()); + var_03 = param_01; + var_04 = level.player geteye() + var_02 * 100; + var_05 = level.player.origin + var_02 * 5000; + var_06 = bullettrace(var_04,var_05,1,level.player); + if(isdefined(var_06["position"])) + { + var_07 = distance(var_04,var_06["position"]); + var_03 = param_00.origin + var_02 * var_07 * 0.9; + } + + setsaveddvar("sm_sunShadowCenter",var_03); +} + +//Function Number: 41 +adjustshadowcenter(param_00) +{ + level.player endon("death"); + level endon("end_sniper_drone"); + var_01 = 0; + var_02 = getent("PlayerDroneTargetpoint","targetname"); + while(isdefined(level.player.sniperdronelink)) + { + wait(0.1); + if(!isdefined(level.player.sniperdronelink)) + { + break; + } + + if((isadsenabled(param_00) && level.player adsbuttonpressed()) || common_scripts\utility::flag("FlagForcePlayerADS")) + { + updatesunshadowcenter(level.player.sniperdronelink,var_02); + if(!var_01) + { + level.player lightsetforplayer("confcenter_drone_zoom"); + var_01 = 1; + } + + continue; + } + + if(var_01) + { + setsaveddvar("sm_sunShadowCenter","0 0 0"); + level.player lightsetforplayer("confcenter_start"); + var_01 = 0; + } + } +} + +//Function Number: 42 +adjuststaticoverlay(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = param_00.alpha; + common_scripts\utility::flag_wait(param_01); + if(isdefined(param_04)) + { + wait(param_04); + } + + param_00.alpha = param_02; + if(isdefined(param_03)) + { + wait(param_03); + param_00.alpha = var_05; + } +} + +//Function Number: 43 +flickerstaticoverlay(param_00,param_01,param_02,param_03,param_04,param_05) +{ + var_06 = param_00.alpha; + if(!isdefined(param_04)) + { + param_04 = 0; + } + + var_07 = 0.01 + param_04; + var_08 = 0.05 + param_04; + if(!isdefined(param_05)) + { + param_05 = 0; + } + + var_09 = 0.25 + param_05; + var_0A = 0.75 + param_05; + common_scripts\utility::flag_wait(param_01); + var_0B = gettime() * 0.001; + var_0C = 0; + while(var_0C < param_03) + { + if(isdefined(param_00)) + { + param_00.alpha = param_02; + } + + wait(randomfloatrange(var_07,var_08)); + soundscripts\_snd::snd_message("start_wasp_flicker"); + if(isdefined(param_00)) + { + param_00.alpha = var_06; + } + + wait(randomfloatrange(var_09,var_0A)); + var_0D = gettime() * 0.001; + var_0C = var_0D - var_0B; + wait(0.05); + } +} + +//Function Number: 44 +adjustmissileoverlay(param_00,param_01,param_02) +{ + common_scripts\utility::flag_wait(param_01); + param_00.alpha = 1; + soundscripts\_snd::snd_message("start_wasp_missile_warning"); + common_scripts\utility::flag_wait(param_02); + param_00.alpha = 0; + soundscripts\_snd::snd_message("stop_wasp_missile_warning"); +} + +//Function Number: 45 +sniperdronelensdamaged() +{ + level.player waittill("kamikaze_damaged_lens"); + level.player.sniperdronedata.lensviewmodel unlinkfromplayerview(level.player); + level.player.sniperdronedata.lensviewmodel hide(); + level.player.sniperdronedata.lensviewmodel delete(); + level.player.sniperdronedata.damagedlensviewmodel = spawn("script_model",level.player.sniperdronelink.origin); + level.player.sniperdronedata.damagedlensviewmodel setmodel("vehicle_sniper_drone_hud_glass_break"); + level.player.sniperdronedata.damagedlensviewmodel linktoplayerview(level.player,"tag_origin",(9,0,0),(0,0,0),1); +} + +//Function Number: 46 +enddronecontrol() +{ + rumblesniperdronetakenout(); + level.player.sniperdronelink restoredefaultturnrate(); + wait(0.75); + level.player setblurforplayer(10,0.5); + maps\_hud_util::fade_out(0.25,"white"); + level.player.sniperdronelink = undefined; + setomnvar("ui_sniperdrone",0); + soundscripts\_snd::snd_message("stop_drone_death_static"); + wait(0.25); + common_scripts\utility::flag_set("init_safehouse_outro_start_lighting"); + level.player setblurforplayer(0,0.1); + common_scripts\utility::flag_set("FlagSafeHouseOutroStart"); +} + +//Function Number: 47 +iscontrollingdrone() +{ + return isdefined(level.player.sniperdronelink); +} + +//Function Number: 48 +createoverlay(param_00,param_01) +{ + var_02 = newclienthudelem(level.player); + var_02.x = 0; + var_02.y = 0; + var_02.alignx = "left"; + var_02.aligny = "top"; + var_02.horzalign = "fullscreen"; + var_02.vertalign = "fullscreen"; + var_02 setshader(param_00,640,480); + var_02.alpha = param_01; + var_02.sort = -3; + return var_02; +} + +//Function Number: 49 +createmissileoverlay(param_00,param_01) +{ + var_02 = newclienthudelem(level.player); + var_02.x = 320; + var_02.y = 350; + var_02.sort = 0; + var_02.alignx = "center"; + var_02.aligny = "middle"; + var_02 setshader(param_00,256,64); + var_02.alpha = 0; + return var_02; +} + +//Function Number: 50 +updatescopeoverlayalpha(param_00,param_01) +{ + if(((isadsenabled(param_00) && level.player adsbuttonpressed()) || common_scripts\utility::flag("FlagForcePlayerADS")) && param_01.alpha < 1) + { + param_01.alpha = param_01.alpha + 0.2; + soundscripts\_snd::snd_message("start_sniper_drone_zoom"); + return; + } + + if(!level.player adsbuttonpressed() || common_scripts\utility::flag("FlagForcePlayerADS") && param_01.alpha > 0) + { + param_01.alpha = param_01.alpha - 0.2; + soundscripts\_snd::snd_message("stop_sniper_drone_zoom"); + } +} + +//Function Number: 51 +updatescopeoverlay(param_00,param_01,param_02) +{ + var_03 = level.player getnormalizedmovement(); + var_04 = level.player getnormalizedcameramovements(); + updatescopeoverlayalpha(param_02,param_00); + luinotifyevent(&"sniper_drone_hud_update",8,int(maps\_utility::round_float(var_03[1] * 100,0,0)),int(maps\_utility::round_float(var_04[1] * 100,0,0)),int(param_01),int(getlookpitch()),int(getlookyaw()),int(param_00.alpha * 10),int(level.player.sniperdronedata.droneangularvelocity),gettime()); +} + +//Function Number: 52 +updatedronesattackspeedmultiplier() +{ + if(!common_scripts\utility::flag("FlagHadesVehicleDriveStart")) + { + return; + } + + level.player.sniperdronedata.dronesattackspeedmultiplier = level.player.sniperdronedata.dronesattackspeedmultiplier - 0.015; + level.player.sniperdronedata.dronesattackspeedmultiplier = clamp(level.player.sniperdronedata.dronesattackspeedmultiplier,0.75,1); +} + +//Function Number: 53 +setupsniperdebughudelem() +{ + var_00 = newhudelem(); + var_00.alignx = "left"; + var_00.aligny = "top"; + var_00.x = 40; + var_00.y = 40; + var_00.alpha = 0.6; + var_00.fontscale = 1.5; + var_00.foreground = 1; + var_00.horzalign = "fullscreen"; + var_00.vertalign = "fullscreen"; + return var_00; +} + +//Function Number: 54 +drawsniperdebug(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = "yawOrbitOffset " + param_01 + " verticalOffset " + param_02; + param_00 settext(var_05); + common_scripts\utility::draw_arrow_time(param_03,param_04,(0,1,0),0.05); +} + +//Function Number: 55 +compareorbitangle(param_00,param_01) +{ + return param_00.orbitangle < param_01.orbitangle; +} + +//Function Number: 56 +settargetangularacceleration(param_00) +{ + if(abs(level.player.sniperdronedata.targetangularacceleration) > abs(param_00)) + { + return; + } + + level.player.sniperdronedata.targetangularacceleration = param_00; +} + +//Function Number: 57 +updatetargetangularacceleration() +{ + if(!isdefined(level.player.sniperdronedata)) + { + return; + } + + level.player.sniperdronedata.targetangularacceleration = level.player.sniperdronedata.targetangularacceleration * 0.95; +} + +//Function Number: 58 +updatevelocity(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + var_09 = clamp(abs(param_01),0,1); + var_0A = 0; + if(param_02 * param_01 < 0) + { + if(level.player adsbuttonpressed() || common_scripts\utility::flag("FlagForcePlayerADS")) + { + var_0A = param_08 * param_01; + } + else + { + var_0A = param_07 * param_01; + } + } + + param_02 = param_02 + param_03 * param_01 + var_0A; + param_02 = clamp(param_02,-1 * param_04,param_04); + if(isdefined(param_00)) + { + updatetargetangularacceleration(); + param_00.stickhorizontalinputlength = var_09; + if(var_09 > 0) + { + param_00.targetangularacceleration = param_03 * param_01; + param_00.brakingcurrenttime = 0; + } + } + + if(var_09 == 0) + { + var_0B = param_02; + if(level.player adsbuttonpressed() || common_scripts\utility::flag("FlagForcePlayerADS")) + { + param_02 = param_02 * param_06; + } + else + { + param_02 = param_02 * param_05; + } + + if(isdefined(param_00)) + { + settargetangularacceleration(var_0B - param_02 * -1); + } + } + + return param_02; +} + +//Function Number: 59 +scalevelocity(param_00) +{ + if(level.player adsbuttonpressed() || common_scripts\utility::flag("FlagForcePlayerADS")) + { + param_00 = param_00 * 0.85; + } + + if(common_scripts\utility::flag("FlagHadesVehicleDriveStart") || common_scripts\utility::flag("FlagForcePlayerSlowMovement")) + { + param_00 = param_00 * level.player.sniperdronedata.dronesattackspeedmultiplier; + } + + if(level.player adsbuttonpressed() && level.player enemyincrosshairs()) + { + param_00 = param_00 * 0.85; + } + + return param_00; +} + +//Function Number: 60 +updatehorizontalvelocity() +{ + var_00 = maps\greece_code::calculateleftstickdeadzone(); + var_01 = updatevelocity(level.player.sniperdronedata,var_00[1],level.player.sniperdronedata.droneangularvelocity,1.25,35,0.9,0.4,10,8); + return scalevelocity(var_01); +} + +//Function Number: 61 +updateverticalvelocity() +{ + var_00 = maps\greece_code::calculateleftstickdeadzone(); + var_01 = updatevelocity(undefined,var_00[0],level.player.sniperdronedata.droneverticalvelocity,15,375,0.75,0.4,150,125); + return scalevelocity(var_01); +} + +//Function Number: 62 +clamppositiontolowerbounds(param_00,param_01) +{ + var_02 = vectortoangles(param_01 - param_00); + var_03 = level.player.sniperdronedata.orbitlowerbounds maps\_sarray::sarray_length() - 1; + var_04 = 0; + for(var_04 = 0;var_04 < level.player.sniperdronedata.orbitlowerbounds maps\_sarray::sarray_length();var_04++) + { + if(var_02[1] < level.player.sniperdronedata.orbitlowerbounds maps\_sarray::sarray_get(var_04).orbitangle) + { + break; + } + + var_03 = var_04; + } + + var_04 = var_04 % level.player.sniperdronedata.orbitlowerbounds maps\_sarray::sarray_length(); + var_05 = level.player.sniperdronedata.orbitlowerbounds maps\_sarray::sarray_get(var_03).orbitangle; + var_06 = level.player.sniperdronedata.orbitlowerbounds maps\_sarray::sarray_get(var_04).orbitangle; + if(var_05 > var_06) + { + var_05 = var_05 - 360; + } + + var_07 = abs(var_02[1] - var_05) / abs(var_06 - var_05); + var_08 = level.player.sniperdronedata.orbitlowerbounds maps\_sarray::sarray_get(var_03).origin; + var_09 = level.player.sniperdronedata.orbitlowerbounds maps\_sarray::sarray_get(var_04).origin; + var_0A = var_08[2] + var_09[2] - var_08[2] * var_07; + if(param_00[2] < var_0A) + { + return var_0A - param_00[2]; + } + + return 0; +} + +//Function Number: 63 +clampyaworbitoffset(param_00,param_01,param_02) +{ + var_03 = vectortoangles(param_00 - param_01 * (1,1,0)); + var_03 = var_03 - param_02; + return var_03[1]; +} + +//Function Number: 64 +calculatehoverlocation(param_00) +{ + var_01 = param_00 + level.player.sniperdronedata.dronehoverdirection * 50; + return vectornormalize(var_01 - level.player.sniperdronelink.origin) * level.player.sniperdronedata.hoverspeed; +} + +//Function Number: 65 +updatehoverspeed(param_00) +{ + var_01 = param_00 + level.player.sniperdronedata.dronehoverdirection * 50; + var_02 = 10; + var_03 = length(var_01 - level.player.sniperdronelink.origin); + if(var_03 > var_02) + { + level.player.sniperdronedata.hoverspeed = level.player.sniperdronedata.hoverspeed + 0.5; + level.player.sniperdronedata.hoverspeed = clamp(level.player.sniperdronedata.hoverspeed,-1,1); + return; + } + + var_04 = maps\_shg_utility::linear_map_clamp(var_03,0,var_02,0,1); + level.player.sniperdronedata.hoverspeed = maps\_utility::linear_interpolate(var_04,0.5,1); +} + +//Function Number: 66 +updatehoveridle(param_00) +{ + if(level.player maps\_utility::isads()) + { + level.player.sniperdronedata.calculatenewhoverdestination = 1; + } + else if(abs(level.player.sniperdronedata.droneangularvelocity) > 0.05 || abs(level.player.sniperdronedata.droneverticalvelocity) > 0.05) + { + level.player.sniperdronedata.calculatenewhoverdestination = 1; + level.player.sniperdronedata.hoverbounceconeangle = 30; + level.player.sniperdronedata.dronehoverdirection = vectornormalize(level.player.sniperdronedata.currentvelocity) * -1; + } + else if(level.player.sniperdronedata.calculatenewhoverdestination) + { + level.player.sniperdronedata.calculatenewhoverdestination = 0; + level.player.sniperdronedata.dronehoverdirection = common_scripts\utility::randomvectorincone(level.player.sniperdronedata.dronehoverdirection * -1,level.player.sniperdronedata.hoverbounceconeangle); + level.player.sniperdronedata.dronehoverdirection = vectornormalize(level.player.sniperdronedata.dronehoverdirection); + level.player.sniperdronedata.hoverbounceconeangle = 120; + level.player.sniperdronedata.hoverspeed = 0; + return calculatehoverlocation(param_00); + } + else + { + updatehoverspeed(param_00); + var_01 = param_00 + level.player.sniperdronedata.dronehoverdirection * 50; + if(lengthsquared(level.player.sniperdronelink.origin - var_01) < squared(3)) + { + level.player.sniperdronedata.calculatenewhoverdestination = 1; + } + + return calculatehoverlocation(param_00); + } + + return (0,0,0); +} + +//Function Number: 67 +updateviewmodelacceleration(param_00) +{ + var_01 = level.player.sniperdronedata; + if(level.player maps\_utility::isads()) + { + var_01.framerollacceleration = vectorlerp(var_01.framerollacceleration,(0,0,0),0.1); + var_01.barrelrollacceleration = vectorlerp(var_01.barrelrollacceleration,(0,0,0),0.1); + return; + } + + if(var_01.stickhorizontalinputlength >= 0.1) + { + var_01.framerollacceleration = vectorlerp(var_01.framerollacceleration,param_00 * var_01.targetangularacceleration,0.1); + var_01.barrelrollacceleration = vectorlerp(var_01.barrelrollacceleration,param_00 * var_01.targetangularacceleration,0.05); + return; + } + + var_02 = 0.4 * squared(var_01.brakingcurrenttime); + var_03 = 0.9 * squared(var_01.brakingcurrenttime); + var_01.framerollacceleration = vectorlerp(var_01.framerollacceleration,param_00 * var_01.targetangularacceleration,var_02); + var_01.barrelrollacceleration = vectorlerp(var_01.barrelrollacceleration,param_00 * var_01.targetangularacceleration,var_03); + var_01.brakingcurrenttime = var_01.brakingcurrenttime + 0.05; + var_01.brakingcurrenttime = clamp(var_01.brakingcurrenttime,0,1); +} + +//Function Number: 68 +updateviewmodellookoffset(param_00) +{ + if(level.player maps\_utility::isads()) + { + level.player.sniperdronedata.horizontaloffsetlook = maps\_utility::linear_interpolate(0.1,level.player.sniperdronedata.horizontaloffsetlook,0); + level.player.sniperdronedata.verticaloffsetlook = maps\_utility::linear_interpolate(0.075,level.player.sniperdronedata.verticaloffsetlook,0); + return; + } + + var_01 = level.player getnormalizedcameramovements(); + var_02 = 0; + if(var_01[1] > 0) + { + var_02 = maps\_utility::linear_interpolate(var_01[1],0,1.5); + } + else + { + var_02 = maps\_utility::linear_interpolate(-1 * var_01[1],0,1.5) * -1; + } + + var_03 = 0; + if(var_01[0] > 0) + { + var_03 = maps\_utility::linear_interpolate(var_01[0],0,1) * -1; + } + else + { + var_03 = maps\_utility::linear_interpolate(-1 * var_01[0],0,1); + } + + level.player.sniperdronedata.horizontaloffsetlook = maps\_utility::linear_interpolate(0.05,level.player.sniperdronedata.horizontaloffsetlook,var_02); + level.player.sniperdronedata.verticaloffsetlook = maps\_utility::linear_interpolate(0.03,level.player.sniperdronedata.verticaloffsetlook,var_03); +} + +//Function Number: 69 +getviewmodelrotation(param_00,param_01,param_02,param_03) +{ + var_04 = (0,0,1) + param_00 * maps\_utility::linear_interpolate(param_01,0,param_03); + var_05 = vectorcross(var_04,param_02); + param_02 = vectorcross(var_05,var_04); + return axistoangles(param_02,var_05 * -1,var_04); +} + +//Function Number: 70 +updateviewmodelpitchoffset(param_00) +{ + param_00 = clamplookangle(param_00); + var_01 = 120; + var_02 = 1.5; + var_03 = param_00 + 60 / var_01; + var_03 = 1 - clamp(var_03,0,1); + var_04 = (13,0,-3)[0]; + var_05 = (-1,0,-1.75)[0]; + var_06 = maps\_utility::linear_interpolate(var_03,var_04 + var_02,var_04 - var_02); + var_07 = maps\_utility::linear_interpolate(var_03,var_05 + var_02,var_05 - var_02); + level.player.sniperdronedata.frameviewmodeloffset = (var_06,0,(13,0,-3)[2]); + level.player.sniperdronedata.barrelviewmodeloffset = (var_07,0,(-1,0,-1.75)[2]); +} + +//Function Number: 71 +getviewmodelstrafeoffset() +{ + level.player.sniperdronedata.horizontaloffsetstrafe = maps\_utility::linear_interpolate(0.2,level.player.sniperdronedata.horizontaloffsetstrafe,level.player.sniperdronedata.droneangularvelocity / 35); + level.player.sniperdronedata.verticaloffsetstrafe = maps\_utility::linear_interpolate(0.2,level.player.sniperdronedata.verticaloffsetstrafe,level.player.sniperdronedata.droneverticalvelocity / 375); + return (0,level.player.sniperdronedata.horizontaloffsetstrafe * 1.5,level.player.sniperdronedata.verticaloffsetstrafe); +} + +//Function Number: 72 +updatebodyroll(param_00) +{ + var_01 = level.player.sniperdronedata; + if(level.player maps\_utility::isads()) + { + var_01.bodyrollvelocity = vectorlerp(var_01.bodyrollvelocity,(0,0,0),0.1); + } + else + { + var_01.bodyrollvelocity = vectorlerp(var_01.bodyrollvelocity,var_01.currentvelocity * (1,1,0),0.2); + } + + var_02 = anglestoforward(level.player getplayerangles() * (0,1,0)); + var_02 = vectornormalize(var_02 * (1,1,0)); + var_03 = anglestoforward(param_00 * (0,1,0)); + var_04 = vectordot(var_02,var_03); + var_04 = clamp(var_04,-1,1); + var_05 = acos(var_04) / 90; + var_06 = clamp(var_05,0,1); + var_06 = 1 - squared(var_06); + var_07 = (0,0,1) + var_01.bodyrollvelocity * maps\_utility::linear_interpolate(var_06,0.0001,0.0025); + var_08 = vectorcross(var_07,var_03); + var_09 = vectorcross(var_08,var_07); + var_0A = vectorcross(var_09,(0,0,1)); + var_0A = vectornormalize(var_0A); + var_0B = axistoangles(var_09,var_08 * -1,var_07); + updateviewmodelacceleration(var_0A); + updateviewmodellookoffset(param_00); + var_01.lastplayerangles = level.player getplayerangles(); + var_0C = getviewmodelrotation(var_01.framerollacceleration,var_06,var_09,0.125); + updateviewmodelpitchoffset(getlookpitch()); + var_0D = getviewmodelstrafeoffset(); + var_0D = (0,var_0D[1] + var_01.horizontaloffsetlook,var_0D[2] + var_01.verticaloffsetlook); + var_01.frameviewmodel unlinkfromplayerview(level.player); + var_01.frameviewmodel linktoplayerview(level.player,"tag_origin",var_01.frameviewmodeloffset + var_0D,var_0C * (0,0,1),1); + var_0E = getviewmodelrotation(var_01.barrelrollacceleration,var_06,var_09,0.125); + var_01.barrelviewmodel unlinkfromplayerview(level.player); + var_01.barrelviewmodel linktoplayerview(level.player,"tag_origin",var_01.barrelviewmodeloffset + var_0D * 0.5,var_0E * (0,0,1),1); + return var_0B; +} + +//Function Number: 73 +angle_lerp(param_00,param_01,param_02) +{ + return angleclamp(param_00 + angleclamp180(param_01 - param_00) * param_02); +} + +//Function Number: 74 +euler_lerp(param_00,param_01,param_02) +{ + return (angle_lerp(param_00[0],param_01[0],param_02),angle_lerp(param_00[1],param_01[1],param_02),angle_lerp(param_00[2],param_01[2],param_02)); +} + +//Function Number: 75 +rumblesniperdronefire() +{ + level.player playrumbleonentity("heavygun_fire"); + earthquake(0.1,0.1,level.player.origin,100); +} + +//Function Number: 76 +rumblesniperdronetakenout() +{ + level.player playrumbleonentity("damage_heavy"); + earthquake(0.5,1,level.player.origin,100); +} \ No newline at end of file diff --git a/AW/PC/SP/maps/_coop.gsc b/AW/PC/maps/_coop.gsc similarity index 91% rename from AW/PC/SP/maps/_coop.gsc rename to AW/PC/maps/_coop.gsc index b723d69..bd60940 100644 --- a/AW/PC/SP/maps/_coop.gsc +++ b/AW/PC/maps/_coop.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_coop.gsc + * Decompiled File: _coop.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 20 - * Decompile Time: 304 ms - * Timestamp: 10/27/2023 1:58:28 AM + * Decompile Time: 313 ms + * Timestamp: 4/22/2024 2:20:28 AM *******************************************************************/ //Function Number: 1 @@ -281,14 +281,18 @@ friendlyhudicon_currentmaterial() switch(self.coop_icon_state) { case "ICON_STATE_NORMAL": + var_00 = "coop_player_location"; break; case "ICON_STATE_DOWNED": + var_00 = "hint_health"; break; default: break; } + + return var_00; } //Function Number: 19 @@ -298,30 +302,41 @@ friendlyhudicon_rotating() switch(self.coop_icon_state) { case "ICON_STATE_NORMAL": + var_00 = 1; break; case "ICON_STATE_DOWNED": + var_00 = 0; break; default: break; } + + return var_00; } //Function Number: 20 monitor_color_blind_toggle() { - if(self getlocalplayerprofiledata("colorBlind") != self.colorblind) + for(;;) { - self.colorblind = self getlocalplayerprofiledata("colorBlind"); - initialize_colors(self.colorblind); - switch(self.coop_icon_state) + if(self getlocalplayerprofiledata("colorBlind") != self.colorblind) { - case "ICON_STATE_NORMAL": - break; - - case "ICON_STATE_DOWNED": - break; + self.colorblind = self getlocalplayerprofiledata("colorBlind"); + initialize_colors(self.colorblind); + switch(self.coop_icon_state) + { + case "ICON_STATE_NORMAL": + friendlyhudicon_normal(); + break; + + case "ICON_STATE_DOWNED": + friendlyhudicon_downed(); + break; + } } + + wait(0.05); } } \ No newline at end of file diff --git a/AW/PC/SP/maps/_createfx.gsc b/AW/PC/maps/_createfx.gsc similarity index 95% rename from AW/PC/SP/maps/_createfx.gsc rename to AW/PC/maps/_createfx.gsc index 0c66c8e..0b03c0f 100644 --- a/AW/PC/SP/maps/_createfx.gsc +++ b/AW/PC/maps/_createfx.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_createfx.gsc + * Decompiled File: _createfx.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 5 - * Decompile Time: 85 ms - * Timestamp: 10/27/2023 1:58:29 AM + * Decompile Time: 102 ms + * Timestamp: 4/22/2024 2:20:29 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/_credits.gsc b/AW/PC/maps/_credits.gsc new file mode 100644 index 0000000..71a96ad --- /dev/null +++ b/AW/PC/maps/_credits.gsc @@ -0,0 +1,1018 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _credits.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 30 + * Decompile Time: 492 ms + * Timestamp: 4/22/2024 2:20:31 AM +*******************************************************************/ + +//Function Number: 1 +initcredits(param_00) +{ + common_scripts\utility::flag_init("atvi_credits_go"); + level.linesize = 1.35; + level.headingsize = 1.75; + level.linelist = []; + level.credits_speed = 20.25; + level.credits_spacing = -120; + maps\_utility::set_console_status(); + if(!isdefined(param_00)) + { + param_00 = "all"; + } + + switch(param_00) + { + case "iw": + maps\_credits_autogen::initiw6credits(); + break; + + case "atvi": + break; + + case "all": + maps\_credits_autogen::initiw6credits(); + break; + } + + end_logos(); +} + +//Function Number: 2 +addlefttitle(param_00,param_01) +{ + precachestring(param_00); + if(!isdefined(param_01)) + { + param_01 = level.linesize; + } + + var_02 = spawnstruct(); + var_02.type = "lefttitle"; + var_02.title = param_00; + var_02.textscale = param_01; + level.linelist[level.linelist.size] = var_02; +} + +//Function Number: 3 +addleftname(param_00,param_01) +{ + precachestring(param_00); + if(!isdefined(param_01)) + { + param_01 = level.linesize; + } + + var_02 = spawnstruct(); + var_02.type = "leftname"; + var_02.name = param_00; + var_02.textscale = param_01; + level.linelist[level.linelist.size] = var_02; +} + +//Function Number: 4 +addsublefttitle(param_00,param_01) +{ + addleftname(param_00,param_01); +} + +//Function Number: 5 +addsubleftname(param_00,param_01) +{ + precachestring(param_00); + if(!isdefined(param_01)) + { + param_01 = level.linesize; + } + + var_02 = spawnstruct(); + var_02.type = "subleftname"; + var_02.name = param_00; + var_02.textscale = param_01; + level.linelist[level.linelist.size] = var_02; +} + +//Function Number: 6 +addrighttitle(param_00,param_01) +{ + precachestring(param_00); + if(!isdefined(param_01)) + { + param_01 = level.linesize; + } + + var_02 = spawnstruct(); + var_02.type = "righttitle"; + var_02.title = param_00; + var_02.textscale = param_01; + level.linelist[level.linelist.size] = var_02; +} + +//Function Number: 7 +addrightname(param_00,param_01) +{ + precachestring(param_00); + if(!isdefined(param_01)) + { + param_01 = level.linesize; + } + + var_02 = spawnstruct(); + var_02.type = "rightname"; + var_02.name = param_00; + var_02.textscale = param_01; + level.linelist[level.linelist.size] = var_02; +} + +//Function Number: 8 +addcenterheading(param_00,param_01) +{ + precachestring(param_00); + if(!isdefined(param_01)) + { + param_01 = level.linesize; + } + + var_02 = spawnstruct(); + var_02.type = "centerheading"; + var_02.heading = param_00; + var_02.textscale = param_01; + level.linelist[level.linelist.size] = var_02; +} + +//Function Number: 9 +addcentersubtitle(param_00,param_01) +{ + precachestring(param_00); + if(!isdefined(param_01)) + { + param_01 = level.linesize; + } + + var_02 = spawnstruct(); + var_02.type = "centersubtitle"; + var_02.heading = param_00; + var_02.textscale = param_01; + level.linelist[level.linelist.size] = var_02; +} + +//Function Number: 10 +addcastname(param_00,param_01,param_02) +{ + precachestring(param_01); + precachestring(param_00); + if(!isdefined(param_02)) + { + param_02 = level.linesize; + } + + var_03 = spawnstruct(); + var_03.type = "castname"; + var_03.title = param_01; + var_03.name = param_00; + var_03.textscale = param_02; + level.linelist[level.linelist.size] = var_03; +} + +//Function Number: 11 +addcentername(param_00,param_01) +{ + precachestring(param_00); + if(!isdefined(param_01)) + { + param_01 = level.linesize; + } + + var_02 = spawnstruct(); + var_02.type = "centername"; + var_02.name = param_00; + var_02.textscale = param_01; + level.linelist[level.linelist.size] = var_02; +} + +//Function Number: 12 +addcenternamedouble(param_00,param_01,param_02) +{ + precachestring(param_00); + precachestring(param_01); + if(!isdefined(param_02)) + { + param_02 = level.linesize; + } + + var_03 = spawnstruct(); + var_03.type = "centernamedouble"; + var_03.name1 = param_00; + var_03.name2 = param_01; + var_03.textscale = param_02; + level.linelist[level.linelist.size] = var_03; +} + +//Function Number: 13 +addcenterdual(param_00,param_01,param_02) +{ + precachestring(param_00); + precachestring(param_01); + if(!isdefined(param_02)) + { + param_02 = level.linesize; + } + + var_03 = spawnstruct(); + var_03.type = "centerdual"; + var_03.title = param_00; + var_03.name = param_01; + var_03.textscale = param_02; + level.linelist[level.linelist.size] = var_03; +} + +//Function Number: 14 +addcentertriple(param_00,param_01,param_02,param_03) +{ + var_04 = spawnstruct(); + var_04.type = "centertriple"; + if(isdefined(param_00)) + { + precachestring(param_00); + var_04.name1 = param_00; + } + else + { + var_04.name1 = ""; + } + + if(isdefined(param_01)) + { + precachestring(param_01); + var_04.name2 = param_01; + } + else + { + var_04.name2 = ""; + } + + if(isdefined(param_02)) + { + precachestring(param_02); + var_04.name3 = param_02; + } + else + { + var_04.name3 = ""; + } + + if(!isdefined(param_03)) + { + param_03 = level.linesize; + } + + var_04.textscale = param_03; + level.linelist[level.linelist.size] = var_04; +} + +//Function Number: 15 +addspace() +{ + var_00 = spawnstruct(); + var_00.type = "space"; + level.linelist[level.linelist.size] = var_00; +} + +//Function Number: 16 +addspacesmall() +{ + var_00 = spawnstruct(); + var_00.type = "spacesmall"; + level.linelist[level.linelist.size] = var_00; +} + +//Function Number: 17 +addcenterimage(param_00,param_01,param_02,param_03) +{ + precacheshader(param_00); + var_04 = spawnstruct(); + var_04.type = "centerimage"; + var_04.image = param_00; + var_04.width = param_01; + var_04.height = param_02; + var_04.sort = 2; + if(isdefined(param_03)) + { + var_04.delay = param_03; + } + + level.linelist[level.linelist.size] = var_04; +} + +//Function Number: 18 +playcredits() +{ + level.player endon("stop_credits"); + visionsetnaked("",0); + setsaveddvar("cl_disable_pause","1"); + var_00 = "credits_black"; + soundscripts\_snd::snd_message("play_credits"); + var_01 = getdvarint("loc_language",0); + var_02 = 1; + if(var_01 == 10 || var_01 == 5) + { + var_02 = 0.75; + } + + for(var_03 = 0;var_03 < level.linelist.size;var_03++) + { + var_04 = 0.5; + var_05 = level.linelist[var_03].type; + if(var_05 == "centerimage") + { + if(isdefined(var_00) && var_00 != "credits_black") + { + common_scripts\utility::flag_wait("atvi_credits_go"); + } + + var_06 = level.linelist[var_03].image; + var_07 = level.linelist[var_03].width; + var_08 = level.linelist[var_03].height; + var_09 = newhudelem(); + var_09 setshader(var_06,var_07,var_08); + var_09.alignx = "center"; + var_09.horzalign = "center"; + var_09.x = 0; + var_09.y = 480; + var_09.sort = 2; + var_09.foreground = 1; + var_09 thread delaydestroy(level.credits_speed); + var_09 moveovertime(level.credits_speed); + var_09.y = level.credits_spacing; + if(isdefined(level.linelist[var_03].delay)) + { + var_04 = level.linelist[var_03].delay; + } + else + { + var_04 = 0.037 * var_08; + } + } + else if(var_05 == "leftimage") + { + var_06 = level.linelist[var_03].image; + var_07 = level.linelist[var_03].width; + var_08 = level.linelist[var_03].height; + var_09 = newhudelem(); + var_09 setshader(var_06,var_07,var_08); + var_09.alignx = "center"; + var_09.horzalign = "left"; + var_09.x = 128; + var_09.y = 480; + var_09.sort = 2; + var_09.foreground = 1; + var_09 thread delaydestroy(level.credits_speed); + var_09 moveovertime(level.credits_speed); + var_09.y = level.credits_spacing; + var_04 = 0.037 * var_08; + } + else if(var_05 == "lefttitle") + { + var_0A = level.linelist[var_03].title; + var_0B = level.linelist[var_03].textscale * var_02; + var_09 = newhudelem(); + var_09 settext(var_0A); + var_09.alignx = "left"; + var_09.horzalign = "left"; + var_09.x = 28; + var_09.y = 480; + if(!level.console) + { + var_09.font = "default"; + } + else + { + var_09.font = "small"; + } + + var_09.fontscale = var_0B; + var_09.sort = 2; + var_09.glowcolor = (0.8,0.8,0.8); + var_09.glowalpha = 1; + var_09 thread delaydestroy(level.credits_speed); + var_09 moveovertime(level.credits_speed); + var_09.y = level.credits_spacing; + var_09 thread pulse_fx(); + } + else if(var_05 == "leftname") + { + var_0C = level.linelist[var_03].name; + var_0B = level.linelist[var_03].textscale * var_02; + if(var_01 == 10 || var_01 == 5) + { + var_0B = var_0B * 0.5; + } + + var_09 = newhudelem(); + var_09 settext(var_0C); + var_09.alignx = "left"; + var_09.horzalign = "left"; + var_09.x = 60; + var_09.y = 480; + if(!level.console) + { + var_09.font = "default"; + } + else + { + var_09.font = "small"; + } + + var_09.fontscale = var_0B; + var_09.sort = 2; + var_09.glowcolor = (0.8,0.8,0.8); + var_09.glowalpha = 1; + var_09 thread delaydestroy(level.credits_speed); + var_09 moveovertime(level.credits_speed); + var_09.y = level.credits_spacing; + var_09 thread pulse_fx(); + } + else if(var_05 == "castname") + { + var_0A = level.linelist[var_03].title; + var_0C = level.linelist[var_03].name; + var_0B = level.linelist[var_03].textscale * var_02; + var_0D = newhudelem(); + var_0D settext(var_0A); + var_0D.alignx = "left"; + var_0D.horzalign = "left"; + var_0D.x = 60; + var_0D.y = 480; + if(!level.console) + { + var_0D.font = "default"; + } + else + { + var_0D.font = "small"; + } + + var_0D.fontscale = var_0B; + var_0D.sort = 2; + var_0D.glowcolor = (0.8,0.8,0.8); + var_0D.glowalpha = 1; + var_0E = newhudelem(); + var_0E settext(var_0C); + var_0E.alignx = "right"; + var_0E.horzalign = "left"; + var_0E.x = 275; + var_0E.y = 480; + if(!level.console) + { + var_0E.font = "default"; + } + else + { + var_0E.font = "small"; + } + + var_0E.fontscale = var_0B; + var_0E.sort = 2; + var_0E.glowcolor = (0.8,0.8,0.8); + var_0E.glowalpha = 1; + var_0D thread delaydestroy(level.credits_speed); + var_0D moveovertime(level.credits_speed); + var_0D.y = level.credits_spacing; + var_0E thread delaydestroy(level.credits_speed); + var_0E moveovertime(level.credits_speed); + var_0E.y = level.credits_spacing; + var_0D thread pulse_fx(); + var_0E thread pulse_fx(); + } + else if(var_05 == "subleftname") + { + var_0C = level.linelist[var_03].name; + var_0B = level.linelist[var_03].textscale * var_02; + if(var_01 == 10 || var_01 == 5) + { + var_0B = var_0B * 0.5; + } + + var_09 = newhudelem(); + var_09 settext(var_0C); + var_09.alignx = "left"; + var_09.horzalign = "left"; + var_09.x = 92; + var_09.y = 480; + if(!level.console) + { + var_09.font = "default"; + } + else + { + var_09.font = "small"; + } + + var_09.fontscale = var_0B; + var_09.sort = 2; + var_09.glowcolor = (0.8,0.8,0.8); + var_09.glowalpha = 1; + var_09 thread delaydestroy(level.credits_speed); + var_09 moveovertime(level.credits_speed); + var_09.y = level.credits_spacing; + var_09 thread pulse_fx(); + } + else if(var_05 == "righttitle") + { + var_0A = level.linelist[var_03].title; + var_0B = level.linelist[var_03].textscale * var_02; + var_09 = newhudelem(); + var_09 settext(var_0A); + var_09.alignx = "left"; + var_09.horzalign = "right"; + var_09.x = -132; + var_09.y = 480; + if(!level.console) + { + var_09.font = "default"; + } + else + { + var_09.font = "small"; + } + + var_09.fontscale = var_0B; + var_09.sort = 2; + var_09.glowcolor = (0.8,0.8,0.8); + var_09.glowalpha = 1; + var_09 thread delaydestroy(level.credits_speed); + var_09 moveovertime(level.credits_speed); + var_09.y = level.credits_spacing; + } + else if(var_05 == "rightname") + { + var_0C = level.linelist[var_03].name; + var_0B = level.linelist[var_03].textscale * var_02; + var_09 = newhudelem(); + var_09 settext(var_0C); + var_09.alignx = "left"; + var_09.horzalign = "right"; + var_09.x = -100; + var_09.y = 480; + if(!level.console) + { + var_09.font = "default"; + } + else + { + var_09.font = "small"; + } + + var_09.fontscale = var_0B; + var_09.sort = 2; + var_09.glowcolor = (0.8,0.8,0.8); + var_09.glowalpha = 1; + var_09 thread delaydestroy(level.credits_speed); + var_09 moveovertime(level.credits_speed); + var_09.y = level.credits_spacing; + } + else if(var_05 == "centerheading") + { + var_0F = level.linelist[var_03].heading; + var_0B = level.linelist[var_03].textscale * 1.2 * var_02; + var_09 = newhudelem(); + var_09 settext(var_0F); + var_09.alignx = "center"; + var_09.horzalign = "center"; + var_09.x = 0; + var_09.y = 480; + if(!level.console) + { + var_09.font = "objective"; + } + else + { + var_09.font = "objective"; + } + + var_09.fontscale = var_0B; + var_09.sort = 2; + var_09.color = (1,0.93,0.44); + var_09.glowcolor = (0.8,0.8,0.8); + var_09.glowalpha = 0.5; + var_09 thread delaydestroy(level.credits_speed); + var_09 moveovertime(level.credits_speed); + var_09 thread delayfade(level.credits_speed); + var_09.y = level.credits_spacing; + var_04 = var_04 * 1.2; + } + else if(var_05 == "centersubtitle") + { + var_0F = level.linelist[var_03].heading; + var_0B = level.linelist[var_03].textscale * var_02; + var_09 = newhudelem(); + var_09 settext(var_0F); + var_09.alignx = "center"; + var_09.horzalign = "center"; + var_09.x = 0; + var_09.y = 480; + if(!level.console) + { + var_09.font = "big"; + } + else + { + var_09.font = "big"; + } + + var_09.fontscale = var_0B; + var_09.sort = 2; + var_09.color = (1,0.93,0.44); + var_09.glowcolor = (0.8,0.8,0.8); + var_09.glowalpha = 0.5; + var_09 thread delaydestroy(level.credits_speed); + var_09 moveovertime(level.credits_speed); + var_09 thread delayfade(level.credits_speed); + var_09.y = level.credits_spacing; + var_04 = var_04 * 1.1; + } + else if(var_05 == "centerdual") + { + var_0A = level.linelist[var_03].title; + var_0C = level.linelist[var_03].name; + var_0B = level.linelist[var_03].textscale * var_02; + var_0D = newhudelem(); + var_0D settext(var_0A); + var_0D.alignx = "right"; + var_0D.horzalign = "center"; + var_0D.x = -4; + var_0D.y = 480; + if(!level.console) + { + var_0D.font = "small"; + } + else + { + var_0D.font = "small"; + } + + var_0D.fontscale = var_0B; + var_0D.sort = 2; + var_0D.glowcolor = (0.6,0.6,0.6); + var_0D.glowalpha = 0; + var_0E = newhudelem(); + var_0E settext(var_0C); + var_0E.alignx = "left"; + var_0E.horzalign = "center"; + var_0E.x = 4; + var_0E.y = 480; + if(!level.console) + { + var_0E.font = "small"; + } + else + { + var_0E.font = "small"; + } + + var_0E.fontscale = var_0B; + var_0E.sort = 2; + var_0E.glowcolor = (0.6,0.6,0.6); + var_0E.glowalpha = 0; + var_0D thread delaydestroy(level.credits_speed); + var_0D moveovertime(level.credits_speed); + var_0D thread delayfade(level.credits_speed - 0.3); + var_0D.y = level.credits_spacing; + var_0E thread delaydestroy(level.credits_speed); + var_0E moveovertime(level.credits_speed); + var_0E thread delayfade(level.credits_speed); + var_0E.y = level.credits_spacing; + } + else if(var_05 == "centertriple") + { + var_10 = level.linelist[var_03].name1; + var_11 = level.linelist[var_03].name2; + var_12 = level.linelist[var_03].name3; + var_0B = level.linelist[var_03].textscale * var_02; + var_0D = newhudelem(); + var_0D settext(var_10); + var_0D.alignx = "left"; + var_0D.horzalign = "center"; + var_0D.x = -220; + var_0D.y = 480; + if(!level.console) + { + var_0D.font = "small"; + } + else + { + var_0D.font = "small"; + } + + var_0D.fontscale = var_0B; + var_0D.sort = 2; + var_0D.glowcolor = (0.6,0.6,0.6); + var_0D.glowalpha = 0; + var_0E = newhudelem(); + var_0E settext(var_11); + var_0E.alignx = "center"; + var_0E.horzalign = "center"; + var_0E.x = 0; + var_0E.y = 480; + if(!level.console) + { + var_0E.font = "small"; + } + else + { + var_0E.font = "small"; + } + + var_0E.fontscale = var_0B; + var_0E.sort = 2; + var_0E.glowcolor = (0.6,0.6,0.6); + var_0E.glowalpha = 0; + var_13 = newhudelem(); + var_13 settext(var_12); + var_13.alignx = "right"; + var_13.horzalign = "center"; + var_13.x = 220; + var_13.y = 480; + if(!level.console) + { + var_13.font = "small"; + } + else + { + var_13.font = "small"; + } + + var_13.fontscale = var_0B; + var_13.sort = 2; + var_13.glowcolor = (0.6,0.6,0.6); + var_13.glowalpha = 0; + var_0D thread delaydestroy(level.credits_speed); + var_0D moveovertime(level.credits_speed); + var_0D thread delayfade(level.credits_speed - 0.4); + var_0D.y = level.credits_spacing; + var_0E thread delaydestroy(level.credits_speed); + var_0E moveovertime(level.credits_speed); + var_0E thread delayfade(level.credits_speed - 0.2); + var_0E.y = level.credits_spacing; + var_13 thread delaydestroy(level.credits_speed); + var_13 moveovertime(level.credits_speed); + var_13 thread delayfade(level.credits_speed); + var_13.y = level.credits_spacing; + } + else if(var_05 == "centername") + { + var_0C = level.linelist[var_03].name; + var_0B = level.linelist[var_03].textscale * var_02; + var_09 = newhudelem(); + var_09 settext(var_0C); + var_09.alignx = "left"; + var_09.horzalign = "center"; + var_09.x = 8; + var_09.y = 480; + if(!level.console) + { + var_09.font = "default"; + } + else + { + var_09.font = "small"; + } + + var_09.fontscale = var_0B; + var_09.sort = 2; + var_09.glowcolor = (0.8,0.8,0.8); + var_09.glowalpha = 1; + var_09 thread delaydestroy(level.credits_speed); + var_09 moveovertime(level.credits_speed); + var_09.y = level.credits_spacing; + } + else if(var_05 == "centernamedouble") + { + var_10 = level.linelist[var_03].name1; + var_11 = level.linelist[var_03].name2; + var_0B = level.linelist[var_03].textscale * var_02; + var_0D = newhudelem(); + var_0D settext(var_10); + var_0D.alignx = "center"; + var_0D.horzalign = "center"; + var_0D.x = -80; + var_0D.y = 480; + if(!level.console) + { + var_0D.font = "default"; + } + else + { + var_0D.font = "small"; + } + + var_0D.fontscale = var_0B; + var_0D.sort = 2; + var_0D.glowcolor = (0.8,0.8,0.8); + var_0D.glowalpha = 1; + var_0E = newhudelem(); + var_0E settext(var_11); + var_0E.alignx = "center"; + var_0E.horzalign = "center"; + var_0E.x = 80; + var_0E.y = 480; + if(!level.console) + { + var_0E.font = "default"; + } + else + { + var_0E.font = "small"; + } + + var_0E.fontscale = var_0B; + var_0E.sort = 2; + var_0E.glowcolor = (0.8,0.8,0.8); + var_0E.glowalpha = 1; + var_0D thread delaydestroy(level.credits_speed); + var_0D moveovertime(level.credits_speed); + var_0D.y = level.credits_spacing; + var_0E thread delaydestroy(level.credits_speed); + var_0E moveovertime(level.credits_speed); + var_0E.y = level.credits_spacing; + } + else if(var_05 == "spacesmall") + { + var_04 = 0.25; + } + else + { + } + + wait(var_04 * level.credits_speed / 22.5); + } + + wait(15); + fade_out_level(); +} + +//Function Number: 19 +delayfade(param_00) +{ + wait(param_00 - 7); + self fadeovertime(1.5); + self.alpha = 0; +} + +//Function Number: 20 +delaydestroy(param_00) +{ + wait(param_00 - 2); + self destroy(); +} + +//Function Number: 21 +pulse_fx() +{ + self.alpha = 0; + wait(level.credits_speed * 0.08); + self fadeovertime(0.2); + self.alpha = 1; + self setpulsefx(50,int(level.credits_speed * 0.6 * 1000),500); +} + +//Function Number: 22 +addgap() +{ + addspace(); + addspace(); +} + +//Function Number: 23 +readncolumns(param_00,param_01,param_02,param_03) +{ + var_04 = []; + for(var_05 = 0;var_05 < param_03;var_05++) + { + var_04[var_05] = tablelookupbyrow(param_00,param_01,param_02 + var_05); + } + + return var_04; +} + +//Function Number: 24 +readtriple(param_00,param_01,param_02) +{ + var_03[0] = tablelookupbyrow(param_00,param_01,param_02); + var_03[1] = tablelookupbyrow(param_00,param_01,param_02 + 1); + var_03[2] = tablelookupbyrow(param_00,param_01,param_02 + 2); + return var_03; +} + +//Function Number: 25 +allow_early_back_out() +{ + level.player notifyonplayercommand("stop_credits_pressed","+stance"); + if(!level.player common_scripts\utility::is_player_gamepad_enabled()) + { + level.player notifyonplayercommand("stop_credits_pressed","+gostand"); + } + + level.player notifyonplayercommand("show_skip_prompt","+activate"); + level.player notifyonplayercommand("show_skip_prompt","+gostand"); + level.player notifyonplayercommand("show_skip_prompt","weapnext"); + level.player notifyonplayercommand("show_skip_prompt","+stance"); + level.player notifyonplayercommand("show_skip_prompt","+melee"); + level.player notifyonplayercommand("show_skip_prompt","+sprint"); + level.player notifyonplayercommand("show_skip_prompt","+attack"); + level.player notifyonplayercommand("show_skip_prompt","+frag"); + level.player notifyonplayercommand("show_skip_prompt","+speed_throw"); + level.player notifyonplayercommand("show_skip_prompt","+toggleads_throw"); + level.player notifyonplayercommand("show_skip_prompt","+smoke"); + level.player notifyonplayercommand("show_skip_prompt","pause"); + level.player notifyonplayercommand("show_skip_prompt","+actionslot 1"); + level.player notifyonplayercommand("show_skip_prompt","+actionslot 2"); + level.player notifyonplayercommand("show_skip_prompt","+actionslot 3"); + level.player notifyonplayercommand("show_skip_prompt","+actionslot 4"); + for(;;) + { + level.player waittill("show_skip_prompt"); + var_00 = get_stop_credits_button(); + var_00 thread pulse_button_timeout(); + thread end_credits_with_next_press(); + level waittill("pulse_button_timed_out"); + var_00 destroy(); + } +} + +//Function Number: 26 +get_stop_credits_button() +{ + var_00 = newclienthudelem(level.player); + var_00.x = -20; + var_00.y = -20; + var_00.alignx = "right"; + var_00.aligny = "bottom"; + var_00.horzalign = "right"; + var_00.vertalign = "bottom"; + var_00.fontscale = 2; + if(level.player common_scripts\utility::is_player_gamepad_enabled()) + { + var_00 settext(&"CREDITS_UI_SKIP"); + } + else + { + var_00 settext(&"CREDITS_UI_SKIP_PC"); + } + + var_00.alpha = 0; + var_00.foreground = 1; + var_00.sort = 10; + var_00.font = "objective"; + return var_00; +} + +//Function Number: 27 +pulse_button_timeout() +{ + for(var_00 = 0;var_00 < 5;var_00++) + { + self fadeovertime(0.8); + self.alpha = 1; + wait(1); + if(var_00 == 4) + { + break; + } + + self fadeovertime(0.8); + self.alpha = 0.5; + wait(1); + } + + self fadeovertime(0.8); + self.alpha = 0; + wait(1); + level notify("pulse_button_timed_out"); +} + +//Function Number: 28 +end_credits_with_next_press() +{ + level endon("pulse_button_timed_out"); + wait(0.25); + level.player waittill("stop_credits_pressed"); + level.player notify("stop_credits"); +} + +//Function Number: 29 +fade_out_level() +{ + var_00 = maps\_hud_util::create_client_overlay("black",0,level.player); + var_00.sort = 100; + var_00 fadeovertime(1); + var_00.alpha = 1; +} + +//Function Number: 30 +end_logos() +{ + addcenterimage("dolby_havok_logos_01",384,48,3.875); +} \ No newline at end of file diff --git a/AW/PC/maps/_credits_autogen.gsc b/AW/PC/maps/_credits_autogen.gsc new file mode 100644 index 0000000..6538bb7 --- /dev/null +++ b/AW/PC/maps/_credits_autogen.gsc @@ -0,0 +1,1164 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _credits_autogen.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 101 ms + * Timestamp: 4/22/2024 2:20:31 AM +*******************************************************************/ + +//Function Number: 1 +initiw6credits_s1() +{ + maps\_credits::addcenterheading(&"CREDITS_CALL_OF_DUTY_ADVANCED_WARFARE"); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_DIRECTED_BY"); + maps\_credits::addcenterdual(&"CREDITS_GLEN_A_SCHOFIELD",&"CREDITS_MICHAEL_CONDREY"); + maps\_credits::addspacesmall(); + maps\_credits::addcenterheading(&"CREDITS_DESIGNED_AND_DEVELOPED_BY_SLED"); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple(&"CREDITS_AARON_HALON",&"CREDITS_ERIC_PAVEY",&"CREDITS_MATT_ABBOTT"); + maps\_credits::addcentertriple(&"CREDITS_AARON_RODGERS",&"CREDITS_ERIC_SONTAG",&"CREDITS_MATT_KOEHLER"); + maps\_credits::addcentertriple(&"CREDITS_ABEL_ZHANG",&"CREDITS_ERIK_STRICKLAND",&"CREDITS_MATT_VITALONE"); + maps\_credits::addcentertriple(&"CREDITS_ADAM_DOLIN",&"CREDITS_ERNESTO_GUAMAN",&"CREDITS_MATT_WATERS"); + maps\_credits::addcentertriple(&"CREDITS_ADAM_ETTENBERGER",&"CREDITS_EVAN_HORT",&"CREDITS_MATTHEW_BEIN"); + maps\_credits::addcentertriple(&"CREDITS_ADAM_TODD",&"CREDITS_FNU_STEPHANUS",&"CREDITS_MATTHEW_GHIGLIERI"); + maps\_credits::addcentertriple(&"CREDITS_ADEN_WINKELMAN",&"CREDITS_FOREST_BAKER",&"CREDITS_MATTHEW_KROTENBERG"); + maps\_credits::addcentertriple(&"CREDITS_ADRIAN_LONGLAND",&"CREDITS_FRANKIE_DEROSA",&"CREDITS_MICHAEL_CONDREY"); + maps\_credits::addcentertriple(&"CREDITS_ALBERT_SOTO",&"CREDITS_GARY_TANG",&"CREDITS_MICHAEL_CAISLEY"); + maps\_credits::addcentertriple(&"CREDITS_ALBERTO_CONTRERAS",&"CREDITS_GEOFF_PRICE",&"CREDITS_MICHAEL_GAUGY"); + maps\_credits::addcentertriple(&"CREDITS_ALBERTO_HERRERA",&"CREDITS_GERARDO_GARZA",&"CREDITS_MICHAEL_HOSTICKA"); + maps\_credits::addcentertriple(&"CREDITS_ALEJANDRO_GIL",&"CREDITS_GIL_DORON",&"CREDITS_MICHAEL_KATO"); + maps\_credits::addcentertriple(&"CREDITS_ALEXANDER_JESSUP",&"CREDITS_GIL_JOHN_RODRIGUEZ",&"CREDITS_MIKE_BIERNACKI"); + maps\_credits::addcentertriple(&"CREDITS_ALI_MOHSINI",&"CREDITS_GILBERT_GONZALES",&"CREDITS_MIKE_MEJIA"); + maps\_credits::addcentertriple(&"CREDITS_AMANDA_SULLIVANLEE",&"CREDITS_GIOVANNI_MARTINEZ",&"CREDITS_MIKE_SCHMIDT"); + maps\_credits::addcentertriple(&"CREDITS_ANDREW_KLEIN",&"CREDITS_GLEN_SCHOFIELD",&"CREDITS_MIKE_SHIMOMURA"); + maps\_credits::addcentertriple(&"CREDITS_ANDREW_LACEY",&"CREDITS_GRANT_WHITTEN",&"CREDITS_MIKE_STEELE"); + maps\_credits::addcentertriple(&"CREDITS_ANDREW_MAURER",&"CREDITS_GREG_REISDORF",&"CREDITS_MIKE_SYRNYK"); + maps\_credits::addcentertriple(&"CREDITS_ANGIE_LAI",&"CREDITS_GRETCHEN_GRASSHOFF",&"CREDITS_NATHAN_RAUSCH"); + maps\_credits::addcentertriple(&"CREDITS_ANTHONY_BLAKE",&"CREDITS_GUY_BEAHM",&"CREDITS_NESTOR_ANGELES"); + maps\_credits::addcentertriple(&"CREDITS_ANTHONY_SCHMILL",&"CREDITS_GUY_PENA",&"CREDITS_NICHOLAS_LEE"); + maps\_credits::addcentertriple(&"CREDITS_ATSUSHI_SEO",&"CREDITS_HELEN_LEE",&"CREDITS_NICHOLAS_MENGHINI"); + maps\_credits::addcentertriple(&"CREDITS_BEHROOZ_ROOZBEH",&"CREDITS_JP_DOLAN",&"CREDITS_NICKOLAS_JACKSON"); + maps\_credits::addcentertriple(&"CREDITS_BEN_STODDARD",&"CREDITS_JAIME_WOJICK",&"CREDITS_NOA_LOTHIAN"); + maps\_credits::addcentertriple(&"CREDITS_BENJAMIN_BOLTON",&"CREDITS_JAMES_GRAY",&"CREDITS_OLIVIER_TARDY"); + maps\_credits::addcentertriple(&"CREDITS_BENJAMIN_CUMINGS",&"CREDITS_JAN_MAGBAG",&"CREDITS_PRATEEK_GUDIHAL"); + maps\_credits::addcentertriple(&"CREDITS_BRANDON_PHAM",&"CREDITS_JASON_BELL",&"CREDITS_PRIMO_NAVIDAD"); + maps\_credits::addcentertriple(&"CREDITS_BRET_ROBBINS",&"CREDITS_JASON_CHANG",&"CREDITS_RANDAL_WEST"); + maps\_credits::addcentertriple(&"CREDITS_BRIAN_COX",&"CREDITS_JASON_GAVAZZA",&"CREDITS_RANDALL_WONG"); + maps\_credits::addcentertriple(&"CREDITS_BRIAN_MIGGELS",&"CREDITS_JASON_WARNKE",&"CREDITS_RANDY_FORSYTH"); + maps\_credits::addcentertriple(&"CREDITS_BRIAN_WEST",&"CREDITS_JAVIER_OLAZABAL",&"CREDITS_RICHARD_HARTZELL"); + maps\_credits::addcentertriple(&"CREDITS_BRYAN_ANES",&"CREDITS_JAY_WELLS",&"CREDITS_ROBERT_PITTS"); + maps\_credits::addcentertriple(&"CREDITS_BRYAN_ERCK",&"CREDITS_JEANNETTE_LEE",&"CREDITS_RODERICK_WEISE"); + maps\_credits::addcentertriple(&"CREDITS_CAREY_DAVENPORT",&"CREDITS_JEFF_MOHD_SANI",&"CREDITS_RON_ANDAYA"); + maps\_credits::addcentertriple(&"CREDITS_CARLI_FEISS",&"CREDITS_JENNY_RYU",&"CREDITS_ROSIE_KATZ"); + maps\_credits::addcentertriple(&"CREDITS_CARLOS_CERVANTES",&"CREDITS_JEREMIE_BENHAMOU",&"CREDITS_RUDY_PHAM"); + maps\_credits::addcentertriple(&"CREDITS_CASSANDRA_HIPPLE",&"CREDITS_JEREMY_MINOR",&"CREDITS_RYAN_BAILEY"); + maps\_credits::addcentertriple(&"CREDITS_CHING_HUNG_CHU",&"CREDITS_JESSE_LEE",&"CREDITS_RYAN_BULLOCK"); + maps\_credits::addcentertriple(&"CREDITS_CHIWAI_LAO",&"CREDITS_JESSICA_HOOK",&"CREDITS_RYAN_MCSWEENEY"); + maps\_credits::addcentertriple(&"CREDITS_CHRIS_CARTER",&"CREDITS_JIAN_ZHANG",&"CREDITS_SAMUEL_SOUKKAMPHA"); + maps\_credits::addcentertriple(&"CREDITS_CHRIS_MORGAN",&"CREDITS_JOE_ARCOVITCH",&"CREDITS_SAN_VUONG"); + maps\_credits::addcentertriple(&"CREDITS_CHRIS_PENNYA",&"CREDITS_JOE_SALUD",&"CREDITS_SANDY_LINCHIANG"); + maps\_credits::addcentertriple(&"CREDITS_CHRIS_STONE",&"CREDITS_JOEL_DURHAM",&"CREDITS_SARAH_MCNEAL"); + maps\_credits::addcentertriple(&"CREDITS_CHRIS_WEBB",&"CREDITS_JOHN_TURNER",&"CREDITS_SCOTT_ANDERSON"); + maps\_credits::addcentertriple(&"CREDITS_CHRISTOPHER_ANJOS",&"CREDITS_JOHNNY_OWENS",&"CREDITS_SCOTT_WHITNEY"); + maps\_credits::addcentertriple(&"CREDITS_CHUCK_BEAVER",&"CREDITS_JOHNNY_WATERMAN",&"CREDITS_SEAN_MARINO"); + maps\_credits::addcentertriple(&"CREDITS_COLIN_MUNSON",&"CREDITS_JON_SIMAS",&"CREDITS_SEAN_SOUCY"); + maps\_credits::addcentertriple(&"CREDITS_COLIN_OCONNOR",&"CREDITS_JORDAN_ABELES",&"CREDITS_SHANE_DALEY"); + maps\_credits::addcentertriple(&"CREDITS_CONANT_FONG",&"CREDITS_JOSHUA_DAI",&"CREDITS_SHORA_FARAHANI"); + maps\_credits::addcentertriple(&"CREDITS_COOP_DRINKWARD",&"CREDITS_JOSHUA_KATZ",&"CREDITS_SIMON_COOPER"); + maps\_credits::addcentertriple(&"CREDITS_CRAIG_BROWN",&"CREDITS_JT_WHITE",&"CREDITS_SPENCER_WHITFIELD"); + maps\_credits::addcentertriple(&"CREDITS_CRAIG_LOUIE",&"CREDITS_JUDAH_GRAHAM",&"CREDITS_STEPHEN_TANG"); + maps\_credits::addcentertriple(&"CREDITS_DAISUKE_IMAI",&"CREDITS_JUSTIN_LAMPERSKI",&"CREDITS_STEPHEN_YTUARTE"); + maps\_credits::addcentertriple(&"CREDITS_DAN_BINGHAM",&"CREDITS_JUSTIN_MILLER",&"CREDITS_STEVE_BIANCHI"); + maps\_credits::addcentertriple(&"CREDITS_DANIEL_STEAMER",&"CREDITS_KACPER_CENTKOWSKI",&"CREDITS_STEVEN_MATULAC"); + maps\_credits::addcentertriple(&"CREDITS_DANIEL_BRYNER",&"CREDITS_KAREN_SIDEY",&"CREDITS_TJ_PHAN"); + maps\_credits::addcentertriple(&"CREDITS_DANIEL_CHAN",&"CREDITS_KAREN_THIBODEAUX",&"CREDITS_TAI_CHEN"); + maps\_credits::addcentertriple(&"CREDITS_DANIEL_GEBHART",&"CREDITS_KARTEEK_MEKALA",&"CREDITS_TAM_LY"); + maps\_credits::addcentertriple(&"CREDITS_DANIEL_KENDALL",&"CREDITS_KELLY_MERMELSTEIN",&"CREDITS_TAV_SHANDE"); + maps\_credits::addcentertriple(&"CREDITS_DAVID_SWENSON",&"CREDITS_KENNY_REYNA",&"CREDITS_THOM_OCH"); + maps\_credits::addcentertriple(&"CREDITS_DAVID_BLIZARD",&"CREDITS_KEVIN_DEBOLT",&"CREDITS_THOMAS_CINQUEGRANO"); + maps\_credits::addcentertriple(&"CREDITS_DAVID_HENCHEY",&"CREDITS_KEVIN_TUCKER",&"CREDITS_TOLGA_KART"); + maps\_credits::addcentertriple(&"CREDITS_DAVID_KUO",&"CREDITS_KRIS_DEMARTINI",&"CREDITS_TOM_DESMARAIS"); + maps\_credits::addcentertriple(&"CREDITS_DAVID_K_WONG",&"CREDITS_LARRY_CHARLES",&"CREDITS_TOM_FELKER"); + maps\_credits::addcentertriple(&"CREDITS_DEMETRIUS_LEAL",&"CREDITS_LAWRENCE_MAI",&"CREDITS_TOM_FONG"); + maps\_credits::addcentertriple(&"CREDITS_DON_VECA",&"CREDITS_LUCAS_BILODEAU",&"CREDITS_TRAVIS_NAAS"); + maps\_credits::addcentertriple(&"CREDITS_DOUG_CLAYTON",&"CREDITS_LUKA_ROMEL",&"CREDITS_VICTOR_CHAVEZ"); + maps\_credits::addcentertriple(&"CREDITS_DUSTIN_DAVIS",&"CREDITS_MANNY_KO",&"CREDITS_WILLIAM_LANE"); + maps\_credits::addcentertriple(&"CREDITS_DYLAN_BLAIR",&"CREDITS_MARC_DAVID",&"CREDITS_WILLIAM_SHAUGHNESSY"); + maps\_credits::addcentertriple(&"CREDITS_ED_MOLINA",&"CREDITS_MARK_BENKO",&"CREDITS_XAVIER_BLACKWELL"); + maps\_credits::addcentertriple(&"CREDITS_ED_REYES",&"CREDITS_MARK_BOLAK",&"CREDITS_YU_GU"); + maps\_credits::addcentertriple(&"CREDITS_EMILIO_LOPEZCENTELLAS",&"CREDITS_MASON_SHEFFIELD",&"CREDITS_ZACH_MANGAN"); + maps\_credits::addcentertriple("","",&"CREDITS_ZACHARY_BETKA"); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcenterheading(&"CREDITS_ADDITIONAL_DEVELOPMENT_FROM_RA"); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple(&"CREDITS_AARON_BROWN",&"CREDITS_DEREK_RACCA",&"CREDITS_MARIO_GIOMBI"); + maps\_credits::addcentertriple(&"CREDITS_AARON_HAUSMANN",&"CREDITS_DOMINIC_GHILANI",&"CREDITS_MARK_KILBORN"); + maps\_credits::addcentertriple(&"CREDITS_ALAN_FLORES",&"CREDITS_DWIGHT_LUETSCHER",&"CREDITS_MARK_KORNKVEN"); + maps\_credits::addcentertriple(&"CREDITS_ALBERTO_NOTI",&"CREDITS_ELIZABETH_TIRAN",&"CREDITS_MARK_MAXWELL"); + maps\_credits::addcentertriple(&"CREDITS_ALEX_KREEGER",&"CREDITS_EMILY_KUYKENDALL",&"CREDITS_MARKUS_PEEKNA"); + maps\_credits::addcentertriple(&"CREDITS_ALLEN_MOSER",&"CREDITS_EMILY_SHERMAN",&"CREDITS_MASON_LUCAS"); + maps\_credits::addcentertriple(&"CREDITS_AMOS_HODGE",&"CREDITS_EMMANUEL_APILADO",&"CREDITS_MATT_PIERSALL"); + maps\_credits::addcentertriple(&"CREDITS_AMY_STEVENSON",&"CREDITS_ERIC_BIESSMAN",&"CREDITS_MATT_PINKSTON"); + maps\_credits::addcentertriple(&"CREDITS_ANDRE_BEARDSLEYDUSETTE",&"CREDITS_ERIC_MCDANIEL",&"CREDITS_MATTHEW_NEWTON"); + maps\_credits::addcentertriple(&"CREDITS_ANDRE_TIRAN",&"CREDITS_ERIC_SCHLAUTMAN",&"CREDITS_MEGAN_PARKER"); + maps\_credits::addcentertriple(&"CREDITS_ANDREW_AJ_LENZIE",&"CREDITS_ERIC_SCHMIDT",&"CREDITS_MICHAEL_C_GUMMELT"); + maps\_credits::addcentertriple(&"CREDITS_ANDREW_OLSON",&"CREDITS_ERIC_SPRAY",&"CREDITS_MICHAEL_EKBERG"); + maps\_credits::addcentertriple(&"CREDITS_ANDY_BAYLESS",&"CREDITS_ERIC_WIDNER",&"CREDITS_MICHAEL_GILARDI"); + maps\_credits::addcentertriple(&"CREDITS_ANTHONY_BARNES",&"CREDITS_ERIC_WILLES",&"CREDITS_MICHAEL_INNIS"); + maps\_credits::addcentertriple(&"CREDITS_ARNOLD_SWEKEL",&"CREDITS_ETHAN_HILEY",&"CREDITS_MICHAEL_MCCULLOUGH"); + maps\_credits::addcentertriple(&"CREDITS_AUSTIN_BAKER",&"CREDITS_ETHAN_MCCAUGHEY",&"CREDITS_MICHAEL_RENNER"); + maps\_credits::addcentertriple(&"CREDITS_BEN_DONATELLI",&"CREDITS_GEOFF_HILL",&"CREDITS_MIKE_BUTTON"); + maps\_credits::addcentertriple(&"CREDITS_BEN_FREED",&"CREDITS_GINA_LOHMAN",&"CREDITS_MIKE_MAJERNIK"); + maps\_credits::addcentertriple(&"CREDITS_BERND_KREIMEIER",&"CREDITS_GRADEN_MCCOOL",&"CREDITS_MURRAY_KRAFT"); + maps\_credits::addcentertriple(&"CREDITS_BOBBY_ARLAUSKAS",&"CREDITS_ISAAC_OWENS",&"CREDITS_NATHANIEL_JORGENSON"); + maps\_credits::addcentertriple(&"CREDITS_BRENTON_MATHEWS",&"CREDITS_JACKSON_REED",&"CREDITS_NED_BUTTON"); + maps\_credits::addcentertriple(&"CREDITS_BRIAN_HACKBARTH",&"CREDITS_JAKE_MILLER",&"CREDITS_NICHOLAS_DARIANO"); + maps\_credits::addcentertriple(&"CREDITS_BRIAN_RAFFEL",&"CREDITS_JAMES_BRADFORD",&"CREDITS_NICHOLAS_KLEIMAN"); + maps\_credits::addcentertriple(&"CREDITS_BRIAN_WHITE",&"CREDITS_JAMES_GRESKO",&"CREDITS_NICHOLAS_STEVENSON"); + maps\_credits::addcentertriple(&"CREDITS_BROOKE_STAMPFLI",&"CREDITS_JAMES_LARA",&"CREDITS_NICOLE_NEGRETE"); + maps\_credits::addcentertriple(&"CREDITS_BRYAN_CAVETT",&"CREDITS_JAMES_MONROE",&"CREDITS_NOE_SERRANO"); + maps\_credits::addcentertriple(&"CREDITS_BUMJIN_LEE",&"CREDITS_JAMES_SINGER",&"CREDITS_PATRICK_WILLIAMS"); + maps\_credits::addcentertriple(&"CREDITS_CALEB_TOMPLAIT",&"CREDITS_JAMES_WAGNER",&"CREDITS_REYMUNDO_SIERRA"); + maps\_credits::addcentertriple(&"CREDITS_CALEB_ZART",&"CREDITS_JAMIE_PARENT",&"CREDITS_RILEY_BINA"); + maps\_credits::addcentertriple(&"CREDITS_CHARLES_BERNSTEIN",&"CREDITS_JASON_HOLT",&"CREDITS_ROBERT_LOVE"); + maps\_credits::addcentertriple(&"CREDITS_CHARLES_CRUMP",&"CREDITS_JASON_SLOAN",&"CREDITS_RYAN_BURNETT"); + maps\_credits::addcentertriple(&"CREDITS_CHARLES_MOORE",&"CREDITS_JEFF_DEGENHARDT",&"CREDITS_RYAN_BUTTS"); + maps\_credits::addcentertriple(&"CREDITS_CHARLES_MORROW",&"CREDITS_JEFFREY_NEWQUIST",&"CREDITS_RYAN_DANZ"); + maps\_credits::addcentertriple(&"CREDITS_CHARLES_OLSON",&"CREDITS_JEFFREY_SKUBAL",&"CREDITS_RYAN_GILLES"); + maps\_credits::addcentertriple(&"CREDITS_CHARLES_WEISS",&"CREDITS_JEREMIAH_BYCHOWSKI",&"CREDITS_RYAN_HUMMER"); + maps\_credits::addcentertriple(&"CREDITS_CHRIS_DIORIO",&"CREDITS_JEREMY_BLUMEL",&"CREDITS_RYAN_RIES"); + maps\_credits::addcentertriple(&"CREDITS_CHRIS_EDMISTON",&"CREDITS_JEREMY_SHOCKEY",&"CREDITS_RYNE_PETERSEN"); + maps\_credits::addcentertriple(&"CREDITS_CHRIS_LINN",&"CREDITS_JI_LI",&"CREDITS_SARAH_KARCZEWSKI"); + maps\_credits::addcentertriple(&"CREDITS_CHRISTINA_SEAMAN",&"CREDITS_JIM_CHRISTOPHER",&"CREDITS_SEAN_THURLER"); + maps\_credits::addcentertriple(&"CREDITS_CHRISTOPHER_BEESE",&"CREDITS_JOHN_SINCLAIR",&"CREDITS_SHANNON_ANDERSEN"); + maps\_credits::addcentertriple(&"CREDITS_CHRISTOPHER_FOSTER",&"CREDITS_JON_ZUK",&"CREDITS_SHAWN_PEEPLES"); + maps\_credits::addcentertriple(&"CREDITS_CHRISTOPHER_HARTMANN",&"CREDITS_JONATHAN_GRAHAM",&"CREDITS_SHAWN_SPETCH"); + maps\_credits::addcentertriple(&"CREDITS_CHRISTOPHER_MANSAVAGE",&"CREDITS_JONATHAN_STRONG",&"CREDITS_SIDDHARTH_ACHREKAR"); + maps\_credits::addcentertriple(&"CREDITS_CHRISTOPHER_OLSEN",&"CREDITS_JONATHAN_WALKER",&"CREDITS_SIMON_PARKINSON"); + maps\_credits::addcentertriple(&"CREDITS_CHRISTOPHER_REED",&"CREDITS_JORGE_CORONA",&"CREDITS_SPENCER_NIGL"); + maps\_credits::addcentertriple(&"CREDITS_CURT_C_SMITH",&"CREDITS_JOSEPH_KOBERSTEIN",&"CREDITS_STE_CORK"); + maps\_credits::addcentertriple(&"CREDITS_DALLAS_MIDDLETON",&"CREDITS_JOSHUA_LYNCH",&"CREDITS_STEPHEN_JENKINS"); + maps\_credits::addcentertriple(&"CREDITS_DAN_TAFARO",&"CREDITS_JOSHUA_TERRY",&"CREDITS_STEVE_RAFFEL"); + maps\_credits::addcentertriple(&"CREDITS_DAN_VONDRAK",&"CREDITS_JUSTIN_NEGRETE",&"CREDITS_STEVEN_MAINES"); + maps\_credits::addcentertriple(&"CREDITS_DANIEL_EDWARDS",&"CREDITS_JUSTIN_SUPERTY",&"CREDITS_STUART_WIEGERT"); + maps\_credits::addcentertriple(&"CREDITS_DANIEL_FETTER",&"CREDITS_KATHLEEN_MARTY",&"CREDITS_SUSAN_DE_VENERO"); + maps\_credits::addcentertriple(&"CREDITS_DANIEL_KRAMER",&"CREDITS_KATHRYN_BOCK",&"CREDITS_TED_THELEN"); + maps\_credits::addcentertriple(&"CREDITS_DANIEL_LOANE",&"CREDITS_KATIE_SABIN",&"CREDITS_TERRY_D_BARNETT_II"); + maps\_credits::addcentertriple(&"CREDITS_DANIEL_MERBOTH",&"CREDITS_KEITH_MATEJKA",&"CREDITS_THOMAS_GRIEBEL"); + maps\_credits::addcentertriple(&"CREDITS_DANIEL_SCOTT_MENARD",&"CREDITS_KEITH_MORTON",&"CREDITS_THOMAS_HAMILTON"); + maps\_credits::addcentertriple(&"CREDITS_DARREN_BLONDIN",&"CREDITS_KEITH_PLESHA",&"CREDITS_TIM_UTTECH"); + maps\_credits::addcentertriple(&"CREDITS_DAVE_CURD",&"CREDITS_KELSON_RAFFEL",&"CREDITS_TONY_MAGRO"); + maps\_credits::addcentertriple(&"CREDITS_DAVID_FIFIELD",&"CREDITS_KEVIN_LONG",&"CREDITS_TYLER_CORNETT"); + maps\_credits::addcentertriple(&"CREDITS_DAVID_GULISANO",&"CREDITS_KEVIN_REED",&"CREDITS_VADIM_NUNIYANTS"); + maps\_credits::addcentertriple(&"CREDITS_DAVID_HAUPTMAN",&"CREDITS_KYLE_STEPHENS",&"CREDITS_WAYNE_KOENIG"); + maps\_credits::addcentertriple(&"CREDITS_DAVID_OSEI",&"CREDITS_LEE_BEES_STAPLES",&"CREDITS_WILLIAM_CARANI"); + maps\_credits::addcentertriple(&"CREDITS_DEAN_SERIO",&"CREDITS_LUCAS_MEYER",&"CREDITS_WILLIAM_PETROSKY"); + maps\_credits::addcentertriple(&"CREDITS_DEREK_LARSON",&"CREDITS_MARIO_BOTERO",&"CREDITS_ZACK_COOPER"); + maps\_credits::addcentertriple("","",&"CREDITS_ZACK_GANOUS"); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcenterheading(&"CREDITS_ADDITIONAL_DEVELOPMENT_FROM_HI"); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple(&"CREDITS_ADAM_SHIELDS",&"CREDITS_GEORGE_CASTRO",&"CREDITS_MICHAEL_ARREVALO"); + maps\_credits::addcentertriple(&"CREDITS_ALEX_CARBONERO",&"CREDITS_GREGORY_BRANT",&"CREDITS_MICHAEL_BROWN"); + maps\_credits::addcentertriple(&"CREDITS_ALEX_J_STOCKWELL",&"CREDITS_GYULA_SZENTIRMAY",&"CREDITS_MICHAEL_KERSEY"); + maps\_credits::addcentertriple(&"CREDITS_ALFONSO_VILLAR",&"CREDITS_IAN_MIKA",&"CREDITS_MICHAEL_LOPEZ"); + maps\_credits::addcentertriple(&"CREDITS_ANDREW_AARSVOLD",&"CREDITS_INA_YAMAGUCHI",&"CREDITS_MISTY_MICHELLE_PARNELL"); + maps\_credits::addcentertriple(&"CREDITS_ANDREW_ZAFERAKIS",&"CREDITS_IVAN_KAPLOW",&"CREDITS_MIZUHO_RIGBY"); + maps\_credits::addcentertriple(&"CREDITS_ANH_Q_BUI",&"CREDITS_IVAN_POWER",&"CREDITS_NATE_SARTAIN"); + maps\_credits::addcentertriple(&"CREDITS_ASHLEY_M_BARNETT",&"CREDITS_JAE_HYUK_KWAK",&"CREDITS_NILES_ONDOY"); + maps\_credits::addcentertriple(&"CREDITS_BOB_RISSOLO",&"CREDITS_JAMES_MORFORD",&"CREDITS_NORWOOD_COLE"); + maps\_credits::addcentertriple(&"CREDITS_BRIAN_JOHNSON",&"CREDITS_JARKKO_HAEKKINEN",&"CREDITS_PATRICK_PRZYBYLA"); + maps\_credits::addcentertriple(&"CREDITS_CARL_PRESCOTT",&"CREDITS_JASON_DIAZ",&"CREDITS_PETER_DELLA_PENNA"); + maps\_credits::addcentertriple(&"CREDITS_CARLOS_MORAN",&"CREDITS_JASON_FLORES",&"CREDITS_PRISCILLA_LANDERER"); + maps\_credits::addcentertriple(&"CREDITS_CHAD_CAMPBELL",&"CREDITS_JASON_PREY",&"CREDITS_QUINN_NGUYEN"); + maps\_credits::addcentertriple(&"CREDITS_CHRIS_PASETTO",&"CREDITS_JEFF_FROEHLICH",&"CREDITS_RANDY_STEBBING"); + maps\_credits::addcentertriple(&"CREDITS_CHRIS_SAKANAI",&"CREDITS_JOHN_DRELICK",&"CREDITS_RICHARD_LOO"); + maps\_credits::addcentertriple(&"CREDITS_CHRISTOPHER_LLOYD",&"CREDITS_JOHN_MICHAUD",&"CREDITS_RICHARD_SOBEHRAD"); + maps\_credits::addcentertriple(&"CREDITS_CHUCK_YAGER",&"CREDITS_JOJO_SEAMAN",&"CREDITS_RJ_BIGLANGAWA_JR"); + maps\_credits::addcentertriple(&"CREDITS_CODY_MIRACLE",&"CREDITS_JONATHAN_RICHARDSON",&"CREDITS_ROBB_ZINDT"); + maps\_credits::addcentertriple(&"CREDITS_COLIN_CALLAHAN",&"CREDITS_JOSHUA_KROLAK",&"CREDITS_ROBERT_MIDLIL"); + maps\_credits::addcentertriple(&"CREDITS_CORINA_BELLO",&"CREDITS_JOSHUA_SONSTENG",&"CREDITS_ROGELIO_AGUILAR"); + maps\_credits::addcentertriple(&"CREDITS_DAMON_WILSON_HART",&"CREDITS_JOYCE_C_RAMOS",&"CREDITS_RONALD_SALLEZA"); + maps\_credits::addcentertriple(&"CREDITS_DAN_KIT",&"CREDITS_JUSTIN_M_ROCHON",&"CREDITS_RYAN_ZUIDEMA"); + maps\_credits::addcentertriple(&"CREDITS_DAN_MULKIEWICZ",&"CREDITS_KATIE_YOUNG_OH_LIM",&"CREDITS_SALEEM_CRAWFORD"); + maps\_credits::addcentertriple(&"CREDITS_DANIEL_L_PHILLIPS",&"CREDITS_KATY_WILBUR",&"CREDITS_SALVADOR_ARDITTI"); + maps\_credits::addcentertriple(&"CREDITS_DARRYL_BROWNSTONE",&"CREDITS_KEITH_EVANS",&"CREDITS_SCOTT_CONNARY"); + maps\_credits::addcentertriple(&"CREDITS_DAVE_CRAVENS",&"CREDITS_KEITH_STAINES",&"CREDITS_SENG_HAY"); + maps\_credits::addcentertriple(&"CREDITS_DAVID_A_RUIZ",&"CREDITS_KEVIN_DUONG",&"CREDITS_SETH_R_STOCKHOLM"); + maps\_credits::addcentertriple(&"CREDITS_DAVID_CHRISTIE",&"CREDITS_KYLE_SMOTHERMAN",&"CREDITS_SHANE_ENGLEFIELD"); + maps\_credits::addcentertriple(&"CREDITS_DOMINIC_ZENQUIS",&"CREDITS_LAUREN_NEIGHBORS",&"CREDITS_STEPHANE_ETIENNE"); + maps\_credits::addcentertriple(&"CREDITS_DONALD_B_OTT_II",&"CREDITS_MARK_LOPERFIDO",&"CREDITS_SUMER_ORTIZ"); + maps\_credits::addcentertriple(&"CREDITS_DUSTIN_CUBIT",&"CREDITS_MARTIN_ECKER",&"CREDITS_TERRY_BETTS"); + maps\_credits::addcentertriple(&"CREDITS_EDUARD_MARINOV",&"CREDITS_MATT_KRYSTEK",&"CREDITS_TYLER_GEOSANO"); + maps\_credits::addcentertriple(&"CREDITS_EUGENE_KIM",&"CREDITS_MATT_LIM",&"CREDITS_VLAD_DUMITRASCU"); + maps\_credits::addcentertriple(&"CREDITS_FERNANDO_DIAZ",&"CREDITS_MATT_PAULEY",&"CREDITS_WILLIAM_HURD"); + maps\_credits::addcentertriple(&"CREDITS_GABRIEL_SHEETS",&"CREDITS_MATT_TIEGER",&"CREDITS_WILLIAM_J_MARTIN"); + maps\_credits::addcentertriple(&"CREDITS_GARRETT_GRAHAM",&"CREDITS_MATTHEW_GORSUCH",&"CREDITS_WILLIAM_JOHNSTON_III"); + maps\_credits::addcentertriple("","",&"CREDITS_YVES_COUTURIER"); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcenterheading(&"CREDITS_ADDITIONAL_DEVELOPMENT_SUPPORT"); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple(&"CREDITS_AARON_EATON",&"CREDITS_DREW_SURMENIAN",&"CREDITS_KRYSTLE_WALLIS"); + maps\_credits::addcentertriple(&"CREDITS_AARON_WILLIAMS",&"CREDITS_EARTH_WARREN",&"CREDITS_KYLE_COLLIER"); + maps\_credits::addcentertriple(&"CREDITS_ADAM_MICCIULLA",&"CREDITS_ERIC_FEINBERG",&"CREDITS_KYLE_JONES"); + maps\_credits::addcentertriple(&"CREDITS_ADAMAH_TAYLOR",&"CREDITS_ERIC_FELDMAN",&"CREDITS_LEI_YANG"); + maps\_credits::addcentertriple(&"CREDITS_ADRIAN_MONTOYA",&"CREDITS_ERIC_LIFFERS",&"CREDITS_LINDA_LIBERMAN"); + maps\_credits::addcentertriple(&"CREDITS_ADRIAN_SANDOVAL",&"CREDITS_ERIC_MILOTA",&"CREDITS_MARK_HU"); + maps\_credits::addcentertriple(&"CREDITS_ALEX_HARTERT",&"CREDITS_ERIK_MELEN",&"CREDITS_MARK_RUZICKA"); + maps\_credits::addcentertriple(&"CREDITS_ALEX_JACOBSON",&"CREDITS_GAVIN_PUGH",&"CREDITS_MASON_CUDLITZ"); + maps\_credits::addcentertriple(&"CREDITS_ALEXANDER_AMERINE",&"CREDITS_GARETH_DAVIES",&"CREDITS_MAX_CUDLITZ"); + maps\_credits::addcentertriple(&"CREDITS_ALFONSO_FONZY_ELENES",&"CREDITS_GARRETT_PENCE",&"CREDITS_MICHAEL_ESPOSITO"); + maps\_credits::addcentertriple(&"CREDITS_ALLYSON_SMITH",&"CREDITS_GENNADY_BABICHENKO",&"CREDITS_MICHAEL_GESNER"); + maps\_credits::addcentertriple(&"CREDITS_AMELIE_LEROCHE",&"CREDITS_GIOVANNI_PASTERIS",&"CREDITS_MICHAEL_MILLER"); + maps\_credits::addcentertriple(&"CREDITS_ANDY_MARCHAL",&"CREDITS_HARI_KHALSA",&"CREDITS_MIGUEL_RODRIQUEZ"); + maps\_credits::addcentertriple(&"CREDITS_ANDY_WARWICK",&"CREDITS_IFEDAYO_OJOMO",&"CREDITS_MIKE_DIMEO"); + maps\_credits::addcentertriple(&"CREDITS_ANET_HAMBARSUMIAN",&"CREDITS_JACK_OHARA",&"CREDITS_MIKE_FRIEDRICH"); + maps\_credits::addcentertriple(&"CREDITS_ANTHONY_CAROTENUTO",&"CREDITS_JACK_MOORE",&"CREDITS_MIKE_VELASQUEZ"); + maps\_credits::addcentertriple(&"CREDITS_ANTHONY_INTERRANTE",&"CREDITS_JAIMIE_CAMERON",&"CREDITS_MITCH_SANBORN"); + maps\_credits::addcentertriple(&"CREDITS_ANTOINE_GERSANT",&"CREDITS_JAMES_SCOTT",&"CREDITS_OLIN_GEORGESCU"); + maps\_credits::addcentertriple(&"CREDITS_BEN_KUTCHER",&"CREDITS_JAMISON_DYKE",&"CREDITS_OMAR_GATICA"); + maps\_credits::addcentertriple(&"CREDITS_BEN_OBRIEN",&"CREDITS_JARED_BAILEY",&"CREDITS_PATRICK_HAGAR"); + maps\_credits::addcentertriple(&"CREDITS_BILL_BUCKLEY",&"CREDITS_JARED_DICKINSON",&"CREDITS_PATRICK_MCGINNIS"); + maps\_credits::addcentertriple(&"CREDITS_BRIAN_BIBBO",&"CREDITS_JASIM_QAZI",&"CREDITS_PAUL_HAILE"); + maps\_credits::addcentertriple(&"CREDITS_BRIAN_DIONNE",&"CREDITS_JASMINE_REDD",&"CREDITS_PAUL_KERBY"); + maps\_credits::addcentertriple(&"CREDITS_BRIAN_MARVIN",&"CREDITS_JASON_BOLES",&"CREDITS_PAUL_VALDIVIA"); + maps\_credits::addcentertriple(&"CREDITS_BRIAN_MCDONALD",&"CREDITS_JASON_GREENBERG",&"CREDITS_PETER_DAY"); + maps\_credits::addcentertriple(&"CREDITS_BRIAN_PETERS",&"CREDITS_JASON_HALL",&"CREDITS_PETER_PON"); + maps\_credits::addcentertriple(&"CREDITS_BYEONG_PARK",&"CREDITS_JASON_MAYNARD",&"CREDITS_RAY_COSICO"); + maps\_credits::addcentertriple(&"CREDITS_CALVIN_LIN",&"CREDITS_JASON_UYEDA",&"CREDITS_RAYMOND_PICKWOAD"); + maps\_credits::addcentertriple(&"CREDITS_CARLO_SURLA",&"CREDITS_JEFF_CURLEY",&"CREDITS_RICHARD_PICKWOAD"); + maps\_credits::addcentertriple(&"CREDITS_CHAD_FINDLEY",&"CREDITS_JEFF_SWENTY",&"CREDITS_ROBERT_ESPINOZA"); + maps\_credits::addcentertriple(&"CREDITS_CHRIS_BARNES",&"CREDITS_JENNIFER_KALINOWSKI",&"CREDITS_ROBERT_MERCADO"); + maps\_credits::addcentertriple(&"CREDITS_CHRIS_DOWNS",&"CREDITS_JEREMY_ROGERS",&"CREDITS_ROBERT_MILLER"); + maps\_credits::addcentertriple(&"CREDITS_CHRIS_EGERT",&"CREDITS_JI_QI",&"CREDITS_ROBERT_TARANTO"); + maps\_credits::addcentertriple(&"CREDITS_CHRIS_GEORGE",&"CREDITS_JIWON_SON",&"CREDITS_ROMULO_PETE_PEDROZA"); + maps\_credits::addcentertriple(&"CREDITS_CHRIS_MYERS",&"CREDITS_JOEL_JEWETT",&"CREDITS_RUDY_KOCH"); + maps\_credits::addcentertriple(&"CREDITS_CHRIS_SELF",&"CREDITS_JOHN_BOJORQUEZ",&"CREDITS_RULON_RAYMOND"); + maps\_credits::addcentertriple(&"CREDITS_CHRIS_STAPLES",&"CREDITS_JOHN_DUFFY",&"CREDITS_RYAN_PALSER"); + maps\_credits::addcentertriple(&"CREDITS_CHRISSY_ARYA",&"CREDITS_JOHN_LINDEN",&"CREDITS_RYAN_RANDOLPH"); + maps\_credits::addcentertriple(&"CREDITS_CLARK_WEN",&"CREDITS_JOHNNY_OW",&"CREDITS_RYAN_SMITH"); + maps\_credits::addcentertriple(&"CREDITS_CODY_MALACH",&"CREDITS_JOHNNY_VAN_ZELM",&"CREDITS_SCOTT_BERGIN"); + maps\_credits::addcentertriple(&"CREDITS_CODY_PIERSON",&"CREDITS_JON_BAILEY",&"CREDITS_SCOTT_PEASE"); + maps\_credits::addcentertriple(&"CREDITS_CORY_ALDRIDGE",&"CREDITS_JONATHAN_RATCLIFF",&"CREDITS_SEBASTIEN_ST_LAURENT"); + maps\_credits::addcentertriple(&"CREDITS_DAMIEN_NICHOLS",&"CREDITS_JOSEPH_CRUZ",&"CREDITS_SHANE_CALNAN"); + maps\_credits::addcentertriple(&"CREDITS_DAN_NOEL",&"CREDITS_JOSH_LORD",&"CREDITS_SIMON_COURNOYER"); + maps\_credits::addcentertriple(&"CREDITS_DANA_DE_LALLA",&"CREDITS_JOSHDAVID_ISAACSON",&"CREDITS_SIMON_EBEJER"); + maps\_credits::addcentertriple(&"CREDITS_DANIEL_SAFFRON",&"CREDITS_JOSHUA_SIETSEMA",&"CREDITS_SIMON_KO"); + maps\_credits::addcentertriple(&"CREDITS_DARYL_KIMOTO",&"CREDITS_JUN_CHANG",&"CREDITS_SIVARAK_KAI_TAWAROTIP"); + maps\_credits::addcentertriple(&"CREDITS_DAVE_HERNANDEZ",&"CREDITS_KARL_DROWN",&"CREDITS_STEPHEN_MILLER"); + maps\_credits::addcentertriple(&"CREDITS_DAVE_ROWE",&"CREDITS_KEITH_MILLER",&"CREDITS_TIM_STASICA"); + maps\_credits::addcentertriple(&"CREDITS_DAVID_DE_LA_TORRE",&"CREDITS_KENT_GAMBILL",&"CREDITS_TJ_STAMM"); + maps\_credits::addcentertriple(&"CREDITS_DAVID_JOHNSTON",&"CREDITS_KEVIN_CHESTER",&"CREDITS_TORRANCE_TROTTER"); + maps\_credits::addcentertriple(&"CREDITS_DAVID_ROSE",&"CREDITS_KEVIN_CHUNG",&"CREDITS_TRAVIS_RAMON"); + maps\_credits::addcentertriple(&"CREDITS_DAVID_SCHORN",&"CREDITS_KEVIN_KUSCH",&"CREDITS_TREY_WATKINS"); + maps\_credits::addcentertriple(&"CREDITS_DAVID_SCHULTZ",&"CREDITS_KEVIN_NORWOOD",&"CREDITS_VARDAN_BAGHDASARYAN"); + maps\_credits::addcentertriple(&"CREDITS_DEVIN_CURRY",&"CREDITS_KIMBERLY_MARLIS",&"CREDITS_VINCENT_COUCH"); + maps\_credits::addcentertriple(&"CREDITS_DEVON_FAY",&"CREDITS_KRISTIN_GALLAGHER",&"CREDITS_YOUNG_KIM"); + maps\_credits::addcentertriple(&"CREDITS_DONOVAN_KEELE",&"CREDITS_KRISTINA_ADELMEYER",&"CREDITS_ZACH_REINHARDT"); + maps\_credits::addcentertriple(&"CREDITS_DORIAN_COMPO",&"CREDITS_KRISTOPHER_GREENE",&"CREDITS_ZACHARY_REYNOLDS"); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_CENTRAL_TECHNOLOGY_GROUP"); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple(&"CREDITS_ALI_TIMNAK",&"CREDITS_GAURAV_SHELLIKERI",&"CREDITS_NATE_LEWIS"); + maps\_credits::addcentertriple(&"CREDITS_ALLAN_JONES",&"CREDITS_IAN_WILSON",&"CREDITS_PAT_GRIFFITH"); + maps\_credits::addcentertriple(&"CREDITS_BEN_STRAGNELL",&"CREDITS_JAN_VAN_VALBURG",&"CREDITS_PAUL_EDELSTEIN"); + maps\_credits::addcentertriple(&"CREDITS_BILL_PETRO",&"CREDITS_KEITH_KAPLAN",&"CREDITS_PAUL_MALIN"); + maps\_credits::addcentertriple(&"CREDITS_CHARLIE_BIRTWISTLE",&"CREDITS_MANNY_KO",&"CREDITS_PAUL_ROBINSON"); + maps\_credits::addcentertriple(&"CREDITS_CHRIS_COOKSON",&"CREDITS_MICHAEL_VANCE",&"CREDITS_PETERPIKE_SLOAN"); + maps\_credits::addcentertriple(&"CREDITS_DAVE_COWLING",&"CREDITS_MICHAL_IWANICKI",&"CREDITS_RYAN_MARCHAND"); + maps\_credits::addcentertriple(&"CREDITS_FELIPE_GOMEZFRITTELLI",&"CREDITS_MICHAL_STARK",&"CREDITS_TRACIE_CLEAVELIN"); + maps\_credits::addcentertriple("",&"CREDITS_MIKE_MARR",&"CREDITS_WADE_BRAINERD"); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_DEMONWARE"); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple(&"CREDITS_ADAM_PENNER",&"CREDITS_ERIK_NIKLAS",&"CREDITS_NIC_NERO"); + maps\_credits::addcentertriple(&"CREDITS_ADAM_TALSMA",&"CREDITS_FRANCISCO_GARCIA_MIRANDA",&"CREDITS_NIC_ROLAND"); + maps\_credits::addcentertriple(&"CREDITS_ADRIAN_OLIVER",&"CREDITS_GARRETT_LYNCH",&"CREDITS_NICK_MURTAGH"); + maps\_credits::addcentertriple(&"CREDITS_ALAN_HALL",&"CREDITS_GARY_QUAN",&"CREDITS_NICOLA_COLLERAN"); + maps\_credits::addcentertriple(&"CREDITS_ALEX_CHACHKOV",&"CREDITS_GARY_RAFTER",&"CREDITS_OMI_GAO"); + maps\_credits::addcentertriple(&"CREDITS_ALEX_COUTUREBEIL",&"CREDITS_GERALD_MAGNUSSON",&"CREDITS_OTTO_YIU"); + maps\_credits::addcentertriple(&"CREDITS_ALEX_YUAN",&"CREDITS_GLEB_REYS",&"CREDITS_OWEN_KILGANNON"); + maps\_credits::addcentertriple(&"CREDITS_ALEXANDRU_TOTOLICI",&"CREDITS_GLEN_POWLEY",&"CREDITS_PADRAIC_HALLINAN"); + maps\_credits::addcentertriple(&"CREDITS_ALLAN_KUMKA",&"CREDITS_GORDON_KLOK",&"CREDITS_PAN_YE"); + maps\_credits::addcentertriple(&"CREDITS_ALLEN_ZHANG",&"CREDITS_GORDON_SCHNEIDER",&"CREDITS_PARSA_SHABANI"); + maps\_credits::addcentertriple(&"CREDITS_AMY_SMITH",&"CREDITS_GRAEME_NORDGREN",&"CREDITS_PARVINDER_SINGH_GREWAL"); + maps\_credits::addcentertriple(&"CREDITS_ANAR_RAHIMLI",&"CREDITS_GRAHAM_CAMPBELL",&"CREDITS_PATRICK_BARRINGTON"); + maps\_credits::addcentertriple(&"CREDITS_ANDRE_CARON",&"CREDITS_GREG_SMITH",&"CREDITS_PATRICK_MAMAID"); + maps\_credits::addcentertriple(&"CREDITS_ANDREW_AGNO",&"CREDITS_GREGORY_MAYER",&"CREDITS_PAUL_HOEFGEN"); + maps\_credits::addcentertriple(&"CREDITS_ANDREW_LAI",&"CREDITS_GUSTAVO_BARATTO",&"CREDITS_PAULINE_BYRNE"); + maps\_credits::addcentertriple(&"CREDITS_ANDREW_RITCHIE",&"CREDITS_HAMZA_FARAN",&"CREDITS_PEDRO_CALCAO"); + maps\_credits::addcentertriple(&"CREDITS_ANDREW_ROWE",&"CREDITS_HOWARD_LU",&"CREDITS_PETER_KIESER"); + maps\_credits::addcentertriple(&"CREDITS_ANDREY_POLYAKOV",&"CREDITS_HUAIDONG_WANG",&"CREDITS_PHIL_MERRICKS"); + maps\_credits::addcentertriple(&"CREDITS_ANGEL_RAMBOI",&"CREDITS_JAIME_BUELTA",&"CREDITS_PIOTR_SIEKLUCKI"); + maps\_credits::addcentertriple(&"CREDITS_ANNIE_BENNETT",&"CREDITS_JAKE_NAGAZINE",&"CREDITS_RALUCA_IVAN"); + maps\_credits::addcentertriple(&"CREDITS_ANTOINE_LEPINE",&"CREDITS_JAKE_XU",&"CREDITS_RASHID_BHAMJEE"); + maps\_credits::addcentertriple(&"CREDITS_ARTHUR_GREEN",&"CREDITS_JASON_HAGAO_WEI",&"CREDITS_RICHARD_DELANEY"); + maps\_credits::addcentertriple(&"CREDITS_ARTIOM_LUNEV",&"CREDITS_JASON_LAM",&"CREDITS_RICHARD_LUBELL"); + maps\_credits::addcentertriple(&"CREDITS_BOTI_BERES",&"CREDITS_JEFF_MILLS",&"CREDITS_RICK_BARZILLI"); + maps\_credits::addcentertriple(&"CREDITS_BRENDAN_DILLON",&"CREDITS_JEREMIE_BETHMONT",&"CREDITS_ROBERT_KEIGHTLEY"); + maps\_credits::addcentertriple(&"CREDITS_BRENDAN_FIELDS",&"CREDITS_JEREMY_REIMER",&"CREDITS_ROMAN_LISAGOR"); + maps\_credits::addcentertriple(&"CREDITS_BRIAN_MCGEOUGH",&"CREDITS_JOHN_ALLEN",&"CREDITS_RUAIDHRI_POWER"); + maps\_credits::addcentertriple(&"CREDITS_BRUNO_FURTADO",&"CREDITS_JOHN_BRACKENS",&"CREDITS_RUI_JIANG"); + maps\_credits::addcentertriple(&"CREDITS_BYRON_PILE",&"CREDITS_JOHN_HAMILL",&"CREDITS_RUTH_MURPHY"); + maps\_credits::addcentertriple(&"CREDITS_CAROLINE_OGAWA",&"CREDITS_JOHN_KIRK",&"CREDITS_RYAN_BLAZECKA"); + maps\_credits::addcentertriple(&"CREDITS_CATALINA_CICIOIU",&"CREDITS_JOHN_WANG",&"CREDITS_RYAN_CHAU"); + maps\_credits::addcentertriple(&"CREDITS_CATHAL_OHALLORAN",&"CREDITS_JOOHWAN_OH",&"CREDITS_RYAN_HUNTER"); + maps\_credits::addcentertriple(&"CREDITS_CATHERINE_GAVIN",&"CREDITS_JORDAN_TAEKEMA",&"CREDITS_SCOTT_BUCHANAN"); + maps\_credits::addcentertriple(&"CREDITS_CATHERINE_MCCARTHY",&"CREDITS_JOSH_PLOUFFE",&"CREDITS_SCOTT_LEE"); + maps\_credits::addcentertriple(&"CREDITS_CHASE_VIGAR",&"CREDITS_JOYCE_WU",&"CREDITS_SEAN_ODONNELL"); + maps\_credits::addcentertriple(&"CREDITS_CHRIS_HUT",&"CREDITS_KALE_STEDMAN",&"CREDITS_SEAN_OSULLIVAN"); + maps\_credits::addcentertriple(&"CREDITS_CHRIS_REYNOLDS",&"CREDITS_KARL_GERMYN",&"CREDITS_SERGII_MIKHTONIUK"); + maps\_credits::addcentertriple(&"CREDITS_CHRISTIE_WILSON",&"CREDITS_KATHRYN_BAKER",&"CREDITS_SHAHAB_NAZEMI"); + maps\_credits::addcentertriple(&"CREDITS_CHRISTOPHER_MARTIN",&"CREDITS_KULBIR_SINGH",&"CREDITS_SHAWN_TAGSETH"); + maps\_credits::addcentertriple(&"CREDITS_CHRISTOPHER_MCKNIGHT",&"CREDITS_LEE_CASH",&"CREDITS_SINEAD_DEVEREUX"); + maps\_credits::addcentertriple(&"CREDITS_CHRISTOPHER_MUELLER",&"CREDITS_LIAM_MACINNES",&"CREDITS_SIOBHAN_GOLDEN"); + maps\_credits::addcentertriple(&"CREDITS_COLIN_CASHIN",&"CREDITS_LIAM_WALSH",&"CREDITS_STEFAN_REIMER"); + maps\_credits::addcentertriple(&"CREDITS_COLIN_COX",&"CREDITS_LISA_REILLY",&"CREDITS_STEFFEN_HIGEL"); + maps\_credits::addcentertriple(&"CREDITS_COLIN_DEASY",&"CREDITS_LUKE_BURDEN",&"CREDITS_STEPHANE_DUDZINSKI"); + maps\_credits::addcentertriple(&"CREDITS_COLLEEN_KEYLAND",&"CREDITS_MACIEJ_ANCZURA",&"CREDITS_STEPHANIE_CATES"); + maps\_credits::addcentertriple(&"CREDITS_CONNOR_MAYER",&"CREDITS_MALCOLM_DOWSE",&"CREDITS_STERLING_HOEREE"); + maps\_credits::addcentertriple(&"CREDITS_CONOR_CONROY",&"CREDITS_MARIA_LEE",&"CREDITS_STEVEN_EAREAST"); + maps\_credits::addcentertriple(&"CREDITS_CORMAC_MULHALL",&"CREDITS_MARIAN_CULLEN",&"CREDITS_STEVEN_ERENST"); + maps\_credits::addcentertriple(&"CREDITS_CRAIG_MCINNES",&"CREDITS_MARIN_NELSON",&"CREDITS_STEVEN_YOUNG"); + maps\_credits::addcentertriple(&"CREDITS_DAMIEN_MARSHALL",&"CREDITS_MARK_MCGREE",&"CREDITS_STUART_FOX"); + maps\_credits::addcentertriple(&"CREDITS_DAN_FRINCU",&"CREDITS_MARTIN_CLARKE",&"CREDITS_SUZANNE_BOYLAN"); + maps\_credits::addcentertriple(&"CREDITS_DANIEL_COBBAN",&"CREDITS_MARTIN_PELIKAN",&"CREDITS_TAO_SU"); + maps\_credits::addcentertriple(&"CREDITS_DANIEL_LIN",&"CREDITS_MATTHEW_EDWARDS",&"CREDITS_TENDAYI_MAWUSHE"); + maps\_credits::addcentertriple(&"CREDITS_DARA_PRICE",&"CREDITS_MATTHEW_SAWASY",&"CREDITS_THOMAS_SHAW"); + maps\_credits::addcentertriple(&"CREDITS_DAVID_BALLANO_FERNANDEZ",&"CREDITS_MERI_MORGANOV",&"CREDITS_TIM_CZERNIAK"); + maps\_credits::addcentertriple(&"CREDITS_DAVID_BRENNAN",&"CREDITS_MICHAEL_ATAVINE",&"CREDITS_TIM_PATTERSON"); + maps\_credits::addcentertriple(&"CREDITS_DAVID_FALLOON",&"CREDITS_MICHAEL_COLLINS",&"CREDITS_TIM_TSCHIRNER"); + maps\_credits::addcentertriple(&"CREDITS_DAVID_LIN",&"CREDITS_MICHAEL_EDWARDS",&"CREDITS_TONY_YANG"); + maps\_credits::addcentertriple(&"CREDITS_DAVID_LYNAM",&"CREDITS_MICHELE_MAZZUCCO",&"CREDITS_TRAVIS_KAY"); + maps\_credits::addcentertriple(&"CREDITS_DAVIDE_ROMANI",&"CREDITS_MIKE_WHITTY",&"CREDITS_VLADISLAV_TITOV"); + maps\_credits::addcentertriple(&"CREDITS_DEMIAN_BRECHT",&"CREDITS_MIROSLAW_BARAN",&"CREDITS_WENDY_ROBILLARD"); + maps\_credits::addcentertriple(&"CREDITS_DMYTRO_DYACHUK",&"CREDITS_MOHAMMAD_RAJAIE_AL_KORANI",&"CREDITS_WILLIAM_WEI"); + maps\_credits::addcentertriple(&"CREDITS_DUNCAN_MCNAB",&"CREDITS_MOHAN_RAJAMANICKAM",&"CREDITS_WOODY_YANG"); + maps\_credits::addcentertriple(&"CREDITS_EDWARD_BAKER",&"CREDITS_MORGAN_BRICKLEY",&"CREDITS_WOOSLEY_XU"); + maps\_credits::addcentertriple(&"CREDITS_ELI_KAZMIROUK",&"CREDITS_NADIA_ALRAMLI",&"CREDITS_Y_NGUYEN"); + maps\_credits::addcentertriple(&"CREDITS_EMMA_MCBREEN",&"CREDITS_NATALIE_MURRAY",&"CREDITS_YASCHA_FRIESEN"); + maps\_credits::addcentertriple(&"CREDITS_EMMANUEL_STONE",&"CREDITS_NEIL_WALSH",&"CREDITS_YOUHUA_LI"); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_ACTIVISION_CAPTURE_STUDIO"); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple(&"CREDITS_ANDRE_LOPEZ",&"CREDITS_EVAN_BUTTON",&"CREDITS_MICHAEL_JANTZ"); + maps\_credits::addcentertriple(&"CREDITS_BEN_WATSON",&"CREDITS_MATT_KARNES",""); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_CENTRAL_AUDIO"); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple(&"CREDITS_ADAM_BOYD",&"CREDITS_MARK_JASPER",&"CREDITS_TREVOR_BRESAW"); + maps\_credits::addcentertriple("","",&"CREDITS_VICTOR_DURLING"); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_CENTRAL_STUDIOS"); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple(&"CREDITS_ADAM_FOSHKO",&"CREDITS_DAVID_BULLAT_II",&"CREDITS_JORGE_JIMENEZ"); + maps\_credits::addcentertriple(&"CREDITS_ALEX_SMITH",&"CREDITS_ETIENNE_DANVOYE",&"CREDITS_LIM_HUR"); + maps\_credits::addcentertriple(&"CREDITS_ALI_TIMNAK",&"CREDITS_EVALINA_SHIN",&"CREDITS_MIKE_EHELER"); + maps\_credits::addcentertriple(&"CREDITS_ANGELO_PESCE",&"CREDITS_HEATHER_POLUBINSKI",&"CREDITS_PAUL_ROBINSON"); + maps\_credits::addcentertriple(&"CREDITS_BERNARDO_ANTONIAZZI",&"CREDITS_JAMIE_VENABLE",&"CREDITS_RYAN_FORD"); + maps\_credits::addcentertriple(&"CREDITS_CARL_SCHNURR",&"CREDITS_JAVIER_VON_DER_PAHLEN",&"CREDITS_SASHA_REBECCA_GROSS"); + maps\_credits::addcentertriple(&"CREDITS_CHRIS_CODDING",&"CREDITS_JEFF_CHEN",&"CREDITS_STEVE_PEARCE"); + maps\_credits::addcentertriple(&"CREDITS_CHRISTOPHER_H__ELLIS",&"CREDITS_JENNIFER_VELAZQUEZ",&"CREDITS_SYLVAIN_DOREAU"); + maps\_credits::addcentertriple("","",&"CREDITS_WALTER_KIM"); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_WRITTEN_BY_SLEDGEHAMMER_GAMES_"); + maps\_credits::addcenterdual(&"CREDITS_JOHN_MACINNES",&"CREDITS_ERIC_HIRSHBERG"); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_STORY_BY"); + maps\_credits::addcentertriple("",&"CREDITS_MARK_BOAL",""); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_CONSULTING_PRODUCER"); + maps\_credits::addcentertriple("",&"CREDITS_DANA_BRUNETTI",""); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_CAST"); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple("",&"CREDITS_LED_BY",""); + maps\_credits::addcenterdual(&"CREDITS_KEVIN_SPACEY",&"CREDITS_AS_JONATHAN_IRONS"); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple("",&"CREDITS_WITH",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple("",&"CREDITS_ADE_MCCORMACK",""); + maps\_credits::addcentertriple("",&"CREDITS_ANGELA_GOTS",""); + maps\_credits::addcentertriple("",&"CREDITS_BRIAN_BLOOM",""); + maps\_credits::addcentertriple("",&"CREDITS_BRIAN_T_DELANEY",""); + maps\_credits::addcentertriple("",&"CREDITS_EMERSON_BROOKS",""); + maps\_credits::addcentertriple("",&"CREDITS_GIDEON_EMERY",""); + maps\_credits::addcentertriple("",&"CREDITS_HELEN_SADLER",""); + maps\_credits::addcentertriple("",&"CREDITS_IKE_AMADI",""); + maps\_credits::addcentertriple("",&"CREDITS_JEREMY_KENT_JACKSON",""); + maps\_credits::addcentertriple("",&"CREDITS_JOSH_KEATON",""); + maps\_credits::addcentertriple("",&"CREDITS_KHARY_PAYTON",""); + maps\_credits::addcentertriple("",&"CREDITS_MATT_RIEDY",""); + maps\_credits::addcentertriple("",&"CREDITS_MISTY_LEE",""); + maps\_credits::addcentertriple("",&"CREDITS_NTARE_MWINE",""); + maps\_credits::addcentertriple("",&"CREDITS_PAUL_TELFER",""); + maps\_credits::addcentertriple("",&"CREDITS_RUSSELL_RICHARDSON",""); + maps\_credits::addcentertriple("",&"CREDITS_SCOTT_WHYTE",""); + maps\_credits::addcentertriple("",&"CREDITS_SHARIF_IBRAHIM",""); + maps\_credits::addcentertriple("",&"CREDITS_STEVE_BLUM",""); + maps\_credits::addcentertriple("",&"CREDITS_TROY_BAKER",""); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_ADDITIONAL_CAST"); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple(&"CREDITS_ADAM_JENNINGS",&"CREDITS_ELIZABETH_GUEST",&"CREDITS_MICHELLE_BONILLA"); + maps\_credits::addcentertriple(&"CREDITS_ALAN_TUDYK",&"CREDITS_ERIK_PASSOJA",&"CREDITS_MISTY_LEE"); + maps\_credits::addcentertriple(&"CREDITS_ANDREW_KISHINO",&"CREDITS_FRED_TATASCIORE",&"CREDITS_NICHOLAS_GUEST"); + maps\_credits::addcentertriple(&"CREDITS_ANTHONY_SKORDAS",&"CREDITS_FRYDA_WOLFF",&"CREDITS_NIKA_FUTTERMAN"); + maps\_credits::addcentertriple(&"CREDITS_BEN_DISKIN",&"CREDITS_IKE_AMADI",&"CREDITS_PAMELA_TYSON"); + maps\_credits::addcentertriple(&"CREDITS_BRIAN_BLOOM",&"CREDITS_IMARI_WILLIAMS",&"CREDITS_PAUL_MERCIER"); + maps\_credits::addcentertriple(&"CREDITS_BRIAN_DELANEY",&"CREDITS_JAMES_KYSON",&"CREDITS_PHIL_PROCTOR"); + maps\_credits::addcentertriple(&"CREDITS_CARIN_BAKER",&"CREDITS_JB_BLANC",&"CREDITS_PHILLIP_ANTHONY_RADRIGUEZ"); + maps\_credits::addcentertriple(&"CREDITS_CHARLES_PARNELL",&"CREDITS_JEFF_SCHINE",&"CREDITS_RAJIA_BAROUDI"); + maps\_credits::addcentertriple(&"CREDITS_CHARLET_CHUNG",&"CREDITS_JOEY_NABER",&"CREDITS_RAYMOND_LEE"); + maps\_credits::addcentertriple(&"CREDITS_CRISPIN_FREEMAN",&"CREDITS_JONATHAN_NICHOLS",&"CREDITS_RICHARD_EPCAR"); + maps\_credits::addcentertriple(&"CREDITS_DAISUKE_SUZUKI",&"CREDITS_KEVIN_DORMAN",&"CREDITS_RON_BOTTITTA"); + maps\_credits::addcentertriple(&"CREDITS_DANIEL_CUMMINGS",&"CREDITS_KEVIN_MARRON",&"CREDITS_SCOTT_MENVILLE"); + maps\_credits::addcentertriple(&"CREDITS_DANIEL_RIORDAN",&"CREDITS_KHARY_PAYTON",&"CREDITS_SCOTT_WHYTE"); + maps\_credits::addcentertriple(&"CREDITS_DARREN_OHARE",&"CREDITS_KIRK_THORNTON",&"CREDITS_SHANE_YOON"); + maps\_credits::addcentertriple(&"CREDITS_DAVE_B_MITCHELL",&"CREDITS_LEX_LANG",&"CREDITS_STEVE_BLUM"); + maps\_credits::addcentertriple(&"CREDITS_DAVE_BOAT",&"CREDITS_MARK_ENGLEHARDT",&"CREDITS_TALON_BEESON"); + maps\_credits::addcentertriple(&"CREDITS_DAVE_FOUQUETTE",&"CREDITS_MATT_BUSHNELL",&"CREDITS_TERRI_DOUGLAS"); + maps\_credits::addcentertriple(&"CREDITS_DAVID_COWGILL",&"CREDITS_MATT_WEBER",&"CREDITS_TODD_HABERKORN"); + maps\_credits::addcentertriple(&"CREDITS_DAVID_KAYE",&"CREDITS_MICHAEL_BENYAER",&"CREDITS_TROY_BAKER"); + maps\_credits::addcentertriple(&"CREDITS_DEBRA_WILSON",&"CREDITS_MICHAEL_SIBAY",&"CREDITS_WENDY_CUTLER"); + maps\_credits::addcentertriple("",&"CREDITS_MICHAEL_SORICH",&"CREDITS_YURI_LOWENTHAL"); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_PERFORMANCE_DIRECTION_BY"); + maps\_credits::addcentertriple("",&"CREDITS_REMINGTON_SCOTT",""); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_CASTING_BY"); + maps\_credits::addcentertriple("",&"CREDITS_IVY_ISENBERG",""); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_LOCATION_SCOUT"); + maps\_credits::addcentertriple("",&"CREDITS_SCOTT_TRIMBLE",""); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcenterheading(&"CREDITS_CINEMATICS"); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_DIGIC"); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple(&"CREDITS_ADAM_FARKAS",&"CREDITS_GABOR_SZEMAN",&"CREDITS_PETER_BUJDOSO"); + maps\_credits::addcentertriple(&"CREDITS_ADAM_JUHASZ",&"CREDITS_GABOR_TANAY",&"CREDITS_PETER_FASI"); + maps\_credits::addcentertriple(&"CREDITS_ALEX_SANDOR_RABB",&"CREDITS_GABRIELLA_BANFALVI",&"CREDITS_PETER_HOSTYANSZKI"); + maps\_credits::addcentertriple(&"CREDITS_ANDRAS_DOMANY",&"CREDITS_GEZA_KERTI",&"CREDITS_PETER_JURANKA"); + maps\_credits::addcentertriple(&"CREDITS_ANDRAS_JAMBORI",&"CREDITS_GYORGY_HORVATH",&"CREDITS_PETER_LINKA"); + maps\_credits::addcentertriple(&"CREDITS_ANDRAS_TARSOLY",&"CREDITS_GYORGY_SEBESTYEN",&"CREDITS_PETER_NAGY"); + maps\_credits::addcentertriple(&"CREDITS_ANDREA_MIKUS",&"CREDITS_GYORGY_TOTH",&"CREDITS_PETER_SVED"); + maps\_credits::addcentertriple(&"CREDITS_ANIKO_HODI",&"CREDITS_GYULA_TOTH",&"CREDITS_PETER_TAKATSI"); + maps\_credits::addcentertriple(&"CREDITS_ATTILA_CHOVANECZ",&"CREDITS_HASAN_BAJRAMOVIC",&"CREDITS_PETRA_VARGA"); + maps\_credits::addcentertriple(&"CREDITS_ATTILA_CSEPY",&"CREDITS_HUGO_MORAIS",&"CREDITS_RAFAEL_ZUBAN"); + maps\_credits::addcentertriple(&"CREDITS_ATTILA_DEAK",&"CREDITS_IMRE_TUSKE",&"CREDITS_RAYMOND_WEGNER"); + maps\_credits::addcentertriple(&"CREDITS_ATTILA_SOLT",&"CREDITS_ISTVAN_GINDELE",&"CREDITS_RIA_TAMOK"); + maps\_credits::addcentertriple(&"CREDITS_ATTILA_SZENES",&"CREDITS_ISTVAN_VASTAG",&"CREDITS_ROBERT_BABENKO"); + maps\_credits::addcentertriple(&"CREDITS_ATTILA_SZIGETI",&"CREDITS_ISTVAN_ZORKOCZY",&"CREDITS_ROBERT_FERENCZI"); + maps\_credits::addcentertriple(&"CREDITS_BALAZS_ARI",&"CREDITS_ISTVAN_ZSOTER",&"CREDITS_ROBERT_KOVACS"); + maps\_credits::addcentertriple(&"CREDITS_BALAZS_BERTALAN",&"CREDITS_JOZSEF_BOSNYAK",&"CREDITS_ROBERT_TOTH"); + maps\_credits::addcentertriple(&"CREDITS_BALAZS_FARKAS",&"CREDITS_JOZSEF_CZAKO",&"CREDITS_ROBERT_VARI"); + maps\_credits::addcentertriple(&"CREDITS_BALAZS_HORVATH",&"CREDITS_JOZSEF_FODOR",&"CREDITS_ROLAND_BODIS"); + maps\_credits::addcentertriple(&"CREDITS_BALAZS_KEREK",&"CREDITS_JOZSEF_LAUFER",&"CREDITS_SANDOR_BIRO"); + maps\_credits::addcentertriple(&"CREDITS_BARBARA_BERECZKEI",&"CREDITS_JOZSEF_LISZKAI",&"CREDITS_SZABOLCS_DUDAS"); + maps\_credits::addcentertriple(&"CREDITS_BARNABAS_KOVACS",&"CREDITS_JUDIT_VERONIKA_SOMOGYVARI",&"CREDITS_SZABOLCS_HORVATTH"); + maps\_credits::addcentertriple(&"CREDITS_BEATA_BORZOK",&"CREDITS_KAMEN_ANEV",&"CREDITS_SZABOLCS_SIKLOSI"); + maps\_credits::addcentertriple(&"CREDITS_BEATRIX_PAPP",&"CREDITS_KAROLY_MATYAS",&"CREDITS_TAMAS_GYERMAN"); + maps\_credits::addcentertriple(&"CREDITS_BENCE_SZORADI",&"CREDITS_KAROLY_PORKOLAB",&"CREDITS_TAMAS_JAROLICS"); + maps\_credits::addcentertriple(&"CREDITS_BORIS_IGNJATOVIC",&"CREDITS_KORNEL_RAVADITS",&"CREDITS_TAMAS_KERTI"); + maps\_credits::addcentertriple(&"CREDITS_CSABA_KOVARI",&"CREDITS_KRISTOF_RAB",&"CREDITS_TAMAS_KURDI"); + maps\_credits::addcentertriple(&"CREDITS_CSABA_MATE",&"CREDITS_KRISZTIAN_KINDER",&"CREDITS_TAMAS_SASVARI"); + maps\_credits::addcentertriple(&"CREDITS_DANIEL_BUKOVEC",&"CREDITS_KRISZTIAN_SZEIBOLD",&"CREDITS_TAMAS_TOTHFALUSSY"); + maps\_credits::addcentertriple(&"CREDITS_DANIEL_MOLNAR",&"CREDITS_KRISZTINA_KISS",&"CREDITS_TAMAS_VARGA"); + maps\_credits::addcentertriple(&"CREDITS_DAVID_FESUSFARKAS",&"CREDITS_LAJOS_NAGY",&"CREDITS_TIBOR_NADAS"); + maps\_credits::addcentertriple(&"CREDITS_DAVID_LANTOS",&"CREDITS_LASZLO_KOVACS",&"CREDITS_TIMEA_NEMETH"); + maps\_credits::addcentertriple(&"CREDITS_DAVID_RINGEISEN",&"CREDITS_LASZLO_MACZO",&"CREDITS_TIMEA_ZSOTERSEREGELYES"); + maps\_credits::addcentertriple(&"CREDITS_DIANA_SINDEL",&"CREDITS_LASZLO_RUSKA",&"CREDITS_VIKTOR_NEMETH"); + maps\_credits::addcentertriple(&"CREDITS_DORIAN_BUGAN",&"CREDITS_LASZLO_SZABO",&"CREDITS_VIKTOR_WINKLER"); + maps\_credits::addcentertriple(&"CREDITS_ELOD_TOTH",&"CREDITS_LEHEL_KARSA",&"CREDITS_VIKTORIA_MAK"); + maps\_credits::addcentertriple(&"CREDITS_ESZTER_SZOLLOSI",&"CREDITS_LEVENTE_GAJDOS",&"CREDITS_VILMOS_THERNESZ"); + maps\_credits::addcentertriple(&"CREDITS_EVA_KOVACS",&"CREDITS_LILLA_KOCSIS",&"CREDITS_VIRAG_BARTA"); + maps\_credits::addcentertriple(&"CREDITS_FERENC_JUHASZ",&"CREDITS_LINDA_MARK",&"CREDITS_ZOLTAN_BKECSKEMETI"); + maps\_credits::addcentertriple(&"CREDITS_FERENC_PETROVICS",&"CREDITS_MARCELL_NAGY_HARASZTI",&"CREDITS_ZOLTAN_FODOR"); + maps\_credits::addcentertriple(&"CREDITS_FERENC_UGRAI",&"CREDITS_MARK_GYORGYFALVAY",&"CREDITS_ZOLTAN_HOLLOSY"); + maps\_credits::addcentertriple(&"CREDITS_FLORIAN_ULRICH",&"CREDITS_MARTON_FUZES",&"CREDITS_ZOLTAN_KOCS"); + maps\_credits::addcentertriple(&"CREDITS_GABOR_AMBRUS",&"CREDITS_MARTON_SELIGA",&"CREDITS_ZOLTAN_KORCSOK"); + maps\_credits::addcentertriple(&"CREDITS_GABOR_ESZENYI",&"CREDITS_MATE_BODOR",&"CREDITS_ZORAN_ARIZANOVIC"); + maps\_credits::addcentertriple(&"CREDITS_GABOR_FONER",&"CREDITS_MATYAS_SZABO",&"CREDITS_ZSOLT_CSIK"); + maps\_credits::addcentertriple(&"CREDITS_GABOR_HANZI",&"CREDITS_MIHALY_ROBERT_MOLNAR",&"CREDITS_ZSOLT_DOMSODI"); + maps\_credits::addcentertriple(&"CREDITS_GABOR_HORVATH",&"CREDITS_MIKLOS_GABOR",&"CREDITS_ZSOLT_GERGELY"); + maps\_credits::addcentertriple(&"CREDITS_GABOR_KALI",&"CREDITS_NORBERT_KISS",&"CREDITS_ZSOLT_KATONA"); + maps\_credits::addcentertriple(&"CREDITS_GABOR_LASZLO",&"CREDITS_NORBERT_NAGY",&"CREDITS_ZSOLT_MEZEI"); + maps\_credits::addcentertriple(&"CREDITS_GABOR_LENDVAI",&"CREDITS_ORSOLYA_ZSIGMOND",&"CREDITS_ZSOLT_VIDA"); + maps\_credits::addcentertriple(&"CREDITS_GABOR_MEDINACZ",&"CREDITS_PETER_B_KOVACS",&"CREDITS_ZSUZSANNA_SZIVA"); + maps\_credits::addcentertriple(&"CREDITS_GABOR_NAGY",&"CREDITS_PETER_BERTALAN",&"CREDITS_ZSUZSI_RACZ"); + maps\_credits::addcentertriple(&"CREDITS_GABOR_REPASI","",""); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_SPOV"); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple(&"CREDITS_ADAM_ROCHE",&"CREDITS_EMMA_MIDDLEMISS",&"CREDITS_MANTAS_GRIGAITIS"); + maps\_credits::addcentertriple(&"CREDITS_ALLEN_LEITCH",&"CREDITS_IAN_JONES",&"CREDITS_MILES_CHRISTENSEN"); + maps\_credits::addcentertriple(&"CREDITS_ANDREA_BRAGA",&"CREDITS_KHAIRUL_AHMED",&"CREDITS_PAUL_HUNT"); + maps\_credits::addcentertriple(&"CREDITS_DAN_HIGGOTT",&"CREDITS_KIERAN_GEEFINCH",&"CREDITS_RYAN_HAYS"); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_ADDITIONAL_CINEMATICS_BY_AXIS_"); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcenterheading(&"CREDITS_ADDITIONAL_LIGHTING_DEVELOPMEN"); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_COMPANY_3"); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple(&"CREDITS_ALEXANDER_STEIN",&"CREDITS_DANIEL_OBERLECHNER",&"CREDITS_STEFAN_SONNENFELD"); + maps\_credits::addcentertriple(&"CREDITS_ALEXIS_GUAJARDO",&"CREDITS_MALTE_WAGENER",&"CREDITS_STEPHEN_NAKAMURA"); + maps\_credits::addcentertriple(&"CREDITS_BRYAN_SMALLER",&"CREDITS_MICHAEL_BOGGS",&"CREDITS_TBONE"); + maps\_credits::addcentertriple(&"CREDITS_DAMIAN_PELPHREY",&"CREDITS_RYAN_MCNEAL",""); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcenterheading(&"CREDITS_MOTION_CAPTURE"); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_GIANT_STUDIOS"); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple(&"CREDITS_ADOLFO_SANCHEZ",&"CREDITS_CONNIE_KENNEDY",&"CREDITS_LENNON_MONTEJO"); + maps\_credits::addcentertriple(&"CREDITS_ANDRE_POPOV",&"CREDITS_CONNOR_MURPHY",&"CREDITS_MATT_MADDEN"); + maps\_credits::addcentertriple(&"CREDITS_ANTHONY_PINTOR",&"CREDITS_DON_DECASTRO",&"CREDITS_SCOTT_OWEN"); + maps\_credits::addcentertriple(&"CREDITS_CANDICE_ALGER",&"CREDITS_JIM_ORLIK",&"CREDITS_THOMAS_SHI"); + maps\_credits::addcentertriple("",&"CREDITS_KEVIN_CUSHING",&"CREDITS_XOU_FANG"); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_EXTERNAL_VENDERS"); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple(&"CREDITS_TECHNICOLOR",&"CREDITS_VIDEO_HAWKS",&"CREDITS_CENTRAL_CASTING"); + maps\_credits::addcentertriple(&"CREDITS_CUBIC_MOTION",&"CREDITS_HOUSE_OF_MOVES",&"CREDITS_NERVE"); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_STUNT_COORDINATOR__FIGHT_CHORE"); + maps\_credits::addcentertriple("",&"CREDITS_ALLEN_JO",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_ASSISTANT_STUNT_COORDINATOR"); + maps\_credits::addcentertriple("",&"CREDITS_LATEEF_CROWDER",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_MOTION_CAPTURE_ACTORS_AND_STUN"); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple(&"CREDITS_AARON_COHEN",&"CREDITS_KOFI_YIADOM",&"CREDITS_LOREN_JONES"); + maps\_credits::addcentertriple(&"CREDITS_ALAN_NOEL_VEGA",&"CREDITS_MATT_RUGETTI",&"CREDITS_ANDREW_WEIR"); + maps\_credits::addcentertriple(&"CREDITS_DANNY_BOYER",&"CREDITS_SAM_LOOC",&"CREDITS_CHELSEA_B_ANDERSON"); + maps\_credits::addcentertriple(&"CREDITS_EFKA_KVARACIJUS",&"CREDITS_SAMANTHA_JO",&"CREDITS_TREVOR_COMPTON_REES"); + maps\_credits::addcentertriple(&"CREDITS_ERIC_ORAM",&"CREDITS_STEVE_BROWN",&"CREDITS_BRYAN_SKAAR"); + maps\_credits::addcentertriple(&"CREDITS_FREDDY_BOUCIEGUES",&"CREDITS_ZACH_HUDSON",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_STUNT_RIGGERS"); + maps\_credits::addspacesmall(); + maps\_credits::addcenterdual(&"CREDITS_STEVE_UPTON",&"CREDITS_NICK_BRANDON"); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcenterheading(&"CREDITS_ADDITIONAL_AUDIO_DEVELOPMENT"); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_FORMOSA_INTERACTIVE"); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple(&"CREDITS_BOB_RANKIN",&"CREDITS_DUNCAN_BROWN",&"CREDITS_MARK_CAMPERELL"); + maps\_credits::addcentertriple(&"CREDITS_BRETT_ROTHFELD",&"CREDITS_JAMES_BARKER",&"CREDITS_MICHAEL_BORMANN"); + maps\_credits::addcentertriple(&"CREDITS_CHAD_BEDELL",&"CREDITS_JESSICA_MEDINA",&"CREDITS_MYON_SAMPLE"); + maps\_credits::addcentertriple(&"CREDITS_DANIEL_P_FRANCIS",&"CREDITS_JULIA_BIANCO",&"CREDITS_ROBERT_REIDER"); + maps\_credits::addcentertriple(&"CREDITS_DAVID_NATALE",&"CREDITS_KIRSTEN_SCOLES",&"CREDITS_TYRONE_FORTE"); + maps\_credits::addcentertriple(&"CREDITS_DAVID_WALSH",&"CREDITS_LEILANI_RAMIREZ",&"CREDITS_WILLIAM_CHIP_BEAMAN"); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_SOURCE_SOUND"); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple(&"CREDITS_BO_LAHNER",&"CREDITS_DARRIN_MANN",&"CREDITS_ROBB_GILLIGAN"); + maps\_credits::addcentertriple(&"CREDITS_BRAKEN_PARKES",&"CREDITS_GREGG_BARBANELL",&"CREDITS_SAMUEL_JUSTICE"); + maps\_credits::addcentertriple(&"CREDITS_CHARLES_DEENEN",&"CREDITS_JAMEY_SCOTT",&"CREDITS_TIM_GEDEMER"); + maps\_credits::addcentertriple(&"CREDITS_CHRIS_SWEETMAN",&"CREDITS_JAY_JENNINGS",&"CREDITS_TOM_BREWER"); + maps\_credits::addcentertriple("",&"CREDITS_MITCH_OSIAS",&"CREDITS_TRAVIS_PRATER"); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_MUSIC"); + maps\_credits::addspacesmall(); + maps\_credits::addcenterdual(&"CREDITS_MAIN_TITLE_AND_THEMES_BY",&"CREDITS_HARRY_GREGSONWILLIAMS"); + maps\_credits::addcenterdual(&"CREDITS_ORIGINAL_MUSIC",&"CREDITS_AUDIOMACHINE"); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_ADDITIONAL_SOUND_DESIGN"); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple("",&"CREDITS_FRANK_BRY__THE_RECORDIST",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple("",&"CREDITS_ADDITIONAL_ART_SERVICES",""); + maps\_credits::addcentertriple(&"CREDITS_FENG_ZHU_DESIGN",&"CREDITS_TIPPETT_STUDIOS",&"CREDITS_RYAN_CHURCH"); + maps\_credits::addcentertriple("",&"CREDITS_THOMA_PRINGLE",""); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_ADDITIONAL_ART_AND_VIDEO_SUPPO"); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple(&"CREDITS_AARON_FENN",&"CREDITS_FRED_ALTMAN",&"CREDITS_NATALIE_WALI"); + maps\_credits::addcentertriple(&"CREDITS_AHMET_ATALAY",&"CREDITS_JASON_NORRID",&"CREDITS_ROB_TROY"); + maps\_credits::addcentertriple(&"CREDITS_ALEX_HOOKWAY",&"CREDITS_JAY_TRUMBULL",&"CREDITS_RYAN_VICKERS"); + maps\_credits::addcentertriple(&"CREDITS_BEAU_CASSIDY",&"CREDITS_JEFF_BURKE",&"CREDITS_SCOTT_CARSON"); + maps\_credits::addcentertriple(&"CREDITS_BRIAN_MURPHY",&"CREDITS_JOE_HUBBARD",&"CREDITS_SEAN_BRUST"); + maps\_credits::addcentertriple(&"CREDITS_CONNOR_CALLAGHAN",&"CREDITS_JOE_LINDQUIST",&"CREDITS_SHANE_NEEDHAM"); + maps\_credits::addcentertriple(&"CREDITS_DANIEL_REID",&"CREDITS_MARQUIS_CANNON",&"CREDITS_SIMONE_BENYACAR"); + maps\_credits::addcentertriple(&"CREDITS_ERIC_VAN_AELSTYN",&"CREDITS_MIKEY_PENDOLA",&"CREDITS_THOMAS_VELAZQUEZ"); + maps\_credits::addcentertriple("","",&"CREDITS_TOPHER_HENDRICKS"); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_SPECIAL_THANKS"); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple(&"CREDITS_ADAN_KODE",&"CREDITS_JACK_OHARA",&"CREDITS_MARK_WILLIAMSON"); + maps\_credits::addcentertriple(&"CREDITS_BRENT_INNES",&"CREDITS_JACOB_PAUL",&"CREDITS_MITCH_HALL"); + maps\_credits::addcentertriple(&"CREDITS_CHRIS_KERLEY",&"CREDITS_JAMES_KEITH",&"CREDITS_NATHAN_FERNSTEN"); + maps\_credits::addcentertriple(&"CREDITS_CHRISTOPHER_SUTER",&"CREDITS_JAMES_MCDONALD",&"CREDITS_NICHOLAS_MEYER"); + maps\_credits::addcentertriple(&"CREDITS_DALTON_FURY",&"CREDITS_JEFF_MARTIN",&"CREDITS_OAKLEY_INC"); + maps\_credits::addcentertriple(&"CREDITS_DAN_BUNTING",&"CREDITS_JEREMY_MAKIN",&"CREDITS_PAUL_SWENSON"); + maps\_credits::addcentertriple(&"CREDITS_DAN_WINTERS",&"CREDITS_JOHN_GOODWIN",&"CREDITS_PUNJAB"); + maps\_credits::addcentertriple(&"CREDITS_DAVE_STOHL",&"CREDITS_JT",&"CREDITS_RED"); + maps\_credits::addcentertriple(&"CREDITS_DAVID_OVIATT",&"CREDITS_KAIN",&"CREDITS_ROBERT_MACKEY"); + maps\_credits::addcentertriple(&"CREDITS_DAVID_VONDERHAAR",&"CREDITS_KEVIN_SMITH",&"CREDITS_RUSSELL_TAFURI"); + maps\_credits::addcentertriple(&"CREDITS_DOUG_BOALES",&"CREDITS_KEVIN_WARNICK",&"CREDITS_SWEDE"); + maps\_credits::addcentertriple(&"CREDITS_ERIN_CATTO",&"CREDITS_KRIS_ZIMMERMAN_SALTER",&"CREDITS_THE_ANT_FARM"); + maps\_credits::addcentertriple(&"CREDITS_GARY_STRETCH_WALLIN",&"CREDITS_KYLE_JON",&"CREDITS_TOM_EVANS"); + maps\_credits::addcentertriple(&"CREDITS_HANK_KEIRSEY",&"CREDITS_MARK_GORDON",&"CREDITS_UNCLEBUGS"); + maps\_credits::addcentertriple(&"CREDITS_HUTBOY",&"CREDITS_MARK_LAMIA",&"CREDITS_WILL_STAPLES"); + maps\_credits::addcentertriple("",&"CREDITS_SAN_MATEO_COUNTY_SHERIFFS_OFFI",""); + maps\_credits::addcentertriple("",&"CREDITS_THE_TALENTED_DEVELOPERS_AT_TRE",""); + maps\_credits::addcentertriple("",&"CREDITS_OUR_FRIENDS_AT_BUNGIE",""); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple("",&"CREDITS_ON_BEHALF_OF_MICHAEL_GLEN_AND_",""); + maps\_credits::addcentertriple("",&"CREDITS_WE_THANK_OUR_FAMILIES_AND_LOVE",""); + maps\_credits::addcentertriple("",&"CREDITS_YOU_GAVE_US_THE_STRENGTH_TO_RE",""); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcenterheading(&"CREDITS_ACTIVISION_PUBLISHING"); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_ACTIVISION_EXECUTIVE_TEAM"); + maps\_credits::addcenterdual(&"CREDITS_BOBBY_KOTICK",&"CREDITS_ERIC_HIRSHBERG"); + maps\_credits::addcenterdual(&"CREDITS_THOMAS_TIPPL",&"CREDITS_PAT_KELLY"); + maps\_credits::addcenterdual(&"CREDITS_DENNIS_DURKIN",&"CREDITS_DAVE_OXFORD"); + maps\_credits::addcenterdual(&"CREDITS_HUMAM_SAKHNINI",&"CREDITS_CODDY_JOHNSON"); + maps\_credits::addcenterdual(&"CREDITS_CHRIS_WALTHER",&"CREDITS_TIM_ELLIS"); + maps\_credits::addcenterdual(&"CREDITS_BRIAN_HODOUS",&"CREDITS_STEVE_PEARCE"); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_ACTIVISION_PRODUCTION_MANAGEME"); + maps\_credits::addcenterdual(&"CREDITS_ALYSSA_DELHOTALSCHOFIELD",&"CREDITS_JASON_ADES"); + maps\_credits::addcenterdual(&"CREDITS_ANDREW_HOFFACKER",&"CREDITS_JOE_CAMMORATA"); + maps\_credits::addcenterdual(&"CREDITS_CHRIS_CHOWDHURY",&"CREDITS_MARCUS_IREMONGER"); + maps\_credits::addcenterdual(&"CREDITS_DANIEL_SUAREZ",&"CREDITS_MATT_WELLMAN"); + maps\_credits::addcenterdual(&"CREDITS_JAMES_BONTI",&"CREDITS_NICK_LAMIA"); + maps\_credits::addcenterdual(&"CREDITS_JAMES_LODATO",&"CREDITS_SHANNON_WAHL"); + maps\_credits::addcenterdual("",&"CREDITS_YALE_MILLER"); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_ADDITIONAL_PRODUCTION"); + maps\_credits::addcenterdual(&"CREDITS_ANDREW_HOFFACKER",&"CREDITS_GRAHAM_HAGMAIER"); + maps\_credits::addcenterdual(&"CREDITS_ASH_THUKRAL",&"CREDITS_JASMINE_ALLEN"); + maps\_credits::addcenterdual(&"CREDITS_BEN_BRINKMAN",&"CREDITS_LISA_OHANIAN"); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_PRODUCT_MANAGEMENT"); + maps\_credits::addcenterdual(&"CREDITS_ALLEN_CORONA",&"CREDITS_ROB_KOSTICH"); + maps\_credits::addcenterdual(&"CREDITS_MATT_KERBEL",&"CREDITS_ROXANN_BELLE"); + maps\_credits::addcenterdual(&"CREDITS_MATT_COX",&"CREDITS_RYAN_SCOTT"); + maps\_credits::addcenterdual(&"CREDITS_MICHELLE_FONSECA",&"CREDITS_SAM_COOPER"); + maps\_credits::addcenterdual(&"CREDITS_PHILLIP_ZINDA",&"CREDITS_TYLER_MICHAUD"); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_ACTIVISION_PUBLIC_RELATIONS"); + maps\_credits::addcenterdual(&"CREDITS_ALAN_JOHNSON",&"CREDITS_MIKE_MANTARRO"); + maps\_credits::addcenterdual(&"CREDITS_KAREN_YI",&"CREDITS_MONICA_PONTRELLI"); + maps\_credits::addcenterdual(&"CREDITS_KYLE_WALKER",&"CREDITS_MONTE_LUTZ"); + maps\_credits::addcenterdual("",&"CREDITS_ROBERT_TAYLOR"); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_CONSUMER_MARKETING"); + maps\_credits::addcenterdual(&"CREDITS_TODD_HARVEY",&"CREDITS_DAVID_CUSHMAN"); + maps\_credits::addcenterdual(&"CREDITS_MIKE_PELLETIER",&"CREDITS_ANDREW_DRAKE"); + maps\_credits::addcenterdual(&"CREDITS_KAREN_STARR",&"CREDITS_KALE_BITTNER"); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_DIGITAL_MARKETING"); + maps\_credits::addcenterdual(&"CREDITS_JONATHAN_ANASTAS",&"CREDITS_CHRISTY_BUENA"); + maps\_credits::addcenterdual(&"CREDITS_DANIELLE_WOLFSON",&"CREDITS_JONATHAN_BARBONE"); + maps\_credits::addcenterdual(&"CREDITS_JUSTIN_MANFREDI",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_EXPERIENTIAL_MARKETING"); + maps\_credits::addcenterdual(&"CREDITS_JONATHAN_MURNANE",&"CREDITS_JEFF_PARKER"); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_ACTIVISION_CONSUMER_INSIGHTS"); + maps\_credits::addcenterdual(&"CREDITS_JUSTIN_SHEARER",&"CREDITS_LISA_WELCH"); + maps\_credits::addcenterdual(&"CREDITS_TAL_OREN",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_CUSTOMER_RELATIONSHIP_MANAGEME"); + maps\_credits::addcenterdual(&"CREDITS_ERIC_LYNCH",&"CREDITS_KARI_HISCOX"); + maps\_credits::addcenterdual(&"CREDITS_JULIUS_LAI",&"CREDITS_FALLON_CHRISTIAN"); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_RETAIL_MARKETING"); + maps\_credits::addcenterdual(&"CREDITS_CHETAN_DESAI",&"CREDITS_DUSTIN_BROWER"); + maps\_credits::addcenterdual(&"CREDITS_SEAN_DEXHEIMER",&"CREDITS_CLINT_THORN"); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_GLOBAL_DIGITAL_AND_MOBILE_SALE"); + maps\_credits::addcenterdual(&"CREDITS_ROB_SCHONFELD",&"CREDITS_SUGGIE_OH"); + maps\_credits::addcenterdual(&"CREDITS_JON_ESTANISLAO",&"CREDITS_PHIL_HOFMAN"); + maps\_credits::addcenterdual(&"CREDITS_GARRETT_BRODIE",&"CREDITS_MARCUS_MORGAN"); + maps\_credits::addcenterdual(&"CREDITS_KEVIN_FRYERS",&"CREDITS_DUSTIN_CARTER"); + maps\_credits::addcenterdual(&"CREDITS_JAMES_NICKERSON",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_EUROPEAN_MARKETING"); + maps\_credits::addcenterdual(&"CREDITS_DAVID_TYLER",&"CREDITS_STEFAN_LULUDES"); + maps\_credits::addcenterdual(&"CREDITS_MARK_COX",&"CREDITS_FRANCESCA_BRIGGS"); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_APAC_MARKETING"); + maps\_credits::addcenterdual(&"CREDITS_PHILIP_EARL",&"CREDITS_TOBY_DAVIS"); + maps\_credits::addcenterdual(&"CREDITS_PAUL_BUTCHER",&"CREDITS_MICHELLE_SCOTT"); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_LICENSING"); + maps\_credits::addcenterdual(&"CREDITS_ALICIA_MANDEVILLE",&"CREDITS_ALEX_GOMEZ"); + maps\_credits::addcenterdual(&"CREDITS_LINDSAY_FRIEDMAN",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_MEDIA"); + maps\_credits::addcenterdual(&"CREDITS_CAROLINE_MCNIEL",&"CREDITS_ALANA_WHITE"); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_ACTIVISION_PRODUCTION_SERVICES"); + maps\_credits::addcenterdual(&"CREDITS_ADRIAN_DEVALLY",&"CREDITS_JAVIER_FERNANDEZ_CORDOBA"); + maps\_credits::addcenterdual(&"CREDITS_ALBA_ROSALES",&"CREDITS_JEREMY_LEVI"); + maps\_credits::addcenterdual(&"CREDITS_ANDERSON_CAHET",&"CREDITS_JOANNE_SHELDON"); + maps\_credits::addcenterdual(&"CREDITS_AZIZ_JANAH",&"CREDITS_LAURA_COCCO"); + maps\_credits::addcenterdual(&"CREDITS_BARRY_KEHOE",&"CREDITS_MANNIX_KELLY"); + maps\_credits::addcenterdual(&"CREDITS_DEAN_ADAMSON",&"CREDITS_MANUELA_LORITZ"); + maps\_credits::addcenterdual(&"CREDITS_FAHD_SIDHOUM",&"CREDITS_MARCELLE_VARANDA"); + maps\_credits::addcenterdual(&"CREDITS_FALK_BUERGER",&"CREDITS_MICHELE_IORIO"); + maps\_credits::addcenterdual(&"CREDITS_FERGUS_LINDSAY",&"CREDITS_PAOLA_PALERMO"); + maps\_credits::addcenterdual(&"CREDITS_FIONA_EBBS",&"CREDITS_STEVEN_JOUCLA"); + maps\_credits::addcenterdual(&"CREDITS_HEBERTO_RIOS",&"CREDITS_THOMAS_LOPEZ"); + maps\_credits::addcenterdual(&"CREDITS_IVAR_ROCHAS_ARIAS",&"CREDITS_TODD_LAMBERT"); + maps\_credits::addcenterdual("",&"CREDITS_WERNER_NEMETZ"); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_ACTIVISION_PRODUCTION_SERVICES_QA"); + maps\_credits::addcentertriple("",&"CREDITS_AITOR_AGUDO_ESPINOSA_LOREDANA_FIORETTI",""); + maps\_credits::addcentertriple("",&"CREDITS_ALBERTO_CORREA_TOSTICROCE_LUCAS_DA_SILVA",""); + maps\_credits::addcentertriple("",&"CREDITS_ALEKSEJS_RADCENKO_MARCELLE_VARANDA",""); + maps\_credits::addcentertriple("",&"CREDITS_ALFIO_FEDERICO_DI_PINTO_MARIT_HOFSTRA",""); + maps\_credits::addcentertriple("",&"CREDITS_ALFONSO_CASANOVA_MATHIEU_GERARD",""); + maps\_credits::addcentertriple("",&"CREDITS_ALI_BEKRI_MATIAS_DANIEL_CROCCO",""); + maps\_credits::addcentertriple("",&"CREDITS_ANDERS_KJELDGAARD_NIELSEN_MATTHEW_BUTLER",""); + maps\_credits::addcentertriple("",&"CREDITS_ANDREAS_FRIIS_WAHLSTROEM_MAURICIO_BERNARDO_DA_SILVA",""); + maps\_credits::addcentertriple("",&"CREDITS_ANTOINE_DE_FOURCROY_MICHAEL_RAMUSSON",""); + maps\_credits::addcentertriple("",&"CREDITS_ARI_HEISKANEN_MICHAEL_THRIPPLETON",""); + maps\_credits::addcentertriple("",&"CREDITS_AXEL_LOTTE_MICHELE_IORIO",""); + maps\_credits::addcentertriple("",&"CREDITS_BAPTISTE_DESCATOIRE_NICHOLAS_COLARES",""); + maps\_credits::addcentertriple("",&"CREDITS_CARLOS_POSSE_OLIVER_VOLKMANN",""); + maps\_credits::addcentertriple("",&"CREDITS_DENISE_BEHRMANN_PATRICK_FRIEDRICH",""); + maps\_credits::addcentertriple("",&"CREDITS_DILETTA_PALAGI_PEKKO_ALHSTEN",""); + maps\_credits::addcentertriple("",&"CREDITS_FAHD_SIDHOUM_PIERRE_LARRALDE",""); + maps\_credits::addcentertriple("",&"CREDITS_FEDERICO_SAIA_RAUL_PRADES_ROCA",""); + maps\_credits::addcentertriple("",&"CREDITS_FLORENT_DUCRET_RENE_PREISS",""); + maps\_credits::addcentertriple("",&"CREDITS_FRANCESCO_DESSOLIS_RONALD_TORRES",""); + maps\_credits::addcentertriple("",&"CREDITS_GUILLEM_BALAYER_RUBEN_RUZ_ANTON",""); + maps\_credits::addcentertriple("",&"CREDITS_IGNAT_CONSTANTIN_CATALIN_SALAH_KHALIL",""); + maps\_credits::addcentertriple("",&"CREDITS_IGOR_MANTOVANI_SENJA_KAARELA",""); + maps\_credits::addcentertriple("",&"CREDITS_INDY_TRUQUET_SIMON_NORTH",""); + maps\_credits::addcentertriple("",&"CREDITS_IVAN_MENDEZ_STEFAN_JNSSON",""); + maps\_credits::addcentertriple("",&"CREDITS_IVAR_ROCHA_ARIAS_STEFFEN_MAGISTER",""); + maps\_credits::addcentertriple("",&"CREDITS_JAIME_GAMA_CORRAL_STEVEN_JOUCLA",""); + maps\_credits::addcentertriple("",&"CREDITS_JAMIE_MORGAN_STIJN_SIBIET",""); + maps\_credits::addcentertriple("",&"CREDITS_JANA_HEPPNER_TOBIAS_NIGGEMANN",""); + maps\_credits::addcentertriple("",&"CREDITS_JORGE_PLAZA_SALCEDO_UNNA_MRN",""); + maps\_credits::addcentertriple("",&"CREDITS_KATIE_SEMLER_VALERIO_BERNARDINI",""); + maps\_credits::addcentertriple("",&"CREDITS_KENNETH_OFARRELL_VIDAR_NILSEN",""); + maps\_credits::addcentertriple("",&"CREDITS_KYLIE_VAN_DE_PUTTE_VINICIUS_VERZA",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_ACTIVISION_BUSINESS__LEGAL_AFF"); + maps\_credits::addcenterdual(&"CREDITS_CHRIS_WALTHER",&"CREDITS_KEITH_HAMMONS"); + maps\_credits::addcenterdual(&"CREDITS_KAP_KANG",&"CREDITS_KELLY_SCHWARM"); + maps\_credits::addcenterdual(&"CREDITS_KATE_OGOSTA",&"CREDITS_LIP_HO"); + maps\_credits::addcenterdual(&"CREDITS_MARY_TUCK",&"CREDITS_TERRY_KIEL"); + maps\_credits::addcenterdual(&"CREDITS_PHIL_TERZIAN",&"CREDITS_TRAVIS_STANSBURY"); + maps\_credits::addcenterdual(&"CREDITS_TERRI_DURHAM",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_ACTIVISION_HR__RECRUITING"); + maps\_credits::addcenterdual(&"CREDITS_EUNICE_LEE",&"CREDITS_SHERRI_SCHWARTZ"); + maps\_credits::addcenterdual(&"CREDITS_JULIE_COUCOULES",&"CREDITS_AMY_MADDEN"); + maps\_credits::addcenterdual(&"CREDITS_ELENA_RENTE",&"CREDITS_ROSE_CLARKE"); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_STUDIO_FINANCE"); + maps\_credits::addcenterdual(&"CREDITS_EDDIE_CHAN",&"CREDITS_JASON_JORDAN"); + maps\_credits::addcenterdual(&"CREDITS_CARL_HUGHES",&"CREDITS_KEVIN_COX"); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_VOICE__PERFORMANCE_MANAGEMENT_"); + maps\_credits::addcenterdual(&"CREDITS_NOAH_SARID",&"CREDITS_RACHEL_NEWMAN"); + maps\_credits::addcenterdual(&"CREDITS_MARIE_BAGNELL",&"CREDITS_STUART_ROCH"); + maps\_credits::addcenterdual(&"CREDITS_GINA_RAMIREZ",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_ACTIVISION_MUSIC_DEPARTMENT"); + maps\_credits::addcenterdual(&"CREDITS_BRANDON_YOUNG",&"CREDITS_KATIE_SIPPEL"); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_PARTNER_RELATIONS__PRODUCTION_"); + maps\_credits::addcenterdual(&"CREDITS_PAUL_RHODES",&"CREDITS_CHRISTOPHER_WILSON"); + maps\_credits::addcenterdual(&"CREDITS_SAMUEL_PETERSON",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_ASSET_MANAGEMENT"); + maps\_credits::addcenterdual(&"CREDITS_TODD_MUELLER",&"CREDITS_ELLIOTT_EHLIG"); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_ART_SERVICES"); + maps\_credits::addcenterdual(&"CREDITS_TODD_PRUYN",&"CREDITS_JOEY_DERRICO"); + maps\_credits::addcenterdual(&"CREDITS_MIKE_HUNAU",&"CREDITS_BRANDON_RUSS"); + maps\_credits::addcenterdual(&"CREDITS_JEFF_KETCHAM",&"CREDITS_CHRIS_CARTWRIGHT"); + maps\_credits::addcenterdual(&"CREDITS_BRANDON_SCHEBLER",&"CREDITS_DANIEL_PARR"); + maps\_credits::addcenterdual(&"CREDITS_KATHLEEN_OROURKE",&"CREDITS_PETER_ELSLEY"); + maps\_credits::addcenterdual(&"CREDITS_JOSH_BOLTON",&"CREDITS_ALEXANDRE_DUCLOS"); + maps\_credits::addcenterdual(&"CREDITS_ANGEL_GARCIA",&"CREDITS_RYAN_ERNEST"); + maps\_credits::addcenterdual(&"CREDITS_JACK_MARTIN",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_CENTRAL_USERTESTING"); + maps\_credits::addcenterdual(&"CREDITS_PHIL_KECK",&"CREDITS_ENRIQUE_MENDOZA"); + maps\_credits::addcenterdual(&"CREDITS_JEREMY_LE",&"CREDITS_AARON_WILLARD"); + maps\_credits::addcenterdual(&"CREDITS_MICHELE_Z_CABEEN",&"CREDITS_ANDREW_PICENO"); + maps\_credits::addcenterdual(&"CREDITS_JONATHAN_BONILLAS",&"CREDITS_ALEXANDRE_DEBROUSSE"); + maps\_credits::addcenterdual(&"CREDITS_J_BRICE_FORESTIER",&"CREDITS_JASON_YOW"); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_GAME_ANALYTICS_TEAM"); + maps\_credits::addcenterdual(&"CREDITS_ARTHUR_VON_ESCHEN",&"CREDITS_STEVE_LANG"); + maps\_credits::addcenterdual(&"CREDITS_JOSH_HEMANN",&"CREDITS_VLADIMIR_RYZHOV"); + maps\_credits::addcenterdual(&"CREDITS_JEAN_ZOCH",&"CREDITS_PARKER_LOWREY"); + maps\_credits::addcenterdual(&"CREDITS_JUSTIN_SHACKLETTE",&"CREDITS_DYLAN_ROGERSON"); + maps\_credits::addcenterdual(&"CREDITS_KURT_FEHLHAUER",&"CREDITS_RICH_COLEMAN"); + maps\_credits::addcenterdual(&"CREDITS_ADAM_HUSEIN",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_ACTIVISION_QUALITY_ASSURANCE"); + maps\_credits::addcentertriple("",&"CREDITS_ETHAN_KING_JOE_LARSON",""); + maps\_credits::addcentertriple("",&"CREDITS_MEGAN_BROPHY_JOEL_NELSON",""); + maps\_credits::addcentertriple("",&"CREDITS_NATE_TYLEY_JOHN_HART",""); + maps\_credits::addcentertriple("",&"CREDITS_AARON_GARNER_JOHN_HERNANDEZ",""); + maps\_credits::addcentertriple("",&"CREDITS_AARON_MILES_JOHN_T_BARTLE",""); + maps\_credits::addcentertriple("",&"CREDITS_AARON_PIKALA_JOHNNIE_CLARK",""); + maps\_credits::addcentertriple("",&"CREDITS_AARON_THAO_JOHNNY_KIM",""); + maps\_credits::addcentertriple("",&"CREDITS_AARON_ZECH_JOHNNY_ROQUE",""); + maps\_credits::addcentertriple("",&"CREDITS_ABAGAIL_BRINKHAUS_JON_BOWERS",""); + maps\_credits::addcentertriple("",&"CREDITS_ADAM_DUBOIS_JON_DEAN",""); + maps\_credits::addcentertriple("",&"CREDITS_ADAM_RACHALL_JONATHAN_BUTCHER",""); + maps\_credits::addcentertriple("",&"CREDITS_ADAM_RICARDEZ_JONATHAN_FRIEDRICH",""); + maps\_credits::addcentertriple("",&"CREDITS_ALEJANDRO_ARREOLA_JONATHAN_PALALAY",""); + maps\_credits::addcentertriple("",&"CREDITS_ALEX_FRIBERG_JORDACHE_MATHEWS",""); + maps\_credits::addcentertriple("",&"CREDITS_ALEX_ZALESKY_JORDAN_HASTINGS",""); + maps\_credits::addcentertriple("",&"CREDITS_ALEXANDER_REICHMAN_JOSEPH_GRAZZINI",""); + maps\_credits::addcentertriple("",&"CREDITS_ALTHERIA_WEAVER_JOSEPH_LARSON",""); + maps\_credits::addcentertriple("",&"CREDITS_ANDREW_MACHT_JOSEPH_LEE",""); + maps\_credits::addcentertriple("",&"CREDITS_ANDREW_NELSON_JOSH_CAMPBELL",""); + maps\_credits::addcentertriple("",&"CREDITS_ANDREW_ROLEK_JOSHUA_MALONE",""); + maps\_credits::addcentertriple("",&"CREDITS_ANTHONY_MACIAS_JOSHUA_STRANZ",""); + maps\_credits::addcentertriple("",&"CREDITS_ANTONIO_WHITFIELD_JOSHUA_THORSON",""); + maps\_credits::addcentertriple("",&"CREDITS_ARIEL_CEBALLOS_JUAN_DIAZ",""); + maps\_credits::addcentertriple("",&"CREDITS_ARMANTE_GORDON_JULIAN_MERINO",""); + maps\_credits::addcentertriple("",&"CREDITS_ARMOND_GOODIN_JUSTICE_SOMMER",""); + maps\_credits::addcentertriple("",&"CREDITS_BEN_BRUNS_JUSTIN_DEAN",""); + maps\_credits::addcentertriple("",&"CREDITS_BEN_JOHNSON_JUSTIN_FENNESSY",""); + maps\_credits::addcentertriple("",&"CREDITS_BEN_REED_JUSTIN_SNYDER",""); + maps\_credits::addcentertriple("",&"CREDITS_BENJAMIN_STEVENS_JUSTIN_WESTPLATE",""); + maps\_credits::addcentertriple("",&"CREDITS_BLAIR_BYRNES_KAI_HSU",""); + maps\_credits::addcentertriple("",&"CREDITS_BRAD_SAAVEDRA_KAITLYN_GRACE",""); + maps\_credits::addcentertriple("",&"CREDITS_BRAEDAN_BECKOSULLIVAN_KALEB_AALDERKS",""); + maps\_credits::addcentertriple("",&"CREDITS_BRANDON_SCHOONER_KATHLEENPHYLLIS_PANKRATZ",""); + maps\_credits::addcentertriple("",&"CREDITS_BRETT_BROWN_KEITH_LEISHMAN",""); + maps\_credits::addcentertriple("",&"CREDITS_BRIAN_BENSI_KEITH_SAVAGE",""); + maps\_credits::addcentertriple("",&"CREDITS_BRIAN_MAZUROWSKI_KELLY_HUFFINE",""); + maps\_credits::addcentertriple("",&"CREDITS_BRIAN_MONSON_KEVIN_HIM",""); + maps\_credits::addcentertriple("",&"CREDITS_BRIAN_MORALES_KEVIN_PETERSON",""); + maps\_credits::addcentertriple("",&"CREDITS_BRIANNA_POWERS_KEVIN_VAN_SLOUN",""); + maps\_credits::addcentertriple("",&"CREDITS_BRITTANY_KIM_KEVIN_WATANA",""); + maps\_credits::addcentertriple("",&"CREDITS_BRUCE_PORVAZNIK_KHALIL_COLEMAN",""); + maps\_credits::addcentertriple("",&"CREDITS_BRYAN_ALERDING_KORTLAND_SHOWMAN",""); + maps\_credits::addcentertriple("",&"CREDITS_BRYAN_CHICE_KRIS_HARKINS",""); + maps\_credits::addcentertriple("",&"CREDITS_BRYAN_GREEN_KRISTOPHER_KERSHAW",""); + maps\_credits::addcentertriple("",&"CREDITS_CALEB_BIGHAM_KRISTOPHER_ROJO",""); + maps\_credits::addcentertriple("",&"CREDITS_CAMERON_ROEHL_KYLE_HERRITY",""); + maps\_credits::addcentertriple("",&"CREDITS_CAMERON_WILLIAMS_KYLE_KLEVEN",""); + maps\_credits::addcentertriple("",&"CREDITS_CARRIE_PATTERSON_LAURA_ELLIOTT",""); + maps\_credits::addcentertriple("",&"CREDITS_CHAD_LECY_LAURA_KNIGHT",""); + maps\_credits::addcentertriple("",&"CREDITS_CHAD_SCHILLING_LEONARD_RODRIGUEZ",""); + maps\_credits::addcentertriple("",&"CREDITS_CHAD_SCHMIDT_LEWIS_WILLIAMS",""); + maps\_credits::addcentertriple("",&"CREDITS_CHAD_WERTISH_LUCAS_BURGESS",""); + maps\_credits::addcentertriple("",&"CREDITS_CHARLES_ONWUKA_MARCO_ZAMORA",""); + maps\_credits::addcentertriple("",&"CREDITS_CHARLES_VINSON_MARIO_ORANTES",""); + maps\_credits::addcentertriple("",&"CREDITS_CHARLIE_MURPHY_MARK_CRAWFORD",""); + maps\_credits::addcentertriple("",&"CREDITS_CHARLOTTE_COPELAND_MARK_LUZZI",""); + maps\_credits::addcentertriple("",&"CREDITS_CHRIS_ARENDS_MARTIN_CARBONELLA",""); + maps\_credits::addcentertriple("",&"CREDITS_CHRISTIAN_GALLEGOS_MARTIN_GONZALEZ",""); + maps\_credits::addcentertriple("",&"CREDITS_CHRISTIAN_SOLO_MASON_SKLAR",""); + maps\_credits::addcentertriple("",&"CREDITS_CHRISTIAN_VASCO_MATHEW_MEYER",""); + maps\_credits::addcentertriple("",&"CREDITS_CHRISTOPHER_ANDERSON_MATT_BIRD",""); + maps\_credits::addcentertriple("",&"CREDITS_CHRISTOPHER_GREEN_MATT_CARPENTER",""); + maps\_credits::addcentertriple("",&"CREDITS_CHRISTOPHER_MCGOWAN_MATTHEW_BURNSIDE",""); + maps\_credits::addcentertriple("",&"CREDITS_CHRISTOPHER_STRANDJORD_MATTHEW_HENSCHE",""); + maps\_credits::addcentertriple("",&"CREDITS_CHRISTOPHER_TOM_MATTHEW_LEMIEUX",""); + maps\_credits::addcentertriple("",&"CREDITS_CHRISTOPHER_WIDELL_MATTHEW_REYNOLDS",""); + maps\_credits::addcentertriple("",&"CREDITS_COLIN_KAWAKAMI_MATTHEW_STANKEY",""); + maps\_credits::addcentertriple("",&"CREDITS_COLIN_SAYRE_MATTHEW_STOCKWELL",""); + maps\_credits::addcentertriple("",&"CREDITS_COLLIN_HEINEN_MAX_GONZALEZ",""); + maps\_credits::addcentertriple("",&"CREDITS_CONNER_JENSEN_MAX_JONES",""); + maps\_credits::addcentertriple("",&"CREDITS_CONNOR_GERDES_MAXWELL_BARR",""); + maps\_credits::addcentertriple("",&"CREDITS_CORY_ANDERSON_MICHAEL_CHAN",""); + maps\_credits::addcentertriple("",&"CREDITS_CRECEN_CARR_MICHAEL_COOK",""); + maps\_credits::addcentertriple("",&"CREDITS_CURTIS_HILL_MICHAEL_GUERRA",""); + maps\_credits::addcentertriple("",&"CREDITS_DAARI_TERRELL_MICHAEL_HAUGAN",""); + maps\_credits::addcentertriple("",&"CREDITS_DAKARAI_DAVISON_MICHAEL_MOORE",""); + maps\_credits::addcentertriple("",&"CREDITS_DANIEL_GAMBOA_MICHAEL_OLEXIEWICZ",""); + maps\_credits::addcentertriple("",&"CREDITS_DANIEL_GARCIA_MICHAEL_PANG",""); + maps\_credits::addcentertriple("",&"CREDITS_DANIEL_PRAYFROCK_MICHAEL_SCHRAMER",""); + maps\_credits::addcentertriple("",&"CREDITS_DANIEL_ROBLEDO_MIGUEL_NARANJO",""); + maps\_credits::addcentertriple("",&"CREDITS_DANIEL_RODRIQUEZ_MIKE_LAURSEN",""); + maps\_credits::addcentertriple("",&"CREDITS_DANIEL_VOGT_MIKE_MARTINEZ",""); + maps\_credits::addcentertriple("",&"CREDITS_DARRYN_FREEMAN_MIKE_MURRAY",""); + maps\_credits::addcentertriple("",&"CREDITS_DAVID_DE_MARCO_MISHA_HUMPHREY",""); + maps\_credits::addcentertriple("",&"CREDITS_DAVID_DELANTY_NAOMI_DE_LARA",""); + maps\_credits::addcentertriple("",&"CREDITS_DAVID_POLAKOSKI_NICHOLAS_BLANCHARD",""); + maps\_credits::addcentertriple("",&"CREDITS_DAVID_THOMPSON_NICHOLAS_CAMPBELL",""); + maps\_credits::addcentertriple("",&"CREDITS_DAVID_VEGA_NICOLAS_WIBAWANTO",""); + maps\_credits::addcentertriple("",&"CREDITS_DELJON_WILLIS_NIKOLAUS_ZUFALL",""); + maps\_credits::addcentertriple("",&"CREDITS_DEMARLO_KING_NOAH_THOMPSON",""); + maps\_credits::addcentertriple("",&"CREDITS_DIANA_LOPEZ_OLIVER_HSIA",""); + maps\_credits::addcentertriple("",&"CREDITS_DIANA_VINCENTY_OWEN_COOPER",""); + maps\_credits::addcentertriple("",&"CREDITS_DILLON_THOMSON_PARKER_CRAINE",""); + maps\_credits::addcentertriple("",&"CREDITS_DOM_SPALLINO_PAUL_HALLING",""); + maps\_credits::addcentertriple("",&"CREDITS_DONYEA_COOLEYWHITE_PAUL_LOPEZ",""); + maps\_credits::addcentertriple("",&"CREDITS_DREW_MILLER_PAUL_POTTER",""); + maps\_credits::addcentertriple("",&"CREDITS_EJ_ALCANTARA_PAUL_VIRGIN",""); + maps\_credits::addcentertriple("",&"CREDITS_EDUARDO_GUTIERREZ_PEDRO_AGUILAR",""); + maps\_credits::addcentertriple("",&"CREDITS_EDWIN_PAYEN_PISITH_KEO",""); + maps\_credits::addcentertriple("",&"CREDITS_ELIJAH_WHITEHOUSE_QUINN_SEAWRIGHT",""); + maps\_credits::addcentertriple("",&"CREDITS_ENRIQUE_VALENTIN_RAMIRO_GUTIERREZ",""); + maps\_credits::addcentertriple("",&"CREDITS_ERIC_ESQUIVEL_RAUL_MEJIA",""); + maps\_credits::addcentertriple("",&"CREDITS_ERIC_GUSS_RAYLON_SILBERMAN",""); + maps\_credits::addcentertriple("",&"CREDITS_ERIC_LAMBDEN_RAYMOND_MORSE",""); + maps\_credits::addcentertriple("",&"CREDITS_ERIN_GORSETH_REI_LIOU",""); + maps\_credits::addcentertriple("",&"CREDITS_ETIENNE_LEROUX_RICARDO_MEDINA",""); + maps\_credits::addcentertriple("",&"CREDITS_EUGENE_CHA_RICHARD_LEE",""); + maps\_credits::addcentertriple("",&"CREDITS_EVAN_GALLAHER_RICHARD_TOM",""); + maps\_credits::addcentertriple("",&"CREDITS_FINN_STEFFEN_ROB_RICHERT",""); + maps\_credits::addcentertriple("",&"CREDITS_FRANCISCO_CARPIO_ROBERT_CAMPBELL",""); + maps\_credits::addcentertriple("",&"CREDITS_FREDDY_THIGPEN_JR_ROBERT_KLEVEN",""); + maps\_credits::addcentertriple("",&"CREDITS_GARRETT_EGGE_ROBERT_MOON",""); + maps\_credits::addcentertriple("",&"CREDITS_GARRETT_MEYER_ROBERT_PATRIAS",""); + maps\_credits::addcentertriple("",&"CREDITS_GARY_FOX_ROBERT_TAI",""); + maps\_credits::addcentertriple("",&"CREDITS_GEORGE_ALLEN_RODOLFO_GONZALEZ",""); + maps\_credits::addcentertriple("",&"CREDITS_GERALD_ARTEAGA_RODRIGO_GONZALEZ",""); + maps\_credits::addcentertriple("",&"CREDITS_GERALD_BECKER_RYAN_GINDER",""); + maps\_credits::addcentertriple("",&"CREDITS_GIANCARLO_CONTRERAS_RYAN_RIGGS",""); + maps\_credits::addcentertriple("",&"CREDITS_GIANCARLO_SANCHEZ_RYAN_SEIFERT",""); + maps\_credits::addcentertriple("",&"CREDITS_GILBERT_INIGUEZ_RYAN_SOURIGNAVONG",""); + maps\_credits::addcentertriple("",&"CREDITS_GLENN_VISTANTE_RYAN_TALBOT",""); + maps\_credits::addcentertriple("",&"CREDITS_GREGORY_BERTILSON_SAGE_KNIGHTEN",""); + maps\_credits::addcentertriple("",&"CREDITS_GREGORY_YOUNG_SALOME_VILLARRUEL",""); + maps\_credits::addcentertriple("",&"CREDITS_GUS_KNESS_SAMI_KING",""); + maps\_credits::addcentertriple("",&"CREDITS_HANNAH_CHAO_SAMUEL_BAESE",""); + maps\_credits::addcentertriple("",&"CREDITS_HECTOR_FUNES_SAMUEL_DUBOIS",""); + maps\_credits::addcentertriple("",&"CREDITS_HENRY_DYKSTRA_SCOTT_BARKER",""); + maps\_credits::addcentertriple("",&"CREDITS_HIEN_HUYNH_SEAN_PAULIS",""); + maps\_credits::addcentertriple("",&"CREDITS_HOWIE_AYCOCK_SETH_THOMAS",""); + maps\_credits::addcentertriple("",&"CREDITS_IAN_Y_HOPKINS_SHAWN_BELEW",""); + maps\_credits::addcentertriple("",&"CREDITS_ILHWA_GLORIA_KIM_SIMON_WOLFE",""); + maps\_credits::addcentertriple("",&"CREDITS_INDRA_YEE_SPENCER_RIEDEL",""); + maps\_credits::addcentertriple("",&"CREDITS_ISAIAH_NUNEZ_STEPHEN_IMAMURA",""); + maps\_credits::addcentertriple("",&"CREDITS_IVAN_RAMOS_STERLING_JOHNSON",""); + maps\_credits::addcentertriple("",&"CREDITS_JACK_KLECKNER_STEVE_STOKER",""); + maps\_credits::addcentertriple("",&"CREDITS_JACK_ROWE_SUJEY_RIVERA",""); + maps\_credits::addcentertriple("",&"CREDITS_JACOB_MCPHERSON_SUNG_YOO",""); + maps\_credits::addcentertriple("",&"CREDITS_JACOB_STAHMANN_TEDDY_HWANG",""); + maps\_credits::addcentertriple("",&"CREDITS_JAMES_CLIFF_HOOPER_TERAN_LAWSON",""); + maps\_credits::addcentertriple("",&"CREDITS_JAMES_GIBSON_TERRY_HARRIS",""); + maps\_credits::addcentertriple("",&"CREDITS_JAMES_LIN_THOMAS_POSTEN",""); + maps\_credits::addcentertriple("",&"CREDITS_JAMES_MCCANN_TOM_MARIETTE",""); + maps\_credits::addcentertriple("",&"CREDITS_JARED_NAGY_TOM_SITKO",""); + maps\_credits::addcentertriple("",&"CREDITS_JASON_GARZA_TOMMY_MOORE",""); + maps\_credits::addcentertriple("",&"CREDITS_JASON_GRIFFITHSJOHNSON_TOUA_HER",""); + maps\_credits::addcentertriple("",&"CREDITS_JASON_LEMBCKE_TRENT_HAMMER",""); + maps\_credits::addcentertriple("",&"CREDITS_JASON_WONG_TREVOR_BUSSE",""); + maps\_credits::addcentertriple("",&"CREDITS_JAVIER_PANAMENO_TROY_BUSSE",""); + maps\_credits::addcentertriple("",&"CREDITS_JAYSON_SAHR_TUAN_M_NGUYEN",""); + maps\_credits::addcentertriple("",&"CREDITS_JAZMIN_COOPER_TYLER_CHAN",""); + maps\_credits::addcentertriple("",&"CREDITS_JEFF_ROPER_TYLER_SHOBE",""); + maps\_credits::addcentertriple("",&"CREDITS_JENNIFER_SANTOS_VICTORIA_HARKINS",""); + maps\_credits::addcentertriple("",&"CREDITS_JEREMIAH_LUEBKE_VINCENT_VESPA",""); + maps\_credits::addcentertriple("",&"CREDITS_JEREMY_KASENO_WILLIAM_BRUESKE",""); + maps\_credits::addcentertriple("",&"CREDITS_JESSE_ETZLER_WILLIAM_YANG",""); + maps\_credits::addcentertriple("",&"CREDITS_JOE_K_GARCIA_ZACH_HATANPAA",""); + maps\_credits::addcentertriple("",&"CREDITS_JOE_LAPAN_ZACK_WEBSTER",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_ATVI_QA_SPECIAL_THANKS"); + maps\_credits::addcenterdual(&"CREDITS_RACHEL_OVERTON",&"CREDITS_ABBY_ALVARADO"); + maps\_credits::addcenterdual(&"CREDITS_MALY_UM",&"CREDITS_MARIA_GONZALEZ"); + maps\_credits::addcenterdual(&"CREDITS_MARC_WILLIAMS",&"CREDITS_JOHN_GARCIA"); + maps\_credits::addcenterdual(&"CREDITS_LOUISE_GRACE",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_ACTIVISION_GLOBAL_IT"); + maps\_credits::addcenterdual(&"CREDITS_ALEX_MARQUEZ",&"CREDITS_KEITH_ARCHER"); + maps\_credits::addcenterdual(&"CREDITS_ANCHIH_TSAI",&"CREDITS_KENNY_TANAKA"); + maps\_credits::addcenterdual(&"CREDITS_ANDY_BEZER",&"CREDITS_LUIS_E_FLORES"); + maps\_credits::addcenterdual(&"CREDITS_ANDY_IRVIN",&"CREDITS_MAHESH_TYAGI"); + maps\_credits::addcenterdual(&"CREDITS_BUTCH_RIONDA",&"CREDITS_MARK_BURMEISTER"); + maps\_credits::addcenterdual(&"CREDITS_BEN_PIRET",&"CREDITS_MIKE_CONSTANTAS"); + maps\_credits::addcenterdual(&"CREDITS_BERTRAND_LEROUX",&"CREDITS_MYO_KYAWSWAR"); + maps\_credits::addcenterdual(&"CREDITS_CHRIS_TAYLOR",&"CREDITS_NEIL_HOMES"); + maps\_credits::addcenterdual(&"CREDITS_COLIN_SCHILLER",&"CREDITS_NICK_HARLAND"); + maps\_credits::addcenterdual(&"CREDITS_DAVID_VILLATORO",&"CREDITS_PAUL_FLORES"); + maps\_credits::addcenterdual(&"CREDITS_DEAN_DING",&"CREDITS_RANDY_DERAMA"); + maps\_credits::addcenterdual(&"CREDITS_DELPHINE_CALSADA",&"CREDITS_RICARD_ROMERO"); + maps\_credits::addcenterdual(&"CREDITS_FRANCIS_JIMENEZ",&"CREDITS_RONNIE_FROST"); + maps\_credits::addcenterdual(&"CREDITS_GARETH_DAVIES",&"CREDITS_RONNIE_LOU"); + maps\_credits::addcenterdual(&"CREDITS_GINA_HOPE",&"CREDITS_SAM_WINOTAI"); + maps\_credits::addcenterdual(&"CREDITS_JAMES_HENNESSEY",&"CREDITS_SIMON_LI"); + maps\_credits::addcenterdual(&"CREDITS_JASON_POSADA",&"CREDITS_TODD_SZALLA"); + maps\_credits::addcenterdual(&"CREDITS_JASON_QUIRE",&"CREDITS_WINSTON_OLSON"); + maps\_credits::addcenterdual(&"CREDITS_JOSHUA_SAMUEL",&"CREDITS_RYAN_FRANK"); + maps\_credits::addcenterdual(&"CREDITS_KAREN_SEGAWA",&"CREDITS_SEAN_DARTER"); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_NORTH_AMERICAN_AND_EUROPEAN_SU"); + maps\_credits::addcenterdual(&"CREDITS_BOB_WHARTON",&"CREDITS_DEREK_BROWN"); + maps\_credits::addcenterdual(&"CREDITS_JEN_SULLIVAN",&"CREDITS_MELISSA_WESSELY"); + maps\_credits::addcenterdual(&"CREDITS_FRANK_LEUSINK",&"CREDITS_ALESSANDRO_CILANO"); + maps\_credits::addcenterdual(&"CREDITS_LYNNE_FISHER",&"CREDITS_MARK_LUGLI"); + maps\_credits::addcenterdual(&"CREDITS_JORIS_DE_HAER",&"CREDITS_STEVE_CLARK"); + maps\_credits::addcenterdual(&"CREDITS_PRYIA_RAMJEE",&"CREDITS_KEVIN_JAMIESON"); + maps\_credits::addcenterdual(&"CREDITS_MARIO_TAEKEMA",&"CREDITS_MIKE_WAND_TETLEY"); + maps\_credits::addcenterdual(&"CREDITS_TACO_ELVERDING",&"CREDITS_HARRY_CORR"); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_ACTIVISION_CUSTOMER_SUPPORT"); + maps\_credits::addcenterdual(&"CREDITS_BRIAN_EHRICH",&"CREDITS_MIKE_DANGERFIELD"); + maps\_credits::addcenterdual(&"CREDITS_BRYAN_CROTEAU",&"CREDITS_MIKEY_VEGA"); + maps\_credits::addcenterdual(&"CREDITS_CHRISTIANE_BRAND",&"CREDITS_NOEL_FELICIANO"); + maps\_credits::addcenterdual(&"CREDITS_DOV_CARSON",&"CREDITS_PAUL_BOUSTANY"); + maps\_credits::addcenterdual(&"CREDITS_GUILLERMO_HERNANDEZ",&"CREDITS_PEDRO_PULIDO"); + maps\_credits::addcenterdual(&"CREDITS_JACK_BALDUF",&"CREDITS_PHILIP_CHUNG"); + maps\_credits::addcenterdual(&"CREDITS_JAMES_CABELNEIL",&"CREDITS_RUTH_BERENJI"); + maps\_credits::addcenterdual(&"CREDITS_JASON_THROOP",&"CREDITS_SAMANTHA_WOOD"); + maps\_credits::addcenterdual(&"CREDITS_JENNIFER_MALDONADO",&"CREDITS_SJOERD_VAN_DEN_BERG"); + maps\_credits::addcenterdual(&"CREDITS_JUSTIN_GUTHRIE",&"CREDITS_TCHALLA_JACKSON"); + maps\_credits::addcenterdual(&"CREDITS_KRISTIN_RUIZ",&"CREDITS_TIM_HONG"); + maps\_credits::addcenterdual(&"CREDITS_LOUIS_BLACKWELL",&"CREDITS_TIM_RONDEAU"); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_ACTIVISION_SPECIAL_THANKS"); + maps\_credits::addcenterdual(&"CREDITS_72_AND_SUNNY",&"CREDITS_MICHAEL_BENEDIKT"); + maps\_credits::addcenterdual(&"CREDITS_ANDREW_BROWN",&"CREDITS_MICHAL_SPORTOUCH"); + maps\_credits::addcenterdual(&"CREDITS_BRENT_MCDONALD",&"CREDITS_NCOMPASS"); + maps\_credits::addcenterdual(&"CREDITS_BYRON_BEEDE",&"CREDITS_NEVEN_DRAVINSKI"); + maps\_credits::addcenterdual(&"CREDITS_CHRIS_BAGGIO",&"CREDITS_NJLIVE"); + maps\_credits::addcenterdual(&"CREDITS_CONNOR_CALLAGHAN",&"CREDITS_NOAH_KIRCHERALLEN"); + maps\_credits::addcenterdual(&"CREDITS_DANNY_GONZALEZ",&"CREDITS_PETER_ROYEA"); + maps\_credits::addcenterdual(&"CREDITS_DAVIS_JUNG",&"CREDITS_RICK_GRUBEL"); + maps\_credits::addcenterdual(&"CREDITS_DOUG_PEARSON",&"CREDITS_ROB_TROY"); + maps\_credits::addcenterdual(&"CREDITS_FEDERICO_JIMENEZ",&"CREDITS_RYAN_TRONDSEN"); + maps\_credits::addcenterdual(&"CREDITS_GLENN_OLIVER",&"CREDITS_SCOTT_BLAIR"); + maps\_credits::addcenterdual(&"CREDITS_JASON_NORRID",&"CREDITS_SCOTT_CARSON"); + maps\_credits::addcenterdual(&"CREDITS_JENNIFER_HENDRICKSON",&"CREDITS_SHANE_NEEDHAM"); + maps\_credits::addcenterdual(&"CREDITS_JENNY_TYLEY",&"CREDITS_STEPHEN_SANDERS"); + maps\_credits::addcenterdual(&"CREDITS_JERROLD_GREEN",&"CREDITS_STEVE_YOUNG"); + maps\_credits::addcenterdual(&"CREDITS_JESUS_RUIZ",&"CREDITS_SUZANNE_TODD"); + maps\_credits::addcenterdual(&"CREDITS_JORGE_PERCIVAL",&"CREDITS_TEAM_TODD"); + maps\_credits::addcenterdual(&"CREDITS_JULIANA_HAYES",&"CREDITS_TONY_HSU"); + maps\_credits::addcenterdual(&"CREDITS_KEVIN_HENDRICKSON",&"CREDITS_TYLER_DAVID"); + maps\_credits::addcenterdual(&"CREDITS_KEVIN_WASIELEWSKI",&"CREDITS_YONGYI_ZHU"); + maps\_credits::addcenterdual(&"CREDITS_MARYANNE_LATAIF",""); + maps\_credits::addspacesmall(); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_CONGRATULATIONS_TO_THE_FOLLOWI"); + maps\_credits::addspacesmall(); + maps\_credits::addcenterdual(&"CREDITS_PHSYCOJASON",&"CREDITS_SMARTYARTY"); + maps\_credits::addcenterdual(&"CREDITS_SIR_KILLS_ALOT8",&"CREDITS_JUNGLEMASTA77"); + maps\_credits::addcenterdual(&"CREDITS_XUNIKORNX",&"CREDITS_BANEVSBAT"); + maps\_credits::addcenterdual(&"CREDITS_MRKILLA352",&"CREDITS_OWNZ_LUCKYY"); + maps\_credits::addcenterdual(&"CREDITS_BETON_BOYZ_EMRAH",&"CREDITS_ACEJUNIOR444"); + maps\_credits::addcenterdual(&"CREDITS_STODAL",&"CREDITS_RAAMOD"); + maps\_credits::addcenterdual(&"CREDITS_LEONATOS",&"CREDITS_THEFEAREDPUPPIES"); + maps\_credits::addcenterdual(&"CREDITS_PAPPMACHEE",&"CREDITS_PRIVATECOCONUT"); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_LOCALISATION_TOOLS__SUPPORT"); + maps\_credits::addcentertriple("",&"CREDITS_PROVIDED_BY_STEPHANIE_DEMING__",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentersubtitle(&"CREDITS_PACKAGING_AND_MANUAL_DESIGN_BY"); + maps\_credits::addcentertriple("",&"CREDITS_PETROL",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple("",&"CREDITS_FONTS_LICENSED_FROM",""); + maps\_credits::addcentertriple("",&"CREDITS_T26_DIGITAL_TYPE_FOUNDRY",""); + maps\_credits::addcentertriple("",&"CREDITS_MONOTYPE",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple("",&"CREDITS_FOOTAGE_AND_STILL_IMAGES_SUPPL",""); + maps\_credits::addcentertriple("",&"CREDITS_CORBIS_MOTION",""); + maps\_credits::addcentertriple("",&"CREDITS_DIGITAL_GLOBE",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple("",&"CREDITS_SHOWBIZ_BAND",""); + maps\_credits::addcentertriple("",&"CREDITS_COMPOSED_BY_MARC_DURST_SACEM",""); + maps\_credits::addcentertriple("",&"CREDITS_PUBLISHED_BY_KOSINUS_APM_ASCAP",""); + maps\_credits::addcentertriple("",&"CREDITS_COURTESY_OF_APM_MUSIC",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple("",&"CREDITS_FINAL_HURDLE",""); + maps\_credits::addcentertriple("",&"CREDITS_COMPOSED_BY_CHRISTOPHER_WILLIS",""); + maps\_credits::addcentertriple("",&"CREDITS_PUBLISHED_BY_KPM_APM_ASCAP",""); + maps\_credits::addcentertriple("",&"CREDITS_COURTESY_OF_APM_MUSIC",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple("",&"CREDITS_THE_HYPERSTEALTH_LOGO_AND_CAMO",""); + maps\_credits::addcentertriple("",&"CREDITS_ARE_TRADEMARKS_OF_HYPERSTEALTH",""); + maps\_credits::addcentertriple("",&"CREDITS_CAMOUFLAGE_PATTERNS_ARE_PROTEC",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple("",&"CREDITS_THE_US4CES_LOGO_AND_US4CES__US",""); + maps\_credits::addcentertriple("",&"CREDITS_ARE_TRADEMARKS_OF_GUY_CRAMER_A",""); + maps\_credits::addcentertriple("",&"CREDITS_PATTERNS_ARE_PROTECTED_BY_INTE",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple("",&"CREDITS_KRYPTEK_THE_KRYPTEK_HELMET_LOG",""); + maps\_credits::addcentertriple("",&"CREDITS_BANSHEE_HIGHLANDER_MANDRAKE_NE",""); + maps\_credits::addcentertriple("",&"CREDITS_YETI_ARE_TRADEMARKS_OF_KRYPTEK",""); + maps\_credits::addcentertriple("",&"CREDITS_ARE_PROTECTED_BY_COPYRIGHTS_RE",""); + maps\_credits::addcentertriple("",&"CREDITS_D686000_D685999_AND_D679099",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple("",&"CREDITS_NEITHER_THE_UNITED_STATES_MARI",""); + maps\_credits::addcentertriple("",&"CREDITS_DEPARTMENT_OF_DEFENSE_HAS_APPR",""); + maps\_credits::addcentertriple("",&"CREDITS_PRODUCT_OR_PROMOTION_OR_SERVIC",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple("",&"CREDITS_MULTICAM_THE_MULTICAM_LOGO_MUL",""); + maps\_credits::addcentertriple("",&"CREDITS_AND_MULTICAM_BLACK_ARE_ALL_TRA",""); + maps\_credits::addcentertriple("",&"CREDITS_ARE_PROTECTED_BY_COPYRIGHT_REG",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple("",&"CREDITS_USES_BINK_VIDEO_COPYRIGHT__199",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple("",&"CREDITS_USES_MILES_SOUND_SYSTEM_COPYRI",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple("",&"CREDITS_CALL_OF_DUTY__ADVANCED_WARFARE",""); + maps\_credits::addcentertriple("",&"CREDITS_ALL_RIGHTS_RESERVED_SEE_WWWHAV",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple("",&"CREDITS_USES_UMBRA_3__2014_BY_UMBRA_SO",""); + maps\_credits::addspacesmall(); + maps\_credits::addcentertriple("",&"CREDITS_DOLBY_AND_THE_DOUBLED_SYMBOL_A",""); + maps\_credits::addspacesmall(); +} + +//Function Number: 2 +initiw6credits() +{ + initiw6credits_s1(); +} + +//Function Number: 3 +initactivisioncredits() +{ +} \ No newline at end of file diff --git a/AW/PC/SP/maps/_damagefeedback.gsc b/AW/PC/maps/_damagefeedback.gsc similarity index 97% rename from AW/PC/SP/maps/_damagefeedback.gsc rename to AW/PC/maps/_damagefeedback.gsc index 7a59655..919acc6 100644 --- a/AW/PC/SP/maps/_damagefeedback.gsc +++ b/AW/PC/maps/_damagefeedback.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_damagefeedback.gsc + * Decompiled File: _damagefeedback.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 8 - * Decompile Time: 118 ms - * Timestamp: 10/27/2023 1:58:30 AM + * Decompile Time: 135 ms + * Timestamp: 4/22/2024 2:20:32 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_dds.gsc b/AW/PC/maps/_dds.gsc similarity index 98% rename from AW/PC/SP/maps/_dds.gsc rename to AW/PC/maps/_dds.gsc index 8ce7313..8a59f4c 100644 --- a/AW/PC/SP/maps/_dds.gsc +++ b/AW/PC/maps/_dds.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_dds.gsc + * Decompiled File: _dds.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 90 - * Decompile Time: 1530 ms - * Timestamp: 10/27/2023 1:58:35 AM + * Decompile Time: 1368 ms + * Timestamp: 4/22/2024 2:20:36 AM *******************************************************************/ //Function Number: 1 @@ -847,9 +847,13 @@ dds_disable(param_00) switch(param_00) { case "axis": + dds_clear_all_queued_events_axis(); + common_scripts\utility::flag_clear("dds_running_axis"); break; case "allies": + dds_clear_all_queued_events(); + common_scripts\utility::flag_clear("dds_running_allies"); break; default: @@ -2239,6 +2243,18 @@ update_actor_damage(param_00,param_01) case "MOD_GRENADE_SPLASH": break; } + + if(self.team == param_00.team) + { + self notify("dds_friendly_fire"); + return; + } + + if(self.team == "neutral") + { + dds_notify("civ_fire",param_00.team == "allies"); + return; + } } } @@ -2490,24 +2506,50 @@ dds_notify_mod(param_00,param_01) case "MOD_MELEE": case "MOD_MELEE_ALT": + dds_notify(check_kill_damage("kill_melee","melee"),param_00); break; case "MOD_EXPLOSIVE": case "MOD_GRENADE_SPLASH": case "MOD_GRENADE": + dds_notify("kill_explo",param_00); break; case "MOD_RIFLE_BULLET": case "MOD_PISTOL_BULLET": + if(animscripts\utility::issniperrifle(self.damageweapon)) + { + dds_notify(check_kill_damage("react_sniper","shot"),!param_00); + var_02 = 1; + break; + } + else + { + dds_notify(check_kill_damage("kill_confirm","shot"),param_00); + var_02 = 1; + break; + } + break; case "MOD_HEAD_SHOT": + var_02 = 1; break; default: break; } } + else + { + dds_notify(param_01,param_00); + var_02 = 1; + } + + if(isplayer(self.attacker) && var_02) + { + self.attacker maps\_utility::ent_flag_set("dds_killstreak"); + } } //Function Number: 81 @@ -2566,9 +2608,11 @@ dds_notify_grenade(param_00,param_01,param_02) { case "willy_pete_80s_sp": case "willy_pete_sp": + dds_notify("smokeout",param_01); break; case "emp_grenade_sp": + dds_notify("empout",param_01); break; case "vc_grenade_sp": @@ -2584,9 +2628,14 @@ dds_notify_grenade(param_00,param_01,param_02) case "frag_grenade_future_sp": case "frag_grenade_sp": default: + dds_notify("fragout",param_01); break; } + + return; } + + dds_notify("frag_throwback",param_01); } //Function Number: 84 @@ -2611,6 +2660,7 @@ dds_notify_reload(param_00,param_01) break; default: + dds_notify("reload",param_01); break; } } diff --git a/AW/PC/SP/maps/_debug.gsc b/AW/PC/maps/_debug.gsc similarity index 97% rename from AW/PC/SP/maps/_debug.gsc rename to AW/PC/maps/_debug.gsc index ad42787..458006e 100644 --- a/AW/PC/SP/maps/_debug.gsc +++ b/AW/PC/maps/_debug.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_debug.gsc + * Decompiled File: _debug.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 110 - * Decompile Time: 1680 ms - * Timestamp: 10/27/2023 1:58:40 AM + * Decompile Time: 1592 ms + * Timestamp: 4/22/2024 2:20:41 AM *******************************************************************/ //Function Number: 1 @@ -675,52 +675,52 @@ state_print_priority(param_00) switch(param_00) { case "death": - break; + return 0; case "scripted": - break; + return 1; case "traverse": - break; + return 2; case "combat": - break; + return 3; case "patrol": - break; + return 4; case "stealth": - break; + return 5; case "cover_arrival": - break; + return 6; case "cover": - break; + return 7; case "flashed": - break; + return 8; case "reaction": - break; + return 9; case "pain": - break; + return 10; case "init": - break; + return 11; case "move": - break; + return 12; case "stop": - break; + return 13; case "grenade_cower": - break; + return 14; case "grenade_return_throw": - break; + return 15; case "": case "cover_prone": @@ -732,10 +732,10 @@ state_print_priority(param_00) case "cover_right": case "cover_stand": case "cover_crouch": - break; + return 16; default: - break; + return 99; } } @@ -791,6 +791,7 @@ script_to_state(param_00) case "flashed": case "move": case "stop": + var_01 = common_scripts\utility::array_add(var_01,param_00.script); break; case "cover_prone": @@ -802,11 +803,26 @@ script_to_state(param_00) case "cover_right": case "cover_stand": case "cover_crouch": + var_01 = common_scripts\utility::array_add(var_01,"cover"); break; default: + if(common_scripts\utility::string_find(param_00.script,"mantle") != -1) + { + var_01 = common_scripts\utility::array_add(var_01,"mantle"); + break; + } + + var_01 = common_scripts\utility::array_add(var_01,param_00.script); break; } + + if(var_01.size > 1) + { + var_01 = common_scripts\utility::array_sort_with_func(var_01,::script_state_compare); + } + + return var_01; } //Function Number: 37 diff --git a/AW/PC/maps/_deployablecoverai.gsc b/AW/PC/maps/_deployablecoverai.gsc new file mode 100644 index 0000000..0bbcce7 --- /dev/null +++ b/AW/PC/maps/_deployablecoverai.gsc @@ -0,0 +1,268 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _deployablecoverai.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 11 + * Decompile Time: 164 ms + * Timestamp: 4/22/2024 2:20:42 AM +*******************************************************************/ + +//Function Number: 1 +battle_deployable_cover_setup() +{ + deployable_cover_anims(); + level.deployablecover = []; + var_00 = common_scripts\utility::getstructarray("deployable_cover_animnode","targetname"); + foreach(var_02 in var_00) + { + var_03 = getent(var_02.target,"targetname"); + var_03.contents = var_03 setcontents(0); + var_03 hide(); + var_04 = getent(var_03.target,"targetname"); + var_04 notsolid(); + var_04 connectpaths(); + var_05 = getentarray(var_04.target,"targetname"); + foreach(var_07 in var_05) + { + var_07 disconnectnode(); + } + + level.deployablecover[level.deployablecover.size] = var_02; + } +} + +//Function Number: 2 +handle_deployable_cover(param_00,param_01) +{ + thread deployable_cover_think(); + if(isdefined(param_01)) + { + common_scripts\utility::flag_wait(param_01); + } + + if(!isdefined(level.deployablecoverinuse)) + { + level.deployablecoverinuse = 0; + } + else + { + level.deployablecoverinuse++; + if(level.deployablecoverinuse >= level.deployablecover.size) + { + level.deployablecoverinuse = 0; + } + } + + var_02 = 0; + if(isdefined(param_00)) + { + for(;;) + { + var_03 = getent(param_00,"targetname"); + if(isdefined(var_03) && ispointinvolume(level.deployablecover[level.deployablecoverinuse].origin,var_03) && !isdefined(level.deployablecover[level.deployablecoverinuse].isused)) + { + break; + } + else + { + level.deployablecoverinuse++; + if(level.deployablecoverinuse >= level.deployablecover.size) + { + level.deployablecoverinuse = 0; + var_02++; + wait(5); + if(var_02 > 3) + { + return; + } + } + } + + wait(0.25); + if(!isalive(self)) + { + return; + } + } + } + + if(isalive(self) && isdefined(level.deployablecover[level.deployablecoverinuse].isused)) + { + handle_deployable_cover(param_00,param_01); + return; + } + + var_04 = level.deployablecoverinuse; + level.deployablecover[var_04].isused = 1; + var_05 = level.deployablecover[var_04]; + var_06 = getent(var_05.target,"targetname"); + var_07 = getent(var_06.target,"targetname"); + var_08 = getentarray(var_07.target,"targetname"); + if(isalive(self)) + { + self.animname = "generic"; + self.ignoreme = 1; + self.ignoresuppression = 1; + thread deployable_cover_focus_goal(); + thread deployable_cover_watch_death(var_04); + var_05 maps\_anim::anim_reach_solo(self,"deployable_cover_deploy"); + } + + var_09 = maps\_utility::spawn_anim_model("deployable_cover",(0,0,0)); + var_09 show(); + if(isalive(self)) + { + thread deployable_cover_kill(var_09); + thread deployable_cover_cleanup(var_09,var_06,var_07,var_08,var_04); + self notify("placing_deployable_cover"); + var_0A = [self,var_09]; + var_05 thread maps\_anim::anim_single(var_0A,"deployable_cover_deploy"); + } + + if(isalive(self)) + { + wait(2.3); + } + + if(isalive(self)) + { + self notify("deployable_start"); + } + + if(isalive(self)) + { + wait(2.5); + } + + if(isdefined(var_09)) + { + var_09.set = 1; + var_09 waittillmatch("end","single anim"); + } + + if(isdefined(self)) + { + self notify("deployable_cleanup"); + self notify("deployable_finished"); + } +} + +//Function Number: 3 +deployable_cover_think() +{ + var_00 = spawn("script_model",self gettagorigin("j_SpineUpper") + (0,0,0)); + var_00.angles = self gettagangles("j_SpineUpper") + (0,0,0); + var_00.animname = "deployable_cover"; + var_00 setmodel("deployable_cover"); + var_00 maps\_anim::setanimtree(); + var_00 maps\_anim::anim_first_frame_solo(var_00,"deployable_cover_closed_idle"); + var_00 linkto(self,"j_SpineUpper"); + self waittill("placing_deployable_cover"); + var_00 delete(); +} + +//Function Number: 4 +deployable_cover_focus_goal() +{ + self endon("death"); + self endon("placing_deployable_cover"); + for(;;) + { + self.goalradius = 16; + wait 0.05; + } +} + +//Function Number: 5 +deployable_cover_watch_death(param_00) +{ + self endon("placing_deployable_cover"); + self waittill("damage"); + level.deployablecover[param_00].isused = undefined; +} + +//Function Number: 6 +deployable_cover_kill(param_00) +{ + self endon("deployable_finished"); + self endon("deployable_double"); + self waittill("damage"); + if(isdefined(self) && isalive(self)) + { + maps\_utility::anim_stopanimscripted(); + self kill(); + } + + param_00 maps\_utility::anim_stopanimscripted(); + self notify("deployable_cleanup"); +} + +//Function Number: 7 +deployable_cover_cleanup(param_00,param_01,param_02,param_03,param_04) +{ + self endon("deployable_double"); + common_scripts\utility::waittill_any("deployable_start","death"); + wait 0.05; + if(isalive(self)) + { + param_02 solid(); + param_02 disconnectpaths(); + } + + if(isalive(self)) + { + common_scripts\utility::waittill_any("deployable_cleanup","death"); + } + + if(isalive(self) || isdefined(param_00.set)) + { + param_01 setcontents(param_01.contents); + param_01 show(); + foreach(var_06 in param_03) + { + var_06 connectnode(); + } + } + else + { + param_02 notsolid(); + param_02 connectpaths(); + level.deployablecover[param_04].isused = undefined; + } + + wait 0.05; + self notify("goal"); + param_00 delete(); +} + +//Function Number: 8 +deployable_cover_anims() +{ + deployable_cover_ai(); + deployable_cover_model(); +} + +//Function Number: 9 +deployable_cover_ai() +{ + level.scr_anim["generic"]["deployable_cover_deploy"] = %fusion_lift_deploy_cover_carter_enter; + level.scr_anim["generic"]["deployable_cover_deploy_idle"][0] = %fusion_lift_deploy_cover_carter_idle; +} + +//Function Number: 10 +deployable_cover_model() +{ + level.scr_animtree["deployable_cover"] = #animtree; + level.scr_model["deployable_cover"] = "deployable_cover"; + level.scr_anim["deployable_cover"]["deployable_cover_deploy"] = %fusion_lift_deploy_cover_deployable_cover_prop_enter; + level.scr_anim["deployable_cover"]["deployable_cover_closed_idle"] = %fusion_lift_deploy_cover_idle_closed; + level.scr_anim["deployable_cover"]["deployable_cover_open_idle"] = %fusion_lift_deploy_cover_idle_opened; +} + +//Function Number: 11 +print3d_over_target() +{ + self endon("death"); + wait(1); +} \ No newline at end of file diff --git a/AW/PC/SP/maps/_detonategrenades.gsc b/AW/PC/maps/_detonategrenades.gsc similarity index 97% rename from AW/PC/SP/maps/_detonategrenades.gsc rename to AW/PC/maps/_detonategrenades.gsc index 9c11f34..721fbd9 100644 --- a/AW/PC/SP/maps/_detonategrenades.gsc +++ b/AW/PC/maps/_detonategrenades.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_detonategrenades.gsc + * Decompiled File: _detonategrenades.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 33 - * Decompile Time: 515 ms - * Timestamp: 10/27/2023 1:58:42 AM + * Decompile Time: 508 ms + * Timestamp: 4/22/2024 2:20:44 AM *******************************************************************/ //Function Number: 1 @@ -619,6 +619,11 @@ onweapondamage(param_00,param_01,param_02,param_03) switch(param_01) { case "concussion_grenade_mp": + var_04 = 512; + var_05 = 1 - distance(self.origin,param_00.origin) / var_04; + var_06 = 1 + 4 * var_05; + wait(0.05); + self shellshock("concussion_grenade_mp",var_06); break; default: diff --git a/AW/PC/maps/_dog_kinect.gsc b/AW/PC/maps/_dog_kinect.gsc new file mode 100644 index 0000000..2681062 --- /dev/null +++ b/AW/PC/maps/_dog_kinect.gsc @@ -0,0 +1,242 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _dog_kinect.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 6 + * Decompile Time: 96 ms + * Timestamp: 4/22/2024 2:20:44 AM +*******************************************************************/ + +//Function Number: 1 +enable_dog_kinect() +{ + if(level.script == "enemyhq") + { + speechenablegrammar("speech/s1/grammars/en-us_rileyenemyhq.cfg",1); + } + else if(level.script == "nml") + { + speechenablegrammar("speech/s1/grammars/en-us_rileynml.cfg",1); + } + + speechenable(1); + setdvar("show_riley_commands",0); +} + +//Function Number: 2 +disable_dog_kinect() +{ + speechenable(0); + if(level.script == "enemyhq") + { + speechenablegrammar("speech/s1/grammars/en-us_rileyenemyhq.cfg",0); + return; + } + + if(level.script == "nml") + { + speechenablegrammar("speech/s1/grammars/en-us_rileynml.cfg",0); + } +} + +//Function Number: 3 +speechcommands() +{ + enable_dog_kinect(); + level.player thread listen_for_dog_kinect_commands(level.dog); +} + +//Function Number: 4 +listen_for_dog_kinect_commands(param_00) +{ + self endon("death"); + param_00 endon("death"); + for(;;) + { + level.player waittill("speechCommand",var_01,var_02); + if(getdvarint("show_riley_commands") == 1) + { + iprintlnbold("speechCommand: " + var_02 + " at " + var_01 + " confidence."); + } + + var_03 = 0.3; + var_04 = 0.7; + switch(var_02) + { + case "attack": + if(var_01 > var_03) + { + if(isdefined(param_00.controlling_dog) && param_00 maps\_utility::ent_flag("pause_dog_command")) + { + level.player notify("attack_command"); + } + else + { + level.player notify("fired_laser"); + } + } + break; + + case "cancel": + if(var_01 > var_03) + { + param_00 notify("cancel_dog_attack"); + } + break; + + case "bark": + if(var_01 > var_04) + { + if(isdefined(param_00.controlling_dog)) + { + level.player notify("LISTEN_ads_button_pressed"); + } + } + break; + + case "platform": + if(var_01 > var_03) + { + var_05 = ["platform","ramp","walkway","catwalk"]; + foreach(var_07 in var_05) + { + var_08 = findlocation(var_07); + if(isdefined(var_08)) + { + laser_designate_target_kinect(var_08); + break; + } + } + } + break; + + case "cart": + if(var_01 > var_03) + { + var_0A = ["cart","counter","stand","conession","concession"]; + foreach(var_0C in var_0A) + { + var_08 = findlocation(var_0C); + if(isdefined(var_08)) + { + laser_designate_target_kinect(var_08); + break; + } + } + } + break; + + case "vehicle": + if(var_01 > var_03) + { + var_0E = ["car","van","bus"]; + foreach(var_10 in var_0E) + { + var_08 = findlocation(var_10); + if(isdefined(var_08)) + { + laser_designate_target_kinect(var_08); + break; + } + } + } + break; + + case "debris": + if(var_01 > var_03) + { + var_12 = ["debris","rubble"]; + foreach(var_14 in var_12) + { + var_08 = findlocation(var_14); + if(isdefined(var_08)) + { + laser_designate_target_kinect(var_08); + break; + } + } + } + break; + + default: + if(var_01 > var_03) + { + var_08 = findlocation(var_02); + if(isdefined(var_08)) + { + laser_designate_target_kinect(var_08); + } + } + break; + } + } +} + +//Function Number: 5 +findlocation(param_00) +{ + var_01 = level.bcs_locations; + foreach(var_03 in var_01) + { + if(isdefined(var_03.locationaliases)) + { + foreach(var_05 in var_03.locationaliases) + { + if(issubstr(var_05,param_00)) + { + return var_05; + } + } + } + } + + return undefined; +} + +//Function Number: 6 +laser_designate_target_kinect(param_00) +{ + var_01 = []; + var_02 = getaiarray("axis"); + foreach(var_04 in var_02) + { + if(var_04.type == "dog") + { + continue; + } + + var_05 = var_04 gettagorigin("J_SpineUpper"); + if(maps\_utility::player_looking_at(var_05,0.8,1)) + { + var_06 = var_04 animscripts\battlechatter::get_all_my_locations(); + foreach(var_08 in var_06) + { + var_09 = var_08.locationaliases; + foreach(var_0B in var_09) + { + if(var_0B == param_00) + { + var_01 = common_scripts\utility::array_add(var_01,var_04); + break; + } + } + } + } + } + + var_0F = maps\_dog_control::get_eye(); + if(var_01.size > 0) + { + var_01 = sortbydistance(var_01,var_0F); + foreach(var_04 in var_01) + { + if(!isdefined(var_04.a.doinglongdeath)) + { + var_11 = maps\_dog_control::get_laser_designated_trace(); + self notify("issue_dog_command",var_11,undefined,var_04); + return; + } + } + } +} \ No newline at end of file diff --git a/AW/PC/SP/maps/_drone.gsc b/AW/PC/maps/_drone.gsc similarity index 98% rename from AW/PC/SP/maps/_drone.gsc rename to AW/PC/maps/_drone.gsc index 65f5ed1..fde7047 100644 --- a/AW/PC/SP/maps/_drone.gsc +++ b/AW/PC/maps/_drone.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_drone.gsc + * Decompiled File: _drone.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 27 - * Decompile Time: 461 ms - * Timestamp: 10/27/2023 1:58:44 AM + * Decompile Time: 399 ms + * Timestamp: 4/22/2024 2:20:46 AM *******************************************************************/ //Function Number: 1 @@ -1001,9 +1001,16 @@ check_delete() switch(self.script_noteworthy) { case "delete_on_goal": + if(isdefined(self.magic_bullet_shield)) + { + maps\_utility::stop_magic_bullet_shield(); + } + + self delete(); break; case "die_on_goal": + self kill(); break; } } \ No newline at end of file diff --git a/AW/PC/SP/maps/_drone_ai.gsc b/AW/PC/maps/_drone_ai.gsc similarity index 99% rename from AW/PC/SP/maps/_drone_ai.gsc rename to AW/PC/maps/_drone_ai.gsc index 769c3bd..42abf61 100644 --- a/AW/PC/SP/maps/_drone_ai.gsc +++ b/AW/PC/maps/_drone_ai.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_drone_ai.gsc + * Decompiled File: _drone_ai.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 23 ms - * Timestamp: 10/27/2023 1:58:44 AM + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:20:46 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_drone_base.gsc b/AW/PC/maps/_drone_base.gsc similarity index 94% rename from AW/PC/SP/maps/_drone_base.gsc rename to AW/PC/maps/_drone_base.gsc index 144a21d..bca7b51 100644 --- a/AW/PC/SP/maps/_drone_base.gsc +++ b/AW/PC/maps/_drone_base.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_drone_base.gsc + * Decompiled File: _drone_base.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 6 - * Decompile Time: 107 ms - * Timestamp: 10/27/2023 1:58:45 AM + * Decompile Time: 97 ms + * Timestamp: 4/22/2024 2:20:47 AM *******************************************************************/ //Function Number: 1 @@ -59,14 +59,21 @@ thermaldrawenabledrone() switch(level.dronesthermalteamselect) { case "all": + var_00 = 1; break; case "axis": + var_00 = self.team == "axis"; break; default: break; } + + if(var_00) + { + self thermaldrawenable(); + } } //Function Number: 3 diff --git a/AW/PC/SP/maps/_drone_civilian.gsc b/AW/PC/maps/_drone_civilian.gsc similarity index 84% rename from AW/PC/SP/maps/_drone_civilian.gsc rename to AW/PC/maps/_drone_civilian.gsc index dc8aebb..8b11059 100644 --- a/AW/PC/SP/maps/_drone_civilian.gsc +++ b/AW/PC/maps/_drone_civilian.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_drone_civilian.gsc + * Decompiled File: _drone_civilian.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 15 ms - * Timestamp: 10/27/2023 1:58:45 AM + * Decompile Time: 36 ms + * Timestamp: 4/22/2024 2:20:47 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/_dshk_player.gsc b/AW/PC/maps/_dshk_player.gsc new file mode 100644 index 0000000..06a2b49 --- /dev/null +++ b/AW/PC/maps/_dshk_player.gsc @@ -0,0 +1,392 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _dshk_player.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 16 + * Decompile Time: 264 ms + * Timestamp: 4/22/2024 2:20:48 AM +*******************************************************************/ + +//Function Number: 1 +init_dshk_player() +{ + common_scripts\utility::flag_init("player_dismounting_turret"); + common_scripts\utility::flag_init("player_on_dshk_turret"); + dshk_player_anims(); +} + +//Function Number: 2 +init_dshk_turret_processing() +{ + level.player.dshk_turrets = []; + level.player thread player_process_dshk_turrets(); +} + +//Function Number: 3 +player_process_dshk_turrets() +{ + self.mount_hint = maps\_hud_util::createfontstring("default",1.5); + self.mount_hint.alpha = 0.9; + self.mount_hint.x = 0; + self.mount_hint.y = 50; + self.mount_hint.alignx = "center"; + self.mount_hint.aligny = "middle"; + self.mount_hint.horzalign = "center"; + self.mount_hint.vertalign = "middle"; + self.mount_hint.foreground = 0; + self.mount_hint.hidewhendead = 1; + self.mount_hint.hidewheninmenu = 1; + for(;;) + { + var_00 = 0; + if(!common_scripts\utility::flag("player_on_dshk_turret")) + { + for(var_01 = 0;var_01 < self.dshk_turrets.size;var_01++) + { + if(self istouching(self.dshk_turrets[var_01])) + { + if(self usebuttonpressed()) + { + self.dshk_turrets[var_01] notify("mounted"); + } + else + { + var_00 = 1; + } + + break; + } + } + } + + if(var_00) + { + self.mount_hint settext(&"PLATFORM_HOLD_TO_USE"); + } + else + { + self.mount_hint settext(""); + } + + wait(0.2); + } + + self.mount_hint destroy(); +} + +//Function Number: 4 +player_add_dshk_turret(param_00) +{ + self.dshk_turrets[self.dshk_turrets.size] = param_00; + param_00 endon("death"); +} + +//Function Number: 5 +player_remove_dshk_turret(param_00) +{ + self.dshk_turrets = common_scripts\utility::array_remove(self.dshk_turrets,param_00); +} + +//Function Number: 6 +dshk_player_anims() +{ + level.scr_animtree["dshk_turret"] = #animtree; + level.scr_animtree["turret_player_rig"] = #animtree; + level.scr_model["turret_player_rig"] = level.dshk_viewmodel; + level.scr_anim["turret_player_rig"]["turret_hands_geton"] = %dshk_player_dshk_geton; + level.scr_anim["dshk_turret"]["turret_hands_getoff"] = %dshk_player_dshk_getoff; + level.scr_anim["dshk_turret"]["turret_hands_idle"] = %dshk_player_dshk_idle; + level.scr_anim["dshk_turret"]["turret_hands_fire"] = %dshk_player_dshk_fire; + level.scr_anim["dshk_turret"]["turret_hands_idle2fire"] = %dshk_player_dshk_idle_to_fire; + level.scr_anim["dshk_turret"]["turret_hands_fire2idle"] = %dshk_player_dshk_fire_to_idle; + level.scr_anim["dshk_turret"]["turret_gun_geton"] = %dshk_geton; + level.scr_anim["dshk_turret"]["turret_gun_getoff"] = %dshk_getoff; + level.scr_anim["dshk_turret"]["turret_gun_idle"] = %dshk_idle; + level.scr_anim["dshk_turret"]["turret_gun_fire"] = %dshk_fire; + level.scr_anim["dshk_turret"]["turret_gun_idle2fire"] = %dshk_idle_to_fire; + level.scr_anim["dshk_turret"]["turret_gun_fire2idle"] = %dshk_fire_to_idle; +} + +//Function Number: 7 +dshk_turret_init(param_00) +{ + if(!isdefined(level.player.dshk_turrets)) + { + init_dshk_turret_processing(); + } + + var_01 = self; + var_01 endon("death"); + var_01 makeunusable(); + var_01 setdefaultdroppitch(0); + var_01.setturretusable = 1; + var_02 = get_world_relative_offset(var_01.origin,var_01.angles,(-32,0,-48)); + var_01.usable_turret_trigger = spawn("trigger_radius",var_02,0,30,128); + level.player player_add_dshk_turret(var_01.usable_turret_trigger); + while(var_01.setturretusable == 1) + { + var_01.usable_turret_trigger waittill("mounted"); + var_01 thread player_use_dshk_with_viewmodel(var_01,level.player,param_00); + level.player custom_dismount_hint_return_when_dismounted(); + handle_dismount(); + } + + level.player player_remove_dshk_turret(var_01.usable_turret_trigger); + var_01.usable_turret_trigger delete(); +} + +//Function Number: 8 +custom_dismount_hint_return_when_dismounted() +{ + self.disomount_hint = maps\_hud_util::createfontstring("default",1.5); + self.disomount_hint.alpha = 0.9; + self.disomount_hint.x = 0; + self.disomount_hint.y = 50; + self.disomount_hint.alignx = "center"; + self.disomount_hint.aligny = "middle"; + self.disomount_hint.horzalign = "center"; + self.disomount_hint.vertalign = "middle"; + self.disomount_hint.foreground = 0; + self.disomount_hint.hidewhendead = 1; + self.disomount_hint.hidewheninmenu = 1; + self.disomount_hint settext(&"PLATFORM_HOLD_TO_DROP"); + notifyoncommand("turret_dismount","+usereload"); + notifyoncommand("turret_dismount","+activate"); + level.player waittill("turret_dismount"); + self.disomount_hint destroy(); +} + +//Function Number: 9 +handle_dismount() +{ + if(!common_scripts\utility::flag("player_dismounting_turret")) + { + common_scripts\utility::flag_set("player_dismounting_turret"); + level.player freezecontrols(1); + self.animname = "dshk_turret"; + self notify("player_dismount"); + maps\_anim::setanimtree(); + var_00 = self gettagangles("tag_ground"); + var_01 = getanimlength(%dshk_player_dshk_getoff); + var_02 = maps\_utility::getanim("turret_hands_getoff"); + var_03 = maps\_utility::getanim("turret_gun_getoff"); + self clearanim(%root,0); + self setanim(var_02,1,0,1); + self setanim(var_03,1,0,1); + wait(var_01); + self detachall(); + self makeusable(); + self setturretdismountorg(self gettagorigin("tag_ground")); + level.player enableturretdismount(); + self useby(level.player); + self makeunusable(); + var_04 = 0.15; + level.player lerpfov(65,var_04); + var_05 = spawn("script_origin",(0,0,0)); + var_05.origin = self gettagorigin("tag_ground"); + var_05.angles = var_00; + level.player playerlinkto(var_05,"",1,0,0,0,0,0); + var_05 moveto(self.mount_pos,var_04,var_04 * 0.25); + wait(var_04 + 0.1); + var_05 delete(); + if(isdefined(self.disomount_hint)) + { + self.disomount_hint destroy(); + } + + if(isdefined(self.player_rig)) + { + self.player_rig delete(); + } + + level.player enableweapons(); + level.player freezecontrols(0); + common_scripts\utility::flag_clear("player_on_dshk_turret"); + common_scripts\utility::flag_clear("player_dismounting_turret"); + } +} + +//Function Number: 10 +player_use_dshk_with_viewmodel(param_00,param_01,param_02) +{ + common_scripts\utility::flag_set("player_on_dshk_turret"); + param_00 endon("player_dismount"); + param_00.animname = "dshk_turret"; + param_00 maps\_anim::setanimtree(); + param_01 freezecontrols(1); + param_01 disableweapons(); + level.player setstance("stand"); + self.mount_pos = param_01.origin; + param_00.player_rig = maps\_utility::spawn_anim_model("turret_player_rig"); + param_00.player_rig.animname = "turret_player_rig"; + param_00.player_rig linkto(param_00,"tag_ground",(0,0,0),(0,0,0)); + param_00.player_rig hide(); + param_00.player_rig common_scripts\utility::delaycall(0.25,::show); + param_00 maps\_anim::anim_first_frame_solo(param_00.player_rig,"turret_hands_geton","tag_player"); + maps\_anim::anim_first_frame_solo(param_00,"turret_gun_geton"); + param_01 playerlinktoblend(param_00.player_rig,"tag_origin",0.3,0.1,0.1); + wait(0.2); + var_03 = getanimlength(%dshk_player_dshk_geton); + var_04 = param_00.player_rig maps\_utility::getanim("turret_hands_geton"); + var_05 = maps\_utility::getanim("turret_gun_geton"); + param_00 clearanim(%root,0); + param_00 setanim(var_05,1,0,1); + thread notifyaftertime("geton_anim_finished","time is up",var_03); + wait(0.1); + param_00.player_rig setanim(var_04,1,0,1); + var_06 = param_00 getanimtime(var_05); + param_00.player_rig setanimtime(var_04,var_06); + param_01 lerpfov(55,0.2); + self waittill("geton_anim_finished"); + if(isdefined(param_02) && param_02 == 1) + { + thread dshk_shells(level.dshk_shelleject_fx,"player_dismounting_turret"); + } + + param_01 playerlinktodelta(self,"tag_player",0.35,90,90,45,30,1); + param_00.player_rig delete(); + param_00.viewhands = level.scr_model["turret_player_rig"]; + param_00 attach(param_00.viewhands,"tag_ground"); + thread cleanup_on_death(); + param_00.is_occupied = 1; + param_00 makeusable(); + param_00 setmode("manual"); + param_01 unlink(); + param_00 useby(param_01); + param_00 makeunusable(); + param_01 disableturretdismount(); + var_07 = maps\_utility::getanim("turret_hands_idle"); + param_00 clearanim(var_04,0.1); + param_00 setanim(var_07,1,0.1,1); + param_00.hands_animation = var_07; + var_08 = param_00 maps\_utility::getanim("turret_gun_idle"); + param_00 clearanim(var_05,0.1); + param_00 setanim(var_08,1,0.1,1); + param_00.gun_animation = var_08; + var_09 = 0; + var_0A = 0; + while(common_scripts\utility::flag("player_on_dshk_turret")) + { + var_09 = level.player attackbuttonpressed(); + if(var_0A != var_09) + { + if(var_09) + { + param_00 thread animate_turret_with_viewmodel("turret_hands_idle2fire","turret_hands_fire","turret_gun_idle2fire","turret_gun_fire"); + } + else + { + param_00 thread animate_turret_with_viewmodel("turret_hands_fire2idle","turret_hands_idle","turret_gun_fire2idle","turret_gun_idle"); + } + + var_0A = var_09; + } + + wait(0.05); + } +} + +//Function Number: 11 +animate_turret_with_viewmodel(param_00,param_01,param_02,param_03) +{ + self notify("turret_anim_change"); + self endon("turret_anim_change"); + self endon("player_dismount"); + var_04 = maps\_utility::getanim(param_00); + var_05 = maps\_utility::getanim(param_01); + var_06 = maps\_utility::getanim(param_02); + var_07 = maps\_utility::getanim(param_03); + self clearanim(self.hands_animation,0); + self.hands_animation = var_04; + self clearanim(self.gun_animation,0); + self.gun_animation = var_06; + self setanim(var_06,1,0.1,1); + self setflaggedanim(param_00,var_04,1,0.1,1); + self waittillmatch("end",param_00); + self clearanim(var_04,0); + self clearanim(var_06,0); + self.hands_animation = var_05; + self.gun_animation = var_07; + self setanim(var_05,1,0.1,1); + self setanim(var_07,1,0.1,1); +} + +//Function Number: 12 +cleanup_on_death() +{ + level.player endon("death"); + level.player waittill("death"); + level.player unlink(); + level.player lerpfov(65,0.1); +} + +//Function Number: 13 +dshk_shells(param_00,param_01) +{ + self endon("death"); + if(isdefined(param_01)) + { + level endon(param_01); + } + + var_02 = common_scripts\utility::getfx(param_00); + var_03 = "tag_brass"; + var_04 = 0.1; + common_scripts\utility::flag_wait("player_on_dshk_turret"); + while(common_scripts\utility::flag("player_on_dshk_turret")) + { + while(level.player attackbuttonpressed()) + { + playfxontag(var_02,self,var_03); + wait(var_04); + } + + wait(0.05); + } +} + +//Function Number: 14 +dshk_turret_disable(param_00) +{ + if(common_scripts\utility::flag("player_on_dshk_turret")) + { + self notify("turret_dismount"); + param_00.setturretusable = 0; + } + else + { + param_00 notify("disable_player_turret"); + } + + if(isdefined(param_00.usable_turret_trigger)) + { + param_00.usable_turret_trigger delete(); + } + + if(isdefined(param_00.mount_hint)) + { + param_00.mount_hint destroy(); + } +} + +//Function Number: 15 +notifyaftertime(param_00,param_01,param_02) +{ + self endon("death"); + self endon(param_01); + wait(param_02); + self notify(param_00); +} + +//Function Number: 16 +get_world_relative_offset(param_00,param_01,param_02) +{ + var_03 = cos(param_01[1]); + var_04 = sin(param_01[1]); + var_05 = param_02[0] * var_03 - param_02[1] * var_04; + var_06 = param_02[0] * var_04 + param_02[1] * var_03; + var_05 = var_05 + param_00[0]; + var_06 = var_06 + param_00[1]; + return (var_05,var_06,param_00[2] + param_02[2]); +} \ No newline at end of file diff --git a/AW/PC/SP/maps/_endmission.gsc b/AW/PC/maps/_endmission.gsc similarity index 99% rename from AW/PC/SP/maps/_endmission.gsc rename to AW/PC/maps/_endmission.gsc index ab550f1..586637c 100644 --- a/AW/PC/SP/maps/_endmission.gsc +++ b/AW/PC/maps/_endmission.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_endmission.gsc + * Decompiled File: _endmission.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 40 - * Decompile Time: 618 ms - * Timestamp: 10/27/2023 1:58:48 AM + * Decompile Time: 584 ms + * Timestamp: 4/22/2024 2:20:50 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/_exo_climb.gsc b/AW/PC/maps/_exo_climb.gsc new file mode 100644 index 0000000..58a1829 --- /dev/null +++ b/AW/PC/maps/_exo_climb.gsc @@ -0,0 +1,2718 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _exo_climb.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 119 + * Decompile Time: 1928 ms + * Timestamp: 4/22/2024 2:20:56 AM +*******************************************************************/ + +//Function Number: 1 +load_precache() +{ + precachemodel("viewbody_generic_s1"); + precachemodel("viewbody_sentinel"); + precachemodel("viewbody_atlas_pmc_smp_custom"); + precachemodel("viewbody_atlas_military_smp"); + precachemodel("viewbody_atlas_military_smp_grapple"); + precacheitem("frag_grenade_var_exoclimb"); + precacheitem("tracking_grenade_var_exoclimb"); + precacheitem("contact_grenade_var_exoclimb"); + precacheitem("flash_grenade_var_exoclimb"); + precacheitem("emp_grenade_var_exoclimb"); + precacheitem("paint_grenade_var_exoclimb"); + precachestring(&"EXOCLIMB_CLIMB_HINT"); + precachestring(&"EXOCLIMB_CLIMB_HINT_PC"); + precacherumble("falling_land"); + precacherumble("damage_light"); + level._effect["exo_r_gloves_engage"] = loadfx("vfx/ui/exo_r_gloves_engage"); + level._effect["exo_l_gloves_engage"] = loadfx("vfx/ui/exo_l_gloves_engage"); + level._effect["exo_r_gloves_engage_slow"] = loadfx("vfx/ui/exo_r_gloves_engage_slow"); + level._effect["exo_l_gloves_engage_slow"] = loadfx("vfx/ui/exo_l_gloves_engage_slow"); + level._effect["exo_r_gloves_disengage"] = loadfx("vfx/ui/exo_r_gloves_disengage"); + level._effect["exo_l_gloves_disengage"] = loadfx("vfx/ui/exo_l_gloves_disengage"); + level._effect["dust_mag_r_glove_impact"] = loadfx("vfx/dust/dust_mag_r_glove_impact"); + level._effect["dust_mag_l_glove_impact"] = loadfx("vfx/dust/dust_mag_l_glove_impact"); + if(isdefined(1) && 1) + { + temp_exoclimb_hud_precache(); + } +} + +//Function Number: 2 +main(param_00) +{ + common_scripts\utility::flag_init("flag_exo_climbing_enabled"); + setup_climb_special_arrays(); + setup_climb_model(param_00); + setup_climb_anims(); + setup_exo_climb_audio(); + verify_jump_mount_points(); + verify_mag_mount_points(); + get_climb_triggers(); + init_exoclimb_hud(); +} + +//Function Number: 3 +is_exo_climbing() +{ + if(isdefined(level.exo_climb_rig)) + { + return 1; + } + + return 0; +} + +//Function Number: 4 +is_exoclimb_combat() +{ + if(!isdefined(level.exo_climb_rig.combatbuttonbuffer)) + { + return 0; + } + + if(climbing_helper_player_combat_requested()) + { + return 1; + } + + return 0; +} + +//Function Number: 5 +is_exoclimb_cover() +{ + if(!isdefined(level.exo_climb_rig.crouch_button_reset)) + { + return 0; + } + + if(climbing_helper_player_exit_combat_mode_requested()) + { + return 1; + } + + return 0; +} + +//Function Number: 6 +is_exoclimb_jumped() +{ + if(!isdefined(level.exo_climb_rig.jumpbuttonbuffer)) + { + return 0; + } + + if(climbing_helper_player_jump_requested()) + { + return 1; + } + + return 0; +} + +//Function Number: 7 +is_exoclimb_mag_moved() +{ + if(!isdefined(level.exo_climb_rig.surface_state)) + { + return 0; + } + + if(climbing_helper_player_mag_moving()) + { + return 1; + } + + return 0; +} + +//Function Number: 8 +override_mount_anim(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = getentarray(param_00,"script_noteworthy"); + foreach(var_07 in var_05) + { + var_07.override_anim = param_01; + var_07.override_anim_org = param_02; + var_07.override_rig = param_03; + var_07.override_view_angle_unclamp_time = param_04; + } +} + +//Function Number: 9 +disable_mount_point(param_00) +{ + var_01 = getentarray(param_00,"script_noteworthy"); + foreach(var_03 in var_01) + { + var_03 notify("disable_mount_point"); + } +} + +//Function Number: 10 +enable_exoclimb_combat(param_00) +{ + if(isdefined(param_00) && !param_00) + { + level.exoclimb_combat_enabled = 0; + return; + } + + level.exoclimb_combat_enabled = 1; +} + +//Function Number: 11 +setup_climb_special_arrays() +{ + level.exo_climb_move_options = []; + level.exo_climb_move_options["short"] = []; + level.exo_climb_move_options["long"] = []; + level.exo_climb_move_options["magnetic"] = []; + level.exo_climb_move_options["jump2mag"] = []; + level.exo_climb_move_options["mag2jump"] = []; + level.exo_climb_anim_offsets = []; + level.exo_climb_weapon = []; +} + +//Function Number: 12 +add_shake_and_rumble_notetracks_for_jump(param_00) +{ + maps\_anim::addnotetrack_customfunction("player_climb_rig","jump_rumble",::exo_climb_jump_rumble,param_00); + maps\_anim::addnotetrack_customfunction("player_climb_rig","jump_shake",::exo_climb_jump_shake,param_00); +} + +//Function Number: 13 +add_shake_and_rumble_notetracks_for_grab(param_00) +{ + maps\_anim::addnotetrack_customfunction("player_climb_rig","grab_rumble",::exo_climb_grab_rumble,param_00); + maps\_anim::addnotetrack_customfunction("player_climb_rig","grab_shake",::exo_climb_grab_shake,param_00); +} + +//Function Number: 14 +add_shake_and_rumble_notetracks(param_00) +{ + add_shake_and_rumble_notetracks_for_jump(param_00); + add_shake_and_rumble_notetracks_for_grab(param_00); +} + +//Function Number: 15 +add_mag_move_notetracks(param_00) +{ + maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,param_00); + maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input_2",::exo_climb_allow_player_input_2,param_00); +} + +//Function Number: 16 +setup_climb_model(param_00,param_01) +{ + if(!isdefined(param_00)) + { + level.scr_model["player_climb_rig"] = "viewbody_generic_s1"; + return; + } + + if(param_00 == "atlas_pmc") + { + level.scr_model["player_climb_rig"] = "viewbody_atlas_pmc_smp_custom"; + return; + } + + if(param_00 == "atlas_army") + { + if(isdefined(param_01)) + { + level.scr_model["player_climb_rig"] = "viewbody_atlas_military_smp_grapple"; + return; + } + + level.scr_model["player_climb_rig"] = "viewbody_atlas_military_smp"; + return; + } + + if(param_00 == "sentinel") + { + level.scr_model["player_climb_rig"] = "viewbody_sentinel"; + return; + } +} + +//Function Number: 17 +setup_climb_anims() +{ + level.scr_animtree["player_climb_rig"] = #animtree; + level.scr_anim["player_climb_rig"]["mount2jump"] = %vm_exoclimb_mount; + level.scr_anim["player_climb_rig"]["mount2mag"] = %vm_exoclimb_mag_mount_up; + level.scr_anim["player_climb_rig"]["mount_override"] = undefined; + level.scr_anim["player_climb_rig"]["dismount"] = %vm_exoclimb_dismount_down; + level.scr_anim["player_climb_rig"]["idle"][0] = %vm_exoclimb_idle; + level.scr_anim["player_climb_rig"]["idleleft"][0] = %vm_exoclimb_idle_left; + level.scr_anim["player_climb_rig"]["idleright"][0] = %vm_exoclimb_idle_right; + level.scr_anim["player_climb_rig"]["idleleft_back"][0] = %vm_exoclimb_idle_left_back; + level.scr_anim["player_climb_rig"]["idleright_back"][0] = %vm_exoclimb_idle_right_back; + level.scr_anim["player_climb_rig"]["idle_magnetic_gloves"][0] = %vm_exoclimb_mag_idle; + level.scr_anim["player_climb_rig"]["combat_idle"][0] = %vm_exoclimb_combat_idle; + level.scr_anim["player_climb_rig"]["combat_idle_left"][0] = %vm_exoclimb_combat_idle_left; + level.scr_anim["player_climb_rig"]["combat_idle_right"][0] = %vm_exoclimb_combat_idle_right; + level.scr_anim["player_climb_rig"]["climb_to_combat_idle"] = %vm_exoclimb_climb_idle_to_combat_idle; + level.scr_anim["player_climb_rig"]["combat_to_climb_idle"] = %vm_exoclimb_combat_idle_to_climb_idle; + level.scr_anim["player_climb_rig"]["combat_center_to_left"] = %vm_exoclimb_combat_idle_to_combat_idle_left; + level.scr_anim["player_climb_rig"]["combat_left_to_center"] = %vm_exoclimb_combat_idle_left_to_combat_idle; + level.scr_anim["player_climb_rig"]["combat_center_to_right"] = %vm_exoclimb_combat_idle_to_combat_idle_right; + level.scr_anim["player_climb_rig"]["combat_right_to_center"] = %vm_exoclimb_combat_idle_right_to_combat_idle; + level.scr_anim["player_climb_rig"]["normal_long_d"] = %vm_exoclimb_jump_2; + level.scr_anim["player_climb_rig"]["normal_long_l"] = %vm_exoclimb_jump_4; + level.scr_anim["player_climb_rig"]["normal_long_r"] = %vm_exoclimb_jump_6; + level.scr_anim["player_climb_rig"]["normal_long_u"] = %vm_exoclimb_jump_8; + level.scr_anim["player_climb_rig"]["magnetic_u_0"] = %vm_exoclimb_mag_up_00; + level.scr_anim["player_climb_rig"]["magnetic_u_1"] = %vm_exoclimb_mag_up_01; + level.scr_anim["player_climb_rig"]["magnetic_u_2"] = %vm_exoclimb_mag_up_02; + level.scr_anim["player_climb_rig"]["magnetic_d_0"] = %vm_exoclimb_mag_down_00; + level.scr_anim["player_climb_rig"]["magnetic_d_1"] = %vm_exoclimb_mag_down_01; + level.scr_anim["player_climb_rig"]["magnetic_d_2"] = %vm_exoclimb_mag_down_02; + level.scr_anim["player_climb_rig"]["magnetic_l_0"] = %vm_exoclimb_mag_left_00; + level.scr_anim["player_climb_rig"]["magnetic_l_1"] = %vm_exoclimb_mag_left_01; + level.scr_anim["player_climb_rig"]["magnetic_l_2"] = %vm_exoclimb_mag_left_02; + level.scr_anim["player_climb_rig"]["magnetic_r_0"] = %vm_exoclimb_mag_right_00; + level.scr_anim["player_climb_rig"]["magnetic_r_1"] = %vm_exoclimb_mag_right_01; + level.scr_anim["player_climb_rig"]["magnetic_r_2"] = %vm_exoclimb_mag_right_02; + level.scr_anim["player_climb_rig"]["jump2mag_u"] = %vm_exoclimb_jump2mag_up; + level.scr_anim["player_climb_rig"]["jump2mag_d"] = %vm_exoclimb_jump2mag_down; + level.scr_anim["player_climb_rig"]["jump2mag_l"] = %vm_exoclimb_jump2mag_left; + level.scr_anim["player_climb_rig"]["jump2mag_r"] = %vm_exoclimb_jump2mag_right; + level.scr_anim["player_climb_rig"]["mag2jump_u"] = %vm_exoclimb_mag2jump_up; + level.scr_anim["player_climb_rig"]["mag2jump_d"] = %vm_exoclimb_mag2jump_down; + level.scr_anim["player_climb_rig"]["mag2jump_l"] = %vm_exoclimb_mag2jump_left; + level.scr_anim["player_climb_rig"]["mag2jump_r"] = %vm_exoclimb_mag2jump_right; + level.scr_anim["player_climb_rig"]["idle_to_idleleft"] = %vm_exoclimb_idle_to_idle_left; + level.scr_anim["player_climb_rig"]["idleleft_to_idle"] = %vm_exoclimb_idle_left_to_idle; + level.scr_anim["player_climb_rig"]["idle_to_idleright"] = %vm_exoclimb_idle_to_idle_right; + level.scr_anim["player_climb_rig"]["idleright_to_idle"] = %vm_exoclimb_idle_right_to_idle; + level.scr_anim["player_climb_rig"]["idleleft_to_idleleftback"] = %vm_exoclimb_idle_left_to_idle_left_back; + level.scr_anim["player_climb_rig"]["idleleftback_to_idleleft"] = %vm_exoclimb_idle_left_back_to_idle_left; + level.scr_anim["player_climb_rig"]["idleright_to_idlerightback"] = %vm_exoclimb_idle_right_to_idle_right_back; + level.scr_anim["player_climb_rig"]["idlerightback_to_idleright"] = %vm_exoclimb_idle_right_back_to_idle_right; + level.scr_anim["player_climb_rig"]["special_short_l_90convex"] = %vm_exoclimb_move_in_90_4; + level.scr_anim["player_climb_rig"]["special_short_r_90convex"] = %vm_exoclimb_move_in_90_6; + level.scr_anim["player_climb_rig"]["special_long_l_90concave2"] = %vm_exoclimb_jump_90_4_2; + level.scr_anim["player_climb_rig"]["special_long_r_90concave2"] = %vm_exoclimb_jump_90_6_2; + setup_climb_anims_parse_anim_offsets(level.scr_anim["player_climb_rig"]); + add_shake_and_rumble_notetracks("normal_long_u"); + add_shake_and_rumble_notetracks("normal_long_d"); + add_shake_and_rumble_notetracks("normal_long_r"); + add_shake_and_rumble_notetracks("normal_long_l"); + add_shake_and_rumble_notetracks("special_long_l_90concave2"); + add_shake_and_rumble_notetracks("special_long_r_90concave2"); + add_shake_and_rumble_notetracks("mount2jump"); + add_shake_and_rumble_notetracks("mount2mag"); + add_shake_and_rumble_notetracks("jump2mag_u"); + add_shake_and_rumble_notetracks("jump2mag_d"); + add_shake_and_rumble_notetracks("jump2mag_l"); + add_shake_and_rumble_notetracks("jump2mag_r"); + add_shake_and_rumble_notetracks_for_grab("mag2jump_u"); + add_shake_and_rumble_notetracks_for_grab("mag2jump_d"); + add_shake_and_rumble_notetracks_for_grab("mag2jump_l"); + add_shake_and_rumble_notetracks_for_grab("mag2jump_r"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","jump_rumble",::exo_climb_jump_rumble,"dismount"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","jump_shake",::exo_climb_jump_shake,"dismount"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","mag_rumble",::exo_climb_mag_rumble,"magnetic_d_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","mag_rumble",::exo_climb_mag_rumble,"magnetic_d_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","mag_rumble",::exo_climb_mag_rumble,"magnetic_d_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","vm_swap",::exo_climb_draw_weapon,"climb_to_combat_idle"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"normal_long_u"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"normal_long_d"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"normal_long_r"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"normal_long_l"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"special_long_l_90concave2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"special_long_r_90concave2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"special_short_l_90convex"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"special_short_r_90convex"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"jump2mag_u"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"jump2mag_d"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"jump2mag_l"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"jump2mag_r"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"mag2jump_u"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"mag2jump_d"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"mag2jump_l"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"mag2jump_r"); + add_mag_move_notetracks("magnetic_u_0"); + add_mag_move_notetracks("magnetic_u_1"); + add_mag_move_notetracks("magnetic_u_2"); + add_mag_move_notetracks("magnetic_d_0"); + add_mag_move_notetracks("magnetic_d_1"); + add_mag_move_notetracks("magnetic_d_2"); + add_mag_move_notetracks("magnetic_l_0"); + add_mag_move_notetracks("magnetic_l_1"); + add_mag_move_notetracks("magnetic_l_2"); + add_mag_move_notetracks("magnetic_r_0"); + add_mag_move_notetracks("magnetic_r_1"); + add_mag_move_notetracks("magnetic_r_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"magnetic_u_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"magnetic_u_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"magnetic_u_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"magnetic_u_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"magnetic_u_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"magnetic_u_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"magnetic_u_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"magnetic_u_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"magnetic_u_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"magnetic_u_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"magnetic_u_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"magnetic_u_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"magnetic_d_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"magnetic_d_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"magnetic_d_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"magnetic_d_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"magnetic_d_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"magnetic_d_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"magnetic_d_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"magnetic_d_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"magnetic_d_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"magnetic_d_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"magnetic_d_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"magnetic_d_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"magnetic_l_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"magnetic_l_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"magnetic_l_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"magnetic_l_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"magnetic_l_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"magnetic_l_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"magnetic_l_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"magnetic_l_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"magnetic_l_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"magnetic_l_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"magnetic_l_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"magnetic_l_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"magnetic_r_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"magnetic_r_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"magnetic_r_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"magnetic_r_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"magnetic_r_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"magnetic_r_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"magnetic_r_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"magnetic_r_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"magnetic_r_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"magnetic_r_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"magnetic_r_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"magnetic_r_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"jump2mag_u"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"jump2mag_u"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"jump2mag_u"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"jump2mag_u"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"jump2mag_d"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"jump2mag_d"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"jump2mag_d"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"jump2mag_d"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"jump2mag_l"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"jump2mag_l"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"jump2mag_l"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"jump2mag_l"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"jump2mag_r"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"jump2mag_r"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"jump2mag_r"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"jump2mag_r"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"mag2jump_u"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"mag2jump_u"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"mag2jump_u"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"mag2jump_u"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"mag2jump_d"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"mag2jump_d"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"mag2jump_d"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"mag2jump_d"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"mag2jump_l"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"mag2jump_l"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"mag2jump_l"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"mag2jump_l"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"mag2jump_r"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"mag2jump_r"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"mag2jump_r"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"mag2jump_r"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"mount2mag"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"mount2mag"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"mount2mag"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"mount2mag"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"normal_long_d"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"normal_long_d"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"normal_long_d"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"normal_long_d"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"normal_long_l"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"normal_long_l"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"normal_long_l"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"normal_long_l"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"normal_long_r"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"normal_long_r"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"normal_long_r"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"normal_long_r"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"normal_long_u"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"normal_long_u"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"normal_long_u"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"normal_long_u"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"dismount"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"dismount"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_gloves_off",::fx_exo_climb_gloves_off,"dismount"); +} + +//Function Number: 18 +play_new_and_kill_old_fx_l(param_00,param_01,param_02) +{ + if(isdefined(param_00.previously_played_fx_name_l) && isdefined(param_00.previously_played_fx_joint_l) && param_01 == param_00.previously_played_fx_name_l && param_02 == param_00.previously_played_fx_joint_l) + { + var_03 = 0; + } + else + { + if(isdefined(param_00.previously_played_fx_name_l)) + { + killfxontag(common_scripts\utility::getfx(param_00.previously_played_fx_name_l),param_00,param_00.previously_played_fx_joint_l); + } + + playfxontag(common_scripts\utility::getfx(param_01),param_00,param_02); + } + + param_00.previously_played_fx_name_l = param_01; + param_00.previously_played_fx_joint_l = param_02; +} + +//Function Number: 19 +play_new_and_kill_old_fx_r(param_00,param_01,param_02) +{ + if(isdefined(param_00.previously_played_fx_name_r) && isdefined(param_00.previously_played_fx_joint_r) && param_01 == param_00.previously_played_fx_name_r && param_02 == param_00.previously_played_fx_joint_r) + { + } + else + { + if(isdefined(param_00.previously_played_fx_name_r)) + { + killfxontag(common_scripts\utility::getfx(param_00.previously_played_fx_name_r),param_00,param_00.previously_played_fx_joint_r); + } + + playfxontag(common_scripts\utility::getfx(param_01),param_00,param_02); + } + + param_00.previously_played_fx_name_r = param_01; + param_00.previously_played_fx_joint_r = param_02; +} + +//Function Number: 20 +fx_exo_climb_rglove_engage(param_00) +{ + play_new_and_kill_old_fx_r(param_00,"exo_r_gloves_engage","J_Wrist_RI"); + playfxontag(common_scripts\utility::getfx("dust_mag_r_glove_impact"),param_00,"J_Mid_RI_0"); +} + +//Function Number: 21 +fx_exo_climb_rglove_disengage(param_00) +{ + play_new_and_kill_old_fx_r(param_00,"exo_r_gloves_disengage","J_Wrist_RI"); + killfxontag(common_scripts\utility::getfx("exo_r_gloves_engage_slow"),param_00,"J_Wrist_RI"); +} + +//Function Number: 22 +fx_exo_climb_lglove_engage(param_00) +{ + play_new_and_kill_old_fx_l(param_00,"exo_l_gloves_engage","J_Wrist_LE"); + killfxontag(common_scripts\utility::getfx("exo_l_gloves_engage_slow"),param_00,"J_Wrist_LE"); + playfxontag(common_scripts\utility::getfx("dust_mag_l_glove_impact"),param_00,"J_Mid_LE_0"); +} + +//Function Number: 23 +fx_exo_climb_lglove_disengage(param_00) +{ + play_new_and_kill_old_fx_l(param_00,"exo_l_gloves_disengage","J_Wrist_LE"); + killfxontag(common_scripts\utility::getfx("exo_l_gloves_engage_slow"),param_00,"J_Wrist_LE"); +} + +//Function Number: 24 +fx_exo_climb_gloves_off(param_00) +{ + param_00.previously_played_fx_name_l = undefined; + param_00.previously_played_fx_joint_l = undefined; + killfxontag(common_scripts\utility::getfx("exo_l_gloves_engage_slow"),param_00,"J_Wrist_LE"); + killfxontag(common_scripts\utility::getfx("exo_r_gloves_engage_slow"),param_00,"J_Wrist_RI"); + wait 0.05; + killfxontag(common_scripts\utility::getfx(param_00.previously_played_fx_name_l),param_00,param_00.previously_played_fx_joint_l); + param_00.previously_played_fx_name_l = undefined; + param_00.previously_played_fx_joint_l = undefined; +} + +//Function Number: 25 +setup_climb_anims_parse_anim_offsets(param_00) +{ + var_01 = getarraykeys(param_00); + foreach(var_03 in var_01) + { + var_04 = strtok(var_03,"_"); + if(var_04[0] == "normal" || var_04[0] == "special" || var_04[0] == "magnetic" || var_04[0] == "jump2mag" || var_04[0] == "mag2jump") + { + if(!isdefined(level.exo_climb_anim_offsets[var_04[0]])) + { + level.exo_climb_anim_offsets[var_04[0]] = []; + } + + if(var_04[0] == "normal") + { + if(!isdefined(level.exo_climb_anim_offsets[var_04[0]][var_04[1]])) + { + level.exo_climb_anim_offsets[var_04[0]][var_04[1]] = []; + } + + level.exo_climb_anim_offsets[var_04[0]][var_04[1]][var_04[2]] = []; + level.exo_climb_anim_offsets[var_04[0]][var_04[1]][var_04[2]]["offset"] = getmovedelta(param_00[var_03],0,1); + level.exo_climb_anim_offsets[var_04[0]][var_04[1]][var_04[2]]["angle"] = getangledelta(param_00[var_03],0,1); + continue; + } + + if(var_04[0] == "special") + { + if(!isdefined(level.exo_climb_anim_offsets[var_04[0]][var_04[1]])) + { + level.exo_climb_anim_offsets[var_04[0]][var_04[1]] = []; + } + + if(!isdefined(level.exo_climb_anim_offsets[var_04[0]][var_04[1]][var_04[2]])) + { + level.exo_climb_anim_offsets[var_04[0]][var_04[1]][var_04[2]] = []; + } + + level.exo_climb_anim_offsets[var_04[0]][var_04[1]][var_04[2]][var_04[3]] = []; + level.exo_climb_anim_offsets[var_04[0]][var_04[1]][var_04[2]][var_04[3]]["offset"] = getmovedelta(param_00[var_03],0,1); + level.exo_climb_anim_offsets[var_04[0]][var_04[1]][var_04[2]][var_04[3]]["angle"] = getangledelta(param_00[var_03],0,1); + continue; + } + + if(var_04[0] == "magnetic") + { + if(!isdefined(level.exo_climb_anim_offsets[var_04[0]][var_04[1]])) + { + level.exo_climb_anim_offsets[var_04[0]][var_04[1]] = []; + } + + level.exo_climb_anim_offsets[var_04[0]][var_04[1]][var_04[2]] = []; + level.exo_climb_anim_offsets[var_04[0]][var_04[1]][var_04[2]]["offset"] = getmovedelta(param_00[var_03],0,1); + level.exo_climb_anim_offsets[var_04[0]][var_04[1]][var_04[2]]["angle"] = getangledelta(param_00[var_03],0,1); + continue; + } + + if(var_04[0] == "jump2mag") + { + var_05 = var_04[1]; + level.exo_climb_anim_offsets["jump2mag"][var_05] = []; + level.exo_climb_anim_offsets["jump2mag"][var_05]["offset"] = getmovedelta(param_00[var_03],0,1); + level.exo_climb_anim_offsets["jump2mag"][var_05]["angle"] = getangledelta(param_00[var_03],0,1); + continue; + } + + if(var_04[0] == "mag2jump") + { + var_05 = var_04[1]; + level.exo_climb_anim_offsets["mag2jump"][var_05] = []; + level.exo_climb_anim_offsets["mag2jump"][var_05]["offset"] = getmovedelta(param_00[var_03],0,1); + level.exo_climb_anim_offsets["mag2jump"][var_05]["angle"] = getangledelta(param_00[var_03],0,1); + } + } + } +} + +//Function Number: 26 +verify_jump_mount_points() +{ + var_00 = getentarray("exo_climbing_mount_point","targetname"); + foreach(var_02 in var_00) + { + var_03 = getent(var_02.target,"targetname"); + var_04 = getent(var_03.target,"targetname"); + var_03.mount_org = var_04; + var_03 thread trigger_handle_jump_mount(); + } +} + +//Function Number: 27 +verify_mag_mount_points() +{ + var_00 = getentarray("exoclimb_magnetic_mount_point","targetname"); + foreach(var_02 in var_00) + { + var_03 = getent(var_02.target,"targetname"); + var_04 = getent(var_03.target,"targetname"); + var_03.mount_org = var_04; + var_03 thread trigger_handle_mag_mount(); + } +} + +//Function Number: 28 +get_climb_triggers() +{ + level.exo_climb_jump_trigs = getentarray("exo_climbing_bounds_trigger","targetname"); + level.exo_climb_magnetic_trigs = getentarray("exo_climbing_magnetic_trigger","targetname"); +} + +//Function Number: 29 +trigger_handle_jump_mount() +{ + maps\_utility::addhinttrigger(&"EXOCLIMB_CLIMB_HINT",&"EXOCLIMB_CLIMB_HINT_PC"); + self.script_flag_false = "flag_exo_climbing_enabled"; + level thread maps\_trigger::trigger_script_flag_false(self); + for(;;) + { + common_scripts\utility::flag_waitopen("flag_exo_climbing_enabled"); + var_00 = maps\_shg_utility::hint_button_position("use",self.origin + (0,0,-15),undefined,200,undefined,self); + var_01 = common_scripts\utility::waittill_any_return("trigger","disable_mount_point"); + if(var_01 == "trigger") + { + level thread climbing_player_mount(self.mount_org,"jump"); + var_00 maps\_shg_utility::hint_button_clear(); + continue; + } + + var_00 maps\_shg_utility::hint_button_clear(); + self delete(); + } +} + +//Function Number: 30 +trigger_handle_mag_mount() +{ + self usetriggerrequirelookat(); + maps\_utility::addhinttrigger(&"EXOCLIMB_CLIMB_HINT",&"EXOCLIMB_CLIMB_HINT_PC"); + self.script_flag_false = "flag_exo_climbing_enabled"; + level thread maps\_trigger::trigger_script_flag_false(self); + for(;;) + { + level endon("flag_cancel_exo_climb"); + common_scripts\utility::flag_waitopen("flag_exo_climbing_enabled"); + var_00 = maps\_shg_utility::hint_button_position("use",self.origin,undefined,200,undefined,self); + var_01 = common_scripts\utility::waittill_any_return("trigger","disable_mount_point"); + if(var_01 == "trigger") + { + level thread climbing_player_mount(self.mount_org,"magnetic"); + var_00 maps\_shg_utility::hint_button_clear(); + continue; + } + + var_00 maps\_shg_utility::hint_button_clear(); + self delete(); + } +} + +//Function Number: 31 +climbing_player_mount(param_00,param_01) +{ + level.player endon("death"); + if(common_scripts\utility::flag("flag_exo_climbing_enabled")) + { + return; + } + + common_scripts\utility::flag_set("flag_exo_climbing_enabled"); + if(isdefined(1) && 1) + { + level thread temp_exoclimb_hud_thread(); + } + + if(isdefined(param_00.override_rig)) + { + level.exo_climb_rig = param_00.override_rig; + level.exo_climb_rig.animname = "player_climb_rig"; + } + else + { + level.exo_climb_rig = maps\_utility::spawn_anim_model("player_climb_rig",level.player.origin,level.player.angles); + level.exo_climb_rig hide(); + } + + if(!isdefined(level.exoclimb_combat_enabled)) + { + level.exoclimb_combat_enabled = 1; + } + + level.exo_climb_rig.facing = "center"; + if(!isdefined(level.exo_climb_player_center)) + { + level.exo_climb_player_center = spawn("script_origin",level.exo_climb_rig.origin); + level.exo_climb_player_center.angles = level.exo_climb_rig.angles; + var_02 = anglestoforward(level.exo_climb_player_center.angles); + var_03 = 0 * var_02 + (0,0,60); + level.exo_climb_player_center linkto(level.exo_climb_rig,"tag_origin",var_03,(0,0,0)); + } + + if(!isdefined(param_00.override_rig)) + { + level.player maps\_shg_utility::setup_player_for_scene(); + level.player allowads(0); + level.player disableweaponswitch(); + level.player enableoffhandweapons(); + level.player waittill("weapon_change"); + } + + swap_to_climbing_weapon(); + var_04 = ""; + if(param_01 == "jump") + { + var_04 = "mount2jump"; + } + else if(param_01 == "magnetic") + { + var_04 = "mount2mag"; + } + else + { + return; + } + + var_05 = 0.5; + if(!isdefined(param_00.override_rig)) + { + level.player playerlinktoblend(level.exo_climb_rig,"tag_player",var_05); + level.player common_scripts\utility::delaycall(var_05,::playerlinktodelta,level.exo_climb_rig,"tag_player",1,0,0,0,0,1); + } + + var_06 = 120; + var_07 = 60; + var_08 = 57; + if(param_01 == "magnetic") + { + var_06 = 80; + var_07 = 60; + var_08 = 57; + if(isdefined(level.player.exo_climb_overrides)) + { + if(isdefined(level.player.exo_climb_overrides.idle_look_sideways_limit_mag)) + { + var_06 = level.player.exo_climb_overrides.idle_look_sideways_limit_mag; + } + + if(isdefined(level.player.exo_climb_overrides.idle_look_up_limit_mag)) + { + var_07 = level.player.exo_climb_overrides.idle_look_up_limit_mag; + } + + if(isdefined(level.player.exo_climb_overrides.idle_look_down_limit_mag)) + { + var_08 = level.player.exo_climb_overrides.idle_look_down_limit_mag; + } + } + } + + if(!isdefined(param_00.override_rig)) + { + level.exo_climb_rig common_scripts\utility::delaycall(var_05,::show); + } + + var_09 = var_05 + 0.1; + if(isdefined(param_00.override_view_angle_unclamp_time)) + { + var_09 = param_00.override_view_angle_unclamp_time; + } + + level.player common_scripts\utility::delaycall(var_09,::lerpviewangleclamp,0.5,0,0,var_06,var_06,var_07,var_08); + level.player lerpfov(70,var_09 + 0.1); + level notify("exoclimb_start_mount_anim"); + if(isdefined(param_00.override_anim_org) && isdefined(param_00.override_anim)) + { + level.scr_anim["player_climb_rig"]["mount_override"] = param_00.override_anim; + param_00.override_anim_org maps\_anim::anim_single_solo(level.exo_climb_rig,"mount_override"); + } + else + { + param_00 maps\_anim::anim_single_solo(level.exo_climb_rig,var_04); + } + + level.exo_climb_ground_ref_ent = spawn("script_model",(0,0,0)); + level.exo_climb_ground_ref_ent setmodel("tag_origin"); + level.exo_climb_ground_ref_ent linkto(level.exo_climb_rig,"tag_origin",(0,0,0),(0,0,0)); + if(!isdefined(level.player.hack_fix_lagos_flank_alley_camera_pop) || !level.player.hack_fix_lagos_flank_alley_camera_pop) + { + level.player playersetgroundreferenceent(level.exo_climb_ground_ref_ent); + } + + level.player enableslowaim(1,0.6); + level thread climbing_player_controller(param_01); +} + +//Function Number: 32 +using_variable_grenade(param_00) +{ + if(!isdefined(self.variable_grenade)) + { + return 0; + } + + if(!isdefined(param_00)) + { + return 0; + } + + if(param_00.size != 2) + { + return 0; + } + + var_01 = level.player maps\_variable_grenade::get_mode_for_weapon_name(param_00[0]); + if(!isdefined(var_01)) + { + return 0; + } + + var_01 = level.player maps\_variable_grenade::get_mode_for_weapon_name(param_00[1]); + if(!isdefined(var_01)) + { + return 0; + } + + return 1; +} + +//Function Number: 33 +swap_to_climbing_weapon() +{ + maps\_player_exo::player_exo_deactivate(); + var_00 = level.player getweaponslistoffhands(); + if(level.player using_variable_grenade(var_00)) + { + var_01 = 0; + if(isdefined(var_00[0])) + { + var_01 = level.player maps\_variable_grenade::get_index_for_weapon_name(var_00[0]); + } + + var_02 = 0; + if(isdefined(var_00[1])) + { + var_02 = level.player maps\_variable_grenade::get_index_for_weapon_name(var_00[1]); + } + + var_03["normal"][0] = "tracking_grenade_var_exoclimb"; + var_03["normal"][1] = "contact_grenade_var_exoclimb"; + var_03["normal"][2] = "frag_grenade_var_exoclimb"; + var_03["special"][0] = "paint_grenade_var_exoclimb"; + var_03["special"][1] = "flash_grenade_var_exoclimb"; + var_03["special"][2] = "emp_grenade_var_exoclimb"; + level.exo_climb_rig.stored_variable_grenade = level.player.variable_grenade; + level.player.variable_grenade = var_03; + var_04 = []; + var_04["frag_grenade_var_exoclimb"] = 1; + var_04["contact_grenade_var_exoclimb"] = 2; + var_04["tracking_grenade_var_exoclimb"] = 3; + var_04["paint_grenade_var_exoclimb"] = 4; + var_04["flash_grenade_var_exoclimb"] = 5; + var_04["emp_grenade_var_exoclimb"] = 6; + level.exo_climb_rig.stored_variable_grenade_ui_type = level.player.variable_grenade_ui_type; + level.player.variable_grenade_ui_type = var_04; + foreach(var_06 in var_00) + { + level.player takeweapon(var_06); + } + + level.player setlethalweapon(level.player.variable_grenade["normal"][var_01]); + level.player giveweapon(level.player.variable_grenade["normal"][var_01]); + level.player settacticalweapon(level.player.variable_grenade["special"][var_02]); + level.player giveweapon(level.player.variable_grenade["special"][var_02]); + } + + level.exo_climb_rig.stored_weapon = level.player maps\_utility::get_storable_current_weapon(); + level.exo_climb_rig.stored_clipsize = level.player getweaponammoclip(level.exo_climb_rig.stored_weapon); + level.exo_climb_rig.stored_stock = level.player setweaponammostock(level.exo_climb_rig.stored_weapon); + level.player takeweapon(level.exo_climb_rig.stored_weapon); +} + +//Function Number: 34 +swap_to_real_weapon() +{ + maps\_player_exo::player_exo_activate(); + level.player giveweapon(level.exo_climb_rig.stored_weapon); + level.player setweaponammoclip(level.exo_climb_rig.stored_weapon,level.exo_climb_rig.stored_clipsize); + level.player setweaponammostock(level.exo_climb_rig.stored_weapon,level.exo_climb_rig.stored_stock); + level.player switchtoweapon(level.exo_climb_rig.stored_weapon); + if(isdefined(level.exo_climb_rig.stored_variable_grenade)) + { + var_00 = level.player getweaponslistoffhands(); + var_01 = 0; + if(isdefined(var_00[0])) + { + var_01 = level.player maps\_variable_grenade::get_index_for_weapon_name(var_00[0]); + } + + var_02 = 0; + if(isdefined(var_00[1])) + { + var_02 = level.player maps\_variable_grenade::get_index_for_weapon_name(var_00[1]); + } + + level.player.variable_grenade = level.exo_climb_rig.stored_variable_grenade; + level.exo_climb_rig.stored_variable_grenade = undefined; + foreach(var_04 in var_00) + { + level.player takeweapon(var_04); + } + + level.player setlethalweapon(level.player.variable_grenade["normal"][var_01]); + level.player giveweapon(level.player.variable_grenade["normal"][var_01]); + level.player settacticalweapon(level.player.variable_grenade["special"][var_02]); + level.player giveweapon(level.player.variable_grenade["special"][var_02]); + } + + if(isdefined(level.exo_climb_rig.stored_variable_grenade_ui_type)) + { + level.player.variable_grenade_ui_type = level.exo_climb_rig.stored_variable_grenade_ui_type; + } +} + +//Function Number: 35 +stop_player_climbing(param_00) +{ + if(!param_00) + { + swap_to_real_weapon(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.player allowads(1); + level.player enableweaponswitch(); + level.player unlink(); + level.exo_climb_rig delete(); + } + + level.exo_climb_rig = undefined; + level.player disableslowaim(); + level.exo_climb_player_center unlink(); + level.exo_climb_player_center delete(); + level.exo_climb_player_center = undefined; + level.player playersetgroundreferenceent(undefined); + level.exo_climb_ground_ref_ent unlink(); + level.exo_climb_ground_ref_ent delete(); + level.exo_climb_ground_ref_ent = undefined; + common_scripts\utility::flag_clear("flag_exo_climbing_enabled"); + level.player notify("stop_player_climbing"); +} + +//Function Number: 36 +enter_state_on_jump_surface() +{ + level.exo_climb_rig.surface_state = "on_jump_surface"; + climbing_update_available_moving_options(); +} + +//Function Number: 37 +enter_state_on_mag_surface() +{ + level.exo_climb_rig.surface_state = "on_mag_surface"; + level.exo_climb_rig.mag_move_dir = ""; + level.exo_climb_rig.next_chain_move = undefined; + climbing_update_available_moving_options(); +} + +//Function Number: 38 +enter_state_mag_to_jump_surface() +{ + level.exo_climb_rig.surface_state = "mag_to_jump_surface"; + reset_button_buffers(); +} + +//Function Number: 39 +reset_button_buffers() +{ + level.exo_climb_rig.jumpbuttonbuffer = 0; + level.exo_climb_rig.combatbuttonbuffer = 0; +} + +//Function Number: 40 +update_button_buffers() +{ + if(level.player jumpbuttonpressed()) + { + level.exo_climb_rig.jumpbuttonbuffer = 0.6; + } + else if(level.exo_climb_rig.jumpbuttonbuffer > 0) + { + level.exo_climb_rig.jumpbuttonbuffer = level.exo_climb_rig.jumpbuttonbuffer - 0.05; + } + + if(level.player buttonpressed("Button_B") || level.player attackbuttonpressed() || level.player adsbuttonpressed() || level.player fragbuttonpressed() || level.player secondaryoffhandbuttonpressed()) + { + level.exo_climb_rig.combatbuttonbuffer = 0.6; + return; + } + + if(level.exo_climb_rig.combatbuttonbuffer > 0) + { + level.exo_climb_rig.combatbuttonbuffer = level.exo_climb_rig.combatbuttonbuffer - 0.05; + } +} + +//Function Number: 41 +climbing_player_controller(param_00) +{ + level.player endon("stop_player_climbing"); + wait(0.05); + reset_button_buffers(); + if(param_00 == "jump") + { + enter_state_on_jump_surface(); + } + else if(param_00 == "magnetic") + { + enter_state_on_mag_surface(); + } + else + { + return; + } + + restore_idle(); + for(;;) + { + if(isdefined(level.exo_climb_retest_jumps_triggers)) + { + climbing_update_available_moving_options(); + } + + if(level.exo_climb_rig.surface_state == "on_jump_surface") + { + update_button_buffers(); + if(climbing_helper_player_in_combat_mode() && level.player isthrowinggrenade()) + { + climbing_motion_player_combat_mode(); + } + else if(climbing_helper_player_dismount_requested()) + { + climbing_motion_dismount(); + } + else if(climbing_helper_player_jump_requested() && climbing_helper_player_input_1_allowed()) + { + var_01 = get_requested_jump_direction(); + if(jump_to_mag_direction_is_valid(var_01)) + { + if(climbing_helper_player_in_combat_mode()) + { + climbing_motion_stop_player_combat_mode_quick(); + } + + climbing_motion_start_player_jump_to_mag(var_01); + } + else if(jump_direction_is_valid(var_01)) + { + if(climbing_helper_player_in_combat_mode()) + { + climbing_motion_stop_player_combat_mode_quick(); + } + + climbing_motion_start_player_jump(var_01); + } + else + { + level.exo_climb_rig.jumpbuttonbuffer = 0; + } + } + else if(climbing_helper_player_combat_requested() && climbing_helper_player_input_1_allowed() && !climbing_helper_player_in_combat_mode() && level.exoclimb_combat_enabled) + { + climbing_motion_start_player_shooting(); + } + else if(climbing_helper_player_jumping()) + { + climbing_motion_player_jumping(); + } + else if(climbing_helper_player_in_combat_mode() && climbing_helper_player_exit_combat_mode_requested()) + { + climbing_motion_stop_player_combat_mode(); + level.exo_climb_rig.combatbuttonbuffer = 0; + } + else if(climbing_helper_player_in_combat_mode()) + { + climbing_motion_player_combat_mode(); + } + else + { + climbing_motion_player_looking(); + } + } + else if(level.exo_climb_rig.surface_state == "on_mag_surface") + { + if(climbing_helper_player_mag_moving()) + { + var_01 = get_requested_move_direction(); + if(climbing_helper_player_input_1_allowed() && var_01 == level.exo_climb_rig.mag_move_dir && magnetic_hands_direction_is_valid(var_01)) + { + climbing_motion_start_player_mag_move(var_01); + } + else if(climbing_helper_player_input_2_allowed() && var_01 != level.exo_climb_rig.mag_move_dir && magnetic_hands_direction_is_valid(var_01)) + { + climbing_motion_start_player_mag_move(var_01); + } + else if(climbing_helper_player_input_1_allowed() && mag_to_jump_direction_is_valid(var_01)) + { + climbing_motion_start_player_mag_to_jump(var_01); + } + else + { + climbing_motion_player_moving_on_magnetic_surface(); + } + } + else + { + var_01 = get_requested_move_direction(); + if(magnetic_hands_direction_is_valid(var_01)) + { + climbing_motion_start_player_mag_move(var_01); + } + else if(mag_to_jump_direction_is_valid(var_01)) + { + climbing_motion_start_player_mag_to_jump(var_01); + } + } + } + else if(level.exo_climb_rig.surface_state == "jump_to_mag_surface") + { + climbing_motion_player_jump_to_mag(); + } + else if(level.exo_climb_rig.surface_state == "mag_to_jump_surface") + { + update_button_buffers(); + if(climbing_helper_player_input_1_allowed()) + { + enter_state_on_jump_surface(); + } + else + { + climbing_motion_player_mag_to_jump(); + } + } + + wait(0.05); + } +} + +//Function Number: 42 +restore_idle() +{ + if(level.exo_climb_rig.surface_state == "on_mag_surface") + { + level thread climbing_animation_idle_loop("magnetic"); + return; + } + + if(level.exo_climb_rig.facing == "right") + { + level thread climbing_animation_idle_loop("right"); + return; + } + + if(level.exo_climb_rig.facing == "right_back") + { + level thread climbing_animation_idle_loop("right_back"); + return; + } + + if(level.exo_climb_rig.facing == "left") + { + level thread climbing_animation_idle_loop("left"); + return; + } + + if(level.exo_climb_rig.facing == "left_back") + { + level thread climbing_animation_idle_loop("left_back"); + return; + } + + level thread climbing_animation_idle_loop(); +} + +//Function Number: 43 +exo_climb_grab_rumble(param_00) +{ + var_01 = randomfloat(360); + var_02 = anglestoright(level.exo_climb_rig.angles); + var_03 = anglestoup(level.exo_climb_rig.angles); + var_04 = sin(var_01) * var_03 + cos(var_01) * var_02; + var_05 = 0.9; + glassradiusdamage(level.exo_climb_rig.origin,84,10,10,var_05,var_04); + level.player playrumbleonentity("falling_land"); +} + +//Function Number: 44 +exo_climb_jump_rumble(param_00) +{ + level.player playrumbleonentity("damage_light"); +} + +//Function Number: 45 +exo_climb_mag_rumble(param_00) +{ + level.player playrumbleonentity("damage_light"); +} + +//Function Number: 46 +exo_climb_grab_shake(param_00) +{ + level.player screenshakeonentity(12,6,2,0.5,0,0.25,128,10,5,5,2); +} + +//Function Number: 47 +exo_climb_jump_shake(param_00) +{ + level.player screenshakeonentity(4,2,0.5,0.5,0,0.25,128,10,5,5,2); +} + +//Function Number: 48 +exo_climb_allow_player_input_1(param_00) +{ + level.exo_climb_rig.allow_player_input_1 = 1; + climbing_update_available_moving_options(); +} + +//Function Number: 49 +exo_climb_allow_player_input_2(param_00) +{ + level.exo_climb_rig.allow_player_input_2 = 1; +} + +//Function Number: 50 +climbing_motion_start_player_jump(param_00) +{ + if(level.exo_climb_move_options["long"][param_00] != "blocked") + { + var_01 = level.exo_climb_move_options["long"][param_00]; + thread climbing_animation_traverse_move(var_01,2); + if(param_00 == "u") + { + var_02 = level.player getplayerangles()[0]; + if(var_02 < 20) + { + level.player common_scripts\utility::delaycall(0.2,::lerpfov,100,0.4); + } + else + { + level.player common_scripts\utility::delaycall(0.2,::lerpfov,85,0.4); + } + + level.player common_scripts\utility::delaycall(0.9,::lerpfov,70,0.15); + } + else if(param_00 == "d") + { + var_02 = level.player getplayerangles()[0]; + if(var_02 > -20) + { + level.player lerpfov(100,0.5); + } + else + { + level.player lerpfov(85,0.5); + } + + level.player common_scripts\utility::delaycall(0.7,::lerpfov,70,0.4); + } + else if(param_00 == "l") + { + var_03 = get_player_local_yaw(); + if(var_03 > -20) + { + level.player common_scripts\utility::delaycall(0.2,::lerpfov,100,0.4); + } + else + { + level.player common_scripts\utility::delaycall(0.2,::lerpfov,85,0.4); + } + + level.player common_scripts\utility::delaycall(0.7,::lerpfov,70,0.4); + } + else if(param_00 == "r") + { + var_03 = get_player_local_yaw(); + if(var_03 < 20) + { + level.player common_scripts\utility::delaycall(0.2,::lerpfov,100,0.4); + } + else + { + level.player common_scripts\utility::delaycall(0.2,::lerpfov,85,0.4); + } + + level.player common_scripts\utility::delaycall(0.7,::lerpfov,70,0.4); + } + } + else if(level.exo_climb_move_options["short"][var_01] != "blocked") + { + var_01 = level.exo_climb_move_options["short"][var_01]; + thread climbing_animation_traverse_move(var_01,0); + } + else + { + return; + } + + level.exo_climb_rig.is_jumping = 1; + level.exo_climb_rig.allow_player_input_1 = undefined; + level.exo_climb_rig.allow_player_input_2 = undefined; +} + +//Function Number: 51 +climbing_motion_start_player_jump_to_mag(param_00) +{ + var_01 = "jump2mag_" + param_00; + thread climbing_animation_traverse_move(var_01,2); + level.exo_climb_rig.surface_state = "jump_to_mag_surface"; + level.exo_climb_rig.is_jumping = undefined; + var_02 = 80; + var_03 = 60; + var_04 = 57; + if(isdefined(level.player.exo_climb_overrides)) + { + if(isdefined(level.player.exo_climb_overrides.idle_look_sideways_limit_mag)) + { + var_02 = level.player.exo_climb_overrides.idle_look_sideways_limit_mag; + } + + if(isdefined(level.player.exo_climb_overrides.idle_look_up_limit_mag)) + { + var_03 = level.player.exo_climb_overrides.idle_look_up_limit_mag; + } + + if(isdefined(level.player.exo_climb_overrides.idle_look_down_limit_mag)) + { + var_04 = level.player.exo_climb_overrides.idle_look_down_limit_mag; + } + } + + level.player lerpviewangleclamp(0.5,0,0,var_02,var_02,var_03,var_04); + level.exo_climb_rig.allow_player_input_1 = undefined; + level.exo_climb_rig.allow_player_input_2 = undefined; +} + +//Function Number: 52 +climbing_motion_player_jumping() +{ + if(isdefined(level.exo_climb_rig.current_traverse_anime)) + { + var_00 = level.scr_anim["player_climb_rig"][level.exo_climb_rig.current_traverse_anime]; + var_01 = level.exo_climb_rig getanimtime(var_00); + if(var_01 >= 1) + { + level.exo_climb_rig.is_jumping = undefined; + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + } + + climbing_update_available_moving_options(); + restore_idle(); + } + } +} + +//Function Number: 53 +climbing_motion_player_moving_on_magnetic_surface() +{ + if(isdefined(level.exo_climb_rig.current_traverse_anime)) + { + var_00 = level.scr_anim["player_climb_rig"][level.exo_climb_rig.current_traverse_anime]; + var_01 = level.exo_climb_rig getanimtime(var_00); + if(var_01 >= 1) + { + level.exo_climb_rig.mag_move_dir = ""; + level.exo_climb_rig.next_chain_move = undefined; + climbing_update_available_moving_options(); + if(isdefined(level.exo_climb_force_animated_dismount)) + { + climbing_motion_dismount(); + } + else + { + restore_idle(); + } + + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + return; + } + } + } +} + +//Function Number: 54 +climbing_motion_player_jump_to_mag() +{ + if(isdefined(level.exo_climb_rig.current_traverse_anime)) + { + var_00 = level.scr_anim["player_climb_rig"][level.exo_climb_rig.current_traverse_anime]; + var_01 = level.exo_climb_rig getanimtime(var_00); + if(var_01 >= 1) + { + enter_state_on_mag_surface(); + restore_idle(); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + return; + } + } + } +} + +//Function Number: 55 +climbing_motion_player_mag_to_jump() +{ + if(climbing_helper_player_input_1_allowed()) + { + enter_state_on_jump_surface(); + return; + } + + if(isdefined(level.exo_climb_rig.current_traverse_anime)) + { + var_00 = level.scr_anim["player_climb_rig"][level.exo_climb_rig.current_traverse_anime]; + var_01 = level.exo_climb_rig getanimtime(var_00); + if(var_01 >= 1) + { + level.exo_climb_rig.is_jumping = undefined; + enter_state_on_jump_surface(); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + } + + restore_idle(); + return; + } + } +} + +//Function Number: 56 +get_direction_from_normalized_movement(param_00) +{ + var_01 = angleclamp360(param_00[0],param_00[1]); + var_02 = ""; + if(var_01 < -135 || var_01 > 135) + { + var_02 = "l"; + } + else if(var_01 < -45) + { + var_02 = "d"; + } + else if(var_01 < 45) + { + var_02 = "r"; + } + else + { + var_02 = "u"; + } + + return var_02; +} + +//Function Number: 57 +get_requested_jump_direction() +{ + var_00 = "u"; + var_01 = level.player getnormalizedmovement(); + var_02 = length2d(var_01); + if(var_02 > 0.15) + { + var_00 = get_direction_from_normalized_movement(var_01); + } + + return var_00; +} + +//Function Number: 58 +jump_to_mag_direction_is_valid(param_00) +{ + return level.exo_climb_move_options["jump2mag"][param_00] != "blocked"; +} + +//Function Number: 59 +jump_direction_is_valid(param_00) +{ + return level.exo_climb_move_options["long"][param_00] != "blocked" || level.exo_climb_move_options["short"][param_00] != "blocked"; +} + +//Function Number: 60 +get_requested_move_direction() +{ + var_00 = level.player getnormalizedmovement(); + if(length2d(var_00) <= 0.15) + { + return ""; + } + + return get_direction_from_normalized_movement(var_00); +} + +//Function Number: 61 +magnetic_hands_direction_is_valid(param_00) +{ + return param_00 != "" && level.exo_climb_move_options["magnetic"][param_00] != "blocked"; +} + +//Function Number: 62 +mag_to_jump_direction_is_valid(param_00) +{ + return param_00 != "" && level.exo_climb_move_options["mag2jump"][param_00] != "blocked"; +} + +//Function Number: 63 +climbing_motion_start_player_mag_move(param_00) +{ + if(isdefined(level.exo_climb_rig.next_chain_move)) + { + if(level.exo_climb_rig.next_chain_move == "1") + { + var_01 = "magnetic_" + param_00 + "_1"; + level.exo_climb_rig.next_chain_move = "2"; + } + else + { + var_01 = "magnetic_" + var_01 + "_2"; + level.exo_climb_rig.next_chain_move = "1"; + } + } + else + { + var_01 = "magnetic_" + var_01 + "_0"; + level.exo_climb_rig.next_chain_move = "2"; + } + + level.exo_climb_rig.allow_player_input_1 = undefined; + level.exo_climb_rig.allow_player_input_2 = undefined; + level.exo_climb_rig.mag_move_dir = param_00; + thread climbing_animation_traverse_move(var_01,1); +} + +//Function Number: 64 +climbing_motion_start_player_mag_to_jump(param_00) +{ + var_01 = "mag2jump_" + param_00; + thread climbing_animation_traverse_move(var_01,2); + enter_state_mag_to_jump_surface(); + level.exo_climb_rig.is_jumping = 1; + level.player lerpviewangleclamp(0.5,0,0,120,120,60,57); + level.exo_climb_rig.allow_player_input_1 = undefined; + level.exo_climb_rig.allow_player_input_2 = undefined; +} + +//Function Number: 65 +climbing_update_available_moving_options() +{ + level.exo_climb_retest_jumps_triggers = undefined; + var_00 = spawn("script_origin",level.exo_climb_player_center.origin); + level.exo_climb_move_options["long"]["u"] = "blocked"; + level.exo_climb_move_options["long"]["d"] = "blocked"; + level.exo_climb_move_options["long"]["l"] = "blocked"; + level.exo_climb_move_options["long"]["r"] = "blocked"; + level.exo_climb_move_options["short"]["u"] = "blocked"; + level.exo_climb_move_options["short"]["d"] = "blocked"; + level.exo_climb_move_options["short"]["l"] = "blocked"; + level.exo_climb_move_options["short"]["r"] = "blocked"; + level.exo_climb_move_options["magnetic"]["u"] = "blocked"; + level.exo_climb_move_options["magnetic"]["d"] = "blocked"; + level.exo_climb_move_options["magnetic"]["l"] = "blocked"; + level.exo_climb_move_options["magnetic"]["r"] = "blocked"; + level.exo_climb_move_options["jump2mag"]["u"] = "blocked"; + level.exo_climb_move_options["jump2mag"]["d"] = "blocked"; + level.exo_climb_move_options["jump2mag"]["l"] = "blocked"; + level.exo_climb_move_options["jump2mag"]["r"] = "blocked"; + level.exo_climb_move_options["mag2jump"]["u"] = "blocked"; + level.exo_climb_move_options["mag2jump"]["d"] = "blocked"; + level.exo_climb_move_options["mag2jump"]["l"] = "blocked"; + level.exo_climb_move_options["mag2jump"]["r"] = "blocked"; + if((level.exo_climb_rig.surface_state == "on_mag_surface" || level.exo_climb_rig.surface_state == "jump_to_mag_surface") && isdefined(level.exo_climb_anim_offsets["magnetic"])) + { + var_01 = getarraykeys(level.exo_climb_anim_offsets["magnetic"]); + foreach(var_03 in var_01) + { + var_00.origin = level.exo_climb_player_center localtoworldcoords(level.exo_climb_anim_offsets["magnetic"][var_03]["0"]["offset"]); + foreach(var_05 in level.exo_climb_magnetic_trigs) + { + if(var_00 istouching(var_05)) + { + if(isdefined(var_05.script_noteworthy) && issubstr(var_05.script_noteworthy,"exo_climb_toggle_trigger")) + { + if(isdefined(var_05.allow_exo_climb)) + { + level.exo_climb_move_options["magnetic"][var_03] = "ok"; + } + } + else + { + level.exo_climb_move_options["magnetic"][var_03] = "ok"; + } + + break; + } + } + } + } + + if(level.exo_climb_rig.surface_state == "on_jump_surface" && isdefined(level.exo_climb_anim_offsets["jump2mag"])) + { + var_08 = getarraykeys(level.exo_climb_anim_offsets["jump2mag"]); + foreach(var_03 in var_08) + { + var_00.origin = level.exo_climb_player_center localtoworldcoords(level.exo_climb_anim_offsets["jump2mag"][var_03]["offset"]); + foreach(var_05 in level.exo_climb_magnetic_trigs) + { + if(var_00 istouching(var_05)) + { + if(isdefined(var_05.script_noteworthy) && issubstr(var_05.script_noteworthy,"exo_climb_toggle_trigger")) + { + if(isdefined(var_05.allow_exo_climb)) + { + level.exo_climb_move_options["jump2mag"][var_03] = "ok"; + } + } + else + { + level.exo_climb_move_options["jump2mag"][var_03] = "ok"; + } + + break; + } + } + } + } + + if(level.exo_climb_rig.surface_state == "on_mag_surface" && isdefined(level.exo_climb_anim_offsets["mag2jump"])) + { + var_0D = getarraykeys(level.exo_climb_anim_offsets["mag2jump"]); + foreach(var_03 in var_0D) + { + var_00.origin = level.exo_climb_player_center localtoworldcoords(level.exo_climb_anim_offsets["mag2jump"][var_03]["offset"]); + foreach(var_05 in level.exo_climb_jump_trigs) + { + if(var_00 istouching(var_05)) + { + if(isdefined(var_05.script_noteworthy) && issubstr(var_05.script_noteworthy,"exo_climb_toggle_trigger")) + { + if(isdefined(var_05.allow_exo_climb)) + { + level.exo_climb_move_options["mag2jump"][var_03] = "ok"; + } + } + else + { + level.exo_climb_move_options["mag2jump"][var_03] = "ok"; + } + + break; + } + } + } + } + + if((level.exo_climb_rig.surface_state == "on_jump_surface" || level.exo_climb_rig.surface_state == "mag_to_jump_surface") && isdefined(level.exo_climb_anim_offsets["normal"])) + { + var_12 = getarraykeys(level.exo_climb_anim_offsets["normal"]); + foreach(var_14 in var_12) + { + var_15 = getarraykeys(level.exo_climb_anim_offsets["normal"][var_14]); + foreach(var_03 in var_15) + { + var_00.origin = level.exo_climb_player_center localtoworldcoords(level.exo_climb_anim_offsets["normal"][var_14][var_03]["offset"]); + foreach(var_05 in level.exo_climb_jump_trigs) + { + if(var_00 istouching(var_05)) + { + if(isdefined(var_05.script_noteworthy) && issubstr(var_05.script_noteworthy,"exo_climb_toggle_trigger")) + { + if(isdefined(var_05.allow_exo_climb)) + { + level.exo_climb_move_options[var_14][var_03] = "normal_" + var_14 + "_" + var_03; + } + } + else + { + level.exo_climb_move_options[var_14][var_03] = "normal_" + var_14 + "_" + var_03; + } + + break; + } + } + } + } + + var_12 = getarraykeys(level.exo_climb_anim_offsets["special"]); + foreach(var_14 in var_12) + { + var_15 = getarraykeys(level.exo_climb_anim_offsets["special"][var_14]); + foreach(var_03 in var_15) + { + if(level.exo_climb_move_options[var_14][var_03] != "blocked") + { + continue; + } + + var_1D = getarraykeys(level.exo_climb_anim_offsets["special"][var_14][var_03]); + foreach(var_1F in var_1D) + { + if(level.exo_climb_move_options[var_14][var_03] != "blocked") + { + continue; + } + + var_00.origin = level.exo_climb_player_center localtoworldcoords(level.exo_climb_anim_offsets["special"][var_14][var_03][var_1F]["offset"]); + foreach(var_05 in level.exo_climb_jump_trigs) + { + if(var_00 istouching(var_05)) + { + if(isdefined(var_05.script_noteworthy) && issubstr(var_05.script_noteworthy,"exo_climb_toggle_trigger")) + { + if(isdefined(var_05.allow_exo_climb)) + { + level.exo_climb_move_options[var_14][var_03] = "special_" + var_14 + "_" + var_03 + "_" + var_1F; + } + } + else + { + level.exo_climb_move_options[var_14][var_03] = "special_" + var_14 + "_" + var_03 + "_" + var_1F; + } + + break; + } + } + } + } + } + } + + var_00 delete(); + if(isdefined(level.exo_climb_rig.is_linked)) + { + level.exo_climb_retest_jumps_triggers = 1; + } +} + +//Function Number: 66 +get_player_local_yaw() +{ + var_00 = level.player getplayerangles()[1]; + if(var_00 > 180) + { + var_00 = var_00 - 360; + } + + return var_00; +} + +//Function Number: 67 +climbing_motion_player_looking() +{ + var_00 = get_player_local_yaw(); + if(level.exo_climb_rig.facing == "center") + { + if(var_00 > 30) + { + climbing_animation_idle_to_side_idle("left"); + return; + } + + if(var_00 < -30) + { + climbing_animation_idle_to_side_idle("right"); + return; + } + + return; + } + + if(level.exo_climb_rig.facing == "left") + { + if(var_00 < 25) + { + climbing_animation_side_idle_to_idle("left"); + return; + } + + if(var_00 > 90) + { + climbing_animation_side_idle_to_back("left"); + return; + } + + return; + } + + if(level.exo_climb_rig.facing == "left_back") + { + if(var_00 < 80) + { + climbing_animation_back_to_side_idle("left"); + return; + } + + return; + } + + if(level.exo_climb_rig.facing == "right") + { + if(var_00 > -25) + { + climbing_animation_side_idle_to_idle("right"); + return; + } + + if(var_00 < -90) + { + climbing_animation_side_idle_to_back("right"); + return; + } + + return; + } + + if(var_00 > -80) + { + climbing_animation_back_to_side_idle("right"); + return; + } +} + +//Function Number: 68 +climbing_motion_player_combat_mode() +{ + if(!level.player buttonpressed("BUTTON_B")) + { + level.exo_climb_rig.crouch_button_reset = 1; + } + + var_00 = get_player_local_yaw(); + if(level.exo_climb_rig.facing == "center") + { + if(var_00 > 30) + { + climbing_animation_stop_idle(); + level.exo_climb_rig.facing = "left"; + level.exo_climb_rig maps\_anim::anim_single_solo(level.exo_climb_rig,"combat_center_to_left"); + level.exo_climb_rig thread maps\_anim::anim_loop_solo(level.exo_climb_rig,"combat_idle_left","stop_climb_idle"); + return; + } + + if(var_00 < -30) + { + climbing_animation_stop_idle(); + level.exo_climb_rig.facing = "right"; + level.exo_climb_rig maps\_anim::anim_single_solo(level.exo_climb_rig,"combat_center_to_right"); + level.exo_climb_rig thread maps\_anim::anim_loop_solo(level.exo_climb_rig,"combat_idle_right","stop_climb_idle"); + return; + } + + return; + } + + if(level.exo_climb_rig.facing == "left") + { + if(var_00 < 25) + { + climbing_animation_stop_idle(); + level.exo_climb_rig.facing = "center"; + level.exo_climb_rig maps\_anim::anim_single_solo(level.exo_climb_rig,"combat_left_to_center"); + level.exo_climb_rig thread maps\_anim::anim_loop_solo(level.exo_climb_rig,"combat_idle","stop_climb_idle"); + return; + } + + return; + } + + if(var_00 > -25) + { + climbing_animation_stop_idle(); + level.exo_climb_rig.facing = "center"; + level.exo_climb_rig maps\_anim::anim_single_solo(level.exo_climb_rig,"combat_right_to_center"); + level.exo_climb_rig thread maps\_anim::anim_loop_solo(level.exo_climb_rig,"combat_idle","stop_climb_idle"); + return; + } +} + +//Function Number: 69 +exo_climb_draw_weapon(param_00) +{ + climbing_give_player_weapon("right"); +} + +//Function Number: 70 +climbing_motion_start_player_shooting() +{ + climbing_animation_stop_idle(); + level.exo_climb_rig.facing = "center"; + level.exo_climb_rig maps\_anim::anim_single_solo(level.exo_climb_rig,"climb_to_combat_idle"); + level.exo_climb_rig thread maps\_anim::anim_loop_solo(level.exo_climb_rig,"combat_idle","stop_climb_idle"); + level.exo_climb_rig.crouch_button_reset = undefined; + level.exo_climb_rig.is_jumping = undefined; +} + +//Function Number: 71 +climbing_motion_stop_player_combat_mode_quick() +{ + level.player allowads(0); + level.player disableweapons(); + var_00 = level.player getcurrentweapon(); + level.exo_climb_rig.stored_clipsize = level.player getweaponammoclip(var_00); + level.exo_climb_rig.stored_stock = level.player setweaponammostock(var_00); + level.player takeweapon(var_00); + level.exo_climb_rig.in_combat_mode = undefined; + climbing_animation_stop_idle(); +} + +//Function Number: 72 +climbing_motion_stop_player_combat_mode() +{ + level.player allowads(0); + level.player disableweapons(); + level.player waittill("weapon_change"); + var_00 = level.player getcurrentweapon(); + level.exo_climb_rig.stored_clipsize = level.player getweaponammoclip(var_00); + level.exo_climb_rig.stored_stock = level.player setweaponammostock(var_00); + level.player takeweapon(var_00); + level.exo_climb_rig.in_combat_mode = undefined; + climbing_animation_stop_idle(); + level.exo_climb_rig maps\_anim::anim_single_solo(level.exo_climb_rig,"combat_to_climb_idle"); + level.exo_climb_rig.facing = "center"; + level thread climbing_animation_idle_loop(); +} + +//Function Number: 73 +climbing_motion_dismount() +{ + level.player lerpfov(65,1); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + } + + if(climbing_helper_player_in_combat_mode()) + { + climbing_motion_stop_player_combat_mode(); + } + + climbing_animation_dismount(); +} + +//Function Number: 74 +climbing_give_player_weapon(param_00) +{ + level.exo_climb_rig.in_combat_mode = 1; + var_01 = "iw5_sn6_sp"; + var_02 = getarraykeys(level.exo_climb_weapon); + var_03 = common_scripts\utility::array_contains(var_02,level.exo_climb_rig.stored_weapon); + if(var_03) + { + var_04 = level.exo_climb_weapon[level.exo_climb_rig.stored_weapon][param_00]; + } + else + { + var_04 = level.exo_climb_weapon[var_02][var_01]; + } + + level.player giveweapon(var_04); + level.player switchtoweapon(var_04); + level.player setweaponammoclip(var_04,level.exo_climb_rig.stored_clipsize); + level.player setweaponammostock(var_04,level.exo_climb_rig.stored_stock); + level.player enableweapons(); + level.player waittill("weapon_change"); + level.player allowads(1); +} + +//Function Number: 75 +climbing_animation_stop_idle() +{ + level.exo_climb_rig notify("stop_climb_idle"); + level.exo_climb_rig maps\_utility::anim_stopanimscripted(); +} + +//Function Number: 76 +climbing_animation_idle_to_side_idle(param_00) +{ + climbing_animation_stop_idle(); + level.exo_climb_rig.facing = param_00; + level.exo_climb_rig maps\_anim::anim_single_solo(level.exo_climb_rig,"idle_to_idle" + param_00); + level thread climbing_animation_idle_loop(param_00); +} + +//Function Number: 77 +climbing_animation_side_idle_to_back(param_00) +{ + climbing_animation_stop_idle(); + if(param_00 == "left") + { + level.exo_climb_rig.facing = "left_back"; + level.exo_climb_rig maps\_anim::anim_single_solo(level.exo_climb_rig,"idleleft_to_idleleftback"); + level thread climbing_animation_idle_loop("left_back"); + return; + } + + level.exo_climb_rig.facing = "right_back"; + level.exo_climb_rig maps\_anim::anim_single_solo(level.exo_climb_rig,"idleright_to_idlerightback"); + level thread climbing_animation_idle_loop("right_back"); +} + +//Function Number: 78 +climbing_animation_back_to_side_idle(param_00) +{ + climbing_animation_stop_idle(); + level.exo_climb_rig.facing = param_00; + if(param_00 == "left") + { + level.exo_climb_rig maps\_anim::anim_single_solo(level.exo_climb_rig,"idleleftback_to_idleleft"); + } + else + { + level.exo_climb_rig maps\_anim::anim_single_solo(level.exo_climb_rig,"idlerightback_to_idleright"); + } + + level thread climbing_animation_idle_loop(param_00); +} + +//Function Number: 79 +climbing_animation_side_idle_to_idle(param_00) +{ + climbing_animation_stop_idle(); + level.exo_climb_rig.facing = "center"; + level.exo_climb_rig maps\_anim::anim_single_solo(level.exo_climb_rig,"idle" + param_00 + "_to_idle"); + level thread climbing_animation_idle_loop(); +} + +//Function Number: 80 +climbing_animation_idle_loop(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = ""; + } + + if(param_00 == "magnetic") + { + level.exo_climb_rig thread maps\_anim::anim_loop_solo(level.exo_climb_rig,"idle_magnetic_gloves","stop_climb_idle"); + return; + } + + level.exo_climb_rig thread maps\_anim::anim_loop_solo(level.exo_climb_rig,"idle" + param_00,"stop_climb_idle"); +} + +//Function Number: 81 +climbing_animation_traverse_move(param_00,param_01) +{ + climbing_animation_stop_idle(); + level.exo_climb_rig.current_traverse_anime = param_00; + level.exo_climb_rig maps\_anim::anim_single_solo(level.exo_climb_rig,param_00); + if(level.nextgen) + { + if(param_01 == 0) + { + setsaveddvar("r_mbEnable","0"); + return; + } + + if(param_01 == 1) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","2"); + return; + } + + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","6"); + return; + } +} + +//Function Number: 82 +climbing_animation_dismount() +{ + climbing_animation_stop_idle(); + level.player playersetgroundreferenceent(undefined); + level.player lerpviewangleclamp(0.5,0,0,0,0,0,0); + level.exo_climb_rig dontcastshadows(); + var_00 = 0; + if(isdefined(level.exo_climb_force_animated_dismount)) + { + var_01 = level.exo_climb_animated_dismount["org"]; + var_02 = level.exo_climb_animated_dismount["animname"]; + var_03 = level.exo_climb_animated_dismount["anime"]; + var_01 maps\_anim::anim_single_solo(level.exo_climb_rig,var_03,undefined,undefined,var_02); + level.exo_climb_force_animated_dismount = undefined; + if(isdefined(level.exo_climb_animated_dismount["keep_rig"])) + { + var_00 = 1; + } + } + else + { + level.exo_climb_rig maps\_anim::anim_single_solo(level.exo_climb_rig,"dismount"); + } + + stop_player_climbing(var_00); +} + +//Function Number: 83 +climbing_head_sway() +{ + level.player endon("death"); + level.player endon("stop_player_climbing"); + for(;;) + { + screenshake(level.player.origin,3,5,1,2,0.2,0.2,0,0.3,0.375,0.225); + wait(1); + } +} + +//Function Number: 84 +climbing_helper_player_jumping() +{ + return isdefined(level.exo_climb_rig.is_jumping); +} + +//Function Number: 85 +climbing_helper_player_moving() +{ + return climbing_helper_player_jumping() || climbing_helper_player_mag_moving() || isdefined(level.exo_climb_rig.surface_state) && level.exo_climb_rig.surface_state == "jump_to_mag_surface" || isdefined(level.exo_climb_rig.surface_state) && level.exo_climb_rig.surface_state == "mag_to_jump_surface"; +} + +//Function Number: 86 +climbing_helper_player_mag_moving() +{ + return isdefined(level.exo_climb_rig.surface_state) && level.exo_climb_rig.surface_state == "on_mag_surface" && isdefined(level.exo_climb_rig.mag_move_dir) && level.exo_climb_rig.mag_move_dir != ""; +} + +//Function Number: 87 +climbing_helper_player_input_1_allowed() +{ + if(isdefined(level.exo_climb_force_animated_dismount)) + { + return 0; + } + + if(isdefined(level.exo_climb_rig.allow_player_input_1)) + { + return 1; + } + + if(!climbing_helper_player_moving()) + { + return 1; + } + + return 0; +} + +//Function Number: 88 +climbing_helper_player_input_2_allowed() +{ + if(isdefined(level.exo_climb_force_animated_dismount)) + { + return 0; + } + + if(isdefined(level.exo_climb_rig.allow_player_input_2)) + { + return 1; + } + + if(!climbing_helper_player_moving()) + { + return 1; + } + + return 0; +} + +//Function Number: 89 +climbing_helper_player_jump_requested() +{ + return level.exo_climb_rig.jumpbuttonbuffer > 0; +} + +//Function Number: 90 +climbing_helper_player_in_combat_mode() +{ + return isdefined(level.exo_climb_rig.in_combat_mode); +} + +//Function Number: 91 +climbing_helper_dir_is_blocked(param_00) +{ + return param_00 == "blocked"; +} + +//Function Number: 92 +climbing_helper_player_combat_requested() +{ + return level.exo_climb_rig.combatbuttonbuffer > 0; +} + +//Function Number: 93 +climbing_helper_player_exit_combat_mode_requested() +{ + return isdefined(level.exo_climb_rig.crouch_button_reset) && level.player buttonpressed("Button_B"); +} + +//Function Number: 94 +climbing_helper_player_dismount_requested() +{ + if(!isdefined(level.exo_climb_rig.dismount_timer)) + { + level.exo_climb_rig.dismount_timer = 500; + } + + if(climbing_helper_player_moving()) + { + level.exo_climb_rig.dismount_timer = 500; + return 0; + } + + if(isdefined(level.exo_climb_force_animated_dismount)) + { + return 1; + } + + if(level.player buttonpressed("BUTTON_X")) + { + if(isdefined(level.exo_climb_rig.dismount_timer) && level.exo_climb_rig.dismount_timer < 0) + { + return 1; + } + else + { + level.exo_climb_rig.dismount_timer = level.exo_climb_rig.dismount_timer - 50; + } + + return 0; + } + + level.exo_climb_rig.dismount_timer = 500; + return 0; +} + +//Function Number: 95 +force_animated_dismount(param_00,param_01,param_02,param_03) +{ + level.exo_climb_force_animated_dismount = 1; + level.exo_climb_animated_dismount = []; + level.exo_climb_animated_dismount["org"] = param_00; + level.exo_climb_animated_dismount["animname"] = param_01; + level.exo_climb_animated_dismount["anime"] = param_02; + level.exo_climb_animated_dismount["keep_rig"] = param_03; +} + +//Function Number: 96 +toggle_mount_mag_trigger_off(param_00,param_01) +{ + self.allow_exo_climb = undefined; + level.exo_climb_retest_jumps_triggers = 1; + if(!isdefined(level.exo_climb_rig)) + { + return; + } + + if(isdefined(param_00)) + { + if(!isdefined(param_01)) + { + param_01 = 0; + } + + var_02 = gettime() + param_01 * 1000; + var_03 = spawn("script_origin",level.exo_climb_player_center.origin); + while(gettime() < var_02) + { + var_03.origin = level.exo_climb_player_center.origin; + mag_mount_unlink_player(param_00,var_03); + mag_mount_link_player(param_00,var_03); + wait(0.05); + } + + var_03 delete(); + } +} + +//Function Number: 97 +toggle_mount_mag_trigger_on(param_00) +{ + self.allow_exo_climb = 1; + level.exo_climb_retest_jumps_triggers = 1; + if(!isdefined(level.exo_climb_rig)) + { + return; + } + + var_01 = spawn("script_origin",level.exo_climb_player_center.origin); + for(var_02 = 0;var_02 < 5;var_02++) + { + var_01.origin = level.exo_climb_player_center.origin; + mag_mount_unlink_player(param_00,var_01); + wait(0.05); + } + + var_01 delete(); +} + +//Function Number: 98 +mag_mount_link_player(param_00,param_01) +{ + if(!isdefined(param_00.player_linked) && param_01 istouching(self)) + { + level.exo_climb_rig linkto(param_00); + level.exo_climb_rig.is_linked = 1; + param_00.player_linked = 1; + } +} + +//Function Number: 99 +mag_mount_unlink_player(param_00,param_01) +{ + if(isdefined(param_00.player_linked)) + { + level.exo_climb_rig unlink(); + level.exo_climb_rig.is_linked = undefined; + param_00.player_linked = undefined; + } +} + +//Function Number: 100 +init_exoclimb_hud() +{ + if(isdefined(1) && 1) + { + temp_exoclimb_hud_init(); + } +} + +//Function Number: 101 +temp_exoclimb_hud_precache() +{ + precacheshader("hud_arrow_up"); + precacheshader("hud_arrow_down"); + precacheshader("hud_arrow_left"); + precacheshader("hud_arrow_right"); +} + +//Function Number: 102 +temp_exoclimb_hud_init() +{ + if(isdefined(level.temp_exoclimb_hud)) + { + return; + } + + level.temp_exoclimb_hud = spawnstruct(); + level.temp_exoclimb_hud.up_arrow = newhudelem(); + level.temp_exoclimb_hud.up_arrow.x = 320; + level.temp_exoclimb_hud.up_arrow.y = 324; + level.temp_exoclimb_hud.up_arrow.alignx = "center"; + level.temp_exoclimb_hud.up_arrow.aligny = "middle"; + level.temp_exoclimb_hud.up_arrow.horzalign = "fullscreen"; + level.temp_exoclimb_hud.up_arrow.vertalign = "fullscreen"; + level.temp_exoclimb_hud.up_arrow.color = (1,1,1); + level.temp_exoclimb_hud.up_arrow setshader("hud_arrow_up",64,64); + level.temp_exoclimb_hud.down_arrow = newhudelem(); + level.temp_exoclimb_hud.down_arrow.x = 320; + level.temp_exoclimb_hud.down_arrow.y = 356; + level.temp_exoclimb_hud.down_arrow.alignx = "center"; + level.temp_exoclimb_hud.down_arrow.aligny = "middle"; + level.temp_exoclimb_hud.down_arrow.horzalign = "fullscreen"; + level.temp_exoclimb_hud.down_arrow.vertalign = "fullscreen"; + level.temp_exoclimb_hud.down_arrow.color = (1,1,1); + level.temp_exoclimb_hud.down_arrow setshader("hud_arrow_down",64,64); + level.temp_exoclimb_hud.left_arrow = newhudelem(); + level.temp_exoclimb_hud.left_arrow.x = 304; + level.temp_exoclimb_hud.left_arrow.y = 340; + level.temp_exoclimb_hud.left_arrow.alignx = "center"; + level.temp_exoclimb_hud.left_arrow.aligny = "middle"; + level.temp_exoclimb_hud.left_arrow.horzalign = "fullscreen"; + level.temp_exoclimb_hud.left_arrow.vertalign = "fullscreen"; + level.temp_exoclimb_hud.left_arrow.color = (1,1,1); + level.temp_exoclimb_hud.left_arrow setshader("hud_arrow_left",64,64); + level.temp_exoclimb_hud.right_arrow = newhudelem(); + level.temp_exoclimb_hud.right_arrow.x = 336; + level.temp_exoclimb_hud.right_arrow.y = 340; + level.temp_exoclimb_hud.right_arrow.alignx = "center"; + level.temp_exoclimb_hud.right_arrow.aligny = "middle"; + level.temp_exoclimb_hud.right_arrow.horzalign = "fullscreen"; + level.temp_exoclimb_hud.right_arrow.vertalign = "fullscreen"; + level.temp_exoclimb_hud.right_arrow.color = (1,1,1); + level.temp_exoclimb_hud.right_arrow setshader("hud_arrow_right",64,64); + temp_exoclimb_hud_hide(); +} + +//Function Number: 103 +temp_exoclimb_hud_hide() +{ + level.temp_exoclimb_hud.up_arrow.alpha = 0; + level.temp_exoclimb_hud.down_arrow.alpha = 0; + level.temp_exoclimb_hud.left_arrow.alpha = 0; + level.temp_exoclimb_hud.right_arrow.alpha = 0; +} + +//Function Number: 104 +temp_exoclimb_hud_check_array(param_00) +{ + if(isdefined(param_00["u"]) && param_00["u"] != "blocked") + { + level.temp_exoclimb_hud.show_up_arrow = 1; + } + + if(isdefined(param_00["d"]) && param_00["d"] != "blocked") + { + level.temp_exoclimb_hud.show_down_arrow = 1; + } + + if(isdefined(param_00["l"]) && param_00["l"] != "blocked") + { + level.temp_exoclimb_hud.show_left_arrow = 1; + } + + if(isdefined(param_00["r"]) && param_00["r"] != "blocked") + { + level.temp_exoclimb_hud.show_right_arrow = 1; + } +} + +//Function Number: 105 +temp_exoclimb_hud_thread() +{ + var_00 = 0.05; + for(;;) + { + if(is_exo_climbing() && climbing_helper_player_input_1_allowed()) + { + level.temp_exoclimb_hud.show_up_arrow = 0; + level.temp_exoclimb_hud.show_down_arrow = 0; + level.temp_exoclimb_hud.show_left_arrow = 0; + level.temp_exoclimb_hud.show_right_arrow = 0; + temp_exoclimb_hud_check_array(level.exo_climb_move_options["long"]); + temp_exoclimb_hud_check_array(level.exo_climb_move_options["short"]); + temp_exoclimb_hud_check_array(level.exo_climb_move_options["jump2mag"]); + temp_exoclimb_hud_check_array(level.exo_climb_move_options["mag2jump"]); + if(level.temp_exoclimb_hud.show_up_arrow) + { + level.temp_exoclimb_hud.up_arrow.alpha = 0.7; + } + else + { + level.temp_exoclimb_hud.up_arrow.alpha = 0; + } + + if(level.temp_exoclimb_hud.show_down_arrow) + { + level.temp_exoclimb_hud.down_arrow.alpha = 0.7; + } + else + { + level.temp_exoclimb_hud.down_arrow.alpha = 0; + } + + if(level.temp_exoclimb_hud.show_left_arrow) + { + level.temp_exoclimb_hud.left_arrow.alpha = 0.7; + } + else + { + level.temp_exoclimb_hud.left_arrow.alpha = 0; + } + + if(level.temp_exoclimb_hud.show_right_arrow) + { + level.temp_exoclimb_hud.right_arrow.alpha = 0.7; + } + else + { + level.temp_exoclimb_hud.right_arrow.alpha = 0; + } + } + else + { + temp_exoclimb_hud_hide(); + } + + wait(var_00); + } +} + +//Function Number: 106 +setup_exo_climb_audio() +{ + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_mount_jump",::aud_exo_climb_mount_jump,"mount2mag"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_mount_land",::aud_exo_climb_mount_land,"mount2mag"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_lt",::aud_exo_climb_windup_lt,"mount2mag"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_rt",::aud_exo_climb_windup_rt,"mount2mag"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_lt",::aud_exo_climb_hit_lt,"mount2mag"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_rt",::aud_exo_climb_hit_rt,"mount2mag"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_lt",::aud_exo_climb_gear_lt,"magnetic_u_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_rt",::aud_exo_climb_gear_rt,"magnetic_u_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_lt",::aud_exo_climb_windup_lt,"magnetic_u_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_rt",::aud_exo_climb_windup_rt,"magnetic_u_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_lt",::aud_exo_climb_hit_lt,"magnetic_u_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_rt",::aud_exo_climb_hit_rt,"magnetic_u_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_lt",::aud_exo_climb_rest_lt,"magnetic_u_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_rt",::aud_exo_climb_rest_rt,"magnetic_u_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_lt",::aud_exo_climb_gear_lt,"magnetic_u_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_rt",::aud_exo_climb_gear_rt,"magnetic_u_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_lt",::aud_exo_climb_windup_lt,"magnetic_u_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_rt",::aud_exo_climb_windup_rt,"magnetic_u_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_lt",::aud_exo_climb_hit_lt,"magnetic_u_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_rt",::aud_exo_climb_hit_rt,"magnetic_u_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_lt",::aud_exo_climb_rest_lt,"magnetic_u_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_rt",::aud_exo_climb_rest_rt,"magnetic_u_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_lt",::aud_exo_climb_gear_lt,"magnetic_u_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_rt",::aud_exo_climb_gear_rt,"magnetic_u_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_lt",::aud_exo_climb_windup_lt,"magnetic_u_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_rt",::aud_exo_climb_windup_rt,"magnetic_u_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_lt",::aud_exo_climb_hit_lt,"magnetic_u_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_rt",::aud_exo_climb_hit_rt,"magnetic_u_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_lt",::aud_exo_climb_rest_lt,"magnetic_u_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_rt",::aud_exo_climb_rest_rt,"magnetic_u_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_lt",::aud_exo_climb_gear_lt,"magnetic_l_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_rt",::aud_exo_climb_gear_rt,"magnetic_l_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_lt",::aud_exo_climb_windup_lt,"magnetic_l_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_rt",::aud_exo_climb_windup_rt,"magnetic_l_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_lt",::aud_exo_climb_hit_lt,"magnetic_l_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_rt",::aud_exo_climb_hit_rt,"magnetic_l_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_lt",::aud_exo_climb_rest_lt,"magnetic_l_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_rt",::aud_exo_climb_rest_rt,"magnetic_l_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_lt",::aud_exo_climb_gear_lt,"magnetic_l_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_rt",::aud_exo_climb_gear_rt,"magnetic_l_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_lt",::aud_exo_climb_windup_lt,"magnetic_l_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_rt",::aud_exo_climb_windup_rt,"magnetic_l_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_lt",::aud_exo_climb_hit_lt,"magnetic_l_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_rt",::aud_exo_climb_hit_rt,"magnetic_l_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_lt",::aud_exo_climb_rest_lt,"magnetic_l_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_rt",::aud_exo_climb_rest_rt,"magnetic_l_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_lt",::aud_exo_climb_gear_lt,"magnetic_l_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_rt",::aud_exo_climb_gear_rt,"magnetic_l_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_lt",::aud_exo_climb_windup_lt,"magnetic_l_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_rt",::aud_exo_climb_windup_rt,"magnetic_l_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_lt",::aud_exo_climb_hit_lt,"magnetic_l_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_rt",::aud_exo_climb_hit_rt,"magnetic_l_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_lt",::aud_exo_climb_rest_lt,"magnetic_l_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_rt",::aud_exo_climb_rest_rt,"magnetic_l_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_lt",::aud_exo_climb_gear_lt,"magnetic_r_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_rt",::aud_exo_climb_gear_rt,"magnetic_r_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_lt",::aud_exo_climb_windup_lt,"magnetic_r_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_rt",::aud_exo_climb_windup_rt,"magnetic_r_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_lt",::aud_exo_climb_hit_lt,"magnetic_r_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_rt",::aud_exo_climb_hit_rt,"magnetic_r_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_lt",::aud_exo_climb_rest_lt,"magnetic_r_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_rt",::aud_exo_climb_rest_rt,"magnetic_r_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_lt",::aud_exo_climb_gear_lt,"magnetic_r_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_rt",::aud_exo_climb_gear_rt,"magnetic_r_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_lt",::aud_exo_climb_windup_lt,"magnetic_r_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_rt",::aud_exo_climb_windup_rt,"magnetic_r_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_lt",::aud_exo_climb_hit_lt,"magnetic_r_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_rt",::aud_exo_climb_hit_rt,"magnetic_r_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_lt",::aud_exo_climb_rest_lt,"magnetic_r_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_rt",::aud_exo_climb_rest_rt,"magnetic_r_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_lt",::aud_exo_climb_gear_lt,"magnetic_r_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_rt",::aud_exo_climb_gear_rt,"magnetic_r_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_lt",::aud_exo_climb_windup_lt,"magnetic_r_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_rt",::aud_exo_climb_windup_rt,"magnetic_r_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_lt",::aud_exo_climb_hit_lt,"magnetic_r_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_rt",::aud_exo_climb_hit_rt,"magnetic_r_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_lt",::aud_exo_climb_rest_lt,"magnetic_r_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_rt",::aud_exo_climb_rest_rt,"magnetic_r_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_slide_push",::aud_exo_climb_slide_push,"magnetic_d_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_slide_start",::aud_exo_climb_slide_start,"magnetic_d_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_slide_stop",::aud_exo_climb_slide_stop,"magnetic_d_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_rt",::aud_exo_climb_gear_rt,"magnetic_d_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_rt",::aud_exo_climb_windup_rt,"magnetic_d_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_rt",::aud_exo_climb_hit_rt,"magnetic_d_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_rt",::aud_exo_climb_rest_lt,"magnetic_d_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_slide_start",::aud_exo_climb_slide_start,"magnetic_d_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_slide_stop",::aud_exo_climb_slide_stop,"magnetic_d_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_rt",::aud_exo_climb_gear_rt,"magnetic_d_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_rt",::aud_exo_climb_windup_rt,"magnetic_d_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_rt",::aud_exo_climb_hit_rt,"magnetic_d_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_rt",::aud_exo_climb_rest_lt,"magnetic_d_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_slide_start",::aud_exo_climb_slide_start,"magnetic_d_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_slide_stop",::aud_exo_climb_slide_stop,"magnetic_d_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_rt",::aud_exo_climb_gear_rt,"magnetic_d_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_rt",::aud_exo_climb_windup_rt,"magnetic_d_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_rt",::aud_exo_climb_hit_rt,"magnetic_d_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_rt",::aud_exo_climb_rest_lt,"magnetic_d_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_lt",::aud_exo_climb_gear_lt,"dismount"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_rt",::aud_exo_climb_gear_rt,"dismount"); +} + +//Function Number: 107 +aud_exo_climb_mount_jump(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_climb_mount_jump"); +} + +//Function Number: 108 +aud_exo_climb_mount_land(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_climb_mount_land"); +} + +//Function Number: 109 +aud_exo_climb_gear_lt(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_climb_gear_lt"); +} + +//Function Number: 110 +aud_exo_climb_gear_rt(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_climb_gear_rt"); +} + +//Function Number: 111 +aud_exo_climb_windup_lt(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_climb_windup_lt"); +} + +//Function Number: 112 +aud_exo_climb_windup_rt(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_climb_windup_rt"); +} + +//Function Number: 113 +aud_exo_climb_hit_lt(param_00) +{ + exo_climb_mag_rumble(param_00); + soundscripts\_snd_playsound::snd_play_2d("exo_climb_hit_magnet"); +} + +//Function Number: 114 +aud_exo_climb_hit_rt(param_00) +{ + exo_climb_mag_rumble(param_00); + soundscripts\_snd_playsound::snd_play_2d("exo_climb_hit_magnet"); +} + +//Function Number: 115 +aud_exo_climb_rest_lt(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_climb_rest_magnet"); +} + +//Function Number: 116 +aud_exo_climb_rest_rt(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_climb_rest_magnet"); +} + +//Function Number: 117 +aud_exo_climb_slide_push(param_00) +{ +} + +//Function Number: 118 +aud_exo_climb_slide_start(param_00) +{ + if(!isdefined(level.aud.exo_climb_sliding)) + { + level.aud.exo_climb_sliding = 1; + soundscripts\_snd_playsound::snd_play_loop_2d("exo_climb_slide_lp","kill_exo_slide",undefined,0.5); + } +} + +//Function Number: 119 +aud_exo_climb_slide_stop(param_00) +{ + level notify("kill_exo_slide"); + level.aud.exo_climb_sliding = undefined; + exo_climb_mag_rumble(param_00); +} \ No newline at end of file diff --git a/AW/PC/SP/maps/_exo_punch_door.gsc b/AW/PC/maps/_exo_punch_door.gsc similarity index 98% rename from AW/PC/SP/maps/_exo_punch_door.gsc rename to AW/PC/maps/_exo_punch_door.gsc index 33db4f5..6bae94b 100644 --- a/AW/PC/SP/maps/_exo_punch_door.gsc +++ b/AW/PC/maps/_exo_punch_door.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_exo_punch_door.gsc + * Decompiled File: _exo_punch_door.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 9 - * Decompile Time: 138 ms - * Timestamp: 10/27/2023 1:58:48 AM + * Decompile Time: 142 ms + * Timestamp: 4/22/2024 2:20:57 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_exo_shield_sp.gsc b/AW/PC/maps/_exo_shield_sp.gsc similarity index 90% rename from AW/PC/SP/maps/_exo_shield_sp.gsc rename to AW/PC/maps/_exo_shield_sp.gsc index 56139ac..15c7867 100644 --- a/AW/PC/SP/maps/_exo_shield_sp.gsc +++ b/AW/PC/maps/_exo_shield_sp.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_exo_shield_sp.gsc + * Decompiled File: _exo_shield_sp.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 21 - * Decompile Time: 331 ms - * Timestamp: 10/27/2023 1:58:50 AM + * Decompile Time: 322 ms + * Timestamp: 4/22/2024 2:20:58 AM *******************************************************************/ //Function Number: 1 @@ -93,15 +93,20 @@ enable_shield_ability() var_00 = get_exo_shield_params(); update_exo_shield_icon(); level.player notifyonplayercommand("exo_shield_toggle","+actionslot 2"); - level.player waittill("exo_shield_toggle"); - switch(var_00.state) + for(;;) { - case "equipping": - case "raised": - break; - - case "idle": - break; + level.player waittill("exo_shield_toggle"); + switch(var_00.state) + { + case "equipping": + case "raised": + lower_shield(); + break; + + case "idle": + thread try_raise_shield(); + break; + } } } @@ -114,8 +119,18 @@ disable_shield_ability() { case "equipping": case "raised": + lower_shield(); break; } + + level.player notify("exo_shield_disabled"); + if(level.player hasweapon(var_00.weapon_name)) + { + level.player endon("exo_shield_enabled"); + level.player waittill("exo_shield_removed"); + } + + state_change("disabled"); } //Function Number: 9 @@ -296,7 +311,7 @@ monitor_shield_switchout() var_00 = get_exo_shield_params(); level.player endon("exo_shield_removed"); var_01 = 0; - if(!var_01) + while(!var_01) { level.player common_scripts\utility::waittill_any("weapon_switch_started","weapon_change","exo_shield_toggle"); var_02 = level.player getcurrentweapon(0) == var_00.weapon_name; @@ -307,12 +322,34 @@ monitor_shield_switchout() switch(var_00.state) { case "raised": + if(!var_02 && !var_06) + { + if(var_05) + { + if(var_03) + { + lower_shield(1); + } + + level.player takeweapon(var_00.weapon_name); + } + + state_change("idle"); + var_01 = 1; + } + else if(var_04 && !var_00.return_after_offhand) + { + offhand_switchout(); + var_01 = 1; + } break; default: break; } } + + level.player notify("exo_shield_removed"); } //Function Number: 18 diff --git a/AW/PC/SP/maps/_flashlight_cheap.gsc b/AW/PC/maps/_flashlight_cheap.gsc similarity index 97% rename from AW/PC/SP/maps/_flashlight_cheap.gsc rename to AW/PC/maps/_flashlight_cheap.gsc index 33a0af4..87f2cca 100644 --- a/AW/PC/SP/maps/_flashlight_cheap.gsc +++ b/AW/PC/maps/_flashlight_cheap.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_flashlight_cheap.gsc + * Decompiled File: _flashlight_cheap.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 11 - * Decompile Time: 165 ms - * Timestamp: 10/27/2023 1:58:51 AM + * Decompile Time: 213 ms + * Timestamp: 4/22/2024 2:20:59 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/_foam_bomb.gsc b/AW/PC/maps/_foam_bomb.gsc new file mode 100644 index 0000000..9501b6f --- /dev/null +++ b/AW/PC/maps/_foam_bomb.gsc @@ -0,0 +1,300 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _foam_bomb.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 13 + * Decompile Time: 226 ms + * Timestamp: 4/22/2024 2:21:00 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + precacheitem("foam_bomb"); + precachemodel("weapon_c4"); + precachemodel("weapon_c4_obj"); + level.player thread place_foam_bomb(); + level.player.grenadetimers["foam_bomb"] = 5; + thread handle_foam_behavior(); + level.c4_weaponname = "foam_bomb"; + level.spawnedfoamglobs = undefined; +} + +//Function Number: 2 +playc4effects() +{ + self endon("death"); + wait(0.1); + playfxontag(common_scripts\utility::getfx("c4_light_blink"),self,"tag_fx"); +} + +//Function Number: 3 +place_foam_bomb() +{ + self endon("death"); + var_00 = getentarray("foam_bomb_location","targetname"); + foreach(var_02 in var_00) + { + var_02 monitor_place_foam_bomb(); + } +} + +//Function Number: 4 +monitor_place_foam_bomb() +{ + var_00 = spawn("script_model",self.origin); + var_00 setmodel("weapon_c4_obj"); + var_00.angles = self.angles; + var_00 makeusable(); + var_00 sethintstring("Press ^3 &&1 ^7to Plant Foam"); + var_00 waittill("trigger"); + level.player giveweapon("foam_bomb"); + level.player setactionslot(2,"weapon","foam_bomb"); + var_00 setmodel("weapon_c4"); + var_00 playc4effects(); + level.player thread handle_detonator(); + level.player waittill("detonate"); + var_00 detonate_foam_grenade(); +} + +//Function Number: 5 +handle_detonator() +{ + var_00 = undefined; + if(!isdefined(self.old_weapon)) + { + self.old_weapon = self getcurrentweapon(); + } + + var_01 = self getweaponslistall(); + for(var_02 = 0;var_02 < var_01.size;var_02++) + { + if(var_01[var_02] != level.c4_weaponname) + { + continue; + } + + var_00 = var_01[var_02]; + } + + if(!isdefined(var_00)) + { + self giveweapon(level.c4_weaponname); + self setweaponammoclip(level.c4_weaponname,0); + self setactionslot(2,"weapon",level.c4_weaponname); + } + + setsaveddvar("actionSlotsHide",1); + self disableweaponswitch(); + self disableoffhandweapons(); + self disableweaponpickup(); + self allowmelee(0); + self switchtoweapon(level.c4_weaponname); + self waittill("detonate"); + wait(0.15); + self enableweaponswitch(); + self enableoffhandweapons(); + self enableweaponpickup(); + self allowmelee(1); + self switchtoweapon(self.old_weapon); + self takeweapon(level.c4_weaponname); + self waittill("weapon_change"); + wait(1); + setsaveddvar("actionSlotsHide",0); +} + +//Function Number: 6 +handle_foam_behavior() +{ + level endon("missionfailed"); +} + +//Function Number: 7 +delete_auto() +{ + if(!isdefined(self)) + { + return; + } + + self delete(); +} + +//Function Number: 8 +detonate_foam_grenade(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 1; + } + + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01.edge = common_scripts\utility::spawn_tag_origin(); + var_01.origin = var_01.origin + (0,0,5); + var_02 = create_foam_matrix(param_00); + if(isdefined(level.spawnedfoamglobs)) + { + common_scripts\utility::array_thread(level.spawnedfoamglobs,::delete_auto); + } + + level.spawnedfoamglobs = []; + var_02 = sortbydistance(var_02,var_01.origin); + level notify("foam_bomb_begin"); + var_01 soundscripts\_snd::snd_message("aud_detonate_foam_grenade"); + var_03 = 1; + var_04 = 1; + var_05 = undefined; + level notify("foam_bomb_complete"); +} + +//Function Number: 9 +expand_foam(param_00,param_01,param_02) +{ + var_03 = randomintrange(50,55); + var_04 = distance(param_00,self.origin); + var_05 = var_04 / var_03; + var_06 = undefined; + if(var_05 <= 0) + { + var_05 = 0.1; + } + + self.neighbors = 0; + foreach(var_08 in level.foambombfoams) + { + if(distance(self.origin,var_08) < 32) + { + self.neighbors++; + } + } + + var_06 = spawn("script_model",param_00 + (0,0,-18)); + var_06 moveto(self.origin,var_05,var_05 / 10,var_05 / 2); + level.spawnedfoamglobs[level.spawnedfoamglobs.size] = var_06; + wait(var_05); + level notify("new_foam_glob",self.layer,self.ring,self); + while(isdefined(self.layer)) + { + level waittill("new_foam_glob",var_0A,var_0B); + if((isdefined(var_06) && self.layer < var_0A - 1 && self.ring < var_0B - 1 && self.neighbors > 16) || isgroundfoam(self,var_0B)) + { + var_06 delete(); + break; + } + + wait 0.05; + } +} + +//Function Number: 10 +isgroundfoam(param_00,param_01) +{ + if(isdefined(param_00) && param_00.layer == 1 && param_00.ring < param_01 - 1 && param_00.neighbors > 8) + { + return 1; + } + + return 0; +} + +//Function Number: 11 +debug_foam_tag() +{ + self endon("death"); + wait 0.05; +} + +//Function Number: 12 +create_foam_matrix(param_00) +{ + var_01 = 960; + if(param_00 != 1 && param_00 < 1) + { + var_01 = 960 * param_00; + } + else if(param_00 > 1) + { + var_01 = 960 * param_00 * 0.01; + } + + var_02 = []; + var_03 = spawnstruct(); + var_03.origin = self.origin; + var_02[var_02.size] = var_03; + var_04 = common_scripts\utility::spawn_tag_origin(); + level.foambombfoams = [var_03.origin]; + var_05 = 16; + var_06 = 20; + var_04.angles = (0,randomfloatrange(-180,180),0); + for(var_07 = 0;var_07 < 16;var_07++) + { + var_08 = 0; + var_09 = 0; + var_0A = 1; + var_0B = 0; + var_0C = var_01 / 8 - var_01 * 0.01 * var_07; + while(var_08 < var_0C) + { + var_0D = var_06 * var_0A * 2 * 3.141593; + var_0E = 25.2; + var_0F = 360 * var_0E / var_0D; + for(var_10 = 0;var_10 < 360;var_10 = var_10 + var_0F) + { + var_04.angles = var_04.angles + (0,var_10,0); + var_11 = var_04.origin + anglestoforward(var_04.angles) * var_06 * var_0A; + var_12 = bullettrace(var_04.origin,var_11,0,undefined,0); + if(var_12["fraction"] >= 1 && isvalidfoamspace(var_11)) + { + var_03 = spawnstruct(); + var_03.origin = var_12["position"]; + if(var_0A > 1) + { + var_03.origin = var_03.origin + (randomfloatrange(-6,6),randomfloatrange(-6,6),randomfloatrange(-6,6)); + } + + level.foambombfoams[level.foambombfoams.size] = var_03.origin; + var_08++; + if(var_08 < var_0C * 0.4) + { + var_03.delete_ok = 1; + } + + var_03.ring = var_0A; + var_03.layer = var_07; + var_02[var_02.size] = var_03; + if(var_02.size > var_01) + { + return var_02; + } + + level notify("new_foam_layer",var_07); + } + + if(var_09 > 300) + { + wait 0.05; + var_09 = 0; + continue; + } + + var_09++; + } + + var_0A++; + } + + if(bullettracepassed(var_04.origin,var_04.origin + (0,0,var_05),0,undefined,0)) + { + var_04.origin = var_04.origin + (0,0,var_05); + } + } + + return var_02; +} + +//Function Number: 13 +isvalidfoamspace(param_00) +{ + return 1; +} \ No newline at end of file diff --git a/AW/PC/SP/maps/_friendlyfire.gsc b/AW/PC/maps/_friendlyfire.gsc similarity index 98% rename from AW/PC/SP/maps/_friendlyfire.gsc rename to AW/PC/maps/_friendlyfire.gsc index 9129f69..a38afc8 100644 --- a/AW/PC/SP/maps/_friendlyfire.gsc +++ b/AW/PC/maps/_friendlyfire.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_friendlyfire.gsc + * Decompiled File: _friendlyfire.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 17 - * Decompile Time: 261 ms - * Timestamp: 10/27/2023 1:58:52 AM + * Decompile Time: 275 ms + * Timestamp: 4/22/2024 2:21:01 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_gameskill.gsc b/AW/PC/maps/_gameskill.gsc similarity index 97% rename from AW/PC/SP/maps/_gameskill.gsc rename to AW/PC/maps/_gameskill.gsc index 0a2487c..6585a09 100644 --- a/AW/PC/SP/maps/_gameskill.gsc +++ b/AW/PC/maps/_gameskill.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_gameskill.gsc + * Decompiled File: _gameskill.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 111 - * Decompile Time: 11026 ms - * Timestamp: 10/27/2023 1:59:25 AM + * Decompile Time: 1702 ms + * Timestamp: 4/22/2024 2:21:06 AM *******************************************************************/ //Function Number: 1 @@ -897,17 +897,42 @@ display_screen_effect(param_00,param_01,param_02,param_03,param_04) switch(param_01) { case "bottom": + var_06 = int(640); + var_07 = int(480); + if(param_00 == "dirt") + { + var_08 = maps\_hud_util::create_client_overlay_custom_size(param_02,1); + var_08 thread screen_effect_on_open_bottom(param_00,param_04,1); + var_08 screen_detailed_alpha(); + } + else + { + var_08 = maps\_hud_util::create_client_overlay_custom_size(param_03,0); + var_08 screen_effect_on_open_bottom(param_00,param_04); + } + + if(isdefined(param_03)) + { + var_09 = maps\_hud_util::create_client_overlay_custom_size(param_03,0); + var_09 screen_effect_on_open_bottom(param_00,param_04); + } break; case "left": + var_08 = maps\_hud_util::create_client_overlay_custom_size(param_02,0,1,1); + var_08 screen_effect_on_open_side(param_00,param_04,1); break; case "right": + var_08 = maps\_hud_util::create_client_overlay_custom_size(param_02,0,1,1); + var_08 screen_effect_on_open_side(param_00,param_04,0); break; default: break; } + + self.gs.screeneffect[param_00 + "_count"][param_01]--; } //Function Number: 47 @@ -2392,6 +2417,22 @@ auto_adjust_enemy_died(param_00,param_01,param_02,param_03) } //Function Number: 107 +auto_adjust_enemy_death_detection(param_00,param_01,param_02,param_03,param_04,param_05) +{ + if(!isalive(self) || self.delayeddeath) + { + auto_adjust_enemy_died(param_00,param_01,param_04,param_03); + return; + } + + if(!player_attacker(param_01)) + { + return; + } + + aa_player_attacks_enemy_with_ads(param_00,param_04,param_03); +} + //Function Number: 108 aa_player_attacks_enemy_with_ads(param_00,param_01,param_02) { diff --git a/AW/PC/SP/maps/_global_fx.gsc b/AW/PC/maps/_global_fx.gsc similarity index 97% rename from AW/PC/SP/maps/_global_fx.gsc rename to AW/PC/maps/_global_fx.gsc index 9f373fd..c76a602 100644 --- a/AW/PC/SP/maps/_global_fx.gsc +++ b/AW/PC/maps/_global_fx.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_global_fx.gsc + * Decompiled File: _global_fx.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 11 ms - * Timestamp: 10/27/2023 1:59:26 AM + * Decompile Time: 30 ms + * Timestamp: 4/22/2024 2:21:07 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_global_fx_code.gsc b/AW/PC/maps/_global_fx_code.gsc similarity index 93% rename from AW/PC/SP/maps/_global_fx_code.gsc rename to AW/PC/maps/_global_fx_code.gsc index 80034e6..a3567a2 100644 --- a/AW/PC/SP/maps/_global_fx_code.gsc +++ b/AW/PC/maps/_global_fx_code.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_global_fx_code.gsc + * Decompiled File: _global_fx_code.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 21 ms - * Timestamp: 10/27/2023 1:59:26 AM + * Decompile Time: 50 ms + * Timestamp: 4/22/2024 2:21:07 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/_grapple.gsc b/AW/PC/maps/_grapple.gsc new file mode 100644 index 0000000..983005f --- /dev/null +++ b/AW/PC/maps/_grapple.gsc @@ -0,0 +1,5627 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _grapple.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 156 + * Decompile Time: 2580 ms + * Timestamp: 4/22/2024 2:21:16 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01) +{ + setsaveddvar("use_new_sva_system",1); + if(!isdefined(param_00)) + { + param_00 = "viewbody_generic_s1"; + } + + level.grapple_defaultscriptedbodymodel = param_00; + if(!isdefined(param_01)) + { + param_01 = "viewmodel_base_viewhands"; + } + + level.grapple_defaultviewhandsmodel = param_01; + level thread grapple_init(); +} + +//Function Number: 2 +grapple_give(param_00,param_01) +{ + self notify("grapple_give"); + self endon("death"); + thread grapple_quick_fire_listener(); + self.grapple["enabled"] = 1; + self.grapple["grappling"] = 0; + if(isdefined(param_00)) + { + self.grapple["model_body"] setmodel(param_00); + } + else if(isdefined(level.grapple_defaultscriptedbodymodel)) + { + self.grapple["model_body"] setmodel(level.grapple_defaultscriptedbodymodel); + } + + if(isdefined(param_01)) + { + self.grapple["model_hands"] setmodel(param_01); + } + else if(isdefined(level.grapple_defaultviewhandsmodel)) + { + self.grapple["model_hands"] setmodel(level.grapple_defaultviewhandsmodel); + } + + self disableoffhandsecondaryweapons(); + thread grapple_enabled_listener(); +} + +//Function Number: 3 +grapple_take() +{ + self notify("grapple_take"); + grapple_switch(0); + self.grapple["enabled"] = 0; + grapple_set_hint(""); + grapple_update_preview(0,0); + self enableoffhandsecondaryweapons(); +} + +//Function Number: 4 +grapple_switch(param_00,param_01,param_02) +{ + var_03 = self getcurrentweapon(); + var_04 = var_03; + if(!isdefined(param_02)) + { + param_02 = 0; + } + + if(!param_00) + { + if(var_03 != "none" && var_03 != self.grapple["weapon"]) + { + return; + } + + if(isdefined(self.grapple["weapon_prev"]) && self hasweapon(self.grapple["weapon_prev"])) + { + var_04 = self.grapple["weapon_prev"]; + } + else + { + var_05 = self getweaponslistprimaries(); + var_06 = var_04; + foreach(var_08 in var_05) + { + if(var_08 != self.grapple["weapon"]) + { + if(self getweaponammoclip(var_08) > 0) + { + var_04 = var_08; + break; + } + else + { + var_06 = var_08; + } + } + } + + if(var_04 == var_03) + { + var_04 = var_06; + } + } + + grapple_set_hint(""); + self.grapple["ready_time"] = max(gettime() + 1000,self.grapple["ready_time"]); + } + else + { + if(var_03 == self.grapple["weapon"]) + { + return; + } + + self.grapple["weapon_prev"] = var_03; + self giveweapon(self.grapple["weapon"]); + var_04 = self.grapple["weapon"]; + self.grapple["ready_time"] = max(gettime() + 250,self.grapple["ready_time"]); + self.grapple["switching_to_grapple"] = 1; + } + + if(var_03 != var_04 || self.grapple["quick_fire_up"]) + { + if(var_04 == self.grapple["weapon"]) + { + self.grapple["ammoCounterHide"] = 1; + setsaveddvar("ammoCounterHide",1); + self allowads(0); + self allowsprint(0); + self disableusability(); + self.grapple["useReticle"] = param_02; + setsaveddvar("cg_drawCrosshair",param_02); + if(isdefined(self.exo_active) && self.exo_active) + { + thread maps\_player_exo::player_exo_deactivate(); + self.grapple["exo_deactivated"] = 1; + } + } + else + { + self.grapple["ammoCounterHide"] = 0; + self.grapple["useReticle"] = 1; + self enableusability(); + if(self.grapple["exo_deactivated"]) + { + if(isdefined(self.exo_active) && !self.exo_active && !self.grapple["no_enable_exo"]) + { + thread maps\_player_exo::player_exo_activate(); + } + + self.grapple["exo_deactivated"] = 0; + self.grapple["no_enable_exo"] = 0; + } + } + + if(isdefined(param_01) && param_01) + { + self switchtoweaponimmediate(var_04); + return; + } + + self switchtoweapon(var_04); + } +} + +//Function Number: 5 +grapple_magnet_register(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + if(!isdefined(param_00)) + { + return undefined; + } + + if(!isdefined(param_01)) + { + param_01 = ""; + } + + param_01 = tolower(param_01); + if(!isdefined(param_02)) + { + param_02 = (0,0,0); + } + + if(isdefined(param_05) && !isdefined(param_05.type)) + { + param_05.type = ""; + } + + if(!isdefined(param_06)) + { + if(isdefined(param_05) && isdefined(param_05.afterlandanim)) + { + param_06 = param_05.afterlandanim; + } + else + { + param_06 = param_00.afterlandanim; + } + } + + var_07 = undefined; + foreach(var_0A, var_09 in level.grapple_magnets) + { + if(!isdefined(var_07) && !isdefined(var_09.object)) + { + var_07 = var_0A; + continue; + } + + if(isdefined(var_09.object) && var_09.object == param_00 && var_09.tag == param_01 && var_09.tag_offset == param_02) + { + level.grapple_magnets[var_0A].specialstruct = param_05; + level.grapple_magnets[var_0A].notifyname = param_03; + level.grapple_magnets[var_0A].afterlandanim = param_06; + return level.grapple_magnets[var_0A]; + } + } + + if(!isdefined(var_07)) + { + var_07 = level.grapple_magnets.size; + } + + var_09 = spawnstruct(); + var_09.object = param_00; + var_09.tag = param_01; + var_09.tag_offset = param_02; + var_09.static = !isdefined(param_00.classname) || param_00.classname == "script_struct"; + var_09.is_ai = isai(param_00); + var_09.specialstruct = param_05; + var_09.notifyname = param_03; + var_09.afterlandanim = param_06; + level.grapple_magnets[var_07] = var_09; + if(isdefined(param_04)) + { + var_09.next = param_04; + } + else if(isdefined(param_00.target) && param_01 == "" || param_01 == "tag_origin") + { + param_04 = getent(param_00.target,"targetname"); + if(!isdefined(param_04)) + { + param_04 = common_scripts\utility::getstruct(param_00.target,"targetname"); + } + + if(isdefined(param_04)) + { + var_09.next = grapple_magnet_register(param_04); + } + } + + if(var_09.static) + { + var_09.static_origin = grapple_magnet_origin(var_09); + if(isdefined(var_09.next) && var_09.next.static) + { + var_0B = grapple_magnet_origin(var_09.next); + var_09.static_length = distance(var_09.static_origin,var_0B); + var_09.static_sphere_radius = var_09.static_length * 0.5; + var_09.static_sphere_center = vectorlerp(var_09.static_origin,var_0B,0.5); + } + } + + if(!isdefined(param_00.grapple_magnets)) + { + param_00.grapple_magnets = [var_09]; + } + else + { + param_00.grapple_magnets[param_00.grapple_magnets.size] = var_09; + } + + if(isai(param_00) && !isdefined(param_00.grapple_death_styles)) + { + param_00.grapple_death_styles = level.grapple_death_styles; + } + + return var_09; +} + +//Function Number: 6 +grapple_magnet_unregister(param_00,param_01) +{ + if(!isdefined(param_00)) + { + return; + } + + if(!isdefined(param_01)) + { + param_01 = ""; + } + + param_01 = tolower(param_01); + foreach(var_07, var_03 in level.grapple_magnets) + { + if(isdefined(var_03) && isdefined(var_03.object) && var_03.object == param_00 && var_03.tag == param_01) + { + level.grapple_magnets[var_07].object = undefined; + grapple_validate_magnets(level.grapple_magnets[var_07]); + foreach(var_06, var_05 in param_00.grapple_magnets) + { + if(isdefined(var_05) && var_05 == level.grapple_magnets[var_07]) + { + param_00.grapple_magnets[var_06] = undefined; + break; + } + } + } + } + + if(isdefined(param_00.grapple_magnets) && param_00.grapple_magnets.size == 0) + { + param_00.grapple_magnets = undefined; + param_00.grapple_death_styles = undefined; + } +} + +//Function Number: 7 +grapple_init() +{ + maps\_grapple_anim::grapple_init_anims_player(); + maps\_grapple_anim::grapple_init_anims_props(); + grapple_init_anims_weapon(); + maps\_grapple_anim::grapple_init_anims_actors(); + grapple_precache(); + grapple_register_snd_messages(); + grapple_init_magnets(); + grapple_init_death_styles(); + maps\_utility::add_extra_autosave_check("grappling",::grapple_autosave_grappling_check,"grappling."); + for(;;) + { + foreach(var_01 in level.players) + { + if(!isdefined(var_01.grapple_initialized)) + { + var_01 grapple_init_player(); + var_01.grapple_initialized = 1; + } + + var_02 = issaverecentlyloaded(); + if(var_02 && !var_01.grapple["recent_load_reset"]) + { + if(var_01.grapple["grappled_count"] > 1) + { + var_01.grapple["grappled_count"] = 1; + } + + var_01 grapple_switch(0,1); + if(var_01.grapple["enabled"]) + { + var_01 thread grapple_quick_fire_listener(); + var_01 thread grapple_enabled_listener(); + var_01.grapple["grappling"] = 0; + } + + var_01.grapple["recent_load_reset"] = 1; + continue; + } + + if(!var_02) + { + var_01.grapple["recent_load_reset"] = 0; + } + } + + wait(0.25); + } +} + +//Function Number: 8 +grapple_init_magnets() +{ + level.grapple_magnets = []; + var_00 = common_scripts\utility::getstructarray("grapple_magnet","script_noteworthy"); + foreach(var_02 in var_00) + { + grapple_magnet_register(var_02); + } + + var_00 = getentarray("grapple_magnet","script_noteworthy"); + foreach(var_02 in var_00) + { + grapple_magnet_register(var_02); + } + + if(common_scripts\utility::issp()) + { + thread grapple_magnet_actor_monitor(); + } +} + +//Function Number: 9 +grapple_magnet_actor_monitor() +{ + for(;;) + { + wait(0.5); + var_00 = getaiarray("axis"); + foreach(var_02 in var_00) + { + if(isdefined(var_02) && var_02 grapple_ai_alive() && !isdefined(var_02.grapple_magnets)) + { + grapple_magnet_register(var_02,"J_SpineUpper"); + var_02 thread grapple_magnet_unregister_on_death("J_SpineUpper"); + } + } + } +} + +//Function Number: 10 +grapple_magnet_unregister_on_death(param_00) +{ + self notify("grapple_unregister_on_death"); + self endon("grapple_unregister_on_death"); + self waittill("death"); + if(isdefined(self)) + { + grapple_magnet_unregister(self,param_00); + } +} + +//Function Number: 11 +grapple_notify_players_magnet_unregister(param_00) +{ + foreach(var_02 in level.players) + { + if(isdefined(var_02.grapple) && isdefined(var_02.grapple["magnet_current"])) + { + if(isdefined(var_02.grapple["magnet_current"].magnet) && var_02.grapple["magnet_current"].magnet == param_00) + { + var_02.grapple["magnet_current"].valid = 0; + var_02.grapple["magnet_current"].magnet = undefined; + var_02.grapple["magnet_current"].origin = undefined; + } + } + } +} + +//Function Number: 12 +grapple_precache() +{ + level._effect["grapple_cam"] = loadfx("vfx/map/irons_estate/grapple_cam"); + precachemodel("vm_spydeco"); + grapple_model_precache("model_player_from","tag_origin"); + grapple_model_precache("model_player_to","tag_origin"); + grapple_model_precache("model_player_trans","tag_origin"); + grapple_model_precache("model_preview","tag_origin"); + grapple_model_precache("model_preview_hint","tag_origin"); + grapple_model_precache("model_rope_attach_world","tag_origin"); + grapple_model_precache("model_player_move_tag","tag_origin"); + grapple_model_precache("model_player_move_lerp","tag_origin"); + grapple_model_precache("model_rope_attach_player","tag_origin"); + grapple_model_precache("model_attach_world","tag_origin"); + grapple_model_precache("model_ai_link","tag_origin"); + grapple_model_precache("model_rope_fire","grapple_rope"); + grapple_model_precache("model_rope_idle","grapple_rope_stretch"); + grapple_model_precache("model_hands","grapple_hands"); + grapple_model_precache("model_body","grapple_body"); + precacheitem("s1_grapple"); + precacheitem("s1_grapple_impact"); + precacherumble("subtle_tank_rumble"); + precacherumble("heavygun_fire"); + precacherumble("falling_land"); + precacherumble("damage_light"); + precacheshader("grapple_reticle_indicator"); + precacheshader("grapple_reticle_indicator_small"); + setdvarifuninitialized("grapple_enabled",1); + setdvarifuninitialized("grapple_tutorial",1); + setdvarifuninitialized("grapple_hint_always",1); + setdvarifuninitialized("grapple_hint_button_always",1); + setdvarifuninitialized("grapple_magnet_fov",48); + setdvarifuninitialized("grapple_magnet_fov_ai",5); + setdvarifuninitialized("grapple_magnet_enabled",1); + setdvarifuninitialized("grapple_magnet_required",1); + setdvarifuninitialized("grapple_magnet_show_offset",0); + setdvarifuninitialized("grapple_magnet_lines",1); + setdvarifuninitialized("grapple_mantle_reach",64); + setdvarifuninitialized("grapple_mantle_kill_radius",75); + setdvarifuninitialized("grapple_mantle_required",1); + setdvarifuninitialized("grapple_lerp_velocity",1); + setdvarifuninitialized("grapple_status_text",0); + setdvarifuninitialized("grapple_ai_priority",0.02); + setdvarifuninitialized("grapple_concealed_kill_range_min",100); + setdvarifuninitialized("grapple_concealed_kill_range",400); + setdvarifuninitialized("grapple_concealed_kill_range_z",80); + setdvarifuninitialized("grapple_concealed_kill",1); + grapple_register_hint("grapple_input_tutorial",&"GRAPPLE_INPUT_TUTORIAL",&"GRAPPLE_INPUT_TUTORIAL",::grapple_hint_hide_tutorial); + grapple_register_hint("grapple_kill",&"GRAPPLE_KILL",&"GRAPPLE_KILL",::grapple_hint_hide_kill); + grapple_register_hint("grapple_kill_pull",&"GRAPPLE_KILL_PULL",&"GRAPPLE_KILL_PULL",::grapple_hint_hide_kill_pull); +} + +//Function Number: 13 +grapple_register_snd_messages() +{ + soundscripts\_snd::snd_register_message("aud_grapple_launch",::aud_grapple_launch); + level.grapple_snd_pain = ["ie_as1_quietpain1","ie_as1_quietpain2","ie_as2_quietpain1","ie_as2_quietpain2","ie_as3_quietpain1","ie_as3_quietpain2"]; + level.grapple_snd_death = ["ie_as1_quietdeath1","ie_as1_quietdeath2","ie_as2_quietdeath1","ie_as2_quietdeath2","ie_as3_quietdeath1","ie_as3_quietdeath2"]; +} + +//Function Number: 14 +aud_grapple_launch() +{ + if(common_scripts\utility::issp()) + { + if(isai(self)) + { + snd_play_linked_notify_on_ent("linelauncher_fire","stop_grapplesound_npc",0.2); + snd_play_linked_notify_on_ent("linelauncher_move","stop_grapplesound_npc",0.1); + return; + } + + soundscripts\_snd_playsound::snd_play_2d("linelauncher_fire_player"); + soundscripts\_snd_playsound::snd_play_2d("linelauncher_cable_fly_player","stop_grapplesound",undefined,0.2); + return; + } +} + +//Function Number: 15 +snd_play_linked_notify_on_ent(param_00,param_01,param_02) +{ + thread snd_play_linked_notify_on_ent_thread(param_00,param_01,param_02); +} + +//Function Number: 16 +snd_play_linked_notify_on_ent_thread(param_00,param_01,param_02) +{ + var_03 = spawn("script_origin",self.origin); + var_03 linkto(self); + var_03 playsound(param_00); + self waittill(param_01); + var_03 scalevolume(0,param_02); + wait(param_02); + var_03 stopsounds(); + wait 0.05; + var_03 delete(); +} + +//Function Number: 17 +grapple_after_land_anim() +{ + var_00 = self.grapple["model_player_to"]; + if(isdefined(var_00.land_entity) && isdefined(var_00.land_magnet) && isdefined(var_00.land_magnet.afterlandanim) && var_00.land_magnet.tag != "") + { + var_01 = var_00.land_magnet.afterlandanim; + grapple_setup_rope_attached_player(self,self,0); + grapple_rope_state(2); + var_02 = self.grapple["model_body"]; + var_02 unlink(); + var_02 linkto(var_00.land_entity,var_00.land_magnet.tag,(0,0,0),(0,0,0)); + var_02 dontinterpolate(); + var_03 = var_00.land_entity gettagorigin(var_00.land_magnet.tag); + var_04 = var_00.land_entity gettagangles(var_00.land_magnet.tag); + var_02 show(); + var_02 animscripted("grapple_after_land_anim",var_03,var_04,var_01,undefined,undefined,0.2); + self unlink(); + self playerlinktoblend(var_02,"tag_player",0.2); + grapple_disable_weapon(); + self notify("grapple_land_anim"); + wait(getanimlength(var_01)); + var_02 hide(); + var_05 = self.grapple["model_player_from"]; + var_05 unlink(); + var_05.origin = self.origin; + if(isdefined(var_05.land_entity)) + { + if(isdefined(var_05.land_magnet) && var_05.land_magnet.tag != "") + { + var_05 linkto(var_05.land_entity,var_05.land_magnet.tag); + } + else + { + var_05 linkto(var_05.land_entity); + } + } + + return 1; + } + + return 0; +} + +//Function Number: 18 +grapple_rope_length_thread(param_00,param_01,param_02) +{ + self notify("grapple_rope_length_thread"); + self endon("grapple_rope_length_thread"); + param_00 endon("death"); + self endon("death"); + if(param_01 == 0) + { + return; + } + + if(!isdefined(param_02)) + { + param_02 = 0; + } + + var_03 = 2000; + self useanimtree(#animtree); + var_04 = %vm_grapple_idle_rope; + self setanim(var_04,1,0,0); + while(isdefined(param_00) && isdefined(self)) + { + var_05 = distance(self.origin,param_00.origin); + if(param_01 == 1) + { + var_05 = var_05 - 253; + } + + var_05 = var_05 + param_02; + var_06 = clamp(var_05 / var_03,1E-05,0.99999); + self setanimtime(var_04,var_06); + wait(0.05); + } +} + +//Function Number: 19 +grapple_rope_state(param_00,param_01,param_02) +{ + var_03 = self.grapple["model_rope_fire"]; + var_04 = self.grapple["model_rope_idle"]; + self.grapple["rope_state"] = param_00; + if(!isdefined(param_02)) + { + param_02 = 0; + } + + switch(param_00) + { + case 0: + var_03 hide(); + var_03 drawfacingentity(undefined); + var_04 hide(); + var_04 drawfacingentity(undefined); + var_04 notify("grapple_rope_length_thread"); + break; + + case 1: + var_03 show(); + var_03 dontinterpolate(); + var_03.angles = self getplayerangles(); + if(param_02) + { + var_03 drawfacingentity(undefined); + } + else + { + var_03 drawfacingentity(self.grapple["model_rope_attach_world"]); + } + + var_04 show(); + var_04.angles = vectortoangles(self.grapple["model_rope_attach_player"].origin - var_03.origin); + if(param_02) + { + var_04 drawfacingentity(undefined); + } + else + { + var_04 drawfacingentity(self.grapple["model_rope_attach_player"]); + } + + var_04 thread grapple_rope_length_thread(self.grapple["model_rope_attach_player"],param_00,param_01); + break; + + case 2: + var_03 hide(); + var_03 drawfacingentity(undefined); + var_04 show(); + var_04 dontinterpolate(); + var_04.angles = vectortoangles(self.grapple["model_rope_attach_player"].origin - var_04.origin); + if(param_02) + { + var_04 drawfacingentity(undefined); + } + else + { + var_04 drawfacingentity(self.grapple["model_rope_attach_player"]); + } + + var_04 thread grapple_rope_length_thread(self.grapple["model_rope_attach_player"],param_00,param_01); + break; + } +} + +//Function Number: 20 +grapple_init_anims_weapon() +{ + level.grapple_weapon_anim = []; + level.grapple_weapon_anim["fire"] = "fire"; + level.grapple_weapon_anim["travel"] = "reload"; + level.grapple_weapon_anim["ready"] = "raise"; +} + +//Function Number: 21 +grapple_init_death_style(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + if(!isdefined(param_02)) + { + param_02 = 0.7; + } + + var_09 = spawnstruct(); + var_09.name = param_00; + var_09.normal = param_01; + var_09.dot = param_02; + var_09.hint = param_03; + var_09.validator = param_04; + var_09.handler = param_05; + var_09.handler_parm1 = param_06; + var_09.handler_parm2 = param_07; + var_09.handler_parm3 = param_08; + level.grapple_death_styles[var_09.name] = var_09; + return var_09; +} + +//Function Number: 22 +grapple_init_death_styles() +{ + level.grapple_death_styles = []; + grapple_init_death_style("death_grapple_pull_back_obs",(1,0,0),cos(46),"grapple_kill_pull",::grapple_death_valid_pull_concealed_obs,::grapple_death_pull,"_obs","death_grapple_back"); + grapple_init_death_style("death_grapple_pull_front_obs",(-1,0,0),cos(46),"grapple_kill_pull",::grapple_death_valid_pull_concealed_obs,::grapple_death_pull,"_obs","death_grapple_front"); + grapple_init_death_style("death_grapple_pull_right_obs",(0,1,0),cos(46),"grapple_kill_pull",::grapple_death_valid_pull_concealed_obs,::grapple_death_pull,"_obs","death_grapple_right"); + grapple_init_death_style("death_grapple_pull_left_obs",(0,-1,0),cos(46),"grapple_kill_pull",::grapple_death_valid_pull_concealed_obs,::grapple_death_pull,"_obs","death_grapple_left"); + grapple_init_death_style("grapple_death_pull_above_obs",(0,0,-1),cos(30),"grapple_kill_pull",::grapple_death_valid_pull_obs,::grapple_death_pull,"_above_obs"); + grapple_init_death_style("grapple_death_pull_above_obs_45",(0,0,-1),cos(60),"grapple_kill_pull",::grapple_death_valid_pull_obs,::grapple_death_pull,"_above_obs_45"); + grapple_init_death_style("death_grapple_pull_back",(1,0,0),cos(46),"grapple_kill_pull",::grapple_death_valid_pull_concealed,::grapple_death_pull,"","death_grapple_back"); + grapple_init_death_style("death_grapple_pull_front",(-1,0,0),cos(46),"grapple_kill_pull",::grapple_death_valid_pull_concealed,::grapple_death_pull,"","death_grapple_front"); + grapple_init_death_style("death_grapple_pull_right",(0,1,0),cos(46),"grapple_kill_pull",::grapple_death_valid_pull_concealed,::grapple_death_pull,"","death_grapple_right"); + grapple_init_death_style("death_grapple_pull_left",(0,-1,0),cos(46),"grapple_kill_pull",::grapple_death_valid_pull_concealed,::grapple_death_pull,"","death_grapple_left"); + grapple_init_death_style("grapple_death_pull_above",(0,0,-1),cos(30),"grapple_kill_pull",::grapple_death_valid_pull,::grapple_death_pull,"_above"); + grapple_init_death_style("grapple_death_pull_above_45",(0,0,-1),cos(60),"grapple_kill_pull",::grapple_death_valid_pull,::grapple_death_pull,"_above_45"); + level.grapple_death_styles["default"] = level.grapple_death_styles["death_grapple_back"]; +} + +//Function Number: 23 +grapple_anim_length(param_00,param_01) +{ + if(isdefined(level.scr_anim[param_00]) && isdefined(level.scr_anim[param_00][param_01])) + { + return getanimlength(level.scr_anim[param_00][param_01]); + } + + return 0; +} + +//Function Number: 24 +grapple_anim_anim(param_00,param_01) +{ + if(isdefined(level.scr_anim[param_00]) && isdefined(level.scr_anim[param_00][param_01])) + { + return level.scr_anim[param_00][param_01]; + } + + return undefined; +} + +//Function Number: 25 +grapple_anim_tree(param_00) +{ + return level.scr_animtree[param_00]; +} + +//Function Number: 26 +grapple_shutdown() +{ + foreach(var_01 in level.players) + { + var_01 grapple_shutdown_player(); + } + + level.grapple = undefined; +} + +//Function Number: 27 +grapple_init_player() +{ + grapple_shutdown_player(); + self.grapple = []; + grapple_models_init_player(); + self.grapple["preview_visible"] = 0; + self.grapple["preview_good"] = 0; + grapple_setup_rope_attached(); + grapple_setup_rope_fire(); + grapple_update_preview(0,0); + self.grapple["ready_time"] = 0; + self.grapple["ready_weapon"] = 0; + self.grapple["allowed"] = 0; + self.grapple["grappling"] = 0; + self.grapple["connected"] = 0; + self.grapple["aborted"] = 0; + self.grapple["mantle"] = undefined; + self.grapple["listening"] = 0; + self.grapple["in_range_min"] = 0; + self.grapple["in_range_max"] = 0; + self.grapple["weapon"] = "s1_grapple"; + self.grapple["weapon_prev"] = undefined; + thread grapple_quick_fire_listener(); + self.grapple["dist_min"] = 100; + self.grapple["dist_max"] = 1500; + self.grapple["dist_max_2d"] = 1500; + self.grapple["dist_max_kill"] = 800; + self.grapple["speed"] = 600; + self.grapple["mantle_kills"] = 1; + self.grapple["ammoCounterHide"] = 0; + self.grapple["useReticle"] = 1; + self.grapple["exo_deactivated"] = 0; + self.grapple["no_enable_exo"] = 0; + self.grapple["no_enable_weapon"] = 0; + self.grapple["weapon_enabled"] = 1; + self.grapple["concealed"] = 0; + self.grapple["style"] = undefined; + self.grapple["hint_scale"] = 1; + self.grapple["hint"] = undefined; + self.grapple["hintText"] = undefined; + self.grapple["poll_velocity"] = (0,0,0); + self.grapple["grapple_while_falling"] = 1; + self.grapple["grappled_count"] = 0; + self.grapple["linked_hands"] = 0; + self.grapple["kill_obstructed_clear"] = 0; + self.grapple["recent_load_reset"] = 0; + self.grapple["enabled"] = 0; + self.grapple["magnet_current"] = spawnstruct(); + self.grapple["magnet_test"] = spawnstruct(); + grapple_magnet_state(self.grapple["magnet_current"]); + grapple_magnet_state(self.grapple["magnet_test"]); + thread grapple_weapon_listener(); + thread grapple_start_listener(); + thread grapple_projectile_listener(); + thread grapple_death_listener(); + self.grapple["model_hands"] dontcastshadows(); + self.grapple["model_body"] dontcastshadows(); + self.grapple["model_rope_fire"] dontcastshadows(); + self.grapple["model_rope_idle"] dontcastshadows(); + grapple_give(); +} + +//Function Number: 28 +grapple_grappling_stealth_getstance() +{ + return "crouch"; +} + +//Function Number: 29 +grapple_grappling_stealth_getinshadow() +{ + return 1; +} + +//Function Number: 30 +grapple_set_grappling(param_00) +{ + if(!isdefined(self.grapple)) + { + return; + } + + if(self.grapple["grappling"] == param_00) + { + return; + } + + if(!param_00) + { + grapple_motion_blur_disable(); + } + + if(isdefined(self._stealth)) + { + if(param_00) + { + self.grapple["stealth_orig_stance"] = self._stealth.logic.getstance_func; + self._stealth.logic.getstance_func = ::grapple_grappling_stealth_getstance; + if(isdefined(self._stealth.logic.getinshadow_func)) + { + self.grapple["stealth_orig_shadow"] = self._stealth.logic.getinshadow_func; + } + + self._stealth.logic.getinshadow_func = ::grapple_grappling_stealth_getinshadow; + } + else + { + if(isdefined(self.grapple["stealth_orig_stance"])) + { + self._stealth.logic.getstance_func = self.grapple["stealth_orig_stance"]; + } + + if(isdefined(self.grapple["stealth_orig_shadow"])) + { + self._stealth.logic.getinshadow_func = self.grapple["stealth_orig_shadow"]; + } + + self.grapple["stealth_orig_stance"] = undefined; + self.grapple["stealth_orig_shadow"] = undefined; + } + } + + self.grapple["grappling"] = param_00; +} + +//Function Number: 31 +grapple_autosave_grappling_check() +{ + if(isdefined(level.player.grapple) && level.player.grapple["grappling"]) + { + return 0; + } + + return 1; +} + +//Function Number: 32 +grapple_setup_rope_attached_player(param_00,param_01,param_02,param_03) +{ + var_04 = self.grapple["model_rope_attach_player"]; + var_04 unlink(); + var_05 = (-3,6,-2); + if(isdefined(param_02) && param_02) + { + if(self.grapple["style"] == "ceiling") + { + var_05 = (-5,0,3); + } + else + { + var_05 = (-3,0,-6.6); + } + } + + if(isplayer(param_01)) + { + var_04.origin = self.origin + (0,0,60); + var_04.angles = self getplayerangles(); + } + else + { + var_04.origin = param_01.origin; + var_04.angles = param_01.angles; + } + + if(isdefined(param_03)) + { + var_04 linkto(param_00,param_03,var_05 + (0,0,60),(0,0,0)); + } + else + { + var_04.origin = var_04.origin + rotatevector(var_05,var_04.angles); + var_04 linkto(param_00); + } + + var_04 dontinterpolate(); + var_06 = self.grapple["model_rope_idle"]; + var_06 dontinterpolate(); +} + +//Function Number: 33 +grapple_setup_rope_attached(param_00) +{ + if(!isdefined(self.grapple["rope_state"])) + { + self.grapple["rope_state"] = 0; + } + + var_01 = self.grapple["model_attach_world"]; + var_02 = self.grapple["model_rope_attach_world"]; + var_03 = self.grapple["model_rope_attach_player"]; + var_04 = self.grapple["model_rope_idle"]; + var_05 = self.grapple["model_player_move_tag"]; + var_06 = self.grapple["model_player_move_lerp"]; + var_02 unlink(); + var_02.origin = var_01.origin + rotatevector((0,0,0),var_01.angles); + var_02.angles = var_01.angles; + var_02 linkto(var_01); + var_05.origin = self.origin; + var_05.angles = self.angles; + var_06.origin = var_05.origin; + var_06.angles = var_05.angles; + var_06 dontinterpolate(); + var_06 linkto(var_05); + grapple_setup_rope_attached_player(var_06,self,param_00); + var_04 unlink(); + var_04.origin = var_02.origin; + var_04.angles = var_02.angles; + var_04 linkto(var_02); + var_04 thread grapple_rope_length_thread(var_03,self.grapple["rope_state"]); + var_04 dontinterpolate(); + var_05 dontinterpolate(); + var_02 dontinterpolate(); +} + +//Function Number: 34 +grapple_setup_rope_fire() +{ + var_00 = self.grapple["model_rope_attach_world"]; + var_01 = self.grapple["model_rope_fire"]; + var_02 = self.grapple["model_player_move_tag"]; + var_03 = self.grapple["model_player_move_lerp"]; + var_01 unlink(); + var_02.origin = self.origin; + var_02.angles = self.angles; + var_01.origin = self.origin + (0,0,60); + var_01.origin = var_01.origin + rotatevector((0,0,0),self getplayerangles()); + var_01.angles = self getplayerangles(); + var_01 linkto(var_03); + var_01 dontinterpolate(); + var_02 dontinterpolate(); +} + +//Function Number: 35 +grapple_models_init_player() +{ + foreach(var_03, var_01 in level.grapple["models"]) + { + var_02 = undefined; + if(isdefined(level.scr_model[var_01])) + { + var_02 = maps\_utility::spawn_anim_model(var_01,(0,0,0)); + } + else + { + var_02 = spawn("script_model",(0,0,0)); + if(isdefined(var_02)) + { + var_02 setmodel(var_01); + } + } + + if(isdefined(var_02)) + { + var_02 notsolid(); + var_02 setcontents(0); + var_02 hide(); + } + else + { + } + + self.grapple[var_03] = var_02; + } +} + +//Function Number: 36 +grapple_model_precache(param_00,param_01,param_02) +{ + var_03 = param_01; + if(isdefined(level.scr_model[param_01])) + { + var_03 = level.scr_model[param_01]; + } + + precachemodel(var_03); + if(!isdefined(level.grapple)) + { + level.grapple = []; + } + + if(!isdefined(level.grapple["models"])) + { + level.grapple["models"] = []; + } + + level.grapple["models"][param_00] = param_01; +} + +//Function Number: 37 +grapple_shutdown_player() +{ + self notify("grapple_shutdown_player"); + if(isdefined(self.grapple) && isdefined(self.grapple["weapon"])) + { + grapple_take(); + } + + if(isdefined(self.grapple)) + { + grapple_update_preview(0,0); + grapple_set_status(""); + foreach(var_02, var_01 in level.grapple["models"]) + { + if(isdefined(self.grapple[var_02])) + { + self.grapple[var_02] delete(); + } + } + + grapple_set_grappling(0); + self.grapple = undefined; + self.grapple_victim_landanim = undefined; + } + + self allowfire(1); +} + +//Function Number: 38 +grapple_weapon_listener() +{ + self endon("death"); + self endon("grapple_shutdown_player"); + level endon("missionfailed"); + for(;;) + { + var_00 = self getcurrentweapon(); + var_01 = var_00 == self.grapple["weapon"]; + if(!var_01 || var_01 != self.grapple["ready_weapon"]) + { + self.grapple["ready_time"] = max(gettime() + 250,self.grapple["ready_time"]); + } + + if(self.grapple["quick_fire_down"] && self.grapple["weapon_enabled"]) + { + self.grapple["ready_time"] = gettime(); + } + + self.grapple["ready_weapon"] = var_01; + if(!var_01 && var_00 != "none" && self hasweapon(self.grapple["weapon"]) && !self isreloading()) + { + if(!isdefined(self.grapple["switching_to_grapple"]) || !self.grapple["switching_to_grapple"]) + { + grapple_take_weapon(); + } + } + + if(!self.grapple["enabled"]) + { + wait(0.05); + continue; + } + + if(!var_01 && var_00 != "none") + { + setsaveddvar("cg_drawCrosshair",self.grapple["useReticle"] && !self.grapple["grappling"]); + } + + if(var_01) + { + self.grapple["switching_to_grapple"] = 0; + self allowfire(0); + } + else + { + self allowfire(1); + setsaveddvar("ammoCounterHide",self.grapple["ammoCounterHide"]); + self allowads(!self.grapple["ammoCounterHide"]); + self allowsprint(!self.grapple["ammoCounterHide"]); + } + + self.grapple["kill_obstructed_clear"] = 0; + if(self.grapple["magnet_current"].valid && isdefined(self.grapple["magnet_current"].magnet) && isai(self.grapple["magnet_current"].magnet.object)) + { + var_02 = self.origin + anglestoforward(self.angles) * 16 + (0,0,10); + var_03 = playerphysicstrace(self.origin,var_02,self); + if(distancesquared(var_03,var_02) > 0.01) + { + var_02 = self.origin + anglestoforward(self.angles) * -48 + (0,0,10); + var_03 = playerphysicstrace(self.origin,var_02,self); + if(distancesquared(var_03,var_02) < 0.01) + { + self.grapple["kill_obstructed_clear"] = 1; + } + } + } + + wait(0.05); + } +} + +//Function Number: 39 +grapple_enabled() +{ + if(!getdvarint("grapple_enabled")) + { + return 0; + } + + if(!isdefined(self.grapple)) + { + return 0; + } + + if(!self.grapple["enabled"]) + { + return 0; + } + + if(isdefined(self.tagging) && isdefined(self.tagging["tagging_mode"]) && self.tagging["tagging_mode"]) + { + return 0; + } + + if(isdefined(self.using_ammo_cache) && self.using_ammo_cache) + { + return 0; + } + + if(self ismeleeing()) + { + return 0; + } + + if(self isthrowinggrenade() || self isholdinggrenade()) + { + return 0; + } + + if(self ismantling()) + { + return 0; + } + + var_00 = weaponclass(self getcurrentweapon()); + if(var_00 == "item" || var_00 == "shield") + { + return 0; + } + + if(common_scripts\utility::flag_exist("player_has_cardoor") && common_scripts\utility::flag("player_has_cardoor")) + { + return 0; + } + + if(common_scripts\utility::flag_exist("player_pulling_cardoor") && common_scripts\utility::flag("player_pulling_cardoor")) + { + return 0; + } + + if(!self.grapple["grapple_while_falling"] && !self islinked() && !self isonground()) + { + return 0; + } + + if(isdefined(self.underwater)) + { + return 0; + } + + return 1; +} + +//Function Number: 40 +grapple_hint_hide_unusable() +{ + if(!isdefined(self.grapple)) + { + return 1; + } + + if(!isdefined(self.grapple["allowed"])) + { + return 1; + } + + if(!self.grapple["allowed"]) + { + return 1; + } + + if(!grapple_enabled()) + { + return 1; + } + + if(maps\_utility::isads()) + { + return 1; + } + + return 0; +} + +//Function Number: 41 +grapple_hint_hide_tutorial() +{ + if(grapple_hint_hide_unusable()) + { + return 1; + } + + if(!getdvarint("grapple_hint_button_always")) + { + if(self.grapple["grappled_count"] >= 2) + { + return 1; + } + } + + return 0; +} + +//Function Number: 42 +grapple_hint_hide_kill() +{ + if(grapple_hint_hide_unusable()) + { + return 1; + } + + if(!isdefined(grapple_special_hint()) && !isdefined(self.grapple["mantle"]) || !isdefined(self.grapple["mantle"]["victim"])) + { + return 1; + } + + return 0; +} + +//Function Number: 43 +grapple_hint_hide_kill_pull() +{ + if(grapple_hint_hide_unusable()) + { + return 1; + } + + if(!isdefined(self.grapple["deathstyle"]) || !isdefined(self.grapple["deathstyle"].hint)) + { + return 1; + } + + return 0; +} + +//Function Number: 44 +grapple_not_connected() +{ + if(!isdefined(self.grapple)) + { + return 1; + } + + if(!isdefined(self.grapple["connected"])) + { + return 1; + } + + if(!self.grapple["connected"]) + { + return 1; + } + + if(!grapple_enabled()) + { + return 1; + } + + return 0; +} + +//Function Number: 45 +grapple_register_hint(param_00,param_01,param_02,param_03) +{ + if(!isdefined(level.grapple_hints)) + { + level.grapple_hints = []; + } + + if(!isdefined(param_01)) + { + param_01 = param_02; + } + + if(!isdefined(param_02)) + { + param_02 = param_01; + } + + level.grapple_hints[param_00] = 1; + maps\_utility::add_hint_string(param_00 + "_gamepad",param_01,param_03); + maps\_utility::add_hint_string(param_00 + "_pc",param_02,param_03); +} + +//Function Number: 46 +grapple_set_hint(param_00) +{ + if(isdefined(self.grapple["hintText"]) && self.grapple["hintText"] == param_00) + { + return; + } + + if(param_00 == "grapple_kill_pull" && getdvarint("grapple_concealed_kill") == 2) + { + return; + } + + if(isdefined(self.grapple["hint"])) + { + self.grapple["hint"] maps\_utility::hint_delete(); + self.grapple["hint"] = undefined; + self.grapple["hintText"] = undefined; + } + + if(isdefined(param_00) && param_00 != "") + { + if(isdefined(level.grapple_hints[param_00])) + { + if(self usinggamepad()) + { + maps\_utility::display_hint(param_00 + "_gamepad"); + return; + } + + maps\_utility::display_hint(param_00 + "_pc"); + return; + } + + self.grapple["hint"] = maps\_utility::hint_create(param_00); + self.grapple["hintText"] = param_00; + if(isdefined(self.grapple["hint"])) + { + self.grapple["hint"].elm.aligny = "bottom"; + self.grapple["hint"].elm.vertalign = "bottom"; + if(isdefined(self.grapple["hint"].bg)) + { + self.grapple["hint"].bg.aligny = "bottom"; + self.grapple["hint"].bg.vertalign = "bottom"; + } + } + + return self.grapple["hint"]; + } +} + +//Function Number: 47 +grapple_text_compare(param_00,param_01) +{ + if(isdefined(param_00) && !isdefined(param_01)) + { + return 1; + } + + if(!isdefined(param_00) && isdefined(param_01)) + { + return 1; + } + + if(!isdefined(param_00) && !isdefined(param_01)) + { + return 0; + } + + if(isstring(param_00) && isstring(param_01) && param_00 == param_01) + { + return 0; + } + + if(!isstring(param_00) && !isstring(param_01) && param_00 == param_01) + { + return 0; + } + + return 1; +} + +//Function Number: 48 +grapple_status_text_show(param_00,param_01,param_02,param_03) +{ + if(!getdvarint("grapple_status_text")) + { + return; + } + + self notify("grapple_status_text_show_" + param_01); + self endon("grapple_status_text_show_" + param_01); + var_04 = gettime(); + var_05 = "status_text_" + param_01; + var_06 = var_05 + "_last"; + var_07 = var_05 + "_hint"; + var_08 = var_05 + "_dim"; + self.grapple[var_08] = 0; + var_09 = self.grapple[var_05]; + while(gettime() - var_04 <= param_00) + { + if(isdefined(var_09) && !isstring(var_09) || var_09 != "") + { + if(grapple_text_compare(var_09,self.grapple[var_06])) + { + if(isdefined(self.grapple[var_07])) + { + self.grapple[var_07] maps\_utility::hint_delete(); + } + + self.grapple[var_07] = maps\_utility::hint_create(var_09); + if(getdvarint("grapple_hint_always")) + { + self.grapple[var_07].elm.color = (1,1,1); + } + else + { + self.grapple[var_07].elm.color = (1,0,0); + } + + self.grapple[var_07].elm.y = param_03; + self.grapple[var_07].elm.x = param_02; + self.grapple[var_06] = var_09; + } + + if(isdefined(self.grapple[var_07]) && !self.grapple[var_08]) + { + if(self.grapple["allowed"] || gettime() - var_04 >= param_00 * 0.95 || !isdefined(self.grapple[var_05]) || isstring(self.grapple[var_05]) != isstring(var_09) || self.grapple[var_05] != var_09) + { + self.grapple[var_07].elm.alpha = self.grapple[var_07].elm.alpha * 0.5; + self.grapple[var_08] = 1; + } + } + + continue; + } + + if(isdefined(self.grapple[var_07])) + { + break; + } + + wait(0.05); + } + + if(isdefined(self.grapple[var_07])) + { + self.grapple[var_07] maps\_utility::hint_delete(); + self.grapple[var_07] = undefined; + self.grapple[var_06] = undefined; + self.grapple[var_08] = undefined; + } +} + +//Function Number: 49 +grapple_commit_status() +{ + self notify("grapple_commit_status"); + if(!isdefined(self.grapple)) + { + return; + } + + var_00 = self.grapple["icon_name_desired"]; + var_01 = self.grapple["icon_allowed_desired"]; + var_02 = self.grapple["icon_entity_style"]; + if(!isdefined(var_00)) + { + var_00 = ""; + } + + if(!isdefined(var_01)) + { + var_01 = 0; + } + + if(!isdefined(var_02)) + { + var_02 = ""; + } + + if(!isalive(self)) + { + var_00 = ""; + } + + if(!grapple_enabled()) + { + var_00 = ""; + } + + if(maps\_utility::isads()) + { + var_00 = ""; + } + + if(var_00 != "") + { + if(getdvarint("grapple_hint_always") == 0) + { + if(self.grapple["ready_time"] > gettime()) + { + var_00 = ""; + } + } + else if(!var_01) + { + var_00 = ""; + } + } + + var_00 = ""; + var_03 = var_00 + "_" + var_01 + "_" + var_02; + var_04 = undefined; + var_05 = self.grapple["weapon_enabled"] && self getcurrentweapon() == self.grapple["weapon"]; + if(getdvarint("grapple_hint_always") == 0) + { + grapple_commit_reticles((1,0,0),var_00 != ""); + } + else + { + grapple_commit_reticles((1,1,1),var_00 != ""); + } + + var_06 = (1,1,1); + if(getdvarint("grapple_hint_always") == 0) + { + if(var_01) + { + var_06 = (0,1,0); + } + else + { + var_06 = (1,0,0); + } + } + + if(var_02 == "kill") + { + var_06 = (1,0.5,0); + } + + if(!isdefined(self.grapple["icon_name"]) || self.grapple["icon_name"] != var_03) + { + self.grapple["icon_name"] = var_03; + if(var_00 == "") + { + if(isdefined(self.grapple["icon"])) + { + self.grapple["icon"] destroy(); + self.grapple["icon"] = undefined; + } + + return; + } + + if(isdefined(self.grapple["icon"])) + { + var_04 = self.grapple["icon"]; + } + else + { + var_04 = newhudelem(); + } + + var_04.x = 0; + var_04.sort = 999; + var_04.alignx = "center"; + var_04.aligny = "middle"; + var_04.horzalign = "center"; + var_04.vertalign = "middle"; + var_04.fontscale = 2.5; + var_04.hidewheninmenu = 1; + var_04 settext("^3[{+smoke}]^7 Grapple"); + var_04.y = 100; + if(getdvarint("grapple_hint_always") != 0) + { + var_04.alpha = 1; + } + + self.grapple["icon"] = var_04; + } + + if(isdefined(self.grapple["icon"])) + { + self.grapple["icon"].color = var_06; + } + + grapple_commit_reticles(var_06,0); +} + +//Function Number: 50 +grapple_commit_reticles(param_00,param_01) +{ + var_02 = ["grapple_reticle_indicator"]; + var_03 = [param_01]; + foreach(var_07, var_05 in var_02) + { + if(var_03[var_07] && !isdefined(self.grapple[var_05])) + { + var_06 = newhudelem(); + var_06.x = 0; + var_06.y = 0; + var_06.sort = 999; + var_06.alignx = "center"; + var_06.aligny = "middle"; + var_06.horzalign = "center"; + var_06.vertalign = "middle"; + var_06.hidewheninmenu = 1; + var_06 setshader(var_05,128,128); + self.grapple[var_05] = var_06; + } + else if(!var_03[var_07] && isdefined(self.grapple[var_05])) + { + self.grapple[var_05] destroy(); + self.grapple[var_05] = undefined; + } + + if(var_03[var_07] && isdefined(self.grapple[var_05])) + { + self.grapple[var_05].color = param_00; + } + } +} + +//Function Number: 51 +grapple_set_status(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_00)) + { + param_00 = ""; + } + + self.grapple["icon_name_desired"] = param_00; + if(!isdefined(param_02)) + { + param_02 = 0; + } + + self.grapple["icon_allowed_desired"] = param_02; + if(!isdefined(param_01)) + { + param_01 = ""; + } + + self.grapple["icon_entity_style"] = param_01; + if(!isdefined(param_03)) + { + param_03 = ""; + } + + self.grapple["status_text_reason"] = param_03; + thread grapple_commit_status(); +} + +//Function Number: 52 +grapple_update_preview(param_00,param_01) +{ + var_02 = 1.5; + if(level.ps3) + { + var_02 = 1.2; + } + else if(level.xenon) + { + var_02 = 0.8; + } + + if(!isdefined(self.grapple)) + { + return; + } + + if(param_00 && !maps\_utility::isads() && isdefined(self.grapple["model_preview_hint"])) + { + var_03 = self.grapple["grappled_count"] < 2 || getdvarint("grapple_hint_button_always"); + if(getdvarint("grapple_tutorial") && var_03 && !isdefined(self.grapple["quick_hint_text"])) + { + if(!self.grapple["magnet_current"].valid) + { + grapple_set_hint("grapple_input_tutorial"); + } + else + { + var_04 = newhudelem(); + var_04 settext("^3[{+smoke}]^7"); + var_04.alignx = "center"; + var_04.aligny = "middle"; + var_04.horzalign = "center"; + var_04.vertalign = "middle"; + var_04.positioninworld = 1; + var_04.fontscale = var_02; + var_04.alpha = 1; + var_04.vistime = gettime(); + var_04.hidewheninmenu = 1; + self.grapple["model_preview"] dontinterpolate(); + self.grapple["model_preview_hint"] dontinterpolate(); + var_04 settargetent(self.grapple["model_preview_hint"],"tag_origin"); + self.grapple["quick_hint_text"] = var_04; + } + } + + if(!getdvarint("grapple_hint_button_always") && self.grapple["grappled_count"] && getdvarint("grapple_tutorial") && isdefined(self.grapple["quick_hint_text"]) && gettime() - self.grapple["quick_hint_text"].vistime > 1000 && self.grapple["quick_hint_text"].alpha > 0) + { + self.grapple["quick_hint_text"].alpha = self.grapple["quick_hint_text"].alpha - 0.05; + } + + if(isdefined(grapple_special_hint())) + { + grapple_set_hint(grapple_special_hint()); + } + else if(isdefined(self.grapple["deathstyle"])) + { + grapple_set_hint(self.grapple["deathstyle"].hint); + } + else if(isdefined(self.grapple["mantle"]) && isdefined(self.grapple["mantle"]["victim"])) + { + grapple_set_hint("grapple_kill"); + } + + if(!isdefined(self.grapple["quick_hint_icon"])) + { + var_04 = newhudelem(); + var_04.x = 0; + var_04.y = 0; + var_04.z = 0; + var_04.alignx = "center"; + var_04.aligny = "middle"; + var_04.horzalign = "center"; + var_04.vertalign = "middle"; + var_04.positioninworld = 1; + var_04.hidewheninmenu = 1; + self.grapple["model_preview"] dontinterpolate(); + var_04 settargetent(self.grapple["model_preview_hint"],"tag_origin"); + self.grapple["quick_hint_icon"] = var_04; + } + + if(!param_01) + { + if(isdefined(self.grapple["quick_hint_mantle"])) + { + self.grapple["quick_hint_mantle"] destroy(); + } + } + + if(self.grapple["magnet_current"].valid) + { + self.grapple["quick_hint_icon"] setshader("grapple_reticle_indicator_small",32,32); + self.grapple["quick_hint_icon"].positioninworld = 1; + self.grapple["quick_hint_icon"] settargetent(self.grapple["model_preview_hint"],"tag_origin"); + } + else + { + self.grapple["quick_hint_icon"] setshader("grapple_reticle_indicator",128,128); + self.grapple["quick_hint_icon"].positioninworld = 0; + } + + if(self.grapple["magnet_current"].valid && isdefined(self.grapple["magnet_current"].magnet) && isai(self.grapple["magnet_current"].magnet.object)) + { + if(isdefined(self.grapple["quick_hint_icon"])) + { + self.grapple["quick_hint_icon"].color = (1,0.5,0); + } + + if(isdefined(self.grapple["quick_hint_text"])) + { + self.grapple["quick_hint_text"].color = (1,0.5,0); + return; + } + + return; + } + + if(isdefined(self.grapple["quick_hint_icon"])) + { + self.grapple["quick_hint_icon"].color = (1,1,1); + } + + if(isdefined(self.grapple["quick_hint_text"])) + { + self.grapple["quick_hint_text"].color = (1,1,1); + return; + } + + return; + } + + if(isdefined(self.grapple["quick_hint_text"])) + { + self.grapple["quick_hint_text"] destroy(); + } + + if(isdefined(self.grapple["quick_hint_icon"])) + { + self.grapple["quick_hint_icon"] destroy(); + } + + if(isdefined(self.grapple["quick_hint_icon"])) + { + self.grapple["quick_hint_icon"] destroy(); + } + + if(isdefined(self.grapple["quick_hint_mantle"])) + { + self.grapple["quick_hint_mantle"] destroy(); + } +} + +//Function Number: 53 +grapple_update_preview_position(param_00,param_01,param_02) +{ + var_03 = self.grapple["model_preview"]; + var_04 = self.grapple["model_preview_hint"]; + if(isdefined(var_03.linked_entity) && isdefined(param_02.land_entity) && isdefined(var_03.linked_magnet) && isdefined(param_02.land_magnet) && var_03.linked_entity == param_02.land_entity && var_03.linked_magnet == param_02.land_magnet && !isdefined(param_02.land_magnet.next)) + { + return; + } + + var_03 unlink(); + var_03.linked_entity = undefined; + var_03.linked_magnet = undefined; + var_03.origin = param_00; + var_03.angles = param_01; + if(isdefined(param_02.land_entity)) + { + if(isdefined(param_02.land_magnet) && param_02.land_magnet.tag != "") + { + var_03.origin = param_02.land_magnet.object gettagorigin(param_02.land_magnet.tag); + var_03.angles = param_02.land_magnet.object gettagangles(param_02.land_magnet.tag); + var_03.origin = var_03.origin + rotatevector(param_02.land_magnet.tag_offset,self.angles); + var_03 linkto(param_02.land_entity,param_02.land_magnet.tag); + } + else + { + var_03 linkto(param_02.land_entity); + } + + var_03.linked_entity = param_02.land_entity; + var_03.linked_magnet = param_02.land_magnet; + } + + if(self.grapple["magnet_current"].valid && !isdefined(self.grapple["magnet_current"].magnet) || self.grapple["magnet_current"].magnet.tag == "") + { + if(isdefined(self.grapple["mantle"])) + { + var_04.origin = (var_03.origin[0],var_03.origin[1],self.grapple["mantle"]["ledge"][2]); + } + else + { + var_04.origin = var_03.origin + (0,0,8); + } + + var_05 = grapple_special_indicator_offset(); + var_04.origin = var_04.origin + var_05; + var_04 linkto(var_03); + return; + } + + var_05.origin = var_04 gettagorigin("tag_origin"); + var_05 = grapple_special_indicator_offset(); + var_04.origin = var_04.origin + var_05; + var_04 linkto(var_03); +} + +//Function Number: 54 +grapple_quick_fire_listener() +{ + self notify("grapple_quick_fire_listener"); + self endon("death"); + self endon("grapple_shutdown_player"); + self endon("grapple_take"); + self endon("grapple_quick_fire_listener"); + self.grapple["quick_fire_action"] = "smoke"; + self notifyonplayercommand("quickFireDown","+" + self.grapple["quick_fire_action"]); + self notifyonplayercommand("quickFireUp","-" + self.grapple["quick_fire_action"]); + childthread grapple_quick_fire_wait_and_set("quickFireDown","quick_fire_button_down",1,0); + childthread grapple_quick_fire_wait_and_set("quickFireUp","quick_fire_button_up",1,1); + self.grapple["quick_fire_down"] = 0; + self.grapple["quick_fire_up"] = 0; + self.grapple["quick_fire_button_down"] = 0; + self.grapple["quick_fire_button_up"] = 0; + self.grapple["quick_fire_executed"] = 0; + self.grapple["quick_firing"] = 0; + var_00 = 0; + for(;;) + { + var_00 = var_00 + 1; + if(var_00 >= 2) + { + self.grapple["quick_firing"] = 0; + } + + if(self.grapple["quick_fire_button_up"]) + { + if(self.grapple["quick_fire_down"] && !self.grapple["quick_fire_up"]) + { + self.grapple["quick_fire_button_up"] = 0; + self.grapple["quick_fire_up"] = 1; + self.grapple["quick_firing"] = 1; + if(self getcurrentweapon() == self.grapple["weapon"]) + { + self.grapple["quick_fire_trace"] = undefined; + } + + while(self.grapple["allowed"] && self getcurrentweapon() != self.grapple["weapon"]) + { + wait(0.05); + } + + self enableweaponswitch(); + if(self.grapple["allowed"]) + { + grapple_start("grapple_quick"); + } + else + { + grapple_switch(0); + } + + self.grapple["quick_fire_down"] = 0; + self.grapple["quick_fire_up"] = 0; + } + else + { + self.grapple["quick_fire_button_down"] = 0; + } + } + + if(!self.grapple["quick_fire_down"] && !self.grapple["quick_fire_button_down"]) + { + self.grapple["quick_fire_button_up"] = 0; + } + + if(!self.grapple["quick_fire_down"] && self.grapple["quick_fire_button_down"]) + { + if(self getcurrentweapon() != self.grapple["weapon"] && getdvarint("grapple_hint_always") && !self.grapple["allowed"] || maps\_utility::isads()) + { + thread grapple_status_text_show(1000,"reason",0,90); + wait(0.05); + continue; + } + + if(isdefined(self.tagging) && isdefined(self.tagging["drone"])) + { + wait(0.05); + continue; + } + + self.grapple["quick_fire_button_down"] = 0; + if(self getcurrentweapon() == self.grapple["weapon"] || !self fragbuttonpressed()) + { + if(self getcurrentweapon() != self.grapple["weapon"]) + { + var_01 = self.grapple["model_player_to"]; + if(grapple_special() == "callback") + { + self.grapple["ready_time"] = gettime(); + grapple_start("grapple_quick"); + } + else + { + self.grapple["quick_fire_down"] = 1; + self.grapple["quick_firing"] = 1; + var_02 = grapple_trace_parms(); + self.grapple["quick_fire_trace"] = grappletrace(var_02["start"],var_02["end"],self); + if(isdefined(self.grapple["quick_fire_trace"]["entity"])) + { + var_03 = self.grapple["quick_fire_trace"]["entity"]; + var_04 = self.grapple["quick_fire_trace"]["position"] - var_03.origin; + var_04 = rotatevector(var_04,var_03.angles * -1); + self.grapple["quick_fire_trace"]["local_position"] = var_04; + } + + var_00 = 0; + grapple_switch(1,1); + self disableweaponswitch(); + } + } + else + { + grapple_start("grapple"); + } + } + } + + wait(0.05); + } +} + +//Function Number: 55 +grapple_quick_fire_wait_and_set(param_00,param_01,param_02,param_03) +{ + for(;;) + { + self waittill(param_00); + if(self.grapple["listening"]) + { + self.grapple[param_01] = param_02; + } + else + { + self.grapple[param_01] = param_03; + } + + wait(0.05); + } +} + +//Function Number: 56 +grapple_enabled_listener_flag() +{ + self notify("grapple_enabled_listener_flag"); + self endon("grapple_enabled_listener_flag"); + self.grapple["listening"] = 1; + common_scripts\utility::waittill_any("death","grapple_started","grapple_shutdown_player"); + if(isdefined(self) && isdefined(self.grapple)) + { + self.grapple["listening"] = 0; + } +} + +//Function Number: 57 +grapple_enabled_listener() +{ + self notify("grapple_enabled_listener"); + self endon("grapple_enabled_listener"); + self endon("death"); + self endon("grapple_started"); + self endon("grapple_shutdown_player"); + thread grapple_enabled_listener_flag(); + var_00 = self.grapple["model_player_to"]; + for(;;) + { + var_01 = "grapple_invalid"; + var_02 = ""; + var_03 = &"GRAPPLE_NO_FOOTING"; + var_04 = self.grapple["ready_time"] <= gettime(); + var_05 = grapple_enabled(); + if(self.grapple["quick_firing"] || self.grapple["grappling"]) + { + if(!var_05) + { + grapple_update_preview(0,0); + grapple_set_status(var_01,var_02,0,var_03); + } + + wait(0.05); + continue; + } + + self.grapple["allowed"] = 0; + self.grapple["in_range_min"] = 0; + self.grapple["in_range_max"] = 0; + self.grapple["mantle"] = undefined; + if(!var_05) + { + grapple_update_preview(0,0); + grapple_set_status(var_01,var_02,self.grapple["allowed"],var_03); + wait(0.05); + continue; + } + + grapple_magnet_update(); + var_06 = undefined; + if(self.grapple["magnet_current"].valid && isdefined(self.grapple["magnet_current"].tracevalidation)) + { + var_06 = self.grapple["magnet_current"].tracevalidation; + } + else if(getdvarint("grapple_magnet_required") && self.grapple["magnet_current"].possible) + { + var_03 = self.grapple["magnet_current"].tracevalidation["reason"]; + } + else if(!getdvarint("grapple_magnet_required")) + { + var_07 = grapple_trace_parms(); + var_08 = grappletrace(var_07["start"],var_07["end"],self,0); + var_06 = grapple_trace_validate(var_08,var_07["dist"],var_07["forward"],var_07["angles"]); + } + + var_06 = grapple_trace_validate_mantle(var_06,self.grapple["magnet_current"]); + if(isdefined(var_06) && !isdefined(self.grapple["magnet_current"].magnet) && getdvarint("grapple_mantle_required") && !isdefined(var_06["mantle"])) + { + var_06 = undefined; + } + + if(!isdefined(var_06)) + { + grapple_update_preview(0,0); + grapple_set_status(var_01,var_02,self.grapple["allowed"],var_03); + wait(0.05); + continue; + } + + var_00.land_entity = undefined; + var_00.land_tag = undefined; + var_00 unlink(); + self.grapple["allowed"] = var_06["allowed"]; + self.grapple["style"] = var_06["style"]; + self.grapple["in_range_max"] = var_06["in_range_max"]; + self.grapple["in_range_min"] = var_06["in_range_min"]; + self.grapple["mantle"] = var_06["mantle"]; + self.grapple["surface_trace"] = var_06["surface_trace"]; + self.grapple["deathstyle"] = var_06["deathstyle"]; + var_00.land_entity = var_06["land_entity"]; + var_00.land_magnet = var_06["land_magnet"]; + var_00.origin = var_06["tag_origin"]; + var_00.angles = var_06["tag_angles"]; + var_00.style = var_06["style"]; + var_03 = var_06["reason"]; + var_09 = var_06["valid_surface"]; + var_0A = self.grapple["dist_min"]; + if(isdefined(var_06["dist_min"])) + { + var_0A = var_06["dist_min"]; + } + + if(isdefined(var_00.land_entity)) + { + if(isdefined(var_00.land_magnet) && var_00.land_magnet.tag != "") + { + var_00 linkto(var_00.land_entity,var_00.land_magnet.tag); + } + else + { + var_00 linkto(var_00.land_entity); + } + } + + var_00 dontinterpolate(); + var_0B = self.grapple["model_preview"]; + var_0C = var_06["surface_trace"]["normal"]; + var_0D = vectordot(var_0C,(0,0,1)); + if(abs(var_0D) > 0.99999) + { + var_0E = vectorcross(anglestoforward(self getplayerangles()),var_0C); + } + else + { + var_0E = vectorcross((0,0,1),var_0C); + } + + var_0F = vectorcross(var_0C,var_0E); + grapple_update_preview_position(var_06["surface_trace"]["position"],axistoangles(var_0F,var_0E,var_0C),var_00); + var_10 = 0; + if(var_09 && distancesquared(var_00.origin,self.origin) > var_0A * var_0A) + { + var_10 = 1; + } + + if(!var_09 && self.grapple["in_range_max"] && self.grapple["in_range_min"]) + { + var_03 = &"GRAPPLE_INVALID_SURFACE"; + self.grapple["allowed"] = 0; + } + else if(!self.grapple["in_range_max"]) + { + var_03 = &"GRAPPLE_TOO_FAR"; + self.grapple["allowed"] = 0; + } + else if(!self.grapple["in_range_min"]) + { + var_03 = &"GRAPPLE_TOO_CLOSE"; + self.grapple["allowed"] = 0; + } + + if(self.grapple["allowed"]) + { + var_01 = "grapple_valid"; + var_02 = ""; + var_03 = ""; + } + + var_02 = grapple_entity_style(self.grapple["surface_trace"]["entity"],var_06["land_magnet"]); + if(isdefined(var_02)) + { + var_01 = "grapple_valid"; + self.grapple["allowed"] = self.grapple["in_range_max"]; + } + else if(self getstance() == "prone") + { + var_01 = "grapple_invalid"; + var_03 = &"GRAPPLE_NO_FOOTING"; + self.grapple["allowed"] = 0; + } + + grapple_update_preview(self.grapple["allowed"],isdefined(self.grapple["mantle"])); + grapple_set_status(var_01,var_02,self.grapple["allowed"],var_03); + wait(0.05); + } +} + +//Function Number: 58 +grapple_trace_validate(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = []; + var_05["allowed"] = 0; + var_05["in_range_min"] = 0; + var_05["in_range_max"] = 0; + var_05["mantle"] = undefined; + var_05["surface_trace"] = param_00; + var_05["valid_surface"] = grapple_check_surface_type(param_00,param_04); + var_05["deathstyle"] = undefined; + var_06 = self geteye(); + var_07 = distancesquared((param_00["position"][0],param_00["position"][1],0),(var_06[0],var_06[1],0)); + var_08 = param_00["fraction"] * param_01; + var_09 = param_00["normal"]; + var_0A = undefined; + if(isdefined(param_04)) + { + var_0A = param_04.magnet; + } + + if(isdefined(var_0A) && isdefined(var_0A.specialstruct) && isdefined(var_0A.specialstruct.forcestyle)) + { + var_05["style"] = var_0A.specialstruct.forcestyle; + } + else + { + var_05["style"] = grapple_get_style(param_00["position"],var_09); + } + + var_0B = param_00["normal"] * -1; + var_0C = ""; + var_0D = param_00["position"]; + if(isdefined(var_0A) && isdefined(var_0A.object) && var_0A.tag != "") + { + var_0C = var_0A.tag; + var_0D = var_0A.object gettagorigin(var_0C); + var_0D = var_0D + rotatevector(var_0A.tag_offset,var_0A.object gettagangles(var_0C)); + } + + if(var_05["style"] == "ceiling") + { + var_05["tag_origin"] = var_0D + (0,0,-75); + var_05["tag_angles"] = param_03; + } + else if(var_05["style"] == "floor") + { + var_05["tag_origin"] = var_0D; + var_05["tag_angles"] = param_03; + } + else + { + var_05["tag_origin"] = var_0D + (0,0,-30); + var_05["tag_angles"] = vectortoangles(var_0B); + } + + var_05["reason"] = &"GRAPPLE_TOO_FAR"; + var_0E = self.grapple["dist_max"]; + var_0F = self.grapple["dist_max_2d"]; + var_10 = self.grapple["dist_min"]; + if(isdefined(var_0A) && isdefined(var_0A.specialstruct)) + { + if(isdefined(var_0A.specialstruct.distmin)) + { + var_10 = var_0A.specialstruct.distmin; + var_05["dist_min"] = var_10; + } + + if(isdefined(var_0A.specialstruct.distmax)) + { + var_0E = var_0A.specialstruct.distmax; + var_05["dist_max"] = var_0E; + } + } + + if(var_08 <= var_0E && var_07 <= var_0F * var_0F && param_00["fraction"] < 1) + { + var_05["in_range_max"] = 1; + var_05["reason"] = &"GRAPPLE_TOO_CLOSE"; + if(var_08 >= var_10) + { + var_05["in_range_min"] = 1; + var_11 = vectordot(var_09,param_02 * -1); + if(var_05["style"] == "wall") + { + var_12 = vectornormalize((param_02[0],param_02[1],min(0,param_02[2]))); + var_11 = vectordot(var_09,var_12 * -1); + } + + var_13 = getdvarfloat("grapple_surface_dot_limit"); + var_05["reason"] = &"GRAPPLE_TOO_SHARP"; + if(var_11 >= var_13 || var_05["style"] == "floor") + { + if(var_0C == "") + { + var_14 = playerphysicstraceinfo(var_05["tag_origin"] + var_09 * 50,var_0D + var_09 * -50,self); + var_05["tag_origin"] = var_14["position"] + var_09; + var_05["tag_angles"] = (0,var_05["tag_angles"][1],0); + } + + var_15 = playerphysicstraceinfo(var_05["tag_origin"],var_05["tag_origin"] + var_09 * 0.1,self); + var_05["reason"] = &"GRAPPLE_NO_SPACE"; + if(var_0C != "") + { + var_05["allowed"] = 1; + } + else if(var_05["valid_surface"] && isdefined(var_15["fraction"]) && var_15["fraction"] == 1 && grapple_abort_trace_passed(var_05["tag_origin"])) + { + var_05["allowed"] = 1; + } + + var_05["land_entity"] = param_00["entity"]; + var_05["land_magnet"] = undefined; + if(isdefined(var_0A) && isdefined(var_0A.object)) + { + var_05["land_magnet"] = var_0A; + if(!var_0A.static) + { + var_05["land_entity"] = var_0A.object; + } + + if(var_0C != "" && isdefined(var_0A.afterlandanim) && isdefined(var_05["land_entity"])) + { + var_16 = self.grapple["model_body"]; + var_16 unlink(); + var_16 linkto(var_05["land_entity"],var_0C,(0,0,0),(0,0,0)); + var_16 dontinterpolate(); + var_16 setanimknobrestart(var_0A.afterlandanim,1,0,0); + var_05["tag_origin"] = var_16 gettagorigin("tag_player"); + var_05["tag_angles"] = var_16 gettagangles("tag_player"); + } + } + + if(var_05["allowed"] && !isdefined(var_05["mantle"])) + { + var_05["reason"] = &"GRAPPLE_NO_FOOTING"; + var_05["allowed"] = grapple_check_footing(var_05); + } + } + } + } + + var_17 = grapple_entity_style(param_00["entity"],var_0A); + if(isdefined(var_17)) + { + var_05["allowed"] = var_05["in_range_max"]; + var_05["deathstyle"] = grapple_death_style(param_00["entity"]); + } + + return var_05; +} + +//Function Number: 59 +grapple_trace_validate_mantle(param_00,param_01) +{ + if(!isdefined(param_00)) + { + return undefined; + } + + var_02 = undefined; + var_03 = ""; + if(isdefined(param_01) && param_01.valid) + { + var_02 = param_01.magnet; + } + + if(isdefined(var_02) && isdefined(var_02.object) && var_02.tag != "") + { + var_03 = var_02.tag; + } + + if(param_00["style"] == "wall" && var_03 == "") + { + var_04 = self canmantleex(param_00["tag_origin"],param_00["tag_angles"],0,getdvarint("grapple_mantle_reach"),1); + if(isdefined(var_04["valid"]) && var_04["valid"]) + { + var_04["victim"] = grapple_mantle_find_victim(var_04); + var_05 = self.grapple["model_player_to"]; + var_04["position_local"] = rotatevectorinverted(var_04["position"] - var_05.origin,var_05.angles); + var_04["ledge_local"] = rotatevectorinverted(var_04["ledge"] - var_05.origin,var_05.angles); + param_00["mantle"] = var_04; + if(isdefined(var_04["over"]) && var_04["over"]) + { + param_00["tag_origin"] = (param_00["tag_origin"][0],param_00["tag_origin"][1],var_04["ledge"][2] + -32); + } + else + { + param_00["tag_origin"] = (param_00["tag_origin"][0],param_00["tag_origin"][1],var_04["ledge"][2] + -64); + } + } + } + + return param_00; +} + +//Function Number: 60 +grapple_mantle_find_victim(param_00) +{ + var_01 = getdvarfloat("grapple_mantle_kill_radius"); + var_01 = var_01 * var_01; + if(self.grapple["mantle_kills"]) + { + var_02 = param_00["position"]; + var_03 = getaiarray("axis"); + foreach(var_05 in var_03) + { + if(!var_05 grapple_ai_alive()) + { + continue; + } + + if(distancesquared(var_05.origin,var_02) > var_01) + { + continue; + } + + if(issubstr(var_05.classname,"mech")) + { + continue; + } + + return var_05; + } + } + + return undefined; +} + +//Function Number: 61 +grapple_mantle_victim(param_00,param_01) +{ + self notify("grapple_mantle_victim"); + self endon("grapple_mantle_victim"); + if(!isdefined(self.animname)) + { + self.animname = "generic"; + } + + childthread grapple_mantle_victim_ignore_thread(param_01); + self endon("death"); + var_02 = ""; + if(param_01.grapple["mantle"]["over"]) + { + var_03 = "land_mantle_kill_over"; + } + else + { + var_03 = "land_mantle_kill_up"; + } + + if(common_scripts\utility::cointoss()) + { + var_02 = "_2"; + } + + var_03 = var_03 + var_02; + if(isdefined(self.grapple_death_rig)) + { + self.grapple_death_rig delete(); + } + + self.grapple_death_rig = common_scripts\utility::spawn_tag_origin(); + self.grapple_death_rig thread grapple_mantle_victim_rig_cleanup(self); + self.grapple_death_rig.origin = param_01.grapple["mantle"]["position"]; + self.grapple_death_rig.angles = param_01.grapple["model_player_to"].angles; + self.grapple_death_rig dontinterpolate(); + param_01.grapple_victim_landanim = var_03; + self.grapple_death_rig thread maps\_anim::anim_reach_solo(self,var_03); + self waittill("grapple_landing_anim"); + animscripts\shared::dropallaiweapons(); + if(var_03 == "land_mantle_kill_up") + { + soundscripts\_snd_playsound::snd_play_2d("grapple_mantle_kill_throw"); + thread aud_fall_scream(); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("grapple_mantle_kill_kick"); + } + + self.grapple_death_rig maps\_anim::anim_single_solo(self,var_03); +} + +//Function Number: 62 +aud_fall_scream() +{ + wait(2); + soundscripts\_snd_playsound::snd_play_2d("grapple_kill_falling_scream"); +} + +//Function Number: 63 +grapple_mantle_victim_rig_cleanup(param_00) +{ + self notify("grapple_mantle_victim_rig_cleanup"); + self endon("grapple_mantle_victim_rig_cleanup"); + param_00 waittill("death"); + if(isdefined(self)) + { + self delete(); + } +} + +//Function Number: 64 +grapple_mantle_victim_ignore_thread(param_00) +{ + grapple_ai_prep_for_kill(0); + param_00 waittill("grapple_abort"); + if(isdefined(self)) + { + maps\_utility::ai_unignore_everything(); + self notify("grapple_mantle_victim"); + } +} + +//Function Number: 65 +grapple_trace_parms() +{ + var_00 = []; + var_00["dist"] = self.grapple["dist_max"]; + var_00["angles"] = self getplayerangles(); + var_00["start"] = self geteye(); + if(self.grapple["magnet_current"].valid) + { + var_01 = self.grapple["magnet_current"].origin; + var_00["angles"] = vectortoangles(var_01 - self geteye()); + } + else if(self.grapple["quick_fire_up"] && isdefined(self.grapple["quick_fire_trace"]) && self.grapple["quick_fire_trace"]["fraction"] < 1) + { + var_01 = self.grapple["quick_fire_trace"]["position"]; + if(isdefined(self.grapple["quick_fire_trace"]["entity"])) + { + var_02 = self.grapple["quick_fire_trace"]["entity"]; + var_01 = self.grapple["quick_fire_trace"]["local_position"]; + var_01 = rotatevector(var_01,var_02.angles); + var_01 = var_02.origin + var_01; + } + + var_00["angles"] = vectortoangles(var_01 - self geteye()); + } + + var_00["forward"] = anglestoforward(var_00["angles"]); + var_00["right"] = vectorcross(var_00["forward"],(0,0,1)); + var_00["end"] = var_00["start"] + var_00["forward"] * var_00["dist"]; + return var_00; +} + +//Function Number: 66 +grapple_magnets_dynamic(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = 0; + var_06 = self.grapple["magnet_test"]; + var_07 = []; + foreach(var_09 in level.grapple_magnets) + { + if(!isdefined(var_09)) + { + var_05 = 1; + continue; + } + + if(!isdefined(var_09.object)) + { + var_05 = 1; + continue; + } + + var_0A = grapple_magnet_origin(var_09); + if(!grapple_valid_magnet_angle(var_06,var_09,var_0A,param_00)) + { + continue; + } + + if(isdefined(var_09.next)) + { + if(!getdvarint("grapple_magnet_lines")) + { + continue; + } + + var_0B = grapple_magnet_origin(var_09.next); + var_0C = (param_00[0],param_00[1],var_0A[2]); + var_0D = param_00 + param_01 * param_02; + var_0D = (var_0D[0],var_0D[1],var_0A[2]); + var_0E = 0; + var_0F = distance(var_0A,var_0B); + if(var_0F > 0) + { + var_0E = min(0.5,16 / var_0F); + } + + var_10 = closestpointstwosegs(var_0A,var_0B,var_0C,var_0D); + var_0A = vectorlerp(var_0A,var_0B,clamp(var_10[0],var_0E,1 - var_0E)); + } + + var_11 = param_03; + var_12 = 0; + if(var_09.is_ai) + { + var_13 = ""; + if(isdefined(var_09.specialstruct) && isdefined(var_09.specialstruct.type)) + { + var_13 = var_09.specialstruct.type; + } + + if(!issubstr(var_13,"callback") && !isdefined(grapple_death_style(var_09.object))) + { + var_11 = 2; + } + else if(self islookingat(var_09.object)) + { + var_12 = 1; + } + else + { + var_14 = 300; + var_15 = clamp(distance(var_0A,param_00),0,var_14); + var_16 = var_15 / var_14; + if(isdefined(self.grapple["magnet_current"].magnet) && self.grapple["magnet_current"].magnet == var_09) + { + var_16 = 0; + } + + var_11 = param_03 + param_04 - param_03 * var_16; + } + } + + var_17 = grapple_magnet_state(var_06,var_0A,param_00,param_01,param_02,var_11); + if(var_17 || var_12 && var_06.dot >= 0) + { + if(var_12) + { + var_06.dot = 1; + var_06.possible = 1; + } + + var_09.grapple_origin = var_0A; + var_07[var_07.size] = var_09; + } + } + + if(var_05) + { + var_19 = []; + foreach(var_09 in level.grapple_magnets) + { + if(isdefined(var_09) && isdefined(var_09.object)) + { + var_19[var_19.size] = var_09; + } + } + + level.grapple_magnets = var_19; + } + + return var_07; +} + +//Function Number: 67 +grapple_validate_magnets(param_00) +{ + foreach(var_02 in level.players) + { + var_02 grapple_magnet_validate_current(param_00); + } +} + +//Function Number: 68 +grapple_magnet_validate_current(param_00) +{ + var_01 = self.grapple["magnet_current"]; + if(isdefined(var_01)) + { + var_02 = 0; + if(isdefined(var_01.magnet) && !isdefined(var_01.magnet.object)) + { + var_02 = 1; + } + + if(isdefined(param_00) && isdefined(var_01.magnet) && param_00 == var_01.magnet) + { + var_02 = 1; + } + + if(var_02) + { + if(var_01.valid) + { + grapple_update_preview(0,0); + } + + var_01.magnet = undefined; + var_01.origin = undefined; + var_01.valid = 0; + return; + } + + if(!isdefined(param_00)) + { + var_03 = self geteye(); + var_04 = anglestoforward(self getplayerangles()); + var_05 = self.grapple["dist_max"]; + var_06 = getdvarfloat("grapple_magnet_fov"); + var_07 = cos(var_06 * 0.5); + if(isdefined(var_01.magnet)) + { + var_01.origin = grapple_magnet_origin(var_01.magnet); + } + + grapple_magnet_state(var_01,var_01.origin,var_03,var_04,var_05,var_07); + if(var_01.possible) + { + grapple_magnet_trace_validate(var_01,var_01.origin,var_03,var_04); + return; + } + } + } +} + +//Function Number: 69 +grapple_magnet_update() +{ + self.grapple["ai_targeted"] = undefined; + if(self.grapple["magnet_current"].valid && isdefined(self.grapple["magnet_current"].magnet) && isai(self.grapple["magnet_current"].magnet.object)) + { + self.grapple["ai_targeted"] = self.grapple["magnet_current"].magnet.object; + } + + self.grapple["magnet_current"].valid = 0; + if(!getdvarint("grapple_magnet_enabled")) + { + return; + } + + var_00 = self geteye(); + var_01 = anglestoforward(self getplayerangles()); + var_02 = self.grapple["dist_max"]; + var_03 = getdvarfloat("grapple_magnet_fov"); + var_04 = cos(var_03 * 0.5); + var_05 = getdvarfloat("grapple_magnet_fov_ai"); + var_06 = cos(var_05 * 0.5); + var_07 = undefined; + var_08 = grapple_magnets_dynamic(var_00,var_01,var_02,var_04,var_06); + foreach(var_0A in var_08) + { + var_07 = grapple_magnet_evaluate(var_0A,var_0A.grapple_origin,var_00,var_01,var_07); + } + + var_0C = grapplegetmagnets(var_00,var_01,var_02,var_03); + foreach(var_0E in var_0C) + { + var_07 = grapple_magnet_evaluate(undefined,var_0E,var_00,var_01,var_07); + } +} + +//Function Number: 70 +grapple_magnet_evaluate(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = self.grapple["magnet_current"]; + var_06 = self.grapple["magnet_test"]; + var_06.magnet = param_00; + grapple_magnet_state_basics(var_06,param_01,param_02,param_03); + var_07 = !var_05.valid; + var_08 = var_05.dot; + var_09 = var_06.dot; + if(!var_07 && isdefined(var_06.magnet) && isai(var_06.magnet.object) && self islookingat(var_06.magnet.object)) + { + var_07 = 1; + param_04 = var_06.magnet.object; + } + + if(isdefined(self.grapple["ai_targeted"]) && self.grapple["ai_targeted"] grapple_ai_alive()) + { + if(isdefined(var_06.magnet) && isai(var_06.magnet.object) && var_06.magnet.object == self.grapple["ai_targeted"]) + { + var_09 = clamp(var_09 + getdvarfloat("grapple_ai_priority"),0,max(var_09,0.9999)); + } + else if(!isdefined(var_06.magnet) || !isai(var_06.magnet.object)) + { + var_09 = var_09 - getdvarfloat("grapple_ai_priority"); + } + } + + if(!grapple_magnet_validate_ground(param_00)) + { + var_09 = -1; + var_07 = 0; + } + + if(!var_07 && var_09 > var_08 && !isdefined(param_04) || isdefined(var_06.magnet) && isdefined(var_06.magnet.object) && var_06.magnet.object == param_04) + { + var_07 = 1; + } + + if(var_07) + { + if(grapple_magnet_trace_validate(var_06,param_01,param_02,param_03) || !self.grapple["magnet_current"].valid) + { + self.grapple["surface_trace"] = var_06.tracevalidation["surface_trace"]; + var_0A = var_05; + self.grapple["magnet_current"] = var_06; + self.grapple["magnet_test"] = var_0A; + } + } + + return param_04; +} + +//Function Number: 71 +grapple_magnet_origin(param_00) +{ + if(isdefined(param_00.static_origin)) + { + return param_00.static_origin; + } + + var_01 = param_00.object.origin; + if(param_00.tag != "") + { + var_01 = param_00.object gettagorigin(param_00.tag); + } + + if(isdefined(param_00.tag_offset) && lengthsquared(param_00.tag_offset) > 0) + { + if(param_00.tag != "") + { + var_02 = rotatevector(param_00.tag_offset,param_00.object gettagangles(param_00.tag)); + } + else if(isdefined(var_01.object.angles)) + { + var_02 = rotatevector(var_01.tag_offset,var_01.object.angles); + } + else + { + var_02 = var_01.tag_offset; + } + + var_01 = var_01 + var_02; + } + + return var_01; +} + +//Function Number: 72 +grapple_magnet_state_basics(param_00,param_01,param_02,param_03) +{ + param_00.origin = param_01; + if(isdefined(param_00.origin)) + { + var_04 = param_00.origin - param_02; + param_00.dot = vectordot(vectornormalize(var_04),param_03); + if(isdefined(level.grapple_void_points) && level.grapple_void_points.size > 0) + { + var_05 = gettime(); + var_06 = 0; + foreach(var_08 in level.grapple_void_points) + { + if(var_08.endtime > var_05) + { + var_06 = 1; + if(distancesquared(param_00.origin,var_08.origin) <= var_08.radiussq) + { + param_00.dot = -1; + break; + } + } + } + + if(!var_06) + { + level.grapple_void_points = []; + return; + } + + return; + } + + return; + } + + var_05.dot = -1; +} + +//Function Number: 73 +grapple_magnet_state(param_00,param_01,param_02,param_03,param_04,param_05) +{ + grapple_magnet_state_basics(param_00,param_01,param_02,param_03); + param_00.valid = 0; + param_00.possible = 0; + param_00.tracevalidation = []; + param_00.tracevalidation["reason"] = ""; + if(!grapple_valid_magnet_angle(param_00,param_00.magnet,param_00.origin,param_02)) + { + return param_00.possible; + } + + if(isdefined(param_00.origin)) + { + var_06 = param_00.origin - param_02; + if(lengthsquared(var_06) <= param_04 * param_04) + { + if(param_00.dot >= param_05) + { + param_00.possible = 1; + } + } + } + + if(!param_00.possible) + { + param_00.dot = -1; + } + + return param_00.possible; +} + +//Function Number: 74 +grapple_valid_magnet_angle(param_00,param_01,param_02,param_03) +{ + param_00.anglevalid = 1; + if(!isdefined(param_01)) + { + return 1; + } + + if(isdefined(param_01.specialstruct) && isdefined(param_01.tag) && isdefined(param_01.specialstruct.dotlimitmin) || isdefined(param_01.specialstruct.dotlimitmax)) + { + if(!isdefined(param_02) || !isdefined(param_01.object)) + { + return 0; + } + + var_04 = (1,0,0); + if(isdefined(param_01.specialstruct.dotlimittagfwd)) + { + var_04 = param_01.specialstruct.dotlimittagfwd; + } + + var_05 = rotatevector(var_04,param_01.object gettagangles(param_01.tag)); + var_06 = vectornormalize(param_02 - param_03); + var_07 = vectordot(var_06,var_05); + if(isdefined(param_01.specialstruct.dotlimitmin) && var_07 < param_01.specialstruct.dotlimitmin) + { + param_00.anglevalid = 0; + return 0; + } + + if(isdefined(param_01.specialstruct.dotlimitmax) && var_07 > param_01.specialstruct.dotlimitmax) + { + param_00.anglevalid = 0; + return 0; + } + } + + return 1; +} + +//Function Number: 75 +grapple_magnet_trace_validate(param_00,param_01,param_02,param_03) +{ + param_00.valid = 0; + var_04 = 2; + var_05 = var_04 * 2 * var_04 * 2; + var_06 = param_02; + var_07 = param_01; + var_08 = vectornormalize(var_07 - var_06); + var_07 = var_07 + var_08 * var_04; + if(isdefined(param_00.magnet) && isai(param_00.magnet.object)) + { + if(!isdefined(grapple_entity_style(param_00.magnet.object,param_00.magnet))) + { + param_00.valid = 0; + return param_00.valid; + } + } + + if(isdefined(param_00.magnet) && isdefined(param_00.magnet.specialstruct) && isdefined(param_00.magnet.specialstruct.ignorecollision) && param_00.magnet.specialstruct.ignorecollision) + { + var_09 = []; + var_09["fraction"] = 0.99999; + var_09["position"] = param_01; + var_09["normal"] = var_08 * -1; + var_09["entity"] = param_00.magnet.object; + var_09["valid"] = 1; + } + else + { + var_0A = 0; + if(isdefined(param_00.magnet) && isdefined(param_00.magnet.object) && param_00.magnet.tag != "") + { + var_0A = 1; + } + + var_09 = grappletrace(var_06,var_07,self,0,var_0A); + } + + if(var_09["fraction"] < 1) + { + if(isdefined(var_09["entity"]) && isdefined(var_09["entity"].grapple_magnets)) + { + if(isdefined(param_00.magnet) && isdefined(param_00.magnet.object) && param_00.magnet.object != var_09["entity"]) + { + return param_00.valid; + } + } + + if(isai(var_09["entity"]) || distancesquared(var_09["position"],var_07) <= var_05) + { + param_00.tracevalidation = grapple_trace_validate(var_09,distance(var_06,var_07),var_08,vectortoangles(var_08),param_00); + param_00.valid = param_00.tracevalidation["allowed"]; + if(param_00.valid) + { + param_00.tracevalidation["surface_trace"]["valid"] = 1; + } + } + else + { + } + } + else + { + } + + return param_00.valid; +} + +//Function Number: 76 +grapple_check_footing(param_00) +{ + var_01 = param_00["surface_trace"]["entity"]; + if(isdefined(var_01) && isdefined(var_01.grapple_magnets) && var_01.grapple_magnets.size > 0 && !isdefined(param_00["land_magnet"])) + { + return 0; + } + + return 1; +} + +//Function Number: 77 +grapple_check_surface_type(param_00,param_01) +{ + if(param_00["fraction"] >= 1) + { + return 0; + } + + if(!isdefined(param_00["valid"]) || param_00["valid"] == 0) + { + return 0; + } + + if(isdefined(param_00["entity"]) && isai(param_00["entity"])) + { + if(isdefined(param_01) && isdefined(param_01.magnet) && isdefined(param_01.magnet.specialstruct) && issubstr(param_01.magnet.specialstruct.type,"callback")) + { + return 1; + } + + if(isdefined(param_01) && isdefined(param_01.magnet) && isai(param_01.magnet.object) && param_01.magnet.object == param_00["entity"]) + { + return 1; + } + + return 0; + } + + if(isdefined(param_00["entity"]) && common_scripts\utility::string_find(param_00["entity"].classname,"drone") != -1) + { + return 0; + } + + return 1; +} + +//Function Number: 78 +grapple_break_glass() +{ + var_00 = grapple_trace_parms(); + grappletrace(var_00["start"],var_00["end"],self,1); +} + +//Function Number: 79 +grapple_death_listener() +{ + self notify("grapple_death_listener"); + self endon("grapple_death_listener"); + self endon("grapple_shutdown_player"); + self waittill("death"); + if(isdefined(self.grapple)) + { + if(isdefined(self.grapple["model_hands"])) + { + self.grapple["model_hands"] hide(); + } + + if(isdefined(self.grapple["model_body"])) + { + self.grapple["model_body"] hide(); + } + } +} + +//Function Number: 80 +grapple_projectile_listener() +{ + self endon("grapple_shutdown_player"); + for(;;) + { + self waittill("missile_fire",var_00); + if(self getcurrentweapon() == self.grapple["weapon"]) + { + var_00 delete(); + } + } +} + +//Function Number: 81 +grapple_start_listener() +{ + self endon("grapple_shutdown_player"); + for(;;) + { + var_00 = common_scripts\utility::waittill_any_return("grapple_quick"); + if(!isdefined(var_00)) + { + continue; + } + + grapple_start(var_00); + } +} + +//Function Number: 82 +grapple_notify_magnet() +{ + var_00 = self.grapple["model_player_to"]; + if(isdefined(var_00.land_magnet)) + { + if(isdefined(var_00.land_magnet.notifyname) && var_00.land_magnet.notifyname != "") + { + var_01 = var_00.land_magnet.object; + if(isdefined(var_00.land_entity)) + { + var_00.land_entity notify(var_00.land_magnet.notifyname,self); + } + + self notify(var_00.land_magnet.notifyname,var_00.land_entity,var_01); + } + } +} + +//Function Number: 83 +grapple_start(param_00) +{ + self.grapple["landing_view_anim"] = undefined; + self.grapple["no_enable_weapon"] = 0; + self.grapple["no_disable_invulnerability"] = 0; + self.grapple["start_stance"] = self getstance(); + var_01 = self.grapple["model_player_to"]; + if(!grapple_enabled() || self.grapple["ready_time"] > gettime() || !isdefined(self.grapple["surface_trace"]) || !grapple_magnet_validate_ground(var_01.land_magnet)) + { + if(param_00 == "grapple_quick") + { + grapple_quick_fire_switch_back(0); + } + + return; + } + + self notify("grapple_started",var_01.land_magnet); + if(grapple_special() == "callback") + { + [[ var_01.land_magnet.specialstruct.callback ]](self,var_01.land_entity,var_01.land_magnet); + thread grapple_enabled_listener(); + return; + } + + self.grapple["grappled_count"]++; + var_02 = grapple_entity_style(self.grapple["surface_trace"]["entity"],self.grapple["magnet_current"].magnet); + if(!isdefined(var_02) && isai(self.grapple["surface_trace"]["entity"])) + { + self.grapple["allowed"] = 0; + } + + if(self.grapple["allowed"]) + { + thread grapple_break_glass(); + } + + self enableinvulnerability(); + if(self.grapple["allowed"] && isdefined(var_02)) + { + if(param_00 == "grapple_quick") + { + self.grapple["quick_fire_executed"] = 1; + } + + grapple_entity(self.grapple["surface_trace"]["entity"]); + if(param_00 == "grapple_quick") + { + grapple_quick_fire_switch_back(0); + } + + if(!self.grapple["no_disable_invulnerability"]) + { + self disableinvulnerability(); + } + + return; + } + else if(!self.grapple["allowed"]) + { + thread grapple_status_text_show(1000,"reason",0,90); + if(param_00 == "grapple_quick") + { + grapple_quick_fire_switch_back(0); + } + + thread grapple_enabled_listener(); + if(!self.grapple["no_disable_invulnerability"]) + { + self disableinvulnerability(); + } + + return; + } + + if(param_00 == "grapple_quick") + { + self.grapple["quick_fire_executed"] = 1; + } + + grapple_set_hint(""); + grapple_set_status(""); + self.grapple["allowed"] = 0; + self.grapple["connected"] = 0; + grapple_enable_normal_mantle_hint(0); + var_03 = self.grapple["model_attach_world"]; + var_03 unlink(); + if(isdefined(self.grapple["mantle"])) + { + if(isdefined(self.grapple["mantle"]["victim"])) + { + self.grapple["mantle"]["victim"] thread grapple_mantle_victim(self.grapple["mantle"],self); + } + } + + self.grapple["no_enable_weapon"] = grapple_special_no_enable_weapon(); + if(grapple_special_no_enable_exo()) + { + self.grapple["no_enable_exo"] = grapple_special_no_enable_exo(); + } + + var_04 = grapple_to_position(var_01); + if(isdefined(var_04) && var_04) + { + self.grapple["connected"] = 1; + thread grapple_sync_attach_rotation(); + if(isdefined(var_01.land_entity)) + { + var_05 = self.grapple["model_player_move_tag"]; + var_06 = self.grapple["model_player_from"]; + var_05 unlink(); + var_05.origin = self.origin; + var_05.angles = (0,self.angles[1],0); + var_05 linkto(var_06); + } + } + + self notify("grapple_finished",var_01.land_entity); + if(!self.grapple["aborted"]) + { + grapple_notify_magnet(); + } + + wait(0.25); + grapple_enable_weapon(); + if(isdefined(self.grapple["quick_fire_executed"]) && self.grapple["quick_fire_executed"]) + { + if(self isreloading() || self ismantling()) + { + grapple_quick_fire_switch_back(1); + } + else + { + grapple_quick_fire_switch_back(0); + } + } + else if(!isdefined(self.grapple["mantle"])) + { + self forceviewmodelanimation(self getcurrentweapon(),"raise"); + } + + wait(0.25); + grapple_set_grappling(0); + grapple_enable_normal_mantle_hint(1); + if(!self.grapple["connected"]) + { + grapple_rope_state(0); + } + + thread grapple_enabled_listener(); + if(!self.grapple["no_disable_invulnerability"]) + { + self disableinvulnerability(); + } +} + +//Function Number: 84 +grapple_death_style(param_00) +{ + var_01 = self geteye(); + var_02 = clamp(var_01[2],param_00.origin[2] + 30,param_00 geteye()[2]); + var_03 = (param_00.origin[0],param_00.origin[1],var_02); + var_04 = vectornormalize(var_03 - var_01); + var_05 = undefined; + if(isdefined(param_00.grapple_death_styles)) + { + foreach(var_07 in param_00.grapple_death_styles) + { + var_08 = rotatevector(var_07.normal,param_00.angles); + var_09 = vectordot(var_04,var_08); + if(var_09 >= var_07.dot) + { + if(!isdefined(var_07.validator) || self [[ var_07.validator ]](param_00)) + { + return var_07; + } + } + } + } + + return var_05; +} + +//Function Number: 85 +grapple_ai_death_play(param_00,param_01) +{ + var_02 = param_00 grapple_death_style(param_01); + if(isdefined(var_02) && isdefined(var_02.handler)) + { + if(!isdefined(param_01.animname)) + { + param_01.animname = "generic"; + } + + if(isdefined(var_02.handler_parm3)) + { + param_00 [[ var_02.handler ]](var_02,param_00,param_01,var_02.handler_parm1,var_02.handler_parm2,var_02.handler_parm3); + return; + } + + if(isdefined(var_02.handler_parm2)) + { + param_00 [[ var_02.handler ]](var_02,param_00,param_01,var_02.handler_parm1,var_02.handler_parm2); + return; + } + + if(isdefined(var_02.handler_parm1)) + { + param_00 [[ var_02.handler ]](var_02,param_00,param_01,var_02.handler_parm1); + return; + } + + param_00 [[ var_02.handler ]](var_02,param_00,param_01); + return; + } +} + +//Function Number: 86 +grapple_ai_alive() +{ + return isalive(self) && !maps\_utility::doinglongdeath(); +} + +//Function Number: 87 +grapple_kill(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = 1; + } + + if(!param_00 grapple_ai_alive()) + { + return; + } + + maps\_upgrade_challenge::give_player_challenge_kill(1); + param_00 unlink(); + param_00 notify("tagged_death"); + while(isdefined(param_00.grapple_magnets) && param_00.grapple_magnets.size > 0) + { + grapple_magnet_unregister(param_00,param_00.grapple_magnets[0].tag); + } + + param_00.diequietly = 1; + param_00.allowdeath = 1; + if(!param_01) + { + param_00.a.nodeath = 1; + } + + if(isdefined(self.ent_flag["_stealth_in_shadow"]) && self.ent_flag["_stealth_in_shadow"]) + { + param_00.target = "ignore_corpse"; + } + + param_00.dodamagetoall = 1; + if(!param_01 && !isdefined(param_00.grapple_ragdolled)) + { + param_00 startragdoll(); + param_00.grapple_ragdolled = 1; + } + + grapple_kills_increment(); + param_00 kill(param_00.origin,param_00,param_00); +} + +//Function Number: 88 +grapple_kills_increment() +{ + if(!isdefined(level.grapple_kill_count)) + { + level.grapple_kill_count = 0; + } + + level.grapple_kill_count = level.grapple_kill_count + 1; + if(getdvar("mapname") == "irons_estate" && level.grapple_kill_count >= 20) + { + maps\_utility::player_giveachievement_wrapper("LEVEL_8A"); + } +} + +//Function Number: 89 +grapple_death_valid_standard(param_00) +{ + if(!isplayer(self)) + { + return 0; + } + + if(!self isonground() && !self islinked()) + { + return 0; + } + + return 1; +} + +//Function Number: 90 +grapple_death_handler_standard(param_00,param_01,param_02) +{ + grapple_fire_rope("grapple_death"); + param_02 grapple_ai_prep_for_kill(); + param_02 soundscripts\_snd_playsound::snd_play_linked(common_scripts\utility::random(level.grapple_snd_pain)); + grapple_notify_closest_ai("witness_kill",param_02 geteye(),300,1); + var_03 = anglestoforward(param_01 getplayerangles()); + var_04 = (param_00.normal[0],param_00.normal[1],0); + if(length2dsquared(var_04) > 0) + { + var_05 = (var_03[0],var_03[1],0); + var_06 = vectortoangles(rotatevectorinverted(var_05,vectortoangles(var_04))); + param_02 forceteleport(param_02.origin,var_06); + } + + param_02 maps\_utility::set_deathanim(param_00.name); + param_01 grapple_kill(param_02,1); + param_01 waittill("grapple_fire_rope_finished"); + if(common_scripts\utility::issp()) + { + soundscripts\_snd_playsound::snd_play_2d(common_scripts\utility::random(level.grapple_snd_death)); + } + else + { + param_02 soundscripts\_snd_playsound::snd_play_linked(common_scripts\utility::random(level.grapple_snd_death)); + } + + param_01 thread maps\_utility::play_sound_on_entity("rappel_clipout"); + param_01 playrumbleonentity("heavygun_fire"); + param_01 screenshakeonentity(5,5,3,0.5,0,0.25,128,3,3,3,1); +} + +//Function Number: 91 +grapple_death_valid_pull_concealed_obs(param_00) +{ + if(!self.grapple["kill_obstructed_clear"]) + { + return 0; + } + + return grapple_death_valid_pull_concealed(param_00); +} + +//Function Number: 92 +grapple_death_valid_pull_concealed(param_00) +{ + if(!grapple_death_valid_pull(param_00)) + { + return 0; + } + + var_01 = distancesquared(self.origin,param_00.origin); + var_02 = getdvarfloat("grapple_concealed_kill_range"); + if(var_01 > var_02 * var_02) + { + return 0; + } + + var_03 = getdvarfloat("grapple_concealed_kill_range_min"); + if(var_01 < var_03 * var_03) + { + return 0; + } + + if(abs(self.origin[2] - param_00.origin[2]) > getdvarfloat("grapple_concealed_kill_range_z")) + { + return 0; + } + + if(getdvarint("grapple_concealed_kill") == 1 && (!isdefined(self.ent_flag["_stealth_in_shadow"]) || !self.ent_flag["_stealth_in_shadow"]) && !self.grapple["concealed"]) + { + return 0; + } + + return 1; +} + +//Function Number: 93 +grapple_death_valid_pull_obs(param_00) +{ + if(!self.grapple["kill_obstructed_clear"]) + { + return 0; + } + + return grapple_death_valid_pull(param_00); +} + +//Function Number: 94 +grapple_can_stand() +{ + if(!isdefined(self.grapple["last_stand_check"]) || gettime() - self.grapple["last_stand_check"] >= 50) + { + self.grapple["can_stand"] = distancesquared(playerphysicstrace(self.origin + (0,0,1),self.origin),self.origin) < 0.0001; + self.grapple["last_stand_check"] = gettime(); + } + + return self.grapple["can_stand"]; +} + +//Function Number: 95 +grapple_death_valid_pull(param_00) +{ + if(getdvarint("grapple_concealed_kill") == 0) + { + return 0; + } + + var_01 = distancesquared(self.origin,param_00.origin); + var_02 = getdvarfloat("grapple_concealed_kill_range_min"); + if(var_01 < var_02 * var_02) + { + return 0; + } + + if(!isplayer(self)) + { + return 0; + } + + if(self islinked()) + { + return 0; + } + + if(!self isonground()) + { + return 0; + } + + if(!isdefined(param_00)) + { + return 0; + } + + if(var_01 > self.grapple["dist_max_kill"] * self.grapple["dist_max_kill"]) + { + return 0; + } + + if(!grapple_can_stand()) + { + return 0; + } + + return 1; +} + +//Function Number: 96 +grapple_ai_prep_for_kill(param_00) +{ + if(!isdefined(param_00) || param_00) + { + animscripts\shared::dropallaiweapons(); + } + + self notify("death"); + maps\_utility::ai_ignore_everything(); + maps\_utility::anim_stopanimscripted(); + self notify("stop_animmode"); + self notify("stop_sound"); + self stopsounds(); +} + +//Function Number: 97 +grapple_death_pull(param_00,param_01,param_02,param_03,param_04) +{ + param_01.grapple["grappling"] = 1; + var_05 = param_01.grapple["model_rope_fire"]; + var_06 = param_01.grapple["model_rope_idle"]; + var_07 = param_01.grapple["model_ai_link"]; + param_02 grapple_ai_prep_for_kill(); + param_01 grapple_stand_and_lock_stances(); + param_01 grapple_fire_rope("grapple_pull_death_start" + param_03); + param_01 childthread grapple_death_pull_rope_state(); + param_02 soundscripts\_snd_playsound::snd_play_linked("grapple_kill_cloth"); + param_01 soundscripts\_snd_playsound::snd_play_2d("grapple_kill_pull","stop_grapple_kill_pull_sound",undefined,0.5); + param_01 soundscripts\_snd_playsound::snd_play_2d("grapple_kill_pull_lyr2","stop_grapple_kill_pull_sound",undefined,0.1); + param_02 soundscripts\_snd_playsound::snd_play_linked(common_scripts\utility::random(level.grapple_snd_pain)); + if(isdefined(level._stealth)) + { + param_01 grapple_notify_closest_ai("witness_kill",param_02 geteye(),300,1); + param_01 grapple_notify_ai_capsule("gunshot_teammate",level.player geteye(),param_02 geteye(),100,1); + } + + param_02 notify("tagged_death"); + if(isdefined(param_04) && param_04 != "") + { + var_08 = anglestoforward(param_01 getplayerangles()); + var_09 = (param_00.normal[0],param_00.normal[1],0); + if(length2dsquared(var_09) > 0) + { + var_0A = (var_08[0],var_08[1],0); + var_0B = vectortoangles(rotatevectorinverted(var_0A,vectortoangles(var_09))); + param_02 forceteleport(param_02.origin,var_0B); + } + + param_02 thread maps\_anim::anim_single_solo(param_02,param_04); + } + else + { + param_04 = "grapple_pull_death_start" + param_03; + param_02 thread maps\_anim::anim_single_solo(param_02,param_04); + } + + param_01 childthread grapple_view_model_hands_hide_show("grapple_fire_rope_finished"); + param_02 thread _waittillmatch_notify("single anim","pull","pull"); + var_0C = param_02 common_scripts\utility::waittill_any_timeout(getanimlength(level.scr_anim["generic"][param_04]),"pull"); + param_01 grapple_rope_state(1); + param_02 soundscripts\_snd_playsound::snd_play_linked("ie_as1_quietyank1"); + param_01 playrumbleonentity("heavygun_fire"); + param_01 screenshakeonentity(5,5,3,0.5,0,0.25,128,3,3,3,1); + var_0D = self.grapple["model_body"]; + var_0D unlink(); + var_0D hide(); + var_0D.origin = param_01.origin; + var_0D.angles = param_01.angles; + var_0D dontinterpolate(); + var_0D.end_anim_name = "grapple_pull_death_end" + param_03; + var_0E = common_scripts\utility::random(level.grapple_death_pull_suffixes); + var_0D.end_anim_name = var_0D.end_anim_name + var_0E; + var_0D maps\_anim::anim_first_frame_solo(var_0D,var_0D.end_anim_name); + var_0F = getstartorigin(level.player.origin,level.player.angles,level.scr_anim["generic"][var_0D.end_anim_name]); + var_10 = getstartangles(level.player.origin,level.player.angles,level.scr_anim["generic"][var_0D.end_anim_name]); + param_02.loopanims = []; + param_02.loops = 0; + param_02 thread maps\_anim::anim_loop_solo(param_02,"grapple_pull_death_loop" + param_03); + var_07 unlink(); + var_07.origin = param_02 gettagorigin("tag_origin"); + var_07.angles = param_02 gettagangles("tag_origin"); + param_02 linkto(var_07); + var_11 = getdvarfloat("grapple_pull_speed"); + var_12 = distance(var_0F,param_02.origin); + var_13 = var_12 / var_11; + param_01 playrumblelooponentity("subtle_tank_rumble"); + if(var_13 >= 0.1) + { + param_01 screenshakeonentity(2,2,1,var_13,0,min(var_13 - 0.05,0.25),128,3,3,3,1); + } + + var_07 childthread grapple_rope_pull_lerp(var_0F,var_13); + var_14 = min(0.1,var_13); + var_07 rotateto(var_10,var_14,min(var_14,0.05),0); + var_15 = 0.2; + var_16 = var_13 - var_15; + if(var_16 > 0) + { + wait(var_16); + } + else + { + var_15 = max(0,var_15 + var_16); + } + + param_01 notify("grapple_loop_viewmodel_anim"); + param_01 thread maps\_utility::play_sound_on_entity("rappel_clipout"); + param_01 grapple_switch(0,1); + param_01 screenshakeonentity(5,5,3,0.5,0,0.25,128,3,3,3,1); + param_01 playerlinktoblend(var_0D,"tag_player",var_15); + if(var_15 > 0) + { + wait(var_15); + } + + param_01 stoprumble("subtle_tank_rumble"); + param_01 playrumbleonentity("heavygun_fire"); + param_02 unlink(); + var_0D show(); + var_17 = [param_02,var_0D]; + var_18 = undefined; + if(isdefined(level.scr_anim["grapple_rope"][var_0D.end_anim_name])) + { + var_18 = maps\_utility::spawn_anim_model("grapple_rope"); + param_01.grapple["model_rope_fire"] hide(); + param_01.grapple["model_rope_idle"] hide(); + var_17[var_17.size] = var_18; + } + else + { + var_0D attach("vm_spydeco","tag_weapon_left"); + var_0D.knife_attached = 1; + } + + param_02.a.nodeath = 1; + param_02.allowdeath = 1; + var_0D thread maps\_anim::anim_single(var_17,var_0D.end_anim_name); + var_19 = getanimlength(level.scr_anim["generic"][var_0D.end_anim_name]); + var_0D grapple_setup_death_event_handlers("single anim",param_01,param_02,var_19); + var_0D waittillmatch("end","single anim"); + var_0D hide(); + if(isdefined(var_18)) + { + var_18 delete(); + } + + param_01 unlink(); + param_01 grapple_unlock_stances(); + param_01 notify("grapple_death_pull_complete"); + param_01.grapple["grappling"] = 0; +} + +//Function Number: 98 +grapple_death_pull_rope_state() +{ + if(self.grapple["start_stance"] != "stand") + { + grapple_rope_state(1); + return; + } + + grapple_rope_state(1,undefined,1); +} + +//Function Number: 99 +grapple_rope_pull_lerp(param_00,param_01) +{ + var_02 = gettime(); + var_03 = self.origin; + var_04 = 0; + while(var_04 <= param_01) + { + var_04 = float(gettime() - var_02) / 1000; + var_05 = clamp(var_04 / param_01,0,1); + var_06 = clamp(var_05 * var_05 * 1.25,0,1); + var_07 = clamp(var_05 * var_05 * 1,0,1); + var_08 = vectorlerp(var_03,param_00,var_06); + var_09 = vectorlerp(var_03,param_00,var_07); + self.origin = (var_08[0],var_08[1],var_09[2]); + wait(0.05); + } +} + +//Function Number: 100 +grapple_setup_death_event_handlers(param_00,param_01,param_02,param_03) +{ + self notify("grapple_setup_death_event_handlers"); + self endon("grapple_setup_death_event_handlers"); + childthread grapple_death_pull_event(param_00,param_01,param_02,param_03,"grab"); + childthread grapple_death_pull_event(param_00,param_01,param_02,param_03,"impact"); + childthread grapple_death_pull_event(param_00,param_01,param_02,param_03,"weapon_up"); + childthread grapple_death_pull_event(param_00,param_01,param_02,param_03,"start_ragdoll"); + childthread grapple_death_pull_event(param_00,param_01,param_02,param_03,"end"); + childthread grapple_death_pull_event_sounds(param_00,"start_stab_neck_sound","grapple_kill_pull_whoosh"); + childthread grapple_death_pull_event_sounds(param_00,"end_stab_neck_pull_sound","grapple_kill_pull_end"); + childthread grapple_death_pull_event_sounds(param_00,"stab_neck_kill_sound","grapple_kill_stab_neck",0.35); + childthread grapple_death_pull_event_sounds(param_00,"finish_stab_neck_sound"); + childthread grapple_death_pull_event_sounds(param_00,"start_stab_neck_above_sound","grapple_kill_pull_whoosh"); + childthread grapple_death_pull_event_sounds(param_00,"end_stab_neck_above_pull_sound","grapple_kill_pull_end"); + childthread grapple_death_pull_event_sounds(param_00,"stab_neck_above_kill_sound","grapple_kill_stab_neck",0.35); + childthread grapple_death_pull_event_sounds(param_00,"finish_stab_neck_above_sound"); + childthread grapple_death_pull_event_sounds(param_00,"start_knife_chest_sound","grapple_kill_pull_whoosh"); + childthread grapple_death_pull_event_sounds(param_00,"end_knife_chest_pull_sound","grapple_kill_pull_end"); + childthread grapple_death_pull_event_sounds(param_00,"knife_chest_kill_sound","grapple_kill_knife_chest"); + childthread grapple_death_pull_event_sounds(param_00,"finish_knife_chest_sound","grapple_kill_body_drop",undefined,param_02); + childthread grapple_death_pull_event_sounds(param_00,"start_neck_sound","grapple_kill_pull_whoosh"); + childthread grapple_death_pull_event_sounds(param_00,"end_neck_pull_sound","grapple_kill_pull_end"); + childthread grapple_death_pull_event_sounds(param_00,"neck_kill_sound","grapple_kill_neck",0.1); + childthread grapple_death_pull_event_sounds(param_00,"finish_neck_sound","grapple_kill_body_drop",1,param_02); + childthread grapple_death_pull_event_sounds(param_00,"start_above_knife_chest_sound","grapple_kill_pull_whoosh"); + childthread grapple_death_pull_event_sounds(param_00,"end_above_knife_chest_pull_sound","grapple_kill_pull_end"); + childthread grapple_death_pull_event_sounds(param_00,"above_knife_chest_kill_sound","grapple_kill_knife_chest"); + childthread grapple_death_pull_event_sounds(param_00,"finish_above_knife_chest_sound","grapple_kill_body_drop",0.5,param_02); + childthread grapple_death_pull_event_sounds(param_00,"start_above_neck_sound","grapple_kill_pull_whoosh"); + childthread grapple_death_pull_event_sounds(param_00,"end_above_neck_pull_sound","grapple_kill_pull_end"); + childthread grapple_death_pull_event_sounds(param_00,"above_neck_kill_sound","grapple_kill_neck",0.1); + childthread grapple_death_pull_event_sounds(param_00,"finish_above_neck_sound","grapple_kill_body_drop",1,param_02); + childthread grapple_death_pull_event_sounds(param_00,"start_choke_sound","grapple_kill_pull_whoosh"); + childthread grapple_death_pull_event_sounds(param_00,"end_choke_pull_sound","grapple_kill_pull_end",0.05); + childthread grapple_death_pull_event_sounds(param_00,"choke_kill_sound","grapple_kill_choke"); + childthread grapple_death_pull_event_sounds(param_00,"finish_choke_sound","grapple_kill_body_drop",0.1,param_02); + childthread grapple_death_pull_event_sounds(param_00,"start_above_choke_sound","grapple_kill_pull_whoosh"); + childthread grapple_death_pull_event_sounds(param_00,"end_above_choke_pull_sound","grapple_kill_pull_end",0.05); + childthread grapple_death_pull_event_sounds(param_00,"above_choke_kill_sound","grapple_kill_choke"); + childthread grapple_death_pull_event_sounds(param_00,"finish_above_choke_sound","grapple_kill_body_drop",0.1,param_02); + childthread grapple_death_pull_event_sounds(param_00,"grapple_kill_low_start","grapple_kill_low_start"); + childthread grapple_death_pull_event_sounds(param_00,"grapple_kill_low_end"); +} + +//Function Number: 101 +grapple_death_pull_event(param_00,param_01,param_02,param_03,param_04) +{ + self notify("grapple_death_pull_event_" + param_04); + self endon("grapple_death_pull_event_" + param_04); + thread _waittillmatch_notify(param_00,param_04,param_04); + var_05 = common_scripts\utility::waittill_any_timeout(param_03,param_04); + param_01 notify("death_pull_event",param_04); + var_06 = 0; + if(isdefined(param_01.grapple["mantle"]) && isdefined(param_01.grapple["mantle"]["victim"])) + { + var_06 = 1; + } + + switch(param_04) + { + case "grab": + if(!isdefined(self.end_anim_name) || !isdefined(level.scr_anim["grapple_rope"][self.end_anim_name])) + { + param_01 grapple_rope_state(0); + } + + param_01 playrumbleonentity("heavygun_fire"); + break; + + case "impact": + param_01 playrumbleonentity("heavygun_fire"); + if(isdefined(param_02)) + { + param_02 soundscripts\_snd_playsound::snd_play_linked(common_scripts\utility::random(level.grapple_snd_death)); + } + break; + + case "weapon_up": + param_01 grapple_enable_weapon(); + param_01 grapple_switch(0,1,0); + if(isdefined(self.knife_attached)) + { + self detach("vm_spydeco","tag_weapon_left"); + } + + self.knife_attached = undefined; + break; + + case "start_ragdoll": + if(isdefined(param_02)) + { + param_02 unlink(); + if(!isdefined(param_02.grapple_ragdolled)) + { + param_02 startragdoll(); + param_02.grapple_ragdolled = 1; + } + + if(var_06) + { + param_01 grapple_kill(param_02,0); + } + } + break; + + case "end": + if(isdefined(param_02)) + { + if(!var_06) + { + param_02 maps\_utility::anim_stopanimscripted(); + var_07 = self.origin + (0,0,30); + var_08 = param_02 aiphysicstrace(var_07,var_07 + anglestoforward(self.angles) * -60); + var_09 = param_02 aiphysicstrace(var_08,var_08 - (0,0,60)); + param_02 unlink(); + param_02 forceteleport((var_09[0],var_09[1],var_09[2] + 30),param_02.angles,1000); + } + + param_01 grapple_kill(param_02,0); + } + break; + } +} + +//Function Number: 102 +grapple_death_pull_event_sounds(param_00,param_01,param_02,param_03,param_04) +{ + self notify("grapple_death_pull_event_sounds" + param_01); + self endon("grapple_death_pull_event_sounds" + param_01); + self waittillmatch(param_01,param_00); + if(isdefined(param_03)) + { + wait(param_03); + } + + if(isdefined(param_02)) + { + if(param_02 != "grapple_kill_body_drop") + { + soundscripts\_snd_playsound::snd_play_2d(param_02); + } + else + { + param_04 soundscripts\_snd_playsound::snd_play_linked(param_02); + } + + if(param_02 == "grapple_kill_pull_whoosh") + { + soundscripts\_snd::snd_message("aud_grapple_kill_foliage"); + if(param_01 != "start_stab_neck_sound" && param_01 != "start_stab_neck_above_sound") + { + level notify("stop_grapple_kill_pull_sound"); + soundscripts\_snd::snd_message("aud_stealth_melee"); + } + } + + if(param_01 == "finish_stab_neck_sound" || param_01 == "finish_stab_neck_sound") + { + soundscripts\_snd::snd_message("aud_stealth_melee"); + } + } +} + +//Function Number: 103 +grapple_view_model_hands_hide_show(param_00) +{ + if(isdefined(param_00)) + { + self waittill(param_00); + } + + self hideviewmodel(); + for(;;) + { + if(self getcurrentweapon() != self.grapple["weapon"]) + { + self showviewmodel(); + return; + } + + wait(0.05); + } +} + +//Function Number: 104 +_waittillmatch_notify(param_00,param_01,param_02) +{ + self waittillmatch(param_01,param_00); + self notify(param_02); +} + +//Function Number: 105 +grapple_loop_viewmodel_anim(param_00,param_01) +{ + self notify("grapple_loop_viewmodel_anim"); + self endon("grapple_loop_viewmodel_anim"); + self endon("death"); + for(;;) + { + self setviewmodelanim(level.scr_viewanim[param_01]); + var_02 = 0; + if(isarray(level.scr_anim[param_00][param_01])) + { + var_02 = getanimlength(level.scr_anim[param_00][param_01][0]) - 0.2; + } + else + { + var_02 = getanimlength(level.scr_anim[param_00][param_01]) - 0.2; + } + + wait(var_02); + } +} + +//Function Number: 106 +grapple_entity(param_00) +{ + self endon("grapple_abort"); + var_01 = grapple_entity_style(param_00,self.grapple["magnet_current"].magnet); + if(isdefined(var_01)) + { + self notify("grapple_started"); + self.grapple["allowed"] = 0; + grapple_notify_magnet(); + grapple_set_hint(""); + grapple_set_status(""); + grapple_update_preview(0,0); + if(isai(param_00)) + { + grapple_attach_bolt(param_00,"J_SpineUpper"); + } + else + { + grapple_attach_bolt(param_00,"tag_origin"); + } + + if(grapple_special() == "callback_fired") + { + grapple_fire_rope(); + self waittill("grapple_rope_impact"); + var_02 = self.grapple["model_player_to"]; + [[ var_02.land_magnet.specialstruct.callback ]](self,var_02.land_entity,var_02.land_magnet); + thread grapple_enabled_listener(); + return; + } + + switch(var_02) + { + case "kill": + var_01.isbeinggrappled = 1; + grapple_ai_death_play(self,var_01); + break; + } + + self.grapple["ready_time"] = max(gettime() + 600,self.grapple["ready_time"]); + self notify("grapple_entity_finished"); + self freezecontrols(0); + grapple_enable_weapon(); + grapple_rope_state(0); + self.grapple["model_attach_world"] hide(); + if(isdefined(self.grapple["quick_fire_executed"]) && self.grapple["quick_fire_executed"]) + { + grapple_quick_fire_switch_back(1); + } + else if(!isdefined(self.grapple["mantle"])) + { + self forceviewmodelanimation(self getcurrentweapon(),"raise"); + } + + thread grapple_enabled_listener(); + } +} + +//Function Number: 107 +grapple_entity_style(param_00,param_01) +{ + if(isdefined(param_00)) + { + if(isai(param_00) && param_00 grapple_ai_alive()) + { + if(isdefined(param_01) && isdefined(param_01.specialstruct) && issubstr(param_01.specialstruct.type,"callback")) + { + return "callback"; + } + else if(param_00.team != self.team && isdefined(grapple_death_style(param_00))) + { + return "kill"; + } + } + } + + return undefined; +} + +//Function Number: 108 +grapple_take_weapon() +{ + self forceviewmodelanimationclear(); + self takeweapon(self.grapple["weapon"]); +} + +//Function Number: 109 +grapple_disconnect() +{ + self notify("grapple_disconnect"); + grapple_set_hint(""); + grapple_rope_state(0); + thread maps\_utility::play_sound_on_entity("rappel_clipout"); + self stoprumble("subtle_tank_rumble"); + grapple_take_weapon(); + self freezecontrols(0); + grapple_unlock_stances(); +} + +//Function Number: 110 +grapple_sync_attach_rotation() +{ + self endon("death"); + self endon("grapple_shutdown_player"); + self endon("grapple_disconnect"); + self endon("grapple_started"); + self notify("grapple_sync_attach_rotation"); + self endon("grapple_sync_attach_rotation"); + var_00 = self.grapple["model_player_move_tag"]; + var_01 = self.grapple["model_player_from"]; + for(;;) + { + var_00 unlink(); + var_00.angles = (0,self.angles[1],0); + var_00 linkto(var_01); + wait(0.05); + } +} + +//Function Number: 111 +grapple_get_style(param_00,param_01) +{ + var_02 = vectordot(param_01,(0,0,1)); + if(var_02 > cos(45)) + { + return "floor"; + } + + if(var_02 < 0 - cos(45)) + { + return "ceiling"; + } + + return "wall"; +} + +//Function Number: 112 +grapple_wait_for_ads_timeout(param_00) +{ + var_01 = gettime(); + while(gettime() - var_01 < param_00 * 1000) + { + if(self adsbuttonpressed()) + { + return; + } + + wait(0.05); + } +} + +//Function Number: 113 +grapple_velocity_monitor() +{ + self notify("grapple_velocity_monitor"); + self endon("death"); + self endon("grapple_shutdown_player"); + self endon("grapple_velocity_monitor"); + var_00 = self.origin; + for(;;) + { + wait(0.05); + self.grapple["poll_velocity"] = self.origin - var_00 * 20; + var_00 = self.origin; + } +} + +//Function Number: 114 +grapple_abort_trace_passed(param_00) +{ + var_01 = self geteye(); + var_02 = param_00 + (0,0,var_01[2] - self.origin[2]); + var_03 = vectornormalize(var_02 - var_01); + var_01 = var_01 + var_03 * 30; + var_02 = var_02 - var_03 * 30; + var_04 = grappletrace(var_01,var_02,self,0); + if(isdefined(var_04["fraction"]) && var_04["fraction"] < 1) + { + if(isai(var_04["entity"]) && var_04["entity"].team == self.team) + { + return 1; + } + + return 0; + } + + return 1; +} + +//Function Number: 115 +grapple_abort_monitor(param_00,param_01) +{ + self endon("grapple_shutdown_player"); + self notify("grapple_abort_monitor"); + self endon("grapple_abort_monitor"); + if(grapple_special_no_abort()) + { + return; + } + + var_02 = 0; + var_03 = 0; + self.grapple["abort_forced"] = 0; + self.grapple["last_valid_origin"] = self.origin; + while(isdefined(self.grapple) && self.grapple["grappling"]) + { + wait(0.05); + var_04 = (self.origin[0],self.origin[1],self.grapple["model_player_to"].origin[2]); + if(distancesquared(playerphysicstrace(var_04,self.origin),self.origin) < 0.0001) + { + if(distancesquared(playerphysicstrace(self.origin + (0,0,1),self.origin),self.origin) < 0.0001) + { + self.grapple["last_valid_origin"] = self.origin; + } + } + + var_05 = 1; + if(self.grapple["abort_forced"]) + { + var_05 = 0; + } + else + { + var_05 = grapple_abort_trace_passed(param_01.origin); + } + + if(!var_05) + { + var_03 = var_03 + 1; + } + + if(!var_05 && var_02 || self.grapple["abort_forced"] || var_03 > 4) + { + grapple_abort(self.grapple["abort_forced"]); + } + + if(var_05 && !var_02) + { + var_02 = 1; + } + } +} + +//Function Number: 116 +grapple_abort(param_00) +{ + grapple_set_grappling(0); + self.grapple["aborted"] = 1; + self.grapple["no_enable_exo"] = 0; + self.grapple["no_enable_weapon"] = 0; + self notify("grapple_abort"); + grapple_disconnect(); + killfxontag(level._effect["grapple_cam"],self.grapple["model_player_to"],"tag_origin"); + self unlink(); + grapple_enable_normal_mantle_hint(1); + var_01 = self.grapple["poll_velocity"]; + self setorigin(self.grapple["last_valid_origin"]); + self.origin = self.grapple["last_valid_origin"]; + self setvelocity(var_01); + self screenshakeonentity(5,5,3,0.5,0,0.25,128,3,3,3,1); + self playrumbleonentity("damage_light"); + self lerpfov(65,0.2); + if(common_scripts\utility::issp()) + { + level notify("stop_grapplesound"); + } + else + { + self.grapple["model_player_move_tag"] stopsounds(); + } + + self disableinvulnerability(); +} + +//Function Number: 117 +grapple_complete_player_move(param_00) +{ + var_01 = self.grapple["model_player_from"]; + var_02 = self.grapple["model_player_to"]; + var_01 unlink(); + var_01.origin = var_02.origin; + var_01.angles = var_02.angles; + var_01.style = var_02.style; + var_01.land_entity = undefined; + var_01.land_magnet = undefined; + if(isdefined(var_02.land_entity)) + { + var_01.land_entity = var_02.land_entity; + if(isdefined(var_02.land_magnet) && var_02.land_magnet.tag != "") + { + var_01 linkto(var_02.land_entity,var_02.land_magnet.tag); + } + else + { + var_01 linkto(var_02.land_entity); + } + + if(isdefined(var_02.land_magnet)) + { + var_01.land_magnet = var_02.land_magnet; + } + } + + var_01 dontinterpolate(); + if(!isdefined(self.grapple["mantle"]) && !isdefined(grapple_special_landing_anims())) + { + self unlink(); + self setorigin(var_02.origin); + self playerlinktodelta(var_02,"tag_origin",1,45,45,45,45,0); + } + + grapple_enable_weapon(); + grapple_setup_rope_attached(param_00); + self notify("grapple_complete_player_move"); +} + +//Function Number: 118 +grapple_to_position(param_00) +{ + self endon("grapple_shutdown_player"); + self endon("grapple_abort"); + var_01 = 0; + grapple_set_grappling(1); + self.grapple["aborted"] = 0; + var_02 = self.grapple["model_player_move_tag"]; + var_03 = self.grapple["model_player_from"]; + param_00 = self.grapple["model_player_to"]; + grapple_update_preview(0,0); + grapple_attach_bolt(self.grapple["model_preview"]); + thread grapple_velocity_monitor(); + if(grapple_special() == "weapon") + { + grapple_fire_rope("grapple_hip_fire",::grapple_fire_finished); + } + else + { + grapple_fire_rope(undefined,::grapple_fire_finished); + } + + thread grapple_abort_monitor(var_02,param_00); + grapple_stand_and_lock_stances(); + var_02 unlink(); + var_02.angles = self getplayerangles(); + var_02.origin = self geteye() - anglestoup(var_02.angles) * 60; + var_02 dontinterpolate(); + self.grapple["landingParms"] = grapple_landing_prep(); + childthread grapple_lerp_velocity_to_linked(var_02); + self playrumblelooponentity("subtle_tank_rumble"); + if(common_scripts\utility::issp()) + { + soundscripts\_snd_playsound::snd_play_2d("linelauncher_move_player","stop_grapplesound",undefined,0.2); + soundscripts\_snd_playsound::snd_play_2d("linelauncher_wind","stop_grapplesound",undefined,0.35); + level notify("aud_grapple_start"); + soundscripts\_snd::snd_message("aud_grapple_from_foliage"); + } + else + { + var_02 playsound("linelauncher_move_player"); + } + + var_04 = var_02 grapple_move(self,param_00); + self stoprumble("subtle_tank_rumble"); + if(self.grapple["style"] == "ceiling") + { + var_01 = 1; + wait(max(0.05,var_04)); + grapple_complete_player_move(1); + grapple_rope_state(2); + self playerlinktodelta(var_03,"tag_origin",1,180,180,180,180,0); + } + else if(self.grapple["style"] == "wall") + { + wait(max(0.05,var_04) + 0.1); + grapple_complete_player_move(1); + if(isdefined(self.grapple["mantle"]) || isdefined(grapple_special_landing_anims())) + { + self forceviewmodelanimationclear(); + grapple_disconnect(); + self unlink(); + } + else + { + var_01 = 1; + grapple_rope_state(2); + self playerlinktodelta(var_03,"tag_origin",1,180,180,180,180,1); + } + } + else if(self.grapple["style"] == "floor") + { + wait(max(0.05,var_04)); + grapple_complete_player_move(); + self unlink(); + grapple_disconnect(); + var_01 = 0; + } + + level notify("stop_grapplesound"); + if(grapple_after_land_anim()) + { + var_05 = param_00.land_magnet; + if(!isdefined(var_05) || !isdefined(var_05.specialstruct) || !isdefined(var_05.specialstruct.afterlandanimconnected) || !var_05.specialstruct.afterlandanimconnected) + { + self unlink(); + grapple_disconnect(); + var_01 = 0; + } + else + { + self playerlinktodelta(var_03,undefined,1,180,180,180,180,0); + } + } + + return var_01; +} + +//Function Number: 119 +grapple_lerp_velocity_to_linked(param_00) +{ + self endon("death"); + self endon("grapple_disconnect"); + var_01 = grapple_move_time(self.grapple["model_player_to"]); + var_02 = self.grapple["velocity_when_fired"]; + var_03 = length(var_02); + var_04 = self.grapple["model_player_move_lerp"]; + var_04 unlink(); + var_04.origin = param_00.origin + var_02 * 0.05; + var_04.angles = param_00.angles; + var_04 dontinterpolate(); + self playerlinktodelta(var_04,"tag_origin",1,0,0,0,0,0); + self.grapple["velocity_lerping"] = 0; + if(getdvarint("grapple_lerp_velocity") && var_03 > 0) + { + self endon("grapple_velocity_lerp_end"); + self.grapple["velocity_lerping"] = 1; + var_05 = var_01; + if(var_05 > 0) + { + var_06 = min(var_03 * 0.01,var_05 * 0.75); + var_04 grapple_decelerate_move_to(var_02,param_00.origin,param_00,undefined,var_05,var_06,1,self.grapple["model_player_to"],(0,0,60)); + } + } + + var_04.origin = param_00.origin; + var_04 linkto(param_00); +} + +//Function Number: 120 +grapple_move_time(param_00) +{ + var_01 = self.grapple["speed"]; + if(!isdefined(var_01)) + { + var_01 = 200; + } + + var_02 = distance(self.origin,param_00.origin); + var_03 = var_02 / var_01; + return var_03; +} + +//Function Number: 121 +grapple_move(param_00,param_01) +{ + self notify("newmove"); + self endon("newmove"); + param_00 endon("death"); + var_02 = param_00 grapple_move_time(param_01); + var_03 = vectornormalize(param_01.origin - self.origin); + if(param_00 grapple_special() == "weapon") + { + param_00 grapple_with_weapon_start(param_01.land_magnet.specialstruct); + var_02 = var_02 * 1 / param_01.land_magnet.specialstruct.movescale; + } + + var_04 = var_02 * 0.9; + var_05 = var_02 * 0.05; + var_06 = gettime(); + self moveto(param_01.origin,var_02,var_04,var_05,param_01); + if(param_00 grapple_special() == "weapon") + { + param_00 thread grapple_with_weapon_travel(param_01.land_magnet.specialstruct); + } + + if(var_02 > 0.5) + { + wait(var_02 * 0.2); + playfxontag(level._effect["grapple_cam"],param_00.grapple["model_player_to"],"tag_origin"); + grapple_motion_blur_enable(); + if(param_00 grapple_special() != "weapon") + { + param_00 lerpfov(85,var_02 * 0.3); + } + } + + param_00 screenshakeonentity(1.5,1,1,var_02,var_02 * 0.8,0,128,3,1,1); + var_07 = param_00.grapple["landingParms"]; + var_08 = 0; + param_00 notify("grapple_moving",param_00.grapple["magnet_current"].magnet); + var_09 = 0; + while(!var_07["anim_started"] || !var_07["trans_started"] || !var_07["fov_lerp_started"] || var_09 > 0) + { + var_08 = max(0,var_02 - float(gettime() - var_06) / 1000); + if(!var_07["anim_started"] && var_08 <= var_07["anim_time"]) + { + param_00 notify("grapple_landing_started"); + param_00 notify("grapple_landing_anim_started"); + var_09 = param_00 thread grapple_landing_anim(var_07); + var_07["anim_started"] = 1; + } + + if(!var_07["trans_started"] && var_08 <= var_07["trans_time"]) + { + param_00 notify("grapple_landing_started"); + param_00 notify("grapple_landing_trans_started"); + param_00 thread grapple_landing_trans(var_07,param_01); + var_07["trans_started"] = 1; + } + + if(!var_07["fov_lerp_started"] && var_08 <= var_07["fov_lerp_time"]) + { + param_00 notify("grapple_landing_started"); + param_00 notify("grapple_landing_fov_started"); + if(param_00 grapple_special() != "weapon") + { + param_00 lerpfov(65,var_07["fov_lerp_time"]); + } + + var_07["fov_lerp_started"] = 1; + } + + if(!var_07["prep_start_started"] && var_08 <= var_07["prep_start_time"]) + { + param_00 notify("grapple_prep_land"); + param_00.grapple["landing_prep_started"] = 1; + var_07["prep_start_started"] = 1; + } + + var_09 = var_09 - 0.05; + wait(0.05); + } + + param_00 notify("grapple_rig_hidden"); + if(isdefined(param_00.grapple["model_hands"])) + { + param_00.grapple["model_hands"] hide(); + } + + if(isdefined(param_00.grapple["model_body"])) + { + param_00.grapple["model_body"] hide(); + } + + return max(0,var_08); +} + +//Function Number: 122 +grapple_landing_prep() +{ + var_00 = self getplayerangles(); + var_01 = anglestoforward(var_00); + var_02 = grapple_special_landing_anims(); + var_03 = "land_straight"; + var_04 = self.grapple["surface_trace"]["normal"] * -1; + if(self.grapple["style"] == "wall") + { + var_05 = vectordot(var_01,var_04); + if(var_05 < 0.87) + { + var_06 = vectorcross((0,0,1),var_04); + var_07 = vectordot(var_01,var_06); + if(var_07 < 0) + { + var_03 = "land_left"; + } + else + { + var_03 = "land_right"; + } + } + } + + if(isdefined(self.grapple["mantle"])) + { + if(isdefined(self.grapple["mantle"]["victim"]) && isdefined(self.grapple_victim_landanim)) + { + var_03 = self.grapple_victim_landanim; + } + else if(self.grapple["mantle"]["over"]) + { + var_03 = "land_mantle_over"; + } + else + { + var_03 = "land_mantle_up"; + } + } + + var_08 = []; + var_09 = []; + var_0A = []; + var_0B = []; + var_0C = []; + var_0D = []; + var_0E = []; + var_0F = []; + var_08["hands"] = self.grapple["model_hands"]; + var_09["hands"] = grapple_anim_tree("grapple_hands"); + if(isdefined(var_02)) + { + var_0A["hands"] = var_02[1]; + var_0D["hands"] = getanimlength(var_02[1]); + } + else + { + var_0A["hands"] = grapple_anim_anim("grapple_hands",var_03); + var_0D["hands"] = grapple_anim_length("grapple_hands",var_03); + } + + var_0E["hands"] = isdefined(var_0A["hands"]); + var_08["body"] = self.grapple["model_body"]; + var_09["body"] = grapple_anim_tree("grapple_body"); + if(isdefined(var_02)) + { + var_0A["body"] = var_02[0]; + var_0D["body"] = getanimlength(var_02[0]); + } + else + { + var_0A["body"] = grapple_anim_anim("grapple_body",var_03); + var_0D["body"] = grapple_anim_length("grapple_body",var_03); + } + + var_0E["body"] = isdefined(var_0A["body"]); + var_10 = 0; + var_11 = 0; + var_12 = 0; + var_0E["hands"] = 0; + var_0E["body"] = 0; + switch(self.grapple["style"]) + { + case "ceiling": + var_10 = var_0D["hands"] * 0.5; + var_11 = var_10; + var_12 = var_0D["hands"] * 0.75; + var_0E["hands"] = 1; + break; + + case "wall": + var_10 = var_0D["hands"] * 0.5; + var_11 = var_10; + var_12 = var_0D["hands"] * 0.75; + break; + + default: + var_10 = 0.2; + var_11 = var_10; + var_12 = 0; + break; + } + + if(isdefined(self.grapple["mantle"]) || isdefined(var_02)) + { + var_0E["hands"] = 1; + var_0E["body"] = 0; + var_13 = self.grapple["model_player_to"]; + if(isdefined(var_02)) + { + if(isdefined(var_13.land_magnet.tag) && var_13.land_magnet.tag != "") + { + var_0B["body"] = var_13.land_magnet.object gettagorigin(var_13.land_magnet.tag); + var_0C["body"] = var_13.land_magnet.object gettagangles(var_13.land_magnet.tag); + } + else + { + var_0B["body"] = var_13.land_magnet.object.origin; + var_0C["body"] = var_13.land_magnet.object.angles; + } + } + else + { + var_0B["body"] = self.grapple["mantle"]["position"] + (0,0,0.5); + var_0C["body"] = (0,vectortoyaw(var_04),0); + } + + if(isdefined(var_0B["body"])) + { + var_0B["body"] = rotatevectorinverted(var_0B["body"] - var_13.origin,var_13.angles); + var_0C["body"] = var_0C["body"] - var_13.angles; + } + + var_14 = 0.33; + var_10 = var_14; + var_11 = var_14; + var_12 = var_14; + } + + if(isdefined(var_0A["hands"]) && !self.grapple["linked_hands"]) + { + var_08["hands"] linktoplayerview(self,"tag_origin",(0,0,0),(0,0,0),1); + self.grapple["linked_hands"] = 1; + } + + if(isdefined(var_08["hands"]) && isdefined(var_0A["hands"]) && isdefined(var_09["hands"])) + { + var_08["hands"] useanimtree(var_09["hands"]); + var_08["hands"] setanim(var_0A["hands"],1,0,0); + var_08["hands"] setanimtime(var_0A["hands"],0); + } + + if(isdefined(var_08["body"]) && isdefined(var_0A["body"]) && isdefined(var_09["body"])) + { + var_08["body"] useanimtree(var_09["body"]); + var_08["body"] setanim(var_0A["body"],1,0,0); + var_08["body"] setanimtime(var_0A["body"],0); + } + + var_15 = []; + var_15["anim_time"] = var_12; + var_15["anim_name"] = var_03; + var_15["anim_ents"] = var_08; + var_15["anim_ents_tree"] = var_09; + var_15["anim_ents_anim"] = var_0A; + var_15["anim_ents_view_anim"] = var_0F; + var_15["anim_ents_time"] = var_0D; + var_15["anim_ents_origin"] = var_0B; + var_15["anim_ents_angles"] = var_0C; + var_15["anim_ents_vis"] = var_0E; + var_15["anim_started"] = 0; + var_15["trans_time"] = var_10; + var_15["trans_duration"] = var_11; + var_15["trans_started"] = 0; + var_15["fov_lerp_time"] = max(var_10,var_12) * 1.25; + var_15["fov_lerp_started"] = 0; + var_15["prep_start_time"] = max(var_10,var_12) + 0.05; + var_15["prep_start_started"] = 0; + return var_15; +} + +//Function Number: 123 +grapple_landing_anim(param_00) +{ + var_01 = 0; + var_02 = param_00["anim_ents"]; + var_03 = self.grapple["model_player_to"]; + if(isdefined(self.grapple["mantle"]) && isdefined(self.grapple["mantle"]["victim"])) + { + self.grapple["mantle"]["victim"] notify("grapple_landing_anim"); + } + + foreach(var_0B, var_05 in var_02) + { + if(!isdefined(var_05)) + { + continue; + } + + var_06 = var_05.origin; + var_07 = var_05.angles; + if(isdefined(param_00["anim_ents_origin"][var_0B])) + { + var_08 = 0; + var_05 unlink(); + var_05.origin = var_03.origin + rotatevector(param_00["anim_ents_origin"][var_0B],var_03.angles); + var_06 = var_05.origin; + if(isdefined(param_00["anim_ents_angles"][var_0B])) + { + var_05.angles = var_03.angles + param_00["anim_ents_angles"][var_0B]; + var_07 = var_05.angles; + } + + if(isdefined(self.grapple["model_player_to"].land_entity)) + { + var_05 linkto(self.grapple["model_player_to"].land_entity); + } + + var_01 = max(var_01,param_00["anim_ents_time"][var_0B]); + } + + if(!param_00["anim_ents_vis"][var_0B]) + { + var_05 hide(); + } + else + { + var_05 show(); + var_05 thread grapple_delayed_hide(param_00["anim_ents_time"][var_0B]); + } + + if(isdefined(param_00["anim_ents_view_anim"][var_0B])) + { + self.grapple["landing_view_anim"] = param_00["anim_ents_view_anim"][var_0B]; + self setviewmodelanim(level.scr_viewanim[param_00["anim_ents_view_anim"][var_0B]]); + } + else if(isdefined(param_00["anim_ents_anim"][var_0B]) && isdefined(param_00["anim_ents_tree"][var_0B])) + { + var_09 = param_00["anim_ents_anim"][var_0B]; + var_05 useanimtree(param_00["anim_ents_tree"][var_0B]); + var_05 animscripted("grapple_landing_anim",var_06,var_07,var_09,undefined,undefined,0.1); + if(isdefined(param_00["anim_ents_origin"][var_0B])) + { + var_0A = undefined; + if(isdefined(self.grapple["mantle"]) && isdefined(self.grapple["mantle"]["victim"])) + { + var_0A = self.grapple["mantle"]["victim"]; + } + + var_05 grapple_setup_death_event_handlers("grapple_landing_anim",self,var_0A,getanimlength(var_09)); + } + + if(var_0B == "hands") + { + thread grapple_view_model_hands_hide_show(); + } + } + + var_05 dontinterpolate(); + } + + return var_01; +} + +//Function Number: 124 +grapple_landing_trans(param_00,param_01) +{ + self endon("death"); + self endon("grapple_disconnect"); + self notify("grapple_abort_monitor"); + var_02 = param_00["trans_time"]; + var_03 = param_00["trans_duration"]; + var_04 = self getplayerangles(); + var_05 = max(45,var_04[0]); + if(self.grapple["style"] == "ceiling") + { + var_05 = min(-45,var_04[0]); + } + + var_06 = (var_05,param_01.angles[1],0); + var_07 = var_03 * 0.2; + var_08 = var_03 * 0.1; + var_09 = self.grapple["model_player_trans"]; + var_09.origin = self.origin; + var_09.angles = self getplayerangles(); + var_09 dontinterpolate(); + if(grapple_special_land_hide_rope()) + { + grapple_rope_state(0,0); + } + else + { + grapple_rope_state(2,100); + } + + if(isdefined(param_00["anim_ents_origin"]["body"]) && isdefined(param_00["anim_ents"]["body"])) + { + grapple_setup_rope_attached_player(self,self,0); + var_0A = param_00["anim_ents"]["body"]; + self playerlinktoblend(var_0A,"tag_player",var_03,var_07,var_08); + wait(var_03); + grapple_landing_landed(undefined,undefined,undefined,undefined); + wait(0.05); + self playerlinktodelta(var_0A,"tag_player",1,0,0,0,0,1); + self forceviewmodelanimation(self.grapple["weapon"],level.grapple_weapon_anim["travel"]); + grapple_disable_weapon(); + var_0A show(); + self.grapple["model_hands"] hide(); + return; + } + + grapple_setup_rope_attached_player(var_09,var_09,0,"tag_player"); + var_0B = var_03 * 0.75; + var_0C = var_03 - var_0B; + var_0D = undefined; + self playerlinkto(var_09,"tag_player",1,0,0,0,0); + var_0E = param_01.origin + vectornormalize(self.grapple["poll_velocity"]) * 10; + var_0D = param_01.origin; + var_09 rotateto(var_06,var_03,var_07,var_08); + var_09 grapple_decelerate_move_to(self.grapple["poll_velocity"],var_0E,param_01.land_entity,undefined,var_0B,var_0B * 0.75,0); + grapple_landing_landed(var_09,var_0D,var_0C,param_01); +} + +//Function Number: 125 +grapple_landing_landed(param_00,param_01,param_02,param_03) +{ + if(!common_scripts\utility::issp()) + { + self.grapple["model_player_move_tag"] stopsounds(); + } + else + { + level notify("stop_grapplesound"); + } + + grapple_landing_sound(self.grapple["surface_trace"]["surfacetype"]); + grapple_notify_closest_ai("grapple_impact",self.origin,250); + self playrumbleonentity("falling_land"); + self screenshakeonentity(2,1,2,0.5,0,0.1,128,3,3,3); + if(isdefined(param_01) && isdefined(param_00) && isdefined(param_02)) + { + param_00 moveto(param_01,param_02,param_02 * 0.25,param_02 * 0.25,param_03); + } + + var_04 = self.grapple["model_rope_idle"]; + var_04 hide(); + grapple_setup_rope_attached_player(self,self,0); + killfxontag(level._effect["grapple_cam"],self.grapple["model_player_to"],"tag_origin"); +} + +//Function Number: 126 +grapple_landing_sound(param_00) +{ + var_01 = "linelauncher_land_plr_concrete"; + if(isdefined(param_00)) + { + if(getsubstr(param_00,0,5) == "metal") + { + var_01 = "linelauncher_land_plr_metal"; + } + else if(getsubstr(param_00,0,4) == "wood") + { + var_01 = "linelauncher_land_plr_wood"; + } + else if(getsubstr(param_00,0,4) == "dirt") + { + var_01 = "linelauncher_land_plr_dirt"; + } + else if(getsubstr(param_00,0,5) == "grass") + { + var_01 = "linelauncher_land_plr_grass"; + } + } + + var_02 = "linelauncher_land_concrete"; + if(isdefined(param_00)) + { + if(getsubstr(param_00,0,5) == "metal") + { + var_02 = "linelauncher_land_metal"; + } + else if(getsubstr(param_00,0,4) == "wood") + { + var_02 = "linelauncher_land_wood"; + } + else if(getsubstr(param_00,0,4) == "dirt") + { + var_02 = "linelauncher_land_dirt"; + } + else if(getsubstr(param_00,0,5) == "grass") + { + var_02 = "linelauncher_land_grass"; + } + } + + if(common_scripts\utility::issp() && isplayer(self)) + { + soundscripts\_snd_playsound::snd_play_2d(var_01); + soundscripts\_snd_playsound::snd_play_2d("linelauncher_plr_mantle"); + soundscripts\_snd::snd_message("aud_grapple_land"); + return; + } + + if(isai(self)) + { + self playsound(var_02); + return; + } + + self playsound(var_01); +} + +//Function Number: 127 +grapple_motion_blur_enable() +{ + if(common_scripts\utility::issp() && level.nextgen) + { + setsaveddvar("r_mbEnable",2); + setsaveddvar("r_mbVelocityScalar",4); + } +} + +//Function Number: 128 +grapple_motion_blur_disable() +{ + if(common_scripts\utility::issp() && level.nextgen) + { + setsaveddvar("r_mbEnable",0); + setsaveddvar("r_mbVelocityScalar",1); + } +} + +//Function Number: 129 +grapple_special() +{ + var_00 = self.grapple["model_player_to"]; + if(isdefined(var_00.land_magnet) && isdefined(var_00.land_magnet.specialstruct)) + { + return var_00.land_magnet.specialstruct.type; + } + + return ""; +} + +//Function Number: 130 +grapple_special_landing_anims() +{ + var_00 = self.grapple["model_player_to"]; + var_01 = undefined; + if(isdefined(var_00.land_magnet) && isdefined(var_00.land_magnet.specialstruct)) + { + if(isdefined(var_00.land_magnet.specialstruct.landanimbody) || isdefined(var_00.land_magnet.specialstruct.landanimhands)) + { + var_01 = [var_00.land_magnet.specialstruct.landanimbody,var_00.land_magnet.specialstruct.landanimhands]; + } + } + + return var_01; +} + +//Function Number: 131 +grapple_special_no_enable_exo() +{ + var_00 = self.grapple["model_player_to"]; + if(isdefined(var_00.land_magnet) && isdefined(var_00.land_magnet.specialstruct) && isdefined(var_00.land_magnet.specialstruct.noenableexo)) + { + return var_00.land_magnet.specialstruct.noenableexo; + } + + return 0; +} + +//Function Number: 132 +grapple_special_no_enable_weapon() +{ + var_00 = self.grapple["model_player_to"]; + if(isdefined(var_00.land_magnet) && isdefined(var_00.land_magnet.specialstruct) && isdefined(var_00.land_magnet.specialstruct.noenableweapon)) + { + return var_00.land_magnet.specialstruct.noenableweapon; + } + + return 0; +} + +//Function Number: 133 +grapple_special_hint() +{ + var_00 = self.grapple["model_player_to"]; + if(isdefined(var_00.land_magnet) && isdefined(var_00.land_magnet.specialstruct) && isdefined(var_00.land_magnet.specialstruct.hint)) + { + return var_00.land_magnet.specialstruct.hint; + } + + return undefined; +} + +//Function Number: 134 +grapple_special_land_hide_rope() +{ + var_00 = self.grapple["model_player_to"]; + if(isdefined(var_00.land_magnet) && isdefined(var_00.land_magnet.specialstruct) && isdefined(var_00.land_magnet.specialstruct.landhiderope)) + { + return var_00.land_magnet.specialstruct.landhiderope; + } + + return 0; +} + +//Function Number: 135 +grapple_special_indicator_offset() +{ + var_00 = self.grapple["model_player_to"]; + if(isdefined(var_00.land_magnet) && isdefined(var_00.land_magnet.specialstruct) && isdefined(var_00.land_magnet.specialstruct.indicatoroffset)) + { + return var_00.land_magnet.specialstruct.indicatoroffset; + } + + return (0,0,0); +} + +//Function Number: 136 +grapple_special_no_abort() +{ + var_00 = self.grapple["model_player_to"]; + if(isdefined(var_00.land_magnet) && isdefined(var_00.land_magnet.specialstruct) && isdefined(var_00.land_magnet.specialstruct.noabort)) + { + return var_00.land_magnet.specialstruct.noabort; + } + + return 0; +} + +//Function Number: 137 +grapple_magnet_validate_ground(param_00) +{ + if(isdefined(param_00) && isdefined(param_00.specialstruct) && isdefined(param_00.specialstruct.requireonground) && param_00.specialstruct.requireonground && !self isonground()) + { + return 0; + } + + return 1; +} + +//Function Number: 138 +grapple_notify_closest_ai(param_00,param_01,param_02,param_03) +{ + if(!common_scripts\utility::issp()) + { + return; + } + + var_04 = getaiarray("axis"); + var_04 = common_scripts\utility::get_array_of_closest(param_01,var_04,undefined,undefined,param_02,undefined); + foreach(var_06 in var_04) + { + if(var_06.ignoreall) + { + continue; + } + + var_06 notify(param_00,param_01); + if(!isdefined(param_03) || !param_03) + { + break; + } + } +} + +//Function Number: 139 +grapple_notify_ai_capsule(param_00,param_01,param_02,param_03,param_04) +{ + if(!common_scripts\utility::issp()) + { + return; + } + + var_05 = param_02 - param_01; + var_06 = vectornormalize(var_05); + var_07 = length(var_05); + var_08 = getaiarray("axis"); + var_08 = common_scripts\utility::get_array_of_closest(param_02,var_08,undefined,undefined,var_07 + param_03 * 2,undefined); + foreach(var_0A in var_08) + { + if(var_0A.ignoreall) + { + continue; + } + + if(!isalive(var_0A)) + { + continue; + } + + var_0B = var_0A geteye(); + var_0C = var_0B - param_01; + var_0D = vectordot(var_0C,var_06); + if(var_0D > param_03 * -1 && var_0D < var_07 + param_03) + { + var_0E = param_01 + var_06 * var_0D; + var_0F = distance(var_0E,var_0B); + if(var_0F <= param_03) + { + var_0A notify(param_00,param_02); + if(!isdefined(param_04) || !param_04) + { + break; + } + } + } + } +} + +//Function Number: 140 +grapple_decelerate_move_to(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + self endon("death"); + var_09 = self.origin; + var_0A = vectornormalize(param_00); + var_0B = length(param_00) / param_05 * 2; + var_0C = gettime() - 25; + var_0D = param_04 * 1000; + if(isdefined(param_07) && !isdefined(param_08)) + { + param_08 = (0,0,0); + } + + if(isdefined(param_02) && !isdefined(param_03) && isdefined(param_01)) + { + param_01 = param_01 - param_02.origin; + param_01 = rotatevectorinverted(param_01,param_02.angles); + } + + while(gettime() - var_0C < var_0D) + { + var_0E = float(gettime() - var_0C) / 1000; + var_0F = min(var_0E,param_05); + var_10 = var_09 + param_00 * var_0F; + var_11 = var_10 + var_0A * var_0B * -0.5 * var_0F * var_0F; + var_12 = var_0E / param_04; + var_12 = 1 - 0.5 + cos(var_12 * 180) * 0.5; + var_13 = param_01; + if(isdefined(param_02) && !isdefined(param_03) && isdefined(param_01)) + { + var_13 = param_02.origin + rotatevector(param_01,param_02.angles); + } + else if(isdefined(param_02) && isdefined(param_03)) + { + var_13 = param_02 gettagorigin(param_03); + } + + if(param_06) + { + var_14 = vectorlerp(var_11,var_13,var_12); + var_15 = var_12 * var_12; + var_16 = vectorlerp(var_11,var_13,var_15); + var_14 = (var_14[0],var_14[1],var_16[2]); + } + else + { + var_14 = vectorlerp(var_11,var_13,var_12); + } + + var_17 = playerphysicstrace(self.origin,var_14,level.player); + if(distancesquared(var_17,var_14) > 0.01) + { + var_14 = (var_14[0],var_14[1],self.origin[2]); + } + + self.origin = var_14; + if(isdefined(param_07)) + { + self.angles = vectortoangles(param_07.origin - self.origin + param_08); + } + + wait(0.05); + } +} + +//Function Number: 141 +grapple_delayed_hide(param_00) +{ + self endon("death"); + wait(param_00); + self hide(); +} + +//Function Number: 142 +grapple_fire_rope(param_00,param_01) +{ + self endon("death"); + self endon("grapple_disconnect"); + self notify("grapple_fire_rope"); + self playrumbleonentity("heavygun_fire"); + self screenshakeonentity(2,1,1,0.5,0,0.5,128,2,1,1); + soundscripts\_snd::snd_message("aud_grapple_launch"); + var_02 = anglestoup(self.grapple["model_preview"].angles); + self.grapple["landing_prep_started"] = 0; + self.grapple["velocity_when_fired"] = self getvelocity(); + var_03 = self.grapple["model_rope_fire"]; + var_04 = self.grapple["model_rope_idle"]; + var_05 = self.grapple["model_attach_world"]; + var_06 = self.grapple["model_player_move_tag"]; + var_07 = self.grapple["model_player_from"]; + self freezecontrols(1); + self setplayerangles(vectortoangles(var_05.origin - self geteye())); + self.angles = (0,self getplayerangles()[1],0); + grapple_setup_rope_attached(); + grapple_setup_rope_fire(); + var_06 unlink(); + var_06.origin = self.origin; + var_06.angles = self.angles; + var_06 dontinterpolate(); + if(self islinked() && isdefined(var_07)) + { + var_06 linkto(var_07); + } + else if(self isonground()) + { + var_08 = playerphysicstraceinfo(self.origin,self.origin + (0,0,-10)); + if(isdefined(var_08["entity"])) + { + var_06 linkto(var_08["entity"]); + } + } + else + { + var_06.velocity = self getvelocity(); + } + + var_09 = "fire"; + if(isdefined(param_00)) + { + self setviewmodelanim(level.scr_viewanim[param_00]); + var_09 = param_00; + } + else + { + self forceviewmodelanimation(self.grapple["weapon"],level.grapple_weapon_anim["fire"]); + } + + var_0A = grapple_anim_length("grapple_rope",var_09); + var_03 thread maps\_anim::anim_single_solo(var_03,var_09); + grapple_rope_state(1); + thread grapple_fire_rope_impact(0.15); + thread grapple_fire_rope_finish(var_0A - 0.05,param_01); +} + +//Function Number: 143 +grapple_fire_rope_impact(param_00) +{ + var_01 = anglestoup(self.grapple["model_preview"].angles); + var_02 = self.grapple["model_attach_world"]; + wait(param_00); + if(!isai(self.grapple["surface_trace"]["entity"])) + { + magicbullet("s1_grapple_impact",var_02.origin + var_01,var_02.origin - var_01); + var_02 show(); + } + + self notify("grapple_rope_impact"); +} + +//Function Number: 144 +grapple_fire_rope_finish(param_00,param_01) +{ + self endon("death"); + self endon("grapple_disconnect"); + self endon("grapple_fire_rope"); + self.grapple["fire_rope_finished"] = 0; + if(self.grapple["landing_prep_started"]) + { + self.grapple["fire_rope_finished"] = 1; + self notify("grapple_fire_rope_finished"); + if(isdefined(param_01)) + { + self [[ param_01 ]](); + } + + return; + } + + var_02 = common_scripts\utility::waittill_any_timeout(param_00,"grapple_entity_finished","grapple_complete_player_move","grapple_prep_land"); + if(var_02 == "timeout" || var_02 == "grapple_prep_land") + { + if(isdefined(param_01)) + { + self [[ param_01 ]](); + } + + self.grapple["fire_rope_finished"] = 1; + self notify("grapple_fire_rope_finished"); + } +} + +//Function Number: 145 +grapple_fire_finished() +{ + self freezecontrols(0); + if(grapple_special() != "weapon") + { + var_00 = self.grapple["landingParms"]; + var_01 = isdefined(var_00["anim_ents"]["hands"]) && isdefined(var_00["anim_ents_anim"]["hands"]) && isdefined(var_00["anim_ents_tree"]["hands"]); + var_01 = var_01 | isdefined(self.grapple["landing_view_anim"]); + if(!var_01) + { + self setviewmodelanim(level.scr_viewanim["grapple_fire_end"]); + wait(getanimlength(level.scr_anim["grapple_hands"]["grapple_fire_end"]) - 0.05); + self forceviewmodelanimation(self.grapple["weapon"],level.grapple_weapon_anim["travel"]); + } + } +} + +//Function Number: 146 +grapple_attach_bolt(param_00,param_01) +{ + var_02 = self.grapple["model_attach_world"]; + var_02 unlink(); + var_02 hide(); + if(param_00 == self.grapple["model_preview"]) + { + var_02.origin = self.grapple["model_preview"].origin; + var_03 = vectortoangles(vectornormalize(var_02.origin - self geteye())); + var_02.angles = var_03; + if(isdefined(self.grapple["model_player_to"].land_entity)) + { + if(isdefined(self.grapple["model_player_to"].land_magnet) && self.grapple["model_player_to"].land_magnet.tag != "") + { + var_02 linkto(self.grapple["model_player_to"].land_entity,self.grapple["model_player_to"].land_magnet.tag); + } + else + { + var_02 linkto(self.grapple["model_player_to"].land_entity); + } + } + } + else if(isdefined(param_00)) + { + var_02.origin = param_00 gettagorigin(param_01); + var_03 = vectortoangles(vectornormalize(var_02.origin - self geteye())); + var_02.angles = var_03; + var_02 linkto(param_00,param_01); + } + + var_02 dontinterpolate(); + return var_02; +} + +//Function Number: 147 +grapple_stand_and_lock_stances() +{ + self disableweaponswitch(); + maps\_utility::playerallowweaponpickup(0); + self allowprone(0); + self allowcrouch(0); + self allowmelee(0); + self setstance("stand"); +} + +//Function Number: 148 +grapple_unlock_stances() +{ + self enableweaponswitch(); + maps\_utility::playerallowweaponpickup(1); + self allowprone(1); + self allowcrouch(1); + self allowmelee(1); + grapple_enable_weapon(); + grapple_motion_blur_disable(); +} + +//Function Number: 149 +grapple_enable_weapon() +{ + self.grapple["weapon_enabled"] = 1; + if(self.grapple["no_enable_weapon"]) + { + return; + } + + self enableweapons(); +} + +//Function Number: 150 +grapple_disable_weapon() +{ + self.grapple["weapon_enabled"] = 0; + self disableweapons(); +} + +//Function Number: 151 +grapple_quick_fire_switch_back(param_00) +{ + self endon("death"); + while(!param_00 && self.grapple["weapon_enabled"] && self isreloading()) + { + wait(0.05); + } + + grapple_switch(0,param_00); + self.grapple["ready_time"] = gettime() + 3000; + self.grapple["quick_fire_executed"] = 0; + while(self getcurrentweapon() == self.grapple["weapon"] || self getcurrentweapon() == "none") + { + wait(0.05); + } +} + +//Function Number: 152 +grapple_enable_normal_mantle_hint(param_00) +{ + if(param_00) + { + setsaveddvar("cg_drawMantleHint","1"); + return; + } + + setsaveddvar("cg_drawMantleHint","0"); +} + +//Function Number: 153 +grapple_with_weapon_start(param_00) +{ + wait(0.4); + var_01 = self.grapple["model_player_move_lerp"]; + self playerlinktodelta(var_01,"tag_origin",1,param_00.anglelimit,param_00.anglelimit,param_00.anglelimit,param_00.anglelimit,0); + self forceviewmodelanimationclear(); + grapple_setup_rope_attached(0); + grapple_rope_state(1); + thread grapple_with_weapon_turnrates("end_grapple_with_weapon"); + thread grapple_with_weapon_infinite_ammo("end_grapple_with_weapon"); + self enableinvulnerability(); + grapple_enable_weapon(); + self switchtoweaponimmediate(param_00.weapon); + self disableweaponswitch(); + wait(0.6); +} + +//Function Number: 154 +grapple_with_weapon_travel(param_00) +{ + if(isdefined(param_00.slowmodelay)) + { + wait(param_00.slowmodelay); + } + + if(!isdefined(param_00.slowmodelta)) + { + param_00.slowmodelta = 0.15; + } + + setslowmotion(1,param_00.slowmospeed,param_00.slowmodelta); + common_scripts\utility::waittill_any("grapple_landing_trans_started","grapple_abort",param_00.slowmostop); + self enableweaponswitch(); + self disableinvulnerability(); + setslowmotion(param_00.slowmospeed,1,0.25); + self notify("end_grapple_with_weapon"); +} + +//Function Number: 155 +grapple_with_weapon_turnrates(param_00) +{ + self.aim_turnrate_pitch = getdvarint("aim_turnrate_pitch"); + self.aim_turnrate_pitch_ads = getdvarint("aim_turnrate_pitch_ads"); + self.aim_turnrate_yaw = getdvarint("aim_turnrate_yaw"); + self.aim_turnrate_yaw_ads = getdvarint("aim_turnrate_yaw_ads"); + self.aim_accel_turnrate_lerp = getdvarint("aim_accel_turnrate_lerp"); + setsaveddvar("aim_turnrate_pitch",180); + setsaveddvar("aim_turnrate_pitch_ads",110); + setsaveddvar("aim_turnrate_yaw",500); + setsaveddvar("aim_turnrate_yaw_ads",250); + setsaveddvar("aim_accel_turnrate_lerp",1200); + self waittill(param_00); + setsaveddvar("aim_turnrate_pitch",self.aim_turnrate_pitch); + setsaveddvar("aim_turnrate_pitch_ads",self.aim_turnrate_pitch_ads); + setsaveddvar("aim_turnrate_yaw",self.aim_turnrate_yaw); + setsaveddvar("aim_turnrate_yaw_ads",self.aim_turnrate_yaw_ads); + setsaveddvar("aim_accel_turnrate_lerp",self.aim_accel_turnrate_lerp); +} + +//Function Number: 156 +grapple_with_weapon_infinite_ammo(param_00) +{ + self endon("death"); + self endon(param_00); + while(isdefined(self.weapon)) + { + if(isdefined(self.weapon) && self.weapon == "none") + { + break; + } + + self.bulletsinclip = weaponclipsize(self.weapon); + wait(0.5); + } +} \ No newline at end of file diff --git a/AW/PC/maps/_grapple_anim.gsc b/AW/PC/maps/_grapple_anim.gsc new file mode 100644 index 0000000..3ced715 --- /dev/null +++ b/AW/PC/maps/_grapple_anim.gsc @@ -0,0 +1,188 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _grapple_anim.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 62 ms + * Timestamp: 4/22/2024 2:21:16 AM +*******************************************************************/ + +//Function Number: 1 +grapple_init_anims_player() +{ + var_00 = "grapple_hands"; + level.scr_animtree[var_00] = #animtree; + if(isdefined(level.grapple_defaultviewhandsmodel)) + { + level.scr_model[var_00] = level.grapple_defaultviewhandsmodel; + } + else + { + level.scr_model[var_00] = "tag_origin"; + } + + level.scr_anim[var_00]["land_straight"] = %vm_grapple_land; + level.scr_anim[var_00]["land_right"] = %vm_grapple_land_right; + level.scr_anim[var_00]["land_left"] = %vm_grapple_land_left; + level.scr_anim[var_00]["grapple_death"] = %vm_grapple_death; + level.scr_anim[var_00]["grapple_fire_end"] = %vm_grapple_fire_end; + level.scr_anim[var_00]["grapple_hip_fire"] = %vm_grapple_hip_fire; + level.scr_anim[var_00]["land_mantle_up"] = %vm_grapple_mantle_32_up; + level.scr_anim[var_00]["land_mantle_over"] = %vm_grapple_mantle_32_over; + level.scr_anim[var_00]["land_mantle_kill_up"] = %vm_grapple_mantle_throw_death_32_up; + level.scr_anim[var_00]["land_mantle_kill_over"] = %vm_grapple_mantle_throw_death_32_over; + level.scr_anim[var_00]["land_mantle_kill_up_2"] = %vm_grapple_mantle_kick_death_32_up; + level.scr_anim[var_00]["land_mantle_kill_over_2"] = %vm_grapple_mantle_kick_death_32_over; + var_00 = "grapple_body"; + level.scr_animtree[var_00] = #animtree; + if(isdefined(level.grapple_defaultscriptedbodymodel)) + { + level.scr_model[var_00] = level.grapple_defaultscriptedbodymodel; + } + else + { + level.scr_model[var_00] = "tag_origin"; + } + + level.scr_anim[var_00]["land_straight"] = %vm_grapple_land; + level.scr_anim[var_00]["land_right"] = %vm_grapple_land_right; + level.scr_anim[var_00]["land_left"] = %vm_grapple_land_left; + level.scr_anim[var_00]["grapple_death"] = %vm_grapple_death; + level.scr_viewanim = []; + level.scr_viewanim["grapple_fire_end"] = "vm_grapple_fire_end"; + level.scr_viewanim["grapple_hip_fire"] = "vm_grapple_hip_fire"; + level.grapple_death_pull_suffixes = ["","_2","_3"]; + level.scr_viewanim["grapple_pull_death_start_above_obs"] = "vm_grapple_pull_death_above_start"; + level.scr_viewanim["grapple_pull_death_loop_above_obs"] = "vm_grapple_pull_death_above_loop"; + level.scr_anim[var_00]["grapple_pull_death_start_above_obs"] = %vm_grapple_pull_death_above_start; + level.scr_anim[var_00]["grapple_pull_death_loop_above_obs"] = [%vm_grapple_pull_death_above_loop]; + level.scr_anim[var_00]["grapple_pull_death_end_above_obs"] = %vm_grapple_pull_death_above_end; + level.scr_anim[var_00]["grapple_pull_death_end_above_obs_2"] = %vm_grapple_pull_death_above_end; + level.scr_anim[var_00]["grapple_pull_death_end_above_obs_3"] = %vm_grapple_pull_death_above_end; + level.scr_viewanim["grapple_pull_death_start_above_obs_45"] = "vm_grapple_pull_death_above_start"; + level.scr_viewanim["grapple_pull_death_loop_above_obs_45"] = "vm_grapple_pull_death_above_loop"; + level.scr_anim[var_00]["grapple_pull_death_start_above_obs_45"] = %vm_grapple_pull_death_above_start; + level.scr_anim[var_00]["grapple_pull_death_loop_above_obs_45"] = [%vm_grapple_pull_death_above_loop]; + level.scr_anim[var_00]["grapple_pull_death_end_above_obs_45"] = %vm_grapple_pull_death_above_end_45; + level.scr_anim[var_00]["grapple_pull_death_end_above_obs_45_2"] = %vm_grapple_pull_death_above_end_45; + level.scr_anim[var_00]["grapple_pull_death_end_above_obs_45_3"] = %vm_grapple_pull_death_above_end_45; + level.scr_viewanim["grapple_pull_death_start_obs"] = "vm_grapple_pull_death_above_start"; + level.scr_viewanim["grapple_pull_death_loop_obs"] = "vm_grapple_pull_death_above_loop"; + level.scr_anim[var_00]["grapple_pull_death_start_obs"] = %vm_grapple_pull_death_above_start; + level.scr_anim[var_00]["grapple_pull_death_loop_obs"] = [%vm_grapple_pull_death_above_loop]; + level.scr_anim[var_00]["grapple_pull_death_end_obs"] = %vm_grapple_pull_death_end; + level.scr_anim[var_00]["grapple_pull_death_end_obs_2"] = %vm_grapple_pull_death_end; + level.scr_anim[var_00]["grapple_pull_death_end_obs_3"] = %vm_grapple_pull_death_end; + level.scr_viewanim["grapple_pull_death_start_above"] = "vm_grapple_pull_death_above_start"; + level.scr_viewanim["grapple_pull_death_loop_above"] = "vm_grapple_pull_death_above_loop"; + level.scr_anim[var_00]["grapple_pull_death_start_above"] = %vm_grapple_pull_death_above_start; + level.scr_anim[var_00]["grapple_pull_death_loop_above"] = [%vm_grapple_pull_death_above_loop]; + level.scr_anim[var_00]["grapple_pull_death_end_above"] = %vm_grapple_pull_death_above_knife_end; + level.scr_anim[var_00]["grapple_pull_death_end_above_2"] = %vm_grapple_pull_death_above_neck_end; + level.scr_anim[var_00]["grapple_pull_death_end_above_3"] = %vm_grapple_pull_death_above_choke_end; + level.scr_viewanim["grapple_pull_death_start_above_45"] = "vm_grapple_pull_death_above_start"; + level.scr_viewanim["grapple_pull_death_loop_above_45"] = "vm_grapple_pull_death_above_loop"; + level.scr_anim[var_00]["grapple_pull_death_start_above_45"] = %vm_grapple_pull_death_above_start; + level.scr_anim[var_00]["grapple_pull_death_loop_above_45"] = [%vm_grapple_pull_death_above_loop]; + level.scr_anim[var_00]["grapple_pull_death_end_above_45"] = %vm_grapple_pull_death_above_knife_end_45; + level.scr_anim[var_00]["grapple_pull_death_end_above_45_2"] = %vm_grapple_pull_death_above_neck_end_45; + level.scr_anim[var_00]["grapple_pull_death_end_above_45_3"] = %vm_grapple_pull_death_above_choke_end_45; + level.scr_viewanim["grapple_pull_death_start"] = "vm_grapple_pull_death_above_start"; + level.scr_viewanim["grapple_pull_death_loop"] = "vm_grapple_pull_death_above_loop"; + level.scr_anim[var_00]["grapple_pull_death_start"] = %vm_grapple_pull_death_above_start; + level.scr_anim[var_00]["grapple_pull_death_loop"] = [%vm_grapple_pull_death_above_loop]; + level.scr_anim[var_00]["grapple_pull_death_end"] = %vm_grapple_pull_death_knife_end; + level.scr_anim[var_00]["grapple_pull_death_end_2"] = %vm_grapple_pull_death_neck_end; + level.scr_anim[var_00]["grapple_pull_death_end_3"] = %vm_grapple_pull_death_choke_end; + level.scr_anim[var_00]["land_mantle_up"] = %vm_grapple_mantle_32_up_world; + level.scr_anim[var_00]["land_mantle_over"] = %vm_grapple_mantle_32_over_world; + level.scr_anim[var_00]["land_mantle_kill_up"] = %vm_grapple_mantle_throw_death_32_up_world; + level.scr_anim[var_00]["land_mantle_kill_over"] = %vm_grapple_mantle_throw_death_32_over_world; + level.scr_anim[var_00]["land_mantle_kill_up_2"] = %vm_grapple_mantle_kick_death_32_up_world; + level.scr_anim[var_00]["land_mantle_kill_over_2"] = %vm_grapple_mantle_kick_death_32_over_world; + foreach(var_03, var_02 in level.scr_anim[var_00]) + { + level.scr_goaltime[var_00][var_03] = 0; + } +} + +//Function Number: 2 +grapple_init_anims_props() +{ + var_00 = "grapple_rope"; + level.scr_animtree[var_00] = #animtree; + level.scr_model[var_00] = "base_grapple_rope"; + level.scr_anim[var_00]["fire"] = %vm_grapple_fire_rope; + level.scr_anim[var_00]["fire_third_person"] = %grapple_traverse_fire_rope; + level.scr_anim[var_00]["grapple_hip_fire"] = %vm_grapple_hip_fire_rope; + level.scr_anim[var_00]["grapple_pull_death_start_above_obs"] = %vm_grapple_pull_death_above_start_rope; + level.scr_anim[var_00]["grapple_pull_death_loop_above_obs"] = [%vm_grapple_pull_death_above_loop_rope]; + level.scr_anim[var_00]["grapple_pull_death_start_above_obs_45"] = %vm_grapple_pull_death_above_start_rope; + level.scr_anim[var_00]["grapple_pull_death_loop_above_obs_45"] = [%vm_grapple_pull_death_above_loop_rope]; + level.scr_anim[var_00]["grapple_pull_death_start_obs"] = %vm_grapple_pull_death_above_start_rope; + level.scr_anim[var_00]["grapple_pull_death_loop_obs"] = [%vm_grapple_pull_death_above_loop_rope]; + level.scr_anim[var_00]["grapple_pull_death_start_above"] = %vm_grapple_pull_death_above_start_rope; + level.scr_anim[var_00]["grapple_pull_death_loop_above"] = [%vm_grapple_pull_death_above_loop_rope]; + level.scr_anim[var_00]["grapple_pull_death_end_above_3"] = %vm_grapple_pull_death_above_choke_end_rope; + level.scr_anim[var_00]["grapple_pull_death_start_above_45"] = %vm_grapple_pull_death_above_start_rope; + level.scr_anim[var_00]["grapple_pull_death_loop_above_45"] = [%vm_grapple_pull_death_above_loop_rope]; + level.scr_anim[var_00]["grapple_pull_death_end_above_45_3"] = %vm_grapple_pull_death_above_choke_end_45_rope; + level.scr_anim[var_00]["grapple_pull_death_start"] = %vm_grapple_pull_death_above_start_rope; + level.scr_anim[var_00]["grapple_pull_death_loop"] = [%vm_grapple_pull_death_above_loop_rope]; + level.scr_anim[var_00]["grapple_pull_death_end_3"] = %vm_grapple_pull_death_choke_end_rope; + level.scr_anim[var_00]["grapple_death"] = %vm_grapple_death_rope; + foreach(var_03, var_02 in level.scr_anim[var_00]) + { + level.scr_goaltime[var_00][var_03] = 0; + } + + var_00 = "grapple_rope_stretch"; + level.scr_animtree[var_00] = #animtree; + level.scr_model[var_00] = "base_grapple_scale_rope"; +} + +//Function Number: 3 +grapple_init_anims_actors() +{ + var_00 = "generic"; + level.scr_anim[var_00]["grapple_pull_death_start_above_obs"] = %grapple_pull_death_above_start; + level.scr_anim[var_00]["grapple_pull_death_loop_above_obs"] = [%grapple_pull_death_above_loop]; + level.scr_anim[var_00]["grapple_pull_death_end_above_obs"] = %grapple_pull_death_above_end; + level.scr_anim[var_00]["grapple_pull_death_end_above_obs_2"] = %grapple_pull_death_above_end; + level.scr_anim[var_00]["grapple_pull_death_end_above_obs_3"] = %grapple_pull_death_above_end; + level.scr_anim[var_00]["grapple_pull_death_start_above_obs_45"] = %grapple_pull_death_above_start; + level.scr_anim[var_00]["grapple_pull_death_loop_above_obs_45"] = [%grapple_pull_death_above_loop]; + level.scr_anim[var_00]["grapple_pull_death_end_above_obs_45"] = %grapple_pull_death_above_end_45; + level.scr_anim[var_00]["grapple_pull_death_end_above_obs_45_2"] = %grapple_pull_death_above_end_45; + level.scr_anim[var_00]["grapple_pull_death_end_above_obs_45_3"] = %grapple_pull_death_above_end_45; + level.scr_anim[var_00]["grapple_pull_death_start_obs"] = %grapple_pull_death_above_start; + level.scr_anim[var_00]["grapple_pull_death_loop_obs"] = [%grapple_pull_death_loop]; + level.scr_anim[var_00]["grapple_pull_death_end_obs"] = %grapple_pull_death_end; + level.scr_anim[var_00]["grapple_pull_death_end_obs_2"] = %grapple_pull_death_end; + level.scr_anim[var_00]["grapple_pull_death_end_obs_3"] = %grapple_pull_death_end; + level.scr_anim[var_00]["grapple_pull_death_start_above"] = %grapple_pull_death_above_start; + level.scr_anim[var_00]["grapple_pull_death_loop_above"] = [%grapple_pull_death_above_loop]; + level.scr_anim[var_00]["grapple_pull_death_end_above"] = %grapple_pull_death_above_knife_end; + level.scr_anim[var_00]["grapple_pull_death_end_above_2"] = %grapple_pull_death_above_neck_end; + level.scr_anim[var_00]["grapple_pull_death_end_above_3"] = %grapple_pull_death_above_choke_end; + level.scr_anim[var_00]["grapple_pull_death_start_above_45"] = %grapple_pull_death_above_start; + level.scr_anim[var_00]["grapple_pull_death_loop_above_45"] = [%grapple_pull_death_above_loop]; + level.scr_anim[var_00]["grapple_pull_death_end_above_45"] = %grapple_pull_death_above_knife_end_45; + level.scr_anim[var_00]["grapple_pull_death_end_above_45_2"] = %grapple_pull_death_above_neck_end_45; + level.scr_anim[var_00]["grapple_pull_death_end_above_45_3"] = %grapple_pull_death_above_choke_end_45; + level.scr_anim[var_00]["grapple_pull_death_start"] = %grapple_pull_death_above_start; + level.scr_anim[var_00]["grapple_pull_death_loop"] = [%grapple_pull_death_loop]; + level.scr_anim[var_00]["grapple_pull_death_end"] = %grapple_pull_death_knife_end; + level.scr_anim[var_00]["grapple_pull_death_end_2"] = %grapple_pull_death_neck_end; + level.scr_anim[var_00]["grapple_pull_death_end_3"] = %grapple_pull_death_choke_end; + level.scr_anim[var_00]["death_grapple_back"] = %death_grapple_back; + level.scr_anim[var_00]["death_grapple_front"] = %death_grapple_front; + level.scr_anim[var_00]["death_grapple_right"] = %death_grapple_right; + level.scr_anim[var_00]["death_grapple_left"] = %death_grapple_left; + level.scr_anim[var_00]["death_grapple_above"] = %death_grapple_above; + level.scr_anim[var_00]["land_mantle_kill_up"] = %grapple_mantle_throw_death_32_up; + level.scr_anim[var_00]["land_mantle_kill_over"] = %grapple_mantle_throw_death_32_over; + level.scr_anim[var_00]["land_mantle_kill_up_2"] = %grapple_mantle_kick_death_32_up; + level.scr_anim[var_00]["land_mantle_kill_over_2"] = %grapple_mantle_kick_death_32_over; +} \ No newline at end of file diff --git a/AW/PC/maps/_grapple_traverse.gsc b/AW/PC/maps/_grapple_traverse.gsc new file mode 100644 index 0000000..6035e37 --- /dev/null +++ b/AW/PC/maps/_grapple_traverse.gsc @@ -0,0 +1,477 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _grapple_traverse.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 14 + * Decompile Time: 237 ms + * Timestamp: 4/22/2024 2:21:17 AM +*******************************************************************/ + +//Function Number: 1 +grapple_traverse(param_00,param_01,param_02,param_03) +{ + if(!isdefined(level.grapple_traverse_init)) + { + grapple_traverse_init(); + } + + self.desired_anim_pose = "stand"; + animscripts\utility::updateanimpose(); + self.istraversing = 1; + self.grapple_end_anim = param_03; + self.grapple_target_ent = param_01; + self.grapple_end_events = ["death","killgrapple","traverse_finish"]; + if(!isdefined(param_01)) + { + self.grapple_end_events[self.grapple_end_events.size] = "killanimscript"; + } + + foreach(var_05 in self.grapple_end_events) + { + self endon(var_05); + } + + self traversemode("nogravity"); + self traversemode("noclip"); + if(!isdefined(param_01)) + { + self.traversestartnode = self getnegotiationstartnode(); + self.traverseendnode = self getnegotiationendnode(); + } + + thread grapple_traverse_cleanup(self.traverseendnode); + var_07 = (0,0,0); + var_08 = (0,0,0); + var_09 = (1,0,0); + if(isdefined(param_01) && isdefined(param_02)) + { + var_07 = param_01 gettagorigin(param_02); + var_09 = var_07 - self.origin; + } + else if(isdefined(param_01)) + { + var_07 = param_01.origin; + var_09 = var_07 - self.origin; + } + else + { + var_07 = trace_end_position(self.traversestartnode,self.traverseendnode); + var_09 = self.traverseendnode.origin - var_07; + } + + if(isdefined(param_01) && isdefined(param_02)) + { + var_08 = param_01 gettagangles(param_02); + } + else if(isdefined(param_01)) + { + var_08 = param_01.angles; + } + else + { + var_08 = self.traverseendnode.origin - var_07; + var_08 = (var_08[0],var_08[1],0); + var_08 = vectortoangles(var_08); + } + + self.grapple_end_ent = common_scripts\utility::spawn_tag_origin(); + self.grapple_end_ent.origin = var_07; + self.grapple_end_ent.angles = var_08; + if(isdefined(param_01)) + { + self.grapple_end_ent linkto(param_01); + } + + self.grapple_end_ent thread grapple_delete_monitor(self); + var_0A = self.origin; + grapple_add_void_point(self.grapple_end_ent.origin,64,grapple_travel_time(var_0A,self.grapple_end_ent.origin) + 2); + self orientmode("face angle",vectortoyaw(self.grapple_end_ent.origin - var_0A)); + if(isdefined(param_00)) + { + self.grapple_config = level.grapple_traverse_configs[param_00]; + } + else + { + var_0B = angleclamp180(vectortoangles(self.grapple_end_ent.origin - var_0A)[0]); + foreach(var_0D in level.grapple_traverse_configs) + { + if(var_0B > var_0D[0] && var_0B <= var_0D[1]) + { + self.grapple_config = var_0D; + break; + } + } + + if(!isdefined(self.grapple_config)) + { + self.grapple_config = level.grapple_traverse_configs[0]; + } + } + + var_09 = vectornormalize((var_09[0],var_09[1],0)); + grapple_fire(var_09); + grapple_travel(self.origin,self.angles); + grapple_land(); + self notify("traverse_finish"); +} + +//Function Number: 2 +grapple_delete_monitor(param_00) +{ + self endon("death"); + if(isdefined(param_00) && isdefined(param_00.grapple_end_events)) + { + param_00 common_scripts\utility::waittill_any(param_00.grapple_end_events[0],param_00.grapple_end_events[1],param_00.grapple_end_events[2],param_00.grapple_end_events[3],param_00.grapple_end_events[4],param_00.grapple_end_events[5]); + } + + self delete(); +} + +//Function Number: 3 +grapple_traverse_cleanup(param_00) +{ + var_01 = common_scripts\utility::waittill_any_return(self.grapple_end_events[0],self.grapple_end_events[1],self.grapple_end_events[2],self.grapple_end_events[3],self.grapple_end_events[4],self.grapple_end_events[5]); + if(isdefined(param_00) && var_01 == "killanimscript") + { + self forceteleport(param_00.origin,self.angles,10000); + } + + if(isdefined(self)) + { + self.istraversing = undefined; + self.grapple_land_over = undefined; + self.grapple_config = undefined; + self.grapple_end_anim = undefined; + self.grapple_end_ent = undefined; + self.grapple_target_ent = undefined; + self.grapple_end_events = undefined; + } +} + +//Function Number: 4 +grapple_traverse_init() +{ + level.grapple_traverse_init = 1; + var_00 = []; + var_00[var_00.size] = [-180,-80,%grapple_traverse_vert_enter,%grapple_traverse_vert_loop,%grapple_traverse_up_exit,%grapple_traverse_over_exit]; + var_00[var_00.size] = [-80,-55,%grapple_traverse_up_enter,%grapple_traverse_up_loop,%grapple_traverse_up_exit,%grapple_traverse_over_exit]; + var_00[var_00.size] = [-55,-15,%grapple_traverse_up_enter_45,%grapple_traverse_up_loop_45,%grapple_traverse_up_exit_45,%grapple_traverse_over_exit_45]; + var_00[var_00.size] = [-15,15,%grapple_traverse_horiz_enter,%grapple_traverse_horiz_loop,%grapple_traverse_horiz_exit,%grapple_traverse_horiz_over_exit]; + var_00[var_00.size] = [15,180,%grapple_traverse_horiz_enter,%grapple_traverse_horiz_loop,%grapple_traverse_horiz_exit,%grapple_traverse_horiz_over_exit]; + level.grapple_traverse_configs = var_00; +} + +//Function Number: 5 +grapple_animate(param_00,param_01,param_02) +{ + foreach(var_04 in self.grapple_end_events) + { + self endon(var_04); + } + + if(!isdefined(self.grapple_config)) + { + return; + } + + if(!isdefined(param_01)) + { + param_01 = 0; + } + + var_06 = 0; + if(isdefined(param_02)) + { + var_06 = param_02; + } + + self.traverseanim = param_00; + if(isdefined(self.grapple_target_ent)) + { + self animscripted("grappleanim",self.origin,vectortoangles(self.grapple_end_ent.origin - self.origin),param_00); + } + else + { + self setflaggedanimknoball("grappleanim",param_00,%body,1,var_06,1); + } + + self setanimtime(param_00,0); + thread animscripts\shared::donotetracks("grappleanim"); + wait(max(getanimlength(param_00) - param_01,0)); +} + +//Function Number: 6 +grapple_anim_lerp(param_00,param_01,param_02) +{ + foreach(var_04 in self.grapple_end_events) + { + self endon(var_04); + } + + self endon(param_02); + var_06 = distance(param_01,self.grapple_end_ent.origin); + if(var_06 <= 0) + { + return; + } + + for(;;) + { + var_07 = distance(self.origin,self.grapple_end_ent.origin); + var_08 = clamp(1 - var_07 / var_06,0.0001,0.9999); + self setanimtime(param_00,var_08); + wait(0.05); + } +} + +//Function Number: 7 +grapple_fire(param_00) +{ + if(!isdefined(self.grapple_config)) + { + return; + } + + var_01 = self.grapple_end_ent.origin - (0,0,8); + if(isdefined(self.grapple_target_ent)) + { + var_01 = self.grapple_end_ent.origin; + self.grapple_surface_type = "metal"; + } + else + { + var_02 = bullettrace(var_01,var_01 + param_00 * 60,0); + var_01 = var_02["position"]; + self.grapple_surface_type = var_02["surfacetype"]; + } + + thread grapple_fire_rope_thread(var_01,param_00); + grapple_animate(self.grapple_config[2],0,0.2); + self notify("traverse_grapple_fired"); +} + +//Function Number: 8 +grapple_fire_rope_thread(param_00,param_01) +{ + self endon("death"); + self waittillmatch("grapple_fire","grappleanim"); + maps\_grapple::aud_grapple_launch(); + magicbullet("s1_grapple_impact",param_00 + param_01 * -1,param_00 + param_01,level.player); + var_02 = maps\_utility::spawn_anim_model("grapple_rope",self gettagorigin("tag_weapon_left")); + var_02 linkto(self,"tag_weapon_left",(0,0,0),(0,0,0)); + var_02 thread maps\_anim::anim_single_solo(var_02,"fire_third_person"); + var_02 show(); + var_03 = maps\_utility::spawn_anim_model("grapple_rope_stretch",param_00); + var_03 show(); + if(isdefined(self.grapple_target_ent)) + { + var_03 linkto(self.grapple_target_ent); + } + + var_02 drawfacingentity(var_03); + var_03 drawfacingentity(var_02); + if(distancesquared(param_00,self gettagorigin("tag_weapon_left")) > 64009) + { + var_03 thread maps\_grapple::grapple_rope_length_thread(var_02,1); + } + else + { + var_03 thread maps\_grapple::grapple_rope_length_thread(var_02,2); + var_02 hide(); + } + + var_03 thread grapple_delete_monitor(self); + var_02 thread grapple_delete_monitor(self); + self waittill("traverse_grapple_fired"); + if(isdefined(var_02)) + { + var_02 hide(); + } + + if(isdefined(var_03)) + { + var_03 thread maps\_grapple::grapple_rope_length_thread(var_02,2); + } + + self waittill("traverse_grapple_traveled"); + if(isdefined(var_03)) + { + var_03 delete(); + } + + if(isdefined(var_02)) + { + var_02 delete(); + } +} + +//Function Number: 9 +grapple_travel_time(param_00,param_01) +{ + var_02 = distance(param_00,param_01) / 600; + return var_02; +} + +//Function Number: 10 +grapple_travel(param_00,param_01) +{ + if(!isdefined(self.grapple_config)) + { + return; + } + + self endon("death"); + self.grapple_end_ent endon("death"); + var_02 = grapple_end_anim(); + self setanimtime(var_02,0); + var_03 = getstartorigin(self.grapple_end_ent.origin,self.grapple_end_ent.angles,var_02); + var_04 = getstartangles(self.grapple_end_ent.origin,self.grapple_end_ent.angles,var_02); + var_05 = vectortoyaw(self.grapple_end_ent.origin - param_00); + var_06 = grapple_travel_time(param_00,var_03); + var_07 = self.grapple_config[3]; + thread grapple_animate(var_07); + thread grapple_anim_lerp(var_07,param_00,"traverse_grapple_traveled"); + var_08 = common_scripts\utility::spawn_tag_origin(); + var_08.origin = param_00; + var_08.angles = param_01; + self linkto(var_08,"tag_origin",(0,0,0),(0,0,0)); + if(var_06 > 0) + { + var_08 moveto(var_03,var_06,0,0,self.grapple_end_ent); + } + + var_08 thread grapple_delete_monitor(self); + while(var_06 >= 0) + { + self orientmode("face angle",var_05); + var_06 = var_06 - 0.05; + wait(0.05); + } + + wait(0.05); + self unlink(); + self orientmode("face angle",getstartangles(self.grapple_end_ent.origin,self.grapple_end_ent.angles,var_02)[1]); + self notify("traverse_grapple_traveled"); +} + +//Function Number: 11 +grapple_land() +{ + if(!isdefined(self.grapple_config)) + { + return; + } + + self endon("death"); + maps\_grapple::grapple_landing_sound(self.grapple_surface_type); + self notify("stop_grapplesound_npc"); + var_00 = grapple_end_anim(); + self.traverseanim = var_00; + self.traverseanimroot = %animscript_root; + if(isdefined(self.grapple_target_ent)) + { + self linkto(self.grapple_target_ent); + self animscripted("grappleanim",self.grapple_end_ent.origin,self.grapple_end_ent.angles,var_00); + } + else + { + self setflaggedanimknoballrestart("grappleanim",var_00,%animscript_root,1,0,1); + } + + childthread animscripts\shared::donotetracks("grappleanim",::animscripts\traverse\shared::handletraversenotetracks); + wait(getanimlength(var_00)); + self notify("grappleanim","end"); + self notify("traverse_grapple_landed"); +} + +//Function Number: 12 +grapple_end_anim() +{ + if(isdefined(self.grapple_end_anim)) + { + return self.grapple_end_anim; + } + + if(isdefined(self.grapple_land_over) && self.grapple_land_over) + { + return self.grapple_config[5]; + } + + return self.grapple_config[4]; +} + +//Function Number: 13 +trace_end_position(param_00,param_01) +{ + var_02 = 32.5; + var_03 = param_01.origin; + var_04 = self aiphysicstrace(var_03,var_03 - (0,0,50),undefined,undefined,1,1,1); + if(var_04["fraction"] < 1) + { + var_03 = var_04["position"]; + } + + var_05 = self.origin - var_03; + var_06 = vectornormalize((var_05[0],var_05[1],0)); + if(isdefined(param_01.angles)) + { + var_06 = anglestoforward(param_01.angles) * -1; + } + + var_03 = var_03 + var_06 * 100; + var_03 = var_03 - (0,0,5); + var_04 = self aiphysicstrace(var_03,(param_01.origin[0],param_01.origin[1],var_03[2]),undefined,undefined,1,1,1); + if(var_04["fraction"] < 1) + { + var_03 = var_04["position"]; + } + else + { + var_03 = var_03 + var_06 * 60; + } + + var_07 = param_01.origin[2] - var_02; + var_08 = (var_03[0],var_03[1],param_01.origin[2]) + (0,0,70) + var_06 * -10; + var_04 = self aiphysicstrace(var_08,var_08 + (0,0,-100),undefined,undefined,1,1,1); + if(var_04["fraction"] < 1) + { + var_07 = var_04["position"][2]; + } + + var_07 = var_07 + 0.5; + var_03 = (var_03[0],var_03[1],var_07); + var_03 = var_03 + var_06 * -15; + if(vectordot(param_01.origin - var_03,var_06) > 0) + { + var_03 = (param_01.origin[0],param_01.origin[1],var_03[2]) + var_06; + } + + self.grapple_land_over = var_07 - 16 > param_01.origin[2]; + return var_03; +} + +//Function Number: 14 +grapple_add_void_point(param_00,param_01,param_02) +{ + if(!isdefined(level.grapple_void_points)) + { + level.grapple_void_points = []; + } + + var_03 = spawnstruct(); + var_03.origin = param_00; + var_03.radiussq = param_01 * param_01; + var_03.endtime = gettime() + param_02 * 1000; + var_04 = gettime(); + foreach(var_07, var_06 in level.grapple_void_points) + { + if(var_06.endtime <= var_04) + { + level.grapple_void_points[var_07] = var_03; + return; + } + } + + level.grapple_void_points[level.grapple_void_points.size] = var_03; +} \ No newline at end of file diff --git a/AW/PC/maps/_hand_signals.gsc b/AW/PC/maps/_hand_signals.gsc new file mode 100644 index 0000000..95461ee --- /dev/null +++ b/AW/PC/maps/_hand_signals.gsc @@ -0,0 +1,43 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _hand_signals.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 30 ms + * Timestamp: 4/22/2024 2:21:18 AM +*******************************************************************/ + +//Function Number: 1 +inithandsignals() +{ + level.scr_anim["generic"]["signal_moveout_cqb"] = %cqb_stand_signal_move_out; + level.scr_anim["generic"]["signal_moveup_cqb"] = %cqb_stand_signal_move_up; + level.scr_anim["generic"]["signal_stop_cqb"] = %cqb_stand_signal_stop; + level.scr_anim["generic"]["signal_onme_cqb"] = %cqb_stand_wave_on_me; + level.scr_anim["generic"]["signal_enemy_cqb"] = %cqb_stand_signal_stop; + level.scr_anim["generic"]["signal_moveout"] = %stand_exposed_wave_move_out; + level.scr_anim["generic"]["signal_moveup"] = %stand_exposed_wave_move_up; + level.scr_anim["generic"]["signal_stop"] = %stand_exposed_wave_halt; + level.scr_anim["generic"]["signal_onme"] = %stand_exposed_wave_on_me; + level.scr_anim["generic"]["signal_enemy"] = %stand_exposed_wave_target_spotted; + level.scr_anim["generic"]["signal_go"] = %stand_exposed_wave_go; + level.scr_anim["generic"]["signal_moveout_crouch"] = %cqb_stand_wave_go_v1; + level.scr_anim["generic"]["signal_moveup_crouch"] = %cqb_stand_wave_go_v1; + level.scr_anim["generic"]["signal_stop_crouch"] = %cqb_stand_wave_go_v1; + level.scr_anim["generic"]["signal_onme_crouch"] = %cqb_stand_wave_go_v1; + level.scr_anim["generic"]["signal_enemy_crouch"] = %cqb_stand_wave_go_v1; + level.scr_anim["generic"]["signal_go_crouch"] = %cqb_stand_wave_go_v1; + level.scr_anim["generic"]["signal_moveout_coverR"] = %cornerstndr_alert_signal_move_out; + level.scr_anim["generic"]["signal_moveup_coverR"] = %cornerstndr_alert_signal_move_out; + level.scr_anim["generic"]["signal_stop_coverR"] = %cornerstndr_alert_signal_stopstay_down; + level.scr_anim["generic"]["signal_onme_coverR"] = %cornerstndr_alert_signal_on_me; + level.scr_anim["generic"]["signal_enemy_coverR"] = %cornerstndr_alert_signal_enemy_spotted; + level.scr_anim["generic"]["signal_go_coverR"] = %cornerstndr_alert_signal_move_out; + level.scr_anim["generic"]["signal_moveout_coverL"] = %corner_standl_signal_move; + level.scr_anim["generic"]["signal_moveup_coverL"] = %corner_standl_signal_move; + level.scr_anim["generic"]["signal_stop_coverL"] = %corner_standl_signal_hold; + level.scr_anim["generic"]["signal_onme_coverL"] = %corner_standl_signal_move; + level.scr_anim["generic"]["signal_enemy_coverL"] = %corner_standl_signal_look; + level.scr_anim["generic"]["signal_go_coverL"] = %corner_standl_signal_move; +} \ No newline at end of file diff --git a/AW/PC/SP/maps/_helicopter_ai.gsc b/AW/PC/maps/_helicopter_ai.gsc similarity index 80% rename from AW/PC/SP/maps/_helicopter_ai.gsc rename to AW/PC/maps/_helicopter_ai.gsc index d5d0d28..2376b1d 100644 --- a/AW/PC/SP/maps/_helicopter_ai.gsc +++ b/AW/PC/maps/_helicopter_ai.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_helicopter_ai.gsc + * Decompiled File: _helicopter_ai.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 10 - * Decompile Time: 117 ms - * Timestamp: 10/27/2023 1:59:27 AM + * Decompile Time: 177 ms + * Timestamp: 4/22/2024 2:21:19 AM *******************************************************************/ //Function Number: 1 @@ -27,20 +27,48 @@ evasive_createmaneuvers(param_00,param_01) switch(param_01) { case "strafe_left_right": + param_00 evasive_addpoint(3000,-1500,500,"average"); + param_00 evasive_addpoint(6000,3000,-700,"average"); + param_00 evasive_addpoint(3000,-1500,200,"average"); break; case "strafe_right_left": + param_00 evasive_addpoint(3000,1500,500,"average"); + param_00 evasive_addpoint(6000,-3000,-700,"average"); + param_00 evasive_addpoint(3000,1500,200,"average"); break; case "360_clockwise": + param_00 evasive_addpoint(1500,1500,200,"none"); + param_00 evasive_addpoint(0,1500,200,"none"); + param_00 evasive_addpoint(-1500,1500,200,"none"); + param_00 evasive_addpoint(-1500,0,0,"none"); + param_00 evasive_addpoint(-1000,-1000,-200,"none"); + param_00 evasive_addpoint(0,-1000,-200,"none"); + param_00 evasive_addpoint(1000,-1000,-200,"none"); break; case "360_counter_clockwise": + param_00 evasive_addpoint(1500,-1500,200,"none"); + param_00 evasive_addpoint(0,-1500,200,"none"); + param_00 evasive_addpoint(-1500,-1500,200,"none"); + param_00 evasive_addpoint(-1500,0,0,"none"); + param_00 evasive_addpoint(-1000,1000,-200,"none"); + param_00 evasive_addpoint(0,1000,-200,"none"); + param_00 evasive_addpoint(1000,1000,-200,"none"); break; case "random": - break; + var_02 = []; + var_02[0] = "strafe_left_right"; + var_02[1] = "strafe_right_left"; + var_02[2] = "360_clockwise"; + var_02[3] = "360_counter_clockwise"; + return evasive_createmaneuvers(param_00,var_02[randomint(var_02.size)]); } + + var_03 = evasive_getallpoints(param_01); + return var_03; } //Function Number: 3 diff --git a/AW/PC/SP/maps/_helicopter_globals.gsc b/AW/PC/maps/_helicopter_globals.gsc similarity index 69% rename from AW/PC/SP/maps/_helicopter_globals.gsc rename to AW/PC/maps/_helicopter_globals.gsc index 8a496a5..f08661b 100644 --- a/AW/PC/SP/maps/_helicopter_globals.gsc +++ b/AW/PC/maps/_helicopter_globals.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_helicopter_globals.gsc + * Decompiled File: _helicopter_globals.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 19 - * Decompile Time: 224 ms - * Timestamp: 10/27/2023 1:59:28 AM + * Decompile Time: 314 ms + * Timestamp: 4/22/2024 2:21:20 AM *******************************************************************/ //Function Number: 1 @@ -59,17 +59,55 @@ heli_firelink(param_00) switch(var_03) { case "zippy_burst": + wait(1); + fire_missile("hind_zippy",1,var_01); + wait(0.1); + fire_missile("hind_zippy",1,var_01); + wait(0.2); + fire_missile("hind_zippy",1,var_01); + wait(0.3); + fire_missile("hind_zippy",1,var_01); + wait(0.3); + fire_missile("hind_zippy",1,var_01); break; case "apache_zippy": + var_04 = [0.1,0.2,0.3]; + wait(1); + var_01.origin = var_01.origin + (0,0,-150); + var_01 moveto(var_01.origin + (0,0,150),0.6,0,0); + foreach(var_06 in var_04) + { + if(!isdefined(self)) + { + continue; + } + + fire_missile("apache_zippy",1,var_01); + wait(var_06); + } break; case "hind_rpg": + fire_missile("hind_rpg",5,var_01,0.3); break; default: + if(self.classname == "script_vehicle_littlebird_armed" || self.classname == "script_vehicle_littlebird_md500") + { + vehicle_scripts\_attack_heli::heli_fire_missiles(var_01,2,0.25); + } + else + { + fire_missile("hind_zippy",5,var_01,0.3); + } break; } + + if(var_02) + { + var_01 delete(); + } } //Function Number: 5 @@ -553,68 +591,222 @@ fire_missile(param_00,param_01,param_02,param_03,param_04) switch(param_00) { case "f15_missile": + var_05 = "cobra_Sidewinder"; + var_08[0] = "le_side_wing_jnt"; + var_08[1] = "ri_side_wing_jnt"; break; case "mi28_seeker": + var_05 = "cobra_seeker"; + var_08[0] = "tag_store_L_1_a"; + var_08[1] = "tag_store_R_1_a"; + var_08[2] = "tag_store_L_2_a"; + var_08[3] = "tag_store_R_2_a"; break; case "ffar": + var_05 = "cobra_FFAR"; + var_08[0] = "tag_store_r_2"; break; case "seeker": + var_05 = "cobra_seeker"; + var_08[0] = "tag_store_r_2"; break; case "ffar_bog_a_lite": + var_05 = "cobra_FFAR_bog_a_lite"; + var_08[0] = "tag_store_r_2"; break; case "ffar_airlift": + var_05 = "cobra_FFAR_airlift"; + var_08[0] = "tag_store_L_wing"; + var_08[1] = "tag_store_R_wing"; break; case "ffar_airlift_nofx": + var_05 = "cobra_FFAR_airlift_nofx"; + var_08[0] = "tag_store_L_wing"; + var_08[1] = "tag_store_R_wing"; break; case "cobra_zippy": + var_05 = "zippy_rockets"; + var_08[0] = "tag_store_L_wing"; + var_08[1] = "tag_store_R_wing"; break; case "apache_zippy": + var_05 = "zippy_rockets_apache"; + var_08[0] = "tag_flash_2"; + var_08[1] = "tag_flash_3"; break; case "apache_zippy_nd": + var_05 = "zippy_rockets_apache_nodamage"; + var_08[0] = "tag_flash_2"; + var_08[1] = "tag_flash_3"; break; case "mi28_zippy": + var_05 = "zippy_rockets_apache"; + var_08[0] = "tag_store_L_wing"; + var_08[1] = "tag_store_R_wing"; break; case "mi28_zippy_cheap": + var_05 = "zippy_rockets_apache_cheap"; + var_08[0] = "tag_store_L_wing"; + var_08[1] = "tag_store_R_wing"; break; case "cobra_turret": + var_05 = "hind_turret_penetration"; + var_08[0] = "tag_store_L_wing"; + var_08[1] = "tag_store_R_wing"; break; case "ffar_hind": + var_07 = "hind_turret"; + var_05 = "hind_FFAR"; + var_08[0] = "tag_missile_left"; + var_08[1] = "tag_missile_right"; break; case "hind_zippy": + var_07 = "hind_turret"; + var_05 = "zippy_rockets"; + var_08[0] = "tag_missile_left"; + var_08[1] = "tag_missile_right"; break; case "hind_rpg": + var_07 = "hind_turret"; + var_05 = "rpg"; + var_08[0] = "tag_missile_left"; + var_08[1] = "tag_missile_right"; break; case "hind_rpg_cheap": + var_07 = "hind_turret"; + var_05 = "rpg_cheap"; + var_08[0] = "tag_missile_left"; + var_08[1] = "tag_missile_right"; break; case "ffar_hind_nodamage": + var_07 = "hind_turret"; + var_05 = "hind_FFAR_nodamage"; + var_08[0] = "tag_missile_left"; + var_08[1] = "tag_missile_right"; break; case "ffar_mi28_village_assault": + var_07 = "hind_turret"; + var_05 = "mi28_ffar_village_assault"; + var_08[0] = "tag_store_L_2_a"; + var_08[1] = "tag_store_R_2_a"; + var_08[2] = "tag_store_L_2_b"; + var_08[3] = "tag_store_R_2_b"; + var_08[4] = "tag_store_L_2_c"; + var_08[5] = "tag_store_R_2_c"; + var_08[6] = "tag_store_L_2_d"; + var_08[7] = "tag_store_R_2_d"; break; case "ffar_co_rescue": + var_05 = "cobra_FFAR_bog_a_lite"; + var_08[0] = "tag_store_R_2_a"; + var_08[1] = "tag_store_L_2_a"; break; default: break; } + + var_06 = weaponfiretime(var_05); + if(isdefined(self.nextmissiletag)) + { + var_09 = self.nextmissiletag; + } + else + { + var_09 = -1; + } + + for(var_0A = 0;var_0A < param_01;var_0A++) + { + var_09++; + var_09 = var_09 % var_08.size; + if(param_00 == "ffar_mi28_village_assault") + { + if(isdefined(param_02) && isdefined(param_02.origin)) + { + magicbullet(var_05,self gettagorigin(var_08[var_09]),param_02.origin); + if(isdefined(level._effect["ffar_mi28_muzzleflash"])) + { + playfxontag(common_scripts\utility::getfx("ffar_mi28_muzzleflash"),self,var_08[var_09]); + } + + thread delayed_earthquake(0.1,0.5,0.2,param_02.origin,1600); + } + } + else + { + self setvehweapon(var_05); + if(isdefined(param_02)) + { + var_0B = self fireweapon(var_08[var_09],param_02); + soundscripts\_audio::deprecated_aud_send_msg("missile_fired",var_0B); + switch(param_00) + { + case "ffar_airlift": + case "ffar_bog_a_lite": + case "ffar": + var_0B thread missilelosetarget(0.1); + break; + + case "apache_zippy_wall": + case "mi28_zippy_cheap": + case "mi28_zippy": + case "apache_zippy_nd": + case "apache_zippy": + if(!isdefined(param_04)) + { + var_0B thread missilelosetarget(0.6); + } + else + { + var_0B thread missilelosetarget(param_04); + } + break; + + default: + break; + } + } + else + { + var_0B = self fireweapon(var_09[var_0A]); + } + + self notify("missile_fired",var_0B); + } + + self.nextmissiletag = var_09; + if(var_0A < param_01 - 1) + { + wait(var_06); + } + + if(isdefined(param_03)) + { + wait(param_03); + } + } + + self setvehweapon(var_07); } //Function Number: 18 diff --git a/AW/PC/maps/_high_speed_clouds.gsc b/AW/PC/maps/_high_speed_clouds.gsc new file mode 100644 index 0000000..70691b3 --- /dev/null +++ b/AW/PC/maps/_high_speed_clouds.gsc @@ -0,0 +1,313 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _high_speed_clouds.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 10 + * Decompile Time: 199 ms + * Timestamp: 4/22/2024 2:21:21 AM +*******************************************************************/ + +//Function Number: 1 +cloudfastinit(param_00,param_01,param_02,param_03) +{ + level.fastcloud_rumble_ent = level.player maps\_utility::get_rumble_ent(); + level._effect["fast_cloud_0"] = loadfx("fx/misc/blank"); + level._effect["fast_cloud_1"] = loadfx("vfx/map/crash/wind_streaks_fast_1"); + level._effect["fast_cloud_2"] = loadfx("vfx/map/crash/wind_streaks_fast_2"); + level._effect["fast_cloud_3"] = loadfx("vfx/map/crash/wind_streaks_fast_3"); + level._effect["fast_cloud_4"] = loadfx("vfx/map/crash/wind_streaks_fast_4"); + level._effect["fast_cloud_5"] = loadfx("vfx/map/crash/wind_streaks_fast_5"); + level._effect["fast_cloud_6"] = loadfx("vfx/map/crash/wind_streaks_fast_6"); + level._effect["fast_cloud_7"] = loadfx("vfx/map/crash/wind_streaks_fast_7"); + level._effect["fast_cloud_8"] = loadfx("vfx/map/crash/wind_streaks_fast_8"); + level._effect["fast_cloud_9"] = loadfx("vfx/map/crash/wind_streaks_fast_9"); + level._effect["fast_cloud_10"] = loadfx("vfx/map/crash/wind_streaks_fast10"); + level._effect["screen_splash_drops_0"] = loadfx("fx/misc/blank"); + level._effect["screen_splash_drops_1"] = loadfx("vfx/map/crash/screen_splash_drops_fast_lght"); + level._effect["screen_splash_drops_2"] = loadfx("vfx/map/crash/screen_splash_drops_fast_lght"); + level._effect["screen_splash_drops_3"] = loadfx("vfx/map/crash/screen_splash_drops_fast_lght"); + level._effect["screen_splash_drops_4"] = loadfx("vfx/map/crash/screen_splash_drops_fast_lght"); + level._effect["screen_splash_drops_5"] = loadfx("vfx/map/crash/screen_splash_drops_fast"); + level._effect["screen_splash_drops_6"] = loadfx("vfx/map/crash/screen_splash_drops_fast"); + level._effect["screen_splash_drops_7"] = loadfx("vfx/map/crash/screen_splash_drops_fast"); + level._effect["screen_splash_drops_8"] = loadfx("vfx/map/crash/screen_splash_drops_fast_hvy"); + level._effect["screen_splash_drops_9"] = loadfx("vfx/map/crash/screen_splash_drops_fast_hvy"); + level._effect["screen_splash_drops_10"] = loadfx("vfx/map/crash/screen_splash_drops_fast_hvy"); + level._effect["lf_screen_splash_drops_0"] = loadfx("fx/misc/blank"); + level._effect["lf_screen_splash_drops_1"] = loadfx("vfx/map/crash/screen_splash_drops_fast_lhs_lght"); + level._effect["lf_screen_splash_drops_2"] = loadfx("vfx/map/crash/screen_splash_drops_fast_lhs_lght"); + level._effect["lf_screen_splash_drops_3"] = loadfx("vfx/map/crash/screen_splash_drops_fast_lhs_lght"); + level._effect["lf_screen_splash_drops_4"] = loadfx("vfx/map/crash/screen_splash_drops_fast_lhs_lght"); + level._effect["lf_screen_splash_drops_5"] = loadfx("vfx/map/crash/screen_splash_drops_fast_lhs"); + level._effect["lf_screen_splash_drops_6"] = loadfx("vfx/map/crash/screen_splash_drops_fast_lhs"); + level._effect["lf_screen_splash_drops_7"] = loadfx("vfx/map/crash/screen_splash_drops_fast_lhs"); + level._effect["lf_screen_splash_drops_8"] = loadfx("vfx/map/crash/screen_splash_drops_fast_lhs"); + level._effect["lf_screen_splash_drops_9"] = loadfx("vfx/map/crash/screen_splash_drops_fast_lhs"); + level._effect["lf_screen_splash_drops_10"] = loadfx("vfx/map/crash/screen_splash_drops_fast_lhs"); + level._effect["rt_screen_splash_drops_0"] = loadfx("fx/misc/blank"); + level._effect["rt_screen_splash_drops_1"] = loadfx("vfx/map/crash/screen_splash_drops_fast_rhs_lght"); + level._effect["rt_screen_splash_drops_2"] = loadfx("vfx/map/crash/screen_splash_drops_fast_rhs_lght"); + level._effect["rt_screen_splash_drops_3"] = loadfx("vfx/map/crash/screen_splash_drops_fast_rhs_lght"); + level._effect["rt_screen_splash_drops_4"] = loadfx("vfx/map/crash/screen_splash_drops_fast_rhs_lght"); + level._effect["rt_screen_splash_drops_5"] = loadfx("vfx/map/crash/screen_splash_drops_fast_rhs"); + level._effect["rt_screen_splash_drops_6"] = loadfx("vfx/map/crash/screen_splash_drops_fast_rhs"); + level._effect["rt_screen_splash_drops_7"] = loadfx("vfx/map/crash/screen_splash_drops_fast_rhs"); + level._effect["rt_screen_splash_drops_8"] = loadfx("vfx/map/crash/screen_splash_drops_fast_rhs"); + level._effect["rt_screen_splash_drops_9"] = loadfx("vfx/map/crash/screen_splash_drops_fast_rhs"); + level._effect["rt_screen_splash_drops_10"] = loadfx("vfx/map/crash/screen_splash_drops_fast_rhs"); + level._effect["rear_screen_splash_drops"] = loadfx("vfx/map/crash/screen_splash_drops_fast_rear"); + if(param_00 == "none") + { + level.fastcloudlevel = 0; + level._effect["fast_clouds"] = level._effect["fast_cloud_" + level.fastcloudlevel]; + level._effect["screen_splash_drops"] = level._effect["screen_splash_drops_" + level.fastcloudlevel]; + level._effect["lf_screen_splash_drops"] = level._effect["lf_screen_splash_drops_" + level.fastcloudlevel]; + level._effect["rt_screen_splash_drops"] = level._effect["rt_screen_splash_drops_" + level.fastcloudlevel]; + level.fastcloudrumble = level.fastcloudlevel * 0.1 * 0.25; + level.fastcloud_rumble_ent maps\_utility::set_rumble_intensity(level.fastcloudrumble); + cloudfastnone(0.1); + } + else if(param_00 == "light") + { + level.fastcloudlevel = 1; + level._effect["fast_clouds"] = level._effect["fast_cloud_" + level.fastcloudlevel]; + level._effect["screen_splash_drops"] = level._effect["screen_splash_drops_" + level.fastcloudlevel]; + level._effect["lf_screen_splash_drops"] = level._effect["lf_screen_splash_drops_" + level.fastcloudlevel]; + level._effect["rt_screen_splash_drops"] = level._effect["rt_screen_splash_drops_" + level.fastcloudlevel]; + level.fastcloudrumble = level.fastcloudlevel * 0.1 * 0.25; + level.fastcloud_rumble_ent maps\_utility::set_rumble_intensity(level.fastcloudrumble); + cloudfastlight(0.1); + } + else if(param_00 == "medium") + { + level.fastcloudlevel = 5; + level._effect["fast_clouds"] = level._effect["fast_cloud_" + level.fastcloudlevel]; + level._effect["screen_splash_drops"] = level._effect["screen_splash_drops_" + level.fastcloudlevel]; + level._effect["lf_screen_splash_drops"] = level._effect["lf_screen_splash_drops_" + level.fastcloudlevel]; + level._effect["rt_screen_splash_drops"] = level._effect["rt_screen_splash_drops_" + level.fastcloudlevel]; + level.fastcloudrumble = level.fastcloudlevel * 0.1 * 0.25; + level.fastcloud_rumble_ent maps\_utility::set_rumble_intensity(level.fastcloudrumble); + cloudfastmedium(0.1); + } + else + { + level.fastcloudlevel = 10; + level._effect["fast_clouds"] = level._effect["fast_cloud_" + level.fastcloudlevel]; + level._effect["screen_splash_drops"] = level._effect["screen_splash_drops_" + level.fastcloudlevel]; + level._effect["lf_screen_splash_drops"] = level._effect["lf_screen_splash_drops_" + level.fastcloudlevel]; + level._effect["rt_screen_splash_drops"] = level._effect["rt_screen_splash_drops_" + level.fastcloudlevel]; + level.fastcloudrumble = level.fastcloudlevel * 0.1 * 0.25; + level.fastcloud_rumble_ent maps\_utility::set_rumble_intensity(level.fastcloudrumble); + cloudfastheavy(0.1); + } + + if(!isdefined(param_01)) + { + level.wind_dir = (0,0,0); + } + else + { + level.wind_dir = param_01; + } + + level.default_sun_light = getmapsunlight(); + thread cloudfastplayer(param_02); + if(!isdefined(param_03)) + { + thread cloudsunflicker(); + } +} + +//Function Number: 2 +cloudfastheavy(param_00) +{ + level notify("fast_cloud_change","heavy",param_00); + level thread cloudfasteffectchange(10,param_00); + wait(param_00); +} + +//Function Number: 3 +cloudfastmedium(param_00) +{ + level notify("fast_cloud_change","medium",param_00); + level thread cloudfasteffectchange(8,param_00); + wait(param_00); +} + +//Function Number: 4 +cloudfastlight(param_00) +{ + level notify("fast_cloud_change","light",param_00); + level thread cloudfasteffectchange(5,param_00); + wait(param_00); +} + +//Function Number: 5 +cloudfastnone(param_00) +{ + level notify("fast_cloud_change","none",param_00); + level thread cloudfasteffectchange(0,param_00); + wait(param_00); +} + +//Function Number: 6 +cloudfastplayer(param_00) +{ + level endon("stop_fast_clouds"); + var_01 = getentarray("player","classname")[0]; + if(isdefined(param_00) && param_00 >= 0) + { + var_01 thread cloudpushplayer(param_00,1); + } + + for(;;) + { + var_02 = level.wind_dir; + if(level.fastcloudlevel > 5) + { + screenshake(level.player.origin,level.fastcloudlevel * 0.1 * 0.09,0,0,0.3,0,0,500,15,1,1); + } + else + { + screenshake(level.player.origin,level.fastcloudlevel * 0.1 * 0.15,0,0,0.3,0,0,500,15,1,1); + } + + playfx(level._effect["fast_clouds"],var_01.origin + (0,0,16),(var_02[0],var_02[1] + 90,var_02[2])); + var_03 = level.player.angles; + if(level.player islinked()) + { + var_03 = var_03 + (0,level.player getlinkedparent().angles[1],0); + } + + var_04 = anglestoforward((0,var_02[1],0)); + var_05 = anglestoforward(var_03); + var_06 = vectordot(var_04,var_05); + var_07 = vectorcross((0,0,1),var_04); + var_08 = vectordot(var_07,var_05); + if(var_06 >= 0.87) + { + playfx(level._effect["screen_splash_drops"],var_01.origin); + } + else if(var_06 <= -0.87) + { + playfx(level._effect["rear_screen_splash_drops"],var_01.origin); + } + else if(var_08 >= 0) + { + playfx(level._effect["lf_screen_splash_drops"],var_01.origin); + } + else + { + playfx(level._effect["rt_screen_splash_drops"],var_01.origin); + } + + wait(0.3); + } +} + +//Function Number: 7 +cloudsunflicker() +{ + level endon("stop_sun_flicker"); + for(;;) + { + setsunlight(level.default_sun_light[0] + level.fastcloudlevel * -0.055,level.default_sun_light[1] + level.fastcloudlevel * -0.04,level.default_sun_light[2] + level.fastcloudlevel * -0.02); + wait(0.3); + } +} + +//Function Number: 8 +cloudsunreset() +{ + level notify("stop_sun_flicker"); + wait(0.3); + resetsunlight(); +} + +//Function Number: 9 +cloudfasteffectchange(param_00,param_01) +{ + level notify("fast_cloud_level_change"); + level endon("fast_cloud_level_change"); + if(!isdefined(param_01) || param_01 == 0) + { + } + + if(level.fastcloudlevel > param_00) + { + var_02 = level.fastcloudlevel - param_00; + param_01 = param_01 / var_02; + for(var_03 = 0;var_03 < var_02;var_03++) + { + wait(param_01); + level.fastcloudlevel--; + level._effect["fast_clouds"] = level._effect["fast_cloud_" + level.fastcloudlevel]; + level._effect["screen_splash_drops"] = level._effect["screen_splash_drops_" + level.fastcloudlevel]; + level._effect["lf_screen_splash_drops"] = level._effect["lf_screen_splash_drops_" + level.fastcloudlevel]; + level._effect["rt_screen_splash_drops"] = level._effect["rt_screen_splash_drops_" + level.fastcloudlevel]; + if(level.fastcloudlevel > 4) + { + level.fastcloudrumble = level.fastcloudlevel * 0.1 * 0.25; + level.fastcloud_rumble_ent maps\_utility::rumble_ramp_to(level.fastcloudrumble,param_01); + continue; + } + + level.fastcloud_rumble_ent maps\_utility::rumble_ramp_to(0,param_01); + } + } + + if(level.fastcloudlevel < param_00) + { + var_02 = param_00 - level.fastcloudlevel; + param_01 = param_01 / var_02; + for(var_03 = 0;var_03 < var_02;var_03++) + { + wait(param_01); + level.fastcloudlevel++; + level._effect["fast_clouds"] = level._effect["fast_cloud_" + level.fastcloudlevel]; + level._effect["screen_splash_drops"] = level._effect["screen_splash_drops_" + level.fastcloudlevel]; + level._effect["lf_screen_splash_drops"] = level._effect["lf_screen_splash_drops_" + level.fastcloudlevel]; + level._effect["rt_screen_splash_drops"] = level._effect["rt_screen_splash_drops_" + level.fastcloudlevel]; + if(level.fastcloudlevel > 4) + { + level.fastcloudrumble = level.fastcloudlevel * 0.1 * 0.25; + level.fastcloud_rumble_ent maps\_utility::rumble_ramp_to(level.fastcloudrumble,param_01); + continue; + } + + level.fastcloud_rumble_ent maps\_utility::rumble_ramp_to(0,param_01); + } + } +} + +//Function Number: 10 +cloudpushplayer(param_00,param_01) +{ + level endon("stop_fast_clouds"); + var_02 = level.wind_dir; + var_03 = anglestoforward((0,180 - var_02[1],0)); + var_04 = (0,0,0); + for(;;) + { + if(level.fastcloudlevel >= param_00) + { + var_04 = vectorlerp(var_04,var_03 * level.fastcloudlevel - param_00 + 1 * 100 * 0.05,0.5); + } + else + { + var_04 = vectorlerp(var_04,(0,0,0),0.25); + } + + if(!isdefined(param_01) || !param_01 || !self attackbuttonpressed()) + { + self pushplayervector(var_04,1); + } + else + { + self pushplayervector((0,0,0),1); + } + + wait(0.05); + } +} \ No newline at end of file diff --git a/AW/PC/maps/_hms_ai_utility.gsc b/AW/PC/maps/_hms_ai_utility.gsc new file mode 100644 index 0000000..81b345e --- /dev/null +++ b/AW/PC/maps/_hms_ai_utility.gsc @@ -0,0 +1,937 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _hms_ai_utility.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 42 + * Decompile Time: 710 ms + * Timestamp: 4/22/2024 2:21:23 AM +*******************************************************************/ + +//Function Number: 1 +gototogoal(param_00,param_01,param_02) +{ + self endon("death"); + self.goalradius = 64; + if(!isdefined(param_01) || !isstring(param_01)) + { + param_01 = "default"; + } + + switch(param_01) + { + case "default": + self.enablesprint = 0; + self.enablecqb = 0; + break; + + case "sprint": + self.enablesprint = 1; + self.enablecqb = 0; + break; + + case "cqb": + self.enablecqb = 1; + self.enablesprint = 0; + break; + } + + if(!isdefined(param_02)) + { + param_02 = 0; + } + + if(param_02 == 1) + { + playerleashdisable(); + } + + if(self.enablesprint == 1 && distance(self.origin,param_00.origin) >= 512) + { + maps\_utility::enable_sprint(); + maps\_utility::disable_pain(); + } + + if(self.enablecqb == 1) + { + maps\_utility::enable_cqbwalk(); + } + + self notify("newgoal"); + maps\_utility::set_goal_node(param_00); + wait 0.05; + _waittillgoalornewgoal(); + if(isdefined(self.sprint) && self.sprint == 1) + { + maps\_utility::disable_sprint(); + maps\_utility::enable_pain(); + } + + if(self.enablecqb == 1) + { + maps\_utility::disable_cqbwalk(); + } +} + +//Function Number: 2 +_waittillgoalornewgoal() +{ + self endon("newgoal"); + self waittill("goal"); +} + +//Function Number: 3 +playerleashbehavior(param_00,param_01,param_02,param_03) +{ + self endon("death"); + self endon("disable_leash_behavior"); + if(isdefined(self.bplayerleash) && self.bplayerleash == 1) + { + return; + } + + self.bplayerleash = 1; + common_scripts\utility::create_dvar("AI_Leash_Debug",0); + common_scripts\utility::create_dvar("AI_Score_Debug",0); + common_scripts\utility::create_dvar("AI_Teleport_Debug",0); + self.goalradius = 16; + self.fixednodesaferadius = 64; + self.script_careful = 1; + self.disablelongpain = 1; + self.ignoresuppression = 1; + if(isdefined(self.bestcovernode)) + { + self.bestcovernode = undefined; + } + + self.leashplayerdistancetether = 400; + if(isdefined(param_00)) + { + self.leashplayerdistancetether = param_00; + } + + self.leashcoversearchradius = 400; + if(isdefined(param_01)) + { + self.leashcoversearchradius = param_01; + } + + self.leashcoversearchradiusmin = 64; + self.leashsearchoffset = 128; + if(isdefined(param_02)) + { + self.leashsearchoffset = param_02; + } + + var_04 = self.leashsearchoffset * 2; + self.leashheightoffset = 32; + if(isdefined(param_03)) + { + self.leashheightoffset = param_03; + } + + thread _teleportleashbehavior(); + childthread _updateenemygroupdirection(); + childthread _updatebuddycovernodes(); + var_05 = randomfloatrange(8,15); + for(;;) + { + wait(0.05); + var_05 = var_05 - 0.05; + if(var_05 < 0 || !maps\_utility::players_within_distance(self.leashplayerdistancetether,self.origin)) + { + if(common_scripts\utility::cointoss()) + { + movetocovernearplayer(); + self waittill("goal"); + } + + var_05 = randomfloatrange(3,6); + } + } +} + +//Function Number: 4 +playerleashdisable() +{ + self.bplayerleash = 0; + self notify("disable_leash_behavior"); +} + +//Function Number: 5 +_updateenemygroupdirection() +{ + self endon("death"); + self endon("disable_leash_behavior"); + level notify("UpdateEnemyGroupDirection"); + level endon("UpdateEnemyGroupDirection"); + var_00 = getaiarray("axis"); + self.enemydirection = undefined; + for(;;) + { + wait(0.05); + var_00 = getaiarray("axis"); + if(var_00.size == 0) + { + self.enemydirection = undefined; + continue; + } + + var_01 = (0,0,0); + foreach(var_03 in var_00) + { + var_01 = var_01 + vectornormalize(var_03.origin - self.origin); + } + + var_01 = (var_01[0],var_01[1],0); + var_01 = var_01 / var_00.size; + self.enemydirection = vectornormalize(var_01); + } +} + +//Function Number: 6 +_updatebuddycovernodes() +{ + self endon("death"); + self endon("disable_leash_behavior"); + level notify("UpdateBuddyCoverNodes"); + level endon("UpdateBuddyCoverNodes"); + var_00 = maps\_sarray::sarray_spawn(); + for(;;) + { + wait(0.05); + if(!_evaluatebuddycovernodes(var_00)) + { + continue; + } + + var_01 = var_00.array[0]; + if(!isdefined(var_01)) + { + continue; + } + + if(getdvarint("AI_Score_Debug") == 1) + { + } + + self.bestcovernode = var_00.array[0]; + } +} + +//Function Number: 7 +_evaluatebuddycovernodes(param_00) +{ + var_01 = anglestoforward(level.player.angles); + if(isdefined(self.enemydirection)) + { + var_01 = self.enemydirection; + } + + var_02 = level.player.origin + var_01 * self.leashsearchoffset; + var_03 = getnodesinradiussorted(var_02,self.leashcoversearchradius,self.leashcoversearchradiusmin,self.leashheightoffset,"cover"); + if(var_03.size == 0) + { + return 0; + } + + param_00 maps\_sarray::sarray_clear(); + var_04 = getdvarint("AI_Score_Debug"); + foreach(var_06 in var_03) + { + wait(0.05); + var_06.score = _determineallynodescore(self,var_06,self.leashcoversearchradius); + if(var_06.score < 0) + { + continue; + } + + if(var_04 == 1) + { + } + + param_00 maps\_sarray::sarray_push(var_06); + } + + maps\_sarray::sarray_sort_by_handler(param_00,maps\_sarray::sarray_create_func_obj(::_sortbyscore)); + return 1; +} + +//Function Number: 8 +movetocovernearplayer() +{ + self endon("death"); + if(!isdefined(self.bestcovernode)) + { + maps\_utility::set_goal_pos(self.origin); + return; + } + + self.currentcovernode = self.bestcovernode; + _advancetogoal(self.bestcovernode); +} + +//Function Number: 9 +_evaluatenoderangetoplayer(param_00,param_01) +{ + var_02 = length2d(level.player.origin - param_00.origin); + return maps\_utility::linear_interpolate(min(var_02 / param_01,1),0.8,1); +} + +//Function Number: 10 +_evaluatenodeplayervisibility(param_00) +{ + if(!sighttracepassed(level.player geteye(),param_00.origin,1,level.player)) + { + return 0.75; + } + + return 1; +} + +//Function Number: 11 +_determineallynodescore(param_00,param_01,param_02) +{ + if(param_01.type == "Exposed") + { + return -1; + } + + if(isdefined(param_01.script_team) && param_01.script_team == "axis") + { + return -1; + } + + if(isnodeoccupied(param_01)) + { + return -1; + } + + if(distance(param_01.origin,level.player.origin) > param_00.leashplayerdistancetether) + { + return -1; + } + + if(param_00 isknownenemyinradius(param_01.origin,128)) + { + return -1; + } + + if(maps\_utility::players_within_distance(64,param_01.origin)) + { + return -1; + } + + var_03 = _evaluatenodeiscover(param_01); + var_03 = var_03 + _evaluatenoderangetoplayer(param_01,param_02); + var_03 = var_03 + _evaluatenodeplayervisibility(param_01); + return var_03 / 3; +} + +//Function Number: 12 +_sortbyscore(param_00,param_01) +{ + return param_00.score > param_01.score; +} + +//Function Number: 13 +_advancetogoal(param_00) +{ + self endon("death"); + self endon("goal"); + self endon("goal_blocked"); + self clearenemy(); + maps\_utility::set_goal_node(param_00); + thread _goalblockedbyplayer(param_00); + thread _goalblockedbyai(); + common_scripts\utility::waittill_any_timeout(10,"goal"); +} + +//Function Number: 14 +_goalblockedbyplayer(param_00) +{ + self endon("goal"); + for(;;) + { + wait(0.05); + if(!maps\_utility::players_within_distance(64,param_00.origin)) + { + continue; + } + + self notify("goal_blocked"); + wait(0.05); + movetocovernearplayer(); + } +} + +//Function Number: 15 +_goalblockedbyai() +{ + self endon("death"); + self endon("goal"); + self waittill("node_taken"); + self notify("goal_blocked"); + movetocovernearplayer(); +} + +//Function Number: 16 +_teleportleashbehavior() +{ + self endon("death"); + self endon("disable_leash_behavior"); + var_00 = getdvarint("cg_fov"); + for(;;) + { + wait(0.05); + if(maps\_utility::players_within_distance(768,self.origin)) + { + continue; + } + + var_01 = getnodesinradius(level.player.origin,512,256,32); + if(!isdefined(var_01)) + { + continue; + } + + foreach(var_03 in var_01) + { + if(isdefined(var_03.script_team) && var_03.script_team == "axis") + { + var_01 = common_scripts\utility::array_remove(var_01,var_03); + } + + if(isnodeoccupied(var_03) || maps\_utility::players_within_distance(64,var_03.origin) || maps\_utility::within_fov_of_players(var_03.origin,cos(120)) || maps\_utility::within_fov_of_players(self.origin,cos(var_00))) + { + var_01 = common_scripts\utility::array_remove(var_01,var_03); + } + } + + if(var_01.size == 0) + { + continue; + } + + var_05 = var_01[maps\_utility::get_closest_index(level.player.origin,var_01)]; + if(isdefined(var_05)) + { + self clearenemy(); + maps\_utility::anim_stopanimscripted(); + maps\_utility::teleport_ai(var_05); + wait(0.05); + movetocovernearplayer(); + } + } +} + +//Function Number: 17 +assistplayer() +{ + self endon("death"); + self endon("disable_player_assist"); + for(;;) + { + self waittill("damage",var_00,var_01); + if(isdefined(var_01) && isai(var_01)) + { + var_02 = maps\_utility::get_closest_ai(self.origin,"allies"); + if(isalive(var_01) && isdefined(var_02)) + { + var_02 getenemyinfo(var_01); + } + } + + wait(1.5); + } +} + +//Function Number: 18 +adjustallyaccuracyovertime() +{ + self endon("death"); + self endon("disable_accuracy_adjust"); + self.baseaccuracy = 0; + for(;;) + { + wait(1); + var_00 = self.enemy; + if(isdefined(var_00) && var_00 == self.enemy && self.baseaccuracy < 1) + { + self.baseaccuracy = self.baseaccuracy + 0.1; + continue; + } + + self.baseaccuracy = 0; + } +} + +//Function Number: 19 +setupshotgunkva(param_00,param_01) +{ + if(!isdefined(level.kvashotgunners)) + { + level.kvashotgunners = []; + createthreatbiasgroup("player"); + createthreatbiasgroup("kva_shotgunner"); + level.player setthreatbiasgroup("player"); + setthreatbias("player","kva_shotgunner",500); + level.player.dontmelee = 1; + } + + common_scripts\utility::create_dvar("AI_Pain_Debug",0); + common_scripts\utility::create_dvar("AI_Shotgunner_Score_Debug",0); + var_02 = "iw5_maul_sp"; + maps\_utility::disable_surprise(); + self.disablebulletwhizbyreaction = 1; + self.grenadeammo = 0; + self.health = 1000; + self.combatmode = "no_cover"; + self.a.disablelongdeath = 1; + self.a.disablelongpain = 1; + self.aggressivemode = 1; + self.noruntwitch = 1; + self.disablereactionanims = 1; + self.ignoresuppression = 1; + self.no_pistol_switch = 1; + self.dontmelee = 1; + self.meleealwayswin = 1; + self.currentshotguncovernode = undefined; + maps\_utility::enable_cqbwalk(); + maps\_utility::forceuseweapon(var_02,"primary"); + self setmodel("kva_heavy_body"); + thread codescripts\character::setheadmodel("kva_heavy_head"); + self orientmode("face enemy"); + self.attackradius = 512; + self.goalradius = 64; + maps\_utility::set_battlechatter(0); + level.kvashotgunners = common_scripts\utility::add_to_array(level.kvashotgunners,self); + self setthreatbiasgroup("kva_shotgunner"); + if(!isdefined(param_01)) + { + thread _pursueenemy(); + thread _updateshotgunnercovernodes(); + } + else + { + thread _defendlocation(param_01); + } + + thread painmanagement(); + thread _shotgunnerambience(); + maps\_utility::add_damage_function(::_shotgunnerdamagefunction); + thread _shotgunnerdeath(); +} + +//Function Number: 20 +_shotgunnerdamagefunction(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + if(isdefined(param_01) && isdefined(param_01.script_team) && self.script_team == param_01.script_team) + { + return; + } + + if(isplayer(param_01)) + { + self notify("Took_Damage_From_Player"); + } + + if(isalive(self) && isdefined(param_01) && !isplayer(param_01)) + { + self.health = int(min(self.maxhealth,self.health + param_00 * 0.7)); + return; + } + + if(isalive(self) && isdefined(param_01) && isplayer(param_01) && isexplosivedamagemod(param_04)) + { + self dodamage(param_00 / 2,self.origin,level.player); + } +} + +//Function Number: 21 +_shotgunnerambience() +{ + self endon("death"); + for(;;) + { + wait(randomfloatrange(2,10)); + if(maps\_utility::players_within_distance(2048,self.origin)) + { + if(soundexists("shotgunner_chatter")) + { + maps\_utility::play_sound_on_entity("shotgunner_chatter"); + } + } + } +} + +//Function Number: 22 +_shotgunnerdeath() +{ + self waittill("death"); + level.kvashotgunners = maps\_utility::array_removedead_or_dying(level.kvashotgunners); + if(soundexists("shotgunner_death_fx")) + { + var_00 = spawn("script_origin",self.origin); + var_00 thread maps\_utility::play_sound_on_entity("shotgunner_death_fx","deathsfx_ended"); + var_00 waittill("deathsfx_ended"); + var_00 delete(); + } +} + +//Function Number: 23 +_drawdebug() +{ + for(;;) + { + wait(0.05); + if(getdvarint("AI_Shotgunner_Score_Debug") <= 0) + { + continue; + } + + if(isdefined(self) && isdefined(self.attacknode)) + { + if(isdefined(self.attacknode.score)) + { + } + } + } +} + +//Function Number: 24 +_defendlocation(param_00) +{ + self endon("death"); + if(!isnodeoccupied(param_00)) + { + thread maps\_utility::set_goal_node(param_00); + thread _abortdefendlocation(); + } +} + +//Function Number: 25 +_abortdefendlocation() +{ + self endon("death"); + common_scripts\utility::waittill_any("Took_Damage_From_Player","Abort_Defend_Goal"); + thread _pursueenemy(); + thread _updateshotgunnercovernodes(); +} + +//Function Number: 26 +_pursueenemy() +{ + self endon("death"); + if(!isdefined(self.attackradius)) + { + self.attackradius = 512; + } + + for(;;) + { + wait(0.05); + var_00 = level.player; + if(isdefined(self.enemy)) + { + var_00 = self.enemy; + } + + var_01 = distancesquared(var_00.origin,self.origin); + if(var_01 < squared(self.attackradius) || var_01 < squared(150)) + { + continue; + } + + if(isdefined(self.attacknode)) + { + self notify("changing_cover"); + _shotgunneradvance(self.attacknode); + } + } +} + +//Function Number: 27 +_shotgunneradvance(param_00) +{ + self endon("death"); + self endon("changing_cover"); + self endon("node_taken"); + self.currentshotguncovernode = param_00; + maps\_utility::set_goal_node(param_00); + common_scripts\utility::waittill_any_timeout(5,"goal"); +} + +//Function Number: 28 +_updateshotgunnercovernodes() +{ + self endon("death"); + for(;;) + { + wait(0.05); + var_00 = level.player; + if(isdefined(self.enemy)) + { + var_00 = self.enemy; + } + + _evaluateshotgunnercovernodes(var_00,self.attackradius); + } +} + +//Function Number: 29 +_evaluateshotgunnercovernodes(param_00,param_01) +{ + self notify("_EvaluateShotgunnerCoverNodes"); + self endon("_EvaluateShotgunnerCoverNodes"); + self endon("death"); + var_02 = -1; + if(isdefined(self.attacknode)) + { + var_02 = _determineshotgunnodescore(self,self.attacknode,param_01); + } + + var_03 = getnodesinradiussorted(param_00.origin,param_01,param_01 / 2,64); + if(var_03.size == 0) + { + return; + } + + var_04 = 0; + var_05 = var_03.size + 1; + var_06 = getdvarint("AI_Shotgunner_Score_Debug") > 0; + foreach(var_08 in var_03) + { + wait(0.05); + if(var_04 > 20) + { + break; + } + + var_09 = _determineshotgunnodescore(self,var_08,param_01); + if(var_06) + { + } + + if(var_09 >= 0 && var_09 > var_02) + { + self.attacknode = var_08; + self.attacknode.score = var_09; + var_02 = var_09; + } + + var_04++; + } +} + +//Function Number: 30 +_evaluatenodeknownenemyinradius(param_00,param_01) +{ + if(param_01 isknownenemyinradius(param_00.origin,128)) + { + return 0; + } + + return 1; +} + +//Function Number: 31 +_evaluatenodeplayerinradius(param_00) +{ + if(maps\_utility::players_within_distance(128,param_00.origin)) + { + return 0.75; + } + + return 1; +} + +//Function Number: 32 +_evaluatenodeiscover(param_00) +{ + if(param_00.type == "Cover Left") + { + return 0.95; + } + + if(param_00.type == "Cover Right") + { + return 0.9; + } + + if(param_00.type == "Cover Crouch") + { + return 0.85; + } + + if(param_00.type == "Cover Stand") + { + return 0.75; + } + + return 0; +} + +//Function Number: 33 +_evaluatenodeisexposed(param_00) +{ + if(param_00.type == "Exposed") + { + return 0.75; + } + + return 0; +} + +//Function Number: 34 +_evaluatenodeinplayerfov(param_00) +{ + if(!maps\_utility::within_fov_of_players(param_00.origin,cos(35))) + { + return 0.65; + } + + return 1; +} + +//Function Number: 35 +_evaluatenodelostoplayer(param_00) +{ + if(!sighttracepassed(level.player geteye(),param_00.origin,0,level.player)) + { + return 0.85; + } + + return 1; +} + +//Function Number: 36 +_evaluatenodeattackradius(param_00,param_01) +{ + if(param_01 <= 0) + { + return 1; + } + + var_02 = distance2d(level.player.origin,param_00.origin); + return clamp(var_02 / param_01,0,1); +} + +//Function Number: 37 +_evaluatenodeothershotgunnersbest(param_00,param_01) +{ + foreach(var_03 in level.kvashotgunners) + { + if(param_01 == var_03) + { + continue; + } + + if(isdefined(var_03.attacknode) && param_00 == var_03.attacknode) + { + return 0.5; + } + } + + return 1; +} + +//Function Number: 38 +_determineshotgunnodescore(param_00,param_01,param_02) +{ + if(isnodeoccupied(param_01)) + { + return -1; + } + + var_03 = _evaluatenodeknownenemyinradius(param_01,param_00); + var_03 = var_03 + _evaluatenodeplayerinradius(param_01); + var_03 = var_03 + _evaluatenodeiscover(param_01); + var_03 = var_03 + _evaluatenodeisexposed(param_01); + var_03 = var_03 + _evaluatenodeinplayerfov(param_01); + var_03 = var_03 + _evaluatenodelostoplayer(param_01); + var_03 = var_03 + _evaluatenodeattackradius(param_01,param_02); + var_03 = var_03 * _evaluatenodeothershotgunnersbest(param_01,param_00); + var_03 = var_03 / 7; + return var_03; +} + +//Function Number: 39 +painmanagement(param_00,param_01,param_02,param_03) +{ + self endon("death"); + self endon("disable_pain_management"); + if(!isdefined(param_00)) + { + param_00 = 70; + } + + if(!isdefined(param_01)) + { + param_01 = 150; + } + + if(!isdefined(param_03)) + { + param_03 = 5; + } + + if(!isdefined(param_02)) + { + param_02 = 225; + } + + self.minpaindamage = param_00; + var_04 = spawnstruct(); + var_04.amount = 0; + childthread _updatepainamount(var_04); + for(;;) + { + wait(0.05); + self.minpaindamage = int(maps\_utility::linear_interpolate(min(var_04.amount / param_02,1),param_00,param_01)); + var_04.amount = var_04.amount - param_03; + var_04.amount = max(var_04.amount,0); + } +} + +//Function Number: 40 +_updatepainamount(param_00) +{ + for(;;) + { + self waittill("damage",var_01); + wait(0.05); + param_00.amount = param_00.amount + var_01; + } +} + +//Function Number: 41 +_enableexplosivedeath() +{ + maps\_utility::enable_long_death(); + self waittill("deathanim"); + var_00 = spawn("script_origin",self.origin); + var_00 linkto(self,"TAG_WEAPON_CHEST"); + var_01 = var_00.origin + (0,0,16); + for(var_02 = 0;var_02 < 5;var_02++) + { + var_03 = randomfloatrange(1.5,3); + magicgrenademanual("fraggrenade",var_00.origin,var_01,var_03); + wait(0.05); + } +} + +//Function Number: 42 +_getindex(param_00,param_01) +{ + var_02 = 0; + foreach(var_04 in param_00) + { + if(var_04 == param_01) + { + return var_02; + } + + var_02++; + } +} \ No newline at end of file diff --git a/AW/PC/maps/_hms_door_interact.gsc b/AW/PC/maps/_hms_door_interact.gsc new file mode 100644 index 0000000..0faac58 --- /dev/null +++ b/AW/PC/maps/_hms_door_interact.gsc @@ -0,0 +1,298 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _hms_door_interact.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 11 + * Decompile Time: 197 ms + * Timestamp: 4/22/2024 2:21:24 AM +*******************************************************************/ + +//Function Number: 1 +precachedooranimations() +{ + level.scr_anim["DoorOpenNPC"]["door_kick_in"] = %door_kick_in; + level.scr_anim["DoorOpenNPC"]["slow_door_open"] = %hunted_open_barndoor; + level.scr_anim["DoorOpenNPC"]["charge_door_open"] = %africa_soap_shoulder_charge_door; + level.scr_anim["DoorOpenNPC"]["shoot_hinge_door_open"] = %shotgunbreach_v1_shoot_hinge_runin; + level.scr_anim["BreachGuy1"]["hms_greece_cc_meeting_breach_idle_start"][0] = %hms_greece_cc_meeting_breach_idle_start_npc; + level.scr_anim["BreachGuy1"]["hms_greece_cc_meeting_breach"] = %hms_greece_cc_meeting_breach_npc; + level.scr_anim["BreachGuy1"]["hms_greece_cc_meeting_breach_idle_hold"][0] = %hms_greece_cc_meeting_breach_idle_hold_npc; + level.scr_anim["BreachGuy1"]["hms_greece_cc_meeting_bodycheck"] = %hms_greece_cc_meeting_bodycheck_npc; + level.scr_anim["BreachGuy2"]["hms_greece_cc_meeting_breach_idle_start"][0] = %hms_greece_cc_meeting_breach_idle_start_npc1; + level.scr_anim["BreachGuy2"]["hms_greece_cc_meeting_breach"] = %hms_greece_cc_meeting_breach_npc1; + level.scr_anim["BreachGuy2"]["hms_greece_cc_meeting_breach_idle_hold"][0] = %hms_greece_cc_meeting_breach_idle_hold_npc1; + level.scr_anim["BreachGuy2"]["hms_greece_cc_meeting_bodycheck"] = %hms_greece_cc_meeting_bodycheck_npc1; +} + +//Function Number: 2 +opendoor(param_00,param_01,param_02) +{ + if(param_01 != "pop" && param_01 != "fast" && !isdefined(param_02)) + { + } + + if(isdefined(param_02)) + { + foreach(var_04 in param_02) + { + if(!isai(var_04)) + { + } + } + } + + var_06 = common_scripts\utility::getstruct(param_00,"targetname"); + var_07 = var_06.target; + var_08 = getentarray(var_06.target,"targetname"); + foreach(var_0A in var_08) + { + if(var_0A.script_noteworthy == "door") + { + var_0B = var_0A; + var_08 = common_scripts\utility::array_remove(var_08,var_0B); + if(!isdefined(var_0B.state)) + { + var_0B.state = "closed"; + } + + if(param_01 == "pop") + { + var_0B thread _popopen(); + } + else if(param_01 == "fast") + { + var_0B thread _fastopen(0); + } + else if(isdefined(param_02) && isarray(param_02)) + { + thread _setupdooranimstyle(var_0B,var_08,param_01,param_02); + } + else + { + _setupdooranimstyle(var_0B,var_08,param_01); + } + + return var_0B; + } + } +} + +//Function Number: 3 +_setupdooranimstyle(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_02) || !isstring(param_02)) + { + param_02 = "slow"; + } + + switch(param_02) + { + case "slow": + var_04 = "slow_door_open"; + var_05 = _returnanimorigin(param_01,param_02); + thread _startdooropen(param_00,var_05,var_04,param_02); + break; + + case "kick": + var_04 = "door_kick_in"; + var_05 = _returnanimorigin(param_01,param_02); + thread _startdooropen(param_00,var_05,var_04,param_02); + break; + + case "charge": + var_04 = "charge_door_open"; + var_05 = _returnanimorigin(param_01,param_02); + thread _startdooropen(param_00,var_05,var_04,param_02); + break; + + case "hinge": + var_04 = "shoot_hinge_door_open"; + var_05 = _returnanimorigin(param_01,param_02); + thread _startdooropen(param_00,var_05,var_04,param_02); + break; + + case "cc_breach": + var_05 = _returnanimorigin(param_01,param_02); + thread _squaddoorbreach(param_00,var_05,param_03); + break; + } +} + +//Function Number: 4 +_returnanimorigin(param_00,param_01) +{ + foreach(var_03 in param_00) + { + if(param_01 == var_03.script_noteworthy) + { + var_04 = var_03; + return var_04; + } + } +} + +//Function Number: 5 +_startdooropen(param_00,param_01,param_02,param_03) +{ + self endon("death"); + self endon("dying"); + var_04 = self.goalradius; + self.goalradius = 32; + var_05 = self.animname; + self.animname = "DoorOpenNPC"; + param_01 maps\_anim::anim_reach_solo(self,param_02); + if(param_03 == "kick") + { + param_00 thread _fastopen(2.15); + } + else if(param_03 == "slow") + { + param_00 thread _slowopen(1.8); + } + else if(param_03 == "charge") + { + param_00 thread _fastopen(2.45); + } + else if(param_03 == "hinge") + { + param_00 thread _fastopen(1.82); + } + + param_01 maps\_anim::anim_single_solo_run(self,param_02); + self.animname = var_05; + self.goalradius = var_04; + param_00 notify("Open"); +} + +//Function Number: 6 +_squaddoorbreach(param_00,param_01,param_02) +{ + var_03 = 1; + foreach(var_05 in param_02) + { + var_05.oldgoalradius = var_05.goalradius; + var_05.previousgoalnode = var_05.last_set_goalnode; + var_05.oldgrenadeawareness = var_05.grenadeawareness; + var_05.goalradius = 32; + var_05.oldanimname = var_05.animname; + var_05.animname = "BreachGuy" + var_03; + var_05 maps\_utility::setflashbangimmunity(1); + var_05.grenadeawareness = 0; + var_03++; + } + + var_07 = "hms_greece_cc_meeting_breach_idle_start"; + var_08 = "hms_greece_cc_meeting_breach"; + var_09 = "hms_greece_cc_meeting_breach_idle_hold"; + var_0A = "hms_greece_cc_meeting_bodycheck"; + param_01 thread maps\_anim::anim_loop(param_02,var_07,"stop_idle_start"); + level waittill("cc_final_breach"); + param_01 notify("stop_idle_start"); + param_00 thread _fastopen(0.96); + thread _handlebreachgrenade(param_00,param_01,param_02); + param_01 maps\_anim::anim_single(param_02,var_08); + param_01 thread maps\_anim::anim_loop(param_02,var_09,"stop_idle_hold"); + level waittill("cc_bodycheck"); + param_01 notify("stop_idle_hold"); + param_01 maps\_anim::anim_single_run(param_02,var_0A); + foreach(var_05 in param_02) + { + var_05.animname = var_05.oldanimname; + var_05.goalradius = var_05.oldgoalradius; + var_05 maps\_utility::setflashbangimmunity(0); + var_05.grenadeawareness = var_05.oldgrenadeawareness; + } +} + +//Function Number: 7 +_handlebreachgrenade(param_00,param_01,param_02) +{ + foreach(var_04 in param_02) + { + if(var_04.animname == "BreachGuy2") + { + var_05 = anglestoright(param_01.angles); + var_06 = param_01.origin; + var_07 = var_06 + var_05 * 256; + var_08 = var_04 _delaygrenadethrow(2.1,var_07); + var_08 waittill("death"); + param_00 notify("flashbang_done"); + } + } +} + +//Function Number: 8 +_delaygrenadethrow(param_00,param_01) +{ + var_02 = "tag_eye"; + if(isdefined(param_00) && param_00 > 0) + { + wait(param_00); + var_03 = self gettagorigin(var_02); + var_04 = self gettagangles(var_02); + var_05 = anglestoforward(var_04); + var_06 = var_03 + var_05 * 16; + var_07 = magicgrenade("flash_grenade",var_06,param_01,1.5); + return var_07; + } +} + +//Function Number: 9 +_fastopen(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = 120; + } + + if(isdefined(param_00) && param_00 > 0) + { + wait(param_00); + } + + self rotateto(self.angles + (0,param_01,0),0.35,0,0.35); + earthquake(0.25,0.2,self.origin,256); + if(self.classname != "script_model") + { + self connectpaths(); + } + + self.state = "open"; + self notify("Open"); +} + +//Function Number: 10 +_slowopen(param_00) +{ + if(isdefined(param_00) && param_00 > 0) + { + wait(param_00); + } + + self rotateto(self.angles + (0,100,0),2,0.5,0); + if(self.classname != "script_model") + { + self connectpaths(); + } + + self.state = "open"; + self notify("Open"); +} + +//Function Number: 11 +_popopen() +{ + if(self.state == "closed") + { + self rotateto(self.angles + (0,100,0),0.1,0,0); + if(self.classname != "script_model") + { + self connectpaths(); + } + + self.state = "open"; + } + + self notify("Open"); +} \ No newline at end of file diff --git a/AW/PC/maps/_hms_greece_civilian.gsc b/AW/PC/maps/_hms_greece_civilian.gsc new file mode 100644 index 0000000..521b92b --- /dev/null +++ b/AW/PC/maps/_hms_greece_civilian.gsc @@ -0,0 +1,270 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _hms_greece_civilian.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 9 + * Decompile Time: 162 ms + * Timestamp: 4/22/2024 2:21:25 AM +*******************************************************************/ + +//Function Number: 1 +precachecivilian() +{ + precachepropmodels(); + precacheciviliananims(); +} + +//Function Number: 2 +precachepropmodels() +{ + precachemodel("electronics_pda"); + precachemodel("com_cellphone_on"); + precachemodel("prop_cigarette"); + precachemodel("greece_cafe_gps_pad"); +} + +//Function Number: 3 +precacheciviliananims() +{ + level.scr_animtree["generic"] = #animtree; + level.scr_anim["generic"]["civilian_texting_standing"][0] = %civilian_texting_standing; + level.scr_anim["generic"]["civilian_stand_idle"][0] = %civilian_stand_idle; + level.scr_anim["generic"]["civilian_smoking_A"][0] = %civilian_smoking_a; + level.scr_anim["generic"]["london_station_civ1_idle"][0] = %london_station_civ1_idle; + level.scr_anim["generic"]["london_station_civ2_idle"][0] = %london_station_civ2_idle; + level.scr_anim["generic"]["london_station_civ4_idle"][0] = %london_station_civ4_idle; + level.scr_anim["generic"]["london_station_civ5_idle"][0] = %london_station_civ5_idle; + level.scr_anim["generic"]["london_station_civ7_idle"][0] = %london_station_civ7_idle; + level.scr_anim["generic"]["london_station_civ11_idle"][0] = %london_station_civ11_idle; + level.scr_anim["generic"]["parabolic_leaning_guy_smoking_idle"][0] = %parabolic_leaning_guy_smoking_idle; + level.scr_anim["generic"]["parabolic_leaning_guy_idle"][0] = %parabolic_leaning_guy_idle; + level.scr_anim["generic"]["oilrig_balcony_smoke_idle"][0] = %oilrig_balcony_smoke_idle; + level.scr_anim["generic"]["civilian_directions_1_A"][0] = %civilian_directions_1_a; + level.scr_anim["generic"]["civilian_directions_1_B"][0] = %civilian_directions_1_b; + level.scr_anim["generic"]["hms_greece_market_shopper_idle_01"][0] = %hms_greece_market_shopper_idle_01; + level.scr_anim["generic"]["hms_greece_market_shopper_idle_02"][0] = %hms_greece_market_shopper_idle_02; + level.scr_anim["generic"]["hms_greece_market_shopper_idle_03"][0] = %hms_greece_market_shopper_idle_03; + level.scr_anim["generic"]["hms_greece_market_shopper_idle_04"][0] = %hms_greece_market_shopper_idle_04; + level.scr_anim["generic"]["hms_greece_market_shopper_idle_05"][0] = %hms_greece_market_shopper_idle_05; + level.scr_anim["generic"]["hms_greece_market_shopper_idle_06"][0] = %hms_greece_market_shopper_idle_06; + level.scr_anim["generic"]["hms_greece_market_shopper_idle_07"][0] = %hms_greece_market_shopper_idle_07; + level.scr_anim["generic"]["hms_greece_market_shopper_idle_08"][0] = %hms_greece_market_shopper_idle_08; + level.scr_anim["generic"]["hms_greece_market_shopper_idle_09"][0] = %hms_greece_market_shopper_idle_09; + level.scr_anim["generic"]["civilian_texting_sitting"][0] = %civilian_texting_sitting; + level.scr_anim["generic"]["guardB_sit_drinker_idle"][0] = %guardb_sit_drinker_idle; + level.scr_anim["generic"]["london_civ_idle_lookover"] = %london_civ_idle_lookover; + level.scr_anim["generic"]["london_civ_idle_checkwatch"] = %london_civ_idle_checkwatch; + level.scr_anim["generic"]["london_civ_idle_lookbehind"] = %london_civ_idle_lookbehind; + level.scr_anim["generic"]["london_civ_idle_scratchnose"] = %london_civ_idle_scratchnose; + level.scr_anim["generic"]["london_civ_idle_foldarms_scratchass"] = %london_civ_idle_foldarms_scratchass; + level.scr_anim["generic"]["london_civ_idle_foldarms2"] = %london_civ_idle_foldarms2; + level.scr_anim["generic"]["hms_greece_market_civ_idle_01"] = %hms_greece_market_civ_idle_01; + level.scr_anim["generic"]["hms_greece_market_civ_idle_02"] = %hms_greece_market_civ_idle_02; + level.scr_anim["generic"]["hms_greece_market_civ_idle_03"] = %hms_greece_market_civ_idle_03; + level.scr_anim["generic"]["hms_greece_market_civ_idle_04"] = %hms_greece_market_civ_idle_04; + level.randomidleanims = []; + level.randomidleanims[0] = "london_civ_idle_lookover"; + level.randomidleanims[1] = "london_civ_idle_checkwatch"; + level.randomidleanims[2] = "london_civ_idle_lookbehind"; + level.randomidleanims[3] = "london_civ_idle_foldarms_scratchass"; + level.randomidleanims[4] = "london_civ_idle_foldarms2"; + level.randomidleanims[5] = "london_civ_idle_scratchnose"; + level.randomidleanims[6] = "hms_greece_market_civ_idle_01"; + level.randomidleanims[7] = "hms_greece_market_civ_idle_02"; + level.randomidleanims[8] = "hms_greece_market_civ_idle_03"; + level.randomidleanims[9] = "hms_greece_market_civ_idle_04"; + var_00 = []; + var_00[0] = 2; + var_00[1] = 1; + var_00[2] = 1; + var_00[3] = 1; + level.scr_anim["civilian_crazy_walk"]["run_noncombat"][0] = %civilian_crazywalker_loop; + level.scr_anim["civilian_crazy_walk"]["run_noncombat"][1] = %civilian_crazywalker_twitcha; + level.scr_anim["civilian_crazy_walk"]["run_noncombat"][2] = %civilian_crazywalker_twitchb; + level.scr_anim["civilian_crazy_walk"]["run_noncombat"][3] = %civilian_crazywalker_twitchc; + level.scr_anim["civilian_crazy_walk"]["run_weights"] = var_00; + var_01 = []; + var_01[0] = 7; + var_01[1] = 3; + var_02 = common_scripts\utility::get_cumulative_weights(var_01); + level.scr_anim["civilian_cellphone_walk"]["run_noncombat"][0] = %civilian_cellphonewalk; + level.scr_anim["civilian_cellphone_walk"]["dodge_left"] = %civilian_cellphonewalk_dodge_l; + level.scr_anim["civilian_cellphone_walk"]["dodge_right"] = %civilian_cellphonewalk_dodge_r; + level.scr_anim["civilian_cellphone_walk"]["turn_left_90"] = %civilian_cellphonewalk_turn_l; + level.scr_anim["civilian_cellphone_walk"]["turn_right_90"] = %civilian_cellphonewalk_turn_r; + level.scr_anim["civilian_soda_walk"]["run_noncombat"][0] = %civilian_sodawalk; + level.scr_anim["civilian_soda_walk"]["run_noncombat"][1] = %civilian_sodawalk_twitch; + level.scr_anim["civilian_soda_walk"]["run_weights"] = var_02; + level.scr_anim["civilian_hurried_walk"]["run_noncombat"][0] = %civilian_walk_hurried_1; + level.scr_anim["civilian_hurried_walk"]["run_noncombat"][1] = %civilian_walk_hurried_2; + level.scr_anim["civilian_nervous_walk"]["run_noncombat"][0] = %civilian_walk_nervous; + level.scr_anim["civilian_cool_walk"]["run_noncombat"][0] = %civilian_walk_cool; + level.scr_anim["civilian_paper_walk"]["run_noncombat"][0] = %civilian_walk_paper; + level.scr_anim["civilian_coffee_walk"]["run_noncombat"][0] = %civilian_walk_coffee; + level.scr_anim["civilian_backpack_walk"]["run_noncombat"][0] = %civilian_walk_backpack; + level.scr_anim["civilian_backpack_walk"]["run_noncombat"][1] = %civilian_walk_backpack_twitch; + level.scr_anim["civilian_backpack_walk"]["run_weights"] = var_02; + level.scr_anim["civilian_pda_walk"]["run_noncombat"][0] = %civilian_walk_pda; + level.scr_anim["civilian_briefcase_walk"]["run_noncombat"][0] = %civilian_briefcase_walk; + level.scr_anim["civilian_briefcase_walk"]["dodge_left"] = %civilian_briefcase_walk_dodge_l; + level.scr_anim["civilian_briefcase_walk"]["dodge_right"] = %civilian_briefcase_walk_dodge_r; + level.scr_anim["civilian_briefcase_walk"]["turn_left_90"] = %civilian_briefcase_walk_turn_l; + level.scr_anim["civilian_briefcase_walk"]["turn_right_90"] = %civilian_briefcase_walk_turn_r; + level.scr_anim["civilian_walk_male"]["run_noncombat"][0] = %hms_greece_market_civ_walk_male_01; + level.scr_anim["civilian_walk_male"]["run_noncombat"][1] = %hms_greece_market_civ_walk_look_male_01; + level.scr_anim["civilian_walk_male"]["run_weights"] = var_02; + level.scr_anim["civilian_walk_male"]["dodge_left"] = %hms_greece_market_civ_walk_briefcase_dodge_l_alt; + level.scr_anim["civilian_walk_male"]["dodge_right"] = %hms_greece_market_civ_walk_briefcase_dodge_r_alt; + level.scr_anim["civilian_slow_walk_male"]["run_noncombat"][0] = %hms_greece_market_civ_walk_slow_male_01; + level.scr_anim["civilian_slow_walk_male"]["run_noncombat"][1] = %hms_greece_market_civ_walk_slow_look_male_01; + level.scr_anim["civilian_slow_walk_male"]["run_weights"] = var_02; + level.scr_anim["civilian_slow_walk_male"]["dodge_left"] = %hms_greece_market_civ_walk_briefcase_dodge_l_alt; + level.scr_anim["civilian_slow_walk_male"]["dodge_right"] = %hms_greece_market_civ_walk_briefcase_dodge_r_alt; + level.scr_anim["civilian_slow_walk_female"]["run_noncombat"][0] = %hms_greece_market_civ_walk_slow_female_01; + level.scr_anim["civilian_slow_walk_female"]["run_noncombat"][1] = %hms_greece_market_civ_walk_slow_look_female_01; + level.scr_anim["civilian_slow_walk_female"]["run_weights"] = var_02; + level.scr_anim["civilian_slow_walk_female"]["dodge_left"] = %hms_greece_market_civ_walk_briefcase_dodge_l_alt; + level.scr_anim["civilian_slow_walk_female"]["dodge_right"] = %hms_greece_market_civ_walk_briefcase_dodge_r_alt; +} + +//Function Number: 4 +populatedronecivilians(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_02)) + { + param_02 = 1; + } + + if(!isdefined(param_03)) + { + param_03 = 0; + } + + var_04 = []; + foreach(var_06 in param_01) + { + var_07 = param_00 maps\_utility::dronespawn(); + var_04 = common_scripts\utility::array_add(var_04,var_07); + param_00.count = 1; + var_07.origin = var_06.origin; + var_07.angles = var_06.angles; + if(isdefined(var_06.script_noteworthy)) + { + var_07.script_noteworthy = var_06.script_noteworthy; + } + + wait(0.05); + if(var_06.animation == "random") + { + var_07 thread randomidleanimation(var_06); + continue; + } + + if(param_02 == 1) + { + var_07 thread loopingidleanimation(var_06); + continue; + } + + var_07 thread singleanimation(var_06,param_03); + } + + return var_04; +} + +//Function Number: 5 +randomidleanimation(param_00) +{ + self endon("death"); + for(;;) + { + var_01 = common_scripts\utility::random(level.randomidleanims); + param_00 maps\_anim::anim_generic(self,var_01); + wait(0.05); + } +} + +//Function Number: 6 +loopingidleanimation(param_00) +{ + self.animname = "generic"; + var_01 = param_00.animation; + param_00 thread maps\_anim::anim_generic_loop(self,var_01); + var_02 = attachprops(var_01); + self waittill("death"); + if(isdefined(var_02)) + { + var_02 delete(); + } +} + +//Function Number: 7 +singleanimation(param_00,param_01) +{ + self.animname = "generic"; + var_02 = param_00.animation; + var_03 = attachprops(var_02); + if(param_01 == 1) + { + param_00 maps\_anim::anim_generic(self,var_02); + if(isdefined(var_03)) + { + var_03 delete(); + } + + self delete(); + return; + } + + param_00 thread maps\_anim::anim_generic(self,var_02); + self waittill("death"); + if(isdefined(var_03)) + { + var_03 delete(); + } +} + +//Function Number: 8 +attachprops(param_00) +{ + if(isdefined(self.hasattachedprops)) + { + return; + } + + initcivilianprops(); + var_01 = level.civilianprops[param_00]; + if(isdefined(var_01)) + { + var_02 = self attach(var_01,"tag_inhand",1); + self.hasattachedprops = 1; + return var_02; + } +} + +//Function Number: 9 +initcivilianprops() +{ + if(isdefined(level.civilianprops)) + { + anim.civilianprops = []; + } + + level.civilianprops["civilian_texting_standing"] = "electronics_pda"; + level.civilianprops["civilian_texting_sitting"] = "electronics_pda"; + level.civilianprops["civilian_directions_2_A_idle"] = "electronics_pda"; + level.civilianprops["civilian_sitting_business_lunch_A_1"] = "com_cellphone_on"; + level.civilianprops["civilian_sitting_business_lunch_B_1"] = "com_cellphone_on"; + level.civilianprops["civilian_smoking_A"] = "prop_cigarette"; + level.civilianprops["civilian_smoking_B"] = "prop_cigarette"; + level.civilianprops["parabolic_leaning_guy_smoking_idle"] = "prop_cigarette"; + level.civilianprops["oilrig_balcony_smoke_idle"] = "prop_cigarette"; + level.civilianprops["hms_greece_cc_takedown_idle_target"] = "prop_cigarette"; + level.civilianprops["civilian_sitting_business_lunch_A_1"] = "com_cellphone_on"; + level.civilianprops["civilian_sitting_business_lunch_B_1"] = "com_cellphone_on"; + level.civilianprops["civilian_reader_1"] = "greece_cafe_gps_pad"; + level.civilianprops["civilian_reader_2"] = "greece_cafe_gps_pad"; + level.civilianprops["civilian_cellphone_walk"] = "com_cellphone_on"; + level.civilianprops["civilian_soda_walk"] = "ma_cup_single_closed"; +} \ No newline at end of file diff --git a/AW/PC/maps/_hms_utility.gsc b/AW/PC/maps/_hms_utility.gsc new file mode 100644 index 0000000..cfaa077 --- /dev/null +++ b/AW/PC/maps/_hms_utility.gsc @@ -0,0 +1,913 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _hms_utility.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 34 + * Decompile Time: 599 ms + * Timestamp: 4/22/2024 2:21:27 AM +*******************************************************************/ + +//Function Number: 1 +setupplayerinventory(param_00,param_01,param_02,param_03,param_04) +{ + if(!isdefined(level.map_without_loadout) || isdefined(level.map_without_loadout) && level.map_without_loadout == 0) + { + if(maps\_utility::is_default_start()) + { + return; + } + } + + level.player takeallweapons(); + if(isdefined(param_00)) + { + level.player giveweapon(param_00); + } + + if(isdefined(param_01)) + { + level.player giveweapon(param_01); + } + + if(isdefined(param_02)) + { + level.player setlethalweapon(param_02); + level.player giveweapon(param_02); + } + + if(isdefined(param_03)) + { + level.player settacticalweapon(param_03); + level.player giveweapon(param_03); + } + + if(isdefined(param_04)) + { + if(param_04 == param_00 || param_04 == param_01) + { + level.player switchtoweapon(param_04); + return; + } + + level.player switchtoweapon(param_00); + } +} + +//Function Number: 2 +initializeallyarray() +{ + level.allies = []; +} + +//Function Number: 3 +spawnandinitnamedally(param_00,param_01,param_02,param_03,param_04) +{ + if(!isdefined(level.allies)) + { + initializeallyarray(); + } + + if(!isdefined(level.allies[param_00])) + { + if(isdefined(param_04)) + { + var_05 = maps\_utility::spawn_targetname(param_04,1); + } + else + { + var_05 = maps\_utility::spawn_targetname(param_01,1); + } + + var_05.name = param_00; + var_05.animname = param_00; + var_05.script_friendname = param_00; + var_05.script_parameters = param_00; + if(isdefined(param_02)) + { + if(param_02 == 1) + { + var_05 thread maps\_utility::disable_surprise(); + } + } + + if(isdefined(param_03)) + { + if(param_03 == 1) + { + var_05 thread maps\_utility::deletable_magic_bullet_shield(); + } + } + + level.allies[param_00] = var_05; + } + + if(isdefined(param_01)) + { + var_06 = common_scripts\utility::getstruct(param_01,"targetname"); + if(isdefined(var_06)) + { + level.allies[param_00] forceteleport(var_06.origin,var_06.angles); + } + } +} + +//Function Number: 4 +getnamedally(param_00) +{ + var_01 = level.allies[param_00]; + return var_01; +} + +//Function Number: 5 +updatenamedally(param_00,param_01) +{ + level.allies[param_00] = param_01; +} + +//Function Number: 6 +getdialogai(param_00,param_01) +{ + var_02 = filteraiarray(param_00,param_01); + if(var_02.size > 1) + { + return undefined; + } + + return var_02[0]; +} + +//Function Number: 7 +filteraiarray(param_00,param_01) +{ + var_02 = getaispeciesarray("all","all"); + var_03 = []; + foreach(var_05 in var_02) + { + if(!isalive(var_05)) + { + continue; + } + + switch(param_01) + { + case "script_parameters": + if(isdefined(var_05.script_parameters) && var_05.script_parameters == param_00) + { + var_03[var_03.size] = var_05; + } + break; + } + } + + return var_03; +} + +//Function Number: 8 +allyredirectgotonode(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + if(level.allies[param_00].goalradius > 64) + { + level.allies[param_00].goalradius = 64; + } + + var_08 = getnode(param_01,"targetname"); + level.allies[param_00] maps\_utility::enable_ai_color(); + level.allies[param_00] maps\_utility::set_goal_node(var_08); + if(isdefined(param_03)) + { + executefunction(param_02,param_03,param_04,param_05,param_06,param_07); + } +} + +//Function Number: 9 +spawnsquadfunc(param_00,param_01,param_02,param_03,param_04,param_05) +{ + var_06 = getentarray(param_00,"targetname"); + maps\_utility::array_spawn_function(var_06,param_01,param_02,param_03,param_04,param_05); + maps\_utility::array_spawn(var_06,1); +} + +//Function Number: 10 +flagmonitor(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + if(!isdefined(param_01)) + { + param_01 = 1; + } + + common_scripts\utility::flag_wait(param_00); + executefunction(param_01,param_02,param_03,param_04,param_05,param_06); +} + +//Function Number: 11 +executefunction(param_00,param_01,param_02,param_03,param_04,param_05) +{ + var_06 = 0; + if(isdefined(param_05)) + { + var_06 = 4; + } + else if(isdefined(param_04)) + { + var_06 = 3; + } + else if(isdefined(param_03)) + { + var_06 = 2; + } + else if(isdefined(param_02)) + { + var_06 = 1; + } + + if(param_00 == 1) + { + switch(var_06) + { + case 0: + thread [[ param_01 ]](); + break; + + case 1: + thread [[ param_01 ]](param_02); + break; + + case 2: + thread [[ param_01 ]](param_02,param_03); + break; + + case 3: + thread [[ param_01 ]](param_02,param_03,param_04); + break; + + case 4: + thread [[ param_01 ]](param_02,param_03,param_04,param_05); + break; + } + + return; + } + + switch(var_06) + { + case 0: + [[ param_01 ]](); + break; + + case 1: + [[ param_01 ]](param_02); + break; + + case 2: + [[ param_01 ]](param_02,param_03); + break; + + case 3: + [[ param_01 ]](param_02,param_03,param_04); + break; + + case 4: + [[ param_01 ]](param_02,param_03,param_04,param_05); + break; + } +} + +//Function Number: 12 +objsetupdefault(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = getent(param_00,"targetname"); + if(!isdefined(var_05)) + { + var_05 = (0,0,0); + } + + common_scripts\utility::flag_wait(param_02); + objective_add(maps\_utility::obj(param_00),"active",param_01,var_05.origin); + objective_current(maps\_utility::obj(param_00)); + if(isdefined(param_04)) + { + objective_setpointertextoverride(maps\_utility::obj(param_00),param_04); + } + + common_scripts\utility::flag_wait(param_03); + maps\_utility::objective_complete(maps\_utility::obj(param_00)); +} + +//Function Number: 13 +objsetupentity(param_00,param_01,param_02,param_03,param_04,param_05) +{ + common_scripts\utility::flag_wait(param_03); + objective_add(maps\_utility::obj(param_00),"active",param_02,(0,0,0)); + if(isdefined(param_01)) + { + objective_onentity(maps\_utility::obj(param_00),param_01); + } + + objective_current(maps\_utility::obj(param_00)); + if(isdefined(param_05)) + { + objective_setpointertextoverride(maps\_utility::obj(param_00),param_05); + } + + common_scripts\utility::flag_wait(param_04); + maps\_utility::objective_complete(maps\_utility::obj(param_00)); +} + +//Function Number: 14 +aideleteonflag(param_00,param_01,param_02) +{ + var_03 = []; + var_03 = common_scripts\utility::add_to_array(var_03,self); + thread aiarraydeleteonflag(var_03,param_00,param_01,param_02); +} + +//Function Number: 15 +aiarraydeleteonflag(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_02)) + { + param_02 = 2048; + } + + if(!isdefined(param_03)) + { + param_03 = 0; + } + + common_scripts\utility::flag_wait(param_01); + param_00 = maps\_utility::remove_dead_from_array(param_00); + if(param_03 == 1) + { + maps\_utility::array_delete(param_00); + return; + } + + thread maps\_utility::ai_delete_when_out_of_sight(param_00,param_02); +} + +//Function Number: 16 +aiarrayfallbackonflag(param_00,param_01,param_02,param_03,param_04) +{ + param_00 = maps\_utility::remove_dead_from_array(param_00); + for(var_05 = 0;var_05 < param_00.size;var_05++) + { + param_00[var_05] thread aifallbackonflag(param_01,param_02,param_03,param_04); + } +} + +//Function Number: 17 +aifallbackonflag(param_00,param_01,param_02,param_03) +{ + self endon("death"); + var_04 = getent(param_01,"targetname"); + if(!isdefined(param_02)) + { + param_02 = 0; + } + + if(!isdefined(param_03)) + { + param_03 = 3; + } + + common_scripts\utility::flag_wait(param_00); + if(param_02 == 0) + { + wait(randomfloat(param_03)); + } + + self cleargoalvolume(); + self setgoalvolumeauto(var_04); +} + +//Function Number: 18 +printlnscreenandconsole(param_00) +{ + if(isdefined(level.showdebugtoggle) && level.showdebugtoggle == 1) + { + iprintln(param_00); + } +} + +//Function Number: 19 +debugprint3dcontinuous(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + if(level.showdebugtoggle == 1) + { + param_01 endon("death"); + if(isdefined(param_05) && isdefined(param_06)) + { + param_05 endon(param_06); + } + + if(!isdefined(param_04)) + { + param_04 = 600000; + } + + if(!isdefined(param_03)) + { + param_03 = 3; + } + + if(!isdefined(param_02)) + { + param_02 = "green"; + } + + var_07 = (0,0,0); + switch(param_02) + { + case "white": + var_07 = (9,9,9); + break; + + case "black": + var_07 = (0.5,0.5,0.5); + break; + + case "red": + var_07 = (9,0.5,0.5); + break; + + case "green": + var_07 = (0.5,9,0.5); + break; + + case "blue": + var_07 = (0.5,0.5,9); + break; + + case "yellow": + var_07 = (9,9,0.5); + break; + + case "purple": + var_07 = (9,0.5,9); + break; + + case "cyan": + var_07 = (0.5,9,9); + break; + } + + for(var_08 = 0;var_08 < param_04 * 20;var_08++) + { + wait(0.05); + } + } +} + +//Function Number: 20 +transformpointbyentity(param_00,param_01) +{ + return transformpoint(param_00,param_01.origin,param_01.angles); +} + +//Function Number: 21 +transformpoint(param_00,param_01,param_02) +{ + var_03 = length(param_00); + var_04 = vectortoangles(param_00); + var_05 = combineangles(param_02,var_04); + var_06 = anglestoforward(var_05); + return param_01 + var_06 * var_03; +} + +//Function Number: 22 +playdialog(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + common_scripts\utility::create_dvar("display_placeholderdialog",0); + if(!isdefined(param_06)) + { + param_06 = 0; + } + + if(isdefined(param_03)) + { + if(isdefined(param_04)) + { + param_04 endon(param_03); + } + else + { + level endon(param_03); + } + } + + if(isdefined(param_04) && isalive(param_04)) + { + param_04 endon("death"); + param_04 endon("dying"); + } + + if(!isdefined(param_02)) + { + param_02 = param_01; + } + + var_08 = tablelookuprownum(param_00,2,param_01 + "(Start)"); + if(var_08 == -1) + { + var_09 = 1; + } + else + { + var_09 = 0; + } + + if(var_09 == 1) + { + var_08 = tablelookuprownum(param_00,2,param_01); + var_0A = var_08; + } + else + { + var_0A = tablelookuprownum(param_01,2,param_02 + "(End)"); + } + + if(!isdefined(param_05)) + { + param_05 = 0; + } + + if(param_05 == 1) + { + var_0B = randomintrange(var_08,var_0A + 1); + _dialogtablelookup(param_00,var_0B,param_03,param_04,param_06,param_07); + } + else + { + for(var_0C = var_08;var_0C <= var_0A;var_0C++) + { + _dialogtablelookup(param_00,var_0C,param_03,param_04,param_06,param_07); + } + } + + level notify(param_02); +} + +//Function Number: 23 +_dialogtablelookup(param_00,param_01,param_02,param_03,param_04,param_05) +{ + var_06 = tablelookupbyrow(param_00,param_01,1); + var_07 = tablelookupbyrow(param_00,param_01,4); + var_08 = tablelookupbyrow(param_00,param_01,5); + if(var_08 == "") + { + var_08 = 2; + } + else + { + var_08 = float(var_08); + } + + var_09 = tablelookupbyrow(param_00,param_01,6); + if(var_09 == "") + { + var_09 = 2; + } + + var_09 = float(var_09); + var_0A = tablelookupbyrow(param_00,param_01,7); + var_0B = tablelookupbyrow(param_00,param_01,9); + var_0C = tablelookupbyrow(param_00,param_01,8); + if(var_08 == 1) + { + var_08 = "(whispering)"; + } + else if(var_08 == 1.5) + { + var_08 = "(intense whispering)"; + } + else if(var_08 == 2) + { + var_08 = ""; + } + else if(var_08 == 2.5) + { + var_08 = "(loud voice)"; + } + else if(var_08 == 3) + { + var_08 = "(shouting)"; + } + else if(var_08 == 4) + { + var_08 = "(screaming)"; + } + + if(var_0A == "") + { + var_0A = ""; + } + else + { + var_0A = "[" + var_0A + "]"; + } + + var_07 = var_0A + var_08 + var_07; + var_0D = tablelookupbyrow(param_00,param_01,12); + if(var_0C != "") + { + var_0C = float(var_0C); + wait(var_0C); + } + + var_0E = getdvarint("display_placeholderdialog"); + if(var_0E == 1) + { + thread maps\_utility::add_dialogue_line(var_06,var_07); + } + + if(var_0D != "" && soundexists(var_0D)) + { + if(var_0A == "[Radio]") + { + if(isdefined(param_03) && isai(param_03) && isalive(param_03)) + { + param_03 thread _clearradiodialogondeath(); + } + + if(isdefined(level.scr_radio[var_0D])) + { + if(param_04 == 1) + { + if(isdefined(level.player_radio_emitter)) + { + maps\_utility::radio_dialogue_overlap(var_0D); + } + else + { + maps\_utility::radio_dialogue(var_0D); + } + } + else + { + maps\_utility::radio_dialogue(var_0D); + } + + level notify("RadioDialogFinished"); + } + } + else if(var_0A == "[World]") + { + var_0F = getent(param_05,"targetname"); + if(isdefined(param_02)) + { + var_0F thread _clearworlddialogonnotify(param_02); + } + + if(isdefined(level.scr_radio[var_0D])) + { + var_0F maps\_utility::play_sound_on_entity(var_0D); + } + + level notify("WorldDialogFinished"); + } + else + { + var_10 = getdialogai(var_06,"script_parameters"); + if(isdefined(var_10) && isai(var_10)) + { + var_10 endon("death"); + if(isdefined(param_02)) + { + var_10 thread _clearcharacterdialogonnotify(param_02); + } + + if(isdefined(level.scr_sound[var_06][var_0D])) + { + var_10 thread _clearcharacterdialogondeath(); + var_10 maps\_utility::dialogue_queue(var_0D); + } + + level notify("CharacterDialogFinished"); + } + } + } + + if(var_0D == "" || !soundexists(var_0D)) + { + wait(var_09); + } + + if(var_0B == "") + { + var_0B = ""; + return; + } + + level notify(var_0B); +} + +//Function Number: 24 +waittillbcsdone(param_00) +{ + self endon("death"); + self endon("dying"); + if(!isdefined(level.dds)) + { + return; + } + + if(!isdefined(self.dds_characterid)) + { + return; + } + + if(isdefined(self.dds_disable) && self.dds_disable == 1) + { + return; + } + + for(;;) + { + wait 0.05; + if(maps\_dds::talker_is_talking_currently(self)) + { + wait(0.5); + continue; + } + else + { + maps\_utility::set_battlechatter(0); + break; + } + } +} + +//Function Number: 25 +makeavailableforbcs(param_00) +{ + self endon("death"); + self endon("dying"); + if(!isdefined(level.dds)) + { + return; + } + + if(!isdefined(self.dds_characterid)) + { + return; + } + + if(isdefined(self.dds_disable) && self.dds_disable == 1) + { + level.dds.characterid_is_talking_currently[self.dds_characterid] = 0; + return; + } + + level.dds.characterid_is_talking_currently[self.dds_characterid] = 0; +} + +//Function Number: 26 +_clearradiodialogondeath() +{ + level endon("RadioDialogFinished"); + common_scripts\utility::waittill_either("death","pain_death"); + maps\_utility::radio_dialogue_stop(); +} + +//Function Number: 27 +_clearcharacterdialogondeath() +{ + level endon("CharacterDialogFinished"); + common_scripts\utility::waittill_any("death","pain_death"); + if(isdefined(self)) + { + self stopsounds(); + } +} + +//Function Number: 28 +_clearcharacterdialogonnotify(param_00) +{ + self endon("death"); + self endon("pain_death"); + level waittill(param_00); + self stopsounds(); +} + +//Function Number: 29 +_clearworlddialogonnotify(param_00) +{ + level endon("WorldDialogFinished"); + level waittill(param_00); + var_01 = self getlinkedchildren(0); + if(!isdefined(var_01)) + { + return; + } + + foreach(var_03 in var_01) + { + var_03 stopsounds(); + } +} + +//Function Number: 30 +displayruleofthirds() +{ + level.player endon("death"); + precacheshader("line_vertical"); + common_scripts\utility::create_dvar("ruleofthirds","1"); + var_00 = "line_vertical"; + var_01 = []; + var_01[0] = _createhudline(213,0,1,480,var_00); + var_01[1] = _createhudline(426,0,1,480,var_00); + var_01[2] = _createhudline(0,160,640,1,var_00); + var_01[3] = _createhudline(0,320,640,1,var_00); + for(;;) + { + var_02 = getdvarint("ruleofthirds"); + if(var_02 != 1) + { + foreach(var_04 in var_01) + { + var_04.alpha = 0; + } + } + else if(var_02 == 1) + { + foreach(var_04 in var_01) + { + var_04.alpha = 1; + } + } + + wait(0.05); + } +} + +//Function Number: 31 +_createhudline(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + var_07 = newclienthudelem(level.player); + var_07.x = param_00; + var_07.y = param_01; + var_07.sort = 1; + var_07.horzalign = "fullscreen"; + var_07.vertalign = "fullscreen"; + var_07.alpha = 1; + var_07 setshader(param_04,param_02,param_03); + return var_07; +} + +//Function Number: 32 +cointossweighted(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 50; + } + + return randomint(100) <= param_00; +} + +//Function Number: 33 +_glass_physics_wakeup() +{ + var_00 = getentarray("glass_phys_wakeup","targetname"); + var_01 = 36; + if(var_00.size > 0) + { + foreach(var_03 in var_00) + { + if(!isdefined(var_03.target)) + { + } + + var_03.glass_id = getglass(var_03.target); + if(!isdefined(var_03.glass_id)) + { + continue; + } + + if(!isdefined(var_03.origin)) + { + var_03.origin = (0,0,0); + } + + var_03 thread _glass_physics_wakeup_update(var_01); + } + } +} + +//Function Number: 34 +_glass_physics_wakeup_update(param_00) +{ + level waittillmatch(self.glass_id,"glass_destroyed"); + var_01 = param_00; + if(isdefined(self.radius)) + { + var_01 = self.radius; + } + + wakeupphysicssphere(self.origin,var_01); + if(getdvarint("debug_glass_phys_wake",0)) + { + iprintln("Glass physics wakeup occurred for glass " + self.glass_id + " at (" + self.origin[0] + "," + self.origin[1] + "," + self.origin[2] + ")" + " with radius: " + var_01); + } +} \ No newline at end of file diff --git a/AW/PC/SP/maps/_hud.gsc b/AW/PC/maps/_hud.gsc similarity index 87% rename from AW/PC/SP/maps/_hud.gsc rename to AW/PC/maps/_hud.gsc index 9ce92b0..68801e4 100644 --- a/AW/PC/SP/maps/_hud.gsc +++ b/AW/PC/maps/_hud.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_hud.gsc + * Decompiled File: _hud.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 10 ms - * Timestamp: 10/27/2023 1:59:28 AM + * Decompile Time: 30 ms + * Timestamp: 4/22/2024 2:21:27 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_hud_util.gsc b/AW/PC/maps/_hud_util.gsc similarity index 99% rename from AW/PC/SP/maps/_hud_util.gsc rename to AW/PC/maps/_hud_util.gsc index b81478e..704d385 100644 --- a/AW/PC/SP/maps/_hud_util.gsc +++ b/AW/PC/maps/_hud_util.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_hud_util.gsc + * Decompiled File: _hud_util.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 42 - * Decompile Time: 505 ms - * Timestamp: 10/27/2023 1:59:30 AM + * Decompile Time: 692 ms + * Timestamp: 4/22/2024 2:21:30 AM *******************************************************************/ //Function Number: 1 @@ -239,8 +239,11 @@ setpoint(param_00,param_01,param_02,param_03,param_04) switch(self.elemtype) { case "bar": + setpointbar(param_00,param_01,param_02,param_03); break; } + + updatechildren(param_04); } //Function Number: 7 diff --git a/AW/PC/SP/maps/_idle.gsc b/AW/PC/maps/_idle.gsc similarity index 99% rename from AW/PC/SP/maps/_idle.gsc rename to AW/PC/maps/_idle.gsc index a4d4bb2..9a13de8 100644 --- a/AW/PC/SP/maps/_idle.gsc +++ b/AW/PC/maps/_idle.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_idle.gsc + * Decompiled File: _idle.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 18 - * Decompile Time: 236 ms - * Timestamp: 10/27/2023 1:59:31 AM + * Decompile Time: 276 ms + * Timestamp: 4/22/2024 2:21:31 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/_idle_phone.gsc b/AW/PC/maps/_idle_phone.gsc new file mode 100644 index 0000000..1034da0 --- /dev/null +++ b/AW/PC/maps/_idle_phone.gsc @@ -0,0 +1,17 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _idle_phone.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:21:31 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\_props::add_cellphone_notetracks("generic"); + level.scr_anim["generic"]["phone_idle"][0] = %patrol_bored_idle_cellphone; + level.scr_anim["generic"]["phone_react"] = %patrol_bored_react_look_retreat; +} \ No newline at end of file diff --git a/AW/PC/maps/_idle_smoke.gsc b/AW/PC/maps/_idle_smoke.gsc new file mode 100644 index 0000000..939d330 --- /dev/null +++ b/AW/PC/maps/_idle_smoke.gsc @@ -0,0 +1,17 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _idle_smoke.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:21:31 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\_props::add_smoking_notetracks("generic"); + level.scr_anim["generic"]["smoke_idle"][0] = %patrol_bored_idle_smoke; + level.scr_anim["generic"]["smoke_react"] = %patrol_bored_react_look_advance; +} \ No newline at end of file diff --git a/AW/PC/SP/maps/_intelligence.gsc b/AW/PC/maps/_intelligence.gsc similarity index 98% rename from AW/PC/SP/maps/_intelligence.gsc rename to AW/PC/maps/_intelligence.gsc index 7d7de75..f6402b7 100644 --- a/AW/PC/SP/maps/_intelligence.gsc +++ b/AW/PC/maps/_intelligence.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_intelligence.gsc + * Decompiled File: _intelligence.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 22 - * Decompile Time: 268 ms - * Timestamp: 10/27/2023 1:59:32 AM + * Decompile Time: 369 ms + * Timestamp: 4/22/2024 2:21:33 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_introscreen.gsc b/AW/PC/maps/_introscreen.gsc similarity index 99% rename from AW/PC/SP/maps/_introscreen.gsc rename to AW/PC/maps/_introscreen.gsc index 775570b..f832294 100644 --- a/AW/PC/SP/maps/_introscreen.gsc +++ b/AW/PC/maps/_introscreen.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_introscreen.gsc + * Decompiled File: _introscreen.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 47 - * Decompile Time: 689 ms - * Timestamp: 10/27/2023 1:59:34 AM + * Decompile Time: 724 ms + * Timestamp: 4/22/2024 2:21:35 AM *******************************************************************/ //Function Number: 1 @@ -210,11 +210,18 @@ center_screen_line(param_00,param_01,param_02) switch(param_01) { case 0: + var_03.fontscale = 3; + var_03.y = var_05; break; default: + var_03.fontscale = 1.15; + var_03.y = var_05 + 20 + 15 * param_01; break; } + + var_03.label = param_00; + return var_03; } //Function Number: 11 diff --git a/AW/PC/SP/maps/_inventory.gsc b/AW/PC/maps/_inventory.gsc similarity index 95% rename from AW/PC/SP/maps/_inventory.gsc rename to AW/PC/maps/_inventory.gsc index b6dd98a..3ad0da5 100644 --- a/AW/PC/SP/maps/_inventory.gsc +++ b/AW/PC/maps/_inventory.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_inventory.gsc + * Decompiled File: _inventory.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 6 - * Decompile Time: 69 ms - * Timestamp: 10/27/2023 1:59:35 AM + * Decompile Time: 101 ms + * Timestamp: 4/22/2024 2:21:36 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/_juggernaut.gsc b/AW/PC/maps/_juggernaut.gsc new file mode 100644 index 0000000..b2c2a11 --- /dev/null +++ b/AW/PC/maps/_juggernaut.gsc @@ -0,0 +1,186 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _juggernaut.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 5 + * Decompile Time: 85 ms + * Timestamp: 4/22/2024 2:21:36 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(isdefined(level.juggernaut_initialized)) + { + return; + } + + level.juggernaut_initialized = 1; + if(!isdefined(level.subclass_spawn_functions)) + { + level.subclass_spawn_functions = []; + } + + level.subclass_spawn_functions["juggernaut"] = ::subclass_juggernaut; + level.juggernaut_next_alert_time = 0; +} + +//Function Number: 2 +subclass_juggernaut() +{ + self.juggernaut = 1; + self.minpaindamage = 200; + self.grenadeammo = 0; + self.doorflashchance = 0.05; + self.aggressivemode = 1; + self.ignoresuppression = 1; + self.no_pistol_switch = 1; + self.norunngun = 1; + self.dontmelee = 1; + self.disableexits = 1; + self.disablearrivals = 1; + self.disablebulletwhizbyreaction = 1; + self.combatmode = "no_cover"; + self.neversprintforvariation = 1; + self.a.disablelongdeath = 1; + maps\_utility::disable_turnanims(); + maps\_utility::disable_surprise(); + init_juggernaut_animsets(); + maps\_utility::add_damage_function(::animscripts\pain::additive_pain); + maps\_utility::add_damage_function(::maps\_spawner::pain_resistance); + if(!self isbadguy()) + { + return; + } + + self.bullet_resistance = 40; + maps\_utility::add_damage_function(::maps\_spawner::bullet_resistance); + thread juggernaut_hunt_immediately_behavior(); + thread juggernaut_sound_when_player_close(); + self.pathenemyfightdist = 128; + self.pathenemylookahead = 128; + self setstompbreakthrough(0); + level notify("juggernaut_spawned"); + self waittill("death",var_00,var_01,var_02); + if(isdefined(self) && isdefined(self.nodrop)) + { + var_03 = []; + var_03[var_03.size] = "left"; + var_03[var_03.size] = "right"; + var_03[var_03.size] = "chest"; + var_03[var_03.size] = "back"; + animscripts\shared::detachallweaponmodels(); + foreach(var_05 in var_03) + { + var_02 = self.a.weaponpos[var_05]; + if(var_02 == "none") + { + continue; + } + + self.weaponinfo[var_02].position = "none"; + self.a.weaponpos[var_05] = "none"; + } + + self.weapon = "none"; + animscripts\shared::updateattachedweaponmodels(); + } + + level notify("juggernaut_died"); + if(!isdefined(self)) + { + return; + } + + if(!isdefined(var_00)) + { + return; + } + + if(!isplayer(var_00)) + { + } +} + +//Function Number: 3 +juggernaut_hunt_immediately_behavior() +{ + self endon("death"); + self endon("stop_hunting"); + self.usechokepoints = 0; + for(;;) + { + wait(0.5); + if(isdefined(self.enemy)) + { + self setgoalpos(self.enemy.origin); + self.goalradius = 128; + self.goalheight = 81; + } + } +} + +//Function Number: 4 +juggernaut_sound_when_player_close() +{ + self endon("death"); + level endon("special_op_terminated"); + if(isdefined(level.skip_juggernaut_intro_sound) && level.skip_juggernaut_intro_sound) + { + return; + } + + var_00 = 2500; + if(level.script == "ending") + { + common_scripts\utility::flag_wait("panic_button"); + var_00 = 750; + } + + for(;;) + { + wait(0.05); + if(gettime() < level.juggernaut_next_alert_time) + { + continue; + } + + var_01 = maps\_utility::get_closest_player(self.origin); + if(!isalive(var_01)) + { + continue; + } + + if(distance(var_01.origin,self.origin) > var_00) + { + continue; + } + + if(isdefined(level.pmc_alljuggernauts) && level.pmc_alljuggernauts) + { + var_02 = self gettagorigin("tag_flash"); + if(!bullettracepassed(self geteye(),var_01 geteye(),0,undefined)) + { + wait(0.25); + continue; + } + } + + break; + } + + level.juggernaut_next_alert_time = gettime() + 15000; + level notify("juggernaut_attacking"); +} + +//Function Number: 5 +init_juggernaut_animsets() +{ + self.walkdist = 500; + self.walkdistfacingmotion = 500; + maps\_utility::set_move_animset("run",%juggernaut_runf,%juggernaut_sprint); + maps\_utility::set_move_animset("walk",%juggernaut_walkf); + maps\_utility::set_move_animset("cqb",%juggernaut_walkf); + maps\_utility::set_combat_stand_animset(%juggernaut_stand_fire_burst,%juggernaut_aim5,%juggernaut_stand_idle,%juggernaut_stand_reload); +} \ No newline at end of file diff --git a/AW/PC/SP/maps/_lighting.gsc b/AW/PC/maps/_lighting.gsc similarity index 99% rename from AW/PC/SP/maps/_lighting.gsc rename to AW/PC/maps/_lighting.gsc index 2e5fa21..cf0bfde 100644 --- a/AW/PC/SP/maps/_lighting.gsc +++ b/AW/PC/maps/_lighting.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_lighting.gsc + * Decompiled File: _lighting.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 69 - * Decompile Time: 898 ms - * Timestamp: 10/27/2023 1:59:38 AM + * Decompile Time: 1046 ms + * Timestamp: 4/22/2024 2:21:40 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_lights.gsc b/AW/PC/maps/_lights.gsc similarity index 99% rename from AW/PC/SP/maps/_lights.gsc rename to AW/PC/maps/_lights.gsc index 24da51c..dc133bb 100644 --- a/AW/PC/SP/maps/_lights.gsc +++ b/AW/PC/maps/_lights.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_lights.gsc + * Decompiled File: _lights.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 39 - * Decompile Time: 464 ms - * Timestamp: 10/27/2023 1:59:40 AM + * Decompile Time: 578 ms + * Timestamp: 4/22/2024 2:21:42 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_load.gsc b/AW/PC/maps/_load.gsc similarity index 99% rename from AW/PC/SP/maps/_load.gsc rename to AW/PC/maps/_load.gsc index 95527bc..c993af5 100644 --- a/AW/PC/SP/maps/_load.gsc +++ b/AW/PC/maps/_load.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_load.gsc + * Decompiled File: _load.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 77 - * Decompile Time: 1102 ms - * Timestamp: 10/27/2023 1:59:43 AM + * Decompile Time: 1181 ms + * Timestamp: 4/22/2024 2:21:46 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_loadout.gsc b/AW/PC/maps/_loadout.gsc similarity index 97% rename from AW/PC/SP/maps/_loadout.gsc rename to AW/PC/maps/_loadout.gsc index f5194db..1cf21b0 100644 --- a/AW/PC/SP/maps/_loadout.gsc +++ b/AW/PC/maps/_loadout.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_loadout.gsc + * Decompiled File: _loadout.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 32 ms - * Timestamp: 10/27/2023 1:59:44 AM + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 2:21:46 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_loadout_code.gsc b/AW/PC/maps/_loadout_code.gsc similarity index 98% rename from AW/PC/SP/maps/_loadout_code.gsc rename to AW/PC/maps/_loadout_code.gsc index d2a1280..d16457f 100644 --- a/AW/PC/SP/maps/_loadout_code.gsc +++ b/AW/PC/maps/_loadout_code.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_loadout_code.gsc + * Decompiled File: _loadout_code.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 10 - * Decompile Time: 156 ms - * Timestamp: 10/27/2023 1:59:45 AM + * Decompile Time: 163 ms + * Timestamp: 4/22/2024 2:21:47 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/_mark_and_execute.gsc b/AW/PC/maps/_mark_and_execute.gsc new file mode 100644 index 0000000..7668d71 --- /dev/null +++ b/AW/PC/maps/_mark_and_execute.gsc @@ -0,0 +1,435 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _mark_and_execute.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 19 + * Decompile Time: 296 ms + * Timestamp: 4/22/2024 2:21:48 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + precacheshader("dpad_laser_designator"); + precacheitem("rsass_silenced"); +} + +//Function Number: 2 +mark_and_execute_on(param_00) +{ + level.hud_mark = set_temp_hud_text("default",1,&"IRONS_ESTATE_MARK",-398,-52); + level.hud_execute = set_temp_hud_text("default",1,&"IRONS_ESTATE_EXECUTE",-365,-35); + level.hud_execute.color = (1,0,0); + self notifyonplayercommand("mark","+actionslot 3"); + self notifyonplayercommand("execute","+actionslot 2"); + level.executer = param_00; + thread mark_monitor(); + thread execute_monitor(); + setup_generic_target_acquired_vo(); + setup_generic_no_shot_vo(); + setup_generic_target_down_vo(); + setup_generic_taking_the_shot_vo(); + setup_player_blocking_shot_vo(); +} + +//Function Number: 3 +mark_and_execute_off() +{ + self notify("mark_and_execute_off"); + wait(0.05); + if(isdefined(level.hud_mark)) + { + level.hud_mark destroy(); + } + + if(isdefined(level.hud_execute)) + { + level.hud_execute destroy(); + } +} + +//Function Number: 4 +set_temp_hud_text(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = maps\_hud_util::createfontstring(param_00,param_01); + var_05 settext(param_02); + var_05 maps\_hud_util::setpoint("CENTER","BOTTOM",param_03,param_04); + return var_05; +} + +//Function Number: 5 +mark_monitor() +{ + self endon("death"); + self endon("mark_and_execute_off"); + level.marked_enemy = undefined; + for(;;) + { + self waittill("mark"); + var_00 = bullettrace(self geteye(),self geteye() + anglestoforward(self getplayerangles()) * 50000,1,self,0,0,0,0,0); + if(isdefined(var_00["entity"])) + { + var_01 = var_00["entity"]; + if(isai(var_01) && isenemyteam(var_01.team,self.team) && isalive(var_01)) + { + common_scripts\utility::flag_set("marked_enemy"); + attempt_mark_enemy(var_01); + } + } + + wait(0.05); + } +} + +//Function Number: 6 +attempt_mark_enemy(param_00) +{ + level.player endon("death"); + level.player endon("mark_and_execute_off"); + if(isdefined(level.marked_enemy) && level.marked_enemy == param_00) + { + level.marked_enemy unmark_enemy(); + return; + } + + if(isdefined(level.marked_enemy) && level.marked_enemy != param_00) + { + level.marked_enemy unmark_enemy(); + param_00 mark_enemy(); + return; + } + + if(!isdefined(level.marked_enemy)) + { + param_00 mark_enemy(); + return; + } +} + +//Function Number: 7 +mark_enemy() +{ + self endon("death"); + self endon("mark_and_execute_off"); + self notify("marked"); + level notify("new_enemy_marked"); + thread maps\_tagging::tag_enemy(level.player); + level.marked_enemy = self; + thread marked_enemy_death_cleanup(); + thread marked_enemy_marker(); + thread can_shoot_enemy_monitor(); +} + +//Function Number: 8 +unmark_enemy() +{ + self endon("death"); + self endon("mark_and_execute_off"); + self notify("unmarked"); + level.executer.can_shoot_enemy = undefined; + level.marked_enemy = undefined; +} + +//Function Number: 9 +execute_monitor() +{ + self endon("death"); + self endon("mark_and_execute_off"); + for(;;) + { + var_00 = common_scripts\utility::waittill_any_return("execute","weapon_fired"); + if(var_00 == "weapon_fired") + { + var_01 = bullettrace(self geteye(),self geteye() + anglestoforward(self getplayerangles()) * 50000,1,self,0,0,0,0,0); + if(isdefined(var_01["entity"])) + { + var_02 = var_01["entity"]; + if(isai(var_02) && isenemyteam(var_02.team,self.team)) + { + attempt_execute(); + } + } + } + else if(var_00 == "execute") + { + attempt_execute(); + } + + wait(0.05); + } +} + +//Function Number: 10 +attempt_execute() +{ + level.player endon("death"); + level.player endon("mark_and_execute_off"); + level endon("new_enemy_marked"); + level notify("new_execute_attempted"); + level endon("new_execute_attempted"); + if(isdefined(level.marked_enemy) && isalive(level.marked_enemy) && isdefined(level.executer)) + { + if(isdefined(level.executer.can_shoot_enemy) && level.executer.can_shoot_enemy == 1 && isdefined(level.executer.shoot_tag)) + { + var_00 = level.marked_enemy; + level.marked_enemy.health = 1; + magicbullet("rsass_silenced",level.executer.origin,var_00 gettagorigin(level.executer.shoot_tag)); + wait(0.1); + if(isdefined(var_00) && isalive(var_00)) + { + var_00 kill(level.executer.origin); + } + + wait(0.1); + var_01 = common_scripts\utility::random(level.generic_target_down_vo_lines); + thread mark_and_execute_vo_controller(var_01); + return; + } + + if(isdefined(level.player_blocking_shot) && level.player_blocking_shot == 1) + { + var_01 = common_scripts\utility::random(level.player_blocking_shot_vo_lines); + thread mark_and_execute_vo_controller(var_01); + return; + } + + var_01 = common_scripts\utility::random(level.generic_no_shot_vo_lines); + thread mark_and_execute_vo_controller(var_01); + return; + } +} + +//Function Number: 11 +can_shoot_enemy_monitor() +{ + self endon("death"); + self endon("unmarked"); + level.player endon("death"); + level.player endon("mark_and_execute_off"); + var_00 = common_scripts\utility::random(level.generic_target_acquired_vo_lines); + thread mark_and_execute_vo_controller(var_00); + for(;;) + { + if(isdefined(level.marked_enemy) && isalive(level.marked_enemy)) + { + var_01 = bullettrace(level.executer.origin,level.marked_enemy gettagorigin("j_head"),1,level.executer,0,1,1,0,0); + if(isdefined(var_01["entity"]) && var_01["entity"] == level.marked_enemy) + { + level.hud_execute.color = (0,1,0); + level.executer.can_shoot_enemy = 1; + level.executer.shoot_tag = "j_head"; + level.player_blocking_shot = 0; + } + else if(isdefined(var_01["entity"]) && var_01["entity"] == level.player) + { + level.player_blocking_shot = 1; + level.hud_execute.color = (1,0,0); + level.executer.can_shoot_enemy = undefined; + level.executer.shoot_tag = undefined; + } + else + { + var_01 = bullettrace(level.executer.origin,level.marked_enemy gettagorigin("j_SpineUpper"),1,level.executer,0,1,1,0,0); + if(isdefined(var_01["entity"]) && var_01["entity"] == level.marked_enemy) + { + level.hud_execute.color = (0,1,0); + level.executer.can_shoot_enemy = 1; + level.executer.shoot_tag = "j_SpineUpper"; + level.player_blocking_shot = 0; + } + else if(isdefined(var_01["entity"]) && var_01["entity"] == level.player) + { + level.player_blocking_shot = 1; + level.hud_execute.color = (1,0,0); + level.executer.can_shoot_enemy = undefined; + level.executer.shoot_tag = undefined; + } + else + { + var_01 = bullettrace(level.executer.origin,level.marked_enemy gettagorigin("J_SpineLower"),1,level.executer,0,1,1,0,0); + if(isdefined(var_01["entity"]) && var_01["entity"] == level.marked_enemy) + { + level.hud_execute.color = (0,1,0); + level.executer.can_shoot_enemy = 1; + level.executer.shoot_tag = "J_SpineLower"; + level.player_blocking_shot = 0; + } + else if(isdefined(var_01["entity"]) && var_01["entity"] == level.player) + { + level.player_blocking_shot = 1; + level.hud_execute.color = (1,0,0); + level.executer.can_shoot_enemy = undefined; + level.executer.shoot_tag = undefined; + } + else + { + level.hud_execute.color = (1,0,0); + level.executer.can_shoot_enemy = undefined; + level.executer.shoot_tag = undefined; + } + } + } + } + + wait(0.05); + } +} + +//Function Number: 12 +marked_enemy_death_cleanup() +{ + level.player endon("death"); + level.player endon("mark_and_execute_off"); + self endon("unmarked"); + self waittill("death"); + level.hud_execute.color = (1,0,0); + level.executer.can_shoot_enemy = undefined; + level.executer.shoot_tag = undefined; +} + +//Function Number: 13 +marked_enemy_marker() +{ + level.player endon("death"); + level.player endon("mark_and_execute_off"); + self endon("unmarked"); + self endon("death"); + while(isdefined(self) && isalive(self)) + { + var_00 = distance(level.player.origin,self.origin); + var_01 = 1500; + var_02 = 0; + var_03 = 0.25; + var_04 = 3; + var_05 = var_01 - var_02; + var_00 = clamp(var_00 - var_02,0,var_05); + var_06 = var_03 + var_00 / var_05 * var_04 - var_03; + wait(0.05); + } +} + +//Function Number: 14 +setup_generic_target_acquired_vo() +{ + level.generic_target_acquired_vo_lines = []; + level.generic_target_acquired_vo_lines[0] = spawnstruct(); + level.generic_target_acquired_vo_lines[0].vo = "ie_iln_targetacquired"; + level.generic_target_acquired_vo_lines[0].vo_priority = 1; + level.generic_target_acquired_vo_lines[1] = spawnstruct(); + level.generic_target_acquired_vo_lines[1].vo = "ie_iln_gothim"; + level.generic_target_acquired_vo_lines[1].vo_priority = 1; + level.generic_target_acquired_vo_lines[2] = spawnstruct(); + level.generic_target_acquired_vo_lines[2].vo = "ie_iln_trackingtarget"; + level.generic_target_acquired_vo_lines[2].vo_priority = 1; + level.generic_target_acquired_vo_lines[3] = spawnstruct(); + level.generic_target_acquired_vo_lines[3].vo = "ie_iln_watchyingtarget"; + level.generic_target_acquired_vo_lines[3].vo_priority = 1; +} + +//Function Number: 15 +setup_generic_no_shot_vo() +{ + level.generic_no_shot_vo_lines = []; + level.generic_no_shot_vo_lines[0] = spawnstruct(); + level.generic_no_shot_vo_lines[0].vo = "ie_iln_noshot"; + level.generic_no_shot_vo_lines[0].vo_priority = 2; + level.generic_no_shot_vo_lines[1] = spawnstruct(); + level.generic_no_shot_vo_lines[1].vo = "ie_iln_idonthaveashot"; + level.generic_no_shot_vo_lines[1].vo_priority = 2; + level.generic_no_shot_vo_lines[2] = spawnstruct(); + level.generic_no_shot_vo_lines[2].vo = "ie_iln_donthaveashot"; + level.generic_no_shot_vo_lines[2].vo_priority = 2; + level.generic_no_shot_vo_lines[3] = spawnstruct(); + level.generic_no_shot_vo_lines[3].vo = "ie_iln_donthavehim"; + level.generic_no_shot_vo_lines[3].vo_priority = 2; + level.generic_no_shot_vo_lines[4] = spawnstruct(); + level.generic_no_shot_vo_lines[4].vo = "ie_iln_targetobstructed"; + level.generic_no_shot_vo_lines[4].vo_priority = 2; + level.generic_no_shot_vo_lines[5] = spawnstruct(); + level.generic_no_shot_vo_lines[5].vo = "ie_iln_noclearshot"; + level.generic_no_shot_vo_lines[5].vo_priority = 2; + level.generic_no_shot_vo_lines[6] = spawnstruct(); + level.generic_no_shot_vo_lines[6].vo = "ie_iln_outofsight"; + level.generic_no_shot_vo_lines[6].vo_priority = 2; + level.generic_no_shot_vo_lines[7] = spawnstruct(); + level.generic_no_shot_vo_lines[7].vo = "ie_iln_outofview"; + level.generic_no_shot_vo_lines[7].vo_priority = 2; +} + +//Function Number: 16 +setup_player_blocking_shot_vo() +{ + level.player_blocking_shot_vo_lines = []; + level.player_blocking_shot_vo_lines[0] = spawnstruct(); + level.player_blocking_shot_vo_lines[0].vo = "ie_iln_mitchellblockingmyshot"; + level.player_blocking_shot_vo_lines[0].vo_priority = 0; + level.player_blocking_shot_vo_lines[1] = spawnstruct(); + level.player_blocking_shot_vo_lines[1].vo = "ie_iln_blockingmyshot"; + level.player_blocking_shot_vo_lines[1].vo_priority = 0; + level.player_blocking_shot_vo_lines[2] = spawnstruct(); + level.player_blocking_shot_vo_lines[2].vo = "ie_iln_moveoutoftheway"; + level.player_blocking_shot_vo_lines[2].vo_priority = 0; + level.player_blocking_shot_vo_lines[3] = spawnstruct(); + level.player_blocking_shot_vo_lines[3].vo = "ie_iln_getoutoftheway"; + level.player_blocking_shot_vo_lines[3].vo_priority = 0; +} + +//Function Number: 17 +setup_generic_target_down_vo() +{ + level.generic_target_down_vo_lines = []; + level.generic_target_down_vo_lines[0] = spawnstruct(); + level.generic_target_down_vo_lines[0].vo = "ie_iln_targetsdown"; + level.generic_target_down_vo_lines[0].vo_priority = 2; + level.generic_target_down_vo_lines[1] = spawnstruct(); + level.generic_target_down_vo_lines[1].vo = "ie_iln_hesdown"; + level.generic_target_down_vo_lines[1].vo_priority = 2; + level.generic_target_down_vo_lines[2] = spawnstruct(); + level.generic_target_down_vo_lines[2].vo = "ie_iln_igothim"; + level.generic_target_down_vo_lines[2].vo_priority = 2; + level.generic_target_down_vo_lines[3] = spawnstruct(); + level.generic_target_down_vo_lines[3].vo = "ie_iln_targetneutralized"; + level.generic_target_down_vo_lines[3].vo_priority = 2; +} + +//Function Number: 18 +setup_generic_taking_the_shot_vo() +{ + level.generic_taking_the_shot_vo_lines = []; + level.generic_taking_the_shot_vo_lines[0] = spawnstruct(); + level.generic_taking_the_shot_vo_lines[0].vo = "ie_iln_takingshot"; + level.generic_taking_the_shot_vo_lines[0].vo_priority = 0; +} + +//Function Number: 19 +mark_and_execute_vo_controller(param_00) +{ + level.player endon("death"); + level.player endon("mark_and_execute_off"); + level endon("meet_cormack_end"); + if(isdefined(level.play_ilana_vo) && level.play_ilana_vo == 1) + { + if(isdefined(level.current_vo) && isdefined(param_00.vo_priority) && param_00.vo_priority > level.current_vo.vo_priority) + { + level.ilana_vo_org stopsounds(); + wait(0.05); + level.current_vo = param_00; + level.ilana_vo_org playsound(param_00.vo,"sounddone",1); + level.ilana_vo_org waittill("sounddone"); + wait(0.5); + level.current_vo = undefined; + return; + } + + if(!isdefined(level.current_vo)) + { + level.current_vo = param_00; + level.ilana_vo_org playsound(param_00.vo,"sounddone",1); + level.ilana_vo_org waittill("sounddone"); + wait(0.5); + level.current_vo = undefined; + return; + } + } +} \ No newline at end of file diff --git a/AW/PC/SP/maps/_mech.gsc b/AW/PC/maps/_mech.gsc similarity index 99% rename from AW/PC/SP/maps/_mech.gsc rename to AW/PC/maps/_mech.gsc index 2caef80..b840a83 100644 --- a/AW/PC/SP/maps/_mech.gsc +++ b/AW/PC/maps/_mech.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_mech.gsc + * Decompiled File: _mech.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 70 - * Decompile Time: 1134 ms - * Timestamp: 10/27/2023 1:59:49 AM + * Decompile Time: 1037 ms + * Timestamp: 4/22/2024 2:21:52 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_mech_aud.gsc b/AW/PC/maps/_mech_aud.gsc similarity index 93% rename from AW/PC/SP/maps/_mech_aud.gsc rename to AW/PC/maps/_mech_aud.gsc index c106961..a1e6697 100644 --- a/AW/PC/SP/maps/_mech_aud.gsc +++ b/AW/PC/maps/_mech_aud.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_mech_aud.gsc + * Decompiled File: _mech_aud.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 8 - * Decompile Time: 125 ms - * Timestamp: 10/27/2023 1:59:49 AM + * Decompile Time: 138 ms + * Timestamp: 4/22/2024 2:21:52 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_mg_penetration.gsc b/AW/PC/maps/_mg_penetration.gsc similarity index 98% rename from AW/PC/SP/maps/_mg_penetration.gsc rename to AW/PC/maps/_mg_penetration.gsc index aaefeb5..4ae2026 100644 --- a/AW/PC/SP/maps/_mg_penetration.gsc +++ b/AW/PC/maps/_mg_penetration.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_mg_penetration.gsc + * Decompiled File: _mg_penetration.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 16 - * Decompile Time: 263 ms - * Timestamp: 10/27/2023 1:59:51 AM + * Decompile Time: 251 ms + * Timestamp: 4/22/2024 2:21:53 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_mgturret.gsc b/AW/PC/maps/_mgturret.gsc similarity index 99% rename from AW/PC/SP/maps/_mgturret.gsc rename to AW/PC/maps/_mgturret.gsc index 208f7a3..64ed1a4 100644 --- a/AW/PC/SP/maps/_mgturret.gsc +++ b/AW/PC/maps/_mgturret.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_mgturret.gsc + * Decompiled File: _mgturret.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 71 - * Decompile Time: 1293 ms - * Timestamp: 10/27/2023 1:59:55 AM + * Decompile Time: 1082 ms + * Timestamp: 4/22/2024 2:21:57 AM *******************************************************************/ //Function Number: 1 @@ -982,29 +982,34 @@ setdifficulty() init_mgturretsettings(); var_00 = getentarray("misc_turret","code_classname"); var_01 = maps\_utility::getdifficulty(); - var_02 = 0; - if(var_02 < var_00.size) + for(var_02 = 0;var_02 < var_00.size;var_02++) { if(isdefined(var_00[var_02].script_skilloverride)) { switch(var_00[var_02].script_skilloverride) { case "easy": + var_01 = "easy"; break; case "medium": + var_01 = "medium"; break; case "hard": + var_01 = "hard"; break; case "fu": + var_01 = "fu"; break; default: break; } } + + mg42_setdifficulty(var_00[var_02],var_01); } } diff --git a/AW/PC/SP/maps/_mgturret_auto_nonai.gsc b/AW/PC/maps/_mgturret_auto_nonai.gsc similarity index 92% rename from AW/PC/SP/maps/_mgturret_auto_nonai.gsc rename to AW/PC/maps/_mgturret_auto_nonai.gsc index d285f16..5a3e75f 100644 --- a/AW/PC/SP/maps/_mgturret_auto_nonai.gsc +++ b/AW/PC/maps/_mgturret_auto_nonai.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_mgturret_auto_nonai.gsc + * Decompiled File: _mgturret_auto_nonai.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 4 - * Decompile Time: 77 ms - * Timestamp: 10/27/2023 1:59:55 AM + * Decompile Time: 69 ms + * Timestamp: 4/22/2024 2:21:57 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_microdronelauncher.gsc b/AW/PC/maps/_microdronelauncher.gsc similarity index 95% rename from AW/PC/SP/maps/_microdronelauncher.gsc rename to AW/PC/maps/_microdronelauncher.gsc index 3a4ed30..2b5b68b 100644 --- a/AW/PC/SP/maps/_microdronelauncher.gsc +++ b/AW/PC/maps/_microdronelauncher.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_microdronelauncher.gsc + * Decompiled File: _microdronelauncher.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 6 - * Decompile Time: 88 ms - * Timestamp: 10/27/2023 1:59:56 AM + * Decompile Time: 122 ms + * Timestamp: 4/22/2024 2:21:58 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/_microwave_grenade.gsc b/AW/PC/maps/_microwave_grenade.gsc new file mode 100644 index 0000000..1986562 --- /dev/null +++ b/AW/PC/maps/_microwave_grenade.gsc @@ -0,0 +1,372 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _microwave_grenade.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 20 + * Decompile Time: 301 ms + * Timestamp: 4/22/2024 2:21:59 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + init_microwave_grenade(); +} + +//Function Number: 2 +init_microwave_grenade() +{ + precacheitem("microwave_grenade"); + precacheshellshock("flashbang"); + precache_microwave_grenade_fx(); + precache_microwave_anims(); + start_monitor_microwave_grenades(); +} + +//Function Number: 3 +precache_microwave_grenade_fx() +{ + level._effect["microwave_grenade"] = loadfx("vfx/explosion/microwave_grenade_exp"); + level._effect["microwave_grenade_sparks_1"] = loadfx("vfx/sparks/microwave_grenade_sparks_1"); + level._effect["microwave_grenade_sparks_char_1"] = loadfx("vfx/sparks/microwave_grenade_sparks_char_1"); +} + +//Function Number: 4 +precache_microwave_anims() +{ + level.scr_anim["generic"]["microwave_react1"] = %teargas_react_1; + level.scr_anim["generic"]["microwave_react2"] = %teargas_react_2; + level.scr_anim["generic"]["microwave_react3"] = %teargas_react_3; + level.scr_anim["generic"]["microwave_run1"][0] = %teargas_run_6; + level.scr_anim["generic"]["microwave_run2"][0] = %teargas_run_7; + level.scr_anim["generic"]["microwave_run3"][0] = %teargas_run_8; +} + +//Function Number: 5 +start_monitor_microwave_grenades() +{ + maps\_utility::add_global_spawn_function("axis",::monitor_microwave_grenades); + maps\_utility::add_global_spawn_function("allies",::monitor_microwave_grenades); + foreach(var_01 in level.players) + { + var_01 thread monitor_microwave_grenades(); + } +} + +//Function Number: 6 +monitor_microwave_grenades() +{ + self endon("death"); + for(;;) + { + var_00 = undefined; + var_01 = undefined; + self waittill("grenade_fire",var_00,var_01); + if(isdefined(var_00)) + { + if(isdefined(var_01)) + { + if(var_01 == "microwave_grenade") + { + var_00.team = self.team; + var_00 thread microwave_grenade_explode_wait(); + } + } + } + } +} + +//Function Number: 7 +microwave_grenade_explode_wait() +{ + self waittill("explode",var_00); + if(isdefined(self.team)) + { + maps\_dds::dds_notify("react_microwave",self.team != "allies"); + } + else + { + maps\_dds::dds_notify("react_microwave",1); + } + + thread soundscripts\_snd_common::aud_microwave_grenade(); + playfx(common_scripts\utility::getfx("microwave_grenade"),self.origin); + thread play_microwave_sparkfx(self.origin); + thread play_microwave_physics(self.origin); + thread player_screen_flash(1.5); + thread microwave_grenade_ai_flee_pulse(); +} + +//Function Number: 8 +microwave_grenade_ai_flee_pulse() +{ + self endon("death"); + var_00 = 90000; + badplace_cylinder("",7.5,self.origin,300,300,"axis","allies","neutral"); +} + +//Function Number: 9 +microwave_claim_safe_node(param_00) +{ + if(!isdefined(param_00)) + { + return undefined; + } + + var_01 = getnodesinradius(param_00.origin,600,350); + var_01 = sortbydistance(var_01,self.origin); + foreach(var_03 in var_01) + { + if(!isdefined(var_03.mw_claimed) || gettime() > var_03.mw_claimed) + { + var_03.mw_claimed = gettime() + 10000; + return var_03; + } + } + + return undefined; +} + +//Function Number: 10 +microwave_set_safe_goal(param_00) +{ + if(isdefined(param_00)) + { + maps\_utility::set_goalradius(20); + self setgoalnode(param_00); + return; + } + + maps\_utility::set_goalradius(50); + self setgoalentity(level.player); +} + +//Function Number: 11 +ai_flee_from_microwave(param_00,param_01) +{ + self notify("ai_flee_from_microwave"); + self endon("ai_flee_from_microwave"); + self endon("death"); + if(isdefined(self) == 0 || isalive(self) == 0 || maps\_utility::doinglongdeath()) + { + return; + } + + maps\_utility::set_ignoresuppression(1); + self.mw_old_goalradius = self.goalradius; + self.mw_old_animname = self.animname; + self.mw_grenade = param_00; + self.animname = "generic"; + self clearenemy(); + self.mw_old_badplace_awareness = self.badplaceawareness; + self.badplaceawareness = 0; + self.ignoreall = 1; + self.allowdeath = 1; + self.disablearrivals = 1; + self.disableexits = 1; + self.a.disablepain = 1; + self.script_forcegoal = 0; + self.disabledamagefeedbacksnd = 1; + thread handle_microwaved_ai(self); + var_02 = "microwave_react" + 1 + randomint(3); + if(check_melee_interaction_active()) + { + cleanup_microwave_on_exit(); + return; + } + + if(!isdefined(self.mech)) + { + childthread maps\_anim::anim_custom_animmode_solo(self,"gravity",var_02); + } + + if(check_melee_interaction_active()) + { + cleanup_microwave_on_exit(); + return; + } + + if(!isdefined(self.mech)) + { + var_03 = "microwave_run" + 1 + randomint(3); + maps\_utility::set_run_anim(var_03); + } + + microwave_set_safe_goal(param_01); + for(;;) + { + var_04 = common_scripts\utility::waittill_any_timeout(0.2,"goal"); + var_05 = gettime() - self.microwaved > 300; + if(var_04 == "goal" || var_05) + { + if(var_05) + { + cleanup_microwave_on_exit(); + return; + } + else + { + var_06 = microwave_claim_safe_node(self.mw_grenade); + microwave_set_safe_goal(var_06); + } + } + } +} + +//Function Number: 12 +cleanup_microwave_on_exit() +{ + maps\_utility::clear_run_anim(); + self.ignoreall = 0; + self.disablearrivals = 0; + self.disableexits = 0; + self.a.disablepain = 0; + self.disabledamagefeedbacksnd = undefined; + maps\_utility::set_goalradius(self.mw_old_goalradius); + self.badplaceawareness = self.mw_old_badplace_awareness; + maps\_utility::set_ignoresuppression(0); + if(isdefined(self.animname) && self.animname == "generic") + { + self.animname = self.mw_old_animname; + } + + self.microwaved = undefined; + self.mw_grenade = undefined; +} + +//Function Number: 13 +check_melee_interaction_active() +{ + if(isdefined(self.dog_attacking_me) || isdefined(self.syncedmeleetarget) || isdefined(self.melee) && isdefined(self.melee.target)) + { + return 1; + } + + return 0; +} + +//Function Number: 14 +handle_microwaved_ai(param_00) +{ + if(!isdefined(level.microwaveded_ai)) + { + level.microwaveded_ai = []; + } + + level.microwaveded_ai[level.microwaveded_ai.size] = param_00; + param_00 waittill("death"); + level.microwaveded_ai = common_scripts\utility::array_remove(level.microwaveded_ai,param_00); +} + +//Function Number: 15 +play_microwave_sparkfx(param_00) +{ + var_01 = 7500; + var_02 = 220; + var_03 = gettime() + var_01 - 500; + thread play_environment_microwave_sparks(var_01,var_02,param_00,var_03); + thread play_character_microwave_sparks(param_00,var_02,var_03); +} + +//Function Number: 16 +play_environment_microwave_sparks(param_00,param_01,param_02,param_03) +{ + while(gettime() < param_03) + { + wait(0.1); + var_04 = (randomfloat(2) - 1,randomfloat(2) - 1,randomfloat(1)); + var_05 = 32 * var_04 + param_02; + var_06 = param_01 * var_04 + param_02; + var_07 = bullettrace(var_05,var_06,0,undefined,0,0,1,0,0); + if(isdefined(var_07) && var_07["surfacetype"] != "none") + { + if(distance(var_05,var_07["position"]) > 20) + { + playfx(common_scripts\utility::getfx("microwave_grenade_sparks_1"),var_07["position"],var_07["normal"]); + thread soundscripts\_snd_common::aud_microwave_grenade_sparks_env(var_07["position"]); + } + } + } +} + +//Function Number: 17 +play_character_microwave_sparks(param_00,param_01,param_02) +{ + var_03 = ["TAG_WEAPON_RIGHT","TAG_WEAPON_LEFT","J_Head","J_SpineLower"]; + while(gettime() < param_02) + { + wait(randomfloatrange(0.15,0.25)); + var_04 = getaiarray("axis","allies"); + var_05 = []; + foreach(var_07 in var_04) + { + if(distancesquared(var_07.origin,param_00) < param_01 * param_01) + { + var_05[var_05.size] = var_07; + } + } + + if(var_05.size > 0) + { + foreach(var_0A in var_05) + { + if(randomint(2) == 1) + { + playfxontag(common_scripts\utility::getfx("microwave_grenade_sparks_char_1"),var_0A,var_03[randomint(var_03.size)]); + thread soundscripts\_snd_common::aud_microwave_grenade_sparks_dude(var_0A); + } + } + } + } +} + +//Function Number: 18 +ismetalsurface(param_00) +{ + var_01 = ["metal_debris","metal_grate","metal_hollow","metal_solid","metal_vehicle","metal_thin","metal_wet"]; + foreach(var_03 in var_01) + { + if(var_03 == param_00) + { + return 1; + } + } + + return 0; +} + +//Function Number: 19 +play_microwave_physics(param_00) +{ + var_01 = 0; + while(var_01 <= 7.5) + { + physicsexplosionsphere(param_00,256,128,0.5,0); + var_01 = var_01 + 0.5; + wait(0.5); + } +} + +//Function Number: 20 +player_screen_flash(param_00) +{ + self endon("death"); + if(isdefined(param_00)) + { + while(isdefined(self) && isdefined(level.player)) + { + var_01 = distance(self.origin,level.player.origin); + if(var_01 >= 220) + { + continue; + } + + level.player shellshock("flashbang",1.5); + wait(param_00); + } + + wait(0.05); + return; + } +} \ No newline at end of file diff --git a/AW/PC/SP/maps/_mocap_ar.gsc b/AW/PC/maps/_mocap_ar.gsc similarity index 75% rename from AW/PC/SP/maps/_mocap_ar.gsc rename to AW/PC/maps/_mocap_ar.gsc index afb2112..1f4eb74 100644 --- a/AW/PC/SP/maps/_mocap_ar.gsc +++ b/AW/PC/maps/_mocap_ar.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_mocap_ar.gsc + * Decompiled File: _mocap_ar.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 27 ms - * Timestamp: 10/27/2023 1:59:57 AM + * Decompile Time: 52 ms + * Timestamp: 4/22/2024 2:22:00 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_names.gsc b/AW/PC/maps/_names.gsc similarity index 98% rename from AW/PC/SP/maps/_names.gsc rename to AW/PC/maps/_names.gsc index 7d2c457..ed51279 100644 --- a/AW/PC/SP/maps/_names.gsc +++ b/AW/PC/maps/_names.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_names.gsc + * Decompiled File: _names.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 14 - * Decompile Time: 232 ms - * Timestamp: 10/27/2023 1:59:58 AM + * Decompile Time: 255 ms + * Timestamp: 4/22/2024 2:22:01 AM *******************************************************************/ //Function Number: 1 @@ -815,27 +815,35 @@ getrankfromname(param_00) switch(var_02) { case "Pvt.": + self.airank = "private"; break; case "Pfc.": + self.airank = "private"; break; case "Agent": + self.airank = "private"; break; case "Cpl.": + self.airank = "corporal"; break; case "Sgt.": + self.airank = "sergeant"; break; case "Lt.": + self.airank = "lieutenant"; break; case "Cpt.": + self.airank = "captain"; break; default: + self.airank = "private"; break; } } @@ -852,8 +860,10 @@ nationalityusescallsigns(param_00) case "taskforce": case "delta": case "xslice": - break; + return 1; } + + return 0; } //Function Number: 14 diff --git a/AW/PC/maps/_nightvision.gsc b/AW/PC/maps/_nightvision.gsc new file mode 100644 index 0000000..0cb5f0f --- /dev/null +++ b/AW/PC/maps/_nightvision.gsc @@ -0,0 +1,187 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _nightvision.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 12 + * Decompile Time: 184 ms + * Timestamp: 4/22/2024 2:22:01 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01) +{ + if(!isdefined(param_00)) + { + param_00 = level.players; + } + + thread init_and_run(param_00,param_01); +} + +//Function Number: 2 +init_and_run(param_00,param_01) +{ + param_01 = common_scripts\utility::ter_op(isdefined(param_01),param_01,1); + precachenightvisioncodeassets(); + precacheshellshock("nightvision"); + level.nightvision_dlight_effect = loadfx("fx/misc/NV_dlight"); + level.nightvision_reflector_effect = loadfx("fx/misc/ir_tapeReflect"); + for(var_02 = 0;var_02 < param_00.size;var_02++) + { + var_03 = param_00[var_02]; + var_03 maps\_utility::ent_flag_init("nightvision_enabled"); + var_03 maps\_utility::ent_flag_init("nightvision_on"); + var_03 maps\_utility::ent_flag_set("nightvision_enabled"); + var_03 maps\_utility::ent_flag_init("nightvision_dlight_enabled"); + var_03 maps\_utility::ent_flag_set("nightvision_dlight_enabled"); + var_03 maps\_utility::ent_flag_clear("nightvision_dlight_enabled"); + var_03 setactionslot(param_01,"nightvision"); + } + + visionsetnight("default_night"); + waittillframeend; + wait(0.05); + for(var_02 = 0;var_02 < param_00.size;var_02++) + { + var_03 = param_00[var_02]; + var_03 thread nightvision_toggle(); + } +} + +//Function Number: 3 +nightvision_toggle() +{ + self endon("death"); + for(;;) + { + self waittill("night_vision_on"); + nightvision_on(); + self waittill("night_vision_off"); + nightvision_off(); + wait(0.05); + } +} + +//Function Number: 4 +nightvision_check(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = level.player; + } + + return isdefined(param_00.nightvision_enabled); +} + +//Function Number: 5 +nightvision_on() +{ + self.nightvision_started = 1; + wait(1); + maps\_utility::ent_flag_set("nightvision_on"); + self.nightvision_enabled = 1; + var_00 = getaiarray("allies"); + common_scripts\utility::array_thread(var_00,::enable_ir_beacon); + if(!maps\_utility::exists_global_spawn_function("allies",::enable_ir_beacon)) + { + maps\_utility::add_global_spawn_function("allies",::enable_ir_beacon); + } +} + +//Function Number: 6 +enable_ir_beacon() +{ + if(!isai(self)) + { + return; + } + + if(isdefined(self.has_no_ir)) + { + return; + } + + animscripts\shared::updatelaserstatus(); + thread loopreflectoreffect(); +} + +//Function Number: 7 +loopreflectoreffect() +{ + level endon("night_vision_off"); + self endon("death"); + for(;;) + { + playfxontag(level.nightvision_reflector_effect,self,"tag_reflector_arm_le"); + playfxontag(level.nightvision_reflector_effect,self,"tag_reflector_arm_ri"); + wait(0.1); + } +} + +//Function Number: 8 +stop_reflector_effect() +{ + if(isdefined(self.has_no_ir)) + { + return; + } + + stopfxontag(level.nightvision_reflector_effect,self,"tag_reflector_arm_le"); + stopfxontag(level.nightvision_reflector_effect,self,"tag_reflector_arm_ri"); +} + +//Function Number: 9 +nightvision_off() +{ + self.nightvision_started = undefined; + wait(0.4); + level notify("night_vision_off"); + if(isdefined(level.nightvision_dlight)) + { + level.nightvision_dlight delete(); + } + + self notify("nightvision_shellshock_off"); + maps\_utility::ent_flag_clear("nightvision_on"); + self.nightvision_enabled = undefined; + var_00 = 0; + for(var_01 = 0;var_01 < level.players.size;var_01++) + { + if(nightvision_check(level.players[var_01])) + { + var_00 = 1; + } + } + + if(!var_00) + { + maps\_utility::remove_global_spawn_function("allies",::enable_ir_beacon); + } + + thread nightvision_effectsoff(); +} + +//Function Number: 10 +nightvision_effectsoff() +{ + var_00 = getaiarray("allies"); + foreach(var_02 in var_00) + { + var_02.usingnvfx = undefined; + var_02 animscripts\shared::updatelaserstatus(); + var_02 stop_reflector_effect(); + } +} + +//Function Number: 11 +shouldbreaknvghintprint() +{ + return isdefined(self.nightvision_started); +} + +//Function Number: 12 +should_break_disable_nvg_print() +{ + return !isdefined(self.nightvision_started); +} \ No newline at end of file diff --git a/AW/PC/SP/maps/_patrol.gsc b/AW/PC/maps/_patrol.gsc similarity index 77% rename from AW/PC/SP/maps/_patrol.gsc rename to AW/PC/maps/_patrol.gsc index fbd3ec3..0a379ba 100644 --- a/AW/PC/SP/maps/_patrol.gsc +++ b/AW/PC/maps/_patrol.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_patrol.gsc + * Decompiled File: _patrol.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 23 - * Decompile Time: 351 ms - * Timestamp: 10/27/2023 1:59:59 AM + * Decompile Time: 383 ms + * Timestamp: 4/22/2024 2:22:03 AM *******************************************************************/ //Function Number: 1 @@ -111,96 +111,205 @@ patrol(param_00) var_09["checkphone"] = "patrol_idle_checkphone"; var_09["phone"] = "patrol_idle_phone"; var_0A = var_07; - if(isdefined(self._stealth)) - { - self._stealth.debug_state = "Wait 4 nextgoal"; - } - - while(isdefined(var_0A.patrol_claimed)) - { - wait(0.05); - } - - var_07.patrol_claimed = undefined; - var_07 = var_0A; - self notify("release_node"); - var_07.patrol_claimed = 1; - self.last_patrol_goal = var_07; - [[ var_02[var_08] ]](var_07); - if(isdefined(var_07.radius) && var_07.radius > 0) - { - self.goalradius = var_07.radius; - } - else - { - self.goalradius = 32; - } - - if(isdefined(self._stealth)) - { - self._stealth.debug_state = "Patrolling"; - } - - self waittill("goal"); - var_07 notify("trigger",self); - if(isdefined(var_07.script_flag_set)) - { - common_scripts\utility::flag_set(var_07.script_flag_set); - } - - if(isdefined(var_07.script_ent_flag_set)) - { - maps\_utility::ent_flag_set(var_07.script_ent_flag_set); - } - - if(isdefined(var_07.script_flag_clear)) - { - common_scripts\utility::flag_clear(var_07.script_flag_clear); - } - - if(isdefined(var_07.script_delete) && var_07.script_delete) - { - maps\_utility::ai_delete_when_out_of_sight([self],1024); - } - - var_0B = var_07 [[ var_01[var_08][var_03] ]](); - if(!var_0B.size) + for(;;) { if(isdefined(self._stealth)) { - self._stealth.debug_state = "@EndOfPath"; + self._stealth.debug_state = "Wait 4 nextgoal"; } - self notify("reached_path_end"); - self notify("_patrol_reached_path_end"); - if(isalive(self.patrol_pet)) + while(isdefined(var_0A.patrol_claimed)) { - self.patrol_pet notify("master_reached_patrol_end"); + wait(0.05); } - } - var_0C = ::animscripts\reactions::reactionscheckloop; - var_0D = var_07.script_animation; - var_0E = 1; - var_0F = 0; - if(isdefined(var_07.script_parameters)) - { - var_10 = strtok(var_07.script_parameters," "); - var_11 = 0; - if(var_11 < var_10.size) + var_07.patrol_claimed = undefined; + var_07 = var_0A; + self notify("release_node"); + var_07.patrol_claimed = 1; + self.last_patrol_goal = var_07; + [[ var_02[var_08] ]](var_07); + if(isdefined(var_07.radius) && var_07.radius > 0) { - switch(var_10[var_11]) + self.goalradius = var_07.radius; + } + else + { + self.goalradius = 32; + } + + if(isdefined(self._stealth)) + { + self._stealth.debug_state = "Patrolling"; + } + + self waittill("goal"); + var_07 notify("trigger",self); + if(isdefined(var_07.script_flag_set)) + { + common_scripts\utility::flag_set(var_07.script_flag_set); + } + + if(isdefined(var_07.script_ent_flag_set)) + { + maps\_utility::ent_flag_set(var_07.script_ent_flag_set); + } + + if(isdefined(var_07.script_flag_clear)) + { + common_scripts\utility::flag_clear(var_07.script_flag_clear); + } + + if(isdefined(var_07.script_delete) && var_07.script_delete) + { + maps\_utility::ai_delete_when_out_of_sight([self],1024); + } + + var_0B = var_07 [[ var_01[var_08][var_03] ]](); + if(!var_0B.size) + { + if(isdefined(self._stealth)) { - case "keep_running": - break; + self._stealth.debug_state = "@EndOfPath"; + } - case "use_node": - break; - - case "animset": - break; + self notify("reached_path_end"); + self notify("_patrol_reached_path_end"); + if(isalive(self.patrol_pet)) + { + self.patrol_pet notify("master_reached_patrol_end"); } } + + var_0C = ::animscripts\reactions::reactionscheckloop; + var_0D = var_07.script_animation; + var_0E = 1; + var_0F = 0; + if(isdefined(var_07.script_parameters)) + { + var_10 = strtok(var_07.script_parameters," "); + for(var_11 = 0;var_11 < var_10.size;var_11++) + { + switch(var_10[var_11]) + { + case "keep_running": + var_0E = 0; + break; + + case "use_node": + var_0F = 1; + break; + + case "animset": + var_11 = var_11 + 1; + self.script_animation = var_10[var_11]; + if(self.script_animation == "default") + { + self.script_animation = undefined; + self.patrol_walk_anim = undefined; + self.patrol_walk_twitch = undefined; + self.patrol_idle_anim = undefined; + } + set_patrol_run_anim_array(); + break; + } + } + } + + if(isdefined(var_07.script_moveplaybackrate)) + { + self.moveplaybackrate = var_07.script_moveplaybackrate; + } + + if((isdefined(var_07.script_delay) && var_07.script_delay > 0.5) || isdefined(var_0D) || isdefined(var_07.script_flag_wait) && !common_scripts\utility::flag(var_07.script_flag_wait)) + { + if(!isdefined(self.patrol_no_stop_transition) && var_0E) + { + patrol_do_stop_transition_anim(var_0D,var_0C,var_07); + } + + if(isdefined(var_07.script_flag_wait) && !common_scripts\utility::flag(var_07.script_flag_wait)) + { + common_scripts\utility::flag_wait(var_07.script_flag_wait); + } + + var_07 maps\_utility::script_delay(); + if(isdefined(var_0D)) + { + if(isdefined(var_07.script_faceangles)) + { + self orientmode("face angle",var_07.angles[1]); + } + + self.patrol_script_animation = 1; + var_12 = var_09[var_0D]; + if(!isdefined(var_12)) + { + if(isdefined(level.patrol_scriptedanims)) + { + var_12 = level.patrol_scriptedanims[var_0D]; + } + } + + if(isdefined(var_12)) + { + if(isdefined(self._stealth)) + { + self._stealth.debug_state = "Pause@PatrolNode"; + } + + if(var_0D == "pause") + { + if(isdefined(self.patrol_scriptedanim) && isdefined(self.patrol_scriptedanim[var_0D])) + { + var_12 = self.patrol_scriptedanim[var_0D][randomint(self.patrol_scriptedanim[var_0D].size)]; + } + else + { + var_12 = var_12 + randomintrange(1,6); + } + } + + if(var_0F) + { + var_07 maps\_anim::anim_generic_reach(self,var_12); + var_07 maps\_anim::anim_generic_custom_animmode(self,"gravity",var_12,undefined,var_0C); + } + else if(isarray(level.scr_anim["generic"][var_12])) + { + thread maps\_anim::anim_generic_custom_animmode_loop(self,"gravity",var_12,undefined,var_0C); + } + else + { + maps\_anim::anim_generic_custom_animmode(self,"gravity",var_12,undefined,var_0C); + } + } + + self.patrol_script_animation = undefined; + } + + if(var_0B.size && !isdefined(var_0D) || var_0D != "turn180" && var_0E && !isdefined(self.skip_start_transition) || !self.skip_start_transition) + { + patrol_do_start_transition_anim(var_0D,var_0C); + } + } + + if(!var_0B.size) + { + if(isdefined(self.patrol_end_idle) && !isdefined(var_0D)) + { + patrol_do_stop_transition_anim("path_end_idle",var_0C,var_07); + for(;;) + { + var_13 = self.patrol_end_idle[randomint(self.patrol_end_idle.size)]; + maps\_anim::anim_generic_custom_animmode(self,"gravity",var_13,undefined,var_0C); + } + } + + break; + } + + var_0A = common_scripts\utility::random(var_0B); } } diff --git a/AW/PC/SP/maps/_patrol_anims.gsc b/AW/PC/maps/_patrol_anims.gsc similarity index 94% rename from AW/PC/SP/maps/_patrol_anims.gsc rename to AW/PC/maps/_patrol_anims.gsc index 4de35cb..19bd449 100644 --- a/AW/PC/SP/maps/_patrol_anims.gsc +++ b/AW/PC/maps/_patrol_anims.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_patrol_anims.gsc + * Decompiled File: _patrol_anims.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 43 ms - * Timestamp: 10/27/2023 2:00:00 AM + * Decompile Time: 55 ms + * Timestamp: 4/22/2024 2:22:03 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_patrol_anims_active.gsc b/AW/PC/maps/_patrol_anims_active.gsc similarity index 97% rename from AW/PC/SP/maps/_patrol_anims_active.gsc rename to AW/PC/maps/_patrol_anims_active.gsc index c9406f1..d111aa7 100644 --- a/AW/PC/SP/maps/_patrol_anims_active.gsc +++ b/AW/PC/maps/_patrol_anims_active.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_patrol_anims_active.gsc + * Decompiled File: _patrol_anims_active.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 45 ms - * Timestamp: 10/27/2023 2:00:00 AM + * Decompile Time: 63 ms + * Timestamp: 4/22/2024 2:22:04 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_patrol_anims_casualkiller.gsc b/AW/PC/maps/_patrol_anims_casualkiller.gsc similarity index 93% rename from AW/PC/SP/maps/_patrol_anims_casualkiller.gsc rename to AW/PC/maps/_patrol_anims_casualkiller.gsc index 12ab2a2..96c2cef 100644 --- a/AW/PC/SP/maps/_patrol_anims_casualkiller.gsc +++ b/AW/PC/maps/_patrol_anims_casualkiller.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_patrol_anims_casualkiller.gsc + * Decompiled File: _patrol_anims_casualkiller.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 5 - * Decompile Time: 70 ms - * Timestamp: 10/27/2023 2:00:01 AM + * Decompile Time: 88 ms + * Timestamp: 4/22/2024 2:22:04 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_patrol_anims_creepwalk.gsc b/AW/PC/maps/_patrol_anims_creepwalk.gsc similarity index 95% rename from AW/PC/SP/maps/_patrol_anims_creepwalk.gsc rename to AW/PC/maps/_patrol_anims_creepwalk.gsc index cccf97f..07d4252 100644 --- a/AW/PC/SP/maps/_patrol_anims_creepwalk.gsc +++ b/AW/PC/maps/_patrol_anims_creepwalk.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_patrol_anims_creepwalk.gsc + * Decompiled File: _patrol_anims_creepwalk.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 5 - * Decompile Time: 81 ms - * Timestamp: 10/27/2023 2:00:02 AM + * Decompile Time: 76 ms + * Timestamp: 4/22/2024 2:22:05 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_patrol_anims_patroljog.gsc b/AW/PC/maps/_patrol_anims_patroljog.gsc similarity index 88% rename from AW/PC/SP/maps/_patrol_anims_patroljog.gsc rename to AW/PC/maps/_patrol_anims_patroljog.gsc index cf619f4..4075f9b 100644 --- a/AW/PC/SP/maps/_patrol_anims_patroljog.gsc +++ b/AW/PC/maps/_patrol_anims_patroljog.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_patrol_anims_patroljog.gsc + * Decompiled File: _patrol_anims_patroljog.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 47 ms - * Timestamp: 10/27/2023 2:00:02 AM + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 2:22:05 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_patrol_cold_anims.gsc b/AW/PC/maps/_patrol_cold_anims.gsc similarity index 94% rename from AW/PC/SP/maps/_patrol_cold_anims.gsc rename to AW/PC/maps/_patrol_cold_anims.gsc index 3658357..af3ae2b 100644 --- a/AW/PC/SP/maps/_patrol_cold_anims.gsc +++ b/AW/PC/maps/_patrol_cold_anims.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_patrol_cold_anims.gsc + * Decompiled File: _patrol_cold_anims.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 47 ms - * Timestamp: 10/27/2023 2:00:03 AM + * Decompile Time: 51 ms + * Timestamp: 4/22/2024 2:22:06 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_patrol_extended.gsc b/AW/PC/maps/_patrol_extended.gsc similarity index 96% rename from AW/PC/SP/maps/_patrol_extended.gsc rename to AW/PC/maps/_patrol_extended.gsc index 4bbf88f..36c098d 100644 --- a/AW/PC/SP/maps/_patrol_extended.gsc +++ b/AW/PC/maps/_patrol_extended.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_patrol_extended.gsc + * Decompiled File: _patrol_extended.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 4 - * Decompile Time: 123 ms - * Timestamp: 10/27/2023 2:00:04 AM + * Decompile Time: 67 ms + * Timestamp: 4/22/2024 2:22:06 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/_player_boost_dash.gsc b/AW/PC/maps/_player_boost_dash.gsc new file mode 100644 index 0000000..8f1c4f6 --- /dev/null +++ b/AW/PC/maps/_player_boost_dash.gsc @@ -0,0 +1,174 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _player_boost_dash.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 9 + * Decompile Time: 133 ms + * Timestamp: 4/22/2024 2:22:07 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} + +//Function Number: 2 +enable_boost_dash() +{ + if(!isdefined(self.boost)) + { + self.boost = []; + self.boost["inboost"] = 0; + } + + self allowsprint(0); + thread track_player_movement(); + thread track_player_velocity(); + thread dash(); +} + +//Function Number: 3 +disable_boost_dash() +{ + self notify("disable_boost_dash"); + self.boost = undefined; + self allowsprint(1); +} + +//Function Number: 4 +track_player_movement() +{ + self endon("death"); + self endon("disable_boost_dash"); + if(!isdefined(self.boost["stick_input"])) + { + self.boost["stick_input"] = (0,0,0); + } + + for(;;) + { + var_00 = self getnormalizedmovement(); + var_00 = (var_00[0],var_00[1] * -1,0); + var_01 = self.angles; + var_02 = vectortoangles(var_00); + var_03 = common_scripts\utility::flat_angle(combineangles(var_01,var_02)); + var_04 = anglestoforward(var_03) * length(var_00); + self.boost["stick_input"] = var_04; + wait(0.05); + } +} + +//Function Number: 5 +track_player_velocity() +{ + self endon("death"); + self endon("disable_boost_dash"); + if(!isdefined(self.boost["player_vel"])) + { + self.boost["player_vel"] = (0,0,0); + } + + for(;;) + { + self.boost["player_vel"] = self getvelocity(); + wait(0.05); + } +} + +//Function Number: 6 +dash() +{ + self endon("death"); + self endon("disable_boost_dash"); + for(;;) + { + waittill_dash_button_pressed(); + var_00 = 400; + var_01 = (0,0,300); + var_02 = 0.5; + var_03 = 1; + var_04 = 700; + if(self isonground() && !self adsbuttonpressed()) + { + thread boost_dash(var_00,var_01,var_02,var_03,var_04); + } + + waittill_dash_button_released(); + } +} + +//Function Number: 7 +boost_dash(param_00,param_01,param_02,param_03,param_04,param_05) +{ + self endon("mode_switch"); + self endon("death"); + self.boost["inboost"] = 1; + earthquake(0.3,1,self.origin,300); + var_06 = self.boost["stick_input"]; + var_07 = self.boost["player_vel"] * param_02; + if(var_07[2] > 0) + { + var_07 = (var_07[0],var_07[1],0); + } + + var_08 = var_07 + var_06 * param_00 + param_01; + if(isdefined(param_03) && param_03) + { + if(!isdefined(param_04)) + { + var_09 = param_01[2]; + } + + var_0A = var_08; + var_08 = vectornormalize(var_08) * param_04; + var_08 = (var_08[0],var_08[1],var_0A[2]); + if(var_06[2] == 0) + { + var_0B = 0.7; + var_08 = (var_08[0],var_08[1],var_08[2] * var_0B); + } + } + + var_0C = 2; + if(isdefined(param_05) && param_05) + { + var_0D = 0; + var_0E = self.boost["player_vel"]; + var_0F = var_08; + var_10 = var_0F - var_0E; + var_11 = var_10 / var_0C; + while(var_0D <= var_0C) + { + self setvelocity(var_0E + var_11); + wait(0.05); + var_0D++; + } + } + + self setvelocity(var_08); +} + +//Function Number: 8 +waittill_dash_button_pressed() +{ + self endon("death"); + while(!self sprintbuttonpressed()) + { + wait(0.05); + } + + return 1; +} + +//Function Number: 9 +waittill_dash_button_released() +{ + self endon("death"); + while(self sprintbuttonpressed()) + { + wait(0.05); + } + + return 1; +} \ No newline at end of file diff --git a/AW/PC/SP/maps/_player_boost_jump_anims.gsc b/AW/PC/maps/_player_boost_jump_anims.gsc similarity index 81% rename from AW/PC/SP/maps/_player_boost_jump_anims.gsc rename to AW/PC/maps/_player_boost_jump_anims.gsc index ae1c127..c44e23c 100644 --- a/AW/PC/SP/maps/_player_boost_jump_anims.gsc +++ b/AW/PC/maps/_player_boost_jump_anims.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_player_boost_jump_anims.gsc + * Decompiled File: _player_boost_jump_anims.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 28 ms - * Timestamp: 10/27/2023 2:00:04 AM + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:22:07 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_player_boost_jump_aud.gsc b/AW/PC/maps/_player_boost_jump_aud.gsc similarity index 70% rename from AW/PC/SP/maps/_player_boost_jump_aud.gsc rename to AW/PC/maps/_player_boost_jump_aud.gsc index c5c952e..003b003 100644 --- a/AW/PC/SP/maps/_player_boost_jump_aud.gsc +++ b/AW/PC/maps/_player_boost_jump_aud.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_player_boost_jump_aud.gsc + * Decompiled File: _player_boost_jump_aud.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 14 ms - * Timestamp: 10/27/2023 2:00:05 AM + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 2:22:07 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_player_death.gsc b/AW/PC/maps/_player_death.gsc similarity index 89% rename from AW/PC/SP/maps/_player_death.gsc rename to AW/PC/maps/_player_death.gsc index 63a3b85..9596704 100644 --- a/AW/PC/SP/maps/_player_death.gsc +++ b/AW/PC/maps/_player_death.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_player_death.gsc + * Decompiled File: _player_death.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 12 - * Decompile Time: 190 ms - * Timestamp: 10/27/2023 2:00:06 AM + * Decompile Time: 177 ms + * Timestamp: 4/22/2024 2:22:08 AM *******************************************************************/ //Function Number: 1 @@ -82,13 +82,40 @@ special_death_hint(param_00,param_01,param_02) switch(param_01) { case "MOD_SUICIDE": + if(level.player.lastgrenadetime - gettime() > 3500) + { + return; + } + + thread grenade_death_hint(&"SCRIPT_GRENADE_SUICIDE_LINE1",&"SCRIPT_GRENADE_SUICIDE_LINE2"); break; case "MOD_EXPLOSIVE": + if(level.player destructible_death(param_00)) + { + return; + } + + if(level.player vehicle_death(param_00)) + { + return; + } + + if(level.player exploding_barrel_death(param_00)) + { + return; + } break; case "MOD_GRENADE_SPLASH": case "MOD_GRENADE": + if(isdefined(param_02) && !issubstr(param_02,"grenade")) + { + return; + } + + set_deadquote("@SCRIPT_GRENADE_DEATH"); + thread grenade_death_indicator_hud(); break; default: diff --git a/AW/PC/SP/maps/_player_exo.gsc b/AW/PC/maps/_player_exo.gsc similarity index 99% rename from AW/PC/SP/maps/_player_exo.gsc rename to AW/PC/maps/_player_exo.gsc index 6fd5530..2b91511 100644 --- a/AW/PC/SP/maps/_player_exo.gsc +++ b/AW/PC/maps/_player_exo.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_player_exo.gsc + * Decompiled File: _player_exo.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 124 - * Decompile Time: 2008 ms - * Timestamp: 10/27/2023 2:00:12 AM + * Decompile Time: 1822 ms + * Timestamp: 4/22/2024 2:22:14 AM *******************************************************************/ //Function Number: 1 @@ -1779,11 +1779,8 @@ update_battery_ability_icons(param_00) var_01[var_01.size] = "overdrive"; var_01[var_01.size] = "sonic_blast"; var_01[var_01.size] = "shield"; - var_02 = var_01; - var_04 = getfirstarraykey(var_02); - if(isdefined(var_04)) + foreach(var_03 in var_01) { - var_03 = var_02[var_04]; if(!isdefined(level.player.exclusive[var_03])) { continue; @@ -1794,12 +1791,15 @@ update_battery_ability_icons(param_00) switch(var_03) { case "overdrive": + update_overdrive_icon(); break; case "sonic_blast": + maps\_sonicaoe::update_sonic_aoe_icon(); break; case "shield": + maps\_exo_shield_sp::update_exo_shield_icon(); break; default: diff --git a/AW/PC/maps/_player_fastzip.gsc b/AW/PC/maps/_player_fastzip.gsc new file mode 100644 index 0000000..139c805 --- /dev/null +++ b/AW/PC/maps/_player_fastzip.gsc @@ -0,0 +1,517 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _player_fastzip.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 25 + * Decompile Time: 347 ms + * Timestamp: 4/22/2024 2:22:15 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + common_scripts\utility::flag_init("use_fastzip_hint"); + common_scripts\utility::flag_init("flag_zipline_fire_button_pressed"); + maps\_utility::add_control_based_hint_strings("hint_use_fastzip",&"FASTZIP_HARPOON_SWITCH",::should_end_fastzip_hint); + maps\_utility::add_control_based_hint_strings("hint_fire_fastzip",&"FASTZIP_FIRE_ZIPLINE",::should_end_fastzip_fire_hint); + precacheturret("zipline_gun_player"); + load_fx(); + load_model_anims(); + load_player_anims(); +} + +//Function Number: 2 +load_fx() +{ + level._effect["zipline_flash_view"] = loadfx("vfx/muzzleflash/zipline_flash_view"); + level._effect["harpoon_dust"] = loadfx("vfx/trail/harpoon_dust"); + level._effect["landing_target_valid"] = loadfx("fx/misc/ui_flagbase_gold"); + level._effect["landing_target_invalid"] = loadfx("fx/misc/ui_flagbase_red"); +} + +//Function Number: 3 +load_model_anims() +{ + level.scr_anim["_turret_fastzip"]["fastzip_aim_idle"] = %fastzip_launcher_ads; +} + +//Function Number: 4 +load_player_anims() +{ + level.scr_anim["_player_arms_fastzip"]["fastzip_pullout"] = %fastzip_launcher_pullout_vm; + level.scr_anim["_player_arms_fastzip"]["fastzip_ads"] = %fastzip_launcher_ads_vm; + level.scr_anim["_player_arms_fastzip"]["fastzip_putaway"] = %fastzip_launcher_putaway_vm; + level.scr_anim["_player_arms_fastzip"]["fastzip_land"] = %fastzip_launcher_land_vm; +} + +//Function Number: 5 +should_end_fastzip_hint() +{ + return common_scripts\utility::flag("use_fastzip_hint"); +} + +//Function Number: 6 +should_end_fastzip_fire_hint() +{ + return common_scripts\utility::flag("flag_zipline_fire_button_pressed"); +} + +//Function Number: 7 +fire_hint_display() +{ + self endon("flag_zipline_fire_button_pressed"); + wait(4); + if(!common_scripts\utility::flag("flag_zipline_fire_button_pressed")) + { + maps\_utility::hintdisplayhandler("hint_fire_fastzip"); + } +} + +//Function Number: 8 +copy_script_model(param_00) +{ + var_01 = spawn("script_model",param_00.origin); + var_01 maps\_utility::assign_animtree(param_00.animname); + var_01 setmodel(param_00.model); + return var_01; +} + +//Function Number: 9 +fastzip_turret_think(param_00,param_01,param_02,param_03) +{ + self endon("death"); + var_04 = copy_script_model(param_02); + var_04.animname = "_player_arms_fastzip"; + var_04 hide(); + var_05 = getentarray("valid_landing","targetname"); + wait_for_player_switch_to_turret(); + level.player maps\_shg_utility::setup_player_for_scene(1); + level.player allowjump(0); + var_06 = getdvarint("turret_adsEnabled",1); + setsaveddvar("turret_adsEnabled",0); + waittillframeend; + self notify("using_zip"); + var_07 = param_00.zipline_gun_model[param_01]; + var_08 = vehicle_scripts\_xh9_warbird::setup_zipline_gun("zipline_gun_player",param_00,param_01,var_07.model,var_07.rope_model,"_turret_fastzip"); + var_09 = vehicle_scripts\_xh9_warbird::setup_zipline_gun("zipline_gun_rope",param_00,param_01,var_07.rope_model,undefined,"_turret_fastzip"); + fastzip_turret_pullout(param_00,param_01,var_04,var_07); + var_08 show(); + var_04 hide(); + var_08 makeusable(); + var_08 setmode("manual"); + var_09 setmode("manual"); + var_08 useby(self); + var_08 turretfiredisable(); + self disableturretdismount(); + var_08 makeunusable(); + var_08.ground_target = common_scripts\utility::spawn_tag_origin(); + var_09 settargetentity(var_08.ground_target,(0,0,0)); + thread fire_hint_display(); + wait_to_fire_rope(param_00,var_08,var_05); + self playrumbleonentity("damage_heavy"); + var_0A = var_09 fire_rope(var_08,var_08.ground_target.origin,var_07); + var_08 set_landing_target_fx(undefined); + var_08 useby(self); + var_08 settargetentity(var_08.ground_target); + setsaveddvar("turret_adsEnabled",var_06); + fastzip_turret_putaway(param_00,param_01,var_04,var_08,var_07); + thread player_fastzip(var_09,var_08.ground_target.origin,var_04,param_03); + var_0B = maps\_utility::get_rumble_ent("steady_rumble"); + var_0B.intensity = 0.2; + self waittill("fastzip_arrived"); + stopallrumbles(); + self waittill("fastzip_landed"); + var_04 delete(); + self playrumbleonentity("damage_heavy"); + wait(0.5); + var_09 retract_rope(var_0A,"left"); + var_09 delete(); + var_08.ground_target delete(); + var_08 delete(); +} + +//Function Number: 10 +fastzip_turret_pullout(param_00,param_01,param_02,param_03) +{ + param_02 linkto(param_00,param_01,(0,0,0),(0,0,0)); + var_04 = []; + var_04[0] = param_02; + var_04[1] = param_03; + param_03 clear_script_model_anim(0); + soundscripts\_snd::snd_message("fastzip_turret_switch_to"); + param_00 maps\_anim::anim_first_frame(var_04,"fastzip_pullout",param_01); + var_05 = 0.15; + level.player playerlinktoblend(param_02,"tag_player",var_05); + level.player common_scripts\utility::delaycall(var_05,::playerlinktodelta,param_02,"tag_player",1,0,0,0,0,1); + param_02 common_scripts\utility::delaycall(var_05,::show); + maps\_utility::delaythread(1.2,::maps\_utility::lerp_fov_overtime,2,55); + param_00 maps\_anim::anim_single(var_04,"fastzip_pullout",param_01); + param_02 maps\_utility::anim_stopanimscripted(); + param_02 setanim(level.scr_anim["_player_arms_fastzip"]["fastzip_ads"],1,0,1); + param_02 unlink(); + param_03 hide(); + if(isdefined(param_03.attachment)) + { + param_03.attachment hide(); + } + + soundscripts\_snd::snd_message("fastzip_turret_switch_complete"); + self unlink(); +} + +//Function Number: 11 +set_landing_target_fx(param_00) +{ + if(!isdefined(self.current_landing_fx)) + { + if(isdefined(param_00)) + { + self.current_landing_fx = param_00; + playfxontag(common_scripts\utility::getfx(self.current_landing_fx),self.ground_target,"tag_origin"); + } + + return; + } + + if(isdefined(self.current_landing_fx) && !isdefined(param_00)) + { + stopfxontag(common_scripts\utility::getfx(self.current_landing_fx),self.ground_target,"tag_origin"); + self.current_landing_fx = undefined; + return; + } + + if(self.current_landing_fx != param_00) + { + stopfxontag(common_scripts\utility::getfx(self.current_landing_fx),self.ground_target,"tag_origin"); + self.current_landing_fx = param_00; + playfxontag(common_scripts\utility::getfx(self.current_landing_fx),self.ground_target,"tag_origin"); + } +} + +//Function Number: 12 +wait_to_fire_rope(param_00,param_01,param_02) +{ + param_01.ground_target.angles = (-90,0,0); + param_01.current_landing_fx = undefined; + for(;;) + { + var_03 = param_01 gettagorigin("tag_player"); + var_04 = param_01 gettagangles("tag_player"); + var_05 = vectornormalize(anglestoforward(var_04)); + var_06 = var_03 + var_05 * 100; + var_07 = var_03 + var_05 * 10000; + var_08 = 0; + param_01.ground_target.origin = var_07; + var_09 = bullettrace(var_06,var_07,0); + if(isdefined(var_09["position"])) + { + param_01.ground_target.origin = var_09["position"]; + foreach(var_0B in param_02) + { + if(param_01.ground_target istouching(var_0B)) + { + var_08 = 1; + param_01 set_landing_target_fx("landing_target_valid"); + break; + } + } + + if(var_08) + { + if(self attackbuttonpressed()) + { + common_scripts\utility::flag_set("flag_zipline_fire_button_pressed"); + soundscripts\_snd::snd_message("fastzip_turret_fire"); + return; + } + } + else + { + param_01 set_landing_target_fx("landing_target_invalid"); + } + } + else + { + param_01 set_landing_target_fx(undefined); + } + + wait(0.05); + } +} + +//Function Number: 13 +fire_rope(param_00,param_01,param_02) +{ + var_03 = 200; + var_04 = 210; + var_05 = var_04 / 30; + param_00 detach(param_02.rope_model); + param_02 detach(param_02.rope_model); + self show(); + var_06 = param_00 gettagorigin("tag_player"); + var_07 = distance(var_06,param_01) / 12; + var_08 = var_07 / var_03; + playfxontag(common_scripts\utility::getfx("harpoon_dust"),self,"jnt_harpoon"); + playfxontag(common_scripts\utility::getfx("zipline_flash_view"),self,"TAG_FLASH"); + var_09 = %fastzip_launcher_fire_left; + var_0A = getanimlength(var_09); + var_0B = var_0A / var_05 * var_08; + self setanimknob(var_09,1,0.2,var_05); + param_00 setanimknob(var_09,1,0.2,1); + var_0B = var_0B - 0.05; + if(var_0B > 0.05) + { + wait(var_0B); + } + + self setanim(var_09,1,0,0); + self setanimtime(var_09,var_08); + return var_07; +} + +//Function Number: 14 +fastzip_turret_putaway(param_00,param_01,param_02,param_03,param_04) +{ + thread maps\_utility::lerp_fov_overtime(2,65); + param_03 hide(); + param_04 show(); + if(isdefined(param_04.attachment)) + { + param_04.attachment show(); + } + + var_05 = []; + var_05[0] = param_02; + var_05[1] = param_04; + param_03 clear_script_model_anim(0.2); + param_00 maps\_anim::anim_first_frame(var_05,"fastzip_putaway",param_01); + self playerlinktodelta(param_02,"tag_player",1,0,0,0,0,1); + soundscripts\_snd::snd_message("fastzip_turret_putaway"); + self setplayerangles(self getplayerangles()); + wait(0.2); + param_02 show(); + param_00 maps\_anim::anim_single(var_05,"fastzip_putaway",param_01); + param_04 maps\_utility::anim_stopanimscripted(); + param_04 clear_script_model_anim(0); + param_04 setanim(%fastzip_launcher_folded_idle_left,1,0,1); +} + +//Function Number: 15 +player_fastzip(param_00,param_01,param_02,param_03) +{ + thread player_camera_shake(); + self notify("fastzip_start"); + var_04 = %fastzip_launcher_slidedown_left; + param_00 setanimlimited(%add_slide,1,0,1); + param_00 setanimlimited(var_04,1,0,1); + self playerlinktodelta(param_00,"TAG_PLAYER_ATTACH",1,20,20,20,20,1); + soundscripts\_snd::snd_message("fastzip_rappel"); + if(isdefined(param_03)) + { + wait(param_03); + } + else + { + wait(0.05); + } + + var_05 = self.origin; + var_06["fraction"] = 1; + var_07 = (0,0,0); + var_08 = (0,0,0); + while(var_06["fraction"] == 1) + { + wait(0.05); + var_09 = self.origin; + var_08 = var_09 - var_05; + var_07 = var_08 * 3; + var_06 = bullettrace(var_09,var_09 + var_07,0,self); + var_05 = var_09; + } + + self unlink(); + self notify("kill_camera_shake"); + thread player_fastzip_land(var_08,param_02); + self notify("fastzip_arrived"); + param_00 setanimlimited(var_04,1,0,0); +} + +//Function Number: 16 +player_fastzip_land(param_00,param_01) +{ + var_02 = param_00 * 20; + self setvelocity(var_02); + thread prevent_look_until_notify("fastzip_hit_the_ground"); + var_03 = undefined; + while(!self isonground()) + { + var_03 = self getvelocity(); + wait(0.05); + } + + self notify("fastzip_hit_the_ground"); + soundscripts\_snd::snd_message("fastzip_hit_the_ground"); + var_04 = vectortoangles(param_00); + var_05 = spawnstruct(); + var_05.origin = self.origin; + var_05.angles = (0,var_04[1] + 90,0); + var_05 maps\_anim::anim_first_frame_solo(param_01,"fastzip_land"); + var_06 = getmovedelta(param_01 maps\_utility::getanim("fastzip_land"),0,1); + var_07 = param_01 localtoworldcoords(var_06); + var_08 = var_07 + (0,0,24); + var_09 = playerphysicstraceinfo(var_07,var_08); + if(var_09["fraction"] > 0) + { + var_08 = var_09["position"] - (0,0,1); + } + + var_09 = playerphysicstraceinfo(var_08,var_08 - (0,0,36)); + if(var_09["fraction"] > 0) + { + if(var_09["fraction"] < 1) + { + var_0A = var_09["position"]; + var_0B = var_0A - var_07; + var_05.origin = var_05.origin + var_0B; + } + + self playerlinktodelta(param_01,"tag_player",1,20,20,20,20,1); + var_05 maps\_anim::anim_single_solo(param_01,"fastzip_land"); + self unlink(); + } + else + { + } + + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.player allowjump(1); + self notify("fastzip_landed"); +} + +//Function Number: 17 +prevent_look_until_notify(param_00) +{ + var_01 = getdvarint("aim_turnrate_pitch"); + var_02 = getdvarint("aim_turnrate_pitch_ads"); + var_03 = getdvarint("aim_turnrate_yaw"); + var_04 = getdvarint("aim_turnrate_yaw_ads"); + setsaveddvar("aim_turnrate_pitch",0); + setsaveddvar("aim_turnrate_pitch_ads",0); + setsaveddvar("aim_turnrate_yaw",0); + setsaveddvar("aim_turnrate_yaw_ads",0); + self waittill(param_00); + setsaveddvar("aim_turnrate_pitch",var_01); + setsaveddvar("aim_turnrate_pitch_ads",var_02); + setsaveddvar("aim_turnrate_yaw",var_03); + setsaveddvar("aim_turnrate_yaw_ads",var_04); +} + +//Function Number: 18 +player_camera_shake() +{ + self endon("fastzip_arrived"); + self endon("kill_camera_shake"); + var_00 = 0.1; + var_01 = 0.8; + var_02 = 0.1; + var_03 = 0.45; + var_04 = var_01; + for(;;) + { + earthquake(min(var_00,var_03),var_02,self.origin,100); + wait(var_02); + var_04 = var_04 - var_02; + if(var_04 < 0) + { + var_00 = var_00 + 0.1; + var_04 = var_01; + } + } +} + +//Function Number: 19 +player_camera_shake_land() +{ + self endon("kill_camera_shake"); + var_00 = 0.5; + var_01 = 0.2; + while(var_00 > 0) + { + earthquake(var_00,var_01,self.origin,100); + wait(var_01); + var_00 = var_00 - 0.1; + } +} + +//Function Number: 20 +retract_rope(param_00,param_01) +{ + var_02 = 200; + var_03 = param_00 / var_02; + var_03 = 1 - min(var_03,1); + var_04 = 30; + var_05 = 1; + var_06 = %fastzip_launcher_retract_left; + if(param_01 == "right") + { + var_06 = %fastzip_launcher_retract_right; + } + + self setanimknob(var_06,1,0.2,var_05); + self setanimtime(var_06,var_03); + var_07 = var_04 * 1 - var_03 / 30 * var_05; + wait(var_07 + 0.05); +} + +//Function Number: 21 +clear_script_model_anim(param_00) +{ + self clearanim(%root,param_00); +} + +//Function Number: 22 +clear_player_anim() +{ + self clearanim(%root,0); +} + +//Function Number: 23 +wait_for_player_to_complete_reloading() +{ + while(level.player isreloading()) + { + wait 0.05; + } +} + +//Function Number: 24 +wait_for_player_switch_to_turret() +{ + thread display_hint_until_zip_activated(); + var_00 = 0; + while(var_00 < 1) + { + var_00 = 0; + while(level.player usebuttonpressed() && var_00 < 1) + { + var_00 = var_00 + 0.1; + wait 0.05; + } + + wait 0.05; + } + + common_scripts\utility::flag_set("use_fastzip_hint"); +} + +//Function Number: 25 +display_hint_until_zip_activated() +{ + self endon("using_zip"); + for(;;) + { + maps\_utility::hintdisplayhandler("hint_use_fastzip"); + wait(35); + } +} \ No newline at end of file diff --git a/AW/PC/SP/maps/_player_high_jump.gsc b/AW/PC/maps/_player_high_jump.gsc similarity index 98% rename from AW/PC/SP/maps/_player_high_jump.gsc rename to AW/PC/maps/_player_high_jump.gsc index ea74790..e0ac7fc 100644 --- a/AW/PC/SP/maps/_player_high_jump.gsc +++ b/AW/PC/maps/_player_high_jump.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_player_high_jump.gsc + * Decompiled File: _player_high_jump.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 9 * Decompile Time: 132 ms - * Timestamp: 10/27/2023 2:00:13 AM + * Timestamp: 4/22/2024 2:22:16 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_player_land_assist.gsc b/AW/PC/maps/_player_land_assist.gsc similarity index 99% rename from AW/PC/SP/maps/_player_land_assist.gsc rename to AW/PC/maps/_player_land_assist.gsc index 070d842..1681693 100644 --- a/AW/PC/SP/maps/_player_land_assist.gsc +++ b/AW/PC/maps/_player_land_assist.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_player_land_assist.gsc + * Decompiled File: _player_land_assist.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 42 - * Decompile Time: 705 ms - * Timestamp: 10/27/2023 2:00:16 AM + * Decompile Time: 618 ms + * Timestamp: 4/22/2024 2:22:18 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_player_stats.gsc b/AW/PC/maps/_player_stats.gsc similarity index 96% rename from AW/PC/SP/maps/_player_stats.gsc rename to AW/PC/maps/_player_stats.gsc index 5df659b..da88426 100644 --- a/AW/PC/SP/maps/_player_stats.gsc +++ b/AW/PC/maps/_player_stats.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_player_stats.gsc + * Decompiled File: _player_stats.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 20 - * Decompile Time: 328 ms - * Timestamp: 10/27/2023 2:00:17 AM + * Decompile Time: 287 ms + * Timestamp: 4/22/2024 2:22:19 AM *******************************************************************/ //Function Number: 1 @@ -365,11 +365,13 @@ cause_is_explosive(param_00) case "mod_projectile": case "mod_grenade_splash": case "mod_grenade": - break; + return 1; default: - break; + return 0; } + + return 0; } //Function Number: 15 @@ -379,18 +381,28 @@ cause_is_grenade(param_00,param_01) switch(param_00) { case "emp_grenade": + if(isdefined(param_01) && param_01 == "emp_grenade_var") + { + return 1; + } break; case "mod_projectile_splash": + if(isdefined(param_01) && param_01 == "iw5_microdronelauncher_sp") + { + return 1; + } break; case "mod_grenade_splash": case "mod_grenade": - break; + return 1; default: - break; + return 0; } + + return 0; } //Function Number: 16 diff --git a/AW/PC/maps/_playermech_code.gsc b/AW/PC/maps/_playermech_code.gsc new file mode 100644 index 0000000..8cef606 --- /dev/null +++ b/AW/PC/maps/_playermech_code.gsc @@ -0,0 +1,3376 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _playermech_code.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 131 + * Decompile Time: 1840 ms + * Timestamp: 4/22/2024 2:22:25 AM +*******************************************************************/ + +//Function Number: 1 +playermech_init(param_00) +{ + level thread playermech_fx_init(); + setsaveddvar("mechHide",0); + if(level.script == "finale") + { + setsaveddvar("mechFxLethalFlash","muzzleflash/playermech_lethal_flash_view_run"); + } + else + { + setsaveddvar("mechFxLethalFlash","muzzleflash/playermech_lethal_flash_view_run_cap"); + } + + setsaveddvar("mechMissileLerpTime",0.4); + setsaveddvar("mechMissileTrackDelay",0.2); + setsaveddvar("mechFxTacticalFlash","muzzleflash/playermech_tactical_flash_view_run"); + setsaveddvar("mechFxTacticalFlashTag","tag_rocket_flash"); + setdvar("mechCompassScaleFudge",1.5); + if(1) + { + setsaveddvar("r_hudoutlineenable",1); + setsaveddvar("r_chromaticAberrationTweaks",1); + setsaveddvar("r_chromaticAberration",0); + setsaveddvar("r_chromaticSeparationG",-10); + setsaveddvar("r_chromaticSeparationR",10); + } + + precachemodel("viewhands_playermech"); + precachemodel("vm_view_arms_mech"); + precacheshader("ui_playermech_icon_swarm_target"); + precacheshader("ui_playermech_icon_swarm_target"); + precacheshader("cinematic_3d_blend_visor"); + precachemodel("vm_exo_interior_base_missile"); + self.mechdata = spawnstruct(); + self.mechdata.active = 0; + self.mechdata.init_active = 0; + self.mechdata.swarm_target_list = []; + self.mechdata.swarm_scantime_override = undefined; + self.mechdata.swarm_dot_override = undefined; + self.mechdata.threat_list = []; + self.mechdata.bool_norecharge = 0; + self.mechdata.dmg_screen_all = []; + self.mechdata.dmg_screen_left = []; + self.mechdata.dmg_screen_right = []; + level.mechdata_left_bones = ["j_exo_left_srn_pnchout_01","j_exo_left_srn_pnchout_02","j_exo_left_srn_pnchout_03","j_exo_left_srn_pnchout_04","j_exo_left_srn_pnchout_05"]; + level.mechdata_right_bones = ["j_exo_right_srn_pnchout_01","j_exo_right_srn_pnchout_02","j_exo_right_srn_pnchout_03","j_exo_right_srn_pnchout_04","j_exo_right_srn_pnchout_05"]; + playermech_init_dmg_screens(); + if(isdefined(param_00)) + { + self.mechdata.weapon_names = param_00; + } + else + { + self.mechdata.weapon_names["mech_base_weapon"] = "playermech_auto_cannon"; + self.mechdata.weapon_names["mech_lethal_weapon"] = "playermech_rocket"; + self.mechdata.weapon_names["mech_tactical_weapon"] = "playermech_rocket_swarm"; + self.mechdata.weapon_names["mech_swarm_rocket"] = "playermech_rocket_projectile"; + self.mechdata.weapon_names["mech_swarm_rocket_deploy"] = "playermech_rocket_deploy_projectile"; + self.mechdata.weapon_names["mech_base_no_weapon"] = "playermech_auto_cannon_noweap"; + self.mechdata.weapon_names["mech_dmg1_weapon"] = "playermech_auto_cannon_dmg1"; + self.mechdata.weapon_names["mech_dmg2_weapon"] = "playermech_auto_cannon_dmg2"; + } + + precacheitem(self.mechdata.weapon_names["mech_base_weapon"]); + precacheitem(self.mechdata.weapon_names["mech_lethal_weapon"]); + precacheitem(self.mechdata.weapon_names["mech_tactical_weapon"]); + precacheitem(self.mechdata.weapon_names["mech_swarm_rocket"]); + precacheitem(self.mechdata.weapon_names["mech_swarm_rocket_deploy"]); + precacheitem(self.mechdata.weapon_names["mech_base_no_weapon"]); + precacheitem(self.mechdata.weapon_names["mech_dmg1_weapon"]); + precacheitem(self.mechdata.weapon_names["mech_dmg2_weapon"]); + common_scripts\utility::flag_init("internal_threat_paint_in_progress"); + common_scripts\utility::flag_init("internal_swarm_rocket_active"); + common_scripts\utility::flag_init("internal_rocket_active"); + common_scripts\utility::flag_init("flag_mech_threat_paint_ping_on"); + common_scripts\utility::flag_init("flag_mech_vo_active"); + common_scripts\utility::flag_init("flag_mech_vo_playing"); + common_scripts\utility::flag_init("flag_force_hud_ready"); + thread aud_playermech_foley_override_handler(); + self.mechdata.create_badplace = 1; + if(!isdefined(level.mech_max_health)) + { + level.mech_max_health = 100; + } + + if(!isdefined(level.damage_multiplier_mod)) + { + level.damage_multiplier_mod = 0.07; + } + + if(!isdefined(level.mech_swarm_rocket_max_targets)) + { + level.mech_swarm_rocket_max_targets = 8; + } + + if(!isdefined(level.mech_swarm_rocket_dud_min_count)) + { + level.mech_swarm_rocket_dud_min_count = 0; + } + + if(!isdefined(level.mech_swarm_rocket_dud_max_count)) + { + level.mech_swarm_rocket_dud_max_count = 0; + } + + if(!isdefined(level.mech_swarm_line_of_sight_lock_duration)) + { + level.mech_swarm_line_of_sight_lock_duration = 2; + } + + if(!isdefined(level.mech_swarm_use_two_stage_swarm)) + { + level.mech_swarm_use_two_stage_swarm = 1; + } + + if(!isdefined(level.mech_swarm_two_stage_swarm_homing_distance)) + { + level.mech_swarm_two_stage_swarm_homing_distance = 250; + } + + if(!isdefined(level.mech_swarm_two_stage_swarm_homing_strength)) + { + level.mech_swarm_two_stage_swarm_homing_strength = 7500; + } + + if(!isdefined(level.mech_swarm_number_of_rockets_per_target)) + { + level.mech_swarm_number_of_rockets_per_target = 1; + } + + if(!isdefined(level.mech_swarm_skip_line_of_sight_obstruction_test)) + { + level.mech_swarm_skip_line_of_sight_obstruction_test = 1; + } + + if(!isdefined(level.mech_threat_paint_delay)) + { + level.mech_threat_paint_delay = 0.1; + } +} + +//Function Number: 2 +playermech_init_vo() +{ + common_scripts\utility::flag_clear("flag_mech_vo_playing"); + var_00 = ["cap_sri_maingunoverheating","cap_sri_maingunoverheated"]; + level.player thread dialogue_mech(var_00,"chaingun_state_overheat","callback_chaingun_state_overheat"); + level.player thread dialogue_mech(["cap_sri_maingunready"],undefined,"chaingun_state_ready"); + level.player thread dialogue_mech(["cap_sri_rocketreloading"],undefined,"callback_rocket_reload"); + level.player thread dialogue_mech(["cap_sri_rocketready"],undefined,"rocket_state_ready"); + level.player thread dialogue_mech(["cap_sri_swarmmissilesreloading"],undefined,"callback_swarm_reload"); + level.player thread dialogue_mech(["cap_sri_swarmmissilesready"],undefined,"swarm_state_ready"); +} + +//Function Number: 3 +dialog_mech_clear_queued(param_00) +{ + if(!isdefined(param_00) || param_00 == "chaingun") + { + maps\_utility::radio_dialogue_remove_from_stack("chaingun_state_overheat"); + maps\_utility::radio_dialogue_remove_from_stack("cap_sri_maingunready"); + } + + if(!isdefined(param_00) || param_00 == "rocket") + { + maps\_utility::radio_dialogue_remove_from_stack("cap_sri_rocketreloading"); + maps\_utility::radio_dialogue_remove_from_stack("cap_sri_rocketready"); + } + + if(!isdefined(param_00) || param_00 == "swarm") + { + maps\_utility::radio_dialogue_remove_from_stack("cap_sri_swarmmissilesreloading"); + maps\_utility::radio_dialogue_remove_from_stack("cap_sri_swarmmissilesready"); + } +} + +//Function Number: 4 +dialogue_mech(param_00,param_01,param_02) +{ + self endon("exit_mech"); + common_scripts\utility::flag_wait("flag_mech_vo_active"); + if(isdefined(param_01)) + { + self waittill(param_01); + common_scripts\utility::flag_set("flag_mech_vo_playing"); + maps\_utility::smart_radio_dialogue(common_scripts\utility::random(param_00)); + common_scripts\utility::flag_clear("flag_mech_vo_playing"); + } + + if(isdefined(param_02)) + { + childthread dialogue_mech_everytime(param_02,param_00); + } +} + +//Function Number: 5 +dialogue_mech_everytime(param_00,param_01) +{ + var_02 = 0; + if(issubstr(param_00,"chaingun")) + { + var_02 = 1; + } + + var_03 = 0; + if(issubstr(param_00,"rocket")) + { + var_03 = 1; + } + + var_04 = 0; + if(issubstr(param_00,"swarm")) + { + var_04 = 1; + } + + var_05 = 0; + if(issubstr(param_00,"overheat")) + { + var_05 = 1; + } + + var_06 = 0; + if(issubstr(param_00,"ready")) + { + var_06 = 1; + } + + var_07 = 0; + if(issubstr(param_00,"reload")) + { + var_07 = 1; + } + + for(;;) + { + self waittill(param_00); + waittillframeend; + if((var_02 && self.mechuistate.chaingun.state == "offline") || var_03 && self.mechuistate.rocket.state == "offline" || var_04 && self.mechuistate.swarm.state == "offline") + { + continue; + } + + if(var_02 && var_06 && self.mechuistate.chaingun.last_state == "firing" || self.mechuistate.chaingun.last_state == "none") + { + continue; + } + + if(var_03) + { + dialog_mech_clear_queued("rocket"); + } + + if(var_04) + { + dialog_mech_clear_queued("swarm"); + } + + if(var_02) + { + dialog_mech_clear_queued("chaingun"); + } + + thread play_reload_buzz(param_00,var_04,var_03); + if(common_scripts\utility::flag("flag_mech_vo_active") && var_06 || var_05 || !common_scripts\utility::flag("flag_mech_vo_playing")) + { + common_scripts\utility::flag_set("flag_mech_vo_playing"); + maps\_utility::smart_radio_dialogue(common_scripts\utility::random(param_01)); + common_scripts\utility::flag_clear("flag_mech_vo_playing"); + } + + if(var_07 && var_04 || var_03) + { + for(;;) + { + if((var_03 && self.mechuistate.rocket.state != "reload") || var_04 && self.mechuistate.swarm.state != "reload") + { + self notify("kill_play_reload_buzz" + param_00); + break; + } + + wait 0.05; + } + } + + wait(0.05); + } +} + +//Function Number: 6 +play_reload_buzz(param_00,param_01,param_02) +{ + self notify("kill_play_reload_buzz" + param_00); + self endon("kill_play_reload_buzz" + param_00); + wait(1); + for(;;) + { + self waittill(param_00); + if((param_02 && self.mechuistate.rocket.state == "reload") || param_01 && self.mechuistate.swarm.state == "reload") + { + soundscripts\_snd_playsound::snd_play_2d("wpn_goliath_dry_fire_plr"); + } + + wait(0.5); + } +} + +//Function Number: 7 +playermech_init_dmg_screens() +{ + for(var_00 = 0;var_00 < level.mechdata_left_bones.size;var_00++) + { + self.mechdata.dmg_screen_left[var_00] = spawnstruct(); + self.mechdata.dmg_screen_left[var_00].bone = level.mechdata_left_bones[var_00]; + self.mechdata.dmg_screen_left[var_00].flickering = 0; + self.mechdata.dmg_screen_left[var_00].hidden = 0; + self.mechdata.dmg_screen_all[level.mechdata_left_bones[var_00]] = self.mechdata.dmg_screen_left[var_00]; + } + + for(var_00 = 0;var_00 < level.mechdata_right_bones.size;var_00++) + { + self.mechdata.dmg_screen_right[var_00] = spawnstruct(); + self.mechdata.dmg_screen_right[var_00].bone = level.mechdata_right_bones[var_00]; + self.mechdata.dmg_screen_right[var_00].flickering = 0; + self.mechdata.dmg_screen_right[var_00].hidden = 0; + self.mechdata.dmg_screen_all[level.mechdata_right_bones[var_00]] = self.mechdata.dmg_screen_right[var_00]; + } +} + +//Function Number: 8 +playermech_fx_init() +{ + level.mech_fx["rocket_separation"] = loadfx("vfx/muzzleflash/playermech_tactical_flash_view_run"); + level.mech_fx["bullet_hit_sparks"] = loadfx("vfx/weaponimpact/metal_spark_fountain_small"); + level.mech_fx["bullet_hit_sparks_large"] = loadfx("vfx/weaponimpact/metal_spark_fountain_large"); + level.mech_fx["rocket_trail_0"] = loadfx("vfx/trail/exo_armor_rocket_trail_a"); + level.mech_fx["rocket_trail_1"] = loadfx("vfx/trail/exo_armor_rocket_trail_b"); + level.mech_fx["rocket_trail_2"] = loadfx("vfx/trail/exo_armor_rocket_trail_c"); + level._effect["paint_threat"] = loadfx("vfx/explosion/paint_grenade"); + level._effect["exo_armor_gun_barrel_heat_view"] = loadfx("vfx/muzzleflash/exo_armor_gun_barrel_heat_view"); + level._effect["exo_armor_gun_barrel_overheat_view"] = loadfx("vfx/muzzleflash/exo_armor_gun_barrel_overheat_view"); + level._effect["playermech_lethal_flash_view_run_cap"] = loadfx("vfx/muzzleflash/playermech_lethal_flash_view_run_cap"); +} + +//Function Number: 9 +playermech_start(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = undefined; + if(!isplayer(self)) + { + var_05 = level.player; + } + else + { + var_05 = self; + } + + if(!isdefined(var_05.mechdata)) + { + } + + if(!isdefined(param_00)) + { + param_00 = "base"; + } + + var_06 = var_05 get_mech_state(); + if(isdefined(var_06) && var_06 == param_00) + { + return; + } + + if(!isdefined(param_01)) + { + if(param_00 == "base_noweap_bootup") + { + param_01 = 0; + } + else + { + param_01 = 1; + } + } + + if(!isdefined(param_02)) + { + param_02 = 0; + } + + var_05 thread _state_init(); + var_05 notify("playermech_start"); + var_05 thread aud_playermech_start(); + if(!isdefined(param_03)) + { + param_03 = "viewhands_playermech"; + } + + if(!isdefined(param_04)) + { + param_04 = "viewhands_playermech_dmg1"; + } + + switch(param_00) + { + case "base_noweap_bootup": + var_05 setviewmodel(param_03); + if(level.currentgen) + { + var_05 hidepartviewmodel("tag_camera",1); + } + + var_05 setclientomnvar("ui_hide_hud",1); + var_05 thread set_mech_weapon_state(param_00,param_01,var_05.mechdata.weapon_names["mech_base_no_weapon"],var_05.mechdata.weapon_names["mech_lethal_weapon"],var_05.mechdata.weapon_names["mech_tactical_weapon"],0,0,0); + if(!param_02) + { + enable_mech_threat_ping(); + } + break; + + case "base_noweap": + var_05 setviewmodel(param_03); + if(level.currentgen) + { + var_05 hidepartviewmodel("tag_camera",1); + } + + var_05 setclientomnvar("ui_playermech_hud",1); + var_05 setclientomnvar("ui_hide_hud",0); + if(level.currentgen) + { + var_05 common_scripts\utility::delaycall(0.2,::hidepartviewmodel,"tag_camera",0); + } + + var_05 thread set_mech_weapon_state(param_00,param_01,var_05.mechdata.weapon_names["mech_base_no_weapon"],var_05.mechdata.weapon_names["mech_lethal_weapon"],var_05.mechdata.weapon_names["mech_tactical_weapon"],0,0,0); + if(!param_02) + { + enable_mech_threat_ping(); + } + break; + + case "base_transition": + case "base": + var_05 setclientomnvar("ui_playermech_hud",1); + var_05 setclientomnvar("ui_hide_hud",0); + var_05 setviewmodel(param_03); + var_05 thread set_mech_weapon_state(param_00,param_01,var_05.mechdata.weapon_names["mech_base_weapon"],var_05.mechdata.weapon_names["mech_lethal_weapon"],var_05.mechdata.weapon_names["mech_tactical_weapon"]); + if(!param_02) + { + enable_mech_threat_ping(); + } + break; + + case "dmg1": + case "dmg1_transition": + var_05 setclientomnvar("ui_playermech_hud",1); + var_05 setclientomnvar("ui_hide_hud",0); + var_05 setviewmodel(param_04); + var_05 thread set_mech_weapon_state(param_00,param_01,var_05.mechdata.weapon_names["mech_dmg1_weapon"],var_05.mechdata.weapon_names["mech_lethal_weapon"],var_05.mechdata.weapon_names["mech_tactical_weapon"]); + if(!param_02) + { + enable_mech_threat_ping(); + } + break; + + case "dmg2": + case "dmg2_transition": + var_05 setclientomnvar("ui_playermech_hud",1); + var_05 setclientomnvar("ui_hide_hud",0); + var_05 setviewmodel(param_04); + var_05 thread set_mech_weapon_state(param_00,param_01,var_05.mechdata.weapon_names["mech_dmg2_weapon"],var_05.mechdata.weapon_names["mech_lethal_weapon"],var_05.mechdata.weapon_names["mech_tactical_weapon"],0,0,0); + disable_mech_threat_ping(); + break; + + default: + break; + } + + var_07 = 1; + foreach(var_09 in var_05.mechdata.dmg_screen_all) + { + var_05 thread hide_mech_screen(var_09,0.05 * var_07); + var_07++; + } +} + +//Function Number: 10 +playermech_end(param_00) +{ + var_01 = undefined; + if(!isplayer(self)) + { + var_01 = level.player; + } + else + { + var_01 = self; + } + + var_01 thread _exit(param_00); + var_01 thread aud_playermech_end(); +} + +//Function Number: 11 +add_swarm_repulsor_for_ally(param_00,param_01) +{ + if(!isdefined(param_00.swarm_repulsor_foot)) + { + param_00.swarm_repulsor_foot = missile_createrepulsorent(param_00,10000,100,param_01); + var_02 = param_00 getcentroid() - param_00.origin; + param_00.swarm_repulsor_body = missile_createrepulsorent(param_00,10000,100,param_01,0,(0,0,var_02[2])); + param_00.swarm_repulsor_head = missile_createrepulsorent(param_00,10000,100,param_01,0,(0,0,var_02[2] * 2)); + } +} + +//Function Number: 12 +enable_mech_threat_ping() +{ + common_scripts\utility::flag_set("flag_mech_threat_paint_ping_on"); +} + +//Function Number: 13 +disable_mech_threat_ping() +{ + common_scripts\utility::flag_clear("flag_mech_threat_paint_ping_on"); +} + +//Function Number: 14 +enable_mech_chaingun() +{ + set_mech_chaingun_state("ready"); + self allowfire(1); +} + +//Function Number: 15 +disable_mech_chaingun() +{ + set_mech_chaingun_state("offline"); + dialog_mech_clear_queued("chaingun"); + self allowfire(0); +} + +//Function Number: 16 +enable_mech_rocket() +{ + set_mech_rocket_state("ready"); + thread playermech_monitor_rocket_recharge(); + self enableoffhandweapons(); +} + +//Function Number: 17 +disable_mech_rocket() +{ + set_mech_rocket_state("offline"); + self notify("stop_rocket_recharge"); + self.mechuistate.rocket.recharge = 100; + dialog_mech_clear_queued("rocket"); + self disableoffhandweapons(); +} + +//Function Number: 18 +enable_mech_swarm() +{ + set_mech_swarm_state("ready"); + thread playermech_monitor_swarm_recharge(); + self enableoffhandsecondaryweapons(); +} + +//Function Number: 19 +disable_mech_swarm() +{ + set_mech_swarm_state("offline"); + dialog_mech_clear_queued("swarm"); + self notify("stop_swarm_recharge"); + self disableoffhandsecondaryweapons(); +} + +//Function Number: 20 +enable_stencil(param_00) +{ + if(isarray(param_00)) + { + foreach(var_02 in param_00) + { + var_02.disablestencil = undefined; + mark_stencil(var_02); + } + + return; + } + + param_00.disablestencil = undefined; + mark_stencil(param_00); +} + +//Function Number: 21 +disable_stencil(param_00) +{ + if(isarray(param_00)) + { + foreach(var_02 in param_00) + { + var_02.disablestencil = 1; + } + + return; + } + + param_00.disablestencil = 1; +} + +//Function Number: 22 +mech_setup_player_for_forced_walk_scene() +{ + mech_setup_player_for_scene(undefined,1); +} + +//Function Number: 23 +mech_setup_player_for_scene(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = 0; + } + + setsaveddvar("ammoCounterHide",1); + self disableoffhandweapons(); + self disableweaponswitch(); + self enablegrenadethrowback(0); + self allowcrouch(0); + self allowjump(0); + self allowmelee(0); + self allowstand(1); + self allowprone(0); + self allowsprint(0); + self allowmantle(0); + self disableweaponpickup(1); + self hidehud(); + self.original_r_znear = getdvarfloat("r_znear"); + setsaveddvar("r_znear",1); + if(param_01) + { + self allowads(1); + self showviewmodel(); + self.viewmodel_hidden = 0; + } + else + { + self allowads(0); + self hideviewmodel(); + self.viewmodel_hidden = 1; + self notify("kill_barrel_vfx"); + thread reload_checker_hack(); + } + + if(isdefined(self.mechuistate)) + { + disable_mech_swarm(); + disable_mech_rocket(); + disable_mech_chaingun(); + } + + if(isdefined(param_00) && param_00) + { + wait 0.05; + wait 0.05; + while(self getstance() != "stand" || self isthrowinggrenade() || self isreloading()) + { + self setstance("stand"); + wait(0.05); + } + } + + self setadditiveviewmodelanim(0); +} + +//Function Number: 24 +mech_setup_player_for_gameplay() +{ + setsaveddvar("ammoCounterHide",0); + self enableoffhandweapons(); + self disableweaponswitch(); + self enablegrenadethrowback(0); + self allowcrouch(0); + self allowjump(1); + self allowmelee(1); + self allowstand(1); + self allowprone(0); + self allowsprint(1); + self allowmantle(0); + self disableweaponpickup(1); + self showhud(); + self allowads(1); + if(isdefined(self.original_r_znear)) + { + setsaveddvar("r_znear",self.original_r_znear); + self.original_r_znear = undefined; + } + + self showviewmodel(); + self.viewmodel_hidden = 0; + if(isdefined(self.mechuistate)) + { + enable_mech_swarm(); + enable_mech_rocket(); + enable_mech_chaingun(); + } +} + +//Function Number: 25 +reload_checker_hack() +{ + for(;;) + { + if(self.viewmodel_hidden == 1) + { + self hideviewmodel(); + } + else + { + break; + } + + wait 0.05; + } +} + +//Function Number: 26 +_state_init() +{ + if(!isdefined(self.mechdata)) + { + } + + self enableweapons(); + mech_setup_player_for_gameplay(); + if(!self.mechdata.active) + { + self.mechdata.active = 1; + self.mechdata.init_active = 1; + self.dontmelee = 1; + level.noautosaveammocheck = 1; + playermech_save_player_data(); + thread playermech_damage_manager(); + thread playermech_state_manager(); + level.savedcompassfadetime = getdvar("hud_fade_compass"); + setsaveddvar("hud_fade_compass",0); + setsaveddvar("mechUseCodeSounds",1); + setsaveddvar("mechUseCodeRumble",1); + wait(0.2); + self overrideviewmodelmaterialreset(); + self overrideviewmodelmaterial("cinematic_3d_blend","cinematic_3d_blend_visor"); + self setplayermech(1); + if(!isdefined(self._old_visionset) || level.lvl_visionset != "_playermech") + { + self._old_visionset = level.lvl_visionset; + } + + thread maps\_utility::vision_set_changes("_playermech",0.05); + thread playermech_chaingun_watcher(); + thread playermech_rockets_and_swarm_watcher(); + thread playermech_invalid_weapon_watcher(); + playermech_init_vo(); + thread unlimited_mech_ammo(); + if(level.script == "finale") + { + thread playermech_physics_push_finale(); + } + else + { + thread playermech_physics_push(); + } + + thread playermech_threat_paint_ping_loop(); + thread playermech_badplace(); + thread playermech_damage_parts(); + self.mechdata.init_active = 0; + } +} + +//Function Number: 27 +mech_linkplayerview_rocket() +{ + if(0) + { + return; + } + + wait(0.05); + mech_unlinkplayerview_rocket(); + var_00 = spawn("script_model",(0,0,0)); + var_00.angles = (0,0,0); + var_00 setmodel("vm_exo_interior_base_missile"); + var_00 linktoplayerview(self,"j_rocket",(0,0,0),(0,0,0),0); + self.linked_rocket = var_00; +} + +//Function Number: 28 +mech_unlinkplayerview_rocket() +{ + if(!isdefined(self.linked_rocket)) + { + return; + } + + self.linked_rocket unlinkfromplayerview(self); + self.linked_rocket delete(); + self.linked_rocket = undefined; +} + +//Function Number: 29 +set_mech_weapon_state(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + self endon("exit_mech"); + if(!isdefined(param_05)) + { + param_05 = 1; + } + + if(!isdefined(param_06)) + { + param_06 = 1; + } + + if(!isdefined(param_07)) + { + param_07 = 1; + } + + if(param_05) + { + enable_mech_chaingun(); + } + else + { + disable_mech_chaingun(); + } + + if(param_06) + { + enable_mech_rocket(); + } + else + { + disable_mech_rocket(); + } + + if(param_07) + { + enable_mech_swarm(); + } + else + { + disable_mech_swarm(); + } + + var_08 = self getcurrentprimaryweapon(); + if(var_08 != param_02) + { + if(var_08 != "none") + { + thread delayed_takeweapon(var_08); + } + + self giveweapon(param_02); + if(param_01) + { + self switchtoweaponimmediate(param_02); + } + else + { + self switchtoweapon(param_02); + } + + thread mech_linkplayerview_rocket(); + } + + var_09 = self getlethalweapon(); + if(var_09 != param_03) + { + if(var_09 != "none") + { + self takeweapon(var_09); + } + + self setlethalweapon(param_03); + self giveweapon(param_03); + } + + var_0A = self gettacticalweapon(); + if(var_0A != param_04) + { + if(var_0A != "none") + { + self takeweapon(var_0A); + } + + self settacticalweapon(param_04); + self giveweapon(param_04); + } + + while(self.mechdata.init_active) + { + wait(0.05); + } + + while(self getcurrentprimaryweapon() != param_02) + { + wait(0.05); + } + + set_mech_state(param_00); +} + +//Function Number: 30 +delayed_takeweapon(param_00) +{ + self endon("exit_mech"); + self notify("notify_stop_delayed_takeweapon"); + self endon("notify_stop_delayed_takeweapon"); + wait(0.3); + self takeweapon(param_00); +} + +//Function Number: 31 +_exit(param_00) +{ + if(isdefined(param_00)) + { + foreach(var_02 in param_00) + { + common_scripts\utility::flag_waitopen(var_02); + } + } + + common_scripts\utility::flag_waitopen("internal_threat_paint_in_progress"); + if(!isdefined(self.mechdata)) + { + } + + mech_unlinkplayerview_rocket(); + playermech_restore_player_data(); + setsaveddvar("cg_cinematicfullscreen","1"); + stopcinematicingame(); + self overrideviewmodelmaterialreset(); + self setclientomnvar("ui_playermech_hud",0); + setsaveddvar("hud_fade_compass",level.savedcompassfadetime); + setsaveddvar("player_damagemultiplier",1); + setsaveddvar("player_radiusDamageMultiplier",1); + self notify("noHealthOverlay"); + thread maps\_gameskill::healthoverlay(); + setsaveddvar("mechUseCodeSounds",0); + setsaveddvar("mechUseCodeRumble",0); + self setplayermech(0); + if(isdefined(self._old_visionset)) + { + thread maps\_utility::vision_set_changes(self._old_visionset,0.05); + } + + self.mechdata.active = 0; + self.dontmelee = 0; + level.noautosaveammocheck = 0; + set_mech_state("none"); + self notify("exit_mech"); + self enabledeathshield(0); +} + +//Function Number: 32 +playermech_save_player_data() +{ + self.mechdata.activeweapon = self getcurrentweapon(); + var_00 = self getweaponslistall(); + self.mechdata.weapons = []; + foreach(var_02 in var_00) + { + var_03 = self.mechdata.weapons.size; + self.mechdata.weapons[var_03] = spawnstruct(); + self.mechdata.weapons[var_03].name = var_02; + self.mechdata.weapons[var_03].clipammor = self getweaponammoclip(var_02,"right"); + self.mechdata.weapons[var_03].clipammol = self getweaponammoclip(var_02,"left"); + self.mechdata.weapons[var_03].stockammo = self setweaponammostock(var_02); + } + + self takeallweapons(); + self enablegrenadethrowback(0); +} + +//Function Number: 33 +playermech_restore_player_data() +{ + self takeallweapons(); + foreach(var_01 in self.mechdata.weapons) + { + self giveweapon(var_01.name); + self setweaponammoclip(var_01.name,var_01.clipammor,"right"); + self setweaponammoclip(var_01.name,var_01.clipammol,"left"); + self setweaponammostock(var_01.name,var_01.stockammo); + } + + self enableweaponswitch(); + self enablegrenadethrowback(1); + self switchtoweapon(self.mechdata.activeweapon); +} + +//Function Number: 34 +playermech_ui_state_reset() +{ + if(!isdefined(self.mechuistate)) + { + self.mechuistate = spawnstruct(); + self.mechuistate.chaingun = spawnstruct(); + self.mechuistate.swarm = spawnstruct(); + self.mechuistate.rocket = spawnstruct(); + self.mechuistate.threat_list = spawnstruct(); + self.mechuistate.state = "none"; + self.mechuistate.chaingun.state = "none"; + self.mechuistate.chaingun.last_state = "none"; + self.mechuistate.swarm.state = "none"; + self.mechuistate.swarm.last_state = "none"; + self.mechuistate.rocket.state = "none"; + self.mechuistate.rocket.last_state = "none"; + } + + set_mech_state(); + self.mechuistate.threat_list.threats = []; + self.mechuistate.threat_list.compass_offsets = []; + self.mechuistate.chaingun.heatlevel = 0; + self.mechuistate.chaingun.overheated = 0; + self.mechuistate.swarm.target_list = []; + self.mechuistate.swarm.threat_scan = 0; + self.mechuistate.swarm.recharge = 100; + self.mechuistate.rocket.fire = 0; + self.mechuistate.rocket.recharge = 100; +} + +//Function Number: 35 +playermech_ui_state_enter(param_00) +{ + switch(param_00) + { + case "base_noweap_bootup": + setsaveddvar("cg_cinematicfullscreen","0"); + if(!level.currentgen) + { + cinematicingame("playermech_bootup"); + } + break; + + case "base_noweap": + setsaveddvar("cg_cinematicfullscreen","0"); + break; + + case "base_transition": + break; + + case "base": + setsaveddvar("cg_cinematicfullscreen","0"); + break; + + case "dmg1_transition": + break; + + case "dmg1": + break; + + case "dmg2_transition": + break; + + case "dmg2": + break; + + case "outro": + setsaveddvar("cg_cinematicfullscreen","0"); + cinematicingameloop("playermech_outro"); + break; + } +} + +//Function Number: 36 +playermech_ui_state_leave(param_00) +{ + switch(param_00) + { + case "base_noweap_bootup": + break; + + default: + setsaveddvar("cg_cinematicfullscreen","1"); + stopcinematicingame(); + break; + } +} + +//Function Number: 37 +playermech_state_manager() +{ + self endon("exit_mech"); + playermech_ui_state_reset(); + set_mech_state(); + set_mech_chaingun_state(); + set_mech_rocket_state(); + set_mech_swarm_state(); + thread playermech_ui_chaingun_feedback(); + thread playermech_ui_swarm_feedback(); + thread playermech_ui_rocket_feedback(); + for(;;) + { + state_main_pump(); + state_chaingun_pump(); + state_rocket_pump(); + state_swarm_pump(); + self.mechuistate.threat_list.threats = maps\_utility::remove_dead_from_array(self.mechdata.threat_list); + playermech_ui_update_threat_compass_values(self.mechuistate.threat_list); + playermech_ui_update_lui(self.mechuistate); + wait(0.05); + } +} + +//Function Number: 38 +set_mech_state(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = "none"; + } + + if(!isdefined(self.mechuistate)) + { + return; + } + + if(self.mechuistate.state == param_00) + { + return; + } + + playermech_ui_state_leave(self.mechuistate.state); + self.mechuistate.state = param_00; + self notify(param_00); + playermech_ui_state_enter(param_00); +} + +//Function Number: 39 +get_mech_state() +{ + if(!isdefined(self.mechuistate)) + { + return; + } + + return self.mechuistate.state; +} + +//Function Number: 40 +get_front_sorted_threat_list(param_00,param_01) +{ + var_02 = []; + foreach(var_04 in param_00) + { + if(vectordot(var_04.origin - self.origin,param_01) < 0) + { + continue; + } + + var_02[var_02.size] = var_04; + } + + var_02 = sortbydistance(var_02,self.origin); + return var_02; +} + +//Function Number: 41 +playermech_ui_weapon_feedback(param_00,param_01) +{ + self endon("exit_mech"); + self setclientomnvar(param_01,0); + for(;;) + { + while(!self [[ param_00 ]]()) + { + wait(0.05); + } + + self setclientomnvar(param_01,1); + while(self [[ param_00 ]]()) + { + wait(0.05); + } + + self setclientomnvar(param_01,0); + wait(0.05); + } +} + +//Function Number: 42 +playermech_ui_chaingun_feedback() +{ + playermech_ui_weapon_feedback(::attackbuttonpressed,"ui_playermech_chaingun_pressed"); +} + +//Function Number: 43 +playermech_ui_swarm_feedback() +{ + playermech_ui_weapon_feedback(::secondaryoffhandbuttonpressed,"ui_playermech_swarm_pressed"); +} + +//Function Number: 44 +playermech_ui_rocket_feedback() +{ + playermech_ui_weapon_feedback(::fragbuttonpressed,"ui_playermech_rocket_pressed"); +} + +//Function Number: 45 +playermech_ui_update_threat_compass_values(param_00) +{ + param_00.compass_offsets = []; + var_01 = anglestoforward(self getplayerangles()); + if(var_01[2] > 0.99) + { + return; + } + + var_01 = vectornormalize(var_01 * (1,1,0)); + var_02 = get_front_sorted_threat_list(param_00.threats,var_01); + var_03 = getdvarfloat("mechCompassScaleFudge"); + foreach(var_05 in var_02) + { + var_06 = var_05.origin - self.origin; + var_06 = vectornormalize(var_06 * (1,1,0)); + if(var_06[2] > 0.99) + { + var_02.compass_offsets[param_00.compass_offsets.size] = 0; + continue; + } + + var_07 = acos(clamp(vectordot(var_06,var_01),-1,1)) / 180; + var_08 = vectorcross(var_06,var_01); + if(var_08[2] <= 0) + { + var_07 = var_07 * -1; + } + + var_07 = var_07 * var_03; + param_00.compass_offsets[param_00.compass_offsets.size] = var_07; + } +} + +//Function Number: 46 +playermech_ui_update_lui(param_00) +{ + self setclientomnvar("ui_playermech_numswarmtargets",param_00.swarm.target_list.size); + self setclientomnvar("ui_playermech_swarmrecharge",param_00.swarm.recharge); + self setclientomnvar("ui_playermech_threats_scanned",param_00.swarm.threat_scan); + self setclientomnvar("ui_playermech_rocketrecharge",param_00.rocket.recharge); + self setclientomnvar("ui_playermech_chaingun_heatlevel",param_00.chaingun.heatlevel); + self setclientomnvar("ui_playermech_threat_count",param_00.threat_list.compass_offsets.size); + for(var_01 = 0;var_01 < 8;var_01++) + { + var_02 = var_01 + 1; + if(param_00.threat_list.compass_offsets.size >= var_02) + { + self setclientomnvar("ui_playermech_threat_position_" + var_02,param_00.threat_list.compass_offsets[var_01]); + } + } +} + +//Function Number: 47 +state_main_pump() +{ + switch(get_mech_state()) + { + case "outro": + case "dmg2": + case "dmg2_transition": + case "dmg1": + case "dmg1_transition": + case "base_transition": + case "base_noweap": + case "base_noweap_bootup": + case "base": + break; + + case "none": + playermech_ui_state_reset(); + break; + + default: + break; + } +} + +//Function Number: 48 +state_chaingun_pump() +{ + set_mech_chaingun_last_state(); + var_00 = get_mech_chaingun_state(); + var_01 = self getcurrentweapon(); + self.mechuistate.chaingun.heatlevel = self getweaponheatlevel(var_01); + self.mechuistate.chaingun.overheated = self isweaponoverheated(var_01); + if(common_scripts\utility::flag("flag_force_hud_ready") && var_00 != "offline") + { + if(var_00 != "ready") + { + set_mech_chaingun_state("ready"); + } + } + else if(var_00 == "ready") + { + if(self.mechuistate.chaingun.overheated) + { + set_mech_chaingun_state("overheat"); + thread barrel_overheat_fx(); + } + else if(self attackbuttonpressed() && !self fragbuttonpressed() && !self secondaryoffhandbuttonpressed() && !common_scripts\utility::flag("internal_swarm_rocket_active") && !common_scripts\utility::flag("internal_rocket_active")) + { + set_mech_chaingun_state("firing"); + } + } + else if(var_00 == "firing") + { + if(self.mechuistate.chaingun.overheated) + { + set_mech_chaingun_state("overheat"); + thread barrel_overheat_fx(); + } + else if(!self attackbuttonpressed() || self fragbuttonpressed() || self secondaryoffhandbuttonpressed()) + { + set_mech_chaingun_state("ready"); + } + } + else if(var_00 == "overheat" && !self.mechuistate.chaingun.overheated) + { + set_mech_chaingun_state("ready"); + } + + switch(get_mech_chaingun_state()) + { + case "ready": + self setclientomnvar("ui_playermech_chaingun_state",1); + break; + + case "firing": + self setclientomnvar("ui_playermech_chaingun_state",2); + break; + + case "overheat": + self setclientomnvar("ui_playermech_chaingun_state",3); + break; + + case "offline": + self setclientomnvar("ui_playermech_chaingun_state",4); + break; + + case "none": + self setclientomnvar("ui_playermech_chaingun_state",0); + break; + + default: + break; + } +} + +//Function Number: 49 +state_rocket_pump() +{ + set_mech_rocket_last_state(); + var_00 = get_mech_rocket_state(); + if(common_scripts\utility::flag("flag_force_hud_ready") && var_00 != "offline" && var_00 != "reload") + { + if(var_00 != "ready") + { + set_mech_rocket_state("ready"); + } + } + else if(var_00 != "offline" && playermech_invalid_rocket_callback()) + { + set_mech_rocket_state("reload"); + } + else if(var_00 == "reload" && !playermech_invalid_rocket_callback()) + { + set_mech_rocket_state("ready"); + } + + switch(get_mech_rocket_state()) + { + case "ready": + self setclientomnvar("ui_playermech_rocket_state",1); + break; + + case "reload": + self setclientomnvar("ui_playermech_rocket_state",2); + break; + + case "offline": + self setclientomnvar("ui_playermech_rocket_state",3); + break; + + case "none": + self setclientomnvar("ui_playermech_rocket_state",0); + break; + + default: + break; + } +} + +//Function Number: 50 +state_swarm_pump() +{ + set_mech_swarm_last_state(); + var_00 = get_mech_swarm_state(); + self.mechuistate.swarm.target_list = maps\_utility::remove_dead_from_array(self.mechdata.swarm_target_list); + if(common_scripts\utility::flag("flag_force_hud_ready") && var_00 != "offline" && var_00 != "reload") + { + if(var_00 != "ready") + { + set_mech_swarm_state("ready"); + self.mechuistate.swarm.target_list = []; + } + } + else if(common_scripts\utility::flag("internal_swarm_rocket_active")) + { + set_mech_swarm_state("target"); + } + else if(var_00 == "target" && playermech_invalid_swarm_callback()) + { + set_mech_swarm_state("reload"); + } + else if(var_00 == "reload" && !playermech_invalid_swarm_callback()) + { + set_mech_swarm_state("ready"); + } + + switch(get_mech_swarm_state()) + { + case "ready": + self setclientomnvar("ui_playermech_swarm_state",1); + break; + + case "reload": + self setclientomnvar("ui_playermech_swarm_state",3); + break; + + case "target": + self setclientomnvar("ui_playermech_swarm_state",2); + break; + + case "offline": + self setclientomnvar("ui_playermech_swarm_state",4); + break; + + case "none": + self setclientomnvar("ui_playermech_swarm_state",0); + break; + + default: + break; + } +} + +//Function Number: 51 +set_mech_chaingun_state(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = "none"; + } + + if(!isdefined(self.mechuistate.chaingun.state)) + { + self.mechuistate.chaingun.state = "none"; + } + + if(self.mechuistate.chaingun.state == param_00) + { + return; + } + + self.mechuistate.chaingun.state = param_00; + self notify("chaingun_state_" + param_00); +} + +//Function Number: 52 +get_mech_chaingun_state() +{ + if(!isdefined(self.mechuistate)) + { + return; + } + + return self.mechuistate.chaingun.state; +} + +//Function Number: 53 +set_mech_chaingun_last_state() +{ + if(isdefined(self.mechuistate.chaingun.last_state) && self.mechuistate.chaingun.state == self.mechuistate.chaingun.last_state) + { + return 1; + } + + self.mechuistate.chaingun.last_state = self.mechuistate.chaingun.state; + return 0; +} + +//Function Number: 54 +set_mech_rocket_state(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = "none"; + } + + if(!isdefined(self.mechuistate.rocket.state)) + { + self.mechuistate.rocket.state = "none"; + } + + if(self.mechuistate.rocket.state == param_00) + { + return; + } + + self.mechuistate.rocket.state = param_00; + self notify("rocket_state_" + param_00); +} + +//Function Number: 55 +get_mech_rocket_state() +{ + if(!isdefined(self.mechuistate)) + { + return; + } + + return self.mechuistate.rocket.state; +} + +//Function Number: 56 +set_mech_rocket_last_state() +{ + if(isdefined(self.mechuistate.rocket.last_state) && self.mechuistate.rocket.state == self.mechuistate.rocket.last_state) + { + return 1; + } + + self.mechuistate.rocket.last_state = self.mechuistate.rocket.state; + return 0; +} + +//Function Number: 57 +set_mech_swarm_state(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = "none"; + } + + if(!isdefined(self.mechuistate.swarm.state)) + { + self.mechuistate.swarm.state = "none"; + } + + if(self.mechuistate.swarm.state == param_00) + { + return; + } + + self.mechuistate.swarm.state = param_00; + self notify("swarm_state_" + param_00); +} + +//Function Number: 58 +get_mech_swarm_state() +{ + if(!isdefined(self.mechuistate)) + { + return; + } + + return self.mechuistate.swarm.state; +} + +//Function Number: 59 +set_mech_swarm_last_state() +{ + if(isdefined(self.mechuistate.swarm.last_state) && self.mechuistate.swarm.state == self.mechuistate.swarm.last_state) + { + return 1; + } + + self.mechuistate.swarm.last_state = self.mechuistate.swarm.state; + return 0; +} + +//Function Number: 60 +playermech_monitor_update_recharge(param_00,param_01) +{ + param_00.recharge = 0; + var_02 = 100 / param_01 / 0.05; + while(param_00.recharge < 100) + { + param_00.recharge = param_00.recharge + var_02; + wait(0.05); + } + + param_00.recharge = 100; +} + +//Function Number: 61 +playermech_monitor_rocket_recharge() +{ + self endon("exit_mech"); + self notify("stop_rocket_recharge"); + self endon("stop_rocket_recharge"); + for(;;) + { + self waittill("mech_rocket_fire"); + self disableoffhandweapons(); + playermech_monitor_update_recharge(self.mechuistate.rocket,4); + self enableoffhandweapons(); + wait(0.05); + } +} + +//Function Number: 62 +playermech_monitor_swarm_recharge() +{ + self endon("exit_mech"); + self notify("stop_swarm_recharge"); + self endon("stop_swarm_recharge"); + for(;;) + { + self waittill("mech_swarm_fire"); + self disableoffhandsecondaryweapons(); + playermech_monitor_update_recharge(self.mechuistate.swarm,6); + self enableoffhandsecondaryweapons(); + wait(0.05); + } +} + +//Function Number: 63 +playermech_link_viewmodel_part(param_00,param_01,param_02,param_03) +{ + self endon("exit_mech"); + param_00 useanimtree(param_02); + param_00 linktoplayerview(self,param_03,(0,0,0),(0,0,0),1); + param_00 notsolid(); + self notifyonplayercommand("playerdamage","+usereload"); + for(;;) + { + param_00 hide(); + self waittill("playerdamage"); + param_00 show(); + param_00 setanimrestart(param_01,1,0,1); + wait(getanimlength(param_01) + 0.05); + } +} + +//Function Number: 64 +playermech_damage_parts() +{ + if(!0) + { + return; + } + + var_00 = spawn("script_model",(0,0,0)); + var_00 setmodel("cap_playermech_breakable_wall"); + playermech_link_viewmodel_part(var_00,%cap_playermech_run_through_prop_short,#animtree,"tag_flash"); +} + +//Function Number: 65 +playermech_is_damage_allowed(param_00,param_01,param_02) +{ + if(param_01 == "MOD_MELEE" && isdefined(param_02) && issubstr(param_02.classname,"enemy_mech")) + { + return 1; + } + + if(self.mechdata.health - param_00 < 30) + { + return 1; + } + + if(self.mechdata.damage_allowed) + { + return 1; + } + + return 0; +} + +//Function Number: 66 +playermech_damage_manager() +{ + self endon("exit_mech"); + self.mechdata.health = level.mech_max_health; + self.mechdata.damage_allowed = 0; + self.mechdata.regen_cooldown = 0; + setsaveddvar("player_damagemultiplier",level.damage_multiplier_mod); + setsaveddvar("player_radiusDamageMultiplier",level.damage_multiplier_mod); + childthread playermech_health_restore(); + childthread playermech_player_hit_fx(); + childthread playermech_mech_regen(); + var_00 = getdvarfloat("player_damagemultiplier"); + for(;;) + { + self waittill("damage",var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A); + self.mechdata.health = self.mechdata.health - var_01 / level.damage_multiplier_mod * 0.25; + self notify("mech_damage",var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A); + soundscripts\_snd_playsound::snd_play_at("bullet_large_mech_plr",var_04); + self.mechdata.regen_cooldown = 1; + if(level.script != "finale") + { + childthread screen_flicker_full(var_04); + } + } +} + +//Function Number: 67 +screen_flicker_full(param_00) +{ + var_01 = anglestoforward(self.angles); + param_00 = (param_00[0],param_00[1],self.origin[2]); + var_02 = vectornormalize(param_00 - self.origin); + var_03 = vectordot(var_01,var_02); + var_04 = vectorcross(var_01,var_02); + var_05 = undefined; + if(var_04[2] >= 0) + { + var_05 = self.mechdata.dmg_screen_left; + } + else + { + var_05 = self.mechdata.dmg_screen_right; + } + + foreach(var_07 in common_scripts\utility::array_randomize(var_05)) + { + childthread screen_flicker_full_solo(var_07); + } +} + +//Function Number: 68 +screen_flicker_full_solo(param_00) +{ + if(!param_00.flickering) + { + param_00.flickering = 1; + childthread show_mech_screen(param_00,0.05); + wait(randomfloatrange(0.2,0.7)); + hide_mech_screen(param_00,0.05); + wait(0.05); + param_00.flickering = 0; + } +} + +//Function Number: 69 +screen_flicker(param_00,param_01) +{ + self endon("death"); + if(!isdefined(param_01)) + { + param_01 = 0; + } + + var_02 = undefined; + if(!isplayer(self)) + { + if(!isdefined(self.mechdata)) + { + self.mechdata = spawnstruct(); + playermech_init_dmg_screens(); + } + } + + if(isdefined(param_00)) + { + var_03 = anglestoforward(self.angles); + param_00 = (param_00[0],param_00[1],self.origin[2]); + var_04 = vectornormalize(param_00 - self.origin); + var_05 = vectordot(var_03,var_04); + var_06 = vectorcross(var_03,var_04); + if(var_06[2] >= 0) + { + var_02 = self.mechdata.dmg_screen_left; + } + else + { + var_02 = self.mechdata.dmg_screen_right; + } + } + else + { + var_02 = common_scripts\utility::array_combine(self.mechdata.dmg_screen_left,self.mechdata.dmg_screen_right); + } + + var_07 = 0.1; + var_08 = 0.05; + var_09 = 0; + foreach(var_0B in common_scripts\utility::array_randomize(var_02)) + { + if(param_01) + { + var_08 = randomfloatrange(0.1,1); + var_09 = randomfloatrange(0.1,1); + var_07 = randomfloatrange(0.1,1); + } + + childthread show_mech_screen(var_0B,var_08); + var_0B.flickering = 1; + childthread hide_mech_screen(var_0B,var_08 + var_07 + var_09); + var_0B.flickering = 0; + } +} + +//Function Number: 70 +hide_mech_screen(param_00,param_01) +{ + self endon("death"); + if(isdefined(param_01)) + { + wait(param_01); + } + + if(!param_00.hidden) + { + if(isplayer(self)) + { + self hidepartviewmodel(param_00.bone,1); + } + else + { + self hidepart(param_00.bone); + } + + param_00.hidden = 1; + } +} + +//Function Number: 71 +show_mech_screen(param_00,param_01) +{ + self endon("kill_show_mech_screen"); + self endon("death"); + if(isdefined(param_01)) + { + wait(param_01); + } + + if(param_00.hidden) + { + if(isplayer(self)) + { + self hidepartviewmodel(param_00.bone,0); + } + else + { + self showpart(param_00.bone); + } + + param_00.hidden = 0; + } +} + +//Function Number: 72 +playermech_mech_regen() +{ + var_00 = 6; + var_01 = 1; + var_02 = level.mech_max_health / var_00 * var_01; + for(;;) + { + if(!self.mechdata.regen_cooldown) + { + self.mechdata.health = clamp(self.mechdata.health + var_02,0,level.mech_max_health); + } + + self.mechdata.regen_cooldown = 0; + wait(var_01); + } +} + +//Function Number: 73 +playermech_player_hit_fx() +{ + var_00 = "cg_hudDamageIconTime"; + var_01 = getdvar(var_00); + var_02 = 0; + var_03 = 1; + while(self.mechdata.active) + { + if(self.mechdata.health < 30 && !self.mechdata.damage_allowed) + { + self.mechdata.damage_allowed = 1; + thread maps\_gameskill::healthoverlay(); + setsaveddvar(var_00,var_01); + continue; + } + + if(var_03 || self.mechdata.health >= 30 && self.mechdata.damage_allowed) + { + var_03 = 0; + self.mechdata.damage_allowed = 0; + self setviewkickscale(0); + self notify("noHealthOverlay"); + setsaveddvar(var_00,var_02); + } + + wait(0.05); + } + + setsaveddvar(var_00,var_01); +} + +//Function Number: 74 +playermech_health_restore() +{ + self enabledeathshield(1); + for(;;) + { + self waittill("damage",var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09); + if(!playermech_is_damage_allowed(var_00,var_04,var_01)) + { + self setnormalhealth(self.health + var_00); + continue; + } + + if(self.health == 1) + { + self enabledeathshield(0); + if(isdefined(var_09)) + { + self dodamage(1,var_03,var_01,var_01,var_04,var_09); + continue; + } + + self dodamage(1,var_03,var_01,var_01,var_04); + } + } +} + +//Function Number: 75 +playermech_dodamage(param_00,param_01,param_02) +{ + self dodamage(param_00,param_01,param_02); +} + +//Function Number: 76 +playermech_physics_push_on() +{ + self.physics_pulse_on = 1; +} + +//Function Number: 77 +playermech_physics_push_off() +{ + self.physics_pulse_on = 0; +} + +//Function Number: 78 +playermech_physics_push() +{ + self endon("exit_mech"); + playermech_physics_push_on(); + var_00 = 0.01; + var_01 = 48; + var_02 = 1; + for(;;) + { + if(self.physics_pulse_on) + { + var_03 = clamp(length(self getvelocity()) * var_00,0,var_02); + physicsexplosionsphere(self.origin,var_01,1,var_03); + } + + wait(0.05); + } +} + +//Function Number: 79 +playermech_physics_push_finale() +{ + self endon("exit_mech"); + playermech_physics_push_on(); + var_00 = 24; + for(;;) + { + if(self.physics_pulse_on) + { + var_01 = var_00 * getdvarfloat("mechStandHeight") / 90; + physicsexplosionsphere(self.origin,var_01,var_01 * 0.9,0.01); + } + + wait(0.05); + } +} + +//Function Number: 80 +playermech_invalid_gun_callback() +{ + if(self.mechuistate.chaingun.overheated) + { + if(self attackbuttonpressed()) + { + self notify("callback_chaingun_state_overheat"); + } + + return 1; + } + + return 0; +} + +//Function Number: 81 +playermech_invalid_rocket_callback() +{ + if(self.mechuistate.rocket.recharge < 100) + { + if(self fragbuttonpressed()) + { + self notify("callback_rocket_reload"); + } + + return 1; + } + + return 0; +} + +//Function Number: 82 +playermech_invalid_swarm_callback() +{ + if(self.mechuistate.swarm.recharge < 100) + { + if(self secondaryoffhandbuttonpressed()) + { + self notify("callback_swarm_reload"); + } + + return 1; + } + + return 0; +} + +//Function Number: 83 +playermech_invalid_weapon_instance(param_00,param_01) +{ + self endon("exit_mech"); + var_02 = 0; + for(;;) + { + wait(0.05); + if(self [[ param_00 ]]()) + { + if(!var_02) + { + if([[ param_01 ]]()) + { + var_02 = 1; + soundscripts\_snd::snd_message("mech_weapon_offline"); + } + } + + continue; + } + + var_02 = 0; + } +} + +//Function Number: 84 +playermech_invalid_weapon_watcher() +{ + thread playermech_invalid_weapon_instance(::attackbuttonpressed,::playermech_invalid_gun_callback); + thread playermech_invalid_weapon_instance(::fragbuttonpressed,::playermech_invalid_rocket_callback); + thread playermech_invalid_weapon_instance(::secondaryoffhandbuttonpressed,::playermech_invalid_swarm_callback); +} + +//Function Number: 85 +playermech_chaingun_watcher() +{ + self endon("exit_mech"); + var_00 = common_scripts\utility::spawn_tag_origin(); + var_00 linktoplayerview(level.player,"j_barrel",(0,0,0),(0,0,0),1); + for(;;) + { + self waittill("weapon_fired"); + if(self secondaryoffhandbuttonpressed() || self fragbuttonpressed()) + { + continue; + } + + self notify("chaingun_fired"); + thread barrel_heat_glow_fx(var_00); + } + + common_scripts\utility::waittill_any_timeout(0.5,"kill_barrel_vfx"); + var_00 unlinkfromplayerview(level.player); + var_00 delete(); +} + +//Function Number: 86 +barrel_heat_glow_fx(param_00) +{ + playfxontag(common_scripts\utility::getfx("exo_armor_gun_barrel_heat_view"),param_00,"tag_origin"); +} + +//Function Number: 87 +barrel_overheat_fx() +{ + var_00 = common_scripts\utility::spawn_tag_origin(); + wait 0.05; + var_00 linktoplayerview(level.player,"j_barrel",(0,0,0),(0,0,0),1); + wait 0.05; + playfxontag(common_scripts\utility::getfx("exo_armor_gun_barrel_overheat_view"),var_00,"tag_origin"); + common_scripts\utility::waittill_any_timeout(4,"kill_barrel_vfx"); + killfxontag(common_scripts\utility::getfx("exo_armor_gun_barrel_overheat_view"),var_00,"tag_origin"); + var_00 unlinkfromplayerview(level.player); + wait 0.05; + var_00 delete(); +} + +//Function Number: 88 +playermech_threat_paint(param_00,param_01) +{ + if(!isdefined(param_00)) + { + param_00 = 0; + } + + if(!isdefined(param_01)) + { + param_01 = 0; + } + + self.mechdata.swarm_target_list = []; + thread threat_paint_highlight_hud_effect(); + var_02 = []; + var_03 = getaiarray("axis"); + foreach(var_05 in var_03) + { + var_06 = var_05 getlinkedparent(); + if(!isdefined(var_06) || !isdefined(var_06.code_classname) || var_06.code_classname != "script_vehicle") + { + var_02[var_02.size] = var_05; + } + } + + var_08 = []; + var_09 = maps\_utility::getvehiclearray(); + foreach(var_0B in var_09) + { + if(isdefined(var_0B.script_team) && var_0B.script_team == "axis") + { + var_08[var_08.size] = var_0B; + } + } + + var_0D = sortbydistance(common_scripts\utility::array_combine(var_02,var_08),self.origin); + var_0E = anglestoforward(self getplayerangles()); + var_0F = 1; + if(var_0E[2] > 0.99) + { + var_0F = 0; + } + + var_0E = vectornormalize(var_0E * (1,1,0)); + var_10 = []; + foreach(var_05 in var_0D) + { + if(!isdefined(var_05) || !isalive(var_05)) + { + continue; + } + + var_05 notify("stop_marking_guy"); + unmark_swarm_target(var_05); + mark_stencil(var_05); + if(var_0F) + { + var_12 = vectornormalize(var_05.origin - self.origin * (1,1,0)); + if(length(var_12) < 0.001) + { + continue; + } + + var_05.targetdot = vectordot(var_12,var_0E); + if(var_05.targetdot < 0.7) + { + continue; + } + + if(!pass_line_of_sight(var_05)) + { + continue; + } + + if(var_10.size < level.mech_swarm_rocket_max_targets) + { + var_10[var_10.size] = var_05; + continue; + } + + var_13 = 0; + for(var_14 = 0;var_14 < var_10.size;var_14++) + { + if(var_10[var_14].targetdot < var_10[var_13].targetdot) + { + var_13 = var_14; + } + } + + if(var_05.targetdot > var_10[var_13].targetdot) + { + var_10[var_13] = var_05; + } + } + } + + foreach(var_05 in var_10) + { + if(param_00) + { + thread handle_marking_guy(var_05); + continue; + } + + thread handle_marking_guy(var_05,1); + } + + wait(0.05); +} + +//Function Number: 89 +pass_line_of_sight(param_00,param_01) +{ + if(level.mech_swarm_skip_line_of_sight_obstruction_test) + { + return 1; + } + + if(!isdefined(param_01)) + { + param_01 = 1; + } + + var_02 = self.origin; + if(isplayer(self)) + { + var_02 = self geteye(); + } + + if(param_01) + { + if(1) + { + var_03 = param_00.origin + param_00 get_guy_offset(0); + var_04 = bullettrace(var_02,var_03,1,self,0,1,0); + if(isdefined(var_04["entity"]) && isdefined(var_04["entity"].script_team) && var_04["entity"].script_team == "allies") + { + return 0; + } + } + + if(isdefined(param_00.swarm_los_lock_duration_endtime) && gettime() < param_00.swarm_los_lock_duration_endtime) + { + return 1; + } + } + + param_00.swarm_los_body_behind_cover = undefined; + param_00.swarm_los_overhead_blocked = undefined; + var_05 = 0; + var_03 = undefined; + for(var_06 = 0;var_06 < 2;var_06++) + { + if(var_06 == 0) + { + var_03 = param_00.origin + param_00 get_guy_offset(0); + } + + if(var_06 == 1) + { + var_03 = param_00.origin + param_00 get_guy_offset(1); + } + + var_07 = (randomfloatrange(-10,10),randomfloatrange(-10,10),randomfloatrange(-10,10)); + var_04 = bullettrace(var_02,var_03 + var_07,0,self,0,0,0); + if(var_04["fraction"] >= 1 || isdefined(var_04["entity"]) && param_00 != var_04["entity"]) + { + param_00.swarm_los_lock_duration_endtime = gettime() + level.mech_swarm_line_of_sight_lock_duration * 2000; + var_05 = 1; + continue; + } + + if(var_06 == 0 && distance2d(param_00.origin,var_04["position"]) < 75) + { + param_00.swarm_los_body_behind_cover = 1; + } + + if(var_06 == 1) + { + param_00.swarm_los_overhead_blocked = 1; + } + } + + return var_05; +} + +//Function Number: 90 +playermech_threat_paint_loop(param_00) +{ + level endon("flag_force_hud_ready"); + self endon("death"); + self endon("grenade_fire"); + self endon("scripted_viewmodel_anim"); + for(;;) + { + if(isdefined(param_00) && param_00) + { + self.mechuistate.swarm.threat_scan = 1; + } + + playermech_threat_paint(1,1); + } +} + +//Function Number: 91 +playermech_threat_paint_ping_loop() +{ + self endon("death"); + self endon("exit_mech"); + for(;;) + { + if(!common_scripts\utility::flag("flag_mech_threat_paint_ping_on") || common_scripts\utility::flag("internal_threat_paint_in_progress")) + { + wait(0.05); + continue; + } + + if(common_scripts\utility::flag("internal_swarm_rocket_active")) + { + common_scripts\utility::flag_waitopen("internal_swarm_rocket_active"); + wait(0); + continue; + } + + playermech_threat_paint(0,1); + wait(0); + } +} + +//Function Number: 92 +threat_paint_highlight_hud_effect() +{ + common_scripts\utility::flag_set("internal_threat_paint_in_progress"); + var_00 = newclienthudelem(self); + var_00.color = (1,0.05,0.025); + var_00.alpha = 1; + var_01 = 0.05; + var_00 setradarhighlight(var_01); + wait(var_01); + var_00 destroy(); + common_scripts\utility::flag_clear("internal_threat_paint_in_progress"); +} + +//Function Number: 93 +threat_paint_hud_effect() +{ + var_00 = newclienthudelem(self); + var_00.x = self.origin[0]; + var_00.y = self.origin[1]; + var_00.z = self.origin[2]; + var_00.color = (1,0.05,0.025); + var_00.alpha = 1; + var_01 = 0; + var_02 = 3000; + var_03 = 500; + var_00 setradarping(int(var_02 + var_03 / 2),int(var_03),var_01 + 0.05); + wait(var_01); + var_00 destroy(); +} + +//Function Number: 94 +get_guy_offset(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 0; + } + + var_01 = undefined; + var_02 = self getcentroid()[2] - self.origin[2]; + if(!isdefined(self)) + { + var_01 = (0,0,32); + } + else if(maps\_vehicle::isvehicle()) + { + var_01 = (0,0,var_02); + } + else if(issubstr(self.classname,"mech")) + { + var_01 = (0,0,64); + } + else + { + var_01 = (0,0,32); + } + + if(param_00 == 1) + { + var_01 = var_01 + (0,0,var_02) + (0,0,32); + } + else if(param_00 == 2) + { + if(isdefined(self.swarm_los_overhead_blocked) && self.swarm_los_overhead_blocked) + { + var_01 = get_guy_offset(0); + } + else + { + var_01 = var_01 + (0,0,var_02) + (0,0,30); + } + } + else + { + } + + return var_01; +} + +//Function Number: 95 +handle_marking_guy(param_00,param_01) +{ + param_00 endon("death"); + param_00 notify("stop_marking_guy"); + param_00 endon("stop_marking_guy"); + thread handle_threat_paint_death(param_00); + if(isdefined(param_01) && param_01) + { + return; + } + + if(distance(self.origin,param_00.origin) > 3000) + { + return; + } + + self.mechdata.swarm_target_list = maps\_utility::remove_dead_from_array(self.mechdata.swarm_target_list); + if(self.mechdata.swarm_target_list.size >= level.mech_swarm_rocket_max_targets) + { + return; + } + + var_02 = param_00 get_guy_offset(0); + var_03 = 0.4; + if(isdefined(self.mechdata.swarm_dot_override)) + { + var_03 = self.mechdata.swarm_dot_override; + } + + if(!maps\_utility::player_looking_at(param_00.origin + var_02,var_03,1)) + { + var_04 = bullettrace(self geteye(),param_00.origin + var_02,0); + if(!isdefined(var_04) || !isdefined(var_04["position"])) + { + return; + } + } + + if(!pass_line_of_sight(param_00)) + { + return; + } + + if(common_scripts\utility::flag("flag_force_hud_ready")) + { + return; + } + + mark_swarm_target(param_00); + var_05 = 2; + while(maps\_utility::player_looking_at(param_00.origin + var_02,var_03,1) && !common_scripts\utility::flag("flag_force_hud_ready")) + { + wait(var_05); + if(distance(self.origin,param_00.origin) > 3000) + { + return; + } + + if(!pass_line_of_sight(param_00)) + { + break; + } + + if(!self secondaryoffhandbuttonpressed() || !self isusingoffhand()) + { + break; + } + } + + unmark_swarm_target(param_00); +} + +//Function Number: 96 +mark_stencil(param_00) +{ + if((isdefined(param_00.disablestencil) && param_00.disablestencil) || isdefined(param_00.script_parameters) && param_00.script_parameters == "disablestencil") + { + return; + } + + if(isdefined(param_00) && isalive(param_00) && !isdefined(param_00.target_stencil) || !param_00.target_stencil) + { + param_00.target_stencil = 1; + if(1) + { + param_00 hudoutlineenable(4,1); + } + else + { + param_00 setthreatdetection("detected"); + } + + self.mechdata.threat_list = common_scripts\utility::array_add(self.mechdata.threat_list,param_00); + } +} + +//Function Number: 97 +unmark_stencil(param_00) +{ + if(isdefined(param_00.target_stencil) && param_00.target_stencil) + { + param_00.target_stencil = undefined; + if(1) + { + param_00 hudoutlinedisable(); + param_00 hudoutlineenable(0,0); + } + else + { + param_00 setthreatdetection("enhanceable"); + } + + self.mechdata.threat_list = common_scripts\utility::array_remove(self.mechdata.threat_list,param_00); + } +} + +//Function Number: 98 +mark_swarm_target(param_00) +{ + if(isdefined(param_00) && isalive(param_00) && !isdefined(param_00.target_swarm) || !param_00.target_swarm) + { + param_00.target_swarm = 1; + var_01 = param_00 get_guy_offset(0); + target_set(param_00,var_01); + target_setshader(param_00,"ui_playermech_icon_swarm_target"); + self.mechdata.swarm_target_list = common_scripts\utility::array_add(self.mechdata.swarm_target_list,param_00); + wait(0.05); + } +} + +//Function Number: 99 +unmark_swarm_target(param_00) +{ + if(isdefined(param_00.target_swarm) && param_00.target_swarm) + { + self.mechdata.swarm_target_list = common_scripts\utility::array_remove(self.mechdata.swarm_target_list,param_00); + } + + param_00.target_swarm = undefined; + if(target_istarget(param_00)) + { + target_remove(param_00); + } +} + +//Function Number: 100 +handle_threat_paint_death(param_00) +{ + param_00 notify("handle_threat_paint_death"); + param_00 endon("handle_threat_paint_death"); + param_00 waittill("death"); + if(isdefined(param_00)) + { + param_00 notify("stop_marking_guy"); + unmark_stencil(param_00); + unmark_swarm_target(param_00); + param_00 setthreatdetection("disable"); + } +} + +//Function Number: 101 +playermech_disable_badplace() +{ + self.mechdata.create_badplace = 0; +} + +//Function Number: 102 +playermech_enable_badplace() +{ + self.mechdata.create_badplace = 1; +} + +//Function Number: 103 +playermech_badplace() +{ + self endon("exit_mech"); + for(;;) + { + if(self.mechdata.create_badplace) + { + badplace_cylinder("mech",1,self.origin,128,256,"axis"); + } + + wait(0.05); + } +} + +//Function Number: 104 +playermech_rockets_wait_swarm() +{ + self endon("scripted_viewmodel_anim"); + level endon("flag_force_hud_ready"); + self waittill("grenade_fire",var_00,var_01); + self notify("mech_swarm_fire"); + self notify("stop_delay_thread"); + thread rocket_swarm(); + var_00 delete(); +} + +//Function Number: 105 +playermech_rockets_wait_rocket() +{ + self endon("scripted_viewmodel_anim"); + level endon("flag_force_hud_ready"); + self waittill("grenade_fire",var_00,var_01); + self notify("mech_rocket_fire",var_00); + thread rocket_fire_rumbles(); +} + +//Function Number: 106 +rocket_fire_rumbles() +{ + var_00 = maps\_utility::get_rumble_ent("steady_rumble",0); + var_00.intensity = 0.8; + wait(0.2); + var_00.intensity = 0; +} + +//Function Number: 107 +playermech_rockets_and_swarm_watcher() +{ + self endon("exit_mech"); + for(;;) + { + self waittill("grenade_pullback",var_00); + if(common_scripts\utility::flag("flag_force_hud_ready")) + { + continue; + } + + if(var_00 == self.mechdata.weapon_names["mech_lethal_weapon"]) + { + common_scripts\utility::flag_set("internal_rocket_active"); + self notify("mech_rocket_pullback"); + playermech_rockets_wait_rocket(); + maps\_utility::delaythread(0.75,::common_scripts\utility::flag_clear,"internal_rocket_active"); + } + else if(var_00 == self.mechdata.weapon_names["mech_tactical_weapon"]) + { + common_scripts\utility::flag_set("internal_swarm_rocket_active"); + self notify("mech_swarm_pullback"); + maps\_utility::delaythread(level.mech_threat_paint_delay,::playermech_threat_paint_loop,1); + playermech_rockets_wait_swarm(); + maps\_utility::delaythread(0.75,::common_scripts\utility::flag_clear,"internal_swarm_rocket_active"); + } + + maps\_utility::delaythread(2,::playermech_ui_turn_off_threat_count); + wait(0.05); + } +} + +//Function Number: 108 +mech_rocket_clear(param_00) +{ + wait(1); + common_scripts\utility::flag_clear(param_00); +} + +//Function Number: 109 +playermech_ui_turn_off_threat_count() +{ + self.mechuistate.swarm.threat_scan = 0; +} + +//Function Number: 110 +rocket_swarm_random_course_change() +{ + self endon("death"); + self endon("rocket_start_swarm_stage_two"); + for(;;) + { + var_00 = 1; + var_01 = 0.2; + self.forward = vectornormalize(self.forward + (randomfloatrange(var_00 * -1,var_00),randomfloatrange(var_00 * -1,var_00),randomfloatrange(var_01 * -1,var_01))); + var_02 = randomfloatrange(0.1,0.4); + wait(var_02); + } +} + +//Function Number: 111 +rocket_swarm_get_height_offset(param_00) +{ + if(isdefined(level.mech_swarm_use_two_stage_swarm) && level.mech_swarm_use_two_stage_swarm) + { + return param_00 get_guy_offset(2); + } + + return param_00 get_guy_offset(0); +} + +//Function Number: 112 +rocket_swarm_target_course_change(param_00) +{ + self endon("death"); + self endon("rocket_start_swarm_stage_two"); + for(;;) + { + var_01 = param_00.origin + rocket_swarm_get_height_offset(param_00); + self.forward = vectornormalize(var_01 - self.origin); + wait(0.05); + } +} + +//Function Number: 113 +rocket_swarm_linear_think(param_00,param_01,param_02) +{ + self endon("death"); + self endon("rocket_start_swarm_stage_two"); + self.forward = param_00; + if(param_01) + { + thread rocket_swarm_random_course_change(); + } + + if(isdefined(param_02)) + { + thread rocket_swarm_target_course_change(param_02); + } + + for(;;) + { + var_03 = self.origin; + self.origin = self.origin + self.forward * 150; + wait(0.05); + } +} + +//Function Number: 114 +rocket_two_stage_swarm_think(param_00,param_01,param_02,param_03) +{ + if(!isdefined(level.mech_swarm_use_two_stage_swarm) || !level.mech_swarm_use_two_stage_swarm) + { + return; + } + + var_04 = undefined; + var_05 = undefined; + var_06 = param_01.origin; + while(isvalidmissile(param_00)) + { + if(isdefined(param_01)) + { + var_07 = param_01.origin; + } + else + { + var_07 = var_06; + } + + var_08 = level.mech_swarm_two_stage_swarm_homing_distance; + var_09 = level.mech_swarm_two_stage_swarm_homing_strength; + if(isdefined(param_01.swarm_los_body_behind_cover) && param_01.swarm_los_body_behind_cover) + { + var_08 = 100; + var_09 = 10000; + } + + if(distance2d(param_00.origin,var_07) < var_08 || isdefined(param_00.pathing_done) && param_00.pathing_done) + { + if(isdefined(param_02)) + { + param_02 notify("rocket_start_swarm_stage_two"); + param_02.origin = param_01.origin + param_01 get_guy_offset(0); + param_02 linkto(param_01); + } + + if(isdefined(param_01)) + { + var_04 = missile_createattractorent(param_01,var_09,100000,param_00,1,param_01 get_guy_offset(0)); + } + + break; + } + + if(isdefined(param_01)) + { + var_06 = param_01.origin; + } + + wait 0.05; + } + + if(isvalidmissile(param_00)) + { + var_0A = gettime() + 2000; + while(isvalidmissile(param_00) && gettime() < var_0A) + { + if(!isdefined(param_01)) + { + var_05 = missile_createattractororigin(var_06,500000,100000,param_00,1); + wait(2); + missile_deleteattractor(var_05); + break; + } + + var_06 = param_01.origin; + wait 0.05; + } + } + + if(isdefined(var_04)) + { + missile_deleteattractor(var_04); + } +} + +//Function Number: 115 +rocket_swarm_iterate_next_node(param_00,param_01,param_02,param_03) +{ + self endon("rocket_start_swarm_stage_two"); + self endon("death"); + for(;;) + { + var_04 = param_02[param_03]; + var_05 = var_04.origin + rocket_swarm_get_height_offset(param_00); + var_06 = anglestoforward(param_01.angles); + var_07 = vectornormalize(var_05 - param_01.origin); + var_08 = vectordot(var_06,var_07); + if(var_08 >= 0.7) + { + if(param_03 == param_02.size - 1) + { + self.origin = param_00.origin; + } + else + { + self.origin = var_05; + } + + return param_03; + } + + param_03++; + if(param_03 == param_02.size) + { + self.origin = param_00.origin; + return param_03; + } + } +} + +//Function Number: 116 +rocket_swarm_should_path(param_00,param_01,param_02) +{ + if(!isdefined(param_01) || param_01.size <= 1) + { + return 0; + } + + if(abs(param_02 - param_00.origin[2]) > 80) + { + return 0; + } + + return 1; +} + +//Function Number: 117 +rocket_swarm_path_think(param_00,param_01,param_02,param_03) +{ + self endon("death"); + param_01 endon("death"); + param_00 endon("death"); + if(!isdefined(self) || !isdefined(self.origin) || !isdefined(param_00)) + { + return; + } + + if(!isalive(param_00)) + { + return; + } + + if(!isdefined(param_00)) + { + return; + } + + var_04 = param_00.origin; + if(param_03) + { + var_05 = 50; + var_04 = var_04 + (randomfloatrange(var_05 * -1,var_05),randomfloatrange(var_05 * -1,var_05),0); + } + + var_06 = getnodesonpath(self.origin,var_04); + if(!rocket_swarm_should_path(param_00,var_06,param_02)) + { + var_04 = var_04 + rocket_swarm_get_height_offset(param_00); + var_07 = vectornormalize(var_04 - self.origin); + if(param_03) + { + var_08 = 0.2; + var_07 = vectornormalize(var_07 + (randomfloatrange(var_08 * -1,var_08),randomfloatrange(var_08 * -1,var_08),randomfloatrange(var_08 * -1,var_08))); + thread rocket_swarm_linear_think(var_07,0,undefined); + } + else + { + thread rocket_swarm_linear_think(var_07,0,param_00); + thread rocket_two_stage_swarm_think(param_01,param_00,self,0); + } + + return; + } + + thread rocket_swarm_path_node_think(param_01,param_02,var_07,var_06); + thread rocket_two_stage_swarm_think(param_02,param_01,self,1); +} + +//Function Number: 118 +rocket_swarm_path_node_think(param_00,param_01,param_02,param_03) +{ + self endon("rocket_start_swarm_stage_two"); + var_04 = 0; + while(isdefined(self)) + { + var_05 = self.origin; + var_04 = rocket_swarm_iterate_next_node(param_00,param_01,param_02,var_04); + var_06 = -5; + if(self.origin[2] - var_05[2] < var_06) + { + self.origin = (self.origin[0],self.origin[1],var_05[2] + var_06); + } + + if(var_04 == param_02.size) + { + break; + } + + wait(0.05); + } + + if(isdefined(param_01)) + { + param_01.pathing_done = 1; + } +} + +//Function Number: 119 +rocket_swarm_start_position(param_00,param_01) +{ + var_02 = level.mech_swarm_rocket_max_targets + level.mech_swarm_rocket_dud_max_count; + var_03 = 15; + var_04 = 80; + var_05 = var_04 / 2; + var_06 = var_02 / 2; + var_07 = var_04 / var_06; + var_08 = (150,60,10); + if(param_01 == 0) + { + var_08 = var_08 * (0,1,1); + } + + if(param_01 >= var_06) + { + var_08 = var_08 + (0,0,var_03); + param_01 = param_01 - var_06; + } + else + { + var_08 = var_08 - (0,0,var_03); + } + + var_08 = var_08 + (0,var_07 * param_01 - var_05,0); + var_09 = param_00 + rotatevector(var_08,self getplayerangles()); + return var_09; +} + +//Function Number: 120 +rocket_swarm_death_thread(param_00,param_01,param_02) +{ + param_00 endon("death"); + if(isdefined(param_01)) + { + param_01 endon("death"); + } + + for(;;) + { + if(isdefined(param_01) && distance(param_00.origin,param_01.origin) < 64) + { + param_02 unmark_swarm_target(param_01); + radiusdamage(param_01.origin,128,300,300,param_02); + if(issubstr(param_01.classname,"pdrone")) + { + param_01 notify("death",param_02,"MOD_MECH_SWARM_DESTROY"); + param_01 kill(); + } + + param_00 delete(); + } + + wait(0.05); + } +} + +//Function Number: 121 +rocket_swarm_create_and_manage_attractor(param_00,param_01,param_02) +{ + self.origin = param_00.origin; + missile_createattractorent(self,5000,100000,param_00,1); + rocket_swarm_death_thread(param_00,param_01,param_02); + self delete(); +} + +//Function Number: 122 +rocket_swarm_straight_rocket(param_00,param_01,param_02,param_03) +{ + var_04 = rocket_swarm_start_position(param_00,param_02); + var_05 = magicbullet(self.mechdata.weapon_names["mech_swarm_rocket"],var_04,var_04 + param_01 * 1000,self); + var_06 = common_scripts\utility::spawn_tag_origin(); + var_06 thread rocket_swarm_create_and_manage_attractor(var_05,undefined,self); + var_06 thread rocket_swarm_linear_think(param_01,param_03); +} + +//Function Number: 123 +rocket_swarm() +{ + thread rocket_swarm_fired_rumbles(); + var_00 = self geteye(); + var_01 = vectornormalize(anglestoforward(self getplayerangles())); + if(0) + { + var_02 = sortbydistance(getaiarray("axis"),self.origin); + var_03 = get_front_sorted_threat_list(var_02,var_01); + } + else + { + var_03 = maps\_utility::remove_dead_from_array(self.mechdata.swarm_target_list); + } + + var_04 = 0; + var_05 = 0; + if(var_03.size == 0) + { + rocket_swarm_straight_rocket(var_00,var_01,var_04,0); + var_04++; + wait(0.05); + } + + var_06 = 0; + while(var_03.size && var_04 < level.mech_swarm_rocket_max_targets) + { + var_03 = maps\_utility::remove_dead_from_array(var_03); + if(var_03.size == 0) + { + break; + } + + foreach(var_08 in var_03) + { + if(!isalive(var_08)) + { + break; + } + + var_09 = rocket_swarm_start_position(var_00,var_04); + var_0A = rocket_swarm_end_position(var_09,var_08); + var_0B = magicbullet(self.mechdata.weapon_names["mech_swarm_rocket"],var_09,var_0A,self); + if(isai(var_08) && target_istarget(var_08)) + { + target_setshader(var_08,"ui_playermech_icon_swarm_target"); + } + + var_0C = common_scripts\utility::spawn_tag_origin(); + var_0C thread rocket_swarm_create_and_manage_attractor(var_0B,var_08,self); + var_0C thread rocket_swarm_path_think(var_08,var_0B,self.origin[2],var_06); + var_04++; + if(var_04 >= level.mech_swarm_rocket_max_targets) + { + break; + } + + wait(0.05); + } + + var_05++; + if(var_03.size == 1) + { + if(var_04 == 2) + { + var_06 = 1; + } + + continue; + } + + if(var_05 >= level.mech_swarm_number_of_rockets_per_target) + { + var_06 = 1; + } + } + + var_0E = randomintrange(level.mech_swarm_rocket_dud_min_count,level.mech_swarm_rocket_dud_max_count + 1); + var_0F = var_0E + level.mech_swarm_rocket_max_targets; + while(var_04 < var_0F) + { + rocket_swarm_straight_rocket(var_00,var_01,var_04,1); + wait(0.05); + var_04++; + } +} + +//Function Number: 124 +rocket_swarm_end_position(param_00,param_01) +{ + if(isdefined(level.mech_swarm_use_two_stage_swarm) && level.mech_swarm_use_two_stage_swarm) + { + return param_01.origin + get_guy_offset(2); + } + + var_02 = vectornormalize(param_01.origin - param_00); + return param_00 + var_02 * 1000; +} + +//Function Number: 125 +rocket_swarm_fired_rumbles() +{ + var_00 = level.player maps\_utility::get_rumble_ent("steady_rumble",0); + var_00.intensity = 0.4; + wait(0.1); + var_00.intensity = 0.6; + wait(0.1); + var_00.intensity = 0.8; + wait(0.1); + var_00.intensity = 1; + wait(0.1); + var_00.intensity = 0; +} + +//Function Number: 126 +hide_mech_glass_static_overlay(param_00) +{ + foreach(var_02 in level.player.mechdata.dmg_screen_right) + { + param_00 hidepart(var_02.bone); + } + + foreach(var_02 in level.player.mechdata.dmg_screen_left) + { + param_00 hidepart(var_02.bone); + } +} + +//Function Number: 127 +scripted_screen_flicker_loop(param_00) +{ + self notify("kill_duplicate_scripted_screen_flicker_loop"); + self endon("death"); + self endon("kill_duplicate_scripted_screen_flicker_loop"); + var_01 = -1; + if(isstring(param_00)) + { + self endon(param_00); + } + else if(isdefined(param_00)) + { + var_01 = gettime() + param_00 * 1000; + } + + screen_flicker(undefined,0); + wait(0.1); + screen_flicker(undefined,0); + wait(0.2); + screen_flicker(undefined,0); + while(!isdefined(param_00) || gettime() < var_01) + { + screen_flicker(undefined,1); + wait(2); + } +} + +//Function Number: 128 +unlimited_mech_ammo() +{ + self endon("exit_mech"); + for(;;) + { + foreach(var_01 in self getweaponslistall()) + { + level.player setweaponammostock(var_01,weaponmaxammo(var_01)); + } + + wait(5); + } +} + +//Function Number: 129 +aud_playermech_start() +{ + if(!isdefined(level.player.audio.mech_amb) || level.player.audio.mech_amb == 0) + { + level.player soundscripts\_snd_playsound::snd_play_loop_2d("mech_suit_cockpit_plr","stop_playermech_cockpit",3,2); + level.player.audio.mech_amb = 1; + } + + level.player.audio.mech_steps = 1; + soundscripts\_audio_mix_manager::mm_add_submix("player_mech"); +} + +//Function Number: 130 +aud_playermech_end() +{ + soundscripts\_audio_mix_manager::mm_clear_submix("player_mech"); + level.player.audio.mech_steps = 0; + level.player.audio.mech_amb = 0; + level notify("stop_playermech_cockpit"); +} + +//Function Number: 131 +aud_playermech_foley_override_handler() +{ + level.player endon("death"); + if(!isdefined(level.player.audio)) + { + level.player.audio = spawnstruct(); + } + + if(!isdefined(level.player.audio.mech_steps)) + { + level.player.audio.mech_steps = 0; + } + + level.player waittill("playermech_start"); + for(;;) + { + level.player waittill("foley",var_00,var_01,var_02); + switch(var_00) + { + case "walk": + if(level.player.audio.mech_steps == 1) + { + } + break; + + case "run": + if(level.player.audio.mech_steps == 1) + { + } + break; + + case "sprint": + if(level.player.audio.mech_steps == 1) + { + } + break; + + case "jump": + if(level.player.audio.mech_steps == 1) + { + soundscripts\_snd_playsound::snd_play_2d("mech_jump_plr"); + } + break; + + case "lightland": + if(level.player.audio.mech_steps == 1) + { + soundscripts\_snd_playsound::snd_play_2d("mech_walk_plr"); + soundscripts\_snd_playsound::snd_play_2d("mech_run_plr"); + } + break; + + case "mediumland": + if(level.player.audio.mech_steps == 1) + { + soundscripts\_snd_playsound::snd_play_2d("mech_walk_plr"); + soundscripts\_snd_playsound::snd_play_2d("mech_run_plr"); + } + break; + + case "heavyland": + if(level.player.audio.mech_steps == 1) + { + soundscripts\_snd_playsound::snd_play_2d("mech_walk_plr"); + soundscripts\_snd_playsound::snd_play_2d("mech_run_plr"); + } + break; + + case "damageland": + if(level.player.audio.mech_steps == 1) + { + soundscripts\_snd_playsound::snd_play_2d("mech_walk_plr"); + soundscripts\_snd_playsound::snd_play_2d("mech_run_plr"); + } + break; + + case "stationarycrouchscuff": + break; + + case "stationaryscuff": + break; + + case "crouchscuff": + break; + + case "runscuff": + break; + + case "sprintscuff": + break; + + case "prone": + break; + + case "crouchwalk": + break; + + case "crouchrun": + break; + + case "mantleuphigh": + break; + + case "mantleupmedium": + break; + + case "mantleuplow": + break; + + case "mantleoverhigh": + break; + + case "mantleovermedium": + break; + + case "mantleoverlow": + break; + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/_pmove.gsc b/AW/PC/maps/_pmove.gsc new file mode 100644 index 0000000..e059b53 --- /dev/null +++ b/AW/PC/maps/_pmove.gsc @@ -0,0 +1,264 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _pmove.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 6 + * Decompile Time: 107 ms + * Timestamp: 4/22/2024 2:22:25 AM +*******************************************************************/ + +//Function Number: 1 +pm_projectvelocity(param_00,param_01) +{ + var_02 = lengthsquared((param_00[0],param_00[1],0)); + if(abs(param_01[2]) < 0.001 || var_02 <= 0.0001) + { + } + else + { + var_03 = -1 * param_00[0] * param_01[0] + param_00[1] * param_01[1] / param_01[2]; + var_04 = (param_00[0],param_00[1],var_03); + var_05 = var_02 + param_00[2] * param_00[2]; + var_06 = var_02 + var_03 * var_03; + var_07 = sqrt(var_05 / var_06); + if(var_07 < 1 || var_03 < 0 || param_00[2] > 0) + { + param_00 = var_07 * param_00; + } + } + + return param_00; +} + +//Function Number: 2 +pm_clipvelocity(param_00,param_01) +{ + var_02 = vectordot(param_00,param_01); + var_02 = var_02 - 0.001 * abs(var_02); + param_00 = param_00 - var_02 * param_01; + return param_00; +} + +//Function Number: 3 +pm_permuterestrictiveclipplanes(param_00,param_01,param_02) +{ + var_03 = []; + for(var_04 = 0;var_04 < param_01.size;var_04++) + { + var_03[var_04] = vectordot(param_00,param_01[var_04]); + for(var_05 = var_04;var_05 > 0;var_05--) + { + if(var_03[param_02[var_05 - 1]] < var_03[var_04]) + { + break; + } + + param_02[var_05] = param_02[var_05 - 1]; + } + + param_02[var_05] = var_04; + } + + var_06["parallel"] = var_03[param_02[0]]; + var_06["permutation"] = param_02; + return var_06; +} + +//Function Number: 4 +pm_slidemove(param_00,param_01,param_02) +{ + var_03 = 4; + var_04 = param_00.vel; + var_05 = param_00.vel; + var_06 = 0.05; + var_07[0] = param_01; + var_07[1] = vectornormalize(param_00.vel); + var_08 = []; + for(var_09 = 0;var_09 < var_03;var_09++) + { + var_0A = param_00.origin + var_06 * param_00.vel; + var_0B = playerphysicstraceinfo(param_00.origin,var_0A,self); + var_0C = var_0B["position"]; + if(var_0B["fraction"] < 1) + { + param_01 = var_0B["normal"]; + } + else + { + param_01 = (0,0,0); + } + + var_0D = var_0B["fraction"]; + if(var_0D > 0) + { + param_00.origin = var_0C; + } + + var_06 = var_06 - var_06 * var_0D; + if(var_07.size >= 8) + { + param_00.vel = (0,0,0); + return 1; + } + + for(var_0E = 0;var_0E < var_07.size;var_0E++) + { + if(vectordot(param_01,var_07[var_0E]) > 0.999) + { + param_00.vel = pm_clipvelocity(param_00.vel,param_01); + param_00.vel = param_00.vel + param_01; + break; + } + } + + if(var_0E < var_07.size) + { + continue; + } + + var_07[var_07.size] = param_01; + var_0F = pm_permuterestrictiveclipplanes(param_00.vel,var_07,var_08); + var_10 = var_0F["parallel"]; + var_08 = var_0F["permutation"]; + if(var_10 >= 0.1) + { + continue; + } + + var_11 = pm_clipvelocity(param_00.vel,var_07[var_08[0]]); + var_12 = pm_clipvelocity(var_05,var_07[var_08[0]]); + for(var_13 = 1;var_13 < var_07.size;var_13++) + { + if(vectordot(var_11,var_07[var_08[var_13]]) >= 0.1) + { + continue; + } + + var_11 = pm_clipvelocity(var_11,var_07[var_08[var_13]]); + var_12 = pm_clipvelocity(var_12,var_07[var_08[var_13]]); + if(vectordot(var_11,var_07[var_08[0]]) >= 0) + { + continue; + } + + var_14 = vectorcross(var_07[var_08[0]],var_07[var_08[var_13]]); + var_14 = vectornormalize(var_14); + var_15 = vectordot(var_14,param_00.vel); + var_11 = var_15 * var_14; + var_15 = vectordot(var_14,var_05); + var_05 = var_15 * var_14; + for(var_16 = 1;var_16 < var_07.size;var_16++) + { + if(var_16 == var_13) + { + continue; + } + + if(vectordot(var_11,var_07[var_08[var_16]]) >= 0.1) + { + continue; + } + + param_00.vel = (0,0,0); + return 1; + } + } + + param_00.velocity = var_11; + var_05 = var_12; + } + + if(param_02) + { + param_00.vel = var_05; + } + + return var_09 != 0; +} + +//Function Number: 5 +vec2dot(param_00,param_01) +{ + return param_00[0] * param_01[0] + param_00[1] * param_01[1]; +} + +//Function Number: 6 +pm_stepslidemove(param_00,param_01,param_02) +{ + var_03 = param_00.origin; + var_04 = param_00.vel; + var_05 = pm_slidemove(param_00,param_01,param_02); + var_06 = 18; + var_07 = 18; + var_08 = 1; + var_09 = param_00.origin; + var_0A = param_00.vel; + var_0B = var_09 - var_03; + var_0C = 0; + if(var_05 || param_01[2] < 0.9) + { + var_0D = var_03 + (0,0,var_06 + 1); + var_0E = playerphysicstraceinfo(var_03,var_0D,self); + var_0C = var_0E["fraction"] * var_06 + 1 - 1; + if(var_0C < 1) + { + var_0C = 0; + } + else + { + param_00.origin = (var_0D[0],var_0D[1],var_03[2] + var_0C); + param_00.vel = var_04; + pm_slidemove(param_00,param_01,param_02); + } + } + + if(var_08 || var_0C) + { + var_0F = param_00.origin - (0,0,var_0C); + if(var_08) + { + var_0F = var_0F - (0,0,var_07 * 0.5); + } + + var_0E = playerphysicstraceinfo(param_00.origin,var_0F,self); + if(var_0E["fraction"] < 1) + { + param_00.origin = var_0E["position"]; + if(var_0C && param_00.origin[2] - max(var_09[2],var_03[2]) > 2 * var_06 * var_0E["normal"][2]) + { + param_00.origin = var_09; + param_00.vel = var_0A; + return; + } + + param_00.vel = pm_projectvelocity(param_00.vel,var_0E["normal"]); + } + else if(var_0C) + { + param_00.origin = param_00.origin - (0,0,var_0C); + } + } + + var_10 = param_00.origin - var_03; + var_10 = (var_10[0],var_10[1],0); + var_11 = vec2dot(var_10,var_04) <= vec2dot(var_0B,var_04) + 0.001; + if(var_11) + { + var_09 = param_00.origin; + var_0A = param_00.vel; + var_0C = 0; + if(var_08) + { + var_0F = param_00.origin - (0,0,var_07 * 0.5); + var_0E = playerphysicstraceinfo(param_00.origin,var_0F,self); + if(var_0E["fraction"] < 1) + { + var_0C = var_0E["position"][2] - param_00.origin[2]; + param_00.origin = var_0E["position"]; + param_00.vel = pm_clipvelocity(param_00.vel,var_0E["normal"]); + return; + } + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/_president.gsc b/AW/PC/maps/_president.gsc new file mode 100644 index 0000000..27a2863 --- /dev/null +++ b/AW/PC/maps/_president.gsc @@ -0,0 +1,98 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _president.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 2:22:26 AM +*******************************************************************/ + +//Function Number: 1 +delicate_flower() +{ + self endon("death"); + var_00 = 0; + for(;;) + { + self waittill("damage",var_01,var_02,var_03,var_04,var_05); + var_00 = var_00 + var_01; + if(var_05 == "MOD_IMPACT") + { + continue; + } + + if(var_00 < 5) + { + continue; + } + + if(isplayer(var_02)) + { + break; + } + } + + if(self.damageshield) + { + maps\_utility::stop_magic_bullet_shield(); + } + + setdvar("ui_deadquote",&"RECOVERY_PRESIDENT_MURDERED"); + thread maps\_utility::missionfailedwrapper(); + self kill(); +} + +//Function Number: 2 +set_president_anims() +{ + if(isdefined(self.ispresident)) + { + return; + } + + self.ispresident = 1; + self.team = "allies"; + self.type = "human"; + self.alertlevel = "noncombat"; + self.alertlevelint = 0; + self.a.disablepain = 1; + self pushplayer(1); + thread delicate_flower(); + maps\_utility::gun_remove(); + var_00 = ["exposed","exposed_crouch"]; + var_01[1] = %rec_president_walk_arrive_1; + var_01[2] = %rec_president_walk_arrive_2; + var_01[3] = %rec_president_walk_arrive_3; + var_01[4] = %rec_president_walk_arrive_4; + var_01[6] = %rec_president_walk_arrive_6; + var_01[7] = %rec_president_walk_arrive_7; + var_01[8] = %rec_president_walk_arrive_8; + var_01[9] = %rec_president_walk_arrive_9; + var_02[1] = %rec_president_walk_exit_1; + var_02[2] = %rec_president_walk_exit_2; + var_02[3] = %rec_president_walk_exit_3; + var_02[4] = %rec_president_walk_exit_4; + var_02[6] = %rec_president_walk_exit_6; + var_02[7] = %rec_president_walk_exit_7; + var_02[8] = %rec_president_walk_exit_8; + var_02[9] = %rec_president_walk_exit_9; + var_03[0] = %rec_president_run_turn_2; + var_03[1] = %rec_president_run_turn_1; + var_03[2] = %rec_president_run_turn_4; + var_03[3] = %rec_president_run_turn_7; + var_03[5] = %rec_president_run_turn_9; + var_03[6] = %rec_president_run_turn_6; + var_03[7] = %rec_president_run_turn_3; + var_03[8] = %rec_president_run_turn_2; + var_04["stairs_down"] = %rec_stairs_run_down; + var_04["stairs_down_in"] = %rec_stairs_run_down_in; + var_04["stairs_down_out"] = %rec_stairs_run_down_out; + maps\_utility::set_npc_anims("president",%rec_president_run,%rec_president_run,[%rec_president_crouch_idle],var_01,var_02,var_00,var_03,var_03,var_04); +} + +//Function Number: 3 +clear_president_anims() +{ + maps\_utility::clear_npc_anims("president"); +} \ No newline at end of file diff --git a/AW/PC/SP/maps/_props.gsc b/AW/PC/maps/_props.gsc similarity index 98% rename from AW/PC/SP/maps/_props.gsc rename to AW/PC/maps/_props.gsc index 9843b10..4cf9ffb 100644 --- a/AW/PC/SP/maps/_props.gsc +++ b/AW/PC/maps/_props.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_props.gsc + * Decompiled File: _props.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 17 - * Decompile Time: 297 ms - * Timestamp: 10/27/2023 2:00:18 AM + * Decompile Time: 251 ms + * Timestamp: 4/22/2024 2:22:27 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/_rambo.gsc b/AW/PC/maps/_rambo.gsc new file mode 100644 index 0000000..1ea181f --- /dev/null +++ b/AW/PC/maps/_rambo.gsc @@ -0,0 +1,86 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _rambo.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 4 + * Decompile Time: 77 ms + * Timestamp: 4/22/2024 2:22:27 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(isdefined(level.ramboanims)) + { + return; + } + + if(!isdefined(level.subclass_spawn_functions)) + { + level.subclass_spawn_functions = []; + } + + level.subclass_spawn_functions["militia"] = ::enable_militia_behavior; + anim.ramboanims = spawnstruct(); + level.ramboanims.coverleft90 = animscripts\utility::array(%favela_chaotic_cornerl_hop90,%favela_chaotic_cornerl_high90,%favela_chaotic_cornerl_mid90); + level.ramboanims.coverleft45 = animscripts\utility::array(%favela_chaotic_cornerl_high45,%favela_chaotic_cornerl_mid45); + level.ramboanims.coverleftgrenade = %favela_chaotic_cornerl_grenade; + level.ramboanims.coverright90 = animscripts\utility::array(%favela_chaotic_cornerr_med90,%favela_chaotic_cornerr_low90,%favela_chaotic_cornerr_high90); + level.ramboanims.coverright45 = animscripts\utility::array(%favela_chaotic_cornerr_med45,%favela_chaotic_cornerr_low45,%favela_chaotic_cornerr_high45); + level.ramboanims.coverrightgrenade = %favela_chaotic_cornerr_grenade; + level.ramboanims.coverstand = animscripts\utility::array(%favela_chaotic_standcover_firea,%favela_chaotic_standcover_fireb,%favela_chaotic_standcover_firec); + level.ramboanims.coverstandfail = animscripts\utility::array(%favela_chaotic_standcover_gunjama,%favela_chaotic_standcover_gunjamb); + level.ramboanims.coverstandgrenade = animscripts\utility::array(%favela_chaotic_standcover_grenadefirea); + level.ramboanims.covercrouch = animscripts\utility::array(%favela_chaotic_crouchcover_firea,%favela_chaotic_crouchcover_fireb,%favela_chaotic_crouchcover_firec); + level.ramboanims.covercrouchfail = animscripts\utility::array(%favela_chaotic_crouchcover_gunjama,%favela_chaotic_crouchcover_gunjamb); + level.ramboanims.covercrouchgrenade = animscripts\utility::array(%favela_chaotic_crouchcover_grenadefirea); + setrambogrenadeoffsets(); +} + +//Function Number: 2 +setrambogrenadeoffsets() +{ + animscripts\combat_utility::addgrenadethrowanimoffset(%favela_chaotic_cornerr_grenade,(52.4535,10.107,64.2898)); + animscripts\combat_utility::addgrenadethrowanimoffset(%favela_chaotic_cornerl_grenade,(19.1753,-18.9954,49.3355)); + animscripts\combat_utility::addgrenadethrowanimoffset(%favela_chaotic_standcover_grenadefirea,(6.66898,-0.135193,72.117)); + animscripts\combat_utility::addgrenadethrowanimoffset(%favela_chaotic_crouchcover_grenadefirea,(4.53614,-10.4574,59.7186)); +} + +//Function Number: 3 +enable_militia_behavior() +{ + if(self.type == "dog") + { + return; + } + + self.neverenablecqb = 1; + self.maxfaceenemydist = 256; + if(animscripts\combat_utility::islongrangeai()) + { + return; + } + + if(animscripts\utility::isshotgun(self.weapon)) + { + return; + } + + self.disable_blindfire = undefined; + self.favor_blindfire = 1; + self.rambochance = 0.9; + self.ramboaccuracymult = 1; + self.baseaccuracy = 0.75; + self.neversprintforvariation = undefined; +} + +//Function Number: 4 +disable_militia_behavior() +{ + self.favor_blindfire = undefined; + self.rambochance = undefined; + self.neverenablecqb = 0; + self.maxfaceenemydist = 512; + self.ramboaccuracymult = undefined; +} \ No newline at end of file diff --git a/AW/PC/maps/_riotshield.gsc b/AW/PC/maps/_riotshield.gsc new file mode 100644 index 0000000..a4db1d3 --- /dev/null +++ b/AW/PC/maps/_riotshield.gsc @@ -0,0 +1,466 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _riotshield.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 24 + * Decompile Time: 379 ms + * Timestamp: 4/22/2024 2:22:29 AM +*******************************************************************/ + +//Function Number: 1 +init_riotshield() +{ + if(isdefined(level.riotshield_initialized)) + { + return; + } + + level.riotshield_initialized = 1; + level._effect["riot_shield_dmg"] = loadfx("fx/misc/riot_shield_dmg"); + if(!isdefined(level.subclass_spawn_functions)) + { + level.subclass_spawn_functions = []; + } + + level.subclass_spawn_functions["riotshield"] = ::subclass_riotshield; + animscripts\riotshield\riotshield::init_riotshield_ai_anims(); +} + +//Function Number: 2 +subclass_riotshield() +{ + animscripts\riotshield\riotshield::init_riotshield_ai(); +} + +//Function Number: 3 +riotshield_sprint_on() +{ + animscripts\riotshield\riotshield::riotshield_sprint_on(); +} + +//Function Number: 4 +riotshield_fastwalk_on() +{ + animscripts\riotshield\riotshield::riotshield_fastwalk_on(); +} + +//Function Number: 5 +riotshield_sprint_off() +{ + animscripts\riotshield\riotshield::riotshield_sprint_off(); +} + +//Function Number: 6 +riotshield_fastwalk_off() +{ + animscripts\riotshield\riotshield::riotshield_fastwalk_off(); +} + +//Function Number: 7 +riotshield_flee() +{ + if(self.subclass != "riotshield") + { + return; + } + + self.combatmode = "cover"; + self.goalradius = 2048; + animscripts\riotshield\riotshield::riotshield_init_flee(); + var_00 = self findbestcovernode(); + if(isdefined(var_00)) + { + self usecovernode(var_00); + } +} + +//Function Number: 8 +group_create(param_00,param_01,param_02) +{ + var_03 = []; + foreach(var_05 in param_00) + { + if(var_05.combatmode != "no_cover") + { + continue; + } + + var_03[var_03.size] = var_05; + } + + var_07 = spawnstruct(); + foreach(var_05 in var_03) + { + if(isdefined(var_05.group) && isdefined(var_05.group.ai_array)) + { + var_05.group.ai_array = common_scripts\utility::array_remove(var_05.group.ai_array,var_05); + } + + var_05.group = var_07; + } + + var_07.ai_array = var_03; + var_07.fleethreshold = 1; + var_07.spacing = 50; + var_07 thread group_check_deaths(); + return var_07; +} + +//Function Number: 9 +group_initialize_formation(param_00,param_01) +{ + self.ai_array = maps\_utility::array_removedead(self.ai_array); + self.forward = param_00; + if(isdefined(param_01)) + { + self.spacing = param_01; + } + + foreach(var_03 in self.ai_array) + { + var_03.goalradius = 25; + var_03.pathenemyfightdist = 128; + var_03.pathenemylookahead = 128; + } + + group_sort_by_closest_match(); + thread check_group_facing_forward(); +} + +//Function Number: 10 +group_resort_on_deaths() +{ + self endon("break_group"); + if(self.ai_array.size == 0) + { + return; + } + + while(self.ai_array.size) + { + maps\_utility::waittill_dead(self.ai_array,1); + if(self.group_move_mode != "stopped") + { + self waittill("goal"); + } + + self.ai_array = maps\_utility::array_removedead(self.ai_array); + group_sort_by_closest_match(); + } +} + +//Function Number: 11 +group_sort_by_closest_match(param_00) +{ + if(self.ai_array.size == 0) + { + return; + } + + if(isdefined(param_00)) + { + self.forward = param_00; + } + else + { + param_00 = self.forward; + } + + var_01 = group_center(); + var_02 = (self.forward[1],-1 * self.forward[0],0); + var_03 = var_02 * self.spacing; + var_04 = group_left_corner(var_01,var_03); + var_05 = []; + for(var_06 = 0;var_06 < self.ai_array.size;var_06++) + { + if(isdefined(self.ai_array[var_06])) + { + var_05[var_06] = vectordot(var_04 - self.ai_array[var_06].origin,var_02); + continue; + } + + var_05[var_06] = 0; + } + + for(var_06 = 1;var_06 < var_05.size;var_06++) + { + var_07 = var_05[var_06]; + var_08 = self.ai_array[var_06]; + for(var_09 = var_06 - 1;var_09 >= 0;var_09--) + { + if(var_07 < var_05[var_09]) + { + break; + } + + var_05[var_09 + 1] = var_05[var_09]; + self.ai_array[var_09 + 1] = self.ai_array[var_09]; + } + + var_05[var_09 + 1] = var_07; + self.ai_array[var_09 + 1] = var_08; + } +} + +//Function Number: 12 +group_check_deaths() +{ + for(;;) + { + if(self.fleethreshold > 0) + { + self.ai_array = maps\_utility::array_removedead(self.ai_array); + if(self.ai_array.size <= self.fleethreshold) + { + foreach(var_01 in self.ai_array) + { + var_01 riotshield_flee(); + } + + self notify("break_group"); + break; + } + } + + wait(1); + } +} + +//Function Number: 13 +group_left_corner(param_00,param_01) +{ + return param_00 - self.ai_array.size - 1 / 2 * param_01; +} + +//Function Number: 14 +group_move(param_00,param_01) +{ + self notify("new_goal_set"); + self.group_move_mode = "moving"; + if(isdefined(param_01)) + { + self.forward = param_01; + } + else + { + param_01 = self.forward; + } + + var_02 = (param_01[1],-1 * param_01[0],0); + var_03 = var_02 * self.spacing; + var_04 = group_left_corner(param_00,var_03); + for(var_05 = 0;var_05 < self.ai_array.size;var_05++) + { + var_06 = self.ai_array[var_05]; + if(isdefined(var_06)) + { + var_06 setgoalpos(var_04); + } + + var_04 = var_04 + var_03; + } + + thread check_group_at_goal(); +} + +//Function Number: 15 +check_group_at_goal() +{ + self endon("new_goal_set"); + for(;;) + { + wait(0.5); + var_00 = 0; + foreach(var_02 in self.ai_array) + { + if(isdefined(var_02) && isalive(var_02)) + { + var_00++; + } + } + + var_04 = 0; + for(var_05 = 0;var_05 < self.ai_array.size;var_05++) + { + var_02 = self.ai_array[var_05]; + if(isdefined(var_02)) + { + var_06 = max(45,var_02.goalradius); + if(distancesquared(var_02.origin,var_02.goalpos) < squared(var_06)) + { + var_04++; + } + } + } + + if(var_04 == var_00) + { + self notify("goal"); + self.group_move_mode = "stopped"; + } + } +} + +//Function Number: 16 +check_group_facing_forward() +{ + self endon("break_group"); + for(;;) + { + wait(0.5); + var_00 = 0; + foreach(var_02 in self.ai_array) + { + if(isdefined(var_02) && isalive(var_02)) + { + var_00++; + } + } + + var_04 = 0; + var_05 = vectortoyaw(self.forward); + for(var_06 = 0;var_06 < self.ai_array.size;var_06++) + { + var_02 = self.ai_array[var_06]; + if(isdefined(var_02)) + { + if(abs(var_02.angles[1] - var_05) < 45) + { + var_04++; + } + } + } + + if(var_04 == var_00) + { + self notify("goal_yaw"); + } + } +} + +//Function Number: 17 +group_sprint_on() +{ + foreach(var_01 in self.ai_array) + { + if(isalive(var_01)) + { + var_01 riotshield_sprint_on(); + } + } +} + +//Function Number: 18 +group_fastwalk_on() +{ + foreach(var_01 in self.ai_array) + { + if(isalive(var_01)) + { + var_01 riotshield_fastwalk_on(); + } + } +} + +//Function Number: 19 +group_sprint_off() +{ + foreach(var_01 in self.ai_array) + { + if(isalive(var_01)) + { + var_01 riotshield_sprint_off(); + } + } +} + +//Function Number: 20 +group_fastwalk_off() +{ + foreach(var_01 in self.ai_array) + { + if(isalive(var_01)) + { + var_01 riotshield_fastwalk_off(); + } + } +} + +//Function Number: 21 +group_lock_angles(param_00) +{ + self.forward = param_00; + var_01 = vectortoyaw(param_00); + foreach(var_03 in self.ai_array) + { + if(!isdefined(var_03)) + { + continue; + } + + if(isdefined(var_03.enemy) && distancesquared(var_03.origin,var_03.enemy.origin) < squared(var_03.pathenemyfightdist)) + { + continue; + } + + var_03 orientmode("face angle",var_01); + var_03.lockorientation = 1; + } + + wait(0.1); +} + +//Function Number: 22 +group_unlock_angles() +{ + foreach(var_01 in self.ai_array) + { + if(!isdefined(var_01)) + { + continue; + } + + var_01 orientmode("face default"); + var_01.lockorientation = 0; + } +} + +//Function Number: 23 +group_free_combat() +{ + group_unlock_angles(); + foreach(var_01 in self.ai_array) + { + if(!isdefined(var_01)) + { + continue; + } + + var_01.goalradius = 2048; + var_01.pathenemyfightdist = 400; + var_01.pathenemylookahead = 400; + } +} + +//Function Number: 24 +group_center() +{ + var_00 = (0,0,0); + var_01 = 0; + foreach(var_03 in self.ai_array) + { + if(isdefined(var_03)) + { + var_00 = var_00 + var_03.origin; + var_01++; + } + } + + if(var_01) + { + var_00 = 1 / var_01 * var_00; + } + + return var_00; +} \ No newline at end of file diff --git a/AW/PC/SP/maps/_sarray.gsc b/AW/PC/maps/_sarray.gsc similarity index 95% rename from AW/PC/SP/maps/_sarray.gsc rename to AW/PC/maps/_sarray.gsc index b0bb064..2583f79 100644 --- a/AW/PC/SP/maps/_sarray.gsc +++ b/AW/PC/maps/_sarray.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_sarray.gsc + * Decompiled File: _sarray.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 10 * Decompile Time: 162 ms - * Timestamp: 10/27/2023 2:00:19 AM + * Timestamp: 4/22/2024 2:22:29 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_shg_anim.gsc b/AW/PC/maps/_shg_anim.gsc similarity index 98% rename from AW/PC/SP/maps/_shg_anim.gsc rename to AW/PC/maps/_shg_anim.gsc index f14d699..ba2c464 100644 --- a/AW/PC/SP/maps/_shg_anim.gsc +++ b/AW/PC/maps/_shg_anim.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_shg_anim.gsc + * Decompiled File: _shg_anim.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 10 - * Decompile Time: 148 ms - * Timestamp: 10/27/2023 2:00:20 AM + * Decompile Time: 193 ms + * Timestamp: 4/22/2024 2:22:30 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_shg_debug.gsc b/AW/PC/maps/_shg_debug.gsc similarity index 93% rename from AW/PC/SP/maps/_shg_debug.gsc rename to AW/PC/maps/_shg_debug.gsc index 16d336f..7b7e0a9 100644 --- a/AW/PC/SP/maps/_shg_debug.gsc +++ b/AW/PC/maps/_shg_debug.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_shg_debug.gsc + * Decompiled File: _shg_debug.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 8 - * Decompile Time: 118 ms - * Timestamp: 10/27/2023 2:00:21 AM + * Decompile Time: 140 ms + * Timestamp: 4/22/2024 2:22:31 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_shg_design_tools.gsc b/AW/PC/maps/_shg_design_tools.gsc similarity index 96% rename from AW/PC/SP/maps/_shg_design_tools.gsc rename to AW/PC/maps/_shg_design_tools.gsc index fe2d9fa..9e03819 100644 --- a/AW/PC/SP/maps/_shg_design_tools.gsc +++ b/AW/PC/maps/_shg_design_tools.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_shg_design_tools.gsc + * Decompiled File: _shg_design_tools.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 54 - * Decompile Time: 874 ms - * Timestamp: 10/27/2023 2:00:24 AM + * Decompile Time: 848 ms + * Timestamp: 4/22/2024 2:22:34 AM *******************************************************************/ //Function Number: 1 @@ -1095,10 +1095,10 @@ convert_8bit_color(param_00) } //Function Number: 53 -get_standard_glow_text(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +get_standard_glow_text(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) { - var_0A = param_00; - var_0B = param_05 * param_02 + param_01; + var_08 = param_00; + var_09 = param_05 * param_02 + param_01; if(!isdefined(param_06)) { param_06 = (0.8,1,0.8); @@ -1119,32 +1119,22 @@ get_standard_glow_text(param_00,param_01,param_02,param_03,param_04,param_05,par param_04 = "middle"; } - if(!isdefined(param_08)) - { - param_08 = "center"; - } - - if(!isdefined(param_09)) - { - param_09 = "middle"; - } - - var_0C = newclienthudelem(level.player); - var_0C.alignx = param_03; - var_0C.aligny = param_04; - var_0C.horzalign = param_08; - var_0C.vertalign = param_09; - var_0C.x = var_0A; - var_0C.y = var_0B; - var_0C.fontscale = 1.6; - var_0C.color = param_06; - var_0C.font = "objective"; - var_0C.glowcolor = param_07; - var_0C.glowalpha = 1; - var_0C.foreground = 1; - var_0C.hidewheninmenu = 1; - var_0C.hidewhendead = 1; - return var_0C; + var_0A = newclienthudelem(level.player); + var_0A.alignx = param_03; + var_0A.aligny = param_04; + var_0A.horzalign = "center"; + var_0A.vertalign = "middle"; + var_0A.x = var_08; + var_0A.y = var_09; + var_0A.fontscale = 1.6; + var_0A.color = param_06; + var_0A.font = "objective"; + var_0A.glowcolor = param_07; + var_0A.glowalpha = 1; + var_0A.foreground = 1; + var_0A.hidewheninmenu = 1; + var_0A.hidewhendead = 1; + return var_0A; } //Function Number: 54 diff --git a/AW/PC/SP/maps/_shg_fx.gsc b/AW/PC/maps/_shg_fx.gsc similarity index 99% rename from AW/PC/SP/maps/_shg_fx.gsc rename to AW/PC/maps/_shg_fx.gsc index d6f92c6..e2f96e0 100644 --- a/AW/PC/SP/maps/_shg_fx.gsc +++ b/AW/PC/maps/_shg_fx.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_shg_fx.gsc + * Decompiled File: _shg_fx.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 61 - * Decompile Time: 937 ms - * Timestamp: 10/27/2023 2:00:27 AM + * Decompile Time: 870 ms + * Timestamp: 4/22/2024 2:22:37 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_shg_utility.gsc b/AW/PC/maps/_shg_utility.gsc similarity index 98% rename from AW/PC/SP/maps/_shg_utility.gsc rename to AW/PC/maps/_shg_utility.gsc index 3acf67e..438a1eb 100644 --- a/AW/PC/SP/maps/_shg_utility.gsc +++ b/AW/PC/maps/_shg_utility.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_shg_utility.gsc + * Decompiled File: _shg_utility.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 57 - * Decompile Time: 878 ms - * Timestamp: 10/27/2023 2:00:30 AM + * Decompile Time: 877 ms + * Timestamp: 4/22/2024 2:22:40 AM *******************************************************************/ //Function Number: 1 @@ -1136,69 +1136,69 @@ hint_button_string_lookup(param_00) case "use": case "x": case "reload": - break; + return "^3[{+activate}]^7"; case "gostand": case "jump": case "a": - break; + return "^3[{+gostand}]^7"; case "weapnext": case "y": - break; + return "^3[{weapnext}]^7"; case "stance": case "b": case "crouch": - break; + return "^3[{+stance}]^7"; case "rs": case "melee": - break; + return "^3[{+melee}]^7"; case "breath": case "ls": case "sprint": - break; + return "^3[{+sprint}]^7"; case "r1": case "rt": case "attack": - break; + return "^3[{+attack}]^7"; case "frag": case "r2": case "rb": case "grenade": - break; + return "^3[{+frag}]^7"; case "ads": case "l1": case "lt": - break; + return "^3[{+ads}]^7"; case "flash": case "smoke": case "l2": case "lb": case "flashbang": - break; + return "^3[{+smoke}]^7"; case "pause": case "start": - break; + return "^3[{pause}]^7"; case "up": - break; + return "^3[{+actionslot 1}]^7"; case "down": - break; + return "^3[{+actionslot 2}]^7"; case "left": - break; + return "^3[{+actionslot 3}]^7"; case "right": - break; + return "^3[{+actionslot 4}]^7"; default: break; diff --git a/AW/PC/maps/_slowmo_breach.gsc b/AW/PC/maps/_slowmo_breach.gsc new file mode 100644 index 0000000..9c5513d --- /dev/null +++ b/AW/PC/maps/_slowmo_breach.gsc @@ -0,0 +1,3698 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _slowmo_breach.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 130 + * Decompile Time: 1875 ms + * Timestamp: 4/22/2024 2:22:46 AM +*******************************************************************/ + +//Function Number: 1 +slowmo_breach_init() +{ + level.last_player_damage = 0; + level.slomobreachduration = 3.5; + level.breachenemies_active = 0; + level.breachignoreenemy_count = 0; + level.player_one_already_breached = undefined; + level.breachenemies_alive = 0; + level.has_special_breach_anim = []; + level.breach_passive_time = 0; + slomo_sound_scale_setup(); + setdvarifuninitialized("breach_debug","0"); + setdvarifuninitialized("breach_requires_friendlies_in_position","1"); + setdvarifuninitialized("hostage_missionfail","0"); + precacheitem("usp_scripted"); + precacheshader("breach_icon"); + precachemodel("weapon_parabolic_knife"); + precachestring(&"SCRIPT_WAYPOINT_BREACH"); + precachestring(&"SCRIPT_PLATFORM_BREACH_ACTIVATE"); + precachestring(&"SCRIPT_BREACH_NEED_PLAYER"); + precachestring(&"SCRIPT_BREACH_NEED_FRIENDLY"); + precachestring(&"SCRIPT_BREACH_TOO_MANY_ENEMIES"); + precachestring(&"SCRIPT_BREACH_ILLEGAL_WEAPON"); + precachestring(&"SCRIPT_BREACH_PARTNER_NOT_READY"); + precachestring(&"SCRIPT_BREACH_YOU_NOT_READY"); + precachestring(&"SCRIPT_MISSIONFAIL_KILLEDHOSTAGE_THROUGH_ENEMY"); + precachestring(&"SCRIPT_MISSIONFAIL_KILLEDHOSTAGE"); + precachestring(&"SCRIPT_MISSIONFAIL_HOSTAGEEXECUTED"); + precachestring(&"SCRIPT_MISSIONFAIL_HOSTAGEEXECUTED_USEMULTIDOOR"); + precachestring(&"SCRIPT_BREACH_RELOADING"); + level._slowmo_functions = []; + level._effect["breach_door"] = loadfx("vfx/explosion/breach_door"); + level._effect["breach_room"] = loadfx("vfx/explosion/breach_room"); + level._effect["breach_room_residual"] = loadfx("vfx/explosion/breach_room_residual"); + level._effect["breach_knife_execution"] = loadfx("vfx/blood/blood_hit_knife"); + script_models(); + player_animations(); + friendly_animations(); + breach_anims(); + create_slowmo_breaches_from_entities(); + var_00 = getentarray("trigger_multiple_breachIcon","classname"); + common_scripts\utility::array_thread(var_00,::icon_trigger_setup); + var_01 = getentarray("breach_solid_delete","targetname"); + common_scripts\utility::array_call(var_01,::connectpaths); + common_scripts\utility::array_thread(var_01,::maps\_utility::self_delete); + var_01 = getentarray("breach_delete","targetname"); + common_scripts\utility::array_thread(var_01,::maps\_utility::self_delete); + var_02 = getentarray("breach_fx","targetname"); + common_scripts\utility::array_thread(var_02,::breach_fx_setup); + level.has_special_breach_anim["aa12"] = 1; + level.has_special_breach_anim["aa12_reflex"] = 1; + level.has_special_breach_anim["aug_reflex"] = 1; + level.has_special_breach_anim["aug_scope"] = 1; + level.has_special_breach_anim["barrett"] = 1; + level.has_special_breach_anim["beretta"] = 1; + level.has_special_breach_anim["beretta393"] = 1; + level.has_special_breach_anim["cheytac_silencer"] = 1; + level.has_special_breach_anim["fal"] = 1; + level.has_special_breach_anim["fal_acog"] = 1; + level.has_special_breach_anim["fal_reflex"] = 1; + level.has_special_breach_anim["fal_shotgun"] = 1; + level.has_special_breach_anim["fal_shotgun_attach"] = 1; + level.has_special_breach_anim["famas"] = 1; + level.has_special_breach_anim["famas_arctic"] = 1; + level.has_special_breach_anim["famas_arctic_eotech"] = 1; + level.has_special_breach_anim["famas_arctic_reflex"] = 1; + level.has_special_breach_anim["famas_mp2"] = 1; + level.has_special_breach_anim["famas_shotgun"] = 1; + level.has_special_breach_anim["famas_shotgun_attach"] = 1; + level.has_special_breach_anim["famas_woodland"] = 1; + level.has_special_breach_anim["famas_woodland_eotech"] = 1; + level.has_special_breach_anim["famas_woodland_acog"] = 1; + level.has_special_breach_anim["famas_woodland_reflex"] = 1; + level.has_special_breach_anim["famas_woodland_shotgun"] = 1; + level.has_special_breach_anim["famas_woodland_shotgun_attach"] = 1; + level.has_special_breach_anim["fn2000"] = 1; + level.has_special_breach_anim["fn2000_acog"] = 1; + level.has_special_breach_anim["fn2000_eotech"] = 1; + level.has_special_breach_anim["fn2000_reflex"] = 1; + level.has_special_breach_anim["fn2000_scope"] = 1; + level.has_special_breach_anim["fn2000_shotgun"] = 1; + level.has_special_breach_anim["fn2000_shotgun_attach"] = 1; + level.has_special_breach_anim["fn2000_silencer"] = 1; + level.has_special_breach_anim["fn2000_thermal"] = 1; + level.has_special_breach_anim["glock"] = 1; + level.has_special_breach_anim["kriss"] = 1; + level.has_special_breach_anim["kriss_reflex"] = 1; + level.has_special_breach_anim["kriss_acog_silencer"] = 1; + level.has_special_breach_anim["m1014"] = 1; + level.has_special_breach_anim["m14_scoped"] = 1; + level.has_special_breach_anim["m14_scoped_arctic"] = 1; + level.has_special_breach_anim["m14_scoped_ghil"] = 1; + level.has_special_breach_anim["m14_scoped_silencer"] = 1; + level.has_special_breach_anim["m14_scoped_silencer_woodland"] = 1; + level.has_special_breach_anim["m14_scoped_woodland"] = 1; + level.has_special_breach_anim["m14ebr"] = 1; + level.has_special_breach_anim["m14ebr_thermal"] = 1; + level.has_special_breach_anim["m203"] = 1; + level.has_special_breach_anim["m16_acog"] = 1; + level.has_special_breach_anim["m16_basic"] = 1; + level.has_special_breach_anim["m16_grenadier"] = 1; + level.has_special_breach_anim["m16_reflex"] = 1; + level.has_special_breach_anim["m16_silencer"] = 1; + level.has_special_breach_anim["m21_baseasset"] = 1; + level.has_special_breach_anim["m21_scoped_arctic_silenced"] = 1; + level.has_special_breach_anim["mp5"] = 1; + level.has_special_breach_anim["mp5_arctic"] = 1; + level.has_special_breach_anim["mp5_arctic_reflex"] = 1; + level.has_special_breach_anim["mp5_eotech"] = 1; + level.has_special_breach_anim["mp5_reflex"] = 1; + level.has_special_breach_anim["mp5_silencer"] = 1; + level.has_special_breach_anim["mp5_silencer_reflex"] = 1; + level.has_special_breach_anim["ranger"] = 1; + level.has_special_breach_anim["striker"] = 1; + level.has_special_breach_anim["striker_reflex"] = 1; + level.has_special_breach_anim["striker_woodland"] = 1; + level.has_special_breach_anim["striker_woodland_reflex"] = 1; + level.has_special_breach_anim["tavor_acog"] = 1; + level.has_special_breach_anim["tavor_digital_acog"] = 1; + level.has_special_breach_anim["tavor_digital_eotech"] = 1; + level.has_special_breach_anim["tavor_digital_mars"] = 1; + level.has_special_breach_anim["tavor_digital_reflex"] = 1; + level.has_special_breach_anim["tavor_eotech"] = 1; + level.has_special_breach_anim["tavor_mars"] = 1; + level.has_special_breach_anim["tavor_reflex"] = 1; + level.has_special_breach_anim["tavor_woodland_acog"] = 1; + level.has_special_breach_anim["tavor_woodland_eotech"] = 1; + level.has_special_breach_anim["tavor_woodland_mars"] = 1; + level.has_special_breach_anim["tavor_woodland_reflex"] = 1; + level.has_special_breach_anim["tmp"] = 1; + level.has_special_breach_anim["tmp_reflex"] = 1; + level.has_special_breach_anim["tmp_silencer"] = 1; + level.has_special_breach_anim["ump45"] = 1; + level.has_special_breach_anim["ump45_acog"] = 1; + level.has_special_breach_anim["ump45_arctic"] = 1; + level.has_special_breach_anim["ump45_arctic_acog"] = 1; + level.has_special_breach_anim["ump45_arctic_reflex"] = 1; + level.has_special_breach_anim["ump45_reflex"] = 1; + level.has_special_breach_anim["ump45_silencer"] = 1; + level.has_special_breach_anim["ump45_eotech"] = 1; + level.has_special_breach_anim["wa2000"] = 1; + level.has_special_breach_anim["wa2000_thermal"] = 1; + level.has_special_breach_anim["g36c"] = 1; + level.has_special_breach_anim["g36c_acog"] = 1; + level.has_special_breach_anim["g36c_reflex"] = 1; + level.has_special_breach_anim["g36c_grenadier"] = 1; + level.has_special_breach_anim["pecheneg"] = 1; + level.has_special_breach_anim["pecheneg_reflex"] = 1; + level.has_special_breach_anim["gl_g36c"] = 1; + level.has_special_breach_anim["m240"] = 1; + level.has_special_breach_anim["m240_reflex"] = 1; + level.has_special_breach_anim["m240_acog"] = 1; + level.has_special_breach_anim["m4_grenadier"] = 1; + level.has_special_breach_anim["m4_grunt"] = 1; + level.has_special_breach_anim["m4_grunt_acog"] = 1; + level.has_special_breach_anim["m4_grunt_reflex"] = 1; + level.has_special_breach_anim["m4_shotgun"] = 1; + level.has_special_breach_anim["m4_shotgun_attach"] = 1; + level.has_special_breach_anim["m4_silencer"] = 1; + level.has_special_breach_anim["m4_silencer_acog"] = 1; + level.has_special_breach_anim["alt_m4m203_acog"] = 1; + level.has_special_breach_anim["m4m203_acog"] = 1; + level.has_special_breach_anim["alt_m4m203_acog_payback"] = 1; + level.has_special_breach_anim["m4m203_acog_payback"] = 1; + level.has_special_breach_anim["m4m203_reflex"] = 1; + level.has_special_breach_anim["m4m203_reflex_arctic"] = 1; + level.has_special_breach_anim["m4m203_silencer"] = 1; + level.has_special_breach_anim["m4m203_silencer_reflex"] = 1; + level.has_special_breach_anim["m4m203_eotech"] = 1; + level.has_special_breach_anim["scar_h"] = 1; + level.has_special_breach_anim["scar_h_fgrip"] = 1; + level.has_special_breach_anim["scar_h_acog"] = 1; + level.has_special_breach_anim["scar_h_grenadier"] = 1; + level.has_special_breach_anim["scar_h_reflex"] = 1; + level.has_special_breach_anim["scar_h_shotgun"] = 1; + level.has_special_breach_anim["scar_h_shotgun_attach"] = 1; + level.has_special_breach_anim["scar_h_silencer"] = 1; + level.has_special_breach_anim["scar_h_thermal_silencer"] = 1; + level.has_special_breach_anim["scar_h_thermal"] = 1; + level.has_special_breach_anim["scar_h_m203"] = 1; + level.has_special_breach_anim["m203_m4"] = 1; + level.has_special_breach_anim["m203_m4_acog"] = 1; + level.has_special_breach_anim["m203_m4_eotech"] = 1; + level.has_special_breach_anim["m203_m4_reflex"] = 1; + level.has_special_breach_anim["m203_m4_silencer"] = 1; + level.has_special_breach_anim["m203_m4_silencer_reflex"] = 1; + level.has_special_breach_anim["m203_m4_reflex_arctic"] = 1; + level.has_special_breach_anim["coltanaconda"] = 1; + level.has_special_breach_anim["deserteagle"] = 1; + level.has_special_breach_anim["pp2000"] = 1; + level.has_special_breach_anim["pp2000_reflex"] = 1; + level.has_special_breach_anim["pp2000_silencer"] = 1; + level.has_special_breach_anim["pp2000_thermal"] = 1; + level.has_special_breach_anim["ak47"] = 1; + level.has_special_breach_anim["ak47_acog"] = 1; + level.has_special_breach_anim["ak47_arctic"] = 1; + level.has_special_breach_anim["ak47_arctic_acog"] = 1; + level.has_special_breach_anim["ak47_arctic_eotech"] = 1; + level.has_special_breach_anim["ak47_arctic_grenadier"] = 1; + level.has_special_breach_anim["ak47_arctic_reflex"] = 1; + level.has_special_breach_anim["ak47_desert"] = 1; + level.has_special_breach_anim["ak47_desert_acog"] = 1; + level.has_special_breach_anim["ak47_desert_eotech"] = 1; + level.has_special_breach_anim["ak47_desert_grenadier"] = 1; + level.has_special_breach_anim["ak47_desert_reflex"] = 1; + level.has_special_breach_anim["ak47_digital"] = 1; + level.has_special_breach_anim["ak47_digital_acog"] = 1; + level.has_special_breach_anim["ak47_digital_eotech"] = 1; + level.has_special_breach_anim["ak47_digital_grenadier"] = 1; + level.has_special_breach_anim["ak47_digital_reflex"] = 1; + level.has_special_breach_anim["ak47_eotech"] = 1; + level.has_special_breach_anim["ak47_fall"] = 1; + level.has_special_breach_anim["ak47_fall_acog"] = 1; + level.has_special_breach_anim["ak47_fall_eotech"] = 1; + level.has_special_breach_anim["ak47_fall_grenadier"] = 1; + level.has_special_breach_anim["ak47_fall_reflex"] = 1; + level.has_special_breach_anim["ak47_grenadier"] = 1; + level.has_special_breach_anim["ak47_reflex"] = 1; + level.has_special_breach_anim["ak47_shotgun"] = 1; + level.has_special_breach_anim["ak47_shotgun_attach"] = 1; + level.has_special_breach_anim["ak47_silencer"] = 1; + level.has_special_breach_anim["ak47_thermal"] = 1; + level.has_special_breach_anim["ak47_woodland"] = 1; + level.has_special_breach_anim["ak47_woodland_acog"] = 1; + level.has_special_breach_anim["ak47_woodland_eotech"] = 1; + level.has_special_breach_anim["ak47_woodland_grenadier"] = 1; + level.has_special_breach_anim["ak47_woodland_reflex"] = 1; + level.has_special_breach_anim["gl_ak47"] = 1; + level.has_special_breach_anim["gl_ak47_arctic"] = 1; + level.has_special_breach_anim["masada"] = 1; + level.has_special_breach_anim["masada_acog"] = 1; + level.has_special_breach_anim["masada_dcburn_mt_black_off"] = 1; + level.has_special_breach_anim["masada_dcburn_mt_black_on"] = 1; + level.has_special_breach_anim["masada_digital"] = 1; + level.has_special_breach_anim["masada_digital_acog"] = 1; + level.has_special_breach_anim["masada_digital_eotech"] = 1; + level.has_special_breach_anim["masada_digital_grenadier_eotech"] = 1; + level.has_special_breach_anim["gl_masada_digital_eotech"] = 1; + level.has_special_breach_anim["masada_digital_reflex"] = 1; + level.has_special_breach_anim["masada_eotech"] = 1; + level.has_special_breach_anim["masada_grenadier_acog"] = 1; + level.has_special_breach_anim["masada_reflex"] = 1; + level.has_special_breach_anim["masada_silencer_motion_tracker_off"] = 1; + level.has_special_breach_anim["masada_silencer_motion_tracker_on"] = 1; + level.has_special_breach_anim["masada_silencer_mt_black_off"] = 1; + level.has_special_breach_anim["masada_silencer_mt_black_on"] = 1; + level.has_special_breach_anim["masada_silencer_mt_camo_off"] = 1; + level.has_special_breach_anim["masada_silencer_mt_camo_on"] = 1; + level.has_special_breach_anim["masada_silencer_mt_dust_off"] = 1; + level.has_special_breach_anim["masada_silencer_mt_dust_on"] = 1; + level.has_special_breach_anim["uzi"] = 1; + level.has_special_breach_anim["uzi_sd"] = 1; + level.has_special_breach_anim["uzi_silencer"] = 1; + level.has_special_breach_anim["uzi_akimbo"] = 1; + level.has_special_breach_anim["p90"] = 1; + level.has_special_breach_anim["p90_acog"] = 1; + level.has_special_breach_anim["p90_eotech"] = 1; + level.has_special_breach_anim["p90_reflex"] = 1; + level.has_special_breach_anim["p90_silencer"] = 1; + level.has_special_breach_anim["p90_arctic"] = 1; + level.has_special_breach_anim["p90_arctic_acog"] = 1; + level.has_special_breach_anim["p90_arctic_eotech"] = 1; + level.has_special_breach_anim["p90_arctic_reflex"] = 1; + level.has_special_breach_anim["rpd"] = 1; + level.has_special_breach_anim["rpd_acog"] = 1; + level.has_special_breach_anim["rpd_grip"] = 1; + level.has_special_breach_anim["rpd_reflex"] = 1; + level.has_special_breach_anim["sa80"] = 1; + level.has_special_breach_anim["sa80_scope"] = 1; + level.has_special_breach_anim["sa80lmg"] = 1; + level.has_special_breach_anim["sa80lmg_reflex"] = 1; + level.has_special_breach_anim["sa80lmg_scope"] = 1; + level.has_special_breach_anim["at4"] = 1; + level.has_special_breach_anim["at4_straight"] = 1; + level.has_special_breach_anim["model1887"] = 1; + level.has_special_breach_anim["usp"] = 1; + level.has_special_breach_anim["usp_airport"] = 1; + level.has_special_breach_anim["usp_silencer"] = 1; + level.has_special_breach_anim["dragunov"] = 1; + level.has_special_breach_anim["dragunov_arctic"] = 1; + level.has_special_breach_anim["dragunov_desert"] = 1; + level.has_special_breach_anim["dragunov_fall"] = 1; + level.has_special_breach_anim["dragunov_woodland"] = 1; + level.has_special_breach_anim["mg4"] = 1; + level.has_special_breach_anim["mg4_acog"] = 1; + level.has_special_breach_anim["mg4_arctic"] = 1; + level.has_special_breach_anim["mg4_arctic_reflex"] = 1; + level.has_special_breach_anim["mg4_arctic_thermal"] = 1; + level.has_special_breach_anim["mg4_reflex"] = 1; + level.has_special_breach_anim["mg4_thermal"] = 1; + level.has_special_breach_anim["spas12"] = 1; + level.has_special_breach_anim["spas12_arctic"] = 1; + level.has_special_breach_anim["spas12_arctic_eotech"] = 1; + level.has_special_breach_anim["spas12_arctic_grip"] = 1; + level.has_special_breach_anim["spas12_arctic_heartbeat"] = 1; + level.has_special_breach_anim["spas12_arctic_heartbeat_attach"] = 1; + level.has_special_breach_anim["spas12_arctic_reflex"] = 1; + level.has_special_breach_anim["spas12_eotech"] = 1; + level.has_special_breach_anim["spas12_grip"] = 1; + level.has_special_breach_anim["spas12_heartbeat"] = 1; + level.has_special_breach_anim["spas12_heartbeat_attach"] = 1; + level.has_special_breach_anim["spas12_reflex"] = 1; + level.has_special_breach_anim["spas12_silencer"] = 1; + level.has_special_breach_anim["paw20_eotech"] = 1; + level.has_special_breach_anim["acr_hybrid"] = 1; + level.has_special_breach_anim["acr_hybrid_silenced"] = 1; + level.has_special_breach_anim["alt_acr_hybrid"] = 1; + level.has_special_breach_anim["alt_acr_hybrid_silenced"] = 1; + level.has_special_breach_anim["p99"] = 1; + level.has_special_breach_anim["rsass"] = 1; + level.has_special_breach_anim["fnfiveseven"] = 1; + level.has_special_breach_anim["pp90m1"] = 1; + level.has_special_breach_anim["pp90m1_acog"] = 1; + level.has_special_breach_anim["pp90m1_eotech"] = 1; + level.has_special_breach_anim["pp90m1_reflex"] = 1; + level.has_special_breach_anim["pp90m1_silencer"] = 1; + common_scripts\utility::flag_init("breaching_on"); + common_scripts\utility::flag_init("no_mercy"); +} + +//Function Number: 2 +check_missing_animation() +{ + if(!isdefined(self.animation)) + { + return; + } + + if(will_be_manhandled() && self.script_noteworthy == "manhandled") + { + var_00 = getent(self.target,"targetname"); + level.manhandled_spawners[self.export] = var_00; + } + + var_01 = self.script_parameters; + if(isdefined(var_01)) + { + level.missing_animation_parameters[var_01] = 1; + } + + level.missing_animations[self.animation] = 1; +} + +//Function Number: 3 +is_breach_anim_loop_setup(param_00,param_01,param_02) +{ + if(!isdefined(level.scr_anim["generic"][param_00])) + { + return 0; + } + + if(!isdefined(level.scr_anim["generic"][param_00][param_01])) + { + return 0; + } + + return 1; +} + +//Function Number: 4 +is_breach_anim_single_setup(param_00,param_01) +{ + if(!isdefined(level.scr_anim["generic"][param_00])) + { + return 0; + } + + return 1; +} + +//Function Number: 5 +dump_missing_anims() +{ + if(!level.missing_animations.size) + { + return; + } + + var_00 = []; + var_00[var_00.size] = "_survives"; + var_00[var_00.size] = "_death"; + var_00[var_00.size] = "_death2"; + var_00[var_00.size] = "_idle"; + var_00[var_00.size] = "_manhandled_guarded"; + var_00[var_00.size] = "_manhandled"; + var_00[var_00.size] = "_manhandled_guarded_idle"; + var_00[var_00.size] = "_manhandled_idle"; + var_00[var_00.size] = "_manhandled_guarded_prepare_idle"; + var_00[var_00.size] = "_manhandled_prepare_idle"; + var_00[var_00.size] = "_manhandled_guarded_prepare"; + var_00[var_00.size] = "_manhandled_prepare"; + var_01 = []; + foreach(var_07, var_03 in level.missing_animation_parameters) + { + foreach(var_05 in var_00) + { + var_01[var_01.size] = var_05 + var_07; + } + } + + var_00 = common_scripts\utility::array_combine(var_00,var_01); + foreach(var_11, var_03 in level.missing_animations) + { + var_09 = 0; + if(isdefined(level.scr_stub["generic"][var_11])) + { + if(isarray(level.scr_stub["generic"][var_11])) + { + foreach(var_0C, var_0B in level.scr_stub["generic"][var_11]) + { + if(!is_breach_anim_loop_setup(var_11,var_0C,var_0B)) + { + var_09 = 1; + } + } + } + else if(!is_breach_anim_single_setup(var_11,level.scr_stub["generic"][var_11])) + { + var_09 = 1; + } + } + + foreach(var_05 in var_00) + { + var_0E = var_11 + var_05; + if(!isdefined(level.scr_stub["generic"][var_0E])) + { + continue; + } + + if(isarray(level.scr_stub["generic"][var_0E])) + { + foreach(var_0C, var_0B in level.scr_stub["generic"][var_0E]) + { + if(!is_breach_anim_loop_setup(var_0E,var_0C,var_0B)) + { + var_09 = 1; + } + } + + continue; + } + + if(!is_breach_anim_single_setup(var_0E,level.scr_stub["generic"][var_0E])) + { + var_09 = 1; + } + } + + if(var_09) + { + level.missing_animations[var_11] = undefined; + } + } + + level.missing_animation_parameters = undefined; + level.missing_animations = undefined; +} + +//Function Number: 6 +breach_anims() +{ + level.breach_death_anims = []; + maps\_anim::addnotetrack_attach("generic","attach knife right","weapon_parabolic_knife","TAG_INHAND"); + maps\_anim::addnotetrack_detach("generic","detach knife right","weapon_parabolic_knife","TAG_INHAND","breach_react_knife_charge"); + level.scr_stub["generic"]["takedown_room2B_soldier"] = "takedown_room2B_soldier"; + level.scr_stub["generic"]["takedown_room2B_soldier_idle"][0] = "takedown_room2B_soldier_idle"; + level.scr_stub["generic"]["takedown_room1Alt_soldier"] = "takedown_room1Alt_soldier"; + level.scr_stub["generic"]["takedown_room1Alt_soldier_idle"][0] = "takedown_room1Alt_soldier_idle"; + level.scr_stub["generic"]["takedown_room2A_soldier"] = "takedown_room2A_soldier"; + level.scr_stub["generic"]["takedown_room2A_soldier_idle"][0] = "takedown_room2A_soldier_end_idle"; + level.scr_stub["generic"]["takedown_room1B_soldier"] = "takedown_room1B_soldier"; + level.scr_stub["generic"]["takedown_room1B_soldier_idle"][0] = "takedown_room1B_soldier_idle"; + level.scr_stub["generic"]["takedown_room1A_soldier"] = "takedown_room1A_soldier"; + level.scr_stub["generic"]["takedown_room1A_soldier_idle"][0] = "takedown_room1A_soldier_idle"; + level.scr_stub["generic"]["hostage_chair_twitch2"] = "hostage_chair_twitch2"; + level.scr_stub["generic"]["hostage_chair_twitch2_idle"][0] = "hostage_chair_idle"; + level.scr_stub["generic"]["hostage_chair_twitch"] = "hostage_chair_twitch"; + level.scr_stub["generic"]["hostage_chair_twitch_idle"][0] = "hostage_chair_idle"; + add_slowmo_breach_custom_function("hostage_chair_twitch2",::_slomo_breach_c4_hostage); + add_slowmo_breach_custom_function("hostage_chair_twitch",::_slomo_breach_c4_hostage); + level.scr_stub["generic"]["execution_shield_soldier"] = "execution_shield_soldier"; + level.scr_stub["generic"]["execution_shield_hostage"] = "execution_shield_hostage"; + level.scr_stub["generic"]["execution_shield_hostage_death"] = "execution_shield_hostage_death"; + level.scr_stub["generic"]["execution_shield_hostage_survives"] = "execution_shield_hostage_survives"; + level.scr_stub["generic"]["execution_shield_hostage_idle"][0] = "hostage_knees_idle"; + add_slowmo_breach_custom_function("execution_shield_soldier",::_slomo_breach_executioner_pistol); + add_slowmo_breach_custom_function("execution_shield_hostage",::_slomo_breach_executed_guy); + level.scr_stub["generic"]["execution_knife_soldier"] = "execution_knife_soldier"; + level.scr_stub["generic"]["execution_knife_hostage"] = "execution_knife_hostage"; + level.scr_stub["generic"]["execution_knife_hostage_death"] = "execution_knife_hostage_death"; + level.scr_stub["generic"]["execution_knife_hostage_idle"][0] = "hostage_knees_idle"; + level.scr_stub["generic"]["execution_knife_hostage_manhandled"] = "takedown_room2B_hostageA"; + level.scr_stub["generic"]["execution_knife_hostage_manhandled_idle"][0] = "takedown_room2B_hostageA_idle"; + add_slowmo_breach_custom_function("execution_knife_hostage",::_slomo_breach_executed_guy); + add_slowmo_breach_custom_function("execution_knife_soldier",::_slomo_breach_executioner_knife); + level.scr_stub["generic"]["execution_knife2_soldier"] = "execution_knife2_soldier"; + level.scr_stub["generic"]["execution_knife2_hostage"] = "execution_knife2_hostage"; + level.scr_stub["generic"]["execution_knife2_hostage_death"] = "execution_knife2_hostage_death"; + level.scr_stub["generic"]["execution_knife2_hostage_idle"][0] = "hostage_stand_idle"; + add_slowmo_breach_custom_function("execution_knife2_hostage",::_slomo_breach_executed_guy); + add_slowmo_breach_custom_function("execution_knife2_soldier",::_slomo_breach_executioner_knife); + level.scr_stub["generic"]["execution_onknees_soldier"] = "execution_onknees_soldier"; + level.scr_stub["generic"]["execution_onknees_hostage"] = "execution_onknees_hostage"; + level.scr_stub["generic"]["execution_onknees_hostage_idle"][0] = "execution_onknees_hostage_survives"; + level.scr_stub["generic"]["execution_onknees_hostage_death"] = "execution_onknees_hostage_death"; + level.scr_stub["generic"]["execution_onknees_hostage_manhandled_guarded"] = "takedown_room1A_hostageB"; + level.scr_stub["generic"]["execution_onknees_hostage_manhandled_guarded_idle"][0] = "takedown_room1A_hostageB_idle"; + add_slowmo_breach_custom_function("execution_onknees_soldier",::_slomo_breach_executioner_pistol); + add_slowmo_breach_custom_function("execution_onknees_hostage",::_slomo_breach_executed_guy); + level.scr_stub["generic"]["execution_onknees2_soldier"] = "execution_onknees2_soldier"; + level.scr_stub["generic"]["execution_onknees2_hostage"] = "execution_onknees2_hostage"; + level.scr_stub["generic"]["execution_onknees2_hostage_survives"] = "execution_onknees2_hostage_survives"; + level.scr_stub["generic"]["execution_onknees2_hostage_death"] = "execution_onknees2_hostage_death"; + level.scr_stub["generic"]["execution_onknees2_hostage_manhandled_guarded"] = "takedown_room2B_hostageB"; + level.scr_stub["generic"]["execution_onknees2_hostage_manhandled_guarded_idle"][0] = "takedown_room2B_hostageB_idle"; + level.scr_stub["generic"]["execution_onknees2_hostage_manhandled_guarded_prepare_idleV2"][0] = "takedown_room2A_hostageB_start_idle"; + level.scr_stub["generic"]["execution_onknees2_hostage_manhandled_guardedV2"] = "takedown_room2A_hostageB"; + level.scr_stub["generic"]["execution_onknees2_hostage_manhandled_guarded_idleV2"][0] = "takedown_room2A_hostageB_end_idle"; + add_slowmo_breach_custom_function("execution_onknees2_soldier",::_slomo_breach_executioner_pistol); + add_slowmo_breach_custom_function("execution_onknees2_hostage",::_slomo_breach_executed_guy_pushed_to_floor); + level.scr_stub["generic"]["execution_slamwall_soldier"] = "execution_slamwall_soldier"; + level.scr_stub["generic"]["execution_slamwall_hostage"] = "execution_slamwall_hostage"; + level.scr_stub["generic"]["execution_slamwall_hostage_idle"][0] = "hostage_stand_idle"; + level.scr_stub["generic"]["execution_slamwall_hostage_death"] = "execution_slamwall_hostage_death"; + level.scr_stub["generic"]["execution_slamwall_hostage_manhandled_prepare"] = "takedown_room2A_hostageA_flee"; + level.scr_stub["generic"]["execution_slamwall_hostage_manhandled_prepare_idle"][0] = "takedown_room2A_hostageA_hide_idle"; + level.scr_stub["generic"]["execution_slamwall_hostage_manhandled"] = "takedown_room2A_hostageA"; + level.scr_stub["generic"]["execution_slamwall_hostage_manhandled_idle"][0] = "takedown_room2A_hostageA_end_idle"; + add_slowmo_breach_custom_function("execution_slamwall_soldier",::_slomo_breach_executioner_pistol); + add_slowmo_breach_custom_function("execution_slamwall_hostage",::_slomo_breach_executed_guy); + level.scr_stub["generic"]["execution_fightback_guy1_03"] = "execution_fightback_guy1_03"; + level.scr_stub["generic"]["execution_fightback_guy2_03"] = "execution_fightback_guy2_03"; + level.scr_stub["generic"]["execution_fightback_guy2_03_death"] = "execution_fightback_guy2_03_death"; + level.scr_stub["generic"]["execution_fightback_guy2_03_survives"] = "execution_fightback_guy2_03_survives"; + add_slowmo_breach_custom_function("execution_fightback_guy1_03",::_slomo_breach_executioner_pistol); + add_slowmo_breach_custom_function("execution_fightback_guy2_03",::_slomo_breach_executed_guy_pushed_to_floor); + level.scr_stub["generic"]["patrol_bored_react"] = "patrol_bored_react_walkstop"; + level.scr_stub["generic"]["exposed_idle_react"] = "exposed_idle_reactA"; + level.scr_stub["generic"]["chess_surprise"] = "parabolic_chessgame_surprise_b"; + level.scr_stub["generic"]["breach_chair_reaction_v1"] = "breach_chair_reaction_v1"; + level.scr_stub["generic"]["patrol_bored_react_walkstop"] = "patrol_bored_react_walkstop"; + level.scr_stub["generic"]["exposed_idle_reactA"] = "exposed_idle_reactA"; + level.scr_stub["generic"]["hostage_stand_react_front"] = "hostage_stand_react_front"; + level.scr_stub["generic"]["hostage_stand_react_front_idle"][0] = "hostage_stand_idle"; + level.scr_stub["generic"]["hostage_stand_react_front_manhandled"] = "takedown_room1Alt_hostage"; + level.scr_stub["generic"]["hostage_stand_react_front_manhandled_idle"][0] = "takedown_room1Alt_hostage_idle"; + level.scr_stub["generic"]["death_explosion_stand_B_v3"] = "death_explosion_stand_B_v3"; + level.scr_stub["generic"]["breach_stackL_approach"] = "breach_stackL_approach"; + level.scr_stub["generic"]["react_stand_2_run_R45"] = "react_stand_2_run_R45"; + level.breach_death_anims["death_explosion_stand_B_v3"] = 1; + add_slowmo_breach_custom_function("hostage_stand_react_front",::_slomo_breach_hostage_react); + level.scr_stub["generic"]["hostage_stand_fall"] = "hostage_stand_fall"; + level.scr_stub["generic"]["hostage_stand_fall_idle"][0] = "hostage_knees_idle"; + level.scr_stub["generic"]["hostage_stand_fall_idle"][1] = "hostage_knees_twitch"; + level.scr_stub["generic"]["hostage_stand_fall_manhandled"] = "takedown_room1A_hostageA"; + level.scr_stub["generic"]["hostage_stand_fall_manhandled_idle"][0] = "takedown_room1A_hostageA_idle"; + level.scr_stub["generic"]["hostage_stand_fall_manhandledV2"] = "takedown_room1B_hostage"; + level.scr_stub["generic"]["hostage_stand_fall_manhandled_idleV2"][0] = "takedown_room1B_hostage_idle"; + add_slowmo_breach_custom_function("hostage_stand_fall",::_slomo_breach_hostage_react); + level.scr_stub["generic"]["breach_react_knife_idle"] = "breach_react_knife_idle"; + level.scr_stub["generic"]["breach_react_knife_charge"] = "breach_react_knife_charge"; + level.scr_stub["generic"]["breach_react_knife_charge_death"] = "death_shotgun_back_v1"; + add_slowmo_breach_custom_function("breach_react_knife_charge",::_slomo_breach_knife_charger); + level.scr_stub["generic"]["breach_react_blowback_v1"] = "breach_react_blowback_v1"; + level.scr_stub["generic"]["breach_react_blowback_v2"] = "breach_react_blowback_v1"; + level.scr_stub["generic"]["breach_react_blowback_v3"] = "breach_react_blowback_v1"; + level.scr_stub["generic"]["dying_crawl_back"] = "dying_crawl_back"; + add_slowmo_breach_custom_function("breach_react_blowback_v1",::_slomo_breach_blowback_guy); + add_slowmo_breach_custom_function("breach_react_blowback_v2",::_slomo_breach_blowback_guy); + level.scr_stub["generic"]["breach_react_desk_v1"] = "breach_react_desk_v1"; + level.scr_stub["generic"]["breach_react_desk_v2"] = "breach_react_desk_v2"; + level.scr_stub["generic"]["breach_react_desk_v3"] = "breach_react_desk_v3"; + level.scr_stub["generic"]["breach_react_desk_v4"] = "breach_react_desk_v4"; + level.scr_stub["generic"]["breach_react_desk_v5"] = "breach_react_desk_v5"; + level.scr_stub["generic"]["breach_react_desk_v6"] = "breach_react_desk_v6"; + level.scr_stub["generic"]["breach_react_desk_v7"] = "breach_react_desk_v7"; + add_slowmo_breach_custom_function("breach_react_desk_v7",::_slomo_breach_desk_guy); + level.scr_stub["generic"]["breach_react_push_guy1"] = "breach_react_push_guy1"; + level.scr_stub["generic"]["breach_react_push_guy2"] = "breach_react_push_guy2"; + level.scr_stub["generic"]["breach_react_guntoss_v1_guy1"] = "breach_react_guntoss_v1_guy1"; + level.scr_stub["generic"]["breach_react_guntoss_v1_guy2"] = "breach_react_guntoss_v1_guy2"; + level.scr_stub["generic"]["breach_react_guntoss_v2_guy1"] = "breach_react_guntoss_v2_guy1"; + level.scr_stub["generic"]["breach_react_guntoss_v2_guy2"] = "breach_react_guntoss_v2_guy2"; + level.scr_stub["generic"]["breach_chair_hide_reaction_v1"] = "breach_chair_hide_reaction_v1"; + level.scr_stub["generic"]["breach_chair_hide_reaction_v1_death"] = "covercrouch_death_1"; + level.scr_stub["generic"]["breach_chair_hide_reaction_v1_death2"] = "covercrouch_death_2"; + level.scr_stub["generic"]["breach_chair_hide_reaction_v2"] = "breach_chair_hide_reaction_v2"; + level.scr_stub["generic"]["breach_chair_hide_reaction_v2_death"] = "breach_chair_hide_reaction_death_v2"; + add_slowmo_breach_custom_function("breach_chair_hide_reaction_v1",::_slomo_breach_chair_guy_normal); + add_slowmo_breach_custom_function("breach_chair_hide_reaction_v2",::_slomo_breach_chair_guy_animated); + level.scr_stub["generic"]["execution_fightback_guy1_02"] = "execution_fightback_guy1_02"; + level.scr_stub["generic"]["execution_fightback_guy2_02"] = "execution_fightback_guy2_02"; + level.scr_anim["generic"]["hostage_knees_loop"][0] = %hostage_knees_idle; + level.scr_anim["generic"]["hostage_knees_loop"][1] = %hostage_knees_twitch; +} + +//Function Number: 7 +friendly_animations() +{ + level.scr_anim["generic"]["breach_friend_idle_01"][0] = %breach_flash_r1_idle; + level.scr_anim["generic"]["breach_friend_enter_01"] = %breach_flash_r1_enter; + level.scr_anim["generic"]["breach_friend_idle_02"][0] = %breach_flash_r2_idle; + level.scr_anim["generic"]["breach_friend_enter_02"] = %breach_flash_r2_enter; +} + +//Function Number: 8 +breach_fx_setup() +{ + var_00 = self.script_fxid; + var_01 = self.script_slowmo_breach; + var_02 = common_scripts\utility::createexploder(var_00); + var_02.v["origin"] = self.origin; + var_02.v["angles"] = self.angles; + var_02.v["fxid"] = var_00; + var_02.v["delay"] = 0; + var_02.v["exploder"] = "breach_" + var_01; + var_02.v["soundalias"] = "nil"; +} + +//Function Number: 9 +create_slowmo_breaches_from_entities() +{ + var_00 = []; + var_01 = getentarray("breach_left_org","targetname"); + var_02 = getentarray("breach_right_org","targetname"); + var_03 = getentarray("breach_enemy_spawner","targetname"); + var_04 = getentarray("breach_hostage_spawner","targetname"); + var_05 = getentarray("breach_friendlyenemy_spawner","targetname"); + var_06 = getentarray("breach_friendlyhostage_spawner","targetname"); + var_07 = getentarray("breach_coopenemy_spawner","targetname"); + var_08 = getentarray("breach_coophostage_spawner","targetname"); + var_09 = getentarray("breach_solid","targetname"); + var_0A = getentarray("breach_door_volume","targetname"); + var_0B = getentarray("breach_safe_volume","targetname"); + var_0C = getentarray("trigger_use_breach","classname"); + var_0D = getentarray("trigger_multiple_breachIcon","classname"); + var_0E = getentarray("trigger_use_breach","classname"); + var_0F = getentarray("breach_damage_trigger","targetname"); + level.scr_stub = undefined; + foreach(var_11 in var_01) + { + var_12 = var_11.script_slowmo_breach; + var_13 = "wood"; + if(isdefined(var_11.script_slowmo_breach_doortype)) + { + switch(var_11.script_slowmo_breach_doortype) + { + case "payback_wood": + case "caves_wood": + case "estate_wood_backwards": + case "estate_wood": + case "metal": + case "wood": + case "none": + var_13 = var_11.script_slowmo_breach_doortype; + break; + + default: + break; + } + } + + var_14 = spawnstruct(); + var_14.left_post = var_11; + var_14.doortype = var_13; + var_14.spawners = []; + var_14.spawners["enemy"] = []; + var_14.spawners["hostage"] = []; + var_14.spawners["friendlyenemy"] = []; + var_14.spawners["friendlyhostage"] = []; + var_14.spawners["coopenemy"] = []; + var_14.spawners["coophostage"] = []; + var_14.lookat_triggers = []; + var_14.path_solids = []; + var_14.enabled = 1; + var_14.door_volume = []; + var_14.room_volume = []; + var_14.safe_volume = undefined; + var_14.friendly_anim_ent = []; + var_00[var_12] = var_14; + } + + foreach(var_11 in var_02) + { + var_12 = var_11.script_slowmo_breach; + var_00[var_12].right_post = var_11; + var_17 = spawn("script_origin",var_11.origin); + var_17.angles = var_11.angles; + var_14 = spawnstruct(); + var_14.entity = var_17; + var_14.yaw = -90; + var_14 maps\_utility::translate_local(); + var_00[var_12].friendly_anim_ent = var_17; + } + + foreach(var_1A in var_03) + { + var_00 = var_1A breach_spawner_setup(var_00,"enemy"); + } + + foreach(var_1A in var_04) + { + var_00 = var_1A breach_spawner_setup(var_00,"hostage"); + } + + foreach(var_1A in var_05) + { + var_00 = var_1A breach_spawner_setup(var_00,"friendlyenemy"); + } + + foreach(var_1A in var_06) + { + var_00 = var_1A breach_spawner_setup(var_00,"friendlyhostage"); + } + + foreach(var_1A in var_07) + { + var_00 = var_1A breach_spawner_setup(var_00,"coopenemy"); + } + + foreach(var_1A in var_08) + { + var_00 = var_1A breach_spawner_setup(var_00,"coophostage"); + } + + foreach(var_27 in var_0D) + { + var_12 = var_27.script_slowmo_breach; + var_00[var_12].lookat_triggers[var_00[var_12].lookat_triggers.size] = var_27; + var_28 = getent(var_27.target,"targetname"); + var_27.breach_origin = var_28.origin; + var_29 = getent(var_28.target,"targetname"); + var_29.breached = 0; + var_00[var_12].room_volume = var_29; + var_28 thread breach_icon_think(var_27,var_12,var_29); + var_2A = var_29.script_flag; + common_scripts\utility::flag_init(var_2A); + } + + foreach(var_27 in var_0E) + { + var_27 usetriggerrequirelookat(); + var_12 = var_27.script_slowmo_breach; + var_00[var_12].trigger = var_27; + if(isdefined(var_27.script_breachgroup)) + { + var_27 thread breach_group_trigger_think(); + } + } + + foreach(var_2F in var_0A) + { + var_12 = var_2F.script_slowmo_breach; + var_00[var_12].door_volume = var_2F; + } + + foreach(var_2F in var_0B) + { + var_12 = var_2F.script_slowmo_breach; + var_00[var_12].safe_volume = var_2F; + } + + foreach(var_34 in var_09) + { + var_12 = var_34.script_slowmo_breach; + var_00[var_12].path_solids[var_00[var_12].path_solids.size] = var_34; + } + + foreach(var_12, var_37 in var_00) + { + level thread slowmo_breach_think(var_37,var_12); + } + + foreach(var_27 in var_0F) + { + var_12 = var_27.script_slowmo_breach; + var_27 thread slowmo_breach_damage_trigger_think(var_12); + } + + level.breach_groups = var_00; +} + +//Function Number: 10 +objective_breach(param_00,param_01,param_02,param_03,param_04) +{ + objective_setpointertextoverride(param_00,&"SCRIPT_WAYPOINT_BREACH"); + objective_position(param_00,(0,0,0)); + var_05 = []; + if(isdefined(param_01)) + { + var_05[var_05.size] = param_01; + } + + if(isdefined(param_02)) + { + var_05[var_05.size] = param_02; + } + + if(isdefined(param_03)) + { + var_05[var_05.size] = param_03; + } + + if(isdefined(param_04)) + { + var_05[var_05.size] = param_04; + } + + var_06 = 0; + foreach(var_08 in var_05) + { + var_09 = level.breach_groups[var_08].left_post; + if(!isdefined(var_09)) + { + return; + } + + var_0A = anglestoright(var_09.angles); + var_0B = var_09.origin + var_0A * -22.5 + (0,0,56); + objective_additionalposition(param_00,var_06,var_0B); + var_06++; + } +} + +//Function Number: 11 +assign_script_breachgroup_to_ents(param_00) +{ + foreach(var_02 in param_00) + { + var_03 = 0; + foreach(var_09, var_05 in level.breach_groups) + { + foreach(var_07 in var_05.lookat_triggers) + { + if(distance(var_02.origin,var_07.breach_origin) > 80) + { + continue; + } + + var_02.script_slowmo_breach = var_09; + var_03 = 1; + break; + } + + if(var_03) + { + break; + } + } + } +} + +//Function Number: 12 +get_breach_indices_from_ents(param_00) +{ + var_01 = []; + foreach(var_03 in param_00) + { + var_01[var_01.size] = var_03.script_slowmo_breach; + } + + return var_01; +} + +//Function Number: 13 +slowmo_breach_damage_trigger_think(param_00) +{ + level waittill("breaching_number_" + param_00); + wait(3); + var_01 = getaiarray(); + var_01 = maps\_utility::array_merge(var_01,level.players); + foreach(var_03 in var_01) + { + if(var_03 istouching(self)) + { + return; + } + } + + radiusdamage(self.origin,self.radius,500,500); + self delete(); +} + +//Function Number: 14 +icon_trigger_setup() +{ + self.script_flag = "breach_door_icon_" + self.script_slowmo_breach; + level thread maps\_trigger::trigger_looking(self); +} + +//Function Number: 15 +breach_icon_think(param_00,param_01,param_02) +{ + thread breach_debug_display_animnames(param_02); + var_03 = newhudelem(); + var_03 setshader("breach_icon",1,1); + var_03.alpha = 0; + var_03.color = (1,1,1); + var_03.x = self.origin[0]; + var_03.y = self.origin[1]; + var_03.z = self.origin[2]; + var_03 setwaypoint(1,1); + var_04 = spawn("script_model",self.origin); + var_04 setmodel("mil_frame_charge"); + var_04 hidepart("j_frame_charge"); + wait(0.05); + var_05 = "breach_door_icon_" + param_01; + common_scripts\utility::flag_wait(var_05); + while(!param_02.breached) + { + wait(0.05); + } + + var_03 destroy(); + var_04 delete(); +} + +//Function Number: 16 +breach_spawner_setup(param_00,param_01) +{ + var_02 = self.script_slowmo_breach; + var_03 = 0; + if(isdefined(self.script_slowmo_breach_spawners)) + { + if(param_01 == "enemy" || param_01 == "hostage") + { + var_03 = self.script_slowmo_breach_spawners; + } + } + + if(!isdefined(param_00[var_02].spawners[param_01][var_03])) + { + param_00[var_02].spawners[param_01][var_03] = []; + } + + var_04 = param_00[var_02].spawners[param_01][var_03]; + var_04[var_04.size] = self; + param_00[var_02].spawners[param_01][var_03] = var_04; + if(param_00.size) + { + return param_00; + } + + return undefined; +} + +//Function Number: 17 +slowmo_breach_think(param_00,param_01) +{ + var_02 = param_00.left_post; + var_03 = param_00.right_post; + var_04 = param_00.spawners["enemy"]; + var_05 = param_00.spawners["hostage"]; + var_06 = param_00.trigger; + var_07 = param_00.path_solids; + var_08 = param_00.door_volume; + var_09 = param_00.room_volume; + var_0A = []; + var_0B = []; + var_0C = []; + var_0D = []; + if(isdefined(param_00.spawners["friendlyenemy"][0])) + { + var_0A = param_00.spawners["friendlyenemy"][0]; + param_00.spawners["friendlyenemy"] = var_0A; + } + + if(isdefined(param_00.spawners["friendlyhostage"][0])) + { + var_0B = param_00.spawners["friendlyhostage"][0]; + param_00.spawners["friendlyhostage"] = var_0B; + } + + if(isdefined(param_00.spawners["coopenemy"][0])) + { + var_0C = param_00.spawners["coopenemy"][0]; + param_00.spawners["coopenemy"] = var_0C; + } + + if(isdefined(param_00.spawners["coophostage"][0])) + { + var_0D = param_00.spawners["coophostage"][0]; + param_00.spawners["coophostage"] = var_0D; + } + + var_0E = spawnstruct(); + var_0E.entity = var_02; + var_0E.forward = 5; + var_0E.right = 6; + var_0E.yaw = -90; + var_0E maps\_utility::translate_local(); + var_0E = spawnstruct(); + var_0E.entity = var_03; + var_0E.right = -2; + var_0E.yaw = 90; + var_0E maps\_utility::translate_local(); + var_0F = []; + foreach(var_12, var_11 in var_04) + { + var_0F[var_12] = var_12; + } + + foreach(var_12, var_11 in var_05) + { + var_0F[var_12] = var_12; + } + + if(var_0F.size) + { + var_14 = common_scripts\utility::random(var_0F); + if(isdefined(var_04[var_14])) + { + var_04 = var_04[var_14]; + } + else + { + var_04 = []; + } + + if(isdefined(var_05[var_14])) + { + var_05 = var_05[var_14]; + } + else + { + var_05 = []; + } + } + + param_00.spawners["enemy"] = var_04; + param_00.spawners["hostage"] = var_05; + common_scripts\utility::array_thread(var_04,::maps\_utility::add_spawn_function,::breach_enemy_spawner_think); + common_scripts\utility::array_thread(var_05,::maps\_utility::add_spawn_function,::breach_hostage_spawner_think); + common_scripts\utility::array_thread(var_0A,::maps\_utility::add_spawn_function,::breach_enemy_spawner_think); + common_scripts\utility::array_thread(var_0B,::maps\_utility::add_spawn_function,::breach_hostage_spawner_think); + common_scripts\utility::array_thread(var_0C,::maps\_utility::add_spawn_function,::breach_enemy_spawner_think); + common_scripts\utility::array_thread(var_0D,::maps\_utility::add_spawn_function,::breach_hostage_spawner_think); + var_06 sethintstring(&"SCRIPT_PLATFORM_BREACH_ACTIVATE"); + if(!isdefined(level.breach_use_triggers)) + { + level.breach_use_triggers = []; + } + + level.breach_use_triggers = common_scripts\utility::array_add(level.breach_use_triggers,var_06); + var_15 = "breach_door_charge"; + var_16 = undefined; + switch(param_00.doortype) + { + case "metal": + var_16 = "breach_door_model_metal"; + break; + + case "estate_wood": + var_16 = "breach_door_model_estate"; + break; + + case "estate_wood_backwards": + var_16 = "breach_door_model_estate"; + break; + + case "caves_wood": + var_16 = "breach_door_model_caves"; + break; + + case "payback_wood": + var_16 = "breach_door_model_payback"; + var_15 = "breach_door_charge_payback"; + break; + + case "wood": + case "none": + var_16 = "breach_door_model"; + break; + + default: + break; + } + + var_17 = maps\_utility::spawn_anim_model(var_16); + if(param_00.doortype == "none" || param_00.doortype == "estate_wood_backwards") + { + var_17 hide(); + } + + level.breach_doors = []; + level.breach_doors[param_01] = var_17; + var_18 = maps\_utility::spawn_anim_model(var_15); + var_18 common_scripts\utility::hide_notsolid(); + var_02.scene_models = []; + var_02 add_scene_model("active_breacher_rig"); + var_19 = var_02.scene_models["active_breacher_rig"]; + var_19 hide(); + var_1A = undefined; + if(maps\_utility::is_coop()) + { + var_02 add_coop_scene_models(); + var_1A = var_02.scene_models["passive_breacher_rig"]; + var_1A hide(); + } + + var_02.door = var_17; + var_02.charge = var_18; + var_02.post = var_03; + var_02.breach_index = param_01; + var_02 maps\_anim::anim_first_frame_solo(var_17,"breach"); + var_02 maps\_anim::anim_first_frame_solo(var_18,"breach"); + var_02 maps\_anim::anim_first_frame_solo(var_19,"breach_player_anim"); + if(maps\_utility::is_coop()) + { + var_02 maps\_anim::anim_first_frame_solo(var_1A,"breach_player_anim"); + } + + var_02 wait_for_breach_or_deletion(param_00); + foreach(var_1C in var_02.scene_models) + { + var_1C delete(); + } + + if(isdefined(var_06)) + { + var_06 delete(); + } + + if(isdefined(var_17)) + { + var_17 delete(); + } + + if(isdefined(var_18)) + { + var_18 delete(); + } + + if(isdefined(var_02)) + { + var_02 delete(); + } + + if(isdefined(var_03)) + { + var_03 delete(); + } +} + +//Function Number: 18 +breach_should_be_skipped(param_00) +{ + if(!isdefined(level.skip_breach)) + { + return 0; + } + + if(!isdefined(level.skip_breach[param_00])) + { + return 0; + } + + return 1; +} + +//Function Number: 19 +coop_player_touching_valid_door_volume(param_00,param_01) +{ + var_02 = []; + var_02[0] = param_00; + if(isdefined(param_00.script_breachgroup)) + { + var_02 = get_door_volumes_from_breachgroup(param_00.script_breachgroup); + } + + foreach(var_04 in var_02) + { + if(param_01 istouching(var_04)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 20 +get_door_volumes_from_breachgroup(param_00) +{ + var_01 = []; + var_02 = getentarray("breach_door_volume","targetname"); + foreach(var_04 in var_02) + { + if(isdefined(var_04.script_breachgroup) && var_04.script_breachgroup == param_00) + { + var_01[var_01.size] = var_04; + } + } + + return var_01; +} + +//Function Number: 21 +breach_participants_ready_to_proceed(param_00,param_01,param_02) +{ + if(maps\_utility::is_coop()) + { + var_03 = maps\_utility::get_other_player(param_00); + if(var_03 maps\_utility::ent_flag_exist("laststand_downed") && var_03 maps\_utility::ent_flag("laststand_downed")) + { + return 0; + } + + if(coop_player_touching_valid_door_volume(param_02,var_03)) + { + return 1; + } + else + { + return 0; + } + } + + if(param_01.size == 0) + { + return 1; + } + + if(!room_has_multiple_doors(param_02)) + { + return 1; + } + + if(!breach_friendlies_ready_at_other_door(param_02,1)) + { + if(getdvar("breach_requires_friendlies_in_position") == "1") + { + if(!breachfriendlies_can_teleport(param_01,param_02)) + { + return 0; + } + } + } + + return 1; +} + +//Function Number: 22 +wait_for_breach_or_deletion(param_00) +{ + var_01 = param_00.trigger; + if(!isdefined(var_01)) + { + return; + } + + var_02 = param_00.door_volume; + var_01 endon("death"); + for(;;) + { + var_01 waittill("trigger",var_03,var_04); + if(gettime() == level.breach_passive_time) + { + var_04 = level.breach_passive_player; + } + + var_05 = isdefined(var_04); + if(!param_00.enabled) + { + return; + } + + if(isalive(var_03) && !var_05) + { + if(breach_failed_to_start()) + { + continue; + } + } + + if(isdefined(param_00.safe_volume) && !maps\_utility::is_specialop()) + { + if(isplayer(var_03) && isalive(var_03)) + { + var_06 = param_00.safe_volume maps\_utility::get_ai_touching_volume("axis"); + if(var_06.size) + { + thread breach_too_many_enemies_hint(); + continue; + } + } + } + + var_07 = get_available_breachfriendlies(var_02); + if(isplayer(var_03) && isalive(var_03)) + { + if(breach_should_be_skipped(var_01.script_slowmo_breach)) + { + break; + } + + if(breach_participants_ready_to_proceed(var_03,var_07,var_02)) + { + if(player_breach(param_00,var_03)) + { + break; + } + } + else + { + thread breach_friendly_hint(); + } + + continue; + } + + if(var_07.size) + { + friendlies_breach(param_00,var_07); + break; + } + else + { + breachless_door_opens(param_00); + break; + } + } +} + +//Function Number: 23 +breachfriendlies_can_teleport(param_00,param_01) +{ + var_02 = 0; + var_03 = get_player_volume(param_01); + foreach(var_05 in param_00) + { + if(isdefined(var_03)) + { + if(var_05 goalpos_within_volume(var_03)) + { + continue; + } + } + + if(!var_05 friendly_can_teleport()) + { + continue; + } + + var_02++; + } + + if(var_02 >= 2) + { + return 1; + } + + return 0; +} + +//Function Number: 24 +friendly_can_teleport() +{ + if(maps\_utility::player_can_see_ai(self)) + { + return 0; + } + + if(distance(level.player.origin,self.origin) < 96) + { + return 0; + } + + return 1; +} + +//Function Number: 25 +breach_friendly_hint() +{ + if(maps\_utility::is_coop()) + { + thread breach_hint_create(&"SCRIPT_BREACH_NEED_PLAYER"); + return; + } + + thread breach_hint_create(&"SCRIPT_BREACH_NEED_FRIENDLY"); +} + +//Function Number: 26 +breach_too_many_enemies_hint() +{ + thread breach_hint_create(&"SCRIPT_BREACH_TOO_MANY_ENEMIES"); +} + +//Function Number: 27 +breach_reloading_hint() +{ + thread breach_hint_create(&"SCRIPT_BREACH_RELOADING"); +} + +//Function Number: 28 +breach_bad_weapon_hint() +{ + thread breach_hint_create(&"SCRIPT_BREACH_ILLEGAL_WEAPON"); +} + +//Function Number: 29 +breach_not_ready_hint() +{ + if(maps\_utility::is_coop()) + { + thread breach_hint_create(&"SCRIPT_BREACH_PARTNER_NOT_READY"); + return; + } + + thread breach_hint_create(&"SCRIPT_BREACH_YOU_NOT_READY"); +} + +//Function Number: 30 +breach_hint_create(param_00) +{ + level notify("breach_hint_cleanup"); + level endon("breach_hint_cleanup"); + var_01 = 20; + if(issplitscreen()) + { + var_01 = -23; + } + + thread maps\_utility::hint(param_00,3,var_01); + thread breach_hint_cleanup(); +} + +//Function Number: 31 +breach_hint_cleanup() +{ + level notify("breach_hint_cleanup"); + level endon("breach_hint_cleanup"); + foreach(var_01 in level.breach_use_triggers) + { + if(isdefined(var_01)) + { + var_01 sethintstring(""); + } + } + + level common_scripts\utility::waittill_notify_or_timeout("breaching",3); + maps\_utility::hint_fade(); + foreach(var_01 in level.breach_use_triggers) + { + if(isdefined(var_01)) + { + var_01 sethintstring(&"SCRIPT_PLATFORM_BREACH_ACTIVATE"); + } + } +} + +//Function Number: 32 +room_has_multiple_doors(param_00) +{ + if(isdefined(param_00.script_breachgroup)) + { + return 1; + } + + return 0; +} + +//Function Number: 33 +breach_friendlies_take_grenades() +{ + if(!isdefined(level.breachfriendlies)) + { + return; + } + + level.breachfriendlies_grenades_empty = 1; + foreach(var_01 in level.breachfriendlies) + { + var_01.grenadeammo_prebreach = var_01.grenadeammo; + var_01.grenadeammo = 0; + } +} + +//Function Number: 34 +breach_friendlies_restore_grenades() +{ + if(!isdefined(level.breachfriendlies)) + { + return; + } + + if(!isdefined(level.breachfriendlies_grenades_empty)) + { + return; + } + + foreach(var_01 in level.breachfriendlies) + { + var_01.grenadeammo = var_01.grenadeammo_prebreach; + var_01.grenadeammo_prebreach = undefined; + } + + level.breachfriendlies_grenades_empty = undefined; +} + +//Function Number: 35 +breach_friendlies_ready_at_other_door(param_00,param_01) +{ + var_02 = param_00.script_breachgroup; + var_03 = get_door_volumes_from_breachgroup(param_00.script_breachgroup); + var_03 = common_scripts\utility::array_remove(var_03,param_00); + var_04 = var_03[0]; + foreach(var_06 in level.breachfriendlies) + { + if(isdefined(param_01) && param_01) + { + if(var_06 goalpos_within_volume(var_04)) + { + if(var_06 friendly_can_teleport()) + { + return 1; + } + } + } + + if(var_06 istouching(var_04)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 36 +add_coop_scene_models() +{ + add_scene_model("passive_breacher_rig"); + add_scene_model("active_breacher_3rd_person"); + add_scene_model("passive_breacher_3rd_person"); +} + +//Function Number: 37 +add_scene_model(param_00) +{ + self.scene_models[param_00] = maps\_utility::spawn_anim_model(param_00); + self.scene_models[param_00] hide(); +} + +//Function Number: 38 +set_room_to_breached(param_00,param_01) +{ + param_01.breached = 1; + var_02 = get_breach_notify(param_00.script_breachgroup); + if(isdefined(param_00.script_breachgroup)) + { + level notify(var_02); + } + + param_01 notify("breached"); + param_00 common_scripts\utility::trigger_off(); +} + +//Function Number: 39 +breachless_door_opens(param_00) +{ + var_01 = param_00.trigger; + var_02 = param_00.room_volume; + var_03 = param_00.path_solids; + var_04 = self.door; + var_05 = self.charge; + set_room_to_breached(var_01,var_02); + common_scripts\utility::array_call(var_03,::connectpaths); + common_scripts\utility::array_thread(var_03,::maps\_utility::self_delete); + var_06 = spawnstruct(); + var_06.entity = var_04; + var_06.forward = 4; + var_06.right = 10; + var_06.yaw = -170; + var_06 maps\_utility::translate_local(); + var_05 delete(); + if(!maps\_utility::is_coop()) + { + return; + } + + while(!var_02.breached) + { + wait(0.05); + } + + var_07 = undefined; + var_08 = undefined; + if(param_00.spawners["coopenemy"].size) + { + var_07 = param_00.spawners["coopenemy"]; + var_08 = param_00.spawners["coophostage"]; + } + else + { + var_07 = param_00.spawners["enemy"]; + var_08 = param_00.spawners["hostage"]; + } + + if(var_07.size) + { + common_scripts\utility::array_call(var_07,::stalingradspawn); + } + + if(var_08.size) + { + common_scripts\utility::array_call(var_08,::stalingradspawn); + } +} + +//Function Number: 40 +friendlies_breach(param_00,param_01) +{ + var_02 = param_00.trigger; + var_03 = param_00.door_volume; + var_04 = param_00.room_volume; + var_05 = param_00.spawners["enemy"]; + var_06 = param_00.spawners["hostage"]; + var_07 = param_00.spawners["friendlyenemy"]; + var_08 = param_00.spawners["friendlyhostage"]; + var_09 = param_00.path_solids; + var_0A = self.charge; + var_0B = self.scene_models["active_breacher_rig"]; + set_room_to_breached(var_02,var_04); + var_0C = param_00.friendly_anim_ent; + var_0D = get_player_volume(var_03); + var_0E = getdvar("breach_requires_friendlies_in_position") == "1"; + if(!var_0E) + { + if(isdefined(var_0D) && breach_friendlies_ready_at_other_door(var_0D)) + { + foreach(var_10 in param_01) + { + if(!var_10 istouching(var_03)) + { + param_01 = common_scripts\utility::array_remove(param_01,var_10); + } + } + + var_0E = 1; + } + } + + if(var_0E) + { + var_12 = common_scripts\utility::getclosest(var_0C.origin,param_01); + } + else + { + var_12 = get_teleport_optimized_breachfriendly(var_0D.origin,var_04,var_02,var_0E); + } + + param_01 = common_scripts\utility::array_remove(param_01,var_12); + if(var_07.size) + { + level.breachenemies = maps\_utility::array_spawn(var_07,1); + } + + if(var_08.size) + { + common_scripts\utility::array_call(var_08,::stalingradspawn); + } + + common_scripts\utility::array_call(var_09,::connectpaths); + common_scripts\utility::array_thread(var_09,::maps\_utility::self_delete); + var_12 thread friendly_breach(1,var_0C,var_04); + if(param_01.size) + { + if(var_0E) + { + var_13 = common_scripts\utility::getclosest(var_0C.origin,param_01); + } + else + { + var_13 = get_teleport_optimized_breachfriendly(var_0D.origin,var_04,var_02,var_0E); + } + + if(isdefined(var_13)) + { + var_13 thread friendly_breach(2,var_0C,var_04); + } + else + { + } + } + + wait(1); + breach_friendlies_take_grenades(); + maps\_anim::anim_single_solo(var_0B,"breach_player_anim"); +} + +//Function Number: 41 +get_player_volume(param_00) +{ + var_01 = undefined; + var_02 = get_grouped_doorvolumes(param_00); + foreach(var_04 in var_02) + { + if(level.player istouching(var_04)) + { + var_01 = var_04; + break; + } + } + + return var_01; +} + +//Function Number: 42 +get_teleport_optimized_breachfriendly(param_00,param_01,param_02,param_03) +{ + var_04 = []; + foreach(var_06 in param_02) + { + if(isdefined(param_03)) + { + if(var_06 goalpos_within_volume(param_03)) + { + continue; + } + } + + if(!var_06 friendly_can_teleport()) + { + continue; + } + + var_04[var_04.size] = var_06; + } + + if(!var_04.size) + { + return undefined; + } + + var_04 = common_scripts\utility::get_array_of_closest(param_00,var_04); + var_08 = var_04[0]; + foreach(var_06 in var_04) + { + if(var_06 goalpos_within_volume(param_01)) + { + var_08 = var_06; + break; + } + } + + return var_08; +} + +//Function Number: 43 +goalpos_within_volume(param_00) +{ + if(isdefined(self.goalpos)) + { + if(origin_within_volume(self.goalpos + (0,0,40),param_00)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 44 +origin_within_volume(param_00,param_01) +{ + var_02 = spawn("script_origin",param_00); + var_03 = 0; + if(var_02 istouching(param_01)) + { + var_03 = 1; + } + + var_02 delete(); + return var_03; +} + +//Function Number: 45 +get_grouped_doorvolumes(param_00) +{ + var_01 = []; + var_01[0] = param_00; + if(isdefined(param_00.script_breachgroup)) + { + foreach(var_03 in level.breach_groups) + { + if(!isdefined(var_03.door_volume)) + { + continue; + } + + if(var_03.door_volume == param_00) + { + continue; + } + + if(!isdefined(var_03.door_volume.script_breachgroup)) + { + continue; + } + + if(isdefined(var_03.door_volume.script_breachgroup) && var_03.door_volume.script_breachgroup == param_00.script_breachgroup) + { + var_01[var_01.size] = var_03.door_volume; + } + } + } + + return var_01; +} + +//Function Number: 46 +sort_breachers(param_00,param_01) +{ + var_02 = param_01["active"]; + var_03 = anglestoright(self.angles); + var_04 = vectornormalize(var_02.origin - param_00.trigger.origin); + var_05 = vectordot(var_03,var_04); + if(var_05 < 0) + { + param_01["active"] = param_01["passive"]; + param_01["passive"] = var_02; + } + + return param_01; +} + +//Function Number: 47 +player_breach(param_00,param_01) +{ + var_02 = []; + var_02["active"] = param_01; + var_03 = self.scene_models["active_breacher_rig"]; + var_04 = 0; + var_05 = undefined; + if(maps\_utility::is_coop()) + { + var_02["passive"] = maps\_utility::get_other_player(var_02["active"]); + var_05 = self.scene_models["passive_breacher_rig"]; + var_06 = breach_near_player(var_02["passive"]); + if(var_06 == param_00) + { + var_04 = 1; + var_06.room_volume.has_passive_breacher = 1; + var_02 = sort_breachers(param_00,var_02); + } + else + { + level.breach_passive_player = var_02["passive"]; + level.breach_passive_time = gettime(); + var_06.trigger notify("trigger",var_02["passive"],"passive"); + } + } + + var_02["active"] enablebreaching(); + if(var_04) + { + var_02["passive"] disableweapons(); + } + + foreach(param_01 in var_02) + { + if(!isdefined(level.slowmo_breach_disable_stancemod)) + { + param_01 enableinvulnerability(); + param_01 disableweaponswitch(); + param_01 disableoffhandweapons(); + param_01 allowcrouch(0); + param_01 allowprone(0); + param_01 allowsprint(0); + param_01 allowjump(0); + } + + param_01 common_scripts\utility::_disableusability(); + if(!isdefined(param_01.prebreachcurrentweapon)) + { + param_01.prebreachcurrentweapon = param_01 getcurrentweapon(); + } + } + + level notify("breaching"); + level notify("breaching_number_" + self.script_slowmo_breach); + setsaveddvar("objectiveHide",1); + var_09 = param_00.room_volume; + set_room_to_breached(param_00.trigger,var_09); + var_0A = undefined; + var_0B = isdefined(level.has_special_breach_anim[var_02["active"].prebreachcurrentweapon]); + if(var_0B) + { + level.slowmo_breach_start_delay = 2.25; + set_door_charge_anim_special(); + var_0A = 0.5; + } + else + { + level.slowmo_breach_start_delay = 2.15; + set_door_charge_anim_normal(); + var_0A = 0.2; + } + + var_02["active"] thread play_detpack_plant_sound(var_0A); + if(maps\_utility::is_coop()) + { + if(!isdefined(level.player_one_already_breached)) + { + level.breachenemies_alive = 0; + level.breachenemies_active = 0; + level.player_one_already_breached = 1; + } + } + else + { + level.breachenemies_alive = 0; + level.breachenemies_active = 0; + } + + var_0C = param_00.spawners["enemy"]; + common_scripts\utility::array_call(var_0C,::stalingradspawn); + var_0D = param_00.spawners["hostage"]; + common_scripts\utility::array_call(var_0D,::stalingradspawn); + var_02["active"] playerlinktoblend(var_03,"tag_player",0.2,0.1,0.1); + if(isdefined(var_02["active"].dont_unlink_after_breach)) + { + thread maps\_utility::open_up_fov(0.2,var_03,"tag_player",45,45,90,45); + } + + if(var_04) + { + var_02["passive"] playerlinktoblend(var_05,"tag_player",0.2,0.1,0.1); + if(isdefined(var_02["passive"].dont_unlink_after_breach)) + { + thread maps\_utility::open_up_fov(0.2,var_05,"tag_player",45,45,90,45); + } + } + + var_02["active"] thread take_prebreach_weapons(); + if(!var_0B) + { + wait(0.05); + } + + var_0E = self.charge; + thread maps\_anim::anim_single_solo(var_0E,"breach"); + var_0E show(); + var_02["active"] thread restore_prebreach_weapons(); + var_0F = 0; + if(var_04) + { + thread maps\_anim::anim_single_solo(var_05,"breach_player_anim"); + var_02["passive"].animname = "passive_breacher_3rd_person"; + var_02["passive"] thread maps\_anim::anim_single_solo(var_02["passive"],"breach_player_anim"); + var_02["passive"] thread enable_passive_weapons(); + var_02["passive"] thread restore_prebreach_weapons(); + var_02["active"].animname = "active_breacher_3rd_person"; + var_02["active"] thread maps\_anim::anim_single_solo(var_02["active"],"breach_player_anim"); + } + + maps\_anim::anim_single_solo(var_03,"breach_player_anim"); + level notify("sp_slowmo_breachanim_done"); + thread flag_set_when_room_cleared(var_09); + var_10 = param_00.path_solids; + common_scripts\utility::array_call(var_10,::connectpaths); + common_scripts\utility::array_thread(var_10,::maps\_utility::self_delete); + foreach(param_01 in var_02) + { + if(isdefined(param_01.dont_unlink_after_breach)) + { + var_0F = 1; + special_gulag_adjustment(); + } + else + { + param_01 unlink(); + } + + param_01 show(); + } + + if(var_0F) + { + level waittill("breach_concludes"); + } + + var_02["active"] disablebreaching(); + foreach(param_01 in var_02) + { + if(!isdefined(level.slowmo_breach_disable_stancemod)) + { + param_01 disableinvulnerability(); + param_01 enableweaponswitch(); + param_01 enableoffhandweapons(); + param_01 allowcrouch(1); + param_01 allowprone(1); + param_01 allowsprint(1); + param_01 allowjump(1); + } + + param_01 common_scripts\utility::_enableusability(); + } + + return 1; +} + +//Function Number: 48 +play_detpack_plant_sound(param_00) +{ + self endon("death"); + wait(param_00); + self playsound("detpack_wall_plant"); +} + +//Function Number: 49 +flag_set_when_room_cleared(param_00) +{ + var_01 = param_00.script_flag; + level endon(var_01); + var_02 = param_00 maps\_utility::get_ai_touching_volume("bad_guys"); + maps\_utility::waittill_dead(var_02); + level notify("breach_room_has_been_cleared"); + level.breachenemies = undefined; + common_scripts\utility::flag_set(var_01); +} + +//Function Number: 50 +take_prebreach_weapons() +{ + self giveweapon("usp_scripted"); + self switchtoweaponimmediate("usp_scripted"); + if(isdefined(level.has_special_breach_anim[self.prebreachcurrentweapon])) + { + self switchtoweaponimmediate(self.prebreachcurrentweapon); + } +} + +//Function Number: 51 +restore_prebreach_weapons() +{ + wait(0.5); + self takeweapon("usp_scripted"); + if(isdefined(self.prebreachcurrentweapon)) + { + var_00 = self.prebreachcurrentweapon; + self switchtoweapon(var_00); + if(should_topoff_breach_weapon(var_00)) + { + var_01 = weaponclipsize(var_00); + if(self getweaponammoclip(var_00) < var_01) + { + self setweaponammoclip(var_00,var_01); + } + } + + self.prebreachcurrentweapon = undefined; + } +} + +//Function Number: 52 +enable_passive_weapons() +{ + wait(2.2); + self enableweapons(); +} + +//Function Number: 53 +should_topoff_breach_weapon(param_00) +{ + if(level.gameskill > 1) + { + return 0; + } + + if(isdefined(level.breach_no_auto_reload)) + { + return !level.breach_no_auto_reload; + } + + if(!isdefined(self.prebreachcurrentweapon)) + { + return 0; + } + + if(param_00 != self.prebreachcurrentweapon) + { + return 0; + } + + return 1; +} + +//Function Number: 54 +friendly_breach(param_00,param_01,param_02) +{ + var_03 = param_02.script_flag; + if(param_00 == 2) + { + var_04 = "breach_friend_idle_02"; + var_05 = "breach_friend_enter_02"; + } + else + { + var_04 = "breach_friend_idle_01"; + var_05 = "breach_friend_enter_01"; + } + + self.breaching = 1; + var_06 = 1; + if(!isdefined(self.magic_bullet_shield)) + { + var_06 = 0; + thread maps\_utility::magic_bullet_shield(); + } + + wait(0.5); + self forceteleport(param_01.origin,param_01.angles); + param_01 thread maps\_anim::anim_generic_loop(self,var_04,"stop_idle"); + self setgoalpos(self.origin); + wait(3); + thread friendlies_shoot_while_breaching(param_00); + param_01 notify("stop_idle"); + param_01 maps\_anim::anim_generic(self,var_05); + self setgoalpos(self.origin); + level notify("friendlies_finished_breach"); + common_scripts\utility::flag_wait(var_03); + if(!var_06) + { + maps\_utility::stop_magic_bullet_shield(); + } + + self.breaching = undefined; +} + +//Function Number: 55 +friendlies_shoot_while_breaching(param_00) +{ + if(param_00 == 1) + { + wait(1); + } + else + { + wait(2); + } + + level endon("friendlies_finished_breach"); + level endon("breach_room_has_been_cleared"); + while(!isdefined(level.breachenemies)) + { + wait(0.05); + } + + while(isdefined(level.breachenemies) && level.breachenemies.size) + { + wait(0.05); + if(!isdefined(level.breachenemies)) + { + break; + } + + level.breachenemies = maps\_utility::remove_dead_from_array(level.breachenemies); + foreach(var_02 in level.breachenemies) + { + if(!isalive(var_02) || !isdefined(var_02)) + { + continue; + } + + var_03 = var_02 gettagorigin("tag_eye"); + var_04 = self getmuzzlepos(); + var_05 = self getshootatpos() - var_04; + if(self canshoot(var_03,var_05)) + { + magicbullet(self.weapon,self getmuzzlepos(),var_03); + bullettracer(self getmuzzlepos(),var_03,1); + wait(0.5); + } + } + } +} + +//Function Number: 56 +get_available_breachfriendlies(param_00) +{ + var_01 = []; + if(!isdefined(level.breachfriendlies)) + { + return var_01; + } + + var_01 = maps\_utility::array_removedead(level.breachfriendlies); + var_02 = getdvar("breach_requires_friendlies_in_position") == "1"; + foreach(var_04 in var_01) + { + if(isdefined(var_04.breaching) && var_04.breaching == 1) + { + var_01 = common_scripts\utility::array_remove(var_01,var_04); + continue; + } + + if(var_02 && !var_04 istouching(param_00)) + { + var_01 = common_scripts\utility::array_remove(var_01,var_04); + continue; + } + } + + return var_01; +} + +//Function Number: 57 +get_breach_notify(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = "none"; + } + + return "A door in breach group " + param_00 + " has been activated."; +} + +//Function Number: 58 +breach_group_trigger_think() +{ + var_00 = self.script_breachgroup; + var_01 = get_breach_notify(var_00); + level waittill(var_01); + waittillframeend; + self notify("trigger"); +} + +//Function Number: 59 +slowmo_player_cleanup() +{ + if(isdefined(level.playerspeed)) + { + self setmovespeedscale(level.playerspeed); + return; + } + + self setmovespeedscale(1); +} + +//Function Number: 60 +slowmo_begins(param_00) +{ + if(isdefined(level.breaching) && level.breaching == 1) + { + return; + } + + level.breaching = 1; + common_scripts\utility::flag_set("breaching_on"); + level notify("slowmo_go"); + level endon("slowmo_go"); + var_01 = 0.5; + var_02 = 0.75; + var_03 = 0.2; + if(isdefined(level.slomobreachplayerspeed)) + { + var_03 = level.slomobreachplayerspeed; + } + + var_04 = level.player; + var_05 = undefined; + if(maps\_utility::is_coop()) + { + var_05 = maps\_utility::get_other_player(var_04); + } + + var_04 thread maps\_utility::play_sound_on_entity("slomo_whoosh_in"); + var_04 thread player_heartbeat(); + thread slomo_breach_vision_change(var_01 * 2,var_02 / 2); + thread slomo_difficulty_dvars(); + common_scripts\utility::flag_clear("can_save"); + maps\_utility::slowmo_start(); + var_04 thread set_breaching_variable(); + if(isdefined(var_05)) + { + var_05 thread set_breaching_variable(); + } + + var_04 allowmelee(0); + if(isdefined(var_05)) + { + var_05 allowmelee(0); + } + + maps\_utility::slowmo_setspeed_slow(0.25); + maps\_utility::slowmo_setlerptime_in(var_01); + maps\_utility::slowmo_lerp_in(); + var_04 setmovespeedscale(var_03); + if(isdefined(var_05)) + { + var_05 setmovespeedscale(var_03); + } + + var_06 = gettime(); + var_07 = var_06 + level.slomobreachduration * 1000; + if(!maps\_utility::is_coop()) + { + var_04 thread catch_weapon_switch(); + } + + var_04 thread catch_mission_failed(); + if(isdefined(var_05)) + { + var_05 thread catch_mission_failed(); + } + + var_08 = 500; + var_09 = 1000; + for(;;) + { + if(isdefined(level.forced_slowmo_breach_slowdown)) + { + if(!level.forced_slowmo_breach_slowdown) + { + if(isdefined(level.forced_slowmo_breach_lerpout)) + { + var_02 = level.forced_slowmo_breach_lerpout; + } + + break; + } + + wait(0.05); + continue; + } + + if(gettime() >= var_07) + { + break; + } + + if(level.breachenemies_active <= 0 && level.breachignoreenemy_count == 0) + { + var_02 = 1.15; + break; + } + + if(!maps\_utility::is_coop()) + { + if(var_04.lastreloadstarttime >= var_06 + var_08) + { + break; + } + + if(var_04.switchedweapons && gettime() - var_06 > var_09) + { + break; + } + } + + if(maps\_utility::is_specialop() && common_scripts\utility::flag("special_op_terminated")) + { + break; + } + + if(var_04.breach_missionfailed || maps\_utility::is_coop() && var_05.breach_missionfailed) + { + var_02 = 0.5; + break; + } + + wait(0.05); + } + + level notify("slowmo_breach_ending",var_02); + level notify("stop_player_heartbeat"); + var_04 thread maps\_utility::play_sound_on_entity("slomo_whoosh_out"); + maps\_utility::slowmo_setlerptime_out(var_02); + maps\_utility::slowmo_lerp_out(); + var_04 allowmelee(1); + if(isdefined(var_05)) + { + var_05 allowmelee(1); + } + + var_04 maps\_utility::delaythread(var_02,::clear_breaching_variable); + if(isdefined(var_05)) + { + var_05 maps\_utility::delaythread(var_02,::clear_breaching_variable); + } + + maps\_utility::slowmo_end(); + common_scripts\utility::flag_set("can_save"); + level.player_one_already_breached = undefined; + var_04 slowmo_player_cleanup(); + if(isdefined(var_05)) + { + var_05 slowmo_player_cleanup(); + } + + level notify("slomo_breach_over"); + level.breaching = 0; + common_scripts\utility::flag_clear("breaching_on"); + setsaveddvar("objectiveHide",0); +} + +//Function Number: 61 +set_breaching_variable() +{ + self endon("clear_breaching_variable"); + self.isbreaching = 1; + self.breaching_shots_fired = 0; + self.achieve_slowmo_breach_kills = undefined; + var_00 = self getcurrentweaponclipammo(); + self notifyonplayercommand("player_shot_fired","+attack"); + self notifyonplayercommand("player_shot_fired","+attack_akimbo_accessible"); + while(isdefined(self.isbreaching)) + { + self waittill("player_shot_fired"); + self.breaching_shots_fired = var_00 - self getcurrentweaponclipammo(); + wait(0.05); + while(self isfiring()) + { + self.breaching_shots_fired = var_00 - self getcurrentweaponclipammo(); + wait(0.05); + } + } +} + +//Function Number: 62 +clear_breaching_variable() +{ + self.isbreaching = undefined; + thread maps\_utility::notify_delay("clear_breaching_variable",0.25); +} + +//Function Number: 63 +slomo_difficulty_dvars() +{ + var_00 = getdvar("bg_viewKickScale"); + var_01 = getdvar("bg_viewKickMax"); + setsaveddvar("bg_viewKickScale",0.3); + setsaveddvar("bg_viewKickMax","15"); + setsaveddvar("bullet_penetration_damage",0); + level waittill("slowmo_breach_ending"); + setsaveddvar("bg_viewKickScale",var_00); + setsaveddvar("bg_viewKickMax",var_01); + wait(2); + setsaveddvar("bullet_penetration_damage",1); +} + +//Function Number: 64 +slomo_breach_vision_change(param_00,param_01) +{ + if(!isdefined(level.slomobasevision)) + { + return; + } + + visionsetnaked("slomo_breach",param_00); + level waittill("slowmo_breach_ending",var_02); + if(isdefined(var_02)) + { + param_01 = var_02; + } + + wait(1); + visionsetnaked(level.slomobasevision,param_01); +} + +//Function Number: 65 +player_heartbeat() +{ + level endon("stop_player_heartbeat"); + for(;;) + { + self playlocalsound("breathing_heartbeat"); + wait(0.5); + } +} + +//Function Number: 66 +catch_weapon_switch() +{ + level endon("slowmo_breach_ending"); + self.switchedweapons = 0; + common_scripts\utility::waittill_any("weapon_switch_started","night_vision_on","night_vision_off"); + self.switchedweapons = 1; +} + +//Function Number: 67 +catch_mission_failed() +{ + level endon("slowmo_breach_ending"); + self.breach_missionfailed = 0; + level waittill("mission failed"); + self.breach_missionfailed = 1; +} + +//Function Number: 68 +breach_enemy_spawner_think() +{ + var_00 = self.spawner; + self endon("death"); + maps\_utility::add_damage_function(::record_last_player_damage); + thread breach_enemy_ignored_by_friendlies(); + thread breach_enemy_ragdoll_on_death(); + level thread breach_enemy_track_status(self); + if(isdefined(self.script_parameters) && common_scripts\utility::string_starts_with(self.script_parameters,"reference")) + { + var_00 = getent(self.script_parameters,"targetname"); + } + + self.reference = var_00; + var_00 maps\_anim::anim_generic_first_frame(self,self.animation); + if(isdefined(level._slowmo_functions[self.animation])) + { + var_01 = level._slowmo_functions[self.animation]; + self thread [[ var_01 ]](); + } + + self.grenadeammo = 0; + self.allowdeath = 1; + self.health = 10; + self.baseaccuracy = 5000; + if(isdefined(self.script_threatbias)) + { + self.threatbias = self.script_threatbias; + } + + if(isdefined(level.breach_death_anims[self.animation])) + { + self.skipdeathanim = 1; + } + + wait(level.slowmo_breach_start_delay); + maps\_utility::script_delay(); + self notify("starting_breach_reaction"); + level notify("breach_enemy_anims"); + var_00 maps\_anim::anim_generic_gravity(self,self.animation); + self notify("finished_breach_start_anim"); +} + +//Function Number: 69 +record_last_player_damage(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + if(!isalive(param_01)) + { + return; + } + + if(!isplayer(param_01)) + { + return; + } + + if(!self isbadguy()) + { + return; + } + + level.last_player_damage = gettime(); +} + +//Function Number: 70 +breach_enemy_ignored_by_friendlies() +{ + self endon("death"); + if(!common_scripts\utility::flag("no_mercy")) + { + self.ignoreme = 1; + } + + level common_scripts\utility::waittill_either("slomo_breach_over","friendlies_finished_breach"); + if(isdefined(self)) + { + self.ignoreme = 0; + } +} + +//Function Number: 71 +breach_enemy_ragdoll_on_death() +{ + self endon("breach_enemy_cancel_ragdoll_death"); + self.ragdoll_immediate = 1; + var_00 = common_scripts\utility::waittill_any_return("death","finished_breach_start_anim"); + if(var_00 == "finished_breach_start_anim") + { + self.ragdoll_immediate = undefined; + } +} + +//Function Number: 72 +breach_enemy_cancel_ragdoll() +{ + self notify("breach_enemy_cancel_ragdoll_death"); + self.ragdoll_immediate = undefined; +} + +//Function Number: 73 +breach_enemy_track_status(param_00) +{ + level.breachenemies_active++; + var_01 = spawnstruct(); + var_01.enemy = param_00; + var_01 thread breach_enemy_waitfor_death(param_00); + var_01 thread breach_enemy_waitfor_death_counter(param_00); + var_01 thread breach_enemy_catch_exceptions(param_00); + var_01 thread breach_enemy_waitfor_breach_ending(); + var_01 waittill("breach_status_change",var_02); + level.breachenemies_active--; + var_01 = undefined; +} + +//Function Number: 74 +breach_enemy_waitfor_death(param_00) +{ + self endon("breach_status_change"); + param_00 waittill("death"); + self notify("breach_status_change","death"); +} + +//Function Number: 75 +breach_enemy_waitfor_death_counter(param_00) +{ + level.breachenemies_alive++; + param_00 waittill("death"); + level.breachenemies_alive--; + if(level.breachenemies_alive <= 0) + { + breach_friendlies_restore_grenades(); + } + + level notify("breach_all_enemies_dead"); +} + +//Function Number: 76 +breach_enemy_catch_exceptions(param_00) +{ + self endon("breach_status_change"); + while(isalive(param_00)) + { + wait(0.05); + } + + self notify("breach_status_change","exception"); +} + +//Function Number: 77 +breach_enemy_waitfor_breach_ending() +{ + self endon("breach_status_change"); + level waittill("slowmo_breach_ending"); + self notify("breach_status_change","breach_ending"); +} + +//Function Number: 78 +breach_hostage_spawner_think() +{ + self endon("death"); + self.breachfinished = 0; + var_00 = self.spawner; + self.reference = var_00; + self endon("cancel_breach_behavior"); + thread hostage_mission_fail(); + maps\_anim::anim_generic_first_frame(self,self.animation); + self.health = 10; + self.no_friendly_fire_penalty = 1; + self.ignorerandombulletdamage = 1; + wait(level.slowmo_breach_start_delay); + if(isdefined(level._slowmo_functions[self.animation])) + { + var_01 = level._slowmo_functions[self.animation]; + self thread [[ var_01 ]](); + } + + self.allowdeath = 1; + var_00 maps\_anim::anim_generic(self,self.animation); + self notify("finished_breach_start_anim"); + if(isdefined(self.skipendingidle)) + { + return; + } + + if(anim_exists(self.animation + "_idle")) + { + thread maps\_anim::anim_generic_loop(self,self.animation + "_idle","stop_idle"); + } + else + { + var_02 = "hostage_knees_loop"; + thread maps\_anim::anim_generic_loop(self,var_02,"stop_idle"); + } + + self.breachfinished = 1; +} + +//Function Number: 79 +hostage_health_regen() +{ + var_00 = self.health; + self endon("death"); + self endon("saved"); + while(isdefined(self)) + { + self waittill("damage",var_01,var_02); + if(isdefined(var_02)) + { + if(isplayer(var_02)) + { + self kill(self.origin,level.player); + break; + } + else if(isdefined(var_02.team) && var_02.team == "allies") + { + self.health = var_00; + } + } + } +} + +//Function Number: 80 +get_room_volume_from_slomo_breach_number(param_00) +{ + return level.breach_groups[param_00].room_volume; +} + +//Function Number: 81 +hostage_mission_fail() +{ + if(maps\_utility::is_specialop()) + { + level endon("special_op_terminated"); + } + + level endon("mission failed"); + var_00 = self.health; + var_01 = 0; + thread hostage_health_regen(); + var_02 = get_room_volume_from_slomo_breach_number(self.script_slowmo_breach); + if(getdvar("hostage_missionfail") == "0") + { + return; + } + + while(isdefined(self)) + { + self waittill("death",var_03); + if(isdefined(var_03)) + { + if(isplayer(var_03)) + { + level notify("player_shot_a_hostage"); + waittillframeend; + if(level.last_player_damage == gettime()) + { + maps\_player_death::set_deadquote(&"SCRIPT_MISSIONFAIL_KILLEDHOSTAGE"); + } + else + { + maps\_player_death::set_deadquote(&"SCRIPT_MISSIONFAIL_KILLEDHOSTAGE","@SCRIPT_MISSIONFAIL_KILLEDHOSTAGE"); + } + + var_01 = 1; + } + else if(isdefined(var_03.team) && var_03.team == "allies" && !isplayer(var_03)) + { + maps\_player_death::set_deadquote(&"SCRIPT_MISSIONFAIL_HOSTAGEEXECUTED"); + var_01 = 1; + } + else + { + if(coop_breached_from_same_door_in_a_muliti_door_room(var_02)) + { + maps\_player_death::set_deadquote(&"SCRIPT_MISSIONFAIL_HOSTAGEEXECUTED_USEMULTIDOOR"); + } + else + { + maps\_player_death::set_deadquote(&"SCRIPT_MISSIONFAIL_HOSTAGEEXECUTED"); + } + + var_01 = 1; + } + } + + if(var_01 == 1) + { + thread maps\_utility::missionfailedwrapper(); + level notify("mission failed"); + } + } +} + +//Function Number: 82 +coop_breached_from_same_door_in_a_muliti_door_room(param_00) +{ + if(!maps\_utility::is_specialop()) + { + return 0; + } + + if(!maps\_utility::is_coop()) + { + return 0; + } + + if(isdefined(param_00.has_passive_breacher)) + { + return 1; + } + + return 0; +} + +//Function Number: 83 +script_models() +{ + level.scr_anim["breach_door_model"]["breach"] = %breach_player_door_v2; + level.scr_animtree["breach_door_model"] = #animtree; + level.scr_model["breach_door_model"] = "com_door_01_handleright"; + level.scr_anim["breach_door_hinge"]["breach"] = %breach_player_door_hinge_v1; + level.scr_animtree["breach_door_hinge"] = #animtree; + level.scr_model["breach_door_hinge"] = "com_door_piece_hinge"; + level.scr_anim["breach_door_model_metal"]["breach"] = %breach_player_door_v2; + level.scr_animtree["breach_door_model_metal"] = #animtree; + level.scr_model["breach_door_model_metal"] = "breach_door_metal_right"; + level.scr_anim["breach_door_hinge_metal"]["breach"] = %breach_player_door_metal; + level.scr_animtree["breach_door_hinge_metal"] = #animtree; + level.scr_model["breach_door_hinge_metal"] = "breach_door_metal_right_dst"; + level.scr_anim["breach_door_charge"]["breach"] = %breach_player_frame_charge_v3; + level.scr_animtree["breach_door_charge"] = #animtree; + level.scr_model["breach_door_charge"] = "mil_frame_charge"; + level.scr_animtree["desk"] = #animtree; + level.scr_anim["desk"]["breach_react_desk_v7_desk"] = %breach_react_desk_v7_desk; + level.scr_animtree["chair"] = #animtree; + level.scr_anim["chair"]["breach_chair_hide_reaction_v2_chair"] = %breach_chair_hide_reaction_v2_chair; + level.scr_anim["chair"]["breach_chair_hide_reaction_death_v2_chair"] = %breach_chair_hide_reaction_death_v2_chair; +} + +//Function Number: 84 +set_door_charge_anim_normal() +{ + level.scr_anim["breach_door_charge"]["breach"] = %breach_player_frame_charge_v3; +} + +//Function Number: 85 +set_door_charge_anim_special() +{ + level.scr_anim["breach_door_charge"]["breach"] = %breach_player_frame_charge; +} + +//Function Number: 86 +player_animations() +{ + if(!isdefined(level.slowmo_viewhands)) + { + level.slowmo_viewhands = "viewhands_player_sas_woodland"; + } + + level.scr_animtree["active_breacher_rig"] = #animtree; + level.scr_model["active_breacher_rig"] = level.slowmo_viewhands; + level.scr_anim["active_breacher_rig"]["breach_player_anim"] = %breach_coop_player_1; + level._slowmo_breach_funcs = []; + add_breach_func(::breach_explosion); + maps\_anim::addnotetrack_customfunction("active_breacher_rig","explode",::breach_functions); + maps\_anim::addnotetrack_customfunction("active_breacher_rig","slowmo",::slowmo_begins); +} + +//Function Number: 87 +add_breach_func(param_00) +{ + level._slowmo_breach_funcs[level._slowmo_breach_funcs.size] = param_00; +} + +//Function Number: 88 +breach_functions(param_00) +{ + foreach(var_02 in level._slowmo_breach_funcs) + { + thread [[ var_02 ]](param_00); + } +} + +//Function Number: 89 +breach_explosion(param_00) +{ + var_01 = level.breach_groups[self.breach_index]; + var_02 = undefined; + var_03 = undefined; + switch(var_01.doortype) + { + case "wood": + var_02 = "detpack_explo_wood"; + var_03 = "breach_door_hinge"; + break; + + case "estate_wood": + var_02 = "detpack_explo_wood"; + var_03 = "breach_door_hinge_estate"; + break; + + case "estate_wood_backwards": + var_02 = "detpack_explo_wood"; + var_03 = undefined; + break; + + case "caves_wood": + var_02 = "detpack_explo_wood"; + var_03 = "breach_door_hinge_caves"; + break; + + case "payback_wood": + var_02 = "pybk_breach_blast"; + var_03 = "breach_door_hinge_payback"; + break; + + case "metal": + var_02 = "detpack_explo_metal"; + var_03 = "breach_door_hinge_metal"; + break; + + case "none": + var_02 = "detpack_explo_concrete"; + break; + + default: + break; + } + + if(isdefined(var_02)) + { + thread common_scripts\utility::play_sound_in_space(var_02,self.charge.origin); + } + + common_scripts\_exploder::exploder("breach_" + self.breach_index); + thread breach_rumble(self.charge.origin); + self.charge delete(); + level notify("breach_explosion"); + if(isdefined(var_03)) + { + var_04 = maps\_utility::spawn_anim_model(var_03); + self.post thread maps\_anim::anim_single_solo(var_04,"breach"); + } + + wait(0.05); + if(isdefined(self.door)) + { + self.door delete(); + } +} + +//Function Number: 90 +breach_rumble(param_00) +{ + var_01 = spawn("script_origin",param_00); + var_01.origin = param_00; + var_01 playrumbleonentity("grenade_rumble"); + wait(4); + var_01 delete(); +} + +//Function Number: 91 +_slomo_breach_executioner_knife() +{ + self endon("death"); + self.dodamagetoall = 1; + thread knife_guy_cleanup(); +} + +//Function Number: 92 +_slomo_breach_executioner_pistol() +{ + self endon("death"); + self.dodamagetoall = 1; + thread _slomo_breach_pistol_guy(); +} + +//Function Number: 93 +_slomo_breach_pistol_guy() +{ + animscripts\notetracks::notetrackpistolpickup(); +} + +//Function Number: 94 +_slomo_breach_blowback_guy() +{ + self endon("death"); + if(!common_scripts\utility::flag("no_mercy")) + { + self.ignoreme = 1; + } + + self.forcelongdeath = 1; + maps\_utility::waittill_notetrack_or_damage("bodyfall large"); + self waittill("finished_breach_start_anim"); + self dodamage(self.health - 1,self.origin); +} + +//Function Number: 95 +_slomo_breach_executed_guy() +{ + if(self.animation == "execution_knife_hostage" || self.animation == "execution_knife2_hostage") + { + thread _slomo_breach_knife_hostage_death(); + } + + if(will_be_manhandled()) + { + thread get_manhandled(); + } + + self.skipendingidle = 1; + self endon("death"); + maps\_utility::set_generic_deathanim(self.animation + "_death"); + self waittill("finished_breach_start_anim"); + if(isdefined(self.manhandled)) + { + return; + } + + if(anim_exists(self.animation + "_survives")) + { + self.reference maps\_anim::anim_generic(self,self.animation + "_survives"); + } + + thread maps\_anim::anim_generic_loop(self,self.animation + "_idle","stop_idle"); + self.breachfinished = 1; +} + +//Function Number: 96 +_slomo_breach_hostage_react() +{ + if(will_be_manhandled()) + { + thread get_manhandled(); + } + + self.skipendingidle = 1; + self waittill("finished_breach_start_anim"); + if(isdefined(self.manhandled)) + { + return; + } + + if(anim_exists(self.animation + "_idle")) + { + thread maps\_anim::anim_generic_loop(self,self.animation + "_idle","stop_idle"); + } + + self.breachfinished = 1; +} + +//Function Number: 97 +_slomo_breach_c4_hostage() +{ + var_00 = spawn("script_model",self.reference.origin); + var_00 setmodel("com_restaurantchair_2"); + var_00.angles = self.reference.angles + (0,90,0); + var_00.origin = self.reference.origin; +} + +//Function Number: 98 +_slomo_breach_knife_hostage_death() +{ + var_00 = maps\_utility::get_closest_ai(self.origin,"bad_guys"); + self waittill("finished_breach_start_anim"); + if(isdefined(var_00) && isalive(var_00)) + { + playfxontag(common_scripts\utility::getfx("breach_knife_execution"),self,"J_neck"); + thread maps\_utility::play_sound_on_entity("melee_knife_hit_body"); + self kill(); + } +} + +//Function Number: 99 +_slomo_breach_executed_guy_pushed_to_floor() +{ + self.skipendingidle = 1; + self endon("death"); + if(will_be_manhandled()) + { + thread get_manhandled(); + } + + self waittillmatch("bodyfall large","single anim"); + maps\_utility::set_generic_deathanim(self.animation + "_death"); + self waittill("finished_breach_start_anim"); + maps\_anim::anim_generic(self,self.animation + "_survives"); + if(isdefined(self.manhandled)) + { + return; + } + + thread maps\_anim::anim_generic_loop(self,"hostage_knees_loop","stop_idle"); + self.breachfinished = 1; +} + +//Function Number: 100 +_slomo_breach_fightback_guy() +{ + self.skipendingidle = 1; + self endon("death"); + self waittill("finished_breach_start_anim"); + maps\_utility::set_generic_deathanim(self.animation + "_death"); + maps\_anim::anim_generic(self,self.animation + "_survives"); + thread maps\_anim::anim_generic_loop(self,"hostage_knees_loop","stop_idle"); + self.breachfinished = 1; +} + +//Function Number: 101 +_slomo_breach_knife_charger() +{ + self endon("death"); + breach_enemy_cancel_ragdoll(); + maps\_utility::set_generic_deathanim(self.animation + "_death"); + self waittillmatch("stab","single anim"); + wait(0.1); + thread knife_guy_stabs_player(); + self waittill("finished_breach_start_anim"); +} + +//Function Number: 102 +knife_guy_stabs_player() +{ + var_00 = maps\_utility::get_closest_player(self.origin); + var_01 = distance(var_00.origin,self.origin); + if(var_01 <= 50) + { + var_00 playrumbleonentity("grenade_rumble"); + var_00 thread maps\_utility::play_sound_on_entity("melee_knife_hit_body"); + var_00 enablehealthshield(0); + var_00 enabledeathshield(0); + waittillframeend; + var_00 dodamage(var_00.health + 50000,self gettagorigin("tag_weapon_right"),self); + var_00.breach_missionfailed = 1; + } +} + +//Function Number: 103 +knife_guy_cleanup() +{ + wait(0.5); + common_scripts\utility::waittill_either("damage","finished_breach_start_anim"); + if(isdefined(self)) + { + self detach("weapon_parabolic_knife","TAG_INHAND"); + } +} + +//Function Number: 104 +_slomo_breach_chair_guy_normal() +{ + self endon("death"); + breach_enemy_cancel_ragdoll(); + var_00 = randomintrange(1,3); + if(common_scripts\utility::cointoss()) + { + maps\_utility::set_generic_deathanim(self.animation + "_death"); + return; + } + + maps\_utility::set_generic_deathanim(self.animation + "_death2"); +} + +//Function Number: 105 +_slomo_breach_chair_guy_animated() +{ + self endon("death"); + breach_enemy_cancel_ragdoll(); + maps\_utility::set_generic_deathanim(self.animation + "_death"); + thread chair_animate(); + self waittill("finished_breach_start_anim"); + thread _slomo_breach_chair_guy_normal(); +} + +//Function Number: 106 +chair_animate() +{ + var_00 = spawn("script_model",self.reference.origin); + var_00 setmodel("furniture_chair_metal01"); + var_00.animname = "chair"; + var_00 maps\_utility::assign_animtree(); + var_00.reference = spawn("script_origin",self.reference.origin); + var_00.reference.angles = self.reference.angles; + self waittill("starting_breach_reaction"); + var_00.reference thread maps\_anim::anim_single_solo(var_00,"breach_chair_hide_reaction_v2_chair"); + self endon("finished_breach_start_anim"); + if(isalive(self)) + { + self waittill("death"); + var_00.reference thread maps\_anim::anim_single_solo(var_00,"breach_chair_hide_reaction_death_v2_chair"); + } +} + +//Function Number: 107 +_slomo_breach_desk_guy() +{ + self endon("death"); + thread desk_animate(); + self waittill("finished_breach_start_anim"); +} + +//Function Number: 108 +desk_animate() +{ + var_00 = spawn("script_model",self.reference.origin); + var_00 setmodel("furniture_long_desk_animate"); + var_00.animname = "desk"; + var_00 maps\_utility::assign_animtree(); + var_00.reference = spawn("script_origin",self.reference.origin); + var_00.reference.angles = self.reference.angles; + self waittill("starting_breach_reaction"); + var_00.reference thread maps\_anim::anim_single_solo(var_00,"breach_react_desk_v7_desk"); +} + +//Function Number: 109 +breach_near_player(param_00) +{ + foreach(var_02 in level.breach_groups) + { + if(param_00 istouching(var_02.door_volume)) + { + return var_02; + } + } +} + +//Function Number: 110 +get_breach_groups() +{ + var_00 = getarraykeys(level.breach_groups); + return var_00; +} + +//Function Number: 111 +make_empty_breach(param_00) +{ + level.breach_groups[param_00].enabled = 0; +} + +//Function Number: 112 +delete_breach(param_00) +{ + level.breach_groups[param_00].trigger delete(); + var_01 = level.breach_groups[param_00].path_solids; + common_scripts\utility::array_call(var_01,::connectpaths); + common_scripts\utility::array_thread(var_01,::maps\_utility::self_delete); + foreach(var_03 in level.breach_groups[param_00].lookat_triggers) + { + var_03 delete(); + } +} + +//Function Number: 113 +breach_debug_display_animnames(param_00) +{ + if(!isdefined(self)) + { + return; + } + + var_01 = self.origin; + wait(0.05); + if(getdvar("breach_debug") == "0") + { + return; + } + + var_02 = []; + var_03 = getentarray("breach_enemy_spawner","targetname"); + var_04 = getentarray("breach_hostage_spawner","targetname"); + var_02 = maps\_utility::array_merge(var_03,var_04); + foreach(var_06 in var_02) + { + if(!var_06 istouching(param_00)) + { + var_02 = common_scripts\utility::array_remove(var_02,var_06); + } + } + + while(!param_00.breached) + { + var_08 = var_01; + foreach(var_06 in var_02) + { + if(isdefined(var_06.animation)) + { + thread maps\_utility::debug_message(var_06.animation,var_08,1); + var_08 = var_08 - (0,0,10); + } + } + + wait(1); + } +} + +//Function Number: 114 +will_be_manhandled() +{ + if(maps\_utility::is_coop()) + { + return 0; + } + + if(isdefined(level.hostagemanhandle) && level.hostagemanhandle == 0) + { + return 0; + } + + if(isdefined(self.script_noteworthy)) + { + return self.script_noteworthy == "manhandled" || self.script_noteworthy == "manhandled_guarded"; + } + + return 0; +} + +//Function Number: 115 +manhandler_hold() +{ + if(level.breachenemies_alive > 0) + { + return 1; + } + + if(!self.startmanhandling) + { + return 1; + } + + return 0; +} + +//Function Number: 116 +get_manhandled() +{ + self endon("death"); + self.manhandled = 1; + self.readytobemanhandled = 0; + self.startmanhandling = 0; + var_00 = undefined; + if(self.script_noteworthy == "manhandled") + { + var_00 = getent(self.target,"targetname"); + } + + var_01 = undefined; + var_02 = undefined; + var_03 = undefined; + var_04 = undefined; + var_05 = undefined; + var_06 = ""; + if(isdefined(self.script_parameters)) + { + var_06 = self.script_parameters; + } + + switch(self.script_noteworthy) + { + case "manhandled": + var_04 = self.animation + "_manhandled"; + break; + + case "manhandled_guarded": + var_04 = self.animation + "_manhandled_guarded"; + break; + } + + var_05 = var_04 + "_idle" + var_06; + var_02 = var_04 + "_prepare" + var_06; + var_03 = var_04 + "_prepare_idle" + var_06; + var_04 = var_04 + var_06; + assert_if_anim_not_defined(var_04); + assert_if_anim_not_defined(var_05); + if(self.script_noteworthy == "manhandled") + { + var_01 = var_00 maps\_utility::spawn_ai(1); + var_01 hide(); + self.reference maps\_anim::anim_generic_first_frame(var_01,var_01.animation); + var_01 pushplayer(1); + level.manhandler = var_01; + var_01.readytomanhandle = 0; + var_01 thread manhandler_think(); + } + + wait(1); + if(self.script_noteworthy == "manhandled") + { + var_01 show(); + } + + self waittill("finished_breach_start_anim"); + if(anim_exists(var_02)) + { + self.reference maps\_anim::anim_generic(self,var_02); + } + + if(anim_exists(var_03)) + { + self.reference thread maps\_anim::anim_generic_loop(self,var_03,"stop_idle"); + } + else + { + var_03 = undefined; + } + + self.readytobemanhandled = 1; + if(isdefined(var_03)) + { + while(manhandler_hold()) + { + wait(0.05); + } + } + + self.reference notify("stop_idle"); + self notify("stop_idle"); + if(self.script_noteworthy == "manhandled") + { + self.reference thread maps\_anim::anim_generic(var_01,var_01.animation); + } + + self.reference maps\_anim::anim_generic(self,var_04); + if(isdefined(var_01) && isdefined(level.scr_anim["generic"][var_01.animation + "_idle"])) + { + self.reference thread maps\_anim::anim_generic_loop(var_01,var_01.animation + "_idle","stop_idle"); + } + + if(isdefined(level.scr_anim["generic"][var_05])) + { + self.reference thread maps\_anim::anim_generic_loop(self,var_05,"stop_idle"); + } +} + +//Function Number: 117 +special_gulag_adjustment() +{ + var_00 = level.player getplayerangles(); + var_00 = (0,var_00[1],0); + var_01 = anglestoforward(var_00); + var_02 = anglestoup(var_00); + var_03 = common_scripts\utility::spawn_tag_origin(); + var_03.origin = level.player.origin; + var_03.angles = var_00; + level.player playerlinktodelta(var_03,"tag_origin",1,45,45,90,45,1); + var_04 = 0.45; + var_03 moveto(var_03.origin + var_01 * 32 + var_02 * -14,var_04,var_04 * 0.4,var_04 * 0.4); + wait(var_04); + level.player setmovespeedscale(0.5); + thread player_slows_down(); + level.player unlink(); + level.price_breach_ent thread price_breach_ent_rotatesto_player(); + level.price_breach_ent thread price_breach_ent_movesto_player(); +} + +//Function Number: 118 +player_slows_down() +{ + wait(0.25); + var_00 = level maps\_utility::create_blend(::player_loses_speedscale,0.5,0); + var_00.time = 1.5; +} + +//Function Number: 119 +price_breach_ent_movesto_player() +{ + self endon("stop_following_player"); + wait(1.5); + for(;;) + { + self moveto(level.player.origin,2,0,0); + wait(0.05); + } +} + +//Function Number: 120 +price_breach_ent_rotatesto_player() +{ + self endon("stop_following_player"); + var_00 = spawn("script_origin",(0,0,0)); + for(;;) + { + var_01 = level.player.origin; + var_01 = maps\_utility::set_z(var_01,0); + var_02 = self.origin; + var_02 = maps\_utility::set_z(var_02,0); + var_03 = vectortoangles(var_01 - var_02); + var_04 = anglestoforward(var_03); + var_05 = anglestoforward(self.angles); + var_06 = anglestoright(self.angles); + var_07 = vectordot(var_04,var_06); + var_00.angles = self.angles; + var_08 = abs(acos(var_07)); + var_09 = 2; + if(var_09 > var_08) + { + var_09 = var_08; + } + + if(var_07 < 0) + { + var_00 addyaw(var_09); + } + else + { + var_00 addyaw(var_09 * -1); + } + + self rotateto(var_00.angles,0.15); + wait(0.15); + } +} + +//Function Number: 121 +player_loses_speedscale(param_00,param_01,param_02) +{ + level.player setmovespeedscale(param_01 * 1 - param_00 + param_02 * param_00); +} + +//Function Number: 122 +manhandler_think() +{ + level endon("mission failed"); + if(getdvar("hostage_missionfail") == "1") + { + level endon("player_shot_a_hostage"); + } + + thread maps\_utility::magic_bullet_shield(); + maps\_utility::setflashbangimmunity(1); + if(!common_scripts\utility::flag("no_mercy")) + { + self.ignoreme = 1; + } + + self.grenadeawareness = 0; + wait(1); + var_00 = []; + var_01 = getaispeciesarray("neutral","civilian"); + foreach(var_03 in var_01) + { + if(!isdefined(var_03.readytobemanhandled)) + { + continue; + } + + if(isdefined(var_03.script_slowmo_breach) && var_03.script_slowmo_breach == self.script_slowmo_breach) + { + if(isdefined(var_03.script_noteworthy) && issubstr(var_03.script_noteworthy,"manhandled")) + { + var_00 = common_scripts\utility::array_add(var_00,var_03); + } + } + } + + var_05 = var_00.size; + var_06 = var_00; + while(var_05 > 0) + { + wait(0.05); + foreach(var_03 in var_06) + { + if(!isdefined(var_03) || var_03.readytobemanhandled == 1) + { + var_06 = common_scripts\utility::array_remove(var_06,var_03); + var_05--; + } + } + } + + foreach(var_03 in var_00) + { + if(isdefined(var_03)) + { + var_03.startmanhandling = 1; + } + } +} + +//Function Number: 123 +assert_if_anim_not_defined(param_00) +{ +} + +//Function Number: 124 +anim_exists(param_00) +{ + if(isdefined(level.scr_anim["generic"][param_00])) + { + return 1; + } + + return 0; +} + +//Function Number: 125 +add_slowmo_breach_custom_function(param_00,param_01) +{ + level._slowmo_functions[param_00] = param_01; +} + +//Function Number: 126 +add_slowmo_breacher() +{ + if(!isdefined(self)) + { + return; + } + + if(!isdefined(level.breachfriendlies)) + { + level.breachfriendlies = []; + level.breachfriendlies[0] = self; + return; + } + + if(maps\_utility::is_in_array(level.breachfriendlies,self)) + { + return; + } + + level.breachfriendlies = common_scripts\utility::array_add(level.breachfriendlies,self); +} + +//Function Number: 127 +remove_slowmo_breacher() +{ + if(!isdefined(self)) + { + return; + } + + if(!isdefined(level.breachfriendlies)) + { + return; + } + + if(maps\_utility::is_in_array(level.breachfriendlies,self)) + { + level.breachfriendlies = common_scripts\utility::array_remove(level.breachfriendlies,self); + } +} + +//Function Number: 128 +breach_failed_to_start() +{ + var_00 = []; + var_00[var_00.size] = ::ismeleeing; + var_00[var_00.size] = ::isreloading; + var_00[var_00.size] = ::isthrowinggrenade; + foreach(var_02 in level.players) + { + if(var_02 isreloading()) + { + thread breach_reloading_hint(); + return 1; + } + + if(var_02 using_illegal_breach_weapon()) + { + thread breach_bad_weapon_hint(); + return 1; + } + + foreach(var_04 in var_00) + { + if(var_02 [[ var_04 ]]()) + { + thread breach_not_ready_hint(); + return 1; + } + } + } + + return 0; +} + +//Function Number: 129 +using_illegal_breach_weapon() +{ + var_00 = []; + var_00["riotshield"] = 1; + var_00["claymore"] = 1; + var_00["c4"] = 1; + var_00["none"] = 1; + var_01 = self getcurrentweapon(); + return isdefined(var_00[var_01]); +} + +//Function Number: 130 +slomo_sound_scale_setup() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/_sniper_glint.gsc b/AW/PC/maps/_sniper_glint.gsc new file mode 100644 index 0000000..09c1f2d --- /dev/null +++ b/AW/PC/maps/_sniper_glint.gsc @@ -0,0 +1,15 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _sniper_glint.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:22:46 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["sniper_glint"] = loadfx("fx/misc/scope_glint"); +} \ No newline at end of file diff --git a/AW/PC/maps/_sniper_setup_ai.gsc b/AW/PC/maps/_sniper_setup_ai.gsc new file mode 100644 index 0000000..46fda92 --- /dev/null +++ b/AW/PC/maps/_sniper_setup_ai.gsc @@ -0,0 +1,260 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _sniper_setup_ai.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 7 + * Decompile Time: 118 ms + * Timestamp: 4/22/2024 2:22:46 AM +*******************************************************************/ + +//Function Number: 1 +alertai(param_00,param_01) +{ + if(!isdefined(param_00)) + { + param_00 = 1; + } + + if(!isdefined(param_01)) + { + param_01 = 1; + } + + if(maps\_utility::is_in_array(level.alertedenemies,self)) + { + return; + } + + self notify("guy_alerted"); + self notify("end_patrol"); + self notify("new_anim_reach"); + self notify("stop_talking"); + self endon("disableAlert"); + if(isdefined(self.disable_alert) && self.disable_alert == 1) + { + return; + } + + if(isdefined(self.default_health)) + { + self.health = self.default_health; + self.default_health = undefined; + } + + maps\_utility::enable_arrivals(); + maps\_utility::enable_exits(); + maps\greece_code::enableawareness(); + maps\_stealth_utility::disable_stealth_for_ai(); + maps\_utility::clear_run_anim(); + maps\_utility::clear_generic_idle_anim(); + maps\_utility::clear_generic_run_anim(); + waittillframeend; + maps\greece_code::setalertoutline(); + maps\greece_conf_center::markdronetargetenemy(); + level.alertedenemies = common_scripts\utility::add_to_array(level.alertedenemies,self); + common_scripts\utility::flag_set("FlagDisableAutosave"); + maps\greece_conf_center::aiidleloopdisable(1); + thread _reactionanimation(); + thread _normalbehavior(param_01); + if(param_00 && !isdefined(self.alertgroup) || self.alertgroup) + { + thread alertaigroup(); + } + + self waittill("death"); + level.alertedenemies = maps\_utility::array_removedead_or_dying(level.alertedenemies); + if(!common_scripts\utility::flag("FlagAlarmMissionEnd") && level.alertedenemies.size == 0) + { + common_scripts\utility::flag_clear("FlagDisableAutosave"); + } +} + +//Function Number: 2 +alertaigroup() +{ + self endon("death"); + self endon("disableAlert"); + level endon("alarm_mission_end"); + if(isdefined(self.script_stealthgroup)) + { + var_00 = maps\_stealth_shared_utilities::group_get_ai_in_group(self.script_stealthgroup); + var_00 = maps\_utility::array_removedead_or_dying(var_00); + foreach(var_02 in var_00) + { + if(var_02 != self) + { + wait(randomfloat(0.1)); + if(isdefined(var_02) && isalive(var_02)) + { + var_02 thread alertai(0); + } + } + } + } +} + +//Function Number: 3 +sawcorpse() +{ + if(isdefined(self.disablecorpsealert)) + { + return; + } + + if(isdefined(self.script_noteworthy)) + { + maps\_hms_utility::printlnscreenandconsole(self.script_noteworthy + "saw a CORPSE..."); + } + else + { + maps\_hms_utility::printlnscreenandconsole("A guy saw a CORPSE..."); + } + + thread alertai(); + maps\_stealth_corpse_enemy::enemy_corpse_saw_behavior(); +} + +//Function Number: 4 +waitforplayerbulletwhizby() +{ + self endon("death"); + self endon("disableAlert"); + level endon("alarm_mission_end"); + for(;;) + { + self waittill("bulletwhizby",var_00); + wait 0.05; + if(isai(var_00) || !isplayer(var_00)) + { + continue; + } + + if(isdefined(self.script_noteworthy)) + { + maps\_hms_utility::printlnscreenandconsole(self.script_noteworthy + "got a WHIZBY..."); + } + else + { + maps\_hms_utility::printlnscreenandconsole("A guy got a WHIZBY..."); + } + + if(isdefined(self.disablebulletwhizbyreaction)) + { + continue; + } + + thread alertai(); + } +} + +//Function Number: 5 +_reactionanimation() +{ + var_00 = self.customreactanime; + if(isdefined(var_00) && maps\_utility::hasanim(var_00)) + { + maps\_anim::anim_single_solo(self,var_00); + } +} + +//Function Number: 6 +_normalbehavior(param_00) +{ + self endon("death"); + self endon("dying"); + self endon("disableAlert"); + level endon("alarm_mission_end"); + self notify("customAlert"); + if(!isdefined(param_00)) + { + param_00 = 1; + } + + if(!isdefined(self.isalerted)) + { + self.isalerted = 1; + if(isdefined(self.script_noteworthy)) + { + maps\_hms_utility::printlnscreenandconsole(self.script_noteworthy + "is now ALERTED..."); + } + else + { + maps\_hms_utility::printlnscreenandconsole("A guy is now ALERTED..."); + } + + if(param_00 == 1) + { + if(isdefined(self.noalarm) && self.noalarm == 1) + { + return; + } + + if(isdefined(self.overridealerttimedelay)) + { + var_01 = self.overridealerttimedelay; + } + else + { + var_01 = float(level.alerttimedelay); + } + + wait(var_01); + if(isdefined(self.disable_alert) && self.disable_alert == 1) + { + return; + } + + if(common_scripts\utility::flag_exist("_stealth_enabled") && !common_scripts\utility::flag("_stealth_enabled")) + { + return; + } + + if(isdefined(self.script_noteworthy)) + { + maps\_hms_utility::printlnscreenandconsole("Alarm sounded by... " + self.script_noteworthy + "!!!"); + } + else + { + maps\_hms_utility::printlnscreenandconsole("Alarm sounded by... A NAMELESS GUY!!!"); + } + + if(isalive(self) && maps\_utility::is_in_array(level.alertedenemies,self)) + { + if(isdefined(self.script_noteworthy)) + { + maps\_hms_utility::printlnscreenandconsole("Alarm sounded by... " + self.script_noteworthy + "!!!"); + } + else + { + maps\_hms_utility::printlnscreenandconsole("Alarm sounded by... A NAMELESS GUY!!!"); + } + + common_scripts\utility::flag_set("FlagAlarmMissionEnd"); + maps\greece_conf_center::destroyatriumfighttimer(); + level notify("alarm_mission_end"); + return; + } + } + } +} + +//Function Number: 7 +displayalertcountdowntimer(param_00) +{ + if(!isdefined(level.hudalerttimer)) + { + level endon("AlertTimerFreeze"); + level.hudalerttimer = maps\_hud_util::get_countdown_hud(); + level.hudalerttimer.label = "Time until alarm "; + level.hudalerttimer.x = -110; + level.hudalerttimer.y = 45; + level.hudalerttimer.alignx = "left"; + level.hudalerttimer.horzalign = "center"; + level.hudalerttimer.color = (0.95,0.95,1); + level.hudalerttimer settenthstimer(param_00); + level.hudalerttimer setpulsefx(30,900000,700); + common_scripts\utility::waittill_any_timeout(param_00,"disableAlert","death"); + level.hudalerttimer destroy(); + } +} \ No newline at end of file diff --git a/AW/PC/SP/maps/_sonicaoe.gsc b/AW/PC/maps/_sonicaoe.gsc similarity index 99% rename from AW/PC/SP/maps/_sonicaoe.gsc rename to AW/PC/maps/_sonicaoe.gsc index 96856ae..f0d4e17 100644 --- a/AW/PC/SP/maps/_sonicaoe.gsc +++ b/AW/PC/maps/_sonicaoe.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_sonicaoe.gsc + * Decompiled File: _sonicaoe.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 15 * Decompile Time: 231 ms - * Timestamp: 10/27/2023 2:00:31 AM + * Timestamp: 4/22/2024 2:22:47 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_sp_matchdata.gsc b/AW/PC/maps/_sp_matchdata.gsc similarity index 98% rename from AW/PC/SP/maps/_sp_matchdata.gsc rename to AW/PC/maps/_sp_matchdata.gsc index 6544e11..0e915e8 100644 --- a/AW/PC/SP/maps/_sp_matchdata.gsc +++ b/AW/PC/maps/_sp_matchdata.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_sp_matchdata.gsc + * Decompiled File: _sp_matchdata.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 13 - * Decompile Time: 195 ms - * Timestamp: 10/27/2023 2:00:32 AM + * Decompile Time: 209 ms + * Timestamp: 4/22/2024 2:22:48 AM *******************************************************************/ //Function Number: 1 @@ -178,9 +178,11 @@ cause_is_explosive(param_00) case "mod_projectile": case "mod_grenade_splash": case "mod_grenade": - break; + return 1; default: - break; + return 0; } + + return 0; } \ No newline at end of file diff --git a/AW/PC/SP/maps/_spawner.gsc b/AW/PC/maps/_spawner.gsc similarity index 97% rename from AW/PC/SP/maps/_spawner.gsc rename to AW/PC/maps/_spawner.gsc index ce0c24c..f9258c3 100644 --- a/AW/PC/SP/maps/_spawner.gsc +++ b/AW/PC/maps/_spawner.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_spawner.gsc + * Decompiled File: _spawner.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 203 - * Decompile Time: 3231 ms - * Timestamp: 10/27/2023 2:00:42 AM + * Decompile Time: 2950 ms + * Timestamp: 4/22/2024 2:22:57 AM *******************************************************************/ //Function Number: 1 @@ -745,17 +745,30 @@ reincrement_count_if_deleted(param_00) //Function Number: 26 delete_start(param_00) { - var_01 = 0; - if(var_01 < 2) + for(var_01 = 0;var_01 < 2;var_01++) { switch(var_01) { case 0: + var_02 = "axis"; break; default: + var_02 = "allies"; break; } + + var_03 = getentarray(var_02,"team"); + for(var_04 = 0;var_04 < var_03.size;var_04++) + { + if(isdefined(var_03[var_04].script_start)) + { + if(var_03[var_04].script_start == param_00) + { + var_03[var_04] thread delete_me(); + } + } + } } } @@ -1013,12 +1026,130 @@ spawn_prethink() switch(self.script_difficulty) { case "easy": + if(level.gameskill > 1) + { + maps\_utility::set_count(0); + } break; case "hard": + if(level.gameskill < 2) + { + maps\_utility::set_count(0); + } break; } } + + if(isdefined(self.script_drone)) + { + thread dronespawner_init(); + } + + if(isdefined(self.script_aigroup)) + { + var_00 = self.script_aigroup; + if(!isdefined(level._ai_group[var_00])) + { + aigroup_create(var_00); + } + + thread aigroup_spawnerthink(level._ai_group[var_00]); + } + + if(isdefined(self.script_delete)) + { + var_01 = 0; + if(isdefined(level._ai_delete)) + { + if(isdefined(level._ai_delete[self.script_delete])) + { + var_01 = level._ai_delete[self.script_delete].size; + } + } + + level._ai_delete[self.script_delete][var_01] = self; + } + + if(isdefined(self.script_health)) + { + if(self.script_health > level._max_script_health) + { + level._max_script_health = self.script_health; + } + + var_01 = 0; + if(isdefined(level._ai_health)) + { + if(isdefined(level._ai_health[self.script_health])) + { + var_01 = level._ai_health[self.script_health].size; + } + } + + level._ai_health[self.script_health][var_01] = self; + } + + if(isdefined(self.script_deathflag)) + { + thread spawner_deathflag(); + } + + if(isdefined(self.target)) + { + crawl_through_targets_to_init_flags(); + } + + if(isdefined(self.script_spawngroup)) + { + add_to_spawngroup(); + } + + if(isdefined(self.script_random_killspawner)) + { + add_random_killspawner_to_spawngroup(); + } + + if(!isdefined(self.spawn_functions)) + { + self.spawn_functions = []; + } + + for(;;) + { + var_02 = undefined; + self waittill("spawned",var_02); + if(!isalive(var_02)) + { + continue; + } + + if(isdefined(level.spawnercallbackthread)) + { + self thread [[ level.spawnercallbackthread ]](var_02); + } + + if(isdefined(self.script_delete)) + { + for(var_03 = 0;var_03 < level._ai_delete[self.script_delete].size;var_03++) + { + if(level._ai_delete[self.script_delete][var_03] != self) + { + level._ai_delete[self.script_delete][var_03] delete(); + } + } + } + + var_02.spawn_funcs = self.spawn_functions; + var_02.spawner = self; + if(isdefined(self.targetname)) + { + var_02 thread spawn_think(self.targetname); + continue; + } + + var_02 thread spawn_think(); + } } //Function Number: 42 @@ -1053,11 +1184,21 @@ shouldnt_spawn_because_of_script_difficulty() switch(self.script_difficulty) { case "easy": + if(level.gameskill > 1) + { + var_00 = 1; + } break; case "hard": + if(level.gameskill < 2) + { + var_00 = 1; + } break; } + + return var_00; } //Function Number: 44 @@ -1343,22 +1484,25 @@ deathfunctions() } } - var_08 = 0; - if(var_08 < self.deathfuncs.size) + for(var_08 = 0;var_08 < self.deathfuncs.size;var_08++) { var_09 = self.deathfuncs[var_08]; switch(var_09["params"]) { case 0: + [[ var_09["func"] ]](var_00); break; case 1: + [[ var_09["func"] ]](var_00,var_09["param1"]); break; case 2: + [[ var_09["func"] ]](var_00,var_09["param1"],var_09["param2"]); break; case 3: + [[ var_09["func"] ]](var_00,var_09["param1"],var_09["param2"],var_09["param3"]); break; } } diff --git a/AW/PC/SP/maps/_stealth.gsc b/AW/PC/maps/_stealth.gsc similarity index 89% rename from AW/PC/SP/maps/_stealth.gsc rename to AW/PC/maps/_stealth.gsc index 5a448ec..ee90025 100644 --- a/AW/PC/SP/maps/_stealth.gsc +++ b/AW/PC/maps/_stealth.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_stealth.gsc + * Decompiled File: _stealth.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 14 ms - * Timestamp: 10/27/2023 2:00:43 AM + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 2:22:58 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_stealth_accuracy_friendly.gsc b/AW/PC/maps/_stealth_accuracy_friendly.gsc similarity index 94% rename from AW/PC/SP/maps/_stealth_accuracy_friendly.gsc rename to AW/PC/maps/_stealth_accuracy_friendly.gsc index 928eed2..c2ed612 100644 --- a/AW/PC/SP/maps/_stealth_accuracy_friendly.gsc +++ b/AW/PC/maps/_stealth_accuracy_friendly.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_stealth_accuracy_friendly.gsc + * Decompiled File: _stealth_accuracy_friendly.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 6 - * Decompile Time: 87 ms - * Timestamp: 10/27/2023 2:00:43 AM + * Decompile Time: 101 ms + * Timestamp: 4/22/2024 2:22:58 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_stealth_animation_funcs.gsc b/AW/PC/maps/_stealth_animation_funcs.gsc similarity index 97% rename from AW/PC/SP/maps/_stealth_animation_funcs.gsc rename to AW/PC/maps/_stealth_animation_funcs.gsc index b56593e..7e9fc74 100644 --- a/AW/PC/SP/maps/_stealth_animation_funcs.gsc +++ b/AW/PC/maps/_stealth_animation_funcs.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_stealth_animation_funcs.gsc + * Decompiled File: _stealth_animation_funcs.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 12 - * Decompile Time: 179 ms - * Timestamp: 10/27/2023 2:00:44 AM + * Decompile Time: 184 ms + * Timestamp: 4/22/2024 2:22:59 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_stealth_anims.gsc b/AW/PC/maps/_stealth_anims.gsc similarity index 97% rename from AW/PC/SP/maps/_stealth_anims.gsc rename to AW/PC/maps/_stealth_anims.gsc index 6c5a41e..41642fd 100644 --- a/AW/PC/SP/maps/_stealth_anims.gsc +++ b/AW/PC/maps/_stealth_anims.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_stealth_anims.gsc + * Decompiled File: _stealth_anims.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 42 ms - * Timestamp: 10/27/2023 2:00:45 AM + * Decompile Time: 68 ms + * Timestamp: 4/22/2024 2:23:00 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_stealth_behavior_enemy.gsc b/AW/PC/maps/_stealth_behavior_enemy.gsc similarity index 98% rename from AW/PC/SP/maps/_stealth_behavior_enemy.gsc rename to AW/PC/maps/_stealth_behavior_enemy.gsc index f8d228f..f6de076 100644 --- a/AW/PC/SP/maps/_stealth_behavior_enemy.gsc +++ b/AW/PC/maps/_stealth_behavior_enemy.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_stealth_behavior_enemy.gsc + * Decompiled File: _stealth_behavior_enemy.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 9 - * Decompile Time: 134 ms - * Timestamp: 10/27/2023 2:00:46 AM + * Decompile Time: 138 ms + * Timestamp: 4/22/2024 2:23:00 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_stealth_behavior_friendly.gsc b/AW/PC/maps/_stealth_behavior_friendly.gsc similarity index 96% rename from AW/PC/SP/maps/_stealth_behavior_friendly.gsc rename to AW/PC/maps/_stealth_behavior_friendly.gsc index d694987..c1455be 100644 --- a/AW/PC/SP/maps/_stealth_behavior_friendly.gsc +++ b/AW/PC/maps/_stealth_behavior_friendly.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_stealth_behavior_friendly.gsc + * Decompiled File: _stealth_behavior_friendly.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 7 - * Decompile Time: 101 ms - * Timestamp: 10/27/2023 2:00:47 AM + * Decompile Time: 110 ms + * Timestamp: 4/22/2024 2:23:01 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_stealth_behavior_system.gsc b/AW/PC/maps/_stealth_behavior_system.gsc similarity index 88% rename from AW/PC/SP/maps/_stealth_behavior_system.gsc rename to AW/PC/maps/_stealth_behavior_system.gsc index 12b1e07..0ccfb95 100644 --- a/AW/PC/SP/maps/_stealth_behavior_system.gsc +++ b/AW/PC/maps/_stealth_behavior_system.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_stealth_behavior_system.gsc + * Decompiled File: _stealth_behavior_system.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 2:00:47 AM + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:23:01 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_stealth_color_friendly.gsc b/AW/PC/maps/_stealth_color_friendly.gsc similarity index 93% rename from AW/PC/SP/maps/_stealth_color_friendly.gsc rename to AW/PC/maps/_stealth_color_friendly.gsc index 72c20a6..ef50dbb 100644 --- a/AW/PC/SP/maps/_stealth_color_friendly.gsc +++ b/AW/PC/maps/_stealth_color_friendly.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_stealth_color_friendly.gsc + * Decompiled File: _stealth_color_friendly.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 6 - * Decompile Time: 97 ms - * Timestamp: 10/27/2023 2:00:48 AM + * Decompile Time: 95 ms + * Timestamp: 4/22/2024 2:23:02 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_stealth_corpse_enemy.gsc b/AW/PC/maps/_stealth_corpse_enemy.gsc similarity index 99% rename from AW/PC/SP/maps/_stealth_corpse_enemy.gsc rename to AW/PC/maps/_stealth_corpse_enemy.gsc index 38cd214..8cb55ef 100644 --- a/AW/PC/SP/maps/_stealth_corpse_enemy.gsc +++ b/AW/PC/maps/_stealth_corpse_enemy.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_stealth_corpse_enemy.gsc + * Decompiled File: _stealth_corpse_enemy.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 22 - * Decompile Time: 345 ms - * Timestamp: 10/27/2023 2:00:49 AM + * Decompile Time: 314 ms + * Timestamp: 4/22/2024 2:23:03 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_stealth_corpse_system.gsc b/AW/PC/maps/_stealth_corpse_system.gsc similarity index 95% rename from AW/PC/SP/maps/_stealth_corpse_system.gsc rename to AW/PC/maps/_stealth_corpse_system.gsc index cb93df8..0deb6ea 100644 --- a/AW/PC/SP/maps/_stealth_corpse_system.gsc +++ b/AW/PC/maps/_stealth_corpse_system.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_stealth_corpse_system.gsc + * Decompiled File: _stealth_corpse_system.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 10 - * Decompile Time: 145 ms - * Timestamp: 10/27/2023 2:00:50 AM + * Decompile Time: 153 ms + * Timestamp: 4/22/2024 2:23:04 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_stealth_debug.gsc b/AW/PC/maps/_stealth_debug.gsc similarity index 98% rename from AW/PC/SP/maps/_stealth_debug.gsc rename to AW/PC/maps/_stealth_debug.gsc index 95df9ca..571435a 100644 --- a/AW/PC/SP/maps/_stealth_debug.gsc +++ b/AW/PC/maps/_stealth_debug.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_stealth_debug.gsc + * Decompiled File: _stealth_debug.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 21 - * Decompile Time: 320 ms - * Timestamp: 10/27/2023 2:00:52 AM + * Decompile Time: 307 ms + * Timestamp: 4/22/2024 2:23:05 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/_stealth_display.gsc b/AW/PC/maps/_stealth_display.gsc new file mode 100644 index 0000000..980eb54 --- /dev/null +++ b/AW/PC/maps/_stealth_display.gsc @@ -0,0 +1,279 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _stealth_display.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 6 + * Decompile Time: 102 ms + * Timestamp: 4/22/2024 2:23:05 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setdvarifuninitialized("stealth_display",1); + setdvarifuninitialized("stealth_display_radius",140); + setdvarifuninitialized("stealth_display_width",8); + setdvarifuninitialized("stealth_display_height",64); + setdvarifuninitialized("stealth_display_count",90); + setdvarifuninitialized("stealth_display_frames",8); + setdvarifuninitialized("stealth_display_spread",0.75); + foreach(var_01 in level.players) + { + var_01 thread stealth_display_thread(); + } +} + +//Function Number: 2 +stealth_display_off() +{ + setdvar("stealth_display",0); +} + +//Function Number: 3 +stealth_display_on() +{ + setdvar("stealth_display",1); +} + +//Function Number: 4 +stealth_display_thread() +{ + self notify("stealth_display_thread"); + self endon("stealth_display_thread"); + if(!isdefined(self.stealth_display)) + { + self.stealth_display = []; + } + + for(;;) + { + level.stealth_display_count = 0; + var_00 = (0,-1,0) * getdvarfloat("stealth_display_radius"); + var_01 = getdvarint("stealth_display_width"); + var_02 = getdvarint("stealth_display_height"); + var_03 = getdvarint("stealth_display_count"); + var_04 = getdvarint("stealth_display_frames"); + var_05 = 360 / var_03; + var_06 = int(float(gettime()) / 100); + self.stealth_display_active = 0; + self.stealth_display_max = 0; + if(!getdvarint("stealth_display")) + { + for(var_07 = 0;var_07 < self.stealth_display.size;var_07++) + { + var_08 = self.stealth_display[var_07]; + if(isdefined(var_08.hud_elem)) + { + var_08.hud_elem destroy(); + var_08.hud_elem = undefined; + } + } + + wait(0.05); + continue; + } + + for(var_07 = 0;var_07 < var_03;var_07++) + { + if(!isdefined(self.stealth_display[var_07])) + { + var_08 = spawnstruct(); + var_08.value = 0; + var_08.value_last = 0; + var_08.state = 0; + var_08.state_last = 0; + var_08.hold_frames = 0; + var_08.see_frames = 0; + self.stealth_display[var_07] = var_08; + } + + var_08 = self.stealth_display[var_07]; + var_08.screenangle = var_05 * var_07; + if(var_08.value > 0 && var_08.hold_frames <= 0) + { + var_08.value = var_08.value - 0.1; + } + + if(var_08.hold_frames > 0) + { + var_08.hold_frames = var_08.hold_frames - 1; + } + + if(var_08.see_frames > 0) + { + var_08.see_frames = var_08.see_frames - 1; + } + + var_08.state = floor(var_08.value * var_04); + if(var_08.state == 0) + { + var_08.state = 1; + } + + if(var_08.value > 0 && var_08.value_last <= 0) + { + var_09 = maps\_hud_util::createicon("stealth_eq_0" + var_08.state,var_01,var_02); + level.stealth_display_count++; + var_09.sort = 1000; + var_09.alignx = "center"; + var_09.aligny = "middle"; + var_09.horzalign = "center"; + var_09.vertalign = "middle"; + var_08.offset = rotatevector(var_00,(0,var_08.screenangle,0)); + var_09.x = var_08.offset[0]; + var_09.y = var_08.offset[1]; + var_09.rotation = var_08.screenangle; + var_08.hud_elem = var_09; + } + else if(var_08.value <= 0 && var_08.value_last > 0 && isdefined(var_08.hud_elem)) + { + var_08.hud_elem destroy(); + var_08.hud_elem = undefined; + } + else if(isdefined(var_08.hud_elem) && var_08.state != var_08.state_last) + { + var_08.hud_elem setshader("stealth_eq_0" + var_08.state,var_01,var_02); + level.stealth_display_count++; + } + + if(isdefined(var_08.hud_elem)) + { + self.stealth_display_active = 1; + self.stealth_display_max = max(self.stealth_display_max,var_08.value); + if(var_08.see_frames > 0) + { + var_0A = 0.5 + sin(float(gettime() * 2)) * 0.5; + var_08.hud_elem.alpha = 0.5 + var_0A * 0.5; + } + else + { + var_08.hud_elem.alpha = 1; + } + } + + var_08.value_last = var_08.value; + var_08.state_last = var_08.state; + } + + for(var_07 = var_03;var_07 < self.stealth_display.size;var_07++) + { + var_08 = self.stealth_display[var_07]; + if(isdefined(var_08.hud_elem)) + { + var_08.hud_elem destroy(); + var_08.hud_elem = undefined; + } + } + + wait(0.05); + } +} + +//Function Number: 5 +stealth_display_seed_angle(param_00,param_01,param_02) +{ + if(!getdvarint("stealth_display")) + { + return; + } + + if(param_01 <= 0) + { + return; + } + + if(!param_02) + { + param_01 = min(param_01,0.99); + } + + var_03 = getdvarint("stealth_display_count"); + if(var_03 == 0) + { + return; + } + + var_04 = getdvarint("stealth_display_frames"); + var_05 = getdvarfloat("stealth_display_spread"); + var_06 = 1 / float(var_04); + var_07 = 360 / var_03; + var_08 = int(floor(param_00 / var_07)); + if(self.stealth_display.size < var_03) + { + return; + } + + var_09 = 0; + if(param_01 >= 1) + { + var_09 = 2; + } + + for(var_0A = 0;var_0A < var_03;var_0A++) + { + var_0B = var_08 - var_0A; + if(var_0B < 0) + { + var_0B = var_0B + var_03; + } + + var_0C = param_01; + if(var_0A > 0 && var_0C < 1 - var_06 && randomint(100) > 80) + { + var_0C = var_0C + var_06; + } + + self.stealth_display[var_0B].value = max(self.stealth_display[var_0B].value,var_0C); + self.stealth_display[var_0B].hold_frames = max(self.stealth_display[var_0B].hold_frames,var_09); + if(param_02) + { + self.stealth_display[var_0B].see_frames = max(self.stealth_display[var_0B].see_frames,var_09); + } + + if(param_01 < 1 / var_04) + { + self.stealth_display[var_0B].hold_frames = max(self.stealth_display[var_0B].hold_frames,2); + } + + if(var_0A > 0) + { + var_0B = var_08 + var_0A; + if(var_0B >= var_03) + { + var_0B = var_0B - var_03; + } + + self.stealth_display[var_0B].value = max(self.stealth_display[var_0B].value,var_0C); + self.stealth_display[var_0B].hold_frames = max(self.stealth_display[var_0B].hold_frames,var_09); + if(param_02) + { + self.stealth_display[var_0B].see_frames = max(self.stealth_display[var_0B].see_frames,var_09); + } + + if(param_01 < 1 / var_04) + { + self.stealth_display[var_0B].hold_frames = max(self.stealth_display[var_0B].hold_frames,2); + } + } + else + { + var_09 = min(var_09,1); + } + + if(param_01 < 1 / var_04) + { + break; + } + + param_01 = param_01 * var_05; + var_05 = var_05 * var_05; + } +} + +//Function Number: 6 +stealth_display_seed(param_00,param_01,param_02) +{ + var_03 = angleclamp(self getplayerangles()[1] - vectortoyaw(param_00.origin - self.origin)); + stealth_display_seed_angle(var_03,param_01,param_02); +} \ No newline at end of file diff --git a/AW/PC/SP/maps/_stealth_event_enemy.gsc b/AW/PC/maps/_stealth_event_enemy.gsc similarity index 96% rename from AW/PC/SP/maps/_stealth_event_enemy.gsc rename to AW/PC/maps/_stealth_event_enemy.gsc index 64f7fcb..1663543 100644 --- a/AW/PC/SP/maps/_stealth_event_enemy.gsc +++ b/AW/PC/maps/_stealth_event_enemy.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_stealth_event_enemy.gsc + * Decompiled File: _stealth_event_enemy.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 13 - * Decompile Time: 209 ms - * Timestamp: 10/27/2023 2:00:53 AM + * Decompile Time: 191 ms + * Timestamp: 4/22/2024 2:23:06 AM *******************************************************************/ //Function Number: 1 @@ -181,6 +181,7 @@ stealth_event_mod(param_00,param_01,param_02,param_03) switch(param_00) { case "explode": + self.ignoreexplosionevents = 1; break; } } @@ -210,16 +211,16 @@ stealth_event_listener_defaults(param_00) switch(param_00) { case "heard_scream": - break; + return 0; case "doFlashBanged": - break; + return 0; case "explode": - break; + return 0; default: - break; + return 0; } } diff --git a/AW/PC/SP/maps/_stealth_shared_utilities.gsc b/AW/PC/maps/_stealth_shared_utilities.gsc similarity index 89% rename from AW/PC/SP/maps/_stealth_shared_utilities.gsc rename to AW/PC/maps/_stealth_shared_utilities.gsc index 393125f..e1af054 100644 --- a/AW/PC/SP/maps/_stealth_shared_utilities.gsc +++ b/AW/PC/maps/_stealth_shared_utilities.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_stealth_shared_utilities.gsc + * Decompiled File: _stealth_shared_utilities.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 64 - * Decompile Time: 1062 ms - * Timestamp: 10/27/2023 2:00:56 AM + * Decompile Time: 964 ms + * Timestamp: 4/22/2024 2:23:09 AM *******************************************************************/ //Function Number: 1 @@ -18,10 +18,34 @@ ai_message_handler_spotted(param_00,param_01) switch(self.team) { case "allies": + for(;;) + { + maps\_utility::ent_flag_wait("_stealth_enabled"); + common_scripts\utility::flag_wait("_stealth_spotted"); + if(!maps\_utility::ent_flag("_stealth_enabled")) + { + continue; + } + + self thread [[ param_00 ]](); + common_scripts\utility::flag_waitopen("_stealth_spotted"); + } break; case "team3": case "axis": + for(;;) + { + maps\_utility::ent_flag_wait("_stealth_enabled"); + maps\_stealth_utility::stealth_group_spotted_flag_wait(); + if(!maps\_utility::ent_flag("_stealth_enabled")) + { + continue; + } + + self thread [[ param_00 ]](); + maps\_stealth_utility::stealth_group_spotted_flag_waitopen(); + } break; } } @@ -36,10 +60,34 @@ ai_message_handler_hidden(param_00,param_01) switch(self.team) { case "allies": + for(;;) + { + maps\_utility::ent_flag_wait("_stealth_enabled"); + common_scripts\utility::flag_waitopen("_stealth_spotted"); + if(!maps\_utility::ent_flag("_stealth_enabled")) + { + continue; + } + + self thread [[ param_00 ]](); + common_scripts\utility::flag_wait("_stealth_spotted"); + } break; case "team3": case "axis": + for(;;) + { + maps\_utility::ent_flag_wait("_stealth_enabled"); + maps\_stealth_utility::stealth_group_spotted_flag_waitopen(); + if(!maps\_utility::ent_flag("_stealth_enabled")) + { + continue; + } + + self thread [[ param_00 ]](); + maps\_stealth_utility::stealth_group_spotted_flag_wait(); + } break; } } @@ -231,16 +279,25 @@ ai_stealth_pause_handler() { self endon("death"); self endon("pain_death"); - maps\_utility::ent_flag_waitopen("_stealth_enabled"); - var_00 = self._stealth.behavior.ai_functions["state"]["spotted"]; - switch(self.team) + for(;;) { - case "allies": - break; + maps\_utility::ent_flag_waitopen("_stealth_enabled"); + var_00 = self._stealth.behavior.ai_functions["state"]["spotted"]; + switch(self.team) + { + case "allies": + self [[ var_00 ]](); + break; + + case "team3": + case "axis": + self [[ var_00 ]](1); + break; + } - case "team3": - case "axis": - break; + maps\_utility::ent_flag_wait("_stealth_enabled"); + var_01 = self._stealth.behavior.ai_functions["state"]["hidden"]; + self [[ var_01 ]](); } } @@ -885,6 +942,7 @@ enemy_animation_pre_anim(param_00) case "saw_corpse": case "heard_corpse": case "explode": + maps\_utility::ent_flag_set("_stealth_behavior_reaction_anim"); break; case "reset": @@ -892,8 +950,18 @@ enemy_animation_pre_anim(param_00) break; default: + if(!maps\_utility::ent_flag_exist("_stealth_behavior_asleep") || !maps\_utility::ent_flag("_stealth_behavior_asleep") || maps\_stealth_utility::stealth_group_spotted_flag()) + { + maps\_utility::ent_flag_set("_stealth_behavior_first_reaction"); + thread enemy_animation_pre_anim_dog_special_first_condition(); + } + + maps\_utility::ent_flag_set("_stealth_behavior_reaction_anim"); break; } + + maps\_utility::ent_flag_set("_stealth_behavior_reaction_anim_in_progress"); + return 0; } //Function Number: 48 @@ -914,8 +982,11 @@ enemy_animation_post_anim(param_00) switch(param_00) { default: + maps\_utility::ent_flag_clear("_stealth_behavior_reaction_anim"); break; } + + maps\_utility::ent_flag_clear("_stealth_behavior_reaction_anim_in_progress"); } //Function Number: 50 @@ -1152,54 +1223,54 @@ get_country_prefix() switch(var_00) { case "african": - break; + return "AF_"; case "atlas": - break; + return "US_"; case "american": - break; + return "US_"; case "arab": - break; + return "AB_"; case "british": - break; + return "UK_"; case "czech": - break; + return "CZ_"; case "delta": - break; + return "DF_"; case "french": - break; + return "FR_"; case "kva": - break; + return "US_"; case "pmc": - break; + return "PC_"; case "portugese": - break; + return "PG_"; case "russian": - break; + return "RU_"; case "seal": - break; + return "GS_"; case "secretservice": - break; + return "SS_"; case "shadowcompany": - break; + return "SP_"; case "taskforce": - break; + return "tf_"; default: - break; + return undefined; } } \ No newline at end of file diff --git a/AW/PC/SP/maps/_stealth_smartstance_friendly.gsc b/AW/PC/maps/_stealth_smartstance_friendly.gsc similarity index 92% rename from AW/PC/SP/maps/_stealth_smartstance_friendly.gsc rename to AW/PC/maps/_stealth_smartstance_friendly.gsc index 1618bf0..c8f2f66 100644 --- a/AW/PC/SP/maps/_stealth_smartstance_friendly.gsc +++ b/AW/PC/maps/_stealth_smartstance_friendly.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_stealth_smartstance_friendly.gsc + * Decompiled File: _stealth_smartstance_friendly.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 12 - * Decompile Time: 175 ms - * Timestamp: 10/27/2023 2:00:57 AM + * Decompile Time: 223 ms + * Timestamp: 4/22/2024 2:23:10 AM *******************************************************************/ //Function Number: 1 @@ -76,12 +76,15 @@ friendly_stance_handler_set_stance_up() switch(self._stealth.logic.stance) { case "prone": + self._stealth.behavior.stance_up = "crouch"; break; case "crouch": + self._stealth.behavior.stance_up = "stand"; break; case "stand": + self._stealth.behavior.stance_up = "stand"; break; } } @@ -141,12 +144,23 @@ friendly_stance_handler_change_stance_down() switch(self._stealth.logic.stance) { case "stand": + self.moveplaybackrate = 0.7; + self allowedstances("crouch"); break; case "crouch": + if(self._stealth.behavior.no_prone) + { + friendly_stance_handler_stay_still(); + } + else + { + self allowedstances("prone"); + } break; case "prone": + friendly_stance_handler_stay_still(); break; } } @@ -175,9 +189,11 @@ friendly_stance_handler_change_stance_up() switch(self._stealth.logic.stance) { case "prone": + self allowedstances("crouch"); break; case "crouch": + self allowedstances("stand"); break; case "stand": diff --git a/AW/PC/SP/maps/_stealth_threat_enemy.gsc b/AW/PC/maps/_stealth_threat_enemy.gsc similarity index 98% rename from AW/PC/SP/maps/_stealth_threat_enemy.gsc rename to AW/PC/maps/_stealth_threat_enemy.gsc index 64e9751..ca96a5d 100644 --- a/AW/PC/SP/maps/_stealth_threat_enemy.gsc +++ b/AW/PC/maps/_stealth_threat_enemy.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_stealth_threat_enemy.gsc + * Decompiled File: _stealth_threat_enemy.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 25 - * Decompile Time: 395 ms - * Timestamp: 10/27/2023 2:00:59 AM + * Decompile Time: 406 ms + * Timestamp: 4/22/2024 2:23:12 AM *******************************************************************/ //Function Number: 1 @@ -50,12 +50,15 @@ enemy_alert_level_change_reponse(param_00) switch(var_01) { case "warning": + thread enemy_alert_level_warning_wrapper(param_00); break; case "attack": + thread enemy_alert_level_attack_wrapper(); break; case "reset": + thread enemy_alert_level_reset_wrapper(); break; } } diff --git a/AW/PC/SP/maps/_stealth_utility.gsc b/AW/PC/maps/_stealth_utility.gsc similarity index 94% rename from AW/PC/SP/maps/_stealth_utility.gsc rename to AW/PC/maps/_stealth_utility.gsc index 38591a3..c76856e 100644 --- a/AW/PC/SP/maps/_stealth_utility.gsc +++ b/AW/PC/maps/_stealth_utility.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_stealth_utility.gsc + * Decompiled File: _stealth_utility.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 85 - * Decompile Time: 1375 ms - * Timestamp: 10/27/2023 2:01:03 AM + * Decompile Time: 1344 ms + * Timestamp: 4/22/2024 2:23:16 AM *******************************************************************/ //Function Number: 1 @@ -21,9 +21,16 @@ stealth_default() { case "team3": case "axis": + stealth_plugin_threat(); + stealth_enable_seek_player_on_spotted(); + stealth_plugin_corpse(); + stealth_plugin_event_all(); break; case "allies": + stealth_plugin_aicolor(); + stealth_plugin_accuracy(); + stealth_plugin_smart_stance(); break; } } @@ -48,13 +55,24 @@ stealth_plugin_basic(param_00) switch(self.team) { case "allies": + maps\_stealth_visibility_friendly::stealth_visibility_friendly_main(); + maps\_stealth_behavior_friendly::stealth_behavior_friendly_main(); break; case "team3": case "axis": + maps\_stealth_visibility_enemy::stealth_visibility_enemy_main(); + maps\_stealth_behavior_enemy::stealth_behavior_enemy_main(); break; } } + + if(isdefined(param_00)) + { + stealth_basic_states_custom(param_00); + } + + self._stealth.plugins.basic = 1; } //Function Number: 4 @@ -63,10 +81,12 @@ stealth_basic_states_custom(param_00) switch(self.team) { case "allies": + maps\_stealth_behavior_friendly::friendly_custom_state_behavior(param_00); break; case "team3": case "axis": + maps\_stealth_behavior_enemy::enemy_custom_state_behavior(param_00); break; } } @@ -77,10 +97,12 @@ stealth_basic_states_default() switch(self.team) { case "allies": + maps\_stealth_behavior_friendly::friendly_default_state_behavior(); break; case "team3": case "axis": + maps\_stealth_behavior_enemy::enemy_default_state_behavior(); break; } } diff --git a/AW/PC/SP/maps/_stealth_visibility_enemy.gsc b/AW/PC/maps/_stealth_visibility_enemy.gsc similarity index 83% rename from AW/PC/SP/maps/_stealth_visibility_enemy.gsc rename to AW/PC/maps/_stealth_visibility_enemy.gsc index 31ca103..8c57277 100644 --- a/AW/PC/SP/maps/_stealth_visibility_enemy.gsc +++ b/AW/PC/maps/_stealth_visibility_enemy.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_stealth_visibility_enemy.gsc + * Decompiled File: _stealth_visibility_enemy.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 19 - * Decompile Time: 291 ms - * Timestamp: 10/27/2023 2:01:05 AM + * Decompile Time: 307 ms + * Timestamp: 4/22/2024 2:23:18 AM *******************************************************************/ //Function Number: 1 @@ -206,22 +206,40 @@ enemy_event_category_awareness(param_00) { self endon("death"); self endon("pain_death"); - self waittill(param_00,var_01,var_02); - if(!maps\_utility::ent_flag("_stealth_enabled")) + for(;;) { - continue; - } + self waittill(param_00,var_01,var_02); + if(!maps\_utility::ent_flag("_stealth_enabled")) + { + continue; + } - switch(param_00) - { - case "awareness_alert_level": - break; + switch(param_00) + { + case "awareness_alert_level": + break; + + case "ai_event": + if(!isdefined(self._stealth.logic.event.aware_aievents[var_01])) + { + break; + } + + if(var_01 == "bulletwhizby" && !isdefined(var_02.team) || var_02.team == self.team) + { + break; + } + + break; + + default: + maps\_stealth_shared_utilities::group_flag_set("_stealth_event"); + level thread enemy_event_handle_clear(self.script_stealthgroup); + break; + } - case "ai_event": - break; - - default: - break; + enemy_event_awareness_notify(var_01,var_02); + waittillframeend; } } @@ -328,24 +346,71 @@ enemy_event_declare_to_team(param_00,param_01) { var_02 = undefined; var_03 = self.team; - if(!isalive(self)) + for(;;) + { + if(!isalive(self)) + { + return; + } + + self waittill(param_00,var_04,var_05); + if(isalive(self) && !maps\_utility::ent_flag("_stealth_enabled")) + { + continue; + } + + switch(param_00) + { + case "death": + var_02 = var_04; + break; + + case "damage": + var_02 = var_05; + break; + } + + if(!isdefined(var_02)) + { + continue; + } + + if(isplayer(var_02) || isdefined(var_02.team) && var_02.team != var_03) + { + break; + } + } + + if(!isdefined(self)) { return; } - self waittill(param_00,var_04,var_05); - if(isalive(self) && !maps\_utility::ent_flag("_stealth_enabled")) + var_06 = getaispeciesarray("bad_guys","all"); + var_07 = int(level._stealth.logic.ai_event[param_01][level._stealth.logic.detection_level]); + for(var_08 = 0;var_08 < var_06.size;var_08++) { - continue; - } + if(!isalive(var_06[var_08])) + { + continue; + } - switch(param_00) - { - case "death": - break; + if(!isdefined(var_06[var_08]._stealth)) + { + continue; + } - case "damage": - break; + if(distance(var_06[var_08].origin,self.origin) > var_07) + { + continue; + } + + if(var_06[var_08] maps\_utility::ent_flag_exist("_stealth_behavior_asleep") && var_06[var_08] maps\_utility::ent_flag("_stealth_behavior_asleep")) + { + continue; + } + + var_06[var_08] maps\_utility::ent_flag_set("_stealth_bad_event_listener"); } } diff --git a/AW/PC/SP/maps/_stealth_visibility_friendly.gsc b/AW/PC/maps/_stealth_visibility_friendly.gsc similarity index 89% rename from AW/PC/SP/maps/_stealth_visibility_friendly.gsc rename to AW/PC/maps/_stealth_visibility_friendly.gsc index 3791134..06ea761 100644 --- a/AW/PC/SP/maps/_stealth_visibility_friendly.gsc +++ b/AW/PC/maps/_stealth_visibility_friendly.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_stealth_visibility_friendly.gsc + * Decompiled File: _stealth_visibility_friendly.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 17 - * Decompile Time: 259 ms - * Timestamp: 10/27/2023 2:01:06 AM + * Decompile Time: 263 ms + * Timestamp: 4/22/2024 2:23:19 AM *******************************************************************/ //Function Number: 1 @@ -222,12 +222,38 @@ friendly_compute_stances_player() switch(var_00) { case "prone": + if(self._stealth.logic.oldstance != "prone") + { + self._stealth.logic.stance_change = self._stealth.logic.stance_change_time; + } break; case "crouch": + if(self._stealth.logic.oldstance == "stand") + { + self._stealth.logic.stance_change = self._stealth.logic.stance_change_time; + } break; } } + + if(self._stealth.logic.stance_change) + { + self._stealth.logic.stance = self._stealth.logic.oldstance; + if(self._stealth.logic.stance_change > 0.05) + { + self._stealth.logic.stance_change = self._stealth.logic.stance_change - 0.05; + return; + } + + self._stealth.logic.stance_change = 0; + self._stealth.logic.stance = var_00; + self._stealth.logic.oldstance = var_00; + return; + } + + self._stealth.logic.stance = var_00; + self._stealth.logic.oldstance = var_00; } //Function Number: 15 diff --git a/AW/PC/SP/maps/_stealth_visibility_system.gsc b/AW/PC/maps/_stealth_visibility_system.gsc similarity index 98% rename from AW/PC/SP/maps/_stealth_visibility_system.gsc rename to AW/PC/maps/_stealth_visibility_system.gsc index 18400f7..99fdb81 100644 --- a/AW/PC/SP/maps/_stealth_visibility_system.gsc +++ b/AW/PC/maps/_stealth_visibility_system.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_stealth_visibility_system.gsc + * Decompiled File: _stealth_visibility_system.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 18 - * Decompile Time: 271 ms - * Timestamp: 10/27/2023 2:01:07 AM + * Decompile Time: 266 ms + * Timestamp: 4/22/2024 2:23:20 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/_stingerm7.gsc b/AW/PC/maps/_stingerm7.gsc new file mode 100644 index 0000000..e8060a5 --- /dev/null +++ b/AW/PC/maps/_stingerm7.gsc @@ -0,0 +1,533 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _stingerm7.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 17 + * Decompile Time: 268 ms + * Timestamp: 4/22/2024 2:23:21 AM +*******************************************************************/ + +//Function Number: 1 +init(param_00) +{ + level.stingerm7_lock_los = 1; + level.stingerm7_lock_range = -1; + if(isdefined(param_00)) + { + level.stinger_weapon = param_00; + } + else + { + level.stinger_weapon = "iw5_stingerm7_sp"; + } + + precacheitem(level.stinger_weapon); + precacheshader("bls_ui_turret_targetacquired"); + precacheshader("bls_ui_turret_targetacquired_range"); + precacheshader("bls_ui_turret_targetlock_white"); + foreach(var_02 in level.players) + { + var_02 thread stingerm7_targeting(); + var_02 thread stingerm7_monitor_fire(); + } +} + +//Function Number: 2 +stingerm7_targeting_remove_dead(param_00) +{ + var_01 = []; + foreach(var_03 in param_00) + { + if(isdefined(var_03) && isdefined(var_03.ent) && isalive(var_03.ent) && !stingerm7_get_target_ignore(var_03)) + { + var_01[var_01.size] = var_03; + } + } + + return var_01; +} + +//Function Number: 3 +stingerm7_targeting_contains(param_00,param_01,param_02) +{ + foreach(var_04 in param_00) + { + if(var_04.ent == param_01) + { + if(isdefined(var_04.tag) && isdefined(param_02) && var_04.tag == param_02) + { + return 1; + } + + if(!isdefined(var_04.tag) && !isdefined(param_02)) + { + return 1; + } + } + } + + return 0; +} + +//Function Number: 4 +stingerm7_targeting() +{ + self endon("death"); + self.stingerm7_info = spawnstruct(); + self.stingerm7_info.locked_targets = []; + self.stingerm7_info.possible_targets = []; + self.stingerm7_info.locking_time = 0; + for(;;) + { + var_00 = self.stingerm7_info.locking_target; + var_01 = level.stingerm7_lock_range; + if(self getcurrentweapon() == level.stinger_weapon && self playerads() > 0.99) + { + self.stingerm7_info.locked_targets = stingerm7_targeting_remove_dead(self.stingerm7_info.locked_targets); + if(isdefined(var_00)) + { + if(!target_still_valid(var_00)) + { + target_remove(var_00.trackent); + var_00.trackent delete(); + var_00.trackent = undefined; + self.stingerm7_info.locking_target = undefined; + } + } + + if(!isdefined(var_00)) + { + self.stingerm7_info.locking_time = 0; + if(self.stingerm7_info.locked_targets.size < 4) + { + self.stingerm7_info.locking_target = get_best_locking_target(); + var_00 = self.stingerm7_info.locking_target; + if(isdefined(var_00)) + { + if(!isdefined(var_00.trackent)) + { + var_02 = stingerm7_get_target_tag(var_00); + var_00.trackent = common_scripts\utility::spawn_tag_origin(); + if(isdefined(var_02)) + { + var_00.trackent linkto(var_00.ent,var_02,(0,0,0),(0,0,0)); + } + else + { + var_00.trackent.origin = stingerm7_get_target_pos(var_00); + var_00.trackent linkto(var_00.ent); + } + + var_00.trackent thread stinger_track_ent_cleanup(var_00.ent); + } + + target_set(var_00.trackent); + } + } + } + + var_03 = 0; + if(isdefined(var_00)) + { + var_03 = var_01 < 0 || distancesquared(stingerm7_get_target_pos(var_00),level.player geteye()) < var_01 * var_01; + if(!var_03) + { + if(isdefined(var_00.trackent)) + { + target_setshader(var_00.trackent,"bls_ui_turret_targetacquired_range"); + } + + self.stingerm7_info.locking_time = 0; + } + else + { + if(isdefined(var_00.trackent)) + { + if(!isdefined(var_00.trackent.sound_played)) + { + soundscripts\_snd_playsound::snd_play_2d("wpn_stingerm7_locking"); + var_00.trackent.sound_played = 1; + } + + target_setshader(var_00.trackent,"bls_ui_turret_targetacquired"); + } + + self.stingerm7_info.locking_time = self.stingerm7_info.locking_time + 0.05; + } + } + + if(self.stingerm7_info.locking_time >= 0.5 && isdefined(var_00) && isdefined(var_00.trackent) && self.stingerm7_info.locked_targets.size < 4) + { + self.stingerm7_info.locked_targets[self.stingerm7_info.locked_targets.size] = var_00; + soundscripts\_snd_playsound::snd_play_2d("wpn_stingerm7_locked"); + target_setshader(var_00.trackent,"bls_ui_turret_targetlock_white"); + self.stingerm7_info.locking_target = undefined; + } + + if(self.stingerm7_info.locked_targets.size > 0) + { + self weaponlockfinalize(self.stingerm7_info.locked_targets[0].ent); + } + else + { + self weaponlockfree(); + } + } + else + { + foreach(var_05 in self.stingerm7_info.locked_targets) + { + if(isdefined(var_05.trackent)) + { + target_remove(var_05.trackent); + var_05.trackent delete(); + var_05.trackent = undefined; + } + } + + foreach(var_05 in self.stingerm7_info.possible_targets) + { + if(isdefined(var_05.trackent)) + { + target_remove(var_05.trackent); + var_05.trackent delete(); + var_05.trackent = undefined; + } + } + + self.stingerm7_info.locked_targets = []; + self.stingerm7_info.possible_targets = []; + self.stingerm7_info.locking_target = undefined; + self.stingerm7_info.locking_time = 0; + } + + wait 0.05; + } +} + +//Function Number: 5 +stinger_ignore() +{ + self.stinger_ignore = 1; + self notify("stinger_ignore"); +} + +//Function Number: 6 +stinger_track_ent_cleanup(param_00) +{ + self notify("stinger_track_ent_cleanup"); + self endon("stinger_track_ent_cleanup"); + self endon("death"); + param_00 common_scripts\utility::waittill_any("death","stinger_ignore"); + if(isdefined(self)) + { + self delete(); + } +} + +//Function Number: 7 +stingerm7_monitor_fire() +{ + self endon("death"); + for(;;) + { + self waittill("missile_fire",var_00,var_01); + if(var_01 == level.stinger_weapon) + { + stinger_fire(self,var_00); + } + } +} + +//Function Number: 8 +stinger_fire(param_00,param_01) +{ + param_01 delete(); + var_02 = []; + param_00.stingerm7_info.locked_targets = stingerm7_targeting_remove_dead(self.stingerm7_info.locked_targets); + var_03 = (5,-8,5); + if(param_00.stingerm7_info.locked_targets.size > 0) + { + var_04 = param_00.stingerm7_info.locked_targets; + for(var_05 = 0;var_05 < 4;var_05++) + { + if(var_05 < var_04.size) + { + var_06 = var_04[var_05]; + } + else + { + var_06 = common_scripts\utility::random(var_04); + } + + var_07 = param_00 getplayerangles(); + var_08 = param_00 geteye(); + var_09 = anglestoforward(var_07); + var_09 = rotatevector(var_09,(randomfloatrange(-10,10),randomfloatrange(-10,10),0)); + var_0A = var_08 + rotatevector(var_03,var_07) + var_09 * 10; + var_0B = magicbullet(level.stinger_weapon,var_0A,var_0A + var_09 * 1000,param_00); + soundscripts\_snd_playsound::snd_play_2d("wpn_stingerm7_plr"); + param_00 playrumbleonentity("heavy_1s"); + if(isdefined(var_0B)) + { + var_0B thread stinger_delayed_lock(randomfloatrange(0.25,1),var_06); + var_0B.lockedstingertarget = var_06.ent; + var_02[var_02.size] = var_0B; + } + + wait(0.15); + } + + level notify("stinger_fired",param_00,var_02); + param_00 setweaponammoclip(level.stinger_weapon,0); + return; + } + + param_00 setweaponammoclip(level.stinger_weapon,4); +} + +//Function Number: 9 +stinger_delayed_lock(param_00,param_01) +{ + self endon("death"); + param_01.ent endon("death"); + self.delayedlocktargetent = param_01.ent; + self.delayedlocktargettag = param_01.tag; + wait(param_00); + if(isdefined(self.delayedlocktargetent)) + { + self missile_settargetent(self.delayedlocktargetent,stingerm7_get_target_offset(undefined,self.delayedlocktargetent,self.delayedlocktargettag)); + } + + self.delayedlocktargetent = undefined; + self.delayedlocktargettag = undefined; +} + +//Function Number: 10 +anystingermissilelockedon(param_00,param_01) +{ + foreach(var_03 in param_00) + { + if(isdefined(var_03.lockedstingertarget) && var_03.lockedstingertarget == param_01) + { + return 1; + } + } + + return 0; +} + +//Function Number: 11 +get_best_locking_target() +{ + if(isdefined(level.stinger_no_ai) && level.stinger_no_ai) + { + var_00 = vehicle_getarray(); + } + else + { + var_00 = common_scripts\utility::array_combine(getaiarray("axis"),vehicle_getarray()); + } + + if(isdefined(level.scripttargets)) + { + level.stinger_targets = common_scripts\utility::array_combine(var_00,level.scripttargets); + } + else + { + level.stinger_targets = var_00; + } + + var_01 = self geteye(); + var_02 = anglestoforward(self getgunangles()); + var_03 = undefined; + var_04 = cos(3); + foreach(var_06 in level.stinger_targets) + { + if(!is_enemy_target(var_06,self)) + { + continue; + } + + if(isdefined(var_06.stinger_override_tags)) + { + foreach(var_08 in var_06.stinger_override_tags) + { + if(!stingerm7_targeting_contains(self.stingerm7_info.possible_targets,var_06,var_08)) + { + var_09 = spawnstruct(); + var_09.ent = var_06; + var_09.tag = var_08; + self.stingerm7_info.possible_targets[self.stingerm7_info.possible_targets.size] = var_09; + } + } + + continue; + } + + if(!stingerm7_targeting_contains(self.stingerm7_info.possible_targets,var_06)) + { + var_09 = spawnstruct(); + var_09.ent = var_06; + self.stingerm7_info.possible_targets[self.stingerm7_info.possible_targets.size] = var_09; + } + } + + self.stingerm7_info.possible_targets = stingerm7_targeting_remove_dead(self.stingerm7_info.possible_targets); + foreach(var_0D in self.stingerm7_info.possible_targets) + { + if(!stingerm7_targeting_contains(self.stingerm7_info.locked_targets,var_0D.ent,var_0D.tag)) + { + var_0E = stingerm7_get_target_pos(var_0D); + var_0F = vectordot(vectornormalize(var_0E - var_01),var_02); + if(var_0F > var_04) + { + if(!level.stingerm7_lock_los || bullettracepassed(var_01,var_0E,0,var_0D)) + { + var_03 = var_0D; + var_04 = var_0F; + } + else + { + foreach(var_11 in level.stinger_targets) + { + if(!level.stingerm7_lock_los || bullettracepassed(var_01,var_0E,0,var_11)) + { + var_03 = var_0D; + var_04 = var_0F; + } + } + } + } + } + } + + return var_03; +} + +//Function Number: 12 +target_still_valid(param_00) +{ + if(stingerm7_get_target_ignore(param_00)) + { + return 0; + } + + var_01 = self geteye(); + var_02 = anglestoforward(self getgunangles()); + var_03 = stingerm7_get_target_pos(param_00); + if(vectordot(vectornormalize(var_03 - var_01),var_02) > cos(3)) + { + if(!level.stingerm7_lock_los || bullettracepassed(var_01,var_03,0,param_00)) + { + return 1; + } + else + { + foreach(var_05 in level.stinger_targets) + { + if(!level.stingerm7_lock_los || bullettracepassed(var_01,var_03,0,var_05)) + { + return 1; + } + } + } + } + + return 0; +} + +//Function Number: 13 +is_enemy_target(param_00,param_01) +{ + var_02 = undefined; + if(isdefined(param_00.stinger_ignore) && param_00.stinger_ignore) + { + return 0; + } + + if(!isdefined(param_00.team) && !isdefined(param_00.script_team)) + { + return 0; + } + + if(isai(param_00)) + { + var_02 = param_00.team; + } + else if(isdefined(param_00.script_team)) + { + var_02 = param_00.script_team; + } + + return isenemyteam(var_02,param_01.team); +} + +//Function Number: 14 +stingerm7_get_target_tag(param_00) +{ + if(!isdefined(param_00)) + { + return undefined; + } + + if(isdefined(param_00.tag)) + { + return param_00.tag; + } + + if(isai(param_00.ent)) + { + return "tag_eye"; + } + + return undefined; +} + +//Function Number: 15 +stingerm7_get_target_pos(param_00,param_01,param_02) +{ + var_03 = param_01; + var_04 = param_02; + if(!isdefined(var_03)) + { + var_03 = param_00.ent; + } + + if(!isdefined(var_04)) + { + var_04 = stingerm7_get_target_tag(param_00); + } + + if(isdefined(var_04)) + { + return var_03 gettagorigin(var_04); + } + + return var_03 getpointinbounds(0,0,0); +} + +//Function Number: 16 +stingerm7_get_target_offset(param_00,param_01,param_02) +{ + var_03 = param_01; + if(!isdefined(var_03)) + { + var_03 = param_00.ent; + } + + return stingerm7_get_target_pos(param_00,param_01,param_02) - var_03.origin; +} + +//Function Number: 17 +stingerm7_get_target_ignore(param_00,param_01) +{ + var_02 = param_01; + if(!isdefined(var_02)) + { + var_02 = param_00.ent; + } + + return isdefined(var_02) && isdefined(var_02.stinger_ignore) && var_02.stinger_ignore; +} \ No newline at end of file diff --git a/AW/PC/maps/_stingerm7_greece.gsc b/AW/PC/maps/_stingerm7_greece.gsc new file mode 100644 index 0000000..bccae10 --- /dev/null +++ b/AW/PC/maps/_stingerm7_greece.gsc @@ -0,0 +1,422 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _stingerm7_greece.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 18 + * Decompile Time: 281 ms + * Timestamp: 4/22/2024 2:23:22 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + precacheitem("iw5_stingerm7greece_sp"); + precacheshader("bls_ui_turret_targetacquired"); + precacheshader("bls_ui_turret_targetlock_white"); + foreach(var_01 in level.players) + { + var_01 thread stingerm7_targeting(); + var_01 thread stingerm7_monitor_fire(); + } +} + +//Function Number: 2 +remove_bad_locked_targets() +{ + var_00 = []; + foreach(var_02 in level.player.stingerm7_info.locked_targets) + { + if(!isdefined(var_02)) + { + continue; + } + + if(var_02 != level.player.stingerm7_info.level_stinger_lock_target && !isalive(var_02)) + { + continue; + } + + var_00[var_00.size] = var_02; + } + + return var_00; +} + +//Function Number: 3 +stingerm7_targeting() +{ + self endon("death"); + self.stingerm7_info = spawnstruct(); + self.stingerm7_info.locked_targets = []; + self.stingerm7_info.locking_time = 0; + wait 0.05; + self.stingerm7_info.level_stinger_lock_target = getent("stinger_lock_target","targetname"); + self.stingerm7_info.level_stinger_missile_targets = getentarray("stinger_missile_target","targetname"); + for(;;) + { + if(self getcurrentweapon() == "iw5_stingerm7greece_sp" && self playerads() > 0.99) + { + self.stingerm7_info.locked_targets = remove_bad_locked_targets(); + if(isdefined(self.stingerm7_info.locking_target)) + { + if(!target_still_valid(self.stingerm7_info.locking_target)) + { + target_remove(self.stingerm7_info.locking_target); + self.stingerm7_info.locking_target = undefined; + } + } + + if(isdefined(self.stingerm7_info.locking_target)) + { + self.stingerm7_info.locking_time = self.stingerm7_info.locking_time + 0.05; + } + else + { + self.stingerm7_info.locking_time = 0; + if(self.stingerm7_info.locked_targets.size < 4) + { + self.stingerm7_info.locking_target = get_best_locking_target(); + if(isdefined(self.stingerm7_info.locking_target)) + { + var_00 = self.stingerm7_info.locking_target.origin; + target_set(self.stingerm7_info.locking_target,var_00); + target_setshader(self.stingerm7_info.locking_target,"bls_ui_turret_targetacquired"); + } + } + } + + if(self.stingerm7_info.locking_time >= 0.5 && isdefined(self.stingerm7_info.locking_target) && self.stingerm7_info.locked_targets.size < 4) + { + self.stingerm7_info.locked_targets[self.stingerm7_info.locked_targets.size] = self.stingerm7_info.locking_target; + self.stingerm7_info.locking_target thread locked_target_think(self); + self.stingerm7_info.locking_target = undefined; + } + + if(self.stingerm7_info.locked_targets.size > 0) + { + self weaponlockfinalize(self.stingerm7_info.locked_targets[0]); + } + else + { + self weaponlockfree(); + } + } + else + { + foreach(var_02 in self.stingerm7_info.locked_targets) + { + target_remove(var_02); + } + + self.stingerm7_info.locked_targets = []; + if(isdefined(self.stingerm7_info.locking_target)) + { + target_remove(self.stingerm7_info.locking_target); + self.stingerm7_info.locking_target = undefined; + } + + self.stingerm7_info.locking_time = 0; + self weaponlockfree(); + } + + wait 0.05; + } +} + +//Function Number: 4 +stingerm7_monitor_fire() +{ + self endon("death"); + for(;;) + { + self waittill("missile_fire",var_00,var_01); + if(var_01 == "iw5_stingerm7greece_sp") + { + stinger_fire(self,var_00); + } + } +} + +//Function Number: 5 +stinger_fire(param_00,param_01) +{ + var_02 = param_01.origin; + var_03 = param_01.angles; + param_01 delete(); + var_04 = remove_bad_locked_targets(); + if(var_04.size > 0) + { + var_04 = common_scripts\utility::array_combine(var_04,param_00.stingerm7_info.level_stinger_missile_targets); + firemangarockets(var_04[0]); + soundscripts\_snd::snd_message("stingerm7_shoot_tower"); + param_00 setweaponammoclip("iw5_stingerm7greece_sp",0); + } + else + { + param_00 setweaponammoclip("iw5_stingerm7greece_sp",4); + } + + swaptolastweapon(); +} + +//Function Number: 6 +firemangarockets(param_00) +{ + var_01 = 10; + var_02 = 1; + var_03 = 500; + var_04 = 450; + for(var_05 = 0;var_05 < 7;var_05++) + { + var_06 = common_scripts\utility::mod(var_05 * 360 / var_01 + randomint(30),360); + var_07 = randomfloatrange(2.5,3.5); + var_08 = randomfloatrange(3.6,6); + var_09 = randomfloatrange(49,50); + var_0A = 0; + if(var_05 == 0) + { + var_07 = 3; + var_0A = 1; + } + + thread mangarocketparentupdate(param_00,var_02,var_03,var_04,var_0A,var_07,var_06,var_08,var_09); + } +} + +//Function Number: 7 +mangarocketparentupdate(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + var_09 = param_00.origin - level.player geteye(); + var_0A = vectornormalize(var_09); + var_0B = vectorcross(var_0A,(0,0,1)); + if(param_01) + { + var_0B = var_0B * -1; + } + + var_0C = level.player geteye(); + var_0D = level.player geteye() + var_09 * 0.5 + var_0B * param_02 + (0,0,param_03); + var_0E = param_00.origin; + var_0F = level.player common_scripts\utility::spawn_tag_origin(); + var_0F.parentorigin = level.player geteye(); + playfxontag(common_scripts\utility::getfx("manga_rocket_trail"),var_0F,"tag_origin"); + soundscripts\_snd::snd_message("manga_rocket_trail",var_0F); + thread mangarocketupdate(param_00,var_0F,param_06,param_07,param_08); + var_10 = 0; + var_11 = 1 / param_05 * 20; + var_12 = 0; + while(var_12 <= 1) + { + wait(0.05); + var_13 = squared(1 - var_10) * var_0C + 2 * var_10 * 1 - var_10 * var_0D + squared(var_10) * var_0E; + var_0F.parentorigin = var_13; + var_12 = var_12 + var_11; + if(param_04) + { + var_10 = pow(var_12,3); + continue; + } + + var_10 = squared(var_12); + } + + stopfxontag(common_scripts\utility::getfx("manga_rocket_trail"),var_0F,"tag_origin"); + playfx(common_scripts\utility::getfx("manga_rocket_explosion"),var_0F.origin,(1,0,0),(0,0,1)); + soundscripts\_snd::snd_message("manga_rocket_explosion",var_0F); + var_0F notify("MangaRocketUpdate"); + var_0F delete(); + wait(0.3); + maps\greece_sniper_scramble::sniperdeathinternal(); +} + +//Function Number: 8 +mangarocketupdate(param_00,param_01,param_02,param_03,param_04) +{ + param_01 endon("MangaRocketUpdate"); + var_05 = vectornormalize(param_00.origin - level.player geteye()); + var_06 = vectortoangles(var_05); + var_07 = param_02; + var_08 = (0,0,0); + if(common_scripts\utility::cointoss()) + { + param_03 = param_03 * -1; + } + + var_09 = param_04 / 5; + var_0A = 0; + for(;;) + { + wait(0.05); + var_07 = var_07 + param_03; + var_08 = (1,0,0) * var_0A; + var_0B = transformmove(param_01.parentorigin,combineangles(var_06,(90,0,0)),(0,0,0),(0,var_07,0),var_08,(0,0,0)); + var_08 = var_0B["origin"]; + param_01.origin = vectorlerp(param_01.origin,var_08,0.5); + var_0A = var_0A + var_09; + var_0A = clamp(var_0A,0,param_04); + } +} + +//Function Number: 9 +swaptolastweapon() +{ + var_00 = level.player common_scripts\utility::getlastweapon(); + level.player disableweapons(); + wait(5); + level.player takeweapon("iw5_stingerm7greece_sp"); + level.player giveweapon(var_00); + level.player switchtoweapon(var_00); + level.player givemaxammo(var_00); + level.player enableweapons(); + level.player allowprone(1); +} + +//Function Number: 10 +_randommissilemovement(param_00) +{ + self endon("death"); + self endon("within_closing_distance"); + var_01 = 0; + var_02 = 0.25; + for(;;) + { + var_03 = distance(self.origin,param_00.origin); + var_04 = maps\_utility::linear_interpolate(clamp(var_03 / 2000,0,1),0,1); + var_05 = randomintrange(-2500,2500) * var_04; + var_06 = randomintrange(-500,500) * var_04; + var_07 = randomintrange(-500,500) * var_04; + self missile_settargetent(param_00,(var_05,0,var_07)); + wait(var_02); + } +} + +//Function Number: 11 +_closingdistancecheck(param_00) +{ + self endon("death"); + for(;;) + { + var_01 = distance(self.origin,param_00.origin); + if(var_01 < 500) + { + self notify("within_closing_distance"); + self missile_settargetent(param_00); + break; + } + + wait 0.05; + } +} + +//Function Number: 12 +_missilemissedtargetcheck(param_00,param_01) +{ + self endon("death"); + var_02 = param_00 - param_01.origin; + var_02 = vectornormalize(var_02); + for(;;) + { + wait 0.05; + var_03 = self.origin - param_01.origin; + var_04 = vectordot(var_03,var_02); + if(var_04 < -10) + { + self delete(); + } + } +} + +//Function Number: 13 +locked_target_think(param_00) +{ + self endon("death"); + target_setshader(self,"bls_ui_turret_targetlock_white"); +} + +//Function Number: 14 +get_best_locking_target() +{ + var_00 = []; + if(isdefined(self.stingerm7_info.level_stinger_lock_target)) + { + var_00[var_00.size] = self.stingerm7_info.level_stinger_lock_target; + } + + var_01 = self geteye(); + var_02 = anglestoforward(self getgunangles()); + var_03 = undefined; + var_04 = cos(6); + foreach(var_06 in var_00) + { + if(!common_scripts\utility::array_contains(self.stingerm7_info.locked_targets,var_06) && is_enemy_target(var_06,self)) + { + var_07 = stingerm7_get_target_pos(var_06); + var_08 = vectordot(vectornormalize(var_07 - var_01),var_02); + if(var_08 > var_04) + { + if(!1 || bullettracepassed(var_01,var_07,0,undefined)) + { + var_03 = var_06; + var_04 = var_08; + } + } + } + } + + return var_03; +} + +//Function Number: 15 +target_still_valid(param_00) +{ + var_01 = self geteye(); + var_02 = anglestoforward(self getgunangles()); + var_03 = stingerm7_get_target_pos(param_00); + if(vectordot(vectornormalize(var_03 - var_01),var_02) > cos(6)) + { + if(!1 || bullettracepassed(var_01,var_03,0,undefined)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 16 +is_enemy_target(param_00,param_01) +{ + var_02 = undefined; + if(isai(param_00)) + { + var_02 = param_00.team; + } + else if(isdefined(param_00.script_team)) + { + var_02 = param_00.script_team; + } + else if(param_00 == param_01.stingerm7_info.level_stinger_lock_target) + { + return 1; + } + + return isenemyteam(var_02,param_01.team); +} + +//Function Number: 17 +stingerm7_get_target_pos(param_00) +{ + if(isai(param_00)) + { + return param_00 geteye(); + } + + return param_00 getpointinbounds(0,0,0); +} + +//Function Number: 18 +stingerm7_get_target_offset(param_00) +{ + return stingerm7_get_target_pos(param_00) - param_00.origin; +} \ No newline at end of file diff --git a/AW/PC/maps/_swim_ai.gsc b/AW/PC/maps/_swim_ai.gsc new file mode 100644 index 0000000..2090bfc --- /dev/null +++ b/AW/PC/maps/_swim_ai.gsc @@ -0,0 +1,601 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _swim_ai.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 15 + * Decompile Time: 267 ms + * Timestamp: 4/22/2024 2:23:23 AM +*******************************************************************/ + +//Function Number: 1 +init_ai_swim() +{ +} + +//Function Number: 2 +enable_ai_swim() +{ + setsaveddvar("phys_gravity_ragdoll",-10); + setsaveddvar("phys_gravity",-10); + setsaveddvar("ragdoll_max_life",15000); + setsaveddvar("phys_autoDisableLinear",0.25); + level thread maps\_swim_ai_common::override_footsteps(); + maps\_utility::battlechatter_off("axis"); +} + +//Function Number: 3 +disable_ai_swim() +{ + setsaveddvar("phys_gravity_ragdoll",-800); + setsaveddvar("phys_gravity",-800); + setsaveddvar("ragdoll_max_life",4500); + setsaveddvar("phys_autoDisableLinear",20); + level thread maps\_swim_ai_common::restore_footsteps(); + maps\_utility::battlechatter_on("axis"); +} + +//Function Number: 4 +enable_swim(param_00) +{ + if(!isai(self)) + { + return; + } + + self.swimmer = 1; + self.health = 50; + self.grenadeammo = 0; + self.goalradius = 128; + self.goalheight = 96; + maps\_utility::disable_surprise(); + thread unlimited_ammo(); + if(isdefined(param_00) && param_00 == 1) + { + maps\_utility::forceuseweapon("aps_underwater+swim","primary"); + thread glint_behavior(); + } + else + { + maps\_utility::gun_remove(); + } + + self.bdisabledefaultfacialanims = 1; + self.dontmelee = 1; + self.no_pistol_switch = 1; + self.ignoresuppression = 1; + self.norunreload = 1; + self.disablebulletwhizbyreaction = 1; + self.usechokepoints = 0; + self.disabledoorbehavior = 1; + self.combatmode = "cover"; + self.oldgrenadeawareness = self.grenadeawareness; + self.grenadeawareness = 0; + self.oldgrenadereturnthrow = self.nogrenadereturnthrow; + self.nogrenadereturnthrow = 1; + self.norunngun = 1; + init_ai_swim_animsets(); + thread maps\_underwater::friendly_bubbles(); + thread underwater_blood(); + if(!isdefined(level.archetypes["soldier"]["swim"])) + { + init_swim_anims(); + } + + animscripts\swim::swim_begin(); +} + +//Function Number: 5 +disable_swim() +{ + self.custommovetransition = undefined; + self.permanentcustommovetransition = 0; + self.bdisabledefaultfacialanims = undefined; + animscripts\swim::swim_end(); + self notify("stop_glint_thread"); +} + +//Function Number: 6 +init_swim_anims() +{ + var_00 = []; + var_00["forward"] = %swimming_forward; + var_00["forward_aim"] = %swimming_aiming_move_f; + var_00["idle_to_forward"] = []; + var_00["idle_to_forward"][2] = []; + var_00["idle_to_forward"][4] = []; + var_00["idle_to_forward"][4][4] = %swimming_idle_to_forward; + var_00["idle_to_forward"][6] = []; + var_00["idle_ready_to_forward"] = []; + var_00["idle_ready_to_forward"][4] = []; + var_00["idle_ready_to_forward"][4][4] = %swimming_idle_ready_to_forward; + var_00["aim_stand_D"] = %swimming_fire_d; + var_00["aim_stand_L"] = %swimming_fire_l; + var_00["aim_stand_R"] = %swimming_fire_r; + var_00["aim_move_R"] = %swimming_aiming_move_f_fire_r; + var_00["aim_move_L"] = %swimming_aiming_move_f_fire_l; + var_00["strafe_B"] = %swimming_aiming_move_b; + var_00["strafe_L"] = %swimming_aiming_move_l; + var_00["strafe_R"] = %swimming_aiming_move_r; + var_00["strafe_L_aim_R"] = %swimming_aiming_move_l_fire_r; + var_00["strafe_L_aim_L"] = %swimming_aiming_move_l_fire_l; + var_00["strafe_L_aim_U"] = %swimming_aiming_move_l_fire_u; + var_00["strafe_L_aim_D"] = %swimming_aiming_move_l_fire_d; + var_00["strafe_R_aim_R"] = %swimming_aiming_move_r_fire_r; + var_00["strafe_R_aim_L"] = %swimming_aiming_move_r_fire_l; + var_00["strafe_R_aim_U"] = %swimming_aiming_move_r_fire_u; + var_00["strafe_R_aim_D"] = %swimming_aiming_move_r_fire_d; + var_00["strafe_B_aim_R"] = %swimming_aiming_move_b_fire_r; + var_00["strafe_B_aim_L"] = %swimming_aiming_move_b_fire_l; + var_00["strafe_B_aim_U"] = %swimming_aiming_move_b_fire_u; + var_00["strafe_B_aim_D"] = %swimming_aiming_move_b_fire_d; + var_00["turn_left_45"] = %swimming_aiming_turn_l45; + var_00["turn_left_90"] = %swimming_aiming_turn_l90; + var_00["turn_left_135"] = %swimming_aiming_turn_l135; + var_00["turn_left_180"] = %swimming_aiming_turn_l180; + var_00["turn_right_45"] = %swimming_aiming_turn_r45; + var_00["turn_right_90"] = %swimming_aiming_turn_r90; + var_00["turn_right_135"] = %swimming_aiming_turn_r135; + var_00["turn_right_180"] = %swimming_aiming_turn_r180; + var_00["idle_turn"] = []; + var_00["surprise_stop"] = %swimming_surprise_stop; + var_00["arrival_cover_corner_r"] = []; + var_00["arrival_cover_corner_r"][2] = []; + var_00["arrival_cover_corner_r"][3] = []; + var_00["arrival_cover_corner_r"][3][4] = %swimming_aiming_move_to_cover_r1_r45; + var_00["arrival_cover_corner_r"][4] = []; + var_00["arrival_cover_corner_r"][4][4] = %swimming_aiming_move_to_cover_r1; + var_00["arrival_cover_corner_r"][5] = []; + var_00["arrival_cover_corner_r"][5][4] = %swimming_aiming_move_to_cover_r1_l45; + var_00["arrival_cover_corner_r"][6] = []; + var_00["arrival_cover_corner_l"] = []; + var_00["arrival_cover_corner_l"][2] = []; + var_00["arrival_cover_corner_l"][3] = []; + var_00["arrival_cover_corner_l"][3][4] = %swimming_aiming_move_to_cover_l1_r45; + var_00["arrival_cover_corner_l"][4] = []; + var_00["arrival_cover_corner_l"][4][4] = %swimming_aiming_move_to_cover_l1; + var_00["arrival_cover_corner_l"][5] = []; + var_00["arrival_cover_corner_l"][5][4] = %swimming_aiming_move_to_cover_l1_l45; + var_00["arrival_cover_corner_l"][6] = []; + var_00["arrival_cover_u"] = []; + var_00["arrival_cover_u"][2] = []; + var_00["arrival_cover_u"][3] = []; + var_00["arrival_cover_u"][3][4] = %swimming_aiming_move_to_cover_u1_r45; + var_00["arrival_cover_u"][4] = []; + var_00["arrival_cover_u"][4][4] = %swimming_aiming_move_to_cover_u1; + var_00["arrival_cover_u"][5] = []; + var_00["arrival_cover_u"][5][4] = %swimming_aiming_move_to_cover_u1_l45; + var_00["arrival_cover_u"][6] = []; + var_00["arrival_exposed"] = []; + var_00["arrival_exposed"][4] = []; + var_00["arrival_exposed"][4][4] = %swimming_forward_to_idle_ready; + var_00["arrival_exposed_noncombat"] = []; + var_00["arrival_exposed_noncombat"][4] = []; + var_00["arrival_exposed_noncombat"][4][4] = %swimming_forward_to_idle; + var_00["exit_cover_corner_r"] = []; + var_00["exit_cover_corner_r"][2] = []; + var_00["exit_cover_corner_r"][3] = []; + var_00["exit_cover_corner_r"][4] = []; + var_00["exit_cover_corner_r"][4][4] = %swimming_cover_r1_to_aiming_move; + var_00["exit_cover_corner_r"][5] = []; + var_00["exit_cover_corner_r"][6] = []; + var_00["exit_cover_corner_l"] = []; + var_00["exit_cover_corner_l"][2] = []; + var_00["exit_cover_corner_l"][3] = []; + var_00["exit_cover_corner_l"][4] = []; + var_00["exit_cover_corner_l"][5] = []; + var_00["exit_cover_corner_l"][6] = []; + var_00["exit_cover_u"] = []; + var_00["exit_cover_u"][2] = []; + var_00["exit_cover_u"][3] = []; + var_00["exit_cover_u"][4] = []; + var_00["exit_cover_u"][5] = []; + var_00["exit_cover_u"][6] = []; + var_00["turn"] = []; + var_00["turn"] = []; + var_00["turn"][0] = []; + var_00["turn"][0][4] = %swimming_swim_turn_l180; + var_00["turn"][1] = []; + var_00["turn"][1][4] = %swimming_swim_turn_l135; + var_00["turn"][2] = []; + var_00["turn"][2][4] = %swimming_swim_turn_l90; + var_00["turn"][3] = []; + var_00["turn"][3][3] = %swimming_swim_turn_d45_l45; + var_00["turn"][3][4] = %swimming_swim_turn_l45; + var_00["turn"][3][5] = %swimming_swim_turn_u45_l45; + var_00["turn"][4] = []; + var_00["turn"][4][3] = %swimming_swim_turn_d45; + var_00["turn"][4][5] = %swimming_swim_turn_u45; + var_00["turn"][5] = []; + var_00["turn"][5][3] = %swimming_swim_turn_d45_r45; + var_00["turn"][5][4] = %swimming_swim_turn_r45; + var_00["turn"][5][5] = %swimming_swim_turn_u45_r45; + var_00["turn"][6] = []; + var_00["turn"][6][4] = %swimming_swim_turn_r90; + var_00["turn"][7] = []; + var_00["turn"][7][4] = %swimming_swim_turn_r135; + var_00["turn"][8] = []; + var_00["turn"][8][4] = %swimming_swim_turn_l180; + var_00["turn_add_r"] = %swimming_slight_turn_r; + var_00["turn_add_l"] = %swimming_slight_turn_l; + var_00["turn_add_u"] = %swimming_slight_turn_u; + var_00["turn_add_d"] = %swimming_slight_turn_d; + var_00["cover_corner_r"] = []; + var_00["cover_corner_r"]["straight_level"] = %swimming_fire; + var_00["cover_corner_r"]["alert_idle"] = %swimming_cover_r1_loop; + var_00["cover_corner_r"]["alert_to_A"] = [%swimming_cover_r1_full_expose]; + var_00["cover_corner_r"]["alert_to_B"] = [%swimming_cover_r1_full_expose]; + var_00["cover_corner_r"]["A_to_alert"] = [%swimming_cover_r1_full_hide]; + var_00["cover_corner_r"]["A_to_B"] = [%swimming_fire]; + var_00["cover_corner_r"]["B_to_alert"] = [%swimming_cover_r1_full_hide]; + var_00["cover_corner_r"]["B_to_A"] = [%swimming_fire]; + var_00["cover_corner_r"]["lean_to_alert"] = [%swimming_cover_r1_hide]; + var_00["cover_corner_r"]["alert_to_lean"] = [%swimming_cover_r1_expose]; + var_00["cover_corner_r"]["look"] = %swimming_cover_r1_expose; + var_00["cover_corner_r"]["reload"] = [%swimming_cover_r1_reload]; + var_00["cover_corner_r"]["alert_to_look"] = %swimming_cover_r1_expose; + var_00["cover_corner_r"]["look_to_alert"] = %swimming_cover_r1_hide; + var_00["cover_corner_r"]["look_to_alert_fast"] = %swimming_cover_r1_hide; + var_00["cover_corner_r"]["look_idle"] = %swimming_cover_r1_exposed_idle; + var_00["cover_corner_r"]["lean_aim_down"] = %swimming_cover_r1_exposed_aim_d; + var_00["cover_corner_r"]["lean_aim_left"] = %swimming_cover_r1_exposed_aim_l; + var_00["cover_corner_r"]["lean_aim_straight"] = %swimming_cover_r1_exposed_fire; + var_00["cover_corner_r"]["lean_aim_right"] = %swimming_cover_r1_exposed_aim_r; + var_00["cover_corner_r"]["lean_aim_up"] = %swimming_cover_r1_exposed_aim_u; + var_00["cover_corner_r"]["lean_reload"] = %swimming_cover_r1_reload; + var_00["cover_corner_r"]["lean_idle"] = [%swimming_cover_r1_exposed_idle]; + var_00["cover_corner_r"]["lean_single"] = %swimming_cover_r1_exposed_fire; + var_00["cover_corner_r"]["lean_fire"] = %swimming_cover_r1_exposed_fire; + var_00["cover_corner_r"]["add_aim_down"] = %swimming_fire_d; + var_00["cover_corner_r"]["add_aim_left"] = %swimming_fire_l; + var_00["cover_corner_r"]["add_aim_straight"] = %swimming_firing; + var_00["cover_corner_r"]["add_aim_right"] = %swimming_fire_r; + var_00["cover_corner_r"]["add_aim_idle"] = %swimming_firing_idle; + var_00["cover_corner_l"] = []; + var_00["cover_corner_l"]["straight_level"] = %swimming_fire; + var_00["cover_corner_l"]["alert_idle"] = %swimming_cover_l1_idle; + var_00["cover_corner_l"]["alert_to_A"] = [%swimming_cover_l1_full_expose]; + var_00["cover_corner_l"]["alert_to_B"] = [%swimming_cover_l1_full_expose]; + var_00["cover_corner_l"]["A_to_alert"] = [%swimming_cover_l1_full_hide]; + var_00["cover_corner_l"]["A_to_B"] = [%swimming_fire]; + var_00["cover_corner_l"]["B_to_alert"] = [%swimming_cover_l1_full_hide]; + var_00["cover_corner_l"]["B_to_A"] = [%swimming_fire]; + var_00["cover_corner_l"]["lean_to_alert"] = [%swimming_cover_l1_hide]; + var_00["cover_corner_l"]["alert_to_lean"] = [%swimming_cover_l1_expose]; + var_00["cover_corner_l"]["look"] = %swimming_cover_l1_expose; + var_00["cover_corner_l"]["reload"] = [%swimming_cover_l1_reload]; + var_00["cover_corner_l"]["alert_to_look"] = %swimming_cover_l1_expose; + var_00["cover_corner_l"]["look_to_alert"] = %swimming_cover_l1_hide; + var_00["cover_corner_l"]["look_to_alert_fast"] = %swimming_cover_l1_hide; + var_00["cover_corner_l"]["look_idle"] = %swimming_cover_l1_exposed_idle; + var_00["cover_corner_l"]["lean_aim_down"] = %swimming_cover_l1_exposed_aim_d; + var_00["cover_corner_l"]["lean_aim_left"] = %swimming_cover_l1_exposed_aim_l; + var_00["cover_corner_l"]["lean_aim_straight"] = %swimming_cover_l1_exposed_fire; + var_00["cover_corner_l"]["lean_aim_right"] = %swimming_cover_l1_exposed_aim_r; + var_00["cover_corner_l"]["lean_aim_up"] = %swimming_cover_l1_exposed_aim_u; + var_00["cover_corner_l"]["lean_reload"] = %swimming_cover_l1_reload; + var_00["cover_corner_l"]["lean_idle"] = [%swimming_cover_l1_exposed_idle]; + var_00["cover_corner_l"]["lean_single"] = %swimming_cover_l1_exposed_fire; + var_00["cover_corner_l"]["lean_fire"] = %swimming_cover_l1_exposed_fire; + var_00["cover_corner_l"]["add_aim_down"] = %swimming_fire_d; + var_00["cover_corner_l"]["add_aim_left"] = %swimming_fire_l; + var_00["cover_corner_l"]["add_aim_straight"] = %swimming_firing; + var_00["cover_corner_l"]["add_aim_right"] = %swimming_fire_r; + var_00["cover_corner_l"]["add_aim_idle"] = %swimming_firing_idle; + var_00["cover_u"] = []; + var_00["cover_u"]["straight_level"] = %swimming_fire; + var_00["cover_u"]["alert_idle"] = %swimming_cover_u1_idle; + var_00["cover_u"]["alert_to_A"] = [%swimming_cover_u1_full_expose]; + var_00["cover_u"]["alert_to_B"] = [%swimming_cover_u1_full_expose]; + var_00["cover_u"]["A_to_alert"] = [%swimming_cover_u1_full_hide]; + var_00["cover_u"]["A_to_B"] = [%swimming_fire]; + var_00["cover_u"]["B_to_alert"] = [%swimming_cover_u1_full_hide]; + var_00["cover_u"]["B_to_A"] = [%swimming_fire]; + var_00["cover_u"]["lean_to_alert"] = [%swimming_cover_u1_hide]; + var_00["cover_u"]["alert_to_lean"] = [%swimming_cover_u1_expose]; + var_00["cover_u"]["look"] = %swimming_cover_u1_expose; + var_00["cover_u"]["reload"] = [%swimming_cover_u1_reload]; + var_00["cover_u"]["alert_to_look"] = %swimming_cover_u1_expose; + var_00["cover_u"]["look_to_alert"] = %swimming_cover_u1_hide; + var_00["cover_u"]["look_to_alert_fast"] = %swimming_cover_u1_hide; + var_00["cover_u"]["look_idle"] = %swimming_cover_u1_exposed_idle; + var_00["cover_u"]["lean_aim_down"] = %swimming_cover_u1_exposed_aim_d; + var_00["cover_u"]["lean_aim_left"] = %swimming_cover_u1_exposed_aim_l; + var_00["cover_u"]["lean_aim_straight"] = %swimming_cover_u1_exposed_fire; + var_00["cover_u"]["lean_aim_right"] = %swimming_cover_u1_exposed_aim_r; + var_00["cover_u"]["lean_aim_up"] = %swimming_cover_u1_exposed_aim_u; + var_00["cover_u"]["lean_reload"] = %swimming_cover_u1_reload; + var_00["cover_u"]["lean_idle"] = [%swimming_cover_u1_exposed_idle]; + var_00["cover_u"]["lean_single"] = %swimming_cover_u1_exposed_fire; + var_00["cover_u"]["lean_fire"] = %swimming_cover_u1_exposed_fire; + var_00["cover_u"]["add_aim_down"] = %swimming_fire_d; + var_00["cover_u"]["add_aim_left"] = %swimming_fire_l; + var_00["cover_u"]["add_aim_straight"] = %swimming_firing; + var_00["cover_u"]["add_aim_right"] = %swimming_fire_r; + var_00["cover_u"]["add_aim_idle"] = %swimming_firing_idle; + level.archetypes["soldier"]["swim"] = var_00; + level.archetypes["soldier"]["swim"]["maxDelta"] = []; + init_swim_anim_deltas("soldier","arrival_exposed"); + init_swim_anim_deltas("soldier","arrival_exposed_noncombat"); + init_swim_anim_deltas("soldier","arrival_cover_corner_r"); + init_swim_anim_deltas("soldier","arrival_cover_corner_l"); + init_swim_anim_deltas("soldier","arrival_cover_u"); + init_swim_anim_deltas("soldier","exit_cover_corner_r",0); + init_swim_anim_deltas("soldier","exit_cover_corner_l",0); + init_swim_anim_deltas("soldier","exit_cover_u",0); + init_swim_anim_deltas("soldier","idle_to_forward",0); +} + +//Function Number: 7 +init_swim_anim_deltas(param_00,param_01,param_02) +{ + var_03 = param_01 + "_delta"; + var_04 = param_01 + "_angleDelta"; + var_05 = 1; + if(isdefined(param_02)) + { + var_05 = param_02; + } + + level.archetypes[param_00]["swim"][var_03] = []; + foreach(var_0E, var_07 in level.archetypes[param_00]["swim"][param_01]) + { + if(!isdefined(level.archetypes[param_00]["swim"][var_03][var_0E])) + { + level.archetypes[param_00]["swim"][var_03][var_0E] = []; + level.archetypes[param_00]["swim"][var_04][var_0E] = []; + } + + var_08 = 0; + foreach(var_0D, var_0A in var_07) + { + var_0B = getmovedelta(var_0A,0,1); + level.archetypes[param_00]["swim"][var_03][var_0E][var_0D] = var_0B; + level.archetypes[param_00]["swim"][var_04][var_0E][var_0D] = getangledelta3d(var_0A,0,1); + if(var_05) + { + var_0C = lengthsquared(var_0B); + if(var_0C > var_08) + { + var_08 = var_0C; + } + } + } + + if(var_05) + { + level.archetypes[param_00]["swim"][param_01]["maxDelta"] = sqrt(var_08); + } + } +} + +//Function Number: 8 +init_ai_swim_animsets() +{ + self.customidleanimset = []; + self.customidleanimset["stand"] = %swimming_idle; + self.a.pose = "stand"; + self allowedstances("stand"); + var_00 = level.archetypes["soldier"]["default_stand"]; + var_00["straight_level"] = %swimming_idle_ready; + var_00["exposed_idle"] = undefined; + var_00["reload"] = [%swimming_reload]; + var_00["reload_crouchhide"] = [%swimming_reload]; + var_00["turn_left_45"] = %swimming_aiming_turn_l45; + var_00["turn_left_90"] = %swimming_aiming_turn_l90; + var_00["turn_left_135"] = %swimming_aiming_turn_l135; + var_00["turn_left_180"] = %swimming_aiming_turn_l180; + var_00["turn_right_45"] = %swimming_aiming_turn_r45; + var_00["turn_right_90"] = %swimming_aiming_turn_r90; + var_00["turn_right_135"] = %swimming_aiming_turn_r135; + var_00["turn_right_180"] = %swimming_aiming_turn_r180; + animscripts\animset::init_animset_complete_custom_stand(var_00); + animscripts\animset::init_animset_complete_custom_crouch(var_00); + self.painfunction = ::ai_swim_pain; + self.deathfunction = ::ai_swim_death; +} + +//Function Number: 9 +ai_swim_pain() +{ + if(self.a.movement == "run") + { + var_00 = %swimming_pain_1; + } + else + { + var_00 = %swimming_pain_1; + } + + var_01 = 1; + self setflaggedanimknoballrestart("painanim",var_00,%body,1,0.1,var_01); + if(self.a.pose == "prone") + { + self updateprone(%prone_legs_up,%prone_legs_down,1,0.1,1); + } + + if(animhasnotetrack(var_00,"start_aim")) + { + thread animscripts\pain::notifystartaim("painanim"); + self endon("start_aim"); + } + + if(animhasnotetrack(var_00,"code_move")) + { + animscripts\shared::donotetracks("painanim"); + } + + animscripts\shared::donotetracks("painanim"); +} + +//Function Number: 10 +unlimited_ammo() +{ + self endon("death"); + for(;;) + { + self.a.rockets = 100; + wait(0.2); + } +} + +//Function Number: 11 +ai_swim_death() +{ + playfxontag(common_scripts\utility::getfx("swim_ai_death_blood"),self,"j_spineupper"); + if(!isdefined(self.deathanim)) + { + if(self.damageyaw > -60 && self.damageyaw <= 60) + { + } + else if(self.a.movement == "run") + { + self.deathanim = %swimming_death_1; + } + else if(animscripts\utility::damagelocationisany("left_arm_upper")) + { + self.deathanim = %swimming_firing_death_1; + } + else if(animscripts\utility::damagelocationisany("head","helmet")) + { + } + else + { + } + } + + if(!isdefined(self.nodeathsound)) + { + animscripts\death::playdeathsound(); + } + + return 0; +} + +//Function Number: 12 +underwater_blood() +{ + self endon("death"); + for(;;) + { + self waittill("damage",var_00,var_01,var_02,var_03,var_04); + if(var_04 != "MOD_EXPLOSIVE") + { + if(var_02 != (0,0,0)) + { + playfx(common_scripts\utility::getfx("swim_ai_blood_impact"),var_03,var_02); + } + } + } +} + +//Function Number: 13 +jumpintowater(param_00) +{ + self endon("death"); + var_01 = (0,0,5); + var_02 = level.water_level_z + 64; + if(!isdefined(param_00)) + { + var_03 = (self.origin[0],self.origin[1],var_02); + var_04 = bullettrace(var_03 - (0,0,10),var_03 - (0,0,700),0,self); + param_00 = var_04["position"]; + } + else + { + var_03 = (var_01[0],var_01[1],var_03); + } + + var_03 = var_03 + var_01; + var_05 = common_scripts\utility::spawn_tag_origin(); + var_05.origin = var_03; + var_06 = common_scripts\utility::spawn_tag_origin(); + self forceteleport(var_03,self.angles); + self linkto(var_05); + var_06 linkto(self,"tag_origin",(0,0,0),(90,0,0)); + self hide(); + maps\_utility::script_delay(); + self show(); + self.allowdeath = 1; + var_07 = 400; + var_08 = var_02 - param_00[2]; + var_09 = min(var_08 - 100,var_08 * 0.9); + var_0A = var_08 - var_09; + var_0B = var_0A / var_07; + var_0C = var_09 / var_07 / 2; + self playsound("enemy_water_splash"); + playfx(common_scripts\utility::getfx("jump_into_water_splash"),var_03 - (0,0,64),(0,0,-1),(1,0,0)); + playfxontag(common_scripts\utility::getfx("jump_into_water_trail"),var_06,"tag_origin"); + var_05 movez(-1 * var_09,var_0C,0,0); + wait(var_0C * 0.9); + var_05 notify("stop_first_frame"); + self notify("stop_first_frame"); + var_06 thread mover_delete(); + if(isalive(self)) + { + self unlink(); + if(!self.swimmer) + { + thread enable_swim(); + } + } + + self notify("done_jumping_in"); + if(!common_scripts\utility::flag_exist("_stealth_spotted") || !common_scripts\utility::flag("_stealth_spotted") || !common_scripts\utility::flag_exist("_stealth_enabled") || !common_scripts\utility::flag("_stealth_enabled")) + { + maps\_utility::disable_exits(); + var_05 delete(); + wait(0.1); + maps\_utility::enable_exits(); + return; + } + + var_05 delete(); +} + +//Function Number: 14 +mover_delete() +{ + wait(1.5); + stopfxontag(common_scripts\utility::getfx("jump_into_water_trail"),self,"tag_origin"); + wait(1); + self unlink(); + wait(1); + self delete(); +} + +//Function Number: 15 +glint_behavior() +{ + self notify("new_glint_thread"); + self endon("new_glint_thread"); + self endon("stop_glint_thread"); + self endon("death"); + if(!isdefined(level._effect["sniper_glint"])) + { + return; + } + + if(!isalive(self.enemy)) + { + return; + } + + var_00 = common_scripts\utility::getfx("sniper_glint"); + wait(0.2); + for(;;) + { + if(self.weapon == self.primaryweapon && animscripts\combat_utility::player_sees_my_scope() && isdefined(self.enemy)) + { + if(distancesquared(self.origin,self.enemy.origin) > 65536) + { + playfxontag(var_00,self,"tag_eye"); + } + + var_01 = randomfloatrange(3,5); + wait(var_01); + } + + wait(0.2); + } +} \ No newline at end of file diff --git a/AW/PC/maps/_swim_ai_common.gsc b/AW/PC/maps/_swim_ai_common.gsc new file mode 100644 index 0000000..ba1021a --- /dev/null +++ b/AW/PC/maps/_swim_ai_common.gsc @@ -0,0 +1,172 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _swim_ai_common.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 9 + * Decompile Time: 142 ms + * Timestamp: 4/22/2024 2:23:24 AM +*******************************************************************/ + +//Function Number: 1 +override_footsteps() +{ + wait(0.1); + var_00 = level._effect["swim_kick_bubble"]; + if(isdefined(var_00)) + { + animscripts\utility::setfootstepeffect("default",var_00); + animscripts\utility::setfootstepeffect("asphalt",var_00); + animscripts\utility::setfootstepeffect("brick",var_00); + animscripts\utility::setfootstepeffect("carpet",var_00); + animscripts\utility::setfootstepeffect("cloth",var_00); + animscripts\utility::setfootstepeffect("concrete",var_00); + animscripts\utility::setfootstepeffect("cushion",var_00); + animscripts\utility::setfootstepeffect("dirt",var_00); + animscripts\utility::setfootstepeffect("foliage",var_00); + animscripts\utility::setfootstepeffect("grass",var_00); + animscripts\utility::setfootstepeffect("gravel",var_00); + animscripts\utility::setfootstepeffect("mud",var_00); + animscripts\utility::setfootstepeffect("rock",var_00); + animscripts\utility::setfootstepeffect("sand",var_00); + animscripts\utility::setfootstepeffect("wood",var_00); + animscripts\utility::setfootstepeffect("water",var_00); + animscripts\utility::setfootstepeffectsmall("default",var_00); + animscripts\utility::setfootstepeffectsmall("asphalt",var_00); + animscripts\utility::setfootstepeffectsmall("brick",var_00); + animscripts\utility::setfootstepeffectsmall("carpet",var_00); + animscripts\utility::setfootstepeffectsmall("cloth",var_00); + animscripts\utility::setfootstepeffectsmall("concrete",var_00); + animscripts\utility::setfootstepeffectsmall("cushion",var_00); + animscripts\utility::setfootstepeffectsmall("dirt",var_00); + animscripts\utility::setfootstepeffectsmall("foliage",var_00); + animscripts\utility::setfootstepeffectsmall("grass",var_00); + animscripts\utility::setfootstepeffectsmall("gravel",var_00); + animscripts\utility::setfootstepeffectsmall("mud",var_00); + animscripts\utility::setfootstepeffectsmall("rock",var_00); + animscripts\utility::setfootstepeffectsmall("sand",var_00); + animscripts\utility::setfootstepeffectsmall("wood",var_00); + animscripts\utility::setfootstepeffectsmall("water",var_00); + override_footstep_notetrack_scripts(); + } +} + +//Function Number: 2 +restore_footsteps() +{ + animscripts\utility::unsetfootstepeffect("default"); + animscripts\utility::unsetfootstepeffect("asphalt"); + animscripts\utility::unsetfootstepeffect("brick"); + animscripts\utility::unsetfootstepeffect("carpet"); + animscripts\utility::unsetfootstepeffect("cloth"); + animscripts\utility::unsetfootstepeffect("concrete"); + animscripts\utility::unsetfootstepeffect("cushion"); + animscripts\utility::unsetfootstepeffect("dirt"); + animscripts\utility::unsetfootstepeffect("foliage"); + animscripts\utility::unsetfootstepeffect("grass"); + animscripts\utility::unsetfootstepeffect("gravel"); + animscripts\utility::unsetfootstepeffect("mud"); + animscripts\utility::unsetfootstepeffect("rock"); + animscripts\utility::unsetfootstepeffect("sand"); + animscripts\utility::unsetfootstepeffect("wood"); + animscripts\utility::unsetfootstepeffect("water"); + animscripts\utility::unsetfootstepeffectsmall("default"); + animscripts\utility::unsetfootstepeffectsmall("asphalt"); + animscripts\utility::unsetfootstepeffectsmall("brick"); + animscripts\utility::unsetfootstepeffectsmall("carpet"); + animscripts\utility::unsetfootstepeffectsmall("cloth"); + animscripts\utility::unsetfootstepeffectsmall("concrete"); + animscripts\utility::unsetfootstepeffectsmall("cushion"); + animscripts\utility::unsetfootstepeffectsmall("dirt"); + animscripts\utility::unsetfootstepeffectsmall("foliage"); + animscripts\utility::unsetfootstepeffectsmall("grass"); + animscripts\utility::unsetfootstepeffectsmall("gravel"); + animscripts\utility::unsetfootstepeffectsmall("mud"); + animscripts\utility::unsetfootstepeffectsmall("rock"); + animscripts\utility::unsetfootstepeffectsmall("sand"); + animscripts\utility::unsetfootstepeffectsmall("wood"); + animscripts\utility::unsetfootstepeffectsmall("water"); + restore_footstep_notetrack_scripts(); +} + +//Function Number: 3 +override_water_footsteps() +{ + wait(0.1); + var_00 = level._effect["swim_kick_bubble"]; + animscripts\utility::setfootstepeffect("water",var_00); + animscripts\utility::setfootstepeffectsmall("water",var_00); + override_footstep_notetrack_scripts(); +} + +//Function Number: 4 +restore_water_footsteps() +{ + animscripts\utility::unsetfootstepeffect("water"); + animscripts\utility::unsetfootstepeffectsmall("water"); + restore_footstep_notetrack_scripts(); +} + +//Function Number: 5 +override_footstep_notetrack_scripts() +{ + level.notetracks["footstep_right_large"] = ::notetrackfootstep; + level.notetracks["footstep_right_small"] = ::notetrackfootstep; + level.notetracks["footstep_left_large"] = ::notetrackfootstep; + level.notetracks["footstep_left_small"] = ::notetrackfootstep; +} + +//Function Number: 6 +restore_footstep_notetrack_scripts() +{ + level.notetracks["footstep_right_large"] = ::animscripts\notetracks::notetrackfootstep; + level.notetracks["footstep_right_small"] = ::animscripts\notetracks::notetrackfootstep; + level.notetracks["footstep_left_large"] = ::animscripts\notetracks::notetrackfootstep; + level.notetracks["footstep_left_small"] = ::animscripts\notetracks::notetrackfootstep; +} + +//Function Number: 7 +notetrackfootstep(param_00,param_01) +{ + var_02 = issubstr(param_00,"left"); + var_03 = issubstr(param_00,"large"); + playfootstep(var_02,var_03); +} + +//Function Number: 8 +playfootstep(param_00,param_01) +{ + if(!isai(self)) + { + self playsound("step_run_dirt"); + return; + } + + var_02 = "water"; + var_03 = "J_Ball_RI"; + if(param_00) + { + var_03 = "J_Ball_LE"; + } + + var_04 = "run"; + thread maps\_utility::play_sound_on_entity("foot_flipper_underwater"); + playbubbleeffect(var_03,var_02); +} + +//Function Number: 9 +playbubbleeffect(param_00,param_01) +{ + if(!isdefined(level.optionalstepeffects[param_01])) + { + return 0; + } + + var_02 = self gettagorigin(param_00); + var_03 = self.angles; + var_04 = anglestoforward(var_03); + var_05 = var_04 * -1; + var_06 = (0,0,1); + playfxontag(level._effect["step_" + param_01],self,param_00); + return 1; +} \ No newline at end of file diff --git a/AW/PC/maps/_swim_player.gsc b/AW/PC/maps/_swim_player.gsc new file mode 100644 index 0000000..c4dae0a --- /dev/null +++ b/AW/PC/maps/_swim_player.gsc @@ -0,0 +1,690 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _swim_player.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 16 + * Decompile Time: 252 ms + * Timestamp: 4/22/2024 2:23:25 AM +*******************************************************************/ + +//Function Number: 1 +init_player_swim(param_00) +{ + if(isdefined(level.swim_arms_model)) + { + return; + } + + if(isdefined(param_00)) + { + level.swim_arms_model = param_00; + } + else + { + level.swim_arms_model = "worldhands_atlas_pmc_smp"; + } + + level.swim_end_hide_viewarms = undefined; + precachemodel(level.swim_arms_model); + setdvar("underwater_aim_speed_scale",0.5); + setdvar("underwater_walk_speed_scale",0.45); + setdvar("underwater_gravity_scale",0.6); + common_scripts\utility::flag_init("pause_dynamic_dof"); + common_scripts\utility::flag_init("player_swimming_drown"); +} + +//Function Number: 2 +get_underwater_walk_speed_scale_default() +{ + return 0.45; +} + +//Function Number: 3 +enable_player_underwater_walk(param_00,param_01,param_02) +{ + player_set_swimming("underwater",param_00,param_01,param_02,1); + self notify("kill_barrel_vfx"); +} + +//Function Number: 4 +disable_player_underwater_walk(param_00,param_01,param_02) +{ + player_set_swimming("none",undefined,undefined,undefined,1); +} + +//Function Number: 5 +enable_player_swim(param_00,param_01,param_02) +{ + player_set_swimming("underwater",param_00,param_01,param_02); +} + +//Function Number: 6 +disable_player_swim() +{ + player_set_swimming("none"); +} + +//Function Number: 7 +player_set_swimming(param_00,param_01,param_02,param_03,param_04) +{ + if(!isdefined(param_04)) + { + param_04 = 0; + } + + switch(param_00) + { + case "underwater": + if(!param_04) + { + self.swimming = param_00; + maps\_underwater::underwater_hud_enable(1); + maps\_underwater::player_underwater_start(param_01); + } + else + { + self.underwater_walk = param_00; + } + + if(!isdefined(param_02) || param_02) + { + thread player_dynamic_dof(250); + } + + break; + + case "surface": + if(!param_04) + { + self.swimming = param_00; + setsaveddvar("cg_footsteps",0); + setsaveddvar("cg_equipmentSounds",0); + setsaveddvar("cg_landingSounds",0); + thread viewmodel_swim_animations("swimming_end",0,param_00 == "surface"); + self allowswim(1); + if(isdefined(param_03)) + { + setsaveddvar("player_swimWaterSurfaceEnabled",1); + setsaveddvar("player_swimWaterSurface",param_03); + } + else + { + setsaveddvar("player_swimWaterSurfaceEnabled",0); + setsaveddvar("player_swimWaterSurface",0); + } + } + + var_05 = getdvarfloat("underwater_aim_speed_scale"); + self enableslowaim(var_05,var_05); + if(!param_04) + { + level.water_current = (0,0,0); + thread player_swimming_moving_water(); + self setstance("stand"); + } + else + { + self setmovespeedscale(getdvarfloat("underwater_walk_speed_scale")); + if(!isdefined(level.origgravity)) + { + level.origgravity = self getgravity(); + } + + var_06 = getdvarfloat("underwater_gravity_scale") * level.origgravity; + self setgravityoverride(int(var_06)); + if(!isdefined(level.origacceleration)) + { + level.origacceleration = getdvarfloat("mechAcceleration"); + } + + if(100 != level.origacceleration) + { + if(isdefined(self.mechdata) && self.mechdata.active) + { + setsaveddvar("mechAcceleration",100); + } + else + { + } + } + + if(!isdefined(level.origairacceleration)) + { + level.origairacceleration = getdvarfloat("mechAirAcceleration",0.6); + } + + if(0.1 != level.origairacceleration) + { + if(isdefined(self.mechdata) && self.mechdata.active) + { + setsaveddvar("mechAirAcceleration",0.1); + } + else + { + } + } + + disable_fall_damage(); + } + break; + + default: + if(!param_04) + { + self.swimming = undefined; + level notify("stop_player_swimming"); + setsaveddvar("cg_footsteps",1); + setsaveddvar("cg_equipmentSounds",1); + setsaveddvar("cg_landingSounds",1); + setsaveddvar("player_swimWaterCurrent",(0,0,0)); + self notify("swimming_end"); + self allowswim(0); + } + else + { + self.underwater_walk = undefined; + self setmovespeedscale(1); + self enableslowaim(1,1); + self resetgravityoverride(); + level.origgravity = undefined; + setsaveddvar("mechAcceleration",level.origacceleration); + level.origacceleration = undefined; + setsaveddvar("mechAirAcceleration",level.origairacceleration); + level.origairacceleration = undefined; + enable_fall_damage(); + } + + self disableslowaim(); + level.water_current = (0,0,0); + break; + } + + if(param_00 != "underwater") + { + if(!param_04) + { + maps\_underwater::underwater_hud_enable(0); + maps\_underwater::player_underwater_end(); + } + + self notify("stop_dynamic_dof"); + } +} + +//Function Number: 8 +disable_fall_damage() +{ + self.bg_falldamageminheight_orig = getdvarint("bg_fallDamageMinHeight"); + self.bg_falldamagemaxheight_orig = getdvarint("bg_fallDamageMaxHeight"); + setsaveddvar("bg_fallDamageMinHeight",2000); + setsaveddvar("bg_fallDamageMaxHeight",3500); +} + +//Function Number: 9 +enable_fall_damage() +{ + setsaveddvar("bg_fallDamageMinHeight",self.bg_falldamageminheight_orig); + setsaveddvar("bg_fallDamageMaxHeight",self.bg_falldamagemaxheight_orig); +} + +//Function Number: 10 +viewmodel_swim_handle_notetracks() +{ + for(;;) + { + self waittill("swim_notes",var_00); + switch(var_00) + { + case "lagos_swimming_into_stroke": + case "lagos_swimming_stroke": + soundscripts\_snd_playsound::snd_play_2d("underwater_swim_stroke"); + break; + + case "lagos_swimming_drowning_start": + soundscripts\_snd_playsound::snd_play_2d("underwater_drowning"); + break; + } + } +} + +//Function Number: 11 +viewmodel_swim_animations_loop(param_00,param_01,param_02) +{ + self endon("viewmodel_swim_animations"); + if(isdefined(param_01)) + { + self endon(param_01); + } + + if(!isdefined(param_00)) + { + for(;;) + { + var_03 = self getnormalizedmovement(); + if(abs(var_03[0]) > 0.25 || abs(var_03[1]) > 0.25) + { + if(common_scripts\utility::cointoss()) + { + soundscripts\_snd_playsound::snd_play_2d("step_walk_plr_water_knee_l"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("step_walk_plr_water_knee_r"); + } + + wait(0.5); + } + + wait(0.05); + } + } + + param_00 childthread viewmodel_swim_handle_notetracks(); + var_04 = %wm_unarmed_underwater_swim_idle_loop; + if(isdefined(level.swim_anim_idle_loop)) + { + var_04 = level.swim_anim_idle_loop; + } + + var_05 = %wm_unarmed_underwater_swim_loop_into; + if(isdefined(level.swim_anim_loop_into)) + { + var_05 = level.swim_anim_loop_into; + } + + var_06 = %wm_unarmed_underwater_swim_loop; + if(isdefined(level.swim_anim_loop)) + { + var_06 = level.swim_anim_loop; + } + + var_07 = %wm_unarmed_underwater_swim_drown; + if(isdefined(level.swim_anim_drown)) + { + var_07 = level.swim_anim_drown; + } + + var_08 = %wm_unarmed_underwater_swim_arms_off_screen; + if(isdefined(level.swim_anim_offscreen)) + { + var_08 = level.swim_anim_offscreen; + } + + var_09 = getnotetracktimes(var_06,"anim_interupt"); + var_0A = getanimlength(var_04); + var_0B = getanimlength(var_05); + var_0C = getanimlength(var_06); + var_0D = 1; + var_0E = 2; + var_0F = 3; + var_10 = 4; + var_11 = var_0D; + param_00 setflaggedanimknob("swim_notes",var_08,1,0); + param_00 setflaggedanimknob("swim_notes",var_04,1,0.5); + self.swimming_gravity_vel = (0,0,0); + var_12 = 0; + if(!isdefined(self.ent_flag) || !isdefined(self.ent_flag["water_trigger_paused"])) + { + maps\_utility::ent_flag_init("water_trigger_paused"); + } + + for(;;) + { + if(self ismantling()) + { + return; + } + + var_13 = self getnormalizedmovement(); + var_14 = self getnormalizedcameramovements(); + if(maps\_utility::ent_flag("water_trigger_paused")) + { + var_13 = (0,0,0); + var_14 = (0,0,0); + } + + var_15 = 0; + if(var_13[0] > 0.2) + { + var_15 = 1; + } + + var_16 = var_11; + var_17 = (0,0,0); + if(!var_15 && param_02) + { + var_17 = (0,0,-10); + self.swimming_gravity_vel = self.swimming_gravity_vel + var_17 * 0.05; + self.swimming_gravity_vel = (self.swimming_gravity_vel[0],self.swimming_gravity_vel[1],max(-50,self.swimming_gravity_vel[2])); + var_18 = self.origin + self.swimming_gravity_vel * 0.05; + var_18 = playerphysicstrace(self.origin,var_18,self); + self setorigin(var_18); + } + else + { + self.swimming_gravity_vel = (0,0,0); + } + + if(common_scripts\utility::flag("player_swimming_drown")) + { + if(var_11 == var_0F) + { + var_19 = param_00 getanimtime(var_06); + foreach(var_1B in var_09) + { + if(var_19 > var_1B - 0.1 && var_19 < var_1B + 0.1) + { + var_11 = var_10; + } + } + } + else + { + var_11 = var_10; + } + } + + if(var_11 == var_0D) + { + if(var_15) + { + var_11 = var_0E; + } + else if(var_12 >= var_0A) + { + var_16 = 0; + } + } + else if(var_11 == var_0E) + { + if(var_12 >= var_0B) + { + if(var_15) + { + var_11 = var_0F; + } + else + { + var_11 = var_0D; + } + } + } + else if(var_11 == var_0F) + { + if(var_15) + { + if(var_12 >= var_0C) + { + var_16 = 0; + } + } + else + { + var_19 = param_00 getanimtime(var_06); + foreach(var_1B in var_09) + { + if(var_19 > var_1B - 0.1 && var_19 < var_1B + 0.1) + { + var_11 = var_0D; + } + } + } + } + + if(var_16 != var_11) + { + if(var_11 == var_0D) + { + if(var_16 == var_0F || var_16 == var_0E) + { + param_00 setflaggedanimknobrestart("swim_notes",var_04,1,1); + } + else + { + param_00 setflaggedanimknobrestart("swim_notes",var_04); + } + } + else if(var_11 == var_0E) + { + param_00 notify("swim_notes","lagos_swimming_into_stroke"); + param_00 setflaggedanimknobrestart("swim_notes",var_05); + } + else if(var_11 == var_0F) + { + param_00 setflaggedanimknobrestart("swim_notes",var_06); + } + else if(var_11 == var_10) + { + param_00 setflaggedanimknobrestart("swim_notes",var_07,1,0.75); + } + + var_12 = 0.05; + } + + wait(0.05); + var_12 = var_12 + 0.05; + } +} + +//Function Number: 12 +viewmodel_swim_animations(param_00,param_01,param_02) +{ + self notify("viewmodel_swim_animations"); + self endon("viewmodel_swim_animations"); + self disableweapons(); + self hideviewmodel(); + if(isdefined(self.swimming_arms)) + { + self.swimming_arms hide(); + } + + if(!isdefined(param_02)) + { + param_02 = 0; + } + + if(!param_02) + { + if(!isdefined(self.swimming_arms) || self.swimming_arms.model != level.swim_arms_model) + { + var_03 = spawn("script_model",self.origin); + var_03 setmodel(level.swim_arms_model); + var_03 dontcastshadows(); + var_03 setcontents(0); + var_03 useanimtree(#animtree); + var_03 linktoplayerview(self,"tag_origin",(0,0,-60),(0,0,0),1); + self.swimming_arms = var_03; + } + + if(isdefined(self.swimming_arms)) + { + self.swimming_arms show(); + } + } + + if(isdefined(self.swimming_arms)) + { + viewmodel_swim_animations_loop(self.swimming_arms,param_00,param_01 && !param_02); + } + + if(!common_scripts\utility::flag("missionfailed") && isdefined(self.swimming_arms) && !self ismantling()) + { + self.swimming_arms setflaggedanimknobrestart("swim_notes",%wm_unarmed_underwater_swim_arms_off_screen); + var_04 = getanimlength(%wm_unarmed_underwater_swim_arms_off_screen); + if(!isdefined(level.swim_end_hide_viewarms)) + { + wait(var_04); + } + } + + if(isdefined(self.swimming_arms)) + { + self.swimming_arms hide(); + } + + self notify("viewmodel_swim_animations_loop"); + self enableweapons(); + if(!isdefined(level.swim_end_hide_viewarms)) + { + self showviewmodel(); + } +} + +//Function Number: 13 +player_swimming_moving_water() +{ + var_00 = getentarray("moving_water_flags","script_noteworthy"); + foreach(var_02 in var_00) + { + thread moving_water_flag(var_02); + } + + thread move_swimming_player_with_current(); +} + +//Function Number: 14 +moving_water_flag(param_00) +{ + level endon("stop_player_swimming"); + var_01 = getent(param_00.target,"targetname"); + var_02 = var_01.origin - param_00.origin; + for(;;) + { + common_scripts\utility::flag_wait(param_00.script_flag); + level.water_current = var_02; + common_scripts\utility::flag_waitopen(param_00.script_flag); + level.water_current = (0,0,0); + } +} + +//Function Number: 15 +move_swimming_player_with_current() +{ + level endon("stop_player_swimming"); + var_00 = undefined; + for(;;) + { + if(!isdefined(var_00) || level.water_current != var_00) + { + setsaveddvar("player_swimWaterCurrent",level.water_current); + var_00 = level.water_current; + } + + wait(0.05); + } +} + +//Function Number: 16 +player_dynamic_dof(param_00) +{ + if(!maps\_utility::is_gen4()) + { + return; + } + + level endon("stop_player_swimming"); + self endon("stop_dynamic_dof"); + for(;;) + { + wait(0.05); + if(common_scripts\utility::flag("pause_dynamic_dof")) + { + wait(0.05); + continue; + } + + var_01 = self playerads(); + if(var_01 > 0) + { + continue; + } + + var_02 = getdvarfloat("ads_dof_tracedist",4096); + var_03 = getdvarfloat("ads_dof_nearStartScale",0.25); + var_04 = getdvarfloat("ads_dof_nearEndScale",0.85); + var_05 = getdvarfloat("ads_dof_farStartScale",1.15); + var_06 = getdvarfloat("ads_dof_farEndScale",3); + var_07 = getdvarfloat("ads_dof_nearBlur",4); + var_08 = getdvarfloat("ads_dof_farBlur",2.5); + var_09 = self geteye(); + var_0A = self getplayerangles(); + if(isdefined(self.dof_ref_ent)) + { + var_0B = combineangles(self.dof_ref_ent.angles,var_0A); + } + else + { + var_0B = var_0A; + } + + var_0C = vectornormalize(anglestoforward(var_0B)); + var_0D = bullettrace(var_09,var_09 + var_0C * var_02,1,self,1); + var_0E = getaiarray("axis"); + if(var_0D["fraction"] == 1) + { + var_02 = 2048; + var_0F = 256; + var_10 = var_02 * var_05 * 2; + } + else + { + var_02 = distance(var_09,var_0D["position"]); + if(var_02 > param_00) + { + maps\_art::dof_disable_script(0.5); + continue; + } + + var_0F = var_02 * var_03; + var_10 = var_02 * var_05; + } + + foreach(var_12 in var_0E) + { + var_13 = vectornormalize(var_12.origin - var_09); + var_14 = vectordot(var_0C,var_13); + if(var_14 < 0.923) + { + continue; + } + + var_15 = distance(var_09,var_12.origin); + if(var_15 - 30 < var_0F) + { + var_0F = var_15 - 30; + } + + if(var_15 + 30 > var_10) + { + var_10 = var_15 + 30; + } + } + + if(var_0F > var_10) + { + var_0F = var_10 - 256; + } + + if(var_0F > var_02) + { + var_0F = var_02 - 30; + } + + if(var_0F < 1) + { + var_0F = 1; + } + + if(var_10 < var_02) + { + var_10 = var_02; + } + + var_17 = var_0F * var_03; + var_18 = var_10 * var_06; + maps\_art::dof_enable_script(var_17,var_0F,var_07,var_10,var_18,var_08,0.5); + } + + wait(0.05); +} \ No newline at end of file diff --git a/AW/PC/SP/maps/_tagging.gsc b/AW/PC/maps/_tagging.gsc similarity index 97% rename from AW/PC/SP/maps/_tagging.gsc rename to AW/PC/maps/_tagging.gsc index c05fecd..3d265f5 100644 --- a/AW/PC/SP/maps/_tagging.gsc +++ b/AW/PC/maps/_tagging.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_tagging.gsc + * Decompiled File: _tagging.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 42 - * Decompile Time: 638 ms - * Timestamp: 10/27/2023 2:01:09 AM + * Decompile Time: 615 ms + * Timestamp: 4/22/2024 2:23:27 AM *******************************************************************/ //Function Number: 1 @@ -932,22 +932,55 @@ tag_trace_update(param_00,param_01,param_02) switch(param_00) { case "view": + var_07 = 1; + self.tag_trace_state = 0; + self.tag_trace_track = undefined; break; case "range": + self.tag_trace_state = 0; + self.tag_trace_track = undefined; break; case "tracking_slow": + var_04 = getdvarint("tagging_slow_pulse_rate"); + var_05 = getdvarint("tagging_slow_prep_time"); + var_06 = getdvarint("tagging_slow_track_time"); break; case "tracking": + if(!isdefined(self.tag_trace_track)) + { + if(gettime() - param_01.tagging["last_tag_start"] / 1000 <= 0.25) + { + return; + } + + self.tag_trace_track = var_03; + param_01.tagging["last_tag_start"] = var_03; + } break; case "obstructed": case "none": default: + tag_outline_enemy(0); + self.tag_trace_track = undefined; + self.tag_trace_sound = undefined; break; } + + var_08 = var_06 + var_05; + var_09 = 0; + if(isdefined(self.tag_trace_track)) + { + var_09 = var_03 - self.tag_trace_track; + } + + if(var_09 >= var_08) + { + tag_enemy(param_01); + } } //Function Number: 35 diff --git a/AW/PC/maps/_target_lock.gsc b/AW/PC/maps/_target_lock.gsc new file mode 100644 index 0000000..1529e68 --- /dev/null +++ b/AW/PC/maps/_target_lock.gsc @@ -0,0 +1,115 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _target_lock.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 8 + * Decompile Time: 145 ms + * Timestamp: 4/22/2024 2:23:27 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level.target_lock_targets = []; +} + +//Function Number: 2 +register_target_lock_change_func(param_00) +{ + level.target_lock_change_func = param_00; +} + +//Function Number: 3 +add_lock_target(param_00) +{ + if(!isdefined(param_00)) + { + return; + } + + target_set(param_00); + if(isdefined(level.target_lock_change_func)) + { + self [[ level.target_lock_change_func ]]("Added",param_00); + } + + level.target_lock_targets = common_scripts\utility::array_add(level.target_lock_targets,param_00); + level thread remove_from_targets_on_death(param_00); +} + +//Function Number: 4 +remove_lock_target(param_00) +{ + if(!isdefined(param_00)) + { + return; + } + + if(isdefined(level.target_lock_change_func)) + { + self [[ level.target_lock_change_func ]]("Removed",param_00); + } + + level.target_lock_targets = common_scripts\utility::array_remove(level.target_lock_targets,param_00); +} + +//Function Number: 5 +get_best_lock_target(param_00,param_01) +{ + var_02 = []; + foreach(var_04 in level.target_lock_targets) + { + if(is_viable_lock_target(var_04,param_00,param_01)) + { + var_02[var_02.size] = var_04; + } + } + + var_06 = bullettrace(self geteye(),self geteye() + anglestoforward(self getplayerangles()) * 100000,1,self); + var_02 = sortbydistance(var_02,var_06["position"]); + if(!var_02.size) + { + return undefined; + } + + return var_02[0]; +} + +//Function Number: 6 +is_viable_lock_target(param_00,param_01,param_02) +{ + if(!target_istarget(param_00)) + { + return 0; + } + + var_03 = target_isinrect(param_00,self,get_fov_for_player(self),param_01,param_01); + if(!var_03) + { + return 0; + } + + var_04 = bullettrace(self geteye(),param_00.origin,0,param_00); + return bullettracepassed(self geteye(),param_00.origin,0,param_00); +} + +//Function Number: 7 +remove_from_targets_on_death(param_00) +{ + param_00 waittill("death"); + level remove_lock_target(param_00); +} + +//Function Number: 8 +get_fov_for_player(param_00) +{ + var_01 = getdvarint("cg_fov"); + var_02 = getdvarfloat("cg_playerFovScale0"); + if(isdefined(level.player2) && param_00 == level.player2) + { + var_02 = getdvarfloat("cg_playerFovScale1"); + } + + return var_01 * var_02; +} \ No newline at end of file diff --git a/AW/PC/SP/maps/_treadfx.gsc b/AW/PC/maps/_treadfx.gsc similarity index 68% rename from AW/PC/SP/maps/_treadfx.gsc rename to AW/PC/maps/_treadfx.gsc index 8a4fb16..e288c68 100644 --- a/AW/PC/SP/maps/_treadfx.gsc +++ b/AW/PC/maps/_treadfx.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_treadfx.gsc + * Decompiled File: _treadfx.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 4 - * Decompile Time: 62 ms - * Timestamp: 10/27/2023 2:01:10 AM + * Decompile Time: 99 ms + * Timestamp: 4/22/2024 2:23:28 AM *******************************************************************/ //Function Number: 1 @@ -20,11 +20,27 @@ main(param_00) { case "script_vehicle_m1a1_abrams_player_tm": case "script_vehicle_m1a1_abrams_minigun": + setallvehiclefx(param_00,"vfx/treadfx/tread_dust_default"); + setvehiclefx(param_00,"water"); + setvehiclefx(param_00,"paintedmetal"); + setvehiclefx(param_00,"riotshield"); break; case "script_vehicle_uk_utility_truck_no_rail_player": case "script_vehicle_uk_utility_truck_no_rail": case "script_vehicle_uk_utility_truck": + setallvehiclefx(param_00,"vfx/treadfx/tread_dust_default"); + setvehiclefx(param_00,"water"); + setvehiclefx(param_00,"rock",undefined); + setvehiclefx(param_00,"metal",undefined); + setvehiclefx(param_00,"brick",undefined); + setvehiclefx(param_00,"plaster",undefined); + setvehiclefx(param_00,"asphalt",undefined); + setvehiclefx(param_00,"paintedmetal",undefined); + setvehiclefx(param_00,"riotshield",undefined); + setvehiclefx(param_00,"snow",undefined); + setvehiclefx(param_00,"slush",undefined); + setvehiclefx(param_00,"ice",undefined); break; case "script_vehicle_b2": @@ -71,12 +87,34 @@ main(param_00) case "script_vehicle_mi24p_hind_blackice": case "script_vehicle_ny_harbor_hind": case "script_vehicle_ny_blackhawk": + setallvehiclefx(param_00,"vfx/treadfx/heli_dust_default"); + setvehiclefx(param_00,"water","vfx/treadfx/heli_water_default"); + setvehiclefx(param_00,"snow",undefined); + setvehiclefx(param_00,"slush",undefined); + setvehiclefx(param_00,"ice",undefined); break; case "script_vehicle_warrior_physics_turret": + setallvehiclefx(param_00,"vfx/treadfx/tread_dust_default"); + setvehiclefx(param_00,"snow",undefined); + setvehiclefx(param_00,"slush",undefined); + setvehiclefx(param_00,"ice",undefined); break; default: + setallvehiclefx(param_00,"vfx/treadfx/tread_dust_default"); + setvehiclefx(param_00,"water"); + setvehiclefx(param_00,"concrete"); + setvehiclefx(param_00,"rock"); + setvehiclefx(param_00,"metal"); + setvehiclefx(param_00,"brick"); + setvehiclefx(param_00,"plaster"); + setvehiclefx(param_00,"asphalt"); + setvehiclefx(param_00,"paintedmetal"); + setvehiclefx(param_00,"riotshield"); + setvehiclefx(param_00,"snow",undefined); + setvehiclefx(param_00,"slush",undefined); + setvehiclefx(param_00,"ice",undefined); break; } } diff --git a/AW/PC/SP/maps/_trigger.gsc b/AW/PC/maps/_trigger.gsc similarity index 93% rename from AW/PC/SP/maps/_trigger.gsc rename to AW/PC/maps/_trigger.gsc index 588162a..8cdb994 100644 --- a/AW/PC/SP/maps/_trigger.gsc +++ b/AW/PC/maps/_trigger.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_trigger.gsc + * Decompiled File: _trigger.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 86 - * Decompile Time: 1341 ms - * Timestamp: 10/27/2023 2:01:14 AM + * Decompile Time: 1248 ms + * Timestamp: 4/22/2024 2:23:32 AM *******************************************************************/ //Function Number: 1 @@ -169,32 +169,131 @@ init_script_triggers() } } - var_0B = 0; - if(var_0B < 7) + for(var_0B = 0;var_0B < 7;var_0B++) { switch(var_0B) { case 0: + var_0C = "trigger_multiple"; break; case 1: + var_0C = "trigger_once"; break; case 2: + var_0C = "trigger_use"; break; case 3: + var_0C = "trigger_radius"; break; case 4: + var_0C = "trigger_lookat"; break; case 5: + var_0C = "trigger_disk"; break; default: + var_0C = "trigger_damage"; break; } + + var_04 = getentarray(var_0C,"code_classname"); + for(var_0A = 0;var_0A < var_04.size;var_0A++) + { + if(isdefined(var_04[var_0A].script_flag_true)) + { + level thread trigger_script_flag_true(var_04[var_0A]); + } + + if(isdefined(var_04[var_0A].script_flag_false)) + { + level thread trigger_script_flag_false(var_04[var_0A]); + } + + if(isdefined(var_04[var_0A].script_autosavename) || isdefined(var_04[var_0A].script_autosave)) + { + level thread maps\_autosave::autosavenamethink(var_04[var_0A]); + } + + if(isdefined(var_04[var_0A].script_fallback)) + { + level thread maps\_spawner::fallback_think(var_04[var_0A]); + } + + if(isdefined(var_04[var_0A].script_mgturretauto)) + { + level thread maps\_mgturret::mgturret_auto(var_04[var_0A]); + } + + if(isdefined(var_04[var_0A].script_killspawner)) + { + level thread maps\_spawner::kill_spawner(var_04[var_0A]); + } + + if(isdefined(var_04[var_0A].script_kill_vehicle_spawner)) + { + level thread maps\_vehicle_code::kill_vehicle_spawner(var_04[var_0A]); + } + + if(isdefined(var_04[var_0A].script_emptyspawner)) + { + level thread maps\_spawner::empty_spawner(var_04[var_0A]); + } + + if(isdefined(var_04[var_0A].script_prefab_exploder)) + { + var_04[var_0A].script_exploder = var_04[var_0A].script_prefab_exploder; + } + + if(isdefined(var_04[var_0A].script_exploder)) + { + level thread maps\_load::exploder_load(var_04[var_0A]); + } + + if(isdefined(var_04[var_0A].ambient)) + { + var_04[var_0A] thread soundscripts\_audio::trigger_multiple_audio_trigger(1); + } + + if(isdefined(var_04[var_0A].script_audio_zones) || isdefined(var_04[var_0A].script_audio_enter_msg) || isdefined(var_04[var_0A].script_audio_exit_msg) || isdefined(var_04[var_0A].script_audio_progress_msg) || isdefined(var_04[var_0A].script_audio_enter_func) || isdefined(var_04[var_0A].script_audio_exit_func) || isdefined(var_04[var_0A].script_audio_progress_func) || isdefined(var_04[var_0A].script_audio_point_func)) + { + var_04[var_0A] thread soundscripts\_audio::trigger_multiple_audio_trigger(); + } + + if(isdefined(var_04[var_0A].script_triggered_playerseek)) + { + level thread trigger_playerseek(var_04[var_0A]); + } + + if(isdefined(var_04[var_0A].script_bctrigger)) + { + level thread trigger_battlechatter(var_04[var_0A]); + } + + if(isdefined(var_04[var_0A].script_trigger_group)) + { + var_04[var_0A] thread trigger_group(); + } + + if(isdefined(var_04[var_0A].script_random_killspawner)) + { + level thread maps\_spawner::random_killspawner(var_04[var_0A]); + } + + if(isdefined(var_04[var_0A].targetname)) + { + var_0D = var_04[var_0A].targetname; + if(isdefined(var_01[var_0D])) + { + level thread [[ var_01[var_0D] ]](var_04[var_0A]); + } + } + } } } @@ -1860,17 +1959,16 @@ trigger_multiple_fx_volume(param_00) var_05 = getentarray(param_00.target,"targetname"); param_00.fx_on = 1; - var_06 = var_05; - var_08 = getfirstarraykey(var_06); - if(isdefined(var_08)) + foreach(var_07 in var_05) { - var_07 = var_06[var_08]; switch(var_07.classname) { case "trigger_multiple_fx_volume_on": + var_07 thread trigger_multiple_fx_trigger_on_think(param_00); break; case "trigger_multiple_fx_volume_off": + var_07 thread trigger_multiple_fx_trigger_off_think(param_00); break; default: diff --git a/AW/PC/maps/_underwater.gsc b/AW/PC/maps/_underwater.gsc new file mode 100644 index 0000000..c9dc599 --- /dev/null +++ b/AW/PC/maps/_underwater.gsc @@ -0,0 +1,449 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _underwater.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 24 + * Decompile Time: 342 ms + * Timestamp: 4/22/2024 2:23:33 AM +*******************************************************************/ + +//Function Number: 1 +friendly_bubbles() +{ + self endon("death"); + self notify("stop_friendly_bubbles"); + self endon("stop_friendly_bubbles"); + thread friendly_bubbles_cleanup(); + thread friendly_bubbles_cleanup_on_death(); + var_00 = "TAG_EYE"; + self.scuba_org = common_scripts\utility::spawn_tag_origin(); + self.scuba_org linkto(self,"tag_eye",(5,0,-6),(-90,0,0)); + for(;;) + { + wait(3.5 + randomfloat(3)); + playfxontag(common_scripts\utility::getfx("scuba_bubbles_friendly"),self.scuba_org,"tag_origin"); + } +} + +//Function Number: 2 +friendly_bubbles_stop() +{ + self notify("stop_friendly_bubbles"); + self.scuba_org delete(); +} + +//Function Number: 3 +friendly_bubbles_cleanup_on_death() +{ + common_scripts\utility::waittill_either("death","stop_friendly_bubbles"); + self.scuba_org delete(); +} + +//Function Number: 4 +friendly_bubbles_cleanup() +{ + self endon("death"); + self waittillmatch("surfacing","single anim"); + self notify("stop_friendly_bubbles"); +} + +//Function Number: 5 +underwater_hud_enable(param_00) +{ + wait(0.05); + if(param_00 == 1) + { + setsaveddvar("hud_drawhud","1"); + setsaveddvar("hud_showStance","0"); + return; + } + + setsaveddvar("hud_drawhud","1"); + setsaveddvar("hud_showStance","1"); +} + +//Function Number: 6 +player_underwater_start(param_00) +{ + if(isdefined(param_00) && param_00 == 1) + { + self.scuba_assisted = 1; + player_scuba(); + player_scuba_mask(); + return; + } + + self.scuba_assisted = 0; + player_underwater_breath(); +} + +//Function Number: 7 +player_underwater_end() +{ + if(isdefined(self.scuba_assisted) && self.scuba_assisted == 1) + { + stop_player_scuba(); + player_scuba_mask_disable(); + return; + } + + stop_player_underwater_breath(); +} + +//Function Number: 8 +player_scuba() +{ + if(!issplitscreen()) + { + thread player_scuba_breathe_sound(); + } + else if(self == level.player) + { + thread player_scuba_breathe_sound(); + } + + thread player_scuba_bubbles(); +} + +//Function Number: 9 +player_scuba_breathe_sound() +{ + self endon("death"); + self notify("start_scuba_breathe"); + self endon("start_scuba_breathe"); + self endon("stop_scuba_breathe"); + for(;;) + { + wait(0.05); + self notify("scuba_breathe_sound_starting"); + if(self issprinting()) + { + self playlocalsound("scuba_breathe_player_sprint","scuba_breathe_sound_done"); + } + else + { + self playlocalsound("scuba_breathe_player","scuba_breathe_sound_done"); + } + + self waittill("scuba_breathe_sound_done"); + } +} + +//Function Number: 10 +stop_player_scuba() +{ + self notify("stop_scuba_breathe"); + self stoplocalsound("scuba_breathe_player"); +} + +//Function Number: 11 +player_scuba_bubbles() +{ + if(getdvarint("demo_mode")) + { + return; + } + + self endon("death"); + self endon("stop_scuba_breathe"); + waittillframeend; + self.playerfxorg = spawn("script_model",self.origin + (0,0,0)); + self.playerfxorg setmodel("tag_origin"); + self.playerfxorg.angles = self.angles; + self.playerfxorg.origin = self geteye() - (0,0,10); + self.playerfxorg linktoplayerview(self,"tag_origin",(5,0,-55),(0,0,0),1); + thread scuba_fx_cleanup(self.playerfxorg); + for(;;) + { + self waittill("scuba_breathe_sound_starting"); + wait(2.1); + thread player_bubbles_fx(self.playerfxorg); + if(common_scripts\utility::cointoss()) + { + self waittill("scuba_breathe_sound_starting"); + } + } +} + +//Function Number: 12 +scuba_fx_cleanup(param_00) +{ + self waittill("stop_scuba_breathe"); + param_00 unlinkfromplayerview(self); + param_00 delete(); +} + +//Function Number: 13 +player_bubbles_fx(param_00) +{ + self endon("stop_scuba_breathe"); + playfxontag(common_scripts\utility::getfx("scuba_bubbles"),param_00,"TAG_ORIGIN"); +} + +//Function Number: 14 +player_scuba_mask(param_00,param_01) +{ + if(getdvarint("sg_scuba_mask_off") == 1) + { + return; + } + + if(getdvarint("demo_mode")) + { + return; + } + + var_02 = "halo_overlay_scuba"; + if(isdefined(param_01)) + { + var_02 = param_01; + } + + self.hud_scubamask = maps\_hud_util::create_client_overlay(var_02,1,self); + self.hud_scubamask.foreground = 0; + self.hud_scubamask.sort = -99; + self.scubamask_distortion = spawn("script_model",level.player.origin); + self.scubamask_distortion setmodel("tag_origin"); + self.scubamask_distortion.origin = self.origin; + self.scubamask_distortion linktoplayerview(self,"tag_origin",(10,0,0),(0,180,0),1); + playfxontag(common_scripts\utility::getfx("scuba_mask_distortion"),self.scubamask_distortion,"tag_origin"); + self.hud_scubamask_model = spawn("script_model",level.player geteye()); + self.hud_scubamask_model setmodel("shpg_udt_headgear_player_a"); + self.hud_scubamask_model linktoplayerview(self,"tag_origin",(-0.3,0,-1.2),(0,90,-4),1); + if(getdvarint("demo_mode")) + { + self.hud_scubamask_model delete(); + stopfxontag(common_scripts\utility::getfx("scuba_mask_distortion"),self.scubamask_distortion,"tag_origin"); + } +} + +//Function Number: 15 +player_scuba_mask_disable(param_00) +{ + if(getdvarint("sg_scuba_mask_off") == 1) + { + return; + } + + if(getdvarint("demo_mode")) + { + return; + } + + if(isdefined(self.hud_scubamask)) + { + self.hud_scubamask maps\_hud_util::destroyelem(); + self.scubamask_distortion unlinkfromplayerview(self); + self.scubamask_distortion delete(); + self.hud_scubamask_model unlinkfromplayerview(self); + self.hud_scubamask_model delete(); + } +} + +//Function Number: 16 +player_underwater_breath() +{ + set_default_breath_values(); + self.is_drowning = 0; + thread handle_player_breath(); +} + +//Function Number: 17 +stop_player_underwater_breath() +{ + self notify("stop_freeswim_breathe"); + self.is_drowning = 0; +} + +//Function Number: 18 +set_default_breath_values() +{ + if(!isdefined(level.player_breath_amount_use_rate)) + { + level.player_breath_amount_use_rate = 6.666667; + } + + if(!isdefined(level.player_breath_amount_fill_rate)) + { + level.player_breath_amount_fill_rate = 50; + } +} + +//Function Number: 19 +override_breath_values(param_00,param_01) +{ + level.player_breath_amount_use_rate = 100 / param_00; + level.player_breath_amount_fill_rate = 100 / param_01; +} + +//Function Number: 20 +handle_player_breath() +{ + self endon("death"); + self notify("handle_player_breath"); + self endon("handle_player_breath"); + if(!isdefined(self.player_breath_amount)) + { + self.player_breath_amount = 100; + } + + var_00 = gettime(); + var_01 = var_00; + self.player_breath_fulltime = 0; + if(!isdefined(self.no_breath_hud) || !self.no_breath_hud) + { + thread player_breath_hud(); + } + + for(;;) + { + var_00 = gettime(); + var_02 = var_00 - var_01 / 1000; + if(isdefined(self.underwater) && self.underwater) + { + self.player_breath_amount = max(self.player_breath_amount - level.player_breath_amount_use_rate * var_02,0); + } + else + { + self.player_breath_amount = min(self.player_breath_amount + level.player_breath_amount_fill_rate * var_02,100); + } + + if(self.player_breath_amount <= 0) + { + thread player_drowning_damage_thread(); + } + else + { + self notify("stop_drowning"); + } + + var_01 = var_00; + if(self.player_breath_amount == 100) + { + self.player_breath_fulltime = self.player_breath_fulltime + 0.05; + } + else + { + self.player_breath_fulltime = 0; + } + + if(self.player_breath_fulltime >= 1) + { + break; + } + + wait(0.05); + } +} + +//Function Number: 21 +player_breath_hud() +{ + self endon("death"); + self notify("player_breath_hud"); + self endon("player_breath_hud"); + var_00 = 0.5; + var_01 = 100; + if(!isdefined(level.player_breath_elem)) + { + level.player_breath_elem = level.player maps\_hud_util::createclientprogressbar(level.player,60,"white","black",100,10); + level.player_breath_elem maps\_hud_util::setpoint("RIGHT",undefined,-65,var_01 + 12); + level.player_breath_elem maps\_hud_util::updatebar(1); + level.player_breath_elem.alpha = var_00; + level.player_breath_elem.bar.alpha = var_00; + level.player_breath_elem.bar.color = (0,0,1); + level.player_breath_elem.text = level.player maps\_hud_util::createclientfontstring("default",1.2); + level.player_breath_elem.text maps\_hud_util::setpoint("RIGHT",undefined,-60,var_01); + level.player_breath_elem.text settext("O2"); + level.player_breath_elem.text.alpha = var_00; + } + + wait(0.05); + while(self.player_breath_amount <= 100) + { + var_02 = self.player_breath_amount / 100; + level.player_breath_elem maps\_hud_util::updatebar(var_02); + if(self.player_breath_fulltime >= 1) + { + break; + } + + level.player_breath_elem.alpha = var_00; + level.player_breath_elem.bar.alpha = var_00; + level.player_breath_elem.text.alpha = var_00; + wait(0.05); + } + + if(isdefined(level.player_breath_elem)) + { + var_03 = gettime(); + var_04 = 500; + while(gettime() - var_03 < var_04 && isdefined(level.player_breath_elem)) + { + var_05 = 1 - float(gettime() - var_03) / var_04; + level.player_breath_elem.alpha = var_00 * var_05; + level.player_breath_elem.bar.alpha = var_00 * var_05; + level.player_breath_elem.text.alpha = var_00 * var_05; + wait(0.05); + } + + level.player_breath_elem.text maps\_hud_util::destroyelem(); + level.player_breath_elem maps\_hud_util::destroyelem(); + level.player_breath_hud = undefined; + } +} + +//Function Number: 22 +player_drowning_damage_thread() +{ + self endon("death"); + self endon("stop_freeswim_breathe"); + self endon("stop_drowning"); + if(self.is_drowning) + { + return; + } + + self.is_drowning = 1; + var_00 = common_scripts\utility::spawn_tag_origin(); + var_00 linktoplayerview(level.player,"tag_origin",(0,0,0),(0,0,0),1); + soundscripts\_snd::snd_message("player_drowning_start"); + if(self == level.player && isdefined(self.drowning_warning)) + { + thread maps\_utility_code::hintprint(self.drowning_warning,undefined,undefined,undefined,undefined,20,undefined,undefined); + self.drowning_warning = undefined; + } + + thread end_drowning_damage(var_00); + for(;;) + { + if(isdefined(self.drowning_damage)) + { + self dodamage(self.drowning_damage,self.origin); + } + else + { + self dodamage(25,self.origin); + } + + playfxontag(common_scripts\utility::getfx("water_vm_gasping_breath"),var_00,"tag_origin"); + wait(0.5); + } +} + +//Function Number: 23 +end_drowning_damage(param_00) +{ + self endon("death"); + self endon("stop_freeswim_breathe"); + self waittill("stop_drowning"); + param_00 delete(); + self.is_drowning = 0; +} + +//Function Number: 24 +parse_underwater_triggers() +{ + level.underwater_triggers = getentarray("trigger_underwater","targetname"); +} \ No newline at end of file diff --git a/AW/PC/SP/maps/_upgrade_challenge.gsc b/AW/PC/maps/_upgrade_challenge.gsc similarity index 98% rename from AW/PC/SP/maps/_upgrade_challenge.gsc rename to AW/PC/maps/_upgrade_challenge.gsc index 9bd7ab3..65df37b 100644 --- a/AW/PC/SP/maps/_upgrade_challenge.gsc +++ b/AW/PC/maps/_upgrade_challenge.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_upgrade_challenge.gsc + * Decompiled File: _upgrade_challenge.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 12 - * Decompile Time: 196 ms - * Timestamp: 10/27/2023 2:01:15 AM + * Decompile Time: 184 ms + * Timestamp: 4/22/2024 2:23:34 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_upgrade_perks.gsc b/AW/PC/maps/_upgrade_perks.gsc similarity index 89% rename from AW/PC/SP/maps/_upgrade_perks.gsc rename to AW/PC/maps/_upgrade_perks.gsc index efa0a96..67162bb 100644 --- a/AW/PC/SP/maps/_upgrade_perks.gsc +++ b/AW/PC/maps/_upgrade_perks.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_upgrade_perks.gsc + * Decompiled File: _upgrade_perks.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 9 - * Decompile Time: 142 ms - * Timestamp: 10/27/2023 2:01:16 AM + * Decompile Time: 154 ms + * Timestamp: 4/22/2024 2:23:35 AM *******************************************************************/ //Function Number: 1 @@ -135,18 +135,44 @@ upgrade_perk_script_code(param_00,param_01) switch(param_00) { case "specialty_detectexplosive": + level.player.exclusive["show_grenades"] = param_01; break; case "specialty_detectintel": + level.player.exclusive["intel_mode"] = param_01; break; case "specialty_extended_battery": + if(param_01) + { + maps\_player_exo::batteryinit(1); + } + else + { + maps\_player_exo::batteryinit(); + } break; case "specialty_extended_battery2": + if(param_01) + { + maps\_player_exo::batteryinit(2); + } + else + { + maps\_player_exo::batteryinit(); + } break; case "specialty_extendeddetectgren": + if(param_01) + { + level.player.detection_grenade_duration_bonus = 5; + } + else + { + level.player.detection_grenade_duration_bonus = 0; + } break; } } diff --git a/AW/PC/SP/maps/_upgrade_system.gsc b/AW/PC/maps/_upgrade_system.gsc similarity index 82% rename from AW/PC/SP/maps/_upgrade_system.gsc rename to AW/PC/maps/_upgrade_system.gsc index 05c18a3..9e88b32 100644 --- a/AW/PC/SP/maps/_upgrade_system.gsc +++ b/AW/PC/maps/_upgrade_system.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_upgrade_system.gsc + * Decompiled File: _upgrade_system.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 27 ms - * Timestamp: 10/27/2023 2:01:17 AM + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:23:35 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/_urgent_walk.gsc b/AW/PC/maps/_urgent_walk.gsc new file mode 100644 index 0000000..126c4c4 --- /dev/null +++ b/AW/PC/maps/_urgent_walk.gsc @@ -0,0 +1,59 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _urgent_walk.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 44 ms + * Timestamp: 4/22/2024 2:23:35 AM +*******************************************************************/ + +//Function Number: 1 +set_urgent_walk_anims() +{ + if(isdefined(self.isurgentwalk)) + { + return; + } + + maps\_utility::gun_remove(); + self.isurgentwalk = 1; + self.dynamicturnscaling = 1; + self.alertlevel = "noncombat"; + self.alertlevelint = 0; + var_00 = ["exposed","exposed_crouch"]; + var_01[1] = %npc_urgent_walk_arrive_1; + var_01[2] = %npc_urgent_walk_arrive_2; + var_01[3] = %npc_urgent_walk_arrive_3; + var_01[4] = %npc_urgent_walk_arrive_4; + var_01[6] = %npc_urgent_walk_arrive_6; + var_01[7] = %npc_urgent_walk_arrive_7; + var_01[8] = %npc_urgent_walk_arrive_8; + var_01[9] = %npc_urgent_walk_arrive_9; + var_02[1] = %npc_urgent_walk_exit_1; + var_02[2] = %npc_urgent_walk_exit_2; + var_02[3] = %npc_urgent_walk_exit_3; + var_02[4] = %npc_urgent_walk_exit_4; + var_02[6] = %npc_urgent_walk_exit_6; + var_02[7] = %npc_urgent_walk_exit_7; + var_02[8] = %npc_urgent_walk_exit_8; + var_02[9] = %npc_urgent_walk_exit_9; + var_03[0] = %npc_urgent_walk_turn_2; + var_03[1] = %npc_urgent_walk_turn_1; + var_03[2] = %npc_urgent_walk_turn_4; + var_03[3] = %npc_urgent_walk_turn_7; + var_03[5] = %npc_urgent_walk_turn_9; + var_03[6] = %npc_urgent_walk_turn_6; + var_03[7] = %npc_urgent_walk_turn_3; + var_03[8] = %npc_urgent_walk_turn_2; + var_04 = [%npc_urgent_walk_twitch01_idle,%npc_urgent_walk_twitch02_idle,%npc_urgent_walk_twitch03_idle,%npc_urgent_walk_idle]; + maps\_utility::set_npc_anims("urgent_walk",%bet_unarmed_casual_walk01_gideon,%bet_unarmed_casual_walk01_gideon,var_04,var_01,var_02,var_00,var_03,var_03,undefined); +} + +//Function Number: 2 +clear_urgent_walk_anims() +{ + self.dynamicturnscaling = undefined; + maps\_utility::clear_npc_anims("urgent_walk"); + maps\_utility::gun_recall(); +} \ No newline at end of file diff --git a/AW/PC/MP/maps/_utility.gsc b/AW/PC/maps/_utility.gsc similarity index 97% rename from AW/PC/MP/maps/_utility.gsc rename to AW/PC/maps/_utility.gsc index 8953b6f..b1e5d0e 100644 --- a/AW/PC/MP/maps/_utility.gsc +++ b/AW/PC/maps/_utility.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_utility.gsc + * Decompiled File: _utility.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 857 - * Decompile Time: 14198 ms - * Timestamp: 10/27/2023 1:48:18 AM + * Decompile Time: 12829 ms + * Timestamp: 4/22/2024 2:24:14 AM *******************************************************************/ //Function Number: 1 @@ -2210,11 +2210,8 @@ get_living_ai_array(param_00,param_01) { var_02 = getaispeciesarray("all","all"); var_03 = []; - var_04 = var_02; - var_06 = getfirstarraykey(var_04); - if(isdefined(var_06)) + foreach(var_05 in var_02) { - var_05 = var_04[var_06]; if(!isalive(var_05)) { continue; @@ -2223,12 +2220,22 @@ get_living_ai_array(param_00,param_01) switch(param_01) { case "targetname": + if(isdefined(var_05.targetname) && var_05.targetname == param_00) + { + var_03[var_03.size] = var_05; + } break; case "script_noteworthy": + if(isdefined(var_05.script_noteworthy) && var_05.script_noteworthy == param_00) + { + var_03[var_03.size] = var_05; + } break; } } + + return var_03; } //Function Number: 150 @@ -2297,18 +2304,27 @@ get_living_aispecies_array(param_00,param_01,param_02) var_03 = getaispeciesarray("allies",param_02); var_03 = common_scripts\utility::array_combine(var_03,getaispeciesarray("axis",param_02)); var_04 = []; - var_05 = 0; - if(var_05 < var_03.size) + for(var_05 = 0;var_05 < var_03.size;var_05++) { switch(param_01) { case "targetname": + if(isdefined(var_03[var_05].targetname) && var_03[var_05].targetname == param_00) + { + var_04[var_04.size] = var_03[var_05]; + } break; case "script_noteworthy": + if(isdefined(var_03[var_05].script_noteworthy) && var_03[var_05].script_noteworthy == param_00) + { + var_04[var_04.size] = var_03[var_05]; + } break; } } + + return var_04; } //Function Number: 154 @@ -3020,11 +3036,15 @@ dds_set_player_character_name(param_00) case "reznov": case "hudson": case "mason": + level.dds.player_character_name = getsubstr(param_00,0,3); break; default: + level.dds.player_character_name = "mas"; break; } + + self.dds_characterid = level.dds.player_character_name; } //Function Number: 190 @@ -3123,7 +3143,7 @@ get_linked_structs() get_last_ent_in_chain(param_00) { var_01 = self; - if(isdefined(var_01.target)) + while(isdefined(var_01.target)) { wait(0.05); if(isdefined(var_01.target)) @@ -3131,22 +3151,33 @@ get_last_ent_in_chain(param_00) switch(param_00) { case "vehiclenode": + var_01 = getvehiclenode(var_01.target,"targetname"); break; case "pathnode": + var_01 = getnode(var_01.target,"targetname"); break; case "ent": + var_01 = getent(var_01.target,"targetname"); break; case "struct": + var_01 = common_scripts\utility::getstruct(var_01.target,"targetname"); break; default: break; } + + continue; } + + break; } + + var_02 = var_01; + return var_02; } //Function Number: 198 @@ -7042,37 +7073,73 @@ add_dialogue_line(param_00,param_01,param_02) { case "red": case "r": + var_04 = "^1"; break; case "green": case "g": + var_04 = "^2"; break; case "yellow": case "y": + var_04 = "^3"; break; case "blue": case "b": + var_04 = "^4"; break; case "cyan": case "c": + var_04 = "^5"; break; case "purple": case "p": + var_04 = "^6"; break; case "white": case "w": + var_04 = "^7"; break; case "bl": case "black": + var_04 = "^8"; break; } } + + level.dialogue_huds[var_03] = 1; + var_05 = maps\_hud_util::createfontstring("default",1.5); + var_05.location = 0; + var_05.alignx = "left"; + var_05.aligny = "top"; + var_05.foreground = 1; + var_05.sort = 20; + var_05.alpha = 0; + var_05 fadeovertime(0.5); + var_05.alpha = 1; + var_05.x = 40; + var_05.y = 260 + var_03 * 18; + var_05.label = " " + var_04 + "< " + param_00 + " > ^7" + param_01; + var_05.color = (1,1,1); + wait(2); + var_06 = 40; + var_05 fadeovertime(6); + var_05.alpha = 0; + for(var_07 = 0;var_07 < var_06;var_07++) + { + var_05.color = (1,1,0 / var_06 - var_07); + wait(0.05); + } + + wait(4); + var_05 destroy(); + level.dialogue_huds[var_03] = undefined; } //Function Number: 474 @@ -9067,10 +9134,10 @@ isprimaryweapon(param_00) case "pistol": case "rifle": case "sniper": - break; + return 1; default: - break; + return 0; } } @@ -10098,9 +10165,16 @@ hide_entity() case "light_spot": case "script_vehicle": case "script_model": + self hide(); break; case "script_brushmodel": + self hide(); + self notsolid(); + if(self.spawnflags & 1) + { + self connectpaths(); + } break; case "trigger_multiple_flag_looking": @@ -10111,6 +10185,7 @@ hide_entity() case "trigger_use": case "trigger_multiple": case "trigger_radius": + common_scripts\utility::trigger_off(); break; default: @@ -10126,9 +10201,16 @@ show_entity() case "light_spot": case "script_vehicle": case "script_model": + self show(); break; case "script_brushmodel": + self show(); + self solid(); + if(self.spawnflags & 1) + { + self disconnectpaths(); + } break; case "trigger_multiple_flag_looking": @@ -10139,6 +10221,7 @@ show_entity() case "trigger_use": case "trigger_multiple": case "trigger_radius": + common_scripts\utility::trigger_on(); break; default: @@ -11199,13 +11282,13 @@ player_rides_in_humvee_offset(param_00) switch(param_00) { case "shotgun": - break; + return (-5,10,-34); case "backleft": - break; + return (-45,45,-34); case "backright": - break; + return (-45,5,-34); } } @@ -11215,13 +11298,13 @@ player_rides_humvee_offset_dismount(param_00) switch(param_00) { case "shotgun": - break; + return (-8,-90,-12.6); case "backleft": - break; + return (-58,85,-12.6); case "backright": - break; + return (-58,-95,-12.6); } } @@ -12580,21 +12663,99 @@ deep_array_call(param_00,param_01,param_02) switch(var_05.size) { case 0: + foreach(var_06 in var_03) + { + if(isdefined(var_06)) + { + if(isarray(var_06)) + { + deep_array_call(var_06,var_03,var_04); + continue; + } + + var_06 [[ var_03 ]](); + } + } break; case 1: + foreach(var_08 in param_02) + { + if(isdefined(var_08)) + { + if(isarray(var_08)) + { + deep_array_call(var_08,param_02,var_03); + continue; + } + + var_08 [[ param_02 ]](var_03[0]); + } + } break; case 2: + foreach(var_04 in param_01) + { + if(isdefined(var_04)) + { + if(isarray(var_04)) + { + deep_array_call(var_04,param_02,var_03); + continue; + } + + var_04 [[ param_02 ]](var_03[0],var_03[1]); + } + } break; case 3: + foreach(var_04 in param_01) + { + if(isdefined(var_04)) + { + if(isarray(var_04)) + { + deep_array_call(var_04,param_02,var_03); + continue; + } + + var_04 [[ param_02 ]](var_03[0],var_03[1],var_03[2]); + } + } break; case 4: + foreach(var_04 in param_01) + { + if(isdefined(var_04)) + { + if(isarray(var_04)) + { + deep_array_call(var_04,param_02,var_03); + continue; + } + + var_04 [[ param_02 ]](var_03[0],var_03[1],var_03[2],var_03[3]); + } + } break; case 5: + foreach(var_04 in param_01) + { + if(isdefined(var_04)) + { + if(isarray(var_04)) + { + deep_array_call(var_04,param_02,var_03); + continue; + } + + var_04 [[ param_02 ]](var_03[0],var_03[1],var_03[2],var_03[3],var_03[4]); + } + } break; } } @@ -12624,21 +12785,99 @@ deep_array_thread(param_00,param_01,param_02) switch(var_05.size) { case 0: + foreach(var_06 in var_03) + { + if(isdefined(var_06)) + { + if(isarray(var_06)) + { + deep_array_thread(var_06,var_03,var_04); + continue; + } + + var_06 thread [[ var_03 ]](); + } + } break; case 1: + foreach(var_08 in param_02) + { + if(isdefined(var_08)) + { + if(isarray(var_08)) + { + deep_array_thread(var_08,param_02,var_03); + continue; + } + + var_08 thread [[ param_02 ]](var_03[0]); + } + } break; case 2: + foreach(var_04 in param_01) + { + if(isdefined(var_04)) + { + if(isarray(var_04)) + { + deep_array_thread(var_04,param_02,var_03); + continue; + } + + var_04 thread [[ param_02 ]](var_03[0],var_03[1]); + } + } break; case 3: + foreach(var_04 in param_01) + { + if(isdefined(var_04)) + { + if(isarray(var_04)) + { + deep_array_thread(var_04,param_02,var_03); + continue; + } + + var_04 thread [[ param_02 ]](var_03[0],var_03[1],var_03[2]); + } + } break; case 4: + foreach(var_04 in param_01) + { + if(isdefined(var_04)) + { + if(isarray(var_04)) + { + deep_array_thread(var_04,param_02,var_03); + continue; + } + + var_04 thread [[ param_02 ]](var_03[0],var_03[1],var_03[2],var_03[3]); + } + } break; case 5: + foreach(var_04 in param_01) + { + if(isdefined(var_04)) + { + if(isarray(var_04)) + { + deep_array_thread(var_04,param_02,var_03); + continue; + } + + var_04 thread [[ param_02 ]](var_03[0],var_03[1],var_03[2],var_03[3],var_03[4]); + } + } break; } } @@ -12696,7 +12935,7 @@ follow_path_and_animate(param_00,param_01) self.current_follow_path = var_02; var_02 script_delay(); - if(isdefined(var_02)) + while(isdefined(var_02)) { self.current_follow_path = var_02; if(isdefined(var_02.lookahead)) @@ -12759,8 +12998,7 @@ follow_path_and_animate(param_00,param_01) if(isdefined(var_02.script_parameters)) { var_06 = strtok(var_02.script_parameters," "); - var_07 = 0; - if(var_07 < var_06.size) + for(var_07 = 0;var_07 < var_06.size;var_07++) { if(isdefined(level.custom_followpath_parameter_func)) { @@ -12775,17 +13013,54 @@ follow_path_and_animate(param_00,param_01) switch(var_06[var_07]) { case "enable_cqb": + enable_cqbwalk(); break; case "disable_cqb": + disable_cqbwalk(); break; case "deleteme": + self delete(); break; } } } + + if(!isdefined(var_02.script_requires_player) && param_01 > 0 && self.team == "allies") + { + while(isalive(level.player)) + { + if(follow_path_wait_for_player(var_02,param_01)) + { + break; + } + + if(isdefined(var_02.animation)) + { + self.goalradius = var_05; + self setgoalpos(self.origin); + } + + wait(0.05); + } + } + + if(!isdefined(var_02.target)) + { + break; + } + + if(isdefined(var_02.script_flag_wait)) + { + common_scripts\utility::flag_wait(var_02.script_flag_wait); + } + + var_02 script_delay(); + var_02 = var_02 common_scripts\utility::get_target_ent(); } + + self notify("path_end_reached"); } //Function Number: 827 diff --git a/AW/PC/SP/maps/_utility_code.gsc b/AW/PC/maps/_utility_code.gsc similarity index 95% rename from AW/PC/SP/maps/_utility_code.gsc rename to AW/PC/maps/_utility_code.gsc index ba4cce5..a13c9fa 100644 --- a/AW/PC/SP/maps/_utility_code.gsc +++ b/AW/PC/maps/_utility_code.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_utility_code.gsc + * Decompiled File: _utility_code.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 93 - * Decompile Time: 1542 ms - * Timestamp: 10/27/2023 2:02:04 AM + * Decompile Time: 1383 ms + * Timestamp: 4/22/2024 2:24:19 AM *******************************************************************/ //Function Number: 1 @@ -1198,15 +1198,85 @@ dynamic_run_set(param_00) switch(param_00) { case "sprint": + if(isdefined(self.cqbwalking) && self.cqbwalking && !self.dontchangemoveplaybackrate) + { + self.moveplaybackrate = 1; + } + else if(!self.dontchangemoveplaybackrate) + { + self.moveplaybackrate = 1.15; + } + + if(isarray(level.scr_anim["generic"]["DRS_sprint"])) + { + maps\_utility::set_generic_run_anim_array("DRS_sprint"); + } + else + { + maps\_utility::set_generic_run_anim("DRS_sprint"); + } + + self notify("stop_loop"); + maps\_utility::anim_stopanimscripted(); + maps\_utility::ent_flag_clear("dynamic_run_speed_stopped"); break; case "run": + if(!self.dontchangemoveplaybackrate) + { + self.moveplaybackrate = self.old_moveplaybackrate; + } + + if(isdefined(level.scr_anim["generic"]["DRS_run"])) + { + if(isarray(level.scr_anim["generic"]["DRS_run"])) + { + maps\_utility::set_generic_run_anim_array("DRS_run"); + } + else + { + maps\_utility::set_generic_run_anim("DRS_run"); + } + } + else + { + maps\_utility::clear_run_anim(); + } + + self notify("stop_loop"); + maps\_utility::anim_stopanimscripted(); + maps\_utility::ent_flag_clear("dynamic_run_speed_stopped"); break; case "stop": + thread dynamic_run_speed_stopped(); break; case "jog": + if(!self.dontchangemoveplaybackrate) + { + self.moveplaybackrate = self.old_moveplaybackrate; + } + + if(isdefined(level.scr_anim["generic"]["DRS_combat_jog"])) + { + if(isarray(level.scr_anim["generic"]["DRS_combat_jog"])) + { + maps\_utility::set_generic_run_anim_array("DRS_combat_jog"); + } + else + { + maps\_utility::set_generic_run_anim("DRS_combat_jog"); + } + } + else + { + maps\_utility::clear_run_anim(); + } + + self notify("stop_loop"); + maps\_utility::anim_stopanimscripted(); + maps\_utility::ent_flag_clear("dynamic_run_speed_stopped"); break; case "crouch": diff --git a/AW/PC/maps/_utility_dogs.gsc b/AW/PC/maps/_utility_dogs.gsc new file mode 100644 index 0000000..7d01a52 --- /dev/null +++ b/AW/PC/maps/_utility_dogs.gsc @@ -0,0 +1,295 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _utility_dogs.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 16 + * Decompile Time: 254 ms + * Timestamp: 4/22/2024 2:24:20 AM +*******************************************************************/ + +//Function Number: 1 +init_dog_anims() +{ + if(isdefined(level.dog_anims_initialized)) + { + return; + } + + level.dog_anims_initialized = 1; + level.scr_anim["generic"]["dog_sniff_idle"][0] = %iw6_dog_sniff_idle; + level.scr_anim["generic"]["dog_sniff_walk"] = %iw6_dog_sniff_walk; + level.scr_anim["generic"]["dog_sneak_idle"][0] = %iw6_dog_sneakidle; + level.scr_anim["generic"]["dog_sneak_walk"] = %iw6_dog_sneak_walk_forward; +} + +//Function Number: 2 +dog_follow_path_func(param_00,param_01) +{ + init_dog_anims(); + if(self.type != "dog") + { + return; + } + + switch(param_00) + { + case "enable_sniff": + dyn_sniff_disable(); + enable_dog_sniff(); + break; + + case "disable_sniff": + dyn_sniff_disable(); + disable_dog_sniff(); + break; + + case "enable_dyn_sniff": + dyn_sniff_enable(); + break; + + case "disable_dyn_sniff": + dyn_sniff_disable(); + break; + + case "enable_sneak": + dyn_sniff_disable(); + enable_dog_sneak(); + break; + + case "disable_sneak": + dyn_sniff_disable(); + disable_dog_sneak(); + break; + } +} + +//Function Number: 3 +enable_dog_sniff() +{ + self.old_moveplaybackrate = self.moveplaybackrate; + self.moveplaybackrate = 1; + self.movementtype = "sniff"; + maps\_utility::disable_arrivals(); + self notify("stop_pant"); +} + +//Function Number: 4 +disable_dog_sniff() +{ + if(isdefined(self.old_moveplaybackrate)) + { + self.moveplaybackrate = self.old_moveplaybackrate; + } + + self.movementtype = "run"; + maps\_utility::enable_arrivals(); +} + +//Function Number: 5 +enable_dog_sneak() +{ + init_dog_anims(); + self.run_overridesound = undefined; + self.customidlesound = undefined; + self.old_moveplaybackrate = self.moveplaybackrate; + self.moveplaybackrate = 1; + self.script_noturnanim = 1; + self.script_nostairs = 1; + maps\_utility::disable_arrivals(); + maps\_utility::disable_exits(); + maps\_utility::set_generic_idle_anim("dog_sneak_idle"); + maps\_utility::set_generic_run_anim("dog_sneak_walk"); +} + +//Function Number: 6 +disable_dog_sneak() +{ + if(isdefined(self.old_moveplaybackrate)) + { + self.moveplaybackrate = self.old_moveplaybackrate; + } + + self.run_overridesound = undefined; + self.customidlesound = undefined; + self.script_noturnanim = undefined; + self.script_nostairs = undefined; + maps\_utility::enable_arrivals(); + maps\_utility::enable_exits(); + maps\_utility::clear_generic_idle_anim(); + maps\_utility::clear_generic_run_anim(); +} + +//Function Number: 7 +dog_lower_camera(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 0.75; + } + + self setanim(%camera,1,param_00,1); + self setanimknob(%iw6_dog_camera_down_add,1,param_00,1); +} + +//Function Number: 8 +dog_raise_camera(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 0.75; + } + + self setanim(%camera,1,param_00,1); + self setanimknob(%iw6_dog_camera_up_add,1,param_00,1); +} + +//Function Number: 9 +dyn_sniff_enable(param_00,param_01) +{ + self endon("death"); + self endon("dynsniff_off"); + if(isdefined(self.dyn_sniff)) + { + return; + } + + self.dyn_sniff = 1; + if(!isdefined(param_00)) + { + param_00 = 400; + } + + if(!isdefined(param_01)) + { + param_01 = 200; + } + + self.old_moveplaybackrate = self.moveplaybackrate; + for(;;) + { + var_02 = player_is_behind_me(); + var_03 = distance(self.origin,level.player.origin); + if(var_02 && var_03 > param_00) + { + enable_dog_sniff(); + wait(4); + while(player_is_behind_me() && distance(self.origin,level.player.origin) > param_01) + { + wait(0.1); + } + + disable_dog_sniff(); + wait(6); + } + + wait(0.3); + } +} + +//Function Number: 10 +dyn_sniff_disable() +{ + self notify("dynsniff_off"); + disable_dog_sniff(); + self.dyn_sniff = undefined; +} + +//Function Number: 11 +player_is_behind_me() +{ + var_00 = (self.angles[0],self.angles[1],0); + var_01 = anglestoforward(var_00); + var_02 = self.origin - (0,0,self.origin[2]); + var_03 = level.player.origin - (0,0,level.player.origin[2]); + var_04 = vectornormalize(var_03 - var_02); + var_05 = vectordot(var_04,var_01); + return var_05 < -0.1; +} + +//Function Number: 12 +dog_bark(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = "anml_dog_bark_attention_npc"; + } + + self setanimrestart(%iw6_dog_attackidle_bark_add,1,0.1,1); + maps\_utility::play_sound_on_entity(param_00); +} + +//Function Number: 13 +dog_pant_think() +{ + self notify("stop_panting"); + self endon("stop_panting"); + self endon("death"); + for(;;) + { + if(!isdefined(self.run_overridesound) && !isdefined(self.customidlesound) && self.script != "dog_combat") + { + dog_pant(); + } + + wait(randomfloatrange(15,25)); + } +} + +//Function Number: 14 +dog_pant(param_00) +{ + self endon("stop_panting"); + self endon("stop_pant"); + self endon("death"); + var_01 = self isdogbeingdriven() || isdefined(self.controlling_dog); + var_02 = undefined; + if(self.script == "dog_stop") + { + if(var_01) + { + var_02 = "anml_dog_pants_med_plr"; + } + else + { + var_02 = "anml_dog_pants_med"; + } + } + else + { + if(self.movemode == "walk" || isdefined(self.movementtype) && self.movementtype == "walk_fast" || self.movementtype == "sniff" || self.movementtype == "sneak") + { + var_02 = "anml_dog_pants_med"; + } + else + { + var_02 = "anml_dog_pants_fast"; + } + + if(var_01) + { + var_02 = var_02 + "_plr"; + } + } + + maps\_utility::play_sound_on_entity(var_02); +} + +//Function Number: 15 +enable_dog_walk(param_00) +{ + self.old_movementtype = self.movementtype; + if(isdefined(param_00)) + { + self.movementtype = "walk_fast"; + return; + } + + self.movementtype = "walk"; +} + +//Function Number: 16 +disable_dog_walk() +{ + self.movementtype = "run"; +} \ No newline at end of file diff --git a/AW/PC/SP/maps/_variable_grenade.gsc b/AW/PC/maps/_variable_grenade.gsc similarity index 92% rename from AW/PC/SP/maps/_variable_grenade.gsc rename to AW/PC/maps/_variable_grenade.gsc index 0665e29..97571fb 100644 --- a/AW/PC/SP/maps/_variable_grenade.gsc +++ b/AW/PC/maps/_variable_grenade.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_variable_grenade.gsc + * Decompiled File: _variable_grenade.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 56 - * Decompile Time: 947 ms - * Timestamp: 10/27/2023 2:02:07 AM + * Decompile Time: 938 ms + * Timestamp: 4/22/2024 2:24:23 AM *******************************************************************/ //Function Number: 1 @@ -390,49 +390,99 @@ monitor_speech_action() { if(isdefined(level.xb3) && level.xb3) { - self waittill("speechCommand",var_00,var_01); - if(var_00 > 0.7 && self isholdinggrenade() || self ispreparinggrenade() || self isswitchinggrenade()) + for(;;) { - var_02 = undefined; - var_03 = undefined; - var_04 = undefined; - var_05 = self getcurrentoffhand(); - if(!isdefined(var_05)) + self waittill("speechCommand",var_00,var_01); + if(var_00 > 0.7 && self isholdinggrenade() || self ispreparinggrenade() || self isswitchinggrenade()) { - continue; - } + var_02 = undefined; + var_03 = undefined; + var_04 = undefined; + var_05 = self getcurrentoffhand(); + if(!isdefined(var_05)) + { + continue; + } - var_06 = get_mode_for_weapon_name(var_05); - if(!isdefined(var_06)) - { - continue; - } + var_06 = get_mode_for_weapon_name(var_05); + if(!isdefined(var_06)) + { + continue; + } - switch(var_01) - { - case "next_var": - break; + switch(var_01) + { + case "next_var": + var_02 = var_06; + var_07 = get_index_for_weapon_name(var_05); + var_03 = var_07 + 1 % self.variable_grenade[var_06].size; + var_08 = self.variable_grenade[var_06][var_03]; + var_04 = level.player.variable_grenade_ui_type[var_08]; + break; + + case "previous_var": + var_02 = var_06; + var_07 = get_index_for_weapon_name(var_05); + var_03 = var_07 - 1; + if(var_03 < 0) + { + var_03 = self.variable_grenade[var_06].size - 1; + } + + var_08 = self.variable_grenade[var_06][var_03]; + var_04 = level.player.variable_grenade_ui_type[var_08]; + break; + + case "frag_var": + var_02 = get_mode_for_weapon_name("frag_grenade_var"); + var_03 = get_index_for_weapon_name("frag_grenade_var"); + var_04 = level.player.variable_grenade_ui_type["frag_grenade_var"]; + break; + + case "smart_var": + var_02 = get_mode_for_weapon_name("tracking_grenade_var"); + var_03 = get_index_for_weapon_name("tracking_grenade_var"); + var_04 = level.player.variable_grenade_ui_type["tracking_grenade_var"]; + break; + + case "emp_var": + var_02 = get_mode_for_weapon_name("emp_grenade_var"); + var_03 = get_index_for_weapon_name("emp_grenade_var"); + var_04 = level.player.variable_grenade_ui_type["emp_grenade_var"]; + break; + + case "contact_var": + var_02 = get_mode_for_weapon_name("contact_grenade_var"); + var_03 = get_index_for_weapon_name("contact_grenade_var"); + var_04 = level.player.variable_grenade_ui_type["contact_grenade_var"]; + break; + + case "flash_var": + var_02 = get_mode_for_weapon_name("flash_grenade_var"); + var_03 = get_index_for_weapon_name("flash_grenade_var"); + var_04 = level.player.variable_grenade_ui_type["flash_grenade_var"]; + break; + + case "threat_var": + var_02 = get_mode_for_weapon_name("paint_grenade_var"); + var_03 = get_index_for_weapon_name("paint_grenade_var"); + var_04 = level.player.variable_grenade_ui_type["paint_grenade_var"]; + break; + } - case "previous_var": - break; + if(isdefined(var_02) && var_02 == var_06) + { + if(isdefined(var_03)) + { + handle_weapon_switch(var_02,var_03); + soundscripts\_snd::snd_message("variable_grenade_type_switch",var_03); + } - case "frag_var": - break; - - case "smart_var": - break; - - case "emp_var": - break; - - case "contact_var": - break; - - case "flash_var": - break; - - case "threat_var": - break; + if(isdefined(var_04)) + { + setomnvar("ui_grenade_type",var_04); + } + } } } } diff --git a/AW/PC/SP/maps/_vehicle.gsc b/AW/PC/maps/_vehicle.gsc similarity index 99% rename from AW/PC/SP/maps/_vehicle.gsc rename to AW/PC/maps/_vehicle.gsc index 14b1e95..f83d6f0 100644 --- a/AW/PC/SP/maps/_vehicle.gsc +++ b/AW/PC/maps/_vehicle.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_vehicle.gsc + * Decompiled File: _vehicle.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 100 - * Decompile Time: 1572 ms - * Timestamp: 10/27/2023 2:02:12 AM + * Decompile Time: 1551 ms + * Timestamp: 4/22/2024 2:24:28 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_vehicle_aianim.gsc b/AW/PC/maps/_vehicle_aianim.gsc similarity index 99% rename from AW/PC/SP/maps/_vehicle_aianim.gsc rename to AW/PC/maps/_vehicle_aianim.gsc index 8336795..b5ffd04 100644 --- a/AW/PC/SP/maps/_vehicle_aianim.gsc +++ b/AW/PC/maps/_vehicle_aianim.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_vehicle_aianim.gsc + * Decompiled File: _vehicle_aianim.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 111 - * Decompile Time: 1766 ms - * Timestamp: 10/27/2023 2:02:18 AM + * Decompile Time: 1656 ms + * Timestamp: 4/22/2024 2:24:33 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_vehicle_code.gsc b/AW/PC/maps/_vehicle_code.gsc similarity index 97% rename from AW/PC/SP/maps/_vehicle_code.gsc rename to AW/PC/maps/_vehicle_code.gsc index 7414f27..adf398a 100644 --- a/AW/PC/SP/maps/_vehicle_code.gsc +++ b/AW/PC/maps/_vehicle_code.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_vehicle_code.gsc + * Decompiled File: _vehicle_code.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 209 - * Decompile Time: 3238 ms - * Timestamp: 10/27/2023 2:02:28 AM + * Decompile Time: 3254 ms + * Timestamp: 4/22/2024 2:24:43 AM *******************************************************************/ //Function Number: 1 @@ -2326,17 +2326,77 @@ vehicle_do_crash(param_00,param_01,param_02,param_03) switch(var_04) { case "helicopter": + thread helicopter_crash(param_01,param_02,param_03); break; case "tank": + if(!isdefined(self.rollingdeath)) + { + self vehicle_setspeed(0,25); + } + else + { + self vehicle_setspeed(8,25); + self waittill("deathrolloff"); + self vehicle_setspeed(0,25); + } + + self notify("deadstop"); + if(!isdefined(self.dontdisconnectpaths)) + { + self disconnectpaths(); + } + + if(isdefined(self.tankgetout) && self.tankgetout > 0) + { + self waittill("animsdone"); + } break; case "diveboat": + if(!isdefined(self.dontdisconnectpaths)) + { + self disconnectpaths(); + } break; case "physics": + self vehphys_crash(); + self notify("deadstop"); + if(!isdefined(self.dontdisconnectpaths)) + { + self disconnectpaths(); + } + + if(isdefined(self.tankgetout) && self.tankgetout > 0) + { + self waittill("animsdone"); + } break; } + + if(isdefined(level.vehicle_hasmainturret[param_00]) && level.vehicle_hasmainturret[param_00]) + { + self clearturrettarget(); + } + + if(_ishelicopter()) + { + if(isdefined(self.crashing) && self.crashing == 1) + { + self waittill("crash_done"); + } + } + else + { + while(!is_corpse() && isdefined(self) && self vehicle_getspeed() > 0) + { + wait(0.1); + } + } + + self notify("stop_looping_death_fx"); + vehicle_finish_death(param_00); } //Function Number: 52 @@ -3041,16 +3101,20 @@ helicopter_crash_flavor(param_00,param_01) switch(var_02) { case 1: + thread helicopter_crash_zigzag(); break; case 2: + thread helicopter_crash_directed(param_00,param_01); break; case 3: + thread helicopter_in_air_explosion(); break; case 0: default: + thread helicopter_crash_rotate(); break; } } @@ -3888,7 +3952,7 @@ damage_hint_bullet_only() level.armordamagehints = 0; self.displayingdamagehints = 0; thread damage_hints_cleanup(); - if(isdefined(self)) + while(isdefined(self)) { self waittill("damage",var_00,var_01,var_02,var_03,var_04); if(!isplayer(var_01)) @@ -3907,6 +3971,26 @@ damage_hint_bullet_only() case "mod_rifle_bullet": case "mod_pistol_bullet": case "bullet": + if(!level.armordamagehints) + { + if(isdefined(level.thrown_semtex_grenades) && level.thrown_semtex_grenades > 0) + { + break; + } + + level.armordamagehints = 1; + self.displayingdamagehints = 1; + var_01 maps\_utility::display_hint("invulerable_bullets"); + wait(4); + level.armordamagehints = 0; + if(isdefined(self)) + { + self.displayingdamagehints = 0; + } + + break; + } + break; } } @@ -3918,7 +4002,7 @@ damage_hints() level.armordamagehints = 0; self.displayingdamagehints = 0; thread damage_hints_cleanup(); - if(isdefined(self)) + while(isdefined(self)) { self waittill("damage",var_00,var_01,var_02,var_03,var_04); if(!isplayer(var_01)) @@ -3939,6 +4023,34 @@ damage_hints() case "bullet": case "mod_grenade_splash": case "mod_grenade": + if(!level.armordamagehints) + { + if(isdefined(level.thrown_semtex_grenades) && level.thrown_semtex_grenades > 0) + { + break; + } + + level.armordamagehints = 1; + self.displayingdamagehints = 1; + if(var_04 == "mod_grenade" || var_04 == "mod_grenade_splash") + { + var_01 maps\_utility::display_hint("invulerable_frags"); + } + else + { + var_01 maps\_utility::display_hint("invulerable_bullets"); + } + + wait(4); + level.armordamagehints = 0; + if(isdefined(self)) + { + self.displayingdamagehints = 0; + } + + break; + } + break; } } @@ -4538,13 +4650,16 @@ set_turret_team(param_00) { case "allies": case "friendly": + param_00 setturretteam("allies"); break; case "axis": case "enemy": + param_00 setturretteam("axis"); break; case "team3": + param_00 setturretteam("team3"); break; default: diff --git a/AW/PC/SP/maps/_vehicle_free_drive.gsc b/AW/PC/maps/_vehicle_free_drive.gsc similarity index 99% rename from AW/PC/SP/maps/_vehicle_free_drive.gsc rename to AW/PC/maps/_vehicle_free_drive.gsc index 31255f7..46c1dd1 100644 --- a/AW/PC/SP/maps/_vehicle_free_drive.gsc +++ b/AW/PC/maps/_vehicle_free_drive.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_vehicle_free_drive.gsc + * Decompiled File: _vehicle_free_drive.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 47 - * Decompile Time: 761 ms - * Timestamp: 10/27/2023 2:02:30 AM + * Decompile Time: 769 ms + * Timestamp: 4/22/2024 2:24:46 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_vehicle_missile.gsc b/AW/PC/maps/_vehicle_missile.gsc similarity index 98% rename from AW/PC/SP/maps/_vehicle_missile.gsc rename to AW/PC/maps/_vehicle_missile.gsc index 3b1bc69..d1c8295 100644 --- a/AW/PC/SP/maps/_vehicle_missile.gsc +++ b/AW/PC/maps/_vehicle_missile.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_vehicle_missile.gsc + * Decompiled File: _vehicle_missile.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 8 * Decompile Time: 134 ms - * Timestamp: 10/27/2023 2:02:31 AM + * Timestamp: 4/22/2024 2:24:46 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/_vehicle_shg.gsc b/AW/PC/maps/_vehicle_shg.gsc similarity index 94% rename from AW/PC/SP/maps/_vehicle_shg.gsc rename to AW/PC/maps/_vehicle_shg.gsc index fbd4301..45ddf51 100644 --- a/AW/PC/SP/maps/_vehicle_shg.gsc +++ b/AW/PC/maps/_vehicle_shg.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_vehicle_shg.gsc + * Decompiled File: _vehicle_shg.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 8 - * Decompile Time: 134 ms - * Timestamp: 10/27/2023 2:02:32 AM + * Decompile Time: 122 ms + * Timestamp: 4/22/2024 2:24:47 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/_vehicle_traffic.gsc b/AW/PC/maps/_vehicle_traffic.gsc new file mode 100644 index 0000000..221d47b --- /dev/null +++ b/AW/PC/maps/_vehicle_traffic.gsc @@ -0,0 +1,5093 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _vehicle_traffic.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 144 + * Decompile Time: 2147 ms + * Timestamp: 4/22/2024 2:24:54 AM +*******************************************************************/ + +//Function Number: 1 +traffic_init(param_00) +{ + traffic_set_traffic_tuning(0); + common_scripts\utility::create_dvar("vehicle_traffic_debug",0); + common_scripts\utility::create_dvar("vehicle_traffic_dodge_debug",0); + common_scripts\utility::create_dvar("vehicle_traffic_lane_change_debug",0); + common_scripts\utility::create_dvar("vehicle_traffic_debug_spawn",0); + common_scripts\utility::create_dvar("vehicle_traffic_draw_scriptcar_path",0); + common_scripts\utility::create_dvar("vehicle_traffic_debug_single",0); + if(!isdefined(level.traffic_cars)) + { + level.traffic_cars = 0; + } + + if(!isdefined(level.traffic_cars_scriptmodel_only_count)) + { + level.traffic_cars_scriptmodel_only_count = 0; + } + + if(!isdefined(level.script_cars)) + { + level.script_cars = []; + } + + level.traffic_collision_fx_func = param_00; + thread handle_wakeup_sphere_global(); +} + +//Function Number: 2 +traffic_set_traffic_tuning(param_00) +{ + if(isdefined(param_00) && param_00) + { + level.traffic_tune_single_spawn_dist_between_cars = 315; + level.traffic_tune_fill_spawn_dist_between_cars = 250; + level.traffic_tune_min_follow_dist = 240; + level.traffic_tune_min_speedup_dist = 300; + level.traffic_tune_follow_speed_scale = 0.7; + level.traffic_tune_min_stop_dist = 230; + level.traffic_tune_extreme_near_car_dist = 100; + level.traffic_tune_speedup_speed_scale = 1.3; + level.traffic_tune_start_spawn_rand_chance = 100; + } + else + { + level.traffic_tune_single_spawn_dist_between_cars = 800; + level.traffic_tune_fill_spawn_dist_between_cars = 2000; + level.traffic_tune_min_follow_dist = 1400; + level.traffic_tune_min_speedup_dist = 999999; + level.traffic_tune_follow_speed_scale = 0.8; + level.traffic_tune_min_stop_dist = 300; + level.traffic_tune_extreme_near_car_dist = 100; + level.traffic_tune_speedup_speed_scale = 1; + level.traffic_tune_start_spawn_rand_chance = 70; + } + + level.traffic_tune_single_spawn_dist_between_cars_sq = level.traffic_tune_single_spawn_dist_between_cars * level.traffic_tune_single_spawn_dist_between_cars; + level.traffic_tune_fill_spawn_dist_between_cars_sq = level.traffic_tune_fill_spawn_dist_between_cars * level.traffic_tune_fill_spawn_dist_between_cars; + level.traffic_tune_min_follow_dist_sq = level.traffic_tune_min_follow_dist * level.traffic_tune_min_follow_dist; + level.traffic_tune_min_speedup_dist_sq = level.traffic_tune_min_speedup_dist * level.traffic_tune_min_speedup_dist; + level.traffic_tune_min_stop_dist_sq = level.traffic_tune_min_stop_dist * level.traffic_tune_min_stop_dist; + level.traffic_tune_extreme_near_car_dist_sq = level.traffic_tune_extreme_near_car_dist * level.traffic_tune_extreme_near_car_dist; +} + +//Function Number: 3 +traffic_set_traffic_tuning_lagos_highway() +{ + traffic_set_traffic_tuning(0); + level.traffic_tune_fill_spawn_dist_between_cars = level.traffic_tune_single_spawn_dist_between_cars; + level.traffic_tune_fill_spawn_dist_between_cars_sq = level.traffic_tune_single_spawn_dist_between_cars_sq; +} + +//Function Number: 4 +get_max_cars() +{ + if(level.currentgen) + { + return 15; + } + + return 40; +} + +//Function Number: 5 +traffic_path_head_car_traffic_jam(param_00) +{ + traffic_path_all_cars_helper(param_00,1,1); +} + +//Function Number: 6 +traffic_path_head_car_traffic_jam_end_thread(param_00) +{ + traffic_path_all_cars_helper(param_00,0,0); +} + +//Function Number: 7 +traffic_path_head_car_set_force_script_model(param_00,param_01) +{ + traffic_path_all_cars_helper(param_00,param_01,4); +} + +//Function Number: 8 +traffic_path_head_car_set_force_stop(param_00,param_01) +{ + traffic_path_all_cars_helper(param_00,param_01,3); +} + +//Function Number: 9 +traffic_path_all_cars_set_force_stop(param_00,param_01) +{ + traffic_path_all_cars_helper(param_00,param_01,0); +} + +//Function Number: 10 +traffic_path_all_cars_set_script_brush(param_00,param_01) +{ + traffic_path_all_cars_helper(param_00,param_01,2); +} + +//Function Number: 11 +traffic_path_remove_cars_at_node(param_00,param_01) +{ + traffic_path_all_cars_helper(param_00,param_01,5); +} + +//Function Number: 12 +traffic_path_set_cars_at_node_ai_path_blocker(param_00,param_01) +{ + traffic_path_all_cars_helper(param_00,param_01,9); +} + +//Function Number: 13 +traffic_path_all_cars_helper(param_00,param_01,param_02) +{ + var_03 = 1; + for(;;) + { + var_04 = param_00 + "_" + var_03; + var_05 = getvehiclenodearray(var_04,"targetname"); + if(!isdefined(var_05) || var_05.size <= 0) + { + return; + } + + foreach(var_07 in var_05) + { + var_07 notify("stop_car_random_stops"); + if(param_02 == 1) + { + var_07 thread traffic_path_head_car_random_stops(); + continue; + } + + if(param_02 == 6) + { + var_07.dont_spawn_over_obstacles = param_01; + continue; + } + + if(param_02 == 7) + { + var_07.no_crash_handling = param_01; + continue; + } + + if(param_02 == 8) + { + var_07.do_pathbased_avoidance = param_01; + continue; + } + + traffic_path_all_cars_set_command_single_lane(var_07,param_01,param_02); + } + + var_03++; + } +} + +//Function Number: 14 +traffic_path_head_car_random_stops() +{ + level endon("stop_traffic"); + self endon("stop_traffic_lane"); + self endon("stop_car_random_stops"); + var_00 = 1; + for(;;) + { + var_01 = 20 + randomfloat(80) * 0.02; + wait(var_01); + traffic_path_all_cars_set_command_single_lane(self,var_00,3); + var_00 = !var_00; + } +} + +//Function Number: 15 +traffic_path_all_cars_set_command_single_lane(param_00,param_01,param_02) +{ + var_03 = param_00.traffic_head_veh; + while(is_traffic_ent(var_03)) + { + if(param_02 == 0 || param_02 == 3) + { + if(param_01) + { + var_03.traffic_speed_override = 0; + var_03 scale_vehicle_speed(0); + } + else + { + var_03.traffic_speed_override = undefined; + } + + if(param_02 == 3) + { + break; + } + + continue; + } + + if(param_02 == 2) + { + if(param_01) + { + var_03.vehicle vehicle_assignbrushmodelcollision(); + var_03.vehicle setcandamage(1); + var_03.vehicle vehphys_enablecrashing(); + } + else + { + var_03.vehicle vehicle_removebrushmodelcollision(); + var_03.vehicle setcandamage(0); + var_03.vehicle vehphys_disablecrashing(); + } + + continue; + } + + if(param_02 == 5) + { + if(var_03 vehicle_getcurrentnode_a().targetname == param_01) + { + var_03 notify("reached_end_node"); + } + + continue; + } + + if(param_02 == 9) + { + if(var_03 vehicle_getcurrentnode_a().targetname == param_01) + { + var_03.vehicle disconnectpaths(); + } + } + + var_03 = var_03.traffic_follower; + } +} + +//Function Number: 16 +setup_traffic_path(param_00,param_01,param_02,param_03) +{ + setup_traffic_path_with_options(param_00,param_01,param_02,param_03,0,0,0,1,9000000,1); +} + +//Function Number: 17 +setup_traffic_path_with_options(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ + if(!isdefined(level.traffic_cars)) + { + return; + } + + if(!setup_traffic_spawner(param_01)) + { + return; + } + + if(!isdefined(level.traffic_lanes)) + { + level.traffic_lanes = []; + } + + if(!isdefined(level.traffic_crashed_vehicles)) + { + level.traffic_crashed_vehicles = []; + } + + var_0A = 1; + for(;;) + { + var_0B = param_00 + "_" + var_0A; + var_0C = getvehiclenodearray(var_0B,"targetname"); + if(!isdefined(var_0C) || var_0C.size <= 0) + { + return; + } + + level thread setup_traffic_group(var_0C,param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09); + var_0A++; + } +} + +//Function Number: 18 +delete_traffic_path(param_00) +{ + var_01 = 1; + for(;;) + { + var_02 = param_00 + "_" + var_01; + var_03 = getvehiclenodearray(var_02,"targetname"); + if(!isdefined(var_03) || var_03.size <= 0) + { + return; + } + + level delete_traffic_group(var_03); + var_01++; + } +} + +//Function Number: 19 +setup_traffic_spawner(param_00) +{ + var_01 = getentarray(param_00,"targetname"); + if(!isdefined(var_01) || var_01.size <= 0) + { + return 0; + } + + if(!isdefined(level.traffic_spawners)) + { + level.traffic_spawners = []; + } + + if(!isdefined(level.traffic_spawners[param_00])) + { + level.traffic_spawners[param_00] = []; + var_02 = 0; + for(var_03 = 0;var_03 < var_01.size;var_03++) + { + level.traffic_spawners[param_00][var_03]["spawner"] = var_01[var_03]; + level.traffic_spawners[param_00][var_03]["spawner"].traffic_locked = 0; + level.traffic_spawners[param_00][var_03]["model"] = get_traffic_model(var_01[var_03].model); + level.traffic_spawners[param_00][var_03]["weight"] = get_traffic_weight(var_01[var_03].vehicletype); + var_02 = var_02 + level.traffic_spawners[param_00][var_03]["weight"]; + } + + if(var_02 > 0) + { + for(var_03 = 0;var_03 < level.traffic_spawners[param_00].size;var_03++) + { + level.traffic_spawners[param_00][var_03]["normalizedweight"] = level.traffic_spawners[param_00][var_03]["weight"] / var_02; + } + } + } + + return 1; +} + +//Function Number: 20 +get_traffic_model(param_00) +{ + if(param_00 == "vehicle_suburban") + { + return "vehicle_suburban_bridge"; + } + + if(param_00 == "vehicle_80s_hatch1_silv_destructible_mp") + { + return "vehicle_80s_hatch2_silv"; + } + + if(param_00 == "vehicle_policecar_lapd_destructible") + { + return "vehicle_policecar_lapd"; + } + + if(param_00 == "vehicle_80s_wagon1_silv_destructible_mp") + { + return "vehicle_80s_wagon1_silv"; + } + + if(param_00 == "vehicle_80s_wagon1_red_destructible_mp") + { + return "vehicle_80s_wagon1_red"; + } + + if(param_00 == "vehicle_uk_utility_truck_destructible") + { + return "vehicle_uk_utility_truck_static"; + } + + if(param_00 == "vehicle_jeep_rubicon") + { + return "vehicle_jeep_destructible"; + } + + return param_00; +} + +//Function Number: 21 +get_traffic_weight(param_00) +{ + if(param_00 == "civ_domestic_truck_physics") + { + return 1; + } + + if(param_00 == "civ_domestic_sportscar_01_physics") + { + return 0.3; + } + + if(param_00 == "civ_pickup_truck_01_physics") + { + return 1; + } + + if(param_00 == "civ_workvan_physics") + { + return 0.3; + } + + if(param_00 == "civ_domestic_sedan_taxi_01_physics") + { + return 0.5; + } + + if(param_00 == "civ_domestic_sedan_taxi_02_physics") + { + return 0.5; + } + + if(param_00 == "civ_domestic_sedan_01_physics") + { + return 1; + } + + return 1; +} + +//Function Number: 22 +setup_traffic_group(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A) +{ + setup_lane_information(param_00); + foreach(var_0C in param_00) + { + var_0C.traffic_force_script_models_only = param_07; + var_0C.traffic_spawn_mode = param_05; + if(isdefined(param_04)) + { + var_0C.fill_pos_ent = param_04; + } + + if(isdefined(param_09)) + { + var_0C.despawn_dist_sq = param_09; + } + + if(isdefined(param_0A)) + { + var_0C.despawn_if_not_in_view = param_0A; + } + + if(isdefined(param_08)) + { + var_0C.vehicle_collision_enabled = param_08; + } + else + { + var_0C.vehicle_collision_enabled = 1; + } + + level.traffic_lanes[level.traffic_lanes.size] = var_0C; + } + + if(isdefined(level.traffic_tune_no_spawn) && level.traffic_tune_no_spawn == param_01) + { + return; + } + + foreach(var_0C in param_00) + { + if(isdefined(var_0C.nospawn) && var_0C.nospawn) + { + continue; + } + + if(isdefined(param_03) && param_03) + { + var_0C thread start_traffic_lane(param_02,param_04,param_06); + } + } +} + +//Function Number: 23 +delete_traffic_group(param_00) +{ + if(!isdefined(level.traffic_lanes)) + { + return; + } + + var_01 = level.traffic_lanes; + var_02 = level.traffic_lanes.size; + level.traffic_lanes = []; + level.additional_delete_cars = []; + for(var_03 = 0;var_03 < var_02;var_03++) + { + var_04 = var_01[var_03]; + if(!isdefined(var_04)) + { + continue; + } + + if(!isdefined(var_04.traffic_tail)) + { + continue; + } + + foreach(var_06 in param_00) + { + if(var_06 == var_04) + { + var_07 = var_04.traffic_tail; + delete_lane_cars(var_04.traffic_tail); + var_04.traffic_tail.traffic_leader = undefined; + var_04.traffic_tail = undefined; + var_04.traffic_head_veh = undefined; + var_04 notify("stop_traffic_lane"); + var_01[var_03] = undefined; + } + } + } + + while(level.additional_delete_cars.size > 0) + { + var_09 = level.additional_delete_cars; + level.additional_delete_cars = []; + foreach(var_0B in var_09) + { + delete_lane_cars(var_0B); + } + } + + foreach(var_04 in var_01) + { + level.traffic_lanes[level.traffic_lanes.size] = var_04; + } + + level.additional_delete_cars = undefined; +} + +//Function Number: 24 +delete_lane_cars(param_00) +{ + while(isdefined(param_00)) + { + var_01 = param_00; + if(isdefined(param_00.traffic_leader_pending)) + { + level.additional_delete_cars[level.additional_delete_cars.size] = param_00.traffic_leader_pending; + } + + param_00 = param_00.traffic_leader; + var_01 notify("reached_end_node"); + } +} + +//Function Number: 25 +setup_lane_information(param_00) +{ + var_01 = []; + var_02 = []; + foreach(var_04 in param_00) + { + if(!isdefined(var_04.lane_processed)) + { + var_04.lane_processed = 1; + var_02[var_02.size] = var_04; + } + + var_04.traffic_tail = spawnstruct(); + var_04.traffic_head_veh = undefined; + } + + if(var_02.size <= 0) + { + return; + } + + for(;;) + { + find_node_neighbors(var_02); + var_06 = undefined; + var_07 = 0; + for(var_08 = 0;var_08 < var_02.size;var_08++) + { + var_02[var_08].lane_start_node = param_00[var_08]; + var_09 = var_02[var_08]; + if(var_07 > 50) + { + return; + } + + if(isdefined(var_02[var_08].target) && isdefined(var_02[var_08].targetname)) + { + } + + if(isdefined(var_02[var_08].script_noteworthy)) + { + if(var_02[var_08].script_noteworthy == "traffic_lane_merge") + { + var_0A = undefined; + if(isdefined(var_02[var_08].target)) + { + var_0A = getvehiclenodearray(var_02[var_08].target,"target"); + } + + if(isdefined(var_0A) && var_0A.size == 1) + { + } + else + { + var_02 = maps\_utility::array_remove_index(var_02,var_08); + param_00 = maps\_utility::array_remove_index(param_00,var_08); + if(var_02.size <= 0) + { + return; + } + else + { + var_08--; + continue; + } + } + } + else if(var_02[var_08].script_noteworthy == "traffic_lane_split" || var_02[var_08].script_noteworthy == "traffic_lane_exit") + { + if(isdefined(var_02[var_08].script_linkto)) + { + var_0B = getvehiclenodearray(var_02[var_08].script_linkto,"target"); + if(isdefined(var_0B) && var_0B.size == 1) + { + var_06 = var_02[var_08].script_linkto; + } + else if(var_02[var_08].script_noteworthy == "traffic_lane_split") + { + var_0B = getvehiclenodearray(var_02[var_08].script_linkto,"script_linkname"); + foreach(var_0D in var_0B) + { + if(!isdefined(var_0D.lane_start_node)) + { + var_01[var_01.size] = var_0D; + } + } + } + } + else + { + } + } + } + + if(!isdefined(var_02[var_08].target)) + { + var_07++; + continue; + } + + var_0F = getvehiclenode(var_02[var_08].target,"targetname"); + if(!isdefined(var_0F)) + { + var_07++; + continue; + } + + var_02[var_08] = var_0F; + var_10 = var_02[var_08]; + } + + if(isdefined(var_06)) + { + var_11 = getvehiclenode(var_06,"script_linkname"); + if(isdefined(var_11)) + { + var_11.lane_processed = 1; + param_00[param_00.size] = var_11; + var_02[var_02.size] = var_11; + } + + var_06 = undefined; + } + + if(var_07 > 0) + { + break; + } + } + + foreach(var_0D in var_01) + { + var_16 = []; + var_16[0] = var_0D; + setup_lane_information(var_16); + } +} + +//Function Number: 26 +find_node_neighbors(param_00) +{ + if(param_00.size <= 1) + { + return; + } + + for(var_01 = 0;var_01 < param_00.size;var_01++) + { + if(!isdefined(param_00[var_01].target)) + { + continue; + } + + var_02 = getvehiclenode(param_00[var_01].target,"targetname"); + if(!isdefined(var_02)) + { + continue; + } + + var_03 = vectornormalize(var_02.origin - param_00[var_01].origin); + var_04 = get_closest_neighbors(param_00[var_01],param_00,var_03); + if(isdefined(var_04["left"])) + { + param_00[var_01].neighbor_left = var_04["left"]; + } + + if(isdefined(var_04["right"])) + { + param_00[var_01].neighbor_right = var_04["right"]; + } + } +} + +//Function Number: 27 +get_closest_neighbors(param_00,param_01,param_02) +{ + var_03 = undefined; + var_04 = 999999999; + var_05 = undefined; + var_06 = 999999999; + for(var_07 = 0;var_07 < param_01.size;var_07++) + { + if(param_00 == param_01[var_07]) + { + continue; + } + + var_08 = vectornormalize(param_01[var_07].origin - param_00.origin); + var_09 = vectorcross(var_08,param_02); + if(var_09[2] > 0) + { + if(!isdefined(var_05)) + { + var_05 = param_01[var_07]; + var_06 = distance2dsquared(param_00.origin,param_01[var_07].origin); + } + else + { + var_0A = distance2dsquared(param_00.origin,param_01[var_07].origin); + if(var_0A < var_06) + { + var_05 = param_01[var_07]; + var_06 = var_0A; + } + } + + continue; + } + + if(!isdefined(var_03)) + { + var_03 = param_01[var_07]; + var_04 = distance2dsquared(param_00.origin,param_01[var_07].origin); + continue; + } + + var_0A = distance2dsquared(param_00.origin,param_01[var_07].origin); + if(var_0A < var_04) + { + var_03 = param_01[var_07]; + var_04 = var_0A; + } + } + + var_0B["left"] = var_03; + var_0B["right"] = var_05; + return var_0B; +} + +//Function Number: 28 +spawn_single_vehicle_for_lane(param_00,param_01) +{ + var_02 = getvehiclenode(param_00,"targetname"); + if(!isdefined(var_02)) + { + return undefined; + } + + var_03 = get_max_cars(); + if(var_03 < 0 || level.traffic_cars < var_03) + { + var_04 = spawn_new_traffic_entity_at_node(var_02,param_01); + if(isdefined(var_04)) + { + var_04 insert_to_lane(var_02,undefined,"SPAWNING"); + return var_04; + } + + if(level.currentgen) + { + wait(0.1); + } + } + + return undefined; +} + +//Function Number: 29 +get_spawn_chance(param_00) +{ + var_01 = level.traffic_tune_start_spawn_rand_chance; + if(isdefined(param_00.lane_start_node) && isdefined(param_00.lane_start_node.spawn_chance_override)) + { + var_01 = param_00.lane_start_node.spawn_chance_override; + } + + return var_01; +} + +//Function Number: 30 +start_traffic_lane(param_00,param_01,param_02) +{ + level endon("stop_traffic"); + self endon("stop_traffic_lane"); + var_03 = spawn_route_full_with_traffic_at(self,param_00,param_01,param_02); + var_04 = var_03[0]; + var_05 = var_03[1]; + if(isdefined(var_04)) + { + self.traffic_tail.traffic_leader = var_04; + self.traffic_head_veh = var_05; + var_04.traffic_follower = self.traffic_tail; + } + + var_06 = get_max_cars(); + var_07 = getvehiclenode(self.target,"targetname"); + if(self.traffic_spawn_mode == 10 || self.traffic_spawn_mode == 20) + { + var_08 = 1; + var_09 = 0; + var_0A = 0; + for(;;) + { + if(isdefined(self.nospawn) && self.nospawn) + { + wait 0.05; + continue; + } + + for(var_0B = 0;var_0B < 2;var_0B++) + { + if(randomint(100) < get_spawn_chance(self) * 0.5) + { + var_0C = undefined; + var_0D = get_head_or_tail_variables(var_0B,var_0A,var_09); + var_08 = var_0D[0]; + var_0E = var_0D[1]; + var_0F = var_0D[2]; + if(isdefined(param_01)) + { + var_0C = get_node_at_radius_distance(var_07,param_01.origin,get_despawn_dist_sq(self),!var_08); + } + else + { + var_0C = getvehiclenode(self.target,"targetname"); + } + + if(isdefined(var_0C)) + { + var_10 = var_0C.targetname; + var_04 = undefined; + var_05 = undefined; + var_04 = self.traffic_tail.traffic_leader; + if(isdefined(self.traffic_head_veh)) + { + var_05 = self.traffic_head_veh; + } + + var_11 = var_0E * level.traffic_tune_single_spawn_dist_between_cars; + if(!isdefined(var_04) || !isdefined(var_05) || !var_08 && distance2d(var_04.vehicle.origin,var_0C.origin) > level.traffic_tune_single_spawn_dist_between_cars + var_11 && vehicle_in_front_of_node(var_04.vehicle,var_0C) || var_08 && distance2d(var_05.vehicle.origin,var_0C.origin) > level.traffic_tune_single_spawn_dist_between_cars + var_11 && !vehicle_in_front_of_node(var_05.vehicle,var_0C)) + { + var_12 = spawn_single_vehicle_for_lane(var_10,param_00); + if(isdefined(var_12)) + { + var_0E = 0; + } + else + { + var_0E++; + } + + if(var_0B == 0) + { + var_0A = var_0E; + } + + if(var_0B == 1) + { + var_09 = var_0E; + } + } + else + { + wait(0.5); + } + } + + if(self.traffic_spawn_mode != 20) + { + break; + } + + continue; + } + } + + var_14 = randomint(100); + wait(var_14 * 0.008); + wait 0.05; + } + + return; + } + + if(self.traffic_spawn_mode == 0) + { + for(;;) + { + if(var_06 < 0 || level.traffic_cars < var_06) + { + fill_new_traffic_entity_near_player(self,param_00); + } + + wait(randomfloatrange(3,6.5)); + } + } +} + +//Function Number: 31 +get_head_or_tail_variables(param_00,param_01,param_02) +{ + if(param_00 == 0) + { + var_03 = 0; + var_04 = param_01; + var_05 = "tail"; + return [var_03,var_04,var_05]; + } + + var_03 = 1; + var_04 = var_04; + var_05 = "head"; + return [var_03,var_04,var_05]; +} + +//Function Number: 32 +vehicle_in_front_of_node(param_00,param_01) +{ + if(!isdefined(param_00)) + { + return 1; + } + + var_02 = param_00.origin - param_01.origin; + var_03 = getvehiclenode(param_01.target,"targetname"); + if(!isdefined(var_03)) + { + return 1; + } + + var_04 = var_03.origin - param_01.origin; + var_02 = vectornormalize(var_02); + var_04 = vectornormalize(var_04); + var_05 = vectordot(var_02,var_04); + return var_05 > 0; +} + +//Function Number: 33 +get_pos_at_given_distance_on_lane(param_00,param_01,param_02,param_03) +{ + var_04 = param_00; + var_05 = param_02; + var_06 = undefined; + var_07 = undefined; + var_08 = param_01; + var_09 = 0; + var_0A = 0; + if(!isdefined(param_01.target)) + { + var_08 = undefined; + } + + if(param_03) + { + var_0B = distance(var_04,var_08.origin); + var_0C = randomfloatrange(1,var_0B * 0.5 + 2); + var_05 = var_05 + randomfloatrange(var_05,var_05 + var_0C); + } + + while(isdefined(var_08) && isdefined(var_08.target)) + { + var_0B = distance(var_04,var_08.origin); + var_0D = var_08.origin - var_04; + var_0E = vectornormalize(var_0D); + if(var_0B > var_05) + { + var_06 = var_04 + var_0E * var_05; + var_07 = vectortoangles(var_0E); + var_0A = var_0A + var_05; + break; + } + else + { + var_05 = var_05 - var_0B; + var_04 = var_08.origin; + var_0A = var_0A + var_0B; + } + + var_08 = getvehiclenode(var_08.target,"targetname"); + var_09++; + } + + return [var_06,var_07,param_01,var_08,var_0A]; +} + +//Function Number: 34 +spawn_route_full_with_traffic_at(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_00.target)) + { + return [undefined,undefined]; + } + + var_04 = undefined; + var_05 = undefined; + var_06 = undefined; + var_07 = get_max_cars(); + var_08 = undefined; + var_09 = undefined; + var_0A = param_00.origin; + var_0B = 0; + var_0C = get_despawn_dist_sq(param_00.lane_start_node); + var_0D = param_00; + var_0E = -1; + while(isdefined(param_00) && isdefined(param_00.target)) + { + var_0E++; + param_00 = var_0D; + if(var_07 >= 0 && level.traffic_cars >= var_07) + { + break; + } + + if(var_0E == 0) + { + var_0B = randomfloat(level.traffic_tune_fill_spawn_dist_between_cars * 0.5); + } + else + { + var_0B = level.traffic_tune_fill_spawn_dist_between_cars; + } + + if(param_03) + { + var_0F = get_pos_at_given_distance_on_lane(var_0A,param_00,var_0B,0); + var_08 = var_0F[0]; + var_09 = var_0F[1]; + param_00 = var_0F[2]; + var_0D = var_0F[3]; + var_10 = var_0F[4]; + } + else + { + var_11 = get_pos_at_given_distance_on_lane(var_0A,param_00,var_0B,1); + var_08 = var_11[0]; + var_09 = var_11[1]; + param_00 = var_11[2]; + var_0D = var_11[3]; + var_10 = var_11[4]; + } + + if(!isdefined(var_08)) + { + break; + } + + var_0A = var_08; + if(isdefined(param_00.script_noteworthy) && param_00.script_noteworthy == "traffic_lane_merge") + { + if(param_00.script_noteworthy == "traffic_lane_merge") + { + return [var_04,var_05]; + } + } + + if((isdefined(param_00.lane_start_node) && isdefined(param_00.lane_start_node.nospawn) && param_00.lane_start_node.nospawn) || isdefined(param_02) && distance2dsquared(var_08,param_02.origin) > var_0C || isdefined(param_00.script_noteworthy) && param_00.script_noteworthy == "traffic_lane_split" || param_00.script_noteworthy == "traffic_lane_exit") + { + continue; + } + + if(randomint(100) < get_spawn_chance(param_00)) + { + var_06 = spawn_new_traffic_entity_at_node_override(var_08,var_09,param_00,param_01); + if(isdefined(var_06)) + { + if(!isdefined(var_04)) + { + var_04 = var_06; + } + + if(isdefined(var_05)) + { + var_05.traffic_leader = var_06; + var_06.traffic_follower = var_05; + } + + var_05 = var_06; + continue; + } + + continue; + } + } + + return [var_04,var_05]; +} + +//Function Number: 35 +fill_new_traffic_entity_near_player(param_00,param_01) +{ + var_02 = level.player.origin; + var_03 = anglestoforward(level.player getplayerangles()); + if(!isdefined(param_00.target)) + { + return; + } + + var_04 = randomint(level.traffic_spawners[param_01].size); + var_05 = param_00; + var_06 = get_max_cars(); + for(;;) + { + if(var_06 >= 0 && level.traffic_cars >= var_06) + { + return; + } + + if(!isdefined(var_05.target)) + { + return; + } + + if(isdefined(var_05.script_noteworthy) && var_05.script_noteworthy == "traffic_lane_merge") + { + return; + } + + var_07 = getvehiclenode(var_05.target,"targetname"); + if(!isdefined(var_07)) + { + return; + } + + if(randomint(100) < get_spawn_chance(param_00)) + { + var_08 = vectornormalize(var_07.origin - var_05.origin); + var_09 = vectordot(var_08,var_03); + var_0A = var_05.origin - var_02; + var_0B = length2dsquared(var_0A); + var_0C = vectornormalize(var_0A); + var_0D = vectordot(var_0C,var_03); + var_0E = var_09 > 0; + var_0F = var_0D > 0; + if(!var_0E && !var_0F) + { + return; + } + + if(!var_0E && var_0B < 225000000) + { + return; + } + + if(var_0E && var_0B > 400000000) + { + return; + } + + var_10 = 0; + if(var_0F && var_0B > 225000000 && var_0B < 400000000) + { + var_10 = 1; + } + + if(var_10) + { + var_11 = undefined; + var_12 = find_closest_car(var_05,var_05.origin); + if(isdefined(var_12)) + { + var_11 = distance2dsquared(var_12.vehicle.origin,var_05.origin); + } + + if(!isdefined(var_11) || var_11 > level.traffic_tune_single_spawn_dist_between_cars_sq) + { + var_13 = spawn_new_traffic_entity_at_node(var_05,param_01); + if(isdefined(var_13)) + { + var_13 insert_to_lane(var_05,var_12,"FILL"); + } + } + } + } + + var_05 = var_07; + } +} + +//Function Number: 36 +spawn_new_traffic_entity_at_node(param_00,param_01) +{ + return spawn_new_traffic_entity_at_node_override(param_00.origin,param_00.angles,param_00,param_01); +} + +//Function Number: 37 +spawn_new_traffic_entity_at_node_override(param_00,param_01,param_02,param_03) +{ + if(check_if_intersecting_any_script_car(param_00,param_02.lane_start_node)) + { + return undefined; + } + + if(isdefined(param_02.nospawn)) + { + return undefined; + } + + var_04 = 0; + var_05 = randomfloatrange(0,1); + for(var_06 = 0;var_06 < level.traffic_spawners[param_03].size;var_06++) + { + if(var_05 < level.traffic_spawners[param_03][var_06]["normalizedweight"]) + { + var_04 = var_06; + break; + } + + var_05 = var_05 - level.traffic_spawners[param_03][var_06]["normalizedweight"]; + } + + var_07 = spawn("script_origin",(0,0,0)); + var_07.is_traffic_ent = 1; + var_07.targetname = "traffic_vehicle"; + var_07.traffic_spawner = level.traffic_spawners[param_03][var_04]; + var_07.traffic_speed_status = 0; + var_07.traffic_leader = undefined; + var_07.traffic_follower = undefined; + var_07.spawn_time = gettime(); + if(isdefined(param_02.speed)) + { + var_07.traffic_speed = param_02.speed; + } + + var_07.currentnode = param_02; + var_07.birthnode = param_02.lane_start_node; + if(!param_02.lane_start_node.traffic_force_script_models_only && should_be_vehicle(param_02.origin)) + { + var_08 = var_07 spawn_new_traffic_vehicle(param_00,param_01,param_02,level.traffic_spawners[param_03][var_04]); + } + else + { + var_08 = var_08 spawn_new_traffic_model(param_01 - (0,0,16),param_02,param_03,level.traffic_spawners[var_04][var_05]); + } + + if(isdefined(var_08)) + { + var_07.vehicle = var_08; + if(isdefined(param_02.lane_start_node.vehicle_easy_crash_die)) + { + if(var_08.code_classname == "script_vehicle") + { + var_08.health = 5; + } + else + { + var_08.currenthealth = 5; + } + } + + if(!param_02.lane_start_node.traffic_force_script_models_only) + { + var_07 thread traffic_type_swap(); + } + + var_07 thread monitor_vehicle_speed(); + var_07 thread car_behavior(); + var_07 thread clean_up_car(param_02.lane_start_node.traffic_force_script_models_only); + return var_07; + } + + var_07 delete(); + return undefined; +} + +//Function Number: 38 +spawn_new_traffic_vehicle(param_00,param_01,param_02,param_03) +{ + while(param_03["spawner"].traffic_locked == 1) + { + wait(0.05); + } + + foreach(var_05 in vehicle_getarray()) + { + if(abs(var_05.origin[2] - param_00[2]) < 50 && distance2dsquared(var_05.origin,param_00) < level.traffic_tune_extreme_near_car_dist_sq) + { + return undefined; + } + } + + param_03["spawner"].traffic_locked = 1; + var_05 = param_03["spawner"] maps\_utility::spawn_vehicle(); + thread unlock_traffic_spawner(param_03); + if(isdefined(var_05)) + { + var_05.parent_ent = self; + var_07 = undefined; + if(!isdefined(self.currentnode.lane_start_node.vehicle_nodrivers) || !self.currentnode.lane_start_node.vehicle_nodrivers) + { + var_08 = getent("civ_vehicle_driver_spawner","targetname"); + if(isdefined(var_08)) + { + var_07 = var_08 maps\_utility::spawn_ai(1); + var_05 maps\_utility::guy_enter_vehicle(var_07); + var_07 setcandamage(0); + } + } + + var_05 thread clean_up_on_parent_death(self); + var_05 vehicle_setspeedimmediate(model_speed_to_mph(self.traffic_speed),15,15); + if(isdefined(self.currentnode.lane_start_node.vehicle_notsolid) && self.currentnode.lane_start_node.vehicle_notsolid) + { + if(isdefined(var_07)) + { + var_07 notsolid(); + } + + var_05 vehicle_removebrushmodelcollision(); + var_05 vehphys_disablecrashing(); + } + + if(isdefined(self.currentnode.lane_start_node.no_crash_handling) && !self.currentnode.lane_start_node.no_crash_handling) + { + var_05 thread handle_traffic_collisions(); + } + + if(islagostraversesetting(var_05)) + { + if(isdefined(var_07)) + { + var_07 notsolid(); + } + } + + var_05 thread setup_vehicle_for_damage(); + thread sync_entity_damage(var_05); + var_05 vehicle_teleport(param_00,param_01,1); + var_05 thread traffic_drive_vehicle(param_02); + var_05 thread handle_brake_lights(); + var_05 thread detect_being_pushed(::force_vehicle_delete); + var_05 thread detect_dropping(); + var_05 soundscripts\_snd::snd_message("spawn_new_traffic_vehicle"); + } + + return var_05; +} + +//Function Number: 39 +unlock_traffic_spawner(param_00) +{ + wait(0.05); + param_00["spawner"].traffic_locked = 0; +} + +//Function Number: 40 +spawn_new_traffic_model(param_00,param_01,param_02,param_03) +{ + if(level.currentgen && level.traffic_cars_scriptmodel_only_count > 20) + { + return undefined; + } + + var_04 = spawn("script_model",param_00); + var_04.angles = param_01; + var_04 setmodel(param_03["model"]); + if(param_02.lane_start_node.traffic_force_script_models_only && isdefined(level.vehicle_deathmodel) && isdefined(level.vehicle_deathmodel[var_04.model]) && param_02.lane_start_node.vehicle_collision_enabled) + { + var_04 vehicle_assignbrushmodelcollision(); + var_04 setcandamage(1); + var_04 thread monitor_script_model_damage(); + } + else + { + var_04 vehicle_removebrushmodelcollision(); + var_04 notsolid(); + var_04 removefrommovingplatformsystem(1); + } + + var_04 thread clean_up_on_parent_death(self); + sync_entity_damage(var_04); + var_04.parent_ent = self; + var_04 thread traffic_drive_vehicle(param_02); + var_04 thread vehicle_treads_script_model(param_03["spawner"].classname); + return var_04; +} + +//Function Number: 41 +vehicle_treads_script_model(param_00) +{ + level endon("stop_traffic"); + self endon("reached_end_node"); + self endon("death"); + var_01 = maps\_vehicle_code::get_vehicle_effect(param_00,"default_script_model"); + if(isdefined(var_01)) + { + playfxontag(var_01,self,"tag_origin"); + } +} + +//Function Number: 42 +clear_cars_around_pos(param_00,param_01,param_02) +{ + var_03 = param_01 * param_01; + var_04 = getentarray("traffic_vehicle","targetname"); + foreach(var_06 in var_04) + { + if(!isdefined(var_06)) + { + continue; + } + + if(isdefined(param_02)) + { + if(param_02 && !isdefined(var_06.vehicle)) + { + continue; + } + } + + var_07 = distance2dsquared(var_06.vehicle.origin,param_00); + if(var_07 < var_03) + { + var_06 notify("reached_end_node"); + } + } +} + +//Function Number: 43 +add_script_car(param_00,param_01) +{ + var_02 = undefined; + for(var_03 = 0;var_03 < level.script_cars.size;var_03++) + { + if(!isdefined(level.script_cars[var_03])) + { + var_02 = var_03; + break; + } + } + + if(!isdefined(var_02)) + { + var_02 = level.script_cars.size; + } + + level.script_cars[var_02] = param_00; + if(!isdefined(param_01) || isdefined(param_01) && param_01) + { + param_00 thread handle_traffic_collisions(); + } + + param_00 thread mark_adjacent_script_cars(); + level notify("new_script_car",param_00); +} + +//Function Number: 44 +mark_adjacent_script_cars() +{ + self endon("death"); + var_00 = 160000; + var_01 = 130; + var_02 = 0.5; + for(;;) + { + if(vehicle_getspeed_a() > 50) + { + var_03 = 0; + self.script_car_on_left = undefined; + self.script_car_on_right = undefined; + foreach(var_05 in level.script_cars) + { + if(!isdefined(var_05) || self == var_05) + { + continue; + } + + var_06 = []; + if(isdefined(var_05 gettagorigin("tag_wheel_back_left")) && isdefined(var_05 gettagorigin("tag_wheel_front_right"))) + { + var_06[0] = var_05 get_adjusted_script_car_origin(0); + var_06[1] = var_05 get_adjusted_script_car_origin(1); + } + else + { + var_06[0] = var_05.origin; + } + + foreach(var_08 in var_06) + { + if(distance2dsquared(self.origin,var_08) < var_00) + { + var_03 = 1; + var_09 = self.origin + (0,0,25); + var_0A = var_05 get_adjusted_script_car_origin(0) - var_09; + var_0B = anglestoright(self.angles); + var_0C = vectordot(var_0B,var_0A); + if(var_0C > 0 && var_0C > var_01 && var_0C < var_01 * 2) + { + self.script_car_on_right = var_05; + } + + if(var_0C < 0 && var_0C < -1 * var_01 && var_0C > var_01 * -2) + { + self.script_car_on_left = var_05; + } + } + } + } + } + + wait(var_02); + } +} + +//Function Number: 45 +remove_script_car(param_00) +{ + var_01 = []; + foreach(var_03 in level.script_cars) + { + if(!isdefined(var_03) || var_03 == param_00) + { + continue; + } + + var_01[var_01.size] = var_03; + } + + level.script_cars = var_01; +} + +//Function Number: 46 +check_if_intersecting_any_script_car(param_00,param_01) +{ + if(isdefined(param_01.dont_spawn_over_obstacles) && !param_01.dont_spawn_over_obstacles) + { + return 0; + } + + var_02 = 136900; + foreach(var_04 in level.script_cars) + { + if(!isdefined(var_04)) + { + continue; + } + + var_05[0] = var_04.origin; + if(isdefined(var_04 gettagorigin("tag_wheel_back_left")) && isdefined(var_04 gettagorigin("tag_wheel_front_right"))) + { + var_05[0] = var_04 get_adjusted_script_car_origin(0); + var_05[1] = var_04 get_adjusted_script_car_origin(1); + } + + foreach(var_07 in var_05) + { + if(distance2dsquared(var_07,param_00) < var_02) + { + return 1; + } + } + } + + return 0; +} + +//Function Number: 47 +is_traffic_ent(param_00) +{ + if(!isdefined(param_00)) + { + return 0; + } + + if(!isdefined(param_00.is_traffic_ent) || !param_00.is_traffic_ent) + { + return 0; + } + + return 1; +} + +//Function Number: 48 +traffic_drive_vehicle(param_00) +{ + var_01 = 0; + level endon("stop_traffic"); + self endon("death"); + self notify("traffic_drive_vehicle_once"); + self endon("traffic_drive_vehicle_once"); + thread traffic_handle_messages(); + if(self.classname == "script_model") + { + var_02 = param_00; + var_03 = anglestoforward(self.angles); + var_04 = var_02.origin - self.origin; + var_04 = vectornormalize(var_04); + var_05 = vectordot(var_03,var_04); + var_06 = distance2dsquared(param_00.origin,self.origin); + if(var_06 < level.traffic_tune_extreme_near_car_dist_sq || var_05 < 0) + { + if(isdefined(param_00.target)) + { + var_02 = getvehiclenode(param_00.target,"targetname"); + } + else + { + var_01 = 1; + } + } + + for(;;) + { + if(isdefined(var_02)) + { + script_vehicle_move_to_node(var_02); + if(isdefined(var_02.script_noteworthy)) + { + self notify("noteworthy",var_02.script_noteworthy); + } + + param_00 = var_02; + if(!isdefined(param_00.target)) + { + var_01 = 1; + break; + } + + var_02 = getvehiclenode(var_02.target,"targetname"); + if(isdefined(param_00.speed)) + { + adjust_model_speed_to_node(param_00); + } + + continue; + } + + var_01 = 1; + break; + } + } + else + { + var_07 = getvehiclenodepreviousforstartpath(param_00); + if(isdefined(var_07)) + { + param_00 = var_07; + } + + thread maps\_vehicle_code::_vehicle_paths(param_00); + self startpath(param_00); + self waittill("reached_end_node"); + self.parent_ent notify("reached_end_node"); + } + + if(var_01) + { + if(gettime() == self.parent_ent.spawn_time) + { + wait 0.05; + } + + self.parent_ent notify("reached_end_node"); + } +} + +//Function Number: 49 +getvehiclenodepreviousforstartpath(param_00) +{ + var_01 = getvehiclenodearray(param_00.targetname,"target"); + if(!isdefined(var_01)) + { + return undefined; + } + + if(var_01.size == 1) + { + return var_01[0]; + } + + var_02 = undefined; + var_03 = 0; + foreach(var_05 in var_01) + { + var_06 = param_00.origin - var_05.origin; + var_06 = (var_06[0],var_06[1],0); + var_06 = vectornormalize(var_06); + var_07 = anglestoforward(self.angles); + var_07 = (var_07[0],var_07[1],0); + var_07 = vectornormalize(var_07); + var_08 = vectordot(var_07,var_06); + if(var_08 > var_03) + { + var_03 = var_08; + var_02 = var_05; + } + } + + return var_02; +} + +//Function Number: 50 +script_vehicle_move_to_node(param_00) +{ + self endon("death"); + for(;;) + { + var_01 = distance2dsquared(param_00.origin,self.origin); + if(var_01 < level.traffic_tune_extreme_near_car_dist_sq) + { + if((!isdefined(self.parent_ent.traffic_speed_override) || self.parent_ent.traffic_speed_override > 0) && self.parent_ent.traffic_speed > 0) + { + return; + } + } + + path_to_node_at_current_speed(var_01,param_00); + } +} + +//Function Number: 51 +set_zero_speed(param_00) +{ + var_01 = param_00.origin - (0,0,16) - self.origin; + var_02 = undefined; + if(length2dsquared(var_01) < 400) + { + var_02 = param_00.origin; + } + else + { + var_01 = vectornormalize(var_01); + var_02 = self.origin + var_01 * 20; + } + + var_02 = self.origin; + self moveto(var_02,0.15,0,0.15); + self rotateto(self.angles,0.1,0,0.1); +} + +//Function Number: 52 +path_to_node_at_current_speed(param_00,param_01) +{ + self endon("death"); + self endon("traffic_speed_changed"); + if(self.parent_ent.traffic_speed <= 0) + { + set_zero_speed(param_01); + self waittill("forever"); + } + + var_05 = sqrt(param_00) / self.parent_ent.traffic_speed; + var_06 = var_05 * 2; + var_07 = maps\_utility::round_float(var_06,1,0); + var_08 = var_07 * 0.5; + self.parent_ent.currentnode = param_01; + self moveto(param_01.origin - (0,0,27),var_08 + 0.05,0,0); + self rotateto(param_01.angles,var_05,0,0); + wait(var_08); +} + +//Function Number: 53 +traffic_handle_messages() +{ + level endon("stop_traffic"); + self endon("death"); + self endon("reached_end_node"); + self endon("vehicle_crash"); + self notify("traffic_handle_msg_once"); + self endon("traffic_handle_msg_once"); + for(;;) + { + self waittill("noteworthy",var_00); + if(var_00 == "traffic_lane_merge") + { + self.parent_ent merge_lane(); + continue; + } + + if(var_00 == "traffic_lane_split" || var_00 == "traffic_lane_exit") + { + self.parent_ent split_lane(); + } + } +} + +//Function Number: 54 +traffic_type_swap() +{ + level endon("stop_traffic"); + self endon("reached_end_node"); + self endon("death"); + self endon("vehicle_crash"); + var_00 = 0.05; + if(level.currentgen) + { + var_00 = 0.2; + } + + if(!isdefined(self)) + { + return; + } + + wait(0.1); + for(;;) + { + if(self.vehicle.classname == "script_model") + { + if(should_be_vehicle(self.vehicle.origin,self.vehicle.classname)) + { + if(self.traffic_spawner["spawner"].traffic_locked == 0) + { + var_01 = spawn_new_traffic_vehicle(self.vehicle.origin,self.vehicle.angles,self.currentnode,self.traffic_spawner); + if(isdefined(var_01)) + { + self.vehicle delete(); + self.vehicle = var_01; + self.vehicle.parent_ent = self; + var_01 vehicle_setspeedimmediate(model_speed_to_mph(self.traffic_speed),15,15); + self notify("swap_to_real_vehicle"); + } + else + { + self notify("reached_end_node"); + } + } + } + } + else if(!should_be_vehicle(self.vehicle.origin,self.vehicle.classname)) + { + var_01 = spawn_new_traffic_model(self.vehicle.origin,self.vehicle.angles,self.vehicle.currentnode,self.traffic_spawner); + if(isdefined(var_01)) + { + self.vehicle notify("newpath"); + self.vehicle notify("stop_dodge"); + if(isdefined(self.vehicle.deathfx_ent)) + { + self.vehicle.deathfx_ent delete(); + } + + self.vehicle delete(); + self.vehicle = var_01; + self.vehicle.parent_ent = self; + } + } + + wait(var_00); + } +} + +//Function Number: 55 +restore_vehicle_speed() +{ + if(isdefined(self.traffic_old_speed)) + { + self.traffic_speed = self.traffic_old_speed; + self.vehicle notify("traffic_speed_changed"); + } + + self.traffic_old_speed = undefined; +} + +//Function Number: 56 +scale_vehicle_speed(param_00) +{ + if(isdefined(self.traffic_old_speed)) + { + if(self.traffic_speed == self.traffic_old_speed * param_00) + { + return; + } + } + + restore_vehicle_speed(); + self.traffic_old_speed = self.traffic_speed; + self.traffic_speed = self.traffic_speed * param_00; + if(self.vehicle.classname != "script_model") + { + self.vehicle vehicle_setspeed(model_speed_to_mph(self.traffic_speed),15,15); + return; + } + + self.vehicle notify("traffic_speed_changed"); +} + +//Function Number: 57 +set_vehicle_speed(param_00) +{ + if(!isdefined(self.traffic_old_speed)) + { + self.traffic_old_speed = self.traffic_speed; + } + + if(self.traffic_speed != param_00) + { + self.traffic_speed = param_00; + if(self.vehicle.classname != "script_model") + { + self.vehicle vehicle_setspeed(model_speed_to_mph(self.traffic_speed),15,15); + return; + } + + self.vehicle notify("traffic_speed_changed"); + } +} + +//Function Number: 58 +monitor_vehicle_speed() +{ + level endon("stop_traffic"); + self endon("reached_end_node"); + self endon("death"); + self endon("vehicle_crash"); + wait(0.05); + for(;;) + { + self.traffic_speed_status_prev = self.traffic_speed_status; + if(isdefined(self.currentnode.is_blockage) && self.currentnode.is_blockage) + { + self.traffic_speed_status = -10; + scale_vehicle_speed(0); + } + else if(isdefined(self.traffic_speed_override)) + { + self.traffic_speed_status = -20; + set_vehicle_speed(mph_to_model_speed(self.traffic_speed_override)); + } + else if(!isdefined(self.dodging)) + { + var_00 = 2.222222E+09; + var_01 = 0; + if(isdefined(self.traffic_leader) && self.traffic_leader != self) + { + var_01 = 1; + var_00 = distance2dsquared(self.vehicle.origin,self.traffic_leader.vehicle.origin); + } + + if(var_00 < level.traffic_tune_extreme_near_car_dist_sq) + { + self notify("reached_end_node"); + } + else if(self.traffic_speed_status != 10 && var_00 < level.traffic_tune_min_stop_dist_sq) + { + self.traffic_speed_status = 10; + scale_vehicle_speed(0); + if(self.vehicle.code_classname == "script_vehicle") + { + self.traffic_stop_waittime = gettime() + randomfloat(100); + } + else + { + self.traffic_stop_waittime = gettime() + randomfloat(1000); + } + } + else if(self.traffic_speed_status == 10) + { + if(var_00 > level.traffic_tune_min_stop_dist_sq * 1.1) + { + if(!var_01 || gettime() > self.traffic_stop_waittime) + { + self.traffic_speed_status = 20; + scale_vehicle_speed(level.traffic_tune_follow_speed_scale); + } + } + } + else if(islagostraversesetting(self.vehicle) && isdefined(self.traffic_change_lane) && self.traffic_change_lane) + { + if(isdefined(self.traffic_change_lane_speed)) + { + set_vehicle_speed(self.traffic_change_lane_speed); + } + else + { + scale_vehicle_speed(1.5); + } + } + else if(self.traffic_speed_status != 20 && var_00 < level.traffic_tune_min_follow_dist_sq) + { + self.traffic_speed_status = 20; + scale_vehicle_speed(level.traffic_tune_follow_speed_scale); + } + else if(self.traffic_speed_status == 20) + { + if(var_00 > level.traffic_tune_min_follow_dist_sq * 1.1) + { + self.traffic_speed_status = 0; + } + } + else if(!islagostraversesetting(self.vehicle) && isdefined(self.traffic_change_lane) && self.traffic_change_lane) + { + scale_vehicle_speed(1.5); + } + else if(self.traffic_speed_status != 30 && var_00 > level.traffic_tune_min_speedup_dist_sq && var_01) + { + self.traffic_speed_status = 30; + scale_vehicle_speed(level.traffic_tune_speedup_speed_scale); + } + else if(self.traffic_speed_status == 30) + { + if(var_00 < level.traffic_tune_min_speedup_dist_sq * 0.9 || !var_01) + { + self.traffic_speed_status = 0; + } + } + else if(isdefined(self.traffic_old_speed)) + { + restore_vehicle_speed(); + if(self.vehicle.classname != "script_model") + { + self.vehicle resumespeed(15); + } + + self.traffic_speed_status = 0; + } + } + + process_traffic_leader_pending_due_to_lane_split(); + wait(0.05); + } +} + +//Function Number: 59 +process_traffic_leader_pending_due_to_lane_split() +{ + if(level.template_script != "lagos") + { + return; + } + + var_00 = 0; + if(isdefined(self.traffic_leader_pending_check) && self.traffic_leader_pending_check) + { + if(isdefined(self.traffic_leader)) + { + var_01 = anglestoforward(self.vehicle.angles); + var_02 = vectornormalize(var_01); + var_03 = self.traffic_leader.vehicle.origin - self.vehicle.origin; + var_04 = vectordot(var_03,var_02) * var_02; + var_05 = distance2dsquared(var_03,var_04); + if(var_05 > 8100) + { + self.traffic_leader = self.traffic_leader_pending; + var_00 = 1; + } + } + else + { + self.traffic_leader = self.traffic_leader_pending; + var_00 = 1; + } + + if(var_00) + { + self.traffic_leader_pending_check = undefined; + self.traffic_leader_pending = undefined; + } + } +} + +//Function Number: 60 +handle_brake_lights() +{ + self endon("death"); + if(!isdefined(level.vehicle_lights_group[self.classname]) || !isdefined(level.vehicle_lights_group[self.classname]["brakelights"])) + { + return; + } + + var_00 = 0.1; + if(level.currentgen) + { + var_00 = 0.25; + } + + var_01 = 0; + var_02 = 0; + for(;;) + { + var_03 = self vehicle_getspeed(); + if(var_03 < var_02 && !var_01) + { + thread maps\_vehicle::vehicle_lights_on("brakelights"); + var_01 = 1; + } + else if(var_01 && var_03 == 0 || var_03 > var_02) + { + thread maps\_vehicle::vehicle_lights_off("brakelights"); + var_01 = 0; + } + + var_02 = var_03; + wait(var_00); + } +} + +//Function Number: 61 +car_behavior() +{ + thread lane_change_behavior(); + thread dodge_behavior(); + thread telefrag_behavior(); +} + +//Function Number: 62 +lane_change_behavior() +{ + level endon("stop_traffic"); + self endon("death"); + self endon("reached_end_node"); + self endon("vehicle_crash"); + self.traffic_change_lane = 0; + wait 0.05; + for(;;) + { + thread decide_to_change_lane(); + self waittill("change_lane",var_00,var_01); + if(isdefined(var_00)) + { + thread turn_signal_on(var_00); + } + + change_lane(var_00,var_01); + self notify("changing_lane"); + wait(0.7); + var_02 = 0; + } +} + +//Function Number: 63 +turn_signal_on(param_00) +{ + self notify("one_turn_signal_on"); + self endon("one_turn_signal_on"); + self endon("death"); + self endon("reached_end_node"); + if(self.vehicle.classname == "script_model") + { + return; + } + + if(!isdefined(param_00)) + { + return; + } + + var_01 = []; + var_02 = []; + if(param_00 == "left") + { + var_01 = ["taillight_scroll_left"]; + var_02 = ["taillight_left","mirrorlight_left","frontsignal_left"]; + } + else if(param_00 == "right") + { + var_01 = ["taillight_scroll_right"]; + var_02 = ["taillight_right","mirrorlight_right","frontsignal_right"]; + } + + var_03 = common_scripts\utility::array_combine(var_01,var_02); + self endon(param_00 + "_light_off"); + thread turn_signal_off(param_00,var_03); + thread traffic_vehicle_lights_on(var_01); + for(;;) + { + traffic_vehicle_lights_on(var_02); + wait(0.35); + traffic_vehicle_lights_off(var_02); + wait(0.5); + } +} + +//Function Number: 64 +turn_signal_off(param_00,param_01) +{ + wait_for_turn_signal_off(); + if(!isdefined(self)) + { + return; + } + + self notify(param_00 + "_light_off"); + traffic_vehicle_lights_off(param_01); +} + +//Function Number: 65 +wait_for_turn_signal_off() +{ + self endon("one_turn_signal_on"); + self endon("death"); + self waittill("changing_lane"); + wait(5); +} + +//Function Number: 66 +decide_to_change_lane() +{ + self endon("death"); + self endon("reached_end_node"); + self endon("vehicle_crash"); + wait(0.05); + thread change_lane_too_close(); +} + +//Function Number: 67 +get_path_segment_array(param_00,param_01,param_02) +{ + var_03 = param_00; + var_04 = distance2d(self.vehicle.origin,var_03.origin); + var_05 = []; + if(isdefined(param_02) && param_02) + { + var_06 = getvehiclenode(param_00.targetname,"target"); + if(isdefined(var_06)) + { + var_05[var_05.size] = var_06; + } + } + + var_05[var_05.size] = param_00; + for(;;) + { + if(!isdefined(var_03)) + { + break; + } + + if(!isdefined(var_03.target)) + { + break; + } + + var_07 = var_03; + var_03 = getvehiclenode(var_03.target,"targetname"); + var_04 = var_04 + distance2d(var_07.origin,var_03.origin); + if(var_04 > param_01) + { + var_05[var_05.size] = var_03; + break; + } + + if(var_05.size > 5) + { + break; + } + + var_05[var_05.size] = var_03; + } + + return var_05; +} + +//Function Number: 68 +get_c_right_dist_2d(param_00,param_01,param_02,param_03,param_04,param_05) +{ + param_00 = (param_00[0],param_00[1],0); + param_01 = (param_01[0],param_01[1],0); + param_02 = (param_02[0],param_02[1],0); + param_04 = (param_04[0],param_04[1],0); + param_03 = (param_03[0],param_03[1],0); + param_05 = (param_05[0],param_05[1],0); + if(vectors_are_equal_2d(param_00,param_01)) + { + var_06 = param_03 - param_00; + var_07 = param_05 - param_00; + var_08 = vectornormalize(var_06); + var_09 = var_08 * vectordot(var_07,var_08); + var_0A = param_05 - param_00 + var_09; + var_0B = vectornormalize(var_0A); + return vectordot(var_07,var_0B); + } + + var_06 = var_06 - var_08; + var_07 = var_06 - var_07; + var_08 = vectornormalize(var_0A); + var_09 = var_0B * vectordot(var_0A,var_0B); + var_0A = param_03 - param_04 + var_0B; + var_0B = vectornormalize(var_0B); + return vectordot(var_07,var_0B); +} + +//Function Number: 69 +vehicle_getcurrentnode_a() +{ + var_00 = undefined; + if(self.code_classname == "script_vehicle") + { + var_00 = self vehicle_getcurrentnode(); + if(isdefined(var_00) && isdefined(var_00.target)) + { + var_00 = getvehiclenode(var_00.target,"targetname"); + } + else if(isdefined(self.parent_ent)) + { + var_00 = self.parent_ent.currentnode; + } + } + else if(isdefined(self.parent_ent)) + { + var_00 = self.parent_ent.currentnode; + } + else if(is_traffic_ent(self)) + { + return self.vehicle vehicle_getcurrentnode_a(); + } + + if(isdefined(self._animactive) && self._animactive > 0) + { + var_00 = undefined; + if(isdefined(var_00)) + { + var_00 = get_closest_node_in_front_of_given_car(var_00,self); + } + + if(!isdefined(var_00) && isdefined(self.vehicle_spawner.target)) + { + var_00 = getvehiclenode(self.vehicle_spawner.target,"targetname"); + } + } + + return var_00; +} + +//Function Number: 70 +change_lane_too_close() +{ + level endon("stop_traffic"); + self endon("death"); + self endon("reached_end_node"); + self endon("vehicle_crash"); + var_00 = 0.05; + if(level.currentgen) + { + var_00 = 0.2; + } + + for(;;) + { + foreach(var_02 in level.script_cars) + { + if(!isdefined(var_02)) + { + continue; + } + + var_03 = var_02 vehicle_getspeed(); + if(var_03 < 1) + { + continue; + } + + var_04 = anglestoforward(var_02.angles); + var_05 = anglestoforward(self.vehicle.angles); + var_06 = self.vehicle.origin - var_02.origin; + var_07 = vectornormalize(var_06); + if(vectordot(var_04,var_05) > 0.87 && vectordot(var_04,var_07) > 0.87) + { + var_08 = self.traffic_speed; + if(isdefined(self.traffic_old_speed)) + { + var_08 = self.traffic_old_speed; + } + + var_03 = mph_to_model_speed(var_03); + var_09 = var_02 vehicle_getcurrentnode_a(); + if(isdefined(var_09)) + { + var_0A = var_09.speed; + var_03 = max(var_03,var_0A); + } + + var_0B = var_03 - var_08; + var_0C = squared(var_0B * 4); + var_0D = distance2dsquared(self.vehicle.origin,var_02 get_adjusted_script_car_origin(1)); + if((var_0B > 0 || var_0B > -80 && var_0D < level.traffic_tune_min_stop_dist_sq) && var_0D < var_0C) + { + var_0E = anglestoright(var_02.angles); + var_0F = vectordot(var_0E,var_06); + var_10 = self.vehicle vehicle_getcurrentnode_a(); + if(isdefined(var_10) && isdefined(var_10.lane_start_node.do_pathbased_avoidance) && var_10.lane_start_node.do_pathbased_avoidance && isdefined(var_09)) + { + var_11 = 0; + var_12 = sqrt(var_0D); + var_13 = sqrt(var_0C); + var_14 = 1; + var_15 = get_path_segment_array(var_10,var_13 - var_12,var_14); + var_16 = get_path_segment_array(var_09,var_13); + var_17 = 0; + var_18 = undefined; + var_19 = undefined; + var_1A = undefined; + var_1B = undefined; + var_1C = undefined; + var_1D = undefined; + var_1E = undefined; + var_1F = undefined; + var_20 = 0; + var_21 = var_16.size == 1; + foreach(var_23 in var_15) + { + var_24 = 0; + if(var_14 && var_15[0] == var_23) + { + var_24 = 1; + } + + foreach(var_26 in var_16) + { + var_20++; + var_27 = get_closest_point_from_segment_to_segment_n(var_23,var_26,var_21,var_24); + var_28 = var_27[0]; + var_29 = var_27[1]; + var_2A = var_27[2]; + var_2B = var_27[3]; + var_2C = var_27[4]; + var_2D = var_27[5]; + var_2E = var_27[6]; + var_2F = var_27[7]; + if(var_2B) + { + var_30 = distance2dsquared(self.vehicle.origin,var_29); + if(var_30 > var_17) + { + var_18 = var_28; + var_19 = var_29; + var_1A = var_2A; + var_1B = var_2B; + var_1C = var_2C; + var_1E = var_2E; + var_1D = var_2D; + var_1F = var_2F; + var_17 = var_30; + var_11 = var_20; + } + } + } + } + + if(var_11 != 0) + { + var_33 = []; + var_34 = get_c_right_dist_2d(var_19,var_1A,var_1C,var_1D,var_1E,var_1F); + var_35 = 0; + var_36 = 0; + if(var_34 > -35 && isdefined(get_neighbor_node("right")) && is_neighboring_lane_clear("right",1)) + { + var_35 = 1; + } + + if(var_34 < 35 && isdefined(get_neighbor_node("left")) && is_neighboring_lane_clear("left",1)) + { + var_36 = 1; + } + + if(var_35 && var_36) + { + if(!isdefined(var_02.script_car_on_right)) + { + var_33[var_33.size] = "right"; + } + + if(!isdefined(var_02.script_car_on_left)) + { + var_33[var_33.size] = "left"; + } + + if(isdefined(var_02.script_car_on_right) && isdefined(var_02.script_car_on_left)) + { + var_37 = get_farthest_car([var_02,var_02.script_car_on_right,var_02.script_car_on_left]); + if(var_37 == var_02.script_car_on_right) + { + var_33[var_33.size] = "right"; + } + else if(var_37 == var_02.script_car_on_left) + { + var_33[var_33.size] = "left"; + } + } + } + else if(var_35) + { + if(!isdefined(var_02.script_car_on_right)) + { + var_33[var_33.size] = "right"; + } + } + else if(var_36) + { + if(!isdefined(var_02.script_car_on_left)) + { + var_33[var_33.size] = "left"; + } + } + else + { + var_38 = 0; + } + + if(var_33.size > 0) + { + var_39 = randomint(var_33.size); + self notify("change_lane",var_33[var_39],var_02); + return; + } + else + { + self.traffic_change_lane++; + if(var_0E < level.traffic_tune_min_stop_dist_sq) + { + thread set_traffic_change_speedup(1,var_04 * 1.05); + } + else + { + thread set_traffic_change_speedup(1); + } + } + } + } + else + { + var_3A = undefined; + if(var_10 > -25 && var_10 < 25) + { + if(isdefined(get_neighbor_node("left"))) + { + var_3A = "right"; + } + else if(isdefined(get_neighbor_node("left"))) + { + var_3A = "left"; + } + } + else if(isdefined(get_neighbor_node("left")) && var_10 < -25) + { + var_3A = "left"; + } + else if(isdefined(get_neighbor_node("left")) && var_10 > 25) + { + var_3A = "right"; + } + + if(isdefined(var_3A)) + { + self notify("change_lane",var_3A,var_03); + return; + } + } + } + } + } + + wait(var_01); + } +} + +//Function Number: 71 +get_farthest_car(param_00) +{ + var_01 = -999; + var_02 = undefined; + foreach(var_04 in param_00) + { + var_05 = distance2dsquared(var_04.origin,self.vehicle.origin); + if(var_05 > var_01) + { + var_01 = var_05; + var_02 = var_04; + } + } + + return var_02; +} + +//Function Number: 72 +get_closest_point_from_segment_to_segment_n(param_00,param_01,param_02,param_03) +{ + var_04 = 110; + var_05 = (1,1,1); + var_06 = 500; + var_07 = undefined; + var_08 = undefined; + var_09 = undefined; + var_0A = undefined; + var_0B = undefined; + var_0C = undefined; + if(isdefined(param_00.target)) + { + var_07 = getvehiclenode(param_00.target,"targetname"); + } + else + { + return [0,(0,0,0),(0,0,0),0]; + } + + if(isdefined(param_03) && param_03) + { + var_0D = var_07.origin - param_00.origin; + var_0D = vectornormalize(var_0D); + var_0E = vectordot(self.vehicle.origin - param_00.origin,var_0D); + var_08 = param_00.origin + var_0E * var_0D; + var_09 = param_00.targetname + "car_projected"; + } + else + { + var_08 = param_00.origin; + var_09 = param_00.targetname; + } + + if(isdefined(param_01.target)) + { + var_0A = getvehiclenode(param_01.target,"targetname"); + var_0B = var_0A.origin; + var_0C = var_0A.targetname; + } + else + { + var_0F = getvehiclenode(param_01.targetname,"target"); + if(isdefined(var_0F) && isdefined(param_02) && param_02) + { + var_0D = param_01.origin - var_0F.origin; + var_0D = vectornormalize(var_0D); + var_0B = param_01.origin + var_0D * var_06; + var_0C = param_01.targetname + "Extend"; + } + else + { + return [0,(0,0,0),(0,0,0),0]; + } + } + + var_10 = get_closest_point_from_segment_to_segment(var_08,var_07.origin,param_01.origin,var_0B); + var_11 = var_10[0]; + var_12 = var_10[1]; + var_13 = var_10[2]; + var_14 = var_08; + var_15 = var_07.origin; + var_16 = param_01.origin; + var_17 = var_0B; + var_18 = var_11 < var_04 * var_04; + return [var_11,var_12,var_13,var_18,var_14,var_15,var_16,var_16]; +} + +//Function Number: 73 +get_neighbor_node_of_target(param_00) +{ + return get_neighbor_node(param_00,1); +} + +//Function Number: 74 +get_neighbor_node(param_00,param_01) +{ + if(self.vehicle.classname == "script_model") + { + var_02 = self.currentnode; + } + else + { + var_03 = vehicle_getcurrentnode_a(); + if(isdefined(param_01) && param_01) + { + if(!isdefined(var_03.target)) + { + return undefined; + } + + var_02 = getvehiclenode(var_03.target,"targetname"); + } + else + { + var_02 = var_03; + } + } + + if(!isdefined(param_00)) + { + return undefined; + } + + if(!isdefined(var_02)) + { + return undefined; + } + + if(param_00 == "right" || param_00 == "r") + { + return var_02.neighbor_right; + } + else if(param_00 == "left" || param_00 == "l") + { + return var_02.neighbor_left; + } + + return undefined; +} + +//Function Number: 75 +is_neighboring_lane_clear(param_00,param_01) +{ + var_02 = 1; + var_03 = 0; + var_04 = get_neighbor_node(param_00); + var_05 = find_closest_car(var_04,self.vehicle.origin); + if(isdefined(var_05) && var_05 != self) + { + var_06 = distance2dsquared(var_05.vehicle.origin,self.vehicle.origin); + if(var_06 < 65536) + { + var_02 = 0; + } + else + { + var_02 = 1; + } + } + + if(isdefined(param_01) && param_01) + { + var_07 = undefined; + param_00 = tolower(getsubstr(param_00,0,1)); + if(param_00 == "r") + { + var_07 = anglestoright(self.vehicle.angles); + } + else + { + var_07 = -1 * anglestoright(self.vehicle.angles); + } + + var_08 = self.vehicle.origin + (0,0,25) + var_07 * 40; + for(var_09 = 0;var_09 < 3;var_09++) + { + var_0A = undefined; + if(var_09 == 0) + { + var_0A = var_07 * 150; + } + + if(var_09 == 1) + { + var_0A = var_07 + -1 * anglestoforward(self.vehicle.angles) * 150; + } + + if(var_09 == 2) + { + var_0A = var_07 + anglestoforward(self.vehicle.angles) * 2 * 0.5 * 180; + } + + var_03 = bullettracepassed(var_08,var_08 + var_0A,0,self.vehicle); + if(!var_03) + { + break; + } + } + } + else + { + var_03 = 1; + } + + return var_03 && var_02; +} + +//Function Number: 76 +change_lane(param_00,param_01) +{ + self endon("death"); + var_02 = get_neighbor_node(param_00); + if(!isdefined(var_02)) + { + return; + } + + var_03 = 0; + var_04 = 5; + var_05 = 0; + var_06 = 0.0871558; + while(var_04 > 0) + { + var_03 = 1; + var_07 = anglestoright(self.vehicle.angles); + if(param_00 == "left") + { + var_07 = var_07 * -1; + } + + var_02 = is_neighboring_lane_clear(param_00); + if(isdefined(var_02)) + { + var_03 = 0; + } + else + { + var_08 = 0; + } + + if(var_03) + { + foreach(var_0A in level.script_cars) + { + if(!isdefined(var_0A)) + { + continue; + } + + var_0B = var_0A.origin - self.vehicle.origin; + var_0C = length2dsquared(var_0B); + if(var_0C < 65536) + { + var_0D = vectornormalize(var_0B); + var_0E = vectordot(var_0D,var_07); + if(var_0E > var_06) + { + var_03 = 0; + break; + } + } + } + } + + if(var_03) + { + break; + } + + if(!var_05) + { + var_05 = 1; + self.traffic_change_lane++; + } + + var_04 = var_04 - 0.05; + wait(0.05); + } + + if(var_05) + { + self.traffic_change_lane--; + } + + if(var_03) + { + var_02 = get_neighbor_node(param_00); + if(isdefined(var_02)) + { + var_10 = 1500; + if(islagostraversesetting(self.vehicle) && self.vehicle.code_classname == "script_vehicle") + { + if(!isdefined(level.traffic_tune_lane_change_angle)) + { + level.traffic_tune_lane_change_cosangle = cos(30); + } + + var_11 = anglestoright(self.vehicle.angles); + var_12 = vectornormalize(var_02.origin - self.vehicle.origin); + if(abs(vectordot(var_11,var_12)) > level.traffic_tune_lane_change_cosangle) + { + var_02 = getvehiclenode(var_02.target,"targetname"); + } + + if(distance2dsquared(self.vehicle.origin,var_02.origin) > var_10 * var_10) + { + var_13 = getvehiclenode(var_02.targetname,"target"); + if(isdefined(var_13)) + { + var_14 = get_goal_pos_on_segment(var_02.origin,var_13.origin,self.vehicle.origin,var_10); + self.vehicle vehicledriveto(var_14,self.vehicle vehicle_getspeed()); + } + } + } + + var_15 = undefined; + if(isdefined(self.traffic_leader_pending_check) && self.traffic_leader_pending_check) + { + var_15 = self.traffic_leader_pending; + } + else + { + var_15 = self.traffic_leader; + } + + var_16 = self.traffic_follower; + insert_to_lane(var_02,undefined,"CHANGELANE"); + self.vehicle thread traffic_drive_vehicle(var_02); + var_16.traffic_leader = var_15; + if(islagostraversesetting(self.vehicle) && isdefined(param_01)) + { + var_17 = mph_to_model_speed(param_01 vehicle_getspeed_a()); + var_18 = param_01 vehicle_getcurrentnode_a(); + if(isdefined(var_18)) + { + var_19 = var_18.speed; + var_17 = max(var_17,var_19); + } + + var_1A = mph_to_model_speed(self.vehicle vehicle_getspeed_a()); + var_1B = param_01.origin; + var_1C = distance2d(var_1B,self.vehicle.origin); + var_1D = var_17 - var_1A; + var_1E = var_1C / var_1D; + if(var_17 > var_1A * 1.5 || var_1E < 1) + { + self.traffic_change_lane++; + if(var_1C < level.traffic_tune_min_stop_dist) + { + thread set_traffic_change_speedup(1,var_17 * 1.05); + return; + } + + thread set_traffic_change_speedup(1); + return; + } + + return; + } + + return; + } + + var_08 = 0; + } +} + +//Function Number: 77 +islagostraversesetting(param_00) +{ + var_01 = param_00 vehicle_getcurrentnode_a(); + if(isdefined(var_01) && isdefined(var_01.lane_start_node) && isdefined(var_01.lane_start_node.lagoshack)) + { + return 1; + } + + return 0; +} + +//Function Number: 78 +vehicle_getspeed_a() +{ + if(self.code_classname == "script_vehicle") + { + return self vehicle_getspeed(); + } + + if(isdefined(self.vehicle)) + { + return self.vehicle.parent_ent.traffic_speed; + } + + return 0; +} + +//Function Number: 79 +set_traffic_change_speedup(param_00,param_01) +{ + self.traffic_change_lane_speed = param_01; + self endon("death"); + wait(param_00); + self.traffic_change_lane--; + if(self.traffic_change_lane == 0) + { + self.traffic_change_lane_speed = undefined; + } +} + +//Function Number: 80 +merge_lane() +{ + var_00 = undefined; + var_00 = vehicle_getcurrentnode_a(); + if(!isdefined(var_00)) + { + return; + } + + var_01 = self.traffic_follower; + insert_to_lane(var_00,undefined,"MERGE"); + self.traffic_pre_merge_follower = var_01; + if(is_traffic_ent(var_01) && var_01 != self) + { + var_01.traffic_leader = self; + } +} + +//Function Number: 81 +split_lane() +{ + level endon("stop_traffic"); + self endon("death"); + self endon("reached_end_node"); + if(randomint(100) > 40) + { + return; + } + + var_00 = undefined; + if(self.vehicle.classname == "script_model") + { + var_01 = getvehiclenodearray(self.currentnode.targetname,"target"); + for(var_02 = 0;var_02 < var_01.size;var_02++) + { + if(isdefined(var_01[var_02].script_noteworthy) && var_01[var_02].script_noteworthy == "traffic_lane_split" || var_01[var_02].script_noteworthy == "traffic_lane_exit") + { + var_00 = var_01[var_02]; + break; + } + } + } + else + { + var_00 = self.vehicle; + } + + if(!isdefined(var_00.script_linkto)) + { + return; + } + + var_03 = getvehiclenode(var_00.script_linkto,"script_linkname"); + if(!isdefined(var_03)) + { + return; + } + + var_04 = undefined; + if(isdefined(self.traffic_leader_pending_check) && self.traffic_leader_pending_check) + { + var_04 = self.traffic_leader_pending; + } + else + { + var_04 = self.traffic_leader; + } + + var_05 = self.traffic_follower; + insert_to_lane(var_03,undefined,"SPLIT"); + split_lane_extra_handling(var_04,var_05); + self.vehicle thread traffic_drive_vehicle(var_03); +} + +//Function Number: 82 +split_lane_extra_handling(param_00,param_01) +{ + if(level.template_script != "lagos") + { + return; + } + + if(is_traffic_ent(param_01)) + { + param_01.traffic_leader = self; + if(isdefined(self.traffic_leader_pending)) + { + param_01.traffic_leader_pending = self.traffic_leader_pending; + } + else + { + param_01.traffic_leader_pending = param_00; + } + + param_01.traffic_leader_pending_check = 1; + } + + if(isdefined(self.traffic_leader_pending_check) && self.traffic_leader_pending_check) + { + self.traffic_leader_pending_check = undefined; + self.traffic_leader_pending = undefined; + } +} + +//Function Number: 83 +dodge_behavior() +{ + level endon("stop_traffic"); + self endon("death"); + self endon("reached_end_node"); + if(isdefined(self.crashed)) + { + return; + } + + self endon("vehicle_crash"); + var_00 = 0.05; + if(level.currentgen) + { + var_00 = 0.05; + } + + for(;;) + { + if(islagostraversesetting(self.vehicle) && self.traffic_change_lane > 0) + { + wait(var_00); + continue; + } + + if(self.vehicle.classname == "script_model") + { + self waittill("swap_to_real_vehicle"); + continue; + } + + var_01 = decide_to_dodge(); + var_02 = var_01[0]; + var_03 = var_01[1]; + if(isdefined(var_02)) + { + self.dodging = 1; + var_04 = update_dodge(var_02,var_03,2.5); + self.dodging = undefined; + if(distance2dsquared(self.vehicle.origin,level.player.origin) > 342225 || self.vehicle vehicle_getspeed() > 0) + { + resume_driving_from_dodge(var_04); + } + else + { + thread do_crash(); + } + } + + wait(var_00); + } +} + +//Function Number: 84 +do_crash() +{ + var_00 = vehicle_getcurrentnode_a(); + if(isdefined(var_00.no_crash_handling) && var_00.no_crash_handling) + { + return; + } + + self notify("vehicle_crash"); + if(isdefined(self.vehicle)) + { + self.vehicle notify("vehicle_crash"); + } +} + +//Function Number: 85 +startpath_with_currentnode_update(param_00) +{ + var_01 = get_closest_node_in_front_of_given_car(param_00,self); + thread maps\_vehicle::vehicle_paths(var_01); + self startpath(var_01); +} + +//Function Number: 86 +get_closest_node_in_front_of_given_car(param_00,param_01) +{ + var_02 = param_00; + var_03 = 1409865409; + var_04 = param_00; + for(;;) + { + if(!isdefined(var_02)) + { + break; + } + + if(!isdefined(var_02.target)) + { + break; + } + + var_05 = distance2dsquared(var_02.origin,param_01.origin); + if(var_05 < var_03 && !vehicle_in_front_of_node(param_01,var_02)) + { + var_03 = var_05; + var_04 = var_02; + } + + var_02 = getvehiclenode(var_02.target,"targetname"); + if(!isdefined(var_02)) + { + break; + } + } + + return var_04; +} + +//Function Number: 87 +get_node_at_radius_distance(param_00,param_01,param_02,param_03) +{ + var_04 = param_00; + var_05 = undefined; + for(;;) + { + if(!isdefined(var_04)) + { + break; + } + + if(!isdefined(var_04.target)) + { + break; + } + + var_06 = distancesquared(param_01,var_04.origin); + if(var_06 < param_02) + { + if(!isdefined(var_04.nospawn)) + { + var_05 = var_04; + break; + } + } + + var_04 = getvehiclenode(var_04.target,"targetname"); + if(!isdefined(var_04)) + { + break; + } + } + + if(!param_03) + { + var_05 = undefined; + var_07 = var_04; + for(;;) + { + if(!isdefined(var_04)) + { + break; + } + + if(!isdefined(var_04.target)) + { + break; + } + + var_06 = distancesquared(param_01,var_04.origin); + if(var_06 > param_02 && !isdefined(var_04.nospawn)) + { + var_05 = var_07; + break; + } + + var_07 = var_04; + var_04 = getvehiclenode(var_04.target,"targetname"); + if(!isdefined(var_04)) + { + break; + } + } + } + + return var_05; +} + +//Function Number: 88 +resume_driving_from_dodge(param_00) +{ + var_01 = get_neighbor_node(param_00); + if(isdefined(var_01)) + { + if(isdefined(self.vehicle) && self.vehicle.classname == "script_vehicle") + { + self.vehicle vehicledriveto(var_01.origin,var_01.speed * 0.5); + } + + var_02 = undefined; + if(isdefined(self.traffic_leader_pending_check) && self.traffic_leader_pending_check) + { + var_02 = self.traffic_leader_pending; + } + else + { + var_02 = self.traffic_leader; + } + + var_03 = self.traffic_follower; + var_04 = insert_to_lane(var_01,undefined,"RESUMEDODGE"); + self.vehicle thread traffic_drive_vehicle(var_01); + if(var_04) + { + var_03.traffic_leader = var_02; + return; + } + + return; + } + + if(!isdefined(var_01)) + { + var_01 = vehicle_getcurrentnode_a(); + } + + self.vehicle thread traffic_drive_vehicle(var_01); +} + +//Function Number: 89 +update_dodge(param_00,param_01,param_02) +{ + self endon("death"); + self endon("vehicle_crash"); + self.vehicle endon("stop_dodge"); + var_03 = 0; + var_04 = undefined; + var_05 = 0.05; + if(level.currentgen) + { + var_05 = 0.05; + } + + if(self.vehicle.classname == "script_model") + { + return undefined; + } + + for(;;) + { + var_06 = most_threatening_car(234); + var_07 = var_06[0]; + var_08 = var_06[1]; + var_09 = var_06[2]; + if(isdefined(var_07)) + { + var_0A = maps\_shg_utility::linear_map_clamp(param_01,0,1.8,5,3); + if(islagostraversesetting(self.vehicle)) + { + var_0A = var_0A * 2; + } + + var_0B = self.vehicle vehicle_getvelocity(); + var_0C = length(var_0B); + var_0D = vectornormalize(var_0B); + var_0E = var_07 get_adjusted_script_car_origin(); + var_0F = []; + var_10 = ""; + var_11 = undefined; + var_12 = []; + foreach(var_14 in [-1,1]) + { + var_15 = transformmove((0,0,0),(0,var_14 * var_0A,0),(0,0,0),(0,0,0),var_0D,(0,0,0))["origin"]; + if(var_14 == -1) + { + var_10 = "R"; + } + else + { + var_10 = "L"; + } + + if(!is_neighboring_lane_clear(var_10,1)) + { + continue; + } + + if(bullettracepassed(self.vehicle.origin,self.vehicle.origin + var_15 * var_0C * 1,0,self.vehicle)) + { + if(islagostraversesetting(self.vehicle)) + { + var_16 = var_0C; + } + else + { + var_16 = var_0D + mph_to_model_speed(5); + } + + if(var_16 < mph_to_model_speed(90)) + { + var_0F[var_12.size] = var_10 + "a"; + var_12[var_12.size] = var_15 * var_16; + } + } + else + { + } + + if(!islagostraversesetting(self.vehicle)) + { + var_16 = var_0C - mph_to_model_speed(5); + if(var_16 > mph_to_model_speed(10)) + { + var_0F[var_12.size] = var_10 + "d"; + var_12[var_12.size] = var_15 * var_16; + } + } + } + + var_18 = var_0B; + var_19 = undefined; + var_1A = -1; + var_1B = -1; + var_1C = []; + var_1D = []; + var_1E = []; + foreach(var_20 in var_12) + { + var_1B++; + var_21 = time_and_distance_of_closest_approach(self.vehicle.origin,var_20,var_0E,var_07 vehicle_getvelocity(),0.1,136.5,1); + var_22 = var_21[0]; + var_23 = var_21[1]; + if(var_22 > 1.8) + { + var_1C[var_1B] = -1; + var_1D[var_1B] = var_22; + var_1E[var_1B] = var_23; + continue; + } + + var_24 = compute_threat(var_22,var_23); + var_1C[var_1B] = var_24; + var_1D[var_1B] = var_22; + var_1E[var_1B] = var_23; + if(!isdefined(var_19) || var_24 < var_19) + { + var_1A = var_1B; + var_19 = var_24; + var_18 = var_20; + } + } + + if(distance2dsquared(self.vehicle.origin,level.player.origin) < 38025 && vectordot(var_18,anglestoforward(level.player.angles)) < 0) + { + var_18 = (0,0,0); + } + + if(var_1A > -1) + { + if(var_0F[var_1A] == "La" || var_0F[var_1A] == "Ld") + { + var_04 = "left"; + } + else + { + var_04 = "right"; + } + } + + var_26 = self.vehicle.origin + var_18 * 10; + self.vehicle vehicledriveto(var_26,model_speed_to_mph(length(var_18))); + } + else if(var_03 > 0.3) + { + return var_04; + } + + var_03 = var_03 + 0.05; + wait(var_05); + } + + return var_04; +} + +//Function Number: 90 +best_dodge_car() +{ + if(self.vehicle.classname == "script_model") + { + return [undefined,undefined]; + } + + var_00 = most_threatening_car(136.5); + var_01 = var_00[0]; + var_02 = var_00[1]; + var_03 = var_00[2]; + if(isdefined(var_01) && var_03 < 136.5) + { + return [var_01,var_02]; + } + + return [undefined,undefined]; +} + +//Function Number: 91 +get_adjusted_script_car_origin(param_00) +{ + if(self.vehicletype == "civ_domestic_bus_physics") + { + var_01 = self gettagorigin("tag_wheel_back_left"); + var_02 = self gettagorigin("tag_wheel_back_right"); + if(isdefined(param_00) && param_00) + { + var_01 = self gettagorigin("tag_wheel_front_left"); + var_02 = self gettagorigin("tag_wheel_front_right"); + } + + var_03 = var_01 - var_02 * 0.5 + var_02; + return var_03; + } + + return self.origin; +} + +//Function Number: 92 +most_threatening_car(param_00) +{ + var_01 = undefined; + var_02 = undefined; + var_03 = undefined; + var_04 = undefined; + var_05 = self.vehicle.origin; + var_06 = self.vehicle vehicle_getvelocity(); + foreach(var_08 in level.script_cars) + { + if(!isdefined(var_08)) + { + continue; + } + + var_09 = var_08 get_adjusted_script_car_origin(); + if(distance2dsquared(var_05,var_09) > 60840000) + { + continue; + } + + var_0A = time_and_distance_of_closest_approach(var_05,var_06,var_09,var_08 vehicle_getvelocity(),0.1,136.5); + var_0B = var_0A[0]; + var_0C = var_0A[1]; + if(var_0B > 1.8) + { + continue; + } + + if(isdefined(level.player_pitbull) && var_08 == level.player_pitbull) + { + var_0C = var_0C * 0.5; + } + + if(var_0C > param_00) + { + continue; + } + + var_0D = 0; + if(islagostraversesetting(self.vehicle)) + { + var_0E = anglestoforward(self.vehicle.angles); + var_0E = (var_0E[0],var_0E[1],0); + var_0E = vectornormalize(var_0E); + var_0F = var_09 - self.vehicle.origin; + var_0F = (var_0F[0],var_0F[1],0); + var_0F = vectornormalize(var_0F); + var_10 = vectordot(var_0F,var_0E); + var_0D = 0; + if(var_10 < 1 && var_10 > -1) + { + var_0D = acos(var_10); + } + } + + if(var_0D < 30) + { + var_11 = compute_threat(var_0B,var_0C); + if(!isdefined(var_01) || var_11 > var_04) + { + var_01 = var_08; + var_02 = var_0C; + var_03 = var_0B; + var_04 = var_11; + } + } + } + + return [var_01,var_03,var_02]; +} + +//Function Number: 93 +compute_threat(param_00,param_01) +{ + if(param_01 < 136.6) + { + if(param_00 <= 0.1) + { + var_02 = 3 - param_01 / 136.5; + } + else + { + var_02 = 2 - param_01 / 1.8; + } + } + else + { + var_02 = 1 / var_02 + 1; + } + + return var_02; +} + +//Function Number: 94 +time_and_distance_of_closest_approach(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + if(!isdefined(param_04)) + { + param_04 = 0.05; + } + + if(!isdefined(param_05)) + { + param_05 = 0; + } + + var_07 = param_00 - param_02; + var_08 = param_01 - param_03; + var_09 = lengthsquared(var_08); + var_0A = 2 * vectordot(var_07,var_08); + var_0B = lengthsquared(var_07) - squared(param_05); + var_0C = squared(var_0A) - 4 * var_09 * var_0B; + var_0D = 0; + if(var_0C > 0 && var_09 > 0) + { + var_0E = -0.5 * var_0A + common_scripts\utility::sign(var_0A) * sqrt(var_0C); + var_0F = min(var_0E / var_09,var_0B / var_0E); + } + else if(var_0A > 0) + { + var_0F = var_0B / -2 * var_0A; + } + else + { + var_0F = param_05; + } + + if(var_0F < param_04) + { + var_0F = param_04; + } + + var_10 = distance(param_00 + param_01 * var_0F,param_02 + param_03 * var_0F); + return [var_0F,var_10]; +} + +//Function Number: 95 +decide_to_dodge() +{ + level endon("stop_traffic"); + self endon("death"); + self endon("reached_end_node"); + var_00 = 0.05; + if(level.currentgen) + { + var_00 = 0.05; + } + + for(;;) + { + var_01 = best_dodge_car(); + var_02 = var_01[0]; + var_03 = var_01[1]; + if(isdefined(var_03)) + { + if(level.nextgen) + { + if(var_03 < 2.5 && var_03 > 0.5) + { + thread high_beam_oncoming(); + } + } + + return [var_02,var_03]; + } + + wait(var_00); + } +} + +//Function Number: 96 +high_beam_oncoming() +{ + self endon("death"); + if(isdefined(self.high_beaming) && self.high_beaming) + { + return; + } + + var_00 = ["headlight_left","headlight_right","headlight_set"]; + self.high_beaming = 1; + traffic_vehicle_lights_on(var_00); + wait(0.2); + traffic_vehicle_lights_off(var_00); + wait(0.3); + traffic_vehicle_lights_on(var_00); + wait(0.2); + traffic_vehicle_lights_off(var_00); + wait(0.3); + self.high_beaming = undefined; +} + +//Function Number: 97 +telefrag_behavior() +{ + self endon("death"); + for(;;) + { + level waittill("new_script_car",var_00); + if(distance2dsquared(var_00.origin,self.vehicle.origin) < 24336) + { + self notify("reached_end_node"); + } + } +} + +//Function Number: 98 +is_lane_start_node(param_00) +{ + if(!isdefined(param_00)) + { + return 0; + } + + foreach(var_02 in level.traffic_lanes) + { + if(var_02 == param_00) + { + return 1; + } + } + + return 0; +} + +//Function Number: 99 +find_closest_car(param_00,param_01) +{ + if(!isdefined(param_00)) + { + return undefined; + } + + var_02 = param_00.lane_start_node; + var_03 = undefined; + var_04 = 0; + if(!isdefined(level.player.assertdisplayed)) + { + level.player.assertdisplayed = 0; + } + + if(isdefined(var_02.traffic_tail) && isdefined(var_02.traffic_tail.traffic_leader)) + { + var_05 = var_02.traffic_tail.traffic_leader; + var_06 = var_05; + var_03 = var_05; + var_07 = distance2dsquared(var_05.vehicle.origin,param_01); + var_08 = []; + var_09 = var_05; + while(isdefined(var_05.traffic_leader) && var_05.traffic_leader != var_06) + { + var_04++; + if(isdefined(var_05.traffic_leader_pending_check) && var_05.traffic_leader_pending_check) + { + if(!isdefined(self.traffic_follower) || is_traffic_ent(self.traffic_follower) && self.traffic_follower vehicle_getcurrentnode_a().lane_start_node == var_05.traffic_leader vehicle_getcurrentnode_a()) + { + var_05 = var_05.traffic_leader_pending; + } + else + { + var_05 = var_05.traffic_leader; + } + } + else + { + var_05 = var_05.traffic_leader; + } + + if(!isdefined(var_05)) + { + break; + } + + var_0A = distance2dsquared(var_05.vehicle.origin,param_01); + if(var_0A < var_07) + { + var_03 = var_05; + var_07 = var_0A; + } + + if(var_05 == self) + { + return self; + } + + if(var_09 == var_05) + { + break; + } + + if(var_04 > 300) + { + if(!level.player.assertdisplayed) + { + level.player.assertdisplayed = 1; + } + + break; + } + } + } + + return var_03; +} + +//Function Number: 100 +insert_to_lane(param_00,param_01,param_02) +{ + if(!isdefined(level.player.assertdisplayed_b)) + { + level.player.assertdisplayed_b = 0; + } + + var_03 = param_00.lane_start_node; + if(!isdefined(param_01)) + { + param_01 = find_closest_car(param_00,self.vehicle.origin); + } + + if(!isdefined(param_01)) + { + remove_and_insert_at_traffic_tail(param_00); + return 0; + } + + if(param_01 == self) + { + return 0; + } + + var_04 = vectornormalize(anglestoforward(self.vehicle.angles)); + var_05 = param_01; + var_06 = undefined; + var_07 = 0; + for(;;) + { + var_07++; + var_08 = vectornormalize(var_05.vehicle.origin - self.vehicle.origin); + if(vectordot(var_08,var_04) > 0) + { + var_06 = var_05; + break; + } + + if(!isdefined(var_05.traffic_leader)) + { + break; + } + + var_05 = var_05.traffic_leader; + if(var_07 > 300) + { + if(!level.player.assertdisplayed_b) + { + level.player.assertdisplayed_b = 1; + } + + break; + } + } + + if(isdefined(var_06)) + { + remove_and_insert_behind_leader(var_06); + } + else + { + remove_and_insert_before_leader(var_05); + } + + return 1; +} + +//Function Number: 101 +remove_from_traffic_lane() +{ + var_00 = undefined; + if(isdefined(self.traffic_leader)) + { + var_00 = self.traffic_leader; + } + + var_01 = undefined; + if(isdefined(self.traffic_follower)) + { + var_01 = self.traffic_follower; + } + + var_02 = undefined; + if(isdefined(self.traffic_leader_pending_check) && self.traffic_leader_pending_check) + { + var_02 = self.traffic_leader_pending; + } + + if(isdefined(var_00)) + { + if(var_00.traffic_follower == self) + { + var_00.traffic_follower = var_01; + if(isdefined(var_01)) + { + var_01.traffic_leader = var_00; + } + } + else if(isdefined(var_01)) + { + var_01.traffic_leader = var_00; + } + } + + if(isdefined(var_02)) + { + if(var_02.traffic_follower == self) + { + var_02.traffic_follower = var_01; + } + } + + foreach(var_04 in level.traffic_lanes) + { + if(isdefined(var_04.traffic_head_veh) && var_04.traffic_head_veh == self) + { + if(isdefined(var_01) && is_traffic_ent(var_01)) + { + var_04.traffic_head_veh = var_01; + } + else + { + var_04.traffic_head_veh = undefined; + } + } + + if(isdefined(var_04.traffic_tail) && isdefined(var_04.traffic_tail.traffic_leader) && var_04.traffic_tail.traffic_leader == self) + { + if(isdefined(var_00) && is_traffic_ent(var_00)) + { + var_04.traffic_tail.traffic_leader = var_00; + continue; + } + + var_04.traffic_tail.traffic_leader = undefined; + } + } + + self.traffic_leader = undefined; + self.traffic_follower = undefined; +} + +//Function Number: 102 +remove_and_insert_at_traffic_tail(param_00) +{ + var_01 = param_00.lane_start_node; + remove_from_traffic_lane(); + self.traffic_follower = var_01.traffic_tail; + var_01.traffic_tail.traffic_leader = self; + if(!isdefined(var_01.lane_start_node.traffic_head_veh)) + { + var_01.lane_start_node.traffic_head_veh = self; + } +} + +//Function Number: 103 +remove_and_insert_behind_leader(param_00) +{ + if(param_00 == self) + { + return; + } + + var_01 = 0; + if(isdefined(self.traffic_leader_pending_check) && self.traffic_leader_pending_check) + { + if(isdefined(self.traffic_leader_pending) && param_00 == self.traffic_leader_pending) + { + return; + } + } + else if(isdefined(self.traffic_leader) && param_00 == self.traffic_leader) + { + if(isdefined(param_00.traffic_follower) && param_00.traffic_follower == self) + { + return; + } + else + { + var_01 = 1; + } + } + + var_02 = param_00.traffic_follower; + if(!var_01) + { + remove_from_traffic_lane(); + } + + var_03 = param_00.traffic_follower; + self.traffic_leader = param_00; + param_00.traffic_follower = self; + self.traffic_follower = var_03; + var_03.traffic_leader = self; + if(is_traffic_ent(var_02) && var_02 != var_03) + { + var_02.traffic_leader = self; + } +} + +//Function Number: 104 +remove_and_insert_before_leader(param_00) +{ + if(param_00 == self) + { + return; + } + + var_01 = param_00 vehicle_getcurrentnode_a().lane_start_node; + remove_from_traffic_lane(); + if(!isdefined(var_01.traffic_head_veh) || !is_traffic_ent(param_00.traffic_leader)) + { + var_01.traffic_head_veh = self; + } + + var_02 = param_00.traffic_leader; + self.traffic_follower = param_00; + param_00.traffic_leader = self; + self.traffic_leader = var_02; + if(isdefined(var_02)) + { + var_02.traffic_follower = self; + } +} + +//Function Number: 105 +wait_to_clean_car(param_00) +{ + level endon("stop_traffic"); + self waittill("reached_end_node"); +} + +//Function Number: 106 +clean_up_car(param_00) +{ + self endon("death"); + if(isdefined(self.birthnode.fill_pos_ent)) + { + thread remove_when_out_of_range(self.birthnode.fill_pos_ent); + } + + if(param_00) + { + level.traffic_cars_scriptmodel_only_count++; + } + else + { + level.traffic_cars++; + } + + wait_to_clean_car(); + if(param_00) + { + level.traffic_cars_scriptmodel_only_count--; + } + else + { + level.traffic_cars--; + } + + if(is_traffic_ent(self.traffic_pre_merge_follower) && isdefined(self.traffic_pre_merge_follower.traffic_leader) && self.traffic_pre_merge_follower.traffic_leader == self) + { + self.traffic_pre_merge_follower.traffic_leader = self.traffic_leader; + } + + var_01 = self.traffic_leader; + var_02 = self.traffic_follower; + remove_from_traffic_lane(); + if(is_traffic_ent(var_02) && !isdefined(var_01)) + { + var_02.traffic_leader = undefined; + } + + if(isdefined(self.vehicle.deathfx_ent)) + { + self.vehicle.deathfx_ent delete(); + } + + self.vehicle delete(); + self delete(); +} + +//Function Number: 107 +remove_when_out_of_range(param_00) +{ + self endon("death"); + var_01 = -1; + if(param_00 != level.player) + { + param_00 = level.player; + } + + wait 0.05; + for(;;) + { + var_02 = self.vehicle.origin - param_00.origin; + if(get_despawn_despawn_if_not_in_view(vehicle_getcurrentnode_a().lane_start_node)) + { + var_03 = anglestoforward(param_00 getplayerangles()); + var_01 = vectordot(var_02,var_03); + } + + if(var_01 < 0) + { + if(length2dsquared(var_02) > get_despawn_dist_sq(vehicle_getcurrentnode_a().lane_start_node)) + { + break; + } + } + + wait(0.2); + } + + self notify("reached_end_node"); +} + +//Function Number: 108 +get_despawn_despawn_if_not_in_view(param_00) +{ + var_01 = 0; + if(isdefined(param_00.despawn_if_not_in_view)) + { + var_01 = param_00.despawn_if_not_in_view; + } + + return var_01; +} + +//Function Number: 109 +get_despawn_dist_sq(param_00) +{ + var_01 = 100000000; + if(isdefined(param_00.despawn_dist_sq)) + { + var_01 = param_00.despawn_dist_sq; + } + + return var_01; +} + +//Function Number: 110 +clean_up_on_parent_death(param_00) +{ + self endon("death"); + if(isdefined(param_00)) + { + param_00 waittill("death"); + } + + if(isdefined(self.deathfx_ent)) + { + self.deathfx_ent delete(); + } + + self delete(); +} + +//Function Number: 111 +handle_traffic_collisions() +{ + self endon("death"); + self endon("reached_end_node"); + level endon("stop_traffic"); + for(;;) + { + self waittill("veh_contact",var_00,var_01,var_02,var_03,var_04); + if(isdefined(self.last_traffic_hit_time) && self.last_traffic_hit_time == gettime()) + { + if(self.last_traffic_hit_pos == var_01) + { + continue; + } + } + + var_05 = 0; + if(isdefined(var_00)) + { + var_05 = 1; + if(isdefined(var_00.last_traffic_hit_time) && var_00.last_traffic_hit_time == gettime()) + { + if(var_00.last_traffic_hit_pos == var_01) + { + var_05 = 0; + } + } + } + + self.last_traffic_hit_time = gettime(); + self.last_traffic_hit_pos = var_01; + if(isdefined(var_00)) + { + var_00.last_traffic_hit_time = gettime(); + var_00.last_traffic_hit_pos = var_01; + } + + self notify("vehicle_damage_destruct_parts_if_available",var_01,var_02); + if(var_05) + { + var_00 notify("vehicle_damage_destruct_parts_if_available",var_01,var_02); + } + + if(crash_is_fatal(var_03)) + { + self notify("vehicle_crash"); + if(isdefined(self.parent_ent)) + { + self.parent_ent notify("vehicle_crash"); + } + } + + if(var_05) + { + if(var_00 crash_is_fatal(var_03 * -1)) + { + var_00 notify("vehicle_crash"); + if(isdefined(var_00.parent_ent)) + { + var_00.parent_ent notify("vehicle_crash"); + } + } + } + + if(isdefined(level.traffic_collision_fx_func)) + { + level thread [[ level.traffic_collision_fx_func ]](self,var_00,var_01,var_02,var_03,var_04); + } + + var_06 = []; + var_06["vehicle"] = self; + var_06["hit_entity"] = var_00; + var_06["pos"] = var_01; + var_06["impulse"] = var_02; + var_06["relativeVel"] = var_03; + var_06["surface"] = var_04; + if(isdefined(var_00) && !isdefined(var_00.audio)) + { + var_00 soundscripts\_snd_common::sndx_vehicle_collision_args_setup(var_06); + } + + soundscripts\_snd::snd_message("play_vehicle_collision",var_06); + } +} + +//Function Number: 112 +crash_is_fatal(param_00) +{ + var_01 = (param_00[0],param_00[1],0); + var_02 = length2dsquared(var_01); + if(vectordot(param_00,anglestoforward(self.angles)) > 0) + { + return var_02 > 250000; + } + + var_03 = undefined; + var_03 = self vehicle_getcurrentnode().lane_start_node; + if(isdefined(var_03) && isdefined(var_03.vehicle_easy_crash_die) && var_03.vehicle_easy_crash_die) + { + return var_02 > 100; + } + + return var_02 > 2250000; +} + +//Function Number: 113 +sync_entity_damage(param_00) +{ + param_00 hide_damaged_parts(); + if(isdefined(self.damaged_parts)) + { + foreach(var_03, var_02 in self.damaged_parts) + { + if(var_02) + { + param_00 hidepart(var_03); + param_00 showpart(var_03 + "_D"); + } + } + } +} + +//Function Number: 114 +setup_vehicle_for_damage() +{ + thread handle_destruct_parts(); + thread handle_crashing(); + thread monitor_life(); +} + +//Function Number: 115 +monitor_script_model_damage() +{ + var_00 = undefined; + var_01 = undefined; + level endon("stop_traffic"); + self endon("reached_end_node"); + maps\_vehicle_code::vehicle_life(); + self.currenthealth = self.health; + while(self.currenthealth > 0) + { + self waittill("damage",var_02,var_01,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_00); + self.currenthealth = self.currenthealth - var_02; + } + + set_zero_speed(self.parent_ent.currentnode); + thread maps\_vehicle_code::vehicle_kill_common(var_01,undefined); +} + +//Function Number: 116 +monitor_life() +{ + self waittill("death"); + if(!isdefined(self)) + { + return; + } + + var_00 = get_destruct_parts(); + if(!isdefined(var_00)) + { + return; + } + + foreach(var_02 in var_00) + { + foreach(var_04 in var_02) + { + self hidepart(var_04); + self showpart(var_04 + "_D"); + if(isdefined(self.parent_ent)) + { + if(!isdefined(self.parent_ent.damaged_parts)) + { + self.parent_ent.damaged_parts = []; + } + + self.parent_ent.damaged_parts[var_04] = 1; + } + } + } +} + +//Function Number: 117 +get_destruct_parts() +{ + var_00 = undefined; + if(isdefined(self) && isdefined(self.model)) + { + if(self.model == "vehicle_paris_escape_sedan" || self.model == "vehicle_sedan_destruct_test") + { + var_00 = []; + var_00["front"] = ["hitB","TAG_GLASS_FRONT"]; + var_00["left"] = ["TAG_GLASS_LEFT_FRONT","TAG_GLASS_LEFT_BACK","wheel_A_KL","wheel_A_FL","doorC_FL","doorC_KL"]; + var_00["right"] = ["TAG_GLASS_RIGHT_FRONT","TAG_GLASS_RIGHT_BACK","wheel_A_KR","wheel_A_FR","doorC_FR","doorC_KR"]; + var_00["back"] = ["hitA","trunk","TAG_GLASS_BACK"]; + var_00["top"] = ["hitD","TAG_GLASS_ROOF"]; + var_00["bottom"] = ["hitC"]; + } + } + + return var_00; +} + +//Function Number: 118 +hide_damaged_parts() +{ + var_00 = get_destruct_parts(); + if(isdefined(var_00)) + { + foreach(var_02 in var_00) + { + foreach(var_04 in var_02) + { + self hidepart(var_04 + "_D"); + } + } + } +} + +//Function Number: 119 +handle_destruct_parts() +{ + level endon("stop_traffic"); + self endon("reached_end_node"); + self endon("death"); + var_00 = get_destruct_parts(); + if(!isdefined(var_00)) + { + return; + } + + var_01 = cos(35); + var_02 = cos(60); + for(;;) + { + self waittill("vehicle_damage_destruct_parts_if_available",var_03,var_04); + var_05 = var_03 - self.origin; + var_05 = vectornormalize(var_05); + var_06 = anglestoforward(self.angles); + var_07 = anglestoright(self.angles); + var_08 = anglestoup(self.angles); + var_09 = vectordot(var_08,var_05); + if(var_09 > 0.707) + { + damage_part_area("top",var_00); + } + else if(var_09 < -0.707) + { + damage_part_area("bottom",var_00); + } + + var_0A = vectordot(var_06,var_05); + if(var_0A > var_01) + { + damage_part_area("front",var_00); + } + else if(var_0A < var_01 * -1) + { + damage_part_area("back",var_00); + } + + var_0B = vectordot(var_07,var_05); + if(var_0B > var_02) + { + damage_part_area("right",var_00); + continue; + } + + if(var_0B < var_02 * -1) + { + damage_part_area("left",var_00); + } + } +} + +//Function Number: 120 +damage_part_area(param_00,param_01) +{ + if(!isdefined(param_01) || !isdefined(param_01[param_00])) + { + return; + } + + var_02 = param_01[param_00]; + foreach(var_04 in var_02) + { + self hidepart(var_04); + self showpart(var_04 + "_D"); + if(isdefined(self.parent_ent)) + { + if(!isdefined(self.parent_ent.damaged_parts)) + { + self.parent_ent.damaged_parts = []; + } + + if(!isdefined(self.parent_ent.damaged_parts[var_04]) || !self.parent_ent.damaged_parts[var_04]) + { + self.parent_ent.damaged_parts[var_04] = 1; + level notify("vehicle_part_damage",self,var_04); + } + } + } +} + +//Function Number: 121 +handle_crashing() +{ + level endon("stop_traffic"); + self endon("reached_end_node"); + self endon("death"); + if(isdefined(self.parent_ent.crashed)) + { + return; + } + + for(;;) + { + self waittill("vehicle_crash"); + if(!isdefined(self.parent_ent.crashed)) + { + self.parent_ent.crashed = 1; + var_00 = get_crashed_vehicle_index(); + level.traffic_crashed_vehicles[var_00] = self; + self vehicledriveto(self.origin + anglestoright(self.angles) * 10000 + anglestoforward(self.angles) * 10000,0); + self vehicle_setspeed(0,25,25); + self.parent_ent thread safe_vehicle_delete(); + wait(0.2); + self vehphys_crash(0); + return; + } + } +} + +//Function Number: 122 +get_crashed_vehicle_index() +{ + var_00 = undefined; + var_01 = undefined; + var_02 = undefined; + if(level.traffic_crashed_vehicles.size < 10) + { + return level.traffic_crashed_vehicles.size; + } + else + { + for(var_03 = 0;var_03 < level.traffic_crashed_vehicles.size;var_03++) + { + if(!isdefined(level.traffic_crashed_vehicles[var_03])) + { + return var_03; + } + + var_04 = distance2dsquared(level.traffic_crashed_vehicles[var_03].origin,level.player.origin); + if(!isdefined(var_00) || var_00 < var_04) + { + var_00 = var_04; + var_01 = level.traffic_crashed_vehicles[var_03]; + var_02 = var_03; + } + } + } + + var_01.parent_ent notify("reached_end_node"); + return var_02; +} + +//Function Number: 123 +safe_vehicle_delete() +{ + level endon("stop_traffic"); + self endon("death"); + self endon("reached_end_node"); + for(;;) + { + wait(0.05); + if(!isdefined(self) || !isdefined(self.vehicle)) + { + return; + } + + if(!player_can_see_vehicle()) + { + break; + } + } + + self notify("reached_end_node"); +} + +//Function Number: 124 +force_vehicle_delete() +{ + var_00 = self.parent_ent; + if(var_00 player_can_see_vehicle()) + { + self dodamage(1000000000,self.origin); + wait(0.3); + } + + var_00 notify("reached_end_node"); +} + +//Function Number: 125 +player_can_see_vehicle() +{ + return maps\_utility::players_within_distance(512,self.vehicle.origin) || maps\_utility::either_player_looking_at(self.vehicle.origin + (0,0,48),0.5,1); +} + +//Function Number: 126 +should_be_vehicle(param_00,param_01) +{ + var_02 = vectornormalize(param_00 - level.player.origin); + var_03 = vectornormalize(anglestoforward(level.player getplayerangles())); + var_04 = 0; + if(vectordot(var_02,var_03) < 0) + { + var_05 = 1048576; + var_04 = 16384; + } + else + { + var_05 = 16777216; + var_04 = 262144; + } + + if(isdefined(param_01) && param_01 != "script_model") + { + var_05 = var_05 + var_04; + } + + if(distance2dsquared(param_00,level.player.origin) < var_05) + { + return 1; + } + + var_05 = 1048576; + if(isdefined(param_01) && param_01 != "script_model") + { + var_05 = var_05 + var_04; + } + + foreach(var_07 in level.script_cars) + { + if(isdefined(var_07) && distance2dsquared(param_00,var_07.origin) < var_05) + { + return 1; + } + } + + return 0; +} + +//Function Number: 127 +model_speed_to_mph(param_00) +{ + return param_00 / 63360 * 60 * 60; +} + +//Function Number: 128 +mph_to_model_speed(param_00) +{ + return param_00 * 63360 / 60 / 60; +} + +//Function Number: 129 +too_close_to_leader(param_00) +{ + var_01 = level.traffic_tune_min_follow_dist_sq; + if(isdefined(param_00)) + { + var_01 = param_00; + } + + if(isdefined(self.traffic_leader)) + { + if(distance2dsquared(self.vehicle.origin,self.traffic_leader.vehicle.origin) < var_01) + { + return 1; + } + } + + return 0; +} + +//Function Number: 130 +far_enough_from_leader(param_00) +{ + var_01 = level.traffic_tune_min_follow_dist_sq * 1.1; + if(isdefined(param_00)) + { + var_01 = param_00; + } + + if(isdefined(self.traffic_leader)) + { + if(distance2dsquared(self.vehicle.origin,self.traffic_leader.vehicle.origin) > var_01) + { + return 1; + } + } + else + { + return 0; + } + + return 0; +} + +//Function Number: 131 +adjust_model_speed_to_node(param_00) +{ + if(isdefined(self.parent_ent.traffic_old_speed)) + { + self.parent_ent.traffic_old_speed = param_00.speed; + return; + } + + self.parent_ent.traffic_speed = param_00.speed; +} + +//Function Number: 132 +traffic_vehicle_lights_on(param_00) +{ + if(self.vehicle.classname == "script_model") + { + return; + } + + foreach(var_02 in param_00) + { + self.vehicle maps\_vehicle::vehicle_single_light_on(var_02); + } +} + +//Function Number: 133 +traffic_vehicle_lights_off(param_00) +{ + if(self.vehicle.classname == "script_model") + { + return; + } + + foreach(var_02 in param_00) + { + self.vehicle maps\_vehicle::vehicle_single_light_off(var_02); + } +} + +//Function Number: 134 +handle_wakeup_sphere_global() +{ + level.player endon("death"); + var_00 = squared(3900); + var_01 = cos(60); + var_02 = 195; + var_03 = 10; + for(;;) + { + var_04 = 0; + foreach(var_06 in sortbydistance(vehicle_getarray(),level.player.origin)) + { + if(isdefined(self.no_wakeup_physics_sphere)) + { + continue; + } + + var_07 = var_06.origin - level.player.origin; + if(length2dsquared(var_07) > var_00) + { + break; + } + + if(vectordot(anglestoforward(level.player getgunangles()),vectornormalize(var_07)) > var_01) + { + var_04++; + wakeupphysicssphere(var_06.origin,var_02); + } + + if(var_04 >= var_03) + { + break; + } + } + + wait 0.05; + } +} + +//Function Number: 135 +detect_dropping() +{ + self endon("death"); + self endon("reached_end_node"); + for(;;) + { + var_00 = self.origin[2]; + wait(1); + if(var_00 - self.origin[2] > 2000) + { + self notify("reached_end_node"); + return; + } + } +} + +//Function Number: 136 +detect_being_pushed(param_00) +{ + var_01 = 2; + var_02 = self vehicle_getcurrentnode().lane_start_node; + if(isdefined(var_02) && isdefined(var_02.vehicle_easy_crash_die) && var_02.vehicle_easy_crash_die) + { + var_01 = 0.6; + } + + var_03 = 0; + wait 0.05; + var_04 = 0.05; + if(level.currentgen) + { + var_04 = 0.2; + } + + while(isdefined(self)) + { + var_05 = self vehicle_getspeed() > 5 && !any_wheel_on_ground() || some_wheels_slipping(); + if(var_05) + { + var_03 = var_03 + 0.05; + } + else + { + var_03 = var_03 - 0.1; + } + + if(self vehicle_getvelocity()[2] > 700) + { + var_03 = var_03 + 3; + } + + var_03 = max(var_03,0); + if(var_03 > var_01) + { + self [[ param_00 ]](); + return; + } + + wait(var_04); + } +} + +//Function Number: 137 +some_wheels_slipping() +{ + var_00 = 0; + foreach(var_02 in ["front_left","front_right","back_left","back_right"]) + { + if(self iswheelslipping(var_02)) + { + var_00++; + } + } + + return var_00 >= 3; +} + +//Function Number: 138 +any_wheel_on_ground() +{ + foreach(var_01 in ["front_left","front_right","back_left","back_right"]) + { + if(self getwheelsurface(var_01) != "none") + { + return 1; + } + } + + return 0; +} + +//Function Number: 139 +is_inside_radius_of_closest_point_of_segment(param_00,param_01,param_02) +{ + var_03 = undefined; + if(isdefined(param_00.target)) + { + var_03 = getvehiclenode(param_00.target,"targetname"); + } + else + { + var_03 = param_00; + } + + if(distance2dsquared(param_00.origin,param_01) < param_02) + { + return 1; + } + + if(distance2dsquared(var_03.origin,param_01) < param_02) + { + return 1; + } + + var_04 = get_closest_point_from_segment_to_segment(param_00.origin,var_03.origin,param_01,param_01); + var_05 = var_04[0]; + var_06 = var_04[1]; + var_07 = var_04[2]; + var_08 = var_05 < param_02; + return var_08; +} + +//Function Number: 140 +get_goal_pos_on_segment(param_00,param_01,param_02,param_03) +{ + var_04 = param_02; + var_05 = var_04 - param_00; + var_06 = param_01 - param_00; + var_07 = vectornormalize(var_06); + var_08 = vectordot(var_05,var_07); + var_09 = var_07 * var_08; + var_0A = var_09 + var_07 * param_03; + return var_0A; +} + +//Function Number: 141 +get_closest_point_from_segment_to_segment(param_00,param_01,param_02,param_03) +{ + var_04 = 0.001; + var_05 = param_01 - param_00; + var_06 = param_03 - param_02; + var_07 = param_00 - param_02; + var_08 = vectordot(var_05,var_05); + var_09 = vectordot(var_06,var_06); + var_0A = vectordot(var_06,var_07); + var_0B = 0; + if(var_08 <= var_04 && var_09 <= var_04) + { + var_0C = 0; + var_0D = 0; + var_0E = param_00; + var_0F = param_02; + return [vectordot(var_0E - var_0F,var_0E - var_0F),var_0E,var_0F]; + } + + if(var_0C <= var_08) + { + var_0C = 0; + var_0D = var_0D / var_0C; + var_0F = clamp(var_0F,0,1); + } + else + { + var_10 = vectordot(var_09,var_0B); + if(var_0B <= var_06) + { + var_0F = 0; + var_0E = clamp(-1 * var_10 / var_0A,0,1); + } + else + { + var_11 = vectordot(var_07,var_08); + var_12 = var_0A * var_0B - var_11 * var_11; + if(var_12 != 0) + { + var_0E = clamp(var_11 * var_0C - var_10 * var_0B / var_12,0,1); + } + else + { + var_0E = 0; + } + + var_0F = var_11 * var_0E + var_0C / var_0B; + if(var_0F < 0) + { + var_0F = 0; + var_0E = clamp(-1 * var_10 / var_0A,0,1); + } + else if(var_0F > 1) + { + var_0F = 1; + var_0E = clamp(var_11 - var_10 / var_0A,0,1); + } + } + } + + var_0E = param_02 + var_07 * var_0E; + var_0F = param_03 + var_07 * var_0E; + return [vectordot(var_0E - var_0F,var_0E - var_0F),var_0E,var_0F]; +} + +//Function Number: 142 +vectors_are_equal_2d(param_00,param_01) +{ + var_02 = 0.001; + var_03 = param_01 - param_00; + if(abs(var_03[0]) < var_02 && abs(var_03[1]) < var_02) + { + return 1; + } + + return 0; +} + +//Function Number: 143 +mark_nodes_near_spawnnodes_and_startnodes(param_00) +{ + var_01 = 3600; + var_02 = 25000000; + var_03 = getvehiclenodearray(param_00,"targetname"); + var_04 = getentarray("script_vehicle","code_classname"); + var_05 = []; + foreach(var_07 in var_04) + { + if(isdefined(var_07.spawnflags) && var_07.spawnflags == 2) + { + var_05[var_05.size] = var_07; + } + } + + var_09 = getallvehiclenodes(); + var_0A = []; + foreach(var_07 in var_09) + { + if(isdefined(var_07.spawnflags) && var_07.spawnflags == 1 && var_07.targetname != param_00) + { + var_0A[var_0A.size] = var_07; + } + } + + foreach(var_0E in var_03) + { + var_0F = var_0E; + for(;;) + { + if(!isdefined(var_0E)) + { + break; + } + + if(!isdefined(var_0E.target)) + { + break; + } + + foreach(var_11 in var_05) + { + if(distance2dsquared(var_0E.origin,var_11.origin) < var_02 && is_inside_radius_of_closest_point_of_segment(var_0E,var_11.origin,var_01)) + { + var_0E.nospawn = var_11; + var_0E = getvehiclenode(var_0E.target,"targetname"); + var_0E.nospawn = var_11; + var_0F.nospawn = var_11; + } + } + + foreach(var_14 in var_0A) + { + if(distance2dsquared(var_0E.origin,var_14.origin) < var_02 && is_inside_radius_of_closest_point_of_segment(var_0E,var_14.origin,var_01)) + { + var_0E.nospawn = var_14; + var_0E = getvehiclenode(var_0E.target,"targetname"); + var_0E.nospawn = var_14; + var_0F.nospawn = var_14; + } + } + + var_0F = var_0E; + var_0E = getvehiclenode(var_0E.target,"targetname"); + } + } +} + +//Function Number: 144 +drawnode(param_00) +{ + self endon("death"); +} \ No newline at end of file diff --git a/AW/PC/maps/_vignette_util.gsc b/AW/PC/maps/_vignette_util.gsc new file mode 100644 index 0000000..00b5aeb --- /dev/null +++ b/AW/PC/maps/_vignette_util.gsc @@ -0,0 +1,117 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _vignette_util.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 10 + * Decompile Time: 182 ms + * Timestamp: 4/22/2024 2:24:54 AM +*******************************************************************/ + +//Function Number: 1 +vignette_register(param_00,param_01) +{ + if(!common_scripts\utility::flag_exist(param_01)) + { + common_scripts\utility::flag_init(param_01); + } + + thread vignette_register_wait(param_00,param_01); +} + +//Function Number: 2 +vignette_register_wait(param_00,param_01) +{ + common_scripts\utility::flag_wait(param_01); + level thread [[ param_00 ]](); +} + +//Function Number: 3 +vignette_drone_spawn(param_00,param_01) +{ + var_02 = getent(param_00,"targetname"); + var_02.script_forcespawn = 1; + var_03 = maps\_spawner::spawner_dronespawn(var_02); + var_03.animname = param_01; + return var_03; +} + +//Function Number: 4 +vignette_actor_spawn(param_00,param_01) +{ + var_02 = getent(param_00,"targetname"); + var_02.script_forcespawn = 1; + var_02 thread maps\_utility::add_spawn_function(::vignette_actor_spawn_func); + var_03 = var_02 maps\_utility::spawn_ai(); + var_03.animname = param_01; + return var_03; +} + +//Function Number: 5 +vignette_actor_spawn_func() +{ + self endon("death"); + thread maps\_utility::magic_bullet_shield(); + thread vignette_actor_ignore_everything(); +} + +//Function Number: 6 +vignette_actor_delete() +{ + if(isdefined(self.magic_bullet_shield)) + { + maps\_utility::stop_magic_bullet_shield(); + } + + self delete(); +} + +//Function Number: 7 +vignette_actor_kill() +{ + if(!isalive(self)) + { + return; + } + + if(isdefined(self.magic_bullet_shield)) + { + maps\_utility::stop_magic_bullet_shield(); + } + + self.allowdeath = 1; + self.a.nodeath = 1; + maps\_utility::set_battlechatter(0); + self kill(); +} + +//Function Number: 8 +vignette_actor_ignore_everything() +{ + self.ignoreall = 1; + self.ignoreme = 1; + self.grenadeawareness = 0; + self.ignoreexplosionevents = 1; + self.ignorerandombulletdamage = 1; + self.ignoresuppression = 1; + self.fixednode = 0; + self.disablebulletwhizbyreaction = 1; + maps\_utility::disable_pain(); + self.dontavoidplayer = 1; + self.og_newenemyreactiondistsq = self.newenemyreactiondistsq; + self.newenemyreactiondistsq = 0; +} + +//Function Number: 9 +vignette_vehicle_spawn(param_00,param_01) +{ + var_02 = maps\_vehicle::spawn_vehicle_from_targetname(param_00); + var_02.animname = param_01; + return var_02; +} + +//Function Number: 10 +vignette_vehicle_delete() +{ + self delete(); +} \ No newline at end of file diff --git a/AW/PC/maps/_warzone_tactics.gsc b/AW/PC/maps/_warzone_tactics.gsc new file mode 100644 index 0000000..af13a24 --- /dev/null +++ b/AW/PC/maps/_warzone_tactics.gsc @@ -0,0 +1,440 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _warzone_tactics.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 25 + * Decompile Time: 381 ms + * Timestamp: 4/22/2024 2:24:56 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + precachemodel("weapon_javelin_tactics_friendly"); + precachemodel("weapon_smaw_tactics_friendly"); + precachemodel("vehicle_gaz_tigr_base_tactics_enemy"); + precachemodel("vehicle_x4walker_wheels_tactics_friendly"); + precachemodel("weapon_dshk_turret_tactics_enemy"); + precachemodel("vehicle_pdrone_tactics_friendly"); + precachemodel("vehicle_walker_tank_tactics_enemy"); + precachemodel("weapon_rpg7_tactics_friendly"); + common_scripts\utility::flag_init("tactics_mode_on"); + level.tactics_objects = []; + level.tactics_objectives = []; + level.tactics_tools = []; + maps\_utility::add_global_spawn_function("axis",::monitor_rpg_drop); +} + +//Function Number: 2 +add_object_to_tactics_system(param_00) +{ + if(!isdefined(level.tactics_objects)) + { + return; + } + + if(issubstr(param_00.classname,"vehicle")) + { + param_00 thread remove_vehicle_from_tactics_array_on_death(); + } + + if(issubstr(param_00.classname,"x4walker")) + { + param_00 thread remove_turret_on_mount(); + } + + level.tactics_objects[level.tactics_objects.size] = param_00; +} + +//Function Number: 3 +remove_object_from_tactics_system(param_00) +{ + param_00 remove_from_arrays(); +} + +//Function Number: 4 +monitor_tactics_mode() +{ + level.player endon("death"); + level.player endon("end_tactics_mode"); + level.player thread monitor_player_rpg_drop(); + for(;;) + { + if(level.player buttonpressed("DPAD_UP")) + { + foreach(var_01 in level.tactics_objects) + { + if(!isdefined(var_01)) + { + continue; + } + + if(var_01.tactics_type == "objective" && !maps\_utility::is_in_array(level.tactics_objectives,var_01)) + { + level.tactics_objectives[level.tactics_objectives.size] = var_01; + continue; + } + + if(var_01.tactics_type == "tool" && !maps\_utility::is_in_array(level.tactics_tools,var_01)) + { + level.tactics_tools[level.tactics_tools.size] = var_01; + } + } + + if(!common_scripts\utility::flag("tactics_mode_on")) + { + level.player notify("start_tactics_mode"); + thread change_to_tactics_models(); + thread draw_text_hud(level.player,level.tactics_objectives,level.tactics_tools); + } + + common_scripts\utility::flag_set("tactics_mode_on"); + } + else + { + if(common_scripts\utility::flag("tactics_mode_on")) + { + level.player notify("stop_tactics_mode"); + thread change_to_original_models(); + } + + common_scripts\utility::flag_clear("tactics_mode_on"); + } + + wait(0.05); + } +} + +//Function Number: 5 +change_to_tactics_models() +{ + foreach(var_01 in level.tactics_objects) + { + if(isdefined(var_01)) + { + var_01 setmodel(var_01.tactics_model); + } + } +} + +//Function Number: 6 +change_to_original_models() +{ + foreach(var_01 in level.tactics_objects) + { + if(isdefined(var_01)) + { + var_01 setmodel(var_01.original_model); + } + } +} + +//Function Number: 7 +draw_tactics_lines(param_00,param_01) +{ + level.player endon("stop_tactics_mode"); + level.player endon("death"); + for(;;) + { + foreach(var_03 in param_00) + { + foreach(var_05 in param_01) + { + if(!isdefined(var_05) || isdefined(var_05.no_line) && var_05.no_line) + { + continue; + } + } + } + + wait(0.05); + } +} + +//Function Number: 8 +draw_text_hud(param_00,param_01,param_02) +{ + foreach(var_04 in param_01) + { + var_04 thread draw_text_hud_objective(param_00); + } + + foreach(var_07 in param_02) + { + var_07 thread draw_text_hud_tool(param_00); + } +} + +//Function Number: 9 +draw_text_hud_objective(param_00) +{ + if(!isdefined(self.description)) + { + return; + } + + self.drawing_warzone_hud = 1; + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 linkto_with_world_offset(self,undefined,(0,0,72)); + var_02 = newclienthudelem(param_00); + var_02 settargetent(var_01); + var_02.positioninworld = 1; + var_02 settext(self.description); + var_02.color = (1,0.44,0.39); + var_02.alpha = 1; + var_02.alignx = "center"; + var_02.aligny = "middle"; + var_02 thread scale_3d_hud_elem(var_01,param_00); + var_02 setpulsefx(60,999999,0); + wait_till_should_stop_drawing(param_00); + var_02 destroy(); + var_01 delete(); + if(isdefined(self)) + { + self.drawing_warzone_hud = undefined; + } +} + +//Function Number: 10 +draw_text_hud_tool(param_00) +{ + if(!isdefined(self.description)) + { + return; + } + + self.drawing_warzone_hud = 1; + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 linkto_with_world_offset(self,undefined,(0,0,72)); + var_02 = newclienthudelem(param_00); + var_02 settargetent(var_01); + var_02.positioninworld = 1; + var_02 settext(self.description); + var_02.color = (0.3,1,0.6); + var_02.alpha = 0.5; + var_02.alignx = "center"; + var_02.aligny = "middle"; + var_02.z = -0.5; + var_02 thread scale_3d_hud_elem(var_01,param_00); + var_02 setpulsefx(60,999999,0); + var_03 = newclienthudelem(param_00); + var_03 settargetent(var_01); + var_03.positioninworld = 1; + var_03.color = (0.3,1,0.6); + var_03.alpha = 0.5; + var_03.alignx = "center"; + var_03.aligny = "middle"; + var_03.z = 0.5; + var_03 thread scale_3d_hud_elem(var_01,param_00); + var_03 thread hud_elem_update_distance(var_01,param_00); + wait_till_should_stop_drawing(param_00); + var_02 destroy(); + var_03 destroy(); + var_01 delete(); + if(isdefined(self)) + { + self.drawing_warzone_hud = undefined; + } +} + +//Function Number: 11 +wait_till_should_stop_drawing(param_00) +{ + self endon("death"); + param_00 endon("stop_tactics_mode"); + param_00 endon("death"); + level waittill("forever"); +} + +//Function Number: 12 +scale_3d_hud_elem(param_00,param_01) +{ + self endon("death"); + for(;;) + { + self.fontscale = maps\_shg_utility::linear_map_clamp(distance(param_00.origin,param_01 geteye()),16,1024,2.5,1.5); + wait 0.05; + } +} + +//Function Number: 13 +hud_elem_update_distance(param_00,param_01) +{ + self endon("death"); + wait(0.8); + for(;;) + { + var_02 = distance(param_00.origin,param_01 geteye()) / 39.37008; + self settext(int(var_02 + 0.5)); + wait 0.05; + } +} + +//Function Number: 14 +linkto_with_world_offset(param_00,param_01,param_02) +{ + thread linkto_with_world_offset_internal(param_00,param_01,param_02); +} + +//Function Number: 15 +unlinkto_with_world_offset() +{ + self notify("stop_link_with_world_offset"); +} + +//Function Number: 16 +linkto_with_world_offset_internal(param_00,param_01,param_02) +{ + self endon("death"); + param_00 endon("death"); + self endon("stop_link_with_world_offset"); + for(;;) + { + waittillframeend; + if(isdefined(param_01)) + { + self.origin = param_00 gettagorigin(param_01) + param_02; + } + else + { + self.origin = param_00.origin + param_02; + } + + wait 0.05; + } +} + +//Function Number: 17 +monitor_rpg_drop() +{ + level.player endon("death"); + if(!issubstr(self.classname,"rpg")) + { + return; + } + + self waittill("weapon_dropped",var_00); + if(isdefined(var_00) && issubstr(var_00.classname,"rpg")) + { + var_00 add_rpg_to_tactics_system(); + } +} + +//Function Number: 18 +add_rpg_to_tactics_system() +{ + self.description = "SMAW"; + self.original_model = self.model; + self.tactics_model = "weapon_smaw_tactics_friendly"; + self.tactics_type = "tool"; + level.tactics_objects = common_scripts\utility::array_add(level.tactics_objects,self); + thread remove_from_tactics_array_on_pickup(); + thread remove_from_tactics_array_on_delete(); +} + +//Function Number: 19 +remove_from_tactics_array_on_pickup() +{ + level.player endon("death"); + level.player endon("end_tactics_mode"); + for(;;) + { + level.player waittill("pickup",var_00); + if(var_00 == self) + { + remove_from_arrays(); + } + } +} + +//Function Number: 20 +remove_from_tactics_array_on_delete() +{ + level.player endon("death"); + level.player endon("end_tactics_mode"); + while(isdefined(self)) + { + wait(0.05); + } + + remove_from_arrays(); +} + +//Function Number: 21 +monitor_player_rpg_drop() +{ + level.player endon("death"); + level.player endon("end_tactics_mode"); + for(;;) + { + level.player waittill("pickup",var_00,var_01); + if(isdefined(var_01) && issubstr(var_01.classname,"smaw_nolock_fusion")) + { + var_01 add_rpg_to_tactics_system(); + } + } +} + +//Function Number: 22 +remove_vehicle_from_tactics_array_on_death() +{ + level.player endon("death"); + level.player endon("end_tactics_mode"); + self waittill("death"); + level.tactics_objects = common_scripts\utility::array_remove(level.tactics_objects,self); + level.tactics_tools = common_scripts\utility::array_remove(level.tactics_tools,self); + level.tactics_objectives = common_scripts\utility::array_remove(level.tactics_objectives,self); + if(isdefined(self) && isdefined(self.mgturret) && isdefined(self.mgturret[0])) + { + level.tactics_objects = common_scripts\utility::array_remove(level.tactics_objects,self.mgturret[0]); + level.tactics_tools = common_scripts\utility::array_remove(level.tactics_tools,self.mgturret[0]); + level.tactics_objectives = common_scripts\utility::array_remove(level.tactics_objectives,self.mgturret[0]); + } +} + +//Function Number: 23 +remove_turret_on_mount() +{ + level.player endon("death"); + self endon("death"); + level.player endon("end_tactics_mode"); + self waittill("vehicle_mount"); + thread add_turret_on_dismount(); + remove_from_arrays(); +} + +//Function Number: 24 +add_turret_on_dismount() +{ + level.player endon("death"); + self endon("death"); + level.player endon("end_tactics_mode"); + self waittill("vehicle_dismount"); + add_object_to_tactics_system(self); +} + +//Function Number: 25 +remove_from_arrays() +{ + if(!isdefined(level.tactics_objects)) + { + return; + } + + if(maps\_utility::is_in_array(level.tactics_objects,self)) + { + level.tactics_objects = common_scripts\utility::array_remove(level.tactics_objects,self); + } + + if(maps\_utility::is_in_array(level.tactics_tools,self)) + { + level.tactics_tools = common_scripts\utility::array_remove(level.tactics_tools,self); + return; + } + + if(maps\_utility::is_in_array(level.tactics_objectives,self)) + { + level.tactics_objectives = common_scripts\utility::array_remove(level.tactics_objectives,self); + } +} \ No newline at end of file diff --git a/AW/PC/maps/_water.gsc b/AW/PC/maps/_water.gsc new file mode 100644 index 0000000..cc33488 --- /dev/null +++ b/AW/PC/maps/_water.gsc @@ -0,0 +1,1376 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _water.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 45 + * Decompile Time: 713 ms + * Timestamp: 4/22/2024 2:24:58 AM +*******************************************************************/ + +//Function Number: 1 +init(param_00) +{ + precacheshellshock("underwater"); + level._effect["water_bubbles"] = loadfx("vfx/water/player_bubbles_underwater"); + level._effect["water_vm_gasping_breath"] = loadfx("vfx/water/underwater_bubble_vm_gasping_breath_lt"); + level._effect["water_splash_emerge"] = loadfx("vfx/water/body_splash_exit"); + level._effect["water_screen_plunge"] = loadfx("vfx/water/screen_fx_plunge"); + level._effect["water_screen_emerge"] = loadfx("vfx/water/screen_fx_emerge"); + level._effect["water_wake"] = loadfx("vfx/treadfx/body_wake_water"); + level._effect["water_wake_stationary"] = loadfx("vfx/treadfx/body_wake_water_stationary"); + level._effect["water_splash_enter"] = loadfx("vfx/water/body_splash"); + level._effect["water_wake_ai"] = loadfx("vfx/treadfx/body_wake_water"); + level._effect["water_wake_stationary_ai"] = loadfx("vfx/treadfx/body_wake_water_stationary"); + level._effect["water_splash_enter_ai"] = loadfx("vfx/water/body_splash"); + var_01 = getentarray("trigger_underwater","targetname"); + foreach(var_03 in var_01) + { + var_03 thread watchplayerenterwater(); + level thread water_trigger_register(var_03); + } + + level.dofunderwater = []; + level.dofunderwater["nearStart"] = 0; + level.dofunderwater["nearEnd"] = 1; + level.dofunderwater["farStart"] = 30; + level.dofunderwater["farEnd"] = 210; + level.dofunderwater["nearBlur"] = 4; + level.dofunderwater["farBlur"] = 4; + level.underwater_visionset_callback = ::water_default_vision_set_enabled; + level.underwater_sound_ent = spawn("script_origin",level.player.origin); + maps\_swim_player::init_player_swim(param_00); + setdvarifuninitialized("underwater_walk_speed_scale_ai",0.6); + setdvarifuninitialized("underwater_wading_speed_factor",1); +} + +//Function Number: 2 +water_trigger_register(param_00) +{ + if(!isdefined(level.underwatertriggers)) + { + level.underwatertriggers = [param_00]; + return; + } + + level.underwatertriggers[level.underwatertriggers.size] = param_00; +} + +//Function Number: 3 +disable_swim_or_underwater_walk() +{ + if(isdefined(self.swimming)) + { + maps\_swim_player::disable_player_swim(); + return; + } + + if(isdefined(self.underwater_walk)) + { + maps\_swim_player::disable_player_underwater_walk(); + } +} + +//Function Number: 4 +watchplayerenterwater() +{ + for(;;) + { + self waittill("trigger",var_00); + if(!isplayer(var_00)) + { + continue; + } + + if(!isalive(var_00)) + { + continue; + } + + if(!isdefined(var_00.inwater) || !var_00.inwater) + { + var_00.inwater = 1; + if(!isdefined(var_00.water_trigger_current)) + { + var_00 thread playerinwater(self); + } + } + } +} + +//Function Number: 5 +water_depth_below(param_00) +{ + var_01 = level getwaterline(param_00); + var_02 = (self.origin[0],self.origin[1],var_01 + 1); + var_03 = var_02; + if(isplayer(self)) + { + var_03 = playerphysicstrace(var_02,var_02 - (0,0,1000),self); + } + else + { + var_03 = self aiphysicstrace(var_02,var_02 - (0,0,1000),15,60,1); + } + + return var_02[2] - var_03[2] - 1; +} + +//Function Number: 6 +playerinwater(param_00) +{ + self notify("playerInWater"); + self endon("playerInWater"); + self endon("death"); + thread inwaterwake(); + thread playerwaterclearwait(); + if(isdefined(param_00)) + { + self.water_trigger_current = param_00; + } + + var_01 = water_depth_below(self.water_trigger_current); + if(!isdefined(self.water_lastemerge)) + { + self.water_lastemerge = 0; + } + + if(!isdefined(self.ent_flag) || !isdefined(self.ent_flag["water_trigger_paused"])) + { + maps\_utility::ent_flag_init("water_trigger_paused"); + } + + for(;;) + { + maps\_utility::ent_flag_waitopen("water_trigger_paused"); + var_02 = 0; + if(isdefined(param_00) && self istouching(param_00)) + { + var_02 = 1; + } + else + { + foreach(var_04 in level.underwatertriggers) + { + if((!isdefined(param_00) || var_04 != param_00) && self istouching(var_04)) + { + var_02 = 1; + self.water_touching = var_02; + param_00 = var_04; + self.water_trigger_current = var_04; + setsaveddvar("player_swimWaterSurface",getwaterline(param_00)); + break; + } + } + } + + self.water_touching = var_02; + var_06 = self.origin[2]; + if(isdefined(param_00)) + { + var_06 = getwaterline(param_00); + } + + if(var_02 && !isdefined(self.underwater) && !isabovewaterline(param_00) && gettime() - self.water_lastemerge > 700) + { + if(!isdefined(self.grapple) || !self.grapple["grappling"]) + { + water_set_depth(1000); + under_water_set(1,getwaterline(param_00)); + } + } + + if(isdefined(self.underwater) && isabovewaterline(param_00) || !var_02) + { + water_set_depth(water_depth_below(param_00)); + under_water_set(0,getwaterline(param_00)); + var_07 = self getvelocity(); + self setvelocity((var_07[0],var_07[1],min(0,var_07[2]))); + } + + if(var_02 && !isdefined(self.underwater)) + { + if(self isonground()) + { + var_01 = level getwaterline(param_00) - self.origin[2]; + } + else + { + var_01 = water_depth_below(param_00); + } + + water_set_depth(var_01); + if(isdefined(self.swimming)) + { + var_08 = water_depth_state(self.water_depth); + var_06 = getwaterline(param_00); + if(player_can_stop_swimming(var_06) && var_08 != "chest") + { + self.water_lastemerge = gettime(); + maps\_swim_player::disable_player_swim(); + } + } + } + + if(!var_02 && self ismantling() || player_can_stop_swimming(var_06)) + { + self.inwater = undefined; + self.water_trigger_current = undefined; + self.water_touching = undefined; + if(!isdefined(self.underwater) && water_depth_state(self.water_depth) != "puddle") + { + self playlocalsound("underwater_exit"); + } + + water_set_depth(0); + under_water_set(0); + disable_swim_or_underwater_walk(); + self notify("out_of_water"); + break; + } + + wait(0.05); + } +} + +//Function Number: 7 +under_water_set(param_00,param_01) +{ + if(param_00 && !isdefined(self.underwater) || !self.underwater) + { + self.underwater = 1; + thread playerunderwater(); + water_vision_set_enabled(1); + if(!isdefined(self.mechdata) || !self.mechdata.active) + { + maps\_swim_player::enable_player_swim(0,0,param_01); + return; + } + + maps\_swim_player::enable_player_underwater_walk(0,0,param_01); + return; + } + + if(!param_00 && isdefined(self.underwater) && self.underwater) + { + self.underwater = undefined; + self.water_lastemerge = gettime(); + self notify("above_water"); + water_vision_set_enabled(0); + if(isdefined(self.swimming)) + { + if(player_can_stop_swimming(param_01)) + { + maps\_swim_player::disable_player_swim(); + } + else + { + maps\_swim_player::player_set_swimming("surface",0,0,param_01); + } + } + else if(isdefined(self.underwater_walk)) + { + if(self isonground() || !isdefined(param_01) || !player_in_deep_water()) + { + maps\_swim_player::disable_player_underwater_walk(); + } + } + + self stopshellshock(); + } +} + +//Function Number: 8 +player_in_deep_water() +{ + return isdefined(self.water_depth) && water_depth_state(self.water_depth) == "deep"; +} + +//Function Number: 9 +player_can_stop_swimming(param_00) +{ + if(!isdefined(self.swimming)) + { + return 1; + } + + if(!isdefined(self.water_touching) || !self.water_touching || self isonground() || !isdefined(param_00) || !player_in_deep_water()) + { + var_01 = self.origin + (0,0,-1); + var_02 = playerphysicstrace(var_01,self.origin); + if(distancesquared(var_02,self.origin) < 0.001) + { + return 1; + } + } + + return 0; +} + +//Function Number: 10 +water_vision_set_enabled(param_00) +{ + [[ level.underwater_visionset_callback ]](param_00); +} + +//Function Number: 11 +water_default_vision_set_enabled(param_00) +{ + if(param_00) + { + var_01 = 1; + var_02 = "generic_underwater"; + if(isdefined(level.visionset_underwater)) + { + var_02 = level.visionset_underwater; + } + + self setclienttriggervisionset(var_02,var_01); + self visionsetnakedforplayer(var_02,var_01); + maps\_utility::vision_set_fog_changes(var_02,var_01); + if(isdefined(level.clut_underwater)) + { + self setclutforplayer(level.clut_underwater,0); + } + + if(isdefined(level.underwater_lightset)) + { + set_light_set_for_player(level.underwater_lightset); + } + + if(isdefined(level.dofunderwater)) + { + thread setdof(level.dofunderwater); + } + + playfx(common_scripts\utility::getfx("water_screen_plunge"),self.origin); + self setwatersheeting(0); + setunderwateraudiozone(); + self playlocalsound("underwater_enter"); + return; + } + + revertvisionsetforplayer(0); + if(isdefined(level.lightset_previous)) + { + set_light_set_for_player(level.lightset_previous); + } + + if(isdefined(level.clut_previous)) + { + self setclutforplayer(level.clut_previous,1); + } + + if(isdefined(level.dofdefault)) + { + thread setdof(level.dofdefault); + } + + playfx(common_scripts\utility::getfx("water_screen_emerge"),self.origin); + self setwatersheeting(1,1); + clearunderwateraudiozone(); + self playlocalsound("breathing_better"); + self playlocalsound("underwater_exit"); + var_03 = undefined; + if(isdefined(self.water_trigger_current)) + { + var_03 = getwaterline(self.water_trigger_current); + } + + if(isdefined(var_03)) + { + var_04 = (self.origin[0],self.origin[1],var_03); + playfx(level._effect["water_splash_emerge"],var_04,anglestoforward((0,self.angles[1],0) + (270,180,0))); + } +} + +//Function Number: 12 +water_set_depth(param_00) +{ + var_01 = water_depth_state(param_00); + var_02 = "none"; + if(isdefined(self.water_depth)) + { + var_02 = water_depth_state(self.water_depth); + } + + if(param_00 > 0) + { + self.water_depth = param_00; + } + else + { + self.water_depth = undefined; + } + + if(isdefined(self.mechdata) && self.mechdata.active) + { + return; + } + + if(var_02 != var_01) + { + switch(var_01) + { + case "puddle": + thread wading_footsteps(0,1); + water_set_control_options(1,1,1); + thread aud_water_footsteps_override(""); + soundscripts\_audio_mix_manager::mm_add_submix("mute_footsteps"); + break; + + case "ankle": + thread wading_footsteps(0.25,0.75,"_ankle"); + thread aud_water_footsteps_override("_ankle"); + soundscripts\_audio_mix_manager::mm_add_submix("mute_footsteps"); + water_set_control_options(1,0,0); + break; + + case "knee": + thread wading_footsteps(0.6,0.55,"_knee"); + thread aud_water_footsteps_override("_knee"); + soundscripts\_audio_mix_manager::mm_add_submix("mute_footsteps"); + water_set_control_options(1,0,1); + break; + + case "thigh": + thread wading_footsteps(1,0.45,"_waist"); + thread aud_water_footsteps_override("_waist"); + soundscripts\_audio_mix_manager::mm_add_submix("mute_footsteps"); + water_set_control_options(0,0,1); + break; + + case "chest": + thread wading_footsteps(0.5,0.33,"_waist"); + thread aud_water_footsteps_override("_waist"); + soundscripts\_audio_mix_manager::mm_add_submix("mute_footsteps"); + water_set_control_options(0,0,1); + break; + + case "deep": + thread wading_footsteps(0,1); + water_set_control_options(0,1,1); + break; + + default: + thread wading_footsteps(0,1); + self notify("override_footsteps"); + soundscripts\_audio_mix_manager::mm_clear_submix("mute_footsteps",0.2); + water_set_control_options(1,1,1); + break; + } + } +} + +//Function Number: 13 +water_set_control_options(param_00,param_01,param_02) +{ + if(param_00 && isdefined(level.water_allow_jump) && !level.water_allow_jump) + { + param_00 = 0; + } + + if(param_01 && isdefined(level.water_allow_sprint) && !level.water_allow_sprint) + { + param_01 = 0; + } + + if(param_02 && isdefined(level.water_allow_prone) && !level.water_allow_prone) + { + param_02 = 0; + } + + self allowjump(param_00); + self allowsprint(param_01); + self allowprone(param_02); +} + +//Function Number: 14 +water_depth_state(param_00) +{ + if(!isdefined(param_00) || param_00 <= 0) + { + return "none"; + } + + if(param_00 <= 8) + { + return "puddle"; + } + + if(param_00 <= 20) + { + return "ankle"; + } + + if(param_00 <= 30) + { + return "knee"; + } + + if(param_00 <= 50) + { + return "thigh"; + } + + if(param_00 <= 60) + { + return "chest"; + } + + return "deep"; +} + +//Function Number: 15 +wading_adjust_angles(param_00) +{ + var_01 = param_00[0]; + var_02 = param_00[2]; + var_03 = anglestoright(self.angles); + var_04 = anglestoforward(self.angles); + var_05 = (var_03[0],0,var_03[1] * -1); + var_06 = (var_04[0],0,var_04[1] * -1); + var_07 = var_06 * var_01; + var_07 = var_07 + var_05 * var_02; + return var_07 + (0,param_00[1],0); +} + +//Function Number: 16 +wading_footsteps(param_00,param_01,param_02) +{ + self endon("death"); + if(param_01 >= 1) + { + thread wading_footsteps_ends(); + return; + } + + param_01 = param_01 * getdvarfloat("underwater_wading_speed_factor"); + var_03 = isdefined(self.water_wading_wobble_target); + self.water_wading_wobble_target = param_00; + self.water_wading_move_speed_target = param_01; + self.water_wading_waterdepthtype = param_02; + if(!isdefined(self.water_wading_wobble)) + { + self.water_wading_wobble = 0; + self.water_wading_move_speed = param_01; + } + + if(var_03) + { + return; + } + + self notify("wading_footsteps"); + self endon("wading_footsteps"); + if(!isdefined(self.water_ground_ref_ent)) + { + self.water_ground_ref_ent = spawn("script_model",(0,0,0)); + self playersetgroundreferenceent(self.water_ground_ref_ent); + } + + var_04 = 0; + var_05 = 0.05; + var_06 = 0; + var_07 = 0; + for(;;) + { + self.water_wading_wobble = self.water_wading_wobble + self.water_wading_wobble_target - self.water_wading_wobble * 0.1; + self.water_wading_move_speed = self.water_wading_move_speed + self.water_wading_move_speed_target - self.water_wading_move_speed * 0.1; + var_08 = 3 * self.water_wading_wobble; + var_09 = 4 * self.water_wading_wobble; + var_0A = 3 * self.water_wading_wobble; + param_01 = self.water_wading_move_speed; + if(!isdefined(self.movespeedscale) || self.movespeedscale == 0) + { + maps\_utility::blend_movespeedscale(param_01,0.25); + } + + var_0B = distance((0,0,0),self getvelocity()); + var_0C = min(var_0B,200); + if(var_0C == 0) + { + self.water_ground_ref_ent rotateto((0,0,0),0.25,0.125,0.125); + var_04 = self.water_ground_ref_ent.angles[0]; + } + else + { + var_04 = var_04 + var_0C * 0.3; + if(cos(var_04) > 0) + { + var_04 = var_04 + var_0C * 0.1; + if(!var_06) + { + var_06 = 1; + maps\_utility::blend_movespeedscale(param_01,0.25); + } + } + else if(var_06) + { + var_0D = "walk"; + if(self issprinting()) + { + var_0D = "sprint"; + } + else if(self getnormalizedmovement()[0] > 0.5) + { + var_0D = "run"; + } + + if(self getstance() != "stand") + { + var_0D = "crouch" + var_0D; + } + + var_0E = "_r"; + if(var_07 < 0) + { + var_0E = "_l"; + } + + aud_water_footsteps_foley(var_0D,self.water_wading_waterdepthtype,var_0E); + var_06 = 0; + maps\_utility::blend_movespeedscale(max(0.2,param_01 * 0.75),0.15); + } + + var_0F = sin(var_04) - 0.75 * var_08; + var_10 = sin(var_04 * -0.5) * var_09; + var_07 = sin(var_04 * 0.5) * var_0A; + var_11 = wading_adjust_angles((var_0F,var_10,var_07)); + self.water_ground_ref_ent rotateto(var_11,var_05,var_05 * 0.5,var_05 * 0.5); + } + + wait(0.05); + } +} + +//Function Number: 17 +aud_water_footsteps_override(param_00) +{ + self endon("death"); + self notify("override_footsteps"); + self endon("override_footsteps"); + self playlocalsound("step_run_plr_water" + param_00 + "_l"); + for(;;) + { + level.player waittill("foley",var_01,var_02,var_03); + if(isdefined(self.water_ground_ref_ent)) + { + switch(var_01) + { + case "crouchwalk": + case "crouchrun": + case "run": + case "sprint": + case "walk": + break; + } + } + + var_04 = "_r"; + if(var_03) + { + var_04 = "_l"; + } + + aud_water_footsteps_foley(var_01,param_00,var_04); + } +} + +//Function Number: 18 +aud_water_footsteps_foley(param_00,param_01,param_02) +{ + var_03 = "_plr"; + if(!isplayer(self)) + { + var_03 = ""; + } + + switch(param_00) + { + case "stationarycrouchscuff": + aud_water_sound("step_scrape" + var_03 + "_water" + param_01); + aud_water_sound("step_crchwalk" + var_03 + "_water" + param_01 + param_02); + break; + + case "stationaryscuff": + aud_water_sound("step_scrape" + var_03 + "_water" + param_01); + aud_water_sound("step_walk" + var_03 + "_water" + param_01 + param_02); + break; + + case "crouchscuff": + aud_water_sound("step_scrape" + var_03 + "_water" + param_01); + aud_water_sound("step_crchwalk" + var_03 + "_water" + param_01 + param_02); + break; + + case "runscuff": + aud_water_sound("step_scrape" + var_03 + "_water" + param_01); + aud_water_sound("step_run" + var_03 + "_water" + param_01 + param_02); + break; + + case "sprintscuff": + aud_water_sound("step_scrape" + var_03 + "_water" + param_01); + aud_water_sound("step_sprint" + var_03 + "_water" + param_01 + param_02); + break; + + case "prone": + aud_water_sound("step_prone" + var_03 + "_water" + param_01 + param_02); + break; + + case "crouchwalk": + aud_water_sound("step_crchwalk" + var_03 + "_water" + param_01 + param_02); + break; + + case "crouchrun": + aud_water_sound("step_crchwalk" + var_03 + "_water" + param_01 + param_02); + break; + + case "walk": + aud_water_sound("step_walk" + var_03 + "_water" + param_01 + param_02); + break; + + case "run": + aud_water_sound("step_run" + var_03 + "_water" + param_01 + param_02); + break; + + case "sprint": + aud_water_sound("step_sprint" + var_03 + "_water" + param_01 + param_02); + break; + + case "jump": + aud_water_sound("step_jump" + var_03 + "_water" + param_01); + break; + + case "lightland": + aud_water_sound("step_land" + var_03 + "_lt_water" + param_01); + break; + + case "mediumland": + aud_water_sound("step_land" + var_03 + "_med_water" + param_01); + break; + + case "heavyland": + aud_water_sound("step_land" + var_03 + "_hv_water" + param_01); + break; + + case "damageland": + aud_water_sound("step_land" + var_03 + "_dmg_water" + param_01); + break; + + default: + break; + } +} + +//Function Number: 19 +aud_water_sound(param_00) +{ + if(isplayer(self)) + { + self playlocalsound(param_00); + return; + } + + self playsound(param_00); +} + +//Function Number: 20 +wading_footsteps_ends() +{ + self endon("death"); + self notify("wading_footsteps"); + self endon("wading_footsteps"); + self.water_wading_wobble_target = undefined; + if(isdefined(self.water_ground_ref_ent)) + { + var_00 = 0.25; + self.water_ground_ref_ent rotateto((0,0,0),var_00,var_00 * 0.5,var_00 * 0.5); + maps\_utility::blend_movespeedscale(1,var_00); + wait(var_00); + if(isdefined(self.water_ground_ref_ent)) + { + self.water_ground_ref_ent delete(); + } + + self.water_ground_ref_ent = undefined; + self.water_wading_wobble = undefined; + self.water_wading_move_speed_target = undefined; + self.water_wading_move_speed = undefined; + self.water_wading_waterdepthtype = undefined; + self playersetgroundreferenceent(undefined); + self notify("blend_movespeedscale"); + maps\_utility_code::movespeed_set_func(1); + } +} + +//Function Number: 21 +setunderwateraudiozone() +{ + if(isdefined(level.aud) && isdefined(level.aud.water) && isdefined(level.aud.water.enter_water_override)) + { + soundscripts\_snd::snd_message(level.aud.water.enter_water_override); + return; + } + + soundscripts\_audio_zone_manager::azm_set_reverb_bypass(1); + soundscripts\_audio_zone_manager::azm_set_filter_bypass(1); + level.underwater_sound_ent = soundscripts\_snd_playsound::snd_play_loop_2d("underwater_bubbles_lp"); + soundscripts\_snd_filters::snd_set_filter("underwater",1,0); + soundscripts\_audio_reverb::rvb_start_preset("underwater",1); + level.player seteqlerp(1,1); +} + +//Function Number: 22 +clearunderwateraudiozone() +{ + if(isdefined(level.aud) && isdefined(level.aud.water) && isdefined(level.aud.water.exit_water_override)) + { + soundscripts\_snd::snd_message(level.aud.water.exit_water_override); + return; + } + + var_00 = level._audio.zone_mgr.current_zone; + soundscripts\_audio_zone_manager::azm_set_reverb_bypass(0); + soundscripts\_audio_zone_manager::azm_set_filter_bypass(0); + level.underwater_sound_ent soundscripts\_snd_playsound::snd_stop_sound(); + if(isdefined(level._audio.zone_mgr.zones[var_00])) + { + var_01 = level._audio.zone_mgr.zones[var_00]; + var_02 = var_01["priority"]; + var_03 = var_01["interrupt_fade"]; + if(isdefined(var_01["filter"])) + { + if(var_01["filter"] != "none") + { + soundscripts\_snd_filters::snd_set_filter(var_01["filter"],0); + soundscripts\_snd_filters::snd_set_filter_lerp(1); + } + } + else + { + soundscripts\_snd_filters::snd_clear_filter(1); + soundscripts\_audio_reverb::rvb_deactive_reverb(); + } + + if(isdefined(var_01["reverb"])) + { + if(var_01["reverb"] != "none") + { + soundscripts\_audio_reverb::rvb_start_preset(var_01["reverb"]); + } + } + else + { + soundscripts\_snd_filters::snd_clear_filter(1); + soundscripts\_audio_reverb::rvb_deactive_reverb(); + } + } + else + { + soundscripts\_snd_filters::snd_clear_filter(1); + soundscripts\_audio_reverb::rvb_deactive_reverb(); + } + + level.player seteqlerp(1,0); +} + +//Function Number: 23 +override_deadquote() +{ + wait(0.5); + if((!isdefined(level.player.failingmission) || level.player.failingmission == 0) && isdefined(level.player.is_drowning) && level.player.is_drowning) + { + maps\_player_death::set_deadquote(self.drowning_deadquote); + } +} + +//Function Number: 24 +playerwaterclearwait() +{ + self endon("playerInWater"); + var_00 = common_scripts\utility::waittill_any_return("death","out_of_water"); + if(var_00 == "death") + { + if(isdefined(self.drowning_deadquote)) + { + thread override_deadquote(); + return; + } + + return; + } + + self.inwater = undefined; + self.water_trigger_current = undefined; + under_water_set(0); + water_set_depth(0); + disable_swim_or_underwater_walk(); +} + +//Function Number: 25 +inwaterwake() +{ + self endon("death"); + self endon("playerInWater"); + self endon("out_of_water"); + if(!isdefined(self.water_wake_speed)) + { + self.water_wake_speed = 50; + } + + var_00 = ""; + if(isai(self)) + { + var_00 = "_ai"; + } + + var_01 = (0,0,0); + if(isplayer(self)) + { + var_01 = self getvelocity(); + } + else + { + var_01 = anglestoforward(self.angles) * self.water_wake_speed; + } + + var_02 = distance(var_01,(0,0,0)); + if(var_02 > 90 && isdefined(self.water_trigger_current)) + { + var_03 = self.origin; + var_03 = (var_03[0],var_03[1],getwaterline(self.water_trigger_current)); + var_03 = var_03 + (var_01[0],var_01[1],0) * 0.25; + playfx(level._effect["water_splash_enter" + var_00],var_03,anglestoforward((0,self.angles[1],0) + (270,180,0))); + } + + while(isdefined(self.water_trigger_current)) + { + var_01 = (0,0,0); + if(isplayer(self)) + { + var_01 = self getvelocity(); + } + else + { + var_01 = anglestoforward(self.angles) * self.water_wake_speed; + } + + var_02 = distance(var_01,(0,0,0)); + if(var_02 > 0) + { + wait(max(1 - var_02 / 120,0.1)); + } + else + { + wait(0.3); + } + + var_03 = self.origin; + if(var_02 > 5) + { + var_04 = vectornormalize((var_01[0],var_01[1],0)); + var_05 = anglestoforward(vectortoangles(var_04) + (270,180,0)); + var_03 = (var_03[0],var_03[1],getwaterline(self.water_trigger_current)) + var_02 / 4 * var_04; + playfx(level._effect["water_wake" + var_00],var_03,var_05); + continue; + } + + var_03 = (var_03[0],var_03[1],getwaterline(self.water_trigger_current)); + playfx(level._effect["water_wake_stationary" + var_00],var_03,anglestoforward((0,self.angles[1],0) + (270,180,0))); + } +} + +//Function Number: 26 +playerunderwater() +{ + self endon("death"); + self endon("above_water"); + childthread player_underwater_shock(); + thread underwaterbubbles(); + thread underwatercloudy(); +} + +//Function Number: 27 +player_underwater_shock() +{ + for(;;) + { + self shellshock("underwater",60); + wait(60); + } +} + +//Function Number: 28 +onplayerdeath() +{ + self endon("above_water"); + self waittill("death"); + self.inwater = undefined; + self.water_trigger_current = undefined; + under_water_set(0); + water_set_depth(0); + disable_swim_or_underwater_walk(); +} + +//Function Number: 29 +underwaterbubbles() +{ + self endon("death"); + self endon("above_water"); + var_00 = common_scripts\utility::spawn_tag_origin(); + waittillframeend; + var_00 linktoplayerview(level.player,"tag_origin",(25,0,0),(0,0,0),0); + thread delete_vm_underwater_org(var_00); + for(;;) + { + if(self.underwater == 1) + { + playfxontag(common_scripts\utility::getfx("water_bubbles"),var_00,"tag_origin"); + } + else + { + killfxontag(common_scripts\utility::getfx("water_bubbles"),var_00,"tag_origin"); + } + + wait(0.25); + } +} + +//Function Number: 30 +delete_vm_underwater_org(param_00) +{ + common_scripts\utility::waittill_any("above_water","death"); + killfxontag(common_scripts\utility::getfx("water_bubbles"),param_00,"tag_origin"); + param_00 unlinkfromplayerview(level.player); + wait 0.05; + param_00 delete(); +} + +//Function Number: 31 +underwatercloudy() +{ + if(isdefined(level.underwater_cloudy)) + { + var_00 = common_scripts\utility::spawn_tag_origin(); + var_00.angles = (0,0,0); + var_00.origin = level.player geteye() - (0,0,0); + var_00 linktoplayerview(level.player,"tag_origin",(70,0,-1),(-90,0,0),0); + playfxontag(common_scripts\utility::getfx(level.underwater_cloudy),var_00,"tag_origin"); + self waittill("above_water"); + killfxontag(common_scripts\utility::getfx(level.underwater_cloudy),var_00,"tag_origin"); + var_00 unlinkfromplayerview(level.player); + var_00 delete(); + } +} + +//Function Number: 32 +isabovewaterline(param_00) +{ + if(getplayereyeheight() > level getwaterline(param_00)) + { + return 1; + } + + return 0; +} + +//Function Number: 33 +getplayereyeheight() +{ + var_00 = self geteye(); + return var_00[2]; +} + +//Function Number: 34 +getwaterline(param_00) +{ + var_01 = 3; + var_02 = maps\_utility::getent_or_struct(param_00.target,"targetname"); + var_03 = var_02.origin[2] + var_01; + return var_03; +} + +//Function Number: 35 +setdof(param_00) +{ + self setdepthoffield(param_00["nearStart"],param_00["nearEnd"],param_00["farStart"],param_00["farEnd"],param_00["nearBlur"],param_00["farBlur"]); +} + +//Function Number: 36 +set_light_set_for_player(param_00) +{ + if(isdefined(level.lightset_current)) + { + level.lightset_previous = level.lightset_current; + } + + level.lightset_current = param_00; + self lightsetforplayer(param_00); +} + +//Function Number: 37 +revertvisionsetforplayer(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 1; + } + + if(isdefined(self.ridevisionset)) + { + self setclienttriggervisionset(self.ridevisionset,param_00); + self visionsetnakedforplayer(self.ridevisionset,param_00); + } + + if(isdefined(level.visionset_default)) + { + self setclienttriggervisionset(level.visionset_default,param_00); + self visionsetnakedforplayer(level.visionset_default,param_00); + maps\_utility::vision_set_fog_changes(level.visionset_default,param_00); + return; + } + + self setclienttriggervisionset("",param_00); + self visionsetnakedforplayer("",param_00); +} + +//Function Number: 38 +watchaienterwater(param_00) +{ + param_00 notify("watchAIEnterWater"); + param_00 endon("watchAIEnterWater"); + param_00 endon("death"); + for(;;) + { + foreach(var_02 in level.underwatertriggers) + { + if((!isdefined(param_00.inwater) || !param_00.inwater) && param_00 istouching(var_02)) + { + param_00.inwater = 1; + if(!isdefined(param_00.water_trigger_current)) + { + param_00 thread aiinwater(var_02); + } + } + } + + wait 0.05; + } +} + +//Function Number: 39 +aiinwater(param_00) +{ + self notify("aiInWater"); + self endon("aiInWater"); + self endon("death"); + if(isdefined(param_00)) + { + self.water_trigger_current = param_00; + } + + if(!isdefined(self.water_lastemerge)) + { + self.water_lastemerge = 0; + } + + if(!isdefined(self.ent_flag) || !isdefined(self.ent_flag["water_trigger_paused"])) + { + maps\_utility::ent_flag_init("water_trigger_paused"); + } + + if(!isdefined(self.mechdata) || !self.mechdata.active) + { + thread inwaterwake(); + } + + for(;;) + { + maps\_utility::ent_flag_waitopen("water_trigger_paused"); + var_01 = 0; + if(isdefined(param_00) && self istouching(param_00)) + { + var_01 = 1; + } + else + { + foreach(var_03 in level.underwatertriggers) + { + if((!isdefined(param_00) || var_03 != param_00) && self istouching(var_03)) + { + var_01 = 1; + param_00 = var_03; + self.water_trigger_current = var_03; + break; + } + } + } + + if(var_01 && !isdefined(self.underwater) && !isabovewaterline(param_00) && gettime() - self.water_lastemerge > 700) + { + ai_enable_swim_or_underwater_walk(); + } + + if(isdefined(self.underwater) && isabovewaterline(param_00) || !var_01) + { + ai_disable_swim_or_underwater_walk(); + self.water_lastemerge = gettime(); + } + + if(isdefined(self.water_trigger_current) && var_01) + { + ai_water_set_depth(water_depth_below(self.water_trigger_current)); + } + else + { + ai_water_set_depth(0); + } + + if(!var_01) + { + self.inwater = undefined; + self.water_trigger_current = undefined; + ai_disable_swim_or_underwater_walk(); + self notify("out_of_water"); + break; + } + + wait(0.05); + } +} + +//Function Number: 40 +ai_water_set_depth(param_00) +{ + var_01 = water_depth_state(param_00); + var_02 = "none"; + if(isdefined(self.water_depth)) + { + var_02 = water_depth_state(self.water_depth); + } + + if(param_00 > 0) + { + self.water_depth = param_00; + } + else + { + self.water_depth = undefined; + } + + if(isdefined(self.mechdata) && self.mechdata.active) + { + return; + } + + if(var_02 != var_01) + { + switch(var_01) + { + case "ankle": + thread ai_wading_footsteps("_ankle"); + break; + + case "knee": + thread ai_wading_footsteps("_knee"); + break; + + case "thigh": + case "chest": + thread ai_wading_footsteps("_waist"); + break; + + case "deep": + case "puddle": + default: + thread ai_wading_footsteps(); + break; + } + } +} + +//Function Number: 41 +ai_wading_footsteps(param_00) +{ + self notify("ai_wading_footsteps"); + self endon("ai_wading_footsteps"); + self endon("death"); + self.playfootstepoverride = undefined; + if(isdefined(param_00)) + { + self.playfootstepoverride = ::ai_water_footstep; + self.water_foley_type = param_00; + } +} + +//Function Number: 42 +ai_water_footstep(param_00,param_01) +{ + self notify("ai_water_footstep"); + self endon("ai_water_footstep"); + self endon("death"); + self.water_step = animscripts\notetracks::get_notetrack_movement(); + aud_water_footsteps_foley(self.water_step,self.water_foley_type,""); + self.water_wake_speed = 100; + if(self.water_step == "run") + { + self.water_wake_speed = 75; + } + else if(self.water_step == "walk") + { + self.water_wake_speed = 50; + } + + wait(2); + self.water_wake_speed = 0; +} + +//Function Number: 43 +get_underwater_walk_speed_scale_ai() +{ + var_00 = getdvarfloat("underwater_walk_speed_scale_ai"); + return var_00; +} + +//Function Number: 44 +ai_enable_swim_or_underwater_walk() +{ + self.underwater = 1; + if(!isdefined(self.mech) || !self.mech) + { + self.swimming = 1; + } + else + { + self.underwater_walk = 1; + } + + if(isdefined(self.swimming)) + { + return; + } + + if(isdefined(self.underwater_walk)) + { + maps\_utility::set_moveplaybackrate(get_underwater_walk_speed_scale_ai(),undefined,1); + maps\_utility::walkdist_force_walk(); + } +} + +//Function Number: 45 +ai_disable_swim_or_underwater_walk() +{ + self.underwater = 0; + if(isdefined(self.swimming)) + { + self.swimming = undefined; + return; + } + + if(isdefined(self.underwater_walk)) + { + maps\_utility::walkdist_reset(); + maps\_utility::restore_moveplaybackrate(1,1); + self.underwater_walk = undefined; + } +} \ No newline at end of file diff --git a/AW/PC/maps/_weapon_pdrone.gsc b/AW/PC/maps/_weapon_pdrone.gsc new file mode 100644 index 0000000..ecb7551 --- /dev/null +++ b/AW/PC/maps/_weapon_pdrone.gsc @@ -0,0 +1,319 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _weapon_pdrone.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 13 + * Decompile Time: 229 ms + * Timestamp: 4/22/2024 2:24:59 AM +*******************************************************************/ + +//Function Number: 1 +initialize() +{ + setsaveddvar("vehHelicopterControlsAltitude",1); + precachemodel("tag_laser"); + precacheitem("pdrone_weapon"); + precacheitem("pdrone_weapon_bullet"); + precacheshader("dpad_killstreak_remote_uav"); + precacheshader("dpad_laser_designator"); +} + +//Function Number: 2 +give_player_pdrone(param_00) +{ + self.pdroneactive = 0; + self.pdronereturning = 0; + self setweaponhudiconoverride("actionslot4","dpad_killstreak_remote_uav"); + self notifyonplayercommand("use_pdrone","+actionslot 4"); + for(;;) + { + self waittill("use_pdrone"); + if(self isthrowinggrenade()) + { + continue; + } + + if(!self.pdroneactive) + { + self allowfire(0); + var_01 = self getcurrentprimaryweapon(); + self takeweapon(var_01); + self giveweapon("pdrone_weapon_bullet"); + self switchtoweaponimmediate("pdrone_weapon_bullet"); + self givemaxammo("pdrone_weapon_bullet"); + wait_til_pdrone_launched(); + self allowfire(1); + if(isdefined(self.pdrone_launched) && self.pdrone_launched) + { + self disableweaponswitch(); + self disableoffhandweapons(); + wait(1.75); + pdrone_launch(param_00); + self.pdrone_launched = undefined; + wait(0.25); + self enableoffhandweapons(); + self enableweaponswitch(); + } + + self takeweapon("pdrone_weapon_bullet"); + self giveweapon(var_01); + self switchtoweaponimmediate(var_01); + continue; + } + + pdrone_return(); + } +} + +//Function Number: 3 +pdrone_return() +{ + var_00 = self; + var_01 = var_00.pdrone; + var_01 maps\_utility::ent_flag_clear("sentient_controlled"); + var_00 notify("pdrone_returning"); + var_01 thread pdrone_return_pathing(); + var_01 waittill("goal"); + var_01 delete(); + var_00 notify("pdrone_returned"); +} + +//Function Number: 4 +pdrone_return_pathing() +{ + self endon("goal"); + self.goalradius = 40; + self vehicle_setspeed(20,20,20); + self setlookatent(self.owner); + for(;;) + { + self setvehgoalpos(self.owner.origin + (0,0,84),0); + wait(0.05); + } +} + +//Function Number: 5 +wait_til_pdrone_launched() +{ + self endon("death"); + self endon("use_pdrone"); + self endon("weapon_switch_started"); + self notifyonplayercommand("launch_pdrone","+attack"); + self waittill("launch_pdrone"); + self.pdrone_launched = 1; +} + +//Function Number: 6 +pdrone_launch(param_00) +{ + self.pdroneactive = 1; + var_01 = spawn_pdrone(param_00); + if(isdefined(var_01)) + { + var_01 makeentitysentient(self.team); + var_01.team = self.team; + var_01.pov_mode = 0; + var_01.owner = self; + if(self.team == "allies") + { + var_01 maps\_vehicle::godon(); + } + + self.pdrone = var_01; + self notify("pdrone_launched"); + self.pdrone = var_01; + var_01 thread pdrone_monitor_death(); + } +} + +//Function Number: 7 +spawn_pdrone(param_00) +{ + while(isdefined(param_00.available) && !param_00.available) + { + wait(0.05); + } + + if(!isdefined(self)) + { + return undefined; + } + + param_00.available = 0; + param_00.script_team = self.team; + if(isplayer(self)) + { + var_01 = self getplayerangles(); + } + else + { + var_01 = self.angles; + } + + var_02 = anglestoforward(var_01); + var_03 = anglestoup(var_01); + var_04 = var_02 * 24 + var_03 * 100; + if(var_04[2] < 80) + { + var_04 = var_04 + (0,0,80 - var_04[2]); + } + + param_00.origin = self.origin + var_04; + param_00.angles = self.angles; + waittillframeend; + param_00.available = 1; + if(isdefined(self) && isalive(self)) + { + return param_00 maps\_utility::spawn_vehicle(); + } + + return undefined; +} + +//Function Number: 8 +pdrone_monitor_death() +{ + self waittill("death"); + if(isdefined(self)) + { + if(isdefined(self.owner)) + { + self.owner.pdroneactive = 0; + } + } +} + +//Function Number: 9 +pd_laser_targeting_device(param_00) +{ + param_00 endon("remove_laser_targeting_device"); + param_00.lastusedweapon = undefined; + param_00.laserforceon = 0; + param_00 setweaponhudiconoverride("actionslot4","dpad_laser_designator"); + param_00 notifyonplayercommand("use_laser","+actionslot 4"); + param_00 notifyonplayercommand("fired_laser","+attack"); + param_00 childthread pd_monitorlaseroff(); + for(;;) + { + param_00 waittill("use_laser"); + if(param_00.laserforceon || param_00 pd_shouldforcedisablelaser()) + { + param_00 notify("cancel_laser"); + param_00 laseroff(); + param_00.laserforceon = 0; + wait(0.2); + param_00 allowfire(1); + } + else + { + param_00 laseron(); + param_00 allowfire(0); + param_00.laserforceon = 1; + param_00 thread pd_laser_designate_target(); + } + + wait(0.05); + } +} + +//Function Number: 10 +pd_shouldforcedisablelaser() +{ + var_00 = self getcurrentweapon(); + if(var_00 == "rpg") + { + return 1; + } + + if(var_00 == "c4") + { + return 1; + } + + if(common_scripts\utility::string_starts_with(var_00,"gl")) + { + return 1; + } + + if(var_00 == "pdrone_weapon_bullet") + { + return 1; + } + + if(isdefined(level.laser_designator_disable_list) && isarray(level.laser_designator_disable_list)) + { + foreach(var_02 in level.laser_designator_disable_list) + { + if(var_00 == var_02) + { + return 1; + } + } + } + + if(self isreloading()) + { + return 1; + } + + if(self isthrowinggrenade()) + { + return 1; + } + + return 0; +} + +//Function Number: 11 +pd_monitorlaseroff() +{ + for(;;) + { + if(pd_shouldforcedisablelaser() && isdefined(self.laserforceon) && self.laserforceon) + { + self notify("use_laser"); + wait(2); + } + + wait(0.05); + } +} + +//Function Number: 12 +pd_laser_designate_target() +{ + self endon("cancel_laser"); + self waittill("fired_laser"); + var_00 = pd_get_laser_designated_trace(); + var_01 = var_00["position"]; + var_02 = var_00["entity"]; + if(distance(self.origin,var_01) < 100000) + { + self notify("pdrone_defend_point",var_00); + } + else + { + iprintln("too far"); + } + + wait(0.05); + self notify("use_laser"); +} + +//Function Number: 13 +pd_get_laser_designated_trace() +{ + var_00 = self geteye(); + var_01 = self getplayerangles(); + var_02 = anglestoforward(var_01); + var_03 = var_00 + var_02 * 7000; + var_04 = bullettrace(var_00,var_03,0,self); + var_05 = var_04["entity"]; + if(isdefined(var_05)) + { + var_04["position"] = var_05.origin; + } + + return var_04; +} \ No newline at end of file diff --git a/AW/PC/SP/maps/_weather.gsc b/AW/PC/maps/_weather.gsc similarity index 96% rename from AW/PC/SP/maps/_weather.gsc rename to AW/PC/maps/_weather.gsc index d7c6ff7..ce9a089 100644 --- a/AW/PC/SP/maps/_weather.gsc +++ b/AW/PC/maps/_weather.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/_weather.gsc + * Decompiled File: _weather.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 15 - * Decompile Time: 261 ms - * Timestamp: 10/27/2023 2:02:33 AM + * Decompile Time: 225 ms + * Timestamp: 4/22/2024 2:25:00 AM *******************************************************************/ //Function Number: 1 @@ -320,12 +320,21 @@ lightningflash(param_00,param_01,param_02) switch(var_03[param_02]) { case "quick": + fogflash(param_01); break; case "double": + fogflash(param_01); + wait(0.05); + fogflash(param_01); break; case "triple": + fogflash(param_01); + wait(0.05); + fogflash(param_01); + wait(0.5); + fogflash(param_01); break; } } diff --git a/AW/PC/maps/animated_models/com_roofvent2.gsc b/AW/PC/maps/animated_models/com_roofvent2.gsc new file mode 100644 index 0000000..768216c --- /dev/null +++ b/AW/PC/maps/animated_models/com_roofvent2.gsc @@ -0,0 +1,34 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: animated_models\com_roofvent2.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 2:06:28 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(!isdefined(level.anim_prop_models)) + { + level.anim_prop_models = []; + } + + var_00 = tolower(getdvar("mapname")); + var_01 = 1; + if(common_scripts\utility::string_starts_with(var_00,"mp_")) + { + var_01 = 0; + } + + var_02 = "com_roofvent2_animated"; + if(var_01) + { + level.anim_prop_models[var_02]["rotate"] = %roofvent_rotate; + return; + } + + level.anim_prop_models[var_02]["rotate"] = "roofvent_rotate"; +} \ No newline at end of file diff --git a/AW/PC/maps/animated_models/fence_tarp_108x76_med_01.gsc b/AW/PC/maps/animated_models/fence_tarp_108x76_med_01.gsc new file mode 100644 index 0000000..7f1d494 --- /dev/null +++ b/AW/PC/maps/animated_models/fence_tarp_108x76_med_01.gsc @@ -0,0 +1,27 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: animated_models\fence_tarp_108x76_med_01.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 29 ms + * Timestamp: 4/22/2024 2:06:28 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(!isdefined(level.anim_prop_models)) + { + level.anim_prop_models = []; + } + + var_00 = "fence_tarp_108x76"; + if(common_scripts\utility::issp()) + { + level.anim_prop_models[var_00]["wind"] = %fence_tarp_108x76_med_01; + return; + } + + level.anim_prop_models[var_00]["wind"] = "fence_tarp_108x76_med_01"; +} \ No newline at end of file diff --git a/AW/PC/maps/animated_models/foliage_tree_grey_oak_lg_a.gsc b/AW/PC/maps/animated_models/foliage_tree_grey_oak_lg_a.gsc new file mode 100644 index 0000000..75a3b22 --- /dev/null +++ b/AW/PC/maps/animated_models/foliage_tree_grey_oak_lg_a.gsc @@ -0,0 +1,15 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: animated_models\foliage_tree_grey_oak_lg_a.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 30 ms + * Timestamp: 4/22/2024 2:06:28 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + common_scripts\utility::set_basic_animated_model("foliage_tree_grey_oak_lg_a_animated",%foliage_tree_grey_oak_lg_a_sway,"foliage_tree_grey_oak_lg_a_sway"); +} \ No newline at end of file diff --git a/AW/PC/maps/betrayal.gsc b/AW/PC/maps/betrayal.gsc new file mode 100644 index 0000000..a18b2ff --- /dev/null +++ b/AW/PC/maps/betrayal.gsc @@ -0,0 +1,1443 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: betrayal.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 52 + * Decompile Time: 746 ms + * Timestamp: 4/22/2024 2:25:03 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\_utility::template_level("betrayal"); + precache_main(); + init_level_flags(); + init_vo_flags(); + init_lighting_flags(); + setup_start_points(); + setsaveddvar("r_hudoutlineenable",1); + if(level.currentgen) + { + setsaveddvar("r_gunSightColorEntityScale","7"); + setsaveddvar("r_gunSightColorNoneScale","0.8"); + maps\_utility::tff_sync_setup(); + } + + forcesharedammo(); + maps\createart\betrayal_art::main(); + maps\betrayal_fx::main(); + maps\betrayal_precache::main(); + maps\_load::main(); + thread maps\_player_exo::main("specialist"); + maps\betrayal_lighting::main2(); + maps\betrayal_aud::main(); + maps\betrayal_anim::main(); + maps\_variable_grenade::main(); + maps\_drone_civilian::init(); + maps\_drone_ai::init(); + maps\_exo_climb::main("atlas_army"); + level.player.exo_climb_overrides = spawnstruct(); + level.player.exo_climb_overrides.idle_look_sideways_limit_mag = 50; + level.player.exo_climb_overrides.idle_look_down_limit_mag = 30; + maps\_exo_punch_door::exo_door_init(); + maps\_microwave_grenade::main(); + maps\_grapple::main("viewbody_atlas_military_smp","viewhands_atlas_military_smp"); + level.player.grapple["dist_max"] = 750; + level.player.no_breath_hud = 1; + level.player.drowning_deadquote = &"BETRAYAL_DEATH_BY_DROWNING"; + level.player.drowning_warning = &"BETRAYAL_DROWNING_WARNING_HINT"; + level.player.drowning_damage = 12; + level.player maps\_water::init("worldhands_atlas_military_smp"); + level.underwater_visionset_callback = ::maps\betrayal_lighting::underwater_visionset_change; + maps\betrayal_vo::prepare_dialog(); + thread maps\betrayal_vo::play_dialog(); + thread global_spawn_functions(); + maps\betrayal_util::civilian_init_props(); + level.default_goalradius = 512; + level.friendlyfire["friend_kill_points"] = -500; + if(level.currentgen) + { + setup_tff_transitions(); + setup_tff_cleanups(); + } + + level thread betrayal_intro_screen(); + setupbetrayalportalscripting(); +} + +//Function Number: 2 +betrayal_intro_screen() +{ + if(!isdefined(level.start_point) || level.start_point == "atlas_building_lobby") + { + level thread maps\_shg_utility::play_chyron_video("chyron_text_betrayal",2,2); + common_scripts\utility::flag_wait("chyron_video_done"); + common_scripts\utility::flag_set("flag_office_start_intro_pcap"); + return; + } + + thread maps\_introscreen::introscreen_generic_black_fade_in(2,2); +} + +//Function Number: 3 +precache_main() +{ + precacheitem("flash_grenade"); + precachestring(&"BETRAYAL_OBJ_FOLLOW_GIDEON"); + precachestring(&"BETRAYAL_OBJ_ESCAPE_ATLAS"); + precachestring(&"BETRAYAL_OBJ_FOLLOW_ILONA"); + precachestring(&"BETRAYAL_OBJ_ESCAPE_OLDTOWN"); + precachestring(&"BETRAYAL_OBJ_KILL_MECH"); + precachestring(&"BETRAYAL_OBJ_BOAT_GOAL"); + precachestring(&"BETRAYAL_OBJ_CLIMB_EXTRACTION"); + precachestring(&"BETRAYAL_USE"); + precachestring(&"BETRAYAL_OPEN"); + precachestring(&"BETRAYAL_CLIMB"); + precachestring(&"BETRAYAL_DESTROY"); + precachestring(&"BETRAYAL_MANTLE"); + precachestring(&"BETRAYAL_BOAT_ENTER"); + precachestring(&"BETRAYAL_CRANE_TRIGGER_HINT"); + maps\_utility::add_control_based_hint_strings("boat_gas",&"BETRAYAL_BOAT_HINT_GAS",::player_boat_gas); + maps\_utility::add_control_based_hint_strings("boat_dive",&"BETRAYAL_BOAT_HINT_DIVE",::player_boat_dive); + maps\_utility::add_hint_string("leaving_mission_area",&"BETRAYAL_WARN_LEAVE_MISSION_AREA"); + maps\_utility::add_control_based_hint_strings("leaving_mission_area_trigger",&"BETRAYAL_WARN_LEAVE_MISSION_AREA",::leaving_mission_area_while_in_trig); + maps\_utility::add_control_based_hint_strings("player_moved_forward",&"BETRAYAL_MAG_CLIMB_HINT",::player_moved_forward,&"BETRAYAL_MAG_CLIMB_HINT_CRANE_PC",&"BETRAYAL_MAG_CLIMB_HINT_SP"); + maps\_utility::add_control_based_hint_strings("grapple",&"BETRAYAL_GRAPPLE_HINT",::player_used_grapple); + precachemodel("security_lock_01_unlocked_glow"); + precachemodel("security_lock_01_unlocked"); + precachemodel("btr_elevator_vent_cover_a_closed"); + precachemodel("electronics_pda"); + precachemodel("com_cellphone_on"); + precachemodel("prop_cigarette"); + precachemodel("lab_tablet_flat_on"); + precachemodel("cs_coffeemug02"); + precachemodel("com_metal_briefcase"); + precachemodel("paper_memo"); + precachemodel("open_book"); + precachemodel("genericprop"); + precachemodel("hjk_metal_briefcase"); + precachemodel("electronics_pda_big"); + precachemodel("ma_cup_single_closed"); + precachemodel("deployable_cover"); + precachemodel("vehicle_mobile_cover"); + precacheitem("iw5_mahemcustombetrayalboatdive_sp"); + precacheitem("iw5_bal27_sp"); + precacheitem("iw5_unarmed_nullattach"); + precacheitem("betrayal_missile_small_harass"); + precacheitem("betrayal_missile_small_lethal"); + precacheitem("iw5_sn6_sp"); + precachemodel("npc_flash_grenade"); + precachemodel("irons_casual_nogun"); + precachemodel("npc_mp443_nocamo"); + precachemodel("lag_harmonic_breach_device"); + precachemodel("dem_irons_chair_01_cloaktrans"); + precachemodel("dem_irons_guest_chair_01_rig_cloaktrans"); + precachemodel("dr_mwi_body_cloaktrans"); + precachemodel("irons_casual_cloaktrans"); + precacheshader("overlay_static"); + precachemodel("btr_sewer_cover_01_rig"); + precacheitem("javelin"); + precachemodel("vm_grapple_launcher_base_lodvm"); + precachemodel("viewbody_atlas_military_smp_grapple"); + precachemodel("ilana_atlas_pmc_launcher"); + precachemodel("btr_construction_crate_with_door_anim_01_exterior"); + precachemodel("btr_construction_crate_with_door_anim_01_interior"); + maps\_exo_climb::load_precache(); + animscripts\traverse\boost::precache_boost_fx_npc(); + maps\_swim_ai::init_ai_swim(); + vehicle_scripts\_attack_drone::drone_swarm_init(); + vehicle_scripts\_attack_drone_common::attack_drone_formation_init(); + precachemodel("vehicle_mil_atlas_speedboat_glass_cracked_ai"); + precachemodel("body_hero_cormack_sentinel_covert_cloak"); + precachemodel("sentinel_covert_body_a"); + if(level.nextgen) + { + precacheshader("m/mtl_burke_sentinel_covert_headgear_a_cloak"); + precacheshader("mc/mtl_burke_sentinel_covert_headgear_a_cloak"); + precacheshader("m/cloak_generic"); + return; + } + + precacheshader("mq/mtl_burke_sentinel_covert_headgear_a_cloak"); + precacheshader("mqc/mtl_burke_sentinel_covert_headgear_a_cloak"); + precacheshader("mq/cloak_generic"); +} + +//Function Number: 4 +init_level_flags() +{ + common_scripts\utility::flag_init("flag_hint_player_exoclimb_jumped"); + common_scripts\utility::flag_init("flag_hint_player_exoclimb_magmoved"); + common_scripts\utility::flag_init("flag_hint_player_exoclimb_combat"); + common_scripts\utility::flag_init("flag_hint_player_exoclimb_cover"); + common_scripts\utility::flag_init("flag_office_start_intro_pcap"); + common_scripts\utility::flag_init("office_scene_heli_go_1"); + common_scripts\utility::flag_init("flag_office_gideon_at_roof_door"); + common_scripts\utility::flag_init("flag_office_gideon_clear_to_move_to_roof"); + common_scripts\utility::flag_init("flag_office_clean_up_awards"); + common_scripts\utility::flag_init("flag_office_gideon_at_stairs_door"); + common_scripts\utility::flag_init("flag_office_gideon_ready_to_move_down_stairs"); + common_scripts\utility::flag_init("flag_office_gideon_scanning_door"); + common_scripts\utility::flag_init("flag_confrontation_give_player_real_gun"); + common_scripts\utility::flag_init("flag_confrontation_gideon_at_exit_door"); + common_scripts\utility::flag_init("flag_escape_pt1_passed"); + common_scripts\utility::flag_init("flag_escape_pt2_passed"); + common_scripts\utility::flag_init("flag_escape_irons_leaving_room"); + common_scripts\utility::flag_init("flag_escape_start_escape"); + common_scripts\utility::flag_init("flag_escape_flashbang_guards"); + common_scripts\utility::flag_init("flag_escape_ilana_at_door"); + common_scripts\utility::flag_init("flag_escape_scene_rush_door_open"); + common_scripts\utility::flag_init("flag_escape_clean_up_secret_room"); + common_scripts\utility::flag_init("flag_escape_ilana_at_climb_door"); + common_scripts\utility::flag_init("flag_escape_open_elevator"); + common_scripts\utility::flag_init("flag_escape_clean_up_hallway"); + common_scripts\utility::flag_init("flag_roof_player_on_roof"); + common_scripts\utility::flag_init("flag_roof_swarm_spawned"); + common_scripts\utility::flag_init("flag_roof_swarm_launched"); + common_scripts\utility::flag_init("flag_roof_ilona_past_fence"); + common_scripts\utility::flag_init("flag_roof_player_past_fence"); + common_scripts\utility::flag_init("flag_roof_open_mrX_blast_doors"); + common_scripts\utility::flag_init("flag_roof_close_mrX_blast_doors"); + common_scripts\utility::flag_init("flag_roof_player_has_mantled"); + common_scripts\utility::flag_init("roof_scene_ilana_at_escape"); + common_scripts\utility::flag_init("roof_scene_player_escaped"); + common_scripts\utility::flag_init("flag_roof_player_jumped_off_atlas_building"); + common_scripts\utility::flag_init("flag_roof_escape_complete"); + common_scripts\utility::flag_init("flag_stop_drone_magic_bullets"); + common_scripts\utility::flag_init("flag_swim_water_motion_on"); + common_scripts\utility::flag_init("flag_swim_water_player_out_of_water"); + common_scripts\utility::flag_init("swim_devstart"); + common_scripts\utility::flag_init("flag_swim_tunnel"); + common_scripts\utility::flag_init("flag_swim_remove_boats"); + common_scripts\utility::flag_init("flag_sewer_backtrack_ender"); + common_scripts\utility::flag_init("flag_sewer_swap_to_oldtown_swarm"); + common_scripts\utility::flag_init("flag_sewer_exit_drone_suprise_flag"); + common_scripts\utility::flag_init("flag_sewer_exit_civ_setup"); + common_scripts\utility::flag_init("flag_sewer_exit_player_fired_weapon"); + common_scripts\utility::flag_init("flag_sewer_oppression_event_start"); + common_scripts\utility::flag_init("flag_sewer_oppression_event_ilona_start_secret"); + common_scripts\utility::flag_init("flag_sewer_oppression_event_ilona_building_start"); + common_scripts\utility::flag_init("start_oppression_event"); + common_scripts\utility::flag_init("oppression_ent_completed_beat_01"); + common_scripts\utility::flag_init("oppression_ent_completed_beat_02"); + common_scripts\utility::flag_init("oppression_ent_completed_beat_03"); + common_scripts\utility::flag_init("flag_sewer_player_jumped_in_market"); + common_scripts\utility::flag_init("flag_sewer_checkpoint_guards_wakeup"); + common_scripts\utility::flag_init("flag_sewer_player_failed_checkpoint"); + common_scripts\utility::flag_init("flag_sewer_scene_transfer_to_free_run"); + common_scripts\utility::flag_init("flag_sewer_oldtown_intro_complete"); + common_scripts\utility::flag_init("flag_sewer_finish_sewer_scene_cleanup"); + common_scripts\utility::flag_init("rear_pressure_go"); + common_scripts\utility::flag_init("rear_pressure_go_setup"); + common_scripts\utility::flag_init("mech_start_hunt"); + common_scripts\utility::flag_init("oldtown_section2"); + common_scripts\utility::flag_init("oldtown_section3"); + common_scripts\utility::flag_init("oldtown_section4"); + common_scripts\utility::flag_init("freerun_flash_go"); + common_scripts\utility::flag_init("freerun_dresser_go"); + common_scripts\utility::flag_init("freerun_frag_go"); + common_scripts\utility::flag_init("freerun_micro_go"); + common_scripts\utility::flag_init("freerun_doorkick_enemy_go"); + common_scripts\utility::flag_init("freerun_doorkick_player_go"); + common_scripts\utility::flag_init("freerun_vis_jump_go"); + common_scripts\utility::flag_init("freerun_vis_jump2_go"); + common_scripts\utility::flag_init("freerun_cover_go"); + common_scripts\utility::flag_init("oldtown_dock_civ_go"); + common_scripts\utility::flag_init("boat_scene_start"); + common_scripts\utility::flag_init("oldtown_dock_flyby"); + common_scripts\utility::flag_init("swarm_docks_entrance"); + common_scripts\utility::flag_init("dock_cleanup"); + common_scripts\utility::flag_init("dock_cover_go"); + common_scripts\utility::flag_init("mech_docks_entrance"); + common_scripts\utility::flag_init("flag_dialogue_docks_backtrack"); + common_scripts\utility::flag_init("docks_end_fail_state_monitor"); + common_scripts\utility::flag_init("flag_boat_early_setup_complete"); + common_scripts\utility::flag_init("flag_boat_start_bobbing_boats"); + common_scripts\utility::flag_init("flag_boat_player_in_boat"); + common_scripts\utility::flag_init("flag_boat_chase_boats_active"); + common_scripts\utility::flag_init("flag_incoming_missile_warning"); + common_scripts\utility::flag_init("flag_climb_falling_fail"); + common_scripts\utility::flag_init("flag_climb_player_begin_fall_fails"); + common_scripts\utility::flag_init("flag_climb_searchers_at_water"); + common_scripts\utility::flag_init("flag_climb_warbird_on_scene"); + common_scripts\utility::flag_init("flag_climb_start_investigate_climb"); + common_scripts\utility::flag_init("flag_climb_player_discovered"); + common_scripts\utility::flag_init("flag_climb_warbird_engaged_player"); + common_scripts\utility::flag_init("flag_climb_move_warbird_to_climb"); + common_scripts\utility::flag_init("flag_climb_player_first_magnet_wall"); + common_scripts\utility::flag_init("flag_climb_warbird_rise_1"); + common_scripts\utility::flag_init("flag_climb_warbird_rise_2"); + common_scripts\utility::flag_init("flag_climb_player_off_first_magnet_wall"); + common_scripts\utility::flag_init("flag_climb_player_second_magnet_wall"); + common_scripts\utility::flag_init("flag_climb_warbird_rise_3"); + common_scripts\utility::flag_init("flag_climb_warbird_rise_4"); + common_scripts\utility::flag_init("flag_climb_player_off_second_magnet_wall"); + common_scripts\utility::flag_init("flag_climb_start_searcher_clean_up"); + common_scripts\utility::flag_init("flag_climb_player_on_mag_wall"); + common_scripts\utility::flag_init("flag_climb_player_at_first_onfoot"); + common_scripts\utility::flag_init("flag_climb_ilana_past_crate"); + common_scripts\utility::flag_init("flag_climb_player_at_second_climb"); + common_scripts\utility::flag_init("flag_climb_warbird_rise_5"); + common_scripts\utility::flag_init("flag_climb_warbird_rise_6"); + common_scripts\utility::flag_init("flag_climb_warbird_rise_7"); + common_scripts\utility::flag_init("flag_climb_warbird_skybridge_fly_off"); + common_scripts\utility::flag_init("flag_climb_player_at_magwallstart"); + common_scripts\utility::flag_init("flag_climb_player_at_magwalltop"); + common_scripts\utility::flag_init("flag_climb_player_at_skybridge"); + common_scripts\utility::flag_init("flag_climb_player_can_jump_to_crane"); + common_scripts\utility::flag_init("flag_climb_player_at_finale"); + common_scripts\utility::flag_init("flag_climb_player_started_moving"); + common_scripts\utility::flag_init("flag_climb_player_finished_first_grapple"); + common_scripts\utility::flag_init("flag_objective_office_scene_follow_gideon"); + common_scripts\utility::flag_init("flag_objective_office_scene_follow_gideon_complete"); + common_scripts\utility::flag_init("flag_objective_escape_scene_start"); + common_scripts\utility::flag_init("flag_objective_escape_scene_elevator_open"); + common_scripts\utility::flag_init("flag_objective_escape_scene_on_roof"); + common_scripts\utility::flag_init("flag_objective_escape_scene_complete"); + common_scripts\utility::flag_init("flag_objective_swim_scene_start"); + common_scripts\utility::flag_init("flag_objective_swim_scene_complete"); + common_scripts\utility::flag_init("flag_objective_freerun_scene_start"); + common_scripts\utility::flag_init("flag_objective_freerun_scene_complete"); + common_scripts\utility::flag_init("flag_objective_dock_scene_start"); + common_scripts\utility::flag_init("flag_objective_dock_scene_complete"); + common_scripts\utility::flag_init("flag_objective_boat_chase_start"); + common_scripts\utility::flag_init("flag_objective_boat_chase_complete"); + common_scripts\utility::flag_init("flag_objective_climb_start"); + common_scripts\utility::flag_init("flag_objective_climb_start_crane"); + common_scripts\utility::flag_init("flag_objective_climb_complete"); + common_scripts\utility::flag_init("flag_autofocus_on"); + if(level.currentgen) + { + common_scripts\utility::flag_init("flag_tff_trans_canals_to_finale"); + } +} + +//Function Number: 5 +init_vo_flags() +{ + common_scripts\utility::flag_init("flag_enable_battle_chatter"); + common_scripts\utility::flag_init("flag_dialogue_start_office"); + common_scripts\utility::flag_init("flag_dialogue_office_congrats"); + common_scripts\utility::flag_init("flag_dialogue_office_baghdad"); + common_scripts\utility::flag_init("flag_dialogue_office_kva"); + common_scripts\utility::flag_init("flag_dialogue_office_guard"); + common_scripts\utility::flag_init("flag_dialogue_office_door"); + common_scripts\utility::flag_init("flag_dialogue_start_confrontation"); + common_scripts\utility::flag_init("flag_dialog_confrontation_mrX"); + common_scripts\utility::flag_init("flag_dialog_confrontation_go"); + common_scripts\utility::flag_init("flag_dialog_confrontation_leave"); + common_scripts\utility::flag_init("flag_dialogue_start_escape"); + common_scripts\utility::flag_init("flag_dialogue_escape_intros"); + common_scripts\utility::flag_init("flag_dialogue_escape_guarddoor"); + common_scripts\utility::flag_init("flag_dialogue_escape_announce"); + common_scripts\utility::flag_init("flag_dialogue_escape_deadend"); + common_scripts\utility::flag_init("flag_dialogue_escape_climb"); + common_scripts\utility::flag_init("flag_dialogue_escape_swarm"); + common_scripts\utility::flag_init("flag_dialogue_start_roof"); + common_scripts\utility::flag_init("flag_dialogue_roof_swarm"); + common_scripts\utility::flag_init("flag_dialogue_roof_away"); + common_scripts\utility::flag_init("flag_dialogue_roof_run"); + common_scripts\utility::flag_init("flag_dialogue_roof_gates"); + common_scripts\utility::flag_init("flag_dialogue_roof_jump"); + common_scripts\utility::flag_init("flag_dialogue_roof_fall"); + common_scripts\utility::flag_init("flag_dialogue_start_swim"); + common_scripts\utility::flag_init("flag_dialogue_swim_sewer"); + common_scripts\utility::flag_init("flag_dialogue_swim_cough"); + common_scripts\utility::flag_init("flag_dialogue_start_sewer"); + common_scripts\utility::flag_init("flag_dialogue_sewer_guards"); + common_scripts\utility::flag_init("flag_dialogue_sewer_announcement"); + common_scripts\utility::flag_init("flag_dialogue_sewer_checkpoint"); + common_scripts\utility::flag_init("flag_dialogue_start_oldtown"); + common_scripts\utility::flag_init("flag_dialogue_oldtown_contact"); + common_scripts\utility::flag_init("flag_dialogue_oldtown_naglines"); + common_scripts\utility::flag_init("flag_dialogue_start_docks"); + common_scripts\utility::flag_init("flag_dialogue_docks_intro"); + common_scripts\utility::flag_init("flag_dialogue_docks_ast"); + common_scripts\utility::flag_init("flag_dialogue_docks_boat"); + common_scripts\utility::flag_init("flag_dialogue_docks_boatnag"); + common_scripts\utility::flag_init("flag_dialogue_start_boat"); + common_scripts\utility::flag_init("flag_dialogue_boat_grapple"); + common_scripts\utility::flag_init("flag_dialogue_boat_intro"); + common_scripts\utility::flag_init("flag_dialogue_boat_dive"); + common_scripts\utility::flag_init("flag_dialogue_boat_ramp"); + common_scripts\utility::flag_init("flag_dialogue_boat_close"); + common_scripts\utility::flag_init("flag_dialogue_boat_missiles"); + common_scripts\utility::flag_init("flag_dialogue_start_climb"); + common_scripts\utility::flag_init("flag_dialogue_climb_intro"); + common_scripts\utility::flag_init("flag_dialogue_climb_boatexit"); + common_scripts\utility::flag_init("flag_dialogue_climb_grapple1"); + common_scripts\utility::flag_init("flag_dialogue_climb_grapple2"); + common_scripts\utility::flag_init("flag_dialogue_climb_grapple3"); + common_scripts\utility::flag_init("flag_dialogue_climb_contact"); + common_scripts\utility::flag_init("flag_dialogue_climb_containers"); + common_scripts\utility::flag_init("flag_dialogue_climb_careful"); + common_scripts\utility::flag_init("flag_dialogue_climb_tower"); + common_scripts\utility::flag_init("flag_dialogue_climb_ledge"); + common_scripts\utility::flag_init("flag_dialogue_climb_climb"); + common_scripts\utility::flag_init("flag_dialogue_climb_way"); + common_scripts\utility::flag_init("flag_dialogue_climb_bridge"); + common_scripts\utility::flag_init("flag_dialogue_climb_drop"); + common_scripts\utility::flag_init("flag_dialogue_climb_cross"); + common_scripts\utility::flag_init("flag_dialogue_climb_crane"); + common_scripts\utility::flag_init("flag_dialogue_crane_start"); + common_scripts\utility::flag_init("flag_dialogue_crane_go"); + common_scripts\utility::flag_init("flag_dialogue_crane_jump"); + common_scripts\utility::flag_init("flag_dialogue_crane_slide"); +} + +//Function Number: 6 +init_lighting_flags() +{ +} + +//Function Number: 7 +player_boat_gas() +{ + if(common_scripts\utility::flag("missionfailed")) + { + return 1; + } + + if(level.player attackbuttonpressed()) + { + return 1; + } + + return 0; +} + +//Function Number: 8 +player_boat_dive(param_00) +{ + if(common_scripts\utility::flag("missionfailed")) + { + return 1; + } + + if(level.player jumpbuttonpressed()) + { + return 1; + } + + if(isdefined(param_00) && !level.player istouching(param_00)) + { + return 1; + } + + return 0; +} + +//Function Number: 9 +climbing_hint_display(param_00,param_01) +{ + maps\betrayal_util::waittill_player_exo_climbing(); + maps\_utility::display_hint(param_00); + if(isdefined(level.current_hint)) + { + level.current_hint waittill("destroying"); + } + + if(maps\_exo_climb::is_exo_climbing() && !common_scripts\utility::flag(param_01)) + { + common_scripts\utility::flag_set(param_01); + } +} + +//Function Number: 10 +grapple_hint_display(param_00,param_01) +{ + if(common_scripts\utility::flag("missionfailed")) + { + return 1; + } + + maps\_utility::display_hint(param_00); + if(common_scripts\utility::flag("flag_climb_player_finished_first_grapple")) + { + return 1; + } + + if(maps\_exo_climb::is_exo_climbing() && !common_scripts\utility::flag(param_01)) + { + common_scripts\utility::flag_set(param_01); + } +} + +//Function Number: 11 +player_exoclimb_moved() +{ + if(common_scripts\utility::flag("missionfailed")) + { + return 1; + } + + if(!maps\_exo_climb::is_exo_climbing()) + { + return 1; + } + + if(maps\_exo_climb::is_exoclimb_jumped()) + { + common_scripts\utility::flag_set("flag_hint_player_exoclimb_jumped"); + return 1; + } + + return 0; +} + +//Function Number: 12 +player_exoclimb_mag_moved() +{ + if(common_scripts\utility::flag("missionfailed")) + { + return 1; + } + + if(!maps\_exo_climb::is_exo_climbing()) + { + return 1; + } + + if(maps\_exo_climb::is_exoclimb_mag_moved()) + { + common_scripts\utility::flag_set("flag_hint_player_exoclimb_magmoved"); + return 1; + } + + return 0; +} + +//Function Number: 13 +player_used_exoclimb_combat() +{ + if(common_scripts\utility::flag("missionfailed")) + { + return 1; + } + + if(!maps\_exo_climb::is_exo_climbing()) + { + return 1; + } + + if(maps\_exo_climb::is_exoclimb_combat()) + { + common_scripts\utility::flag_set("flag_hint_player_exoclimb_combat"); + return 1; + } + + return 0; +} + +//Function Number: 14 +player_used_exoclimb_cover() +{ + if(common_scripts\utility::flag("missionfailed")) + { + return 1; + } + + if(!maps\_exo_climb::is_exo_climbing()) + { + return 1; + } + + if(maps\_exo_climb::is_exoclimb_cover()) + { + common_scripts\utility::flag_set("flag_hint_player_exoclimb_cover"); + return 1; + } + + return 0; +} + +//Function Number: 15 +player_moved_forward() +{ + if(common_scripts\utility::flag("missionfailed")) + { + return 1; + } + + if(common_scripts\utility::flag("flag_climb_player_started_moving")) + { + return 1; + } + + return 0; +} + +//Function Number: 16 +leaving_mission_area_while_in_trig(param_00) +{ + if(isdefined(param_00) && !level.player istouching(param_00)) + { + return 1; + } + + return 0; +} + +//Function Number: 17 +player_used_grapple() +{ + var_00 = getentarray("grapple_hint_trig","targetname"); + if(common_scripts\utility::flag("missionfailed")) + { + return 1; + } + + if(common_scripts\utility::flag("flag_climb_player_finished_first_grapple")) + { + return 1; + } + + foreach(var_02 in var_00) + { + if(!level.player istouching(var_02)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 18 +setup_start_points() +{ + maps\_utility::add_start("atlas_building_lobby",::start_office); + maps\_utility::add_start("atlas_building_confrontation",::start_confrontation); + maps\_utility::add_start("atlas_building_confrontation_QTE",::start_confrontation_qte); + maps\_utility::add_start("atlas_building_escape",::start_escape); + maps\_utility::add_start("atlas_building_roof",::start_roof); + maps\_utility::add_start("escape_swim",::start_swim); + maps\_utility::add_start("old_town_sewer",::start_sewer); + maps\_utility::add_start("old_town_freerun",::start_oldtown); + maps\_utility::add_start("old_town_docks",::start_docks); + maps\_utility::add_start("boat_chase_start",::start_boat); + maps\_utility::add_start("boat_chase_jump",::start_boatjump); + maps\_utility::add_start("boat_chase_warbird",::start_boatwarbird); + maps\_utility::add_start("boat_chase_mall",::start_boatmall); + maps\_utility::add_start("boat_chase_crash",::start_boatcrash); + maps\_utility::add_start("finale_climb",::start_climb); + maps\_utility::add_start("finale_roof",::start_climbroof); + maps\_utility::add_start("finale_crates",::start_climbcrates); + maps\_utility::add_start("finale_skybridge",::start_climbskybridge); + maps\_utility::add_start("finale_outro",::start_outro); + if(level.currentgen) + { + setup_start_transients(); + } +} + +//Function Number: 19 +setup_start_transients() +{ + var_00 = ["betrayal_atlas_building_tr"]; + maps\_utility::set_start_transients("atlas_building_lobby",var_00); + maps\_utility::set_start_transients("atlas_building_confrontation",var_00); + maps\_utility::set_start_transients("atlas_building_escape",var_00); + maps\_utility::set_start_transients("atlas_building_roof",var_00); + maps\_utility::set_start_transients("escape_swim",var_00); + var_00[0] = "betrayal_old_town_tr"; + maps\_utility::set_start_transients("old_town_sewer",var_00); + maps\_utility::set_start_transients("old_town_freerun",var_00); + maps\_utility::set_start_transients("old_town_docks",var_00); + maps\_utility::set_start_transients("boat_chase_start",var_00); + var_00[0] = "betrayal_canals_tr"; + maps\_utility::set_start_transients("boat_chase_jump",var_00); + maps\_utility::set_start_transients("boat_chase_warbird",var_00); + maps\_utility::set_start_transients("boat_chase_mall",var_00); + maps\_utility::set_start_transients("boat_chase_crash",var_00); + var_00[0] = "betrayal_finale_tr"; + maps\_utility::set_start_transients("finale_climb",var_00); + maps\_utility::set_start_transients("finale_roof",var_00); + maps\_utility::set_start_transients("finale_crates",var_00); + maps\_utility::set_start_transients("finale_skybridge",var_00); + maps\_utility::set_start_transients("finale_outro",var_00); +} + +//Function Number: 20 +setup_tff_cleanups() +{ + thread tff_cleanup_canal_boats(); +} + +//Function Number: 21 +tff_cleanup_canal_boats() +{ + level waittill("tff_pre_canals_to_finale"); + var_00 = getentarray("boats_to_cleanup","script_noteworthy"); + foreach(var_02 in var_00) + { + if(isdefined(var_02) && !isremovedentity(var_02) && var_02 maps\_vehicle::isvehicle()) + { + var_02 delete(); + } + } +} + +//Function Number: 22 +setup_tff_transitions() +{ + if(!istransientloaded("betrayal_old_town_tr")) + { + thread tff_trans_atlas_building_to_old_town(); + } + + if(!istransientloaded("betrayal_canals_tr")) + { + thread tff_trans_old_town_to_canals(); + } + + if(!istransientloaded("betrayal_finale_tr")) + { + thread tff_trans_canals_to_finale(); + } +} + +//Function Number: 23 +tff_trans_atlas_building_to_old_town() +{ + common_scripts\utility::flag_wait("flag_tff_trans_atlas_building_to_old_town"); + level notify("tff_pre_atlas_building_to_old_town"); + unloadtransient("betrayal_atlas_building_tr"); + loadtransient("betrayal_old_town_tr"); + while(!istransientloaded("betrayal_old_town_tr")) + { + wait(0.05); + } + + level notify("tff_post_atlas_building_to_old_town"); +} + +//Function Number: 24 +tff_trans_old_town_to_canals() +{ + common_scripts\utility::flag_wait("flag_tff_trans_old_town_to_canals"); + level notify("tff_pre_old_town_to_canals"); + unloadtransient("betrayal_old_town_tr"); + loadtransient("betrayal_canals_tr"); + while(!istransientloaded("betrayal_canals_tr")) + { + wait(0.05); + } + + level notify("tff_post_old_town_to_canals"); +} + +//Function Number: 25 +tff_trans_canals_to_finale() +{ + common_scripts\utility::flag_wait("flag_tff_trans_canals_to_finale"); + level notify("tff_pre_canals_to_finale"); + unloadtransient("betrayal_canals_tr"); + loadtransient("betrayal_finale_tr"); + while(!istransientloaded("betrayal_finale_tr")) + { + wait(0.05); + } + + level notify("tff_post_canals_to_finale"); +} + +//Function Number: 26 +start_office() +{ + maps\betrayal_util::spawn_squad("start_office",1,0); + level thread maps\betrayal_code::office_scene_master_handler(); + level thread objectives(); + common_scripts\utility::flag_set("office_start_lighting"); + maps\_player_exo::player_exo_deactivate(); + level.player maps\_grapple::grapple_take(); + setupbetrayalportalscripting(); + soundscripts\_snd::snd_message("start_office"); +} + +//Function Number: 27 +start_confrontation() +{ + maps\betrayal_util::spawn_squad("start_confrontation",1,0); + maps\betrayal_util::move_player_to_ent_by_targetname("start_confrontation_player"); + maps\betrayal_util::give_player_just_hands(); + level thread maps\betrayal_code::confrontation_scene_master_handler(); + level thread objectives(); + common_scripts\utility::flag_set("confrontation_start_lighting"); + maps\_player_exo::player_exo_deactivate(); + level.player maps\_grapple::grapple_take(); + setupbetrayalportalscripting(); + soundscripts\_snd::snd_message("start_confrontation"); +} + +//Function Number: 28 +start_confrontation_qte() +{ + maps\betrayal_util::spawn_squad("start_confrontation",1,0); + maps\betrayal_util::move_player_to_ent_by_targetname("start_confrontation_player"); + maps\betrayal_util::give_player_just_hands(); + level thread maps\betrayal_code::confrontation_scene_master_handler("qte"); + level thread objectives(); + common_scripts\utility::flag_set("confrontation_start_lighting"); + maps\_player_exo::player_exo_deactivate(); + level.player maps\_grapple::grapple_take(); + setupbetrayalportalscripting(); + soundscripts\_snd::snd_message("start_confrontation_qte"); +} + +//Function Number: 29 +start_escape() +{ + maps\betrayal_util::spawn_squad("start_escape",0,1); + level.ilana maps\_utility::gun_recall(); + maps\betrayal_util::move_player_to_ent_by_targetname("start_escape_player"); + level thread maps\betrayal_code::escape_scene_master_handler(); + var_00 = maps\betrayal_util::get_ents_by_targetname("confrontation_room_exit_door_right"); + thread maps\betrayal_util::open_sliding_door_toggle(var_00,"confrontation_room_exit_door",1); + level thread objectives(); + maps\_player_exo::player_exo_activate(); + level.player maps\_grapple::grapple_take(); + if(level.nextgen) + { + common_scripts\utility::flag_set("escape_start_lighting"); + } + + setupbetrayalportalscripting(); + soundscripts\_snd::snd_message("start_escape"); +} + +//Function Number: 30 +start_roof() +{ + maps\betrayal_util::spawn_squad("start_roof",0,1); + level.ilana maps\_utility::gun_recall(); + var_00 = maps\betrayal_util::get_ent_by_targetname("roof_scene_ilona_start"); + if(isdefined(var_00)) + { + maps\_utility::activate_trigger_with_targetname("roof_scene_ilona_start"); + } + + maps\betrayal_util::move_player_to_ent_by_targetname("start_roof_player"); + thread maps\betrayal_util::handle_ally_keep_up_with_player(level.ilana); + level thread maps\betrayal_code::roof_scene_master_handler(); + thread maps\betrayal_code::roof_scene_industrial_drone_swarm_launch_manager(0); + maps\_player_exo::player_exo_activate(); + level.player maps\_grapple::grapple_take(); + level thread objectives(); + common_scripts\utility::flag_set("roof_start_lighting"); + setupbetrayalportalscripting(); + soundscripts\_snd::snd_message("start_roof"); +} + +//Function Number: 31 +start_swim() +{ + maps\betrayal_util::spawn_squad("start_swim",0,1); + level.ilana maps\_utility::gun_recall(); + maps\betrayal_util::move_player_to_ent_by_targetname("start_swim_player"); + thread maps\betrayal_util::handle_ally_keep_up_with_player(level.ilana); + wait(0.1); + common_scripts\utility::flag_set("swim_devstart"); + level thread maps\betrayal_code::swim_scene_master_handler(); + maps\_player_exo::player_exo_deactivate(); + level.player maps\_grapple::grapple_take(); + level thread objectives(); + common_scripts\utility::flag_set("swim_start_lighting"); + setupbetrayalportalscripting(); + soundscripts\_snd::snd_message("start_swim"); +} + +//Function Number: 32 +start_sewer() +{ + maps\betrayal_util::spawn_squad("start_sewer",0,1); + level.ilana maps\_utility::gun_recall(); + maps\betrayal_util::move_player_to_ent_by_targetname("start_sewer_player"); + thread maps\betrayal_util::handle_ally_keep_up_with_player(level.ilana); + level thread maps\betrayal_code::sewer_scene_master_handler(); + level.player maps\_grapple::grapple_take(); + level thread objectives(); + common_scripts\utility::flag_set("sewer_start_lighting"); + setupbetrayalportalscripting(); + soundscripts\_snd::snd_message("start_sewer"); +} + +//Function Number: 33 +start_oldtown() +{ + maps\betrayal_util::spawn_squad("start_oldtown",0,1); + level.ilana maps\_utility::gun_recall(); + maps\betrayal_util::move_player_to_ent_by_targetname("start_oldtown_player"); + thread maps\betrayal_util::handle_ally_keep_up_with_player(level.ilana); + common_scripts\utility::flag_set("flag_sewer_oldtown_intro_complete"); + common_scripts\utility::flag_set("flag_sewer_checkpoint_guards_wakeup"); + level thread maps\betrayal_code::oldtown_scene_master_handler(); + maps\_player_exo::player_exo_activate(); + level.player maps\_grapple::grapple_take(); + level thread objectives(); + maps\_utility::activate_trigger("oldtown_first_contact","targetname",level.player); + common_scripts\utility::flag_set("flag_sewer_scene_transfer_to_free_run"); + common_scripts\utility::flag_set("rear_pressure_go_setup"); + wait(3.2); + common_scripts\utility::flag_set("rear_pressure_go"); + level notify("freerun_go"); + common_scripts\utility::flag_set("oldtown_start_lighting"); + setupbetrayalportalscripting(); + soundscripts\_snd::snd_message("start_oldtown"); +} + +//Function Number: 34 +start_docks() +{ + maps\betrayal_util::spawn_squad("start_docks",0,1); + level.ilana maps\_utility::gun_recall(); + maps\betrayal_util::move_player_to_ent_by_targetname("start_docks_player"); + thread maps\betrayal_util::handle_ally_keep_up_with_player(level.ilana); + level thread maps\betrayal_code::oldtown_dock_master_handler(); + maps\_player_exo::player_exo_activate(); + level.player maps\_grapple::grapple_take(); + level thread objectives(); + common_scripts\utility::flag_set("oldtown_start_lighting"); + common_scripts\utility::flag_set("oldtown_dock_flyby"); + wait(0.3); + common_scripts\utility::flag_set("oldtown_boat_spawn"); + setupbetrayalportalscripting(); + soundscripts\_snd::snd_message("start_docks"); +} + +//Function Number: 35 +start_boat() +{ + maps\betrayal_util::spawn_squad("start_boat",0,1); + level.ilana maps\_utility::gun_recall(); + maps\betrayal_util::move_player_to_ent_by_targetname("start_boat_player"); + level thread maps\betrayal_code::boat_scene_master_handler(); + level.player maps\_grapple::grapple_take(); + maps\_player_exo::player_exo_deactivate(); + level thread objectives(); + common_scripts\utility::flag_set("boat_start_lighting"); + setupbetrayalportalscripting(); + soundscripts\_snd::snd_message("start_boat"); +} + +//Function Number: 36 +start_boatjump() +{ + var_00 = maps\betrayal_util::get_ent_by_targetname("start_boat_jump"); + var_01 = maps\betrayal_util::get_ent_by_targetname("vehicle_player_boat"); + var_01.origin = var_00.origin; + var_01.angles = var_00.angles; + level.player_boat = maps\_vehicle::spawn_vehicle_from_targetname("vehicle_player_boat"); + level.player_boat makeusable(); + maps\betrayal_util::spawn_squad("start_boat",0,1); + level.ilana maps\_utility::gun_recall(); + maps\betrayal_util::start_player_diveboat_ride(); + level thread maps\betrayal_code::boat_scene_master_handler(1); + maps\_player_exo::player_exo_deactivate(); + level.player maps\_grapple::grapple_take(); + level thread objectives(); + common_scripts\utility::flag_set("boat_start_lighting"); + setupbetrayalportalscripting(); + soundscripts\_snd::snd_message("start_boatjump"); +} + +//Function Number: 37 +start_boatwarbird() +{ + var_00 = maps\betrayal_util::get_ent_by_targetname("start_boat_warbird"); + var_01 = maps\betrayal_util::get_ent_by_targetname("vehicle_player_boat"); + var_01.origin = var_00.origin; + var_01.angles = var_00.angles; + level.player_boat = maps\_vehicle::spawn_vehicle_from_targetname("vehicle_player_boat"); + level.player_boat makeusable(); + maps\betrayal_util::spawn_squad("start_boat",0,1); + level.ilana maps\_utility::gun_recall(); + maps\betrayal_util::start_player_diveboat_ride(); + level thread maps\betrayal_code::boat_scene_master_handler(1); + maps\_player_exo::player_exo_deactivate(); + level.player maps\_grapple::grapple_take(); + level thread objectives(); + common_scripts\utility::flag_set("boat_start_lighting"); + soundscripts\_snd::snd_message("start_boatwarbird"); +} + +//Function Number: 38 +start_boatmall() +{ + var_00 = maps\betrayal_util::get_ent_by_targetname("start_boat_mall"); + var_01 = maps\betrayal_util::get_ent_by_targetname("vehicle_player_boat"); + var_01.origin = var_00.origin; + var_01.angles = var_00.angles; + level.player_boat = maps\_vehicle::spawn_vehicle_from_targetname("vehicle_player_boat"); + level.player_boat makeusable(); + maps\betrayal_util::spawn_squad("start_boat",0,1); + level.ilana maps\_utility::gun_recall(); + maps\betrayal_util::start_player_diveboat_ride(); + level thread maps\betrayal_code::boat_scene_master_handler(1); + maps\_player_exo::player_exo_deactivate(); + level.player maps\_grapple::grapple_take(); + level thread objectives(); + common_scripts\utility::flag_set("boat_start_lighting"); + soundscripts\_snd::snd_message("start_boatmall"); +} + +//Function Number: 39 +start_boatcrash() +{ + var_00 = maps\betrayal_util::get_ent_by_targetname("start_boat_crash"); + var_01 = maps\betrayal_util::get_ent_by_targetname("vehicle_player_boat"); + var_01.origin = var_00.origin; + var_01.angles = var_00.angles; + level.player_boat = maps\_vehicle::spawn_vehicle_from_targetname("vehicle_player_boat"); + level.player_boat makeusable(); + maps\betrayal_util::spawn_squad("start_boat",0,1); + level.ilana maps\_utility::gun_recall(); + maps\betrayal_util::start_player_diveboat_ride(); + level thread maps\betrayal_code::boat_scene_master_handler(1); + maps\_player_exo::player_exo_deactivate(); + level.player maps\_grapple::grapple_take(); + level thread objectives(); + common_scripts\utility::flag_set("boat_start_lighting"); + soundscripts\_snd::snd_message("start_boatcrash"); +} + +//Function Number: 40 +start_climb() +{ + maps\betrayal_util::spawn_squad("start_climb",0,1); + level.ilana maps\_utility::gun_recall(); + maps\betrayal_util::move_player_to_ent_by_targetname("start_climb_player"); + level thread maps\betrayal_code::climb_scene_master_handler(); + maps\_player_exo::player_exo_activate(); + level.player maps\_grapple::grapple_take(); + level thread objectives(); + common_scripts\utility::flag_set("climb_start_lighting"); + maps\betrayal_util::player_knockout_white(); + soundscripts\_snd::snd_message("start_climb"); +} + +//Function Number: 41 +start_climbroof() +{ + maps\betrayal_util::spawn_squad("start_climbroof",0,1); + level.ilana maps\_utility::gun_recall(); + maps\betrayal_util::move_player_to_ent_by_targetname("start_climbroof_player"); + level thread maps\betrayal_code::climb_scene_master_handler("roof"); + maps\_player_exo::player_exo_activate(); + level thread objectives(); + common_scripts\utility::flag_set("climb_start_lighting"); + soundscripts\_snd::snd_message("start_climbroof"); +} + +//Function Number: 42 +start_climbcrates() +{ + maps\betrayal_util::spawn_squad("start_climbcrates",0,1); + level.ilana maps\_utility::gun_recall(); + maps\betrayal_util::move_player_to_ent_by_targetname("start_climbcrates_player"); + level thread maps\betrayal_code::climb_scene_master_handler("crates"); + maps\_player_exo::player_exo_activate(); + level thread objectives(); + common_scripts\utility::flag_set("climb_start_lighting"); + soundscripts\_snd::snd_message("start_climbcrates"); +} + +//Function Number: 43 +start_climbskybridge() +{ + maps\betrayal_util::spawn_squad("start_climbskybridge",0,1); + level.ilana maps\_utility::gun_recall(); + maps\betrayal_util::move_player_to_ent_by_targetname("start_climbskybridge_player"); + level thread maps\betrayal_code::climb_scene_master_handler("skybridge"); + maps\_player_exo::player_exo_activate(); + level thread objectives(); + common_scripts\utility::flag_set("climb_start_lighting"); + soundscripts\_snd::snd_message("start_climbskybridge"); +} + +//Function Number: 44 +start_outro() +{ + maps\betrayal_util::spawn_squad("start_outro",0,1); + level.ilana maps\_utility::gun_recall(); + maps\betrayal_util::move_player_to_ent_by_targetname("start_outro_player"); + level thread maps\betrayal_code::climb_scene_master_handler("finale_outro"); + maps\_player_exo::player_exo_deactivate(); + level thread objectives(); + common_scripts\utility::flag_set("climb_start_lighting"); + soundscripts\_snd::snd_message("start_outro"); +} + +//Function Number: 45 +global_spawn_functions() +{ + maps\_utility::add_global_spawn_function("axis",::enable_jump_jet_pathing); + maps\_utility::add_global_spawn_function("axis",::toggle_battle_chatter); + maps\_utility::add_global_spawn_function("allies",::toggle_battle_chatter); +} + +//Function Number: 46 +enable_jump_jet_pathing() +{ + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "has_boost_jump") + { + self.canjumppath = 1; + } +} + +//Function Number: 47 +toggle_battle_chatter() +{ + self endon("death"); + for(;;) + { + maps\_utility::set_battlechatter(0); + common_scripts\utility::flag_wait("flag_enable_battle_chatter"); + maps\_utility::set_battlechatter(1); + common_scripts\utility::flag_waitopen("flag_enable_battle_chatter"); + } +} + +//Function Number: 48 +setup_objective_flags() +{ + if(maps\_utility::is_default_start()) + { + return; + } + + var_00 = level.start_point; + if(var_00 == "atlas_building_lobby") + { + return; + } + + common_scripts\utility::flag_set("flag_objective_office_scene_follow_gideon_complete"); + if(var_00 == "atlas_building_confrontation") + { + return; + } + + if(var_00 == "atlas_building_confrontation_qte") + { + return; + } + + if(var_00 == "atlas_building_escape") + { + return; + } + + common_scripts\utility::flag_set("flag_objective_escape_scene_start"); + common_scripts\utility::flag_set("flag_objective_escape_scene_on_roof"); + if(var_00 == "atlas_building_roof") + { + return; + } + + common_scripts\utility::flag_set("flag_objective_escape_scene_complete"); + if(var_00 == "escape_swim") + { + return; + } + + common_scripts\utility::flag_set("flag_objective_swim_scene_start"); + if(var_00 == "old_town_sewer") + { + return; + } + + common_scripts\utility::flag_set("flag_objective_swim_scene_complete"); + common_scripts\utility::flag_set("flag_objective_freerun_scene_start"); + if(var_00 == "old_town_freerun") + { + return; + } + + common_scripts\utility::flag_set("flag_objective_freerun_scene_complete"); + if(var_00 == "old_town_docks") + { + return; + } + + common_scripts\utility::flag_set("flag_objective_dock_scene_complete"); + if(var_00 == "boat_chase_start") + { + return; + } + + common_scripts\utility::flag_set("flag_objective_boat_chase_start"); + if(var_00 == "boat_chase_jump") + { + return; + } + + if(var_00 == "boat_chase_warbird") + { + return; + } + + if(var_00 == "boat_chase_mall") + { + return; + } + + if(var_00 == "boat_chase_crash") + { + return; + } + + common_scripts\utility::flag_set("flag_objective_boat_chase_complete"); + if(var_00 == "finale_climb") + { + return; + } + + common_scripts\utility::flag_set("flag_objective_climb_start"); + if(var_00 == "finale_roof") + { + return; + } + + if(var_00 == "finale_crates") + { + return; + } + + if(var_00 == "finale_skybridge") + { + return; + } + + common_scripts\utility::flag_set("flag_objective_climb_complete"); + if(var_00 == "finale_outro") + { + } +} + +//Function Number: 49 +objectives() +{ + setup_objective_flags(); + if(common_scripts\utility::flag("flag_objective_office_scene_follow_gideon_complete")) + { + objective_add(maps\_utility::obj("Follow Gideon"),"done",&"BETRAYAL_OBJ_FOLLOW_GIDEON"); + } + else + { + common_scripts\utility::flag_wait("flag_objective_office_scene_follow_gideon"); + objective_add(maps\_utility::obj("Follow Gideon"),"current",&"BETRAYAL_OBJ_FOLLOW_GIDEON",level.gideon.origin); + objective_onentity(maps\_utility::obj("Follow Gideon"),level.gideon); + common_scripts\utility::flag_wait("flag_objective_office_scene_follow_gideon_complete"); + maps\_utility::objective_complete(maps\_utility::obj("Follow Gideon")); + } + + if(common_scripts\utility::flag("flag_objective_escape_scene_complete")) + { + objective_add(maps\_utility::obj("Escape Atlas"),"done",&"BETRAYAL_OBJ_ESCAPE_ATLAS"); + } + else + { + common_scripts\utility::flag_wait("flag_objective_escape_scene_start"); + common_scripts\utility::run_thread_on_targetname("trigger_objective_escape_update_position",::objective_trigger_path_objective_updates,"Escape Atlas","flag_objective_escape_scene_complete",&"BETRAYAL_OBJ_ESCAPE_ATLAS"); + common_scripts\utility::flag_wait("flag_objective_escape_scene_complete"); + maps\_utility::objective_complete(maps\_utility::obj("Escape Atlas")); + } + + if(common_scripts\utility::flag("flag_objective_swim_scene_complete")) + { + objective_add(maps\_utility::obj("Sewer"),"done",&"BETRAYAL_OBJ_FOLLOW_ILONA"); + } + else + { + common_scripts\utility::flag_wait("flag_objective_swim_scene_start"); + common_scripts\utility::run_thread_on_targetname("trigger_objective_swim_update_position",::objective_trigger_path_objective_updates,"Sewer","flag_objective_swim_scene_complete",&"BETRAYAL_OBJ_FOLLOW_ILONA"); + common_scripts\utility::flag_wait("flag_objective_swim_scene_complete"); + maps\_utility::objective_complete(maps\_utility::obj("Sewer")); + } + + if(common_scripts\utility::flag("flag_objective_freerun_scene_complete")) + { + objective_add(maps\_utility::obj("Old Town"),"done",&"BETRAYAL_OBJ_ESCAPE_OLDTOWN"); + } + else + { + common_scripts\utility::flag_wait("flag_objective_freerun_scene_start"); + objective_add(maps\_utility::obj("Old Town"),"current",&"BETRAYAL_OBJ_ESCAPE_OLDTOWN"); + objective_onentity(maps\_utility::obj("Old Town"),level.ilana); + common_scripts\utility::run_thread_on_targetname("trigger_objective_freerun_update_position",::objective_trigger_path_objective_updates,"Old Town","flag_objective_freerun_scene_complete"); + common_scripts\utility::flag_wait("flag_objective_freerun_scene_complete"); + maps\_utility::objective_complete(maps\_utility::obj("Old Town")); + } + + if(common_scripts\utility::flag("flag_objective_dock_scene_complete")) + { + objective_add(maps\_utility::obj("Mech"),"done",&"BETRAYAL_OBJ_KILL_MECH"); + } + else + { + common_scripts\utility::flag_wait("flag_objective_dock_scene_start"); + objective_add(maps\_utility::obj("Mech"),"current",&"BETRAYAL_OBJ_KILL_MECH"); + objective_onentity(maps\_utility::obj("Mech"),level.dock_mech); + objective_setpointertextoverride(maps\_utility::obj("Mech"),&"BETRAYAL_DESTROY"); + common_scripts\utility::flag_wait("flag_objective_dock_scene_complete"); + maps\_utility::objective_complete(maps\_utility::obj("Mech")); + } + + if(common_scripts\utility::flag("flag_objective_boat_chase_complete")) + { + objective_add(maps\_utility::obj("Boat"),"done",&"BETRAYAL_OBJ_BOAT_GOAL"); + } + else + { + wait(0.05); + objective_add(maps\_utility::obj("Boat"),"current",&"BETRAYAL_OBJ_BOAT_GOAL"); + if(!common_scripts\utility::flag("flag_objective_boat_chase_start")) + { + while(!isdefined(level.obj_get_in_org)) + { + wait(0.05); + } + + objective_position(maps\_utility::obj("Boat"),level.obj_get_in_org); + objective_setpointertextoverride(maps\_utility::obj("Boat"),&"BETRAYAL_BOAT_ENTER"); + } + + common_scripts\utility::run_thread_on_targetname("trigger_objective_boat_update_position",::objective_trigger_path_objective_updates,"Boat","flag_objective_boat_chase_complete"); + common_scripts\utility::flag_wait("flag_objective_boat_chase_complete"); + maps\_utility::objective_complete(maps\_utility::obj("Boat")); + } + + if(common_scripts\utility::flag("flag_objective_climb_complete")) + { + objective_add(maps\_utility::obj("Climb"),"done",&"BETRAYAL_OBJ_CLIMB_EXTRACTION"); + return; + } + + common_scripts\utility::flag_wait("flag_objective_climb_start"); + common_scripts\utility::run_thread_on_targetname("trigger_objective_climb_update_position",::objective_trigger_path_objective_updates,"Climb","flag_objective_climb_start_crane",&"BETRAYAL_OBJ_CLIMB_EXTRACTION"); + common_scripts\utility::flag_wait("flag_objective_climb_start_crane"); + setsaveddvar("compass","0"); + common_scripts\utility::flag_wait("flag_climb_player_started_moving"); + var_00 = maps\betrayal_util::get_ent_by_targetname("origin_button_crane_dismount"); + objective_position(maps\_utility::obj("Climb"),var_00.origin); + objective_setpointertextoverride(maps\_utility::obj("Climb"),&"BETRAYAL_MANTLE"); + setsaveddvar("compass","1"); + common_scripts\utility::flag_wait("flag_objective_climb_complete"); + maps\_utility::objective_complete(maps\_utility::obj("Climb")); +} + +//Function Number: 50 +objective_trigger_path_objective_updates(param_00,param_01,param_02) +{ + level endon(param_01); + if(!isdefined(level.objective_state_tracker)) + { + level.objective_state_tracker = []; + } + + if(!isdefined(level.objective_state_tracker[param_00])) + { + if(isdefined(param_02)) + { + level.objective_state_tracker[param_00] = "none"; + } + else + { + level.objective_state_tracker[param_00] = "current"; + } + } + + self waittill("trigger"); + var_03 = maps\betrayal_util::get_ent_by_targetname(self.target); + if(isdefined(var_03)) + { + if(isdefined(self.script_noteworthy)) + { + if(self.script_noteworthy == "climbing_wait") + { + maps\betrayal_util::waittill_player_exo_climbing(); + } + + if(self.script_noteworthy == "climbing_not_wait") + { + maps\betrayal_util::waittill_player_not_exo_climbing(); + } + } + + if(isdefined(self.script_flag_wait)) + { + setsaveddvar("compass","0"); + common_scripts\utility::flag_wait(self.script_flag_wait); + } + + if(level.objective_state_tracker[param_00] == "none") + { + objective_add(maps\_utility::obj(param_00),"current",param_02); + level.objective_state_tracker[param_00] = "current"; + } + + objective_position(maps\_utility::obj(param_00),var_03.origin); + wait(0.1); + setsaveddvar("compass","1"); + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "jump") + { + objective_setpointertextoverride(maps\_utility::obj(param_00),&"BETRAYAL_MANTLE"); + } + else if(isdefined(self.script_noteworthy) && self.script_noteworthy == "climb") + { + objective_setpointertextoverride(maps\_utility::obj(param_00),&"BETRAYAL_CLIMB"); + } + else if(isdefined(self.script_noteworthy) && self.script_noteworthy == "open") + { + objective_setpointertextoverride(maps\_utility::obj(param_00),&"BETRAYAL_OPEN"); + } + else + { + objective_setpointertextoverride(maps\_utility::obj(param_00)); + } + } + + self delete(); +} + +//Function Number: 51 +setupbetrayalportalscripting() +{ + if(level.nextgen) + { + var_00 = getent("portalGrp_betrayal_start2","targetname"); + var_01 = getent("portalGrp_betrayal_start3","targetname"); + var_02 = getentarray("trigger_boat_raise_canal_blocker","targetname"); + var_03 = getent("betrayal_river_out","targetname"); + var_04 = ""; + foreach(var_06 in var_02) + { + if(var_06.target == "boat_blast_doors_2") + { + var_04 = var_06; + } + } + + thread boat_portal_tigger_on(var_04,var_03,var_00,var_01); + var_00 enableportalgroup(1); + var_01 enableportalgroup(1); + thread maps\_shg_utility::portal_group_off("portalGrp_betrayal_start","portalGrp_betrayal_start2"); + thread maps\_shg_utility::portal_group_off("portalGrp_betrayal_start","portalGrp_betrayal_start3"); + } +} + +//Function Number: 52 +boat_portal_tigger_on(param_00,param_01,param_02,param_03) +{ + for(;;) + { + param_00 waittill("trigger"); + common_scripts\utility::flag_set("portalGrp_betrayal_start"); + param_01 waittill("trigger"); + param_02 enableportalgroup(1); + param_03 enableportalgroup(1); + } +} \ No newline at end of file diff --git a/AW/PC/maps/betrayal_anim.gsc b/AW/PC/maps/betrayal_anim.gsc new file mode 100644 index 0000000..22ae005 --- /dev/null +++ b/AW/PC/maps/betrayal_anim.gsc @@ -0,0 +1,651 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: betrayal_anim.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 17 + * Decompile Time: 273 ms + * Timestamp: 4/22/2024 2:25:04 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(level.nextgen) + { + anim.forced_s1_motionset = 1; + } + + load_player_anims(); + load_actor_anims(); + load_vehicle_anims(); + load_prop_anims(); + maps\_patrol_anims_creepwalk::main(); + maps\_patrol_anims_patroljog::main(); + maps\_patrol_anims_active::main(); + maps\_patrol_anims_casualkiller::main(); + maps\_patrol_anims::main(); +} + +//Function Number: 2 +load_player_anims() +{ + level.scr_animtree["player_rig"] = #animtree; + level.scr_model["player_rig"] = "viewbody_atlas_military_smp"; + level.scr_anim["player_rig"]["intro"] = %bet_intro_vm; + maps\_anim::addnotetrack_customfunction("player_rig","fov_swap",::change_fov_back_to_65,"intro"); + level.scr_anim["player_rig"]["confrontation_pt2"] = %bet_confrontation_pt2_vm; + maps\_anim::addnotetrack_customfunction("player_rig","rumble_medium",::simple_player_rumble_medium,"confrontation_pt2"); + level.scr_anim["player_rig"]["confrontation_pt2_pause"] = %bet_confrontation_pt2_idle_vm; + level.scr_anim["player_rig"]["escape_pt1"] = %bet_escape_pt1_vm; + maps\_anim::addnotetrack_customfunction("player_rig","start_success_window",::maps\betrayal_code::confrontation_scene_escape_qte_kick,"escape_pt1"); + level.scr_anim["player_rig"]["escape_pt1_fail"] = %bet_escape_pt1_fail_vm; + maps\_anim::addnotetrack_customfunction("player_rig","mission_fail",::maps\betrayal_code::confrontation_scene_escape_qte_fail,"escape_pt1_fail"); + level.scr_anim["player_rig"]["escape_pt2"] = %bet_escape_pt2_vm; + maps\_anim::addnotetrack_customfunction("player_rig","rumble_medium",::simple_player_rumble_medium,"escape_pt2"); + maps\_anim::addnotetrack_customfunction("player_rig","raise_gun",::maps\betrayal_code::confrontation_scene_escape_qte_raise_gun,"escape_pt2"); + level.scr_anim["player_rig"]["elevator_climb_dismount"] = %bet_elevator_exoclimb_dismount_vm; + level.scr_anim["player_rig"]["tower_climb_dismount"] = %vm_exoclimb_dismount_down; + level.scr_anim["player_rig"]["roof_slide"] = %bet_rooftop_slide_vm; + maps\_anim::addnotetrack_customfunction("player_rig","fx_glass_impact",::maps\betrayal_fx::vm_glass_impact,"roof_slide"); + maps\_anim::addnotetrack_customfunction("player_rig","water_splash",::maps\betrayal_fx::vm_water_impact,"roof_slide"); + maps\_anim::addnotetrack_customfunction("player_rig","water_splash",::maps\betrayal_code::roof_scene_hide_rig,"roof_slide"); + maps\_anim::addnotetrack_customfunction("player_rig","viewmodel_medium",::simple_player_rumble_medium,"roof_slide"); + maps\_anim::addnotetrack_customfunction("player_rig","viewmodel_large",::simple_player_rumble_heavy,"roof_slide"); + level.scr_anim["player_rig"]["boat_getin"] = %bet_boat_chase_enter_vm; + level.scr_anim["grapple_launcher"]["boat_getin"] = %bet_boat_chase_enter_grapple; + maps\_anim::addnotetrack_customfunction("player_rig","grapple_arm_swap",::maps\betrayal_code::boat_scene_swap_to_grapple_body,"boat_getin"); + maps\_anim::addnotetrack_customfunction("player_rig","rumble_small",::simple_player_rumble_light,"boat_getin"); + maps\_anim::addnotetrack_customfunction("player_rig","rumble_medium",::simple_player_rumble_medium,"boat_getin"); + level.scr_animtree["player_rig_grapple"] = #animtree; + level.scr_model["player_rig_grapple"] = "viewbody_atlas_military_smp_grapple"; + level.scr_anim["player_rig_grapple"]["boat_crash"] = %bet_boat_crash_vm; + maps\_anim::addnotetrack_customfunction("player_rig_grapple","black_out",::maps\betrayal_code::boat_scene_crash_moment_whiteout,"boat_crash"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","black_out",::maps\betrayal_fx::vm_boat_crash_se_whiteout,"boat_crash"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","rumble_large",::simple_player_rumble_heavy,"boat_crash"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","rumble_small",::simple_player_rumble_light,"boat_crash"); + level.scr_anim["player_rig_grapple"]["boat_getout"] = %bet_boat_exit_vm; + maps\_anim::addnotetrack_customfunction("player_rig_grapple","start_action",::maps\betrayal_code::climb_scene_start_action,"boat_getout"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","rumble_small",::simple_player_rumble_light,"boat_getout"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","rumble_medium",::simple_player_rumble_medium,"boat_getout"); + level.scr_anim["player_rig_grapple"]["crane_mount"] = %bet_finale_mag_mount_walkway_to_crane_vm; + maps\_anim::addnotetrack_customfunction("player_rig_grapple","grab_rumble",::maps\betrayal_code::climb_scene_crane_grab_rumble,"crane_mount"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","grab_shake",::maps\betrayal_code::climb_scene_crane_grab_shake,"crane_mount"); + level.scr_anim["player_rig_grapple"]["left_move"] = %bet_exo_crane_climb_l_grab_vm; + maps\_anim::addnotetrack_customfunction("player_rig_grapple","plant_left_hand",::maps\betrayal_code::climb_scene_crane_move_rumble,"left_move"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","plant_left_hand",::maps\betrayal_code::climb_scene_crane_move_shake,"left_move"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","allow_player_input",::maps\betrayal_code::climb_scene_crane_allow_input,"left_move"); + level.scr_anim["player_rig_grapple"]["right_move"] = %bet_exo_crane_climb_r_grab_vm; + maps\_anim::addnotetrack_customfunction("player_rig_grapple","plant_right_hand",::maps\betrayal_code::climb_scene_crane_move_rumble,"right_move"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","plant_right_hand",::maps\betrayal_code::climb_scene_crane_move_shake,"right_move"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","allow_player_input",::maps\betrayal_code::climb_scene_crane_allow_input,"right_move"); + level.scr_anim["player_rig_grapple"]["left_idle"][0] = %bet_exo_crane_climb_l_idle_vm; + level.scr_anim["player_rig_grapple"]["right_idle"][0] = %bet_exo_crane_climb_r_idle_vm; + level.scr_anim["player_rig_grapple"]["crane_to_final"] = %bet_finale_mag_mount_crane_to_rooftop_vm; + maps\_anim::addnotetrack_customfunction("player_rig_grapple","vfx_vm_land_edge",::maps\betrayal_fx::vfx_vm_land_crane_edge,"crane_to_final"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","rumble_large",::simple_player_rumble_heavy,"crane_to_final"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","rumble_medium",::simple_player_rumble_medium,"crane_to_final"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","rumble_small",::simple_player_rumble_light,"crane_to_final"); + level.scr_anim["player_rig_grapple"]["finale_scene"] = %bet_finale_vm; + maps\_anim::addnotetrack_customfunction("player_rig_grapple","vfx_vm_land_roof",::maps\betrayal_fx::vfx_vm_land_roof,"finale_scene"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","vfx_vm_land_roof_hands",::maps\betrayal_fx::vfx_vm_land_roof_hands,"finale_scene"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","fade_out",::maps\betrayal_code::climb_scne_finale_fade_out,"finale_scene"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","hide_viewbody",::maps\betrayal_code::climb_scne_finale_hide_body,"finale_scene"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","vfx_vm_land_roof",::simple_player_rumble_heavy,"finale_scene"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","vfx_vm_land_roof_hands",::simple_player_rumble_heavy,"finale_scene"); + level.scr_animtree["player_hands"] = #animtree; + level.scr_model["player_hands"] = "viewhands_atlas_military_smp"; + level.scr_anim["player_hands"]["sewer_grate_open"] = %bet_sewer_climb_out_sewer_grate_vm; + maps\_anim::addnotetrack_customfunction("player_hands","teleport_ilona",::maps\betrayal_code::sewer_scene_teleport_ilona_to_sewer_exit,"sewer_grate_open"); + maps\_anim::addnotetrack_customfunction("player_hands","rumble_medium",::simple_player_rumble_medium,"sewer_grate_open"); + maps\_anim::addnotetrack_customfunction("player_hands","rumble_small",::simple_player_rumble_light,"sewer_grate_open"); +} + +//Function Number: 3 +load_actor_anims() +{ + level.scr_anim["gideon"]["intro"] = %bet_intro_gideon; + level.scr_anim["generic"]["patrol_walk_casual_urgent"][0] = %bet_unarmed_casual_walk01_gideon; + level.scr_anim["generic"]["patrol_walk_casual_urgent"][1] = %bet_casual_gestures_talk01_gideon; + level.scr_anim["generic"]["patrol_walk_casual_urgent"][2] = %bet_casual_gestures_talk02_gideon; + level.scr_anim["generic"]["patrol_walk_casual_urgent"][3] = %bet_casual_gestures_talk03_gideon; + var_00 = []; + var_00[0] = 7; + var_00[1] = 1; + var_00[2] = 1; + var_00[3] = 1; + level.scr_anim["generic"]["patrol_walk_weights_casual_urgent"] = common_scripts\utility::get_cumulative_weights(var_00); + level.scr_anim["generic"]["patrol_transin_casual_urgent"] = %bet_casual_startstop_walk_to_idle_gideon; + level.scr_anim["generic"]["patrol_transout_casual_urgent"] = %bet_casual_startstop_idle_to_walk_gideon; + level.scr_anim["generic"]["patrol_idle_casual_urgent"][0] = %bet_casual_startstop_idle_gideon; + level.scr_anim["generic"]["patrol_walk_gunsearch"][0] = %payback_search_walk_1; + level.scr_anim["generic"]["patrol_walk_gunsearch"][1] = %payback_search_walk_2; + level.scr_anim["generic"]["patrol_walk_casual"][0] = %patrol_bored_patrolwalk; + level.scr_anim["generic"]["patrol_walk_unaware"][0] = %civilian_walk_cool; + level.scr_anim["generic"]["patrol_idle_unaware"][0] = %civilian_stand_idle; + level.scr_anim["generic"]["patrol_walk_panic"][0] = %civilian_run_hunched_a; + level.scr_anim["generic"]["patrol_walk_panic"][1] = %civilian_run_hunched_c; + level.scr_anim["generic"]["patrol_walk_panic"][2] = %civilian_run_upright; + level.scr_anim["generic"]["patrol_idle_panic"][0] = %unarmed_crouch_idle1; + level.scr_anim["generic"]["patrol_idle_panic"][1] = %unarmed_cowercrouch_idle_duck; + level.scr_anim["generic"]["patrol_idle_panic"][2] = %unarmed_crouch_twitch1; + level.scr_anim["generic"]["patrol_idle_panic"][3] = %unarmed_cowerstand_pointidle; + level.scr_anim["generic"]["det_casual_walk_fast_burke"][0] = %det_casual_walk_fast_burke; + level.scr_anim["generic"]["bet_ceremony_security_idle_guy01"][0] = %bet_ceremony_security_idle_guy01; + level.scr_anim["generic"]["bet_ceremony_security_idle_guy01weight"][0] = 0.92; + level.scr_anim["generic"]["bet_ceremony_security_idle_guy01"][1] = %bet_ceremony_security_idle_twitch_a_guy01; + level.scr_anim["generic"]["bet_ceremony_security_idle_guy01weight"][1] = 0.02; + level.scr_anim["generic"]["bet_ceremony_security_idle_guy01"][2] = %bet_ceremony_security_idle_twitch_b_guy01; + level.scr_anim["generic"]["bet_ceremony_security_idle_guy01weight"][2] = 0.02; + level.scr_anim["generic"]["bet_ceremony_security_idle_guy01"][3] = %bet_ceremony_security_idle_twitch_c_guy01; + level.scr_anim["generic"]["bet_ceremony_security_idle_guy01weight"][3] = 0.02; + level.scr_anim["generic"]["bet_ceremony_security_idle_guy01"][4] = %bet_ceremony_security_idle_twitch_d_guy01; + level.scr_anim["generic"]["bet_ceremony_security_idle_guy01weight"][4] = 0.02; + level.scr_anim["generic"]["bet_ceremony_security_idle_guy02"][0] = %bet_ceremony_security_idle_guy02; + level.scr_anim["generic"]["bet_ceremony_security_idle_guy02weight"][0] = 0.91; + level.scr_anim["generic"]["bet_ceremony_security_idle_guy02"][1] = %bet_ceremony_security_idle_twitch_a_guy02; + level.scr_anim["generic"]["bet_ceremony_security_idle_guy02weight"][1] = 0.03; + level.scr_anim["generic"]["bet_ceremony_security_idle_guy02"][2] = %bet_ceremony_security_idle_twitch_c_guy02; + level.scr_anim["generic"]["bet_ceremony_security_idle_guy02weight"][2] = 0.03; + level.scr_anim["generic"]["bet_ceremony_security_idle_guy02"][3] = %bet_ceremony_security_idle_twitch_d_guy02; + level.scr_anim["generic"]["bet_ceremony_security_idle_guy02weight"][3] = 0.03; + level.scr_anim["business_civilian"]["idle_combat"][0] = %civilian_stand_idle; + level.scr_anim["business_civilian"]["idle_noncombat"][0] = %civilian_stand_idle; + level.scr_anim["business_civilian"]["run_noncombat"][0] = %civilian_walk_cool; + level.scr_anim["gideon"]["atlas_bldg_double_stairs"] = %bet_atlas_bldg_double_stairs_gideon; + level.scr_anim["gideon"]["atlas_bldg_swipe_door"] = %bet_confrontation_room_enter_gideon; + maps\_anim::addnotetrack_customfunction("gideon","card_swipe",::maps\betrayal_code::office_scene_open_swipe_door,"atlas_bldg_swipe_door"); + maps\_anim::addnotetrack_customfunction("gideon","fx_arm_scan",::maps\betrayal_fx::gideon_arm_scan,"atlas_bldg_swipe_door"); + level.scr_anim["gideon"]["confrontation_pt1"] = %bet_confrontation_pt1_gideon; + level.scr_anim["ilana"]["confrontation_pt1"] = %bet_confrontation_pt1_ilona; + level.scr_anim["irons"]["confrontation_pt1"] = %bet_confrontation_pt1_irons; + maps\_anim::addnotetrack_customfunction("ilana","fx_scrambler_light",::maps\betrayal_fx::scrambler_light,"confrontation_pt1"); + maps\_anim::addnotetrack_customfunction("irons","model_swap",::maps\betrayal_code::confrontation_scene_irons_no_gun,"confrontation_pt1"); + maps\_anim::addnotetrack_customfunction("irons","hologram_on",::show_hologram,"confrontation_pt1"); + maps\_anim::addnotetrack_customfunction("irons","fx_gun_shot",::maps\betrayal_fx::confrontation_irons_gun_shot,"confrontation_pt1"); + maps\_anim::addnotetrack_customfunction("ilana","fx_scrambler_light_off",::maps\betrayal_fx::scrambler_light_off,"confrontation_pt1"); + level.scr_anim["technologist"]["confrontation_pt1"] = %bet_confrontation_pt1_technician; + maps\_anim::addnotetrack_customfunction("technologist","hologram_on",::show_hologram,"confrontation_pt1"); + maps\_anim::addnotetrack_customfunction("technologist","fx_tech_blood",::maps\betrayal_fx::confrontation_tech_blood,"confrontation_pt1"); + level.scr_anim["guard1"]["confrontation_pt1"] = %bet_confrontation_pt1_guy01; + maps\_anim::addnotetrack_customfunction("guard1","door_open",::maps\betrayal_code::confrontation_scene_open_flashbang_door,"confrontation_pt1"); + level.scr_anim["gideon"]["confrontation_pt2"] = %bet_confrontation_pt2_gideon; + level.scr_anim["ilana"]["confrontation_pt2"] = %bet_confrontation_pt2_ilona; + level.scr_anim["irons"]["confrontation_pt2"] = %bet_confrontation_pt2_irons; + level.scr_anim["guard1"]["confrontation_pt2"] = %bet_confrontation_pt2_npc1; + level.scr_anim["guard2"]["confrontation_pt2"] = %bet_confrontation_pt2_npc2; + level.scr_anim["ilana"]["confrontation_pt2_pause"] = %bet_confrontation_pt2_idle_ilona; + level.scr_anim["guard1"]["confrontation_pt2_pause"] = %bet_confrontation_pt2_idle_npc1; + level.scr_anim["guard2"]["confrontation_pt2_pause"] = %bet_confrontation_pt2_idle_npc2; + level.scr_anim["ilana"]["escape_pt1_fail"] = %bet_escape_pt1_fail_ilona; + level.scr_anim["guard1"]["escape_pt1_fail"] = %bet_escape_pt1_fail_npc1; + level.scr_anim["guard2"]["escape_pt1_fail"] = %bet_escape_pt1_fail_npc2; + level.scr_anim["ilana"]["escape_pt1"] = %bet_escape_pt1_ilona; + level.scr_anim["guard1"]["escape_pt1"] = %bet_escape_pt1_npc1; + level.scr_anim["guard2"]["escape_pt1"] = %bet_escape_pt1_npc2; + maps\_anim::addnotetrack_customfunction("guard2","fx_pipe_burst",::maps\betrayal_fx::escape_sprinklers_on,"escape_pt1"); + level.scr_anim["ilana"]["escape_pt2"] = %bet_escape_pt2_ilona; + maps\_anim::addnotetrack_customfunction("ilana","start_success_window",::maps\betrayal_code::confrontation_scene_escape_qte_shoot,"escape_pt2"); + level.scr_anim["guard1"]["escape_pt2"] = %bet_escape_pt2_npc1; + maps\_anim::addnotetrack_customfunction("guard1","guard_dead",::maps\betrayal_code::confrontation_scene_escape_qte_kick_kill,"escape_pt2"); + level.scr_anim["guard2"]["escape_pt2"] = %bet_escape_pt2_npc2; + level.scr_anim["ilana"]["escape_pt3_fail"] = %bet_escape_pt3_fail_ilona; + maps\_anim::addnotetrack_customfunction("ilana","mission_fail",::maps\betrayal_code::confrontation_scene_escape_qte_fail,"escape_pt3_fail"); + level.scr_anim["guard2"]["escape_pt3_fail"] = %bet_escape_pt3_fail_npc2; + level.scr_anim["ilana"]["escape_pt3"] = %bet_escape_pt3_ilona; + maps\_anim::addnotetrack_customfunction("ilana","swap_gun_to_Ilona",::maps\betrayal_code::confrontation_scene_gun_swap,"escape_pt3"); + level.scr_anim["guard2"]["escape_pt3"] = %bet_escape_pt3_npc2; + level.scr_anim["ilana"]["react_to_opening_elevator_doors"] = %stand_cover_reaction_a; + level.scr_anim["ilana"]["roof_escape_fence_pull_back"] = %lag_pullbackfence_jump_burke_pt1; + level.scr_anim["roof_guard_1"]["roof_slide"] = %bet_rooftop_slide_guy_01; + maps\_anim::addnotetrack_customfunction("roof_guard_1","slomo_start",::maps\betrayal_code::roof_scene_slide_slomo_start,"roof_slide"); + maps\_anim::addnotetrack_customfunction("roof_guard_1","slomo_end",::maps\betrayal_code::roof_scene_slide_slomo_stop,"roof_slide"); + level.scr_anim["roof_guard_2"]["roof_slide"] = %bet_rooftop_slide_guy_02; + level.scr_anim["roof_guard_3"]["roof_slide"] = %bet_rooftop_slide_guy_03; + level.scr_anim["ilana"]["roof_slide"] = %bet_rooftop_slide_ilana; + maps\_anim::addnotetrack_customfunction("ilana","remove_collision_for_rooftop_shatter",::maps\betrayal_code::roof_scene_slide_remove_glass_blocker,"roof_slide"); + maps\_anim::addnotetrack_customfunction("ilana","raise_rooftop_gate",::maps\betrayal_code::roof_scene_slide_raise_gates,"roof_slide"); + maps\_anim::addnotetrack_customfunction("ilana","fx_glass_impact",::maps\betrayal_fx::ilana_glass_impact,"roof_slide"); + maps\_anim::addnotetrack_customfunction("ilana","fx_water_impact",::maps\betrayal_fx::ilana_water_impact,"roof_slide"); + level.scr_anim["flr2_set4_spawner1"]["boostjump_128_196up"] = %boost_jump_128_across_196_up; + level.scr_anim["generic"]["crouch_fast_gren"] = %s1_exposed_crouch_fast_grenade_2; + level.scr_anim["generic"]["exo_doorkick"] = %africa_soap_kickin_door; + maps\_anim::addnotetrack_notify("generic","door_open","door_smash_open","exo_doorkick"); + level.scr_anim["generic"]["civilian_texting_sitting"][0] = %civilian_texting_sitting; + level.scr_anim["generic"]["civilian_sitting_business_lunch_A_1"][0] = %civilian_sitting_business_lunch_a_1; + level.scr_anim["generic"]["civilian_sitting_business_lunch_B_1"][0] = %civilian_sitting_business_lunch_b_1; + level.scr_anim["generic"]["civilian_sitting_talking_A_1"][0] = %civilian_sitting_talking_a_1; + level.scr_anim["generic"]["civilian_sitting_talking_A_2"][0] = %civilian_sitting_talking_a_2; + level.scr_anim["generic"]["civilian_sitting_talking_B_1"][0] = %civilian_sitting_talking_b_1; + level.scr_anim["generic"]["civilian_sitting_talking_B_2"][0] = %civilian_sitting_talking_b_2; + level.scr_anim["generic"]["civilian_reader_1"][0] = %civilian_reader_1; + level.scr_anim["generic"]["civilian_reader_2"][0] = %civilian_reader_2; + level.scr_anim["generic"]["guardB_sit_drinker_idle"][0] = %guardb_sit_drinker_idle; + level.scr_anim["generic"]["london_civ_idle_lookover"][0] = %london_civ_idle_lookover; + level.scr_anim["generic"]["london_civ_idle_checkwatch"][0] = %london_civ_idle_checkwatch; + level.scr_anim["generic"]["london_civ_idle_lookbehind"][0] = %london_civ_idle_lookbehind; + level.scr_anim["generic"]["london_civ_idle_sneeze"][0] = %london_civ_idle_sneeze; + level.scr_anim["generic"]["london_civ_idle_foldarms2"][0] = %london_civ_idle_foldarms2; + level.scr_anim["generic"]["civilian_texting_standing"][0] = %civilian_texting_standing; + level.scr_anim["generic"]["civilian_stand_idle"][0] = %civilian_stand_idle; + level.scr_anim["generic"]["civilian_smoking_a"][0] = %civilian_smoking_a; + level.scr_anim["generic"]["civilian_smoking_b"][0] = %civilian_smoking_b; + level.scr_anim["generic"]["hijack_president_idle_panic_fidget_1"][0] = %hijack_president_idle_panic_fidget_1; + level.scr_anim["generic"]["unarmed_cowercrouch_idle_duck"][0] = %unarmed_cowercrouch_idle_duck; + level.scr_anim["generic"]["unarmed_crouch_idle1"][0] = %unarmed_crouch_idle1; + level.scr_anim["generic"]["unarmed_crouch_twitch1"][0] = %unarmed_crouch_twitch1; + level.scr_anim["generic"]["unarmed_scared_run"][0] = %unarmed_scared_run; + level.scr_anim["generic"]["turbine_elevator_enter"] = %fusion_lift_deploy_cover_right_enter; + level.scr_anim["cover_guy"]["cover_placement"] = %fusion_lift_deploy_cover_carter_enter; + level.scr_anim["left_guy"]["cover_placement"] = %fusion_lift_deploy_cover_left_enter; + level.scr_anim["generic"]["turbine_elevator_idle"][0] = %fusion_lift_deploy_cover_right_idle; + level.scr_anim["generic"]["turbine_elevator_idle"][0] = %fusion_lift_deploy_cover_carter_idle; + level.scr_anim["generic"]["turbine_elevator_idle"][0] = %fusion_lift_deploy_cover_left_idle; + level.scr_anim["generic"]["turbine_elevator_exit"] = %fusion_lift_deploy_cover_right_exit; + level.scr_anim["generic"]["turbine_elevator_exit"] = %fusion_lift_deploy_cover_carter_exit; + level.scr_anim["generic"]["turbine_elevator_exit"] = %fusion_lift_deploy_cover_left_exit; + level.scr_anim["generic"]["cabinet_pull"] = %bet_pulldown_cabinet_guy1; + level.scr_anim["dock_anim_jumper1"]["boost_jump_512_across_256_over"] = %boost_jump_512_across_256_over; + level.scr_anim["dock_anim_jumper2"]["boost_jump_512_across_64_over"] = %boost_jump_512_across_64_over; + level.scr_anim["dock_anim_jumper3"]["boost_jump_512_across_270_down"] = %boost_jump_512_across_270_down; + level.scr_anim["generic"]["civilian_stand_idle2"][0] = %hms_greece_market_civ_idle_02; + level.scr_anim["generic"]["civilian_stand_idle4"][0] = %hms_greece_market_civ_idle_04; + level.scr_anim["generic"]["civilian_stand_idle5"][0] = %london_civ_idle_foldarms2; + level.scr_anim["generic"]["civilian_stand_idle6"][0] = %london_station_civ1_idle; + level.scr_anim["generic"]["civilian_stand_idle7"][0] = %london_station_civ5_idle; + level.scr_anim["generic"]["civilian_stand_idle8"][0] = %london_station_civ7_idle; + level.scr_anim["generic"]["civilian_stand_idle9"][0] = %london_station_civ11_idle; + level.scr_anim["generic"]["civilian_stand_idle_male1"][0] = %london_civ_idle_foldarms_scratchass; + level.scr_anim["generic"]["civilian_walk1_male"][0] = %hms_greece_market_civ_walk_male_01; + level.scr_anim["generic"]["civilian_walk2_male"][0] = %hms_greece_market_civ_walk_slow_look_male_01; + level.scr_anim["generic"]["civilian_walk3_male"][0] = %hms_greece_market_civ_walk_slow_male_01; + level.scr_anim["generic"]["civilian_walk1_female"][0] = %hms_greece_market_civ_walk_slow_female_01; + level.scr_anim["generic"]["civilian_walk2_female"][0] = %hms_greece_market_civ_walk_slow_look_female_01; + level.scr_anim["generic"]["civilian_run1_male"][0] = %hms_greece_sniperscramble_droneflee_civ_m_02; + level.scr_anim["generic"]["civilian_run2_male"][0] = %hms_greece_sniperscramble_droneflee_civ_m_01; + level.scr_anim["generic"]["civilian_run3_male"][0] = %hms_greece_sniperscramble_droneflee_civ_m_03; + level.scr_anim["civilian_react"]["civilian_cower1_neutral"][0] = %hms_greece_alleys_civ_panic_ground_02_idle; + level.scr_anim["civilian_react"]["civilian_cower2_neutral"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["civilian_react"]["civilian_cower1_male"][0] = %hms_greece_trans_alley_civ_panic_pair_cov_loop_m; + level.scr_anim["civilian_react"]["civilian_cower1_female"][0] = %hms_greece_sni_scram_hothall_civ_idle_end_f_1; + level.scr_anim["civilian_react"]["bet_civilians_cowering_idle_01"][0] = %bet_civilians_cowering_idle_01; + level.scr_anim["civilian_react"]["bet_civilians_cowering_idle_02"][0] = %bet_civilians_cowering_idle_02; + level.scr_anim["civilian_react"]["bet_civilians_cowering_idle_03"][0] = %bet_civilians_cowering_idle_03; + level.scr_anim["civilian_react"]["bet_civilians_cowering_idle_04"][0] = %bet_civilians_cowering_idle_04; + level.scr_anim["civilian_react"]["bet_civilians_cowering_idle_05"][0] = %bet_civilians_cowering_idle_05; + level.scr_anim["civilian_react"]["bet_civilians_cowering_idle_06"][0] = %bet_civilians_cowering_idle_06; + level.scr_anim["generic"]["civilian_idle_film_phone"][0] = %hms_greece_trans_alley_civ_gawk_phone_mir; + level.scr_anim["civilian_react"]["civilian_react_to_cower1"] = %hms_greece_alleys_civ_panic_ground_01; + level.scr_anim["civilian_react"]["civilian_react_to_cower2"] = %hms_greece_alleys_civ_panic_ground_02; + level.scr_anim["civilian_react"]["civilian_react_stand2run1"] = %hms_greece_alleys_npc_civtd_civp2_02; + level.scr_anim["civilian_react"]["civilian_react_stand2run2"] = %hms_greece_trans_alley_cafe_civ_exit_04; + level.scr_anim["civilian_react"]["civilian_react_sit2run1"] = %hms_greece_trans_alley_cafe_civ_exit_02; + level.scr_anim["civilian_react"]["civilian_react_sit2run2"] = %hms_greece_trans_alley_cafe_civ_exit_03; + level.scr_anim["civilian_react"]["civilian_react_sit2run3"] = %hms_greece_trans_alley_cafe_civ_exit_05; + level.scr_anim["civilian_react"]["civilian_react_sit2run4"] = %hms_greece_trans_alley_cafe_civ_exit_06; + level.scr_anim["civilian_react"]["civilian_react_sit2run5"] = %hms_greece_trans_alley_cafe_civ_exit_07; + level.scr_anim["generic"]["civilian_sit_read1"][0] = %hms_greece_cafe_civ_sit_read_idle_01; + level.scr_anim["generic"]["civilian_sit_read2"][0] = %hms_greece_cafe_civ_sit_read_idlecrossed_01; + level.scr_anim["generic"]["civilian_sit_idle1"][0] = %hms_greece_market_fntn_civ_talk_npc; + level.scr_anim["generic"]["civilian_sit_idle3"][0] = %hms_greece_trans_alley_cafe_civ_idle_02; + level.scr_anim["generic"]["civilian_sit_idle4"][0] = %hms_greece_trans_alley_cafe_civ_idle_03; + level.scr_anim["generic"]["civilian_sit_idle5"][0] = %hms_greece_trans_alley_cafe_civ_idle_06; + level.scr_anim["generic"]["civilian_female_dodge_right"] = %hms_greece_market_civ_walk_dodge_r_female_02; + level.scr_anim["generic"]["civilian_transin_forward"] = %hms_greece_market_civ_idletrans_in_f; + level.scr_anim["generic"]["civilian_transin_left"] = %hms_greece_market_civ_idletrans_in_l; + level.scr_anim["generic"]["civilian_transin_right"] = %hms_greece_market_civ_idletrans_in_r; + level.scr_anim["generic"]["civilian_transout_backward"] = %hms_greece_market_civ_idletrans_out_b; + level.scr_anim["generic"]["civilian_transout_left"] = %hms_greece_market_civ_idletrans_out_l; + level.scr_anim["generic"]["civilian_transout_right"] = %hms_greece_market_civ_idletrans_out_r; + level.scr_anim["generic"]["bet_run_bang_door_guy2_loop"][0] = %bet_run_bang_door_guy2_loop; + level.scr_anim["generic"]["bet_run_bang_door_guy1_loop"][0] = %bet_run_bang_door_guy1_loop; + level.scr_anim["generic"]["bet_lobby_civ_sidestep_R"] = %bet_lobby_civ_sidestep_r; + level.scr_anim["generic"]["civilian_texting_standing"][0] = %civilian_texting_standing; + level.scr_anim["generic"]["civilian_crossedarms_stand_idle_2"][0] = %london_station_civ1_idle; + level.scr_anim["generic"]["civilian_sitting_talking_a_2"][0] = %civilian_sitting_talking_a_2; + level.scr_anim["generic"]["civilian_sitting_talking_b_1"][0] = %civilian_sitting_talking_b_1; + level.scr_anim["generic"]["civilian_sitting_talking_b_2"][0] = %civilian_sitting_talking_b_2; + level.scr_anim["generic"]["civilian_texting_sitting"][0] = %civilian_texting_sitting; + level.scr_anim["generic"]["civilian_directions_stand_idle"][0] = %civilian_directions_1_a; + level.scr_anim["civilian_react"]["civilian_directions_stand_idle_2"][0] = %civilian_directions_1_b; + level.scr_anim["generic"]["civilian_argue_stand_idle"][0] = %lag_lobby_securityguard_loop_guy2; + level.scr_anim["generic"]["civilian_smoking_leaning_idle"][0] = %parabolic_leaning_guy_smoking_idle; + level.scr_anim["civilian_react"]["civ_react_retreat_stand_to_run_1"] = %london_station_civ7_reaction; + level.scr_anim["civilian_react"]["civ_react_retreat_stand_to_crouch"] = %unarmed_cowerstand_react_2_crouch; + level.scr_anim["civilian_react"]["civ_react_retreat_stand_to_stand"] = %unarmed_cowerstand_react; + level.scr_anim["civilian_react"]["civ_react_cower_crouch_to_crouch"][0] = %unarmed_cowercrouch_idle_duck; + level.scr_anim["civilian_react"]["civ_react_crouch_idle"][0] = %casual_crouch_v2_idle; + level.scr_anim["civilian_react"]["civ_react_cower_hunch_to_hunch"][0] = %hijack_president_idle_panic_fidget_1; + level.scr_anim["civilian_react"]["civ_react_cower_crouch_to_crouch_2"][0] = %unarmed_crouch_idle1; + level.scr_anim["generic"]["civ_react_cower_crouch_to_crouch_2"][0] = %unarmed_crouch_idle1; + level.scr_anim["civilian_react"]["civ_react_handsup_stand_to_stand"][0] = %unarmed_cowerstand_pointidle; + level.scr_anim["civilian_react"]["civ_react_cower_crouch_to_crouch_3"][0] = %civilain_crouch_hide_idle_loop; + level.scr_anim["generic"]["civ_run_hunch1"][0] = %civilian_run_hunched_a; + level.scr_anim["generic"]["civ_run_stand1"][0] = %civilian_run_upright; + level.scr_anim["generic"]["civilian_crowd_walk_stand"][0] = %civilian_crowd_behavior_a; + level.scr_anim["generic"]["civilian_walk_nervous"][0] = %civilian_walk_nervous; + level.scr_anim["generic"]["civilian_walk_pda"][0] = %civilian_walk_pda; + level.scr_anim["generic"]["civilian_walk_hurried"][0] = %civilian_walk_hurried_1; + level.scr_anim["generic"]["civilian_male_walk_cool"][0] = %civilian_walk_cool; + level.scr_anim["atlas_guard_1"]["boost_jump_256_across_128_over"] = %boost_jump_256_across_128_over; + level.scr_anim["atlas_guard_2"]["boost_jump_256_across_128_over"] = %boost_jump_256_across_128_over; + level.scr_anim["atlas_guard_3"]["boost_jump_256_across_128_over"] = %boost_jump_256_across_128_over; + level.scr_anim["atlas_guard_4"]["boost_jump_256_across_128_over"] = %boost_jump_256_across_128_over; + level.scr_anim["atlas_guard_1"]["boost_jump_256_across_384_down_variation"] = %boost_jump_256_across_384_down_variation; + level.scr_anim["atlas_guard_2"]["boost_jump_256_across_384_down_variation"] = %boost_jump_256_across_384_down_variation; + level.scr_anim["atlas_guard_3"]["boost_jump_256_across_384_down_variation"] = %boost_jump_256_across_384_down_variation; + level.scr_anim["atlas_guard_4"]["boost_jump_256_across_384_down_variation"] = %boost_jump_256_across_384_down_variation; + level.scr_anim["scripted"]["civilian_texting_standing"][0] = %civilian_texting_standing; + level.scr_anim["scripted"]["civilian_stand_idle"][0] = %civilian_stand_idle; + level.scr_anim["scripted"]["civilian_crossedarms_stand_idle_2"][0] = %london_station_civ1_idle; + level.scr_anim["scripted"]["civilian_smoking_stand_idle"][0] = %civilian_smoking_a; + level.scr_anim["scripted"]["civilian_smoking_stand_idle_2"][0] = %civilian_smoking_b; + level.scr_anim["scripted"]["civilian_directions_stand_idle"][0] = %civilian_directions_1_a; + level.scr_anim["scripted"]["civilian_directions_stand_idle_2"][0] = %civilian_directions_1_b; + level.scr_anim["scripted"]["civ_react_retreat_stand_to_run_1"] = %london_station_civ7_reaction; + level.scr_anim["scripted"]["civ_react_retreat_stand_to_run_2"] = %london_station_civ6_reaction; + level.scr_anim["scripted"]["civ_react_retreat_stand_to_crouch"] = %unarmed_cowerstand_react_2_crouch; + level.scr_anim["scripted"]["civ_react_retreat_stand_to_hunch"] = %london_station_civ9a_reaction; + level.scr_anim["scripted"]["civ_react_retreat_stand_to_hunch_2"] = %london_station_civ9b_reaction; + level.scr_anim["scripted"]["civ_react_handsup"] = %unarmed_cowerstand_idle2point; + level.scr_anim["scripted"]["civ_react_handsup_idle"][0] = %unarmed_cowerstand_pointidle; + level.scr_anim["scripted"]["civ_react_handsup_stand_to_stand_2"] = %unarmed_cowerstand_idle2point; + level.scr_anim["scripted"]["civ_react_cower_crouch_to_crouch"][0] = %unarmed_cowercrouch_idle_duck; + level.scr_anim["scripted"]["civ_react_crouch_idle"][0] = %casual_crouch_v2_idle; + level.scr_anim["scripted"]["civ_react_cower_hunch_to_hunch"][0] = %hijack_president_idle_panic_fidget_1; + level.scr_anim["scripted"]["civ_react_cower_crouch_to_crouch_2"][0] = %unarmed_crouch_idle1; + level.scr_anim["scripted"]["civ_react_handsup_stand_to_stand"][0] = %unarmed_cowerstand_pointidle; + level.scr_anim["scripted"]["civ_react_cower_crouch_to_crouch_3"][0] = %civilain_crouch_hide_idle_loop; + level.scr_anim["scripted"]["civ_walking_relative_idle"] = %civilian_walk_hurried_1; + level.scr_anim["scripted"]["ny_manhattan_radio_sandman_talk"] = %ny_manhattan_radio_sandman_talk; + level.scr_anim["scripted"]["soldier_drone_standing_gun_raised_idle"][0] = %stinger_idle; + level.scr_anim["scripted"]["soldier_drone_walk_to_and_point"] = %mob2_arc_e; + level.scr_anim["scripted"]["soldier_walk_and_direct"] = %casual_killer_walk_wave; + level.scr_anim["scripted"]["soldier_walk"] = %lab_breachroom_hazmat_walk_guy1; + level.scr_anim["ilana"]["ilona_transition_to_walk"] = %seo_react_to_war_run_2_idle; + level.scr_anim["ilana"]["ilona_react_to_drone"] = %berlin_delta_react_to_falling_debris_1; + level.scr_anim["ilana"]["ilona_turn_90r_to_watch"] = %training_intro_foley_turnaround_1; + level.scr_anim["ilana"]["boat_getout"] = %bet_boat_exit_ilana; + level.scr_anim["cormack"]["finale_scene"] = %bet_finale_cormack; + maps\_anim::addnotetrack_customfunction("cormack","decloak",::finale_cloak_off,"finale_scene"); + level.scr_anim["gideon"]["finale_scene"] = %bet_finale_gideon; + maps\_anim::addnotetrack_customfunction("gideon","vfx_warbird_approach_dust",::maps\betrayal_fx::vfx_warbird_dust_roof,"finale_scene"); + maps\_anim::addnotetrack_customfunction("gideon","vfx_gideon_land_roof",::maps\betrayal_fx::vfx_gideon_land_roof,"finale_scene"); + level.scr_anim["ilana"]["finale_scene"] = %bet_finale_ilana; + maps\_anim::addnotetrack_customfunction("ilana","vfx_ilana_land_rooftop",::maps\betrayal_fx::vfx_ilana_land_roof,"finale_scene"); + level.scr_anim["joker"]["finale_scene"] = %bet_finale_joker; + maps\_anim::addnotetrack_customfunction("joker","vfx_joker_land_roof",::maps\betrayal_fx::vfx_joker_land_roof,"finale_scene"); + level.scr_anim["sentinel1"]["finale_scene"] = %bet_finale_sentinel_1; + maps\_anim::addnotetrack_customfunction("sentinel1","decloak",::finale_cloak_off,"finale_scene"); + level.scr_anim["sentinel2"]["finale_scene"] = %bet_finale_sentinel_2; + maps\_anim::addnotetrack_customfunction("sentinel2","decloak",::finale_cloak_off,"finale_scene"); +} + +//Function Number: 4 +load_vehicle_anims() +{ + level.scr_anim["warbird"]["finale_scene"] = %bet_finale_warbird; + level.scr_animtree["player_boat"] = #animtree; + level.scr_model["player_boat"] = "vehicle_mil_atlas_speedboat_glass_cracked_ai"; + level.scr_anim["player_boat"]["boat_getin"] = %bet_boat_chase_enter_boat; + level.scr_anim["player_boat"]["boat_crash"] = %bet_boat_crash_boat; + maps\_anim::addnotetrack_customfunction("player_boat","hit_scaffolding",::boat_crash_break_glass,"boat_crash"); + maps\_anim::addnotetrack_customfunction("player_boat","hit_building",::boat_crash_break_glass,"boat_crash"); + level.scr_anim["player_boat"]["boat_getout"] = %bet_boat_exit_boat; +} + +//Function Number: 5 +load_prop_anims() +{ + level.scr_animtree["jammer"] = #animtree; + level.scr_model["jammer"] = "lag_harmonic_breach_device"; + level.scr_anim["jammer"]["confrontation_pt1"] = %bet_confrontation_pt1_jammer; + level.scr_animtree["irons_chair"] = #animtree; + level.scr_model["irons_chair"] = "dem_irons_chair_01_cloaktrans"; + level.scr_anim["irons_chair"]["confrontation_pt1"] = %bet_confrontation_pt1_chair_irons; + maps\_anim::addnotetrack_customfunction("irons_chair","hologram_on",::show_hologram,"confrontation_pt1"); + level.scr_animtree["guest_chair"] = #animtree; + level.scr_model["guest_chair"] = "dem_irons_guest_chair_01_rig_cloaktrans"; + level.scr_anim["guest_chair"]["confrontation_pt1"] = %bet_confrontation_pt1_chair_technician; + maps\_anim::addnotetrack_customfunction("guest_chair","hologram_on",::show_hologram,"confrontation_pt1"); + level.scr_animtree["flash_bang"] = #animtree; + level.scr_model["flash_bang"] = "npc_flash_grenade"; + level.scr_anim["flash_bang"]["confrontation_pt1"] = %bet_confrontation_pt1_flash_grenade; + maps\_anim::addnotetrack_customfunction("flash_bang","explode_flash",::maps\betrayal_code::confrontation_scene_flashbang_explode,"confrontation_pt1"); + maps\_anim::addnotetrack_customfunction("flash_bang","explode_flash",::maps\betrayal_fx::confrontation_flashbang,"confrontation_pt1"); + level.scr_animtree["player_pistol"] = #animtree; + level.scr_model["player_pistol"] = "vm_titan45_nocamo"; + level.scr_anim["player_pistol"]["confrontation_pt2"] = %bet_confrontation_pt2_pistol; + level.scr_animtree["roof_escape_fence"] = #animtree; + level.scr_anim["roof_escape_fence"]["roof_escape_fence_pull_back"] = %lag_pullbackfence_jump_fence_pt1; + maps\_anim::addnotetrack_customfunction("roof_escape_fence","fence_dust",::maps\betrayal_fx::pull_fence_dust,"roof_escape_fence_pull_back"); + level.scr_animtree["sewer_lid"] = #animtree; + level.scr_model["sewer_lid"] = "btr_sewer_cover_01_rig"; + level.scr_anim["sewer_lid"]["sewer_grate_open"] = %bet_sewer_climb_out_sewer_grate_lid; + level.scr_animtree["deployable_cover"] = #animtree; + level.scr_model["deployable_cover"] = "deployable_cover"; + level.scr_anim["deployable_cover"]["deployable_cover_deploy"] = %fusion_lift_deploy_cover_deployable_cover_prop_enter; + level.scr_anim["deployable_cover"]["deployable_cover_closed_idle"] = %fusion_lift_deploy_cover_idle_closed; + level.scr_anim["deployable_cover"]["deployable_cover_open_idle"] = %fusion_lift_deploy_cover_idle_opened; + level.scr_animtree["cabinet_org"] = #animtree; + level.scr_model["cabinet_org"] = "genericprop"; + level.scr_anim["cabinet_org"]["cabinet_pull"] = %bet_pulldown_cabinet_cabinet; + level.scr_anim["construction_crate"]["crate_corner_left"] = %bet_crate_corner_left; + level.scr_anim["construction_crate"]["crate_corner_right"] = %bet_crate_corner_right; + level.scr_animtree["finale_crate_ext"] = #animtree; + level.scr_model["finale_crate_ext"] = "btr_construction_crate_with_door_anim_01_exterior"; + level.scr_anim["finale_crate_ext"]["finale_scene"] = %bet_finale_crate; + level.scr_animtree["finale_crate_int"] = #animtree; + level.scr_model["finale_crate_int"] = "btr_construction_crate_with_door_anim_01_interior"; + level.scr_anim["finale_crate_int"]["finale_scene"] = %bet_finale_crate; +} + +//Function Number: 6 +simple_player_rumble_heavy(param_00) +{ + level.player playrumbleonentity("grenade_rumble"); +} + +//Function Number: 7 +simple_player_rumble_medium(param_00) +{ + level.player playrumbleonentity("damage_heavy"); +} + +//Function Number: 8 +simple_player_rumble_light(param_00) +{ + level.player playrumbleonentity("damage_light"); +} + +//Function Number: 9 +boat_crash_break_glass(param_00) +{ + glassradiusdamage(level.player.origin,125,50,50); +} + +//Function Number: 10 +change_fov_back_to_65(param_00) +{ + level.player lerpfov(65,0.6); +} + +//Function Number: 11 +finale_cloak_off(param_00) +{ + param_00 thread cloak_off(); +} + +//Function Number: 12 +show_hologram(param_00) +{ + param_00 show(); + param_00 dontcastshadows(); + thread show_hologram_reveal(param_00); +} + +//Function Number: 13 +show_hologram_reveal(param_00) +{ + var_01 = 57; + if(!isdefined(level.confrontation_holo)) + { + level.confrontation_holo = []; + } + + if(param_00.model == "dem_irons_chair_01_cloaktrans") + { + level.confrontation_holo[level.confrontation_holo.size] = param_00; + thread maps\betrayal_code::confrontation_static_start(); + wait(0.05); + param_00 setmaterialscriptparam(0,0); + wait(0.05); + param_00 setmaterialscriptparam(1,3); + param_00 hudoutlineenable(0,1); + wait(var_01); + param_00 setmaterialscriptparam(0,1); + wait(1); + param_00 hide(); + } + + if(param_00.model == "dem_irons_guest_chair_01_rig_cloaktrans") + { + level.confrontation_holo[level.confrontation_holo.size] = param_00; + wait(0.05); + param_00 setmaterialscriptparam(0,0); + wait(0.05); + param_00 setmaterialscriptparam(1,3); + param_00 hudoutlineenable(0,1); + wait(var_01); + param_00 setmaterialscriptparam(0,1); + wait(1); + param_00 hide(); + } + + if(param_00.model == "irons_casual") + { + level.confrontation_holo[level.confrontation_holo.size] = param_00; + param_00 overridematerial("mtl_irons_casual_upperbody_skin","mtl_irons_casual_upperbody_skin_cloak"); + param_00 overridematerial("mtl_irons_casual_upperbody","mtl_irons_casual_upperbody_cloak"); + param_00 overridematerial("mtl_irons_casual_lowerbody","mtl_irons_casual_lowerbody_cloak"); + param_00 overridematerial("mtl_irons_casual_loadouts","mtl_irons_casual_loadouts_cloak"); + param_00 overridematerial("mtl_faceitem_tongue","mtl_faceitem_tongue_cloak"); + param_00 overridematerial("mtl_faceitems_teeth","mtl_faceitems_teeth_cloak"); + param_00 overridematerial("mtl_eyebrow_burke","mtl_eyebrow_burke_cloak"); + param_00 overridematerial("mtl_faceitem_eyelash_irons","mtl_faceitem_eyelash_irons_cloak"); + if(level.nextgen) + { + param_00 overridematerial("mtl_irons_eye_shader_r","mtl_irons_eye_shader_r_cloak"); + param_00 overridematerial("mtl_irons_eye_shader_l","mtl_irons_eye_shader_l_cloak"); + } + else + { + param_00 overridematerial("mtl_eyeball_irons_cg","mtl_eyeball_irons_cg_cloak"); + param_00 overridematerial("mtl_irons_head_wrinkle_tns","mtl_irons_head_wrinkle_tns_cloak"); + } + + param_00 overridematerial("mtl_mp443_base","mtl_mp443_base_cloak"); + param_00 overridematerial("mtl_iron_sights_color","mtl_mp443_base_nocamo_cloaktrans"); + param_00 overridematerial("mtl_caddy_pistol_small","mtl_caddy_pistol_small_cloak"); + param_00 overridematerial("mtl_range_pistol_small_01a","mtl_mp443_base_nocamo_cloaktrans"); + wait(0.05); + param_00 setmaterialscriptparam(0,0); + wait(0.05); + param_00 setmaterialscriptparam(1,3); + param_00 hudoutlineenable(0,1); + wait(var_01); + param_00 setmaterialscriptparam(0,1); + wait(0.5); + param_00 hide(); + thread maps\betrayal_code::confrontation_hudoutline_cleanup(); + thread maps\betrayal_fx::confrontation_fx_cleanup(); + } + + if(param_00.model == "civ_urban_male_body_f") + { + level.confrontation_holo[level.confrontation_holo.size] = param_00; + param_00 setmodel("dr_mwi_body_cloaktrans"); + param_00 overridematerial("mtl_faceitem_tongue","mtl_faceitem_tongue_cloak"); + param_00 overridematerial("mtl_faceitems_teeth","mtl_faceitems_teeth_cloak"); + if(level.nextgen) + { + param_00 overridematerial("mtl_prime_minister_eye_shader_l","mtl_irons_eye_shader_l_cloak"); + param_00 overridematerial("mtl_prime_minister_eye_shader_r","mtl_irons_eye_shader_r_cloak"); + } + else + { + param_00 overridematerial("mtl_cormack_eye","mtl_cormack_eye_cloak"); + } + + param_00 overridematerial("mtl_faceitem_eyelash","mtl_faceitem_eyelash_irons_cloak"); + param_00 overridematerial("mtl_shg_shiny_lense","mtl_shg_shiny_lense_cloak"); + param_00 overridematerial("mtl_head_m_gen_cau_shipley","mtl_head_m_gen_cau_shipley_cloaktrans"); + wait(0.05); + param_00 setmaterialscriptparam(0,0); + wait(0.05); + param_00 setmaterialscriptparam(1,3); + param_00 hudoutlineenable(0,1); + wait(var_01); + param_00 setmaterialscriptparam(0,1); + wait(1); + param_00 hide(); + } +} + +//Function Number: 14 +assign_cloak_model(param_00) +{ + self.cloakedmodel = param_00; + self.defaultmodel = self.model; +} + +//Function Number: 15 +cloak_on(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 0.75; + } + + var_01 = 0; + self setmodel(self.cloakedmodel); + self drawpostresolve(); + self setmaterialscriptparam(0,param_00); + self.cloak = "on"; + wait(0.1); + maps\_cloak::set_cloak_material_for_npc_weapon(); +} + +//Function Number: 16 +cloak_off(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 0.75; + } + + var_01 = 0; + self setmaterialscriptparam(1,param_00); + wait(param_00); + self drawpostresolveoff(); + self setmodel(self.defaultmodel); + self.cloak = "off"; +} + +//Function Number: 17 +set_cloak_material_for_npc_weapon() +{ + if(self.weapon != "iw5_unarmed") + { + self overridematerial("_base_black","m/mtl_burke_sentinel_covert_headgear_a_cloak"); + self overridematerial("_iron_sights_black","m/mtl_burke_sentinel_covert_headgear_a_cloak"); + self overridematerial("_iron_sights_color","m/mtl_burke_sentinel_covert_headgear_a_cloak"); + self overridematerial("mtl_weapon_suppressor_b","m/mtl_burke_sentinel_covert_headgear_a_cloak"); + self overridematerial("mtl_bal27_screen_a_green","m/mtl_burke_sentinel_covert_headgear_a_cloak"); + self overridematerial("mtl_bal27_magazine_out","m/mtl_burke_sentinel_covert_headgear_a_cloak"); + self overridematerial("mtl_bal27_magazine_inside","m/mtl_burke_sentinel_covert_headgear_a_cloak"); + self overridematerial("mtl_optics_variable_red_dot","m/mtl_burke_sentinel_covert_headgear_a_cloak"); + self overridematerial("mtl_optics_variable_red_dot_lens_02","m/mtl_burke_sentinel_covert_headgear_a_cloak"); + self overridematerial("mtl_bal27_iron_sights","m/mtl_burke_sentinel_covert_headgear_a_cloak"); + } +} \ No newline at end of file diff --git a/AW/PC/maps/betrayal_aud.gsc b/AW/PC/maps/betrayal_aud.gsc new file mode 100644 index 0000000..31b4c3a --- /dev/null +++ b/AW/PC/maps/betrayal_aud.gsc @@ -0,0 +1,2113 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: betrayal_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 178 + * Decompile Time: 2647 ms + * Timestamp: 4/22/2024 2:25:12 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + config_system(); + init_snd_flags(); + init_globals(); + launch_threads(); + launch_loops(); + create_level_envelop_arrays(); + precache_presets(); + register_snd_messages(); + init_notetracks(); +} + +//Function Number: 2 +register_snd_messages() +{ + soundscripts\_snd::snd_register_message("snd_zone_handler",::zone_handler); + soundscripts\_snd::snd_register_message("snd_music_handler",::music_handler); + soundscripts\_snd::snd_register_message("enter_water_override",::enter_water_override); + soundscripts\_snd::snd_register_message("exit_water_override",::exit_water_override); + soundscripts\_snd::snd_register_message("start_office",::start_office); + soundscripts\_snd::snd_register_message("start_confrontation",::start_confrontation); + soundscripts\_snd::snd_register_message("start_confrontation_qte",::start_confrontation_qte); + soundscripts\_snd::snd_register_message("start_escape",::start_escape); + soundscripts\_snd::snd_register_message("start_roof",::start_roof); + soundscripts\_snd::snd_register_message("start_swim",::start_swim); + soundscripts\_snd::snd_register_message("start_sewer",::start_sewer); + soundscripts\_snd::snd_register_message("start_oldtown",::start_oldtown); + soundscripts\_snd::snd_register_message("start_docks",::start_docks); + soundscripts\_snd::snd_register_message("start_boat",::start_boat); + soundscripts\_snd::snd_register_message("start_boatjump",::start_boatjump); + soundscripts\_snd::snd_register_message("start_boatwarbird",::start_boatwarbird); + soundscripts\_snd::snd_register_message("start_boatmall",::start_boatmall); + soundscripts\_snd::snd_register_message("start_boatcrash",::start_boatcrash); + soundscripts\_snd::snd_register_message("start_climb",::start_climb); + soundscripts\_snd::snd_register_message("start_climbroof",::start_climbroof); + soundscripts\_snd::snd_register_message("start_climbcrates",::start_climbcrates); + soundscripts\_snd::snd_register_message("start_climbskybridge",::start_climbskybridge); + soundscripts\_snd::snd_register_message("start_outro",::start_outro); + soundscripts\_snd::snd_register_message("office_hallway_door_open",::office_hallway_door_open); + soundscripts\_snd::snd_register_message("office_hallway_door_close",::office_hallway_door_close); + soundscripts\_snd::snd_register_message("office_roof_door_open",::office_roof_door_open); + soundscripts\_snd::snd_register_message("office_roof_door_close",::office_roof_door_close); + soundscripts\_snd::snd_register_message("bet_gideon_arm_scanner",::bet_gideon_arm_scanner); + soundscripts\_snd::snd_register_message("aud_scanner_door_open",::aud_scanner_door_open); + soundscripts\_snd::snd_register_message("bet_hologram_start",::bet_hologram_start); + soundscripts\_snd::snd_register_message("bet_holo_irons_shoot_pistol",::bet_holo_irons_shoot_pistol); + soundscripts\_snd::snd_register_message("bet_conf_door_opens",::bet_conf_door_opens); + soundscripts\_snd::snd_register_message("bet_conf_flash_bang_exp",::bet_conf_flash_bang_exp); + soundscripts\_snd::snd_register_message("bet_conf_fire_suppression",::bet_conf_fire_suppression); + soundscripts\_snd::snd_register_message("bet_conf_sprinkler",::bet_conf_sprinkler); + soundscripts\_snd::snd_register_message("bet_conf_steam_lp",::bet_conf_steam_lp); + soundscripts\_snd::snd_register_message("bet_conf_kill_guard",::bet_conf_kill_guard); + soundscripts\_snd::snd_register_message("bet_conf_slo_mo_kick_start",::bet_conf_slo_mo_kick_start); + soundscripts\_snd::snd_register_message("bet_conf_slo_mo_kick_stop",::bet_conf_slo_mo_kick_stop); + soundscripts\_snd::snd_register_message("bet_conf_slo_mo_shoot_start",::bet_conf_slo_mo_shoot_start); + soundscripts\_snd::snd_register_message("bet_conf_slo_mo_shoot_stop",::bet_conf_slo_mo_shoot_stop); + soundscripts\_snd::snd_register_message("fire_door_1_open",::fire_door_1_open); + soundscripts\_snd::snd_register_message("fire_door_1_close",::fire_door_1_close); + soundscripts\_snd::snd_register_message("open_firedoor_for_guards",::open_firedoor_for_guards); + soundscripts\_snd::snd_register_message("big_fire_door_open",::big_fire_door_open); + soundscripts\_snd::snd_register_message("big_fire_door_close",::big_fire_door_close); + soundscripts\_snd::snd_register_message("open_elevator_doors",::open_elevator_doors); + soundscripts\_snd::snd_register_message("close_elevator_doors",::close_elevator_doors); + soundscripts\_snd::snd_register_message("atlas_building_roof_walla",::atlas_building_roof_walla); + soundscripts\_snd::snd_register_message("bet_escape_roof_slide",::bet_escape_roof_slide); + soundscripts\_snd::snd_register_message("bet_escape_roof_slomo_start",::bet_escape_roof_slomo_start); + soundscripts\_snd::snd_register_message("bet_escape_roof_slomo_end",::bet_escape_roof_slomo_end); + soundscripts\_snd::snd_register_message("bet_roof_raise_blast_doors",::bet_roof_raise_blast_doors); + soundscripts\_snd::snd_register_message("bet_roof_lower_blast_doors",::bet_roof_lower_blast_doors); + soundscripts\_snd::snd_register_message("bet_roof_slide_start",::bet_roof_slide_start); + soundscripts\_snd::snd_register_message("bet_roof_slo_mo_start",::bet_roof_slo_mo_start); + soundscripts\_snd::snd_register_message("bet_roof_slo_mo_stop",::bet_roof_slo_mo_stop); + soundscripts\_snd::snd_register_message("bet_roof_glass_hit",::bet_roof_glass_hit); + soundscripts\_snd::snd_register_message("bet_roof_water_hit",::bet_roof_water_hit); + soundscripts\_snd::snd_register_message("bet_ilona_swim_end",::bet_ilona_swim_end); + soundscripts\_snd::snd_register_message("bet_swim_boat_explo",::bet_swim_boat_explo); + soundscripts\_snd::snd_register_message("bet_swim_boat_hit_bottom",::bet_swim_boat_hit_bottom); + soundscripts\_snd::snd_register_message("player_drowning_start",::player_drowning_start); + soundscripts\_snd::snd_register_message("bet_swim_bullet_trails",::bet_swim_bullet_trails); + soundscripts\_snd::snd_register_message("bet_swim_dock_explode",::bet_swim_dock_explode); + soundscripts\_snd::snd_register_message("bet_swim_dock_debris_blocker",::bet_swim_dock_debris_blocker); + soundscripts\_snd::snd_register_message("market_walla_init",::market_walla_init); + soundscripts\_snd::snd_register_message("market_cleanup",::market_walla_cleanup); + soundscripts\_snd::snd_register_message("add_doc_civ_walla",::add_doc_civ_walla); + soundscripts\_snd::snd_register_message("ai_step_up_32",::ai_step_up_32); + soundscripts\_snd::snd_register_message("ai_mantle_over_low_cover_40",::ai_mantle_over_low_cover_40); + soundscripts\_snd::snd_register_message("ai_slide_across_car",::ai_slide_across_car); + soundscripts\_snd::snd_register_message("ai_jump_over_40_down_88",::ai_jump_over_40_down_88); + soundscripts\_snd::snd_register_message("civ_boat_spawn",::civ_boat_spawn); + soundscripts\_snd::snd_register_message("aud_impact_system_diveboat",::aud_impact_system_diveboat); + soundscripts\_snd::snd_register_message("aud_ambient_helicopter",::aud_ambient_helicopter); + soundscripts\_snd::snd_register_message("lock_on_target",::lock_on_target); + soundscripts\_snd::snd_register_message("bet_boat_crash_audio_handler",::bet_boat_crash_audio_handler); + soundscripts\_snd::snd_register_message("bet_boat_crash_bldg_impact",::bet_boat_crash_bldg_impact); + soundscripts\_snd::snd_register_message("crate_path_start",::crate_path_start); + soundscripts\_snd::snd_register_message("crate_move_start",::crate_move_start); + soundscripts\_snd::snd_register_message("reverse_mag_glove_crane_move",::reverse_mag_glove_crane_move); + soundscripts\_snd::snd_register_message("spawn_ending_pcap_warbird",::spawn_ending_pcap_warbird); +} + +//Function Number: 3 +config_system() +{ + soundscripts\_audio::set_stringtable_mapname("shg"); + soundscripts\_snd_filters::snd_set_occlusion("med_occlusion"); + soundscripts\_audio_mix_manager::mm_add_submix("betrayal_global_mix"); +} + +//Function Number: 4 +init_snd_flags() +{ +} + +//Function Number: 5 +init_globals() +{ + level.aud.water = spawnstruct(); + level.aud.water.enter_water_override = "enter_water_override"; + level.aud.water.exit_water_override = "exit_water_override"; + level.aud.underwater = 0; + level.aud.bet_walla_intro_patio = 0; +} + +//Function Number: 6 +launch_threads() +{ + if(soundscripts\_audio::aud_is_specops()) + { + return; + } + + thread bet_foley_override_handler(); +} + +//Function Number: 7 +launch_loops() +{ + soundscripts\_snd_playsound::snd_play_loop_at("bet_fountain_lrg_lp",(2490,59585,-27)); + soundscripts\_snd_playsound::snd_play_loop_at("bet_fountain_lrg_lp",(2338,59585,-27)); + soundscripts\_snd_playsound::snd_play_loop_at("bet_fountain_lrg_lp",(2425,59497,-20)); + soundscripts\_snd_playsound::snd_play_loop_at("bet_fountain_lrg_lp",(2940,59585,-20)); + soundscripts\_snd_playsound::snd_play_loop_at("bet_fountain_lrg_lp",(3088,59585,-20)); + soundscripts\_snd_playsound::snd_play_loop_at("bet_fountain_lrg_lp",(1170,62789,-481)); + soundscripts\_snd_playsound::snd_play_loop_at("bet_fountain_txt_lp",(1170,62789,-481)); + soundscripts\_snd_playsound::snd_play_loop_at("bet_fountain_lrg_lp",(1718,62781,-481)); + soundscripts\_snd_playsound::snd_play_loop_at("bet_fountain_txt_lp",(1718,62781,-481)); + soundscripts\_snd_playsound::snd_play_loop_at("bet_fountain_lrg_lp",(1871,62449,-481)); + soundscripts\_snd_playsound::snd_play_loop_at("bet_fountain_txt_lp",(1871,62449,-481)); + soundscripts\_snd_playsound::snd_play_loop_at("bet_fountain_lrg_lp",(1170,62429,-481)); + soundscripts\_snd_playsound::snd_play_loop_at("bet_fountain_lrg_lp",(1026,62286,-481)); + soundscripts\_snd_playsound::snd_play_loop_at("bet_fountain_txt_lp",(1026,62286,-481)); + soundscripts\_snd_playsound::snd_play_loop_at("bet_fountain_lrg_lp",(654,62296,-487)); + soundscripts\_snd_playsound::snd_play_loop_at("bet_fountain_txt_lp",(654,62296,-487)); + soundscripts\_snd_playsound::snd_play_loop_at("bet_fountain_txt_lp",(359,62206,-487)); +} + +//Function Number: 8 +create_level_envelop_arrays() +{ + level.aud.envs = []; + level.aud.envs["example_envelop"] = [[0,0],[0.082,0.426],[0.238,0.736],[0.408,0.844],[0.756,0.953],[1,1]]; +} + +//Function Number: 9 +precache_presets() +{ +} + +//Function Number: 10 +init_notetracks() +{ + maps\_anim::addnotetrack_customfunction("irons","bet_holo_irons_stand_and_walk",::bet_holo_irons_stand_and_walk,"confrontation_pt1"); + maps\_anim::addnotetrack_customfunction("irons","bet_holo_glitches_1",::bet_holo_glitches_1,"confrontation_pt1"); + maps\_anim::addnotetrack_customfunction("irons","bet_holo_glitches_2",::bet_holo_glitches_2,"confrontation_pt1"); + maps\_anim::addnotetrack_customfunction("irons","bet_holo_glitches_3",::bet_holo_glitches_3,"confrontation_pt1"); + maps\_anim::addnotetrack_customfunction("irons","bet_holo_glitches_4",::bet_holo_glitches_4,"confrontation_pt1"); + maps\_anim::addnotetrack_customfunction("gideon","bet_conf_gideon_reacts",::bet_conf_gideon_reacts,"confrontation_pt2"); + maps\_anim::addnotetrack_customfunction("gideon","bet_conf_gideon_turns_to_leave",::bet_conf_gideon_turns_to_leave,"confrontation_pt2"); + maps\_anim::addnotetrack_customfunction("gideon","bet_conf_gideon_exits",::bet_conf_gideon_exits,"confrontation_pt2"); + maps\_anim::addnotetrack_customfunction("irons","bet_conf_irons_enters",::bet_conf_irons_enters,"confrontation_pt2"); + maps\_anim::addnotetrack_customfunction("irons","bet_conf_irons_walks_to_ilona",::bet_conf_irons_walks_to_ilona,"confrontation_pt2"); + maps\_anim::addnotetrack_customfunction("irons","bet_conf_irons_turns_to_leave",::bet_conf_irons_turns_to_leave,"confrontation_pt2"); + maps\_anim::addnotetrack_customfunction("irons","bet_conf_irons_exits",::bet_conf_irons_exits,"confrontation_pt2"); + maps\_anim::addnotetrack_customfunction("guard1","bet_conf_guard_1_enter",::bet_conf_guard_1_enter,"confrontation_pt2"); + maps\_anim::addnotetrack_customfunction("guard1","bet_conf_guard_wpn_trained",::bet_conf_guard_wpn_trained,"confrontation_pt2"); + maps\_anim::addnotetrack_customfunction("guard1","bet_conf_guard_1_swing_wpn",::bet_conf_guard_1_swing_wpn,"confrontation_pt2"); + maps\_anim::addnotetrack_customfunction("guard2","bet_conf_guard_2_push_down_ilona",::bet_conf_guard_2_push_down_ilona,"confrontation_pt2"); + maps\_anim::addnotetrack_customfunction("guard1","bet_conf_escape_guard_1_react",::bet_conf_escape_guard_1_react,"escape_pt1"); + maps\_anim::addnotetrack_customfunction("guard1","bet_conf_escape_guard_1_tripped",::bet_conf_escape_guard_1_tripped,"escape_pt2"); + maps\_anim::addnotetrack_customfunction("guard1","bet_conf_escape_guard_1_punched",::bet_conf_escape_guard_1_punched,"escape_pt2"); + maps\_anim::addnotetrack_customfunction("guard2","bet_conf_escape_guard_2_punch",::bet_conf_escape_guard_2_punch,"escape_pt2"); + maps\_anim::addnotetrack_customfunction("guard2","bet_conf_escape_guard_2_shot",::bet_conf_escape_guard_2_shot,"escape_pt2"); + maps\_anim::addnotetrack_customfunction("ilona","bet_conf_ilona_punched",::bet_conf_ilona_punched,"escape_pt2"); + maps\_anim::addnotetrack_customfunction("player_rig","bet_conf_plr_knock_back",::bet_conf_plr_knock_back,"confrontation_pt2"); + maps\_anim::addnotetrack_customfunction("player_rig","bet_conf_plr_punched",::bet_conf_plr_punched,"confrontation_pt2"); + maps\_anim::addnotetrack_customfunction("player_rig","bet_conf_plr_pull_wpn",::bet_conf_plr_pull_wpn,"confrontation_pt2"); + maps\_anim::addnotetrack_customfunction("player_rig","bet_conf_plr_sit_back",::bet_conf_plr_sit_back,"confrontation_pt2"); + maps\_anim::addnotetrack_customfunction("player_rig","bet_conf_plr_lean",::bet_conf_plr_lean,"confrontation_pt2"); + maps\_anim::addnotetrack_customfunction("player_rig","bet_conf_escape_plr_foot_sweep",::bet_conf_escape_plr_foot_sweep,"escape_pt2"); + maps\_anim::addnotetrack_customfunction("player_rig","bet_conf_escape_plr_punch",::bet_conf_escape_plr_punch,"escape_pt2"); + maps\_anim::addnotetrack_customfunction("player_rig","bet_conf_escape_plr_wpn",::bet_conf_escape_plr_wpn,"escape_pt2"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_exo_climb_gear_lt",::maps\_exo_climb::aud_exo_climb_gear_lt,"elevator_climb_dismount"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_exo_climb_gear_rt",::maps\_exo_climb::aud_exo_climb_gear_rt,"elevator_climb_dismount"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_exo_climb_windup_lt",::maps\_exo_climb::aud_exo_climb_windup_lt,"elevator_climb_dismount"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_exo_climb_windup_rt",::maps\_exo_climb::aud_exo_climb_windup_rt,"elevator_climb_dismount"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_exo_climb_hit_lt",::maps\_exo_climb::aud_exo_climb_hit_lt,"elevator_climb_dismount"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_exo_climb_hit_rt",::maps\_exo_climb::aud_exo_climb_hit_rt,"elevator_climb_dismount"); + maps\_anim::addnotetrack_customfunction("player_rig","bet_elevator_exoclimb_dismount",::bet_elevator_exoclimb_dismount,"elevator_climb_dismount"); + maps\_anim::addnotetrack_customfunction("player_rig","bet_elevator_exoclimb_dismount_foot",::bet_elevator_exoclimb_dismount_foot,"elevator_climb_dismount"); + maps\_anim::addnotetrack_customfunction("ilana","bet_ilona_swim_start",::bet_ilona_swim_start,"roof_slide"); + maps\_anim::addnotetrack_customfunction("sewer_lid","manhole_move_start_foley",::manhole_move_start_foley,"sewer_grate_open"); + maps\_anim::addnotetrack_customfunction("sewer_lid","manhole_move_start",::manhole_move_start,"sewer_grate_open"); + maps\_anim::addnotetrack_customfunction("player_rig","bet_boat_enter_plr_start",::bet_boat_enter_plr_start,"boat_getin"); + maps\_anim::addnotetrack_customfunction("player_rig","bet_boat_enter_plr_jump_into_boat",::bet_boat_enter_plr_jump_into_boat,"boat_getin"); + maps\_anim::addnotetrack_customfunction("player_rig","bet_boat_enter_plr_sit",::bet_boat_enter_plr_sit,"boat_getin"); + maps\_anim::addnotetrack_customfunction("player_rig","bet_boat_enter_plr_exo_arm",::bet_boat_enter_plr_exo_arm,"boat_getin"); + maps\_anim::addnotetrack_customfunction("player_rig","bet_boat_enter_plr_power_on",::bet_boat_enter_plr_power_on,"boat_getin"); + maps\_anim::addnotetrack_customfunction("player_rig","bet_boat_enter_plr_grab_wheel",::bet_boat_enter_plr_grab_wheel,"boat_getin"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","bet_boat_exit_start",::bet_boat_exit_start,"boat_getout"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","bet_boat_exit_jump_out",::bet_boat_exit_jump_out,"boat_getout"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","bet_boat_exit_stand_up",::bet_boat_exit_stand_up,"boat_getout"); + maps\_anim::addnotetrack_customfunction("ilana","bet_boat_exit_ilona",::bet_boat_exit_ilona,"boat_getout"); + maps\_anim::addnotetrack_customfunction("ilana","bet_boat_exit_ilona_pickup_wpn",::bet_boat_exit_ilona_pickup_wpn,"boat_getout"); + maps\_anim::addnotetrack_customfunction("ilana","bet_boat_exit_ilona_stand",::bet_boat_exit_ilona_stand,"boat_getout"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","aud_crane_mount_crouch_jump",::aud_crane_mount_crouch_jump,"crane_mount"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","aud_crane_mount_lt_hand_hit",::aud_crane_mount_lt_hand_hit,"crane_mount"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","aud_crane_mount_rt_hand_hit",::aud_crane_mount_rt_hand_hit,"crane_mount"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","aud_crane_mount_lt_hand_rest",::aud_crane_mount_lt_hand_rest,"crane_mount"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","aud_crane_mount_rt_hand_rest",::aud_crane_mount_rt_hand_rest,"crane_mount"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","aud_bet_exo_climb_gear_lt",::aud_bet_exo_climb_gear_lt,"left_move"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","aud_bet_exo_climb_gear_rt",::aud_bet_exo_climb_gear_rt,"right_move"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","aud_bet_exo_climb_windup_lt",::aud_bet_exo_climb_windup_lt,"left_move"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","aud_bet_exo_climb_windup_rt",::aud_bet_exo_climb_windup_rt,"right_move"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","aud_bet_exo_climb_hit_lt",::aud_bet_exo_climb_hit_lt,"left_move"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","aud_bet_exo_climb_hit_rt",::aud_bet_exo_climb_hit_rt,"right_move"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","aud_bet_exo_climb_settle_lt",::aud_bet_exo_climb_settle_lt,"left_move"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","aud_bet_exo_climb_settle_rt",::aud_bet_exo_climb_settle_rt,"right_move"); + maps\_anim::addnotetrack_customfunction("player_rig_grapple","betrayal_finale_player_jump",::betrayal_finale_player_jump,"crane_to_final"); + maps\_anim::addnotetrack_customfunction("cormack","finale_cormack_walk_1",::finale_cormack_walk_1,"finale_scene"); + maps\_anim::addnotetrack_customfunction("cormack","finale_cormack_decloak",::finale_cormack_decloak,"finale_scene"); + maps\_anim::addnotetrack_customfunction("cormack","finale_cormack_walk_2",::finale_cormack_walk_2,"finale_scene"); + maps\_anim::addnotetrack_customfunction("cormack","finale_cormack_walk_3",::finale_cormack_walk_3,"finale_scene"); + maps\_anim::addnotetrack_customfunction("finale_crate_ext","finale_crate_open_1",::finale_crate_open_1,"finale_scene"); + maps\_anim::addnotetrack_customfunction("finale_crate_ext","finale_crate_close",::finale_crate_close,"finale_scene"); + maps\_anim::addnotetrack_customfunction("gideon","finale_gideon_jump",::finale_gideon_jump,"finale_scene"); + maps\_anim::addnotetrack_customfunction("gideon","finale_gideon_radio",::finale_gideon_radio,"finale_scene"); + maps\_anim::addnotetrack_customfunction("gideon","finale_gideon_leave",::finale_gideon_leave,"finale_scene"); + maps\_anim::addnotetrack_customfunction("ilana","finale_ilana_land",::finale_ilana_land,"finale_scene"); + maps\_anim::addnotetrack_customfunction("ilana","finale_ilana_turn",::finale_ilana_turn,"finale_scene"); + maps\_anim::addnotetrack_customfunction("joker","finale_joker_jump",::finale_joker_jump,"finale_scene"); +} + +//Function Number: 11 +zone_handler(param_00,param_01) +{ + var_02 = ""; + var_03 = ""; + if(getsubstr(param_00,0,6) == "enter_") + { + var_02 = param_01; + } + else if(getsubstr(param_00,0,5) == "exit_") + { + var_03 = param_01; + } + + var_04 = (2720,59247,-28); + switch(param_00) + { + case "exit_ext_rooftop": + if(var_03 == "ext_rooftop" && !level.aud.bet_walla_intro_patio) + { + level.aud.exited_lobby = 1; + soundscripts\_snd_playsound::snd_play_loop_at("bet_walla_intro_patio",var_04,"stop_bet_walla_intro_patio",3,3); + level.aud.bet_walla_intro_patio = 1; + } + break; + + case "exit_int_stairwell": + if(var_03 == "int_stairwell") + { + level notify("stop_bet_walla_intro_patio"); + level.aud.bet_walla_intro_patio = 0; + } + else if(var_03 == "ext_rooftop" && !level.aud.bet_walla_intro_patio) + { + soundscripts\_snd_playsound::snd_play_loop_at("bet_walla_intro_patio",var_04,"stop_bet_walla_intro_patio",3,3); + level.aud.bet_walla_intro_patio = 1; + } + break; + + case "enter_int_betrayal_room": + if(!isdefined(level.aud.bet_intro_done)) + { + level.aud.bet_intro_done = 1; + music("bet_intro_done"); + } + break; + + case "int_hallway": + if(var_02 == "int_betrayal_room") + { + soundsettraceflags("weapons","locational","solid","glass","translucent","clipshot","playerclip","structural"); + soundsettraceflags("foley","locational","solid","glass","translucent","clipshot","playerclip","structural"); + } + break; + + case "int_elevator_shaft": + if(var_03 == "ext_rooftop") + { + soundsettraceflags("weapons"); + soundsettraceflags("foley"); + } + break; + + case "enter_ext_skybridge": + if(var_02 == "ext_tower") + { + level.aud.skybridge = 1; + soundscripts\_audio_mix_manager::mm_add_submix("bet_skybridge_fs_override"); + } + break; + + case "exit_int_tower": + if(var_03 == "ext_crane") + { + level.aud.skybridge = 0; + soundscripts\_audio_mix_manager::mm_clear_submix("bet_skybridge_fs_override"); + } + break; + + case "exit_ext_crane": + if(var_03 == "int_tower") + { + level.aud.skybridge = 1; + soundscripts\_audio_mix_manager::mm_add_submix("bet_skybridge_fs_override"); + } + break; + + case "enter_ext_crane": + if(var_02 == "int_tower") + { + level.aud.skybridge = 0; + soundscripts\_audio_mix_manager::mm_clear_submix("bet_skybridge_fs_override"); + } + break; + + case "exit_ext_tower": + if(var_03 == "ext_skybridge") + { + level.aud.skybridge = 1; + soundscripts\_audio_mix_manager::mm_add_submix("bet_skybridge_fs_override"); + } + break; + } +} + +//Function Number: 12 +music(param_00,param_01) +{ + thread music_handler(param_00,param_01); +} + +//Function Number: 13 +music_handler(param_00,param_01) +{ + level notify("stop_current_music_thread"); + level endon("stop_current_music_thread"); + switch(param_00) + { + case "bet_intro": + soundscripts\_audio::aud_set_music_submix(0.4,0); + soundscripts\_audio_music::mus_play("bet_intro",5); + wait(96.6); + soundscripts\_audio_music::mus_play("bet_intro_vamp",5); + break; + + case "bet_intro_done": + soundscripts\_audio_music::mus_stop(3); + break; + + case "hologram_begin": + soundscripts\_audio::aud_set_music_submix(0.6,0.25); + wait(0.25); + soundscripts\_audio_music::mus_play("bet_hologram_prt1",2); + wait(37); + soundscripts\_audio_music::mus_play("bet_hologram_prt2",0,3); + break; + + case "betrayal_scene_begin": + soundscripts\_audio::aud_set_music_submix(1,0); + wait(1); + soundscripts\_audio_music::mus_play("bet_betrayal_prt1",0); + wait(61); + wait(0.6); + soundscripts\_audio_music::mus_play("bet_betrayal_prt2",1); + break; + + case "post_betrayal_action": + soundscripts\_audio::aud_set_music_submix(0.75,10); + soundscripts\_audio_music::mus_play("bet_post_betrayal_action_lp",0.5,0.5); + wait(10); + level waittill("player_out_of_atlas"); + soundscripts\_audio_music::mus_stop(0.5); + break; + + case "roof_slide": + wait(7.5); + soundscripts\_audio_music::mus_stop(0.5); + break; + + case "sewer_out_of_water": + soundscripts\_audio::aud_set_music_submix(0.3,0); + soundscripts\_audio_music::mus_play("bet_baghdad_sewer",4); + common_scripts\utility::flag_wait("flag_dialogue_sewer_checkpoint"); + soundscripts\_snd_common::snd_wait_for_enemies_aware(); + soundscripts\_audio::aud_set_music_submix(0.8,0); + soundscripts\_audio_music::mus_play("bet_baghdad_streets_begin",3); + common_scripts\utility::flag_wait("boat_scene_start"); + wait(1); + soundscripts\_audio_music::mus_play("bet_baghdad_streets_end",0,1); + wait(2); + soundscripts\_audio_music::mus_play("bet_baghdad_sewer",3,5); + break; + + case "start_point_docks": + soundscripts\_audio::aud_set_music_submix(1,0); + soundscripts\_audio_music::mus_play("bet_baghdad_streets_begin",3); + common_scripts\utility::flag_wait("boat_scene_start"); + wait(1); + soundscripts\_audio_music::mus_play("bet_baghdad_streets_end",2,2); + wait(2); + soundscripts\_audio_music::mus_play("bet_baghdad_sewer",3,5); + break; + + case "boat_chase_begin": + wait(3); + soundscripts\_audio::aud_set_music_submix(1,1); + soundscripts\_audio_music::mus_play("bet_boat_chase_begin",7); + level common_scripts\utility::flag_wait("flag_objective_boat_chase_complete"); + soundscripts\_audio_music::mus_play("bet_boat_chase_end",0); + level waittill("boat_crash_end"); + music("post_boat_chase"); + break; + + case "post_boat_chase": + thread handle_climb_scene_music(); + break; + + case "climb_scene_finale": + soundscripts\_audio::aud_set_music_submix(0.3,0.05); + wait(0.05); + soundscripts\_audio_music::mus_play("bet_climb_stealth_end",0,1); + level waittill("sounddone_bet_gdn_standdown"); + soundscripts\_audio::aud_set_music_submix(0,0.05); + wait(0.05); + soundscripts\_audio::aud_set_music_submix(0.5,16); + soundscripts\_audio_music::mus_play("bet_end"); + wait(16); + soundscripts\_audio::aud_set_music_submix(1,5); + break; + + default: + soundscripts\_audio::aud_print_warning("\tMUSIC MESSAGE NOT HANDLED: " + param_00); + break; + } +} + +//Function Number: 14 +handle_climb_scene_music() +{ + level endon("stop_current_music_thread"); + var_00 = 0; + var_01 = 0; + wait(4); + for(;;) + { + if(soundscripts\_snd_common::snd_get_num_enemies_aware() > 0) + { + if(!var_01) + { + soundscripts\_audio::aud_set_music_submix(0.5,4); + soundscripts\_audio_music::mus_play("bet_climb_combat",4); + var_00 = 0; + var_01 = 1; + } + } + else if(!var_00) + { + soundscripts\_audio::aud_set_music_submix(0.5,5); + soundscripts\_audio_music::mus_play("bet_climb_stealth",5); + var_00 = 1; + var_01 = 0; + } + + wait(0.5); + } +} + +//Function Number: 15 +enter_water_override() +{ + level.aud.underwater = 1; + soundscripts\_audio_zone_manager::azm_set_filter_bypass(1); + soundscripts\_snd_filters::snd_fade_in_filter("underwater",0.05); + soundscripts\_audio_mix_manager::mm_add_submix("underwater"); + soundscripts\_snd_common::snd_enable_soundcontextoverride("underwater"); + soundscripts\_snd_playsound::snd_play_2d("bet_swim_plr_submerge"); + soundscripts\_snd_playsound::snd_play_loop_2d("underwater_main_lp","kill_underwater_loop"); +} + +//Function Number: 16 +exit_water_override() +{ + level.aud.underwater = 0; + level notify("kill_underwater_loop"); + soundscripts\_snd_filters::snd_fade_out_filter(0.05); + soundscripts\_audio_mix_manager::mm_clear_submix("underwater"); + soundscripts\_snd_common::snd_disable_soundcontextoverride("underwater"); + soundscripts\_audio_zone_manager::azm_set_filter_bypass(0); +} + +//Function Number: 17 +start_office(param_00) +{ + common_scripts\utility::flag_wait("flag_office_start_intro_pcap"); + soundscripts\_audio_zone_manager::azm_start_zone("int_lobby",10); + music("bet_intro"); +} + +//Function Number: 18 +start_confrontation(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("int_betrayal_room"); +} + +//Function Number: 19 +start_confrontation_qte(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("int_betrayal_room"); +} + +//Function Number: 20 +start_escape(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("int_betrayal_room"); + music("post_betrayal_action"); +} + +//Function Number: 21 +start_roof(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_rooftop"); + music("post_betrayal_action"); +} + +//Function Number: 22 +start_swim(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("int_underwater"); +} + +//Function Number: 23 +start_sewer(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("int_sewer"); + music("sewer_out_of_water"); + soundscripts\_audio_mix_manager::mm_add_submix("bet_swarm_down"); +} + +//Function Number: 24 +start_oldtown(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_old_town"); + soundscripts\_audio_mix_manager::mm_add_submix("bet_swarm_down"); +} + +//Function Number: 25 +start_docks(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_docks"); + music("start_point_docks"); +} + +//Function Number: 26 +start_boat(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_docks"); +} + +//Function Number: 27 +start_boatjump(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_boat"); + music("boat_chase_begin"); +} + +//Function Number: 28 +start_boatwarbird(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_boat"); +} + +//Function Number: 29 +start_boatmall(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_boat"); +} + +//Function Number: 30 +start_boatcrash(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_boat"); +} + +//Function Number: 31 +start_climb(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_tower"); + music("post_boat_chase"); +} + +//Function Number: 32 +start_climbroof(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_tower"); + music("post_boat_chase"); +} + +//Function Number: 33 +start_climbcrates(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_tower"); + music("post_boat_chase"); +} + +//Function Number: 34 +start_climbskybridge(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_skybridge"); + music("post_boat_chase"); +} + +//Function Number: 35 +start_outro(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_exfill"); + music("climb_scene_finale"); +} + +//Function Number: 36 +office_hallway_door_open(param_00,param_01) +{ + soundscripts\_snd::snd_slate("door_hall_op"); + if(param_00.size < 1 || param_01.size < 1) + { + return; + } + + var_02 = param_00[0]; + var_03 = param_01[0]; + var_02 soundscripts\_snd_playsound::snd_play_linked("bet_door_to_patio_open_l"); + var_03 soundscripts\_snd_playsound::snd_play_linked("bet_door_to_patio_open_r"); +} + +//Function Number: 37 +office_hallway_door_close(param_00,param_01) +{ + soundscripts\_snd::snd_slate("door_hall_cl"); + soundscripts\_audio_zone_manager::azm_set_zone_streamed_ambience("int_lobby","none"); + if(param_00.size < 1 || param_01.size < 1) + { + return; + } + + var_02 = param_00[0]; + var_03 = param_01[0]; + var_02 soundscripts\_snd_playsound::snd_play_linked("bet_door_to_patio_close_l"); + var_03 soundscripts\_snd_playsound::snd_play_linked("bet_door_to_patio_close_r"); +} + +//Function Number: 38 +office_roof_door_open(param_00,param_01) +{ + soundscripts\_snd::snd_slate("door1_op"); + if(param_00.size < 1 || param_01.size < 1) + { + return; + } + + var_02 = param_00[0]; + var_03 = param_01[0]; + var_02 soundscripts\_snd_playsound::snd_play_linked("bet_door_to_bldg2_open_l"); + var_03 soundscripts\_snd_playsound::snd_play_linked("bet_door_to_bldg2_open_r"); +} + +//Function Number: 39 +office_roof_door_close(param_00,param_01) +{ + soundscripts\_snd::snd_slate("door1_cl"); + if(param_00.size < 1 || param_01.size < 1) + { + return; + } + + var_02 = param_00[0]; + var_03 = param_01[0]; + var_02 soundscripts\_snd_playsound::snd_play_linked("bet_door_to_bldg2_close_l"); + var_03 soundscripts\_snd_playsound::snd_play_linked("bet_door_to_bldg2_close_r"); +} + +//Function Number: 40 +bet_gideon_arm_scanner() +{ + level.gideon soundscripts\_snd_playsound::snd_play_delayed_linked("bet_gideon_arm_scanner",6.7); +} + +//Function Number: 41 +aud_scanner_door_open() +{ + soundscripts\_snd::snd_printlnbold("SLATE: Scanner Star Trek Door"); + level.gideon soundscripts\_snd_playsound::snd_play_delayed_linked("bet_st_door_pre_conf",0); +} + +//Function Number: 42 +bet_hologram_start() +{ + soundscripts\_audio_mix_manager::mm_add_submix("bet_hologram"); + soundscripts\_snd::snd_slate("hologram_start"); + soundscripts\_snd_playsound::snd_play_at("bet_holo_hologram",(3452,59301,-391)); + music("hologram_begin"); +} + +//Function Number: 43 +bet_holo_glitches_1(param_00) +{ + soundscripts\_snd::snd_slate("glitch_1"); + soundscripts\_snd_playsound::snd_play_at("bet_holo_glitch_1",(3452,59301,-391)); +} + +//Function Number: 44 +bet_holo_glitches_2(param_00) +{ + soundscripts\_snd::snd_slate("glitch_2"); + soundscripts\_snd_playsound::snd_play_at("bet_holo_glitch_2",(3452,59301,-391)); +} + +//Function Number: 45 +bet_holo_glitches_3(param_00) +{ + soundscripts\_snd::snd_slate("glitch_3"); + soundscripts\_snd_playsound::snd_play_at("bet_holo_glitch_3",(3452,59301,-391)); +} + +//Function Number: 46 +bet_holo_glitches_4(param_00) +{ + soundscripts\_snd::snd_slate("glitch_4"); + soundscripts\_snd_playsound::snd_play_at("bet_holo_glitch_4",(3452,59301,-391)); +} + +//Function Number: 47 +bet_holo_irons_shoot_pistol(param_00) +{ + var_01 = param_00; + soundscripts\_snd::snd_slate("bang"); + var_01 soundscripts\_snd_playsound::snd_play_linked("bet_holo_irons_shoot"); +} + +//Function Number: 48 +bet_conf_door_opens(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("bet_conf_door_flashbang_roll"); + wait(1); + soundscripts\_audio_mix_manager::mm_clear_submix("bet_hologram"); +} + +//Function Number: 49 +bet_conf_flash_bang_exp() +{ + soundscripts\_audio_mix_manager::mm_add_submix("bet_confrontation"); + soundscripts\_snd_playsound::snd_play_2d("bet_conf_flash_bang"); +} + +//Function Number: 50 +bet_conf_slo_mo_kick_start() +{ + soundscripts\_audio_mix_manager::mm_add_submix("slomo"); + level.player enablecustomweaponcontext(); + soundscripts\_snd_common::snd_enable_soundcontextoverride("slomo"); + soundscripts\_snd_timescale::snd_set_timescale("slomo_timescale"); + soundscripts\_snd_playsound::snd_play_2d("slo_mo_enter","kill_slo_mo"); +} + +//Function Number: 51 +bet_conf_slo_mo_kick_stop() +{ + level notify("kill_slo_mo"); + soundscripts\_snd_playsound::snd_play_2d("slo_mo_exit"); + soundscripts\_snd_common::snd_disable_soundcontextoverride("slomo"); + level.player disablecustomweaponcontext(); + soundscripts\_audio_mix_manager::mm_clear_submix("slomo"); +} + +//Function Number: 52 +bet_conf_slo_mo_shoot_start() +{ + soundscripts\_audio_mix_manager::mm_add_submix("slomo"); + level.player enablecustomweaponcontext(); + soundscripts\_snd_common::snd_enable_soundcontextoverride("slomo"); + soundscripts\_snd_playsound::snd_play_2d("slo_mo_enter","kill_slo_mo"); +} + +//Function Number: 53 +bet_conf_slo_mo_shoot_stop() +{ + level notify("kill_slo_mo"); + soundscripts\_snd_playsound::snd_play_2d("slo_mo_exit"); + soundscripts\_snd_common::snd_disable_soundcontextoverride("slomo"); + soundscripts\_snd_timescale::snd_set_timescale("all_on"); + level.player disablecustomweaponcontext(); + soundscripts\_audio_mix_manager::mm_clear_submix("slomo"); +} + +//Function Number: 54 +bet_conf_kill_guard() +{ + soundscripts\_snd_playsound::snd_play_at("bet_conf_guy2_gets_shot",(3509,59134,-385)); + wait(2); + soundscripts\_snd_timescale::snd_set_timescale("all_on"); + soundscripts\_audio_mix_manager::mm_clear_submix("bet_confrontation"); +} + +//Function Number: 55 +bet_conf_fire_suppression() +{ + soundscripts\_snd::snd_slate("fire suppresion"); + soundscripts\_snd_playsound::snd_play_2d("bet_conf_fire_supp_syst"); + bet_escape_alarms(); + bet_escape_additional_sprinklers(); + bet_escape_additional_steam(); +} + +//Function Number: 56 +bet_conf_sprinkler(param_00) +{ + var_01 = soundscripts\_audio::aud_find_exploder(param_00); + if(isdefined(var_01)) + { + var_02 = var_01.v["origin"]; + soundscripts\_snd_playsound::snd_play_at("bet_conf_sprinklers_start",var_02); + soundscripts\_snd_playsound::snd_play_loop_at("bet_conf_sprinklers_lp",var_02,"cleanup_fire_suppression_stuff"); + soundscripts\_snd::snd_slate("sprinklers"); + } +} + +//Function Number: 57 +bet_conf_steam_lp(param_00) +{ + var_01 = soundscripts\_audio::aud_find_exploder(param_00); + if(isdefined(var_01)) + { + var_02 = var_01.v["origin"]; + soundscripts\_snd_playsound::snd_play_loop_at("bet_conf_steam_lp",var_02,"cleanup_fire_suppression_stuff"); + soundscripts\_snd::snd_slate("steam"); + } +} + +//Function Number: 58 +bet_escape_alarms() +{ + soundscripts\_snd_playsound::snd_play_delayed_loop_at("bet_escape_alarms",0.05,undefined,(3249,59273,-315),"cleanup_fire_suppression_stuff"); + soundscripts\_snd_playsound::snd_play_delayed_loop_at("bet_escape_alarms",0.1,undefined,(3744,59400,-315),"cleanup_fire_suppression_stuff"); + soundscripts\_snd_playsound::snd_play_delayed_loop_at("bet_escape_alarms",0.15,undefined,(3576,59189,-315),"cleanup_fire_suppression_stuff"); + soundscripts\_snd_playsound::snd_play_delayed_loop_at("bet_escape_alarms",0.2,undefined,(3517,58886,-293),"cleanup_fire_suppression_stuff"); + soundscripts\_snd_playsound::snd_play_delayed_loop_at("bet_escape_alarms",0.25,undefined,(3512,58504,-293),"cleanup_fire_suppression_stuff"); + soundscripts\_snd_playsound::snd_play_delayed_loop_at("bet_escape_alarms",0.3,undefined,(3324,58332,-293),"cleanup_fire_suppression_stuff"); + soundscripts\_snd_playsound::snd_play_delayed_loop_at("bet_escape_alarms",0.35,undefined,(3324,58332,-293),"cleanup_fire_suppression_stuff"); + soundscripts\_snd_playsound::snd_play_delayed_loop_at("bet_escape_alarms",0.4,undefined,(3324,57605,-293),"cleanup_fire_suppression_stuff"); + soundscripts\_snd_playsound::snd_play_delayed_loop_at("bet_escape_alarms",0.55,undefined,(3717,57705,-211),"cleanup_fire_suppression_stuff"); +} + +//Function Number: 59 +bet_escape_additional_sprinklers() +{ + soundscripts\_snd_playsound::snd_play_loop_at("bet_conf_sprinklers_lp",(3312,57856,-315),"cleanup_fire_suppression_stuff"); + soundscripts\_snd_playsound::snd_play_loop_at("bet_conf_sprinklers_lp",(3308,58032,-315),"cleanup_fire_suppression_stuff"); +} + +//Function Number: 60 +bet_escape_additional_steam() +{ + soundscripts\_snd_playsound::snd_play_loop_at("bet_conf_steam_lp",(3461,58751,-315),"cleanup_fire_suppression_stuff"); + soundscripts\_snd_playsound::snd_play_loop_at("bet_conf_steam_lp",(3428,58461,-315),"cleanup_fire_suppression_stuff"); + soundscripts\_snd_playsound::snd_play_loop_at("bet_conf_steam_lp",(3581,58879,-377),"cleanup_fire_suppression_stuff"); +} + +//Function Number: 61 +fire_door_1_open(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("bet_fire_doors_open"); + soundsettraceflags("weapons","locational","solid","glass","translucent","clipshot","playerclip","structural"); + soundsettraceflags("foley","locational","solid","glass","translucent","clipshot","playerclip","structural"); +} + +//Function Number: 62 +fire_door_1_close(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("bet_fire_doors_close"); +} + +//Function Number: 63 +open_firedoor_for_guards() +{ + var_00 = self; + var_00 soundscripts\_snd_playsound::snd_play_linked("bet_fire_doors_open_long"); + soundsettraceflags("weapons"); + soundsettraceflags("foley"); +} + +//Function Number: 64 +big_fire_door_open(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("bet_big_fire_doors_open"); +} + +//Function Number: 65 +big_fire_door_close(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("bet_big_fire_doors_close"); + soundsettraceflags("weapons","locational","solid","glass","translucent","clipshot","playerclip","structural"); + soundsettraceflags("foley","locational","solid","glass","translucent","clipshot","playerclip","structural"); +} + +//Function Number: 66 +open_elevator_doors(param_00) +{ + param_00[1] soundscripts\_snd_playsound::snd_play_linked("bet_elevator_blast_doors_open"); +} + +//Function Number: 67 +close_elevator_doors(param_00) +{ + param_00[1] soundscripts\_snd_playsound::snd_play_linked("bet_elevator_blast_doors_close"); + wait(4); + level notify("cleanup_fire_suppression_stuff"); +} + +//Function Number: 68 +atlas_building_roof_walla(param_00) +{ + common_scripts\utility::flag_wait(param_00); + soundscripts\_snd_playsound::snd_play_at("bet_walla_atlas_building_roof",(2674,59238,-28)); + soundsettraceflags("weapons"); + soundsettraceflags("foley"); +} + +//Function Number: 69 +bet_roof_raise_blast_doors(param_00) +{ + soundscripts\_snd::snd_slate("bet_roof_raise_blast_doors"); +} + +//Function Number: 70 +bet_roof_lower_blast_doors(param_00) +{ + soundscripts\_snd::snd_slate("bet_roof_lower_blast_doors"); +} + +//Function Number: 71 +bet_roof_slide_start(param_00) +{ + soundscripts\_snd::snd_slate("bet_roof_slide_start"); +} + +//Function Number: 72 +bet_roof_slo_mo_start(param_00) +{ + soundscripts\_snd::snd_slate("bet_roof_slo_mo_start"); +} + +//Function Number: 73 +bet_roof_slo_mo_stop(param_00) +{ + soundscripts\_snd::snd_slate("bet_roof_slo_mo_stop"); +} + +//Function Number: 74 +bet_roof_glass_hit(param_00) +{ + soundscripts\_snd::snd_slate("bet_roof_glass_hit"); +} + +//Function Number: 75 +bet_roof_water_hit(param_00) +{ + soundscripts\_snd::snd_slate("bet_roof_water_hit"); +} + +//Function Number: 76 +bet_swim_bullet_trails(param_00) +{ + if(level.aud.underwater == 1) + { + var_01 = soundscripts\_audio::aud_find_exploder(param_00); + if(isdefined(var_01)) + { + var_02 = var_01.v["origin"]; + soundscripts\_snd_playsound::snd_play_at("bet_swim_bullet_trail",var_02); + } + } +} + +//Function Number: 77 +bet_swim_boat_explo(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("bet_swim_boat_explo"); + maps\_utility::delaythread(3,::bet_swim_boat_sink,param_00); +} + +//Function Number: 78 +bet_swim_boat_sink(param_00) +{ + if(level.aud.underwater == 1) + { + param_00 soundscripts\_snd_playsound::snd_play_linked("bet_swim_boat_sink","kill_sink_audio"); + } +} + +//Function Number: 79 +bet_swim_boat_hit_bottom(param_00) +{ + if(level.aud.underwater == 1) + { + param_00 soundscripts\_snd_playsound::snd_play_linked("bet_swim_boat_hit_bottom"); + level notify("kill_sink_audio"); + } +} + +//Function Number: 80 +bet_swim_dock_explode(param_00) +{ + var_01 = soundscripts\_audio::aud_find_exploder(param_00); + if(isdefined(var_01)) + { + var_02 = var_01.v["origin"]; + soundscripts\_snd_playsound::snd_play_at("bet_swim_boat_explo",var_02); + } +} + +//Function Number: 81 +bet_swim_dock_debris_blocker() +{ + var_00 = (3488,62164,-784); + wait(0.5); + soundscripts\_snd_playsound::snd_play_at("bet_swim_boat_hit_bottom",var_00); +} + +//Function Number: 82 +player_drowning_start() +{ + soundscripts\_snd::snd_slate("snd: drowning"); + soundscripts\_snd_playsound::snd_play_2d("underwater_drowning","kill_drowning_audio"); + soundscripts\_snd_playsound::snd_play_loop_2d("underwater_bubble_lp_player","kill_drowning_audio"); + self waittill("stop_drowning"); + level notify("kill_drowning_audio"); + soundscripts\_snd::snd_slate("snd: not drowning"); +} + +//Function Number: 83 +market_walla_init() +{ + level endon("market_walla_cleanup"); + var_00 = (5146,63703,-388); + var_01 = (5357,64647,-388); + soundscripts\_snd_playsound::snd_play_loop_at("bet_walla_mrkt_calm",var_00,"stop_bet_walla_mrkt_calm",3,3); + soundscripts\_snd_playsound::snd_play_loop_at("bet_walla_mrkt_tense",var_01,"stop_bet_walla_mrkt_tense",3,3); + level waittill("market_walla_guards_wakeup"); + level notify("stop_bet_walla_mrkt_calm"); + level notify("stop_bet_walla_mrkt_tense"); + soundscripts\_snd_playsound::snd_play_at("bet_walla_mrkt_panic1",var_01,"stop_bet_walla_mrkt_panic1",0,3); +} + +//Function Number: 84 +market_walla_cleanup(param_00) +{ + common_scripts\utility::flag_wait(param_00); + level notify("market_walla_cleanup"); + level notify("stop_bet_walla_mrkt_calm"); + level notify("stop_bet_walla_mrkt_tense"); + level notify("stop_bet_walla_mrkt_panic1"); +} + +//Function Number: 85 +add_doc_civ_walla(param_00) +{ + if(!isdefined(level.aud.oldtown_civs)) + { + var_01 = soundscripts\_snd_playsound::snd_play_loop_2d("bet_walla_doc_panic","stop_bet_walla_doc_panic",1,3); + level.aud.oldtown_civs = []; + thread monitor_oldtown_doc_civs(var_01); + } + + level.aud.oldtown_civs[level.aud.oldtown_civs.size] = param_00; +} + +//Function Number: 86 +monitor_oldtown_doc_civs(param_00) +{ + var_01 = 0.2; + while(!common_scripts\utility::flag("boat_scene_start")) + { + level.aud.oldtown_civs = common_scripts\utility::array_removeundefined(level.aud.oldtown_civs); + var_02 = level.aud.oldtown_civs.size; + var_03 = 0; + foreach(var_05 in level.aud.oldtown_civs) + { + var_03 = var_03 + distance2d(level.player.origin,var_05.origin); + } + + var_07 = get_oldtown_doc_civ_vol(var_02,var_03); + param_00 scalevolume(var_07,var_01); + wait(var_01); + } + + level notify("stop_bet_walla_doc_panic"); +} + +//Function Number: 87 +get_oldtown_doc_civ_vol(param_00,param_01) +{ + if(param_00 <= 0) + { + return 0; + } + + var_02 = param_01 / param_00; + var_03 = [[360,1],[900,0.5],[1080,0]]; + var_04 = [[0,0],[5,0.2],[8,1]]; + var_05 = soundscripts\_snd::snd_map(var_02,var_03); + var_06 = soundscripts\_snd::snd_map(param_00,var_04); + if(common_scripts\utility::flag("boat_scene_start")) + { + var_06 = var_06 * 0.5; + } + + return var_05 * var_06; +} + +//Function Number: 88 +ai_step_up_32(param_00) +{ + if(param_00 == level.ilana) + { + soundscripts\_snd::snd_printlnbold("Ilana Step Up 32 Units"); + } +} + +//Function Number: 89 +ai_mantle_over_low_cover_40(param_00) +{ + if(param_00 == level.ilana) + { + soundscripts\_snd::snd_printlnbold("Ilana Mantle Over Lowe Cover"); + } +} + +//Function Number: 90 +ai_slide_across_car(param_00) +{ + if(param_00 == level.ilana) + { + soundscripts\_snd::snd_printlnbold("Ilana Roof Slide"); + } +} + +//Function Number: 91 +ai_jump_over_40_down_88(param_00) +{ + if(param_00 == level.ilana) + { + soundscripts\_snd::snd_printlnbold("Ilana Roof Mantle"); + } +} + +//Function Number: 92 +civ_boat_spawn(param_00) +{ + var_01 = "bet_npc_boats_flyby"; + var_02 = []; + var_02[0] = 800; + var_03 = []; + var_03[0] = 20; + var_03[1] = 5; + thread soundscripts\_snd_common::snd_advanced_flyby_system(var_01,undefined,var_02,var_03,1,undefined,undefined,3,2); +} + +//Function Number: 93 +aud_impact_system_diveboat(param_00) +{ + var_01 = []; + var_01["Debug"] = 0; + var_01["VehicleID"] = "dive_boat_impact"; + var_01["PV_MinVelocityThreshold"] = 1; + var_01["PV_MaxVelocity"] = 500; + var_01["PV_NumVelocityRanges"] = 3; + var_01["PV_MaxSmlVelocity"] = 200; + var_01["PV_MaxMedVelocity"] = 350; + var_01["PV_MaxLrgVelocity"] = 500; + var_01["NPC_MinVelocityThreshold"] = 1; + var_01["NPC_MaxVelocity"] = 500; + var_01["NPC_NumVelocityRanges"] = 3; + var_01["NPC_MaxSmlVelocity"] = 200; + var_01["NPC_MaxMedVelocity"] = 350; + var_01["NPC_MaxLrgVelocity"] = 500; + var_01["MinLFEVolumeThreshold"] = 0; + var_01["FallVelMultiplier"] = 0.1; + var_01["MinTimeThreshold"] = 250; + var_01["ScrapeEnabled"] = 0; + var_01["ScrapeSeperationTime"] = 0.5; + var_01["ScrapeFadeOutTime"] = 0.5; + var_01["ScrapeUpdateRate"] = 0.05; + var_01["TireSkidProbability"] = 0; + var_01["MaxDistanceThreshold"] = 6000; + var_01["MedVolMin"] = 0.1; + var_01["LrgVolMin"] = 0.5; + var_01["NonPlayerImpVolReduction"] = 0; + var_02 = []; + var_02 = ["vehicle"]; + soundscripts\_snd_common::snd_play_vehicle_collision(param_00,var_01,var_02); +} + +//Function Number: 94 +aud_ambient_helicopter(param_00) +{ + self vehicle_turnengineoff(); + if(param_00 == "spawner_boat_chase_warbird") + { + if(issubstr(self.spawner.script_linkname,"230")) + { + var_01 = 230; + param_00 = "boat_chase_warbird_" + var_01; + } + else if(issubstr(self.spawner.script_linkname,"231")) + { + var_01 = 231; + param_00 = "boat_chase_warbird_" + var_01; + } + else + { + param_00 = "boat_chase_warbird"; + } + } + + var_02 = self.vehicletype; + if(isdefined(param_00) && var_02 == "littlebird") + { + switch(param_00) + { + case "office_scene_warbird02": + soundscripts\_snd::snd_slate("Spawn: " + param_00); + soundscripts\_audio_mix_manager::mm_add_submix("bet_littlebird_flyby_patio"); + soundscripts\_snd_playsound::snd_play_delayed_linked("bet_littlebird_rooftop_flyby",7.7); + wait(15); + soundscripts\_audio_mix_manager::mm_clear_submix("bet_littlebird_flyby_patio"); + break; + + default: + break; + } + } + + if(isdefined(param_00) && var_02 == "xh9_warbird") + { + switch(param_00) + { + case "office_scene_warbird01": + soundscripts\_snd::snd_slate("Spawn: " + param_00); + soundscripts\_audio_mix_manager::mm_add_submix("bet_warbird_flyby_interior"); + soundscripts\_snd_playsound::snd_play_delayed_linked("bet_warbird_flyby_interior",1.5); + wait(10); + soundscripts\_audio_mix_manager::mm_clear_submix("bet_warbird_flyby_interior"); + break; + + case "swim_ambush_helo": + soundscripts\_snd::snd_slate("Spawn: " + param_00); + break; + + case "sewer_exit_warbird_outro": + soundscripts\_snd::snd_slate("Spawn: " + param_00); + soundscripts\_audio_mix_manager::mm_add_submix("bet_warbird_sewer_flyover"); + soundscripts\_snd_playsound::snd_play_delayed_linked("bet_warbird_sewer_flyover",5.7); + wait(12); + soundscripts\_audio_mix_manager::mm_clear_submix("bet_warbird_sewer_flyover"); + break; + + case "boat_chase_warbird_230": + soundscripts\_snd::snd_slate("Spawn: " + param_00); + break; + + case "boat_chase_warbird_231": + soundscripts\_snd::snd_slate("Spawn: " + param_00); + break; + + case "spawner_climb_onfoot_heli": + soundscripts\_snd::snd_slate("Spawn: " + param_00); + soundscripts\_audio_mix_manager::mm_add_submix("bet_warbird_rooftop_arrive_depart"); + soundscripts\_snd_playsound::snd_play_delayed_linked("bet_warbird_rooftop_arrive",1,undefined,"kill_roof_warbird_idle_sfx",0.5,5); + thread aud_rooftop_warbird_departing(); + wait(30); + soundscripts\_audio_mix_manager::mm_clear_submix("bet_warbird_rooftop_arrive_depart"); + break; + + default: + break; + } + } +} + +//Function Number: 95 +aud_rooftop_warbird_departing() +{ + self waittill("unloaded"); + soundscripts\_snd_playsound::snd_play_delayed_linked("bet_warbird_rooftop_depart",0); + level notify("kill_roof_warbird_idle_sfx"); +} + +//Function Number: 96 +lock_on_target() +{ + soundscripts\_snd_playsound::snd_play_2d("bet_lock_on_target"); +} + +//Function Number: 97 +bet_boat_crash_audio_handler() +{ + level.aud.diveboat_ending = 1; + soundscripts\_snd_common::snd_disable_soundcontextoverride("diveboat"); + soundscripts\_audio_mix_manager::mm_clear_submix("bet_boat_chase"); + soundscripts\_audio_mix_manager::mm_add_submix("bet_boat_crash"); + soundscripts\_snd_playsound::snd_play_2d("bet_boat_crash_jump"); +} + +//Function Number: 98 +bet_boat_crash_bldg_impact() +{ + soundscripts\_snd_playsound::snd_play_2d("bet_boat_crash_impact"); +} + +//Function Number: 99 +crate_path_start(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("bet_climb_const_crate_close",15.5); +} + +//Function Number: 100 +crate_move_start(param_00) +{ + if(!isdefined(level._snd.crate_count)) + { + level._snd.crate_count = 0; + } + + var_01 = self; + if(param_00 == "climbimg_moving_crate_on_foot_start_node") + { + return; + } + + if(param_00 == "climbimg_moving_crate_construction_ambience_start_node") + { + level._snd.crate_count = level._snd.crate_count + 1; + if(level._snd.crate_count == 2) + { + soundscripts\_snd::snd_slate("crate_move_start - 1"); + } + + var_01 soundscripts\_snd_playsound::snd_play_delayed_linked("bet_climb_const_crate_far_01",0); + return; + } + + if(param_00 == "climbimg_moving_crate_climb_ambience_start_node") + { + level._snd.crate_count = level._snd.crate_count + 1; + if(level._snd.crate_count == 3) + { + soundscripts\_snd::snd_slate("crate_move_start - 2"); + } + + var_01 soundscripts\_snd_playsound::snd_play_delayed_linked("bet_climb_const_crate_far_02",0); + return; + } +} + +//Function Number: 101 +reverse_mag_glove_crane_move() +{ + soundscripts\_snd::snd_slate("reverse_mag_glove_crane_move"); +} + +//Function Number: 102 +spawn_ending_pcap_warbird() +{ + soundscripts\_snd::snd_slate("spawn_ending_pcap_warbird"); +} + +//Function Number: 103 +bet_holo_irons_stand_and_walk(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("bet_holo_irons_walk"); +} + +//Function Number: 104 +bet_conf_gideon_reacts(param_00) +{ +} + +//Function Number: 105 +bet_conf_gideon_turns_to_leave(param_00) +{ +} + +//Function Number: 106 +bet_conf_gideon_exits(param_00) +{ +} + +//Function Number: 107 +bet_conf_irons_enters(param_00) +{ +} + +//Function Number: 108 +bet_conf_irons_walks_to_ilona(param_00) +{ +} + +//Function Number: 109 +bet_conf_irons_turns_to_leave(param_00) +{ +} + +//Function Number: 110 +bet_conf_irons_exits(param_00) +{ + soundscripts\_snd_timescale::snd_set_timescale("slomo_timescale"); +} + +//Function Number: 111 +bet_conf_guard_1_enter(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("bet_conf_guy1_enters"); +} + +//Function Number: 112 +bet_conf_guard_wpn_trained(param_00) +{ +} + +//Function Number: 113 +bet_conf_guard_1_swing_wpn(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("bet_conf_guy1_swings_wpn"); +} + +//Function Number: 114 +bet_conf_escape_guard_1_react(param_00) +{ +} + +//Function Number: 115 +bet_conf_escape_guard_1_tripped(param_00) +{ +} + +//Function Number: 116 +bet_conf_escape_guard_1_punched(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("bet_conf_guy1_punched"); +} + +//Function Number: 117 +bet_conf_guard_2_push_down_ilona(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("bet_conf_guy2_pushes_ilona"); +} + +//Function Number: 118 +bet_conf_escape_guard_2_punch(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("bet_conf_guy2_roughs_up_ilona"); +} + +//Function Number: 119 +bet_conf_escape_guard_2_shot(param_00) +{ +} + +//Function Number: 120 +bet_conf_ilona_punched(param_00) +{ +} + +//Function Number: 121 +bet_conf_plr_knock_back(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("bet_conf_plr_knock_back"); +} + +//Function Number: 122 +bet_conf_plr_punched(param_00) +{ +} + +//Function Number: 123 +bet_conf_plr_pull_wpn(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("bet_conf_plr_pull_wpn"); +} + +//Function Number: 124 +bet_conf_plr_sit_back(param_00) +{ +} + +//Function Number: 125 +bet_conf_plr_lean(param_00) +{ +} + +//Function Number: 126 +bet_conf_escape_plr_foot_sweep(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("bet_conf_plr_foot_sweep"); +} + +//Function Number: 127 +bet_conf_escape_plr_punch(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("bet_conf_plr_punch"); +} + +//Function Number: 128 +bet_conf_escape_plr_wpn(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("bet_conf_plr_pickup_wpn"); +} + +//Function Number: 129 +bet_elevator_exoclimb_dismount(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("bet_exo_climb_pullup_gear"); + soundscripts\_snd_playsound::snd_play_2d("bet_exo_climb_pullup_mag"); + soundscripts\_snd_playsound::snd_play_delayed_2d("bet_exo_climb_pullup_fs",0.25); +} + +//Function Number: 130 +bet_elevator_exoclimb_dismount_foot(param_00) +{ +} + +//Function Number: 131 +bet_escape_roof_slide() +{ + soundscripts\_snd_timescale::snd_set_timescale("slomo_timescale"); + soundscripts\_audio_mix_manager::mm_add_submix("bet_roof_slide"); + soundscripts\_snd_playsound::snd_play_2d("bet_roof_slide"); +} + +//Function Number: 132 +bet_escape_roof_slomo_start() +{ + soundscripts\_audio_mix_manager::mm_add_submix("bet_roof_slide_slo_mo"); +} + +//Function Number: 133 +bet_escape_roof_slomo_end() +{ + soundscripts\_audio_mix_manager::mm_clear_submix("bet_roof_slide_slo_mo"); + soundscripts\_snd_playsound::snd_play_delayed_2d("bet_water_player_pre_splash",3.15,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("bet_water_player_splash_fronts",3.2,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("bet_water_player_hit_underwater",3.3,1); + wait(3); + soundscripts\_audio_mix_manager::mm_add_submix("bet_player_splashdown"); + soundscripts\_audio_mix_manager::mm_clear_submix("bet_roof_slide"); + soundscripts\_snd_timescale::snd_set_timescale("all_on"); + wait(3); + soundscripts\_audio_mix_manager::mm_clear_submix("bet_player_splashdown"); + soundscripts\_audio_mix_manager::mm_add_submix("bet_swarm_down"); +} + +//Function Number: 134 +bet_ilona_swim_start(param_00) +{ + soundscripts\_snd::snd_slate("bet_ilona_swim_start"); + soundscripts\_audio_mix_manager::mm_add_submix("bet_swim_surface"); + param_00 soundscripts\_snd_playsound::snd_play_loop_linked("underwater_bubble_lp_sm_01","kill_ilona_swim_loop"); +} + +//Function Number: 135 +bet_ilona_swim_end(param_00) +{ + soundscripts\_snd::snd_slate("bet_ilona_swim_end"); + level notify("kill_ilona_swim_loop"); + soundscripts\_audio_mix_manager::mm_clear_submix("bet_swim_surface"); +} + +//Function Number: 136 +manhole_move_start_foley(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("bet_manhole_cover_foley"); +} + +//Function Number: 137 +manhole_move_start(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("bet_manhole_cover_move"); +} + +//Function Number: 138 +bet_boat_enter_plr_start(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("bet_boat_chase"); + soundscripts\_snd_common::snd_enable_soundcontextoverride("diveboat"); + soundscripts\_snd_playsound::snd_play_2d("dive_boat_enter"); + soundscripts\_snd_playsound::snd_play_at("dive_boat_dive_canopy_open",(855,61685,-550)); + soundscripts\_audio_zone_manager::azm_start_zone("ext_boat"); + soundscripts\_audio_mix_manager::mm_clear_submix("bet_swarm_down"); +} + +//Function Number: 139 +bet_boat_enter_plr_jump_into_boat(param_00) +{ +} + +//Function Number: 140 +bet_boat_enter_plr_sit(param_00) +{ +} + +//Function Number: 141 +bet_boat_enter_plr_exo_arm(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("dive_boat_equip"); +} + +//Function Number: 142 +bet_boat_enter_plr_grab_wheel(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("dive_boat_ready"); +} + +//Function Number: 143 +bet_boat_enter_plr_power_on(param_00) +{ + wait(0.75); + soundscripts\_snd_playsound::snd_play_2d("dive_boat_dive_power_on") soundscripts\_snd_playsound::snd_play_2d("dive_boat_dive_canopy_close"); + level.player_boat thread vehicle_scripts\_diveboat::diveboat_audio(); + thread bet_boat_dive_watcher(level.player_boat); +} + +//Function Number: 144 +bet_boat_dive_watcher(param_00) +{ + thread bet_boat_end_watcher(); + var_01 = 0; + for(;;) + { + if(param_00 vehicle_diveboatissubmerged()) + { + if(var_01 == 0) + { + soundscripts\_audio_mix_manager::mm_add_submix("underwater",0.05); + soundscripts\_snd_common::snd_enable_soundcontextoverride("underwater"); + soundscripts\_snd_playsound::snd_play_2d("dive_boat_dive_one_shot_plr"); + soundscripts\_snd_playsound::snd_play_loop_2d("underwater_main_lp","kill_submerged_loop",undefined,undefined,0.75); + var_01 = 1; + } + } + else if(var_01 == 1) + { + soundscripts\_audio_mix_manager::mm_clear_submix("underwater",0.05); + level notify("kill_submerged_loop"); + soundscripts\_snd_playsound::snd_play_2d("dive_boat_surface_one_shot_plr"); + soundscripts\_snd_common::snd_disable_soundcontextoverride("underwater"); + var_01 = 0; + } + + if(isdefined(level.aud.boat_end) && level.aud.boat_end == 1) + { + break; + } + + wait 0.05; + } +} + +//Function Number: 145 +bet_boat_end_watcher() +{ + common_scripts\utility::flag_wait("flag_objective_boat_chase_complete"); + level.aud.boat_end = 1; +} + +//Function Number: 146 +bet_boat_exit_start(param_00) +{ + soundscripts\_audio_mix_manager::mm_clear_submix("bet_boat_crash"); + soundscripts\_audio_mix_manager::mm_add_submix("bet_boat_post_crash"); + soundscripts\_snd_playsound::snd_play_2d("bet_boat_exit_plr"); + soundscripts\_audio_zone_manager::azm_start_zone("ext_tower"); +} + +//Function Number: 147 +bet_boat_exit_jump_out(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("bet_boat_exit_plr_jump"); + soundscripts\_snd_playsound::snd_play_2d("bet_boat_exit_debris"); +} + +//Function Number: 148 +bet_boat_exit_stand_up(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("bet_boat_exit_plr_stand"); +} + +//Function Number: 149 +bet_boat_exit_ilona(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("bet_boat_exit_ilona"); +} + +//Function Number: 150 +bet_boat_exit_ilona_pickup_wpn(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("bet_boat_exit_ilona_wpn"); +} + +//Function Number: 151 +bet_boat_exit_ilona_stand(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("bet_boat_exit_ilona_stand"); + wait(2); + soundscripts\_audio_mix_manager::mm_clear_submix("bet_boat_post_crash"); +} + +//Function Number: 152 +aud_crane_mount_crouch_jump(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("betrayal_ending"); + soundscripts\_snd_playsound::snd_play_2d("bet_crane_climb_mount_gear"); +} + +//Function Number: 153 +aud_crane_mount_lt_hand_hit(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("bet_crane_climb_mount_mag"); +} + +//Function Number: 154 +aud_crane_mount_rt_hand_hit(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("exo_climb_hit_magnet",0.1); +} + +//Function Number: 155 +aud_crane_mount_lt_hand_rest(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_climb_rest_magnet"); +} + +//Function Number: 156 +aud_crane_mount_rt_hand_rest(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_climb_rest_magnet"); +} + +//Function Number: 157 +aud_bet_exo_climb_gear_lt(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_climb_gear_lt"); +} + +//Function Number: 158 +aud_bet_exo_climb_gear_rt(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_climb_gear_rt"); +} + +//Function Number: 159 +aud_bet_exo_climb_windup_lt(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_climb_windup_lt"); +} + +//Function Number: 160 +aud_bet_exo_climb_windup_rt(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_climb_windup_rt"); +} + +//Function Number: 161 +aud_bet_exo_climb_hit_lt(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_climb_hit_magnet"); +} + +//Function Number: 162 +aud_bet_exo_climb_hit_rt(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_climb_hit_magnet"); +} + +//Function Number: 163 +aud_bet_exo_climb_settle_lt(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("bet_crane_climb_swing_leather"); +} + +//Function Number: 164 +aud_bet_exo_climb_settle_rt(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("bet_crane_climb_swing_leather"); +} + +//Function Number: 165 +betrayal_finale_player_jump(param_00) +{ + soundscripts\_snd::snd_slate("betrayal_finale_player_jump"); + soundscripts\_snd_playsound::snd_play_2d("bet_crane_dismount_gear_jangle"); + soundscripts\_snd_playsound::snd_play_delayed_2d("bet_crane_dismount_slide_mtl",0.5); + soundscripts\_snd_playsound::snd_play_delayed_2d("bet_crane_dismount_land_hit",6); + soundscripts\_snd_playsound::snd_play_delayed_2d("bet_crane_dismount_land_gear",8.5); +} + +//Function Number: 166 +finale_cormack_walk_1(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("bet_finale_cormack_walk_1_fts"); + soundscripts\_snd_playsound::snd_play_2d("bet_finale_cormack_walk_1_gear"); +} + +//Function Number: 167 +finale_cormack_decloak(param_00) +{ + soundscripts\_snd::snd_slate("finale_cormack_decloak"); + soundscripts\_snd_playsound::snd_play_2d("bet_finale_cormack_decloak"); + soundscripts\_audio_mix_manager::mm_add_submix("bet_warbird_ending_dropoff"); + soundscripts\_snd_playsound::snd_play_delayed_2d("bet_warbird_ending_dropoff",4.1); +} + +//Function Number: 168 +finale_cormack_walk_2(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("bet_finale_cormack_walk_2_fts"); + soundscripts\_snd_playsound::snd_play_2d("bet_finale_cormack_walk_2_gear"); +} + +//Function Number: 169 +finale_cormack_walk_3(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("bet_finale_cormack_walk_3_fts"); + soundscripts\_snd_playsound::snd_play_2d("bet_finale_cormack_walk_3_gear"); +} + +//Function Number: 170 +finale_crate_open_1(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("bet_finale_crate_open"); +} + +//Function Number: 171 +finale_crate_close(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("bet_finale_crate_close"); + soundscripts\_snd_playsound::snd_play_2d("bet_finale_crate_close_drawnout"); +} + +//Function Number: 172 +finale_gideon_jump(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("bet_finale_gideon_jump_fts"); + soundscripts\_snd_playsound::snd_play_2d("bet_finale_gideon_jump_gear"); + soundscripts\_snd_playsound::snd_play_2d("bet_finale_additional_movement_fts"); + soundscripts\_snd_playsound::snd_play_2d("bet_finale_additional_movement_gear"); +} + +//Function Number: 173 +finale_gideon_radio(param_00) +{ + soundscripts\_snd::snd_slate("finale_gideon_radio"); + soundscripts\_snd_playsound::snd_play_2d("bet_finale_gideon_radio_gear"); +} + +//Function Number: 174 +finale_gideon_leave(param_00) +{ + soundscripts\_snd::snd_slate("finale_gideon_leave"); + soundscripts\_snd_playsound::snd_play_2d("bet_finale_gideon_leave_fts"); + soundscripts\_snd_playsound::snd_play_2d("bet_finale_gideon_leave_gear"); +} + +//Function Number: 175 +finale_ilana_land(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("bet_finale_ilona_land_fts"); + soundscripts\_snd_playsound::snd_play_delayed_2d("bet_finale_ilona_land_gear",1.5); +} + +//Function Number: 176 +finale_ilana_turn(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("bet_finale_ilona_turn_gear"); +} + +//Function Number: 177 +finale_joker_jump(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("bet_finale_joker_jump_fts"); + soundscripts\_snd_playsound::snd_play_2d("bet_finale_joker_jump_gear"); +} + +//Function Number: 178 +bet_foley_override_handler() +{ + level.player endon("death"); + for(;;) + { + level.player waittill("foley",var_00,var_01,var_02); + switch(var_00) + { + case "stationarycrouchscuff": + if(isdefined(level.aud.skybridge) && level.aud.skybridge == 1) + { + soundscripts\_snd_playsound::snd_play_2d("bet_fs_glass_debris_scrape"); + } + break; + + case "stationaryscuff": + if(isdefined(level.aud.skybridge) && level.aud.skybridge == 1) + { + soundscripts\_snd_playsound::snd_play_2d("bet_fs_glass_debris_scrape"); + } + break; + + case "crouchscuff": + if(isdefined(level.aud.skybridge) && level.aud.skybridge == 1) + { + soundscripts\_snd_playsound::snd_play_2d("bet_fs_glass_debris_scrape"); + } + break; + + case "runscuff": + if(isdefined(level.aud.skybridge) && level.aud.skybridge == 1) + { + soundscripts\_snd_playsound::snd_play_2d("bet_fs_glass_debris_scrape"); + } + break; + + case "sprintscuff": + if(isdefined(level.aud.skybridge) && level.aud.skybridge == 1) + { + soundscripts\_snd_playsound::snd_play_2d("bet_fs_glass_debris_scrape"); + } + break; + + case "prone": + if(isdefined(level.aud.skybridge) && level.aud.skybridge == 1) + { + if(var_02) + { + soundscripts\_snd_playsound::snd_play_2d("bet_fs_glass_debris_prone"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("bet_fs_glass_debris_prone"); + } + } + break; + + case "crouchwalk": + if(isdefined(level.aud.skybridge) && level.aud.skybridge == 1) + { + if(var_02) + { + soundscripts\_snd_playsound::snd_play_2d("bet_fs_glass_debris_walk"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("bet_fs_glass_debris_walk"); + } + } + break; + + case "crouchrun": + if(isdefined(level.aud.skybridge) && level.aud.skybridge == 1) + { + if(var_02) + { + soundscripts\_snd_playsound::snd_play_2d("bet_fs_glass_debris_run"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("bet_fs_glass_debris_run"); + } + } + break; + + case "walk": + if(isdefined(level.aud.skybridge) && level.aud.skybridge == 1) + { + if(var_02) + { + soundscripts\_snd_playsound::snd_play_2d("bet_fs_glass_debris_walk"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("bet_fs_glass_debris_walk"); + } + } + break; + + case "run": + if(isdefined(level.aud.skybridge) && level.aud.skybridge == 1) + { + if(var_02) + { + soundscripts\_snd_playsound::snd_play_2d("bet_fs_glass_debris_run"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("bet_fs_glass_debris_run"); + } + } + break; + + case "sprint": + if(isdefined(level.aud.skybridge) && level.aud.skybridge == 1) + { + if(var_02) + { + soundscripts\_snd_playsound::snd_play_2d("bet_fs_glass_debris_sprint"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("bet_fs_glass_debris_sprint"); + } + } + break; + + case "jump": + break; + + case "lightland": + if(isdefined(level.aud.skybridge) && level.aud.skybridge == 1) + { + soundscripts\_snd_playsound::snd_play_2d("bet_fs_glass_debris_land_lt"); + } + break; + + case "mediumland": + if(isdefined(level.aud.skybridge) && level.aud.skybridge == 1) + { + soundscripts\_snd_playsound::snd_play_2d("bet_fs_glass_debris_land_med"); + } + break; + + case "heavyland": + if(isdefined(level.aud.skybridge) && level.aud.skybridge == 1) + { + soundscripts\_snd_playsound::snd_play_2d("bet_fs_glass_debris_land_hv"); + } + break; + + case "damageland": + if(isdefined(level.aud.skybridge) && level.aud.skybridge == 1) + { + soundscripts\_snd_playsound::snd_play_2d("bet_fs_glass_debris_land_dmg"); + } + break; + + case "mantleuphigh": + break; + + case "mantleupmedium": + break; + + case "mantleuplow": + break; + + case "mantleoverhigh": + break; + + case "mantleovermedium": + break; + + case "mantleoverlow": + break; + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/betrayal_code.gsc b/AW/PC/maps/betrayal_code.gsc new file mode 100644 index 0000000..6851868 --- /dev/null +++ b/AW/PC/maps/betrayal_code.gsc @@ -0,0 +1,7153 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: betrayal_code.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 366 + * Decompile Time: 6739 ms + * Timestamp: 4/22/2024 2:25:32 AM +*******************************************************************/ + +//Function Number: 1 +office_scene_master_handler() +{ + office_scene_pre_setup(); + office_scene_setup(); + office_scene_cleanup(); + level thread confrontation_scene_master_handler(); +} + +//Function Number: 2 +office_scene_pre_setup() +{ + level thread office_scene_player_actions_manager(); + level.player freezecontrols(1); + thread office_scene_vignette_setup(); + maps\betrayal_util::prepare_blast_doors("roof_window_blastdoor",-200); + maps\betrayal_util::prepare_blast_doors("roof_slide_blastdoor",-160); + maps\betrayal_util::prepare_blast_doors("roof_slide_blastdoor_mrX",-160); + level.gideon pushplayer(1); + level.gideon maps\_utility::set_moveplaybackrate(1.025,0.5); + common_scripts\utility::flag_set("flag_dialogue_start_office"); + common_scripts\utility::flag_wait("flag_office_start_intro_pcap"); + thread maps\betrayal_lighting::lighting_target_dof(level.player,level.gideon,2.5,23); + office_scene_intro_pcap(); +} + +//Function Number: 3 +office_scene_intro_pcap() +{ + if(isdefined(getent("flag_office_gideon_start_moving","targetname"))) + { + maps\_utility::activate_trigger_with_targetname("flag_office_gideon_start_moving"); + } + + level.gideon.dynamicturnscaling = 1; + level.gideon maps\betrayal_util::setup_squad_member_for_scene(); + level.player freezecontrols(0); + var_00 = maps\_utility::spawn_anim_model("player_rig",level.player.origin,level.player.angles); + var_00 hide(); + level.player lerpfov(40,0.05); + var_01 = 0.5; + level.player playerlinktoblend(var_00,"tag_player",var_01); + level.player common_scripts\utility::delaycall(var_01,::playerlinktodelta,var_00,"tag_player",0.75,8,22,14,4,1); + level.player enableslowaim(); + level.player enableweapons(); + var_00 common_scripts\utility::delaycall(var_01,::show); + var_02 = [var_00,level.gideon]; + var_03 = maps\betrayal_util::get_ent_by_targetname("animorg_intro_moment"); + var_03 thread maps\_anim::anim_single_solo_run(level.gideon,"intro"); + var_03 maps\_anim::anim_single_solo(var_00,"intro"); + var_00 delete(); + level.gideon maps\betrayal_util::setup_squad_member_for_gameplay(); + level.player unlink(); + level.player disableslowaim(); + level.player allowcrouch(1); + office_scene_player_give_just_hands(); + level thread maps\betrayal_util::start_player_office_scene_walk_sway(); + maps\_utility::autosave_by_name(); +} + +//Function Number: 4 +office_scene_setup() +{ + level thread office_scene_move_to_secret_room(); + common_scripts\utility::flag_set("flag_dialogue_start_office"); +} + +//Function Number: 5 +office_scene_move_to_secret_room() +{ + level thread office_scene_player_movement_manager(); + office_scene_gideon_to_roof(); + office_scene_gideon_to_stairs(); + office_scene_gideon_enter_secret_room(); +} + +//Function Number: 6 +office_scene_gideon_to_roof() +{ + common_scripts\utility::flag_set("flag_objective_office_scene_follow_gideon"); + common_scripts\utility::flag_set("office_scene_heli_go_1"); + common_scripts\utility::flag_wait("flag_office_gideon_at_roof_door"); + var_00 = maps\betrayal_util::get_ents_by_targetname("office_hallway_door_right"); + var_01 = maps\betrayal_util::get_ents_by_targetname("office_hallway_door_left"); + soundscripts\_snd::snd_message("office_hallway_door_open",var_01,var_00); + maps\betrayal_util::open_double_sliding_doors_toggle("office_hallway_door",1); + common_scripts\utility::flag_set("flag_office_gideon_clear_to_move_to_roof"); + maps\_utility::activate_trigger_with_targetname("trigger_office_gideon_to_roof"); + maps\betrayal_util::wait_for_trigger_and_ai_single("trigger_office_alone_on_roof",level.gideon); + soundscripts\_snd::snd_message("office_hallway_door_close",var_01,var_00); + maps\betrayal_util::open_double_sliding_doors_toggle("office_hallway_door",1); + common_scripts\utility::flag_set("flag_office_clean_up_awards"); +} + +//Function Number: 7 +office_scene_gideon_to_stairs() +{ + common_scripts\utility::run_thread_on_targetname("trigger_office_start_gideon_double_stairs",::office_scene_gideon_down_double_stairs); + common_scripts\utility::flag_wait("flag_office_gideon_at_stairs_door"); + var_00 = maps\betrayal_util::get_ents_by_targetname("office_roof_door_right"); + var_01 = maps\betrayal_util::get_ents_by_targetname("office_roof_door_left"); + soundscripts\_snd::snd_message("office_roof_door_open",var_01,var_00); + maps\betrayal_util::open_double_sliding_doors_toggle("office_roof_door",0.75); + if(isdefined(getent("trigger_office_gideon_to_stairs","targetname"))) + { + maps\_utility::activate_trigger_with_targetname("trigger_office_gideon_to_stairs"); + } + + common_scripts\utility::flag_set("flag_office_gideon_ready_to_move_down_stairs"); + maps\betrayal_util::wait_for_trigger_and_ai_single("trigger_office_in_stairwell",level.gideon); + maps\_utility::autosave_by_name(); + soundscripts\_snd::snd_message("office_roof_door_close",var_01,var_00); + maps\betrayal_util::open_double_sliding_doors_toggle("office_roof_door",1); + common_scripts\_exploder::exploder(1999); +} + +//Function Number: 8 +office_scene_gideon_down_double_stairs() +{ + self waittill("trigger"); + var_00 = maps\betrayal_util::get_ent_by_targetname("animorg_atlas_stairs"); + var_00 maps\_anim::anim_reach_solo(level.gideon,"atlas_bldg_double_stairs"); + var_00 maps\_anim::anim_single_solo_run(level.gideon,"atlas_bldg_double_stairs"); + var_00 delete(); +} + +//Function Number: 9 +office_scene_gideon_enter_secret_room() +{ + maps\_utility::trigger_wait_targetname("trigger_office_gideon_to_swipe_door"); + var_00 = maps\betrayal_util::get_ent_by_targetname("animorg_atlas_keycard"); + level.gideon_walking_down_stairs = 1; + var_00 maps\_anim::anim_reach_solo(level.gideon,"atlas_bldg_swipe_door"); + common_scripts\utility::flag_set("flag_office_gideon_scanning_door"); + soundscripts\_snd::snd_message("bet_gideon_arm_scanner"); + common_scripts\utility::flag_set("flag_dialogue_office_door"); + var_00 maps\_anim::anim_single_solo_run(level.gideon,"atlas_bldg_swipe_door"); + var_00 delete(); +} + +//Function Number: 10 +office_scene_open_swipe_door(param_00) +{ + var_01 = getent("confrontation_door_security_scanner","targetname"); + var_02 = getent("confrontation_door_security_scanner_glow","targetname"); + var_01 setmodel("security_lock_01_unlocked"); + var_02 setmodel("security_lock_01_unlocked_glow"); + wait(2.75); + var_03 = maps\betrayal_util::get_ents_by_targetname("confrontation_room_enter_door_left"); + var_03 soundscripts\_snd::snd_message("aud_scanner_door_open"); + thread maps\betrayal_util::open_sliding_door_toggle(var_03,"confrontation_room_enter_door",0.5); + wait(0.5); + thread office_scene_scripted_player_blocker_move_with_gideon(); + maps\betrayal_util::wait_for_trigger_and_ai_single("trigger_everyone_in_secret_room",level.gideon); + level thread maps\betrayal_util::open_sliding_door_toggle(var_03,"confrontation_room_enter_door",1); + common_scripts\utility::flag_set("flag_objective_office_scene_follow_gideon_complete"); +} + +//Function Number: 11 +office_scene_player_actions_manager() +{ + level.player disableweapons(); + level.player giveweapon("iw5_unarmed_nullattach"); + wait(0.5); + level.player switchtoweapon("iw5_unarmed_nullattach"); + level.player disableweaponswitch(); + level.player maps\_shg_utility::setup_player_for_scene(); + level.player allowjump(0); + level.player allowprone(0); + level.player disableoffhandweapons(); + level.player disableoffhandsecondaryweapons(); + level.player allowsprint(0); + common_scripts\utility::flag_wait("flag_confrontation_give_player_real_gun"); + level.player takeweapon("iw5_unarmed_nullattach"); + var_00 = level.player getweaponslist("primary"); + level.player enableweaponswitch(); + level.player switchtoweapon(var_00[0]); + level.player disableweapons(); + level.player allowjump(1); + level.player allowprone(1); + level.player enableoffhandweapons(); + level.player enableoffhandsecondaryweapons(); + level.player allowsprint(1); +} + +//Function Number: 12 +office_scene_player_give_just_hands() +{ + level.player allowmelee(0); + level.player allowsprint(0); + level.player setmovespeedscale(0.47); +} + +//Function Number: 13 +office_scene_player_movement_manager() +{ + level thread office_scene_player_handle_move_speed(); + common_scripts\utility::flag_wait("trigger_office_scene_player_at_confrontation"); + level.player maps\_utility::player_speed_default(1); +} + +//Function Number: 14 +office_scene_player_handle_move_speed() +{ + var_00 = 0.05; + var_01 = 0.65; + var_02 = 0; + var_03 = 120; + var_04 = 500; + var_05 = 200; + level.player setmovespeedscale(1); + level.playerspeedscale = 1; + var_06 = 1; + while(!common_scripts\utility::flag("flag_office_gideon_scanning_door")) + { + var_07 = distance(level.gideon.origin,level.player.origin); + var_08 = vectornormalize(anglestoforward(level.gideon.angles) + vectornormalize(level.gideon.origin - level.player.origin)); + var_09 = level.gideon maps\_shg_utility::get_differentiated_velocity(); + var_0A = level.player maps\_shg_utility::get_differentiated_velocity(); + if(var_07 > var_04 || abs(level.gideon.origin[2] - level.player.origin[2]) > 110) + { + var_0B = vectorlerp((level.playerspeedscale,0,0),(1,0,0),0.1); + if(isdefined(level.gideon_walking_down_stairs) && level.gideon_walking_down_stairs) + { + } + + level.player setmovespeedscale(var_0B[0]); + level.playerspeedscale = var_0B[0]; + wait 0.05; + continue; + } + + var_0C = 0 - office_scene_player_signed_distance_to_plane(level.gideon.origin,var_08,level.player.origin); + var_0D = var_0C; + var_06 = maps\_shg_utility::linear_map_clamp(var_0D,var_02,var_03,var_00,var_01); + var_0E = length(var_09); + var_0F = length(var_0A); + if(var_0E > var_0F) + { + var_06 = var_06 * 1.1; + } + + waittillframeend; + if(isdefined(level.gideon_walking_down_stairs) && level.gideon_walking_down_stairs) + { + var_06 = var_06 * 0.9; + } + + var_0B = vectorlerp((level.playerspeedscale,0,0),(var_06,0,0),0.32); + level.player setmovespeedscale(var_0B[0]); + level.playerspeedscale = var_0B[0]; + wait 0.05; + } + + level.gideon_walking_down_stairs = undefined; + var_10 = 1 - var_06 / 50; + while(var_06 < 1) + { + var_06 = var_06 + var_10; + level.player setmovespeedscale(var_06); + wait(0.1); + } + + level.player setmovespeedscale(1); +} + +//Function Number: 15 +office_scene_player_signed_distance_to_plane(param_00,param_01,param_02) +{ + return vectordot(param_02 - param_00,param_01); +} + +//Function Number: 16 +office_scene_vignette_setup() +{ + thread office_scene_vignette_setup_civilians(); + maps\betrayal_util::add_spawn_function_to_noteworthy("office_scene_silent_heli",::office_scene_silence_heli); + thread office_scene_vignette_helicopters(); + thread office_scene_vignette_drones(); + thread office_scene_vignette_boats(); + level thread office_scene_vignette_spawn_personal_guard_hallway(); + wait(0.5); + maps\_utility::activate_trigger_with_targetname("office_scene_vig_civ_trigger"); + maps\_utility::activate_trigger_with_targetname("office_scene_vig_civ_walker_trigger"); +} + +//Function Number: 17 +office_scene_vignette_setup_civilians() +{ + common_scripts\utility::run_thread_on_targetname("office_scene_civilian_spawn_trig",::maps\betrayal_util::civilian_setup,"roof_scene_civilian_react_trig",0,0); + common_scripts\utility::run_thread_on_targetname("office_scene_civilian_walker_spawn_trig",::maps\betrayal_util::civilian_walker_setup,"roof_scene_civilian_react_trig",0); + common_scripts\utility::run_thread_on_targetname("office_scene_vig_civ_trigger",::maps\betrayal_util::civilian_setup,10000,1); + common_scripts\utility::run_thread_on_targetname("office_scene_vig_civ_walker_trigger",::maps\betrayal_util::civilian_walker_setup,"roof_scene_civilian_react_trig",0); + thread office_scene_scripted_dodge_gideon_civilian(); + thread office_scene_vignette_handle_atlas_ai(); + wait(0.5); + level.office_civ = getent("spawner_office_atlas_employee","script_noteworthy"); + level.office_civ.animname = "atlas_emp_1"; +} + +//Function Number: 18 +office_scene_vignette_drones() +{ + common_scripts\utility::flag_wait("office_scene_heli_go_3"); + var_00 = getentarray("sewer_scene_drone","targetname"); + foreach(var_02 in var_00) + { + var_03 = var_02 maps\_vehicle::spawn_vehicle_and_gopath(); + var_03 thread office_scene_vignette_handle_drones(); + } +} + +//Function Number: 19 +office_scene_vignette_handle_drones() +{ + common_scripts\utility::flag_wait("trigger_office_scene_player_at_confrontation"); + if(isdefined(self)) + { + self delete(); + } +} + +//Function Number: 20 +office_scene_vignette_boats() +{ + level thread office_scene_vignette_boat_loop_handler("vig_civ_boat","trigger_office_scene_player_at_confrontation"); +} + +//Function Number: 21 +office_scene_vignette_boat_loop_handler(param_00,param_01) +{ + var_02 = getentarray(param_00,"targetname"); + level.boats = []; + level.active_boats = []; + foreach(var_04 in var_02) + { + var_05 = var_04 maps\_utility::spawn_vehicle(); + level.boats = common_scripts\utility::array_add(level.boats,var_05); + if(issubstr(var_05.model,"watertaxi_01")) + { + level thread maps\betrayal_fx::treadfx_ai_boats_taxi_vista(var_05); + continue; + } + + level thread maps\betrayal_fx::treadfx_ai_boats_yacht_vista(var_05); + } + + while(!common_scripts\utility::flag(param_01)) + { + if(level.active_boats.size < 6) + { + var_07 = 0; + for(;;) + { + var_08 = 1; + var_07 = randomintrange(0,level.boats.size); + if(!common_scripts\utility::array_contains(level.active_boats,level.boats[var_07])) + { + break; + } + + wait(0.05); + } + + level.active_boats = common_scripts\utility::array_add(level.active_boats,level.boats[var_07]); + level.boats[var_07] childthread office_scene_vignette_send_boat_through_path(); + wait(randomintrange(7,12)); + } + + wait(1); + } + + common_scripts\utility::flag_wait(param_01); + foreach(var_0A in level.boats) + { + if(isdefined(var_0A)) + { + level.boats = common_scripts\utility::array_remove(level.boats,var_0A); + var_0A delete(); + } + } +} + +//Function Number: 22 +office_scene_vignette_send_boat_through_path(param_00) +{ + var_01 = self.origin; + var_02 = self.angles; + var_03 = getvehiclenode(self.target,"targetname"); + thread maps\_vehicle_code::_vehicle_paths(var_03); + self startpath(var_03); + self waittill("reached_dynamic_path_end"); + self vehicle_teleport(var_01,var_02,0); + level.active_boats = common_scripts\utility::array_remove(level.active_boats,self); +} + +//Function Number: 23 +office_scene_vignette_helicopters() +{ + common_scripts\utility::flag_wait("office_scene_heli_go_1"); + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("office_scene_warbird01"); + var_00 soundscripts\_snd::snd_message("aud_ambient_helicopter","office_scene_warbird01"); + if(level.nextgen) + { + thread maps\betrayal_util::spawn_and_handle_looping_helicopters("office_scene_looping_heli","trigger_office_scene_player_at_confrontation",2); + } + else + { + thread maps\betrayal_util::spawn_and_handle_looping_helicopters("office_scene_looping_heli","trigger_office_scene_player_at_confrontation",1); + } + + common_scripts\utility::flag_wait("office_scene_heli_go_2"); + if(level.nextgen) + { + var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("office_scene_warbird02"); + var_01 soundscripts\_snd::snd_message("aud_ambient_helicopter","office_scene_warbird02"); + var_01 thread office_scene_scripted_handle_landing_heli("trigger_office_gideon_to_swipe_door"); + common_scripts\utility::flag_wait("office_scene_heli_go_3"); + var_02 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("high_fly_warbird01"); + var_02 soundscripts\_snd::snd_message("aud_ambient_helicopter","high_fly_warbird01"); + if(level.nextgen) + { + var_03 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("high_fly_warbird02"); + var_03 soundscripts\_snd::snd_message("aud_ambient_helicopter","high_fly_warbird02"); + var_04 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("high_fly_warbird03"); + var_04 soundscripts\_snd::snd_message("aud_ambient_helicopter","high_fly_warbird03"); + } + } +} + +//Function Number: 24 +office_scene_silence_heli() +{ + self vehicle_turnengineoff(); +} + +//Function Number: 25 +office_scene_vignette_handle_atlas_ai() +{ + var_00 = getentarray("office_scene_atlas_ai_spawner","targetname"); + foreach(var_02 in var_00) + { + var_03 = common_scripts\utility::getstructarray(var_02.target,"targetname"); + foreach(var_05 in var_03) + { + var_06 = var_05 maps\betrayal_util::civilian_spawn_single(var_02,"ai",1); + var_06 office_scene_vignette_set_atlas_walker_urgent_walk_anims(); + var_06 maps\_utility::forceuseweapon("iw5_bal27_sp_variablereddot","primary"); + var_06.disablearrivals = 1; + var_06.disableexits = 1; + var_06 setgoalpos(var_06.origin); + var_06 thread office_scene_vignette_atlas_walker_manager(); + wait 0.05; + var_06 forceteleport(var_05.origin,var_05.angles); + var_06 maps\betrayal_util::remove_display_name(); + var_06 maps\betrayal_util::stop_current_animations(); + var_06.animname = "generic"; + var_06 maps\_utility::set_idle_anim("bet_ceremony_security_idle_guy01"); + } + } +} + +//Function Number: 26 +office_scene_vignette_spawn_personal_guard_hallway() +{ + var_00 = []; + var_01 = maps\betrayal_util::get_ents_by_targetname("office_scene_spawn_personal_guard_hallway"); + foreach(var_03 in var_01) + { + var_04 = var_03 maps\_utility::spawn_ai(1); + var_00 = common_scripts\utility::array_add(var_00,var_04); + } + + foreach(var_04 in var_00) + { + var_04 maps\betrayal_util::remove_display_name(); + var_04 thread maps\betrayal_util::delete_ai_on_flag("trigger_office_scene_player_at_confrontation"); + var_04 maps\betrayal_util::stop_current_animations(); + var_04.animname = "generic"; + var_07 = var_04.animation; + var_04 maps\_utility::set_idle_anim(var_07); + var_04 thread maps\_anim::anim_generic_loop(var_04,var_07); + if(!isdefined(level.office_guard)) + { + level.office_guard = var_04 common_scripts\utility::spawn_tag_origin(); + level.office_guard.animname = "atlas_emp_2"; + } + } +} + +//Function Number: 27 +office_scene_vignette_atlas_walker_manager() +{ + if(isdefined(self.script_linkto)) + { + var_00 = getent(self.script_linkto,"script_linkname"); + var_00 waittill("trigger"); + var_01 = getnode(self.target,"targetname"); + maps\_utility::set_goal_node(var_01); + self.goalradius = 16; + self notify("move"); + self waittill("goal"); + self pushplayer(1); + } + + common_scripts\utility::flag_wait("trigger_office_scene_player_at_confrontation"); + if(isdefined(self)) + { + self delete(); + } +} + +//Function Number: 28 +office_scene_vignette_set_atlas_walker_urgent_walk_anims() +{ + if(isdefined(self.isurgentwalk)) + { + return; + } + + maps\_utility::gun_remove(); + self.isurgentwalk = 1; + self.alwaysrunforward = 1; + self.alertlevel = "noncombat"; + self.alertlevelint = 0; + var_00 = ["exposed","exposed_crouch"]; + var_01[1] = %npc_urgent_walk_arrive_1; + var_01[2] = %npc_urgent_walk_arrive_2; + var_01[3] = %npc_urgent_walk_arrive_3; + var_01[4] = %npc_urgent_walk_arrive_4; + var_01[6] = %npc_urgent_walk_arrive_6; + var_01[7] = %npc_urgent_walk_arrive_7; + var_01[8] = %npc_urgent_walk_arrive_8; + var_01[9] = %npc_urgent_walk_arrive_9; + var_02[1] = %npc_urgent_walk_exit_1; + var_02[2] = %npc_urgent_walk_exit_2; + var_02[3] = %npc_urgent_walk_exit_3; + var_02[4] = %npc_urgent_walk_exit_4; + var_02[6] = %npc_urgent_walk_exit_6; + var_02[7] = %npc_urgent_walk_exit_7; + var_02[8] = %npc_urgent_walk_exit_8; + var_02[9] = %npc_urgent_walk_exit_9; + var_03[0] = %npc_urgent_walk_turn_2; + var_03[1] = %npc_urgent_walk_turn_1; + var_03[2] = %npc_urgent_walk_turn_4; + var_03[3] = %npc_urgent_walk_turn_7; + var_03[5] = %npc_urgent_walk_turn_9; + var_03[6] = %npc_urgent_walk_turn_6; + var_03[7] = %npc_urgent_walk_turn_3; + var_03[8] = %npc_urgent_walk_turn_2; + var_04 = [%npc_urgent_walk_twitch01_idle,%npc_urgent_walk_twitch02_idle,%npc_urgent_walk_twitch03_idle]; + maps\_utility::set_npc_anims("urgent_walk_betrayal",%det_casual_walk_fast_burke,%det_casual_walk_fast_burke,var_04,var_01,var_02,var_00,var_03,var_03,undefined); +} + +//Function Number: 29 +office_scene_scripted_dodge_gideon_civilian() +{ + var_00 = maps\betrayal_util::get_ent_by_targetname("office_scene_gideon_interact_civilian"); + var_01 = var_00 maps\_utility::spawn_ai(1); + var_00.count = 1; + var_01.target = var_00.target; + var_01.animname = "generic"; + var_02 = "civilian_walk_hurried"; + var_01.runanim = level.scr_anim[var_01.animname][var_02][0]; + var_01 maps\_utility::set_run_anim_array(var_02,undefined,1); + var_01.is_walking = 0; + var_01 thread office_scene_scripted_dodge_gideon_civ_wait_for_gideon_in_range(175); + var_01 thread maps\betrayal_util::civilian_actor_play_idle(); + common_scripts\utility::flag_wait("office_scene_civilian_dodges_gideon"); + var_03 = getnode(var_01.target,"targetname"); + var_01 maps\_utility::set_goal_node(var_03); + var_01.goal_node = var_03; + var_01 maps\betrayal_util::stop_current_animations(); + var_01 maps\betrayal_util::civilian_detach_props(); + var_01.goalradius = 16; + var_01 notify("move"); + var_01.is_walking = 1; + var_01 waittill("goal"); + var_01.is_walking = 0; + var_01 thread maps\betrayal_util::civilian_actor_play_idle(); + common_scripts\utility::flag_wait("trigger_office_scene_player_at_confrontation"); + if(isdefined(var_01)) + { + var_01 delete(); + } +} + +//Function Number: 30 +office_scene_scripted_dodge_gideon_civ_wait_for_gideon_in_range(param_00) +{ + self endon("death"); + maps\_utility::waittill_entity_in_range(level.gideon,param_00); + maps\betrayal_util::stop_current_animations(); + self.animname = "generic"; + var_01 = "bet_lobby_civ_sidestep_R"; + maps\_anim::anim_single_solo(self,var_01); + thread maps\betrayal_util::civilian_walker_idle_when_blocked(); + self notify("move"); +} + +//Function Number: 31 +office_scene_scripted_handle_landing_heli(param_00) +{ + var_01 = maps\betrayal_util::get_ent_by_targetname("heli_landing_civ"); + var_02 = var_01 maps\_utility::spawn_ai(1); + var_02 maps\_utility::set_ignoreall(1); + var_02.animname = "generic"; + var_03 = "civilian_walk_hurried"; + var_02.runanim = level.scr_anim[var_02.animname][var_03][0]; + var_02 maps\_utility::set_run_anim_array(var_03,undefined,1); + var_02 thread maps\betrayal_util::civilian_actor_play_idle(); + wait(23); + var_02 maps\betrayal_util::stop_current_animations(); + var_04 = getnode(var_02.target,"targetname"); + var_02 maps\_utility::set_goal_node(var_04); + var_02 maps\betrayal_util::civilian_detach_props(); + var_02.goalradius = 16; + var_02 notify("move"); + wait(10); + var_05 = common_scripts\utility::getstruct("land_heli_path02","targetname"); + thread maps\_vehicle_code::_vehicle_paths(var_05); + wait 0.05; + maps\_utility::trigger_wait_targetname("trigger_office_gideon_to_swipe_door"); + var_02 delete(); + if(isdefined(self)) + { + self delete(); + } +} + +//Function Number: 32 +office_scene_scripted_player_blocker_move_with_gideon() +{ + var_00 = maps\betrayal_util::get_ent_by_targetname("block_player_from_confrontation_entrance"); + var_00 linkto(level.gideon); + wait(5); + var_00 notsolid(); + var_00 delete(); +} + +//Function Number: 33 +office_scene_cleanup() +{ + maps\_utility::clear_all_color_orders("allies"); + common_scripts\utility::flag_wait("flag_objective_office_scene_follow_gideon_complete"); +} + +//Function Number: 34 +confrontation_scene_master_handler(param_00) +{ + confrontation_scene_setup(); + if(!isdefined(param_00)) + { + confrontation_scene_hologram(); + confrontation_scene_irons_lockdown(); + } + + if(isdefined(param_00) && param_00 == "qte") + { + level.ilana maps\betrayal_util::setup_squad_member_for_scene(); + common_scripts\utility::flag_set("flag_confrontation_give_player_real_gun"); + confrontation_scene_cleanup_hologram(); + confrontation_scene_cleanup_confrontation(); + var_01 = maps\betrayal_util::get_ents_by_targetname("confrontation_room_exit_door_right"); + thread maps\betrayal_util::open_sliding_door_toggle(var_01,"confrontation_room_exit_door",0.2); + level.player maps\_shg_utility::setup_player_for_scene(); + level.confrontation_rig show(); + level.player playerlinktodelta(level.confrontation_rig,"tag_player",0.75,10,10,7,7,1); + if(level.nextgen) + { + setsaveddvar("r_adaptiveSubdivBaseFactor",0.01); + } + } + + confrontation_scene_escape(); + if(level.nextgen) + { + setsaveddvar("r_adaptiveSubdivBaseFactor",1.5); + } + + confrontation_scene_cleaup(); + level thread escape_scene_master_handler(); +} + +//Function Number: 35 +hoverscreen_chromo_anim2(param_00,param_01) +{ + var_02 = 0; + if(param_01) + { + var_02 = param_01; + } + + var_03 = param_00 * 20; + var_04 = 0; + var_05 = level.chromo_offset; + level.chromo_offset = var_02; + thread confrontation_hudoutline_animate(); + for(var_04 = 0;var_04 < var_03;var_04++) + { + var_06 = 1 / var_03 * var_05; + level.chromo_offset = level.chromo_offset + var_06; + setsaveddvar("r_chromaticSeparationG",level.chromo_offset * -1); + setsaveddvar("r_chromaticSeparationR",level.chromo_offset); + wait(0.05); + } +} + +//Function Number: 36 +create_confrontation_static_overlay(param_00,param_01,param_02) +{ + level.chromo_offset = 5; + setsaveddvar("r_chromaticAberrationTweaks",1); + setsaveddvar("r_chromaticAberration",2); + setsaveddvar("r_chromaticSeparationG",0); + setsaveddvar("r_chromaticSeparationR",0); + setsaveddvar("r_chromaticSeparationB",0); + setsaveddvar("r_chromaticAberrationAlpha",1); + var_03 = 1; + return var_03; +} + +//Function Number: 37 +confrontation_static_start() +{ + level.player.conf_static = create_confrontation_static_overlay("overlay_static",10,0.05); + thread hoverscreen_chromo_anim2(6,0); + soundscripts\_snd::snd_message("bet_hologram_start"); +} + +//Function Number: 38 +confrontation_hudoutline_setup() +{ + setsaveddvar("r_hudoutlinehaloblurradius",10); + setsaveddvar("r_hudoutlineenable",1); + setsaveddvar("r_hudoutlinecurvywidth",1); + setsaveddvar("r_hudoutlinecurvywhen",1); + setsaveddvar("r_hudoutlinepostmode",3); + setsaveddvar("r_hudoutlinecurvylumscale",0.2); + setsaveddvar("r_hudoutlinecurvydarkenscale",0.25); + setsaveddvar("r_hudoutlinecurvyblurradius",0.5); + setsaveddvar("r_hudoutlinecurvydepth",0.8); + if(!isdefined(level.player.detection_highlight_hud_effect)) + { + level.player.detection_highlight_hud_effect_old = level.player.detection_highlight_hud_effect; + level.player.detection_highlight_hud_effect = newclienthudelem(level.player); + level.player.detection_highlight_hud_effect.color = (0,0.005,0.01); + level.player.detection_highlight_hud_effect.alpha = 0.01; + } +} + +//Function Number: 39 +confrontation_hologram_fadeout() +{ + var_00 = 0; + level.hologram_rand_level = 0; + var_01 = 1; + while(level.confrontation_holo.size < 4) + { + wait(0.05); + } + + foreach(var_03 in level.confrontation_holo) + { + var_03.hidden = 0; + } + + while(var_01) + { + foreach(var_03 in level.confrontation_holo) + { + if(!isdefined(var_03)) + { + level.confrontation_holo = undefined; + var_01 = 0; + } + } + + var_07 = 10000; + if(var_01) + { + var_08 = level.player.origin; + foreach(var_03 in level.confrontation_holo) + { + var_0A = var_03 gettagorigin("tag_origin"); + var_0B = distance((var_08[0],var_08[1],0),(var_0A[0],var_0A[1],0)); + if(var_0B < var_07) + { + var_07 = var_0B; + } + + if(var_03.hidden == 0 && var_0B < 50) + { + if(var_0B < 36) + { + var_03 hide(); + var_03.hidden = 1; + } + else if(randomfloat(100) < 50) + { + var_03 hide(); + } + else + { + var_03 show(); + } + } + + if(var_0B >= 50) + { + var_03 show(); + var_03.hidden = 0; + } + } + + var_0D = randomfloat(1) * 2 - 1; + var_0E = 1 - clamp(var_07 / 52,0,1); + level.hologram_rand_level = var_0D * var_0E; + wait(0.05); + } + } +} + +//Function Number: 40 +confrontation_hudoutline_animate() +{ + thread confrontation_hologram_fadeout(); + level.hudoutline_conf_intensity = 1; + var_00 = 0; + while(isdefined(level.player.detection_highlight_hud_effect)) + { + var_01 = perlinnoise2d(var_00 * 2,0.5,3,2,0.5) * 5; + var_02 = clamp(var_01 * 1.2 - 1,0,1) * 2.5; + if(isdefined(level.hologram_rand_level)) + { + var_02 = clamp(var_02 + level.hologram_rand_level * 5,-5,5) * 2.5; + } + + setsaveddvar("r_hudoutlinecurvylumscale",0.15 + 0.1 * var_01 * level.hudoutline_conf_intensity); + setsaveddvar("r_hudoutlinehalolumscale",0.15 + 0.1 * var_01 * level.hudoutline_conf_intensity); + setsaveddvar("r_chromaticSeparationG",level.chromo_offset * -1 * var_02); + setsaveddvar("r_chromaticSeparationR",level.chromo_offset * var_02); + var_00 = var_00 + 0.05; + wait(0.05); + } +} + +//Function Number: 41 +confrontation_hudoutline_cleanup() +{ + var_00 = 1; + var_01 = 20; + var_02 = 0; + var_03 = level.chromo_offset; + level.chromo_offset = var_00; + for(var_02 = 0;var_02 < var_01;var_02++) + { + var_04 = 1 / var_01 * var_03; + var_05 = 1 / var_01; + level.chromo_offset = level.chromo_offset - var_04; + level.hudoutline_conf_intensity = level.hudoutline_conf_intensity - var_05; + level.chromo_offset = clamp(level.chromo_offset,0,20); + level.hudoutline_conf_intensity = clamp(level.hudoutline_conf_intensity,0,20); + setsaveddvar("r_chromaticSeparationG",level.chromo_offset * -1); + setsaveddvar("r_chromaticSeparationR",level.chromo_offset); + wait(0.05); + } + + setsaveddvar("r_hudoutlineenable",0); + setsaveddvar("r_chromaticAberrationTweaks",0); + setsaveddvar("r_chromaticAberration",0); + level.player.detection_highlight_hud_effect destroy(); + level.player.detection_highlight_hud_effect = level.player.detection_highlight_hud_effect_old; +} + +//Function Number: 42 +confrontation_scene_setup() +{ + maps\betrayal_util::spawn_squad("start_confrontation",0,1); + var_00 = maps\betrayal_util::spawn_ai_from_targetname_single("spawner_confrontation_irons",1,0); + var_00.animname = "irons"; + var_00 setcontents(0); + confrontation_hudoutline_setup(); + level thread maps\betrayal_lighting::lighting_confrontation_auto_dof(level.player,var_00); + var_00 attach("npc_mp443_nocamo","TAG_WEAPON_RIGHT",1); + var_00 hidepart("TAG_RAIL_MASTER_ON","npc_mp443_nocamo"); + var_00 hide(); + var_00.ignoreall = 1; + var_00.ignoreme = 1; + var_01 = maps\betrayal_util::spawn_ai_from_targetname_single("spawner_confrontation_technologist",1,0); + var_01.animname = "technologist"; + var_01 setcontents(0); + var_01 hide(); + var_02 = maps\betrayal_util::spawn_ai_from_targetname_single("spawner_confrontation_guard1",1,0); + var_02 maps\_utility::gun_remove(); + var_02 hide(); + var_02 maps\_utility::place_weapon_on("iw5_sn6_sp_opticsreddot","right"); + var_02.animname = "guard1"; + var_02.ignoreall = 1; + var_02.ignoreme = 1; + var_02.allowdeath = 1; + var_02.a.nodeath = 1; + var_02.noragdoll = 1; + var_02 maps\betrayal_util::remove_display_name(); + level.escape_take_down_guard = var_02; + var_03 = maps\_utility::spawn_anim_model("flash_bang",var_02.origin,var_02.angles); + var_04 = maps\_utility::spawn_anim_model("irons_chair",var_00.origin,var_00.angles); + var_04 setmodel("dem_irons_chair_01_cloaktrans"); + var_04 hide(); + var_05 = maps\_utility::spawn_anim_model("guest_chair",var_00.origin,var_00.angles); + var_05 hide(); + var_05 setmodel("dem_irons_guest_chair_01_rig_cloaktrans"); + var_06 = maps\_utility::spawn_anim_model("jammer",level.ilana.origin,level.ilana.angles); + var_07 = maps\betrayal_util::get_ent_by_targetname("animorg_confrontation"); + var_07 maps\_anim::anim_first_frame_solo(level.ilana,"confrontation_pt1"); + var_07 maps\_anim::anim_first_frame_solo(var_00,"confrontation_pt1"); + var_07 maps\_anim::anim_first_frame_solo(var_01,"confrontation_pt1"); + var_07 maps\_anim::anim_first_frame_solo(var_02,"confrontation_pt1"); + var_07 maps\_anim::anim_first_frame_solo(var_03,"confrontation_pt1"); + var_07 maps\_anim::anim_first_frame_solo(var_04,"confrontation_pt1"); + var_07 maps\_anim::anim_first_frame_solo(var_05,"confrontation_pt1"); + var_07 maps\_anim::anim_first_frame_solo(var_06,"confrontation_pt1"); + level.hologram_guys = [level.ilana,level.gideon,var_00,var_01,var_02,var_03,var_04,var_05,var_06]; + var_08 = maps\betrayal_util::spawn_ai_from_targetname_single("spawner_confrontation_ironsreal",1,0); + var_08 hide(); + var_08.animname = "irons"; + var_08.ignoreall = 1; + var_08.ignoreme = 1; + var_08 maps\betrayal_util::remove_display_name(); + var_09 = maps\betrayal_util::spawn_ai_from_targetname_single("spawner_confrontation_guard2",1,0); + var_09 maps\_utility::gun_remove(); + var_09 hide(); + var_09 maps\_utility::place_weapon_on("iw5_sn6_sp_opticsreddot","right"); + var_09.animname = "guard2"; + var_09.ignoreall = 1; + var_09.ignoreme = 1; + var_09.allowdeath = 1; + var_09.a.nodeath = 1; + var_09.noragdoll = 1; + var_09 thread maps\_utility::magic_bullet_shield(); + var_09 maps\betrayal_util::remove_display_name(); + level.escape_shoot_guard = var_09; + var_0A = maps\_utility::spawn_anim_model("player_pistol",level.player.origin + (0,0,-100),level.player.angles); + level.confrontation_rig = maps\_utility::spawn_anim_model("player_rig",level.player.origin,level.player.angles); + level.confrontation_rig hide(); + level.confrontation_guys = [level.ilana,level.gideon,var_08,var_02,var_09,var_0A,level.confrontation_rig]; + level.escape_guys1 = [level.ilana,var_02,var_09,level.confrontation_rig]; + level.escape_guys2_a = [var_02,level.confrontation_rig]; + level.escape_guys2_b = [level.ilana,var_09]; + level.escape_guys3 = [var_09,level.ilana]; + level.escape_guys3_a = [var_09]; + level.escape_guys3_b = [level.ilana]; + common_scripts\utility::flag_set("flag_dialogue_start_confrontation"); + common_scripts\utility::flag_set("confrontation_start_lighting"); + wait 0.05; + var_0B = var_00 getorigin(); + var_0B = var_0B + (0,0,-150); + var_00 overridelightingorigin(var_0B); + var_01 overridelightingorigin(var_0B); + var_00 overridereflectionprobe(var_0B); + var_01 overridereflectionprobe(var_0B); + var_04 overridelightingorigin(var_0B); + var_05 overridelightingorigin(var_0B); + var_04 overridereflectionprobe(var_0B); + var_05 overridereflectionprobe(var_0B); +} + +//Function Number: 43 +confrontation_scene_hologram() +{ + var_00 = maps\betrayal_util::get_ent_by_targetname("animorg_confrontation"); + var_00 maps\_anim::anim_reach_solo(level.gideon,"confrontation_pt1"); + maps\_utility::autosave_by_name(); + level.ilana maps\betrayal_util::setup_squad_member_for_scene(); + level.gideon maps\betrayal_util::setup_squad_member_for_scene(); + if(level.nextgen) + { + setsaveddvar("r_adaptiveSubdivBaseFactor",0.01); + } + + var_00 maps\_anim::anim_single(level.hologram_guys,"confrontation_pt1"); + confrontation_scene_cleanup_hologram(); + maps\_utility::autosave_by_name(); +} + +//Function Number: 44 +confrontation_scene_irons_no_gun(param_00) +{ + param_00 setmodel("irons_casual_nogun"); +} + +//Function Number: 45 +confrontation_scene_cleanup_hologram() +{ + foreach(var_01 in level.hologram_guys) + { + if(!common_scripts\utility::array_contains(level.confrontation_guys,var_01)) + { + var_01 delete(); + } + } +} + +//Function Number: 46 +confrontation_scene_open_flashbang_door(param_00) +{ + var_01 = maps\betrayal_util::get_ents_by_targetname("confrontation_room_exit_door_right"); + thread maps\betrayal_util::open_sliding_door_toggle(var_01,"confrontation_room_exit_door",0.2,0.1); +} + +//Function Number: 47 +confrontation_scene_flashbang_explode(param_00) +{ + soundscripts\_snd::snd_message("bet_conf_flash_bang_exp"); + level.player lightsetforplayer("betrayal_interior_flash"); + maps\_utility::vision_set_changes("betrayal_interior_flash",0.02); + level.player playrumbleonentity("grenade_rumble"); + wait(1); + if(level.nextgen) + { + level.player lightsetforplayer("betrayal_interior_confrontation_2"); + maps\_utility::vision_set_changes("betrayal_interior",2); + return; + } + + level.player lightsetforplayer("betrayal_interior_darker"); + maps\_utility::vision_set_changes("betrayal_interior_darker",2); +} + +//Function Number: 48 +confrontation_scene_irons_lockdown() +{ + var_00 = maps\betrayal_util::get_ent_by_targetname("animorg_confrontation"); + common_scripts\utility::flag_set("confrontation2_start_lighting"); + soundscripts\_snd::snd_music_message("betrayal_scene_begin"); + var_01 = maps\betrayal_util::get_ents_by_targetname("confrontation_room_exit_door_right"); + thread maps\betrayal_util::open_sliding_door_toggle(var_01,"confrontation_room_exit_door",0.2); + level.player maps\_shg_utility::setup_player_for_scene(); + level.player playerlinktodelta(level.confrontation_rig,"tag_player",0.75,0,0,0,0,1); + level.player enableslowaim(); + var_02 = 0.5; + level.confrontation_rig common_scripts\utility::delaycall(var_02,::show); + level.player common_scripts\utility::delaycall(var_02 + 0.1,::lerpviewangleclamp,2,0,1,15,15,10,8); + common_scripts\utility::flag_set("flag_confrontation_give_player_real_gun"); + foreach(var_04 in level.confrontation_guys) + { + var_04 show(); + } + + var_06 = getent("betrayal_conf_ilana_origin","targetname"); + level.confrontation_guys[0] overridelightingorigin(var_06.origin); + var_07 = getent("betrayal_confrontation_guard1_origin","targetname"); + var_08 = getent("betrayal_confrontation_guard2_origin","targetname"); + level.confrontation_guys[3] overridelightingorigin(var_07.origin); + level.confrontation_guys[4] overridelightingorigin(var_08.origin); + var_00 maps\_anim::anim_single(level.confrontation_guys,"confrontation_pt2"); + confrontation_scene_cleanup_confrontation(); + common_scripts\utility::flag_set("flag_dialog_confrontation_mrX"); + level.player lerpviewangleclamp(2,0,1,10,10,7,7); + var_00 maps\_anim::anim_single(level.escape_guys1,"confrontation_pt2_pause"); + maps\_utility::autosave_by_name(); +} + +//Function Number: 49 +confrontation_scene_cleanup_confrontation() +{ + foreach(var_01 in level.confrontation_guys) + { + if(!common_scripts\utility::array_contains(level.escape_guys1,var_01)) + { + if(var_01 == level.gideon) + { + var_01 maps\_utility::stop_magic_bullet_shield(); + } + + var_01 delete(); + } + } +} + +//Function Number: 50 +confrontation_scene_escape() +{ + var_00 = maps\betrayal_util::get_ent_by_targetname("animorg_confrontation"); + common_scripts\utility::flag_set("escape_lighting"); + level.ilana defaultlightingorigin(); + common_scripts\utility::flag_set("flag_dialog_confrontation_go"); + soundscripts\_snd::snd_message("bet_conf_fire_suppression"); + var_00 maps\_anim::anim_single(level.escape_guys1,"escape_pt1"); + level notify("escape_pt1_done"); + if(!common_scripts\utility::flag("flag_escape_pt1_passed")) + { + confrontation_scene_qte_kick_slomo_stop(); + var_00 maps\_anim::anim_single(level.escape_guys1,"escape_pt1_fail"); + wait(100); + } + + soundscripts\_snd::snd_music_message("post_betrayal_action"); + level thread confrontation_scene_escape_player_rise(var_00); + var_00 maps\_anim::anim_single(level.escape_guys2_b,"escape_pt2"); + level notify("escape_pt2_done"); + if(!common_scripts\utility::flag("flag_escape_pt2_passed")) + { + confrontation_scene_qte_shoot_slomo_stop(); + var_00 maps\_anim::anim_single(level.escape_guys3,"escape_pt3_fail"); + wait(100); + } + + var_01 = level.escape_shoot_guard setcontents(0); + level.player disableslowaim(); + level.player unlink(); + level.confrontation_rig delete(); + thread confrontation_handle_player_clip(); + maps\_player_exo::player_exo_activate(); + level thread confrontation_scene_escape_guard_dies(var_00); + common_scripts\utility::flag_set("flag_dialog_confrontation_leave"); + soundscripts\_snd::snd_message("bet_conf_kill_guard"); + var_00 maps\_anim::anim_single_solo_run(level.escape_guys3_b[0],"escape_pt3"); + foreach(var_03 in level.escape_guys1) + { + if(!isremovedentity(var_03) && var_03 != level.ilana) + { + if(!isai(var_03)) + { + var_03 delete(); + } + } + } + + maps\_utility::autosave_by_name(); +} + +//Function Number: 51 +confrontation_scene_escape_player_rise(param_00) +{ + param_00 maps\_anim::anim_single(level.escape_guys2_a,"escape_pt2"); + level.escape_take_down_guard.allowdeath = 1; + level.escape_take_down_guard.a.nodeath = 1; + level.escape_take_down_guard.noragdoll = 1; + level.escape_take_down_guard maps\_utility::gun_remove(); + level.escape_take_down_guard kill(); +} + +//Function Number: 52 +confrontation_scene_escape_qte_fail(param_00) +{ + if(!common_scripts\utility::flag("missionfailed")) + { + if(param_00.animname == "player_rig") + { + setdvar("ui_deadquote",&"BETRAYAL_FAIL_ESCAPE"); + } + else + { + setdvar("ui_deadquote",&"BETRAYAL_FAIL_ESCAPE_SHOOT"); + } + + maps\_utility::missionfailedwrapper(); + } +} + +//Function Number: 53 +confrontation_scene_escape_qte_kick(param_00) +{ + level endon("escape_pt1_done"); + var_01 = level.escape_take_down_guard maps\_shg_utility::hint_button_tag("melee","j_knee_le"); + var_01 thread confrontation_scene_button_clean_up("escape_pt1_done"); + confrontation_scene_qte_kick_slomo_start(); + while(!common_scripts\utility::flag("flag_escape_pt1_passed")) + { + if(level.player meleebuttonpressed()) + { + confrontation_scene_qte_kick_slomo_stop(); + common_scripts\utility::flag_set("flag_escape_pt1_passed"); + break; + } + + wait(0.05); + } + + var_01 maps\_shg_utility::hint_button_clear(); +} + +//Function Number: 54 +confrontation_scene_escape_qte_kick_kill(param_00) +{ + level.player maps\_upgrade_challenge::give_player_challenge_kill(1); +} + +//Function Number: 55 +confrontation_scene_button_clean_up(param_00) +{ + level waittill(param_00); + if(isdefined(self)) + { + maps\_shg_utility::hint_button_clear(); + } +} + +//Function Number: 56 +confrontation_scene_escape_qte_raise_gun(param_00) +{ + confrontation_scene_qte_shoot_slomo_start(); + level.ilana maps\betrayal_util::setup_squad_member_for_gameplay(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.player disableoffhandweapons(); + level.player disableoffhandsecondaryweapons(); + level.player notify("stop_player_walk_sway"); + level.player thread maps\_utility::blend_movespeedscale_default(); + level.player setmovespeedscale(1); + level.player lerpviewangleclamp(2,0,1,15,15,10,10); + param_00 hide(); +} + +//Function Number: 57 +confrontation_scene_escape_qte_shoot(param_00) +{ + level endon("escape_pt2_done"); + for(;;) + { + level.escape_shoot_guard waittill("damage",var_01,var_02); + if(var_02 == level.player) + { + if(level.escape_shoot_guard.damagelocation == "helmet" || level.escape_shoot_guard.damagelocation == "head") + { + level.player maps\_upgrade_challenge::give_player_challenge_headshot(1); + } + else + { + level.player maps\_upgrade_challenge::give_player_challenge_kill(1); + } + + confrontation_scene_qte_shoot_slomo_stop(); + common_scripts\utility::flag_set("flag_escape_pt2_passed"); + level.player enableoffhandweapons(); + level.player enableoffhandsecondaryweapons(); + break; + } + + wait(0.05); + } +} + +//Function Number: 58 +confrontation_scene_escape_guard_dies(param_00) +{ + param_00 maps\_anim::anim_single(level.escape_guys3_a,"escape_pt3"); + level.escape_shoot_guard.allowdeath = 1; + level.escape_shoot_guard.a.nodeath = 1; + level.escape_shoot_guard.noragdoll = 1; + level.escape_shoot_guard maps\_utility::stop_magic_bullet_shield(); + level.escape_shoot_guard kill(); +} + +//Function Number: 59 +confrontation_scene_gun_swap(param_00) +{ + level.escape_shoot_guard maps\_utility::gun_remove(); + level.ilana maps\_utility::gun_recall(); +} + +//Function Number: 60 +confrontation_scene_qte_kick_slomo_start() +{ + setslowmotion(1,0.6,0.2); + soundscripts\_snd::snd_message("bet_conf_slo_mo_kick_start"); +} + +//Function Number: 61 +confrontation_scene_qte_kick_slomo_stop() +{ + setslowmotion(0.6,1,0.2); + soundscripts\_snd::snd_message("bet_conf_slo_mo_kick_stop"); +} + +//Function Number: 62 +confrontation_scene_qte_shoot_slomo_start() +{ + setslowmotion(1,0.2,1.3); + soundscripts\_snd::snd_message("bet_conf_slo_mo_shoot_start"); +} + +//Function Number: 63 +confrontation_scene_qte_shoot_slomo_stop() +{ + setslowmotion(0.2,1,0.2); + soundscripts\_snd::snd_message("bet_conf_slo_mo_shoot_stop"); +} + +//Function Number: 64 +confrontation_scene_player_rumble_heavy(param_00) +{ + level.player playrumbleonentity("grenade_rumble"); +} + +//Function Number: 65 +confrontation_scene_player_rumble_light(param_00) +{ + level.player playrumbleonentity("damage_heavy"); +} + +//Function Number: 66 +confrontation_scene_cleaup() +{ + maps\_utility::clear_all_color_orders("allies"); +} + +//Function Number: 67 +confrontation_handle_player_clip() +{ + var_00 = maps\betrayal_util::get_ent_by_targetname("confrontation_pass_ilona_blocker"); + var_00.org_pos = var_00.origin; + var_00.close_pos = var_00.origin - (0,0,128); + var_00 moveto(var_00.close_pos,0.1); + wait(7.25); + var_00 moveto(var_00.org_pos,0.1); + escape_scene_setup_firedoor("escape_scene_fire_safety_drop_door"); + var_01 = maps\betrayal_util::get_ent_by_targetname("escape_scene_fire_safety_drop_door"); + var_01.col notsolid(); + var_01.col connectpaths(); +} + +//Function Number: 68 +escape_scene_master_handler() +{ + common_scripts\utility::flag_set("flag_dialogue_start_escape"); + escape_scene_setup(); + escape_scene_sentinel_makes_contact(); + escape_scene_cleanup(); + level thread roof_scene_master_handler(); +} + +//Function Number: 69 +escape_scene_setup() +{ + escape_scene_setup_firedoor("escape_scene_fire_safety_drop_door"); + escape_scene_setup_firedoor("escape_scene_fire_safety_drop_door_guards"); + escape_scene_setup_firedoor("escape_scene_fire_safety_drop_door_climb"); + level thread escape_scene_start_hallway_drop_door(); + escape_scene_setup_firedoor("escape_scene_elevator_door"); + level.escape_pa = maps\betrayal_util::get_ent_by_targetname("roof_escape_PA"); + level.escape_pa.animname = "PA"; +} + +//Function Number: 70 +escape_scene_cleanup() +{ + common_scripts\utility::flag_set("flag_escape_clean_up_hallway"); + maps\betrayal_util::clean_up_ai_single(level.ilana); + maps\_utility::clear_all_color_orders("axis"); + maps\_utility::clear_all_color_orders("allies"); +} + +//Function Number: 71 +escape_scene_setup_firedoor(param_00) +{ + var_01 = maps\betrayal_util::get_ents_by_targetname(param_00); + foreach(var_03 in var_01) + { + var_03.org_pos = var_03.origin; + var_04 = maps\betrayal_util::get_ents_by_targetname(var_03.target); + foreach(var_06 in var_04) + { + if(var_06.classname == "script_origin") + { + var_03.open_org = (var_03.origin[0],var_03.origin[1],var_06.origin[2]); + } + + if(var_06.classname == "script_brushmodel") + { + var_03.col = var_06; + } + + var_07 = var_03 getorigin(); + var_07 = var_07 + (0,0,-5); + var_03 overridelightingorigin(var_07); + if(level.currentgen) + { + var_08 = getent("door_lighting","targetname"); + var_03 overridelightingorigin(var_08.origin); + } + } + + if(isdefined(var_03.col)) + { + var_03.col linkto(var_03); + } + + if(!var_03 maps\_utility::ent_flag_exist("fire_door_closed")) + { + var_03 maps\_utility::ent_flag_init("fire_door_closed"); + } + + var_03 maps\_utility::ent_flag_set("fire_door_closed"); + } +} + +//Function Number: 72 +escape_scene_open_firedoor(param_00,param_01,param_02) +{ + maps\_utility::ent_flag_clear("fire_door_closed"); + if(!isdefined(param_01)) + { + param_01 = 0; + } + + if(!isdefined(param_02)) + { + param_02 = 0; + } + + self moveto(self.open_org,param_00,param_01,param_02); +} + +//Function Number: 73 +escape_scene_close_firedoor(param_00,param_01,param_02) +{ + maps\_utility::ent_flag_set("fire_door_closed"); + if(!isdefined(param_01)) + { + param_01 = 0; + } + + if(!isdefined(param_02)) + { + param_02 = 0; + } + + self moveto(self.org_pos,param_00,param_01,param_02); +} + +//Function Number: 74 +escape_scene_sentinel_makes_contact() +{ + common_scripts\utility::flag_set("flag_objective_escape_scene_start"); + escape_scene_rush_for_door(); + escape_scene_hallway_run(); + escape_scene_hallway_climb(); +} + +//Function Number: 75 +escape_scene_rush_for_door() +{ + thread maps\betrayal_util::handle_ally_keep_up_with_player(level.ilana); + level thread escape_scene_manage_guards(); + common_scripts\utility::flag_set("flag_escape_scene_rush_door_open"); + maps\_utility::activate_trigger_with_targetname("trigger_escape_ilana_into_hallway"); + level thread maps\betrayal_util::start_fire_suppression_group("escape_scene_fire_supression_point_hallway","flag_escape_clean_up_hallway"); + level thread escape_scene_wait_for_player_past_guard_doors(); + level thread escape_scene_clean_up_secret_room(); +} + +//Function Number: 76 +escape_scene_start_hallway_drop_door() +{ + var_00 = maps\betrayal_util::get_ent_by_targetname("escape_scene_fire_safety_drop_door"); + var_00 show(); + var_00 endon("escape_slam_door"); + if(var_00 maps\_utility::ent_flag("fire_door_closed")) + { + var_00 thread escape_scene_open_firedoor(0.5,0.4,0.1); + soundscripts\_snd::snd_message("fire_door_1_open",var_00); + wait(0.5); + var_00.col connectpaths(); + var_00.col solid(); + } + + var_00 thread escape_scene_wait_for_player_past_drop_door(); + var_01 = getentarray("escape_guards_secret_room_spawner","targetname"); + foreach(var_03 in var_01) + { + var_04 = var_03 maps\_utility::spawn_ai(1); + var_05 = getnode(var_03.target,"targetname"); + var_04 maps\_utility::set_goal_node(var_05); + } +} + +//Function Number: 77 +escape_scene_wait_for_player_past_guard_doors() +{ + var_00 = maps\betrayal_util::get_ent_by_targetname("escape_scene_fire_safety_drop_door_guards"); + var_00 show(); + var_01 = maps\betrayal_util::get_ent_by_targetname("escape_scene_fire_safety_drop_door"); + var_01 show(); + maps\betrayal_util::wait_for_trigger_and_ai_single("trigger_escape_player_near_climb_door",level.ilana); + var_00 notify("escape_open_door"); + var_01 notify("escape_open_door"); + if(var_00 maps\_utility::ent_flag("fire_door_closed")) + { + var_00 thread escape_scene_open_firedoor(1.5,1); + var_00 soundscripts\_snd::snd_message("open_firedoor_for_guards"); + var_00.col connectpaths(); + } + + if(var_01 maps\_utility::ent_flag("fire_door_closed")) + { + var_01 thread escape_scene_open_firedoor(1.5,1); + var_01 soundscripts\_snd::snd_message("open_firedoor_for_guards"); + var_01.col connectpaths(); + } +} + +//Function Number: 78 +escape_scene_wait_for_player_past_drop_door() +{ + maps\betrayal_util::wait_for_trigger_and_ai_single("escape_scene_player_past_drop_door",level.ilana); + self notify("escape_slam_door"); + if(!maps\_utility::ent_flag("fire_door_closed")) + { + thread escape_scene_close_firedoor(0.6,0.5); + soundscripts\_snd::snd_message("fire_door_1_close",self); + self.col solid(); + wait(0.5); + } + + self.col disconnectpaths(); + thread escape_scene_manage_flood_spawn_fire_door(); + common_scripts\utility::flag_wait("flag_escape_ilona_should_cover_player"); + level.ilana maps\_utility::set_ignoreall(0); +} + +//Function Number: 79 +escape_scene_manage_guards() +{ + level endon("trigger_escape_in_elevator_shaft"); + level.escape_scene_side_door_guards = maps\betrayal_util::spawn_ai_from_targetname("spawner_guard_escape_side_firedoor",1,0); + common_scripts\utility::array_thread(level.escape_scene_side_door_guards,::maps\_utility::set_ignoreall,0); + common_scripts\utility::array_thread(level.escape_scene_side_door_guards,::escape_scene_remove_guards_on_complete); + common_scripts\utility::array_thread(level.escape_scene_side_door_guards,::escape_scene_guard_player_seek,25); + level.escape_scene_side_door_guards[0] thread escape_scene_guard_call_help(); + maps\betrayal_util::wait_for_trigger_and_ai_single("escape_scene_player_past_drop_door",level.ilana); + level.escape_scene_confrontation_room_guards = maps\betrayal_util::spawn_ai_from_targetname("spawner_guard_escape_hallway",1,0); + common_scripts\utility::array_thread(level.escape_scene_confrontation_room_guards,::maps\_utility::set_ignoreall,0); + common_scripts\utility::array_thread(level.escape_scene_confrontation_room_guards,::escape_scene_remove_guards_on_complete); + common_scripts\utility::array_thread(level.escape_scene_confrontation_room_guards,::escape_scene_guard_player_seek,25); + var_00 = maps\betrayal_util::get_ent_by_targetname("escape_scene_enemy_accuracy_increase_trigger"); + var_00 thread escape_scene_manage_guard_accuracy(); + maps\betrayal_util::wait_for_trigger_and_ai_single("escape_turn_on_guard_colors",level.ilana); + level.escape_scene_side_door_guards = maps\_utility::array_removedead_or_dying(level.escape_scene_side_door_guards); + level.escape_scene_confrontation_room_guards = maps\_utility::array_removedead_or_dying(level.escape_scene_confrontation_room_guards); + common_scripts\utility::array_thread(level.escape_scene_side_door_guards,::maps\_utility::set_force_color,"g"); + common_scripts\utility::array_thread(level.escape_scene_confrontation_room_guards,::maps\_utility::set_force_color,"g"); + maps\_utility::activate_trigger_with_targetname("escape_scene_guards_move_up"); +} + +//Function Number: 80 +escape_scene_guard_player_seek(param_00) +{ + maps\_utility::set_goal_radius(param_00); + maps\_utility::set_goal_ent(level.player); +} + +//Function Number: 81 +escape_scene_guard_call_help() +{ + maps\betrayal_util::wait_for_trigger_and_ai_single("escape_scene_player_past_drop_door",level.ilana); + wait(1); + self.animname = "scripted"; + var_00 = "ny_manhattan_radio_sandman_talk"; + common_scripts\utility::flag_set("flag_dialogue_escape_guarddoor"); + thread maps\_anim::anim_single_solo(self,var_00); + wait(6); + maps\betrayal_util::stop_current_animations(); + escape_scene_guard_player_seek(25); + var_01 = maps\betrayal_util::get_ent_by_targetname("escape_scene_fire_safety_drop_door"); + if(var_01 maps\_utility::ent_flag("fire_door_closed")) + { + var_01 thread escape_scene_open_firedoor(2,0,1); + var_01 soundscripts\_snd::snd_message("open_firedoor_for_guards"); + wait(0.5); + var_01.col connectpaths(); + } + + var_01 thread escape_scene_close_door_when_player_close(); + var_02 = maps\betrayal_util::get_ent_by_targetname("escape_scene_fire_safety_drop_door_guards"); + if(var_02 maps\_utility::ent_flag("fire_door_closed")) + { + var_02 thread escape_scene_open_firedoor(2,0,1); + var_02 soundscripts\_snd::snd_message("open_firedoor_for_guards"); + wait(0.5); + var_02.col connectpaths(); + } + + foreach(var_04 in level.escape_scene_side_door_guards) + { + if(!isremovedentity(var_04)) + { + var_04.baseaccuracy = 10; + } + } + + level.escape_scene_confrontation_room_guards = common_scripts\utility::array_removeundefined(level.escape_scene_confrontation_room_guards); + foreach(var_04 in level.escape_scene_confrontation_room_guards) + { + if(!isremovedentity(var_04)) + { + var_04.baseaccuracy = 10; + } + } +} + +//Function Number: 82 +escape_scene_manage_guard_accuracy() +{ + for(;;) + { + self waittill("trigger",var_00); + if(var_00.team == "axis") + { + var_00.baseaccuracy = 5; + } + + wait 0.05; + } +} + +//Function Number: 83 +escape_scene_manage_flood_spawn_fire_door() +{ + maps\betrayal_util::wait_for_trigger_and_ai_single("trigger_escape_player_near_climb_door",level.ilana); + thread escape_scene_close_door_when_player_close(); + wait(8); + if(!maps\_utility::ent_flag("fire_door_closed")) + { + thread escape_scene_close_firedoor(0.5,0.5); + self.col solid(); + wait(0.5); + } + + self.col disconnectpaths(); + maps\betrayal_util::wait_for_trigger_and_ai_single("trigger_escape_player_at_climb",level.ilana); + if(maps\_utility::ent_flag("fire_door_closed")) + { + thread escape_scene_open_firedoor(0.5,0.5); + self.col solid(); + wait(0.5); + } + + self.col connectpaths(); + self notify("closed"); +} + +//Function Number: 84 +escape_scene_close_door_when_player_close() +{ + self endon("closed"); + maps\_utility::waittill_entity_in_range(level.player,300); + if(!maps\_utility::ent_flag("fire_door_closed")) + { + thread escape_scene_close_firedoor(0.5,0.5); + self.col solid(); + wait(0.5); + } + + self.col disconnectpaths(); +} + +//Function Number: 85 +escape_scene_clean_up_secret_room() +{ + maps\betrayal_util::wait_for_trigger_and_ai_single("trigger_escape_out_of_secret_room",level.ilana); + common_scripts\utility::flag_set("flag_dialogue_escape_intros"); + maps\betrayal_util::wait_for_trigger_and_ai_single("trigger_escape_player_at_climb",level.ilana); + wait(0.5); + common_scripts\utility::flag_set("flag_escape_clean_up_secret_room"); +} + +//Function Number: 86 +escape_scene_hallway_run() +{ + maps\_utility::trigger_wait_targetname("trigger_escape_player_near_climb_door"); + var_00 = maps\betrayal_util::get_ent_by_targetname("escape_scene_fire_safety_drop_door_climb"); + if(var_00 maps\_utility::ent_flag("fire_door_closed")) + { + var_00 thread escape_scene_open_firedoor(2,0,1); + soundscripts\_snd::snd_message("big_fire_door_open",var_00); + wait(0.5); + var_00.col connectpaths(); + } + + maps\_utility::activate_trigger_with_targetname("trigger_escape_move_to_climb"); + maps\betrayal_util::wait_for_trigger_and_ai_single("trigger_escape_player_at_climb",level.ilana); + level.ilana maps\_utility::set_ignoreall(1); + if(!var_00 maps\_utility::ent_flag("fire_door_closed")) + { + var_00 thread escape_scene_close_firedoor(0.5,0.4,0); + soundscripts\_snd::snd_message("big_fire_door_close",var_00); + wait(0.4); + } + + var_00.col disconnectpaths(); + level thread maps\betrayal_fx::escape_fire_door_slam_shut(); +} + +//Function Number: 87 +escape_scene_hallway_climb() +{ + common_scripts\utility::flag_set("flag_dialogue_escape_deadend"); + common_scripts\utility::flag_wait("flag_escape_open_elevator"); + var_00 = maps\betrayal_util::get_ent_by_targetname("elevator_shaft_blocker"); + var_00 notsolid(); + wait(1); + common_scripts\utility::flag_set("flag_objective_escape_scene_elevator_open"); + level thread escape_scene_open_elevator_doors(); + var_01 = maps\betrayal_util::get_ent_by_targetname("escape_elevator_block_collision"); + var_01 notsolid(); + wait(2); + common_scripts\utility::flag_set("flag_dialogue_escape_climb"); + maps\_utility::activate_trigger_with_targetname("trigger_escape_move_into_elevator_shaft"); + maps\betrayal_util::wait_for_trigger_and_ai_single("trigger_escape_in_elevator_shaft",level.ilana); + var_01 solid(); + maps\_utility::autosave_by_name(); + level thread escape_scene_close_elevator_doors(); + level notify("trigger_escape_in_elevator_shaft"); + var_02 = getentarray("spawner_guard_escape_hallway_flood","targetname"); + foreach(var_04 in var_02) + { + var_04.count = 0; + var_04 delete(); + } + + level thread escape_scene_swarm_warning(); + level thread roof_scene_industrial_drone_swarm_launch_manager(1); + maps\_utility::trigger_wait_targetname("trigger_escape_climb_top_out"); + var_06 = maps\betrayal_util::get_ent_by_targetname("animorg_elevator_topout"); + maps\_player_exo::player_exo_deactivate(); + maps\_exo_climb::force_animated_dismount(var_06,"player_rig","elevator_climb_dismount"); + level.player waittill("stop_player_climbing"); + level thread roof_scene_scripted_elevator_shaft_close(); + common_scripts\utility::flag_set("flag_objective_escape_scene_on_roof"); + maps\_player_exo::player_exo_activate(); +} + +//Function Number: 88 +escape_scene_swarm_warning() +{ + maps\betrayal_util::waittill_player_exo_climbing(); + wait(1); + common_scripts\utility::flag_set("flag_dialogue_escape_swarm"); +} + +//Function Number: 89 +escape_scene_open_elevator_doors() +{ + var_00 = maps\betrayal_util::get_ents_by_targetname("escape_scene_elevator_door"); + soundscripts\_snd::snd_message("open_elevator_doors",var_00); + foreach(var_02 in var_00) + { + var_02.org_pos = var_02.origin; + } + + var_04 = 1; + for(;;) + { + var_05 = 0; + foreach(var_02 in var_00) + { + if(var_02.script_index == var_04) + { + var_05 = 1; + var_02 thread escape_scene_open_elveator_door(); + wait(0.1); + } + } + + if(!var_05) + { + break; + } + + wait(0.4); + var_04++; + } +} + +//Function Number: 90 +escape_scene_open_elveator_door() +{ + self.col connectpaths(); + self.col linkto(self); + self moveto(self.open_org,3,1,1); + wait(3); + self.col notsolid(); +} + +//Function Number: 91 +escape_scene_close_elevator_doors() +{ + var_00 = maps\betrayal_util::get_ents_by_targetname("escape_scene_elevator_door"); + soundscripts\_snd::snd_message("close_elevator_doors",var_00); + var_01 = 1; + for(;;) + { + var_02 = 0; + foreach(var_04 in var_00) + { + if(var_04.script_index == var_01) + { + var_02 = 1; + var_04 thread escape_scene_close_elveator_door(); + wait(0.1); + } + } + + if(!var_02) + { + break; + } + + wait(0.4); + var_01++; + } +} + +//Function Number: 92 +escape_scene_close_elveator_door() +{ + self.col solid(); + self.col linkto(self); + self moveto(self.org_pos,3,1,1); + self.col disconnectpaths(); +} + +//Function Number: 93 +escape_scene_remove_guards_on_complete() +{ + maps\_utility::trigger_wait_targetname("trigger_escape_climb_top_out"); + wait(2); + if(isdefined(self)) + { + self delete(); + } +} + +//Function Number: 94 +roof_scene_master_handler() +{ + roof_scene_set_up(); + roof_scene_industrial_section(); + roof_scene_grass_section(); + roof_scene_enter_water_cleanup(); + level thread swim_scene_master_handler(); +} + +//Function Number: 95 +roof_scene_set_up() +{ + common_scripts\utility::flag_set("flag_roof_player_on_roof"); + var_00 = maps\betrayal_util::get_ent_by_targetname("roof_slide_blocker"); + var_00 delete(); + var_01 = maps\betrayal_util::get_ent_by_targetname("roof_scene_elevator_hatch"); + if(var_01.model != "btr_elevator_vent_cover_a_closed") + { + level thread roof_scene_scripted_elevator_shaft_close(); + } + + maps\betrayal_util::prepare_blast_doors("roof_window_blastdoor",-160); + maps\betrayal_util::prepare_blast_doors("roof_slide_blastdoor",-160); + maps\betrayal_util::prepare_blast_doors("roof_slide_blastdoor_mrX",-160); + level thread roof_scene_grass_close_window_blast_doors(); + if(!isdefined(level.escape_pa)) + { + level.escape_pa = maps\betrayal_util::get_ent_by_targetname("roof_escape_PA"); + level.escape_pa.animname = "PA"; + } + + thread roof_scene_vignette_civilians(); + thread roof_scene_vignettes(); + common_scripts\utility::run_thread_on_targetname("roof_fan_blade",::maps\betrayal_util::scripted_spin_fan_blades,1,"roof_scene_cleanup"); + thread roof_scene_setup_failstates(); + common_scripts\utility::flag_set("flag_dialogue_start_roof"); + common_scripts\utility::flag_set("flag_enable_battle_chatter"); +} + +//Function Number: 96 +roof_scene_setup_failstates() +{ + thread roof_scene_industrial_section_failstates(); + thread roof_scene_grass_section_failstates(); +} + +//Function Number: 97 +roof_scene_industrial_section() +{ + level.ilana.colornode_setgoal_func = ::roof_scene_scripted_ilona_fire_at_swarm; + setsaveddvar("glass_damageToWeaken",32000); + setsaveddvar("glass_damageToDestroy",64000); +} + +//Function Number: 98 +roof_scene_industrial_drone_swarm_launch_manager(param_00) +{ + level roof_scene_industrial_set_up_swarm(); + if(isdefined(param_00) && param_00 == 1) + { + maps\_utility::trigger_wait_targetname("trigger_escape_climb_top_out"); + wait(2.75); + } + + level thread roof_scene_industrial_launch_drone_swarm(); +} + +//Function Number: 99 +roof_scene_industrial_set_up_swarm() +{ + if(level.currentgen) + { + level.snake_cloud = vehicle_scripts\_attack_drone_common::spawn_snake_cloud("drone_swarm_spawner_roof","drone_swarm_roof_path_1",6,5); + } + else + { + level.snake_cloud = vehicle_scripts\_attack_drone_common::spawn_snake_cloud("drone_swarm_spawner_roof","drone_swarm_roof_path_1"); + } + + common_scripts\utility::flag_set("flag_roof_swarm_spawned"); + common_scripts\utility::flag_set("roof_start_lighting"); + common_scripts\utility::run_thread_on_targetname("trigger_roof_drone_swarm_move",::maps\betrayal_util::drone_swarm_move_change_path_on_trigger,1); + var_00 = maps\betrayal_util::get_ent_by_targetname("roof_drone_spawner_kamikaze"); + var_01 = maps\betrayal_util::get_ents_by_targetname("roof_drone_attack_point"); + thread maps\betrayal_util::drone_swarm_start_kamikaze_attack(var_00,"flag_roof_player_past_fence","flag_roof_player_jumped_off_atlas_building",var_01,2,4,3,175); +} + +//Function Number: 100 +roof_scene_industrial_open_hatch() +{ + common_scripts\utility::flag_set("flag_roof_swarm_launched"); + self rotatepitch(95,2.5,0.25,0.5); +} + +//Function Number: 101 +roof_scene_industrial_launch_drone_swarm() +{ + common_scripts\utility::flag_wait("flag_roof_swarm_spawned"); + var_00 = maps\betrayal_util::get_ents_by_targetname("roof_drone_hatch"); + foreach(var_02 in var_00) + { + var_02 maps\_utility::delaythread(randomfloatrange(0,1),::roof_scene_industrial_open_hatch); + } + + wait(1); + level.snake_cloud thread vehicle_scripts\_attack_drone_common::snake_cloud_goto_points("drone_swarm_roof_path_2",undefined,3); + thread maps\betrayal_fx::escape_drone_door_open(); + wait(1); + common_scripts\utility::flag_set("flag_dialogue_roof_swarm"); +} + +//Function Number: 102 +roof_scene_industrial_section_failstates() +{ + wait(90); + if(!common_scripts\utility::flag("flag_roof_player_has_mantled")) + { + maps\betrayal_util::drone_swarm_kamikaze_set_attack_vars(1,2,4,50); + thread roof_scene_industrial_death_squad_handler(); + if(maps\betrayal_util::player_mission_failed_handler(20,undefined,"flag_roof_player_has_mantled")) + { + maps\betrayal_util::drone_swarm_kamikaze_set_attack_vars(2,4,3,175); + } + } +} + +//Function Number: 103 +roof_scene_industrial_death_squad_handler() +{ + var_00 = []; + if(!common_scripts\utility::flag("flag_roof_player_has_mantled")) + { + var_01 = getentarray("rooftop_death_squad01","targetname"); + foreach(var_03 in var_01) + { + var_04 = var_03 maps\_utility::spawn_ai(1,0); + if(isdefined(var_04)) + { + var_04.health = 1000; + var_04.baseaccuracy = 10; + var_04.canjumppath = 1; + var_04 maps\_utility::player_seek_enable(); + var_00 = common_scripts\utility::array_add(var_00,var_04); + } + } + } + + common_scripts\utility::flag_wait("flag_roof_player_has_mantled"); + foreach(var_04 in var_00) + { + if(isdefined(var_04)) + { + var_04.health = 150; + var_04.baseaccuracy = 0.5; + var_04.canjumppath = 1; + var_04 maps\_utility::player_seek_disable(); + } + } + + common_scripts\utility::flag_wait("roof_scene_player_escaped"); + foreach(var_04 in var_00) + { + if(isdefined(var_04)) + { + var_04 maps\betrayal_util::delete_ai(); + } + } +} + +//Function Number: 104 +roof_scene_grass_section() +{ + common_scripts\utility::run_thread_on_targetname("trigger_roof_deploy_guards",::roof_scene_grass_deploy_guards); + common_scripts\utility::run_thread_on_targetname("trigger_roof_start_slide",::roof_scene_slide); + maps\_utility::trigger_wait_targetname("player_on_grass_section"); + common_scripts\utility::flag_set("flag_roof_player_has_mantled"); + level waittill("player_out_of_atlas"); +} + +//Function Number: 105 +roof_scene_grass_deploy_guards() +{ + self waittill("trigger"); + level.roof_scene_guards = []; + common_scripts\utility::flag_set("flag_dialogue_roof_gates"); + level thread roof_scene_grass_handle_guard_doors("office_roof_door","spawner_roof_office_hallway","trigger_roof_office_roof_stairs_empty"); + level thread roof_scene_grass_handle_guard_doors("office_hallway_door","spawner_roof_office_roof_stairs","trigger_roof_office_hallway_empty"); + wait(2); + thread roof_scene_grass_monitor_guard_clear(); +} + +//Function Number: 106 +roof_scene_grass_handle_guard_doors(param_00,param_01,param_02) +{ + level thread maps\betrayal_util::open_double_sliding_doors_toggle(param_00,0.5); + var_03 = maps\betrayal_util::spawn_ai_from_targetname(param_01,1,0); + level.roof_scene_guards = common_scripts\utility::array_add(level.roof_scene_guards,var_03[0]); + maps\betrayal_util::wait_for_no_trigger_just_ai_group(param_02,var_03); + level thread maps\betrayal_util::open_double_sliding_doors_toggle(param_00,0.5); + var_03[0] thread roof_scene_grass_guard_cleanup(); +} + +//Function Number: 107 +roof_scene_grass_guard_cleanup() +{ + common_scripts\utility::flag_wait("rooftop_escape_player_sliding_on_roof"); + if(isdefined(self)) + { + maps\betrayal_util::delete_ai(); + } +} + +//Function Number: 108 +roof_scene_grass_monitor_guard_clear() +{ + while(level.roof_scene_guards.size > 0) + { + wait(0.5); + } + + var_00 = maps\betrayal_util::get_ent_by_targetname("ilana_move_to_slide"); + if(isdefined(var_00)) + { + maps\_utility::activate_trigger_with_targetname("ilana_move_to_slide"); + } +} + +//Function Number: 109 +roof_scene_grass_close_window_blast_doors() +{ + maps\_utility::trigger_wait_targetname("trigger_roof_start_window_blastdoors"); + level thread maps\betrayal_util::raise_blast_doors("roof_window_blastdoor",0.5); + level thread maps\betrayal_util::raise_blast_doors("roof_slide_blastdoor",0.5); + thread roof_scene_grass_setup_blast_door_clip(); + level thread maps\betrayal_util::raise_blast_doors("roof_slide_blastdoor_mrX",1,"flag_roof_open_mrX_blast_doors"); +} + +//Function Number: 110 +roof_scene_grass_setup_blast_door_clip() +{ + var_00 = maps\betrayal_util::get_ents_by_targetname("rooftop_blast_door_clip"); + foreach(var_02 in var_00) + { + var_02.down_pos = var_02.origin - (0,0,192); + var_02 moveto(var_02.down_pos,0.1); + } +} + +//Function Number: 111 +roof_scene_grass_section_failstates() +{ + common_scripts\utility::flag_wait("roof_scene_ilana_at_escape"); + wait(50); + if(!common_scripts\utility::flag("roof_scene_player_escaped")) + { + maps\betrayal_util::drone_swarm_kamikaze_set_attack_vars(1,2,4,50); + thread roof_scene_grass_death_squad_handler(); + if(maps\betrayal_util::player_mission_failed_handler(20,undefined,"roof_scene_player_escaped")) + { + maps\betrayal_util::drone_swarm_kamikaze_set_attack_vars(2,4,3,175); + } + } +} + +//Function Number: 112 +roof_scene_grass_death_squad_handler() +{ + var_00 = []; + if(!common_scripts\utility::flag("roof_scene_player_escaped")) + { + var_01 = getentarray("roof_scene_death_squad_spawner","targetname"); + foreach(var_03 in var_01) + { + for(;;) + { + var_04 = var_03 maps\_utility::spawn_ai(); + if(!maps\_utility::spawn_failed(var_04)) + { + break; + } + + wait(0.05); + } + + var_04.health = 1000; + var_04.baseaccuracy = 10; + var_04.canjumppath = 1; + var_00 = common_scripts\utility::array_add(var_00,var_04); + } + } + + common_scripts\utility::flag_wait("roof_scene_player_escaped"); + foreach(var_04 in var_00) + { + if(isdefined(var_04)) + { + var_04 maps\betrayal_util::delete_ai(); + } + } +} + +//Function Number: 113 +roof_scene_slide() +{ + self usetriggerrequirelookat(); + maps\_utility::addhinttrigger(&"BETRAYAL_HINT_SLIDE_MANTLE",&"BETRAYAL_HINT_SLIDE_MANTLE"); + level.player notifyonplayercommand("fake_mantle_jump","+gostand"); + common_scripts\utility::run_thread_on_targetname("trigger_roof_start_slide_player_present",::roof_scene_slide_wait_for_player_jumped); + level waittill("flag_roof_player_jumped_off_atlas_building"); + level.player notifyonplayercommandremove("fake_mantle_jump","+gostand"); + self delete(); + level.ilana roof_scene_scripted_ilona_fire_at_swarm_behavior_clear(); + thread swim_scene_pre_setup(); + common_scripts\utility::flag_set("roof_scene_player_escaped"); + maps\_utility::autosave_by_name(); + common_scripts\utility::flag_set("flag_objective_escape_scene_complete"); + level.rig = maps\_utility::spawn_anim_model("player_rig",level.player.origin,level.player.angles); + level.rig hide(); + level.player maps\_shg_utility::setup_player_for_scene(); + level.player enableslowaim(); + var_00 = 0.5; + level.player playerlinktoblend(level.rig,"tag_player",var_00); + level.rig common_scripts\utility::delaycall(var_00,::show); + level.player common_scripts\utility::delaycall(var_00,::playerlinktodelta,level.rig,"tag_player",1,0,0,0,0,1); + level.player common_scripts\utility::delaycall(var_00 + 0.05,::lerpviewangleclamp,1,0,0,15,15,12,8); + var_01 = maps\betrayal_util::get_ent_by_targetname("animorg_roof_slide"); + var_02 = []; + var_02[0] = level.rig; + var_03 = maps\betrayal_util::spawn_ai_from_targetname("spawner_roof_slide_guard",1,0); + for(var_04 = 0;var_04 < var_03.size;var_04++) + { + var_03[var_04].animname = "roof_guard_" + var_04 + 1; + var_03[var_04].baseaccuracy = var_03[var_04].baseaccuracy / 2; + if(var_04 == 0) + { + level.falling_guard = var_03[var_04]; + } + + var_02[var_02.size] = var_03[var_04]; + } + + thread swim_scene_swarm_setup(); + var_05 = maps\_utility::getanim_from_animname("roof_slide","player_rig"); + var_06 = getanimlength(var_05); + var_07 = 1; + var_01 thread roof_scene_slide_ilana_anim_to_swim(); + soundscripts\_snd::snd_music_message("roof_slide"); + soundscripts\_snd::snd_message("bet_escape_roof_slide"); + var_01 maps\_anim::anim_single(var_02,"roof_slide"); + level.player unlink(); + level.player disableslowaim(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.rig delete(); + maps\_utility::autosave_by_name(); + wait(0.05); + level notify("player_out_of_atlas"); +} + +//Function Number: 114 +roof_scene_slide_wait_for_player_jumped() +{ + for(;;) + { + level.player waittill("fake_mantle_jump"); + if(self istouching(level.player)) + { + break; + } + + wait(0.05); + } + + common_scripts\utility::flag_set("flag_roof_player_jumped_off_atlas_building"); + self delete(); +} + +//Function Number: 115 +roof_scene_hide_rig(param_00) +{ + param_00 hide(); +} + +//Function Number: 116 +roof_scene_slide_ilana_anim_to_swim() +{ + level.ilana.is_swimming = 1; + maps\_anim::anim_single_solo(level.ilana,"roof_slide"); + level.ilana.swim_path_targetname = "ilana_swim_path"; + level.ilana animcustom(::swim_scene_ilana_swim_on_path_behavior); +} + +//Function Number: 117 +roof_scene_slide_slomo_start(param_00) +{ + setslowmotion(1,0.15,0.1); + soundscripts\_snd::snd_message("bet_escape_roof_slomo_start"); +} + +//Function Number: 118 +roof_scene_slide_slomo_stop(param_00) +{ + setslowmotion(0.15,1,0.2); + soundscripts\_snd::snd_message("bet_escape_roof_slomo_end"); + wait(0.5); + common_scripts\utility::flag_set("flag_dialogue_roof_fall"); +} + +//Function Number: 119 +roof_scene_slide_remove_glass_blocker(param_00) +{ + var_01 = maps\betrayal_util::get_ents_by_targetname("atlas_roof_glass_blocker"); + foreach(var_03 in var_01) + { + var_03 delete(); + } + + setsaveddvar("glass_damageToWeaken",75); + setsaveddvar("glass_damageToDestroy",275); +} + +//Function Number: 120 +roof_scene_slide_raise_gates(param_00) +{ + common_scripts\utility::flag_set("flag_roof_close_mrX_blast_doors"); +} + +//Function Number: 121 +roof_scene_vignettes() +{ + if(level.nextgen) + { + thread maps\betrayal_util::spawn_and_handle_looping_helicopters("office_scene_looping_heli","flag_roof_player_jumped_off_atlas_building",5); + } + else + { + thread maps\betrayal_util::spawn_and_handle_looping_helicopters("office_scene_looping_heli","flag_roof_player_jumped_off_atlas_building",2); + } + + common_scripts\utility::run_thread_on_targetname("roof_scene_vig_civ_spawn_trig",::maps\betrayal_util::civilian_setup,"roof_scene_vig_civ_scatter",0); +} + +//Function Number: 122 +roof_scene_vignette_civilians() +{ + common_scripts\utility::run_thread_on_targetname("rooftop_scene_civilian_spawn_trig",::maps\betrayal_util::civilian_setup,"roof_scene_civilian_react_trig",0); + soundscripts\_snd::snd_message("atlas_building_roof_walla","roof_scene_civilian_react_trig"); +} + +//Function Number: 123 +roof_scene_scripted_ilona_fire_at_swarm(param_00) +{ + self clearentitytarget(); + maps\_utility::set_ignoreall(0); + self notify("stop_firing_at_swarm"); + self endon("stop_firing_at_swarm"); + self setgoalnode(param_00); + thread maps\_colors::color_node_arrival_notifies(param_00); + self waittill("goal"); + while(!isdefined(level.snake_cloud) || !isdefined(level.snake_cloud.snakes)) + { + wait(0.5); + } + + var_01 = randomintrange(0,level.snake_cloud.snakes.size); + if(isdefined(level.roof_scene_guards)) + { + while(level.roof_scene_guards.size > 0) + { + level.roof_scene_guards = maps\_utility::remove_dead_from_array(level.roof_scene_guards); + wait(1); + } + } + + self setentitytarget(level.snake_cloud.snakes[0]); + maps\_utility::set_ignoreall(0); +} + +//Function Number: 124 +roof_scene_scripted_ilona_fire_at_swarm_behavior_clear() +{ + self notify("stop_firing_at_swarm"); + self clearentitytarget(); + self.colornode_setgoal_func = undefined; +} + +//Function Number: 125 +roof_scene_scripted_elevator_shaft_close() +{ + wait(0.05); + var_00 = maps\betrayal_util::get_ent_by_targetname("roof_scene_elevator_hatch"); + var_00 setmodel("btr_elevator_vent_cover_a_closed"); + var_01 = maps\betrayal_util::get_ent_by_targetname("elevator_shaft_open_clip"); + if(isdefined(var_01)) + { + var_01 connectpaths(); + var_01 delete(); + } + + var_02 = maps\betrayal_util::get_ent_by_targetname("elevator_shaft_blocker"); + var_02 solid(); + maps\betrayal_util::waittill_player_not_exo_climbing(); + var_03 = maps\betrayal_util::get_ent_by_targetname("start_roof_ilana"); + while(!maps\betrayal_util::can_teleport_ai_to_pos(level.ilana,var_03.origin)) + { + wait(0.05); + } + + var_04 = maps\betrayal_util::get_ent_by_targetname("roof_scene_ilona_start"); + if(isdefined(var_04)) + { + maps\_utility::activate_trigger_with_targetname("roof_scene_ilona_start"); + } + + level.ilana forceteleport(var_03.origin,var_03.angles); +} + +//Function Number: 126 +roof_scene_enter_water_cleanup() +{ + maps\_utility::trigger_wait_targetname("trigger_roof_player_in_water"); + level notify("roof_scene_cleanup"); + maps\_utility::clear_all_color_orders("allies"); + maps\_utility::clear_all_color_orders("axis"); + maps\betrayal_util::clean_up_ai_single(level.ilana); + level.ilana maps\betrayal_util::move_squad_member_to_ent_by_targetname("start_swim_ilana"); + common_scripts\utility::flag_set("flag_roof_escape_complete"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + setsaveddvar("r_dof_physical_bokehEnable",0); + } + + level.ilana.ignoreall = 1; +} + +//Function Number: 127 +swim_scene_master_handler() +{ + swim_scene_pre_setup(); + swim_scene_setup(); + swim_scene_boats(); + swim_scene_climb_out_water(); + swim_scene_cleanup(); + level thread sewer_scene_master_handler(); +} + +//Function Number: 128 +swim_scene_pre_setup() +{ + maps\_player_exo::player_exo_deactivate(); + if(!isdefined(level.dock_debris) && !isdefined(level.dock_debris_blocker)) + { + swim_scene_scripted_destroyed_dock_hide(); + } + + if(!isdefined(level.swim_warbird)) + { + common_scripts\utility::run_thread_on_targetname("trigger_start_swim_littlebird_patrol",::swim_scene_chase_littlebird_patrol,2); + } +} + +//Function Number: 129 +swim_scene_setup() +{ + level.player disableweapons(); + level.player.drowning_damage = level.player.maxhealth * 0.1 / level.player.damagemultiplier; + maps\_underwater::override_breath_values(24,1); + thread swim_scene_handle_player_containment(); + thread swim_scene_dock_destroy(); + thread swim_scene_dock_guards(); + if(!isdefined(level.snake_cloud)) + { + if(level.currentgen) + { + level.snake_cloud = vehicle_scripts\_attack_drone_common::spawn_snake_cloud("swarm_spawner_swim","swarm_swim_path",6,5); + } + else + { + level.snake_cloud = vehicle_scripts\_attack_drone_common::spawn_snake_cloud("swarm_spawner_swim","swarm_swim_path"); + } + } + + if(common_scripts\utility::flag("swim_devstart")) + { + thread swim_scene_swarm_setup(); + } + + if(!isdefined(level.ilana.is_swimming)) + { + level.ilana clearanim(%body,0); + level.ilana.swim_path_targetname = "ilana_swim_path"; + level.ilana animcustom(::swim_scene_ilana_swim_on_path_behavior); + } + + common_scripts\_exploder::exploder(3002); + common_scripts\utility::flag_set("flag_dialogue_start_swim"); + common_scripts\utility::flag_clear("flag_enable_battle_chatter"); +} + +//Function Number: 130 +swim_scene_boats() +{ + common_scripts\utility::run_thread_on_targetname("trigger_swimg_sink_boat1",::swim_scene_boat_sink); + common_scripts\utility::run_thread_on_targetname("trigger_swimg_sink_boat2",::swim_scene_boat_sink); +} + +//Function Number: 131 +swim_scene_ilana_swim_on_path_behavior() +{ + self endon("killanimscript"); + if(!isdefined(self.swim_path_targetname)) + { + return; + } + + var_00 = common_scripts\utility::getstruct(self.swim_path_targetname,"targetname"); + if(!isdefined(var_00)) + { + return; + } + + maps\_utility::disable_pain(); + var_01 = var_00.origin; + self animmode("nogravity"); + var_02 = vectortoangles(var_01 - self.origin); + self setanimknobrestart(%bet_swimming_forward_idle_ilona,1,0.2,1.2); + for(;;) + { + if(distancesquared(self.origin,var_01) < 3600) + { + if(isdefined(var_00.target)) + { + var_00 = common_scripts\utility::getstruct(var_00.target,"targetname"); + var_01 = var_00.origin; + } + else + { + break; + } + } + + var_03 = vectortoangles(var_01 - self.origin); + var_04 = clamp(angleclamp180(var_03[0] - var_02[0]),-1.5,1.5); + var_05 = clamp(angleclamp180(var_03[1] - var_02[1]),-1.5,1.5); + var_02 = (var_02[0] + var_04,var_02[1] + var_05,var_03[2]); + self orientmode("face angle 3d",var_02,1); + wait(0.05); + } + + var_06 = maps\betrayal_util::get_ent_by_targetname("sewer_get_out_ilana"); + while(!maps\betrayal_util::can_teleport_ai_to_pos(level.ilana,var_06.origin)) + { + wait(0.05); + } + + var_07 = getent("sewer_get_out_ilana","targetname"); + soundscripts\_snd::snd_message("bet_ilona_swim_end",level.ilana); + self forceteleport(var_07.origin,var_07.angles); + var_08 = getnode("ilona_exit_swim_cover","targetname"); + maps\_utility::set_goal_node(var_08); + self animmode("gravity"); + self orientmode("face default"); + maps\_utility::enable_pain(); +} + +//Function Number: 132 +swim_scene_chase_littlebird_patrol(param_00) +{ + self waittill("trigger"); + if(!isdefined(level.swim_warbird)) + { + level.swim_warbird = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("swim_ambush_helo"); + level.swim_warbird soundscripts\_snd::snd_message("aud_ambient_helicopter","swim_ambush_helo"); + level.swim_warbird thread maps\betrayal_util::warbird_shooting_think(1,1,param_00); + var_01 = maps\betrayal_util::get_ent_by_targetname("swim_warbird_target01"); + wait(3); + level.swim_warbird thread swim_scene_warbird_fire_at_target_for_duration(var_01,4); + wait(4); + var_01 delete(); + return; + } + + self.turret_target_override = level.player; + maps\_utility::ent_flag_clear("fire_turrets"); +} + +//Function Number: 133 +swim_scene_warbird_fire_at_target_for_duration(param_00,param_01) +{ + if(isdefined(param_00)) + { + param_00 makeentitysentient("allies"); + if(isdefined(param_00)) + { + self.turret_target_override = param_00; + } + + self.sight_check = 0; + wait(param_01); + } + + self.turret_target_override = level.player; + self.sight_check = 1; +} + +//Function Number: 134 +swim_scene_swarm_setup() +{ + if(!common_scripts\utility::flag("swim_devstart")) + { + wait(4.25); + } + + thread swim_scene_swarm_kamikaze_attack(); + thread swim_scene_swarm_movement(); + wait(0.2); + level notify("start_swim_kamikaze"); + common_scripts\utility::flag_wait("flag_swim_tunnel"); + level notify("stop_swim_dist_monitor"); + level.snake_cloud vehicle_scripts\_attack_drone_common::snake_cloud_goto_points("swarm_swim_path4",undefined,4); +} + +//Function Number: 135 +swim_scene_swarm_movement() +{ + level endon("stop_swim_dist_monitor"); + var_00 = maps\betrayal_util::get_ent_by_targetname("swim_tunnel_hole_opening"); + var_01 = 950; + var_02 = 400; + var_03 = 0; + for(;;) + { + var_04 = distance2d(level.player.origin,var_00.origin); + if(var_04 < var_02 && var_04 > var_03) + { + level.snake_cloud vehicle_scripts\_attack_drone_common::snake_cloud_goto_points("swarm_swim_path3",undefined,4); + } + + if(var_04 < var_01 && var_04 > var_02) + { + level.snake_cloud vehicle_scripts\_attack_drone_common::snake_cloud_goto_points("swarm_swim_path2",undefined,4); + } + + if(var_04 >= var_01) + { + level.snake_cloud vehicle_scripts\_attack_drone_common::snake_cloud_goto_points("swarm_swim_path1",undefined,4); + } + + wait 0.05; + } +} + +//Function Number: 136 +swim_scene_swarm_kamikaze_attack() +{ +} + +//Function Number: 137 +swim_scene_boat_sink() +{ + var_00 = maps\betrayal_util::get_ents_by_targetname(self.target); + var_01 = undefined; + var_02 = undefined; + foreach(var_04 in var_00) + { + if(var_04.classname == "script_model") + { + var_01 = var_04; + } + + if(var_04.classname == "script_brushmodel") + { + var_02 = var_04; + } + } + + var_02 linkto(var_01); + var_06 = var_01 common_scripts\utility::spawn_tag_origin(); + var_06.angles = vectortoangles(anglestoup(var_01.angles)); + var_06 linkto(var_01); + self waittill("trigger"); + level.swim_warbird thread swim_scene_warbird_fire_at_target_for_duration(var_01,3); + wait(4); + level.player thread maps\betrayal_fx::canal_boat_explosion(var_06); + soundscripts\_snd::snd_message("bet_swim_boat_explo",var_06); + var_01 playrumbleonentity("grenade_rumble"); + var_07 = undefined; + var_08 = 0; + var_09 = 0; + for(;;) + { + var_0A = physicstrace(var_01.origin,var_01.origin + (0,0,-1000)); + if(!isdefined(var_07)) + { + var_07 = var_0A; + } + + if(distance(var_0A,var_01.origin) < 150) + { + break; + } + + if(var_01.origin[2] < var_07[2]) + { + break; + } + + var_0B = randomfloatrange(3,4); + var_0C = randomfloatrange(-50,50); + var_0D = randomfloatrange(-50,50); + var_0E = randomfloatrange(-30,-20); + var_08 = clamp(randomfloatrange(-5,5) + var_08,-20,20); + var_09 = clamp(randomfloatrange(-5,5) + var_09,-20,20); + var_01 moveto(var_01.origin + (var_0C,var_0D,var_0E),var_0B); + var_01 rotateto((var_09,var_01.angles[1],var_08),var_0B); + wait(var_0B); + } + + var_01 thread swim_scene_boat_sink_bob(); + stopfxontag(level._effect["boat_explosion"],var_06,"tag_origin"); + stopfxontag(level._effect["boat_explosion_underwater"],var_06,"tag_origin"); + wait(4); + var_06 unlink(); + var_06 delete(); +} + +//Function Number: 138 +swim_scene_boat_sink_bob() +{ + var_00 = self.origin[0] - 15; + var_01 = self.origin[0] + 15; + var_02 = self.origin[1] - 15; + var_03 = self.origin[1] + 15; + var_04 = self.origin[2] - 15; + var_05 = self.origin[2] + 15; + var_06 = 0; + var_07 = 0; + while(!common_scripts\utility::flag("flag_swim_tunnel")) + { + var_08 = randomfloatrange(3,4); + var_09 = clamp(self.origin[0] + randomfloatrange(-15,15),var_00,var_01); + var_0A = clamp(self.origin[1] + randomfloatrange(-15,15),var_02,var_03); + var_0B = clamp(self.origin[2] + randomfloatrange(-15,15),var_04,var_05); + var_06 = clamp(randomfloatrange(-5,5) + var_06,-20,20); + var_07 = clamp(randomfloatrange(-5,5) + var_07,-20,20); + self moveto((var_09,var_0A,var_0B),var_08); + self rotateto((var_07,self.angles[1],var_06),var_08); + wait(var_08); + } +} + +//Function Number: 139 +swim_scene_dock_destroy() +{ + common_scripts\utility::flag_wait("flag_swim_tunnel"); + level thread maps\betrayal_fx::canal_dock_destroy(); + wait(0.5); + level.dock_debris show(); + level.dock_debris_blocker solid(); + soundscripts\_snd::snd_message("bet_swim_dock_debris_blocker"); + maps\_utility::autosave_by_name(); + if(isdefined(level.swim_warbird)) + { + level.swim_warbird delete(); + } +} + +//Function Number: 140 +swim_scene_scripted_destroyed_dock_hide() +{ + level.dock_debris = maps\betrayal_util::get_ent_by_targetname("swim_scene_sunk_dock_debris"); + level.dock_debris_blocker = maps\betrayal_util::get_ent_by_targetname("swim_scene_debris_blocker"); + level.dock_debris_blocker notsolid(); + level.dock_debris hide(); +} + +//Function Number: 141 +swim_scene_dock_guards() +{ + var_00 = getentarray("swim_dock_guards","targetname"); + foreach(var_02 in var_00) + { + var_03 = var_02 maps\_utility::spawn_ai(1); + var_04 = getnode(var_02.target,"targetname"); + var_03 thread swim_scene_dock_guard_removal(); + var_03.canjumppath = 1; + if(isdefined(var_03.script_noteworthy)) + { + if(var_03.script_noteworthy == "dock_guard1") + { + var_03.animname = "atlas_guard_1"; + var_03 thread maps\betrayal_util::simple_anim_at_struct("dock_guard1_animorg"); + var_03 thread swim_scene_dock_guard_goal(var_04); + var_03.baseaccuracy = 0.25; + var_03.grenadeammo = 0; + var_03 maps\_utility::set_favoriteenemy(level.player); + } + + if(var_03.script_noteworthy == "dock_guard2") + { + var_03.animname = "atlas_guard_2"; + var_03 thread maps\betrayal_util::simple_anim_at_struct("dock_guard2_animorg"); + var_03 thread swim_scene_dock_guard_goal(var_04); + var_03.baseaccuracy = 0.25; + var_03.grenadeammo = 0; + var_03 maps\_utility::set_favoriteenemy(level.player); + } + } + } +} + +//Function Number: 142 +swim_scene_dock_guard_goal(param_00) +{ + if(isdefined(self)) + { + self waittill("anim_finished"); + if(isdefined(self)) + { + maps\_utility::set_goal_node(param_00); + } + } +} + +//Function Number: 143 +swim_scene_dock_guard_removal() +{ + common_scripts\utility::flag_wait("flag_sewer_exit_civ_setup"); + if(isdefined(self)) + { + self delete(); + } +} + +//Function Number: 144 +swim_scene_climb_out_water() +{ + var_00 = getentarray("sewer_containment","targetname"); + foreach(var_02 in var_00) + { + var_02 notsolid(); + } + + common_scripts\utility::flag_wait("flag_swim_water_player_out_of_water"); + soundscripts\_snd::snd_music_message("sewer_out_of_water"); + foreach(var_02 in var_00) + { + var_02 solid(); + } + + wait(1); + level.player enableweapons(); +} + +//Function Number: 145 +swim_scene_handle_current() +{ + level endon("swim_scene_cleanup"); + common_scripts\utility::flag_set("flag_swim_water_motion_on"); + for(;;) + { + maps\_utility::trigger_wait_targetname("trigger_swim_no_current"); + common_scripts\utility::flag_clear("flag_swim_water_motion_on"); + maps\_utility::trigger_wait_targetname("trigger_swim_river_current"); + common_scripts\utility::flag_set("flag_swim_water_motion_on"); + } +} + +//Function Number: 146 +swim_scene_handle_player_containment() +{ + var_00 = getentarray("swim_barrier","targetname"); + var_01 = 0; + var_02 = 6; + var_03 = 0; + for(;;) + { + wait(0.05); + var_04 = 0; + foreach(var_06 in var_00) + { + if(level.player istouching(var_06)) + { + var_04 = 1; + break; + } + } + + if(!var_04) + { + var_01 = 0; + var_03 = 0; + maps\_utility::hint_fade(); + continue; + } + + var_01 = var_01 + 0.05; + if(var_01 >= var_02) + { + setdvar("ui_deadquote",&"BETRAYAL_FAIL_ESCAPE"); + maps\_utility::missionfailedwrapper(); + } + + if(var_03 == 0) + { + maps\_utility::display_hint("leaving_mission_area"); + var_03 = 1; + } + } +} + +//Function Number: 147 +swim_scene_cleanup() +{ + level notify("swim_scene_cleanup"); + maps\_utility::clear_all_color_orders("axis"); + maps\_utility::clear_all_color_orders("allies"); +} + +//Function Number: 148 +sewer_scene_master_handler() +{ + sewer_scene_setup(); + sewer_scene_manhole_interaction(); + sewer_scene_market_section(); + level thread oldtown_scene_master_handler(); + common_scripts\utility::flag_wait("flag_sewer_oldtown_intro_complete"); + sewer_scene_cleanup(); + common_scripts\utility::flag_set("flag_sewer_scene_transfer_to_free_run"); + wait(2); + common_scripts\utility::flag_set("flag_sewer_checkpoint_guards_wakeup"); +} + +//Function Number: 149 +sewer_scene_setup() +{ + level thread sewer_scene_dialogue_manager(); + level thread sewer_scene_ilona_movement_manager(); + level thread sewer_scene_swim_cleanup(); + level thread sewer_scene_setup_manholde_vignette_civs(); + level thread sewer_scene_scripted_objects(); + common_scripts\utility::flag_set("flag_dialogue_start_sewer"); + common_scripts\utility::flag_clear("flag_enable_battle_chatter"); + soundscripts\_snd::snd_message("market_walla_init"); +} + +//Function Number: 150 +sewer_scene_swim_cleanup() +{ + level endon("sewer_scene_start_backtrack_fail"); + level waittill("flag_sewer_swap_to_oldtown_swarm"); + if(isdefined(level.snake_cloud)) + { + level.snake_cloud vehicle_scripts\_attack_drone_common::cleanup_snake_cloud(); + level.snake_cloud = undefined; + } + + if(isdefined(level.swim_warbird)) + { + level.swim_warbird delete(); + } +} + +//Function Number: 151 +sewer_scene_cleanup() +{ + level notify("sewer_scene_cleanup"); +} + +//Function Number: 152 +sewer_scene_dialogue_manager() +{ + level.player endon("death"); + level endon("flag_sewer_scene_transfer_to_free_run"); + level endon("flag_sewer_checkpoint_guards_wakeup"); + level endon("sewer_scene_cleanup"); + level.civilian1 = maps\betrayal_util::get_ent_by_targetname("civilian01_VO_PA"); + level.civilian1.animname = "civilian_1"; + level.civilian2 = maps\betrayal_util::get_ent_by_targetname("civilian02_VO_PA"); + level.civilian2.animname = "civilian_2"; + level.oldtown_pa = maps\betrayal_util::get_ent_by_targetname("oldtown_pa"); + level.oldtown_pa.animname = "PA_2"; + level.atlas_guard = maps\betrayal_util::get_ent_by_targetname("guard_market_VO_PA"); + level.atlas_guard.animname = "atlas_guard_1"; + common_scripts\utility::flag_wait("flag_sewer_oppression_event_start"); + wait(0.2); + level.civilian1 = maps\betrayal_util::get_ent_by_targetname("civilian01_market_VO_PA"); + level.civilian1.animname = "civilian_1"; + level.civilian2 = maps\betrayal_util::get_ent_by_targetname("civilian02_market_VO_PA"); + level.civilian2.animname = "civilian_2"; + common_scripts\utility::flag_set("flag_dialogue_sewer_checkpoint"); +} + +//Function Number: 153 +sewer_scene_ilona_movement_manager() +{ + level.ilana pushplayer(1); + common_scripts\utility::flag_wait("flag_sewer_oppression_event_ilona_start_secret"); + level.ilana allowedstances("crouch","prone"); + common_scripts\utility::flag_wait("flag_sewer_oppression_event_ilona_building_start"); + level.ilana allowedstances("stand","crouch","prone"); +} + +//Function Number: 154 +sewer_scene_manhole_interaction() +{ + if(!isdefined(level.snake_cloud)) + { + level thread sewer_scene_manhole_spawn_swim_swarm(); + } + + var_00 = maps\betrayal_util::get_ent_by_targetname("animorg_sewer_ladder_climb"); + var_01 = maps\betrayal_util::get_ent_by_targetname("oldtown_sewer_lid"); + var_02 = maps\betrayal_util::get_ent_by_targetname("oldtown_sewer_lid_outside"); + var_02 hide(); + var_01.animname = "sewer_lid"; + var_01 maps\_utility::assign_animtree(); + var_00 maps\_anim::anim_first_frame_solo(var_01,"sewer_grate_open"); + var_03 = maps\betrayal_util::get_ent_by_targetname("trigger_swim_get_out_sewer"); + var_04 = var_03 maps\_shg_utility::hint_button_trigger("use",200); + var_03 maps\_utility::addhinttrigger(&"BETRAYAL_OPEN_MANHOLE",&"BETRAYAL_OPEN_MANHOLE_PC"); + var_03 waittill("trigger"); + maps\_player_exo::player_exo_deactivate(); + var_04 maps\_shg_utility::hint_button_clear(); + var_03 delete(); + common_scripts\utility::flag_set("flag_objective_swim_scene_complete"); + common_scripts\utility::flag_set("oldtown_start_lighting"); + level.swim_warbird = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("sewer_exit_warbird_outro"); + level.swim_warbird soundscripts\_snd::snd_message("aud_ambient_helicopter","sewer_exit_warbird_outro"); + if(level.currentgen) + { + maps\_utility::tff_sync(); + } + + level maps\betrayal_util::animate_player_on_rig_simple("player_hands","sewer_grate_open","animorg_sewer_ladder_climb",0.5,[var_01]); + var_01 hide(); + var_02 show(); + common_scripts\utility::flag_set("flag_dialogue_sewer_guards"); + common_scripts\utility::flag_set("flag_objective_freerun_scene_start"); + maps\_player_exo::player_exo_activate(); + level thread sewer_scene_manhole_backtrack_failure(); + common_scripts\utility::flag_wait("flag_sewer_backtrack_ender"); +} + +//Function Number: 155 +sewer_scene_teleport_ilona_to_sewer_exit(param_00) +{ + level.ilana pushplayer(0); + level.ilana maps\betrayal_util::start_squad_member_at_start("exit_sewer_ilana"); +} + +//Function Number: 156 +sewer_scene_manhole_spawn_swim_swarm() +{ + if(level.currentgen) + { + level.snake_cloud = vehicle_scripts\_attack_drone_common::spawn_snake_cloud("swarm_spawner_swim","swarm_swim_path4",6,5); + return; + } + + level.snake_cloud = vehicle_scripts\_attack_drone_common::spawn_snake_cloud("swarm_spawner_swim","swarm_swim_path4"); +} + +//Function Number: 157 +sewer_scene_setup_manholde_vignette_civs() +{ + common_scripts\utility::flag_set("flag_sewer_exit_civ_setup"); + common_scripts\utility::run_thread_on_targetname("sewer_exit_scene_civilian_setup_initial",::maps\betrayal_util::civilian_setup,"flag_sewer_exit_player_fired_weapon",0); + thread sewer_exit_monitor_player_weapon_fire(); +} + +//Function Number: 158 +sewer_exit_monitor_player_weapon_fire() +{ + level endon("flag_sewer_oppression_event_start"); + level.player common_scripts\utility::waittill_any("begin_firing","grenade_fire"); + common_scripts\utility::flag_set("flag_sewer_exit_player_fired_weapon"); +} + +//Function Number: 159 +sewer_scene_manhole_backtrack_failure() +{ + level thread sewer_scene_backtrack_failure(); + common_scripts\utility::flag_wait("flag_sewer_backtrack_ender"); + level.snake_cloud vehicle_scripts\_attack_drone_common::snake_cloud_goto_points("swarm_swim_path5",undefined,4); +} + +//Function Number: 160 +sewer_scene_backtrack_failure() +{ + wait(40); + if(!common_scripts\utility::flag("flag_sewer_backtrack_ender")) + { + level notify("sewer_scene_start_backtrack_fail"); + level thread sewer_scene_backtrack_fail_send_in_flyers(); + var_00 = maps\betrayal_util::get_ents_by_targetname("sewer_backtrack_guards"); + foreach(var_02 in var_00) + { + var_03 = var_02 maps\_utility::spawn_ai(1); + wait 0.05; + var_03 maps\_vehicle::godon(); + var_03.baseaccuracy = 5; + var_03.goalradius = 32; + if(isdefined(var_03.script_noteworthy)) + { + switch(var_03.script_noteworthy) + { + case "sewer_guard1": + var_03.animname = "atlas_guard_1"; + var_03 thread maps\_mech::mech_start_hunting(); + break; + + case "sewer_guard2": + var_03.animname = "atlas_guard_2"; + level.atlas_guard2 = var_03; + var_03 thread maps\_mech::mech_start_hunting(); + break; + + case "sewer_guard3": + var_03.animname = "atlas_guard_3"; + level.atlas_guard3 = var_03; + var_03.health = 300; + break; + + case "sewer_guard4": + var_03.animname = "atlas_guard_4"; + level.atlas_guard4 = var_03; + var_03.health = 300; + break; + + case "sewer_guard5": + var_03.canjumppath = 1; + level.atlas_guard5 = var_03; + var_03.health = 300; + break; + } + } + } + + level.atlas_guard3 thread maps\betrayal_util::simple_anim_at_struct("sewer_guard3_animorg"); + level.atlas_guard4 thread maps\betrayal_util::simple_anim_at_struct("sewer_guard4_animorg"); + level.ilana.ignoreall = 0; + level thread maps\betrayal_vo::play_dialogue_oldtown_player_spotted(level.atlas_guard5,level.atlas_guard2); + level.player common_scripts\utility::waittill_any_timeout(10,"death"); + wait(0.5); + setdvar("ui_deadquote",&"BETRAYAL_FAIL_ESCAPE"); + maps\_utility::missionfailedwrapper(); + } +} + +//Function Number: 161 +sewer_scene_backtrack_fail_send_in_flyers() +{ + level.snake_cloud vehicle_scripts\_attack_drone_common::snake_cloud_goto_points("swarm_playerfail1",undefined,4); + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("sewer_exit_fail_warbird"); + var_00 soundscripts\_snd::snd_message("aud_ambient_helicopter","sewer_exit_fail_warbird"); + var_00 thread maps\_vehicle::godon(); + var_00 thread maps\betrayal_util::warbird_shooting_think(0,1); + var_00.turret_target_override = level.player; +} + +//Function Number: 162 +sewer_scene_market_section() +{ + level waittill("oldtown_intro_civ_setup"); + thread sewer_scene_market_vig_civ_init(); + thread sewer_scene_drone_vehicle_setup(); + thread sewer_scene_market_bystander_oppression_setup(); + thread sewer_scene_spawn_guards_at_market_checkpoint(1); + thread sewer_scene_market_atlas_oppression_setup(); + level thread sewer_scene_market_section_handle_ilona_move(); + level thread sewer_scene_guards_alerted_wake_up_scene(); + level thread sewer_scene_checkpoint_handle_guard_wakeup(); +} + +//Function Number: 163 +sewer_scene_market_section_handle_ilona_move() +{ +} + +//Function Number: 164 +sewer_scene_guards_alerted_wake_up_scene() +{ + common_scripts\utility::flag_wait("flag_sewer_checkpoint_guards_wakeup"); + var_00 = getaiarray("axis"); + var_00 = sortbydistance(var_00,level.player.origin); + level thread maps\betrayal_vo::play_dialogue_oldtown_player_spotted(var_00[0],var_00[1]); + level notify("market_walla_guards_wakeup"); + level.ilana.ignoreall = 0; + if(isdefined(level.snake_cloud)) + { + level.snake_cloud thread vehicle_scripts\_attack_drone_common::snake_cloud_goto_points("freerun_drone_path0",undefined,4); + } + + thread maps\betrayal_util::clear_ignore_all_on_group(level.bystander_oppression_event_ents); + common_scripts\utility::flag_set("flag_enable_battle_chatter"); +} + +//Function Number: 165 +sewer_scene_market_vig_civ_init() +{ + common_scripts\utility::run_thread_on_targetname("sewer_exit_scene_civilian_setup",::maps\betrayal_util::civilian_setup,"flag_sewer_checkpoint_guards_wakeup",0); +} + +//Function Number: 166 +sewer_scene_drone_vehicle_setup() +{ + level thread sewer_scene_drone_oppresion_fly(); + level thread sewer_scene_drone_surprise_ilona(); +} + +//Function Number: 167 +sewer_scene_drone_oppresion_fly() +{ + common_scripts\utility::flag_wait("flag_sewer_oppression_event_start"); + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("atlas_guard_oppression_event_drone_00"); + var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("atlas_guard_oppression_event_drone_01"); +} + +//Function Number: 168 +sewer_scene_drone_surprise_ilona() +{ + level endon("sewer_scene_cleanup"); + var_00 = maps\betrayal_util::get_ent_by_targetname("trigger_sewer_ilona_drone_scare"); + for(;;) + { + var_00 waittill("trigger",var_01); + if(var_01 == level.player) + { + return; + } + + if(var_01 == level.ilana) + { + var_02 = distance(level.ilana.origin,level.player.origin); + if(var_02 > 150) + { + var_03 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("atlas_guard_oppression_event_drone_02"); + var_03.pacifist = 1; + wait(0.75); + level.ilana.animname = "ilana"; + var_04 = "ilona_react_to_drone"; + level.ilana maps\_anim::anim_single_solo_run(level.ilana,var_04); + } + + return; + } + } +} + +//Function Number: 169 +sewer_scene_spawn_guards_at_market_checkpoint(param_00) +{ + level.guards_at_market_checkpoint_array = []; + var_01 = getentarray("guard_at_market_checkpoint","script_noteworthy"); + foreach(var_03 in var_01) + { + var_04 = var_03 maps\_utility::spawn_ai(1,0); + level.guards_at_market_checkpoint_array = common_scripts\utility::array_add(level.guards_at_market_checkpoint_array,var_04); + if(isdefined(param_00)) + { + var_04 maps\_utility::set_ignoreall(param_00); + } + else + { + var_04 maps\_utility::set_ignoreall(1); + } + + var_04 thread maps\betrayal_util::delete_ai_on_flag("flag_sewer_finish_sewer_scene_cleanup"); + var_04 thread sewer_scene_checkpoint_guard_wakeup(); + var_04.animname = "generic"; + if(isdefined(var_04.animation)) + { + var_05 = var_04.animation; + } + else + { + var_05 = "bet_ceremony_security_idle_guy01"; + } + + var_04 thread maps\_anim::anim_loop([var_04],var_05); + } +} + +//Function Number: 170 +sewer_scene_market_bystander_oppression_setup() +{ + level endon("flag_sewer_checkpoint_guards_wakeup"); + level.bystander_oppression_event_ents = maps\betrayal_util::spawn_ai_from_targetname("bystander_oppression_event",1,0); + foreach(var_01 in level.bystander_oppression_event_ents) + { + if(isdefined(var_01)) + { + var_01.animname = "generic"; + var_02 = var_01 maps\betrayal_util::civilian_get_random_idle(); + var_01 thread maps\_anim::anim_loop_solo(var_01,var_02); + } + } + + common_scripts\utility::array_thread(level.bystander_oppression_event_ents,::sewer_scene_vignette_actor_flee); + common_scripts\utility::flag_wait("oppression_ent_completed_beat_02"); + common_scripts\utility::array_thread(level.bystander_oppression_event_ents,::sewer_scene_vignette_bystander_react); +} + +//Function Number: 171 +sewer_scene_vignette_bystander_react() +{ + self endon("death"); + if(isdefined(self) && isdefined(self.script_noteworthy)) + { + maps\betrayal_util::stop_current_animations(); + self.animname = "civilian_react"; + var_00 = self.script_noteworthy; + maps\_anim::anim_single_solo(self,var_00); + if(isdefined(self.script_parameters)) + { + maps\betrayal_util::stop_current_animations(); + var_00 = self.script_parameters; + thread maps\_anim::anim_loop([self],var_00); + return; + } + + maps\betrayal_util::stop_current_animations(); + var_00 = maps\betrayal_util::civilian_get_random_reaction(); + thread maps\_anim::anim_loop([self],var_00); + } +} + +//Function Number: 172 +sewer_scene_vignette_actor_flee() +{ + common_scripts\utility::flag_wait("flag_sewer_checkpoint_guards_wakeup"); + if(isdefined(self) && isdefined(self.target)) + { + maps\betrayal_util::stop_current_animations(); + var_00 = getnode(self.target,"targetname"); + self.goalradius = 16; + maps\_utility::set_goal_node(var_00); + self notify("move"); + thread maps\betrayal_util::delete_ai_on_goal(); + } +} + +//Function Number: 173 +sewer_scene_market_atlas_oppression_setup() +{ + level.guard_oppression_event_ents = []; + maps\betrayal_util::add_spawn_function_to_noteworthy("atlas_guard_oppression_event_roof_guy",::sewer_scene_store_oppresion_guy); + var_00 = maps\betrayal_util::get_ents_by_targetname("atlas_guard_oppression_event"); + foreach(var_02 in var_00) + { + var_03 = var_02 maps\_utility::spawn_ai(1,0); + level.guard_oppression_event_ents = common_scripts\utility::array_add(level.guard_oppression_event_ents,var_03); + } + + var_05 = maps\betrayal_util::get_ent_by_targetname("atlas_guard_oppression_event_starter"); + level.oppression_starter = var_05 maps\_utility::spawn_ai(1,0); + level.guard_oppression_event_ents = common_scripts\utility::array_add(level.guard_oppression_event_ents,level.oppression_starter); + foreach(var_07 in level.guard_oppression_event_ents) + { + var_07 thread maps\betrayal_util::delete_ai_on_flag("boat_scene_start"); + var_07.canjumppath = 1; + var_07 maps\_utility::set_ignoreall(1); + var_07 thread sewer_scene_checkpoint_guard_wakeup(); + var_07 maps\betrayal_util::stop_current_animations(); + var_07.animname = "generic"; + if(isdefined(var_07.animation)) + { + var_08 = var_07.animation; + } + else + { + var_08 = "bet_ceremony_security_idle_guy01"; + } + + var_07 thread maps\_anim::anim_loop([var_07],var_08); + } + + level thread sewer_scene_handle_opression_event(); + common_scripts\utility::flag_wait("oppression_ent_completed_beat_01"); + foreach(var_07 in level.guard_oppression_event_ents) + { + if(isdefined(var_07.target)) + { + var_07 maps\betrayal_util::stop_current_animations(); + var_0B = getnode(var_07.target,"targetname"); + var_07 maps\_utility::set_goal_node(var_0B); + var_07.goalradius = 16; + var_07 notify("move"); + } + } +} + +//Function Number: 174 +sewer_scene_store_oppresion_guy() +{ + if(!isdefined(level.sewer_scene_oppresion_guys)) + { + level.sewer_scene_oppresion_guys = []; + } + + level.sewer_scene_oppresion_guys[level.sewer_scene_oppresion_guys.size] = self; +} + +//Function Number: 175 +sewer_scene_handle_opression_event() +{ + var_00 = maps\betrayal_util::get_ent_by_targetname("oppressed_civ01_spanwer"); + var_01 = maps\betrayal_util::get_ent_by_targetname("oppressed_civ02_spanwer"); + level.oppressed_civ01 = var_00 maps\_utility::spawn_ai(1,0); + level.oppressed_civ02 = var_01 maps\_utility::spawn_ai(1,0); + level.oppressed_civs = []; + level.oppressed_civs = common_scripts\utility::array_add(level.oppressed_civs,level.oppressed_civ01); + level.oppressed_civs = common_scripts\utility::array_add(level.oppressed_civs,level.oppressed_civ02); + foreach(var_03 in level.oppressed_civs) + { + var_03 thread maps\betrayal_util::delete_ai_on_flag("flag_sewer_finish_sewer_scene_cleanup"); + var_03 maps\_utility::set_ignoreall(1); + var_03 maps\betrayal_util::stop_current_animations(); + var_03.animname = "scripted"; + if(isdefined(var_03.animation)) + { + var_04 = var_03.animation; + } + else + { + var_04 = "civilian_stand_idle"; + } + + var_03 thread maps\_anim::anim_loop([var_03],var_04); + } + + level.oppressed_civ01 thread sewer_scene_oppression_civ01(); + level.oppressed_civ02 thread sewer_scene_oppression_civ02(); + level.oppression_starter thread sewer_scene_oppression_guard(); + level.oppression_starter thread sewer_scene_checkpoint_guard_wakeup(); + soundscripts\_snd::snd_message("market_walla_cleanup","flag_sewer_finish_sewer_scene_cleanup"); + common_scripts\utility::flag_wait("flag_sewer_oppression_event_start"); + common_scripts\utility::flag_set("start_oppression_event"); +} + +//Function Number: 176 +sewer_scene_oppression_civ01() +{ + level endon("flag_sewer_checkpoint_guards_wakeup"); + thread sewer_scene_vignette_actor_flee(); + common_scripts\utility::flag_wait("start_oppression_event"); + maps\betrayal_util::stop_current_animations(); + self.animname = "scripted"; + thread maps\_anim::anim_loop([self],"civilian_directions_stand_idle"); + common_scripts\utility::flag_wait("oppression_ent_completed_beat_02"); + wait(0.2); + maps\betrayal_util::stop_current_animations(); + self.animname = "scripted"; + maps\_anim::anim_single_solo(self,"civ_react_handsup"); + maps\betrayal_util::stop_current_animations(); + self.animname = "scripted"; + thread maps\_anim::anim_loop([self],"civ_react_handsup_idle"); +} + +//Function Number: 177 +sewer_scene_oppression_civ02() +{ + level endon("flag_sewer_checkpoint_guards_wakeup"); + thread sewer_scene_vignette_actor_flee(); + common_scripts\utility::flag_wait("start_oppression_event"); + maps\betrayal_util::stop_current_animations(); + self.animname = "scripted"; + thread maps\_anim::anim_loop([self],"civilian_directions_stand_idle_2"); + common_scripts\utility::flag_wait("oppression_ent_completed_beat_02"); + wait(0.5); + maps\betrayal_util::stop_current_animations(); + self.animname = "scripted"; + maps\_anim::anim_single_solo(self,"civ_react_handsup"); + maps\betrayal_util::stop_current_animations(); + self.animname = "scripted"; + thread maps\_anim::anim_loop([self],"civ_react_handsup_idle"); +} + +//Function Number: 178 +sewer_scene_oppression_guard() +{ + level endon("flag_sewer_checkpoint_guards_wakeup"); + common_scripts\utility::flag_wait("start_oppression_event"); + maps\betrayal_util::stop_current_animations(); + self.animname = "scripted"; + thread maps\_anim::anim_single_solo(self,"soldier_drone_walk_to_and_point"); + wait(3); + common_scripts\utility::flag_set("oppression_ent_completed_beat_01"); + wait(1); + self.animname = "scripted"; + thread maps\_anim::anim_loop([self],"soldier_drone_standing_gun_raised_idle"); + common_scripts\utility::flag_set("oppression_ent_completed_beat_02"); + wait(1); + var_00 = "ny_manhattan_radio_sandman_talk"; + maps\_anim::anim_single_solo(self,var_00); + self.animname = "scripted"; + thread maps\_anim::anim_loop([self],"soldier_drone_standing_gun_raised_idle"); + common_scripts\utility::flag_wait("oppression_ent_completed_beat_03"); +} + +//Function Number: 179 +sewer_scene_checkpoint_guard_wakeup() +{ + self endon("death"); + common_scripts\utility::flag_wait("flag_sewer_checkpoint_guards_wakeup"); + maps\betrayal_util::stop_current_animations(); + maps\_utility::set_goal_radius(128); + self setgoalpos(self.origin); + for(;;) + { + maps\_utility::set_ignoreall(0); + maps\_utility::set_baseaccuracy(0.05); + while(!common_scripts\utility::flag("flag_sewer_player_failed_checkpoint")) + { + wait(0.5); + } + + self.original_position = self.origin; + maps\_utility::set_ignoreall(0); + maps\_utility::set_baseaccuracy(5); + thread maps\_utility::player_seek_enable(); + while(common_scripts\utility::flag("flag_sewer_player_failed_checkpoint")) + { + wait(0.5); + } + + maps\_utility::player_seek_disable(); + maps\_utility::set_goal_pos(self.original_position); + } +} + +//Function Number: 180 +sewer_scene_checkpoint_handle_guard_wakeup() +{ + level thread sewer_scene_checkpoint_fail_conditions(); + common_scripts\utility::flag_wait("oppression_ent_completed_beat_02"); + wait(15); + common_scripts\utility::flag_set("flag_sewer_checkpoint_guards_wakeup"); +} + +//Function Number: 181 +sewer_scene_checkpoint_fail_conditions(param_00) +{ + common_scripts\utility::flag_wait("start_market_fail_conditions"); + level thread sewer_scene_checkpoint_failed_player_jumped_down(); + if(!isdefined(param_00) || param_00) + { + level thread sewer_scene_checkpoint_failed_player_stayed_behind(); + level thread sewer_scene_checkpoint_failed_player_shot(); + level thread sewer_scene_checkpoint_failed_player_too_close(); + level thread sewer_scene_checkpoint_failed_player_went_back(); + } + + common_scripts\utility::flag_wait("flag_sewer_player_failed_checkpoint"); + level thread sewer_scene_chkpt_fail_warbird(); + if(!isdefined(param_00) || param_00) + { + level thread sewer_scene_chkpt_fail_extra_hunters(); + } + + thread sewer_scene_checkpoint_player_killvol_handling(); + if(maps\betrayal_util::player_mission_failed_handler(20,"flag_sewer_player_failed_checkpoint") && !common_scripts\utility::flag("flag_sewer_player_jumped_in_market")) + { + thread sewer_scene_checkpoint_fail_conditions(0); + } +} + +//Function Number: 182 +sewer_scene_checkpoint_failed_player_jumped_down() +{ + level endon("flag_sewer_player_failed_checkpoint"); + common_scripts\utility::flag_wait("flag_sewer_player_jumped_in_market"); + common_scripts\utility::flag_set("flag_sewer_checkpoint_guards_wakeup"); + common_scripts\utility::flag_set("flag_sewer_player_failed_checkpoint"); +} + +//Function Number: 183 +sewer_scene_checkpoint_player_killvol_handling() +{ + level.player endon("death"); + level.market_kill_volume = maps\betrayal_util::get_ent_by_targetname("sewer_scene_security_magicbullet_player"); + var_00 = getent("sewer_scene_magic_bullet_start","targetname"); + var_01 = level.player geteye(); + for(;;) + { + if(level.player istouching(level.market_kill_volume)) + { + var_01 = level.player geteye(); + magicbullet("iw5_thor_sp",var_00.origin,var_01); + level.player kill(); + wait(0.5); + setdvar("ui_deadquote",&"BETRAYAL_FAIL_ESCAPE"); + maps\_utility::missionfailedwrapper(); + } + + wait 0.05; + } +} + +//Function Number: 184 +sewer_scene_checkpoint_failed_player_went_back() +{ + level endon("flag_sewer_player_failed_checkpoint"); + common_scripts\utility::flag_wait("flag_sewer_player_went_back"); + common_scripts\utility::flag_set("flag_sewer_checkpoint_guards_wakeup"); + wait(20); + if(common_scripts\utility::flag("flag_sewer_oldtown_intro_complete")) + { + return; + } + + common_scripts\utility::flag_set("flag_sewer_player_failed_checkpoint"); +} + +//Function Number: 185 +sewer_scene_checkpoint_failed_player_stayed_behind() +{ + level endon("flag_sewer_player_failed_checkpoint"); + common_scripts\utility::flag_wait("oppression_ent_completed_beat_02"); + wait(15); + common_scripts\utility::flag_set("flag_sewer_checkpoint_guards_wakeup"); + wait(40); + if(common_scripts\utility::flag("flag_sewer_oldtown_intro_complete")) + { + return; + } + + common_scripts\utility::flag_set("flag_sewer_player_failed_checkpoint"); +} + +//Function Number: 186 +sewer_scene_checkpoint_failed_player_shot() +{ + level endon("flag_sewer_player_failed_checkpoint"); + level.player common_scripts\utility::waittill_any("begin_firing","grenade_fire"); + common_scripts\utility::flag_set("flag_sewer_checkpoint_guards_wakeup"); + wait(10); + if(common_scripts\utility::flag("flag_sewer_oldtown_intro_complete")) + { + return; + } + + common_scripts\utility::flag_set("flag_sewer_player_failed_checkpoint"); +} + +//Function Number: 187 +sewer_scene_checkpoint_failed_player_too_close() +{ + level endon("flag_sewer_player_failed_checkpoint"); + var_00 = 0; + while(!var_00) + { + wait(0.05); + level.sewer_scene_oppresion_guys = common_scripts\utility::array_removeundefined(level.sewer_scene_oppresion_guys); + foreach(var_02 in level.sewer_scene_oppresion_guys) + { + if(isdefined(var_02) && distance(var_02.origin,level.player.origin) < 250) + { + var_00 = 1; + } + } + } + + common_scripts\utility::flag_set("flag_sewer_checkpoint_guards_wakeup"); + wait(20); + if(common_scripts\utility::flag("flag_sewer_oldtown_intro_complete")) + { + return; + } + + common_scripts\utility::flag_set("flag_sewer_player_failed_checkpoint"); +} + +//Function Number: 188 +sewer_scene_chkpt_fail_warbird() +{ + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("chkpt_fail_warbird"); + var_00 soundscripts\_snd::snd_message("aud_ambient_helicopter","chkpt_fail_warbird"); + var_00 thread maps\_vehicle::godon(); + var_00 thread maps\betrayal_util::warbird_shooting_think(0,1); + var_00 setlookatent(level.player); + common_scripts\utility::flag_waitopen("flag_sewer_player_failed_checkpoint"); + var_01 = common_scripts\utility::getstruct("final_path_fail_warbird","targetname"); + var_00 thread maps\_vehicle_code::_vehicle_paths(var_01); +} + +//Function Number: 189 +sewer_scene_chkpt_fail_extra_hunters() +{ + level notify("stop_fail_extra_hunters"); + level endon("stop_fail_extra_hunters"); + var_00 = maps\betrayal_util::get_ents_by_targetname("sewer_guard_failed_hunter"); + var_01 = []; + common_scripts\utility::array_thread(var_00,::maps\_utility::add_spawn_function,::sewer_scene_chkpt_fail_extra_hunters_setup); + var_02 = 6; + while(var_00.size > 0) + { + var_00 = sortbydistance(var_00,level.player.origin); + while(common_scripts\utility::flag("flag_sewer_player_failed_checkpoint")) + { + var_01 = maps\_utility::array_removedead_or_dying(var_01); + foreach(var_04 in var_01) + { + var_04 thread sewer_scene_chkpt_fail_extra_hunters_setup(); + } + + if(var_01.size < var_02) + { + for(var_06 = 0;var_06 < var_00.size;var_06++) + { + if(!maps\_utility::either_player_looking_at(var_00[var_06].origin,undefined,undefined,undefined)) + { + var_07 = var_00[var_06] maps\_utility::spawn_ai(); + if(maps\_utility::spawn_failed(var_07)) + { + continue; + } + + var_01 = common_scripts\utility::array_add(var_01,var_07); + var_00[var_06] delete(); + var_00[var_06] = undefined; + } + + if(!common_scripts\utility::flag("flag_sewer_player_failed_checkpoint")) + { + break; + } + + if(var_01.size >= var_02) + { + break; + } + + wait(0.5); + } + + var_00 = common_scripts\utility::array_removeundefined(var_00); + if(var_00.size <= 0) + { + break; + } + } + + wait(2); + } + + foreach(var_04 in var_01) + { + if(isdefined(var_04)) + { + var_04 maps\_utility::set_baseaccuracy(0.5); + var_04 thread maps\_utility::player_seek_disable(); + } + } + + wait(2); + if(common_scripts\utility::flag("oldtown_section4")) + { + break; + } + } + + foreach(var_04 in var_01) + { + var_04 maps\betrayal_util::delete_ai(); + } +} + +//Function Number: 190 +sewer_scene_chkpt_fail_extra_hunters_setup() +{ + maps\_utility::set_ignoreall(0); + maps\_utility::set_baseaccuracy(5); + thread maps\_utility::player_seek_enable(); +} + +//Function Number: 191 +sewer_scene_scripted_objects() +{ + level.oldtown_ceiling_fans = maps\betrayal_util::get_ents_by_targetname("ceiling_fan_turning"); + common_scripts\utility::run_thread_on_targetname("ceiling_fan_turning",::maps\betrayal_util::scripted_spin_fan_blades,7,"oldtown_dock_scene_cleanup"); +} + +//Function Number: 192 +oldtown_scene_master_handler() +{ + common_scripts\utility::flag_set("flag_dialogue_start_oldtown"); + level thread oldtown_freerun(); + common_scripts\utility::flag_wait("oldtown_dock_flyby"); + level thread oldtown_dock_master_handler(); +} + +//Function Number: 193 +oldtown_freerun() +{ + level.oldtown_enemy_array = []; + level.oldtown_chasers = []; + level thread oldtown_freerun_civ_init(); + level thread oldtown_freerun_enemy_spawner_init(); + level thread oldtown_freerun_ilona_ignore_pain_handler(); + level thread oldtown_freerun_scripted_object_setup(); + common_scripts\utility::flag_wait("flag_sewer_scene_transfer_to_free_run"); + level.ilana.runngun = 1; + thread oldtown_freerun_ilana_awareness(); + common_scripts\utility::flag_set("flag_enable_battle_chatter"); + level.player setclutforplayer("clut_betrayal_c3_01",5); + thread oldtown_freerun_enemy_removal(); + thread oldtown_freerun_enemy_cleanup_maintain(); + if(!isdefined(level.guards_at_market_checkpoint_array)) + { + sewer_scene_spawn_guards_at_market_checkpoint(0); + thread maps\betrayal_util::clear_ignore_all_on_group(level.guards_at_market_checkpoint_array); + } + + thread oldtown_freerun_security_checkpoint_guards_hold_fire(); + if(!isdefined(level.market_kill_volume)) + { + thread sewer_scene_checkpoint_player_killvol_handling(); + } + + thread oldtown_freerun_enemy_dresser_kick(); + thread oldtown_freerun_warbird_pass(); + thread oldtown_freerun_failstate_monitor(); + if(level.currentgen) + { + thread oldtown_freerun_cg_perf_maintain(); + } +} + +//Function Number: 194 +oldtown_freerun_cg_perf_maintain() +{ + var_00 = ["basic_set_1"]; + thread maps\_cg_encounter_perf_monitor::cg_spawn_perf_monitor("oldtown_dock_flyby",var_00,12,0); +} + +//Function Number: 195 +oldtown_freerun_ilana_awareness() +{ + common_scripts\utility::flag_wait("rear_pressure_go"); + level.ilana.ignoreall = 0; + level.ilana.ignoresuppression = 1; +} + +//Function Number: 196 +oldtown_freerun_ilona_ignore_pain_handler() +{ + common_scripts\utility::flag_wait("freerun_ilona_ignore_pain"); + level.ilana maps\_utility::disable_pain(); + common_scripts\utility::flag_wait("freerun_ilona_feel_pain"); + level.ilana maps\_utility::enable_pain(); +} + +//Function Number: 197 +oldtown_freerun_civ_init() +{ + thread oldtown_freerun_civ_setup(); + thread oldtown_freerun_civ_walker_setup(); + thread oldtown_freerun_civ_badplace_pathing(); + thread oldtown_freerun_civ_ender(); +} + +//Function Number: 198 +oldtown_freerun_civ_setup() +{ + common_scripts\utility::run_thread_on_targetname("freerun_civilian_spawn_trig",::maps\betrayal_util::civilian_setup,1200,0); +} + +//Function Number: 199 +oldtown_freerun_civ_badplace_pathing() +{ + var_00 = getentarray("oldtown_freerun_dronezone","targetname"); + foreach(var_02 in var_00) + { + badplace_brush("droneZone_volume",-1,var_02,"neutral","axis","allies"); + } +} + +//Function Number: 200 +oldtown_freerun_civ_walker_setup() +{ + level.freerun_walker_array = []; + var_00 = 10; + var_01 = getent("freerun_civ_male_walker_spawner","targetname"); + var_02 = getent("freerun_civ_female_walker_spawner","targetname"); + var_03 = [var_01,var_02]; + var_04 = common_scripts\utility::getstructarray("freerun_walker_start","targetname"); + var_05 = getnodearray("freerun_walker_exit_node","targetname"); + thread oldtown_freerun_civ_walker_maintainer(var_03,var_04,var_05,var_00); +} + +//Function Number: 201 +oldtown_freerun_civ_walker_maintainer(param_00,param_01,param_02,param_03) +{ + level endon("freerun_go"); + for(;;) + { + if(level.freerun_walker_array.size < param_03) + { + param_01 = common_scripts\utility::array_randomize(param_01); + param_02 = common_scripts\utility::array_randomize(param_02); + param_00 = common_scripts\utility::array_randomize(param_00); + param_00[0].count = 1; + var_04 = param_00[0] maps\_utility::spawn_ai(1); + level.freerun_walker_array = common_scripts\utility::array_add(level.freerun_walker_array,var_04); + var_04.goalradius = 32; + var_04.alertlevel = "noncombat"; + var_04 maps\betrayal_util::set_custom_patrol_anim_set("panic"); + var_04 forceteleport(param_01[0].origin,param_01[0].angles); + wait 0.05; + var_04 setgoalnode(param_02[0]); + var_04 thread oldtown_freerun_civ_walker_panic(); + var_04 thread oldtown_freerun_civ_walker_removal(); + } + + wait 0.05; + } +} + +//Function Number: 202 +oldtown_freerun_civ_walker_panic() +{ + self endon("death"); + level waittill("freerun_go"); + wait(randomfloatrange(0.5,1.25)); + if(isdefined(self)) + { + self.alertlevel = "combat"; + maps\betrayal_util::set_custom_patrol_anim_set("panic"); + } + + self.animname = "civilian_react"; + level.esc_node_locations = sortbydistance(level.esc_node_locations,self.origin); + var_00 = level.esc_node_locations[0]; + level.esc_node_locations = common_scripts\utility::array_remove(level.esc_node_locations,level.esc_node_locations[0]); + wait 0.05; + self setgoalnode(var_00); + self waittill("goal"); + var_00 thread maps\_anim::anim_loop_solo(self,"civ_react_cower_crouch_to_crouch_2","stop_loop"); + if(isdefined(var_00.target)) + { + thread maps\betrayal_util::civilian_actor_ai_player_reaction(var_00); + } +} + +//Function Number: 203 +oldtown_freerun_civ_walker_panic_retreat(param_00) +{ + var_01 = getnode(param_00.target,"targetname"); + var_02 = var_01.script_noteworthy; + common_scripts\utility::flag_wait(var_02); + self notify("stop_loop"); + self stopanimscripted(); + wait 0.05; + self setgoalnode(var_01); + self waittill("goal"); + var_01 thread maps\_anim::anim_loop_solo(self,"civ_react_cower_crouch_to_crouch_2","stop_loop"); +} + +//Function Number: 204 +oldtown_freerun_civ_walker_removal() +{ + level waittill("freerun_go"); + self endon("death"); + self waittill("goal"); + level.freerun_walker_array = common_scripts\utility::array_remove(level.freerun_walker_array,self); + maps\betrayal_util::delete_ai(); +} + +//Function Number: 205 +oldtown_freerun_civ_ender() +{ + common_scripts\utility::flag_wait("flag_sewer_oldtown_intro_complete"); + common_scripts\utility::flag_set("rear_pressure_go"); + level notify("freerun_go"); +} + +//Function Number: 206 +oldtown_freerun_enemy_spawner_init() +{ + maps\betrayal_util::add_spawn_function_to_noteworthy("basic_set_1",::oldtown_freerun_enemy_spawner_func); + maps\betrayal_util::add_spawn_function_to_noteworthy("basic_set_1",::oldtown_freerun_enemy_spawner_alert); + maps\betrayal_util::add_spawn_function_to_noteworthy("vo_group_1",::oldtown_freerun_enemy_spawner_func); + maps\betrayal_util::add_spawn_function_to_noteworthy("vo_group_1",::oldtown_freerun_enemy_vo_setup); + maps\betrayal_util::add_spawn_function_to_noteworthy("vo_group_1",::oldtown_freerun_enemy_secondgoal,"flr1_set1_spawner5_goal_second"); + maps\betrayal_util::add_spawn_function_to_noteworthy("vig_jump_group_1",::oldtown_freerun_enemy_spawner_func); + maps\betrayal_util::add_spawn_function_to_noteworthy("vig_jump_group_1",::oldtown_freerun_vis_jumper); + maps\betrayal_util::add_spawn_function_to_noteworthy("vig_jump_group_1",::oldtown_freerun_enemy_spawner_alert); + maps\betrayal_util::add_spawn_function_to_noteworthy("vig_jump_group_2",::oldtown_freerun_enemy_spawner_func); + maps\betrayal_util::add_spawn_function_to_noteworthy("vig_jump_group_2",::oldtown_freerun_vis_jumper2); + maps\betrayal_util::add_spawn_function_to_noteworthy("vig_jump_group_2",::oldtown_freerun_enemy_spawner_alert); + maps\betrayal_util::add_spawn_function_to_noteworthy("mech_group_1",::oldtown_freerun_mech_hunting); + maps\betrayal_util::add_spawn_function_to_noteworthy("mech_group_1",::oldtown_freerun_mech_persist); + maps\betrayal_util::add_spawn_function_to_noteworthy("doorkick_group_1",::oldtown_freerun_enemy_spawner_func); + maps\betrayal_util::add_spawn_function_to_noteworthy("doorkick_group_1",::oldtown_freerun_doorkick_enemy_setup); + maps\betrayal_util::add_spawn_function_to_noteworthy("frag_group_1",::oldtown_freerun_enemy_spawner_func); + maps\betrayal_util::add_spawn_function_to_noteworthy("dresser_group_1",::oldtown_freerun_enemy_spawner_func); + maps\betrayal_util::add_spawn_function_to_noteworthy("dresser_group_1",::oldtown_freerun_enemy_dresser_kick_setup); +} + +//Function Number: 207 +oldtown_freerun_enemy_spawner_alert() +{ + if(!isdefined(level.freerun_enemy_alert_notified)) + { + if(randomint(100) < 15) + { + level.freerun_enemy_alert_notified = 1; + level thread maps\betrayal_vo::play_dialogue_oldtown_player_spotted(self,undefined,1); + wait(1); + level.freerun_enemy_alert_notified = undefined; + } + } +} + +//Function Number: 208 +oldtown_freerun_enemy_spawner_func(param_00) +{ + var_01 = self.target; + wait 0.05; + if(isdefined(param_00)) + { + thread oldtown_freerun_enemy_removal_offscreen(param_00); + } + + self.baseaccuracy = 0.5; + self.canjumppath = 1; + thread oldtown_freerun_enemy_goal_assign(var_01); + thread oldtown_freerun_enemy_monitor_player_pos(); + level.oldtown_enemy_array = common_scripts\utility::array_add(level.oldtown_enemy_array,self); +} + +//Function Number: 209 +oldtown_freerun_enemy_monitor_player_pos() +{ + self endon("death"); + var_00 = self.target; + for(;;) + { + var_01 = oldtown_freerun_enemy_chk_player_pos(var_00); + if(var_01 < 0) + { + break; + } + + wait 0.05; + } + + thread oldtown_freerun_enemy_chase_player(); +} + +//Function Number: 210 +oldtown_freerun_enemy_chk_player_pos(param_00) +{ + var_01 = getnode(param_00,"targetname"); + var_02 = anglestoforward(var_01.angles); + var_03 = level.player.origin - var_01.origin; + var_04 = vectordot(var_02,var_03); + return var_04; +} + +//Function Number: 211 +oldtown_freerun_security_checkpoint_guards_hold_fire() +{ + var_00 = maps\betrayal_util::get_ent_by_targetname("security_checkpoint_guards_hold_fire"); + var_00 waittill("trigger"); + if(isdefined(level.guard_oppression_event_ents)) + { + level.guard_oppression_event_ents = common_scripts\utility::array_removeundefined(level.guard_oppression_event_ents); + level.guards_at_market_checkpoint_array = common_scripts\utility::array_removeundefined(level.guards_at_market_checkpoint_array); + var_01 = maps\_utility::array_merge(level.guard_oppression_event_ents,level.guards_at_market_checkpoint_array); + } + else + { + var_01 = common_scripts\utility::array_removeundefined(level.guards_at_market_checkpoint_array); + } + + var_01 = common_scripts\utility::array_removeundefined(var_01); + foreach(var_03 in var_01) + { + var_03 maps\_utility::set_ignoreall(1); + } + + while(level.player istouching(var_00)) + { + var_01 = common_scripts\utility::array_removeundefined(var_01); + foreach(var_03 in var_01) + { + if(level.player maps\_utility::player_can_see_ai(var_03)) + { + var_03 maps\_utility::set_ignoreall(0); + var_01 = common_scripts\utility::array_remove(var_01,var_03); + continue; + } + + if(!var_03.ignoreall) + { + var_03 maps\_utility::set_ignoreall(1); + } + } + + wait 0.05; + } + + var_01 = common_scripts\utility::array_removeundefined(var_01); + foreach(var_03 in var_01) + { + var_03 maps\_utility::set_ignoreall(0); + } +} + +//Function Number: 212 +oldtown_freerun_enemy_chase_player() +{ + if(level.oldtown_chasers.size < 4) + { + level.oldtown_chasers = common_scripts\utility::array_add(level.oldtown_chasers,self); + thread maps\_utility::player_seek_enable(); + } +} + +//Function Number: 213 +oldtown_freerun_enemy_chaser_cleaner() +{ + level endon("kill_oldtown_monitor"); + for(;;) + { + level.oldtown_chasers = maps\_utility::array_removedead_or_dying(level.oldtown_chasers); + wait(1); + } +} + +//Function Number: 214 +oldtown_freerun_enemy_goal_assign(param_00,param_01) +{ + self endon("death"); + maps\betrayal_util::assign_goal_node(param_00); + if(isdefined(param_01)) + { + if(param_01 == 1) + { + var_02 = self.goalradius; + self.goalradius = 32; + self.ignoreall = 1; + self waittill("goal"); + self.ignoreall = 0; + self.goalradius = var_02; + } + } +} + +//Function Number: 215 +oldtown_freerun_enemy_vo_setup() +{ + if(isdefined(self.script_parameters)) + { + self.animname = "atlas_guard_2"; + level.atlas_guard2 = self; + return; + } + + if(!isdefined(self.script_parameters)) + { + self.animname = "atlas_guard_3"; + level.atlas_guard3 = self; + } +} + +//Function Number: 216 +oldtown_freerun_enemy_cleanup_maintain() +{ + level endon("kill_oldtown_monitor"); + for(;;) + { + wait(0.1); + level.oldtown_enemy_array = maps\_utility::array_removedead_or_dying(level.oldtown_enemy_array); + level.oldtown_chasers = maps\_utility::array_removedead_or_dying(level.oldtown_chasers); + } +} + +//Function Number: 217 +oldtown_freerun_enemy_removal() +{ + var_00 = getnodearray("oldtown_freerun_enemy_exit","targetname"); + level.origfov = getdvarint("cg_fov"); + var_01 = 1500; + common_scripts\utility::flag_wait("oldtown_boat_spawn"); + foreach(var_03 in level.oldtown_enemy_array) + { + var_04 = common_scripts\utility::within_fov(level.player.origin,level.player.angles,var_03.origin,level.origfov); + var_05 = distance2d(level.player.origin,var_03.origin); + if(var_05 > var_01 && var_04 != 0) + { + var_00 = sortbydistance(var_00); + var_03 maps\betrayal_util::assign_goal_node(var_00[0],32); + var_03.ignoreall = 1; + var_03 waittill("goal"); + var_03 maps\betrayal_util::delete_ai(); + continue; + } + + var_03 maps\betrayal_util::delete_ai(); + } +} + +//Function Number: 218 +oldtown_freerun_enemy_removal_offscreen(param_00) +{ + self endon("death"); + common_scripts\utility::flag_wait(param_00); + level.origfov = getdvarint("cg_fov"); + var_01 = getnodearray("oldtown_freerun_enemy_exit","targetname"); + var_02 = common_scripts\utility::within_fov(level.player.origin,level.player.angles,self.origin,level.origfov); + if(var_02 != 0) + { + var_01 = sortbydistance(var_01); + maps\betrayal_util::assign_goal_node(var_01[0],32); + self.ignoreall = 1; + self waittill("goal"); + maps\betrayal_util::delete_ai(); + return; + } + + maps\betrayal_util::delete_ai(); +} + +//Function Number: 219 +oldtown_freerun_mech_hunting() +{ + self endon("death"); + common_scripts\utility::flag_wait("mech_start_hunt"); + thread maps\_utility::player_seek_enable(); + common_scripts\utility::flag_wait("oldtown_dock_flyby"); + oldtown_freerun_enemy_removal_offscreen("oldtown_boat_spawn"); +} + +//Function Number: 220 +oldtown_freerun_mech_persist() +{ + self endon("death"); + var_00 = 600; + level.mech_is_hunting = 0; + for(;;) + { + wait(2); + if(level.mech_is_hunting != 1) + { + var_01 = distance2d(self.origin,level.player.origin); + if(var_01 < var_00) + { + maps\_mech::mech_stop_hunting(); + level.mech_is_hunting = 0; + } + else + { + maps\_mech::mech_start_hunting(); + level.mech_is_hunting = 1; + } + + continue; + } + + continue; + } +} + +//Function Number: 221 +oldtown_freerun_enemy_dresser_kick_setup() +{ + thread maps\_utility::magic_bullet_shield(); + wait 0.05; + self.animname = "generic"; + level notify("event_cabinet_go"); +} + +//Function Number: 222 +oldtown_freerun_enemy_dresser_kick() +{ + var_00 = common_scripts\utility::getstruct("event_cabinet_animorg","targetname"); + var_01 = maps\_utility::spawn_anim_model("cabinet_org",var_00.origin,var_00.angles); + var_02 = getent("dresser_org1","targetname"); + var_03 = getent("event_cabinet","targetname"); + var_00 thread maps\_anim::anim_first_frame_solo(var_01,"cabinet_pull"); + var_02 linkto(var_01,"tag_origin_animated"); + var_03 linkto(var_01,"tag_origin_animated"); + level waittill("event_cabinet_go"); + var_04 = maps\_utility::get_living_ai("dresser_group_1","script_noteworthy"); + var_04.allowdeath = 0; + var_05 = var_04 maps\_utility::getanim_from_animname("cabinet_pull","generic"); + var_06 = getanimlength(var_05); + var_07 = [var_04,var_01]; + var_00 thread maps\_anim::anim_single(var_07,"cabinet_pull"); + wait(1.1); + var_04 maps\_utility::stop_magic_bullet_shield(); + var_04.allowdeath = 1; + wait(var_06 - 1.1); + var_02 disconnectpaths(); +} + +//Function Number: 223 +oldtown_freerun_enemy_fragging() +{ + common_scripts\utility::flag_wait("freerun_frag_go"); + var_00 = common_scripts\utility::getstruct("frag_gren_end","targetname"); + var_01 = common_scripts\utility::getstruct("frag_gren_start","targetname"); + magicgrenade("fraggrenade",var_01.origin,var_00.origin,2); +} + +//Function Number: 224 +oldtown_freerun_doorkick_enemy_setup() +{ + level endon("freerun_doorkick_player_go"); + common_scripts\utility::flag_wait("freerun_doorkick_enemy_go"); + if(common_scripts\utility::flag("freerun_doorkick_player_go")) + { + return; + } + + level notify("freerun_doorkick_enemy_go"); + var_00 = common_scripts\utility::getstruct("enemy_doorkick","targetname"); + if(!isdefined(self.script_parameters)) + { + return; + } + + self.animname = "generic"; + self.allowdeath = 1; + var_00 thread maps\_anim::anim_single_solo(self,"exo_doorkick"); +} + +//Function Number: 225 +oldtown_freerun_doorkick_enemy() +{ + level endon("freerun_doorkick_player_go"); + var_00 = getent("clip_enemy_doorkick","targetname"); + var_01 = getent("model_enemy_doorkick","targetname"); + var_02 = getent("model_enemy_doorkick_broken","targetname"); + var_03 = common_scripts\utility::getstruct("struct_enemy_doorkick","targetname"); + level.enemy_doorkick = [var_00,var_01,var_02]; + var_00 disconnectpaths(); + var_02 hide(); + level waittill("door_smash_open"); + var_00 connectpaths(); + var_02 show(); + var_01 delete(); + var_00 delete(); + var_04 = var_02.origin - var_03.origin; + var_01 = var_02; + var_05 = (randomintrange(-5,5),randomintrange(-5,5),randomintrange(-10,10)); + var_01 physicslaunchserver(var_01.origin + var_05,var_04 * randomintrange(5,15)); +} + +//Function Number: 226 +oldtown_freerun_doorkick_player() +{ + level endon("freerun_doorkick_enemy_go"); + level.player_doorkick = getentarray("oldtown_exo_door_punch2","script_noteworthy"); + foreach(var_01 in level.player_doorkick) + { + var_01 hide(); + var_01 thread oldtown_freerun_doorkick_player_removal(); + } + + common_scripts\utility::flag_wait("freerun_doorkick_player_go"); + level notify("freerun_doorkick_player_go"); + foreach(var_01 in level.player_doorkick) + { + var_01 show(); + } + + level.enemy_doorkick[0] delete(); + level.enemy_doorkick[1] delete(); + level.enemy_doorkick[2] delete(); +} + +//Function Number: 227 +oldtown_freerun_doorkick_player_removal() +{ + level endon("freerun_doorkick_player_go"); + level waittill("freerun_doorkick_enemy_go"); + self notify("exo_door_punched"); + wait 0.05; + self delete(); +} + +//Function Number: 228 +oldtown_freerun_vis_jumper() +{ + common_scripts\utility::flag_wait("freerun_vis_jump_go"); + if(self.script_parameters != "freerun_vis_jump_guy") + { + return; + } + + self.goalradius = 8; + self waittill("goal"); +} + +//Function Number: 229 +oldtown_freerun_vis_jumper2() +{ + common_scripts\utility::flag_wait("freerun_vis_jump2_go"); + if(self.script_parameters != "freerun_vis_jump2_guy") + { + return; + } + + self.goalradius = 8; + self waittill("goal"); +} + +//Function Number: 230 +oldtown_freerun_enemy_secondgoal(param_00) +{ + if(!isdefined(self.script_parameters)) + { + return; + } + + var_01 = 8; + self.goalradius = var_01; + self waittill("goal"); + wait(0.1); + maps\betrayal_util::assign_goal_node(param_00,var_01); +} + +//Function Number: 231 +oldtown_freerun_warbird_pass() +{ + common_scripts\utility::flag_wait("oldtown_section2"); + if(level.nextgen) + { + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("oldtown_freerun_flyby"); + var_00 soundscripts\_snd::snd_message("aud_ambient_helicopter","oldtown_freerun_flyby"); + var_00 thread maps\_vehicle::godon(); + } +} + +//Function Number: 232 +oldtown_freerun_scripted_object_setup() +{ + if(!isdefined(level.oldtown_ceiling_fans)) + { + level.oldtown_ceiling_fans = maps\betrayal_util::get_ents_by_targetname("ceiling_fan_turning"); + common_scripts\utility::run_thread_on_targetname("ceiling_fan_turning",::maps\betrayal_util::scripted_spin_fan_blades,7,"oldtown_dock_scene_cleanup"); + } +} + +//Function Number: 233 +oldtown_freerun_failstate_monitor() +{ + thread oldtown_freerun_failstate_backtrack(); + thread oldtown_dock_failstate_backtrack(); +} + +//Function Number: 234 +oldtown_freerun_failstate_backtrack() +{ + level endon("player_near_freerun_end"); + level.player endon("death"); + level.freerun_backtrack_death_squad_spawners = maps\betrayal_util::get_ents_by_targetname("freerun_backtrack_deathsquad_spawner"); + var_00 = maps\betrayal_util::get_ent_by_targetname("player_halfway_done_freerun"); + var_00 waittill("trigger"); + var_01 = maps\betrayal_util::get_ent_by_targetname("trigger_freerun_backtrack_deathsquad"); + var_01 waittill("trigger"); + common_scripts\utility::flag_set("disable_autosaves"); + thread oldtown_freerun_failstate_backtrack_deathsquad(); + wait(1); + level thread maps\betrayal_vo::play_dialogue_oldtown_player_spotted(level.freerun_fail_hunter[0],level.freerun_fail_hunter[1]); + wait(9); + level.player kill(); + wait(0.5); + setdvar("ui_deadquote",&"BETRAYAL_FAIL_ESCAPE"); + maps\_utility::missionfailedwrapper(); + common_scripts\utility::flag_clear("disable_autosaves"); +} + +//Function Number: 235 +oldtown_freerun_failstate_backtrack_deathsquad() +{ + level endon("player_near_freerun_end"); + level.player endon("death"); + level.freerun_fail_hunter = []; + foreach(var_01 in level.freerun_backtrack_death_squad_spawners) + { + var_02 = var_01 maps\_utility::spawn_ai(1,0); + var_02.health = 1000; + var_02.baseaccuracy = 10; + if(isdefined(var_02.target)) + { + var_03 = getnode(var_02.target,"targetname"); + if(isdefined(var_03)) + { + var_02 maps\_utility::set_goal_node(var_03); + } + + var_02 notify("move"); + } + + var_02 thread maps\_utility::player_seek_enable(); + level.freerun_fail_hunter[level.freerun_fail_hunter.size] = var_02; + wait 0.05; + } +} + +//Function Number: 236 +oldtown_dock_master_handler() +{ + common_scripts\utility::flag_set("flag_dialogue_start_docks"); + common_scripts\utility::flag_set("flag_enable_battle_chatter"); + level thread oldtown_dock(); + common_scripts\utility::flag_wait("boat_scene_start"); + level thread oldtown_dock_cleanup(); + level thread boat_scene_master_handler(); +} + +//Function Number: 237 +oldtown_dock_cleanup() +{ + level thread oldtown_dock_post_boat_cleanup(); + level thread oldtown_dock_combat_cleanup(); + level notify("oldtown_dock_scene_cleanup"); + common_scripts\utility::flag_wait("flag_boat_player_in_boat"); + maps\_utility::activate_trigger("dock_civ_remover","targetname"); + maps\_utility::activate_trigger("freerun_civilian_cleanup_trig","targetname"); +} + +//Function Number: 238 +oldtown_dock_post_boat_cleanup() +{ + common_scripts\utility::flag_wait("flag_boat_player_in_boat"); +} + +//Function Number: 239 +oldtown_dock() +{ + thread oldtown_dock_civ_setup(); + boat_scene_early_setup(); + level notify("oldtown_freerun_end"); + level.oldtown_dock_enemies = []; + level.ilana_dock_advance_count = 0; + oldtown_dock_enemy_setup(); + thread oldtown_dock_anim_jumper_setup(); + thread oldtown_dock_littlebird_rooftop_vig(); + thread oldtown_dock_mech_entrance(); + common_scripts\utility::flag_set("flag_dialogue_docks_intro"); + common_scripts\utility::flag_set("mech_docks_entrance"); + thread oldtown_dock_ilana_advance(); + thread oldtown_dock_fail_init(); +} + +//Function Number: 240 +oldtown_dock_civ_setup() +{ + var_00 = maps\betrayal_util::get_ents_by_targetname("oldtown_freerun_dock_civ1"); + foreach(var_02 in var_00) + { + var_03 = maps\betrayal_util::get_ents_by_targetname(var_02.target); + foreach(var_05 in var_03) + { + if(isspawner(var_05)) + { + var_05 maps\_utility::add_spawn_function(::add_doc_civ_walla); + } + } + } + + common_scripts\utility::run_thread_on_targetname("oldtown_freerun_dock_civ1",::maps\betrayal_util::civilian_setup,10000,0); +} + +//Function Number: 241 +add_doc_civ_walla() +{ + soundscripts\_snd::snd_message("add_doc_civ_walla",self); +} + +//Function Number: 242 +oldtown_dock_ilana_advance() +{ + oldtown_dock_ilana_advance_think("oldtown_dock_ally_redirect_1"); + level.ilana.ignoresuppression = 0; + level waittill("ilana_dock_advance2"); + thread oldtown_dock_ilana_advance_think("oldtown_dock_ally_redirect"); + level waittill("ilana_dock_advance3"); + thread oldtown_dock_ilana_advance_think("oldtown_dock_ally_redirect_3"); + common_scripts\utility::flag_set("flag_dialogue_docks_boat"); +} + +//Function Number: 243 +oldtown_dock_ilana_advance_think(param_00) +{ + maps\_utility::activate_trigger(param_00,"targetname"); + level.ilana.ignoreall = 1; + wait(1.5); + level.ilana.ignoreall = 0; +} + +//Function Number: 244 +oldtown_dock_enemy_setup() +{ + maps\betrayal_util::add_spawn_function_to_noteworthy("docks_deploy_guy1",::oldtown_dock_enemy_moveup,"docks_deploy_guy1_goal1","docks_deploy_guy1_goal2"); + maps\betrayal_util::add_spawn_function_to_noteworthy("docks_deploy_guy2",::oldtown_dock_enemy_moveup,"docks_deploy_guy2_goal1","docks_deploy_guy2_goal2"); + maps\betrayal_util::add_spawn_function_to_noteworthy("docks_deploy_guy3",::oldtown_dock_enemy_moveup,"docks_deploy_guy3_goal1","docks_deploy_guy3_goal2"); + maps\betrayal_util::add_spawn_function_to_noteworthy("docks_deploy_guy4",::oldtown_dock_enemy_moveup,"docks_deploy_guy4_goal1","docks_deploy_guy4_goal2"); + maps\betrayal_util::add_spawn_function_to_noteworthy("docks_deploy_guy5",::oldtown_dock_enemy_moveup,"docks_deploy_guy5_goal1","docks_deploy_guy5_goal2"); + maps\betrayal_util::add_spawn_function_to_noteworthy("docks_deploy_guy6",::oldtown_dock_enemy_moveup,"docks_deploy_guy6_goal1","docks_deploy_guy6_goal2"); + var_00 = getentarray("oldtown_boat_spawners","targetname"); + foreach(var_02 in var_00) + { + var_03 = var_02 maps\_utility::spawn_ai(1); + var_03 thread maps\betrayal_util::delete_ai_on_flag("dock_scene_cleanup_failstate_ai"); + wait 0.05; + level.oldtown_dock_enemies = common_scripts\utility::array_add(level.oldtown_dock_enemies,var_03); + var_03.health = 150; + var_03 thread oldtown_dock_enemy_mech_death_alert(); + } + + thread oldtown_dock_enemy_retreat(); +} + +//Function Number: 245 +oldtown_dock_enemy_moveup(param_00,param_01) +{ + self endon("death"); + wait 0.05; + self.goalradius = 64; + var_02 = getnode(param_00,"targetname"); + var_03 = getnode(param_01,"targetname"); + if(isdefined(self) && isalive(self)) + { + maps\_utility::set_goal_node(var_02); + } + + level waittill("mech_goal_go"); + if(isdefined(self) && isalive(self)) + { + maps\_utility::set_goal_node(var_03); + } + + self.baseaccuracy = self.baseaccuracy / 3; +} + +//Function Number: 246 +oldtown_dock_enemy_retreat() +{ + level endon("stop_dock_refill"); + wait(1); + for(;;) + { + level.oldtown_dock_enemies = maps\_utility::array_removedead_or_dying(level.oldtown_dock_enemies); + if(isdefined(level.dock_mech)) + { + if(level.oldtown_dock_enemies.size <= 3) + { + level notify("dock_enemy_retreat"); + level notify("ilana_dock_advance2"); + foreach(var_01 in level.oldtown_dock_enemies) + { + var_01 maps\betrayal_util::assign_goal_vol("oldtown_boat_goalvol2"); + } + + level.dock_mech maps\_mech::mech_start_hunting(); + return; + } + } + + wait(1); + } +} + +//Function Number: 247 +oldtown_dock_enemy_mech_death_alert() +{ + self endon("death"); + level waittill("mech_dead"); + thread maps\_utility::player_seek_enable(); +} + +//Function Number: 248 +oldtown_dock_combat_cleanup() +{ + common_scripts\utility::flag_wait("player_on_boat"); + level notify("stop_dock_refill"); + common_scripts\utility::flag_wait("dock_cleanup"); + wait(1); + foreach(var_01 in level.oldtown_dock_enemies) + { + var_01 maps\betrayal_util::delete_ai(); + } +} + +//Function Number: 249 +oldtown_dock_mech_entrance() +{ + level waittill("little_bird_vignette_complete"); + var_00 = getentarray("dock_mech_spawner","targetname"); + var_01 = 0; + while(!var_01) + { + foreach(var_03 in var_00) + { + if(!maps\betrayal_util::player_can_see_point(var_03.origin) && !maps\betrayal_util::player_can_see_point(var_03.origin + (0,0,60)) && !maps\betrayal_util::player_can_see_point(var_03.origin + (0,0,120))) + { + level.dock_mech = var_03 maps\_utility::spawn_ai(1); + common_scripts\utility::flag_set("flag_dialogue_docks_ast"); + var_01 = 1; + level.dock_mech maps\_utility::add_damage_function(::oldtown_dock_mech_damage_function); + break; + } + } + + wait(0.5); + } + + wait 0.05; + level.dock_mech.goalradius = 256; + level.dock_mech maps\_mech::mech_start_target_attacker(); + level.dock_mech maps\_mech::mech_start_rockets(); + var_05 = getnode("dock_mech_goal1","targetname"); + var_06 = getnode("dock_mech_goal2","targetname"); + var_07 = getnode("dock_mech_goal3","targetname"); + var_08 = [var_05,var_06,var_07]; + level.dock_mech thread oldtown_dock_mech_goal(var_08); + thread oldtown_dock_mech_death_event(); + wait(0.75); + common_scripts\utility::flag_set("flag_objective_dock_scene_start"); +} + +//Function Number: 250 +oldtown_dock_mech_damage_function(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + if(param_01 == level.ilana) + { + if(self.health > 0 && param_00 > self.bullet_resistance) + { + self.health = self.health + int(param_00 - self.bullet_resistance * 0.5); + } + } +} + +//Function Number: 251 +oldtown_dock_mech_rockets() +{ + level endon("mech_dead"); + var_00 = getent("start_boat_player","targetname"); + var_01 = 450; + for(;;) + { + if(distance2d(level.player.origin,var_00.origin) < var_01) + { + level.dock_mech maps\_utility::set_favoriteenemy(level.player); + level.dock_mech maps\_mech::mech_fire_rockets(); + wait(1); + } + + wait 0.05; + } +} + +//Function Number: 252 +oldtown_dock_mech_goal(param_00) +{ + self endon("death"); + param_00 = sortbydistance(param_00,level.player.origin); + maps\_utility::set_goal_node(param_00[0]); +} + +//Function Number: 253 +oldtown_dock_mech_death_event() +{ + level endon("stop_mech_event_monitor"); + for(;;) + { + wait 0.05; + if(!isdefined(level.dock_mech) || level.dock_mech.health <= 0) + { + level notify("mech_dead"); + level notify("ilana_dock_advance2"); + wait 0.05; + level notify("ilana_dock_advance3"); + common_scripts\utility::flag_set("flag_objective_dock_scene_complete"); + common_scripts\utility::flag_set("boat_scene_start"); + common_scripts\utility::flag_set("swarm_docks_entrance"); + level notify("stop_mech_event_monitor"); + } + } +} + +//Function Number: 254 +oldtown_dock_anim_jumper_setup() +{ + maps\betrayal_util::add_spawn_function_to_targetname("dock_jumper1_spawner",::oldtown_dock_anim_jumper,"dock_anim_jumper1"); + maps\betrayal_util::add_spawn_function_to_targetname("dock_jumper2_spawner",::oldtown_dock_anim_jumper,"dock_anim_jumper2"); + maps\betrayal_util::add_spawn_function_to_targetname("dock_jumper3_spawner",::oldtown_dock_anim_jumper,"dock_anim_jumper3"); + var_00 = maps\betrayal_util::spawn_ai_from_targetname_single("dock_jumper1_spawner",1); + var_01 = maps\betrayal_util::spawn_ai_from_targetname_single("dock_jumper2_spawner",1); + var_02 = maps\betrayal_util::spawn_ai_from_targetname_single("dock_jumper3_spawner",1); + var_00 thread maps\_utility::deletable_magic_bullet_shield(); + var_01 thread maps\_utility::deletable_magic_bullet_shield(); + var_02 thread maps\_utility::deletable_magic_bullet_shield(); +} + +//Function Number: 255 +oldtown_dock_anim_jumper(param_00) +{ + self endon("death"); + self.allowdeath = 1; + var_01 = common_scripts\utility::getstruct(param_00,"targetname"); + var_02 = var_01.animation; + self.animname = param_00; + var_01 thread maps\_anim::anim_single_solo(self,var_02); + var_03 = maps\_utility::getanim(var_02); + var_04 = getanimlength(var_03); + thread maps\_anim::anim_set_rate_single(self,var_02,0.3); + wait(var_04); + self delete(); +} + +//Function Number: 256 +oldtown_dock_littlebird_rooftop_vig() +{ + var_00 = maps\betrayal_util::get_ent_by_targetname("oldtown_docks_littlebird_go"); + var_00 waittill("trigger"); + common_scripts\utility::flag_set("flag_objective_freerun_scene_complete"); + var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("oldtown_docks_littlebird2"); + var_01 soundscripts\_snd::snd_message("aud_ambient_helicopter","oldtown_docks_littlebird2"); + var_02 = getnode("docks_rooftop_littlebird_goal1","targetname"); + var_03 = maps\_utility::get_living_ai("docks_rooftop_littlebird_vig1","script_noteworthy"); + if(isdefined(var_03)) + { + var_03.allowdeath = 1; + var_03.canjumppath = 1; + var_03 thread oldtown_dock_littlebird_rooftop_goal(var_02); + var_03 thread maps\betrayal_util::balcony_death_anims(); + } + + var_04 = getnode("docks_rooftop_littlebird_goal2","targetname"); + var_05 = maps\_utility::get_living_ai("docks_rooftop_littlebird_vig2","script_noteworthy"); + if(isdefined(var_05)) + { + var_05.allowdeath = 1; + var_05.canjumppath = 1; + var_05 thread oldtown_dock_littlebird_rooftop_goal(var_04); + var_05 thread maps\betrayal_util::balcony_death_anims(); + } + + var_01 waittill("unloading"); + level notify("little_bird_vignette_complete"); +} + +//Function Number: 257 +oldtown_dock_littlebird_rooftop_goal(param_00) +{ + self endon("death"); + maps\_utility::disable_pain(); + self waittill("jumpedout"); + self.goalradius = 16; + self setgoalnode(param_00); + self.ignoreall = 1; + self waittill("goal"); + maps\_utility::enable_pain(); + self.ignoreall = 0; + self.baseaccuracy = 0.05; + thread maps\betrayal_util::delete_ai_on_flag("dock_scene_cleanup_failstate_ai"); +} + +//Function Number: 258 +oldtown_dock_fail_init() +{ + level thread oldtown_dock_fail_start(); + if(!isdefined(level.oldtown_dock_backtrack_death_squad_spawners)) + { + thread oldtown_dock_failstate_backtrack(); + } + + common_scripts\utility::flag_wait("docks_end_fail_state_monitor"); + level notify("oldtown_docks_end_failure"); +} + +//Function Number: 259 +oldtown_dock_fail_start() +{ + level endon("oldtown_docks_end_failure"); + common_scripts\utility::flag_wait("boat_scene_start"); + wait(40); + if(!common_scripts\utility::flag("docks_end_fail_state_monitor")) + { + level thread oldtown_dock_backtrack_fail_send_in_flyers(); + level.oldtown_dock_fail_enemies = []; + var_00 = maps\betrayal_util::get_ents_by_targetname("docks_fail_guards"); + foreach(var_02 in var_00) + { + var_03 = var_02 maps\_utility::spawn_ai(1); + wait 0.05; + var_03 maps\_vehicle::godon(); + var_03.baseaccuracy = 5; + var_03.goalradius = 32; + var_03 thread maps\betrayal_util::delete_ai_on_flag("dock_scene_cleanup_failstate_ai"); + level.oldtown_dock_fail_enemies = common_scripts\utility::array_add(level.oldtown_dock_fail_enemies,var_03); + if(isdefined(var_03.script_noteworthy)) + { + switch(var_03.script_noteworthy) + { + case "docks_guard1": + var_03.animname = "atlas_guard_1"; + level.atlas_guard1 = var_03; + var_03 thread oldtown_dock_fail_enemy_hunt(); + break; + + case "docks_guard2": + var_03.animname = "atlas_guard_2"; + level.atlas_guard2 = var_03; + var_03 thread oldtown_dock_fail_enemy_hunt(); + break; + + case "docks_guard3": + var_03.animname = "atlas_guard_3"; + level.atlas_guard3 = var_03; + var_03 maps\_utility::player_seek_enable(); + var_03 maps\_utility::set_goal_radius(16); + var_03.canjumppath = 1; + break; + + case "docks_guard4": + var_03.animname = "atlas_guard_4"; + level.atlas_guard4 = var_03; + var_03 maps\_utility::player_seek_enable(); + var_03 maps\_utility::set_goal_radius(16); + var_03.canjumppath = 1; + break; + + case "docks_guard5": + var_03.canjumppath = 1; + level.atlas_guard5 = var_03; + var_03 thread oldtown_dock_fail_enemy_hunt(); + break; + + case "docks_guard6": + var_03.canjumppath = 1; + level.atlas_guard6 = var_03; + var_03 thread oldtown_dock_fail_enemy_hunt(); + break; + + case "docks_mech1": + var_03 thread maps\_mech::mech_start_hunting(); + var_03 thread maps\_mech::mech_start_rockets(); + level.atlas_guard7 = var_03; + break; + } + } + } + + level.atlas_guard1 thread maps\betrayal_util::simple_anim_at_struct("docks_guard1_animorg"); + level.atlas_guard2 thread maps\betrayal_util::simple_anim_at_struct("docks_guard2_animorg"); + var_05 = getaiarray("axis"); + var_05 = sortbydistance(var_05,level.player.origin); + level thread maps\betrayal_vo::play_dialogue_oldtown_player_spotted(var_05[0],var_05[1]); + thread oldtown_dock_fail_avoid_player_got_in_boat(); + maps\betrayal_util::player_mission_failed_handler(20,undefined,"docks_end_fail_state_monitor"); + } +} + +//Function Number: 260 +oldtown_dock_fail_avoid_player_got_in_boat() +{ + level.player endon("death"); + common_scripts\utility::flag_wait("docks_end_fail_state_monitor"); + foreach(var_01 in level.oldtown_dock_fail_enemies) + { + if(isai(var_01)) + { + var_01 maps\_utility::set_ignoreall(1); + } + } + + common_scripts\utility::flag_wait("flag_boat_player_in_boat"); + foreach(var_01 in level.oldtown_dock_fail_enemies) + { + if(isai(var_01)) + { + var_01 maps\_utility::set_ignoreall(0); + } + } +} + +//Function Number: 261 +oldtown_dock_backtrack_fail_send_in_flyers() +{ + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("docks_fail_warbird"); + var_00 soundscripts\_snd::snd_message("aud_ambient_helicopter","docks_fail_warbird"); + var_00 thread maps\_vehicle::godon(); + var_00 thread maps\betrayal_util::warbird_shooting_think(0,1); + var_00.turret_target_override = level.player; + common_scripts\utility::flag_wait_either("dock_scene_cleanup_failstate_ai","docks_end_fail_state_monitor"); + if(common_scripts\utility::flag("dock_scene_cleanup_failstate_ai")) + { + var_00 delete(); + return; + } + + var_00 maps\_utility::ent_flag_clear("fire_turrets"); + common_scripts\utility::flag_wait("flag_boat_player_in_boat"); + var_00 maps\_utility::ent_flag_set("fire_turrets"); + common_scripts\utility::flag_wait("dock_scene_cleanup_failstate_ai"); + var_00 delete(); +} + +//Function Number: 262 +oldtown_dock_fail_enemy_hunt() +{ + self waittill("anim_finished"); + wait(0.5); + maps\_utility::player_seek_enable(); +} + +//Function Number: 263 +oldtown_dock_failstate_backtrack() +{ + level endon("dock_scene_cleanup_failstate_ai"); + level.player endon("death"); + level.oldtown_dock_backtrack_death_squad_spawners = maps\betrayal_util::get_ents_by_targetname("dock_backtrack_deathsquad_spawner"); + var_00 = maps\betrayal_util::get_ent_by_targetname("player_near_freerun_end"); + var_00 waittill("trigger"); + level notify("player_near_freerun_end"); + var_01 = maps\betrayal_util::get_ent_by_targetname("dock_backtrack_leaving_mission_area_trig"); + var_02 = maps\betrayal_util::get_ent_by_targetname("trigger_dock_backtrack_deathsquad"); + var_03 = 0; + while(!level.player istouching(var_02)) + { + if(level.player istouching(var_01) && var_03 == 0) + { + thread maps\_utility::hintdisplayhandler("leaving_mission_area_trigger",undefined,var_01); + var_03 = 1; + continue; + } + + if(!level.player istouching(var_02)) + { + var_03 = 0; + } + + wait 0.05; + } + + common_scripts\utility::flag_set("disable_autosaves"); + thread oldtown_dock_failstate_backtrack_deathsquad(); + wait(1); + level thread maps\betrayal_vo::play_dialogue_oldtown_player_spotted(level.freerun_fail_hunter[0],level.freerun_fail_hunter[1]); + if(!maps\betrayal_util::player_mission_failed_handler(8,undefined,"docks_end_fail_state_monitor")) + { + level.player kill(); + wait(0.5); + setdvar("ui_deadquote",&"BETRAYAL_FAIL_ESCAPE"); + maps\_utility::missionfailedwrapper(); + common_scripts\utility::flag_clear("disable_autosaves"); + return; + } + + common_scripts\utility::flag_clear("disable_autosaves"); +} + +//Function Number: 264 +oldtown_dock_failstate_backtrack_deathsquad() +{ + level endon("docks_end_fail_state_monitor"); + level.player endon("death"); + level.freerun_fail_hunter = []; + foreach(var_01 in level.oldtown_dock_backtrack_death_squad_spawners) + { + var_02 = var_01 maps\_utility::spawn_ai(1,0); + var_02.health = 1000; + var_02.baseaccuracy = 10; + if(isdefined(var_02.target)) + { + var_03 = getnode(var_02.target,"targetname"); + if(isdefined(var_03)) + { + var_02 maps\_utility::set_goal_node(var_03); + } + + var_02 notify("move"); + } + + var_02 thread maps\_utility::player_seek_enable(); + level.freerun_fail_hunter[level.freerun_fail_hunter.size] = var_02; + wait 0.05; + } +} + +//Function Number: 265 +play_grapple_anim(param_00) +{ + waittillframeend; + param_00 setanim(level.scr_anim["grapple_launcher"]["boat_getin"]); +} + +//Function Number: 266 +boat_scene_master_handler(param_00) +{ + boat_scene_early_setup(); + common_scripts\utility::flag_set("flag_dialogue_start_boat"); + if(!isdefined(param_00)) + { + maps\_utility::autosave_by_name(); + var_01 = maps\betrayal_util::get_ent_by_targetname("trigger_use_get_in_boat"); + var_01 maps\_utility::addhinttrigger(&"BETRAYAL_BOAT_ENTER_HINT_TEXT",&"BETRAYAL_BOAT_ENTER_HINT_TEXT_PC"); + var_02 = var_01 maps\_shg_utility::hint_button_position("use",var_01.origin + (0,0,25),undefined,200,undefined,var_01); + level.obj_get_in_org = var_02.object.origin; + var_01 waittill("trigger"); + soundscripts\_snd::snd_music_message("boat_chase_begin"); + common_scripts\utility::flag_set("docks_end_fail_state_monitor"); + maps\_player_exo::player_exo_deactivate(); + var_02 maps\_shg_utility::hint_button_clear(); + var_01 delete(); + level thread boat_scene_setup_spawn_swarm(); + var_03 = maps\betrayal_util::get_ent_by_targetname("animorg_boat_mount"); + var_04 = maps\_utility::spawn_anim_model("player_rig",var_03.origin,var_03.angles); + var_04 attach("vm_grapple_launcher_base_lodvm","tag_weapon_right"); + var_04 hide(); + level.player maps\_shg_utility::setup_player_for_scene(1); + var_05 = 0.5; + level.player playerlinktoblend(var_04,"tag_player",var_05); + level.player common_scripts\utility::delaycall(var_05,::playerlinktodelta,var_04,"tag_player",1,0,0,0,0,1); + level.player enableslowaim(); + var_04 common_scripts\utility::delaycall(var_05,::show); + var_06 = [var_04,level.player_boat]; + common_scripts\utility::delay_script_call(3,::common_scripts\utility::flag_set,"flag_dialogue_boat_grapple"); + thread play_grapple_anim(var_04); + var_03 maps\_anim::anim_single(var_06,"boat_getin",undefined,undefined,undefined,1); + wait(0.2); + level.player unlink(); + var_04 delete(); + if(level.currentgen) + { + maps\_utility::tff_sync(); + } + + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.player_boat makeusable(); + maps\betrayal_util::start_player_diveboat_ride(); + level.player_boat makeunusable(); + level.player disableslowaim(); + level.player allowcrouch(0); + level.player allowprone(0); + level.player_boat thread boat_scene_drive_tutorial(); + maps\_utility::autosave_by_name(); + } + + if(level.nextgen) + { + setsaveddvar("r_umbraAccurateOcclusionThreshold","1024"); + } + + level.player_boat vehphys_enablecrashing(); + common_scripts\utility::flag_set("flag_objective_boat_chase_start"); + common_scripts\utility::flag_set("flag_boat_start_bobbing_boats"); + level.player setclutforplayer("clut_betrayal_c3_01",5); + level.ilana.ignoreall = 1; + level.ilana forceteleport(level.player_boat gettagorigin("tag_passenger"),level.player_boat gettagangles("tag_passenger")); + level.ilana linkto(level.player_boat,"tag_passenger",(0,0,-100),(0,0,0)); + level.ilana hide(); + boat_scene_setup(); + common_scripts\utility::flag_set("flag_boat_player_in_boat"); + wait(0.05); + boat_scene_crash_moment(); + common_scripts\utility::flag_set("boat_crash_lighting"); + maps\_utility::trigger_wait_targetname("trigger_boat_crashed_in_building"); + level.player allowcrouch(1); + level.player allowprone(1); + level.player boat_scene_hide_warning_elem(); + if(level.nextgen) + { + setsaveddvar("r_umbraAccurateOcclusionThreshold","256"); + } + + wait(0.05); + maps\betrayal_util::move_player_to_ent_by_targetname("start_climb_player"); + level.ilana show(); + level.ilana unlink(); + level.ilana maps\betrayal_util::move_squad_member_to_ent_by_targetname("start_climb_ilana"); + level.ilana maps\_utility::set_goal_pos(level.ilana.origin); + wait(0.05); + boat_scene_cleanup(); + level thread climb_scene_master_handler(); +} + +//Function Number: 267 +boat_scene_early_setup() +{ + if(common_scripts\utility::flag("flag_boat_early_setup_complete")) + { + return; + } + + common_scripts\utility::flag_set("flag_boat_early_setup_complete"); + if(!isdefined(level.player_boat)) + { + level.player_boat = maps\_vehicle::spawn_vehicle_from_targetname("vehicle_player_boat"); + } + + level.player_boat vehphys_disablecrashing(); + level.player_boat.animname = "player_boat"; + level.player_boat useanimtree(#animtree); + level thread boat_scene_early_setup_start_bobbing_boats(); + level.player setclientomnvar("ui_diveboat",1); +} + +//Function Number: 268 +boat_scene_swap_to_grapple_body(param_00) +{ + param_00 setmodel("viewbody_atlas_military_smp_grapple"); +} + +//Function Number: 269 +boat_scene_early_setup_start_bobbing_boats() +{ + common_scripts\utility::flag_wait("flag_boat_start_bobbing_boats"); + common_scripts\utility::array_thread(maps\betrayal_util::get_ents_by_targetname("civilian_yacht_01"),::boat_scene_bobbing_obstacle); + common_scripts\utility::array_thread(maps\betrayal_util::get_ents_by_targetname("civilian_yacht_01"),::maps\betrayal_fx::boat_small_static_foam); + common_scripts\utility::array_thread(maps\betrayal_util::get_ents_by_targetname("civilian_yacht_02"),::boat_scene_bobbing_obstacle); + common_scripts\utility::array_thread(maps\betrayal_util::get_ents_by_targetname("civilian_yacht_02"),::maps\betrayal_fx::boat_small_static_foam); + common_scripts\utility::array_thread(maps\betrayal_util::get_ents_by_targetname("civilian_yacht_03"),::boat_scene_bobbing_obstacle); + common_scripts\utility::array_thread(maps\betrayal_util::get_ents_by_targetname("civilian_yacht_03"),::maps\betrayal_fx::boat_small_static_foam); + common_scripts\utility::array_thread(maps\betrayal_util::get_ents_by_targetname("civilian_boat_02"),::boat_scene_bobbing_obstacle); + common_scripts\utility::array_thread(maps\betrayal_util::get_ents_by_targetname("civilian_boat_02"),::maps\betrayal_fx::boat_small_static_foam); + common_scripts\utility::array_thread(maps\betrayal_util::get_ents_by_targetname("civilian_barge_01"),::boat_scene_bobbing_obstacle); + common_scripts\utility::array_thread(maps\betrayal_util::get_ents_by_targetname("civilian_barge_01"),::maps\betrayal_fx::boat_large_static_foam); + common_scripts\utility::array_thread(maps\betrayal_util::get_ents_by_targetname("civilian_taxi_01"),::boat_scene_bobbing_obstacle); + common_scripts\utility::array_thread(maps\betrayal_util::get_ents_by_targetname("civilian_taxi_01"),::maps\betrayal_fx::boat_small_static_foam); +} + +//Function Number: 270 +boat_scene_setup() +{ + level.player_boat thread boat_scene_boat_warning_system(); + level.player_boat thread maps\betrayal_fx::vm_boat_wake(); + level thread maps\betrayal_lighting::underwater_boat_visionset_change(); + maps\betrayal_util::add_spawn_function_to_noteworthy("spawner_boat_chase_ai",::maps\betrayal_util::remove_on_spawner_delete); + maps\betrayal_util::add_spawn_function_to_noteworthy("spawner_boat_chase_ai",::maps\betrayal_util::allow_boost_jump); + common_scripts\utility::run_thread_on_targetname("trigger_boat_start_moving_obstacle",::boat_scene_moving_obstacle); + common_scripts\utility::array_call(maps\betrayal_util::get_ents_by_targetname("hidden_water_ramp"),::hide); + common_scripts\utility::run_thread_on_targetname("trigger_boat_raise_canal_blocker",::boat_scene_raise_canal_blocker); + maps\betrayal_util::add_spawn_function_to_noteworthy("spawner_boat_chase_warbird",::maps\betrayal_util::warbird_shooting_think,0,0); + maps\betrayal_util::add_spawn_function_to_noteworthy("spawner_boat_chase_warbird",::boat_scene_heli_change_paths); + maps\betrayal_util::add_spawn_function_to_noteworthy("spawner_boat_chase_warbird",::maps\betrayal_util::remove_on_spawner_delete); + maps\betrayal_util::add_spawn_function_to_noteworthy("spawner_boat_chase_warbird",::soundscripts\_snd::snd_message,"aud_ambient_helicopter","spawner_boat_chase_warbird"); + level thread boat_scene_setup_spawn_swarm(); + common_scripts\utility::run_thread_on_targetname("trigger_boat_bridge_collapse",::maps\betrayal_fx::boat_scene_bridge_collapse); + boat_scene_vig_civ_setup(); + common_scripts\utility::flag_clear("flag_enable_battle_chatter"); +} + +//Function Number: 271 +boat_scene_setup_spawn_swarm() +{ + if(!isdefined(level.snake_cloud)) + { + if(level.currentgen) + { + level.snake_cloud = vehicle_scripts\_attack_drone_common::spawn_snake_cloud("drone_swarm_spawner_boat",undefined,6,5); + return; + } + + level.snake_cloud = vehicle_scripts\_attack_drone_common::spawn_snake_cloud("drone_swarm_spawner_boat",undefined,16,12); + } +} + +//Function Number: 272 +boat_scene_heli_change_paths() +{ + common_scripts\utility::run_thread_on_targetname(self.target,::boat_scene_heli_change_paths_on_trigger,self); +} + +//Function Number: 273 +boat_scene_heli_change_paths_on_trigger(param_00) +{ + self waittill("trigger"); + var_01 = common_scripts\utility::getstruct(self.target,"targetname"); + param_00 thread maps\_vehicle::vehicle_paths(var_01,0); + param_00 thread maps\_utility::ent_flag_clear_delayed("fire_turrets",2); +} + +//Function Number: 274 +boat_scene_raise_canal_blocker() +{ + maps\betrayal_util::prepare_blast_doors(self.target,-160); + self waittill("trigger"); + maps\betrayal_util::raise_blast_doors(self.target,1); +} + +//Function Number: 275 +boat_scene_vig_civ_setup() +{ + if(level.nextgen) + { + common_scripts\utility::run_thread_on_targetname("trigger_vig_civ_setup",::maps\betrayal_util::civilian_setup,1200,1); + } +} + +//Function Number: 276 +boat_scene_crash_moment() +{ + common_scripts\utility::run_thread_on_targetname("trigger_boat_disable_dive",::boat_scene_disable_dive); + maps\_utility::trigger_wait_targetname("trigger_boat_start_crash"); + soundscripts\_snd::snd_message("bet_boat_crash_audio_handler"); + var_00 = maps\betrayal_util::get_ent_by_targetname("animorg_boat_crash"); + var_01 = maps\_utility::spawn_anim_model("player_rig_grapple",level.player.origin,level.player.angles); + var_02 = level.player_boat; + var_03 = [var_01,var_02]; + thread maps\betrayal_fx::vm_boat_crash_se_fx_start(var_02); + level.player_boat makeusable(); + level.player_boat vehicle_scripts\_diveboat::remove_diveboat_weapons(); + level.player_boat vehicle_scripts\_diveboat::stop_diveboat_threads(); + level.player.drivingvehicle = undefined; + level.player_boat useby(level.player); + level.player_boat makeunusable(); + level.player_boat setviewmodeldepth(0); + level.player maps\_shg_utility::setup_player_for_scene(); + level.player playerlinktodelta(var_01,"tag_player",1,7,7,5,5,1); + common_scripts\utility::flag_set("flag_objective_boat_chase_complete"); + var_00 maps\_anim::anim_single(var_03,"boat_crash"); + level notify("boat_crash_end"); + level.player unlink(); + var_01 delete(); +} + +//Function Number: 277 +boat_scene_disable_dive() +{ + level.player_boat endon("death"); + level endon("boat_scene_cleanup"); + while(!isdefined(level.player_boat)) + { + wait(0.05); + } + + for(;;) + { + if(self istouching(level.player)) + { + level.player_boat vehicle_diveboatenabledive(0); + } + else + { + level.player_boat vehicle_diveboatenabledive(1); + } + + wait(0.05); + } +} + +//Function Number: 278 +boat_scene_crash_moment_whiteout(param_00) +{ + maps\betrayal_util::player_knockout_white(); + if(level.currentgen) + { + common_scripts\utility::flag_set("flag_tff_trans_canals_to_finale"); + } +} + +//Function Number: 279 +boat_scene_boat_warning_system() +{ + level endon("boat_scene_cleanup"); + self endon("death"); + boat_scene_prep_water_impacts(); + childthread boat_scene_monitor_boat_params(); + childthread boat_scene_missile_dive_warning(); + childthread boat_scene_prep_drones(); + childthread boat_scene_handle_boat_collisions(); + childthread boat_scene_handle_boat_damage(); + childthread boat_scene_handle_fail_state(); + var_00 = 0; + for(;;) + { + if(isdefined(self.dive_boat_params.dive_warning) && !var_00) + { + level.player boat_scene_show_warning_elem(self.dive_boat_params.dive_warning); + var_00 = 1; + common_scripts\utility::flag_set("flag_incoming_missile_warning"); + } + else if(!isdefined(self.dive_boat_params.dive_warning) && var_00) + { + level.player boat_scene_hide_warning_elem(); + self.dive_boat_params.dive_warning = undefined; + var_00 = 0; + } + + wait(0.05); + } +} + +//Function Number: 280 +boat_scene_monitor_boat_params() +{ + maps\_utility::ent_flag_init("dive_boat_params_underwater"); + var_00 = self.angles; + self.dive_boat_params = spawnstruct(); + for(;;) + { + wait(0.05); + var_01 = anglestoforward(self.angles); + self.dive_boat_params.fwd_dir = (var_01[0],var_01[1],0); + var_02 = self.angles - var_00; + var_03 = self vehicle_getspeed() / self vehicle_gettopspeed() * 7; + self.dive_boat_params.yawdiff = var_03 * var_02[1]; + var_04 = rotatevector(var_01,(0,var_03 * var_02[1],0)); + self.dive_boat_params.fwd_aug = (var_04[0],var_04[1],0); + self.dive_boat_params.upsspeed = max(maps\betrayal_util::mph_to_ups(self vehicle_getspeed()),maps\betrayal_util::mph_to_ups(5)); + var_05 = anglestoright(self.angles); + self.dive_boat_params.right = (var_05[0],var_05[1],0); + if(self vehicle_diveboatissubmerged()) + { + maps\_utility::ent_flag_set("dive_boat_params_underwater"); + } + else + { + maps\_utility::ent_flag_clear("dive_boat_params_underwater"); + } + + self notify("dive_boat_params_updated"); + if(getdvarint("debug_diveboat_params") == 1) + { + } + + var_00 = self.angles; + } +} + +//Function Number: 281 +boat_scene_show_warning_elem(param_00) +{ + if(isdefined(param_00) && param_00 == "collision") + { + level.player setclientomnvar("ui_diveboat_msg",1); + } + else if(isdefined(param_00) && param_00 == "missile") + { + level.player setclientomnvar("ui_diveboat_msg",2); + } + + level.player thread boat_scene_cleanup_warning_elem_on_crash(); +} + +//Function Number: 282 +boat_scene_cleanup_warning_elem_on_crash() +{ + self endon("death"); + level waittill("boat_scene_cleanup"); + boat_scene_hide_warning_elem(); +} + +//Function Number: 283 +boat_scene_hide_warning_elem() +{ + level.player setclientomnvar("ui_diveboat_msg",0); +} + +//Function Number: 284 +boat_scene_missile_dive_warning() +{ + var_00 = maps\betrayal_util::get_ents_by_targetname("trigger_boat_fire_missile"); + foreach(var_02 in var_00) + { + childthread boat_scene_fire_missile_at_boat(var_02); + } + + childthread boat_scene_target_lock_sound(); +} + +//Function Number: 285 +boat_scene_play_target_lock_sound_loop(param_00) +{ + level.player endon("damage"); + var_01 = 0; + while(var_01 < param_00 && !self vehicle_diveboatissubmerged()) + { + soundscripts\_snd::snd_message("lock_on_target"); + wait(0.35); + var_01 = var_01 + 0.35; + } +} + +//Function Number: 286 +boat_scene_target_lock_sound() +{ + level endon("boat_scene_cleanup"); + for(;;) + { + common_scripts\utility::flag_wait("flag_incoming_missile_warning"); + thread boat_scene_play_target_lock_sound_loop(10); + if(!self vehicle_diveboatissubmerged()) + { + common_scripts\utility::flag_set("flag_dialogue_boat_missiles"); + } + + common_scripts\utility::flag_clear("flag_incoming_missile_warning"); + } +} + +//Function Number: 287 +boat_scene_fire_missile_at_boat(param_00) +{ + param_00 waittill("trigger"); + if(maps\_utility::ent_flag("dive_boat_params_underwater")) + { + boat_scene_missile_wait_for_player_to_surface(); + } + + if(maps\_utility::ent_flag("dive_boat_params_underwater")) + { + return; + } + + if(isdefined(self.dive_boat_params.dive_warning)) + { + return; + } + + self.dive_boat_params.dive_warning = "missile"; + var_01 = 1.25; + var_02 = randomintrange(5,9); + thread boat_scene_missile_launch_volley(var_02,var_01); + maps\_utility::ent_flag_wait_or_timeout("dive_boat_params_underwater",1.5); + self.dive_boat_params.dive_warning = undefined; +} + +//Function Number: 288 +boat_scene_missile_wait_for_player_to_surface() +{ + var_00 = gettime(); + while(isdefined(self)) + { + if(!maps\_utility::ent_flag("dive_boat_params_underwater")) + { + break; + } + + if(gettime() >= var_00 + 2000) + { + break; + } + + wait(0.05); + } +} + +//Function Number: 289 +boat_scene_missile_launch_volley(param_00,param_01,param_02) +{ + maps\_utility::ent_flag_wait_or_timeout("dive_boat_params_underwater",1.5); + if(isdefined(param_02)) + { + wait(param_02); + } + + var_03 = 150 * param_00 - 1; + for(var_04 = param_00;var_04 > 0;var_04--) + { + if(var_04 == 1) + { + childthread boat_scene_missile_flight(var_03,1); + } + else + { + childthread boat_scene_missile_flight(var_03); + } + + var_03 = var_03 - 150; + wait(randomfloatrange(0.05,0.1)); + } +} + +//Function Number: 290 +boat_scene_missile_flight(param_00,param_01) +{ + var_02 = 0.25 * self.dive_boat_params.upsspeed * self.dive_boat_params.fwd_aug; + var_03 = param_00 * self.dive_boat_params.fwd_aug; + var_04 = (0,randomfloatrange(-12.5,12.5),0); + var_05 = rotatevector(var_02 + var_03,var_04); + var_06 = self.origin + var_05; + var_07 = undefined; + for(var_08 = 0;var_08 < 5;var_08++) + { + var_09 = (randomfloatrange(0,20),0,0); + var_0A = (0,randomfloatrange(0,360),0); + var_09 = rotatevector(var_09,var_0A); + var_0B = var_06 + var_09; + var_0C = bullettrace(var_0B + (0,0,500),var_0B + (0,0,-100),0,undefined,0,0,0,0,0); + if(isdefined(var_0C["surfacetype"]) && issubstr(var_0C["surfacetype"],"water")) + { + var_07 = var_0C["position"]; + break; + } + } + + if(!isdefined(var_07)) + { + return; + } + + var_0D = common_scripts\utility::spawn_tag_origin(); + var_0D.origin = var_07; + var_0D.angles = (270,0,0); + var_0E = 600; + var_0F = magicbullet("iw5_mahemcustombetrayalboatdive_sp",var_0D.origin + (0,0,var_0E),var_0D.origin); + wait(0.25); + playfxontag(level._effect["bet_water_explosion_single"],var_0D,"tag_origin"); + boat_scene_spawn_water_impact(var_0D.origin); + var_0D playrumbleonentity("grenade_rumble"); + if(isdefined(param_01)) + { + boat_scene_missile_impact_damage_boat(var_0D.origin); + } + + wait(2); + var_0D delete(); +} + +//Function Number: 291 +boat_scene_missile_impact_damage_boat(param_00) +{ + if(maps\_utility::ent_flag("dive_boat_params_underwater")) + { + return; + } + + physicsexplosionsphere(param_00,256,0,3); + level.player dodamage(200,param_00); + wait(0.5); + if(level.player.health <= 0) + { + setdvar("ui_deadquote",&"BETRAYAL_BOAT_MISSILE_FAIL"); + } +} + +//Function Number: 292 +boat_scene_prep_drones() +{ + common_scripts\utility::run_thread_on_targetname("trigger_boat_drone_swarm_start",::maps\betrayal_util::drone_swarm_move_change_path_on_trigger); +} + +//Function Number: 293 +boat_scene_prep_water_impacts() +{ + level.water_impacts = maps\betrayal_util::get_ents_by_targetname("boat_water_impact"); +} + +//Function Number: 294 +boat_scene_spawn_water_impact(param_00) +{ + foreach(var_02 in level.water_impacts) + { + if(!isdefined(var_02.in_use)) + { + if(!isdefined(var_02.org_pos)) + { + var_02 hide(); + var_02.org_pos = var_02.origin; + } + + var_03 = bullettrace(param_00 + (0,0,-64),param_00 + (0,0,512),0,undefined); + if(var_03["surfacetype"] == "water_waist") + { + param_00 = var_03["position"]; + } + + var_02.in_use = 1; + var_02.origin = param_00; + var_02 thread boat_scene_remove_water_impact(); + return; + } + } +} + +//Function Number: 295 +boat_scene_remove_water_impact() +{ + wait(0.5); + self.origin = self.org_pos; + self.in_use = undefined; + self hide(); +} + +//Function Number: 296 +boat_scene_moving_obstacle() +{ + level endon("boat_scene_cleanup"); + var_00 = maps\betrayal_util::get_ents_by_targetname(self.target); + self.spawned_boats = []; + foreach(var_02 in var_00) + { + thread boat_scene_moving_obstacle_spawn_boat_in_radius(var_02); + } + + self waittill("trigger"); + foreach(var_05 in self.spawned_boats) + { + var_05 thread maps\_vehicle::gopath(var_05); + if(issubstr(var_05.model,"watertaxi_01")) + { + level thread maps\betrayal_fx::treadfx_ai_boats_taxi(var_05); + continue; + } + + level thread maps\betrayal_fx::treadfx_ai_boats_yacht(var_05); + } +} + +//Function Number: 297 +boat_scene_moving_obstacle_spawn_boat_in_radius(param_00) +{ + level endon("boat_scene_cleanup"); + self endon("death"); + self endon("trigger"); + if(!isdefined(param_00.radius)) + { + param_00.radius = 5000; + } + + for(;;) + { + if(!isdefined(param_00) || isremovedentity(param_00)) + { + return; + } + + var_01 = distance2d(param_00.origin,level.player.origin); + if(var_01 < param_00.radius) + { + var_02 = maps\_vehicle_code::_vehicle_spawn(param_00); + if(!isdefined(var_02)) + { + return; + } + + param_00 thread boat_scene_moving_obstacle_delete_boat_on_spawner_death(var_02); + self.spawned_boats[self.spawned_boats.size] = var_02; + return; + } + + wait(0.05); + } +} + +//Function Number: 298 +boat_scene_moving_obstacle_delete_boat_on_spawner_death(param_00) +{ + level endon("boat_scene_cleanup"); + param_00.script_linkname = undefined; + self waittill("death"); + if(isdefined(param_00) && !isremovedentity(param_00)) + { + param_00 delete(); + } +} + +//Function Number: 299 +boat_scene_bobbing_obstacle(param_00) +{ + level endon("boat_scene_cleanup"); + self endon("death"); + if(!isdefined(param_00)) + { + param_00 = maps\betrayal_util::get_ent_by_targetname(self.target); + param_00 linkto(self); + } + + maps\_utility::ent_flag_init("flag_big_bobbing"); + for(;;) + { + var_01 = boat_scene_small_bob_settings(); + maps\_bobbing_boats::prep_bobbing([self],::maps\_bobbing_boats::bobbingobject,var_01,0); + thread maps\_bobbing_boats::start_bobbing_single(randomfloatrange(0,1)); + maps\_utility::ent_flag_wait("flag_big_bobbing"); + var_01 = boat_scene_big_bob_settings(); + maps\_bobbing_boats::prep_bobbing([self],::maps\_bobbing_boats::bobbingobject,var_01,0); + thread maps\_bobbing_boats::start_bobbing_single(randomfloatrange(0,1)); + maps\_utility::ent_flag_waitopen("flag_big_bobbing"); + } +} + +//Function Number: 300 +boat_scene_small_bob_settings() +{ + var_00 = spawnstruct(); + var_00.max_pitch = 1; + var_00.min_pitch_period = 3; + var_00.max_pitch_period = 6; + var_00.max_yaw = 2; + var_00.min_yaw_period = 3; + var_00.max_yaw_period = 6; + var_00.max_roll = 2; + var_00.min_roll_period = 3; + var_00.max_roll_period = 6; + var_00.max_sink = 6; + var_00.max_float = 6; + var_00.min_bob_period = 3; + var_00.max_bob_period = 6; + return var_00; +} + +//Function Number: 301 +boat_scene_big_bob_settings() +{ + var_00 = spawnstruct(); + var_00.max_pitch = 3; + var_00.min_pitch_period = 3; + var_00.max_pitch_period = 6; + var_00.max_yaw = 0; + var_00.min_yaw_period = 3; + var_00.max_yaw_period = 6; + var_00.max_roll = 6; + var_00.min_roll_period = 3; + var_00.max_roll_period = 6; + var_00.max_sink = 36; + var_00.max_float = 24; + var_00.min_bob_period = 3; + var_00.max_bob_period = 6; + return var_00; +} + +//Function Number: 302 +boat_scene_drive_tutorial() +{ + thread boat_scene_drive_gas_tutorial(); + thread boat_scene_dive_tutorial(); +} + +//Function Number: 303 +boat_scene_drive_gas_tutorial() +{ + level endon("boat_scene_cleanup"); + self waittill("dive_boat_params_updated"); + maps\_utility::hintdisplayhandler("boat_gas"); + if(isdefined(level.current_hint)) + { + level.current_hint waittill("destroying"); + } +} + +//Function Number: 304 +boat_scene_dive_tutorial(param_00) +{ + level endon("boat_scene_cleanup"); + common_scripts\utility::run_thread_on_targetname("trigger_boat_hint_dive",::boat_scene_dive_tutorial_trigger_hit); + for(;;) + { + level waittill("display_boat_dive_hint",var_01); + if(!maps\_utility::ent_flag("dive_boat_params_underwater")) + { + maps\_utility::hintdisplayhandler("boat_dive",undefined,var_01); + if(isdefined(level.current_hint)) + { + level.current_hint waittill("destroying"); + } + } + + var_01 delete(); + } +} + +//Function Number: 305 +boat_scene_dive_tutorial_trigger_hit() +{ + level endon("boat_scene_cleanup"); + self waittill("trigger"); + common_scripts\utility::flag_set("flag_dialogue_boat_dive"); + level notify("display_boat_dive_hint",self); +} + +//Function Number: 306 +boat_scene_handle_boat_collisions() +{ + for(;;) + { + self waittill("veh_contact",var_00,var_01); + if(self vehicle_getspeed() > 15) + { + level.player dodamage(20,var_01); + level.player playrumbleonentity("damage_heavy"); + } + + wait(0.05); + } +} + +//Function Number: 307 +boat_scene_handle_boat_damage() +{ + for(;;) + { + self waittill("damage",var_00,var_01,var_02,var_03); + if(randomint(100) < 5) + { + level.player dodamage(var_00 * 0.02,var_03,var_01); + level.player playrumbleonentity("damage_light"); + } + + maps\_vehicle::vehicle_set_health(2000); + wait(0.05); + } +} + +//Function Number: 308 +boat_scene_handle_fail_state() +{ + var_00 = maps\betrayal_util::get_ents_by_targetname("trigger_boat_path_fail"); + common_scripts\utility::array_thread(var_00,::boat_scene_trigger_fail_path); + var_01 = maps\betrayal_util::progress_path_create("boat_chase_fail_path"); + var_02 = var_01 maps\betrayal_util::progress_path_get_my_node_from_org(level.player.origin); + var_03 = gettime(); + var_04 = var_02; + var_05 = 0; + for(;;) + { + if(gettime() > var_03 + 7000) + { + boat_scene_fail_path(); + break; + } + + var_06 = maps\betrayal_util::get_progression_between_points(level.player.origin,var_02.origin,var_02.next_node.origin); + var_07 = maps\betrayal_util::progress_path_move_to_correct_node(var_02,var_06["progress"],var_06["offset"]); + var_08 = var_07.progress; + var_09 = var_07.offset; + var_02 = var_07.node; + if(var_02 == var_04.next_node) + { + var_03 = gettime(); + var_04 = var_02; + var_05 = var_08; + } + + if(var_02 == var_04 && var_08 >= var_05 + 5) + { + var_03 = gettime(); + var_04 = var_02; + var_05 = var_08; + } + + wait(0.05); + } +} + +//Function Number: 309 +boat_scene_trigger_fail_path() +{ + self waittill("trigger"); + boat_scene_fail_path(); +} + +//Function Number: 310 +boat_scene_fail_path() +{ + setdvar("ui_deadquote",&"BETRAYAL_FAIL_ESCAPE"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 311 +boat_scene_cleanup() +{ + level.player setclientomnvar("ui_diveboat",0); + level notify("boat_scene_cleanup"); +} + +//Function Number: 312 +climb_scene_master_handler(param_00) +{ + climb_scene_setup(); + if(level.nextgen) + { + thread maps\betrayal_util::spawn_and_handle_looping_helicopters("climb_scene_vignette_heli","flag_climb_player_at_finale",5); + } + else + { + thread maps\betrayal_util::spawn_and_handle_looping_helicopters("climb_scene_vignette_heli","flag_climb_player_at_finale",2); + } + + if(!isdefined(param_00)) + { + wait(0.05); + level.ilana.ignoreall = 0; + level.ilana.pacifist = 1; + level thread climb_scene_setup_droneswarm(); + climb_scene_first_climb(); + climb_scene_on_foot(); + climb_scene_second_climb(); + climb_scene_skybridge(); + } + else if(isdefined(param_00) && param_00 == "roof") + { + common_scripts\utility::flag_clear("flag_enable_battle_chatter"); + common_scripts\utility::flag_set("flag_climb_player_begin_fall_fails"); + common_scripts\utility::flag_set("flag_climb_player_at_first_onfoot"); + climb_scene_on_foot(); + climb_scene_second_climb(); + climb_scene_skybridge(); + } + else if(isdefined(param_00) && param_00 == "crates") + { + common_scripts\utility::flag_set("flag_climb_player_begin_fall_fails"); + common_scripts\utility::flag_set("flag_climb_player_at_first_onfoot"); + climb_scene_second_climb(); + climb_scene_skybridge(); + } + else if(isdefined(param_00) && param_00 == "skybridge") + { + common_scripts\utility::flag_set("flag_climb_player_begin_fall_fails"); + common_scripts\utility::flag_set("flag_climb_player_at_first_onfoot"); + common_scripts\utility::flag_set("flag_climb_player_at_skybridge"); + climb_scene_skybridge(); + } + else if(isdefined(param_00) && param_00 == "finale_outro") + { + level thread climb_scene_finale(); + } + + common_scripts\utility::flag_wait("flag_climb_player_at_finale"); + climb_scene_cleanup(); +} + +//Function Number: 313 +climb_scene_setup() +{ + maps\_utility::clear_all_color_orders("axis"); + maps\_utility::clear_all_color_orders("allies"); + common_scripts\utility::flag_set("flag_dialogue_start_climb"); + level.ilana setmodel("ilana_atlas_pmc_launcher"); + common_scripts\utility::run_thread_on_targetname("finale_climb_civ_setup",::maps\betrayal_util::civilian_setup,"flag_climb_player_discovered",0); + maps\_utility::activate_trigger_with_targetname("finale_climb_civ_setup"); + common_scripts\utility::run_thread_on_targetname("climbimg_moving_crate_on_foot_start_node",::climb_scene_moving_crates); + common_scripts\utility::run_thread_on_targetname("climbimg_moving_crate_construction_ambience_start_node",::climb_scene_moving_crates); + common_scripts\utility::run_thread_on_targetname("climbimg_moving_crate_climb_ambience_start_node",::climb_scene_moving_crates); + common_scripts\utility::run_thread_on_targetname("trigger_climb_force_dismount",::climb_scene_force_dismount); + maps\betrayal_util::add_spawn_function_to_noteworthy("climb_warbird",::maps\betrayal_util::warbird_shooting_think,0,0); + maps\betrayal_util::add_spawn_function_to_noteworthy("spawner_skybridge_guard",::climb_scene_set_colors_careful_on_arrival_setting); + common_scripts\utility::run_thread_on_targetname("trigger_climb_start_crane",::climb_scene_start_crane); + common_scripts\utility::run_thread_on_targetname("trigger_skybridge_break_glass",::climb_scene_skybridge_break_glass); + level thread climb_scene_ilona_simple_climbing(); + level.ilana.script_careful = 1; + level.ilana pathabilityadd("grapple"); + level.ilana maps\_utility::set_moveplaybackrate(1); + common_scripts\utility::run_thread_on_targetname("trigger_climb_fail_trigger",::climb_scene_fail_fall); + maps\_exo_climb::setup_climb_model("atlas_army",1); + foreach(var_01 in level.player getweaponslistoffhands()) + { + if(common_scripts\utility::array_contains(level.player.variable_grenade["special"],var_01)) + { + level.player takeweapon(var_01); + } + } + + common_scripts\utility::flag_clear("flag_hint_player_exoclimb_jumped"); + common_scripts\utility::flag_clear("flag_hint_player_exoclimb_magmoved"); + common_scripts\utility::flag_clear("flag_hint_player_exoclimb_combat"); + common_scripts\utility::flag_clear("flag_hint_player_exoclimb_cover"); +} + +//Function Number: 314 +climb_scene_setup_droneswarm() +{ + if(!isdefined(level.snake_cloud)) + { + if(level.currentgen) + { + level.snake_cloud = vehicle_scripts\_attack_drone_common::spawn_snake_cloud("drone_swarm_spawner_climb",undefined,6,5); + } + else + { + level.snake_cloud = vehicle_scripts\_attack_drone_common::spawn_snake_cloud("drone_swarm_spawner_climb"); + } + } + + common_scripts\utility::run_thread_on_targetname("trigger_climb_drone_swarm_start",::maps\betrayal_util::drone_swarm_move_change_path_on_trigger); + maps\_utility::trigger_wait_targetname("trigger_climb_drone_swarm_cleanup"); + level.snake_cloud vehicle_scripts\_attack_drone_common::cleanup_snake_cloud(); +} + +//Function Number: 315 +climb_scene_cleanup() +{ + level notify("climb_scene_cleanup"); +} + +//Function Number: 316 +climb_scene_start_action(param_00) +{ + wait(4); + level notify("climb_scene_start_action"); +} + +//Function Number: 317 +climb_scene_fail_fall() +{ + var_00 = level.player.grapple["dist_max"]; + for(;;) + { + wait(0.05); + for(;;) + { + self waittill("trigger",var_01); + if(var_01 == level.player) + { + break; + } + + wait(0.05); + } + + if(isdefined(level.player.grapple) && level.player.grapple["grappling"]) + { + continue; + } + + if(common_scripts\utility::flag("flag_climb_falling_fail")) + { + continue; + } + + common_scripts\utility::flag_set("flag_climb_falling_fail"); + level.player.grapple["dist_max"] = 1; + setblur(5,0.5); + wait(0.25); + if(isdefined(level.player.grapple) && level.player.grapple["grappling"]) + { + common_scripts\utility::flag_clear("flag_climb_falling_fail"); + level.player.grapple["dist_max"] = var_00; + setblur(0,0.25); + continue; + } + + break; + } + + setdvar("ui_deadquote",&"BETRAYAL_CLIMB_FALL_FAIL"); + maps\_utility::missionfailedwrapper(); + level.player thread climb_scene_fail_on_ground_notify(); + level.player common_scripts\utility::waittill_any_timeout(1,"death","player_on_ground"); + if(isalive(level.player)) + { + level.player kill(); + } + + wait(0.05); + setdvar("ui_deadquote",&"BETRAYAL_CLIMB_FALL_FAIL"); +} + +//Function Number: 318 +climb_scene_fail_on_ground_notify() +{ + level.player endon("death"); + for(;;) + { + if(level.player isonground()) + { + level.player notify("player_on_ground"); + } + + wait(0.05); + } +} + +//Function Number: 319 +climb_scene_first_climb() +{ + if(level.currentgen) + { + if(!istransientloaded("betrayal_finale_tr")) + { + level waittill("tff_post_canals_to_finale"); + } + } + + maps\betrayal_util::player_knockout_wakeup(); + level thread climb_scene_anim_boat_getout(); + common_scripts\utility::flag_set("flag_dialogue_climb_boatexit"); + common_scripts\utility::delay_script_call(14,::common_scripts\utility::flag_set,"flag_dialogue_climb_intro"); + maps\_exo_climb::enable_exoclimb_combat(1); + level waittill("climb_scene_start_action"); + level.ilana.ignoreall = 0; +} + +//Function Number: 320 +climb_scene_handle_finale_walker_civilian_vingette() +{ + var_00 = maps\betrayal_util::get_ents_by_targetname("climb_scene_walker_spawner"); + foreach(var_02 in var_00) + { + var_03 = var_02 maps\_utility::spawn_ai(1,0); + var_03 thread climb_scene_handle_walker(); + var_03 thread climb_scene_handle_walker_reaction(); + var_03 thread maps\betrayal_util::delete_ai_on_flag("climb_delete_walkers"); + } +} + +//Function Number: 321 +climb_scene_handle_walker() +{ + self endon("reacting"); + self endon("death"); + self.original_position = self.origin; + self.animname = "generic"; + var_00 = maps\betrayal_util::civilian_get_random_walk(); + self.civilian_walk_animation = var_00; + self.runanim = level.scr_anim[self.animname][var_00][0]; + maps\_utility::set_run_anim_array(var_00,undefined,1); + self.is_reacting = 0; + self.goalradius = 16; + for(;;) + { + if(isdefined(self.target)) + { + var_01 = getnode(self.target,"targetname"); + maps\_utility::set_goal_node(var_01); + } + + maps\betrayal_util::stop_current_animations(); + self.goalradius = 16; + self notify("move"); + self waittill("goal"); + maps\betrayal_util::stop_current_animations(); + self.animname = "generic"; + var_00 = maps\betrayal_util::civilian_get_random_idle(); + thread maps\_anim::anim_generic_loop(self,var_00); + wait(3); + maps\_utility::set_goal_pos(self.original_position); + maps\betrayal_util::stop_current_animations(); + self.goalradius = 16; + self notify("move"); + self waittill("goal"); + maps\betrayal_util::stop_current_animations(); + self.animname = "generic"; + var_00 = maps\betrayal_util::civilian_get_random_idle(); + thread maps\_anim::anim_generic_loop(self,var_00); + wait(3); + } +} + +//Function Number: 322 +climb_scene_handle_walker_reaction() +{ + self endon("death"); + maps\betrayal_util::stop_current_animations(); + var_00 = getnodearray("climb_scene_walker_escape_node","targetname"); + common_scripts\utility::flag_wait("flag_climb_player_at_skybridge"); + if(isdefined(self)) + { + self delete(); + } +} + +//Function Number: 323 +climb_scene_anim_boat_getout() +{ + level.player maps\_shg_utility::setup_player_for_scene(); + var_00 = maps\_utility::spawn_anim_model("player_rig_grapple",level.player.origin,level.player.angles); + level.player playerlinktodelta(var_00,"tag_player",1,20,23,12,0,1); + level.player enableslowaim(); + var_01 = maps\_utility::spawn_anim_model("player_boat",var_00.origin,var_00.angles); + var_02 = [var_00,var_01,level.ilana]; + var_03 = maps\betrayal_util::get_ent_by_targetname("animorg_boat_getout"); + var_03 maps\_anim::anim_single(var_02,"boat_getout"); + level.player unlink(); + level.player disableslowaim(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + maps\_player_exo::player_exo_activate(); + var_00 delete(); + maps\_utility::autosave_by_name(); + common_scripts\utility::flag_set("flag_objective_climb_start"); + level.player maps\_grapple::grapple_give(); + thread climb_scene_grapple_hint_handler(); + common_scripts\utility::flag_set("flag_enable_battle_chatter"); +} + +//Function Number: 324 +climb_scene_grapple_hint_handler() +{ + var_00 = getentarray("grapple_hint_trig","targetname"); + var_01 = undefined; + while(!isdefined(var_01)) + { + foreach(var_03 in var_00) + { + if(level.player istouching(var_03)) + { + maps\_utility::hintdisplayhandler("grapple"); + var_01 = var_03; + break; + } + } + + wait 0.05; + } + + while(level.player istouching(var_01)) + { + wait(0.5); + } + + wait(0.5); + if(!common_scripts\utility::flag("flag_climb_player_finished_first_grapple")) + { + thread climb_scene_grapple_hint_handler(); + } +} + +//Function Number: 325 +climb_scene_on_foot() +{ + climb_scene_on_foot_setup(); + common_scripts\utility::flag_wait("flag_climb_player_at_first_onfoot"); + common_scripts\utility::flag_set("flag_enable_battle_chatter"); + level thread climb_scene_on_foot_warbird_arrival(); + level thread climb_scene_on_foot_crate_death_area(); +} + +//Function Number: 326 +climb_scene_on_foot_setup() +{ + maps\betrayal_util::add_spawn_function_to_targetname("spawner_climb_onfoot_zipline",::climb_scene_setup_zipliners); + maps\betrayal_util::add_spawn_function_to_noteworthy("climb_roof_enemies",::climb_scene_set_colors_careful_on_arrival_setting); + maps\betrayal_util::add_spawn_function_to_noteworthy("climb_roof_snipers",::maps\betrayal_util::delete_ai_on_path_end); + common_scripts\utility::run_thread_on_targetname("trigger_climb_ilana_past_crate",::climb_scene_on_foot_ilana_past_crate); +} + +//Function Number: 327 +climb_scene_on_foot_ilana_past_crate() +{ + level endon("flag_climb_ilana_past_crate"); + self waittill("trigger"); + for(;;) + { + if(maps\_utility::get_ai_group_sentient_count("climb_roof_guard") == 0) + { + break; + } + + wait(0.05); + } + + common_scripts\utility::flag_set("flag_climb_ilana_past_crate"); +} + +//Function Number: 328 +climb_scene_on_foot_warbird_arrival() +{ + while(isdefined(level.climb_warbird)) + { + wait(0.05); + } + + level.climb_warbird = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("spawner_climb_onfoot_heli"); + level.climb_warbird thread climb_scene_warbird_setup_rotar_death_trigger(); + level.climb_warbird soundscripts\_snd::snd_message("aud_ambient_helicopter","spawner_climb_onfoot_heli"); + level.climb_warbird thread climb_scene_first_on_foot_warbird_turret(); +} + +//Function Number: 329 +climb_scene_warbird_setup_rotar_death_trigger() +{ + var_00 = getent("climb_scene_warbird_kill_trigger","script_noteworthy"); + var_00 enablelinkto(); + var_00 linkto(self); + self waittill("death"); + var_00 unlink(); + var_00 delete(); +} + +//Function Number: 330 +climb_scene_first_on_foot_warbird_turret() +{ + maps\_utility::ent_flag_init("start_roof_turrets"); + maps\_utility::ent_flag_wait("start_roof_turrets"); + while(maps\_utility::ent_flag("start_roof_turrets")) + { + wait(randomfloatrange(4,5.5)); + maps\_utility::ent_flag_set("fire_turrets"); + wait(randomfloatrange(2,3.5)); + maps\_utility::ent_flag_clear("fire_turrets"); + } +} + +//Function Number: 331 +climb_scene_on_foot_crate_death_area() +{ + var_00 = maps\betrayal_util::get_ent_by_targetname("climb_roof_path_blocker_for_crate_test"); + var_01 = getnodearray("climb_roof_crate_node","targetname"); + level thread climbing_scene_on_foot_no_friendly_damage_in_death_area(); + var_02 = 0; + var_03 = 0; + while(!common_scripts\utility::flag("flag_climb_player_at_skybridge")) + { + var_03 = 0; + foreach(var_05 in level.climbing_crates) + { + if(var_05 istouching(var_00)) + { + var_03 = 1; + break; + } + } + + if(var_03 && !var_02) + { + var_02 = 1; + foreach(var_08 in var_01) + { + var_08 disconnectnode(); + } + + continue; + } + + if(!var_03 && var_02) + { + var_02 = 0; + foreach(var_08 in var_01) + { + var_08 connectnode(); + } + } + + wait(0.05); + } +} + +//Function Number: 332 +climbing_scene_on_foot_no_friendly_damage_in_death_area() +{ + level endon("flag_climb_player_at_skybridge"); + var_00 = maps\betrayal_util::get_ent_by_targetname("trigger_climb_roof_no_pain"); + for(;;) + { + if(var_00 istouching(level.ilana)) + { + level.ilana maps\_utility::disable_pain(); + } + else + { + level.ilana maps\_utility::enable_pain(); + } + + wait(0.1); + } +} + +//Function Number: 333 +climb_scene_second_climb() +{ + common_scripts\utility::flag_wait("flag_climb_player_at_second_climb"); + common_scripts\utility::flag_set("flag_enable_battle_chatter"); + level thread climb_scene_second_climb_ilona_no_push(); +} + +//Function Number: 334 +climb_scene_second_climb_ilona_no_push() +{ + var_00 = maps\betrayal_util::get_ents_by_targetname("trigger_climb_no_push_ilana"); + while(!common_scripts\utility::flag("flag_climb_player_at_skybridge")) + { + var_01 = 0; + foreach(var_03 in var_00) + { + if(level.ilana istouching(var_03)) + { + var_01 = 1; + } + } + + if(var_01) + { + level.ilana.pushable = 0; + level.ilana.script_pushable = 0; + continue; + } + + level.ilana.pushable = 1; + level.ilana.script_pushable = 1; + wait(0.05); + } + + level.ilana.pushable = 1; + level.ilana.script_pushable = 1; +} + +//Function Number: 335 +climb_scene_skybridge() +{ + common_scripts\utility::flag_wait("flag_climb_player_at_skybridge"); + common_scripts\utility::flag_set("flag_enable_battle_chatter"); + level.default_goalradius = 512; + level thread climb_scene_skybridge_teleport_ilona(); + level.player_dof_aperture = 2; + level.player_dof_max_distance = 250; +} + +//Function Number: 336 +climb_scene_skybridge_teleport_ilona() +{ + var_00 = maps\betrayal_util::get_ent_by_targetname("start_climbskybridge_ilana"); + while(!maps\betrayal_util::can_teleport_ai_to_pos(level.ilana,var_00.origin) || level.ilana check_is_climbing()) + { + wait(0.05); + } + + maps\_utility::activate_trigger_with_noteworthy("trigger_skybridge_break_glass_ilana"); + level.ilana maps\betrayal_util::move_squad_member_to_ent_by_targetname("start_climbskybridge_ilana"); +} + +//Function Number: 337 +check_is_climbing() +{ + if(isdefined(self.istraversing)) + { + return self.istraversing; + } + + return 0; +} + +//Function Number: 338 +climb_scene_skybridge_break_glass() +{ + self waittill("trigger"); + var_00 = maps\betrayal_util::get_ent_by_targetname(self.target); + glassradiusdamage(var_00.origin,200,100,50); + level.player playrumbleonentity("damage_heavy"); +} + +//Function Number: 339 +climb_scene_set_colors_careful_on_arrival_setting(param_00) +{ + self.colornode_setgoal_func = ::climb_scene_colors_careful_on_arrival; + if(isdefined(param_00)) + { + self.custom_careful_radius = param_00; + } +} + +//Function Number: 340 +climb_scene_colors_careful_on_arrival(param_00) +{ + self endon("death"); + self setgoalnode(param_00); + thread maps\_colors::color_node_arrival_notifies(param_00); + self waittill("goal"); + self.fixednode = 0; + if(isdefined(param_00.radius)) + { + self.goalradius = param_00.radius; + return; + } + + if(isdefined(self.custom_careful_radius)) + { + self.goalradius = self.custom_careful_radius; + return; + } + + self.goalradius = 1028; +} + +//Function Number: 341 +climb_scene_setup_zipliners() +{ + self endon("death"); + self.org_spawner = self.spawner; + self.ignoreme = 1; + self waittill("jumpedout"); + self.ignoreme = 0; +} + +//Function Number: 342 +climb_scene_force_dismount() +{ + level.climbing_ilona_teleported = 0; + var_00 = maps\betrayal_util::get_ents_by_targetname("climb_mag_ilona_teleport"); + for(;;) + { + maps\betrayal_util::waittill_player_exo_climbing(); + self waittill("trigger"); + if(!maps\_exo_climb::is_exo_climbing()) + { + continue; + } + + if(isdefined(level.climbing_player_dismounting)) + { + maps\betrayal_util::waittill_player_not_exo_climbing(); + continue; + } + + level.climbing_player_dismounting = 1; + var_01 = maps\betrayal_util::get_ent_by_targetname(self.target); + maps\_exo_climb::force_animated_dismount(var_01,"player_rig","elevator_climb_dismount"); + maps\betrayal_util::waittill_player_not_exo_climbing(); + level.climbing_player_dismounting = undefined; + while(!level.climbing_ilona_teleported) + { + var_02 = maps\_utility::get_farthest_ent(level.player.origin,var_00); + if(maps\betrayal_util::can_teleport_ai_to_pos(level.ilana,var_02.origin)) + { + level.ilana maps\betrayal_util::move_squad_member_to_ent(var_02); + level.climbing_ilona_teleported = 1; + break; + } + + wait(0.05); + } + } +} + +//Function Number: 343 +climb_scene_ilona_simple_climbing() +{ + level endon("climb_scene_cleanup"); + for(;;) + { + while(!maps\_exo_climb::is_exo_climbing()) + { + wait(1); + } + + while(maps\_exo_climb::is_exo_climbing()) + { + wait(0.05); + } + + wait(0.05); + } +} + +//Function Number: 344 +climb_scene_moving_crates() +{ + var_00 = maps\betrayal_util::get_ents_by_targetname(self.target); + if(var_00.size <= 0) + { + return; + } + + var_01 = 0; + if(isdefined(self.script_delay)) + { + var_01 = self.script_delay; + } + + if(!isdefined(level.climbing_crates)) + { + level.climbing_crates = []; + } + + level.climbing_crates = common_scripts\utility::array_combine(level.climbing_crates,var_00); + foreach(var_03 in var_00) + { + var_04 = maps\betrayal_util::get_ent_by_targetname(var_03.target); + var_04 linkto(var_03); + var_03.origin = self.origin; + if(isdefined(self.angles)) + { + var_03.angles = self.angles; + } + + var_03.animname = "construction_crate"; + var_03 useanimtree(#animtree); + var_03 hide(); + } + + climb_scene_preprocess_crate_path(); + for(;;) + { + var_06 = undefined; + foreach(var_03 in var_00) + { + if(!isdefined(var_03.is_moving)) + { + var_06 = var_03; + break; + } + } + + if(isdefined(var_06)) + { + var_06 thread climb_scene_move_crate_on_path(self); + wait(randomfloatrange(var_01,var_01 + 2)); + continue; + } + + wait(0.05); + } +} + +//Function Number: 345 +climb_scene_preprocess_crate_path() +{ + if(isdefined(self.script_linkto)) + { + var_00 = getent(self.script_linkto,"script_linkname"); + if(isdefined(var_00) && var_00.classname == "trigger_multiple") + { + self.climb_trigger = var_00; + var_00 thread maps\_exo_climb::toggle_mount_mag_trigger_off(); + } + } + + if(isdefined(self.target)) + { + var_01 = common_scripts\utility::getstructarray(self.target,"targetname"); + foreach(var_03 in var_01) + { + var_03 climb_scene_preprocess_crate_path(); + } + + return; + } +} + +//Function Number: 346 +climb_scene_move_crate_on_path(param_00) +{ + self show(); + self.is_moving = 1; + soundscripts\_snd::snd_message("crate_path_start",self); + var_01 = param_00.origin; + var_02 = (0,0,0); + if(isdefined(param_00.angles)) + { + var_02 = param_00.angles; + } + + var_03 = param_00; + var_04 = undefined; + var_05 = 1; + for(;;) + { + if(isdefined(var_03.target)) + { + var_06 = common_scripts\utility::getstructarray(var_03.target,"targetname"); + var_07 = []; + if(isdefined(self.player_linked)) + { + foreach(param_00 in var_06) + { + if(isdefined(param_00.script_parameters) && param_00.script_parameters == "player_path") + { + var_07 = common_scripts\utility::array_add(var_07,param_00); + } + + if(isdefined(param_00.script_parameters) && param_00.script_parameters == "player_path_only") + { + var_07 = common_scripts\utility::array_add(var_07,param_00); + } + } + } + + foreach(param_00 in var_06) + { + if(isdefined(param_00.script_parameters) && param_00.script_parameters == "player_path_only") + { + var_06 = common_scripts\utility::array_remove(var_06,param_00); + } + } + + if(var_07.size != 0) + { + var_04 = var_07[randomint(var_07.size)]; + } + else + { + var_04 = var_06[randomint(var_06.size)]; + } + } + else + { + self hide(); + self.origin = var_01; + self.angles = var_02; + self.is_moving = undefined; + return; + } + + var_0C = 0; + var_0D = 0; + var_0E = 0; + var_0F = undefined; + if(isdefined(var_03.script_noteworthy)) + { + if(var_03.script_noteworthy == "crate_transfer_point") + { + var_0C = 0.2; + var_0E = 1; + } + + if(var_03.script_noteworthy == "crate_mount_point") + { + var_0C = 0.2; + var_0E = 4; + var_0F = var_03.climb_trigger; + var_0F thread maps\_exo_climb::toggle_mount_mag_trigger_on(self); + } + + if(var_03.script_noteworthy == "crate_mount_point_stop") + { + wait(0.1); + var_0F = var_03.climb_trigger; + var_0F thread maps\_exo_climb::toggle_mount_mag_trigger_on(self); + return; + } + + if(var_03.script_noteworthy == "crate_turn_right") + { + maps\_anim::anim_single_solo(self,"crate_corner_right"); + wait(0.1); + } + + if(var_03.script_noteworthy == "crate_turn_left") + { + maps\_anim::anim_single_solo(self,"crate_corner_left"); + wait(0.1); + } + } + + if(isdefined(var_03.script_delay)) + { + var_0E = var_03.script_delay; + } + + if(!var_05) + { + if(isdefined(var_0F)) + { + wait(var_0E - 1.5); + var_0F thread maps\_exo_climb::toggle_mount_mag_trigger_off(self,1.5); + wait(1.5); + wait(0.05); + } + else + { + wait(var_0E); + } + } + + if(var_05) + { + var_05 = 0; + } + + if(isdefined(var_04.script_noteworthy)) + { + if(var_04.script_noteworthy == "crate_transfer_point") + { + var_0D = 0.2; + } + + if(var_04.script_noteworthy == "crate_mount_point") + { + var_0D = 0.2; + } + } + + var_10 = maps\betrayal_util::mph_to_ups(12); + if(isdefined(var_03.speed)) + { + var_10 = var_03.speed; + } + + var_11 = distance(var_04.origin,self.origin); + var_12 = var_11 / var_10; + self moveto(var_04.origin,var_12,var_12 * var_0C,var_12 * var_0D); + if(isdefined(var_04.angles) && var_04.angles != self.angles) + { + thread climb_scene_rotate_crate_on_path(var_04.angles,var_12); + } + + wait(var_12); + var_03 = var_04; + } +} + +//Function Number: 347 +climb_scene_rotate_crate_on_path(param_00,param_01) +{ + var_02 = param_01 / 2; + var_03 = param_01 / 4; + wait(var_03); + self rotateto(param_00,var_02,var_02 / 5,var_02 / 5); +} + +//Function Number: 348 +climb_scene_start_crane() +{ + var_00 = maps\betrayal_util::get_ent_by_targetname("climb_crane_mover"); + var_01 = maps\betrayal_util::get_ent_by_targetname(var_00.target); + var_02 = maps\betrayal_util::get_ent_by_targetname(var_01.target); + var_00.pickup_goal_ang = var_01.angles; + var_01 delete(); + var_00.dropoff_goal_ang = var_02.angles; + var_02 delete(); + var_03 = maps\betrayal_util::get_ent_by_targetname("script_glass_shatter_node"); + var_03 linkto(var_00); + self waittill("trigger"); + var_03 thread climb_scene_crane_glass_break(); + var_00 rotateto(var_00.pickup_goal_ang,6,1,1); + var_04 = maps\betrayal_util::get_ent_by_targetname("trigger_crane_player_mount"); + var_05 = maps\betrayal_util::get_ent_by_targetname(var_04.target); + var_06 = maps\_shg_utility::hint_button_position("use",var_05.origin,undefined,200); + var_04 maps\_utility::addhinttrigger(&"EXOCLIMB_CLIMB_HINT",&"EXOCLIMB_CLIMB_HINT_PC"); + var_04 waittill("trigger"); + var_04 delete(); + common_scripts\utility::flag_set("flag_objective_climb_start_crane"); + var_06 maps\_shg_utility::hint_button_clear(); + level.player thread climb_scene_handle_crane_climb(var_00); + level waittill("climb_scene_start_crane_move"); + var_00 soundscripts\_snd::snd_message("reverse_mag_glove_crane_move"); + var_00 rotateto(var_00.dropoff_goal_ang,7,1,1); +} + +//Function Number: 349 +climb_scene_handle_crane_climb(param_00) +{ + var_01 = climb_scene_crane_mount(); + var_01 linkto(param_00); + level.climbing_crane_allow_input = 1; + var_01.start_moving = 0; + var_01 thread climb_scene_handle_crane_climb_movement_input(); + var_02 = "right"; + var_03 = 0; + var_01 thread maps\_anim::anim_loop_solo(var_01,var_02 + "_idle","stop_crane_idle"); + maps\_utility::hintdisplayhandler("player_moved_forward"); + for(;;) + { + if(var_03 > 11) + { + break; + } + + while(!var_01.start_moving) + { + wait(0.05); + } + + common_scripts\utility::flag_set("flag_climb_player_started_moving"); + if(var_02 == "left") + { + var_02 = "right"; + } + else + { + var_02 = "left"; + } + + var_01 thread climb_scene_crane_move(var_02); + var_03++; + if(var_03 == 1) + { + level notify("climb_scene_start_crane_move"); + } + + if(var_03 == 3) + { + common_scripts\utility::flag_set("flag_dialogue_crane_go"); + } + } + + level notify("crane_climb_dismount"); + climb_scene_crane_dismount_to_wall(var_01); +} + +//Function Number: 350 +climb_scene_crane_move(param_00) +{ + self notify("stop_crane_move"); + self endon("stop_crane_move"); + self notify("stop_crane_idle"); + level.climbing_crane_allow_input = undefined; + self.start_moving = 0; + maps\_anim::anim_single_solo(self,param_00 + "_move"); + thread maps\_anim::anim_loop_solo(self,param_00 + "_idle","stop_crane_idle"); +} + +//Function Number: 351 +climb_scene_crane_allow_input(param_00) +{ + level.climbing_crane_allow_input = 1; +} + +//Function Number: 352 +climb_scene_crane_move_rumble(param_00) +{ + level.player playrumbleonentity("damage_light"); +} + +//Function Number: 353 +climb_scene_crane_grab_rumble(param_00) +{ + level.player playrumbleonentity("damage_heavy"); +} + +//Function Number: 354 +climb_scene_crane_move_shake(param_00) +{ + level.player screenshakeonentity(4,2,0.5,0.5,0,0.25,128,10,5,5,2); +} + +//Function Number: 355 +climb_scene_crane_grab_shake(param_00) +{ + level.player screenshakeonentity(12,6,2,0.5,0,0.25,128,10,5,5,2); +} + +//Function Number: 356 +climb_scene_handle_crane_climb_movement_input() +{ + level endon("crane_climb_dismount"); + for(;;) + { + var_00 = level.player getnormalizedmovement(); + if(length2d(var_00) <= 0.15) + { + self.start_moving = 0; + } + else + { + var_01 = angleclamp360(var_00[0],var_00[1]); + if(var_01 < 135 && var_01 > 45 && isdefined(level.climbing_crane_allow_input)) + { + self.start_moving = 1; + } + else + { + self.start_moving = 0; + } + } + + wait(0.05); + } +} + +//Function Number: 357 +climb_scene_crane_mount() +{ + maps\_player_exo::player_exo_deactivate(); + var_00 = maps\_utility::spawn_anim_model("player_rig_grapple",level.player.origin,level.player.angles); + var_00 hide(); + common_scripts\utility::array_thread(getaiarray("axis"),::maps\betrayal_util::delete_ai); + var_01 = maps\betrayal_util::get_ent_by_targetname("animorg_construction_outro"); + level.player maps\_shg_utility::setup_player_for_scene(); + var_02 = 0.5; + level.player enableslowaim(0.5,0.3); + level.player playerlinktoblend(var_00,"tag_player",var_02); + level.player common_scripts\utility::delaycall(var_02,::playerlinktodelta,var_00,"tag_player",0.75,0,0,0,0,1); + level.player common_scripts\utility::delaycall(var_02 + 0.1,::lerpviewangleclamp,0.5,0,0,15,15,10,36); + var_00 common_scripts\utility::delaycall(var_02,::show); + level notify("flag_dialogue_climb_crane_nag_stop"); + common_scripts\utility::delay_script_call(2,::common_scripts\utility::flag_set,"flag_dialogue_crane_start"); + var_01 maps\_anim::anim_single_solo(var_00,"crane_mount"); + return var_00; +} + +//Function Number: 358 +climb_scene_crane_dismount_to_wall(param_00) +{ + var_01 = maps\betrayal_util::get_ent_by_targetname("origin_button_crane_dismount"); + var_02 = maps\_shg_utility::hint_button_position("jump",var_01.origin,500,600); + common_scripts\utility::flag_set("flag_dialogue_crane_jump"); + while(!level.player jumpbuttonpressed()) + { + wait(0.05); + } + + var_02 maps\_shg_utility::hint_button_clear(); + var_03 = maps\betrayal_util::get_ent_by_targetname("animorg_construction_outro"); + param_00 notify("stop_crane_idle"); + param_00 notify("stop_crane_move"); + param_00 maps\_utility::anim_stopanimscripted(); + level.player lerpviewangleclamp(1,0,0,15,15,10,6); + common_scripts\utility::delay_script_call(3,::common_scripts\utility::flag_set,"flag_dialogue_crane_slide"); + var_03 maps\_anim::anim_single_solo(param_00,"crane_to_final"); + climb_scene_finale(param_00); +} + +//Function Number: 359 +climb_scene_crane_glass_break() +{ + wait(3); + for(var_00 = 0;var_00 < 8;var_00++) + { + glassradiusdamage(self.origin,200,50,50); + wait(0.5); + } + + level waittill("climb_scene_start_crane_move"); + for(var_00 = 0;var_00 < 8;var_00++) + { + glassradiusdamage(self.origin,200,50,50); + wait(0.5); + } + + self delete(); +} + +//Function Number: 360 +climb_scene_finale(param_00) +{ + soundscripts\_snd::snd_music_message("climb_scene_finale"); + maps\_player_exo::player_exo_deactivate(); + climb_scene_cleanup(); + common_scripts\utility::flag_set("flag_climb_player_at_finale"); + common_scripts\utility::flag_set("flag_objective_climb_complete"); + if(!isdefined(param_00)) + { + param_00 = maps\_utility::spawn_anim_model("player_rig_grapple",level.player.origin,level.player.angles); + level.player playerlinktodelta(param_00,"tag_player",0.75,15,15,10,15); + level.player maps\_shg_utility::setup_player_for_scene(); + } + + var_01 = climb_scene_finale_setup_anim_ents(); + var_01 = common_scripts\utility::array_add(var_01,param_00); + var_02 = maps\betrayal_util::get_ent_by_targetname("animorg_construction_outro"); + thread maps\betrayal_lighting::setup_lighting_finale_start(var_01); + level.player enableslowaim(); + level.player lerpfov(50,2); + var_02 maps\_anim::anim_single(var_01,"finale_scene"); +} + +//Function Number: 361 +climb_scne_finale_hide_body(param_00) +{ + param_00 hide(); +} + +//Function Number: 362 +climb_scne_finale_fade_out(param_00) +{ + maps\_utility::nextmission(); +} + +//Function Number: 363 +climb_scene_finale_setup_anim_ents() +{ + var_00 = []; + var_01 = climb_scene_finale_setup_people_ents(); + var_00 = common_scripts\utility::array_combine(var_00,var_01); + var_01 = climb_scene_finale_setup_vehicle_ents(); + var_00 = common_scripts\utility::array_combine(var_00,var_01); + var_02 = maps\_utility::spawn_anim_model("finale_crate_ext",var_00[1].origin,var_00[1].angles); + var_03 = maps\_utility::spawn_anim_model("finale_crate_int",var_00[1].origin,var_00[1].angles); + var_00[var_00.size] = var_02; + var_00[var_00.size] = var_03; + return var_00; +} + +//Function Number: 364 +climb_scene_finale_setup_people_ents() +{ + var_00 = []; + var_00[0] = level.ilana; + var_00[0] maps\betrayal_util::remove_display_name(); + var_00[1] = maps\betrayal_util::spawn_ai_from_targetname_single("spawner_climb_finale_cormack",1,0); + var_00[1].animname = "cormack"; + var_00[1] maps\betrayal_anim::assign_cloak_model("body_hero_cormack_sentinel_covert_cloak"); + var_00[1] thread maps\betrayal_anim::cloak_on(); + var_00[1] maps\betrayal_util::remove_display_name(); + var_00[2] = maps\betrayal_util::spawn_ai_from_targetname_single("spawner_climb_finale_gideon",1,0); + var_00[2].animname = "gideon"; + var_00[2] maps\betrayal_util::remove_display_name(); + var_00[3] = maps\betrayal_util::spawn_ai_from_targetname_single("spawner_climb_finale_joker",1,0); + var_00[3].animname = "joker"; + var_00[3] maps\betrayal_util::remove_display_name(); + var_00[4] = maps\betrayal_util::spawn_ai_from_targetname_single("spawner_climb_finale_sentinel1",1,0); + var_00[4].animname = "sentinel1"; + var_00[4] maps\betrayal_anim::assign_cloak_model("sentinel_covert_body_a"); + var_00[4] maps\_utility::place_weapon_on("iw5_bal27_sp_opticsacog2_silencer01","right"); + var_00[4] thread maps\betrayal_anim::cloak_on(); + var_00[4] maps\betrayal_util::remove_display_name(); + var_00[5] = maps\betrayal_util::spawn_ai_from_targetname_single("spawner_climb_finale_sentinel2",1,0); + var_00[5].animname = "sentinel2"; + var_00[5] maps\betrayal_anim::assign_cloak_model("sentinel_covert_body_a"); + var_00[5] maps\_utility::place_weapon_on("iw5_hbra3_sp_silencer01","right"); + var_00[5] thread maps\betrayal_anim::cloak_on(); + var_00[5] maps\betrayal_util::remove_display_name(); + return var_00; +} + +//Function Number: 365 +climb_scene_finale_setup_vehicle_ents() +{ + var_00 = []; + var_00[0] = maps\_vehicle::spawn_vehicle_from_targetname("spawner_climb_finale_warbird"); + var_00[0] soundscripts\_snd::snd_message("spawn_ending_pcap_warbird"); + var_00[0].ignoreall = 1; + var_00[0].animname = "warbird"; + var_00[0] useanimtree(#animtree); + return var_00; +} + +//Function Number: 366 +climb_scene_finale_setup_player_ents() +{ + var_00 = []; + level.player_rig = maps\_utility::spawn_anim_model("player_rig"); + level.player_rig hide(); + var_00[0] = level.player_rig; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/maps/betrayal_fx.gsc b/AW/PC/maps/betrayal_fx.gsc new file mode 100644 index 0000000..d88c730 --- /dev/null +++ b/AW/PC/maps/betrayal_fx.gsc @@ -0,0 +1,908 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: betrayal_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 55 + * Decompile Time: 824 ms + * Timestamp: 4/22/2024 2:25:35 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + precachefx(); + maps\createfx\betrayal_fx::main(); + maps\_shg_fx::setup_shg_fx(); + common_scripts\utility::flag_init("fx_setup_tree_birds"); + common_scripts\utility::flag_init("fx_tree_birds_flee"); + common_scripts\utility::flag_init("explode_flash"); + common_scripts\utility::flag_init("vfx_pipe_burst"); + common_scripts\utility::flag_init("kill_blood_fx"); + common_scripts\utility::flag_init("fx_roof_drones"); + common_scripts\utility::flag_init("kill_underwater_fx"); + common_scripts\utility::flag_init("bullet_trails_01"); + common_scripts\utility::flag_init("bullet_trails_02"); + common_scripts\utility::flag_init("bullet_trails_03"); + common_scripts\utility::flag_init("bullet_trails_04"); + common_scripts\utility::flag_init("bullet_trails_05"); + common_scripts\utility::flag_init("bullet_trails_06"); + common_scripts\utility::flag_init("bullet_trails_07"); + common_scripts\utility::flag_init("fx_shadow_birds"); + common_scripts\utility::flag_init("fx_window_birds_flee"); + thread maps\_shg_fx::fx_zone_watcher(1000,"msg_vfx_zone_1000_building_lobby","msg_vfx_zone_1000_roof_to_courtyard"); + thread maps\_shg_fx::fx_zone_watcher(1100,"msg_vfx_zone_1100_building_stairwell"); + thread maps\_shg_fx::fx_zone_watcher(2000,"msg_vfx_zone_2000_building_confrontation"); + thread maps\_shg_fx::fx_zone_watcher(3000,"msg_vfx_zone_3000_building_roof"); + thread maps\_shg_fx::fx_zone_watcher(4000,"msg_vfx_zone_4000_escape_slide","msg_vfx_zone_4000_escape_swim"); + thread maps\_shg_fx::fx_zone_watcher(4050,"msg_fx_zone_4050_sewer_transition_exit"); + thread maps\_shg_fx::fx_zone_watcher(5000,"msg_vfx_zone_5000_old_town_freerun"); + thread maps\_shg_fx::fx_zone_watcher(5100,"msg_vfx_zone_5100_old_town_drone_run"); + thread maps\_shg_fx::fx_zone_watcher(5200,"msg_vfx_zone_5200_old_town_docks"); + thread maps\_shg_fx::fx_zone_watcher(6000,"msg_vfx_zone_6000_boat_chase_start"); + thread maps\_shg_fx::fx_zone_watcher(6100,"msg_vfx_zone_6100_boat_chase_jump"); + thread maps\_shg_fx::fx_zone_watcher(6200,"msg_vfx_zone_6200_boat_chase_after_jump"); + thread maps\_shg_fx::fx_zone_watcher(7000,"msg_vfx_zone_7000_climb_floor1"); + thread maps\_shg_fx::fx_zone_watcher(7100,"msg_vfx_zone_7100_climb_floor2"); + thread maps\_shg_fx::fx_zone_watcher(7200,"msg_vfx_zone_7200_climb_finale"); + thread intro_birds(); + thread escape_hallway_steam(); + thread canal_underwater_bullet_trails(); + thread bird_shadow_after_sewer(); + thread birds_after_sewer(); +} + +//Function Number: 2 +precachefx() +{ + level._effect["fire_lp_smk_s"] = loadfx("vfx/fire/fire_lp_smk_s"); + level._effect["leaves_small_fall_gentlewind"] = loadfx("vfx/wind/leaves_small_fall_gentlewind_far"); + level._effect["paper_scrap_windblown_runner_light_slw"] = loadfx("vfx/wind/paper_scrap_windblown_runner_light_slw"); + level._effect["dust_wind_blowing_ledge_rnr"] = loadfx("vfx/dust/dust_wind_blowing_ledge_rnr"); + level._effect["dust_wind_blowing_window_rnr"] = loadfx("vfx/dust/dust_wind_blowing_window_rnr"); + level._effect["dust_wind_blowing_fast_rnr"] = loadfx("vfx/dust/dust_wind_blowing_fast_rnr"); + level._effect["boat_explosion"] = loadfx("vfx/explosion/vehicle_civ_boat_explosion"); + level._effect["vehicle_boat_explo_underwater"] = loadfx("vfx/explosion/vehicle_boat_explosion_underwater"); + level._effect["boat_explosion_underwater"] = loadfx("vfx/explosion/ambient_explosion_underwater"); + level._effect["flashbang_no_model"] = loadfx("vfx/explosion/flashbang_no_model"); + level._effect["bet_irons_pistol_flash"] = loadfx("vfx/map/betrayal/bet_irons_pistol_flash"); + level._effect["bet_con_gun_shot_blood"] = loadfx("vfx/map/betrayal/bet_con_gun_shot_blood"); + level._effect["blood_drip_impact_med_oriented"] = loadfx("vfx/blood/blood_drip_impact_med_oriented"); + level._effect["blood_floor_impact_lrg_oriented"] = loadfx("vfx/blood/blood_floor_impact_lrg_oriented"); + level._effect["windows_hazy"] = loadfx("vfx/map/betrayal/windows_hazy"); + level._effect["low_dust_ambient_lp"] = loadfx("vfx/dust/low_dust_ambient_lp"); + level._effect["heat_distortion_l"] = loadfx("vfx/distortion/heat_distortion_l"); + level._effect["trash_tornado_s_runner"] = loadfx("vfx/wind/trash_tornado_s_runner"); + level._effect["dust_particles_sml"] = loadfx("vfx/dust/dust_particles_sml"); + level._effect["amb_dust_indoor_slw_light_lp"] = loadfx("vfx/dust/amb_dust_indoor_slw_light_lp"); + level._effect["amb_dust_indoor_slw_lp"] = loadfx("vfx/dust/amb_dust_indoor_slw_lp"); + level._effect["low_dust_wave"] = loadfx("vfx/dust/dust_low_wave_freq_runner"); + level._effect["lag_fence_dust_falling"] = loadfx("vfx/map/lagos/lag_fence_dust_falling_rotate"); + level._effect["dust_boat_impact_ground_underwater"] = loadfx("vfx/dust/dust_boat_impact_ground_underwater"); + level._effect["steam_vent_burst_lp"] = loadfx("vfx/steam/steam_vent_burst_lrg_01_lp"); + level._effect["leaves_floating_water"] = loadfx("vfx/water/leaves_floating_water"); + level._effect["fog_ambient_low"] = loadfx("vfx/fog/fog_ambient_low"); + level._effect["bet_gideon_scanner_beam"] = loadfx("vfx/map/betrayal/bet_gideon_scanner_beam"); + level._effect["bet_steam_vent_burst_spray"] = loadfx("vfx/map/betrayal/bet_steam_vent_burst_spray"); + level._effect["smk_burst_door_shut"] = loadfx("vfx/smoke/smk_burst_door_shut"); + level._effect["fog_ambient_directional"] = loadfx("vfx/fog/fog_ambient_directional"); + level._effect["fog_drone_swarm_kickup"] = loadfx("vfx/fog/fog_drone_swarm_kickup"); + level._effect["civ_group_idle_runner_light"] = loadfx("vfx/unique/civ_group_idle_runner_light"); + level._effect["civ_group_walk_rt_runner"] = loadfx("vfx/unique/civ_group_walk_rt_runner"); + level._effect["civ_group_walk_lt_runner"] = loadfx("vfx/unique/civ_group_walk_lt_runner"); + level._effect["low_dust_ambient_far_lp"] = loadfx("vfx/dust/low_dust_ambient_far_lp"); + level._effect["bet_dock_collapse_dust"] = loadfx("vfx/map/betrayal/bet_dock_collapse_dust"); + level._effect["bet_shallow_debris_physics"] = loadfx("vfx/map/betrayal/bet_shallow_debris_physics"); + level._effect["bet_scrambler_blinking_light"] = loadfx("vfx/map/betrayal/bet_scrambler_blinking_light"); + level._effect["screen_fx_plunge"] = loadfx("vfx/water/screen_fx_plunge"); + level._effect["screen_fx_emerge"] = loadfx("vfx/water/screen_fx_emerge"); + level._effect["screen_distort_splash_diveboat_crash"] = loadfx("vfx/distortion/screen_distort_splash_diveboat_crash"); + level._effect["glass_slam_body"] = loadfx("vfx/glass/glass_slam_body"); + level._effect["glass_throw"] = loadfx("vfx/glass/glass_throw"); + level._effect["glass_falling_m_runner"] = loadfx("vfx/glass/glass_falling_m_runner"); + level._effect["fx_sunflare_lsr2"] = loadfx("vfx/lensflare/betrayal/fx_sunflare_lsr2"); + level._effect["underwater_godray_beams_1"] = loadfx("vfx/map/betrayal/underwater_godray_beams_1"); + level._effect["caustic_b_pa"] = loadfx("vfx/caustic/caustic_b_pa"); + level._effect["caustic_b_small_pa"] = loadfx("vfx/caustic/caustic_b_small_pa"); + level._effect["caustic_c_pa"] = loadfx("vfx/caustic/caustic_c_pa"); + level._effect["water_splash_medium"] = loadfx("vfx/water/water_splash_medium"); + level._effect["bubble_geotrail_thick_xsml"] = loadfx("vfx/water/bubble_geotrail_thick_xsml"); + level._effect["bubble_trail_runner_cheap_lp"] = loadfx("vfx/water/bubble_trail_runner_cheap_lp"); + level._effect["water_splashes_radial_xsml"] = loadfx("vfx/water/water_splashes_radial_xsml"); + level._effect["bet_boat_bubble_trail"] = loadfx("vfx/map/betrayal/bet_boat_bubble_trail"); + level._effect["boat_sink_splashes"] = loadfx("vfx/water/water_boat_sink_splashes"); + level._effect["underwater_bubbles_canal"] = loadfx("vfx/map/betrayal/underwater_bubbles_canal"); + level._effect["underwater_bubbles_canal_fewer"] = loadfx("vfx/map/betrayal/underwater_bubbles_canal_fewer"); + level._effect["trash_underwater_current_rnr_lp"] = loadfx("vfx/water/trash_underwater_current_rnr_lp"); + level._effect["boat_edge_foam_sml"] = loadfx("vfx/water/boat_edge_foam_sml"); + level._effect["boat_edge_foam_lrg"] = loadfx("vfx/water/boat_edge_foam_lrg"); + level._effect["waterfall_edge_splatter_sml"] = loadfx("vfx/water/waterfall_edge_splatter_sml"); + level._effect["boat_wake_speedboat_front_splash_vm_fast"] = loadfx("vfx/water/boat_wake_speedboat_front_splash_vm_fast"); + level._effect["boat_wake_speedboat_front_splash_vm_slow"] = loadfx("vfx/water/boat_wake_speedboat_front_splash_vm_slow"); + level._effect["diveboat_front_splash_vm_submerge"] = loadfx("vfx/water/diveboat_front_splash_vm_submerge"); + level._effect["diveboat_front_splash_vm_emerge"] = loadfx("vfx/water/diveboat_front_splash_vm_emerge"); + level._effect["distortion_vm_transition_fast"] = loadfx("vfx/distortion/distortion_vm_transition_fast"); + level._effect["falling_water_drip_runner_fast"] = loadfx("vfx/water/falling_water_drip_runner_fast"); + level._effect["water_edge_splashes_rnr"] = loadfx("vfx/water/water_edge_splashes_rnr"); + level._effect["bubble_trail_lite_single_02"] = loadfx("vfx/water/bubble_trail_lite_single_02"); + level._effect["underwater_particulates_river_sml"] = loadfx("vfx/map/betrayal/underwater_particulates_river_sml"); + level._effect["underwater_bullet_trail_long"] = loadfx("vfx/water/underwater_bullet_trail_long"); + level._effect["underwater_bubbles_canal_sml"] = loadfx("vfx/map/betrayal/underwater_bubbles_canal_sml"); + level._effect["bet_boat_collision_building_after"] = loadfx("vfx/map/betrayal/bet_boat_collision_building_after"); + level._effect["bet_boat_collision_building_after_dripping"] = loadfx("vfx/map/betrayal/bet_boat_collision_building_after_drip"); + level._effect["bet_boat_collision_building_before"] = loadfx("vfx/map/betrayal/bet_boat_collision_building_before"); + level._effect["electrical_sparks_runner"] = loadfx("vfx/map/betrayal/bet_electrical_sparks_runner"); + level._effect["bet_crash_water_impact"] = loadfx("vfx/map/betrayal/bet_crash_water_impact"); + level._effect["bet_plans_dust_landing"] = loadfx("vfx/map/betrayal/bet_plans_dust_landing"); + level._effect["bet_boat_collision_smoke_over_water"] = loadfx("vfx/map/betrayal/bet_boat_collision_smoke_over_water"); + level._effect["boat_wake_speedboat_main_foam"] = loadfx("vfx/treadfx/boat_wake_speedboat_main_foam"); + level._effect["boat_wake_speedboat_main_foam_taxi"] = loadfx("vfx/treadfx/boat_wake_speedboat_main_foam_taxi"); + level._effect["boat_wake_speedboat_front_splash_slow"] = loadfx("vfx/treadfx/boat_wake_speedboat_front_splash_slow"); + level._effect["boat_wake_speedboat_front_splash_fast"] = loadfx("vfx/treadfx/boat_wake_speedboat_front_splash_fast"); + level._effect["boat_wake_diveboat_splash_fast"] = loadfx("vfx/treadfx/boat_wake_diveboat_splash_fast"); + level._effect["boat_wake_diveboat_splash_slow"] = loadfx("vfx/treadfx/boat_wake_diveboat_splash_slow"); + level._effect["boat_wake_yacht_main_foam_far"] = loadfx("vfx/treadfx/boat_wake_yacht_main_foam_far"); + level._effect["boat_wake_speedboat_main_foam_taxi_far"] = loadfx("vfx/treadfx/boat_wake_speedboat_main_foam_taxi_far"); + level._effect["boat_wake_yacht_front_splash_slow_far"] = loadfx("vfx/treadfx/boat_wake_yacht_front_splash_slow_far"); + level._effect["boat_wake_yacht_front_splash_fast_far"] = loadfx("vfx/treadfx/boat_wake_yacht_front_splash_fast_far"); + level._effect["light_ramp_godray_hazy_1_angled"] = loadfx("vfx/lights/lagos/light_ramp_godray_hazy_1_angled"); + level._effect["light_godray_hazy_betrayal"] = loadfx("vfx/lights/light_godray_hazy_betrayal"); + level._effect["light_godray_water_betrayal"] = loadfx("vfx/lights/light_godray_water_betrayal"); + level._effect["btr_emergency_light_pulse"] = loadfx("vfx/map/betrayal/btr_emergency_light_pulse"); + level._effect["btr_emergency_spritelight_pulse"] = loadfx("vfx/map/betrayal/btr_emergency_spritelight_pulse"); + level._effect["btr_emergency_nolight_pulse"] = loadfx("vfx/map/betrayal/btr_emergency_nolight_pulse"); + level._effect["bet_led_red_pulse"] = loadfx("vfx/map/betrayal/bet_led_red_pulse"); + level._effect["btr_confrontation_fill_light"] = loadfx("vfx/map/betrayal/btr_confrontation_fill_light"); + level._effect["btr_finale_fill_light"] = loadfx("vfx/map/betrayal/btr_finale_fill_light"); + level._effect["godray_ambient_outdoors_large"] = loadfx("vfx/map/greece/godray_ambient_outdoors_large"); + level._effect["godray_ambient_outdoors_med"] = loadfx("vfx/map/greece/godray_ambient_outdoors_med"); + level._effect["betrayal_steam_fill_utility_room"] = loadfx("vfx/steam/betrayal/betrayal_steam_fill_utility_room"); + level._effect["betrayal_overhead_fluor_steam_light"] = loadfx("vfx/lights/betrayal/betrayal_overhead_fluor_steam_light"); + level._effect["betrayal_overhead_fluor_steam_lighter"] = loadfx("vfx/lights/betrayal/betrayal_ovrhd_fluor_steam_lighter"); + level._effect["betrayal_overhead_spot_steam_light"] = loadfx("vfx/lights/betrayal/betrayal_overhead_spot_steam_light"); + level._effect["betrayal_overhead_point_steam_light"] = loadfx("vfx/lights/betrayal/betrayal_overhead_point_steam_light"); + level._effect["betrayal_emergency_backup_light_godray"] = loadfx("vfx/lights/betrayal/betrayal_emrgncy_bckup_light_godray"); + level._effect["betrayal_godray_beams_canal_1"] = loadfx("vfx/map/betrayal/betrayal_godray_beams_canal_1"); + level._effect["bet_gideon_scanner_beam_light"] = loadfx("vfx/map/betrayal/bet_gideon_scanner_beam_light"); + level._effect["bet_confrontation_screen_glows"] = loadfx("vfx/map/betrayal/bet_confrontation_screen_glows"); + level._effect["pigeon_fly_off"] = loadfx("vfx/map/betrayal/pigeon_fly_off"); + level._effect["bird_seagull_flock_large_group_loop"] = loadfx("vfx/animal/bird_seagull_flock_large_group_loop"); + level._effect["bird_vulture_circle_a_loop"] = loadfx("vfx/animal/bird_vulture_circle_a_loop"); + level._effect["bird_seagull_flock_flying_runner"] = loadfx("vfx/animal/bird_seagull_flock_flying_runner"); + level._effect["insects_flies_landing"] = loadfx("vfx/animal/insects_flies_landing"); + level._effect["pigeon_rand_idle_single"] = loadfx("vfx/animal/pigeon_rand_idle_single"); + level._effect["pigeon_fly_off_pos_y_runner"] = loadfx("vfx/animal/pigeon_fly_off_pos_y_runner"); + level._effect["bet_water_explosion_single"] = loadfx("vfx/map/betrayal/bet_water_explosion_single"); + level._effect["bullet_drop"] = loadfx("vfx/shelleject/exo_armor_minigun_shell_wv"); + level._effect["concrete_falling_over_water_lp"] = loadfx("vfx/rock/concrete_falling_over_water_lp"); + level._effect["concrete_falling_l_runner_b"] = loadfx("vfx/rock/concrete_falling_l_runner_b"); + level._effect["exo_r_glove_on"] = loadfx("vfx/ui/exo_r_gloves_engage"); + level._effect["exo_l_glove_on"] = loadfx("vfx/ui/exo_l_gloves_engage"); + level._effect["exo_r_glove_off"] = loadfx("vfx/ui/exo_r_gloves_disengage"); + level._effect["exo_l_glove_off"] = loadfx("vfx/ui/exo_l_gloves_disengage"); + level._effect["bet_dust_landing_hands"] = loadfx("vfx/map/betrayal/bet_dust_landing_hands"); + level._effect["bet_round_dust_landing"] = loadfx("vfx/map/betrayal/bet_round_dust_landing"); + level._effect["bet_ilona_dust_landing"] = loadfx("vfx/map/betrayal/bet_ilona_dust_landing"); + level._effect["bet_dust_landing"] = loadfx("vfx/map/betrayal/bet_dust_landing"); + level._effect["dust_blowing_ground_slow_light_lp"] = loadfx("vfx/dust/dust_blowing_ground_slow_light_lp"); + level._effect["dust_warbird_blowing_fast_thick_lp"] = loadfx("vfx/dust/dust_warbird_blowing_fast_thick_lp"); + level._effect["sparks_vm_lp_sml"] = loadfx("vfx/sparks/sparks_vm_lp_sml"); + level._effect["swarm_death_explosion"] = loadfx("vfx/explosion/vehicle_pdrone_explosion"); + level._effect["fire_suppression_spray"] = loadfx("vfx/water/water_sprinkler_spray_ceiling_lp"); + level._effect["underwater_particulates_river"] = loadfx("vfx/map/betrayal/underwater_particulates_river"); + level._effect["hovertank_anti_pers_muzzle_flash_vm"] = loadfx("vfx/muzzleflash/hovertank_anti_pers_muzzle_flash_vm"); + level._effect["hovertank_anti_pers_trail_rocket_2"] = loadfx("vfx/trail/hovertank_anti_pers_trail_rocket_2"); + level._effect["drone_beacon_red"] = loadfx("vfx/lights/light_drone_beacon_red"); +} + +//Function Number: 3 +intro_birds() +{ + common_scripts\utility::flag_wait("fx_setup_tree_birds"); + maps\_shg_fx::setupledgefx("section_0"); + common_scripts\utility::flag_wait("fx_tree_birds_flee"); + maps\_shg_fx::swapfx("fx_tree_large_group","pigeon_fly_off_pos_y_runner",(0,0,0),0.1); +} + +//Function Number: 4 +treadfx_ai_boats_yacht_vista(param_00) +{ + param_00 thread ai_boat_water_foamfx("boat_wake_yacht_main_foam_far"); + param_00 ai_boat_bow_splash_fx("boat_wake_yacht_front_splash_fast_far","boat_wake_yacht_front_splash_slow_far",(0,0,0),(0,0,0)); +} + +//Function Number: 5 +treadfx_ai_boats_taxi_vista(param_00) +{ + param_00 thread ai_boat_water_foamfx("boat_wake_speedboat_main_foam_taxi_far"); + param_00 ai_boat_bow_splash_fx("boat_wake_yacht_front_splash_fast_far","boat_wake_yacht_front_splash_slow_far",(-75,0,0),(0,0,0)); +} + +//Function Number: 6 +gideon_arm_scan(param_00) +{ + common_scripts\_exploder::exploder(2010); +} + +//Function Number: 7 +scrambler_light(param_00) +{ + wait(1); + common_scripts\_exploder::exploder(2102); +} + +//Function Number: 8 +scrambler_light_off(param_00) +{ + common_scripts\_exploder::kill_exploder(2102); +} + +//Function Number: 9 +confrontation_flashbang(param_00) +{ + common_scripts\_exploder::exploder(2008); +} + +//Function Number: 10 +confrontation_irons_gun_shot(param_00) +{ + playfxontag(common_scripts\utility::getfx("bet_irons_pistol_flash"),param_00,"tag_flash"); + soundscripts\_snd::snd_message("bet_holo_irons_shoot_pistol",param_00); + common_scripts\utility::flag_wait("kill_blood_fx"); + killfxontag(common_scripts\utility::getfx("bet_irons_pistol_flash"),param_00,"tag_flash"); +} + +//Function Number: 11 +confrontation_tech_blood(param_00) +{ + wait(0.25); + playfxontag(common_scripts\utility::getfx("bet_con_gun_shot_blood"),param_00,"j_head"); + wait(0.05); + common_scripts\_exploder::exploder(2009); + wait(0.05); + common_scripts\_exploder::exploder(2101); + common_scripts\utility::flag_wait("kill_blood_fx"); + killfxontag(common_scripts\utility::getfx("bet_con_gun_shot_blood"),param_00,"j_head"); +} + +//Function Number: 12 +confrontation_fx_cleanup() +{ + common_scripts\utility::flag_set("kill_blood_fx"); + common_scripts\_exploder::kill_exploder(2009); + common_scripts\_exploder::kill_exploder(2101); +} + +//Function Number: 13 +escape_sprinklers_on(param_00) +{ + wait(0.25); + common_scripts\_exploder::exploder(2001); + soundscripts\_snd::snd_message("bet_conf_sprinkler",2001); + wait(0.2); + common_scripts\_exploder::exploder(2012); + soundscripts\_snd::snd_message("bet_conf_sprinkler",2012); + wait(0.35); + common_scripts\_exploder::exploder(2013); + soundscripts\_snd::snd_message("bet_conf_sprinkler",2013); + wait(2.75); + common_scripts\_exploder::exploder(2015); + soundscripts\_snd::snd_message("bet_conf_sprinkler",2015); + wait(0.5); + common_scripts\_exploder::exploder(2014); + soundscripts\_snd::snd_message("bet_conf_sprinkler",2016); +} + +//Function Number: 14 +escape_hallway_steam() +{ + common_scripts\utility::flag_wait("vfx_pipe_burst"); + wait(0.1); + common_scripts\_exploder::exploder(2002); + soundscripts\_snd::snd_message("bet_conf_steam_lp",2002); + wait(0.15); + common_scripts\_exploder::exploder(2003); + soundscripts\_snd::snd_message("bet_conf_steam_lp",2003); + wait(0.3); + common_scripts\_exploder::exploder(2004); + soundscripts\_snd::snd_message("bet_conf_steam_lp",2004); + wait(0.5); + common_scripts\_exploder::exploder(2005); + soundscripts\_snd::snd_message("bet_conf_steam_lp",2005); + wait(0.2); + common_scripts\_exploder::exploder(2006); + soundscripts\_snd::snd_message("bet_conf_steam_lp",2006); + wait(0.45); + common_scripts\_exploder::exploder(2007); + soundscripts\_snd::snd_message("bet_conf_steam_lp",2007); +} + +//Function Number: 15 +escape_fire_door_slam_shut() +{ + common_scripts\_exploder::exploder(2020); +} + +//Function Number: 16 +escape_sprinklers_off() +{ + maps\_utility::stop_exploder(2001); + maps\_utility::stop_exploder(2002); + maps\_utility::stop_exploder(2003); + maps\_utility::stop_exploder(2004); + maps\_utility::stop_exploder(2005); + maps\_utility::stop_exploder(2006); + maps\_utility::stop_exploder(2007); +} + +//Function Number: 17 +escape_drone_door_open() +{ + common_scripts\_exploder::exploder(3002); +} + +//Function Number: 18 +pull_fence_dust(param_00) +{ + common_scripts\_exploder::exploder(3002); +} + +//Function Number: 19 +vm_glass_impact(param_00) +{ + wait(0.2); + common_scripts\_exploder::exploder(1003); +} + +//Function Number: 20 +vm_water_impact(param_00) +{ + common_scripts\_exploder::exploder(1002); + wait(0.2); + common_scripts\_exploder::exploder(1010); + wait(0.95); + common_scripts\_exploder::exploder(1004); + wait(0.65); + thread underwater_bullets(); + playfxontag(common_scripts\utility::getfx("screen_fx_plunge"),param_00,"tag_origin"); + playfxontag(common_scripts\utility::getfx("bubble_trail_runner_cheap_lp"),param_00,"J_Wrist_RI"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("bubble_trail_runner_cheap_lp"),param_00,"J_Wrist_LE"); + playfxontag(common_scripts\utility::getfx("bubble_trail_runner_cheap_lp"),param_00,"tag_origin"); +} + +//Function Number: 21 +ilana_glass_impact(param_00) +{ + common_scripts\_exploder::exploder(1005); + common_scripts\_exploder::exploder(1001); + playfxontag(common_scripts\utility::getfx("glass_slam_body"),param_00,"J_Hip_LE"); + wait(0.3); + common_scripts\_exploder::exploder(1006); + wait(0.2); + common_scripts\_exploder::exploder(1006); + wait(0.35); + common_scripts\_exploder::exploder(1006); +} + +//Function Number: 22 +ilana_water_impact(param_00) +{ + playfxontag(common_scripts\utility::getfx("bubble_trail_runner_cheap_lp"),param_00,"J_Ankle_RI"); + playfxontag(common_scripts\utility::getfx("bubble_trail_runner_cheap_lp"),param_00,"J_Ankle_LE"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("bubble_geotrail_thick_xsml"),param_00,"J_Wrist_RI"); + playfxontag(common_scripts\utility::getfx("bubble_geotrail_thick_xsml"),param_00,"J_Wrist_LE"); + level.ilana thread ilana_swimming_bubbles(); + wait(3); + stopfxontag(common_scripts\utility::getfx("bubble_trail_runner_cheap_lp"),param_00,"J_Ankle_RI"); + stopfxontag(common_scripts\utility::getfx("bubble_trail_runner_cheap_lp"),param_00,"J_Ankle_LE"); + wait(1.5); + stopfxontag(common_scripts\utility::getfx("bubble_geotrail_thick_xsml"),param_00,"J_Wrist_RI"); + stopfxontag(common_scripts\utility::getfx("bubble_geotrail_thick_xsml"),param_00,"J_Wrist_LE"); +} + +//Function Number: 23 +ilana_swimming_bubbles() +{ + wait(3.5); + playfxontag(common_scripts\utility::getfx("bubble_trail_lite_single_02"),self,"J_Head"); + wait(1); + playfxontag(common_scripts\utility::getfx("bubble_trail_lite_single_02"),self,"J_Head"); + wait(0.8); + playfxontag(common_scripts\utility::getfx("bubble_trail_lite_single_02"),self,"J_Head"); + wait(0.55); + playfxontag(common_scripts\utility::getfx("bubble_trail_lite_single_02"),self,"J_Head"); + wait(1.25); + playfxontag(common_scripts\utility::getfx("bubble_trail_lite_single_02"),self,"J_Head"); + wait(1.8); + playfxontag(common_scripts\utility::getfx("bubble_trail_lite_single_02"),self,"J_Head"); + wait(0.75); + playfxontag(common_scripts\utility::getfx("bubble_trail_lite_single_02"),self,"J_Head"); + wait(1); + playfxontag(common_scripts\utility::getfx("bubble_trail_lite_single_02"),self,"J_Head"); +} + +//Function Number: 24 +underwater_bullets(param_00) +{ + wait(0.75); + thread underwater_bullets_4100(); + wait(0.3); + thread underwater_bullets_4200(); + wait(0.45); + thread underwater_bullets_4300(); +} + +//Function Number: 25 +underwater_bullets_4100() +{ + var_00 = randomfloatrange(0.2,0.5); + common_scripts\_exploder::exploder(4101); + soundscripts\_snd::snd_message("bet_swim_bullet_trails",4101); + wait(var_00); + common_scripts\_exploder::exploder(4102); + soundscripts\_snd::snd_message("bet_swim_bullet_trails",4102); + wait(var_00); + common_scripts\_exploder::exploder(4103); + soundscripts\_snd::snd_message("bet_swim_bullet_trails",4103); + wait(var_00); + common_scripts\_exploder::exploder(4104); + soundscripts\_snd::snd_message("bet_swim_bullet_trails",4104); + wait(var_00); + common_scripts\_exploder::exploder(4105); + soundscripts\_snd::snd_message("bet_swim_bullet_trails",4105); + wait(var_00); + common_scripts\_exploder::exploder(4105); + soundscripts\_snd::snd_message("bet_swim_bullet_trails",4105); +} + +//Function Number: 26 +underwater_bullets_4200() +{ + var_00 = randomfloatrange(0.2,0.5); + common_scripts\_exploder::exploder(4201); + soundscripts\_snd::snd_message("bet_swim_bullet_trails",4201); + wait(var_00); + common_scripts\_exploder::exploder(4202); + soundscripts\_snd::snd_message("bet_swim_bullet_trails",4202); + wait(var_00); + common_scripts\_exploder::exploder(4203); + soundscripts\_snd::snd_message("bet_swim_bullet_trails",4203); + wait(var_00); + common_scripts\_exploder::exploder(4204); + soundscripts\_snd::snd_message("bet_swim_bullet_trails",4204); +} + +//Function Number: 27 +underwater_bullets_4300() +{ + var_00 = randomfloatrange(0.2,0.5); + common_scripts\_exploder::exploder(4300); + soundscripts\_snd::snd_message("bet_swim_bullet_trails",4300); + wait(var_00); + common_scripts\_exploder::exploder(4301); + soundscripts\_snd::snd_message("bet_swim_bullet_trails",4301); + wait(var_00); + common_scripts\_exploder::exploder(4302); + soundscripts\_snd::snd_message("bet_swim_bullet_trails",4302); + wait(var_00); + common_scripts\_exploder::exploder(4303); + soundscripts\_snd::snd_message("bet_swim_bullet_trails",4303); + wait(var_00); + common_scripts\_exploder::exploder(4304); + soundscripts\_snd::snd_message("bet_swim_bullet_trails",4304); +} + +//Function Number: 28 +canal_boat_explosion(param_00) +{ + if(isdefined(self.underwater) && self.underwater) + { + playfxontag(level._effect["vehicle_boat_explo_underwater"],param_00,"tag_origin"); + wait(5); + playfxontag(common_scripts\utility::getfx("bet_boat_bubble_trail"),param_00,"tag_origin"); + return; + } + + playfxontag(level._effect["boat_explosion"],param_00,"tag_origin"); + wait(0.25); + playfxontag(common_scripts\utility::getfx("boat_sink_splashes"),param_00,"tag_origin"); + wait(6); + playfxontag(common_scripts\utility::getfx("bet_boat_bubble_trail"),param_00,"tag_origin"); +} + +//Function Number: 29 +canal_boat_hit_bottom(param_00) +{ + playfxontag(common_scripts\utility::getfx("dust_boat_impact_ground_underwater"),param_00,"tag_origin"); + soundscripts\_snd::snd_message("bet_swim_boat_hit_bottom",param_00); +} + +//Function Number: 30 +canal_underwater_bullet_trails(param_00) +{ + param_00 = level.player; + var_01 = randomfloatrange(0.2,0.5); + common_scripts\utility::flag_wait("bullet_trails_01"); + if(isdefined(param_00.underwater) && param_00.underwater) + { + common_scripts\_exploder::exploder("bullet_trails_01a"); + soundscripts\_snd::snd_message("bet_swim_bullet_trails","bullet_trails_01a"); + wait(var_01); + common_scripts\_exploder::exploder("bullet_trails_01b"); + soundscripts\_snd::snd_message("bet_swim_bullet_trails","bullet_trails_01b"); + wait(var_01); + common_scripts\_exploder::exploder("bullet_trails_01c"); + soundscripts\_snd::snd_message("bet_swim_bullet_trails","bullet_trails_01c"); + wait(var_01); + common_scripts\_exploder::exploder("bullet_trails_01d"); + soundscripts\_snd::snd_message("bet_swim_bullet_trails","bullet_trails_01d"); + } + + common_scripts\utility::flag_wait("bullet_trails_02"); + if(isdefined(param_00.underwater) && param_00.underwater) + { + common_scripts\_exploder::exploder("bullet_trails_02a"); + soundscripts\_snd::snd_message("bet_swim_bullet_trails","bullet_trails_02a"); + wait(var_01); + common_scripts\_exploder::exploder("bullet_trails_02b"); + soundscripts\_snd::snd_message("bet_swim_bullet_trails","bullet_trails_02b"); + wait(var_01); + common_scripts\_exploder::exploder("bullet_trails_02c"); + soundscripts\_snd::snd_message("bet_swim_bullet_trails","bullet_trails_02c"); + } + + common_scripts\utility::flag_wait("bullet_trails_03"); + if(isdefined(param_00.underwater) && param_00.underwater) + { + common_scripts\_exploder::exploder("bullet_trails_03a"); + soundscripts\_snd::snd_message("bet_swim_bullet_trails","bullet_trails_03a"); + wait(var_01); + common_scripts\_exploder::exploder("bullet_trails_03b"); + soundscripts\_snd::snd_message("bet_swim_bullet_trails","bullet_trails_03b"); + wait(var_01); + common_scripts\_exploder::exploder("bullet_trails_03c"); + soundscripts\_snd::snd_message("bet_swim_bullet_trails","bullet_trails_03c"); + } + + common_scripts\utility::flag_wait("bullet_trails_04"); + if(isdefined(param_00.underwater) && param_00.underwater) + { + common_scripts\_exploder::exploder("bullet_trails_04a"); + soundscripts\_snd::snd_message("bet_swim_bullet_trails","bullet_trails_04a"); + wait(var_01); + common_scripts\_exploder::exploder("bullet_trails_04b"); + soundscripts\_snd::snd_message("bet_swim_bullet_trails","bullet_trails_04b"); + wait(var_01); + common_scripts\_exploder::exploder("bullet_trails_04c"); + soundscripts\_snd::snd_message("bet_swim_bullet_trails","bullet_trails_04c"); + } + + common_scripts\utility::flag_wait("bullet_trails_05"); + if(isdefined(param_00.underwater) && param_00.underwater) + { + wait(var_01); + common_scripts\_exploder::exploder("bullet_trails_05a"); + soundscripts\_snd::snd_message("bet_swim_bullet_trails","bullet_trails_05a"); + wait(var_01); + common_scripts\_exploder::exploder("bullet_trails_05b"); + soundscripts\_snd::snd_message("bet_swim_bullet_trails","bullet_trails_05b"); + } + + common_scripts\utility::flag_wait("bullet_trails_06"); + if(isdefined(param_00.underwater) && param_00.underwater) + { + common_scripts\_exploder::exploder("bullet_trails_06a"); + soundscripts\_snd::snd_message("bet_swim_bullet_trails","bullet_trails_06a"); + wait(var_01); + common_scripts\_exploder::exploder("bullet_trails_06b"); + soundscripts\_snd::snd_message("bet_swim_bullet_trails","bullet_trails_06b"); + wait(var_01); + common_scripts\_exploder::exploder("bullet_trails_06c"); + soundscripts\_snd::snd_message("bet_swim_bullet_trails","bullet_trails_06c"); + } + + common_scripts\utility::flag_wait("bullet_trails_07"); + if(isdefined(param_00.underwater) && param_00.underwater) + { + common_scripts\_exploder::exploder("bullet_trails_07a"); + soundscripts\_snd::snd_message("bet_swim_bullet_trails","bullet_trails_07a"); + wait(var_01); + common_scripts\_exploder::exploder("bullet_trails_07b"); + soundscripts\_snd::snd_message("bet_swim_bullet_trails","bullet_trails_07b"); + wait(var_01); + common_scripts\_exploder::exploder("bullet_trails_07c"); + soundscripts\_snd::snd_message("bet_swim_bullet_trails","bullet_trails_07c"); + } +} + +//Function Number: 31 +canal_dock_destroy() +{ + common_scripts\_exploder::exploder(4020); + soundscripts\_snd::snd_message("bet_swim_dock_explode",4020); +} + +//Function Number: 32 +birds_after_sewer() +{ + common_scripts\utility::flag_wait("fx_shadow_birds"); + maps\_shg_fx::setupledgefx("section_1"); + common_scripts\utility::flag_wait("fx_window_birds_flee"); + maps\_shg_fx::swapfx("fx_wire_large_group","pigeon_fly_off_pos_y_runner",(0,0,0),0.1); +} + +//Function Number: 33 +bird_shadow_after_sewer() +{ + common_scripts\utility::flag_wait("fx_shadow_birds"); + common_scripts\_exploder::exploder(5001); +} + +//Function Number: 34 +vm_boat_wake() +{ + level endon("flag_objective_boat_chase_complete"); + while(isdefined(self) && isalive(self)) + { + var_00 = self vehicle_getspeed(); + if(self vehicle_diveboatissubmerged()) + { + stopfxontag(common_scripts\utility::getfx("boat_wake_speedboat_front_splash_vm_fast"),self,"tag_fx_bow"); + stopfxontag(common_scripts\utility::getfx("boat_wake_speedboat_front_splash_vm_slow"),self,"tag_fx_bow"); + } + else if(var_00 > 35) + { + playfxontag(common_scripts\utility::getfx("boat_wake_speedboat_front_splash_vm_fast"),self,"tag_fx_bow"); + } + else if(var_00 <= 35 && var_00 >= 10) + { + playfxontag(common_scripts\utility::getfx("boat_wake_speedboat_front_splash_vm_slow"),self,"tag_fx_bow"); + } + else if(var_00 < 10) + { + } + + wait(0.3); + } +} + +//Function Number: 35 +vm_boat_submerge_fx() +{ + playfxontag(common_scripts\utility::getfx("diveboat_front_splash_vm_submerge"),self,"tag_fx_bow"); + wait 0.05; + stopfxontag(common_scripts\utility::getfx("diveboat_front_splash_vm_emerge"),self,"tag_fx_bow"); +} + +//Function Number: 36 +vm_boat_emerge_fx() +{ + killfxontag(common_scripts\utility::getfx("diveboat_front_splash_vm_submerge"),self,"tag_fx_bow"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("diveboat_front_splash_vm_emerge"),self,"tag_fx_bow"); +} + +//Function Number: 37 +boat_small_static_foam() +{ + wait(0.1); + playfxontag(common_scripts\utility::getfx("boat_edge_foam_sml"),self,"tag_origin"); +} + +//Function Number: 38 +boat_large_static_foam() +{ + wait(0.1); + playfxontag(common_scripts\utility::getfx("boat_edge_foam_lrg"),self,"tag_origin"); +} + +//Function Number: 39 +treadfx_ai_boats_yacht(param_00) +{ + param_00 thread ai_boat_water_foamfx("boat_wake_speedboat_main_foam"); + param_00 ai_boat_bow_splash_fx("boat_wake_speedboat_front_splash_fast","boat_wake_speedboat_front_splash_slow",(0,0,0),(0,0,0)); +} + +//Function Number: 40 +treadfx_ai_boats_taxi(param_00) +{ + param_00 thread ai_boat_water_foamfx("boat_wake_speedboat_main_foam_taxi"); + param_00 ai_boat_bow_splash_fx("boat_wake_speedboat_front_splash_fast","boat_wake_speedboat_front_splash_slow",(-75,0,0),(0,0,0)); +} + +//Function Number: 41 +ai_boat_water_foamfx(param_00) +{ + self endon("death"); + var_01 = bullettrace(self.origin + (0,0,500),self.origin + (0,0,-100),0,self,0,0,0,0,0); + if(isdefined(var_01["surfacetype"]) && issubstr(var_01["surfacetype"],"water")) + { + var_02 = var_01["position"]; + } + else + { + var_02 = self.origin; + } + + var_03 = common_scripts\utility::spawn_tag_origin(); + playfxontag(common_scripts\utility::getfx(param_00),var_03,"tag_origin"); + while(isalive(self) && isdefined(self)) + { + var_03.origin = (self.origin[0],self.origin[1],var_02[2]); + var_03.angles = (0,self.angles[1],0); + wait(0.05); + } + + stopfxontag(common_scripts\utility::getfx(param_00),var_03,"tag_origin"); + var_03 delete(); +} + +//Function Number: 42 +ai_boat_bow_splash_fx(param_00,param_01,param_02,param_03) +{ + self endon("death"); + var_04 = common_scripts\utility::spawn_tag_origin(); + var_04 linkto(self,"tag_origin",(0,0,0) + param_02,(0,0,0) + param_03); + while(isalive(self) && isdefined(self)) + { + var_05 = self vehicle_getspeed(); + if(var_05 > 10) + { + playfxontag(common_scripts\utility::getfx(param_00),var_04,"tag_origin"); + wait(0.45); + continue; + } + + if(var_05 <= 10 && var_05 >= 3) + { + playfxontag(common_scripts\utility::getfx(param_01),var_04,"tag_origin"); + wait(0.45); + continue; + } + + if(var_05 < 3) + { + wait(0.45); + } + } + + wait(0.1); + var_04 delete(); +} + +//Function Number: 43 +boat_scene_bridge_collapse() +{ + common_scripts\utility::run_thread_on_targetname("start_crash_effects",::vm_crash_transition); + common_scripts\_exploder::exploder("bridge_collapse"); + level waittill("boat_crash_end"); + common_scripts\_exploder::kill_exploder("bridge_collapse"); +} + +//Function Number: 44 +vm_crash_transition() +{ + self waittill("trigger"); + if(isdefined(level.player_boat)) + { + common_scripts\_exploder::exploder("splash_transition"); + playfxontag(common_scripts\utility::getfx("diveboat_front_splash_vm_emerge"),level.player_boat,"tag_fx_bow"); + thread quick_transition_flash(); + wait(0.3); + playfxontag(common_scripts\utility::getfx("screen_distort_splash_diveboat_crash"),level.player_boat,"tag_fx_bow"); + wait(2); + stopfxontag(common_scripts\utility::getfx("screen_distort_splash_diveboat_crash"),level.player_boat,"tag_fx_bow"); + } +} + +//Function Number: 45 +quick_transition_flash() +{ + var_00 = common_scripts\utility::spawn_tag_origin(); + var_00 linktoplayerview(level.player,"tag_origin",(10,0,0),(0,0,0),1); + wait 0.05; + playfxontag(common_scripts\utility::getfx("distortion_vm_transition_fast"),var_00,"tag_origin"); + wait(1.5); + var_00 delete(); +} + +//Function Number: 46 +vm_boat_crash_se_fx_start(param_00) +{ + level notify("stop_vm_boat_treadfx"); + wait(2.85); + common_scripts\_exploder::exploder("boat_crash"); + soundscripts\_snd::snd_message("bet_boat_crash_bldg_impact"); +} + +//Function Number: 47 +vm_boat_crash_se_whiteout(param_00) +{ + common_scripts\_exploder::exploder("boat_crash"); + wait(11); + common_scripts\_exploder::exploder("player_plant"); + wait(2); + common_scripts\_exploder::exploder("friendly_plant"); +} + +//Function Number: 48 +vfx_vm_land_crane_edge(param_00) +{ + thread rooftop_ambient_dust(); + wait(0.2); + playfxontag(common_scripts\utility::getfx("exo_l_glove_on"),param_00,"J_Wrist_LE"); + playfxontag(common_scripts\utility::getfx("exo_r_glove_on"),param_00,"J_Wrist_RI"); + wait(0.25); + common_scripts\_exploder::exploder("crane_wall_edge"); + wait(0.5); + playfxontag(common_scripts\utility::getfx("sparks_vm_lp_sml"),param_00,"j_ball_le"); + playfxontag(common_scripts\utility::getfx("sparks_vm_lp_sml"),param_00,"j_ball_ri"); + wait(1); + stopfxontag(common_scripts\utility::getfx("exo_l_glove_on"),param_00,"J_Wrist_LE"); + stopfxontag(common_scripts\utility::getfx("sparks_vm_lp_sml"),param_00,"j_ball_le"); + playfxontag(common_scripts\utility::getfx("exo_l_glove_off"),param_00,"J_Wrist_LE"); + wait(1); + playfxontag(common_scripts\utility::getfx("sparks_vm_lp_sml"),param_00,"j_ankle_le"); + playfxontag(common_scripts\utility::getfx("exo_r_glove_off"),param_00,"J_Wrist_RI"); + stopfxontag(common_scripts\utility::getfx("exo_r_glove_on"),param_00,"J_Wrist_RI"); + wait(1); + stopfxontag(common_scripts\utility::getfx("sparks_vm_lp_sml"),param_00,"j_ankle_le"); + stopfxontag(common_scripts\utility::getfx("sparks_vm_lp_sml"),param_00,"j_ball_ri"); + level waittill("kill_glove_effects"); + stopfxontag(common_scripts\utility::getfx("exo_r_glove_off"),param_00,"J_Wrist_RI"); + stopfxontag(common_scripts\utility::getfx("exo_l_glove_off"),param_00,"J_Wrist_LE"); +} + +//Function Number: 49 +vfx_vm_land_roof(param_00) +{ + common_scripts\_exploder::exploder("vm_dust_land"); + wait(2); + level notify("kill_glove_effects"); +} + +//Function Number: 50 +vfx_vm_land_roof_hands(param_00) +{ + common_scripts\_exploder::exploder("vm_lt_dust_hand_land"); +} + +//Function Number: 51 +vfx_ilana_land_roof(param_00) +{ + common_scripts\_exploder::exploder("ilona_landing_dust"); +} + +//Function Number: 52 +rooftop_ambient_dust() +{ + common_scripts\_exploder::exploder("rooftop_dust"); + level waittill("pause_slow_rooftop_dust"); + maps\_utility::pauseexploder("rooftop_dust"); + common_scripts\_exploder::exploder("warbird_kickup_dust"); + level waittill("start_rooftop_dust"); + maps\_utility::pauseexploder("warbird_kickup_dust"); + common_scripts\_exploder::exploder("rooftop_dust"); +} + +//Function Number: 53 +vfx_warbird_dust_roof(param_00) +{ + level notify("pause_slow_rooftop_dust"); +} + +//Function Number: 54 +vfx_joker_land_roof(param_00) +{ + common_scripts\_exploder::exploder("joker_dust_roof_land"); +} + +//Function Number: 55 +vfx_gideon_land_roof(param_00) +{ + common_scripts\_exploder::exploder("gideon_dust_roof_land"); + wait(5); + level notify("start_rooftop_dust"); +} \ No newline at end of file diff --git a/AW/PC/maps/betrayal_lighting.gsc b/AW/PC/maps/betrayal_lighting.gsc new file mode 100644 index 0000000..9d5a3f7 --- /dev/null +++ b/AW/PC/maps/betrayal_lighting.gsc @@ -0,0 +1,1565 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: betrayal_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 65 + * Decompile Time: 936 ms + * Timestamp: 4/22/2024 2:25:38 AM +*******************************************************************/ + +//Function Number: 1 +main2() +{ + thread set_level_lighting_values(); + thread setup_dof_presets(); + thread dof_triggers(); + thread setup_dof_viewmodel_presets(); + init_level_lighting_flags(); + thread setup_lighting_office_start(); + thread setup_lighting_basement_start(); + thread setup_lighting_confrontation_start(); + thread setup_lighting_escape_start(); + thread setup_lighting_roof_start(); + thread setup_lighting_swim_start(); + thread setup_lighting_sewer_start(); + thread setup_lighting_old_town_start(); + thread setup_lighting_boat_start(); + thread setup_lighting_boat_crash(); + thread setup_lighting_climb_start(); + thread setup_vfx_sunflare(); + setsaveddvar("r_disablelightsets",0); + thread lightset_triggers(); + setsaveddvar("r_chromaticAberrationTweaks",1); + setsaveddvar("r_chromaticAberration",1); + setsaveddvar("r_chromaticSeparationR",0.5); + setsaveddvar("r_chromaticSeparationG",-0.5); + setsaveddvar("r_chromaticSeparationB",0); + setsaveddvar("r_chromaticAberrationAlpha",0.5); + setsaveddvar("r_veilFallOffWeight1",(2,2,2)); + setsaveddvar("r_aoDiminish",0.3); + level.player_dof_aperture = 4; + thread autofocus_loop(); + thread riverbounce_hideents(); + thread lightbox_hideents(); + if(level.nextgen) + { + setsaveddvar("r_hemiAoEnable",1); + } +} + +//Function Number: 2 +init_level_lighting_flags() +{ + common_scripts\utility::flag_init("office_start_lighting"); + common_scripts\utility::flag_init("basement_start_lighting"); + common_scripts\utility::flag_init("hospital_start_lighting"); + common_scripts\utility::flag_init("confrontation_start_lighting"); + common_scripts\utility::flag_init("confrontation2_start_lighting"); + common_scripts\utility::flag_init("escape_lighting"); + common_scripts\utility::flag_init("escape_start_lighting"); + common_scripts\utility::flag_init("jail_start_lighting"); + common_scripts\utility::flag_init("holding_start_lighting"); + common_scripts\utility::flag_init("garage_start_lighting"); + common_scripts\utility::flag_init("office_chase_start_lighting"); + common_scripts\utility::flag_init("roof_start_lighting"); + common_scripts\utility::flag_init("swim_start_lighting"); + common_scripts\utility::flag_init("sewer_start_lighting"); + common_scripts\utility::flag_init("oldtown_start_lighting"); + common_scripts\utility::flag_init("checkpoint_start_lighting"); + common_scripts\utility::flag_init("crossing_start_lighting"); + common_scripts\utility::flag_init("cafe_start_lighting"); + common_scripts\utility::flag_init("mall_start_lighting"); + common_scripts\utility::flag_init("boat_start_lighting"); + common_scripts\utility::flag_init("boat_crash_lighting"); + common_scripts\utility::flag_init("subway_start_lighting"); + common_scripts\utility::flag_init("gunfight_start_lighting"); + common_scripts\utility::flag_init("gunfight2_start_lighting"); + common_scripts\utility::flag_init("climb_start_lighting"); +} + +//Function Number: 3 +set_level_lighting_values() +{ + setsaveddvar("r_disablelightsets",0); + if(level.nextgen) + { + setsaveddvar("r_mdao",1); + } + + level.player lightsetforplayer("betrayal_interior"); + maps\_utility::vision_set_fog_changes("betrayal_grungy_int_intro",0); + level.player setclutforplayer("clut_betrayal_c3_01",1); + common_scripts\utility::flag_set("flag_autofocus_on"); + level.player_dof_aperture = 2.2; + level.player_dof_distance = 53; + level.player_dof_max_distance = 600; + thread mblur_disable(); +} + +//Function Number: 4 +setup_dof_presets() +{ + maps\_lighting::create_dof_preset("betrayal_standard",4,35,4,1000,7000,1,0.5); + maps\_lighting::create_dof_preset("exterior_dof",1,40,1,3001,10000,0.1,0.5); + maps\_lighting::create_dof_preset("interior_dof",1,35,10,101,6000,10,0.5); +} + +//Function Number: 5 +dof_triggers() +{ + if(level.nextgen) + { + setsaveddvar("r_dof_physical_enable",1); + } + + level.player enablephysicaldepthoffieldscripting(); + common_scripts\utility::run_thread_on_targetname("dof_enable_interior",::dof_enable_interior); + common_scripts\utility::run_thread_on_targetname("dof_enable_exterior",::dof_enable_exterior); + common_scripts\utility::run_thread_on_targetname("dof_enable_start",::dof_enable_start); + common_scripts\utility::run_thread_on_targetname("interior_fog",::trigger_interior_fog); + common_scripts\utility::run_thread_on_targetname("exterior_fog",::trigger_exterior_fog); + common_scripts\utility::run_thread_on_targetname("mblur_enable",::mblur_enable_trigger); + common_scripts\utility::run_thread_on_targetname("mblur_cam_enable",::mblur_cam_enable_trigger); + common_scripts\utility::run_thread_on_targetname("mblur_disable",::mblur_disable_trigger); +} + +//Function Number: 6 +dof_enable_interior() +{ + self waittill("trigger"); + if(level.nextgen) + { + level.player_dof_aperture = 2.8; + } + + common_scripts\utility::flag_set("flag_autofocus_on"); +} + +//Function Number: 7 +dof_enable_exterior() +{ + self waittill("trigger"); + if(level.nextgen) + { + level.player_dof_aperture = 8; + } + + common_scripts\utility::flag_set("flag_autofocus_on"); +} + +//Function Number: 8 +dof_enable_start() +{ + self waittill("trigger"); + if(level.nextgen) + { + level.player_dof_aperture = 4; + } +} + +//Function Number: 9 +trigger_interior_fog() +{ + self waittill("trigger"); + if(level.nextgen) + { + maps\_utility::fog_set_changes("betrayal_canal",2); + } +} + +//Function Number: 10 +trigger_exterior_fog() +{ + self waittill("trigger"); + if(level.nextgen) + { + maps\_utility::fog_set_changes("neutral",2); + return; + } + + maps\_utility::vision_set_fog_changes("neutral",2); +} + +//Function Number: 11 +mblur_enable_trigger() +{ + self waittill("trigger"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","2"); + } +} + +//Function Number: 12 +mblur_cam_enable_trigger() +{ + self waittill("trigger"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + setsaveddvar("r_mbVelocityScalar","2"); + } +} + +//Function Number: 13 +mblur_disable_trigger() +{ + self waittill("trigger"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + setsaveddvar("r_mbCameraRotationInfluence","0"); + setsaveddvar("r_mbVelocityScalar","0"); + } +} + +//Function Number: 14 +mblur_enable() +{ + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","2"); + } +} + +//Function Number: 15 +mblur_cam_enable() +{ + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + setsaveddvar("r_mbVelocityScalar","2"); + } +} + +//Function Number: 16 +mblur_disable() +{ + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + setsaveddvar("r_mbCameraRotationInfluence","0"); + setsaveddvar("r_mbVelocityScalar","0"); + } +} + +//Function Number: 17 +autofocus_loop() +{ + if(level.nextgen) + { + setsaveddvar("r_dof_physical_enable",1); + } + + level.player enablephysicaldepthoffieldscripting(); + var_00 = level.player_dof_aperture; + for(;;) + { + wait 0.05; + if(common_scripts\utility::flag("flag_autofocus_on") == 1) + { + var_01 = min(trace_distance(),level.player_dof_max_distance); + } + else + { + var_01 = level.player_dof_distance; + } + + var_00 = level.player_dof_aperture; + if(var_01 < 60) + { + var_00 = var_00 + abs(60 - var_01) * 0.3; + } + else + { + var_00 = level.player_dof_aperture; + } + + if(level.nextgen) + { + level.player setphysicaldepthoffield(var_00,var_01,4,2); + } + } +} + +//Function Number: 18 +riverbounce_hideents() +{ + var_00 = getentarray("canal_bounce","targetname"); + for(var_01 = 0;var_01 < var_00.size;var_01++) + { + var_00[var_01] hide(); + var_00[var_01] notsolid(); + } +} + +//Function Number: 19 +lightbox_hideents() +{ + var_00 = getentarray("lightboxes","targetname"); + for(var_01 = 0;var_01 < var_00.size;var_01++) + { + var_00[var_01] connectpaths(); + var_00[var_01] hide(); + var_02 = (0,0,0); + var_00[var_01] moveto(var_02,0.1,0.02,0.02); + } + + var_00 = getentarray("hide_screens","targetname"); + for(var_01 = 0;var_01 < var_00.size;var_01++) + { + var_00[var_01] hide(); + var_02 = (0,0,0); + var_00[var_01] moveto(var_02,0.1,0.02,0.02); + } +} + +//Function Number: 20 +blastdoor_hideents() +{ + var_00 = getentarray("roof_window_blastdoor","targetname"); + for(var_01 = 0;var_01 < var_00.size;var_01++) + { + var_00[var_01] hide(); + } +} + +//Function Number: 21 +blastdoor_showents() +{ + var_00 = getentarray("roof_window_blastdoor","targetname"); + for(var_01 = 0;var_01 < var_00.size;var_01++) + { + var_00[var_01] show(); + } +} + +//Function Number: 22 +trace_distance() +{ + var_00 = 4096; + var_01 = level.player geteye(); + var_02 = level.player getplayerangles(); + if(isdefined(level.player.dof_ref_ent)) + { + var_03 = combineangles(level.player.dof_ref_ent.angles,var_02); + } + else + { + var_03 = var_03; + } + + var_04 = vectornormalize(anglestoforward(var_03)); + var_05 = bullettrace(var_01,var_01 + var_04 * var_00,1,level.player,1,1,0,0,0); + return distance(var_01,var_05["position"]); +} + +//Function Number: 23 +setup_dof_viewmodel_presets() +{ + maps\_lighting::create_dof_viewmodel_preset("betrayal_viewmodel_standard",1,12); +} + +//Function Number: 24 +setup_lighting_office_start() +{ + common_scripts\utility::flag_wait("office_start_lighting"); + level.player setclutforplayer("clut_betrayal_c3_02",2); + if(level.nextgen) + { + level.player_dof_aperture = 3.5; + level.player_dof_distance = 53; + setsaveddvar("r_dof_physical_bokehEnable",1); + thread mblur_disable(); + level.player lightsetforplayer("betrayal_interior_lobby"); + maps\_utility::vision_set_fog_changes("betrayal_grungy_int_intro",0.5); + level.player setclutforplayer("clut_betrayal_c3_01",1); + var_00 = getent("btr_lobby_light_gideon_key","targetname"); + var_01 = getent("btr_lobby_light_gideon_rim","targetname"); + var_02 = getent("btr_lobby_light_ground_source","targetname"); + var_03 = getent("btr_lobby_light_elevator","targetname"); + var_02 setlightintensity(2000000); + var_02 setlightcolor((1,1,1)); + var_01 setlightintensity(38000); + var_00 setlightintensity(28000); + var_00 setlightradius(170); + wait(15); + maps\_lighting::lerp_spot_intensity("btr_lobby_light_gideon_key",13,22000); + maps\_lighting::lerp_spot_intensity("btr_lobby_light_gideon_rim",4,5000); + wait(10); + common_scripts\utility::flag_set("flag_autofocus_on"); + level.player_dof_aperture = 3.5; + level.player_dof_distance = 53; + maps\_lighting::lerp_spot_intensity("btr_lobby_light_gideon_key",8,0); + var_04 = getent("betr_light_vista_rim","targetname"); + var_04 setlightintensity(100000000); + var_04 setlightshadowstate("force_on"); + level.player_dof_aperture = 8; + } +} + +//Function Number: 25 +setup_lighting_basement_start() +{ + common_scripts\utility::flag_wait("basement_start_lighting"); + if(level.nextgen) + { + level.player lightsetforplayer("betrayal_interior"); + maps\_utility::vision_set_fog_changes("betrayal_interior",0.5); + } + else + { + level.player lightsetforplayer("betrayal_interior_darker"); + maps\_utility::vision_set_fog_changes("betrayal_interior",0.5); + } + + level.player setclutforplayer("clut_betrayal_c3_01",1); + level.player_dof_max_distance = 600; + thread mblur_disable(); +} + +//Function Number: 26 +setup_lighting_confrontation_start() +{ + common_scripts\utility::flag_wait("confrontation_start_lighting"); + if(level.nextgen) + { + setsaveddvar("r_subdiv","1"); + setsaveddvar("r_adaptiveSubdivBaseFactor","0.5"); + } + + thread blastdoor_hideents(); + common_scripts\_exploder::exploder(1999); + thread mblur_disable(); + if(level.nextgen) + { + maps\_utility::fog_set_changes("betrayal_interior_darker",1); + level.player lightsetforplayer("betrayal_interior_confrontation_1"); + } + else + { + maps\_utility::vision_set_fog_changes("betrayal_interior_darker",1); + level.player lightsetforplayer("betrayal_interior_darker"); + } + + level.player setclutforplayer("clut_betrayal_c3_03",1); + common_scripts\utility::flag_set("flag_dialogue_start_confrontation"); + if(level.nextgen) + { + level.player_dof_aperture = 2.5; + level.player_dof_max_distance = 400; + setsaveddvar("r_dof_physical_bokehEnable",1); + var_00 = getent("btr_basement_key1","targetname"); + var_01 = getent("btr_basement_key2","targetname"); + var_00 rotateby((15,0,0),0.1); + var_01 rotateby((15,0,0),0.1); + var_02 = getent("btr_basement_hall_light","targetname"); + var_02 setlightintensity(0); + var_03 = getent("btr_basement_key4","targetname"); + var_03 setlightintensity(4000); + if(level.nextgen) + { + maps\_lighting::lerp_spot_intensity("btr_basement_key4",5,600); + } + + var_03 setlightradius(150); + wait(4); + wait(1); + var_04 = getent("betr_emergency_alarm_model_1","targetname"); + var_05 = getent("betr_emergency_alarm_model_2","targetname"); + var_06 = getent("betr_emergency_alarm_model_3","targetname"); + var_07 = getent("betr_emergency_alarm_model_4","targetname"); + var_08 = getent("betr_emergency_alarm_model_5","targetname"); + var_09 = getent("betr_emergency_alarm_model_6","targetname"); + var_0A = getent("betr_emergency_alarm_model_7","targetname"); + var_0B = getent("betr_emergency_alarm_model_8","targetname"); + var_0C = getent("betr_emergency_alarm_model_9","targetname"); + var_0D = getent("betr_emergency_alarm_model_10","targetname"); + var_0E = getent("betr_emergency_alarm_model_11","targetname"); + var_0F = getent("betr_emergency_alarm_model_12","targetname"); + var_10 = getent("btr_emergLight_elevator_1","targetname"); + var_11 = getent("btr_emergLight_elevator_2","targetname"); + var_0B hide(); + var_0C hide(); + var_0D hide(); + var_0E hide(); + var_0F hide(); + var_12 = getent("betr_emergency_power_light_off","targetname"); + var_13 = getent("betr_emergency_power_light_on","targetname"); + var_13 hide(); + var_00 setlightintensity(4000); + var_01 setlightintensity(6000); + wait(9); + level.player_dof_aperture = 1; + maps\_lighting::lerp_spot_intensity("btr_basement_key1",10,6000); + maps\_lighting::lerp_spot_intensity("btr_basement_key2",10,3000); + level.player lightsetforplayer("betrayal_interior_confrontation_2"); + maps\_lighting::lerp_spot_intensity("btr_basement_key2",10,4000); + maps\_lighting::lerp_spot_intensity("btr_basement_key1",10,2000); + var_03 setlightintensity(10); + var_03 setlightcolor((1,0.87,0.85)); + var_03 rotateby((60,0,0),1); + wait(5); + common_scripts\utility::flag_clear("flag_autofocus_on"); + level.player_dof_aperture = 7; + level.player_dof_max_distance = 400; + wait(20); + level.player lightsetforplayer("betrayal_interior_confrontation_3"); + wait(24); + var_14 = var_00 getorigin(); + var_14 = var_14 + (40,-20,0); + var_00 moveto(var_14,4); + var_00 rotateby((10,0,0),4); + maps\_lighting::lerp_spot_intensity("btr_basement_key1",5,3000); + wait(1); + var_03 setlightintensity(30000); + common_scripts\utility::flag_wait("escape_lighting"); + level.player setclutforplayer("clut_betrayal_c3_04",0.02); + common_scripts\_exploder::exploder(2001); + var_0B show(); + var_0C show(); + var_0D show(); + var_0E show(); + var_0F show(); + var_13 show(); + var_12 hide(); + maps\_utility::stop_exploder(1999); + level.player lightsetforplayer("betrayal_interior"); + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","1"); + level.player_dof_aperture = 3.5; + var_00 setlightintensity(15000); + var_01 setlightintensity(30000); + var_03 setlightintensity(60000); + var_00 setlightfovrange(85,60); + var_01 setlightfovrange(85,60); + var_03 setlightfovrange(80,50); + var_00 setlightcolor((1,0.98,0.95)); + var_01 setlightcolor((1,0.05,0.05)); + var_03 setlightcolor((1,0.05,0.05)); + var_02 setlightintensity(12000); + var_00 rotateby((-15,0,0),0.1); + var_00 rotateby((-10,0,0),0.1); + var_01 rotateby((-15,0,0),0.1); + var_03 rotateby((-60,0,0),0.1); + var_00 rotateby((0,0,90),0.1); + var_00 rotateby((45,45,0),0.1); + var_01 rotateby((0,0,90),0.1); + var_03 rotateby((-50,0,0),0.1); + var_01 rotateby((-30,0,0),0.1); + var_14 = var_0B getcentroid(); + var_14 = var_14 + (-5,0,0); + var_01 moveto(var_14,0.1); + var_14 = var_0C getcentroid(); + var_14 = var_14 + (-2,0,0); + var_03 moveto(var_14,0.1); + var_14 = var_13 getcentroid(); + var_14 = var_14 + (-5,10,0); + var_00 moveto(var_14,0.02); + var_01 setlightfovrange(70,10); + var_03 setlightfovrange(70,10); + if(level.nextgen) + { + maps\_utility::fog_set_changes("betrayal_escape",7); + setsaveddvar("r_dof_physical_bokehEnable",0); + } + else + { + maps\_utility::vision_set_fog_changes("betrayal_escape",7); + } + + var_10 setlightintensity(300000); + var_11 setlightintensity(300000); + var_14 = var_10 getcentroid(); + var_14 = var_14 + (0,0,200); + var_10 moveto(var_14,0.02); + var_14 = var_11 getcentroid(); + var_14 = var_14 + (0,0,200); + var_11 moveto(var_14,0.02); + var_10 setlightfovrange(90,30); + var_11 setlightfovrange(90,30); + var_10 rotateby((90,0,0),0.02); + var_11 rotateby((90,0,0),0.02); + var_15 = [var_01,var_03]; + for(var_16 = 60;var_16 > 0;var_16--) + { + var_17 = 20; + while(var_17 > 0) + { + var_18 = abs(cos(gettime() * 0.08)) * 26000; + var_01 setlightintensity(var_18); + var_03 setlightintensity(var_18 * 2); + var_17--; + wait(0.1); + } + + var_10 rotateby((0,360,0),2); + var_11 rotateby((0,360,0),2); + var_04 rotateby((0,360,0),2); + if(var_16 == 40) + { + maps\_utility::vision_set_fog_changes("betrayal_escape_elevator_interior",20); + } + } + } + + level.player_dof_max_distance = 400; + maps\_utility::stop_exploder(2001); + if(level.nextgen) + { + setsaveddvar("r_adaptiveSubdivBaseFactor","1.5"); + } + + level.player_dof_aperture = 8; +} + +//Function Number: 27 +lighting_confrontation_auto_dof(param_00,param_01) +{ + for(var_02 = 715;var_02 > 0 && !isremovedentity(param_01);var_02--) + { + var_03 = distance2d(param_00.origin,param_01.origin); + if(!isremovedentity(param_01) && maps\_utility::player_looking_at(param_01.origin)) + { + level.player_dof_distance = var_03; + common_scripts\utility::flag_clear("flag_autofocus_on"); + level.player_dof_aperture = 3.2; + } + else if(var_03 < 40) + { + level.player_dof_distance = var_03; + common_scripts\utility::flag_clear("flag_autofocus_on"); + level.player_dof_aperture = 5.5; + } + else + { + common_scripts\utility::flag_set("flag_autofocus_on"); + level.player_dof_aperture = 2.5; + } + + wait(0.1); + } + + common_scripts\utility::flag_set("flag_autofocus_on"); + level.player_dof_aperture = 3.5; +} + +//Function Number: 28 +lighting_irons_dof(param_00,param_01) +{ + if(level.currentgen) + { + setculldist(500); + } + else + { + setculldist(0); + } + + common_scripts\utility::flag_wait("confrontation2_start_lighting"); + for(var_02 = 550;var_02 > 0;var_02--) + { + var_03 = distance2d(param_00.origin,param_01.origin); + if(maps\_utility::player_looking_at(param_01.origin)) + { + level.player_dof_distance = var_03; + common_scripts\utility::flag_clear("flag_autofocus_on"); + level.player_dof_aperture = 1.1; + } + else + { + common_scripts\utility::flag_set("flag_autofocus_on"); + level.player_dof_aperture = 3.8; + } + + wait(0.1); + } + + common_scripts\utility::flag_set("flag_autofocus_on"); + level.player_dof_aperture = 3; +} + +//Function Number: 29 +lighting_target_dof(param_00,param_01,param_02,param_03) +{ + var_04 = level.player_dof_aperture; + level.player_dof_aperture = param_02; + var_05 = param_03 * 10; + common_scripts\utility::flag_clear("flag_autofocus_on"); + while(var_05 > 0) + { + var_06 = distance2d(param_00.origin,param_01.origin); + level.player_dof_distance = var_06; + wait(0.1); + var_05--; + } + + level.player_dof_aperture = var_04; + common_scripts\utility::flag_set("flag_autofocus_on"); + level.player_dof_aperture = var_04; +} + +//Function Number: 30 +setup_lighting_escape_start() +{ + if(level.currentgen) + { + setculldist(0); + } + else + { + setculldist(0); + } + + common_scripts\utility::flag_wait("escape_start_lighting"); + common_scripts\utility::flag_set("flag_autofocus_on"); + level.player_dof_aperture = 3.5; + if(level.nextgen) + { + level.player lightsetforplayer("betrayal_interior_confrontation_1"); + level.player setclutforplayer("clut_betrayal_c3_04",1); + } + else + { + level.player lightsetforplayer("betrayal_interior_darker"); + maps\_utility::vision_set_fog_changes("betrayal_interior_darker",0.5); + } + + var_00 = getent("btr_basement_key1","targetname"); + var_01 = getent("btr_basement_key2","targetname"); + var_02 = getent("btr_basement_key4","targetname"); + var_03 = getent("betr_emergency_alarm_model_1","targetname"); + var_04 = getent("betr_emergency_alarm_model_2","targetname"); + var_05 = getent("betr_emergency_alarm_model_3","targetname"); + var_06 = getent("betr_emergency_alarm_model_4","targetname"); + var_07 = getent("betr_emergency_alarm_model_5","targetname"); + var_08 = getent("betr_emergency_alarm_model_6","targetname"); + var_09 = getent("betr_emergency_alarm_model_7","targetname"); + var_0A = getent("betr_emergency_alarm_model_8","targetname"); + var_0B = getent("betr_emergency_alarm_model_9","targetname"); + var_0C = getent("betr_emergency_alarm_model_10","targetname"); + var_0D = getent("betr_emergency_alarm_model_11","targetname"); + var_0E = getent("betr_emergency_alarm_model_12","targetname"); + var_0F = getent("btr_emergLight_elevator_1","targetname"); + var_10 = getent("btr_emergLight_elevator_2","targetname"); + var_11 = getent("btr_basement_hall_light","targetname"); + var_12 = getent("betr_emergency_power_light_off","targetname"); + var_13 = getent("betr_emergency_power_light_on","targetname"); + common_scripts\_exploder::exploder(2001); + var_0A show(); + var_0B show(); + var_0C show(); + var_0D show(); + var_0E show(); + var_13 show(); + var_12 hide(); + maps\_utility::stop_exploder(1999); + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","1"); + common_scripts\utility::flag_set("flag_autofocus_on"); + level.player_dof_aperture = 3.5; + var_00 setlightintensity(10000); + var_01 setlightintensity(60000); + var_02 setlightintensity(100000); + var_00 setlightfovrange(85,60); + var_01 setlightfovrange(85,60); + var_02 setlightfovrange(80,50); + var_00 setlightcolor((1,0.98,0.95)); + var_01 setlightcolor((1,0.05,0.05)); + var_02 setlightcolor((1,0.05,0.05)); + var_11 setlightintensity(12000); + var_14 = 60; + var_00 rotateby((0,0,90),0.1); + var_00 rotateby((45,45,0),0.1); + var_01 rotateby((0,0,90),0.1); + var_02 rotateby((30,0,0),0.1); + var_01 rotateby((-30,0,0),0.1); + var_15 = var_0A getcentroid(); + var_15 = var_15 + (-5,0,0); + var_01 moveto(var_15,0.1); + var_15 = var_0B getcentroid(); + var_15 = var_15 + (-2,0,0); + var_02 moveto(var_15,0.1); + var_15 = var_13 getcentroid(); + var_15 = var_15 + (-5,10,0); + var_00 moveto(var_15,0.02); + var_01 setlightfovrange(70,10); + var_02 setlightfovrange(70,10); + if(level.nextgen) + { + maps\_utility::fog_set_changes("betrayal_escape",7); + setsaveddvar("r_dof_physical_bokehEnable",0); + } + else + { + maps\_utility::vision_set_fog_changes("betrayal_escape",7); + } + + var_0F setlightintensity(300000); + var_10 setlightintensity(300000); + var_15 = var_0F getcentroid(); + var_15 = var_15 + (0,0,200); + var_0F moveto(var_15,0.02); + var_15 = var_10 getcentroid(); + var_15 = var_15 + (0,0,200); + var_10 moveto(var_15,0.02); + var_0F setlightfovrange(90,30); + var_10 setlightfovrange(90,30); + var_0F rotateby((90,0,0),0.02); + var_10 rotateby((90,0,0),0.02); + var_16 = [var_01,var_02]; + while(var_14 > 0) + { + var_17 = 20; + while(var_17 > 0) + { + var_18 = abs(cos(gettime() * 0.08)) * 26000; + var_01 setlightintensity(var_18); + var_02 setlightintensity(var_18 * 2); + var_17--; + wait(0.1); + } + + var_0F rotateby((0,360,0),2); + var_10 rotateby((0,360,0),2); + var_03 rotateby((0,360,0),2); + if(var_14 == 40) + { + maps\_utility::vision_set_fog_changes("betrayal_escape_elevator_interior",20); + } + + var_14--; + } +} + +//Function Number: 31 +blink_lights(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = param_01; + var_06 = param_02; + for(var_07 = int(param_03 * 10);var_07 > 0;var_07--) + { + var_05 = abs(cos(gettime() * 0.08 * param_04)) * var_05 + var_06; + foreach(var_09 in param_00) + { + var_09 setlightintensity(var_05); + } + + wait(0.1); + } +} + +//Function Number: 32 +blink_lights_flicker(param_00,param_01,param_02,param_03,param_04,param_05) +{ + var_06 = param_01; + var_07 = param_02; + for(var_08 = int(param_03 * 10);var_08 > 0;var_08--) + { + var_06 = abs(cos(gettime() * 0.08 * param_04)) * var_06 + var_07; + foreach(var_0A in param_00) + { + var_0A setlightintensity(var_06); + } + + if(param_05 > 0) + { + wait(randomfloatrange(0,0.3 * param_05)); + } + + wait(0.1); + } +} + +//Function Number: 33 +setup_lighting_roof_start() +{ + if(level.currentgen) + { + setculldist(0); + } + else + { + setculldist(0); + } + + common_scripts\utility::flag_wait("roof_start_lighting"); + level.player_dof_aperture = 8; + level.player_dof_max_distance = 400; + thread blastdoor_showents(); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","1"); + } + + common_scripts\_exploder::exploder(3001); + if(level.nextgen) + { + var_00 = getent("siren_light_1","targetname"); + var_01 = getent("siren_light_model_1","targetname"); + var_02 = getent("siren_light_2","targetname"); + var_03 = getent("siren_light_model_2","targetname"); + var_04 = getent("siren_light_3","targetname"); + var_05 = getent("siren_light_model_3","targetname"); + var_00 setlightintensity(500000); + var_02 setlightintensity(500000); + var_04 setlightintensity(500000); + for(var_06 = 80;var_06 > 0;var_06--) + { + var_01 rotateby((0,360,0),1); + var_00 rotateby((0,360,0),1); + var_03 rotateby((0,360,0),1); + var_02 rotateby((0,360,0),1); + var_05 rotateby((0,360,0),1); + var_04 rotateby((0,360,0),1); + wait(1); + } + } + + common_scripts\_exploder::kill_exploder(3001); +} + +//Function Number: 34 +setup_lighting_swim_start() +{ + common_scripts\utility::flag_wait("swim_start_lighting"); + wait(0.5); + level.player lightsetforplayer("betrayal_grungy"); + if(level.nextgen) + { + level.player setclutforplayer("clut_betrayal_c3_05",1); + } + + maps\_utility::vision_set_fog_changes("betrayal_grungy",0.5); + level.player_dof_aperture = 1.2; + level.player_dof_max_distance = 100; + common_scripts\_exploder::exploder(3002); + thread mblur_disable(); +} + +//Function Number: 35 +setup_lighting_sewer_start() +{ + common_scripts\utility::flag_wait("sewer_start_lighting"); + wait(0.5); + if(level.nextgen) + { + level.player setclutforplayer("clut_betrayal_c3_05",1); + } + else + { + level.player lightsetforplayer("betrayal_sewer"); + maps\_utility::vision_set_fog_changes("betrayal_sewer",1); + } + + level.player_dof_aperture = 8; + level.player_dof_max_distance = 600; + level.player lightsetforplayer("betrayal_sewer"); + maps\_utility::vision_set_fog_changes("betrayal_sewer",3); + thread mblur_disable(); + var_00 = getentarray("sewer_light_1","targetname"); + thread blink_lights_flicker(var_00,9000,7000,100,10,1); +} + +//Function Number: 36 +setup_lighting_old_town_start() +{ + common_scripts\utility::flag_wait("oldtown_start_lighting"); + maps\_utility::vision_set_fog_changes("betrayal_grungy_market",0.5); + level.player lightsetforplayer("betrayal_grungy"); + level.player_dof_aperture = 8; + level.player_dof_max_distance = 600; + level.player setclutforplayer("clut_betrayal_c3_01",6); + maps\_utility::stop_exploder(3002); + var_00 = getentarray("betr_lighting_market_tvs","targetname"); + foreach(var_02 in var_00) + { + var_02 setlightcolor((0.92,0.9,1)); + } + + thread blink_lights_flicker(var_00,4000,3200,1000,5,1); + thread mblur_disable(); +} + +//Function Number: 37 +setup_lighting_boat_start() +{ + common_scripts\utility::flag_wait("boat_start_lighting"); + level.player_dof_aperture = 8; + level.player_dof_max_distance = 600; + level.player setclutforplayer("clut_betrayal_c3_01",1); + level.player lightsetforplayer("betrayal_grungy_boat_chase"); + maps\_utility::vision_set_fog_changes("betrayal_grungy_boat_chase",2); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","2"); + } +} + +//Function Number: 38 +setup_lighting_boat_crash() +{ + common_scripts\utility::flag_wait("boat_crash_lighting"); + if(level.nextgen) + { + setsaveddvar("r_subdiv","1"); + } + + common_scripts\utility::flag_clear("flag_autofocus_on"); + level.player_dof_aperture = 1.1; + level.player_dof_distance = 15; + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",1); + } + + level.player setclutforplayer("clut_betrayal_c3_01",1); + level.player lightsetforplayer("betrayal_crash_cine"); + maps\_utility::vision_set_fog_changes("betrayal_grungy",2); + if(level.nextgen) + { + var_00 = getent("btr_crash_light_rim","targetname"); + var_01 = getent("btr_crash_light_fill","targetname"); + var_00 setlightintensity(1200000); + var_01 setlightintensity(35000); + } + + wait(6); + thread lighting_target_dof(level.player,level.ilana,2.8,10); + wait(10); + common_scripts\utility::flag_set("flag_autofocus_on"); + thread mblur_disable(); + level.player_dof_max_distance = 400; + level.player_dof_aperture = 8; + wait(15); + level.player lightsetforplayer("betrayal_grungy"); + wait(45); + maps\_utility::vision_set_fog_changes("betrayal_grungy_climb",20); + level.player setclutforplayer("clut_betrayal_c3_01",1); +} + +//Function Number: 39 +setup_lighting_climb_start() +{ + common_scripts\utility::flag_wait("climb_start_lighting"); + maps\_utility::vision_set_fog_changes("betrayal_grungy_climb",6); + level.player lightsetforplayer("betrayal_grungy"); + level.player_dof_aperture = 9; + level.player setclutforplayer("clut_betrayal_c3_01",1); + level.player_dof_max_distance = 400; + thread mblur_disable(); +} + +//Function Number: 40 +setup_lighting_finale_start(param_00) +{ + if(level.nextgen) + { + setsaveddvar("r_subdiv","1"); + } + + level.player lightsetforplayer("betrayal_outro"); + if(level.nextgen) + { + maps\_utility::fog_set_changes("betrayal_grungy_finale",5); + maps\_utility::vision_set_changes("betrayal_outro",0.5); + } + else + { + maps\_utility::vision_set_fog_changes("betrayal_grungy_climb",1.5); + } + + level.player setclutforplayer("clut_betrayal_c3_01",1); + var_01 = -60; + var_02 = 160; + var_03 = (var_01,var_02,0); + maps\_shg_fx::set_sun_flare_position(var_03); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","1"); + common_scripts\utility::flag_clear("flag_autofocus_on"); + level.player_dof_aperture = 4.1; + level.player_dof_distance = 1; + level.player_dof_max_distance = 400; + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",1); + } + + wait(0.3); + level.player_dof_distance = 97; + thread lighting_target_dof(level.player,param_00[0],3.2,4); + wait(4); + thread mblur_disable(); + level.player_dof_distance = 52; + var_04 = getent("btr_finale_rim_top","targetname"); + maps\_lighting::lerp_spot_intensity("btr_finale_rim_top",4,3000000); + thread lighting_target_dof(level.player,param_00[1],3.2,8); + wait(6); + level.player lightsetforplayer("betrayal_outro_helicopter"); + wait(2); + thread lighting_target_dof(level.player,param_00[2],3.2,20); + var_05 = var_04 getorigin(); + var_05 = var_05 + (100,-230,0); + var_04 moveto(var_05,5); + var_04 rotateby((1,-50,0),5); + maps\_lighting::lerp_spot_intensity("btr_finale_rim_top",5,3000000); + level.player lightsetforplayer("betrayal_outro"); + level.player_dof_distance = 53; + wait(10); + common_scripts\_exploder::exploder(9000); + wait(2); + thread lighting_target_dof(level.player,param_00[1],3.2,6); + level.player_dof_distance = 53; + wait(6); + thread lighting_target_dof(level.player,param_00[2],3.2,4); + level.player_dof_distance = 160; + level.player_dof_aperture = 8; + } +} + +//Function Number: 41 +setup_vfx_sunflare() +{ + thread maps\_shg_fx::vfx_sunflare("fx_sunflare_lsr2"); +} + +//Function Number: 42 +lightset_triggers() +{ + common_scripts\utility::run_thread_on_targetname("betrayal",::lightset_betrayal); + common_scripts\utility::run_thread_on_targetname("betrayal_grungy",::lightset_betrayal_grungy); + common_scripts\utility::run_thread_on_targetname("betrayal_interior_darker_fog",::betrayal_interior_darker_fog); + common_scripts\utility::run_thread_on_targetname("betrayal_roof_transition",::betrayal_roof_transition); + common_scripts\utility::run_thread_on_targetname("betrayal_mall",::lightset_betrayal_mall); + common_scripts\utility::run_thread_on_targetname("betrayal_subway",::lightset_betrayal_subway); + common_scripts\utility::run_thread_on_targetname("betrayal_interior",::lightset_betrayal_interior); + common_scripts\utility::run_thread_on_targetname("betrayal_interior_clut",::betrayal_interior_clut); + common_scripts\utility::run_thread_on_targetname("betrayal_race",::lightset_betrayal_race); + common_scripts\utility::run_thread_on_targetname("betrayal_intro",::lightset_betrayal); + common_scripts\utility::run_thread_on_targetname("betrayal_interior_in",::lightset_betrayal_grungy_int); + common_scripts\utility::run_thread_on_targetname("betrayal_river_in",::lightset_betrayal_river_int); + common_scripts\utility::run_thread_on_targetname("betrayal_interior_out",::lightset_betrayal_grungy_out); + common_scripts\utility::run_thread_on_targetname("betrayal_river_out",::lightset_betrayal_river_out); + common_scripts\utility::run_thread_on_targetname("betrayal_pigeon",::exploder_pigeon); + common_scripts\utility::run_thread_on_targetname("betrayal_swim_tube",::visionset_betrayal_swim_tube); +} + +//Function Number: 43 +lightset_betrayal() +{ + self waittill("trigger"); + wait(1); + level.player lightsetforplayer("betrayal"); +} + +//Function Number: 44 +lightset_betrayal_mall() +{ + self waittill("trigger"); + wait(1); + level.player lightsetforplayer("betrayal_mall"); +} + +//Function Number: 45 +lightset_betrayal_subway() +{ + self waittill("trigger"); + wait(1); + level.player lightsetforplayer("betrayal_subway"); +} + +//Function Number: 46 +lightset_betrayal_interior() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("betrayal_interior"); + if(level.nextgen) + { + maps\_utility::vision_set_fog_changes("betrayal_interior",1); + } + else + { + maps\_utility::vision_set_fog_changes("betrayal_interior",1); + } + + while(level.player istouching(self)) + { + wait(0.1); + } + } +} + +//Function Number: 47 +betrayal_interior_clut() +{ + self waittill("trigger"); + if(level.nextgen) + { + level.player setclutforplayer("clut_betrayal_interior_grungy",12); + } +} + +//Function Number: 48 +lightset_betrayal_race() +{ + self waittill("trigger"); + if(level.nextgen) + { + level.player lightsetforplayer("betrayal_grungy_boat_chase"); + maps\_utility::vision_set_fog_changes("betrayal_grungy_boat_chase",2); + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","2"); + } +} + +//Function Number: 49 +lightset_betrayal_grungy() +{ + for(;;) + { + self waittill("trigger"); + maps\_utility::vision_set_fog_changes("betrayal_grungy",1); + level.player lightsetforplayer("betrayal_grungy"); + while(level.player istouching(self)) + { + wait(0.1); + } + } +} + +//Function Number: 50 +betrayal_interior_darker_fog() +{ + self waittill("trigger"); + maps\_utility::vision_set_fog_changes("betrayal_interior_darker",3); + level.player lightsetforplayer("betrayal_interior_darker"); +} + +//Function Number: 51 +betrayal_roof_transition() +{ + self waittill("trigger"); + maps\_utility::vision_set_fog_changes("betrayal_grungy",1); + level.player setclutforplayer("clut_betrayal_c3_01",1); + level.player lightsetforplayer("betrayal_grungy"); + wait(3); + level.player lightsetforplayer("betrayal_grungy_inside"); + wait(2); + level.player lightsetforplayer("betrayal_grungy"); +} + +//Function Number: 52 +lightset_betrayal_grungy_int() +{ + self waittill("trigger"); + maps\_utility::vision_set_fog_changes("betrayal_grungy_market_int",0.4); + level.player lightsetforplayer("betrayal_grungy_inside"); +} + +//Function Number: 53 +lightset_betrayal_grungy_out() +{ + self waittill("trigger"); + if(level.nextgen) + { + maps\_utility::vision_set_fog_changes("betrayal_grungy",1.5); + } + else + { + maps\_utility::vision_set_fog_changes("betrayal_grungy_market",0.4); + } + + level.player lightsetforplayer("betrayal_grungy_market"); +} + +//Function Number: 54 +visionset_betrayal_swim_tube() +{ + self waittill("trigger"); + if(level.nextgen) + { + maps\_utility::vision_set_fog_changes("betrayal_swim_tube",1); + wait(8); + level.player lightsetforplayer("betrayal_sewer"); + maps\_utility::vision_set_fog_changes("betrayal_sewer",3); + var_00 = getentarray("sewer_light_1","targetname"); + thread blink_lights_flicker(var_00,9000,7000,100,5,1); + level.player_dof_aperture = 8; + level.player_dof_max_distance = 400; + thread mblur_disable(); + return; + } + + level.player_dof_aperture = 8; + level.player_dof_max_distance = 400; +} + +//Function Number: 55 +lightset_betrayal_river_int() +{ + self waittill("trigger"); + betrayal_boat_vision_set_fog_changes("betrayal_boat_int",3); + level.player lightsetforplayer("betrayal_grungy_inside"); +} + +//Function Number: 56 +lightset_betrayal_river_out() +{ + self waittill("trigger"); + betrayal_boat_vision_set_fog_changes("betrayal_grungy_boat_chase",3); + level.player lightsetforplayer("betrayal_grungy"); +} + +//Function Number: 57 +update_sun_flare_position() +{ + self waittill("trigger"); + var_00 = getdvarfloat("r_lightTweakSunPitch"); + var_01 = getdvarfloat("r_lightTweakSunHeading"); + var_02 = (var_00,var_01,0); + wait(1); + maps\_shg_fx::set_sun_flare_position(var_02); +} + +//Function Number: 58 +intro_sun_flare_position() +{ + self waittill("trigger"); + var_00 = (-34.3,46.7,0); + maps\_shg_fx::set_sun_flare_position(var_00); +} + +//Function Number: 59 +map_sun_flare_position() +{ + self waittill("trigger"); + var_00 = (-65,46.7,0); + maps\_shg_fx::set_sun_flare_position(var_00); +} + +//Function Number: 60 +underwater_visionset_change(param_00) +{ + var_01 = 0; + level notify("stop_swimming_change_fx"); + var_02 = "tag_origin"; + var_03 = level.player common_scripts\utility::spawn_tag_origin(); + var_03.angles = (0,0,0); + var_03.origin = level.player geteye() - (0,0,0); + var_03 linktoplayerview(level.player,"tag_origin",(70,0,-1),(-90,0,0),0); + if(param_00) + { + var_03.origin = level.player geteye() - (0,0,0); + maps\_utility::vision_set_fog_changes("betrayal_swim",0.02); + common_scripts\_exploder::exploder(666); + level.player_dof_aperture = 1.1; + level.player_dof_max_distance = 100; + if(level.nextgen) + { + setsaveddvar("r_chromaticAberration",1); + setsaveddvar("r_chromaticSeparationR",2); + setsaveddvar("r_chromaticSeparationG",-2); + setsaveddvar("r_chromaticSeparationB",0); + setsaveddvar("r_chromaticAberrationAlpha",0.7); + } + + playfxontag(common_scripts\utility::getfx("screen_fx_plunge"),var_03,var_02); + if(level.nextgen) + { + level.player lightsetforplayer("betrayal_boat"); + } + + maps\_water::setunderwateraudiozone(); + self playlocalsound("underwater_enter"); + } + else + { + if(level.nextgen) + { + maps\_utility::fog_set_changes("betrayal",0.02); + maps\_utility::vision_set_changes("neutral",1); + } + else + { + maps\_utility::vision_set_fog_changes("betrayal_grungy",1); + } + + maps\_utility::pauseexploder(666); + level.player_dof_aperture = 8; + level.player_dof_max_distance = 400; + if(level.nextgen) + { + setsaveddvar("r_chromaticAberration",1); + setsaveddvar("r_chromaticSeparationR",0.5); + setsaveddvar("r_chromaticSeparationG",-0.5); + setsaveddvar("r_chromaticSeparationB",0); + setsaveddvar("r_chromaticAberrationAlpha",0.5); + } + + killfxontag(common_scripts\utility::getfx("screen_fx_plunge"),var_03,var_02); + playfxontag(common_scripts\utility::getfx("screen_fx_emerge"),var_03,var_02); + level.player lightsetforplayer("betrayal_grungy"); + maps\_water::clearunderwateraudiozone(); + self playlocalsound("breathing_better"); + self playlocalsound("underwater_exit"); + var_04 = undefined; + if(isdefined(self.water_trigger_current)) + { + var_04 = maps\_water::getwaterline(self.water_trigger_current); + } + + if(isdefined(var_04)) + { + var_05 = (self.origin[0],self.origin[1],var_04); + playfx(level._effect["water_splash_emerge"],var_05,anglestoforward((0,self.angles[1],0) + (270,180,0))); + } + } + + var_03 thread underwater_visionset_change_cleanup(); +} + +//Function Number: 61 +underwater_visionset_change_cleanup() +{ + level common_scripts\utility::waittill_any_timeout(1,"stop_swimming_change_fx"); + self unlink(); + self delete(); +} + +//Function Number: 62 +betrayal_boat_vision_set_fog_changes(param_00,param_01) +{ + level.current_betrayal_boat_vision_fog = param_00; + maps\_utility::vision_set_fog_changes(param_00,param_01); +} + +//Function Number: 63 +underwater_boat_visionset_change() +{ + var_00 = 0; + var_01 = "tag_origin"; + var_02 = level.player_boat common_scripts\utility::spawn_tag_origin(); + var_02 linkto(level.player_boat,"tag_origin",(100,0,0),(-90,0,0)); + var_03 = level.player_boat common_scripts\utility::spawn_tag_origin(); + var_03 linkto(level.player_boat,"tag_origin",(800,0,-80),(-90,0,0)); + var_04 = level.player_boat common_scripts\utility::spawn_tag_origin(); + var_04 linkto(level.player_boat,"tag_origin",(1800,0,-80),(-90,0,0)); + var_05 = level.player_boat common_scripts\utility::spawn_tag_origin(); + var_05 linkto(level.player_boat,"tag_origin",(800,-1000,-80),(-90,0,0)); + var_06 = level.player_boat common_scripts\utility::spawn_tag_origin(); + var_06 linkto(level.player_boat,"tag_origin",(800,1000,-80),(-90,0,0)); + if(isdefined(level.current_betrayal_boat_vision_fog)) + { + var_07 = level.current_betrayal_boat_vision_fog; + } + else + { + var_07 = ""; + } + + for(;;) + { + if(isdefined(level.player_boat)) + { + var_08 = level.player_boat vehicle_diveboatissubmerged(); + if(var_08 != var_00) + { + if(var_08) + { + if(isdefined(level.current_betrayal_boat_vision_fog)) + { + var_07 = level.current_betrayal_boat_vision_fog; + } + else + { + var_07 = ""; + } + + if(var_07 == "betrayal_boat_int") + { + betrayal_boat_vision_set_fog_changes("betrayal_underwater_int",0.02); + } + else + { + betrayal_boat_vision_set_fog_changes("betrayal_underwater",0.02); + } + + level.player_dof_aperture = 1.1; + level.player_dof_max_distance = 100; + if(level.nextgen) + { + setsaveddvar("r_chromaticAberration",1); + setsaveddvar("r_chromaticSeparationR",2); + setsaveddvar("r_chromaticSeparationG",-2); + setsaveddvar("r_chromaticSeparationB",0); + setsaveddvar("r_chromaticAberrationAlpha",0.7); + } + + level.player lightsetforplayer("betrayal_boat"); + level.player_boat thread maps\betrayal_fx::vm_boat_submerge_fx(); + } + else + { + if(level.nextgen) + { + betrayal_boat_vision_set_fog_changes(var_07,0.02); + level.player_dof_aperture = 8; + level.player_dof_max_distance = 400; + setsaveddvar("r_chromaticAberration",1); + setsaveddvar("r_chromaticSeparationR",0.5); + setsaveddvar("r_chromaticSeparationG",-0.5); + setsaveddvar("r_chromaticSeparationB",0); + setsaveddvar("r_chromaticAberrationAlpha",0.5); + } + + if(level.nextgen) + { + level.player lightsetforplayer("betrayal_grungy_boat_chase"); + } + else + { + level.player lightsetforplayer("betrayal_grungy_boat_chase"); + betrayal_boat_vision_set_fog_changes("betrayal_boat_chase",0.02); + } + + level.player_boat thread maps\betrayal_fx::vm_boat_emerge_fx(); + } + + var_00 = var_08; + } + } + + wait 0.05; + } +} + +//Function Number: 64 +exploder_pigeon() +{ + var_00 = 901; + for(;;) + { + self waittill("trigger"); + common_scripts\_exploder::exploder(var_00); + wait(1); + } +} + +//Function Number: 65 +manhole_lighting() +{ + var_00 = getent("manhole_cover_2","targetname"); + var_01 = getent("oldtown_sewer_lid","targetname"); + var_01 overridelightingorigin(var_00.origin); +} \ No newline at end of file diff --git a/AW/PC/maps/betrayal_precache.gsc b/AW/PC/maps/betrayal_precache.gsc new file mode 100644 index 0000000..73e0486 --- /dev/null +++ b/AW/PC/maps/betrayal_precache.gsc @@ -0,0 +1,29 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: betrayal_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:25:39 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + vehicle_scripts\_attack_drone_kamikaze::main("vehicle_mil_attack_drone_ai",undefined,"script_vehicle_attack_drone_kamikaze"); + vehicle_scripts\_attack_drone_queen::main("vehicle_mil_attack_drone_static",undefined,"script_vehicle_attack_drone_queen"); + vehicle_scripts\_civ_boat::main("vehicle_civ_watertaxi_01","civ_domestic_boat","script_vehicle_civ_domestic_watertaxi"); + vehicle_scripts\_civ_boat::main("vehicle_civ_yacht_01","civ_domestic_boat","script_vehicle_civ_domestic_yacht_01"); + vehicle_scripts\_civ_boat::main("vehicle_civ_yacht_02","civ_domestic_boat","script_vehicle_civ_domestic_yacht_02"); + vehicle_scripts\_civ_boat::main("vehicle_civ_yacht_03","civ_domestic_boat","script_vehicle_civ_domestic_yacht_03"); + vehicle_scripts\_diveboat::main("vehicle_mil_atlas_speedboat_ai","diveboat_player","script_vehicle_diveboat_player"); + vehicle_scripts\_littlebird::main("vehicle_mil_helicopter_littlebird_atlas_ai",undefined,"script_vehicle_littlebird_atlas"); + vehicle_scripts\_littlebird::main("vehicle_mil_helicopter_littlebird_atlas_ai",undefined,"script_vehicle_littlebird_atlas_bench"); + vehicle_scripts\_pdrone::main("vehicle_atlas_assault_drone",undefined,"script_vehicle_pdrone_atlas"); + vehicle_scripts\_shrike::main("vehicle_airplane_shrike",undefined,"script_vehicle_shrike"); + vehicle_scripts\_xh9_warbird::main("vehicle_xh9_warbird",undefined,"script_vehicle_xh9_warbird"); + vehicle_scripts\_xh9_warbird::main("vehicle_xh9_warbird_low",undefined,"script_vehicle_xh9_warbird_cheap"); + vehicle_scripts\_xh9_warbird::main("vehicle_xh9_warbird_interior_low",undefined,"script_vehicle_xh9_warbird_low_interior"); + vehicle_scripts\_xh9_warbird::main("vehicle_xh9_warbird_interior_low",undefined,"script_vehicle_xh9_warbird_low_interior_no_cloak_no_zipline_recovery"); +} \ No newline at end of file diff --git a/AW/PC/maps/betrayal_util.gsc b/AW/PC/maps/betrayal_util.gsc new file mode 100644 index 0000000..4628d75 --- /dev/null +++ b/AW/PC/maps/betrayal_util.gsc @@ -0,0 +1,3745 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: betrayal_util.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 170 + * Decompile Time: 2502 ms + * Timestamp: 4/22/2024 2:25:46 AM +*******************************************************************/ + +//Function Number: 1 +move_player_to_ent_by_targetname(param_00) +{ + var_01 = get_ent_by_targetname(param_00); + maps\_utility::teleport_player(var_01); + return var_01; +} + +//Function Number: 2 +move_squad_member_to_ent_by_targetname(param_00) +{ + var_01 = get_ent_by_targetname(param_00); + self forceteleport(var_01.origin,var_01.angles); +} + +//Function Number: 3 +move_squad_member_to_ent(param_00) +{ + self forceteleport(param_00.origin,param_00.angles); +} + +//Function Number: 4 +give_player_just_hands() +{ + level.player disableweapons(); + level.player allowmelee(0); + level.player allowsprint(0); + level.player setmovespeedscale(0.45); + level thread start_player_walk_sway(); +} + +//Function Number: 5 +give_player_gun() +{ + level.player enableweapons(); + level.player allowmelee(1); + level.player allowsprint(1); + level.player maps\_utility::blend_movespeedscale_default(); + level.player notify("stop_player_walk_sway"); +} + +//Function Number: 6 +activate_betrayal_exo_abilities() +{ + maps\_player_exo::setboostdash(); + maps\_player_exo::setoverdrive(); + maps\_player_exo::setexoslide(); +} + +//Function Number: 7 +deactivate_betrayal_exo_abilities() +{ + maps\_player_exo::unsetboostdash(); + maps\_player_exo::unsetoverdrive(); + maps\_player_exo::unsetexoslide(); +} + +//Function Number: 8 +start_player_walk_sway() +{ + level.player endon("death"); + level.player endon("stop_player_walk_sway"); + for(;;) + { + screenshake(level.player.origin,1,1,0.5,2,0.2,0.2,0,0.15,0.18,0.05); + wait(1.5); + } +} + +//Function Number: 9 +start_player_office_scene_walk_sway() +{ + level.player endon("death"); + level.player endon("stop_player_walk_sway"); + common_scripts\utility::flag_wait("flag_objective_office_scene_follow_gideon"); + var_00 = getdvar("bg_viewBobAmplitudeStanding"); + var_01 = getdvar("bg_viewBobAmplitudeDucked"); + var_02 = getdvar("bg_viewBobMax"); + setsaveddvar("bg_viewBobAmplitudeStanding","0.005 0.01"); + setsaveddvar("bg_viewBobAmplitudeDucked","0.002 0.005"); + setsaveddvar("bg_viewBobMax",3); + level.player setbobrate(0.8); + common_scripts\utility::flag_wait("flag_confrontation_give_player_real_gun"); + setsaveddvar("bg_viewBobAmplitudeStanding",var_00); + setsaveddvar("bg_viewBobAmplitudeDucked",var_01); + setsaveddvar("bg_viewBobMax",var_02); + level.player setbobrate(1); +} + +//Function Number: 10 +player_apply_mission_failed_wrapper_on_death_for_duration(param_00,param_01) +{ + for(var_02 = 0;var_02 < param_01;var_02++) + { + level.player common_scripts\utility::waittill_any_timeout(param_01,"death"); + setdvar("ui_deadquote",&"mission_fail_wrapper"); + maps\_utility::missionfailedwrapper(); + } +} + +//Function Number: 11 +player_mission_failed_handler(param_00,param_01,param_02) +{ + if((isdefined(param_01) && common_scripts\utility::flag(param_01)) || isdefined(param_02) && !common_scripts\utility::flag(param_02)) + { + common_scripts\utility::flag_set("disable_autosaves"); + level.player common_scripts\utility::waittill_any_timeout(param_00,"death"); + if((isdefined(param_01) && !common_scripts\utility::flag(param_01)) || isdefined(param_02) && common_scripts\utility::flag(param_02)) + { + common_scripts\utility::flag_clear("disable_autosaves"); + maps\_utility::autosave_by_name(); + return 1; + } + + wait(0.5); + setdvar("ui_deadquote",&"BETRAYAL_FAIL_ESCAPE"); + maps\_utility::missionfailedwrapper(); + return 0; + } + + return 1; +} + +//Function Number: 12 +spawn_squad(param_00,param_01,param_02) +{ + if(isdefined(param_01) && param_01) + { + level.gideon = spawn_squad_member(param_00,"gideon"); + } + + if(isdefined(param_02) && param_02) + { + level.ilana = spawn_squad_member(param_00,"ilana"); + level.ilana maps\_utility::place_weapon_on("iw5_sn6_sp_opticsreddot","right"); + level.ilana maps\_utility::gun_remove(); + } +} + +//Function Number: 13 +spawn_squad_member(param_00,param_01) +{ + var_02 = spawn_ai_from_targetname_single("spawner_squad_" + param_01,1,1); + var_02.ignoreall = 1; + var_02.dontmelee = 1; + var_02 maps\_utility::gun_remove(); + if(param_01 == "gideon") + { + var_02 maps\_urgent_walk::set_urgent_walk_anims(); + } + + var_02 setup_hero(param_01); + var_02 start_squad_member_at_start(param_00 + "_" + param_01); + var_02 setgoalpos(var_02.origin); + return var_02; +} + +//Function Number: 14 +setup_hero(param_00) +{ + maps\_utility::make_hero(); + self.animname = param_00; +} + +//Function Number: 15 +start_squad_member_at_start(param_00) +{ + var_01 = get_ent_by_targetname(param_00); + self forceteleport(var_01.origin,var_01.angles); +} + +//Function Number: 16 +player_knockout_white() +{ + level.crash_overlay = get_white_overlay(); + level.crash_overlay thread blackout(0.01,2); +} + +//Function Number: 17 +player_knockout_wakeup() +{ + if(isdefined(level.crash_overlay)) + { + level.crash_overlay thread restorevision(2,0); + } + + level.player shellshock("default",6); +} + +//Function Number: 18 +get_white_overlay() +{ + if(!isdefined(level.white_overlay)) + { + level.white_overlay = maps\_hud_util::create_client_overlay("white",0,level.player); + } + + level.white_overlay.sort = -1; + level.white_overlay.foreground = 1; + return level.white_overlay; +} + +//Function Number: 19 +blackout(param_00,param_01) +{ + fadeoverlay(param_00,1,param_01); +} + +//Function Number: 20 +restorevision(param_00,param_01) +{ + fadeoverlay(param_00,0,param_01); +} + +//Function Number: 21 +fadeoverlay(param_00,param_01,param_02) +{ + self fadeovertime(param_00); + self.alpha = param_01; + setblur(param_02,param_00); + wait(param_00); +} + +//Function Number: 22 +animate_player_on_rig_simple(param_00,param_01,param_02,param_03,param_04) +{ + level.rig = maps\_utility::spawn_anim_model(param_00,level.player.origin,level.player.angles); + level.rig hide(); + level.player maps\_shg_utility::setup_player_for_scene(); + var_05 = 0.5; + if(isdefined(param_03)) + { + var_05 = param_03; + } + + var_06 = get_ent_by_targetname(param_02); + var_06 maps\_anim::anim_first_frame_solo(level.rig,param_01); + level.player playerlinktoblend(level.rig,"tag_player",var_05); + level.rig common_scripts\utility::delaycall(var_05,::show); + level.player common_scripts\utility::delaycall(var_05,::playerlinktodelta,level.rig,"tag_player",1,0,0,0,0,1); + if(isdefined(param_04)) + { + param_04 = common_scripts\utility::array_add(param_04,level.rig); + var_06 maps\_anim::anim_single(param_04,param_01); + } + else + { + var_06 maps\_anim::anim_single_solo(level.rig,param_01); + } + + level.player unlink(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.rig delete(); +} + +//Function Number: 23 +spawn_ai_from_targetname_single(param_00,param_01,param_02) +{ + var_03 = spawn_ai_from_targetname(param_00,param_01,param_02); + return var_03[0]; +} + +//Function Number: 24 +spawn_ai_from_targetname(param_00,param_01,param_02) +{ + var_03 = get_ents_by_targetname(param_00); + if(!isdefined(var_03)) + { + return; + } + + var_04 = []; + foreach(var_06 in var_03) + { + var_04[var_04.size] = var_06 maps\_utility::spawn_ai(param_01,param_02); + } + + return var_04; +} + +//Function Number: 25 +add_spawn_function_to_targetname(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + var_07 = get_ents_by_targetname(param_00); + common_scripts\utility::array_thread(var_07,::maps\_utility::add_spawn_function,param_01,param_02,param_03,param_04,param_05,param_06); +} + +//Function Number: 26 +add_spawn_function_to_noteworthy(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + var_07 = get_ents_by_noteworthy(param_00); + common_scripts\utility::array_thread(var_07,::maps\_utility::add_spawn_function,param_01,param_02,param_03,param_04,param_05,param_06); +} + +//Function Number: 27 +remove_on_spawner_delete() +{ + self endon("death"); + var_00 = self.spawner; + self.script_linkname = undefined; + var_00 waittill("death"); + if(isai(self)) + { + delete_ai(); + } + + if(maps\_vehicle::isvehicle()) + { + delete_veh(); + } +} + +//Function Number: 28 +allow_boost_jump() +{ + self.canjumppath = 1; +} + +//Function Number: 29 +remove_display_name() +{ + self.name = " "; +} + +//Function Number: 30 +set_display_name(param_00) +{ + self.name = param_00; +} + +//Function Number: 31 +setup_squad_member_for_scene() +{ + self.old_name = self.name; + self.name = " "; +} + +//Function Number: 32 +setup_squad_member_for_gameplay() +{ + self.name = self.old_name; +} + +//Function Number: 33 +force_to_always_sidearm() +{ + animscripts\utility::setalwaysusepistol(1); +} + +//Function Number: 34 +set_custom_patrol_anim_set(param_00) +{ + set_custom_run_anim(param_00); + self allowedstances("stand"); + self.oldcombatmode = self.combatmode; + self.combatmode = "no_cover"; + maps\_utility::disable_cqbwalk(); +} + +//Function Number: 35 +set_custom_run_anim(param_00) +{ + var_01 = undefined; + var_02 = undefined; + if(isdefined(level.scr_anim["generic"]["patrol_walk_" + param_00])) + { + var_01 = "patrol_walk_" + param_00; + } + + if(isdefined(level.scr_anim["generic"]["patrol_walk_weights_" + param_00])) + { + var_02 = "patrol_walk_weights_" + param_00; + } + + maps\_utility::set_generic_run_anim_array(var_01,var_02,1); + if(isdefined(level.scr_anim["generic"]["patrol_idle_" + param_00])) + { + var_03 = "patrol_idle_" + param_00; + maps\_utility::set_generic_idle_anim(var_03); + } + + if(isdefined(level.scr_anim["generic"]["patrol_transin_" + param_00])) + { + self.customarrivalfunc = ::custom_idle_trans_function; + self.startidletransitionanim = level.scr_anim["generic"]["patrol_transin_" + param_00]; + } + + if(isdefined(level.scr_anim["generic"]["patrol_transout_" + param_00])) + { + self.permanentcustommovetransition = 1; + self.custommovetransition = ::animscripts\cover_arrival::custommovetransitionfunc; + self.startmovetransitionanim = level.scr_anim["generic"]["patrol_transout_" + param_00]; + } +} + +//Function Number: 36 +clear_custom_patrol_anim_set() +{ + maps\_utility::clear_generic_run_anim(); + maps\_utility::clear_generic_idle_anim(); + self.permanentcustommovetransition = undefined; + self.custommovetransition = undefined; + self.startmovetransitionanim = undefined; + self.customarrivalfunc = undefined; + self.startidletransitionanim = undefined; + self allowedstances("stand","crouch","prone"); + if(isdefined(self.oldcombatmode)) + { + self.combatmode = self.oldcombatmode; + } +} + +//Function Number: 37 +custom_idle_trans_function() +{ + if(!isdefined(self.startidletransitionanim)) + { + return; + } + + var_00 = self.approachnumber; + var_01 = self.startidletransitionanim; + if(!isdefined(self.heat)) + { + thread animscripts\cover_arrival::abortapproachifthreatened(); + } + + self clearanim(%body,0.2); + self setflaggedanimrestart("coverArrival",var_01,1,0.2,self.movetransitionrate); + animscripts\face::playfacialanim(var_01,"run"); + animscripts\shared::donotetracks("coverArrival",::animscripts\cover_arrival::handlestartaim); + var_02 = level.arrivalendstance[self.approachtype]; + if(isdefined(var_02)) + { + self.a.pose = var_02; + } + + self.a.movement = "stop"; + self.a.arrivaltype = self.approachtype; + self clearanim(%root,0.3); + self.lastapproachaborttime = undefined; + var_03 = self.origin - self.goalpos; +} + +//Function Number: 38 +event_actor_animations(param_00,param_01,param_02) +{ + level endon(param_02); + self endon("death"); + for(var_03 = 0;var_03 < param_01.size;var_03++) + { + if(param_01[var_03]["anim"] != "SKIP_BEAT") + { + common_scripts\utility::flag_wait(param_01[var_03]["wait_flag"]); + stop_current_animations(); + if(param_01[var_03]["anim"] == "PATH_TO_TARGET") + { + maps\_utility::set_goalradius(16); + self notify("move"); + if(param_01[var_03 + 1]["anim"] != "TELEPORT_TO_TARGET") + { + self waittill("goal"); + self.target = undefined; + common_scripts\utility::flag_set(param_00 + "_completed_beat_" + var_03); + } + + continue; + } + + if(param_01[var_03]["anim"] == "TELEPORT_TO_TARGET") + { + var_04 = getnode(self.target,"targetname"); + maps\_utility::teleport_ai(var_04); + common_scripts\utility::flag_set(param_00 + "_completed_beat_" + var_03); + continue; + } + + if(param_01[var_03]["anim"] == "WAIT_DELAY") + { + common_scripts\utility::flag_wait(param_01[var_03]["wait_for"]); + common_scripts\utility::flag_set(param_00 + "_completed_beat_" + var_03); + continue; + } + + if(param_01[var_03]["anim"] == "REACT") + { + self.animname = "scripted"; + var_05 = self.script_parameters; + maps\_anim::anim_single_solo(self,var_05); + continue; + } + + if(isarray(level.scr_anim["scripted"][param_01[var_03]["anim"]])) + { + self.animname = "scripted"; + thread maps\_anim::anim_loop([self],param_01[var_03]["anim"]); + continue; + } + + self.animname = "scripted"; + maps\_anim::anim_single_solo(self,param_01[var_03]["anim"]); + common_scripts\utility::flag_set(param_00 + "_completed_beat_" + var_03); + } + } +} + +//Function Number: 39 +generic_event_actor_animations(param_00,param_01,param_02) +{ + level endon(param_02); + self endon("death"); + for(var_03 = 0;var_03 < param_01.size;var_03++) + { + if(param_01[var_03]["anim"] != "SKIP_BEAT") + { + common_scripts\utility::flag_wait(param_01[var_03]["wait_flag"]); + stop_current_animations(); + if(param_01[var_03]["anim"] == "IDLE") + { + self.animname = "scripted"; + var_04 = self.animation; + thread maps\_anim::anim_loop([self],var_04); + continue; + } + + if(param_01[var_03]["anim"] == "PATH_TO_TARGET") + { + self notify("move"); + if(param_01[var_03 + 1]["anim"] != "TELEPORT_TO_TARGET") + { + self waittill("goal"); + self.target = undefined; + common_scripts\utility::flag_set(param_00 + "_completed_beat_" + var_03); + } + + continue; + } + + if(param_01[var_03]["anim"] == "TELEPORT_TO_TARGET") + { + var_05 = getnode(self.target,"targetname"); + maps\_utility::teleport_ai(var_05); + common_scripts\utility::flag_set(param_00 + "_completed_beat_" + var_03); + continue; + } + + if(param_01[var_03]["anim"] == "TARGET_REACHED_IDLE_ANIM") + { + self.animname = "scripted"; + var_04 = self.script_parameters; + maps\_anim::anim_single_solo(self,var_04); + continue; + } + + if(param_01[var_03]["anim"] == "WAIT_DELAY") + { + common_scripts\utility::flag_wait(param_01[var_03]["wait_for"]); + common_scripts\utility::flag_set(param_00 + "_completed_beat_" + var_03); + continue; + } + + if(param_01[var_03]["anim"] == "REACT") + { + self.animname = "scripted"; + var_04 = self.script_noteworthy; + maps\_anim::anim_single_solo_run(self,var_04); + } + } + } +} + +//Function Number: 40 +stop_current_animations(param_00) +{ + self endon("death"); + self stopanimscripted(); + self notify("drone_stop"); + self notify("stop_loop"); + self notify("single anim","end"); + self notify("looping anim","end"); + if(isdefined(param_00)) + { + param_00 notify("drone_stop"); + param_00 notify("stop_loop"); + param_00 notify("single anim","end"); + param_00 notify("looping anim","end"); + } +} + +//Function Number: 41 +simple_anim_at_struct(param_00) +{ + var_01 = common_scripts\utility::getstruct(param_00,"targetname"); + var_02 = var_01.animation; + wait(randomfloatrange(0.5,2)); + var_01 maps\_anim::anim_reach_solo(self,var_02); + var_01 maps\_anim::anim_single_solo(self,var_02); + self notify("anim_finished"); +} + +//Function Number: 42 +clear_ignore_all_on_group(param_00) +{ + foreach(var_02 in param_00) + { + if(isdefined(var_02)) + { + var_02 stop_current_animations(); + var_02 maps\_utility::set_ignoreall(0); + } + } +} + +//Function Number: 43 +delete_ai(param_00) +{ + if(isdefined(self.magic_bullet_shield)) + { + maps\_utility::stop_magic_bullet_shield(); + } + + if(!isdefined(param_00)) + { + param_00 = 128; + } + + var_01[0] = self; + level thread maps\_utility::ai_delete_when_out_of_sight(var_01,param_00); +} + +//Function Number: 44 +delete_ai_on_goal() +{ + self endon("death"); + self waittill("goal"); + delete_ai(); +} + +//Function Number: 45 +delete_ai_on_flag(param_00) +{ + common_scripts\utility::flag_wait(param_00); + delete_ai(); +} + +//Function Number: 46 +delete_ai_on_path_end() +{ + self endon("death"); + self waittill("reached_path_end"); + self delete(); +} + +//Function Number: 47 +clean_up_ai_single(param_00) +{ + var_01[0] = param_00; + clean_up_ai(var_01); +} + +//Function Number: 48 +clean_up_ai(param_00) +{ + var_01 = getaiarray(); + foreach(var_03 in var_01) + { + if(common_scripts\utility::array_contains(param_00,var_03)) + { + continue; + } + + var_03 delete_ai(); + } +} + +//Function Number: 49 +clean_up_vehicles_all() +{ + var_00 = maps\_utility::getvehiclearray(); + foreach(var_02 in var_00) + { + var_02 delete_veh(); + } +} + +//Function Number: 50 +clean_up_vehicle_type(param_00) +{ + var_01 = maps\_utility::getvehiclearray(); + foreach(var_03 in var_01) + { + if(var_03.vehicletype == param_00) + { + var_03 delete_veh(); + } + } +} + +//Function Number: 51 +delete_veh(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 128; + } + + var_01[0] = self; + level thread maps\_utility::ai_delete_when_out_of_sight(var_01,param_00); +} + +//Function Number: 52 +open_double_doors_by_name(param_00,param_01,param_02) +{ + var_03 = get_ents_by_targetname(param_00 + "_right"); + var_04 = get_ents_by_targetname(param_00 + "_left"); + level thread open_door(var_03,param_01,param_02); + level thread open_door(var_04,param_01,param_02 * -1); +} + +//Function Number: 53 +open_double_hatch_by_name(param_00,param_01,param_02) +{ + var_03 = get_ents_by_targetname(param_00 + "_right"); + var_04 = get_ents_by_targetname(param_00 + "_left"); + level thread open_door(var_03,param_01,param_02); + level thread open_door(var_04,param_01,param_02); +} + +//Function Number: 54 +open_single_door_by_name(param_00,param_01,param_02) +{ + var_03 = get_ents_by_targetname(param_00); + level thread open_door(var_03,param_01,param_02); +} + +//Function Number: 55 +open_door(param_00,param_01,param_02) +{ + foreach(var_04 in param_00) + { + if(var_04.classname == "script_brushmodel") + { + var_04 connectpaths(); + } + + var_04 rotateyaw(param_02,param_01,param_01 / 5,param_01 / 5); + } + + wait(param_01); + foreach(var_04 in param_00) + { + if(var_04.classname == "script_brushmodel") + { + var_04 disconnectpaths(); + } + } +} + +//Function Number: 56 +open_double_sliding_doors_toggle(param_00,param_01) +{ + var_02 = get_ents_by_targetname(param_00 + "_right"); + var_03 = get_ents_by_targetname(param_00 + "_left"); + level thread open_sliding_door_toggle(var_02,param_00,param_01); + level thread open_sliding_door_toggle(var_03,param_00,param_01); +} + +//Function Number: 57 +open_sliding_door_toggle(param_00,param_01,param_02,param_03) +{ + foreach(var_05 in param_00) + { + var_06 = get_ent_by_targetname(var_05.targetname + "_goal"); + var_07 = get_ent_by_targetname(var_05.targetname + "_default_org"); + var_05.col = get_ent_by_targetname(var_05.target); + var_05.col linkto(var_05); + if(isdefined(var_05.col) && var_05.col.classname == "script_brushmodel") + { + var_05.col connectpaths(); + } + + if(isdefined(param_03)) + { + var_08 = param_03 * var_06.origin - var_07.origin + var_07.origin; + soundscripts\_snd::snd_message("bet_conf_door_opens",var_05); + var_05 moveto(var_08,param_02,param_02 / 2,param_02 / 2); + wait(param_02); + var_05.col disconnectpaths(); + continue; + } + + if(var_05.origin == var_06.origin) + { + var_05 moveto(var_07.origin,param_02,param_02 / 2,param_02 / 2); + wait(param_02); + var_05.col disconnectpaths(); + if(var_05.classname == "script_brushmodel") + { + var_05 disconnectpaths(); + } + + continue; + } + + if(var_05.origin == var_07.origin) + { + var_05 moveto(var_06.origin,param_02,param_02 / 2,param_02 / 2); + wait(param_02); + var_05.col connectpaths(); + if(var_05.classname == "script_brushmodel") + { + var_05 connectpaths(); + } + + continue; + } + + var_05 moveto(var_06.origin,param_02,param_02 / 2,param_02 / 2); + wait(param_02); + var_05.col connectpaths(); + if(var_05.classname == "script_brushmodel") + { + var_05 connectpaths(); + } + } +} + +//Function Number: 58 +prepare_blast_doors(param_00,param_01) +{ + var_02 = get_ents_by_targetname(param_00); + foreach(var_04 in var_02) + { + if(isdefined(var_04.prepared) && var_04.prepared) + { + continue; + } + + var_04.prepared = 1; + var_04.original_org = var_04.origin; + var_04.origin = var_04.origin + (0,0,param_01); + var_04.opened_org = var_04.origin; + } +} + +//Function Number: 59 +raise_blast_doors(param_00,param_01,param_02) +{ + var_03 = get_ents_by_targetname(param_00); + var_03 = common_scripts\utility::array_sort_with_func(var_03,::blast_door_compare); + var_04 = 1; + var_05 = var_03[var_03.size - 1].door_num; + var_06 = 0; + while(var_04 <= var_05) + { + var_07 = []; + while(var_06 < var_03.size && var_03[var_06].door_num == var_04) + { + var_03[var_06].prepared = 0; + var_03[var_06] moveto(var_03[var_06].original_org,param_01,0,param_01 / 4); + var_07[var_07.size] = var_03[var_06]; + var_06++; + } + + wait(param_01); + var_04++; + } + + if(isdefined(param_02)) + { + blast_doors_mr_x(var_03,param_02); + } +} + +//Function Number: 60 +blast_doors_mr_x(param_00,param_01) +{ + param_00 = common_scripts\utility::array_randomize(param_00); + var_02 = 0.5; + var_03 = 1; + var_04 = [40,100,120,70]; + var_05 = [40,100,120,70]; + var_06 = 0; + common_scripts\utility::flag_wait(param_01); + foreach(var_08 in param_00) + { + var_09 = randomfloatrange(var_02,var_03); + var_08 moveto(var_08.opened_org + var_04[var_06] * anglestoup(var_08.angles),var_09,0,var_09 / 4); + wait(0.1); + var_06++; + if(var_06 > 3) + { + var_06 = 0; + } + } + + var_06 = 0; + wait(0.2); + foreach(var_08 in param_00) + { + var_09 = randomfloatrange(var_02,var_03); + var_08 moveto(var_08.original_org - var_05[var_06] * anglestoup(var_08.angles),var_09,0,var_09 / 4); + wait(0.1); + var_06++; + if(var_06 > 3) + { + var_06 = 0; + } + } + + wait(0.2); + foreach(var_08 in param_00) + { + var_08 moveto(var_08.opened_org,var_02,0,var_02 / 4); + wait(0.1); + } + + common_scripts\utility::flag_wait("flag_roof_close_mrX_blast_doors"); + wait(2); + param_00 = common_scripts\utility::array_randomize(param_00); + foreach(var_08 in param_00) + { + var_09 = randomfloatrange(var_02,var_03); + var_08 moveto(var_08.original_org,var_09,0,var_09 / 4); + } +} + +//Function Number: 61 +blast_door_compare(param_00,param_01) +{ + if(!isdefined(param_00.doornum)) + { + param_00.door_num = get_blast_door_num(param_00.script_noteworthy); + } + + if(!isdefined(param_01.doornum)) + { + param_01.door_num = get_blast_door_num(param_01.script_noteworthy); + } + + return param_00.door_num < param_01.door_num; +} + +//Function Number: 62 +get_blast_door_num(param_00) +{ + var_01 = strtok(param_00,"_"); + foreach(var_03 in var_01) + { + if(maps\_utility::string_is_single_digit_integer(var_03)) + { + return int(var_03); + } + } +} + +//Function Number: 63 +ups_to_mph(param_00) +{ + return param_00 / 63360 * 60 * 60; +} + +//Function Number: 64 +mph_to_ups(param_00) +{ + return param_00 * 63360 / 60 / 60; +} + +//Function Number: 65 +vehicle_chase_target(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ + self notify("one_vehicle_chase_target"); + self endon("one_vehicle_chase_target"); + level endon("stop_all_chase_vehicles"); + self endon("stop_chase_target"); + self endon("death"); + self.oscillate_speed = 0; + if(param_03 >= 0 && param_04 > 0) + { + thread vehicle_oscillate_location(param_03,param_04); + } + + for(;;) + { + var_0A = param_00 vehicle_getspeed(); + var_0B = vectornormalize(anglestoforward(param_00.angles)); + var_0C = self.origin - param_00.origin; + var_0D = vectordot(var_0B,var_0C) * var_0B; + var_0E = length(var_0D); + var_0F = vectornormalize(var_0C); + var_10 = vectordot(var_0B,var_0F); + if(var_10 < 0) + { + if(param_05) + { + var_0A = var_0A * 1.5; + } + else if(var_0E < param_01) + { + var_0A = var_0A * 0.8; + } + else if(var_0E > param_02 * 1.5) + { + var_0A = var_0A * 1.35; + } + else if(var_0E > param_02 * 1.2) + { + var_0A = var_0A * 1.2; + } + else if(var_0E > param_02) + { + var_0A = var_0A * 1.1; + } + else + { + var_0A = var_0A + self.oscillate_speed; + } + } + else if(param_06) + { + var_0A = var_0A * 0.5; + } + else if(var_0E < param_01) + { + var_0A = var_0A * 1.2; + } + else if(var_0E > param_02 * 1.5) + { + var_0A = var_0A * 0.7; + } + else if(var_0E > param_02 * 1.2) + { + var_0A = var_0A * 0.85; + } + else if(var_0E > param_02) + { + var_0A = var_0A * 0.95; + } + else + { + var_0A = var_0A + self.oscillate_speed; + } + + if(param_07 && isdefined(level.player.drivingvehicle)) + { + if(vectordot(level.player.drivingvehicle.origin - self.origin,anglestoforward(self.angles)) > 0) + { + var_11 = time_and_distance_of_closest_approach(self.origin,self vehicle_getvelocity(),level.player.drivingvehicle.origin,level.player.drivingvehicle vehicle_getvelocity(),0.1,234,0); + var_12 = var_11[0]; + var_13 = var_11[1]; + if(var_12 < 2 && var_13 < 234) + { + var_0A = level.player.drivingvehicle vehicle_getspeed() * 0.6; + } + } + } + + if(param_08) + { + var_0A = clamp(var_0A,0,200); + } + else if(isdefined(param_09)) + { + var_0A = clamp(var_0A,param_09,200); + } + else + { + var_0A = clamp(var_0A,20,200); + } + + self vehicle_setspeed(var_0A,100,100); + wait(0.05); + } +} + +//Function Number: 66 +vehicle_oscillate_location(param_00,param_01) +{ + self notify("one_vehicle_oscillate_location"); + self endon("one_vehicle_oscillate_location"); + level endon("stop_all_chase_vehicles"); + self endon("stop_chase_target"); + self endon("death"); + var_02 = gettime(); + param_01 = param_01 * 1000; + for(;;) + { + var_03 = gettime() - var_02; + var_04 = var_03 % param_01; + var_04 = var_04 / param_01; + var_04 = var_04 * 365; + var_05 = param_00 * sin(var_04); + self.oscillate_speed = var_05; + wait(0.05); + } +} + +//Function Number: 67 +time_and_distance_of_closest_approach(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + if(!isdefined(param_04)) + { + param_04 = 0.05; + } + + if(!isdefined(param_05)) + { + param_05 = 0; + } + + var_07 = param_00 - param_02; + var_08 = param_01 - param_03; + var_09 = lengthsquared(var_08); + var_0A = 2 * vectordot(var_07,var_08); + var_0B = lengthsquared(var_07) - squared(param_05); + var_0C = squared(var_0A) - 4 * var_09 * var_0B; + var_0D = 0; + if(var_0C > 0 && var_09 > 0) + { + var_0E = -0.5 * var_0A + common_scripts\utility::sign(var_0A) * sqrt(var_0C); + var_0F = min(var_0E / var_09,var_0B / var_0E); + } + else if(var_0A > 0) + { + var_0F = var_0B / -2 * var_0A; + } + else + { + var_0F = param_05; + } + + if(var_0F < param_04) + { + var_0F = param_04; + } + + var_10 = distance(param_00 + param_01 * var_0F,param_02 + param_03 * var_0F); + return [var_0F,var_10]; +} + +//Function Number: 68 +get_ent_by_targetname(param_00) +{ + return getent(param_00,"targetname"); +} + +//Function Number: 69 +get_ents_by_targetname(param_00) +{ + return getentarray(param_00,"targetname"); +} + +//Function Number: 70 +get_ent_by_target(param_00) +{ + return getent(param_00,"target"); +} + +//Function Number: 71 +get_ents_by_target(param_00) +{ + return getentarray(param_00,"target"); +} + +//Function Number: 72 +get_ents_by_noteworthy(param_00) +{ + return getentarray(param_00,"script_noteworthy"); +} + +//Function Number: 73 +get_vehnode_by_targetname(param_00) +{ + return getvehiclenode(param_00,"targetname"); +} + +//Function Number: 74 +get_vehnodes_by_targetname(param_00) +{ + return getvehiclenodearray(param_00,"targetname"); +} + +//Function Number: 75 +wait_for_trigger_and_ai_single(param_00,param_01) +{ + var_02[0] = param_01; + wait_for_trigger_with_group_touching(param_00,1,var_02); +} + +//Function Number: 76 +wait_for_trigger_just_ai_single(param_00,param_01) +{ + var_02[0] = param_01; + wait_for_trigger_with_group_touching(param_00,0,var_02); +} + +//Function Number: 77 +wait_for_trigger_and_ai_group(param_00,param_01) +{ + wait_for_trigger_with_group_touching(param_00,1,param_01); +} + +//Function Number: 78 +wait_for_trigger_just_ai_group(param_00,param_01) +{ + wait_for_trigger_with_group_touching(param_00,0,param_01); +} + +//Function Number: 79 +wait_for_trigger_with_group_touching(param_00,param_01,param_02) +{ + var_03 = get_ent_by_targetname(param_00); + for(;;) + { + if(param_01) + { + var_03 waittill("trigger"); + } + + var_04 = 1; + foreach(var_06 in param_02) + { + if(!var_06 istouching(var_03)) + { + var_04 = 0; + } + } + + if(var_04) + { + break; + } + + wait(0.05); + } +} + +//Function Number: 80 +wait_for_no_trigger_and_ai_single(param_00,param_01) +{ + var_02[0] = param_01; + wait_for_trigger_with_group_not_touching(param_00,1,var_02); +} + +//Function Number: 81 +wait_for_no_trigger_just_ai_single(param_00,param_01) +{ + var_02[0] = param_01; + wait_for_trigger_with_group_not_touching(param_00,0,var_02); +} + +//Function Number: 82 +wait_for_no_trigger_and_ai_group(param_00,param_01) +{ + wait_for_trigger_with_group_not_touching(param_00,1,param_01); +} + +//Function Number: 83 +wait_for_no_trigger_just_ai_group(param_00,param_01) +{ + wait_for_trigger_with_group_not_touching(param_00,0,param_01); +} + +//Function Number: 84 +wait_for_trigger_with_group_not_touching(param_00,param_01,param_02) +{ + var_03 = get_ent_by_targetname(param_00); + for(;;) + { + var_04 = 1; + if(param_01 && level.player istouching(var_03)) + { + var_04 = 0; + } + + foreach(var_06 in param_02) + { + if(var_06 istouching(var_03)) + { + var_04 = 0; + } + } + + if(var_04) + { + break; + } + + wait(0.05); + } +} + +//Function Number: 85 +drone_swarm_move_change_path_on_trigger(param_00) +{ + self waittill("trigger"); + if(isdefined(self.script_wait)) + { + wait(self.script_wait); + } + + var_01 = common_scripts\utility::getstruct(self.target,"targetname"); + var_02 = var_01.script_noteworthy; + var_03 = 3; + if(isdefined(var_01.script_delay)) + { + var_03 = var_01.script_delay; + } + + if(!isdefined(param_00) || param_00 == 0) + { + level.snake_cloud vehicle_scripts\_attack_drone_common::snake_cloud_teleport_to_point(var_01); + } + + level.snake_cloud vehicle_scripts\_attack_drone_common::snake_cloud_goto_points(var_02,undefined,var_03); +} + +//Function Number: 86 +drone_swarm_start_kamikaze_attack(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + if(!isdefined(param_04)) + { + level.override_min_wave_delay = 7; + } + else + { + level.override_min_wave_delay = param_04; + } + + if(!isdefined(param_05)) + { + level.override_max_wave_delay = 10; + } + else + { + level.override_max_wave_delay = param_05; + } + + if(!isdefined(param_06)) + { + level.override_max_wave_spawns = 2; + } + else + { + level.override_max_wave_spawns = param_06; + } + + if(!isdefined(param_07)) + { + level.override_kamikaze_range = 512; + } + else + { + level.override_kamikaze_range = param_07; + } + + if(isdefined(param_01)) + { + level waittill(param_01); + } + + if(isdefined(param_02)) + { + level endon(param_02); + } + + level endon("drone_swarm_stop_kamikaze_attack"); + for(;;) + { + level.snake_cloud.snakes = maps\_shg_design_tools::sortbydistanceauto(level.snake_cloud.snakes,level.player.origin); + var_08 = randomint(level.override_max_wave_spawns); + var_09 = 0; + for(var_0A = 0;var_09 < var_08 && var_0A < level.snake_cloud.snakes.size;var_0A++) + { + if(level.player player_can_see_point(level.snake_cloud.snakes[var_0A].origin)) + { + continue; + } + + if(level.snake_cloud.snakes[var_0A] drone_swarm_kamikaze_attack_player(param_00,param_03)) + { + var_09++; + } + + wait(randomfloatrange(0.1,0.25)); + } + + if(isdefined(param_03)) + { + foreach(var_0C in param_03) + { + var_0C.claimed = undefined; + } + } + + wait(randomfloatrange(level.override_min_wave_delay,level.override_max_wave_delay)); + } +} + +//Function Number: 87 +drone_swarm_kamikaze_set_attack_vars(param_00,param_01,param_02,param_03) +{ + waittillframeend; + if(isdefined(param_00)) + { + level.override_min_wave_delay = param_00; + } + + if(isdefined(param_01)) + { + level.override_max_wave_delay = param_01; + } + + if(isdefined(param_02)) + { + level.override_max_wave_spawns = param_02; + } + + if(isdefined(param_03)) + { + level.override_kamikaze_range = param_03; + } +} + +//Function Number: 88 +drone_swarm_kamikaze_attack_player(param_00,param_01) +{ + var_02 = level.player geteye(); + var_03 = self gettagorigin("tag_origin"); + if(!isdefined(level.swarm_last_player_pos)) + { + level.swarm_last_player_pos = var_02; + } + + if(sighttracepassed(var_03,var_02,0,self)) + { + level.swarm_last_player_pos = var_02; + param_00.count = 1; + var_04 = param_00 maps\_utility::spawn_vehicle(); + if(!isdefined(var_04) || !var_04 maps\_vehicle::isvehicle()) + { + return 0; + } + + var_04 vehicle_teleport(self.origin,self.angles); + var_04 vehicle_setspeed(20,20,20); + var_05 = undefined; + if(isdefined(param_01)) + { + foreach(var_07 in param_01) + { + if(!isdefined(var_07.claimed) && distance(var_07.origin,level.player.origin) < level.override_kamikaze_range) + { + var_07.claimed = 1; + var_05 = var_07; + break; + } + } + } + + var_04 thread drone_swarm_kamikaze_seek_player(var_05); + return 1; + } + + return 0; +} + +//Function Number: 89 +drone_swarm_kamikaze_seek_player(param_00) +{ + self endon("death"); + var_01 = undefined; + for(;;) + { + if(isdefined(param_00)) + { + var_01 = param_00.origin; + } + else + { + var_02 = anglestoforward(level.player getplayerangles()); + var_03 = level.player geteye() + 30 * var_02; + var_04 = self gettagorigin("tag_origin"); + var_05 = vectornormalize(var_03 - var_04); + var_06 = var_04 + var_05 * 20; + var_01 = level.swarm_last_player_pos; + if(sighttracepassed(var_06,var_03,0,undefined)) + { + var_01 = var_03; + } + } + + drone_swarm_kamikaze_set_goal(var_01); + if(distance(self.origin,var_01) < 45) + { + thread drone_swarm_kamikaze_explode(); + } + + wait(0.05); + } +} + +//Function Number: 90 +drone_swarm_kamikaze_set_goal(param_00) +{ + if(!isdefined(self)) + { + return; + } + + if(!maps\_vehicle::isvehicle()) + { + return; + } + + self setvehgoalpos(param_00); +} + +//Function Number: 91 +drone_swarm_kamikaze_explode() +{ + var_00 = 15; + var_01 = 10; + var_02 = self.origin; + var_03 = self.angles; + if(randomint(100) < 5) + { + playfx(common_scripts\utility::getfx("drone_sparks"),var_02); + } + + self radiusdamage(var_02,130,var_00,var_01,self); + earthquake(randomfloatrange(0.25,1),0.5,level.player.origin,32); + var_04 = spawn("script_model",var_02); + var_04 setmodel("vehicle_mil_attack_drone_destroy"); + var_04.angles = var_03; + playfxontag(level._effect["swarm_death_explosion"],self,"tag_origin"); + soundscripts\_snd::snd_message("pdrone_death_explode"); + self kill(); + wait 0.05; + var_05 = var_04.origin + (randomintrange(-10,10),randomintrange(-10,10),randomintrange(-10,10)) - level.player geteye(); + var_06 = randomintrange(50,80); + var_04 physicslaunchserver(var_04.origin + (randomintrange(-15,15),randomintrange(-15,15),randomintrange(-15,15)),var_05 * var_06); + if(randomint(100) < 5) + { + playfxontag(common_scripts\utility::getfx("drone_smoke"),var_04,"tag_origin"); + } + + wait(15); + var_04 delete(); +} + +//Function Number: 92 +start_fire_suppression_group(param_00,param_01) +{ + common_scripts\utility::flag_wait(param_01); + level thread maps\betrayal_fx::escape_sprinklers_off(); +} + +//Function Number: 93 +warbird_toggle_turret_off_after_deploy() +{ + self endon("death"); + self waittill("unloaded"); + maps\_utility::ent_flag_clear("fire_turrets"); +} + +//Function Number: 94 +warbird_shooting_think(param_00,param_01,param_02) +{ + level.player endon("death"); + self endon("death"); + self.mgturret[0] setmode("manual"); + self.mgturret[1] setmode("manual"); + if(!maps\_utility::ent_flag_exist("fire_turrets")) + { + maps\_utility::ent_flag_init("fire_turrets"); + } + + if(isdefined(param_01) && param_01 == 1) + { + maps\_utility::ent_flag_set("fire_turrets"); + } + + for(;;) + { + maps\_utility::ent_flag_wait("fire_turrets"); + thread warbird_fire_init(param_00,param_02); + maps\_utility::ent_flag_waitopen("fire_turrets"); + } +} + +//Function Number: 95 +warbird_fire_init(param_00,param_01) +{ + self endon("death"); + var_02 = self.mgturret[0]; + var_03 = self.mgturret[1]; + if(isdefined(param_01)) + { + var_04 = param_01; + } + else + { + var_04 = 3; + } + + while(maps\_utility::ent_flag("fire_turrets")) + { + if(isdefined(self.sight_check)) + { + param_00 = self.sight_check; + } + + if(!isdefined(self.turret_target_override)) + { + var_05 = getaiarray("allies"); + if(!maps\_utility::ent_flag_exist("dont_shoot_player") || !maps\_utility::ent_flag("dont_shoot_player")) + { + var_06 = 33; + if(randomint(100) <= var_06) + { + var_05 = common_scripts\utility::array_add(var_05,level.player); + } + } + + var_07 = []; + foreach(var_09 in var_05) + { + if(isdefined(var_09.ignoreme) && var_09.ignoreme) + { + continue; + } + else + { + var_07[var_07.size] = var_09; + } + } + + var_07 = sortbydistance(var_07,self.origin); + var_0B = undefined; + foreach(var_09 in var_07) + { + if(!isdefined(var_09)) + { + continue; + } + + if(!isalive(var_09)) + { + continue; + } + + if(isdefined(param_00) && param_00) + { + var_0D = self.mgturret[0] gettagorigin("tag_flash"); + var_0E = var_09 geteye(); + var_0F = vectornormalize(var_0E - var_0D); + var_10 = var_0E + var_0F * 20; + if(!sighttracepassed(var_10,var_0E,0,var_09,self.mgturret[0])) + { + continue; + } + } + + var_0B = var_09; + break; + } + } + else + { + var_0B = self.turret_target_override; + } + + if(isdefined(var_0B)) + { + var_02 settargetentity(var_0B); + var_03 settargetentity(var_0B); + var_02 turretfireenable(); + var_03 turretfireenable(); + var_02 startfiring(); + var_03 startfiring(); + warbird_wait_for_fire_target_done(var_0B,param_00); + var_02 cleartargetentity(); + var_03 cleartargetentity(); + var_02 turretfiredisable(); + var_03 turretfiredisable(); + } + + wait(var_04); + } + + var_02 turretfiredisable(); + var_03 turretfiredisable(); +} + +//Function Number: 96 +warbird_wait_for_fire_target_done(param_00,param_01) +{ + param_00 endon("death"); + if(!maps\_utility::ent_flag("fire_turrets")) + { + return; + } + + self endon("fire_turrets"); + if(param_00 == level.player) + { + var_02 = 0.6; + } + else + { + var_02 = 3; + } + + var_03 = 0; + while(var_03 < var_02) + { + if(isdefined(param_01) && param_01) + { + var_04 = self.mgturret[0] gettagorigin("tag_flash"); + var_05 = param_00 geteye(); + var_06 = vectornormalize(var_05 - var_04); + var_07 = var_04 + var_06 * 20; + if(!sighttracepassed(var_07,var_05,0,param_00,self.mgturret[0])) + { + return; + } + } + + var_03 = var_03 + 0.3; + wait(0.3); + } +} + +//Function Number: 97 +warbird_get_passengers() +{ + var_00 = self.riders; + return var_00; +} + +//Function Number: 98 +warbird_ignore_until_unloaded() +{ + foreach(var_01 in self) + { + var_01.ignoreme = 1; + var_01 thread warbird_wait_until_unloaded(); + } +} + +//Function Number: 99 +warbird_wait_until_unloaded() +{ + self endon("death"); + self waittill("jumpedout"); + self.ignoreme = 0; + self notify("take_cover"); +} + +//Function Number: 100 +warbird_unload_listener() +{ + var_00 = self.riders; + self waittill("finish"); + foreach(var_02 in var_00) + { + var_02 notify("zipline_finish"); + } +} + +//Function Number: 101 +ally_redirect_goto_node(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + var_08 = undefined; + foreach(var_0A in level.alpha_squad) + { + if(isdefined(var_0A.script_friendname) && var_0A.script_friendname == param_00) + { + var_08 = var_0A; + } + } + + var_0C = getnode(param_01,"targetname"); + var_08 maps\_utility::enable_ai_color(); + var_08 maps\_utility::set_goal_node(var_0C); + if(isdefined(param_03)) + { + var_08 thread exec_function(param_02,param_03,param_04,param_05,param_06,param_07); + } +} + +//Function Number: 102 +exec_function(param_00,param_01,param_02,param_03,param_04,param_05) +{ + var_06 = 0; + if(isdefined(param_05)) + { + var_06 = 4; + } + else if(isdefined(param_04)) + { + var_06 = 3; + } + else if(isdefined(param_03)) + { + var_06 = 2; + } + else if(isdefined(param_02)) + { + var_06 = 1; + } + + if(param_00 == 1) + { + switch(var_06) + { + case 0: + thread [[ param_01 ]](); + break; + + case 1: + thread [[ param_01 ]](param_02); + break; + + case 2: + thread [[ param_01 ]](param_02,param_03); + break; + + case 3: + thread [[ param_01 ]](param_02,param_03,param_04); + break; + + case 4: + thread [[ param_01 ]](param_02,param_03,param_04,param_05); + break; + } + + return; + } + + switch(var_06) + { + case 0: + [[ param_01 ]](); + break; + + case 1: + [[ param_01 ]](param_02); + break; + + case 2: + [[ param_01 ]](param_02,param_03); + break; + + case 3: + [[ param_01 ]](param_02,param_03,param_04); + break; + + case 4: + [[ param_01 ]](param_02,param_03,param_04,param_05); + break; + } +} + +//Function Number: 103 +assign_goal_vol(param_00,param_01) +{ + if(isdefined(self)) + { + var_02 = getent(param_00,"targetname"); + self setgoalvolumeauto(var_02); + if(isdefined(param_01)) + { + self.goalradius = param_01; + } + } +} + +//Function Number: 104 +assign_goal_node(param_00,param_01) +{ + if(isdefined(self)) + { + var_02 = getnode(param_00,"targetname"); + self setgoalnode(var_02); + if(isdefined(param_01)) + { + self.goalradius = param_01; + } + } +} + +//Function Number: 105 +setupenemygoalvolumesettings(param_00,param_01) +{ + param_00 = common_scripts\utility::array_randomize(param_00); + if(level.player istouching(param_00[0])) + { + self setgoalvolumeauto(param_00[1]); + wait 0.05; + if(isdefined(param_01)) + { + self.goalradius = param_01; + return; + } + + return; + } + + self setgoalvolumeauto(param_00[0]); + wait 0.05; + if(isdefined(param_01)) + { + self.goalradius = param_01; + } +} + +//Function Number: 106 +ally_move_dynamic_speed() +{ + self notify("start_dynamic_run_speed"); + self endon("death"); + self endon("stop_dynamic_run_speed"); + self endon("start_dynamic_run_speed"); + if(maps\_utility::ent_flag_exist("_stealth_custom_anim")) + { + maps\_utility::ent_flag_waitopen("_stealth_custom_anim"); + } + + self.run_speed_state = ""; + ally_reset_dynamic_speed(); + var_00 = 144; + var_01 = ["sprint","run"]; + var_02 = []; + var_02["player_sprint"]["sprint"][0] = 225 * var_00; + var_02["player_sprint"]["sprint"][1] = 900 * var_00; + var_02["player_sprint"]["run"][0] = 900 * var_00; + var_02["player_sprint"]["run"][1] = 900 * var_00; + var_02["player_run"]["sprint"][0] = 225 * var_00; + var_02["player_run"]["sprint"][1] = 400 * var_00; + var_02["player_run"]["run"][0] = 400 * var_00; + var_02["player_run"]["run"][1] = 625 * var_00; + var_02["player_crouch"]["run"][0] = 4 * var_00; + var_02["player_crouch"]["run"][1] = 100 * var_00; + var_03 = 123; + var_04 = 189; + var_05 = 283; + for(;;) + { + wait(0.2); + if(isdefined(self.force_run_speed_state)) + { + ally_dynamic_run_set(self.force_run_speed_state); + continue; + } + + var_06 = vectornormalize(anglestoforward(self.angles)); + var_07 = vectornormalize(self.origin - level.player.origin); + var_08 = vectordot(var_06,var_07); + var_09 = distancesquared(self.origin,level.player.origin); + if(isdefined(self.cqbwalking) && self.cqbwalking) + { + self.moveplaybackrate = 1; + } + + if(common_scripts\utility::flag_exist("_stealth_spotted") && common_scripts\utility::flag("_stealth_spotted")) + { + ally_dynamic_run_set("run"); + continue; + } + + if(var_08 < -0.25 && var_09 > 225 * var_00) + { + ally_dynamic_run_set("sprint"); + continue; + } + + ally_dynamic_run_set("cqb"); + } +} + +//Function Number: 107 +ally_stop_dynamic_speed() +{ + self endon("death"); + self notify("stop_dynamic_run_speed"); + ally_reset_dynamic_speed(); +} + +//Function Number: 108 +ally_reset_dynamic_speed() +{ + self endon("death"); + maps\_utility::disable_cqbwalk(); + self.moveplaybackrate = 1; + maps\_utility::clear_run_anim(); + self notify("stop_loop"); +} + +//Function Number: 109 +ally_dynamic_run_set(param_00) +{ + if(self.run_speed_state == param_00) + { + return; + } + + self.run_speed_state = param_00; + switch(param_00) + { + case "sprint": + if(isdefined(self.cqbwalking) && self.cqbwalking) + { + self.moveplaybackrate = 1; + } + else + { + self.moveplaybackrate = 1; + } + + maps\_utility::set_generic_run_anim("DRS_sprint"); + maps\_utility::disable_cqbwalk(); + self notify("stop_loop"); + break; + + case "run": + self.moveplaybackrate = 1; + maps\_utility::clear_run_anim(); + maps\_utility::disable_cqbwalk(); + self notify("stop_loop"); + break; + + case "jog": + self.moveplaybackrate = 1; + maps\_utility::set_generic_run_anim("DRS_combat_jog"); + maps\_utility::disable_cqbwalk(); + self notify("stop_loop"); + break; + + case "cqb": + self.moveplaybackrate = 1; + maps\_utility::enable_cqbwalk(); + self notify("stop_loop"); + break; + } +} + +//Function Number: 110 +fake_linkto_internal(param_00,param_01,param_02,param_03) +{ + self endon("death"); + param_00 endon("death"); + self notify("fake_unlink"); + self endon("fake_unlink"); + if(!isdefined(param_02) || !isdefined(param_03)) + { + if(isdefined(param_01)) + { + var_04 = param_00 gettagorigin(param_01); + var_05 = param_00 gettagangles(param_01); + } + else + { + var_04 = param_02.origin; + var_05 = param_01.angles; + } + + var_06 = transformmove((0,0,0),(0,0,0),var_04,var_05,self.origin,self.angles); + param_02 = var_06["origin"]; + param_03 = var_06["angles"]; + } + + for(;;) + { + if(isdefined(param_01)) + { + var_04 = param_00 gettagorigin(param_01); + var_05 = param_00 gettagangles(param_01); + } + else + { + var_04 = param_00.origin; + var_05 = param_00.angles; + } + + var_06 = transformmove(var_04,var_05,(0,0,0),(0,0,0),param_02,param_03); + self.origin = var_06["origin"]; + self.angles = var_06["angles"]; + wait 0.05; + } +} + +//Function Number: 111 +fake_unlink() +{ + self notify("fake_unlink"); +} + +//Function Number: 112 +civilian_setup(param_00,param_01,param_02) +{ + self waittill("trigger"); + var_03 = getent(self.script_linkto,"script_linkname"); + var_04 = getentarray(self.target,"targetname"); + var_05 = []; + var_06 = []; + var_07 = []; + foreach(var_09 in var_04) + { + if(isdefined(var_09.script_noteworthy) && var_09.script_noteworthy == "ai_spawner") + { + var_05 = common_scripts\utility::getstructarray(var_09.target,"targetname"); + foreach(var_0B in var_05) + { + var_0C = var_0B civilian_spawn_single(var_09,"ai",param_01); + var_09.count = 1; + var_07 = common_scripts\utility::array_add(var_07,var_0C); + wait 0.05; + var_0C thread civilian_actor_behavior_manager(param_00,1,var_0B); + } + + continue; + } + + var_05 = common_scripts\utility::getstructarray(var_09.target,"targetname"); + foreach(var_0B in var_05) + { + var_0C = var_0B civilian_spawn_single(var_09,"drone",param_01); + var_0C thread civilian_actor_behavior_manager(param_00,0); + var_06 = common_scripts\utility::array_add(var_06,var_0C); + } + } + + if(!isdefined(param_02) || param_02) + { + civilian_setup_esc_nodes(var_07); + } + + var_03 waittill("trigger"); + foreach(var_12 in var_07) + { + civilian_cleanup(var_12); + } + + foreach(var_12 in var_06) + { + civilian_cleanup(var_12); + } +} + +//Function Number: 113 +civilian_spawn_single(param_00,param_01,param_02) +{ + self endon("death"); + var_03 = undefined; + param_00.target = self.target; + param_00.script_moveoverride = 1; + if(param_01 == "ai") + { + var_03 = param_00 maps\_utility::spawn_ai(1); + param_00.count = 1; + var_03.ignoreme = 1; + var_03.ignoreall = 1; + var_03 maps\_utility::disable_pain(); + var_03 forceteleport(self.origin,self.angles); + } + else + { + var_03 = param_00 maps\_utility::dronespawn(); + var_03.origin = self.origin; + var_03.angles = self.angles; + } + + param_00.script_moveoverride = undefined; + var_03 civilian_detach_props(); + var_03.script_parameters = self.script_parameters; + var_03.script_linkto = self.script_linkto; + var_03.animation = self.animation; + var_03.script_noteworthy = self.script_noteworthy; + var_03.script_nodestate = self.script_nodestate; + var_03.script_squadname = self.script_squadname; + var_03.health = 20; + if(isdefined(self.civilian_walk_animation)) + { + var_03.civilian_walk_animation = self.civilian_walk_animation; + } + + if(isdefined(param_02) && param_02) + { + var_03.no_friendly_fire_penalty = 1; + } + + return var_03; +} + +//Function Number: 114 +civilian_init_props() +{ + if(isdefined(level.civilianprops)) + { + return; + } + + anim.civilianprops = []; + level.civilianprops["civilian_texting_standing"] = "electronics_pda"; + level.civilianprops["civilian_texting_sitting"] = "electronics_pda"; + level.civilianprops["civilian_sitting_business_lunch_A_1"] = "com_cellphone_on"; + level.civilianprops["civilian_sitting_business_lunch_B_1"] = "com_cellphone_on"; + level.civilianprops["civilian_smoking_A"] = "prop_cigarette"; + level.civilianprops["civilian_smoking_B"] = "prop_cigarette"; + level.civilianprops["parabolic_leaning_guy_smoking_idle"] = "prop_cigarette"; + level.civilianprops["oilrig_balcony_smoke_idle"] = "prop_cigarette"; + level.civilianprops["guardB_sit_drinker_idle"] = "cs_coffeemug02"; + level.civilianprops["civilian_sitting_business_lunch_A_1"] = "com_cellphone_on"; + level.civilianprops["civilian_sitting_business_lunch_B_1"] = "com_cellphone_on"; + level.civilianprops["civilian_reader_1"] = "lab_tablet_flat_on"; + level.civilianprops["civilian_reader_2"] = "lab_tablet_flat_on"; + level.civilianprops["civilian_briefcase_walk"] = "com_metal_briefcase"; + level.civilianprops["civilian_crazy_walk"] = "electronics_pda"; + level.civilianprops["civilian_cellphone_walk"] = "com_cellphone_on"; + level.civilianprops["civilian_soda_walk"] = "ma_cup_single_closed"; + level.civilianprops["civilian_paper_walk"] = "paper_memo"; + level.civilianprops["civilian_coffee_walk"] = "cs_coffeemug02"; + level.civilianprops["civilian_pda_walk"] = "electronics_pda"; + level.civilianprops["civilian_crowd_walk_stand_idle"] = "electronics_pda"; + level.civilianprops["civilian_crowd_walk_stand"] = "electronics_pda"; + level.civilianprops["civilian_walk_nervous"] = "electronics_pda"; + level.civilianprops["civilian_walk_pda"] = "electronics_pda"; +} + +//Function Number: 115 +civilian_attach_props(param_00) +{ + if(isdefined(self.hasattachedprops)) + { + return; + } + + civilian_init_props(); + var_01 = level.civilianprops[param_00]; + if(isdefined(var_01)) + { + self.attachedpropmodel = var_01; + self.attachedproptag = "tag_inhand"; + if(issubstr(self.attachedpropmodel,"electronics_pda")) + { + wait(0.25); + } + + var_02 = self attach(self.attachedpropmodel,self.attachedproptag,1); + self.hasattachedprops = 1; + return var_01; + } +} + +//Function Number: 116 +civilian_setup_esc_nodes(param_00) +{ + if(!isdefined(level.esc_node_locations)) + { + level.esc_node_locations = getnodearray("ai_esc_node","targetname"); + } + + var_01 = undefined; + foreach(var_03 in param_00) + { + if(!isdefined(var_03.target)) + { + if(level.esc_node_locations.size > 0) + { + foreach(var_05 in level.esc_node_locations) + { + var_06 = distance(var_05.origin,self.origin); + if(!isdefined(var_05) || var_05.targetname != "ai_esc_node") + { + level.esc_node_locations = common_scripts\utility::array_remove(level.esc_node_locations,var_05); + } + } + + level.esc_node_locations = sortbydistance(level.esc_node_locations,var_03.origin); + var_01 = level.esc_node_locations[0]; + level.esc_node_locations = common_scripts\utility::array_remove(level.esc_node_locations,level.esc_node_locations[0]); + var_03 setgoalnode(var_01); + if(isdefined(var_01.target)) + { + var_03 thread civilian_actor_ai_player_reaction(var_01); + } + } + else + { + } + + continue; + } + + var_01 = getnode(var_03.target,"targetname"); + var_08 = undefined; + if(isdefined(var_01) && isdefined(var_01.target)) + { + var_08 = getent(var_01.target,"targetname"); + if(isdefined(var_08) && isdefined(var_08.angles)) + { + var_03.final_animation_angles = var_08.angles; + var_03.final_animation_origin = var_08.origin; + } + } + + var_03 setgoalnode(var_01); + } +} + +//Function Number: 117 +filter_nodes(param_00,param_01) +{ + var_02 = []; + foreach(var_04 in param_00) + { + if(isdefined(var_04.targetname) && var_04.targetname == param_01) + { + var_02 = common_scripts\utility::array_add(var_02,var_04); + } + } + + return var_02; +} + +//Function Number: 118 +civilian_actor_behavior_manager(param_00,param_01,param_02) +{ + level.player endon("death"); + self endon("death"); + if(isdefined(param_02) && isdefined(param_02.animation) && issubstr(param_02.animation,"_sit_")) + { + thread civilian_actor_play_idle(undefined,param_02); + } + else + { + thread civilian_actor_play_idle(); + } + + thread civilian_wait_for_reaction(param_00); + self waittill("reacting"); + if(param_01) + { + self setlookatentity(level.player); + self setlookatentity(); + } + + thread civilian_actor_play_reaction(param_01); +} + +//Function Number: 119 +civilian_wait_for_reaction(param_00) +{ + if(isstring(param_00)) + { + common_scripts\utility::flag_wait(param_00); + } + else if(isdefined(param_00)) + { + maps\_utility::waittill_entity_in_range(level.player,param_00); + } + else + { + } + + wait 0.05; + self notify("reacting"); +} + +//Function Number: 120 +civilian_watch_player_when_close() +{ + self endon("death"); + level.player endon("death"); + self endon("reacting"); + var_00 = 0; + for(;;) + { + var_00 = distance(self.origin,level.player.origin); + if(var_00 <= 100) + { + self setlookatentity(level.player); + } + else + { + self stoplookat(); + } + + wait(0.5); + } +} + +//Function Number: 121 +civilian_actor_play_idle(param_00,param_01) +{ + self notify("new_idle_spot"); + self endon("new_idle_spot"); + self endon("death"); + if(isdefined(self.attachedpropmodel)) + { + civilian_detach_props(); + } + + stop_current_animations(); + self.animname = "generic"; + if(isdefined(param_00)) + { + var_02 = param_00; + } + else if(isdefined(self.animation)) + { + var_02 = self.animation; + } + else + { + var_02 = civilian_get_random_idle(); + } + + self.animation = var_02; + if(!isdefined(param_01)) + { + thread maps\_anim::anim_generic_loop(self,var_02); + } + else + { + param_01 maps\_anim::anim_generic_loop(self,var_02); + } + + var_03 = civilian_attach_props(var_02); + self waittill("reacting"); + if(isdefined(var_03)) + { + civilian_detach_props(); + } +} + +//Function Number: 122 +civilian_actor_play_reaction(param_00) +{ + self endon("death"); + level.player endon("death"); + wait(randomfloatrange(0,0.25)); + self.animname = "civilian_react"; + var_01 = civilian_get_random_reaction(); + if(isdefined(self.script_noteworthy)) + { + stop_current_animations(); + var_01 = self.script_noteworthy; + maps\_anim::anim_single_solo_run(self,var_01); + } + + if(isdefined(self.target) || isdefined(self.goalpos)) + { + self.goalradius = 16; + stop_current_animations(); + self.animname = "generic"; + if(!param_00 && isdefined(self.civilian_walk_animation)) + { + var_01 = self.civilian_walk_animation; + } + else + { + var_01 = civilian_get_random_run(); + } + + self.runanim = level.scr_anim[self.animname][var_01][0]; + maps\_utility::set_run_anim_array(var_01,undefined,1); + self notify("move"); + self waittill("goal"); + stop_current_animations(); + self.animname = "civilian_react"; + var_01 = civilian_get_random_reaction(); + } + else if(!isdefined(self.script_parameters)) + { + var_01 = civilian_get_random_reaction(); + } + + if(isdefined(self.script_parameters)) + { + if(isdefined(self.final_animation_angles) && isdefined(self.final_animation_origin) && isdefined(self.script_nodestate)) + { + self forceteleport(self.final_animation_origin,self.final_animation_angles); + } + + stop_current_animations(); + self.animname = "generic"; + var_01 = self.script_parameters; + thread maps\_anim::anim_generic_loop(self,var_01); + } + else + { + if(isdefined(self.final_animation_angles) && isdefined(self.script_nodestate)) + { + self forceteleport(self.origin,self.final_animation_angles); + } + + if(isdefined(self.final_animation_origin) && isdefined(self.script_nodestate)) + { + self forceteleport(self.final_animation_origin,self.angles); + } + + stop_current_animations(); + thread maps\_anim::anim_loop([self],var_01); + } + + self notify("done_reacting"); +} + +//Function Number: 123 +civilian_actor_ai_player_reaction(param_00) +{ + self endon("death"); + var_01 = getnode(param_00.target,"targetname"); + var_02 = var_01.script_noteworthy; + common_scripts\utility::flag_wait(var_02); + stop_current_animations(); + wait 0.05; + self setgoalnode(var_01); + self waittill("goal"); + self waittill("done_reacting"); + stop_current_animations(); + var_01 thread maps\_anim::anim_loop_solo(self,"civ_react_cower_crouch_to_crouch_2","stop_loop"); +} + +//Function Number: 124 +civilian_actor_drone_player_reaction() +{ +} + +//Function Number: 125 +civilian_get_random_reaction() +{ + self endon("death"); + var_00 = []; + var_00[0] = "civ_react_cower_crouch_to_crouch"; + var_00[1] = "civ_react_crouch_idle"; + var_00[2] = "civ_react_cower_hunch_to_hunch"; + var_00[3] = "civ_react_cower_crouch_to_crouch_2"; + var_00[4] = "civ_react_cower_crouch_to_crouch_3"; + var_00[5] = "bet_civilians_cowering_idle_01"; + var_00[6] = "bet_civilians_cowering_idle_02"; + var_00[7] = "bet_civilians_cowering_idle_03"; + var_00[8] = "bet_civilians_cowering_idle_04"; + var_00[9] = "bet_civilians_cowering_idle_05"; + var_00[10] = "bet_civilians_cowering_idle_06"; + var_01 = randomintrange(0,var_00.size); + return var_00[var_01]; +} + +//Function Number: 126 +civilian_get_random_idle() +{ + self endon("death"); + var_00 = []; + var_00[0] = "civilian_stand_idle2"; + var_00[1] = "civilian_stand_idle4"; + var_00[2] = "civilian_stand_idle5"; + var_00[3] = "civilian_stand_idle6"; + var_00[4] = "civilian_stand_idle7"; + var_00[5] = "civilian_stand_idle8"; + var_00[6] = "civilian_stand_idle9"; + if(issubstr(self.model,"female")) + { + } + else if(issubstr(self.model,"male")) + { + var_00[7] = "civilian_stand_idle_male1"; + } + + var_01 = randomintrange(0,var_00.size); + return var_00[var_01]; +} + +//Function Number: 127 +civilian_get_random_run() +{ + self endon("death"); + var_00 = []; + var_00[0] = "civ_run_hunch1"; + var_00[1] = "civ_run_stand1"; + if(issubstr(self.model,"female")) + { + } + else if(issubstr(self.model,"male")) + { + var_00[2] = "civilian_run1_male"; + var_00[3] = "civilian_run2_male"; + var_00[4] = "civilian_run3_male"; + } + + var_01 = randomintrange(0,var_00.size); + return var_00[var_01]; +} + +//Function Number: 128 +civilian_get_random_walk() +{ + self endon("death"); + var_00 = []; + var_00[0] = "civilian_walk_nervous"; + var_00[1] = "civilian_walk_hurried"; + if(issubstr(self.model,"female")) + { + var_00[2] = "civilian_walk1_female"; + var_00[3] = "civilian_walk2_female"; + } + else if(issubstr(self.model,"male")) + { + var_00[2] = "civilian_walk1_male"; + var_00[3] = "civilian_walk2_male"; + var_00[4] = "civilian_walk3_male"; + var_00[5] = "civilian_male_walk_cool"; + } + + var_01 = randomintrange(0,var_00.size); + return var_00[var_01]; +} + +//Function Number: 129 +civilian_cleanup(param_00) +{ + if(isdefined(param_00) && !isremovedentity(param_00)) + { + param_00 delete(); + } +} + +//Function Number: 130 +civilian_detach_props() +{ + if(isdefined(self.hasattachedprops) && isdefined(self.attachedpropmodel)) + { + self detach(self.attachedpropmodel,self.attachedproptag); + self.hasattachedprops = undefined; + self.attachedpropmodel = undefined; + self.attachedproptag = undefined; + } +} + +//Function Number: 131 +civilian_walker_setup(param_00,param_01) +{ + level.player endon("death"); + self waittill("trigger"); + var_02 = getent(self.script_linkto,"script_linkname"); + var_03 = getentarray(self.target,"targetname"); + var_04 = []; + var_05 = []; + foreach(var_07 in var_03) + { + var_04 = common_scripts\utility::getstructarray(var_07.target,"targetname"); + foreach(var_09 in var_04) + { + var_0A = var_09 civilian_spawn_single(var_07,"ai",param_01); + var_07.count = 1; + var_0A maps\_utility::set_ignoreall(1); + var_0A.is_walking = 0; + var_05 = common_scripts\utility::array_add(var_05,var_0A); + if(isdefined(var_0A.civilian_walk_animation)) + { + var_0A.animname = "generic"; + var_0B = var_0A.civilian_walk_animation; + var_0A.runanim = level.scr_anim[var_0A.animname][var_0B][0]; + var_0A maps\_utility::set_run_anim_array(var_0B,undefined,1); + } + else + { + var_0A.animname = "generic"; + var_0B = civilian_get_random_walk(); + var_0A.civilian_walk_animation = var_0B; + var_0A.runanim = level.scr_anim[var_0A.animname][var_0B][0]; + var_0A maps\_utility::set_run_anim_array(var_0B,undefined,1); + } + + wait 0.05; + var_0A pushplayer(1); + var_0A thread civilian_walker_behavior_manager(param_00); + var_0A thread civilian_walker_idle_when_blocked(); + } + } + + var_02 waittill("trigger"); + foreach(var_0F in var_05) + { + civilian_cleanup(var_0F); + } + + foreach(var_0F in var_05) + { + civilian_cleanup(var_0F); + } +} + +//Function Number: 132 +civilian_walker_setup_esc_nodes() +{ + level.walker_esc_node_locations = getnodesinradius(self.origin,4096,0,1024,"scripted"); + level.walker_esc_node_locations = filter_nodes(level.esc_node_locations,"ai_walker_esc_node"); +} + +//Function Number: 133 +civilian_walker_behavior_manager(param_00) +{ + self endon("reacting"); + self endon("death"); + level.player endon("death"); + thread civilian_actor_play_idle(); + thread civilian_wait_for_reaction(param_00); + thread civilian_walker_wait_for_walk_signal(); + self waittill("reacting"); + civilian_walker_play_reaction(); +} + +//Function Number: 134 +civilian_walker_wait_for_walk_signal() +{ + self endon("death"); + self endon("reaction"); + level.player endon("death"); + var_00 = getent(self.script_linkto,"script_linkname"); + var_00 waittill("trigger"); + thread civilian_walker_play_walk(); +} + +//Function Number: 135 +civilian_walker_play_walk() +{ + self endon("death"); + self endon("reacting"); + level.player endon("death"); + self.goal_node = civilian_walker_update_current_goal_and_animate_to(self); + wait(randomintrange(5,8)); + while(isdefined(self.goal_node)) + { + self.goal_node = civilian_walker_update_current_goal_and_animate_to(self.goal_node); + wait(randomintrange(5,8)); + } +} + +//Function Number: 136 +civilian_walker_idle_when_blocked() +{ + self endon("death"); + self endon("reacting"); + level.player endon("death"); + for(;;) + { + if(self.is_walking && civilian_check_if_player_blocking()) + { + civilian_detach_props(); + thread civilian_actor_play_idle(); + while(civilian_check_if_player_blocking()) + { + wait(1); + } + + waittillframeend; + if(self.is_walking) + { + if(isdefined(self.goal_node) && isdefined(self.goal_node.target)) + { + var_00 = getnode(self.goal_node.target,"targetname"); + var_01 = distance(var_00.origin,self.origin); + if(var_01 - 15 > self.goalradius) + { + stop_current_animations(); + self notify("move"); + civilian_detach_props(); + } + } + else + { + self notify("move"); + stop_current_animations(); + civilian_detach_props(); + } + } + } + + wait 0.05; + } +} + +//Function Number: 137 +civilian_check_if_player_blocking() +{ + self endon("death"); + self endon("reacting"); + level.player endon("death"); + var_00 = distance(level.player.origin,self.origin); + if(var_00 < 100) + { + return 1; + } + + return 0; +} + +//Function Number: 138 +civilian_walker_update_current_goal_and_animate_to(param_00) +{ + var_01 = undefined; + while(civilian_check_if_player_blocking()) + { + wait(1); + } + + if(isdefined(param_00.target)) + { + var_01 = getnode(param_00.target,"targetname"); + } + + if(isdefined(var_01)) + { + self setgoalnode(var_01); + if(isdefined(param_00.script_noteworthy)) + { + civilian_detach_props(); + stop_current_animations(); + self.animname = "generic"; + var_02 = param_00.script_noteworthy; + maps\_anim::anim_single_solo_run(self,var_02); + } + + stop_current_animations(); + self.goalradius = 16; + civilian_detach_props(); + self notify("move"); + self.is_walking = 1; + self waittill("goal"); + self.is_walking = 0; + if(isdefined(var_01.script_parameters)) + { + stop_current_animations(); + var_01.animname = "generic"; + var_02 = var_01.script_parameters; + var_01 maps\_anim::anim_single_solo(self,var_02); + } + + if(isdefined(var_01.animation)) + { + thread civilian_actor_play_idle(var_01.animation); + } + else + { + thread civilian_actor_play_idle(); + } + + return var_01; + } + + return undefined; +} + +//Function Number: 139 +civilian_walker_play_reaction() +{ + self endon("death"); + level.player endon("death"); + stop_current_animations(); +} + +//Function Number: 140 +bullet_thing(param_00) +{ + self setcandamage(1); + var_01 = self; + switch(param_00) + { + case "magnet": + var_01 thread bullet_magnet_shield(self); + break; + + case "deflector": + var_01 thread bullet_deflector_shield(self); + break; + + case "shield": + var_01 thread bullet_shield_shield(self); + break; + + default: + break; + } + + while(self.health > 0) + { + self waittill("damage",var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A,var_0B); + if(var_06 == "MOD_GRENADE_SPLASH") + { + break; + } + else if(var_03.classname == "worldspawn") + { + self.health = self.health + var_02; + } + } + + self kill(); + var_01 delete(); +} + +//Function Number: 141 +bullet_magnet_shield(param_00) +{ + param_00 endon("death"); + self endon("death"); + self.health = 20000; + self setcandamage(1); + for(;;) + { + self waittill("damage",var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A); + if(var_05 == "MOD_GRENADE_SPLASH") + { + continue; + } + + var_0B = var_04 + anglestoforward(vectortoangles(self.origin - var_04)) * 1; + var_0C = self.origin + anglestoforward(vectortoangles(var_04 - self.origin)) * 30; + if(issubstr(var_0A,"grenade")) + { + var_0B = var_04 + anglestoforward(vectortoangles(self.origin - var_04)) * 10; + var_0D = getentarray("grenade","classname"); + foreach(var_0F in var_0D) + { + if(distancesquared(var_0F.origin,var_04) < squared(5)) + { + var_0F delete(); + } + } + + magicgrenade(var_0A,var_0B,var_0C,1); + } + else + { + magicbullet(var_0A,var_0B,self.origin); + } + + self.health = self.health + var_01; + } +} + +//Function Number: 142 +bullet_deflector_shield(param_00) +{ + param_00 endon("death"); + self endon("death"); + self.health = 20000; + self setcandamage(1); + for(;;) + { + self waittill("damage",var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A); + if(var_05 == "MOD_GRENADE_SPLASH") + { + continue; + } + + var_0B = var_04 + anglestoforward(vectortoangles(self.origin - var_04)) * -1; + var_0C = var_04 + anglestoforward(vectortoangles(self.origin - var_04)) * -2; + if(issubstr(var_0A,"grenade")) + { + var_0D = getentarray("grenade","classname"); + foreach(var_0F in var_0D) + { + if(distancesquared(var_0F.origin,var_04) < squared(5)) + { + var_0F delete(); + } + } + + magicgrenade(var_0A,var_0B,var_0C,1); + } + else + { + magicbullet(var_0A,var_0B,var_0C); + } + + self.health = self.health + var_01; + } +} + +//Function Number: 143 +bullet_shield_shield(param_00) +{ + param_00 endon("death"); + self endon("death"); + self.health = 20000; + self setcandamage(1); + for(;;) + { + self waittill("damage",var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A); + if(var_05 == "MOD_GRENADE_SPLASH") + { + continue; + } + + playfx(common_scripts\utility::getfx("bullet_drop"),var_04,var_03); + self.health = self.health + var_01; + } +} + +//Function Number: 144 +drone_secure_zone(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + self endon("death"); + if(!isdefined(param_04)) + { + param_04 = 0; + } + + var_07 = common_scripts\utility::getstruct(param_00,"targetname"); + thread maps\_vehicle::vehicle_paths(var_07); + if(!isdefined(param_05)) + { + param_05 = 0; + } + + if(!isdefined(param_06)) + { + param_06 = 0; + } + + if(param_06 < param_05) + { + param_06 = param_05; + } + + var_08 = param_06 - param_05; + if(isdefined(param_02)) + { + common_scripts\utility::flag_wait_or_timeout(param_02,param_05); + } + else + { + wait(param_05); + } + + drone_magic_bullets(0,var_08,param_03,param_01); + drone_magic_bullets(1,undefined,param_01); +} + +//Function Number: 145 +drone_magic_bullets(param_00,param_01,param_02,param_03) +{ + self endon("death"); + common_scripts\utility::flag_clear("flag_stop_drone_magic_bullets"); + var_04 = 0; + var_05 = level.player.origin; + var_06 = self gettagorigin("TAG_LASER"); + var_06 = var_06 - 50 * anglestoforward(var_06); + if(param_00) + { + var_07 = 4; + var_08 = 75; + var_09 = 150; + var_0A = "betrayal_missile_small_lethal"; + } + else + { + var_07 = 8; + var_08 = 100; + var_09 = 250; + var_0A = "betrayal_missile_small_harass"; + } + + if(isdefined(param_01)) + { + thread flag_set_on_timeout("flag_stop_drone_magic_bullets",param_01); + } + + if(isdefined(param_02) && isdefined(param_03)) + { + thread flag_set_once_either_set("flag_stop_drone_magic_bullets",param_02,param_03); + } + else + { + thread flag_set_once_this_set("flag_stop_drone_magic_bullets",param_02); + } + + while(!common_scripts\utility::flag("flag_stop_drone_magic_bullets")) + { + var_06 = self gettagorigin("TAG_LASER"); + var_0B = randomintrange(var_08,var_09); + if(var_04 == 0 || var_04 == 5) + { + var_05 = level.player.origin + var_0B * anglestoright(level.player.origin); + } + else if(var_04 == 1 || var_04 == 6) + { + var_05 = level.player.origin - var_0B * anglestoright(level.player.origin); + } + else if(var_04 == 2 || var_04 == 7) + { + var_05 = level.player.origin + var_0B * anglestoforward(level.player.origin); + } + else if(var_04 == 3 || var_04 == 8) + { + var_05 = level.player.origin - var_0B * anglestoforward(level.player.origin); + } + else if(var_04 == 4) + { + var_05 = level.player.origin; + } + + var_0C = magicbullet(var_0A,var_06,var_05); + var_0C thread missile_stuff(); + var_04++; + if(var_04 > var_07) + { + var_04 = 0; + } + + wait(0.1); + } + + self notify("stop_delay_call"); +} + +//Function Number: 146 +missile_stuff() +{ + playfx(common_scripts\utility::getfx("hovertank_anti_pers_muzzle_flash_vm"),self.origin,anglestoforward(self.angles),anglestoup(self.angles)); + thread missile_delayed_trail(); +} + +//Function Number: 147 +missile_delayed_trail() +{ + var_00 = 0.5; + wait(var_00); + if(isdefined(self)) + { + playfxontag(common_scripts\utility::getfx("hovertank_anti_pers_trail_rocket_2"),self,"tag_origin"); + self waittill("death"); + } +} + +//Function Number: 148 +flag_set_on_timeout(param_00,param_01) +{ + self endon("stop_delay_call"); + wait(param_01); + common_scripts\utility::flag_set(param_00); +} + +//Function Number: 149 +flag_set_once_either_set(param_00,param_01,param_02) +{ + common_scripts\utility::flag_wait_either(param_01,param_02); + common_scripts\utility::flag_set(param_00); +} + +//Function Number: 150 +flag_set_once_this_set(param_00,param_01) +{ + common_scripts\utility::flag_wait(param_01); + common_scripts\utility::flag_set(param_00); +} + +//Function Number: 151 +balcony_death_anims() +{ + self.animname = "generic"; + self.deathfunction = ::try_balcony_death; +} + +//Function Number: 152 +try_balcony_death() +{ + if(!isdefined(self)) + { + return 0; + } + + if(self.a.pose == "prone") + { + return 0; + } + + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "container_death") + { + self.deathanim = maps\_utility::getgenericanim("container_death"); + return 0; + } + + if(isdefined(self.prevnode)) + { + if(isdefined(self.prevnode.script_balcony)) + { + var_00 = self.angles[1]; + if(var_00 > 180) + { + var_00 = var_00 - 360; + } + + var_01 = self.prevnode.angles[1]; + if(var_01 > 180) + { + var_01 = var_01 - 360; + } + + var_02 = abs(var_00 - var_01); + if(var_02 > 90) + { + return 0; + } + + var_03 = distance(self.origin,self.prevnode.origin); + if(var_03 > 92) + { + return 0; + } + } + else + { + return 0; + } + } + else + { + return 0; + } + + if(!isdefined(level.last_balcony_death)) + { + level.last_balcony_death = -4000; + } + + var_04 = gettime() - level.last_balcony_death; + if(var_04 < 2000) + { + return 0; + } + + var_05 = maps\_utility::getgenericanim("balcony_death"); + self.deathanim = var_05[randomint(var_05.size)]; + return 0; +} + +//Function Number: 153 +waittill_player_exo_climbing() +{ + for(;;) + { + if(maps\_exo_climb::is_exo_climbing()) + { + break; + } + + wait(0.05); + } +} + +//Function Number: 154 +waittill_player_not_exo_climbing() +{ + for(;;) + { + if(!maps\_exo_climb::is_exo_climbing()) + { + break; + } + + wait(0.05); + } +} + +//Function Number: 155 +spawn_and_handle_looping_helicopters(param_00,param_01,param_02) +{ + var_03 = getentarray(param_00,"targetname"); + level.looping_heli_array = []; + level.looping_helis_currently_moving = []; + foreach(var_05 in var_03) + { + var_06 = var_05 maps\_utility::spawn_vehicle(); + var_06 soundscripts\_snd::snd_message("aud_ambient_helicopter",param_00); + var_06 childthread heli_hold_position(var_05,param_01); + level.looping_heli_array = common_scripts\utility::array_add(level.looping_heli_array,var_06); + } + + if(level.looping_heli_array.size > 0) + { + while(!common_scripts\utility::flag(param_01)) + { + if(level.looping_helis_currently_moving.size < param_02) + { + var_08 = 0; + for(;;) + { + var_09 = 1; + var_08 = randomintrange(0,level.looping_heli_array.size); + if(!common_scripts\utility::array_contains(level.looping_helis_currently_moving,level.looping_heli_array[var_08])) + { + break; + } + + wait(0.05); + } + + level.looping_helis_currently_moving = common_scripts\utility::array_add(level.looping_helis_currently_moving,level.looping_heli_array[var_08]); + level.looping_heli_array[var_08] childthread send_heli_through_path(level.looping_helis_currently_moving.size - 1); + } + + wait(1); + } + + common_scripts\utility::flag_wait(param_01); + foreach(var_0B in level.looping_heli_array) + { + if(isdefined(var_0B)) + { + var_0B thread heli_delete_on_pathend(); + } + } + } +} + +//Function Number: 156 +heli_hold_position(param_00,param_01) +{ + for(;;) + { + if(!common_scripts\utility::array_contains(level.looping_helis_currently_moving,self)) + { + self vehicle_teleport(param_00.origin,param_00.angles,0); + } + + wait(5); + if(common_scripts\utility::flag(param_01)) + { + break; + } + } +} + +//Function Number: 157 +send_heli_through_path(param_00) +{ + self endon("death"); + var_01 = self.origin; + var_02 = self.angles; + var_03 = common_scripts\utility::getstruct(self.target,"targetname"); + thread maps\_vehicle_code::_vehicle_paths(var_03); + self waittill("reached_dynamic_path_end"); + wait 0.05; + if(isdefined(self)) + { + self vehicle_teleport(var_01,var_02,0); + level.looping_helis_currently_moving = common_scripts\utility::array_remove(level.looping_helis_currently_moving,self); + } +} + +//Function Number: 158 +heli_delete_on_pathend() +{ + common_scripts\utility::waittill_notify_or_timeout_return("reached_dynamic_path_end",30); + level.looping_heli_array = common_scripts\utility::array_remove(level.looping_heli_array,self); + self delete(); +} + +//Function Number: 159 +start_player_diveboat_ride() +{ + level.player_boat useby(level.player); + level.player_boat vehicle_scripts\_diveboat::do_diveboat_threads(); + level.player_boat setviewmodeldepth(1); + level.player.drivingvehicle = level.player_boat; +} + +//Function Number: 160 +scripted_spin_fan_blades(param_00,param_01) +{ + level endon(param_01); + var_02 = max(randomfloatrange(0.1,2) / 4,0.05) * param_00; + var_03 = self.angles[1]; + for(;;) + { + while(var_03 > 36000) + { + var_03 = var_03 - 36000; + self.angles = (self.angles[0],var_03,self.angles[2]); + } + + var_03 = var_03 + 90; + self rotateyaw(90,var_02,0,0); + wait(var_02); + } +} + +//Function Number: 161 +progress_path_create(param_00) +{ + var_01 = common_scripts\utility::getstruct(param_00,"targetname"); + var_02 = []; + var_03 = 0; + var_04 = var_01; + for(;;) + { + var_05 = var_01; + if(isdefined(var_01.target)) + { + var_05 = common_scripts\utility::getstruct(var_01.target,"targetname"); + } + + var_02[var_02.size] = var_01; + var_01.next_node = var_05; + var_01.prev_node = var_04; + var_01.dist_to_next_node = distance(var_01.origin,var_01.next_node.origin); + var_01.index = var_03; + var_03++; + if(var_01 == var_05) + { + break; + } + + var_04 = var_01; + var_01 = var_05; + } + + return var_02; +} + +//Function Number: 162 +progress_path_get_my_node_from_org(param_00) +{ + param_00 = (param_00[0],param_00[1],0); + var_01 = common_scripts\utility::get_array_of_closest(param_00,self,undefined,3); + var_02 = var_01[0]; + var_03 = var_02.index; + if(var_01[1].index < var_03) + { + var_02 = var_01[1]; + var_03 = var_02.index; + } + + if(var_01[2].index < var_03) + { + var_02 = var_01[2]; + } + + return var_02; +} + +//Function Number: 163 +progress_path_move_to_correct_node(param_00,param_01,param_02) +{ + var_03 = spawnstruct(); + for(;;) + { + var_04 = param_00.dist_to_next_node; + if(param_01 > var_04) + { + if(param_00 == param_00.next_node) + { + break; + } + + var_05 = get_position_from_spline(param_00,var_04,param_02); + param_01 = param_01 - var_04; + param_00 = param_00.next_node; + var_06 = get_progression_between_points(var_05,param_00.origin,param_00.next_node.origin); + param_02 = var_06["offset"]; + continue; + } + + if(param_01 < 0) + { + if(param_00 == param_00.prev_node) + { + break; + } + + var_05 = get_position_from_spline(param_00,0,param_02); + param_00 = param_00.prev_node; + var_06 = get_progression_between_points(var_05,param_00.origin,param_00.next_node.origin); + param_01 = param_01 + var_06["progress"]; + param_02 = var_06["offset"]; + continue; + } + + break; + } + + var_03.node = param_00; + var_03.progress = param_01; + var_03.offset = param_02; + return var_03; +} + +//Function Number: 164 +get_progression_between_points(param_00,param_01,param_02) +{ + var_03 = []; + var_04 = vectornormalize(param_02 - param_01); + var_05 = param_00 - param_01; + var_06 = vectordot(var_05,var_04); + var_07 = param_01 + var_04 * var_06; + var_03["progress"] = var_06; + var_03["offset"] = distance2d(var_07,param_00); + var_08 = anglestoright(vectortoangles(var_04)); + var_09 = vectornormalize(var_07 - param_00); + var_0A = vectordot(var_08,var_09); + var_03["side"] = "right"; + if(var_0A > 0) + { + var_03["offset"] = var_03["offset"] * -1; + var_03["side"] = "left"; + } + + return var_03; +} + +//Function Number: 165 +get_position_from_spline(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_03)) + { + param_03 = 0; + } + + var_04 = vectortoangles(param_00.next_node.origin - param_00.origin); + var_05 = anglestoforward(var_04); + var_06 = anglestoright(var_04); + return param_00.origin + var_05 * param_01 + var_06 * param_02; +} + +//Function Number: 166 +can_teleport_ai_to_pos(param_00,param_01,param_02) +{ + if(player_can_see_ai_bones(param_00,param_02)) + { + return 0; + } + + if(player_can_see_point(param_01,param_02)) + { + return 0; + } + + if(player_can_see_point(param_01 + (0,0,70),param_02)) + { + return 0; + } + + return 1; +} + +//Function Number: 167 +player_can_see_point(param_00,param_01) +{ + var_02 = 0.342; + if(isdefined(param_01)) + { + var_02 = param_01; + } + + var_03 = level.player getplayerangles(); + if(!common_scripts\utility::within_fov(level.player.origin,var_03,param_00,var_02)) + { + return 0; + } + + var_04 = level.player geteye(); + if(sighttracepassed(var_04,param_00,1,level.player)) + { + return 1; + } + + return 0; +} + +//Function Number: 168 +player_can_see_ai_bones(param_00,param_01) +{ + var_02 = 0.342; + if(isdefined(param_01)) + { + var_02 = param_01; + } + + if(!common_scripts\utility::within_fov(level.player.origin,level.player.angles,param_00.origin,var_02)) + { + return 0; + } + + var_03 = level.player geteye(); + var_04 = param_00 gettagorigin("j_head"); + if(sighttracepassed(var_03,var_04,1,level.player,param_00)) + { + return 1; + } + + var_05 = param_00 gettagorigin("j_mainroot"); + if(sighttracepassed(var_03,var_05,1,level.player,param_00)) + { + return 1; + } + + var_06 = param_00 gettagorigin("j_wrist_le"); + if(sighttracepassed(var_03,var_06,1,level.player,param_00)) + { + return 1; + } + + var_06 = param_00 gettagorigin("j_wrist_ri"); + if(sighttracepassed(var_03,var_06,1,level.player,param_00)) + { + return 1; + } + + var_07 = param_00 gettagorigin("j_ankle_ri"); + if(sighttracepassed(var_03,var_07,1,level.player,param_00)) + { + return 1; + } + + var_07 = param_00 gettagorigin("j_ankle_ri"); + if(sighttracepassed(var_03,var_07,1,level.player,param_00)) + { + return 1; + } + + return 0; +} + +//Function Number: 169 +handle_ally_keep_up_with_player(param_00) +{ + level notify("stop_previous_ally_move_manager"); + level endon("stop_previous_ally_move_manager"); + level endon("flag_boat_player_in_boat"); + var_01 = progress_path_create("level_progression_path_start"); + var_02 = var_01 progress_path_get_my_node_from_org(level.player.origin); + var_03 = var_02; + var_04 = 0; + var_05 = var_01 progress_path_get_my_node_from_org(param_00.origin); + var_06 = var_05; + var_07 = 0; + for(;;) + { + var_08 = get_progression_between_points(level.player.origin,var_02.origin,var_02.next_node.origin); + var_09 = progress_path_move_to_correct_node(var_02,var_08["progress"],var_08["offset"]); + var_0A = get_progression_between_points(param_00.origin,var_05.origin,var_05.next_node.origin); + var_0B = progress_path_move_to_correct_node(var_05,var_0A["progress"],var_0A["offset"]); + var_0C = var_09.progress; + var_0D = var_09.offset; + var_02 = var_09.node; + var_0E = var_0B.progress; + var_0F = var_0B.offset; + var_05 = var_0B.node; + if(var_02 == var_03.next_node) + { + var_03 = var_02; + var_04 = var_0C; + } + + if(var_02 == var_03 && var_0C >= var_04 + 5) + { + var_03 = var_02; + var_04 = var_0C; + } + + if(var_05 == var_06.next_node) + { + var_06 = var_05; + var_07 = var_0E; + } + + if(var_05 == var_06 && var_0E >= var_07 + 5) + { + var_06 = var_05; + var_07 = var_0E; + } + + ally_determine_move_speed(var_09,var_0B,param_00); + wait(0.05); + } +} + +//Function Number: 170 +ally_determine_move_speed(param_00,param_01,param_02) +{ + level endon("flag_boat_player_in_boat"); + var_03 = 0; + if(param_00.node == param_01.node) + { + if(param_00.progress > param_01.progress) + { + var_03 = 1; + } + else + { + var_03 = 0; + } + } + else if(param_00.node.index > param_01.node.index) + { + var_03 = 1; + } + else + { + var_03 = 0; + } + + if(var_03) + { + var_04 = distance(level.player.origin,param_02.origin); + if(var_04 < 256) + { + param_02 maps\_utility::set_moveplaybackrate(1,0.5); + } + + if(var_04 < 512) + { + param_02 maps\_utility::set_moveplaybackrate(1.2,0.5); + return; + } + + param_02 maps\_utility::set_moveplaybackrate(1.4,0.5); + return; + } + + var_04 = distance(level.player.origin,var_03.origin); + if(var_04 < 64) + { + param_02 maps\_utility::set_moveplaybackrate(1.05,0.5); + return; + } + + param_02 maps\_utility::set_moveplaybackrate(1,0.5); +} \ No newline at end of file diff --git a/AW/PC/maps/betrayal_vo.gsc b/AW/PC/maps/betrayal_vo.gsc new file mode 100644 index 0000000..79f5661 --- /dev/null +++ b/AW/PC/maps/betrayal_vo.gsc @@ -0,0 +1,1283 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: betrayal_vo.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 91 + * Decompile Time: 1392 ms + * Timestamp: 4/22/2024 2:25:51 AM +*******************************************************************/ + +//Function Number: 1 +prepare_dialog() +{ + level.scr_sound["gideon"]["bet_gdn_howdoesitfeelto"] = "bet_gdn_howdoesitfeelto"; + level.scr_radio["bet_iln1_gideonmitchell"] = "bet_iln1_gideonmitchell"; + level.scr_sound["gideon"]["bet_gdn_ilonawhatitis"] = "bet_gdn_ilonawhatitis"; + level.scr_radio["bet_iln1_meetmeinmaintenanceroom"] = "bet_iln1_meetmeinmaintenanceroom"; + level.scr_sound["gideon"]["bet_gdn_alrightweremoving"] = "bet_gdn_alrightweremoving"; + level.scr_sound["gideon"]["bet_gdn_letsseewhatthehell"] = "bet_gdn_letsseewhatthehell"; + level.scr_sound["atlas_emp_1"]["bet_at1_congratulationssir"] = "bet_at1_congratulationssir"; + level.scr_sound["gideon"]["bet_gdn_hardtobelievethisis"] = "bet_gdn_hardtobelievethisis"; + level.scr_sound["gideon"]["bet_gdn_echoteamtookdownanother"] = "bet_gdn_echoteamtookdownanother"; + level.scr_sound["gideon"]["bet_gdn_theworldsrunningoutof"] = "bet_gdn_theworldsrunningoutof"; + level.scr_sound["atlas_emp_2"]["bet_atd_afternoonsir"] = "bet_atd_afternoonsir"; + level.scr_sound["gideon"]["bet_gdn_thisisit"] = "bet_gdn_thisisit"; + level.scr_sound["ilana"]["bet_iln1_didyoutellanyoneyou"] = "bet_iln1_didyoutellanyoneyou"; + level.scr_sound["gideon"]["bet_gdn_no"] = "bet_gdn_no"; + level.scr_sound["ilana"]["bet_iln1_thescramblerwillonlybuy"] = "bet_iln1_thescramblerwillonlybuy"; + level.scr_sound["gideon"]["bet_gdn_whatthebloodyhellsgoing"] = "bet_gdn_whatthebloodyhellsgoing"; + level.scr_sound["ilana"]["bet_iln1_justwatchthis"] = "bet_iln1_justwatchthis"; + level.scr_sound["ilana"]["bet_iln1_rememberlagos"] = "bet_iln1_rememberlagos"; + level.scr_sound["gideon"]["bet_gdn_theguywepulledout"] = "bet_gdn_theguywepulledout"; + level.scr_sound["ilana"]["bet_iln1_henevermadeitback"] = "bet_iln1_henevermadeitback"; + level.scr_sound["technologist"]["bet_tct_thekvaareplanningan"] = "bet_tct_thekvaareplanningan"; + level.scr_sound["irons"]["bet_irs_whatkindofattack"] = "bet_irs_whatkindofattack"; + level.scr_sound["technologist"]["bet_tct_nuclearpowerplantsallover"] = "bet_tct_nuclearpowerplantsallover"; + level.scr_sound["irons"]["bet_irs_whereexactlyaretheyhitting"] = "bet_irs_whereexactlyaretheyhitting"; + level.scr_sound["technologist"]["bet_tct_seattleparistokyothousandswilldie"] = "bet_tct_seattleparistokyothousandswilldie"; + level.scr_sound["irons"]["bet_irs_okitsalright"] = "bet_irs_okitsalright"; + level.scr_sound["gideon"]["bet_gdn_fuckme"] = "bet_gdn_fuckme"; + level.scr_sound["ilana"]["bet_iln1_heknewit"] = "bet_iln1_heknewit"; + level.scr_sound["gideon"]["bet_gdn_wheredidyougetthis"] = "bet_gdn_wheredidyougetthis"; + level.scr_sound["ilana"]["bet_iln1_hades"] = "bet_iln1_hades"; + level.scr_sound["gideon"]["bet_gdn_couldbefake"] = "bet_gdn_couldbefake"; + level.scr_sound["ilana"]["bet_iln1_itwascodedandencrypted"] = "bet_iln1_itwascodedandencrypted"; + level.scr_sound["gideon"]["bet_gdn_vocalizationforflashbangsequence"] = "bet_gdn_vocalizationforflashbangsequence"; + level.scr_sound["ilana"]["bet_iln1_vocalizationforflashbangsequence"] = "bet_iln1_vocalizationforflashbangsequence"; + level.scr_sound["atlas_guard_1"]["bet_at11_nobodymove"] = "bet_at11_nobodymove"; + level.scr_sound["ilana"]["bet_iln1_wesawit"] = "bet_iln1_wesawit"; + level.scr_sound["irons"]["bet_irs_whatdidyousee"] = "bet_irs_whatdidyousee"; + level.scr_sound["ilana"]["bet_iln1_youknewabouttheattacks"] = "bet_iln1_youknewabouttheattacks"; + level.scr_sound["irons"]["bet_irs_yousawaforgedrecording"] = "bet_irs_yousawaforgedrecording"; + level.scr_sound["ilana"]["bet_iln1_youreinsaneyoureamonster"] = "bet_iln1_youreinsaneyoureamonster"; + level.scr_sound["irons"]["bet_irs_youvedisappointedme"] = "bet_irs_youvedisappointedme"; + level.scr_sound["gideon"]["bet_gdn_yessir"] = "bet_gdn_yessir"; + level.scr_sound["ilana"]["bet_iln1_gideon2"] = "bet_iln1_gideon2"; + level.scr_sound["gideon"]["bet_gdn_hesaiditsafake"] = "bet_gdn_hesaiditsafake"; + level.scr_sound["irons"]["bet_irs_hesmadehisdecision"] = "bet_irs_hesmadehisdecision"; + level.scr_sound["guard1"]["bet_at11_juststaywhereyouare"] = "bet_at11_juststaywhereyouare"; + level.scr_radio["bet_x_listen"] = "bet_x_listen"; + level.scr_radio["bet_x_gonow"] = "bet_x_gonow"; + level.scr_sound["guard1"]["bet_at11_aarrrgh"] = "bet_at11_aarrrgh"; + level.scr_sound["ilana"]["bet_iln1_comeon"] = "bet_iln1_comeon"; + level.scr_radio["bet_x_headtowardstheserverroom"] = "bet_x_headtowardstheserverroom"; + level.scr_sound["ilana"]["bet_iln1_whoareyou"] = "bet_iln1_whoareyou"; + level.scr_radio["bet_x_afriendjustkeepmoving"] = "bet_x_afriendjustkeepmoving"; + level.scr_sound["scripted"]["bet_at11_prophetthefiredoorsinthe"] = "bet_at11_prophetthefiredoorsinthe"; + level.scr_radio["bet_prt_copythat"] = "bet_prt_copythat"; + level.scr_radio["bet_pa_firesuppressionsystemactivated"] = "bet_pa_firesuppressionsystemactivated"; + level.scr_radio["bet_pa_allsecuritypersonellreportto"] = "bet_pa_allsecuritypersonellreportto"; + level.scr_sound["ilana"]["bet_iln1_deadend"] = "bet_iln1_deadend"; + level.scr_radio["bet_x_holdon"] = "bet_x_holdon"; + level.scr_radio["bet_x_startclimbingandgetto"] = "bet_x_startclimbingandgetto"; + level.scr_sound["ilana"]["bet_iln1_wellhavetouseour"] = "bet_iln1_wellhavetouseour"; + level.scr_sound["ilana"]["bet_iln1_climbupmitchell"] = "bet_iln1_climbupmitchell"; + level.scr_sound["ilana"]["bet_iln1_gomitchell"] = "bet_iln1_gomitchell"; + level.scr_sound["PA"]["bet_pa_attention"] = "bet_pa_attention"; + level.scr_radio["bet_x_theyregoingtoactivatea"] = "bet_x_theyregoingtoactivatea"; + level.scr_sound["ilana"]["bet_iln1_wellbetrappedupthere"] = "bet_iln1_wellbetrappedupthere"; + level.scr_radio["bet_x_trustme"] = "bet_x_trustme"; + level.scr_sound["ilana"]["bet_iln1_swarmrun"] = "bet_iln1_swarmrun"; + level.scr_sound["ilana"]["bet_iln1_wevegottogetaway"] = "bet_iln1_wevegottogetaway"; + level.scr_sound["ilana"]["bet_iln1_overhere"] = "bet_iln1_overhere"; + level.scr_sound["PA"]["bet_pa_securitylockdownineffect"] = "bet_pa_securitylockdownineffect"; + level.scr_radio["bet_x_imoverridingthegates"] = "bet_x_imoverridingthegates"; + level.scr_sound["ilana"]["bet_iln1_werefivestoriesup"] = "bet_iln1_werefivestoriesup"; + level.scr_radio["bet_x_doitnow"] = "bet_x_doitnow"; + level.scr_sound["ilana"]["bet_iln1_jump"] = "bet_iln1_jump"; + level.scr_sound["ilana"]["bet_iln1_jumpmitchell"] = "bet_iln1_jumpmitchell"; + level.scr_sound["roof_guard_1"]["bet_atr1_aahhh"] = "bet_atr1_aahhh"; + level.scr_radio["bet_x_seweraccessisdirectlyahead"] = "bet_x_seweraccessisdirectlyahead"; + level.scr_sound["ilana"]["bet_iln1_coughing"] = "bet_iln1_coughing"; + level.scr_sound["ilana"]["bet_iln1_sowhatnow"] = "bet_iln1_sowhatnow"; + level.scr_radio["bet_x_youllneedtogetthrough"] = "bet_x_youllneedtogetthrough"; + level.scr_sound["ilana"]["bet_iln1_theyregoingtolockdown"] = "bet_iln1_theyregoingtolockdown"; + level.scr_radio["bet_x_thatswhyyouneedto"] = "bet_x_thatswhyyouneedto"; + level.scr_sound["PA_2"]["bet_pa2_attentionthisisasecurity"] = "bet_pa2_attentionthisisasecurity"; + level.scr_sound["civilian_1"]["bet_cvl_guardshelpus"] = "bet_cvl_guardshelpus"; + level.scr_sound["atlas_guard_1"]["bet_at11_dontmove"] = "bet_at11_dontmove"; + level.scr_sound["civilian_2"]["bet_cvl1_thereweremenwithguns"] = "bet_cvl1_thereweremenwithguns"; + level.scr_sound["atlas_guard_1"]["bet_at11_onyourkneesnow"] = "bet_at11_onyourkneesnow"; + level.scr_radio["bet_x_theyreroundingupcivilians"] = "bet_x_theyreroundingupcivilians"; + level.scr_sound["ilana"]["bet_iln1_throughhere"] = "bet_iln1_throughhere"; + level.scr_radio["bet_x_dropdowntothestreet"] = "bet_x_dropdowntothestreet"; + level.scr_sound["atlas_guard_2"]["bet_at2_theretheyare"] = "bet_at2_theretheyare"; + level.scr_sound["atlas_guard_3"]["bet_at3_openfire"] = "bet_at3_openfire"; + level.scr_sound["atlas_guard_2"]["bet_at2_atlasonewevegottherunners"] = "bet_at2_atlasonewevegottherunners"; + level.scr_sound["ilana"]["bet_iln1_takecover"] = "bet_iln1_takecover"; + level.scr_radio["bet_x_keepmovingbothofyou"] = "bet_x_keepmovingbothofyou"; + level.scr_radio["bet_x_keepgoingyourerunningout"] = "bet_x_keepgoingyourerunningout"; + level.scr_radio["bet_x_gettothedocks"] = "bet_x_gettothedocks"; + level.scr_sound["ilana"]["bet_iln1_lookforflankingroutes"] = "bet_iln1_lookforflankingroutes"; + level.scr_sound["ilana"]["bet_iln1_gogogo"] = "bet_iln1_gogogo"; + level.scr_sound["ilana"]["bet_iln1_wevegottokeeppushing"] = "bet_iln1_wevegottokeeppushing"; + level.scr_sound["ilana"]["bet_iln1_runmitchell"] = "bet_iln1_runmitchell"; + level.scr_sound["ilana"]["bet_iln1_fastermitchell"] = "bet_iln1_fastermitchell"; + level.scr_sound["PA"]["bet_pa_attentioncitizensreturnto"] = "bet_pa_attentioncitizensreturnto"; + level.scr_sound["PA"]["bet_pa_donotattempttoleave"] = "bet_pa_donotattempttoleave"; + level.scr_sound["PA"]["bet_pa_fugitivesarelooseinoldtown"] = "bet_pa_fugitivesarelooseinoldtown"; + level.scr_sound["ilana"]["bet_iln1_thedocksareupahead"] = "bet_iln1_thedocksareupahead"; + level.scr_radio["bet_x_ileftyouatool"] = "bet_x_ileftyouatool"; + level.scr_sound["ilana"]["bet_iln1_astincoming"] = "bet_iln1_astincoming"; + level.scr_sound["ilana"]["bet_iln1_useyourempagainstit"] = "bet_iln1_useyourempagainstit"; + level.scr_sound["ilana"]["bet_iln1_astisdown"] = "bet_iln1_astisdown"; + level.scr_radio["bet_x_theboatsonthesecond"] = "bet_x_theboatsonthesecond"; + level.scr_sound["ilana"]["bet_iln1_mitchellgetintheboat"] = "bet_iln1_mitchellgetintheboat"; + level.scr_sound["ilana"]["bet_iln1_intheboatnow"] = "bet_iln1_intheboatnow"; + level.scr_sound["ilana"]["bet_iln1_comeonmitchell"] = "bet_iln1_comeonmitchell"; + level.scr_radio["bet_x_putonthatgrappleattachement"] = "bet_x_putonthatgrappleattachement"; + level.scr_radio["bet_x_headdownthecanaltowards"] = "bet_x_headdownthecanaltowards"; + level.scr_sound["ilana"]["bet_iln1_wevegotdronesinpursuit"] = "bet_iln1_wevegotdronesinpursuit"; + level.scr_sound["ilana"]["bet_iln1_diveunderthoseboats"] = "bet_iln1_diveunderthoseboats"; + level.scr_sound["ilana"]["bet_iln1_gofaster"] = "bet_iln1_gofaster"; + level.scr_radio["bet_x_gogo"] = "bet_x_gogo"; + level.scr_sound["ilana"]["bet_iln1_hittheramp"] = "bet_iln1_hittheramp"; + level.scr_sound["ilana"]["bet_iln1_missilelockdive"] = "bet_iln1_missilelockdive"; + level.scr_sound["ilana"]["bet_iln1_incomingdive"] = "bet_iln1_incomingdive"; + level.scr_sound["ilana"]["bet_iln1_keepgoing"] = "bet_iln1_keepgoing"; + level.scr_sound["ilana"]["bet_iln1_lookout"] = "bet_iln1_lookout"; + level.scr_sound["ilana"]["bet_iln1_watchout"] = "bet_iln1_watchout"; + level.scr_sound["ilana"]["bet_iln1_dive2"] = "bet_iln1_dive2"; + level.scr_sound["ilana"]["bet_iln1_lookout2"] = "bet_iln1_lookout2"; + level.scr_sound["ilana"]["bet_iln1_moremissiles"] = "bet_iln1_moremissiles"; + level.scr_radio["bet_x_youregettingclose"] = "bet_x_youregettingclose"; + level.scr_sound["ilana"]["bet_iln1_closetowhat"] = "bet_iln1_closetowhat"; + level.scr_radio["bet_x_youllsee"] = "bet_x_youllsee"; + level.scr_radio["bet_x_mitchellilonacanyouhear"] = "bet_x_mitchellilonacanyouhear"; + level.scr_sound["ilana"]["bet_iln1_areyoualright"] = "bet_iln1_areyoualright"; + level.scr_radio["bet_x_canyoumove"] = "bet_x_canyoumove"; + level.scr_sound["ilana"]["bet_iln1_copy"] = "bet_iln1_copy"; + level.scr_radio["bet_x_extractionpointisrightabove"] = "bet_x_extractionpointisrightabove"; + level.scr_sound["ilana"]["bet_iln1_howarewesupposedto"] = "bet_iln1_howarewesupposedto"; + level.scr_radio["bet_x_useyourgrapple"] = "bet_x_useyourgrapple"; + level.scr_sound["ilana"]["bet_iln1_mitchellwecangrappleup"] = "bet_iln1_mitchellwecangrappleup"; + level.scr_sound["ilana"]["bet_iln1_anothergrapplepointaboveus"] = "bet_iln1_anothergrapplepointaboveus"; + level.scr_sound["ilana"]["bet_iln1_keepmovingup"] = "bet_iln1_keepmovingup"; + level.scr_sound["ilana"]["bet_iln1_contactgettocover"] = "bet_iln1_contactgettocover"; + level.scr_sound["ilana"]["bet_iln1_watchthosecontainers"] = "bet_iln1_watchthosecontainers"; + level.scr_sound["ilana"]["bet_iln1_careful"] = "bet_iln1_careful"; + level.scr_radio["bet_x_yourealmosttherejustgrapple"] = "bet_x_yourealmosttherejustgrapple"; + level.scr_sound["ilana"]["bet_iln1_keepheadingup"] = "bet_iln1_keepheadingup"; + level.scr_radio["bet_x_grappletothatledge"] = "bet_x_grappletothatledge"; + level.scr_sound["ilana"]["bet_iln1_wellhavetouseour2"] = "bet_iln1_wellhavetouseour2"; + level.scr_radio["bet_x_getuptotheskybridge"] = "bet_x_getuptotheskybridge"; + level.scr_radio["bet_x_dropdownandcrossthe"] = "bet_x_dropdownandcrossthe"; + level.scr_radio["bet_x_getacrosstheskybridge"] = "bet_x_getacrosstheskybridge"; + level.scr_radio["bet_x_gettothatcraneand"] = "bet_x_gettothatcraneand"; + level.scr_radio["bet_x_useyourmaggripson"] = "bet_x_useyourmaggripson"; + level.scr_radio["bet_x_getonthecrane"] = "bet_x_getonthecrane"; + level.scr_sound["ilana"]["bet_iln1_careful2"] = "bet_iln1_careful2"; + level.scr_sound["ilana"]["bet_iln1_thisway"] = "bet_iln1_thisway"; + level.scr_sound["ilana"]["bet_iln1_grappleupmitchell"] = "bet_iln1_grappleupmitchell"; + level.scr_radio["bet_x_startgrappling"] = "bet_x_startgrappling"; + level.scr_sound["ilana"]["bet_iln1_keepgoing2"] = "bet_iln1_keepgoing2"; + level.scr_sound["ilana"]["bet_iln1_uhhnnn"] = "bet_iln1_uhhnnn"; + level.scr_sound["cormack"]["bet_crk_yourememberyouroldsergeant"] = "bet_crk_yourememberyouroldsergeant"; + level.scr_sound["sentinel_1"]["bet_snv_warbirdincoming"] = "bet_snv_warbirdincoming"; + level.scr_sound["joker"]["bet_jkr_whatstheplayboss"] = "bet_jkr_whatstheplayboss"; + level.scr_sound["gideon"]["bet_gdn_standdown"] = "bet_gdn_standdown"; + level.scr_sound["gideon"]["bet_gdn_ifyourewrongaboutirons"] = "bet_gdn_ifyourewrongaboutirons"; + level.scr_sound["ilana"]["bet_iln1_imnotwrong"] = "bet_iln1_imnotwrong"; + level.scr_sound["gideon"]["bet_gdn_wellsee"] = "bet_gdn_wellsee"; + level.scr_sound["atlas_command"]["bet_atr_atlasonewhatsyourstatus"] = "bet_atr_atlasonewhatsyourstatus"; + level.scr_sound["gideon"]["bet_gdn_roofisclear"] = "bet_gdn_roofisclear"; + level.scr_sound["cormack"]["bet_crk_insidenow"] = "bet_crk_insidenow"; + level.scr_radio["bet_x_yourecompromised"] = "bet_x_yourecompromised"; + level.scr_radio["bet_x_theyveseenyou"] = "bet_x_theyveseenyou"; + level.scr_radio["bet_x_theyvefoundyou"] = "bet_x_theyvefoundyou"; + level.scr_radio["bet_x_youvebeendiscoveredatlasforces"] = "bet_x_youvebeendiscoveredatlasforces"; + level.scr_sound["ilana"]["bet_iln1_theyveseenus"] = "bet_iln1_theyveseenus"; + level.scr_sound["guard"]["bet_at11_suspectsspotted"] = "bet_at11_suspectsspotted"; + level.scr_sound["guard"]["bet_at11_theretheyaremovein"] = "bet_at11_theretheyaremovein"; + level.scr_sound["guard"]["bet_at11_overtheretakethemout"] = "bet_at11_overtheretakethemout"; + level.scr_sound["guard"]["bet_at11_thereiseethem"] = "bet_at11_thereiseethem"; + level.scr_sound["guard"]["bet_at11_ivespottedthemthere"] = "bet_at11_ivespottedthemthere"; +} + +//Function Number: 2 +stop_vo_on_entity(param_00,param_01) +{ + self endon(param_01); + level waittill(param_00); + if(isdefined(self.function_stack)) + { + maps\_utility::function_stack_clear(); + } + + self stopsounds(); +} + +//Function Number: 3 +stop_vo_on_radio(param_00,param_01) +{ + level endon(param_01); + level waittill(param_00); + maps\_utility::radio_dialogue_stop(); +} + +//Function Number: 4 +play_dialog() +{ + thread init_pcap_vo(); + level thread play_dialogue_office(); + level thread play_dialogue_confrontation(); + level thread play_dialogue_escape(); + level thread play_dialogue_roof(); + level thread play_dialogue_swim(); + level thread play_dialogue_sewer(); + level thread play_dialogue_oldtown(); + level thread play_dialogue_docks(); + level thread play_dialogue_boat(); + level thread play_dialogue_climb(); +} + +//Function Number: 5 +play_dialogue_office() +{ + common_scripts\utility::flag_wait("flag_dialogue_start_office"); + level thread play_dialogue_office_block_congrats(); + level thread play_dialogue_office_block_baghdad(); + level thread play_dialogue_office_block_kva(); + level thread play_dialogue_office_block_guard(); + level thread play_dialogue_office_block_door(); +} + +//Function Number: 6 +play_dialogue_office_block_congrats() +{ + common_scripts\utility::flag_wait("flag_dialogue_office_congrats"); + level.office_civ maps\_utility::dialogue_queue("bet_at1_congratulationssir"); +} + +//Function Number: 7 +play_dialogue_office_block_baghdad() +{ + common_scripts\utility::flag_wait("flag_dialogue_office_baghdad"); + var_00 = getent("intro_gideon_city_lookat","targetname"); + level.gideon setlookatentity(var_00); + common_scripts\utility::delay_script_call(5,::gideon_look_off); + level.gideon maps\_utility::dialogue_queue("bet_gdn_hardtobelievethisis"); +} + +//Function Number: 8 +gideon_look_off() +{ + level.gideon setlookatentity(); +} + +//Function Number: 9 +play_dialogue_office_block_kva() +{ + common_scripts\utility::flag_wait("flag_dialogue_office_kva"); + level.gideon maps\_utility::dialogue_queue("bet_gdn_echoteamtookdownanother"); + level.gideon maps\_utility::dialogue_queue("bet_gdn_theworldsrunningoutof"); +} + +//Function Number: 10 +play_dialogue_office_block_guard() +{ + common_scripts\utility::flag_wait("flag_dialogue_office_guard"); + level.office_guard maps\_utility::dialogue_queue("bet_atd_afternoonsir"); +} + +//Function Number: 11 +play_dialogue_office_block_door() +{ + common_scripts\utility::flag_wait("flag_dialogue_office_door"); + wait(5); + level.gideon maps\_utility::dialogue_queue("bet_gdn_thisisit"); +} + +//Function Number: 12 +play_dialogue_confrontation() +{ + common_scripts\utility::flag_wait("flag_dialogue_start_confrontation"); + level thread play_dialog_confrontation_block_mrx(); + level thread play_dialog_confrontation_block_go(); + level thread play_dialog_confrontation_block_leave(); +} + +//Function Number: 13 +play_dialog_confrontation_block_mrx() +{ + common_scripts\utility::flag_wait("flag_dialog_confrontation_mrX"); + level thread maps\_shg_utility::play_videolog("betrayal_videolog_02","screen_add"); + level.escape_take_down_guard maps\_utility::dialogue_queue("bet_at11_juststaywhereyouare"); + level maps\_utility::dialogue_queue("bet_x_listen"); +} + +//Function Number: 14 +play_dialog_confrontation_block_go() +{ + common_scripts\utility::flag_wait("flag_dialog_confrontation_go"); + level.escape_take_down_guard maps\_utility::dialogue_queue("bet_at11_aarrrgh"); + level maps\_utility::dialogue_queue("bet_x_gonow"); +} + +//Function Number: 15 +play_dialog_confrontation_block_leave() +{ + common_scripts\utility::flag_wait("flag_dialog_confrontation_leave"); +} + +//Function Number: 16 +play_dialogue_escape() +{ + common_scripts\utility::flag_wait("flag_dialogue_start_escape"); + level thread play_dialogue_escape_block_intros(); + level thread play_dialogue_escape_block_guarddoor(); + level thread play_dialogue_escape_block_announce(); + level thread play_dialogue_escape_block_deadend(); + level thread play_dialogue_escape_block_climb(); + level thread play_dialogue_escape_block_swarm(); +} + +//Function Number: 17 +play_dialogue_escape_block_intros() +{ + common_scripts\utility::flag_wait("flag_dialogue_escape_intros"); + level maps\_utility::dialogue_queue("bet_x_headtowardstheserverroom"); + level.ilana maps\_utility::dialogue_queue("bet_iln1_whoareyou"); + level maps\_utility::dialogue_queue("bet_x_afriendjustkeepmoving"); +} + +//Function Number: 18 +play_dialogue_escape_block_guarddoor() +{ + common_scripts\utility::flag_wait("flag_dialogue_escape_guarddoor"); + level.escape_scene_side_door_guards[0] maps\_utility::dialogue_queue("bet_at11_prophetthefiredoorsinthe"); +} + +//Function Number: 19 +play_dialogue_escape_block_announce() +{ + common_scripts\utility::flag_wait("flag_dialogue_escape_announce"); + level thread maps\_utility::dialogue_queue("bet_pa_firesuppressionsystemactivated"); + wait(3); + level thread maps\_utility::dialogue_queue("bet_pa_allsecuritypersonellreportto"); +} + +//Function Number: 20 +play_dialogue_escape_block_deadend() +{ + common_scripts\utility::flag_wait("flag_dialogue_escape_deadend"); + level.ilana maps\_utility::dialogue_queue("bet_iln1_deadend"); + level maps\_utility::dialogue_queue("bet_x_holdon"); + common_scripts\utility::flag_set("flag_escape_open_elevator"); +} + +//Function Number: 21 +play_dialogue_escape_block_climb() +{ + common_scripts\utility::flag_wait("flag_dialogue_escape_climb"); + level maps\_utility::dialogue_queue("bet_x_startclimbingandgetto"); + level.ilana maps\_utility::dialogue_queue("bet_iln1_wellhavetouseour"); + while(!maps\_exo_climb::is_exo_climbing()) + { + wait(randomfloatrange(8,10)); + if(maps\_exo_climb::is_exo_climbing()) + { + break; + } + + if(common_scripts\utility::cointoss()) + { + level.ilana maps\_utility::dialogue_queue("bet_iln1_climbupmitchell"); + continue; + } + + level.ilana maps\_utility::dialogue_queue("bet_iln1_gomitchell"); + } +} + +//Function Number: 22 +play_dialogue_escape_block_swarm() +{ + common_scripts\utility::flag_wait("flag_dialogue_escape_swarm"); + level.escape_pa thread maps\_utility::dialogue_queue("bet_pa_attention"); + wait(3); + level maps\_utility::dialogue_queue("bet_x_theyregoingtoactivatea"); + level.ilana maps\_utility::dialogue_queue("bet_iln1_wellbetrappedupthere"); + level maps\_utility::dialogue_queue("bet_x_trustme"); +} + +//Function Number: 23 +play_dialogue_roof() +{ + common_scripts\utility::flag_wait("flag_dialogue_start_roof"); + level thread play_dialogue_roof_block_alert(); + level thread play_dialogue_roof_block_away(); + level thread play_dialogue_roof_block_run(); + level thread play_dialogue_roof_block_gates(); + level thread play_dialogue_roof_block_jump(); + level thread play_dialogue_roof_block_fall(); +} + +//Function Number: 24 +play_dialogue_roof_block_alert() +{ + common_scripts\utility::flag_wait("flag_dialogue_roof_swarm"); + level.ilana maps\_utility::dialogue_queue("bet_iln1_swarmrun"); + soundscripts\_snd::snd_music_message("swarm_run"); +} + +//Function Number: 25 +play_dialogue_roof_block_away() +{ + common_scripts\utility::flag_wait("flag_dialogue_roof_away"); + level.ilana maps\_utility::dialogue_queue("bet_iln1_wevegottogetaway"); +} + +//Function Number: 26 +play_dialogue_roof_block_run() +{ + common_scripts\utility::flag_wait("flag_dialogue_roof_run"); + level.ilana maps\_utility::dialogue_queue("bet_iln1_overhere"); +} + +//Function Number: 27 +play_dialogue_roof_block_gates() +{ + common_scripts\utility::flag_wait("flag_dialogue_roof_gates"); + level.escape_pa maps\_utility::dialogue_queue("bet_pa_securitylockdownineffect"); + level maps\_utility::dialogue_queue("bet_x_imoverridingthegates"); + level.ilana maps\_utility::dialogue_queue("bet_iln1_werefivestoriesup"); + level maps\_utility::dialogue_queue("bet_x_doitnow"); +} + +//Function Number: 28 +play_dialogue_roof_block_jump() +{ + common_scripts\utility::flag_wait("flag_dialogue_roof_jump"); + while(!common_scripts\utility::flag("flag_roof_player_jumped_off_atlas_building")) + { + if(common_scripts\utility::cointoss()) + { + level.ilana maps\_utility::dialogue_queue("bet_iln1_jump"); + continue; + } + + level.ilana maps\_utility::dialogue_queue("bet_iln1_jumpmitchell"); + wait(randomfloatrange(5,7)); + } +} + +//Function Number: 29 +play_dialogue_roof_block_fall() +{ + common_scripts\utility::flag_wait("flag_dialogue_roof_fall"); + level.falling_guard maps\_utility::dialogue_queue("bet_atr1_aahhh"); +} + +//Function Number: 30 +play_dialogue_swim() +{ + common_scripts\utility::flag_wait("flag_dialogue_start_swim"); + level thread play_dialogue_swim_block_sewer(); + level thread play_dialogue_swim_block_cough(); +} + +//Function Number: 31 +play_dialogue_swim_block_sewer() +{ + common_scripts\utility::flag_wait("flag_dialogue_swim_sewer"); + level maps\_utility::dialogue_queue("bet_x_seweraccessisdirectlyahead"); +} + +//Function Number: 32 +play_dialogue_swim_block_cough() +{ + common_scripts\utility::flag_wait("flag_dialogue_swim_cough"); + wait(0.6); + level.ilana maps\_utility::dialogue_queue("bet_iln1_coughing"); +} + +//Function Number: 33 +play_dialogue_sewer() +{ + common_scripts\utility::flag_wait("flag_dialogue_start_sewer"); + level thread play_dialogue_sewer_block_guards(); + level thread play_dialogue_sewer_block_announcement(); + level thread play_dialogue_sewer_block_checkpoint(); +} + +//Function Number: 34 +play_dialogue_sewer_block_guards() +{ + common_scripts\utility::flag_wait("flag_dialogue_sewer_guards"); + level.ilana maps\_utility::dialogue_queue("bet_iln1_sowhatnow"); + level maps\_utility::dialogue_queue("bet_x_youllneedtogetthrough"); + level.ilana maps\_utility::dialogue_queue("bet_iln1_theyregoingtolockdown"); + level maps\_utility::dialogue_queue("bet_x_thatswhyyouneedto"); +} + +//Function Number: 35 +play_dialogue_sewer_block_announcement() +{ + common_scripts\utility::flag_wait("flag_dialogue_sewer_announcement"); + level.oldtown_pa maps\_utility::dialogue_queue("bet_pa2_attentionthisisasecurity"); +} + +//Function Number: 36 +play_dialogue_sewer_block_checkpoint() +{ + common_scripts\utility::flag_wait("flag_dialogue_sewer_checkpoint"); + if(!common_scripts\utility::flag("flag_sewer_checkpoint_guards_wakeup")) + { + level.civilian1 thread stop_vo_on_entity("flag_sewer_checkpoint_guards_wakeup","vo_done"); + level.civilian1 maps\_utility::dialogue_queue("bet_cvl_guardshelpus"); + level.civilian1 notify("vo_done"); + } + + if(!common_scripts\utility::flag("flag_sewer_checkpoint_guards_wakeup")) + { + level.atlas_guard thread stop_vo_on_entity("flag_sewer_checkpoint_guards_wakeup","vo_done"); + level.atlas_guard maps\_utility::dialogue_queue("bet_at11_dontmove"); + level.atlas_guard notify("vo_done"); + } + + if(!common_scripts\utility::flag("flag_sewer_checkpoint_guards_wakeup")) + { + level.civilian2 thread stop_vo_on_entity("flag_sewer_checkpoint_guards_wakeup","vo_done"); + level.civilian2 maps\_utility::dialogue_queue("bet_cvl1_thereweremenwithguns"); + level.civilian2 notify("vo_done"); + } + + if(!common_scripts\utility::flag("flag_sewer_checkpoint_guards_wakeup")) + { + level.atlas_guard thread stop_vo_on_entity("flag_sewer_checkpoint_guards_wakeup","vo_done"); + level.atlas_guard maps\_utility::dialogue_queue("bet_at11_onyourkneesnow"); + level.atlas_guard notify("vo_done"); + } + + if(!common_scripts\utility::flag("flag_sewer_checkpoint_guards_wakeup")) + { + level thread stop_vo_on_radio("flag_sewer_checkpoint_guards_wakeup","vo_done"); + level maps\_utility::dialogue_queue("bet_x_theyreroundingupcivilians"); + level notify("vo_done"); + } + + if(!common_scripts\utility::flag("flag_sewer_checkpoint_guards_wakeup")) + { + level.ilana thread stop_vo_on_entity("flag_sewer_checkpoint_guards_wakeup","vo_done"); + level.ilana maps\_utility::dialogue_queue("bet_iln1_throughhere"); + level.ilana notify("vo_done"); + } + + if(!common_scripts\utility::flag("flag_sewer_checkpoint_guards_wakeup")) + { + level thread stop_vo_on_radio("flag_sewer_checkpoint_guards_wakeup","vo_done"); + level maps\_utility::dialogue_queue("bet_x_dropdowntothestreet"); + level notify("vo_done"); + } +} + +//Function Number: 37 +play_dialogue_oldtown() +{ + common_scripts\utility::flag_wait("flag_dialogue_start_oldtown"); + level thread play_dialogue_oldtown_block_contact(); + level thread play_dialogue_oldtown_block_naglines(); +} + +//Function Number: 38 +play_dialogue_oldtown_block_contact() +{ + common_scripts\utility::flag_wait("flag_dialogue_oldtown_contact"); + level.atlas_guard2 maps\_utility::dialogue_queue("bet_at2_theretheyare"); + level.atlas_guard3 maps\_utility::dialogue_queue("bet_at3_openfire"); + level.atlas_guard2 maps\_utility::dialogue_queue("bet_at2_atlasonewevegottherunners"); + level.ilana maps\_utility::dialogue_queue("bet_iln1_takecover"); + common_scripts\utility::delay_script_call(randomfloatrange(6,10),::common_scripts\utility::flag_set,"flag_dialogue_oldtown_naglines"); + var_00 = getent("freerun_pa","targetname"); + var_00.animname = "PA"; + while(!common_scripts\utility::flag("oldtown_dock_flyby")) + { + wait(randomfloatrange(2,4)); + var_00 maps\_utility::dialogue_queue("bet_pa_attentioncitizensreturnto"); + wait(15); + var_00 maps\_utility::dialogue_queue("bet_pa_donotattempttoleave"); + wait(15); + var_00 maps\_utility::dialogue_queue("bet_pa_fugitivesarelooseinoldtown"); + wait(45); + } +} + +//Function Number: 39 +play_dialogue_oldtown_block_naglines() +{ + common_scripts\utility::flag_wait("flag_dialogue_oldtown_naglines"); + while(!common_scripts\utility::flag("oldtown_dock_flyby")) + { + var_00 = distance(level.player.origin,level.ilana.origin); + if(var_00 < 500) + { + var_01 = randomint(100); + if(var_01 < 20) + { + level.ilana maps\_utility::dialogue_queue("bet_iln1_lookforflankingroutes"); + } + else if(var_01 < 40) + { + level.ilana maps\_utility::dialogue_queue("bet_iln1_gogogo"); + } + else if(var_01 < 60) + { + level.ilana maps\_utility::dialogue_queue("bet_iln1_wevegottokeeppushing"); + } + else if(var_01 < 80) + { + level.ilana maps\_utility::dialogue_queue("bet_iln1_runmitchell"); + } + else + { + level.ilana maps\_utility::dialogue_queue("bet_iln1_fastermitchell"); + } + + continue; + } + + var_01 = randomint(100); + if(var_01 < 33) + { + level maps\_utility::dialogue_queue("bet_x_keepmovingbothofyou"); + continue; + } + + if(var_01 < 66) + { + level maps\_utility::dialogue_queue("bet_x_keepgoingyourerunningout"); + continue; + } + + level maps\_utility::dialogue_queue("bet_x_gettothedocks"); + wait(randomfloatrange(25,35)); + } +} + +//Function Number: 40 +play_dialogue_oldtown_player_spotted(param_00,param_01,param_02) +{ + var_03 = []; + var_03[0] = "bet_at11_suspectsspotted"; + var_03[1] = "bet_at11_theretheyaremovein"; + var_03[2] = "bet_at11_overtheretakethemout"; + var_03[3] = "bet_at11_thereiseethem"; + var_03[4] = "bet_at11_ivespottedthemthere"; + var_04 = param_00.animname; + param_00.animname = "guard"; + var_05 = randomint(var_03.size); + param_00 maps\_utility::dialogue_queue(var_03[var_05]); + var_03 = maps\_utility::array_remove_index(var_03,var_05); + param_00.animname = var_04; + if(isdefined(param_01) && isalive(param_01)) + { + var_04 = param_01.animname; + param_01.animname = "guard"; + var_05 = randomint(var_03.size); + param_01 maps\_utility::dialogue_queue(var_03[var_05]); + param_01.animname = var_04; + } + + if(isdefined(param_02) && param_02) + { + return; + } + + var_05 = randomint(100); + if(var_05 < 20) + { + level.ilana maps\_utility::dialogue_queue("bet_iln1_theyveseenus"); + return; + } + + if(var_05 < 40) + { + level maps\_utility::dialogue_queue("bet_x_yourecompromised"); + return; + } + + if(var_05 < 60) + { + level maps\_utility::dialogue_queue("bet_x_theyveseenyou"); + return; + } + + if(var_05 < 80) + { + level maps\_utility::dialogue_queue("bet_x_theyvefoundyou"); + return; + } + + level maps\_utility::dialogue_queue("bet_x_youvebeendiscoveredatlasforces"); +} + +//Function Number: 41 +play_dialogue_docks() +{ + common_scripts\utility::flag_wait("flag_dialogue_start_docks"); + level thread play_dialogue_docks_block_intro(); + level thread play_dilaogue_docks_block_ast(); + level thread play_dialogue_docks_block_boat(); + level thread play_dialogue_docks_block_boatnag(); + level thread play_dialogue_docks_backtrack(); +} + +//Function Number: 42 +play_dialogue_docks_block_intro() +{ + common_scripts\utility::flag_wait("flag_dialogue_docks_intro"); + level.ilana maps\_utility::dialogue_queue("bet_iln1_thedocksareupahead"); + level maps\_utility::dialogue_queue("bet_x_ileftyouatool"); +} + +//Function Number: 43 +play_dilaogue_docks_block_ast() +{ + common_scripts\utility::flag_wait("flag_dialogue_docks_ast"); + level.ilana maps\_utility::dialogue_queue("bet_iln1_astincoming"); + wait(25); + if(isalive(level.dock_mech)) + { + level.ilana maps\_utility::dialogue_queue("bet_iln1_useyourempagainstit"); + } +} + +//Function Number: 44 +play_dialogue_docks_block_boat() +{ + common_scripts\utility::flag_wait("flag_dialogue_docks_boat"); + wait(2); + level.ilana maps\_utility::dialogue_queue("bet_iln1_astisdown"); + if(!common_scripts\utility::flag("player_on_boat")) + { + level thread stop_vo_on_radio("player_on_boat","vo_done"); + level maps\_utility::dialogue_queue("bet_x_theboatsonthesecond"); + level notify("vo_done"); + } + + if(!common_scripts\utility::flag("player_on_boat")) + { + level.ilana thread stop_vo_on_entity("player_on_boat","vo_done"); + level.ilana maps\_utility::dialogue_queue("bet_iln1_mitchellgetintheboat"); + level.ilana notify("vo_done"); + } + + wait(randomfloatrange(9,15)); + common_scripts\utility::flag_set("flag_dialogue_docks_boatnag"); +} + +//Function Number: 45 +play_dialogue_docks_block_boatnag() +{ + common_scripts\utility::flag_wait("flag_dialogue_docks_boatnag"); + while(!common_scripts\utility::flag("player_on_boat")) + { + if(common_scripts\utility::cointoss()) + { + level.ilana maps\_utility::dialogue_queue("bet_iln1_intheboatnow"); + continue; + } + + level.ilana maps\_utility::dialogue_queue("bet_iln1_comeonmitchell"); + wait(randomfloatrange(9,15)); + } +} + +//Function Number: 46 +play_dialogue_docks_backtrack() +{ + common_scripts\utility::flag_wait("flag_dialogue_docks_backtrack"); + level.atlas_guard2 maps\_utility::dialogue_queue("bet_at2_theretheyare"); + level.atlas_guard maps\_utility::dialogue_queue("bet_at11_dontmove"); + level.atlas_guard maps\_utility::dialogue_queue("bet_at11_onyourkneesnow"); + level.atlas_guard3 maps\_utility::dialogue_queue("bet_at3_openfire"); +} + +//Function Number: 47 +play_dialogue_boat() +{ + common_scripts\utility::flag_wait("flag_dialogue_start_boat"); + level thread play_dialogue_boat_block_grapple(); + level thread play_dialogue_boat_block_intro(); + level thread play_dialogue_boat_block_dive(); + level thread play_dialogue_boat_block_ramp(); + level thread play_dialogue_boat_block_close(); + level thread play_dialogue_boat_block_missiles(); +} + +//Function Number: 48 +play_dialogue_boat_block_grapple() +{ + common_scripts\utility::flag_wait("flag_dialogue_boat_grapple"); + level maps\_utility::dialogue_queue("bet_x_putonthatgrappleattachement"); +} + +//Function Number: 49 +play_dialogue_boat_block_intro() +{ + common_scripts\utility::flag_wait("flag_dialogue_boat_intro"); + level maps\_utility::dialogue_queue("bet_x_headdownthecanaltowards"); + level.ilana maps\_utility::dialogue_queue("bet_iln1_wevegotdronesinpursuit"); +} + +//Function Number: 50 +play_dialogue_boat_block_dive() +{ + common_scripts\utility::flag_wait("flag_dialogue_boat_dive"); + level.ilana maps\_utility::dialogue_queue("bet_iln1_diveunderthoseboats"); + wait(6); + level.ilana maps\_utility::dialogue_queue("bet_iln1_gofaster"); +} + +//Function Number: 51 +play_dialogue_boat_block_ramp() +{ + common_scripts\utility::flag_wait("flag_dialogue_boat_ramp"); + level.ilana maps\_utility::dialogue_queue("bet_iln1_hittheramp"); + wait(2); + level maps\_utility::dialogue_queue("bet_x_gogo"); +} + +//Function Number: 52 +play_dialogue_boat_block_close() +{ + common_scripts\utility::flag_wait("flag_dialogue_boat_close"); + level maps\_utility::dialogue_queue("bet_x_youregettingclose"); + level.ilana maps\_utility::dialogue_queue("bet_iln1_closetowhat"); + level maps\_utility::dialogue_queue("bet_x_youllsee"); +} + +//Function Number: 53 +play_dialogue_boat_block_missiles() +{ + level endon("boat_scene_cleanup"); + var_00 = []; + var_00[0] = "bet_iln1_missilelockdive"; + var_00[1] = "bet_iln1_incomingdive"; + var_00[2] = "bet_iln1_keepgoing"; + var_00[3] = "bet_iln1_lookout"; + var_00[4] = "bet_iln1_watchout"; + var_00[5] = "bet_iln1_dive2"; + var_00[6] = "bet_iln1_lookout2"; + var_00[7] = "bet_iln1_moremissiles"; + var_01 = 1; + for(;;) + { + common_scripts\utility::flag_wait("flag_dialogue_boat_missiles"); + var_02 = undefined; + if(var_01) + { + var_02 = 0; + var_01 = 0; + } + else + { + var_02 = randomint(var_00.size); + } + + level.ilana maps\_utility::dialogue_queue(var_00[var_02]); + common_scripts\utility::flag_clear("flag_dialogue_boat_missiles"); + } +} + +//Function Number: 54 +play_dialogue_climb() +{ + common_scripts\utility::flag_wait("flag_dialogue_start_climb"); + level thread play_dialogue_climb_block_boatexit(); + level thread play_dialogue_climb_block_grapple1(); + level thread play_dialogue_climb_block_grapple2(); + level thread play_dialogue_climb_block_grapple3(); + level thread play_dialogue_climb_block_contact(); + level thread play_dialogue_climb_block_containers(); + level thread play_dialogue_climb_block_careful(); + level thread play_dialogue_climb_block_tower(); + level thread play_dialogue_climb_block_ledge(); + level thread play_dialogue_climb_block_climb(); + level thread play_dialogue_climb_block_way(); + level thread play_dialogue_climb_block_bridge(); + level thread play_dialogue_climb_block_drop(); + level thread play_dialogue_climb_block_cross(); + level thread play_dialogue_climb_block_crane(); + level thread play_dialogue_crane_block_start(); + level thread play_dialogue_crane_block_go(); + level thread play_dialogue_crane_block_jump(); + level thread play_dialogue_crane_block_slide(); +} + +//Function Number: 55 +play_dialogue_climb_block_boatexit() +{ + common_scripts\utility::flag_wait("flag_dialogue_climb_boatexit"); + wait(3); + level maps\_utility::dialogue_queue("bet_x_mitchellilonacanyouhear"); +} + +//Function Number: 56 +play_video_log_climb_block_intro() +{ + common_scripts\utility::flag_wait("flag_dialogue_climb_intro"); + maps\_shg_utility::play_videolog("betrayal_videolog","screen_add"); +} + +//Function Number: 57 +play_dialogue_climb_block_grapple1() +{ + common_scripts\utility::flag_wait("flag_dialogue_climb_grapple1"); + level.ilana maps\_utility::dialogue_queue("bet_iln1_mitchellwecangrappleup"); + level thread play_dialogue_climb_grapple_nag("flag_dialogue_climb_grapple2"); +} + +//Function Number: 58 +play_dialogue_climb_block_grapple2() +{ + common_scripts\utility::flag_wait("flag_dialogue_climb_grapple2"); + level.ilana maps\_utility::dialogue_queue("bet_iln1_anothergrapplepointaboveus"); +} + +//Function Number: 59 +play_dialogue_climb_block_grapple3() +{ + common_scripts\utility::flag_wait("flag_dialogue_climb_grapple3"); + level.ilana maps\_utility::dialogue_queue("bet_iln1_keepmovingup"); +} + +//Function Number: 60 +play_dialogue_climb_block_contact() +{ + common_scripts\utility::flag_wait("flag_dialogue_climb_contact"); + level.ilana maps\_utility::dialogue_queue("bet_iln1_contactgettocover"); +} + +//Function Number: 61 +play_dialogue_climb_block_containers() +{ + common_scripts\utility::flag_wait("flag_dialogue_climb_containers"); + level.ilana maps\_utility::dialogue_queue("bet_iln1_watchthosecontainers"); +} + +//Function Number: 62 +play_dialogue_climb_block_careful() +{ + common_scripts\utility::flag_wait("flag_dialogue_climb_careful"); + level.ilana maps\_utility::dialogue_queue("bet_iln1_careful"); +} + +//Function Number: 63 +play_dialogue_climb_grapple_nag(param_00) +{ + level endon(param_00); + var_01 = -1; + for(;;) + { + wait(8); + for(;;) + { + var_02 = randomint(3); + if(var_02 != var_01) + { + var_01 = var_02; + break; + } + } + + if(var_02 == 0) + { + level.ilana maps\_utility::dialogue_queue("bet_iln1_grappleupmitchell"); + continue; + } + + if(var_02 == 1) + { + level.ilana maps\_utility::dialogue_queue("bet_iln1_thisway"); + continue; + } + + level maps\_utility::dialogue_queue("bet_x_startgrappling"); + } +} + +//Function Number: 64 +play_dialogue_climb_block_tower() +{ + common_scripts\utility::flag_wait("flag_dialogue_climb_tower"); + if(common_scripts\utility::flag("flag_dialogue_climb_ledge")) + { + return; + } + + level maps\_utility::dialogue_queue("bet_x_yourealmosttherejustgrapple"); + level.ilana maps\_utility::dialogue_queue("bet_iln1_keepheadingup"); + level thread play_dialogue_climb_grapple_nag("flag_dialogue_climb_ledge"); +} + +//Function Number: 65 +play_dialogue_climb_block_ledge() +{ + common_scripts\utility::flag_wait("flag_dialogue_climb_ledge"); + level maps\_utility::dialogue_queue("bet_x_grappletothatledge"); +} + +//Function Number: 66 +play_dialogue_climb_block_climb() +{ + common_scripts\utility::flag_wait("flag_dialogue_climb_climb"); + level.ilana maps\_utility::dialogue_queue("bet_iln1_wellhavetouseour2"); + while(!maps\_exo_climb::is_exo_climbing()) + { + wait(randomfloatrange(8,10)); + if(maps\_exo_climb::is_exo_climbing()) + { + break; + } + + if(common_scripts\utility::cointoss()) + { + level.ilana maps\_utility::dialogue_queue("bet_iln1_climbupmitchell"); + continue; + } + + level.ilana maps\_utility::dialogue_queue("bet_iln1_gomitchell"); + } +} + +//Function Number: 67 +play_dialogue_climb_block_way() +{ + common_scripts\utility::flag_wait("flag_dialogue_climb_way"); + wait(1); + level.ilana maps\_utility::dialogue_queue("bet_iln1_thisway"); +} + +//Function Number: 68 +play_dialogue_climb_block_bridge() +{ + common_scripts\utility::flag_wait("flag_dialogue_climb_bridge"); + level maps\_utility::dialogue_queue("bet_x_getuptotheskybridge"); +} + +//Function Number: 69 +play_dialogue_climb_block_drop() +{ + common_scripts\utility::flag_wait("flag_dialogue_climb_drop"); + level maps\_utility::dialogue_queue("bet_x_dropdownandcrossthe"); +} + +//Function Number: 70 +play_dialogue_climb_block_cross() +{ + common_scripts\utility::flag_wait("flag_dialogue_climb_cross"); + level maps\_utility::dialogue_queue("bet_x_getacrosstheskybridge"); +} + +//Function Number: 71 +play_dialogue_climb_block_crane() +{ + common_scripts\utility::flag_wait("flag_dialogue_climb_crane"); + level thread play_dialogue_climb_crane_nag(); + level maps\_utility::dialogue_queue("bet_x_gettothatcraneand"); +} + +//Function Number: 72 +play_dialogue_climb_crane_nag() +{ + level endon("flag_dialogue_climb_crane_nag_stop"); + wait(5); + var_00 = -1; + for(;;) + { + wait(8); + for(;;) + { + var_01 = randomint(2); + if(var_01 != var_00) + { + var_00 = var_01; + break; + } + } + + if(var_01 == 0) + { + level maps\_utility::dialogue_queue("bet_x_useyourmaggripson"); + continue; + } + + level maps\_utility::dialogue_queue("bet_x_getonthecrane"); + } +} + +//Function Number: 73 +play_dialogue_crane_block_start() +{ + common_scripts\utility::flag_wait("flag_dialogue_crane_start"); + level.ilana maps\_utility::dialogue_queue("bet_iln1_careful2"); +} + +//Function Number: 74 +play_dialogue_crane_block_go() +{ + common_scripts\utility::flag_wait("flag_dialogue_crane_go"); + level maps\_utility::dialogue_queue("bet_x_gogo"); + wait(3); + level.ilana maps\_utility::dialogue_queue("bet_iln1_keepgoing2"); +} + +//Function Number: 75 +play_dialogue_crane_block_jump() +{ + common_scripts\utility::flag_wait("flag_dialogue_crane_jump"); + level.ilana maps\_utility::dialogue_queue("bet_iln1_jumpmitchell"); +} + +//Function Number: 76 +play_dialogue_crane_block_slide() +{ + common_scripts\utility::flag_wait("flag_dialogue_crane_slide"); +} + +//Function Number: 77 +init_pcap_vo() +{ + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%bet_intro_gideon,"aud_start_bet_intro",::bet_intro_gideon); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%bet_confrontation_pt1_gideon,"aud_start_confrontation_pt1_gideon",::bet_betrayal_pt1_gideon); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%bet_confrontation_pt1_ilona,"aud_start_confrontation_pt1_ilona",::bet_betrayal_pt1_ilona); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%bet_confrontation_pt1_irons,"aud_start_confrontation_pt1_irons",::bet_betrayal_pt1_irons); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%bet_confrontation_pt1_technician,"aud_start_confrontation_pt1_tech",::bet_betrayal_pt1_tech); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%bet_confrontation_pt2_gideon,"aud_start_confrontation_pt2_gideon",::bet_betrayal_pt2_gideon); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%bet_confrontation_pt2_ilona,"aud_start_confrontation_pt2_ilona",::bet_betrayal_pt2_ilona); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%bet_confrontation_pt2_irons,"aud_start_confrontation_pt2_irons",::bet_betrayal_pt2_irons); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%bet_escape_pt3_ilona,"aud_start_ilona_escape",::bet_escape_ilona); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%bet_boat_exit_ilana,"aud_start_boat_exit_ilona",::bet_boat_exit_ilona); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%bet_finale_cormack,"aud_start_finale_cormack",::bet_ending_cormack); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%bet_finale_gideon,"aud_start_finale_gideon",::bet_ending_gideon); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%bet_finale_ilana,"aud_start_finale_ilona",::bet_ending_ilona); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%bet_finale_joker,"aud_start_finale_joker",::bet_ending_joker); +} + +//Function Number: 78 +bet_intro_gideon(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_gdn_howdoesitfeelto",1.03); + soundscripts\_snd_playsound::snd_play_delayed_2d("squelch_on_plt",5); + param_00 soundscripts\_snd_pcap::snd_pcap_play_radio_vo_30fps("bet_iln1_gideonmitchell",5.12); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_gdn_ilonawhatisit",9.12); + param_00 soundscripts\_snd_pcap::snd_pcap_play_radio_vo_30fps("bet_iln1_meetmeinmaintenanceroom",11.21); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_gdn_alrightweremoving2",17.06); +} + +//Function Number: 79 +bet_betrayal_pt1_gideon(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_gdn_no",3.04); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_gdn_whatthebloodyhellsgoing",7.18); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_gdn_theguywepulledout",13.21); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_gdn_fuckme",48.09); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_gdn_wheredidyougetthis",54.27); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_gdn_howdoyouknowits",59.12); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_gdn_vocalizationforflashbangsequence",69.2); +} + +//Function Number: 80 +bet_betrayal_pt1_ilona(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_iln1_didyoutellanyoneyou",1.15); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_iln1_thescramblerwillonlybuy",3.21); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_iln1_justwatchthis",8.09); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_iln1_thatsironswiththetechnologist",10.06); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_iln1_henevermadeitback",15); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_iln1_heknewit",49.06); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_iln1_hades2",55.24); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_iln1_itwascodedandencrypted",60.03); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_iln1_vocalizationforflashbangsequence",69.19); +} + +//Function Number: 81 +bet_betrayal_pt1_irons(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_irs_whatkindofattack",20.15); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_irs_wherearetheyplanningon",27.21); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_irs_no",37.15); +} + +//Function Number: 82 +bet_betrayal_pt1_tech(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_tct_thekvaareplanningan",16.24); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_tct_powerplantsalloverthe",22.12); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_tct_seattleparistokyothousandswilldie2",29.21); +} + +//Function Number: 83 +bet_betrayal_pt2_gideon(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_gdn_yessir",35.21); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_gdn_hesaiditwasa",44.03); +} + +//Function Number: 84 +bet_betrayal_pt2_ilona(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_iln1_wesawit",12.06); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_iln1_youknewabouttheattacks",17.18); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_iln1_youreinsaneyoureamonster",22.24); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_iln1_gideon2",36.18); +} + +//Function Number: 85 +bet_betrayal_pt2_irons(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_irs_yousawwhat",15.18); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_irs_yousawaforgedrecording2",20.09); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_irs_imdissapointedinyou",27.21); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_irs_hesmadehisdecision",46.06); +} + +//Function Number: 86 +bet_escape_ilona(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_iln1_weneedtogetout",3.06); +} + +//Function Number: 87 +bet_boat_exit_ilona(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_iln1_areyoualright",3.04); + soundscripts\_snd_pcap::snd_pcap_play_radio_vo_30fps("bet_x_canyoumove",4.03); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_iln1_copy",5.06); + level maps\_utility::delaythread(5,::play_video_log_climb_block_intro); + soundscripts\_snd_pcap::snd_pcap_play_radio_vo_30fps("bet_x_extractionpointisrightabove",8.15); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_iln1_howarewesupposedto",11); + soundscripts\_snd_pcap::snd_pcap_play_radio_vo_30fps("bet_x_useyourgrapple",12.21); +} + +//Function Number: 88 +bet_ending_cormack(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_crk_yourememberyouroldsergeant",5); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_snv_warbirdincoming",10.03); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_crk_insidenow",31.18); +} + +//Function Number: 89 +bet_ending_gideon(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_gdn_standdown",15.09,"sounddone_bet_gdn_standdown"); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_gdn_ifyourewrongaboutirons",18.21); + level maps\_utility::delaythread(23.8,::maps\_utility::dialogue_queue,"bet_atr_atlasonewhatsyourstatus"); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_gdn_roofisclear",28.24); +} + +//Function Number: 90 +bet_ending_ilona(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_iln1_imnotwrong",21.24); +} + +//Function Number: 91 +bet_ending_joker(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("bet_jkr_whatstheplayboss",14.12); +} \ No newline at end of file diff --git a/AW/PC/maps/captured.gsc b/AW/PC/maps/captured.gsc new file mode 100644 index 0000000..bf10745 --- /dev/null +++ b/AW/PC/maps/captured.gsc @@ -0,0 +1,1534 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: captured.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 80 + * Decompile Time: 1275 ms + * Timestamp: 4/22/2024 2:25:55 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\_utility::template_level("captured"); + maps\_utility::set_default_start("introdrive"); + maps\_utility::default_start(::start_introdrive); + maps\_utility::add_start("introdrive",::start_introdrive,"Intro Drive",::main_introdrive); + maps\_utility::add_start("s1elevator",::start_s1elevator,"S1 Elevator",::main_s1elevator); + maps\_utility::add_start("s2walk",::start_s2walk,"S2 Walk",::main_s2walk); + maps\_utility::add_start("s2elevator",::start_s2elevator,"S2 Elevator",::main_s2elevator); + maps\_utility::add_start("s3interrogate",::start_s3interrogate,"Interrogation",::main_s3interrogate); + maps\_utility::add_start("s3escape",::start_s3escape,"Escape",::main_s3escape); + maps\_utility::add_start("test_chamber",::start_test_chamber,"Test Chamber",::main_test_chamber); + maps\_utility::add_start("autopsy_halls",::start_autopsy_halls,"Halls to Autopsy",::main_autopsy_halls); + maps\_utility::add_start("autopsy",::start_autopsy,"Autopsy",::main_autopsy); + maps\_utility::add_start("incinerator",::start_incinerator,"Incinerator",::main_incinerator); + maps\_utility::add_start("battle_to_heli",::start_battle_to_heli,"Battle to Heli",::main_battle_to_heli); + maps\_utility::add_start("run_to_heli",::start_run_to_heli,"Run to Heli",::main_run_to_heli); + maps\_utility::add_start("heliride",::start_heliride,"Heli Ride",::main_heliride); + maps\_utility::add_start("mb1_intro",::start_mb1_intro,"Mech Battle Intro",::main_mb1_intro); + maps\_utility::add_start("mb1_mech",::start_mb1_mech,"Mech Battle Get In Mech",::main_mb1_mech); + maps\_utility::add_start("mb1_jump",::start_mb1_jump,"Mech Battle Jump",::main_mb1_jump); + maps\_utility::add_start("mb1",::start_mb1,"Mech Battle 1: Construction",::main_mb1); + maps\_utility::add_start("mb2_gatesmash",::start_mb2_gatesmash,"Mech Battle 2: Gate Crash",::main_mb2_gatesmash); + maps\_utility::add_start("mb2",::start_mb2,"Mech Battle 2: Warehouse",::main_mb2); + maps\_utility::add_start("gatedoor",::start_gatedoor,"Gate Door",::main_gatedoor); + maps\_utility::add_start("end_escape",::start_end_escape,"Ending Escape",::main_end_escape); + if(level.currentgen) + { + tff_start_points(); + maps\_utility::tff_sync_setup(); + } + + pre_load(); + maps\_load::main(); + thread maps\_player_exo::main("specialist",0,0); + maps\_player_exo::player_exo_remove_single("shield"); + post_load(); + thread maps\_drone_civilian::init(); + thread maps\_drone_ai::init(); + if(level.currentgen) + { + tff_transitions(); + tff_blockers(); + } + + if(level.currentgen) + { + setsaveddvar("r_gunSightColorEntityScale","7"); + setsaveddvar("r_gunSightColorNoneScale","0.8"); + } + + common_scripts\utility::flag_wait("flag_end_escape_end"); + maps\_utility::nextmission(); +} + +//Function Number: 2 +tff_start_points() +{ + var_00 = ["captured_intro_drive_tr"]; + maps\_utility::set_start_transients("introdrive",var_00); + maps\_utility::set_start_transients("s1elevator",var_00); + var_00[0] = "captured_s2walk_tr"; + maps\_utility::set_start_transients("s2walk",var_00); + maps\_utility::set_start_transients("s2elevator",var_00); + var_00[0] = "captured_interrogate_tr"; + maps\_utility::set_start_transients("s3trolley",var_00); + maps\_utility::set_start_transients("s3interrogate",var_00); + var_00[1] = "captured_escape_tr"; + maps\_utility::set_start_transients("s3escape",var_00); + var_00 = ["captured_escape_tr"]; + maps\_utility::set_start_transients("test_chamber",var_00); + var_00[0] = "captured_test_chamber_tr"; + var_00[1] = "captured_autopsy_halls_tr"; + maps\_utility::set_start_transients("autopsy_halls",var_00); + var_00 = ["captured_autopsy_tr"]; + maps\_utility::set_start_transients("autopsy",var_00); + maps\_utility::set_start_transients("incinerator",var_00); + var_00[0] = "captured_incinerator_tr"; + maps\_utility::set_start_transients("battle_to_heli",var_00); + var_00[0] = "captured_helipad_tr"; + maps\_utility::set_start_transients("run_to_heli",var_00); + maps\_utility::set_start_transients("heliride",var_00); + var_00[0] = "captured_mechbattle_tr"; + maps\_utility::set_start_transients("mb1_intro",var_00); + maps\_utility::set_start_transients("mb1_mech",var_00); + maps\_utility::set_start_transients("mb1_jump",var_00); + maps\_utility::set_start_transients("mb1",var_00); + maps\_utility::set_start_transients("mb2_gatesmash",var_00); + maps\_utility::set_start_transients("mb2",var_00); + maps\_utility::set_start_transients("gatedoor",var_00); + maps\_utility::set_start_transients("end_escape",var_00); +} + +//Function Number: 3 +tff_blockers() +{ + thread tff_blocker_incinerator(); + thread tff_blocker_incinerator_to_helipad(); +} + +//Function Number: 4 +tff_blocker_incinerator() +{ + var_00 = getent("tff_incinerator_door","targetname"); + var_01 = getent("tff_incinerator_door_coll","targetname"); + var_02 = (0,0,100); + if(!level.currentgen) + { + var_00 hide(); + level waittill("tff_post_incinerator_to_helipad"); + var_00 show(); + var_01.origin = var_01.origin + var_02; + return; + } + + var_03 = getent("vol_incinerator_exit_door","targetname"); + var_01.origin = var_01.origin + var_02; + level.ally pushplayer(1); + common_scripts\utility::flag_wait("flag_incinerator_end"); + while(!level.ally istouching(var_03)) + { + wait(0.2); + } + + var_00 moveto(var_00.origin + (0,-64,0),0.5); + var_01.origin = var_01.origin + (0,-64,0); + soundscripts\_snd::snd_message("aud_door","post_incin","open"); + level waittill("flag_tff_trans_incinerator_to_helipad"); + soundscripts\_snd::snd_message("aud_door","post_incin","close"); + var_00 moveto(var_00.origin + (0,64,0),0.5); + var_01.origin = var_01.origin + (0,64,0); + level.ally pushplayer(0); +} + +//Function Number: 5 +tff_blocker_incinerator_to_helipad() +{ + var_00 = getent("tff_incinerator_to_helipad_door","targetname"); + var_01 = getent("tff_incinerator_to_helipad_door_coll","targetname"); + var_02 = (0,56,0); + var_01 disconnectpaths(); + level waittill("tff_post_incinerator_to_helipad"); + soundscripts\_snd::snd_message("aud_door","battle_to_heli","open"); + var_00 moveto(var_00.origin + var_02,0.5); + var_01 connectpaths(); + var_01 moveto(var_01.origin + var_02,0.5); +} + +//Function Number: 6 +tff_transitions() +{ + if(!istransientloaded("captured_s2walk_tr")) + { + thread tff_trans_intro_drive_to_s2walk(); + } + + if(!istransientloaded("captured_interrogate_tr")) + { + thread tff_trans_s2walk_to_interrogate(); + } + + if(!istransientloaded("captured_escape_tr")) + { + thread tff_trans_load_escape(); + } + + if(!istransientloaded("captured_escape_tr") || istransientloaded("captured_interrogate_tr")) + { + thread tff_trans_unload_interrogate(); + } + + if(!istransientloaded("captured_test_chamber_tr")) + { + thread tff_trans_escape_to_test_chamber(); + } + + if(!istransientloaded("captured_autopsy_halls_tr")) + { + thread tff_trans_load_autopsy_halls(); + } + + if(!istransientloaded("captured_autopsy_halls_tr") || istransientloaded("captured_test_chamber_tr")) + { + thread tff_trans_unload_test_chamber(); + } + + if(!istransientloaded("captured_autopsy_tr")) + { + thread tff_trans_autopsy_halls_to_autopsy(); + } + + if(!istransientloaded("captured_helipad_tr")) + { + thread tff_trans_incinerator_to_helipad(); + } +} + +//Function Number: 7 +tff_trans_intro_drive_to_s2walk() +{ + common_scripts\utility::flag_wait("flag_start_s1elevator"); + level notify("tff_pre_intro_drive_to_s2walk"); + unloadtransient("captured_intro_drive_tr"); + loadtransient("captured_s2walk_tr"); + while(!istransientloaded("captured_s2walk_tr")) + { + wait(0.05); + } + + level notify("tff_post_intro_drive_to_s2walk"); +} + +//Function Number: 8 +tff_trans_s2walk_to_interrogate() +{ + level waittill("elevator_black"); + level notify("tff_pre_s2walk_to_interrogate"); + unloadtransient("captured_s2walk_tr"); + loadtransient("captured_interrogate_tr"); + while(!istransientloaded("captured_interrogate_tr")) + { + wait(0.05); + } + + level notify("tff_post_s2walk_to_interrogate"); +} + +//Function Number: 9 +tff_trans_load_escape() +{ + common_scripts\utility::flag_wait("flag_s3interrogate_end"); + loadtransient("captured_escape_tr"); + while(!istransientloaded("captured_escape_tr")) + { + wait(0.05); + } + + level notify("tff_post_load_escape"); +} + +//Function Number: 10 +tff_trans_unload_interrogate() +{ + common_scripts\utility::flag_wait("flag_tff_unload_interrogate"); + level notify("tff_pre_unload_interrogate"); + unloadtransient("captured_interrogate_tr"); +} + +//Function Number: 11 +tff_trans_escape_to_test_chamber() +{ + common_scripts\utility::flag_wait("flag_tff_trans_escape_to_test_chamber"); + level notify("tff_pre_escape_to_test_chamber"); + unloadtransient("captured_escape_tr"); + loadtransient("captured_test_chamber_tr"); + while(!istransientloaded("captured_test_chamber_tr")) + { + wait(0.05); + } + + level notify("tff_post_escape_to_test_chamber"); +} + +//Function Number: 12 +tff_trans_load_autopsy_halls() +{ + common_scripts\utility::flag_wait("flag_tff_load_autopsy_halls"); + loadtransient("captured_autopsy_halls_tr"); + while(!istransientloaded("captured_autopsy_halls_tr")) + { + wait(0.05); + } + + level notify("tff_post_load_autopsy_halls"); +} + +//Function Number: 13 +tff_trans_unload_test_chamber() +{ + common_scripts\utility::flag_wait("flag_tff_unload_test_chamber"); + level.tcah_node maps\_anim::anim_first_frame(level.tcah_doors,"tc_enter_test_exit_door"); + level notify("tff_pre_unload_test_chamber"); + unloadtransient("captured_test_chamber_tr"); +} + +//Function Number: 14 +tff_trans_autopsy_halls_to_autopsy() +{ + common_scripts\utility::flag_wait("tff_trans_autopsy_halls_to_autopsy"); + level notify("tff_pre_autopsy_halls_to_autopsy"); + unloadtransient("captured_autopsy_halls_tr"); + loadtransient("captured_autopsy_tr"); + while(!istransientloaded("captured_autopsy_tr")) + { + wait(0.05); + } + + level notify("tff_post_autopsy_halls_to_autopsy"); +} + +//Function Number: 15 +tff_trans_incinerator_to_helipad() +{ + common_scripts\utility::flag_wait("flag_tff_trans_incinerator_to_helipad"); + level notify("tff_pre_incinerator_to_helipad"); + unloadtransient("captured_incinerator_tr"); + loadtransient("captured_helipad_tr"); + while(!istransientloaded("captured_helipad_tr")) + { + wait(0.05); + } + + level notify("tff_post_incinerator_to_helipad"); +} + +//Function Number: 16 +pre_load() +{ + maps\createart\captured_art::main(); + maps\captured_fx::main(); + maps\captured_precache::main(); + maps\captured_anim::main(); + maps\captured_vo::main(); + precacheitem("iw5_titan45_sp"); + precacheitem("iw5_hmr9_sp"); + precacheitem("iw5_sn6_sp"); + precacheitem("iw5_mahem_sp"); + precacheitem("iw5_mahemstraight_sp"); + precacheitem("iw5_mahemcaptured"); + precachemodel("s1_captured_handcuffs"); + precachemodel("s1_vm_handcuffs"); + precachemodel("cap_hanging_bodybag"); + precachemodel("vehicle_xh9_warbird_interior_collision"); + precachemodel("vehicle_xh9_warbird_interior_glass"); + precachemodel("vehicle_xh9_warbird_interior_glass_brkn"); + precachemodel("viewhands_playermech_dmg1"); + precachemodel("cpt_s1_crash_debris"); + precachemodel("npc_exo_armor_minigun_whole"); + precachemodel("cap_hanging_bodybag_clean"); + precachemodel("cap_hanging_bodybag_clean_b"); + precachemodel("cap_hanging_bodybag_clean_c"); + precachemodel("cap_hanging_bodybag_02_clean"); + precachemodel("cap_hanging_bodybag_02_clean_b"); + precachemodel("cap_hanging_bodybag_02_clean_c"); + precachemodel("cap_hanging_bodybag"); + precachemodel("cap_hanging_bodybag_02"); + precachemodel("cap_hanging_bodybag_b"); + precachemodel("cap_hanging_bodybag_c"); + precachemodel("cap_hanging_bodybag_02_b"); + precachemodel("cap_hanging_bodybag_02_c"); + precachemodel("cap_morgue_body_c"); + precacheitem("iw5_kvahazmatknifeonearm_sp"); + precacheitem("iw5_titan45onearmgundown_sp"); + precacheitem("iw5_titan45onearm_sp"); + precacheitem("iw5_titan45pickup_sp"); + precacheitem("iw5_hmr9onearm_sp"); + precacheitem("iw5_hmr9pickup_sp"); + precacheitem("iw5_sn6onearm_sp"); + precacheitem("iw5_sn6pickup_sp"); + precacherumble("light_1s"); + precacherumble("light_2s"); + precacherumble("light_3s"); + precacherumble("heavy_1s"); + precacherumble("heavy_2s"); + precacherumble("heavy_3s"); + precacherumble("steady_rumble"); + precacherumble("ie_vtol_rumble"); + precacherumble("ie_vtol_ride_rumble"); + precacherumble("ie_vtol_ride_rumble_low"); + precacherumble("damage_light"); + precacherumble("damage_heavy"); + precacherumble("warbird_flyby"); + precacherumble("silencer_fire"); + precacherumble("subtle_tank_rumble"); + animscripts\traverse\boost::precache_boost_fx_npc(); + level.pmc_alljuggernauts = 0; + level.noautosaveammocheck = 1; + maps\captured_introdrive::pre_load(); + maps\captured_s2walk::pre_load(); + maps\captured_s3::pre_load(); + maps\captured_medical::pre_load(); + maps\captured_facility::pre_load(); + maps\captured_mech::pre_load(); + maps\captured_exit::pre_load(); + maps\captured_end_escape::pre_load(); + setsaveddvar("use_new_sva_system",1); +} + +//Function Number: 17 +post_load() +{ + common_scripts\utility::flag_init("intro_fade_in_complete"); + common_scripts\utility::flag_init("flag_introdrive_end"); + common_scripts\utility::flag_init("flag_s1elevator_end"); + common_scripts\utility::flag_init("flag_s2walk_end"); + common_scripts\utility::flag_init("flag_s2elevator_end"); + common_scripts\utility::flag_init("flag_s3interrogate_end"); + common_scripts\utility::flag_init("flag_s3escape_end"); + common_scripts\utility::flag_init("flag_test_chamber_end"); + common_scripts\utility::flag_init("flag_autopsy_halls_end"); + common_scripts\utility::flag_init("flag_autopsy_end"); + common_scripts\utility::flag_init("flag_incinerator_end"); + common_scripts\utility::flag_init("flag_battle_to_heli_end"); + common_scripts\utility::flag_init("flag_heliride_end"); + common_scripts\utility::flag_init("flag_end_escape_end"); + common_scripts\utility::flag_init("s3_escape_hurry_up_move_done"); + common_scripts\utility::flag_init("flag_exit_lock_broken"); + common_scripts\utility::flag_init("flag_heliride_warbird_mount"); + common_scripts\utility::flag_init("flag_one_handed_help_try"); + common_scripts\utility::flag_init("flag_currently_nagging"); + if(level.currentgen) + { + common_scripts\utility::flag_init("flag_tff_unload_interrogate"); + common_scripts\utility::flag_init("tff_trans_autopsy_halls_to_autopsy"); + } + + createthreatbiasgroup("playerseek"); + createthreatbiasgroup("civkill"); + createthreatbiasgroup("player"); + level.player setthreatbiasgroup("player"); + level.friendlynamedist = getdvarint("g_friendlyNameDist"); + level.player.exclusive["exo_melee"] = 0; + maps\captured_aud::main(); + maps\captured_introdrive::post_load(); + maps\captured_s2walk::post_load(); + maps\captured_s3::post_load(); + maps\captured_medical::post_load(); + maps\captured_facility::post_load(); + maps\captured_mech::post_load(); + maps\captured_exit::post_load(); + maps\captured_end_escape::post_load(); + maps\captured_util::spawn_allies(); + var_00 = getspawnerteamarray("axis"); + maps\_utility::array_spawn_function(var_00,::maps\_utility::disable_long_death); + level.nextgrenadedrop = 573000; + thread objective_string_precache(); + thread objectives(); + thread object_control(); + thread spawn_functions(); + thread dialogue(); + maps\captured_lighting::main(); + common_scripts\utility::array_thread(getentarray("model_large_fan","script_noteworthy"),::maps\captured_util::ambient_fan_rotate); +} + +//Function Number: 18 +spawn_functions() +{ + if(level.currentgen) + { + level.prisoner_randomizer = [1,2,3,4,5,6]; + } + else + { + level.prisoner_randomizer = [1,2,3,4,5,6,7,8,9]; + } + + thread maps\captured_anim::captured_ambient_animation_setup("exterior_ambient_prisoner"); + thread maps\captured_anim::captured_ambient_animation_setup("exterior_ambient_guard"); + thread maps\captured_anim::captured_ambient_animation_setup("exterior_ambient_mech"); + var_00 = getentarray("actor_civilian_worker_hardhat_s1","classname"); + foreach(var_02 in var_00) + { + var_02 maps\_utility::add_spawn_function(::maps\captured_util::captured_worker_weapons); + } +} + +//Function Number: 19 +objective_string_precache() +{ + precachestring(&"CAPTURED_OBJECTIVE_USE"); + precachestring(&"CAPTURED_OBJECTIVE_TAKE"); + precachestring(&"CAPTURED_OBJECTIVE_PUSH"); + precachestring(&"CAPTURED_OBJECTIVE_OPEN"); + precachestring(&"CAPTURED_OBJECTIVE_BREAK"); + precachestring(&"CAPTURED_OBJECTIVE_LOOK"); + precachestring(&"CAPTURED_OBJECTIVE_ENTER"); + precachestring(&"CAPTURED_OBJ_ESCAPE"); + precachestring(&"CAPTURED_OBJ_FOLLOW_GIDEON"); + precachestring(&"CAPTURED_OBJ_ELEVATOR"); + precachestring(&"CAPTURED_OBJ_GET_TO_WARBIRD"); + precachestring(&"CAPTURED_OBJ_AST"); + precachestring(&"CAPTURED_OBJ_REGROUP"); + precachestring(&"CAPTURED_FAIL_GIDEON_KILLED"); + precachestring(&"CAPTURED_FAIL_AUTOPSY_ESCAPE"); + precachestring(&"CAPTURED_FAIL_INNOCENT"); + precachestring(&"CAPTURED_FAIL_UNARMED"); + precachestring(&"CAPTURED_FAIL_OUT_OF_LINE"); + precachestring(&"CAPTURED_HINT_USE_CONSOLE"); + precachestring(&"CAPTURED_HINT_USE_PC"); + precachestring(&"CAPTURED_HINT_PUSH_CONSOLE"); + precachestring(&"CAPTURED_HINT_PUSH_PC"); + precachestring(&"CAPTURED_HINT_OPEN_CONSOLE"); + precachestring(&"CAPTURED_HINT_OPEN_PC"); + precachestring(&"CAPTURED_HINT_TAKE_CONSOLE"); + precachestring(&"CAPTURED_HINT_TAKE_PC"); + precachestring(&"CAPTURED_HINT_ENTER_CONSOLE"); + precachestring(&"CAPTURED_HINT_ENTER_PC"); + precachestring(&"CAPTURED_HINT_BREAK_CONSOLE"); + precachestring(&"CAPTURED_HINT_BREAK_PC"); + maps\_utility::add_control_based_hint_strings("use_console",&"CAPTURED_HINT_USE_CONSOLE",::maps\captured_actions::captured_use_console,&"CAPTURED_HINT_USE_PC"); + maps\_utility::add_control_based_hint_strings("push_cart",&"CAPTURED_HINT_PUSH_CONSOLE",::maps\captured_actions::captured_push_cart,&"CAPTURED_HINT_PUSH_PC"); + maps\_utility::add_control_based_hint_strings("open_door",&"CAPTURED_HINT_OPEN_CONSOLE",::maps\captured_actions::captured_open_door,&"CAPTURED_HINT_OPEN_PC"); + maps\_utility::add_control_based_hint_strings("take_exo",&"CAPTURED_HINT_TAKE_CONSOLE",::maps\captured_actions::captured_take_exo,&"CAPTURED_HINT_TAKE_PC"); + maps\_utility::add_control_based_hint_strings("enter_exo",&"CAPTURED_HINT_ENTER_CONSOLE",::maps\captured_actions::captured_enter_exo,&"CAPTURED_HINT_ENTER_PC"); + maps\_utility::add_control_based_hint_strings("break_lock",&"CAPTURED_HINT_BREAK_CONSOLE",::maps\captured_actions::captured_break_lock,&"CAPTURED_HINT_BREAK_PC"); +} + +//Function Number: 20 +objectives() +{ + switch(level.start_point) + { + case "introdrive": + common_scripts\utility::flag_wait("flag_introdrive_end"); + break; + + case "s1elevator": + common_scripts\utility::flag_wait("flag_s1elevator_end"); + break; + + case "s2walk": + common_scripts\utility::flag_wait("flag_s2walk_end"); + break; + + case "s2elevator": + common_scripts\utility::flag_wait("flag_s2elevator_end"); + break; + + case "s3trolley": + case "s3interrogate": + common_scripts\utility::flag_wait("flag_s3interrogate_end"); + break; + + case "s3escape": + objective_add(maps\_utility::obj("obj_escape"),"current",&"CAPTURED_OBJ_ESCAPE"); + level waittill("leave_interrogation_room"); + objective_state_nomessage(maps\_utility::obj("obj_escape"),"active"); + objective_add(maps\_utility::obj("obj_follow"),"current",&"CAPTURED_OBJ_FOLLOW_GIDEON"); + level waittill("s3_escape_guard_down"); + objective_add(maps\_utility::obj("obj_weapon"),"invisible"); + objective_state_nomessage(maps\_utility::obj("obj_weapon"),"current"); + objective_state_nomessage(maps\_utility::obj("obj_follow"),"current"); + objective_setpointertextoverride(maps\_utility::obj("obj_weapon"),&"CAPTURED_OBJECTIVE_TAKE"); + objective_position(maps\_utility::obj("obj_weapon"),(0,0,0)); + var_00 = common_scripts\utility::getstruct("s3_escape_get_weapon_marker","targetname"); + objective_position(maps\_utility::obj("obj_weapon"),var_00.origin); + level waittill("captured_action_complete"); + objective_delete(maps\_utility::obj("obj_weapon")); + common_scripts\utility::flag_wait("s3_escape_hurry_up_move_done"); + maps\_utility::objective_complete(maps\_utility::obj("obj_follow")); + objective_add(maps\_utility::obj("obj_hack"),"current",&"CAPTURED_OBJ_ELEVATOR"); + objective_add(maps\_utility::obj("obj_hack_pointer"),"invisible"); + objective_state_nomessage(maps\_utility::obj("obj_hack_pointer"),"current"); + objective_state_nomessage(maps\_utility::obj("obj_hack"),"current"); + objective_setpointertextoverride(maps\_utility::obj("obj_hack_pointer"),&"CAPTURED_OBJECTIVE_USE"); + objective_position(maps\_utility::obj("obj_hack_pointer"),(0,0,0)); + var_00 = common_scripts\utility::getstruct("s3_escape_console_use_marker","targetname"); + objective_position(maps\_utility::obj("obj_hack_pointer"),var_00.origin); + level waittill("captured_action_complete"); + objective_delete(maps\_utility::obj("obj_hack_pointer")); + common_scripts\utility::flag_wait("s3_escape_exit_door_open"); + maps\_utility::objective_complete(maps\_utility::obj("obj_hack")); + level waittill("split_scene_start"); + wait(10); + objective_state(maps\_utility::obj("obj_escape"),"current"); + break; + + case "test_chamber": + common_scripts\utility::flag_wait("flag_test_chamber_end"); + break; + + case "autopsy_halls": + level waittill("obj_exit_morgue"); + var_01 = common_scripts\utility::getstruct("obj_doors_to_autopsy","targetname"); + objective_add(maps\_utility::obj("obj_into_autopsy"),"invisible","",var_01.origin); + objective_state_nomessage(maps\_utility::obj("obj_into_autopsy"),"current"); + objective_state_nomessage(maps\_utility::obj("obj_escape"),"current"); + common_scripts\utility::flag_wait("flag_autopsy_enter"); + objective_delete(maps\_utility::obj("obj_into_autopsy")); + break; + + case "autopsy": + common_scripts\utility::flag_wait("flag_autopsy_safe_to_open_door"); + objective_add(maps\_utility::obj("obj_aut_door"),"invisible"); + objective_state_nomessage(maps\_utility::obj("obj_aut_door"),"current"); + objective_state_nomessage(maps\_utility::obj("obj_escape"),"current"); + objective_setpointertextoverride(maps\_utility::obj("obj_aut_door"),&"CAPTURED_OBJECTIVE_OPEN"); + objective_position(maps\_utility::obj("obj_aut_door"),(0,0,0)); + var_02 = common_scripts\utility::getstruct("struct_vign_autopsy_doctor_door","targetname"); + objective_position(maps\_utility::obj("obj_aut_door"),var_02.origin + (0,-14,51)); + level waittill("captured_action_complete"); + objective_delete(maps\_utility::obj("obj_aut_door")); + common_scripts\utility::flag_wait("flag_autopsy_chute"); + wait(1); + objective_add(maps\_utility::obj("obj_aut_escape"),"invisible"); + objective_state_nomessage(maps\_utility::obj("obj_aut_escape"),"current"); + objective_state_nomessage(maps\_utility::obj("obj_escape"),"current"); + objective_position(maps\_utility::obj("obj_aut_escape"),(0,0,0)); + var_03 = common_scripts\utility::getstruct("aut_doctor_hatch_node","targetname"); + objective_position(maps\_utility::obj("obj_aut_escape"),var_03.origin + (0,0,-20)); + level waittill("autopsy_player_jumping_into_hatch"); + objective_delete(maps\_utility::obj("obj_aut_escape")); + common_scripts\utility::flag_wait("flag_autopsy_end"); + break; + + case "incinerator": + common_scripts\utility::flag_wait("flag_incinerator_fires_start"); + wait(12); + objective_add(maps\_utility::obj("obj_escape_incinerator"),"invisible"); + objective_state_nomessage(maps\_utility::obj("obj_escape_incinerator"),"current"); + objective_state_nomessage(maps\_utility::obj("obj_escape"),"current"); + level waittill("incineratory_usable"); + objective_setpointertextoverride(maps\_utility::obj("obj_escape_incinerator"),&"CAPTURED_OBJECTIVE_PUSH"); + objective_position(maps\_utility::obj("obj_escape_incinerator"),(0,0,0)); + var_04 = common_scripts\utility::getstruct("struct_anim_incinerator","targetname"); + objective_position(maps\_utility::obj("obj_escape_incinerator"),var_04.origin + (-40,20,-20)); + level waittill("captured_action_complete"); + maps\_utility::objective_clearadditionalpositions(maps\_utility::obj("obj_escape_incinerator")); + maps\_utility::trigger_wait("trig_incinerator_leave","targetname"); + objective_delete(maps\_utility::obj("obj_escape_incinerator")); + common_scripts\utility::flag_wait("flag_incinerator_end"); + break; + + case "battle_to_heli": + common_scripts\utility::flag_wait("flag_bh_pit"); + break; + + case "run_to_heli": + maps\_utility::objective_complete(maps\_utility::obj("obj_escape")); + objective_add(maps\_utility::obj("obj_chopper"),"current",&"CAPTURED_OBJ_GET_TO_WARBIRD"); + common_scripts\utility::flag_wait("flag_bh_run"); + objective_onentity(maps\_utility::obj("obj_chopper"),level._facility.warbird,(0,0,50)); + common_scripts\utility::flag_wait("flag_heliride_warbird_mount"); + if(!level.missionfailed) + { + maps\_utility::objective_complete(maps\_utility::obj("obj_chopper")); + } + + break; + + case "heliride": + common_scripts\utility::flag_wait("flag_heliride_end"); + break; + + case "mb1_intro": + level waittill("objective_player_can_get_into_mech"); + objective_add(maps\_utility::obj("obj_into_mech"),"current",&"CAPTURED_OBJ_AST"); + objective_setpointertextoverride(maps\_utility::obj("obj_into_mech"),&"CAPTURED_OBJECTIVE_ENTER"); + var_05 = common_scripts\utility::getstruct("struct_prompt_mechenter","targetname"); + objective_position(maps\_utility::obj("obj_into_mech"),var_05.origin); + level waittill("captured_action_complete"); + maps\_utility::objective_complete(maps\_utility::obj("obj_into_mech")); + common_scripts\utility::flag_wait("flag_mech_enabled"); + objective_add(maps\_utility::obj("obj_regroup"),"current",&"CAPTURED_OBJ_REGROUP"); + wait(1); + objective_add(maps\_utility::obj("obj_mech_run_through"),"invisible"); + objective_state_nomessage(maps\_utility::obj("obj_mech_run_through"),"current"); + objective_state_nomessage(maps\_utility::obj("obj_regroup"),"current"); + objective_position(maps\_utility::obj("obj_mech_run_through"),(0,0,0)); + var_06 = common_scripts\utility::getstruct("struct_mb1_introwall_smash","targetname"); + objective_position(maps\_utility::obj("obj_mech_run_through"),var_06.origin + (0,0,60)); + common_scripts\utility::flag_wait("flag_mb1_start"); + objective_delete(maps\_utility::obj("obj_mech_run_through")); + break; + + case "mb2_gatesmash": + case "mb1": + case "mb1_jump": + case "mb1_mech": + common_scripts\utility::flag_wait("flag_mb1_end"); + maps\_utility::objective_complete(maps\_utility::obj("obj_mech")); + wait(3); + objective_add(maps\_utility::obj("obj_mech_smash_doors"),"invisible"); + objective_state_nomessage(maps\_utility::obj("obj_mech_smash_doors"),"current"); + objective_state_nomessage(maps\_utility::obj("obj_regroup"),"current"); + objective_position(maps\_utility::obj("obj_mech_smash_doors"),(0,0,0)); + var_07 = common_scripts\utility::getstruct("mech_door_objective_marker","targetname") common_scripts\utility::spawn_tag_origin(); + objective_position(maps\_utility::obj("obj_mech_smash_doors"),var_07.origin); + common_scripts\utility::flag_wait("flag_mb2_mech_smashing_doors"); + objective_delete(maps\_utility::obj("obj_mech_smash_doors")); + var_07 delete(); + break; + + case "mb2": + common_scripts\utility::flag_wait("flag_mb2_end"); + break; + + case "gatedoor": + wait(5); + objective_add(maps\_utility::obj("obj_open_exitdoor"),"invisible"); + objective_state_nomessage(maps\_utility::obj("obj_open_exitdoor"),"current"); + objective_state_nomessage(maps\_utility::obj("obj_regroup"),"current"); + objective_position(maps\_utility::obj("obj_open_exitdoor"),(0,0,0)); + objective_setpointertextoverride(maps\_utility::obj("obj_open_exitdoor"),&"CAPTURED_OBJECTIVE_BREAK"); + var_08 = common_scripts\utility::getstruct("mech_gate_lock_hint","targetname"); + objective_position(maps\_utility::obj("obj_open_exitdoor"),var_08.origin); + common_scripts\utility::flag_wait("flag_exit_lock_broken"); + objective_delete(maps\_utility::obj("obj_open_exitdoor")); + level.player waittill("exit_anim_done"); + break; + + case "end_escape": + if(level.start_point == "end_escape") + { + objective_add(maps\_utility::obj("obj_regroup"),"current",&"CAPTURED_OBJ_REGROUP"); + } + + wait(19); + maps\_utility::objective_complete(maps\_utility::obj("obj_regroup")); + break; + + default: + break; + } +} + +//Function Number: 21 +object_control() +{ + switch(level.start_point) + { + case "introdrive": + common_scripts\utility::flag_wait("flag_introdrive_end"); + break; + + case "s1elevator": + common_scripts\utility::flag_wait("flag_s1elevator_end"); + break; + + case "s2walk": + common_scripts\utility::flag_wait("flag_s2walk_end"); + break; + + case "s2elevator": + common_scripts\utility::flag_wait("flag_s2elevator_end"); + break; + + case "s3trolley": + case "s3interrogate": + common_scripts\utility::flag_wait("flag_s3interrogate_end"); + break; + + case "s3escape": + common_scripts\utility::flag_wait("flag_s3escape_end"); + break; + + case "test_chamber": + common_scripts\utility::flag_wait("flag_test_chamber_end"); + break; + + case "autopsy_halls": + common_scripts\utility::flag_wait("flag_autopsy_halls_end"); + break; + + case "autopsy": + common_scripts\utility::flag_wait("flag_autopsy_end"); + break; + + case "incinerator": + common_scripts\utility::flag_wait("flag_incinerator_end"); + thread maps\captured_medical::autopsy_cleanup(); + break; + + case "run_to_heli": + case "battle_to_heli": + common_scripts\utility::flag_wait("flag_battle_to_heli_end"); + break; + + case "heliride": + common_scripts\utility::flag_wait("flag_heliride_end"); + break; + + case "end_escape": + case "gatedoor": + case "mb2": + case "mb2_gatesmash": + case "mb1": + case "mb1_jump": + case "mb1_mech": + case "mb1_intro": + common_scripts\utility::flag_wait("flag_end_escape_end"); + break; + + default: + break; + } +} + +//Function Number: 22 +start_introdrive() +{ + maps\captured_introdrive::start(); +} + +//Function Number: 23 +main_introdrive() +{ + thread introscreen(); + maps\captured_introdrive::main_introdrive(); +} + +//Function Number: 24 +start_s1elevator() +{ + maps\captured_introdrive::start(); +} + +//Function Number: 25 +main_s1elevator() +{ + maps\_utility::autosave_now(); + maps\captured_introdrive::main_s1elevator(); +} + +//Function Number: 26 +start_s2walk() +{ + maps\captured_s2walk::start(); +} + +//Function Number: 27 +main_s2walk() +{ + maps\_utility::autosave_by_name("s2walk"); + maps\captured_s2walk::main_s2walk(); +} + +//Function Number: 28 +start_s2elevator() +{ + maps\captured_s2walk::start(); +} + +//Function Number: 29 +main_s2elevator() +{ + maps\_utility::autosave_by_name("s2elevator"); + maps\captured_s2walk::main_s2elevator(); +} + +//Function Number: 30 +start_s3trolley() +{ + maps\captured_s3::start("struct_playerstart_s3trolley"); +} + +//Function Number: 31 +main_s3trolley() +{ + maps\_utility::autosave_by_name("s3trolley"); + maps\captured_s3::main_s3trolley(); +} + +//Function Number: 32 +start_s3interrogate() +{ + maps\captured_s3::start("struct_playerstart_s3interrogate"); +} + +//Function Number: 33 +main_s3interrogate() +{ + maps\_utility::autosave_by_name("s3interrogate"); + maps\captured_s3::main_s3interrogate(); +} + +//Function Number: 34 +start_s3escape() +{ + soundscripts\_snd::snd_message("start_escape"); + maps\captured_s3::start("struct_playerstart_s3escape"); +} + +//Function Number: 35 +main_s3escape() +{ + maps\captured_s3::main_s3escape(); +} + +//Function Number: 36 +start_test_chamber() +{ + maps\captured_medical::start_test_chamber(); +} + +//Function Number: 37 +main_test_chamber() +{ + maps\_utility::autosave_by_name("test_chamber"); + maps\captured_medical::main_test_chamber(); +} + +//Function Number: 38 +start_autopsy_halls() +{ + maps\captured_medical::start_autopsy_halls(); +} + +//Function Number: 39 +main_autopsy_halls() +{ + maps\_utility::autosave_by_name("autopsy_halls"); + maps\captured_medical::main_autopsy_halls(); +} + +//Function Number: 40 +start_autopsy() +{ + maps\captured_medical::start_autopsy(); +} + +//Function Number: 41 +main_autopsy() +{ + maps\_utility::autosave_by_name("autopsy"); + maps\captured_medical::main_autopsy(); +} + +//Function Number: 42 +start_incinerator() +{ + maps\captured_facility::start_incinerator(); +} + +//Function Number: 43 +main_incinerator() +{ + maps\captured_facility::main_incinerator(); +} + +//Function Number: 44 +start_battle_to_heli() +{ + maps\captured_facility::start_battle_to_heli(); +} + +//Function Number: 45 +main_battle_to_heli() +{ + maps\_utility::autosave_by_name("battle_to_heli"); + maps\captured_facility::main_battle_to_heli(); +} + +//Function Number: 46 +start_run_to_heli() +{ + maps\captured_facility::start_run_to_heli(); +} + +//Function Number: 47 +main_run_to_heli() +{ + maps\captured_facility::main_run_to_heli(); +} + +//Function Number: 48 +start_heliride() +{ + maps\captured_facility::start("struct_playerstart_heliride"); +} + +//Function Number: 49 +main_heliride() +{ + maps\captured_facility::main_heliride(); +} + +//Function Number: 50 +start_mb1_intro() +{ + maps\captured_mech::start("struct_playerstart_mb1_intro","struct_allystart_mb1"); +} + +//Function Number: 51 +start_mb1_mech() +{ + maps\captured_mech::start("struct_playerstart_mb1_intro","struct_allystart_mb1"); +} + +//Function Number: 52 +start_mb1_jump() +{ + maps\captured_mech::start("struct_playerstart_mb1_jump","struct_allystart_mb1"); +} + +//Function Number: 53 +start_mb1() +{ + maps\captured_mech::start("struct_playerstart_mb1","struct_allystart_mb1"); +} + +//Function Number: 54 +start_mb2() +{ + maps\captured_mech::start("struct_playerstart_mb2","struct_allystart_mb2"); +} + +//Function Number: 55 +start_mb2_gatesmash() +{ + maps\captured_mech::start("struct_playerstart_mb2_gate","struct_allystart_mb2_gate"); +} + +//Function Number: 56 +main_mb1_intro() +{ + maps\_utility::autosave_by_name("mb1_intro"); + maps\captured_mech::main_mb1_intro(); +} + +//Function Number: 57 +main_mb1_mech() +{ + maps\_utility::autosave_by_name("mb1_mech"); + maps\captured_mech::main_mb1_mech(); +} + +//Function Number: 58 +main_mb1_jump() +{ + maps\captured_mech::main_mb1_jump(); +} + +//Function Number: 59 +main_mb1() +{ + maps\_utility::autosave_by_name("mb1"); + maps\captured_mech::main_mb1(); +} + +//Function Number: 60 +main_mb2_gatesmash() +{ + maps\_utility::autosave_by_name("mb2_gate"); + maps\captured_mech::main_mb2_gatesmash(); +} + +//Function Number: 61 +main_mb2() +{ + maps\_utility::autosave_by_name("mb2"); + maps\captured_mech::main_mb2(); +} + +//Function Number: 62 +start_gatedoor() +{ + maps\captured_exit::start("struct_playerstart_gd","struct_allystart_gd"); +} + +//Function Number: 63 +main_gatedoor() +{ + maps\_utility::autosave_by_name("gatedoor"); + maps\captured_exit::main_gd(); +} + +//Function Number: 64 +start_end_escape() +{ + maps\captured_end_escape::start("struct_playerstart_end_escape","struct_allystart_end_escape"); +} + +//Function Number: 65 +main_end_escape() +{ + maps\captured_end_escape::main_end_escape(); +} + +//Function Number: 66 +introscreen() +{ + maps\_shg_utility::play_chyron_video("chyron_text_captured",3.6,3); +} + +//Function Number: 67 +dialogue() +{ + switch(level.start_point) + { + case "introdrive": + thread dialogue_introdrive(); + wait(2); + soundscripts\_snd::snd_message("entrance_vo_01"); + wait(5); + wait(5); + soundscripts\_snd::snd_message("entrance_vo_03"); + common_scripts\utility::flag_wait("flag_introdrive_end"); + break; + + case "s1elevator": + common_scripts\utility::flag_wait("flag_start_s1elevator"); + wait(1); + wait(2); + common_scripts\utility::flag_wait("flag_s1elevator_end"); + break; + + case "s2walk": + wait(9.5); + thread dialogue_s2elevator_outside(); + common_scripts\utility::flag_wait("flag_s2walk_group_split"); + common_scripts\utility::flag_wait("flag_s2walk_end"); + break; + + case "s2elevator": + common_scripts\utility::flag_wait("flag_player_in_s2s3_room"); + wait(2); + common_scripts\utility::flag_wait("flag_s2elevator_end"); + break; + + case "s3trolley": + case "s3interrogate": + common_scripts\utility::flag_wait("flag_s3interrogate_end"); + break; + + case "s3escape": + common_scripts\utility::flag_wait("flag_s3escape_end"); + break; + + case "test_chamber": + level waittill("tc_stair_door_1"); + wait(3.5); + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_ifiknowilonashell"); + wait(1); + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_letsnotkeepherwaiting"); + level waittill("manticore_hall_vo"); + wait(1.25); + soundscripts\_snd::snd_message("aud_observation_guard_radio"); + maps\_utility::wait_for_targetname_trigger("tc_ally_enters_observation"); + soundscripts\_snd_playsound::snd_play_at("cap_sc9_who",(4249,-11685,-1576)); + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_staycalmshutup"); + common_scripts\utility::flag_wait("flag_tc_move_down"); + wait(4.65); + level.allies[0] maps\_utility::smart_radio_dialogue("cap_iln_gideonareyouthere"); + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_illonailonadoyou"); + thread dialogue_uv_bake_awcmon(); + level waittill("start_anim_tc_enter_test"); + level.tcah_node waittill("tc_enter_test_loop_ender"); + break; + + case "autopsy_halls": + wait(1.75); + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_outofthewaymove"); + common_scripts\utility::flag_wait("flag_ah_combat_done"); + level waittill("vo_morgue_transition"); + wait(3); + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_wevegottakeepmoving"); + common_scripts\utility::flag_wait("flag_autopsy_halls_end"); + break; + + case "autopsy": + common_scripts\utility::flag_wait("flag_autopsy_enter"); + wait(2.25); + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_ontheground"); + wait(1.4); + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_downnow"); + wait(4.5); + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_heyyou"); + wait(2); + if(!common_scripts\utility::flag("flag_autopsy_doctor_door")) + { + var_00 = ["cap_gdn_comeongetthedoor","cap_gdn_overheremitchell","cap_gdn_cmonhelp"]; + level.ally thread maps\captured_util::dialogue_nag_loop(var_00,"doctor_door_weapon_hidden",3,5,4,6); + } + common_scripts\utility::flag_wait("flag_autopsy_end"); + break; + + case "incinerator": + common_scripts\utility::flag_wait("flag_incinerator_saved"); + common_scripts\utility::flag_wait("flag_incinerator_fires_start"); + soundscripts\_snd::snd_message("incinerator_dialogue_2"); + wait(8); + wait(3.25); + wait(1.75); + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_weneedawayout"); + wait(1.25); + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_look"); + wait(2); + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_aventunderthis"); + common_scripts\utility::flag_wait("flag_incinerator_push_start"); + thread maps\captured_fx::fx_stop_pilot_lights(); + common_scripts\utility::flag_wait("flag_incinerator_push_done"); + wait(7.75); + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_moveit"); + common_scripts\utility::flag_wait("flag_incinerator_crawl_pull"); + wait(1); + wait(2); + maps\_utility::trigger_wait("trig_incinerator_leave","targetname"); + wait(2); + wait(3); + wait(8); + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_sunlightwerealmost"); + wait(1); + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_letshopetherestime"); + wait(1); + level.allies[0] maps\_utility::smart_radio_dialogue("cap_iln_gideonitsilona"); + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_goodworkwere"); + level.allies[0] maps\_utility::smart_radio_dialogue("cap_iln_hurrycormackisnt"); + break; + + case "battle_to_heli": + common_scripts\utility::flag_wait("flag_bh_intro_start"); + if(!common_scripts\utility::flag("flag_bh_outside")) + { + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_throughhere"); + } + + common_scripts\utility::flag_wait("flag_bh_intro_caught"); + if(!common_scripts\utility::flag("flag_bh_outside") && !common_scripts\utility::flag("flag_bh_intro_caught_late")) + { + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_damn"); + } + + if(!common_scripts\utility::flag("flag_bh_outside")) + { + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_othersideofthisdoor"); + } + + common_scripts\utility::flag_wait("flag_bh_pit"); + wait(0.5); + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_thathelothatsour"); + level waittill("bh_doors_manual"); + break; + + case "run_to_heli": + level waittill("bh_ally_start_manticore_anims"); + wait(3); + common_scripts\utility::flag_set("flag_currently_nagging"); + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_thatsourridewhatthehell"); + common_scripts\utility::flag_clear("flag_currently_nagging"); + if(!common_scripts\utility::flag("flag_player_and_ally_at_window")) + { + wait(3); + if(!common_scripts\utility::flag("flag_player_and_ally_at_window")) + { + var_00 = ["cap_gdn_damnmitchellover","cap_gdn_lookatthis"]; + level.ally thread maps\captured_util::dialogue_nag_loop(var_00,"end_manticore_nags",3,4,3,9); + common_scripts\utility::flag_wait("flag_player_and_ally_at_window"); + level notify("end_manticore_nags"); + } + } + + common_scripts\utility::flag_wait("flag_bh_run_ally_ready"); + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_ready"); + wait(1); + common_scripts\utility::flag_wait("flag_bh_run"); + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_letsgorunforit"); + wait(2); + if(!common_scripts\utility::flag("flag_battle_to_heli_end")) + { + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_pushtothehelicopter"); + } + + break; + + case "heliride": + common_scripts\utility::flag_wait("flag_heliride_warbird_mount"); + wait(4); + common_scripts\utility::flag_wait("flag_heliride_end"); + break; + + case "mb1_intro": + level waittill("anim_mech_wakeup"); + wait(9.5); + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_coughing"); + wait(4); + wait(1.75); + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_watchit"); + wait(6.5); + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_stilllooksfunctional"); + wait(1.25); + if(common_scripts\utility::flag_exist("flag_getting_into_mech")) + { + if(!common_scripts\utility::flag("flag_getting_into_mech")) + { + var_00 = ["cap_gdn_overheremitchell","cap_gdn_onyoumitchell"]; + level.ally thread maps\captured_util::dialogue_nag_loop(var_00,"captured_action_complete",8,12,3,6); + } + } + + break; + + case "end_escape": + case "gatedoor": + case "mb2": + case "mb2_gatesmash": + case "mb1": + case "mb1_jump": + case "mb1_mech": + common_scripts\utility::flag_wait("flag_end_escape_end"); + break; + + default: + break; + } +} + +//Function Number: 68 +dialogue_introdrive() +{ +} + +//Function Number: 69 +dialogue_s1elevator_outside(param_00,param_01) +{ + var_02 = param_00[0]; + var_03 = param_00[1]; + var_04 = param_00[2]; + var_05 = param_01; + level waittill("s1_drive_guards_start"); + var_03 maps\_utility::delaythread(1,::maps\_utility::dialogue_queue,"cap_gr1_everyoneoffthetruck"); + wait(8); + soundscripts\_snd_playsound::snd_play_at("cap_gr1_cmonguysgetem",(5472,-5008,32)); + wait(5.5); + var_05 maps\_utility::dialogue_queue("cap_gr2_thatsallofem"); + var_05 thread maps\_utility::dialogue_queue("cap_gr3_mover12youreall"); + wait(2); + var_03 maps\_utility::dialogue_queue("cap_gr8_pencomingopen"); + wait(0.5); + soundscripts\_snd_playsound::snd_play_at("cap_gr2_thesetwocpen",(5472,-5280,32)); + wait(1); + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_cormack"); + level.allies[2] thread maps\_utility::dialogue_queue("cap_crk_gideon"); + wait(1.5); + var_02 maps\_utility::dialogue_queue("cap_gr2_intothecage"); + var_04 maps\_utility::dialogue_queue("cap_gr1_therestofyoubehind_alt01"); + wait(1); + var_04 maps\_utility::dialogue_queue("cap_gr2_penfillingup"); + wait(0.75); + var_03 thread maps\_utility::dialogue_queue("cap_gr1_pasttheline"); + wait(0.75); + var_04 thread maps\_utility::dialogue_queue("cap_gr2_4goingdowntozero"); + wait(2); + var_04 thread maps\_utility::dialogue_queue("cap_gr3_4takingtheride"); + var_06 = ["cap_gr2_getinthecage","cap_gr2_getinside","cap_gr2_getmoving2"]; + var_05 thread maps\captured_util::dialogue_nag_loop(var_06,"truck_to_s1elevator_trigger",3,4,3,6); + maps\_utility::trigger_wait_targetname("truck_to_s1elevator_trigger"); + wait(0.4); + var_03 maps\_utility::dialogue_queue("cap_gr2_move"); + wait(0.5); + var_03 maps\_utility::dialogue_queue("cap_gr2_penclosingupsecure"); + var_03 maps\_utility::dialogue_queue("cap_gr2_youreclearfordelivery"); + var_03 maps\_utility::dialogue_queue("cap_gr3_bringemin"); +} + +//Function Number: 70 +dialogue_s2elevator_outside() +{ +} + +//Function Number: 71 +dialogue_s2_elevator_open(param_00) +{ + var_01 = param_00[0]; + var_02 = param_00[1]; + var_03 = param_00[2]; + wait(5.75); + var_02 maps\_utility::dialogue_queue("cap_gr8_pencomingopen"); + wait(2.75); + var_01 maps\_utility::dialogue_queue("cap_gr4_alrightletsgoguys"); + wait(0.9); + var_02 maps\_utility::dialogue_queue("cap_gr5_moveit"); + wait(1.9); + var_03 maps\_utility::dialogue_queue("cap_gr20_herenow"); + var_04 = ["cap_gr20_getoverhere","cap_gr20_prisonercomehere","cap_gr20_prisonerhere"]; + var_03 thread maps\captured_util::dialogue_nag_loop(var_04,"flag_s2walk_start",5,7,3,6); + common_scripts\utility::flag_wait("flag_s2walk_start"); + wait(0.85); + var_03 maps\_utility::dialogue_queue("cap_gr20_letsgo"); + wait(1.75); + var_03 maps\_utility::dialogue_queue("cap_gr20_startwalking"); + var_02 maps\_utility::dialogue_queue("cap_gr4_sendingthepenbackup"); +} + +//Function Number: 72 +dialogue_s2_walk(param_00,param_01,param_02) +{ + var_03 = param_00[1]; + var_04 = param_00[0]; + wait(4.5); + param_01 maps\_utility::dialogue_queue("cap_gr17_comeonthisway"); + wait(6.5); + param_01 maps\_utility::dialogue_queue("cap_gr4_whatareyoulooking"); + wait(2); + thread soundscripts\_snd_playsound::snd_play_at("cap_gr10_shutupgetonyour",(6192,-6656,-576)); + wait(1.25); + param_01 maps\_utility::dialogue_queue("cap_gr7_fourcomingin2"); + wait(1.5); + param_01 maps\_utility::dialogue_queue("cap_gr4_rogerthatcblock"); + wait(2.75); + param_01 maps\_utility::dialogue_queue("cap_gr5_alrightpeoplethrough"); + wait(2); + param_01 maps\_utility::dialogue_queue("cap_gr4_clearedcblocklocking"); + wait(8.9); + var_03 maps\_utility::dialogue_queue("cap_gr7_getmoving"); + wait(3.5); + var_03 maps\_utility::dialogue_queue("cap_gr11_wegotincomingtoc6"); + wait(1); + var_03 maps\_utility::dialogue_queue("cap_gr9_copythatprisoners"); + wait(5.75); + var_04 thread maps\_utility::dialogue_queue("cap_gr8_thatsfarenough"); + wait(1.75); + var_03 maps\_utility::dialogue_queue("cap_gr7_onthefloor"); + wait(1.75); + var_04 maps\_utility::dialogue_queue("cap_gr8_openthechute"); + wait(2); + param_02 thread maps\_utility::dialogue_queue("cap_gr7_open"); + wait(1); + var_04 maps\_utility::dialogue_queue("cap_gr8_wiresout"); + wait(0.75); + param_02 thread maps\_utility::dialogue_queue("cap_gr7_clear"); + wait(0.35); + var_04 maps\_utility::dialogue_queue("cap_gr8_hookemup"); + var_04 maps\_utility::dialogue_queue("cap_gr8_go"); + wait(1); + param_02 maps\_utility::dialogue_queue("cap_gr8_isaiddown"); + wait(1); + var_03 maps\_utility::dialogue_queue("cap_gr7_haveanicedayasshole_alt01"); + wait(3); + var_04 maps\_utility::dialogue_queue("cap_gr8_wegotfourinthe"); + wait(1); + var_04 maps\_utility::dialogue_queue("cap_gr9_fourrogerbringem"); + wait(1); + var_04 maps\_utility::dialogue_queue("cap_gr8_preppingguests"); + wait(1); +} + +//Function Number: 73 +dialogue_doctor_trolley(param_00) +{ +} + +//Function Number: 74 +dialogue_s3escape_hall() +{ + level endon("lgt_flag_interrogation_esc"); +} + +//Function Number: 75 +dialogue_s3escape_guard() +{ +} + +//Function Number: 76 +dialogue_control_room_attack(param_00,param_01) +{ + wait(1); + level.allies[0] thread maps\_utility::dialogue_queue("cap_gdn_dropit"); + wait(0.366); + if(isalive(param_00)) + { + param_00 thread maps\_utility::dialogue_queue("cap_gr11_freezegetdown"); + } + + level.allies[0] thread maps\_utility::dialogue_queue("cap_gdn_iwillopenfire"); + wait(1.233); + if(isalive(param_01)) + { + param_01 thread maps\_utility::dialogue_queue("cap_gr12_youontheconsole"); + } + + wait(1); + level.allies[0] thread maps\_utility::dialogue_queue("cap_gdn_mitchellstaythere"); + wait(1); + if(isalive(param_00)) + { + param_00 thread maps\_utility::dialogue_queue("cap_gr11_getdownnow_alt01"); + } + + wait(1.2); + level.allies[0] thread maps\_utility::dialogue_queue("cap_gdn_getdown"); +} + +//Function Number: 77 +dialogue_guardroom_door(param_00) +{ + wait(3); + param_00 thread maps\_utility::dialogue_queue("cap_gr16_imcoming"); + wait(6.75); + param_00 thread maps\_utility::dialogue_queue("cap_gr16_struckbygideongrunting"); + wait(5.5); + param_00 maps\_utility::dialogue_queue("cap_gr16_noi"); + wait(0.5); + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_youlooklikehissize"); +} + +//Function Number: 78 +dialogue_s3_observation(param_00) +{ + wait(1.8); + param_00 maps\_utility::dialogue_queue("cap_tc1_yes"); + param_00 maps\_utility::dialogue_queue("cap_tc1_oof"); + wait(2); + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_theexitwhereis"); + wait(1.5); + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_thanks"); + wait(1); + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_youheardhimthis"); +} + +//Function Number: 79 +dialogue_uv_bake_awcmon() +{ + wait(7.2); + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_huh"); +} + +//Function Number: 80 +dialogue_s3_head_doctor(param_00) +{ + wait(3); + param_00 maps\_utility::dialogue_queue("cap_dcr_stayback"); + wait(2.8); + param_00 thread maps\_utility::dialogue_queue("cap_dcr_ugh"); + wait(0.75); + level.allies[0] thread maps\_utility::dialogue_queue("cap_gdn_whereismanticore"); + wait(2); + param_00 maps\_utility::dialogue_queue("cap_dcr_theatlascommand"); + wait(1.2); + param_00 thread maps\_utility::dialogue_queue("cap_dcr_oof"); + wait(3.4); + level.allies[0] maps\_utility::dialogue_queue("cap_gdn_thehatchletsgo"); +} \ No newline at end of file diff --git a/AW/PC/maps/captured_actions.gsc b/AW/PC/maps/captured_actions.gsc new file mode 100644 index 0000000..16eb9c3 --- /dev/null +++ b/AW/PC/maps/captured_actions.gsc @@ -0,0 +1,203 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: captured_actions.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 17 + * Decompile Time: 273 ms + * Timestamp: 4/22/2024 2:25:56 AM +*******************************************************************/ + +//Function Number: 1 +s3_escape_gun_action(param_00,param_01) +{ + var_02 = common_scripts\utility::getstruct("s3_escape_get_weapon_marker","targetname"); + param_01 = var_02.origin; + var_03 = maps\_shg_utility::hint_button_position("use",param_01,72); + param_00 waittill("trigger"); + level notify("captured_action_complete"); + var_03 maps\_shg_utility::hint_button_clear(); +} + +//Function Number: 2 +s3_escape_hack_action(param_00,param_01) +{ + var_02 = common_scripts\utility::getstruct("s3_escape_console_use_marker","targetname"); + param_01 = var_02.origin; + level.script_button = maps\_shg_utility::hint_button_position("use",param_01,10); + s3_escape_hack_action_switcher(param_00,param_01); + level notify("captured_action_complete"); + if(!isremovedentity(level.script_button)) + { + level.script_button maps\_shg_utility::hint_button_clear(); + } +} + +//Function Number: 3 +s3_escape_hack_action_switcher(param_00,param_01) +{ + param_00 endon("trigger"); + for(;;) + { + if(!common_scripts\utility::flag("flag_s3_escape_at_console")) + { + param_00 makeunusable(); + level.script_button maps\_shg_utility::hint_button_clear(); + level.script_button = maps\_shg_utility::hint_button_position("use",param_01,10); + } + + common_scripts\utility::flag_wait("flag_s3_escape_at_console"); + param_00 makeusable(); + level.script_button maps\_shg_utility::hint_button_clear(); + level.script_button = maps\_shg_utility::hint_button_position("use",param_01,50); + common_scripts\utility::flag_waitopen("flag_s3_escape_at_console"); + } +} + +//Function Number: 4 +s3_escape_console_gun_action(param_00,param_01,param_02) +{ + param_00 endon("s3escape_console_ender"); + level.player takeallweapons(); + level.player enableweaponpickup(); + level.player enableweapons(); + level.player waittill("pickup"); + setsaveddvar("ammoCounterHide","1"); + level.player hideviewmodel(); + common_scripts\utility::flag_set("s3_player_pickedup_console_gun"); + level.player notify("captured_action_complete"); + param_00 maps\_anim::anim_single_solo(param_01,"s3escape_console_end"); + setsaveddvar("g_friendlyNameDist",level.friendlynamedist); + level.player unlink(); + param_01 delete(); + param_02 delete(); + level.player allowfire(1); + level.player showviewmodel(); + level.player thread maps\captured_util::start_one_handed_gunplay("iw5_titan45pickup_sp_xmags"); + level.player setweaponammoclip("iw5_titan45_sp",0); + level.player switchtoweaponimmediate("iw5_titan45_sp"); + level.player allowmelee(1); + level.player allowsprint(1); + level.player allowcrouch(1); + level.player allowjump(1); + level.player allowprone(1); +} + +//Function Number: 5 +autopsy_door_action(param_00,param_01) +{ + var_02 = common_scripts\utility::getstruct("struct_vign_autopsy_doctor_door","targetname"); + var_03 = var_02.origin + (0,-14,51); + var_04 = maps\_shg_utility::hint_button_position("use",var_03,80); + param_00 waittill("trigger"); + level notify("captured_action_complete"); + var_04 maps\_shg_utility::hint_button_clear(); +} + +//Function Number: 6 +incinerator_push_action(param_00,param_01) +{ + var_02 = common_scripts\utility::getstruct("struct_anim_incinerator","targetname"); + param_01 = var_02.origin + (-40,20,-20); + var_03 = maps\_shg_utility::hint_button_position("use",param_01,60); + param_00 waittill("trigger"); + level notify("captured_action_complete"); + var_03 maps\_shg_utility::hint_button_clear(); +} + +//Function Number: 7 +mech_entry_action() +{ + var_00 = common_scripts\utility::getstruct("struct_prompt_mechenter","targetname"); + var_01 = var_00.origin; + var_02 = maps\_shg_utility::hint_button_position("use",var_01,72); + level waittill("captured_action_complete"); + level.player disablealternatemelee(); + var_02 maps\_shg_utility::hint_button_clear(); +} + +//Function Number: 8 +prompt_show_hide(param_00,param_01) +{ + level endon(param_01); + if(!common_scripts\utility::flag_exist(param_00)) + { + common_scripts\utility::flag_init(param_00); + } + + var_02 = 0; + for(;;) + { + if(!var_02 && common_scripts\utility::flag(param_00)) + { + common_scripts\utility::trigger_on(); + var_02 = 1; + } + else if(!common_scripts\utility::flag(param_00) && var_02) + { + common_scripts\utility::trigger_off(); + var_02 = 0; + } + + wait(0.05); + } +} + +//Function Number: 9 +captured_hint_display(param_00,param_01) +{ + captured_hint_range_check(param_00,param_01) common_scripts\utility::flag_set("flag_display_hint"); +} + +//Function Number: 10 +captured_hint_range_check(param_00,param_01) +{ + level endon("captured_hint_ender"); + for(;;) + { + level.player maps\_utility::waittill_in_range(self.origin,param_01); + common_scripts\utility::flag_clear("flag_display_hint"); + maps\_utility::hintdisplayhandler(param_00); + level.player maps\_utility::waittill_entity_out_of_range(self,param_01); + common_scripts\utility::flag_set("flag_display_hint"); + } +} + +//Function Number: 11 +captured_hint_ender_function() +{ + if(common_scripts\utility::flag("flag_display_hit")) + { + return 1; + } +} + +//Function Number: 12 +captured_use_console() +{ +} + +//Function Number: 13 +captured_push_cart() +{ +} + +//Function Number: 14 +captured_open_door() +{ +} + +//Function Number: 15 +captured_take_exo() +{ +} + +//Function Number: 16 +captured_enter_exo() +{ +} + +//Function Number: 17 +captured_break_lock() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/captured_anim.gsc b/AW/PC/maps/captured_anim.gsc new file mode 100644 index 0000000..734d6ee --- /dev/null +++ b/AW/PC/maps/captured_anim.gsc @@ -0,0 +1,1170 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: captured_anim.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 11 + * Decompile Time: 206 ms + * Timestamp: 4/22/2024 2:25:57 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(level.nextgen) + { + anim.forced_s1_motionset = 1; + } + + player_anims(); + generic_human_anims(); + script_model_anims(); + vehicle_anims(); +} + +//Function Number: 2 +player_anims() +{ + level.scr_animtree["player_rig_noexo"] = #animtree; + level.scr_model["player_rig_noexo"] = "viewbody_sentinel_pilot_mitchell_noexo"; + level.scr_animtree["player_rig"] = #animtree; + level.scr_model["player_rig"] = "viewbody_sentinel_pilot_mitchell_smashed"; + level.scr_animtree["player_rig_smashed_noexo"] = #animtree; + level.scr_model["player_rig_smashed_noexo"] = "viewbody_sentinel_pilot_mitchell_smashed_noexo"; + level.scr_animtree["player_arms"] = #animtree; + level.scr_model["player_arms"] = "worldhands_sentinel_pilot_mitchell_noexo"; + level.scr_anim["player_rig_noexo"]["truck_to_s1elevator_unload"] = %cap_s1_truck_dismount_player; + maps\_anim::addnotetrack_customfunction("player_rig_noexo","start_guards_anim",::maps\captured_introdrive::nt_s1_truck_dismount_guards,"truck_to_s1elevator_unload"); + maps\_anim::addnotetrack_customfunction("player_rig_noexo","fx_intro_ambient",::maps\captured_fx::fx_intro_ambient,"truck_to_s1elevator_unload"); + maps\_anim::addnotetrack_customfunction("player_rig_noexo","fx_intro_truck_dust",::maps\captured_fx::fx_intro_truck_dust,"truck_to_s1elevator_unload"); + maps\_anim::addnotetrack_customfunction("player_rig_noexo","fx_intro_body_dust",::maps\captured_fx::fx_intro_body_dust,"truck_to_s1elevator_unload"); + level.scr_anim["player_rig_noexo"]["truck_to_s1elevator_push"] = %cap_s1_elevator_player_enter; + maps\_anim::addnotetrack_customfunction("player_rig_noexo","start_allies_anim",::maps\captured_introdrive::nt_s1_elevator_push_fall,"truck_to_s1elevator_push"); + level.scr_anim["player_rig_noexo"]["s2walk_elevator_scene"] = %cap_s1_elevator_player; + level.scr_anim["player_rig_noexo"]["s2walk_intro_grab"] = %cap_s2_walk_start_player; + maps\_anim::addnotetrack_customfunction("player_rig_noexo","start_allies_walk",::maps\captured_s2walk::nt_s2walk_anims_start,"s2walk_intro_grab"); + level.scr_anim["player_arms"]["s2walk_idle"][0] = %cap_s2_walk_player_walking_idle; + level.scr_anim["player_arms"]["s2walk_punish_left"] = %cap_s2_walk_player_walking_hit_l; + level.scr_anim["player_arms"]["s2walk_punish_right"] = %cap_s2_walk_player_walking_hit_r; + level.scr_anim["player_rig_noexo"]["s2walk_intro_trolley"] = %cap_s2_zip_into_trolley_player; + level.scr_anim["player_rig_noexo"]["s3_interrogation"] = %cap_s3_interrogation_player; + level.scr_anim["player_rig_smashed_noexo"]["s3_interrogation"] = %cap_s3_interrogation_player; + maps\_anim::addnotetrack_customfunction("player_rig_smashed_noexo","unhide_rig",::maps\captured_s3::s3_toggle_rig,"s3_interrogation"); + maps\_anim::addnotetrack_customfunction("player_rig_noexo","fx_interrogation_arm_smash",::maps\captured_fx::fx_interrogation_arm_smash,"s3_interrogation"); + level.scr_anim["player_rig_noexo"]["s3_breakout"] = %cap_s3_rescue_player; + level.scr_anim["player_rig_smashed_noexo"]["s3_breakout"] = %cap_s3_rescue_player; + maps\_anim::addnotetrack_customfunction("player_rig_noexo","unhide_rig",::maps\captured_s3::s3_toggle_rig,"s3_breakout"); + level.scr_anim["player_rig"]["s3escape_takedown"] = %cap_s3_escape_controlroom_player; + maps\_anim::addnotetrack_customfunction("player_rig","start_gideon_help",::maps\captured_s3::s3_escape_player_gun,"s3escape_takedown"); + level.scr_anim["player_rig_noexo"]["s3escape_takedown_start"] = %cap_s3_escape_takedown_player; + level.scr_anim["player_rig"]["s3escape_console_start"] = %cap_s3_escape_console_player_start; + level.scr_anim["player_rig"]["s3escape_console_loop"][0] = %cap_s3_escape_console_player_loop; + maps\_anim::addnotetrack_customfunction("player_rig","start_guard_anim",::maps\captured_s3::s3_escape_guards_enter,"s3escape_console_loop"); + maps\_anim::addnotetrack_customfunction("player_rig","start_elevator_anim",::maps\captured_s3::s3_escape_elevator_start,"s3escape_console_loop"); + level.scr_anim["player_rig"]["s3escape_console_end"] = %cap_s3_escape_console_player_end; + level.scr_anim["player_rig"]["autopsy_doctor_door_open"] = %cap_s3_autopsydoc_opendoor_player; + level.scr_anim["player_rig"]["autopsy_doctor_player_jump"] = %cap_s3_autopsydoc_hatch_player; + level.scr_anim["player_rig"]["incinerator_intro"] = %cap_incinerator_start_player; + level.scr_anim["player_rig"]["incinerator_push_start"] = %cap_incinerator_push_start_player; + level.scr_anim["player_rig"]["incinerator_push"] = %cap_incinerator_push_player; + maps\_anim::addnotetrack_customfunction("player_rig","near_miss",::maps\captured_fx::fx_inc_near_miss,"incinerator_push"); + level.scr_anim["player_rig"]["incinerator_push_stop"] = %cap_incinerator_push_stop_player; + level.scr_anim["player_rig"]["incinerator_crawl"] = %cap_incinerator_crawl_player; + maps\_anim::addnotetrack_customfunction("player_rig","player_saved",::maps\captured_facility::nt_incinerator_player_saved,"incinerator_crawl"); + maps\_anim::addnotetrack_customfunction("player_rig","sfx_grab_pipe",::maps\captured_facility::nt_incinerator_player_pipe_grab,"incinerator_crawl"); + maps\_anim::addnotetrack_customfunction("player_rig","pipe_explode",::maps\captured_fx::fx_inc_pipe_explode,"incinerator_crawl"); + level.scr_anim["player_rig"]["warbird_scene_begin"] = %cap_vtol_battle_crash_player_begin; + level.scr_anim["player_rig"]["warbird_scene"] = %cap_vtol_battle_crash_player; + maps\_anim::addnotetrack_customfunction("player_rig","gideon_in",::maps\captured_facility::nt_warbird_anims_start,"warbird_scene"); + maps\_anim::addnotetrack_customfunction("player_rig","slowmo_start",::maps\captured_facility::nt_helicrash_slowstart,"warbird_scene"); + maps\_anim::addnotetrack_customfunction("player_rig","slowmo_end",::maps\captured_facility::nt_helicrash_slowend,"warbird_scene"); + level.scr_animtree["player_rig_temp"] = #animtree; + level.scr_model["player_rig_temp"] = "viewbody_sentinel_pilot_mitchell_smashed"; + level.scr_anim["player_rig_temp"]["mech_enter"] = %cap_playermech_getinto_mech_vm; + maps\_anim::addnotetrack_notify("player_rig_temp","enable_mech","notify_mech_enable","mech_enter"); + level.scr_anim["player_rig"]["anim_mech_wakeup"] = %cap_s1_escape_mech_crash_wakeup_vm; + level.scr_anim["player_rig"]["end_escape"] = %cap_s1_escape_mech_door_lift_exit_end_player; + maps\_anim::addnotetrack_customfunction("player_rig","fade_to_black",::maps\captured_end_escape::end_fade_to_black,"end_escape"); + maps\_anim::addnotetrack_customfunction("player_rig","change_fov",::maps\captured_end_escape::end_change_fov,"end_escape"); + maps\_anim::addnotetrack_customfunction("player_rig","fx_mech_exit_land_dust",::maps\captured_fx::fx_mech_exit_land_dust,"end_escape"); +} + +//Function Number: 3 +generic_human_anims() +{ + level.scr_animtree["exterior_ambient_mech"] = #animtree; + level.scr_anim["exterior_ambient_mech"]["mech_stand_idle"][0] = %mech_stand_idle; + level.scr_anim["exterior_ambient_mech"]["mech_unaware_idle"][0] = %mech_unaware_idle; + level.scr_anim["exterior_ambient_mech"]["cap_casual_mech_idle"][0] = %cap_casual_mech_idle; + level.scr_anim["ally_0"]["truck_drive"] = %cap_s1_drive_gideon_01; + level.scr_anim["ally_1"]["truck_drive"] = %cap_s1_drive_ilana_01; + level.scr_anim["guard_2"]["truck_drive"] = %cap_s1_drive_guard_02; + level.scr_anim["driver"]["truck_drive"] = %cap_s1_drive_driver_01; + level.scr_anim["prisoner_6"]["truck_drive_player_shadow"] = %cap_s1_drive_player_body; + level.scr_anim["ally_2"]["s1_truck_start_loop"][0] = %cap_s1_pretruck_cormack_01_loop; + level.scr_anim["guard_1"]["s1_truck_start_loop"][0] = %cap_s1_pretruck_guard_01_loop; + level.scr_anim["guard_2"]["s1_truck_start_loop"][0] = %cap_s1_pretruck_guard_02_loop; + level.scr_anim["guard_3"]["s1_truck_start_loop"][0] = %cap_s1_pretruck_guard_03_loop; + level.scr_anim["guard_5"]["s1_truck_start_loop"][0] = %cap_s1_pretruck_guard_05_loop; + level.scr_anim["general_1"]["s1_truck_start_loop"][0] = %cap_s1_pretruck_general_01_loop; + level.scr_anim["prisoner_6"]["s1_truck_start_loop"][0] = %cap_s1_pretruck_prisoner_06_loop; + level.scr_anim["prisoner_5"]["s1_truck_start_loop"][0] = %cap_s1_truck_dismount_prisoner_05_loop; + level.scr_anim["prisoner_7"]["s1_truck_start_loop"][0] = %cap_s1_truck_dismount_prisoner_07_loop; + level.scr_anim["ally_0"]["truck_to_s1elevator_unload"] = %cap_s1_truck_dismount_gideon_01; + level.scr_anim["ally_1"]["truck_to_s1elevator_unload"] = %cap_s1_truck_dismount_ilana_01; + level.scr_anim["ally_2"]["truck_to_s1elevator_unload"] = %cap_s1_truck_dismount_cormack_01; + level.scr_anim["guard_1"]["truck_to_s1elevator_unload"] = %cap_s1_truck_dismount_guard_01; + level.scr_anim["guard_2"]["truck_to_s1elevator_unload"] = %cap_s1_truck_dismount_guard_02; + level.scr_anim["guard_3"]["truck_to_s1elevator_unload"] = %cap_s1_truck_dismount_guard_03; + level.scr_anim["guard_5"]["truck_to_s1elevator_unload"] = %cap_s1_truck_dismount_guard_05; + level.scr_anim["general_1"]["truck_to_s1elevator_unload"] = %cap_s1_truck_dismount_general_01; + level.scr_anim["prisoner_1"]["truck_to_s1elevator_unload"] = %cap_s1_truck_dismount_prisoner_01; + level.scr_anim["prisoner_2"]["truck_to_s1elevator_unload"] = %cap_s1_truck_dismount_prisoner_02; + level.scr_anim["prisoner_3"]["truck_to_s1elevator_unload"] = %cap_s1_truck_dismount_prisoner_03; + level.scr_anim["prisoner_4"]["truck_to_s1elevator_unload"] = %cap_s1_truck_dismount_prisoner_04; + level.scr_anim["prisoner_6"]["truck_to_s1elevator_unload"] = %cap_s1_truck_dismount_prisoner_06; + level.scr_anim["prisoner_8"]["truck_to_s1elevator_unload"] = %cap_s1_truck_dismount_prisoner_08; + level.scr_anim["prisoner_10"]["truck_to_s1elevator_unload"] = %cap_s1_truck_dismount_prisoner_10; + level.scr_anim["prisoner_11"]["truck_to_s1elevator_unload"] = %cap_s1_truck_dismount_prisoner_11; + level.scr_anim["guard_1"]["truck_to_s1elevator_loop"][0] = %cap_s1_truck_dismount_guard_01_loop; + level.scr_anim["guard_3"]["truck_to_s1elevator_loop"][0] = %cap_s1_truck_dismount_guard_03_loop; + level.scr_anim["guard_5"]["truck_to_s1elevator_loop"][0] = %cap_s1_truck_dismount_guard_05_loop; + level.scr_anim["general_1"]["truck_to_s1elevator_loop"][0] = %cap_s1_truck_dismount_general_01_loop; + level.scr_anim["prisoner_6"]["truck_to_s1elevator_loop"][0] = %cap_s1_truck_dismount_prisoner_06_loop; + level.scr_anim["ally_0"]["truck_to_s1elevator_loop"][0] = %cap_s1_elevator_gideon_01_loop; + level.scr_anim["ally_1"]["truck_to_s1elevator_loop"][0] = %cap_s1_elevator_ilana_01_loop; + level.scr_anim["ally_2"]["truck_to_s1elevator_loop"][0] = %cap_s1_elevator_cormack_01_loop; + level.scr_anim["guard_2"]["truck_to_s1elevator_loop"][0] = %cap_s1_elevator_guard_02_loop; + level.scr_anim["prisoner_8"]["truck_to_s1elevator_loop"][0] = %cap_s1_elevator_prisoner_08_loop; + level.scr_anim["ally_0"]["truck_to_s1elevator_push"] = %cap_s1_elevator_gideon_01_enter; + maps\_anim::addnotetrack_customfunction("ally_0","start_guard_anims",::maps\captured_introdrive::nt_s1_elevator_end,"truck_to_s1elevator_push"); + maps\_anim::addnotetrack_customfunction("ally_0","fx_gideon_hits_ground",::maps\captured_fx::fx_gideon_body_dust,"truck_to_s1elevator_push"); + level.scr_anim["ally_1"]["truck_to_s1elevator_push"] = %cap_s1_elevator_ilana_01_enter; + level.scr_anim["ally_2"]["truck_to_s1elevator_push"] = %cap_s1_elevator_cormack_01_enter; + level.scr_anim["guard_2"]["truck_to_s1elevator_push"] = %cap_s1_elevator_guard_02_enter; + level.scr_anim["prisoner_8"]["truck_to_s1elevator_push"] = %cap_s1_elevator_prisoner_08_enter; + level.scr_anim["ally_2"]["s2walk_elevator_scene"] = %cap_s1_elevator_cormack_01; + level.scr_anim["ally_0"]["s2walk_elevator_scene"] = %cap_s1_elevator_gideon_01; + level.scr_anim["ally_1"]["s2walk_elevator_scene"] = %cap_s1_elevator_ilana_01; + level.scr_anim["guard_1"]["s2walk_guard_intro_loop"][0] = %cap_s2_walk_start_guard_01_intro_loop; + level.scr_anim["guard_2"]["s2walk_guard_intro_loop"][0] = %cap_s2_walk_start_guard_02_intro_loop; + level.scr_anim["guard_3"]["s2walk_guard_intro_loop"][0] = %cap_s2_walk_start_guard_03_intro_loop; + level.scr_anim["guard_4"]["s2walk_guard_intro_loop"][0] = %cap_s2_walk_start_guard_04_intro_loop; + level.scr_anim["guard_5"]["s2walk_guard_intro_loop"][0] = %cap_s2_walk_start_guard_05_intro_loop; + level.scr_anim["ally_2"]["s2walk_intro_start_allies"] = %cap_s2_walk_start_cormack_01; + level.scr_anim["ally_0"]["s2walk_intro_start_allies"] = %cap_s2_walk_start_gideon_01; + level.scr_anim["ally_1"]["s2walk_intro_start_allies"] = %cap_s2_walk_start_ilana_01; + level.scr_anim["guard_1"]["s2walk_intro_start_front"] = %cap_s2_walk_start_guard_01; + level.scr_anim["guard_2"]["s2walk_intro_start_front"] = %cap_s2_walk_start_guard_02; + level.scr_anim["guard_3"]["s2walk_intro_start_third"] = %cap_s2_walk_start_guard_03_walk_up; + level.scr_anim["guard_4"]["s2walk_intro_start_back"] = %cap_s2_walk_start_guard_04; + level.scr_anim["guard_5"]["s2walk_intro_start_back"] = %cap_s2_walk_start_guard_05; + level.scr_anim["ally_2"]["s2walk_wait_intro_loop_allies"][0] = %cap_s2_walk_start_cormack_01_loop; + level.scr_anim["ally_0"]["s2walk_wait_intro_loop_allies"][0] = %cap_s2_walk_start_gideon_01_loop; + level.scr_anim["ally_1"]["s2walk_wait_intro_loop_allies"][0] = %cap_s2_walk_start_ilana_01_loop; + level.scr_anim["guard_1"]["s2walk_wait_intro_loop_front"][0] = %cap_s2_walk_start_guard_01_wait_loop; + level.scr_anim["guard_2"]["s2walk_wait_intro_loop_front"][0] = %cap_s2_walk_start_guard_02_wait_loop; + level.scr_anim["guard_3"]["s2walk_wait_intro_loop_thrid"][0] = %cap_s2_walk_start_guard_03_wait_loop; + level.scr_anim["guard_4"]["s2walk_wait_intro_loop_back"][0] = %cap_s2_walk_start_guard_04_end_loop; + level.scr_anim["guard_5"]["s2walk_wait_intro_loop_back"][0] = %cap_s2_walk_start_guard_05_end_loop; + level.scr_anim["guard_1"]["s2walk_intro_grab"] = %cap_s2_walk_start_guard_01_player_pass; + level.scr_anim["guard_2"]["s2walk_intro_grab"] = %cap_s2_walk_start_guard_02_player_pass; + level.scr_anim["guard_3"]["s2walk_intro_grab"] = %cap_s2_walk_start_guard_03; + level.scr_anim["guard_0"]["s2walk_loop"][0] = %cap_s2_walk_guard_01_loop; + level.scr_anim["guard_1"]["s2walk_loop"][0] = %cap_s2_walk_guard_02_loop; + level.scr_anim["ally_0"]["s2walk"] = %cap_s2_walk_ally_02; + maps\_anim::addnotetrack_customfunction("ally_0","start_guard_03_anim",::maps\captured_s2walk::nt_trolley_guard_start,"s2walk"); + maps\_anim::addnotetrack_customfunction("ally_0","start_player_trolley_anim",::maps\captured_s2walk::nt_trolley_player_start,"s2walk"); + maps\_anim::addnotetrack_customfunction("ally_0","start_zipline_anim",::maps\captured_s2walk::nt_trolley_zip_start,"s2walk"); + maps\_anim::addnotetrack_customfunction("ally_0","start_doc_drug_anim",::maps\captured_s2walk::nt_trolley_doctor_start,"s2walk"); + maps\_anim::addnotetrack_customfunction("ally_0","fx_body_dust_drag_02",::maps\captured_fx::fx_body_dust_drag,"s2walk"); + maps\_anim::addnotetrack_customfunction("ally_0","fx_footstep_water_small_le",::maps\captured_fx::fx_footstep_water_small_le,"s2walk"); + maps\_anim::addnotetrack_customfunction("ally_0","fx_footstep_water_small_ri",::maps\captured_fx::fx_footstep_water_small_ri,"s2walk"); + level.scr_anim["ally_1"]["s2walk"] = %cap_s2_walk_ally_03; + maps\_anim::addnotetrack_customfunction("ally_1","fx_footstep_water_small_le",::maps\captured_fx::fx_footstep_water_small_le,"s2walk"); + maps\_anim::addnotetrack_customfunction("ally_1","fx_footstep_water_small_ri",::maps\captured_fx::fx_footstep_water_small_ri,"s2walk"); + level.scr_anim["ally_2"]["s2walk"] = %cap_s2_walk_ally_01; + maps\_anim::addnotetrack_customfunction("ally_2","fx_footstep_water_small_ri",::maps\captured_fx::fx_footstep_water_small_ri,"s2walk"); + level.scr_anim["guard_0"]["s2walk"] = %cap_s2_walk_guard_01; + maps\_anim::addnotetrack_customfunction("guard_0","fx_footstep_water_small_ri",::maps\captured_fx::fx_footstep_water_small_le,"s2walk"); + maps\_anim::addnotetrack_customfunction("guard_0","cap_020_250_gr5",::maps\captured_vo::s2walk_guard_gate_vo_notetrack,"s2walk"); + maps\_anim::addnotetrack_customfunction("guard_0","cap_020_405_gr11",::maps\captured_vo::s2walk_guard_cages_vo_notetrack,"s2walk"); + level.scr_anim["guard_1"]["s2walk"] = %cap_s2_walk_guard_02; + maps\_anim::addnotetrack_customfunction("guard_1","fx_footstep_water_small_le",::maps\captured_fx::fx_footstep_water_small_le,"s2walk"); + maps\_anim::addnotetrack_customfunction("guard_1","fx_footstep_water_small_ri",::maps\captured_fx::fx_footstep_water_small_ri,"s2walk"); + level.scr_anim["guard_end"]["s2walk"] = %cap_s2_walk_guard_03; + level.scr_anim["guard_3"]["s2walk_intro_trolley"] = %cap_s2_zip_into_trolley_guard_03; + maps\_anim::addnotetrack_customfunction("guard_3","start_door_01_anim",::maps\captured_s2walk::nt_trolley_door_01,"s2walk_intro_trolley"); + maps\_anim::addnotetrack_customfunction("guard_3","start_door_02_anim",::maps\captured_s2walk::nt_trolley_door_02,"s2walk_intro_trolley"); + maps\_anim::addnotetrack_customfunction("guard_3","start_gate_01_anim",::maps\captured_s2walk::nt_trolley_gate,"s2walk_intro_trolley"); + level.scr_anim["guard_3"]["s2walk_intro_trolley_loop"][0] = %cap_s2_zip_into_trolley_guard_03_loop; + level.scr_anim["drug_doctor"]["s2walk_intro_trolley"] = %cap_s2_trolley_drug_doc; + level.scr_anim["ally_0"]["s3_interrogation"] = %cap_s3_interrogation_gideon_01; + level.scr_anim["ally_1"]["s3_interrogation"] = %cap_s3_interrogation_ilana_01; + level.scr_anim["ally_2"]["s3_interrogation"] = %cap_s3_interrogation_cormack_01; + level.scr_anim["irons"]["s3_interrogation"] = %cap_s3_interrogation_irons_01; + maps\_anim::addnotetrack_customfunction("irons","fx_irons_fire",::maps\captured_fx::fx_interrogation_irons_fire,"s3_interrogation"); + level.scr_anim["guard_0"]["s3_interrogation"] = %cap_s3_interrogation_guard_01; + level.scr_anim["guard_1"]["s3_interrogation"] = %cap_s3_interrogation_guard_02; + level.scr_anim["guard_2"]["s3_interrogation"] = %cap_s3_interrogation_guard_03; + level.scr_anim["ally_0"]["s3_breakout"] = %cap_s3_rescue_gideon_01; + level.scr_anim["ally_0"]["s3_breakout_loop"][0] = %cap_s3_rescue_gideon_01_loop; + level.scr_anim["ally_1"]["s3_breakout"] = %cap_s3_rescue_ilana_01; + level.scr_anim["ally_1"]["s3_breakout_loop"][0] = %cap_s3_rescue_ilana_01_loop; + level.scr_anim["ally_2"]["s3_breakout"] = %cap_s3_rescue_cormack_01; + level.scr_anim["ally_2"]["s3_breakout_loop"][0] = %cap_s3_rescue_cormack_01_loop; + level.scr_anim["guard_1"]["s3_breakout"] = %cap_s3_rescue_guard_02; + maps\_anim::addnotetrack_customfunction("guard_1","fire",::maps\captured_fx::fx_rescue_guard_fire,"s3_breakout"); + maps\_anim::addnotetrack_customfunction("guard_1","fx_body_slam",::maps\captured_fx::fx_rescue_body_slam_1,"s3_breakout"); + maps\_anim::addnotetrack_customfunction("guard_1","fx_head_slam_1",::maps\captured_fx::fx_rescue_head_slam_1,"s3_breakout"); + maps\_anim::addnotetrack_customfunction("guard_1","fx_head_slam_2",::maps\captured_fx::fx_rescue_head_slam_2,"s3_breakout"); + maps\_anim::addnotetrack_customfunction("guard_1","start_glass_shatter",::maps\captured_s3::s3_break_glass,"s3_breakout"); + level.scr_anim["guard_2"]["s3_breakout"] = %cap_s3_rescue_guard_03; + maps\_anim::addnotetrack_customfunction("guard_2","fx_init",::maps\captured_fx::fx_rescue_guard_2_init,"s3_breakout"); + maps\_anim::addnotetrack_customfunction("guard_2","fx_body_slam",::maps\captured_fx::fx_rescue_body_slam_2,"s3_breakout"); + level.scr_anim["ally_2"]["s3escape_hallway"] = %cap_s3_escape_hallway_cormack_01; + level.scr_anim["ally_1"]["s3escape_hallway"] = %cap_s3_escape_hallway_ilana_01; + level.scr_anim["ally_0"]["s3escape_hallway"] = %cap_s3_escape_hallway_gideon_01; + level.scr_anim["ally_2"]["s3escape_hallway_loop"][0] = %cap_s3_escape_hallway_cormack_01_loop; + level.scr_anim["ally_1"]["s3escape_hallway_loop"][0] = %cap_s3_escape_hallway_ilana_01_loop; + level.scr_anim["ally_0"]["s3escape_hallway_loop"][0] = %cap_s3_escape_hallway_gideon_01_loop; + level.scr_anim["doctor"]["s3escape_doctor_scene"] = %cap_s3_escape_doc_push_doctor; + maps\_anim::addnotetrack_customfunction("doctor","cap_050_030_rw4_r",::maps\captured_aud::aud_s3escape_doctor_radio,"s3escape_doctor_scene"); + level.scr_anim["ally_2"]["s3escape_hallway_end"] = %cap_s3_escape_hallway_cormack_01_end; + level.scr_anim["ally_1"]["s3escape_hallway_end"] = %cap_s3_escape_hallway_ilana_01_end; + level.scr_anim["ally_0"]["s3escape_hallway_end"] = %cap_s3_escape_hallway_gideon_01_end; + level.scr_anim["ally_2"]["s3escape_hallway_end_loop"][0] = %cap_s3_escape_takedown_cormack_01_doorloop; + level.scr_anim["ally_1"]["s3escape_hallway_end_loop"][0] = %cap_s3_escape_takedown_ilana_01_doorloop; + level.scr_anim["ally_0"]["s3escape_hallway_end_loop"][0] = %cap_s3_escape_takedown_gideon_01_doorloop; + level.scr_anim["guard_1"]["s3escape_hallway_end_loop"][0] = %cap_s3_escape_takedown_guard_01_doorloop; + level.scr_anim["guard_1"]["s3escape_takedown"] = %cap_s3_escape_takedown_guard_01; + level.scr_anim["ally_2"]["s3escape_takedown"] = %cap_s3_escape_takedown_cormack_01; + level.scr_anim["ally_1"]["s3escape_takedown"] = %cap_s3_escape_takedown_ilana_01; + level.scr_anim["ally_0"]["s3escape_takedown"] = %cap_s3_escape_takedown_gideon_01; + maps\_anim::addnotetrack_customfunction("ally_0","cap_060_001_gdn",::maps\captured_vo::s3_guard_takedown_vo_notetrack,"s3escape_takedown"); + maps\_anim::addnotetrack_customfunction("ally_0","start_door01_anim",::maps\captured_s3::s3_escape_door_notetrack,"s3escape_takedown"); + maps\_anim::addnotetrack_customfunction("ally_0","fx_escape_takedown_wastebasket",::maps\captured_fx::fx_escape_takedown_wastebasket,"s3escape_takedown"); + maps\_anim::addnotetrack_customfunction("ally_0","fx_escape_takedown_foot_stomp",::maps\captured_fx::fx_escape_takedown_foot_stomp,"s3escape_takedown"); + level.scr_anim["ally_2"]["s3escape_takedown_loop"][0] = %cap_s3_escape_takedown_cormack_01_loop; + level.scr_anim["ally_1"]["s3escape_takedown_loop"][0] = %cap_s3_escape_takedown_ilana_01_loop; + level.scr_anim["ally_0"]["s3escape_takedown_loop"][0] = %cap_s3_escape_takedown_gideon_01_loop; + level.scr_anim["guard_1"]["s3escape_takedown_start"] = %cap_s3_escape_takedown_death_guard_01; + level.scr_anim["ally_0"]["s3escape_takedown_gun_help"] = %cap_s3_escape_takedown_gideon_01_help; + level.scr_anim["ally_2"]["s3escape_controlroom"] = %cap_s3_escape_controlroom_cormack_01; + level.scr_anim["ally_1"]["s3escape_controlroom"] = %cap_s3_escape_controlroom_ilana_01; + level.scr_anim["ally_0"]["s3escape_controlroom"] = %cap_s3_escape_controlroom_gideon_01; + maps\_anim::addnotetrack_customfunction("ally_0","start_door02_anim",::maps\captured_s3::s3_escape_controlroom_door_notetrack,"s3escape_controlroom"); + maps\_anim::addnotetrack_customfunction("ally_0","cap_060_061_gdn",::maps\captured_vo::s3_controlroom_vo_notetrack1,"s3escape_controlroom"); + maps\_anim::addnotetrack_customfunction("ally_0","cap_060_062_gdn",::maps\captured_vo::s3_controlroom_vo_notetrack2,"s3escape_controlroom"); + maps\_anim::addnotetrack_customfunction("ally_0","cap_060_071_gdn",::maps\captured_vo::s3_controlroom_vo_notetrack3,"s3escape_controlroom"); + maps\_anim::addnotetrack_customfunction("ally_0","cap_060_090_gdn",::maps\captured_vo::s3_controlroom_vo_notetrack4,"s3escape_controlroom"); + maps\_anim::addnotetrack_customfunction("ally_1","cap_060_111_iln",::maps\captured_vo::s3_controlroom_vo_notetrack5,"s3escape_controlroom"); + maps\_anim::addnotetrack_customfunction("ally_2","cap_060_112_crk",::maps\captured_vo::s3_controlroom_vo_notetrack6,"s3escape_controlroom"); + level.scr_anim["ally_2"]["s3escape_controlroom_loop"][0] = %cap_s3_escape_controlroom_cormack_01_loop; + level.scr_anim["ally_1"]["s3escape_controlroom_loop"][0] = %cap_s3_escape_controlroom_ilana_01_loop; + level.scr_anim["ally_0"]["s3escape_controlroom_loop"][0] = %cap_s3_escape_controlroom_gideon_01_loop; + level.scr_anim["guard_2"]["s3escape_controlroom_attack"] = %cap_s3_escape_controlroom_guard_02_attack; + level.scr_anim["guard_3"]["s3escape_controlroom_attack"] = %cap_s3_escape_controlroom_guard_03_attack; + level.scr_anim["ally_2"]["s3escape_controlroom_attack"] = %cap_s3_escape_controlroom_cormack_01_attack; + level.scr_anim["ally_1"]["s3escape_controlroom_attack"] = %cap_s3_escape_controlroom_ilana_01_attack; + level.scr_anim["ally_0"]["s3escape_controlroom_attack"] = %cap_s3_escape_controlroom_gideon_01_attack; + maps\_anim::addnotetrack_customfunction("ally_0","cap_060_113_gdn",::maps\captured_vo::s3_controlroom_attack_vo_notetrack,"s3escape_controlroom_attack"); + level.scr_anim["ally_2"]["s3escape_controlroom_attack_loop"][0] = %cap_s3_escape_controlroom_cormack_01_attackloop; + level.scr_anim["ally_1"]["s3escape_controlroom_attack_loop"][0] = %cap_s3_escape_controlroom_ilana_01_attackloop; + level.scr_anim["ally_2"]["s3escape_controlroom_exit"] = %cap_s3_escape_controlroom_cormack_01_exit; + level.scr_anim["ally_1"]["s3escape_controlroom_exit"] = %cap_s3_escape_controlroom_ilana_01_exit; + level.scr_anim["ally_0"]["s3escape_controlroom_exit"] = %cap_s3_escape_to_stairs_gideon_01; + maps\_anim::addnotetrack_customfunction("ally_0","start_door03_anim",::maps\captured_s3::s3_escape_controlroom_exit_door_notetrack,"s3escape_controlroom_exit"); + maps\_anim::addnotetrack_customfunction("ally_0","start_door03_swipe_sfx_anim",::maps\captured_s3::s3_escape_controlroom_exit_door_swipe_sfx_notetrack,"s3escape_controlroom_exit"); + maps\_anim::addnotetrack_customfunction("ally_0","cap_060_132_gdn",::maps\captured_vo::s3_controlroom_exit_vo_notetrack3,"s3escape_controlroom_exit"); + maps\_anim::addnotetrack_customfunction("ally_0","cap_060_133_gdn",::maps\captured_vo::s3_controlroom_exit_vo_notetrack4,"s3escape_controlroom_exit"); + maps\_anim::addnotetrack_customfunction("ally_0","cap_060_121_gdn",::maps\captured_vo::s3_controlroom_exit_vo_notetrack1,"s3escape_controlroom_exit"); + maps\_anim::addnotetrack_customfunction("ally_0","cap_060_140_gdn",::maps\captured_vo::s3_controlroom_exit_vo_notetrack5,"s3escape_controlroom_exit"); + maps\_anim::addnotetrack_customfunction("ally_0","cap_060_161_gdn",::maps\captured_vo::s3_controlroom_exit_vo_notetrack7,"s3escape_controlroom_exit"); + level.scr_anim["ally_0"]["s3escape_controlroom_exit_loop"][0] = %cap_s3_escape_to_stairs_gideon_01_loop; + level.scr_anim["ally_0"]["tc_stairs"] = %cap_s3_stairclimb_gideon_01; + maps\_anim::addnotetrack_customfunction("ally_0","start_door_anim",::maps\captured_medical::test_chamber_stairs_up_door_notetrack,"tc_stairs"); + maps\_anim::addnotetrack_customfunction("ally_0","start_door_anim_swipe_sfx",::maps\captured_medical::test_chamber_stairs_up_door_swipe_sfx_notetrack,"tc_stairs"); + level.scr_anim["ally_0"]["tc_landing_loop"][0] = %cap_s3_observation_app_gideon_01_loop; + level.scr_anim["ally_0"]["tc_hall"] = %cap_s3_observation_app_gideon_02; + level.scr_anim["ally_0"]["tc_hall_loop"][0] = %cap_s3_observation_app_gideon_02_loop; + level.scr_anim["ally_0"]["tc_approach"] = %cap_s3_observation_app_gideon_03; + level.scr_anim["ally_0"]["tc_approach_loop"][0] = %cap_s3_observation_app_gideon_03_loop; + level.scr_anim["scientist_3"]["tc_manticore_start"] = %cap_s3_observation_mant_start_opfor1; + level.scr_anim["scientist_4"]["tc_manticore_start"] = %cap_s3_observation_mant_start_opfor2; + level.scr_anim["scientist_3"]["tc_manticore_loop"][0] = %cap_s3_observation_mant_loop_opfor1; + level.scr_anim["scientist_4"]["tc_manticore_loop"][0] = %cap_s3_observation_mant_loop_opfor2; + level.scr_anim["scientist_3"]["tc_manticore_end"] = %cap_s3_observation_mant_runout_opfor1; + level.scr_anim["scientist_4"]["tc_manticore_end"] = %cap_s3_observation_mant_runout_opfor2; + level.scr_anim["ally_0"]["tc_melee"] = %cap_s3_observation_gideon_01; + level.scr_anim["scientist_0"]["tc_melee"] = %cap_s3_observation_tech_01; + level.scr_anim["scientist_1"]["tc_melee"] = %cap_s3_observation_tech_02_intro; + level.scr_anim["scientist_2"]["tc_melee"] = %cap_s3_observation_tech_03_intro; + level.scr_anim["scientist_1"]["tc_scientist_1_loop"][0] = %cap_s3_observation_tech_02_loop; + level.scr_anim["scientist_2"]["tc_scientist_2_loop"][0] = %cap_s3_observation_tech_03_loop; + level.scr_anim["scientist_1"]["tc_scientist_1_death"] = %cap_s3_observation_tech_02_death; + level.scr_anim["scientist_2"]["tc_scientist_2_death"] = %cap_s3_observation_tech_03_death; + level.scr_anim["ally_0"]["tc_observation"] = %cap_s3_test_chamber_app_gideon_01; + level.scr_anim["ally_0"]["tc_observation_loop"][0] = %cap_s3_test_chamber_app_gideon_01_loop; + level.scr_anim["ally_0"]["tc_exit_stairs"] = %cap_s3_test_chamber_app_gideon_02; + level.scr_anim["ally_0"]["tc_exit_door_loop"][0] = %cap_s3_test_chamber_app_gideon_02_loop; + level.scr_anim["ally_0"]["tc_enter_test"] = %cap_s3_test_chamber_app_gideon_03; + level.scr_anim["ally_0"]["tc_enter_test_loop"][0] = %cap_s3_test_chamber_app_gideon_03_loop; + level.scr_anim["ally_0"]["tc_enter_test_exit_door"] = %cap_s3_test_chamber_app_gideon_04; + level.scr_anim["ah_tech_1"]["tc_enter_test_exit_door"] = %cap_s3_test_chamber_app_tech1_04; + level.scr_anim["ah_tech_2"]["tc_enter_test_exit_door"] = %cap_s3_test_chamber_app_tech2_04; + level.scr_anim["ally_0"]["morgue_exit_door_start"] = %cap_s3_intoautopsy_gideon_01; + level.scr_anim["ally_0"]["morgue_exit_door_loop"][0] = %cap_s3_intoautopsy_gideon_loop; + level.scr_anim["ally_0"]["autopsy_entrance_door_loop"][0] = %cap_s3_intoautopsy_gideon_loop_02; + level.scr_anim["ally_0"]["morgue_exit_door_end"] = %cap_s3_intoautopsy_gideon_02; + maps\_anim::addnotetrack_notify("ally_0","open_doors","ally_opens_autopsy_outer_door","morgue_exit_door_end"); + maps\_anim::addnotetrack_customfunction("ally_0","computer_door_entry_sfx",::maps\captured_medical::computer_door_entry_sfx_notetrack,"morgue_exit_door_end"); + level.scr_anim["ally_0"]["autopsy_door"] = %cap_s3_autopsy_gideon_01; + level.scr_anim["autopsy_tech"]["autopsy_door"] = %cap_s3_autopsy_tech_01; + level.scr_anim["autopsy_tech"]["autopsy_door_tech_loop"][0] = %cap_s3_autopsy_tech_01_loop; + maps\_anim::addnotetrack_customfunction("ally_0","rifle_butt",::maps\captured_medical::rifle_butt); + level.scr_anim["tech"]["cap_s3_autopsy_tech_02"] = %cap_s3_autopsy_tech_02; + level.scr_anim["tech"]["cap_s3_autopsy_tech_02_loop"][0] = %cap_s3_autopsy_tech_02_loop; + level.scr_anim["tech"]["cap_s3_autopsy_tech_03"] = %cap_s3_autopsy_tech_03; + level.scr_anim["tech"]["cap_s3_autopsy_tech_03_loop"][0] = %cap_s3_autopsy_tech_03_loop; + level.scr_anim["tech"]["cap_s3_autopsy_tech_04"] = %cap_s3_autopsy_tech_04; + level.scr_anim["tech"]["cap_s3_autopsy_tech_04_loop"][0] = %cap_s3_autopsy_tech_04_loop; + level.scr_anim["tech"]["cap_s3_autopsy_tech_05"] = %cap_s3_autopsy_tech_05; + level.scr_anim["tech"]["cap_s3_autopsy_tech_05_loop"][0] = %cap_s3_autopsy_tech_05_loop; + level.scr_anim["tech"]["cap_s3_autopsy_tech_06"] = %cap_s3_autopsy_tech_06; + level.scr_anim["tech"]["cap_s3_autopsy_tech_06_loop"][0] = %cap_s3_autopsy_tech_06_loop; + level.scr_anim["tech"]["cap_s3_autopsy_tech_07"] = %cap_s3_autopsy_tech_07; + level.scr_anim["tech"]["cap_s3_autopsy_tech_07_loop"][0] = %cap_s3_autopsy_tech_07_loop; + level.scr_anim["tech"]["cap_s3_autopsy_tech_death"] = %civilian_crawl_2_death_b; + level.scr_anim["doctor"]["autopsy_doctor_loop_start"][0] = %cap_s3_autopsydoc_loopstart_doc; + level.scr_anim["ally_0"]["autopsy_doctor_gideon_walk"] = %cap_s3_autopsydoc_walkup_gideon; + level.scr_anim["doctor"]["autopsy_doctor_grabgun"] = %cap_s3_autopsydoc_grabgun_doc; + level.scr_anim["doctor"]["autopsy_doctor_grabgun_loop"][0] = %cap_s3_autopsydoc_loop2_doc; + level.scr_anim["ally_0"]["autopsy_doctor_gideon_door_loop"][0] = %cap_s3_autopsydoc_loop_gideon; + level.scr_anim["doctor"]["autopsy_doctor_door_open"] = %cap_s3_autopsydoc_opendoor_doc; + level.scr_anim["ally_0"]["autopsy_doctor_door_open"] = %cap_s3_autopsydoc_opendoor_gideon; + level.scr_anim["ally_0"]["autopsy_doctor_hatch_open_jump"] = %cap_s3_autopsydoc_hatch_gideon; + level.scr_anim["ally_0"]["autopsy_doctor_hatch_open_loop"][0] = %cap_s3_autopsydoc_loop2_gideon; + maps\_anim::addnotetrack_customfunction("doctor","fire",::maps\captured_medical::doc_fire,"autopsy_doctor_door_open"); + maps\_anim::addnotetrack_customfunction("doctor","punched",::maps\captured_medical::doc_punched,"autopsy_doctor_door_open"); + level.scr_anim["ally_0"]["incinerator_intro"] = %cap_incinerator_start_gideon; + level.scr_anim["ally_0"]["incinerator_intro_wait_loop"][0] = %cap_incinerator_start_loop_gideon; + level.scr_anim["ally_0"]["incinerator_push"] = %cap_incinerator_push_gideon; + level.scr_anim["ally_0"]["incinerator_push_stop_1"][0] = %cap_incinerator_cart_push_stop_01_gideon; + level.scr_anim["ally_0"]["incinerator_push_stop_2"][0] = %cap_incinerator_cart_push_stop_02_gideon; + level.scr_anim["ally_0"]["incinerator_crawl_wait_loop"][0] = %cap_incinerator_crawl_loop_gideon; + level.scr_anim["ally_0"]["incinerator_crawl_pull"] = %cap_incinerator_end_gideon; + maps\_anim::addnotetrack_customfunction("ally_0","fx_gideon_hits_ground_inc",::maps\captured_fx::fx_gideon_body_dust_inc,"incinerator_crawl_pull"); + level.scr_anim["op_alarm"]["alarm_start_loop"][0] = %cap_s3_exterior_worker_push_button_start_loop; + level.scr_anim["op_alarm"]["alarm_push"] = %cap_s3_exterior_worker_push_button; + level.scr_anim["op_alarm"]["alarm_end_loop"][0] = %cap_s3_exterior_worker_push_button_end_loop; + level.scr_anim["worker_1"]["runtoheli_worker_window_loop_1"][0] = %cap_s3_observation_tech_01_intro_loop; + level.scr_anim["worker_2"]["runtoheli_worker_window_loop_2"][0] = %cap_s3_autopsydoc_loopstart_doc; + level.scr_anim["ally_0"]["runtoheli_window_start"] = %cap_s3_manticore_window_gideon_01; + level.scr_anim["ally_0"]["runtoheli_window"] = %cap_gdn_theresgottabeenough_anim; + level.scr_anim["ally_0"]["runtoheli_window_loop"][0] = %cap_s3_manticore_window_gideon_loop_01; + level.scr_anim["ally_0"]["runtoheli_door_start"] = %cap_s3_manticore_window_gideon_02; + level.scr_anim["ally_0"]["runtoheli_door_loop"][0] = %cap_s3_manticore_window_gideon_loop_02; + level.scr_anim["ally_0"]["runtoheli_door_kick"] = %cap_s3_manticore_window_gideon_03; + level.scr_anim["ally_0"]["warbird_scene"] = %cap_vtol_battle_crash_gideon; + maps\_anim::addnotetrack_flag("ally_0","manticore_done","flag_bh_run_manticore_done","runtoheli_window_start"); + maps\_anim::addnotetrack_customfunction("ally_0","fire",::maps\captured_fx::fx_heli_gideon_fire,"warbird_scene"); + level.scr_anim["heli_mech_pilot"]["warbird_scene"] = %cap_vtol_battle_crash_mech_head; + level.scr_anim["heli_pilot"]["warbird_scene"] = %cap_vtol_battle_crash_pilot; + maps\_anim::addnotetrack_customfunction("heli_mech","fx_heli_mech_punch",::maps\captured_fx::fx_heli_mech_punch,"warbird_scene"); + level.scr_anim["generic"]["melee_pain"] = %exposed_pain_face; + level.scr_animtree["mech_suit_top"] = #animtree; + level.scr_animtree["mech_suit_bottom"] = #animtree; + level.scr_anim["mech_suit_top"]["anim_mech_wakeup"] = %cap_s1_escape_mech_crash_wakeup_mech; + maps\_anim::addnotetrack_customfunction("mech_suit_top","fx_debris_dust",::maps\captured_fx::fx_heli_crash_debris_dust,"anim_mech_wakeup"); + maps\_anim::addnotetrack_customfunction("mech_suit_top","fx_body_dust",::maps\captured_fx::fx_body_dust_mech,"anim_mech_wakeup"); + maps\_anim::addnotetrack_customfunction("mech_suit_top","mech_intro_amb",::maps\captured_aud::aud_wakeup_amb,"anim_mech_wakeup"); + level.scr_anim["mech_suit_bottom"]["anim_mech_wakeup"] = %cap_s1_escape_mech_crash_wakeup_mech; + maps\_anim::addnotetrack_customfunction("mech_suit_bottom","fx_footstep_dust_le",::maps\captured_fx::fx_footstep_dust_mech_le,"anim_mech_wakeup"); + maps\_anim::addnotetrack_customfunction("mech_suit_bottom","fx_footstep_dust_ri",::maps\captured_fx::fx_footstep_dust_mech_ri,"anim_mech_wakeup"); + maps\_anim::addnotetrack_customfunction("mech_suit_bottom","fx_knee_dust_le",::maps\captured_fx::fx_knee_dust_mech_le,"anim_mech_wakeup"); + maps\_anim::addnotetrack_customfunction("mech_suit_bottom","fx_knee_dust_ri",::maps\captured_fx::fx_knee_dust_mech_ri,"anim_mech_wakeup"); + level.scr_anim["mech_suit_top"]["anim_exit_mechsuit"] = %cap_s1_escape_mech_door_lift_exit_anim_mech; + level.scr_anim["mech_suit_bottom"]["anim_exit_mechsuit"] = %cap_s1_escape_mech_door_lift_exit_anim_mech; + level.scr_anim["ally_0"]["anim_mech_wakeup"] = %cap_s1_escape_mech_crash_wakeup_gideon; + maps\_anim::addnotetrack_customfunction("ally_0","fx_footstep_dust_le",::maps\captured_fx::fx_footstep_dust_le,"anim_mech_wakeup"); + maps\_anim::addnotetrack_customfunction("ally_0","fx_footstep_dust_ri",::maps\captured_fx::fx_footstep_dust_ri,"anim_mech_wakeup"); + maps\_anim::addnotetrack_customfunction("ally_0","fx_footstep_dust_rocks_le",::maps\captured_fx::fx_footstep_dust_rocks_le,"anim_mech_wakeup"); + maps\_anim::addnotetrack_customfunction("ally_0","fx_footstep_dust_rocks_ri",::maps\captured_fx::fx_footstep_dust_rocks_ri,"anim_mech_wakeup"); + level.scr_anim["ally_0"]["anim_mech_wakeup_exit_loop"][0] = %cap_s1_escape_mech_crash_wakeup_gideon_loop; + level.scr_model["mech_suit_top"] = "playermech_animated_model_top"; + level.scr_model["mech_suit_bottom"] = "playermech_animated_model_btm"; + level.scr_anim["mech_suit_top"]["mech_enter"] = %cap_playermech_getinto_mech_mech; + maps\_anim::addnotetrack_customfunction("mech_suit_top","fx_sparks",::maps\captured_fx::fx_heli_crash_enter_mech_sparks,"mech_enter"); + maps\_anim::addnotetrack_customfunction("mech_suit_top","fx_fist_dust",::maps\captured_fx::fx_heli_crash_fist_dust_mech,"mech_enter"); + maps\_anim::addnotetrack_customfunction("mech_suit_top","mech_into_mech_missle",::maps\captured_aud::aud_into_mech_missle,"mech_enter"); + level.scr_anim["mech_suit_bottom"]["mech_enter"] = %cap_playermech_getinto_mech_mech; + level.scr_anim["ally_0"]["mech_enter"] = %cap_playermech_getinto_mech_gideon; + level.scr_anim["ally_0"]["mech_enter_loop"][0] = %cap_playermech_getinto_mech_gideon_loop; + level.scr_anim["generic"]["tower_explode"] = %death_explosion_run_f_v2; + level.scr_anim["civ_gate0"]["anim_exit_civ_gate_loop"][0] = %cap_s1_escape_mech_gate_lift_prisoner05_loop; + level.scr_anim["civ_gate0"]["anim_exit"] = %cap_s1_escape_mech_gate_lift_exit_prisoner05; + level.scr_anim["civ_gate1"]["anim_exit_civ_gate_loop"][0] = %cap_s1_escape_mech_gate_lift_prisoner06_loop; + level.scr_anim["civ_gate1"]["anim_exit"] = %cap_s1_escape_mech_gate_lift_exit_prisoner06; + level.scr_anim["civ_gate2"]["anim_exit_civ_gate_loop"][0] = %cap_s1_escape_mech_gate_lift_prisoner07_loop; + level.scr_anim["civ_gate2"]["anim_exit"] = %cap_s1_escape_mech_gate_lift_exit_prisoner07; + level.scr_anim["civ_gate3"]["anim_exit_civ_gate_loop"][0] = %cap_s1_escape_mech_gate_lift_prisoner08_loop; + level.scr_anim["civ_gate3"]["anim_exit"] = %cap_s1_escape_mech_gate_lift_exit_prisoner08; + level.scr_anim["civ_gate4"]["anim_exit_civ_gate_loop"][0] = %cap_s1_escape_mech_gate_lift_prisoner09_loop; + level.scr_anim["civ_gate4"]["anim_exit"] = %cap_s1_escape_mech_gate_lift_exit_prisoner09; + level.scr_anim["civ_gate5"]["anim_exit_civ_gate_loop"][0] = %cap_s1_escape_mech_gate_lift_prisoner10_loop; + level.scr_anim["civ_gate5"]["anim_exit"] = %cap_s1_escape_mech_gate_lift_exit_prisoner10; + level.scr_anim["civ_gate6"]["anim_exit_civ_gate_loop"][0] = %cap_s1_escape_mech_gate_lift_prisoner11_loop; + level.scr_anim["civ_gate6"]["anim_exit"] = %cap_s1_escape_mech_gate_lift_exit_prisoner11; + level.scr_anim["civ_gate7"]["anim_exit_civ_gate_loop"][0] = %cap_s1_escape_mech_gate_lift_prisoner12_loop; + level.scr_anim["civ_gate7"]["anim_exit"] = %cap_s1_escape_mech_gate_lift_exit_prisoner12; + level.scr_anim["civ_gate8"]["anim_exit"] = %cap_s1_escape_mech_gate_lift_exit_prisoner01; + level.scr_anim["civ_gate9"]["anim_exit"] = %cap_s1_escape_mech_gate_lift_exit_prisoner02; + level.scr_anim["civ_gate10"]["anim_exit"] = %cap_s1_escape_mech_gate_lift_exit_prisoner03; + level.scr_anim["civ_gate11"]["anim_exit"] = %cap_s1_escape_mech_gate_lift_exit_prisoner04; + level.scr_anim["ally_0"]["anim_exit"] = %cap_s1_escape_mech_gate_lift_exit_gideon; + level.scr_anim["ally_1"]["anim_exit"] = %cap_s1_escape_mech_gate_lift_exit_ilona; + level.scr_anim["ally_0"]["anim_exit_loop"][0] = %cap_s1_escape_mech_door_lift_exit_end_gideon_loop; + level.scr_anim["ally_0"]["end_escape"] = %cap_s1_escape_mech_door_lift_exit_end_gideon; + level.scr_anim["ally_1"]["end_escape"] = %cap_s1_escape_mech_door_lift_exit_end_ilona; + var_00 = [%unarmed_covercrouch_pain_front,%unarmed_covercrouch_pain_left_3,%unarmed_covercrouch_left_twitches_react,%unarmed_covercrouch_pain_right,%unarmed_covercrouch_pain_right_2,%unarmed_covercrouch_pain_right_3]; + var_01 = [%unarmed_covercrouch_pain_left_3,%unarmed_covercrouch_left_twitches_react]; + var_02 = [%unarmed_covercrouch_pain_right,%unarmed_covercrouch_pain_right_2,%unarmed_covercrouch_pain_right_3]; + var_03 = []; + var_03["pain"]["torso_upper"] = var_00; + var_03["pain"]["torso_upper_extended"] = var_00; + var_03["pain"]["torso_lower"] = var_00; + var_03["pain"]["torso_lower_extended"] = var_00; + var_03["pain"]["head"] = var_00; + var_03["pain"]["head_extended"] = var_00; + var_03["pain"]["left_arm"] = var_01; + var_03["pain"]["left_arm_extended"] = var_01; + var_03["pain"]["right_arm"] = var_02; + var_03["pain"]["right_arm_extended"] = var_02; + var_03["pain"]["leg"] = var_00; + var_03["pain"]["leg_extended"] = var_00; + var_03["pain"]["foot"] = var_00; + var_03["pain"]["foot_extended"] = var_00; + var_03["pain"]["default_long"] = var_00; + var_03["pain"]["default_short"] = var_00; + var_03["pain"]["default_extended"] = var_00; + var_03["pain"]["crouch_default"] = var_00; + var_03["pain"]["crouch_left_arm"] = var_01; + var_03["pain"]["crouch_right_arm"] = var_02; + maps\_utility::register_archetype("cap_civilian",var_03); +} + +//Function Number: 4 +script_model_anims() +{ + level.scr_animtree["exterior_ambient_prisoner"] = #animtree; + level.scr_model["exterior_ambient_prisoner"] = "civ_prisoner_atlas_body"; + level.scr_anim["exterior_ambient_prisoner"]["cap_s1_prisoner_01"] = %cap_s1_prisoner_01; + level.scr_anim["exterior_ambient_prisoner"]["cap_s1_prisoner_02"] = %cap_s1_prisoner_02; + level.scr_anim["exterior_ambient_prisoner"]["cap_s1_prisoner_03"] = %cap_s1_prisoner_03; + level.scr_anim["exterior_ambient_prisoner"]["cap_s1_prisoner_04"] = %cap_s1_prisoner_04; + level.scr_anim["exterior_ambient_prisoner"]["cap_s1_prisoner_05"] = %cap_s1_prisoner_05; + level.scr_anim["exterior_ambient_prisoner"]["cap_s1_prisoner_06"] = %cap_s1_prisoner_06; + level.scr_anim["exterior_ambient_prisoner"]["cap_s1_prisoner_07"] = %cap_s1_prisoner_07; + level.scr_anim["exterior_ambient_prisoner"]["cap_s1_prisoner_08"] = %cap_s1_prisoner_08; + level.scr_anim["exterior_ambient_prisoner"]["cap_s1_prisoner_09"] = %cap_s1_prisoner_09; + level.scr_anim["exterior_ambient_guard"]["cap_s1_guard_club_01"] = %cap_s1_guard_club_01; + level.scr_anim["exterior_ambient_guard"]["cap_s1_guard_club_02"] = %cap_s1_guard_club_02; + level.scr_anim["exterior_ambient_guard"]["cap_s1_guard_club_03"] = %cap_s1_guard_club_03; + level.scr_anim["exterior_ambient_guard"]["cap_s1_guard_club_04"] = %cap_s1_guard_club_04; + level.scr_anim["exterior_ambient_guard"]["cap_s1_beating_guard_01"] = %cap_s1_beating_guard_01; + level.scr_anim["exterior_ambient_guard"]["cap_s1_beating_guard_02"] = %cap_s1_beating_guard_02; + level.scr_anim["exterior_ambient_guard"]["cap_s1_beating_guard_03"] = %cap_s1_beating_guard_03; + level.scr_anim["exterior_ambient_prisoner"]["cap_s1_beating_prisoner_01"] = %cap_s1_beating_prisoner_01; + level.scr_anim["exterior_ambient_prisoner"]["cap_s1_beating_prisoner_02"] = %cap_s1_beating_prisoner_02; + level.scr_anim["exterior_ambient_prisoner"]["cap_s1_beating_prisoner_03"] = %cap_s1_beating_prisoner_03; + level.scr_anim["exterior_ambient_guard"]["cap_s1_guard_fence_01"] = %cap_s1_guard_fence_01; + level.scr_anim["exterior_ambient_guard"]["cap_s1_guard_fence_02"] = %cap_s1_guard_fence_02; + level.scr_anim["exterior_ambient_prisoner"]["cap_s1_prisoner_fence_01"] = %cap_s1_prisoner_fence_01; + level.scr_anim["exterior_ambient_prisoner"]["cap_s1_prisoner_fence_02"] = %cap_s1_prisoner_fence_02; + level.scr_anim["exterior_ambient_prisoner"]["cap_s1_prisoner_fence_03"] = %cap_s1_prisoner_fence_03; + level.scr_anim["exterior_ambient_prisoner"]["cap_s1_prisoner_fence_04"] = %cap_s1_prisoner_fence_04; + level.scr_anim["exterior_ambient_prisoner"]["cap_s1_prisoner_fence_05"] = %cap_s1_prisoner_fence_05; + level.scr_anim["exterior_ambient_prisoner"]["cap_s1_prisoner_fence_06"] = %cap_s1_prisoner_fence_06; + level.scr_anim["exterior_ambient_guard"]["s2_tower_guard_01"] = %s2_tower_guard_01; + level.scr_anim["exterior_ambient_guard"]["s2_tower_guard_02"] = %s2_tower_guard_02; + level.scr_anim["exterior_ambient_guard"]["s2_tower_guard_03"] = %s2_tower_guard_03; + level.scr_anim["exterior_ambient_guard"]["s2_tower_guard_04"] = %s2_tower_guard_04; + level.scr_anim["exterior_ambient_guard"]["s2_tower_guard_05"] = %s2_tower_guard_05; + level.scr_anim["exterior_ambient_guard"]["s2_tower_guard_06"] = %s2_tower_guard_06; + level.scr_anim["exterior_ambient_prisoner"]["cap_s1_elevator_prisoner_01"][0] = %cap_s1_elevator_prisoner_01; + level.scr_anim["exterior_ambient_prisoner"]["cap_s1_elevator_prisoner_02"][0] = %cap_s1_elevator_prisoner_02; + level.scr_anim["exterior_ambient_prisoner"]["cap_s1_elevator_prisoner_03"][0] = %cap_s1_elevator_prisoner_03; + level.scr_anim["exterior_ambient_prisoner"]["cap_s1_elevator_prisoner_04"][0] = %cap_s1_elevator_prisoner_04; + level.scr_anim["exterior_ambient_prisoner"]["cap_s1_elevator_prisoner_05"][0] = %cap_s1_elevator_prisoner_05; + level.scr_anim["exterior_ambient_prisoner"]["cap_s1_elevator_prisoner_06"][0] = %cap_s1_elevator_prisoner_06; + level.scr_anim["exterior_ambient_prisoner"]["cap_s1_elevator_prisoner_07"][0] = %cap_s1_elevator_prisoner_07; + level.scr_anim["exterior_ambient_prisoner"]["cap_s1_elevator_prisoner_08"][0] = %cap_s1_elevator_prisoner_08; + level.scr_anim["exterior_ambient_prisoner"]["cap_s1_elevator_prisoner_09"][0] = %cap_s1_elevator_prisoner_09; + level.scr_anim["exterior_ambient_prisoner"]["cap_s2_walk_beating_prisoner1"] = %cap_s2_walk_beating_prisoner1; + level.scr_anim["exterior_ambient_prisoner"]["cap_s2_walk_beating_prisoner2"] = %cap_s2_walk_beating_prisoner2; + level.scr_anim["exterior_ambient_prisoner"]["cap_s2_walk_stake_inmate_01"] = %cap_s2_walk_stake_inmate_01; + level.scr_anim["exterior_ambient_prisoner"]["cap_s2_walk_stake_inmate_02"] = %cap_s2_walk_stake_inmate_02; + level.scr_anim["exterior_ambient_prisoner"]["cap_s2_walk_stake_inmate_03"] = %cap_s2_walk_stake_inmate_03; + level.scr_anim["exterior_ambient_prisoner"]["cap_s2_walk_stake_inmate_04"] = %cap_s2_walk_stake_inmate_04; + level.scr_anim["exterior_ambient_prisoner"]["cap_s2_walk_kneeling_prisoner_01"] = %cap_s2_walk_kneeling_prisoner_01; + level.scr_anim["exterior_ambient_prisoner"]["cap_s2_walk_kneeling_prisoner_02"] = %cap_s2_walk_kneeling_prisoner_02; + level.scr_anim["exterior_ambient_prisoner"]["cap_s2_walk_kneeling_prisoner_03"] = %cap_s2_walk_kneeling_prisoner_03; + level.scr_anim["exterior_ambient_prisoner"]["cap_s2_walk_kneeling_prisoner_04"] = %cap_s2_walk_kneeling_prisoner_04; + level.scr_anim["exterior_ambient_prisoner"]["cap_s2_walk_kneeling_prisoner_05"] = %cap_s2_walk_kneeling_prisoner_05; + level.scr_anim["exterior_ambient_prisoner"]["cap_s2_walk_pitexecutions_01"] = %cap_s2_walk_pitexecutions_01; + level.scr_anim["exterior_ambient_prisoner"]["cap_s2_walk_pitexecutions_02"] = %cap_s2_walk_pitexecutions_02; + level.scr_anim["exterior_ambient_prisoner"]["cap_s2_walk_pitexecutions_03"] = %cap_s2_walk_pitexecutions_03; + level.scr_anim["exterior_ambient_prisoner"]["cap_s2_walk_pitexecutions_04"] = %cap_s2_walk_pitexecutions_04; + level.scr_anim["exterior_ambient_prisoner"]["cap_s2_walk_pitexecutions_05"] = %cap_s2_walk_pitexecutions_05; + level.scr_anim["exterior_ambient_prisoner"]["cap_s2_walk_pitexecutions_06"] = %cap_s2_walk_pitexecutions_06; + level.scr_anim["exterior_ambient_prisoner"]["cap_s2_walk_pitexecutions_07"] = %cap_s2_walk_pitexecutions_07; + level.scr_anim["exterior_ambient_prisoner"]["cap_s2_guard_immate_fight_pulling_prisoner"] = %cap_s2_guard_immate_fight_pulling_prisoner; + level.scr_anim["exterior_ambient_prisoner"]["cap_s2_prisoners_cages_idle_01"] = %cap_s2_prisoners_cages_idle_01; + level.scr_anim["exterior_ambient_prisoner"]["cap_s2_prisoners_cages_idle_02"] = %cap_s2_prisoners_cages_idle_02; + level.scr_anim["exterior_ambient_prisoner"]["cap_s2_prisoners_cages_idle_03"] = %cap_s2_prisoners_cages_idle_03; + level.scr_anim["exterior_ambient_prisoner"]["cap_s2_prisoners_cages_idle_04"] = %cap_s2_prisoners_cages_idle_04; + level.scr_anim["exterior_ambient_prisoner"]["cap_s2_prisoners_cages_idle_05"] = %cap_s2_prisoners_cages_idle_05; + level.scr_anim["exterior_ambient_prisoner"]["cap_s2_prisoners_cages_idle_06"] = %cap_s2_prisoners_cages_idle_06; + level.scr_anim["exterior_ambient_prisoner"]["cap_s2_prisoners_cages_idle_07"] = %cap_s2_prisoners_cages_idle_07; + level.scr_anim["exterior_ambient_prisoner"]["cap_s2_prisoners_cages_idle_08"] = %cap_s2_prisoners_cages_idle_08; + level.scr_anim["exterior_ambient_prisoner"]["cap_s2_prisoners_cages_idle_09"] = %cap_s2_prisoners_cages_idle_09; + level.scr_animtree["exterior_ambient_guard"] = #animtree; + level.scr_model["exterior_ambient_guard"] = "atlas_body"; + level.scr_anim["exterior_ambient_guard"]["cap_s1_guard_club_01"] = %cap_s1_guard_club_01; + level.scr_anim["exterior_ambient_guard"]["cap_s1_guard_club_02"] = %cap_s1_guard_club_02; + level.scr_anim["exterior_ambient_guard"]["cap_s1_guard_club_03"] = %cap_s1_guard_club_03; + level.scr_anim["exterior_ambient_guard"]["cap_s1_guard_club_04"] = %cap_s1_guard_club_04; + level.scr_anim["exterior_ambient_guard"]["cap_s1_beating_guard_01"] = %cap_s1_beating_guard_01; + level.scr_anim["exterior_ambient_guard"]["cap_s1_beating_guard_02"] = %cap_s1_beating_guard_02; + level.scr_anim["exterior_ambient_guard"]["cap_s1_beating_guard_03"] = %cap_s1_beating_guard_03; + level.scr_anim["exterior_ambient_guard"]["cap_s1_guard_fence_01"] = %cap_s1_guard_fence_01; + level.scr_anim["exterior_ambient_guard"]["cap_s1_guard_fence_02"] = %cap_s1_guard_fence_02; + level.scr_anim["exterior_ambient_guard"]["s2_gate_guard_gun_up_loop_02"][0] = %s2_gate_guard_gun_up_loop_02; + level.scr_anim["exterior_ambient_guard"]["s2_gatehouse_guard_gun_down_loop_02"][0] = %s2_gatehouse_guard_gun_down_loop_02; + level.scr_anim["exterior_ambient_guard"]["s2_tower_guard_walking_loop_01"][0] = %s2_tower_guard_walking_loop_01; + level.scr_anim["exterior_ambient_guard"]["s2_tower_guard_walking_loop_02"][0] = %s2_tower_guard_walking_loop_02; + level.scr_anim["exterior_ambient_guard"]["cap_s2_walk_beating_guard1"] = %cap_s2_walk_beating_guard1; + level.scr_anim["exterior_ambient_guard"]["cap_s2_walk_beating_guard2"] = %cap_s2_walk_beating_guard2; + level.scr_anim["exterior_ambient_guard"]["cap_s2_walk_guard_catwalks_1"] = %cap_s2_walk_guard_catwalks_1; + level.scr_anim["exterior_ambient_guard"]["cap_s2_walk_kneeling_guard_01"] = %cap_s2_walk_kneeling_guard_01; + level.scr_anim["exterior_ambient_guard"]["cap_s2_walk_kneeling_guard_02"] = %cap_s2_walk_kneeling_guard_02; + level.scr_anim["exterior_ambient_guard"]["cap_s2_walk_guard_catwalkcells_01"] = %cap_s2_walk_guard_catwalkcells_01; + level.scr_anim["exterior_ambient_guard"]["cap_s2_walk_guard_alertwatch_01"] = %cap_s2_walk_guard_alertwatch_01; + level.scr_anim["exterior_ambient_guard"]["cap_s2_walk_guard_watchtheline_01"] = %cap_s2_walk_guard_watchtheline_01; + level.scr_anim["exterior_ambient_guard"]["cap_s2_walk_guard_keepitmoving_01"] = %cap_s2_walk_guard_keepitmoving_01; + level.scr_anim["exterior_ambient_guard"]["cap_s2_walk_guard_walklook_01"] = %cap_s2_walk_guard_walklook_01; + level.scr_anim["exterior_ambient_guard"]["cap_s2_walk_guard_watchtheline_02"] = %cap_s2_walk_guard_watchtheline_02; + level.scr_anim["exterior_ambient_guard"]["cap_s2_walk_s1_guard_start_01"] = %cap_s2_walk_s1_guard_start_01; + level.scr_anim["exterior_ambient_guard"]["cap_s2_walk_s1_guard_start_02"] = %cap_s2_walk_s1_guard_start_02; + level.scr_anim["exterior_ambient_guard"]["cap_s2_walk_guard_door_01"] = %cap_s2_walk_guard_door_01; + level.scr_anim["exterior_ambient_guard"]["cap_s2_guard_immate_fight_pulling_guard"] = %cap_s2_guard_immate_fight_pulling_guard; + level.scr_anim["exterior_ambient_guard"]["s2_execution_guard_01"] = %s2_execution_guard_01; + level.scr_anim["exterior_ambient_guard"]["s2_execution_guard_02"] = %s2_execution_guard_02; + level.scr_anim["exterior_ambient_guard"]["s2_execution_guard_03"] = %s2_execution_guard_03; + level.scr_anim["exterior_ambient_guard"]["s2_execution_guard_04"] = %s2_execution_guard_04; + level.scr_anim["exterior_ambient_guard"]["s2_gate_guard_01"] = %s2_gate_guard_01; + level.scr_anim["exterior_ambient_guard"]["s2_gate_guard_02"] = %s2_gate_guard_02; + level.scr_animtree["intro_truck"] = #animtree; + level.scr_anim["intro_truck"]["introdrive_truckopen"] = %cap_s1_drive_truck; + level.scr_animtree["s2_walking_node"] = #animtree; + level.scr_model["s2_walking_node"] = "empty_model"; + level.scr_anim["s2_walking_node"]["s2walk"] = %cap_s2_walk_player_walking_node; + level.scr_animtree["trolley_guard_door_1"] = #animtree; + level.scr_model["trolley_guard_door_1"] = "cpt_hinge_door_rght_01"; + level.scr_anim["trolley_guard_door_1"]["s2walk_intro_trolley"] = %cap_s2_zip_into_trolley_door_01; + level.scr_animtree["trolley_guard_door_2"] = #animtree; + level.scr_model["trolley_guard_door_2"] = "cpt_hinge_door_rght_01"; + level.scr_anim["trolley_guard_door_2"]["s2walk_intro_trolley"] = %cap_s2_zip_into_trolley_door_02; + level.scr_animtree["trolley_gate"] = #animtree; + level.scr_model["trolley_gate"] = "cpt_sliding_elevator_door_01"; + level.scr_anim["trolley_gate"]["s2walk_intro_trolley"] = %cap_s2_zip_into_trolley_gate_01; + level.scr_animtree["trolley_zip_1"] = #animtree; + level.scr_model["trolley_zip_1"] = "weapon_carabiner_thin_rope2"; + level.scr_anim["trolley_zip_1"]["s2walk_intro_trolley"] = %cap_s2_trolley_zipline_01; + level.scr_animtree["trolley_zip_2"] = #animtree; + level.scr_model["trolley_zip_2"] = "weapon_carabiner_thin_rope2"; + level.scr_anim["trolley_zip_2"]["s2walk_intro_trolley"] = %cap_s2_trolley_zipline_02; + level.scr_animtree["trolley_zip_3"] = #animtree; + level.scr_model["trolley_zip_3"] = "weapon_carabiner_thin_rope2"; + level.scr_anim["trolley_zip_3"]["s2walk_intro_trolley"] = %cap_s2_trolley_zipline_03; + level.scr_animtree["trolley_zip_4"] = #animtree; + level.scr_model["trolley_zip_4"] = "weapon_carabiner_thin_rope2"; + level.scr_anim["trolley_zip_4"]["s2walk_intro_trolley"] = %cap_s2_trolley_zipline_04; + level.scr_animtree["trolley_syringe"] = #animtree; + level.scr_model["trolley_syringe"] = "weapon_syringe"; + level.scr_anim["trolley_syringe"]["s2walk_intro_trolley"] = %cap_s2_trolley_syringe_01; + level.scr_animtree["stockade_01"] = #animtree; + level.scr_model["stockade_01"] = "cpt_stockade_post_01"; + level.scr_anim["stockade_01"]["s3_interrogation"] = %cap_s3_interrogation_stockade_01; + level.scr_animtree["stockade_02"] = #animtree; + level.scr_model["stockade_02"] = "cpt_stockade_post_01"; + level.scr_anim["stockade_02"]["s3_interrogation"] = %cap_s3_interrogation_stockade_02; + level.scr_animtree["torque_wrench"] = #animtree; + level.scr_model["torque_wrench"] = "cpt_medical_torque_wrench_01"; + level.scr_anim["torque_wrench"]["s3_interrogation"] = %cap_s3_interrogation_wrench_01; + level.scr_animtree["breakout_window_1"] = #animtree; + level.scr_model["breakout_window_1"] = "cpt_interrogation_window_shatter_anim_01"; + level.scr_anim["breakout_window_1"]["s3_breakout_break"] = %cap_interrogation_window_01; + level.scr_animtree["breakout_window_2"] = #animtree; + level.scr_model["breakout_window_2"] = "cpt_interrogation_window_shatter_anim_02"; + level.scr_anim["breakout_window_2"]["s3_breakout_break"] = %cap_interrogation_window_02; + level.scr_anim["stockade_01"]["s3_breakout"] = %cap_s3_rescue_stockade_01; + level.scr_anim["stockade_02"]["s3_breakout"] = %cap_s3_rescue_stockade_02; + level.scr_animtree["escape_bodybag"] = #animtree; + level.scr_model["escape_bodybag"] = "cap_hanging_bodybag"; + level.scr_anim["escape_bodybag"]["s3escape_doctor_scene"] = %cap_s3_escape_doc_push_body; + level.scr_animtree["escape_clipboard"] = #animtree; + level.scr_model["escape_clipboard"] = "det_patient_chart_01"; + level.scr_anim["escape_clipboard"]["s3escape_doctor_scene"] = %cap_s3_escape_doc_push_clip; + level.scr_animtree["takedown_chair"] = #animtree; + level.scr_model["takedown_chair"] = "cap_lab_chair"; + level.scr_anim["takedown_chair"]["s3escape_takedown"] = %cap_s3_escape_takedown_chair_01; + level.scr_anim["takedown_chair"]["s3escape_hallway_end_loop"][0] = %cap_s3_escape_takedown_chair_01_doorloop; + level.scr_animtree["takedown_door"] = #animtree; + level.scr_model["takedown_door"] = "cpt_hinge_door_rght_01"; + level.scr_anim["takedown_door"]["s3escape_takedown"] = %cap_s3_escape_takedown_door_01; + level.scr_animtree["takedown_monitor"] = #animtree; + level.scr_model["takedown_monitor"] = "fus_control_monitor_01"; + level.scr_anim["takedown_monitor"]["s3escape_takedown"] = %cap_s3_escape_takedown_monitor_01; + level.scr_animtree["takedown_gun"] = #animtree; + level.scr_model["takedown_gun"] = "vm_titan45_nocamo"; + level.scr_anim["takedown_gun"]["s3escape_takedown"] = %cap_s3_escape_takedown_gun_01; + level.scr_animtree["takedown_gun_gideon"] = #animtree; + level.scr_model["takedown_gun_gideon"] = "npc_hmr9_nocamo"; + level.scr_anim["takedown_gun_gideon"]["s3escape_takedown"] = %cap_s3_escape_takedown_hmr9_01; + level.scr_anim["takedown_gun_gideon"]["s3escape_takedown_gun_help"] = %cap_s3_escape_takedown_hmr9_01_help; + level.scr_animtree["controlroom_entrance_door"] = #animtree; + level.scr_model["controlroom_entrance_door"] = "cpt_security_door_01"; + level.scr_anim["controlroom_entrance_door"]["s3escape_takedown"] = %cap_s3_escape_takedown_door_02; + level.scr_animtree["controlroom_guard_door"] = #animtree; + level.scr_anim["controlroom_guard_door"]["s3escape_controlroom_attack"] = %cap_s3_escape_controlroom_door_02; + level.scr_animtree["controlroom_exit_door"] = #animtree; + level.scr_anim["controlroom_exit_door"]["s3escape_controlroom_exit"] = %cap_s3_escape_controlroom_door_01; + level.scr_animtree["controlroom_console"] = #animtree; + level.scr_anim["controlroom_console"]["s3escape_controlroom_console"] = %cap_s3_escape_controlroom_console_01; + level.scr_animtree["tc_stairs_door_1"] = #animtree; + level.scr_model["tc_stairs_door_1"] = "cpt_hinge_door_lft_01"; + level.scr_anim["tc_stairs_door_1"]["tc_stairs"] = %cap_s3_stairclimb_door_01; + level.scr_animtree["tc_stairs_door_2"] = #animtree; + level.scr_model["tc_stairs_door_2"] = "cpt_hinge_door_rght_01"; + level.scr_anim["tc_stairs_door_2"]["tc_stairs"] = %cap_s3_stairclimb_door_02; + level.scr_animtree["observation_chair_1"] = #animtree; + level.scr_model["observation_chair_1"] = "cap_lab_chair"; + level.scr_anim["observation_chair_1"]["tc_melee"] = %cap_s3_observation_tech_02_intro_chair; + level.scr_anim["observation_chair_1"]["tc_scientist_1_loop"][0] = %cap_s3_observation_tech_02_loop_chair; + level.scr_anim["observation_chair_1"]["tc_scientist_1_death"] = %cap_s3_observation_tech_02_death_chair; + level.scr_animtree["observation_chair_2"] = #animtree; + level.scr_model["observation_chair_2"] = "cap_lab_chair"; + level.scr_anim["observation_chair_2"]["tc_melee"] = %cap_s3_observation_tech_03_intro_chair; + level.scr_anim["observation_chair_2"]["tc_scientist_2_loop"][0] = %cap_s3_observation_tech_03_loop_chair; + level.scr_anim["observation_chair_2"]["tc_scientist_2_death"] = %cap_s3_observation_tech_03_death_chair; + level.scr_animtree["tc_bodybag_1"] = #animtree; + level.scr_model["tc_bodybag_1"] = "cap_hanging_bodybag"; + level.scr_anim["tc_bodybag_1"]["tc_enter_test"] = %cap_s3_test_chamber_app_body1_03; + level.scr_animtree["tc_bodybag_2"] = #animtree; + level.scr_model["tc_bodybag_2"] = "cap_hanging_bodybag"; + level.scr_anim["tc_bodybag_2"]["tc_enter_test"] = %cap_s3_test_chamber_app_body2_03; + level.scr_animtree["tcah_door_r"] = #animtree; + level.scr_animtree["tcah_door_l"] = #animtree; + level.scr_model["tcah_door_r"] = "cpt_hinge_door_rght_01"; + level.scr_model["tcah_door_l"] = "cpt_hinge_door_lft_01"; + level.scr_anim["tcah_door_r"]["tc_enter_test_exit_door"] = %cap_s3_test_chamber_app_door_rt_04; + level.scr_anim["tcah_door_l"]["tc_enter_test_exit_door"] = %cap_s3_test_chamber_app_door_lft_04; + level.scr_animtree["autopsy_door"] = #animtree; + level.scr_anim["autopsy_door"]["autopsy_door"] = %cap_s3_autopsy_door_lt; + level.scr_animtree["autopsy_door_rt"] = #animtree; + level.scr_anim["autopsy_door_rt"]["autopsy_door"] = %cap_s3_autopsy_door_rt; + level.scr_animtree["autopsy_gun"] = #animtree; + level.scr_model["autopsy_gun"] = "npc_titan45_base"; + level.scr_anim["autopsy_gun"]["autopsy_doctor_grabgun"] = %cap_s3_autopsydoc_grabgun_gun; + level.scr_anim["autopsy_gun"]["autopsy_doctor_grabgun_loop"][0] = %cap_s3_autopsydoc_loop2_gun; + level.scr_anim["autopsy_gun"]["autopsy_doctor_door_open"] = %cap_s3_autopsydoc_opendoor_gun; + level.scr_animtree["autopsy_doc_doors"] = #animtree; + level.scr_model["autopsy_doc_doors"] = "cpt_autopsy_sliding_doors"; + level.scr_anim["autopsy_doc_doors"]["autopsy_doctor_door_open"] = %cap_s3_autopsydoc_opendoor_slidingdoors; + level.scr_animtree["autopsy_hatch"] = #animtree; + level.scr_model["autopsy_hatch"] = "incinerator_hatch_animated"; + level.scr_anim["autopsy_hatch"]["autopsy_doctor_door_open"] = %cap_s3_autopsydoc_opendoor_hatch; + level.scr_anim["autopsy_hatch"]["autopsy_doctor_hatch_open_jump"] = %cap_s3_autopsydoc_hatch_end; + level.scr_anim["autopsy_hatch"]["autopsy_doctor_player_jump"] = %cap_s3_autopsydoc_hatch; + level.scr_animtree["cart_1"] = #animtree; + level.scr_model["cart_1"] = "ash_cart"; + level.scr_animtree["cart_2"] = #animtree; + level.scr_model["cart_2"] = "ash_cart"; + level.scr_animtree["grate"] = #animtree; + level.scr_model["grate"] = "cap_incinerator_gate"; + level.scr_anim["cart_1"]["incinerator_push"] = %cap_incinerator_push_cart_01; + level.scr_anim["cart_2"]["incinerator_push"] = %cap_incinerator_push_cart_02; + level.scr_anim["grate"]["incinerator_push"] = %cap_incinerator_push_gate; + level.scr_animtree["incinerator_pipe"] = #animtree; + level.scr_model["incinerator_pipe"] = "cap_incinerator_pipe"; + level.scr_anim["incinerator_pipe"]["incinerator_crawl"] = %cap_incinerator_crawl_pipe; + level.scr_animtree["runtoheli_door"] = #animtree; + level.scr_anim["runtoheli_door"]["runtoheli_door_kick"] = %cap_s3_manticore_window_door_03; + level.scr_animtree["heli_mech"] = #animtree; + level.scr_model["heli_mech"] = "playermech_animated_model_top"; + level.scr_anim["heli_mech"]["warbird_scene"] = %cap_vtol_battle_crash_mech; + maps\_anim::addnotetrack_customfunction("heli_mech","link",::maps\captured_facility::nt_warbird_mech_link,"warbird_scene"); + level.scr_animtree["mech_opfor"] = #animtree; + level.scr_anim["mech_opfor"]["anim_mech_wakeup"] = %cap_s1_escape_mech_crash_wakeup_opfor; + level.scr_anim["mech_opfor"]["mech_enter"] = %cap_playermech_getinto_mech_opfor; + level.scr_animtree["debris"] = #animtree; + level.scr_model["debris"] = "roadpanels_smartdebris_b"; + level.scr_anim["debris"]["anim_mech_wakeup"] = %cap_s1_escape_mech_crash_wakeup_debris; + level.scr_animtree["rocks"] = #animtree; + level.scr_model["rocks"] = "cpt_s1_crash_debris"; + level.scr_anim["rocks"]["anim_mech_wakeup"] = %cap_s1_escape_mech_crash_wakeup_sml_debris; + level.scr_animtree["warbird_rotor"] = #animtree; + level.scr_anim["warbird_rotor"]["anim_mech_wakeup"] = %cap_s1_escape_mech_crash_wakeup_rotor; + level.scr_animtree["mech_handle"] = #animtree; + level.scr_model["mech_handle"] = "cpt_mechsuit_handle_01"; + level.scr_anim["mech_handle"]["anim_mech_wakeup"] = %cap_s1_escape_mech_crash_wakeup_handle; + level.scr_anim["mech_handle"]["mech_enter"] = %cap_playermech_getinto_mech_handle; +} + +//Function Number: 5 +vehicle_anims() +{ + level.scr_animtree["warbird"] = #animtree; + level.scr_anim["warbird"]["warbird_scene"] = %cap_vtol_battle_crash_vtol; + maps\_anim::addnotetrack_customfunction("warbird","exp",::maps\captured_fx::fx_heli_aa_explosion,"warbird_scene"); + level.scr_animtree["exit_truck"] = #animtree; + if(!level.currentgen) + { + level.scr_model["exit_truck"] = "vehicle_mil_cargo_truck_captured_ai"; + } + else + { + level.scr_model["exit_truck"] = "vehicle_mil_cargo_truck_captured_cghi_ai"; + } + + level.scr_anim["exit_truck"]["anim_exit"] = %cap_s1_escape_mech_gate_lift_exit_truck; + level.scr_animtree["exit_helo_0"] = #animtree; + level.scr_animtree["exit_helo_1"] = #animtree; + level.scr_animtree["exit_helo_2"] = #animtree; + level.scr_animtree["exit_helo_3"] = #animtree; + level.scr_animtree["exit_helo_4"] = #animtree; + level.scr_animtree["exit_helo_5"] = #animtree; + level.scr_animtree["exit_helo_6"] = #animtree; + level.scr_model["exit_helo_0"] = "vehicle_mil_v32_razorback"; + level.scr_model["exit_helo_1"] = "vehicle_mil_v32_razorback"; + level.scr_model["exit_helo_2"] = "vehicle_mil_v32_razorback"; + level.scr_model["exit_helo_3"] = "vehicle_mil_v32_razorback"; + level.scr_model["exit_helo_4"] = "vehicle_mil_v32_razorback"; + level.scr_model["exit_helo_5"] = "vehicle_mil_v32_razorback"; + level.scr_model["exit_helo_6"] = "vehicle_mil_v32_razorback"; + level.scr_anim["exit_helo_0"]["end_escape"] = %cap_s1_escape_mech_door_lift_exit_end_razorback_01; + level.scr_anim["exit_helo_1"]["end_escape"] = %cap_s1_escape_mech_door_lift_exit_end_razorback_02; + level.scr_anim["exit_helo_2"]["end_escape"] = %cap_s1_escape_mech_door_lift_exit_end_razorback_03; + level.scr_anim["exit_helo_3"]["end_escape"] = %cap_s1_escape_mech_door_lift_exit_end_razorback_04; + level.scr_anim["exit_helo_4"]["end_escape"] = %cap_s1_escape_mech_door_lift_exit_end_razorback_05; + level.scr_anim["exit_helo_5"]["end_escape"] = %cap_s1_escape_mech_door_lift_exit_end_razorback_06; + level.scr_anim["exit_helo_6"]["end_escape"] = %cap_s1_escape_mech_door_lift_exit_end_razorback_07; + level.scr_anim["exit_truck"]["end_escape"] = %cap_s1_escape_mech_door_lift_exit_end_truck; +} + +//Function Number: 6 +captured_ambient_animation_setup(param_00) +{ + var_01 = common_scripts\utility::getstructarray(param_00,"script_noteworthy"); + if(isdefined(var_01)) + { + foreach(var_03 in var_01) + { + if(isdefined(var_03.script_stance)) + { + var_04 = getentarray(var_03.script_stance,"targetname"); + if(!isdefined(var_04[0])) + { + iprintln("Mover used in captured_anim::captured_anbient_animation_setup() is compiled out?"); + return; + } + + var_05 = spawn("script_origin",var_03.origin); + var_05 linkto(var_04[0]); + var_05 thread captured_ambient_animation_function(param_00,var_03); + continue; + } + + var_03 thread captured_ambient_animation_function(param_00); + } + } +} + +//Function Number: 7 +captured_ambient_animation_function(param_00,param_01) +{ + var_02 = "non_prisoner"; + var_03 = undefined; + var_04 = 3; + var_05 = 6; + var_06 = 9; + if(param_00 == "exterior_ambient_prisoner") + { + if(level.prisoner_randomizer.size == 0) + { + if(level.currentgen) + { + level.prisoner_randomizer = [1,2,3,4,5,6]; + } + else + { + level.prisoner_randomizer = [1,2,3,4,5,6,7,8,9]; + } + } + + if(level.currentgen) + { + var_04 = 2; + var_05 = 4; + var_06 = 6; + } + + var_07 = common_scripts\utility::random(level.prisoner_randomizer); + if(var_07 <= var_04) + { + var_02 = "cau"; + var_03 = var_04 - var_07; + } + else if(var_07 <= var_05) + { + var_02 = "dark"; + var_03 = var_05 - var_07; + } + else if(var_07 > var_05) + { + var_02 = "mde"; + var_03 = var_06 - var_07; + } + + level.prisoner_randomizer = common_scripts\utility::array_remove(level.prisoner_randomizer,var_07); + } + + var_08 = []; + var_09 = []; + if(level.currentgen) + { + precachemodel("head_m_gen_afr_craig_cpt"); + precachemodel("head_m_act_cau_manasi_base_cpt"); + precachemodel("head_m_gen_afr_davis_cpt"); + precachemodel("head_m_gen_mde_hanks_cpt"); + } + + switch(var_02) + { + case "cau": + var_08 = ["civ_prisoner_atlas_body","civ_prisoner_atlas_body_b"]; + if(level.currentgen) + { + var_09 = ["head_m_act_cau_kanik_base","head_m_act_cau_manasi_base_cpt"]; + } + else + { + var_09 = ["head_m_act_cau_kanik_base","head_m_act_cau_manasi_base","head_m_gen_cau_anderson"]; + } + break; + + case "dark": + var_08 = ["civ_prisoner_atlas_body_afr_dark","civ_prisoner_atlas_body_b_afr_dark"]; + if(level.currentgen) + { + var_09 = ["head_m_gen_afr_davis_cpt","head_m_gen_afr_craig_cpt"]; + } + else + { + var_09 = ["head_m_gen_afr_davis","head_m_gen_afr_craig","head_m_act_afr_adams_base"]; + } + break; + + case "mde": + var_08 = ["civ_prisoner_atlas_body_b_mde","civ_prisoner_atlas_body_mde"]; + if(level.currentgen) + { + var_09 = ["head_m_gen_mde_hanks_cpt","head_m_gen_mde_urena"]; + } + else + { + var_09 = ["head_m_gen_mde_hanks","head_m_gen_mde_urena","head_m_gen_mde_smith"]; + } + break; + + case "non_prisoner": + break; + } + + var_0A = ["atlas_body"]; + var_0B = ["atlas_head_b","atlas_head_c","atlas_head_d","atlas_head_e"]; + var_0C = "npc_exo_armor_base"; + var_0D = "npc_exo_armor_atlas_head"; + var_0E = undefined; + var_0F = undefined; + var_10 = undefined; + var_11 = undefined; + var_12 = undefined; + var_13 = undefined; + if(isdefined(param_01)) + { + var_12 = param_01; + var_13 = self; + } + else + { + var_12 = self; + } + + switch(param_00) + { + case "exterior_ambient_prisoner": + var_0E = common_scripts\utility::random(var_08); + var_0F = var_09[var_03]; + var_10 = "exterior_ambient_prisoner"; + break; + + case "exterior_ambient_guard": + var_0E = common_scripts\utility::random(var_0A); + var_0F = common_scripts\utility::random(var_0B); + var_10 = "exterior_ambient_guard"; + var_11 = "npc_hmr9_nocamo"; + break; + + case "exterior_ambient_mech": + var_0E = var_0C; + var_0F = var_0D; + var_10 = "exterior_ambient_mech"; + break; + } + + var_14 = getent(var_12.targetname,"target"); + var_14 waittill("trigger"); + var_15 = spawn("script_model",var_12.origin); + var_15 setmodel(var_0E); + var_15 attach(var_0F); + var_15.angles = var_12.angles; + var_15.animname = var_10; + var_15 maps\_utility::assign_animtree(); + var_16 = 0; + var_17 = 0; + if(isdefined(var_12.script_side)) + { + var_18 = getanimlength(level.scr_anim[var_10][var_12.animation][0]); + } + else + { + var_18 = getanimlength(var_16 maps\_utility::getanim(var_13.animation)); + } + + if(isdefined(var_12.script_index)) + { + var_17 = 0.01 * var_12.script_index; + } + + if(isdefined(var_12.script_count)) + { + var_16 = var_12.script_count; + } + + if(isdefined(var_12.script_parameters)) + { + var_18 = var_12.script_parameters; + } + + if(isdefined(var_11)) + { + if(isdefined(var_12.script_nodestate)) + { + var_15 attach(var_11,"tag_stowed_back"); + } + else + { + var_15 attach(var_11,"tag_weapon_right"); + } + } + + if(isdefined(var_12.script_group)) + { + var_15 attach("s1_captured_handcuffs","tag_weapon_left"); + } + + if(!isdefined(var_12.script_side)) + { + if(isdefined(var_12.script_stance)) + { + var_13 maps\_anim::anim_first_frame_solo(var_15,var_12.animation); + } + else + { + var_12 maps\_anim::anim_first_frame_solo(var_15,var_12.animation); + } + } + + wait(var_16); + soundscripts\_snd::snd_message("aud_ambient_animations",var_12.animation); + if(isdefined(var_12.script_side)) + { + var_15 common_scripts\utility::delaycall(0.05,::setanimtime,level.scr_anim[var_10][var_12.animation][0],var_17); + } + else + { + var_15 common_scripts\utility::delaycall(0.05,::setanimtime,level.scr_anim[var_10][var_12.animation],var_17); + } + + var_19 = undefined; + if(isdefined(var_12.script_side)) + { + if(isdefined(var_12.script_stance)) + { + var_15 linkto(var_13); + var_13 thread maps\_anim::anim_loop_solo(var_15,var_12.animation,var_12.script_side); + level waittill(var_12.script_side); + var_13 notify(var_12.script_side); + } + else + { + var_12 thread maps\_anim::anim_loop_solo(var_15,var_12.animation,var_12.script_side); + level waittill(var_12.script_side); + var_12 notify(var_12.script_side); + } + } + else + { + if(isdefined(var_12.script_stance)) + { + var_15 linkto(var_13); + var_13 thread maps\_anim::anim_single_solo(var_15,var_12.animation); + var_1A = getanimlength(var_15 maps\_utility::getanim(var_12.animation)); + if(isdefined(var_12.script_animation)) + { + var_19 = var_12.script_animation; + } + else + { + var_19 = "default"; + } + + level maps\_utility::wait_for_notify_or_timeout(var_19,var_1A); + } + else + { + var_12 thread maps\_anim::anim_single_solo(var_15,var_12.animation); + } + + var_1A = getanimlength(var_15 maps\_utility::getanim(var_12.animation)); + if(isdefined(var_12.script_animation)) + { + var_19 = var_12.script_animation; + } + else + { + var_19 = "default"; + } + + level maps\_utility::wait_for_notify_or_timeout(var_19,var_1A); + } + + if(isdefined(var_12.script_stance)) + { + var_13 delete(); + } + + var_15 delete(); +} + +//Function Number: 8 +anim_single_to_loop(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = self; + if(isdefined(param_04)) + { + param_04 endon(param_03); + } + else + { + var_05 endon(param_03); + } + + if(isarray(param_00)) + { + foreach(var_07 in param_00) + { + if(isai(var_07)) + { + if(isalive(var_07)) + { + var_05 thread anim_single_to_loop_solo(var_07,param_01,param_02,param_03,param_04); + } + + continue; + } + + var_05 thread anim_single_to_loop_solo(var_07,param_01,param_02,param_03,param_04); + } + + return; + } + + var_07 = param_01; + if(isai(var_07)) + { + if(isalive(var_07)) + { + var_05 thread anim_single_to_loop_solo(var_07,param_01,param_02,param_03,param_04); + return; + } + + return; + } + + var_05 thread anim_single_to_loop_solo(var_07,param_01,param_02,param_03,param_04); +} + +//Function Number: 9 +anim_single_to_loop_solo(param_00,param_01,param_02,param_03,param_04) +{ + if(isai(param_00)) + { + param_00 endon("death"); + } + + var_05 = self; + if(isdefined(param_04)) + { + param_04 endon(param_03); + } + else if(isdefined(param_03)) + { + var_05 endon(param_03); + } + + if(isdefined(param_00)) + { + if(!isremovedentity(param_00)) + { + var_05 maps\_anim::anim_single_solo(param_00,param_01); + if(isdefined(param_04)) + { + var_05 = param_04; + } + + var_05 thread maps\_anim::anim_loop_solo(param_00,param_02,param_03); + } + } +} + +//Function Number: 10 +anim_single_to_delete(param_00,param_01) +{ + var_02 = self; + foreach(var_04 in param_00) + { + var_02 thread anim_single_to_delete_solo(var_04,param_01); + } +} + +//Function Number: 11 +anim_single_to_delete_solo(param_00,param_01,param_02) +{ + var_03 = self; + var_03 maps\_anim::anim_single_solo(param_00,param_01); + param_00 delete(); +} \ No newline at end of file diff --git a/AW/PC/maps/captured_aud.gsc b/AW/PC/maps/captured_aud.gsc new file mode 100644 index 0000000..32b9aab --- /dev/null +++ b/AW/PC/maps/captured_aud.gsc @@ -0,0 +1,3226 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: captured_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 272 + * Decompile Time: 3988 ms + * Timestamp: 4/22/2024 2:26:09 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + config_system(); + init_snd_flags(); + init_globals(); + launch_threads(); + launch_loops(); + create_level_envelop_arrays(); + precache_presets(); + register_snd_messages(); +} + +//Function Number: 2 +config_system() +{ + soundscripts\_audio::set_stringtable_mapname("shg"); + soundscripts\_snd_filters::snd_set_occlusion("med_occlusion"); +} + +//Function Number: 3 +init_snd_flags() +{ + common_scripts\utility::flag_init("flag_stop_caravan_sfx"); + common_scripts\utility::flag_init("flag_stop_intro_music"); + common_scripts\utility::flag_init("flag_start_interrogation_music_pt2"); +} + +//Function Number: 4 +init_globals() +{ + level.incin_amb = spawn("script_origin",(0,0,0)); + level.aud.incin_close = spawn("script_origin",(0,0,3)); + level.aud.cart_push = spawn("script_origin",(0,0,2)); + level.aud.cart_push2 = spawn("script_origin",(0,0,2)); + level.aud.cart = spawn("script_origin",(0,0,1)); + level.aud.cart_first_time = 1; + level.aud.flame_loop = 0; + level.aud.flame_loop2 = 0; + level.aud.limp_footsteps = 0; + level.aud.s2_walk_footsteps = 0; + level.aud.mech_error_timeout = 0; + level.aud.cell_prisoners_trig = 0; + level.aud.incin_burst = spawn("script_origin",(7986,-13424,-1675)); + level.aud.incin_burst2 = spawn("script_origin",(7851,-13394,-1685)); + level.aud.living_gate = 0; +} + +//Function Number: 5 +launch_threads() +{ + if(soundscripts\_audio::aud_is_specops()) + { + return; + } + + thread aud_captured_foley_override_handler(); + thread aud_captured_setup_anims(); + var_00 = getent("trigger_darkness","targetname"); + var_00 thread trigger_darkness(); +} + +//Function Number: 6 +launch_loops() +{ +} + +//Function Number: 7 +create_level_envelop_arrays() +{ + level.aud.envs = []; + level.aud.envs["example_envelop"] = [[0,0],[0.082,0.426],[0.238,0.736],[0.408,0.844],[0.756,0.953],[1,1]]; +} + +//Function Number: 8 +precache_presets() +{ +} + +//Function Number: 9 +register_snd_messages() +{ + soundscripts\_snd::snd_register_message("snd_zone_handler",::zone_handler); + soundscripts\_snd::snd_register_message("snd_music_handler",::music_handler); + soundscripts\_snd::snd_register_message("start_intro_drive",::start_intro_drive); + soundscripts\_snd::snd_register_message("start_s1_elevator",::start_s1_elevator); + soundscripts\_snd::snd_register_message("start_s2_walk",::start_s2_walk); + soundscripts\_snd::snd_register_message("start_escape",::start_escape); + soundscripts\_snd::snd_register_message("start_s2_elevator",::start_s2_elevator); + soundscripts\_snd::snd_register_message("start_test_chamber",::start_test_chamber); + soundscripts\_snd::snd_register_message("start_halls_to_autopsy",::start_halls_to_autopsy); + soundscripts\_snd::snd_register_message("start_trolley",::start_trolley); + soundscripts\_snd::snd_register_message("start_battle_to_heli",::start_battle_to_heli); + soundscripts\_snd::snd_register_message("aud_intro_heli_flyover",::aud_intro_heli_flyover); + soundscripts\_snd::snd_register_message("scn_truck_sounds",::scn_truck_sounds); + soundscripts\_snd::snd_register_message("entrance_alarm",::entrance_alarm); + soundscripts\_snd::snd_register_message("entrance_alarm_fast2",::entrance_alarm_fast2); + soundscripts\_snd::snd_register_message("entrance_alarm_fast",::entrance_alarm_fast); + soundscripts\_snd::snd_register_message("entrance_vo_01",::entrance_vo_01); + soundscripts\_snd::snd_register_message("entrance_vo_03",::entrance_vo_03); + soundscripts\_snd::snd_register_message("aud_intro_caravan_passby",::aud_intro_caravan_passby); + soundscripts\_snd::snd_register_message("aud_intro_caravan_mute",::aud_intro_caravan_mute); + soundscripts\_snd::snd_register_message("aud_intro_caravan_unmute",::aud_intro_caravan_unmute); + soundscripts\_snd::snd_register_message("aud_mech_idle_sfx",::aud_mech_idle_sfx); + soundscripts\_snd::snd_register_message("aud_intro_to_elev_walla",::aud_intro_to_elev_walla); + soundscripts\_snd::snd_register_message("aud_stop_cormack_foley",::aud_stop_cormack_foley); + soundscripts\_snd::snd_register_message("s2_elevator_door_open_top",::s2_elevator_door_open_top); + soundscripts\_snd::snd_register_message("s2_elevator_ride_down",::s2_elevator_ride_down); + soundscripts\_snd::snd_register_message("s2_elevator_door_open",::s2_elevator_door_open); + soundscripts\_snd::snd_register_message("s2_elevator_door_close",::s2_elevator_door_close); + soundscripts\_snd::snd_register_message("aud_s2walk_trigger_start",::aud_s2walk_trigger_start); + soundscripts\_snd::snd_register_message("s2_prison_amb",::s2_prison_amb); + soundscripts\_snd::snd_register_message("aud_plr_hit",::aud_plr_hit); + soundscripts\_snd::snd_register_message("aud_plr_hit_vo_move_forward",::aud_plr_hit_vo_move_forward); + soundscripts\_snd::snd_register_message("aud_plr_hit_vo_move_back",::aud_plr_hit_vo_move_back); + soundscripts\_snd::snd_register_message("aud_plr_hit_vo_look",::aud_plr_hit_vo_look); + soundscripts\_snd::snd_register_message("aud_plr_hit_vo_line",::aud_plr_hit_vo_line); + soundscripts\_snd::snd_register_message("aud_ambient_animations",::aud_ambient_animations); + soundscripts\_snd::snd_register_message("s2_walk_vo_execution",::s2_walk_vo_execution); + soundscripts\_snd::snd_register_message("s2_walk_execution_PA",::s2_walk_execution_pa); + soundscripts\_snd::snd_register_message("aud_s2walk_emitters",::aud_s2walk_emitters); + soundscripts\_snd::snd_register_message("aud_s2walk_alarm_tone_lp",::aud_s2walk_alarm_tone_lp); + soundscripts\_snd::snd_register_message("aud_s2walk_flyby_1",::aud_s2walk_flyby_1); + soundscripts\_snd::snd_register_message("aud_s2walk_door_open",::aud_s2walk_door_open); + soundscripts\_snd::snd_register_message("aud_s2walk_door_close",::aud_s2walk_door_close); + soundscripts\_snd::snd_register_message("aud_s2walk_prisoner_2_beating",::aud_s2walk_prisoner_2_beating); + soundscripts\_snd::snd_register_message("aud_s2walk_execution_kneeling_prisoners",::aud_s2walk_execution_kneeling_prisoners); + soundscripts\_snd::snd_register_message("aud_s2walk_execution_fire",::aud_s2walk_execution_fire); + soundscripts\_snd::snd_register_message("aud_s2walk_loudspeaker2_line1",::aud_s2walk_loudspeaker2_line1); + soundscripts\_snd::snd_register_message("aud_s2walk_loudspeaker2_line2",::aud_s2walk_loudspeaker2_line2); + soundscripts\_snd::snd_register_message("aud_s2walk_cell_prisoners",::aud_s2walk_cell_prisoners); + soundscripts\_snd::snd_register_message("aud_s2walk_guard_radios",::aud_s2walk_guard_radios); + soundscripts\_snd::snd_register_message("aud_s2walk_cells_foley_mix",::aud_s2walk_cells_foley_mix); + soundscripts\_snd::snd_register_message("aud_s2walk_clear_foley_mix",::aud_s2walk_clear_foley_mix); + soundscripts\_snd::snd_register_message("aud_s2walk_temp_guard_VO",::aud_s2walk_temp_guard_vo); + soundscripts\_snd::snd_register_message("aud_s2walk_guard_hip_radio",::aud_s2walk_guard_hip_radio); + soundscripts\_snd::snd_register_message("aud_s2walk_yard_prisoners_whimpering",::aud_s2walk_yard_prisoners_whimpering); + soundscripts\_snd::snd_register_message("aud_incin_flame_loop_2",::aud_incin_flame_loop_2); + soundscripts\_snd::snd_register_message("aud_trolley_music",::aud_trolley_music); + soundscripts\_snd::snd_register_message("aud_interrogation_music_pt1",::aud_interrogation_music_pt1); + soundscripts\_snd::snd_register_message("aud_interrogation_music_pt2",::aud_interrogation_music_pt2); + soundscripts\_snd::snd_register_message("aud_interrogation_scene",::aud_interrogation_scene); + soundscripts\_snd::snd_register_message("aud_cap_interrogation_transition_vo",::aud_cap_interrogation_transition_vo); + soundscripts\_snd::snd_register_message("aud_rescue_drone",::aud_rescue_drone); + soundscripts\_snd::snd_register_message("aud_red_light",::aud_red_light); + soundscripts\_snd::snd_register_message("aud_escape_doctor_bodybag",::aud_escape_doctor_bodybag); + soundscripts\_snd::snd_register_message("aud_escape_guard_takedown_door",::aud_escape_guard_takedown_door); + soundscripts\_snd::snd_register_message("aud_escape_keycard",::aud_escape_keycard); + soundscripts\_snd::snd_register_message("aud_limp_on",::aud_limp_on); + soundscripts\_snd::snd_register_message("aud_limp_exo",::aud_limp_exo); + soundscripts\_snd::snd_register_message("aud_limp_off",::aud_limp_off); + soundscripts\_snd::snd_register_message("aud_stop_headspace_ambience",::aud_stop_headspace_ambience); + soundscripts\_snd::snd_register_message("aud_play_horror_ambience",::aud_play_horror_ambience); + soundscripts\_snd::snd_register_message("aud_stop_horror_ambience",::aud_stop_horror_ambience); + soundscripts\_snd::snd_register_message("aud_escape_give_gun_exo",::aud_escape_give_gun_exo); + soundscripts\_snd::snd_register_message("aud_onearm_weapon_swap",::aud_onearm_weapon_swap); + soundscripts\_snd::snd_register_message("aud_cap_45_onearm_toss",::aud_cap_45_onearm_toss); + soundscripts\_snd::snd_register_message("aud_cap_sml_onearm_toss",::aud_cap_sml_onearm_toss); + soundscripts\_snd::snd_register_message("aud_separation_logic",::aud_separation_logic); + soundscripts\_snd::snd_register_message("aud_separation_elevator",::aud_separation_elevator); + soundscripts\_snd::snd_register_message("aud_separation_door",::aud_separation_door); + soundscripts\_snd::snd_register_message("start_indoor_alarms",::start_courtyard_alarms); + soundscripts\_snd::snd_register_message("start_indoor_alarms_2",::start_post_courtyard_interior_alarms); + soundscripts\_snd::snd_register_message("aud_gideon_test_chamber_stair_door",::aud_gideon_test_chamber_stair_door); + soundscripts\_snd::snd_register_message("aud_gideon_test_chamber_climb_stairs_1",::aud_gideon_test_chamber_climb_stairs_1); + soundscripts\_snd::snd_register_message("aud_observation_guard_radio",::aud_observation_guard_radio); + soundscripts\_snd::snd_register_message("aud_zap_scene",::aud_zap_scene); + soundscripts\_snd::snd_register_message("aud_alarm_submix",::aud_alarm_submix); + soundscripts\_snd::snd_register_message("aud_morgue_bodybag_line_emt",::aud_morgue_bodybag_line_emt); + soundscripts\_snd::snd_register_message("aud_morgue_bodybag_doors",::aud_morgue_bodybag_doors); + soundscripts\_snd::snd_register_message("aud_morgue_computer_door_entry_sfx",::aud_morgue_computer_door_entry_sfx); + soundscripts\_snd::snd_register_message("aud_autopsy_knife_pry_door",::aud_autopsy_knife_pry_door); + soundscripts\_snd::snd_register_message("aud_autopsy_entrance",::aud_autopsy_entrance); + soundscripts\_snd::snd_register_message("aud_autopsy_entrance_vo",::aud_autopsy_entrance_vo); + soundscripts\_snd::snd_register_message("aud_hatch_gideon",::aud_hatch_gideon); + soundscripts\_snd::snd_register_message("incinerator_dialogue",::incinerator_dialogue); + soundscripts\_snd::snd_register_message("incinerator_dialogue_2",::incinerator_dialogue_2); + soundscripts\_snd::snd_register_message("start_incinerator",::start_incinerator); + soundscripts\_snd::snd_register_message("aud_incin_blackout",::aud_incin_blackout); + soundscripts\_snd::snd_register_message("aud_incin_pipe_grab",::aud_incin_pipe_grab); + soundscripts\_snd::snd_register_message("aud_incin_pipe_burst",::aud_incin_pipe_burst); + soundscripts\_snd::snd_register_message("aud_incin_pilot_light",::aud_incin_pilot_light); + soundscripts\_snd::snd_register_message("aud_incin_pilot_light1",::aud_incin_pilot_light1); + soundscripts\_snd::snd_register_message("aud_incin_pilot_light2",::aud_incin_pilot_light2); + soundscripts\_snd::snd_register_message("aud_incin_pilot_light3",::aud_incin_pilot_light3); + soundscripts\_snd::snd_register_message("aud_incin_pilot_light4",::aud_incin_pilot_light4); + soundscripts\_snd::snd_register_message("aud_incin_pilot_light5",::aud_incin_pilot_light5); + soundscripts\_snd::snd_register_message("aud_incin_cart_start",::aud_incin_cart_start); + soundscripts\_snd::snd_register_message("aud_incin_cart_push",::aud_incin_cart_push); + soundscripts\_snd::snd_register_message("aud_incin_cart_push_stop",::aud_incin_cart_push_stop); + soundscripts\_snd::snd_register_message("aud_incin_cart_done",::aud_incin_cart_done); + soundscripts\_snd::snd_register_message("aud_incin_amb_kill",::aud_incin_amb_kill); + soundscripts\_snd::snd_register_message("aud_incin_flame_loop",::aud_incin_flame_loop); + soundscripts\_snd::snd_register_message("incineration_escape_logic",::incineration_escape_logic); + soundscripts\_snd::snd_register_message("aud_incin_after",::aud_incin_after); + soundscripts\_snd::snd_register_message("aud_incin_after_loop1",::aud_incin_after_loop1); + soundscripts\_snd::snd_register_message("start_outdoor_alarms",::start_post_courtyard_ext_alarms); + soundscripts\_snd::snd_register_message("stop_post_courtyard_ext_alarms_2",::stop_post_courtyard_ext_alarms_2); + soundscripts\_snd::snd_register_message("aud_heli_battle_flyover",::aud_heli_battle_flyover); + soundscripts\_snd::snd_register_message("aud_heli_manticore_flyover",::aud_heli_manticore_flyover); + soundscripts\_snd::snd_register_message("aud_manticore_crane",::aud_manticore_crane); + soundscripts\_snd::snd_register_message("aud_cap_escape_to_heli_truck_1",::aud_cap_escape_to_heli_truck_1); + soundscripts\_snd::snd_register_message("aud_cap_escape_to_heli_truck_2",::aud_cap_escape_to_heli_truck_2); + soundscripts\_snd::snd_register_message("aud_wakeup_mech_cooldown_pings",::aud_wakeup_mech_cooldown_pings); + soundscripts\_snd::snd_register_message("aud_spark_1",::aud_spark_1); + soundscripts\_snd::snd_register_message("aud_spark_2",::aud_spark_2); + soundscripts\_snd::snd_register_message("aud_spark_3",::aud_spark_3); + soundscripts\_snd::snd_register_message("aud_spark_4",::aud_spark_4); + soundscripts\_snd::snd_register_message("aud_spark_5",::aud_spark_5); + soundscripts\_snd::snd_register_message("aud_wakeup_mix",::aud_wakeup_mix); + soundscripts\_snd::snd_register_message("start_mech",::start_mech); + soundscripts\_snd::snd_register_message("aud_mech_jump",::aud_mech_jump); + soundscripts\_snd::snd_register_message("aud_mech_trucks_enter",::aud_mech_trucks_enter); + soundscripts\_snd::snd_register_message("aud_mech1_bg_truck",::aud_mech1_bg_truck); + soundscripts\_snd::snd_register_message("vrap_explode",::vrap_explode); + soundscripts\_snd::snd_register_message("aud_mech_crush_guy",::aud_mech_crush_guy); + soundscripts\_snd::snd_register_message("aud_mech_panic_walla_watcher",::aud_mech_panic_walla_watcher); + soundscripts\_snd::snd_register_message("aud_stop_mech_panic_walla_watcher",::aud_stop_mech_panic_walla_watcher); + soundscripts\_snd::snd_register_message("aud_plr_inside_mech",::aud_plr_inside_mech); + soundscripts\_snd::snd_register_message("aud_mech_missile_fire",::aud_mech_missile_fire); + soundscripts\_snd::snd_register_message("mech_wall_smash",::mech_wall_smash); + soundscripts\_snd::snd_register_message("mech_wall_smash_3d",::mech_wall_smash_3d); + soundscripts\_snd::snd_register_message("mech_warehouse_door_smash",::mech_warehouse_door_smash); + soundscripts\_snd::snd_register_message("mech_scan",::mech_scan); + soundscripts\_snd::snd_register_message("mech_weapon_offline",::mech_weapon_offline); + soundscripts\_snd::snd_register_message("aud_warehouse_roof_machines_line",::aud_warehouse_roof_machines_line); + soundscripts\_snd::snd_register_message("aud_warehouse_roof_machines",::aud_warehouse_roof_machines); + soundscripts\_snd::snd_register_message("aud_warehouse_mech_lift",::aud_warehouse_mech_lift); + soundscripts\_snd::snd_register_message("aud_warehouse_mech_lift_alarm",::aud_warehouse_mech_lift_alarm); + soundscripts\_snd::snd_register_message("aud_warehouse_mech_lift_vo",::aud_warehouse_mech_lift_vo); + soundscripts\_snd::snd_register_message("scn_cap_mech_door_closes",::scn_cap_mech_door_closes); + soundscripts\_snd::snd_register_message("scn_cap_mech_door_grab",::scn_cap_mech_door_grab); + soundscripts\_snd::snd_register_message("aud_mech_obj_move",::aud_mech_obj_move); + soundscripts\_snd::snd_register_message("aud_mech_obj_move_wait",::aud_mech_obj_move_wait); + soundscripts\_snd::snd_register_message("aud_mech_obj_move_end",::aud_mech_obj_move_end); + soundscripts\_snd::snd_register_message("aud_door",::aud_door); + soundscripts\_snd::snd_register_message("aud_heli_escape_idle_sfx",::aud_heli_escape_idle_sfx); + soundscripts\_snd::snd_register_message("aud_crash_wakeup_sfx",::aud_crash_wakeup_sfx); +} + +//Function Number: 10 +zone_handler(param_00,param_01) +{ + switch(param_00) + { + } +} + +//Function Number: 11 +music_handler(param_00,param_01) +{ + switch(param_00) + { + case "mus_captured_intro": + soundscripts\_audio_music::mus_play("mus_captured_intro",4); + common_scripts\utility::flag_wait("flag_stop_intro_music"); + wait(3); + soundscripts\_audio_music::mus_stop(4); + break; + + case "mus_captured_trolley": + wait(0.7); + soundscripts\_audio::aud_set_music_submix(1.5,0); + soundscripts\_audio_music::mus_play("mus_captured_trolley",0); + wait(13); + soundscripts\_audio::aud_set_music_submix(1,4); + break; + + case "mus_captured_interrogation": + wait(0.3); + soundscripts\_audio_music::mus_play("mus_captured_interrogation_pt1",0); + common_scripts\utility::flag_wait("flag_start_interrogation_music_pt2"); + wait(0.5); + soundscripts\_audio_music::mus_play("mus_captured_interrogation_pt2",0,20); + wait(18); + soundscripts\_audio::aud_set_music_submix(10,3); + wait(12); + soundscripts\_audio::aud_set_music_submix(1,3); + break; + + case "mus_captured_escape": + wait(9.5); + soundscripts\_audio_music::mus_play("mus_captured_escape",0); + break; + + case "mus_captured_escape_end": + maps\_utility::music_stop(3); + break; + + case "mus_captured_test_chamber": + soundscripts\_audio_music::mus_play("mus_captured_test_chamber",0); + break; + + case "mus_captured_halls": + wait(1.5); + soundscripts\_audio_music::mus_play("mus_captured_halls",0); + break; + + case "mus_captured_halls_end": + common_scripts\utility::flag_wait("flag_ah_combat_done"); + maps\_utility::music_stop(4); + soundscripts\_audio_zone_manager::azm_start_zone("morgue_2",1); + break; + + case "mus_captured_incinerator": + soundscripts\_audio_music::mus_play("mus_captured_incinerator",0); + break; + + case "mus_captured_mech": + wait(2); + soundscripts\_audio_music::mus_play("mus_captured_mech",0); + break; + + case "mus_captured_mech_end": + soundscripts\_audio_music::mus_play("mus_captured_mech_end",1); + break; + + default: + soundscripts\_audio::aud_print_warning("\tMUSIC MESSAGE NOT HANDLED: " + param_00); + break; + } +} + +//Function Number: 12 +start_intro_drive() +{ + soundscripts\_audio_zone_manager::azm_start_zone("intro_drive",1); +} + +//Function Number: 13 +start_s1_elevator() +{ + soundscripts\_audio_zone_manager::azm_start_zone("s2_walk",1); +} + +//Function Number: 14 +start_s2_walk() +{ + soundscripts\_audio_zone_manager::azm_start_zone("s1_elevator",1); +} + +//Function Number: 15 +start_s2_elevator() +{ + soundscripts\_audio_zone_manager::azm_start_zone("s2_elevator",1); +} + +//Function Number: 16 +start_escape() +{ + soundscripts\_audio_zone_manager::azm_start_zone("pre_stair_hall",1); +} + +//Function Number: 17 +start_test_chamber() +{ + soundscripts\_audio_zone_manager::azm_start_zone("pre_stair_hall",1); +} + +//Function Number: 18 +start_halls_to_autopsy() +{ + soundscripts\_audio_zone_manager::azm_start_zone("test_chamber",1); +} + +//Function Number: 19 +start_trolley() +{ + soundscripts\_audio_zone_manager::azm_start_zone("trolley",1); +} + +//Function Number: 20 +start_incinerator() +{ + soundscripts\_snd::snd_message("aud_incin_blackout"); +} + +//Function Number: 21 +start_battle_to_heli() +{ + soundscripts\_audio_zone_manager::azm_start_zone("pre_run_to_heli",1); +} + +//Function Number: 22 +scn_truck_sounds() +{ + level.player soundscripts\_snd_playsound::snd_play_2d("scn_intro_drive_lr"); +} + +//Function Number: 23 +aud_intro_truck_gate(param_00) +{ + level.player soundscripts\_snd_playsound::snd_play_2d("scn_intro_truck_underpass_lr"); +} + +//Function Number: 24 +aud_intro_truck_passby_01(param_00) +{ + level.player soundscripts\_snd_playsound::snd_play_2d("scn_intro_truck_passby_01"); +} + +//Function Number: 25 +aud_intro_truck_passby_02(param_00) +{ + level.player soundscripts\_snd_playsound::snd_play_2d("scn_intro_truck_passby_02"); + soundscripts\_snd::snd_message("aud_intro_caravan_mute"); +} + +//Function Number: 26 +aud_intro_truck_stop(param_00) +{ + level.player soundscripts\_snd_playsound::snd_play_2d("scn_intro_drive_stop_lr"); +} + +//Function Number: 27 +aud_intro_heli_flyover() +{ +} + +//Function Number: 28 +aud_intro_caravan_passby() +{ + wait(7); + if(!common_scripts\utility::flag("flag_entered_s1elevator")) + { + soundscripts\_snd_playsound::snd_play_at("scn_intro_truck_caravan_passby",(5073,-4905,61)); + } +} + +//Function Number: 29 +aud_intro_caravan_mute() +{ + soundscripts\_audio_mix_manager::mm_add_submix("intro_caravan_mute"); +} + +//Function Number: 30 +aud_intro_caravan_unmute() +{ + soundscripts\_audio_mix_manager::mm_clear_submix("intro_caravan_mute",2); + common_scripts\utility::flag_wait("flag_entered_s1elevator"); + soundscripts\_audio_mix_manager::mm_add_submix("intro_caravan_mute"); + wait(10); + soundscripts\_audio_mix_manager::mm_clear_submix("intro_caravan_mute"); +} + +//Function Number: 31 +aud_intro_to_elev_walla() +{ + wait(16); + soundscripts\_snd_playsound::snd_play_loop_at("emt_intro_to_elev_walla_lp",(4719,-4602,147),"kill_intro_to_elev_walla",2,2); +} + +//Function Number: 32 +aud_mech_idle_sfx() +{ + var_00 = getent("aud_mech_idle_sfx","targetname"); + var_00 waittill("trigger"); + soundscripts\_snd_playsound::snd_play_at("scn_intro_mech_idle",(5429,-5418,36)); +} + +//Function Number: 33 +entrance_alarm() +{ +} + +//Function Number: 34 +entrance_alarm_fast2() +{ +} + +//Function Number: 35 +entrance_alarm_fast() +{ + soundscripts\_snd_playsound::snd_play_at("captured_entrance_alarm",(5409,-5208,299)); +} + +//Function Number: 36 +entrance_vo_01() +{ + wait(11); + soundscripts\_snd_playsound::snd_play_at("cap_ls1_nowenteringgateb",(3893,-1872,287)); + wait(0.2); + soundscripts\_snd_playsound::snd_play_at("cap_ls1_nowenteringgateb",(3561,-2057,287)); + wait(8.8); + soundscripts\_snd_playsound::snd_play_at("cap_ls1_clearentrypermitted",(3893,-1872,287)); +} + +//Function Number: 37 +entrance_vo_03() +{ + wait(12.5); + wait(0.2); + soundscripts\_snd_playsound::snd_play_at("cap_ls1_compliancewithcamp",(6368,-3196,604)); + wait(6.2); + wait(0.2); + soundscripts\_snd_playsound::snd_play_at("cap_ls1_noncompliancewith2_alt01",(6368,-3196,604)); + wait(7.2); + soundscripts\_snd_playsound::snd_play_at("cap_ls1_failuretoreportnon_alt01",(4188,-3173,422)); + wait(0.2); + soundscripts\_snd_playsound::snd_play_at("cap_ls1_failuretoreportnon_alt01",(6368,-3196,604)); +} + +//Function Number: 38 +aud_stop_cormack_foley() +{ + wait(1.5); + level notify("stop_cormack_foley"); + soundscripts\_audio_mix_manager::mm_add_submix("s2_walk_pre_start"); +} + +//Function Number: 39 +aud_ambient_animations(param_00) +{ + switch(param_00) + { + case "cap_s2_walk_stake_inmate_01": + soundscripts\_snd::snd_message("aud_s2walk_yard_prisoners_whimpering"); + break; + + case "cap_s2_walk_pitexecutions_01": + break; + + case "cap_s2_walk_beating_prisoner2": + soundscripts\_snd::snd_message("aud_s2walk_prisoner_2_beating"); + break; + } +} + +//Function Number: 40 +s2_elevator_door_open_top() +{ + soundscripts\_snd_playsound::snd_play_linked("scn_cap_elevator_open"); +} + +//Function Number: 41 +s2_elevator_ride_down() +{ + level notify("kill_intro_to_elev_walla"); + soundscripts\_snd_playsound::snd_play_delayed_2d("scn_cap_intro_elevator_ride_lr",2.669,undefined,"s2_elevator_stop_sfx"); + soundscripts\_snd_playsound::snd_play_delayed_2d("scn_cap_intro_elevator_ride_mtl_lr",7.642,undefined,"s2_elevator_stop_sfx"); +} + +//Function Number: 42 +s2_elevator_door_open() +{ + common_scripts\utility::flag_set("flag_stop_intro_music"); + thread s2_walk_footsteps(); + soundscripts\_audio_mix_manager::mm_clear_submix("s2_walk_pre_start"); +} + +//Function Number: 43 +s2_walk_footsteps() +{ + level.aud.s2_walk_footsteps = 1; + soundscripts\_audio_mix_manager::mm_add_submix("s2_walk_footsteps"); + common_scripts\utility::flag_wait("flag_s2walk_end"); + level.aud.s2_walk_footsteps = 0; + soundscripts\_audio_mix_manager::mm_clear_submix("s2_walk_footsteps"); +} + +//Function Number: 44 +s2_elevator_door_close() +{ + soundscripts\_snd_playsound::snd_play_delayed_at("scn_cap_elevator_open",(5481,-5808,-548),4); +} + +//Function Number: 45 +s2_prison_amb() +{ + var_00 = getent("s2_cell_prisoner_trigger_on","targetname"); + var_00 waittill("trigger"); +} + +//Function Number: 46 +aud_plr_hit() +{ + level.player soundscripts\_snd_playsound::snd_play_2d("scn_plr_hit_s2walk"); +} + +//Function Number: 47 +aud_plr_hit_vo_move_forward() +{ +} + +//Function Number: 48 +aud_plr_hit_vo_move_back() +{ +} + +//Function Number: 49 +aud_plr_hit_vo_look() +{ +} + +//Function Number: 50 +aud_plr_hit_vo_line() +{ +} + +//Function Number: 51 +s2_walk_vo_execution() +{ + wait(6); + soundscripts\_snd::snd_message("s2_walk_execution_PA"); + wait(17); + wait(4.75); + soundscripts\_snd::snd_message("aud_s2walk_execution_fire"); +} + +//Function Number: 52 +s2_walk_execution_pa() +{ + soundscripts\_snd_playsound::snd_play_at("cap_gr6_prisonerslineup",(6681,-6169,-375)); + soundscripts\_snd_playsound::snd_play_delayed_at("cap_gr6_prisonerslineup",(7258,-7272,-375),0.2); + wait(5.18); + soundscripts\_snd_playsound::snd_play_at("cap_gr6_stepdownintothe",(6681,-6169,-375)); + soundscripts\_snd_playsound::snd_play_delayed_at("cap_gr6_stepdownintothe",(7258,-7272,-375),0.2); + wait(5); + soundscripts\_snd_playsound::snd_play_at("cap_gr6_liefacedown",(6681,-6169,-375)); + soundscripts\_snd_playsound::snd_play_delayed_at("cap_gr6_liefacedown",(7258,-7272,-375),0.2); + wait(3.08); + soundscripts\_snd_playsound::snd_play_at("cap_gr6_facesdown",(6681,-6169,-375)); + soundscripts\_snd_playsound::snd_play_delayed_at("cap_gr6_facesdown",(7258,-7272,-375),0.2); + wait(3.02); + soundscripts\_snd_playsound::snd_play_at("cap_gr6_nobursts",(6681,-6169,-375)); + soundscripts\_snd_playsound::snd_play_delayed_at("cap_gr6_nobursts",(7258,-7272,-375),0.2); + wait(1.18); + soundscripts\_snd_playsound::snd_play_at("cap_gr6_singleselect",(6681,-6169,-375)); + soundscripts\_snd_playsound::snd_play_delayed_at("cap_gr6_singleselect",(7258,-7272,-375),0.2); + wait(3.2); + soundscripts\_snd_playsound::snd_play_at("cap_gr6_fire",(6681,-6169,-375)); + soundscripts\_snd_playsound::snd_play_delayed_at("cap_gr6_fire",(7258,-7272,-375),0.2); + wait(2.14); + soundscripts\_snd_playsound::snd_play_at("cap_gr6_nextgrouplineup",(6681,-6169,-375)); + soundscripts\_snd_playsound::snd_play_delayed_at("cap_gr6_nextgrouplineup",(7258,-7272,-375),0.2); + wait(2.1); + soundscripts\_snd_playsound::snd_play_at("cap_gr6_stepdownintothe2",(6681,-6169,-375)); + soundscripts\_snd_playsound::snd_play_delayed_at("cap_gr6_stepdownintothe2",(7258,-7272,-375),0.2); + wait(3.04); + soundscripts\_snd_playsound::snd_play_at("cap_gr6_shouldertoshoulder2",(6681,-6169,-375)); + soundscripts\_snd_playsound::snd_play_delayed_at("cap_gr6_shouldertoshoulder2",(7258,-7272,-375),0.2); + wait(3.1); + soundscripts\_snd_playsound::snd_play_at("cap_gr6_facedown2",(6681,-6169,-375)); + soundscripts\_snd_playsound::snd_play_delayed_at("cap_gr6_facedown2",(7258,-7272,-375),0.2); + wait(3.1); + soundscripts\_snd_playsound::snd_play_at("cap_gr6_prisonerslineup2",(6681,-6169,-375)); + soundscripts\_snd_playsound::snd_play_delayed_at("cap_gr6_prisonerslineup2",(7258,-7272,-375),0.2); + wait(5.2); + soundscripts\_snd_playsound::snd_play_at("cap_gr6_stepdownintothe3",(6681,-6169,-375)); + soundscripts\_snd_playsound::snd_play_delayed_at("cap_gr6_stepdownintothe3",(7258,-7272,-375),0.2); + common_scripts\utility::flag_wait("flag_s2walk_near_end"); + wait(4); + soundscripts\_snd_playsound::snd_play_at("cap_gr6_liefacedown2",(6681,-6169,-375)); + soundscripts\_snd_playsound::snd_play_delayed_at("cap_gr6_liefacedown2",(7258,-7272,-375),0.2); +} + +//Function Number: 53 +aud_s2walk_trigger_start() +{ + var_00 = getent("s2walk_celldoor_trigger","targetname"); + var_00 waittill("trigger"); + soundscripts\_snd::snd_message("aud_s2walk_cells_foley_mix"); + soundscripts\_audio_zone_manager::azm_start_zone("s2_walk_cell",0.1); + wait(1.5); + soundscripts\_snd::snd_message("aud_s2walk_door_close"); +} + +//Function Number: 54 +aud_s2walk_emitters() +{ + var_00 = soundscripts\_snd_playsound::snd_play_loop_at("scn_s2walk_fire_trench",(6691,-7051,-592),"snd_fire_trench_clear",0,3.5); + wait(2); + soundscripts\_snd_playsound::snd_play_at("emt_buzzer",(6180,-5970,-504)); + soundscripts\_snd_playsound::snd_play_loop_at("emt_cap_s2walk_yard_walla_lp",(6732,-6787,-564),"prisoners_death"); + level notify("start_helicopter_fly"); + soundscripts\_snd_playsound::snd_play_at("scn_captured_s2_heli_flyover",(6133,-6375,-387)); + wait(5.7); + soundscripts\_snd::snd_message("aud_s2walk_alarm_tone_lp"); + wait(2.7); + wait(5.8); + wait(4.5); + wait(1.3); + soundscripts\_snd_playsound::snd_play_at("emt_buzzer",(5960,-6926,-512)); + thread snd_trench_fire_off(var_00); + wait(22.5); + soundscripts\_snd::snd_message("aud_s2walk_flyby_1"); +} + +//Function Number: 55 +aud_s2walk_temp_guard_vo(param_00) +{ +} + +//Function Number: 56 +snd_trench_fire_off(param_00) +{ + wait(6); + level notify("snd_fire_trench_clear"); +} + +//Function Number: 57 +aud_s2walk_flyby_1() +{ + level notify("start_helicopter_fly"); + level.player playsound("scn_captured_s2_warbird_flyover"); + wait(2); + level.player playsound("scn_captured_s2_heli_dust_lr"); +} + +//Function Number: 58 +aud_s2walk_alarm_tone_lp() +{ + soundscripts\_snd_playsound::snd_play_loop_at("scn_captured_s2_alarm_tone",(6160,-7477,-358),"snd_alarm_tone_stop",4,0.2); + wait(17); + level notify("snd_alarm_tone_stop"); +} + +//Function Number: 59 +aud_s2walk_prisoner_2_beating() +{ + soundscripts\_snd_playsound::snd_play_delayed_at("cap_pr10_oof",(6096.3,-6252.4,-554.8),14.8); + soundscripts\_snd_playsound::snd_play_delayed_at("cap_pr10_argh",(6096.3,-6252.4,-554.8),16); +} + +//Function Number: 60 +aud_s2walk_execution_kneeling_prisoners() +{ + wait(2); +} + +//Function Number: 61 +aud_s2walk_execution_fire() +{ + level notify("prisoners_death"); + soundscripts\_snd_playsound::snd_play_at("scn_captured_s2_execution",(6645,-6535,-550)); +} + +//Function Number: 62 +aud_s2walk_door_open() +{ + soundscripts\_snd_playsound::snd_play_linked("scn_captured_s2_door_open"); +} + +//Function Number: 63 +aud_s2walk_door_close() +{ + level.player playsound("scn_captured_s2_door_close"); +} + +//Function Number: 64 +aud_s2walk_loudspeaker2_line1() +{ + soundscripts\_snd_playsound::snd_play_delayed_at("cap_ls2_proceedinorderby",(5485,-6287.7,-391),4); +} + +//Function Number: 65 +aud_s2walk_loudspeaker2_line2() +{ + soundscripts\_snd_playsound::snd_play_at("cap_ls2_proceedinorderby2",(5191,-7727,-404)); + soundscripts\_snd_playsound::snd_play_delayed_at("cap_ls2_proceedinorderby2",(5547,-7717,-415),0.2); +} + +//Function Number: 66 +aud_s2walk_guard_radios() +{ + wait(6); + soundscripts\_snd_playsound::snd_play_at("emt_cap_s2walk_guard_radiowalla_1",(6026,-5942,-556)); + wait(7); + soundscripts\_snd_playsound::snd_play_at("emt_cap_s2walk_guard_radiowalla_2",(6118,-6172,-556)); + wait(29); + soundscripts\_snd_playsound::snd_play_at("emt_cap_s2walk_guard_radiowalla_4",(5525,-6913,-393)); +} + +//Function Number: 67 +aud_s2walk_cell_prisoners(param_00) +{ + if(level.aud.cell_prisoners_trig == 0) + { + level.aud.cell_prisoners_trig = 1; + soundscripts\_snd_playsound::snd_play_loop_at("emt_cap_s2walk_cell_walla_lp",(5586.6,-6934.24,-548.2)); + soundscripts\_snd_playsound::snd_play_at("emt_s2_cell_01_l",(5861,-6998,-545)); + soundscripts\_snd_playsound::snd_play_delayed_at("emt_s2_cell_01_R",(5855,-6854,-545),4.114); + soundscripts\_snd_playsound::snd_play_delayed_at("emt_cap_s2walk_cellprisoner_1",(5855,-6854,-545),2.3); + soundscripts\_snd_playsound::snd_play_delayed_at("emt_s2_cell_02_R",(5733,-6850,-545),6.3); + soundscripts\_snd_playsound::snd_play_delayed_at("emt_cap_s2walk_cellprisoner_2",(5733,-6850,-545),6.3); + soundscripts\_snd_playsound::snd_play_delayed_at("emt_s2_cell_02_l",(5613,-7028,-545),5); + soundscripts\_snd_playsound::snd_play_delayed_at("emt_s2_cell_03_R",(5603,-6856,-545),7.9); + soundscripts\_snd_playsound::snd_play_delayed_at("emt_cap_s2walk_cellprisoner_3",(5603,-6856,-545),7.9); + soundscripts\_snd_playsound::snd_play_delayed_at("emt_s2_cell_03_l",(5492,-7002,-545),12.3); + soundscripts\_snd_playsound::snd_play_delayed_at("emt_cap_s2walk_cellprisoner_4",(5492,-7002,-545),12.3); + wait(12); + soundscripts\_audio_mix_manager::mm_add_submix("s2walk_cells_walla_down"); + } +} + +//Function Number: 68 +aud_s2walk_guard_hip_radio(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("cap_gr9_copythatprisoners"); +} + +//Function Number: 69 +aud_s2walk_cells_foley_mix() +{ + wait(2.5); + soundscripts\_audio_mix_manager::mm_add_submix("s2walk_cells_foley"); +} + +//Function Number: 70 +aud_s2walk_clear_foley_mix() +{ + soundscripts\_audio_mix_manager::mm_clear_submix("s2walk_cells_foley"); + soundscripts\_audio_mix_manager::mm_clear_submix("s2walk_cells_walla_down"); +} + +//Function Number: 71 +aud_s2walk_yard_prisoners_whimpering() +{ + wait(2); + soundscripts\_snd_playsound::snd_play_at("cap_pr7_painfulgroan",(5200,-7433.2,-587.2)); + soundscripts\_snd_playsound::snd_play_delayed_at("cap_pr8_pleasewater",(5533.5,-7558.5,-587.2),1); + soundscripts\_snd_playsound::snd_play_delayed_at("cap_pr9_coughgroan",(5676,-7549.9,-601.5),1); +} + +//Function Number: 72 +aud_cap_s2_trolley_sfx_01(param_00) +{ + level.player soundscripts\_snd_playsound::snd_play_2d("scn_captured_trolley_01"); +} + +//Function Number: 73 +aud_cap_s2_trolley_sfx_02(param_00) +{ + level.player soundscripts\_snd_playsound::snd_play_2d("scn_captured_trolley_02"); + soundscripts\_audio_mix_manager::mm_add_submix("trolley_mix"); +} + +//Function Number: 74 +aud_cap_s2_trolley_sfx_03(param_00) +{ + level.player soundscripts\_snd_playsound::snd_play_2d("scn_captured_trolley_03"); + wait(1.5); + soundscripts\_audio_mix_manager::mm_clear_submix("trolley_mix"); + soundscripts\_audio_mix_manager::mm_add_submix("trolley_mix_2"); +} + +//Function Number: 75 +aud_cap_s2_trolley_sfx_03_crk(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_captured_trolley_03_crk"); +} + +//Function Number: 76 +aud_cap_s2_trolley_sfx_04(param_00) +{ + level.player soundscripts\_snd_playsound::snd_play_2d("scn_captured_trolley_04"); +} + +//Function Number: 77 +aud_cap_s2_trolley_sfx_05(param_00) +{ + level.player soundscripts\_snd_playsound::snd_play_2d("scn_captured_trolley_05"); +} + +//Function Number: 78 +aud_cap_s2_trolley_sfx_06(param_00) +{ + level.player soundscripts\_snd_playsound::snd_play_2d("scn_captured_trolley_06"); +} + +//Function Number: 79 +aud_cap_s2_trolley_sfx_07(param_00) +{ + level.player soundscripts\_snd_playsound::snd_play_2d("scn_captured_trolley_07"); + wait(0.5); + soundscripts\_audio_mix_manager::mm_clear_submix("trolley_mix_2"); + soundscripts\_audio_mix_manager::mm_add_submix("trolley_mix_3"); +} + +//Function Number: 80 +aud_cap_s2_trolley_sfx_08(param_00) +{ + level.player soundscripts\_snd_playsound::snd_play_2d("scn_captured_trolley_08"); +} + +//Function Number: 81 +aud_cap_s2_trolley_sfx_09(param_00) +{ + level.player soundscripts\_snd_playsound::snd_play_2d("scn_captured_trolley_09"); +} + +//Function Number: 82 +aud_cap_s2_trolley_sfx_10(param_00) +{ + level.player soundscripts\_snd_playsound::snd_play_2d("scn_captured_trolley_10"); + wait(7); + soundscripts\_audio_mix_manager::mm_clear_submix("trolley_mix_3",1); +} + +//Function Number: 83 +aud_limp_on() +{ + level.aud.limp_footsteps = 1; + soundscripts\_audio_mix_manager::mm_add_submix("limp_footsteps"); +} + +//Function Number: 84 +aud_limp_exo() +{ + level.aud.limp_footsteps = 1; + soundscripts\_audio_mix_manager::mm_clear_submix("limp_footsteps"); + wait(0.5); + soundscripts\_audio_mix_manager::mm_add_submix("limp_footsteps_exo"); +} + +//Function Number: 85 +aud_limp_off() +{ + level.aud.limp_footsteps = 0; + soundscripts\_audio_mix_manager::mm_clear_submix("limp_footsteps_exo"); +} + +//Function Number: 86 +aud_rescue_sfx_a(param_00) +{ + level.player soundscripts\_snd_playsound::snd_play_2d("scn_captured_rescue_a_lr"); +} + +//Function Number: 87 +aud_rescue_sfx_b(param_00) +{ + level.player soundscripts\_snd_playsound::snd_play_2d("scn_captured_rescue_b_lr"); +} + +//Function Number: 88 +aud_rescue_sfx_c(param_00) +{ + level.player soundscripts\_snd_playsound::snd_play_2d("scn_captured_rescue_c_lr"); +} + +//Function Number: 89 +aud_rescue_sfx_d(param_00) +{ + level.player soundscripts\_snd_playsound::snd_play_2d("scn_captured_rescue_d_lr"); +} + +//Function Number: 90 +aud_rescue_sfx_e(param_00) +{ + level.player soundscripts\_snd_playsound::snd_play_2d("scn_captured_rescue_e_lr"); +} + +//Function Number: 91 +aud_rescue_sfx_f(param_00) +{ + level.player soundscripts\_snd_playsound::snd_play_2d("scn_captured_rescue_f_lr"); +} + +//Function Number: 92 +aud_rescue_sfx_g(param_00) +{ + level.player soundscripts\_snd_playsound::snd_play_2d("scn_captured_rescue_g_lr"); +} + +//Function Number: 93 +aud_rescue_drone(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("escape",3); + soundscripts\_audio_mix_manager::mm_add_submix("rescue_vign"); + wait(3); + level.player soundscripts\_snd_playsound::snd_play_2d("scn_captured_rescue_low_lr"); + wait(33); + soundscripts\_audio_mix_manager::mm_clear_submix("rescue_vign"); +} + +//Function Number: 94 +aud_red_light() +{ + wait(1.3); + soundscripts\_snd_playsound::snd_play_at("scn_cap_esc_red_light",(5246,-10374,-1679)); +} + +//Function Number: 95 +aud_stop_headspace_ambience() +{ + wait(7); + soundscripts\_audio_zone_manager::azm_set_zone_streamed_ambience("body_hall","amb_captured_hallways_lr",4); + soundscripts\_audio_zone_manager::azm_set_zone_reverb("body_hall","captured_hall",1); +} + +//Function Number: 96 +aud_play_horror_ambience() +{ + soundscripts\_audio_zone_manager::azm_set_zone_streamed_ambience("decontam","amb_captured_horror_lr",0.5); +} + +//Function Number: 97 +aud_stop_horror_ambience() +{ + soundscripts\_audio_zone_manager::azm_set_zone_streamed_ambience("test_chamber","amb_captured_hallways_lr",5); +} + +//Function Number: 98 +aud_escape_doctor_bodybag() +{ + soundscripts\_snd_playsound::snd_play_at("scn_cap_esc_door_open",(5273,-10314,-1708)); + wait(1.45); + soundscripts\_snd_playsound::snd_play_at("scn_cap_esc_doctor_bodybag",(5273,-10314,-1708)); + wait(6.1); + soundscripts\_snd_playsound::snd_play_at("scn_cap_esc_door_shut",(5273,-10314,-1708)); +} + +//Function Number: 99 +aud_s3escape_doctor_radio(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("emt_cap_escape_doctor_radiowalla","doctor_door_closed"); + wait(7.35); + level notify("doctor_door_closed"); +} + +//Function Number: 100 +aud_escape_give_gun_exo() +{ + maps\_utility::play_sound_on_entity("scn_cap_esc_give_gun"); +} + +//Function Number: 101 +aud_onearm_weapon_swap(param_00) +{ + if(param_00 == "iw5_titan45onearm_sp_xmags") + { + level.player playsound("wpn_handgun_raise_plr_onearm"); + return; + } + + level.player playsound("wpn_sml_raise_plr_onearm"); +} + +//Function Number: 102 +aud_cap_45_onearm_toss() +{ + level.player playsound("wpn_handgun_onearm_toss"); +} + +//Function Number: 103 +aud_cap_sml_onearm_toss() +{ + level.player playsound("wpn_sml_onearm_toss"); +} + +//Function Number: 104 +aud_morgue_bodybag_line_emt() +{ + var_00 = "emt_morgue_bag_mvmt_lp"; + thread soundscripts\_audio::aud_play_line_emitter("moving_bags_01",var_00,(5328,-13249,-1527),(4785,-13249,-1527)); + thread soundscripts\_audio::aud_play_line_emitter("moving_bags_02",var_00,(5328,-13301,-1527),(5328,-14645,-1527)); + thread soundscripts\_audio::aud_play_line_emitter("moving_bags_03",var_00,(4640,-12019,-1527),(4640,-12550,-1527)); +} + +//Function Number: 105 +aud_morgue_bodybag_doors(param_00) +{ + if(param_00 == "open") + { + var_01 = "scn_morgue_bb_door_open"; + } + else + { + var_01 = "scn_morgue_bb_door_close"; + } + + var_02 = 0; + foreach(var_04 in self.doors) + { + var_02++; + if(var_02 % 2 == 0) + { + soundscripts\_snd_playsound::snd_play_at(var_01,var_04.open); + } + } +} + +//Function Number: 106 +aud_escape_guard_takedown_door() +{ + soundscripts\_snd_playsound::snd_play_at("scn_cap_ally_guard_door",(5250,-10490,-1708)); +} + +//Function Number: 107 +aud_escape_keycard(param_00) +{ + switch(param_00) + { + case "control_room": + soundscripts\_snd_playsound::snd_play_at("scn_cap_keycard_swipe",(5012,-10738,-1708)); + wait(0.2); + soundscripts\_snd_playsound::snd_play_at("scn_cap_keycard_accept",(5012,-10738,-1708)); + break; + + case "exit_door": + soundscripts\_snd_playsound::snd_play_at("scn_cap_keycard_swipe",(4438,-10740,-1708)); + wait(0.2); + soundscripts\_snd_playsound::snd_play_at("scn_cap_keycard_accept",(4438,-10740,-1708)); + break; + + case "tc_stairs_door": + soundscripts\_snd_playsound::snd_play_at("scn_cap_keycard_swipe",(3890,-10702,-1708)); + wait(0.2); + soundscripts\_snd_playsound::snd_play_at("scn_cap_keycard_accept",(3890,-10702,-1708)); + break; + } +} + +//Function Number: 108 +aud_morgue_computer_door_entry_sfx() +{ + soundscripts\_snd_playsound::snd_play_at("scn_morgue_comp_beep_01",(5469,-14436,-1584)); + wait(0.4); + soundscripts\_snd_playsound::snd_play_at("scn_morgue_comp_beep_02",(5469,-14436,-1584)); +} + +//Function Number: 109 +aud_separation_logic() +{ + soundscripts\_snd_playsound::snd_play_2d("scn_separ_console_plr"); +} + +//Function Number: 110 +aud_separation_elevator() +{ + wait(0.5); + soundscripts\_snd_playsound::snd_play_at("scn_separ_elevator_open",(4731,-10977,-1697)); +} + +//Function Number: 111 +aud_separation_door() +{ + soundscripts\_snd_playsound::snd_play_at("scn_separ_large_door_close",(4754,-10874,-1697)); +} + +//Function Number: 112 +aud_observation_guard_radio() +{ + wait(14); + soundscripts\_snd_playsound::snd_play_at("emt_cap_test_chamber_radiowalla",(3998,-11305,-1516)); +} + +//Function Number: 113 +aud_zap_scene() +{ + soundscripts\_snd_playsound::snd_play_at("scn_cap_zap_door_close",(4368.5,-12011.9,-1611.9)); + wait(1.85); + soundscripts\_snd_playsound::snd_play_at("scn_cap_zap_glow1",(4439,-11943,-1595)); + soundscripts\_snd_playsound::snd_play_at("scn_cap_zap_glow2",(4295,-11937,-1595)); + soundscripts\_snd_playsound::snd_play_2d("scn_cap_zap"); + thread aud_zap_logic_change(); + soundscripts\_snd_playsound::snd_play_delayed_at("scn_cap_zap_door_open",(4363.1,-11895.5,-1611.9),4.1); + soundscripts\_snd_playsound::snd_play_delayed_at("cap_sri_sequencing",(4370,-11919,-1553),0.8); + soundscripts\_snd_playsound::snd_play_delayed_at("cap_sri_cleared",(4370,-11919,-1553),3.5); + level notify("stop_courtyard_alarms"); + soundscripts\_snd::snd_message("aud_alarm_submix"); +} + +//Function Number: 114 +aud_zap_logic_change() +{ + wait(2); + soundscripts\_audio_zone_manager::azm_start_zone("decontam_headspace",0); + wait(1); + soundscripts\_audio_zone_manager::azm_start_zone("test_chamber",6); + wait(1); + soundscripts\_snd::snd_music_message("mus_captured_test_chamber"); + soundscripts\_snd::snd_message("aud_play_horror_ambience"); +} + +//Function Number: 115 +aud_autopsy_knife_pry_door(param_00) +{ + if(param_00 == "handgun") + { + level.player soundscripts\_snd_playsound::snd_play_linked("scn_autopsy_door_knife_intro"); + level.player soundscripts\_snd_playsound::snd_play_linked("wpn_handgun_onearm_toss_autopsy"); + return; + } + + level.player soundscripts\_snd_playsound::snd_play_linked("wpn_sml_onearm_toss_autopsy"); +} + +//Function Number: 116 +aud_autopsy_entrance() +{ + soundscripts\_snd::snd_message("aud_autopsy_entrance_vo"); + level.ally soundscripts\_snd_playsound::snd_play_linked("scn_autopsy_entrance_foley"); + soundscripts\_snd_playsound::snd_play_delayed_at("scn_autopsy_entrance_doors",(5672,-14546,-1572),0.9); + soundscripts\_snd_playsound::snd_play_delayed_at("scn_autopsy_door_r",(5708,-14633,-1572),2.6); + soundscripts\_snd_playsound::snd_play_delayed_at("scn_autopsy_door_l",(5719,-14452,-1572),2.7); + soundscripts\_snd_playsound::snd_play_delayed_at("scn_autopsy_entrance_punch",(5812,-14607,-1572),4.2); + soundscripts\_snd_playsound::snd_play_delayed_at("scn_autopsy_sci_fall",(5812,-14607,-1572),4.5); + soundscripts\_snd_playsound::snd_play_delayed_at("scn_autopsy_dist_table",(6388,-14634,-1572),5.8); +} + +//Function Number: 117 +aud_autopsy_entrance_vo() +{ + wait(2.2); + soundscripts\_snd_playsound::snd_play_at("cap_sc1_ahhheytakeiteasy",(5812,-14607,-1572)); + soundscripts\_snd_playsound::snd_play_delayed_at("cap_sc2_ahhohmygod",(5898,-14849,-1572),3.5); + soundscripts\_snd_playsound::snd_play_delayed_at("cap_sc3_ahhscaredreaction",(6079,-14577,-1572),3.2); + soundscripts\_snd_playsound::snd_play_delayed_at("cap_sc5_ahhscaredreaction",(6394,-14861,-1572),3.5); + soundscripts\_snd_playsound::snd_play_delayed_at("cap_sc4_ahhscaredreaction",(6383,-14634,-1572),3.5); + soundscripts\_snd_playsound::snd_play_delayed_loop_at("cap_sc5_whimpering",10,0,(6394,-14861,-1572),"stop_mumbling"); + soundscripts\_snd_playsound::snd_play_delayed_loop_at("cap_sc4_whimpering",10,0,(6383,-14634,-1572),"stop_mumbling"); +} + +//Function Number: 118 +aud_gun_throw_logic(param_00) +{ + level notify("stop_mumbling"); + var_01 = soundscripts\_snd_playsound::snd_play_at("scn_autopsy_doc_gun",(6853,-14726,-1551)); + var_01 moveto((6564,-14805,-1567),0.8); + var_02 = soundscripts\_snd_playsound::snd_play_at("scn_autopsy_doc_gun_2",(6445,-14871,-1626)); + wait(0.541); + var_02 moveto((6162,-14851,-1612),1.5); + wait(4); + thread start_autopsy_alarm(); +} + +//Function Number: 119 +aud_hatch_plr(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("scn_autopsy_hatch_plr"); +} + +//Function Number: 120 +aud_hatch_gideon() +{ + soundscripts\_snd_playsound::snd_play_at("scn_autopsy_doc_gid_05",(6983,-14793,-1571)); +} + +//Function Number: 121 +trigger_darkness() +{ + self waittill("trigger"); + soundscripts\_audio_zone_manager::azm_start_zone("incinerator_int_vol_down",0); + wait(1.6); + soundscripts\_snd_playsound::snd_play_2d("scn_incinerator_black_lr"); + soundscripts\_snd::snd_message("incinerator_dialogue"); + level notify("stop_autopsy_alarm"); + level notify("stop_stop_post_courtyard_alarms"); +} + +//Function Number: 122 +aud_incin_blackout() +{ + wait(8.35); + soundscripts\_snd::snd_message("aud_incin_pilot_light"); + wait(7.5); + soundscripts\_audio_zone_manager::azm_start_zone("incinerator_int_vol_up",1); +} + +//Function Number: 123 +incinerator_dialogue() +{ + wait(0.5); + soundscripts\_snd_playsound::snd_play_2d("cap_plr_argh"); + wait(1.7); + soundscripts\_snd_playsound::snd_play_2d("cap_gdn_wherearewe"); + wait(3.7); + soundscripts\_snd_playsound::snd_play_at("cap_gdn_holdonillgetalight",(7582,-13441,-1678)); +} + +//Function Number: 124 +incinerator_dialogue_2() +{ + wait(3.8); +} + +//Function Number: 125 +aud_incin_pilot_light() +{ + wait(0.1); + soundscripts\_snd_playsound::snd_play_at("incineration_pilot_light",(7651,-13427,-1675)); + soundscripts\_snd_playsound::snd_play_2d("scn_incinerator_main_lr"); + thread aud_play_dust(); + wait(2.45); + soundscripts\_snd::snd_message("aud_incin_pilot_light1"); +} + +//Function Number: 126 +aud_play_dust() +{ + wait(0.2); + soundscripts\_snd_playsound::snd_play_2d("scn_incinerator_main_dust_lr"); +} + +//Function Number: 127 +aud_incin_pilot_light1() +{ + soundscripts\_snd_playsound::snd_play_at("incineration_pilot_light_2",(7851,-13394,-1685)); + wait(1); + soundscripts\_snd::snd_message("aud_incin_pilot_light2"); +} + +//Function Number: 128 +aud_incin_pilot_light2() +{ + soundscripts\_snd_playsound::snd_play_at("incineration_pilot_light_3",(8106,-13393,-1685)); + wait(0.75); + soundscripts\_snd::snd_message("aud_incin_pilot_light3"); +} + +//Function Number: 129 +aud_incin_pilot_light3() +{ + soundscripts\_snd_playsound::snd_play_at("incineration_pilot_light_4",(8296,-13396,-1685)); + wait(0.65); + soundscripts\_snd::snd_message("aud_incin_pilot_light4"); +} + +//Function Number: 130 +aud_incin_pilot_light4() +{ + soundscripts\_snd_playsound::snd_play_at("incineration_pilot_light_5",(8424,-13397,-1685)); + wait(0.5); + soundscripts\_snd::snd_message("aud_incin_pilot_light5"); +} + +//Function Number: 131 +aud_incin_pilot_light5() +{ + soundscripts\_snd_playsound::snd_play_at("incineration_pilot_light_6",(8617,-13397,-1685)); + level.aud.incin_burst soundscripts\_snd_playsound::snd_play_linked("incineration_burst_2d"); + thread aud_close_sounds(); + soundscripts\_snd::snd_message("aud_incin_flame_loop"); +} + +//Function Number: 132 +aud_close_sounds() +{ + wait(1.66); + level.aud.incin_close = soundscripts\_snd_playsound::snd_play_loop_2d("amb_incin_above_lr"); +} + +//Function Number: 133 +aud_incin_flame_loop() +{ + while(level.aud.flame_loop == 0) + { + wait(8.508); + if(level.aud.flame_loop == 0) + { + level.aud.incin_burst soundscripts\_snd_playsound::snd_play_linked("incineration_burst"); + } + } +} + +//Function Number: 134 +aud_incin_cart_start() +{ + wait(0.5); +} + +//Function Number: 135 +aud_incin_cart_push() +{ + if(isdefined(level.aud.cart_first_time) && level.aud.cart_first_time == 1) + { + level.aud.cart_push2 scalevolume(1,0); + level.aud.cart_push soundscripts\_snd_playsound::snd_play_linked("scn_incin_cart_start"); + level.aud.cart_push2 soundscripts\_snd_playsound::snd_play_loop("scn_incin_cart_start_middle"); + level.aud.cart_first_time = 0; + return; + } + + level.aud.cart_push2 scalevolume(1,0); +} + +//Function Number: 136 +aud_incin_cart_push_stop() +{ + if(isdefined(level.aud.cart_push2)) + { + level.aud.cart_push2 scalevolume(0,0); + } +} + +//Function Number: 137 +aud_incin_cart_done() +{ + wait(1); + thread aud_stop_sound_logic(); + wait(1.4); + soundscripts\_snd::snd_message("incineration_escape_logic"); +} + +//Function Number: 138 +aud_stop_sound_logic() +{ + wait(0.4); + level.aud.cart_push2 scalevolume(0,1); + level.aud.cart soundscripts\_snd_playsound::snd_play_2d("scn_incin_cart_end"); + wait(1.4); + level.aud.cart_push2 stoploopsound(); + wait(0.1); + level.aud.cart_push2 delete(); +} + +//Function Number: 139 +incineration_escape_logic() +{ + wait(5.8); + thread snd_scalevo_flame_logic(); + level.aud.flame_loop = 1; + soundscripts\_snd_playsound::snd_play_2d("incineration_burst_escape"); + soundscripts\_snd::snd_message("aud_incin_flame_loop_2"); + wait(1.85); + soundscripts\_snd_playsound::snd_play_2d("incineration_burst_escape_body"); +} + +//Function Number: 140 +snd_scalevo_flame_logic() +{ + level.aud.incin_burst scalevolume(0,5); + wait(1); + level.aud.incin_burst stopsounds(); + soundscripts\_audio_zone_manager::azm_start_zone("incinerator_underground",0.5); + level.aud.incin_close scalevolume(0,1); + wait(1); + level.aud.incin_close stoploopsound(); + wait(0.1); + level.aud.incin_close delete(); +} + +//Function Number: 141 +aud_incin_flame_loop_2() +{ + level.aud.incin_burst2 soundscripts\_snd_playsound::snd_play_linked("incineration_burst_escape_end"); + level.aud.incin_burst2 scalevolume(0,0); + thread aud_incin_flame_logic_first_burst(); + while(level.aud.flame_loop2 == 0) + { + wait(8.508); + if(level.aud.flame_loop2 == 0) + { + level.aud.incin_burst2 soundscripts\_snd_playsound::snd_play_linked("incineration_burst"); + } + } +} + +//Function Number: 142 +aud_incin_flame_logic_first_burst() +{ + wait(0.8); + level.aud.incin_burst2 scalevolume(1,2); +} + +//Function Number: 143 +aud_incin_pipe_grab() +{ + wait(0.1); + soundscripts\_audio_music::mus_stop(2); + thread scale_flame_sound_logic2(); + level.aud.flame_loop2 = 1; + wait(1); + soundscripts\_audio_zone_manager::azm_start_zone("incinerator_ext",1); + wait(1.5); + soundscripts\_snd_playsound::snd_play_2d("scn_incinerator_pipe_fireball_lr"); +} + +//Function Number: 144 +scale_flame_sound_logic2() +{ + wait(1); + level.aud.incin_burst2 scalevolume(0,2); + wait(2); + level.aud.incin_burst2 stopsounds(); +} + +//Function Number: 145 +aud_incin_pipe_burst() +{ + soundscripts\_snd_playsound::snd_play_2d("scn_incinerator_pipe_expl"); + soundscripts\_snd_playsound::snd_play_2d("scn_incinerator_pipe_expl_trans"); + soundscripts\_snd::snd_message("aud_incin_after"); +} + +//Function Number: 146 +aud_incin_amb_kill() +{ + level.incin_amb stoploopsound(); + wait(0.1); + level.incin_amb delete(); +} + +//Function Number: 147 +aud_incin_after() +{ + wait(5); + soundscripts\_snd::snd_message("aud_incin_after_loop1"); +} + +//Function Number: 148 +aud_incin_after_loop1() +{ + soundscripts\_snd_playsound::snd_play_loop_at("emt_afterincin_engine_01",(7986,-13440,-1759)); + soundscripts\_snd_playsound::snd_play_loop_at("emt_afterincin_engine_02",(8570,-13576,-1670)); + soundscripts\_snd_playsound::snd_play_loop_at("emt_afterincin_engine_03",(8273,-13504,-1712)); + soundscripts\_snd_playsound::snd_play_loop_at("emt_afterincin_engine_04",(8575,-13579,-1670)); + soundscripts\_snd_playsound::snd_play_loop_at("emt_afterincin_engine_05",(8146,-13426,-1759)); + soundscripts\_snd_playsound::snd_play_loop_at("emt_afterincin_engine_09",(7954,-13601,-1692)); + thread aud_engine_wait(); +} + +//Function Number: 149 +aud_engine_wait() +{ + wait(1); + soundscripts\_snd_playsound::snd_play_loop_at("emt_afterincin_engine_06",(7959,-13650,-1769)); + soundscripts\_snd_playsound::snd_play_loop_at("emt_afterincin_engine_08",(8301,-13490,-1692)); + wait(1.4); + soundscripts\_snd_playsound::snd_play_loop_at("emt_afterincin_engine_10",(8301,-13490,-1692)); +} + +//Function Number: 150 +aud_heli_battle_flyover() +{ + var_00 = self; + var_00 vehicle_turnengineoff(); + wait(1.6); + var_00 thread soundscripts\_snd_playsound::snd_play_linked("scn_cap_bh_heli_flyover"); + wait(11); + var_00 soundscripts\_snd_playsound::snd_play_loop_linked("scn_cap_bh_heli_hover",undefined,2,1); +} + +//Function Number: 151 +aud_heli_manticore_flyover() +{ + var_00 = self; + var_00 vehicle_turnengineoff(); + var_00 thread soundscripts\_snd_playsound::snd_play_linked("scn_cap_manticore_heli_flyover"); + soundscripts\_snd_playsound::snd_play_at("scn_cap_manticore_flyover_rattle_r",(11884,-13713,-1808)); + soundscripts\_snd_playsound::snd_play_at("scn_cap_manticore_flyover_rattle_l",(11846,-13514,-1808)); + soundscripts\_snd_playsound::snd_play_at("scn_cap_manticore_flyover_rattle_b",(11595,-13524,-1808)); + thread stop_post_courtyard_ext_alarms_2(); +} + +//Function Number: 152 +aud_manticore_crane() +{ + soundscripts\_snd_playsound::snd_play_at("scn_cap_manticore_crane",(12140,-13782,-1819)); +} + +//Function Number: 153 +aud_cap_escape_to_heli_truck_1() +{ + if(isarray(self)) + { + foreach(var_01 in self) + { + if(!isdefined(var_01)) + { + return; + } + + if(isremovedentity(var_01)) + { + return; + } + + if(var_01 maps\_vehicle::isvehicle()) + { + var_01 thread soundscripts\_snd_playsound::snd_play_linked("scn_cap_escape_to_heli_truck_1"); + } + + wait(5.7); + soundscripts\_snd_playsound::snd_play_at("scn_cap_runtoheli_truck1_door_open",(12498.9,-12865.8,-1974)); + wait(3.3); + soundscripts\_snd_playsound::snd_play_at("scn_cap_runtoheli_truck1_guard_land",(12439.8,-12877.7,-2003.3)); + wait(0.3); + soundscripts\_snd_playsound::snd_play_at("scn_cap_runtoheli_truck1_door_close",(12498.9,-12865.8,-1974)); + return; + } + } +} + +//Function Number: 154 +aud_cap_escape_to_heli_truck_2() +{ + if(isarray(self)) + { + foreach(var_01 in self) + { + if(!isdefined(var_01)) + { + return; + } + + if(isremovedentity(var_01)) + { + return; + } + + if(var_01 maps\_vehicle::isvehicle()) + { + wait(4); + } + + var_01 thread soundscripts\_snd_playsound::snd_play_linked("scn_cap_escape_to_heli_truck_2"); + wait(11.2); + soundscripts\_snd_playsound::snd_play_at("scn_cap_runtoheli_truck2_door_open",(11885.3,-12632.6,-1959.3)); + wait(2.2); + soundscripts\_snd_playsound::snd_play_at("scn_cap_runtoheli_truck2_guard_land",(11870.9,-12718.2,-2021.1)); + wait(0.6); + soundscripts\_snd_playsound::snd_play_at("scn_cap_runtoheli_truck2_door_close",(11885.3,-12632.6,-1959.3)); + return; + } + } +} + +//Function Number: 155 +stop_post_courtyard_ext_alarms_2() +{ + level notify("stop_post_courtyard_ext_alarms_2"); +} + +//Function Number: 156 +aud_heli_escape_idle_sfx() +{ + wait(8); + soundscripts\_snd_playsound::snd_play_loop_linked("scn_cap_heli_idle_engine","stop_heli_loop",2,3); + soundscripts\_snd_playsound::snd_play_loop_linked("scn_cap_heli_idle_chop","stop_heli_loop",2,3); + common_scripts\utility::flag_wait("flag_heliride_warbird_mount"); + level notify("stop_heli_loop"); +} + +//Function Number: 157 +aud_cap_heli_sfx_01(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("heli_ride",2); + level.player soundscripts\_snd_playsound::snd_play_2d("scn_cap_heli_01_lr"); +} + +//Function Number: 158 +aud_cap_heli_sfx_02(param_00) +{ + level.player soundscripts\_snd_playsound::snd_play_2d("scn_cap_heli_02_lr"); +} + +//Function Number: 159 +aud_cap_heli_sfx_03(param_00) +{ + level.player soundscripts\_snd_playsound::snd_play_2d("scn_cap_heli_03_lr"); +} + +//Function Number: 160 +aud_cap_heli_sfx_04(param_00) +{ + level.player soundscripts\_snd_playsound::snd_play_2d("scn_cap_heli_04_lr"); +} + +//Function Number: 161 +aud_cap_heli_sfx_05(param_00) +{ + soundscripts\_snd_timescale::snd_set_timescale("captured_timescale_override"); + level.player soundscripts\_snd_playsound::snd_play_2d("scn_cap_heli_05_lr"); +} + +//Function Number: 162 +aud_cap_heli_sfx_06(param_00) +{ + level.player soundscripts\_snd_playsound::snd_play_2d("scn_cap_heli_06_lr"); + wait(5); + soundscripts\_snd::snd_message("aud_crash_wakeup_sfx"); + wait(1); + soundscripts\_snd_timescale::snd_set_timescale("captured_default"); +} + +//Function Number: 163 +aud_crash_wakeup_sfx() +{ + wait(0.5); + level.player soundscripts\_snd_playsound::snd_play_2d("scn_cap_heli_wakeup_lr"); +} + +//Function Number: 164 +aud_wakeup_mix() +{ + soundscripts\_audio_zone_manager::azm_start_zone("wake_up_before",0); +} + +//Function Number: 165 +aud_wakeup_amb(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("wake_up",4); +} + +//Function Number: 166 +aud_wakeup_mech_cooldown_pings() +{ + soundscripts\_snd_playsound::snd_play_loop_at("emt_cap_metal_cool_pings",(10663,-5838,492),"flag_getting_into_mech",1,1); +} + +//Function Number: 167 +aud_spark_1() +{ + soundscripts\_snd_playsound::snd_play_2d("scn_wakeup_mech_sparks"); +} + +//Function Number: 168 +aud_spark_2() +{ + soundscripts\_snd_playsound::snd_play_2d("scn_wakeup_mech_sparks2"); +} + +//Function Number: 169 +aud_spark_3() +{ + soundscripts\_snd_playsound::snd_play_2d("scn_wakeup_mech_sparks3"); +} + +//Function Number: 170 +start_mech() +{ + soundscripts\_audio_zone_manager::azm_start_zone("mech_into",2); + wait(22); + soundscripts\_snd::snd_message("aud_plr_inside_mech"); +} + +//Function Number: 171 +aud_spark_4() +{ + soundscripts\_snd_playsound::snd_play_2d("scn_mech_entr_spark_01"); +} + +//Function Number: 172 +aud_spark_5() +{ + soundscripts\_snd_playsound::snd_play_2d("scn_mech_entr_spark_02"); +} + +//Function Number: 173 +aud_into_mech_missle(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("scn_mech_rocket"); +} + +//Function Number: 174 +aud_plr_inside_mech() +{ + soundscripts\_audio_zone_manager::azm_start_zone("captured_int_mech",1); +} + +//Function Number: 175 +aud_mech_missile_fire() +{ + soundscripts\_snd_playsound::snd_play_2d("wpn_mech_missiles"); +} + +//Function Number: 176 +aud_mech_jump() +{ + soundscripts\_snd_playsound::snd_play_2d("scn_mech_jump_dirt_lr"); + soundscripts\_snd_playsound::snd_play_2d("scn_mech_jump_mech_lr"); + soundscripts\_snd::snd_message("aud_mech1_bg_truck"); +} + +//Function Number: 177 +aud_mech1_bg_truck() +{ + wait(7); + soundscripts\_snd_playsound::snd_play_at("scn_mech1_suv_arrival_2",(9658,-4469,349.1)); +} + +//Function Number: 178 +aud_mech_trucks_enter(param_00) +{ + var_01 = self; + if(issubstr(self.script_noteworthy,"mb1")) + { + switch(param_00) + { + case 1: + var_01 thread soundscripts\_snd_playsound::snd_play_linked("scn_mech1_suv_arrival_1"); + break; + + case 2: + wait(0.1); + break; + } + } + + if(issubstr(self.script_noteworthy,"mb2")) + { + switch(param_00) + { + case 1: + wait(1.3); + var_01 thread soundscripts\_snd_playsound::snd_play_linked("scn_mech2_suv_arrival_3"); + break; + + case 2: + wait(1); + var_01 thread soundscripts\_snd_playsound::snd_play_linked("scn_mech2_suv_arrival_4"); + break; + } + } +} + +//Function Number: 179 +vrap_explode() +{ + self waittill("explode"); + self playsound("atlas_van_explo"); + var_00 = spawnstruct(); + if(level.currentgen) + { + var_00.explo_shot_array_ = [["exp_generic_explo_shot_04",0],["exp_generic_explo_shot_07",0],["exp_generic_explo_shot_10",0],["exp_generic_explo_shot_12",0],["exp_generic_explo_shot_13",0],["exp_generic_explo_shot_20",0],["exp_generic_explo_shot_22",0]]; + } + else + { + var_00.explo_shot_array_ = [["exp_generic_explo_shot_01",0],["exp_generic_explo_shot_02",0],["exp_generic_explo_shot_03",0],["exp_generic_explo_shot_04",0],["exp_generic_explo_shot_05",0],["exp_generic_explo_shot_06",0],["exp_generic_explo_shot_07",0]]; + } + + var_00.pos = self.origin; + var_00.explo_tail_alias_ = "exp_generic_random_accent"; + var_00.explo_debris_alias_ = "exp_fireball"; + var_00.explo_delay_chance_ = 100; + var_00.shake_dist_threshold_ = 1500; + var_00.ground_zero_dist_threshold_ = 500; + soundscripts\_snd_common::snd_ambient_explosion(var_00); +} + +//Function Number: 180 +aud_mech_crush_guy(param_00) +{ + var_01 = "generic_death_enemy_" + randomintrange(1,8); + soundscripts\_snd_playsound::snd_play_at("generic_npc_kick_body",param_00.origin); + wait(0.1); + soundscripts\_snd_playsound::snd_play_at(var_01,param_00.origin); +} + +//Function Number: 181 +aud_mech_panic_walla_watcher() +{ + level endon("stop_panic_watcher"); + var_00 = 1; + for(;;) + { + if(!isdefined(level._mb.civilians["civ_mb1_foot"]) || level._mb.civilians["civ_mb1_foot"].size == 0) + { + wait(0.05); + continue; + } + + var_01 = 0; + foreach(var_03 in level._mb.civilians["civ_mb1_foot"]) + { + if(isalive(var_03) && issubstr(var_03.classname,"hardhat")) + { + if(distance(var_03.origin,level.player.origin) < 550 && var_01 == 0) + { + var_04 = randomfloatrange(0,10); + if(var_04 > 8 || var_00 == 1) + { + var_03 soundscripts\_snd_playsound::snd_play_linked("emt_mech_civ_walla_ss"); + var_01 = 1; + if(var_00 == 1) + { + var_00 = 0; + } + } + } + } + } + + wait(5); + } +} + +//Function Number: 182 +aud_stop_mech_panic_walla_watcher() +{ + level notify("stop_panic_watcher"); +} + +//Function Number: 183 +mech_wall_smash() +{ + level.player soundscripts\_snd_playsound::snd_play_2d("mech_wall_smash"); +} + +//Function Number: 184 +mech_wall_smash_3d(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("mech_wall_smash_3d",param_00); +} + +//Function Number: 185 +mech_warehouse_door_smash() +{ + level.player soundscripts\_snd_playsound::snd_play_2d("mech_warehouse_smash"); +} + +//Function Number: 186 +mech_scan() +{ + level.player soundscripts\_snd_playsound::snd_play_2d("mech_scan"); +} + +//Function Number: 187 +mech_weapon_offline() +{ + if(level.aud.mech_error_timeout == 0) + { + level.player soundscripts\_snd_playsound::snd_play_2d("wpn_mech_offline"); + level.aud.mech_error_timeout = 1; + wait(1.5); + level.aud.mech_error_timeout = 0; + } +} + +//Function Number: 188 +aud_warehouse_roof_machines_line() +{ + thread soundscripts\_audio::aud_play_line_emitter("emt_warehouse_crane_01_motor_lp","emt_warehouse_crane_01_motor_lp",(9774,-325,387),(8279,-323,387)); +} + +//Function Number: 189 +aud_warehouse_roof_machines(param_00) +{ + thread common_scripts\utility::play_loop_sound_on_entity("emt_warehouse_crane_01_lp",(0,0,-20)); + wait(param_00); + common_scripts\utility::stop_loop_sound_on_entity("emt_warehouse_crane_01_lp"); +} + +//Function Number: 190 +aud_warehouse_mech_lift() +{ + thread soundscripts\_snd_playsound::snd_play_delayed_linked("scn_cap_mech_rise",0,0,undefined,undefined,undefined,undefined,(0,0,130)); + level notify("stop_panic_watcher"); +} + +//Function Number: 191 +aud_warehouse_mech_lift_alarm() +{ + var_00 = [[0,1],[79.5249,1],[194.9644,0.8796],[305.2732,0.733],[377.1021,0.5916],[446.3658,0.4293],[513.0641,0.2408],[579.7625,0.1047],[700.3325,0.01],[1080,0]]; + var_01 = [[0,0.1],[284.7506,0.3],[495.1069,0.4974],[625.9382,0.4293],[728.5511,0.2984],[823.4679,0.1937],[845.8195,0.1099],[900,0.04]]; + thread alarm_enable((8991,603,470),0.2,"alarm_av_09_int_near",var_00,"alarm_av_09_int_far",var_01,"stop_mech_alarms"); + wait(12); + level notify("stop_mech_alarms"); +} + +//Function Number: 192 +aud_warehouse_mech_lift_vo() +{ + soundscripts\_snd_playsound::snd_play_delayed_at("cap_ls3_warningloadingplatform",(9185,965,448),1); +} + +//Function Number: 193 +scn_cap_mech_door_closes() +{ + soundscripts\_snd_playsound::snd_play_at("scn_cap_mech_door_closes",(8266,2937,202)); +} + +//Function Number: 194 +scn_cap_mech_door_grab() +{ + soundscripts\_snd_playsound::snd_play_2d("scn_cap_mech_door_grab"); + soundscripts\_audio::aud_set_music_submix(0.5,2); + wait(2.7); + soundscripts\_snd_playsound::snd_play_2d("scn_cap_mech_door_grab02"); +} + +//Function Number: 195 +aud_mech_obj_move(param_00) +{ + if(param_00 == "anim_exit_gatelift_1") + { + soundscripts\_snd_playsound::snd_play_2d("scn_cap_mech_door_lift_start"); + level.aud.living_gate = 1; + soundscripts\_snd_playsound::snd_play_loop_2d("scn_cap_mech_door_lift_lp","kill_mech_lift_loop"); + soundscripts\_snd_playsound::snd_play_loop_2d("scn_cap_mech_door_spark_lp","kill_mech_lift_loop"); + } +} + +//Function Number: 196 +aud_mech_obj_move_wait() +{ + if(level.aud.living_gate == 1) + { + soundscripts\_snd_playsound::snd_play_2d("scn_cap_mech_door_closed"); + level notify("kill_mech_lift_loop"); + level.aud.living_gate = 0; + } +} + +//Function Number: 197 +aud_mech_obj_move_end() +{ + soundscripts\_snd_playsound::snd_play_2d("scn_cap_mech_door_opened"); + level notify("kill_mech_lift_loop"); + soundscripts\_audio::aud_set_music_submix(1,5); +} + +//Function Number: 198 +snd_end_01(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("scn_mech_end_01_lr"); + soundscripts\_audio_zone_manager::azm_start_zone("mech_end_scene_1",1); + wait(2.261); + soundscripts\_snd_playsound::snd_play_2d("scn_mech_end_02_lr"); + wait(0.469); + wait(4.675); + soundscripts\_snd_playsound::snd_play_2d("scn_mech_end_03_lr"); + wait(10.182); + soundscripts\_snd_playsound::snd_play_2d("scn_mech_end_04_lr"); + soundscripts\_audio_zone_manager::azm_start_zone("mech_end_scene_2",2); + wait(4.701); + soundscripts\_snd::snd_music_message("mus_captured_mech_end"); + wait(1.627); + soundscripts\_snd_playsound::snd_play_2d("scn_mech_end_05a_lr"); + wait(10.283); + soundscripts\_snd_playsound::snd_play_2d("scn_mech_end_05_lr"); +} + +//Function Number: 199 +aud_captured_foley_override_handler() +{ + level.player endon("death"); + for(;;) + { + level.player waittill("foley",var_00,var_01,var_02); + switch(var_00) + { + case "stationarycrouchscuff": + break; + + case "stationaryscuff": + break; + + case "crouchscuff": + break; + + case "runscuff": + break; + + case "sprintscuff": + break; + + case "prone": + if(level.aud.limp_footsteps == 1) + { + if(var_02) + { + if(common_scripts\utility::flag("aud_glass_footsteps")) + { + soundscripts\_snd_playsound::snd_play_2d("gear_rattle_plr_limp_l"); + soundscripts\_snd_playsound::snd_play_2d("limp_prone_plr_brkglass_l"); + } + else if(soundexists("limp_prone_plr_" + var_01 + "_l")) + { + soundscripts\_snd_playsound::snd_play_2d("gear_rattle_plr_limp_l"); + soundscripts\_snd_playsound::snd_play_2d("limp_prone_plr_" + var_01 + "_l"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("gear_rattle_plr_limp_l"); + soundscripts\_snd_playsound::snd_play_2d("limp_prone_plr_default_l"); + } + } + else if(common_scripts\utility::flag("aud_glass_footsteps")) + { + soundscripts\_snd_playsound::snd_play_2d("gear_rattle_plr_limp_r"); + soundscripts\_snd_playsound::snd_play_2d("limp_prone_plr_brkglass_r"); + } + else if(soundexists("limp_prone_plr_" + var_01 + "_r")) + { + soundscripts\_snd_playsound::snd_play_2d("gear_rattle_plr_limp_r"); + soundscripts\_snd_playsound::snd_play_2d("limp_prone_plr_" + var_01 + "_r"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("gear_rattle_plr_limp_r"); + soundscripts\_snd_playsound::snd_play_2d("limp_prone_plr_default_r"); + } + } + break; + + case "crouchwalk": + if(level.aud.limp_footsteps == 1) + { + soundscripts\_snd_playsound::snd_play_2d("gear_rattle_plr_limp_l"); + wait(0.1); + if(common_scripts\utility::flag("aud_glass_footsteps")) + { + soundscripts\_snd_playsound::snd_play_2d("limp_walk_plr_brkglass_l"); + } + else if(soundexists("limp_walk_plr_" + var_01 + "_l")) + { + soundscripts\_snd_playsound::snd_play_2d("limp_walk_plr_" + var_01 + "_l"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("limp_walk_plr_default_l"); + } + + wait(0.1); + soundscripts\_snd_playsound::snd_play_2d("gear_rattle_plr_limp_r"); + wait(0.1); + if(common_scripts\utility::flag("aud_glass_footsteps")) + { + soundscripts\_snd_playsound::snd_play_2d("limp_walk_plr_brkglass_r"); + } + else if(soundexists("limp_walk_plr_" + var_01 + "_l")) + { + soundscripts\_snd_playsound::snd_play_2d("limp_walk_plr_" + var_01 + "_r"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("limp_walk_plr_default_r"); + } + } + break; + + case "crouchrun": + if(level.aud.limp_footsteps == 1) + { + if(soundexists("limp_run_plr_" + var_01 + "_l")) + { + soundscripts\_snd_playsound::snd_play_2d("gear_rattle_plr_limp_l"); + wait(0.1); + soundscripts\_snd_playsound::snd_play_2d("limp_run_plr_" + var_01 + "_l"); + wait(0.1); + soundscripts\_snd_playsound::snd_play_2d("gear_rattle_plr_limp_r"); + wait(0.1); + soundscripts\_snd_playsound::snd_play_2d("limp_run_plr_" + var_01 + "_r"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("gear_rattle_plr_limp_l"); + wait(0.1); + soundscripts\_snd_playsound::snd_play_2d("limp_run_plr_default_l"); + wait(0.1); + soundscripts\_snd_playsound::snd_play_2d("gear_rattle_plr_limp_r"); + wait(0.1); + soundscripts\_snd_playsound::snd_play_2d("limp_run_plr_default_r"); + } + } + break; + + case "walk": + if(level.aud.limp_footsteps == 1) + { + soundscripts\_snd_playsound::snd_play_2d("gear_rattle_plr_limp_l"); + wait(0.1); + if(common_scripts\utility::flag("aud_glass_footsteps")) + { + soundscripts\_snd_playsound::snd_play_2d("limp_walk_plr_brkglass_l"); + } + else if(soundexists("limp_" + var_00 + "_plr_" + var_01 + "_l")) + { + soundscripts\_snd_playsound::snd_play_2d("limp_" + var_00 + "_plr_" + var_01 + "_l"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("limp_walk_plr_default_l"); + } + + wait(0.1); + soundscripts\_snd_playsound::snd_play_2d("gear_rattle_plr_limp_r"); + wait(0.1); + if(common_scripts\utility::flag("aud_glass_footsteps")) + { + soundscripts\_snd_playsound::snd_play_2d("limp_walk_plr_brkglass_r"); + } + else if(soundexists("limp_" + var_00 + "_plr_" + var_01 + "_l")) + { + soundscripts\_snd_playsound::snd_play_2d("limp_" + var_00 + "_plr_" + var_01 + "_r"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("limp_walk_plr_default_r"); + } + } + else if(level.aud.s2_walk_footsteps == 1) + { + if(var_02) + { + soundscripts\_snd_playsound::snd_play_2d("gear_rattle_plr_s2_l"); + wait(0.1); + soundscripts\_snd_playsound::snd_play_2d("s2_walk_plr_default_l"); + wait(0.1); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("gear_rattle_plr_s2_r"); + wait(0.1); + soundscripts\_snd_playsound::snd_play_2d("s2_walk_plr_default_r"); + wait(0.1); + } + } + break; + + case "run": + if(level.aud.limp_footsteps == 1) + { + if(soundexists("limp_run_plr_" + var_01 + "_l")) + { + soundscripts\_snd_playsound::snd_play_2d("gear_limp_plr_run_l"); + wait(0.1); + soundscripts\_snd_playsound::snd_play_2d("limp_run_plr_" + var_01 + "_l"); + wait(0.1); + soundscripts\_snd_playsound::snd_play_2d("gear_limp_plr_run_r"); + soundscripts\_snd_playsound::snd_play_2d("limp_run_plr_" + var_01 + "_r"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("gear_limp_plr_run_l"); + wait(0.1); + soundscripts\_snd_playsound::snd_play_2d("limp_run_plr_default_l"); + wait(0.1); + soundscripts\_snd_playsound::snd_play_2d("gear_limp_plr_run_r"); + soundscripts\_snd_playsound::snd_play_2d("limp_run_plr_default_r"); + } + } + break; + + case "sprint": + if(level.aud.limp_footsteps == 1) + { + if(soundexists("limp_run_plr_" + var_01 + "_l")) + { + soundscripts\_snd_playsound::snd_play_2d("gear_limp_plr_run_l"); + wait(0.1); + soundscripts\_snd_playsound::snd_play_2d("limp_run_plr_" + var_01 + "_l"); + wait(0.1); + soundscripts\_snd_playsound::snd_play_2d("gear_limp_plr_run_r"); + soundscripts\_snd_playsound::snd_play_2d("limp_run_plr_" + var_01 + "_r"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("gear_limp_plr_run_l"); + wait(0.1); + soundscripts\_snd_playsound::snd_play_2d("limp_run_plr_default_l"); + wait(0.1); + soundscripts\_snd_playsound::snd_play_2d("gear_limp_plr_run_r"); + soundscripts\_snd_playsound::snd_play_2d("limp_run_plr_default_r"); + } + } + break; + + case "jump": + if(level.aud.limp_footsteps == 1) + { + if(common_scripts\utility::flag("aud_glass_footsteps")) + { + soundscripts\_snd_playsound::snd_play_2d("gear_rattle_plr_limp_l"); + soundscripts\_snd_playsound::snd_play_2d("limp_jump_plr_glass"); + } + else if(soundexists("limp_jump_plr_" + var_01)) + { + soundscripts\_snd_playsound::snd_play_2d("gear_rattle_plr_limp_l"); + soundscripts\_snd_playsound::snd_play_2d("limp_jump_plr_" + var_01); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("gear_rattle_plr_limp_l"); + soundscripts\_snd_playsound::snd_play_2d("limp_jump_plr_default"); + } + } + break; + + case "lightland": + if(level.aud.limp_footsteps == 1) + { + if(soundexists("limp_land_plr_med_" + var_01)) + { + soundscripts\_snd_playsound::snd_play_2d("gear_rattle_plr_limp_l"); + soundscripts\_snd_playsound::snd_play_2d("limp_land_plr_med_" + var_01); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("gear_rattle_plr_limp_l"); + soundscripts\_snd_playsound::snd_play_2d("limp_land_plr_med_default"); + } + } + break; + + case "mediumland": + if(level.aud.limp_footsteps == 1) + { + if(soundexists("limp_land_plr_med_" + var_01)) + { + soundscripts\_snd_playsound::snd_play_2d("gear_rattle_plr_limp_l"); + soundscripts\_snd_playsound::snd_play_2d("limp_land_plr_med_" + var_01); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("gear_rattle_plr_limp_l"); + soundscripts\_snd_playsound::snd_play_2d("limp_land_plr_med_default"); + } + } + break; + + case "heavyland": + if(level.aud.limp_footsteps == 1) + { + if(soundexists("limp_land_plr_med_" + var_01)) + { + soundscripts\_snd_playsound::snd_play_2d("gear_rattle_plr_limp_l"); + soundscripts\_snd_playsound::snd_play_2d("limp_land_plr_med_" + var_01); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("gear_rattle_plr_limp_l"); + soundscripts\_snd_playsound::snd_play_2d("limp_land_plr_med_default"); + } + } + break; + + case "damageland": + if(level.aud.limp_footsteps == 1) + { + if(soundexists("limp_land_plr_med_" + var_01)) + { + soundscripts\_snd_playsound::snd_play_2d("gear_rattle_plr_limp_l"); + soundscripts\_snd_playsound::snd_play_2d("limp_land_plr_med_" + var_01); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("gear_rattle_plr_limp_l"); + soundscripts\_snd_playsound::snd_play_2d("limp_land_plr_med_default"); + } + } + break; + + case "mantleuphigh": + break; + + case "mantleupmedium": + break; + + case "mantleuplow": + break; + + case "mantleoverhigh": + break; + + case "mantleovermedium": + break; + + case "mantleoverlow": + break; + } + } +} + +//Function Number: 200 +aud_captured_setup_anims() +{ + maps\_anim::addnotetrack_customfunction("ally_0","aud_cap_s1_drive_gideon_truck_gate",::aud_intro_truck_gate); + maps\_anim::addnotetrack_customfunction("ally_0","aud_cap_s1_drive_gideon_truck_passby_01",::aud_intro_truck_passby_01); + maps\_anim::addnotetrack_customfunction("ally_0","aud_cap_s1_drive_gideon_truck_passby_02",::aud_intro_truck_passby_02); + maps\_anim::addnotetrack_customfunction("ally_0","aud_cap_s1_drive_gideon_truck_stop",::aud_intro_truck_stop); + maps\_anim::addnotetrack_customfunction("guard_3","aud_s1_elevator_guard_foley",::aud_s1_elevator_guard_foley); + maps\_anim::addnotetrack_customfunction("general_1","aud_s1_elevator_boss_foley",::aud_s1_elevator_boss_foley); + maps\_anim::addnotetrack_customfunction("ally_2","aud_s1_elevator_cormack_foley",::aud_s1_elevator_cormack_foley); + maps\_anim::addnotetrack_customfunction("ally_2","aud_s1_elevator_kick_1",::aud_s1_elevator_kick_1); + maps\_anim::addnotetrack_customfunction("ally_2","aud_s1_elevator_kick_2",::aud_s1_elevator_kick_2); + maps\_anim::addnotetrack_customfunction("ally_0","aud_s2walk_start_gideon_foley",::aud_s2walk_start_gideon_foley); + maps\_anim::addnotetrack_customfunction("ally_2","aud_s2walk_start_cormack_foley",::aud_s2walk_start_cormack_foley); + maps\_anim::addnotetrack_customfunction("ally_1","aud_s2walk_start_ilona_foley",::aud_s2walk_start_ilona_foley); + maps\_anim::addnotetrack_customfunction("ally_0","aud_s2walk_start_gideon_bodyfall",::aud_s2walk_start_gideon_bodyfall); + maps\_anim::addnotetrack_customfunction("guard_1","aud_s2walk_start_guard_1_foley",::aud_s2walk_start_guard_1_foley); + maps\_anim::addnotetrack_customfunction("guard_1","aud_s2walk_start_guard_1_grabpush",::aud_s2walk_start_guard_1_grabpush); + maps\_anim::addnotetrack_customfunction("guard_2","aud_s2walk_start_guard_2_foley",::aud_s2walk_start_guard_2_foley); + maps\_anim::addnotetrack_customfunction("guard_2","aud_s2walk_start_guard_2_grabpush",::aud_s2walk_start_guard_2_grabpush); + maps\_anim::addnotetrack_customfunction("guard_2","aud_s2walk_start_guard_2_grab",::aud_s2walk_start_guard_2_grab); + maps\_anim::addnotetrack_customfunction("guard_2","aud_s2walk_start_guard_2_push",::aud_s2walk_start_guard_2_push); + maps\_anim::addnotetrack_customfunction("guard_3","aud_s2walk_start_guard_3_foley",::aud_s2walk_start_guard_3_foley); + maps\_anim::addnotetrack_customfunction("guard_3","aud_s2walk_start_guard_3_walkup_foley",::aud_s2walk_start_guard_3_walkup_foley); + maps\_anim::addnotetrack_customfunction("player_rig_noexo","aud_s2walk_start_player_foley",::aud_s2walk_start_player_foley); + maps\_anim::addnotetrack_customfunction("ally_2","aud_s2walk_cormack_punched",::aud_s2walk_cormack_punched); + maps\_anim::addnotetrack_customfunction("ally_1","aud_s2walk_ilona_push",::aud_s2walk_ilona_push); + maps\_anim::addnotetrack_customfunction("exterior_ambient_prisoner","ambient_cell_prisoner_audio",::aud_s2walk_cell_prisoners); + maps\_anim::addnotetrack_customfunction("guard_end","aud_guard_3_foley_01",::aud_s2walk_guard_3_foley_01); + maps\_anim::addnotetrack_customfunction("guard_end","aud_guard_3_foley_02",::aud_s2walk_guard_3_foley_02); + maps\_anim::addnotetrack_customfunction("ally_2","aud_cap_s2_trolley_sfx_01",::aud_cap_s2_trolley_sfx_01); + maps\_anim::addnotetrack_customfunction("ally_2","aud_cap_s2_trolley_sfx_02",::aud_cap_s2_trolley_sfx_02); + maps\_anim::addnotetrack_customfunction("ally_2","aud_cap_s2_trolley_sfx_03",::aud_cap_s2_trolley_sfx_03); + maps\_anim::addnotetrack_customfunction("ally_2","aud_cap_s2_trolley_sfx_03_crk",::aud_cap_s2_trolley_sfx_03_crk); + maps\_anim::addnotetrack_customfunction("ally_2","aud_cap_s2_trolley_sfx_04",::aud_cap_s2_trolley_sfx_04); + maps\_anim::addnotetrack_customfunction("ally_2","aud_cap_s2_trolley_sfx_05",::aud_cap_s2_trolley_sfx_05); + maps\_anim::addnotetrack_customfunction("ally_2","aud_cap_s2_trolley_sfx_06",::aud_cap_s2_trolley_sfx_06); + maps\_anim::addnotetrack_customfunction("ally_2","aud_cap_s2_trolley_sfx_07",::aud_cap_s2_trolley_sfx_07); + maps\_anim::addnotetrack_customfunction("ally_2","aud_cap_s2_trolley_sfx_08",::aud_cap_s2_trolley_sfx_08); + maps\_anim::addnotetrack_customfunction("ally_2","aud_cap_s2_trolley_sfx_09",::aud_cap_s2_trolley_sfx_09); + maps\_anim::addnotetrack_customfunction("ally_2","aud_cap_s2_trolley_sfx_10",::aud_cap_s2_trolley_sfx_10); + maps\_anim::addnotetrack_customfunction("irons","interrogation_music_start",::aud_interrogation_music_pt1); + maps\_anim::addnotetrack_customfunction("irons","interrogation_music_pt2",::aud_interrogation_music_pt2); + maps\_anim::addnotetrack_customfunction("ally_0","aud_cap_s1_rescue_sfx_a",::aud_rescue_sfx_a); + maps\_anim::addnotetrack_customfunction("ally_0","aud_cap_s1_rescue_sfx_b",::aud_rescue_sfx_b); + maps\_anim::addnotetrack_customfunction("ally_0","aud_cap_s1_rescue_sfx_c",::aud_rescue_sfx_c); + maps\_anim::addnotetrack_customfunction("ally_0","aud_cap_s1_rescue_sfx_d",::aud_rescue_sfx_d); + maps\_anim::addnotetrack_customfunction("ally_0","aud_cap_s1_rescue_sfx_e",::aud_rescue_sfx_e); + maps\_anim::addnotetrack_customfunction("ally_0","aud_cap_s1_rescue_sfx_f",::aud_rescue_sfx_f); + maps\_anim::addnotetrack_customfunction("ally_0","aud_cap_s1_rescue_sfx_g",::aud_rescue_sfx_g); + maps\_anim::addnotetrack_customfunction("ally_0","trolley_music_start",::aud_trolley_music); + maps\_anim::addnotetrack_customfunction("ally_1","ilana_carmack_rescue_01",::aud_ilana_carmack_rescue_01); + maps\_anim::addnotetrack_customfunction("ally_1","ilana_carmack_escape_hallway",::aud_ilana_carmack_escape_hallway); + maps\_anim::addnotetrack_customfunction("ally_1","ilana_carmack_escape_hallway_end",::aud_ilana_carmack_escape_hallway_end); + maps\_anim::addnotetrack_customfunction("ally_1","ilana_carmack_escape_takedown",::aud_ilana_carmack_escape_takedown); + maps\_anim::addnotetrack_customfunction("ally_1","ilana_carmack_escape_controlroom",::aud_ilana_carmack_escape_controlroom); + maps\_anim::addnotetrack_customfunction("ally_1","ilana_carmack_escape_controlroom_attack",::aud_ilana_carmack_escape_controlroom_attack); + maps\_anim::addnotetrack_customfunction("doctor","aud_gun_throw_logic",::aud_gun_throw_logic); + maps\_anim::addnotetrack_customfunction("ally_0","gideon_test_chamber_ascend_start",::aud_gideon_test_chamber_ascend_start); + maps\_anim::addnotetrack_customfunction("ally_0","gideon_test_chamber_stair_door",::aud_gideon_test_chamber_stair_door); + maps\_anim::addnotetrack_customfunction("ally_0","gideon_test_chamber_climb_stairs_1",::aud_gideon_test_chamber_climb_stairs_1); + maps\_anim::addnotetrack_customfunction("ally_0","gideon_test_chamber_climb_stairs_2",::aud_gideon_test_chamber_climb_stairs_2); + maps\_anim::addnotetrack_customfunction("scientist_4","lab_tech_desk_bump",::aud_lab_tech_desk_bump); + maps\_anim::addnotetrack_customfunction("scientist_1","lab_tech_chair_startle_1",::aud_lab_tech_chair_startle_1); + maps\_anim::addnotetrack_customfunction("scientist_2","lab_tech_chair_startle_2",::aud_lab_tech_chair_startle_2); + maps\_anim::addnotetrack_customfunction("ally_0","gideon_test_chamber_descend_stairs",::aud_gideon_test_chamber_descend_stairs); + maps\_anim::addnotetrack_customfunction("ally_0","gideon_test_chamber_descend_stairs_2",::aud_gideon_test_chamber_descend_stairs_2); + maps\_anim::addnotetrack_customfunction("ally_0","gideon_test_chamber_security",::aud_gideon_test_chamber_security); + maps\_anim::addnotetrack_customfunction("ally_0","gideon_autopsy_halls_start",::aud_gideon_autopsy_halls_start); + maps\_anim::addnotetrack_customfunction("ally_0","aud_cap_incinerator_crawl_loop_gideon_230",::maps\captured_vo::cap_incinerator_crawl_loop_01); + maps\_anim::addnotetrack_customfunction("ally_0","aud_gideon_test_chamber_bodybag_1",::aud_gideon_test_chamber_bodybag_1,"tc_enter_test"); + maps\_anim::addnotetrack_customfunction("ally_0","aud_gideon_test_chamber_bodybag_2",::aud_gideon_test_chamber_bodybag_2,"tc_enter_test"); + maps\_anim::addnotetrack_customfunction("op_alarm","hazmat_guy_foley",::aud_hazmat_guy_foley); + maps\_anim::addnotetrack_customfunction("op_alarm","hazmat_guy_pushes_alarm",::aud_hazmat_guy_pushes_alarm); + maps\_anim::addnotetrack_customfunction("ally_0","gideon_test_chamber_door_kick",::aud_gideon_test_chamber_door_kick); + maps\_anim::addnotetrack_customfunction("ally_0","gideon_heli_runout_start",::aud_gideon_heli_runout_start); + maps\_anim::addnotetrack_customfunction("ally_0","gideon_heli_runout_door_kick",::aud_gideon_heli_runout_kick); + maps\_anim::addnotetrack_customfunction("player_rig","aud_hatch_plr",::aud_hatch_plr); + maps\_anim::addnotetrack_customfunction("player_rig","aud_cap_heli_sfx_01",::aud_cap_heli_sfx_01); + maps\_anim::addnotetrack_customfunction("player_rig","aud_cap_heli_sfx_02",::aud_cap_heli_sfx_02); + maps\_anim::addnotetrack_customfunction("player_rig","aud_cap_heli_sfx_03",::aud_cap_heli_sfx_03); + maps\_anim::addnotetrack_customfunction("player_rig","aud_cap_heli_sfx_04",::aud_cap_heli_sfx_04); + maps\_anim::addnotetrack_customfunction("player_rig","aud_cap_heli_sfx_05",::aud_cap_heli_sfx_05); + maps\_anim::addnotetrack_customfunction("player_rig","aud_cap_heli_sfx_06",::aud_cap_heli_sfx_06); +} + +//Function Number: 201 +aud_s1_elevator_guard_foley(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_s1_elev_guard_foley"); +} + +//Function Number: 202 +aud_s1_elevator_boss_foley(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_s1_elev_boss_foley"); +} + +//Function Number: 203 +aud_s1_elevator_cormack_foley(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_s1_elev_cormack_foley","stop_cormack_foley"); +} + +//Function Number: 204 +aud_s1_elevator_kick_1(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("scn_s1_elev_kick_01",(5423.8,-5280.5,36.2)); +} + +//Function Number: 205 +aud_s1_elevator_kick_2(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("scn_s1_elev_kick_02",(5423.8,-5280.5,36.2)); +} + +//Function Number: 206 +aud_s2walk_start_gideon_foley(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_s2walk_start_gideon_foley"); +} + +//Function Number: 207 +aud_s2walk_start_cormack_foley(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_s2walk_start_cormack_foley"); +} + +//Function Number: 208 +aud_s2walk_start_ilona_foley(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_s2walk_start_ilona_foley"); +} + +//Function Number: 209 +aud_s2walk_start_gideon_bodyfall(param_00) +{ + level notify("s2_elevator_stop_sfx"); + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_s1_elev_gid_out"); +} + +//Function Number: 210 +aud_s2walk_start_guard_1_foley(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_s2walk_start_guard_1_foley"); +} + +//Function Number: 211 +aud_s2walk_start_guard_1_grabpush(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_s2walk_start_guard_1_grab_push"); +} + +//Function Number: 212 +aud_s2walk_start_guard_2_foley(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_s2walk_start_guard_2_foley"); +} + +//Function Number: 213 +aud_s2walk_start_guard_2_grabpush(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_s2walk_start_guard_2_grab_push"); +} + +//Function Number: 214 +aud_s2walk_start_guard_2_grab(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_s2walk_start_guard_2_grab"); +} + +//Function Number: 215 +aud_s2walk_start_guard_2_push(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_s2walk_start_guard_2_push"); +} + +//Function Number: 216 +aud_s2walk_start_guard_3_foley(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_s2walk_start_guard_3_foley"); +} + +//Function Number: 217 +aud_s2walk_start_guard_3_walkup_foley(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_s2walk_start_guard_3_walkup_foley"); +} + +//Function Number: 218 +aud_s2walk_start_player_foley(param_00) +{ + level.player soundscripts\_snd_playsound::snd_play_2d("scn_s1_elev_plr_out"); +} + +//Function Number: 219 +aud_s2walk_guard_3_foley_01(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_s2_walk_guard_cloth_01"); +} + +//Function Number: 220 +aud_s2walk_guard_3_foley_02(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_s2_walk_guard_cloth_02"); +} + +//Function Number: 221 +aud_s2walk_cormack_punched(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_s2_walk_cormack_punched"); + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_s2_walk_cormack_punch_exertion"); + wait(1.05); + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_s2_walk_cormack_punch_exertion_2"); +} + +//Function Number: 222 +aud_s2walk_ilona_push(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_s2_walk_ilona_push"); + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_s2_walk_ilona_stumble"); + wait(2.16); + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_s2_walk_cormack_push"); + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_s2_walk_cormack_punched"); +} + +//Function Number: 223 +aud_trolley_music(param_00) +{ + soundscripts\_snd::snd_music_message("mus_captured_trolley"); +} + +//Function Number: 224 +aud_interrogation_music_pt1(param_00) +{ + soundscripts\_snd::snd_music_message("mus_captured_interrogation"); +} + +//Function Number: 225 +aud_interrogation_music_pt2(param_00) +{ + common_scripts\utility::flag_set("flag_start_interrogation_music_pt2"); +} + +//Function Number: 226 +aud_interrogation_scene() +{ + soundscripts\_audio_zone_manager::azm_start_zone("interrogation",0); + wait(0.02); + level.player soundscripts\_snd_playsound::snd_play_linked("scn_cap_interrogation_bg_lr"); +} + +//Function Number: 227 +aud_cap_interrogation_transition_vo() +{ + level.player soundscripts\_snd_playsound::snd_play_2d("cap_ls3_cleanupcrewtomedical"); +} + +//Function Number: 228 +aud_ilana_carmack_rescue_01(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_cap_ila_rescue_01"); +} + +//Function Number: 229 +aud_ilana_carmack_escape_hallway(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_cap_ila_escape_hallway"); +} + +//Function Number: 230 +aud_ilana_carmack_escape_hallway_end(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_cap_ila_escape_hallway_end"); +} + +//Function Number: 231 +aud_ilana_carmack_escape_takedown(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_cap_ila_escape_takedown"); +} + +//Function Number: 232 +aud_ilana_carmack_escape_controlroom(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_cap_ila_escape_controlroom"); +} + +//Function Number: 233 +aud_ilana_carmack_escape_controlroom_attack(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_cap_ila_escape_controlroom_attack"); +} + +//Function Number: 234 +aud_gideon_test_chamber_ascend_start(param_00) +{ + soundscripts\_snd::snd_message("aud_gideon_test_chamber_stair_door",param_00); + soundscripts\_snd::snd_message("aud_gideon_test_chamber_climb_stairs_1",param_00); +} + +//Function Number: 235 +aud_gideon_test_chamber_stair_door(param_00) +{ + wait(2.87); + soundscripts\_snd_playsound::snd_play_at("scn_cap_gdn_test_stair_door",(3895,-10650,-1708)); + wait(1.48); + soundscripts\_snd_playsound::snd_play_at("scn_cap_gdn_test_stair_door_hit",(3824,-10677,-1700)); +} + +//Function Number: 236 +aud_gideon_test_chamber_climb_stairs_1(param_00) +{ + level.ally soundscripts\_snd_playsound::snd_play_linked("scn_cap_gdn_test_stair_climb_1"); +} + +//Function Number: 237 +aud_gideon_test_chamber_climb_stairs_2(param_00) +{ + level.ally soundscripts\_snd_playsound::snd_play_linked("scn_cap_gdn_test_stair_climb_2"); +} + +//Function Number: 238 +aud_lab_tech_desk_bump(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("scn_cap_lab_tech_desk_bump",(3886.5,-10844.5,-1515.9)); +} + +//Function Number: 239 +aud_lab_tech_chair_startle_1(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_lab_tech_chair_startle_01"); +} + +//Function Number: 240 +aud_lab_tech_chair_startle_2(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_lab_tech_chair_startle_02"); +} + +//Function Number: 241 +aud_gideon_test_chamber_descend_stairs(param_00) +{ + level.ally soundscripts\_snd_playsound::snd_play_linked("scn_cap_gdn_test_stair_descend_gear_1"); +} + +//Function Number: 242 +aud_gideon_test_chamber_descend_stairs_2(param_00) +{ + level.ally soundscripts\_snd_playsound::snd_play_linked("scn_cap_gdn_test_stair_descend_gear_2"); +} + +//Function Number: 243 +aud_gideon_test_chamber_security(param_00) +{ + thread aud_ally_card_swipe((4410,-11886.8,-1611.9)); + wait(0.2); + thread aud_ally_card_error((4410,-11886.8,-1611.9)); +} + +//Function Number: 244 +aud_ally_card_accept(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("scn_cap_keycard_accept",param_00); +} + +//Function Number: 245 +aud_ally_card_error(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("scn_cap_zap_door_fail_beep",param_00); +} + +//Function Number: 246 +aud_ally_card_swipe(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("scn_cap_keycard_swipe",param_00); +} + +//Function Number: 247 +aud_gideon_autopsy_halls_start(param_00) +{ + level.ally soundscripts\_snd_playsound::snd_play_linked("scn_cap_test_chamber_gideon_gear"); +} + +//Function Number: 248 +aud_gideon_test_chamber_bodybag_1(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("scn_cap_test_chamber_gideon_bodybag1",(4494,-11736,-1612)); +} + +//Function Number: 249 +aud_gideon_test_chamber_bodybag_2(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("scn_cap_test_chamber_gideon_bodybag2",(4487,-11672,-1612)); +} + +//Function Number: 250 +aud_gideon_test_chamber_door_kick(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("scn_cap_test_chamber_door_kick",(4745,-11541,-1612)); + soundscripts\_audio_mix_manager::mm_clear_submix("captured_alarm_down",1); +} + +//Function Number: 251 +aud_alarm_submix() +{ + soundscripts\_audio_mix_manager::mm_add_submix("captured_alarm_down"); +} + +//Function Number: 252 +aud_hazmat_guy_foley(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_cap_guy_hitting_alarm_foley"); +} + +//Function Number: 253 +aud_hazmat_guy_pushes_alarm(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("scn_cap_guy_hitting_alarm"); +} + +//Function Number: 254 +aud_gideon_heli_runout_start(param_00) +{ + level.ally soundscripts\_snd_playsound::snd_play_linked("scn_cap_manticore_gideon_gear"); +} + +//Function Number: 255 +aud_gideon_heli_runout_kick(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("scn_cap_manticore_doorkick",(11778,-13499,-1820)); +} + +//Function Number: 256 +start_courtyard_alarms() +{ + var_00 = [[0,1],[79.5249,1],[194.9644,0.8796],[305.2732,0.733],[377.1021,0.5916],[446.3658,0.4293],[513.0641,0.2408],[579.7625,0.1047],[700.3325,0.01],[1080,0]]; + var_01 = [[0,0.1],[284.7506,0.3],[495.1069,0.4974],[625.9382,0.4293],[728.5511,0.2984],[823.4679,0.1937],[845.8195,0.1099],[900,0.04]]; + thread alarm_enable((3898,-10628,-1635),0.6,"alarm_av_04_int_near",var_00,"alarm_av_04_int_far",var_01,"stop_courtyard_alarms"); + thread alarm_enable((4029,-10662,-1450),0.6,"alarm_av_01_int_near",var_00,"alarm_av_01_int_far",var_01,"stop_courtyard_alarms"); + thread aud_pa_announc_01(); +} + +//Function Number: 257 +start_post_courtyard_interior_alarms() +{ + var_00 = [[0,1],[79.5249,1],[194.9644,0.8796],[305.2732,0.733],[377.1021,0.5916],[446.3658,0.4293],[513.0641,0.2408],[579.7625,0.1047],[700.3325,0.01],[1080,0]]; + var_01 = [[0,0.25],[284.7506,0.5],[495.1069,0.4974],[625.9382,0.4293],[728.5511,0.2984],[823.4679,0.1937],[915.8195,0.1099],[1080,0.1]]; + thread alarm_enable((5212,-12366,-1513),0.6,"alarm_av_04_int_near",var_00,"alarm_av_04_int_far",var_01,"stop_stop_post_courtyard_alarms"); + thread alarm_enable((4779,-13145,-1516),0.6,"alarm_av_01_int_near",var_00,"alarm_av_01_int_far",var_01,"stop_stop_post_courtyard_alarms"); + thread aud_pa_announc_02(); +} + +//Function Number: 258 +start_post_courtyard_ext_alarms() +{ + var_00 = [[0,1],[79.5249,1],[194.9644,0.9796],[305.2732,0.933],[377.1021,0.8916],[446.3658,0.7293],[600.0641,0.6408],[800.7625,0.6],[1000.333,0.5],[1500,0]]; + var_01 = [[0,0.25],[284.7506,0.5],[495.1069,0.3974],[625.9382,0.3293],[728.5511,0.2],[823.4679,0.15],[1050.819,0.1],[1200,0]]; + wait(2); + thread alarm_enable((9951,-14004,-1792),0.6,"alarm_06_int_near",var_00,"alarm_06_int_far",var_01,"stop_post_courtyard_ext_alarms_2"); + thread start_post_courtyard_ext_alarms_2(); +} + +//Function Number: 259 +start_post_courtyard_ext_alarms_2() +{ + var_00 = [[0,1],[79.5249,1],[194.9644,0.8796],[305.2732,0.733],[325,0.5916],[350,0.4293],[400,0.2408],[600,0.1047],[700,0.05],[800,0]]; + var_01 = [[0,0.2],[284.7506,0.1],[495.1069,0],[625.9382,0],[680,0],[725,0],[750,0],[800,0]]; +} + +//Function Number: 260 +start_autopsy_alarm() +{ + var_00 = [[0,1],[79.5249,1],[194.9644,0.8796],[305.2732,0.733],[325,0.5916],[350,0.4293],[400,0.2408],[600,0.1047],[700,0.05],[800,0]]; + var_01 = [[0,0.3],[284.7506,0.3],[495.1069,0.3],[625.9382,0.3],[680,0.2],[725,0.2],[750,0.1],[800,0]]; + wait(2.5); + thread aud_pa_announc_03(); +} + +//Function Number: 261 +alarm_enable(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + if(!isdefined(level.aud.alarm_guid)) + { + level.aud.alarm_guid = 0; + } + + var_08 = "stop_" + param_02 + "_" + level.aud.alarm_guid; + level.aud.alarm_guid++; + thread alarm_start(param_00,param_01,param_02,param_03,param_04,param_05,var_08,param_07); + level waittill(param_06); + level notify(var_08); +} + +//Function Number: 262 +alarm_start(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + level endon(param_06); + var_08 = 0; + var_09 = 1; + param_07 = soundscripts\_audio::aud_get_optional_param(0,param_07); + var_0A = spawnstruct(); + var_0A.emitter_origin = param_00; + var_0A.volume = param_01; + var_0A.update_rate = 0.1; + var_0A.alarm_is_playing = 0; + var_0A.loop_fade_time = 1; + var_0A.stop_notify_string = param_06; + var_0A.loops = [alarm_create_loops(param_02,param_03,var_0A.loop_fade_time),alarm_create_loops(param_04,param_05,var_0A.loop_fade_time)]; + var_0A thread alarm_monitor_cleanup(); + var_0B = var_0A.loops[0].env.size; + var_0C = var_0A.loops[0].env[var_0B - 1]; + var_0D = var_0C[0]; + for(;;) + { + var_0A.curr_dist = distance(level.player.origin,param_00); + if(!var_0A.alarm_is_playing && param_07 == var_08 || param_07 == var_09 && var_0A.curr_dist <= var_0D) + { + var_0A thread alarm_start_loops(); + } + else if(var_0A.alarm_is_playing && param_07 == var_09 && var_0A.curr_dist > var_0D) + { + var_0A thread alarm_stop_loops(); + } + else if(var_0A.curr_dist <= var_0D) + { + var_0A alarm_update_loops(); + } + + wait(var_0A.update_rate); + } +} + +//Function Number: 263 +alarm_create_loops(param_00,param_01,param_02) +{ + var_03 = spawnstruct(); + var_03.alias = param_00; + var_03.env = param_01; + var_03.fade_time = param_02; + return var_03; +} + +//Function Number: 264 +alarm_start_loops() +{ + var_00 = self; + var_01 = var_00.loops[0].env.size; + var_02 = var_00.loops[0].env[var_01 - 1]; + var_03 = var_02[1]; + foreach(var_05 in var_00.loops) + { + var_05.ent = spawn("script_origin",var_00.emitter_origin); + var_05.ent scalevolume(var_03,0); + var_05.ent soundscripts\_snd_playsound::snd_play_loop(var_05.alias); + } + + var_00.alarm_is_playing = 1; +} + +//Function Number: 265 +alarm_stop_loops() +{ + var_00 = self; + var_00.alarm_is_playing = 0; + var_01 = []; + foreach(var_03 in var_00.loops) + { + var_04 = var_03.ent; + var_03.ent = undefined; + if(isdefined(var_04)) + { + var_04 scalevolume(0,var_00.loop_fade_time); + var_01[var_01.size] = var_04; + } + } + + wait(var_00.loop_fade_time); + foreach(var_04 in var_01) + { + if(isdefined(var_04)) + { + var_04 soundscripts\_snd_playsound::snd_stop_sound(); + var_04 delete(); + } + } +} + +//Function Number: 266 +alarm_update_loops() +{ + var_00 = self; + if(var_00.alarm_is_playing) + { + foreach(var_02 in var_00.loops) + { + if(isdefined(var_02.ent)) + { + var_03 = piecewiselinearlookup(var_00.curr_dist,var_02.env); + var_02.ent scalevolume(var_03 * var_00.volume,var_00.update_rate); + } + } + } +} + +//Function Number: 267 +alarm_monitor_cleanup() +{ + var_00 = self; + level waittill(var_00.stop_notify_string); + var_00 alarm_stop_loops(); +} + +//Function Number: 268 +aud_pa_announc_01() +{ + level endon("stop_courtyard_alarms"); + var_00 = (4708,-10827,-1615); + var_01 = (4138,-10796,-1634); + wait(4); + for(;;) + { + soundscripts\_snd_playsound::snd_play_at("cap_ls3_alertthisisnota",var_00); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_alertthisisnota",var_01); + wait(randomfloatrange(10,14)); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_irepeatprisoners",var_00); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_irepeatprisoners",var_01); + wait(randomfloatrange(10,14)); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_prisonersarearmed",var_00); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_prisonersarearmed",var_01); + wait(randomfloatrange(10,14)); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_prisonershaveescaped",var_00); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_prisonershaveescaped",var_01); + wait(randomfloatrange(10,14)); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_irepeatprisoners2",var_00); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_irepeatprisoners2",var_01); + wait(randomfloatrange(10,14)); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_shootonsightthey",var_00); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_shootonsightthey",var_01); + wait(randomfloatrange(10,14)); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_shoottokillprisoners",var_00); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_shoottokillprisoners",var_01); + wait(randomfloatrange(10,14)); + } +} + +//Function Number: 269 +aud_pa_announc_02() +{ + level endon("stop_stop_post_courtyard_alarms"); + var_00 = (4963,-11974,-1505); + var_01 = (4851,-13274,-1508); + for(;;) + { + soundscripts\_snd_playsound::snd_play_at("cap_ls3_prisonersareheading",var_00); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_prisonersareheading",var_01); + wait(randomfloatrange(8,12)); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_alertthisisnota",var_00); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_alertthisisnota",var_01); + wait(randomfloatrange(8,12)); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_irepeatprisoners",var_00); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_irepeatprisoners",var_01); + wait(randomfloatrange(8,12)); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_prisonersarearmed",var_00); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_prisonersarearmed",var_01); + wait(randomfloatrange(8,12)); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_prisonershaveescaped",var_00); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_prisonershaveescaped",var_01); + wait(randomfloatrange(8,12)); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_irepeatprisoners2",var_00); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_irepeatprisoners2",var_01); + wait(randomfloatrange(8,12)); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_shootonsightthey",var_00); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_shootonsightthey",var_01); + wait(randomfloatrange(8,12)); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_shoottokillprisoners",var_00); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_shoottokillprisoners",var_01); + wait(randomfloatrange(8,12)); + } +} + +//Function Number: 270 +aud_pa_announc_03() +{ + level endon("stop_autopsy_alarm"); + var_00 = (5884,-14710,-1463); + wait(1.5); + for(;;) + { + wait(1.5); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_shootonsightthey",var_00); + wait(randomfloatrange(3,4)); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_prisonersareheading",var_00); + wait(randomfloatrange(3,4)); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_shoottokillprisoners",var_00); + wait(randomfloatrange(3,4)); + } +} + +//Function Number: 271 +aud_pa_announc_04() +{ + level endon("stop_post_courtyard_ext_alarms_2"); + var_00 = (10740,-14474,-1484); + var_01 = (11294,-12971,-1629); + for(;;) + { + soundscripts\_snd_playsound::snd_play_at("cap_ls3_alertthisisnota",var_00); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_alertthisisnota",var_01); + wait(randomfloatrange(8,12)); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_irepeatprisoners",var_00); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_irepeatprisoners",var_01); + wait(randomfloatrange(8,12)); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_prisonersarearmed",var_00); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_prisonersarearmed",var_01); + wait(randomfloatrange(8,12)); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_prisonershaveescaped",var_00); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_prisonershaveescaped",var_01); + wait(randomfloatrange(8,12)); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_irepeatprisoners2",var_00); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_irepeatprisoners2",var_01); + wait(randomfloatrange(8,12)); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_shootonsightthey",var_00); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_shootonsightthey",var_01); + wait(randomfloatrange(8,12)); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_shoottokillprisoners",var_00); + soundscripts\_snd_playsound::snd_play_at("cap_ls3_shoottokillprisoners",var_01); + wait(randomfloatrange(8,12)); + } +} + +//Function Number: 272 +aud_door(param_00,param_01) +{ + if(!isdefined(param_00)) + { + iprintlnbold("Door"); + return; + } + + switch(param_00) + { + case "rescue": + wait(0.1); + soundscripts\_snd_playsound::snd_play_at("scn_cap_rescue_door",(5225,-9935,-1700)); + break; + + case "control_rm": + if(param_01 == "open") + { + soundscripts\_snd_playsound::snd_play_at("scn_cap_door_control",(5013,-10703,-1700)); + } + else if(param_01 == "close") + { + } + break; + + case "control_rm_exit": + if(param_01 == "open") + { + wait(0.2); + soundscripts\_snd_playsound::snd_play_at("scn_cap_door_control_fast",(4444,-10696,-1700)); + } + else if(param_01 == "close") + { + soundscripts\_snd_playsound::snd_play_at("scn_cap_door_01_close",(4444,-10696,-1700)); + } + break; + + case "test_chamber": + soundscripts\_snd_playsound::snd_play_at("scn_cap_door_02_open",(3984,-11175,-1520)); + break; + + case "test_chamber_side": + if(param_01 == "open") + { + soundscripts\_snd_playsound::snd_play_at("scn_cap_door_02_open",(3884,-11067,-1520)); + } + else if(param_01 == "close") + { + soundscripts\_snd_playsound::snd_play_at("scn_cap_door_02_close",(3884,-11067,-1520)); + } + break; + + case "test_chamber_exit": + if(param_01 == "open") + { + soundscripts\_snd_playsound::snd_play_at("scn_cap_door_01_open",(4149,-11837,-1520)); + } + else if(param_01 == "close") + { + } + break; + + case "test_chamber_stairwell": + if(param_01 == "close") + { + soundscripts\_snd_playsound::snd_play_at("scn_autopsy_door_l",(3863,-10632,-1708)); + } + break; + + case "morgue_doors": + if(param_01 == "open") + { + soundscripts\_snd_playsound::snd_play_at("scn_cap_door_02_open",(4964,-13134,-1572)); + } + else if(param_01 == "close") + { + soundscripts\_snd_playsound::snd_play_at("scn_cap_door_02_open",(4964,-13134,-1572)); + } + break; + + case "autopsy_pre_doors": + if(param_01 == "open") + { + soundscripts\_snd_playsound::snd_play_at("scn_cap_door_02_open",(5509,-14536,-1572)); + } + else if(param_01 == "close") + { + soundscripts\_snd_playsound::snd_play_at("scn_cap_door_02_close",(5509,-14536,-1572)); + } + break; + + case "yard_doors": + if(param_01 == "open") + { + soundscripts\_snd_playsound::snd_play_at("scn_cap_door_02_open",(11432,-13607,-1820)); + } + else if(param_01 == "close") + { + soundscripts\_snd_playsound::snd_play_at("scn_cap_door_02_close",(11432,-13607,-1820)); + } + break; + + case "post_incin": + if(param_01 == "open") + { + wait(0.13); + soundscripts\_snd_playsound::snd_play_at("scn_cap_door_post_incin_open",(9239,-14294,-1820)); + } + else if(param_01 == "close") + { + wait(0.2); + soundscripts\_snd_playsound::snd_play_at("scn_cap_door_post_incin_close",(9239,-14294,-1820)); + } + break; + + case "battle_to_heli": + if(param_01 == "open") + { + wait(0.13); + soundscripts\_snd_playsound::snd_play_at("scn_cap_door_battle_to_heli",(10056,-14043,-1959)); + } + break; + + default: + break; + } +} \ No newline at end of file diff --git a/AW/PC/maps/captured_end_escape.gsc b/AW/PC/maps/captured_end_escape.gsc new file mode 100644 index 0000000..b606050 --- /dev/null +++ b/AW/PC/maps/captured_end_escape.gsc @@ -0,0 +1,108 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: captured_end_escape.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 7 + * Decompile Time: 131 ms + * Timestamp: 4/22/2024 2:26:10 AM +*******************************************************************/ + +//Function Number: 1 +pre_load() +{ + precachemodel("vehicle_mil_v32_razorback"); + if(level.currentgen) + { + precachemodel("vehicle_mil_cargo_truck_captured_cghi_ai"); + } +} + +//Function Number: 2 +post_load() +{ +} + +//Function Number: 3 +start(param_00,param_01) +{ + setsaveddvar("g_friendlyNameDist",0); + level.player maps\captured_util::warp_to_start(param_00); + level.allies maps\captured_util::warp_allies(param_01,1); + level._exit.final_player_rig = maps\_utility::spawn_anim_model("player_rig"); + level._exit.final_player_rig hide(); +} + +//Function Number: 4 +main_end_escape() +{ + if(maps\captured_util::start_point_is_before("end_escape")) + { + maps\_playermech_code::playermech_end(); + } + + if(!isalive(level.allies[1])) + { + var_00 = getent("ally_1","targetname"); + var_00.count = 1; + var_01 = var_00 maps\_utility::spawn_ai(1); + var_01 maps\captured_util::ignore_everything(); + var_01.animname = "ally_1"; + level.allies = common_scripts\utility::array_add(level.allies,var_01); + } + + common_scripts\utility::array_thread(level.allies,::maps\_utility::gun_remove); + var_02 = common_scripts\utility::getstructarray("ee_rpg_start","targetname"); + var_03 = maps\_utility::spawn_anim_model("exit_truck"); + var_04 = level._exit.final_player_rig; + var_05 = [var_04,var_03,level.allies[0],level.allies[1]]; + for(var_06 = 0;var_06 < 7;var_06++) + { + var_05 = common_scripts\utility::array_add(var_05,maps\_utility::spawn_anim_model("exit_helo_" + maps\_utility::string(var_06),level.player.origin)); + } + + level.player freezecontrols(1); + level.player allowstand(1); + level.player allowcrouch(0); + level.player allowprone(0); + level.player allowjump(0); + level.player allowsprint(0); + level.player allowmelee(0); + level.player disableweapons(); + level.player showviewmodel(); + level notify("truck_dof"); + common_scripts\utility::array_thread(common_scripts\utility::getstructarray("ee_rpg_end","targetname"),::ee_rpg_fire,var_02); + thread maps\captured_fx::fx_end_amb_fx(); + level.player common_scripts\utility::delaycall(1.15,::playrumbleonentity,"light_1s"); + level.player common_scripts\utility::delaycall(9.75,::playrumbleonentity,"light_1s"); + level.player common_scripts\utility::delaycall(10.2,::playrumbleonentity,"heavy_1s"); + level.player common_scripts\utility::delaycall(11,::playrumbleonentity,"heavy_3s"); + level.player common_scripts\utility::delaycall(32.5,::playrumbleonentity,"light_2s"); + level.player playerlinktodelta(var_04,"tag_player",1,0,0,0,0,1); + var_04 show(); + level._exit.node maps\_anim::anim_single(var_05,"end_escape"); + common_scripts\utility::flag_set("flag_end_escape_end"); +} + +//Function Number: 5 +ee_rpg_fire(param_00) +{ + var_01 = common_scripts\utility::getclosest(self.origin,param_00); + wait(self.script_wait); + magicbullet("iw5_mahemcaptured",var_01.origin,self.origin); +} + +//Function Number: 6 +end_fade_to_black(param_00) +{ + wait(0.5); + var_01 = maps\_hud_util::create_client_overlay("black",0,level.player); + var_01 fadeovertime(2); + var_01.alpha = 1; +} + +//Function Number: 7 +end_change_fov(param_00) +{ + level.player lerpfov(50,3); +} \ No newline at end of file diff --git a/AW/PC/maps/captured_exit.gsc b/AW/PC/maps/captured_exit.gsc new file mode 100644 index 0000000..dc408bb --- /dev/null +++ b/AW/PC/maps/captured_exit.gsc @@ -0,0 +1,292 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: captured_exit.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 16 + * Decompile Time: 254 ms + * Timestamp: 4/22/2024 2:26:11 AM +*******************************************************************/ + +//Function Number: 1 +pre_load() +{ +} + +//Function Number: 2 +post_load() +{ + common_scripts\utility::flag_init("flag_gatedoor_end"); + level._exit = spawnstruct(); + level._exit.civ_gate_node = common_scripts\utility::getstruct("struct_exit_scene_gate","targetname"); + level._exit.civilians = []; + if(isdefined(common_scripts\utility::getstruct("struct_playerstart_gd","targetname"))) + { + level._exit.gate_inner = getent("model_mb_exitdoor_inner","targetname"); + level._exit.gate_inner.col = getent(level._exit.gate_inner.target,"targetname"); + level._exit.node = common_scripts\utility::getstruct("struct_exit_scene","targetname") common_scripts\utility::spawn_tag_origin(); + level._exit.escape_node = common_scripts\utility::getstruct("struct_exit_scene","targetname") common_scripts\utility::spawn_tag_origin(); + level._exit.lock = getent("model_mb_maintenance_door","targetname"); + level._exit.lock maps\_utility::assign_animtree("exit_gate_lock"); + level._exit.gate_inner maps\_utility::assign_animtree("exit_gate_inner"); + if(maps\captured_util::start_point_is_before("gatedoor")) + { + level._exit.node maps\_anim::anim_first_frame([level._exit.gate_inner,level._exit.lock],"anim_exit_gateclose"); + level._exit.gate_inner.col connectpaths(); + return; + } + + if(level.start_point == "gatedoor") + { + level._exit.node maps\_anim::anim_first_frame([level._exit.gate_inner,level._exit.lock],"anim_exit_gatelift_intro"); + return; + } + + return; + } + + iprintln("Warning: Mech Battle start point missing. Compiled out?"); +} + +//Function Number: 3 +start(param_00,param_01) +{ + common_scripts\utility::flag_set("flag_mech_vo_active"); + level.player maps\captured_util::warp_to_start(param_00); + level.allies maps\captured_util::warp_allies(param_01,1); + level.player thread maps\captured_mech_code::init_mech_actions(); + level.civ_run_nodes = level._mb.exit_run_nodes2; + level._exit.gate_inner.col connectpaths(); + level._exit.gate_inner.col notsolid(); + maps\_playermech_code::playermech_start("base"); + level.allies[0] hudoutlineenable(3,1); +} + +//Function Number: 4 +main_gd() +{ + level.ally maps\_utility::enable_ai_color(); + thread util_physicspush_watcher(); + maps\_utility::activate_trigger_with_targetname("trig_gd_ally_1"); + thread maps\_utility::battlechatter_off("allies"); + thread maps\_utility::battlechatter_off("axis"); + thread dialogue_gd(); + thread gd_player_lifts_gate(); + level.player waittill("exit_anim_start"); + thread ai_gd(); + level.player waittill("exit_anim_done"); + level.allies[0] hudoutlinedisable(); +} + +//Function Number: 5 +ai_gd() +{ + level._exit.node thread maps\_anim::anim_single_solo(level.ally,"anim_exit"); + level.player waittill("notify_fire_rocket_2"); + level._exit.node thread maps\_anim::anim_loop_solo(level.ally,"anim_exit_loop"); +} + +//Function Number: 6 +gd_player_lifts_gate() +{ + var_00 = level._exit.node; + var_01 = level._exit.lock; + var_02 = spawnstruct(); + var_02.input_type = "mash"; + var_02.node = var_00; + var_02.obj = level._exit.gate_inner; + var_02.intro_anim = "anim_exit_gatelift_intro"; + var_02.intro_anim_vm = "cap_s1_escape_mech_door_lift_intro_vm"; + var_02.post_intro_loop_anim = "anim_exit_gatelift_intro_idle"; + var_02.post_intro_loop_anim_vm = "cap_s1_escape_mech_door_lift_idle_vm"; + var_02.main_anims = ["anim_exit_gatelift_1","anim_exit_gatelift_2","anim_exit_gatelift_3","anim_exit_gatelift_4","anim_exit_gatelift_5","anim_exit_gatelift_6","anim_exit_gatelift_7"]; + var_02.rev_main_anims = ["anim_exit_gatelift_1_rev","anim_exit_gatelift_2_rev","anim_exit_gatelift_3_rev","anim_exit_gatelift_4_rev","anim_exit_gatelift_5_rev","anim_exit_gatelift_6_rev","anim_exit_gatelift_7_rev"]; + var_02.main_anims_vm = ["cap_s1_escape_mech_door_lift_01_vm","cap_s1_escape_mech_door_lift_02_vm","cap_s1_escape_mech_door_lift_03_vm","cap_s1_escape_mech_door_lift_04_vm","cap_s1_escape_mech_door_lift_05_vm","cap_s1_escape_mech_door_lift_06_vm","cap_s1_escape_mech_door_lift_07_vm"]; + var_02.rev_main_anims_vm = ["cap_s1_escape_mech_door_lift_01_rev_vm","cap_s1_escape_mech_door_lift_02_rev_vm","cap_s1_escape_mech_door_lift_03_rev_vm","cap_s1_escape_mech_door_lift_04_rev_vm","cap_s1_escape_mech_door_lift_05_rev_vm","cap_s1_escape_mech_door_lift_06_rev_vm","cap_s1_escape_mech_door_lift_07_rev_vm"]; + var_02.exit_anim = "anim_exit_gatelift_exit"; + var_02.exit_anim_vm = "cap_s1_escape_mech_door_lift_exit_vm"; + level.player maps\captured_mech_code::spawn_mech_rig(); + var_02.guys = [level.player.rig,var_02.obj]; + var_00 maps\_anim::anim_first_frame_solo(level.player.rig,"anim_exit_gatelift_intro"); + level._exit.final_player_rig = maps\_utility::spawn_anim_model("player_rig"); + level._exit.final_player_rig hide(); + level._exit.escape_node maps\_anim::anim_first_frame_solo(level._exit.final_player_rig,"end_escape"); + wait(0.05); + var_03 = maps\_shg_utility::hint_button_position("use",common_scripts\utility::getstruct("mech_gate_lock_hint","targetname").origin,72); + var_03.object makeusable(); + var_03.object maps\_utility::addhinttrigger(&"CAPTURED_HINT_BREAK_CONSOLE",&"CAPTURED_HINT_BREAK_PC"); + maps\captured_util::waittill_entity_activate_looking_at(var_03.object,undefined,undefined,90,undefined,0); + level notify("lgt_dof_mechdoor"); + setsaveddvar("g_friendlyNameDist",0); + common_scripts\utility::flag_set("flag_exit_lock_broken"); + var_03 maps\_shg_utility::hint_button_clear(); + level.player thread playerlinktodeltablend(); + wait(0.25); + soundscripts\_snd::snd_message("scn_cap_mech_door_grab"); + var_00 thread maps\_anim::anim_single_solo(var_01,"anim_exit_gatelift_intro"); + thread maps\captured_fx::fx_mech_door_lift_fx(); + common_scripts\utility::flag_set("flag_force_hud_ready"); + level.player thread maps\captured_mech_code::mech_obj_move(var_02,1); + level.player waittill("exit_anim_start"); + level._exit.gate_inner.col connectpaths(); + level._exit.gate_inner.col notsolid(); + level notify("dialogue_gatedoor_hold"); + self notify("notify_stop_mash_detection"); + common_scripts\utility::flag_clear("hint_mash_button"); + level.player thread event_exit_player_knockback(); + level.player thread event_mechsuit_swap(); +} + +//Function Number: 7 +playerlinktodeltablend() +{ + self playerlinktoblend(self.rig,"tag_player",0.2); + wait(0.2); + self playerlinktodelta(self.rig,"tag_player",1,0,0,0,0,1); + wait(0.05); + self.rig show(); + self hideviewmodel(); + maps\_utility::spawn_anim_model("mech_gun",level.player.origin) linkto(self.rig,"tag_weapon",(0,0,0),(0,0,0)); +} + +//Function Number: 8 +event_exit_player_knockback() +{ + self enabledeathshield(1); + var_00 = maps\_utility::array_spawn_noteworthy("enemy_exit"); + common_scripts\utility::array_thread(var_00,::exit_enemy); + var_01 = maps\_utility::spawn_script_noteworthy("enemy_exit_mech"); + var_01 thread exit_mech_rocket_fire(); + thread maps\captured_mech::smart_radio_dialogue_mb("cap_sri_enemymechdetected"); + var_02 = getent("model_exit_swinggate","targetname"); + var_02 connectpaths(); + var_02 moveto(var_02.origin + (0,0,128),1); + level.player waittill("notify_fire_rocket_2"); + level.player common_scripts\utility::delaycall(1.25,::playrumbleonentity,"heavy_1s"); + level.player common_scripts\utility::delaycall(5.65,::playrumbleonentity,"heavy_1s"); + common_scripts\utility::flag_set("flag_gatedoor_end"); + self notify("stop_quake"); + level.player freezecontrols(1); + thread maps\captured_fx::fx_mech_explode_amb_fx(); + maps\_playermech_code::set_mech_state("outro"); + level.player setclientomnvar("ui_hide_hud",1); + level.player.rig thread maps\captured_fx::fx_mech_cockpit_damage(); + thread maps\captured_fx::fx_stop_mech_door_lift_fx(); + level.player enabledeathshield(0); + level._exit.gate_inner.col disconnectpaths(); + level._exit.gate_inner.col solid(); +} + +//Function Number: 9 +event_mechsuit_swap() +{ + var_00 = common_scripts\utility::getstruct("struct_exit_scene","targetname") common_scripts\utility::spawn_tag_origin(); + var_01["top"] = maps\_utility::spawn_anim_model("mech_suit_top"); + var_01["bottom"] = maps\_utility::spawn_anim_model("mech_suit_bottom"); + common_scripts\utility::array_call(var_01,::hide); + var_00 maps\_anim::anim_first_frame(var_01,"anim_exit_mechsuit"); + self waittill("mech_swap"); + maps\captured_fx::fx_mech_cockpit_damage_stop(); + level.player.rig hide(); + common_scripts\utility::array_call(var_01,::show); + var_00 maps\_anim::anim_single(var_01,"anim_exit_mechsuit"); + foreach(var_03 in var_01) + { + var_00 maps\_anim::anim_last_frame_solo(var_03,"anim_exit_mechsuit"); + } +} + +//Function Number: 10 +exit_enemy() +{ + maps\_utility::magic_bullet_shield(1); + self.script_forcegoal = 1; + maps\_utility::set_favoriteenemy(level.player); + maps\_utility::set_baseaccuracy(0.7); +} + +//Function Number: 11 +exit_mech_rocket_fire() +{ + maps\_utility::magic_bullet_shield(1); + maps\captured_util::ignore_everything(); + level.player waittill_nt(%cap_s1_escape_mech_door_lift_exit_mech,"fire_rocket_0",-2.5); + var_00 = self gettagorigin("tag_rocket1") + anglestoforward(self.angles) * 64; + var_01 = common_scripts\utility::getstruct("struct_exit_rocket_0","targetname"); + magicbullet("playermech_rocket_deploy_projectile",var_00,var_01.origin); + magicbullet("playermech_rocket_projectile",var_00,var_01.origin); + level.player waittill_nt(%cap_s1_escape_mech_door_lift_exit_mech,"fire_rocket_1",-2.5); + var_00 = self gettagorigin("tag_rocket2") + anglestoforward(self.angles) * 64; + var_01 = common_scripts\utility::getstruct("struct_exit_rocket_1","targetname"); + magicbullet("playermech_rocket_deploy_projectile",var_00,var_01.origin); + magicbullet("playermech_rocket_projectile",var_00,var_01.origin) thread deathfunc_rocket(var_01.origin,(0,0,0),"mech_wall_explosion","light_1s"); + level.player waittill_nt(%cap_s1_escape_mech_door_lift_exit_mech,"fire_rocket",-1.75); + var_00 = self gettagorigin("tag_rocket3") + anglestoforward(self.angles) * 64; + magicbullet("playermech_rocket_deploy_projectile",var_00,level.player.origin); + magicbullet("playermech_rocket_projectile",var_00,level.player.origin) thread deathfunc_rocket(level.player.origin + (0,0,32),level.player.angles,"mech_chest_explosion","heavy_1s"); +} + +//Function Number: 12 +deathfunc_rocket(param_00,param_01,param_02,param_03) +{ + self waittill("death"); + playfx(common_scripts\utility::getfx(param_02),param_00,anglestoforward(param_01),anglestoup(param_01)); + level.player playrumbleonentity(param_03); +} + +//Function Number: 13 +waittill_nt(param_00,param_01,param_02,param_03) +{ + if(isdefined(param_03) && !common_scripts\utility::flag_exist(param_03)) + { + common_scripts\utility::flag_init(param_03); + } + + if(!isdefined(param_02)) + { + param_02 = 0; + } + + var_04 = getnotetracktimes(param_00,param_01)[0]; + var_05 = var_04 * getanimlength(param_00) + param_02; + wait(var_05); + if(isdefined(param_03)) + { + common_scripts\utility::flag_set(param_03); + } +} + +//Function Number: 14 +util_physicspush_watcher() +{ + level endon("flag_gatedoor_end"); + for(;;) + { + common_scripts\utility::flag_wait("flag_playermech_nopush"); + level.player maps\_playermech_code::playermech_physics_push_off(); + common_scripts\utility::flag_waitopen("flag_playermech_nopush"); + level.player maps\_playermech_code::playermech_physics_push_on(); + } +} + +//Function Number: 15 +dialogue_gd() +{ + maps\_utility::smart_radio_dialogue("cap_gdn_thatsthegateout"); + thread maps\_utility::smart_radio_dialogue("cap_gdn_breakthislock"); + level.player waittill("intro_anim_done"); + common_scripts\utility::flag_clear("flag_mech_vo_active"); + thread dialogue_gd_lift(); + level waittill("dialogue_gatedoor_hold"); + common_scripts\utility::flag_wait("flag_gatedoor_end"); +} + +//Function Number: 16 +dialogue_gd_lift() +{ + level.player endon("main_anim_startanim_exit_gatelift_1"); + maps\_utility::smart_radio_dialogue("cap_gdn_liftthatgateandhold"); + wait(7); + var_00 = ["cap_gdn_liftthegate","cap_gdn_openthisdoor","cap_gdn_comeonwehaveto"]; + level.player childthread maps\captured_util::radio_dialogue_nag_loop(var_00); +} \ No newline at end of file diff --git a/AW/PC/maps/captured_facility.gsc b/AW/PC/maps/captured_facility.gsc new file mode 100644 index 0000000..237cef7 --- /dev/null +++ b/AW/PC/maps/captured_facility.gsc @@ -0,0 +1,1457 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: captured_facility.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 54 + * Decompile Time: 901 ms + * Timestamp: 4/22/2024 2:26:14 AM +*******************************************************************/ + +//Function Number: 1 +pre_load() +{ +} + +//Function Number: 2 +post_load() +{ + if(isdefined(common_scripts\utility::getstruct("struct_playerstart_incinerator","targetname"))) + { + thread setup_spawners(); + level.rh_exit_door = getent("rh_exit_door","targetname"); + } + else + { + iprintln("Warning: S3 Exterior may be compiled out!"); + } + + common_scripts\utility::flag_init("flag_incinerator_start"); + common_scripts\utility::flag_init("flag_incinerator_fires_start"); + common_scripts\utility::flag_init("flag_incinerator_last_fire_loop"); + common_scripts\utility::flag_init("flag_incinerator_push_start"); + common_scripts\utility::flag_init("flag_incinerator_push_done"); + common_scripts\utility::flag_init("flag_incinerator_crawl_start"); + common_scripts\utility::flag_init("flag_incinerator_crawl_pull"); + common_scripts\utility::flag_init("flag_inc_pipe_break"); + common_scripts\utility::flag_init("flag_incinerator_player_saved"); + common_scripts\utility::flag_init("flag_incinerator_player_pipe_grab"); + common_scripts\utility::flag_init("lgt_flag_inc_near_miss"); + common_scripts\utility::flag_init("flag_incinerator_saved"); + common_scripts\utility::flag_init("flag_pushing_cart"); + common_scripts\utility::flag_init("flag_bh_intro_start"); + common_scripts\utility::flag_init("flag_bh_intro_start_scene"); + common_scripts\utility::flag_init("flag_bh_intro_caught"); + common_scripts\utility::flag_init("flag_bh_intro_caught_late"); + common_scripts\utility::flag_init("flag_bh_pit"); + common_scripts\utility::flag_init("flag_bh_pit_end"); + common_scripts\utility::flag_init("flag_bh_pit_all_clear"); + common_scripts\utility::flag_init("flag_bh_yard"); + common_scripts\utility::flag_init("flag_bh_back"); + common_scripts\utility::flag_init("flag_bh_runaway"); + common_scripts\utility::flag_init("flag_player_and_ally_at_window"); + common_scripts\utility::flag_init("flag_bh_run_ally_ready"); + common_scripts\utility::flag_init("flag_bh_run_start_scene"); + common_scripts\utility::flag_init("flag_bh_run_manticore_done"); + common_scripts\utility::flag_init("flag_bh_run"); + common_scripts\utility::flag_init("flag_bh_helo_opfor_killed"); + common_scripts\utility::flag_init("flag_battle_to_heli_end"); + common_scripts\utility::flag_init("flag_bh_open_yard_doors_in"); + common_scripts\utility::flag_init("flag_bh_open_yard_doors_out"); + common_scripts\utility::flag_init("gps_bh_mech_loader_room"); + var_00 = getentarray("trig_start_off","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 thread common_scripts\utility::trigger_off(); + } + + if(isdefined(level.rh_exit_door)) + { + level.rh_exit_door.animname = "runtoheli_door"; + level.rh_exit_door maps\_anim::setanimtree(); + level.rh_exit_door.col = getent("door_bh_heli_link","targetname"); + level.rh_exit_door.col linkto(level.rh_exit_door,"j_bone_door_right",(28,1.5,48),(0,0,0)); + common_scripts\utility::getstruct("struct_run_to_heli_manticore","targetname") maps\_anim::anim_first_frame_solo(level.rh_exit_door,"runtoheli_door_kick"); + } + + level._facility = spawnstruct(); + precacherumble("steady_rumble"); + precacherumble("tank_rumble"); +} + +//Function Number: 3 +start(param_00) +{ + level.player maps\captured_util::warp_to_start(param_00); + if(issubstr(level.start_point,"heliride")) + { + var_01 = getent("vehicle_warbird","targetname"); + var_02 = var_01 maps\_utility::spawn_vehicle(); + if(level.currentgen) + { + var_02 thread maps\captured_util::tff_cleanup_vehicle("helipad"); + } + + var_02 thread setup_warbird(); + var_02 thread vehicle_scripts\_xh9_warbird::open_left_door(); + } +} + +//Function Number: 4 +setup_warbird() +{ + self.animname = "vtol"; + maps\_vehicle::godon(); + self makeunusable(); + var_00 = spawn("script_model",self.origin); + var_00 setmodel("vehicle_xh9_warbird_interior_collision"); + var_00 linkto(self,"tag_origin",(0,0,0),(0,0,0)); + level.heli_collision = var_00; + level._facility.warbird = self; + var_01 = getent("refl_probe_heli_open","targetname"); + level._facility.warbird overridereflectionprobe(var_01.origin); + var_00 hide(); + level waittill("heliride_blood"); + var_00 show(); + common_scripts\utility::flag_wait("flag_heliride_end"); + var_00 delete(); +} + +//Function Number: 5 +start_incinerator() +{ + setsaveddvar("g_friendlyNameDist",0); + maps\captured_util::warp_allies("struct_anim_incinerator"); + level.player thread maps\_utility::blend_movespeedscale(0.8); + level.player maps\captured_util::warp_to_start("struct_playerstart_incinerator"); + level.player takeallweapons(); + level.player allowmelee(0); + var_00 = getent("aut_doctor_hatch","targetname"); + var_00 delete(); +} + +//Function Number: 6 +main_incinerator() +{ + common_scripts\utility::flag_wait("flag_incinerator_start"); + maps\_utility::autosave_by_name("incinerator"); + wait(0.05); + common_scripts\utility::flag_set("flag_incinerator_saved"); + level.player common_scripts\utility::delaycall(0.6,::playrumbleonentity,"heavy_1s"); + level.player common_scripts\utility::delaycall(0.6,::playrumbleonentity,"heavy_1s"); + maps\_player_exo::player_exo_deactivate(); + var_00 = common_scripts\utility::getstruct("struct_anim_incinerator","targetname"); + var_01 = maps\_utility::spawn_anim_model("player_rig"); + var_02 = maps\_utility::spawn_anim_model("cart_1"); + var_03 = maps\_utility::spawn_anim_model("cart_2"); + var_04 = maps\_utility::spawn_anim_model("grate"); + var_01 hide(); + incinerator_intro(var_00,var_01,var_02,var_03,var_04); + incinerator_cart_push(var_00,var_01,var_02,var_03,var_04); + incinerator_crawl(var_00,var_01); +} + +//Function Number: 7 +incinerator_intro(param_00,param_01,param_02,param_03,param_04) +{ + soundscripts\_snd::snd_message("start_incinerator"); + var_05 = maps\_hud_util::create_client_overlay("black",1,level.player); + if(level.currentgen) + { + if(!istransientloaded("captured_incinerator_tr")) + { + level notify("tff_pre_autopsy_to_incinerator"); + unloadtransient("captured_autopsy_tr"); + loadtransient("captured_incinerator_tr"); + while(!istransientloaded("captured_incinerator_tr")) + { + wait(0.05); + } + + level notify("tff_post_autopsy_to_incinerator"); + } + } + + param_00 maps\_anim::anim_first_frame([param_02,param_03,param_04],"incinerator_push"); + level.ally show(); + level.player freezecontrols(1); + level.player allowprone(0); + level.player allowcrouch(1); + level.player allowstand(0); + level.player allowjump(0); + level.player allowsprint(0); + level.player thread maps\_utility::blend_movespeedscale(0.2); + thread maps\captured_util::smooth_player_link(param_01,0.4); + thread incinerator_player_damage(); + param_00 = common_scripts\utility::getstruct("struct_anim_incinerator","targetname"); + param_00 thread maps\_anim::anim_single([param_01,level.ally],"incinerator_intro"); + wait(0.05); + param_00 maps\captured_util::anim_set_real_time([param_01,level.ally],"incinerator_intro",2.8); + param_00 maps\_utility::delaythread(getanimlength(level.ally maps\_utility::getanim("incinerator_intro")) - 2.8,::maps\_anim::anim_loop_solo,level.ally,"incinerator_intro_wait_loop","started_pushing_cart"); + var_06 = getanimlength(param_01 maps\_utility::getanim("incinerator_intro")) - 2.7; + level.player common_scripts\utility::delaycall(var_06,::freezecontrols,0); + level.player maps\_utility::delaythread(var_06,::maps\_utility::blend_movespeedscale,0.5,5); + level.player maps\_utility::delaythread(var_06,::incinerator_stance); + level.player common_scripts\utility::delaycall(var_06,::unlink); + param_01 common_scripts\utility::delaycall(var_06,::hide); + wait(8.3); + common_scripts\utility::flag_set("flag_incinerator_fires_start"); + var_05 fadeovertime(0.05); + var_05.alpha = 0; +} + +//Function Number: 8 +incinerator_cart_push(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = maps\_utility::get_rumble_ent(); + var_05 maps\_utility::rumble_ramp_to(0,0.05); + var_06 = getent("use_incinerator_cart","targetname"); + level.pipe = maps\_utility::spawn_anim_model("incinerator_pipe"); + var_07 = spawn("script_model",(7959,-13466,-1773)); + var_07 setmodel("tag_origin"); + level.pipe retargetscriptmodellighting(var_07); + param_00 maps\_anim::anim_first_frame_solo(level.pipe,"incinerator_crawl"); + wait(21); + var_06 makeusable(); + var_06 maps\_utility::addhinttrigger(&"CAPTURED_HINT_PUSH_CONSOLE",&"CAPTURED_HINT_PUSH_PC"); + level notify("incineratory_usable"); + maps\captured_actions::incinerator_push_action(var_06,param_00); + soundscripts\_snd::snd_message("aud_incin_cart_start"); + var_06 delete(); + level.player thread maps\_utility::blend_movespeedscale(0.8); + level.player thread still_pressing_use_button(); + level.player freezecontrols(1); + level.player allowstand(1); + level.player allowprone(0); + level.player allowcrouch(0); + common_scripts\utility::flag_set("flag_incinerator_push_start"); + level.ally setanim(level.ally maps\_utility::getanim("incinerator_push_stop_1")[0],0.9,0.5); + param_00 thread maps\_anim::anim_single_solo(param_01,"incinerator_push_start"); + level.player playerlinktoblend(param_01,"tag_player",0.5); + wait(0.5); + param_01 show(); + level.player playerlinktodelta(param_01,"tag_player",1,0,0,0,0,1); + var_08 = getanimlength(param_01 maps\_utility::getanim("incinerator_push_start")); + wait(var_08 - 0.5); + var_09 = 0; + var_0A = [param_01,level.ally,param_02,param_03,param_04]; + param_00 notify("started_pushing_cart"); + common_scripts\utility::flag_set("flag_pushing_cart"); + soundscripts\_snd::snd_message("aud_incin_cart_push"); + param_00 thread maps\_anim::anim_single(var_0A,"incinerator_push"); + while(var_09 < 0.38) + { + wait(0.05); + param_00 notify("started_pushing_cart"); + var_0B = level.player getnormalizedmovement(); + var_0C = max(var_0B[0],-1 * var_0B[1]); + var_0D = param_01 maps\_utility::getanim("incinerator_push"); + var_0E = getanimlength(var_0D); + var_09 = param_01 getanimtime(var_0D) * var_0E + 0.05 / var_0E; + if(0.2 > var_09 || var_09 > 0.28) + { + if(var_0C > 0.5 && !common_scripts\utility::flag("flag_pushing_cart")) + { + common_scripts\utility::flag_set("flag_pushing_cart"); + maps\_anim::anim_set_rate(var_0A,"incinerator_push",1); + soundscripts\_snd::snd_message("aud_incin_cart_push"); + level.ally thread incinerator_ally_push(param_00,var_09); + continue; + } + + if(var_0C < 0.5 && common_scripts\utility::flag("flag_pushing_cart")) + { + common_scripts\utility::flag_clear("flag_pushing_cart"); + maps\_anim::anim_set_rate(var_0A,"incinerator_push",0); + soundscripts\_snd::snd_message("aud_incin_cart_push_stop"); + level.ally thread incinerator_ally_push_stop(param_00,var_09); + } + } + } + + soundscripts\_snd::snd_message("aud_incin_cart_done"); + level.ally stopanimscripted(); + common_scripts\utility::flag_set("flag_pushing_cart"); + common_scripts\utility::flag_set("flag_incinerator_push_done"); + maps\_anim::anim_set_rate(var_0A,"incinerator_push",1); + level.ally notify("started_pushing_cart"); + param_00 maps\_utility::delaythread(0.05,::maps\_anim::anim_set_time,[level.ally],"incinerator_push",var_09); + param_00 thread maps\captured_anim::anim_single_to_loop_solo(level.ally,"incinerator_push","incinerator_crawl_wait_loop","ally_pull_player"); + param_00 waittill("incinerator_push"); +} + +//Function Number: 9 +incinerator_crawl(param_00,param_01) +{ + common_scripts\utility::flag_set("flag_incinerator_crawl_start"); + maps\_utility::autosave_by_name_silent("incinerator_crawl"); + var_02 = 0; + var_03 = [param_01,level.pipe]; + thread incinerator_player_end_anim_and_cleanup(param_00,var_03); + level.player enableslowaim(0.3,0.15); + level.player playerlinktodelta(param_01,"tag_player",0.5,20,30,15,0,1); + while(!common_scripts\utility::flag("flag_incinerator_player_pipe_grab")) + { + wait(0.05); + var_04 = level.player getnormalizedmovement()[0]; + var_02 = param_01 getanimtime(param_01 maps\_utility::getanim("incinerator_crawl")); + if(var_04 > 0.5 && !common_scripts\utility::flag("flag_pushing_cart")) + { + common_scripts\utility::flag_set("flag_pushing_cart"); + maps\_anim::anim_set_rate(var_03,"incinerator_crawl",1); + continue; + } + + if(var_04 < 0.5 && common_scripts\utility::flag("flag_pushing_cart")) + { + common_scripts\utility::flag_clear("flag_pushing_cart"); + maps\_anim::anim_set_rate(var_03,"incinerator_crawl",0); + } + } + + common_scripts\utility::flag_set("flag_incinerator_crawl_pull"); + maps\_anim::anim_set_rate(var_03,"incinerator_crawl",1); + common_scripts\utility::flag_wait("flag_incinerator_player_saved"); + level.player playerlinktoblend(param_01,"tag_player",1); + param_00 notify("ally_pull_player"); + param_00 thread maps\_anim::anim_single_solo(level.ally,"incinerator_crawl_pull",undefined,0.2); +} + +//Function Number: 10 +incinerator_player_end_anim_and_cleanup(param_00,param_01) +{ + level.player thread maps\_utility::blend_movespeedscale(0.2); + param_00 maps\_anim::anim_single(param_01,"incinerator_crawl"); + setsaveddvar("g_friendlyNameDist",level.friendlynamedist); + level.player unlink(); + level.player freezecontrols(0); + level.player allowstand(1); + level.player allowprone(1); + level.player allowjump(1); + level.player allowcrouch(1); + level.player enableweapons(); + level.player allowsprint(1); + level.player allowmelee(1); + level.player disableslowaim(); + level.player enableoffhandweapons(); + param_01[0] delete(); + level.player thread incinerator_player_wobble(); + level.player thread maps\captured_util::start_one_handed_gunplay("iw5_titan45pickup_sp_xmags"); + level.player maps\_utility::blend_movespeedscale(0.33,5.95); + level.player maps\_utility::delaythread(6,::maps\_utility::blend_movespeedscale,0.8,8); + maps\_player_exo::player_exo_activate(); +} + +//Function Number: 11 +incinerator_stance() +{ + level endon("flag_pushing_cart"); + while(!common_scripts\utility::flag("flag_between_carts_end")) + { + level.player setstance("crouch"); + level.player allowstand(0); + common_scripts\utility::flag_wait_either("flag_between_carts","flag_between_carts_end"); + level.player setstance("stand"); + level.player allowstand(1); + if(common_scripts\utility::flag("flag_between_carts")) + { + level.player forcemantle(); + } + + common_scripts\utility::flag_waitopen("flag_between_carts"); + } +} + +//Function Number: 12 +incinerator_ally_push(param_00,param_01) +{ + self notify("started_pushing_cart"); + self endon("started_pushing_cart"); + self setanim(maps\_utility::getanim("incinerator_push_stop_1")[0],0,0.5); +} + +//Function Number: 13 +incinerator_ally_push_stop(param_00,param_01) +{ + if(param_01 < 0.22) + { + self setanim(maps\_utility::getanim("incinerator_push_stop_1")[0],0.99,0.5); + return; + } + + self setanim(maps\_utility::getanim("incinerator_push_stop_2")[0],0.99,0.5); +} + +//Function Number: 14 +still_pressing_use_button() +{ + self endon("death"); + self endon("started_pushing_cart"); + self.still_pressing_use = 1; + while(self usebuttonpressed()) + { + wait(0.05); + } + + self.still_pressing_use = undefined; +} + +//Function Number: 15 +usebuttonrepressed() +{ + if(isdefined(self.still_pressing_use)) + { + return 0; + } + + return self usebuttonpressed(); +} + +//Function Number: 16 +incinerator_player_damage() +{ + level.player endon("death"); + var_00 = common_scripts\utility::getstruct("incinerator_fire_damage_source","targetname"); + common_scripts\utility::flag_wait("flag_incinerator_fires_start"); + var_01 = 0; + var_02 = 1; + for(var_03 = 0;var_03 < 4;var_03++) + { + level waittill("incinerator_flame_on"); + for(var_04 = 0;var_04 < var_02;var_04++) + { + if(!common_scripts\utility::flag("flag_incinerator_push_done")) + { + wait(0.05); + level.player dodamage(var_01,var_00.origin); + continue; + } + + thread incinerator_rumble_hold(3); + break; + } + + var_01 = var_01 + 5; + var_02 = var_02 + 3; + } + + var_01 = 0; + while(!common_scripts\utility::flag("flag_incinerator_push_done")) + { + wait(0.5); + level.player dodamage(var_01,var_00.origin); + var_01 = var_01 + 0.1; + } + + common_scripts\utility::flag_wait("lgt_flag_inc_near_miss"); + while(!common_scripts\utility::flag("flag_incinerator_crawl_start")) + { + level.player playrumbleonentity("tank_rumble"); + wait(1); + } + + stopallrumbles(); + var_02 = 1; + while(!common_scripts\utility::flag("flag_incinerator_player_pipe_grab")) + { + wait(var_02); + level.player dodamage(var_01,var_00.origin); + var_01 = var_01 + 0.5; + if(var_02 > 0.05) + { + var_05 = randomfloatrange(0.04,0.06); + var_02 = var_02 - var_05; + } + } + + common_scripts\utility::flag_wait("flag_incinerator_player_saved"); + wait(2); + level.player thread incinerator_player_blur(); + level.player playrumbleonentity("damage_heavy"); + for(var_03 = 0;var_03 < 4;var_03++) + { + level.player playrumbleonentity("tank_rumble"); + wait(1); + } +} + +//Function Number: 17 +incinerator_rumble_hold(param_00) +{ + level.player endon("death"); + level endon("flag_incinerator_crawl_start"); + for(var_01 = 0;var_01 < param_00;var_01++) + { + level.player playrumbleonentity("tank_rumble"); + wait(1); + } +} + +//Function Number: 18 +incinerator_player_blur() +{ + self endon("death"); + var_00 = 6; + while(var_00 > 1) + { + var_01 = randomfloatrange(1,2); + setblur(randomfloatrange(0.6666667 * var_00,var_00),var_01); + wait(var_01); + setblur(0,var_01); + wait(var_01); + wait(randomfloatrange(2,4)); + var_00 = var_00 - 1.2; + } +} + +//Function Number: 19 +incinerator_player_wobble() +{ + self endon("death"); + var_00 = common_scripts\utility::spawn_tag_origin(); + var_01 = (randomfloatrange(-6,6),randomfloatrange(-6,6),randomfloatrange(-6,6)); + self playersetgroundreferenceent(var_00); + var_00 rotateto(var_01,3,randomfloatrange(0.75,1.5),randomfloatrange(0.75,1.5)); + wait(3); + var_00 rotateto((0,0,0),3,randomfloatrange(0.75,1.5),randomfloatrange(0.75,1.5)); + wait(3); + self playersetgroundreferenceent(undefined); + var_00 delete(); +} + +//Function Number: 20 +nt_incinerator_player_saved(param_00) +{ + common_scripts\utility::flag_set("flag_incinerator_player_saved"); +} + +//Function Number: 21 +nt_incinerator_player_pipe_grab(param_00) +{ + soundscripts\_snd::snd_message("aud_incin_pipe_grab"); + common_scripts\utility::flag_set("flag_incinerator_player_pipe_grab"); +} + +//Function Number: 22 +start_battle_to_heli() +{ + maps\captured_util::warp_allies("struct_allystart_battle_to_heli"); + level.player thread maps\_utility::blend_movespeedscale(0.8); + level.player maps\captured_util::warp_to_start("struct_playerstart_battle_to_heli"); + level.player thread maps\captured_util::start_one_handed_gunplay("iw5_titan45pickup_sp_xmags"); + maps\_player_exo::player_exo_activate(); + soundscripts\_snd::snd_message("start_battle_to_heli"); + thread maps\_utility::battlechatter_off("allies"); + thread maps\_utility::battlechatter_off("axis"); +} + +//Function Number: 23 +main_battle_to_heli() +{ + level thread bh_intro(); + if(level.currentgen) + { + if(!istransientloaded("captured_helipad_tr")) + { + level waittill("tff_post_incinerator_to_helipad"); + } + } + + thread maps\captured_util::captured_caravan_spawner("s3_exterior_trucks",undefined,3.5,7,"helipad"); + thread bh_yard_doors(); + level bh_pit(); + level bh_yard(); + level bh_yard_exit(); + level thread run_to_heli_heli_landing(); + common_scripts\utility::flag_wait("flag_bh_run_manticore_done"); +} + +//Function Number: 24 +bh_intro() +{ + level.ally thread maps\_utility::set_force_color("r"); + var_00 = maps\_utility::spawn_targetname("opfor_bh_intro_alarm",1); + var_00 maps\captured_util::ignore_everything(); + var_00.allowdeath = 1; + var_01 = common_scripts\utility::getstruct("struct_scene_battle_to_heli_alarm_guard","targetname"); + var_01 thread maps\_anim::anim_loop([var_00],"alarm_start_loop","stop_alarm_loop"); + common_scripts\utility::flag_wait("flag_bh_intro_start_scene"); + if(level.nextgen) + { + maps\_utility::autosave_by_name("bh_intro"); + } + else + { + thread bh_intro_autosave(); + } + + var_01 notify("stop_alarm_loop"); + var_00.allowdeath = 1; + var_01 thread maps\captured_anim::anim_single_to_loop([var_00],"alarm_push","alarm_end_loop","stop_alarm_loop"); + soundscripts\_snd::snd_message("start_outdoor_alarms"); + maps\_utility::delaythread(2.4,::common_scripts\utility::flag_set,"flag_bh_intro_caught"); + maps\_utility::delaythread(2.9,::common_scripts\utility::flag_set,"flag_bh_intro_caught_late"); +} + +//Function Number: 25 +bh_intro_autosave() +{ + common_scripts\utility::flag_wait("flag_bh_intro_currentgen_autosave"); + maps\_utility::autosave_by_name("bh_intro"); +} + +//Function Number: 26 +bh_pit() +{ + common_scripts\utility::flag_wait("flag_bh_pit"); + thread maps\_utility::battlechatter_on("allies"); + thread maps\_utility::battlechatter_on("axis"); + level.nextgrenadedrop = 573000; + thread bh_helo_flyby(); + maps\_utility::flood_spawn(getentarray("opfor_bh_pit","targetname")); + maps\captured_util::delay_retreat("opfor_bh",30,-2,"flag_bh_pit_end","color_bh_pit_end",1); + thread maps\_spawner::killspawner(1300); + level thread bh_pit_exit(getent("color_bh_yard_start","targetname"),-1 * maps\_utility::get_ai_group_sentient_count("opfor_bh")); +} + +//Function Number: 27 +bh_pit_exit(param_00,param_01) +{ + level endon("bh_pit_all_clear"); + var_02 = getnodearray("traverse_bh_disconnect","script_noteworthy"); + disconnectnodepair(var_02[0],var_02[1]); + level thread bh_pit_yard_visblock(getent("visblock_bh_pit_end","targetname")); + maps\_utility::flood_spawn(getentarray("opfor_bh_pit_exit","targetname")); + thread maps\captured_util::delay_retreat("opfor_bh",20,param_01 - 1,"flag_bh_pit_all_clear","color_bh_yard_start",1); + while(!common_scripts\utility::flag("flag_bh_yard") && !common_scripts\utility::flag("flag_bh_pit_all_clear")) + { + var_03 = level.player getcurrentweapon(); + if(var_03 != "none" && var_03 != "iw5_kvahazmatknifeonearm_sp" && level.player getammocount(var_03) / weaponclipsize(var_03) >= 0.5) + { + break; + } + + wait(0.05); + } + + if(common_scripts\utility::flag("flag_bh_yard") || common_scripts\utility::flag("flag_bh_pit_all_clear")) + { + level bh_pit_cleanup(); + } + + while(!common_scripts\utility::flag("flag_bh_yard") && !common_scripts\utility::flag("flag_bh_pit_all_clear") && !maps\_utility::player_can_see_ai(level.ally)) + { + wait(0.05); + } + + if(common_scripts\utility::flag("flag_bh_yard") || common_scripts\utility::flag("flag_bh_pit_all_clear")) + { + level bh_pit_cleanup(); + } + + param_00 common_scripts\utility::trigger_on(); + param_00 waittill("trigger"); + level bh_pit_cleanup(); +} + +//Function Number: 28 +bh_yard() +{ + level.one_handed_help = 1; + maps\_utility::flood_spawn(getentarray("opfor_bh_yard_ar","targetname")); + maps\_utility::flagwaitthread("flag_bh_yard",::maps\_utility::flood_spawn,getentarray("opfor_bh_yard_smg","targetname")); + maps\_utility::flagwaitthread("flag_bh_runaway",::common_scripts\utility::flag_set,"flag_bh_back"); + maps\captured_util::delay_retreat("opfor_bh",120,[-9,3],"flag_bh_back","color_bh_back",1); + getent("color_bh_yard","targetname") delete(); + thread maps\_spawner::killspawner(1302); + maps\_utility::flood_spawn(getentarray("opfor_bh_yard_exit","targetname")); + maps\captured_util::delay_retreat("opfor_bh",90,0,"flag_bh_runaway","color_bh_runaway",1); + level.player thread maps\captured_util::one_handed_modify_threatbias("standard"); + var_00 = getent("trig_bh_open_yard_doors","targetname"); + var_00 maps\_utility::flagwaitthread("gps_bh_mech_loader_room",::common_scripts\utility::trigger_on); + level.player maps\_utility::flagwaitthread("gps_bh_mech_loader_room",::maps\captured_util::one_handed_modify_threatbias,"aggro"); + thread bh_run_mechs(); + level.one_handed_help = undefined; + thread maps\_spawner::killspawner(1303); +} + +//Function Number: 29 +bh_yard_exit() +{ + var_00 = getentarray("door_bh_yard","targetname"); + level.ally maps\_utility::disable_ai_color(); + level.ally maps\_utility::follow_path(getnode("node_bh_yard_exit","targetname")); + wait(0.5); + while(distance2d(level.ally.origin,level.player.origin) > 160 && !common_scripts\utility::flag("gps_bh_mech_loader_room")) + { + wait(0.05); + } + + level.player notify("gps_bh_mech_loader_room_stop_flagWaitThread"); + level.player thread maps\captured_util::one_handed_modify_threatbias("default"); + level notify("bh_doors_manual"); + soundscripts\_snd::snd_message("aud_door","yard_doors","open"); + foreach(var_02 in var_00) + { + var_02 moveto(var_02.open,1.25,0.2,0.5); + var_02.link common_scripts\utility::delaycall(0.75,::connectpaths); + } + + level.ally maps\_utility::enable_cqbwalk(); + var_04 = common_scripts\utility::getstruct("struct_run_to_heli_manticore","targetname"); + var_04 maps\_anim::anim_reach_solo(level.ally,"runtoheli_window_start"); + level notify("bh_ally_start_manticore_anims"); + var_04 thread maps\captured_anim::anim_single_to_loop(level.ally,"runtoheli_window_start","runtoheli_window_loop","runtoheli_window_ender"); + thread rh_loader_movement(); + thread maps\_utility::battlechatter_off("allies"); + thread maps\_utility::battlechatter_off("axis"); + for(;;) + { + common_scripts\utility::flag_wait("gps_bh_mech_loader_room"); + soundscripts\_snd::snd_message("aud_door","yard_doors","close"); + foreach(var_02 in var_00) + { + var_02 moveto(var_02.close,1.25,0.2,0.5); + var_02.link common_scripts\utility::delaycall(0.5,::disconnectpaths); + var_02.link common_scripts\utility::delaycall(0.75,::disconnectpaths); + } + + wait(1.25); + if(common_scripts\utility::flag("gps_bh_mech_loader_room")) + { + break; + } + + soundscripts\_snd::snd_message("aud_door","yard_doors","open"); + wait(0.25); + foreach(var_02 in var_00) + { + var_02 moveto(var_02.open,1.25,0.2,0.5); + var_02.link common_scripts\utility::delaycall(0.5,::connectpaths); + } + + wait(1.25); + } + + var_09 = getent("gps_bh_mech_loader_room","targetname"); + var_0A = maps\_utility::get_ai_group_ai("opfor_bh"); + foreach(var_0C in var_0A) + { + if(!var_0C istouching(var_09)) + { + var_0C notify("stop_opfor_one_handed"); + var_0C delete(); + } + } +} + +//Function Number: 30 +bh_helo_flyby() +{ + var_00 = getent("vehicle_bh_warbird_ambient","targetname"); + var_01 = var_00 maps\_vehicle::spawn_vehicle_and_gopath(); + var_01 soundscripts\_snd::snd_message("aud_heli_battle_flyover"); + if(level.currentgen) + { + var_01 thread maps\captured_util::tff_cleanup_vehicle("helipad"); + } + + var_01 maps\_vehicle::godon(); + thread maps\captured_fx::fx_heli_flyby_dust(var_01); +} + +//Function Number: 31 +bh_pit_yard_visblock(param_00) +{ + param_00 movez(256,0.05); + common_scripts\utility::flag_wait("flag_bh_pit_all_clear"); + param_00 maps\_utility::delaythread(30,::maps\_utility::_delete); + param_00 maps\_utility::flagwaitthread(["flag_bh_yard",15],::maps\_utility::_delete); + while(isdefined(param_00)) + { + level waittill("ai_killed",var_01); + if(isdefined(var_01.script_noteworthy) && var_01.script_noteworthy == "opfor_bh_pit") + { + continue; + } + + if(isdefined(var_01.lastattacker) && isplayer(var_01.lastattacker)) + { + break; + } + } + + if(isdefined(param_00)) + { + param_00 delete(); + } +} + +//Function Number: 32 +bh_yard_doors() +{ + level endon("bh_doors_manual"); + var_00 = common_scripts\utility::getstruct("door_bh_yard_close","targetname"); + var_01 = getentarray("door_bh_yard","targetname"); + foreach(var_03 in var_01) + { + var_04 = getent(var_03.target,"targetname"); + var_04 linkto(var_03); + var_03.link = var_04; + var_03.open = var_03.origin; + var_03.close = var_00.origin; + var_03 moveto(var_03.close,0.05); + } + + for(;;) + { + common_scripts\utility::flag_wait_either("flag_bh_open_yard_doors_in","flag_bh_open_yard_doors_out"); + soundscripts\_snd::snd_message("aud_door","yard_doors","open"); + foreach(var_03 in var_01) + { + var_03 moveto(var_03.open,1.25,0.2,0.5); + var_03.link common_scripts\utility::delaycall(0.5,::connectpaths); + } + + wait(1.5); + while(common_scripts\utility::flag("flag_bh_open_yard_doors_in") || common_scripts\utility::flag("flag_bh_open_yard_doors_out")) + { + wait(0.05); + } + + soundscripts\_snd::snd_message("aud_door","yard_doors","close"); + foreach(var_03 in var_01) + { + var_03 moveto(var_03.close,1.25,0.2,0.5); + var_03.link common_scripts\utility::delaycall(0.5,::disconnectpaths); + } + } +} + +//Function Number: 33 +bh_pit_cleanup() +{ + thread maps\_spawner::killspawner(1301); + maps\_utility::autosave_by_name("bh_yard"); + var_00 = maps\_utility::get_living_ai_array("opfor_bh_pit_exit_AI","targetname"); + maps\_utility::delaythread(randomfloat(1),::common_scripts\utility::array_thread,var_00,::maps\_utility::follow_path,getnode("cover_bh_yard","targetname")); + if(!common_scripts\utility::flag("flag_bh_pit_all_clear")) + { + common_scripts\utility::flag_set("flag_bh_pit_all_clear"); + } + + wait(0.05); + if(common_scripts\utility::flag("flag_bh_yard")) + { + getent("color_bh_yard","targetname") notify("trigger"); + } + + level notify("bh_pit_all_clear"); +} + +//Function Number: 34 +start_run_to_heli() +{ + maps\captured_util::warp_allies("struct_allystart_run_to_heli"); + level.ally thread maps\_utility::set_force_color("r"); + getent("color_bh_runaway","targetname") notify("trigger"); + thread bh_run_mechs(); + thread rh_loader_movement(); + level.ally maps\_utility::enable_cqbwalk(); + var_00 = common_scripts\utility::getstruct("struct_run_to_heli_manticore","targetname"); + var_00 maps\_anim::anim_reach_solo(level.ally,"runtoheli_window_start"); + level notify("bh_ally_start_manticore_anims"); + var_00 thread maps\captured_anim::anim_single_to_loop(level.ally,"runtoheli_window_start","runtoheli_window_loop","runtoheli_window_ender"); + level.player thread maps\_utility::blend_movespeedscale(0.8); + level.player maps\captured_util::warp_to_start("struct_playerstart_run_to_heli"); + level.player thread maps\captured_util::start_one_handed_gunplay("iw5_titan45pickup_sp_xmags"); + maps\_player_exo::player_exo_activate(); + thread maps\_utility::battlechatter_off("allies"); + thread maps\_utility::battlechatter_off("axis"); + level thread maps\captured_util::captured_caravan_spawner("s3_exterior_trucks",undefined,3.5,7,"helipad"); + level thread run_to_heli_heli_landing(); +} + +//Function Number: 35 +main_run_to_heli() +{ + run_to_heli_manticore_scene(level.rh_exit_door); + thread bh_attacker_accuracy_increaser(); + var_00 = maps\_utility::spawn_targetname("opfor_bh_helo_stairs"); + level.ally maps\_utility::disable_cqbwalk(); + level.ally.ignoreall = 0; + thread bh_run_civilians(); + common_scripts\utility::flag_set("flag_bh_run"); + level.ally maps\_utility::disable_ai_color(); + level.ally thread maps\_utility::follow_path(getnode("node_bh_run","targetname")); + setsaveddvar("player_sprintUnlimited","1"); + level notify("stop_caravan_spawner"); + var_01 = maps\_vehicle::spawn_vehicles_from_targetname_and_drive("veh_bh_explo"); + var_02 = maps\_vehicle::spawn_vehicles_from_targetname_and_drive("veh_bh_mid"); + var_01 soundscripts\_snd::snd_message("aud_cap_escape_to_heli_truck_1"); + var_02 soundscripts\_snd::snd_message("aud_cap_escape_to_heli_truck_2"); + if(level.currentgen) + { + var_01 thread maps\captured_util::tff_cleanup_vehicle("helipad"); + var_02 thread maps\captured_util::tff_cleanup_vehicle("helipad"); + } + + wait(1.5); + if(!common_scripts\utility::flag("flag_bh_helo_opfor_stairs")) + { + level.ally shoot(); + maps\_utility::kill_deathflag("flag_bh_helo_opfor_stairs"); + } + + wait(2.2); + level.ally shoot(); + common_scripts\utility::flag_wait("flag_battle_to_heli_end"); +} + +//Function Number: 36 +run_to_heli_heli_landing() +{ + common_scripts\_exploder::exploder("fx_heli_flyby_dust_settle"); + var_00 = getent("vehicle_bh_warbird","targetname"); + var_01 = var_00 maps\_vehicle::spawn_vehicle_and_gopath(); + var_01 soundscripts\_snd::snd_message("aud_heli_manticore_flyover"); + var_01 soundscripts\_snd::snd_message("aud_heli_escape_idle_sfx"); + if(level.currentgen) + { + var_01 thread maps\captured_util::tff_cleanup_vehicle("helipad"); + } + + var_01 thread setup_warbird(); + thread maps\captured_fx::fx_heli_manticore_dust(var_01); +} + +//Function Number: 37 +run_to_heli_manticore_scene(param_00) +{ + level endon("run_to_heli_failed"); + level notify("lgt_dof_run_to_heli"); + level.ally maps\captured_util::ignore_everything(); + level.player.ignoreme = 1; + var_01 = common_scripts\utility::getstruct("struct_run_to_heli_manticore","targetname"); + common_scripts\utility::flag_wait("flag_player_and_ally_at_window"); + var_02 = maps\_utility::array_spawn_targetname("opfor_bh_at_helo",1); + common_scripts\utility::array_thread(var_02,::maps\_utility::set_baseaccuracy,0.01); + thread bh_heli_enemy_killer(var_02,var_01); + common_scripts\utility::flag_waitopen("flag_currently_nagging"); + wait(1); + var_03 = getanimlength(level.ally maps\_utility::getanim("runtoheli_window_start")); + var_04 = level.ally getanimtime(level.ally maps\_utility::getanim("runtoheli_window_start")); + if(var_04 > 0) + { + wait(var_03 - var_04 * var_03); + } + + var_01 notify("runtoheli_window_ender"); + var_01 maps\_anim::anim_single_solo(level.ally,"runtoheli_window"); + var_01 thread maps\captured_anim::anim_single_to_loop(level.ally,"runtoheli_door_start","runtoheli_door_loop","runtoheli_door_ender"); + var_05 = getanimlength(level.ally maps\_utility::getanim("runtoheli_door_start")); + wait(var_05); + common_scripts\utility::flag_set("flag_bh_run_ally_ready"); + for(var_06 = 0;var_06 < 15;var_06++) + { + if(maps\_utility::player_can_see_ai(level.ally)) + { + break; + } + + wait(0.5); + } + + thread maps\_utility::autosave_now(); + var_01 notify("runtoheli_door_ender"); + var_01 thread maps\_anim::anim_single_solo(level.ally,"runtoheli_door_kick"); + var_01 thread maps\_anim::anim_single_solo(param_00,"runtoheli_door_kick"); + param_00.col connectpaths(); + level notify("stop_caravan_spawner"); +} + +//Function Number: 38 +bh_attacker_accuracy_increaser() +{ + level.player endon("death"); + level endon("flag_heliride_warbird_mount"); + level.player maps\_utility::set_player_attacker_accuracy(0.01); + common_scripts\utility::flag_wait("flag_bh_run"); + var_00 = 0.01; + var_01 = 0.01; + var_02 = 1; + var_03 = 1; + for(;;) + { + if(common_scripts\utility::flag("flag_runtoheli_player_bounds")) + { + var_02 = var_02 + 3; + } + else + { + var_02 = 0.25; + } + + if(var_02 > 10) + { + level.player dodamage(500,(12248,-12629,-1948)); + } + + if(var_00 > 0.01) + { + var_01 = var_01 * var_02; + } + + level.player maps\_utility::set_player_attacker_accuracy(var_01); + var_00 = var_00 + 0.01; + var_01 = var_00; + if(level.player maps\_player_exo::overdrive_is_on() && common_scripts\utility::flag("flag_runtoheli_player_bounds")) + { + var_03 = 0.2; + } + else + { + var_03 = 0.4; + } + + wait(var_03); + if(var_00 > 0.4) + { + break; + } + } + + var_04 = getent("trigger_battle_to_heli_end","targetname"); + var_04 delete(); + level notify("run_to_heli_failed"); + level._facility.warbird maps\_vehicle::godoff(); + level._facility.warbird.perferred_crash_location = level._facility.warbird; + level._facility.warbird maps\_utility::destructible_force_explosion(); + level.ally maps\_utility::stop_magic_bullet_shield(); + level.ally kill(); + setdvar("ui_deadquote",&"CAPTURED_FAIL_GIDEON_KILLED"); + thread maps\_utility::missionfailedwrapper(); +} + +//Function Number: 39 +bh_run_civilians() +{ + level endon("run_to_heli_failed"); + wait(1); + var_00 = maps\_utility::array_spawn_targetname("run_to_heli_civilians"); + foreach(var_02 in var_00) + { + var_02.team = "allies"; + var_02.diequietly = 1; + } + + common_scripts\utility::array_thread(var_00,::maps\captured_util::ignore_everything); + common_scripts\utility::flag_wait("flag_heliride_warbird_mount"); + var_00 = maps\_utility::remove_dead_from_array(var_00); + maps\_utility::array_kill(var_00); +} + +//Function Number: 40 +bh_run_mechs() +{ + level endon("run_to_heli_failed"); + var_00 = maps\_utility::array_spawn(getentarray("opfor_bh_mech","targetname"),1); + common_scripts\utility::array_thread(var_00,::maps\captured_util::ignore_everything); + var_01 = getdvarfloat("ai_eventDistGunshot"); + setsaveddvar("ai_eventDistGunshot",0); + var_02 = maps\_utility::array_spawn(getentarray("run_to_heli_mechanic","targetname"),1); + common_scripts\utility::array_thread(var_02,::maps\captured_util::ignore_everything); + var_02[0].animname = "worker_1"; + var_02[1].animname = "worker_2"; + var_03 = common_scripts\utility::getstruct("struct_runtoheli_mech_worker_1","targetname"); + var_04 = common_scripts\utility::getstruct("struct_runtoheli_mech_worker_2","targetname"); + var_03 thread maps\_anim::anim_loop_solo(var_02[0],"runtoheli_worker_window_loop_1"); + var_04 thread maps\_anim::anim_loop_solo(var_02[1],"runtoheli_worker_window_loop_2"); + maps\_utility::trigger_wait_targetname("run_to_heli_exited_door"); + maps\_utility::array_delete(var_02); + var_05 = getent("door_bh_mech","targetname"); + var_06 = getent("door_bh_mech_door_cover","targetname"); + var_06 hide(); + var_06 notsolid(); + var_05 movez(100,6,0,0.5); + var_07 = getnodearray("bh_run_mech_node","targetname"); + wait(3); + common_scripts\utility::array_thread(var_00,::maps\captured_util::unignore_everything); + setsaveddvar("ai_eventDistGunshot",var_01); + wait(3); + var_08 = 0; + foreach(var_0A in var_00) + { + if(isalive(var_0A)) + { + var_0A notify("stop_hunting"); + var_0A thread maps\_mech::mech_generic_attacking_behavior(); + var_0A.walkdist = 999999; + var_0A.walkdistfacingmotion = var_0A.walkdist; + var_0A.goalradius = 80; + var_0A thread maps\_utility::follow_path(var_07[var_08]); + var_08 = var_08 + 1; + wait(randomfloatrange(1,3)); + } + } +} + +//Function Number: 41 +bh_heli_enemy_killer(param_00,param_01) +{ + level endon("run_to_heli_failed"); + level._facility.warbird thread vehicle_scripts\_xh9_warbird::open_left_door(); + param_01 waittill("runtoheli_door_ender"); + wait(4); + level.player.ignoreme = 0; + foreach(var_03 in param_00) + { + if(isalive(var_03)) + { + var_03 maps\_utility::set_ignoresuppression(1); + } + } + + wait(3); + var_05 = 1; + foreach(var_03 in param_00) + { + if(isalive(var_03)) + { + level.ally shoot(); + level.ally shoot(); + maps\_utility::kill_deathflag(var_03.script_deathflag); + } + + wait(randomfloatrange(0.5,1.5)); + } +} + +//Function Number: 42 +bh_cleanup() +{ + var_00 = getentarray("opfor_bh_helo","targetname"); + foreach(var_02 in var_00) + { + var_02 notify("stop current floodspawner"); + } + + var_04 = getaiarray("axis"); + foreach(var_06 in var_04) + { + if(isdefined(var_06.targetname)) + { + if(var_06.targetname != "actor_player_mech_AI") + { + var_06.diequietly = 1; + } + } + } + + maps\_utility::kill_deathflag("flag_bh_helo_opfor_killed"); + maps\_utility::kill_deathflag("flag_bh_helo_opfor_killed_1"); + maps\_utility::kill_deathflag("flag_bh_helo_opfor_killed_2"); + maps\_utility::kill_deathflag("flag_bh_helo_opfor_killed_3"); + maps\_utility::kill_deathflag("flag_bh_opfor_killed"); + foreach(var_06 in var_04) + { + if(isdefined(var_06) && isalive(var_06)) + { + if(!var_06 == level.pilot || var_06 == level.mech_pilot) + { + if(isdefined(self.magic_bullet_shield) && self.magic_bullet_shield) + { + var_06 maps\_utility::stop_magic_bullet_shield(); + } + + if(isdefined(var_06.targetname)) + { + if(var_06.targetname != "actor_player_mech_AI") + { + var_06 delete(); + } + } + } + } + } + + level.player notify("stop_one_handed_gunplay"); + setsaveddvar("player_sprintUnlimited","0"); +} + +//Function Number: 43 +rh_loader_movement() +{ + level endon("run_to_heli_failed"); + level endon("stop_caravan_spawner"); + var_00 = undefined; + var_01 = getent("crane_straps","targetname"); + var_02 = getent("rh_crane_front","targetname"); + var_03 = getentarray("manticore_pallet_moving","targetname"); + foreach(var_05 in var_03) + { + if(!isdefined(var_00)) + { + var_00 = var_05; + continue; + } + + var_05 linkto(var_00); + } + + var_07 = getent("rh_crane_back","targetname"); + playfxontag(level._effect["cap_crane_light"],var_02,"crane_T"); + playfxontag(level._effect["cap_crane_light"],var_07,"crane_T"); + soundscripts\_snd::snd_message("aud_manticore_crane"); + var_02 movey(240,10,2,2); + var_01 movey(240,10,2,2); + var_00 movey(240,10,2,2); + wait(10); + var_01 movez(-122,8,2,2); + var_00 movez(-122,8,2,2); + wait(9); + var_01 movez(60,4,2,2); + wait(4); + var_02 movey(-400,15,2,2); + var_01 movey(-400,15,2,2); + wait(15); + var_07 movex(-460,10,2,2); + wait(10); + var_07 movex(460,10,2,2); +} + +//Function Number: 44 +setup_spawners() +{ + maps\_utility::array_spawn_function(getentarray("opfor_bh_pit","targetname"),::opfor_bh); + maps\_utility::array_spawn_function(getentarray("opfor_bh_pit_exit","targetname"),::opfor_bh); + maps\_utility::array_spawn_function(getentarray("opfor_bh_yard_ar","targetname"),::opfor_bh); + maps\_utility::array_spawn_function(getentarray("opfor_bh_yard_pyr_ar","targetname"),::opfor_bh); + maps\_utility::array_spawn_function(getentarray("opfor_bh_yard_smg","targetname"),::opfor_bh); + maps\_utility::array_spawn_function(getentarray("opfor_bh_yard_pyr_smg","targetname"),::opfor_bh); + maps\_utility::array_spawn_function(getentarray("opfor_bh_yard_exit","targetname"),::opfor_bh); + maps\_utility::array_spawn_function(getentarray("opfor_bh_helo","targetname"),::opfor_bh); + maps\_utility::array_spawn_function(getentarray("opfor_bh_helo_stairs","targetname"),::opfor_bh); + maps\_utility::array_spawn_function(getentarray("opfor_bh_at_helo","targetname"),::opfor_bh); + maps\_utility::array_spawn_function(getentarray("cover_bh_run","target"),::opfor_bh); + maps\_utility::array_spawn_function(getentarray("opfor_bh_intro_alarm","targetname"),::actor_alarm_guard); +} + +//Function Number: 45 +opfor_bh() +{ + self endon("death"); + level endon("run_to_heli_failed"); + thread maps\captured_util::opfor_death_mod(); + thread maps\captured_util::opfor_ammo_drop_mod(); + thread maps\_utility::set_grenadeammo(int(max(0,randomintrange(-3,3)))); + var_00 = undefined; + if(isdefined(self.target,"targetname")) + { + var_00 = getentarray(self.target,"targetname"); + } + + while(isdefined(var_00) && var_00.size > 0) + { + var_01 = randomint(var_00.size); + if(isdefined(var_00[var_01].target) && isdefined(var_00[var_01].script_flag_wait) && common_scripts\utility::flag(var_00[var_01].script_flag_wait)) + { + var_00 = getentarray(var_00[var_01].target,"targetname"); + continue; + } + + thread maps\_utility::follow_path(var_00[var_01]); + break; + } +} + +//Function Number: 46 +actor_alarm_guard() +{ + self endon("death"); + self.no_friendly_fire_penalty = 1; + self.animname = "op_alarm"; +} + +//Function Number: 47 +main_heliride() +{ + thread vtol_sequence(); + thread maps\_utility::battlechatter_off("allies"); + thread maps\_utility::battlechatter_off("axis"); + common_scripts\_exploder::exploder("fx_heli_flyby_dust_settle"); + common_scripts\_exploder::exploder("fx_heli_dust_settle"); + common_scripts\utility::flag_wait("flag_heliride_warbird_mount"); + setsaveddvar("g_friendlyNameDist",0); + common_scripts\utility::flag_set("flag_battle_to_heli_end"); + soundscripts\_snd::snd_message("stop_post_courtyard_ext_alarms_2"); + common_scripts\utility::array_thread(getentarray("trig_mb1","script_noteworthy"),::common_scripts\utility::trigger_off); + common_scripts\utility::array_thread(getentarray("trig_mb2","script_noteworthy"),::common_scripts\utility::trigger_off); + maps\_utility::flood_spawn(getentarray("opfor_bh_helo","targetname")); + level thread maps\captured_fx::fx_heli_ride(); + common_scripts\utility::flag_wait("flag_heliride_end"); + common_scripts\utility::array_thread(getentarray("trig_mb1","script_noteworthy"),::common_scripts\utility::trigger_on); + common_scripts\utility::array_thread(getentarray("trig_mb2","script_noteworthy"),::common_scripts\utility::trigger_on); +} + +//Function Number: 48 +vtol_sequence() +{ + level endon("run_to_heli_failed"); + level.player endon("death"); + var_00 = level._facility.warbird; + var_00.animname = "warbird"; + common_scripts\utility::flag_wait("flag_heliride_warbird_mount"); + level.player common_scripts\utility::delaycall(6.25,::playrumbleonentity,"heavy_1s"); + level.player common_scripts\utility::delaycall(9.45,::playrumbleonentity,"heavy_1s"); + level.player common_scripts\utility::delaycall(12.45,::playrumbleonentity,"light_2s"); + level.player common_scripts\utility::delaycall(15,::playrumbleonentity,"heavy_3s"); + level.player common_scripts\utility::delaycall(18,::playrumbleonentity,"heavy_1s"); + level.player common_scripts\utility::delaycall(19.75,::playrumbleonentity,"light_1s"); + level.player common_scripts\utility::delaycall(21,::playrumbleonentity,"heavy_3s"); + level.player common_scripts\utility::delaycall(25.25,::playrumbleonentity,"heavy_1s"); + level.player common_scripts\utility::delaycall(26.4,::playrumbleonentity,"heavy_1s"); + level.player common_scripts\utility::delaycall(26.75,::playrumbleonentity,"heavy_3s"); + setsaveddvar("ammoCounterHide","1"); + level.player notify("stop_one_handed_gunplay"); + level.player stopsliding(); + level.player allowpowerslide(0); + level.player setstance("stand"); + level.player freezecontrols(1); + level.player allowcrouch(0); + level.player allowjump(0); + level.player allowmelee(0); + level.player allowprone(0); + level.player allowsprint(0); + var_01 = spawnstruct(); + var_01.origin = (10401.94,-5807.297,637.251); + level.glass = spawn("script_model",var_01.origin); + level.glass setmodel("vehicle_xh9_warbird_interior_glass"); + level.glass linkto(level._facility.warbird,"tag_origin",(0,0,0),(0,0,0)); + level.glass hide(); + level.glass_broken = spawn("script_model",var_01.origin); + level.glass_broken setmodel("vehicle_xh9_warbird_interior_glass_brkn"); + level.glass_broken linkto(level._facility.warbird,"tag_origin",(0,0,0),(0,0,0)); + level.glass_broken hide(); + maps\_player_exo::player_exo_deactivate(); + level.player maps\_utility::player_speed_default(); + level.ally maps\_utility::disable_heat_behavior(); + level.ally maps\captured_util::unignore_everything(); + level.player maps\_utility::set_player_attacker_accuracy(1); + level.player enableinvulnerability(); + maps\_utility::autosave_by_name("heliride"); + level.player_rig = maps\_utility::spawn_anim_model("player_rig"); + level.player_rig hide(); + var_02 = getent("heliride_mech_pilot","targetname"); + level.mech_pilot = var_02 maps\_utility::spawn_ai(1); + level.mech_pilot.animname = "heli_mech_pilot"; + var_03 = getent("heliride_pilot","targetname"); + level.pilot = var_03 maps\_utility::spawn_ai(1); + level.pilot.animname = "heli_pilot"; + var_04 = maps\_utility::spawn_anim_model("heli_mech"); + var_05 = [level.ally,var_00,level.pilot,var_04,level.mech_pilot]; + var_01 thread maps\_anim::anim_single_solo(level.player_rig,"warbird_scene_begin"); + thread heliride_rockets_and_slowmo(); + level.player disableweapons(); + level notify("all_heliride_pieces_spawned"); + level.player playerlinktoblend(level.player_rig,"tag_player",0.5); + var_06 = getanimlength(level.player_rig maps\_utility::getanim("warbird_scene_begin")); + thread bh_cleanup(); + wait(var_06); + level.player_rig show(); + var_01 thread warbird_anims(var_05); + var_01 maps\_anim::anim_single_solo(level.player_rig,"warbird_scene"); + var_07 = maps\_hud_util::create_client_overlay("black",1,level.player); + level notify("heli_ride_crashed"); + level.player showviewmodel(); + var_00 delete(); + level.player_rig delete(); + var_04 delete(); + level.pilot delete(); + level.mech_pilot delete(); + level.player disableinvulnerability(); + if(isdefined(common_scripts\utility::getstruct("struct_playerstart_mb1","targetname"))) + { + level.player maps\captured_util::warp_to_start("struct_playerstart_mb1"); + } + + if(level.currentgen) + { + if(!istransientloaded("captured_mechbattle_tr")) + { + level notify("tff_pre_helipad_to_mechbattle"); + unloadtransient("captured_helipad_tr"); + loadtransient("captured_mechbattle_tr"); + while(!istransientloaded("captured_mechbattle_tr")) + { + wait(0.05); + } + + level notify("tff_post_helipad_to_mechbattle"); + } + } + + wait(5.1); + var_07 fadeovertime(5); + var_07.alpha = 0; + thread maps\captured_fx::fx_heli_crash_hero_falling_dust(); + setsaveddvar("ammoCounterHide","0"); + common_scripts\utility::flag_set("flag_heliride_end"); +} + +//Function Number: 49 +warbird_anims(param_00) +{ + thread maps\_anim::anim_single(param_00,"warbird_scene"); + level waittill("heliride_blood"); + level.glass show(); + level waittill("heliride_punch"); + level.glass hide(); + level.glass_broken show(); + common_scripts\utility::flag_wait("flag_heliride_end"); + level.glass delete(); + level.glass_broken delete(); +} + +//Function Number: 50 +heliride_rockets_and_slowmo() +{ + level endon("run_to_heli_failed"); + level.player endon("death"); + wait(4); + var_00 = common_scripts\utility::getstruct("heliride_rocket_start","targetname"); + var_01 = common_scripts\utility::getstruct("heliride_rocket_end_01","targetname"); + var_02 = magicbullet("iw5_mahemstraight_sp",var_00.origin,var_01.origin); + wait(1.5); + var_01 = common_scripts\utility::getstruct("heliride_rocket_end_02","targetname"); + var_02 = magicbullet("iw5_mahemstraight_sp",var_00.origin,var_01.origin); + level waittill("heliride_slowmo_start"); + settimescale(0.75); + level waittill("heliride_slowmo_end"); + settimescale(1); +} + +//Function Number: 51 +nt_warbird_mech_link(param_00) +{ + var_01 = param_00; + var_01 vehicle_jetbikesethoverforcescale(level._facility.warbird,"tag_origin",(0,0,0),(0,0,0)); +} + +//Function Number: 52 +nt_warbird_anims_start(param_00) +{ + level notify("heliride_start"); +} + +//Function Number: 53 +nt_helicrash_slowstart(param_00) +{ + level notify("heliride_slowmo_start"); +} + +//Function Number: 54 +nt_helicrash_slowend(param_00) +{ + level notify("heliride_slowmo_end"); +} \ No newline at end of file diff --git a/AW/PC/maps/captured_fx.gsc b/AW/PC/maps/captured_fx.gsc new file mode 100644 index 0000000..8e3df14 --- /dev/null +++ b/AW/PC/maps/captured_fx.gsc @@ -0,0 +1,1297 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: captured_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 71 + * Decompile Time: 1075 ms + * Timestamp: 4/22/2024 2:26:17 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["cap_heli_fire_dlight"] = loadfx("vfx/map/captured/cap_heli_fire_dlight"); + maps\createfx\captured_fx::main(); + maps\createfx\captured_sound::main(); + level._effect["cap_body_fire_lp_cheap_02"] = loadfx("vfx/map/captured/cap_body_fire_lp_cheap_02"); + level._effect["cap_emergency_light_orange_03"] = loadfx("vfx/map/captured/cap_emergency_light_orange_03"); + level._effect["cap_crash_dust_lite_sml"] = loadfx("vfx/map/captured/cap_crash_dust_lite_sml"); + level._effect["cap_mech_damage_wv"] = loadfx("vfx/map/captured/cap_mech_damage_wv"); + level._effect["cap_mech_soft_land_dust"] = loadfx("vfx/map/captured/cap_mech_soft_land_dust"); + level._effect["cap_door_kick"] = loadfx("vfx/map/captured/cap_door_kick"); + level._effect["cap_body_dust_child2"] = loadfx("vfx/map/captured/cap_body_dust_child2"); + level._effect["cap_mech_exit_steam"] = loadfx("vfx/map/captured/cap_mech_exit_steam"); + level._effect["cap_crash_dust_lite_02"] = loadfx("vfx/map/captured/cap_crash_dust_lite_02"); + level._effect["cap_burn_mark"] = loadfx("vfx/map/captured/cap_burn_mark"); + level._effect["cap_gate_sparks_smk"] = loadfx("vfx/map/captured/cap_gate_sparks_smk"); + level._effect["cap_exo_arm_burst"] = loadfx("vfx/map/captured/cap_exo_arm_burst"); + level._effect["cap_end_rocket_impact_chunks"] = loadfx("vfx/map/captured/cap_end_rocket_impact_chunks"); + level._effect["cap_end_rocket_impact_linger"] = loadfx("vfx/map/captured/cap_end_rocket_impact_linger"); + level._effect["cap_end_rocket_impact"] = loadfx("vfx/map/captured/cap_end_rocket_impact"); + level._effect["cap_warehouse_whitelight"] = loadfx("vfx/map/captured/cap_warehouse_whitelight"); + level._effect["cap_ambient_dust_lrg"] = loadfx("vfx/map/captured/cap_ambient_dust_lrg"); + level._effect["cap_crane_light"] = loadfx("vfx/map/captured/cap_crane_light"); + level._effect["blood_pool_static_40"] = loadfx("vfx/blood/blood_pool_static_40"); + level._effect["smk_stacks_lp_lrg_a"] = loadfx("vfx/smoke/smk_stacks_lp_lrg_a"); + level._effect["cap_godray_outdoor_xtralrg"] = loadfx("vfx/map/captured/cap_godray_outdoor_xtralrg"); + level._effect["cap_godray_warehouse_lrg"] = loadfx("vfx/map/captured/cap_godray_warehouse_lrg"); + level._effect["ash_cloud_freq_lrg_loop_dark"] = loadfx("vfx/ash/ash_cloud_freq_lrg_loop_dark"); + level._effect["ash_cloud_freq_lrg_loop_indoor"] = loadfx("vfx/ash/ash_cloud_freq_lrg_loop_indoor"); + level._effect["ash_ember_cloud_freq_sml_loop"] = loadfx("vfx/ash/ash_ember_cloud_freq_sml_loop"); + level._effect["battlefield_smoke_l"] = loadfx("vfx/smoke/battlefield_smoke_l"); + level._effect["battlefield_smoke_m"] = loadfx("vfx/smoke/battlefield_smoke_m"); + level._effect["beacon_light_red_blink"] = loadfx("vfx/lights/beacon_light_red_blink"); + level._effect["beacon_light_red_static"] = loadfx("vfx/lights/beacon_light_red_static"); + level._effect["bird_vulture_circle_runner"] = loadfx("vfx/animal/bird_vulture_circle_runner"); + level._effect["cap_aa_explosion"] = loadfx("vfx/map/captured/cap_aa_explosion"); + level._effect["cap_ash_cloud_indoor"] = loadfx("vfx/map/captured/cap_ash_cloud_indoor"); + level._effect["cap_ash_door_exhaust"] = loadfx("vfx/map/captured/cap_ash_door_exhaust"); + level._effect["cap_ash_fan_exhaust"] = loadfx("vfx/map/captured/cap_ash_fan_exhaust"); + level._effect["cap_ash_inc_crawl_ground"] = loadfx("vfx/map/captured/cap_ash_inc_crawl_ground"); + level._effect["cap_ash_inc_exhaust"] = loadfx("vfx/map/captured/cap_ash_inc_exhaust"); + level._effect["cap_ash_pit_door_exhaust"] = loadfx("vfx/map/captured/cap_ash_pit_door_exhaust"); + level._effect["cap_ash_pit_fan_exhaust"] = loadfx("vfx/map/captured/cap_ash_pit_fan_exhaust"); + level._effect["cap_ash_pit_fill"] = loadfx("vfx/map/captured/cap_ash_pit_fill"); + level._effect["cap_ash_smoke_ambient"] = loadfx("vfx/map/captured/cap_ash_smoke_ambient"); + level._effect["cap_auto_hatch_ash_1"] = loadfx("vfx/map/captured/cap_auto_hatch_ash_1"); + level._effect["cap_body_dust_rocks"] = loadfx("vfx/map/captured/cap_body_dust_rocks"); + level._effect["cap_body_dust_rocks2"] = loadfx("vfx/map/captured/cap_body_dust_rocks2"); + level._effect["cap_body_dust_emit"] = loadfx("vfx/map/captured/cap_body_dust_emit"); + level._effect["cap_body_dust_mech"] = loadfx("vfx/map/captured/cap_body_dust_mech"); + level._effect["cap_body_fire_low_lp"] = loadfx("vfx/map/captured/cap_body_fire_low_lp"); + level._effect["cap_body_fire_lp"] = loadfx("vfx/map/captured/cap_body_fire_lp"); + level._effect["cap_body_fire_lp_cheap"] = loadfx("vfx/map/captured/cap_body_fire_lp_cheap"); + level._effect["cap_body_smoke_ambient"] = loadfx("vfx/map/captured/cap_body_smoke_ambient"); + level._effect["cap_crash_debris_dust"] = loadfx("vfx/map/captured/cap_crash_debris_dust"); + level._effect["cap_crash_damaged_sparks"] = loadfx("vfx/map/captured/cap_crash_damaged_sparks"); + level._effect["cap_crash_dust_01"] = loadfx("vfx/map/captured/cap_crash_dust_01"); + level._effect["cap_crash_dust_02"] = loadfx("vfx/map/captured/cap_crash_dust_02"); + level._effect["cap_crash_dust_lite"] = loadfx("vfx/map/captured/cap_crash_dust_lite"); + level._effect["cap_crash_hero_dust_falling"] = loadfx("vfx/map/captured/cap_crash_hero_dust_falling"); + level._effect["cap_crash_hero_dust_mech"] = loadfx("vfx/map/captured/cap_crash_hero_dust_mech"); + level._effect["cap_emergency_light_orange_01"] = loadfx("vfx/map/captured/cap_emergency_light_orange_01"); + level._effect["cap_emergency_light_orange_01_fast"] = loadfx("vfx/map/captured/cap_emergency_light_orange_01_fast"); + level._effect["cap_fire_barrel"] = loadfx("vfx/map/captured/cap_fire_barrel"); + level._effect["cap_flare_orange_lp_dir"] = loadfx("vfx/map/captured/cap_flare_orange_lp_dir"); + level._effect["cap_foot_stomp_blood"] = loadfx("vfx/map/captured/cap_foot_stomp_blood"); + level._effect["cap_foot_stomp_blood_decal"] = loadfx("vfx/map/captured/cap_foot_stomp_blood_decal"); + level._effect["cap_footstep_dust"] = loadfx("vfx/map/captured/cap_footstep_dust"); + level._effect["cap_footstep_dust_mech"] = loadfx("vfx/map/captured/cap_footstep_dust_mech"); + level._effect["cap_footstep_dust_rocks"] = loadfx("vfx/map/captured/cap_footstep_dust_rocks"); + level._effect["cap_footstep_water_small"] = loadfx("vfx/map/captured/cap_footstep_water_small"); + level._effect["cap_godray_ambient_grates_dusty"] = loadfx("vfx/map/captured/cap_godray_ambient_grates_dusty"); + level._effect["cap_godray_autopsy_light"] = loadfx("vfx/map/captured/cap_godray_autopsy_light"); + level._effect["cap_godray_inc_door"] = loadfx("vfx/map/captured/cap_godray_inc_door"); + level._effect["cap_godray_inc_fan"] = loadfx("vfx/map/captured/cap_godray_inc_fan"); + level._effect["cap_godray_inc_soft"] = loadfx("vfx/map/captured/cap_godray_inc_soft"); + level._effect["cap_godray_int_sm"] = loadfx("vfx/map/captured/cap_godray_int_sm"); + level._effect["cap_godray_rect_light"] = loadfx("vfx/map/captured/cap_godray_rect_light"); + level._effect["cap_halon_gas_fill"] = loadfx("vfx/map/captured/cap_halon_gas_fill"); + level._effect["cap_halon_gas_ground"] = loadfx("vfx/map/captured/cap_halon_gas_ground"); + level._effect["cap_halon_gas_ground_fill"] = loadfx("vfx/map/captured/cap_halon_gas_ground_fill"); + level._effect["cap_halon_gas_spray"] = loadfx("vfx/map/captured/cap_halon_gas_spray"); + level._effect["cap_halon_gas_spray_nofb"] = loadfx("vfx/map/captured/cap_halon_gas_spray_nofb"); + level._effect["cap_head_slam_blood"] = loadfx("vfx/map/captured/cap_head_slam_blood"); + level._effect["cap_head_slam_dust"] = loadfx("vfx/map/captured/cap_head_slam_dust"); + level._effect["cap_heli_aa_explosion_runner"] = loadfx("vfx/map/captured/cap_heli_aa_explosion_runner"); + level._effect["cap_heli_damage_1"] = loadfx("vfx/map/captured/cap_heli_damage_1"); + level._effect["cap_heli_damaged_sparks"] = loadfx("vfx/map/captured/cap_heli_damaged_sparks"); + level._effect["cap_heli_damaged_sparks_3"] = loadfx("vfx/map/captured/cap_heli_damaged_sparks_3"); + level._effect["cap_heli_dust_settle_3s_lp"] = loadfx("vfx/map/captured/cap_heli_dust_settle_3s_lp"); + level._effect["cap_heli_fireball_lp"] = loadfx("vfx/map/captured/cap_heli_fireball_lp"); + level._effect["cap_heli_fireball_lp_smk"] = loadfx("vfx/map/captured/cap_heli_fireball_lp_smk"); + level._effect["cap_heli_fireball_lp_smk_low_distort"] = loadfx("vfx/map/captured/cap_heli_fireball_lp_smk_low_distort"); + level._effect["cap_heli_gideon_blood"] = loadfx("vfx/map/captured/cap_heli_gideon_blood"); + level._effect["cap_heli_gideon_sparks"] = loadfx("vfx/map/captured/cap_heli_gideon_sparks"); + level._effect["cap_heli_glass_shatter_01"] = loadfx("vfx/map/captured/cap_heli_glass_shatter_01"); + level._effect["cap_heli_light_red_01"] = loadfx("vfx/map/captured/cap_heli_light_red_01"); + level._effect["cap_heli_smk"] = loadfx("vfx/map/captured/cap_heli_smk"); + level._effect["cap_inc_cart_fire"] = loadfx("vfx/map/captured/cap_inc_cart_fire"); + level._effect["cap_inc_cart_fire_sm"] = loadfx("vfx/map/captured/cap_inc_cart_fire_sm"); + level._effect["cap_inc_cart_fire_sm_2s"] = loadfx("vfx/map/captured/cap_inc_cart_fire_sm_2s"); + level._effect["cap_inc_crawl_heat"] = loadfx("vfx/map/captured/cap_inc_crawl_heat"); + level._effect["cap_inc_gas_explode"] = loadfx("vfx/map/captured/cap_inc_gas_explode"); + level._effect["cap_inc_gas_explode_ceiling_fire"] = loadfx("vfx/map/captured/cap_inc_gas_explode_ceiling_fire"); + level._effect["cap_inc_gas_explode_late_light"] = loadfx("vfx/map/captured/cap_inc_gas_explode_late_light"); + level._effect["cap_inc_gas_leak"] = loadfx("vfx/map/captured/cap_inc_gas_leak"); + level._effect["cap_inc_oven_ash"] = loadfx("vfx/map/captured/cap_inc_oven_ash"); + level._effect["cap_inc_oven_ash_fire"] = loadfx("vfx/map/captured/cap_inc_oven_ash_fire"); + level._effect["cap_inc_oven_ash_fire_large_still"] = loadfx("vfx/map/captured/cap_inc_oven_ash_fire_large_still"); + level._effect["cap_inc_side_fire_runner"] = loadfx("vfx/map/captured/cap_inc_side_fire_runner"); + level._effect["cap_inc_side_fire_splash"] = loadfx("vfx/map/captured/cap_inc_side_fire_splash"); + level._effect["cap_insects_mosquitoes_small"] = loadfx("vfx/map/captured/cap_insects_mosquitoes_small"); + level._effect["cap_int_blood_splat"] = loadfx("vfx/map/captured/cap_int_blood_splat"); + level._effect["cap_int_glass_crack"] = loadfx("vfx/map/captured/cap_int_glass_crack"); + level._effect["cap_int_glass_shatter"] = loadfx("vfx/map/captured/cap_int_glass_shatter"); + level._effect["cap_intro_truck_dust_01"] = loadfx("vfx/map/captured/cap_intro_truck_dust_01"); + level._effect["cap_intro_truck_dust_02"] = loadfx("vfx/map/captured/cap_intro_truck_dust_02"); + level._effect["cap_mech_cockpit_damage"] = loadfx("vfx/map/captured/cap_mech_cockpit_damage"); + level._effect["cap_mech_intro_land_dust_debris"] = loadfx("vfx/dust/cap_mech_intro_land_dust_debris"); + level._effect["cap_paper_ground_linger"] = loadfx("vfx/map/captured/cap_paper_ground_linger"); + level._effect["cap_particulates_100"] = loadfx("vfx/map/captured/cap_particulates_100"); + level._effect["cap_particulates_100_less"] = loadfx("vfx/map/captured/cap_particulates_100_less"); + level._effect["cap_poison_gas"] = loadfx("vfx/map/captured/cap_poison_gas"); + level._effect["cap_poison_gas_lite"] = loadfx("vfx/map/captured/cap_poison_gas_lite"); + level._effect["cap_smoke_barrel"] = loadfx("vfx/map/captured/cap_smoke_barrel"); + level._effect["cap_sunflare"] = loadfx("vfx/map/captured/cap_sunflare"); + level._effect["cap_steam_ambient_ring_low"] = loadfx("vfx/map/captured/cap_steam_ambient_ring_low"); + level._effect["cap_steam_ambient_ring_low_2"] = loadfx("vfx/map/captured/cap_steam_ambient_ring_low_2"); + level._effect["cap_steam_ambient_tunnel_low"] = loadfx("vfx/map/captured/cap_steam_ambient_tunnel_low"); + level._effect["cap_steam_ambient_tunnel_low_2"] = loadfx("vfx/map/captured/cap_steam_ambient_tunnel_low_2"); + level._effect["cap_uv_flash_panel_buildup_runner"] = loadfx("vfx/map/captured/cap_uv_flash_panel_buildup_runner"); + level._effect["cap_uv_flash_panel_noray_runner"] = loadfx("vfx/map/captured/cap_uv_flash_panel_noray_runner"); + level._effect["cap_uv_flash_panel_runner"] = loadfx("vfx/map/captured/cap_uv_flash_panel_runner"); + level._effect["cap_uv_flash"] = loadfx("vfx/map/captured/cap_uv_flash"); + level._effect["cap_uv_flash_buildup"] = loadfx("vfx/map/captured/cap_uv_flash_buildup"); + level._effect["cap_uv_light_green"] = loadfx("vfx/map/captured/cap_uv_light_green"); + level._effect["cap_uv_light_orange"] = loadfx("vfx/map/captured/cap_uv_light_orange"); + level._effect["cap_water_drip_runner_hose"] = loadfx("vfx/map/captured/cap_water_drip_runner_hose"); + level._effect["cap_water_leak_hose"] = loadfx("vfx/map/captured/cap_water_leak_hose"); + level._effect["cap_water_leak_hose_splash_runner"] = loadfx("vfx/map/captured/cap_water_leak_hose_splash_runner"); + level._effect["dust_blowing_ground_slow_lp_300"] = loadfx("vfx/dust/dust_blowing_ground_slow_lp_300"); + level._effect["dust_falling_debris_runner"] = loadfx("vfx/map/captured/cap_dust_falling_debris_runner"); + level._effect["electrical_sparks_xs_runner"] = loadfx("vfx/explosion/electrical_sparks_xs_runner"); + level._effect["fire_fast_lp_sml_vf"] = loadfx("vfx/fire/fire_fast_lp_sml_vf"); + level._effect["fire_lp_m_blacksmk"] = loadfx("vfx/fire/fire_lp_m_blacksmk"); + level._effect["fire_lp_m_nosmk"] = loadfx("vfx/fire/fire_lp_m_nosmk"); + level._effect["fire_lp_s_nosmk"] = loadfx("vfx/fire/fire_lp_s_nosmk"); + level._effect["fire_lp_smk_s"] = loadfx("vfx/fire/fire_lp_smk_s"); + level._effect["fire_lp_xs_blacksmk"] = loadfx("vfx/fire/fire_lp_xs_blacksmk"); + level._effect["fire_lp_xs_nosmk"] = loadfx("vfx/fire/fire_lp_xs_nosmk"); + level._effect["fire_lp_xxs"] = loadfx("vfx/fire/fire_lp_xxs"); + level._effect["heat_distortion_mirage_med"] = loadfx("vfx/distortion/heat_distortion_mirage_med"); + level._effect["heli_dust_settle_3s"] = loadfx("vfx/dust/heli_dust_settle_3s"); + level._effect["ind_camera_lens_glow"] = loadfx("vfx/unique/ind_camera_lens_glow"); + level._effect["ind_camera_lens_glow_02"] = loadfx("vfx/unique/ind_camera_lens_glow_02"); + level._effect["low_dust_ambient_lp"] = loadfx("vfx/dust/low_dust_ambient_lp"); + level._effect["pilot_flame_45_runner"] = loadfx("vfx/fire/pilot_flame_45_runner"); + level._effect["fireball_explosion_cluster_parent_02"] = loadfx("vfx/explosion/fireball_explosion_cluster_parent_02"); + level._effect["smoke_grey_column_4_spot_directional_lg"] = loadfx("vfx/smoke/smoke_grey_column_4_spot_directional_lg"); + level._effect["cap_intro_truck_light_soft_offset"] = loadfx("vfx/lights/cap_intro_truck_light_soft_offset"); + level._effect["cap_intro_elevator_light_soft"] = loadfx("vfx/lights/cap_intro_elevator_light_soft"); + level._effect["punch_mouth_blood_spit"] = loadfx("vfx/blood/punch_mouth_blood_spit"); + level._effect["playermech_cannon_default"] = loadfx("vfx/explosion/playermech_cannon_default"); + level._effect["drone_search_lt"] = loadfx("vfx/lights/drone_search_lt"); + level._effect["emergency_light"] = loadfx("vfx/lights/emergency_lt_red_pulse"); + level._effect["barrel_gen_flammable"] = loadfx("vfx/destructible/barrel_gen_flammable_01_dstry_scrptdst"); + level._effect["tire_industrial_01_rubber"] = loadfx("vfx/destructible/tire_industrial_01_rubber"); + level._effect["fx_lift_steam"] = loadfx("vfx/map/captured/cap_mech_lift_steam"); + level._effect["mech_chest_explosion"] = loadfx("vfx/map/captured/cap_mech_explosion_chest"); + level._effect["mech_wall_explosion"] = loadfx("vfx/map/captured/cap_mech_explosion_wall"); + level._effect["flesh_hit"] = loadfx("fx/impacts/flesh_hit"); + fx_init(); +} + +//Function Number: 2 +fx_init() +{ + maps\_shg_fx::setup_shg_fx(); + if(isusinghdr()) + { + setsaveddvar("r_tonemap","1"); + } + + thread maps\_shg_fx::fx_zone_watcher(1000,"msg_vfx_zone1_intro_ambient"); + thread maps\_shg_fx::fx_zone_watcher(1100,"msg_vfx_zone1_intro_upper"); + thread maps\_shg_fx::fx_zone_watcher(1200,"msg_vfx_zone1_intro_lower"); + thread maps\_shg_fx::fx_zone_watcher(2000,"msg_vfx_zone2_tunnels_ambient"); + thread maps\_shg_fx::fx_zone_watcher(2200,"msg_vfx_zone2_tunnels_poison_gas"); + thread maps\_shg_fx::fx_zone_watcher(2300,"msg_vfx_zone2_tunnels_poison_gas_lite"); + thread maps\_shg_fx::fx_zone_watcher(2400,"msg_vfx_zone2_tunnels_morgue"); + thread maps\_shg_fx::fx_zone_watcher(2410,"msg_vfx_zone2_tunnels_morgue_extra_gas"); + thread maps\_shg_fx::fx_zone_watcher(3000,"msg_vfx_zone3_incinerator_ambient"); + thread maps\_shg_fx::fx_zone_watcher(3100,"msg_vfx_zone3_incinerator_oven"); + thread maps\_shg_fx::fx_zone_watcher(4000,"msg_vfx_zone4_heli_ambient"); + thread maps\_shg_fx::fx_zone_watcher(4100,"msg_vfx_zone4_heli_pit"); + thread maps\_shg_fx::fx_zone_watcher(4200,"msg_vfx_zone4_heli_mech"); + thread fx_inc(); + thread fx_inc_godrays(); + thread fx_props_setup(); + thread fx_uv_flash(); +} + +//Function Number: 3 +fx_sun_lens_flare() +{ + if(!common_scripts\utility::flag_exist("fx_spot_flare_kill")) + { + common_scripts\utility::flag_init("fx_spot_flare_kill"); + } + + wait 0.05; + for(;;) + { + common_scripts\utility::flag_waitopen("msg_vfx_zone2_tunnels_ambient"); + common_scripts\utility::flag_clear("fx_spot_flare_kill"); + thread maps\_shg_fx::fx_spot_lens_flare_dir("cap_sunflare",(-33.7061,-54.212,0),8000); + common_scripts\utility::flag_wait("msg_vfx_zone2_tunnels_ambient"); + common_scripts\utility::flag_set("fx_spot_flare_kill"); + } +} + +//Function Number: 4 +fx_props_setup() +{ + common_scripts\utility::array_thread(getentarray("cap_ind_camera_sm_square_top","script_noteworthy"),::fx_props_security_cameras,"ind_camera_lens_glow",0,200000); + common_scripts\utility::array_thread(getentarray("cap_ind_camera_sm_square_top_02","script_noteworthy"),::fx_props_security_cameras,"ind_camera_lens_glow_02",1,200000); + common_scripts\utility::array_thread(getentarray("cap_ind_camera_sm_square_top_far","script_noteworthy"),::fx_props_security_cameras,"ind_camera_lens_glow",0,2500000); + var_00 = getent("fx_crash_sky_blocker","targetname"); + var_00 hide(); + var_00 notsolid(); +} + +//Function Number: 5 +fx_props_security_cameras(param_00,param_01,param_02) +{ + self endon("death"); + var_03 = self.angles; + var_04 = self.angles - (20,80,0); + var_05 = self.angles + (20,80,0); + var_06 = 0; + var_07 = undefined; + if(!isdefined(param_02)) + { + param_02 = 200000; + } + + if(param_01) + { + playfxontag(level._effect[param_00],self,"tag_fx"); + } + + for(;;) + { + while(!var_06) + { + wait(0.1); + if(isdefined(level.allies)) + { + var_07 = common_scripts\utility::random(level.allies); + if(isdefined(var_07)) + { + var_08 = distancesquared(self.origin,var_07.origin); + var_06 = var_08 <= param_02; + } + } + + if(!var_06) + { + var_07 = level.player; + if(isdefined(var_07)) + { + var_08 = distancesquared(self.origin,var_07.origin); + var_06 = var_08 <= param_02; + } + } + } + + if(!param_01) + { + playfxontag(level._effect[param_00],self,"tag_fx"); + } + + while(var_06) + { + if(isdefined(var_07)) + { + var_09 = vectortoangles(var_07.origin + (0,60,0) - self.origin); + self.angles = fx_clamp_rotation(self.angles,var_09,var_04,var_05,4); + wait(0.05); + var_08 = distancesquared(self.origin,var_07.origin); + var_06 = var_08 <= param_02; + } + else + { + var_06 = 0; + } + + if(!var_06) + { + if(isdefined(level.allies)) + { + for(var_0A = 0;var_0A < level.allies.size;var_0A++) + { + var_07 = level.allies[var_0A]; + var_08 = distancesquared(self.origin,var_07.origin); + var_06 = var_08 <= param_02; + if(var_06) + { + break; + } + } + + if(!var_06) + { + var_07 = level.player; + if(isdefined(var_07)) + { + var_08 = distancesquared(self.origin,var_07.origin); + var_06 = var_08 <= param_02; + } + } + } + } + } + + if(param_01) + { + self rotateto(var_03,0.5); + wait(0.5); + continue; + } + + killfxontag(level._effect[param_00],self,"tag_fx"); + } +} + +//Function Number: 6 +fx_clamp_rotation(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = []; + for(var_06 = 0;var_06 < 3;var_06++) + { + var_05[var_06] = clamp(param_01[var_06],param_02[var_06],param_03[var_06]); + if(param_01[var_06] - param_03[var_06] > 360 - param_01[var_06] + param_02[var_06]) + { + var_05[var_06] = param_02[var_06]; + } + + if(var_05[var_06] > param_00[var_06] + param_04) + { + var_05[var_06] = param_00[var_06] + param_04; + continue; + } + + if(var_05[var_06] < param_00[var_06] - param_04) + { + var_05[var_06] = param_00[var_06] - param_04; + } + } + + return (var_05[0],var_05[1],var_05[2]); +} + +//Function Number: 7 +fx_footstep_dust_le(param_00) +{ + var_01 = param_00 gettagorigin("j_ball_le"); + playfx(level._effect["cap_footstep_dust"],var_01,(0,0,1)); +} + +//Function Number: 8 +fx_footstep_dust_ri(param_00) +{ + var_01 = param_00 gettagorigin("j_ball_ri"); + playfx(level._effect["cap_footstep_dust"],var_01,(0,0,1)); +} + +//Function Number: 9 +fx_footstep_dust_rocks_le(param_00) +{ + var_01 = param_00 gettagorigin("j_ball_le"); + playfx(level._effect["cap_footstep_dust_rocks"],var_01,(0,0,1)); +} + +//Function Number: 10 +fx_footstep_dust_rocks_ri(param_00) +{ + var_01 = param_00 gettagorigin("j_ball_ri"); + playfx(level._effect["cap_footstep_dust_rocks"],var_01,(0,0,1)); +} + +//Function Number: 11 +fx_heli_crash_fist_dust_mech(param_00) +{ + common_scripts\_exploder::exploder("fx_crash_fist_dust_mech"); +} + +//Function Number: 12 +fx_footstep_dust_mech_le(param_00) +{ + var_01 = param_00 gettagorigin("j_ball_le"); + playfx(level._effect["cap_footstep_dust_mech"],var_01,(0,0,1)); +} + +//Function Number: 13 +fx_footstep_dust_mech_ri(param_00) +{ + var_01 = param_00 gettagorigin("j_ball_ri"); + playfx(level._effect["cap_footstep_dust_mech"],var_01,(0,0,1)); +} + +//Function Number: 14 +fx_knee_dust_mech_le(param_00) +{ + var_01 = param_00 gettagorigin("j_knee_le"); + playfx(level._effect["cap_footstep_dust_mech"],var_01,(0,0,1)); +} + +//Function Number: 15 +fx_knee_dust_mech_ri(param_00) +{ + var_01 = param_00 gettagorigin("j_knee_ri"); + playfx(level._effect["cap_footstep_dust_mech"],var_01,(0,0,1)); +} + +//Function Number: 16 +fx_body_dust_mech(param_00) +{ + var_01 = param_00 gettagorigin("j_shoulder_le") - (0,0,16); + playfx(level._effect["cap_body_dust_mech"],var_01,(0,0,1)); +} + +//Function Number: 17 +fx_footstep_water_small_le(param_00) +{ +} + +//Function Number: 18 +fx_footstep_water_small_ri(param_00) +{ +} + +//Function Number: 19 +fx_inc() +{ + if(!common_scripts\utility::flag_exist("flag_incinerator_saved")) + { + common_scripts\utility::flag_init("flag_incinerator_saved"); + } + + common_scripts\utility::flag_wait("flag_incinerator_saved"); + common_scripts\_exploder::exploder("fx_inc_oven_ash_static"); + wait(8.35); + common_scripts\_exploder::exploder("fx_inc_pilot_light_a_6"); + wait(2.43); + common_scripts\_exploder::exploder("fx_inc_pilot_light_a_5"); + wait(0.9); + common_scripts\_exploder::exploder("fx_inc_pilot_light_a_4"); + wait(0.77); + common_scripts\_exploder::exploder("fx_inc_pilot_light_a_3"); + wait(0.6); + common_scripts\_exploder::exploder("fx_inc_pilot_light_a_2"); + wait(0.53); + common_scripts\_exploder::exploder("fx_inc_pilot_light_a_1"); + wait(1.87); + maps\_utility::stop_exploder("fx_inc_pilot_light_a_1"); + common_scripts\_exploder::exploder("fx_inc_fire_a_1"); + common_scripts\_exploder::exploder("fx_inc_fire_1"); + thread fx_inc_oven_godrays_on(1); + level notify("incinerator_flame_on"); + wait(4.36); + maps\_utility::stop_exploder("fx_inc_fire_a_1"); + maps\_utility::stop_exploder("fx_inc_fire_1"); + common_scripts\_exploder::exploder("fx_inc_pilot_light_a_1"); + thread fx_inc_oven_godrays_off(); + wait(4.14); + maps\_utility::stop_exploder("fx_inc_pilot_light_a_2"); + common_scripts\_exploder::exploder("fx_inc_fire_a_2"); + common_scripts\_exploder::exploder("fx_inc_fire_2"); + thread fx_inc_oven_godrays_on(2); + level notify("incinerator_flame_on"); + wait(4.36); + maps\_utility::stop_exploder("fx_inc_fire_a_2"); + maps\_utility::stop_exploder("fx_inc_fire_2"); + common_scripts\_exploder::exploder("fx_inc_pilot_light_a_2"); + thread fx_inc_oven_godrays_off(); + wait(4.14); + maps\_utility::stop_exploder("fx_inc_pilot_light_a_3"); + common_scripts\_exploder::exploder("fx_inc_fire_a_3"); + common_scripts\_exploder::exploder("fx_inc_fire_3"); + thread fx_inc_oven_godrays_on(3); + level notify("incinerator_flame_on"); + wait(4.36); + maps\_utility::stop_exploder("fx_inc_fire_a_3"); + maps\_utility::stop_exploder("fx_inc_fire_3"); + common_scripts\_exploder::exploder("fx_inc_pilot_light_a_3"); + thread fx_inc_oven_godrays_off(); + wait(4.14); + maps\_utility::stop_exploder("fx_inc_pilot_light_a_4"); + if(maps\_utility::is_gen4()) + { + common_scripts\_exploder::exploder("fx_inc_fire_a_4"); + } + + common_scripts\_exploder::exploder("fx_inc_fire_4"); + thread fx_inc_oven_godrays_on(3); + level notify("incinerator_flame_on"); + common_scripts\utility::flag_set("flag_incinerator_last_fire_loop"); +} + +//Function Number: 20 +fx_inc_near_miss(param_00) +{ + if(!common_scripts\utility::flag_exist("lgt_flag_inc_near_miss")) + { + common_scripts\utility::flag_init("lgt_flag_inc_near_miss"); + } + + wait(0.3); + maps\_utility::stop_exploder("fx_inc_pilot_light_a_5"); + maps\_utility::stop_exploder("fx_inc_fire_4"); + common_scripts\_exploder::exploder("fx_inc_fire_5"); + common_scripts\_exploder::exploder("fx_inc_crawl_heat"); + common_scripts\utility::flag_set("lgt_flag_inc_near_miss"); + if(maps\_utility::is_gen4()) + { + maps\_utility::stop_exploder("fx_inc_fire_a_4"); + common_scripts\_exploder::exploder("fx_inc_fire_a_5"); + } + + wait(0.75); + if(maps\_utility::is_gen4()) + { + maps\_utility::stop_exploder("fx_inc_fire_a_5"); + common_scripts\_exploder::exploder("fx_inc_pilot_light_a_5"); + } + + maps\_utility::stop_exploder("fx_inc_fire_5"); + thread fx_inc_oven_godrays_off(); +} + +//Function Number: 21 +fx_inc_oven_godrays_on(param_00) +{ + maps\_utility::stop_exploder("fx_inc_oven_ash_static"); + common_scripts\_exploder::exploder("fx_inc_oven_ash_fire"); + if(maps\_utility::is_gen4()) + { + wait(0.2); + thread maps\_utility::vision_set_fog_changes("captured_inc_fires_godray_" + param_00,0.1); + thread maps\_art::sunflare_changes("fx_inc_oven_godrays",0.1); + return; + } + + if(!isdefined(level.first_oven)) + { + wait(1.1); + common_scripts\_exploder::exploder("fx_inc_oven_ash_fire_cg_burst"); + level.first_oven = 1; + } +} + +//Function Number: 22 +fx_inc_oven_godrays_off() +{ + maps\_utility::stop_exploder("fx_inc_oven_ash_fire"); + common_scripts\_exploder::exploder("fx_inc_oven_ash_static"); + if(maps\_utility::is_gen4()) + { + wait(0.3); + thread maps\_utility::vision_set_fog_changes("",0.1); + thread maps\_art::sunflare_changes("fx_inc_fan_godrays",0.1); + return; + } + + if(isdefined(level.first_oven)) + { + if(level.first_oven) + { + maps\_utility::stop_exploder("fx_inc_oven_ash_fire_cg_burst"); + return; + } + } +} + +//Function Number: 23 +fx_stop_pilot_lights() +{ + common_scripts\utility::flag_wait("flag_incinerator_last_fire_loop"); + for(var_00 = 1;var_00 <= 6;var_00++) + { + if(var_00 == 5) + { + continue; + } + + maps\_utility::stop_exploder("fx_inc_pilot_light_a_" + var_00); + wait 0.05; + } + + common_scripts\utility::flag_wait("lgt_flag_inc_near_miss"); + maps\_utility::stop_exploder("fx_inc_pilot_light_a_5"); +} + +//Function Number: 24 +fx_inc_pipe_explode(param_00) +{ + if(!common_scripts\utility::flag_exist("lgt_flag_inc_pipe_explode")) + { + common_scripts\utility::flag_init("lgt_flag_inc_pipe_explode"); + } + + soundscripts\_snd::snd_message("aud_incin_pipe_burst"); + playfxontag(level._effect["cap_inc_gas_leak"],level.pipe,"bottom_05_jnt"); + common_scripts\utility::flag_set("flag_inc_pipe_break"); + maps\_utility::stop_exploder("fx_inc_crawl_heat"); + wait(1); + playfxontag(level._effect["cap_inc_gas_explode"],level.pipe,"bottom_05_jnt"); + common_scripts\_exploder::exploder("fx_inc_gas_explode"); + common_scripts\utility::flag_set("lgt_flag_inc_pipe_explode"); + wait(0.2); + common_scripts\_exploder::exploder("fx_inc_gas_explode_late_fire"); + wait(2.8); + maps\_utility::stop_exploder("fx_inc_oven_ash_static"); + wait(5); + maps\_utility::stop_exploder("fx_inc_gas_explode_late_fire"); + common_scripts\_exploder::exploder("fx_inc_open_room_ambient"); + thread maps\_art::sunflare_changes("fx_inc_fan_godrays",0.1); + level thread fx_inc_cycle_fires("a"); + level thread fx_inc_cycle_fires("c"); + wait(7.8); + maps\_utility::stop_exploder("fx_inc_pilot_light_b_1"); + common_scripts\_exploder::exploder("fx_inc_fire_b_1_2s"); + wait(2); + maps\_utility::stop_exploder("fx_inc_fire_b_1_2s"); + common_scripts\_exploder::exploder("fx_inc_pilot_light_b_1"); + level thread fx_inc_cycle_fires("b"); +} + +//Function Number: 25 +fx_inc_cycle_fires(param_00) +{ + var_01 = undefined; + while(!common_scripts\utility::flag("flag_bh_pit")) + { + wait(randomfloatrange(0.5,2)); + var_01 = randomintrange(1,7); + maps\_utility::stop_exploder("fx_inc_pilot_light_" + param_00 + "_" + var_01); + common_scripts\_exploder::exploder("fx_inc_fire_" + param_00 + "_" + var_01); + wait(4); + maps\_utility::stop_exploder("fx_inc_fire_" + param_00 + "_" + var_01); + common_scripts\_exploder::exploder("fx_inc_pilot_light_" + param_00 + "_" + var_01); + } + + for(var_01 = 1;var_01 < 7;var_01++) + { + wait 0.05; + maps\_utility::stop_exploder("fx_inc_pilot_light_a_" + var_01); + maps\_utility::stop_exploder("fx_inc_pilot_light_b_" + var_01); + maps\_utility::stop_exploder("fx_inc_pilot_light_c_" + var_01); + } + + wait 0.05; + maps\_utility::stop_exploder("fx_inc_open_room_ambient"); +} + +//Function Number: 26 +fx_inc_godrays() +{ + var_00 = getent("fx_inc_sun_blocker","targetname"); + var_00 hide(); + var_00 notsolid(); + if(maps\_utility::is_gen4()) + { + if(!common_scripts\utility::flag_exist("fx_inc_godrays")) + { + common_scripts\utility::flag_init("fx_inc_godrays"); + } + + wait 0.05; + for(;;) + { + common_scripts\utility::flag_wait("fx_inc_godrays"); + var_00 show(); + thread maps\_art::sunflare_changes("fx_inc_fan_godrays",2); + common_scripts\utility::flag_waitopen("fx_inc_godrays"); + thread maps\_art::sunflare_changes("default",2); + var_00 hide(); + } + } +} + +//Function Number: 27 +fx_uv_flash() +{ + level waittill("start_anim_tc_exit_stairs"); + common_scripts\_exploder::exploder("fx_uv_dust"); + var_00 = getentarray("fx_uv_light_on","targetname"); + var_01 = getentarray("fx_uv_light_off","targetname"); + foreach(var_03 in var_00) + { + var_03 hide(); + } + + level waittill("start_anim_tc_enter_test"); + wait(1.9); + common_scripts\_exploder::exploder("fx_uv_flash_buildup"); + wait(2); + common_scripts\_exploder::exploder("fx_uv_flash"); + common_scripts\_exploder::kill_exploder("fx_uv_dust"); + foreach(var_03 in var_00) + { + var_03 show(); + } + + wait 0.05; + foreach(var_03 in var_01) + { + var_03 hide(); + } + + wait(0.3); + foreach(var_03 in var_01) + { + var_03 show(); + } + + wait 0.05; + foreach(var_03 in var_00) + { + var_03 hide(); + } +} + +//Function Number: 28 +fx_autopsy_hatch_open() +{ + wait(16.8); + common_scripts\_exploder::exploder("fx_autopsy_hatch_ash_1"); +} + +//Function Number: 29 +fx_escape_takedown_wastebasket(param_00) +{ + physicsjolt((5024,-10592,-1756),60,60,(-0.4,1,0.2)); +} + +//Function Number: 30 +fx_escape_takedown_foot_stomp(param_00) +{ + var_01 = param_00 gettagorigin("j_ankle_ri") - (0,0,4); + playfx(level._effect["cap_foot_stomp_blood"],var_01,(0,0,1)); + wait(0.07); + var_01 = param_00 gettagorigin("j_ankle_ri") - (6,-2,4); + playfx(level._effect["cap_foot_stomp_blood_decal"],var_01,(0,0,1)); +} + +//Function Number: 31 +fx_walk_heli_flyby() +{ + wait(0.5); + common_scripts\_exploder::exploder("fx_walk_heli_dust_1"); + wait(0.5); + common_scripts\_exploder::exploder("fx_walk_heli_dust_2"); + wait(0.5); + common_scripts\_exploder::exploder("fx_walk_heli_dust_3"); +} + +//Function Number: 32 +fx_heli_flyby_dust(param_00) +{ + var_01 = 0; + while(var_01 < 10) + { + var_02 = bullettrace(param_00.origin,param_00.origin - (0,0,1000),0); + playfx(level._effect["heli_dust_settle_3s"],var_02["position"],(0,0,1)); + var_01 = var_01 + 1; + wait(1); + } + + common_scripts\_exploder::exploder("fx_heli_flyby_dust_settle"); +} + +//Function Number: 33 +fx_heli_manticore_dust(param_00) +{ + wait(3); + var_01 = 0; + while(var_01 < 5) + { + var_02 = bullettrace(param_00.origin,param_00.origin - (0,0,1000),0); + playfx(level._effect["heli_dust_settle_3s"],var_02["position"],(0,0,1)); + var_01 = var_01 + 1; + wait(1); + } + + common_scripts\_exploder::exploder("fx_heli_dust_settle"); +} + +//Function Number: 34 +fx_heli_gideon_fire(param_00) +{ + if(!isdefined(level.heli_gideon_fire)) + { + level.heli_gideon_fire = 0; + } + + level.heli_gideon_fire = level.heli_gideon_fire + 1; + var_01 = param_00 gettagorigin("tag_flash"); + var_02 = undefined; + switch(level.heli_gideon_fire) + { + case 1: + var_02 = level.pilot gettagorigin("j_hip_le"); + break; + + case 2: + var_02 = level.pilot gettagorigin("j_spinelower"); + break; + + case 3: + var_02 = level.pilot gettagorigin("j_spineupper"); + break; + + case 4: + var_02 = level.pilot gettagorigin("j_shoulder_ri"); + break; + + case 5: + var_02 = level.pilot gettagorigin("j_neck"); + break; + + case 6: + var_02 = level.pilot gettagorigin("j_head"); + break; + } + + magicbullet("iw5_hmr9_sp",var_01,var_02); + var_03 = bullettrace(var_01,var_02,1); + if(isdefined(var_03["position"])) + { + common_scripts\_exploder::exploder("fx_heli_gideon_sparks_" + randomintrange(1,7)); + } + + var_03 = bullettrace(var_01,var_01 + 100 * var_02 - var_01,0,undefined,1,0,1); + if(isdefined(var_03["position"])) + { + playfx(level._effect["cap_heli_gideon_sparks"],var_03["position"],var_03["normal"]); + } + + if(level.heli_gideon_fire == 1) + { + level notify("heliride_blood"); + } +} + +//Function Number: 35 +fx_heli_ride() +{ + wait(3); + maps\_utility::stop_exploder("fx_heli_flyby_dust_settle"); + maps\_utility::stop_exploder("fx_heli_dust_settle"); + wait(9); + while(!common_scripts\utility::flag("flag_heliride_end")) + { + playfx(level._effect["cap_heli_aa_explosion_runner"],level.player.origin); + wait(0.1); + } +} + +//Function Number: 36 +fx_heli_aa_explosion(param_00) +{ + if(!isdefined(level.aa_explosion)) + { + level.aa_explosion = 0; + } + + level.aa_explosion = level.aa_explosion + 1; + var_01 = (0,0,0); + switch(level.aa_explosion) + { + case 1: + var_01 = (11434,-11428,-1874); + break; + + case 2: + var_01 = (11843,-8615,42); + break; + + case 3: + var_01 = (11879,-7784,278); + break; + + case 4: + var_01 = (11921,-7121,644); + break; + + case 5: + var_01 = (9557,-6985,757); + break; + + case 6: + var_01 = (8566.5,-6633.43,1158.82); + break; + + case 7: + var_01 = (7965.59,-5802.48,1437.4); + break; + + case 8: + var_01 = (7674,-5237,1860); + break; + } + + playfx(level._effect["cap_aa_explosion"],var_01); + playfxontag(level._effect["cap_heli_damage_1"],level.heli_collision,"tag_fx_5"); + playfxontag(level._effect["cap_heli_damaged_sparks_3"],level.heli_collision,"tag_fx_" + randomintrange(1,5)); + switch(level.aa_explosion) + { + case 2: + wait 0.05; + playfxontag(level._effect["cap_heli_damaged_sparks"],level.heli_collision,"tag_fx_top_panel"); + playfxontag(level._effect["cap_heli_light_red_01"],level.heli_collision,"tag_fx_light"); + break; + + case 4: + wait 0.05; + playfxontag(level._effect["cap_heli_damaged_sparks"],level.heli_collision,"tag_fx_4"); + break; + } +} + +//Function Number: 37 +fx_heli_mech_punch(param_00) +{ + level notify("heliride_punch"); + playfxontag(level._effect["cap_heli_glass_shatter_01"],level.heli_collision,"tag_fx_glass"); +} + +//Function Number: 38 +fx_heli_crash_godrays_on() +{ + if(maps\_utility::is_gen4()) + { + thread maps\_utility::vision_set_fog_changes("captured_heli_crash_godray",0.1); + thread maps\_art::sunflare_changes("fx_heli_crash_godrays",0.1); + var_00 = getent("fx_crash_sky_blocker","targetname"); + var_00 show(); + } +} + +//Function Number: 39 +fx_heli_crash_godrays_off() +{ + if(maps\_utility::is_gen4()) + { + thread maps\_utility::vision_set_fog_changes("",0.1); + thread maps\_art::sunflare_changes("default",0.1); + var_00 = getent("fx_crash_sky_blocker","targetname"); + var_00 hide(); + } +} + +//Function Number: 40 +scriptable_pillars_light_retarget() +{ + wait(1); + var_00 = getent("pillar_light_target","targetname"); + iprintlnbold("START RETARGETING PILLARS"); + var_01 = getscriptablearray("scriptable_pillar","targetname"); + foreach(var_03 in var_01) + { + iprintlnbold("RETARGETING A NEW PILLAR"); + var_03 retargetscriptmodellighting(var_00); + } +} + +//Function Number: 41 +fx_heli_crash_debris_dust(param_00) +{ + common_scripts\_exploder::exploder("fx_crash_debris_dust"); + level thread fx_heli_crash_mech_sparks(param_00); +} + +//Function Number: 42 +fx_heli_crash_mech_sparks(param_00) +{ + wait(1.3); + playfxontag(level._effect["cap_crash_damaged_sparks"],param_00,"j_plate_mkl"); + soundscripts\_snd::snd_message("aud_spark_1"); + wait(0.7); + playfxontag(level._effect["cap_crash_damaged_sparks"],param_00,"j_plate_bfl"); + soundscripts\_snd::snd_message("aud_spark_2"); + wait(1.3); + playfxontag(level._effect["cap_crash_damaged_sparks"],param_00,"j_chestprotect_r"); + soundscripts\_snd::snd_message("aud_spark_3"); +} + +//Function Number: 43 +fx_heli_crash_enter_mech_sparks(param_00) +{ + wait(11.3); + playfxontag(level._effect["cap_crash_damaged_sparks"],param_00,"j_chestprotect_L"); + soundscripts\_snd::snd_message("aud_spark_4"); + wait(1.3); + playfxontag(level._effect["cap_crash_damaged_sparks"],param_00,"J2_exoShoulder_r"); + soundscripts\_snd::snd_message("aud_spark_5"); +} + +//Function Number: 44 +fx_intro_ambient(param_00) +{ + common_scripts\_exploder::exploder("fx_intro_ambient"); + wait(14); + common_scripts\_exploder::exploder("fx_intro_passing_truck_1"); + wait(5.75); + common_scripts\_exploder::exploder("fx_intro_passing_truck_2"); + wait(8.25); + maps\_utility::stop_exploder("fx_intro_passing_truck_1"); + maps\_utility::stop_exploder("fx_intro_passing_truck_2"); + common_scripts\_exploder::exploder("fx_intro_passing_truck_3"); +} + +//Function Number: 45 +fx_intro_truck_dust(param_00) +{ + maps\_utility::stop_exploder("fx_intro_ambient"); + common_scripts\_exploder::exploder("fx_intro_truck_dust_01"); + wait(1); + common_scripts\_exploder::exploder("fx_intro_truck_dust_02"); + wait(7); + maps\_utility::stop_exploder("fx_intro_truck_dust_01"); + maps\_utility::stop_exploder("fx_intro_truck_dust_02"); +} + +//Function Number: 46 +fx_intro_body_dust(param_00) +{ + var_01 = param_00 gettagorigin("j_SpineLower"); + playfx(level._effect["cap_body_dust_rocks"],var_01); + wait(1); + var_01 = level.allies[0] gettagorigin("j_SpineLower"); + playfx(level._effect["cap_body_dust_rocks"],var_01); + wait(0.5); + var_01 = level.allies[1] gettagorigin("j_SpineLower"); + playfx(level._effect["cap_body_dust_rocks"],var_01); +} + +//Function Number: 47 +fx_gideon_body_dust(param_00) +{ + wait(0.01); + var_01 = level.allies[0] gettagorigin("j_SpineLower"); + playfx(level._effect["cap_body_dust_rocks"],var_01); +} + +//Function Number: 48 +fx_gideon_body_dust_inc(param_00) +{ + wait(0.01); + var_01 = level.allies[0] gettagorigin("j_SpineLower"); + playfx(level._effect["cap_body_dust_rocks2"],var_01); +} + +//Function Number: 49 +fx_body_dust_drag(param_00) +{ + playfxontag(level._effect["cap_body_dust_emit"],level.allies[0],"j_SpineLower"); + wait(1.9); + playfxontag(level._effect["cap_body_dust_emit"],level.allies[1],"j_SpineLower"); + wait(1.9); + playfxontag(level._effect["cap_body_dust_emit"],level.allies[2],"j_SpineLower"); +} + +//Function Number: 50 +fx_emergency_lights(param_00,param_01,param_02) +{ + self endon("kill_pulse_light"); + self endon("tff_pre_escape_to_test_chamber"); + if(!isdefined(param_02)) + { + param_02 = 1.412; + } + + while(!common_scripts\utility::flag(param_01)) + { + common_scripts\_exploder::exploder(param_00); + wait(param_02); + } +} + +//Function Number: 51 +fx_interrogation_irons_fire(param_00) +{ + var_01 = param_00 gettagorigin("j_wrist_le") + (0,0,4); + var_02 = level.allies[2] gettagorigin("j_hip_le"); + magicbullet("iw5_titan45onearm_sp",var_01,var_02); + wait(0.1); + common_scripts\_exploder::exploder("fx_int_blood_splat"); +} + +//Function Number: 52 +fx_rescue_guard_2_init(param_00) +{ + level.fx_guard_2 = param_00; +} + +//Function Number: 53 +fx_rescue_guard_fire(param_00) +{ + if(!isdefined(level.rescue_guard_fire)) + { + level.rescue_guard_fire = 0; + } + + level.rescue_guard_fire = level.rescue_guard_fire + 1; + switch(level.rescue_guard_fire) + { + case 2: + var_01 = param_00 gettagorigin("j_wrist_le") + (0,0,4); + var_02 = level.fx_guard_2 gettagorigin("j_hip_le") + (0,0,6); + magicbullet("iw5_titan45onearm_sp",var_01,var_02); + wait(0.1); + common_scripts\_exploder::exploder("fx_rescue_guard_2_blood_splat"); + break; + + case 3: + common_scripts\_exploder::exploder("fx_int_guard_fire_3"); + break; + + case 4: + common_scripts\_exploder::exploder("fx_int_guard_fire_4"); + break; + + case 5: + common_scripts\_exploder::exploder("fx_int_guard_fire_5"); + break; + + default: + break; + } +} + +//Function Number: 54 +fx_rescue_body_slam_1(param_00) +{ + var_01 = fx_get_ground_pos(param_00 gettagorigin("j_SpineUpper") + (0,0,10)); + playfx(level._effect["cap_body_dust_rocks"],var_01,(0,0,1)); +} + +//Function Number: 55 +fx_rescue_body_slam_2(param_00) +{ + var_01 = fx_get_ground_pos(param_00 gettagorigin("j_neck") + (0,0,10)); + playfx(level._effect["cap_body_dust_rocks"],var_01,(0,0,1)); +} + +//Function Number: 56 +fx_rescue_head_slam_1(param_00) +{ + var_01 = fx_get_ground_pos(param_00 gettagorigin("j_head") + (0,0,10)); + playfx(level._effect["cap_head_slam_dust"],var_01,(0,0,1)); +} + +//Function Number: 57 +fx_rescue_head_slam_2(param_00) +{ + var_01 = fx_get_ground_pos(param_00 gettagorigin("j_head") + (0,0,10)); + playfx(level._effect["cap_head_slam_blood"],var_01,(0,0,1)); + wait(0.07); + var_01 = fx_get_ground_pos(param_00 gettagorigin("j_head") + (0,0,10)); + playfx(level._effect["cap_foot_stomp_blood_decal"],var_01,(0,0,1)); +} + +//Function Number: 58 +fx_get_ground_pos(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = 100; + } + + var_02 = bullettrace(param_00,param_00 - (0,0,param_01),0,undefined,1); + return var_02["position"]; +} + +//Function Number: 59 +fx_mech_cockpit_damage() +{ + if(!isdefined(level.fx_mech_cockpit)) + { + level.fx_mech_cockpit = common_scripts\utility::spawn_tag_origin(); + level.fx_mech_cockpit linkto(self,"tag_view",(0,0,0),(0,0,0)); + playfxontag(level._effect["cap_mech_cockpit_damage"],level.fx_mech_cockpit,"tag_origin"); + } +} + +//Function Number: 60 +fx_mech_cockpit_damage_stop() +{ + if(isdefined(level.fx_mech_cockpit)) + { + killfxontag(level._effect["cap_mech_cockpit_damage"],level.fx_mech_cockpit,"tag_origin"); + } +} + +//Function Number: 61 +fx_end_amb_fx() +{ + common_scripts\_exploder::exploder("end_amb_fx"); +} + +//Function Number: 62 +fx_mech_foot_sparks(param_00) +{ + common_scripts\_exploder::exploder("mech_foot_sparks"); +} + +//Function Number: 63 +fx_interrogation_arm_smash(param_00) +{ + var_01 = spawn("script_model",param_00 gettagorigin("J_Elbow_LE")); + var_01.angles = (15,0,0); + var_01 setmodel("tag_origin"); + playfxontag(level._effect["cap_exo_arm_burst"],var_01,"tag_origin"); + var_01 linkto(param_00,"J_Elbow_LE"); + wait(5); + var_01 delete(); +} + +//Function Number: 64 +fx_mech_explode_amb_fx() +{ + common_scripts\_exploder::exploder("mf_amb_fx"); +} + +//Function Number: 65 +fx_mech_door_lift_fx() +{ + wait(6); + common_scripts\_exploder::exploder("gate_lift_fx"); +} + +//Function Number: 66 +fx_stop_mech_door_lift_fx() +{ + wait(6); + maps\_utility::stop_exploder("gate_lift_fx"); +} + +//Function Number: 67 +fx_mech_exit_steam(param_00) +{ + common_scripts\_exploder::exploder("mech_exit_steam"); +} + +//Function Number: 68 +fx_mech_land_sparks(param_00) +{ + if(!isdefined(level.fx_mech_cockpit)) + { + level.fx_mech_cockpit = common_scripts\utility::spawn_tag_origin(); + level.fx_mech_cockpit linkto(self,"tag_view",(0,0,0),(0,0,0)); + playfxontag(level._effect["cap_heli_gideon_sparks"],level.fx_mech_cockpit,"tag_origin"); + } +} + +//Function Number: 69 +fx_mech_exit_land_dust(param_00) +{ + common_scripts\_exploder::exploder("mech_exit_body_dust"); +} + +//Function Number: 70 +fx_mech_soft_land_dust(param_00) +{ + common_scripts\_exploder::exploder("mech_soft_land_dust"); +} + +//Function Number: 71 +fx_heli_crash_hero_falling_dust() +{ + wait(1); + common_scripts\_exploder::exploder("mech_intro_dust_falling"); +} \ No newline at end of file diff --git a/AW/PC/maps/captured_introdrive.gsc b/AW/PC/maps/captured_introdrive.gsc new file mode 100644 index 0000000..3a72aeb --- /dev/null +++ b/AW/PC/maps/captured_introdrive.gsc @@ -0,0 +1,690 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: captured_introdrive.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 29 + * Decompile Time: 426 ms + * Timestamp: 4/22/2024 2:26:19 AM +*******************************************************************/ + +//Function Number: 1 +pre_load() +{ +} + +//Function Number: 2 +post_load() +{ + common_scripts\utility::flag_init("flag_t2e_moveup"); + common_scripts\utility::flag_init("flag_entered_s1elevator"); + common_scripts\utility::flag_init("flag_start_s1elevator"); + common_scripts\utility::flag_init("flag_intro_bounds_double_check"); + common_scripts\utility::flag_init("lgt_flag_introdrive"); +} + +//Function Number: 3 +start() +{ + level.player disableweapons(); + level.player disableoffhandweapons(); + level.player disableweaponswitch(); + setsaveddvar("g_friendlyNameDist",0); + thread maps\_utility::battlechatter_off("allies"); + thread maps\_utility::battlechatter_off("axis"); + if(issubstr(level.start_point,"introdrive")) + { + level.player maps\captured_util::warp_to_start("origin_playerstart_introdrive"); + maps\captured_util::warp_allies("struct_allystart_introdrive"); + return; + } + + level.player maps\captured_util::warp_to_start("struct_playerstart_s1elevator"); + soundscripts\_snd::snd_message("start_s1_elevator"); + thread truck_to_s1elevator_scene(); + common_scripts\utility::flag_set("flag_introdrive_end"); +} + +//Function Number: 4 +main_introdrive() +{ + level.player freezecontrols(1); + common_scripts\utility::flag_wait("chyron_video_done"); + soundscripts\_snd::snd_message("scn_truck_sounds"); + soundscripts\_snd::snd_music_message("mus_captured_intro"); + soundscripts\_snd::snd_message("start_intro_drive"); + soundscripts\_snd::snd_message("aud_mech_idle_sfx"); + setsaveddvar("g_friendlyNameDist",0); + level.player enableslowaim(0.3,0.15); + common_scripts\utility::flag_set("lgt_flag_introdrive"); + var_00 = getent("model_introdrive_playertruck","targetname"); + thread player_truck(var_00); + thread intro_ambient_cleanup(); + thread s1_drive_and_elevator_scene(var_00); + wait(1); + if(!level.currentgen) + { + thread maps\captured_util::captured_caravan_spawner("intro_drive_truck_one",3,9.1,9.2,"intro_drive"); + } + else + { + thread maps\captured_util::captured_caravan_spawner("intro_drive_truck_one",3,19.1,19.2,"intro_drive"); + } + + wait(10); + wait(12.5); + if(!level.currentgen) + { + thread maps\captured_util::captured_caravan_spawner("intro_drive_trucks",undefined,3,10,"intro_drive"); + } + else + { + thread maps\captured_util::captured_caravan_spawner("intro_drive_trucks",undefined,18,23,"intro_drive"); + } + + common_scripts\utility::flag_wait("flag_introdrive_end"); + level.player disableslowaim(); +} + +//Function Number: 5 +intro_ambient_cleanup() +{ + maps\_utility::wait_for_targetname_trigger("intro_ambient_cleanup"); + level notify("s1_killpoppingcharacters"); + level notify("s1_looping_prisoner_intro"); +} + +//Function Number: 6 +main_s1elevator() +{ + common_scripts\utility::flag_wait("flag_s1elevator_end"); +} + +//Function Number: 7 +player_truck(param_00) +{ + var_01 = getent("origin_playerstart_introdrive","targetname") common_scripts\utility::spawn_tag_origin(); + soundscripts\_snd::snd_message("entrance_alarm"); + var_02 = maps\_vehicle::spawn_vehicle_from_targetname("vehicle_introdrive_player"); + var_02 hide(); + param_00 linkto(var_02,"tag_origin",(0,0,0),(0,0,0)); + if(level.currentgen) + { + param_00 thread maps\captured_util::tff_cleanup_vehicle("intro_drive"); + var_02 thread maps\captured_util::tff_cleanup_vehicle("intro_drive"); + } + + soundscripts\_snd::snd_message("entrance_alarm_fast2"); + var_03 = getvehiclenode("intro_drive_player_vehicle_entrance_start","targetname"); + var_02 attachpath(var_03); + var_02 startpath(); + var_02 waittill("reached_end_node"); + wait(7); + soundscripts\_snd::snd_message("entrance_alarm_fast"); +} + +//Function Number: 8 +s1_drive_and_elevator_scene(param_00) +{ + var_01 = common_scripts\utility::getstruct("struct_scene_truckunload","targetname"); + var_02 = getent("origin_scene_s1elevator","targetname"); + thread player_fov_controller(); + wait(3.5); + if(!isdefined(var_01)) + { + return; + } + + var_03 = common_scripts\utility::spawn_tag_origin(); + var_03 linkto(param_00,"tag_origin",(0,0,0),(0,90,0)); + var_04 = level.allies[2]; + var_05 = level.allies; + common_scripts\utility::array_thread(var_05,::maps\captured_util::ignore_everything); + common_scripts\utility::array_thread(var_05,::maps\_utility::gun_remove); + var_06 = [level.allies[0],level.allies[1]]; + foreach(var_04 in level.allies) + { + var_04 attach("s1_captured_handcuffs","tag_weapon_left"); + var_04.hasattachedprops = 1; + var_04 linkto(var_03); + } + + var_09 = maps\_utility::array_spawn_noteworthy("truck_to_s1elevator_guards"); + for(var_0A = 0;var_0A < var_09.size;var_0A++) + { + var_09[var_0A] maps\captured_util::ignore_everything(); + var_09[var_0A] maps\_utility::disable_danger_react(); + var_0B = var_0A + 1; + if(var_0B > 3) + { + var_0B = var_0B + 1; + } + + var_09[var_0A].animname = "guard_" + var_0B; + } + + var_0C = maps\_utility::spawn_script_noteworthy("truck_to_s1elevator_general"); + var_0C.animname = "general_1"; + var_0C thread maps\captured_util::ignore_everything(); + var_0C thread maps\_utility::gun_remove(); + thread maps\captured::dialogue_s1elevator_outside(var_09,var_0C); + var_0D = var_09[0]; + var_0E = var_09[1]; + var_0F = var_09[1]; + var_10 = var_09[3]; + var_09 = common_scripts\utility::array_remove(var_09,var_0D); + var_09 = common_scripts\utility::array_remove(var_09,var_0F); + common_scripts\utility::array_removeundefined(var_09); + var_11 = maps\_utility::array_spawn_noteworthy("truck_to_s1elevator_prisoners",1); + for(var_0A = 0;var_0A < var_11.size;var_0A++) + { + var_11[var_0A] maps\captured_util::ignore_everything(); + var_11[var_0A] linkto(var_03); + var_0B = var_0A + 1; + if(var_0B > 4) + { + var_0B = var_0B + 5; + } + + var_11[var_0A].animname = "prisoner_" + var_0B; + } + + var_12 = maps\_utility::spawn_script_noteworthy("truck_to_s1elevator_prisoner_5"); + var_12.animname = "prisoner_5"; + var_13 = maps\_utility::spawn_script_noteworthy("truck_to_s1elevator_prisoner_6"); + var_13.animname = "prisoner_6"; + var_14 = maps\_utility::spawn_script_noteworthy("truck_to_s1elevator_prisoner_7"); + var_14.animname = "prisoner_7"; + var_15 = maps\_utility::spawn_script_noteworthy("truck_to_s1elevator_prisoner_8"); + var_15.animname = "prisoner_8"; + var_15 hide(); + foreach(var_17 in var_11) + { + var_17 attach("s1_captured_handcuffs","tag_weapon_left"); + } + + var_19 = [var_12,var_13,var_14,var_15]; + foreach(var_17 in var_19) + { + var_17 attach("s1_captured_handcuffs","tag_weapon_left"); + } + + var_1C = common_scripts\utility::array_combine([var_12,var_13,var_14,var_15],var_11); + var_1D = [var_0D,var_0F,var_10]; + var_1E = [var_12,var_14]; + var_1F = [var_0D,var_09[0]]; + var_20 = "truck_to_s1elevator_start_loop_ender"; + var_21 = "truck_to_s1elevator_start_guard_loop_ender"; + var_22 = "truck_to_s1elevator_start_loop_ambient_ender"; + foreach(var_24 in var_1E) + { + var_01 thread maps\_anim::anim_loop_solo(var_24,"s1_truck_start_loop",var_22); + } + + foreach(var_24 in var_1D) + { + var_01 thread maps\_anim::anim_loop_solo(var_24,"s1_truck_start_loop",var_21); + } + + var_03 thread s1_deleted_prisoners_anims(var_11); + var_03 thread s1_truck_unload_main_allies_anims(var_06,var_01,var_02,var_15); + var_03 thread s1_truck_unload_main_guards_anims(var_1D,var_09[0],var_0C,var_01,var_21,var_02,var_13,var_20,param_00); + var_28 = maps\_utility::spawn_anim_model("player_rig_noexo"); + var_29 = var_28 thread maps\captured_util::captured_player_cuffs(); + var_28 linkto(var_03); + thread player_look_limit_controller(var_28); + thread prisoner_6_shadow_and_loop(var_13,var_03,var_01); + level.player common_scripts\utility::delaycall(31.55,::playrumbleonentity,"light_1s"); + level.player common_scripts\utility::delaycall(48.85,::playrumbleonentity,"heavy_1s"); + level.player thread maps\_utility::blend_movespeedscale(0.075); + level.player allowsprint(0); + level.player allowcrouch(0); + level.player allowprone(0); + level.player freezecontrols(0); + var_03 maps\_anim::anim_single_solo(var_28,"truck_to_s1elevator_unload","tag_origin"); + common_scripts\utility::flag_set("flag_introdrive_end"); + var_2A = [var_0D,var_0C,var_0F,var_10]; + var_2B = common_scripts\utility::array_combine(var_09,var_2A); + var_01 truck_to_s1elevator_scene(var_22,var_28,var_0F,var_15,var_1C,var_2B,var_29); +} + +//Function Number: 9 +player_fov_controller() +{ + level.player lerpfov(52,1); + wait(13); + level.player lerpfov(40,5); + level waittill("s1_drive_guards_start"); + level.player common_scripts\utility::delaycall(2,::lerpfov,65,3); +} + +//Function Number: 10 +player_look_limit_controller(param_00) +{ + level.player playerlinktodelta(param_00,"tag_player",1,0,0,0,0,1); + wait(12); + level.player playerlinktodelta(param_00,"tag_player",1,25,25,12,12,1); + level waittill("s1_drive_guards_start"); + wait(1); + level.player playerlinktoblend(param_00,"tag_player",3,1.5,1.5); +} + +//Function Number: 11 +s1_deleted_prisoners_anims(param_00) +{ + var_01 = self; + var_01 maps\captured_anim::anim_single_to_delete(param_00,"truck_to_s1elevator_unload"); +} + +//Function Number: 12 +prisoner_6_shadow_and_loop(param_00,param_01,param_02) +{ + param_00 linkto(param_01); + param_01 maps\_anim::anim_single_solo(param_00,"truck_drive_player_shadow"); + param_00 unlink(); + param_02 maps\_anim::anim_loop_solo(param_00,"s1_truck_start_loop","prisoner_truck_start_loop_ender"); +} + +//Function Number: 13 +s1_truck_unload_main_allies_anims(param_00,param_01,param_02,param_03) +{ + var_04 = self; + var_05 = maps\_utility::spawn_script_noteworthy("introdrive_driver",1); + var_05.animname = "driver"; + var_05 linkto(var_04,"tag_origin",(0,0,0),(0,0,0)); + var_05 maps\captured_util::ignore_everything(); + var_04 thread maps\_anim::anim_single_solo(var_05,"truck_drive"); + var_04 thread maps\_anim::anim_single(param_00,"truck_drive"); + var_06 = getanimlength(level.allies[0] maps\_utility::getanim("truck_drive")) - 2; + wait(var_06); + var_05 delete(); + wait(2); + foreach(var_08 in level.allies) + { + var_08 unlink(); + } + + param_01 thread maps\captured_anim::anim_single_to_loop(level.allies,"truck_to_s1elevator_unload","truck_to_s1elevator_loop","truck_to_s1elevator_ally_loop_ender",param_02); + param_02 thread maps\captured_anim::anim_single_to_loop(param_03,"truck_to_s1elevator_unload","truck_to_s1elevator_loop","loop_forever_ender"); + level.player common_scripts\utility::delaycall(9.65,::playrumbleonentity,"light_1s"); + wait(6); + param_03 show(); + var_0A = getent("s1_intro_elevator_door","targetname"); + var_0A soundscripts\_snd::snd_message("s2_elevator_door_open_top"); + var_0A moveto(var_0A.origin + (0,0,192),4); +} + +//Function Number: 14 +s1_truck_unload_main_guards_anims(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + var_09 = self; + param_06 common_scripts\utility::delaycall(3.5,::hide); + param_06 common_scripts\utility::delaycall(7,::show); + level waittill("s1_drive_guards_start"); + param_08 maps\_utility::assign_animtree("intro_truck"); + param_08 thread maps\_anim::anim_single_solo(param_08,"introdrive_truckopen"); + param_03 notify(param_04); + param_03 notify("prisoner_truck_start_loop_ender"); + level.player common_scripts\utility::delaycall(2,::lerpfov,65,3); + var_09 thread introdrive_truck_throw_guard(param_00[0],getanimlength(param_00[0] maps\_utility::getanim("truck_to_s1elevator_unload"))); + param_03 thread maps\captured_anim::anim_single_to_loop(param_00[2],"truck_to_s1elevator_unload","truck_to_s1elevator_loop","truck_to_s1elevator_loop_ender"); + param_03 thread maps\captured_anim::anim_single_to_loop(param_06,"truck_to_s1elevator_unload","truck_to_s1elevator_loop","truck_to_s1elevator_loop_ender"); + var_09 maps\_anim::anim_single_solo(param_00[1],"truck_drive"); + param_03 thread maps\captured_anim::anim_single_to_loop(param_00[1],"truck_to_s1elevator_unload","truck_to_s1elevator_loop","truck_to_s1elevator_loop_ender"); + if(isdefined(param_07)) + { + param_03 notify(param_07); + } + + param_03 thread maps\captured_anim::anim_single_to_loop([param_01,param_02],"truck_to_s1elevator_unload","truck_to_s1elevator_loop","truck_to_s1elevator_loop_ender"); +} + +//Function Number: 15 +introdrive_truck_throw_guard(param_00,param_01) +{ + param_00 common_scripts\utility::delaycall(param_01 - 11.85,::hide); + param_00 common_scripts\utility::delaycall(param_01 - 11.65,::show); + thread maps\_anim::anim_single_solo(param_00,"truck_to_s1elevator_unload"); + param_00 maps\captured_util::unignore_everything(); + param_00 thread opfor_kill_guard(getnode("t2e_node_guard_back","targetname")); +} + +//Function Number: 16 +truck_to_s1elevator_scene(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + var_07 = self; + var_08 = getent("origin_scene_s1elevator","targetname"); + if(!isdefined(var_08)) + { + return; + } + + var_09 = level.allies; + var_0A = getent("t2e_clip_start","targetname"); + var_0B = getent("t2e_clip_end","targetname"); + var_0A maps\_utility::flagwaitthread(["flag_t2e_moveup",0.25],::func_9092); + var_0A maps\_utility::delaythread(15,::common_scripts\utility::flag_set,"flag_t2e_moveup"); + var_0B maps\_utility::delaythread(30,::func_9092); + level.cover_warnings_disabled = 1; + param_01 hide(); + level.player unlink(); + param_01 unlink(); + param_06 hide(); + thread soundscripts\_snd::snd_message("aud_intro_caravan_unmute"); + level.player thread maps\_utility::blend_movespeedscale(0.4,7); + level.player thread func_9093(var_0B); + maps\_utility::array_spawn_function_targetname("t2e_kill_guard",::opfor_kill_guard); + var_0C = maps\_utility::array_spawn_targetname("t2e_kill_guard",1); + param_05 = maps\_utility::array_merge(param_05,var_0C); + thread s1_elevator_boundary_function(var_0C); + thread maps\captured_s2walk::spawn_player_prisoner_hands(); + maps\_utility::trigger_wait_targetname("truck_to_s1elevator_trigger"); + common_scripts\utility::flag_set("flag_entered_s1elevator"); + soundscripts\_snd::snd_message("s2_elevator_ride_down"); + soundscripts\_snd::snd_message("aud_stop_cormack_foley"); + level.player setstance("stand"); + var_0D = [param_01,param_03]; + var_08 thread maps\_anim::anim_single(var_0D,"truck_to_s1elevator_push"); + var_07 thread maps\_anim::anim_single_solo(param_02,"truck_to_s1elevator_push"); + if(level.currentgen) + { + thread maps\_utility::tff_sync(6); + } + + level.player playerlinktoblend(param_01,"tag_player",0.5); + wait(0.5); + maps\captured_s2walk::player_hands_idle_stop(1); + param_01 show(); + param_06 show(); + level.player playerlinktodelta(param_01,"tag_player",1,0,0,0,0,1); + level.player common_scripts\utility::delaycall(0.3,::playrumbleonentity,"light_1s"); + level waittill("s1_elevator_player_fall"); + level.player enableslowaim(0.3,0.15); + level.player common_scripts\utility::delaycall(3,::playerlinktodelta,param_01,"tag_player",0.5,20,30,15,15,1); + var_07 notify("truck_to_s1elevator_ally_loop_ender"); + var_08 notify("truck_to_s1elevator_ally_loop_ender"); + var_08 thread maps\captured_anim::anim_single_to_loop(var_09,"truck_to_s1elevator_push","s2walk_wait_intro_loop_allies","s2walk_all_wait_loop_ender"); + if(isdefined(param_00)) + { + var_07 notify(param_00); + } + + thread elevator_ride_s1s2(param_01,param_06); + wait(getanimlength(param_02 maps\_utility::getanim("truck_to_s1elevator_push"))); + level notify("stop_caravan_spawner"); + foreach(var_0F in param_05) + { + if(!isremovedentity(var_0F)) + { + var_0F delete(); + } + } + + foreach(var_12 in param_04) + { + if(!isremovedentity(var_12)) + { + var_12 delete(); + } + } +} + +//Function Number: 17 +func_9093(param_00) +{ + self endon("death"); + level endon("flag_entered_s1elevator"); + thread set_demigod_while("s1_elevator_boundary"); + self waittill("damage",var_01,var_02,var_03,var_04); + if(!common_scripts\utility::flag("s1_elevator_boundary")) + { + var_02.dontmelee = 1; + maps\_utility::set_ignoreme(1); + while(isdefined(var_02.melee)) + { + wait(0.05); + } + + maps\_utility::set_ignoreme(0); + } + + var_05 = common_scripts\utility::array_randomize(["cap_gr4_inline","cap_gr4_getinline"]); + var_02 maps\_utility::smart_dialogue_generic(var_05[0]); + wait(3); + setdemigodmode(self,0); + maps\_utility::set_ignoreme(0); + self waittill("damage",var_01,var_02,var_03,var_04); + var_02 thread maps\_utility::smart_dialogue_generic(var_05[1]); + if(isdefined(param_00)) + { + param_00 delete(); + } +} + +//Function Number: 18 +func_9092() +{ + self connectpaths(); + self delete(); +} + +//Function Number: 19 +set_demigod_while(param_00) +{ + self endon("death"); + setdemigodmode(self,1); + while(common_scripts\utility::flag(param_00)) + { + wait(0.05); + } + + setdemigodmode(self,0); +} + +//Function Number: 20 +s1_elevator_boundary_function(param_00) +{ + self endon("death"); + level endon("flag_entered_s1elevator"); + for(;;) + { + common_scripts\utility::flag_waitopen("s1_elevator_boundary"); + wait(2); + if(!common_scripts\utility::flag("s1_elevator_boundary")) + { + var_01 = common_scripts\utility::getclosest(level.player.origin,param_00); + magicbullet("iw5_titan45_sp",var_01 geteye(),level.player geteye()); + level.player kill((5352,-5148,32),var_01); + } + } +} + +//Function Number: 21 +elevator_ride_s1s2(param_00,param_01) +{ + var_02 = getentarray("brush_elevator_s1s2","targetname"); + var_03 = getent("origin_scene_s1elevator","targetname"); + var_04 = getent("brush_elevator_s1s2_bottomgate","targetname"); + var_05 = level.allies; + common_scripts\utility::array_thread(var_05,::maps\captured_util::ignore_everything); + common_scripts\utility::array_thread(var_05,::maps\_utility::gun_remove); + var_06 = undefined; + var_07 = []; + var_08 = 0; + foreach(var_0A in var_02) + { + if(var_08 != 1) + { + if(var_0A.classname == "script_brushmodel") + { + var_06 = var_0A; + var_08 = 1; + } + else + { + var_07 = common_scripts\utility::array_add(var_07,var_0A); + } + + continue; + } + + var_07 = common_scripts\utility::array_add(var_07,var_0A); + } + + var_07 = common_scripts\utility::array_add(var_07,var_03); + var_07 = common_scripts\utility::array_add(var_07,var_04); + var_07 = common_scripts\utility::array_combine(var_07,var_05); + param_00 linkto(var_06); + foreach(var_0D in var_07) + { + var_0D linkto(var_06); + } + + common_scripts\utility::flag_set("flag_start_s1elevator"); + var_0F = spawn("script_model",(5520,-5705,75)); + var_0F setmodel("tag_origin"); + playfxontag(level._effect["cap_intro_elevator_light_soft"],var_0F,"tag_origin"); + var_0F linkto(var_06); + wait(5.8); + if(level.currentgen) + { + if(!istransientloaded("captured_s2walk_tr")) + { + level waittill("tff_post_intro_drive_to_s2walk"); + } + } + + level notify("stop_elevator_push"); + level notify("start_elevator_sounds"); + thread scene_enemy_walk_setup_loops(param_00,param_01); + var_06 moveto(var_06.origin - (0,0,593),18.5); + wait(14); + common_scripts\utility::flag_set("flag_s1elevator_end"); + wait(4.5); + var_04 unlink(); + level notify("stop_elevator_sounds"); +} + +//Function Number: 22 +elevator_push() +{ + level endon("stop_elevator_push"); + var_00 = anglestoforward(common_scripts\utility::getstruct("struct_playerstart_s1elevator","targetname").angles) * 16; + for(;;) + { + common_scripts\utility::flag_wait("flag_s1elevator_push"); + player_push_impulse(var_00,1); + } +} + +//Function Number: 23 +player_push_impulse(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = 0.05; + } + + var_02 = param_01; + while(var_02 > 0) + { + var_03 = clamp(var_02 / param_01,0,1); + var_04 = param_00 * var_03; + level.player pushplayervector(var_04); + var_02 = var_02 - 0.05; + wait(0.05); + } + + level.player pushplayervector((0,0,0)); +} + +//Function Number: 24 +scene_s1_in_elevator() +{ + common_scripts\utility::flag_wait("flag_start_s1elevator"); +} + +//Function Number: 25 +scene_enemy_walk_setup_loops(param_00,param_01) +{ + var_02 = common_scripts\utility::getstruct("struct_scene_s2walkstart","targetname"); + if(!isdefined(var_02)) + { + return; + } + + var_03 = maps\_utility::array_spawn_noteworthy("actor_s2wintro_guards"); + for(var_04 = 0;var_04 < var_03.size;var_04++) + { + var_03[var_04] maps\captured_util::ignore_everything(); + var_05 = var_04 + 1; + var_03[var_04].animname = "guard_" + var_05; + if(var_05 == 3) + { + var_03[var_04] maps\_utility::gun_remove(); + } + } + + var_02 thread maps\_anim::anim_loop(var_03,"s2walk_guard_intro_loop","s2walk_guard_intro_loop_ender"); + level waittill("s1elevator_end"); + var_02 notify("s2walk_guard_intro_loop_ender"); + thread maps\captured_s2walk::scene_intro_walk(var_03,param_00,param_01); +} + +//Function Number: 26 +nt_s1_elevator_push_fall(param_00) +{ + level notify("s1_elevator_player_fall"); +} + +//Function Number: 27 +nt_s1_truck_dismount_guards(param_00) +{ + level notify("s1_drive_guards_start"); + thread soundscripts\_snd::snd_message("aud_intro_to_elev_walla"); +} + +//Function Number: 28 +nt_s1_elevator_end(param_00) +{ + level notify("s1elevator_end"); +} + +//Function Number: 29 +opfor_kill_guard(param_00) +{ + self endon("death"); + self.newenemyreactiondistsq = 0; + maps\_utility::flagwaitthread("flag_entered_s1elevator",::maps\_utility::set_ignoreall,1); + if(isdefined(param_00)) + { + self.script_forcegoal = 1; + thread maps\_utility::follow_path(param_00); + } + else if(isdefined(self.target)) + { + param_00 = getnode(self.target,"targetname"); + } + + if(isdefined(param_00) && isdefined(param_00.script_flag_wait) && isdefined(param_00.target)) + { + var_01 = getnode(param_00.target,"targetname"); + var_02 = 0; + if(isdefined(param_00.script_wait) && param_00.script_wait > 0.05) + { + var_02 = param_00.script_wait - 0.05; + } + + maps\_utility::flagwaitthread([param_00.script_flag_wait,var_02],::maps\_utility::follow_path,var_01); + } + + self.a.nextmeleechargesound = gettime() + 320000; + maps\_utility::set_favoriteenemy(level.player); + maps\_utility::enable_dontevershoot(); + maps\_utility::magic_bullet_shield(1); + common_scripts\utility::flag_wait("s1_elevator_boundary"); + common_scripts\utility::flag_waitopen("s1_elevator_boundary"); + maps\_utility::disable_dontevershoot(); + level.player waittill("death"); + maps\_utility::enable_dontevershoot(); +} \ No newline at end of file diff --git a/AW/PC/maps/captured_lighting.gsc b/AW/PC/maps/captured_lighting.gsc new file mode 100644 index 0000000..ba13482 --- /dev/null +++ b/AW/PC/maps/captured_lighting.gsc @@ -0,0 +1,886 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: captured_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 40 + * Decompile Time: 584 ms + * Timestamp: 4/22/2024 2:26:21 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + thread set_level_lighting_values(); + thread dof_init(); + thread lgt_init(); + thread retarget_model_init(); +} + +//Function Number: 2 +retarget_model_init() +{ + wait 0.05; + wait 0.05; + var_00 = getentarray("s1_intro_elevator_door","targetname"); + var_01 = spawn("script_model",(5520,-5504,-16)); + var_01 setmodel("tag_origin"); + foreach(var_03 in var_00) + { + var_03 retargetscriptmodellighting(var_01); + } + + var_00 = getentarray("model_s3interrogation_doorin","targetname"); + var_01 = spawn("script_model",(4803,-9935,-1708)); + var_01 setmodel("tag_origin"); + foreach(var_03 in var_00) + { + var_03 retargetscriptmodellighting(var_01); + } + + var_00 = getentarray("model_s3escape_doorout","targetname"); + var_01 = spawn("script_model",(5232,-9928,-1760)); + var_01 setmodel("tag_origin"); + foreach(var_03 in var_00) + { + var_03 retargetscriptmodellighting(var_01); + } + + var_00 = getentarray("model_s3escape_docdoor","targetname"); + var_01 = spawn("script_model",(5256,-10304,-1760)); + var_01 setmodel("tag_origin"); + foreach(var_03 in var_00) + { + var_03 retargetscriptmodellighting(var_01); + } + + var_00 = getentarray("door_ah_morgue","targetname"); + var_01 = spawn("script_model",(4960,-13104,-1620)); + var_01 setmodel("tag_origin"); + foreach(var_03 in var_00) + { + var_03 retargetscriptmodellighting(var_01); + } + + var_00 = getentarray("tc_side_doors","targetname"); + var_01 = spawn("script_model",(3888,-11068,-1544)); + var_01 setmodel("tag_origin"); + foreach(var_03 in var_00) + { + var_03 retargetscriptmodellighting(var_01); + } + + var_00 = getentarray("door_bh_yard","targetname"); + var_01 = spawn("script_model",(11408,-13608,-1852)); + var_01 setmodel("tag_origin"); + foreach(var_03 in var_00) + { + var_03 retargetscriptmodellighting(var_01); + } + + var_00 = getentarray("door_bh_mech","targetname"); + var_01 = spawn("script_model",(11408,-13608,-1852)); + var_01 setmodel("tag_origin"); + foreach(var_03 in var_00) + { + var_03 retargetscriptmodellighting(var_01); + } +} + +//Function Number: 3 +lgt_init() +{ + thread lgt_s2_walk(); + thread lgt_escape_door_alarm(); + thread lgt_emergency_screens(); + thread lgt_sys_hacking(); + thread lgt_test_chamber(); + thread lgt_uv_flash(); + thread lgt_morgue(); + thread lgt_incinerator_seq(); + thread lgt_heli_escape(); + thread lgt_manticore_bay(); + thread lgt_mech2_door(); +} + +//Function Number: 4 +dof_init() +{ + thread dof_introdrive_seq(); + thread dof_s2_walk(); + thread dof_s3_interrogation(); + thread dof_escape_gun_seq(); + thread dof_sys_hacking(); + thread dof_uv_flash(); + thread dof_incinerator_seq(); + thread dof_autopsy_door_seq(); + thread dof_manticore_hangar(); + thread dof_heli_flight_seq(); + thread dof_heli_crash(); + thread dof_mech_suit_entrance(); + thread dof_mech_jump_getup(); + thread dof_mech_gate_crash(); + thread dof_mech_door(); + thread dof_end_escape(); +} + +//Function Number: 5 +set_level_lighting_values() +{ + if(isusinghdr()) + { + setsaveddvar("r_disableLightSets",0); + setsaveddvar("r_mdao",1); + setsaveddvar("r_mdaoOccluderCullDistance",641); + } + + if(level.nextgen) + { + setsaveddvar("r_hemiAoEnable",1); + } +} + +//Function Number: 6 +lgt_change_intensity_over_time(param_00,param_01) +{ + var_02 = int(param_01 * 20); + var_03 = self getlightintensity(); + var_04 = param_00 - var_03 / var_02; + for(var_05 = 0;var_05 < var_02;var_05++) + { + self setlightintensity(var_03 + var_05 * var_04); + wait(0.05); + } + + self setlightintensity(param_00); +} + +//Function Number: 7 +lgt_emergency_screens() +{ + var_00 = getentarray("lgt_screen_emergency","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 thread lgt_alarm_pulsing(6000,0.15,0.3,0.15,0.6); + } +} + +//Function Number: 8 +lgt_start_fire(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = 0.85; + } + + self endon("kill_incinerator_light"); + if(getdvar("r_reflectionProbeGenerate") == "1") + { + self setlightintensity(0.01); + return; + } + + var_02 = (0.992157,0.321569,0.101961); + var_03 = (0.305,0.475,0.895); + for(var_04 = 0;var_04 < param_00;var_04++) + { + self setlightintensity(0.01); + self setlightcolor(var_02); + var_05 = randomfloatrange(1.7,2.2); + lgt_change_intensity_over_time(54000,var_05); + wait(4 - var_05); + lgt_change_intensity_over_time(0.01,1); + self setlightcolor(var_03); + wait(0.5); + lgt_change_intensity_over_time(15,0.5); + wait(0.85); + } +} + +//Function Number: 9 +lgt_alarm_pulsing(param_00,param_01,param_02,param_03,param_04) +{ + self endon("kill_pulse_light"); + if(getdvar("r_reflectionProbeGenerate") == "1") + { + self setlightintensity(0); + return; + } + + var_05 = self getlightintensity(); + if(isdefined(param_00)) + { + var_05 = param_00; + } + + if(!isdefined(param_03)) + { + param_03 = 0.5; + } + + if(!isdefined(param_04)) + { + param_04 = 1; + } + + var_06 = 0.05; + var_07 = var_05; + if(!isdefined(param_01)) + { + param_01 = 0.3; + } + + if(!isdefined(param_02)) + { + param_02 = 0.6; + } + + var_08 = var_05 - var_06 / param_01 / 0.05; + var_09 = var_05 - var_06 / param_02 / 0.05; + for(;;) + { + var_0A = 0; + while(var_0A < param_02) + { + var_07 = var_07 - var_09; + var_07 = clamp(var_07,0,100); + self setlightintensity(var_07); + var_0A = var_0A + 0.05; + wait(0.05); + } + + wait(param_04); + var_0A = 0; + while(var_0A < param_01) + { + var_07 = var_07 + var_08; + var_07 = clamp(var_07,0,100); + self setlightintensity(var_07); + var_0A = var_0A + 0.05; + wait(0.05); + } + + wait(param_03); + } +} + +//Function Number: 10 +lgt_s2_walk() +{ + var_00 = getentarray("lgt_s2_elevator","script_noteworthy"); + common_scripts\utility::flag_wait("lgt_flag_elevator_entered"); + foreach(var_02 in var_00) + { + var_02 thread lgt_change_intensity_over_time(6500,0.3); + } +} + +//Function Number: 11 +lgt_escape_door_alarm() +{ + common_scripts\utility::flag_wait("lgt_flag_interrogation_esc"); + var_00 = common_scripts\utility::spawn_tag_origin(); + var_00.origin = (5245.18,-10373.4,-1681.97); + var_00 soundscripts\_snd::snd_message("aud_red_light"); + wait(1.4); + thread maps\captured_fx::fx_emergency_lights("fx_emergency_lights_s3door","lgt_flag_interrogation_esc_done",2.4); + common_scripts\utility::flag_wait("lgt_flag_interrogation_esc_done"); + var_00 delete(); +} + +//Function Number: 12 +lgt_sys_hacking() +{ + level waittill("finished_door_hacking"); + wait 0.05; + wait 0.05; + thread maps\captured_fx::fx_emergency_lights("fx_emergency_lights_hack","lgt_flag_tc_alarms_off",0.75); +} + +//Function Number: 13 +lgt_test_chamber() +{ +} + +//Function Number: 14 +lgt_uv_flash() +{ + level waittill("start_anim_tc_exit_stairs"); + var_00 = getentarray("lgt_uv_decontamination","script_noteworthy"); + var_01 = getent("lgt_uv_bake_red","script_noteworthy"); + var_01 setlightcolor((0.95,0.2,0.1)); + var_01 setlightintensity(1600); + common_scripts\_exploder::exploder("fx_uv_orange_light"); + var_02 = getent("lgt_uv_bake_green","script_noteworthy"); + var_02 setlightcolor((0.1,0.95,0.2)); + var_02 setlightintensity(0.01); + level waittill("start_anim_tc_enter_test"); + foreach(var_04 in var_00) + { + var_04 thread lgt_change_intensity_over_time(8000,1.3); + } + + wait(0.6); + foreach(var_04 in var_00) + { + var_04 thread lgt_change_intensity_over_time(24000,1.1); + } + + wait(0.6); + foreach(var_04 in var_00) + { + var_04 thread lgt_change_intensity_over_time(1500,0.3); + } + + wait(4.5); + common_scripts\_exploder::kill_exploder("fx_uv_orange_light"); + var_01 lgt_change_intensity_over_time(0.01,0.25); + common_scripts\_exploder::exploder("fx_uv_green_light"); + var_02 lgt_change_intensity_over_time(1600,0.25); + wait(5); + var_02 lgt_change_intensity_over_time(0.01,0.25); + common_scripts\_exploder::kill_exploder("fx_uv_green_light"); +} + +//Function Number: 15 +lgt_morgue() +{ + if(!common_scripts\utility::flag_exist("lgt_flag_morgue_end")) + { + common_scripts\utility::flag_init("lgt_flag_morgue_end"); + } + + thread maps\captured_fx::fx_emergency_lights("fx_emergency_lights_morgue","lgt_flag_morgue_end"); +} + +//Function Number: 16 +lgt_incinerator_seq() +{ + if(!common_scripts\utility::flag_exist("lgt_flag_inc_near_miss")) + { + common_scripts\utility::flag_init("lgt_flag_inc_near_miss"); + } + + if(!common_scripts\utility::flag_exist("lgt_flag_inc_pipe_explode")) + { + common_scripts\utility::flag_init("lgt_flag_inc_pipe_explode"); + } + + if(!common_scripts\utility::flag_exist("flag_incinerator_saved")) + { + common_scripts\utility::flag_init("flag_incinerator_saved"); + } + + var_00 = getentarray("lgt_incinerator_fire","script_noteworthy"); + var_01 = getent("lgt_incinerator_gideon","script_noteworthy"); + var_02 = getent("lgt_incinerator_fire1","script_noteworthy"); + var_03 = getent("lgt_incinerator_fire2","script_noteworthy"); + var_04 = getent("lgt_incinerator_fire3","script_noteworthy"); + var_05 = getent("lgt_incinerator_fire4","script_noteworthy"); + var_06 = getent("lgt_incinerator_fire5","script_noteworthy"); + var_07 = getent("lgt_incinerator_fire_under","script_noteworthy"); + var_08 = (0.992157,0.321569,0.101961); + var_09 = (0.305,0.475,0.895); + var_0A = [var_02,var_03,var_04,var_05,var_06]; + if(level.nextgen) + { + var_01 setlightintensity(0.01); + var_01 setlightcolor(var_09); + common_scripts\utility::array_call(var_0A,::setlightintensity,0.01); + common_scripts\utility::array_call(var_0A,::setlightcolor,var_09); + common_scripts\utility::array_call(var_0A,::setlightradius,100); + common_scripts\utility::array_call(var_00,::setlightintensity,0.01); + var_02 setlightradius(700); + var_07 setlightintensity(100); + } + + var_0B = common_scripts\utility::flag_wait_either_return("flag_autopsy_end","flag_incinerator_saved"); + maps\_utility::fog_set_changes("captured",0.01); + if(var_0B == "flag_autopsy_end") + { + common_scripts\utility::flag_wait("flag_incinerator_saved"); + } + + maps\_art::sunflare_changes("incinerator",0); + var_0C = randomfloatrange(0.35,0.5); + thread maps\_utility::vision_set_fog_changes("",var_0C * 5); + wait(8.15); + if(level.nextgen) + { + var_01 thread lgt_change_intensity_over_time(15,var_0C); + var_06 lgt_change_intensity_over_time(15,var_0C); + wait(2.43 - var_0C); + var_0C = randomfloatrange(0.35,0.5); + var_05 lgt_change_intensity_over_time(100,var_0C); + wait(0.9 - var_0C); + var_0C = randomfloatrange(0.3,0.45); + var_04 lgt_change_intensity_over_time(60,var_0C); + wait(0.77 - var_0C); + var_0C = randomfloatrange(0.35,0.5); + var_03 lgt_change_intensity_over_time(60,var_0C); + wait(0.6 - var_0C); + var_0C = randomfloatrange(0.2,0.4); + var_02 lgt_change_intensity_over_time(65,var_0C); + wait(0.53 - var_0C); + var_01 thread lgt_change_intensity_over_time(25,1.25); + var_0C = randomfloatrange(0.23,0.4); + var_02 lgt_change_intensity_over_time(115,var_0C); + wait(0.7); + var_02 setlightintensity(0.01); + var_02 setlightcolor(var_08); + var_03 setlightintensity(0.01); + var_03 setlightcolor(var_08); + var_03 setlightradius(200); + var_02 thread lgt_start_fire(1); + var_03 lgt_start_fire(1); + wait(1.75); + var_03 setlightintensity(0.01); + var_03 setlightradius(400); + var_03 setlightcolor(var_08); + var_04 setlightradius(400); + var_04 thread lgt_start_fire(1); + var_03 lgt_start_fire(1); + wait(1.75); + var_04 setlightintensity(0.01); + var_04 setlightradius(400); + var_04 setlightcolor(var_08); + var_04 lgt_start_fire(1); + wait(1.75); + var_05 setlightintensity(0.01); + var_05 setlightradius(400); + var_05 setlightcolor(var_08); + var_05 thread lgt_start_fire(6,2.6); + common_scripts\utility::flag_wait("lgt_flag_inc_near_miss"); + common_scripts\utility::array_call(var_0A,::setlightradius,20); + var_05 setlightradius(200); + var_05 notify("kill_incinerator_light"); + var_05 thread lgt_start_fire(40,2.6); + wait(1.75); + foreach(var_0E in var_00) + { + var_0E thread lgt_start_fire(40,2.6); + } + + common_scripts\utility::flag_wait("lgt_flag_inc_pipe_explode"); + var_07 lgt_change_intensity_over_time(10000,randomfloatrange(0.23,0.4)); + wait(1.4); + var_07 lgt_change_intensity_over_time(0.01,randomfloatrange(0.23,0.4)); + common_scripts\utility::flag_wait("flag_incinerator_end"); + foreach(var_0E in var_0A) + { + var_0E notify("kill_incinerator_light"); + wait(randomfloatrange(0.6,1.1)); + } + + foreach(var_0E in var_00) + { + var_0E notify("kill_incinerator_light"); + wait(randomfloatrange(0.6,1.1)); + } + } +} + +//Function Number: 17 +lgt_heli_escape() +{ + common_scripts\utility::flag_wait("flag_bh_intro_start_scene"); + wait(2); + thread maps\captured_fx::fx_emergency_lights("fx_emergency_lights_heli","flag_bh_pit",2); +} + +//Function Number: 18 +lgt_manticore_bay() +{ + var_00 = getentarray("lgt_manticore_pulsing","script_noteworthy"); + common_scripts\utility::flag_wait("flag_s3guard_security_door_shuts"); + foreach(var_02 in var_00) + { + var_02 thread lgt_alarm_pulsing(15000); + } + + common_scripts\utility::flag_wait("s3escape_hall_enemies_dead"); + foreach(var_02 in var_00) + { + var_02 notify("kill_pulse_light"); + } +} + +//Function Number: 19 +lgt_mech2_door() +{ + if(!common_scripts\utility::flag_exist("lgt_flag_mb2_end")) + { + common_scripts\utility::flag_init("lgt_flag_mb2_end"); + } + + common_scripts\utility::flag_wait("flag_mb1_end"); + thread maps\captured_fx::fx_emergency_lights("fx_emergency_lights_mb2","lgt_flag_mb2_end"); + wait(20); + common_scripts\utility::flag_set("lgt_flag_mb2_end"); +} + +//Function Number: 20 +dof_set_focus(param_00,param_01,param_02,param_03,param_04,param_05) +{ + if(isdefined(param_04) && isdefined(param_05)) + { + level.player setphysicaldepthoffield(param_02,param_03,param_04,param_05); + } + else + { + level.player setphysicaldepthoffield(param_02,param_03); + } + + wait(param_01); +} + +//Function Number: 21 +dof_introdrive_seq() +{ + common_scripts\utility::flag_wait("lgt_flag_introdrive"); + setsaveddvar("r_dof_physical_bokehEnable",1); + if(level.xb3) + { + setsaveddvar("sm_sunShadowBoundsMin","-10240 -10240 -64"); + setsaveddvar("sm_sunShadowBoundsMax","10240 10240 2048"); + setsaveddvar("sm_sunShadowBoundsOverride","1"); + } + + level.player enablephysicaldepthoffieldscripting(); + dof_set_focus("beginning hands",5.5,2.8,20); + dof_set_focus("background look up",9,11,1860,2,1); + dof_set_focus("faces",20,2.8,65,0.5,0.5); + dof_set_focus("slow down",8.5,8,65,3,1.5); + dof_set_focus("guard approach",2,5.6,60); + dof_set_focus("guard climb",1.5,5.6,25); + dof_set_focus("guard and Ilana",2.25,5.6,13); + dof_set_focus("guard close",4,5.6,10); + dof_set_focus("guard when falling",1.25,5.6,60); + if(level.nextgen) + { + setsaveddvar("r_mbEnable",2); + setsaveddvar("r_mbCameraRotationInfluence",1); + setsaveddvar("r_mbCameraTranslationInfluence",1); + setsaveddvar("r_mbVelocityScalar",0.85); + } + + dof_set_focus("hit",1,1.2,40); + setsaveddvar("sm_sunsamplesizenear",0.6); + dof_set_focus("hands",2.25,3.5,20); + dof_set_focus("gideon",1.5,5.6,100); + dof_set_focus("gideon and co",5,3.5,260); + if(level.nextgen) + { + setsaveddvar("r_mbEnable",0); + setsaveddvar("r_dof_physical_hipEnable",1); + setsaveddvar("r_dof_physical_hipFstop",4); + setsaveddvar("r_dof_physical_hipSharpCocDiameter",0.08); + } + + if(level.xb3) + { + setsaveddvar("sm_sunShadowBoundsOverride","0"); + } + + common_scripts\utility::flag_wait("flag_start_s1elevator"); + setsaveddvar("sm_sunsamplesizenear","0.1"); + setsaveddvar("r_dof_physical_hipEnable",0); + level.player disablephysicaldepthoffieldscripting(); +} + +//Function Number: 22 +dof_s2_walk() +{ + common_scripts\utility::flag_wait("flag_s2walk_start"); + level.player enablephysicaldepthoffieldscripting(); + setsaveddvar("r_mbEnable",3); + setsaveddvar("r_mbCameraTranslationInfluence",1); + dof_set_focus("hands",2.25,3.5,30); + dof_set_focus("walk",2.25,3.5,100); + level waittill("trolley_doctor_start"); + wait(2); + dof_set_focus("gideon start",1.5,1.25,85,2,2); + dof_set_focus("gideon",3,0.5,85,2,2); + dof_set_focus("doctor",2.5,3.5,18); + dof_set_focus("out",0,0.5,20); + wait(0.5); + common_scripts\utility::flag_wait("flag_s2elevator_end"); + setsaveddvar("r_mbEnable",0); + level.player disablephysicaldepthoffieldscripting(); +} + +//Function Number: 23 +dof_s3_interrogation() +{ + common_scripts\utility::flag_wait("lgt_flag_interrogation_begin"); + level.player enablephysicaldepthoffieldscripting(); + dof_set_focus("interrogation wake up",4,3,24); + dof_set_focus("Hands",2.5,5.6,24); + dof_set_focus("Friends",5.5,2,170); + dof_set_focus("Iron Enter",2.5,3.5,64); + dof_set_focus("Iron Enter 2",3,5.6,54); + dof_set_focus("Iron turn",7.5,5,76); + dof_set_focus("Iron talk",17.5,8,56); + dof_set_focus("Iron start Close",2.75,8,30); + dof_set_focus("Iron mid Close",1.75,7.5,23); + dof_set_focus("Iron Close",12,7.5,20); + dof_set_focus("Cormack",11,6.5,70); + dof_set_focus("Irons shoot",14,6.5,65); + dof_set_focus("Iron far",8.5,4,145); + dof_set_focus("Iron / Cormack",3,6,80); + dof_set_focus("Cormack",3,4,50); + dof_set_focus("Iron close again",12.5,7.5,24); + dof_set_focus("Right up",14,11,12.5); + dof_set_focus("Hands 1",1,8,14); + dof_set_focus("Face",1.5,6,24); + dof_set_focus("Hands 2",4.5,8,14); + dof_set_focus("Close",14,11,20); + dof_set_focus("Fade Out",10,4,54,4,5); + dof_set_focus("Fade In",2.5,0.4,24); + dof_set_focus("Fade Up",3,1.4,74); + dof_set_focus("Friends",5,3.5,154); + dof_set_focus("Friends escape",6,5.5,74); + dof_set_focus("Gideon",9,7,40); + dof_set_focus("Undo shackles",7,3.5,30); + dof_set_focus("Everyone",5,11,64); + common_scripts\utility::flag_wait("flag_s3interrogate_end"); + level.player disablephysicaldepthoffieldscripting(); +} + +//Function Number: 24 +dof_escape_gun_seq() +{ + level waittill("s3_escape_player_got_gun"); + level.player enablephysicaldepthoffieldscripting(); + setsaveddvar("r_dof_physical_bokehEnable",1); + dof_set_focus("beginning gun",1,8,31); + dof_set_focus("gideon",9,4.5,31,2,1); + dof_set_focus("gideonfar",5,22,170,3,4); + setsaveddvar("r_dof_physical_bokehEnable",0); + level.player disablephysicaldepthoffieldscripting(); +} + +//Function Number: 25 +dof_sys_hacking() +{ + level waittill("started_door_hacking"); + level.player enablephysicaldepthoffieldscripting(); + setsaveddvar("r_dof_physical_bokehEnable",1); + wait(0.5); + dof_set_focus("hacking",6.5,2,32,1.5,1.5); + level waittill("finished_door_hacking"); + setsaveddvar("r_dof_physical_hipEnable",0); + setsaveddvar("r_dof_physical_bokehEnable",0); + level.player disablephysicaldepthoffieldscripting(); +} + +//Function Number: 26 +dof_uv_flash() +{ + level waittill("start_anim_tc_enter_test"); + level.player enablephysicaldepthoffieldscripting(); + dof_set_focus("Gideon",5.4,3,94); + common_scripts\utility::flag_wait("lgt_flag_entered_tc"); + setsaveddvar("r_dof_physical_hipEnable",1); + setsaveddvar("r_dof_physical_hipFstop",4); + setsaveddvar("r_dof_physical_hipSharpCocDiameter",0.22); + common_scripts\utility::flag_wait("lgt_flag_exit_tc"); + setsaveddvar("r_dof_physical_hipSharpCocDiameter",0.15); + wait(1); + setsaveddvar("r_dof_physical_hipSharpCocDiameter",0.08); + wait(1); + setsaveddvar("r_dof_physical_hipEnable",0); + level.player disablephysicaldepthoffieldscripting(); +} + +//Function Number: 27 +dof_autopsy_door_seq() +{ + common_scripts\utility::flag_wait("lgt_flag_entered_autopsy"); + setsaveddvar("r_dof_physical_hipEnable",1); + setsaveddvar("r_dof_physical_hipFstop",2); + setsaveddvar("r_dof_physical_hipSharpCocDiameter",0.05); + level waittill("doctor_door_weapon_hidden"); + setsaveddvar("r_dof_physical_hipEnable",0); + level.player enablephysicaldepthoffieldscripting(); + dof_set_focus("face and gun",2.5,2.2,25,3.5,3.5); + dof_set_focus("doctor",1,4,65,1,2); + level.player disablephysicaldepthoffieldscripting(); +} + +//Function Number: 28 +dof_incinerator_seq() +{ + var_00 = common_scripts\utility::flag_wait_either_return("flag_autopsy_end","flag_incinerator_saved"); + if(var_00 == "flag_autopsy_end") + { + common_scripts\utility::flag_wait("flag_incinerator_saved"); + } + + wait(8.15); + level.player enablephysicaldepthoffieldscripting(); + dof_set_focus("Gideon",2.43,4,20); + dof_set_focus("pilot 2",1.9,3.5,109); + dof_set_focus("pilot 3",5,2.6,250); + dof_set_focus("Gideon again",2,4,20); + dof_set_focus("Gideon further",2,4,60,5,3); + common_scripts\utility::flag_wait("flag_incinerator_push_start"); + dof_set_focus("Gideon close",6,4,32,5,3); + common_scripts\utility::flag_wait("lgt_flag_inc_near_miss"); + dof_set_focus("near miss",0,5.6,50); + common_scripts\utility::flag_wait("lgt_flag_inc_pipe_explode"); + common_scripts\utility::flag_wait("flag_incinerator_end"); + level.player disablephysicaldepthoffieldscripting(); +} + +//Function Number: 29 +dof_manticore_hangar() +{ + level waittill("lgt_dof_run_to_heli"); + thread heli_probe_override(); + level.player enablephysicaldepthoffieldscripting(); + dof_set_focus("Gideon",2.5,4,180); + common_scripts\utility::flag_wait("flag_player_and_ally_at_window"); + level.player disablephysicaldepthoffieldscripting(); + setsaveddvar("r_dof_physical_hipEnable",1); + setsaveddvar("r_dof_physical_hipFstop",11); + setsaveddvar("r_dof_physical_hipSharpCocDiameter",0.055); + common_scripts\utility::flag_wait("flag_bh_run"); + setsaveddvar("r_mbEnable",2); + setsaveddvar("r_mbCameraRotationInfluence",1); + setsaveddvar("r_mbCameraTranslationInfluence",1); + setsaveddvar("r_mbVelocityScalar",0.2); + common_scripts\utility::flag_wait("flag_heliride_warbird_mount"); + setsaveddvar("r_dof_physical_hipEnable",0); +} + +//Function Number: 30 +dof_heli_flight_seq() +{ + common_scripts\utility::flag_wait("flag_heliride_warbird_mount"); + level.player lightsetoverrideenableforplayer("captured_heli",12); + setsaveddvar("r_mbEnable",3); + setsaveddvar("r_mbCameraRotationInfluence",1); + setsaveddvar("r_mbCameraTranslationInfluence",1); + setsaveddvar("r_mbVelocityScalar",0.2); + level.player enablephysicaldepthoffieldscripting(); + dof_set_focus("heli board",3,2.5,60,0.5,1); + dof_set_focus("heli flight",0,1.8,80,2,4); + common_scripts\utility::flag_wait("flag_heliride_end"); + setsaveddvar("r_mbEnable",0); + level.player disablephysicaldepthoffieldscripting(); + level.player lightsetoverrideenableforplayer(); +} + +//Function Number: 31 +dof_heli_crash() +{ + level waittill("anim_mech_wakeup"); + level.player enablephysicaldepthoffieldscripting(); + dof_set_focus("Wake up",2.43,2.6,24); + dof_set_focus("Hands",5,2.6,44); + dof_set_focus("Gideon slide",3,2.6,180); + dof_set_focus("Gideon close",7,2.6,50); + level.player disablephysicaldepthoffieldscripting(); +} + +//Function Number: 32 +dof_mech_suit_entrance() +{ + common_scripts\utility::flag_wait("flag_getting_into_mech"); + level.player enablephysicaldepthoffieldscripting(); + setsaveddvar("r_mbEnable",2); + setsaveddvar("r_mbCameraRotationInfluence",1); + setsaveddvar("r_mbCameraTranslationInfluence",1); + setsaveddvar("r_mbVelocityScalar",0.2); + dof_set_focus("mech",17,4,22); + dof_set_focus("inside mech",5,5,200); + common_scripts\utility::flag_wait("lgt_flag_mech_entered"); + setsaveddvar("r_mbEnable",0); + level.player disablephysicaldepthoffieldscripting(); +} + +//Function Number: 33 +dof_mech_jump_getup() +{ +} + +//Function Number: 34 +dof_mech_gate_crash() +{ +} + +//Function Number: 35 +dof_mech_door() +{ + level waittill("lgt_dof_mechdoor"); + setsaveddvar("r_dof_physical_hipEnable",1); + setsaveddvar("r_dof_physical_hipFstop",3.5); + setsaveddvar("r_dof_physical_hipSharpCocDiameter",0.08); + setsaveddvar("r_mbEnable",2); + setsaveddvar("r_mbCameraRotationInfluence",1); + setsaveddvar("r_mbCameraTranslationInfluence",1); + setsaveddvar("r_mbVelocityScalar",0.2); + common_scripts\utility::flag_wait("flag_gatedoor_end"); + setsaveddvar("r_dof_physical_hipEnable",0); +} + +//Function Number: 36 +dof_end_escape() +{ + level waittill("truck_dof"); + level.player enablephysicaldepthoffieldscripting(); + dof_set_focus("hands on ground",3.5,4,20); + dof_set_focus("gideon",6,2,170); + dof_set_focus("gideon near",1.5,0.8,100); + dof_set_focus("gideon nearer",1.25,1.6,75); + dof_set_focus("explosion",2.25,0.8,1400); + dof_set_focus("gideon",1.75,2.4,65); + dof_set_focus("gideon away",6.25,2.5,150); + dof_set_focus("Ilana",6,16,40); + dof_set_focus("Gideon close",15,2.5,32); + level.player disablephysicaldepthoffieldscripting(); +} + +//Function Number: 37 +heli_probe_override() +{ + script_probe_heli_open(); + common_scripts\utility::flag_wait("flag_heliride_end"); + script_probe_heli_reset(); +} + +//Function Number: 38 +script_probe_heli_open() +{ + var_00 = getent("refl_probe_heli_open","targetname"); + level waittill("all_heliride_pieces_spawned"); + level._facility.warbird overridereflectionprobe(var_00.origin); + level.player_rig overridereflectionprobe(var_00.origin); + level.allies[0] overridereflectionprobe(var_00.origin); + level.pilot overridereflectionprobe(var_00.origin); + level.mech_pilot overridereflectionprobe(var_00.origin); + level.heli_collision overridereflectionprobe(var_00.origin); + level.glass overridereflectionprobe(var_00.origin); + level.glass_broken overridereflectionprobe(var_00.origin); +} + +//Function Number: 39 +script_probe_heli_closed() +{ + var_00 = getent("refl_probe_heli_closed","targetname"); + level._facility.warbird overridereflectionprobe(var_00.origin); + level.player_rig overridereflectionprobe(var_00.origin); + level.allies[0] overridereflectionprobe(var_00.origin); + level.pilot overridereflectionprobe(var_00.origin); + level.mech_pilot overridereflectionprobe(var_00.origin); + level.heli_collision overridereflectionprobe(var_00.origin); + level.glass overridereflectionprobe(var_00.origin); + level.glass_broken overridereflectionprobe(var_00.origin); +} + +//Function Number: 40 +script_probe_heli_reset() +{ + level.allies[0] defaultreflectionprobe(); +} \ No newline at end of file diff --git a/AW/PC/maps/captured_mech.gsc b/AW/PC/maps/captured_mech.gsc new file mode 100644 index 0000000..aa26fdb --- /dev/null +++ b/AW/PC/maps/captured_mech.gsc @@ -0,0 +1,2218 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: captured_mech.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 87 + * Decompile Time: 1298 ms + * Timestamp: 4/22/2024 2:26:25 AM +*******************************************************************/ + +//Function Number: 1 +pre_load() +{ + maps\captured_mech_code::pre_load(); + level.player maps\_playermech_code::playermech_init(); + common_scripts\utility::flag_init("flag_mech_enabled"); + common_scripts\utility::flag_init("flag_getting_into_mech"); + common_scripts\utility::flag_init("flag_mb1_start"); + common_scripts\utility::flag_init("flag_mb1_jump_done"); + common_scripts\utility::flag_init("flag_fallback_1"); + common_scripts\utility::flag_init("flag_fallback_2"); + common_scripts\utility::flag_init("hint_weap_swarm_hold"); + common_scripts\utility::flag_init("hint_weap_swarm_release"); + common_scripts\utility::flag_init("flag_mb2_end"); + common_scripts\utility::flag_init("flag_mb2_mech_stencil_on"); + common_scripts\utility::flag_init("flag_mb2_mech_smashing_doors"); + common_scripts\utility::flag_init("flag_mb2_mechs_dead"); + common_scripts\utility::flag_init("lgt_flag_mech_entered"); + common_scripts\utility::flag_init("flag_final_vo"); + maps\_utility::add_hint_string("hint_mech_start","Press ^3[{+activate}]^7 to Enter Mech",::hint_mech_start); + maps\_utility::add_hint_string("hint_mech_grab","Press ^3[{+activate}]^7 to Grab Object",::hint_mech_grab); + maps\_utility::add_hint_string("hint_weap_swarm_hold","Hold ^3[{+smoke}]^7 lock targets.",::hint_weap_swarm_hold); + maps\_utility::add_hint_string("hint_weap_swarm_release","Release ^3[{+smoke}]^7 to fire swarm missiles.",::hint_weap_swarm_release); + maps\_utility::add_hint_string("hint_weap_rocket","Press ^3[{+frag}]^7 to fire rockets",::hint_weap); + maps\_utility::add_hint_string("hint_weap_gun","Press ^3[{+attack}]^7 to fire main gun",::hint_weap); +} + +//Function Number: 2 +post_load() +{ + level._mb = spawnstruct(); + level._mb.civilians = []; + level._mb.enemies = []; + level._mb.trigs = []; + level._mb.nodes = []; + level.enemy_run_nodes = []; + level.civ_run_nodes = []; + level.vehicle_death_fx_override["script_vehicle_vrap"] = 1; + level.vehicle_death_fx["script_vehicle_vrap"] = []; + level.vehicle_death_fx["script_vehicle_vrap"][0] = maps\_vehicle::build_fx("vfx/map/captured/cap_vrap_destro","TAG_DEATH_FX"); + if(isdefined(common_scripts\utility::getstruct("struct_playerstart_mb1","targetname"))) + { + spawnfunc_mb(); + level._mb.run_nodes1 = getnodearray("node_mb1_run","script_noteworthy"); + level._mb.exit_run_nodes1 = getnodearray("node_exit_run1","script_noteworthy"); + level._mb.exit_run_nodes2 = getnodearray("node_exit_run2","script_noteworthy"); + level._mb.exit_run_nodes_enemy = getnodearray("node_mb2_run_enemy","script_noteworthy"); + level.enemy_run_nodes = level._mb.run_nodes1; + level.civ_run_nodes = level._mb.run_nodes1; + level._mb.intro_node = common_scripts\utility::getstruct("struct_mb1_introwall_smash","targetname") common_scripts\utility::spawn_tag_origin(); + level._mb.slide_gate_right = getent("brush_mb2_gate_right","targetname"); + level._mb.slide_gate_left = getent("brush_mb2_gate_left","targetname"); + level._mb.slide_gate_destroyed = getentarray("brush_mb2_gate_destroyed","targetname"); + common_scripts\utility::array_call(level._mb.slide_gate_destroyed,::hide); + level._mb.lifts = sortbydistance(getentarray("origin_mb2_lift","script_noteworthy"),common_scripts\utility::getstruct("struct_mb2_lift_order","targetname").origin); + foreach(var_01 in level._mb.lifts) + { + common_scripts\utility::array_call(getentarray(var_01.target,"targetname"),::linkto,var_01); + var_01.fx = []; + foreach(var_03 in common_scripts\utility::getstructarray(var_01.target,"targetname")) + { + if(var_03.script_parameters == "top") + { + var_01.goal = var_03; + continue; + } + + if(var_03.script_parameters == "fx") + { + var_01.fx = common_scripts\utility::array_add(var_01.fx,var_03); + } + } + } + } + else + { + iprintln("Warning: Mech Battle start point missing. Compiled out?"); + } + + setignoremegroup("team3","allies"); + setignoremegroup("allies","team3"); +} + +//Function Number: 3 +hint_mech_start() +{ + return !common_scripts\utility::flag("hint_mech_start"); +} + +//Function Number: 4 +hint_mech_grab() +{ + return !common_scripts\utility::flag("hint_mech_grab"); +} + +//Function Number: 5 +hint_weap() +{ + return 0; +} + +//Function Number: 6 +hint_weap_swarm_hold() +{ + return common_scripts\utility::flag("hint_weap_swarm_hold"); +} + +//Function Number: 7 +hint_weap_swarm_release() +{ + return common_scripts\utility::flag("hint_weap_swarm_release"); +} + +//Function Number: 8 +start(param_00,param_01) +{ + level.player maps\captured_util::warp_to_start(param_00); + level.allies maps\captured_util::warp_allies(param_01,1); + thread maps\_utility::battlechatter_off("allies"); + thread maps\_utility::battlechatter_off("axis"); + if(level.start_point != "mb1_intro") + { + mb_setup(); + level.allies[0] hudoutlineenable(3,1); + } + + if(level.start_point == "mb1_jump") + { + thread maps\_playermech_code::playermech_start("base_noweap"); + } + else if(level.start_point == "mb1") + { + common_scripts\utility::flag_set("flag_mb1_start"); + common_scripts\utility::flag_set("flag_mb1_jump_done"); + level._mb.intro_node maps\_utility::delaythread(0.05,::ai_mb1_jumpdown_guards,1); + } + else if(issubstr(level.start_point,"mb2")) + { + common_scripts\utility::array_call(getentarray("trig_mb1","script_noteworthy"),::delete); + if(issubstr(level.start_point,"mb2_gatesmash")) + { + thread maps\_playermech_code::playermech_start("base"); + } + else + { + thread ambient_mb2_cranes(); + level._mb.slide_gate_right connectpaths(); + level._mb.slide_gate_left connectpaths(); + level._mb.slide_gate_right delete(); + level._mb.slide_gate_left delete(); + common_scripts\utility::array_call(level._mb.slide_gate_destroyed,::show); + level.allies maps\captured_util::warp_allies("struct_allystart_mb2_gate",1); + maps\_utility::activate_trigger_with_targetname("trig_mb2_ally_1_half"); + thread maps\_playermech_code::playermech_start("base"); + } + } + + common_scripts\utility::flag_set("flag_battle_to_heli_end"); +} + +//Function Number: 9 +mb_setup() +{ + if(isdefined(level._mb.mb_setup)) + { + return; + } + + level.player thread maps\captured_mech_code::init_mech_actions(); + level._mb.mb_setup = 1; + if(maps\captured_util::start_point_is_before("mb1_mech",1)) + { + level._mb.node = common_scripts\utility::getstruct("struct_exfil_mechstart","targetname"); + level._mb.suit["top"] = maps\_utility::spawn_anim_model("mech_suit_top"); + level._mb.suit["bottom"] = maps\_utility::spawn_anim_model("mech_suit_bottom"); + level._mb.suit["handle"] = maps\_utility::spawn_anim_model("mech_handle"); + level._mb.debris = maps\_utility::spawn_anim_model("debris"); + level._mb.rocks = maps\_utility::spawn_anim_model("rocks"); + level._mb.dead_mech_enemy = getent("actor_player_mech","targetname"); + level._mb.dead_mech_enemy attach("npc_exo_armor_atlas_head_captured"); + level._mb.dead_mech_enemy maps\_utility::assign_animtree("mech_opfor"); + } + else if(maps\captured_util::start_point_is_after("mb1",1)) + { + getent("actor_player_mech","targetname") delete(); + common_scripts\utility::flag_set("flag_mech_vo_active"); + } + + var_00 = []; + foreach(var_02 in getentarray("mb1_nostencil","script_noteworthy")) + { + var_00 = common_scripts\utility::array_add(var_00,var_02 maps\_utility::spawn_vehicle()); + } + + if(maps\captured_util::start_point_is_before("mb1_jump",1)) + { + level.player maps\_playermech_code::disable_stencil(var_00); + } + + common_scripts\utility::create_dvar("quickmech","0"); + if(maps\captured_util::start_point_is_before("mb1",1)) + { + level.player enableinvulnerability(); + level.allies maps\captured_util::warp_allies("struct_allystart_mb1",1); + level.ally maps\captured_util::ignore_everything(); + maps\_utility::activate_trigger_with_targetname("trig_mb_ally_1"); + setup_vols(getentarray("vol_mb1","script_noteworthy")); + } + + wait(0.05); + if(!isdefined(level.ally.magic_bullet_shield) || !level.ally.magic_bullet_shield) + { + level.ally maps\_utility::magic_bullet_shield(); + } +} + +//Function Number: 10 +main_mb1_intro() +{ + mb_setup(); + var_00 = level._mb.node common_scripts\utility::spawn_tag_origin(); + level.ally.anim_node = level._mb.node common_scripts\utility::spawn_tag_origin(); + level.player.rig = maps\_utility::spawn_anim_model("player_rig"); + level.player freezecontrols(1); + level.player disableweapons(); + level.player allowprone(0); + level.player allowcrouch(0); + level.player playerlinktoabsolute(level.player.rig,"tag_player"); + level.player.rig show(); + soundscripts\_snd::snd_message("aud_wakeup_mix"); + thread maps\captured_fx::fx_heli_crash_godrays_on(); + level.player common_scripts\utility::delaycall(17.5,::playrumbleonentity,"heavy_1s"); + level.player common_scripts\utility::delaycall(18.4,::playrumbleonentity,"heavy_1s"); + level.player common_scripts\utility::delaycall(19.3,::playrumbleonentity,"heavy_1s"); + level.player common_scripts\utility::delaycall(20.6,::playrumbleonentity,"heavy_1s"); + level.player common_scripts\utility::delaycall(21.5,::playrumbleonentity,"heavy_1s"); + var_01 = getent("mech_intro_feet","targetname"); + var_01 hide(); + level notify("anim_mech_wakeup"); + level.ally.anim_node thread ai_ally_mb_intro_anim(); + var_02 = getent("model_warbird_rotor","targetname"); + var_02 maps\_utility::assign_animtree("warbird_rotor"); + level._mb.node thread maps\_anim::anim_single(common_scripts\utility::array_combine(level._mb.suit,[level._mb.dead_mech_enemy,level._mb.debris,level._mb.rocks,var_02]),"anim_mech_wakeup"); + var_00 maps\_anim::anim_single_solo(level.player.rig,"anim_mech_wakeup"); + thread maps\captured_fx::fx_heli_crash_godrays_off(); + var_01 show(); + soundscripts\_snd::snd_message("aud_wakeup_mech_cooldown_pings"); + setsaveddvar("g_friendlyNameDist",level.friendlynamedist); + level.player freezecontrols(0); + level.player.rig hide(); + level.player maps\_utility::blend_movespeedscale(0.2); + level.player maps\_utility::blend_movespeedscale(0.5,6); + level.player allowjump(1); + level.player allowmelee(1); + level.player allowsprint(1); + level.player unlink(); + level.player.rig delete(); + var_00 delete(); +} + +//Function Number: 11 +main_mb1_mech() +{ + level.player.rig = maps\_utility::spawn_anim_model("player_rig_temp"); + level.player.rig hide(); + level._mb.node maps\_anim::anim_first_frame(common_scripts\utility::array_combine(level._mb.suit,[level._mb.dead_mech_enemy,level.player.rig]),"mech_enter"); + var_00 = common_scripts\utility::getstruct("struct_prompt_mechenter","targetname"); + var_01 = spawn("script_origin",var_00.origin); + var_01 makeusable(); + thread dialogue_mb1_intro(); + thread maps\captured_actions::mech_entry_action(); + level notify("objective_player_can_get_into_mech"); + var_02 = getdvar("mechCrouchtime"); + setsaveddvar("mechCrouchtime",3000); + var_01 maps\_utility::addhinttrigger(&"CAPTURED_HINT_ENTER_CONSOLE",&"CAPTURED_HINT_ENTER_PC"); + var_01 thread maps\captured_actions::prompt_show_hide("flag_waittill_entity_activate_looking_at","captured_action_complete"); + maps\captured_util::waittill_entity_activate_looking_at(level._mb.dead_mech_enemy,undefined,undefined,72,0.4,0); + common_scripts\utility::flag_set("flag_getting_into_mech"); + var_03 = getent("mech_intro_feet","targetname"); + var_03 hide(); + level.player common_scripts\utility::delaycall(17.5,::playrumbleonentity,"heavy_1s"); + level.player common_scripts\utility::delaycall(19.55,::playrumbleonentity,"heavy_1s"); + level.player common_scripts\utility::delaycall(21.05,::playrumbleonentity,"heavy_1s"); + level.player common_scripts\utility::delaycall(22.75,::playrumbleonentity,"heavy_1s"); + level notify("captured_action_complete"); + level.player setstance("stand"); + var_01 delete(); + if(isdefined(level.ally.anim_node)) + { + level.ally.anim_node maps\_utility::anim_stopanimscripted(); + level.ally.anim_node delete(); + } + + level.player maps\_utility::blend_movespeedscale(1); + level.player notify("stop_one_handed_gunplay"); + common_scripts\utility::array_call(getentarray("opfor_bh_helo","targetname"),::delete); + common_scripts\utility::array_call(getaiarray("axis","neutral","team3"),::delete); + level.player event_mb1_climb_in_mech(); + level.player.rig delete(); + setsaveddvar("mechCrouchtime",var_02); + var_04 = getent("mech_intro_blocker","targetname"); + var_04 delete(); + var_03 delete(); + common_scripts\utility::flag_set("lgt_flag_mech_entered"); +} + +//Function Number: 12 +main_mb1_jump() +{ + level.player allowmelee(0); + if(isdefined(level._mb.suit)) + { + foreach(var_01 in level._mb.suit) + { + var_01 delete(); + } + } + + thread dialogue_mb1_jumpdown(); + level.player event_mb1_jumpdown(); +} + +//Function Number: 13 +main_mb1() +{ + common_scripts\utility::flag_wait("flag_mb1_start"); + thread ai_mb1(); + thread ambient_mb1_crane(); + thread dialogue_mb1(); + level.player thread event_mb1_weapons_come_online(); + common_scripts\utility::flag_wait("flag_mb1_end"); +} + +//Function Number: 14 +main_mb2_gatesmash() +{ + thread ai_mb2_gate(); + thread dialogue_mb2_gatesmash(); + level.player thread event_mb2_gatesmash(); + common_scripts\utility::flag_wait("flag_mb2_mech_smashing_doors"); + thread ambient_mb2_cranes(); + if(distance(level.ally.origin,level.player.origin) > 512) + { + level.ally maps\captured_util::warp_to_start("struct_allywarp_mb2"); + } +} + +//Function Number: 15 +main_mb2() +{ + thread ai_mb2(); + thread dialogue_mb2(); + thread ambient_mb2_tanks(); + common_scripts\utility::flag_wait("flag_mb2_gateclose"); + level._exit.gate_inner.col disconnectpaths(); + soundscripts\_snd::snd_message("scn_cap_mech_door_closes"); + level._exit.node maps\_anim::anim_single([level._exit.gate_inner,level._exit.lock],"anim_exit_gateclose"); + common_scripts\utility::flag_wait("flag_mb2_end"); +} + +//Function Number: 16 +ai_ally_mb_intro_anim() +{ + level endon("captured_action_complete"); + maps\_anim::anim_single_solo(level.ally,"anim_mech_wakeup"); + thread maps\_anim::anim_loop_solo(level.ally,"anim_mech_wakeup_exit_loop"); +} + +//Function Number: 17 +ai_mb1() +{ + setignoremegroup("team3","axis"); + setignoremegroup("team3","allies"); + setignoremegroup("allies","team3"); + maps\_utility::delaythread(1,::common_scripts\utility::array_thread,getentarray("vehicle_mb1_truck_1","targetname"),::maps\_vehicle::spawn_vehicle_and_gopath); + thread ai_mb1_drones(); + common_scripts\utility::array_thread(getentarray("trig_mb1_retreat","script_noteworthy"),::ai_special_retreat_watcher,"enemy_mb1_foot","flag_mb1_end"); + level thread retreat_watcher("enemy_mb1_foot","flag_mb1_fallback_idx0","flag_mb1_end",0,1); + level thread retreat_watcher("enemy_mb1_foot","flag_mb1_fallback_idx1","flag_mb1_end",1,2,"trig_mb_ally_2"); + level thread retreat_watcher("enemy_mb1_foot","flag_mb1_fallback_idx2","flag_mb1_end",2,3); + level thread retreat_watcher("enemy_mb1_foot","flag_mb1_fallback_idx3","flag_mb1_end",3,4,"trig_mb_ally_3"); + level thread retreat_watcher("enemy_mb1_foot","flag_mb1_fallback_idx4","flag_mb1_end",4,undefined,"trig_mb_ally_4"); + common_scripts\utility::flag_wait("flag_mb1_mech_closemove"); + retreat_group("enemy_mb1_close"); + foreach(var_01 in level._mb.enemies["enemy_mb1_close"]) + { + var_01 add_to_group_enemy("enemy_mb1_foot"); + } + + level._mb.enemies["enemy_mb1_close"] = []; + level.ally maps\_utility::enable_ai_color(); + level.ally maps\captured_util::unignore_everything(); + level.ally.ignoreme = 1; + level.ally.badplaceawareness = 0; + maps\_utility::delaythread(1,::maps\_utility::activate_trigger_with_noteworthy,"trig_mb1_enemyflood"); + common_scripts\utility::flag_wait("flag_mb1_fallback_idx0"); + maps\_utility::activate_trigger_with_noteworthy("trig_mb2_civflood_1"); + common_scripts\utility::flag_wait("flag_mb1_fallback_idx1"); + thread ai_mb1_allywarp(); + maps\_utility::activate_trigger_with_targetname("trig_mb_enemy_towers"); + common_scripts\utility::flag_wait("flag_mb1_fallback_idx3"); + thread ai_mb1_script_end(); + common_scripts\utility::flag_wait("flag_mb1_end"); + level.enemy_run_nodes = level._mb.run_nodes1; + level.civ_run_nodes = level._mb.run_nodes1; + if(isdefined(level._mb.enemies["enemy_mb1_tower"])) + { + foreach(var_04 in level._mb.enemies["enemy_mb1_tower"]) + { + if(!isalive(var_04)) + { + continue; + } + + var_04 setengagementmindist(512,512); + var_04 maps\_utility::set_baseaccuracy(0.7); + var_04 thread maps\captured_mech_code::spawnfunc_mech_crush(); + } + } + + var_06 = getent("vol_mb2_civrun","targetname"); + foreach(var_08 in level._mb.civilians) + { + foreach(var_04 in var_08) + { + if(isalive(var_04) && var_04 istouching(var_06)) + { + var_04 mb_run_to_goal(); + } + } + } + + thread maps\_spawner::killspawner(50); + thread maps\_spawner::killspawner(51); + if(isdefined(level._mb.enemies["enemy_mb1_foot"])) + { + common_scripts\utility::array_thread(level._mb.enemies["enemy_mb1_foot"],::mb_run_to_goal); + } + + if(isdefined(level._mb.enemies["enemy_mb1_tower"])) + { + common_scripts\utility::array_thread(level._mb.enemies["enemy_mb1_tower"],::mb_run_to_goal); + } + + thread maps\_utility::ai_delete_when_out_of_sight(level._mb.enemies["enemy_mb1_foot"],768); +} + +//Function Number: 18 +ai_special_retreat_watcher(param_00,param_01) +{ + level endon(param_01); + self endon("stop_special_retreat_watcher"); + var_02 = getentarray(self.target,"targetname"); + self waittill("trigger"); + if(isdefined(var_02)) + { + var_02 = common_scripts\utility::array_removeundefined(var_02); + foreach(var_04 in var_02) + { + if(var_04.disabled) + { + var_04 enable_vol(); + continue; + } + + var_04 disable_vol(); + } + } + + if(isdefined(self.radius)) + { + badplace_cylinder("temp_badplace",10,self.origin,self.radius,128,"axis"); + } + + retreat_group(param_00); +} + +//Function Number: 19 +ai_mb1_script_end() +{ + level endon("flag_mb1_end"); + while(!isdefined(level._mb.enemies["enemy_mb1_foot"]) || maps\_utility::remove_dead_from_array(level._mb.enemies["enemy_mb1_foot"]).size > 0) + { + wait(0.05); + } + + common_scripts\utility::flag_set("flag_mb1_end"); +} + +//Function Number: 20 +ai_mb1_allywarp() +{ + level endon("flag_mb2_mech_smashing_doors"); + var_00 = common_scripts\utility::getstruct("struct_playerstart_mb1","targetname"); + while(level.player player_can_see(level.ally,var_00.origin,0.5)) + { + wait(1); + } + + level.ally maps\captured_util::warp_to_start("struct_playerstart_mb1"); +} + +//Function Number: 21 +ai_mb1_jumpdown_guards(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 0; + } + + var_01 = getentarray("enemy_mb1_wallsmash_intro","targetname"); + var_02 = []; + for(var_03 = 0;var_03 < var_01.size;var_03++) + { + var_02[var_03] = var_01[var_03] maps\_utility::spawn_ai(); + var_02[var_03].animname = "mb1_introwall_guard" + var_03 + 1; + var_02[var_03] maps\captured_util::ignore_everything(); + var_02[var_03] thread ai_mb1_first_guard_fallback(self); + } + + if(!param_00) + { + wait(5); + } + + maps\_utility::activate_trigger_with_targetname("trig_mb1_enemyspawn_1"); + wait(0.05); + common_scripts\utility::array_thread(level._mb.enemies["enemy_mb1_foot"],::go_to_vol,1); + if(!param_00) + { + self waittill("mech_anim_done"); + return; + } + + wait(0.1); + maps\_utility::anim_stopanimscripted(); + common_scripts\utility::array_thread(var_02,::maps\_utility::anim_stopanimscripted); +} + +//Function Number: 22 +ai_mb1_first_guard_fallback(param_00) +{ + self endon("death"); + param_00 maps\_anim::anim_single_solo(self,"anim_mb1_introwall_smash"); + add_to_group_enemy("enemy_mb1_foot"); + if(self.script_parameters != "intro_runner") + { + maps\captured_util::unignore_everything(1); + common_scripts\utility::flag_wait_or_timeout("flag_mb1_mech_firstmove",randomfloatrange(1,3)); + } + + self.script_parameters = undefined; + go_to_vol(1); + self waittill("goal"); + maps\captured_util::unignore_everything(1); +} + +//Function Number: 23 +ai_mb1_drones() +{ + var_00 = 2; + level._mb.drone_paths = "struct_mb1_drone2"; + common_scripts\utility::flag_wait("flag_mb1_mech_closemove"); + level._mb.drone_paths = "struct_mb1_drone3"; + level notify("drone_retreat"); + var_01 = maps\_vehicle::spawn_vehicles_from_targetname_and_drive("vehicle_mb1_drone1"); + common_scripts\utility::flag_wait("flag_mb1_fallback_idx1"); + level._mb.drone_paths = "struct_mb1_drone4"; + level notify("drone_retreat"); + var_01 = maps\_utility::remove_dead_from_array(var_01); + var_02 = getentarray("vehicle_mb1_drone3","targetname"); + if(var_01.size < var_00) + { + for(var_03 = var_01.size;var_03 < var_00;var_03++) + { + var_01 = common_scripts\utility::array_add(var_01,var_02[var_03] maps\_vehicle::spawn_vehicle_and_gopath()); + } + } + + common_scripts\utility::flag_wait("flag_mb1_fallback_idx3"); + level._mb.drone_paths = "struct_mb1_drone5"; + level notify("drone_retreat"); + common_scripts\utility::flag_wait("flag_mb1_end"); + level notify("drone_retreat_final"); + var_01 = maps\_utility::remove_dead_from_array(var_01); + foreach(var_05 in var_01) + { + var_05.script_vehicle_selfremove = 1; + var_05 dronepath("struct_mb1_drone_exit"); + } +} + +//Function Number: 24 +ai_mb2_drones() +{ + level._mb.drone_paths = "struct_mb2_drone1"; + var_00 = maps\_vehicle::spawn_vehicles_from_targetname_and_drive("vehicle_mb2_drone"); + common_scripts\utility::flag_wait("flag_mb2_fallback_idx5"); + level._mb.drone_paths = "struct_mb2_drone2"; + level notify("drone_retreat"); + common_scripts\utility::flag_wait("flag_mb2_end"); + var_00 = maps\_utility::remove_dead_from_array(var_00); + common_scripts\utility::array_thread(var_00,::drone_exit); +} + +//Function Number: 25 +drone_exit() +{ + self endon("death"); + while(!self.at_start) + { + wait(0.05); + } + + self.script_vehicle_selfremove = 1; + dronepath("struct_mb2_drone_exit"); +} + +//Function Number: 26 +ai_mb2_gate() +{ + level.ally maps\_utility::enable_ai_color(); + maps\_utility::activate_trigger_with_targetname("trig_mb2_ally_1"); + level.player waittill("intro_anim_start"); + level.ally maps\captured_util::ignore_everything(); + level.ally.badplaceawareness = 0; + thread maps\_spawner::killspawner(52); + if(isdefined(level._mb.enemies["enemy_mb1_foot"])) + { + common_scripts\utility::array_call(maps\_utility::remove_dead_from_array(level._mb.enemies["enemy_mb1_foot"]),::delete); + } + + foreach(var_01 in level._mb.civilians) + { + common_scripts\utility::array_call(maps\_utility::remove_dead_from_array(var_01),::delete); + } + + level.player waittill("exit_anim_done"); + level.ally maps\captured_util::unignore_everything(); +} + +//Function Number: 27 +ai_mb2() +{ + level.ally maps\_utility::enable_ai_color(); + level.ally.ignoreme = 1; + level.ally.badplaceawareness = 0; + setup_vols(getentarray("vol_mb2","script_noteworthy")); + level thread retreat_watcher("enemy_mb2_foot","flag_mb2_fallback_idx0","flag_mb2_mech_spawn"); + level thread retreat_watcher("enemy_mb2_foot","flag_mb2_fallback_idx1","flag_mb2_mech_spawn",0,1); + level thread retreat_watcher("enemy_mb2_foot","flag_mb2_fallback_idx2","flag_mb2_end",1,2,"trig_mb2_ally_1_half"); + level thread retreat_watcher("enemy_mb2_foot","flag_mb2_fallback_idx3","flag_mb2_end",2,undefined,"trig_mb2_ally_2"); + level thread retreat_watcher(undefined,"flag_mb2_fallback_idx4","flag_mb2_end",undefined,undefined,"trig_mb2_ally_3"); + level thread retreat_watcher(undefined,"flag_mb2_fallback_idx5","flag_mb2_end",undefined,undefined,"trig_mb2_ally_4"); + maps\_utility::activate_trigger_with_targetname("trig_mb2_ally_1_half"); + level._mb.mb2_max_enemies = 20; + maps\_utility::activate_trigger_with_noteworthy("trig_mb2_enemyflood"); + maps\_utility::activate_trigger_with_targetname("trig_mb2_enemy_start"); + level.civ_run_nodes = level._mb.exit_run_nodes1; + level.enemy_run_nodes = level._mb.exit_run_nodes_enemy; + maps\_utility::activate_trigger_with_noteworthy("trig_mb2_civflood_2"); + common_scripts\utility::flag_wait_or_timeout("flag_mb2_fallback_idx0",2); + common_scripts\utility::flag_set("flag_mb2_fallback_idx0"); + maps\_utility::delaythread(0.05,::common_scripts\utility::flag_clear,"flag_mb2_fallback_idx0"); + common_scripts\utility::flag_wait("flag_mb2_fallback_idx2"); + level._mb.mb2_max_enemies = 10; + common_scripts\utility::flag_wait_or_timeout("flag_mb2_mech_spawn",8); + maps\_utility::activate_trigger_with_targetname("trig_mb2_enemy_mechs"); + thread soundscripts\_snd::snd_message("aud_warehouse_mech_lift_alarm"); + thread soundscripts\_snd::snd_message("aud_warehouse_mech_lift_vo"); + thread ai_mb2_remove_stencils(); + thread ai_mb2_mech_watcher(); + thread ai_mb2_enemies_run(); + common_scripts\utility::flag_wait_either("flag_mb2_fallback_idx4","flag_mb2_mechs_dead"); + maps\_utility::activate_trigger_with_targetname("trig_mb2_enemy_drivein"); + thread ai_mb2_drones(); + thread ai_mb2_script_end(); + common_scripts\utility::flag_wait("flag_mb2_gateclose"); + level.civ_run_nodes = level._mb.exit_run_nodes_enemy; + foreach(var_01 in level._mb.civilians) + { + common_scripts\utility::array_thread(var_01,::mb_run_to_goal); + } +} + +//Function Number: 28 +ai_mb2_enemies_run() +{ + common_scripts\utility::flag_wait_either("flag_mb2_mechs_dead","flag_mb2_fallback_idx5"); + common_scripts\utility::array_thread(maps\_utility::remove_dead_from_array(level._mb.enemies["enemy_mb2_foot"]),::ai_mb2_enemyrun); + thread maps\_utility::ai_delete_when_out_of_sight(level._mb.enemies["enemy_mb2_foot"],768); +} + +//Function Number: 29 +ai_mb2_script_end() +{ + while(!isdefined(level._mb.enemies["enemy_mb2_mech"]) || maps\_utility::remove_dead_from_array(level._mb.enemies["enemy_mb2_mech"]).size > 0) + { + wait(0.05); + } + + while(!isdefined(level._mb.enemies["enemy_mb2_foot"]) || maps\_utility::remove_dead_from_array(level._mb.enemies["enemy_mb2_foot"]).size > 0) + { + wait(0.05); + } + + while(!isdefined(level._mb.enemies["enemy_mb2_final"]) || maps\_utility::remove_dead_from_array(level._mb.enemies["enemy_mb2_final"]).size > 2) + { + wait(0.05); + } + + common_scripts\utility::array_thread(maps\_utility::remove_dead_from_array(level._mb.enemies["enemy_mb2_final"]),::ai_mb2_enemyrun,1,1); + thread maps\_utility::ai_delete_when_out_of_sight(level._mb.enemies["enemy_mb2_final"],768); + wait(3); + common_scripts\utility::flag_set("flag_mb2_gateclose"); + common_scripts\utility::flag_set("flag_mb2_end"); +} + +//Function Number: 30 +ai_mb2_mech_watcher() +{ + var_00 = 1; + var_01 = []; + while(!isdefined(level._mb.enemies["enemy_mb2_mech"]) || level._mb.enemies["enemy_mb2_mech"].size < 4) + { + wait(0.05); + } + + for(;;) + { + while(maps\_utility::remove_dead_from_array(var_01).size == var_00) + { + wait(1); + } + + var_02 = maps\_utility::remove_dead_from_array(level._mb.enemies["enemy_mb2_mech"]); + if(var_02.size == 0) + { + break; + } + + foreach(var_04 in sortbydistance(var_02,level.player.origin)) + { + if(isalive(var_04) && !isdefined(common_scripts\utility::array_find(var_01,var_04))) + { + var_01 = common_scripts\utility::array_add(var_01,var_04); + var_04 maps\_utility::set_fixednode_false(); + var_04 maps\_mech::mech_start_hunting(); + break; + } + } + } + + common_scripts\utility::flag_set("flag_mb2_mechs_dead"); +} + +//Function Number: 31 +ai_mb2_remove_stencils() +{ + common_scripts\utility::flag_wait("flag_mb2_mech_stencil_on"); + level.player maps\_playermech_code::disable_stencil(maps\_utility::remove_dead_from_array(level._mb.enemies["enemy_mb2_foot"])); +} + +//Function Number: 32 +ai_mb2_enemyrun(param_00,param_01) +{ + if(isdefined(param_01) && param_01) + { + self.nounignore = 1; + } + + self endon("death"); + wait(randomfloatrange(0,4)); + mb_run_to_goal(); + if(isdefined(param_00) && param_00) + { + maps\_utility::delaythread(randomfloatrange(0,3),::maps\captured_util::ignore_everything); + } +} + +//Function Number: 33 +spawnfunc_mb() +{ + maps\_utility::array_spawn_function_noteworthy("civ_mb1_foot",::spawnfunc_mb_civilians); + maps\_utility::array_spawn_function_noteworthy("enemy_mb1_close",::spawnfunc_mb_enemies); + maps\_utility::array_spawn_function_noteworthy("enemy_mb1_intro",::spawnfunc_mb_enemies); + maps\_utility::array_spawn_function_noteworthy("enemy_mb1_foot",::spawnfunc_mb_enemies); + maps\_utility::array_spawn_function_noteworthy("enemy_mb1_tower",::spawnfunc_mb1_tower); + maps\_utility::array_spawn_function_noteworthy("vehicle_mb1_drone",::spawnfunc_mb_drone); + maps\_utility::array_spawn_function_noteworthy("vehicle_mb1_vrap",::spawnfunc_mb1_vrap); + maps\_utility::array_spawn_function_noteworthy("civ_mb2_foot",::spawnfunc_mb_civilians); + maps\_utility::array_spawn_function_noteworthy("enemy_mb2_foot",::spawnfunc_mb_enemies); + maps\_utility::array_spawn_function_noteworthy("enemy_mb2_final",::spawnfunc_mb2_final); + maps\_utility::array_spawn_function_noteworthy("enemy_mb2_mech",::spawnfunc_mb2_mech); + maps\_utility::array_spawn_function_noteworthy("vehicle_mb2_drone",::spawnfunc_mb_drone); + maps\_utility::array_spawn_function_noteworthy("vehicle_mb2_vrap",::spawnfunc_mb2_vrap); +} + +//Function Number: 34 +spawnfunc_mb_civilians(param_00) +{ + add_to_group_civilian(self.script_noteworthy); + self hudoutlineenable(3,1); + self setthreatbiasgroup("team3"); + self.no_friendly_fire_penalty = 1; + self.a.disablelongdeath = 1; + thread maps\captured_mech_code::spawnfunc_mech_crush(); + if(!isdefined(self.script_parameters) || self.script_parameters != "nogoal") + { + thread mb_run_to_goal(param_00); + } +} + +//Function Number: 35 +spawnfunc_mb_enemies() +{ + self endon("death"); + add_to_group_enemy(self.script_noteworthy); + if(common_scripts\utility::flag("flag_mb2_mech_spawn")) + { + level.player maps\_playermech_code::disable_stencil(self); + } + + if(isdefined(self.ridingvehicle)) + { + self.ridingvehicle waittill("unloaded"); + } + + if(issubstr(self.classname,"jet")) + { + self.canjumppath = 1; + } + + self setengagementmindist(512,512); + maps\_utility::set_baseaccuracy(0.7); + self.a.disablelongdeath = 1; + thread maps\captured_mech_code::spawnfunc_mech_crush(); + if(!isdefined(level._mb.glass_broken)) + { + level._mb.glass_broken["glass_mb2_R_2"] = 0; + level._mb.glass_broken["glass_mb2_L_2"] = 0; + } + + if(isdefined(self.script_parameters) && issubstr(self.script_parameters,"glass") && !level._mb.glass_broken[self.script_parameters]) + { + foreach(var_01 in common_scripts\utility::getstructarray(self.script_parameters,"targetname")) + { + magicbullet("iw5_titan45_sp",self.origin + (0,0,32),var_01.origin); + } + + foreach(var_04 in getglassarray(self.script_parameters)) + { + destroyglass(var_04); + } + + level._mb.glass_broken[self.script_parameters] = 1; + } + + if(isdefined(self.script_parameters) && issubstr(self.script_parameters,"intro")) + { + return; + } + + if(isdefined(self.script_parameters) && self.script_parameters == "run_to_goal") + { + mb_run_to_goal(1,self.target); + return; + } + + go_to_vol(); + maps\captured_util::unignore_everything(1); +} + +//Function Number: 36 +spawnfunc_mb2_final() +{ + self endon("death"); + add_to_group_enemy(self.script_noteworthy); + if(isdefined(self.ridingvehicle)) + { + self.ridingvehicle waittill("unloaded"); + } + + if(issubstr(self.classname,"jet")) + { + self.canjumppath = 1; + } + + self setengagementmindist(512,512); + self.a.disablelongdeath = 1; + thread maps\captured_mech_code::spawnfunc_mech_crush(); + self.noclosemechrun = 1; + maps\captured_util::unignore_everything(1); +} + +//Function Number: 37 +spawnfunc_mb1_tower() +{ + add_to_group_enemy(self.script_noteworthy); + if(issubstr(self.classname,"jet")) + { + self.canjumppath = 1; + } + + self.a.disablelongdeath = 1; +} + +//Function Number: 38 +spawnfunc_mb_drone() +{ + self endon("death"); + self.at_start = 0; + if(isdefined(self.target)) + { + self waittill("reached_dynamic_path_end"); + } + + self.at_start = 1; + self vehicle_setspeedimmediate(15); + self laseron(); + dronepath(level._mb.drone_paths); + for(;;) + { + level waittill("drone_retreat"); + dronepath(level._mb.drone_paths); + } +} + +//Function Number: 39 +dronepath(param_00) +{ + self.path_chosen = undefined; + var_01 = common_scripts\utility::getstructarray(param_00,"script_noteworthy"); + foreach(var_03 in var_01) + { + if(!isdefined(var_03.chosen)) + { + var_03.chosen = 1; + self.path_chosen = var_03; + break; + } + } + + if(!isdefined(self.path_chosen)) + { + self.path_chosen = common_scripts\utility::random(var_01); + } + + maps\_utility::vehicle_detachfrompath(); + thread maps\_utility::vehicle_dynamicpath(self.path_chosen); + self vehicle_setspeedimmediate(15); +} + +//Function Number: 40 +spawnfunc_mb1_vrap() +{ + self endon("death"); + soundscripts\_snd::snd_message("aud_mech_trucks_enter",self.script_index); +} + +//Function Number: 41 +spawnfunc_mb2_vrap() +{ + self endon("death"); + soundscripts\_snd::snd_message("aud_mech_trucks_enter",self.script_index); + maps\_vehicle::godon(); + wait(5); + maps\_vehicle::godoff(); +} + +//Function Number: 42 +spawnfunc_mb2_mech() +{ + add_to_group_enemy(self.script_noteworthy); + maps\captured_util::ignore_everything(); + level.player maps\_playermech_code::disable_stencil(self); + self.a.disablelongdeath = 1; + self.favoriteenemy = level.player; + self.badplaceawareness = 0; + self.script_forcegoal = 1; + self.health = 6000; + maps\_utility::set_baseaccuracy(3); + var_00 = level._mb.lifts[self.script_index]; + self linkto(var_00); + var_00 thread mb2_lift(self); + self endon("death"); + common_scripts\utility::flag_wait("flag_mb2_mech_stencil_on"); + maps\captured_util::unignore_everything(); + level.player maps\_playermech_code::enable_stencil(self); + var_00 waittill("lift_up"); + maps\captured_util::ignore_everything(); + self unlink(); + wait(randomintrange(1,3)); + maps\captured_util::unignore_everything(); + wait(randomintrange(1,5)); + maps\_mech::mech_start_rockets(); +} + +//Function Number: 43 +two_mech_hunt() +{ + self endon("death"); + self endon("stop_hunting"); + self.usechokepoints = 0; + for(;;) + { + wait(0.5); + if(isdefined(self.enemy)) + { + var_00 = undefined; + if(isdefined(self._mech_node)) + { + var_00 = self._mech_node; + } + + var_01 = getnodesinradiussorted(self.enemy.origin,512,0,256,"Path"); + var_02 = undefined; + if(!isdefined(var_01[0]._mech_occupied) || var_01[0]._mech_occupied == self) + { + self._mech_node = var_01[0]; + } + else + { + self._mech_node = var_01[var_01.size - 1]; + } + + self._mech_node._mech_occupied = self; + self setgoalpos(self._mech_node.origin); + self.goalradius = 200; + self.goalheight = 81; + if(isdefined(var_00) && var_00 != self._mech_node) + { + var_00._mech_occupied = undefined; + } + } + } +} + +//Function Number: 44 +mb2_lift(param_00) +{ + self endon("stop_lift"); + thread mb2_lift_steam(); + thread soundscripts\_snd::snd_message("aud_warehouse_mech_lift"); + if(isdefined(param_00)) + { + thread mb2_lift_enemydeath(param_00); + } + + var_01 = self.origin; + self moveto(var_01 + (0,0,32),0.5,0,0.5); + wait(0.5); + self moveto(self.goal.origin,3); + wait(2); + common_scripts\utility::flag_set("flag_mb2_mech_stencil_on"); + wait(1); + self notify("lift_up"); + wait(3); + self moveto(var_01,3); + wait(3); + self notify("lift_down"); +} + +//Function Number: 45 +mb2_lift_enemydeath(param_00) +{ + self endon("lift_down"); + self waittill("lift_up"); + if(!isalive(param_00)) + { + self notify("stop_lift"); + return; + } + + param_00 waittill("death"); + self notify("stop_lift"); +} + +//Function Number: 46 +mb2_lift_steam() +{ + self endon("stop_lift"); + foreach(var_01 in self.fx) + { + playfx(common_scripts\utility::getfx("fx_lift_steam"),var_01.origin,anglestoforward(var_01.angles),anglestoup(var_01.angles)); + } + + wait(0.5); + foreach(var_01 in self.fx) + { + playfx(common_scripts\utility::getfx("fx_lift_steam"),var_01.origin,anglestoforward(var_01.angles),anglestoup(var_01.angles)); + } + + wait(0.25); + foreach(var_01 in self.fx) + { + playfx(common_scripts\utility::getfx("fx_lift_steam"),var_01.origin,anglestoforward(var_01.angles),anglestoup(var_01.angles)); + } +} + +//Function Number: 47 +deathfunc_vrap() +{ + self endon("unloaded"); + self waittill("death"); + foreach(var_01 in self.riders) + { + if(!isalive(var_01)) + { + continue; + } + + var_01 delete(); + } +} + +//Function Number: 48 +deathfunc_vol() +{ + self notify("stop_deathfunc_vol"); + self endon("stop_deathfunc_vol"); + self.deathfunc_vol = 1; + common_scripts\utility::waittill_either("death","pain_death"); + if(isdefined(self._vol) && isdefined(self._vol.counter)) + { + self._vol.counter--; + self._vol.ai = common_scripts\utility::array_remove(self._vol.ai,self); + } +} + +//Function Number: 49 +mb_run_to_goal(param_00,param_01,param_02) +{ + if(!isalive(self)) + { + return; + } + + if(!isdefined(param_02)) + { + param_02 = 0; + } + + var_03 = level.civ_run_nodes; + if(issubstr(self.classname,"enemy")) + { + var_03 = level.enemy_run_nodes; + } + + self notify("stop_go_to_vol"); + self notify("stop_mb_run_to_goal"); + self endon("stop_mb_run_to_goal"); + self endon("death"); + self cleargoalvolume(); + self.running_to_goal = 1; + self.goalradius = 256; + if(isdefined(self.nounignore) && self.nounignore) + { + maps\captured_util::unignore_everything(1); + } + + var_04 = undefined; + if(isdefined(param_01)) + { + var_05 = []; + var_05 = getnodearray(param_01,"targetname"); + if(var_05.size == 0) + { + var_05 = getentarray(param_01,"targetname"); + if(!isdefined(var_05)) + { + } + + var_04 = undefined; + if(param_02) + { + var_04 = sortbydistance(var_05,self.origin)[0]; + } + else + { + var_04 = common_scripts\utility::random(var_05); + } + + self setgoalvolumeauto(var_04); + } + else + { + var_04 = undefined; + if(param_02) + { + var_04 = sortbydistance(var_05,self.origin)[0]; + } + else + { + var_04 = common_scripts\utility::random(var_05); + } + + maps\_utility::follow_path(var_04); + } + } + else + { + var_04 = undefined; + if(param_02) + { + var_04 = sortbydistance(var_03,self.origin)[0]; + } + else + { + var_04 = common_scripts\utility::random(var_03); + } + + maps\_utility::follow_path(var_04); + } + + self.running_to_goal = undefined; + if(isdefined(param_00) && param_00) + { + if(isdefined(self.nounignore) && self.nounignore) + { + maps\captured_util::unignore_everything(); + } + + return; + } + + self delete(); +} + +//Function Number: 50 +add_to_group_civilian(param_00) +{ + if(!isdefined(level._mb.civilians[param_00])) + { + level._mb.civilians[param_00] = []; + } + + level._mb.civilians[param_00] = common_scripts\utility::array_add(maps\_utility::remove_dead_from_array(level._mb.civilians[param_00]),self); + self._group = param_00; +} + +//Function Number: 51 +add_to_group_enemy(param_00) +{ + if(!isalive(self)) + { + return; + } + + if(!isdefined(level._mb.enemies[param_00])) + { + level._mb.enemies[param_00] = []; + } + + level._mb.enemies[param_00] = common_scripts\utility::array_add(maps\_utility::remove_dead_from_array(level._mb.enemies[param_00]),self); + self._group = param_00; +} + +//Function Number: 52 +retreat_watcher(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + self endon(param_02); + var_07 = getent(param_01,"targetname"); + var_08 = []; + if(isdefined(var_07) && isdefined(var_07.target)) + { + var_08 = getentarray(var_07.target,"targetname"); + } + + var_09 = []; + var_0A = []; + foreach(var_0C in level._mb.retreat_vols) + { + if(isdefined(var_0C.script_index)) + { + if(isdefined(param_03) && var_0C.script_index == param_03) + { + var_09 = common_scripts\utility::array_add(var_09,var_0C); + } + + if(isdefined(param_04) && var_0C.script_index == param_04) + { + var_0A = common_scripts\utility::array_add(var_0A,var_0C); + } + } + } + + for(;;) + { + common_scripts\utility::flag_wait(param_01); + if(isdefined(param_05)) + { + maps\_utility::activate_trigger_with_targetname(param_05); + } + + foreach(var_0F in var_08) + { + var_0F notify("stop_special_retreat_watcher"); + } + + var_09 = common_scripts\utility::array_removeundefined(var_09); + common_scripts\utility::array_thread(var_09,::disable_vol); + var_0A = common_scripts\utility::array_removeundefined(var_0A); + common_scripts\utility::array_thread(var_0A,::enable_vol); + if(isdefined(param_00)) + { + retreat_group(param_00); + } + + common_scripts\utility::flag_waitopen(param_01); + } +} + +//Function Number: 53 +remove_vol_index(param_00) +{ + foreach(var_02 in level._mb.retreat_vols) + { + if(isdefined(var_02.script_index) && var_02.script_index == param_00) + { + var_02 delete(); + } + } +} + +//Function Number: 54 +retreat_group(param_00,param_01) +{ + var_02 = level._mb.enemies[param_00]; + foreach(var_04 in level._mb.enemies[param_00]) + { + if(!isdefined(var_04.running_to_goal)) + { + var_04 maps\_utility::delaythread(randomfloatrange(0,2),::go_to_vol,0,param_01); + } + } +} + +//Function Number: 55 +go_to_vol(param_00,param_01) +{ + self notify("stop_go_to_vol"); + self endon("stop_go_to_vol"); + self endon("death"); + if(!isalive(self)) + { + return 0; + } + + if(isdefined(param_01)) + { + var_02 = []; + if(isarray(param_01)) + { + var_02 = param_01; + } + else + { + var_02[0] = param_01; + } + + foreach(var_04 in var_02) + { + if(isdefined(self.script_index) && int(self.script_index) == var_04) + { + return; + } + } + } + + if(!isdefined(param_00)) + { + param_00 = 0; + } + + if(!isdefined(self.deathfunc_vol)) + { + thread deathfunc_vol(); + } + + if(isdefined(self._vol) && isdefined(self._vol.counter)) + { + self._vol.counter--; + self._vol = undefined; + wait(0.05); + } + + if(isdefined(self.target)) + { + self.target = undefined; + return 0; + } + + var_06 = []; + var_07 = []; + var_08 = []; + var_06 = get_valid_vols(level._mb.priority_vols); + if(param_00) + { + var_06 = sortbydistance(var_06,self.origin); + } + else + { + var_06 = sortbydistance(var_06,level.player.origin); + } + + choose_vol(var_06); + if(!isdefined(self._vol)) + { + var_07 = get_valid_vols(level._mb.retreat_vols); + if(param_00) + { + var_07 = sortbydistance(var_07,self.origin); + } + else + { + var_07 = sortbydistance(var_07,level.player.origin); + } + + choose_vol(var_07); + } + + if(!isdefined(self._vol)) + { + var_08 = get_valid_vols(level._mb.overflow_vols); + if(param_00) + { + var_08 = sortbydistance(var_08,self.origin); + } + else + { + var_08 = sortbydistance(var_08,level.player.origin); + } + + choose_vol(var_08); + } + + maps\_utility::set_fixednode_false(); + if(isdefined(self._vol)) + { + self cleargoalvolume(); + maps\_spawner::go_to_node(self._vol,"entity"); + return 1; + } + + if(isdefined(self.spawner)) + { + self.spawner delete(); + } + + self notify("stop_deathfunc_vol"); + thread mb_run_to_goal(); + return 0; +} + +//Function Number: 56 +choose_vol(param_00) +{ + var_01 = distance(self.origin,level.player.origin); + foreach(var_03 in param_00) + { + if(isdefined(self.script_namenumber) && isdefined(var_03.script_index)) + { + var_04 = strtok(self.script_namenumber," "); + if(!isdefined(common_scripts\utility::array_find(var_04,maps\_utility::string(var_03.script_index)))) + { + continue; + } + } + + if(var_03.counter >= var_03.max_count) + { + continue; + } + + var_03.ai = common_scripts\utility::array_add(var_03.ai,self); + var_03.counter++; + self._vol = var_03; + break; + } +} + +//Function Number: 57 +setup_vols(param_00) +{ + var_01 = getallnodes(); + var_02 = common_scripts\utility::spawn_tag_origin(); + if(isdefined(level._mb.retreat_vols)) + { + common_scripts\utility::array_call(level._mb.retreat_vols,::delete); + } + + level._mb.priority_vols = []; + level._mb.retreat_vols = []; + level._mb.overflow_vols = []; + foreach(var_04 in param_00) + { + if(!isdefined(var_04.counter)) + { + var_04.counter = 0; + var_04.max_count = int(var_04.script_parameters); + var_04.ai = []; + } + + if(!isdefined(var_04.disabled)) + { + if(isdefined(var_04.script_nodestate) && var_04.script_nodestate == "0") + { + var_04 disable_vol(); + } + else + { + var_04 enable_vol(); + } + } + + var_04.nodes = []; + foreach(var_06 in var_01) + { + var_02.origin = var_06.origin; + if(var_02 istouching(var_04)) + { + if(issubstr(var_06.type,"Cover") || issubstr(var_06.type,"Conceal") || issubstr(var_06.type,"Exposed")) + { + var_04.nodes = common_scripts\utility::array_add(var_04.nodes,var_06); + } + } + } + + var_04 thread vol_auto_disable(); + if(isdefined(var_04.script_namenumber)) + { + if(issubstr(var_04.script_namenumber,"priority")) + { + level._mb.priority_vols = common_scripts\utility::array_add(level._mb.priority_vols,var_04); + continue; + } + + if(issubstr(var_04.script_namenumber,"overflow")) + { + level._mb.overflow_vols = common_scripts\utility::array_add(level._mb.overflow_vols,var_04); + continue; + } + } + + level._mb.retreat_vols = common_scripts\utility::array_add(level._mb.retreat_vols,var_04); + } +} + +//Function Number: 58 +vol_auto_disable() +{ + self notify("notify_stop_vol_auto_disable"); + self endon("notify_stop_vol_auto_disable"); + while(isdefined(self)) + { + if(!self.disabled) + { + self.nodes = common_scripts\utility::array_removeundefined(self.nodes); + var_00 = 1; + foreach(var_02 in self.nodes) + { + if(isdefined(var_02.state) && var_02.state == "unlinked" || var_02.state == "disabled") + { + var_00 = 0; + break; + } + } + + if(!var_00) + { + disable_vol(); + } + + continue; + } + + common_scripts\utility::array_thread(maps\_utility::remove_dead_from_array(self.ai),::go_to_vol); + self.ai = []; + wait(0.1); + } +} + +//Function Number: 59 +disable_vol() +{ + if(!isdefined(self)) + { + return; + } + + self.disabled = 1; +} + +//Function Number: 60 +enable_vol() +{ + if(!isdefined(self)) + { + return; + } + + self.disabled = 0; +} + +//Function Number: 61 +get_valid_vols(param_00) +{ + var_01 = []; + var_02 = []; + foreach(var_04 in param_00) + { + if(isdefined(var_04) && !var_04.disabled) + { + var_01 = common_scripts\utility::array_add(var_01,var_04); + } + } + + return var_01; +} + +//Function Number: 62 +event_mb1_climb_in_mech() +{ + thread dialogue_mb1_bootup(); + self freezecontrols(1); + self disableweapons(); + self allowprone(0); + self allowcrouch(0); + soundscripts\_snd::snd_message("start_mech"); + self playerlinktoblend(self.rig,"tag_player",0.5); + wait(0.5); + self playerlinktodelta(self.rig,"tag_player",0,0,0,0,0,1); + self.rig show(); + thread take_weapon_delayed(); + level thread maps\captured_util::waittill_notify_func("notify_mech_enable",::maps\_playermech_code::playermech_start,"base_noweap_bootup"); + thread event_mb1_climb_in_mech_gideon(); + level._mb.node maps\_anim::anim_single(common_scripts\utility::array_combine(level._mb.suit,[level._mb.dead_mech_enemy,self.rig]),"mech_enter"); + thread maps\_playermech_code::playermech_start("base_noweap"); + self lerpviewangleclamp(0,0,0,30,30,30,30); + common_scripts\utility::flag_set("flag_mech_enabled"); +} + +//Function Number: 63 +event_mb1_climb_in_mech_gideon() +{ + var_00 = level._mb.node common_scripts\utility::spawn_tag_origin(); + var_00 maps\_anim::anim_single_solo(level.ally,"mech_enter"); + var_00 thread maps\_anim::anim_loop_solo(level.ally,"mech_enter_loop"); + common_scripts\utility::flag_wait("flag_mb1_jump_done"); + var_00 maps\_utility::anim_stopanimscripted(); + level.ally maps\_utility::anim_stopanimscripted(); + var_00 delete(); +} + +//Function Number: 64 +take_weapon_delayed() +{ + wait(1); + var_00 = self getcurrentweapon(); + self takeweapon(var_00); +} + +//Function Number: 65 +event_mb1_jumpdown() +{ + var_00 = getent("trig_mb1_introwall_smash","targetname"); + var_01 = level._mb.intro_node; + for(;;) + { + var_00 waittill("trigger",var_02); + if(level.player maps\captured_mech_code::cansmash(var_01,anglestoright(var_01.angles) * -1)) + { + break; + } + + wait(0.05); + } + + thread maps\captured_mech_code::spawn_mech_rig(1,0.2); + var_01 thread ai_mb1_jumpdown_guards(); + soundscripts\_snd::snd_message("aud_mech_jump"); + soundscripts\_snd::snd_message("aud_mech_panic_walla_watcher"); + common_scripts\utility::flag_set("flag_force_hud_ready"); + var_01 thread maps\captured_mech_code::anim_single_mech([self.rig],"anim_mb1_introwall_smash","cap_s1_escape_mech_jump_out_vm"); + level.dopickyautosavechecks = 0; + maps\_utility::autosave_by_name("mb_jumpdown_start"); + level.dopickyautosavechecks = 1; + level.player common_scripts\utility::delaycall(0.55,::playrumbleonentity,"heavy_1s"); + level.player common_scripts\utility::delaycall(1.85,::playrumbleonentity,"heavy_1s"); + getscriptablearray("intro_wall_scrtble","targetname")[0] setscriptablepartstate(0,1); + maps\_utility::delaythread(1.75,::common_scripts\_exploder::exploder,"mech_intro_land"); + level.player maps\_utility::delaythread(1.75,::maps\_playermech_code::enable_stencil,getentarray("mb1_nostencil","script_noteworthy")); + soundscripts\_snd::snd_music_message("mus_captured_mech"); + common_scripts\utility::flag_set("flag_mb1_start"); + var_01 waittill("mech_anim_done"); + common_scripts\utility::flag_clear("flag_force_hud_ready"); + self unlink(); + self.rig delete(); + var_01 delete(); + common_scripts\utility::flag_set("flag_mb1_jump_done"); +} + +//Function Number: 66 +event_mb1_weapons_come_online() +{ + common_scripts\utility::flag_wait("flag_mb1_jump_done"); + level.player disableinvulnerability(); + thread maps\_playermech_code::playermech_start("base_transition"); + while(maps\_playermech_code::get_mech_state() != "base_transition") + { + wait(0.05); + } + + maps\_playermech_code::set_mech_state("base"); +} + +//Function Number: 67 +event_mb2_gatesmash() +{ + var_00 = common_scripts\utility::getstruct("struct_mb2_gatesmash","targetname"); + for(;;) + { + common_scripts\utility::flag_wait("flag_mb2_gatesmash"); + if(level.player maps\captured_mech_code::cansmash(var_00,anglestoforward(var_00.angles))) + { + break; + } + + wait(0.05); + } + + thread maps\captured_mech_code::spawn_mech_rig(1,0.2); + soundscripts\_snd::snd_message("mech_warehouse_door_smash"); + playfx(level._effect["playermech_cannon_default"],(9041,-1195,260),(0,1,0.5)); + level._mb.slide_gate_right connectpaths(); + level._mb.slide_gate_left connectpaths(); + level._mb.slide_gate_right delete(); + level._mb.slide_gate_left delete(); + common_scripts\utility::flag_set("flag_mb2_mech_smashing_doors"); + common_scripts\utility::flag_set("flag_force_hud_ready"); + var_00 thread maps\captured_mech_code::anim_single_mech([self.rig],"mech_run_through","cap_playermech_run_through_mech_short_vm"); + common_scripts\utility::array_call(level._mb.slide_gate_destroyed,::show); + self waittill("mech_anim_done"); + common_scripts\utility::flag_clear("flag_force_hud_ready"); + self unlink(); + self.rig delete(); +} + +//Function Number: 68 +ambient_mb1_crane() +{ + var_00 = getscriptablearray("scriptable_mb1_crane","targetname")[0]; + var_01 = common_scripts\utility::getstruct("struct_mb1_crane","targetname"); + var_02 = common_scripts\utility::getstruct(var_01.target,"targetname"); + var_00 waittill("death"); + thread maps\captured_mech_code::smash_throw(var_01.origin,var_01.radius); + common_scripts\utility::array_thread(getnodesinradius(var_01.origin,var_01.radius,0,var_01.radius),::maps\captured_mech_code::disconnect_node); + wait(0.4); + radiusdamage(var_02.origin,var_02.radius,500,500,level.player); +} + +//Function Number: 69 +ambient_mb2_claw_platform(param_00) +{ + level endon("flag_mb2_end"); + var_01 = common_scripts\utility::getstructarray(param_00,"targetname"); + var_02 = undefined; + foreach(var_04 in getentarray(param_00,"targetname")) + { + if(issubstr(var_04.classname,"brushmodel")) + { + var_02 = var_04; + } + } + + var_02 setcandamage(1); + var_02 setcanradiusdamage(1); + var_06 = undefined; + var_07 = undefined; + foreach(var_09 in var_01) + { + if(var_09.script_noteworthy == "struct_disconnect") + { + var_06 = var_09; + continue; + } + + if(var_09.script_noteworthy == "struct_damage") + { + var_07 = var_09; + } + } + + for(;;) + { + var_02 waittill("damage",var_0B,var_0C,var_0D,var_0E); + if(var_0C != level.player) + { + wait(0.05); + continue; + } + + thread maps\captured_mech_code::smash_throw(var_0E,200); + } +} + +//Function Number: 70 +ambient_mb2_cranes() +{ + thread soundscripts\_snd::snd_message("aud_warehouse_roof_machines_line"); + level._mb.cargo_total = 7; + level._mb.cargo["A"] = 0; + level._mb.cargo["B"] = 0; + level._mb.cranes = []; + for(var_00 = 0;var_00 < 10;var_00++) + { + thread ambient_mb2_crane("A","model_mb2_craneA" + var_00 + 1,"struct_mb2_cranepath_A",40); + } + + for(var_00 = 0;var_00 < 10;var_00++) + { + thread ambient_mb2_crane("B","model_mb2_craneB" + var_00 + 1,"struct_mb2_cranepath_B",30); + } + + thread ambient_mb2_claw_platform("model_mb2_claw_platform1"); + thread ambient_mb2_claw_platform("model_mb2_claw_platform2"); + thread ambient_mb2_claw_platform("model_mb2_claw_platform3"); +} + +//Function Number: 71 +ambient_mb2_crane(param_00,param_01,param_02,param_03) +{ + level endon("flag_exit_lock_broken"); + var_04 = common_scripts\utility::getstruct(param_02,"targetname"); + var_05 = common_scripts\utility::getstruct(var_04.target,"targetname"); + var_06 = undefined; + var_07 = undefined; + var_08 = []; + foreach(var_0A in getentarray(param_01,"targetname")) + { + if(issubstr(var_0A.model,"crane")) + { + var_06 = var_0A common_scripts\utility::spawn_tag_origin(); + var_06.main_model = var_0A; + var_0A linkto(var_06); + continue; + } + else if(issubstr(var_0A.classname,"brushmodel")) + { + var_07 = var_0A; + continue; + } + + var_08 = common_scripts\utility::array_add(var_08,var_0A); + } + + level._mb.cranes = common_scripts\utility::array_add(level._mb.cranes,var_06); + var_06.tmodel = param_01; + var_06.var_5763 = param_00; + playfxontag(level._effect["cap_crane_light"],var_06.main_model,"crane_T"); + var_06.templates = []; + foreach(var_0A in var_08) + { + var_0D = spawnstruct(); + var_0D.model = var_0A.model; + var_0D.offset = var_0A.origin - var_06.origin; + var_06.templates = common_scripts\utility::array_add(var_06.templates,var_0D); + } + + if(isdefined(var_07)) + { + var_06.brush = var_07; + var_07 linkto(var_06); + var_06 childthread tank_damage_detection(1); + } + + var_06.parts = []; + if(common_scripts\utility::random([0,1]) && level._mb.cargo[var_06.var_5763] < level._mb.cargo_total) + { + common_scripts\utility::array_call(var_08,::linkto,var_06); + var_06.parts = var_08; + level._mb.cargo[var_06.var_5763]++; + } + else + { + common_scripts\utility::array_call(var_08,::delete); + var_06.brush notsolid(); + var_06.parts = []; + } + + var_0F = param_03 * distance2d(var_06.origin,var_05.origin) / distance2d(var_04.origin,var_05.origin); + var_06 thread soundscripts\_snd::snd_message("aud_warehouse_roof_machines",var_0F); + var_06 moveto((var_05.origin[0],var_06.origin[1],var_06.origin[2]),var_0F); + wait(var_0F); + for(;;) + { + if(var_06.parts.size == 0) + { + if(common_scripts\utility::random([0,1]) && level._mb.cargo[var_06.var_5763] < level._mb.cargo_total) + { + var_06.parts = []; + foreach(var_0D in var_06.templates) + { + var_0A = spawn("script_model",var_04.origin); + var_0A setmodel(var_0D.model); + var_0A linkto(var_06,"tag_origin",var_0D.offset,(0,0,0)); + var_06.parts = common_scripts\utility::array_add(var_06.parts,var_0A); + } + + var_06.brush solid(); + level._mb.cargo[var_06.var_5763]++; + } + } + + var_06.parts = common_scripts\utility::array_removeundefined(var_06.parts); + var_06.main_model hide(); + stopfxontag(level._effect["cap_crane_light"],var_06.main_model,"crane_T"); + common_scripts\utility::array_call(var_06.parts,::hide); + var_06.origin = (var_04.origin[0],var_06.origin[1],var_06.origin[2]); + wait(0.05); + var_06.main_model show(); + playfxontag(level._effect["cap_crane_light"],var_06.main_model,"crane_T"); + common_scripts\utility::array_call(var_06.parts,::show); + var_06 thread soundscripts\_snd::snd_message("aud_warehouse_roof_machines",param_03); + var_06 moveto((var_05.origin[0],var_06.origin[1],var_06.origin[2]),param_03); + wait(param_03); + } +} + +//Function Number: 72 +ambient_mb2_tanks() +{ + for(var_00 = 2;var_00 < 8;var_00++) + { + var_01 = getentarray("model_mb2_crate_explode_" + var_00,"targetname"); + var_02 = undefined; + var_03 = []; + foreach(var_05 in var_01) + { + if(issubstr(var_05.classname,"brushmodel")) + { + var_02 = var_05; + continue; + } + + var_03 = common_scripts\utility::array_add(var_03,var_05); + } + + var_07 = common_scripts\utility::spawn_tag_origin(); + var_07.brush = var_02; + var_07.parts = var_03; + var_07 thread tank_damage_detection(); + } +} + +//Function Number: 73 +tank_damage_detection(param_00) +{ + level endon("flag_exit_lock_broken"); + self endon("death"); + self.brush setcandamage(1); + self.brush setcanradiusdamage(1); + if(!isdefined(param_00)) + { + param_00 = 0; + } + + for(;;) + { + self.brush waittill("damage",var_01,var_02); + if(var_02 != level.player) + { + continue; + } + + if(self.parts.size == 0) + { + continue; + } + + playfx(level._effect["fireball_explosion_cluster_parent_02"],self.origin,(0,0,-1)); + self radiusdamage(self.origin,512,300,300,level.player); + common_scripts\utility::array_call(self.parts,::delete); + if(!isremovedentity(self)) + { + self.parts = []; + } + + if(isdefined(self.var_5763)) + { + level._mb.cargo[self.var_5763]--; + } + + self.brush notsolid(); + if(!param_00) + { + break; + } + } + + self.brush delete(); + self delete(); +} + +//Function Number: 74 +player_can_see(param_00,param_01,param_02) +{ + if(player_can_see_ai_bones(param_00,param_02)) + { + return 1; + } + + if(player_can_see_point(param_01,param_02)) + { + return 1; + } + + if(player_can_see_point(param_01 + (0,0,70),param_02)) + { + return 1; + } + + return 0; +} + +//Function Number: 75 +player_can_see_point(param_00,param_01) +{ + var_02 = 0.342; + if(isdefined(param_01)) + { + var_02 = param_01; + } + + var_03 = level.player getplayerangles(); + if(!common_scripts\utility::within_fov(level.player.origin,var_03,param_00,var_02)) + { + return 0; + } + + var_04 = level.player geteye(); + if(sighttracepassed(var_04,param_00,1,level.player)) + { + return 1; + } + + return 0; +} + +//Function Number: 76 +player_can_see_ai_bones(param_00,param_01) +{ + var_02 = 0.342; + if(isdefined(param_01)) + { + var_02 = param_01; + } + + if(!common_scripts\utility::within_fov(level.player.origin,level.player.angles,param_00.origin,var_02)) + { + return 0; + } + + var_03 = level.player geteye(); + var_04 = param_00 gettagorigin("j_head"); + if(sighttracepassed(var_03,var_04,1,level.player,param_00)) + { + return 1; + } + + var_05 = param_00 gettagorigin("j_mainroot"); + if(sighttracepassed(var_03,var_05,1,level.player,param_00)) + { + return 1; + } + + var_06 = param_00 gettagorigin("j_wrist_le"); + if(sighttracepassed(var_03,var_06,1,level.player,param_00)) + { + return 1; + } + + var_06 = param_00 gettagorigin("j_wrist_ri"); + if(sighttracepassed(var_03,var_06,1,level.player,param_00)) + { + return 1; + } + + var_07 = param_00 gettagorigin("j_ankle_ri"); + if(sighttracepassed(var_03,var_07,1,level.player,param_00)) + { + return 1; + } + + var_07 = param_00 gettagorigin("j_ankle_ri"); + if(sighttracepassed(var_03,var_07,1,level.player,param_00)) + { + return 1; + } + + return 0; +} + +//Function Number: 77 +dialogue_mb1_intro() +{ +} + +//Function Number: 78 +dialogue_mb1_bootup() +{ + wait(11); + wait(7); + wait(1); + wait(0.3); + level.allies[0] hudoutlineenable(3,1); +} + +//Function Number: 79 +dialogue_mb1_jumpdown() +{ + maps\_utility::smart_radio_dialogue("cap_gdn_smashthroughthatwall"); + thread maps\_utility::smart_radio_dialogue("cap_gdn_illhangbackyou"); + level thread dialogue_wallsmash_nag("flag_mb1_start"); + common_scripts\utility::flag_wait("flag_mb1_start"); + wait(3); + maps\_utility::smart_radio_dialogue("cap_sri_calibratingweapons"); +} + +//Function Number: 80 +dialogue_wallsmash_nag(param_00) +{ + self endon(param_00); + wait(7); + var_01 = ["cap_gdn_bustthroughthatwall","cap_gdn_sprintthroughthat"]; + level.player maps\captured_util::radio_dialogue_nag_loop(var_01,param_00,undefined,undefined,undefined,undefined,"flag_mech_vo_active"); +} + +//Function Number: 81 +dialogue_mb1() +{ + smart_radio_dialogue_mb("cap_sri_allweaponssystems"); + common_scripts\utility::flag_set("flag_mech_vo_active"); + common_scripts\utility::flag_wait("flag_mb1_mech_firstmove"); + smart_radio_dialogue_mb("cap_gdn_tangosinthebuildings"); + smart_radio_dialogue_mb("cap_gdn_burstthroughthewalls"); + common_scripts\utility::flag_wait("flag_mb1_fallback_idx2"); + thread smart_radio_dialogue_mb("cap_gdn_headtowardsthatwarehouse"); + common_scripts\utility::flag_wait("flag_mb1_end"); +} + +//Function Number: 82 +dialogue_gid_rocket_reminder() +{ + maps\_utility_code::add_to_radio("cap_gdn_thatrocketpacksa"); + smart_radio_dialogue_mb("cap_gdn_thatrocketpacksa"); +} + +//Function Number: 83 +dialogue_gid_swarm_reminder() +{ +} + +//Function Number: 84 +dialogue_mb2_gatesmash() +{ + level endon("flag_mb2_mech_smashing_doors"); + smart_radio_dialogue_mb("cap_gdn_bustthroughmitchell"); + level thread dialogue_wallsmash_nag("flag_mb2_mech_smashing_doors"); +} + +//Function Number: 85 +dialogue_mb2() +{ + common_scripts\utility::flag_clear("flag_mech_vo_active"); + wait(1.5); + smart_radio_dialogue_mb("cap_sri_warninghullintegrity"); + smart_radio_dialogue_mb("cap_gdn_lotsoftangoslock"); + common_scripts\utility::flag_set("flag_mech_vo_active"); + common_scripts\utility::flag_wait("flag_mb2_mech_stencil_on"); + smart_radio_dialogue_mb("cap_sri_enemymechdetected"); + common_scripts\utility::flag_wait_either("flag_mb2_fallback_idx4","flag_mb2_mechs_dead"); + thread dialogue_mb2_gid_il_convo(); + if(!common_scripts\utility::flag("flag_final_vo")) + { + smart_radio_dialogue_mb("cap_sri_enemyvehicledetected"); + } + + common_scripts\utility::flag_wait("flag_mb2_gateclose"); +} + +//Function Number: 86 +dialogue_mb2_gid_il_convo() +{ + common_scripts\utility::flag_set("flag_final_vo"); + smart_radio_dialogue_mb("cap_gdn_ilonawereapproaching"); + smart_radio_dialogue_mb("cap_iln_justgethrough"); + common_scripts\utility::flag_clear("flag_final_vo"); +} + +//Function Number: 87 +smart_radio_dialogue_mb(param_00) +{ + common_scripts\utility::flag_clear("flag_mech_vo_active"); + maps\_utility::smart_radio_dialogue(param_00); + common_scripts\utility::flag_set("flag_mech_vo_active"); +} \ No newline at end of file diff --git a/AW/PC/maps/captured_mech_code.gsc b/AW/PC/maps/captured_mech_code.gsc new file mode 100644 index 0000000..9513f11 --- /dev/null +++ b/AW/PC/maps/captured_mech_code.gsc @@ -0,0 +1,1558 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: captured_mech_code.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 48 + * Decompile Time: 698 ms + * Timestamp: 4/22/2024 2:26:27 AM +*******************************************************************/ + +//Function Number: 1 +pre_load() +{ + common_scripts\utility::flag_init("hint_mash_button"); + maps\_utility::add_hint_string("hint_mash_button",&"CAPTURED_HINT_TAP",::hint_mash_button); + common_scripts\utility::flag_init("hint_push_forward"); + maps\_utility::add_hint_string("hint_push_forward","Press Forward on Left Thumbstick to Push",::hint_push_forward); + common_scripts\utility::flag_init("hint_pull_back"); + maps\_utility::add_hint_string("hint_pull_back","Press down on Left Thumbstick to Pull",::hint_pull_back); + common_scripts\utility::flag_init("flag_mech_smash_active"); + mech_player_anims(); + mech_generic_human(); + mech_script_model_anims(); + mech_vehicle_anims(); + mech_fx(); +} + +//Function Number: 2 +init_mech_actions() +{ + level.allow_threat_paint = 1; + setsaveddvar("mechAcceleration",0.6); + setsaveddvar("mechAirAcceleration",0.6); + if(!isdefined(self.mech_init)) + { + self.mech_init = 1; + level.player thread maps\captured_util::waittill_notify_func("playermech_start",::soundscripts\_snd::snd_message,"aud_plr_inside_mech"); + setup_smash_nodes(); + common_scripts\utility::array_thread(getentarray("trig_mb_destructible","script_noteworthy"),::mech_action_smash); + common_scripts\utility::array_thread(common_scripts\utility::getstructarray("brush_mb1_crane","targetname"),::mech_action_shoot); + level.player thread mech_crush(); + maps\_playermech_code::playermech_disable_badplace(); + level.mech_swarm_number_of_rockets_per_target = 8; + } +} + +//Function Number: 3 +hint_mash_button() +{ + return !common_scripts\utility::flag("hint_mash_button"); +} + +//Function Number: 4 +hint_push_forward() +{ + return !common_scripts\utility::flag("hint_push_forward"); +} + +//Function Number: 5 +hint_pull_back() +{ + return !common_scripts\utility::flag("hint_pull_back"); +} + +//Function Number: 6 +mech_player_anims() +{ +} + +//Function Number: 7 +mech_generic_human() +{ + level.scr_animtree["mech_player_rig"] = #animtree; + level.scr_model["mech_player_rig"] = "worldhands_playermech"; + level.scr_anim["mech_player_rig"]["mech_run_through"] = %cap_playermech_run_through_mech_short; + level.scr_anim["generic"]["explode_death"] = %death_explosion_run_f_v2; + level.scr_anim["mech_player_rig"]["anim_mb1_intro_exit"] = %cap_s1_escape_mech_control_release_mech; + level.scr_anim["mech_player_rig"]["anim_mb1_introwall_smash"] = %cap_s1_escape_mech_jump_out_mech; + level.scr_animtree["mb1_introwall_guard"] = #animtree; + level.scr_anim["mb1_introwall_guard1"]["anim_mb1_introwall_smash"] = %cap_s1_escape_mech_guard_01; + level.scr_anim["mb1_introwall_guard2"]["anim_mb1_introwall_smash"] = %cap_s1_escape_mech_guard_02; + level.scr_anim["mb1_introwall_guard3"]["anim_mb1_introwall_smash"] = %cap_s1_escape_mech_guard_03; + level.scr_anim["mb1_introwall_guard4"]["anim_mb1_introwall_smash"] = %cap_s1_escape_mech_guard_04; + level.scr_anim["mb1_introwall_guard5"]["anim_mb1_introwall_smash"] = %cap_s1_escape_mech_guard_05; + level.scr_anim["mb1_introwall_guard6"]["anim_mb1_introwall_smash"] = %cap_s1_escape_mech_guard_06; + level.scr_anim["mb1_introwall_guard7"]["anim_mb1_introwall_smash"] = %cap_s1_escape_mech_guard_07; + level.scr_anim["mb1_introwall_guard8"]["anim_mb1_introwall_smash"] = %cap_s1_escape_mech_guard_08; + level.scr_anim["mb1_introwall_guard9"]["anim_mb1_introwall_smash"] = %cap_s1_escape_mech_guard_09; + level.scr_anim["mb1_introwall_guard10"]["anim_mb1_introwall_smash"] = %cap_s1_escape_mech_guard_10; + level.scr_anim["mb1_introwall_guard11"]["anim_mb1_introwall_smash"] = %cap_s1_escape_mech_guard_11; + level.scr_anim["mb1_introwall_guard12"]["anim_mb1_introwall_smash"] = %cap_s1_escape_mech_guard_12; + level.scr_anim["mb1_introwall_guard13"]["anim_mb1_introwall_smash"] = %cap_s1_escape_mech_guard_13; + level.scr_anim["mb1_introwall_guard14"]["anim_mb1_introwall_smash"] = %cap_s1_escape_mech_guard_14; + level.scr_anim["mb1_introwall_guard15"]["anim_mb1_introwall_smash"] = %cap_s1_escape_mech_guard_15; + level.scr_anim["mech_player_rig"]["anim_exit_gatelift_intro"] = %cap_s1_escape_mech_door_lift_intro_mech; + level.scr_anim["mech_player_rig"]["anim_exit_gatelift_intro_idle"][0] = %cap_s1_escape_mech_door_lift_idle_mech; + level.scr_anim["mech_player_rig"]["anim_exit_gatelift_1"] = %cap_s1_escape_mech_door_lift_01_mech; + level.scr_anim["mech_player_rig"]["anim_exit_gatelift_2"] = %cap_s1_escape_mech_door_lift_02_mech; + level.scr_anim["mech_player_rig"]["anim_exit_gatelift_3"] = %cap_s1_escape_mech_door_lift_03_mech; + level.scr_anim["mech_player_rig"]["anim_exit_gatelift_4"] = %cap_s1_escape_mech_door_lift_04_mech; + level.scr_anim["mech_player_rig"]["anim_exit_gatelift_5"] = %cap_s1_escape_mech_door_lift_05_mech; + level.scr_anim["mech_player_rig"]["anim_exit_gatelift_6"] = %cap_s1_escape_mech_door_lift_06_mech; + level.scr_anim["mech_player_rig"]["anim_exit_gatelift_7"] = %cap_s1_escape_mech_door_lift_07_mech; + level.scr_anim["mech_player_rig"]["anim_exit_gatelift_1_rev"] = %cap_s1_escape_mech_door_lift_01_rev_mech; + level.scr_anim["mech_player_rig"]["anim_exit_gatelift_2_rev"] = %cap_s1_escape_mech_door_lift_02_rev_mech; + level.scr_anim["mech_player_rig"]["anim_exit_gatelift_3_rev"] = %cap_s1_escape_mech_door_lift_03_rev_mech; + level.scr_anim["mech_player_rig"]["anim_exit_gatelift_4_rev"] = %cap_s1_escape_mech_door_lift_04_rev_mech; + level.scr_anim["mech_player_rig"]["anim_exit_gatelift_5_rev"] = %cap_s1_escape_mech_door_lift_05_rev_mech; + level.scr_anim["mech_player_rig"]["anim_exit_gatelift_6_rev"] = %cap_s1_escape_mech_door_lift_06_rev_mech; + level.scr_anim["mech_player_rig"]["anim_exit_gatelift_7_rev"] = %cap_s1_escape_mech_door_lift_07_rev_mech; + level.scr_anim["mech_player_rig"]["anim_exit_gatelift_exit"] = %cap_s1_escape_mech_door_lift_exit_mech; + maps\_anim::addnotetrack_customfunction("mech_player_rig","fire_rocket_0",::notify_fire_rocket_0,"anim_exit_gatelift_exit"); + maps\_anim::addnotetrack_customfunction("mech_player_rig","fire_rocket_1",::notify_fire_rocket_1,"anim_exit_gatelift_exit"); + maps\_anim::addnotetrack_customfunction("mech_player_rig","fire_rocket",::notify_fire_rocket_2,"anim_exit_gatelift_exit"); + maps\_anim::addnotetrack_customfunction("mech_player_rig","fire_rocket_2",::notify_fire_rocket_3,"anim_exit_gatelift_exit"); + maps\_anim::addnotetrack_customfunction("mech_player_rig","fire_rocket_3",::notify_fire_rocket_4,"anim_exit_gatelift_exit"); + maps\_anim::addnotetrack_customfunction("mech_player_rig","fire_rocket_4",::notify_fire_rocket_5,"anim_exit_gatelift_exit"); + maps\_anim::addnotetrack_customfunction("mech_player_rig","fire_rocket_5",::notify_fire_rocket_6,"anim_exit_gatelift_exit"); + maps\_anim::addnotetrack_customfunction("mech_player_rig","fx_mech_foot_sparks",::maps\captured_fx::fx_mech_foot_sparks); + maps\_anim::addnotetrack_customfunction("mech_player_rig","fx_mech_exit_steam",::maps\captured_fx::fx_mech_exit_steam); + maps\_anim::addnotetrack_customfunction("mech_player_rig","fx_mech_land_sparks",::maps\captured_fx::fx_mech_land_sparks); + maps\_anim::addnotetrack_customfunction("mech_player_rig","fx_mech_soft_land_dust",::maps\captured_fx::fx_mech_soft_land_dust); + maps\_anim::addnotetrack_customfunction("mech_player_rig","mech_swap",::notify_mech_swap,"anim_exit_gatelift_exit"); + maps\_anim::addnotetrack_customfunction("mech_player_rig","snd_end_01",::maps\captured_aud::snd_end_01,"anim_exit_gatelift_exit"); + level.scr_anim["ally_0"]["anim_exit_takedown_exit"] = %cap_s1_escape_mech_tank_takedown_gideon; + level.scr_anim["tank_driver"]["anim_exit_takedown_intro"] = %cap_s1_escape_mech_tank_takedown_intro_opfor; + level.scr_anim["tank_driver"]["anim_exit_takedown_idle"][0] = %cap_s1_escape_mech_tank_takedown_loop_opfor; + level.scr_anim["tank_driver"]["anim_exit_takedown_exit"] = %cap_s1_escape_mech_tank_takedown_opfor; + level.scr_anim["mech_player_rig"]["anim_exit_takedown_exit"] = %cap_s1_escape_mech_tank_takedown_mech; +} + +//Function Number: 8 +notify_fire_rocket_0(param_00) +{ + level.player notify("notify_fire_rocket_0"); +} + +//Function Number: 9 +notify_fire_rocket_1(param_00) +{ + level.player notify("notify_fire_rocket_1"); +} + +//Function Number: 10 +notify_fire_rocket_2(param_00) +{ + level.player notify("notify_fire_rocket_2"); +} + +//Function Number: 11 +notify_fire_rocket_3(param_00) +{ + level.player notify("notify_fire_rocket_3"); +} + +//Function Number: 12 +notify_fire_rocket_4(param_00) +{ + level.player notify("notify_fire_rocket_4"); +} + +//Function Number: 13 +notify_fire_rocket_5(param_00) +{ + level.player notify("notify_fire_rocket_5"); +} + +//Function Number: 14 +notify_fire_rocket_6(param_00) +{ + level.player notify("notify_fire_rocket_6"); +} + +//Function Number: 15 +notify_mech_swap(param_00) +{ + level.player notify("mech_swap"); +} + +//Function Number: 16 +mech_script_model_anims() +{ + level.scr_animtree["mb_wall_1"] = #animtree; + level.scr_anim["mb_wall_1"]["mech_run_through"] = %cap_playermech_run_through_prop_short; + level.scr_model["mb_wall_1"] = "cap_playermech_breakable_wall"; + level.scr_animtree["mb1_introwall"] = #animtree; + level.scr_anim["mb1_introwall"]["anim_mb1_introwall_smash"] = %cap_s1_escape_mech_jump_out_wall; + level.scr_animtree["exit_gate_lock"] = #animtree; + level.scr_model["exit_gate_lock"] = "cap_s1_exit_gate_lock"; + level.scr_anim["exit_gate_lock"]["anim_exit_gateclose"] = %cap_s1_escape_mech_gate_close_lock; + level.scr_anim["exit_gate_lock"]["anim_exit_gatelift_intro"] = %cap_s1_escape_mech_door_lift_intro_lock; + level.scr_animtree["exit_gate_inner"] = #animtree; + level.scr_anim["exit_gate_inner"]["anim_exit_gateclose"] = %cap_s1_escape_mech_gate_close_door; + level.scr_anim["exit_gate_inner"]["anim_exit_gatelift_intro"] = %cap_s1_escape_mech_door_lift_intro_door; + level.scr_anim["exit_gate_inner"]["anim_exit_gatelift_intro_idle"][0] = %cap_s1_escape_mech_door_lift_intro_door; + level.scr_anim["exit_gate_inner"]["anim_exit_gatelift_1"] = %cap_s1_escape_mech_door_lift_01_door; + level.scr_anim["exit_gate_inner"]["anim_exit_gatelift_2"] = %cap_s1_escape_mech_door_lift_02_door; + level.scr_anim["exit_gate_inner"]["anim_exit_gatelift_3"] = %cap_s1_escape_mech_door_lift_03_door; + level.scr_anim["exit_gate_inner"]["anim_exit_gatelift_4"] = %cap_s1_escape_mech_door_lift_04_door; + level.scr_anim["exit_gate_inner"]["anim_exit_gatelift_5"] = %cap_s1_escape_mech_door_lift_05_door; + level.scr_anim["exit_gate_inner"]["anim_exit_gatelift_6"] = %cap_s1_escape_mech_door_lift_06_door; + level.scr_anim["exit_gate_inner"]["anim_exit_gatelift_7"] = %cap_s1_escape_mech_door_lift_07_door; + level.scr_anim["exit_gate_inner"]["anim_exit_gatelift_1_rev"] = %cap_s1_escape_mech_door_lift_01_rev_door; + level.scr_anim["exit_gate_inner"]["anim_exit_gatelift_2_rev"] = %cap_s1_escape_mech_door_lift_02_rev_door; + level.scr_anim["exit_gate_inner"]["anim_exit_gatelift_3_rev"] = %cap_s1_escape_mech_door_lift_03_rev_door; + level.scr_anim["exit_gate_inner"]["anim_exit_gatelift_4_rev"] = %cap_s1_escape_mech_door_lift_04_rev_door; + level.scr_anim["exit_gate_inner"]["anim_exit_gatelift_5_rev"] = %cap_s1_escape_mech_door_lift_05_rev_door; + level.scr_anim["exit_gate_inner"]["anim_exit_gatelift_6_rev"] = %cap_s1_escape_mech_door_lift_06_rev_door; + level.scr_anim["exit_gate_inner"]["anim_exit_gatelift_7_rev"] = %cap_s1_escape_mech_door_lift_07_rev_door; + level.scr_anim["exit_gate_inner"]["anim_exit_gatelift_exit"] = %cap_s1_escape_mech_door_lift_exit_door; + level.scr_animtree["mech_gun"] = #animtree; + level.scr_model["mech_gun"] = "vm_exo_interior_base"; +} + +//Function Number: 17 +mech_vehicle_anims() +{ + level.scr_animtree["tank"] = #animtree; + level.scr_anim["tank"]["anim_exit_takedown_intro"] = %cap_s1_escape_mech_tank_takedown_intro_tank; + level.scr_anim["tank"]["anim_exit_takedown_idle"][0] = %cap_s1_escape_mech_tank_takedown_loop_tank; + level.scr_anim["tank"]["anim_exit_takedown_exit"] = %cap_s1_escape_mech_tank_takedown_tank; +} + +//Function Number: 18 +mech_fx() +{ + level._effect["fx_trailer_1"] = loadfx("vfx/destructible/cap_tank_trailer_l"); + level._effect["fx_trailer_3"] = loadfx("vfx/destructible/cap_tank_trailer_c"); + level._effect["fx_trailer_2"] = loadfx("vfx/destructible/cap_tank_trailer_r"); +} + +//Function Number: 19 +mech_action_smash() +{ + level.player endon("death"); + level.player endon("exit_mech"); + self endon("death"); + level._mb.trigs = common_scripts\utility::array_add(level._mb.trigs,self); + self.nodes = common_scripts\utility::getstructarray(self.target,"targetname"); + self.flag_smash = 0; + self.additional_unlink_nodes = []; + if(isdefined(self.nodes[0].target)) + { + self.additional_geo = []; + foreach(var_01 in getentarray(self.nodes[0].target,"targetname")) + { + if(issubstr(var_01.classname,"brushmodel")) + { + self.col = var_01; + continue; + } + + if(issubstr(var_01.classname,"model")) + { + self.additional_geo = common_scripts\utility::array_add(self.additional_geo,var_01); + } + } + + foreach(var_04 in common_scripts\utility::getstructarray(self.nodes[0].target,"targetname")) + { + if(isdefined(var_04.script_parameters) && var_04.script_parameters == "unlink") + { + self.additional_unlink_nodes = common_scripts\utility::array_add(self.additional_unlink_nodes,var_04); + continue; + } + + self.fx = var_04; + } + + self.var_3A7 = getscriptablearray(self.nodes[0].target,"targetname")[0]; + self.glass = getglassarray(self.nodes[0].target); + if(isdefined(self.col)) + { + if(isdefined(self.nodes[0].height)) + { + self.col connectpaths(); + } + + if(isdefined(self.col.target)) + { + foreach(var_01 in getentarray(self.col.target,"targetname")) + { + self.additional_geo = common_scripts\utility::array_add(self.additional_geo,var_01); + } + } + } + } + + if(isdefined(self.col)) + { + childthread mech_action_smash_projectile(); + } + + var_08 = undefined; + for(;;) + { + self waittill("trigger",var_09,var_0A,var_0B); + var_0C = 0; + if(isstring(var_09) && var_09 == "weapon") + { + var_0C = 1; + } + + if(self.flag_smash) + { + continue; + } + + if(common_scripts\utility::flag("flag_mech_smash_active") && !var_0C) + { + continue; + } + + var_0D = 0; + var_0E = level.player meleebuttonpressed(); + if(var_0E || var_0C) + { + var_08 = choosesmashnode(level.player.origin,anglestoforward(level.player.angles),1); + if(!isdefined(var_08) && !var_0C) + { + continue; + } + + if(isdefined(var_08)) + { + var_0D = level.player cansmash(var_08,anglestoforward(var_08.angles)); + } + + if(!var_0D && !var_0C) + { + continue; + } + + if(!var_0C) + { + if(!var_0D) + { + continue; + } + + if(distance(level.player.origin,var_08.origin) > 70) + { + while(level.player ismeleeing()) + { + wait(0.05); + } + + continue; + } + + if(vectordot(anglestoforward(level.player getplayerangles()),anglestoforward(var_08.angles)) < 0.5) + { + while(level.player ismeleeing()) + { + wait(0.05); + } + + continue; + } + } + else + { + var_08 = choosesmashnode(var_0B,var_0A,0,1); + if(!isdefined(var_08)) + { + continue; + } + } + + common_scripts\utility::flag_set("flag_mech_smash_active"); + if(level.allow_threat_paint) + { + common_scripts\utility::flag_clear("flag_mech_threat_paint_ping_on"); + } + + self.flag_smash = 1; + anim_prep(var_08); + if(var_0C) + { + soundscripts\_snd::snd_message("mech_wall_smash_3d",self.smash_obj.origin); + } + else + { + soundscripts\_snd::snd_message("mech_wall_smash"); + } + + if(isdefined(self.var_3A7)) + { + if(angleclamp180(self.var_3A7.angles[1]) == angleclamp180(var_08.angles[1])) + { + self.var_3A7 setscriptablepartstate(0,4); + } + else + { + self.var_3A7 setscriptablepartstate(0,3); + } + } + else if(self.smash_obj.model != "tag_origin") + { + var_08 thread maps\_anim::anim_single_solo(self.smash_obj,"mech_run_through"); + self.smash_obj setanimtime(self.smash_obj maps\_utility::getanim("mech_run_through"),0.2); + } + + if(isdefined(self.col)) + { + self.col connectpaths(); + self.col notify("remove"); + self.col delete(); + } + + if(isdefined(self.fx)) + { + playfx(self.fx common_scripts\utility::getfx(self.fx.script_parameters),self.fx.origin,anglestoforward(self.fx.angles)); + } + + if(isdefined(self.fx)) + { + thread smash_throw(self.fx.origin,256); + } + else + { + thread smash_throw_2(var_0B); + } + + foreach(var_10 in self.additional_unlink_nodes) + { + common_scripts\utility::array_thread(getnodesinradius(var_10.origin,var_10.radius,0),::disconnect_node); + } + + if(!isdefined(self.var_3A7) && self.smash_obj.model != "tag_origin") + { + var_08 waittill("mech_run_through"); + } + + if(level.allow_threat_paint) + { + common_scripts\utility::flag_set("flag_mech_threat_paint_ping_on"); + } + + common_scripts\utility::flag_clear("flag_mech_smash_active"); + level notify("mech_smash"); + cleanup_mech_traversal_elements(var_08); + return; + } + else if(level.player getnormalizedmovement()[0] > 0) + { + var_0B = choosesmashnode(level.player.origin,anglestoforward(level.player.angles),1); + if(!isdefined(var_0B)) + { + continue; + } + + if(!level.player cansmash(var_0B,anglestoforward(var_0B.angles))) + { + continue; + } + + common_scripts\utility::flag_set("flag_mech_smash_active"); + if(level.allow_threat_paint) + { + common_scripts\utility::flag_clear("flag_mech_threat_paint_ping_on"); + } + + self.flag_smash = 1; + anim_prep(var_0B); + level.player thread spawn_mech_rig(1,0.2); + if(isdefined(self.var_3A7)) + { + if(angleclamp180(self.var_3A7.angles[1]) == angleclamp180(var_0B.angles[1])) + { + self.var_3A7 setscriptablepartstate(0,4); + } + else + { + self.var_3A7 setscriptablepartstate(0,3); + } + } + + var_12 = [level.player.rig]; + if(!isdefined(self.var_3A7) && self.smash_obj.model != "tag_origin") + { + var_12 = common_scripts\utility::array_add(var_12,self.smash_obj); + } + else + { + var_0B = var_0B common_scripts\utility::spawn_tag_origin(); + var_0B thread smash_surface_float(); + } + + common_scripts\utility::flag_set("flag_force_hud_ready"); + var_0B thread anim_single_mech(var_12,"mech_run_through","cap_playermech_run_through_mech_short_vm"); + soundscripts\_snd::snd_message("mech_wall_smash"); + if(isdefined(self.col)) + { + self.col connectpaths(); + self.col notify("remove"); + self.col delete(); + } + + if(isdefined(self.fx)) + { + thread smash_throw(self.fx.origin,256); + } + else + { + thread smash_throw_2(var_0E); + } + + foreach(var_13 in self.additional_unlink_nodes) + { + common_scripts\utility::array_thread(getnodesinradius(var_13.origin,var_13.radius,0),::disconnect_node); + } + + if(isdefined(self.fx)) + { + playfx(self.fx common_scripts\utility::getfx(self.fx.script_parameters),self.fx.origin,anglestoforward(self.fx.angles)); + } + + var_0A waittill("mech_anim_done"); + common_scripts\utility::flag_clear("flag_force_hud_ready"); + setsaveddvar("mechHide",0); + level.player unlink(); + level.player.rig delete(); + if(level.allow_threat_paint) + { + common_scripts\utility::flag_set("flag_mech_threat_paint_ping_on"); + } + + common_scripts\utility::flag_clear("flag_mech_smash_active"); + level notify("mech_smash"); + cleanup_mech_traversal_elements(var_0A); + return; + } + } +} + +//Function Number: 20 +smash_surface_float() +{ + level.player.rig linkto(self); + var_00 = self.origin + anglestoforward(self.angles) * 64 + (0,0,64); + var_00 = maps\_utility::groundpos(var_00); + var_01 = getanimlength(level.player.rig maps\_utility::getanim("mech_run_through")); + if(isdefined(var_00)) + { + self moveto(var_00,var_01); + } + + wait(var_01); + level.player.rig unlink(); + wait(0.05); + self delete(); +} + +//Function Number: 21 +choosesmashnode(param_00,param_01,param_02,param_03) +{ + var_04 = sortbydistance(self.nodes,param_00); + if(!isdefined(param_02)) + { + param_02 = 0; + } + + if(!isdefined(param_03)) + { + param_03 = 0; + } + + var_05 = undefined; + var_06 = 0; + var_07 = undefined; + var_08 = []; + foreach(var_0A in var_04) + { + var_0B = 0; + var_07 = vectordot(anglestoforward(var_0A.angles),vectornormalize(param_01)); + if(var_07 > 0.7) + { + var_0B = 1; + var_05 = var_0A; + } + else if(param_03 && var_07 > var_06) + { + var_05 = var_0A; + } + + if(param_02) + { + var_0C = 32; + if(isdefined(var_0A.radius)) + { + var_0C = var_0A.radius; + } + + var_0D = distance2d(level.player.origin,var_0A.origin); + if(var_0D > var_0C) + { + var_05 = undefined; + } + } + + if(isdefined(var_05) && var_0B) + { + var_08 = common_scripts\utility::array_add(var_08,var_05); + } + } + + if(var_08.size > 0 && param_02) + { + return var_08[0]; + } + + if(isdefined(var_05)) + { + return var_05; + } +} + +//Function Number: 22 +cansmash(param_00,param_01) +{ + if(self getstance() != "stand") + { + return 0; + } + + if(distance((0,0,self.origin[2]),(0,0,param_00.origin[2])) > 64) + { + return 0; + } + + var_02 = param_00.origin + (0,0,64); + if(!level.player maps\_utility::player_looking_at(var_02 + param_01 * 64,0.7,1)) + { + return 0; + } + + return 1; +} + +//Function Number: 23 +smash_throw_2(param_00,param_01) +{ + if(!isdefined(param_00)) + { + param_00 = self.smash_obj.origin; + } + + if(!isdefined(param_01)) + { + param_01 = 128; + } + + foreach(var_03 in sortbydistance(maps\_utility::remove_dead_from_array(level.mech_crush),param_00,param_01)) + { + var_04 = var_03 death_throw(param_00,param_01,1); + } +} + +//Function Number: 24 +smash_throw(param_00,param_01) +{ + if(!isdefined(param_00)) + { + param_00 = self.smash_obj.origin; + } + + if(!isdefined(param_01)) + { + param_01 = 170; + } + + foreach(var_03 in sortbydistance(maps\_utility::remove_dead_from_array(level.mech_crush),param_00,param_01)) + { + var_03 thread smash_throw_solo(); + } + + physicsexplosionsphere(param_00,param_01,param_01,1); +} + +//Function Number: 25 +smash_throw_solo() +{ + if(isdefined(self.smash_throw_active)) + { + return; + } + + self.smash_throw_active = 1; + var_00 = common_scripts\utility::spawn_tag_origin(); + self.animname = "generic"; + self.a.nodeath = 1; + self.allowdeath = 1; + level.player maps\_playermech_code::disable_stencil(self); + self.noragdoll = 0; + self startragdoll(); + var_00 thread maps\_anim::anim_single_solo(self,"explode_death"); + wait(0.25); + if(isalive(self)) + { + self notify("death",level.player,"MOD_MECH_SMASH"); + self kill(); + } + + var_00 delete(); +} + +//Function Number: 26 +mech_action_smash_projectile() +{ + self.col setcandamage(1); + self.col setcanradiusdamage(1); + self.col solid(); + self.col endon("remove"); + if(isdefined(self.col.hits_left)) + { + return; + } + + var_00 = 2; + self.col.hits_left = var_00; + for(;;) + { + self.col waittill("damage",var_01,var_02,var_03,var_04,var_05); + if(!isdefined(var_05)) + { + continue; + } + + if(isdefined(var_02) && var_02 == level.player) + { + if(issubstr(var_05,"BULLET")) + { + self.col.hits_left--; + if(self.col.hits_left <= 0) + { + self notify("trigger","weapon",var_03,var_04); + } + else if(isdefined(self.var_3A7) && !isdefined(self.damaged)) + { + var_06 = choosesmashnode(var_04,var_03,0,1); + if(!isdefined(var_06)) + { + continue; + } + + if(angleclamp180(self.var_3A7.angles[1]) == angleclamp180(var_06.angles[1])) + { + self.var_3A7 setscriptablepartstate(0,1); + } + else + { + self.var_3A7 setscriptablepartstate(0,2); + } + + self.damaged = 1; + } + + continue; + } + + if(isdefined(var_05) && issubstr(var_05,"GRENADE")) + { + self notify("trigger","weapon",var_03,var_04); + continue; + } + + if(isdefined(var_05) && issubstr(var_05,"SPLASH") || var_05 == "MOD_PROJECTILE") + { + self notify("trigger","weapon",var_03,var_04); + continue; + } + } + } +} + +//Function Number: 27 +anim_prep(param_00) +{ + if(isdefined(self.var_3A7)) + { + self.smash_obj = self.var_3A7; + } + else if(isdefined(param_00.script_parameters)) + { + self.smash_obj = maps\_utility::spawn_anim_model(param_00.script_parameters); + } + else + { + self.smash_obj = param_00 common_scripts\utility::spawn_tag_origin(); + } + + if(isdefined(param_00.height)) + { + self.smash_obj.height = param_00.height; + } + + if(isdefined(self.additional_geo)) + { + foreach(var_02 in self.additional_geo) + { + if(isdefined(var_02)) + { + var_02 delete(); + } + } + } + + self.additional_geo = undefined; + if(isdefined(self.glass)) + { + foreach(var_05 in self.glass) + { + deleteglass(var_05); + } + } + + self.glass = undefined; + if(isdefined(self.opp_trig)) + { + self.opp_trig cleanup_mech_traversal_elements(param_00,0); + } +} + +//Function Number: 28 +setup_smash_nodes() +{ + foreach(var_01 in getallnodes()) + { + if(issubstr(var_01.type,"Cover") || issubstr(var_01.type,"Conceal") || issubstr(var_01.type,"Exposed")) + { + if(isdefined(var_01.script_nodestate)) + { + var_01.state = tolower(var_01.script_nodestate); + switch(var_01.state) + { + case "linked": + break; + + case "unlinked": + var_01 disconnect_node(1); + break; + + default: + iprintln("Warning: node at " + var_01.origin + " has a .script_nodestate of \'" + var_01.state); + break; + } + + level._mb.nodes = common_scripts\utility::array_add(level._mb.nodes,var_01); + } + } + } +} + +//Function Number: 29 +cleanup_mech_traversal_elements(param_00,param_01) +{ + if(isdefined(self.smash_obj) && !isdefined(self.var_3A7)) + { + self.smash_obj delete(); + } + + if(!isdefined(param_01)) + { + param_01 = 1; + } + + if(isdefined(self.additional_geo)) + { + foreach(var_03 in self.additional_geo) + { + if(isdefined(var_03)) + { + var_03 delete(); + } + } + } + + if(isdefined(self.glass)) + { + foreach(var_06 in self.glass) + { + deleteglass(var_06); + } + } + + if(isdefined(self.col)) + { + self.col connectpaths(); + self.col notify("remove"); + self.col delete(); + } + + if(param_01) + { + var_08 = 128; + if(isdefined(param_00.height)) + { + var_08 = param_00.height; + } + + foreach(var_0A in getnodesinradius(param_00.origin,128,0,var_08)) + { + if(isdefined(var_0A.state)) + { + if(isdefined(param_00.height) || !issubstr(var_0A.type,"exposed") && node_is_exposed(var_0A.origin + (0,0,32) + anglestoforward(var_0A.angles) * 64,var_0A)) + { + if(var_0A.state == "linked") + { + var_0A disconnect_node(); + } + + level._mb.nodes = common_scripts\utility::array_remove(level._mb.nodes,var_0A); + var_0A.state = undefined; + continue; + } + + if(var_0A.state == "unlinked") + { + var_0A connect_node(); + } + } + } + } + + self delete(); +} + +//Function Number: 30 +connect_node() +{ + self.state = "linked"; + self connectnode(); +} + +//Function Number: 31 +disconnect_node(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 0; + } + + if(param_00) + { + self.state = "unlinked"; + } + else + { + self.state = "disabled"; + } + + self disconnectnode(); + if(isdefined(self.owner) && !isplayer(self.owner)) + { + self.owner maps\captured_mech::go_to_vol(); + } +} + +//Function Number: 32 +node_is_exposed(param_00,param_01) +{ + if(param_01.type == "Cover Multi") + { + foreach(var_03 in ["Cover Left","Cover Right"]) + { + if(isdefined(param_01.offset)) + { + param_01.offset = undefined; + } + + if(!sighttracepassed(param_01.origin + animscripts\utility::getnodeoffset(param_01,var_03),param_00,0,undefined)) + { + return 0; + } + } + + return 1; + } + + return sighttracepassed(var_04.origin + animscripts\utility::getnodeoffset(var_04),var_03,0,undefined); +} + +//Function Number: 33 +mech_action_shoot() +{ + self.var_3A7 = getscriptablearray(self.target,"targetname")[0]; + self setcandamage(1); + self setcanradiusdamage(1); + self.var_3A7 waittill("death"); + foreach(var_01 in getnodesinradius(self.origin,self.radius,0,self.height)) + { + var_01 disconnect_node(); + } +} + +//Function Number: 34 +mech_crush() +{ + self endon("exit_mech"); + level.mech_crush = []; + var_00 = 64; + for(;;) + { + if(!common_scripts\utility::flag("flag_mech_smash_active")) + { + foreach(var_02 in level.mech_crush) + { + if(var_02 death_throw(self.origin,var_00,0)) + { + soundscripts\_snd::snd_message("aud_mech_crush_guy",var_02); + } + } + } + + wait(0.05); + } +} + +//Function Number: 35 +mech_victim_death_func() +{ + if(self.damagemod == "MOD_MELEE" || isdefined(self.mech_death_throw) && self.mech_death_throw) + { + var_00 = level.player.origin; + var_01 = self.origin - (var_00[0],var_00[1],self.origin[2]); + self teleport(self.origin,vectortoangles(var_01)); + self.deathanim = %death_explosion_run_f_v2; + } + + return 0; +} + +//Function Number: 36 +spawnfunc_mech_crush() +{ + self.deathfunction = ::mech_victim_death_func; + self.badplaceawareness = 1; + self.a.disablelongdeath = 1; + level.mech_crush = common_scripts\utility::array_add(level.mech_crush,self); +} + +//Function Number: 37 +death_throw(param_00,param_01,param_02) +{ + if(!isdefined(param_02)) + { + param_02 = 0; + } + + if(!isalive(self) || !isai(self) || isdefined(self.playingdeathanim)) + { + if(isdefined(common_scripts\utility::array_find(level.mech_crush,self))) + { + level.mech_crush = common_scripts\utility::array_remove(level.mech_crush,self); + } + + return 0; + } + + var_03 = distance(param_00,self.origin); + var_04 = 200; + var_05 = level.player getvelocity(); + var_06 = length(var_05); + var_07 = self.origin - (param_00[0],param_00[1],self.origin[2]); + var_08 = vectordot(var_05,var_07); + if(var_03 <= param_01) + { + if(!param_02 && !level.player issprinting() && var_06 < var_04 || var_08 <= 0) + { + return 0; + } + + maps\_utility::anim_stopanimscripted(); + self.mech_death_throw = 1; + self.allowdeath = 1; + self notify("death",level.player,"MOD_MECH_CRUSH"); + self kill(); + return 1; + } + else if(var_03 < 200) + { + if(!self.ignoreall) + { + if(!isdefined(self.noclosemechrun) || !self.noclosemechrun) + { + self.ignoreall = 1; + maps\_utility::delaythread(6,::maps\_utility::set_ignoreall,0); + } + } + } + + return 0; +} + +//Function Number: 38 +spawn_mech_rig(param_00,param_01) +{ + self.rig = maps\_utility::spawn_anim_model("mech_player_rig",self.origin,self.angles); + self.rig hide(); + foreach(var_03 in common_scripts\utility::array_combine(level.mechdata_left_bones,level.mechdata_right_bones)) + { + self.rig hidepart(var_03); + } + + if(!isdefined(param_00)) + { + return; + } + + if(!param_00) + { + param_01 = 0; + } + else if(!isdefined(param_01)) + { + param_01 = 1; + } + + if(param_00) + { + self playerlinktoblend(self.rig,"tag_player",param_01); + } + + wait(param_01); + self playerlinktodelta(self.rig,"tag_player",1,0,0,0,0,1); +} + +//Function Number: 39 +anim_single_mech(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + param_00 = set_array(param_00); + if(!isdefined(param_04)) + { + param_04 = level.player; + } + + var_08 = isarray(param_00[0] maps\_utility::getanim(param_01)); + if(!isdefined(param_03)) + { + if(var_08) + { + param_03 = 0; + } + else + { + param_03 = 1; + } + } + + if(param_03) + { + param_04._frozen_controls = 1; + param_04 freezecontrols(1); + } + + if(!isdefined(param_02)) + { + iprintln("Warning: no vm_anim_index for anim_single_player() call for \'" + param_01 + "\'"); + } + + level.player forceviewmodelanimationclear(); + if(var_08) + { + param_04 notify("mech_anim_loop_start"); + self notify("mech_anim_loop_start"); + thread anim_loop_vm(param_04,param_02,getanimlength(param_00[0] maps\_utility::getanim(param_01)[0])); + maps\_anim::anim_loop(param_00,param_01,undefined,param_05); + param_04 notify("mech_anim_loop_done"); + self notify("mech_anim_loop_done"); + } + else + { + param_04 notify("mech_anim_start"); + self notify("mech_anim_start"); + param_04 setviewmodelanim(param_02); + maps\_anim::anim_single(param_00,param_01,param_05,param_06,param_07); + param_04 notify("mech_anim_done"); + self notify("mech_anim_done"); + } + + if(param_03) + { + param_04 freezecontrols(0); + param_04._frozen_controls = 0; + } +} + +//Function Number: 40 +anim_loop_vm(param_00,param_01,param_02) +{ + self endon("stop_loop"); + param_00 setviewmodelanim(param_01); + for(;;) + { + wait(param_02); + param_00 setviewmodelanimtime(0); + } +} + +//Function Number: 41 +mech_obj_move(param_00,param_01) +{ + if(isstring(param_00.node)) + { + param_00.node = common_scripts\utility::getstruct(param_00.node,"targetname"); + if(!isdefined(param_00.node)) + { + param_00.node = getent(param_00.node,"targetname"); + } + } + + param_00.state = "none"; + param_00.current_anim = undefined; + param_00.current_anim_vm = undefined; + if(!isdefined(param_01)) + { + param_01 = 1; + } + + if(isdefined(param_00.intro_anim)) + { + param_00.state = "intro_anim"; + self notify("intro_anim_start"); + param_00.node anim_single_mech(param_00.guys,param_00.intro_anim,param_00.intro_anim_vm); + self notify("intro_anim_done"); + param_00.current_anim = param_00.intro_anim; + param_00.current_anim_vm = param_00.intro_anim_vm; + } + + var_02 = 0; + if(isdefined(param_00.main_anims)) + { + param_00.main_anims = set_array(param_00.main_anims); + param_00.main_anims_vm = set_array(param_00.main_anims_vm); + if(param_00.input_type == "mash") + { + if(isdefined(param_00.rev_main_anims)) + { + param_00.rev_main_anims = set_array(param_00.rev_main_anims); + param_00.rev_main_anims_vm = set_array(param_00.rev_main_anims_vm); + } + + var_03 = 1; + var_04 = undefined; + common_scripts\utility::flag_set("hint_mash_button"); + maps\_utility::display_hint("hint_mash_button"); + self.button_mash_level = 0; + self.button_mash_success = 2; + thread button_mash_detection(); + for(;;) + { + self.button_mash_level = clamp(self.button_mash_level,0,2); + if(self.button_mash_level >= 2) + { + var_03 = 1; + if(!isdefined(var_04)) + { + var_04 = 0; + } + else + { + var_04++; + } + } + else + { + var_03 = 0; + } + + if(isdefined(var_04) && var_04 == param_00.main_anims.size) + { + break; + } + + var_05 = undefined; + var_06 = undefined; + if(isdefined(var_04)) + { + if(!var_03) + { + var_05 = param_00.rev_main_anims[var_04]; + var_06 = param_00.rev_main_anims_vm[var_04]; + var_04--; + if(var_04 < 0) + { + var_04 = undefined; + } + } + else + { + var_05 = param_00.main_anims[var_04]; + var_06 = param_00.main_anims_vm[var_04]; + if(!param_01) + { + thread constant_quake(); + } + } + + if(var_02) + { + self notify("post_intro_loop_anim_done"); + param_00.node notify("stop_loop"); + common_scripts\utility::array_thread(param_00.guys,::maps\_utility::anim_stopanimscripted); + var_02 = 0; + } + + param_00.state = "main_anims"; + self notify("main_anim_start" + var_05); + soundscripts\_snd::snd_message("aud_mech_obj_move",var_05); + param_00.node anim_single_mech(param_00.guys,var_05,var_06); + self notify("main_anim_done" + var_05); + thread stop_constant_quake(); + if(isdefined(param_00.rev_main_anims) && isdefined(var_04) && !isdefined(param_00.rev_main_anims[var_04])) + { + break; + } + + continue; + } + + if(isdefined(param_00.post_intro_loop_anim) && !isdefined(var_04) && !var_02) + { + param_00.state = "post_intro_loop_anim"; + self notify("post_intro_loop_anim_start"); + soundscripts\_snd::snd_message("aud_mech_obj_move_wait"); + param_00.node thread anim_single_mech(param_00.guys,param_00.post_intro_loop_anim,param_00.post_intro_loop_anim_vm); + var_02 = 1; + continue; + } + + wait(0.05); + } + + if(isdefined(param_00.post_main_loop_anim)) + { + param_00.state = "post_main_loop_anim"; + self notify("post_main_loop_anim_start"); + soundscripts\_snd::snd_message("aud_mech_obj_move_wait"); + param_00.node thread anim_single_mech(param_00.guys,param_00.post_main_loop_anim,param_00.post_main_loop_anim_vm); + if(!param_01) + { + thread constant_quake(); + } + + while(self.button_mash_level >= 2) + { + wait(0.05); + } + + self notify("post_main_loop_anim_done"); + param_00.node notify("stop_loop"); + common_scripts\utility::array_thread(param_00.guys,::maps\_utility::anim_stopanimscripted); + } + } + else if(param_00.input_type == "push_forward" || param_00.input_type == "pull_back") + { + thread add_idle_control(param_00,param_01); + if(isdefined(param_00.post_intro_loop_anim) && !var_02) + { + param_00.state = "post_intro_loop_anim"; + self notify("post_intro_loop_anim_start"); + param_00.node thread anim_single_mech(param_00.guys,param_00.post_intro_loop_anim,param_00.post_intro_loop_anim_vm); + self waittill("input_success"); + self notify("post_intro_loop_anim_done"); + param_00.node notify("stop_loop"); + common_scripts\utility::array_thread(param_00.guys,::maps\_utility::anim_stopanimscripted); + var_02 = 0; + } + + param_00.state = "main_anims"; + for(var_07 = 0;var_07 < param_00.main_anims.size;var_07++) + { + param_00.current_anim = param_00.main_anims[var_07]; + param_00.current_anim_vm = param_00.main_anims_vm[var_07]; + param_00.node anim_single_mech(param_00.guys,param_00.main_anims[var_07],param_00.main_anims_vm[var_07],0); + } + + self notify("stop_add_idle_control"); + common_scripts\utility::flag_clear("hint_" + param_00.input_type); + } + else + { + } + } + + thread stop_constant_quake(); + if(isdefined(param_00.exit_anim)) + { + param_00.state = "exit_anim"; + self notify("exit_anim_start"); + soundscripts\_snd::snd_message("aud_mech_obj_move_end"); + param_00.node anim_single_mech(param_00.guys,param_00.exit_anim,param_00.exit_anim_vm); + self notify("exit_anim_done"); + } + + self unlink(); + self.rig delete(); +} + +//Function Number: 42 +constant_quake() +{ + self endon("stop_quake"); + for(;;) + { + earthquake(0.5,0.05,self.origin,128); + self playrumbleonentity("damage_heavy"); + wait(0.05); + } +} + +//Function Number: 43 +stop_constant_quake() +{ + self notify("stop_quake"); +} + +//Function Number: 44 +add_idle_control(param_00,param_01) +{ + self endon("stop_add_idle_control"); + var_02 = 0; + var_03 = 0; + common_scripts\utility::flag_set("hint_" + param_00.input_type); + maps\_utility::display_hint("hint_" + param_00.input_type); + for(;;) + { + var_03 = 0; + if(param_00.input_type == "push_forward") + { + if(self getnormalizedmovement()[0] > 0) + { + var_03 = 1; + } + } + else if(param_00.input_type == "pull_back") + { + if(self getnormalizedmovement()[0] < 0) + { + var_03 = 1; + } + } + + if(var_03) + { + self notify("input_success"); + } + + if(param_00.state == "main_anims") + { + if(var_03) + { + if(var_02) + { + var_02 = 0; + if(isdefined(param_00.main_anim_idle_vm)) + { + self setadditiveviewmodelanim(0); + } + + maps\_anim::anim_set_rate(param_00.guys,param_00.current_anim,1); + self pauseviewmodelanim(0); + if(!param_01) + { + thread constant_quake(); + } + } + + common_scripts\utility::flag_clear("hint_" + param_00.input_type); + } + else + { + common_scripts\utility::flag_set("hint_" + param_00.input_type); + maps\_utility::display_hint("hint_" + param_00.input_type); + if(!var_02) + { + var_02 = 1; + maps\_anim::anim_set_rate(param_00.guys,param_00.current_anim,0); + self pauseviewmodelanim(1); + if(isdefined(param_00.main_anim_idle_vm)) + { + self setadditiveviewmodelanim(param_00.main_anim_idle_vm); + } + + thread stop_constant_quake(); + } + } + } + + wait(0.05); + } +} + +//Function Number: 45 +button_mash_detection() +{ + self endon("notify_stop_mash_detection"); + var_00 = 0; + var_01 = 0; + for(;;) + { + if(self usebuttonpressed()) + { + var_01++; + } + else + { + var_01 = 0; + } + + if(var_01 > 0 && var_01 < 20) + { + if(self.button_mash_level < self.button_mash_success) + { + self.button_mash_level = self.button_mash_level + 1; + } + + var_00 = 0; + var_01++; + } + else + { + var_00++; + if(var_00 >= 4 && self.button_mash_level > 0) + { + self.button_mash_level = self.button_mash_level - 1; + } + } + + wait(0.05); + } +} + +//Function Number: 46 +set_array(param_00) +{ + if(isarray(param_00)) + { + return param_00; + } + + return [param_00]; +} + +//Function Number: 47 +disable_threat_ping() +{ + common_scripts\utility::flag_clear("flag_mech_threat_paint_ping_on"); + level.allow_threat_paint = 0; +} + +//Function Number: 48 +enable_threat_ping() +{ + common_scripts\utility::flag_set("flag_mech_threat_paint_ping_on"); + level.allow_threat_paint = 1; +} \ No newline at end of file diff --git a/AW/PC/maps/captured_medical.gsc b/AW/PC/maps/captured_medical.gsc new file mode 100644 index 0000000..84856ca --- /dev/null +++ b/AW/PC/maps/captured_medical.gsc @@ -0,0 +1,1563 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: captured_medical.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 63 + * Decompile Time: 872 ms + * Timestamp: 4/22/2024 2:26:30 AM +*******************************************************************/ + +//Function Number: 1 +pre_load() +{ + precachemodel("vm_kvaHasmatKnifeDown"); +} + +//Function Number: 2 +post_load() +{ + setthreatbias("allies","playerseek",-1024); + setthreatbias("playerseek","allies",-1024); + setthreatbias("playerseek","player",512); + common_scripts\utility::flag_init("flag_tc_approach"); + common_scripts\utility::flag_init("flag_tc_move_down"); + common_scripts\utility::flag_init("flag_tc_gideon_at_door"); + common_scripts\utility::flag_init("gps_ah_combat_start"); + common_scripts\utility::flag_init("gps_ah_open_morgue"); + common_scripts\utility::flag_init("gps_ah_in_morgue"); + common_scripts\utility::flag_init("flag_ah_combat_start"); + common_scripts\utility::flag_init("flag_ah_ai_blocker"); + common_scripts\utility::flag_init("flag_ah_combat_hall"); + common_scripts\utility::flag_init("flag_ah_combat_front"); + common_scripts\utility::flag_init("flag_ah_combat_goto_mid"); + common_scripts\utility::flag_init("flag_ah_combat_mid"); + common_scripts\utility::flag_init("flag_ah_combat_back"); + common_scripts\utility::flag_init("flag_ah_combat_near_done"); + common_scripts\utility::flag_init("flag_ah_combat_done"); + common_scripts\utility::flag_init("flag_ah_ready_to_leave"); + common_scripts\utility::flag_init("flag_spawning_autopsy_techs"); + common_scripts\utility::flag_init("flag_autopsy_enter"); + common_scripts\utility::flag_init("flag_autopsy_doctor_door"); + common_scripts\utility::flag_init("flag_autopsy_chute"); + common_scripts\utility::flag_init("flag_autopsy_gideon_at_door"); + common_scripts\utility::flag_init("flag_autopsy_doctor_scene_start"); + common_scripts\utility::flag_init("flag_autopsy_safe_to_open_door"); + common_scripts\utility::flag_init("flag_autopsy_start_fail"); + if(isdefined(common_scripts\utility::getstruct("struct_playerstart_autopsy","targetname"))) + { + thread setup_spawners(); + thread ah_init_track_doors(); + level.tcah_doors = []; + level.tcah_doors = [maps\_utility::spawn_anim_model("tcah_door_l"),maps\_utility::spawn_anim_model("tcah_door_r")]; + level.tcah_node = common_scripts\utility::getstruct("anim_tc_chamber","targetname"); + level.tcah_node maps\_anim::anim_first_frame(level.tcah_doors,"tc_enter_test_exit_door"); + getent("tcah_door_l_link","targetname") linkto(level.tcah_doors[0],"j_bone_door_left"); + getent("tcah_door_r_link","targetname") linkto(level.tcah_doors[1],"j_bone_door_right"); + return; + } + + iprintln("Warning: Autopsy start point missing. Compiled out?"); +} + +//Function Number: 3 +start_test_chamber() +{ + thread maps\_utility::battlechatter_off("allies"); + thread maps\_utility::battlechatter_off("axis"); + maps\captured_util::warp_allies("struct_allystart_test_chamber"); + level.player maps\captured_util::warp_to_start("struct_playerstart_test_chamber"); + level.player thread maps\captured_util::start_one_handed_gunplay("iw5_sn6pickup_sp_xmags"); + maps\_player_exo::player_exo_activate(); + thread test_chamber_stairs_up_door(); + soundscripts\_snd::snd_message("start_test_chamber"); +} + +//Function Number: 4 +main_test_chamber() +{ + getscriptablearray("s3_escape_console_monitor","targetname")[0] setscriptablepartstate(0,3); + setsaveddvar("cg_cinematicfullscreen","0"); + cinematicingameloop("captured_manticore_display",1,1); + if(level.allies.size > 1) + { + for(var_00 = level.allies.size - 1;var_00 > 0;var_00--) + { + level.allies[var_00] maps\_utility::stop_magic_bullet_shield(); + level.allies[var_00] delete(); + } + } + + var_01 = getentarray("tc_manticore_doors","targetname"); + foreach(var_03 in var_01) + { + var_03.door_tag = common_scripts\utility::spawn_tag_origin(); + var_03.door_tag.origin = var_03.origin; + var_03.door_tag.angles = var_03.angles; + var_03.door_tag.script_noteworthy = "aut_cleanup"; + var_03.animname = "controlroom_entrance_door"; + var_03 maps\_utility::assign_animtree(); + var_03.script_noteworthy = "aut_cleanup"; + var_03.door_tag thread maps\_anim::anim_first_frame_solo(var_03,"s3escape_takedown"); + } + + var_05 = getent("test_chamber_door_a_clip","targetname"); + var_05 notsolid(); + thread tc_side_door_movement(); + level.player thread maps\_utility::blend_movespeedscale(0.5); + var_06 = common_scripts\utility::getstruct("anim_tc_observation","targetname"); + var_07 = [maps\_utility::spawn_targetname("opfor_tc_observation_scientist_1"),maps\_utility::spawn_targetname("opfor_tc_observation_scientist_2")]; + var_08 = [maps\_utility::spawn_targetname("opfor_tc_observation_scientist_3"),maps\_utility::spawn_targetname("opfor_tc_observation_scientist_4")]; + var_07[0].animname = "scientist_1"; + var_07[1].animname = "scientist_2"; + var_08[0].animname = "scientist_3"; + var_08[1].animname = "scientist_4"; + var_07[0] thread observation_room_scientist_anims(var_07,1); + var_07[1] thread observation_room_scientist_anims(var_07,2); + var_08[0] thread observation_room_scientist_setup(3); + var_08[1] thread observation_room_scientist_setup(4); + var_09 = common_scripts\utility::getstruct("struct_scene_test_chamber_manticore","targetname"); + var_09 maps\_anim::anim_first_frame(var_08,"tc_manticore_start"); + level.ally maps\_utility::disable_ai_color(); + var_0A = common_scripts\utility::getstruct("anim_tc_stairs","targetname"); + var_0A thread tc_manticore_ally_traverse(); + common_scripts\utility::flag_wait("flag_tc_player_can_see_manticore"); + var_0B = common_scripts\utility::getstruct("struct_scene_s3escape_security","targetname"); + var_0B notify("s3_close_sliding_door"); + thread maps\captured_util::physics_bodies_on("test_chamber_bodies_1",0); + thread maps\captured_util::physics_bodies_on("test_chamber_bodies_2",0); + var_09 thread maps\captured_anim::anim_single_to_loop(var_08,"tc_manticore_start","tc_manticore_loop","tc_manticore_ender"); + common_scripts\utility::flag_wait("flag_tc_gideon_at_door"); + var_0C = getnode("tc_ally_exit_manticore_node","targetname"); + level.ally.goalradius = 16; + level.ally setgoalnode(var_0C); + common_scripts\utility::flag_wait("flag_tc_player_can_see_manticore"); + thread maps\_utility::battlechatter_on("allies"); + thread maps\_utility::battlechatter_on("axis"); + wait(1); + var_0D = getentarray("med_observation_enemies","targetname"); + var_0E = maps\_utility::array_spawn(var_0D,1); + soundscripts\_snd::snd_message("aud_door","test_chamber"); + foreach(var_03 in var_01) + { + var_03.door_tag thread maps\_anim::anim_single_solo(var_03,"s3escape_takedown"); + } + + wait(1); + var_11 = getent("tc_manticore_doors_col","targetname"); + var_11 connectpaths(); + var_11 delete(); + level notify("start_anim_tc_melee"); + level.allies[0] maps\captured_util::unignore_everything(); + common_scripts\utility::flag_wait("flag_med_observation_enemies"); + thread maps\_utility::battlechatter_off("allies"); + thread maps\_utility::battlechatter_off("axis"); + maps\_utility::autosave_by_name("observation"); + common_scripts\utility::flag_wait("flag_tc_approach"); + level notify("start_anim_tc_approach"); + var_12 = getnode("tc_ally_enter_observation_node","targetname"); + level.ally.goalradius = 16; + level.ally setgoalnode(var_12); + var_0A notify("ally_keep_moving"); + common_scripts\utility::flag_wait("flag_tc_move_to_door"); + var_13 = common_scripts\utility::getstruct("anim_tc_chamber","targetname"); + var_13 maps\_anim::anim_reach_solo(level.ally,"tc_observation"); + var_13 maps\_anim::anim_single_solo(level.ally,"tc_observation"); + if(!common_scripts\utility::flag("flag_tc_move_down")) + { + var_13 maps\_anim::anim_reach_solo(level.ally,"tc_observation_loop"); + var_13 thread maps\_anim::anim_loop_solo(level.ally,"tc_observation_loop","tc_observation_loop_ender"); + } + else + { + level.tcah_node maps\_anim::anim_reach_solo(level.ally,"tc_exit_stairs"); + } + + common_scripts\utility::flag_wait("flag_tc_move_down"); + soundscripts\_snd::snd_message("aud_door","test_chamber_exit","open"); + var_14 = getent("tc_exit_stairs_door","targetname"); + var_15 = getent(var_14.target,"targetname"); + var_15 linkto(var_14); + var_14 moveto(var_14.origin + (52,0,0),1,0.25,0.5); + level notify("start_anim_tc_exit_stairs"); + var_13 notify("tc_observation_loop_ender"); + thread tc_door_to_stairs_closer(var_14); + if(level.currentgen) + { + thread tc_ai_clip_blocker(); + } + + level.tcah_node maps\_anim::anim_single_solo(level.ally,"tc_exit_stairs"); + if(!common_scripts\utility::flag("flag_tc_chamber_enter")) + { + level.tcah_node thread maps\_anim::anim_loop_solo(level.ally,"tc_exit_door_loop","ally_keep_moving"); + } + + level notify("start_anim_tc_exit_door_loop"); + common_scripts\utility::flag_wait("flag_tc_chamber_enter"); + soundscripts\_snd::snd_message("aud_zap_scene"); + level notify("start_anim_tc_enter_test"); + level.tcah_node notify("ally_keep_moving"); + maps\_utility::delaythread(2,::tc_uv_rumble); + var_05 solid(); + var_16 = getent("test_chamber_door_a_rt","targetname"); + var_17 = getent("test_chamber_door_a_lt","targetname"); + var_17 movex(29,0.3); + var_16 movex(-29,0.3); + stopcinematicingame(); + var_08 = maps\_utility::array_removedead(var_08); + maps\_utility::array_delete(var_08); + maps\captured_util::physics_bodies_off(); + var_18 = getentarray("physics_chair_cleanup","script_noteworthy"); + maps\_utility::array_delete(var_18); + thread maps\captured_util::physics_bodies_on("test_chamber_bodies_1",5); + thread maps\captured_util::physics_bodies_on("test_chamber_bodies_2",5); + var_19 = getent("test_chamber_door_b","targetname"); + var_1A = getent("test_chamber_door_b_collision","targetname"); + var_1A linkto(var_19); + var_19 common_scripts\utility::delaycall(6,::movex,-55,0.3); + if(level.currentgen) + { + if(!istransientloaded("captured_autopsy_halls_tr")) + { + level waittill("tff_post_load_autopsy_halls"); + } + } + + level notify("start_anim_tc_enter_test"); + thread test_chamber_body_pushes(); + level.tcah_node maps\_anim::anim_single_solo(level.ally,"tc_enter_test"); + level notify("end_anim_tc_enter_test"); + level.tcah_node thread maps\_anim::anim_loop_solo(level.ally,"tc_enter_test_loop","tc_enter_test_loop_ender"); + common_scripts\utility::flag_wait("flag_test_chamber_end"); +} + +//Function Number: 5 +tc_uv_rumble() +{ + var_00 = level.player maps\_utility::get_rumble_ent("steady_rumble"); + var_00 maps\_utility::set_rumble_intensity(0.01); + var_00 maps\_utility::rumble_ramp_to(1,2.1); + var_00 stoprumble("steady_rumble"); +} + +//Function Number: 6 +tc_ai_clip_blocker() +{ + var_00 = getent("ah_ai_clip_blocker_test_chamber","targetname"); + var_00 notsolid(); + var_00 connectpaths(); + common_scripts\utility::flag_wait("flag_ah_ai_blocker"); + var_00 solid(); + var_00 disconnectpaths(); +} + +//Function Number: 7 +tc_door_to_stairs_closer(param_00) +{ + maps\_utility::wait_for_targetname_trigger("tc_player_on_stairs_to_tc"); + level notify("tc_stairs_down"); + soundscripts\_snd::snd_message("aud_door","test_chamber_exit","close"); + param_00 moveto(param_00.origin - (52,0,0),1.25,0.2,0.5); +} + +//Function Number: 8 +test_chamber_stairs_up_door() +{ + var_00 = common_scripts\utility::getstruct("anim_tc_stairs","targetname"); + var_01 = maps\_utility::spawn_anim_model("tc_stairs_door_1"); + var_02 = maps\_utility::spawn_anim_model("tc_stairs_door_2"); + var_03 = getent("door_tc_stairs_01","targetname"); + var_03 linkto(var_01,"j_bone_door_left",(-28,0,48),(0,90,0)); + var_04 = [var_01,var_02]; + var_00 maps\_anim::anim_first_frame(var_04,"tc_stairs"); + level waittill("tc_stair_door_1"); + var_00 thread maps\_anim::anim_single(var_04,"tc_stairs"); + if(level.currentgen) + { + if(!istransientloaded("captured_test_chamber_tr")) + { + level waittill("tff_pre_escape_to_test_chamber"); + soundscripts\_snd::snd_message("aud_door","test_chamber_stairwell","close"); + var_00 maps\_anim::anim_first_frame(var_04,"tc_stairs"); + } + } + + level waittill("start_anim_tc_enter_test"); + maps\_utility::array_delete(var_04); +} + +//Function Number: 9 +test_chamber_stairs_up_door_notetrack(param_00) +{ + level notify("tc_stair_door_1"); +} + +//Function Number: 10 +test_chamber_stairs_up_door_swipe_sfx_notetrack(param_00) +{ + soundscripts\_snd::snd_message("aud_escape_keycard","tc_stairs_door"); +} + +//Function Number: 11 +computer_door_entry_sfx_notetrack(param_00) +{ + soundscripts\_snd::snd_message("aud_morgue_computer_door_entry_sfx"); +} + +//Function Number: 12 +tc_manticore_ally_traverse() +{ + var_00 = self; + var_01 = getnode("tc_ally_exit_manticore_node","targetname"); + level.ally.goalradius = 16; + level.ally setgoalnode(var_01); + var_00 maps\_anim::anim_single_solo(level.ally,"tc_stairs"); + var_00 = common_scripts\utility::getstruct("anim_tc_observation","targetname"); + if(!common_scripts\utility::flag("flag_tc_player_can_see_manticore")) + { + var_00 thread maps\_anim::anim_loop_solo(level.ally,"tc_landing_loop","tc_hall_ender"); + } + + common_scripts\utility::flag_wait("flag_tc_player_can_see_manticore"); + var_00 = common_scripts\utility::getstruct("anim_tc_observation","targetname"); + level.ally.goalradius = 16; + var_00 notify("tc_hall_ender"); + level notify("manticore_hall_vo"); + var_00 maps\_anim::anim_single_solo(level.ally,"tc_hall"); + common_scripts\utility::flag_set("flag_tc_gideon_at_door"); +} + +//Function Number: 13 +tc_side_door_movement() +{ + var_00 = getentarray("tc_side_doors","targetname"); + foreach(var_02 in var_00) + { + var_03 = getentarray(var_02.target,"targetname"); + common_scripts\utility::array_call(var_03,::linkto,var_02); + } + + while(!common_scripts\utility::flag("flag_test_chamber_end")) + { + common_scripts\utility::flag_wait("flag_tc_side_door_open"); + soundscripts\_snd::snd_message("aud_door","test_chamber_side","open"); + var_00[0] moveto(var_00[0].origin + (0,50,0),1.25,0.2,0.5); + var_00[1] moveto(var_00[1].origin - (0,50,0),1.25,0.2,0.5); + wait(1.5); + while(common_scripts\utility::flag("flag_tc_side_door_open")) + { + wait(0.05); + } + + soundscripts\_snd::snd_message("aud_door","test_chamber_side","close"); + var_00[0] moveto(var_00[0].origin - (0,50,0),1.25,0.2,0.5); + var_00[1] moveto(var_00[1].origin + (0,50,0),1.25,0.2,0.5); + wait(1.5); + } +} + +//Function Number: 14 +test_chamber_body_pushes() +{ + wait(16.36); + var_00 = level.ally gettagorigin("tag_flash"); + physicsexplosionsphere(var_00,30,30,0.3); + wait(1.9); + var_01 = level.ally gettagorigin("tag_stowed_back"); + physicsexplosionsphere(var_01,25,25,0.3); +} + +//Function Number: 15 +test_chamber_exit_door(param_00) +{ + wait(1); + var_01 = tc_setup_door("tc_exit_door"); + var_01 rotateyaw(100,1,0.25,0.25); +} + +//Function Number: 16 +test_chamber_exit_door_notetrack(param_00) +{ + level notify("tc_exit_door"); +} + +//Function Number: 17 +observation_room_scientist_anims(param_00,param_01) +{ + self endon("death"); + maps\_utility::set_ignoreall(1); + maps\_utility::set_ignoreme(1); + self.grenadeammo = 0; + maps\_utility::disable_pain(); + maps\_utility::magic_bullet_shield(1); + self.no_friendly_fire_penalty = 1; + self.ignoresonicaoe = 1; + self pushplayer(1); + maps\_utility::set_deathanim("tc_scientist_" + param_01 + "_death"); + var_02 = "observation_room_scientist_node_" + param_01; + var_03 = common_scripts\utility::getstruct(var_02,"targetname"); + var_04 = maps\_utility::spawn_anim_model("observation_chair_" + param_01); + thread observation_room_scientist_death(var_03,param_01,var_04); + var_05 = [self,var_04]; + var_03 maps\_anim::anim_first_frame(var_05,"tc_melee"); + level waittill("start_anim_tc_melee"); + var_03 maps\_anim::anim_single(var_05,"tc_melee"); + var_03 maps\_anim::anim_loop(var_05,"tc_scientist_" + param_01 + "_loop","observation_room_scientist_endloop"); + common_scripts\utility::flag_wait("flag_tc_chamber_enter"); + var_03 notify("observation_room_scientist_endloop"); + param_00 = common_scripts\utility::array_removeundefined(param_00); + if(param_00.size > 0) + { + common_scripts\utility::array_thread(param_00,::maps\_utility::anim_stopanimscripted); + common_scripts\utility::array_call(param_00,::delete); + } + + var_04 delete(); +} + +//Function Number: 18 +observation_room_scientist_death(param_00,param_01,param_02) +{ + level endon("tc_stairs_down"); + self waittill("damage",var_03,var_04); + param_00 notify("observation_room_scientist_endloop"); + var_05 = [self,param_02]; + var_06 = "tc_scientist_" + param_01 + "_death"; + if(var_04 == level.player) + { + if(!level.missionfailed) + { + setdvar("ui_deadquote",&"CAPTURED_FAIL_INNOCENT"); + thread maps\_utility::missionfailedwrapper(); + } + } + + param_00 thread maps\_anim::anim_single(var_05,var_06); + var_07 = getanimlength(maps\_utility::getanim(var_06)); + wait(var_07 - 0.05); + self setanimrate(maps\_utility::getanim(var_06),0); + param_02 setanimrate(param_02 maps\_utility::getanim(var_06),0); +} + +//Function Number: 19 +observation_room_scientist_setup(param_00) +{ + maps\_utility::set_ignoreall(1); + maps\_utility::set_ignoreme(1); + self.grenadeammo = 0; + maps\_utility::disable_pain(); + self.no_friendly_fire_penalty = 1; + self.ignoresonicaoe = 1; + self pushplayer(1); + thread vign_ai_check_for_death(1); +} + +//Function Number: 20 +vign_ai_check_for_death(param_00) +{ + self notify("stop_check_for_death"); + self endon("stop_check_for_death"); + self endon("flag_test_chamber_end"); + self waittill("damage",var_01,var_02,var_03,var_04); + if(isplayer(var_02)) + { + if(!level.missionfailed) + { + setdvar("ui_deadquote",&"CAPTURED_FAIL_INNOCENT"); + thread maps\_utility::missionfailedwrapper(); + } + } + + if(!isdefined(param_00)) + { + level.ally stopanimscripted(); + } + + self startragdollfromimpact(var_04,var_03); + level notify("tech_dead"); +} + +//Function Number: 21 +tc_setup_door(param_00,param_01) +{ + var_02 = getent(param_00,"targetname"); + var_03 = getentarray(var_02.target,"targetname"); + var_04 = undefined; + foreach(var_06 in var_03) + { + if(var_06.classname == "script_brushmodel") + { + var_04 = var_06; + } + + var_06 linkto(var_02); + } + + if(isdefined(param_01)) + { + return [var_02,var_04]; + } + + return var_02; +} + +//Function Number: 22 +start_autopsy_halls() +{ + maps\captured_util::warp_allies("struct_allystart_autopsy_halls"); + level.player thread maps\_utility::blend_movespeedscale(0.5); + level.player maps\captured_util::warp_to_start("struct_playerstart_autopsy_halls"); + level.player thread maps\captured_util::start_one_handed_gunplay("iw5_titan45pickup_sp_xmags"); + soundscripts\_snd::snd_message("start_halls_to_autopsy"); + maps\_player_exo::player_exo_activate(); + level thread autopsy_first_frame_entry_doors(); + soundscripts\_snd::snd_message("aud_alarm_submix"); +} + +//Function Number: 23 +main_autopsy_halls() +{ + var_00 = getentarray("ent_ah_autopsy_doors","targetname"); + foreach(var_02 in var_00) + { + var_02.script_noteworthy = "aut_cleanup"; + var_02 maps\_utility::assign_animtree("controlroom_entrance_door"); + var_02.door_tag = common_scripts\utility::spawn_tag_origin(); + var_02.door_tag.origin = var_02.origin; + var_02.door_tag.angles = var_02.angles; + var_02.door_tag.script_noteworthy = "aut_cleanup"; + var_02.door_tag maps\_anim::anim_first_frame_solo(var_02,"s3escape_takedown"); + getent(var_02.target,"targetname") linkto(var_02); + } + + var_04 = common_scripts\utility::getstructarray("ent_ah_track_body","targetname"); + common_scripts\utility::array_thread(getentarray("ent_ah_track_block","targetname"),::ah_init_track_block,var_04); + level.player thread ah_player_bodybag_slowdown(0.4,0.8,0.05,0.1); + thread ah_morgue_doors(); + soundscripts\_snd::snd_message("aud_morgue_bodybag_line_emt"); + var_05 = common_scripts\utility::array_add(level.tcah_doors,level.ally); + level.tcah_node notify("tc_enter_test_loop_ender"); + soundscripts\_snd::snd_music_message("mus_captured_halls"); + soundscripts\_snd::snd_message("start_indoor_alarms_2"); + soundscripts\_snd::snd_message("aud_stop_horror_ambience"); + level.tcah_node thread maps\_anim::anim_single(var_05,"tc_enter_test_exit_door",undefined,0.2); + maps\_utility::array_spawn(getentarray("civ_ah_intro","targetname"),1); + wait(1.5); + if(!level.currentgen) + { + maps\_utility::array_spawn(getentarray("civ_ah_start","targetname"),1); + } + + level.ally thread maps\_utility::enable_cqbwalk(); + level.ally thread maps\_utility::follow_path(getnode("node_ah_ally_start","targetname")); + common_scripts\utility::flag_set("flag_ah_ai_blocker"); + common_scripts\utility::flag_wait("flag_ah_combat_start"); + thread maps\_utility::battlechatter_on("allies"); + thread maps\_utility::battlechatter_on("axis"); + level.nextgrenadedrop = 573000; + level.one_handed_help = 1; + level.player thread maps\_utility::blend_movespeedscale(0.8,1); + soundscripts\_snd::snd_message("aud_limp_off"); + level.ally thread maps\_utility::disable_cqbwalk(); + maps\_utility::array_spawn(getentarray("opfor_ah_start_front","targetname")); + maps\_utility::array_spawn(getentarray("opfor_ah_start","targetname")); + maps\captured_util::delay_retreat("opfor_ah",10,-2,"flag_ah_combat_hall","color_ah_combat_hall",1); + level.ally thread maps\_utility::notify_delay("stop_going_to_node",0.5); + level.ally maps\_utility::delaythread(0.5,::maps\_utility::set_force_color,"r"); + level thread ah_delay_playerseek(10,"gps_ah_combat_start"); + maps\_utility::flood_spawn(getentarray("opfor_ah_front","targetname")); + maps\captured_util::delay_retreat("opfor_ah",60,[-4,3],"flag_ah_combat_front","color_ah_combat_front",1); + maps\_utility::flood_spawn(getentarray("opfor_ah_mid","targetname")); + maps\_utility::flagwaitthread("flag_ah_combat_goto_mid",::maps\_utility::autosave_by_name,"ah_morgue"); + level.player thread ah_morgue_threat_proc(); + maps\captured_util::delay_retreat("opfor_ah",60,[-6,4],"flag_ah_combat_mid","color_ah_combat_mid",1); + thread maps\_spawner::killspawner(91); + common_scripts\utility::flag_set("flag_ah_combat_goto_mid"); + wait(1); + maps\captured_util::delay_retreat("opfor_ah",60,2,"flag_ah_combat_back","color_ah_combat_back",1); + thread maps\_spawner::killspawner(92); + maps\_utility::array_spawn(getentarray("opfor_ah_back","targetname")); + var_06 = getent("color_ah_combat_near_done","targetname"); + var_06 maps\_utility::flagwaitthread("flag_ah_combat_near_done",::maps\_utility::notify_delay,"trigger",0); + maps\captured_util::delay_retreat("opfor_ah",60,0,"flag_ah_combat_done"); + level.one_handed_help = undefined; + maps\_utility::delaythread(5,::maps\_utility::kill_deathflag,"flag_ah_combat_done",3,1); + soundscripts\_snd::snd_music_message("mus_captured_halls_end"); + var_07 = common_scripts\utility::getstruct("node_ah_security_console","targetname"); + level.ally maps\_utility::disable_ai_color(); + level.ally maps\_utility::follow_path(var_07); + level notify("obj_exit_morgue"); + var_08 = common_scripts\utility::getstruct("struct_vign_autopsy_door","targetname"); + var_08 maps\_anim::anim_reach_solo(level.ally,"morgue_exit_door_start"); + var_08 maps\_anim::anim_single_solo(level.ally,"morgue_exit_door_start"); + var_08 thread maps\_anim::anim_loop_solo(level.ally,"morgue_exit_door_loop","morgue_exit_door_loop_ender"); + while(!common_scripts\utility::flag("flag_ah_combat_near_done")) + { + wait(0.05); + } + + thread ah_tranistion_doors(var_08,var_00); + level notify("vo_morgue_transition"); + var_08 notify("morgue_exit_door_loop_ender"); + var_08 maps\_anim::anim_single_solo(level.ally,"morgue_exit_door_end"); + common_scripts\utility::flag_set("flag_ah_ready_to_leave"); +} + +//Function Number: 24 +ah_player_bodybag_slowdown(param_00,param_01,param_02,param_03) +{ + self endon("death"); + self notify("stop_bodybag_slowdown"); + self endon("stop_bodybag_slowdown"); + for(;;) + { + if(common_scripts\utility::flag("flag_player_hit_bodybag") && self.movespeedscale > param_00) + { + maps\_utility::blend_movespeedscale(max(param_00,self.movespeedscale - param_02),0.05); + } + else if(!common_scripts\utility::flag("flag_player_hit_bodybag") && self.movespeedscale < param_01) + { + maps\_utility::blend_movespeedscale(min(param_01,self.movespeedscale + param_03),0.05); + } + + wait(0.05); + } +} + +//Function Number: 25 +ah_tranistion_doors(param_00,param_01) +{ + foreach(var_03 in param_01) + { + var_03.closed = var_03.origin; + } + + level waittill("ally_opens_autopsy_outer_door"); + soundscripts\_snd::snd_message("aud_door","autopsy_pre_doors","open"); + foreach(var_03 in param_01) + { + var_03.door_tag thread maps\_anim::anim_single_solo(var_03,"s3escape_takedown"); + } + + var_07 = getent("ent_ah_autopsy_doors_col","targetname"); + var_07 notsolid(); + common_scripts\utility::flag_wait("flag_ah_ready_to_leave"); + var_08 = getent("trig_autopsy_halls_end","targetname"); + while(!level.player istouching(var_08)) + { + wait(0.05); + } + + var_08 delete(); + soundscripts\_snd::snd_message("aud_door","autopsy_pre_doors","close"); + foreach(var_03 in param_01) + { + var_03 moveto(var_03.closed,0.5,0.05,0.05); + } + + var_07 solid(); + wait(0.5); + common_scripts\utility::flag_set("flag_autopsy_halls_end"); + thread ah_fast_body_cleanup(); + if(level.currentgen) + { + common_scripts\utility::flag_set("tff_trans_autopsy_halls_to_autopsy"); + } + + level waittill("autopsy_enemy_door_open"); + if(level.nextgen) + { + param_01[0] moveto(param_01[0].origin + (0,52,0),1,0.05,0.05); + param_01[1] moveto(param_01[1].origin - (0,52,0),1,0.05,0.05); + return; + } + + var_0B = getent(param_01[0].target,"targetname"); + var_0C = getent(param_01[1].target,"targetname"); + var_0B delete(); + var_0C delete(); +} + +//Function Number: 26 +ah_delay_playerseek(param_00,param_01,param_02) +{ + if(isdefined(param_01)) + { + level endon(param_01); + } + + if(isdefined(level.flag[param_01]) && common_scripts\utility::flag(param_01)) + { + return; + } + + if(!isdefined(param_02)) + { + param_02 = 0; + } + else if(param_02 > 4) + { + return; + } + + wait(param_00); + var_03 = undefined; + var_04 = common_scripts\utility::get_array_of_closest(level.player.origin,maps\_utility::get_ai_group_ai("opfor_ah"),undefined,undefined,1536); + foreach(var_06 in var_04) + { + if(isdefined(var_06.enemy) && isplayer(var_06.enemy)) + { + var_03 = var_06; + break; + } + } + + if(!isdefined(var_03) || !isalive(var_03)) + { + level thread ah_delay_playerseek(1,param_01,param_02 + 1); + return; + } + + var_03 endon("death"); + var_03 setthreatbiasgroup("playerseek"); + var_03 thread maps\_utility::player_seek(); +} + +//Function Number: 27 +ah_init_track_block(param_00) +{ + self endon("death"); + self.models = ["cap_hanging_bodybag","cap_hanging_bodybag_02","cap_hanging_bodybag_b","cap_hanging_bodybag_c","cap_hanging_bodybag_02_b","cap_hanging_bodybag_02_c"]; + var_01 = common_scripts\utility::getclosest(self.origin,param_00,128); + self.body = spawn("script_model",var_01.origin); + self.body setmodel(common_scripts\utility::random(self.models)); + self.body.angles = (self.angles[0],randomint(360),self.angles[2]); + self.slow_trig = getent(var_01.target,"targetname"); + self.slow_trig enablelinkto(); + wait(0.05); + self.body linkto(self); + self.slow_trig linkto(self); + self.offset = (0,4,-7); + self.track_start = getent("org_ah_track_start","targetname"); + self.track_end = getent("org_ah_track_end","targetname"); + var_02 = getent(self.target,"targetname"); + thread ah_move_track_block(var_02); +} + +//Function Number: 28 +ah_move_track_block(param_00) +{ + self endon("death"); + level endon("stop_moving_bodies"); + while(!common_scripts\utility::flag("flag_autopsy_halls_end")) + { + var_01 = distance(self.origin,param_00.origin) * 0.03; + if(isdefined(param_00.doors)) + { + param_00 thread ah_track_door_open(var_01); + } + + self moveto(param_00.origin,var_01); + wait(var_01); + if(isdefined(param_00.script_noteworthy) && param_00.script_noteworthy == "turn") + { + wait(0.25); + self rotateto(param_00.angles,1); + wait(1); + } + + param_00 = getent(param_00.target,"targetname"); + if(param_00 == self.track_start) + { + self.body delete(); + self teleportentityrelative(self.track_end,self.track_start); + self dontinterpolate(); + wait(0.05); + self.body = spawn("script_model",self.origin + self.offset + (0,0,randomfloatrange(-1,1))); + self.body setmodel(common_scripts\utility::random(self.models)); + self.body.angles = (self.angles[0],randomint(360),self.angles[2]); + wait(0.05); + self.body linkto(self); + param_00 = getent(param_00.target,"targetname"); + } + } + + self delete(); +} + +//Function Number: 29 +ah_fast_body_cleanup() +{ + level notify("stop_moving_bodies"); + var_00 = getentarray("ent_ah_track_block","targetname"); + foreach(var_02 in var_00) + { + var_02.body delete(); + } +} + +//Function Number: 30 +ah_init_track_doors() +{ + var_00 = getent("org_ah_track_start","targetname"); + if(isdefined(var_00)) + { + var_01 = getent(var_00.target,"targetname"); + while(var_01 != var_00) + { + if(isdefined(var_01.script_noteworthy) && var_01.script_noteworthy != "turn") + { + var_01.doors = getentarray(var_01.script_noteworthy,"targetname"); + foreach(var_03 in var_01.doors) + { + var_04 = getentarray(var_03.target,"targetname"); + common_scripts\utility::array_call(var_04,::linkto,var_03); + var_03.open = var_03.origin; + var_03.close = var_03.open + 28 * vectornormalize((var_01.origin[0],var_01.origin[1],var_03.open[2]) - var_03.open); + var_03 moveto(var_03.close,0.05); + } + } + + var_01 = getent(var_01.target,"targetname"); + } + } +} + +//Function Number: 31 +ah_track_door_open(param_00) +{ + wait(param_00 - 1.25); + foreach(var_02 in self.doors) + { + var_02 moveto(var_02.open,1,0.1,0.4); + } + + soundscripts\_snd::snd_message("aud_morgue_bodybag_doors","open"); + wait(1.5); + foreach(var_02 in self.doors) + { + var_02 moveto(var_02.close,1,0.2,0.2); + } + + soundscripts\_snd::snd_message("aud_morgue_bodybag_doors","close"); +} + +//Function Number: 32 +ah_morgue_doors() +{ + var_00 = common_scripts\utility::getstruct("door_ah_morgue_close","targetname"); + var_01 = getentarray("door_ah_morgue","targetname"); + foreach(var_03 in var_01) + { + var_04 = getentarray(var_03.target,"targetname"); + common_scripts\utility::array_call(var_04,::linkto,var_03); + var_03.open = var_03.origin; + var_03.close = var_00.origin; + var_03 moveto(var_03.close,0.05); + } + + while(!common_scripts\utility::flag("flag_incinerator_saved")) + { + common_scripts\utility::flag_wait("gps_ah_open_morgue"); + soundscripts\_snd::snd_message("aud_door","morgue_doors","open"); + foreach(var_03 in var_01) + { + var_03 moveto(var_03.open,1.25,0.2,0.5); + } + + wait(1.5); + while(common_scripts\utility::flag("gps_ah_open_morgue")) + { + wait(0.05); + } + + soundscripts\_snd::snd_message("aud_door","morgue_doors","close"); + foreach(var_03 in var_01) + { + var_03 moveto(var_03.close,1.25,0.2,0.5); + } + } +} + +//Function Number: 33 +ah_morgue_threat_proc() +{ + self endon("death"); + self.threat_stance = "none"; + while(!common_scripts\utility::flag("flag_incinerator_saved")) + { + while(common_scripts\utility::flag("gps_ah_in_morgue")) + { + var_00 = self getstance(); + if(self.threat_stance != var_00) + { + maps\captured_util::one_handed_modify_threatbias(var_00); + } + + wait(0.05); + } + + maps\captured_util::one_handed_modify_threatbias("none"); + common_scripts\utility::flag_wait("gps_ah_in_morgue"); + } + + self.threat_stance = undefined; +} + +//Function Number: 34 +start_autopsy() +{ + if(level.nextgen) + { + var_00 = getentarray("ent_ah_autopsy_doors","targetname"); + common_scripts\utility::array_call(var_00,::delete); + } + else + { + var_01 = getentarray("ent_ah_autopsy_doors","targetname"); + foreach(var_03 in var_01) + { + var_03.script_noteworthy = "aut_cleanup"; + var_03 maps\_utility::assign_animtree("controlroom_entrance_door"); + var_03.door_tag = common_scripts\utility::spawn_tag_origin(); + var_03.door_tag.origin = var_03.origin; + var_03.door_tag.angles = var_03.angles; + var_03.door_tag.script_noteworthy = "aut_cleanup"; + var_03.door_tag maps\_anim::anim_first_frame_solo(var_03,"s3escape_takedown"); + } + } + + maps\captured_util::warp_allies("struct_allystart_autopsy"); + level.player thread maps\_utility::blend_movespeedscale(0.8); + level.player maps\captured_util::warp_to_start("struct_playerstart_autopsy"); + level.player thread maps\captured_util::start_one_handed_gunplay("iw5_titan45pickup_sp_xmags"); + maps\_player_exo::player_exo_activate(); + common_scripts\utility::flag_set("flag_autopsy_halls_end"); +} + +//Function Number: 35 +main_autopsy() +{ + thread maps\_utility::battlechatter_off("allies"); + thread maps\_utility::battlechatter_off("axis"); + level thread autopsy_start(); + common_scripts\utility::flag_wait("flag_autopsy_end"); +} + +//Function Number: 36 +setup_spawners() +{ + common_scripts\utility::array_call(getentarray("opfor_tc_observation_scientist","script_noteworthy"),::setspawnerteam,"allies"); + maps\_utility::array_spawn_function(getentarray("civ_ah_intro","targetname"),::civ_ah); + maps\_utility::array_spawn_function(getentarray("civ_ah_start","targetname"),::civ_ah); + maps\_utility::array_spawn_function(getentarray("opfor_ah_start_front","targetname"),::opfor_ah_start_front); + maps\_utility::array_spawn_function(getentarray("opfor_ah_start","targetname"),::opfor_ah); + maps\_utility::array_spawn_function(getentarray("opfor_ah_front","targetname"),::opfor_ah); + maps\_utility::array_spawn_function(getentarray("opfor_ah_front_pyr","targetname"),::opfor_ah); + maps\_utility::array_spawn_function(getentarray("opfor_ah_mid","targetname"),::opfor_ah); + maps\_utility::array_spawn_function(getentarray("opfor_ah_mid_pyr","targetname"),::opfor_ah); + maps\_utility::array_spawn_function(getentarray("opfor_ah_back","targetname"),::opfor_ah); + maps\_utility::array_spawn_function(getentarray("med_observation_enemies","targetname"),::opfor_ah); + maps\_utility::array_spawn_function_targetname("opfor_autopsy_guard",::autopsy_guard); + maps\_utility::array_spawn_function_targetname("opfor_autopsy_doctor",::autopsy_main_doctor); +} + +//Function Number: 37 +civ_ah() +{ + self endon("death"); + self.no_friendly_fire_penalty = 1; + self.a.disablelongdeath = 1; + if(isdefined(self.script_noteworthy)) + { + self.health = 50; + self.allowdeath = 1; + self.ignoresonicaoe = 1; + thread vign_ai_check_for_death(); + level.tcah_node maps\_anim::anim_single([self],"tc_enter_test_exit_door",undefined,0.2,self.script_noteworthy); + self notify("stop_check_for_death"); + } + + thread maps\captured_util::cap_civilian_damage_proc(); + thread maps\_spawner::go_to_node(undefined,undefined,undefined,randomintrange(448,576)); + self waittill("civ_kill_me"); + for(;;) + { + if(distancesquared(self.origin,level.player.origin) > 1048576 && !maps\_utility::player_can_see_ai(self)) + { + break; + } + + wait(0.1); + } + + self delete(); +} + +//Function Number: 38 +opfor_ah() +{ + self endon("death"); + thread maps\captured_util::opfor_death_mod(); + thread maps\captured_util::opfor_ammo_drop_mod(); + thread maps\_utility::set_grenadeammo(0); + var_00 = undefined; + if(isdefined(self.target,"targetname")) + { + var_00 = getentarray(self.target,"targetname"); + } + + while(isdefined(var_00) && var_00.size > 0) + { + var_01 = randomint(var_00.size); + if(isdefined(var_00[var_01].target) && isdefined(var_00[var_01].script_flag_wait) && common_scripts\utility::flag(var_00[var_01].script_flag_wait)) + { + var_00 = getentarray(var_00[var_01].target,"targetname"); + continue; + } + + thread maps\_utility::follow_path(var_00[var_01]); + break; + } +} + +//Function Number: 39 +opfor_ah_start_front() +{ + self endon("death"); + thread maps\captured_util::opfor_death_mod(); + thread maps\captured_util::opfor_ammo_drop_mod(); + thread maps\_utility::set_grenadeammo(0); + maps\_utility::set_favoriteenemy(level.ally); + maps\_utility::set_baseaccuracy(0.5); + self waittill("goal"); + self.health = 1; + level.ally maps\_utility::set_favoriteenemy(self); +} + +//Function Number: 40 +autopsy_guard() +{ + self endon("death"); + self.baseaccuracy = 0; + self.script_noteworthy = "aut_cleanup"; + if(!isdefined(self.script_delay) || self.script_delay < 3) + { + maps\_utility::gun_remove(); + maps\_utility::place_weapon_on("iw5_titan45pickup_sp","right"); + } + + maps\_utility::set_ignoreall(1); + wait(randomfloatrange(4,8)); + maps\_utility::set_ignoreall(0); + maps\_utility::delaythread(3,::autopsy_guard_player_hit); + while(!common_scripts\utility::flag("flag_incinerator_fires_start")) + { + self.baseaccuracy = min(1,self.baseaccuracy + randomfloat(0.05)); + self.bulletsinclip = weaponclipsize(self.weapon); + if(common_scripts\utility::cointoss()) + { + maps\_utility::enable_dontevershoot(); + continue; + } + + maps\_utility::disable_dontevershoot(); + wait(randomfloatrange(0.5,1)); + } + + self delete(); +} + +//Function Number: 41 +autopsy_guard_player_hit() +{ + self endon("death"); + level endon("stop_autopsy_guard_player_hit"); + for(;;) + { + self waittill("shooting"); + if(isplayer(self.enemy) && self cansee(level.player) && randomfloat(1) < self.baseaccuracy) + { + level.player dodamage(10,self geteye(),self); + } + } +} + +//Function Number: 42 +autopsy_main_doctor() +{ + self endon("death"); + self.animname = "doctor"; + self.grenadeammo = 0; + self.ignoresonicaoe = 1; + maps\_utility::magic_bullet_shield(1); + maps\_utility::set_ignoreall(1); + maps\_utility::set_ignoreme(1); + maps\_utility::gun_remove(); + maps\_utility::place_weapon_on("iw5_titan45pickup_sp","left"); + thread vign_ai_check_for_death(); + self pushplayer(1); + self waittill("vig_kill_me"); + self notify("stop_check_for_death"); + maps\_utility::stop_magic_bullet_shield(); + self.a.nodeath = 1; + self.allowdeath = 1; + self.diequietly = 1; + self kill(); +} + +//Function Number: 43 +doc_fire(param_00) +{ + param_00 shoot(); +} + +//Function Number: 44 +doc_punched(param_00) +{ + playfxontag(level._effect["punch_mouth_blood_spit"],param_00,"j_head"); +} + +//Function Number: 45 +rifle_butt(param_00) +{ + playfxontag(level._effect["punch_mouth_blood_spit"],param_00,"J_Elbow_RI"); +} + +//Function Number: 46 +autopsy_first_frame_entry_doors() +{ + var_00 = []; + var_00["left"] = getent("aut_door_lt","targetname"); + var_00["left_col"] = getent("aut_door_lt_col","targetname"); + var_00["left"] maps\_utility::assign_animtree("autopsy_door"); + var_00["left_col"] linkto(var_00["left"],"j_bone_door_left"); + var_00["right"] = getent("aut_door_rt","targetname"); + var_00["right_col"] = getent("aut_door_rt_col","targetname"); + var_00["right"] maps\_utility::assign_animtree("autopsy_door_rt"); + var_00["right_col"] linkto(var_00["right"],"j_bone_door_right"); + var_01 = common_scripts\utility::getstruct("struct_vign_autopsy_door","targetname"); + var_01 thread maps\_anim::anim_first_frame([var_00["left"],var_00["right"]],"autopsy_door"); + return var_00; +} + +//Function Number: 47 +autopsy_start() +{ + level endon("missionfailed"); + level notify("start_autopsy_enter"); + level.ally maps\_utility::follow_path(getnode("node_autopsy_hold_0","targetname")); + level.ally maps\_utility::enable_cqbwalk(); + var_00 = maps\_utility::spawn_targetname("opfor_autopsy_doctor"); + var_01 = common_scripts\utility::getstruct("struct_vign_autopsy_doctor_door","targetname"); + var_01 thread maps\_anim::anim_loop_solo(var_00,"autopsy_doctor_loop_start","stop_doctor_loop"); + common_scripts\utility::flag_set("flag_spawning_autopsy_techs"); + level maps\_utility::delaythread(0.05,::autopsy_create_fodder_techs); + var_02 = autopsy_first_frame_entry_doors(); + var_03 = maps\_utility::spawn_anim_model("autopsy_hatch"); + var_01 maps\_anim::anim_first_frame_solo(var_03,"autopsy_doctor_door_open"); + var_04 = common_scripts\utility::getstruct("struct_vign_autopsy_door","targetname"); + var_04 thread maps\_anim::anim_loop_solo(level.ally,"autopsy_entrance_door_loop","autopsy_entrance_door_loop_ender"); + common_scripts\utility::flag_wait("flag_autopsy_halls_end"); + var_04 notify("autopsy_entrance_door_loop_ender"); + level notify("ready_for_autopsy_start"); + thread maps\captured_util::physics_bodies_off(); + thread maps\captured_util::physics_bodies_on("autopsy_bodies_1",0); + if(level.currentgen) + { + if(!istransientloaded("captured_autopsy_tr")) + { + level waittill("tff_post_autopsy_halls_to_autopsy"); + } + } + + common_scripts\utility::flag_set("flag_autopsy_enter"); + level.mission_fail_func = undefined; + soundscripts\_snd::snd_message("aud_autopsy_entrance"); + level.ally maps\_utility::ai_ignore_everything(); + var_04 thread autopsy_door_tech(); + var_04 thread maps\_anim::anim_single([level.ally,var_02["left"],var_02["right"]],"autopsy_door",undefined,0.2); + var_01 thread autopsy_doctor_door_doctor(var_00); + var_01 maps\_anim::anim_reach_solo(level.ally,"autopsy_doctor_gideon_walk"); + common_scripts\utility::flag_set("flag_autopsy_doctor_scene_start"); + var_01 thread autopsy_doctor_door_gideon(); + var_05 = ["cap_dcr_getbackorillshoot","cap_dcr_imwarningyou"]; + var_00 thread maps\captured_util::dialogue_nag_loop(var_05,"doctor_door_weapon_hidden",3,4,3,8); + common_scripts\utility::flag_wait("flag_autopsy_gideon_at_door"); + common_scripts\utility::flag_wait("flag_autopsy_safe_to_open_door"); + var_06 = getent("aut_door_use_trig","targetname"); + var_06 maps\_utility::addhinttrigger(&"CAPTURED_HINT_OPEN_CONSOLE",&"CAPTURED_HINT_OPEN_PC"); + maps\captured_actions::autopsy_door_action(var_06,var_01); + var_06 delete(); + var_01 thread autopsy_doctor_door_player(); + thread maps\captured::dialogue_s3_head_doctor(var_00); + level waittill("doctor_door_weapon_hidden"); + soundscripts\_snd_common::snd_enable_soundcontextoverride("bullet_whizby_glass"); + var_01 notify("stop_gideon_loop"); + var_01 notify("stop_doctor_loop"); + var_07 = []; + var_07["doctor"] = var_00; + var_07["autopsy_hatch"] = var_03; + var_07["sliding_door"] = getent("aut_doctor_doors","targetname"); + var_07["sliding_door"] maps\_utility::assign_animtree("autopsy_doc_doors"); + level.cover_warnings_disabled = 1; + level maps\_utility::delaythread(8,::autopsy_doctor_door_enemies); + thread maps\captured_fx::fx_autopsy_hatch_open(); + var_00 thread maps\_utility::notify_delay("vig_kill_me",getanimlength(%cap_s3_autopsydoc_opendoor_doc)); + var_01 thread maps\captured_anim::anim_single_to_loop_solo(level.ally,"autopsy_doctor_door_open","autopsy_doctor_hatch_open_loop","autopsy_hatch_ender"); + var_01 thread maps\_anim::anim_single(var_07,"autopsy_doctor_door_open"); + wait(getanimlength(level.ally maps\_utility::getanim("autopsy_doctor_door_open"))); + level.ally maps\_utility::ai_unignore_everything(); + var_08 = common_scripts\utility::getstructarray("action_doctor_hatch_node","targetname"); + array_waittill_player_lookat(var_08,0.8,0.25,1,3,var_03); + common_scripts\utility::flag_set("flag_autopsy_chute"); + var_07 = []; + var_07["ally_0"] = level.ally; + var_07["autopsy_hatch"] = var_03; + var_01 notify("autopsy_hatch_ender"); + soundscripts\_snd::snd_message("aud_hatch_gideon"); + var_09 = getanimlength(level.ally maps\_utility::getanim("autopsy_doctor_hatch_open_jump")); + var_01 thread maps\_anim::anim_single(var_07,"autopsy_doctor_hatch_open_jump"); + level.ally common_scripts\utility::delaycall(var_09,::hide); + level.ally maps\_utility::delaythread(var_09,::maps\_utility::disable_cqbwalk); + common_scripts\utility::getstruct("struct_anim_incinerator","targetname") maps\_utility::delaythread(var_09,::maps\_anim::anim_first_frame_solo,level.ally,"incinerator_intro"); + wait(2); + for(;;) + { + array_waittill_player_lookat(var_08,0.9,0.15,1); + if(distance2d(level.player.origin,var_08[0].origin) < 70 && level.player isonground()) + { + setdemigodmode(level.player,1); + break; + } + + wait 0.05; + } + + var_0A = maps\_utility::spawn_anim_model("player_rig"); + var_0A hide(); + level.player freezecontrols(1); + level.player allowprone(0); + level.player allowcrouch(0); + level.player allowstand(1); + level.player allowjump(0); + level.player setstance("stand"); + while(level.player getstance() != "stand") + { + wait(0.05); + } + + level thread maps\_utility::notify_delay("stop_autopsy_guard_player_hit",2); + level notify("autopsy_player_jumping_into_hatch"); + thread maps\captured_util::smooth_player_link(var_0A,0.4); + var_01 maps\_anim::anim_single([var_0A,var_03],"autopsy_doctor_player_jump",undefined,0.25); + level.player unlink(); + var_0A delete(); + level.player freezecontrols(0); + level.cover_warnings_disabled = undefined; + common_scripts\utility::flag_set("flag_autopsy_end"); + soundscripts\_snd_common::snd_disable_soundcontextoverride("bullet_whizby_glass"); + wait(2); + setdemigodmode(level.player,0); + var_03 delete(); + common_scripts\utility::array_call(var_02,::delete); + thread maps\captured_util::physics_bodies_off(); +} + +//Function Number: 48 +array_waittill_player_lookat(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + var_07 = spawnstruct(); + foreach(var_09 in param_00) + { + var_07 thread array_waittill_player_lookat_proc(var_09,param_01,param_02,param_03,param_04,param_05,param_06); + } + + var_07 waittill("lookat_complete"); +} + +//Function Number: 49 +array_waittill_player_lookat_proc(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + self endon("lookat_complete"); + param_00 maps\_utility::waittill_player_lookat(param_01,param_02,param_03,param_04,param_05,param_06); + self notify("lookat_complete"); +} + +//Function Number: 50 +autopsy_doctor_door_no_hint() +{ + if(!isalive(level.player)) + { + return 1; + } + + if(common_scripts\utility::flag("missionfailed")) + { + return 1; + } + + return 0; +} + +//Function Number: 51 +autopsy_doctor_door_player() +{ + maps\_utility::autosave_by_name_silent("autopsy_doctor"); + common_scripts\utility::flag_set("flag_autopsy_doctor_door"); + var_00 = maps\_utility::spawn_anim_model("player_rig"); + var_00 hide(); + maps\_anim::anim_first_frame([var_00],"autopsy_doctor_door_open"); + setsaveddvar("g_friendlyNameDist",0); + level.player disableweapons(); + level.player allowmelee(0); + level.player setstance("stand"); + level.player allowstand(1); + level.player allowcrouch(0); + level.player allowprone(0); + level.player allowsprint(0); + level.player playerlinktoblend(var_00,"tag_player",0.5); + if(issubstr(tolower(level.player.one_weap),"titan45") || issubstr(tolower(level.player.one_weap),"knife")) + { + soundscripts\_snd::snd_message("aud_autopsy_knife_pry_door","handgun"); + wait(0.6); + } + else + { + soundscripts\_snd::snd_message("aud_autopsy_knife_pry_door","rifle"); + wait(1); + } + + level notify("doctor_door_weapon_hidden"); + level.player notify("stop_one_handed_gunplay"); + level.player takeallweapons(); + maps\_player_exo::player_exo_deactivate(); + level notify("stop_overdrive_tracker"); + var_00 show(); + var_00 attach("vm_kvaHasmatKnifeDown","tag_weapon_right"); + level.player playerlinktodelta(var_00,"tag_player",1,0,0,0,0,1); + maps\_anim::anim_single([var_00],"autopsy_doctor_door_open"); + level.player allowsprint(1); + level.player allowprone(1); + level.player allowcrouch(1); + level.player allowstand(1); + level.player takeallweapons(); + level.player enableweapons(); + level.player unlink(); + var_00 delete(); +} + +//Function Number: 52 +autopsy_doctor_door_gideon() +{ + level.ally endon("death"); + maps\_utility::delaythread(3,::common_scripts\utility::flag_set,"flag_autopsy_gideon_at_door"); + maps\captured_anim::anim_single_to_loop_solo(level.ally,"autopsy_doctor_gideon_walk","autopsy_doctor_gideon_door_loop","stop_gideon_loop"); +} + +//Function Number: 53 +autopsy_doctor_door_doctor(param_00) +{ + param_00 endon("death"); + while(distance(param_00.origin,level.ally.origin) > 704) + { + wait(0.05); + } + + self notify("stop_doctor_loop"); + maps\_anim::anim_single_solo(param_00,"autopsy_doctor_grabgun"); + common_scripts\utility::flag_set("flag_autopsy_safe_to_open_door"); + maps\_anim::anim_loop_solo(param_00,"autopsy_doctor_grabgun_loop","stop_doctor_loop"); +} + +//Function Number: 54 +autopsy_doctor_door_fail() +{ + level endon("missionfailed"); + level endon("flag_autopsy_chute"); + var_00 = 10; + common_scripts\utility::flag_set("flag_autopsy_start_fail"); + wait(var_00); + if(!common_scripts\utility::flag("flag_autopsy_chute")) + { + setdvar("ui_deadquote",&"CAPTURED_FAIL_AUTOPSY_ESCAPE"); + thread maps\_utility::missionfailedwrapper(); + } +} + +//Function Number: 55 +autopsy_doctor_door_enemies() +{ + level notify("autopsy_enemy_door_open"); + var_00 = getent("aut_glass_clip","targetname"); + var_00 delete(); + maps\_utility::flood_spawn(getentarray("opfor_autopsy_guard","targetname")); +} + +//Function Number: 56 +autopsy_doctor_door_enemy_think(param_00) +{ + var_01 = common_scripts\utility::getstruct("aut_door_enemy_node_" + param_00,"targetname"); + self.script_noteworthy = "aut_cleanup"; + maps\_utility::set_ignoreall(1); + self.goalradius = 16; + self setgoalpos(var_01.origin); + wait(4); + maps\_utility::set_ignoreall(0); +} + +//Function Number: 57 +autopsy_doctor_door_enemy_ammo() +{ + self endon("death"); + for(;;) + { + self givemaxammo(self.weapon); + wait(1); + } +} + +//Function Number: 58 +autopsy_door_tech() +{ + if(level.currentgen) + { + if(!istransientloaded("captured_autopsy_tr")) + { + level waittill("tff_post_autopsy_halls_to_autopsy"); + } + } + + var_00 = maps\_utility::spawn_targetname("aut_tech",1); + common_scripts\utility::flag_clear("flag_spawning_autopsy_techs"); + var_00 maps\_utility::set_ignoreall(1); + var_00 maps\_utility::set_ignoreme(1); + var_00.grenadeammo = 0; + var_00.animname = "autopsy_tech"; + var_00.ignoresonicaoe = 1; + var_00 pushplayer(1); + var_00 endon("death"); + var_00 thread vign_ai_check_for_death(); + var_00 maps\_utility::delaythread(6.75,::vign_ai_check_for_death,0); + maps\_anim::anim_single_solo(var_00,"autopsy_door"); + thread maps\_anim::anim_loop_solo(var_00,"autopsy_door_tech_loop","stop_looping"); +} + +//Function Number: 59 +autopsy_create_fodder_techs() +{ + var_00 = common_scripts\utility::getstructarray("aut_tech","targetname"); + common_scripts\utility::flag_waitopen("flag_spawning_autopsy_techs"); + wait 0.05; + foreach(var_02 in var_00) + { + var_02 thread autopsy_fodder_tech_think(); + wait 0.05; + } +} + +//Function Number: 60 +autopsy_fodder_tech_think() +{ + var_00 = self.origin; + var_01 = self.angles; + var_02 = maps\_utility::spawn_targetname("aut_tech",1); + var_02 maps\_utility::set_ignoreall(1); + var_02 maps\_utility::set_ignoreme(1); + var_02.grenadeammo = 0; + var_02.animname = "tech"; + var_02 forceteleport(var_00,var_01); + var_02 setgoalpos(var_00); + var_02 maps\_utility::set_deathanim("cap_s3_autopsy_tech_death"); + var_02 thread vign_ai_check_for_death(1); + var_02.ignoresonicaoe = 1; + var_02 pushplayer(1); + var_02 endon("death"); + var_03 = 0; + var_04 = 0; + if(isdefined(self.script_index)) + { + var_04 = 0.01 * self.script_index; + } + + if(isdefined(self.script_count)) + { + var_03 = self.script_count; + } + + var_02 maps\_anim::anim_first_frame_solo(var_02,self.animation); + wait(var_03); + var_02 common_scripts\utility::delaycall(0.05,::setanimtime,level.scr_anim[var_02.animname][self.animation],var_04); + thread autopsy_fodder_tech_animate(var_02); +} + +//Function Number: 61 +autopsy_fodder_tech_animate(param_00) +{ + param_00 endon("death"); + param_00 maps\_anim::anim_single_solo(param_00,self.animation); + param_00 thread maps\_anim::anim_loop_solo(param_00,self.animation + "_loop"); +} + +//Function Number: 62 +autopsy_cleanup() +{ + var_00 = getentarray("aut_cleanup","script_noteworthy"); + maps\_utility::array_delete(var_00); +} + +//Function Number: 63 +bmcd_debug_loop() +{ + while(!common_scripts\utility::flag("flag_battle_to_heli_end")) + { + if(!level.player buttonpressed("BUTTON_B")) + { + wait(0.1); + continue; + } + + if(level.player buttonpressed("DPAD_LEFT") || level.player buttonpressed("LEFTARROW")) + { + maps\_player_exo::player_exo_activate(); + iprintln("Exo On"); + wait(0.2); + continue; + } + + if(level.player buttonpressed("DPAD_RIGHT") || level.player buttonpressed("RIGHTARROW")) + { + maps\_player_exo::player_exo_deactivate(); + iprintln("Exo Off"); + wait(0.2); + continue; + } + + if(level.player buttonpressed("DPAD_UP") || level.player buttonpressed("UPARROW")) + { + level.player notify("stop_one_handed_gunplay"); + iprintln("One Handed Off"); + wait(0.2); + continue; + } + + if(level.player buttonpressed("DPAD_DOWN") || level.player buttonpressed("DOWNARROW")) + { + if(isdefined(level.debugging_on)) + { + level.debugging_on = undefined; + iprintln("Debugging Off"); + } + else + { + level.debugging_on = 1; + iprintln("Debugging On"); + } + + wait(0.2); + } + + wait(0.1); + } +} \ No newline at end of file diff --git a/AW/PC/maps/captured_precache.gsc b/AW/PC/maps/captured_precache.gsc new file mode 100644 index 0000000..31d7a28 --- /dev/null +++ b/AW/PC/maps/captured_precache.gsc @@ -0,0 +1,21 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: captured_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:26:30 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + common_scripts\utility::add_destructible_type_function("container_plastic_72x56x48_01_destp",::destructible_scripts\container_plastic_72x56x48_01_destp::main); + destructible_scripts\container_plastic_72x56x48_01_destp::main(); + vehicle_scripts\_mil_cargo_truck::main("vehicle_mil_cargo_truck_physics_wide","mil_cargo_truck_physics","script_vehicle_mil_cargo_truck_physics_wide"); + vehicle_scripts\_mil_cargo_truck::main("vehicle_mil_cargo_truck_captured_ai",undefined,"script_vehicle_mil_cargo_truck_wide"); + vehicle_scripts\_pdrone::main("vehicle_atlas_assault_drone_large",undefined,"script_vehicle_pdrone_atlas_large"); + vehicle_scripts\_vrap::main("vehicle_mil_humvee",undefined,"script_vehicle_vrap"); + vehicle_scripts\_xh9_warbird::main("vehicle_xh9_warbird",undefined,"script_vehicle_xh9_warbird_no_turret"); +} \ No newline at end of file diff --git a/AW/PC/maps/captured_s2walk.gsc b/AW/PC/maps/captured_s2walk.gsc new file mode 100644 index 0000000..e7c9e01 --- /dev/null +++ b/AW/PC/maps/captured_s2walk.gsc @@ -0,0 +1,827 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: captured_s2walk.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 37 + * Decompile Time: 539 ms + * Timestamp: 4/22/2024 2:26:32 AM +*******************************************************************/ + +//Function Number: 1 +pre_load() +{ +} + +//Function Number: 2 +post_load() +{ + common_scripts\utility::flag_init("flag_allow_punishment"); + common_scripts\utility::flag_init("flag_s2walk_start"); + common_scripts\utility::flag_init("flag_stop_mover"); + level._s2walk = spawnstruct(); + level._s2walk.ally_mover = []; +} + +//Function Number: 3 +start() +{ + level.player disableweapons(); + level.player disableoffhandweapons(); + level.player disableweaponswitch(); + setsaveddvar("g_friendlyNameDist",0); + thread maps\_utility::battlechatter_off("allies"); + thread maps\_utility::battlechatter_off("axis"); + if(issubstr(level.start_point,"s2walk")) + { + level.player maps\captured_util::warp_to_start("struct_playerstart_s2walk"); + spawn_player_prisoner_hands(); + soundscripts\_snd::snd_message("start_s2_walk"); + var_00 = getent("origin_scene_s1elevator","targetname"); + if(isdefined(var_00)) + { + var_00 moveto(var_00.origin - (0,0,594),0.1); + wait(0.2); + } + + thread scene_intro_walk(); + return; + } + + level.player maps\captured_util::warp_to_start("struct_playerstart_s2elevator"); + soundscripts\_snd::snd_message("start_s2_elevator"); +} + +//Function Number: 4 +main_s2walk() +{ + wait(5.5); + var_00 = getent("brush_elevator_s1s2_bottomgate","targetname"); + var_00 moveto(var_00.origin + (0,0,192),2); + thread s2walk_ambient_character_cleanup(); + level.cover_warnings_disabled = undefined; + level notify("s1_elevator_gate_open"); + soundscripts\_snd::snd_message("s2_elevator_door_open"); + soundscripts\_snd::snd_message("aud_s2walk_loudspeaker2_line1"); + var_01 = maps\_utility::array_spawn_noteworthy("actor_s2w_guards"); + for(var_02 = 0;var_02 < var_01.size;var_02++) + { + var_01[var_02] maps\captured_util::ignore_everything(); + var_01[var_02] maps\_utility::gun_remove(); + var_01[var_02].animname = "guard_" + var_02; + } + + var_03 = common_scripts\utility::getstruct("struct_s2walk","targetname"); + var_03 thread maps\_anim::anim_loop(var_01,"s2walk_loop","s2walk_loop_ender"); + level waittill("s2walk_intro_end"); + soundscripts\_snd::snd_message("aud_s2walk_emitters"); + level.player thread maps\_utility::blend_movespeedscale(1,3); + level.player thread player_walk(); + thread scene_walk(var_01,var_03); + thread helicopter_flyby(); + thread maps\captured_util::captured_caravan_spawner("vehicle_s2_truck",13,4,10,"s2walk"); + soundscripts\_snd::snd_message("s2_prison_amb"); + soundscripts\_snd::snd_message("aud_s2walk_trigger_start"); + soundscripts\_snd::snd_message("s2_walk_vo_execution"); + common_scripts\utility::flag_set("flag_allow_punishment"); + common_scripts\utility::flag_wait("flag_s2walk_near_end"); + soundscripts\_snd::snd_message("aud_s2walk_loudspeaker2_line2"); + common_scripts\utility::flag_wait("flag_s2walk_end"); +} + +//Function Number: 5 +s2walk_ambient_character_cleanup() +{ + var_00 = getent("s2_cell_prisoner_trigger_on","targetname"); + var_00 waittill("trigger"); + level notify("s2_killpoppingcharacters"); + var_00 = getent("s2_looping_cleanup_1","targetname"); + var_00 waittill("trigger"); + level notify("s2_looping_group_1"); + common_scripts\utility::flag_wait("flag_s2elevator_end"); + level notify("s2_looping_group_2"); +} + +//Function Number: 6 +main_s2elevator() +{ + thread elevator_ride_s2s3(); + common_scripts\utility::flag_wait("flag_s2elevator_end"); +} + +//Function Number: 7 +scene_intro_walk(param_00,param_01,param_02) +{ + var_03 = common_scripts\utility::getstruct("struct_scene_s2walkstart","targetname"); + var_04 = common_scripts\utility::getstruct("struct_s2walk","targetname"); + var_05 = getent("origin_scene_s1elevator","targetname"); + var_06 = level.allies; + common_scripts\utility::array_thread(var_06,::maps\captured_util::ignore_everything); + common_scripts\utility::array_thread(var_06,::maps\_utility::gun_remove); + if(!isdefined(param_00)) + { + param_00 = maps\_utility::array_spawn_noteworthy("actor_s2wintro_guards"); + } + + for(var_07 = 0;var_07 < param_00.size;var_07++) + { + param_00[var_07] maps\captured_util::ignore_everything(); + var_08 = var_07 + 1; + param_00[var_07].animname = "guard_" + var_08; + if(var_08 == 3) + { + param_00[var_07] maps\_utility::gun_remove(); + } + } + + var_09 = [param_00[2]]; + var_0A = [param_00[0],param_00[1]]; + var_0B = [param_00[3],param_00[4]]; + thread maps\captured::dialogue_s2_elevator_open(param_00); + var_03 thread maps\captured_anim::anim_single_to_loop(var_0A,"s2walk_intro_start_front","s2walk_wait_intro_loop_front","s2walk_front_guard_wait_loop"); + var_03 thread maps\captured_anim::anim_single_to_loop(var_0B,"s2walk_intro_start_back","s2walk_wait_intro_loop_back","s2walk_all_wait_loop_ender"); + var_03 maps\captured_anim::anim_single_to_loop(var_09,"s2walk_intro_start_third","s2walk_wait_intro_loop_thrid","s2walk_front_guard_wait_loop"); + level waittill("s1_elevator_gate_open"); + wait(3); + level.player disableslowaim(); + level.player allowcrouch(0); + level.player allowjump(0); + level.player allowprone(0); + level.player allowsprint(0); + player_hands_idle_start(); + level.player thread maps\_utility::blend_movespeedscale(0.015); + level.player thread maps\_utility::blend_movespeedscale(0.3,20); + level.player unlink(); + if(isdefined(param_01)) + { + param_01 delete(); + } + + if(isdefined(param_02)) + { + param_02 delete(); + } + + var_0C = getent("s2walk_elevator_exit_collision","targetname"); + var_0C delete(); + common_scripts\utility::flag_wait("flag_s2walk_start"); + level thread s2walk_player_push(var_03,var_09,param_00); + var_03 thread maps\_anim::anim_single(var_0A,"s2walk_intro_grab"); + level waittill("s2walk_start_walking"); + level notify("s2walk_intro_end"); + var_03 notify("s2walk_all_wait_loop_ender"); + var_05 notify("s2walk_all_wait_loop_ender"); +} + +//Function Number: 8 +s2walk_player_push(param_00,param_01,param_02) +{ + param_00 notify("s2walk_front_guard_wait_loop"); + if(isdefined(level.player.rig)) + { + player_hands_idle_stop(1); + } + + var_03 = maps\_utility::spawn_anim_model("player_rig_noexo"); + var_04 = var_03 thread maps\captured_util::captured_player_cuffs(); + var_04 hide(); + var_03 hide(); + var_05 = common_scripts\utility::array_add(param_01,var_03); + param_00 thread maps\_anim::anim_single(var_05,"s2walk_intro_grab"); + level.player common_scripts\utility::delaycall(3.85,::playrumbleonentity,"heavy_1s"); + level.player playerlinktoblend(var_03,"tag_player",0.5); + wait(0.5); + var_04 show(); + var_03 show(); + level.player playerlinktodelta(var_03,"tag_player",1,0,0,0,0,1); + wait(getanimlength(var_03 maps\_utility::getanim("s2walk_intro_grab")) - 0.5); + var_03 delete(); + var_04 delete(); + player_hands_idle_start(); + level waittill("s2_looping_group_1"); + maps\_utility::array_delete(param_02); +} + +//Function Number: 9 +scene_walk(param_00,param_01) +{ + var_02 = level.allies; + var_03 = undefined; + var_04 = undefined; + level.player thread maps\_utility::blend_movespeedscale(1,1); + var_05 = getent("s2elevator_trolley_intro_guard","script_noteworthy"); + if(isdefined(var_05)) + { + var_03 = var_05 maps\_utility::spawn_ai(1); + var_03 maps\captured_util::ignore_everything(); + var_03.animname = "guard_3"; + var_04 = common_scripts\utility::getstruct("struct_scene_s2elevator","targetname"); + var_04 thread maps\_anim::anim_loop_solo(var_03,"s2walk_intro_trolley_loop","s2walk_intro_trolley_loop_ender"); + thread trolley_doors_function(); + } + + var_06 = getent("s2elevator_trolley_intro_guard_end","script_noteworthy"); + var_07 = var_06 maps\_utility::spawn_ai(1); + var_07 maps\captured_util::ignore_everything(); + var_07 maps\_utility::gun_remove(); + var_07.animname = "guard_end"; + thread maps\captured::dialogue_s2_walk(param_00,var_07,var_03); + param_01 notify("s2walk_loop_ender"); + var_08 = common_scripts\utility::array_combine(var_02,param_00); + var_08 = common_scripts\utility::array_add(var_08,var_07); + var_08 = common_scripts\utility::array_add(var_08,level.player._walk.walk_node); + soundscripts\_snd::snd_message("s2_elevator_door_close"); + soundscripts\_snd::snd_message("aud_s2walk_guard_radios"); + soundscripts\_snd::snd_message("aud_s2walk_temp_guard_VO",param_00[0]); + var_09 = common_scripts\utility::spawn_tag_origin(); + var_0A = common_scripts\utility::spawn_tag_origin(); + var_09 thread set_origin_per_time(var_02[1],var_02[2],0.05); + var_0A thread set_origin_per_time(var_02[0],param_00[1],0.05); + param_01 thread maps\_anim::anim_single(var_08,"s2walk"); + thread s2walk_cage_door_open(); + var_0B = getanimlength(var_07 maps\_utility::getanim("s2walk")); + thread s2walk_guard_end_cleanup(var_0B,var_07); + param_00 = common_scripts\utility::array_remove(param_00,var_07); + s2elevator_trolley_intro_scene(param_00,var_03,var_04); + var_09 delete(); + var_0A delete(); +} + +//Function Number: 10 +s2walk_cage_door_open() +{ + var_00 = getent("s2walk_cage_door","targetname"); + wait(14.5); + var_00 soundscripts\_snd::snd_message("aud_s2walk_door_open"); + var_00 rotateto((0,285,0),2,1,0.25); + wait(16.5); + var_00 rotateto((0,-285,0),2,1,0.25); + level waittill("trolley_player_start"); + var_00 delete(); +} + +//Function Number: 11 +nt_s2walk_anims_start(param_00) +{ + level notify("s2walk_start_walking"); +} + +//Function Number: 12 +s2walk_guard_end_cleanup(param_00,param_01) +{ + wait(param_00); + param_01 delete(); +} + +//Function Number: 13 +player_walk() +{ + self endon("beaten_to_death"); + level endon("stop_walk"); + self endon("death"); + var_00 = common_scripts\utility::getstruct("struct_player_goal","targetname"); + self._walk = spawnstruct(); + self._walk.walk_node = maps\_utility::spawn_anim_model("s2_walking_node"); + self._walk.pushpoint = self._walk.walk_node common_scripts\utility::spawn_tag_origin(); + self._walk.pushpoint linkto(self._walk.walk_node); + self._walk.walk_speed = 60; + self._walk.sprint_speed = 80; + self._walk.player_move_mod = 0; + self._walk.punishment_level["forward"] = 0; + self._walk.punishment_level["back"] = 0; + self._walk.punishment_level["left_right"] = 0; + self._walk.punishment_level["look"] = 0; + self._walk.max_punishments = 2; + self._walk.forward_punish_dist = 64; + self._walk.behind_punish_dist = -64; + self._walk.right_left_punish_dist = 64; + var_01 = 5; + var_02 = 0; + var_03 = self._walk; + for(;;) + { + var_04 = s2walk_dynamic_speed_adjuster(); + maps\_utility::player_speed_set(var_04[0]); + if(common_scripts\utility::flag("flag_allow_punishment")) + { + punishment_check(); + if(isdefined(self.punishment)) + { + punishment(); + var_02 = 0; + self.punishment = undefined; + } + else + { + var_02++; + if(var_02 >= var_01 * 20) + { + punishment_recovery(); + var_02 = 0; + } + } + } + + wait(0.05); + } + + self._walk.pushpoint delete(); + self._walk delete(); +} + +//Function Number: 14 +player_walk_end() +{ + level notify("stop_walk"); + player_hands_idle_stop(); + level.player unlink(); + level.player.rig delete(); + level.player maps\_utility::player_speed_default(); +} + +//Function Number: 15 +spawn_player_prisoner_hands() +{ + level.player disableweapons(); + level.player disableoffhandweapons(); + level.player disableweaponswitch(); + level.player.rig = maps\_utility::spawn_anim_model("player_arms",level.player.origin,level.player.angles); + level.player.rig linktoplayerviewignoreparentrot(level.player,"tag_origin",(-6,0,-60),(0,-90,0),1,0,0,1); + level.player.rig attach("s1_vm_handcuffs","tag_weapon_left"); + player_hands_idle_start(); +} + +//Function Number: 16 +player_hands_idle_start() +{ + if(isdefined(level.player.rig.hidden)) + { + level.player.rig show(); + level.player.rig.hidden = undefined; + } + + level.player.rig notify("s2walk_idle_ender"); + level.player.rig thread maps\_anim::anim_loop_solo(level.player.rig,"s2walk_idle","s2walk_idle_ender"); + level.player allowcrouch(0); + level.player allowjump(0); + level.player allowprone(0); +} + +//Function Number: 17 +player_hands_idle_stop(param_00) +{ + if(isdefined(param_00) && param_00) + { + level.player.rig hide(); + level.player.rig.hidden = 1; + } + + level.player.rig maps\_utility::anim_stopanimscripted(); +} + +//Function Number: 18 +s2walk_dynamic_speed_adjuster() +{ + var_00 = -20; + var_01 = 40; + var_02 = 1.2; + var_03 = level.player._walk.pushpoint; + var_04 = vectornormalize(level.player.origin - var_03.origin); + var_05 = anglestoforward(var_03.angles); + var_06 = anglestoright(var_03.angles); + var_07 = distance(level.player.origin,var_03.origin); + var_08 = vectordot(var_04,var_05); + var_09 = level.player._walk.walk_speed; + var_0A = level.player._walk.sprint_speed; + if(var_08 * var_07 > var_00) + { + var_0B = abs(var_00 + var_08 * var_07); + var_0C = abs(var_01 - var_0B * var_02); + var_09 = level.player._walk.walk_speed - var_0C; + var_0A = level.player._walk.sprint_speed - var_0C; + } + + var_0D = [var_09,var_0A]; + return var_0D; +} + +//Function Number: 19 +punishment_check() +{ + var_00 = self._walk.forward_punish_dist; + var_01 = self._walk.behind_punish_dist; + var_02 = self._walk.right_left_punish_dist; + var_03 = -0.4; + var_04 = 0.6; + var_05 = 5; + var_06 = self._walk.pushpoint; + var_07 = vectornormalize(self.origin - var_06.origin); + var_08 = anglestoforward(var_06.angles); + var_09 = anglestoright(var_06.angles); + var_0A = distance(self.origin,var_06.origin); + var_0B = vectordot(var_07,var_08); + var_0C = vectordot(var_07,var_09); + if(var_0C * var_0A > var_02) + { + self.punishment = "right"; + } + else if(var_0C * var_0A * -1 > var_02) + { + self.punishment = "left"; + } + else if(var_0B * var_0A > var_00) + { + self.punishment = "forward"; + } + else if(var_0B * var_0A < var_01) + { + self.punishment = "back"; + } + + if(isdefined(self.punishment)) + { + self.punish_view_level = undefined; + return; + } + + var_0D = anglestoforward(self getplayerangles()); + var_0E = vectordot(var_0D,var_08); + if(vectordot(var_0D,var_08) > var_04) + { + if(isdefined(self.punish_view_level) && self.punish_view_level > 0) + { + self.punish_view_level = self.punish_view_level - 0.05; + } + else + { + self.punish_view_level = undefined; + } + + return; + } + + if(!isdefined(self.punish_view_level)) + { + self.punish_view_level = 0; + self.last_punish_time = gettime(); + } + + if(var_0E < var_03 || self.punish_view_level > var_05) + { + var_0F = (var_08[0],var_08[1],0); + self.last_punish_time = gettime(); + if(vectorcross(var_0D,var_0F)[2] > 0) + { + self.punishment = "look_right"; + } + else + { + self.punishment = "look_left"; + } + + self.punish_view_level = undefined; + return; + } + + var_10 = var_06 * 0.05; + self.punish_view_level = self.punish_view_level + randomfloatrange(0,var_10); +} + +//Function Number: 20 +punishment() +{ + if(self.punishment != "forward") + { + common_scripts\utility::flag_set("flag_stop_mover"); + var_00 = 0; + var_01 = ["cap_gr4_inline","cap_gr4_getinline"]; + var_02 = ["cap_gr4_staycentered","cap_gr4_stayinline"]; + var_03 = ["cap_gr4_eyesforward","cap_gr4_stoplookin","cap_gr4_eyesforward2"]; + switch(self.punishment) + { + case "forward": + self._walk.punishment_level["forward"]++; + var_00 = self._walk.punishment_level["forward"]; + thread maps\_utility::smart_radio_dialogue(common_scripts\utility::random(var_01)); + break; + + case "back": + self._walk.punishment_level["back"]++; + var_00 = self._walk.punishment_level["back"]; + thread maps\_utility::smart_radio_dialogue(common_scripts\utility::random(var_01)); + break; + + case "left": + self._walk.punishment_level["left_right"]++; + var_00 = self._walk.punishment_level["left_right"]; + thread maps\_utility::smart_radio_dialogue(common_scripts\utility::random(var_02)); + thread punishment_anim("s2walk_punish_left"); + break; + + case "right": + self._walk.punishment_level["left_right"]++; + var_00 = self._walk.punishment_level["left_right"]; + thread maps\_utility::smart_radio_dialogue(common_scripts\utility::random(var_02)); + thread punishment_anim("s2walk_punish_right"); + break; + + case "look_left": + self._walk.punishment_level["look"]++; + var_00 = self._walk.punishment_level["look"]; + thread maps\_utility::smart_radio_dialogue(common_scripts\utility::random(var_03)); + thread punishment_anim("s2walk_punish_left"); + break; + + case "look_right": + self._walk.punishment_level["look"]++; + var_00 = self._walk.punishment_level["look"]; + thread maps\_utility::smart_radio_dialogue(common_scripts\utility::random(var_03)); + thread punishment_anim("s2walk_punish_right"); + break; + } + + self freezecontrols(1); + var_04 = var_00 * 20; + self dodamage(var_04,self.origin); + screenshake(self.origin,var_00,var_00,var_00,1,0,1,256,8,15,12,5); + soundscripts\_snd::snd_message("aud_plr_hit"); + self playerlinktoblend(self._walk.pushpoint,"tag_origin",0.5,0,0.5); + wait(0.5); + self unlink(); + self freezecontrols(0); + self.punishment = undefined; + common_scripts\utility::flag_clear("flag_stop_mover"); + } +} + +//Function Number: 21 +punishment_anim(param_00) +{ + level endon("stop_walk"); + player_hands_idle_stop(); + level.player.rig maps\_anim::anim_single_solo(level.player.rig,param_00); + player_hands_idle_start(); +} + +//Function Number: 22 +punishment_recovery() +{ + foreach(var_02, var_01 in self._walk.punishment_level) + { + if(self._walk.punishment_level[var_02] > 0) + { + self._walk.punishment_level[var_02]--; + } + } +} + +//Function Number: 23 +punishment_push(param_00) +{ +} + +//Function Number: 24 +set_origin_per_time(param_00,param_01,param_02) +{ + self endon("death"); + for(;;) + { + self.origin = averagepoint([param_00.origin,param_01.origin]); + wait(param_02); + } +} + +//Function Number: 25 +goal_mover(param_00,param_01) +{ + self notify("stop_goalmover"); + self endon("stop_goalmover"); + level.player endon("beaten_to_death"); + level endon("stop_walk"); + var_02 = 80; + var_03 = self; + self.at_goal = 0; + param_00.at_goal = 0; + for(;;) + { + if(isdefined(var_03.target)) + { + var_03 = common_scripts\utility::getstruct(var_03.target,"targetname"); + if(!isdefined(var_03)) + { + var_03 = getent(var_03.target,"targetname"); + } + } + else + { + self.at_goal = 1; + break; + } + + var_04 = distance(self.origin,var_03.origin); + var_05 = vectornormalize(var_03.origin - self.origin); + var_06 = var_04 / level.player._walk.walk_speed + level.player._walk.player_move_mod; + var_07 = var_04 / var_06 * 0.05; + var_08 = 0; + while(var_08 <= var_06) + { + common_scripts\utility::flag_waitopen("flag_stop_mover"); + if(isdefined(param_00) && !param_00.at_goal) + { + var_09 = distance(self.origin,param_00.origin); + while(var_09 < var_02) + { + var_09 = distance(self.origin,param_00.origin); + wait(0.5); + } + } + else + { + param_00 = undefined; + } + + if(isdefined(param_01)) + { + self rotateto(vectortoangles(param_01.origin - self.origin),1); + } + + self moveto(self.origin + var_05 * var_07,0.05); + wait(0.05); + var_08 = var_08 + 0.05; + } + } +} + +//Function Number: 26 +elevator_ride_s2s3() +{ + common_scripts\utility::flag_wait("flag_player_in_s2s3_room"); + level waittill("elevator_black"); + common_scripts\utility::flag_set("flag_s2elevator_end"); +} + +//Function Number: 27 +s2elevator_trolley_intro_scene(param_00,param_01,param_02) +{ + var_03 = common_scripts\utility::getstruct("struct_scene_s2elevator","targetname"); + if(!isdefined(param_01)) + { + return; + } + + level waittill("trolley_guard_3_start"); + param_02 notify("s2walk_intro_trolley_loop_ender"); + var_03 thread maps\_anim::anim_single_solo(param_01,"s2walk_intro_trolley"); + level waittill("trolley_player_start"); + player_walk_end(); + var_04 = maps\_utility::spawn_anim_model("player_rig_noexo"); + var_05 = var_04 thread maps\captured_util::captured_player_cuffs(); + var_05 hide(); + var_04 hide(); + level.player common_scripts\utility::delaycall(17.3,::playrumbleonentity,"heavy_1s"); + level.player common_scripts\utility::delaycall(18.35,::playrumbleonentity,"light_3s"); + var_03 thread maps\_anim::anim_single_solo(var_04,"s2walk_intro_trolley"); + level.player playerlinktoblend(var_04,"tag_player",0.5); + wait(0.5); + level.player playerlinktodelta(var_04,"tag_player",0.5,30,30,20,20,1); + var_05 show(); + var_04 show(); + wait(getanimlength(var_04 maps\_utility::getanim("s2walk_intro_trolley"))); + maps\_utility::array_delete(param_00); + var_04 delete(); + var_05 delete(); +} + +//Function Number: 28 +trolley_doors_function() +{ + var_00 = common_scripts\utility::getstruct("struct_scene_s2elevator","targetname"); + var_01 = maps\_utility::spawn_anim_model("trolley_guard_door_1"); + var_00 maps\_anim::anim_first_frame_solo(var_01,"s2walk_intro_trolley"); + var_02 = maps\_utility::spawn_anim_model("trolley_guard_door_2"); + var_00 maps\_anim::anim_first_frame_solo(var_02,"s2walk_intro_trolley"); + var_03 = maps\_utility::spawn_anim_model("trolley_gate"); + var_00 maps\_anim::anim_first_frame_solo(var_03,"s2walk_intro_trolley"); + var_04 = spawn("script_model",(5372,-8116,-592)); + var_04 setmodel("tag_origin"); + var_03 retargetscriptmodellighting(var_04); + var_05 = []; + for(var_06 = 0;var_06 < 4;var_06++) + { + var_07 = var_06 + 1; + var_08 = "trolley_zip_" + var_07; + var_09 = maps\_utility::spawn_anim_model(var_08); + var_00 maps\_anim::anim_first_frame_solo(var_09,"s2walk_intro_trolley"); + var_05 = common_scripts\utility::array_add(var_05,var_09); + } + + level waittill("trolley_guard_3_door_1"); + var_00 thread maps\_anim::anim_single_solo(var_01,"s2walk_intro_trolley"); + level waittill("trolley_guard_3_door_2"); + var_00 thread maps\_anim::anim_single_solo(var_02,"s2walk_intro_trolley"); + level waittill("trolley_zip_start"); + var_00 thread maps\_anim::anim_single(var_05,"s2walk_intro_trolley"); + level waittill("trolley_gate"); + var_00 thread maps\_anim::anim_single_solo(var_03,"s2walk_intro_trolley"); + level waittill("trolley_doctor_start"); + soundscripts\_snd::snd_message("aud_s2walk_clear_foley_mix"); + var_0A = getent("trolley_doctor","targetname"); + var_0B = var_0A maps\_utility::spawn_ai(1); + var_0B.animname = "drug_doctor"; + var_0C = maps\_utility::spawn_anim_model("trolley_syringe"); + var_0D = [var_0B,var_0C]; + var_00 thread maps\_anim::anim_single(var_0D,"s2walk_intro_trolley"); + thread maps\captured::dialogue_doctor_trolley(var_0B); + wait(getanimlength(var_0B maps\_utility::getanim("s2walk_intro_trolley")) - 3.05); + thread s2elevator_fade_transition(); + common_scripts\utility::flag_wait("flag_s2elevator_end"); + var_01 delete(); + var_02 delete(); + var_03 delete(); + var_0B delete(); + maps\_utility::array_delete(var_05); +} + +//Function Number: 29 +nt_trolley_guard_start(param_00) +{ + level notify("trolley_guard_3_start"); +} + +//Function Number: 30 +nt_trolley_player_start(param_00) +{ + level notify("trolley_player_start"); +} + +//Function Number: 31 +nt_trolley_zip_start(param_00) +{ + level notify("trolley_zip_start"); +} + +//Function Number: 32 +nt_trolley_doctor_start(param_00) +{ + level notify("trolley_doctor_start"); +} + +//Function Number: 33 +nt_trolley_door_01(param_00) +{ + level notify("trolley_guard_3_door_1"); +} + +//Function Number: 34 +nt_trolley_door_02(param_00) +{ + level notify("trolley_guard_3_door_2"); +} + +//Function Number: 35 +nt_trolley_gate(param_00) +{ + level notify("trolley_gate"); +} + +//Function Number: 36 +s2elevator_fade_transition() +{ + var_00 = maps\_hud_util::create_client_overlay("black",0,level.player); + var_00 fadeovertime(3); + var_00.alpha = 1; + wait(4); + level notify("elevator_black"); + wait(3); + if(level.currentgen) + { + if(!istransientloaded("captured_interrogate_tr")) + { + level waittill("tff_post_s2walk_to_interrogate"); + } + } + + var_00 fadeovertime(5); + var_00.alpha = 0; + wait(5); + var_00 destroy(); +} + +//Function Number: 37 +helicopter_flyby() +{ + level waittill("start_helicopter_fly"); + level notify("s1_looping_prisoner"); + var_00 = getent("first_walk_helo","script_noteworthy"); + var_01 = var_00 maps\_vehicle::spawn_vehicle_and_gopath(); + var_01 vehicle_turnengineoff(); + var_01 waittill("reached_dynamic_path_end"); + var_01 delete(); + level waittill("start_helicopter_fly"); + level thread maps\captured_fx::fx_walk_heli_flyby(); + var_00 = getent("second_walk_helo","script_noteworthy"); + var_01 = var_00 maps\_vehicle::spawn_vehicle_and_gopath(); + var_01 vehicle_turnengineoff(); + var_01 waittill("reached_dynamic_path_end"); + var_01 delete(); +} \ No newline at end of file diff --git a/AW/PC/maps/captured_s3.gsc b/AW/PC/maps/captured_s3.gsc new file mode 100644 index 0000000..d98b408 --- /dev/null +++ b/AW/PC/maps/captured_s3.gsc @@ -0,0 +1,1126 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: captured_s3.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 42 + * Decompile Time: 608 ms + * Timestamp: 4/22/2024 2:26:34 AM +*******************************************************************/ + +//Function Number: 1 +pre_load() +{ +} + +//Function Number: 2 +post_load() +{ + common_scripts\utility::flag_init("s3_escape_exit_door_open"); + common_scripts\utility::flag_init("flag_scene_doctor_done"); + common_scripts\utility::flag_init("flag_injured_player_active"); + common_scripts\utility::flag_init("flag_s3escape_doctor"); + common_scripts\utility::flag_init("flag_s3guard_security_door_shuts"); + common_scripts\utility::flag_init("s3_player_pickedup_console_gun"); + common_scripts\utility::flag_init("s3_interrogation_player_ready"); + common_scripts\utility::flag_init("s3_interrogation_allies_ready"); + common_scripts\utility::flag_init("lgt_flag_interrogation_esc"); + common_scripts\utility::flag_init("lgt_flag_interrogation_begin"); + common_scripts\utility::flag_init("lgt_flag_interrogation_esc_done"); + if(isdefined(common_scripts\utility::getstruct("struct_interrogation_scene","targetname"))) + { + thread setup_spawners(); + } +} + +//Function Number: 3 +setup_spawners() +{ + maps\_utility::array_spawn_function(getentarray("actor_s3_interrogation","targetname"),::opfor_interrogation); + maps\_utility::array_spawn_function(getentarray("s3_escape_main_room_guards","targetname"),::maps\captured_medical::opfor_ah); + maps\_utility::array_spawn_function(getentarray("s3escape_hall_enemies","targetname"),::maps\captured_medical::opfor_ah); +} + +//Function Number: 4 +opfor_interrogation() +{ + self endon("death"); + self.no_pain_sound = 1; + self.allowpain = 0; + self.diequietly = 1; + self.nocorpsedelete = 1; + self.noragdoll = 1; + if(isdefined(self.script_parameters)) + { + self.animname = self.script_parameters; + } + + maps\_utility::gun_remove(); + if(!isdefined(self.script_parameters) || self.script_parameters != "irons") + { + maps\_utility::place_weapon_on("iw5_titan45onearmgundown_sp","right"); + } + + maps\captured_util::ignore_everything(); + self.allowdeath = 1; +} + +//Function Number: 5 +start(param_00) +{ + level.player disableweapons(); + level.player disableoffhandweapons(); + level.player disableweaponswitch(); + thread maps\_utility::battlechatter_off("allies"); + thread maps\_utility::battlechatter_off("axis"); + level.player maps\captured_util::warp_to_start(param_00); + if(issubstr(level.start_point,"s3trolley")) + { + setsaveddvar("g_friendlyNameDist",0); + iprintln("The trolley start point has been removed"); + return; + } + + if(issubstr(level.start_point,"s3interrogate")) + { + setsaveddvar("g_friendlyNameDist",0); + return; + } + + if(issubstr(level.start_point,"escape")) + { + common_scripts\utility::flag_set("s3_interrogation_allies_ready"); + level.player.mover = common_scripts\utility::spawn_tag_origin(); + getent("glass_interrogation_before","targetname") delete(); + common_scripts\utility::flag_set("flag_injured_player_active"); + level.player thread injured_player_blur(); + return; + } +} + +//Function Number: 6 +main_s3trolley() +{ +} + +//Function Number: 7 +main_s3interrogate() +{ + if(level.currentgen) + { + if(!istransientloaded("captured_interrogate_tr")) + { + level waittill("tff_post_s2walk_to_interrogate"); + } + } + + level thread s3_interrogate_doctor_scene(); + var_00 = common_scripts\utility::getstruct("struct_interrogation_scene","targetname"); + var_01 = maps\_utility::array_spawn(getentarray("actor_s3_interrogation","targetname")); + var_02 = common_scripts\utility::array_combine(var_01,level.allies); + var_03 = maps\_utility::spawn_anim_model("torque_wrench"); + var_04 = [maps\_utility::spawn_anim_model("stockade_01"),maps\_utility::spawn_anim_model("stockade_02")]; + var_00 maps\_anim::anim_first_frame(common_scripts\utility::add_to_array(var_04,var_03),"s3_interrogation"); + level.breakout_glass = [maps\_utility::spawn_anim_model("breakout_window_1"),maps\_utility::spawn_anim_model("breakout_window_2")]; + common_scripts\utility::getstruct("struct_interrogation_glass","targetname") thread maps\_anim::anim_first_frame(level.breakout_glass,"s3_breakout_break"); + common_scripts\utility::array_call(level.breakout_glass,::hide); + var_05 = spawn("script_model",(5000,-9928,-1748)); + var_05 setmodel("tag_origin"); + foreach(var_07 in level.breakout_glass) + { + var_07 common_scripts\utility::delaycall(0.5,::retargetscriptmodellighting,var_05); + var_07 common_scripts\utility::delaycall(0.5,::overridereflectionprobe,var_05.origin); + } + + foreach(var_0A in level.allies) + { + var_0A maps\_utility::gun_remove(); + if(var_0A.animname != "ally_2" && !isdefined(var_0A.hasattachedprops)) + { + var_0A attach("s1_captured_handcuffs","tag_weapon_left"); + var_0A.hasattachedprops = 1; + continue; + } + + if(var_0A.animname == "ally_2" && isdefined(var_0A.hasattachedprops)) + { + var_0A detach("s1_captured_handcuffs","tag_weapon_left"); + var_0A.hasattachedprops = undefined; + } + } + + if(level.currentgen) + { + level.player lerpfov(60,0); + } + else + { + level.player lerpfov(50,0); + } + + level.player unlink(); + level.player takeallweapons(); + level.player allowmelee(0); + level.player allowstand(1); + level.player allowcrouch(0); + level.player allowprone(0); + level.player allowsprint(0); + level.player allowjump(0); + var_0C = [maps\_utility::spawn_anim_model("player_rig_noexo"),maps\_utility::spawn_anim_model("player_rig_smashed_noexo")]; + var_0C[0].toggle = var_0C[1]; + var_0C[1].toggle = var_0C[0]; + var_00 maps\_anim::anim_first_frame(var_0C,"s3_interrogation"); + var_0C[1] hide(); + wait(0.05); + level.player maps\captured_util::smooth_player_link(var_0C[0],0.05); + soundscripts\_snd::snd_message("aud_interrogation_scene"); + common_scripts\utility::flag_set("lgt_flag_interrogation_begin"); + setsaveddvar("r_adaptiveSubdiv",0); + var_0D = getanimlength(var_0C[0] maps\_utility::getanim("s3_interrogation")); + var_00 thread maps\_anim::anim_single(var_02,"s3_interrogation"); + var_00 thread maps\_anim::anim_single(var_04,"s3_interrogation"); + var_00 thread maps\_anim::anim_single([var_0C[0],var_0C[1],var_03],"s3_interrogation"); + var_0E = common_scripts\utility::spawn_tag_origin(); + foreach(var_10 in getentarray("model_s3interrogation_doorin","targetname")) + { + var_10 linkto(var_0E); + } + + wait(10); + var_0E moveto(var_0E.origin - (0,90,0),2,2,0); + level.player common_scripts\utility::delaycall(114.3,::playrumbleonentity,"heavy_2s"); + level.player common_scripts\utility::delaycall(118.1,::playrumbleonentity,"heavy_2s"); + wait(var_0D - 20); + var_12 = maps\_hud_util::create_client_overlay("black",0,level.player); + var_12 thread s3_fade_over_time(1,10); + wait(6); + var_0E moveto(var_0E.origin + (0,90,0),2,2,0); + wait(4); + maps\_utility::array_delete(var_01); + var_01 = maps\_utility::array_spawn(getentarray("actor_s3_breakout","script_noteworthy")); + common_scripts\_exploder::exploder("fx_rescue_guard_2_blood_pool"); + soundscripts\_snd::snd_message("aud_rescue_drone"); + level.player lerpfov(55,0); + wait(3); + soundscripts\_snd::snd_message("aud_cap_interrogation_transition_vo"); + wait(6); + common_scripts\utility::flag_set("flag_injured_player_active"); + level.player thread injured_player_blur(); + var_12 maps\_utility::delaythread(0.25,::s3_fade_over_time,0,3); + maps\_utility::delaythread(getanimlength(level.ally maps\_utility::getanim("s3_breakout")),::common_scripts\utility::flag_set,"s3_interrogation_allies_ready"); + level.player common_scripts\utility::delaycall(23.5,::lerpfov,65,4); + maps\_utility::delaythread(24.75,::breakout_opfor_cleanup,var_00,var_01,var_04,var_03); + level.player common_scripts\utility::delaycall(24,::playerlinktodelta,var_0C[1],"tag_player",0.5,20,30,15,15,1); + level.player common_scripts\utility::delaycall(24,::enableslowaim,0.3,0.15); + var_00 thread maps\captured_anim::anim_single_to_loop([level.allies[1],level.allies[2]],"s3_breakout","s3_breakout_loop","leave_interrogation_room_allies"); + var_00 thread maps\captured_anim::anim_single_to_loop(level.ally,"s3_breakout","s3_breakout_loop","leave_interrogation_room"); + var_00 thread maps\_anim::anim_single(var_01,"s3_breakout"); + var_00 thread maps\_anim::anim_single(var_04,"s3_breakout"); + var_00 maps\_anim::anim_single(var_0C,"s3_breakout"); + setsaveddvar("r_adaptiveSubdiv",1); + foreach(var_0A in level.allies) + { + if(isdefined(var_0A.hasattachedprops)) + { + var_0A detach("s1_captured_handcuffs","tag_weapon_left"); + var_0A.hasattachedprops = undefined; + } + } + + maps\_utility::flagwaitthread("s3_interrogation_player_ready",::maps\_utility::autosave_now); + setsaveddvar("g_friendlyNameDist",level.friendlynamedist); + level.player allowmelee(1); + level.player allowstand(1); + level.player allowcrouch(1); + level.player allowprone(1); + level.player allowjump(1); + level.player disableslowaim(); + level.player unlink(); + common_scripts\utility::array_call(var_0C,::delete); + common_scripts\utility::flag_set("flag_s3interrogate_end"); +} + +//Function Number: 8 +s3_toggle_rig(param_00) +{ + param_00 show(); + param_00.toggle hide(); +} + +//Function Number: 9 +s3_interrogate_doctor_scene() +{ + if(level.currentgen) + { + return; + } + + var_00 = maps\_utility::spawn_targetname("actor_interrogation_doctor"); + var_00.animname = "doctor"; + var_00 maps\_utility::gun_remove(); + var_00 maps\captured_util::ignore_everything(); + var_01 = common_scripts\utility::getstruct("s3_interrogate_hanging_body","targetname"); + var_02 = spawn("script_model",var_01.origin); + var_02.angles = var_01.angles; + var_02 setmodel("cap_morgue_body_c"); + var_03 = common_scripts\utility::getstruct("anim_interrogation_doctor","targetname"); + var_03 thread maps\_anim::anim_loop([var_00],"autopsy_doctor_loop_start","stop_interrogate_doctor"); + common_scripts\utility::flag_wait("s3_escape_exit_door_open"); + var_03 notify("stop_interrogate_doctor"); + var_00 delete(); + var_02 delete(); +} + +//Function Number: 10 +s3_fade_over_time(param_00,param_01) +{ + self fadeovertime(param_01); + self.alpha = param_00; +} + +//Function Number: 11 +s3_break_glass(param_00) +{ + common_scripts\utility::array_call(level.breakout_glass,::show); + common_scripts\utility::getstruct("struct_interrogation_glass","targetname") thread maps\_anim::anim_single(level.breakout_glass,"s3_breakout_break"); + common_scripts\_exploder::exploder("fx_int_glass_shatter"); + common_scripts\_exploder::kill_exploder("fx_int_guard_fire_3"); + common_scripts\_exploder::kill_exploder("fx_int_guard_fire_4"); + common_scripts\_exploder::kill_exploder("fx_int_guard_fire_5"); + getent("glass_interrogation_before","targetname") delete(); + common_scripts\utility::flag_wait("s3_escape_exit_door_open"); + common_scripts\utility::array_call(level.breakout_glass,::delete); +} + +//Function Number: 12 +breakout_opfor_cleanup(param_00,param_01,param_02,param_03) +{ + foreach(var_05 in param_01) + { + var_05 setanimrate(var_05 maps\_utility::getanim("s3_breakout"),0); + var_05 maps\captured_util::kill_no_react(); + } + + common_scripts\utility::flag_wait("s3_escape_exit_door_open"); + common_scripts\utility::array_call(param_02,::delete); + param_03 delete(); + foreach(var_08 in level.allies) + { + if(isdefined(var_08.cuff)) + { + var_08.cuff delete(); + } + } +} + +//Function Number: 13 +main_s3escape() +{ + level.player thread injured_player_wobble(); + common_scripts\utility::array_thread(level.allies,::maps\_utility::enable_cqbwalk); + thread maps\captured_util::physics_bodies_on("escape_bodies_1",0,1); + thread slow_player_scaler(); + var_00 = common_scripts\utility::getstruct("struct_scene_s3escape_takedown","targetname"); + var_01 = maps\_utility::spawn_anim_model("takedown_monitor"); + var_00 maps\_anim::anim_first_frame_solo(var_01,"s3escape_takedown"); + thread s3_escape_outer_door(); + var_02 = getent("s3_escape_large_security_door","targetname"); + var_02 moveto(var_02.origin + (0,0,112),1,0.2,0.05); + var_03 = getentarray("s3_escape_elevator","targetname"); + var_04 = undefined; + foreach(var_06 in var_03) + { + if(var_06.classname == "script_brushmodel") + { + var_04 = var_06; + } + } + + foreach(var_06 in var_03) + { + if(var_06.classname == "script_model") + { + var_06 linkto(var_04); + } + } + + var_04 moveto(var_04.origin + (0,0,150),1.5,0.2,0.05); + common_scripts\utility::flag_wait_all("s3_interrogation_player_ready","s3_interrogation_allies_ready"); + var_0A = common_scripts\utility::getstruct("struct_scene_s3escape_hallway","targetname"); + while(!common_scripts\utility::within_fov(level.player.origin,level.player.angles,var_0A.origin,0.8)) + { + wait(0.05); + } + + level notify("leave_interrogation_room"); + thread s3escape_intro_scene(var_0A); + common_scripts\utility::flag_wait("flag_s3escape_hall"); + thread s3escape_doctor_scene(); + common_scripts\utility::flag_wait("flag_scene_doctor_done"); + common_scripts\utility::flag_waitopen("flag_s3escape_hall"); + var_0A notify("s3escape_hallway_gideon_ender"); + common_scripts\utility::flag_set("flag_injured_player_active"); + var_0A = s3_enter_security_room(var_0A,var_01); + s3_splitup_event(var_0A); + common_scripts\utility::flag_wait("flag_s3escape_end"); +} + +//Function Number: 14 +s3escape_console_setup() +{ + setsaveddvar("cg_cinematicfullscreen","0"); + cinematicingame("captured_elevator_controls",0,1,1); + if(!iscinematicplaying()) + { + wait(0.1); + } + + wait(1); + pausecinematicingame(1); + var_00 = getscriptablearray("s3_escape_console_monitor","targetname"); + level.s3_escape_console_monitor = var_00[0]; + if(!common_scripts\utility::flag_exist("s3_escape_console_monitor_unfreeze")) + { + common_scripts\utility::flag_init("s3_escape_console_monitor_unfreeze"); + } + + while(!common_scripts\utility::flag("s3_escape_console_monitor_unfreeze")) + { + level.s3_escape_console_monitor setscriptablepartstate(0,0); + wait(0.2); + if(!common_scripts\utility::flag("s3_escape_console_monitor_unfreeze")) + { + level.s3_escape_console_monitor setscriptablepartstate(0,1); + wait(0.2); + } + } +} + +//Function Number: 15 +s3escape_console_pause_checkpoint() +{ + if(!iscinematicplaying()) + { + wait(0.05); + } + + wait(0.6); + pausecinematicingame(1); +} + +//Function Number: 16 +s3escape_console_cinematic_watcher() +{ + wait(1); + pausecinematicingame(0); + while(cinematicgettimeinmsec() < 10270) + { + wait 0.05; + } + + wait(1); + level.s3_escape_console_monitor setscriptablepartstate(0,3); +} + +//Function Number: 17 +s3escape_intro_scene(param_00) +{ + if(level.currentgen) + { + if(!istransientloaded("captured_escape_tr")) + { + level waittill("tff_post_load_escape"); + } + } + + var_01 = common_scripts\utility::getstruct("struct_interrogation_scene","targetname"); + var_01 notify("leave_interrogation_room"); + var_02 = common_scripts\utility::spawn_tag_origin(); + foreach(var_04 in getentarray("model_s3escape_doorout","targetname")) + { + var_04 linkto(var_02); + } + + if(level.currentgen) + { + var_06 = getent("model_s3escape_doorout_coll","targetname"); + var_06 linkto(var_02); + var_06 connectpaths(); + } + + var_02 moveto(var_02.origin + (0,90,0),2,2,0); + soundscripts\_snd::snd_message("aud_door","rescue"); + var_07 = level.allies; + foreach(var_09 in var_07) + { + var_09 maps\captured_util::ignore_everything(); + var_09 maps\_utility::gun_remove(); + } + + param_00 thread maps\captured_anim::anim_single_to_loop(var_07[0],"s3escape_hallway","s3escape_hallway_loop","s3escape_hallway_gideon_ender"); + common_scripts\utility::flag_wait("flag_s3escape_hall"); + common_scripts\utility::flag_waitopen("flag_s3escape_hall"); + var_01 notify("leave_interrogation_room_allies"); + param_00 thread maps\captured_anim::anim_single_to_loop(var_07[1],"s3escape_hallway","s3escape_hallway_loop","s3escape_hallway_ender"); + param_00 thread maps\captured_anim::anim_single_to_loop(var_07[2],"s3escape_hallway","s3escape_hallway_loop","s3escape_hallway_ender"); + if(level.currentgen) + { + wait(3); + common_scripts\utility::flag_wait("flag_tff_allow_interrogate_unload"); + var_06 = getent("model_s3escape_doorout_coll","targetname"); + var_06 disconnectpaths(); + var_02 moveto(var_02.origin - (0,90,0),0.25,0.25,0); + wait(1); + common_scripts\utility::flag_set("flag_tff_unload_interrogate"); + } +} + +//Function Number: 18 +s3escape_doctor_scene() +{ + level endon("s3escape_player_killed_doctor"); + var_00 = common_scripts\utility::getstruct("s3_escape_doctor_scene","targetname"); + var_01 = maps\_utility::spawn_targetname("s3secape_doctor",1); + var_01 maps\captured_util::ignore_everything(); + var_01.animname = "doctor"; + var_02 = spawn("script_model",var_00.origin); + var_02 setmodel("cap_hanging_bodybag"); + var_02.animname = "escape_bodybag"; + var_02 maps\_anim::setanimtree(); + var_03 = spawn("script_model",var_02.origin); + var_03 setmodel("trolley_block"); + var_03 linkto(var_02,"tag_origin",(0,0,6),(0,0,0)); + var_04 = spawn("script_model",var_00.origin); + var_04 setmodel("det_patient_chart_01"); + var_04.animname = "escape_clipboard"; + var_04 maps\_anim::setanimtree(); + var_05 = [var_01,var_02,var_04]; + var_06 = common_scripts\utility::spawn_tag_origin(); + foreach(var_08 in getentarray("model_s3escape_docdoor","targetname")) + { + var_08 linkto(var_06); + } + + common_scripts\utility::flag_clear("flag_injured_player_active"); + common_scripts\utility::flag_set("lgt_flag_interrogation_esc"); + soundscripts\_snd::snd_message("aud_escape_doctor_bodybag"); + var_06 common_scripts\utility::delaycall(7.5,::moveto,var_06.origin,1.5,1.5,0); + var_06 moveto(var_06.origin + (0,90,0),1.5,1.5,0); + maps\_utility::delaythread(7.5,::common_scripts\utility::flag_set,"flag_scene_doctor_done"); + var_00 maps\_anim::anim_single(var_05,"s3escape_doctor_scene"); + var_05 = maps\_utility::remove_dead_from_array(var_05); + common_scripts\utility::array_call(var_05,::delete); + common_scripts\utility::flag_set("lgt_flag_interrogation_esc_done"); +} + +//Function Number: 19 +s3_escape_deathwatcher(param_00) +{ + self waittill("damage"); + param_00 stopanimscripted(); + param_00 delete(); + if(isalive(self)) + { + self stopanimscripted(); + self kill(); + } + + common_scripts\utility::flag_set("flag_scene_doctor_done"); +} + +//Function Number: 20 +s3escape_doctor_kill(param_00) +{ + level waittill("s3escape_player_killed_doctor"); + iprintlnbold("[ Player kills the doctor. ]"); + param_00 delete(); +} + +//Function Number: 21 +s3escape_doctor_killbox_prompt() +{ + level endon("s3escape_doctor_survived"); + common_scripts\utility::flag_wait("s3escape_doctor_killbox"); + for(;;) + { + if(common_scripts\utility::flag("s3escape_doctor_killbox")) + { + if(level.player meleebuttonpressed()) + { + level notify("s3escape_player_killed_doctor"); + break; + } + } + + wait(0.05); + } +} + +//Function Number: 22 +s3_enter_security_room(param_00,param_01) +{ + var_02 = level.allies; + var_03 = common_scripts\utility::getstruct("struct_scene_s3escape_hallway","targetname"); + var_04 = common_scripts\utility::getstruct("struct_scene_s3escape_takedown","targetname"); + var_05 = maps\_utility::spawn_anim_model("controlroom_entrance_door"); + var_06 = getent("s3_escape_controlroom_entrance_col","targetname"); + var_04 maps\_anim::anim_first_frame_solo(var_05,"s3escape_takedown"); + var_04 thread s3_escape_sliding_door_player(var_05,var_06,"s3escape_takedown"); + var_07 = maps\_utility::spawn_anim_model("takedown_gun_gideon"); + var_04 maps\_anim::anim_first_frame_solo(var_07,"s3escape_takedown"); + var_08 = getent("s3escape_guard_1","targetname"); + var_09 = maps\_utility::dronespawn_bodyonly(var_08); + var_09.animname = "guard_1"; + var_09 maps\captured_util::ignore_everything(); + var_09.diequietly = 1; + var_09 maps\_utility::clear_deathanim(); + var_09.noragdoll = 1; + var_09 maps\_utility::gun_remove(); + var_09.no_ai = 1; + var_09.allowpain = 0; + var_09.skipdeathanim = 1; + var_09.dont_break_anim = 1; + var_0A = spawn("script_model",var_04.origin); + var_0A setmodel("cap_lab_chair"); + var_0A.animname = "takedown_chair"; + var_0A maps\_anim::setanimtree(); + var_0B = [var_09,var_0A,param_01]; + var_04 thread maps\_anim::anim_loop(var_0B,"s3escape_hallway_end_loop","s3escape_hallway_door_ender"); + var_03 thread maps\captured_anim::anim_single_to_loop(var_02[0],"s3escape_hallway_end","s3escape_hallway_end_loop","s3escape_hallway_door_gideon_ender",var_04); + wait(getanimlength(%cap_s3_escape_hallway_cormack_01_end)); + common_scripts\utility::flag_wait("flag_s3_escape_at_security_room"); + param_00 notify("s3escape_hallway_ender"); + var_03 thread maps\captured_anim::anim_single_to_loop(var_02[1],"s3escape_hallway_end","s3escape_hallway_end_loop","s3escape_hallway_door_ender",var_04); + var_03 thread maps\captured_anim::anim_single_to_loop(var_02[2],"s3escape_hallway_end","s3escape_hallway_end_loop","s3escape_hallway_door_ender",var_04); + var_04 notify("s3escape_hallway_door_gideon_ender"); + soundscripts\_snd::snd_message("aud_stop_headspace_ambience"); + thread maps\captured::dialogue_guardroom_door(var_09); + var_04 thread maps\captured_anim::anim_single_to_loop(level.allies[0],"s3escape_takedown","s3escape_takedown_loop","s3escape_takedown_gideon_ender"); + var_04 thread s3escape_gideon_gun_anim(var_07); + var_04 thread maps\_anim::anim_single(var_0B,"s3escape_takedown"); + wait(getanimlength(%cap_s3_escape_takedown_guard_01) - 0.05); + var_09 setanimrate(%cap_s3_escape_takedown_guard_01,0); + level notify("s3_escape_guard_down"); + var_04 notify("s3escape_hallway_door_ender"); + var_04 thread maps\captured_anim::anim_single_to_loop(level.allies[1],"s3escape_takedown","s3escape_takedown_loop","s3escape_takedown_ender"); + var_04 thread maps\captured_anim::anim_single_to_loop(level.allies[2],"s3escape_takedown","s3escape_takedown_loop","s3escape_takedown_ender"); + var_0C = maps\_utility::spawn_anim_model("takedown_gun"); + var_0C hidepart("tag_rail_master_on"); + var_04 maps\_anim::anim_first_frame_solo(var_0C,"s3escape_takedown"); + var_0C hide(); + var_0D = common_scripts\utility::getstruct("s3_escape_get_weapon_marker","targetname"); + var_0E = spawn("script_origin",var_0D.origin); + var_0E makeusable(); + var_0E maps\_utility::addhinttrigger(&"CAPTURED_HINT_TAKE_CONSOLE",&"CAPTURED_HINT_TAKE_PC"); + maps\captured_actions::s3_escape_gun_action(var_0E,var_0C); + level.player soundscripts\_snd::snd_message("aud_escape_give_gun_exo"); + var_0E delete(); + level.player disableweapons(); + var_0F = maps\_utility::spawn_anim_model("player_rig_noexo"); + var_0F hide(); + var_10 = [var_0F,var_09]; + setsaveddvar("g_friendlyNameDist",0); + level.player setstance("stand"); + level.player allowcrouch(0); + level.player allowjump(0); + level.player allowprone(0); + var_11 = getanimlength(var_0F maps\_utility::getanim("s3escape_takedown_start")); + thread s3escape_fade_to_black(var_11); + var_04 thread s3_escape_player_exo_and_gun_anim(var_10,var_09,var_0F,var_0C,var_11); + level waittill("s3_escape_player_got_gun"); + var_04 s3_escape_ally_gun_help_anim(var_07); + return var_04; +} + +//Function Number: 23 +s3_escape_outer_door() +{ + var_00 = common_scripts\utility::getstruct("struct_scene_s3escape_takedown","targetname"); + var_01 = spawn("script_model",var_00.origin); + var_01 setmodel("cpt_hinge_door_rght_01"); + var_02 = getent("s3_escape_security_door_col","targetname"); + var_02 linkto(var_01,"j_bone_door_right",(28,1.5,48),(0,0,0)); + var_01.animname = "takedown_door"; + var_01 maps\_anim::setanimtree(); + var_00 maps\_anim::anim_first_frame_solo(var_01,"s3escape_takedown"); + level waittill("s3_outer_door_open"); + var_01 thread soundscripts\_snd::snd_message("aud_escape_guard_takedown_door"); + var_00 maps\_anim::anim_single_solo(var_01,"s3escape_takedown"); +} + +//Function Number: 24 +s3escape_gideon_gun_anim(param_00) +{ + maps\_anim::anim_single_solo(param_00,"s3escape_takedown"); + if(!isremovedentity(param_00)) + { + param_00 hide(); + } + + level.allies[0] maps\_utility::gun_recall(); + level.allies[0] showallparts(); +} + +//Function Number: 25 +s3_escape_sliding_door_player(param_00,param_01,param_02,param_03) +{ + var_04 = self; + param_01 linkto(param_00); + var_04 waittill("s3_escape_open_door"); + if(param_02 == "s3escape_takedown") + { + soundscripts\_snd::snd_message("aud_door","control_rm","open"); + } + else + { + soundscripts\_snd::snd_message("aud_door","control_rm_exit","open"); + } + + var_04 maps\_anim::anim_single_solo(param_00,param_02); + var_04 waittill("s3_close_sliding_door"); + soundscripts\_snd::snd_message("aud_door","control_rm","close"); + if(isdefined(param_03)) + { + param_00 moveto(param_00.origin + (0,53,0),1,0.25,0.25); + } + else + { + param_00 moveto(param_00.origin - (0,53,0),1,0.25,0.25); + } + + common_scripts\utility::flag_wait("flag_test_chamber_end"); + param_00 delete(); + param_01 delete(); +} + +//Function Number: 26 +s3_escape_door_notetrack(param_00) +{ + level notify("s3_outer_door_open"); +} + +//Function Number: 27 +s3_escape_player_gun(param_00) +{ + level notify("s3_escape_player_got_gun"); + soundscripts\_snd::snd_music_message("mus_captured_escape"); +} + +//Function Number: 28 +s3_escape_controlroom_door_notetrack(param_00) +{ + soundscripts\_snd::snd_message("aud_escape_keycard","control_room"); + var_01 = common_scripts\utility::getstruct("struct_scene_s3escape_takedown","targetname"); + var_01 notify("s3_escape_open_door"); +} + +//Function Number: 29 +s3_escape_player_exo_and_gun_anim(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = self; + var_05 thread maps\_anim::anim_single(param_00,"s3escape_takedown_start"); + level.player playerlinktoblend(param_02,"tag_player",0.5); + wait(0.5); + param_02 show(); + level.player playerlinktodelta(param_02,"tag_player",0.75,45,45,30,30,1); + level.player common_scripts\utility::delaycall(3.5,::playrumbleonentity,"light_2s"); + level.player common_scripts\utility::delaycall(4.25,::lerpfov,42,1); + level.player common_scripts\utility::delaycall(6,::lerpfov,65,3); + wait(param_04 - 0.5); + param_02 delete(); + param_02 = maps\_utility::spawn_anim_model("player_rig"); + level.player playerlinktodelta(param_02,"tag_player",1,0,0,0,0,1); + param_01 delete(); + var_06 = getent("s3escape_noexo_guard","targetname"); + param_01 = maps\_utility::dronespawn_bodyonly(var_06); + param_01.animname = "guard_1"; + param_01 maps\captured_util::ignore_everything(); + param_01.diequietly = 1; + param_01 maps\_utility::clear_deathanim(); + param_01.noragdoll = 1; + param_01 maps\_utility::gun_remove(); + param_01.no_ai = 1; + param_01.allowpain = 0; + param_01.skipdeathanim = 1; + param_01.dont_break_anim = 1; + var_05 thread maps\_anim::anim_last_frame_solo(param_01,"s3escape_takedown_start"); + var_07 = [param_03,param_02]; + param_03 show(); + var_05 thread maps\_anim::anim_single(var_07,"s3escape_takedown"); + var_08 = getanimlength(param_02 maps\_utility::getanim("s3escape_takedown")); + var_05 notify("s3escape_takedown_gideon_ender"); + wait(var_08); + maps\_player_exo::player_exo_activate(); + level notify("s3_escape_player_helped"); + level.player unlink(); + param_02 delete(); + param_03 delete(); + level.player takeallweapons(); + level.player enableweapons(); + level.player giveweapon("iw5_titan45onearmgundown_sp"); + level.player setweaponammostock("iw5_titan45onearmgundown_sp",0); + level.player switchtoweapon("iw5_titan45onearmgundown_sp"); + level.player allowmelee(0); + level.player allowfire(0); + level.player allowcrouch(1); + level.player allowjump(1); + level.player allowprone(1); + common_scripts\utility::flag_wait("escape_guards_dead"); + param_01 delete(); +} + +//Function Number: 30 +s3_escape_ally_gun_help_anim(param_00) +{ + var_01 = self; + param_00 show(); + level.allies[0] maps\_utility::gun_remove(); + var_02 = [level.allies[0],param_00]; + var_03 = getanimlength(level.allies[0] maps\_utility::getanim("s3escape_takedown_gun_help")); + var_01 maps\_anim::anim_single(var_02,"s3escape_takedown_gun_help"); + param_00 delete(); + level.allies[0] maps\_utility::gun_recall(); + level.allies[0] showallparts(); +} + +//Function Number: 31 +s3_splitup_event(param_00) +{ + var_01 = common_scripts\utility::getstruct("struct_scene_s3escape_security","targetname"); + var_02 = level.allies; + var_03 = getent("s3_escape_pickup_gun","targetname"); + var_03 hide(); + var_04 = getent("s3_escape_security_door_blocker","targetname"); + var_04 notsolid(); + var_05 = getent("controlroom_exit_door","targetname"); + var_05.animname = "controlroom_exit_door"; + var_05 maps\_anim::setanimtree(); + var_06 = getent("s3_escape_controlroom_exit_col","targetname"); + var_01 maps\_anim::anim_first_frame_solo(var_05,"s3escape_controlroom_exit"); + var_01 thread s3_escape_sliding_door_player(var_05,var_06,"s3escape_controlroom_exit",1); + thread maps\_utility::autosave_now(); + thread s3escape_console_setup(); + var_01 thread maps\captured_anim::anim_single_to_loop(var_02[0],"s3escape_controlroom","s3escape_controlroom_loop","s3escape_control_room_ender"); + common_scripts\utility::flag_wait("s3_escape_entered_security_center"); + level.player disableweaponpickup(); + param_00 notify("s3escape_takedown_ender"); + var_01 thread maps\captured_anim::anim_single_to_loop(var_02[1],"s3escape_controlroom","s3escape_controlroom_loop","s3escape_control_room_ender"); + var_01 thread maps\captured_anim::anim_single_to_loop(var_02[2],"s3escape_controlroom","s3escape_controlroom_loop","s3escape_control_room_ender"); + common_scripts\utility::flag_wait("s3_escape_hurry_up_move_done"); + var_07 = getent("s3_escape_security_console_trigger","targetname"); + var_07 maps\_utility::addhinttrigger(&"CAPTURED_HINT_USE_CONSOLE",&"CAPTURED_HINT_USE_PC"); + var_08 = common_scripts\utility::getstruct("s3_escape_console_use_marker","targetname"); + maps\captured_actions::s3_escape_hack_action(var_07,var_08); + level.player setstance("stand"); + level.player allowcrouch(0); + level.player allowjump(0); + level.player allowprone(0); + level.player freezecontrols(1); + maps\_player_exo::player_exo_deactivate(); + level notify("started_door_hacking"); + var_07 delete(); + soundscripts\_snd::snd_message("aud_separation_logic"); + var_09 = maps\_utility::spawn_anim_model("player_rig"); + var_09 hide(); + level.player disableweapons(); + var_0A = spawn("script_model",level.player.origin); + var_0A setmodel("vm_titan45_nocamo"); + var_0A linkto(var_09,"tag_weapon_right",(0,0,0),(0,0,0)); + var_01 thread maps\_anim::anim_single_solo(var_09,"s3escape_console_start"); + thread s3escape_console_cinematic_watcher(); + common_scripts\utility::flag_set("s3_escape_console_monitor_unfreeze"); + level.s3_escape_console_monitor setscriptablepartstate(0,2); + level.player playerlinktoblend(var_09,"tag_player",0.5); + wait(0.5); + level.player freezecontrols(0); + var_09 show(); + level.player playerlinktodelta(var_09,"tag_player",1,0,0,0,0,1); + wait(getanimlength(var_09 maps\_utility::getanim("s3escape_console_start")) - 0.5); + var_01 thread maps\_anim::anim_loop_solo(var_09,"s3escape_console_loop","s3escape_console_ender"); + level waittill("s3_escape_guards_entering_room"); + soundscripts\_snd::snd_music_message("mus_captured_escape_end"); + var_0B = getentarray("s3_escape_main_room_guards","targetname"); + var_0C = maps\_utility::array_spawn(var_0B); + var_0C[0].animname = "guard_2"; + var_0C[1].animname = "guard_3"; + thread maps\captured::dialogue_control_room_attack(var_0C[0],var_0C[1]); + common_scripts\utility::array_thread(var_0C,::maps\captured_util::ignore_everything); + var_0D = getent("s3_escape_security_guard_door","targetname"); + var_0D.animname = "controlroom_guard_door"; + var_0D maps\_utility::assign_animtree(); + var_01 notify("s3escape_control_room_ender"); + var_01 thread maps\captured_anim::anim_single_to_loop(level.allies[1],"s3escape_controlroom_attack","s3escape_controlroom_attack_loop","s3escape_control_room_attack_ender"); + var_01 thread maps\captured_anim::anim_single_to_loop(level.allies[2],"s3escape_controlroom_attack","s3escape_controlroom_attack_loop","s3escape_control_room_attack_ender"); + var_01 thread maps\_anim::anim_single_solo(var_0D,"s3escape_controlroom_attack"); + var_01 thread maps\_anim::anim_single(var_0C,"s3escape_controlroom_attack"); + thread s3_escape_elevator_movement(); + var_01 thread maps\_anim::anim_single_solo(level.allies[0],"s3escape_controlroom_attack"); + var_0E = getnode("s3_escape_ally_attack_node","targetname"); + level.allies[0] setgoalnode(var_0E); + wait(3); + level notify("finished_door_hacking"); + common_scripts\utility::flag_set("s3_escape_exit_door_open"); + thread maps\captured_actions::s3_escape_console_gun_action(var_01,var_09,var_0A); + param_00 notify("s3_close_sliding_door"); + var_04 solid(); + level.player maps\_utility::wait_for_notify_or_timeout("captured_action_complete",3); + wait 0.05; + if(!common_scripts\utility::flag("s3_player_pickedup_console_gun")) + { + var_01 notify("s3escape_console_ender"); + level.player unlink(); + var_09 delete(); + level.player thread maps\captured_util::start_one_handed_gunplay("iw5_kvahazmatknifeonearm_sp"); + level.player switchtoweaponimmediate("iw5_kvahazmatknifeonearm_sp"); + var_0A delete(); + setsaveddvar("ammoCounterHide","0"); + var_03 show(); + level.player maps\_utility::lerp_player_view_to_position((4709.12,-10660.2,-1760),level.player.angles,0.9,0.5); + level.player allowfire(1); + level.player showviewmodel(); + level.player allowmelee(1); + level.player allowsprint(1); + level.player allowcrouch(1); + level.player allowjump(1); + level.player allowprone(1); + level.player enableoffhandweapons(); + maps\_player_exo::player_exo_activate(); + wait(0.3); + } + else + { + level.player enableoffhandweapons(); + maps\_player_exo::player_exo_activate(); + wait(1.6); + } + + setsaveddvar("ammoCounterHide","0"); + common_scripts\utility::flag_set("s3_player_pickedup_console_gun"); + level.allies[0] unlink(); + level.allies[0].ignoreall = 0; + level.allies[0].ignoreme = 0; + level.allies[0].dontmelee = 1; + common_scripts\utility::array_thread(var_0C,::maps\captured_util::unignore_everything); + common_scripts\utility::array_thread(var_0C,::maps\_utility::anim_stopanimscripted); + maps\_utility::kill_deathflag("escape_guards_dead",2.5); + wait(1); + common_scripts\utility::flag_wait("escape_guards_dead"); + level.allies[0] maps\captured_util::ignore_everything(); + var_0F = getent("s3_escape_large_security_door","targetname"); + var_0F moveto(var_0F.origin - (0,0,112),1,0.2,0.05); + soundscripts\_snd::snd_message("aud_separation_door"); + soundscripts\_snd::snd_message("start_indoor_alarms"); + maps\captured_util::physics_bodies_off(); + thread maps\captured_util::physics_bodies_on("escape_bodies_2",5,1); + common_scripts\utility::flag_set("flag_s3guard_security_door_shuts"); + level.allies[0].dontmelee = 0; + var_01 notify("s3escape_control_room_attack_ender"); + thread maps\captured_medical::test_chamber_stairs_up_door(); + thread s3_body_movement(); + var_02 = common_scripts\utility::array_remove(var_02,level.allies[0]); + level notify("split_scene_start"); + var_01 notify("s3escape_controlroom_attack_loop"); + var_01 thread maps\_anim::anim_single(var_02,"s3escape_controlroom_exit"); + var_01 thread maps\_anim::anim_single_solo(level.allies[0],"s3escape_controlroom_exit"); + var_01 waittill("s3_escape_open_door"); + thread maps\_utility::autosave_now(); + thread s3escape_console_pause_checkpoint(); + var_10 = getentarray("s3escape_hall_enemies","targetname"); + var_11 = maps\_utility::array_spawn(var_10,1); + var_12 = getent("s3escape_enemy_goal_volume_1","targetname"); + foreach(var_14 in var_11) + { + var_14 thread s3_escape_guard_function(); + } + + thread maps\_utility::battlechatter_on("allies"); + thread maps\_utility::battlechatter_on("axis"); + wait(2); + level.allies[0] stopanimscripted(); + level.allies[0].goalradius = 8; + var_16 = getnodearray("s3escape_ally_cover_nodes","targetname"); + var_17 = randomintrange(0,1); + level.allies[0] setgoalnode(var_16[var_17]); + level.allies[0] maps\_utility::set_force_cover(1); + level.allies[0] waittill("goal"); + level.allies[0] maps\captured_util::unignore_everything(); + common_scripts\utility::flag_wait_either("flag_s3escape_exit","s3escape_hall_enemies_dead"); + var_18 = getent("s3escape_enemy_goal_volume_2","targetname"); + foreach(var_14 in var_11) + { + if(isalive(var_14)) + { + var_14 setgoalvolumeauto(var_18); + } + } + + level.allies[0] maps\_utility::set_force_cover(0); + common_scripts\utility::flag_wait("s3escape_hall_enemies_dead"); + level.allies[0] maps\captured_util::ignore_everything(); + thread maps\_utility::battlechatter_off("allies"); + thread maps\_utility::battlechatter_off("axis"); + level.allies[0].goalradius = 24; + var_01 maps\_anim::anim_reach_and_idle_solo(level.allies[0],"s3escape_controlroom_exit_loop","s3escape_controlroom_exit_loop","s3escape_controlroom_exit_loop_enter"); + common_scripts\utility::flag_wait("flag_s3escape_end"); + maps\_utility::autosave_by_name("s3escape_end"); + wait(1); + var_01 notify("s3escape_controlroom_exit_loop_enter"); +} + +//Function Number: 32 +s3_escape_elevator_movement() +{ + wait(2); + soundscripts\_snd::snd_message("aud_separation_elevator"); + var_00 = getentarray("s3_escape_elevator","targetname"); + var_01 = undefined; + wait(0.5); + var_02 = getent("s3_escape_door_left","targetname"); + var_02 moveto(var_02.origin + (52,0,0),0.75,0.2,0.05); + var_03 = getent("s3_escape_door_right","targetname"); + var_03 moveto(var_03.origin + (-52,0,0),0.75,0.2,0.05); + foreach(var_05 in var_00) + { + if(var_05.classname == "script_brushmodel") + { + var_01 = var_05; + } + } + + foreach(var_05 in var_00) + { + if(var_05.classname == "script_model") + { + var_05 linkto(var_01); + } + } + + var_01 moveto(var_01.origin + (0,0,-150),1.5,0.2,0.2); + level waittill("split_scene_start"); + wait(15); + var_02 moveto(var_02.origin + (-52,0,0),0.75,0.2,0.05); + var_03 moveto(var_03.origin + (52,0,0),0.75,0.2,0.05); +} + +//Function Number: 33 +s3_escape_guards_enter(param_00) +{ + level notify("s3_escape_guards_entering_room"); +} + +//Function Number: 34 +s3_escape_elevator_start(param_00) +{ +} + +//Function Number: 35 +s3_escape_controlroom_exit_door_notetrack(param_00) +{ + var_01 = common_scripts\utility::getstruct("struct_scene_s3escape_security","targetname"); + var_01 notify("s3_escape_open_door"); +} + +//Function Number: 36 +s3_escape_controlroom_exit_door_swipe_sfx_notetrack(param_00) +{ + soundscripts\_snd::snd_message("aud_escape_keycard","exit_door"); +} + +//Function Number: 37 +s3_body_movement() +{ + wait(15); + var_00 = level.hanging_bodies; + foreach(var_02 in var_00) + { + var_02 moveto(var_02.origin - (0,160,0),4,0.05,0.05); + } +} + +//Function Number: 38 +s3_escape_guard_function() +{ + self endon("death"); + maps\captured_util::ignore_everything(); + self.goalradius = 16; + self waittill("goal"); + maps\captured_util::unignore_everything(); +} + +//Function Number: 39 +s3escape_fade_to_black(param_00) +{ + var_01 = newclienthudelem(level.player); + var_01 setshader("black",1280,720); + var_01.horzalign = "fullscreen"; + var_01.vertalign = "fullscreen"; + var_01.alpha = 0; + var_01.foreground = 0; + var_01 fadeovertime(2); + var_01.alpha = 1; + wait(param_00); + var_01 fadeovertime(3.5); + var_01.alpha = 0; + wait(3.5); + var_01 destroy(); + var_01 = undefined; +} + +//Function Number: 40 +slow_player_scaler() +{ + level.player allowsprint(0); + level.player allowjump(0); + soundscripts\_snd::snd_message("aud_limp_on"); + level.player maps\_utility::blend_movespeedscale(0.27); + wait(0.5); + common_scripts\utility::flag_wait("flag_scene_doctor_done"); + level.player maps\_utility::blend_movespeedscale(0.5,5); + wait(8); + level.player allowjump(1); +} + +//Function Number: 41 +injured_player_wobble() +{ + self endon("start_sprint_wobble"); + var_00 = common_scripts\utility::spawn_tag_origin(); + var_00.angles = (0,0,0); + self playersetgroundreferenceent(var_00); + var_01 = 6; + var_02 = var_00.angles; + while(!common_scripts\utility::flag("flag_scene_doctor_done")) + { + common_scripts\utility::flag_wait("flag_injured_player_active"); + wait(randomfloatrange(3,5)); + var_03 = randomfloatrange(3,5); + var_04 = randomfloatrange(0,var_03); + var_05 = var_03 - var_04; + var_00 rotateto((var_02[0] + randomfloatrange(var_01 * -1,var_01),var_02[1] + randomfloatrange(var_01 * -1,var_01),var_02[2] + randomfloatrange(var_01 * -1,var_01)),var_03,var_04,var_05); + wait(var_03); + var_03 = randomfloatrange(3,5); + var_04 = randomfloatrange(0,var_03); + var_05 = var_03 - var_04; + var_00 rotateto(var_02,var_03,var_04,var_05); + wait(var_03); + } + + self playersetgroundreferenceent(undefined); + var_00 delete(); +} + +//Function Number: 42 +injured_player_blur() +{ + self endon("start_sprint_wobble"); + while(!common_scripts\utility::flag("flag_scene_doctor_done")) + { + common_scripts\utility::flag_wait("flag_injured_player_active"); + var_00 = randomfloatrange(1,2); + setblur(randomfloatrange(1,3),var_00); + wait(var_00); + setblur(0,var_00); + wait(var_00); + wait(randomfloatrange(3,5)); + } +} \ No newline at end of file diff --git a/AW/PC/maps/captured_util.gsc b/AW/PC/maps/captured_util.gsc new file mode 100644 index 0000000..d4503d1 --- /dev/null +++ b/AW/PC/maps/captured_util.gsc @@ -0,0 +1,2781 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: captured_util.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 85 + * Decompile Time: 1222 ms + * Timestamp: 4/22/2024 2:26:38 AM +*******************************************************************/ + +//Function Number: 1 +warp_to_start(param_00) +{ + var_01 = param_00; + if(isstring(param_00)) + { + var_01 = common_scripts\utility::getstruct(param_00,"targetname"); + if(!isdefined(var_01)) + { + var_01 = getent(param_00,"targetname"); + } + } + + if(!isdefined(var_01)) + { + return; + } + + if(self islinked()) + { + self unlink(); + } + + if(self == level.player) + { + self setorigin(var_01.origin); + level.player setplayerangles(var_01.angles); + return; + } + + self forceteleport(var_01.origin,var_01.angles); +} + +//Function Number: 2 +warp_allies(param_00,param_01,param_02) +{ + if(!isdefined(level.allies) || !isdefined(level.allies.size)) + { + return; + } + + level.allies = maps\_utility::remove_dead_from_array(level.allies); + var_03 = ["r","b","y"]; + if(!isdefined(param_02)) + { + param_02 = level.allies.size; + } + + for(var_04 = 0;var_04 < param_02;var_04++) + { + level.allies[var_04] thread warp_to_start(param_00 + "_" + var_04); + if(isdefined(param_01) && param_01) + { + level.allies[var_04] maps\_utility::set_force_color(var_03[var_04]); + } + } +} + +//Function Number: 3 +spawn_allies(param_00) +{ + if(!isdefined(param_00)) + { + if(start_point_is_before("test_chamber")) + { + param_00 = 3; + } + else if(start_point_is_between(["test_chamber","mb2"],1)) + { + param_00 = 1; + } + else if(start_point_is_after("mb2")) + { + param_00 = 2; + } + else + { + param_00 = 3; + } + } + + if(!isdefined(level.allies)) + { + level.allies = []; + } + else if(level.allies.size >= param_00) + { + return; + } + + var_01 = getentarray("spawner_ally","script_noteworthy"); + common_scripts\utility::array_thread(var_01,::maps\_utility::add_spawn_function,::spawnfunc_ally); + for(var_02 = 0;var_02 < param_00;var_02++) + { + var_03 = getent("ally_" + var_02,"targetname") maps\_utility::spawn_ai(); + var_03.animname = "ally_" + var_02; + level.allies[var_02] = var_03; + } + + if(isdefined(level.allies[0]) && isalive(level.allies[0])) + { + level.ally = level.allies[0]; + } +} + +//Function Number: 4 +spawnfunc_ally() +{ + maps\_utility::make_hero(); + maps\_utility::magic_bullet_shield(); +} + +//Function Number: 5 +dialogue_nag_loop(param_00,param_01,param_02,param_03,param_04,param_05) +{ + self endon("death"); + if(isdefined(param_01)) + { + level endon(param_01); + } + + self notify("start_nag_loop"); + self endon("start_nag_loop"); + if(!isdefined(param_02)) + { + param_02 = 0; + } + + if(!isdefined(param_03)) + { + param_03 = 4; + } + + if(!isdefined(param_04)) + { + param_04 = 0; + } + + if(!isdefined(param_05)) + { + param_05 = 300; + } + + var_06 = param_03 - param_02; + for(;;) + { + foreach(var_08 in param_00) + { + thread dialogue_nag_player(var_08); + common_scripts\utility::flag_waitopen("flag_currently_nagging"); + wait(randomfloatrange(param_02,param_03)); + param_03 = min(param_05,param_03 + param_04); + param_02 = param_03 - var_06; + } + + wait(0.05); + param_00 = common_scripts\utility::array_randomize(param_00); + } +} + +//Function Number: 6 +dialogue_nag_player(param_00) +{ + common_scripts\utility::flag_set("flag_currently_nagging"); + maps\_utility::dialogue_queue(param_00); + common_scripts\utility::flag_clear("flag_currently_nagging"); +} + +//Function Number: 7 +radio_dialogue_nag_loop(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + self endon("death"); + if(isdefined(param_01)) + { + level endon(param_01); + } + + self notify("start_nag_loop"); + self endon("start_nag_loop"); + if(!isdefined(param_02)) + { + param_02 = 8; + } + + if(!isdefined(param_03)) + { + param_03 = 12; + } + + if(!isdefined(param_04)) + { + param_04 = 0; + } + + if(!isdefined(param_05)) + { + param_05 = 300; + } + + var_07 = param_03 - param_02; + for(;;) + { + foreach(var_09 in param_00) + { + if(isdefined(param_06)) + { + common_scripts\utility::flag_clear(param_06); + } + + maps\_utility::smart_radio_dialogue(var_09); + if(isdefined(param_06)) + { + common_scripts\utility::flag_set(param_06); + } + + wait(randomfloatrange(param_02,param_03)); + param_03 = min(param_05,param_03 + param_04); + param_02 = param_03 - var_07; + } + + wait(0.05); + param_00 = common_scripts\utility::array_randomize(param_00); + } +} + +//Function Number: 8 +delay_retreat(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + if(isdefined(param_02)) + { + thread opfor_retreat(param_00,param_02,param_03); + } + + common_scripts\utility::flag_wait_or_timeout(param_03,param_01); + if(common_scripts\utility::flag(param_03) && !isdefined(level.opfor_retreat)) + { + tprintln("Retreat trigger: " + param_03,1); + thread retreat_proc(param_03,param_04,param_05); + return; + } + + if(!isdefined(level.opfor_retreat)) + { + tprintln("Retreat timeout: " + param_01 + " | " + param_03,1); + } + + thread retreat_proc(param_03,param_04,param_05,param_06); + level.opfor_retreat = undefined; +} + +//Function Number: 9 +opfor_retreat(param_00,param_01,param_02) +{ + level endon(param_02); + if(!isarray(param_01)) + { + param_01 = [int(min(0,param_01)),int(max(-1,param_01))]; + } + + if(param_01[0] < 0) + { + for(var_03 = param_01[0];var_03 < 0;var_03++) + { + level waittill("ai_killed",var_04); + tprintln("kills: " + var_03 + 1 + " || " + maps\_utility::get_ai_group_sentient_count(param_00)); + if(!isdefined(var_04.script_aigroup) || var_04.script_aigroup != param_00) + { + var_03--; + } + } + } + + if(param_01[1] >= 0) + { + while(maps\_utility::get_ai_group_sentient_count(param_00) > param_01[1]) + { + wait(0.1); + } + } + + tprintln("Retreat kills: " + maps\_utility::get_ai_group_sentient_count(param_00) + " | " + param_02,1); + level.opfor_retreat = 1; + common_scripts\utility::flag_set(param_02); +} + +//Function Number: 10 +retreat_proc(param_00,param_01,param_02,param_03) +{ + if(!common_scripts\utility::flag(param_00)) + { + common_scripts\utility::flag_set(param_00); + } + + if(isdefined(param_01) && !isarray(param_01)) + { + param_01 = [param_01]; + } + + if(isdefined(param_01)) + { + var_04 = []; + foreach(var_06 in param_01) + { + var_06 = getent(var_06,"targetname"); + if(isdefined(var_06)) + { + var_04[var_04.size] = var_06; + } + } + + if(var_04.size > 0) + { + param_01 = var_04; + } + else + { + param_01 = undefined; + } + } + + if(isdefined(param_01)) + { + param_01[0] notify("trigger"); + wait(0.05); + if(isdefined(param_02) && param_02) + { + foreach(var_06 in param_01) + { + if(isdefined(var_06)) + { + var_06 delete(); + } + } + } + } + + if(isdefined(param_03) && !isarray(param_03)) + { + param_03 = [param_03]; + } + + if(isdefined(param_03)) + { + foreach(var_0B in param_03) + { + level notify(var_0B); + } + } +} + +//Function Number: 11 +kt_time(param_00) +{ + if(!isdefined(level.killer_tracker)) + { + return param_00; + } + + if(level.killer_tracker > 2) + { + return param_00 * clamp(level.killer_tracker - 1,1,5); + } + + return param_00; +} + +//Function Number: 12 +setup_player_for_animated_sequence(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + if(!isdefined(param_00)) + { + param_00 = 1; + } + + if(param_00) + { + if(!isdefined(param_01)) + { + param_01 = 60; + } + } + + if(!isdefined(param_08)) + { + param_08 = 1; + } + + if(!isdefined(param_02)) + { + param_02 = level.player.origin; + } + + if(!isdefined(param_03)) + { + param_03 = level.player.angles; + } + + if(!isdefined(param_04)) + { + param_04 = 1; + } + + if(!isdefined(param_06)) + { + param_06 = "player_rig"; + } + + var_09 = maps\_utility::spawn_anim_model(param_06,param_02); + level.player.rig = var_09; + var_09.angles = param_03; + var_09.animname = param_06; + if(isdefined(param_07)) + { + var_0A = maps\_utility::spawn_anim_model(param_07); + } + else + { + var_0A = common_scripts\utility::spawn_tag_origin(); + } + + level.player.mover = var_0A; + var_0A.origin = param_02; + var_0A.angles = param_03; + var_09 linkto(var_0A); + if(param_00) + { + if(isarray(param_01)) + { + level.player playerlinktodelta(var_09,"tag_origin",param_08,param_01[0],param_01[1],param_01[2],param_01[3],1); + } + else + { + level.player playerlinktodelta(var_09,"tag_origin",param_08,param_01,param_01,param_01,param_01,1); + } + } + + if(param_04) + { + thread player_animated_sequence_restrictions(param_05); + } +} + +//Function Number: 13 +player_animated_sequence_restrictions(param_00) +{ + if(isdefined(param_00) && param_00) + { + level.player waittill("notify_player_animated_sequence_restrictions"); + } + + level.player.disablereload = 1; + level.player disableweapons(); + level.player disableoffhandweapons(); + level.player disableweaponswitch(); + level.player allowcrouch(0); + level.player allowjump(0); + level.player allowmelee(0); + level.player allowprone(0); + level.player allowsprint(0); +} + +//Function Number: 14 +player_animated_sequence_cleanup() +{ + if(!isdefined(level.player.early_weapon_enabled) || !level.player.early_weapon_enabled) + { + level.player.early_weapon_enabled = undefined; + level.player.disablereload = 0; + level.player enableweapons(); + level.player enableoffhandweapons(); + level.player enableweaponswitch(); + } + + level.player allowcrouch(1); + level.player allowjump(1); + level.player allowmelee(1); + level.player allowprone(1); + level.player allowsprint(1); + level.player unlink(); + if(isdefined(level.player.mover)) + { + level.player.mover delete(); + } + + if(isdefined(level.player.rig)) + { + level.player.rig delete(); + } +} + +//Function Number: 15 +smooth_player_link(param_00,param_01,param_02) +{ + if(!isdefined(param_02)) + { + param_02 = [0,0,0,0]; + } + else if(!isarray(param_02)) + { + param_02 = [param_02,param_02,param_02,param_02]; + } + + level.player playerlinktoblend(param_00,"tag_player",param_01); + wait(param_01); + level.player playerlinktodelta(param_00,"tag_player",1,param_02[0],param_02[1],param_02[2],param_02[3],1); + param_00 show(); +} + +//Function Number: 16 +anim_set_real_time(param_00,param_01,param_02) +{ + common_scripts\utility::array_thread(param_00,::anim_self_set_real_time,param_01,param_02); +} + +//Function Number: 17 +anim_self_set_real_time(param_00,param_01) +{ + var_02 = maps\_utility::getanim(param_00); + var_03 = param_01 / getanimlength(var_02); + self setanimtime(var_02,var_03); +} + +//Function Number: 18 +start_one_handed_gunplay(param_00) +{ + self endon("death"); + self notify("stop_one_handed_gunplay"); + self endon("stop_one_handed_gunplay"); + self.melee_threat = -1024; + self.gun_threat = -512; + if(!isdefined(param_00)) + { + param_00 = self getcurrentweapon(); + } + + self disableweaponswitch(); + self setautopickup(0); + self.one_weap = "init"; + self.one_ammo = 15; + self.one_frac = 1; + self.one_time = 0; + self.ot = []; + self.ot["gun"] = 5000; + self.ot["aggro"] = 6000; + self.ot["flash"] = 10000; + self.ot["gen"] = 15000; + self.ot["p_kill"] = 15000; + self.ot["a_kill"] = 15000; + level one_handed_help_vo_setup(); + level.player thread one_handed_help_flash_ally_tracker(1000); + self giveweapon("iw5_mahem_sp"); + thread one_handed_swap_tracking(); + if(issubstr(param_00,"knife")) + { + one_handed_switch_to_melee(1); + } + else + { + one_handed_weapon_check_swap(param_00); + } + + thread one_handed_pickup_handling(); + thread one_handed_drop_handling(); + thread one_handed_grenade_handling(); + thread one_handed_ammo_tracking(); + thread one_handed_mantle_handling(); + thread one_handed_exododge_handling(); +} + +//Function Number: 19 +one_handed_pickup_handling() +{ + self endon("death"); + self endon("stop_one_handed_gunplay"); + self notify("start_one_handed_pickup_handling"); + self endon("start_one_handed_pickup_handling"); + for(;;) + { + self waittill("weapon_change",var_00); + if(isdefined(var_00) && var_00 != "none" && var_00 != "iw5_kvahazmatknifeonearm_sp") + { + one_handed_weapon_check_swap(var_00); + } + } +} + +//Function Number: 20 +one_handed_drop_handling() +{ + self endon("death"); + self endon("stop_one_handed_gunplay"); + self notify("start_one_handed_drop_handling"); + self endon("start_one_handed_drop_handling"); + for(;;) + { + self waittill("pickup",var_00,var_01); + if(!isdefined(var_00.dropped)) + { + self notify("one_handed_weapon_swap",1); + } + + if(!isdefined(var_01)) + { + tprintln("Bug this if you didn\'t just throw a grenade"); + continue; + } + else + { + if(!issubstr(var_01.classname,"knife")) + { + var_02 = spawn(maps\_utility::string("weapon_" + one_handed_get_base_weapon(var_01.classname)),var_01.origin); + var_02.angles = var_01.angles; + var_02.dropped = 1; + var_02 itemweaponsetammo(self.one_ammo,0); + var_01 delete(); + if(self.one_frac <= 0.33) + { + var_02.low_ammo = 1; + } + + continue; + } + + self notify("melee_weapon_dropped"); + var_01 delete(); + } + } +} + +//Function Number: 21 +one_handed_grenade_handling() +{ + self endon("death"); + self endon("stop_one_handed_gunplay"); + self notify("start_one_handed_grenade_handling"); + self endon("start_one_handed_grenade_handling"); + for(;;) + { + self waittill("grenade_fire"); + var_00 = self getweaponammoclip(self getcurrentweapon()); + var_01 = one_handed_get_base_weapon(self getcurrentweapon()); + if(isdefined(var_01) && issubstr(var_01,"knife")) + { + continue; + } + + if(isdefined(var_01)) + { + var_02 = vectornormalize(anglestoforward(self.angles)); + var_03 = vectornormalize(anglestoright(self.angles)); + var_04 = self.origin + randomfloatrange(16,24) * var_03 + randomfloatrange(-6,6) * var_02 + (0,0,4); + var_05 = spawn(maps\_utility::string("weapon_" + var_01),var_04); + var_05.angles = (0,randomint(360),0); + var_05 itemweaponsetammo(var_00,0); + } + + one_handed_switch_to_melee(1); + } +} + +//Function Number: 22 +one_handed_ammo_tracking() +{ + self endon("death"); + self endon("stop_one_handed_gunplay"); + self notify("start_one_handed_ammo_tracking"); + self endon("start_one_handed_ammo_tracking"); + for(;;) + { + var_00 = common_scripts\utility::waittill_notify_or_timeout_return("one_hand_pickup",0.05); + var_01 = gettime(); + self.one_weap = self getcurrentweapon(); + if(self.one_weap != "none" && self.one_weap != "iw5_kvahazmatknifeonearm_sp") + { + var_02 = self.one_frac; + self.one_ammo = self getammocount(self.one_weap); + self.one_frac = self.one_ammo / weaponclipsize(self.one_weap); + if(self.one_ammo <= 0 && !isdefined(self.switch_to_melee)) + { + if(issubstr(self.one_weap,"titan45")) + { + soundscripts\_snd::snd_message("aud_cap_45_onearm_toss"); + } + else + { + soundscripts\_snd::snd_message("aud_cap_sml_onearm_toss"); + } + + thread one_handed_switch_to_melee(); + continue; + } + + if(var_02 > 0.33 && self.one_frac <= 0.33) + { + self.one_time = var_01 + randomintrange(500,2000); + } + + if(!isdefined(level.one_handed_help)) + { + continue; + } + + if(self.one_frac <= 0.33 && var_01 > self.one_time) + { + thread one_handed_help_try(var_01); + } + + continue; + } + + if(isdefined(level.one_handed_help) && self.one_weap != "none" && var_01 > self.one_time) + { + thread one_handed_help_try(gettime(),4000); + } + } +} + +//Function Number: 23 +one_handed_swap_tracking() +{ + self endon("death"); + self notify("stop_one_handed_swap_tracking"); + self endon("stop_one_handed_swap_tracking"); + if(!isdefined(level.swap_num)) + { + level.swap_num = 0; + } + + for(;;) + { + self waittill("one_handed_weapon_swap",var_00); + if(isdefined(var_00)) + { + level.swap_num = level.swap_num + var_00; + } + else + { + level.swap_num = level.swap_num + 1; + } + + if(level.swap_num >= 20) + { + maps\_utility::giveachievement_wrapper("LEVEL_14A"); + self notify("stop_one_handed_swap_tracking"); + } + } +} + +//Function Number: 24 +one_handed_mantle_handling() +{ + self endon("death"); + self endon("stop_one_handed_gunplay"); + self notify("stop_one_handed_mantle_handling"); + self endon("stop_one_handed_mantle_handling"); + for(;;) + { + self waittill("foley",var_00); + var_01 = self getcurrentweapon(); + if(issubstr(var_00,"mantle") && isdefined(self.switch_to_melee) && !issubstr(var_01,"knife")) + { + self takeweapon(self getcurrentweapon()); + } + } +} + +//Function Number: 25 +one_handed_exododge_handling() +{ + self endon("death"); + self endon("stop_one_handed_gunplay"); + self notify("stop_one_handed_exododge_handling"); + self endon("stop_one_handed_exododge_handling"); + for(;;) + { + self waittill("exo_dodge"); + var_00 = self getcurrentweapon(); + if(isdefined(self.switch_to_melee) && !issubstr(var_00,"knife")) + { + self takeweapon(self getcurrentweapon()); + } + } +} + +//Function Number: 26 +one_handed_modify_threatbias(param_00) +{ + self endon("death"); + self endon("stop_one_handed_gunplay"); + if(isstring(param_00)) + { + param_00 = tolower(param_00); + switch(param_00) + { + case "stand": + self.threat_stance = "stand"; + param_00 = -128; + break; + + case "crouch": + self.threat_stance = "crouch"; + param_00 = -512; + break; + + case "prone": + self.threat_stance = "prone"; + param_00 = -1024; + break; + + case "none": + self.threat_stance = "none"; + param_00 = 0; + break; + + case "standard": + param_00 = int(1024); + break; + + case "aggro": + param_00 = 2048; + break; + + default: + param_00 = 0; + break; + } + } + + self.melee_threat = -1024 + param_00; + self.gun_threat = -512 + param_00; + if(self.one_weap != "none" && self.one_weap != "iw5_kvahazmatknifeonearm_sp") + { + setthreatbias("axis","player",self.gun_threat); + return; + } + + setthreatbias("axis","player",self.melee_threat); +} + +//Function Number: 27 +one_handed_weapon_check_swap(param_00,param_01) +{ + self endon("death"); + if(isdefined(param_00) && !issubstr(param_00,"onearm_sp") || param_00 != self.one_weap) + { + var_02 = self getweaponammoclip(param_00); + if(!isdefined(param_01) || param_01) + { + self takeweapon(self getcurrentweapon()); + } + + var_03 = "iw5_titan45onearm_sp_xmags"; + if(issubstr(tolower(param_00),"pbw")) + { + var_03 = "iw5_pbwonearm_sp_xmags"; + } + else if(issubstr(tolower(param_00),"hmr9")) + { + var_03 = "iw5_hmr9onearm_sp_xmags"; + } + else if(issubstr(tolower(param_00),"sn6")) + { + var_03 = "iw5_sn6onearm_sp_xmags"; + } + + if(var_02 <= 0) + { + var_02 = weaponclipsize(var_03); + } + + if(!isdefined(param_01) || param_01) + { + setthreatbias("axis","player",self.gun_threat); + self notify("stop_switch_to_melee"); + self.switch_to_melee = undefined; + self giveweapon(var_03); + soundscripts\_snd::snd_message("aud_onearm_weapon_swap",var_03); + self switchtoweapon(var_03); + self setweaponammostock(var_03,0); + self setweaponammoclip(var_03,var_02); + self enablealternatemelee(); + } + + return var_03; + } + + if(!isdefined(var_03) || var_03) + { + setthreatbias("axis","player",self.gun_threat); + self notify("stop_switch_to_melee"); + self.switch_to_melee = undefined; + self setweaponammostock(var_02,0); + } + + return var_02; +} + +//Function Number: 28 +one_handed_get_base_weapon(param_00,param_01,param_02) +{ + if(!isdefined(param_00)) + { + param_00 = self getcurrentweapon(); + } + + param_00 = tolower(param_00); + var_03 = param_02; + if(issubstr(param_00,"titan45")) + { + var_03 = "iw5_titan45pickup_sp_xmags"; + } + else if(issubstr(param_00,"hmr9")) + { + var_03 = "iw5_hmr9pickup_sp_xmags"; + } + else if(issubstr(param_00,"sn6")) + { + var_03 = "iw5_sn6pickup_sp_xmags"; + } + else if(issubstr(param_00,"knife") && !isdefined(param_01) || !param_01) + { + var_03 = "iw5_kvahazmatknife_sp"; + } + + return var_03; +} + +//Function Number: 29 +one_handed_switch_to_melee(param_00) +{ + self endon("death"); + self endon("stop_switch_to_melee"); + self notify("start_one_handed_switch_to_melee"); + self endon("start_one_handed_switch_to_melee"); + if(isdefined(param_00) && !param_00) + { + param_00 = undefined; + } + + self notify("bullet_weapon_dropped"); + setthreatbias("axis","player",self.melee_threat); + self giveweapon("iw5_kvahazmatknifeonearm_sp"); + self switchtoweapon("iw5_kvahazmatknifeonearm_sp"); + self.switch_to_melee = 1; + while(!isdefined(param_00) && !issubstr(self getcurrentweapon(),"knife")) + { + wait(0.05); + } + + self.switch_to_melee = undefined; + var_01 = self getweaponslistall(); + foreach(var_03 in var_01) + { + if(var_03 != "iw5_kvahazmatknifeonearm_sp" && var_03 != "iw5_mahem_sp" && var_03 != "flash_grenade") + { + self takeweapon(var_03); + } + } +} + +//Function Number: 30 +one_handed_melee_take_weapon(param_00) +{ + self endon("death"); + self notify("stop_switch_to_melee"); + wait(0.5); + var_01 = one_handed_weapon_check_swap(param_00,0); + setthreatbias("axis","player",self.gun_threat); + self.switch_to_melee = undefined; + self takeweapon("iw5_kvahazmatknifeonearm_sp"); + self giveweapon(var_01); + self switchtoweapon(var_01); + self setweaponammostock(var_01,0); + self setweaponammoclip(var_01,int(randomfloatrange(0.5,1) * weaponclipsize(var_01))); + self notify("one_handed_weapon_swap",1); +} + +//Function Number: 31 +one_handed_help_try(param_00,param_01) +{ + self endon("death"); + self endon("stop_one_handed_gunplay"); + if(!common_scripts\utility::flag("flag_one_handed_help_try")) + { + common_scripts\utility::flag_set("flag_one_handed_help_try"); + } + else + { + return 0; + } + + if(!isdefined(param_00)) + { + param_00 = gettime(); + } + + if(!isdefined(param_01)) + { + param_01 = 6000; + } + + if(param_00 > self.ot["gun"] && common_scripts\utility::cointoss() && level.ally one_handed_help_gun()) + { + self.one_time = param_00 + param_01; + self.ot["gun"] = param_00 + 10000; + common_scripts\utility::flag_clear("flag_one_handed_help_try"); + return 1; + } + + if(param_00 > self.ot["aggro"] && common_scripts\utility::cointoss() && level.ally one_handed_help_aggro()) + { + self.one_time = param_00 + param_01; + self.ot["aggro"] = param_00 + 12000; + common_scripts\utility::flag_clear("flag_one_handed_help_try"); + return 1; + } + + if(param_00 > self.ot["flash"] && common_scripts\utility::cointoss() && level.ally one_handed_help_flash()) + { + self.one_time = param_00 + param_01; + self.ot["flash"] = param_00 + 20000; + common_scripts\utility::flag_clear("flag_one_handed_help_try"); + return 1; + } + + if(param_00 > self.ot["gen"] && common_scripts\utility::cointoss() && level.ally one_handed_help_gen()) + { + self.one_time = param_00 + param_01 / 2; + self.ot["gen"] = param_00 + 15000; + common_scripts\utility::flag_clear("flag_one_handed_help_try"); + return 1; + } + + common_scripts\utility::flag_clear("flag_one_handed_help_try"); + return 0; +} + +//Function Number: 32 +one_handed_help_flash_ally_tracker(param_00) +{ + self endon("death"); + self endon("stop_one_handed_gunplay"); + self notify("start_one_handed_help_flash_ally_tracker"); + self endon("start_one_handed_help_flash_ally_tracker"); + self.ot["ally_seen"] = gettime(); + self.ot["vis_delay"] = param_00; + for(;;) + { + wait(0.1); + var_01 = gettime(); + var_02 = self.ot["flash"] - self.ot["vis_delay"]; + if(var_02 > var_01) + { + wait(var_02 - var_01 / 1000); + continue; + } + + if(isdefined(level.ally)) + { + if(maps\_utility::player_can_see_ai(level.ally)) + { + self.ot["ally_seen"] = var_01; + } + } + } +} + +//Function Number: 33 +one_handed_help_gun() +{ + self endon("death"); + var_00 = []; + foreach(var_02 in getweaponarray()) + { + if(!isdefined(var_02.low_ammo)) + { + var_00[var_00.size] = var_02; + } + } + + var_04 = common_scripts\utility::getclosest(level.player.origin,var_00,128); + if(isdefined(var_04) && level.player get_player_speed() < 24) + { + var_05 = weaponclass(getsubstr(var_04.classname,7)); + var_06 = level.player get_relative_direction(var_04); + var_07 = randomint(level.one_vo[var_05][var_06].size); + maps\_utility::smart_dialogue(level.one_vo[var_05][var_06][var_07]); + return 1; + } + + var_07 = common_scripts\utility::getclosest(self.origin,var_03,128); + if(isdefined(var_07) && self.a.state != "move" && maps\_utility::player_can_see_ai(self)) + { + var_05 = weaponclass(getsubstr(var_07.classname,7)); + var_07 = randomint(level.one_vo[var_07]["ally"].size); + maps\_utility::smart_dialogue(level.one_vo[var_06]["ally"][var_07]); + return 1; + } + + return 0; +} + +//Function Number: 34 +one_handed_help_gen() +{ + self endon("death"); + if(!maps\_utility::player_can_see_ai(self) && randomint(10) < 7) + { + return 0; + } + + var_00 = []; + if(level.player.one_weap != "none" && level.player.one_weap != "iw5_kvahazmatknifeonearm_sp") + { + var_00 = ["cap_gdn_goodonammo","cap_gdn_goodonammo","cap_gdn_checkyourammo","cap_gdn_checkyourammo","cap_gdn_checkyourammo"]; + } + + if(distancesquared(level.ally.origin,level.player.origin) < 65536) + { + var_00 = ["cap_gdn_hangintheremitchell","cap_gdn_weregonnamakeit"]; + } + + if(self cansee(level.player) && level.player.one_weap == "iw5_kvahazmatknifeonearm_sp") + { + var_00 = common_scripts\utility::array_combine(var_00,["cap_gdn_youreouttimeto"]); + } + + if(var_00.size > 0) + { + level.ally maps\_utility::smart_dialogue(common_scripts\utility::random(var_00)); + return 1; + } + + return 0; +} + +//Function Number: 35 +one_handed_help_flash() +{ + if(animscripts\combat::waitforstancechange()) + { + return 0; + } + + var_00 = common_scripts\utility::get_array_of_closest(level.player.origin,getaiarray("axis"),undefined,undefined,1024,192); + if(self.grenadeammo < 1) + { + maps\_utility::set_grenadeammo(100); + } + + var_01 = undefined; + if(!isdefined(self.a) || !isdefined(self.a.array)) + { + return 0; + } + else if(isdefined(self.a.array["grenade_exposed"])) + { + var_01 = self.a.array["grenade_exposed"]; + } + else if(isdefined(self.a.array["exposed_grenade"])) + { + var_01 = self.a.array["exposed_grenade"]; + } + else + { + return 0; + } + + if(isarray(var_01)) + { + var_01 = var_01[randomint(var_01.size)]; + } + + var_02 = animscripts\combat_utility::getgrenadethrowoffset(var_01); + if(level.player.ot["ally_seen"] + level.player.ot["vis_delay"] > gettime()) + { + return 0; + } + + var_03 = undefined; + self.script_forcegrenade = 1; + foreach(var_05 in var_00) + { + if(self cansee(var_05)) + { + var_03 = self magicgrenade(self.origin + var_02,var_05 getshootatpos(),2); + } + + if(isdefined(var_03)) + { + break; + } + } + + self.script_forcegrenade = 0; + if(self.grenadeammo > 10) + { + maps\_utility::set_grenadeammo(0); + } + + if(!isdefined(var_03)) + { + return 0; + } + + thread animscripts\door::teamflashbangimmune(); + thread maps\_utility::smart_dialogue(common_scripts\utility::random(["cap_gdn_flashouttakecover","cap_gdn_throwingflash"])); + return 1; +} + +//Function Number: 36 +getappropanim(param_00) +{ +} + +//Function Number: 37 +ally_one_handed_grenade_proc() +{ + level.player endon("stop_one_handed_gunplay"); + self endon("death"); + self notify("stop_ally_grenade_help"); + self endon("stop_ally_grenade_help"); + for(;;) + { + level.player common_scripts\utility::waittill_notify_or_timeout("bullet_weapon_dropped",randomfloat(1)); + if(getthreatbias("axis","player") > -1024) + { + continue; + } + + var_00 = common_scripts\utility::get_array_of_closest(level.player.origin,getaiarray("axis"),undefined,undefined,1024,192); + if(self.grenadeammo < 1) + { + maps\_utility::set_grenadeammo(1); + } + + var_01 = undefined; + if(isdefined(self.a.array["grenade_exposed"])) + { + var_01 = self.a.array["grenade_exposed"]; + } + else if(isdefined(self.a.array["exposed_grenade"])) + { + var_01 = self.a.array["exposed_grenade"]; + } + + if(isdefined(var_01) && isarray(var_01)) + { + var_01 = var_01[randomint(var_01.size)]; + } + + var_02 = animscripts\combat_utility::getgrenadethrowoffset(var_01); + var_03 = 0; + self.script_forcegrenade = 1; + foreach(var_05 in var_00) + { + animscripts\combat_utility::setactivegrenadetimer(var_05); + var_03 = animscripts\combat_utility::trygrenadethrow(var_05,var_05 getshootatpos(),var_01,var_02,1,0,1); + if(var_03) + { + if(self.grenadeweapon == "flash_grenade") + { + self notify("flashbang_thrown"); + } + + self.teamflashbangimmunity = 1; + maps\_utility::anim_stopanimscripted(); + self notify("move_interrupt"); + self.update_move_anim_type = undefined; + self.a.movement = "stop"; + common_scripts\utility::waittill_any("done_grenade_throw","killanimscript"); + thread animscripts\move::restartmoveloop(1); + maps\_utility::set_force_color("r"); + break; + } + } + + self.script_forcegrenade = 0; + if(var_03) + { + wait(randomfloatrange(8,10)); + self.teamflashbangimmunity = undefined; + continue; + } + + wait(0.25); + } +} + +//Function Number: 38 +one_handed_help_aggro() +{ + self endon("death"); + var_00 = []; + foreach(var_02 in common_scripts\utility::get_array_of_closest(level.player.origin,getaiarray("axis"),undefined,undefined,384)) + { + if(isplayer(var_02.enemy)) + { + var_00[var_00.size] = var_02; + } + } + + foreach(var_02 in var_00) + { + if(self cansee(var_02)) + { + self.aggressivemode = 1; + maps\_utility::set_favoriteenemy(var_02); + var_02 thread opfor_help_aggro(); + return 1; + } + } + + return 0; +} + +//Function Number: 39 +opfor_help_aggro() +{ + self endon("aggro_cleanup"); + thread opfor_help_aggro_cleanup(5); + self.aggro_target = 1; + self.health = 1; + self waittill("death",var_00); + level.ally.aggressivemode = undefined; + if(!isdefined(var_00) || isplayer(var_00)) + { + return; + } + + wait(randomfloatrange(0.25,0.75)); + level.ally maps\_utility::smart_dialogue(common_scripts\utility::random(["cap_gdn_gotyourback","cap_gdn_igotchamitchell","cap_gdn_thankmelater"])); +} + +//Function Number: 40 +opfor_help_aggro_cleanup(param_00) +{ + self endon("death"); + wait(param_00); + self.aggro_target = undefined; + self.health = 100; + level.player.ot["aggro"] = 0; + level.ally.aggressivemode = undefined; + level.ally maps\_utility::set_favoriteenemy(undefined); + self notify("aggro_cleanup"); +} + +//Function Number: 41 +get_player_speed() +{ + self endon("death"); + var_00 = self getentityvelocity(); + return sqrt(squared(var_00[0]) + squared(var_00[1])); +} + +//Function Number: 42 +get_relative_direction(param_00) +{ + var_01 = vectortoangles(vectornormalize(anglestoforward(animscripts\battlechatter::getrelativeangles(self)))); + var_02 = vectortoangles(param_00.origin - self.origin); + var_03 = int(var_01[1] - var_02[1] + 360) % 360; + if(var_03 > 315 || var_03 < 45) + { + return "twelve"; + } + + if(var_03 > 225) + { + return "nine"; + } + + if(var_03 > 135) + { + return "six"; + } + + return "three"; +} + +//Function Number: 43 +one_handed_help_vo_setup() +{ + if(isdefined(level.one_vo)) + { + return; + } + + var_00 = []; + var_00["smg"] = []; + var_00["pistol"] = []; + var_00["pistol"]["twelve"] = ["cap_gdn_pistolatyour12","cap_gdn_weaponatyour12"]; + var_00["pistol"]["nine"] = ["cap_gdn_pistolatyour9","cap_gdn_weaponatyour9"]; + var_00["pistol"]["six"] = ["cap_gdn_pistolatyour6","cap_gdn_weaponatyour6"]; + var_00["pistol"]["three"] = ["cap_gdn_pistolatyour3","cap_gdn_weaponatyour3"]; + var_00["smg"]["twelve"] = ["cap_gdn_smgatyour12","cap_gdn_weaponatyour12"]; + var_00["smg"]["nine"] = ["cap_gdn_smgatyour9","cap_gdn_weaponatyour9"]; + var_00["smg"]["six"] = ["cap_gdn_smgatyour6","cap_gdn_weaponatyour6"]; + var_00["smg"]["three"] = ["cap_gdn_smgatyour3","cap_gdn_weaponatyour3"]; + var_00["pistol"]["ally"] = ["cap_gdn_foundapistol","cap_gdn_pistolhere","cap_gdn_weaponsoverhere","cap_gdn_extragunsheremitchell"]; + var_00["smg"]["ally"] = ["cap_gdn_foundansmg","cap_gdn_smghere","cap_gdn_weaponsoverhere","cap_gdn_extragunsheremitchell"]; + level.one_vo = var_00; +} + +//Function Number: 44 +opfor_death_mod() +{ + self endon("stop_opfor_one_handed"); + level.player endon("stop_one_handed_gunplay"); + self waittill("death",var_00,var_01,var_02); + var_03 = self.enemy; + if(!isdefined(var_03)) + { + var_03 = self; + } + + if(isremovedentity(self)) + { + return; + } + + maps\_utility::place_weapon_on(one_handed_get_base_weapon(self.weapon,1,"iw5_titan45onearmgundown_sp_xmags"),"right"); + if(isplayer(var_00) && var_02 == "iw5_kvahazmatknifeonearm_sp") + { + self notify("opfor_melee_kill"); + self.dropweapon = 0; + level.player one_handed_melee_take_weapon(self.weapon); + } + + if(!isdefined(level.one_handed_help)) + { + return 0; + } + + wait(randomfloatrange(0.25,0.75)); + var_04 = gettime(); + if(var_04 > level.player.ot["p_kill"] && isplayer(var_00) && var_03 == level.ally && common_scripts\utility::cointoss()) + { + level.player.ot["p_kill"] = var_04 + 15000; + level.ally maps\_utility::smart_dialogue(common_scripts\utility::random(["cap_gdn_goodshot","cap_gdn_thanksforthesave"])); + return; + } + + if(var_04 > level.player.ot["a_kill"] && var_04 > level.player.one_time && isplayer(var_03) && var_00 == level.ally && common_scripts\utility::cointoss()) + { + level.player.ot["a_kill"] = var_04 + 15000; + level.ally maps\_utility::smart_dialogue(common_scripts\utility::random(["cap_gdn_thankmelater","cap_gdn_gotyourback","cap_gdn_igotchamitchell"])); + } +} + +//Function Number: 45 +opfor_ammo_drop_mod() +{ + self endon("stop_opfor_one_handed"); + level.player endon("stop_one_handed_gunplay"); + self endon("opfor_melee_kill"); + self waittill("weapon_dropped",var_00); + wait(0.05); + if(!isdefined(var_00)) + { + return; + } + + var_01 = getsubstr(var_00.classname,7); + if(isdefined(self.dropweapon) && !self.dropweapon) + { + var_00 delete(); + return; + } + + if(weaponclass(var_01) == "pistol" || weaponclass(var_01) == "smg") + { + var_00 itemweaponsetammo(int(randomfloatrange(0.7,1) * weaponclipsize(var_01)),0); + return; + } + + var_00 delete(); +} + +//Function Number: 46 +door_setup(param_00,param_01,param_02) +{ + var_03 = undefined; + if(isstring(param_00)) + { + var_03 = getent(param_00,"targetname"); + } + else + { + var_03 = param_00; + } + + if(var_03.classname != "script_model" && var_03.classname != "script_brushmodel") + { + } + + var_04 = undefined; + if(isdefined(var_03.target)) + { + var_05 = getentarray(var_03.target,"targetname"); + foreach(var_07 in var_05) + { + if(var_07.classname == "script_brushmodel") + { + var_04 = var_07; + continue; + } + + if(var_07.classname == "script_origin") + { + if(!isdefined(param_02)) + { + var_03.hinge = var_07; + var_03.hinge.tag_name = param_02; + var_03 linkto(var_03.hinge); + } + } + } + } + + if(isdefined(param_02)) + { + var_03.hinge = common_scripts\utility::spawn_tag_origin(); + var_03.hinge.origin = var_03 gettagorigin(param_02); + var_03.hinge.angles = var_03 gettagangles(param_02); + if(!isdefined(param_01)) + { + var_03 linkto(var_03.hinge); + } + } + + if(isdefined(var_04)) + { + var_03.col_brush = var_04; + if(isdefined(param_02)) + { + var_03.col_brush linkto(var_03,param_02); + } + else + { + var_03.col_brush linkto(var_03); + } + } + else if(var_03.classname == "script_brushmodel") + { + var_03.col_brush = var_03; + } + + var_03.original_angles = var_03.angles; + if(isdefined(param_01)) + { + var_03 maps\_utility::assign_animtree(param_01); + } + + return var_03; +} + +//Function Number: 47 +door_close(param_00,param_01,param_02) +{ + var_03 = self; + if(isdefined(self._lastanimtime)) + { + self._lastanimtime = undefined; + self stopuseanimtree(); + } + + var_04 = undefined; + if(isdefined(var_03.hinge)) + { + if(!var_03 islinked()) + { + var_03 linkto(var_03.hinge); + } + + var_04 = var_03.hinge; + } + else + { + var_04 = var_03; + } + + var_05 = 0.05; + if(isdefined(param_01)) + { + var_05 = param_01; + } + + if(isdefined(param_00)) + { + var_04 rotateyaw(param_00,var_05); + } + else + { + var_04 rotateto(var_03.original_angles,var_05); + } + + if(isdefined(param_02)) + { + wait(param_02); + } + else + { + wait(var_05); + } + + if(isdefined(var_03.col_brush)) + { + var_03.col_brush disconnectpaths(); + } +} + +//Function Number: 48 +door_open(param_00,param_01,param_02) +{ + var_03 = self; + if(isdefined(self._lastanimtime)) + { + self._lastanimtime = undefined; + self stopuseanimtree(); + } + + var_04 = undefined; + if(isdefined(var_03.hinge)) + { + if(!var_03 islinked()) + { + var_03 linkto(var_03.hinge); + } + + var_04 = var_03.hinge; + } + else + { + var_04 = var_03; + } + + var_05 = undefined; + var_06 = undefined; + if(isarray(param_00)) + { + var_05 = param_00[0]; + var_06 = param_00[1]; + } + else + { + var_05 = param_00; + } + + var_07 = 0.05; + if(isdefined(param_01)) + { + var_07 = param_01; + } + + var_04 rotateyaw(var_05,var_07); + if(isdefined(param_02)) + { + wait(param_02); + } + else + { + wait(var_07); + } + + if(isdefined(var_03.col_brush)) + { + var_03.col_brush connectpaths(); + } + + if(isdefined(param_02) && param_02 < var_07) + { + wait(var_07 - param_02); + } + + wait(0.05); + if(isdefined(var_06)) + { + var_04 rotateyaw(var_06,2.5,0.05,2.45); + } +} + +//Function Number: 49 +door_lower(param_00,param_01,param_02) +{ + self moveto(param_00,param_01); + if(isdefined(param_02)) + { + wait(param_02); + } + else + { + wait(param_01); + } + + self.col_brush disconnectpaths(); +} + +//Function Number: 50 +door_raise(param_00,param_01,param_02) +{ + self moveto(param_00,param_01); + if(isdefined(param_02)) + { + wait(param_02); + } + else + { + wait(param_01); + } + + self.col_brush connectpaths(); +} + +//Function Number: 51 +captured_caravan_spawner(param_00,param_01,param_02,param_03,param_04) +{ + level endon("stop_caravan_spawner"); + if(level.currentgen) + { + if(isdefined(param_04)) + { + var_05 = tff_get_zone_cleanup_notify(param_04); + if(var_05 != "") + { + level endon(var_05); + } + } + } + + var_06 = 1; + if(!isdefined(param_02)) + { + param_02 = 2; + } + + if(!isdefined(param_03)) + { + param_03 = 3; + } + + for(;;) + { + var_07 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive(param_00); + if(level.currentgen) + { + if(isdefined(param_04)) + { + var_07 thread tff_cleanup_vehicle(param_04); + } + } + + var_07 thread captured_caravan_truck_remover(); + wait(randomfloatrange(param_02,param_03)); + if(param_00 == "intro_drive_trucks") + { + thread soundscripts\_snd::snd_message("aud_intro_caravan_passby"); + } + + if(isdefined(param_01)) + { + if(var_06 >= param_01) + { + break; + } + + var_06 = var_06 + 1; + } + } +} + +//Function Number: 52 +captured_caravan_truck_remover(param_00) +{ + self waittill("reached_end_node"); + self delete(); +} + +//Function Number: 53 +debug_show_pos(param_00,param_01,param_02,param_03) +{ + self notify("stop_debug_show_pos"); + self endon("stop_debug_show_pos"); + self endon("death"); + if(!isdefined(param_00)) + { + param_00 = 8; + } + + if(!isdefined(param_01)) + { + param_01 = 0; + } + + if(!isdefined(param_02)) + { + param_02 = 0; + } + + if(!isdefined(param_03)) + { + param_03 = 1; + } + + for(;;) + { + self notify("stop_circle"); + maps\_utility::draw_circle_until_notify(self.origin,param_00,param_01,param_02,param_03,self,"stop_circle"); + wait(0.05); + } +} + +//Function Number: 54 +debug_text(param_00,param_01) +{ + self notify("stop_debug_show_pos"); + self endon("stop_debug_show_pos"); + self endon("death"); + if(!isdefined(param_00)) + { + param_00 = (1,1,1); + } + + if(isdefined(param_01)) + { + thread maps\_utility::notify_delay("stop_debug_show_pos",param_01); + } + + wait(0.05); +} + +//Function Number: 55 +debug_show_pos_once(param_00,param_01,param_02,param_03,param_04,param_05) +{ + if(!isdefined(param_01)) + { + param_01 = 8; + } + + if(!isdefined(param_02)) + { + param_02 = 0; + } + + if(!isdefined(param_03)) + { + param_03 = 0; + } + + if(!isdefined(param_04)) + { + param_04 = 1; + } + + maps\_utility::draw_circle_until_notify(param_00,param_01,param_02,param_03,param_04,level,param_05); + wait(0.05); +} + +//Function Number: 56 +debug_show_vec(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + if(!isdefined(param_02)) + { + param_02 = (1,0,0); + } + + if(!isdefined(param_03)) + { + var_07 = 100; + } + + if(isdefined(param_04)) + { + thread maps\_debug::print3ddraw(param_00,param_04,param_02,param_05,param_06); + } + + thread maps\_debug::drawarrow(param_00,param_01,param_02,param_03); + wait(0.05 * param_03); + self notify("stop_print3ddraw"); +} + +//Function Number: 57 +mission_timer() +{ + if(!getdvarint("timer_enabled")) + { + return; + } + + var_00 = 1; + level.time_array = []; + level.location_array = []; + level.display_array = []; + level.time_display_array = []; + var_01 = mission_timer_hud_creator(10,420); + var_01 settimerstatic(var_00); + for(;;) + { + var_02 = level.location_array.size; + for(;;) + { + wait(1); + var_01 settimerstatic(var_00); + if(var_02 != level.location_array.size) + { + level.time_array[level.time_array.size] = var_00; + var_00 = var_00 + 1; + break; + } + + var_00 = var_00 + 1; + } + + if(level.location_array[level.location_array.size - 1] == "end") + { + break; + } + } + + level notify("new_event_message"); + var_03 = mission_timer_hud_creator(380,30); + var_03 settext("Event Timings"); + var_04 = 0; + foreach(var_06 in level.display_array) + { + var_06 settext(level.location_array[var_04] + " " + "="); + var_04 = var_04 + 1; + } + + var_04 = 0; + foreach(var_09 in level.time_display_array) + { + var_09 settimerstatic(level.time_array[var_04]); + var_04 = var_04 + 1; + } +} + +//Function Number: 58 +mission_timer_event(param_00) +{ + if(!getdvarint("timer_enabled")) + { + return; + } + + level.location_array[level.location_array.size] = param_00; + var_01 = level.location_array.size; + var_02 = var_01 * 20; + var_02 = var_02 + 50; + while(level.time_array.size != level.location_array.size) + { + wait(0.05); + } + + var_03 = mission_timer_hud_creator(300,var_02); + level.display_array[level.display_array.size] = var_03; + var_03 = mission_timer_hud_creator(400,var_02); + level.time_display_array[level.time_display_array.size] = var_03; +} + +//Function Number: 59 +mission_timer_hud_creator(param_00,param_01) +{ + var_02 = newhudelem(); + var_02.x = param_00; + var_02.y = param_01; + var_02.sort = 0; + var_02.alignx = "right"; + var_02.aligny = "middle"; + var_02.fontscale = 2; + var_02.font = "objective"; + var_02.color = (1,1,1); + return var_02; +} + +//Function Number: 60 +waittill_entity_activate_looking_at(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ + var_0A = 0.5; + if(isdefined(param_04)) + { + var_0A = param_04; + } + + var_0B = 64; + if(isdefined(param_03)) + { + var_0B = param_03; + } + + if(!isdefined(param_05)) + { + param_05 = 1; + } + else + { + param_05 = 0; + } + + var_0C = param_00; + if(isdefined(param_06)) + { + var_0C = param_00 common_scripts\utility::spawn_tag_origin(); + var_0C linkto(param_00,param_06,(0,0,0),(0,0,0)); + } + + if(!isdefined(param_07)) + { + param_07 = 5; + } + + if(isdefined(param_02)) + { + var_0D = param_02; + } + else + { + var_0D = "flag_waittill_entity_activate_looking_at"; + } + + if(!common_scripts\utility::flag_exist(var_0D)) + { + common_scripts\utility::flag_init(var_0D); + } + + var_0E = 0; + var_0F = 0; + for(;;) + { + if(isdefined(param_09)) + { + common_scripts\utility::flag_wait(param_09); + } + + if((isdefined(param_01) && param_01 != "melee" && level.player meleebuttonpressed()) || level.player isthrowinggrenade() || !level.player isonground() || level.player getstance() == "prone") + { + common_scripts\utility::flag_clear(var_0D); + var_0F = 0; + level.player enableweaponpickup(); + } + else if(level.player maps\_utility::player_looking_at(var_0C.origin,var_0A,1)) + { + var_10 = undefined; + if(param_05) + { + var_10 = level.player geteye(); + } + else + { + var_10 = level.player.origin; + } + + if(isdefined(param_08)) + { + if(common_scripts\utility::flag(param_08)) + { + if(!common_scripts\utility::flag(var_0D)) + { + var_0E = 1; + } + } + else + { + common_scripts\utility::flag_clear(var_0D); + var_0F = 0; + level.player enableweaponpickup(); + } + } + else if(distance(var_10,var_0C.origin) <= var_0B) + { + if(!common_scripts\utility::flag(var_0D)) + { + var_0E = 1; + } + } + else + { + common_scripts\utility::flag_clear(var_0D); + var_0F = 0; + level.player enableweaponpickup(); + } + } + else + { + common_scripts\utility::flag_clear(var_0D); + var_0F = 0; + level.player enableweaponpickup(); + } + + if(isdefined(param_01)) + { + if(param_01 == "melee" && level.player meleebuttonpressed()) + { + var_0F++; + } + } + else if(level.player usebuttonpressed()) + { + var_0F++; + } + + if(common_scripts\utility::flag(var_0D) && var_0F >= param_07) + { + break; + } + + if(var_0E) + { + common_scripts\utility::flag_set(var_0D); + if(isdefined(param_02)) + { + maps\_utility::display_hint_timeout(param_02); + } + + var_0E = 0; + level.player disableweaponpickup(); + } + + wait(0.05); + } + + level.player enableweaponpickup(); + common_scripts\utility::flag_clear(var_0D); + if(isdefined(param_06)) + { + var_0C delete(); + } +} + +//Function Number: 61 +ignore_everything() +{ + if(isdefined(self.script_drone)) + { + return; + } + + if(isdefined(self._ignore_settings_old)) + { + unignore_everything(); + } + + self._ignore_settings_old = []; + self.disableplayeradsloscheck = save_ignore_setting(self.disableplayeradsloscheck,"disableplayeradsloscheck",1); + self.ignoreall = save_ignore_setting(self.ignoreall,"ignoreall",1); + self.ignoreme = save_ignore_setting(self.ignoreme,"ignoreme",1); + self.grenadeawareness = save_ignore_setting(self.grenadeawareness,"grenadeawareness",0); + self.ignoreexplosionevents = save_ignore_setting(self.ignoreexplosionevents,"ignoreexplosionevents",1); + self.ignorerandombulletdamage = save_ignore_setting(self.ignorerandombulletdamage,"ignorerandombulletdamage",1); + self.ignoresuppression = save_ignore_setting(self.ignoresuppression,"ignoresuppression",1); + self.dontavoidplayer = save_ignore_setting(self.dontavoidplayer,"dontavoidplayer",1); + self.newenemyreactiondistsq = save_ignore_setting(self.newenemyreactiondistsq,"newEnemyReactionDistSq",0); + self.disablebulletwhizbyreaction = save_ignore_setting(self.disablebulletwhizbyreaction,"disableBulletWhizbyReaction",1); + self.disablefriendlyfirereaction = save_ignore_setting(self.disablefriendlyfirereaction,"disableFriendlyFireReaction",1); + self.dontmelee = save_ignore_setting(self.dontmelee,"dontMelee",1); + self.flashbangimmunity = save_ignore_setting(self.flashbangimmunity,"flashBangImmunity",1); + self.dodangerreact = save_ignore_setting(self.dodangerreact,"doDangerReact",0); + self.neversprintforvariation = save_ignore_setting(self.neversprintforvariation,"neverSprintForVariation",1); + self.a.disablepain = save_ignore_setting(self.a.disablepain,"a.disablePain",1); + self.allowpain = save_ignore_setting(self.allowpain,"allowPain",0); + self.ignoresonicaoe = save_ignore_setting(self.ignoresonicaoe,"IgnoreSonicAoE",1); + self pushplayer(1); +} + +//Function Number: 62 +save_ignore_setting(param_00,param_01,param_02) +{ + if(isdefined(param_00)) + { + self._ignore_settings_old[param_01] = param_00; + } + else + { + self._ignore_settings_old[param_01] = "none"; + } + + return param_02; +} + +//Function Number: 63 +unignore_everything(param_00) +{ + if(isremovedentity(self)) + { + return; + } + + if(isdefined(self.script_drone)) + { + return; + } + + if(isdefined(param_00) && param_00) + { + if(isdefined(self._ignore_settings_old)) + { + self._ignore_settings_old = undefined; + } + } + + self.disableplayeradsloscheck = restore_ignore_setting("disableplayeradsloscheck",0); + self.ignoreall = restore_ignore_setting("ignoreall",0); + self.ignoreme = restore_ignore_setting("ignoreme",0); + self.grenadeawareness = restore_ignore_setting("grenadeawareness",1); + self.ignoreexplosionevents = restore_ignore_setting("ignoreexplosionevents",0); + self.ignorerandombulletdamage = restore_ignore_setting("ignorerandombulletdamage",0); + self.ignoresuppression = restore_ignore_setting("ignoresuppression",0); + self.dontavoidplayer = restore_ignore_setting("dontavoidplayer",0); + self.newenemyreactiondistsq = restore_ignore_setting("newEnemyReactionDistSq",262144); + self.disablebulletwhizbyreaction = restore_ignore_setting("disableBulletWhizbyReaction",undefined); + self.disablefriendlyfirereaction = restore_ignore_setting("disableFriendlyFireReaction",undefined); + self.dontmelee = restore_ignore_setting("dontMelee",undefined); + self.flashbangimmunity = restore_ignore_setting("flashBangImmunity",undefined); + self.dodangerreact = restore_ignore_setting("doDangerReact",1); + self.neversprintforvariation = restore_ignore_setting("neverSprintForVariation",undefined); + self.a.disablepain = restore_ignore_setting("a.disablePain",0); + self.allowpain = restore_ignore_setting("allowPain",1); + self._ignore_settings_old = undefined; +} + +//Function Number: 64 +restore_ignore_setting(param_00,param_01) +{ + if(isdefined(self._ignore_settings_old)) + { + if(isstring(self._ignore_settings_old[param_00]) && self._ignore_settings_old[param_00] == "none") + { + return param_01; + } + else + { + return self._ignore_settings_old[param_00]; + } + } + + return param_01; +} + +//Function Number: 65 +cap_civilian_damage_proc(param_00) +{ + level endon("start_autopsy_enter"); + level.captured_mission_failed = ""; + self.no_friendly_fire_penalty = 1; + if(isdefined(param_00)) + { + self.health = param_00; + } + else + { + self.health = 300; + } + + for(;;) + { + self waittill("damage",var_01,var_02); + if(isplayer(var_02)) + { + if(self.health - var_01 <= 0) + { + if(level.captured_mission_failed != "true") + { + level.captured_mission_failed = "true"; + if(!level.missionfailed) + { + setdvar("ui_deadquote",&"CAPTURED_FAIL_UNARMED"); + maps\_utility::missionfailedwrapper(); + } + } + } + + continue; + } + + self kill(var_02 geteye(),var_02); + } +} + +//Function Number: 66 +kill_no_react() +{ + if(!isalive(self)) + { + return; + } + + if(isdefined(self.magic_bullet_shield)) + { + maps\_utility::stop_magic_bullet_shield(); + } + + self.allowdeath = 1; + self.a.nodeath = 1; + maps\_utility::set_battlechatter(0); + self kill(); +} + +//Function Number: 67 +start_point_is_after(param_00,param_01) +{ + return start_point_check("after",param_00,param_01); +} + +//Function Number: 68 +start_point_is_before(param_00,param_01) +{ + return start_point_check("before",param_00,param_01); +} + +//Function Number: 69 +start_point_is_between(param_00,param_01) +{ + return start_point_check("between",param_00,param_01); +} + +//Function Number: 70 +start_point_check(param_00,param_01,param_02) +{ + var_03 = undefined; + var_04 = []; + if(!isarray(param_01)) + { + var_04[0] = param_01; + } + else + { + var_04 = param_01; + } + + var_05 = var_04.size; + for(var_06 = 0;var_06 < var_04.size;var_06++) + { + var_04[var_06] = tolower(var_04[var_06]); + } + + var_07 = getarraykeys(level.start_arrays); + var_08 = []; + for(var_06 = 0;var_06 < var_07.size;var_06++) + { + for(var_09 = 0;var_09 < var_04.size;var_09++) + { + if(var_07[var_06] == var_04[var_09]) + { + var_08 = common_scripts\utility::array_add(var_08,var_06); + var_04 = maps\_utility::array_remove_index(var_04,var_09); + break; + } + } + + if(var_07[var_06] == level.start_point) + { + var_03 = var_06; + } + } + + switch(param_00) + { + case "before": + if(isdefined(param_02) && param_02 && var_03 <= var_08[0]) + { + return 1; + } + else if(var_03 < var_08[0]) + { + return 1; + } + break; + + case "between": + if(isdefined(param_02) && param_02 && var_03 >= var_08[0] && var_03 <= var_08[1]) + { + return 1; + } + else if(var_03 > var_08[0] && var_03 < var_08[1]) + { + return 1; + } + break; + + case "after": + if(isdefined(param_02) && param_02 && var_03 >= var_08[0]) + { + return 1; + } + else if(var_03 > var_08[0]) + { + return 1; + } + break; + } + + return 0; +} + +//Function Number: 71 +waittill_notify_func(param_00,param_01,param_02,param_03,param_04,param_05) +{ + self waittill(param_00); + if(isdefined(param_05)) + { + self [[ param_01 ]](param_02,param_03,param_04,param_05); + return; + } + + if(isdefined(param_04)) + { + self [[ param_01 ]](param_02,param_03,param_04); + return; + } + + if(isdefined(param_03)) + { + self [[ param_01 ]](param_02,param_03); + return; + } + + if(isdefined(param_02)) + { + self [[ param_01 ]](param_02); + return; + } + + self [[ param_01 ]](); +} + +//Function Number: 72 +waittill_notify_func_ent(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + param_00 waittill(param_01); + if(isdefined(param_06)) + { + self [[ param_02 ]](param_03,param_04,param_05,param_06); + return; + } + + if(isdefined(param_05)) + { + self [[ param_02 ]](param_03,param_04,param_05); + return; + } + + if(isdefined(param_04)) + { + self [[ param_02 ]](param_03,param_04); + return; + } + + if(isdefined(param_03)) + { + self [[ param_02 ]](param_03); + return; + } + + self [[ param_02 ]](); +} + +//Function Number: 73 +ambient_fan_rotate() +{ + self rotatepitch(randomint(360),0.1); + for(;;) + { + self rotatepitch(360,3); + wait(3); + } +} + +//Function Number: 74 +physics_bodies_on(param_00,param_01,param_02) +{ + var_03 = common_scripts\utility::getstructarray(param_00,"script_noteworthy"); + if(isdefined(param_01)) + { + if(param_01 > 0) + { + wait(param_01); + } + } + + if(!isdefined(level.hanging_bodies)) + { + level.hanging_bodies = []; + } + + if(isdefined(param_02)) + { + var_04 = ["cap_hanging_bodybag_clean","cap_hanging_bodybag_clean_b","cap_hanging_bodybag_clean_c","cap_hanging_bodybag_02_clean","cap_hanging_bodybag_02_clean_b","cap_hanging_bodybag_02_clean_c"]; + } + else + { + var_04 = ["cap_hanging_bodybag","cap_hanging_bodybag_02","cap_hanging_bodybag_b","cap_hanging_bodybag_c","cap_hanging_bodybag_02_b","cap_hanging_bodybag_02_c"]; + } + + foreach(var_06 in var_03) + { + var_07 = common_scripts\utility::random(var_04); + var_08 = spawn("script_model",var_06.origin); + var_08 setmodel(var_07); + var_08.angles = var_06.angles; + level.hanging_bodies = common_scripts\utility::array_add(level.hanging_bodies,var_08); + } +} + +//Function Number: 75 +physics_bodies_off() +{ + if(isdefined(level.hanging_bodies)) + { + var_00 = []; + foreach(var_02 in level.hanging_bodies) + { + var_02 physicsstop(); + var_02 delete(); + level.hanging_bodies = common_scripts\utility::array_remove(level.hanging_bodies,var_02); + } + } +} + +//Function Number: 76 +captured_hint_radius(param_00,param_01,param_02,param_03) +{ +} + +//Function Number: 77 +tprintln(param_00,param_01) +{ + if(!isdefined(level.debugging_on)) + { + return 0; + } + + return 1; +} + +//Function Number: 78 +jkuprint(param_00,param_01,param_02) +{ + setdvarifuninitialized("jkudebug",0); + if(!isdefined(param_01)) + { + param_01 = "onscreen"; + } + + if(!isdefined(param_02)) + { + param_02 = 100; + } + + if(getdvarint("jkudebug") == 1) + { + switch(param_01) + { + case "onscreen": + iprintln(param_00); + break; + + case "3d": + if(!isdefined(self.origin)) + { + break; + } + break; + + case "3dattached": + thread jkuprint3dattached(param_00,param_02); + break; + + case "console": + break; + + case "bold": + iprintlnbold(param_00); + break; + + default: + break; + } + } +} + +//Function Number: 79 +jkuprint3dattached(param_00,param_01) +{ + if(!isdefined(self)) + { + } + + self endon("death"); + self endon("jkuprint_stop"); + for(var_02 = 0;var_02 < param_01;var_02++) + { + wait 0.05; + } +} + +//Function Number: 80 +jkupoint(param_00,param_01,param_02) +{ + setdvarifuninitialized("jkudebug",0); + if(getdvarint("jkudebug") == 1) + { + if(!isdefined(self.origin)) + { + return; + } + else + { + var_03 = self.origin; + } + + if(!isdefined(param_00)) + { + param_00 = 6; + } + + if(!isdefined(param_01)) + { + param_01 = (1,1,1); + } + + if(!isdefined(param_02)) + { + param_02 = 400; + } + } +} + +//Function Number: 81 +jkuline(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + setdvarifuninitialized("jkudebug",0); + if(getdvarint("jkudebug") == 1) + { + if(!isdefined(param_02)) + { + param_02 = (1,1,1); + } + + if(!isdefined(param_03)) + { + param_03 = 1; + } + + if(!isdefined(param_04)) + { + param_04 = 0; + } + + if(!isdefined(param_05)) + { + param_05 = 200; + } + + if(isdefined(param_06)) + { + if(isdefined(param_07)) + { + var_08 = 40; + param_01 = self.origin + anglestoforward(self.angles) * var_08; + } + else + { + var_08 = distance2d(param_01,param_02); + } + + var_09 = var_08 * 0.2; + var_0A = var_08 * 0.5; + var_0B = var_08 * 0.175; + var_0C = param_00 - param_01; + var_0D = param_01 + anglestoforward(vectortoangles(var_0C)) * var_09; + var_0E = param_01 + anglestoforward(vectortoangles(var_0C)) * var_0A; + return; + } + } +} + +//Function Number: 82 +tff_get_zone_cleanup_notify(param_00) +{ + var_01 = ""; + switch(param_00) + { + case "intro_drive": + var_01 = "tff_pre_intro_drive_to_s2walk"; + break; + + case "s2walk": + var_01 = "tff_pre_s2walk_to_interrogate"; + break; + + case "helipad": + var_01 = "tff_pre_helipad_to_mechbattle"; + break; + } + + return var_01; +} + +//Function Number: 83 +tff_cleanup_vehicle(param_00) +{ + var_01 = tff_get_zone_cleanup_notify(param_00); + if(var_01 == "") + { + return; + } + + level waittill(var_01); + if(isarray(self)) + { + foreach(var_03 in self) + { + if(!isdefined(var_03)) + { + return; + } + + if(isremovedentity(var_03)) + { + return; + } + + if(var_03 maps\_vehicle::isvehicle()) + { + var_03 maps\_vehicle_code::_freevehicle(); + } + + var_03 delete(); + } + + return; + } + + if(!isdefined(self)) + { + return; + } + + if(isremovedentity(self)) + { + return; + } + + if(maps\_vehicle::isvehicle()) + { + maps\_vehicle_code::_freevehicle(); + } + + self delete(); +} + +//Function Number: 84 +captured_player_cuffs() +{ + var_00 = self; + var_01 = spawn("script_model",(0,0,0)); + var_01 setmodel("s1_vm_handcuffs"); + var_01 linkto(var_00,"tag_weapon_left",(0,0,0),(0,0,0)); + return var_01; +} + +//Function Number: 85 +captured_worker_weapons() +{ + var_00 = self; + var_01 = spawn("script_model",var_00.origin); + var_01 setmodel("npc_titan45_nocamo"); + var_01 linkto(var_00,"tag_stowed_hip_rear",(-12,10,-2),(30,150,0)); + var_00.no_friendly_fire_penalty = 1; + var_00 waittill("death"); + var_01 delete(); +} \ No newline at end of file diff --git a/AW/PC/maps/captured_vo.gsc b/AW/PC/maps/captured_vo.gsc new file mode 100644 index 0000000..aa0e9cc --- /dev/null +++ b/AW/PC/maps/captured_vo.gsc @@ -0,0 +1,714 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: captured_vo.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 63 + * Decompile Time: 910 ms + * Timestamp: 4/22/2024 2:26:41 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + init_dialogue_flags(); + setup_vo(); + thread init_pcap_vo(); + thread init_plr_vo(); +} + +//Function Number: 2 +init_dialogue_flags() +{ + common_scripts\utility::flag_init("vo_cart_push"); +} + +//Function Number: 3 +setup_vo() +{ + var_00 = "ally_0"; + var_01 = "ally_1"; + var_02 = "ally_2"; + var_03 = "scientist_0"; + var_04 = "tech"; + var_05 = "doctor"; + var_06 = "ah_tech_1"; + var_07 = "ah_tech_2"; + var_08 = "guard_0"; + var_09 = "guard_1"; + var_0A = "guard_2"; + var_0B = "guard_3"; + var_0C = "general_1"; + var_0D = "drug_doctor"; + var_0E = "guard_end"; + level.scr_sound[var_00]["cap_gdn_cormack"] = "cap_gdn_cormack"; + level.scr_sound[var_02]["cap_crk_gideon"] = "cap_crk_gideon"; + level.scr_sound[var_0A]["cap_gr1_everyoneoffthetruck"] = "cap_gr1_everyoneoffthetruck"; + level.scr_sound[var_0C]["cap_gr1_cmonguysgetem"] = "cap_gr1_cmonguysgetem"; + level.scr_sound[var_00]["cap_gdn_groundhitgrunt"] = "cap_gdn_groundhitgrunt"; + level.scr_sound[var_01]["cap_iln_groundhitgrunt"] = "cap_iln_groundhitgrunt"; + level.scr_sound[var_0C]["cap_gr2_thatsallofem"] = "cap_gr2_thatsallofem"; + level.scr_sound[var_0C]["cap_gr3_mover12youreall"] = "cap_gr3_mover12youreall"; + level.scr_sound[var_0A]["cap_gr8_pencomingopen"] = "cap_gr8_pencomingopen"; + level.scr_sound[var_0C]["cap_gr2_thesetwocpen"] = "cap_gr2_thesetwocpen"; + level.scr_sound[var_09]["cap_gr2_intothecage"] = "cap_gr2_intothecage"; + level.scr_sound[var_0B]["cap_gr1_therestofyoubehind_alt01"] = "cap_gr1_therestofyoubehind_alt01"; + level.scr_sound[var_0A]["cap_gr2_move"] = "cap_gr2_move"; + level.scr_sound[var_0C]["cap_gr2_getinthecage"] = "cap_gr2_getinthecage"; + level.scr_sound[var_0C]["cap_gr2_getinside"] = "cap_gr2_getinside"; + level.scr_sound[var_0C]["cap_gr2_getmoving2"] = "cap_gr2_getmoving2"; + level.scr_sound[var_0B]["cap_gr2_penfillingup"] = "cap_gr2_penfillingup"; + level.scr_sound[var_0A]["cap_gr1_pasttheline"] = "cap_gr1_pasttheline"; + level.scr_sound[var_0B]["cap_gr2_4goingdowntozero"] = "cap_gr2_4goingdowntozero"; + level.scr_sound[var_0B]["cap_gr3_4takingtheride"] = "cap_gr3_4takingtheride"; + level.scr_sound[var_0A]["cap_gr2_youreclearfordelivery"] = "cap_gr2_youreclearfordelivery"; + level.scr_sound[var_0A]["cap_gr2_penclosingupsecure"] = "cap_gr2_penclosingupsecure"; + level.scr_sound[var_0A]["cap_gr3_bringemin"] = "cap_gr3_bringemin"; + level.scr_sound[var_0B]["cap_gr5_stepforward"] = "cap_gr5_stepforward"; + level.scr_sound[var_0A]["cap_gr8_pencomingopen"] = "cap_gr8_pencomingopen"; + level.scr_sound[var_09]["cap_gr4_alrightletsgoguys"] = "cap_gr4_alrightletsgoguys"; + level.scr_sound[var_0A]["cap_gr5_moveit"] = "cap_gr5_moveit"; + level.scr_sound[var_0B]["cap_gr5_moveitnow"] = "cap_gr5_moveitnow"; + level.scr_sound[var_0B]["cap_gr17_comeonthisway"] = "cap_gr17_comeonthisway"; + level.scr_sound[var_0B]["cap_gr20_herenow"] = "cap_gr20_herenow"; + level.scr_sound[var_0B]["cap_gr20_letsgo"] = "cap_gr20_letsgo"; + level.scr_sound[var_0B]["cap_gr20_startwalking"] = "cap_gr20_startwalking"; + level.scr_sound[var_0B]["cap_gr20_getoverhere"] = "cap_gr20_getoverhere"; + level.scr_sound[var_0B]["cap_gr20_prisonercomehere"] = "cap_gr20_prisonercomehere"; + level.scr_sound[var_0B]["cap_gr20_prisonerhere"] = "cap_gr20_prisonerhere"; + level.scr_sound[var_00]["cap_iln_ohmygod"] = "cap_iln_ohmygod"; + level.scr_sound[var_0E]["cap_gr10_shutupgetonyour"] = "cap_gr10_shutupgetonyour"; + level.scr_sound[var_0A]["cap_gr4_sendingthepenbackup"] = "cap_gr4_sendingthepenbackup"; + level.scr_sound[var_0B]["cap_gr5_letsstartwalking"] = "cap_gr5_letsstartwalking"; + level.scr_sound[var_0E]["cap_gr17_comeonthisway"] = "cap_gr17_comeonthisway"; + level.scr_sound[var_08]["cap_gr2_movealong"] = "cap_gr2_movealong"; + level.scr_sound[var_0E]["cap_gr4_stoplookin"] = "cap_gr4_stoplookin"; + level.scr_sound[var_0E]["cap_gr4_whatareyoulooking"] = "cap_gr4_whatareyoulooking"; + level.scr_sound[var_0E]["cap_gr7_fourcomingin2"] = "cap_gr7_fourcomingin2"; + level.scr_sound[var_0E]["cap_gr4_rogerthatcblock"] = "cap_gr4_rogerthatcblock"; + level.scr_sound[var_0E]["cap_gr5_alrightpeoplethrough"] = "cap_gr5_alrightpeoplethrough"; + level.scr_sound[var_0E]["cap_gr4_clearedcblocklocking"] = "cap_gr4_clearedcblocklocking"; + level.scr_sound[var_09]["cap_gr7_getmoving"] = "cap_gr7_getmoving"; + level.scr_sound[var_09]["cap_gr11_wegotincomingtoc6"] = "cap_gr11_wegotincomingtoc6"; + level.scr_sound[var_09]["cap_gr9_copythatprisoners"] = "cap_gr9_copythatprisoners"; + level.scr_sound[var_08]["cap_gr8_thatsfarenough"] = "cap_gr8_thatsfarenough"; + level.scr_sound[var_08]["cap_gr8_openthechute"] = "cap_gr8_openthechute"; + level.scr_sound[var_09]["cap_gr7_onthefloor"] = "cap_gr7_onthefloor"; + level.scr_sound[var_09]["cap_gr7_stayput"] = "cap_gr7_stayput"; + level.scr_sound[var_0B]["cap_gr7_open"] = "cap_gr7_open"; + level.scr_sound[var_0B]["cap_gr7_clear"] = "cap_gr7_clear"; + level.scr_sound[var_08]["cap_gr8_wiresout"] = "cap_gr8_wiresout"; + level.scr_sound[var_08]["cap_gr8_hookemup"] = "cap_gr8_hookemup"; + level.scr_sound[var_08]["cap_gr8_go"] = "cap_gr8_go"; + level.scr_sound[var_0B]["cap_gr8_isaiddown"] = "cap_gr8_isaiddown"; + level.scr_sound[var_09]["cap_gr7_haveanicedayasshole_alt01"] = "cap_gr7_haveanicedayasshole_alt01"; + level.scr_sound[var_08]["cap_gr8_wegotfourinthe"] = "cap_gr8_wegotfourinthe"; + level.scr_sound[var_08]["cap_gr9_fourrogerbringem"] = "cap_gr9_fourrogerbringem"; + level.scr_sound[var_08]["cap_gr8_preppingguests"] = "cap_gr8_preppingguests"; + level.scr_sound[var_00]["cap_gdn_gruntsstruggles"] = "cap_gdn_gruntsstruggles"; + level.scr_sound[var_00]["cap_gdn_gruntsstruggles_alt01"] = "cap_gdn_gruntsstruggles_alt01"; + level.scr_sound[var_0E]["cap_gr5_alrightpeoplethrough"] = "cap_gr5_alrightpeoplethrough"; + level.scr_sound[var_09]["cap_gr16_imcoming"] = "cap_gr16_imcoming"; + level.scr_sound[var_09]["cap_gr16_struckbygideongrunting"] = "cap_gr16_struckbygideongrunting"; + level.scr_sound[var_09]["cap_gr16_noi"] = "cap_gr16_noi"; + level.scr_sound[var_00]["cap_gdn_youlooklikehissize"] = "cap_gdn_youlooklikehissize"; + level.scr_sound[var_00]["cap_gdn_grabhispistol"] = "cap_gdn_grabhispistol"; + level.scr_sound[var_00]["cap_gdn_herewithonewing"] = "cap_gdn_herewithonewing"; + level.scr_sound[var_00]["cap_gdn_somakeeveryshotcount"] = "cap_gdn_somakeeveryshotcount"; + level.scr_sound[var_00]["cap_gdn_ready3"] = "cap_gdn_ready3"; + level.scr_sound[var_00]["cap_gdn_mitchelldontshoot"] = "cap_gdn_mitchelldontshoot"; + level.scr_sound[var_00]["cap_gdn_thislookslikesurface"] = "cap_gdn_thislookslikesurface"; + level.scr_sound[var_00]["cap_gdn_illanathisway"] = "cap_gdn_illanathisway"; + level.scr_sound[var_00]["cap_gdn_mitchellgetonthat"] = "cap_gdn_mitchellgetonthat"; + level.scr_sound[var_00]["cap_gdn_hurryupcmonmove"] = "cap_gdn_hurryupcmonmove"; + level.scr_sound[var_01]["cap_iln_cormackslookingbad"] = "cap_iln_cormackslookingbad"; + level.scr_sound[var_02]["cap_crk_icanmakeit"] = "cap_crk_icanmakeit"; + level.scr_sound[var_00]["cap_gdn_dropit"] = "cap_gdn_dropit"; + level.scr_sound[var_00]["cap_gdn_getdown"] = "cap_gdn_getdown"; + level.scr_sound[var_0A]["cap_gr11_freezegetdown"] = "cap_gr11_freezegetdown"; + level.scr_sound[var_0B]["cap_gr12_youontheconsole"] = "cap_gr12_youontheconsole"; + level.scr_sound[var_00]["cap_gdn_mitchellstaythere"] = "cap_gdn_mitchellstaythere"; + level.scr_sound[var_0A]["cap_gr11_getdownnow_alt01"] = "cap_gr11_getdownnow_alt01"; + level.scr_sound[var_00]["cap_gdn_iwillopenfire"] = "cap_gdn_iwillopenfire"; + level.scr_sound[var_00]["cap_gdn_damn"] = "cap_gdn_damn"; + level.scr_sound[var_01]["cap_iln_whathappened"] = "cap_iln_whathappened"; + level.scr_sound[var_00]["cap_gdn_doorslocked"] = "cap_gdn_doorslocked"; + level.scr_sound[var_00]["cap_gdn_standback"] = "cap_gdn_standback"; + level.scr_sound[var_00]["cap_gdn_gettopsidewell"] = "cap_gdn_gettopsidewell"; + level.scr_sound[var_01]["cap_iln_alright"] = "cap_iln_alright"; + level.scr_sound[var_00]["cap_gdn_letsmove"] = "cap_gdn_letsmove"; + level.scr_sound[var_00]["cap_gdn_illonailonadoyou"] = "cap_gdn_illonailonadoyou"; + level.scr_sound[var_00]["cap_gdn_mitchellwegottaget"] = "cap_gdn_mitchellwegottaget"; + level.scr_sound[var_00]["cap_gdn_ifiknowilonashell"] = "cap_gdn_ifiknowilonashell"; + level.scr_sound[var_00]["cap_gdn_letsnotkeepherwaiting"] = "cap_gdn_letsnotkeepherwaiting"; + level.scr_sound[var_00]["cap_gdn_upherestayquiet"] = "cap_gdn_upherestayquiet"; + level.scr_sound[var_00]["cap_gdn_manticorestrikeshes"] = "cap_gdn_manticorestrikeshes"; + level.scr_sound[var_00]["cap_gdn_washingtonnewyork"] = "cap_gdn_washingtonnewyork"; + level.scr_sound[var_00]["cap_gdn_illgrabthetallbloke"] = "cap_gdn_illgrabthetallbloke"; + level.scr_sound[var_00]["cap_gdn_staycalmshutup"] = "cap_gdn_staycalmshutup"; + level.scr_sound[var_03]["cap_sc9_who"] = "cap_sc9_who"; + level.scr_sound[var_03]["cap_tc1_oof"] = "cap_tc1_oof"; + level.scr_sound[var_00]["cap_gdn_theexitwhereis"] = "cap_gdn_theexitwhereis"; + level.scr_sound[var_00]["cap_gdn_thanks"] = "cap_gdn_thanks"; + level.scr_sound[var_00]["cap_gdn_youheardhimthis"] = "cap_gdn_youheardhimthis"; + level.scr_sound[var_00]["cap_gdn_downhere"] = "cap_gdn_downhere"; + level.scr_sound[var_00]["cap_iln_gideonareyouthere"] = "cap_iln_gideonareyouthere"; + level.scr_sound[var_00]["cap_gdn_illonailonadoyou"] = "cap_gdn_illonailonadoyou"; + level.scr_sound[var_00]["cap_gdn_didyouseethelist"] = "cap_gdn_didyouseethelist"; + level.scr_sound[var_00]["cap_gdn_huh"] = "cap_gdn_huh"; + level.scr_sound[var_00]["cap_gdn_open"] = "cap_gdn_open"; + level.scr_sound[var_00]["cap_gdn_damnit"] = "cap_gdn_damnit"; + level.scr_sound[var_00]["cap_gdn_heydoorsbusted"] = "cap_gdn_heydoorsbusted"; + level.scr_sound[var_00]["cap_gdn_welcometoironsvision"] = "cap_gdn_welcometoironsvision"; + level.scr_sound[var_00]["cap_gdn_hesinsane"] = "cap_gdn_hesinsane"; + level.scr_sound[var_00]["cap_gdn_wecantletthishappen"] = "cap_gdn_wecantletthishappen"; + level.scr_sound[var_00]["cap_gdn_illbedamnedifwe"] = "cap_gdn_illbedamnedifwe"; + level.scr_sound[var_00]["cap_gdn_ithinktheseguyswere"] = "cap_gdn_ithinktheseguyswere"; + level.scr_sound[var_00]["cap_gdn_letskeepmoving"] = "cap_gdn_letskeepmoving"; + level.scr_sound[var_00]["cap_gdn_outofthewaymove"] = "cap_gdn_outofthewaymove"; + level.scr_sound[var_00]["cap_gdn_wevegottakeepmoving"] = "cap_gdn_wevegottakeepmoving"; + level.scr_sound[var_06]["cap_lt1_runrun"] = "cap_lt1_runrun"; + level.scr_sound[var_07]["cap_lt2_helpustheyrebehind"] = "cap_lt2_helpustheyrebehind"; + level.scr_sound[var_00]["cap_gdn_ontheground"] = "cap_gdn_ontheground"; + level.scr_sound[var_00]["cap_gdn_downnow"] = "cap_gdn_downnow"; + level.scr_sound[var_00]["cap_gdn_heyyou"] = "cap_gdn_heyyou"; + level.scr_sound[var_04]["cap_sc1_ahhheytakeiteasy"] = "cap_sc1_ahhheytakeiteasy"; + level.scr_sound[var_04]["cap_sc2_ahhohmygod"] = "cap_sc2_ahhohmygod"; + level.scr_sound[var_04]["cap_sc3_ahhscaredreaction"] = "cap_sc3_ahhscaredreaction"; + level.scr_sound[var_04]["cap_sc4_ahhscaredreaction"] = "cap_sc4_ahhscaredreaction"; + level.scr_sound[var_04]["cap_sc5_ahhscaredreaction"] = "cap_sc5_ahhscaredreaction"; + level.scr_sound[var_00]["cap_gdn_throughhere"] = "cap_gdn_throughhere"; + level.scr_sound[var_00]["cap_gdn_wevegottakeepmoving"] = "cap_gdn_wevegottakeepmoving"; + level.scr_sound[var_05]["cap_dcr_stayback"] = "cap_dcr_stayback"; + level.scr_sound[var_05]["cap_dcr_imwarningyou"] = "cap_dcr_imwarningyou"; + level.scr_sound[var_05]["cap_dcr_getbackorillshoot"] = "cap_dcr_getbackorillshoot"; + level.scr_sound[var_00]["cap_gdn_comeongetthedoor"] = "cap_gdn_comeongetthedoor"; + level.scr_sound[var_00]["cap_gdn_cmonhelp"] = "cap_gdn_cmonhelp"; + level.scr_sound[var_05]["cap_dcr_ugh"] = "cap_dcr_ugh"; + level.scr_sound[var_00]["cap_gdn_whereismanticore"] = "cap_gdn_whereismanticore"; + level.scr_sound[var_05]["cap_dcr_theatlascommand"] = "cap_dcr_theatlascommand"; + level.scr_sound[var_05]["cap_dcr_oof"] = "cap_dcr_oof"; + level.scr_sound[var_05]["cap_dcr_itgoesoutside"] = "cap_dcr_itgoesoutside"; + level.scr_sound[var_00]["cap_gdn_throughhere2"] = "cap_gdn_throughhere2"; + level.scr_sound[var_00]["cap_gdn_thehatchletsgo"] = "cap_gdn_thehatchletsgo"; + level.scr_sound[var_00]["cap_gdn_inthehatch"] = "cap_gdn_inthehatch"; + level.scr_sound[var_00]["cap_gdn_what"] = "cap_gdn_what"; + level.scr_sound[var_00]["cap_gdn_shit"] = "cap_gdn_shit"; + level.scr_sound[var_00]["cap_gdn_notgood"] = "cap_gdn_notgood"; + level.scr_sound[var_00]["cap_gdn_weneedawayout"] = "cap_gdn_weneedawayout"; + level.scr_sound[var_00]["cap_gdn_look"] = "cap_gdn_look"; + level.scr_sound[var_00]["cap_gdn_aventunderthis"] = "cap_gdn_aventunderthis"; + level.scr_sound[var_00]["cap_gdn_mitchell"] = "cap_gdn_mitchell"; + level.scr_sound[var_00]["cap_gdn_mitchellcmonlets"] = "cap_gdn_mitchellcmonlets"; + level.scr_sound[var_00]["cap_gdn_cmonpush"] = "cap_gdn_cmonpush"; + level.scr_sound[var_00]["cap_gdn_wegottamovethiscart"] = "cap_gdn_wegottamovethiscart"; + level.scr_sound[var_00]["cap_gdn_push"] = "cap_gdn_push"; + level.scr_sound[var_00]["cap_gdn_keeppushing"] = "cap_gdn_keeppushing"; + level.scr_sound[var_00]["cap_gdn_dontstop"] = "cap_gdn_dontstop"; + level.scr_sound[var_00]["cap_gdn_ughcomeoncome"] = "cap_gdn_ughcomeoncome"; + level.scr_sound[var_00]["cap_gdn_goodtogo"] = "cap_gdn_what"; + level.scr_sound[var_00]["cap_gdn_letsgo2"] = "cap_gdn_letsgo2"; + level.scr_sound[var_00]["cap_gdn_moveit"] = "cap_gdn_moveit"; + level.scr_sound[var_00]["cap_gdn_comeonmitchellcmon"] = "cap_gdn_comeonmitchellcmon"; + level.scr_sound[var_00]["cap_gdn_move"] = "cap_gdn_move"; + level.scr_sound[var_00]["cap_gdn_cmonmate"] = "cap_gdn_cmonmate"; + level.scr_sound[var_00]["cap_gdn_shitmitchell"] = "cap_gdn_shitmitchell"; + level.scr_sound[var_00]["cap_gdn_gotcha"] = "cap_gdn_gotcha"; + level.scr_sound[var_00]["cap_gdn_fuckthatwasclose_alt01"] = "cap_gdn_fuckthatwasclose_alt01"; + level.scr_sound[var_00]["cap_gdn_outofthepanyeah"] = "cap_gdn_outofthepanyeah"; + level.scr_sound[var_00]["cap_gdn_sunlightwerealmost"] = "cap_gdn_sunlightwerealmost"; + level.scr_sound[var_00]["cap_gdn_letshopetherestime"] = "cap_gdn_letshopetherestime"; + level.scr_sound[var_00]["cap_iln_gideonitsilona"] = "cap_iln_gideonitsilona"; + level.scr_sound[var_00]["cap_gdn_goodworkwere"] = "cap_gdn_goodworkwere"; + level.scr_sound[var_00]["cap_iln_hurrycormackisnt"] = "cap_iln_hurrycormackisnt"; + level.scr_sound[var_00]["cap_gdn_theyllcomerunning"] = "cap_gdn_theyllcomerunning"; + level.scr_sound[var_00]["cap_gdn_othersideofthisdoor"] = "cap_gdn_othersideofthisdoor"; + level.scr_sound[var_00]["cap_gdn_thathelothatsour"] = "cap_gdn_thathelothatsour"; + level.scr_sound[var_00]["cap_gdn_ready"] = "cap_gdn_ready"; + level.scr_sound[var_00]["cap_gdn_theyllknowourtwenty"] = "cap_gdn_theyllknowourtwenty"; + level.scr_sound[var_00]["cap_gdn_thatsourridewhatthehell"] = "cap_gdn_thatsourridewhatthehell"; + level.scr_sound[var_00]["cap_gdn_mitchelltakealook"] = "cap_gdn_mitchelltakealook"; + level.scr_sound[var_00]["cap_gdn_lookatthis"] = "cap_gdn_lookatthis"; + level.scr_sound[var_00]["cap_gdn_damnmitchellover"] = "cap_gdn_damnmitchellover"; + level.scr_sound[var_00]["cap_gdn_theresgottabeenough"] = "cap_gdn_theresgottabeenough"; + level.scr_sound[var_00]["cap_gdn_wevegottafindilona"] = "cap_gdn_wevegottafindilona"; + level.scr_sound[var_00]["cap_gdn_wecanspotilonafrom"] = "cap_gdn_wecanspotilonafrom"; + level.scr_sound[var_00]["cap_gdn_mitchellwegottaget2"] = "cap_gdn_mitchellwegottaget2"; + level.scr_sound[var_00]["cap_gdn_letsgorunforit"] = "cap_gdn_letsgorunforit"; + level.scr_sound[var_00]["cap_gdn_pushtothehelicopter"] = "cap_gdn_pushtothehelicopter"; + level.scr_sound[var_00]["cap_gdn_spoolingup"] = "cap_gdn_spoolingup"; + level.scr_sound[var_00]["cap_gdn_anystationany_alt"] = "cap_gdn_anystationany_alt"; + level.scr_sound[var_00]["cap_kgp_twoonethisis"] = "cap_kgp_twoonethisis"; + level.scr_sound[var_00]["cap_gdn_listenironsis_alt"] = "cap_gdn_listenironsis_alt"; + level.scr_sound[var_00]["cap_kgp_understoodweare"] = "cap_kgp_understoodweare"; + level.scr_sound[var_00]["cap_gdn_kingpindoyoucopy"] = "cap_gdn_kingpindoyoucopy"; + level.scr_sound[var_00]["cap_gdn_braceforimpact"] = "cap_gdn_braceforimpact"; + level.scr_sound[var_00]["cap_gdn_holdon"] = "cap_gdn_holdon"; + level.scr_sound[var_00]["cap_gdn_coughing"] = "cap_gdn_coughing"; + level.scr_sound[var_00]["cap_gdn_onyourfeet"] = "cap_gdn_onyourfeet"; + level.scr_sound[var_00]["cap_gdn_watchit"] = "cap_gdn_watchit"; + level.scr_sound[var_00]["cap_gdn_stilllooksfunctional"] = "cap_gdn_stilllooksfunctional"; + level.scr_sound[var_00]["cap_gdn_smashthroughthatwall"] = "cap_gdn_smashthroughthatwall"; + level.scr_sound[var_00]["cap_gdn_overheremitchell"] = "cap_gdn_overheremitchell"; + level.scr_sound[var_00]["cap_gdn_onyoumitchell"] = "cap_gdn_onyoumitchell"; +} + +//Function Number: 4 +s2walk_guard_gate_vo_notetrack(param_00) +{ + param_00 maps\_utility::dialogue_queue("cap_gr5_alrightpeoplethrough"); +} + +//Function Number: 5 +s2walk_guard_cages_vo_notetrack(param_00) +{ + param_00 maps\_utility::dialogue_queue("cap_gr11_ahhlookwhatwe"); + wait(1); + param_00 maps\_utility::dialogue_queue("cap_gr11_keepmovingthisisnt"); + wait(1); + param_00 maps\_utility::dialogue_queue("cap_gr11_wegotincomingtoc6"); + soundscripts\_snd::snd_message("aud_s2walk_guard_hip_radio",param_00); +} + +//Function Number: 6 +s3_guard_takedown_vo_notetrack(param_00) +{ + param_00 maps\_utility::dialogue_queue("cap_gdn_grabhispistol"); +} + +//Function Number: 7 +s3_get_gun_vo_notetrack1(param_00) +{ +} + +//Function Number: 8 +s3_get_gun_vo_notetrack2(param_00) +{ +} + +//Function Number: 9 +s3_get_gun_vo_notetrack3(param_00) +{ +} + +//Function Number: 10 +s3_controlroom_vo_notetrack1(param_00) +{ + param_00 maps\_utility::dialogue_queue("cap_gdn_thislookslikesurface"); +} + +//Function Number: 11 +s3_controlroom_vo_notetrack2(param_00) +{ + param_00 maps\_utility::dialogue_queue("cap_gdn_illanathisway"); +} + +//Function Number: 12 +s3_controlroom_vo_notetrack3(param_00) +{ + param_00 maps\_utility::dialogue_queue("cap_gdn_mitchellgetonthat"); +} + +//Function Number: 13 +s3_controlroom_vo_notetrack4(param_00) +{ + common_scripts\utility::flag_set("s3_escape_entered_security_center"); + param_00 maps\_utility::dialogue_queue("cap_gdn_hurryupcmonmove"); + common_scripts\utility::flag_set("s3_escape_hurry_up_move_done"); +} + +//Function Number: 14 +s3_controlroom_vo_notetrack5(param_00) +{ + common_scripts\utility::flag_wait("s3_escape_hurry_up_move_done"); +} + +//Function Number: 15 +s3_controlroom_vo_notetrack6(param_00) +{ +} + +//Function Number: 16 +s3_controlroom_attack_vo_notetrack(param_00) +{ + level notify("controlroom_guards_enter"); +} + +//Function Number: 17 +s3_controlroom_exit_vo_notetrack1(param_00) +{ + param_00 maps\_utility::dialogue_queue("cap_gdn_damn"); +} + +//Function Number: 18 +s3_controlroom_exit_vo_notetrack2(param_00) +{ + param_00 maps\_utility::dialogue_queue("cap_iln_whathappened"); +} + +//Function Number: 19 +s3_controlroom_exit_vo_notetrack3(param_00) +{ + param_00 maps\_utility::dialogue_queue("cap_gdn_doorslocked"); +} + +//Function Number: 20 +s3_controlroom_exit_vo_notetrack4(param_00) +{ + param_00 maps\_utility::dialogue_queue("cap_gdn_standback"); +} + +//Function Number: 21 +s3_controlroom_exit_vo_notetrack5(param_00) +{ + param_00 maps\_utility::dialogue_queue("cap_gdn_gettopsidewell"); +} + +//Function Number: 22 +s3_controlroom_exit_vo_notetrack6(param_00) +{ +} + +//Function Number: 23 +s3_controlroom_exit_vo_notetrack7(param_00) +{ + wait(2); + param_00 maps\_utility::dialogue_queue("cap_gdn_letsmove"); +} + +//Function Number: 24 +init_pcap_vo() +{ + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_s1_drive_gideon_01,"aud_cap_s1_drive_gideon_01_start",::cap_intro_drive_gdn); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_s1_drive_ilana_01,"aud_cap_s1_drive_ilana_01_start",::cap_intro_drive_iln); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_s1_elevator_gideon_01_enter,"aud_cap_s1_elevator_gideon_01_enter_start",::cap_elevator_gdn); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_s1_elevator_ilana_01_enter,"aud_cap_s1_elevator_ilana_01_enter_start",::cap_elevator_iln); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_s1_elevator_cormack_01_enter,"aud_cap_s1_elevator_cormack_01_enter_start",::cap_elevator_crk); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_s2_walk_ally_02,"aud_cap_s2_walk_ally_02_start",::cap_trolley_gdn); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_s3_interrogation_irons_01,"aud_cap_s3_interrogation_irons_01_start",::cap_interrogation_irn); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_s3_interrogation_cormack_01,"aud_cap_s3_interrogation_cormack_01_start",::cap_interrogation_crk); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_s3_interrogation_cormack_01,"aud_cap_s3_interrogation_cormack_exertion",::cap_interrogation_crk_add); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_s3_rescue_gideon_01,"aud_cap_s3_rescue_gideon_01_start",::cap_rescue_gdn); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_s3_rescue_ilana_01,"aud_cap_s3_rescue_ilana_01_start",::cap_rescue_iln); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_s3_rescue_cormack_01,"aud_cap_s3_rescue_cormack_01_start",::cap_rescue_crk); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_s3_escape_takedown_gideon_01_help,"aud_cap_s3_escape_takedown_gideon_01_help_start",::cap_gun_training_gdn); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_s3_escape_controlroom_ilana_01_exit,"cap_060_131_iln",::cap_separation_iln_01); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_s3_observation_app_gideon_02,"aud_cap_s3_observation_app_gideon_02_011",::cap_observation_gdn_01); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_s3_observation_app_gideon_02,"aud_cap_s3_observation_app_gideon_02_012",::cap_observation_gdn_02); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_s3_test_chamber_app_gideon_03,"aud_cap_s3_test_chamber_app_gideon_03_start",::cap_bake_chamber_gdn_01); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_s3_test_chamber_app_gideon_03,"aud_cap_s3_test_chamber_app_gideon_03_130",::cap_bake_chamber_gdn_02); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_s3_test_chamber_app_gideon_03,"aud_cap_s3_test_chamber_app_gideon_03_021",::cap_test_chamber_gdn_01); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_s3_test_chamber_app_gideon_03,"aud_cap_s3_test_chamber_app_gideon_03_031",::cap_test_chamber_gdn_02); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_s3_test_chamber_app_gideon_03,"aud_cap_s3_test_chamber_app_gideon_03_050",::cap_test_chamber_gdn_03); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_incinerator_start_gideon,"aud_cap_incinerator_start_gideon_030",::cap_incinerator_start_01); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_incinerator_start_gideon,"aud_cap_incinerator_start_gideon_040",::cap_incinerator_start_02); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_incinerator_start_gideon,"aud_cap_incinerator_start_gideon_041",::cap_incinerator_start_03); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_incinerator_push_gideon,"aud_cap_incinerator_push_gideon_110",::cap_incinerator_push_01); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_incinerator_push_gideon,"aud_cap_incinerator_push_gideon_100",::cap_incinerator_push_02); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_incinerator_push_gideon,"aud_cap_incinerator_push_gideon_131",::cap_incinerator_push_03); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_incinerator_end_gideon,"aud_cap_incinerator_end_gideon_240",::cap_incinerator_end_01); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_incinerator_end_gideon,"aud_cap_incinerator_end_gideon_250",::cap_incinerator_end_02); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_incinerator_end_gideon,"aud_cap_incinerator_end_gideon_260",::cap_incinerator_end_03); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_gdn_theresgottabeenough_anim,"aud_cap_gdn_theresgottabeenough_anim_010",::cap_manticore_window_gdn_01); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_gdn_theresgottabeenough_anim,"aud_cap_gdn_theresgottabeenough_anim_020",::cap_manticore_window_gdn_02); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_s1_escape_mech_crash_wakeup_gideon,"aud_cap_s1_escape_mech_crash_wakeup_gideon_start",::cap_crash_recovery_gdn); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_s1_escape_mech_door_lift_exit_end_gideon,"aud_cap_ending_gideon_extra",::cap_ending_gdn_extra); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_s1_escape_mech_door_lift_exit_end_gideon,"aud_cap_ending_gideon_start",::cap_ending_gdn); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_s1_escape_mech_door_lift_exit_end_ilona,"aud_cap_ending_ilona_start",::cap_ending_iln); +} + +//Function Number: 25 +cap_intro_drive_gdn(param_00) +{ + soundscripts\_snd::snd_message("aud_intro_heli_flyover"); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_stayalertanydetail",0.12); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_usedtobearesearch",6.09); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_medicaladvancements",12.24); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_thisisitonlyway",28.24); +} + +//Function Number: 26 +cap_intro_drive_iln(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_iln_whatisthisplace",4.09); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_iln_researchforwhat",11.09); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_iln_exhales",33.15); +} + +//Function Number: 27 +cap_elevator_gdn(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_howdyouenduphere",1.06); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_pulledgrunt",25.24); +} + +//Function Number: 28 +cap_elevator_iln(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_iln_istherearescueforce",10.21); +} + +//Function Number: 29 +cap_elevator_crk(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_crk_heavybreathing",0); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_crk_ourairsupportwas",4.03); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_crk_iwasoutsidetheblast",7.03); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_crk_downtowniscontaminated",14); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_crk_wevepulledoutofthe",16.18); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_crk_idontthinkanyones",19.21); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_crk_gasps",26.15); +} + +//Function Number: 30 +cap_trolley_gdn(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_gruntsstruggles_alt01",0); +} + +//Function Number: 31 +cap_interrogation_irn(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_irn_iwantedtomeetthe",12.18); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_irn_failureisnotsomething",26.03); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_irn_havefailedsomiserably",33.06); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_irn_butthatsthewayithasto",36); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_irn_thewheatfromthechaff",38); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_irn_theancientspartans",42.09); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_irn_butthattruthhasbeen",47.15); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_irn_willwasthevictim",57.09); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_irn_ofcoursethetragedy",66.24); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_irn_yourenotyoungbut",76.24); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_irn_soigiveyoutwenty",81.06); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_irn_timeenoughtoconsider",84.03); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_irn_andyou",101.27); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_irn_theprodigalsonreturns",106.09); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_irn_ibelievedinyou",113.18); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_irn_igaveyouasecond",116.18); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_irn_yourenothinglike",138.15); +} + +//Function Number: 32 +cap_interrogation_crk(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_crk_ourmissionwastostop",16.27); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_crk_butifthatmeantkilling",22); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_crk_whatofyoursonwill",52.12); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_crk_willdiedfightingfor",62.15); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_crk_painfulscreaming",72.06); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_crk_laboredbreathing1",86.18); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_crk_laboredbreathing2",94.18); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_crk_laboredbreathing3",101.24); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_crk_laboredbreathing4",140.15); +} + +//Function Number: 33 +cap_interrogation_crk_add(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("scn_cap_interrogation_crk_exertion",0); +} + +//Function Number: 34 +cap_rescue_crk(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_crk_breathinggrunt",0.15); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_crk_painfullabored",4.18); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_crk_stopironsimdone",8.09); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_crk_painfulgasps1",16.27); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_crk_painfulgasps2",22.27); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_crk_quietpainfulbreathing",28.06); +} + +//Function Number: 35 +cap_rescue_iln(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_iln_breathinggrunt",0.09); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_iln_canyouwalk",6.18); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_iln_igotyouletsget",14.03); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_iln_exertion1",19.06); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_iln_exertion2",23.24); +} + +//Function Number: 36 +cap_rescue_gdn(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_gethimoutofthere",0.09); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_shutitweareleaving2",10.21); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_weareleavingstayquiet",14.21); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_heavybreathing1",20.21); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_heavybreathing2",27.27); +} + +//Function Number: 37 +cap_gun_training_gdn(param_00) +{ + soundscripts\_snd::snd_message("aud_limp_exo"); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_here",1.15); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_herewithonewing",3); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_somakeeveryshotcount",6.03); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_ready3",9.12); +} + +//Function Number: 38 +cap_separation_iln_01(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_iln_whathappened",0); +} + +//Function Number: 39 +cap_observation_gdn_01(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_manticorestrikeshes",0); +} + +//Function Number: 40 +cap_observation_gdn_02(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_washingtonnewyork",0); +} + +//Function Number: 41 +cap_bake_chamber_gdn_01(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_heydoorsbusted",0.05); +} + +//Function Number: 42 +cap_bake_chamber_gdn_02(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_huh",0); +} + +//Function Number: 43 +cap_test_chamber_gdn_01(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_welcometoironsvision",0); +} + +//Function Number: 44 +cap_test_chamber_gdn_02(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_hesinsane",0); +} + +//Function Number: 45 +cap_test_chamber_gdn_03(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_illbedamnedifwe",0); +} + +//Function Number: 46 +cap_incinerator_start_01(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_what",0); +} + +//Function Number: 47 +cap_incinerator_start_02(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_shit",0); +} + +//Function Number: 48 +cap_incinerator_start_03(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_notgood",0); +} + +//Function Number: 49 +cap_incinerator_push_01(param_00) +{ + if(common_scripts\utility::flag("vo_cart_push") == 0) + { + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_wegottamovethiscart",0); + common_scripts\utility::flag_set("vo_cart_push"); + } +} + +//Function Number: 50 +cap_incinerator_push_02(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_cmonpush",0); +} + +//Function Number: 51 +cap_incinerator_push_03(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_throughhere2",0); +} + +//Function Number: 52 +cap_incinerator_crawl_loop_01(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_cmonmate",0); +} + +//Function Number: 53 +cap_incinerator_end_01(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_shitmitchell",0); +} + +//Function Number: 54 +cap_incinerator_end_02(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_gotcha",0); +} + +//Function Number: 55 +cap_incinerator_end_03(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_fuckthatwasclose_alt01",0); +} + +//Function Number: 56 +cap_manticore_window_gdn_01(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_theresgottabeenough",0); +} + +//Function Number: 57 +cap_manticore_window_gdn_02(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_wevegottafindilona",0); +} + +//Function Number: 58 +cap_crash_recovery_gdn(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_onyourfeet",0); +} + +//Function Number: 59 +cap_ending_iln(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_iln_getin",0.03); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_iln_hesintheback",2.06); +} + +//Function Number: 60 +cap_ending_gdn_extra(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_theretheyare",0); +} + +//Function Number: 61 +cap_ending_gdn(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_cormack2",1.15); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_gruntsbreaths",10.12); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_gdn_letspraywerenot",11); +} + +//Function Number: 62 +init_plr_vo() +{ + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%cap_s3_interrogation_player,"aud_cap_s3_interrogation_player_start",::cap_interrogation_plr); +} + +//Function Number: 63 +cap_interrogation_plr(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_plr_yellsinpain",123.21); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("cap_plr_yellsinpain2",127.33); +} \ No newline at end of file diff --git a/AW/PC/maps/crash.gsc b/AW/PC/maps/crash.gsc new file mode 100644 index 0000000..f49ce21 --- /dev/null +++ b/AW/PC/maps/crash.gsc @@ -0,0 +1,876 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: crash.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 34 + * Decompile Time: 486 ms + * Timestamp: 4/22/2024 2:26:43 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\_utility::template_level("crash"); + crash_precache(); + crash_starts(); + animscripts\traverse\seoul_zipline::load_scripted_anims(); + maps\createart\crash_art::main(); + maps\crash_fx::main(); + maps\crash_anim::main(); + maps\crash_vo::main(); + maps\crash_precache::main(); + precachesonarvisioncodeassets(); + thread init_water(); + if(getdvar("createfx") != "") + { + thread create_fx_ent_setup(); + } + + if(level.currentgen) + { + maps\_utility::tff_sync_setup(); + } + + maps\_load::main(); + thread maps\_player_exo::main("assault",0,0); + setsaveddvar("use_new_sva_system",1); + thread maps\crash_fx::setup_footstep_fx(); + maps\crash_lighting::main(); + maps\crash_aud::main(); + maps\_drone_ai::init(); + maps\_microdronelauncher::init(); + maps\_stingerm7::init("iw5_stingerm7fastprojectile_sp"); + maps\_variable_grenade::main(); + maps\_microwave_grenade::main(); + thread give_player_exo(); + thread set_up_exo_temperature(); + animscripts\traverse\boost::precache_boost_fx_npc(); + level.player thread give_boost_jump(); + vehicle_scripts\_pdrone_tactical_picker::main(); + thread maps\_deployablecoverai::battle_deployable_cover_setup(); + if(level.currentgen) + { + setsaveddvar("r_gunSightColorEntityScale",0.8); + setsaveddvar("r_gunSightColorNoneScale",0.8); + } + + setsaveddvar("high_jump_double_tap","1"); + setsaveddvar("high_jump_auto_mantle","1"); + level.player.drowning_deadquote = &"CRASH_DEATH_BY_DROWNING"; + level.player.drowning_warning = &"CRASH_DROWNING_WARNING"; + if(level.currentgen) + { + tff_transitions(); + tff_blockers(); + } +} + +//Function Number: 2 +init_water() +{ + maps\_water::init("worldhands_sentinel_arctic_mitchell"); + level.visionset_underwater = "crash_narrow_cave_underwater"; + setdvar("underwater_wading_speed_factor",0.8); + level.swim_anim_idle_loop = %crash_vm_unarmed_swim_idle; + level.player.no_breath_hud = 1; + level._effect["water_wake_ai"] = loadfx("vfx/treadfx/body_wake_water_crash"); + level._effect["water_wake_stationary_ai"] = loadfx("vfx/treadfx/body_wake_water_stationary"); + level._effect["water_splash_enter_ai"] = loadfx("vfx/water/body_splash"); +} + +//Function Number: 3 +crash_precache() +{ + level.temperature_high_alt_wind = -54.7; + level.temperature_high_alt = -48.2; + level.temperature_outdoor = -12.8; + level.temperature_indoor = 34.6; + level.temperature_deep_caves = 14.4; + level.temperature_water = 32.3; + level.exo_max = 85; + level.exo_reheat = 72; + thread objective_flag_init(); + thread maps\crash_skyjack::precache_skyjack(); + thread maps\crash_crash_site::precache_crash_site(); + thread maps\crash_crash_site::precache_cave_entry(); + thread maps\crash_caves::precache_cave_hallway(); + thread maps\crash_caves::precache_big_cave(); + thread maps\crash_caves::precache_ice_bridge(); + thread maps\crash_caves::precache_narrow_cave(); + thread maps\crash_caves::precache_combat_cave(); + thread maps\crash_lake::precache_overlook(); + thread maps\crash_lake::precache_lake(); + thread maps\crash_lake::precache_lake_cinema(); + thread maps\crash_exfil::precache_vtol_takedown(); + thread maps\crash_exo_temperature::precache_exo_temperature(); +} + +//Function Number: 4 +crash_starts() +{ + maps\_utility::add_start("skyjack",::maps\crash_skyjack::debug_start_skyjack,"Skyjack",::maps\crash_skyjack::begin_skyjack); + maps\_utility::add_start("crash_site",::maps\crash_crash_site::debug_start_crash_site,"Crash Site",::maps\crash_crash_site::begin_crash_site); + maps\_utility::add_start("cave_entry",::maps\crash_crash_site::debug_start_cave_entry,"Cave Entry",::maps\crash_crash_site::begin_cave_entry); + maps\_utility::add_start("cave_hallway",::maps\crash_caves::debug_start_cave_hallway,"Cave Hallway",::maps\crash_caves::begin_cave_hallway); + maps\_utility::add_start("big_cave",::maps\crash_caves::debug_start_big_cave,"Big Cave",::maps\crash_caves::begin_big_cave); + maps\_utility::add_start("ice_bridge",::maps\crash_caves::debug_start_ice_bridge,"Ice Bridge",::maps\crash_caves::begin_ice_bridge); + maps\_utility::add_start("narrow_cave",::maps\crash_caves::debug_start_narrow_cave,"Narrow Cave",::maps\crash_caves::begin_narrow_cave); + maps\_utility::add_start("combat_cave",::maps\crash_caves::debug_start_combat_cave,"Combat Cave",::maps\crash_caves::begin_combat_cave); + maps\_utility::add_start("overlook",::maps\crash_lake::debug_start_overlook,"Overlook",::maps\crash_lake::begin_overlook); + maps\_utility::add_start("lake",::maps\crash_lake::debug_start_lake,"Underground Lake",::maps\crash_lake::begin_lake); + maps\_utility::add_start("lake_cinema",::maps\crash_lake::debug_start_lake_cinema,"Lake Cinema",::maps\crash_lake::begin_lake_cinema); + maps\_utility::add_start("vtol_takedown",::maps\crash_exfil::debug_start_vtol_takedown,"VTOL Takedown",::maps\crash_exfil::begin_vtol_takedown); + if(level.currentgen) + { + tff_start_points(); + } +} + +//Function Number: 5 +tff_start_points() +{ + var_00 = []; + var_00[0] = "crash_sky_tr"; + maps\_utility::set_start_transients("skyjack",var_00); + var_00[0] = "crash_site_tr"; + maps\_utility::set_start_transients("crash_site",var_00); + maps\_utility::set_start_transients("cave_entry",var_00); + var_00[0] = "crash_caves_tr"; + maps\_utility::set_start_transients("cave_hallway",var_00); + maps\_utility::set_start_transients("big_cave",var_00); + maps\_utility::set_start_transients("ice_bridge",var_00); + maps\_utility::set_start_transients("narrow_cave",var_00); + maps\_utility::set_start_transients("combat_cave",var_00); + var_00[0] = "crash_lake_tr"; + maps\_utility::set_start_transients("overlook",var_00); + maps\_utility::set_start_transients("lake",var_00); + maps\_utility::set_start_transients("lake_cinema",var_00); + maps\_utility::set_start_transients("vtol_takedown",var_00); +} + +//Function Number: 6 +tff_blockers() +{ + thread tff_blocker_caves(); +} + +//Function Number: 7 +tff_blocker_caves() +{ + var_00 = getentarray("tff_blocker_caves","targetname"); + var_01 = getent("tff_blocker_caves_coll","targetname"); + var_02 = (0,0,380); + var_01 connectpaths(); + var_01.origin = var_01.origin - var_02; + foreach(var_04 in var_00) + { + var_04 common_scripts\utility::hide_notsolid(); + } + + if(!istransientloaded("crash_lake_tr")) + { + level waittill("tff_pre_caves_to_lake"); + } + + foreach(var_04 in var_00) + { + var_04 common_scripts\utility::show_solid(); + } + + var_01.origin = var_01.origin + var_02; + var_01 disconnectpaths(); +} + +//Function Number: 8 +tff_transitions() +{ + if(!istransientloaded("crash_caves_tr")) + { + thread tff_trans_site_to_caves(); + } + + if(!istransientloaded("crash_lake_tr")) + { + thread tff_trans_caves_to_lake(); + } +} + +//Function Number: 9 +tff_trans_site_to_caves() +{ + common_scripts\utility::flag_wait("cave_entry_anim_start"); + wait(5); + level notify("tff_pre_site_to_caves"); + unloadtransient("crash_site_tr"); + loadtransient("crash_caves_tr"); + while(!istransientloaded("crash_caves_tr")) + { + wait(0.05); + } + + level notify("tff_post_site_to_caves"); +} + +//Function Number: 10 +tff_ally_check(param_00,param_01,param_02) +{ + var_03 = getent(param_00,"targetname"); + level.tff_trans_ally_check_count = 0; + if(isdefined(param_02)) + { + level endon(param_02); + } + + for(;;) + { + var_03 waittill("trigger",var_04); + if(isdefined(var_04.tff_trans_ally_check_active) && var_04.tff_trans_ally_check_active) + { + continue; + } + + if(isdefined(var_04.script_friendname)) + { + var_05 = tolower(var_04.script_friendname); + } + else + { + var_05 = ""; + } + + if(var_04 == level.player || common_scripts\utility::array_contains(param_01,var_05)) + { + level.tff_trans_ally_check_count++; + if(level.tff_trans_ally_check_count >= param_01.size + 1) + { + break; + } + + var_04.tff_trans_ally_check_active = 1; + var_04 thread tff_trans_ally_check_touching(var_03); + } + } +} + +//Function Number: 11 +tff_trans_ally_check_touching(param_00) +{ + while(self istouching(param_00)) + { + wait(0.05); + } + + level.tff_trans_ally_check_count--; + self.tff_trans_ally_check_active = 0; +} + +//Function Number: 12 +tff_trans_caves_to_lake() +{ + tff_ally_check("tff_unload_caves_check_allies",["cormack","ilona"],"flag_tff_trans_caves_to_lake"); + if(common_scripts\utility::flag("flag_tff_trans_caves_to_lake")) + { + var_00 = getent("tff_cave_unload_ally_teleport_01","targetname"); + var_01 = getent("tff_cave_unload_ally_teleport_02","targetname"); + level.ilana teleport(var_00.origin,var_00.angles); + level.cormack teleport(var_01.origin,var_01.angles); + } + + level notify("tff_pre_caves_to_lake"); + unloadtransient("crash_caves_tr"); + loadtransient("crash_lake_tr"); + while(!istransientloaded("crash_lake_tr")) + { + wait(0.05); + } + + level notify("tff_post_caves_to_lake"); +} + +//Function Number: 13 +set_completed_flags() +{ + if(maps\_utility::is_default_start()) + { + return; + } + + var_00 = level.start_point; + if(var_00 == "skyjack") + { + return; + } + + common_scripts\utility::flag_set("obj_start_plant_charges"); + common_scripts\utility::flag_set("obj_end_plant_charges"); + if(var_00 == "crash_site") + { + return; + } + + common_scripts\utility::flag_set("white_fade_done"); + common_scripts\utility::flag_set("obj_start_goto_razorback"); + common_scripts\utility::flag_set("obj_move_dot_razorback"); + common_scripts\utility::flag_set("start_background_elements"); + common_scripts\utility::flag_set("fallback_vol_3"); + common_scripts\utility::flag_set("unhide_cargo"); + if(var_00 == "cave_entry") + { + return; + } + + setsaveddvar("r_gunSightColorEntityScale",0); + setsaveddvar("r_gunSightColorNoneScale",0); + common_scripts\utility::flag_set("player_loading_cargo"); + common_scripts\utility::flag_set("obj_update_goto_razorback"); + common_scripts\utility::flag_set("obj_end_goto_razorback"); + common_scripts\utility::flag_set("obj_start_locate_chopper"); + if(var_00 == "cave_hallway") + { + return; + } + + common_scripts\utility::flag_set("obj_start_prometheus_drone"); + common_scripts\utility::flag_set("obj_end_prometheus_drone"); + if(var_00 == "big_cave") + { + return; + } + + common_scripts\utility::flag_set("obj_start_resonance_wall"); + common_scripts\utility::flag_set("obj_end_resonance_wall"); + if(var_00 == "ice_bridge") + { + return; + } + + common_scripts\utility::flag_set("crash_lighting_goliath_pit"); + if(var_00 == "narrow_cave") + { + return; + } + + common_scripts\utility::flag_set("obj_follow_cormack_combat_to_lake"); + if(var_00 == "combat_cave") + { + return; + } + + if(var_00 == "overlook") + { + return; + } + + common_scripts\utility::flag_set("lake_begin_outdoors"); + common_scripts\utility::flag_set("obj_end_locate_chopper"); + if(var_00 == "lake") + { + return; + } + + common_scripts\utility::flag_set("lake_start_collapse"); + common_scripts\utility::flag_set("lake_start_left"); + common_scripts\utility::flag_set("obj_start_recover_cargo"); + common_scripts\utility::flag_set("obj_start_lake_sniper_rifle"); + common_scripts\utility::flag_set("obj_end_lake_sniper_rifle"); + common_scripts\utility::flag_set("cargo_captured"); + common_scripts\utility::flag_set("go_gideon_moment"); + if(var_00 == "lake_cinema") + { + return; + } + + common_scripts\utility::flag_set("cormack_start_vtol"); + common_scripts\utility::flag_set("obj_lake_fall"); + common_scripts\utility::flag_set("obj_lake_gideon_save"); + common_scripts\utility::flag_set("gideon_frees_you"); + if(var_00 == "vtol_takedown") + { + } +} + +//Function Number: 14 +give_boost_jump() +{ + if(maps\_utility::is_default_start()) + { + return; + } + + var_00 = level.start_point; + if(var_00 == "skyjack") + { + return; + } + + maps\_player_high_jump::enable_high_jump(); +} + +//Function Number: 15 +give_player_exo() +{ + if(maps\_utility::is_default_start()) + { + return; + } + + var_00 = level.start_point; + if(var_00 == "skyjack" || var_00 == "crash_site") + { + return; + } + + thread maps\crash_utility::player_exo_enable(); +} + +//Function Number: 16 +set_up_exo_temperature() +{ + var_00 = level.start_point; + if(maps\_utility::is_default_start() || var_00 == "skyjack") + { + common_scripts\utility::flag_wait("player_landed_on_plane"); + wait(2.5); + level.player thread maps\crash_exo_temperature::create_exo_temperature_hud(level.temperature_high_alt_wind); + level.player thread maps\crash_exo_temperature::set_exo_temperature_over_time(level.exo_max,0.05); + level.player thread maps\crash_exo_temperature::set_operator_temperature_over_time(98.6,0.05); + level.player thread maps\crash_utility::exo_temp_high_altitude(); + common_scripts\utility::flag_set("start_skyjack_temperature"); + return; + } + + if(var_00 == "crash_site") + { + level.player thread maps\crash_exo_temperature::create_exo_temperature_hud(level.temperature_outdoor); + level.player thread maps\crash_exo_temperature::set_exo_temperature_over_time(level.exo_max,0.05); + level.player thread maps\crash_exo_temperature::set_operator_temperature_over_time(98.6,0.05); + return; + } + + if(var_00 == "cave_entry") + { + level.player thread maps\crash_exo_temperature::create_exo_temperature_hud(level.temperature_outdoor); + level.player thread maps\crash_exo_temperature::set_exo_temperature_over_time(level.exo_max,0.05); + level.player thread maps\crash_exo_temperature::set_operator_temperature_over_time(98.6,0.05); + return; + } + + if(var_00 == "cave_hallway") + { + level.player thread maps\crash_exo_temperature::create_exo_temperature_hud(level.temperature_outdoor); + level.player thread maps\crash_exo_temperature::set_exo_temperature_over_time(level.exo_max,0.05); + level.player thread maps\crash_exo_temperature::set_operator_temperature_over_time(98.6,0.05); + return; + } + + if(var_00 == "big_cave") + { + level.player thread maps\crash_exo_temperature::create_exo_temperature_hud(level.temperature_deep_caves); + level.player thread maps\crash_exo_temperature::set_exo_temperature_over_time(level.exo_max,0.05); + level.player thread maps\crash_exo_temperature::set_operator_temperature_over_time(98.6,0.05); + return; + } + + if(var_00 == "ice_bridge") + { + level.player thread maps\crash_exo_temperature::create_exo_temperature_hud(level.temperature_deep_caves); + level.player thread maps\crash_exo_temperature::set_exo_temperature_over_time(level.exo_max,0.05); + level.player thread maps\crash_exo_temperature::set_operator_temperature_over_time(98.6,0.05); + return; + } + + if(var_00 == "narrow_cave") + { + level.player thread maps\crash_exo_temperature::create_exo_temperature_hud(level.temperature_deep_caves); + level.player thread maps\crash_exo_temperature::set_exo_temperature_over_time(68,0.05); + level.player thread maps\crash_exo_temperature::set_operator_temperature_over_time(95.6,0.05); + return; + } + + if(var_00 == "combat_cave") + { + level.player thread maps\crash_exo_temperature::create_exo_temperature_hud(level.temperature_indoor); + level.player thread maps\crash_exo_temperature::set_exo_temperature_over_time(level.exo_max,0.05); + level.player thread maps\crash_exo_temperature::set_operator_temperature_over_time(98.6,0.05); + return; + } + + if(var_00 == "overlook") + { + level.player thread maps\crash_exo_temperature::create_exo_temperature_hud(level.temperature_outdoor); + level.player thread maps\crash_exo_temperature::set_exo_temperature_over_time(level.exo_max,0.05); + level.player thread maps\crash_exo_temperature::set_operator_temperature_over_time(98.6,0.05); + return; + } + + if(var_00 == "lake") + { + level.player thread maps\crash_exo_temperature::create_exo_temperature_hud(level.temperature_indoor); + level.player thread maps\crash_exo_temperature::set_exo_temperature_over_time(level.exo_max,0.05); + level.player thread maps\crash_exo_temperature::set_operator_temperature_over_time(98.6,0.05); + return; + } + + if(var_00 == "lake_cinema") + { + level.player thread maps\crash_exo_temperature::create_exo_temperature_hud(level.temperature_water); + level.player thread maps\crash_exo_temperature::set_exo_temperature_over_time(65,0.05); + level.player thread maps\crash_exo_temperature::set_operator_temperature_over_time(94.2,0.05); + return; + } + + if(var_00 == "vtol_takedown") + { + level.player thread maps\crash_exo_temperature::create_exo_temperature_hud(level.temperature_outdoor); + level.player thread maps\crash_exo_temperature::set_exo_temperature_over_time(level.exo_max,0.05); + level.player thread maps\crash_exo_temperature::set_operator_temperature_over_time(98.6,0.05); + } +} + +//Function Number: 17 +objective_flag_init() +{ + common_scripts\utility::flag_init("obj_start_plant_charges"); + common_scripts\utility::flag_init("obj_end_plant_charges"); + common_scripts\utility::flag_init("obj_start_goto_razorback"); + common_scripts\utility::flag_init("obj_move_dot_razorback"); + common_scripts\utility::flag_init("obj_update_goto_razorback"); + common_scripts\utility::flag_init("obj_end_goto_razorback"); + common_scripts\utility::flag_init("obj_start_locate_chopper"); + common_scripts\utility::flag_init("obj_end_locate_chopper"); + common_scripts\utility::flag_init("obj_hall_follow_start"); + common_scripts\utility::flag_init("obj_hall_follow_end"); + common_scripts\utility::flag_init("obj_follow_pod_room"); + common_scripts\utility::flag_init("FLAG_stop_follow_dot"); + common_scripts\utility::flag_init("goliath_exit_dot_start"); + common_scripts\utility::flag_init("goliath_exit_dot_end"); + common_scripts\utility::flag_init("obj_reso_move_start"); + common_scripts\utility::flag_init("obj_reso_move_end"); + common_scripts\utility::flag_init("narrow_cave_dot_start"); + common_scripts\utility::flag_init("narrow_cave_dot_update"); + common_scripts\utility::flag_init("narrow_cave_dot_end"); + common_scripts\utility::flag_init("obj_follow_cormack_combat_to_lake"); + common_scripts\utility::flag_init("obj_start_prometheus_drone"); + common_scripts\utility::flag_init("obj_end_prometheus_drone"); + common_scripts\utility::flag_init("obj_start_resonance_wall"); + common_scripts\utility::flag_init("obj_end_resonance_wall"); + common_scripts\utility::flag_init("obj_start_get_gun"); + common_scripts\utility::flag_init("obj_update_get_gun"); + common_scripts\utility::flag_init("obj_end_get_gun"); + common_scripts\utility::flag_init("obj_start_overlook_run"); + common_scripts\utility::flag_init("obj_end_overlook_run"); + common_scripts\utility::flag_init("obj_lake_enter"); + common_scripts\utility::flag_init("obj_lake_fall"); + common_scripts\utility::flag_init("obj_lake_gideon_save"); + common_scripts\utility::flag_init("obj_start_recover_cargo"); + common_scripts\utility::flag_init("obj_final_recover_cargo"); + common_scripts\utility::flag_init("obj_end_recover_cargo"); + common_scripts\utility::flag_init("obj_start_lake_sniper_rifle"); + common_scripts\utility::flag_init("obj_end_lake_sniper_rifle"); + common_scripts\utility::flag_init("obj_start_exfil"); + common_scripts\utility::flag_init("obj_end_exfil"); + precachestring(&"CRASH_OBJ_SKYJACK"); + precachestring(&"CRASH_OBJ_PLANT"); + precachestring(&"CRASH_OBJ_DEFEND_CARGO"); + precachestring(&"CRASH_OBJ_PUSH"); + precachestring(&"CRASH_OBJ_FOLLOW"); + precachestring(&"CRASH_OBJ_SUPPORT"); + precachestring(&"CRASH_OBJ_FIND_CHOPPER"); + precachestring(&"CRASH_OBJ_PICKUP"); + precachestring(&"CRASH_OBJ_HIDE"); + precachestring(&"CRASH_OBJ_RECOVER_CARGO"); + precachestring(&"CRASH_OBJ_RECOVER"); + precachestring(&"CRASH_OBJ_DESTROY_WARBIRD"); + precachestring(&"CRASH_OBJ_DESTROY"); +} + +//Function Number: 18 +objective_init() +{ + obj_plant_charges(); + obj_goto_razorback(); + thread obj_locate_chopper(); + thread obj_get_gun(); + thread obj_recover_cargo(); + thread obj_underwater(); + obj_destroy_vtol(); +} + +//Function Number: 19 +obj_plant_charges() +{ + common_scripts\utility::flag_wait("obj_start_plant_charges"); + objective_add(1,"current",&"CRASH_OBJ_SKYJACK"); + var_00 = common_scripts\utility::getstruct("charge_x_objective","targetname"); + objective_position(1,var_00.origin); + objective_setpointertextoverride(1,&"CRASH_OBJ_PLANT"); + thread maps\crash_utility::handle_objective_marker_skyjack(var_00,"obj_end_plant_charges"); + common_scripts\utility::flag_wait("obj_end_plant_charges"); + maps\_utility::objective_complete(1); +} + +//Function Number: 20 +obj_goto_razorback() +{ + common_scripts\utility::flag_wait("obj_start_goto_razorback"); + objective_add(3,"current",&"CRASH_OBJ_DEFEND_CARGO"); + objective_onentity(3,level.cormack,(0,0,72)); + objective_setpointertextoverride(3,&"CRASH_OBJ_FOLLOW"); + common_scripts\utility::flag_wait("obj_move_dot_razorback"); + maps\_utility::objective_clearadditionalpositions(3); + level.razorback_org = getent("cargo_objective","targetname"); + var_00 = level.razorback_org; + objective_position(3,var_00.origin); + objective_setpointertextoverride(3,&"CRASH_OBJ_PUSH"); + thread maps\crash_utility::handle_objective_marker(var_00,"player_loading_cargo",undefined,"cargo_trigger"); + common_scripts\utility::flag_wait("player_loading_cargo"); + objective_state_nomessage(3,"invisible"); + common_scripts\utility::flag_wait("obj_update_goto_razorback"); + if(!common_scripts\utility::flag("start_bunker_collapse")) + { + objective_onentity(3,level.cormack,(0,0,72)); + objective_setpointertextoverride(3,&"CRASH_OBJ_SUPPORT"); + objective_state_nomessage(3,"current"); + } + + common_scripts\utility::flag_wait("obj_end_goto_razorback"); + maps\_utility::objective_complete(3); +} + +//Function Number: 21 +obj_locate_chopper() +{ + common_scripts\utility::flag_wait("obj_start_locate_chopper"); + objective_add(4,"current",&"CRASH_OBJ_FIND_CHOPPER"); + thread pro_hall_follow_dot(); + thread golaith_exit_distance_dot(); + thread reso_bridge_distantce_dot(); + thread narrow_cave_follow_dot(); + thread combat_cave_to_lake_follow_dot(); + thread obj_overlook(); + common_scripts\utility::flag_wait("obj_end_locate_chopper"); + maps\_utility::objective_complete(4); +} + +//Function Number: 22 +pro_hall_follow_dot() +{ + level endon("obj_follow_pod_room"); + common_scripts\utility::flag_wait("obj_hall_follow_start"); + objective_onentity(4,level.cormack,(0,0,72)); + objective_setpointertextoverride(4,&"CRASH_OBJ_FOLLOW"); + common_scripts\utility::flag_wait("cormack_turkey_talk_hold"); + maps\_utility::objective_clearadditionalpositions(4); + common_scripts\utility::flag_wait("wakeup_turkey"); + objective_onentity(4,level.cormack,(0,0,72)); + objective_setpointertextoverride(4,&"CRASH_OBJ_FOLLOW"); + common_scripts\utility::flag_wait("FLAG_caves_goliath"); + maps\_utility::objective_clearadditionalpositions(4); +} + +//Function Number: 23 +golaith_exit_distance_dot() +{ + common_scripts\utility::flag_wait("goliath_exit_dot_start"); + wait(1); + maps\_utility::objective_clearadditionalpositions(4); + var_00 = getent("obj_exit_golaith","targetname"); + objective_additionalposition(4,1,var_00.origin); + objective_setpointertextoverride(4,""); + common_scripts\utility::flag_wait("goliath_exit_dot_end"); + maps\_utility::objective_clearadditionalpositions(4); +} + +//Function Number: 24 +reso_bridge_distantce_dot() +{ + common_scripts\utility::flag_wait("obj_reso_move_start"); + var_00 = common_scripts\utility::getstruct("obj_node_reso_device","targetname"); + objective_additionalposition(4,1,var_00.origin); + objective_setpointertextoverride(4,""); + common_scripts\utility::flag_wait("obj_reso_move_end"); + maps\_utility::objective_clearadditionalpositions(4); +} + +//Function Number: 25 +narrow_cave_follow_dot() +{ + common_scripts\utility::flag_wait("narrow_cave_dot_start"); + objective_onentity(4,level.cormack,(0,0,72)); + objective_setpointertextoverride(4,&"CRASH_OBJ_FOLLOW"); + common_scripts\utility::flag_wait("narrow_cave_dot_update"); + var_00 = common_scripts\utility::getstruct("breach_obj_dot","targetname"); + objective_position(4,var_00.origin); + objective_setpointertextoverride(4,""); + common_scripts\utility::flag_wait("narrow_cave_dot_end"); + maps\_utility::objective_clearadditionalpositions(4); +} + +//Function Number: 26 +combat_cave_to_lake_follow_dot() +{ + common_scripts\utility::flag_wait("obj_follow_cormack_combat_to_lake"); + objective_onentity(4,level.cormack,(0,0,72)); + objective_setpointertextoverride(4,&"CRASH_OBJ_FOLLOW"); + common_scripts\utility::flag_wait("ice_lake_start_combat"); + maps\_utility::objective_clearadditionalpositions(4); +} + +//Function Number: 27 +obj_use_drone() +{ + common_scripts\utility::flag_wait("obj_start_prometheus_drone"); + objective_add(5,"current","Use the cave scanning drone"); + common_scripts\utility::flag_wait("obj_end_prometheus_drone"); + maps\_utility::objective_complete(5); +} + +//Function Number: 28 +obj_overlook() +{ + common_scripts\utility::flag_wait("obj_start_overlook_run"); + var_00 = common_scripts\utility::getstruct("overlook_main_obj","targetname"); + if(isdefined(var_00)) + { + objective_setpointertextoverride(4,""); + maps\_utility::objective_clearadditionalpositions(4); + objective_position(4,var_00.origin); + } + + common_scripts\utility::flag_wait("obj_end_overlook_run"); + var_00 = common_scripts\utility::getstruct("overlook_exit_obj","targetname"); + if(isdefined(var_00)) + { + objective_setpointertextoverride(4,""); + maps\_utility::objective_clearadditionalpositions(4); + objective_position(4,var_00.origin); + } + + common_scripts\utility::flag_wait("obj_lake_enter"); + objective_onentity(4,level.cormack,(0,0,72)); + objective_setpointertextoverride(4,&"CRASH_OBJ_FOLLOW"); +} + +//Function Number: 29 +obj_get_gun() +{ + common_scripts\utility::flag_wait("obj_start_get_gun"); + objective_add(7,"current"); + var_00 = common_scripts\utility::getstruct("stinger_x_objective","targetname"); + if(isdefined(var_00)) + { + objective_position(7,var_00.origin); + objective_setpointertextoverride(7,&"CRASH_OBJ_PICKUP"); + thread maps\crash_utility::handle_objective_marker(var_00,"obj_update_get_gun",undefined,"heli_weapon_trigger"); + } + + common_scripts\utility::flag_wait("obj_update_get_gun"); + var_01 = common_scripts\utility::getstruct("vtol_hide_01","targetname"); + objective_position(7,var_01.origin); + objective_setpointertextoverride(7,&"CRASH_OBJ_HIDE"); + common_scripts\utility::flag_wait("obj_end_get_gun"); + maps\_utility::objective_complete(7); +} + +//Function Number: 30 +obj_recover_cargo() +{ + common_scripts\utility::flag_wait("obj_start_recover_cargo"); + objective_add(8,"current",&"CRASH_OBJ_RECOVER_CARGO"); + if(isdefined(level.cargo)) + { + var_00 = level.cargo; + maps\_utility::objective_clearadditionalpositions(8); + objective_setpointertextoverride(8,&"CRASH_OBJ_RECOVER"); + objective_onentity(8,var_00); + } +} + +//Function Number: 31 +obj_underwater() +{ + common_scripts\utility::flag_wait("obj_lake_fall"); + maps\_utility::objective_clearadditionalpositions(8); + objective_add(9,"current"); + var_00 = common_scripts\utility::getstruct("lake_underwater_obj_struct","targetname"); + objective_position(9,var_00.origin); + common_scripts\utility::flag_wait("obj_lake_gideon_save"); + maps\_utility::objective_complete(9); + common_scripts\utility::flag_wait("obj_final_recover_cargo"); + maps\_utility::objective_clearadditionalpositions(9); + objective_onentity(8,level.final_loc); + objective_setpointertextoverride(8,&"CRASH_OBJ_RECOVER"); + thread maps\crash_utility::handle_objective_marker_movable(level.final_use_struct,"obj_end_recover_cargo"); + common_scripts\utility::flag_wait("obj_end_recover_cargo"); + maps\_utility::objective_complete(8); +} + +//Function Number: 32 +obj_lake_sniper_rifle() +{ + common_scripts\utility::flag_wait("obj_start_lake_sniper_rifle"); +} + +//Function Number: 33 +obj_destroy_vtol() +{ + common_scripts\utility::flag_wait("obj_start_exfil"); + objective_add(10,"current",&"CRASH_OBJ_DESTROY_WARBIRD"); + var_00 = level.end_vtol common_scripts\utility::spawn_tag_origin(); + var_00 linkto(level.end_vtol); + objective_onentity(10,var_00,(0,0,160)); + objective_setpointertextoverride(10,&"CRASH_OBJ_DESTROY"); + common_scripts\utility::flag_wait("obj_end_exfil"); + maps\_utility::objective_complete(10); +} + +//Function Number: 34 +create_fx_ent_setup() +{ + wait(2); + level.crash_site_animnode = common_scripts\utility::getstruct("crash_site_animnode","targetname"); + var_00 = getent("crash_site_plane","targetname"); + var_01 = getent("crash_site_plane_snow","targetname"); + var_00.animname = "cargo_plane"; + var_00 maps\_anim::setanimtree(); + level.crash_site_animnode maps\_anim::anim_first_frame_solo(var_00,"atlas_plane_crash_plane"); + wait 0.05; + level.crash_site_animnode thread maps\_anim::anim_single_solo(var_00,"atlas_plane_crash_plane"); + wait(1); + var_00 setanimtime(var_00 maps\_utility::getanim("atlas_plane_crash_plane"),1); + var_01 show(); + var_02 = getent("runway_shell_geo_01","targetname"); + var_03 = getent("runway_shell_geo_02","targetname"); + var_04 = getent("runway_shell_geo_03","targetname"); + var_05 = getent("runway_shell_geo_04","targetname"); + var_06 = getent("runway_shell_geo_05","targetname"); + var_07 = getent("runway_shell_geo_06","targetname"); + var_08 = getent("runway_shell_geo_07","targetname"); + var_09 = getent("runway_shell_geo_08","targetname"); + var_0A = getent("runway_shell_geo_09","targetname"); + var_0B = getent("runway_shell_geo_10","targetname"); + var_0C = getent("runway_shell_geo_11","targetname"); + var_02 delete(); + var_03 delete(); + var_04 delete(); + var_05 delete(); + var_06 delete(); + var_07 delete(); + var_08 delete(); + var_09 delete(); + var_0A delete(); + var_0B delete(); + var_0C delete(); + var_0D = getentarray("crash_site_scorching","targetname"); + foreach(var_0F in var_0D) + { + var_0F show(); + } + + var_11 = getentarray("crash_site_debris_models","targetname"); + foreach(var_13 in var_11) + { + var_13 show(); + } +} \ No newline at end of file diff --git a/AW/PC/maps/crash_anim.gsc b/AW/PC/maps/crash_anim.gsc new file mode 100644 index 0000000..7ebc5fb --- /dev/null +++ b/AW/PC/maps/crash_anim.gsc @@ -0,0 +1,536 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: crash_anim.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 6 + * Decompile Time: 114 ms + * Timestamp: 4/22/2024 2:26:44 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(level.nextgen) + { + anim.forced_s1_motionset = 1; + } + + player_anims(); + npc_anims(); + vehicles_anims(); + prop_anims(); + script_model_anims(); +} + +//Function Number: 2 +player_anims() +{ + level.scr_animtree["rig"] = #animtree; + level.scr_model["rig"] = "viewbody_sentinel_arctic_mitchell"; + level.scr_anim["rig"]["skyjack_wingland_player"] = %crash_skyjack_wingland_player; + maps\_anim::addnotetrack_flag("rig","start_player_control","player_fly","skyjack_wingland_player"); + maps\_anim::addnotetrack_flag("rig","player_magon","crash_lighting_screen_dof","skyjack_wingland_player"); + maps\_anim::addnotetrack_flag("rig","end_player_control","stop_player_fly","skyjack_wingland_player"); + level.scr_anim["rig"]["skyjack_wingland_player_L"] = %crash_skyjack_wingland_player_l; + level.scr_anim["rig"]["skyjack_wingland_player_R"] = %crash_skyjack_wingland_player_r; + level.scr_anim["rig"]["skyjack_setcharge_player"] = %crash_skyjack_setcharge_player; + level.scr_anim["rig"]["skyjack_explosion_player"] = %crash_skyjack_explosion_player; + maps\_anim::addnotetrack_flag("rig","push_off_plane","start_clouds_again","skyjack_explosion_player"); + level.scr_animtree["rig_hands"] = #animtree; + level.scr_model["rig_hands"] = "viewbody_sentinel_arctic_mitchell"; + level.scr_anim["rig_hands"]["skyjack_mag_glove_enter_player"] = %crash_skyjack_mag_grip_player_enter; + level.scr_anim["rig_hands"]["skyjack_mag_glove_loop_player"][0] = %crash_skyjack_mag_grip_player_loop; + level.scr_anim["rig_hands"]["skyjack_mag_glove_exit_player"] = %crash_skyjack_mag_grip_player_exit; + level.scr_anim["rig"]["crash_atlas_plane_crash_player"] = %crash_atlas_plane_crash_player; + level.scr_anim["rig"]["prebunker_end_player"] = %crash_prebunker_end_player; + maps\_anim::addnotetrack_customfunction("rig","rt_hand_on_crate",::maps\crash_crash_site::razorback_rumble,"prebunker_end_player"); + maps\_anim::addnotetrack_customfunction("rig","gun_up",::maps\crash_crash_site::razorback_gun_enable,"prebunker_end_player"); + level.scr_anim["rig"]["icecave_enter"] = %crash_icecave_enter_player; + level.scr_anim["rig"]["player_bridge_smash"] = %crash_ice_bridge_arm_smash_player; + level.scr_anim["rig"]["player_bridge_explode"] = %crash_ice_bridge_resonance_explodes_player; + level.scr_anim["rig"]["player_bridge_throw"] = %crash_ice_bridge_throw_player; + level.scr_anim["rig"]["narrowcave_water_breach_enter"] = %crash_narrowcave_water_breach_enter_player; + level.scr_anim["rig"]["narrowcave_water_breach_idle"][0] = %crash_narrowcave_water_breach_idle_player; + level.scr_anim["rig"]["narrowcave_water_breach_old"] = %crash_narrowcave_water_breach_player; + level.scr_anim["rig"]["narrowcave_water_breach"] = %crash_narrowcave_water_breach_guide_player; + level.scr_anim["rig"]["reso_wall"] = %seo_hotel_breach_vm; + level.scr_animtree["rig_hands1"] = #animtree; + level.scr_model["rig_hands1"] = "viewbody_sentinel_arctic_mitchell"; + level.scr_anim["rig_hands1"]["control_fall"] = %crash_teleport_fall_player; + level.scr_anim["rig_hands1"]["fall_grab"] = %crash_ledgegrab_r_hand_start; + level.scr_anim["rig_hands1"]["fall_loop"][0] = %crash_ledgegrab_r_hand_loop; + level.scr_anim["rig_hands1"]["fall_recover"] = %crash_ledgegrab_r_hand_recover; + level.scr_anim["rig_hands"]["lake_fall"] = %crash_lake_fall_player; + level.scr_animtree["rig2"] = #animtree; + level.scr_model["rig2"] = "viewbody_sentinel_arctic_mitchell"; + level.scr_anim["rig2"]["gideon_scene"] = %crash_gideon_rescue_player; + level.scr_anim["rig"]["avalanche_exit"] = %crash_exfil_player; + maps\_anim::addnotetrack_customfunction("rig","jump_window_start",::maps\crash_exfil::exfil_player_jump,"avalanche_exit"); + maps\_anim::addnotetrack_customfunction("rig","jump_window_end",::maps\crash_exfil::exfil_player_jump_fail,"avalanche_exit"); + maps\_anim::addnotetrack_flag("rig","start_gideon","start_gideon_exfil","avalanche_exit"); + maps\_anim::addnotetrack_flag("rig","start_fail_anims","start_vtol_exfil","avalanche_exit"); + maps\_anim::addnotetrack_flag("rig","fade_out","vtol_takedown_done","avalanche_exit"); + level.scr_anim["rig"]["avalanche_death"] = %crash_avalanche_playerarms_death; + level.scr_animtree["rig3"] = #animtree; + level.scr_model["rig3"] = "viewhands_player_sas"; + level.scr_anim["rig3"]["knife_takedown"] = %castle_6_2_spotlight_kill_player; +} + +//Function Number: 3 +npc_anims() +{ + level.scr_anim["cormack"]["prone_aim_idle"][0] = %prone_aim_idle; + level.scr_anim["cormack"]["prone_2_stand"] = %prone_2_stand; + level.scr_anim["cormack"]["skyjack_intro_cormack"] = %crash_skyjack_intro_cormack; + level.scr_anim["cormack"]["skyjack_loop_cormack"][0] = %crash_skyjack_loop_cormack; + level.scr_anim["cormack"]["skyjack_explosion_cormack"] = %crash_skyjack_explosion_cormack; + level.scr_anim["cormack"]["atlas_plane_crash"] = %crash_atlas_plane_crash_cormack; + maps\_anim::addnotetrack_flag("cormack","sd_crsh_crmk_there1","zero_view","atlas_plane_crash"); + maps\_anim::addnotetrack_customfunction("cormack","jetpack_switch",::maps\crash_crash_site::cormack_jetpack_switch,"atlas_plane_crash"); + maps\_anim::addnotetrack_flag("cormack","jetpack_switch","unhide_cargo","atlas_plane_crash"); + maps\_anim::addnotetrack_customfunction("cormack","helmet_open",::maps\crash_utility::cormack_helmet_open,"atlas_plane_crash"); + maps\_anim::addnotetrack_customfunction("cormack","helmet_close",::maps\crash_utility::cormack_helmet_close,"atlas_plane_crash"); + level.scr_anim["ilana"]["atlas_plane_crash"] = %crash_atlas_plane_crash_ilona; + level.scr_anim["sent1"]["atlas_plane_crash"] = %crash_atlas_plane_crash_engineer01; + level.scr_anim["sent2"]["atlas_plane_crash"] = %crash_atlas_plane_crash_engineer02; + level.scr_anim["sent3"]["atlas_plane_crash"] = %crash_atlas_plane_crash_engineer03; + level.scr_anim["sent4"]["atlas_plane_crash"] = %crash_atlas_plane_crash_lookout; + level.scr_anim["sent5"]["atlas_plane_crash"] = %crash_atlas_plane_crash_crateguy1; + level.scr_anim["sent6"]["atlas_plane_crash"] = %crash_atlas_plane_crash_crateguy2; + level.scr_anim["sent2"]["stand_exposed_wave_target_spotted"] = %stand_exposed_wave_target_spotted; + level.scr_anim["sent1"]["atlas_plane_crash_craig"] = %crash_atlas_plane_crash_craig; + level.scr_anim["sent2"]["atlas_plane_crash_tony"] = %crash_atlas_plane_crash_tony; + level.scr_anim["cormack"]["prebunker_start_push_fast_cormack"] = %crash_prebunker_start_push_fast_cormack; + level.scr_anim["cormack"]["prebunker_start_push_slow_cormack"] = %crash_prebunker_start_push_slow_cormack; + level.scr_anim["cormack"]["prebunker_intro_cormack"] = %crash_prebunker_intro_cormack; + level.scr_anim["cormack"]["prebunker_loop_cormack"][0] = %crash_prebunker_loop_cormack; + level.scr_anim["cormack"]["prebunker_end_cormack"] = %crash_prebunker_end_cormack; + level.scr_anim["goliath"]["prebunker_end_mech"] = %crash_prebunker_end_mech; + level.scr_anim["guy1"]["guy_enter_mobile_turret"] = %x4walker_wheels_enter_right_npc; + level.scr_anim["cormack"]["bunker_spot_missiles"] = %crash_bunker_spot_missiles_cormack; + level.scr_anim["cormack"]["icecave_enter"] = %crash_icecave_enter_cormack; + level.scr_anim["cormack"]["cave_intro_loop"][0] = %crash_prometheus_drone_loop_cormack; + level.scr_anim["cormack"]["head_down_tunnel"] = %crash_prometheus_drone_end_cormack; + maps\_anim::addnotetrack_customfunction("cormack","helmet_open",::maps\crash_utility::cormack_helmet_open,"head_down_tunnel"); + level.scr_anim["ilana"]["bunker_spot_missiles"] = %crash_bunker_spot_missiles_ilona; + level.scr_anim["ilana"]["icecave_enter"] = %crash_icecave_enter_ilana; + level.scr_anim["ilana"]["cave_intro_loop"][0] = %crash_prometheus_drone_loop_ilana; + level.scr_anim["ilana"]["head_down_tunnel"] = %crash_prometheus_drone_end_ilana; + level.scr_anim["cormack"]["flare_cave_walk"] = %crash_flare_cave_cormack; + level.scr_anim["ilana"]["flare_cave_walk"] = %crash_flare_cave_ilona; + level.scr_anim["bunker_guy03"]["icecave_enter"] = %crash_icecave_enter_guy1; + level.scr_anim["goliath"]["icecave_enter"] = %crash_icecave_enter_goliath; + maps\_anim::addnotetrack_customfunction("goliath","show",::maps\crash_crash_site::cave_entry_goliath_show,"icecave_enter"); + level.scr_anim["turkey_guy_1"]["turkey_idle"][0] = %stealth_crouch_idle; + level.scr_anim["turkey_guy_2"]["turkey_idle"][0] = %crouch_cover_stand_aim_down; + level.scr_anim["turkey_guy_3"]["turkey_idle"][0] = %casual_crouch_idle; + level.scr_anim["turkey_guy"]["turkey_rappel"] = %berlin_rappel_npc; + level.scr_anim["teamleader"]["turkey_shoot"] = %crash_turkey_shoot_teamleader; + level.scr_anim["squadleader"]["turkey_shoot"] = %crash_turkey_shoot_squadleader; + level.scr_anim["rappeler1"]["turkey_shoot"] = %crash_turkey_shoot_rappeler1; + level.scr_anim["rappeler2"]["turkey_shoot"] = %crash_turkey_shoot_rappeler2; + level.scr_anim["comms"]["turkey_shoot"] = %crash_turkey_shoot_comms; + level.scr_anim["gearguy1"]["turkey_shoot"][0] = %crash_turkey_shoot_gearguy1; + level.scr_anim["gearguy2"]["turkey_shoot"][0] = %crash_turkey_shoot_gearguy1; + level.scr_anim["droneguy"]["turkey_shoot"] = %crash_turkey_shoot_droneguy; + level.scr_anim["rappeler1"]["turkey_shoot_idle"][0] = %crash_turkey_shoot_rappeler1_loop; + level.scr_anim["rappeler2"]["turkey_shoot_idle"][0] = %crash_turkey_shoot_rappeler2_loop; + level.scr_anim["droneguy"]["turkey_shoot_idle"][0] = %crash_turkey_shoot_droneguy_loop; + level.scr_anim["patroller1"]["turkey_shoot_idle"][0] = %ny_manhattan_radio_talk_idle; + level.scr_anim["patroller2"]["turkey_shoot_idle"][0] = %cliff_guarda_idle; + level.scr_anim["teamleader"]["turkey_react"] = %cqb_stand_react_a; + level.scr_anim["squadleader"]["turkey_react"] = %cqb_stand_react_c; + level.scr_anim["rappeler1"]["turkey_react"] = %seo_react_to_war_idle; + level.scr_anim["rappeler2"]["turkey_react"] = %seo_react_to_war_idle; + level.scr_anim["comms"]["turkey_react"] = %cqb_stand_react_c; + level.scr_anim["gearguy1"]["turkey_react"] = %cqb_stand_react_e; + level.scr_anim["gearguy2"]["turkey_react"] = %cqb_stand_react_a; + level.scr_anim["droneguy"]["turkey_react"] = %seo_react_to_war_idle; + level.scr_anim["cormack"]["turkey_shoot"] = %crash_turkey_shoot_insertion_cormack; + level.scr_anim["ilana"]["turkey_shoot"] = %crash_turkey_shoot_insertion_ilona; + level.scr_anim["drop_pod_1"]["drop_pod_idle"][0] = %wounded_carry_closet_idle_wounded; + level.scr_anim["drop_pod_2"]["drop_pod_idle"][0] = %dc_burning_bunker_sit_idle; + level.scr_anim["drop_pod_3"]["drop_pod_idle"][0] = %cliff_guarda_idle; + level.scr_anim["drop_pod_4"]["drop_pod_idle"][0] = %cliff_guardb_idle; + level.scr_anim["drop_pod_1"]["drop_pod_react"] = %cqb_stand_react_a; + level.scr_anim["drop_pod_2"]["drop_pod_react"] = %cqb_stand_react_c; + level.scr_anim["drop_pod_3"]["drop_pod_react"] = %cqb_stand_react_e; + level.scr_anim["drop_pod_4"]["drop_pod_react"] = %cqb_stand_react_e; + level.scr_anim["enemy_dying"]["cave_loop"][0] = %seo_soldiers_dying_idle_guy01; + level.scr_anim["medic_01"]["cave_loop"][0] = %africa_militia_mortar_idle; + level.scr_anim["medic_02"]["cave_loop"][0] = %africa_price_submerge_idle; + level.scr_anim["radio_guy"]["cave_loop"][0] = %ny_manhattan_radio_talk_idle; + level.scr_anim["pod_guy"]["cave_loop"][0] = %afgan_caves_price_rappel_idle; + level.scr_anim["radio_guy"]["knife_takedown"] = %castle_6_2_spotlight_kill_guard; + level.scr_anim["back_guy_00"]["cave_loop"][0] = %seo_react_to_war_idle; + level.scr_anim["back_guy_01"]["cave_loop"][0] = %bet_casual_startstop_idle_gideon; + level.scr_anim["back_guy_02"]["cave_loop"][0] = %seo_standing_soldier_idle_01; + level.scr_anim["enemy_stealth_back_patrol_01"]["cave_loop"][0] = %seo_standing_soldier_idle_01; + level.scr_anim["enemy_stealth_back_patrol_00"]["cave_loop"][0] = %seo_react_to_war_idle; + level.scr_anim["enemy_stealth_back_patrol_01"]["casual_walk"][0] = %det_casual_walk_slow_cormack; + level.scr_anim["enemy_stealth_back_patrol_00"]["casual_walk"][0] = %det_casual_walk_slow_cormack; + level.scr_anim["back_guy_00"]["pod_react"] = %cqb_stand_react_a; + level.scr_anim["back_guy_01"]["pod_react"] = %cqb_stand_react_c; + level.scr_anim["back_guy_02"]["pod_react"] = %stand_exposed_dive; + level.scr_anim["enemy_stealth_back_patrol_01"]["pod_react"] = %cqb_stand_react_a; + level.scr_anim["enemy_stealth_back_patrol_00"]["pod_react"] = %cqb_stand_react_c; + level.scr_anim["pod_rappel"]["pod_rappel"] = %berlin_granite_team_rappel_drop; + level.scr_anim["jumpers"]["big_jump_down"] = %seo_pre_lassist_1st_jump_npc2_e3; + level.scr_animtree["goliath_rig"] = #animtree; + level.scr_model["goliath_rig"] = "npc_exo_armor_base"; + level.scr_anim["goliath_rig"]["goliath_bridge_throw"] = %crash_ice_bridge_throw_goliath; + level.scr_anim["cormack"]["cormack_bridge_approach"] = %crash_ice_bridge_approach_trigger_cormack; + level.scr_anim["cormack"]["cormack_bridge_wait"][0] = %crash_ice_bridge_wait_idle_cormack; + level.scr_anim["cormack"]["cormack_bridge_surprise"] = %crash_ice_bridge_surprise_attack_cormack; + level.scr_anim["cormack"]["cormack_bridge_smash"] = %crash_ice_bridge_throw_cormack; + maps\_anim::addnotetrack_customfunction("cormack","distort_begin",::maps\crash_utility::cormack_helmet_close,"cormack_bridge_smash"); + level.scr_anim["cormack"]["cormack_bridge_throw2"] = %crash_ice_bridge_throw2_cormack; + level.scr_anim["cormack"]["cormack_bridge_throw"] = %crash_ice_bridge_throw_success_cormack; + level.scr_anim["cormack"]["friendly_bridge_explode"] = %crash_ice_bridge_resonance_explodes_cormack; + maps\_anim::addnotetrack_customfunction("cormack","helmet_open",::maps\crash_utility::cormack_helmet_open,"friendly_bridge_explode"); + level.scr_anim["goliath"]["goliath_bridge_surprise"] = %crash_ice_bridge_surprise_attack_goliath; + level.scr_anim["goliath"]["goliath_bridge_smash"] = %crash_ice_bridge_arm_smash_goliath; + level.scr_anim["goliath"]["goliath_bridge_explode"] = %crash_ice_bridge_resonance_explodes_goliath; + level.scr_anim["goliath"]["goliath_bridge_death"] = %crash_ice_bridge_death_pose_goliath; + level.scr_anim["goliath"]["goliath_bridge_throw"] = %crash_ice_bridge_throw_goliath; + level.scr_anim["goliath"]["goliath_bridge_throw2"] = %crash_ice_bridge_throw2_goliath; + level.scr_anim["ilana"]["ilana_bridge_throw"] = %crash_ice_bridge_throw_ilona; + level.scr_anim["ilana"]["friendly_bridge_explode"] = %crash_ice_bridge_resonance_explodes_ilana; + level.scr_animtree["goliathdead"] = #animtree; + level.scr_model["goliathdead"] = "npc_exo_armor_base"; + level.scr_anim["goliathdead"]["goliath_bridge_death"] = %crash_ice_bridge_death_pose_goliath; + level.scr_anim["cormack"]["narrowcave_search"] = %crash_narrowcave_search_cormack; + level.scr_anim["cormack"]["narrowcave_search_traverse_sec1"] = %crash_narrowcave_search_traverse_sec1_cormack; + level.scr_anim["cormack"]["narrowcave_search_enter"] = %crash_narrowcave_search_enter_wait_cormack; + level.scr_anim["cormack"]["narrowcave_search_idle"][0] = %crash_narrowcave_search_idle_wait_cormack; + level.scr_anim["cormack"]["narrowcave_search_exit"] = %crash_narrowcave_search_exit_wait_cormack; + level.scr_anim["cormack"]["narrowcave_traverse_sec1"] = %crash_narrowcave_traverse_sec1_cormack; + maps\_anim::addnotetrack_customfunction("cormack","r_crsh_crmk_toheadto",::maps\crash_caves::narrow_cave_cormack_radio,"narrowcave_traverse_sec1"); + maps\_anim::addnotetrack_customfunction("cormack","r_crsh_grdn5_static4",::maps\crash_caves::narrow_cave_radio_response,"narrowcave_traverse_sec1"); + maps\_anim::addnotetrack_flag("cormack","stumble","narrow_cave_rumble","narrowcave_traverse_sec1"); + level.scr_anim["cormack"]["narrowcave_sec1_traverse_sec2"] = %crash_narrowcave_sec1_traverse_sec2_cormack; + maps\_anim::addnotetrack_customfunction("cormack","r_crsh_iln_thermals",::maps\crash_caves::narrow_cave_ilona_thermals,"narrowcave_sec1_traverse_sec2"); + level.scr_anim["cormack"]["narrowcave_sec2_enter"] = %crash_narrowcave_sec2_enter_wait_cormack; + level.scr_anim["cormack"]["narrowcave_sec2_idle"][0] = %crash_narrowcave_sec2_idle_wait_cormack; + level.scr_anim["cormack"]["narrowcave_sec2_exit"] = %crash_narrowcave_sec2_exit_wait_cormack; + level.scr_anim["cormack"]["narrowcave_sec2_traverse_floodroom"] = %crash_narrowcave_sec2_traverse_floodroom_cormack; + level.scr_anim["cormack"]["narrowcave_floodroom_idle"][0] = %crash_narrowcave_floodroom_idle_cormack; + level.scr_anim["cormack"]["narrowcave_floodroom_break_to_breach"] = %crash_narrowcave_floodroom_break_to_breach_cormack; + maps\_anim::addnotetrack_customfunction("cormack","helmet_close",::maps\crash_utility::cormack_helmet_close,"narrowcave_floodroom_break_to_breach"); + level.scr_anim["cormack"]["narrowcave_pre_breach_idle"][0] = %crash_narrowcave_pre_breach_idle_cormack; + level.scr_anim["cormack"]["narrowcave_water_breach"] = %crash_narrowcave_water_breach_cormack; + maps\_anim::addnotetrack_flag("cormack","zero_view","zero_breach_view","narrowcave_water_breach"); + maps\_anim::addnotetrack_flag("cormack","start_player","cormack_breach_ready","narrowcave_water_breach"); + maps\_anim::addnotetrack_flag("cormack","start_enemies","start_breach_enemies","narrowcave_water_breach"); + maps\_anim::addnotetrack_customfunction("cormack","swap_axe",::maps\crash_caves::narrow_cave_swap_axe,"narrowcave_water_breach"); + maps\_anim::addnotetrack_customfunction("cormack","axe_trail",::maps\crash_fx::narrow_cave_axe_throw,"narrowcave_water_breach"); + level.scr_anim["cormack"]["narrowcave_water_breach_fire"] = %crash_narrowcave_water_breach_fire_cormack; + level.scr_anim["cormack"]["narrowcave_water_breach_mantle"] = %crash_narrowcave_water_breach_mantle_cormack; + level.scr_anim["ilana"]["narrowcave_search"] = %crash_narrowcave_search_ilona; + level.scr_anim["ilana"]["narrowcave_search_idle"][0] = %crash_narrowcave_search_idle_wait_ilona; + level.scr_anim["ilana"]["narrowcave_search_traverse_sec1"] = %crash_narrowcave_search_traverse_sec1_ilona; + level.scr_anim["ilana"]["narrowcave_sec1_idle"][0] = %crash_narrowcave_sec1_idle_wait_ilona; + level.scr_anim["ilana"]["narrowcave_sec1_traverse_sec2"] = %crash_narrowcave_sec1_traverse_sec2_ilona; + level.scr_anim["ilana"]["narrowcave_sec2_idle"][0] = %crash_narrowcave_sec2_idle_wait_ilona; + level.scr_anim["ilana"]["narrowcave_sec2_traverse_floodroom"] = %crash_narrowcave_sec2_traverse_floodroom_ilona; + level.scr_anim["ilana"]["narrowcave_break_to_idle_floodroom"] = %crash_narrowcave_break_to_idle_floodroom_ilona; + level.scr_anim["ilana"]["narrowcave_idle_floodroom"][0] = %crash_narrowcave_idle_floodroom_ilona; + level.scr_anim["ilana"]["narrowcave_floodroom_to_breach"] = %crash_narrowcave_floodroom_to_breach_ilona; + level.scr_anim["ilana"]["narrowcave_pre_breach_idle"][0] = %crash_narrowcave_pre_breach_idle_ilona; + level.scr_anim["ilana"]["narrowcave_water_breach"] = %crash_narrowcave_water_breach_ilona; + level.scr_anim["ilana"]["narrowcave_water_breach_fire"] = %crash_narrowcave_water_breach_fire_ilona; + level.scr_anim["ilana"]["narrowcave_water_breach_mantle"] = %crash_narrowcave_water_breach_mantle_ilona; + level.scr_anim["breach_enemy_1"]["water_breach_idle"][0] = %crash_narrowcave_water_breach_idle_enemy1; + level.scr_anim["breach_enemy_2"]["water_breach_idle"][0] = %crash_narrowcave_water_breach_idle_enemy2; + level.scr_anim["breach_enemy_4"]["water_breach_idle"][0] = %crash_narrowcave_water_breach_idle_enemy4; + level.scr_anim["breach_enemy_5"]["water_breach_idle"][0] = %crash_narrowcave_water_breach_idle_enemy5; + level.scr_anim["breach_enemy_6"]["water_breach_idle"][0] = %crash_narrowcave_water_breach_idle_enemy6; + level.scr_anim["breach_enemy_1"]["water_breach_enemy"] = %crash_narrowcave_water_breach_enemy1; + level.scr_anim["breach_enemy_2"]["water_breach_enemy"] = %crash_narrowcave_water_breach_enemy2; + level.scr_anim["breach_enemy_3"]["water_breach_enemy"] = %crash_narrowcave_water_breach_enemy3; + level.scr_anim["breach_enemy_4"]["water_breach_enemy"] = %crash_narrowcave_water_breach_enemy4; + level.scr_anim["breach_enemy_5"]["water_breach_enemy"] = %crash_narrowcave_water_breach_enemy5; + level.scr_anim["breach_enemy_6"]["water_breach_enemy"] = %crash_narrowcave_water_breach_enemy6; + level.scr_anim["enemy_drop"]["drop_512"] = %traverse_drop_512; + level.scr_anim["generic"]["stealth_walk"][0] = %stealth_walk; + level.scr_anim["generic"]["casual_walk"][0] = %patrol_bored_patrolwalk; + level.scr_anim["generic"]["casual_walk_in"] = %patrol_bored_walk_2_bored; + level.scr_anim["generic"]["casual_walk_out"] = %patrol_bored_2_walk; + level.scr_anim["generic"]["casual_walk_idle"] = %patrol_bored_idle; + level.scr_anim["ilana"]["casual_walk"][0] = %det_casual_walk_slow_cormack; + level.scr_anim["cormack"]["casual_walk"][0] = %det_casual_walk_slow_cormack; + level.scr_anim["cormack"]["overlook_intro"] = %crash_overlook_cormack; + level.scr_anim["ilana"]["overlook_intro"] = %crash_overlook_ilona; + level.scr_anim["generic"]["unarmed_crouch"][0] = %unarmed_covercrouch_hide_look; + level.scr_anim["ilana"]["gideon_scene"] = %crash_gideon_rescue_ilana; + level.scr_anim["cormack"]["gideon_scene"] = %crash_gideon_rescue_cormack; + level.scr_anim["gideon"]["gideon_scene"] = %crash_gideon_rescue_gideon; + level.scr_anim["lake_enemy_0"]["gideon_scene"] = %crash_gideon_rescue_guy1; + level.scr_anim["lake_enemy_1"]["gideon_scene"] = %crash_gideon_rescue_guy2; + level.scr_anim["generic"]["lake_sniped0"] = %exposed_dive_grenade_b; + level.scr_anim["generic"]["lake_sniped1"] = %exposed_idle_reacta; + level.scr_anim["generic"]["lake_sniped2"] = %exposed_idle_reactb; + level.scr_anim["generic"]["lake_sniped3"] = %exposed_dive_grenade_f; + level.scr_anim["lake_dead_sniper"]["play_dead"] = %det_school_enter_pt2_npc_deadbody_01; + level.scr_anim["cormack"]["cormack_lake_start"] = %crash_lake_intro_cormack; + level.scr_anim["lakeguy"]["lake_ambience0"][0] = %crash_vtol_lake_scene_loop_lookout; + level.scr_anim["lakeguy"]["lake_ambience1"][0] = %crash_vtol_lake_scene_loop_engineer01; + level.scr_anim["lakeguy"]["lake_ambience2"][0] = %crash_vtol_lake_scene_loop_engineer02; + level.scr_anim["lakeguy"]["lake_ambience3"][0] = %crash_vtol_lake_scene_loop_engineer03; + level.scr_anim["enemy1"]["lake_idle"][0] = %crash_vtol_lake_scene_loop_crateguy1; + level.scr_anim["enemy2"]["lake_idle"][0] = %crash_vtol_lake_scene_loop_crateguy2; + level.scr_anim["enemy1"]["lake_hookup"] = %crash_lake_crate_hookup_guy1; + level.scr_anim["enemy2"]["lake_hookup"] = %crash_lake_crate_hookup_guy2; + level.scr_anim["lakeguy"]["lake_sniped0"] = %crash_vtol_lake_scene_lookout; + level.scr_anim["lakeguy"]["lake_sniped1"] = %crash_vtol_lake_scene_engineer01; + level.scr_anim["lakeguy"]["lake_sniped2"] = %crash_vtol_lake_scene_engineer02; + level.scr_anim["lakeguy"]["lake_sniped3"] = %crash_vtol_lake_scene_engineer03; + level.scr_anim["enemy1"]["lake_idle_run"] = %crash_vtol_lake_scene_crateguy1; + level.scr_anim["enemy2"]["lake_idle_run"] = %crash_vtol_lake_scene_crateguy2; + level.scr_anim["enemy1"]["lake_loadup"] = %crash_lake_intro_enemy1; + level.scr_anim["enemy2"]["lake_loadup"] = %crash_lake_intro_enemy2; + level.scr_anim["generic"]["npc_deadbody_01"][0] = %det_school_enter_pt2_npc_deadbody_01; + level.scr_anim["generic"]["npc_deadbody_11"][0] = %det_school_enter_pt2_npc_deadbody_11; + level.scr_anim["generic"]["npc_deadbody_12"][0] = %det_school_enter_pt2_npc_deadbody_12; + level.scr_anim["gideon"]["vtol_ambush_intro"] = %crash_vtol_ambush_intro_gideon; + level.scr_anim["gideon"]["vtol_ambush_stinger_loop"][0] = %crash_vtol_ambush_stinger_loop_gideon; + level.scr_anim["gideon"]["vtol_ambush_vtol_talk"] = %crash_vtol_ambush_vtol_talk_gideon; + level.scr_anim["gideon"]["vtol_ambush_wave_gideon"] = %crash_vtol_ambush_vtol_wave_gideon; + maps\_anim::addnotetrack_flag("gideon","crsh_acp_heatsignatures","vo_heat_line","vtol_ambush_wave_gideon"); + maps\_anim::addnotetrack_flag("gideon","crsh_gid_bringitdown2","vo_bringitdown_line","vtol_ambush_wave_gideon"); + level.scr_anim["gideon"]["vtol_ambush_exit_cover"] = %crash_vtol_ambush_exit_cover_gideon; + level.scr_anim["gideon"]["vtol_sliding_off_cliff_gideon"] = %crash_vtol_sliding_off_cliff_gideon; + level.scr_anim["gideon"]["vtol_falls_off_cliff_failure_gideon"] = %crash_vtol_falls_off_cliff_failure_gideon; + level.scr_face["gideon"]["ambush_gid_dealtwith"] = %crash_vtol_ambush_gid_dealtwith; + level.scr_anim["cormack"]["vtol_ambush_intro"] = %crash_vtol_ambush_intro_cormack; + level.scr_anim["cormack"]["vtol_ambush_cover_loop"][0] = %crash_vtol_ambush_cover_loop_cormack; + level.scr_anim["cormack"]["vtol_ambush_fire_stinger"] = %crash_vtol_ambush_fire_stinger_cormack; + level.scr_anim["cormack"]["vtol_ambush_call_evac_loop"][0] = %crash_vtol_ambush_call_evac_loop_cormack; + level.scr_anim["ilana"]["vtol_ambush_intro"] = %crash_vtol_ambush_intro_ilona; + level.scr_anim["ilana"]["vtol_ambush_cover_loop"][0] = %crash_vtol_ambush_cover_loop_ilona; + level.scr_anim["ilana"]["vtol_ambush_exit_cover"] = %crash_vtol_ambush_exit_cover_ilona; + level.scr_anim["ilana"]["vtol_ambush_call_evac_loop"][0] = %crash_vtol_ambush_call_evac_loop_ilona; + level.scr_anim["gideon"]["avalanche_exit"] = %crash_exfil_gideon; + maps\_anim::addnotetrack_flag("gideon","boost_jump","gideon_boost_jump","avalanche_exit"); + level.scr_anim["cormack"]["avalanche_exit"] = %crash_exfil_cormack; + maps\_anim::addnotetrack_flag("cormack","cormack_line1","vo_cormack_exfil1","avalanche_exit"); + maps\_anim::addnotetrack_flag("cormack","kingpin_line1","vo_kingpin_exfil","avalanche_exit"); + maps\_anim::addnotetrack_flag("cormack","cormack_line2","vo_cormack_exfil2","avalanche_exit"); + level.scr_anim["ilana"]["avalanche_exit"] = %crash_exfil_ilona; +} + +//Function Number: 4 +vehicles_anims() +{ + level.scr_animtree["cargo_plane"] = #animtree; + level.scr_anim["cargo_plane"]["skyjack_loop_plane"][0] = %crash_skyjack_loop_plane; + level.scr_anim["cargo_plane"]["skyjack_explosion_plane"] = %crash_skyjack_explosion_plane; + level.scr_anim["cargo_plane"]["atlas_plane_crash_plane"] = %crash_atlas_plane_crash_plane; + level.scr_animtree["drone_pod"] = #animtree; + level.scr_model["drone_pod"] = "vehicle_skyjack_drone_pod_ai"; + level.scr_anim["drone_pod"]["skyjack_intro_drone"] = %crash_skyjack_intro_drone; + level.scr_anim["drone_pod"]["skyjack_loop_drone"][0] = %crash_skyjack_loop_drone; + level.scr_anim["drone_pod"]["skyjack_explosion_drone"] = %crash_skyjack_explosion_drone; + level.scr_anim["drone_pod"]["atlas_plane_crash_drone"] = %crash_atlas_plane_crash_drone; + level.scr_animtree["drone_chute1"] = #animtree; + level.scr_model["drone_chute1"] = "vehicle_skyjack_drone_pod_parachute_large"; + level.scr_anim["drone_chute1"]["skyjack_explosion_drone"] = %crash_skyjack_explosion_chute1; + level.scr_anim["drone_chute1"]["atlas_plane_crash"] = %crash_atlas_plane_crash_chute1; + level.scr_animtree["drone_chute2"] = #animtree; + level.scr_model["drone_chute2"] = "vehicle_skyjack_drone_pod_parachute_large"; + level.scr_anim["drone_chute2"]["skyjack_explosion_drone"] = %crash_skyjack_explosion_chute2; + level.scr_anim["drone_chute2"]["atlas_plane_crash"] = %crash_atlas_plane_crash_chute2; + level.scr_animtree["drone_chute3"] = #animtree; + level.scr_model["drone_chute3"] = "vehicle_skyjack_drone_pod_parachute_large"; + level.scr_anim["drone_chute3"]["skyjack_explosion_drone"] = %crash_skyjack_explosion_chute3; + level.scr_anim["drone_chute3"]["atlas_plane_crash"] = %crash_atlas_plane_crash_chute3; + level.scr_animtree["vtol"] = #animtree; + level.scr_anim["vtol"]["atlas_plane_crash"] = %crash_atlas_plane_crash_atlas_vtol; + level.scr_animtree["razorback"] = #animtree; + level.scr_anim["razorback"]["prebunker_intro_razorback"] = %crash_prebunker_intro_razorback; + level.scr_anim["razorback"]["prebunker_loop_razorback"][0] = %crash_prebunker_loop_razorback; + level.scr_anim["razorback"]["prebunker_end_razorback"] = %crash_prebunker_end_razorback; + maps\_anim::addnotetrack_customfunction("razorback","spawn_mech_and_missiles",::maps\crash_crash_site::razorback_mech,"prebunker_end_razorback"); + level.scr_anim["warbird_deploy"]["mobile_turret_deploy"] = %mobile_turret_deploy_warbird; + level.scr_anim["mobile_turret"]["guy_enter_mobile_turret"] = %x4walker_wheels_enter_right; + level.scr_anim["walker_tank"]["fusion_walker_tank_enter"] = %fusion_walker_tank_enter; + level.scr_anim["walker_tank"]["fusion_walker_tank_fwd_2_left"] = %fusion_walker_tank_fwd_2_left; + level.scr_anim["walker_tank"]["fusion_walker_tank_fwd_2_right"] = %fusion_walker_tank_fwd_2_right; + level.scr_anim["walker_tank"]["fusion_walker_tank_fwd_idle"][0] = %fusion_walker_tank_fwd_idle; + level.scr_anim["walker_tank"]["fusion_walker_tank_left_2_fwd"] = %fusion_walker_tank_left_2_fwd; + level.scr_anim["walker_tank"]["fusion_walker_tank_left_idle"][0] = %fusion_walker_tank_left_idle; + level.scr_anim["walker_tank"]["fusion_walker_tank_right_2_fwd"] = %fusion_walker_tank_right_2_fwd; + level.scr_anim["walker_tank"]["fusion_walker_tank_right_idle"][0] = %fusion_walker_tank_right_idle; + level.scr_anim["walker_tank"]["fusion_walker_tank_fwd_idle_death"] = %fusion_walker_tank_fwd_idle_death; + level.scr_anim["walker_tank"]["fusion_walker_tank_left_idle_death"] = %fusion_walker_tank_left_idle_death; + level.scr_anim["walker_tank"]["fusion_walker_tank_right_idle_death"] = %fusion_walker_tank_right_idle_death; + maps\_anim::addnotetrack_customfunction("walker_tank","footstep_left_large",::maps\crash_fx::walker_tank_footstep_left); + maps\_anim::addnotetrack_customfunction("walker_tank","footstep_right_large",::maps\crash_fx::walker_tank_footstep_right); + maps\_anim::addnotetrack_customfunction("walker_tank","footstep_left_rear_large",::maps\crash_fx::walker_tank_footstep_left_rear); + maps\_anim::addnotetrack_customfunction("walker_tank","footstep_right_rear_large",::maps\crash_fx::walker_tank_footstep_right_rear); + level.scr_animtree["drone"] = #animtree; + level.scr_anim["drone"]["drone_intro"] = %crash_prometheus_drone_drone; + level.scr_anim["drone"]["drone_lineup"] = %crash_prometheus_drone_release_drone; + level.scr_anim["drone"]["drone_section_1"] = %crash_prometheus_drone_section1_drone; + level.scr_anim["drone"]["drone_section_1_loop"][0] = %crash_prometheus_drone_loop1_drone; + level.scr_anim["drone"]["drone_section_2"] = %crash_prometheus_drone_section2_drone; + level.scr_anim["drone"]["drone_section_2_loop"][0] = %crash_prometheus_drone_loop2_drone; + level.scr_anim["drone"]["drone_section_3"] = %crash_prometheus_drone_section3_drone; + level.scr_anim["drone"]["drone_section_3_loop"][0] = %crash_prometheus_drone_loop3_drone; + level.scr_anim["drone"]["drone_section_4"] = %crash_prometheus_drone_section4_drone; + level.scr_anim["drone"]["drone_section_4_loop"][0] = %crash_prometheus_drone_loop4_drone; + level.scr_anim["drone"]["drone_release_loop"][0] = %crash_prometheus_drone_release_loop_drone; + level.scr_animtree["vehicle_mil_humvee"] = #animtree; + level.scr_anim["vehicle_mil_humvee"]["lake_loadup"] = %crash_lake_intro_truck; + level.scr_animtree["vtol"] = #animtree; + level.scr_model["vtol"] = "vehicle_xh9_warbird"; + level.scr_anim["vtol"]["lake_hookup"] = %crash_lake_crate_hookup_vtol; + level.scr_anim["vtol"]["lake_loop"][0] = %crash_lake_intro_loop_vtol; + level.scr_anim["vtol"]["lake_turn"] = %crash_lake_turn_vtol; + level.scr_anim["vtol"]["lake_hookup_loop"][0] = %crash_lake_hooked_loop_vtol; + level.scr_anim["vtol"]["lake_takeoff"] = %crash_lake_takeoff_vtol; + level.scr_animtree["crashed_vtol"] = #animtree; + level.scr_anim["crashed_vtol"]["vtol_ambush_fly_intro"] = %crash_vtol_ambush_fly_intro_vtol; + maps\_anim::addnotetrack_flag("crashed_vtol","gideon_wave","start_gideon_wave_anim","vtol_ambush_fly_intro"); + maps\_anim::addnotetrack_flag("crashed_vtol","start_lockon","vtol_can_lock_on","vtol_ambush_fly_intro"); + maps\_anim::addnotetrack_flag("crashed_vtol","start_lockon","obj_start_exfil","vtol_ambush_fly_intro"); + maps\_anim::addnotetrack_flag("crashed_vtol","hit_early","vtol_hit_early","vtol_ambush_fly_intro"); + maps\_anim::addnotetrack_flag("crashed_vtol","hit_mid","vtol_hit_mid","vtol_ambush_fly_intro"); + maps\_anim::addnotetrack_flag("crashed_vtol","cormack_fires_stinger","cormack_fires_stinger_failsafe","vtol_ambush_fly_intro"); + maps\_anim::addnotetrack_flag("crashed_vtol","missiles_hit","missiles_hit_vtol","vtol_ambush_fly_intro"); + level.scr_anim["crashed_vtol"]["vtol_ambush_stinger_hit_late"] = %crash_vtol_ambush_stinger_hit_late_vtol; + level.scr_anim["crashed_vtol"]["vtol_ambush_stinger_hit_mid"] = %crash_vtol_ambush_stinger_hit_mid_vtol; + level.scr_anim["crashed_vtol"]["vtol_ambush_stinger_hit_early"] = %crash_vtol_ambush_stinger_hit_early_vtol; + level.scr_anim["crashed_vtol"]["ambush_hit_add"] = %crash_vtol_ambush_hit_add_vtol; + level.scr_anim["crashed_vtol"]["vtol_ambush_crash"] = %crash_vtol_ambush_crash_vtol; + maps\_anim::addnotetrack_flag("crashed_vtol","start_gideons_animation","start_gideons_animation","vtol_ambush_crash"); + level.scr_anim["crashed_vtol"]["vtol_sliding_off_cliff"] = %crash_vtol_sliding_off_cliff_vtol; + level.scr_anim["crashed_vtol"]["vtol_falls_off_cliff"] = %crash_vtol_falls_off_cliff_vtol; + level.scr_anim["crashed_vtol"]["avalanche_exit_fail"] = %crash_exfil_fail_vtol; + level.scr_animtree["exfil_heli"] = #animtree; + level.scr_anim["exfil_heli"]["avalanche_exit"] = %crash_exfil_helo; +} + +//Function Number: 5 +prop_anims() +{ + level.scr_animtree["explosive"] = #animtree; + level.scr_model["explosive"] = "laser_explosive_crate"; + level.scr_anim["explosive"]["skyjack_setcharge_explosive"] = %crash_skyjack_setcharge_explosive; + level.scr_animtree["plane_debris"] = #animtree; + level.scr_model["plane_debris"] = "generic_prop_raven_x3"; + level.scr_anim["plane_debris"]["skyjack_explosion_debris"] = %crash_skyjack_explosion_debris; + level.scr_animtree["drone_cable"] = #animtree; + level.scr_model["drone_cable"] = "csh_skyjack_drone_cables"; + level.scr_anim["drone_cable"]["skyjack_explosion_drone"] = %crash_skyjack_explosion_drone_cable; + level.scr_anim["drone_cable"]["atlas_plane_crash"] = %crash_atlas_plane_crash_cables; + level.scr_animtree["mini_chutes"] = #animtree; + level.scr_model["mini_chutes"] = "vehicle_skyjack_drone_pod_parachutes_mini"; + level.scr_anim["mini_chutes"]["skyjack_explosion_drone"] = %crash_skyjack_explosion_mini_chutes; + maps\_anim::addnotetrack_customfunction("mini_chutes","hide_mini_chutes",::maps\crash_skyjack::mini_chute_hide,"skyjack_explosion_drone"); + level.scr_animtree["razor_cargo"] = #animtree; + level.scr_model["razor_cargo"] = "atlas_stabilize_crate"; + level.scr_anim["razor_cargo"]["prebunker_intro_crate"] = %crash_prebunker_intro_crate; + level.scr_anim["razor_cargo"]["prebunker_loop_crate"][0] = %crash_prebunker_loop_crate; + level.scr_anim["razor_cargo"]["prebunker_end_crate"] = %crash_prebunker_end_crate; + level.scr_animtree["cs_gun"] = #animtree; + level.scr_model["cs_gun"] = "generic_prop_raven"; + level.scr_anim["cs_gun"]["plane_crash_player_gun"] = %crash_atlas_plane_crash_player_gun; + level.scr_animtree["razor_missiles"] = #animtree; + level.scr_model["razor_missiles"] = "genericprop_x5"; + level.scr_anim["razor_missiles"]["prebunker_end_missiles"] = %crash_prebunker_end_missiles; + level.scr_animtree["ground_chute"] = #animtree; + level.scr_model["ground_chute"] = "csh_drone_parachute_01"; + level.scr_anim["ground_chute"]["crash_chute_idle"][0] = %crash_atlas_plane_crash_chute_idle; + level.scr_animtree["ice_floor"] = #animtree; + level.scr_model["ice_floor"] = "csh_entry_shelf_ice_floor_01_anim"; + level.scr_anim["ice_floor"]["icecave_enter"] = %crash_icecave_enter_icefloor; + level.scr_animtree["pro_wall"] = #animtree; + level.scr_anim["pro_wall"]["head_down_tunnel"] = %crash_prometheus_drone_end_wall; + level.scr_animtree["turkey_drone"] = #animtree; + level.scr_anim["turkey_drone"]["turkey_shoot"] = %crash_turkey_shoot_drone; + level.scr_anim["turkey_drone"]["turkey_shoot_loop"][0] = %crash_turkey_shoot_drone_loop; + level.scr_anim["turkey_drone"]["turkey_shoot_dead"] = %crash_turkey_shoot_drone_dead; + level.scr_animtree["goliath_ice_bridge"] = #animtree; + level.scr_anim["goliath_ice_bridge"]["bridge_throw"] = %crash_ice_bridge_throw_bridge; + level.scr_anim["goliath_ice_bridge"]["bridge_collapse"] = %crash_ice_bridge_resonance_explodes_bridge; + level.scr_animtree["ice_bridge_reso"] = #animtree; + level.scr_model["ice_bridge_reso"] = "npc_resonance_device_base"; + level.scr_anim["ice_bridge_reso"]["reso_device_fall"] = %crash_ice_bridge_throw_reso_device; + level.scr_anim["ice_bridge_reso"]["reso_device_explode"] = %crash_ice_bridge_resonance_explodes_reso_device; + level.scr_animtree["ice_bridge_gun"] = #animtree; + level.scr_model["ice_bridge_gun"] = "npc_hbra3_nocamo"; + level.scr_anim["ice_bridge_gun"]["gun_fall"] = %crash_ice_bridge_throw_player_gun; + level.scr_animtree["ice_bridge_rock"] = #animtree; + level.scr_model["ice_bridge_rock"] = "generic_prop_raven_x3"; + level.scr_anim["ice_bridge_rock"]["rock_collapse"][0] = %crash_ice_bridge_ice_chunk_loop; + level.scr_animtree["water_level"] = #animtree; + level.scr_model["water_level"] = "generic_prop_raven"; + level.scr_anim["water_level"]["water_level_rising"] = %crash_narrowcave_water_level_rising; + level.scr_animtree["ice_axe"] = #animtree; + level.scr_model["ice_axe"] = "generic_prop_raven"; + level.scr_anim["ice_axe"]["narrowcave_floodroom_break_to_breach"] = %crash_narrowcave_floodroom_break_to_breach_axe; + level.scr_anim["ice_axe"]["narrowcave_pre_breach_idle"][0] = %crash_narrowcave_pre_breach_idle_axe; + level.scr_animtree["ice_axe_scripted"] = #animtree; + level.scr_model["ice_axe_scripted"] = "scripted_ice_picker_arctic"; + level.scr_anim["ice_axe_scripted"]["narrowcave_water_breach"] = %crash_narrowcave_water_breach_axe; + level.scr_animtree["cargo"] = #animtree; + level.scr_model["cargo"] = "generic_prop_raven"; + level.scr_anim["cargo"]["lake_loadup"] = %crash_lake_intro_cargo; + level.scr_animtree["crate"] = #animtree; + level.scr_model["crate"] = "atlas_stabilize_crate"; + level.scr_anim["crate"]["lake_loop"][0] = %crash_lake_intro_loop_crate; + level.scr_anim["crate"]["lake_shut"] = %crash_vtol_lake_crate; + level.scr_anim["crate"]["lake_hookup_loop"][0] = %crash_vtol_lake_loop_crate; + level.scr_anim["crate"]["lake_takeoff"] = %crash_lake_takeoff_crate; + level.scr_animtree["pulley"] = #animtree; + level.scr_model["pulley"] = "vehicle_xh9_warbird_pulley"; + level.scr_anim["pulley"]["lake_hookup"] = %crash_lake_crate_hookup_cables; + level.scr_anim["pulley"]["lake_loop"][0] = %crash_lake_intro_loop_cables; + level.scr_anim["pulley"]["lake_turn"] = %crash_lake_turn_cables; + level.scr_anim["pulley"]["lake_hookup_loop"][0] = %crash_lake_hooked_loop_cables; + level.scr_anim["pulley"]["lake_takeoff"] = %crash_lake_takeoff_cables; + level.scr_animtree["vtol_cargo"] = #animtree; + level.scr_model["vtol_cargo"] = "atlas_stabilize_crate"; + level.scr_anim["vtol_cargo"]["vtol_ambush_fly_intro"] = %crash_vtol_ambush_fly_intro_crate; + level.scr_anim["vtol_cargo"]["vtol_ambush_stinger_hit_late"] = %crash_vtol_ambush_stinger_hit_late_crate; + level.scr_anim["vtol_cargo"]["vtol_ambush_stinger_hit_mid"] = %crash_vtol_ambush_stinger_hit_mid_crate; + level.scr_anim["vtol_cargo"]["vtol_ambush_stinger_hit_early"] = %crash_vtol_ambush_stinger_hit_early_crate; + level.scr_anim["vtol_cargo"]["vtol_ambush_crash"] = %crash_vtol_ambush_crash_crate; + level.scr_anim["vtol_cargo"]["vtol_sliding_off_cliff"] = %crash_vtol_sliding_off_cliff_crate; + level.scr_anim["vtol_cargo"]["avalanche_exit"] = %crash_exfil_crate; + level.scr_anim["vtol_cargo"]["vtol_falls_off_cliff"] = %crash_vtol_falls_off_cliff_crate; + level.scr_anim["vtol_cargo"]["avalanche_exit_fail"] = %crash_exfil_fail_crate; + level.scr_anim["vtol_cargo"]["ambush_hit_add"] = %crash_vtol_ambush_hit_add_crate; + level.scr_animtree["vtol_cables"] = #animtree; + level.scr_model["vtol_cables"] = "vehicle_xh9_warbird_pulley"; + level.scr_anim["vtol_cables"]["vtol_ambush_fly_intro"] = %crash_vtol_ambush_fly_intro_cables; + level.scr_anim["vtol_cables"]["vtol_ambush_stinger_hit_late"] = %crash_vtol_ambush_stinger_hit_late_cables; + level.scr_anim["vtol_cables"]["vtol_ambush_stinger_hit_mid"] = %crash_vtol_ambush_stinger_hit_mid_cables; + level.scr_anim["vtol_cables"]["vtol_ambush_stinger_hit_early"] = %crash_vtol_ambush_stinger_hit_early_cables; + level.scr_anim["vtol_cables"]["vtol_ambush_crash"] = %crash_vtol_ambush_crash_cables; + level.scr_anim["vtol_cables"]["vtol_sliding_off_cliff"] = %crash_vtol_sliding_off_cliff_cables; + level.scr_anim["vtol_cables"]["vtol_falls_off_cliff"] = %crash_vtol_falls_off_cliff_cables; + level.scr_anim["vtol_cables"]["avalanche_exit_fail"] = %crash_exfil_fail_cables; + level.scr_anim["vtol_cables"]["ambush_hit_add"] = %crash_vtol_ambush_hit_add_cables; + level.scr_animtree["vtol_stinger"] = #animtree; + level.scr_model["vtol_stinger"] = "genericprop_x5"; + level.scr_anim["vtol_stinger"]["vtol_ambush_fire_stinger_missiles"] = %crash_vtol_ambush_fire_stinger_missiles; + level.scr_animtree["vtol_launcher"] = #animtree; + level.scr_model["vtol_launcher"] = "genericprop_x5"; + level.scr_anim["vtol_launcher"]["vtol_ambush_intro"] = %crash_vtol_ambush_intro_stinger; + level.scr_anim["vtol_launcher"]["vtol_ambush_cover_loop"][0] = %crash_vtol_ambush_cover_loop_stinger; + level.scr_anim["vtol_launcher"]["vtol_ambush_fire_stinger"] = %crash_vtol_ambush_fire_stinger_stinger; +} + +//Function Number: 6 +script_model_anims() +{ + level.scr_animtree["pulley_deploy"] = #animtree; + level.scr_model["pulley_deploy"] = "vehicle_xh9_warbird_pulley"; + level.scr_anim["pulley_deploy"]["mobile_turret_deploy"] = %mobile_turret_deploy_pulley; + level.scr_animtree["walker_deploy"] = #animtree; + level.scr_model["walker_deploy"] = "vehicle_x4walker_wheels"; + level.scr_anim["walker_deploy"]["mobile_turret_deploy"] = %mobile_turret_deploy_mobileturret; +} \ No newline at end of file diff --git a/AW/PC/maps/crash_aud.gsc b/AW/PC/maps/crash_aud.gsc new file mode 100644 index 0000000..4c91cc7 --- /dev/null +++ b/AW/PC/maps/crash_aud.gsc @@ -0,0 +1,2159 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: crash_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 208 + * Decompile Time: 3061 ms + * Timestamp: 4/22/2024 2:26:53 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + config_system(); + init_snd_flags(); + init_globals(); + launch_threads(); + launch_loops(); + create_level_envelop_arrays(); + precache_presets(); + register_snd_messages(); +} + +//Function Number: 2 +config_system() +{ + soundscripts\_audio::set_stringtable_mapname("shg"); + soundscripts\_snd_filters::snd_set_occlusion("med_occlusion"); + soundsettimescalefactor("unoccluded",0.5); + soundsettimescalefactor("scripted2",0); + soundsettimescalefactor("tactical_special",0); + soundsettimescalefactor("weapons",0); +} + +//Function Number: 3 +init_snd_flags() +{ + common_scripts\utility::flag_init("razor_crate_stops"); +} + +//Function Number: 4 +init_globals() +{ + level.aud = spawnstruct(); + level.aud.panned_quad_1_front = spawn("script_origin",(3647,-32105,2851)); + level.aud.panned_quad_2_front = spawn("script_origin",(3647,-32105,2851)); + level.aud.panned_quad_3_front = spawn("script_origin",(3647,-32105,2851)); + level.aud.panned_quad_1_rear = spawn("script_origin",(3056,33241,3808)); + level.aud.panned_quad_2_rear = spawn("script_origin",(3056,33241,3808)); + level.aud.panned_quad_3_rear = spawn("script_origin",(3056,33241,3808)); + level.aud.player_jetpack = spawn("script_origin",level.player.origin); + level.aud.gloveon = 0; + level.aud.firstdroppod = 1; + level.aud.crvplrhitground = 0; +} + +//Function Number: 5 +launch_threads() +{ + if(soundscripts\_audio::aud_is_specops()) + { + return; + } + + thread setup_skyjack_anims(); + thread setup_skyjack_mag_glove_anims(); + thread setup_crash_site_intro_anims(); + thread setup_cave_entry_loading_razorback(); + thread setup_crevasse_fall_and_recover(); + thread setup_goliath_bridge_anims(); + thread setup_narrow_cave_anims(); + thread setup_lake_anims(); + thread setup_exfil_anims(); + thread soundscripts\_audio_mix_manager::mm_add_submix("master_mix"); +} + +//Function Number: 6 +launch_loops() +{ + common_scripts\utility::loop_fx_sound("amb_wind_light_gus_space",(3003,8147,1201)); + thread common_scripts\utility::loop_fx_sound_interval("emt_wind_ext_gust",(330,-5093,-845),undefined,undefined,7,13); + common_scripts\utility::loop_fx_sound("waterfall_med_01",(1177,5342,448)); + common_scripts\utility::loop_fx_sound("waterfall_near_01",(1167,5344,309)); + common_scripts\utility::loop_fx_sound("waterfall_splat_01",(1169,5356,237)); + common_scripts\utility::loop_fx_sound("waterfall_splat_01",(1417,6000,255)); + common_scripts\utility::loop_fx_sound("fire_airplane_01_loop",(2878,7363,2977)); + common_scripts\utility::loop_fx_sound("fire_airplane_02_loop",(2920,7244,2768)); + common_scripts\utility::loop_fx_sound("crash_gol_bridge_water_left",(1428,3671,346),undefined,"waterfall_end"); + common_scripts\utility::loop_fx_sound("crash_gol_bridge_water_right",(936,3569,346),undefined,"waterfall_end"); + common_scripts\utility::loop_fx_sound("emt_water_drips_02",(1120,2847,-862)); + common_scripts\utility::loop_fx_sound("cave_water_trickle_dist",(1120,2847,-862)); + common_scripts\utility::loop_fx_sound("emt_water_drips_02",(999,2750,-865)); + common_scripts\utility::loop_fx_sound("cave_water_trickle_dist",(999,2750,-865)); + common_scripts\utility::loop_fx_sound("emt_water_drips_02",(920,2661,-870)); + common_scripts\utility::loop_fx_sound("cave_water_trickle_dist",(920,2661,-870)); + common_scripts\utility::loop_fx_sound("emt_water_drips_01",(854,2533,-875)); + common_scripts\utility::loop_fx_sound("cave_water_trickle_dist",(854,2533,-875)); + common_scripts\utility::loop_fx_sound("emt_water_drips_01",(835,2377,-879)); + common_scripts\utility::loop_fx_sound("cave_water_trickle_dist",(835,2377,-879)); + common_scripts\utility::loop_fx_sound("emt_water_drips_01",(841,2233,-872)); + common_scripts\utility::loop_fx_sound("cave_water_trickle_dist",(841,2233,-872)); + common_scripts\utility::loop_fx_sound("fire_airplane_01_loop",(347,-10489,-1471)); + common_scripts\utility::loop_fx_sound("fire_airplane_02_loop",(634,-10587,-1381)); + common_scripts\utility::loop_fx_sound("amb_wind_light_gus_space_2",(2485,-1349,-844)); + common_scripts\utility::loop_fx_sound("overlook_waterfall_water",(3027,-2139,-822)); + common_scripts\utility::loop_fx_sound("light_water_flow",(2199,-2292,-919)); + common_scripts\utility::loop_fx_sound("light_water_flow",(399,-8277,-1181)); + common_scripts\utility::loop_fx_sound("lake_waterfall",(399,-8340,-1354)); +} + +//Function Number: 7 +create_level_envelop_arrays() +{ + level.aud.envs = []; + level.aud.envs["example_envelop"] = [[0,0],[0.082,0.426],[0.238,0.736],[0.408,0.844],[0.756,0.953],[1,1]]; +} + +//Function Number: 8 +precache_presets() +{ +} + +//Function Number: 9 +register_snd_messages() +{ + soundscripts\_snd::snd_register_message("snd_zone_handler",::zone_handler); + soundscripts\_snd::snd_register_message("snd_music_handler",::music_handler); + soundscripts\_snd::snd_register_message("start_crash_site",::start_crash_site); + soundscripts\_snd::snd_register_message("start_cave_entry",::start_cave_entry); + soundscripts\_snd::snd_register_message("start_cave_hallway",::start_cave_hallway); + soundscripts\_snd::snd_register_message("start_big_cave",::start_big_cave); + soundscripts\_snd::snd_register_message("start_narrow_cave",::start_narrow_cave); + soundscripts\_snd::snd_register_message("start_combat_cave",::start_combat_cave); + soundscripts\_snd::snd_register_message("start_ice_bridge",::start_ice_bridge); + soundscripts\_snd::snd_register_message("start_overlook",::start_overlook); + soundscripts\_snd::snd_register_message("start_lake",::start_lake); + soundscripts\_snd::snd_register_message("start_lake_cinema",::start_lake_cinema); + soundscripts\_snd::snd_register_message("start_vtol_takedown",::start_vtol_takedown); + soundscripts\_snd::snd_register_message("start_avalanche",::start_avalanche); + soundscripts\_snd::snd_register_message("intro_skyjack_black",::intro_skyjack_black); + soundscripts\_snd::snd_register_message("intro_skyjack_fade_in",::intro_skyjack_fade_in); + soundscripts\_snd::snd_register_message("skyjack_gloveon",::skyjack_gloveon); + soundscripts\_snd::snd_register_message("skyjack_gloveoff",::skyjack_gloveoff); + soundscripts\_snd::snd_register_message("ambush_events",::ambush_events); + soundscripts\_snd::snd_register_message("drop_pod",::drop_pod); + soundscripts\_snd::snd_register_message("razorback_explosion",::razorback_explosion); + soundscripts\_snd::snd_register_message("background_explosion",::background_explosion); + soundscripts\_snd::snd_register_message("playspace_explosion",::playspace_explosion); + soundscripts\_snd::snd_register_message("warbird_crash_site",::warbird_crash_site); + soundscripts\_snd::snd_register_message("mech_fire_missile_first",::mech_fire_missile_first); + soundscripts\_snd::snd_register_message("mech_fire_missile",::mech_fire_missile); + soundscripts\_snd::snd_register_message("cave_entry",::cave_entry); + soundscripts\_snd::snd_register_message("cave_entry_tank_missile",::cave_entry_tank_missile); + soundscripts\_snd::snd_register_message("ilana_break_wall",::ilana_break_wall); + soundscripts\_snd::snd_register_message("cormack_flare",::cormack_flare); + soundscripts\_snd::snd_register_message("seo_zipline_harpoon_fire",::seo_zipline_harpoon_fire); + soundscripts\_snd::snd_register_message("seo_zipline_harpoon_impact",::seo_zipline_harpoon_impact); + soundscripts\_snd::snd_register_message("seo_zipline_rappel_begin",::seo_zipline_rappel_begin); + soundscripts\_snd::snd_register_message("seo_zipline_rappel_land",::seo_zipline_rappel_land); + soundscripts\_snd::snd_register_message("seo_zipline_retract_rope",::seo_zipline_retract_rope); + soundscripts\_snd::snd_register_message("drop_pod_screen_shake",::drop_pod_screen_shake); + soundscripts\_snd::snd_register_message("drop_pod_screen_shake_large",::drop_pod_screen_shake_large); + soundscripts\_snd::snd_register_message("turkey_shoot",::turkey_shoot); + soundscripts\_snd::snd_register_message("cave_npc_boost_assist",::cave_npc_boost_assist); + soundscripts\_snd::snd_register_message("cave_npc_boost_assist_land",::cave_npc_boost_assist_land); + soundscripts\_snd::snd_register_message("player_knockdown",::player_knockdown); + soundscripts\_snd::snd_register_message("goliath_land",::goliath_land); + soundscripts\_snd::snd_register_message("stalactite_fall",::stalactite_fall); + soundscripts\_snd::snd_register_message("cave_in",::cave_in); + soundscripts\_snd::snd_register_message("start_water_breach",::start_water_breach); + soundscripts\_snd::snd_register_message("end_water_breach",::end_water_breach); + soundscripts\_snd::snd_register_message("wind_warning",::wind_warning); + soundscripts\_snd::snd_register_message("wind_gust",::wind_gust); + soundscripts\_snd::snd_register_message("overlook_land",::overlook_land); + soundscripts\_snd::snd_register_message("overlook_fall",::overlook_fall); + soundscripts\_snd::snd_register_message("overlook_recover",::overlook_recover); + soundscripts\_snd::snd_register_message("enter_lake_cave",::enter_lake_cave); + soundscripts\_snd::snd_register_message("lake_events",::lake_events); + soundscripts\_snd::snd_register_message("missile_fire",::missile_fire); + soundscripts\_snd::snd_register_message("lake_warbird_approaches",::lake_warbird_approaches); + soundscripts\_snd::snd_register_message("lake_fall_in",::lake_fall_in); + soundscripts\_snd::snd_register_message("lake_exit",::lake_exit); + soundscripts\_snd::snd_register_message("pickup_stinger",::pickup_stinger); + soundscripts\_snd::snd_register_message("vtol_flyin",::vtol_flyin); + soundscripts\_snd::snd_register_message("cormack_missile",::cormack_missile); + soundscripts\_snd::snd_register_message("recover_cargo",::recover_cargo); + soundscripts\_snd::snd_register_message("exfil_fail",::exfil_fail); + soundscripts\_snd::snd_register_message("railgun_charge",::railgun_charge); + soundscripts\_snd::snd_register_message("railgun_ready",::railgun_ready); +} + +//Function Number: 10 +zone_handler(param_00,param_01) +{ + var_02 = ""; + var_03 = ""; + if(getsubstr(param_00,0,6) == "enter_") + { + var_02 = param_01; + } + else if(getsubstr(param_00,0,5) == "exit_") + { + var_03 = param_01; + } + + switch(param_00) + { + case "enter_crash_int_cave": + if(var_02 == "crash_int_cave") + { + level.aud.panned_quad_1_rear soundscripts\_snd_playsound::snd_play_loop("amb_wind_light_gust_sur"); + } + else if(var_02 == "crash_ext_crash_site") + { + level.aud.panned_quad_2_rear soundscripts\_snd_playsound::snd_play_loop("amb_cave_ice_sur"); + } + break; + + case "exit_crash_int_cave": + if(var_03 == "crash_int_cave") + { + level.aud.panned_quad_1_rear soundscripts\_snd_playsound::snd_stop_sound(); + } + else if(var_03 == "crash_ext_crash_site") + { + level.aud.panned_quad_2_rear soundscripts\_snd_playsound::snd_stop_sound(); + } + break; + + case "enter_crash_int_cave_narrow": + if(var_02 == "crash_int_cave_post_goliath") + { + level.aud.panned_quad_3_front soundscripts\_snd_playsound::snd_play_loop("amb_cave_narrow"); + level.aud.panned_quad_3_rear soundscripts\_snd_playsound::snd_play_loop("amb_cave_narrow_sur"); + } + else if(var_02 == "crash_int_cave_narrow") + { + level.aud.panned_quad_1_front soundscripts\_snd_playsound::snd_play_loop("amb_cave_post_goliath"); + level.aud.panned_quad_1_rear soundscripts\_snd_playsound::snd_play_loop("amb_cave_post_goliath_sur"); + } + break; + + case "exit_crash_int_cave_narrow": + if(var_03 == "crash_int_cave_post_goliath") + { + level.aud.panned_quad_3_front soundscripts\_snd_playsound::snd_stop_sound(); + level.aud.panned_quad_3_rear soundscripts\_snd_playsound::snd_stop_sound(); + } + else if(var_03 == "crash_int_cave_narrow") + { + level.aud.panned_quad_1_front soundscripts\_snd_playsound::snd_stop_sound(); + level.aud.panned_quad_1_rear soundscripts\_snd_playsound::snd_stop_sound(); + } + break; + + case "enter_crash_ext_postcave": + if(var_02 == "crash_ext_postcave") + { + level.aud.panned_quad_2_front soundscripts\_snd_playsound::snd_play_loop("amb_cave_ice"); + } + else if(var_02 == "crash_int_cave_large") + { + level.aud.panned_quad_1_front soundscripts\_snd_playsound::snd_play_loop("amb_wind_light_gust"); + } + break; + + case "exit_crash_ext_postcave": + if(var_03 == "crash_ext_postcave") + { + level.aud.panned_quad_2_front soundscripts\_snd_playsound::snd_stop_sound(); + } + else if(var_03 == "crash_int_cave_large") + { + level.aud.panned_quad_1_front soundscripts\_snd_playsound::snd_stop_sound(); + } + break; + + case "enter_crash_ext_preoverlook": + if(var_02 == "crash_ext_preoverlook") + { + level.aud.panned_quad_2_rear soundscripts\_snd_playsound::snd_play_loop("amb_cave_ice_sur"); + } + else if(var_02 == "crash_ext_postcave") + { + level.aud.panned_quad_1_rear soundscripts\_snd_playsound::snd_play_loop("amb_wind_light_gust_sur"); + } + break; + + case "exit_crash_ext_preoverlook": + if(var_03 == "crash_ext_preoverlook") + { + level.aud.panned_quad_2_rear soundscripts\_snd_playsound::snd_stop_sound(); + } + else if(var_03 == "crash_ext_postcave") + { + level.aud.panned_quad_1_rear soundscripts\_snd_playsound::snd_stop_sound(); + } + break; + + case "enter_crash_ext_overlook": + if(var_02 == "crash_ext_overlook") + { + level.aud.panned_quad_1_front soundscripts\_snd_playsound::snd_play_loop("amb_wind_light_gust"); + level.aud.panned_quad_1_rear soundscripts\_snd_playsound::snd_play_loop("amb_wind_light_gust_sur"); + } + else if(var_02 == "crash_ext_preoverlook") + { + level.aud.panned_quad_2_front soundscripts\_snd_playsound::snd_play_loop("amb_overlook_wind"); + level.aud.panned_quad_2_rear soundscripts\_snd_playsound::snd_play_loop("amb_overlook_wind_sur"); + } + break; + + case "exit_crash_ext_overlook": + if(var_03 == "crash_ext_overlook") + { + level.aud.panned_quad_1_front soundscripts\_snd_playsound::snd_stop_sound(); + level.aud.panned_quad_1_rear soundscripts\_snd_playsound::snd_stop_sound(); + } + else if(var_03 == "crash_ext_preoverlook") + { + level.aud.panned_quad_2_front soundscripts\_snd_playsound::snd_stop_sound(); + level.aud.panned_quad_2_rear soundscripts\_snd_playsound::snd_stop_sound(); + } + break; + + case "enter_crash_ext_postoverlook": + if(var_02 == "crash_ext_postoverlook") + { + level.aud.panned_quad_2_front soundscripts\_snd_playsound::snd_play_loop("amb_overlook_wind"); + level.aud.panned_quad_2_rear soundscripts\_snd_playsound::snd_play_loop("amb_overlook_wind_sur"); + } + else if(var_02 == "crash_ext_overlook") + { + level.aud.panned_quad_1_front soundscripts\_snd_playsound::snd_play_loop("amb_wind_light_gust"); + level.aud.panned_quad_1_rear soundscripts\_snd_playsound::snd_play_loop("amb_wind_light_gust_sur"); + } + break; + + case "exit_crash_ext_postoverlook": + if(var_03 == "crash_ext_postoverlook") + { + level.aud.panned_quad_2_front soundscripts\_snd_playsound::snd_stop_sound(); + level.aud.panned_quad_2_rear soundscripts\_snd_playsound::snd_stop_sound(); + } + else if(var_03 == "crash_ext_overlook") + { + level.aud.panned_quad_1_front soundscripts\_snd_playsound::snd_stop_sound(); + level.aud.panned_quad_1_rear soundscripts\_snd_playsound::snd_stop_sound(); + } + break; + + case "enter_crash_int_endcave": + if(var_02 == "crash_int_endcave") + { + level.aud.panned_quad_2_front soundscripts\_snd_playsound::snd_play_loop("amb_cave_ice"); + } + else if(var_02 == "crash_ext_precave") + { + level.aud.panned_quad_1_front soundscripts\_snd_playsound::snd_play_loop("amb_wind_light_gust"); + } + break; + + case "exit_crash_int_endcave": + if(var_03 == "crash_int_endcave") + { + level.aud.panned_quad_2_front soundscripts\_snd_playsound::snd_stop_sound(); + } + else if(var_03 == "crash_ext_precave") + { + level.aud.panned_quad_1_front soundscripts\_snd_playsound::snd_stop_sound(); + } + break; + } +} + +//Function Number: 11 +music_handler(param_00,param_01) +{ + level notify("exit_music_thread"); + level endon("exit_music_thread"); + switch(param_00) + { + case "crash_ambush_intro": + soundscripts\_audio_music::mus_play("mus_crash_ambush_intro",4,0); + soundscripts\_audio::aud_set_music_submix(0.55); + break; + + case "crash_ambush_combat": + soundscripts\_audio_music::mus_play("mus_crash_intro_combat",0,0.2); + soundscripts\_audio::aud_set_music_submix(1); + break; + + case "crash_pre_cave_combat_end": + soundscripts\_audio_music::mus_stop(0.2); + break; + + case "crash_ambush_combat_end": + soundscripts\_audio_music::mus_play("mus_crash_intro_combat_outro",0.5,1); + soundscripts\_audio::aud_set_music_submix(1); + break; + + case "crash_cave_stealth": + wait(5); + soundscripts\_audio_music::mus_play("mus_crash_cave_reveal"); + soundscripts\_audio::aud_set_music_submix(0.7); + wait(15); + soundscripts\_audio_music::mus_stop(6); + break; + + case "crash_cave_combat": + soundscripts\_audio_music::mus_play("mus_crash_cave_combat",0.5,1); + soundscripts\_audio::aud_set_music_submix(0.5); + maps\_utility::trigger_wait_targetname("TRIG_caves_goliath"); + soundscripts\_audio_music::mus_stop(1); + break; + + case "narrow_cave": + wait(3.5); + soundscripts\_audio::aud_set_music_submix(0.3); + break; + + case "crevasse_combat": + soundscripts\_audio_music::mus_play("mus_crash_cave_combat"); + soundscripts\_audio::aud_set_music_submix(0.7); + level waittill("combat_cave_exit"); + soundscripts\_audio_music::mus_stop(3); + soundscripts\_audio::aud_set_music_submix(0.7); + break; + + case "lake_combat": + wait(2); + soundscripts\_audio::aud_set_music_submix(1); + soundscripts\_audio_mix_manager::mm_add_submix("global_volume_cut_3"); + soundscripts\_audio_music::mus_play("mus_crash_sniper_combat"); + level endon("lake_player_fall_in"); + wait(49.39); + soundscripts\_audio_music::mus_play("mus_crash_sniper_combat_lp",0,0.1); + break; + + case "double_agent": + wait(14); + soundscripts\_audio::aud_set_music_submix(1); + soundscripts\_audio_music::mus_play("mus_crash_double_agent"); + break; + + case "end_sequence": + soundscripts\_audio::aud_set_music_submix(1); + soundscripts\_audio_music::mus_play("mus_crash_warbird_race_p1",0,0.6); + common_scripts\utility::flag_wait("cargo_trigger"); + wait(0.25); + soundscripts\_audio_music::mus_play("mus_crash_warbird_jump",0.5,0.1); + common_scripts\utility::flag_wait("player_exfil_success"); + wait(1.25); + soundscripts\_audio_music::mus_play("mus_crash_exfil"); + break; + + case "exfil_escape": + soundscripts\_audio_music::mus_play("mus_crash_avalanche_escape"); + soundscripts\_audio::aud_set_music_submix(0.35); + common_scripts\utility::flag_wait("player_getting_in_end_chopper"); + soundscripts\_audio_music::mus_stop(15); + break; + + default: + soundscripts\_audio::aud_print_warning("\tMUSIC MESSAGE NOT HANDLED: " + param_00); + break; + } +} + +//Function Number: 12 +start_crash_site() +{ + soundscripts\_audio_zone_manager::azm_start_zone("crash_skyjack",0.5); +} + +//Function Number: 13 +start_cave_entry() +{ + soundscripts\_audio_mix_manager::mm_add_submix("global_volume_cut_2"); + soundscripts\_audio_zone_manager::azm_start_zone("crash_ext_crash_site2",0.5); + level.aud.panned_quad_1_front soundscripts\_snd_playsound::snd_play_loop("amb_wind_light_gust"); + level.aud.panned_quad_1_rear soundscripts\_snd_playsound::snd_play_loop("amb_wind_light_gust_sur"); + soundscripts\_snd::snd_music_message("crash_ambush_combat"); +} + +//Function Number: 14 +start_cave_hallway() +{ + soundscripts\_audio_mix_manager::mm_add_submix("global_volume_cut_2"); + soundscripts\_audio_zone_manager::azm_start_zone("crash_int_cave",0.5); + level.aud.panned_quad_2_front soundscripts\_snd_playsound::snd_play_loop("amb_cave_ice"); + level.aud.panned_quad_2_rear soundscripts\_snd_playsound::snd_play_loop("amb_cave_ice_sur"); + soundscripts\_snd_playsound::snd_play_2d("cave_stress"); + level.cormack soundscripts\_snd_playsound::snd_play_delayed_linked("crash_crev_foley_cormack",0.1); + level.ilana soundscripts\_snd_playsound::snd_play_delayed_linked("crash_crev_foley_ilona",0.1); + wait(3.5); + soundscripts\_snd::snd_music_message("crash_cave_stealth"); +} + +//Function Number: 15 +start_big_cave() +{ + soundscripts\_audio_mix_manager::mm_add_submix("global_volume_cut_2"); + soundscripts\_audio_zone_manager::azm_start_zone("crash_int_cave_tunnel",0.5); + level.aud.panned_quad_2_front soundscripts\_snd_playsound::snd_play_loop("amb_cave_ice"); + level.aud.panned_quad_2_rear soundscripts\_snd_playsound::snd_play_loop("amb_cave_ice_sur"); +} + +//Function Number: 16 +start_ice_bridge() +{ + soundscripts\_audio_mix_manager::mm_add_submix("global_volume_cut_2"); + soundscripts\_audio_zone_manager::azm_start_zone("crash_int_cave_medium",0.5); + level.aud.panned_quad_2_front soundscripts\_snd_playsound::snd_play_loop("amb_cave_ice"); + level.aud.panned_quad_2_rear soundscripts\_snd_playsound::snd_play_loop("amb_cave_ice_sur"); +} + +//Function Number: 17 +start_narrow_cave() +{ + soundscripts\_audio_mix_manager::mm_add_submix("global_volume_cut_2"); + soundscripts\_audio_zone_manager::azm_start_zone("crash_int_cave_post_goliath",0.5); + level.aud.panned_quad_2_front soundscripts\_snd_playsound::snd_play_loop("amb_cave_ice"); + level.aud.panned_quad_2_rear soundscripts\_snd_playsound::snd_play_loop("amb_cave_ice_sur"); + level.aud.panned_quad_1_front soundscripts\_snd_playsound::snd_play_loop("amb_cave_post_goliath"); + level.aud.panned_quad_1_rear soundscripts\_snd_playsound::snd_play_loop("amb_cave_post_goliath_sur"); + level notify("waterfall_end"); +} + +//Function Number: 18 +start_combat_cave() +{ + soundscripts\_audio_mix_manager::mm_add_submix("global_volume_cut_2"); + soundscripts\_audio_zone_manager::azm_start_zone("crash_int_cave_combat",0.5); + level.aud.panned_quad_2_front soundscripts\_snd_playsound::snd_play_loop("amb_cave_ice"); + level.aud.panned_quad_2_rear soundscripts\_snd_playsound::snd_play_loop("amb_cave_ice_sur"); +} + +//Function Number: 19 +start_overlook() +{ + soundscripts\_audio_mix_manager::mm_add_submix("global_volume_cut_2"); + soundscripts\_audio_zone_manager::azm_start_zone("crash_ext_preoverlook",0.5); + level.aud.panned_quad_1_front soundscripts\_snd_playsound::snd_play_loop("amb_wind_light_gust"); + level.aud.panned_quad_1_rear soundscripts\_snd_playsound::snd_play_loop("amb_wind_light_gust_sur"); +} + +//Function Number: 20 +start_lake() +{ + soundscripts\_audio_zone_manager::azm_start_zone("crash_ext_preoverlook",0.5); + soundscripts\_audio_mix_manager::mm_add_submix("global_volume_cut_2"); + soundscripts\_audio_mix_manager::mm_add_submix("crash_postoverlook_start"); + level.aud.panned_quad_1_front soundscripts\_snd_playsound::snd_play_loop("amb_wind_light_gust"); + level.aud.panned_quad_1_rear soundscripts\_snd_playsound::snd_play_loop("amb_wind_light_gust_sur"); + wait(2); + soundscripts\_audio_mix_manager::mm_clear_submix("crash_postoverlook_start"); +} + +//Function Number: 21 +start_lake_cinema() +{ + soundscripts\_audio_zone_manager::azm_start_zone("crash_int_endcave",0.5); +} + +//Function Number: 22 +start_vtol_takedown() +{ + soundscripts\_audio_mix_manager::mm_add_submix("global_volume_cut_2"); + soundscripts\_audio_zone_manager::azm_start_zone("crash_ext_end",0.5); + level.aud.panned_quad_1_front soundscripts\_snd_playsound::snd_play_loop("amb_wind_light_gust"); + level.aud.panned_quad_1_rear soundscripts\_snd_playsound::snd_play_loop("amb_wind_light_gust_sur"); +} + +//Function Number: 23 +start_avalanche() +{ + soundscripts\_audio_zone_manager::azm_start_zone("crash_ext_overlook",0.5); +} + +//Function Number: 24 +setup_skyjack_anims() +{ + maps\_anim::addnotetrack_customfunction("rig","player_magon",::skyjack_gloveon,"skyjack_wingland_player"); + maps\_anim::addnotetrack_customfunction("rig","land_on_wing",::player_land_on_wing,"skyjack_wingland_player"); + maps\_anim::addnotetrack_customfunction("rig","start",::skyjack_player_set_charge,"skyjack_explosion_player"); + maps\_anim::addnotetrack_customfunction("rig","charge_planted",::skyjack_player_charge_planted,"skyjack_explosion_player"); + maps\_anim::addnotetrack_customfunction("rig","right_hand_on_charge",::skyjack_player_hand_on_charge,"skyjack_explosion_player"); + maps\_anim::addnotetrack_customfunction("rig","open_charge",::skyjack_player_open_charge,"skyjack_explosion_player"); + maps\_anim::addnotetrack_customfunction("rig","activate_charge",::skyjack_player_activate_charge,"skyjack_explosion_player"); + maps\_anim::addnotetrack_customfunction("rig","use_wrist_computer",::skyjack_player_wrist,"skyjack_explosion_player"); + maps\_anim::addnotetrack_customfunction("rig","impact_plane",::skyjack_player_impact_plane,"skyjack_explosion_player"); + maps\_anim::addnotetrack_customfunction("rig","aud_plane_expl_gloves",::plane_expl_gloves,"skyjack_explosion_player"); + maps\_anim::addnotetrack_customfunction("rig","push_off_plane",::skyjack_player_push_off_plane,"skyjack_explosion_player"); + maps\_anim::addnotetrack_customfunction("cormack","jets_on",::skyjack_cormack_jetpack_on,"skyjack_intro_cormack"); + maps\_anim::addnotetrack_customfunction("cormack","jetpack_boost",::skyjack_cormack_jetpack_boost,"skyjack_intro_cormack"); + maps\_anim::addnotetrack_customfunction("cormack","jets_off",::skyjack_cormack_jetpack_off,"skyjack_intro_cormack"); + maps\_anim::addnotetrack_customfunction("cormack","lands_on_plane",::skyjack_cormack_land_on_plane,"skyjack_intro_cormack"); + maps\_anim::addnotetrack_customfunction("cormack","mag_hand_left",::skyjack_cormack_mag_hand_left,"skyjack_intro_cormack"); + maps\_anim::addnotetrack_customfunction("cormack","mag_hand_right",::skyjack_cormack_mag_hand_right,"skyjack_intro_cormack"); + maps\_anim::addnotetrack_customfunction("cormack","left_knee",::skyjack_cormack_left_knee,"skyjack_intro_cormack"); + maps\_anim::addnotetrack_customfunction("cormack","right_knee",::skyjack_cormack_right_knee,"skyjack_intro_cormack"); + maps\_anim::addnotetrack_customfunction("cormack","push_off_plane_1",::skyjack_cormack_push_off_plane,"skyjack_explosion_cormack"); + maps\_anim::addnotetrack_customfunction("cormack","jets_on",::skyjack_cormack_jetpack_on,"skyjack_explosion_cormack"); + maps\_anim::addnotetrack_customfunction("cormack","impact_plane",::skyjack_cormack_impact_plane,"skyjack_explosion_cormack"); + maps\_anim::addnotetrack_customfunction("cargo_plane","activate",::skyjack_plane_cut,"skyjack_explosion_plane"); + maps\_anim::addnotetrack_customfunction("cargo_plane","begin_explosion",::skyjack_plane_explosion,"skyjack_explosion_plane"); + maps\_anim::addnotetrack_customfunction("explosive","legs_unfold",::skyjack_charge_legs,"skyjack_setcharge_explosive"); + maps\_anim::addnotetrack_customfunction("explosive","impact",::skyjack_charge_impact,"skyjack_setcharge_explosive"); + maps\_anim::addnotetrack_customfunction("explosive","charge_opens",::skyjack_charge_opens,"skyjack_setcharge_explosive"); + maps\_anim::addnotetrack_customfunction("explosive","laser_guide",::skyjack_charge_laser_guide,"skyjack_setcharge_explosive"); + maps\_anim::addnotetrack_customfunction("explosive","laser_turn",::skyjack_charge_laser_turn,"skyjack_setcharge_explosive"); + maps\_anim::addnotetrack_customfunction("explosive","activate",::skyjack_charge_activate,"skyjack_setcharge_explosive"); + maps\_anim::addnotetrack_customfunction("drone_pod","jets_on",::skyjack_drone_jets_on,"skyjack_intro_drone"); + maps\_anim::addnotetrack_customfunction("drone_pod","jets_off",::skyjack_drone_jets_off,"skyjack_intro_drone"); + maps\_anim::addnotetrack_customfunction("drone_pod","jets_on",::skyjack_drone_jets_on,"skyjack_explosion_drone"); + maps\_anim::addnotetrack_customfunction("drone_pod","deploy_chutes",::skyjack_drone_chutes,"skyjack_explosion_drone"); +} + +//Function Number: 25 +setup_skyjack_mag_glove_anims() +{ + maps\_anim::addnotetrack_customfunction("player_climb_rig","windup_l",::mag_windup_l,"magnetic_u_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","hit",::mag_hit,"magnetic_u_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","rest",::mag_rest,"magnetic_u_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","windup_l",::mag_windup_l,"magnetic_u_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","hit",::mag_hit,"magnetic_u_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","rest",::mag_rest,"magnetic_u_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","windup_r",::mag_windup_r,"magnetic_u_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","hit",::mag_hit,"magnetic_u_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","rest",::mag_rest,"magnetic_u_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","windup_l",::mag_windup_l,"magnetic_d_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","hit",::mag_hit,"magnetic_d_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","rest",::mag_rest,"magnetic_d_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","windup_l",::mag_windup_l,"magnetic_d_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","hit",::mag_hit,"magnetic_d_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","rest",::mag_rest,"magnetic_d_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","windup_r",::mag_windup_r,"magnetic_d_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","hit",::mag_hit,"magnetic_d_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","rest",::mag_rest,"magnetic_d_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","windup_l",::mag_windup_l,"magnetic_r_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","hit",::mag_hit,"magnetic_r_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","rest",::mag_rest,"magnetic_r_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","windup_r",::mag_windup_r,"magnetic_r_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","hit",::mag_hit,"magnetic_r_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","rest",::mag_rest,"magnetic_r_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","windup_l",::mag_windup_l,"magnetic_r_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","hit",::mag_hit,"magnetic_r_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","rest",::mag_rest,"magnetic_r_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","windup_r",::mag_windup_r,"magnetic_l_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","hit",::mag_hit,"magnetic_l_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","rest",::mag_rest,"magnetic_l_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","windup_l",::mag_windup_l,"magnetic_l_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","hit",::mag_hit,"magnetic_l_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","rest",::mag_rest,"magnetic_l_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","windup_r",::mag_windup_r,"magnetic_l_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","hit",::mag_hit,"magnetic_l_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","rest",::mag_rest,"magnetic_l_2"); +} + +//Function Number: 26 +setup_crash_site_intro_anims() +{ + maps\_anim::addnotetrack_customfunction("cormack","jets_off",::cs_intro_cormack_jetpack_off,"atlas_plane_crash"); + maps\_anim::addnotetrack_customfunction("cormack","cormack_land",::cs_intro_cormack_land,"atlas_plane_crash"); + maps\_anim::addnotetrack_customfunction("cormack","remove_jetpack",::cs_intro_cormack_remove_jetpack,"atlas_plane_crash"); + maps\_anim::addnotetrack_customfunction("cormack","helmet_open",::generic_helmet_open,"atlas_plane_crash"); + maps\_anim::addnotetrack_customfunction("cormack","helmet_close",::generic_helmet_close,"atlas_plane_crash"); + maps\_anim::addnotetrack_customfunction("cormack","ready_gun",::cs_intro_cormack_ready_gun,"atlas_plane_crash"); + maps\_anim::addnotetrack_customfunction("ilana","give_gun",::cs_intro_ilona_hand_over_gun,"atlas_plane_crash"); + maps\_anim::addnotetrack_customfunction("rig","bg_plane_breach",::cs_intro_bg_plane_breach,"crash_atlas_plane_crash_player"); + maps\_anim::addnotetrack_customfunction("rig","remove_jetpack",::cs_intro_player_remove_jetpack,"crash_atlas_plane_crash_player"); + maps\_anim::addnotetrack_customfunction("sent1","boost_jump",::cs_intro_plane_jumper_boost,"atlas_plane_crash_craig"); + maps\_anim::addnotetrack_customfunction("sent1","land_on_plane",::cs_intro_plane_jumper_land,"atlas_plane_crash_craig"); + maps\_anim::addnotetrack_customfunction("sent1","land_on_snow",::cs_intro_plane_jumper_drop_to_ground,"atlas_plane_crash_craig"); + maps\_anim::addnotetrack_customfunction("sent2","boost_jump",::cs_intro_plane_jumper_boost,"atlas_plane_crash_tony"); + maps\_anim::addnotetrack_customfunction("sent2","land_on_plane",::cs_intro_plane_jumper_land,"atlas_plane_crash_tony"); + maps\_anim::addnotetrack_customfunction("sent2","land_on_snow",::cs_intro_plane_jumper_drop_to_ground,"atlas_plane_crash_tony"); +} + +//Function Number: 27 +setup_cave_entry_loading_razorback() +{ + maps\_anim::addnotetrack_customfunction("cormack","touching_crate",::razor_cormack_reaches_crate,"prebunker_intro_cormack"); + maps\_anim::addnotetrack_customfunction("cormack","stowing_gun",::razor_cormack_stowing_gun,"prebunker_end_cormack"); + maps\_anim::addnotetrack_customfunction("cormack","lf_hand_on_crate",::razor_cormack_hand_on_crate,"prebunker_end_cormack"); + maps\_anim::addnotetrack_customfunction("cormack","ft_hand_on_crate",::razor_cormack_hand_on_crate,"prebunker_end_cormack"); + maps\_anim::addnotetrack_customfunction("rig","start",::razor_player_hand_on_crate,"prebunker_end_player"); + maps\_anim::addnotetrack_customfunction("rig","releasing_crate",::razor_player_hand_off_crate,"prebunker_end_player"); + maps\_anim::addnotetrack_customfunction("razor_cargo","crate_starts_moving",::razor_crate_move,"prebunker_end_crate"); + maps\_anim::addnotetrack_flag("razor_cargo","crate_stops_moving","razor_crate_stops","prebunker_end_crate"); + maps\_anim::addnotetrack_customfunction("razorback","hatch_closing",::razor_rb_hatch_close,"prebunker_end_razorback"); + maps\_anim::addnotetrack_customfunction("razorback","lifting_off",::razor_rb_lifting_off,"prebunker_end_razorback"); + maps\_anim::addnotetrack_customfunction("razorback","missile_1_hit",::razor_rb_missile_hit,"prebunker_end_razorback"); + maps\_anim::addnotetrack_customfunction("razorback","missile_2_hit",::razor_rb_missile_hit,"prebunker_end_razorback"); + maps\_anim::addnotetrack_customfunction("razorback","missile_3_hit",::razor_rb_missile_hit,"prebunker_end_razorback"); + maps\_anim::addnotetrack_customfunction("razorback","missile_4_hit",::razor_rb_missile_hit,"prebunker_end_razorback"); + maps\_anim::addnotetrack_customfunction("razorback","missile_5_hit",::razor_rb_missile_hit,"prebunker_end_razorback"); + maps\_anim::addnotetrack_customfunction("razor_missiles","missile_1_launched",::razor_rb_missile_launch,"prebunker_end_missiles"); + maps\_anim::addnotetrack_customfunction("razor_missiles","missile_2_launched",::razor_rb_missile_launch,"prebunker_end_missiles"); + maps\_anim::addnotetrack_customfunction("razor_missiles","missile_3_launched",::razor_rb_missile_launch,"prebunker_end_missiles"); + maps\_anim::addnotetrack_customfunction("razor_missiles","missile_4_launched",::razor_rb_missile_launch,"prebunker_end_missiles"); + maps\_anim::addnotetrack_customfunction("razor_missiles","missile_5_launched",::razor_rb_missile_launch,"prebunker_end_missiles"); +} + +//Function Number: 28 +setup_crevasse_fall_and_recover() +{ + maps\_anim::addnotetrack_customfunction("cormack","hands_on_wall_slide",::crevasse_slide_hands,"icecave_enter"); + maps\_anim::addnotetrack_customfunction("cormack","impact_wall",::crevasse_impact_wall,"icecave_enter"); + maps\_anim::addnotetrack_customfunction("cormack","end_slide",::crevasse_slide_end,"icecave_enter"); + maps\_anim::addnotetrack_customfunction("cormack","impact_ground",::crevasse_impact_ground,"icecave_enter"); + maps\_anim::addnotetrack_customfunction("cormack","getting_up",::pro_cave_get_up,"head_down_tunnel"); + maps\_anim::addnotetrack_customfunction("cormack","pick_up_gun",::pro_cave_pick_up_gun,"head_down_tunnel"); + maps\_anim::addnotetrack_customfunction("cormack","helmet_open",::generic_helmet_open,"head_down_tunnel"); + maps\_anim::addnotetrack_customfunction("cormack","help_ilona",::pro_cave_help_ilona,"head_down_tunnel"); + maps\_anim::addnotetrack_customfunction("cormack","release_gun",::pro_cave_stowing_gun,"head_down_tunnel"); + maps\_anim::addnotetrack_customfunction("cormack","grab_gun",::pro_cave_grabbing_gun,"head_down_tunnel"); + maps\_anim::addnotetrack_customfunction("ilana","hands_on_wall_slide",::crevasse_slide_hands,"icecave_enter"); + maps\_anim::addnotetrack_customfunction("ilana","impact_wall",::crevasse_impact_wall,"icecave_enter"); + maps\_anim::addnotetrack_customfunction("ilana","end_slide",::crevasse_slide_end,"icecave_enter"); + maps\_anim::addnotetrack_customfunction("ilana","impact_ground",::crevasse_impact_ground,"icecave_enter"); + maps\_anim::addnotetrack_customfunction("ilana","rolling_over",::pro_cave_roll_over,"head_down_tunnel"); + maps\_anim::addnotetrack_customfunction("ilana","helped_up",::pro_cave_helped_up,"head_down_tunnel"); + maps\_anim::addnotetrack_customfunction("ilana","pick_up_gun",::pro_cave_ilona_pick_up_gun,"head_down_tunnel"); + maps\_anim::addnotetrack_customfunction("rig","fall_down",::crevasse_player_fall_down,"icecave_enter"); + maps\_anim::addnotetrack_customfunction("rig","hands_on_wall_slide",::crevasse_player_slide_hands,"icecave_enter"); + maps\_anim::addnotetrack_customfunction("rig","impact_wall",::crevasse_player_impact_wall,"icecave_enter"); + maps\_anim::addnotetrack_customfunction("rig","end_slide",::crevasse_player_slide_end,"icecave_enter"); + maps\_anim::addnotetrack_customfunction("rig","player_land",::crevasse_player_impact_ground,"icecave_enter"); + maps\_anim::addnotetrack_customfunction("rig","stand_up",::crevasse_player_get_up,"icecave_enter"); +} + +//Function Number: 29 +setup_goliath_bridge_anims() +{ + maps\_anim::addnotetrack_customfunction("cormack","boost_begin",::cormack_boost_jump,"cormack_bridge_smash"); + maps\_anim::addnotetrack_customfunction("cormack","get_up",::cormack_narrow_cave_start,"friendly_bridge_explode"); + maps\_anim::addnotetrack_customfunction("cormack","helmet_open",::generic_helmet_open,"friendly_bridge_explode"); + maps\_anim::addnotetrack_customfunction("ilana","get_up",::ilana_narrow_cave_start,"friendly_bridge_explode"); +} + +//Function Number: 30 +setup_narrow_cave_anims() +{ + maps\_anim::addnotetrack_customfunction("cormack","cormack_start",::cormack_narrow_cave_search,"narrowcave_search"); + maps\_anim::addnotetrack_customfunction("cormack","cormack_start",::cormack_narrowcave_search_enter,"narrowcave_search_enter"); + maps\_anim::addnotetrack_customfunction("cormack","cormack_start",::cormack_narrowcave_search_exit,"narrowcave_search_exit"); + maps\_anim::addnotetrack_customfunction("cormack","cormack_start",::cormack_narrowcave_search_traverse_sec1,"narrowcave_search_traverse_sec1"); + maps\_anim::addnotetrack_customfunction("cormack","cormack_start",::narrowcave_traverse_sec1,"narrowcave_traverse_sec1"); + maps\_anim::addnotetrack_customfunction("cormack","cormack_start",::narrowcave_sec1_traverse_sec2,"narrowcave_sec1_traverse_sec2"); + maps\_anim::addnotetrack_customfunction("cormack","cormack_start",::narrowcave_sec2_enter,"narrowcave_sec2_enter"); + maps\_anim::addnotetrack_customfunction("cormack","cormack_start",::narrowcave_sec2_exit,"narrowcave_sec2_exit"); + maps\_anim::addnotetrack_customfunction("cormack","cormack_start",::narrowcave_sec2_traverse_floodroom,"narrowcave_sec2_traverse_floodroom"); + maps\_anim::addnotetrack_customfunction("cormack","helmet_close",::generic_helmet_close,"narrowcave_floodroom_break_to_breach"); + maps\_anim::addnotetrack_customfunction("cormack","turn_to_player",::cormack_narrowcave_breach_turn,"narrowcave_water_breach"); + maps\_anim::addnotetrack_customfunction("cormack","grab_ledge",::cormack_narrowcave_breach_ledge,"narrowcave_water_breach"); + maps\_anim::addnotetrack_customfunction("cormack","grab_axe",::cormack_narrowcave_breach_grab_axe,"narrowcave_water_breach"); + maps\_anim::addnotetrack_customfunction("cormack","surface",::cormack_narrowcave_breach_surface,"narrowcave_water_breach"); + maps\_anim::addnotetrack_customfunction("ilana","ilona_start",::ilana_narrow_cave_search,"narrowcave_search"); + maps\_anim::addnotetrack_customfunction("breach_enemy_6","axe_impact",::enemy_narrowcave_breach_axe_hit,"water_breach_enemy"); +} + +//Function Number: 31 +setup_lake_anims() +{ + maps\_anim::addnotetrack_customfunction("gideon","pistol_pickup",::bad_guys_die,"gideon_scene"); + maps\_anim::addnotetrack_customfunction("cormack","hand_on_ilana",::cormack_hand_on_ilana,"gideon_scene"); + maps\_anim::addnotetrack_customfunction("ilana","pick_up_gun",::ilana_pick_up_gun,"gideon_scene"); +} + +//Function Number: 32 +setup_exfil_anims() +{ + maps\_anim::addnotetrack_customfunction("cormack","attach_stinger_to_tag_inhand",::cormack_pickup_stinger,"vtol_ambush_intro"); + maps\_anim::addnotetrack_customfunction("gideon","boost_prep",::gideon_exfil_boost,"vtol_sliding_off_cliff_gideon"); + maps\_anim::addnotetrack_customfunction("gideon","section_1",::gideon_exfil_foley1,"vtol_sliding_off_cliff_gideon"); + maps\_anim::addnotetrack_customfunction("gideon","section_2",::gideon_exfil_foley2,"vtol_sliding_off_cliff_gideon"); + maps\_anim::addnotetrack_customfunction("gideon","section_3",::gideon_exfil_foley3,"vtol_sliding_off_cliff_gideon"); + maps\_anim::addnotetrack_customfunction("gideon","section_4",::gideon_exfil_foley4,"vtol_sliding_off_cliff_gideon"); + maps\_anim::addnotetrack_customfunction("rig","boost_jump_to_heli",::boost_jump_to_heli,"avalanche_exit"); + maps\_anim::addnotetrack_customfunction("gideon","start",::gideon_jump_to_heli,"avalanche_exit"); + maps\_anim::addnotetrack_customfunction("rig","grab_hand",::grab_hand,"avalanche_exit"); +} + +//Function Number: 33 +generic_helmet_open(param_00) +{ + wait(0.05); + param_00 soundscripts\_snd_playsound::snd_play_linked("helmet_open"); +} + +//Function Number: 34 +generic_helmet_close(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("helmet_close"); +} + +//Function Number: 35 +skyj_intro_black() +{ + soundscripts\_audio_mix_manager::mm_add_submix("global_volume_cut"); + soundscripts\_snd_playsound::snd_play_loop_2d("skyj_intro_black_amb_lp","aud_stop_intro_black_loop",1,1); +} + +//Function Number: 36 +skyj_part_1() +{ + level notify("aud_stop_intro_black_loop"); + soundscripts\_snd_playsound::snd_play_2d("skyj_intro_amb"); + soundscripts\_snd_playsound::snd_play_2d("skyj_intro_breathing"); + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_act_mag",10.1); + soundscripts\_snd_playsound::snd_play_delayed_2d("hgw_crash_skyjack_intro",10); + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_intro_corm_accel",14.3); + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_intro_plr_thrust_rear",16); + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_approach_jet",21); + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_plr_land_jet",24.4); + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_plr_land_jet_breathing",25.3); + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_corm_land_jet",27); + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_lifter_land",27); + wait(25); + soundscripts\_snd_playsound::snd_play_loop_2d("skyj_wing_amb_front_lp","aud_stop_skyj_wing_amb",1,1); +} + +//Function Number: 37 +skyj_part_2() +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_place_cutter",1.4); + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_cutter_rear_button",3); + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_cutter_top_button",4); + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_cutter_go",9); + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_banking",12); + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_wing_metal_boom",14); + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_banking_foley",14); + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_cutter_finish",17); + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_wing_expl_lead_in",17); +} + +//Function Number: 38 +skyj_part_3() +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_jet_grab",1); + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_wing_expl",2); + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_chutes_deploy",2); + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_corm_liftoff",10); +} + +//Function Number: 39 +skyj_part_4() +{ + level notify("aud_stop_skyj_wing_amb"); + soundscripts\_snd_playsound::snd_play_2d("skyj_land_amb","recently_loaded"); + thread recently_loaded_listener("crash_lighting_cinema_end"); + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_land_plr_thrust_rear",1); + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_plr_descent_breathing",15,0,"recently_loaded"); + soundscripts\_snd_playsound::snd_play_delayed_at("skyj_jet_impact",(2862,6790,3152),33); + if(level.nextgen) + { + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_corm_land_ground",41); + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_plr_land_ground",38.5); + } +} + +//Function Number: 40 +intro_skyjack_black() +{ + soundscripts\_audio_zone_manager::azm_start_zone("crash_skyjack_intro",2); + thread skyj_intro_black(); + wait(16); + wait(4.7); + soundscripts\_audio_zone_manager::azm_start_zone("crash_skyjack",1); +} + +//Function Number: 41 +intro_skyjack_fade_in() +{ + thread skyj_part_1(); +} + +//Function Number: 42 +player_land_on_wing(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("crash_skyjack_plane",1); +} + +//Function Number: 43 +skyjack_gloveon(param_00) +{ + if(level.aud.gloveon == 0) + { + level.aud.gloveon = 1; + soundscripts\_snd_playsound::snd_play_2d("skjk_gloves"); + } +} + +//Function Number: 44 +skyjack_gloveoff(param_00) +{ + if(level.aud.gloveon == 1) + { + level.aud.gloveon = 0; + } +} + +//Function Number: 45 +mag_hit(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_climb_hit_magnet"); +} + +//Function Number: 46 +mag_rest(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_climb_rest_magnet"); +} + +//Function Number: 47 +mag_windup_l(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_climb_windup_lt"); +} + +//Function Number: 48 +mag_windup_r(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_climb_windup_rt"); +} + +//Function Number: 49 +skyjack_player_set_charge(param_00) +{ + wait(1.5); + thread skyj_part_2(); + soundscripts\_snd_playsound::snd_play_2d("sky_cutter_legs"); +} + +//Function Number: 50 +skyjack_player_charge_planted(param_00) +{ +} + +//Function Number: 51 +skyjack_player_hand_on_charge(param_00) +{ +} + +//Function Number: 52 +skyjack_player_open_charge(param_00) +{ + wait(0.1); +} + +//Function Number: 53 +skyjack_player_activate_charge(param_00) +{ + wait(0.1); +} + +//Function Number: 54 +skyjack_player_wrist(param_00) +{ + wait(3.2); + thread skyjack_expl_start(); + wait(13); + soundscripts\_audio_zone_manager::azm_start_zone("crash_skyjack",3); +} + +//Function Number: 55 +skyjack_player_impact_plane(param_00) +{ + thread skyj_part_3(); +} + +//Function Number: 56 +skyjack_expl_start() +{ + level notify("wings_blown_off"); + wait(5.75); + wait(10); + level notify("plane_crashed"); +} + +//Function Number: 57 +plane_expl_gloves(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("skjk_gloves"); +} + +//Function Number: 58 +skyjack_player_push_off_plane(param_00) +{ + thread skyj_part_4(); +} + +//Function Number: 59 +skyjack_cormack_jetpack_on(param_00) +{ +} + +//Function Number: 60 +skyjack_cormack_jetpack_boost(param_00) +{ +} + +//Function Number: 61 +skyjack_cormack_jetpack_off(param_00) +{ +} + +//Function Number: 62 +skyjack_cormack_land_on_plane(param_00) +{ +} + +//Function Number: 63 +skyjack_cormack_mag_hand_left(param_00) +{ +} + +//Function Number: 64 +skyjack_cormack_mag_hand_right(param_00) +{ +} + +//Function Number: 65 +skyjack_cormack_left_knee(param_00) +{ +} + +//Function Number: 66 +skyjack_cormack_right_knee(param_00) +{ +} + +//Function Number: 67 +skyjack_cormack_push_off_plane(param_00) +{ +} + +//Function Number: 68 +skyjack_cormack_impact_plane(param_00) +{ +} + +//Function Number: 69 +skyjack_plane_cut(param_00) +{ +} + +//Function Number: 70 +skyjack_plane_explosion(param_00) +{ +} + +//Function Number: 71 +skyjack_charge_legs(param_00) +{ +} + +//Function Number: 72 +skyjack_charge_impact(param_00) +{ +} + +//Function Number: 73 +skyjack_charge_opens(param_00) +{ +} + +//Function Number: 74 +skyjack_charge_laser_guide(param_00) +{ +} + +//Function Number: 75 +skyjack_charge_laser_turn(param_00) +{ +} + +//Function Number: 76 +skyjack_charge_activate(param_00) +{ +} + +//Function Number: 77 +skyjack_drone_jets_on(param_00) +{ +} + +//Function Number: 78 +skyjack_drone_jets_off(param_00) +{ +} + +//Function Number: 79 +skyjack_drone_chutes(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_ui_01",20.5); + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_ui_02",21); + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_ui_03",24); + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_ui_04",34); + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_ui_05",35); +} + +//Function Number: 80 +ambush_events() +{ + thread fade_in_crash_site(); + wait(8); + wait(4.8); + soundscripts\_snd_playsound::snd_play_2d("player_jet_land"); + level.aud.player_jetpack scalevolume(0,1); + thread soundscripts\_audio::aud_fade_loop_out_and_delete(level.aud.player_jetpack,1); + common_scripts\utility::flag_wait("go_drop_pods"); + wait(2.5); + soundscripts\_snd::snd_music_message("crash_ambush_combat"); + soundscripts\_audio_zone_manager::azm_start_zone("crash_ext_crash_site2",0.2); + soundscripts\_audio_mix_manager::mm_add_submix("global_volume_cut_2",0.2); +} + +//Function Number: 81 +fade_in_crash_site() +{ + wait(8); + soundscripts\_audio_zone_manager::azm_start_zone("crash_ext_crash_site",4); + level.aud.panned_quad_1_front soundscripts\_snd_playsound::snd_play_loop("amb_wind_light_gust"); + level.aud.panned_quad_1_rear soundscripts\_snd_playsound::snd_play_loop("amb_wind_light_gust_sur"); +} + +//Function Number: 82 +cs_intro_cormack_jetpack_off(param_00) +{ +} + +//Function Number: 83 +cs_intro_cormack_land(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_ui_06",2); + soundscripts\_snd_playsound::snd_play_delayed_2d("skyj_plr_helm_open",3.7); + wait(3.35); + soundscripts\_audio_mix_manager::mm_clear_submix("global_volume_cut",0.15); +} + +//Function Number: 84 +cs_intro_cormack_remove_jetpack(param_00) +{ + wait(1.8); + soundscripts\_snd_playsound::snd_play_at("cs_blow_hatch",(3002,6799,2878)); +} + +//Function Number: 85 +cs_intro_cormack_ready_gun(param_00) +{ +} + +//Function Number: 86 +cs_intro_ilona_hand_over_gun(param_00) +{ + wait(0.2); + soundscripts\_snd_playsound::snd_play_2d("cs_give_gun"); +} + +//Function Number: 87 +cs_intro_bg_plane_breach(param_00) +{ +} + +//Function Number: 88 +cs_intro_player_remove_jetpack(param_00) +{ +} + +//Function Number: 89 +cs_intro_plane_jumper_boost(param_00) +{ +} + +//Function Number: 90 +cs_intro_plane_jumper_land(param_00) +{ +} + +//Function Number: 91 +cs_intro_plane_jumper_drop_to_ground(param_00) +{ +} + +//Function Number: 92 +drop_pod(param_00) +{ + wait(1.5); + if(level.aud.firstdroppod) + { + thread first_drop_pod_submix(); + level.aud.firstdroppod = 0; + param_00 soundscripts\_snd_playsound::snd_play_linked("drop_pod_first"); + } + else + { + param_00 soundscripts\_snd_playsound::snd_play_linked("drop_pod"); + } + + wait(1.1); + param_00 soundscripts\_snd_playsound::snd_play_linked("drop_pod_impact"); + wait(0.4); + param_00 soundscripts\_snd_playsound::snd_play_linked("snow_explosion_debris_light"); +} + +//Function Number: 93 +first_drop_pod_submix() +{ + soundscripts\_audio_mix_manager::mm_add_submix("first_drop_pod",0.5); + wait(1.5); + soundscripts\_audio_mix_manager::mm_clear_submix("first_drop_pod",0.2); +} + +//Function Number: 94 +razorback_explosion() +{ + level.razorback_org soundscripts\_snd_playsound::snd_play_linked("littlebird_helicopter_secondary_exp"); +} + +//Function Number: 95 +background_explosion(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("snow_explosion_dist",param_00); +} + +//Function Number: 96 +playspace_explosion(param_00,param_01) +{ + wait(0.1); + var_02 = soundscripts\_snd_playsound::snd_play_at("snow_explosion_impact",param_00); +} + +//Function Number: 97 +warbird_crash_site(param_00,param_01) +{ + if(param_00 == "bunker_warbird_1") + { + wait(9.8); + param_01 soundscripts\_snd_playsound::snd_play_linked("cs_warbird"); + } +} + +//Function Number: 98 +mech_fire_missile_first(param_00,param_01) +{ + soundscripts\_audio_mix_manager::mm_add_submix("mech_missiles"); + thread mech_fire_missile(param_00,param_01); + wait(1); + soundscripts\_audio_mix_manager::mm_clear_submix("mech_missiles",0.25); + wait(1.4); + soundscripts\_audio_mix_manager::mm_add_submix("mech_missiles"); + wait(1); + soundscripts\_audio_mix_manager::mm_clear_submix("mech_missiles",1); +} + +//Function Number: 99 +mech_fire_missile(param_00,param_01) +{ + soundscripts\_snd_playsound::snd_play_2d("wpn_mahem_crash_npc"); + param_00 waittill("death"); + level.razorback soundscripts\_snd_playsound::snd_play_linked("wpn_mahem_crash_proj_exp"); +} + +//Function Number: 100 +razor_cormack_reaches_crate(param_00) +{ +} + +//Function Number: 101 +razor_cormack_stowing_gun(param_00) +{ +} + +//Function Number: 102 +razor_cormack_hand_on_crate(param_00) +{ +} + +//Function Number: 103 +razor_player_hand_on_crate(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("cs_razorback_liftoff_front",9.2); + soundscripts\_audio_mix_manager::mm_add_submix("push_crate",0.2); + soundscripts\_snd_playsound::snd_play_2d("cs_push_crate_foley"); + wait(2.1); + soundscripts\_snd_playsound::snd_play_2d("cs_push_crate"); + wait(5.4); + soundscripts\_snd_filters::snd_fade_in_filter("push_crate",1); + soundscripts\_audio_mix_manager::mm_clear_submix("push_crate",1); + level.razorback soundscripts\_snd_playsound::snd_play_delayed_linked("cs_razorback_missiles",10.25); +} + +//Function Number: 104 +razor_player_hand_off_crate(param_00) +{ + wait(1); + soundscripts\_snd_filters::snd_fade_out_filter(1); +} + +//Function Number: 105 +razor_crate_move(param_00) +{ + common_scripts\utility::flag_wait("razor_crate_stops"); +} + +//Function Number: 106 +razor_rb_hatch_close(param_00) +{ + wait(1); + soundscripts\_audio_mix_manager::mm_add_submix("crash_npc_weaps",2); +} + +//Function Number: 107 +razor_rb_lifting_off(param_00) +{ +} + +//Function Number: 108 +razor_rb_missile_hit(param_00) +{ +} + +//Function Number: 109 +razor_rb_missile_launch(param_00) +{ +} + +//Function Number: 110 +cave_entry_tank_missile(param_00) +{ + wait(1); + soundscripts\_snd_playsound::snd_play_2d("crash_crev_missiles_incoming"); + soundscripts\_snd_playsound::snd_play_2d("crash_crev_rocket_front"); + soundscripts\_audio_mix_manager::mm_add_submix("crash_cave_entry",0.5); + soundscripts\_snd_playsound::snd_play_delayed_2d("crash_crev_fall_cave_front",3); + soundscripts\_snd_playsound::snd_play_delayed_2d("crash_crev_fall_exertions",3); +} + +//Function Number: 111 +cave_entry() +{ + wait(1.8); + soundscripts\_audio_mix_manager::mm_add_submix("crash_cave_entry_2",0.5); + soundscripts\_audio_mix_manager::mm_clear_submix("crash_npc_weaps",0); + soundscripts\_audio_music::mus_stop(); + wait(1.2); + thread fall_cave_swell(); + wait(5); + level.aud.panned_quad_1_front scalevolume(0,0.5); + level.aud.panned_quad_1_rear scalevolume(0,0.5); + level.aud.panned_quad_2_front soundscripts\_snd_playsound::snd_play_loop("amb_cave_ice"); + level.aud.panned_quad_2_rear soundscripts\_snd_playsound::snd_play_loop("amb_cave_ice_sur"); + wait(1.6); + soundscripts\_audio_mix_manager::mm_clear_submix("crash_cave_entry",1); + soundscripts\_audio_mix_manager::mm_clear_submix("crash_cave_entry_2",1); + level.aud.panned_quad_1_front soundscripts\_snd_playsound::snd_stop_sound(); + level.aud.panned_quad_1_rear soundscripts\_snd_playsound::snd_stop_sound(); + soundscripts\_audio_zone_manager::azm_start_zone("crash_int_cave",1); +} + +//Function Number: 112 +fall_cave_swell() +{ + wait(8.6); + soundscripts\_snd_playsound::snd_play_2d("cave_stress"); + wait(3.5); + soundscripts\_snd::snd_music_message("crash_cave_stealth"); + soundscripts\_audio_mix_manager::mm_clear_submix("crash_cave_entry",1); +} + +//Function Number: 113 +crevasse_slide_hands(param_00) +{ +} + +//Function Number: 114 +crevasse_impact_wall(param_00) +{ +} + +//Function Number: 115 +crevasse_slide_end(param_00) +{ +} + +//Function Number: 116 +crevasse_impact_ground(param_00) +{ +} + +//Function Number: 117 +pro_cave_get_up(param_00) +{ +} + +//Function Number: 118 +pro_cave_pick_up_gun(param_00) +{ +} + +//Function Number: 119 +pro_cave_help_ilona(param_00) +{ +} + +//Function Number: 120 +pro_cave_stowing_gun(param_00) +{ +} + +//Function Number: 121 +pro_cave_grabbing_gun(param_00) +{ +} + +//Function Number: 122 +pro_cave_roll_over(param_00) +{ +} + +//Function Number: 123 +pro_cave_helped_up(param_00) +{ +} + +//Function Number: 124 +pro_cave_ilona_pick_up_gun(param_00) +{ +} + +//Function Number: 125 +crevasse_player_fall_down(param_00) +{ +} + +//Function Number: 126 +crevasse_player_slide_hands(param_00) +{ +} + +//Function Number: 127 +crevasse_player_impact_wall(param_00) +{ +} + +//Function Number: 128 +crevasse_player_slide_end(param_00) +{ +} + +//Function Number: 129 +crevasse_player_impact_ground(param_00) +{ + thread crevasse_player_impact_ground_throttled(); +} + +//Function Number: 130 +crevasse_player_impact_ground_throttled() +{ + if(level.aud.crvplrhitground == 0) + { + level.aud.crvplrhitground = 1; + soundscripts\_snd_playsound::snd_play_2d("crash_crev_hit_ground_front"); + soundscripts\_snd_playsound::snd_play_2d("crash_crev_fall_exertion_player"); + level.cormack soundscripts\_snd_playsound::snd_play_delayed_linked("crash_crev_foley_cormack",4.1); + level.ilana soundscripts\_snd_playsound::snd_play_delayed_linked("crash_crev_foley_ilona",4.8); + soundscripts\_snd_playsound::snd_play_delayed_2d("crash_crev_quake_front",11.65); + } +} + +//Function Number: 131 +crevasse_player_get_up(param_00) +{ +} + +//Function Number: 132 +ilana_break_wall(param_00) +{ + param_00 waittillmatch("kick_wall","single anim"); + wait(2.4); + soundscripts\_snd_playsound::snd_play_at("cave_ilana_kick_wall",(2793,8203,990)); + wait(0.55); + param_00 soundscripts\_snd_playsound::snd_play_linked("crsh_iln_grunt3"); +} + +//Function Number: 133 +cormack_flare() +{ + level.cormack soundscripts\_snd_playsound::snd_play_linked("cave_flare_ignite"); + wait(0.25); + level.cormack soundscripts\_snd_playsound::snd_play_loop_linked("cave_flare_loop","flare_off",0,1.5); + common_scripts\utility::flag_wait("say_light_off"); + wait(5.1); + level notify("flare_off"); +} + +//Function Number: 134 +stalactite_fall(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("cave_stalactite_fall",param_00); +} + +//Function Number: 135 +seo_zipline_harpoon_fire(param_00,param_01,param_02) +{ + var_03 = soundscripts\_snd_playsound::snd_play_at("seo_npc_zipline_shot",param_00); + var_03 moveto(param_01,param_02); +} + +//Function Number: 136 +seo_zipline_harpoon_impact(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("seo_npc_zipline_impact",param_00); +} + +//Function Number: 137 +seo_zipline_rappel_begin() +{ + var_00 = self; + var_00 thread snd_play_linked_notify_ent("seo_linelauncher_move","zipline_done",0.5); +} + +//Function Number: 138 +snd_play_linked_notify_ent(param_00,param_01,param_02) +{ + var_03 = spawn("script_origin",self.origin); + var_03 linkto(self); + var_03 playsound(param_00); + self waittill(param_01); + var_03 scalevolume(param_02); + wait(param_02); + var_03 stopsounds(); + wait 0.05; + var_03 delete(); +} + +//Function Number: 139 +seo_zipline_rappel_land(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("seo_npc_zipline_unhook"); + param_00 notify("zipline_done"); +} + +//Function Number: 140 +seo_zipline_retract_rope(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("seo_npc_zipline_retract",param_00); +} + +//Function Number: 141 +drop_pod_screen_shake() +{ + soundscripts\_snd_playsound::snd_play_2d("cave_low_hit"); +} + +//Function Number: 142 +drop_pod_screen_shake_large(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("cave_low_hit_2"); + soundscripts\_snd_playsound::snd_play_2d("narrow_cave_rumble_0" + param_00); +} + +//Function Number: 143 +turkey_shoot() +{ + soundscripts\_snd_playsound::snd_play_2d("cave_crystal_long"); +} + +//Function Number: 144 +cave_npc_boost_assist(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("crash_boost_land_assist_npc"); +} + +//Function Number: 145 +cave_npc_boost_assist_land(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("crash_boost_land_assist_npc_land"); +} + +//Function Number: 146 +player_knockdown() +{ + soundscripts\_snd_playsound::snd_play_2d("cave_low_hit"); +} + +//Function Number: 147 +goliath_land(param_00) +{ + common_scripts\utility::flag_wait("player_up_close"); + maps\_utility::wait_for_flag_or_timeout("goliath_change_anim",0.75); + soundscripts\_snd_playsound::snd_play_at("crash_gol_bridge_mech_enter",(1292,3232,399),"aud_stop_mech_enter",undefined,0.5); + maps\_utility::wait_for_flag_or_timeout("goliath_change_anim",2.45); + soundscripts\_snd_playsound::snd_play_2d("crash_gol_bridge_mech_run","aud_stop_mech_run",undefined,0.3); + common_scripts\utility::flag_wait("goliath_change_anim"); + soundscripts\_snd_playsound::snd_play_2d("crash_gol_bridge_mech_attack"); + soundscripts\_audio_mix_manager::mm_add_submix("crash_goliath_bridge_moment"); + wait(0.1); + level notify("aud_stop_mech_enter"); + level notify("aud_stop_mech_run"); + wait(0.9); + soundscripts\_snd_playsound::snd_play_2d("crash_gol_bridge_plr_breath_1"); + common_scripts\utility::flag_wait("friendlies_move"); + wait(1.25); + soundscripts\_snd_playsound::snd_play_2d("crash_gol_bridge_plr_breath_2"); + wait(2.75); + soundscripts\_snd_playsound::snd_play_2d("crash_gol_bridge_mech_throw"); + wait(1.65); + soundscripts\_snd_playsound::snd_play_at("crash_gol_bridge_mech_rkt_sweet",(1251,3597,232)); + wait(0.35); + soundscripts\_snd_playsound::snd_play_2d("crash_gol_bridge_hanging"); + soundscripts\_snd_playsound::snd_play_at("crash_gol_bridge_bg_fire",(1251,3597,232)); + wait(0.5); + soundscripts\_snd_playsound::snd_play_2d("crash_gol_bridge_plr_breath_3"); + wait(3.25); + soundscripts\_snd_playsound::snd_play_2d("crash_gol_bridge_get_device"); + wait(2.95); + soundscripts\_snd_playsound::snd_play_at("crash_gol_bridge_scuffle",(1251,3597,232)); + common_scripts\utility::flag_wait("start_reso_move"); + soundscripts\_snd_playsound::snd_play_2d("crash_gol_bridge_plant_device"); + common_scripts\utility::flag_wait("cormack_throw_moment"); + wait(1.3); + soundscripts\_snd_playsound::snd_play_at("crash_gol_bridge_scuffle_end",(1251,3597,232)); + wait(0.25); + soundscripts\_snd_playsound::snd_play_2d("crash_gol_bridge_device_detonate"); + common_scripts\utility::flag_wait("bridge_explode"); + wait(0.4); + thread recently_loaded_listener("cormack_in_chamber"); + soundscripts\_snd_playsound::snd_play_2d("crash_gol_bridge_collapse","recently_loaded"); + wait(5.5); + soundscripts\_snd_playsound::snd_play_2d("crash_gol_bridge_plr_breath_1","recently_loaded"); + wait(9); + soundscripts\_audio_zone_manager::azm_start_zone("crash_int_cave_post_goliath",1); + level.aud.panned_quad_1_front soundscripts\_snd_playsound::snd_play_loop("amb_cave_post_goliath"); + level.aud.panned_quad_1_rear soundscripts\_snd_playsound::snd_play_loop("amb_cave_post_goliath_sur"); + level notify("waterfall_end"); + soundscripts\_audio_mix_manager::mm_clear_submix("crash_goliath_bridge_moment"); + common_scripts\utility::flag_wait("ice_bridge_done"); +} + +//Function Number: 148 +recently_loaded_listener(param_00) +{ + while(!common_scripts\utility::flag(param_00)) + { + if(issaverecentlyloaded()) + { + level notify("recently_loaded"); + if(param_00 == "crash_lighting_cinema_end") + { + soundscripts\_snd_playsound::snd_play_2d("skyj_land_amb_2"); + soundscripts\_audio_mix_manager::mm_add_submix("crash_mute_foley"); + wait(4); + soundscripts\_audio_mix_manager::mm_clear_submix("crash_mute_foley"); + } + + return; + } + + wait 0.05; + } +} + +//Function Number: 149 +cormack_boost_jump(param_00) +{ + level.cormack soundscripts\_snd_playsound::snd_play_linked("npc_boost_jump"); +} + +//Function Number: 150 +bridge_reso_detonation() +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("goliath_bridge_reso",3); + soundscripts\_snd_playsound::snd_play_delayed_2d("goliath_bridge_explode",5); + soundscripts\_snd_playsound::snd_play_delayed_2d("goliath_bridge_fall",7); +} + +//Function Number: 151 +cormack_narrow_cave_start(param_00) +{ + wait(4.2); + level.cormack soundscripts\_snd_playsound::snd_play_linked("narrow_cave_cormack_foley_1"); +} + +//Function Number: 152 +ilana_narrow_cave_start(param_00) +{ +} + +//Function Number: 153 +cormack_narrow_cave_search(param_00) +{ + level.cormack soundscripts\_snd_playsound::snd_play_delayed_linked("narrow_cave_cormack_foley_2",3.5); +} + +//Function Number: 154 +cormack_narrowcave_search_enter(param_00) +{ +} + +//Function Number: 155 +cormack_narrowcave_search_exit(param_00) +{ +} + +//Function Number: 156 +cormack_narrowcave_search_traverse_sec1(param_00) +{ + level.cormack soundscripts\_snd_playsound::snd_play_delayed_linked("narrow_cave_cormack_foley_3",0.25); +} + +//Function Number: 157 +narrowcave_traverse_sec1(param_00) +{ + level.cormack soundscripts\_snd_playsound::snd_play_delayed_linked("narrow_cave_cormack_foley_4",0.05); +} + +//Function Number: 158 +narrowcave_sec1_traverse_sec2(param_00) +{ +} + +//Function Number: 159 +narrowcave_sec2_enter(param_00) +{ + level.cormack soundscripts\_snd_playsound::snd_play_delayed_linked("narrow_cave_cormack_foley_5",0.25); +} + +//Function Number: 160 +narrowcave_sec2_exit(param_00) +{ + level.cormack soundscripts\_snd_playsound::snd_play_delayed_linked("narrow_cave_cormack_foley_6",1); +} + +//Function Number: 161 +narrowcave_sec2_traverse_floodroom(param_00) +{ + level.cormack soundscripts\_snd_playsound::snd_play_delayed_linked("narrow_cave_cormack_foley_7",0.35); +} + +//Function Number: 162 +cormack_narrowcave_breach_turn(param_00) +{ +} + +//Function Number: 163 +cormack_narrowcave_breach_ledge(param_00) +{ +} + +//Function Number: 164 +cormack_narrowcave_breach_grab_axe(param_00) +{ +} + +//Function Number: 165 +cormack_narrowcave_breach_surface(param_00) +{ +} + +//Function Number: 166 +enemy_narrowcave_breach_axe_hit(param_00) +{ +} + +//Function Number: 167 +ilana_narrow_cave_search(param_00) +{ + param_00 waittillmatch("end_anim","single anim"); +} + +//Function Number: 168 +cave_in() +{ + soundscripts\_snd_playsound::snd_play_at("cave_in",(885,2604,-862)); + wait(0.7); + thread water_rising_01(); + wait(0.1); + thread water_rising_02(); + thread water_rising_03(); + level.aud.panned_quad_3_front scalevolume(0,1); + level.aud.panned_quad_3_rear scalevolume(0,1); + wait(1); + level.aud.panned_quad_3_front soundscripts\_snd_playsound::snd_stop_sound(); + level.aud.panned_quad_3_rear soundscripts\_snd_playsound::snd_stop_sound(); +} + +//Function Number: 169 +start_water_breach() +{ + level.player enablecustomweaponcontext(); + soundscripts\_snd_common::snd_enable_soundcontextoverride("slomo"); + soundscripts\_snd_playsound::snd_play_2d("slo_mo_enter","slowmodone"); + soundscripts\_snd_playsound::snd_play_2d("water_breach_axe_throw"); + thread maps\_water::clearunderwateraudiozone(); + soundscripts\_audio_mix_manager::mm_add_submix("water_breach",1.5); +} + +//Function Number: 170 +end_water_breach() +{ + level notify("slowmodone"); + soundscripts\_snd_common::snd_disable_soundcontextoverride("slomo"); + level.player disablecustomweaponcontext(); + soundscripts\_snd_playsound::snd_play_2d("slo_mo_exit"); + soundscripts\_audio_mix_manager::mm_clear_submix("water_breach",0.5); +} + +//Function Number: 171 +water_rising_01() +{ + soundscripts\_snd_playsound::snd_play_at("water_cave_rising_start_01",(959,1918,-886)); + wait(1.75); + soundscripts\_snd_playsound::snd_play_loop_at("water_cave_rising_01",(959,1918,-886),"player_starting_uw_breach"); +} + +//Function Number: 172 +water_rising_02() +{ + soundscripts\_snd_playsound::snd_play_at("water_cave_rising_start_02",(869,1952,-886)); + wait(1.9); + soundscripts\_snd_playsound::snd_play_loop_at("water_cave_rising_02",(869,1952,-886),"player_starting_uw_breach"); +} + +//Function Number: 173 +water_rising_03() +{ + soundscripts\_snd_playsound::snd_play_at("water_cave_rising_start_03",(973,1991,-886)); + wait(1.7); + soundscripts\_snd_playsound::snd_play_loop_at("water_cave_rising_03",(973,1991,-886),"player_starting_uw_breach"); + soundscripts\_snd_playsound::snd_play_loop_at("water_cave_rising_04",(884,1869,-886),"player_starting_uw_breach"); +} + +//Function Number: 174 +wind_warning(param_00) +{ + level.player soundscripts\_snd_playsound::snd_play_linked("emt_wind_gust_whistle"); +} + +//Function Number: 175 +wind_gust(param_00) +{ + level.player soundscripts\_snd_playsound::snd_play_linked("emt_wind_gust_close"); + level.player soundscripts\_snd_playsound::snd_play_linked("emt_wind_gust_howl"); +} + +//Function Number: 176 +overlook_land() +{ + soundscripts\_snd_playsound::snd_play_2d("overlook_land"); +} + +//Function Number: 177 +overlook_fall() +{ + soundscripts\_snd_playsound::snd_play_2d("overlook_fall"); +} + +//Function Number: 178 +overlook_recover() +{ + soundscripts\_snd_playsound::snd_play_2d("overlook_recover"); +} + +//Function Number: 179 +lake_events() +{ +} + +//Function Number: 180 +enter_lake_cave() +{ + soundscripts\_audio_mix_manager::mm_add_submix("mute_weapon_foley"); + soundscripts\_audio_mix_manager::mm_add_submix("smooth_lake_entry",1); + soundscripts\_audio_zone_manager::azm_stop_zone("crash_ext_postoverlook",1); + level.aud.panned_quad_2_front soundscripts\_snd_playsound::snd_play_loop("amb_cave_ice"); + level.aud.panned_quad_2_rear soundscripts\_snd_playsound::snd_play_loop("amb_cave_ice_sur"); + soundscripts\_snd_playsound::snd_play_delayed_2d("step_land_plr_dmg_rock",0.9); + soundscripts\_snd_playsound::snd_play_delayed_2d("gear_rattle_plr_dmg_land",0.9); + soundscripts\_snd_playsound::snd_play_delayed_2d("pc_boost_land",0.9); + soundscripts\_snd_playsound::snd_play_delayed_2d("lake_player_exert",1); + soundscripts\_snd_playsound::snd_play_delayed_2d("cave_low_hit",2.5); + wait(1); + soundscripts\_audio_zone_manager::azm_start_zone("crash_ext_precave",1); + wait(1); + soundscripts\_audio_mix_manager::mm_clear_submix("smooth_lake_entry",0); + level.aud.panned_quad_1_front soundscripts\_snd_playsound::snd_stop_sound(); + level.aud.panned_quad_1_rear soundscripts\_snd_playsound::snd_stop_sound(); + soundscripts\_audio_mix_manager::mm_clear_submix("mute_weapon_foley"); +} + +//Function Number: 181 +missile_fire(param_00,param_01,param_02) +{ + soundscripts\_audio_mix_manager::mm_add_submix("missile_fire",0.1); + level.lake_chopper soundscripts\_snd_playsound::snd_play_linked("wpn_mahem_crash_npc"); + param_00 soundscripts\_snd_playsound::snd_play_loop("wpn_mahem_crash_loop"); + param_01 soundscripts\_snd_playsound::snd_play_loop("wpn_mahem_crash_loop"); + param_00 common_scripts\utility::waittill_notify_or_timeout("death",2); + param_00 soundscripts\_snd_playsound::snd_stop_sound(); + param_01 soundscripts\_snd_playsound::snd_stop_sound(); + soundscripts\_snd_playsound::snd_play_at("wpn_mahem_crash_proj_exp",param_02); + soundscripts\_audio_mix_manager::mm_clear_submix("missile_fire"); +} + +//Function Number: 182 +lake_warbird_approaches() +{ + if(!common_scripts\utility::flag("lake_player_fail")) + { + level.lake_chopper soundscripts\_snd_playsound::snd_play_linked("warbird_field_flyby_fast_close"); + level.lake_chopper soundscripts\_snd_playsound::snd_play_linked("warbird_field_spawn_1st"); + level.lake_chopper soundscripts\_snd_playsound::snd_play_loop("fus_warbird_plr_chop_lp"); + } +} + +//Function Number: 183 +lake_fall_in() +{ + level notify("lake_player_fall_in"); + soundscripts\_audio::aud_set_music_submix(1); + soundscripts\_audio_music::mus_play("mus_crash_lake_fall",0,0); + soundscripts\_audio_mix_manager::mm_add_submix("fall_lake"); + soundscripts\_audio_mix_manager::mm_clear_submix("global_volume_cut_3"); + soundscripts\_snd_playsound::snd_play_2d("fall_lake"); + soundscripts\_snd_playsound::snd_play_delayed_2d("fall_lake_lfe",1.1); + level.lake_chopper soundscripts\_snd_playsound::snd_stop_sound(); + wait(10); + soundscripts\_audio_mix_manager::mm_clear_submix("fall_lake",2); + level.aud.panned_quad_1_front scalevolume(0,0.5); + level.aud.panned_quad_2_rear scalevolume(0,0.5); + wait(1); + level.aud.panned_quad_1_front soundscripts\_snd_playsound::snd_stop_sound(); + level.aud.panned_quad_2_rear soundscripts\_snd_playsound::snd_stop_sound(); +} + +//Function Number: 184 +lake_exit() +{ + wait(0.2); + maps\_water::clearunderwateraudiozone(); + soundscripts\_snd_playsound::snd_play_2d("fall_lake_exit"); + soundscripts\_snd::snd_music_message("double_agent"); + wait(1.5); + soundscripts\_audio_zone_manager::azm_start_zone("crash_ext_end",1); + level.aud.panned_quad_1_front soundscripts\_snd_playsound::snd_play_loop("amb_wind_light_gust_2"); + level.aud.panned_quad_1_rear soundscripts\_snd_playsound::snd_play_loop("amb_wind_light_gust_2_sur"); + level.aud.panned_quad_1_front scalevolume(1); + level.aud.panned_quad_1_rear scalevolume(1); + wait(15); + soundscripts\_audio_mix_manager::mm_add_submix("mute_water_exit"); + wait(10); + soundscripts\_audio_mix_manager::mm_clear_submix("mute_water_exit"); +} + +//Function Number: 185 +bad_guys_die(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("bad_guys_die",1); +} + +//Function Number: 186 +cormack_hand_on_ilana(param_00) +{ + level.ilana soundscripts\_snd_playsound::snd_play_linked("cormack_hand_on_ilana"); +} + +//Function Number: 187 +ilana_pick_up_gun(param_00) +{ + level.ilana soundscripts\_snd_playsound::snd_play_linked("wpn_med_pickup"); +} + +//Function Number: 188 +pickup_stinger() +{ + thread cormack_firing_listener(); + soundscripts\_snd_playsound::snd_play_2d("wpn_launcher_pickup_plr"); + wait(0.1); + common_scripts\utility::flag_wait("player_bottom_of_hill"); +} + +//Function Number: 189 +cormack_pickup_stinger(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("wpn_launcher_pickup"); +} + +//Function Number: 190 +cormack_firing_listener() +{ + common_scripts\utility::flag_wait_any("cormack_fires_stinger","cormack_fires_stinger_failsafe"); + level.cormack soundscripts\_snd_playsound::snd_play_linked("wpn_stingerm7_npc"); + level.cormack soundscripts\_snd_playsound::snd_play_linked("wpn_stingerm7_detail_npc"); + thread cormack_shoot_missile(0); +} + +//Function Number: 191 +cormack_shoot_missile(param_00) +{ + wait(param_00); + level.cormack soundscripts\_snd_playsound::snd_play_linked("wpn_stingerm7_ignite_npc"); +} + +//Function Number: 192 +cormack_missile(param_00) +{ + common_scripts\utility::flag_wait_any("cormack_fires_stinger","cormack_fires_stinger_failsafe"); + if(isdefined(param_00)) + { + param_00 soundscripts\_snd_playsound::snd_play_loop_linked("wpn_stingerm7_loop","cormack_missile_hit"); + } +} + +//Function Number: 193 +vtol_flyin() +{ + common_scripts\utility::flag_wait("obj_end_get_gun"); + level.end_vtol vehicle_turnengineoff(); + level.end_vtol soundscripts\_snd_playsound::snd_play_linked("vtol_incoming_chop","vtol_downed",0,1); + wait(7.7); + var_00 = level.end_vtol soundscripts\_snd_playsound::snd_play_linked("vtol_incoming"); + level waittill("vtol_downed"); + var_00 soundscripts\_snd_playsound::snd_stop_sound(); + soundscripts\_snd_playsound::snd_play_at("crash_finale_warbird_hit_front",(-8151,-24624,242)); + soundscripts\_snd_playsound::snd_play_at("crash_finale_warbird_hit_rear",(2037,-7148,242)); + level.end_vtol soundscripts\_snd_playsound::snd_play_linked("wpn_mahem_crash_proj_exp"); + level.end_vtol soundscripts\_snd_playsound::snd_play_linked("exp_explo_lfe_4"); + wait(0.5); + level.end_vtol soundscripts\_snd_playsound::snd_play_linked("vtol_incoming_going_down"); + level.end_vtol soundscripts\_snd_playsound::snd_play_linked("vtol_incoming_going_down_chop"); + wait(0.3); + soundscripts\_audio_mix_manager::mm_add_submix("vtol_crash",1); + common_scripts\utility::flag_wait("end_vtol_dying"); + soundscripts\_snd_playsound::snd_play_at("crash_finale_warbird_hits_ground_front",(1557,-19346,-405)); + soundscripts\_snd_playsound::snd_play_at("crash_finale_warbird_hits_ground_rear",(-681,-7912,-405)); + level.end_vtol soundscripts\_snd_playsound::snd_play_linked("crash_finale_warbird_hits_ground_lfe"); + level.end_vtol thread snd_play_delayed_linked_nocull("crash_finale_warbird_slides_to_cliff_distant",1,9999); + level.end_vtol thread snd_play_delayed_linked_nocull("crash_finale_warbird_slides_to_cliff_close",9.8,9999); + thread warbird_falling_rocks_loop(); + thread warbird_recover_fail(); + wait(1.5); + soundscripts\_audio_mix_manager::mm_clear_submix("vtol_crash",2); +} + +//Function Number: 194 +snd_play_delayed_linked_nocull(param_00,param_01,param_02) +{ + var_03 = spawn("script_origin",self.origin); + var_03 linkto(self); + wait(param_01); + var_03 playsound(param_00,"sounddone",0,param_02); + var_03 waittill("sounddone"); + wait 0.05; + var_03 delete(); +} + +//Function Number: 195 +warbird_falling_rocks_loop() +{ + soundscripts\_snd_playsound::snd_play_loop_at("crash_finale_falling_rocks_loop",(822,-14143,-2088),"recovered_cargo_success",0,1); + wait(13.2); + level notify("warbird_end_slide"); +} + +//Function Number: 196 +warbird_recover_fail() +{ + level endon("recovered_cargo_success"); + wait(19.25); + level.end_vtol soundscripts\_snd_playsound::snd_play_linked("crash_finale_warbird_falls","recovered_cargo_success",0,1); +} + +//Function Number: 197 +recover_cargo() +{ + level notify("recovered_cargo_success"); + soundscripts\_snd_playsound::snd_play_delayed_2d("crash_finale_recover_cargo",0.35); + wait(0.35); + soundscripts\_audio_mix_manager::mm_add_submix("recover_cargo"); + wait(2.4); + soundscripts\_audio_mix_manager::mm_clear_submix("recover_cargo",0.5); +} + +//Function Number: 198 +exfil_fail() +{ + soundscripts\_audio_mix_manager::mm_add_submix("recover_cargo"); + soundscripts\_snd_playsound::snd_play_2d("end_exfil_fail"); +} + +//Function Number: 199 +gideon_exfil_boost(param_00) +{ + level.gideon soundscripts\_snd_playsound::snd_play_linked("npc_boost_jump"); +} + +//Function Number: 200 +gideon_exfil_foley1(param_00) +{ +} + +//Function Number: 201 +gideon_exfil_foley2(param_00) +{ +} + +//Function Number: 202 +gideon_exfil_foley3(param_00) +{ +} + +//Function Number: 203 +gideon_exfil_foley4(param_00) +{ +} + +//Function Number: 204 +gideon_jump_to_heli(param_00) +{ + wait(0.15); + level.gideon soundscripts\_snd_playsound::snd_play_linked("npc_boost_jump"); +} + +//Function Number: 205 +boost_jump_to_heli(param_00) +{ + level.end_vtol soundscripts\_snd_playsound::snd_play_delayed_linked("crash_finale_warbird_falls",1.5); + wait(0.15); + if(common_scripts\utility::flag("player_exfil_success")) + { + soundscripts\_snd_playsound::snd_play_2d("pc_boost_jump"); + thread soundscripts\_audio_mix_manager::mm_add_submix("boost_jump_heli"); + } +} + +//Function Number: 206 +grab_hand(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("end_exfil_foley"); +} + +//Function Number: 207 +railgun_charge() +{ + level.player soundscripts\_snd_playsound::snd_play_2d("railgun_charge","railgun_stop"); +} + +//Function Number: 208 +railgun_ready() +{ + level.player soundscripts\_snd_playsound::snd_play_2d("railgun_ready"); + level.player soundscripts\_snd_playsound::snd_play_loop_2d("railgun_ready_loop","railgun_fired"); + level.player waittill("railgun_stop_fully_charged_fx"); + level notify("railgun_fired"); +} \ No newline at end of file diff --git a/AW/PC/maps/crash_caves.gsc b/AW/PC/maps/crash_caves.gsc new file mode 100644 index 0000000..d4a3a07 --- /dev/null +++ b/AW/PC/maps/crash_caves.gsc @@ -0,0 +1,3927 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: crash_caves.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 189 + * Decompile Time: 2942 ms + * Timestamp: 4/22/2024 2:27:02 AM +*******************************************************************/ + +//Function Number: 1 +precache_cave_hallway() +{ + common_scripts\utility::flag_init("cave_hallway_done"); + common_scripts\utility::flag_init("turn_off_flare"); + common_scripts\utility::flag_init("launch_prometheus_drone"); + common_scripts\utility::flag_init("cave_intro_anim_done"); + common_scripts\utility::flag_init("show_drone"); + common_scripts\utility::flag_init("show_drone_lighting"); + common_scripts\utility::flag_init("start_drone_anim"); + common_scripts\utility::flag_init("turn_on_light"); + common_scripts\utility::flag_init("allow_release_drone"); + common_scripts\utility::flag_init("FLAG_early_voices"); + common_scripts\utility::flag_init("FLAG_cave_abyss_death_1"); + common_scripts\utility::flag_init("start_down_hall"); + common_scripts\utility::flag_init("hall_loop_1"); + common_scripts\utility::flag_init("hall_loop_2"); + common_scripts\utility::flag_init("noise_stinger"); + common_scripts\utility::flag_init("say_light_off"); + common_scripts\utility::flag_init("start_friendly_turkey_anim"); + common_scripts\utility::flag_init("flare_out"); + precachemodel("vehicle_drone_02"); + precachemodel("csh_grid_effects"); + precacheitem("iw5_kvahazmatknifeonearm_sp"); + precachemodel("mil_emergency_flare"); + precacheitem("s1_sentinel_survey_drone_sphere"); + precacheitem("iw5_kvahazmatknife_sp"); + precacheshader("cinematic_add"); + precacheitem("fraggrenade"); + precacheitem("flash_grenade"); + precacheitem("iw5_uts19_sp"); +} + +//Function Number: 2 +precache_big_cave() +{ + common_scripts\utility::flag_init("big_cave_done"); + common_scripts\utility::flag_init("wakeup_turkey"); + common_scripts\utility::flag_init("reso_charge_planted"); + common_scripts\utility::flag_init("drop_pod_shake_stop"); + common_scripts\utility::flag_init("small_cave_combat_start"); + common_scripts\utility::flag_init("run_away"); + common_scripts\utility::flag_init("small_cave_wave1_spawn"); + common_scripts\utility::flag_init("wave1_dead"); + common_scripts\utility::flag_init("wave2_dead"); + common_scripts\utility::flag_init("new_wakeup_turkey"); + common_scripts\utility::flag_init("pod_area_done"); + common_scripts\utility::flag_init("alert_drop_pod_1"); + common_scripts\utility::flag_init("alert_drop_pod_2"); + common_scripts\utility::flag_init("alert_drop_pod_3"); + common_scripts\utility::flag_init("alert_all_troops"); + common_scripts\utility::flag_init("turkey_1_dead"); + common_scripts\utility::flag_init("turkey_2_dead"); + common_scripts\utility::flag_init("turkey_3_dead"); + common_scripts\utility::flag_init("FLAG_caves_goliath"); + common_scripts\utility::flag_init("hall_light_off"); + common_scripts\utility::flag_init("hall_light_on"); + common_scripts\utility::flag_init("stealth_room_alerted"); + common_scripts\utility::flag_init("medic_detection"); + common_scripts\utility::flag_init("radio_detected"); + common_scripts\utility::flag_init("mechanic_detected"); + common_scripts\utility::flag_init("player_turn_off_light"); + common_scripts\utility::flag_init("say_movement_ahead"); + common_scripts\utility::flag_init("stealth_room_takedown"); + common_scripts\utility::flag_init("stealth_room_alerted"); + common_scripts\utility::flag_init("mechanic_set"); + common_scripts\utility::flag_init("patrollers_set"); + common_scripts\utility::flag_init("follow_pod_room"); + common_scripts\utility::flag_init("patrol_guy_01_done"); + common_scripts\utility::flag_init("say_light_off"); + common_scripts\utility::flag_init("pod_room_alerted"); + common_scripts\utility::flag_init("pod_retreat"); + common_scripts\utility::flag_init("FLAG_pod_room_start"); + common_scripts\utility::flag_init("flag_turkey_goons"); + common_scripts\utility::flag_init("patrol_moves"); +} + +//Function Number: 3 +precache_ice_bridge() +{ + common_scripts\utility::flag_init("ice_bridge_done"); + common_scripts\utility::flag_init("ice_bridge_shot"); + common_scripts\utility::flag_init("turn_on_reso_trigger"); + common_scripts\utility::flag_init("bridge_reso_shot"); + common_scripts\utility::flag_init("goliath_attack"); + common_scripts\utility::flag_init("bridge_cormack_ready"); + common_scripts\utility::flag_init("start_smash"); + common_scripts\utility::flag_init("goliath_change_anim"); + common_scripts\utility::flag_init("player_up_close"); + common_scripts\utility::flag_init("bridge_throw_start"); + common_scripts\utility::flag_init("bridge_throw_end"); + common_scripts\utility::flag_init("bridge_explode"); + common_scripts\utility::flag_init("friendlies_move"); + common_scripts\utility::flag_init("start_reso_move"); + common_scripts\utility::flag_init("golaith_throw_anim_done"); + common_scripts\utility::flag_init("cormack_throw_moment"); + common_scripts\utility::flag_init("goliath_fail_flag"); + common_scripts\utility::flag_init("goliath_dof_set"); + common_scripts\utility::flag_init("crash_lighting_goliath_pit"); + precacheitem("iw5_maul_sp"); + precacheitem("iw5_titan45_sp"); + precachemodel("generic_prop_raven_x3"); + precachemodel("csh_ice_lrg_rock_01"); + precachemodel("npc_exo_armor_base"); + precachemodel("npc_resonance_device_base"); + precacherumble("hijack_plane_medium"); + precacheshellshock("crash_goliath_hit"); + maps\_utility::add_control_based_hint_strings("player_tappy_gamepad",&"CRASH_HINT_TAPPY_GAMEPAD",::should_break_tappy_hint); + maps\_utility::add_control_based_hint_strings("player_move_gamepad",&"CRASH_HINT_CAVE_MOVEMENT",::should_break_move_hint,&"CRASH_HINT_CAVE_MOVEMENT_KEYBOARD",&"CRASH_HINT_CAVE_MOVEMENT_S"); +} + +//Function Number: 4 +precache_narrow_cave() +{ + common_scripts\utility::flag_init("narrow_cave_done"); + common_scripts\utility::flag_init("waiting_for_input"); + common_scripts\utility::flag_init("ilana_in_chamber"); + common_scripts\utility::flag_init("cormack_traverse_sec_1"); + common_scripts\utility::flag_init("cormack_can_teleport1"); + common_scripts\utility::flag_init("cormack_can_teleport2"); + common_scripts\utility::flag_init("cormack_can_teleport3"); + common_scripts\utility::flag_init("ilona_can_teleport1"); + common_scripts\utility::flag_init("ilona_can_teleport2"); + common_scripts\utility::flag_init("ilona_can_teleport4"); + common_scripts\utility::flag_init("cormack_in_chamber"); + common_scripts\utility::flag_init("narrow_cave_rumble"); + common_scripts\utility::flag_init("cave_in"); + common_scripts\utility::flag_init("narrow_cave_hint"); + common_scripts\utility::flag_init("zero_breach_view"); + common_scripts\utility::flag_init("cormack_breach_loop"); + common_scripts\utility::flag_init("cormack_breach_ready"); + common_scripts\utility::flag_init("start_breach_enemies"); + common_scripts\utility::flag_init("start_ilona_breach"); + common_scripts\utility::flag_init("player_starting_uw_breach"); + common_scripts\utility::flag_init("lighting_uw_breach_dof"); + common_scripts\utility::flag_init("player_can_aim"); + common_scripts\utility::flag_init("narrow_cave_underwater"); + precachemodel("weapon_ice_picker_arctic"); + precachemodel("scripted_ice_picker_arctic"); + precacherumble("light_2s"); + precacherumble("heavy_1s"); + precacherumble("heavy_2s"); + precacherumble("heavy_3s"); + precachestring(&"CRASH_HINT_CAVE_MOVEMENT"); + precachestring(&"CRASH_HINT_SWIM_GAMEPAD"); + precachestring(&"CRASH_HINT_SWIM_KEYBOARD"); + precachestring(&"CRASH_HINT_CROUCH_GAMEPAD"); + precachestring(&"CRASH_HINT_CROUCH_KEYBOARD"); + maps\_utility::add_control_based_hint_strings("player_crouch_gamepad",&"CRASH_HINT_CROUCH_GAMEPAD",::should_break_crouch_hint,&"CRASH_HINT_CROUCH_KEYBOARD"); + maps\_utility::add_control_based_hint_strings("player_swim_gamepad",&"CRASH_HINT_SWIM_GAMEPAD",::should_break_swim_hint,&"CRASH_HINT_SWIM_KEYBOARD",&"CRASH_HINT_SWIM_GAMEPAD_S"); +} + +//Function Number: 5 +precache_combat_cave() +{ + common_scripts\utility::flag_init("start_crevasse_wave_1"); + common_scripts\utility::flag_init("FLAG_crevasse_upper_move"); + common_scripts\utility::flag_init("crevasse_player_left"); + common_scripts\utility::flag_init("crevasse_player_top"); + common_scripts\utility::flag_init("crevasse_player_right"); + common_scripts\utility::flag_init("crevasse_wave_2"); + common_scripts\utility::flag_init("crevasse_3_support"); + common_scripts\utility::flag_init("combat_cave_done"); + common_scripts\utility::flag_init("FLAG_abyss_death"); + common_scripts\utility::flag_init("ilona_say_left"); +} + +//Function Number: 6 +debug_start_cave_hallway() +{ + maps\crash::set_completed_flags(); + maps\crash_utility::setup_player(); + maps\crash_utility::setup_allies(); + soundscripts\_snd::snd_message("start_cave_hallway"); + thread maps\crash::objective_init(); + level.player lightsetforplayer("crash_prometheus"); + maps\_utility::vision_set_fog_changes("crash_ice_caves_prometheus",0); + level.player setclutforplayer("clut_crash_prometheus",0); + common_scripts\_exploder::exploder(1999); +} + +//Function Number: 7 +debug_start_big_cave() +{ + maps\crash::set_completed_flags(); + maps\crash_utility::setup_player(); + maps\crash_utility::setup_allies(); + soundscripts\_snd::snd_message("start_big_cave"); + thread maps\crash::objective_init(); + level.player lightsetforplayer("crash_ice_caves_01"); + maps\_utility::vision_set_fog_changes("crash_ice_caves_01",0); + level.player setclutforplayer("clut_crash_ice_caves",0); + common_scripts\utility::flag_set("hide_player_snow_footprints"); + common_scripts\utility::flag_set("indoors"); + common_scripts\utility::flag_set("turn_on_light"); + common_scripts\utility::flag_set("obj_hall_follow_start"); + common_scripts\utility::flag_set("start_friendly_turkey_anim"); + thread maps\crash_utility::cormack_helmet_open(level.cormack); + common_scripts\_exploder::exploder(1999); +} + +//Function Number: 8 +debug_start_ice_bridge() +{ + maps\crash::set_completed_flags(); + maps\crash_utility::setup_player(); + maps\crash_utility::setup_allies(); + soundscripts\_snd::snd_message("start_ice_bridge"); + thread maps\crash::objective_init(); + level.player lightsetforplayer("crash_ice_caves_01"); + maps\_utility::vision_set_fog_changes("crash_ice_caves_01",0); + level.player setclutforplayer("clut_crash_ice_caves",0); + common_scripts\utility::flag_set("hide_player_snow_footprints"); + common_scripts\utility::flag_set("indoors"); + thread maps\crash_utility::cormack_helmet_open(level.cormack); + common_scripts\_exploder::exploder(1999); +} + +//Function Number: 9 +debug_start_narrow_cave() +{ + maps\crash::set_completed_flags(); + maps\crash_utility::setup_player(); + maps\crash_utility::setup_allies(); + soundscripts\_snd::snd_message("start_narrow_cave"); + thread maps\crash::objective_init(); + level.player lightsetforplayer("crash_post_goliath"); + maps\_utility::vision_set_fog_changes("crash_post_goliath",0); + level.player setclutforplayer("clut_crash_ice_caves",0); + level.visionset_default = "crash_post_goliath"; + level.player disablephysicaldepthoffieldscripting(); + common_scripts\utility::flag_set("hide_player_snow_footprints"); + common_scripts\utility::flag_set("indoors"); + thread maps\crash_utility::cormack_helmet_open(level.cormack); + common_scripts\_exploder::exploder(1999); +} + +//Function Number: 10 +debug_start_combat_cave() +{ + maps\crash::set_completed_flags(); + maps\crash_utility::setup_player(); + maps\crash_utility::setup_allies(); + soundscripts\_snd::snd_message("start_combat_cave"); + thread maps\crash::objective_init(); + level.player lightsetforplayer("crash_ice_caves_02"); + maps\_utility::vision_set_fog_changes("crash_ice_caves_02",0); + level.player setclutforplayer("clut_crash_overlook",0); + common_scripts\utility::flag_set("hide_player_snow_footprints"); + common_scripts\utility::flag_set("indoors"); + common_scripts\_exploder::exploder(1999); +} + +//Function Number: 11 +begin_cave_hallway() +{ + thread maps\_utility::autosave_by_name("start_caves"); + thread death_pit(); + thread cave_intro_anim_moment(); + thread temp_noise(); + thread drone_dialog(); + thread hall_exploders(); + thread cave_wall_temp_show(); + thread early_voices_around_corner(); + level.player thread maps\crash_exo_temperature::set_external_temperature_over_time(level.temperature_indoor,5); + level.player thread maps\crash_exo_temperature::set_exo_temperature_over_time(level.exo_max,5); + common_scripts\utility::flag_set("hide_player_snow_footprints"); + common_scripts\utility::flag_set("indoors"); + common_scripts\utility::flag_set("obj_start_locate_chopper"); + common_scripts\utility::flag_wait("cave_hallway_done"); +} + +//Function Number: 12 +death_pit() +{ + level endon("ice_bridge_done"); + common_scripts\utility::flag_wait("FLAG_cave_abyss_death_1"); + setdvar("ui_deadquote",&"CRASH_FAIL_FALL"); + maps\_utility::missionfailedwrapper(); + level.player thread maps\_player_exo::player_exo_deactivate(); + level.player hideviewmodel(); +} + +//Function Number: 13 +cave_wall_temp_show() +{ + var_00 = getent("pro_healthy_wall","targetname"); + var_01 = getent("pro_destroyed_wall","targetname"); + var_01 hide(); + var_00 show(); + var_02 = getent("pro_wall","targetname"); + level waittill("break_wall"); + var_03 = playfxontag(level._effect["wall_break"],var_02,"tag_fx_01"); + var_02 show(); + var_00 hide(); + var_00 notsolid(); +} + +//Function Number: 14 +temp_noise() +{ + level endon("disable_ice_crack"); + var_00 = getent("node_noise","targetname"); + level waittill("ice_shatter"); + common_scripts\utility::flag_set("noise_stinger"); + soundscripts\_snd::snd_message("stalactite_fall",var_00.origin); +} + +//Function Number: 15 +drone_dialog() +{ + thread dialog_complain_cold(); + thread dialog_noise_stinger(); +} + +//Function Number: 16 +dialog_complain_cold() +{ + level endon("drone_dead"); + common_scripts\utility::flag_wait("drone_move_1"); + level.ilana maps\_utility::smart_dialogue("crsh_iln_colder"); + level.cormack maps\_utility::smart_dialogue("crsh_crmk_suitthermals"); +} + +//Function Number: 17 +dialog_noise_stinger() +{ + level endon("data_ends"); + common_scripts\utility::flag_wait("noise_stinger"); + wait(4); + level.ilana maps\_utility::smart_dialogue("crsh_iln_justice"); + level.cormack maps\_utility::smart_dialogue("crsh_crmk_scanning"); +} + +//Function Number: 18 +flare_cormack() +{ + common_scripts\utility::flag_wait("turn_on_light"); + if(!isdefined(level.flare_model)) + { + level.flare_model = spawn("script_model",level.cormack.origin); + level.flare_model setmodel("mil_emergency_flare"); + level.flare_model.origin = level.cormack gettagorigin("TAG_WEAPON_LEFT"); + level.flare_model.angles = level.cormack gettagangles("TAG_WEAPON_LEFT"); + level.flare_model linkto(level.cormack,"TAG_WEAPON_LEFT"); + } + + var_00 = playfxontag(level._effect["smoke_flare_held_crash"],level.flare_model,"tag_fire_fx"); + common_scripts\utility::flag_wait("flare_out"); + killfxontag(level._effect["smoke_flare_held_crash"],level.flare_model,"tag_fire_fx"); + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01.origin = level.flare_model gettagorigin("tag_fire_fx"); + playfxontag(level._effect["smoke_flare_out"],var_01,"tag_origin"); + wait(3); + level.flare_model unlink(); + level.flare_model delete(); + var_01 delete(); +} + +//Function Number: 19 +cave_intro_anim_moment() +{ + var_00 = []; + var_01 = common_scripts\utility::getstruct("cave_entry_teleport_animnode","targetname"); + maps\_utility::battlechatter_off("allies"); + common_scripts\utility::flag_wait_either("cave_entry_done","FLAG_entered_caves"); + level.cormack stopanimscripted(); + level.ilana stopanimscripted(); + var_00[0] = level.ilana; + var_00[1] = level.cormack; + var_02 = getent("pro_wall","targetname"); + var_02.animname = "pro_wall"; + var_02 maps\_anim::setanimtree(); + var_02 hide(); + var_01 thread maps\_anim::anim_first_frame_solo(var_02,"head_down_tunnel"); + level.ilana maps\_utility::disable_ai_color(); + level.cormack maps\_utility::disable_ai_color(); + level.cormack thread cormack_light_handler(); + level.cormack thread radio_chatter(); + level.ilana thread wall_notetrack_listener(); + var_00 = common_scripts\utility::array_add(var_00,var_02); + var_01 thread maps\_anim::anim_single(var_00,"head_down_tunnel"); + wait(0.05); + level.cormack thread attach_weapon_to_tag_sync(); + level.ilana thread attach_weapon_to_tag_sync(); + level.ilana waittillmatch("end","single anim"); + common_scripts\utility::flag_set("obj_hall_follow_start"); + thread maps\_utility::autosave_by_name("end_pro_drone"); + if(!common_scripts\utility::flag("FLAG_ilona_drone")) + { + var_01 thread maps\_anim::anim_loop_solo(level.ilana,"cave_intro_loop","stop_cave_loop"); + var_01 thread maps\_anim::anim_loop_solo(level.cormack,"cave_intro_loop","stop_cave_loop"); + } + + common_scripts\utility::flag_wait("FLAG_ilona_drone"); + var_01 notify("stop_cave_loop"); + level.ilana stopanimscripted(); + level.cormack stopanimscripted(); + thread cave_temperature(); + var_03 = []; + var_03[0] = level.cormack; + var_03[1] = level.ilana; + common_scripts\utility::flag_set("cave_hallway_done"); + var_01 thread cormack_hall_handler(); + level.cormack thread cormack_flare_notetrack_handler_flare(); + level.cormack thread cave_ender_notify(); + level.ilana thread cave_ender_notify(); + var_01 thread ilana_hall_handler(); + thread teleport_ahead(); + var_01 maps\_anim::anim_single(var_03,"flare_cave_walk"); + level notify("flare_out"); + common_scripts\utility::flag_set("flare_out"); + common_scripts\utility::flag_set("start_friendly_turkey_anim"); +} + +//Function Number: 20 +attach_weapon_to_tag_sync() +{ + var_00 = getweaponmodel(self.weapon); + var_01 = spawn("script_model",self gettagorigin("tag_sync")); + var_01.angles = self gettagangles("tag_sync"); + var_01 linkto(self,"tag_sync"); + var_01 setmodel(var_00); + maps\_utility::gun_remove(); + self waittillmatch("end","single anim"); + var_01 unlink(); + var_01 delete(); + maps\_utility::gun_recall(); +} + +//Function Number: 21 +cave_temperature() +{ + level.player thread maps\crash_exo_temperature::set_external_temperature_over_time(level.temperature_deep_caves,40); +} + +//Function Number: 22 +radio_chatter() +{ + self waittillmatch("radio","single anim"); + maps\_utility::smart_radio_dialogue("crsh_kp_plesaerespond4"); +} + +//Function Number: 23 +cave_ender_notify() +{ + self waittillmatch("end","single anim"); + var_00 = common_scripts\utility::getstruct("csh_turkey_anim","targetname"); + var_00 thread maps\_anim::anim_single_solo(self,"turkey_shoot"); + wait 0.05; + if(!common_scripts\utility::flag("continue_turkey_anim")) + { + if(self == level.cormack) + { + self setanimrate(%crash_turkey_shoot_insertion_cormack,0); + } + else + { + self setanimrate(%crash_turkey_shoot_insertion_ilona,0); + } + + common_scripts\utility::flag_wait("continue_turkey_anim"); + if(self == level.cormack) + { + self setanimrate(%crash_turkey_shoot_insertion_cormack,1); + } + else + { + self setanimrate(%crash_turkey_shoot_insertion_ilona,1); + } + } + + level.cormack waittillmatch("end","single anim"); + var_01 = level.ilana common_scripts\utility::spawn_tag_origin(); + level.ilana setgoalentity(var_01); + level.ilana maps\_utility::enable_ai_color(); + var_02 = level.cormack common_scripts\utility::spawn_tag_origin(); + level.cormack setgoalentity(var_02); + level.cormack maps\_utility::enable_ai_color(); + level.cormack notify("new_anim_reach"); + level.ilana notify("new_anim_reach"); +} + +//Function Number: 24 +teleport_ahead() +{ + level endon("wakeup_turkey"); + common_scripts\utility::flag_wait("drone_move_2"); + if(level.cormack getanimtime(%crash_flare_cave_cormack) < 0.19) + { + level.cormack setanimtime(%crash_flare_cave_cormack,0.19); + level.ilana setanimtime(%crash_flare_cave_ilona,0.19); + } + + common_scripts\utility::flag_wait("prometheus_drone_vision_off"); + if(level.cormack getanimtime(%crash_flare_cave_cormack) < 0.5) + { + level notify("disable_shatter_event"); + level.cormack setanimtime(%crash_flare_cave_cormack,0.5); + level.ilana setanimtime(%crash_flare_cave_ilona,0.5); + level notify("disable_ice_crack"); + } + + common_scripts\utility::flag_wait("hall_light_off"); + if(level.cormack getanimtime(%crash_flare_cave_cormack) < 0.7) + { + level.cormack setanimtime(%crash_flare_cave_cormack,0.7); + level.ilana setanimtime(%crash_flare_cave_ilona,0.7); + } +} + +//Function Number: 25 +cormack_hall_handler() +{ + level endon("teleport_ahead"); + var_00 = self; + level.cormack thread cormack_flare_notetrack_handler_ice(); + while(level.cormack getanimtime(%crash_flare_cave_cormack) < 0.28) + { + wait(0.05); + } + + if(level.cormack getanimtime(%crash_flare_cave_cormack) > 0.28) + { + if(!common_scripts\utility::flag("drone_dead")) + { + level.cormack setanimrate(%crash_flare_cave_cormack,0); + common_scripts\utility::flag_wait("drone_dead"); + level.cormack setanimrate(%crash_flare_cave_cormack,1); + } + } + + while(level.cormack getanimtime(%crash_flare_cave_cormack) < 0.4) + { + wait(0.05); + } + + if(level.cormack getanimtime(%crash_flare_cave_cormack) > 0.4) + { + if(!common_scripts\utility::flag("drone_move_2")) + { + level.cormack setanimrate(%crash_flare_cave_cormack,0); + common_scripts\utility::flag_wait("drone_move_2"); + level.cormack setanimrate(%crash_flare_cave_cormack,1); + } + } + + while(level.cormack getanimtime(%crash_flare_cave_cormack) < 0.57) + { + wait(0.05); + } + + if(level.cormack getanimtime(%crash_flare_cave_cormack) > 0.57) + { + if(!common_scripts\utility::flag("drone_move_3")) + { + level.cormack setanimrate(%crash_flare_cave_cormack,0); + common_scripts\utility::flag_wait("drone_move_3"); + level.cormack setanimrate(%crash_flare_cave_cormack,1); + } + } +} + +//Function Number: 26 +cormack_flare_notetrack_handler_ice() +{ + level endon("disable_shatter_event"); + while(level.cormack getanimtime(%crash_flare_cave_cormack) < 0.46) + { + wait(0.05); + } + + level notify("ice_shatter"); +} + +//Function Number: 27 +cormack_flare_notetrack_handler_flare() +{ + self waittillmatch("flare_out","single anim"); + common_scripts\_exploder::exploder(5151); + level notify("flare_out"); + common_scripts\utility::flag_set("flare_out"); +} + +//Function Number: 28 +ilana_hall_handler() +{ + level endon("teleport_ahead"); + var_00 = self; + while(level.ilana getanimtime(%crash_flare_cave_ilona) < 0.28) + { + wait(0.05); + } + + if(level.ilana getanimtime(%crash_flare_cave_ilona) > 0.28) + { + if(!common_scripts\utility::flag("drone_dead")) + { + level.ilana setanimrate(%crash_flare_cave_ilona,0); + common_scripts\utility::flag_wait("drone_dead"); + level.ilana setanimrate(%crash_flare_cave_ilona,1); + } + } + + while(level.ilana getanimtime(%crash_flare_cave_ilona) < 0.4) + { + wait(0.05); + } + + if(level.ilana getanimtime(%crash_flare_cave_ilona) > 0.4) + { + if(!common_scripts\utility::flag("drone_move_2")) + { + level.ilana setanimrate(%crash_flare_cave_ilona,0); + common_scripts\utility::flag_wait("drone_move_2"); + level.ilana setanimrate(%crash_flare_cave_ilona,1); + } + } + + while(level.ilana getanimtime(%crash_flare_cave_ilona) < 0.57) + { + wait(0.05); + } + + if(level.ilana getanimtime(%crash_flare_cave_ilona) > 0.57) + { + if(!common_scripts\utility::flag("drone_move_3")) + { + level.ilana setanimrate(%crash_flare_cave_ilona,0); + common_scripts\utility::flag_wait("drone_move_3"); + level.ilana setanimrate(%crash_flare_cave_ilona,1); + } + } +} + +//Function Number: 29 +wall_notetrack_listener() +{ + var_00 = getent("icewall_blocker","targetname"); + soundscripts\_snd::snd_message("ilana_break_wall",self); + self waittillmatch("break_wall","single anim"); + var_00 notsolid(); + var_00 delete(); + level notify("break_wall"); +} + +//Function Number: 30 +cormack_light_handler() +{ + self waittillmatch("unhide_flare","single anim"); + level.flare_model = spawn("script_model",level.cormack.origin); + level.flare_model setmodel("mil_emergency_flare"); + level.flare_model.origin = level.cormack gettagorigin("TAG_WEAPON_LEFT"); + level.flare_model.angles = level.cormack gettagangles("TAG_WEAPON_LEFT"); + level.flare_model linkto(level.cormack,"TAG_WEAPON_LEFT"); + self waittillmatch("cormack_light","single anim"); + soundscripts\_snd::snd_message("cormack_flare"); + common_scripts\utility::flag_set("turn_on_light"); + var_00 = playfxontag(level._effect["smoke_flare_held_crash"],level.flare_model,"tag_fire_fx"); + common_scripts\utility::flag_wait_either("flare_out","wakeup_turkey"); + killfxontag(level._effect["smoke_flare_held_crash"],level.flare_model,"tag_fire_fx"); + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01.origin = level.flare_model gettagorigin("tag_fire_fx"); + playfxontag(level._effect["smoke_flare_out"],var_01,"tag_origin"); + wait(3); + level.flare_model unlink(); + level.flare_model delete(); + var_01 delete(); +} + +//Function Number: 31 +drone_cinematic(param_00) +{ + wait(1.25); + setsaveddvar("cg_cinematicfullscreen","0"); + var_01 = newhudelem(); + var_01 setshader("cinematic_add",180,132); + var_01.x = 10; + var_01.y = 135; + var_01.alignx = "left"; + var_01.aligny = "top"; + var_01.horzalign = "left"; + var_01.vertalign = "top"; + var_01.alpha = 1; + cinematicingame("crash_drone_hud_intro"); + while(!iscinematicloaded()) + { + wait(0.05); + } + + wait(27); + cinematicingameloopresident("crash_drone_hud_loop"); + common_scripts\utility::flag_wait("drone_dead"); + cinematicingame("crash_drone_hud_outro"); + while(!iscinematicloaded()) + { + wait(0.05); + } + + wait(4); + setsaveddvar("cg_cinematicfullscreen","1"); + stopcinematicingame(); + var_01 destroy(); + wait(7.5); + level.player thread maps\crash_exo_temperature::create_exo_temperature_hud(level.temperature_indoor); + level.player thread maps\crash_exo_temperature::set_exo_temperature_over_time(level.exo_max,0.05); + level.player thread maps\crash_exo_temperature::set_operator_temperature_over_time(98.6,0.05); +} + +//Function Number: 32 +player_movement_weapons_setup() +{ +} + +//Function Number: 33 +hall_exploders() +{ + common_scripts\utility::flag_wait("drone_move_1"); + common_scripts\_exploder::exploder(3173); + common_scripts\utility::flag_wait("drone_move_2"); + common_scripts\_exploder::exploder(3173); +} + +//Function Number: 34 +early_voices_around_corner() +{ + common_scripts\utility::flag_wait("FLAG_early_voices"); + var_00 = common_scripts\utility::getstruct("NODE_drone_08","targetname"); + thread common_scripts\utility::play_sound_in_space("crsh_as3_coldashell",var_00.origin); + wait(1); + level.ilana maps\_utility::smart_dialogue("crsh_iln_hearthat"); + common_scripts\utility::flag_set("say_light_off"); +} + +//Function Number: 35 +begin_big_cave() +{ + thread big_cave_autosave(); + thread turkey_shoot(); + thread big_cave_abyss_death(); + thread ice_bridge_goons(); + thread big_cave_cleanup(); + thread bridge_rappel_squad(); + level.ilana anim_reach_fix(); + level.cormack anim_reach_fix(); + common_scripts\utility::flag_wait("big_cave_done"); +} + +//Function Number: 36 +big_cave_autosave() +{ + common_scripts\utility::flag_wait("cormack_turkey_talk_hold"); + thread maps\_utility::autosave_by_name("big_cave"); +} + +//Function Number: 37 +big_cave_abyss_death() +{ + level endon("ice_bridge_done"); + common_scripts\utility::flag_wait("FLAG_big_cave_abyss_death"); + setdvar("ui_deadquote",&"CRASH_FAIL_FALL"); + maps\_utility::missionfailedwrapper(); + level.player thread maps\_player_exo::player_exo_deactivate(); +} + +//Function Number: 38 +turkey_shoot() +{ + common_scripts\utility::flag_wait("say_light_off"); + thread turkey_shoot_dialog(); + thread turkey_shoot_enemy_dialog(); + thread turkey_shoot_anim(); + thread turn_off_light(); + thread turkey_shoot_enemies(); + level.ilana maps\_utility::enable_arrivals(); + level.ilana maps\_utility::enable_exits(); + level.ilana maps\_utility::enable_cqbwalk(); + level.cormack maps\_utility::enable_arrivals(); + level.cormack maps\_utility::enable_exits(); + level.cormack maps\_utility::enable_cqbwalk(); + level.cormack.ignoreme = 1; + level.cormack.ignoreall = 1; + level.ilana.ignoreme = 1; + level.ilana.ignoreall = 1; + level.player.ignoreme = 1; + common_scripts\utility::flag_wait("wakeup_turkey"); + level.cormack notify("new_anim_reach"); + level.ilana notify("new_anim_reach"); + level.cormack.ignoreme = 0; + level.cormack.ignoreall = 0; + level.ilana.ignoreme = 0; + level.ilana.ignoreall = 0; + level.player.ignoreme = 0; + level.cormack.ignoresuppression = 1; + level.ilana.ignoresuppression = 1; +} + +//Function Number: 39 +turkey_shoot_anim() +{ + var_00 = []; + var_00[0] = level.cormack; + var_00[1] = level.ilana; + level.ilana maps\_utility::disable_ai_color(); + level.cormack maps\_utility::disable_ai_color(); + level.cormack maps\_utility::set_moveplaybackrate(1); + level.ilana maps\_utility::set_moveplaybackrate(1); + var_01 = common_scripts\utility::getstruct("csh_turkey_anim","targetname"); + level.cormack thread cormack_turkey_shoot(var_01); + level.ilana thread ilana_turkey_shoot(var_01); + common_scripts\utility::flag_set("say_movement_ahead"); + level waittill("wakeup_turkey"); + level.cormack stopanimscripted(); + level.ilana stopanimscripted(); + maps\_utility::battlechatter_on("allies"); + level.ilana maps\_utility::enable_ai_color(); + level.cormack maps\_utility::enable_ai_color(); +} + +//Function Number: 40 +cormack_turkey_shoot(param_00) +{ + level endon("wakeup_turkey"); + if(!common_scripts\utility::flag("drone_move_4")) + { + common_scripts\utility::flag_wait("start_friendly_turkey_anim"); + param_00 maps\_anim::anim_reach_solo(self,"turkey_shoot"); + param_00 maps\_anim::anim_single_solo(self,"turkey_shoot"); + var_01 = level.ilana common_scripts\utility::spawn_tag_origin(); + level.ilana setgoalentity(var_01); + level.ilana maps\_utility::enable_ai_color(); + var_02 = level.cormack common_scripts\utility::spawn_tag_origin(); + level.cormack setgoalentity(var_02); + level.cormack maps\_utility::enable_ai_color(); + level.cormack notify("new_anim_reach"); + level.ilana notify("new_anim_reach"); + } +} + +//Function Number: 41 +ilana_turkey_shoot(param_00) +{ + level endon("wakeup_turkey"); + if(!common_scripts\utility::flag("drone_move_4")) + { + common_scripts\utility::flag_wait("start_friendly_turkey_anim"); + level.ilana.ignoresuppression = 1; + param_00 maps\_anim::anim_reach_solo(self,"turkey_shoot"); + param_00 maps\_anim::anim_single_solo(self,"turkey_shoot"); + var_01 = level.ilana common_scripts\utility::spawn_tag_origin(); + level.ilana setgoalentity(var_01); + level.ilana maps\_utility::enable_ai_color(); + } +} + +//Function Number: 42 +anim_reach_fix() +{ + level endon("wakeup_turkey"); + for(;;) + { + self.goalradius = 1; + wait 0.05; + } +} + +//Function Number: 43 +turn_off_light() +{ + common_scripts\utility::flag_wait("say_light_off"); + common_scripts\utility::flag_set("player_turn_off_light"); +} + +//Function Number: 44 +turkey_shoot_drone() +{ + level endon("turkey_done_dead"); + var_00 = common_scripts\utility::getstruct("csh_turkey_anim","targetname"); + var_01 = getent("turkey_drone","targetname"); + var_01.animname = "turkey_drone"; + var_01 maps\_anim::setanimtree(); + var_01 thread drone_fx(); + var_00 thread maps\_anim::anim_single_solo(var_01,"turkey_shoot"); + var_01 waittillmatch("end","single anim"); + if(!common_scripts\utility::flag("wakeup_turkey")) + { + var_00 thread maps\_anim::anim_loop_solo(var_01,"turkey_shoot_loop","stop_loop"); + } + + common_scripts\utility::flag_wait("wakeup_turkey"); + var_00 notify("stop loop"); + level notify("drone_drop"); + var_00 maps\_anim::anim_single_solo(var_01,"turkey_shoot_dead"); +} + +//Function Number: 45 +turkey_drone_logic(param_00) +{ + common_scripts\utility::flag_wait("wakeup_turkey"); + self stopanimscripted(); + param_00 maps\_anim::anim_single_solo(self,"turkey_shoot_dead"); +} + +//Function Number: 46 +drone_fx() +{ + wait(8); + var_00 = playfxontag(level._effect["energy_distort"],self,"FX_blade_KR1"); + var_01 = playfxontag(level._effect["energy_distort"],self,"FX_blade_FR1"); + var_02 = playfxontag(level._effect["energy_distort"],self,"FX_blade_FL1"); + var_03 = playfxontag(level._effect["energy_distort"],self,"FX_blade_KL1"); + wait 0.05; + var_04 = playfxontag(level._effect["energy_distort"],self,"FX_blade_KR2"); + var_05 = playfxontag(level._effect["energy_distort"],self,"FX_blade_FL2"); + var_06 = playfxontag(level._effect["energy_distort"],self,"FX_blade_KL2"); + var_07 = playfxontag(level._effect["energy_distort"],self,"FX_blade_FR2"); + level waittill("drone_drop"); + killfxontag(level._effect["energy_distort"],self,"FX_blade_KR1"); + killfxontag(level._effect["energy_distort"],self,"FX_blade_FR1"); + killfxontag(level._effect["energy_distort"],self,"FX_blade_FL1"); + killfxontag(level._effect["energy_distort"],self,"FX_blade_KL1"); + wait 0.05; + killfxontag(level._effect["energy_distort"],self,"FX_blade_KR2"); + killfxontag(level._effect["energy_distort"],self,"FX_blade_FL2"); + killfxontag(level._effect["energy_distort"],self,"FX_blade_KL2"); + killfxontag(level._effect["energy_distort"],self,"FX_blade_FR2"); +} + +//Function Number: 47 +turkey_shoot_enemies() +{ + common_scripts\utility::flag_wait("start_turkey_movement"); + createthreatbiasgroup("top_guys"); + createthreatbiasgroup("friendlies"); + soundscripts\_snd::snd_message("turkey_shoot"); + level.ilana.ignoreall = 1; + level.cormack.ignoreall = 1; + level.cormack setthreatbiasgroup("friendlies"); + level.ilana setthreatbiasgroup("friendlies"); + var_00 = undefined; + if(level.nextgen) + { + var_00 = maps\_utility::array_spawn_targetname("enemy_turkey_1",1); + } + else + { + var_00 = maps\_utility::array_spawn_targetname_cg("enemy_turkey_1",1,0.1); + } + + var_01 = common_scripts\utility::getstruct("csh_turkey_anim","targetname"); + thread turkey_shoot_patrol(); + thread turkey_shoot_drone(); + foreach(var_03 in var_00) + { + var_03.animname = var_03.script_noteworthy; + var_03.script_noteworthy = "enemy_turkey_1"; + var_03 maps\_utility::set_allowdeath(1); + var_03.ignoreall = 1; + var_03.canreact = 1; + var_03 addaieventlistener("gunshot"); + var_03 addaieventlistener("gunshot_teammate"); + var_03 addaieventlistener("explode"); + var_03 thread turkey_listen(); + if(var_03.animname == "rappeler1" || var_03.animname == "rappeler2") + { + var_03.canreact = 0; + var_03 thread turkey_boost_assist(); + } + + if(var_03.animname == "gearguy2") + { + var_01 thread turkey_enemy_anim_loop(var_03); + continue; + } + + var_01 thread turkey_enemy_anim(var_03); + } + + common_scripts\utility::flag_wait("wakeup_turkey"); + level.ilana.ignoreall = 0; + level.cormack.ignoreall = 0; + level.ilana thread turkey_shoot_open_fire(); + level.cormack thread turkey_shoot_open_fire(); + var_05 = getent("VOL_turkey_shoot","targetname"); + var_06 = maps\_utility::get_living_ai_array("enemy_turkey_1","script_noteworthy"); + var_07 = []; + foreach(var_03 in var_06) + { + var_03 setgoalvolumeauto(var_05); + var_03.ignoreall = 0; + var_03.ignoreme = 0; + if(var_03.animname == "rappeler1" || var_03.animname == "rappeler2") + { + } + else + { + var_03 stopanimscripted(); + var_03 thread maps\_anim::anim_single_solo(var_03,"turkey_react"); + wait 0.05; + var_03 setanimrate(var_03 maps\_utility::getanim("turkey_react"),4); + } + + if(var_03.animname == "rappeler1" || var_03.animname == "gearguy2") + { + var_07 = common_scripts\utility::add_to_array(var_07,var_03); + continue; + } + + var_03 setthreatbiasgroup("top_guys"); + var_03.accuracy = var_03.accuracy * 0.5; + var_03.baseaccuracy = var_03.baseaccuracy * 0.5; + } + + if(var_07.size > 0) + { + level.ilana thread execute_ai_solo(var_07[0],0.6,6,1,1); + if(var_07.size == 2) + { + level.cormack thread execute_ai_solo(var_07[1],0.6,6,1,1); + } + else + { + level.cormack thread execute_ai_solo(var_07[0],0.6,6,1,1); + } + } + + setignoremegroup("top_guys","friendlies"); + setignoremegroup("friendlies","top_guys"); + wait(2); + var_06 = maps\_utility::get_living_ai_array("enemy_turkey_1","script_noteworthy"); + foreach(var_03 in var_06) + { + if(var_03.animname == "rappeler1" || var_03.animname == "gearguy2") + { + var_03 kill(); + } + } + + maps\_utility::clearthreatbias("top_guys","friendlies"); + var_0C = maps\_utility::get_living_ai_array("enemy_turkey_1","script_noteworthy"); + maps\_utility::waittill_dead_or_dying(var_0C); + level notify("turkey_done"); + thread maps\_utility::autosave_by_name_silent("wakeup_turkey"); + maps\_utility::activate_trigger_with_targetname("TRIG_move_reso_wall"); + var_00 = maps\_utility::get_living_ai_array("turkey_walker","script_noteworthy"); + if(var_00.size > 0) + { + maps\_utility::waittill_dead_or_dying(var_00); + } + + maps\_utility::activate_trigger_with_targetname("TRIG_move_to_bridge"); +} + +//Function Number: 48 +turkey_enemy_anim_loop(param_00) +{ + level endon("wakeup_turkey"); + param_00 endon("death"); + maps\_anim::anim_loop_solo(param_00,"turkey_shoot","wakeup_turkey"); +} + +//Function Number: 49 +turkey_enemy_anim(param_00) +{ + level endon("wakeup_turkey"); + param_00 endon("death"); + maps\_anim::anim_single_solo(param_00,"turkey_shoot"); + maps\_anim::anim_loop_solo(param_00,"turkey_shoot_idle"); +} + +//Function Number: 50 +turkey_boost_assist() +{ + level endon(self.animname); + self endon("death"); + var_00 = 0; + var_01 = undefined; + maps\_utility::set_allowdeath(0); + for(;;) + { + self waittill("single anim",var_02); + switch(var_02) + { + case "boost_assist": + if(!isdefined(var_01)) + { + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01.origin = self gettagorigin("j_spinelower"); + var_01.angles = var_01.angles + (90,333.435,-26.5651); + var_01 linkto(self); + } + + var_03 = playfxontag(level._effect["alternate_jump"],var_01,"tag_origin"); + soundscripts\_snd::snd_message("cave_npc_boost_assist",self); + break; + + case "ground_touchdown": + var_00++; + if(var_00 == 1) + { + thread allow_death_timer(); + } + + if(var_00 == 2) + { + thread turkey_boost_logic(); + } + + if(!isdefined(var_01)) + { + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01.origin = self gettagorigin("j_spinelower"); + var_01.angles = var_01.angles + (90,333.435,-26.5651); + var_01 linkto(self); + } + + var_03 = playfxontag(level._effect["alternate_jump"],var_01,"tag_origin"); + soundscripts\_snd::snd_message("cave_npc_boost_assist_land",self); + break; + + case "end": + level notify(self.animname); + var_01 delete(); + break; + } + } +} + +//Function Number: 51 +allow_death_timer() +{ + self endon("death"); + wait(3); + maps\_utility::set_allowdeath(1); +} + +//Function Number: 52 +turkey_boost_logic() +{ + self endon("death"); + common_scripts\utility::flag_wait("wakeup_turkey"); + maps\_anim::anim_single_solo(self,"turkey_react"); +} + +//Function Number: 53 +turkey_listen() +{ + self endon("death"); + self waittill("ai_event",var_00); + if(var_00 == "gunshot" || var_00 == "gunshot_teammate" || var_00 == "explode") + { + common_scripts\utility::flag_set("wakeup_turkey"); + } +} + +//Function Number: 54 +turkey_shoot_patrol() +{ + level endon("wakeup_turkey"); + var_00 = getent("VOL_turkey_patrol_start","targetname"); + var_01 = undefined; + if(level.nextgen) + { + var_01 = maps\_utility::array_spawn_targetname("turkey_walker",1); + } + else + { + var_01 = maps\_utility::array_spawn_targetname_cg("turkey_walker",1,0.1); + } + + foreach(var_03 in var_01) + { + var_03.ignoreall = 1; + var_03.ignoreme = 1; + var_03.ignoresuppression = 1; + var_03 thread turkey_patrol_logic(); + var_03.animname = var_03.script_noteworthy; + var_03.script_noteworthy = "turkey_walker"; + var_03 setgoalvolumeauto(var_00); + var_03 maps\_utility::set_allowdeath(1); + var_03 thread maps\_anim::anim_loop_solo(var_03,"turkey_shoot_idle","stop_loop"); + } + + level waittill("start_patrol"); + var_00 = getent("VOL_pod_back_group","targetname"); + var_01 = maps\_utility::get_living_ai_array("turkey_walker","script_noteworthy"); + foreach(var_03 in var_01) + { + var_03 stopanimscripted(); + var_03.animname = "generic"; + var_03 maps\_utility::set_run_anim("stealth_walk"); + var_03 setgoalvolumeauto(var_00); + } +} + +//Function Number: 55 +turkey_patrol_logic() +{ + self endon("death"); + var_00 = getent("VOL_turkey_shoot","targetname"); + var_01 = getent("VOL_patrol","targetname"); + common_scripts\utility::flag_wait("wakeup_turkey"); + self stopanimscripted(); + if(self istouching(var_00)) + { + maps\_utility::clear_run_anim(); + self.ignoreme = 0; + self.ignoreall = 0; + self setgoalvolumeauto(var_00); + } + + wait(5); + maps\_utility::clear_run_anim(); + self.ignoreme = 0; + self.ignoreall = 0; + self setgoalvolumeauto(var_01); +} + +//Function Number: 56 +turkey_timer() +{ + self waittillmatch("end","single anim"); + common_scripts\utility::flag_set("wakeup_turkey"); +} + +//Function Number: 57 +turkey_shoot_open_fire() +{ + self.oldacc = self.accuracy; + self.oldbase = self.baseaccuracy; + self.oldgrenade = self.grenadeammo; + self.baseaccuracy = 100000; + self.accuracy = 100000; + self.grenadeammo = 0; + self.ignoresuppression = 1; + level waittill("turkey_done"); + self.baseaccuracy = self.oldbase; + self.accuracy = self.oldacc; + self.grenadeammo = self.oldgrenade; + self.ignoresuppression = 0; + thread maps\_utility::enable_cqbwalk(); +} + +//Function Number: 58 +turkey_shoot_dialog() +{ + level endon("wakeup_turkey"); + maps\_utility::battlechatter_off("allies"); + maps\_utility::battlechatter_off("axis"); + common_scripts\utility::flag_wait_all("say_movement_ahead","say_light_off"); + wait(1.3); + thread turkey_complain(); + thread turkey_drone(); + level.cormack maps\_utility::smart_radio_dialogue("crsh_crmk_holdfire2"); + common_scripts\utility::flag_wait("cormack_turkey_talk_hold"); + wait(1); + level notify("enemy_talk"); + wait(2); + level.cormack maps\_utility::smart_radio_dialogue("crsh_crmk_holdshot2"); + wait(4); + level notify("leave_exit"); + level notify("start_patrol"); + common_scripts\utility::flag_set("patrol_moves"); + level.ilana maps\_utility::smart_radio_dialogue("crsh_iln_groupleaving"); + wait(1); + level.cormack maps\_utility::smart_radio_dialogue("crsh_crmk_cleanuprest"); + wait(0.75); + level.cormack maps\_utility::smart_radio_dialogue("crsh_crmk_waitforem"); + wait(3); + level.cormack maps\_utility::smart_radio_dialogue("crsh_crmk_twoontop"); + wait(1); + level notify("take_the_shot"); + level.cormack maps\_utility::smart_radio_dialogue("crsh_crmk_onyourshot"); + thread turkey_anim_nag(); + wait(5); + maps\_utility::smart_radio_dialogue("crsh_crmk_takeshot"); +} + +//Function Number: 59 +turkey_complain() +{ + level endon("take_the_shot"); + var_00 = getent("VOL_turkey_shoot","targetname"); + level waittill("turkey_done"); + var_01 = var_00 maps\_utility::get_ai_touching_volume("axis"); + if(var_01.size > 0) + { + maps\_utility::waittill_dead(var_01); + } + + wait(2); + level.cormack maps\_utility::smart_radio_dialogue("crsh_crmk_quicktrigger"); + maps\_utility::activate_trigger_with_targetname("pod_move_up_3"); +} + +//Function Number: 60 +turkey_anim_nag() +{ + level endon("wakeup_turkey"); + var_00 = getent("VOL_turkey_bottom_guys","targetname"); + var_01 = var_00 maps\_utility::get_ai_touching_volume("axis"); + var_02 = 1; + while(var_02) + { + if(level.player playerads() > 0.5) + { + foreach(var_04 in var_01) + { + if(level.player worldpointinreticle_circle(var_04.origin,65,100)) + { + var_02 = 0; + } + } + } + + wait 0.05; + } + + maps\_utility::smart_radio_dialogue_interrupt("crsh_crmk_notwoontop"); +} + +//Function Number: 61 +turkey_shoot_enemy_dialog() +{ + level endon("wakeup_turkey"); + common_scripts\utility::flag_wait("say_movement_ahead"); + level waittill("enemy_talk"); + var_00 = maps\_utility::get_living_ai_array("enemy_turkey_1","script_noteworthy"); + if(isdefined(var_00[1])) + { + var_00[1] maps\_utility::smart_dialogue("crsh_as3_nosignal"); + } + + wait(2); + if(isdefined(var_00[1])) + { + var_00[1] maps\_utility::smart_dialogue("crsh_as3_scrambingwarbirds"); + } + + wait(2); + if(isdefined(var_00[1])) + { + var_00[1] maps\_utility::smart_dialogue("crsh_as3_othersquads"); + } +} + +//Function Number: 62 +turkey_drone() +{ + var_00 = getent("temp_drone_test","targetname"); + var_00.animname = "drone"; + var_00 maps\_anim::setanimtree(); + var_01 = common_scripts\utility::getstruct("drone_path_01","targetname"); + var_02 = common_scripts\utility::getstruct("drone_path_02","targetname"); + var_03 = common_scripts\utility::getstruct("drone_path_03","targetname"); + var_04 = common_scripts\utility::getstruct("drone_path_04","targetname"); + var_05 = common_scripts\utility::getstruct("drone_path_05","targetname"); + var_06 = common_scripts\utility::getstruct("drone_path_06","targetname"); + var_07 = common_scripts\utility::getstruct("drone_path_07","targetname"); + var_08 = 2; + var_09 = 2; + var_0A = 2; + var_0B = 2; + var_0C = 1; + var_0D = 1; + var_0E = 1; + common_scripts\utility::flag_wait_either("wakeup_turkey","patrol_moves"); + var_0F = var_00 common_scripts\utility::spawn_tag_origin(); + var_00 linkto(var_0F); + var_00 thread maps\_anim::anim_loop_solo(var_00,"drone_release_loop"); + playfxontag(level._effect["geo_scanner"],var_0F,"tag_origin"); + var_0F moveto(var_01.origin,var_08,0.25); + wait(var_08); + var_0F moveto(var_02.origin,var_09,0); + wait(var_09); + var_0F moveto(var_03.origin,var_0A,0); + wait(var_0A); + var_0F moveto(var_04.origin,var_0B,0); + wait(var_0B); + var_0F moveto(var_05.origin,var_0C,0); + wait(var_0C); + var_0F moveto(var_06.origin,var_0D,0); + wait(var_0D); + var_0F moveto(var_07.origin,var_0E,0); + wait(var_0E); + common_scripts\utility::flag_wait("wakeup_turkey"); + killfxontag(level._effect["geo_scanner"],var_0F,"tag_origin"); + var_00 unlink(); + var_00 delete(); + var_0F delete(); +} + +//Function Number: 63 +ice_bridge_goons() +{ + var_00 = getent("VOL_ice_bridge_shelf","targetname"); + common_scripts\utility::flag_wait("flag_turkey_goons"); + test_zipline(); + var_01 = maps\_utility::get_living_ai_array("zipper","script_noteworthy"); + foreach(var_03 in var_01) + { + var_03 setgoalvolumeauto(var_00); + } +} + +//Function Number: 64 +bridge_rappel_squad() +{ + common_scripts\utility::flag_wait("FLAG_caves_goliath"); + thread maps\_utility::autosave_by_name("turkey_done"); + common_scripts\utility::flag_set("big_cave_done"); + var_00 = getent("VOL_pre_ice_bridge2","targetname"); + var_01 = undefined; + if(level.nextgen) + { + var_01 = maps\_utility::array_spawn_targetname("enemy_rappel_squad_00",1); + } + else + { + var_01 = maps\_utility::array_spawn_targetname_cg("enemy_rappel_squad_00",1,0.1); + } + + var_02 = common_scripts\utility::getstruct("csh_rappel_bridge_anim","targetname"); + foreach(var_04 in var_01) + { + var_04.animname = "rappeler2"; + var_04 thread boost_script_ender(); + var_04 thread turkey_boost_assist(); + var_02 thread maps\_anim::anim_single_solo(var_04,"turkey_shoot"); + wait 0.05; + var_04 setanimrate(%crash_turkey_shoot_rappeler2,2); + var_04 setgoalvolumeauto(var_00); + var_04 maps\_utility::set_allowdeath(1); + var_04.ignoresuppression = 1; + var_04.grenadeammo = 0; + } + + var_06 = maps\_utility::get_living_ai_array("zipper","script_noteworthy"); + var_04 = maps\_utility::get_living_ai("pod_rappel","script_noteworthy"); + if(isdefined(var_04)) + { + var_06 = common_scripts\utility::array_add(var_06,var_04); + } + + maps\_utility::waittill_dead(var_06); + maps\_utility::activate_trigger_with_targetname("ally_ice_bridge_run"); + wait(2); + if(!common_scripts\utility::flag("goliath_prep_fall")) + { + level.ilana thread maps\_utility::smart_radio_dialogue("crsh_iln_exitahead"); + } +} + +//Function Number: 65 +boost_script_ender() +{ + self endon("death"); + wait(6.5); + self stopanimscripted(); +} + +//Function Number: 66 +test_zipline() +{ + var_00 = getent("test_zipper_01","targetname"); + var_01 = animscripts\traverse\seoul_zipline::spawn_npc_and_use_scripted_zipline(var_00,"zipline_test_start"); + var_01.grenadeammo = 0; + wait(0.5); + var_00 = getent("test_zipper_02","targetname"); + var_02 = animscripts\traverse\seoul_zipline::spawn_npc_and_use_scripted_zipline(var_00,"zipline_test_start_02"); + var_02.grenadeammo = 0; +} + +//Function Number: 67 +rappel_vo_callouts() +{ + level endon("player_up_close"); + level.cormack maps\_utility::smart_radio_dialogue("crsh_crmk_openfire7"); +} + +//Function Number: 68 +cave_shake_effects() +{ + while(!common_scripts\utility::flag("drop_pod_shake_stop")) + { + screenshake(level.player.origin,5,4,6,0.75,0,0.25,1000,9,3,1); + level.player playrumbleonentity("damage_light"); + soundscripts\_snd::snd_message("drop_pod_screen_shake"); + wait(randomfloatrange(4,11)); + } +} + +//Function Number: 69 +big_cave_cleanup() +{ + common_scripts\utility::flag_wait("goliath_change_anim"); + var_00 = getent("vol_big_cave","targetname"); + var_01 = var_00 maps\_utility::get_ai_touching_volume("axis"); + foreach(var_03 in var_01) + { + if(var_03.script_noteworthy != "kool_aid") + { + if(maps\_utility::player_can_see_ai(var_03)) + { + var_03 thread magic_bullet_kill(); + continue; + } + + var_03 delete(); + } + } +} + +//Function Number: 70 +magic_bullet_kill() +{ + self kill(); +} + +//Function Number: 71 +begin_ice_bridge() +{ + thread ice_bridge_kill_fall(); + thread new_goliath_moment(); + thread goliath_dialog(); + thread new_cormack_bridge_anim(); + thread new_ilana_bridge_anim(); + common_scripts\utility::flag_set("goliath_exit_dot_start"); + common_scripts\utility::flag_wait("ice_bridge_done"); + maps\_utility::battlechatter_on("allies"); +} + +//Function Number: 72 +new_goliath_moment() +{ + common_scripts\utility::flag_wait("player_up_close"); + common_scripts\utility::flag_set("goliath_exit_dot_end"); + thread maps\crash_fx::goliath_entry_ice(); + maps\_utility::battlechatter_off("allies"); + level.player maps\_player_high_jump::disable_high_jump(); + level.player allowpowerslide(0); + level.player allowdodge(0); + level.player maps\crash_utility::disable_exo_melee(); + level.player allowmelee(0); + level.player disableoffhandweapons(); + level.player thread maps\_player_exo::player_exo_deactivate(); + thread new_golaith_anim(); + thread new_player_bridge_anim(); + thread bridge_collapse_anim(); +} + +//Function Number: 73 +new_golaith_anim() +{ + var_00 = common_scripts\utility::getstruct("csh_goliath_anim_node","targetname"); + var_01 = getent("kool_aid","targetname"); + var_02 = var_01 maps\_utility::spawn_ai(1); + var_02.ignoreme = 1; + var_02.ignoreall = 1; + var_02.health = 1000000; + var_02.animname = "goliath"; + level.goliath = var_02; + var_02 thread goliath_disable_threat(); + var_02 thread goliath_distance(); + var_03 = getent("test_player_node","targetname"); + level.smash_spot = common_scripts\utility::spawn_tag_origin(); + level.smash_spot.origin = var_02 gettagorigin("tag_sync"); + level.smash_spot.angles = var_02 gettagangles("tag_sync"); + level.smash_spot linkto(var_02,"tag_sync"); + thread player_knockdown(); + soundscripts\_snd::snd_message("goliath_land",var_02); + var_00 thread maps\_anim::anim_single_solo(var_02,"goliath_bridge_surprise"); + common_scripts\utility::flag_wait("goliath_change_anim"); + var_02 thread maps\_anim::anim_single_solo(var_02,"goliath_bridge_smash"); + self notify("bridge_stop_run_fx"); + var_04 = 1; + var_05 = 1; + var_06 = maps\_utility::spawn_anim_model("goliath_rig"); + var_06 maps\_anim::setanimtree(); + var_06 hide(); + var_00 maps\_anim::anim_first_frame_solo(var_06,"goliath_bridge_throw"); + var_07 = var_02 common_scripts\utility::spawn_tag_origin(); + var_02 linkto(var_07); + wait(var_05); + var_07 moveto(var_06.origin,var_04); + wait(var_04); + var_02 unlink(); + var_02 waittillmatch("end","single anim"); + common_scripts\utility::flag_set("friendlies_move"); + var_02 thread goliath_rocket_logic(); + thread goliath_pass(var_00,var_02); + var_00 maps\_anim::anim_single_solo(var_02,"goliath_bridge_throw"); + thread goliath_fail(var_00,var_02); +} + +//Function Number: 74 +goliath_disable_threat() +{ + common_scripts\utility::flag_wait("goliath_change_anim"); + self setthreatdetection("disable"); +} + +//Function Number: 75 +goliath_rocket_logic() +{ + self waittillmatch("fire_missiles","single anim"); + maps\crash_utility::mech_fire_rockets_special(level.ilana); + thread maps\crash_fx::bridge_soot(); +} + +//Function Number: 76 +goliath_fail(param_00,param_01) +{ + if(!common_scripts\utility::flag("start_reso_move")) + { + common_scripts\utility::flag_set("goliath_fail_flag"); + param_00 thread maps\_anim::anim_single_solo(param_01,"goliath_bridge_throw2"); + wait(3.5); + level.player kill(); + } +} + +//Function Number: 77 +goliath_pass(param_00,param_01) +{ + common_scripts\utility::flag_wait("cormack_throw_moment"); + param_00 thread maps\_anim::anim_single_solo(param_01,"goliath_bridge_explode"); + param_01 waittillmatch("bridge_explodes","single anim"); + common_scripts\utility::flag_set("bridge_explode"); + var_02 = maps\_utility::spawn_anim_model("ice_bridge_rock"); + var_03 = spawn("script_model",(0,0,0)); + var_03 setmodel("csh_ice_lrg_rock_01"); + var_03 linkto(var_02,"j_prop_1",(0,0,0),(0,0,0)); + param_00 thread maps\_anim::anim_loop_solo(var_02,"rock_collapse"); + param_01 setcontents(0); + param_01 waittillmatch("end","single anim"); + param_00 thread maps\_anim::anim_first_frame_solo(param_01,"goliath_bridge_death"); + param_01 disableaimassist(); +} + +//Function Number: 78 +goliath_explode_logic_timer() +{ + self waittillmatch("end","single anim"); + common_scripts\utility::flag_set("golaith_throw_anim_done"); +} + +//Function Number: 79 +new_player_bridge_anim() +{ + level.player endon("death"); + var_00 = common_scripts\utility::getstruct("csh_goliath_anim_node","targetname"); + var_01 = maps\_utility::spawn_anim_model("rig"); + var_01 hide(); + var_02 = maps\_utility::spawn_anim_model("ice_bridge_reso"); + var_02 hide(); + var_03 = maps\_utility::spawn_anim_model("ice_bridge_gun"); + var_03 hide(); + var_04 = level.scr_anim["ice_bridge_reso"]["reso_device_fall"]; + var_00 maps\_anim::anim_first_frame_solo(var_02,"reso_device_fall"); + common_scripts\utility::flag_wait("goliath_change_anim"); + if(isalive(level.player)) + { + setsaveddvar("ammoCounterHide",1); + setsaveddvar("actionSlotsHide",1); + level.player takeweapon("iw5_kvahazmatknife_sp"); + level.player setstance("stand"); + level.player allowcrouch(0); + level.player allowprone(0); + } + + var_01.origin = level.goliath gettagorigin("tag_sync"); + var_01.angles = level.goliath gettagangles("tag_sync"); + var_01 linkto(level.goliath,"tag_sync"); + common_scripts\utility::flag_set("start_smash"); + level.smash_spot thread maps\_anim::anim_single_solo(var_01,"player_bridge_smash"); + level.player disableweapons(); + level.player playerlinktoblend(var_01,"tag_player",0.25); + level.player thread watch_tappy_progress(); + wait(0.25); + level.player playrumblelooponentity("hijack_plane_medium"); + thread earthquake_notify_stop(0.2,0.5,level.player.origin,1000,0.5); + var_01 show(); + level.player playerlinktodelta(var_01,"tag_player",1,15,15,30,15,1); + var_01 waittillmatch("end","single anim"); + var_01 unlink(); + var_00 thread maps\_anim::anim_single_solo(var_01,"player_bridge_throw"); + level.player playerlinktodelta(var_01,"tag_player",1,0,0,0,0,1); + level.player stoprumble("hijack_plane_medium"); + level notify("stop_earthquake"); + thread pass_tappy(); + common_scripts\utility::flag_wait("friendlies_move"); + var_00 thread maps\_anim::anim_single_solo(var_02,"reso_device_fall"); + var_00 thread maps\_anim::anim_single_solo(var_03,"gun_fall"); + var_02 show(); + var_03 show(); + thread get_forward_movement(); + var_01 thread bridge_player_notetrack_handler(var_01); + thread goliath_handle_death(var_01,var_02); + thread goliath_player_rumbles(); + clearallcorpses(); + var_05 = level.scr_anim["rig"]["player_bridge_throw"]; + var_01 setflaggedanim("bridge_player",var_05,1,0,1); + var_01 setanimtime(var_05,0); + var_06 = 0; + var_07 = 0; + var_08 = 0; + while(var_06 < 1 && !common_scripts\utility::flag("cormack_throw_moment")) + { + wait(0.05); + if(var_07 <= 0) + { + var_07 = 0; + } + + if(common_scripts\utility::flag("waiting_for_input")) + { + var_07 = 0; + } + else + { + var_07 = 1; + } + + if(isalive(level.player)) + { + var_06 = var_01 getanimtime(var_05); + var_09 = var_02 getanimtime(var_04); + var_01 setflaggedanim("bridge_player",var_05,1,0,clamp(abs(var_07),0,1)); + var_02 setflaggedanim("bridge_player",var_04,1,0,clamp(abs(var_07),0,1)); + } + } + + level.player playrumbleonentity("damage_heavy"); + level notify("input_done"); + level notify("player_normal_movement"); + common_scripts\utility::flag_set("obj_reso_move_end"); + common_scripts\utility::flag_wait("bridge_explode"); + var_00 thread maps\_anim::anim_single_solo(var_02,"reso_device_explode"); + thread maps\crash_fx::bridge_explosion(); + level notify("end_upper_trigger"); + thread explosion_player_rumbles(); + level.narrow_animnode = common_scripts\utility::getstruct("csh_narrow_anim_node","targetname"); + var_00 maps\_anim::anim_single_solo(var_01,"player_bridge_explode"); + maps\_utility::stop_exploder(2978); + var_01 hide(); + common_scripts\utility::flag_set("crash_lighting_goliath_pit"); + level.player unlink(); + var_01 delete(); + level.player_weapons = level.player getweaponslistall(); + foreach(var_0B in level.player_weapons) + { + level.player givemaxammo(var_0B); + } + + level.player enableweapons(); + level.player allowcrouch(1); + level.player allowmelee(1); + if(!isdefined(level.player.water_depth)) + { + level.player allowprone(1); + } + + level.player maps\_player_high_jump::enable_high_jump(); + level.player allowpowerslide(1); + level.player allowdodge(1); + level.player maps\crash_utility::enable_exo_melee(); + level.player thread maps\_player_exo::player_exo_activate(); + setsaveddvar("ammoCounterHide",0); + setsaveddvar("actionSlotsHide",0); + thread narrow_cave_player(); +} + +//Function Number: 80 +pass_tappy() +{ + wait(1); + if(level.player.mech_grapple_tappy_pressed < 3) + { + level.player kill(); + } +} + +//Function Number: 81 +earthquake_notify_stop(param_00,param_01,param_02,param_03,param_04,param_05) +{ + if(!isdefined(param_05)) + { + param_05 = "stop_earthquake"; + } + + level notify(param_05); + level endon(param_05); + for(;;) + { + screenshake(level.player.origin,param_00,0,0,param_01,0,0,1000,0,0,param_04); + wait(param_01); + } +} + +//Function Number: 82 +goliath_handle_death(param_00,param_01) +{ + level endon("ice_bridge_done"); + level.player waittill("death"); + level.player unlink(); + param_00 delete(); + param_01 delete(); +} + +//Function Number: 83 +goliath_player_rumbles() +{ + wait(0.5); + level.player shellshock("crash_goliath_hit",1,undefined,undefined); + wait(1.5); + thread handle_rumble_and_screenshake(3,4,0.5,"",1000); + wait(2); + thread handle_rumble_and_screenshake(2,3,0.5,"",1000); + wait(1.2); + thread handle_rumble_and_screenshake(2,5,1,"",1000); + wait(1.25); + thread handle_rumble_and_screenshake(1,2,0.5,"",1000); + wait(0.75); + thread handle_rumble_and_screenshake(2,2,0.5,"",1000); + wait(3); + thread handle_rumble_and_screenshake(1,2,0.5,"",1000); +} + +//Function Number: 84 +explosion_player_rumbles() +{ + thread handle_rumble_and_screenshake(1,5,2,"hijack_plane_medium",1000); + wait(1.25); + thread handle_rumble_and_screenshake(1,4,0.5,"hijack_plane_medium",1000); + wait(1); + thread handle_rumble_and_screenshake(2,3,0.5,"",1000); + wait(4.5); + var_00 = getent("ice_bridge_fall_player","targetname"); + var_00 delete(); + var_01 = getent("ice_bridge_fall_other","targetname"); + var_01 delete(); + thread handle_rumble_and_screenshake(5,10,1.5,"hijack_plane_medium",1000); + wait(2.75); + level.player shellshock("crash_goliath_hit",3,undefined,undefined); + maps\_utility::lerp_fov_overtime(1,65); +} + +//Function Number: 85 +new_cormack_bridge_anim() +{ + var_00 = common_scripts\utility::getstruct("csh_goliath_anim_node","targetname"); + thread cormack_bridge_intro(var_00); + common_scripts\utility::flag_wait("player_up_close"); + var_00 notify("goliath_jump"); + wait(0.2); + level.cormack notify("stop personal effect"); + level.cormack maps\_utility::anim_stopanimscripted(); + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01.origin = level.cormack.origin; + var_01.angles = (0,210,0); + var_01 thread maps\_anim::anim_single_solo(level.cormack,"cormack_bridge_surprise"); + level.cormack maps\_utility::forceuseweapon("iw5_maul_sp","primary"); + common_scripts\utility::flag_wait("friendlies_move"); + var_01 delete(); + var_00 thread maps\_anim::anim_single_solo(level.cormack,"cormack_bridge_smash"); + wait(14); + level.cormack maps\_utility::forceuseweapon("iw5_titan45_sp","primary"); + common_scripts\utility::flag_wait_any("cormack_throw_moment","goliath_fail_flag"); + if(common_scripts\utility::flag("cormack_throw_moment")) + { + var_00 thread maps\_anim::anim_single_solo(level.cormack,"cormack_bridge_throw"); + } + else + { + var_00 thread maps\_anim::anim_single_solo(level.cormack,"cormack_bridge_throw2"); + } + + common_scripts\utility::flag_wait("bridge_explode"); + level.cormack maps\_utility::forceuseweapon("iw5_bal27_sp","primary"); + level.cormack.lastweapon = level.cormack.weapon; + var_00 maps\_anim::anim_single_solo(level.cormack,"friendly_bridge_explode"); + level.cormack thread narrow_cave_cormack(); +} + +//Function Number: 86 +cormack_bridge_intro(param_00) +{ + level endon("player_up_close"); +} + +//Function Number: 87 +new_ilana_bridge_anim() +{ + var_00 = common_scripts\utility::getstruct("csh_goliath_anim_node","targetname"); + common_scripts\utility::flag_wait("friendlies_move"); + level.ilana notify("stop personal effect"); + var_00 maps\_anim::anim_single_solo(level.ilana,"ilana_bridge_throw"); + common_scripts\utility::flag_wait("bridge_explode"); + var_00 maps\_anim::anim_single_solo(level.ilana,"friendly_bridge_explode"); + thread maps\_utility::autosave_by_name("ice_bridge_done"); + common_scripts\utility::flag_set("ice_bridge_done"); + level.ilana thread narrow_cave_ilana(); +} + +//Function Number: 88 +new_reso_anim() +{ + var_00 = common_scripts\utility::getstruct("csh_goliath_anim_node","targetname"); + var_01 = maps\_utility::spawn_anim_model("ice_bridge_reso"); + var_01 hide(); + var_02 = level.scr_anim["ice_bridge_reso"]["reso_device_fall"]; + var_00 maps\_anim::anim_first_frame_solo(var_01,"reso_device_fall"); + common_scripts\utility::flag_wait("friendlies_move"); + var_00 thread maps\_anim::anim_single_solo(var_01,"reso_device_fall"); + var_01 show(); + var_01 waittillmatch("end","single anim"); + var_00 maps\_anim::anim_single_solo(var_01,"reso_device_explode"); +} + +//Function Number: 89 +bridge_player_notetrack_handler(param_00) +{ + level.player endon("death"); + level endon("input_done"); + for(;;) + { + self waittill("bridge_player",var_01); + if(isalive(level.player)) + { + switch(var_01) + { + case "unhide_reso_device": + level notify("show_reso_device"); + break; + + case "wait_for_player_input": + common_scripts\utility::flag_set("waiting_for_input"); + level.input_bool = 1; + level.player playerlinktodelta(param_00,"tag_player",1,5,5,35,5,1); + thread handle_rumble_and_screenshake(1,3,0.5,"",100); + common_scripts\utility::flag_set("obj_reso_move_start"); + break; + + case "wait_for_player_to_hit_x": + common_scripts\utility::flag_set("waiting_for_input"); + level notify("player_normal_movement"); + wait 0.05; + level.player notify("grab_device"); + common_scripts\utility::flag_set("start_reso_move"); + common_scripts\utility::flag_clear("waiting_for_input"); + common_scripts\utility::flag_set("goliath_dof_set"); + level.player playerlinktodelta(param_00,"tag_player",1,15,15,35,5,1); + common_scripts\utility::flag_set("cormack_throw_moment"); + break; + + case "start_reso_detonation_sequence": + break; + } + } + } +} + +//Function Number: 90 +get_x_button() +{ + level.player notifyonplayercommand("grab_device","+usereload"); + thread get_forward_movement_grab(); + thread input_hint_use(0.25); + level.player waittill("grab_device"); + level notify("stop_hint"); + maps\_utility::hint_fade(); + common_scripts\utility::flag_set("start_reso_move"); + common_scripts\utility::flag_clear("waiting_for_input"); +} + +//Function Number: 91 +get_forward_movement_grab() +{ + wait 0.05; + level.player endon("grab_device"); + for(;;) + { + var_00 = level.player getnormalizedmovement(); + var_01 = var_00[0]; + if(var_01 > 0) + { + level.player notify("grab_device"); + break; + } + + wait 0.05; + } +} + +//Function Number: 92 +bridge_collapse_anim() +{ + common_scripts\utility::flag_wait("friendlies_move"); + var_00 = getent("ice_bridge_model","targetname"); + var_00.animname = "goliath_ice_bridge"; + var_00 maps\_anim::setanimtree(); + var_01 = common_scripts\utility::getstruct("csh_goliath_anim_node","targetname"); + var_01 maps\_anim::anim_single_solo(var_00,"bridge_throw"); + common_scripts\utility::flag_wait("bridge_explode"); + var_02 = getentarray("ice_bridge_init","targetname"); + foreach(var_04 in var_02) + { + var_04 delete(); + } + + thread maps\crash_fx::bridge_chunks(); + thread maps\crash_fx::bridge_screenfx(); + thread maps\crash_fx::far_explode(); + var_01 maps\_anim::anim_single_solo(var_00,"bridge_collapse"); +} + +//Function Number: 93 +goliath_dialog() +{ + common_scripts\utility::flag_wait("FLAG_caves_goliath"); + common_scripts\_exploder::exploder(2978); + common_scripts\utility::flag_set("drop_pod_shake_stop"); + common_scripts\utility::flag_wait("player_up_close"); + wait(1); + level.ilana maps\_utility::smart_dialogue("crsh_iln_watchout3"); + level.cormack maps\_utility::smart_dialogue("crsh_crmk_ast2"); + common_scripts\utility::flag_wait("start_smash"); + level.ilana maps\_utility::smart_dialogue("crsh_iln_gotmitch"); + wait(1); + level.ilana maps\_utility::smart_dialogue("crsh_iln_watchfire2"); + level.cormack maps\_utility::smart_dialogue("crsh_crmk_donthaveshot"); + common_scripts\utility::flag_wait("friendlies_move"); + wait(3); + level.ilana maps\_utility::smart_dialogue("crsh_iln_mitchelllll"); + wait(1); + level.cormack maps\_utility::smart_dialogue("crsh_crmk_getdown8"); + wait(3); + level.cormack maps\_utility::smart_dialogue("crsh_crmk_blowbridge"); + wait(3.8); + level.cormack maps\_utility::smart_dialogue("crsh_crmk_aaaaaaaah"); + common_scripts\utility::flag_wait("bridge_explode"); + wait(1); + level.ilana maps\_utility::smart_dialogue("crsh_iln_cormackkkk"); + level.ilana maps\_utility::smart_dialogue("crsh_iln_holdon9"); + level.ilana maps\_utility::smart_dialogue("crsh_iln_gotyou2"); + wait(3); + wait(0.25); + level.cormack maps\_utility::smart_dialogue("crsh_crmk_aaahhh"); + wait(12); +} + +//Function Number: 94 +watch_tappy_progress() +{ + self endon("death"); + self endon("bridge_explode"); + self notifyonplayercommand("mech_tappy_button_pressed","+usereload"); + self notifyonplayercommand("mech_tappy_button_pressed","+activate"); + self.mech_grapple_tappy_pressed = 0; + thread maps\_utility::hintdisplayhandler("player_tappy_gamepad"); + for(;;) + { + self waittill("mech_tappy_button_pressed"); + self.mech_grapple_tappy_pressed++; + } +} + +//Function Number: 95 +should_break_tappy_hint() +{ + return common_scripts\utility::flag("friendlies_move"); +} + +//Function Number: 96 +ice_bridge_kill_fall() +{ + level endon("start_smash"); + common_scripts\utility::flag_wait("FLAG_ice_bridge_kill_player"); + setdvar("ui_deadquote",&"CRASH_FAIL_FALL"); + maps\_utility::missionfailedwrapper(); + level.player thread maps\_player_exo::player_exo_deactivate(); +} + +//Function Number: 97 +player_knockdown() +{ + soundscripts\_snd::snd_message("player_knockdown"); + level.player setmovespeedscale(0.4); + level.player allowjump(0); + level.player allowsprint(0); + wait(1.23); + level.player playrumbleonentity("damage_heavy"); + screenshake(level.player.origin,2,1,1,0.75,0,0.25,1000,9,3,1); + wait(1); + level.player playrumbleonentity("heavy_2s"); + level.player setmovespeedscale(0.05); + screenshake(level.player.origin,6.5,4,4,0.75,0,0.5,1000,9,3,1); + wait(1); + level.player setmovespeedscale(0.4); + level.player screenshakeonentity(5,2,2,3,2,0.5,100,6,2,1); + common_scripts\utility::flag_wait("goliath_change_anim"); + level.player setmovespeedscale(1); + level.player allowjump(1); + level.player allowsprint(1); +} + +//Function Number: 98 +goliath_distance() +{ + self endon("death"); + var_00 = self; + var_01 = var_00.origin; + var_02 = level.player.origin; + var_03 = distance2d(var_01,var_02); + var_04 = 74; + while(var_03 > var_04) + { + var_01 = var_00.origin; + var_02 = level.player.origin; + var_03 = distance2d(var_01,var_02); + var_04 = var_04 + 1; + wait 0.05; + } + + common_scripts\utility::flag_set("goliath_change_anim"); +} + +//Function Number: 99 +get_forward_movement() +{ + level endon("player_normal_movement"); + level.input_bool = 0; + var_00 = 0; + var_01 = 2; + for(;;) + { + var_02 = level.player getnormalizedmovement(); + var_00 = var_02[0]; + while(var_00 <= 0) + { + var_02 = level.player getnormalizedmovement(); + var_00 = var_02[0]; + if(level.input_bool) + { + level thread input_hint(var_01); + level.input_bool = 0; + } + + wait(0.05); + } + + level notify("stop_hint"); + level thread maps\_utility::hint_fade(); + level.input_bool = 0; + var_01 = 5; + common_scripts\utility::flag_clear("waiting_for_input"); + wait(0.05); + } +} + +//Function Number: 100 +input_hint(param_00) +{ + level endon("player_normal_movement"); + level endon("stop_hint"); + wait(param_00); + maps\_utility::hintdisplayhandler("player_move_gamepad"); +} + +//Function Number: 101 +should_break_move_hint() +{ + return level.player getnormalizedmovement()[0] > 0.25 || level.player getnormalizedmovement()[1] > 0.25; +} + +//Function Number: 102 +input_hint_use(param_00) +{ + level.player endon("grab_device"); + level endon("stop_hint"); + wait(param_00); + level thread maps\_utility::hint("Press ^3[{+usereload}]^7",5); +} + +//Function Number: 103 +handle_rumble_and_screenshake(param_00,param_01,param_02,param_03,param_04) +{ + if(!isdefined(param_03) || isdefined(param_03) && param_03 == "") + { + param_03 = "damage_heavy"; + } + + level.player playrumbleonentity(param_03); +} + +//Function Number: 104 +begin_narrow_cave() +{ + var_00 = getent("nc_behind_ilona","targetname"); + var_00 common_scripts\utility::trigger_off(); + var_01 = getent("nc_behind_ilona_2","targetname"); + var_01 common_scripts\utility::trigger_on(); + level.narrow_animnode = common_scripts\utility::getstruct("csh_narrow_anim_node","targetname"); + level.cave_water_origin = getent("narrow_cave_origin_underwater","script_noteworthy"); + maps\_utility::battlechatter_off("allies"); + soundscripts\_snd::snd_music_message("narrow_cave"); + if(level.start_point == "narrow_cave") + { + level.cormack thread narrow_cave_cormack(); + level.ilana thread narrow_cave_ilana(); + thread narrow_cave_player(); + } + + thread narrow_cave_drop_pod(); + thread narrow_cave_cave_in(); + thread narrow_cave_jump_out_fail(); + common_scripts\utility::flag_wait("narrow_cave_done"); +} + +//Function Number: 105 +narrow_cave_jump_out_fail() +{ + level endon("narrow_cave_done"); + common_scripts\utility::flag_clear("FLAG_narrow_cave_backtrack"); + common_scripts\utility::flag_wait("FLAG_narrow_cave_backtrack"); + setdvar("ui_deadquote",&"CRASH_FAIL_CARGO"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 106 +narrow_cave_cormack() +{ + thread maps\_water::watchaienterwater(self); + level.cormack_pick = spawn("script_model",level.cormack gettagorigin("tag_stowed_back")); + level.cormack_pick.angles = level.cormack gettagangles("tag_stowed_back"); + level.cormack_pick linkto(level.cormack,"tag_stowed_back"); + level.cormack_pick setmodel("weapon_ice_picker_arctic"); + level.ice_axe = maps\_utility::spawn_anim_model("ice_axe_scripted"); + level.narrow_animnode thread maps\_anim::anim_first_frame_solo(level.ice_axe,"narrowcave_water_breach"); + level.ice_axe hide(); + thread narrow_cave_cormack_teleport_monitor(); + anim_with_teleport("cormack_can_teleport1","narrowcave_search",0.9); + common_scripts\utility::flag_set("narrow_cave_dot_start"); + if(!common_scripts\utility::flag("narrow_cave_enter") && !common_scripts\utility::flag("cormack_can_teleport1")) + { + anim_with_teleport("cormack_can_teleport1","narrowcave_search_enter",0.9); + if(!common_scripts\utility::flag("start_narrow_cave") && !common_scripts\utility::flag("cormack_can_teleport1")) + { + level.narrow_animnode thread maps\_anim::anim_loop_solo(self,"narrowcave_search_idle","stop_cormack_loop"); + } + + common_scripts\utility::flag_wait("start_narrow_cave"); + level.narrow_animnode notify("stop_cormack_loop"); + if(!common_scripts\utility::flag("cormack_can_teleport1")) + { + anim_with_teleport("cormack_can_teleport1","narrowcave_search_exit",0.9); + } + } + else if(!common_scripts\utility::flag("cormack_can_teleport1")) + { + anim_with_teleport("cormack_can_teleport1","narrowcave_search_traverse_sec1",0.9); + } + + var_00 = getanimlength(maps\_utility::getanim("narrowcave_traverse_sec1")); + maps\_utility::delaythread(var_00 * 0.64,::common_scripts\utility::flag_set,"cormack_traverse_sec_1"); + anim_with_teleport("cormack_can_teleport2","narrowcave_traverse_sec1",0.9); + if(!common_scripts\utility::flag("narrow_cave_start_2") && !common_scripts\utility::flag("cormack_can_teleport2")) + { + anim_with_teleport("cormack_can_teleport2","narrowcave_sec2_enter",0.9); + if(!common_scripts\utility::flag("narrow_cave_start_2") && !common_scripts\utility::flag("cormack_can_teleport2")) + { + level.narrow_animnode thread maps\_anim::anim_loop_solo(self,"narrowcave_sec2_idle","stop_cormack_loop"); + } + + common_scripts\utility::flag_wait("narrow_cave_start_2"); + level.narrow_animnode notify("stop_cormack_loop"); + if(!common_scripts\utility::flag("cormack_can_teleport2")) + { + anim_with_teleport("cormack_can_teleport2","narrowcave_sec2_exit",0.9); + } + } + else if(!common_scripts\utility::flag("cormack_can_teleport2")) + { + anim_with_teleport("cormack_can_teleport2","narrowcave_sec1_traverse_sec2",0.9); + } + + anim_with_teleport("cormack_can_teleport3","narrowcave_sec2_traverse_floodroom",0.9); + common_scripts\utility::flag_set("cormack_in_chamber"); + if(!common_scripts\utility::flag("cave_in") && !common_scripts\utility::flag("cormack_can_teleport3")) + { + level.narrow_animnode thread maps\_anim::anim_loop_solo(self,"narrowcave_floodroom_idle","stop_cormack_loop"); + } + + common_scripts\utility::flag_wait("cave_in"); + level.narrow_animnode notify("stop_cormack_loop"); + thread narrow_cave_cormack_cave_in_dialogue(); + anim_with_teleport("cormack_can_teleport3","narrowcave_floodroom_break_to_breach",0.9); + if(!common_scripts\utility::flag("narrow_cave_exiting_tunnel") && !common_scripts\utility::flag("cormack_can_teleport3")) + { + level.narrow_animnode thread maps\_anim::anim_loop_solo(self,"narrowcave_pre_breach_idle","stop_cormack_loop"); + common_scripts\utility::flag_set("cormack_breach_loop"); + } + + common_scripts\utility::flag_wait("narrow_cave_exiting_tunnel"); + self.ignoreall = 1; + self.allowpain = 0; + self.ignoresuppression = 1; + level.narrow_animnode notify("stop_cormack_loop"); + var_01 = undefined; + if(common_scripts\utility::flag("cormack_can_teleport3")) + { + level.narrow_animnode thread maps\_anim::anim_single_solo(self,"narrowcave_floodroom_break_to_breach"); + if(isdefined(self.helmet_open) && self.helmet_open == 1) + { + thread maps\crash_utility::cormack_helmet_close(self); + } + + wait(0.15); + self setanimtime(maps\_utility::getanim("narrowcave_floodroom_break_to_breach"),0.62); + self waittillmatch("end","single anim"); + } + + level.narrow_animnode thread maps\_anim::anim_single_solo(self,"narrowcave_water_breach"); + level.narrow_animnode thread maps\_anim::anim_single_solo(level.ice_axe,"narrowcave_water_breach"); + self waittillmatch("start_ilona_breach_anim","single anim"); + common_scripts\utility::flag_set("start_ilona_breach"); + self waittillmatch("end","single anim"); + level.narrow_animnode maps\_anim::anim_single_solo(self,"narrowcave_water_breach_fire"); + self.ignoreall = 0; + maps\_utility::disable_cqbwalk(); + var_02 = common_scripts\utility::spawn_tag_origin(); + self setgoalentity(var_02); + common_scripts\utility::flag_wait("narrow_cave_done"); + level.narrow_animnode maps\_anim::anim_single_solo(self,"narrowcave_water_breach_mantle"); + self.allowpain = 1; + self.ignoresuppression = 0; + maps\_utility::enable_ai_color(); + if(isdefined(var_01)) + { + var_01 delete(); + } + + var_02 delete(); + self notify("watchAIEnterWater"); +} + +//Function Number: 107 +no_interp() +{ + while(!common_scripts\utility::flag("narrow_cave_done")) + { + self dontinterpolate(); + wait(0.05); + } +} + +//Function Number: 108 +narrow_cave_cormack_cave_in_dialogue() +{ + wait(6); + if(!common_scripts\utility::flag("cormack_can_teleport3")) + { + level.cormack maps\_utility::smart_dialogue("crsh_crmk_seelight"); + } + + if(!common_scripts\utility::flag("narrow_cave_exiting_tunnel")) + { + common_scripts\utility::flag_set("narrow_cave_dot_update"); + } + + wait(3); + if(!common_scripts\utility::flag("ilona_can_teleport4") && !common_scripts\utility::flag("narrow_cave_exiting_tunnel") && !isdefined(level.player.underwater)) + { + level.ilana maps\_utility::smart_dialogue("crsh_iln_swimdown"); + } + + if(!common_scripts\utility::flag("narrow_cave_exiting_tunnel")) + { + common_scripts\utility::flag_set("narrow_cave_hint"); + } +} + +//Function Number: 109 +narrow_cave_swap_axe(param_00) +{ + level.ice_axe show(); + level.cormack_pick delete(); + level.ice_axe thread ice_axe_delete_special(); + level.breach_enemy_6 waittillmatch("axe_impact","single anim"); + wait(0.36); + playfxontag(common_scripts\utility::getfx("blood_impact_burst"),level.ice_axe,"tag_fx"); + level.breach_enemy_6 waittillmatch("end","single anim"); + level.breach_enemy_6.skipdeathanim = 1; + level.breach_enemy_6.a.nodeath = 1; + level.breach_enemy_6.forceragdollimmediate = 1; + level.breach_enemy_6 thread maps\_utility::stop_magic_bullet_shield(); + wait 0.05; + level.breach_enemy_6 kill(); + common_scripts\utility::flag_wait("combat_cave_done"); + if(isdefined(level.ice_axe)) + { + level.ice_axe delete(); + } +} + +//Function Number: 110 +ice_axe_delete_special() +{ + level endon("combat_cave_done"); + for(;;) + { + if(issaverecentlyloaded()) + { + if(isdefined(level.ice_axe)) + { + level.ice_axe delete(); + } + } + + wait(0.05); + } +} + +//Function Number: 111 +narrow_cave_cormack_teleport_monitor() +{ + common_scripts\utility::flag_wait("player_in_narrow_cave"); + if(!level.player worldpointinreticle_circle(self.origin,65,300)) + { + common_scripts\utility::flag_set("cormack_can_teleport1"); + } + + common_scripts\utility::flag_wait("narrow_cave_in_chamber"); + if(!level.player worldpointinreticle_circle(self.origin,65,300)) + { + common_scripts\utility::flag_set("cormack_can_teleport2"); + } + + common_scripts\utility::flag_wait("narrow_cave_exiting_tunnel"); + if(!level.player worldpointinreticle_circle(self.origin,65,300)) + { + common_scripts\utility::flag_set("cormack_can_teleport3"); + } +} + +//Function Number: 112 +narrow_cave_ilana() +{ + thread maps\_water::watchaienterwater(self); + if(level.start_point != "narrow_cave") + { + thread maps\crash_fx::cold_breath(); + } + + thread narrow_cave_ilana_teleport_monitor(); + anim_with_teleport("ilona_can_teleport2","narrowcave_search",0.9); + if(!common_scripts\utility::flag("ilona_can_teleport2") && !common_scripts\utility::flag("narrow_cave_ilona_start_2")) + { + level.narrow_animnode thread maps\_anim::anim_loop_solo(self,"narrowcave_search_idle","stop_ilona_loop"); + } + + common_scripts\utility::flag_wait("narrow_cave_ilona_start_2"); + level.narrow_animnode notify("stop_ilona_loop"); + anim_with_teleport("ilona_can_teleport2","narrowcave_search_traverse_sec1",0.8); + if(!common_scripts\utility::flag("move_to_bottleneck_ilona")) + { + level.narrow_animnode thread maps\_anim::anim_loop_solo(self,"narrowcave_sec1_idle","stop_ilona_loop"); + } + + common_scripts\utility::flag_wait("move_to_bottleneck_ilona"); + level.narrow_animnode notify("stop_ilona_loop"); + anim_with_teleport("ilona_can_teleport2","narrowcave_sec1_traverse_sec2",0.9); + if(!common_scripts\utility::flag("narrow_cave_in_chamber")) + { + level.narrow_animnode thread maps\_anim::anim_loop_solo(self,"narrowcave_sec2_idle","stop_ilona_loop"); + } + + if(!common_scripts\utility::flag("narrow_cave_in_chamber")) + { + var_00 = getent("nc_behind_ilona","targetname"); + var_00 common_scripts\utility::trigger_on(); + } + + common_scripts\utility::flag_wait("narrow_cave_in_chamber"); + wait(1.5); + level.narrow_animnode notify("stop_ilona_loop"); + anim_with_teleport("ilona_can_teleport4","narrowcave_sec2_traverse_floodroom",0.7); + common_scripts\utility::flag_set("ilana_in_chamber"); + if(!common_scripts\utility::flag("narrow_cave_in_chamber")) + { + var_01 = getent("nc_behind_ilona_2","targetname"); + var_01 common_scripts\utility::trigger_on(); + } + + var_02 = undefined; + if(!common_scripts\utility::flag("cave_in")) + { + var_02 = common_scripts\utility::spawn_tag_origin(); + self setgoalentity(var_02); + } + + common_scripts\utility::flag_wait("cave_in"); + if(!common_scripts\utility::flag("ilona_can_teleport4") && !common_scripts\utility::flag("narrow_cave_exiting_tunnel")) + { + anim_with_teleport("ilona_can_teleport4","narrowcave_break_to_idle_floodroom",0.9); + } + + if(!common_scripts\utility::flag("ilona_can_teleport4") && !common_scripts\utility::flag("narrow_cave_exiting_tunnel")) + { + level.narrow_animnode thread maps\_anim::anim_loop_solo(self,"narrowcave_idle_floodroom","stop_ilona_loop"); + } + + common_scripts\utility::flag_wait("narrow_cave_exiting_tunnel"); + level.narrow_animnode notify("stop_ilona_loop"); + self.ignoreall = 1; + self.allowpain = 0; + self.ignoresuppression = 1; + anim_with_teleport("start_ilona_breach","narrowcave_floodroom_to_breach",0.9); + if(!common_scripts\utility::flag("start_ilona_breach")) + { + level.narrow_animnode thread maps\_anim::anim_loop_solo(self,"narrowcave_pre_breach_idle","stop_ilona_loop"); + } + + common_scripts\utility::flag_wait("start_ilona_breach"); + level.narrow_animnode notify("stop_ilona_loop"); + level.narrow_animnode maps\_anim::anim_single_solo(self,"narrowcave_water_breach"); + level.narrow_animnode maps\_anim::anim_single_solo(self,"narrowcave_water_breach_fire"); + self.ignoreall = 0; + maps\_utility::disable_cqbwalk(); + var_03 = common_scripts\utility::spawn_tag_origin(); + self setgoalentity(var_03); + common_scripts\utility::flag_wait("narrow_cave_done"); + level.narrow_animnode maps\_anim::anim_single_solo(self,"narrowcave_water_breach_mantle"); + self.allowpain = 1; + self.ignoresuppression = 0; + maps\_utility::enable_ai_color(); + if(isdefined(var_02)) + { + var_02 delete(); + } + + var_03 delete(); + self notify("watchAIEnterWater"); +} + +//Function Number: 113 +narrow_cave_ilana_teleport_monitor() +{ + common_scripts\utility::flag_wait("narrow_cave_in_chamber"); + if(!level.player worldpointinreticle_circle(self.origin,65,300)) + { + common_scripts\utility::flag_set("ilona_can_teleport2"); + } + + common_scripts\utility::flag_wait("narrow_cave_exiting_tunnel"); + if(!level.player worldpointinreticle_circle(self.origin,65,300)) + { + common_scripts\utility::flag_set("ilona_can_teleport4"); + } +} + +//Function Number: 114 +anim_with_teleport(param_00,param_01,param_02) +{ + level.narrow_animnode thread maps\_anim::anim_single_solo(self,param_01); + while(!common_scripts\utility::flag(param_00) && self getanimtime(maps\_utility::getanim(param_01)) < param_02) + { + wait(0.05); + } + + if(self getanimtime(maps\_utility::getanim(param_01)) >= param_02) + { + self waittillmatch("end","single anim"); + } +} + +//Function Number: 115 +narrow_cave_player() +{ + level.underwater_visionset_callback = ::nc_underwater_visionset_change; + level.water_allow_sprint = 0; + thread underwater_objective_hack(); + level.player_breath_amount_use_rate = 1.333333; + wait(0.25); + level.player allowsprint(0); + wait(1.25); + common_scripts\utility::flag_wait("narrow_cave_enter"); + thread maps\crash_utility::exo_temp_narrow_cave(); + common_scripts\utility::flag_wait("narrow_cave_in_chamber"); + thread player_swim_hint(); + maps\_utility::array_spawn_function_targetname("underwater_breach_enemies",::narrow_cave_enemies); + level.breach_guys = maps\_utility::array_spawn_targetname("underwater_breach_enemies",1); + common_scripts\utility::flag_wait("narrow_cave_exiting_tunnel"); + thread maps\_shg_utility::disable_features_entering_cinema(1); + level.player allowswim(0); + if(isdefined(level.player.swimming_arms)) + { + level.player.swimming_arms hide(); + } + + common_scripts\utility::flag_set("player_starting_uw_breach"); + common_scripts\utility::flag_set("lighting_uw_breach_dof"); + common_scripts\utility::flag_set("narrow_cave_dot_end"); + var_00 = maps\_utility::spawn_anim_model("rig"); + var_00 hide(); + level.player allowfire(0); + level.player allowads(0); + level.player allowjump(0); + level.player allowmelee(0); + var_01 = level.player getcurrentprimaryweapon(); + level.player disableoffhandweapons(); + level.player disableweapons(); + level.player disableweaponswitch(); + level.player allowstand(1); + level.player allowcrouch(0); + level.player allowprone(0); + level.player.player_breath_amount = 100; + thread maps\_utility::autosave_by_name("crawl_completed"); + level.swim_end_hide_viewarms = 1; + level.narrow_animnode thread maps\_anim::anim_single_solo(var_00,"narrowcave_water_breach_enter"); + level.player playerlinktoblend(var_00,"tag_player",1.1); + wait(0.6); + level.player playerlinktodelta(var_00,"tag_player",0,18,15,10,10,1); + wait(0.5); + var_00 show(); + var_02 = getanimlength(var_00 maps\_utility::getanim("narrowcave_water_breach_enter")); + wait(var_02 - 1.7); + if(common_scripts\utility::flag("cormack_breach_ready") || common_scripts\utility::flag("cormack_breach_loop")) + { + level.player lerpviewangleclamp(0.5,0.25,0,0,0,0,0); + } + + var_00 waittillmatch("end","single anim"); + level.player thread maps\_swim_player::disable_player_swim(); + setsaveddvar("cg_drawCrosshair","0"); + setsaveddvar("ammoCounterHide","1"); + level.player waittill("viewmodel_swim_animations_loop"); + level.player hideviewmodel(); + if(!issubstr(var_01,"hbra3")) + { + level.player disableweapons(); + } + + if(!common_scripts\utility::flag("cormack_breach_ready") && !common_scripts\utility::flag("cormack_breach_loop")) + { + level.narrow_animnode thread maps\_anim::anim_loop_solo(var_00,"narrowcave_water_breach_idle","stop_rig_loop"); + common_scripts\utility::flag_wait("zero_breach_view"); + level.player lerpviewangleclamp(0.5,0.25,0,0,0,0,0); + } + + common_scripts\utility::flag_wait("cormack_breach_ready"); + level.narrow_animnode notify("stop_rig_loop"); + level.narrow_animnode thread maps\_anim::anim_single_solo(var_00,"narrowcave_water_breach"); + var_00 hide(); + var_03 = getnotetracktimes(var_00 maps\_utility::getanim("narrowcave_water_breach_old"),"gun_up"); + var_02 = getanimlength(var_00 maps\_utility::getanim("narrowcave_water_breach_old")); + var_04 = var_02 * var_03[0]; + thread move_to_cave_combat(var_04); + if(issubstr(var_01,"hbra3")) + { + level.player setviewmodelanim("crash_narrowcave_water_breach_player"); + level.player showviewmodel(); + } + + thread narrow_cave_player_allows(); + wait(var_04); + if(!issubstr(var_01,"hbra3")) + { + thread narrowcave_player_breach_weapon_enable(); + } + + setsaveddvar("cg_drawCrosshair","1"); + setsaveddvar("ammoCounterHide","0"); + common_scripts\_exploder::exploder(7000); + thread exo_temp_breach(); + level.player allowstand(1); + level.player setstance("stand"); + soundscripts\_snd::snd_message("start_water_breach"); + thread end_slow_mo(); + level.player enableinvulnerability(); + level.player setmovespeedscale(0.2); + var_00 waittillmatch("end","single anim"); + level.player setmovespeedscale(1); + level.player unlink(); + thread maps\_shg_utility::enable_features_exiting_cinema(1); + var_00 delete(); + level.swim_end_hide_viewarms = undefined; + level.player enableweaponswitch(); + level.player allowmelee(1); + level.player enableoffhandweapons(); + level.player allowstand(1); + level.player allowcrouch(1); + level.player allowprone(1); + common_scripts\utility::flag_wait("narrow_cave_done"); + level.player allowjump(1); + level.player allowsprint(1); + level.water_allow_sprint = undefined; + wait 0.05; + level.player setmovespeedscale(1); + thread maps\_utility::autosave_by_name("breach_done"); +} + +//Function Number: 116 +narrowcave_player_breach_weapon_enable() +{ + wait(0.5); + level.player enableweapons(); + level.player showviewmodel(); +} + +//Function Number: 117 +narrow_cave_player_allows() +{ + wait(6.3); + common_scripts\utility::flag_set("player_can_aim"); + level.player allowfire(1); + level.player allowads(1); +} + +//Function Number: 118 +nc_underwater_visionset_change(param_00) +{ + if(param_00) + { + var_01 = 1; + level.player maps\_utility::vision_set_fog_changes("crash_narrow_cave_underwater_02",0.5); + if(!common_scripts\utility::flag("csh_lighting_ice_caves_02")) + { + level.lightset_current = "crash_post_goliath"; + } + else + { + level.lightset_current = "crash_ice_caves_02"; + } + + level.player setclutforplayer("clut_crash_underwater",0.5); + maps\_water::set_light_set_for_player("crash_lake_fallin_02"); + playfx(common_scripts\utility::getfx("water_screen_plunge"),self.origin); + self setwatersheeting(0); + maps\_water::setunderwateraudiozone(); + self playlocalsound("underwater_enter"); + return; + } + + maps\_water::revertvisionsetforplayer(0); + if(isdefined(level.lightset_previous)) + { + maps\_water::set_light_set_for_player(level.lightset_previous); + } + + level.player setclutforplayer("clut_crash_overlook",0.5); + self setwatersheeting(0); + maps\_water::clearunderwateraudiozone(); + self playlocalsound("underwater_exit"); +} + +//Function Number: 119 +underwater_objective_hack() +{ + level endon("narrow_cave_exiting_tunnel"); + for(;;) + { + if(isdefined(level.player.underwater) && level.player.underwater == 1) + { + wait(0.1); + setsaveddvar("compass","1"); + } + + wait(0.05); + } +} + +//Function Number: 120 +player_swim_hint() +{ + common_scripts\utility::flag_wait("narrow_cave_hint"); + if(!isdefined(level.player.swimming) || isdefined(level.player.swimming) && level.player.swimming != "underwater") + { + level.player maps\_utility::hintdisplayhandler("player_crouch_gamepad"); + } + + while(!isdefined(level.player.swimming) && level.player getstance() != "crouch") + { + wait(0.05); + } + + if(!common_scripts\utility::flag("narrow_cave_exiting_tunnel") && level.player getnormalizedmovement()[0] < 0.1 || level.player getnormalizedmovement()[1] < 0.1) + { + wait(1.5); + } + + if(!common_scripts\utility::flag("narrow_cave_exiting_tunnel") && level.player getnormalizedmovement()[0] < 0.1 || level.player getnormalizedmovement()[1] < 0.1) + { + level.player maps\_utility::hintdisplayhandler("player_swim_gamepad"); + } +} + +//Function Number: 121 +should_break_crouch_hint() +{ + return level.player getstance() == "crouch" || isdefined(level.player.swimming) && level.player.swimming == "underwater"; +} + +//Function Number: 122 +should_break_swim_hint() +{ + return isdefined(level.player.swimming) && level.player getnormalizedmovement()[0] > 0.25 || level.player getnormalizedmovement()[1] > 0.25; +} + +//Function Number: 123 +exo_temp_breach() +{ + wait(0.75); + level.player thread maps\crash_exo_temperature::set_external_temperature_over_time(level.temperature_indoor,1.5); + level.player thread maps\crash_exo_temperature::set_exo_temperature_over_time(level.exo_max,1.5); + level.player thread maps\crash_exo_temperature::set_operator_temperature_over_time(98.6,1.5); +} + +//Function Number: 124 +move_to_cave_combat(param_00) +{ + maps\_utility::waittill_dead_or_dying(level.breach_guys,5,param_00 + 5); + common_scripts\utility::flag_set("narrow_cave_done"); +} + +//Function Number: 125 +end_slow_mo() +{ + var_00 = 0; + setslowmotion(1,0.25,0.5); + while(!common_scripts\utility::flag("narrow_cave_done") && var_00 <= 3.5) + { + wait(0.05); + var_00 = var_00 + 0.05; + } + + setslowmotion(0.25,1,0.75); + soundscripts\_snd::snd_message("end_water_breach"); + level.player disableinvulnerability(); +} + +//Function Number: 126 +narrow_cave_enemies() +{ + self endon("death"); + self.health = 15; + self.allowdeath = 1; + self.ignoreall = 1; + self.ignoreme = 1; + self.grenadeammo = 0; + self.animname = self.script_noteworthy; + self disableaimassist(); + if(self.script_noteworthy == "breach_enemy_6") + { + level.breach_enemy_6 = self; + thread maps\_utility::magic_bullet_shield(); + } + + if(self.animname != "breach_enemy_3") + { + level.narrow_animnode thread maps\_anim::anim_loop_solo(self,"water_breach_idle","stop_enemy_idle"); + } + + if(self.animname == "breach_enemy_3") + { + level.narrow_animnode maps\_anim::anim_first_frame_solo(self,"water_breach_enemy"); + } + + common_scripts\utility::flag_wait("start_breach_enemies"); + level.narrow_animnode notify("stop_enemy_idle"); + level.narrow_animnode thread maps\_anim::anim_single_solo(self,"water_breach_enemy"); + common_scripts\utility::flag_wait("player_can_aim"); + self enableaimassist(); + self waittillmatch("end","single anim"); + self.ignoreall = 0; + self.ignoreme = 0; +} + +//Function Number: 127 +narrow_cave_dialogue() +{ + common_scripts\utility::flag_wait("start_narrow_cave"); + if(!common_scripts\utility::flag("cormack_can_teleport1")) + { + level.cormack maps\_utility::smart_dialogue("crsh_crmk_toheadto"); + maps\_utility::smart_radio_dialogue("crsh_grdn5_static4"); + } +} + +//Function Number: 128 +narrow_cave_cormack_radio(param_00) +{ + level.cormack maps\_utility::smart_dialogue("crsh_crmk_toheadto"); +} + +//Function Number: 129 +narrow_cave_radio_response(param_00) +{ + maps\_utility::smart_radio_dialogue("crsh_grdn5_static4"); +} + +//Function Number: 130 +narrow_cave_ilona_thermals(param_00) +{ + level.ilana maps\_utility::smart_dialogue("crsh_iln_thermals"); +} + +//Function Number: 131 +narrow_cave_drop_pod() +{ + common_scripts\utility::flag_wait("narrow_cave_rumble"); + screenshake(level.player.origin,0.6,0.6,0.4,2.75,0.25,0.5,1000,5,5,3); + soundscripts\_snd::snd_message("drop_pod_screen_shake_large","1"); + common_scripts\_exploder::exploder(6650); + level.player playrumbleonentity("heavy_2s"); + wait(randomfloatrange(4.5,7)); + screenshake(level.player.origin,0.5,0.5,0.3,2.75,0.25,0.5,1000,5,5,3); + soundscripts\_snd::snd_message("drop_pod_screen_shake_large","2"); + common_scripts\_exploder::exploder(6650); + level.player playrumbleonentity("heavy_2s"); + wait(randomfloatrange(4.5,7)); + screenshake(level.player.origin,0.2,0.2,0.1,2.75,0.25,0.5,1000,5,5,3); + soundscripts\_snd::snd_message("drop_pod_screen_shake_large","3"); + common_scripts\_exploder::exploder(6650); + level.player playrumbleonentity("light_2s"); +} + +//Function Number: 132 +narrow_cave_cave_in() +{ + var_00 = getent("narrow_cave_trigger_underwater","script_noteworthy"); + var_01 = getent("narrowcave_water","targetname"); + level.cave_water_origin.old_origin = level.cave_water_origin.origin; + var_02 = maps\_utility::spawn_anim_model("water_level"); + level.narrow_animnode thread maps\_anim::anim_first_frame_solo(var_02,"water_level_rising"); + var_01 linkto(var_02,"j_prop_1"); + level.cave_water_origin linkto(var_02,"j_prop_1"); + var_00 enablelinkto(); + var_00 linkto(level.cave_water_origin); + thread fx_moving_water_splatter_setup(var_01); + common_scripts\utility::flag_wait_all("player_in_chamber","cormack_in_chamber","ilana_in_chamber"); + level.player.player_breath_amount = 100; + thread maps\_utility::autosave_by_name("narrow_cave_cave_in"); + common_scripts\utility::flag_set("cave_in"); + screenshake(level.player.origin,0.7,0.7,0.4,3,0.25,1,1000,6,6,5); + soundscripts\_snd::snd_message("cave_in"); + level.player playrumbleonentity("heavy_3s"); + var_03 = getent("narrow_cave_in_chunk","targetname"); + var_04 = getent("narrow_cave_in_chunk_clip","targetname"); + var_03 movex(128,0.05); + var_04 movex(128,0.05); + level.narrow_animnode thread maps\_anim::anim_single_solo(var_02,"water_level_rising"); + wait(2.5); + common_scripts\_exploder::exploder(6620); + common_scripts\utility::flag_wait("narrow_cave_exiting_tunnel"); + level.cave_water_origin unlink(); + common_scripts\utility::flag_clear("narrow_cave_in_tunnel"); + for(;;) + { + level.cave_water_origin moveto(level.cave_water_origin.old_origin,0.05); + wait 0.05; + common_scripts\utility::flag_wait("narrow_cave_in_tunnel"); + common_scripts\utility::flag_clear("narrow_cave_exiting_tunnel"); + level.cave_water_origin movez(48,0.05); + wait 0.05; + common_scripts\utility::flag_wait("narrow_cave_exiting_tunnel"); + common_scripts\utility::flag_clear("narrow_cave_in_tunnel"); + } +} + +//Function Number: 133 +fx_moving_water_splatter_setup(param_00) +{ + var_01 = maps\_utility::get_exploder_array(6621); + foreach(var_03 in var_01) + { + var_04 = common_scripts\utility::spawn_tag_origin(); + var_04.fxid = var_03.v["fxid"]; + var_04.origin = var_03.v["origin"]; + var_04.angles = var_03.v["angles"]; + var_04 linkto(param_00); + thread fx_moving_water_splatter(var_04); + } +} + +//Function Number: 134 +fx_moving_water_splatter(param_00) +{ + common_scripts\utility::flag_wait("cave_in"); + wait(2.5); + wait(randomfloatrange(0.05,0.2)); + playfxontag(level._effect[param_00.fxid],param_00,"tag_origin"); +} + +//Function Number: 135 +begin_combat_cave() +{ + thread increase_difficulty(); + thread crevasse_initial_group(); + thread combat_cave_dialogue(); + common_scripts\utility::flag_set("obj_follow_cormack_combat_to_lake"); + level.cormack maps\_utility::enable_ai_color(); + level.ilana maps\_utility::enable_ai_color(); + level.cormack maps\_utility::set_force_color("r"); + level.ilana maps\_utility::set_force_color("g"); + level.cormack.ignoresuppression = 1; + level.ilana.ignoresuppression = 1; + maps\_utility::activate_trigger_with_targetname("TRIG_crevasse_engage"); + level.player setmovespeedscale(1); + maps\_utility::battlechatter_on("allies"); + common_scripts\utility::flag_wait("combat_cave_done"); +} + +//Function Number: 136 +increase_difficulty() +{ + var_00 = level.cormack.baseaccuracy; + level.cormack.baseaccuracy = var_00 * 0.6; + level.ilana.baseaccuracy = var_00 * 0.6; + common_scripts\utility::flag_wait("combat_cave_done"); + level.cormack.baseaccuracy = var_00; + level.ilana.baseaccuracy = var_00; +} + +//Function Number: 137 +crevasse_initial_group() +{ + soundscripts\_snd::snd_music_message("crevasse_combat"); + thread maps\_utility::battlechatter_on("allies"); + thread maps\_utility::battlechatter_on("axis"); + var_00 = maps\_utility::get_living_ai_array("pre_wave_1","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02.ignoreall = 0; + var_02.ignoreme = 0; + var_02.script_noteworthy = "crevasse_wave_1_remainders"; + var_02 maps\_utility::clear_run_anim(); + } + + thread maps\crash_utility::move_wave("crevasse_wave_1_remainders","VOL_crevasse_top_mid_back"); + if(level.currentgen) + { + var_04 = ["crevasse_wave_2_special","crevasse_wave_1_back"]; + thread maps\_cg_encounter_perf_monitor::cg_spawn_perf_monitor("combat_cave_exit",undefined,15,0,var_04); + } + + thread crevasse_combat_wave_1(); +} + +//Function Number: 138 +player_starts_battle() +{ + notifyoncommand("attack","+attack"); + level endon("crevasse_player_rushed_ahead"); + level.player waittill("attack"); + level notify("crevasse_player_fired_shot"); + common_scripts\utility::flag_set("start_crevasse_wave_1"); +} + +//Function Number: 139 +player_rushes_ahead() +{ + level endon("crevasse_player_fired_shot"); + common_scripts\utility::flag_wait("crevasse_player_moved_up"); + thread maps\crash_utility::temp_dialogue("Cormack","Shit, Mitchell, I did not tell you to run out in the open",3); + level notify("crevasse_player_rushed_ahead"); + common_scripts\utility::flag_set("start_crevasse_wave_1"); +} + +//Function Number: 140 +crevasse_combat_wave_1() +{ + var_00 = undefined; + if(level.nextgen) + { + var_00 = maps\_utility::array_spawn_targetname("crevasse_wave_1",1); + } + else + { + var_00 = maps\_utility::array_spawn_targetname_cg("crevasse_wave_1",1,0.1); + } + + thread wave_1_zippers(); + thread wave_1_enemy_logic(); + thread crevasse_wave_1_left(); + thread crevasse_wave_1_mid(); + thread crevasse_wave_1_right(); + thread crevasse_wave_1_drop(); + thread crevasse_ledge_adjustment(); + thread crevasse_wave_1_left_special(); + thread crevasse_wave_2(); + var_01 = maps\_utility::get_living_ai_array("crevasse_wave_1_back","script_noteworthy"); + foreach(var_03 in var_01) + { + var_03.ignoresuppression = 1; + var_03.canjumppath = 10; + } + + wait(1); + thread wave_1_ally_move("TRIG_wave_1_start","crevasse_wave_1_back","crevasse_player_top",2); +} + +//Function Number: 141 +wave_1_zippers() +{ + var_00 = getentarray("wave_1_zipper","targetname"); + wait(0.5); + foreach(var_02 in var_00) + { + var_03 = animscripts\traverse\seoul_zipline::spawn_npc_and_use_scripted_zipline(var_02,common_scripts\utility::getstruct(var_02.target,"targetname")); + var_03.ignoresuppression = 1; + var_03.canjumppath = 10; + } + + thread give_laser_sights("light"); + cave_dialogue_cormack_dropping(); + wait(0.75); + level.cormack maps\_utility::smart_radio_dialogue("crsh_crmk_highground2"); +} + +//Function Number: 142 +wave_1_enemy_logic() +{ + thread maps\crash_utility::move_wave("crevasse_wave_1_top","VOL_crevasse_bridge"); + thread maps\crash_utility::move_wave("crevasse_wave_1_back","VOL_crevasse_under_bridge"); + thread give_enemy_boost("crevasse_wave_1_back"); + thread maps\crash_utility::move_wave("crevasse_wave_1_right","VOL_crevasse_top_right"); + thread maps\crash_utility::retreat_volume_and_set_flag("crevasse_wave_1_right","VOL_crevasse_top_back",2,"crevasse_player_right"); + common_scripts\utility::flag_wait("crevasse_wave_2"); + thread crevasse_wave_1_cleaup(); + thread wave_1_5_ally_move(); +} + +//Function Number: 143 +crevasse_wave_1_left() +{ + level endon("player_chose_mid"); + level endon("player_chose_right"); + maps\_utility::trigger_wait_targetname("TRIG_crevasse_chose_left"); + level notify("player_chose_left"); + var_00 = undefined; + if(level.nextgen) + { + var_00 = maps\_utility::array_spawn_targetname("crevasse_wave_1_left_support",1); + } + else + { + var_00 = maps\_utility::array_spawn_targetname_cg("crevasse_wave_1_left_support",1,0.1); + } + + common_scripts\utility::flag_wait("crevasse_player_left"); + thread maps\crash_utility::move_wave("crevasse_wave_1_right","VOL_crevasse_top_right"); + thread maps\crash_utility::move_wave("crevasse_wave_1_top","VOL_crevasse_top_back"); + thread maps\crash_utility::move_wave("crevasse_wave_1_mid","VOL_crevasse_top_mid_back"); + thread give_enemy_boost("crevasse_wave_1_mid"); + thread give_enemy_boost("crevasse_wave_1_top"); + thread give_enemy_boost("crevasse_wave_1_right"); +} + +//Function Number: 144 +crevasse_wave_1_left_special() +{ + level endon("crevasse_wave_2"); + common_scripts\utility::flag_wait("left_special_zip"); + var_00 = getent("VOL_crevasse_top_back","targetname"); + var_01 = getentarray("crevasse_wave_2_special_left","targetname"); + foreach(var_03 in var_01) + { + var_04 = animscripts\traverse\seoul_zipline::spawn_npc_and_use_scripted_zipline(var_03,common_scripts\utility::getstruct(var_03.target,"targetname")); + var_04.ignoresuppression = 1; + var_04.canjumppath = 10; + var_04 setgoalvolumeauto(var_00); + } +} + +//Function Number: 145 +thin_the_herd() +{ + maps\crash_utility::kill_enemies("crevasse_wave_1_remainders"); +} + +//Function Number: 146 +crevasse_wave_1_mid() +{ + level endon("player_chose_left"); + level endon("player_chose_right"); + maps\_utility::trigger_wait_targetname("TRIG_crevasse_chose_mid"); + level notify("player_chose_mid"); + var_00 = undefined; + if(level.nextgen) + { + var_00 = maps\_utility::array_spawn_targetname("crevasse_wave_1_support_mid",1); + } + else + { + var_00 = maps\_utility::array_spawn_targetname_cg("crevasse_wave_1_support_mid",1,0.1); + } + + thread maps\crash_utility::set_main_vol_and_retreat_vol("crevasse_wave_1_mid_support","VOL_crevasse_top_mid_back","VOL_crevasse_top_back",1); + common_scripts\utility::flag_wait("crevasse_player_top"); + thread maps\crash_utility::move_wave("crevasse_wave_1_mid_support","VOL_crevasse_top_back"); + thread maps\crash_utility::move_wave("crevasse_wave_1_top","VOL_crevasse_top_back"); + thread maps\crash_utility::move_wave("crevasse_wave_1_back","VOL_crevasse_top_mid_back"); + thread maps\crash_utility::move_wave("crevasse_wave_1_remainders","VOL_crevasse_top_back"); + thread give_enemy_boost("crevasse_wave_1_mid"); + thread give_enemy_boost("crevasse_wave_1_top"); + thread give_enemy_boost("crevasse_wave_1_right"); +} + +//Function Number: 147 +perch_spot_wave() +{ + common_scripts\utility::flag_wait("crevasse_player_right_perch"); + var_00 = undefined; + if(level.nextgen) + { + var_00 = maps\_utility::array_spawn_targetname("crevasse_wave_1_right_perch",1); + } + else + { + var_00 = maps\_utility::array_spawn_targetname_cg("crevasse_wave_1_right_perch",1,0.1); + } + + thread give_enemy_boost("crevasse_wave_1_right_perch"); + thread maps\crash_utility::move_wave("crevasse_wave_1_right_perch","VOL_crevasse_bridge"); + common_scripts\utility::flag_wait("crevasse_player_top"); + thread maps\crash_utility::move_wave("crevasse_wave_1_right_perch","VOL_crevasse_top_mid_back"); +} + +//Function Number: 148 +crevasse_wave_1_right() +{ + level endon("player_chose_mid"); + level endon("player_chose_left"); + maps\_utility::trigger_wait_targetname("TRIG_crevasse_chose_right"); + level notify("player_chose_right"); + common_scripts\utility::flag_wait("crevasse_player_right"); + maps\crash_utility::kill_enemies("crevasse_wave_1_mid"); + thread thin_the_herd(); + thread maps\crash_utility::move_wave("crevasse_wave_1_mid","VOL_crevasse_top_mid_back"); + thread maps\crash_utility::move_wave("crevasse_wave_1_top","VOL_crevasse_top_back"); + var_00 = undefined; + if(level.nextgen) + { + var_00 = maps\_utility::array_spawn_targetname("crevasse_wave_1_right_special",1); + } + else + { + var_00 = maps\_utility::array_spawn_targetname_cg("crevasse_wave_1_right_special",1,0.1); + } + + thread maps\crash_utility::move_wave("crevasse_wave_1_right_special","VOL_crevasse_top_back"); + thread maps\crash_utility::move_wave("crevasse_wave_1_right_bottom","VOL_crevasse_top_mid_back"); + common_scripts\utility::flag_wait("crevasse_wave_2"); + thread maps\crash_utility::cleanup_enemies("crevasse_wave_1_back"); + thread maps\crash_utility::cleanup_enemies("crevasse_wave_1_mid"); +} + +//Function Number: 149 +crevasse_wave_1_drop() +{ + var_00 = maps\crash_utility::enemy_drop_traversal("crevasse_wave_1_drop_3","crevasse_drop_node_6"); + wait(1); + var_01 = maps\crash_utility::enemy_drop_traversal("crevasse_wave_1_drop_1","crevasse_drop_node_1"); + thread maps\crash_utility::set_main_vol_and_retreat_vol("crevasse_wave_1_mid","VOL_crevasse_under_bridge","VOL_crevasse_top_mid_back",2); +} + +//Function Number: 150 +crevasse_wave_1_cleaup() +{ + thread maps\crash_utility::move_wave("crevasse_wave_1_right_perch","VOL_crevasse_top_back"); + thread maps\crash_utility::move_wave("crevasse_wave_1_left_support","VOL_crevasse_top_back"); + thread maps\crash_utility::move_wave("crevasse_wave_1_right","VOL_crevasse_top_back"); + thread maps\crash_utility::move_wave("crevasse_wave_1_back","VOL_crevasse_top_back"); + thread maps\crash_utility::move_wave("crevasse_wave_1_mid","VOL_crevasse_top_back"); + thread maps\crash_utility::move_wave("crevasse_wave_1_right_special","VOL_crevasse_top_back"); + thread maps\crash_utility::move_wave("crevasse_wave_1_5","VOL_crevasse_top_back"); + thread maps\crash_utility::move_wave("crevasse_wave_1_right_bottom","VOL_crevasse_top_back"); +} + +//Function Number: 151 +wave_1_ally_move(param_00,param_01,param_02,param_03) +{ + level endon(param_02); + var_04 = maps\_utility::get_living_ai_array(param_01,"script_noteworthy"); + maps\_utility::waittill_dead(var_04,var_04.size - param_03); + maps\_utility::activate_trigger_with_targetname(param_00); + cave_dialogue_cormack_push(); +} + +//Function Number: 152 +wave_1_5_ally_move() +{ + var_00 = getent("VOL_first_cave","targetname"); + var_01 = getent("VOL_crevasse_wave_2","targetname"); + var_02 = var_00 maps\_utility::get_ai_touching_volume("axis"); + foreach(var_04 in var_02) + { + var_04.canjumppath = 1; + var_04 thread wave_1_5_retreat(var_01); + } + + maps\_utility::waittill_dead(var_02,var_02.size); + level notify("1_5_retreat"); + maps\_utility::activate_trigger_with_targetname("TRIG_wave_2_move_up"); +} + +//Function Number: 153 +wave_1_5_retreat(param_00) +{ + self endon("death"); + level waittill("1_5_retreat"); + self setgoalvolumeauto(param_00); +} + +//Function Number: 154 +crevasse_ledge_adjustment() +{ + common_scripts\utility::flag_wait("FLAG_crevasse_upper_move"); + var_00 = getent("VOL_crevasse_top_mid_back","targetname"); + var_01 = getent("VOL_crevasse_top_back","targetname"); + var_02 = var_00 maps\_utility::get_ai_touching_volume("axis"); + foreach(var_04 in var_02) + { + var_04 setgoalvolumeauto(var_01); + } +} + +//Function Number: 155 +combat_cave_dialogue() +{ + level endon("combat_cave_done"); + common_scripts\utility::flag_wait("crevasse_player_top"); + thread cave_dialogue_cormack_attack(); + common_scripts\utility::flag_wait("crevasse_wave_2_special"); + cave_dialogue_cormack_dropping(); + wait(0.5); + cave_dialogue_cormack_drop_em(); + common_scripts\utility::flag_wait("ilona_say_left"); + thread cave_dialogue_ilona_left(); +} + +//Function Number: 156 +cave_dialogue_cormack_push() +{ + maps\_utility::battlechatter_off("allies"); + level.cormack maps\_utility::smart_radio_dialogue("crsh_crmk_pushfwd2"); + maps\_utility::battlechatter_on("allies"); +} + +//Function Number: 157 +cave_dialogue_cormack_attack() +{ + maps\_utility::battlechatter_off("allies"); + level.cormack maps\_utility::smart_radio_dialogue("crsh_crmk_clearemout"); + maps\_utility::battlechatter_on("allies"); +} + +//Function Number: 158 +cave_dialogue_cormack_dropping() +{ + maps\_utility::battlechatter_off("allies"); + level.cormack maps\_utility::smart_radio_dialogue("crsh_crmk_droppingin"); + maps\_utility::battlechatter_on("allies"); +} + +//Function Number: 159 +cave_dialogue_cormack_contact() +{ + maps\_utility::battlechatter_off("allies"); + level.cormack maps\_utility::smart_radio_dialogue("crsh_crmk_contactahead"); + maps\_utility::battlechatter_on("allies"); +} + +//Function Number: 160 +cave_dialogue_cormack_drop_em() +{ + maps\_utility::battlechatter_off("allies"); + level.cormack maps\_utility::smart_radio_dialogue("crsh_crmk_dropemquick"); + maps\_utility::battlechatter_on("allies"); +} + +//Function Number: 161 +cave_dialogue_ilona_left() +{ + maps\_utility::battlechatter_off("allies"); + level.ilana maps\_utility::smart_radio_dialogue("crsh_iln_lookleft"); + maps\_utility::battlechatter_on("allies"); +} + +//Function Number: 162 +cave_dialogue_ilona_down() +{ + maps\_utility::battlechatter_off("allies"); + level.ilana maps\_utility::smart_radio_dialogue("crsh_iln_targetdown2"); + maps\_utility::battlechatter_on("allies"); +} + +//Function Number: 163 +cave_dialogue_ilona_exit() +{ + maps\_utility::battlechatter_off("allies"); + level.ilana maps\_utility::smart_radio_dialogue("crsh_iln_exitahead"); + maps\_utility::battlechatter_on("allies"); +} + +//Function Number: 164 +crevasse_wave_2() +{ + common_scripts\utility::flag_wait("crevasse_wave_2"); + thread maps\_utility::autosave_by_name_silent("wave_2"); + thread crevasse_area_2_special(); + thread crevasse_wave_3(); + thread crevasse_upper(); + thread crevasse_upper_cancelled(); + thread abyss_player_kill(); +} + +//Function Number: 165 +crevasse_area_2_special() +{ + thread wave_2_special_start(); + common_scripts\utility::flag_wait("crevasse_wave_2_special"); + var_00 = getentarray("crevasse_wave_2","targetname"); + foreach(var_02 in var_00) + { + var_03 = animscripts\traverse\seoul_zipline::spawn_npc_and_use_scripted_zipline(var_02,common_scripts\utility::getstruct(var_02.target,"targetname")); + var_03.ignoresuppression = 1; + var_03.canjumppath = 10; + } + + thread maps\crash_utility::set_main_vol_and_retreat_vol("crevasse_wave_2","VOL_crevasse_top_back","VOL_crevasse_wave_2",1); + thread cave_drop_guys(); + wait(3); + thread maps\crash_utility::move_wave("crevasse_wave_2_drop","VOL_crevasse_wave_2"); + common_scripts\utility::flag_wait("crevasse_wave_3_drop"); + thread wave_3_ally_move_left(); + thread wave_3_ally_move_right(); + var_05 = getent("VOL_crevasse_jump_right","targetname"); + var_06 = getent("crevasse_wave_3_special","targetname"); + var_07 = var_06 maps\_utility::spawn_ai(1); + wait(0.05); + var_07.ignoresuppression = 1; + var_07.canjumppath = 10; + var_07 setgoalvolumeauto(var_05); + level.cormack.ignoresuppression = 1; + level.ilana.ignoresuppression = 1; + thread maps\_utility::autosave_by_name_silent("wave_2_5"); +} + +//Function Number: 166 +wave_2_special_start() +{ + var_00 = getent("VOL_crevasse_top_back","targetname"); + var_01 = undefined; + if(level.nextgen) + { + var_01 = maps\_utility::array_spawn_targetname("crevasse_wave_2_upper",1); + } + else + { + var_01 = maps\_utility::array_spawn_targetname_cg("crevasse_wave_2_upper",1,0.1); + } + + var_02 = maps\_utility::get_living_ai_array("crevasse_wave_2_special","script_noteworthy"); + foreach(var_04 in var_02) + { + var_04.canjumppath = 10; + var_04.ignoresuppression = 1; + var_04 setgoalvolumeauto(var_00); + } + + var_06 = getentarray("crevasse_wave_2_special_zip","targetname"); + foreach(var_08 in var_06) + { + var_09 = animscripts\traverse\seoul_zipline::spawn_npc_and_use_scripted_zipline(var_08,common_scripts\utility::getstruct(var_08.target,"targetname")); + var_09.ignoresuppression = 1; + var_09.canjumppath = 10; + var_09 setgoalvolumeauto(var_00); + } +} + +//Function Number: 167 +cave_drop_guys() +{ + var_00 = maps\crash_utility::enemy_drop_traversal("crevasse_wave_2_drop_1","crevasse_drop_node_4"); + var_00.canjumppath = 10; + wait(1); + var_01 = maps\crash_utility::enemy_drop_traversal("crevasse_wave_2_drop_2","crevasse_drop_node_3"); + var_01.canjumppath = 10; + thread drop_perch_ally(); +} + +//Function Number: 168 +drop_perch_ally() +{ + level endon("crevasse_wave_3_drop"); + var_00 = getent("VOL_crevasse_wave_2","targetname"); + var_01 = getent("VOL_crevasse_jump_left","targetname"); + var_02 = maps\_utility::get_living_ai_array("crevasse_wave_2_drop","script_noteworthy"); + if(var_02.size > 1) + { + maps\_utility::waittill_dead(var_02,1); + } + + var_03 = var_00 maps\_utility::get_ai_touching_volume("axis"); + foreach(var_05 in var_03) + { + var_05 setgoalvolumeauto(var_01); + var_05.ignoresuppression = 1; + var_05.script_noteworthy = "crevasse_wave_3_left"; + var_05 thread perch_runner(); + } + + thread maps\crash_utility::move_wave_random("crevasse_wave_2_special","VOL_crevasse_jump_left"); + common_scripts\utility::flag_set("ilona_say_left"); + thread bad_perch_logic(); + maps\_utility::activate_trigger_with_targetname("TRIG_ally_drop_down_cave"); +} + +//Function Number: 169 +bad_perch_logic() +{ + var_00 = getent("VOL_crevasse_wave_2","targetname"); + var_01 = var_00 maps\_utility::get_ai_touching_volume("axis"); + if(var_01.size > 0) + { + badplace_brush("perch_badplace",4,var_00,"allies"); + } +} + +//Function Number: 170 +perch_runner() +{ + self endon("death"); + self.ignoreall = 1; + common_scripts\utility::flag_wait("crevasse_wave_3_drop"); + self.ignoreall = 0; +} + +//Function Number: 171 +abyss_player_kill() +{ + common_scripts\utility::flag_wait("FLAG_abyss_death"); + setdvar("ui_deadquote",&"CRASH_FAIL_FALL"); + maps\_utility::missionfailedwrapper(); + level.player thread maps\_player_exo::player_exo_deactivate(); +} + +//Function Number: 172 +crevasse_wave_3() +{ + maps\_utility::trigger_wait_targetname("TRIG_crevasse_wave_3"); + var_00 = undefined; + if(level.nextgen) + { + var_00 = maps\_utility::array_spawn_targetname("crevasse_wave_3",1); + } + else + { + var_00 = maps\_utility::array_spawn_targetname_cg("crevasse_wave_3",1,0.1); + } + + thread wave_3_zippers(); + thread maps\crash_utility::move_wave("crevasse_wave_3_left","VOL_crevasse_bottom_left"); + thread maps\crash_utility::retreat_volume_and_set_flag("crevasse_wave_3_left","VOL_crevasse_bottom_back",2,"crevasse_3_support"); + thread maps\crash_utility::move_wave("crevasse_wave_3_right","VOL_crevasse_bottom_right"); + thread maps\crash_utility::retreat_volume_and_set_flag("crevasse_wave_3_right","VOL_crevasse_bottom_back",1,"crevasse_3_support"); + thread wave_3_retreat(); + common_scripts\utility::flag_wait_either("crevasse_3_support","crevasse_wave_3_move_back"); + var_01 = undefined; + if(level.nextgen) + { + var_01 = maps\_utility::array_spawn_targetname("crevasse_wave_3_support",1); + } + else + { + var_01 = maps\_utility::array_spawn_targetname_cg("crevasse_wave_3_support",1,0.1); + } + + wait 0.05; + foreach(var_03 in var_01) + { + var_03.canjumppath = 10; + var_03.ignoresuppression = 1; + } + + thread maps\crash_utility::move_wave("crevasse_wave_3_support","VOL_crevasse_bottom_back"); +} + +//Function Number: 173 +wave_3_zippers() +{ + var_00 = getent("VOL_cave_exit","targetname"); + var_01 = getent("crevasse_wave_3_zipper","targetname"); + common_scripts\utility::flag_wait("crevasse_wave_3_drop"); + var_02 = animscripts\traverse\seoul_zipline::spawn_npc_and_use_scripted_zipline(var_01,common_scripts\utility::getstruct(var_01.target,"targetname")); + var_02.ignoresuppression = 1; + var_02.canjumppath = 10; + var_02 setgoalvolumeauto(var_00); + common_scripts\utility::flag_wait("crevasse_wave_3_move_back"); + var_02 = animscripts\traverse\seoul_zipline::spawn_npc_and_use_scripted_zipline(var_01,common_scripts\utility::getstruct(var_01.target,"targetname")); + var_02.ignoresuppression = 1; + var_02.canjumppath = 10; + var_02 setgoalvolumeauto(var_00); +} + +//Function Number: 174 +wave_3_retreat() +{ + common_scripts\utility::flag_wait("crevasse_wave_3_move_back"); + thread maps\crash_utility::move_wave_random("crevasse_wave_3_left","VOL_crevasse_bottom_back"); + thread maps\crash_utility::move_wave_random("crevasse_wave_3_right","VOL_crevasse_bottom_back"); + thread maps\crash_utility::move_wave_random("crevasse_wave_3_right_special","VOL_crevasse_bottom_back"); + thread combat_cave_exit(); + thread combat_cave_cleanup(); +} + +//Function Number: 175 +crevasse_upper() +{ + level endon("end_upper_trigger"); + maps\_utility::trigger_wait_targetname("TRIG_crevasse_upper"); + level notify("took_upper"); + var_00 = getent("crevasse_upper","targetname"); + var_01 = var_00 maps\_utility::spawn_ai(1); + var_01.canjumppath = 100; + var_01.ignoresuppression = 1; + maps\crash_utility::move_wave("crevasse_wave_3_left","VOL_crevasse_bottom_back"); +} + +//Function Number: 176 +crevasse_upper_cancelled() +{ + level endon("took_upper"); + maps\_utility::trigger_wait_targetname("TRIG_crevasse_upper_end"); + level notify("end_upper_trigger"); + var_00 = undefined; + if(level.nextgen) + { + var_00 = maps\_utility::array_spawn_targetname("crevasse_wave_3_reinforcement",1); + } + else + { + var_00 = maps\_utility::array_spawn_targetname_cg("crevasse_wave_3_reinforcement",1,0.1); + } + + foreach(var_02 in var_00) + { + var_02.ignoresuppression = 1; + } + + thread maps\crash_utility::move_wave("crevasse_wave_3_reinforcement","VOL_cave_exit"); +} + +//Function Number: 177 +give_enemy_boost(param_00) +{ + var_01 = maps\_utility::get_living_ai_array(param_00,"script_noteworthy"); + foreach(var_03 in var_01) + { + var_03.canjumppath = 10; + var_03.ignoresuppression = 1; + } +} + +//Function Number: 178 +wave_3_ally_move_left() +{ + level endon("crevasse_wave_3_move_back"); + var_00 = getent("VOL_crevasse_bottom_left","targetname"); + var_01 = getent("VOL_crevasse_bottom_back","targetname"); + var_02 = var_00 maps\_utility::get_ai_touching_volume("axis"); + foreach(var_04 in var_02) + { + var_04.canjumppath = 10; + var_04 thread wave_3_retreat_vol(var_01); + } + + maps\_utility::waittill_dead(var_02,var_02.size - 1); + level notify("3_retreat"); + thread cave_dialogue_cormack_push(); + maps\_utility::activate_trigger_with_targetname("TRIG_ally_move_3"); +} + +//Function Number: 179 +wave_3_ally_move_right() +{ + level endon("crevasse_wave_3_move_back"); + var_00 = getent("VOL_crevasse_bottom_right","targetname"); + var_01 = getent("VOL_crevasse_bottom_back","targetname"); + var_02 = var_00 maps\_utility::get_ai_touching_volume("axis"); + foreach(var_04 in var_02) + { + var_04.canjumppath = 10; + var_04 thread wave_3_retreat_vol(var_01); + } + + maps\_utility::waittill_dead(var_02,var_02.size - 1); + level notify("3_retreat"); + maps\_utility::activate_trigger_with_targetname("TRIG_ally_move_3"); +} + +//Function Number: 180 +wave_3_retreat_vol(param_00) +{ + self endon("death"); + level waittill("3_retreat"); + self setgoalvolumeauto(param_00); +} + +//Function Number: 181 +combat_cave_exit() +{ + var_00 = getent("VOL_second_cave","targetname"); + var_01 = getent("VOL_cave_exit","targetname"); + var_02 = var_00 maps\_utility::get_ai_touching_volume("axis"); + maps\_utility::waittill_dead(var_02,var_02.size - 3); + var_03 = var_00 maps\_utility::get_ai_touching_volume("axis"); + foreach(var_05 in var_03) + { + var_05 setgoalvolumeauto(var_01); + var_05.ignoresuppression = 1; + } + + maps\_utility::waittill_dead_or_dying(var_03,var_03.size); + if(!common_scripts\utility::flag("combat_cave_done")) + { + maps\_utility::activate_trigger_with_targetname("TRIG_ally_move_4"); + } + + level notify("combat_cave_exit"); + if(!common_scripts\utility::flag("combat_cave_done")) + { + wait(0.5); + level.ilana thread maps\_utility::smart_radio_dialogue("crsh_iln_allclear3"); + wait(0.5); + thread cave_dialogue_ilona_exit(); + } + + thread maps\_utility::autosave_by_name("combat_cave_complete"); +} + +//Function Number: 182 +combat_cave_cleanup() +{ + common_scripts\utility::flag_wait("FLAG_overlook_autosave"); + var_00 = getent("VOL_second_cave","targetname"); + var_01 = var_00 maps\_utility::get_ai_touching_volume("axis"); + foreach(var_03 in var_01) + { + var_03 delete(); + } + + var_00 = getent("VOL_first_cave","targetname"); + var_01 = var_00 maps\_utility::get_ai_touching_volume("axis"); + foreach(var_03 in var_01) + { + var_03 delete(); + } +} + +//Function Number: 183 +cave_start_teleport() +{ + maps\_utility::trigger_wait_targetname(""); + var_00 = getnode("cave_teleport_cormack","targetname"); + var_01 = getnode("cave_teleport_ilana","targetname"); + level.cormack maps\_utility::teleport_ai(var_00); + level.ilana maps\_utility::teleport_ai(var_01); +} + +//Function Number: 184 +execute_ai_solo(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = []; + var_05[0] = param_00; + if(!isdefined(param_03)) + { + param_03 = 0; + } + + execute_ai(var_05,param_01,param_02,param_03,param_04); +} + +//Function Number: 185 +execute_ai(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = 0; + if(!isdefined(param_01)) + { + param_01 = 0; + } + + if(!isdefined(param_03)) + { + param_03 = 0; + } + + var_06 = isdefined(param_04); + while(isdefined(self.execute_mode) && self.execute_mode == 1) + { + self waittill("execute_mode"); + } + + self.execute_mode = 1; + var_07 = 1; + if(isdefined(self.cqbwalking) && self.cqbwalking) + { + var_07 = 0; + } + + for(var_08 = 0;var_08 < param_00.size;var_08++) + { + if(!isalive(param_00[var_08]) || isdefined(param_00[var_08].execute_target)) + { + continue; + } + + param_00[var_08].execute_target = 1; + var_09 = spawn("script_origin",param_00[var_08] gettagorigin("j_spine4")); + var_09 linkto(param_00[var_08],"j_spine4"); + maps\_utility::cqb_aim(var_09); + if(param_03) + { + while(abs(vectordot(self gettagangles("tag_flash"),vectornormalize(var_09.origin - self gettagorigin("tag_flash")))) < 0.95) + { + wait(0.05); + } + } + + wait(param_01); + while(var_06) + { + var_0A = bullettrace(self gettagorigin("tag_flash"),var_09.origin,1,self); + if(!isdefined(var_0A["entity"]) || !isplayer(var_0A["entity"])) + { + break; + } + + wait(0.1); + } + + if(isdefined(param_02)) + { + var_05 = param_02; + } + else + { + var_05 = randomintrange(3,6); + } + + if(param_03) + { + while(isalive(param_00[var_08])) + { + burstshot(var_05); + } + } + else + { + burstshot(var_05); + param_00[var_08] kill(self gettagorigin("tag_flash")); + } + + var_09 delete(); + wait(0.1); + } + + maps\_utility::cqb_aim(undefined); + self.execute_mode = 0; + self notify("execute_mode"); +} + +//Function Number: 186 +burstshot(param_00) +{ + if(self.bulletsinclip < param_00) + { + self.bulletsinclip = param_00; + } + + for(var_01 = 0;var_01 < param_00;var_01++) + { + self shoot(); + wait(0.1); + } +} + +//Function Number: 187 +give_laser_sights(param_00) +{ + param_00 = maps\_utility::get_living_ai_array(param_00,"script_parameters"); + for(var_01 = 0;var_01 < param_00.size;var_01++) + { + wait(0.1); + } +} + +//Function Number: 188 +turn_on_laser() +{ + self laseron(); +} + +//Function Number: 189 +smartlasersystem() +{ + level endon("disable_smart_laser"); + self endon("death"); + for(;;) + { + self laseron(); + wait(0.05); + } +} \ No newline at end of file diff --git a/AW/PC/maps/crash_crash_site.gsc b/AW/PC/maps/crash_crash_site.gsc new file mode 100644 index 0000000..36ba9df --- /dev/null +++ b/AW/PC/maps/crash_crash_site.gsc @@ -0,0 +1,2922 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: crash_crash_site.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 95 + * Decompile Time: 1422 ms + * Timestamp: 4/22/2024 2:27:07 AM +*******************************************************************/ + +//Function Number: 1 +precache_crash_site() +{ + common_scripts\utility::flag_init("crash_site_done"); + common_scripts\utility::flag_init("white_vo_done"); + common_scripts\utility::flag_init("begin_crash_site_lighting"); + common_scripts\utility::flag_init("crash_dof_fly_in"); + common_scripts\utility::flag_init("zero_view"); + common_scripts\utility::flag_init("unhide_cargo"); + common_scripts\utility::flag_init("go_drop_pods"); + common_scripts\utility::flag_init("crash_lighting_cinema_end"); + common_scripts\utility::flag_init("crash_site_battle_start"); + common_scripts\utility::flag_init("above_hole"); + common_scripts\utility::flag_init("player_returning_to_map"); + common_scripts\utility::flag_init("choose_drop_pod"); + common_scripts\utility::flag_init("wave1_pods_done"); + common_scripts\utility::flag_init("wave2_pods_starting"); + common_scripts\utility::flag_init("wave2_pods_done"); + common_scripts\utility::flag_init("wave3_pods_starting"); + common_scripts\utility::flag_init("wave3_pods_done"); + common_scripts\utility::flag_init("cormack_help_me"); + common_scripts\utility::flag_init("cormack_reached"); + common_scripts\utility::flag_init("rz_pilot_vo"); + common_scripts\utility::flag_init("razorback_start"); + common_scripts\utility::flag_init("player_loading_cargo"); + common_scripts\utility::flag_init("lighting_loading_cargo"); + common_scripts\utility::flag_init("razorback_loaded"); + common_scripts\utility::flag_init("lighting_razorback_loaded"); + common_scripts\utility::flag_init("start_background_elements"); + precachemodel("vehicle_atlas_assault_drone_large"); + precachemodel("vehicle_drop_pod"); + precachemodel("vehicle_drop_pod_base"); + precachemodel("npc_hbra3_nocamo"); + precachemodel("csh_entry_shelf_ice_floor_01_anim"); + precachemodel("npc_exo_armor_rocket_large"); + precachemodel("csh_drone_parachute_01"); + precacheitem("iw5_microdronelauncher_sp"); + precacherumble("warbird_flyby"); + precachestring(&"CRASH_INTROSCREEN_ANTARCTICA"); + precachestring(&"CRASH_DONT_LEAVE"); + precachestring(&"CRASH_FAIL_ALLIES_KILLED"); + precachestring(&"CRASH_FAIL_FALL"); + var_00 = getentarray("drop_pod_clips","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 notsolid(); + } + + var_04 = getent("crash_site_plane_snow","targetname"); + var_04 hide(); + var_05 = getentarray("crash_site_scorching","targetname"); + foreach(var_07 in var_05) + { + var_07 hide(); + } + + var_09 = getent("crash_site_plane_parachutes","targetname"); + var_09 delete(); + var_0A = getentarray("crash_site_plane_snowpiles","targetname"); + foreach(var_0C in var_0A) + { + var_0C hide(); + } + + var_0E = getentarray("crash_site_debris_models","targetname"); + foreach(var_0C in var_0E) + { + var_0C hide(); + } + + var_11 = getent("player_jetpack","targetname"); + var_11 hide(); + level.drop_pods = getentarray("drop_pod_node","script_noteworthy"); + foreach(var_13 in level.drop_pods) + { + var_14 = getent(var_13.target,"targetname"); + var_14 hide(); + var_13 hide(); + } + + var_16 = []; + var_16[0] = getent("fake_drop_pod_1","targetname"); + var_16[1] = getent("fake_drop_pod_2","targetname"); + var_16[2] = getent("fake_drop_pod_3","targetname"); + var_16[3] = getent("fake_drop_pod_4","targetname"); + var_16[4] = getent("fake_drop_pod_5","targetname"); + foreach(var_13 in var_16) + { + var_13 hide(); + } + + var_19 = getentarray("drop_pod_background","targetname"); + foreach(var_13 in var_19) + { + var_14 = getent(var_13.target,"targetname"); + var_14 hide(); + var_13 hide(); + } + + var_1C = getentarray("craters","script_noteworthy"); + foreach(var_1E in var_1C) + { + var_1E hide(); + } + + var_20 = getent("drop_pod_mech_1","targetname"); + var_21 = getent(var_20.target,"targetname"); + var_20 hide(); + var_21 hide(); + var_22 = getent("drop_pod_mech_2","targetname"); + var_23 = getent(var_22.target,"targetname"); + var_22 hide(); + var_23 hide(); + var_24 = getent("drop_pod_mech_3","targetname"); + var_25 = getent(var_24.target,"targetname"); + var_24 hide(); + var_25 hide(); + var_26 = getentarray("crash_site_triggers","targetname"); + foreach(var_28 in var_26) + { + var_28 common_scripts\utility::trigger_off(); + } + + var_2A = getent("cargo_trigger","targetname"); + var_2A common_scripts\utility::trigger_off(); + maps\_utility::add_control_based_hint_strings("boost_jump",&"CRASH_HINT_BOOST_JUMP",::should_break_boost_jump_hint); + maps\_utility::add_control_based_hint_strings("hint_dont_leave_mission",&"CRASH_DONT_LEAVE",::should_break_dont_leave); + level.crash_site_drones = []; +} + +//Function Number: 2 +precache_cave_entry() +{ + common_scripts\utility::flag_init("cave_entry_done"); + common_scripts\utility::flag_init("cave_entry_anim_start"); + common_scripts\utility::flag_init("player_starting_cave_entry"); + common_scripts\utility::flag_init("player_pre_loading_cargo"); + common_scripts\utility::flag_init("shoot_razorback"); + common_scripts\utility::flag_init("razorback_goliath_done"); + common_scripts\utility::flag_init("tank_firing_missiles"); + common_scripts\utility::flag_init("start_bunker_collapse"); + common_scripts\utility::flag_init("tank_incoming"); + common_scripts\utility::flag_init("flag_m_turret_dead"); + common_scripts\utility::flag_init("fall_debris_exploder"); + common_scripts\utility::flag_init("blur_player_vision"); + precachemodel("npc_resonance_device_base"); + precacheshader("overlay_rain_blur"); + precacheshellshock("crash_ice_cave_entry"); + precachestring(&"CRASH_CARGO_PUSH"); + precachestring(&"CRASH_CARGO_PUSH_KEYBOARD"); +} + +//Function Number: 3 +debug_start_crash_site() +{ + maps\crash::set_completed_flags(); + maps\crash_utility::setup_player(); + maps\crash_utility::setup_allies(); + soundscripts\_snd::snd_message("start_crash_site"); + thread maps\crash::objective_init(); + level.player maps\_utility::fog_set_changes("crash_skyjack_heavy_fog",0); + thread maps\_high_speed_clouds::cloudfastinit("heavy",(0,90,0),5,1); + level.cormack maps\_utility::gun_remove(); + level.player disableweapons(); + level.player givemaxammo("iw5_hbra3_sp_opticstargetenhancer"); + level.player allowcrouch(0); + level.player allowjump(0); + level.player allowsprint(0); + level.player allowprone(0); + level.player allowads(0); + level.player allowmelee(0); +} + +//Function Number: 4 +debug_start_cave_entry() +{ + maps\crash::set_completed_flags(); + maps\crash_utility::setup_player(); + maps\crash_utility::setup_allies(); + soundscripts\_snd::snd_message("start_cave_entry"); + level.crash_site_animnode = common_scripts\utility::getstruct("crash_site_animnode","targetname"); + thread maps\crash::objective_init(); + if(level.nextgen) + { + level.allies_bunker = maps\_utility::array_spawn_targetname("bunker_allies",1); + } + else + { + var_00 = getentarray("bunker_allies","targetname"); + level.allies_bunker = maps\_utility::array_spawn_cg(var_00,1); + } + + var_01 = getent("bunker_badplace","targetname"); + badplace_brush("bunker_badplace",-1,var_01,"axis"); + level.pod_enemies = []; + wait 0.05; + var_02 = getentarray("runway_shells","targetname"); + foreach(var_04 in var_02) + { + var_04 delete(); + } + + level.player thread maps\crash_utility::exo_temp_outdoor(); + if(level.nextgen) + { + level.bunker_guy01 = maps\_utility::get_living_ai("bunker_ally_01","script_noteworthy"); + level.bunker_guy01.animname = "bunker_guy01"; + var_06 = getnode("bunker_ally_01_node","targetname"); + level.bunker_guy01 thread maps\_utility::magic_bullet_shield(); + level.bunker_guy01 forceteleport(var_06.origin,var_06.angles); + level.bunker_guy01 setgoalnode(var_06); + level.bunker_guy02 = maps\_utility::get_living_ai("bunker_ally_02","script_noteworthy"); + level.bunker_guy02.animname = "bunker_guy02"; + var_07 = getnode("bunker_ally_02_node","targetname"); + level.bunker_guy02 thread maps\_utility::magic_bullet_shield(); + level.bunker_guy02 forceteleport(var_07.origin,var_07.angles); + level.bunker_guy02 setgoalnode(var_07); + } + + level.bunker_guy03 = maps\_utility::get_living_ai("bunker_ally_03","script_noteworthy"); + level.bunker_guy03.animname = "bunker_guy03"; + var_08 = getnode("bunker_ally_03_node","targetname"); + level.bunker_guy03 forceteleport(var_08.origin,var_08.angles); + level.bunker_guy03 setgoalnode(var_08); + level.bunker_guy03 thread maps\_utility::magic_bullet_shield(); + thread razorback_trigger_handler(); + thread razorback_cargo_player(); + thread razorback_razorback(); + thread razorback_cargo(); + common_scripts\utility::flag_set("razorback_start"); + common_scripts\_exploder::exploder(1474); + level.player lightsetforplayer("crash_crash_site"); + maps\_utility::vision_set_fog_changes("crash_crash_site",0); + level.player setclutforplayer("clut_crash_crash_site",0); + setsunflareposition((-10.08,-87.9,0)); + common_scripts\_exploder::exploder(1999); + thread background_drop_pods(); + thread crash_site_random_bg_explosion(); +} + +//Function Number: 5 +begin_crash_site() +{ + if(level.currentgen) + { + var_00 = ["crash_mech"]; + thread maps\_cg_encounter_perf_monitor::cg_spawn_perf_monitor("end_crash_perf_monitor",var_00,18,0); + } + + if(level.currentgen) + { + if(!istransientloaded("crash_site_tr")) + { + level.player setgravityoverride(0); + level notify("tff_pre_sky_to_site"); + unloadtransient("crash_sky_tr"); + loadtransient("crash_site_tr"); + while(!istransientloaded("crash_site_tr")) + { + wait(0.05); + } + + level notify("tff_post_sky_to_site"); + level.player resetgravityoverride(); + } + } + + thread maps\_utility::autosave_by_name("crash_site"); + level.crash_site_animnode = common_scripts\utility::getstruct("crash_site_animnode","targetname"); + level.wind_dir = (0,90,0); + if(level.start_point == "crash_site") + { + wait 0.05; + } + + common_scripts\utility::flag_set("begin_crash_site_lighting"); + common_scripts\_exploder::exploder(1999); + var_01 = common_scripts\utility::getstruct("crash_site_cormack","targetname"); + level.cormack forceteleport(var_01.origin,var_01.angles); + level.ilana = maps\crash_utility::spawn_ally("ilana","crash_site_ilana"); + wait 0.05; + level.ilana maps\_utility::set_force_color("g"); + level.ilana.canjumppath = 1; + maps\_utility::array_spawn_function_targetname("plane_allies",::crash_site_plane_allies); + if(level.nextgen) + { + level.allies_plane = maps\_utility::array_spawn_targetname("plane_allies",1); + } + else + { + var_02 = getentarray("plane_allies","targetname"); + level.allies_plane = maps\_utility::array_spawn_cg(var_02,1); + } + + thread crash_site_cormack(); + thread crash_site_ilana(); + thread crash_site_player_gun(); + thread crash_site_bunker_sentinels(); + thread crash_site_intro_killer(); + thread crash_site_intro_killer2(); + thread crash_site_player(); + thread kill_trigger_array(); + thread check_potential_falling_death(); + thread falling_death(); + thread razorback_trigger_handler(); + thread razorback_cargo_player(); + thread crash_site_combat_manager(); + thread crash_site_drop_pod_manager(); + thread crash_site_kill_counter(); + thread crash_site_plane(); + thread crash_site_chutes(); + thread crash_site_runway(); + thread crash_site_drone(); + thread razorback_razorback(); + thread razorback_cargo(); + thread background_drop_pods(); + thread crash_site_random_bg_explosion(); + thread crash_site_random_playspace_explosion(); + common_scripts\utility::flag_set("white_fade_done"); + wait(1); + maps\_utility::array_spawn_function_targetname("bunker_allies",::crash_site_bunker_allies); + wait(2); + level thread maps\_high_speed_clouds::cloudfastnone(2); + level.player thread maps\crash_exo_temperature::set_external_temperature_over_time(level.temperature_outdoor,12); + level.player maps\_utility::delaythread(13,::maps\crash_utility::exo_temp_outdoor); + if(level.nextgen) + { + maps\_utility::array_spawn_function_targetname("razorback_allies",::crash_site_razorback_allies); + maps\_utility::array_spawn_targetname("razorback_allies",1); + } + + wait(2); + if(level.nextgen) + { + level.allies_bunker = maps\_utility::array_spawn_targetname("bunker_allies",1); + } + else + { + var_02 = getentarray("bunker_allies","targetname"); + level.allies_bunker = maps\_utility::array_spawn_cg(var_02,1); + } + + thread maps\_utility::center_screen_text(&"CRASH_INTROSCREEN_ANTARCTICA"); + level notify("stop_fast_clouds"); + self notify("fast_cloud_level_change"); + self notify("new_ramp"); + level.player pushplayervector((0,0,0),0); + wait(0.1); + thread maps\_utility::autosave_by_name("on_ground"); + thread crash_site_dialogue(); + common_scripts\utility::flag_wait_either("go_drop_pods","drop_pod_failsafe"); + setsaveddvar("cg_cinematicfullscreen","0"); + setsaveddvar("cg_cinematicCanPause","0"); + thread crash_site_dead_razorback_guys(); + wait(3); + maps\_utility::battlechatter_on("allies"); + maps\_utility::battlechatter_on("axis"); + common_scripts\utility::flag_wait("crash_site_done"); +} + +//Function Number: 6 +crash_site_player() +{ + if(level.start_point != "crash_site") + { + level.player takeallweapons(); + foreach(var_01 in level.player_weapons) + { + level.player giveweapon(var_01); + } + + level.player enableweaponswitch(); + level.player switchtoweapon("iw5_hbra3_sp_opticstargetenhancer"); + level.player givemaxammo("iw5_hbra3_sp_opticstargetenhancer"); + } + + level.player setstance("stand"); + var_03 = maps\_utility::spawn_anim_model("rig"); + var_03 dontcastshadows(); + thread maps\_shg_utility::disable_features_entering_cinema(); + level.player playerlinktodelta(var_03,"tag_player",1,0,0,0,0); + soundscripts\_snd::snd_message("ambush_events"); + level.crash_site_animnode thread maps\_anim::anim_single_solo(var_03,"crash_atlas_plane_crash_player"); + wait(3); + level.player lerpviewangleclamp(0.25,0.15,0,10,10,10,7); + var_03 waittillmatch("player_land","single anim"); + level.player playrumbleonentity("light_2s"); + common_scripts\utility::flag_wait("zero_view"); + level.player lerpviewangleclamp(0.4,0.15,0,0,0,0,0); + common_scripts\utility::flag_wait("unhide_cargo"); + level.player lerpviewangleclamp(0.25,0.15,0,10,10,10,7); + var_04 = getent("player_jetpack","targetname"); + var_04 show(); + var_03 waittillmatch("end","single anim"); + var_05 = getentarray("crash_site_triggers","targetname"); + foreach(var_07 in var_05) + { + var_07 common_scripts\utility::trigger_on(); + } + + level.player unlink(); + thread maps\_shg_utility::enable_features_exiting_cinema(); + common_scripts\utility::flag_set("crash_lighting_cinema_end"); + level.player allowcrouch(1); + level.player allowjump(1); + level.player allowsprint(1); + level.player allowprone(1); + level.player allowads(1); + level.player allowmelee(1); + level.player enableweapons(); + thread maps\crash_utility::player_exo_enable(); + var_03 delete(); +} + +//Function Number: 7 +crash_site_player_gun() +{ + var_00 = maps\_utility::spawn_anim_model("cs_gun"); + level.crash_site_animnode maps\_anim::anim_first_frame_solo(var_00,"plane_crash_player_gun"); + var_01 = spawn("script_model",var_00 gettagorigin("j_prop_1")); + var_01 setmodel("npc_hbra3_nocamo"); + var_01.angles = var_00 gettagangles("j_prop_1"); + var_01 linkto(var_00,"j_prop_1"); + common_scripts\utility::flag_wait("white_fade_done"); + level.crash_site_animnode maps\_anim::anim_single_solo(var_00,"plane_crash_player_gun"); + var_01 delete(); + var_00 delete(); +} + +//Function Number: 8 +crash_site_cormack() +{ + level.cormack endon("death"); + level.cormack.ignoreme = 1; + level.cormack.lastgroundtype = "snow"; + level.crash_site_animnode thread maps\_anim::anim_single_solo(level.cormack,"atlas_plane_crash"); + playfxontag(common_scripts\utility::getfx("jetpack_skyjack_trail"),level.cormack,"tag_fx_engine_l_exhause"); + wait(0.05); + playfxontag(common_scripts\utility::getfx("jetpack_skyjack_trail"),level.cormack,"tag_fx_engine_r_exhause"); + wait(0.1); + playfxontag(common_scripts\utility::getfx("jetpack_exhaust_exhaust_npc"),level.cormack,"tag_fx_engine_l_exhause"); + wait(0.05); + playfxontag(common_scripts\utility::getfx("jetpack_exhaust_exhaust_npc"),level.cormack,"tag_fx_engine_r_exhause"); + level.cormack waittillmatch("jets_off","single anim"); + stopfxontag(common_scripts\utility::getfx("jetpack_skyjack_trail"),level.cormack,"tag_fx_engine_l_exhause"); + stopfxontag(common_scripts\utility::getfx("jetpack_skyjack_trail"),level.cormack,"tag_fx_engine_r_exhause"); + wait 0.05; + stopfxontag(common_scripts\utility::getfx("jetpack_exhaust_exhaust_npc"),level.cormack,"tag_fx_engine_l_exhause"); + stopfxontag(common_scripts\utility::getfx("jetpack_exhaust_exhaust_npc"),level.cormack,"tag_fx_engine_r_exhause"); + level.cormack waittillmatch("cormack_land","single anim"); + playfxontag(common_scripts\utility::getfx("boost_dust_impact_ground"),level.cormack,"j_ball_le"); + level.cormack waittillmatch("pods_enter","single anim"); + common_scripts\utility::flag_set("go_drop_pods"); + wait(1); + maps\_utility::activate_trigger_with_targetname("plane_allies_move"); + level.cormack waittillmatch("end","single anim"); + level.cormack maps\_utility::gun_recall(); + level.cormack maps\_utility::enable_ai_color_dontmove(); + stopfxontag(common_scripts\utility::getfx("boost_dust_impact_ground"),level.cormack,"j_ball_le"); + wait(0.5); + level.cormack maps\crash_utility::clear_additive_helmet_anim(0); + maps\_utility::activate_trigger_with_targetname("ambush_start_color"); + common_scripts\utility::flag_set("crash_site_battle_start"); + level.cormack.ignoreme = 0; + common_scripts\utility::flag_wait_either("razorback_start","player_loading_cargo"); + thread crash_site_bg_warbirds(); + common_scripts\utility::flag_set("crash_site_done"); +} + +//Function Number: 9 +cormack_jetpack_switch(param_00) +{ + var_01 = spawn("script_model",level.cormack gettagorigin("tag_jetpack") + (0,0,-16)); + var_01.angles = level.cormack gettagangles("tag_jetpack"); + var_01 setmodel("jetpack_sentinel_halo"); + wait 0.05; + level.cormack setmodel("body_hero_cormack_sentinel_halo"); +} + +//Function Number: 10 +crash_site_ilana() +{ + level.ilana endon("death"); + level.ilana.ignoreme = 1; + level.crash_site_animnode maps\_anim::anim_first_frame_solo(level.ilana,"atlas_plane_crash"); + common_scripts\utility::flag_wait("white_fade_done"); + level.crash_site_animnode thread maps\_anim::anim_single_solo(level.ilana,"atlas_plane_crash"); + level.ilana waittillmatch("end","single anim"); + level.ilana.ignoreme = 0; +} + +//Function Number: 11 +crash_site_plane() +{ + var_00 = getent("crash_site_plane","targetname"); + var_00.animname = "cargo_plane"; + var_00 maps\_anim::setanimtree(); + level.crashing_plane = var_00; + var_00 hidepart("J_LT_WING"); + var_00 hidepart("J_RT_WING"); + var_00 hidepart("J_FLAP_L1"); + var_00 hidepart("J_FLAP_L2"); + var_00 hidepart("J_FLAP_R1"); + var_00 hidepart("J_FLAP_R2"); + var_00 hidepart("J_SPOILER_L1"); + var_00 hidepart("J_SPOILER_L2"); + var_00 hidepart("J_SPOILER_L3"); + var_00 hidepart("J_SPOILER_L4"); + var_00 hidepart("J_SPOILER_R1"); + var_00 hidepart("J_SPOILER_R2"); + var_00 hidepart("J_SPOILER_R3"); + var_00 hidepart("J_SPOILER_R4"); + level.crash_site_animnode maps\_anim::anim_first_frame_solo(var_00,"atlas_plane_crash_plane"); + wait 0.05; + common_scripts\utility::flag_wait("white_fade_done"); + level.crash_site_animnode thread maps\_anim::anim_single_solo(var_00,"atlas_plane_crash_plane"); + wait(0.15); + playfxontag(level._effect["fire_burning_vtol_left"],var_00,"tag_smoke_lt_body"); + wait(0.1); + playfxontag(level._effect["fire_burning_vtol"],var_00,"tag_smoke_rt_body"); + common_scripts\_exploder::exploder(8124); + wait(0.3); + if(level.start_point != "crash_site") + { + playfxontag(level._effect["fx_crash_hud_flare"],var_00,"body_animate_jnt"); + } + + wait(0.7); + common_scripts\_exploder::exploder(1100); + wait(4.95); + common_scripts\utility::flag_set("crash_dof_fly_in"); + wait(1.55); + playfxontag(level._effect["crash_vtol_landing_exp"],var_00,"tag_smoke_rt_body"); + wait(6); + common_scripts\_exploder::exploder(1300); + var_00 waittillmatch("end","single anim"); + common_scripts\_exploder::kill_exploder(8124); + if(level.nextgen) + { + common_scripts\utility::flag_wait("cave_entry_done"); + } + else + { + level waittill("tff_pre_site_to_caves"); + } + + stopfxontag(level._effect["fire_burning_vtol"],var_00,"tag_smoke_rt_body"); + stopfxontag(level._effect["fire_burning_vtol_left"],var_00,"tag_smoke_lt_body"); + wait 0.05; + var_00 delete(); +} + +//Function Number: 12 +crash_site_chutes() +{ + var_00 = []; + var_00[0] = maps\_utility::spawn_anim_model("drone_chute1"); + var_00[1] = maps\_utility::spawn_anim_model("drone_chute2"); + var_00[2] = maps\_utility::spawn_anim_model("drone_chute3"); + var_00[3] = maps\_utility::spawn_anim_model("drone_cable"); + level.crash_site_animnode thread maps\_anim::anim_single(var_00,"atlas_plane_crash"); + var_00[0] waittillmatch("switch","single anim"); + common_scripts\utility::array_call(var_00,::hide); + maps\_utility::array_delete(var_00); + var_01 = maps\_utility::spawn_anim_model("ground_chute"); + level.crash_site_animnode thread maps\_anim::anim_loop_solo(var_01,"crash_chute_idle","stop_chute"); + common_scripts\utility::flag_wait("crash_site_done"); + level.crash_site_animnode notify("stop_chute"); + wait(0.05); + var_01 delete(); +} + +//Function Number: 13 +crash_site_runway() +{ + var_00 = getent("runway_shell_geo_01","targetname"); + var_01 = getent("runway_shell_geo_02","targetname"); + var_02 = getent("runway_shell_geo_03","targetname"); + var_03 = getent("runway_shell_geo_04","targetname"); + var_04 = getent("runway_shell_geo_05","targetname"); + var_05 = getent("runway_shell_geo_06","targetname"); + var_06 = getent("runway_shell_geo_07","targetname"); + var_07 = getent("runway_shell_geo_08","targetname"); + var_08 = getent("runway_shell_geo_09","targetname"); + var_09 = getent("runway_shell_geo_10","targetname"); + var_0A = getent("runway_shell_geo_11","targetname"); + wait(5.05); + var_00 connectpaths(); + var_01 connectpaths(); + var_00 delete(); + var_01 delete(); + wait(0.25); + var_02 connectpaths(); + var_02 delete(); + wait(0.45); + var_03 connectpaths(); + var_03 delete(); + wait(0.95); + var_04 connectpaths(); + var_04 delete(); + wait(0.23); + var_05 connectpaths(); + var_05 delete(); + wait(0.33); + var_06 connectpaths(); + var_06 delete(); + wait(0.49); + var_07 connectpaths(); + var_07 delete(); + wait(0.69); + var_08 connectpaths(); + var_08 delete(); + wait(0.61); + var_09 connectpaths(); + var_09 delete(); + wait(1.22); + var_0A connectpaths(); + var_0A delete(); + var_0B = getent("crash_site_plane_snow","targetname"); + var_0B show(); + var_0C = getentarray("crash_site_plane_snowpiles","targetname"); + foreach(var_0E in var_0C) + { + var_0E show(); + } + + wait(3.28); + var_10 = getentarray("crash_site_scorching","targetname"); + foreach(var_12 in var_10) + { + var_12 show(); + } + + var_14 = getentarray("crash_site_debris_models","targetname"); + foreach(var_0E in var_14) + { + var_0E show(); + } +} + +//Function Number: 14 +crash_site_drone() +{ + var_00 = maps\_utility::spawn_anim_model("drone_pod"); + level.crash_site_animnode maps\_anim::anim_first_frame_solo(var_00,"atlas_plane_crash_drone"); + common_scripts\utility::flag_wait("white_fade_done"); + level.crash_site_animnode maps\_anim::anim_single_solo(var_00,"atlas_plane_crash_drone"); +} + +//Function Number: 15 +crash_site_plane_allies() +{ + self endon("death"); + self.health = 500; + self.canjumppath = 2.5; + self.baseaccuracy = self.baseaccuracy * 0.25; + self.animname = self.script_noteworthy; + maps\_utility::enable_ai_color_dontmove(); + var_00 = common_scripts\utility::spawn_tag_origin(); + self setgoalpos(var_00.origin); + self.ignoreall = 1; + common_scripts\utility::flag_wait("go_drop_pods"); + self.ignoreall = 0; + var_00 delete(); + self.health = int(self.health * 0.2); +} + +//Function Number: 16 +crash_site_razorback_allies() +{ + self.ignoreall = 1; + self.canjumppath = 10; + common_scripts\utility::flag_wait("go_drop_pods"); + if(isdefined(self) && isalive(self)) + { + self delete(); + } +} + +//Function Number: 17 +crash_site_intro_killer() +{ + var_00 = maps\_utility::get_living_ai("sent1","script_noteworthy"); + var_00.animname = "sent1"; + var_00 maps\_utility::disable_ai_color(); + level.crash_site_animnode maps\_anim::anim_single_solo(var_00,"atlas_plane_crash_craig"); + var_01 = getnode("killer_node","targetname"); + var_00 setgoalnode(var_01); + var_00 waittill("goal"); + var_00 maps\_utility::enable_ai_color_dontmove(); +} + +//Function Number: 18 +crash_site_intro_killer2() +{ + var_00 = maps\_utility::get_living_ai("sent2","script_noteworthy"); + var_00.animname = "sent2"; + var_00 maps\_utility::disable_ai_color(); + level.crash_site_animnode maps\_anim::anim_single_solo(var_00,"atlas_plane_crash_tony"); + var_01 = getnode("killer_node2","targetname"); + var_00 setgoalnode(var_01); + var_00 waittill("goal"); + var_00 maps\_utility::enable_ai_color_dontmove(); +} + +//Function Number: 19 +crash_site_bunker_allies() +{ + self.baseaccuracy = self.baseaccuracy * 0.25; + thread maps\_utility::magic_bullet_shield(); + self.canjumppath = 2.5; + self.ignoreall = 1; + self.suppressionthreshold = 0.15; + self waittill("goal"); + maps\_utility::enable_ai_color_dontmove(); + common_scripts\utility::flag_wait("go_drop_pods"); + self.ignoreall = 0; +} + +//Function Number: 20 +crash_site_bunker_sentinels() +{ + common_scripts\utility::flag_wait("razorback_start"); + if(level.nextgen) + { + level.bunker_guy01 = maps\_utility::get_living_ai("bunker_ally_01","script_noteworthy"); + level.bunker_guy01.animname = "bunker_guy01"; + level.bunker_guy01 maps\_utility::disable_ai_color(); + var_00 = getnode("bunker_ally_01_node","targetname"); + level.bunker_guy01 setgoalnode(var_00); + level.bunker_guy01 thread bunker_settings(); + level.bunker_guy02 = maps\_utility::get_living_ai("bunker_ally_02","script_noteworthy"); + level.bunker_guy02.animname = "bunker_guy02"; + level.bunker_guy02 maps\_utility::disable_ai_color(); + var_01 = getnode("bunker_ally_02_node","targetname"); + level.bunker_guy02 setgoalnode(var_01); + level.bunker_guy02 thread bunker_settings(); + } + + level.bunker_guy03 = maps\_utility::get_living_ai("bunker_ally_03","script_noteworthy"); + level.bunker_guy03.animname = "bunker_guy03"; + level.bunker_guy03 maps\_utility::disable_ai_color(); + var_02 = getnode("bunker_ally_03_node","targetname"); + level.bunker_guy03 setgoalnode(var_02); + level.bunker_guy03 thread bunker_settings(); +} + +//Function Number: 21 +crash_site_dead_razorback_guys() +{ + if(level.nextgen) + { + maps\_utility::array_spawn_function_targetname("dead_razor_ally",::dead_razorback_spawn); + level.crash_site_ally_drones = maps\_utility::array_spawn_targetname("dead_razor_ally",1); + } +} + +//Function Number: 22 +dead_razorback_spawn() +{ + var_00 = common_scripts\utility::getstruct(self.script_noteworthy,"targetname"); + self.animname = "generic"; + thread maps\crash_utility::disable_awareness(); + maps\_utility::set_battlechatter(0); + maps\_utility::gun_remove(); + self.script_friendname = " "; + self.name = " "; + thread maps\_utility::magic_bullet_shield(); + self invisiblenotsolid(); + var_00 thread maps\_anim::anim_loop_solo(self,self.script_animation,"stop_loop"); +} + +//Function Number: 23 +crash_site_combat_manager() +{ + level endon("crash_site_failed"); + level.player endon("death"); + var_00 = getent("bunker_badplace","targetname"); + badplace_brush("bunker_badplace",-1,var_00,"axis"); + common_scripts\utility::flag_wait("wave1_pods_done"); + thread fake_drop_pods(); + level.pod_enemies = common_scripts\utility::array_removeundefined(level.pod_enemies); + var_01 = 16 - level.pod_enemies.size; + var_02 = 6 - var_01; + var_02 = clamp(var_02,0,6); + var_02 = int(var_02); + thread maps\crash_utility::ai_array_killcount_flag_set(level.pod_enemies,var_02,"drop_pod_failsafe"); + common_scripts\utility::flag_wait("drop_pod_failsafe"); + level.pod_enemies = common_scripts\utility::array_removeundefined(level.pod_enemies); + var_03 = level.pod_enemies.size; + var_04 = getent("cs_advance_1","script_noteworthy"); + if(isdefined(var_04)) + { + maps\_utility::activate_trigger("cs_advance_1","script_noteworthy",level.player); + } + + wait 0.05; + if(isdefined(var_04)) + { + var_04 delete(); + } + + common_scripts\utility::flag_set("wave2_pods_starting"); + thread retreat_from_vol_to_vol("vol_ambush_combat_0_n","vol_ambush_combat_1_n",0.05,0.25); + thread retreat_from_vol_to_vol("vol_ambush_combat_0_s","vol_ambush_combat_1_s",0.05,0.25); + common_scripts\utility::flag_wait("wave2_pods_done"); + if(!common_scripts\utility::flag("cs_pre_fail_state") && !common_scripts\utility::flag("above_hole")) + { + thread maps\_utility::autosave_by_name("cs_combat_1"); + } + + level.pod_enemies = common_scripts\utility::array_removeundefined(level.pod_enemies); + var_03 = level.pod_enemies.size; + var_01 = 12 - level.pod_enemies.size; + if(var_01 < 0) + { + var_01 = 0; + } + + var_02 = 5 - var_01; + var_02 = clamp(var_02,0,5); + var_02 = int(var_02); + thread maps\crash_utility::ai_array_killcount_flag_set(level.pod_enemies,var_02,"fallback_vol_2"); + common_scripts\utility::flag_wait("fallback_vol_2"); + level.pod_enemies = common_scripts\utility::array_removeundefined(level.pod_enemies); + var_03 = level.pod_enemies.size; + var_04 = getent("cs_advance_2","script_noteworthy"); + if(isdefined(var_04)) + { + maps\_utility::activate_trigger("cs_advance_2","script_noteworthy",level.player); + } + + wait 0.05; + if(isdefined(var_04)) + { + var_04 delete(); + } + + common_scripts\utility::flag_set("wave3_pods_starting"); + thread retreat_from_vol_to_vol("vol_ambush_combat_1_n","vol_ambush_combat_2_n",0.05,0.25); + thread retreat_from_vol_to_vol("vol_ambush_combat_1_s","vol_ambush_combat_2_s",0.05,0.25); + wait(12.2); + level.pod_enemies = common_scripts\utility::array_removeundefined(level.pod_enemies); + var_03 = level.pod_enemies.size; + var_01 = 16 - level.pod_enemies.size; + if(var_01 < 0) + { + var_01 = 0; + } + + var_02 = 8 - var_01; + var_02 = clamp(var_02,0,8); + var_02 = int(var_02); + var_04 = getent("cs_advance_3","script_noteworthy"); + if(isdefined(var_04)) + { + maps\_utility::activate_trigger("cs_advance_3","script_noteworthy",level.player); + } + + wait 0.05; + if(isdefined(var_04)) + { + var_04 delete(); + } + + thread retreat_from_vol_to_vol("vol_ambush_combat_2_n","vol_ambush_combat_3_n",0.05,0.25); + thread retreat_from_vol_to_vol("vol_ambush_combat_2_s","vol_ambush_combat_3_s",0.05,0.25); + common_scripts\utility::flag_wait("wave3_pods_done"); + if(!common_scripts\utility::flag("cs_pre_fail_state") && !common_scripts\utility::flag("above_hole")) + { + thread maps\_utility::autosave_by_name("cs_combat_2"); + } + + level.pod_enemies = common_scripts\utility::array_removeundefined(level.pod_enemies); + var_03 = level.pod_enemies.size; + var_01 = 16 - level.pod_enemies.size; + if(var_01 < 0) + { + var_01 = 0; + } + + var_02 = 8 - var_01; + var_02 = clamp(var_02,0,8); + var_02 = int(var_02); + thread maps\crash_utility::ai_array_killcount_flag_set(level.pod_enemies,var_02,"fallback_vol_3"); + common_scripts\utility::flag_wait("fallback_vol_3"); + var_04 = getent("cs_advance_4","script_noteworthy"); + if(isdefined(var_04)) + { + maps\_utility::activate_trigger("cs_advance_4","script_noteworthy",level.player); + } + + wait 0.05; + if(isdefined(var_04)) + { + var_04 delete(); + } + + thread retreat_from_vol_to_vol("vol_ambush_combat_3_n","vol_ambush_combat_4_n",0.05,0.15); + thread retreat_from_vol_to_vol("vol_ambush_combat_3_s","bg_ai_volume",0.05,0.15); + level.pod_enemies = common_scripts\utility::array_removeundefined(level.pod_enemies); + var_03 = level.pod_enemies.size; + var_02 = level.pod_enemies.size - 8; + var_02 = clamp(var_02,0,10); + var_02 = int(var_02); + thread maps\crash_utility::ai_array_killcount_flag_set(level.pod_enemies,var_02,"razorback_start"); + common_scripts\utility::flag_wait("razorback_start"); + common_scripts\utility::flag_set("start_background_elements"); + var_04 = getent("cs_advance_5","script_noteworthy"); + if(isdefined(var_04)) + { + var_04 delete(); + } +} + +//Function Number: 24 +crash_site_kill_counter() +{ + var_00 = 0; + while(!isdefined(level.pod_enemies)) + { + wait(0.05); + } + + while(level.pod_enemies.size < 1) + { + wait(0.05); + } + + while(var_00 < 10) + { + maps\_utility::waittill_dead_or_dying(level.pod_enemies,1); + var_00 = var_00 + 1; + } + + common_scripts\utility::flag_set("keep_pushing"); + while(var_00 < 25) + { + maps\_utility::waittill_dead_or_dying(level.pod_enemies,1); + var_00 = var_00 + 1; + } + + common_scripts\utility::flag_set("rz_pilot_vo"); + common_scripts\utility::flag_set("obj_move_dot_razorback"); +} + +//Function Number: 25 +retreat_from_vol_to_vol(param_00,param_01,param_02,param_03) +{ + var_04 = getent(param_00,"targetname"); + var_05 = var_04 maps\_utility::get_ai_touching_volume("axis"); + var_06 = getent(param_01,"targetname"); + var_07 = getnode(var_06.target,"targetname"); + foreach(var_09 in var_05) + { + if(isdefined(var_09) && isalive(var_09)) + { + if(issubstr(var_09.model,"shotgun")) + { + return; + } + + var_09.ignoresuppression = 1; + var_09.forcegoal = 0; + var_09.fixednode = 0; + var_09.pathrandompercent = randomintrange(75,100); + var_09 setgoalvolumeauto(var_06); + wait(5); + if(isdefined(var_09) && isalive(var_09)) + { + var_09.ignoresuppression = 0; + } + } + } +} + +//Function Number: 26 +fake_drop_pods() +{ + level endon("crash_site_done"); + var_00 = []; + var_00[0] = getent("fake_drop_pod_1","targetname"); + var_00[1] = getent("fake_drop_pod_2","targetname"); + var_00[2] = getent("fake_drop_pod_3","targetname"); + var_00[3] = getent("fake_drop_pod_4","targetname"); + var_00[4] = getent("fake_drop_pod_5","targetname"); + for(var_01 = 0;var_01 < var_00.size;var_01++) + { + var_02 = getent(var_00[var_01].target,"targetname"); + wait(randomintrange(5,10)); + while(!level.player worldpointinreticle_circle(var_02.origin,65,400)) + { + wait(0.05); + } + + var_00[var_01] thread drop_pod_fall(); + } +} + +//Function Number: 27 +crash_site_drop_pod_manager() +{ + level endon("crash_site_done"); + level endon("stop_drop_pods"); + level.pod_enemies = []; + common_scripts\utility::flag_wait("go_drop_pods"); + var_00 = getentarray("drop_pod_0_clip","targetname"); + var_01 = getent("drop_pod_0","targetname"); + var_02 = getentarray("drop_pod_0_crater","targetname"); + var_01 thread drop_pod_fall("enemy",var_02); + var_03 = getent("drop_pod_1","targetname"); + var_04 = getentarray("drop_pod_1_crater","targetname"); + var_05 = getent("drop_pod_2","targetname"); + var_06 = getentarray("drop_pod_2_crater","targetname"); + var_07 = getent("drop_pod_3","targetname"); + var_08 = getentarray("drop_pod_3_crater","targetname"); + wait(0.75); + var_03 thread drop_pod_fall("enemy",var_04); + wait(randomfloatrange(1.25,2.25)); + maps\_utility::array_spawn_function_targetname("cs_first_response",::first_response); + if(level.nextgen) + { + maps\_utility::array_spawn_targetname("cs_first_response",1); + } + else + { + var_09 = getentarray("cs_first_response","targetname"); + maps\_utility::array_spawn_cg(var_09,1); + } + + var_05 thread drop_pod_fall("enemy",var_06); + wait(randomfloatrange(4,5.5)); + var_07 thread drop_pod_fall("enemy",var_08); + wait(3.6); + common_scripts\utility::flag_set("wave1_pods_done"); + common_scripts\utility::flag_wait("wave2_pods_starting"); + var_0A = getent("drop_pod_4","targetname"); + var_0B = getent("drop_pod_5","targetname"); + var_0C = getent("drop_pod_6","targetname"); + var_0D = getent(var_0A.target,"targetname"); + var_0E = getent(var_0B.target,"targetname"); + var_0F = getent(var_0C.target,"targetname"); + var_10 = getentarray("drop_pod_4_crater","targetname"); + var_11 = getentarray("drop_pod_5_crater","targetname"); + var_12 = getentarray("drop_pod_6_crater","targetname"); + wait(randomfloatrange(0.75,1.75)); + thread drop_pod_chooser(var_0A,var_0D,var_10,var_0B,var_0E,var_11,var_0C,var_0F,var_12); + wait(randomfloatrange(2.75,5)); + common_scripts\utility::flag_set("choose_drop_pod"); + wait(randomfloatrange(4,5.5)); + common_scripts\utility::flag_set("choose_drop_pod"); + wait(3.6); + level notify("done_choosing_drop_pods"); + common_scripts\utility::flag_set("wave2_pods_done"); + common_scripts\utility::flag_wait("wave3_pods_starting"); + var_13 = getent("drop_pod_7","targetname"); + var_14 = getent("drop_pod_8","targetname"); + var_15 = getent("drop_pod_9","targetname"); + var_16 = getent(var_13.target,"targetname"); + var_17 = getent(var_14.target,"targetname"); + var_18 = getent(var_15.target,"targetname"); + var_19 = getentarray("drop_pod_7_crater","targetname"); + var_1A = getentarray("drop_pod_8_crater","targetname"); + var_1B = getentarray("drop_pod_9_crater","targetname"); + var_1C = getent("drop_pod_10","targetname"); + var_1D = getentarray("drop_pod_10_crater","targetname"); + thread drop_pod_chooser(var_13,var_16,var_19,var_14,var_17,var_1A,var_15,var_18,var_1B); + wait(3.6); + common_scripts\utility::flag_set("choose_drop_pod"); + wait(randomfloatrange(2.75,5)); + common_scripts\utility::flag_set("choose_drop_pod"); + wait(3.6); + level notify("done_choosing_drop_pods"); + common_scripts\utility::flag_set("wave3_pods_done"); +} + +//Function Number: 28 +drop_pod_chooser(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + level endon("done_choosing_drop_pods"); + param_00.valid = 1; + param_03.valid = 1; + param_06.valid = 1; + for(;;) + { + if(isdefined(param_00) && level.player worldpointinreticle_circle(param_01.origin,65,200) && param_00.valid == 1) + { + param_00 thread drop_pod_fall("enemy",param_02); + param_00.valid = 0; + } + else if(isdefined(param_03) && level.player worldpointinreticle_circle(param_04.origin,65,200) && param_03.valid == 1) + { + param_03 thread drop_pod_fall("enemy",param_05); + param_03.valid = 0; + } + else if(isdefined(param_06) && level.player worldpointinreticle_circle(param_07.origin,65,200) && param_06.valid == 1) + { + param_06 thread drop_pod_fall("enemy",param_08); + param_06.valid = 0; + } + else if(isdefined(param_00) && param_00.valid == 1) + { + param_00 thread drop_pod_fall("enemy",param_02); + param_00.valid = 0; + } + else if(isdefined(param_03) && param_03.valid == 1) + { + param_03 thread drop_pod_fall("enemy",param_05); + param_03.valid = 0; + } + else if(isdefined(param_06) && param_06.valid == 1) + { + param_06 thread drop_pod_fall("enemy",param_08); + param_06.valid = 0; + } + else + { + } + + common_scripts\utility::flag_clear("choose_drop_pod"); + common_scripts\utility::flag_wait("choose_drop_pod"); + } +} + +//Function Number: 29 +first_response() +{ + self.canjumppath = 1; + maps\_utility::magic_bullet_shield(); + wait(3); + maps\_utility::stop_magic_bullet_shield(); +} + +//Function Number: 30 +crash_site_dialogue() +{ + level endon("crash_site_failed"); + level.player endon("death"); + common_scripts\utility::flag_wait("crash_site_battle_start"); + common_scripts\utility::flag_set("obj_start_goto_razorback"); + wait(1); + thread player_boost_hint(); + thread crash_site_battle_chatter_manager(); + common_scripts\utility::flag_wait("keep_pushing"); + if(!common_scripts\utility::flag("player_loading_cargo")) + { + maps\_utility::smart_radio_dialogue("crsh_ss1_heavylosses"); + wait(0.25); + maps\_utility::smart_radio_dialogue("crsh_iln_makeit"); + maps\_utility::smart_radio_dialogue("crsh_crmk_pushthrough3"); + wait(0.75); + if(!common_scripts\utility::flag("player_loading_cargo")) + { + maps\_utility::smart_radio_dialogue("crsh_ss1_mandown"); + } + + wait(1.5); + if(!common_scripts\utility::flag("player_loading_cargo")) + { + maps\_utility::smart_radio_dialogue("crsh_crmk_gettocargo"); + } + } + + common_scripts\utility::flag_wait("rz_pilot_vo"); + if(!common_scripts\utility::flag("player_loading_cargo")) + { + maps\_utility::smart_radio_dialogue("crsh_grdn5_liftingoff"); + maps\_utility::smart_radio_dialogue("crsh_crmk_yourass"); + } + + var_00 = maps\_utility::make_array("crsh_crmk_cargoahead","crsh_crmk_pushtocargo"); + thread maps\crash_utility::nag_until_flag(var_00,"razorback_start",15,20,5); +} + +//Function Number: 31 +crash_site_battle_chatter_manager() +{ + level endon("crash_site_failed"); + level.player endon("death"); + thread crash_site_battle_chatter_chooser("crsh_iln_hostileswest","razorback_start",0.75); + thread crash_site_battle_chatter_chooser("crsh_ss1_southridge","pod4_5_spawned",0.35); + thread crash_site_battle_chatter_chooser("crsh_ss1_mnorthridge","pod7_spawned",0.35); + thread crash_site_battle_chatter_north(); + thread crash_site_battle_chatter_south(); + thread crash_site_bg_battle_chatter_north(); + thread crash_site_bg_battle_chatter_south(); +} + +//Function Number: 32 +crash_site_battle_chatter_north() +{ + level endon("crash_site_failed"); + level.player endon("death"); + level endon("right_flank_called"); + level endon("player_pre_loading_cargo"); + var_00 = getent("vol_ambush_combat_north","targetname"); + for(;;) + { + var_01 = 0; + var_02 = maps\_utility::get_living_ai_array("pod_enemies","script_noteworthy"); + foreach(var_04 in var_02) + { + if(var_04 istouching(var_00)) + { + var_01 = var_01 + 1; + } + } + + if(var_01 > 12) + { + thread crash_site_battle_chatter_chooser("crsh_ss2_supressright"); + level notify("right_flank_called"); + } + + wait(0.05); + } +} + +//Function Number: 33 +crash_site_battle_chatter_south() +{ + level endon("crash_site_failed"); + level.player endon("death"); + level endon("left_flank_called"); + level endon("player_pre_loading_cargo"); + level.player endon("death"); + var_00 = getent("vol_ambush_combat_south","targetname"); + for(;;) + { + var_01 = 0; + var_02 = maps\_utility::get_living_ai_array("pod_enemies","script_noteworthy"); + foreach(var_04 in var_02) + { + if(var_04 istouching(var_00)) + { + var_01 = var_01 + 1; + } + } + + if(var_01 > 12) + { + thread crash_site_battle_chatter_chooser("crsh_crmk_moremen"); + level notify("left_flank_called"); + } + + wait(0.05); + } +} + +//Function Number: 34 +crash_site_bg_battle_chatter_north() +{ + level endon("crash_site_failed"); + level.player endon("death"); + level endon("bg_right_flank_called"); + level endon("player_pre_loading_cargo"); + var_00 = getent("vol_bg_combat_north","targetname"); + for(;;) + { + var_01 = 0; + var_02 = maps\_utility::get_living_ai_array("pod_enemies","script_noteworthy"); + var_03 = maps\_utility::get_living_ai_array("background_atlas","script_noteworthy"); + var_02 = common_scripts\utility::array_combine(var_02,var_03); + foreach(var_05 in var_02) + { + if(var_05 istouching(var_00)) + { + var_01 = var_01 + 1; + } + } + + if(var_01 > 6) + { + thread crash_site_battle_chatter_chooser("crsh_ss3_hostilesnorth"); + level notify("bg_right_flank_called"); + } + + wait(0.05); + } +} + +//Function Number: 35 +crash_site_bg_battle_chatter_south() +{ + level endon("crash_site_failed"); + level.player endon("death"); + level endon("bg_left_flank_called"); + level endon("player_pre_loading_cargo"); + var_00 = getent("vol_bg_combat_south","targetname"); + for(;;) + { + var_01 = 0; + var_02 = maps\_utility::get_living_ai_array("pod_enemies","script_noteworthy"); + var_03 = maps\_utility::get_living_ai_array("background_atlas","script_noteworthy"); + var_02 = common_scripts\utility::array_combine(var_02,var_03); + foreach(var_05 in var_02) + { + if(var_05 istouching(var_00)) + { + var_01 = var_01 + 1; + } + } + + if(var_01 > 6) + { + thread crash_site_battle_chatter_chooser("crsh_ss3_hostilesouth"); + level notify("bg_left_flank_called"); + } + + wait(0.05); + } +} + +//Function Number: 36 +crash_site_battle_chatter_chooser(param_00,param_01,param_02) +{ + level endon("crash_site_failed"); + level.player endon("death"); + level endon("stop_drone_respawn"); + if(isdefined(param_01)) + { + common_scripts\utility::flag_wait(param_01); + } + + if(isdefined(param_02)) + { + wait(param_02); + } + + switch(param_00) + { + case "crsh_iln_tangoseast": + maps\_utility::smart_radio_dialogue("crsh_iln_hostileseast"); + break; + + case "crsh_iln_tangoswest": + maps\_utility::smart_radio_dialogue("crsh_iln_hostileswest"); + break; + + case "crsh_crmk_leftflank": + maps\_utility::smart_radio_dialogue("crsh_crmk_moremen"); + break; + + case "crsh_ss1_podssouth": + maps\_utility::smart_radio_dialogue("crsh_ss1_southridge"); + break; + + case "crsh_ss1_podsnorth": + maps\_utility::smart_radio_dialogue("crsh_ss1_mnorthridge"); + break; + + case "crsh_ss2_rightflank1": + maps\_utility::smart_radio_dialogue("crsh_ss2_supressright"); + break; + + case "crsh_ss3_hostilesouth1": + maps\_utility::smart_radio_dialogue("crsh_ss3_hostilesouth"); + break; + + case "crsh_ss3_hostilesnorth1": + maps\_utility::smart_radio_dialogue("crsh_ss3_hostilesnorth"); + break; + } +} + +//Function Number: 37 +player_boost_hint() +{ + level.player maps\_utility::hintdisplayhandler("boost_jump",4); +} + +//Function Number: 38 +should_break_boost_jump_hint() +{ + return level.player ishighjumping(); +} + +//Function Number: 39 +crash_site_bg_warbirds() +{ + thread crash_site_bg_warbird_2(); + wait(5); + thread crash_site_bg_warbird_1(); + wait(5); + thread crash_site_bg_warbird_3(); +} + +//Function Number: 40 +crash_site_bg_warbird_1() +{ + var_00 = maps\_vehicle::spawn_vehicle_from_targetname("bg_warbird_1"); + var_00 maps\_vehicle::godon(); + var_01 = getent("bg_warbird_1_cables","targetname"); + var_02 = getent("bg_warbird_1_walker","targetname"); + var_01 linkto(var_00); + var_02 linkto(var_00); + wait 0.05; + var_00 maps\_utility::vehicle_detachfrompath(); + var_00 vehicle_setspeed(25,15,5); + var_03 = common_scripts\utility::getstruct("bg_warbird_1_path","targetname"); + var_00 thread maps\_utility::vehicle_dynamicpath(var_03,0); + common_scripts\utility::flag_wait_any("bg_warbird1_done","player_loading_cargo"); + var_01 delete(); + var_02 delete(); + var_00 delete(); +} + +//Function Number: 41 +crash_site_bg_warbird_2() +{ + var_00 = maps\_vehicle::spawn_vehicle_from_targetname("bg_warbird_2"); + var_00 maps\_vehicle::godon(); + var_01 = getent("bg_warbird_2_cables","targetname"); + var_02 = getent("bg_warbird_2_walker","targetname"); + var_01 linkto(var_00); + var_02 linkto(var_00); + wait 0.05; + var_00 maps\_utility::vehicle_detachfrompath(); + var_00 vehicle_setspeed(25,15,5); + var_03 = common_scripts\utility::getstruct("bg_warbird_2_path","targetname"); + var_00 thread maps\_utility::vehicle_dynamicpath(var_03,0); + common_scripts\utility::flag_wait_any("bg_warbird2_done","player_loading_cargo"); + var_01 delete(); + var_02 delete(); + var_00 delete(); +} + +//Function Number: 42 +crash_site_bg_warbird_3() +{ + var_00 = maps\_vehicle::spawn_vehicle_from_targetname("bg_warbird_3"); + var_00 maps\_vehicle::godon(); + var_01 = getent("bg_warbird_3_cables","targetname"); + var_02 = getent("bg_warbird_3_walker","targetname"); + var_01 linkto(var_00); + var_02 linkto(var_00); + wait 0.05; + var_00 maps\_utility::vehicle_detachfrompath(); + var_00 vehicle_setspeed(25,15,5); + var_03 = common_scripts\utility::getstruct("bg_warbird_3_path","targetname"); + var_00 thread maps\_utility::vehicle_dynamicpath(var_03,0); + common_scripts\utility::flag_wait_any("bg_warbird3_done","player_loading_cargo"); + var_01 delete(); + var_02 delete(); + var_00 delete(); +} + +//Function Number: 43 +drop_pod_fall(param_00,param_01) +{ + self show(); + var_02 = getent(self.target,"targetname"); + var_03 = common_scripts\utility::spawn_tag_origin(); + var_03 linkto(self); + playfxontag(common_scripts\utility::getfx("orbital_pod_trail_crsh"),var_03,"tag_origin"); + playfxontag(common_scripts\utility::getfx("smoketrail_groundtoair"),var_03,"tag_origin"); + soundscripts\_snd::snd_message("drop_pod",self); + self moveto(var_02.origin,2.5); + wait(2.5); + stopfxontag(common_scripts\utility::getfx("orbital_pod_trail_crsh"),var_03,"tag_origin"); + stopfxontag(common_scripts\utility::getfx("smoketrail_groundtoair"),var_03,"tag_origin"); + var_04 = common_scripts\utility::spawn_tag_origin(); + var_04.origin = var_04.origin + (0,0,24); + playfxontag(common_scripts\utility::getfx("drop_pod_landing_impact_snow"),var_04,"tag_origin"); + level.player playrumbleonentity("heavy_1s"); + if(isdefined(param_01)) + { + foreach(var_06 in param_01) + { + var_06 show(); + } + } + + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "drop_pod_node") + { + thread drop_pod_clip(); + } + + wait(0.75); + level endon("stop_drone_respawn"); + if(!isdefined(param_00)) + { + var_02 delete(); + } + else + { + var_02 show(); + } + + self delete(); + wait(0.25); + if(isdefined(param_00) && param_00 == "enemy") + { + var_08 = undefined; + if(isdefined(var_02.script_parameters) && var_02.script_parameters == "no_microwave") + { + var_08 = 0; + } + else + { + var_08 = 1; + } + + var_02 thread crash_site_drop_pod_enemies(var_08); + } + else if(isdefined(param_00) && param_00 == "drone") + { + var_09 = getentarray(var_02.target,"targetname"); + foreach(var_0B in var_09) + { + if(isdefined(var_0B.script_parameters) && var_0B.script_parameters == "first") + { + level thread bunker_respawn_handler(var_0B); + } + } + } + else if(isdefined(param_00) && param_00 == "mech") + { + var_02 thread cave_entry_goliath_spawn(); + } + + wait(0.4); + stopfxontag(common_scripts\utility::getfx("drop_pod_landing_impact_snow"),var_04,"tag_origin"); + var_03 delete(); + var_04 delete(); +} + +//Function Number: 44 +drop_pod_clip() +{ + var_00 = getent(self.targetname + "_clip","targetname"); + var_00 maps\_utility::ent_flag_init("touching_clip"); + while(!var_00 maps\_utility::ent_flag("touching_clip")) + { + if(!level.player istouching(var_00)) + { + var_00 solid(); + var_00 maps\_utility::ent_flag_set("touching_clip"); + } + + wait 0.05; + } +} + +//Function Number: 45 +crash_site_drop_pod_enemies(param_00) +{ + level endon("crash_site_done"); + var_01 = getentarray("pod_spawners","targetname"); + var_02 = common_scripts\utility::getstructarray(self.target,"targetname"); + var_03 = []; + if(isdefined(var_01[0]) && isdefined(var_02[0])) + { + for(var_04 = 0;var_04 < var_01.size;var_04++) + { + var_01[var_04].origin = var_02[var_04].origin; + if(isdefined(var_02[var_04].angles)) + { + var_01[var_04].angles = var_02[var_04].angles; + } + + var_03[var_04] = var_01[var_04] maps\_utility::spawn_ai(1); + common_scripts\utility::add_to_array(var_03,var_03[var_04]); + if(isdefined(param_00) && param_00 == 1) + { + if(randomint(100) < 25) + { + var_03[var_04] maps\crash_utility::equip_microwave_grenade(); + } + } + else + { + var_03[var_04].grenadeammo = 1; + } + + var_03[var_04] thread crash_site_jump_node_usage_scale(10,1,5); + if(var_02[var_04].script_noteworthy == "node") + { + var_05 = getnode(var_02[var_04].target,"targetname"); + var_03[var_04].goalradius = 32; + var_03[var_04] setgoalnode(var_05); + continue; + } + + if(var_02[var_04].script_noteworthy == "volume") + { + var_06 = getent(var_02[var_04].target,"targetname"); + var_03[var_04] setgoalvolumeauto(var_06); + continue; + } + } + } + + level.pod_enemies = maps\_utility::array_merge(level.pod_enemies,var_03); +} + +//Function Number: 46 +crash_site_jump_node_usage_scale(param_00,param_01,param_02) +{ + self endon("death"); + self.canjumppath = param_00; + wait(param_02); + self.canjumppath = param_01; +} + +//Function Number: 47 +background_drop_pods() +{ + level endon("stop_drone_respawn"); + level.bg_guys = getentarray("background_atlas","script_noteworthy"); + var_00 = getentarray("drop_pod_background","targetname"); + foreach(var_02 in var_00) + { + common_scripts\utility::flag_wait("start_background_elements"); + if(level.start_point == "cave_entry") + { + wait(randomfloatrange(0,0.5)); + } + else + { + wait(randomfloatrange(0,7)); + } + + var_02 thread drop_pod_fall("drone"); + } +} + +//Function Number: 48 +bunker_respawn_handler(param_00) +{ + level endon("cave_entry_done"); + wait(randomfloatrange(0.5,3)); + var_01 = param_00 maps\_utility::try_forever_spawn(); + var_01.baseaccuracy = var_01.baseaccuracy * 0.9; + var_01.grenadeammo = 0; + var_02 = getent(param_00.script_linkto,"script_linkname"); + for(;;) + { + level.crash_site_drones = common_scripts\utility::add_to_array(level.crash_site_drones,var_01); + var_03[0] = var_01; + maps\_utility::waittill_dead_or_dying(var_03); + level endon("stop_drone_respawn"); + wait(randomfloatrange(0.5,3)); + if(common_scripts\utility::cointoss()) + { + var_01 = param_00 maps\_utility::try_forever_spawn(); + var_01.baseaccuracy = var_01.baseaccuracy * 0.9; + var_01.grenadeammo = 0; + continue; + } + + var_01 = var_02 maps\_utility::try_forever_spawn(); + var_01.baseaccuracy = var_01.baseaccuracy * 0.9; + var_01.grenadeammo = 0; + } +} + +//Function Number: 49 +crash_site_random_bg_explosion() +{ + level endon("cave_entry_done"); + var_00 = common_scripts\utility::getstructarray("ambient_snow_explosion","targetname"); + common_scripts\utility::flag_wait("fallback_vol_3"); + for(;;) + { + var_00 = common_scripts\utility::array_randomize(var_00); + var_01 = var_00[0] common_scripts\utility::spawn_tag_origin(); + var_01.angles = (-90,0,0); + level.background_org = var_01; + playfxontag(common_scripts\utility::getfx("ambient_explosion_snow_01"),var_01,"tag_origin"); + soundscripts\_snd::snd_message("background_explosion",var_01.origin); + wait(2); + stopfxontag(common_scripts\utility::getfx("ambient_explosion_snow_01"),var_01,"tag_origin"); + wait(randomintrange(1,6)); + var_01 delete(); + } +} + +//Function Number: 50 +crash_site_random_playspace_explosion() +{ + level endon("cave_entry_done"); + var_00 = common_scripts\utility::getstructarray("ambient_snow_explosion_playspace","targetname"); + common_scripts\utility::flag_wait("crash_site_battle_start"); + wait(10); + for(;;) + { + var_00 = common_scripts\utility::array_randomize(var_00); + var_01 = var_00[0] common_scripts\utility::spawn_tag_origin(); + var_01.angles = (-90,0,0); + level.playspace_org = var_01; + var_02 = distance2d(level.player.origin,var_01.origin); + if(var_02 > 448) + { + playfxontag(common_scripts\utility::getfx("ambient_exp_snow_playspace"),var_01,"tag_origin"); + soundscripts\_snd::snd_message("playspace_explosion",var_01.origin,var_02); + } + + wait(randomfloatrange(2,5.5)); + var_01 delete(); + } +} + +//Function Number: 51 +kill_trigger_array() +{ + level endon("cave_entry_done"); + var_00 = getentarray("crash_site_fail","targetname"); + var_01 = 0; + common_scripts\utility::flag_wait("crash_site_battle_start"); + for(;;) + { + common_scripts\utility::flag_wait("cs_pre_fail_state"); + common_scripts\utility::flag_clear("player_returning_to_map"); + thread maps\_utility::smart_radio_dialogue("crsh_crmk_staywithus"); + maps\_utility::hintdisplayhandler("hint_dont_leave_mission"); + wait(2.5); + foreach(var_03 in var_00) + { + if(level.player istouching(var_03)) + { + var_01 = 1; + } + } + + if(var_01) + { + thread maps\_utility::smart_radio_dialogue("crsh_crmk_getback"); + wait(2.75); + foreach(var_03 in var_00) + { + if(level.player istouching(var_03)) + { + var_01 = 1; + } + } + + if(var_01) + { + level.cormack maps\_utility::stop_magic_bullet_shield(); + level.ilana maps\_utility::stop_magic_bullet_shield(); + level.cormack kill(); + level.ilana kill(); + level notify("crash_site_failed"); + wait(0.15); + setdvar("ui_deadquote",&"CRASH_FAIL_ALLIES_KILLED"); + maps\_utility::missionfailedwrapper(); + } + } + + common_scripts\utility::flag_clear("cs_pre_fail_state"); + common_scripts\utility::flag_set("player_returning_to_map"); + var_01 = 0; + wait(0.05); + } +} + +//Function Number: 52 +should_break_dont_leave() +{ + if(common_scripts\utility::flag("missionfailed")) + { + return 1; + } + + if(common_scripts\utility::flag("player_returning_to_map")) + { + return 1; + } + + return 0; +} + +//Function Number: 53 +check_potential_falling_death() +{ + level endon("cave_entry_done"); + var_00 = getent("crash_site_above_hole","targetname"); + for(;;) + { + if(level.player istouching(var_00)) + { + common_scripts\utility::flag_set("above_hole"); + } + + if(!level.player istouching(var_00)) + { + common_scripts\utility::flag_clear("above_hole"); + } + + wait(0.05); + } +} + +//Function Number: 54 +falling_death() +{ + level endon("cave_entry_done"); + var_00 = getent("crash_site_fall_death","targetname"); + for(;;) + { + if(level.player istouching(var_00)) + { + wait(0.5); + setdvar("ui_deadquote",&"CRASH_FAIL_FALL"); + maps\_utility::missionfailedwrapper(); + level.player thread maps\_player_exo::player_exo_deactivate(); + } + + wait(0.05); + } +} + +//Function Number: 55 +begin_cave_entry() +{ + level.player endon("death"); + level.cave_entry_animnode = common_scripts\utility::getstruct("cave_entry_animnode","targetname"); + createthreatbiasgroup("player"); + createthreatbiasgroup("mech"); + createthreatbiasgroup("heroes"); + level.player setthreatbiasgroup("player"); + level.cormack setthreatbiasgroup("heroes"); + level.ilana setthreatbiasgroup("heroes"); + thread razorback_cormack(); + thread razorback_ilana(); + thread razorback_dialogue(); + common_scripts\utility::flag_wait("razorback_loaded"); + wait(4); + thread cave_entry_goliaths(); + wait(0.25); + thread cave_entry_sentinel(); + wait(1); + wait(10); + wait(1.5); + common_scripts\utility::flag_set("tank_incoming"); + thread cave_entry_dialogue(); + thread cave_entry_walker_tank(); + common_scripts\utility::flag_wait("tank_firing_missiles"); + level.cormack thread tank_missile_react(); + level.ilana thread tank_missile_react(); + common_scripts\utility::flag_wait("start_bunker_collapse"); + soundscripts\_snd::snd_message("cave_entry"); + common_scripts\utility::flag_set("obj_update_goto_razorback"); + common_scripts\utility::flag_set("obj_end_goto_razorback"); + if(level.currentgen) + { + level notify("end_crash_perf_monitor"); + } + + thread cave_entry_scene(); + thread cave_entry_slide_exploders(); + common_scripts\utility::flag_wait("cave_entry_done"); + maps\_utility::battlechatter_off("allies"); + maps\_utility::battlechatter_off("axis"); + level.cormack clearenemy(); + level.ilana clearenemy(); + level.cormack maps\_utility::set_ignoresuppression(0); + level.cormack maps\_utility::set_ignoreall(0); + level.ilana maps\_utility::set_ignoresuppression(0); + level.ilana maps\_utility::set_ignoreall(0); + level.player setthreatbiasgroup(); + level.cormack setthreatbiasgroup(); + level.ilana setthreatbiasgroup(); +} + +//Function Number: 56 +tank_missile_react() +{ + level endon("start_bunker_collapse"); + maps\_utility::anim_stopanimscripted(); + self allowedstances("stand","crouch"); + var_00 = common_scripts\utility::getstruct("cave_entry_animnode","targetname"); + maps\_utility::set_ignoresuppression(1); + maps\_utility::set_ignoreall(1); + var_00 maps\_anim::anim_reach_solo(self,"bunker_spot_missiles"); + var_00 thread maps\_anim::anim_single_solo(self,"bunker_spot_missiles"); +} + +//Function Number: 57 +cave_entry_dialogue() +{ + wait(5); + maps\_utility::smart_radio_dialogue("crsh_crmk_onhorizon"); + common_scripts\utility::flag_wait("tank_firing_missiles"); + wait(0.2); + maps\_utility::smart_radio_dialogue("crsh_ss1_incoming"); +} + +//Function Number: 58 +razorback_razorback() +{ + var_00 = maps\_vehicle::spawn_vehicle_from_targetname("crash_site_razorback"); + var_00.animname = "razorback"; + var_00 maps\_anim::setanimtree(); + var_00 maps\_vehicle::godon(); + var_00 vehicle_removebrushmodelcollision(); + level.razorback = var_00; + wait 0.05; + var_00 thread vehicle_scripts\_razorback_fx::vfx_red_lights_on(); + var_01 = common_scripts\utility::getstruct("cave_entry_animnode","targetname"); + var_01 maps\_anim::anim_first_frame_solo(var_00,"prebunker_intro_razorback"); + common_scripts\utility::flag_wait("razorback_start"); + var_01 maps\_anim::anim_single_solo(var_00,"prebunker_intro_razorback"); + if(!common_scripts\utility::flag("player_loading_cargo")) + { + var_01 thread maps\_anim::anim_loop_solo(var_00,"prebunker_loop_razorback","stop_loop"); + } + + common_scripts\utility::flag_wait("player_loading_cargo"); + var_01 notify("stop_loop"); + var_01 thread maps\_anim::anim_single_solo(var_00,"prebunker_end_razorback"); + var_02 = getent("cs_razorback_clip","targetname"); + var_02 delete(); + wait(6.65); + wait(7.1); + var_00 thread vehicle_scripts\_razorback_fx::vfx_rb_thruster_front_light_on(var_00); + var_00 thread vehicle_scripts\_razorback_fx::vfx_rb_thruster_front_on(var_00); + playfxontag(common_scripts\utility::getfx("razorback_exhaust_strong"),var_00,"thrusterCenter_BL_FX"); + playfxontag(common_scripts\utility::getfx("razorback_exhaust_strong"),var_00,"thrusterCenter_BR_FX"); + maps\_utility::delaythread(0.1,::vehicle_scripts\_razorback_fx::play_regular_tread_back_rz,var_00); + maps\_utility::delaythread(0.3,::vehicle_scripts\_razorback_fx::stop_idle_back_thruster_rz,var_00); + maps\_utility::delaythread(0.05,::vehicle_scripts\_razorback_fx::vfx_razorback_jets_on,var_00); + var_00 waittillmatch("cargo_hit","single anim"); + common_scripts\utility::flag_set("shoot_razorback"); + wait(2); + playfxontag(common_scripts\utility::getfx("helicopter_explosion_secondary_small"),var_00,"landinggearcover_kl"); + wait(0.75); + playfxontag(common_scripts\utility::getfx("smoke_trail_black_heli_emitter"),var_00,"thrustercenter_tl_fx"); + maps\_utility::smart_radio_dialogue_overlap("crsh_grdn5_werehit2"); + wait(1.5); + maps\_utility::smart_radio_dialogue_overlap("crsh_grdn5_lostread"); + var_00 waittillmatch("end","single anim"); + stopfxontag(common_scripts\utility::getfx("smoke_trail_black_heli_emitter"),var_00,"thrustercenter_tl_fx"); + var_00 notify("death"); + var_00 delete(); +} + +//Function Number: 59 +razorback_cargo() +{ + var_00 = maps\_utility::spawn_anim_model("razor_cargo"); + if(level.start_point != "cave_entry") + { + var_00 hide(); + } + + var_01 = common_scripts\utility::getstruct("cave_entry_animnode","targetname"); + var_01 maps\_anim::anim_first_frame_solo(var_00,"prebunker_intro_crate"); + var_02 = getent("cargo_objective","targetname"); + level.razorback_org = var_02; + common_scripts\utility::flag_wait("unhide_cargo"); + var_00 show(); + common_scripts\utility::flag_wait("player_loading_cargo"); + var_03 = getent("razorback_crate_clip","targetname"); + var_03 delete(); + var_01 maps\_anim::anim_single_solo(var_00,"prebunker_end_crate"); + wait(1.5); +} + +//Function Number: 60 +razorback_cargo_player() +{ + var_00 = common_scripts\utility::getstruct("cave_entry_animnode","targetname"); + var_01 = maps\_utility::spawn_anim_model("rig"); + var_00 maps\_anim::anim_first_frame_solo(var_01,"prebunker_end_player"); + var_01 hide(); + common_scripts\utility::flag_wait("player_pre_loading_cargo"); + level.player maps\_utility::set_ignoreme(1); + level.player playerlinktoblend(var_01,"tag_player",0.6); + level.player enableinvulnerability(); + level.player maps\_shg_utility::setup_player_for_scene(1); + thread maps\_shg_utility::disable_features_entering_cinema(1); + var_00 thread maps\_anim::anim_single_solo(var_01,"prebunker_end_player"); + common_scripts\utility::flag_set("player_loading_cargo"); + common_scripts\utility::flag_set("lighting_loading_cargo"); + var_02 = getent("blocking_cargo","targetname"); + var_02 delete(); + level.walkers = []; + thread mobile_turret_dropoff("warbird_deploy_2_animnode","bunker_warbird_2","bunker_walker_2","deploy_warbird_2_done","warbird2_path_after_turret_deploy"); + wait(0.6); + var_01 show(); + level.player playerlinktodelta(var_01,"tag_player",1,17,20,20,20); + var_03 = maps\_utility::get_living_ai_array("pod_enemies","script_noteworthy"); + foreach(var_05 in var_03) + { + if(isdefined(var_05) && isalive(var_05) && !level.player islookingat(var_05)) + { + var_05 kill(); + continue; + } + + if(isdefined(var_05) && isalive(var_05)) + { + var_05.grenadeammo = 0; + } + } + + var_07 = getent("bunker_badplace_extra","targetname"); + badplace_brush("bunker_badplace2",-1,var_07,"axis"); + wait(2.5); + thread cave_entry_bunker_battle(); + wait(4.2); + thread mobile_turret_dropoff("warbird_deploy_1_animnode","bunker_warbird_1","bunker_walker_1","deploy_warbird_1_done","warbird_path_after_turret_deploy"); + var_01 waittillmatch("end","single anim"); + thread maps\_utility::autosave_by_name("razorback2"); + level.player disableinvulnerability(); + level.player unlink(); + var_01 delete(); + level.player allowsprint(1); + level.player allowprone(1); + level.player allowcrouch(1); + level.player allowstand(1); + thread maps\_shg_utility::enable_features_exiting_cinema(1); + thread check_player_bunker_position(); +} + +//Function Number: 61 +razorback_rumble(param_00) +{ + var_01 = level.player maps\_utility::get_rumble_ent(); + var_01 maps\_utility::rumble_ramp_to(1,0.75); + param_00 waittillmatch("releasing_crate","single anim"); + var_01 maps\_utility::set_rumble_intensity(0); + wait 0.05; + var_01 delete(); +} + +//Function Number: 62 +razorback_trigger_handler() +{ + var_00 = getent("cargo_trigger","targetname"); + common_scripts\utility::flag_wait_either("cormack_reached","obj_move_dot_razorback"); + var_00 common_scripts\utility::trigger_on(); + var_00 maps\_utility::addhinttrigger(&"CRASH_CARGO_PUSH",&"CRASH_CARGO_PUSH_KEYBOARD"); + var_01 = getent("cargo_objective","targetname"); + maps\player_scripted_anim_util::waittill_trigger_activate_looking_at(var_00,var_01,cos(40),0,1); + common_scripts\utility::flag_set("player_pre_loading_cargo"); +} + +//Function Number: 63 +check_player_bunker_position() +{ + level endon("cave_entry_done"); + wait(5); + level.player maps\_utility::set_ignoreme(0); + setignoremegroup("player","mech"); + var_00 = getent("bunker_badplace","targetname"); + while(!common_scripts\utility::flag("obj_update_goto_razorback")) + { + if(!level.player istouching(var_00)) + { + common_scripts\utility::flag_set("obj_update_goto_razorback"); + maps\_utility::smart_radio_dialogue("crsh_crmk_getoverhere2"); + } + + wait(0.05); + } + + for(;;) + { + while(!level.player istouching(var_00)) + { + wait(0.05); + foreach(var_02 in level.walkers) + { + self.ai_target_force = level.player; + } + } + + wait(0.05); + while(level.player istouching(var_00)) + { + wait(0.05); + foreach(var_02 in level.walkers) + { + self.ai_target_force = undefined; + } + } + } +} + +//Function Number: 64 +razorback_gun_enable(param_00) +{ + setsaveddvar("ammoCounterHide",0); + level.player enableoffhandweapons(); + level.player enableweapons(); + level.player allowmelee(1); +} + +//Function Number: 65 +cormack_reached() +{ + level.cormack endon("death"); + wait 0.05; + var_00 = getnode("cormack_razor_node","targetname"); + level.cormack.goalradius = 64; + level.cormack setgoalnode(var_00); + level.cormack waittill("goal"); + if(!common_scripts\utility::flag("player_loading_cargo")) + { + var_01 = common_scripts\utility::getstruct("cave_entry_animnode","targetname"); + var_01 maps\_anim::anim_reach_solo(level.cormack,"prebunker_intro_cormack",undefined,1); + } + + common_scripts\utility::flag_set("cormack_reached"); +} + +//Function Number: 66 +razorback_cormack() +{ + level.cormack endon("death"); + var_00 = common_scripts\utility::getstruct("cave_entry_animnode","targetname"); + level.cormack.animname = "cormack"; + level.cormack maps\_utility::disable_ai_color(); + level.cormack maps\_utility::set_ignoresuppression(1); + level.cormack maps\_utility::set_ignoreme(1); + level.cormack maps\_utility::set_ignoreall(1); + level.cormack maps\_utility::disable_pain(); + level.cormack thread cormack_reached(); + var_01 = getent("razorback_crate_clip","targetname"); + common_scripts\utility::flag_wait_either("cormack_reached","player_loading_cargo"); + if(common_scripts\utility::flag("player_loading_cargo")) + { + var_00 maps\_anim::anim_single_solo(level.cormack,"prebunker_start_push_fast_cormack"); + } + else + { + level.cormack bunker_intro_anim(var_00); + if(!common_scripts\utility::flag("player_loading_cargo")) + { + var_00 thread maps\_anim::anim_loop_solo(level.cormack,"prebunker_loop_cormack","stop_loop"); + thread maps\_utility::smart_radio_dialogue("crsh_crmk_givehand"); + var_02 = maps\_utility::make_array("crsh_crmk_helpme","crsh_crmk_overhere2"); + thread maps\crash_utility::nag_until_flag(var_02,"player_pre_loading_cargo",15,20,5); + } + + common_scripts\utility::flag_wait("player_loading_cargo"); + var_00 notify("stop_loop"); + var_00 maps\_anim::anim_single_solo(level.cormack,"prebunker_start_push_slow_cormack"); + } + + var_03 = getnode("cormack_jump_start","targetname"); + level.cormack.goalradius = 64; + level.cormack setgoalnode(var_03); + var_00 maps\_anim::anim_single_solo(level.cormack,"prebunker_end_cormack"); + common_scripts\utility::flag_set("razorback_loaded"); + common_scripts\utility::flag_set("lighting_razorback_loaded"); + wait(1); + level.cormack waittill("goal"); + level.cormack maps\_utility::set_ignoresuppression(0); + level.cormack maps\_utility::set_ignoreme(0); + level.cormack maps\_utility::set_ignoreall(0); + level.cormack maps\_utility::enable_pain(); + common_scripts\utility::flag_wait("tank_firing_missiles"); + level.cormack maps\_utility::disable_pain(); +} + +//Function Number: 67 +bunker_intro_anim(param_00) +{ + level endon("player_loading_cargo"); + param_00 thread maps\_anim::anim_single_solo(level.cormack,"prebunker_intro_cormack"); + level.cormack waittillmatch("end","single anim"); +} + +//Function Number: 68 +razorback_ilana() +{ + level.ilana endon("death"); + level.ilana maps\_utility::disable_ai_color(); + var_00 = getnode("ilana_jump_start","targetname"); + level.ilana.goalradius = 16; + level.ilana setgoalnode(var_00); + level.ilana maps\_utility::set_fixednode_true(); + common_scripts\utility::flag_wait("tank_firing_missiles"); + level.ilana maps\_utility::disable_pain(); +} + +//Function Number: 69 +razorback_dialogue() +{ + level.cormack maps\_utility::set_battlechatter(0); + maps\_utility::smart_radio_dialogue("crsh_crmk_holdtight"); + common_scripts\utility::flag_wait("razorback_loaded"); + maps\_utility::smart_radio_dialogue("crsh_crmk_cargosecured3"); + maps\_utility::smart_radio_dialogue("crsh_grdn5_liftoff2"); + wait(0.75); + maps\_utility::smart_radio_dialogue("crsh_crmk_drawfire"); + wait(4); + level.cormack maps\_utility::smart_dialogue("crsh_crmk_astsincoming"); + level.cormack maps\_utility::set_battlechatter(1); +} + +//Function Number: 70 +razorback_mech(param_00) +{ + var_01 = getent("razorback_goliath","targetname"); + var_02 = common_scripts\utility::getstruct(var_01.target,"targetname"); + var_01 maps\_utility::add_spawn_function(::razorback_mech_behavior,var_02); + var_03 = var_01 maps\_utility::spawn_ai(1); + var_03 maps\_utility::magic_bullet_shield(1); + var_03.ignoreme = 1; + var_03.ignoreall = 1; + thread razorback_mech_missiles(var_03); + var_03.animname = "goliath"; + level.crash_mechs = common_scripts\utility::add_to_array(level.crash_mechs,var_03); + var_04 = common_scripts\utility::getstruct("cave_entry_animnode","targetname"); + var_04 maps\_anim::anim_single_solo(var_03,"prebunker_end_mech"); + common_scripts\utility::flag_set("razorback_goliath_done"); +} + +//Function Number: 71 +razorback_mech_missiles(param_00) +{ + var_01 = common_scripts\utility::getstruct("cave_entry_animnode","targetname"); + var_02 = maps\_utility::spawn_anim_model("razor_missiles"); + var_01 maps\_anim::anim_first_frame_solo(var_02,"prebunker_end_missiles"); + var_03 = spawn("script_model",var_02 gettagorigin("j_prop_1")); + var_03.angles = var_02 gettagangles("j_prop_1"); + var_03 setmodel("npc_exo_armor_rocket_large"); + var_03 linkto(var_02,"j_prop_1"); + var_03 hide(); + var_04 = spawn("script_model",var_02 gettagorigin("j_prop_2")); + var_04.angles = var_02 gettagangles("j_prop_2"); + var_04 setmodel("npc_exo_armor_rocket_large"); + var_04 linkto(var_02,"j_prop_2"); + var_04 hide(); + var_05 = spawn("script_model",var_02 gettagorigin("j_prop_3")); + var_05.angles = var_02 gettagangles("j_prop_3"); + var_05 setmodel("npc_exo_armor_rocket_large"); + var_05 linkto(var_02,"j_prop_3"); + var_05 hide(); + var_06 = spawn("script_model",var_02 gettagorigin("j_prop_4")); + var_06.angles = var_02 gettagangles("j_prop_4"); + var_06 setmodel("npc_exo_armor_rocket_large"); + var_06 linkto(var_02,"j_prop_4"); + var_06 hide(); + var_07 = spawn("script_model",var_02 gettagorigin("j_prop_5")); + var_07.angles = var_02 gettagangles("j_prop_5"); + var_07 setmodel("npc_exo_armor_rocket_large"); + var_07 linkto(var_02,"j_prop_5"); + var_07 hide(); + var_01 thread maps\_anim::anim_single_solo(var_02,"prebunker_end_missiles"); + var_02 waittillmatch("missile_1_launched","single anim"); + playfx(common_scripts\utility::getfx("javelin_ignition"),var_03.origin); + playfxontag(common_scripts\utility::getfx("smoketrail_rpg_sp"),var_03,"tag_origin"); + var_03 show(); + soundscripts\_snd::snd_message("mech_fire_missile_first",var_03,param_00); + var_02 waittillmatch("missile_2_launched","single anim"); + playfx(common_scripts\utility::getfx("javelin_ignition"),var_04.origin); + playfxontag(common_scripts\utility::getfx("smoketrail_rpg_sp"),var_04,"tag_origin"); + var_04 show(); + soundscripts\_snd::snd_message("mech_fire_missile",var_04,param_00); + var_02 waittillmatch("missile_3_launched","single anim"); + playfx(common_scripts\utility::getfx("javelin_ignition"),var_05.origin); + playfxontag(common_scripts\utility::getfx("smoketrail_rpg_sp"),var_05,"tag_origin"); + var_05 show(); + soundscripts\_snd::snd_message("mech_fire_missile",var_05,param_00); + var_02 waittillmatch("missile_4_launched","single anim"); + playfx(common_scripts\utility::getfx("javelin_ignition"),var_06.origin); + playfxontag(common_scripts\utility::getfx("smoketrail_rpg_sp"),var_06,"tag_origin"); + var_06 show(); + soundscripts\_snd::snd_message("mech_fire_missile",var_06,param_00); + var_02 waittillmatch("missile_5_launched","single anim"); + playfx(common_scripts\utility::getfx("javelin_ignition"),var_07.origin); + playfxontag(common_scripts\utility::getfx("smoketrail_rpg_sp"),var_07,"tag_origin"); + var_07 show(); + soundscripts\_snd::snd_message("mech_fire_missile",var_07,param_00); + var_02 waittillmatch("missile_1_impact","single anim"); + stopfxontag(common_scripts\utility::getfx("smoketrail_rpg_sp"),var_03,"tag_origin"); + playfxontag(common_scripts\utility::getfx("crash_rocket_explosion_default"),level.razorback,"TAG_MISSILE_1"); + var_03 delete(); + var_02 waittillmatch("missile_2_impact","single anim"); + stopfxontag(common_scripts\utility::getfx("smoketrail_rpg_sp"),var_04,"tag_origin"); + playfxontag(common_scripts\utility::getfx("helicopter_explosion_secondary_small"),level.razorback,"TAG_MISSILE_2"); + var_04 delete(); + var_02 waittillmatch("missile_3_impact","single anim"); + stopfxontag(common_scripts\utility::getfx("smoketrail_rpg_sp"),var_05,"tag_origin"); + playfxontag(common_scripts\utility::getfx("helicopter_explosion_secondary_small"),level.razorback,"TAG_MISSILE_3"); + var_05 delete(); + var_02 waittillmatch("missile_4_impact","single anim"); + stopfxontag(common_scripts\utility::getfx("smoketrail_rpg_sp"),var_06,"tag_origin"); + playfxontag(common_scripts\utility::getfx("helicopter_explosion_secondary_small"),level.razorback,"TAG_MISSILE_4"); + var_06 delete(); + var_02 waittillmatch("missile_5_impact","single anim"); + stopfxontag(common_scripts\utility::getfx("smoketrail_rpg_sp"),var_07,"tag_origin"); + playfxontag(common_scripts\utility::getfx("helicopter_explosion_secondary_small"),level.razorback,"TAG_MISSILE_5"); + var_07 delete(); +} + +//Function Number: 72 +razorback_mech_behavior(param_00) +{ + common_scripts\utility::flag_wait("razorback_goliath_done"); + self setthreatbiasgroup("mech"); + thread maps\_utility::stop_magic_bullet_shield(); + self.ignoreme = 0; + self.ignoreall = 0; + self.usechokepoints = 0; + self.goalradius = 24; + self setgoalpos(param_00.origin); + self waittill("goal"); + var_01 = common_scripts\utility::getstruct(param_00.target,"targetname"); + self setgoalpos(var_01.origin); + self waittill("goal"); + var_02 = common_scripts\utility::getstruct(var_01.target,"targetname"); + self setgoalpos(var_02.origin); + self waittill("goal"); +} + +//Function Number: 73 +razorback_mech_shoot() +{ + common_scripts\utility::flag_wait("shoot_razorback"); + maps\crash_utility::mech_fire_rockets_special(level.razorback); +} + +//Function Number: 74 +cave_entry_bunker_battle() +{ + maps\_utility::array_spawn_function_targetname("bunker_enemies",::no_grenades); + maps\_utility::array_spawn_function_targetname("extra_bunker_allies",::no_grenades); + maps\_utility::array_spawn_function_targetname("extra_bunker_allies",::bunker_settings); + if(level.nextgen) + { + var_00 = maps\_utility::array_spawn_targetname("bunker_enemies",1); + } + else + { + var_01 = getentarray("bunker_enemies","targetname"); + var_00 = maps\_utility::array_spawn_cg(var_01,1); + } + + wait(0.5); + if(level.nextgen) + { + var_02 = maps\_utility::array_spawn_targetname("extra_bunker_allies",1); + return; + } + + var_01 = getentarray("extra_bunker_allies","targetname"); + var_02 = maps\_utility::array_spawn_cg(var_01,1); +} + +//Function Number: 75 +no_grenades() +{ + self.grenadeammo = 0; +} + +//Function Number: 76 +bunker_settings() +{ + self.goalradius = 16; + self.script_forcegoal = 1; + self.script_fixednode = 1; +} + +//Function Number: 77 +cave_entry_scene() +{ + level.player endon("death"); + level.cormack endon("death"); + level.ilana endon("death"); + var_00 = getent("bunker_badplace","targetname"); + var_01 = getent("left_mech_rocket","targetname"); + var_02 = getent("right_mech_rocket","targetname"); + var_03 = getent("cheat_mech_rocket","targetname"); + var_04 = undefined; + level.player playrumbleonentity("heavy_2s"); + level.player thread play_fullscreen_mist(4,0,2.5,0.75,0,0); + level.player thread play_fullscreen_mist(4,0,2.5,0.75,50,70); + common_scripts\utility::flag_set("cave_entry_anim_start"); + level notify("stop_drone_respawn"); + thread cave_entry_player(); + var_05 = []; + var_05[0] = level.cormack; + var_05[1] = level.ilana; + var_05[3] = maps\_utility::spawn_targetname("shock_goliath",1); + var_05[3].animname = "goliath"; + var_05[3].ignoreall = 1; + var_05[3].ignoreme = 1; + var_05[3] hide(); + var_05[5] = maps\_utility::spawn_anim_model("ice_floor"); + var_06 = getent("cave_entry_floor","targetname"); + var_06 delete(); + level.cormack maps\_utility::anim_stopanimscripted(); + level.ilana maps\_utility::anim_stopanimscripted(); + level.cave_entry_animnode thread maps\_anim::anim_single(var_05,"icecave_enter"); + level.cormack maps\_utility::set_battlechatter(0); + level.ilana maps\_utility::set_battlechatter(0); + level.cormack waittillmatch("end","single anim"); + if(level.currentgen) + { + maps\_utility::tff_sync(); + } + + level.ilana maps\_utility::set_fixednode_false(); + level.ilana maps\_utility::enable_pain(); + level.cormack maps\_utility::set_fixednode_false(); + level.cormack maps\_utility::enable_pain(); + common_scripts\utility::flag_set("cave_entry_done"); + level notify("moved_indoors"); + thread cave_entry_surface_cleanup(); +} + +//Function Number: 78 +cave_entry_player() +{ + level.player endon("death"); + var_00 = common_scripts\utility::getstruct("cave_entry_teleport_animnode","targetname"); + level.player allowjump(0); + level.player maps\_shg_utility::setup_player_for_scene(); + var_01 = maps\_utility::spawn_anim_model("rig"); + var_02 = maps\_utility::spawn_anim_model("rig"); + var_01 hide(); + level.cave_entry_animnode thread maps\_anim::anim_single_solo(var_01,"icecave_enter"); + var_00 thread maps\_anim::anim_single_solo(var_02,"icecave_enter"); + thread maps\_shg_utility::disable_features_entering_cinema(1); + var_03 = level.player getplayerweaponviewmodel(); + var_04 = spawn("script_model",var_02 gettagorigin("tag_sync")); + var_04.angles = var_02 gettagangles("tag_sync"); + var_04 linkto(var_02,"tag_sync"); + var_04 setmodel(var_03); + level.player enableinvulnerability(); + level.player playerlinktoblend(var_01,"tag_player",0.5); + level.player setstance("stand"); + wait(0.5); + var_01 show(); + var_01 waittillmatch("ice_break","single anim"); + common_scripts\_exploder::exploder(5347); + common_scripts\_exploder::exploder(2238); + var_01 waittillmatch("no_control","single anim"); + level.player disableinvulnerability(); + level.player enabledeathshield(1); + var_01 waittillmatch("player_land","single anim"); + var_05 = newclienthudelem(level.player); + var_05 setshader("black",1280,720); + var_05.horzalign = "fullscreen"; + var_05.vertalign = "fullscreen"; + var_05.alpha = 1; + var_05.foreground = 0; + level.player playerlinktoabsolute(var_02,"tag_player"); + common_scripts\utility::flag_set("blur_player_vision"); + level.player dodamage(150,level.player.origin); + wait 0.05; + level.player playerlinktodelta(var_02,"tag_player",1,20,20,20,15,1); + wait(0.1); + var_05.alpha = 0; + var_05 destroy(); + var_01 waittillmatch("gun_up","single anim"); + var_04 delete(); + level.player_weapons = level.player getweaponslistall(); + foreach(var_07 in level.player_weapons) + { + level.player givemaxammo(var_07); + } + + setsaveddvar("r_gunSightColorEntityScale",0); + setsaveddvar("r_gunSightColorNoneScale",0); + setsaveddvar("ammoCounterHide",0); + level.player enableoffhandweapons(); + level.player enableweapons(); + level.player allowmelee(1); + var_01 waittillmatch("end","single anim"); + level.player unlink(); + var_01 delete(); + var_02 delete(); + level.player enabledeathshield(0); + level.player allowjump(1); + level.player allowsprint(1); + level.player allowprone(1); + level.player allowcrouch(1); + level.player allowstand(1); + thread maps\_shg_utility::enable_features_exiting_cinema(1); +} + +//Function Number: 79 +cave_entry_goliath_show(param_00) +{ + param_00 show(); +} + +//Function Number: 80 +play_fullscreen_mist(param_00,param_01,param_02,param_03,param_04,param_05) +{ + level.player endon("death"); + var_06 = newclienthudelem(self); + var_06.x = param_04; + var_06.y = param_05; + var_06 setshader("overlay_rain_blur",640,480); + var_06.splatter = 1; + var_06.alignx = "left"; + var_06.aligny = "top"; + var_06.sort = 1; + var_06.foreground = 0; + var_06.horzalign = "fullscreen"; + var_06.vertalign = "fullscreen"; + var_06.alpha = 0; + var_07 = 0; + if(!isdefined(param_01)) + { + param_01 = 1; + } + + if(!isdefined(param_02)) + { + param_02 = 1; + } + + if(!isdefined(param_03)) + { + param_03 = 1; + } + + var_08 = 0.05; + if(param_01 > 0) + { + var_09 = 0; + var_0A = param_03 / param_01 / var_08; + while(var_09 < param_03) + { + var_06.alpha = var_09; + var_09 = var_09 + var_0A; + wait(var_08); + } + } + + var_06.alpha = param_03; + wait(param_00 - param_01 + param_02); + if(param_02 > 0) + { + var_09 = param_03; + var_0B = param_03 / param_02 / var_08; + while(var_09 > 0) + { + var_06.alpha = var_09; + var_09 = var_09 - var_0B; + wait(var_08); + } + } + + var_06.alpha = 0; + var_06 destroy(); +} + +//Function Number: 81 +cave_entry_sentinel() +{ + level.bunker_guy03.animname = "bunker_guy03"; + if(level.nextgen) + { + level.bunker_guy01.ignoreme = 0; + level.bunker_guy01.grenadeammo = 0; + level.bunker_guy02.ignoreme = 0; + level.bunker_guy02.grenadeammo = 0; + } + + level.bunker_guy03.ignoreme = 0; + level.bunker_guy03.grenadeammo = 0; + createthreatbiasgroup("bunker_guys"); + if(level.nextgen) + { + level.bunker_guy01 setthreatbiasgroup("bunker_guys"); + level.bunker_guy02 setthreatbiasgroup("bunker_guys"); + } + + level.bunker_guy03 setthreatbiasgroup("bunker_guys"); + if(level.nextgen) + { + if(isdefined(level.bunker_guy01.magic_bullet_shield)) + { + level.bunker_guy01 maps\_utility::stop_magic_bullet_shield(); + } + + if(isdefined(level.bunker_guy02.magic_bullet_shield)) + { + level.bunker_guy02 maps\_utility::stop_magic_bullet_shield(); + } + } + + if(isdefined(level.bunker_guy03.magic_bullet_shield)) + { + level.bunker_guy03 maps\_utility::stop_magic_bullet_shield(); + } +} + +//Function Number: 82 +cave_entry_goliaths() +{ + level.player endon("death"); + level.crash_mechs = []; + level.player setthreatbiasgroup("player"); + var_00 = getent("drop_pod_mech_1","targetname"); + var_00 thread drop_pod_fall("mech"); + wait(3.25); + var_01 = getent("drop_pod_mech_2","targetname"); + var_01 thread drop_pod_fall("mech"); + wait(randomfloatrange(4.5,6.5)); + var_02 = getent("drop_pod_mech_3","targetname"); + var_02 thread drop_pod_fall("mech"); +} + +//Function Number: 83 +cave_entry_goliath_spawn() +{ + var_00 = getent(self.target,"targetname"); + var_01 = common_scripts\utility::getstruct(var_00.target,"targetname"); + var_00 maps\_utility::add_spawn_function(::cave_entry_goliath_behavior,var_01); + var_02 = var_00 maps\_utility::spawn_ai(1); + level.crash_mechs = common_scripts\utility::add_to_array(level.crash_mechs,var_02); +} + +//Function Number: 84 +cave_entry_goliath_behavior(param_00) +{ + self setthreatbiasgroup("mech"); + self.baseaccuracy = self.baseaccuracy * 0.5; + thread cave_entry_goliath_movement(param_00); +} + +//Function Number: 85 +cave_entry_goliath_movement(param_00) +{ + self endon("death"); + wait(2); + setthreatbias("bunker_guys","mech",900000); + setthreatbias("player","mech",0); + self.usechokepoints = 0; + self.goalradius = 72; + self setgoalpos(param_00.origin); + self waittill("goal"); + thread cave_entry_goliath_attack(); + common_scripts\utility::flag_wait("tank_incoming"); + self notify("stop_hunting"); + var_01 = common_scripts\utility::getstruct(param_00.target,"targetname"); + self setgoalpos(var_01.origin); + self waittill("goal"); + setthreatbias("bunker_guys","mech",0); + setthreatbias("player","mech",0); + setthreatbias("heroes","mech",90000); +} + +//Function Number: 86 +cave_entry_goliath_attack() +{ + self endon("death"); + self endon("stop_hunting"); + var_00 = maps\_utility::get_living_ai_array("bunker_allies","targetname"); + var_01 = maps\_utility::get_living_ai_array("extra_bunker_allies","script_noteworthy"); + for(var_02 = common_scripts\utility::array_combine(var_00,var_01);var_02.size > 0;var_02 = common_scripts\utility::array_removeundefined(var_02)) + { + if(!isdefined(self.enemy)) + { + var_02 = maps\_utility::array_removedead_or_dying(var_02); + var_02 = common_scripts\utility::array_removeundefined(var_02); + var_02 = sortbydistance(var_02,self.origin); + self.favoriteenemy = var_02[0]; + } + + if(isdefined(self.enemy)) + { + self setgoalpos(self.enemy.origin); + self.goalradius = 1250; + self.goalheight = 81; + } + + wait(2); + var_02 = maps\_utility::array_removedead_or_dying(var_02); + } +} + +//Function Number: 87 +cave_entry_surface_cleanup() +{ + foreach(var_01 in level.crash_mechs) + { + if(isdefined(var_01) && isalive(var_01)) + { + var_01 delete(); + } + } + + var_03 = maps\_utility::get_living_ai_array("extra_bunker_allies","script_noteworthy"); + foreach(var_01 in var_03) + { + if(isdefined(var_01) && isalive(var_01)) + { + var_01 delete(); + } + } + + common_scripts\utility::flag_wait("cave_entry_done"); + wait(0.25); + foreach(var_01 in level.crash_site_drones) + { + if(isdefined(var_01)) + { + var_01 delete(); + } + } + + wait 0.05; + foreach(var_01 in level.bg_guys) + { + if(isdefined(var_01)) + { + var_01 delete(); + } + } + + var_0A = getaiarray("axis"); + foreach(var_01 in var_0A) + { + if(isdefined(var_01) && isalive(var_01)) + { + var_01 delete(); + } + } + + if(level.nextgen) + { + if(isdefined(level.bunker_guy01) && isalive(level.bunker_guy01)) + { + if(isdefined(level.bunker_guy01.magic_bullet_shield)) + { + level.bunker_guy01 thread maps\_utility::stop_magic_bullet_shield(); + } + + wait 0.05; + level.bunker_guy01 delete(); + } + + if(isdefined(level.bunker_guy02) && isalive(level.bunker_guy02)) + { + if(isdefined(level.bunker_guy02.magic_bullet_shield)) + { + level.bunker_guy02 thread maps\_utility::stop_magic_bullet_shield(); + } + + wait 0.05; + level.bunker_guy02 delete(); + } + } + + if(isdefined(level.bunker_guy03) && isalive(level.bunker_guy03)) + { + if(isdefined(level.bunker_guy03.magic_bullet_shield)) + { + level.bunker_guy03 thread maps\_utility::stop_magic_bullet_shield(); + } + + wait 0.05; + level.bunker_guy03 delete(); + } + + var_0D = getentarray("drop_pod_bases","script_noteworthy"); + maps\_utility::array_delete(var_0D); + var_0E = getentarray("crash_site_volumes","script_noteworthy"); + maps\_utility::array_delete(var_0E); + maps\_utility::stop_exploder(1474); + maps\_utility::stop_exploder(1066); + var_0F = getent("player_jetpack","targetname"); + var_0F delete(); + clearallcorpses(); +} + +//Function Number: 88 +cave_entry_slide_exploders() +{ + common_scripts\utility::flag_wait("fall_debris_exploder"); + common_scripts\_exploder::exploder(1190); +} + +//Function Number: 89 +cave_entry_walker_tank() +{ + level.player endon("death"); + var_00 = maps\_vehicle::spawn_vehicle_from_targetname("cave_walker_tank"); + var_00.animname = "walker_tank"; + var_01 = common_scripts\utility::getstruct("walker_tank_animnode_new","targetname"); + var_02 = var_01 common_scripts\utility::spawn_tag_origin(); + var_00 thread walker_tank_fx(); + var_02 maps\_anim::anim_single_solo(var_00,"fusion_walker_tank_enter"); + var_02 thread maps\_anim::anim_loop_solo(var_00,"fusion_walker_tank_fwd_idle","walker_stop_idle"); + var_00 vehicle_scripts\_walker_tank::enable_firing(0); + var_00 vehicle_scripts\_walker_tank::disable_firing(-1); + var_00 vehicle_scripts\_walker_tank::enable_firing(1); + var_00 vehicle_scripts\_walker_tank::enable_firing(2); + var_03 = getentarray("walker_cave_target","targetname"); + foreach(var_05 in var_03) + { + var_05 setcandamage(1); + var_05 setcanradiusdamage(1); + } + + var_07 = 0; + var_08 = getent("bunker_badplace","targetname"); + while(!level.player istouching(var_08)) + { + wait(0.05); + } + + while(!level.player worldpointinreticle_circle(var_00.origin,65,250) && var_07 < 5) + { + wait(0.05); + var_07 = var_07 + 0.05; + } + + var_00 vehicle_scripts\_walker_tank::disable_firing(0); + var_00 vehicle_scripts\_walker_tank::disable_firing(-1); + var_00 vehicle_scripts\_walker_tank::disable_firing(1); + var_00 vehicle_scripts\_walker_tank::disable_firing(2); + var_00.missile_auto_reload = 1; + level.vehicle_missile_launcher[var_00.classname][0].post_fire_function = undefined; + common_scripts\utility::flag_set("tank_firing_missiles"); + soundscripts\_snd::snd_message("cave_entry_tank_missile",var_03); + var_00 vehicle_scripts\_walker_tank::fire_missles_at_target_array(var_03,1); + wait(1); + common_scripts\utility::flag_set("start_bunker_collapse"); + var_09 = getentarray("walker_cave_target2","targetname"); + wait(0.15); + var_00 vehicle_scripts\_walker_tank::fire_missles_at_target_array(var_09,1); + common_scripts\utility::flag_wait("cave_entry_done"); + var_00 notify("stop_vehicle_turret_ai"); + wait(5); + var_00 delete(); +} + +//Function Number: 90 +walker_tank_fx() +{ + wait(6.47); + playfxontag(common_scripts\utility::getfx("walker_footstep_snow"),self,"tag_wheel_front_left"); + wait(0.46); + playfxontag(common_scripts\utility::getfx("walker_footstep_snow"),self,"tag_wheel_front_right"); +} + +//Function Number: 91 +mobile_turret_dropoff(param_00,param_01,param_02,param_03,param_04) +{ + level.player endon("death"); + var_05 = common_scripts\utility::getstruct(param_00,"targetname"); + var_06 = maps\_vehicle::spawn_vehicle_from_targetname(param_01); + var_06.animname = "warbird_deploy"; + var_06 maps\_vehicle::godon(); + var_06 maps\_vehicle::vehicle_lights_on("running"); + var_06 vehicle_turnengineoff(); + soundscripts\_snd::snd_message("warbird_crash_site",param_01,var_06); + var_07 = maps\_utility::spawn_anim_model("walker_deploy"); + var_07.animname = "walker_deploy"; + var_08 = maps\_utility::spawn_anim_model("pulley_deploy"); + var_08.animname = "pulley_deploy"; + var_05 maps\_anim::anim_first_frame([var_06,var_08,var_07],"mobile_turret_deploy"); + var_05 thread play_warbird_mobile_turret_dropoff(var_06,var_08,param_03,param_04); + var_05 maps\_anim::anim_single_solo(var_07,"mobile_turret_deploy"); + var_09 = getent(param_02,"targetname"); + var_09.origin = var_07.origin; + var_09.angles = var_07.angles; + var_0A = maps\_vehicle::spawn_vehicle_from_targetname_and_drive(param_02); + var_0A setvehicleteam("axis"); + var_0A.makemobileturretunusable = 1; + var_0A maps\_vehicle::godon(); + level.walkers = common_scripts\utility::array_add(level.walkers,var_0A); + var_07 delete(); + var_0A thread monitor_turret_2_death(); + var_0A thread kill_path_on_death(); + common_scripts\utility::flag_wait("start_bunker_collapse"); + var_0A notify("stop_vehicle_turret_ai"); + common_scripts\utility::flag_wait("cave_entry_done"); + var_0A maps\_vehicle::godoff(); + wait(1.75); + var_0A dodamage(var_0A.health + 500,var_0A.origin,var_0A); +} + +//Function Number: 92 +play_warbird_mobile_turret_dropoff(param_00,param_01,param_02,param_03) +{ + maps\_anim::anim_single([param_00,param_01],"mobile_turret_deploy"); + param_01 linkto(param_00); + param_00 maps\_utility::vehicle_detachfrompath(); + param_00 vehicle_setspeed(60,15,5); + var_04 = common_scripts\utility::getstruct(param_03,"targetname"); + param_00 thread maps\_utility::vehicle_dynamicpath(var_04,0); + common_scripts\utility::flag_wait(param_02); + param_01 delete(); + param_00 delete(); +} + +//Function Number: 93 +monitor_turret_2_death() +{ + self waittill("death"); + common_scripts\utility::flag_set("flag_m_turret_dead"); +} + +//Function Number: 94 +kill_path_on_death() +{ + wait_to_kill_path(); + self notify("newpath"); +} + +//Function Number: 95 +wait_to_kill_path() +{ + self endon("death"); + self endon("driver dead"); + level waittill("eternity"); +} \ No newline at end of file diff --git a/AW/PC/maps/crash_exfil.gsc b/AW/PC/maps/crash_exfil.gsc new file mode 100644 index 0000000..672f0d0 --- /dev/null +++ b/AW/PC/maps/crash_exfil.gsc @@ -0,0 +1,939 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: crash_exfil.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 32 + * Decompile Time: 480 ms + * Timestamp: 4/22/2024 2:27:08 AM +*******************************************************************/ + +//Function Number: 1 +precache_vtol_takedown() +{ + thread maps\crash_warbird_missile_defense::missile_defense_precache(); + common_scripts\utility::flag_init("vtol_takedown_done"); + common_scripts\utility::flag_init("start_gideon_wave_anim"); + common_scripts\utility::flag_init("ready_for_vtol"); + common_scripts\utility::flag_init("gideon_intro_done"); + common_scripts\utility::flag_init("cormack_start_vtol"); + common_scripts\utility::flag_init("cormack_fires_stinger"); + common_scripts\utility::flag_init("cormack_fires_stinger_failsafe"); + common_scripts\utility::flag_init("vtol_can_lock_on"); + common_scripts\utility::flag_init("vtol_hit_early"); + common_scripts\utility::flag_init("vtol_hit_mid"); + common_scripts\utility::flag_init("vtol_hit_late"); + common_scripts\utility::flag_init("start_gideons_animation"); + common_scripts\utility::flag_init("cormack_missile_1_hit"); + common_scripts\utility::flag_init("missiles_hit_vtol"); + common_scripts\utility::flag_init("end_vtol_dying"); + common_scripts\utility::flag_init("player_stinger_fired"); + common_scripts\utility::flag_init("player_stinger_hit"); + common_scripts\utility::flag_init("vo_heat_line"); + common_scripts\utility::flag_init("vo_bringitdown_line"); + common_scripts\utility::flag_init("vtol_hit_mountain"); + common_scripts\utility::flag_init("player_bottom_of_hill"); + common_scripts\utility::flag_init("vtol_done_sliding"); + common_scripts\utility::flag_init("cargo_trigger"); + common_scripts\utility::flag_init("kill_sliding_anims"); + common_scripts\utility::flag_init("start_exfil"); + common_scripts\utility::flag_init("start_gideon_exfil"); + common_scripts\utility::flag_init("start_vtol_exfil"); + common_scripts\utility::flag_init("player_getting_in_end_chopper"); + common_scripts\utility::flag_init("vo_cormack_exfil1"); + common_scripts\utility::flag_init("vo_cormack_exfil2"); + common_scripts\utility::flag_init("vo_kingpin_exfil"); + common_scripts\utility::flag_init("failed_cargo_grab"); + common_scripts\utility::flag_init("gideon_boost_jump"); + common_scripts\utility::flag_init("player_exfil_success"); + common_scripts\utility::flag_init("exfil_fail"); + precacherumble("hijack_plane_medium"); + precacheitem("iw5_stingerm7fastprojectile_sp"); + precacheitem("turretheadmg_sp"); + precachemodel("genericprop_x5"); + precachemodel("atlas_stabilize_vial_static"); + precachemodel("atlas_stabilize_crate"); + precachemodel("vehicle_xh9_warbird_pulley"); + precachemodel("projectile_stinger_missile"); + precacheshader("m/mtl_xh9_warbird_main_destroy"); + precacheshader("m/mtl_xh9_warbird_main_02_destroy"); + precacheshader("m/mtl_xh9_warbird_windows_out_destroy"); + precachestring(&"CRASH_HINT_STINGER"); + precachestring(&"CRASH_HINT_STINGER_KEYBOARD"); + precachestring(&"CRASH_CARGO_GRAB"); + precachestring(&"CRASH_CARGO_GRAB_KEYBOARD"); + precachestring(&"CRASH_HINT_EXFIL_JUMP"); + maps\_utility::add_control_based_hint_strings("end_jump",&"CRASH_HINT_BOOST_JUMP",::should_break_end_jump_hint); + var_00 = getentarray("vtol_fail_triggers","targetname"); + foreach(var_02 in var_00) + { + var_02 common_scripts\utility::trigger_off(); + } + + level.end_crate = getent("end_vtol_crate","targetname"); + level.end_crate hide(); + level.end_crate_clip = getent("end_vtol_crate_clip","targetname"); + level.end_crate_clip hide(); + level.end_cables = getent("end_vtol_cables","targetname"); + level.end_cables hide(); +} + +//Function Number: 2 +debug_start_vtol_takedown() +{ + maps\crash::set_completed_flags(); + maps\crash_utility::setup_player(); + maps\crash_utility::setup_allies(); + soundscripts\_snd::snd_message("start_vtol_takedown"); + setsunflareposition((-10.39,-112.7,0)); + level.player lightsetforplayer("crash_avalanche",0); + level.player setclutforplayer("clut_crash_crash_site",2); + maps\_utility::vision_set_fog_changes("crash_avalanche",0); + setsaveddvar("r_dof_physical_enable",1); + setsaveddvar("r_dof_physical_bokehenable",1); + setsaveddvar("r_dof_physical_hipenable",1); + setsaveddvar("r_dof_physical_hipFstop",3.2); + setsaveddvar("r_dof_physical_hipSharpCocDiameter",0.07); + thread dead_stinger_guy(); + thread vtol_takedown_gideon(); + thread vtol_takedown_cormack(); + thread vtol_takedown_cormack_stinger(); + thread vtol_takedown_ilona(); + thread maps\crash::objective_init(); + maps\_utility::battlechatter_off("allies"); + maps\_utility::battlechatter_off("axis"); + level.cormack maps\_utility::disable_ai_color(); + level.cormack.ignoreall = 1; + level.cormack.ignoreme = 1; + thread maps\crash_utility::cormack_helmet_open(level.cormack); + level.ilana maps\_utility::disable_ai_color(); + level.ilana.ignoreall = 1; + level.ilana.ignoreme = 1; + level.gideon maps\_utility::disable_ai_color(); + level.gideon.ignoreall = 1; + level.gideon.ignoreme = 1; + common_scripts\_exploder::exploder(1999); +} + +//Function Number: 3 +begin_vtol_takedown() +{ + thread vtol_takedown_gun_pickup(); + wait 0.05; + thread vtol_takedown_dialogue(); + thread vtol_takedown_failure(); + thread vtol_takedown_chopper(); + level.player thread maps\crash_utility::exo_temp_outdoor(); + thread avalanche_falling_death(); + common_scripts\utility::flag_wait("vtol_takedown_done"); + level.player thread maps\_hud_util::fade_out(3); + wait(5); + maps\_utility::nextmission(); +} + +//Function Number: 4 +dead_stinger_guy() +{ + var_00 = common_scripts\utility::getstruct("vtol_dead_guy","targetname"); + var_01 = maps\_utility::spawn_targetname("vtol_dead_sentinel",1); + var_01.animname = "generic"; + var_01 maps\_utility::set_ignoreall(1); + var_01 maps\_utility::set_ignoreme(1); + var_01 maps\_utility::set_battlechatter(0); + var_01 maps\_utility::gun_remove(); + var_01.script_friendname = " "; + var_01.name = " "; + var_01 invisiblenotsolid(); + var_00 thread maps\_anim::anim_loop_solo(var_01,"npc_deadbody_01","stop_loop"); +} + +//Function Number: 5 +vtol_takedown_gun_pickup() +{ + level.slide_dampening = 0.09; + var_00 = getent("heli_weapon_trigger","targetname"); + var_00 maps\_utility::addhinttrigger(&"CRASH_HINT_STINGER",&"CRASH_HINT_STINGER_KEYBOARD"); + var_01 = getent("player_heli_weapon","targetname"); + maps\player_scripted_anim_util::waittill_trigger_activate_looking_at(var_00,var_01,cos(40),0,1); + common_scripts\utility::flag_set("obj_update_get_gun"); + soundscripts\_snd::snd_message("pickup_stinger"); + var_01 delete(); + level.player_weapons = level.player maps\_utility::get_storable_weapons_list_all(); + level.player takeallweapons(); + level.player giveweapon("iw5_stingerm7fastprojectile_sp"); + level.player setweaponammostock("iw5_stingerm7fastprojectile_sp",0); + level.player switchtoweapon("iw5_stingerm7fastprojectile_sp"); + level.player disableweaponswitch(); + thread vtol_player_fired(); + common_scripts\utility::flag_wait("gideon_intro_done"); + thread vtol_takedown_vtol(); + thread vtol_takedown_cargo_and_cables(); + thread maps\_utility::autosave_now(); + var_02 = getentarray("vtol_takedown_hide_spot","targetname"); + foreach(var_04 in var_02) + { + var_04 thread vtol_takedown_hide_check(); + } + + maps\_utility::delaythread(5,::common_scripts\utility::flag_set,"obj_end_get_gun"); + common_scripts\utility::flag_wait_or_timeout("obj_end_get_gun",5); + common_scripts\utility::flag_wait("vtol_swap_player_weapon"); + level.player disableweapons(); + level.player takeallweapons(); + level.player giveweapon("s1_unarmed"); + level.player switchtoweapon("s1_unarmed"); + while(level.player maps\_utility::issliding()) + { + wait(0.05); + } + + level.player setstance("stand"); + level.player enableweapons(); + common_scripts\utility::flag_set("player_bottom_of_hill"); +} + +//Function Number: 6 +vtol_player_fired() +{ + level waittill("stinger_fired",var_00,var_01); + common_scripts\utility::flag_set("player_stinger_fired"); + wait(0.1); + setsaveddvar("objectiveHide",1); + wait(0.2); + common_scripts\utility::flag_set("cormack_fires_stinger"); + common_scripts\utility::flag_wait("obj_end_exfil"); + setsaveddvar("objectiveHide",0); +} + +//Function Number: 7 +vtol_takedown_hide_check() +{ + level endon("ready_for_vtol"); + for(;;) + { + if(level.player istouching(self)) + { + common_scripts\utility::flag_set("obj_end_get_gun"); + common_scripts\utility::flag_set("ready_for_vtol"); + } + + wait(0.05); + } +} + +//Function Number: 8 +vtol_takedown_gideon() +{ + level.vtol_animnode = common_scripts\utility::getstruct("avalanche_animnode","targetname"); + var_00 = level.player; + level.gideon pushplayer(1); + level.vtol_animnode maps\_anim::anim_single_solo(level.gideon,"vtol_ambush_intro"); + common_scripts\utility::flag_set("gideon_intro_done"); + if(!common_scripts\utility::flag("obj_update_get_gun")) + { + level.vtol_animnode thread maps\_anim::anim_loop_solo(level.gideon,"vtol_ambush_stinger_loop","stop_gideon_loop"); + } + + common_scripts\utility::flag_wait("obj_update_get_gun"); + level.vtol_animnode notify("stop_gideon_loop"); + level.vtol_animnode maps\_anim::anim_single_solo(level.gideon,"vtol_ambush_vtol_talk"); + level.vtol_animnode thread maps\_anim::anim_loop_solo(level.gideon,"vtol_ambush_stinger_loop","stop_gideon_loop"); + common_scripts\utility::flag_wait("start_gideon_wave_anim"); + level.vtol_animnode notify("stop_gideon_loop"); + level.vtol_animnode maps\_anim::anim_single_solo(level.gideon,"vtol_ambush_wave_gideon"); + level.vtol_animnode thread maps\_anim::anim_loop_solo(level.gideon,"vtol_ambush_stinger_loop","stop_gideon_loop"); + common_scripts\utility::flag_wait("start_gideons_animation"); + level.vtol_animnode notify("stop_gideon_loop"); + level.vtol_animnode maps\_anim::anim_single_solo(level.gideon,"vtol_ambush_exit_cover"); + level.gideon thread vtol_takedown_gideon_slide_fx(); + level.vtol_animnode thread maps\_anim::anim_single_solo(level.gideon,"vtol_sliding_off_cliff_gideon"); + soundscripts\_snd::snd_music_message("end_sequence"); + wait(2); + var_01 = getent("block_vtol_slide","targetname"); + var_01 delete(); + while(level.gideon getanimtime(level.gideon maps\_utility::getanim("vtol_sliding_off_cliff_gideon")) < 1 && !common_scripts\utility::flag("start_exfil")) + { + wait(0.05); + } + + thread maps\crash_fx::gideon_boost_jump(); + if(common_scripts\utility::flag("start_exfil")) + { + common_scripts\utility::flag_wait("start_gideon_exfil"); + level.exfil_animnode maps\_anim::anim_single_solo(level.gideon,"avalanche_exit"); + return; + } + + thread cargo_recover_fail(); + common_scripts\utility::flag_set("failed_cargo_grab"); + var_02 = getent("end_cargo_trigger","targetname"); + var_02 notify("valid_trigger"); + level.vtol_animnode maps\_anim::anim_single_solo(level.gideon,"vtol_falls_off_cliff_failure_gideon"); +} + +//Function Number: 9 +vtol_takedown_gideon_slide_fx() +{ + self waittillmatch("bodyfall large","single anim"); + playfxontag(common_scripts\utility::getfx("crash_ai_slide_snow_short"),self,"j_ball_le"); + self waittillmatch("bodyfall large","single anim"); + playfxontag(common_scripts\utility::getfx("crash_ai_slide_snow_short"),self,"j_ball_le"); +} + +//Function Number: 10 +vtol_takedown_cormack() +{ + var_00 = common_scripts\utility::getstruct("avalanche_animnode","targetname"); + var_00 maps\_anim::anim_single_solo(level.cormack,"vtol_ambush_intro"); + var_00 thread maps\_anim::anim_loop_solo(level.cormack,"vtol_ambush_cover_loop","stop_cormack_loop"); + common_scripts\utility::flag_wait_any("cormack_fires_stinger","cormack_fires_stinger_failsafe"); + var_00 notify("stop_cormack_loop"); + var_00 maps\_anim::anim_single_solo(level.cormack,"vtol_ambush_fire_stinger"); + var_00 thread maps\_anim::anim_loop_solo(level.cormack,"vtol_ambush_call_evac_loop","stop_cormack_loop"); + common_scripts\utility::flag_wait("start_exfil"); + var_00 notify("stop_cormack_loop"); + level.cormack maps\_utility::gun_remove(); + level.exfil_animnode maps\_anim::anim_single_solo(level.cormack,"avalanche_exit"); +} + +//Function Number: 11 +vtol_takedown_cormack_stinger() +{ + var_00 = common_scripts\utility::getstruct("avalanche_animnode","targetname"); + var_01 = maps\_utility::spawn_anim_model("vtol_launcher"); + var_02 = maps\_utility::spawn_anim_model("vtol_stinger"); + var_00 maps\_anim::anim_first_frame_solo(var_02,"vtol_ambush_fire_stinger_missiles"); + var_00 maps\_anim::anim_first_frame_solo(var_01,"vtol_ambush_intro"); + var_03 = spawn("script_model",var_01 gettagorigin("j_prop_1")); + var_03.angles = var_01 gettagangles("j_prop_1"); + var_03 setmodel("npc_stingerm7_nocamo"); + var_03 linkto(var_01,"j_prop_1"); + var_04 = spawn("script_model",var_02 gettagorigin("j_prop_1")); + var_04.angles = var_02 gettagangles("j_prop_1"); + var_04 setmodel("projectile_stinger_missile"); + var_04 linkto(var_02,"j_prop_1"); + var_04 hide(); + var_05 = spawn("script_model",var_02 gettagorigin("j_prop_2")); + var_05.angles = var_02 gettagangles("j_prop_2"); + var_05 setmodel("projectile_stinger_missile"); + var_05 linkto(var_02,"j_prop_2"); + var_05 hide(); + var_06 = spawn("script_model",var_02 gettagorigin("j_prop_3")); + var_06.angles = var_02 gettagangles("j_prop_3"); + var_06 setmodel("projectile_stinger_missile"); + var_06 linkto(var_02,"j_prop_3"); + var_06 hide(); + var_07 = spawn("script_model",var_02 gettagorigin("j_prop_4")); + var_07.angles = var_02 gettagangles("j_prop_4"); + var_07 setmodel("projectile_stinger_missile"); + var_07 linkto(var_02,"j_prop_4"); + var_07 hide(); + common_scripts\utility::flag_wait("cormack_start_vtol"); + var_00 maps\_anim::anim_single_solo(var_01,"vtol_ambush_intro"); + var_00 thread maps\_anim::anim_loop_solo(var_01,"vtol_ambush_cover_loop","stop_launcher_loop"); + common_scripts\utility::flag_wait_any("cormack_fires_stinger","cormack_fires_stinger_failsafe"); + var_00 notify("stop_launcher_loop"); + var_00 thread maps\_anim::anim_single_solo(var_01,"vtol_ambush_fire_stinger"); + var_04 show(); + var_04 thread cormack_missile_fx(0.2); + soundscripts\_snd::snd_message("cormack_missile",var_04); + var_05 show(); + var_05 thread cormack_missile_fx(0.23); + soundscripts\_snd::snd_message("cormack_missile",var_05); + var_06 show(); + var_06 thread cormack_missile_fx(0.2); + soundscripts\_snd::snd_message("cormack_missile",var_06); + var_07 show(); + var_07 thread cormack_missile_fx(0.25,1); + soundscripts\_snd::snd_message("cormack_missile",var_07); + var_00 thread maps\_anim::anim_single_solo(var_02,"vtol_ambush_fire_stinger_missiles"); + var_02 waittillmatch("missile1_hit","single anim"); + common_scripts\utility::flag_set("cormack_missile_1_hit"); + stopfxontag(common_scripts\utility::getfx("smoketrail_rpg_sp"),var_04,"tag_origin"); + playfxontag(common_scripts\utility::getfx("crash_rocket_explosion_default"),var_04,"tag_origin"); + stopfxontag(common_scripts\utility::getfx("smoketrail_rpg_sp"),var_05,"tag_origin"); + playfxontag(common_scripts\utility::getfx("crash_rocket_explosion_default"),var_05,"tag_origin"); + wait 0.05; + var_04 delete(); + var_05 delete(); + var_02 waittillmatch("missile3_hit","single anim"); + stopfxontag(common_scripts\utility::getfx("smoketrail_rpg_sp"),var_06,"tag_origin"); + playfxontag(common_scripts\utility::getfx("ambient_explosion_midair_runner_single"),var_06,"tag_origin"); + var_02 waittillmatch("missile4_hit","single anim"); + stopfxontag(common_scripts\utility::getfx("smoketrail_rpg_sp"),var_07,"tag_origin"); + playfxontag(common_scripts\utility::getfx("ambient_explosion_midair_runner_single"),var_07,"tag_origin"); + var_02 waittillmatch("end","single anim"); + var_06 delete(); + var_07 delete(); + var_02 delete(); + common_scripts\_exploder::exploder(3122); + wait(0.2); + common_scripts\_exploder::exploder(3111); +} + +//Function Number: 12 +cormack_missile_fx(param_00,param_01) +{ + common_scripts\utility::flag_wait_any("cormack_fires_stinger","cormack_fires_stinger_failsafe"); + playfx(common_scripts\utility::getfx("javelin_ignition"),self.origin); + wait(param_00); + playfxontag(common_scripts\utility::getfx("smoketrail_rpg_sp"),self,"tag_origin"); +} + +//Function Number: 13 +vtol_takedown_ilona() +{ + var_00 = common_scripts\utility::getstruct("avalanche_animnode","targetname"); + var_00 maps\_anim::anim_single_solo(level.ilana,"vtol_ambush_intro"); + var_00 thread maps\_anim::anim_loop_solo(level.ilana,"vtol_ambush_cover_loop","stop_ilana_loop"); + common_scripts\utility::flag_wait_any("cormack_fires_stinger","cormack_fires_stinger_failsafe"); + var_00 notify("stop_ilana_loop"); + var_00 maps\_anim::anim_single_solo(level.ilana,"vtol_ambush_exit_cover"); + var_00 thread maps\_anim::anim_loop_solo(level.ilana,"vtol_ambush_call_evac_loop","stop_ilana_loop"); + common_scripts\utility::flag_wait("start_exfil"); + var_00 notify("stop_cormack_loop"); + level.ilana maps\_utility::gun_remove(); + level.exfil_animnode maps\_anim::anim_single_solo(level.ilana,"avalanche_exit"); +} + +//Function Number: 14 +cargo_recover_fail() +{ + setdvar("ui_deadquote",&"CRASH_FAIL_CARGO"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 15 +vtol_takedown_vtol() +{ + level.stingerm7_lock_range = 10000; + level.end_vtol = maps\_vehicle::spawn_vehicle_from_targetname("end_vtol"); + soundscripts\_snd::snd_message("vtol_flyin"); + level.end_vtol.animname = "crashed_vtol"; + level.end_vtol maps\_anim::setanimtree(); + level.end_vtol maps\_vehicle::godon(); + level.end_vtol setvehicleteam("axis"); + level.end_vtol hide(); + level.end_vtol.stinger_override_tags = ["tag_driver","tag_grapple_fl","tag_grapple_br","TAG_STATIC_TAIL_ROTOR"]; + level.end_vtol thread maps\crash_warbird_missile_defense::heli_flares_monitor(); + level.end_vtol thread vtol_damage_monitor(); + var_00 = getent("end_vtol_clip","targetname"); + if(isdefined(var_00)) + { + var_00 linkto(level.end_vtol); + var_00 notsolid(); + } + + common_scripts\utility::flag_wait("obj_end_get_gun"); + level.end_vtol show(); + level.vtol_animnode thread maps\_anim::anim_single_solo(level.end_vtol,"vtol_ambush_fly_intro"); + while(!common_scripts\utility::flag("cormack_fires_stinger_failsafe") && !common_scripts\utility::flag("player_stinger_hit")) + { + wait(0.05); + } + + level notify("vtol_takedown_vtol_hit"); + level.end_vtol thread stinger_add_hit(); + level.end_vtol thread vtol_delayed_stinger_ignore(5); + thread maps\_utility::autosave_now(); + if(common_scripts\utility::flag("vtol_can_lock_on") && !common_scripts\utility::flag("vtol_hit_early")) + { + common_scripts\utility::flag_wait("vtol_hit_early"); + level.vtol_animnode thread maps\_anim::anim_single_solo(level.end_vtol,"vtol_ambush_stinger_hit_early"); + } + else if(common_scripts\utility::flag("vtol_hit_early") && !common_scripts\utility::flag("vtol_hit_mid")) + { + common_scripts\utility::flag_wait("vtol_hit_mid"); + level.vtol_animnode thread maps\_anim::anim_single_solo(level.end_vtol,"vtol_ambush_stinger_hit_mid"); + } + else if(common_scripts\utility::flag("vtol_hit_mid")) + { + common_scripts\utility::flag_wait("missiles_hit_vtol"); + level.vtol_animnode thread maps\_anim::anim_single_solo(level.end_vtol,"vtol_ambush_stinger_hit_late"); + } + else + { + } + + level.end_vtol notify("warbird_stop_firing"); + level.end_vtol notify("end_vtol_start_dying"); + level notify("vtol_downed"); + playfxontag(common_scripts\utility::getfx("helicopter_explosion_secondary_small"),level.end_vtol,"jnt_wingsocket_l"); + playfxontag(common_scripts\utility::getfx("smoke_trail_black_heli_emitter"),level.end_vtol,"jnt_wingsocket_l"); + level.end_vtol waittillmatch("end","single anim"); + common_scripts\utility::flag_set("end_vtol_dying"); + common_scripts\utility::flag_set("obj_end_exfil"); + common_scripts\_exploder::exploder(3131); + stopfxontag(common_scripts\utility::getfx("helicopter_explosion_secondary_small"),level.end_vtol,"jnt_wingsocket_l"); + stopfxontag(common_scripts\utility::getfx("smoke_trail_black_heli_emitter"),level.end_vtol,"jnt_wingsocket_l"); + maps\_utility::delaythread(4,::common_scripts\utility::flag_set,"obj_final_recover_cargo"); + if(isdefined(var_00)) + { + var_00 solid(); + } + + thread vtol_takedown_terrain(); + thread vtol_takedown_vtol_slide_fx(); + if(level.nextgen) + { + level.end_vtol overridematerial("mtl_xh9_warbird_main","m/mtl_xh9_warbird_main_destroy"); + level.end_vtol overridematerial("mtl_xh9_warbird_main_02","m/mtl_xh9_warbird_main_02_destroy"); + level.end_vtol overridematerial("mtl_xh9_warbird_windows_out","m/mtl_xh9_warbird_windows_out_destroy"); + } + else + { + level.end_vtol overridematerial("mtl_xh9_warbird_main","mq/mtl_xh9_warbird_main_destroy"); + level.end_vtol overridematerial("mtl_xh9_warbird_main_02","mq/mtl_xh9_warbird_main_02_destroy"); + level.end_vtol overridematerial("mtl_xh9_warbird_windows_out","mq/mtl_xh9_warbird_windows_out_destroy"); + } + + level.end_vtol showpart("TAG_STATIC_MAIN_ROTOR_L"); + level.end_vtol showpart("TAG_STATIC_MAIN_ROTOR_R"); + level.end_vtol showpart("TAG_STATIC_TAIL_ROTOR"); + level.end_vtol hidepart("TAG_SPIN_MAIN_ROTOR_L"); + level.end_vtol hidepart("TAG_SPIN_MAIN_ROTOR_R"); + level.end_vtol hidepart("TAG_SPIN_TAIL_ROTOR"); + level.vtol_animnode maps\_anim::anim_single_solo(level.end_vtol,"vtol_ambush_crash"); + thread avalanche_environment(); + thread vtol_takedown_player_grabs_cargo(); + common_scripts\utility::flag_set("vtol_done_sliding"); + level.vtol_animnode thread maps\_anim::anim_single_solo(level.end_vtol,"vtol_sliding_off_cliff"); + while(level.end_vtol getanimtime(level.end_vtol maps\_utility::getanim("vtol_sliding_off_cliff")) < 1 && !common_scripts\utility::flag("kill_sliding_anims")) + { + wait(0.05); + } + + if(common_scripts\utility::flag("kill_sliding_anims")) + { + level.end_vtol setanimrate(level.end_vtol maps\_utility::getanim("vtol_sliding_off_cliff"),0); + common_scripts\utility::flag_wait("start_vtol_exfil"); + level.vtol_animnode thread maps\_anim::anim_single_solo(level.end_vtol,"avalanche_exit_fail"); + } + else + { + level.vtol_animnode thread maps\_anim::anim_single_solo(level.end_vtol,"vtol_falls_off_cliff"); + } + + playfxontag(common_scripts\utility::getfx("vtol_crash_slide_snow"),level.end_vtol,"jnt_maindoor_LR"); + wait(0.05); + playfxontag(common_scripts\utility::getfx("vtol_crash_slide_snow"),level.end_vtol,"jnt_launcherDoor02_R"); + wait(0.05); + playfxontag(common_scripts\utility::getfx("crate_crash_slide_snow"),level.end_crate,"TAG_FX_SLIDE_BL"); + playfxontag(common_scripts\utility::getfx("crate_crash_slide_snow"),level.end_crate,"TAG_FX_SLIDE_FL"); +} + +//Function Number: 16 +stinger_add_hit() +{ + level endon("missiles_hit_vtol"); + common_scripts\utility::flag_wait("player_stinger_hit"); + level.end_vtol setanim(level.end_vtol maps\_utility::getanim("ambush_hit_add"),0.5); + level.end_cables setanim(level.end_cables maps\_utility::getanim("ambush_hit_add"),0.5); + level.end_crate setanim(level.end_crate maps\_utility::getanim("ambush_hit_add"),0.5); +} + +//Function Number: 17 +vtol_takedown_vtol_slide_fx() +{ + playfxontag(common_scripts\utility::getfx("vtol_crash_slide_snow"),level.end_vtol,"jnt_maindoor_LL"); + playfxontag(common_scripts\utility::getfx("vtol_crash_slide_snow"),level.end_vtol,"jnt_maindoor_LR"); + wait(0.05); + playfxontag(common_scripts\utility::getfx("vtol_crash_slide_snow"),level.end_vtol,"jnt_launcherDoor02_L"); + playfxontag(common_scripts\utility::getfx("vtol_crash_slide_snow"),level.end_vtol,"jnt_launcherDoor02_R"); + wait(0.05); + playfxontag(common_scripts\utility::getfx("crate_crash_slide_snow"),level.end_crate,"TAG_FX_SLIDE_BL"); + playfxontag(common_scripts\utility::getfx("crate_crash_slide_snow"),level.end_crate,"TAG_FX_SLIDE_FL"); + playfxontag(common_scripts\utility::getfx("vtol_crash_slide_snow"),level.end_vtol,"Tag_light_l_wing"); + common_scripts\utility::flag_wait("vtol_done_sliding"); + stopfxontag(common_scripts\utility::getfx("vtol_crash_slide_snow"),level.end_vtol,"jnt_maindoor_LL"); + stopfxontag(common_scripts\utility::getfx("vtol_crash_slide_snow"),level.end_vtol,"jnt_maindoor_LR"); + wait(0.05); + stopfxontag(common_scripts\utility::getfx("vtol_crash_slide_snow"),level.end_vtol,"jnt_launcherDoor02_L"); + stopfxontag(common_scripts\utility::getfx("vtol_crash_slide_snow"),level.end_vtol,"jnt_launcherDoor02_R"); + wait(0.05); + stopfxontag(common_scripts\utility::getfx("crate_crash_slide_snow"),level.end_crate,"TAG_FX_SLIDE_BL"); + stopfxontag(common_scripts\utility::getfx("crate_crash_slide_snow"),level.end_crate,"TAG_FX_SLIDE_FL"); + stopfxontag(common_scripts\utility::getfx("vtol_crash_slide_snow"),level.end_vtol,"Tag_light_l_wing"); +} + +//Function Number: 18 +vtol_delayed_stinger_ignore(param_00) +{ + wait(param_00); + if(isdefined(self)) + { + maps\_stingerm7::stinger_ignore(); + } +} + +//Function Number: 19 +vtol_damage_monitor() +{ + level endon("vtol_takedown_vtol_hit"); + level.end_vtol setcandamage(1); + level.end_vtol setcanradiusdamage(1); + for(;;) + { + level waittill("stinger_fired",var_00,var_01); + foreach(var_03 in var_01) + { + if(isdefined(var_03)) + { + var_03 thread projectile_alive(); + } + } + } + + level notify("vtol_downed"); + var_05 = getentarray("vtol_fail_triggers","targetname"); + maps\_utility::array_delete(var_05); +} + +//Function Number: 20 +projectile_alive() +{ + level endon("player_stinger_hit"); + while(isdefined(self)) + { + wait(0.05); + } + + common_scripts\utility::flag_set("player_stinger_hit"); +} + +//Function Number: 21 +vtol_takedown_shoot_monitor() +{ + self endon("end_vtol_start_dying"); + level.player.ignoreme = 0; + wait(0.25); + thread maps\crash_utility::warbird_shooting_think(0,0.5,2.5,1); + wait(0.05); + self notify("warbird_fire"); +} + +//Function Number: 22 +vtol_takedown_cargo_and_cables() +{ + level.end_cables notsolid(); + level.end_crate.origin = level.end_cables gettagorigin("tag_attach"); + level.end_crate.angles = level.end_cables gettagangles("tag_attach"); + level.end_crate notsolid(); + level.end_crate_clip.origin = level.end_crate.origin; + level.end_crate_clip.angles = level.end_crate.angles; + level.end_crate_clip linkto(level.end_crate); + level.end_crate_clip notsolid(); + var_00 = getent("end_cargo_trigger","targetname"); + var_00 enablelinkto(); + var_00 linkto(level.end_crate,"tag_origin",(64,0,48),(0,0,0)); + var_00 common_scripts\utility::trigger_off(); + level.final_loc = level.end_crate common_scripts\utility::spawn_tag_origin(); + level.final_loc.origin = level.end_crate gettagorigin("j_casing_lid"); + level.final_loc linkto(level.end_crate,"j_casing_lid"); + level.final_use_struct = level.end_crate common_scripts\utility::spawn_tag_origin(); + level.final_use_struct.origin = level.end_crate gettagorigin("j_casing_lid"); + level.final_use_struct linkto(level.end_crate,"j_casing_lid"); + var_01 = []; + var_01[0] = level.end_crate; + var_01[1] = level.end_cables; + level.end_crate.animname = "vtol_cargo"; + level.end_crate maps\_anim::setanimtree(); + level.end_cables.animname = "vtol_cables"; + level.end_cables maps\_anim::setanimtree(); + common_scripts\utility::flag_wait("obj_end_get_gun"); + level.end_cables show(); + level.end_crate show(); + level.end_crate_clip show(); + level.vtol_animnode thread maps\_anim::anim_single(var_01,"vtol_ambush_fly_intro"); + while(!common_scripts\utility::flag("cormack_fires_stinger_failsafe") && !common_scripts\utility::flag("player_stinger_hit")) + { + wait(0.05); + } + + if(common_scripts\utility::flag("vtol_can_lock_on") && !common_scripts\utility::flag("vtol_hit_early")) + { + common_scripts\utility::flag_wait("vtol_hit_early"); + level.vtol_animnode maps\_anim::anim_single(var_01,"vtol_ambush_stinger_hit_early"); + } + else if(common_scripts\utility::flag("vtol_hit_early") && !common_scripts\utility::flag("vtol_hit_mid")) + { + common_scripts\utility::flag_wait("vtol_hit_mid"); + level.vtol_animnode maps\_anim::anim_single(var_01,"vtol_ambush_stinger_hit_mid"); + } + else if(common_scripts\utility::flag("vtol_hit_mid")) + { + common_scripts\utility::flag_wait("missiles_hit_vtol"); + level.vtol_animnode maps\_anim::anim_single(var_01,"vtol_ambush_stinger_hit_late"); + } + else + { + } + + level.end_cables solid(); + level.end_crate solid(); + level.end_crate_clip solid(); + level.vtol_animnode maps\_anim::anim_single(var_01,"vtol_ambush_crash"); + var_00 common_scripts\utility::trigger_on(); + level.vtol_animnode thread maps\_anim::anim_single(var_01,"vtol_sliding_off_cliff"); + while(level.end_vtol getanimtime(level.end_vtol maps\_utility::getanim("vtol_sliding_off_cliff")) < 1 && !common_scripts\utility::flag("kill_sliding_anims")) + { + wait(0.05); + } + + if(common_scripts\utility::flag("kill_sliding_anims")) + { + level.end_cables setanimrate(level.end_cables maps\_utility::getanim("vtol_sliding_off_cliff"),0); + level.end_crate setanimrate(level.end_crate maps\_utility::getanim("vtol_sliding_off_cliff"),0); + level.exfil_animnode = level.end_crate common_scripts\utility::spawn_tag_origin(); + common_scripts\utility::flag_set("start_exfil"); + level.exfil_animnode maps\_anim::anim_single_solo(level.end_crate,"avalanche_exit"); + common_scripts\utility::flag_wait("start_vtol_exfil"); + level.vtol_animnode maps\_anim::anim_single(var_01,"avalanche_exit_fail"); + return; + } + + var_00 delete(); + level.vtol_animnode maps\_anim::anim_single(var_01,"vtol_falls_off_cliff"); +} + +//Function Number: 23 +vtol_takedown_terrain() +{ + var_00 = getent("vtol_slide_cover_01","targetname"); + var_01 = getent("vtol_slide_cover_01a","targetname"); + var_02 = getent("vtol_slide_cover_02","targetname"); + var_03 = getent("vtol_slide_cover_03","targetname"); + var_04 = getent("vtol_slide_cover_04","targetname"); + var_05 = getent("vtol_slide_cover_05","targetname"); + var_06 = getent("vtol_slide_cover_06","targetname"); + var_07 = getent("vtol_slide_cover_07","targetname"); + var_08 = getent("vtol_slide_cover_08","targetname"); + var_09 = getent("vtol_slide_cover_09","targetname"); + var_0A = getent("vtol_slide_cover_10","targetname"); + var_0B = getent("vtol_slide_cover_11","targetname"); + var_0C = getent("vtol_slide_cover_12","targetname"); + common_scripts\_exploder::exploder(8700); + var_00 delete(); + wait(0.34); + var_01 delete(); + wait(3.58); + var_02 delete(); + wait(1.33); + var_03 delete(); + wait(1.05); + var_04 delete(); + wait(1.13); + var_05 delete(); + wait(0.98); + var_06 delete(); + wait(0.78); + var_07 delete(); + wait(0.81); + var_08 delete(); + wait(0.86); + var_09 delete(); + wait(1.13); + var_0A delete(); + wait(0.81); + var_0B delete(); + wait(0.85); + var_0C delete(); +} + +//Function Number: 24 +vtol_takedown_player_grabs_cargo() +{ + level endon("failed_cargo_grab"); + if(common_scripts\utility::flag("failed_cargo_grab")) + { + return; + } + + var_00 = getent("end_cargo_trigger","targetname"); + var_00 maps\_utility::addhinttrigger(&"CRASH_CARGO_GRAB",&"CRASH_CARGO_GRAB_KEYBOARD"); + maps\player_scripted_anim_util::waittill_trigger_activate_looking_at(var_00,level.final_loc,cos(40),0,1); + common_scripts\utility::flag_set("cargo_trigger"); + common_scripts\utility::flag_set("kill_sliding_anims"); + common_scripts\utility::flag_wait("start_exfil"); + level.player maps\_shg_utility::setup_player_for_scene(); + var_01 = maps\_utility::spawn_anim_model("rig"); + var_01 hide(); + var_02 = spawn("script_model",var_01.origin); + var_02 setmodel("atlas_stabilize_vial_static"); + var_02 hide(); + var_02.origin = var_01 gettagorigin("tag_weapon_right"); + var_02.angles = var_01 gettagangles("tag_weapon_right"); + var_02 linkto(var_01,"tag_weapon_right"); + soundscripts\_snd::snd_message("recover_cargo"); + level.exfil_animnode thread maps\_anim::anim_single_solo(var_01,"avalanche_exit"); + thread maps\_shg_utility::disable_features_entering_cinema(1); + level.player playerlinktoblend(var_01,"tag_player",0.6); + wait(0.3); + var_01 show(); + wait(0.3); + common_scripts\utility::flag_set("obj_end_recover_cargo"); + level.player playerlinktodelta(var_01,"tag_player",1,25,25,20,20,1); + common_scripts\_exploder::exploder(5186); + wait(0.5); + level notify("moved_indoors"); + var_01 waittillmatch("unhide_vial","single anim"); + var_02 show(); + var_01 waittillmatch("jump_window_end","single anim"); + if(!common_scripts\utility::flag("player_exfil_success")) + { + var_03 = var_01 common_scripts\utility::spawn_tag_origin(); + var_03 thread maps\_anim::anim_single_solo(var_01,"avalanche_death"); + soundscripts\_snd::snd_message("exfil_fail"); + wait(1); + var_04 = var_01 common_scripts\utility::spawn_tag_origin(); + var_04 linkto(var_01,"tag_origin"); + playfxontag(common_scripts\utility::getfx("screen_avalanche_death"),var_04,"tag_origin"); + wait(0.75); + setdvar("ui_deadquote",&"CRASH_FAIL_CARGO"); + maps\_utility::missionfailedwrapper(); + } + + var_01 waittillmatch("end","single anim"); +} + +//Function Number: 25 +exfil_player_jump(param_00) +{ + level.player endon("exfil_fail"); + thread maps\_utility::hintdisplayhandler("end_jump"); + level.player notifyonplayercommand("exfil_jump","+gostand"); + level.player waittill("exfil_jump"); + wait 0.05; + level.player notifyonplayercommand("exfil_jump2","+gostand"); + level.player waittill("exfil_jump2"); + common_scripts\utility::flag_set("player_exfil_success"); +} + +//Function Number: 26 +exfil_player_jump_fail(param_00) +{ + level.player notify("exfil_fail"); + common_scripts\utility::flag_set("exfil_fail"); +} + +//Function Number: 27 +should_break_end_jump_hint() +{ + return common_scripts\utility::flag("player_exfil_success") || common_scripts\utility::flag("exfil_fail"); +} + +//Function Number: 28 +vtol_takedown_chopper() +{ + common_scripts\utility::flag_wait_any("player_bottom_of_hill","player_at_vtol","cargo_trigger"); + var_00 = common_scripts\utility::getstruct("avalanche_exfil_animnode","targetname"); + level.end_chopper = maps\_vehicle::spawn_vehicle_from_targetname("end_littlebird"); + level.end_chopper.animname = "exfil_heli"; + level.end_chopper maps\_anim::setanimtree(); + level.end_chopper hide(); + level.end_chopper vehicle_turnengineoff(); + var_00 maps\_anim::anim_first_frame_solo(level.end_chopper,"avalanche_exit"); + common_scripts\utility::flag_wait("start_exfil"); + level.end_chopper show(); + level.exfil_animnode maps\_anim::anim_single_solo(level.end_chopper,"avalanche_exit"); +} + +//Function Number: 29 +vtol_takedown_dialogue() +{ + level.gideon maps\_utility::smart_dialogue("crsh_gid_stingers"); + common_scripts\utility::flag_set("obj_start_get_gun"); + common_scripts\utility::flag_wait("gideon_intro_done"); + wait(0.4); + level.gideon maps\_utility::smart_dialogue("crsh_gid_dealthwith"); + wait(0.75); + maps\_utility::smart_radio_dialogue("crsh_acp_yourelucky"); + wait(0.5); + level.gideon maps\_utility::smart_dialogue("crsh_gid_cargosecure2"); + wait(0.75); + maps\_utility::smart_radio_dialogue("crsh_acp_intact"); + common_scripts\utility::flag_wait("vo_heat_line"); + if(!common_scripts\utility::flag("player_stinger_fired")) + { + maps\_utility::smart_radio_dialogue("crsh_acp_heatsignatures"); + common_scripts\utility::flag_wait("vo_bringitdown_line"); + if(!common_scripts\utility::flag("player_stinger_fired")) + { + maps\_utility::smart_radio_dialogue("crsh_gid_bringitdown2"); + } + } + + level waittill("vtol_downed"); + wait(1); + level.gideon maps\_utility::smart_dialogue("crsh_gid_callevac3"); + common_scripts\utility::flag_wait("gideon_jump_talk"); + level.gideon maps\_utility::smart_dialogue("crsh_gid_comingapart3"); + wait(1); + maps\_utility::smart_radio_dialogue("crsh_crmk_evacshere"); + wait(1.5); + if(!common_scripts\utility::flag("player_at_vtol")) + { + maps\_utility::smart_radio_dialogue("crsh_gid_loseit2"); + } + + common_scripts\utility::flag_wait("player_at_vtol"); + if(!common_scripts\utility::flag("cargo_trigger")) + { + maps\_utility::smart_radio_dialogue("crsh_gid_grabcargo2"); + } + + common_scripts\utility::flag_wait("vo_cormack_exfil1"); + if(common_scripts\utility::flag("player_exfil_success")) + { + level.cormack maps\_utility::smart_dialogue("crsh_crmk_boxissecure"); + } + + common_scripts\utility::flag_wait("vo_kingpin_exfil"); + if(common_scripts\utility::flag("player_exfil_success")) + { + maps\_utility::smart_radio_dialogue("crsh_so_solidcopy1"); + } + + common_scripts\utility::flag_wait("vo_cormack_exfil2"); + if(common_scripts\utility::flag("player_exfil_success")) + { + level.cormack maps\_utility::smart_dialogue("crsh_crmk_donttrustyou"); + } +} + +//Function Number: 30 +vtol_takedown_failure() +{ + level endon("vtol_downed"); + var_00 = getentarray("vtol_fail_triggers","targetname"); + foreach(var_02 in var_00) + { + var_02 common_scripts\utility::trigger_on(); + } + + common_scripts\utility::flag_clear("vtol_fail"); + common_scripts\utility::flag_wait("vtol_fail"); + setdvar("ui_deadquote",&"CRASH_FAIL_CARGO"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 31 +avalanche_environment() +{ + while(!common_scripts\utility::flag("obj_end_recover_cargo")) + { + var_00 = randomfloatrange(1.5,5.5); + level.player playrumbleonentity("hijack_plane_medium"); + screenshake(level.player.origin,0.5,0.5,0.25,var_00,0,0.5,500,8,5,2); + wait(var_00 + randomfloatrange(0.5,1.5)); + } +} + +//Function Number: 32 +avalanche_falling_death() +{ + common_scripts\utility::flag_wait("av_fall_death"); + setdvar("ui_deadquote",&"CRASH_FAIL_FALL"); + maps\_utility::missionfailedwrapper(); + level.player thread maps\_player_exo::player_exo_deactivate(); +} \ No newline at end of file diff --git a/AW/PC/maps/crash_exo_temperature.gsc b/AW/PC/maps/crash_exo_temperature.gsc new file mode 100644 index 0000000..00d4547 --- /dev/null +++ b/AW/PC/maps/crash_exo_temperature.gsc @@ -0,0 +1,162 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: crash_exo_temperature.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 9 + * Decompile Time: 142 ms + * Timestamp: 4/22/2024 2:27:09 AM +*******************************************************************/ + +//Function Number: 1 +precache_exo_temperature() +{ + precacheshader("hud_exo_temp_bg"); + precacheshader("hud_exo_temp_warning"); + precacheshader("overlay_frozen_2"); + precachestring(&"temperature_fade_out"); + precachestring(&"temperature_fade_in"); + precachestring(&"temperature_warning_blink"); + precachestring(&"temperature_warning_hide"); +} + +//Function Number: 2 +create_exo_temperature_hud(param_00) +{ + setomnvar("ui_temperaturegauge_hud",1); + level.player setclientomnvar("ui_temperaturegauge_external",param_00); + level.body_temp = 98.6; + level.exo_temp = param_00 + 25; + level.exo_temperature_hud = []; + level.exo_temperature_hud["overlay"] = newhudelem(); + level.exo_temperature_hud["overlay"].x = 0; + level.exo_temperature_hud["overlay"].y = 0; + level.exo_temperature_hud["overlay"] setshader("overlay_frozen_2",640,480); + level.exo_temperature_hud["overlay"].sort = 50; + level.exo_temperature_hud["overlay"].lowresbackground = 1; + level.exo_temperature_hud["overlay"].alignx = "left"; + level.exo_temperature_hud["overlay"].aligny = "top"; + level.exo_temperature_hud["overlay"].horzalign = "fullscreen"; + level.exo_temperature_hud["overlay"].vertalign = "fullscreen"; + level.exo_temperature_hud["overlay"].alpha = 0; + foreach(var_02 in level.exo_temperature_hud) + { + var_02.hidewheninmenu = 1; + } + + thread monitor_temperature(); +} + +//Function Number: 3 +remove_exo_temperature_hud(param_00) +{ + level notify("remove_exo_temperature_hud"); + if(isdefined(param_00) && param_00 > 0) + { + luinotifyevent(&"temperature_fade_out",1,int(param_00 * 1000)); + foreach(var_02 in level.exo_temperature_hud) + { + var_02 fadeovertime(param_00); + var_02.alpha = 0; + } + + wait(param_00); + } + + foreach(var_02 in level.exo_temperature_hud) + { + var_02 destroy(); + } + + level.exo_temperature_hud = undefined; + setomnvar("ui_temperaturegauge_hud",0); +} + +//Function Number: 4 +monitor_temperature() +{ + level endon("remove_exo_temperature_hud"); + var_00 = 98.6; + var_01 = 96; + var_02 = 92.5; + var_03 = 97; + var_04 = 91.5; + var_05 = 0; + for(;;) + { + level.exo_temperature_hud["overlay"].alpha = 1 - clamp(level.body_temp - var_04 / var_03 - var_04,0,1); + if(level.body_temp < var_01 && !var_05) + { + luinotifyevent(&"temperature_warning_blink",1,500); + var_05 = 1; + } + else if(level.body_temp > var_01 && var_05) + { + luinotifyevent(&"temperature_warning_hide",1,100); + var_05 = 0; + } + + wait(0.05); + } +} + +//Function Number: 5 +activate_heater() +{ +} + +//Function Number: 6 +deactivate_heater() +{ +} + +//Function Number: 7 +set_exo_temperature_over_time(param_00,param_01) +{ + level notify("set_exo_temperature"); + level endon("set_exo_temperature"); + level endon("remove_exo_temperature_hud"); + var_02 = param_00 - level.exo_temp / param_01 * 0.05; + while(param_01 > 0) + { + level.exo_temp = level.exo_temp + var_02; + param_01 = param_01 - 0.05; + wait(0.05); + } + + level.exo_temp = param_00; +} + +//Function Number: 8 +set_operator_temperature_over_time(param_00,param_01) +{ + level notify("set_operator_temperature"); + level endon("set_operator_temperature"); + level endon("remove_exo_temperature_hud"); + var_02 = param_00 - level.body_temp / param_01 * 0.05; + while(param_01 > 0) + { + level.body_temp = level.body_temp + var_02; + param_01 = param_01 - 0.05; + wait(0.05); + } + + level.body_temp = param_00; +} + +//Function Number: 9 +set_external_temperature_over_time(param_00,param_01) +{ + level notify("set_external_temperature"); + level endon("set_external_temperature"); + level endon("remove_exo_temperature_hud"); + var_02 = param_00 - level.player getclientomnvar("ui_temperaturegauge_external") / param_01 * 0.05; + while(param_01 > 0) + { + level.player setclientomnvar("ui_temperaturegauge_external",level.player getclientomnvar("ui_temperaturegauge_external") + var_02); + param_01 = param_01 - 0.05; + wait(0.05); + } + + level.player setclientomnvar("ui_temperaturegauge_external",param_00); +} \ No newline at end of file diff --git a/AW/PC/maps/crash_fx.gsc b/AW/PC/maps/crash_fx.gsc new file mode 100644 index 0000000..a455204 --- /dev/null +++ b/AW/PC/maps/crash_fx.gsc @@ -0,0 +1,605 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: crash_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 27 + * Decompile Time: 444 ms + * Timestamp: 4/22/2024 2:27:11 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["wing_top_contrail_loop"] = loadfx("vfx/wind/wing_top_contrail_loop"); + level._effect["crash_ai_slide_snow_short"] = loadfx("vfx/map/crash/crash_ai_slide_snow_short"); + level._effect["crash_slice_device_plant"] = loadfx("vfx/map/crash/crash_slice_device_plant"); + level._effect["ground_snow_hvy_avalanche"] = loadfx("vfx/map/crash/ground_snow_hvy_avalanche"); + level._effect["waterfall_splash_base_sm"] = loadfx("vfx/water/waterfall_splash_base_sm"); + level._effect["waterfall"] = loadfx("vfx/water/waterfall"); + level._effect["waterfall_splash_base_lg"] = loadfx("vfx/water/waterfall_splash_base_lg"); + level._effect["ground_snow_hvy_wind_vista"] = loadfx("vfx/snow/ground_snow_hvy_wind_vista"); + level._effect["blood_impact_burst"] = loadfx("vfx/blood/blood_impact_burst"); + level._effect["snow_blizard_far"] = loadfx("vfx/wind/snow_blizard_far"); + level._effect["ice_chute_falling_debris"] = loadfx("vfx/map/crash/ice_chute_falling_debris"); + level._effect["fire_wreckage_ground_nolight"] = loadfx("vfx/map/crash/fire_wreckage_ground_nolight"); + level._effect["ground_snow_hvy_wind_flat_crash"] = loadfx("vfx/snow/ground_snow_hvy_wind_flat_crash"); + level._effect["smoke_pillar_overlook"] = loadfx("vfx/map/crash/smoke_pillar_overlook"); + level._effect["crash_ai_snow_trail"] = loadfx("vfx/map/crash/crash_ai_snow_trail"); + level._effect["crash_rocket_explosion_default"] = loadfx("vfx/map/crash/crash_rocket_explosion_default"); + level._effect["smoke_flare_out"] = loadfx("vfx/smoke/smoke_flare_out"); + level._effect["water_rising"] = loadfx("vfx/map/crash/water_rising"); + level._effect["vehicle_skyjack_explosion_rhtengine"] = loadfx("vfx/explosion/vehicle_skyjack_explosion_rhtengine"); + level._effect["crash_vtol_landing_exp"] = loadfx("vfx/map/crash/crash_vtol_landing_exp"); + level._effect["fire_burning_vtol_left"] = loadfx("vfx/map/crash/fire_burning_vtol_left"); + level._effect["snow_cloud_moutain_peak"] = loadfx("vfx/wind/snow_cloud_moutain_peak"); + level._effect["crate_crash_slide_snow"] = loadfx("vfx/map/crash/crate_crash_slide_snow"); + level._effect["water_trail"] = loadfx("vfx/water/water_trail"); + level._effect["light_underwater_godray_beam_moving_med"] = loadfx("vfx/map/crash/light_underwater_godray_beam_moving_med"); + level._effect["vtol_crash_slide_snow"] = loadfx("vfx/map/crash/vtol_crash_slide_snow"); + level._effect["crash_site_clouds"] = loadfx("vfx/map/crash/crash_site_clouds"); + level._effect["smoketrail_groundtoair"] = loadfx("vfx/trail/smoketrail_groundtoair_crash"); + level._effect["smoldering_smk_ground_fast_crash"] = loadfx("vfx/smoke/smoldering_smk_ground_fast_crash"); + level._effect["helmet_light"] = loadfx("vfx/lights/helmet_light"); + level._effect["crash_overlook_clouds"] = loadfx("vfx/snow/crash_overlook_clouds"); + level._effect["ambient_explosion_midair_runner_single"] = loadfx("vfx/explosion/ambient_explosion_midair_runner_single"); + level._effect["crash_goliath_walk"] = loadfx("vfx/map/crash/crash_goliath_walk"); + level._effect["crash_cormack_land"] = loadfx("vfx/map/crash/crash_cormack_land"); + level._effect["crash_player_snow_hands"] = loadfx("vfx/map/crash/crash_player_snow_hands"); + level._effect["crash_player_snow_legs"] = loadfx("vfx/map/crash/crash_player_snow_legs"); + level._effect["crash_bridge_exp_far"] = loadfx("vfx/map/crash/crash_bridge_exp_far"); + level._effect["crash_bridge_exp_fall_screen"] = loadfx("vfx/map/crash/crash_bridge_exp_fall_screen"); + level._effect["crash_bridge_player_chunks"] = loadfx("vfx/map/crash/crash_bridge_player_chunks"); + level._effect["ledge_snow_hvy_wind_a_lrg"] = loadfx("vfx/snow/ledge_snow_hvy_wind_a_lrg"); + level._effect["crash_bridge_thick_fall"] = loadfx("vfx/map/crash/crash_bridge_thick_fall"); + level._effect["snow_wind_cave"] = loadfx("vfx/snow/snow_wind_cave"); + level._effect["crash_bridge_exp_fall"] = loadfx("vfx/map/crash/crash_bridge_exp_fall"); + level._effect["crash_bridge_exp_screen"] = loadfx("vfx/map/crash/crash_bridge_exp_screen"); + level._effect["smoke_flare_landing_crash"] = loadfx("vfx/smoke/smoke_flare_landing_crash"); + level._effect["crash_slice_laser_beam_cut"] = loadfx("vfx/map/crash/crash_slice_laser_beam_cut"); + level._effect["crash_slice_laser_beam"] = loadfx("vfx/map/crash/crash_slice_laser_beam"); + level._effect["crash_slice_device_laser_cut_bk"] = loadfx("vfx/map/crash/crash_slice_device_laser_cut_bk"); + level._effect["crash_slice_device_laser_cut_ft"] = loadfx("vfx/map/crash/crash_slice_device_laser_cut_ft"); + level._effect["crash_slice_device_cutting_explosions"] = loadfx("vfx/map/crash/crash_slice_device_cutting_explosions"); + level._effect["crash_slice_device_small_explosion"] = loadfx("vfx/map/crash/crash_slice_device_small_explosion"); + level._effect["crash_res_exp"] = loadfx("vfx/map/crash/crash_res_exp"); + level._effect["snow_blowing_gust"] = loadfx("vfx/snow/snow_blowing_gust"); + level._effect["battlefield_smoke_dark_l"] = loadfx("vfx/smoke/battlefield_smoke_dark_l"); + level._effect["smoldering_smk_ground_xlrg_crash"] = loadfx("vfx/smoke/smoldering_smk_ground_xlrg_crash"); + level._effect["fire_wreckage_ground"] = loadfx("vfx/map/crash/fire_wreckage_ground"); + level._effect["greece_vehicle_fire_small"] = loadfx("vfx/map/greece/greece_vehicle_fire_small"); + level._effect["flat_snow_blowing"] = loadfx("vfx/wind/flat_snow_blowing"); + level._effect["billow_snow_avalanche_nophy"] = loadfx("vfx/map/crash/avalanche/billow_snow_avalanche_nophy"); + level._effect["rocks_falling_water"] = loadfx("vfx/rock/rocks_falling_water"); + level._effect["smoke_flare_held_crash"] = loadfx("vfx/smoke/smoke_flare_held_crash"); + level._effect["crash_drone_main_engine"] = loadfx("vfx/map/crash/crash_drone_main_engine"); + level._effect["crash_atlas_jet_ext_leftwing_lights"] = loadfx("vfx/map/crash/crash_atlas_jet_ext_leftwing_lights"); + level._effect["crash_atlas_jet_ext_rightwing_lights"] = loadfx("vfx/map/crash/crash_atlas_jet_ext_rightwing_lights"); + level._effect["crash_atlas_jet_exterior_lights"] = loadfx("vfx/map/crash/crash_atlas_jet_exterior_lights"); + level._effect["jet_thruster_atlasplane_left"] = loadfx("vfx/smoke/jet_thruster_atlasplane_left"); + level._effect["jet_thruster_atlasplane_right"] = loadfx("vfx/smoke/jet_thruster_atlasplane_right"); + level._effect["vtol_crash_rear_snow"] = loadfx("vfx/smoke/vtol_crash_rear_snow"); + level._effect["vtol_crash_landing_snow"] = loadfx("vfx/smoke/vtol_crash_landing_snow"); + level._effect["fire_burning_vtol"] = loadfx("vfx/map/crash/fire_burning_vtol"); + level._effect["crash_wing_explo_damage"] = loadfx("vfx/map/crash/crash_wing_explo_damage"); + level._effect["water_impact_spawner"] = loadfx("vfx/water/water_impact_spawner"); + level._effect["water_jet"] = loadfx("vfx/water/water_jet"); + level._effect["screen_fx_emerge"] = loadfx("vfx/water/screen_fx_emerge"); + level._effect["waterfall_foam_edge"] = loadfx("vfx/water/waterfall_foam_edge"); + level._effect["waterfall_edge_splatter"] = loadfx("vfx/water/waterfall_edge_splatter"); + level._effect["falling_snow_impact_sound"] = loadfx("vfx/map/crash/falling_snow_impact_sound"); + level._effect["falling_ice_impact_sound"] = loadfx("vfx/map/crash/falling_ice_impact_sound"); + level._effect["cave_water_drip_impact"] = loadfx("vfx/map/crash/cave_water_drip_impact"); + level._effect["water_breach_crash"] = loadfx("vfx/water/water_breach_crash"); + level._effect["calving"] = loadfx("vfx/map/crash/avalanche/calving"); + level._effect["avalanche_flowing_exfil"] = loadfx("vfx/snow/avalanche_flowing_exfil"); + level._effect["avalanche_flowing"] = loadfx("vfx/snow/avalanche_flowing"); + level._effect["falling_avalanche_snow_runner"] = loadfx("vfx/snow/falling_avalanche_snow_runner"); + level._effect["ice_hallway_falling_debris"] = loadfx("vfx/map/crash/ice_hallway_falling_debris"); + level._effect["water_curtain_leak_thin_crash"] = loadfx("vfx/rain/water_curtain_leak_thin_crash"); + level._effect["dripping_ledges_heavy_crash"] = loadfx("vfx/rain/dripping_ledges_heavy_crash"); + level._effect["water_drips_crash_ripples"] = loadfx("vfx/rain/water_drips_crash_ripples"); + level._effect["water_drips_crash_caves"] = loadfx("vfx/rain/water_drips_crash_caves"); + level._effect["billow_snow_avalanche"] = loadfx("vfx/map/crash/avalanche/billow_snow_avalanche"); + level._effect["snow_clouds"] = loadfx("vfx/map/crash/avalanche/snow_clouds"); + level._effect["falling_chunks"] = loadfx("vfx/map/crash/avalanche/falling_chunks"); + level._effect["fracture_burst"] = loadfx("vfx/map/crash/avalanche/fracture_burst"); + level._effect["underwater_particulates_ice"] = loadfx("vfx/map/crash/underwater_particulates_ice"); + level._effect["ice_entry_explosion"] = loadfx("vfx/map/crash/ice_entry_explosion"); + level._effect["footstep_snow_crash"] = loadfx("vfx/treadfx/footstep_snow_crash"); + level._effect["falling_icechunks_child"] = loadfx("vfx/snow/falling_icechunks_child"); + level._effect["vehicle_skyjack_wing_trail"] = loadfx("vfx/explosion/vehicle_skyjack_wing_trail"); + level._effect["wing_top_contrail"] = loadfx("vfx/wind/wing_top_contrail"); + common_scripts\utility::flag_init("indoors"); + common_scripts\utility::flag_init("outdoors"); + common_scripts\utility::flag_init("hide_player_snow_footprints"); + level._effect["falling_snow_runner"] = loadfx("vfx/snow/falling_snow_runner"); + level._effect["falling_water_interior_crash"] = loadfx("vfx/map/crash/falling_water_interior_crash"); + level._effect["falling_water_exterior_narrow"] = loadfx("vfx/water/falling_water_exterior_narrow"); + level._effect["snow_impact_runner"] = loadfx("vfx/weaponimpact/snow_impact_runner"); + level._effect["ie_waterfall_intro_duo"] = loadfx("vfx/map/irons_estate/ie_waterfall_intro_duo"); + level._effect["ie_waterfall_sparklies"] = loadfx("vfx/map/irons_estate/ie_waterfall_sparklies"); + level._effect["ie_waterfall_thin_b"] = loadfx("vfx/map/irons_estate/ie_waterfall_thin_b"); + thread treadfx_override(); + thread setup_footstep_fx(); + set_lighting_values(); + level._effect["light_coldfog_anim"] = loadfx("vfx/map/crash/light_coldfog_anim"); + level._effect["falling_water_drip_line_lg_runner_fast"] = loadfx("vfx/water/falling_water_drip_line_lg_runner_fast"); + level._effect["cloud_oriented_vista"] = loadfx("vfx/cloud/cloud_oriented_vista"); + level._effect["ground_snow_hvy_wind_flat_wide_lp"] = loadfx("vfx/snow/ground_snow_hvy_wind_flat_wide_lp"); + level._effect["snow_dune_top"] = loadfx("vfx/wind/snow_dune_top"); + level._effect["light_rays_moving_rappel"] = loadfx("vfx/map/crash/light_rays_moving_rappel"); + level._effect["light_rays_moving_vesti"] = loadfx("vfx/map/crash/light_rays_moving_vesti"); + level._effect["light_rays_moving_caves"] = loadfx("vfx/map/crash/light_rays_moving_caves"); + level._effect["fx_sunflare_crash"] = loadfx("vfx/lensflare/fx_sunflare_crash"); + level._effect["razorback_death_explosion"] = loadfx("vfx/explosion/razorback_death_explosion"); + level._effect["fireball_lp_smk_xlrg_tall"] = loadfx("vfx/fire/fireball_lp_smk_xlrg_tall"); + level._effect["smoke_pillar_black_large_slow"] = loadfx("vfx/smoke/smoke_pillar_black_large_slow"); + level._effect["vehicle_destroyed_fire_m"] = loadfx("vfx/fire/vehicle_destroyed_fire_m"); + level._effect["distortion_warbird"] = loadfx("vfx/distortion/distortion_warbird"); + level._effect["helicopter_damaged_fire_m"] = loadfx("vfx/fire/helicopter_damaged_fire_m"); + level._effect["ground_snow_flurries"] = loadfx("vfx/snow/ground_snow_flurries"); + level._effect["ground_snow_light_wind_lp"] = loadfx("vfx/snow/ground_snow_light_wind_lp"); + level._effect["ground_snow_drifts_flat_lp"] = loadfx("vfx/snow/ground_snow_drifts_flat_lp"); + level._effect["vehicle_skyjack_explosion_midair"] = loadfx("vfx/explosion/vehicle_skyjack_explosion_midair"); + level._effect["cold_breath"] = loadfx("vfx/unique/cold_breath_cheap"); + level._effect["clouds_moving_fast"] = loadfx("vfx/map/crash/clouds_moving_fast"); + level._effect["snow_wind"] = loadfx("vfx/snow/snow_wind"); + level._effect["boost_dust_npc"] = loadfx("vfx/smoke/jetpack_exhaust_npc"); + level._effect["boost_dust_impact_ground"] = loadfx("vfx/smoke/jetpack_ground_impact_runner"); + level._effect["warbird_harpoon_spiral"] = loadfx("vfx/vehicle/warbird_harpoon_spiral"); + level._effect["warbird_zip_rope_glow"] = loadfx("vfx/vehicle/warbird_zip_rope_glow"); + level._effect["dust_harpoon_impact"] = loadfx("vfx/dust/dust_harpoon_impact"); + level._effect["jetpack_exhaust_exhaust_npc"] = loadfx("vfx/smoke/jetpack_exhaust_npc"); + level._effect["jetpack_skyjack_trail"] = loadfx("vfx/smoke/jetpack_skyjack_trail"); + level._effect["decompress_hole"] = loadfx("vfx/gas/decompress_hole"); + level._effect["jet_thruster"] = loadfx("vfx/smoke/jet_thruster"); + level._effect["drone_chute_thruster"] = loadfx("vfx/map/crash/drone_chute_thruster"); + level._effect["orbital_pod_trail_crsh"] = loadfx("vfx/trail/orbital_pod_trail_crsh"); + level._effect["drop_pod_landing_impact_snow"] = loadfx("vfx/smoke/drop_pod_landing_impact_snow"); + level._effect["drop_pod_landing_impact_nosmoke"] = loadfx("vfx/smoke/drop_pod_landing_impact_nosmoke"); + level._effect["helicopter_explosion_secondary_small"] = loadfx("fx/explosions/helicopter_explosion_secondary_small"); + level._effect["trail_fire_smoke_l"] = loadfx("vfx/trail/trail_fire_smoke_l"); + level._effect["smoke_trail_black_heli_emitter"] = loadfx("vfx/trail/smoke_trail_black_heli_emitter"); + level._effect["ambient_explosion_snow_01"] = loadfx("vfx/explosion/ambient_explosion_snow_01"); + level._effect["ambient_exp_snow_playspace"] = loadfx("vfx/explosion/ambient_exp_snow_playspace"); + level._effect["sonic_charge"] = loadfx("vfx/map/crash/sonic_charge"); + level._effect["resonance_device_light"] = loadfx("vfx/map/crash/resonance_device_light"); + level._effect["heli_dust_snow"] = loadfx("vfx/treadfx/heli_dust_snow"); + level._effect["walker_footstep"] = loadfx("vfx/treadfx/footstep_walker_tank"); + level._effect["walker_footstep_snow"] = loadfx("vfx/map/crash/tank_snow_leg_impact"); + level._effect["fx_crash_hud_flare"] = loadfx("vfx/map/crash/fx_crash_hud_flare"); + level._effect["geo_scanner"] = loadfx("vfx/map/crash/geo_scanner"); + level._effect["energy_distort"] = loadfx("vfx/map/crash/drone_energy_distortion"); + level._effect["cormack_fail_light"] = loadfx("vfx/map/crash/crash_flashlight_spotlight_cormack_light"); + level._effect["landass_exhaust_smk_vm"] = loadfx("vfx/smoke/landass_exhaust_smk_vm"); + level._effect["landass_impact_smk_vm"] = loadfx("vfx/smoke/landass_impact_smk_vm"); + level._effect["landass_exhaust_smk_rt_npc"] = loadfx("vfx/smoke/landass_exhaust_smk_rt_npc"); + level._effect["alternate_jump"] = loadfx("vfx/code/high_jump_jetpack"); + level._effect["rocket_explosion"] = loadfx("vfx/explosion/rocket_explosion_paintedmetal"); + level._effect["crash_goliath_wake_runner_temp"] = loadfx("vfx/map/crash/crash_goliath_wake_runner_temp"); + level._effect["flash_light"] = loadfx("vfx/map/crash/crash_flashlight_spotlight_player_light"); + level._effect["wall_break"] = loadfx("vfx/map/crash/ice_impact"); + level._effect["512_landing"] = loadfx("vfx/weaponimpact/snow_lrgchunk_impact"); + level._effect["snow_impact"] = loadfx("vfx/map/crash/crash_overlook_landing"); + level._effect["snow_grab"] = loadfx("vfx/snow/falling_snow_child"); + level._effect["ai_slide_snow"] = loadfx("vfx/map/crash/crash_ai_slide_snow"); + level._effect["player_bubbles"] = loadfx("vfx/water/underwater_bubble_vm_gasping_breath"); + level._effect["splash_bubbles"] = loadfx("vfx/water/underwater_splash_foam"); + level._effect["floaty_bits"] = loadfx("vfx/map/crash/underwater_particulates_ice"); + level._effect["sinky_bits"] = loadfx("vfx/map/crash/underwater_sinking_ice_single_01"); + level._effect["underwater_bubble_long_crash"] = loadfx("vfx/water/underwater_bubble_long_crash"); + level._effect["falling_icechunks_slide"] = loadfx("vfx/snow/falling_icechunks_slide"); + level._effect["warbird_death"] = loadfx("vfx/explosion/vehicle_warbird_explosion_midair"); + level._effect["warbird_ice_impact"] = loadfx("vfx/map/crash/avalanche/vitol_ice_impact"); + level._effect["javelin_ignition"] = loadfx("fx/misc/javelin_ignition"); + level._effect["smoketrail_rpg_sp"] = loadfx("vfx/trail/smoketrail_rpg_sp"); + level._effect["test_effect"] = loadfx("vfx/test/test_fx"); + level._effect["fracture_burst"] = loadfx("vfx/map/crash/avalanche/fracture_burst"); + level._effect["falling_chunks"] = loadfx("vfx/map/crash/avalanche/falling_chunks"); + level._effect["screen_avalanche_death"] = loadfx("vfx/map/crash/avalanche/screen_avalanche_death"); + level._effect["crash_bridge_glow_light"] = loadfx("vfx/map/crash/crash_bridge_glow_light"); + level._effect["crash_bridge_glow_spread"] = loadfx("vfx/map/crash/crash_bridge_glow_spread"); + level._effect["crash_bridge_glow"] = loadfx("vfx/map/crash/crash_bridge_glow"); + level._effect["crash_goliath_foot"] = loadfx("vfx/map/crash/crash_goliath_foot"); + level._effect["crash_bridge_exp"] = loadfx("vfx/map/crash/crash_bridge_exp"); + level._effect["crash_goliath_jump"] = loadfx("vfx/map/crash/crash_goliath_jump"); + level._effect["crash_goliath_body_impact"] = loadfx("vfx/map/crash/crash_goliath_body_impact"); + level._effect["crash_goliath_run_wake"] = loadfx("vfx/map/crash/crash_goliath_run_wake"); + level._effect["crash_bridge_water_chunks"] = loadfx("vfx/map/crash/crash_bridge_water_chunks"); + level._effect["crash_goliath_wake_runner"] = loadfx("vfx/map/crash/crash_goliath_wake_runner"); + level._effect["crash_goliath_entry_ice"] = loadfx("vfx/map/crash/crash_goliath_entry_ice"); + level._effect["crash_goliath_bridge_fall"] = loadfx("vfx/map/crash/crash_goliath_bridge_fall"); + level._effect["crash_bridge_player_slide"] = loadfx("vfx/map/crash/crash_bridge_player_slide"); + level._effect["crash_bridge_far_slide"] = loadfx("vfx/map/crash/crash_bridge_far_slide"); + level._effect["crash_bridge_far_soot"] = loadfx("vfx/map/crash/crash_bridge_far_soot"); + level._effect["crash_bridge_boost"] = loadfx("vfx/map/crash/crash_bridge_boost"); + level._effect["crash_bridge_pre_smk"] = loadfx("vfx/map/crash/crash_bridge_pre_smk"); + level._effect["ie_dustonlens"] = loadfx("vfx/map/irons_estate/ie_dustonlens"); + level._effect["crash_bridge_water_chunks_splash"] = loadfx("vfx/map/crash/crash_bridge_water_chunks_splash"); + level._effect["cg_light_flare"] = loadfx("vfx/map/crash/crash_light_flare_bright_cg"); + level._effect["railgun_blast_snow"] = loadfx("vfx/weaponimpact/railgun_snow_impact_1"); + level._effect["railgun_tracer"] = loadfx("vfx/map/crash/crash_sniper_railgun_tracer"); + if(!getdvarint("r_reflectionProbeGenerate")) + { + maps\createfx\crash_fx::main(); + } +} + +//Function Number: 2 +set_lighting_values() +{ + if(isusinghdr()) + { + setsaveddvar("r_tonemap",2); + } +} + +//Function Number: 3 +cold_breath() +{ + var_00 = "TAG_EYE"; + self endon("death"); + self notify("stop personal effect"); + self endon("stop personal effect"); + self.has_cold_breath = 1; + while(isdefined(self)) + { + wait(0.05); + if(!isdefined(self)) + { + break; + } + + playfxontag(level._effect["cold_breath"],self,var_00); + wait(2.5 + randomfloat(2.5)); + } +} + +//Function Number: 4 +setup_footstep_fx() +{ + level._effect["footstep_snow"] = loadfx("vfx/treadfx/footstep_snow_crash"); + level._effect["footstep_snow_small"] = loadfx("vfx/treadfx/footstep_snow_crash"); + level._effect["footstep_ice"] = loadfx("vfx/treadfx/footstep_snow_crash"); + level._effect["footstep_dust"] = loadfx("fx/impacts/footstep_dust"); + level._effect["blank"] = loadfx("fx/misc/blank"); + level.player thread playersnowfootstepscrash(); + common_scripts\utility::flag_set("outdoors"); + for(;;) + { + animscripts\utility::setfootstepeffect("snow",level._effect["footstep_snow"]); + animscripts\utility::setfootstepeffect("ice",level._effect["footstep_ice"]); + animscripts\utility::setfootstepeffect("asphalt",level._effect["footstep_dust"]); + animscripts\utility::setfootstepeffect("dirt",level._effect["footstep_dust"]); + animscripts\utility::setfootstepeffectsmall("snow",level._effect["footstep_snow_small"]); + animscripts\utility::setfootstepeffectsmall("ice",level._effect["footstep_ice"]); + animscripts\utility::setfootstepeffectsmall("asphalt",level._effect["footstep_dust"]); + animscripts\utility::setfootstepeffectsmall("dirt",level._effect["footstep_dust"]); + common_scripts\utility::flag_wait("indoors"); + common_scripts\utility::flag_clear("outdoors"); + animscripts\utility::setfootstepeffect("snow",level._effect["blank"]); + animscripts\utility::setfootstepeffect("ice",level._effect["blank"]); + animscripts\utility::setfootstepeffect("asphalt",level._effect["blank"]); + animscripts\utility::setfootstepeffect("dirt",level._effect["blank"]); + animscripts\utility::setfootstepeffectsmall("snow",level._effect["blank"]); + animscripts\utility::setfootstepeffectsmall("ice",level._effect["blank"]); + animscripts\utility::setfootstepeffectsmall("asphalt",level._effect["blank"]); + animscripts\utility::setfootstepeffectsmall("dirt",level._effect["blank"]); + common_scripts\utility::flag_wait("outdoors"); + common_scripts\utility::flag_clear("indoors"); + } +} + +//Function Number: 5 +playersnowfootstepscrash() +{ + var_00 = "left"; + for(;;) + { + wait(randomfloatrange(0.25,0.5)); + if(var_00 == "left") + { + var_01 = self.origin - (anglestoforward(self.angles)[0] * 48,anglestoforward(self.angles)[1] * 48,0) + (anglestoright(self.angles)[0] * -6,anglestoright(self.angles)[1] * -6,0); + var_02 = self.origin - (anglestoforward(self.angles)[0] * 48,anglestoforward(self.angles)[1] * 48,5) + (anglestoright(self.angles)[0] * -6,anglestoright(self.angles)[1] * -6,0); + var_00 = "right"; + } + else + { + var_01 = self.origin - (anglestoforward(self.angles)[0] * 48,anglestoforward(self.angles)[1] * 48,0) + (anglestoright(self.angles)[0] * 6,anglestoright(self.angles)[1] * 6,0); + var_02 = self.origin - (anglestoforward(self.angles)[0] * 48,anglestoforward(self.angles)[1] * 48,5) + (anglestoright(self.angles)[0] * 6,anglestoright(self.angles)[1] * 6,0); + var_00 = "left"; + } + + var_03 = bullettrace(var_01,var_02,0,undefined); + var_04 = anglestoforward(self.angles); + var_05 = distance(self getvelocity(),(0,0,0)); + if(isdefined(self.vehicle)) + { + continue; + } + + if(var_03["surfacetype"] != "snow") + { + continue; + } + + if(var_05 <= 24) + { + continue; + } + + var_06 = "snow_movement"; + if(!common_scripts\utility::flag("hide_player_snow_footprints")) + { + if(distance(self getvelocity(),(0,0,0)) <= 154) + { + playfx(common_scripts\utility::getfx("footstep_snow_small"),var_03["position"],var_03["normal"],var_04 + (0,180,0)); + } + + if(distance(self getvelocity(),(0,0,0)) > 154) + { + playfx(common_scripts\utility::getfx("footstep_snow"),var_03["position"],var_03["normal"],var_04 + (0,180,0)); + } + } + } +} + +//Function Number: 6 +skyjack_drone_fx() +{ + var_00 = common_scripts\utility::getfx("crash_drone_main_engine"); + var_01 = common_scripts\utility::getfx("drone_chute_thruster"); + playfxontag(var_00,self,"tag_engine"); + self waittillmatch("end","single anim"); + wait(0.7); + stopfxontag(var_00,self,"tag_engine"); + self waittillmatch("jets_on","single anim"); + playfxontag(var_00,self,"tag_engine"); + wait 0.05; + playfxontag(var_01,self,"tag_engine_r"); + playfxontag(var_01,self,"tag_engine_l"); + common_scripts\utility::flag_wait("skyjack_end_heavy_clouds"); + wait(3.25); + stopfxontag(var_00,self,"tag_engine"); + stopfxontag(var_01,self,"tag_engine_r"); + stopfxontag(var_01,self,"tag_engine_l"); +} + +//Function Number: 7 +skyjack_atlas_jet_fx() +{ + var_00 = common_scripts\utility::getfx("jet_thruster_atlasplane_left"); + var_01 = common_scripts\utility::getfx("jet_thruster_atlasplane_right"); + var_02 = common_scripts\utility::getfx("crash_atlas_jet_exterior_lights"); + var_03 = common_scripts\utility::getfx("crash_atlas_jet_ext_leftwing_lights"); + var_04 = common_scripts\utility::getfx("crash_atlas_jet_ext_rightwing_lights"); + var_05 = common_scripts\utility::getfx("crash_slice_device_laser_cut_ft"); + var_06 = common_scripts\utility::getfx("crash_slice_device_laser_cut_bk"); + playfxontag(var_00,self,"TAG_LT_WING_EXHAUSE_FX"); + playfxontag(var_01,self,"TAG_RT_WING_EXHAUSE_FX"); + wait 0.05; + playfxontag(var_02,self,"body_animate_jnt"); + wait 0.05; + playfxontag(var_03,self,"body_animate_jnt"); + playfxontag(var_04,self,"body_animate_jnt"); + self waittillmatch("activate","single anim"); + playfxontag(var_06,self,"TAG_FX_LT_WING_LASER_BK"); + playfxontag(var_05,self,"TAG_FX_LT_WING_LASER_FT"); + self waittillmatch("end_front","single anim"); + stopfxontag(var_05,self,"TAG_FX_LT_WING_LASER_FT"); + self waittillmatch("end_back","single anim"); + wait(0.2); + killfxontag(var_06,self,"TAG_FX_LT_WING_LASER_BK"); + self waittillmatch("begin_explosion","single anim"); + stopfxontag(var_00,self,"TAG_LT_WING_EXHAUSE_FX"); + stopfxontag(var_01,self,"TAG_RT_WING_EXHAUSE_FX"); + wait(0.1); + stopfxontag(var_03,self,"body_animate_jnt"); + stopfxontag(var_04,self,"body_animate_jnt"); + wait(0.1); + stopfxontag(var_02,self,"body_animate_jnt"); +} + +//Function Number: 8 +skyjack_charge_fx() +{ + var_00 = common_scripts\utility::getfx("crash_slice_laser_beam"); + var_01 = common_scripts\utility::getfx("crash_slice_device_plant"); + self waittillmatch("bolt_anchors","single anim"); + playfxontag(var_01,self,"J_Bolt_FL"); + playfxontag(var_01,self,"J_Bolt_FR"); + playfxontag(var_01,self,"J_Bolt_KL"); + playfxontag(var_01,self,"J_Bolt_KR"); + self waittillmatch("activate","single anim"); + playfxontag(var_00,self,"Tag_FX_Panel_L"); + playfxontag(var_00,self,"Tag_FX_Panel_R"); + self waittillmatch("end_front","single anim"); + stopfxontag(var_00,self,"Tag_FX_Panel_L"); + self waittillmatch("end_back","single anim"); + stopfxontag(var_00,self,"Tag_FX_Panel_R"); + playfxontag(common_scripts\utility::getfx("crash_slice_device_cutting_explosions"),self,"tag_body"); +} + +//Function Number: 9 +skyjack_wing_explosion() +{ + var_00 = level.skyjack_plane common_scripts\utility::spawn_tag_origin(); + var_01 = level.skyjack_plane common_scripts\utility::spawn_tag_origin(); + var_00.origin = level.skyjack_plane gettagorigin("tag_smoke_lt_body"); + var_01.origin = level.skyjack_plane gettagorigin("tag_smoke_rt_body"); + var_00 linkto(level.skyjack_plane,"tag_smoke_lt_body"); + var_01 linkto(level.skyjack_plane,"tag_smoke_rt_body"); + playfx(level._effect["vehicle_skyjack_explosion_midair"],var_00.origin); + playfx(level._effect["vehicle_skyjack_explosion_rhtengine"],var_01.origin); + common_scripts\utility::flag_wait("skyjack_end_heavy_clouds"); + wait(3.25); + var_00 delete(); + var_01 delete(); +} + +//Function Number: 10 +skyjack_plane_contrails() +{ + var_00 = level.skyjack_plane common_scripts\utility::spawn_tag_origin(); + var_01 = level.skyjack_plane common_scripts\utility::spawn_tag_origin(); + var_00.origin = level.skyjack_plane gettagorigin("tag_rt_wing_light_fx"); + var_01.origin = level.skyjack_plane gettagorigin("tag_lt_wing_light_fx"); + var_00.angles = level.skyjack_plane gettagangles("tag_rt_wing_light_fx"); + var_01.angles = level.skyjack_plane gettagangles("tag_lt_wing_light_fx"); + var_00 linkto(level.skyjack_plane,"tag_rt_wing_light_fx"); + var_01 linkto(level.skyjack_plane,"tag_lt_wing_light_fx"); + var_02 = (0,90,0); + while(!common_scripts\utility::flag("skyjack_end_heavy_clouds")) + { + if(level.fastcloudlevel > 0) + { + playfx(level._effect["wing_top_contrail"],var_01.origin,(1,1,0.1)); + } + + wait(0.3); + } + + var_00 delete(); + var_01 delete(); +} + +//Function Number: 11 +treadfx_override() +{ + var_00 = "vfx/treadfx/heli_dust_snow"; + maps\_treadfx::setallvehiclefx("script_vehicle_littlebird_sentinel",var_00); +} + +//Function Number: 12 +ambush_heli_explosion() +{ + playfxontag(level._effect["helicopter_damaged_fire_m"],level.sent_chopper,"tag_engine"); + wait(0.4); + stopfxontag(level._effect["helicopter_damaged_fire_m"],level.sent_chopper,"tag_engine"); +} + +//Function Number: 13 +resonance_light() +{ + playfxontag(common_scripts\utility::getfx("resonance_device_light"),self,"tag_fx"); + wait(0.5); + for(var_00 = 0;var_00 < 2;var_00++) + { + playfxontag(common_scripts\utility::getfx("resonance_device_light"),self,"tag_fx"); + wait(0.25); + } + + for(var_00 = 0;var_00 < 5;var_00++) + { + playfxontag(common_scripts\utility::getfx("resonance_device_light"),self,"tag_fx"); + wait(0.1); + } +} + +//Function Number: 14 +walker_tank_footstep_left(param_00) +{ + playfxontag(common_scripts\utility::getfx("walker_footstep"),param_00,"frontWheelTread01_FL"); +} + +//Function Number: 15 +walker_tank_footstep_right(param_00) +{ + playfxontag(common_scripts\utility::getfx("walker_footstep"),param_00,"frontWheelTread01_FR"); +} + +//Function Number: 16 +walker_tank_footstep_left_rear(param_00) +{ + playfxontag(common_scripts\utility::getfx("walker_footstep"),param_00,"frontWheelTread05_KL"); +} + +//Function Number: 17 +walker_tank_footstep_right_rear(param_00) +{ + playfxontag(common_scripts\utility::getfx("walker_footstep"),param_00,"frontWheelTread05_KR"); +} + +//Function Number: 18 +narrow_cave_axe_throw(param_00) +{ + playfxontag(common_scripts\utility::getfx("water_trail"),level.ice_axe,"tag_fx"); +} + +//Function Number: 19 +overlook_smoke_vista() +{ + var_00 = getent("overlook_smoke","targetname"); + var_01 = var_00 common_scripts\utility::spawn_tag_origin(); + var_02 = playfxontag(level._effect["smoke_pillar_overlook"],var_01,"tag_origin"); + common_scripts\utility::flag_wait("lake_start"); + common_scripts\_exploder::exploder(8420); + stopfxontag(level._effect["smoke_pillar_overlook"],var_01,"tag_origin"); +} + +//Function Number: 20 +bridge_glows() +{ +} + +//Function Number: 21 +bridge_explosion() +{ + common_scripts\_exploder::exploder(666); + wait(3); + maps\_utility::stop_exploder(666); +} + +//Function Number: 22 +goliath_entry_ice() +{ + common_scripts\_exploder::exploder(701); +} + +//Function Number: 23 +bridge_chunks() +{ + wait(8); + common_scripts\_exploder::exploder(901); + common_scripts\_exploder::exploder(905); + common_scripts\_exploder::exploder(906); + common_scripts\_exploder::exploder(909); + wait(6); + maps\_utility::stop_exploder(901); + maps\_utility::stop_exploder(905); + maps\_utility::stop_exploder(906); +} + +//Function Number: 24 +bridge_soot() +{ + wait(1.3); + common_scripts\_exploder::exploder(902); + wait(1); + maps\_utility::stop_exploder(902); +} + +//Function Number: 25 +bridge_screenfx() +{ + wait(10); + common_scripts\_exploder::exploder(907); +} + +//Function Number: 26 +far_explode() +{ + wait(7.8); + common_scripts\_exploder::exploder(909); +} + +//Function Number: 27 +gideon_boost_jump() +{ + common_scripts\utility::flag_wait("gideon_boost_jump"); + playfxontag(common_scripts\utility::getfx("crash_bridge_boost"),level.gideon,"j_ball_le"); + playfxontag(common_scripts\utility::getfx("crash_ai_snow_trail"),level.gideon,"j_ball_le"); + common_scripts\_exploder::kill_exploder(3173); + common_scripts\_exploder::kill_exploder(3131); +} \ No newline at end of file diff --git a/AW/PC/maps/crash_lake.gsc b/AW/PC/maps/crash_lake.gsc new file mode 100644 index 0000000..4c83f11 --- /dev/null +++ b/AW/PC/maps/crash_lake.gsc @@ -0,0 +1,2252 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: crash_lake.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 98 + * Decompile Time: 1529 ms + * Timestamp: 4/22/2024 2:27:16 AM +*******************************************************************/ + +//Function Number: 1 +precache_overlook() +{ + common_scripts\utility::flag_init("overlook_done"); + common_scripts\utility::flag_init("FLAG_overlook_death"); + common_scripts\utility::flag_init("crash_overlook"); + common_scripts\utility::flag_init("overlook_save"); + common_scripts\utility::flag_init("lake_begin_outdoors"); + maps\_utility::add_control_based_hint_strings("player_crash_falloff",&"CRASH_FALLOFF",::should_break_recover_hint); +} + +//Function Number: 2 +precache_lake() +{ + common_scripts\utility::flag_init("ice_lake_start_combat"); + common_scripts\utility::flag_init("lake_done"); + common_scripts\utility::flag_init("gideon_frees_you"); + common_scripts\utility::flag_init("ice_lake_side_wave"); + common_scripts\utility::flag_init("ice_lake_move_up"); + common_scripts\utility::flag_init("survivors_vulnerable"); + common_scripts\utility::flag_init("kill_survivors"); + common_scripts\utility::flag_init("ice_lake_cormack_movedown"); + common_scripts\utility::flag_init("ice_lake_wave_1_done"); + common_scripts\utility::flag_init("ice_lake_wave_2_done"); + common_scripts\utility::flag_init("ice_lake_wave_3_done"); + common_scripts\utility::flag_init("start_shooting_at_squad"); + common_scripts\utility::flag_init("ice_lake_callout_pause"); + common_scripts\utility::flag_init("lake_underwater_lighting"); + common_scripts\utility::flag_init("lake_drown"); + common_scripts\utility::flag_init("lake_player_fail"); + common_scripts\utility::flag_init("cargo_captured"); + common_scripts\utility::flag_init("player_swimming_end"); + common_scripts\utility::flag_init("player_swimming_drown"); + precacheitem("iw5_mahemstraight_sp"); + precachestring(&"CRASH_FAIL_CARGO"); + precachestring(&"CRASH_FAIL_DROWN"); + maps\_utility::add_control_based_hint_strings("player_lake_swim",&"CRASH_HINT_SWIM_GAMEPAD",::should_break_swim_hint,&"CRASH_HINT_SWIM_KEYBOARD",&"CRASH_HINT_SWIM_GAMEPAD_S"); + precachemodel("generic_prop_raven"); + precachemodel("mob_crane_container_short_blk"); +} + +//Function Number: 3 +precache_lake_cinema() +{ + common_scripts\utility::flag_init("lake_cinema_done"); + common_scripts\utility::flag_init("setup_lake_cargo"); + common_scripts\utility::flag_init("go_lake_cargo"); + common_scripts\utility::flag_init("go_gideon_moment"); + common_scripts\utility::flag_init("go_lighting_gideon"); + common_scripts\utility::flag_init("gideon_lighting_unlock"); + common_scripts\utility::flag_init("go_gideon_moment_save"); +} + +//Function Number: 4 +debug_start_overlook() +{ + maps\crash::set_completed_flags(); + maps\crash_utility::setup_player(); + maps\crash_utility::setup_allies(); + soundscripts\_snd::snd_message("start_overlook"); + common_scripts\utility::flag_set("combat_cave_outdoors"); + thread maps\crash::objective_init(); + level.player lightsetforplayer("crash_overlook"); + maps\_utility::vision_set_fog_changes("crash_overlook",0); + level.player setclutforplayer("clut_crash_overlook",0); + setsunflareposition((-13.9,-125.7,0)); + common_scripts\_exploder::exploder(1999); +} + +//Function Number: 5 +debug_start_lake() +{ + maps\crash::set_completed_flags(); + maps\crash_utility::setup_player(); + maps\crash_utility::setup_allies(); + soundscripts\_snd::snd_message("start_lake"); + thread exo_temp_overlook_lake(); + thread maps\crash::objective_init(); + level.player lightsetforplayer("crash_avalanche"); + maps\_utility::vision_set_fog_changes("crash_avalanche",0); + level.player setclutforplayer("clut_crash_overlook",2); + setsunflareposition((-10.39,-112.7,0)); + common_scripts\_exploder::exploder(1999); +} + +//Function Number: 6 +debug_start_lake_cinema() +{ + maps\crash::set_completed_flags(); + maps\crash_utility::setup_player(); + maps\crash_utility::setup_allies(); + soundscripts\_snd::snd_message("start_lake_cinema"); + thread maps\crash_exfil::dead_stinger_guy(); + thread maps\crash_exfil::vtol_takedown_cormack_stinger(); + thread maps\crash::objective_init(); + common_scripts\utility::flag_set("hide_player_snow_footprints"); + common_scripts\utility::flag_set("indoors"); + thread lake_fall_in(1); + level.visionset_default = "crash_avalanche"; + common_scripts\_exploder::exploder(1999); +} + +//Function Number: 7 +overlook_autosave() +{ + common_scripts\utility::flag_wait("FLAG_overlook_autosave"); + thread maps\_utility::autosave_by_name("entered_overlook"); + common_scripts\utility::flag_set("combat_cave_done"); +} + +//Function Number: 8 +begin_overlook() +{ + thread maps\crash_fx::overlook_smoke_vista(); + thread overlook_kill_player(); + thread overlook_autosave(); + thread overlook_anim(); + thread exo_temp_overlook_lake(); + thread overlook_wind(); + thread overlook_land(); + thread overlook_grab_save(); + thread overlook_force_stand(); + thread overlook_drone(); + setdvar("scr_traverse_debug",1); + common_scripts\utility::flag_wait("overlook_done"); +} + +//Function Number: 9 +overlook_drone() +{ + level endon("lake_begin_indoors"); + common_scripts\utility::flag_wait("FLAG_overlook_traversing"); + level.cormack.ignoreall = 1; + level.ilana.ignoreall = 1; + var_00 = vehicle_scripts\_pdrone::start_flying_attack_drones("pdrone_small1"); + wait(2); + foreach(var_02 in var_00) + { + var_02.ignoreme = 1; + var_02.ignoreall = 1; + } + + var_04 = vehicle_scripts\_pdrone::start_flying_attack_drones("pdrone_small3"); + var_05 = vehicle_scripts\_pdrone::start_flying_attack_drones("pdrone_small2"); + var_06 = common_scripts\utility::array_combine(var_00,var_04); + var_06 = common_scripts\utility::array_combine(var_06,var_05); + foreach(var_02 in var_06) + { + var_02.ignoreme = 1; + var_02.ignoreall = 1; + var_02.attack_accuracy = 0.25; + var_02 setthreatdetection("enhanceable"); + var_02 setthreatdetection("detected"); + } + + var_06 overlook_start_combat(); +} + +//Function Number: 10 +overlook_start_combat() +{ + wait(2); + level.cormack maps\_utility::smart_radio_dialogue("crsh_crmk_dronesincoming4"); + wait(3); + maps\_utility::smart_radio_dialogue("crsh_crmk_useemps"); + level.cormack.ignoreall = 0; + level.ilana.ignoreall = 0; + foreach(var_01 in self) + { + if(isdefined(var_01)) + { + var_01.ignoreme = 0; + var_01.ignoreall = 0; + } + } +} + +//Function Number: 11 +exo_temp_overlook_lake() +{ + level endon("lake_start"); + level.player thread maps\crash_utility::exo_temp_outdoor(); + for(;;) + { + wait(0.05); + common_scripts\utility::flag_wait_either("combat_cave_outdoors","lake_begin_outdoors"); + common_scripts\utility::flag_clear("combat_cave_indoors"); + common_scripts\utility::flag_clear("lake_begin_indoors"); + common_scripts\utility::flag_clear("hide_player_snow_footprints"); + common_scripts\utility::flag_set("outdoors"); + level.player thread maps\crash_exo_temperature::set_external_temperature_over_time(level.temperature_outdoor,3); + common_scripts\utility::flag_wait_either("combat_cave_indoors","lake_begin_indoors"); + common_scripts\utility::flag_clear("combat_cave_outdoors"); + common_scripts\utility::flag_clear("lake_begin_outdoors"); + common_scripts\utility::flag_set("hide_player_snow_footprints"); + common_scripts\utility::flag_set("indoors"); + level.player thread maps\crash_exo_temperature::set_external_temperature_over_time(level.temperature_indoor,3); + } +} + +//Function Number: 12 +overlook_anim() +{ + common_scripts\utility::flag_wait("overlook_start_slide"); + level.slide_dampening = 0.075; + var_00 = common_scripts\utility::getstruct("csh_overlook_anim","targetname"); + var_01 = []; + var_01[0] = level.cormack; + var_01[1] = level.ilana; + level.ilana maps\_utility::disable_ai_color(); + level.cormack maps\_utility::disable_ai_color(); + if(!common_scripts\utility::flag("FLAG_overlook_traversing")) + { + var_00 maps\_anim::anim_reach_together(var_01,"overlook_intro"); + } + + common_scripts\_exploder::exploder(4333); + if(!common_scripts\utility::flag("FLAG_overlook_traversing")) + { + level.cormack thread overlook_slide_fx(); + level.ilana thread overlook_slide_fx(); + level.cormack pushplayer(1); + level.ilana pushplayer(1); + thread overlook_override_anim(); + var_00 maps\_anim::anim_single(var_01,"overlook_intro"); + level notify("overlook_intro_done"); + level.cormack pushplayer(0); + level.ilana pushplayer(0); + } + + common_scripts\utility::flag_set("obj_start_overlook_run"); + if(!common_scripts\utility::flag("FLAG_overlook_traversing")) + { + thread maps\_utility::autosave_by_name("overlook_anim_over"); + } + + level.ilana maps\_utility::set_force_color("g"); + level.cormack maps\_utility::set_force_color("r"); + level.cormack maps\_utility::set_moveplaybackrate(1); + level.ilana maps\_utility::set_moveplaybackrate(1); + thread overlook_dialogue_2(); + common_scripts\utility::flag_set("overlook_done"); +} + +//Function Number: 13 +overlook_slide_fx() +{ + self waittillmatch("start_slide","single anim"); + playfxontag(common_scripts\utility::getfx("ai_slide_snow"),self,"j_ball_le"); + self waittillmatch("end_slide","single anim"); + stopfxontag(common_scripts\utility::getfx("ai_slide_snow"),self,"j_ball_le"); +} + +//Function Number: 14 +overlook_override_anim() +{ + level endon("overlook_intro_done"); + common_scripts\utility::flag_wait("obj_end_overlook_run"); + level.cormack maps\_utility::anim_stopanimscripted(); + level.ilana maps\_utility::anim_stopanimscripted(); +} + +//Function Number: 15 +overlook_dialogue_1() +{ + level endon("lake_begin_outdoors"); + level.ilana maps\_utility::smart_dialogue("crsh_iln_thatsmoke"); + level.cormack maps\_utility::smart_radio_dialogue("crsh_crmk_howcopy2"); + maps\_utility::smart_radio_dialogue("crsh_grdn5_wherethehell"); + level.cormack maps\_utility::smart_dialogue("crsh_crmk_weneedtomove"); +} + +//Function Number: 16 +overlook_dialogue_2() +{ + level endon("lake_begin_outdoors"); + wait(3); + level.cormack maps\_utility::smart_dialogue("crsh_crmk_footing"); + level.ilana maps\_utility::smart_dialogue("crsh_iln_winds"); + wait(3); + level.cormack maps\_utility::smart_radio_dialogue("crsh_crmk_locatedbox"); + maps\_utility::smart_radio_dialogue("crsh_so_attemptingtorarally"); + level.cormack maps\_utility::smart_radio_dialogue("crsh_crmk_sayagain"); + maps\_utility::smart_radio_dialogue("crsh_so_multiplefootmobiles"); + level.ilana maps\_utility::smart_dialogue("crsh_iln_almostthere"); +} + +//Function Number: 17 +overlook_continue() +{ + maps\_utility::trigger_wait_targetname("TRIG_move_overlook_1"); + level.cormack maps\_utility::clear_run_anim(); + level.ilana maps\_utility::clear_run_anim(); +} + +//Function Number: 18 +overlook_kill_player() +{ + common_scripts\utility::flag_wait("FLAG_overlook_death"); + setdvar("ui_deadquote",&"CRASH_FAIL_FALL"); + maps\_utility::missionfailedwrapper(); + level.player thread maps\_player_exo::player_exo_deactivate(); +} + +//Function Number: 19 +overlook_wind() +{ + common_scripts\utility::flag_wait("FLAG_overlook_start_dialogue"); + var_00 = anglestoforward(common_scripts\utility::getstruct("overlook_wind_struct","targetname").angles); + thread heavy_wind(); + while(!common_scripts\utility::flag("lake_start")) + { + wait(randomfloatrange(4,7)); + soundscripts\_snd::snd_message("wind_warning",level.player geteye()); + if(common_scripts\utility::flag("FLAG_overlook_traversing")) + { + earthquake(0.1,5,level.player.origin,10000); + } + + wait(randomfloatrange(3,5)); + level.player playrumbleonentity("light_2s"); + soundscripts\_snd::snd_message("wind_gust",level.player geteye()); + common_scripts\_exploder::exploder(4555); + var_01 = randomfloatrange(5,10); + var_02 = randomintrange(10,20); + for(var_03 = 0;var_03 < var_02;var_03++) + { + if(common_scripts\utility::flag("FLAG_overlook_traversing")) + { + level.player pushplayervector(var_00 * var_01 + 0.5 * var_03,0); + earthquake(0.15,0.1,level.player.origin,1000); + } + else + { + level.player pushplayervector((0,0,0),0); + } + + wait(0.1); + } + + for(var_03 = var_02;var_03 > 0;var_03--) + { + if(common_scripts\utility::flag("FLAG_overlook_traversing")) + { + level.player pushplayervector(var_00 * var_01 + 0.5 * var_03,0); + earthquake(0.15,0.1,level.player.origin,1000); + } + else + { + level.player pushplayervector((0,0,0),0); + } + + wait(0.1); + } + + level.player pushplayervector((0,0,0),0); + } +} + +//Function Number: 20 +heavy_wind() +{ + for(;;) + { + common_scripts\_exploder::exploder(4555); + wait(randomfloatrange(1,2)); + } +} + +//Function Number: 21 +overlook_land() +{ + self endon("death"); + level endon("lake_begin_indoors"); + common_scripts\utility::flag_wait("FLAG_overlook_traversing"); + while(!common_scripts\utility::flag("lake_start")) + { + common_scripts\utility::flag_waitopen("overlook_save"); + var_00 = level.player isjumping(); + if(isdefined(var_00) && var_00) + { + var_01 = gettime(); + wait 0.05; + var_02 = level.player isonground(); + while(isdefined(var_02) && !var_02) + { + wait 0.05; + var_02 = level.player isonground(); + if(common_scripts\utility::flag("overlook_save")) + { + break; + } + } + + if(common_scripts\utility::flag("overlook_save")) + { + continue; + } + + var_03 = gettime(); + var_04 = var_03 - var_01; + var_05 = var_04 / 3000; + var_05 = clamp(var_05,0,0.4); + if(var_05 < 0.21) + { + var_06 = 1; + var_07 = "heavy_1s"; + } + else if(var_07 < 0.35) + { + var_06 = 1; + var_07 = "heavy_2s"; + } + else + { + var_06 = 1.5; + var_07 = "heavy_3s"; + } + + maps\_utility::_earthquake(var_05,var_06,level.player.origin,500); + level.player playrumbleonentity(var_07); + playfx(level._effect["snow_impact"],level.player.origin); + soundscripts\_snd::snd_message("overlook_land"); + } + + wait 0.05; + } +} + +//Function Number: 22 +overlook_grab_save() +{ + var_00 = getentarray("overlook_grab_trigger","targetname"); + foreach(var_02 in var_00) + { + var_02 thread overlook_grab_save_individual(); + } +} + +//Function Number: 23 +overlook_grab_save_individual() +{ + var_00 = common_scripts\utility::getstruct(self.target,"targetname"); + var_01 = common_scripts\utility::getstruct(var_00.target,"targetname"); + for(;;) + { + self waittill("trigger",var_02); + if(isdefined(var_02) && isplayer(var_02) && !common_scripts\utility::flag("overlook_save")) + { + common_scripts\utility::flag_set("overlook_save"); + level.player setstance("stand"); + level.player allowcrouch(0); + level.player allowprone(0); + level.player hideviewmodel(); + level.player disableweapons(); + level.player playrumbleonentity("heavy_1s"); + soundscripts\_snd::snd_message("overlook_fall"); + wait 0.05; + var_03 = maps\_utility::spawn_anim_model("rig_hands1",level.player.origin,level.player.angles); + var_03 hide(); + var_01 thread maps\_anim::anim_single_solo(var_03,"fall_grab"); + var_03 thread play_falling_snow(); + level.player playerlinktoblend(var_03,"tag_player",0.15); + wait(0.15); + level.player playerlinktodelta(var_03,"tag_player",1,30,30,30,5,1); + var_03 show(); + var_03 waittillmatch("end","single anim"); + var_01 thread maps\_anim::anim_loop_solo(var_03,"fall_loop"); + thread should_break_recover_hint_command(); + thread should_break_recover_hint_movement(); + level.player thread maps\_utility::hintdisplayhandler("player_crash_falloff"); + level.player waittill("playerjump"); + level.player playrumbleonentity("damage_heavy"); + soundscripts\_snd::snd_message("overlook_recover"); + level.player.recover = undefined; + level.player playerlinktodelta(var_03,"tag_player",1,0,0,0,0,1); + var_01 maps\_anim::anim_single_solo(var_03,"fall_recover"); + wait 0.05; + level.player playrumbleonentity("damage_heavy"); + level.player allowcrouch(1); + level.player allowprone(1); + level.player showviewmodel(); + level.player enableweapons(); + level.player unlink(); + var_03 delete(); + wait 0.05; + common_scripts\utility::flag_clear("overlook_save"); + } + } +} + +//Function Number: 24 +play_falling_snow() +{ + var_00 = self; + wait(0.45); + var_01 = playfxontag(level._effect["snow_grab"],var_00,"ringplate_tr"); +} + +//Function Number: 25 +overlook_force_stand() +{ + var_00 = getent("overlook_player_stand","targetname"); + for(;;) + { + var_00 waittill("trigger",var_01); + if(var_01 == level.player) + { + level.player setstance("stand"); + } + + wait 0.05; + } +} + +//Function Number: 26 +overlook_to_lake_teleport() +{ + common_scripts\utility::flag_wait("overlook_done"); + var_00 = common_scripts\utility::getstruct("lake_player_teleport_pre","targetname"); + var_01 = common_scripts\utility::getstruct("lake_player_teleport","targetname"); + var_02 = maps\_utility::spawn_anim_model("rig_hands1"); + var_02 hide(); + var_00 maps\_anim::anim_first_frame_solo(var_02,"control_fall"); + var_03 = maps\_utility::spawn_anim_model("rig_hands1"); + var_01 maps\_anim::anim_first_frame_solo(var_03,"control_fall"); + common_scripts\utility::flag_wait("lake_begin_indoors"); + common_scripts\utility::flag_set("obj_lake_enter"); + level.player hideviewmodel(); + level.player disableweapons(); + soundscripts\_snd::snd_message("enter_lake_cave"); + level.player playerlinktoblend(var_02,"tag_player",0.35); + level.player setstance("stand"); + level.player allowcrouch(0); + level.player allowprone(0); + wait(0.3); + var_00 thread maps\_anim::anim_single_solo(var_02,"control_fall"); + var_01 thread maps\_anim::anim_single_solo(var_03,"control_fall"); + var_02 show(); + wait(0.7); + level.player maps\_hud_util::fade_out(0.05,"black"); + wait 0.05; + level.player playerlinktoabsolute(var_03,"tag_player"); + thread handle_teleport(var_01); + level.player playrumbleonentity("heavy_1s"); + var_03 waittillmatch("end","single anim"); + var_02 delete(); + var_03 delete(); + level.player unlink(); + level.player allowcrouch(1); + level.player allowprone(1); + level.player showviewmodel(); + level.player enableweapons(); +} + +//Function Number: 27 +handle_teleport(param_00) +{ + wait 0.05; + var_01 = common_scripts\utility::getstruct("lake_cormack","targetname"); + var_02 = common_scripts\utility::getstruct("lake_ilana","targetname"); + level.cormack maps\_utility::disable_ai_color(); + level.ilana maps\_utility::disable_ai_color(); + level.cormack forceteleport(var_01.origin,var_01.angles); + level.ilana forceteleport(var_02.origin,var_02.angles); + wait 0.05; + level.player maps\_hud_util::fade_in(0.05,"black"); + level.cormack dontinterpolate(); + level.ilana dontinterpolate(); + level.cormack.goalradius = 0; + level.ilana.goalradius = 0; + wait 0.05; + level.cormack maps\_utility::enable_ai_color(); + level.ilana maps\_utility::enable_ai_color(); +} + +//Function Number: 28 +begin_lake() +{ + overlook_to_lake_teleport(); + common_scripts\utility::flag_wait("lake_start"); + level notify("moved_indoors"); + level.player thread maps\crash_exo_temperature::set_external_temperature_over_time(level.temperature_indoor,3); + level.underwater_visionset_callback = ::ic_underwater_visionset_change; + var_00 = getaiarray("axis"); + foreach(var_02 in var_00) + { + if(isdefined(var_02) && isalive(var_02)) + { + if(isdefined(var_02.magic_bullet_shield) && var_02.magic_bullet_shield) + { + var_02 maps\_utility::stop_magic_bullet_shield(); + } + + var_02 delete(); + } + } + + thread lake_autosave(); + thread lake_dialogue(); + thread lake_upper_deck(); + thread maps\crash_exfil::vtol_takedown_cormack_stinger(); + thread friendly_bias(); + level.player thread sniper_rifle_objective_logic(); + level.player thread play_railgun_fx(); + if(level.currentgen) + { + var_04 = ["ice_attack_wave_1_noDelete"]; + thread maps\_cg_encounter_perf_monitor::cg_spawn_perf_monitor("",undefined,15,0,var_04); + } + + thread ice_lake_chopper(); + thread ice_lake_wave_0(); + thread ice_lake_wave_1(); + thread ice_lake_wave_2(); + thread ice_lake_wave_3(); + thread maps\crash_exfil::dead_stinger_guy(); + common_scripts\utility::flag_wait("chopper_found"); + soundscripts\_snd::snd_message("lake_events"); + common_scripts\utility::flag_set("obj_end_locate_chopper"); + thread lake_fall_in(); + common_scripts\utility::flag_wait("lake_done"); +} + +//Function Number: 29 +lake_autosave() +{ + common_scripts\utility::flag_wait("FLAG_lake_start_save"); + thread maps\_utility::autosave_by_name("entered_lake_area"); +} + +//Function Number: 30 +lake_drown() +{ + common_scripts\utility::flag_wait("lake_drown"); + setdvar("ui_deadquote",&"CRASH_FAIL_DROWN"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 31 +sniper_rifle_objective_logic() +{ + for(;;) + { + var_00 = self getweaponslistprimaries(); + foreach(var_02 in var_00) + { + if(var_02 == "s1_railgun") + { + self takeweapon("s1_railgun"); + self giveweapon("s1_railgun+morsscope"); + self switchtoweapon("s1_railgun+morsscope"); + break; + } + } + + wait(0.05); + } +} + +//Function Number: 32 +friendly_bias() +{ + createthreatbiasgroup("squad"); + createthreatbiasgroup("pilots"); + createthreatbiasgroup("enemies"); + level.ilana setthreatbiasgroup("squad"); + level.cormack setthreatbiasgroup("squad"); + setthreatbias("enemies","squad",-900); + setthreatbias("enemies","pilots",90000000); + common_scripts\utility::flag_wait("start_shooting_at_squad"); + maps\_utility::clearthreatbias("enemies","squad"); + maps\_utility::clearthreatbias("enemies","pilots"); +} + +//Function Number: 33 +lake_upper_deck() +{ + var_00 = level.cormack.accuracy; + var_01 = level.cormack.baseaccuracy; + level.player.ignoreme = 1; + level.ilana.ignoreall = 1; + level.cormack.ignoreall = 1; + level.cormack.accuracy = 100000; + level.cormack.baseaccuracy = 10000; + level.ilana.accuracy = 100000; + level.ilana.baseaccuracy = 10000; + common_scripts\utility::flag_wait("ice_lake_start_combat"); + wait(2); + common_scripts\utility::flag_set("obj_start_recover_cargo"); + level.ilana.ignoreme = 0; + level.ilana.ignoreall = 0; + level.ilana.accuracy = var_00; + level.ilana.baseaccuracy = var_01; + level.cormack.baseaccuracy = var_01; + level.cormack.ignoreme = 0; + level.cormack.ignoreall = 0; + level.cormack.accuracy = var_00; + common_scripts\utility::flag_wait("ice_lake_new_move_up"); + level.player.ignoreme = 0; +} + +//Function Number: 34 +ice_lake_wave_0() +{ + thread ice_lake_wave_0_crate(); + thread ice_lake_wave_0_amb(); + thread ice_lake_wave_0_patrol(); +} + +//Function Number: 35 +ice_lake_wave_0_crate() +{ + var_00 = undefined; + if(level.nextgen) + { + var_00 = maps\_utility::array_spawn_targetname("ice_attack_initial_crate",1); + } + else + { + var_00 = maps\_utility::array_spawn_targetname_cg("ice_attack_initial_crate",1,0.1); + } + + var_01 = getent("NODE_lake_scene_vtol","targetname"); + for(var_02 = 0;var_02 < var_00.size;var_02++) + { + if(isdefined(var_00[var_02]) && isalive(var_00[var_02])) + { + var_00[var_02].ignoreall = 0; + var_00[var_02].animname = "enemy" + var_02 + 1; + } + } + + if(isdefined(var_00[0]) && isalive(var_00[0])) + { + var_01 thread maps\_anim::anim_loop_solo(var_00[0],"lake_idle","crate_stop"); + } + + if(isdefined(var_00[1]) && isalive(var_00[1])) + { + var_01 thread maps\_anim::anim_loop_solo(var_00[1],"lake_idle","crate_stop"); + } + + common_scripts\utility::flag_wait("ice_lake_start_scene"); + foreach(var_04 in var_00) + { + if(isdefined(var_04) && isalive(var_04)) + { + var_04 thread ice_lake_wakeup(); + var_04 thread ice_lake_kill(); + } + } + + common_scripts\utility::flag_wait_or_timeout("ice_lake_start_combat",20); + common_scripts\utility::flag_wait("ice_lake_start_combat"); + level.ilana.ignoreall = 0; + if(!common_scripts\utility::flag("ice_lake_start_combat")) + { + wait(1); + common_scripts\utility::flag_set("ice_lake_start_combat"); + } + + var_01 notify("crate_stop"); + if(isdefined(var_00[0]) && isalive(var_00[0])) + { + var_01 thread maps\_anim::anim_single_solo(var_00[0],"lake_idle_run"); + } + + if(isdefined(var_00[1]) && isalive(var_00[1])) + { + var_01 thread maps\_anim::anim_single_solo(var_00[1],"lake_idle_run"); + } +} + +//Function Number: 36 +ice_lake_wave_0_amb() +{ + var_00 = undefined; + if(level.nextgen) + { + var_00 = maps\_utility::array_spawn_targetname("ice_attack_initial",1); + } + else + { + var_00 = maps\_utility::array_spawn_targetname_cg("ice_attack_initial",1,0.1); + } + + for(var_01 = 0;var_01 < var_00.size;var_01++) + { + if(isdefined(var_00[var_01]) && isalive(var_00[var_01])) + { + var_00[var_01].ignoreall = 0; + var_00[var_01].animname = "lakeguy"; + var_00[var_01].animation = "lake_ambience" + var_01; + var_00[var_01].reactionanim = "lake_sniped" + var_01; + var_00[var_01].canjumppath = 5; + var_02 = getent("NODE_lake_scene_vtol","targetname"); + var_02 thread maps\_anim::anim_loop_solo(var_00[var_01],var_00[var_01].animation,"crate_stop"); + } + } + + common_scripts\utility::flag_wait("ice_lake_start_scene"); + foreach(var_04 in var_00) + { + if(isdefined(var_04) && isalive(var_04)) + { + var_04 thread ice_lake_wakeup_noreaction(); + var_04 thread ice_lake_kill(); + } + } +} + +//Function Number: 37 +ice_lake_wave_0_patrol() +{ + var_00 = undefined; + if(level.nextgen) + { + var_00 = maps\_utility::array_spawn_targetname("ice_lake_patrol",1); + } + else + { + var_00 = maps\_utility::array_spawn_targetname_cg("ice_lake_patrol",1,0.1); + } + + for(var_01 = 0;var_01 < var_00.size;var_01++) + { + if(isdefined(var_00[var_01]) && isalive(var_00[var_01])) + { + var_00[var_01].ignoreall = 1; + var_00[var_01].ignoresuppression = 1; + var_00[var_01].goalradius = 32; + var_00[var_01].animname = "generic"; + var_00[var_01].canjumppath = 5; + var_00[var_01].reactionanim = "lake_sniped" + var_01; + maps\_utility::set_generic_idle_anim("casual_walk_idle"); + var_00[var_01].customarrivalfunc = ::custom_idle_trans_function; + var_00[var_01].startidletransitionanim = level.scr_anim["generic"]["casual_walk_in"]; + self.permanentcustommovetransition = 1; + self.custommovetransition = ::animscripts\cover_arrival::custommovetransitionfunc; + self.startmovetransitionanim = level.scr_anim["generic"]["casual_walk_out"]; + var_00[var_01] thread maps\_utility::set_run_anim("casual_walk"); + var_00[var_01] thread maps\_utility::follow_path(getnode(var_00[var_01].target,"targetname")); + } + } + + common_scripts\utility::flag_wait("ice_lake_start_scene"); + foreach(var_03 in var_00) + { + if(isdefined(var_03) && isalive(var_03)) + { + var_03 thread ice_lake_wakeup_reaction(); + var_03 thread ice_lake_kill(); + } + } +} + +//Function Number: 38 +custom_idle_trans_function() +{ + if(!isdefined(self.startidletransitionanim)) + { + return; + } + + var_00 = self.approachnumber; + var_01 = self.startidletransitionanim; + if(!isdefined(self.heat)) + { + thread animscripts\cover_arrival::abortapproachifthreatened(); + } + + self clearanim(%body,0.2); + self setflaggedanimrestart("coverArrival",var_01,1,0.2,self.movetransitionrate); + animscripts\face::playfacialanim(var_01,"run"); + animscripts\shared::donotetracks("coverArrival",::animscripts\cover_arrival::handlestartaim); + var_02 = level.arrivalendstance[self.approachtype]; + if(isdefined(var_02)) + { + self.a.pose = var_02; + } + + self.a.movement = "stop"; + self.a.arrivaltype = self.approachtype; + self clearanim(%root,0.3); + self.lastapproachaborttime = undefined; + var_03 = self.origin - self.goalpos; +} + +//Function Number: 39 +clear_custom_patrol_anim_set() +{ + maps\_utility::clear_generic_run_anim(); + maps\_utility::clear_generic_idle_anim(); + self.permanentcustommovetransition = undefined; + self.custommovetransition = undefined; + self.startmovetransitionanim = undefined; + self.customarrivalfunc = undefined; + self.startidletransitionanim = undefined; + self allowedstances("stand","crouch","prone"); + if(isdefined(self.oldcombatmode)) + { + self.combatmode = self.oldcombatmode; + } +} + +//Function Number: 40 +ice_lake_wakeup() +{ + self endon("death"); + self addaieventlistener("grenade danger"); + self addaieventlistener("silenced_shot"); + self addaieventlistener("gunshot"); + self addaieventlistener("explode"); + self waittill("ai_event",var_00); + common_scripts\utility::flag_set("ice_lake_start_combat"); + self.ignoreall = 0; +} + +//Function Number: 41 +ice_lake_wakeup_noreaction() +{ + self endon("death"); + thread ice_lake_wakeup_play_reaction(); + self addaieventlistener("grenade danger"); + self addaieventlistener("projectile_impact"); + self addaieventlistener("silenced_shot"); + self addaieventlistener("bulletwhizby"); + self addaieventlistener("gunshot"); + self addaieventlistener("gunshot_teammate"); + self addaieventlistener("explode"); + self waittill("ai_event",var_00); + common_scripts\utility::flag_set("ice_lake_start_combat"); +} + +//Function Number: 42 +ice_lake_wakeup_reaction() +{ + self endon("death"); + self addaieventlistener("grenade danger"); + self addaieventlistener("projectile_impact"); + self addaieventlistener("silenced_shot"); + self addaieventlistener("bulletwhizby"); + self addaieventlistener("gunshot"); + self addaieventlistener("gunshot_teammate"); + self addaieventlistener("explode"); + self waittill("ai_event",var_00); + common_scripts\utility::flag_set("ice_lake_start_combat"); + self.ignoreall = 0; + clear_custom_patrol_anim_set(); + maps\_utility::clear_run_anim(); + self notify("_utility::follow_path"); + wait 0.05; + thread maps\_anim::anim_single_solo(self,self.reactionanim); + thread lake_handle_vol_movement(); +} + +//Function Number: 43 +ice_lake_wakeup_play_reaction() +{ + self endon("death"); + var_00 = getent("NODE_lake_scene_vtol","targetname"); + common_scripts\utility::flag_wait("ice_lake_start_combat"); + self.ignoreall = 0; + maps\_utility::anim_stopanimscripted(); + wait 0.05; + var_00 thread maps\_anim::anim_single_solo(self,self.reactionanim); +} + +//Function Number: 44 +ice_lake_kill() +{ + self endon("death"); + self waittill("damage"); + common_scripts\utility::flag_set("ice_lake_start_combat"); + maps\_utility::anim_stopanimscripted(); + self kill(); +} + +//Function Number: 45 +ice_lake_wave_1() +{ + level endon("ice_lake_new_move_up"); + common_scripts\utility::flag_wait("ice_lake_start_combat"); + level endon("player_advanced_ahead"); + wait(5); + var_00 = getent("VOL_ice_lake_wave_1","targetname"); + var_01 = undefined; + if(level.nextgen) + { + var_01 = maps\_utility::array_spawn_targetname("ice_attack_wave_1",1); + } + else + { + var_01 = maps\_utility::array_spawn_targetname_cg("ice_attack_wave_1",1,0.1); + } + + var_02 = zippers_spawner("ice_attack_wave_1_zipline"); + var_03 = undefined; + if(level.nextgen) + { + var_03 = maps\_utility::array_spawn_targetname("ice_attack_wave_1_cover",1); + } + else + { + var_03 = maps\_utility::array_spawn_targetname_cg("ice_attack_wave_1_cover",1,0.1); + } + + var_04 = common_scripts\utility::array_combine(var_01,var_02); + var_04 = common_scripts\utility::array_combine(var_04,var_03); + foreach(var_06 in var_04) + { + if(isdefined(var_06) && isalive(var_06)) + { + var_06.script_noteworthy = "ice_attack_wave_1"; + var_06.ignoresuppression = 1; + var_06.canjumppath = 5; + var_06 setthreatbiasgroup("enemies"); + var_06 thread lake_handle_vol_movement(); + } + } + + foreach(var_09 in var_03) + { + if(isdefined(var_09) && isalive(var_09)) + { + var_09.goalradius = 0; + var_09 thread maps\_deployablecoverai::handle_deployable_cover("lake_deployablecover"); + var_09 thread handle_volume_assign(); + wait(1); + } + } + + var_04 = maps\_utility::remove_dead_from_array(var_04); + maps\_utility::waittill_dead_or_dying(var_04,2); + var_0B = maps\crash_utility::spawn_wave_stagger("ice_attack_wave_support",1,var_00); + var_0C = undefined; + if(level.nextgen) + { + var_0C = maps\_utility::array_spawn_targetname("ice_attack_wave_support_cover",1); + } + else + { + var_0C = maps\_utility::array_spawn_targetname_cg("ice_attack_wave_support_cover",1,0.1); + } + + var_0D = common_scripts\utility::array_combine(var_0B,var_0C); + var_0E = getent("VOL_ice_lake_wave_3","targetname"); + foreach(var_06 in var_0D) + { + if(isdefined(var_06) && isalive(var_06)) + { + var_06.script_noteworthy = "ice_attack_wave_1_back"; + var_06.ignoresuppression = 1; + var_06.canjumppath = 5; + var_06 setthreatbiasgroup("enemies"); + var_06 thread lake_handle_vol_movement(); + } + } + + foreach(var_09 in var_0C) + { + if(isdefined(var_09) && isalive(var_09)) + { + var_09.goalradius = 0; + var_09 thread maps\_deployablecoverai::handle_deployable_cover("lake_deployablecover"); + var_09 thread handle_volume_assign(); + wait(1); + } + } + + thread wave_1_logic(); + var_13 = common_scripts\utility::array_combine(var_04,var_0D); + var_13 = maps\_utility::array_removedead(var_13); + maps\_utility::waittill_dead_or_dying(var_13,5); + maps\_utility::activate_trigger("ice_lake_cormack_moveup1","targetname"); + common_scripts\utility::flag_wait("obj_start_recover_cargo"); + common_scripts\utility::flag_set("ice_lake_wave_1_done"); +} + +//Function Number: 46 +handle_volume_assign() +{ + self waittill("deployable_finished"); + thread lake_handle_vol_movement(); +} + +//Function Number: 47 +zippers_spawner(param_00) +{ + var_01 = getentarray(param_00,"targetname"); + var_02 = []; + wait(0.5); + foreach(var_04 in var_01) + { + var_05 = animscripts\traverse\seoul_zipline::spawn_npc_and_use_scripted_zipline(var_04,common_scripts\utility::getstruct(var_04.target,"targetname")); + var_02[var_02.size] = var_05; + var_05.ignoresuppression = 1; + var_05.canjumppath = 5; + var_05 setthreatbiasgroup("enemies"); + var_05 thread lake_handle_vol_movement(); + wait(randomfloatrange(0.1,0.25)); + } + + return var_02; +} + +//Function Number: 48 +wave_1_logic() +{ + level endon("ice_lake_new_move_up"); + var_00 = getent("VOL_ice_lake_wave_1","targetname"); + var_01 = 1; + while(var_01) + { + var_02 = maps\_utility::get_living_ai_array("ice_attack_wave_1","script_noteworthy"); + var_03 = maps\_utility::get_living_ai_array("ice_attack_wave_1_back","script_noteworthy"); + if(var_03.size == 0) + { + var_01 = 0; + } + + if(var_02.size < var_03.size) + { + if(isalive(var_03[0])) + { + var_03[0].script_noteworthy = "ice_attack_wave_1"; + } + } + + wait(2); + } +} + +//Function Number: 49 +ice_lake_wave_2() +{ + level endon("ice_lake_new_move_up"); + common_scripts\utility::flag_wait("ice_lake_wave_1_done"); + var_00 = getent("VOL_ice_lake_wave_2","targetname"); + var_01 = maps\crash_utility::spawn_wave_stagger("ice_attack_wave_support",1,var_00); + createthreatbiasgroup("enemies_2"); + foreach(var_03 in var_01) + { + if(isdefined(var_03) && isalive(var_03)) + { + var_03.script_noteworthy = "ice_attack_wave_2"; + var_03.ignoresuppression = 1; + var_03.canjumppath = 5; + var_03 setthreatbiasgroup("enemies_2"); + var_03 thread lake_handle_vol_movement(); + } + } + + createthreatbiasgroup("player"); + level.player setthreatbiasgroup("player"); + setthreatbias("enemies_2","player",-9000); + thread ice_lake_clear(); + maps\_utility::waittill_dead_or_dying(var_01,3); + common_scripts\utility::flag_wait("ice_lake_new_move_up"); + common_scripts\utility::flag_set("ice_lake_wave_2_done"); +} + +//Function Number: 50 +ice_lake_clear() +{ + level endon("ice_lake_new_move_up"); + var_00 = getaiarray("axis"); + maps\_utility::waittill_dead_or_dying(var_00,var_00.size - 5); + var_00 = getaiarray("axis"); + var_01 = getent("VOL_ice_lake_wave_cargo","targetname"); + foreach(var_03 in var_00) + { + var_03 setgoalvolumeauto(var_01); + randomfloatrange(0.2,0.5); + } + + level.cormack thread maps\_utility::smart_radio_dialogue("crsh_crmk_jumpdown3"); + var_00 = getaiarray("axis"); + maps\_utility::waittill_dead_or_dying(var_00,var_00.size); + common_scripts\utility::flag_clear("ice_lake_callout_pause"); + maps\_utility::smart_radio_dialogue("crsh_iln_targetdown2"); + maps\_utility::activate_trigger("ice_lake_cormack_moveup1","targetname"); + maps\_utility::disable_trigger_with_targetname("ice_lake_cormack_moveup1"); + level.cormack maps\_utility::smart_radio_dialogue("crsh_crmk_getdownhere"); + var_05 = maps\_utility::make_array("crsh_crmk_needtoadvance","crsh_crmk_getdownhere"); + thread maps\crash_utility::nag_until_flag(var_05,"ice_lake_start_timer",2,3,10); + common_scripts\utility::flag_wait("ice_lake_start_timer"); + maps\_utility::activate_trigger("ice_lake_moveup1","targetname"); + cormack_lake_callout_coverme(); + var_05 = maps\_utility::make_array("crsh_crmk_needtogetthatcargo","crsh_crmk_securecargo","crsh_iln_securecargo2"); + thread maps\crash_utility::nag_until_flag(var_05,"ice_lake_new_move_up",2,3,10); +} + +//Function Number: 51 +lake_reinforcements_1() +{ + level endon("ice_lake_new_move_up"); + for(;;) + { + var_00 = maps\_utility::get_living_ai_array("ice_attack_wave_1","script_noteworthy"); + if(var_00.size < 3) + { + var_01 = undefined; + if(level.nextgen) + { + var_01 = maps\_utility::array_spawn_targetname("ice_attack_support_1",1); + } + else + { + var_01 = maps\_utility::array_spawn_targetname_cg("ice_attack_support_1",1,0.1); + } + + foreach(var_03 in var_01) + { + if(isdefined(var_03) && isalive(var_03)) + { + var_03.ignoresuppression = 1; + var_03.script_noteworthy = "ice_attack_wave_1"; + } + } + + wait(4); + } + + wait(0.05); + } +} + +//Function Number: 52 +lake_reinforcements_2() +{ + level endon("ice_lake_new_move_up"); + for(;;) + { + var_00 = maps\_utility::get_living_ai_array("ice_attack_wave_2","script_noteworthy"); + if(var_00.size < 2) + { + var_01 = undefined; + if(level.nextgen) + { + var_01 = maps\_utility::array_spawn_targetname("ice_attack_support_2",1); + } + else + { + var_01 = maps\_utility::array_spawn_targetname_cg("ice_attack_support_2",1,0.1); + } + + foreach(var_03 in var_01) + { + if(isdefined(var_03) && isalive(var_03)) + { + var_03.ignoresuppression = 1; + var_03.script_noteworthy = "ice_attack_wave_2"; + } + } + + wait(4); + } + + wait(0.05); + } +} + +//Function Number: 53 +ice_lake_wave_3() +{ + level endon("lake_start_collapse"); + common_scripts\utility::flag_wait_either("ice_lake_wave_2_done","ice_lake_new_move_up"); + common_scripts\utility::flag_set("cargo_captured"); + common_scripts\utility::flag_set("obj_end_lake_sniper_rifle"); + var_00 = getent("VOL_ice_lake_wave_3a","targetname"); + var_01 = zippers_spawner("ice_attack_wave_2_zipline"); + wait(3); + var_02 = undefined; + if(level.nextgen) + { + var_03 = maps\_utility::array_spawn_targetname("ice_attack_final",1); + } + else + { + var_03 = maps\_utility::array_spawn_targetname_cg("ice_attack_final",1,0.1); + } + + foreach(var_05 in var_03) + { + if(isdefined(var_05) && isalive(var_05)) + { + var_05.ignoresuppression = 1; + var_05.script_noteworthy = "ice_attack"; + var_05.canjumppath = 5; + var_05 thread lake_handle_vol_movement(); + } + } + + wait(5); + var_07 = undefined; + if(level.nextgen) + { + var_07 = maps\_utility::array_spawn_targetname("ice_attack_final_back",1); + } + else + { + var_07 = maps\_utility::array_spawn_targetname("ice_attack_final_back",1,0.1); + } + + foreach(var_05 in var_07) + { + if(isdefined(var_05) && isalive(var_05)) + { + var_05.ignoresuppression = 1; + var_05.script_noteworthy = "ice_attack"; + var_05.canjumppath = 5; + var_05 thread lake_handle_vol_movement(); + } + } + + var_02 = getaiarray("axis"); + maps\_utility::waittill_dead_or_dying(var_02,var_02.size - 5); + var_00 = getent("VOL_ice_lake_wave_cargo","targetname"); + var_02 = maps\_utility::remove_dead_from_array(var_02); + foreach(var_0B in var_02) + { + var_0B setgoalvolumeauto(var_00); + randomfloatrange(0.2,0.5); + } + + level.ilana maps\_utility::smart_radio_dialogue("crsh_iln_securecargo2"); + var_02 = getaiarray("axis"); + maps\_utility::waittill_dead_or_dying(var_02,var_02.size); + common_scripts\utility::flag_clear("ice_lake_callout_pause"); + maps\_utility::smart_radio_dialogue("crsh_iln_allclear3"); + common_scripts\utility::flag_set("ice_lake_wave_3_done"); +} + +//Function Number: 54 +lake_reinforcements_final() +{ + level endon("lake_start_left"); + var_00 = getent("VOL_ice_lake_wave_3","targetname"); + wait(10); + for(;;) + { + var_01 = maps\_utility::get_living_ai_array("ice_attack","script_noteworthy"); + if(var_01.size < 4) + { + var_02 = undefined; + if(level.nextgen) + { + var_02 = maps\_utility::array_spawn_targetname("ice_attack_wave_support",1); + } + else + { + var_02 = maps\_utility::array_spawn_targetname_cg("ice_attack_wave_support",1,0.1); + } + + foreach(var_04 in var_02) + { + if(isdefined(var_04) && isalive(var_04)) + { + var_04.ignoresuppression = 1; + var_04.script_noteworthy = "ice_attack"; + var_04 setgoalvolumeauto(var_00); + } + } + + wait(4); + } + + wait(0.05); + } +} + +//Function Number: 55 +lake_handle_vol_movement() +{ + if(isdefined(self.target)) + { + var_00 = strtok(self.target,"VOL_ice_lake_wave_3"); + if(isdefined(var_00) && isdefined(var_00[0])) + { + if(var_00[0] == "1" || var_00[0] == "2" || var_00[0] == "3") + { + thread lake_vol_movement(); + return; + } + } + } +} + +//Function Number: 56 +lake_vol_movement() +{ + self endon("death"); + var_00 = getent("VOL_ice_lake_wave_3a","targetname"); + var_01 = getent("VOL_ice_lake_wave_3b","targetname"); + var_02 = getent("VOL_ice_lake_wave_3c","targetname"); + for(;;) + { + wait(10); + var_03 = randomintrange(0,3); + if(var_03 == 0) + { + self setgoalvolumeauto(var_00); + continue; + } + + if(var_03 == 1) + { + self setgoalvolumeauto(var_01); + continue; + } + + self setgoalvolumeauto(var_02); + } +} + +//Function Number: 57 +lake_fall_in(param_00) +{ + common_scripts\utility::flag_wait("lake_start_left"); + if(!isdefined(param_00)) + { + thread maps\_utility::autosave_now_silent(); + level.player enableinvulnerability(); + level.player maps\_player_high_jump::disable_high_jump(); + level.player allowpowerslide(0); + level.player allowdodge(0); + level.player maps\crash_utility::disable_exo_melee(); + level.cormack thread maps\_utility::smart_radio_dialogue("crsh_crmk_missilesfired"); + var_01 = 400; + var_02 = 150; + var_03 = level.lake_chopper.origin - (0,0,32); + level.lake_chopper.old_contents = level.lake_chopper setcontents(0); + var_04 = level.player common_scripts\utility::spawn_tag_origin(); + var_05 = level.player.origin; + var_06 = level.player getplayerangles(); + var_07 = var_06[1]; + var_04.origin = (var_02 * cos(var_07) + var_05[0],var_02 * sin(var_07) + var_05[1],var_05[2]); + var_08 = common_scripts\utility::getstruct("csh_lake_repulsor","targetname"); + var_09 = common_scripts\utility::getstruct("csh_lake_repulsor2","targetname"); + var_0A = missile_createrepulsororigin(var_08.origin,10000,500); + var_0B = missile_createrepulsororigin(var_09.origin,100000,75); + var_0C = missile_createattractororigin(common_scripts\utility::drop_to_ground(var_04.origin - (0,0,100)),20000,1000); + wait 0.05; + var_0D = level.lake_chopper gettagorigin("jnt_launcherbracket_l"); + var_0E = level.lake_chopper gettagorigin("jnt_launcherbracket_r"); + var_0F = magicbullet("iw5_mahemstraight_sp",var_0D,var_04.origin); + var_10 = magicbullet("iw5_mahemstraight_sp",var_0E,var_04.origin); + thread vtol_fire_late_rpgs(var_04); + soundscripts\_snd::snd_message("missile_fire",var_0F,var_10,var_04.origin); + wait(0.1); + var_10 common_scripts\utility::waittill_notify_or_timeout("death",2); + soundscripts\_snd::snd_message("lake_fall_in"); + level notify("player_fell_in_lake"); + level.player maps\_player_high_jump::enable_high_jump(); + level.player allowpowerslide(1); + level.player allowdodge(1); + } + + common_scripts\utility::flag_set("lake_done"); + wait(0.25); + common_scripts\utility::flag_set("go_gideon_moment"); + common_scripts\utility::flag_set("obj_lake_fall"); + wait(2); + var_11 = getaiarray("axis"); + foreach(var_13 in var_11) + { + if(isdefined(var_13) && isalive(var_13)) + { + if(isdefined(var_13.magic_bullet_shield) && var_13.magic_bullet_shield) + { + var_13 maps\_utility::stop_magic_bullet_shield(); + } + + var_13.dontdropweapon = 1; + var_13 delete(); + } + } + + maps\crash_utility::cleanup_enemies("ice_attack",1); + maps\crash_utility::cleanup_enemies("ice_attack_wave_1_back",1); + if(level.currentgen) + { + maps\crash_utility::cleanup_enemies("ice_attack_wave_1_noDelete",1); + } + + maps\crash_utility::cleanup_enemies("ice_attack_wave_1",1); + maps\crash_utility::cleanup_enemies("ice_attack_wave_2",1); + maps\crash_utility::cleanup_enemies("ice_attack_goliath",1); + maps\crash_utility::cleanup_enemies("ice_attack_bonus",1); + clearallcorpses(); + maps\crash_utility::cleanupweaponsonground(); +} + +//Function Number: 58 +vtol_fire_late_rpgs(param_00) +{ + wait(0.75); + var_01 = level.lake_chopper gettagorigin("jnt_launcherbracket_l"); + var_02 = level.lake_chopper gettagorigin("jnt_launcherbracket_r"); + var_03 = level.player.origin; + var_04 = level.player getplayerangles(); + var_05 = var_04[1]; + var_06 = 150; + param_00.origin = (var_06 * cos(var_05) + var_03[0],var_06 * sin(var_05) + var_03[1],var_03[2]); + magicbullet("iw5_mahemstraight_sp",var_01,param_00.origin - (0,0,100)); + magicbullet("iw5_mahemstraight_sp",var_02,param_00.origin - (0,0,100)); + wait(0.75); + var_01 = level.lake_chopper gettagorigin("jnt_launcherbracket_l"); + var_02 = level.lake_chopper gettagorigin("jnt_launcherbracket_r"); + var_03 = level.player.origin; + var_04 = level.player getplayerangles(); + var_05 = var_04[1]; + var_06 = 150; + param_00.origin = (var_06 * cos(var_05) + var_03[0],var_06 * sin(var_05) + var_03[1],var_03[2]); + magicbullet("iw5_mahemstraight_sp",var_01,param_00.origin - (0,0,200)); + magicbullet("iw5_mahemstraight_sp",var_02,param_00.origin - (0,0,200)); + wait(2); + level.player disableinvulnerability(); +} + +//Function Number: 59 +ice_lake_chopper() +{ + var_00 = getent("NODE_lake_scene_vtol","targetname"); + var_01 = maps\_utility::spawn_anim_model("vtol"); + level.lake_chopper = var_01; + var_02 = maps\_utility::spawn_anim_model("pulley"); + var_02 notsolid(); + var_03 = maps\_utility::spawn_anim_model("crate"); + var_03 notsolid(); + level.cargo = var_03; + var_00 thread maps\_anim::anim_loop_solo(var_03,"lake_loop","stop_wait_loop"); + var_00 thread handle_cargo_shut(var_03); + common_scripts\utility::flag_wait("ice_lake_start_timer"); + thread lake_scene_fail_timeout(); + common_scripts\utility::flag_wait_any("lake_lift_off","lake_player_fail"); + soundscripts\_snd::snd_message("lake_warbird_approaches"); + var_04 = undefined; + if(level.nextgen) + { + var_04 = maps\_utility::array_spawn_targetname("ice_attack_hookup_crate",1); + } + else + { + var_04 = maps\_utility::array_spawn_targetname("ice_attack_hookup_crate",1,0.1); + } + + for(var_05 = 0;var_05 < var_04.size;var_05++) + { + if(isdefined(var_04[var_05]) && isalive(var_04[var_05])) + { + var_04[var_05].ignoreall = 0; + var_04[var_05].animname = "enemy" + var_05 + 1; + var_04[var_05] thread ice_lake_kill(); + var_00 thread maps\_anim::anim_single_solo(var_04[var_05],"lake_hookup"); + } + } + + var_06 = [var_01,var_02]; + var_00 maps\_anim::anim_single(var_06,"lake_hookup"); + var_06 = [var_01,var_02,var_03]; + var_00 thread maps\_anim::anim_loop(var_06,"lake_loop","stop_wait_loop"); + maps\_utility::activate_trigger("ice_lake_moveup1","targetname"); + var_00 notify("stop_wait_loop"); + var_00 thread maps\_anim::anim_loop_solo(var_03,"lake_hookup_loop","stop_wait_loop"); + var_00 thread maps\_anim::anim_single_solo(var_01,"lake_turn"); + var_00 maps\_anim::anim_single_solo(var_02,"lake_turn"); + var_00 notify("stop_wait_loop"); + var_00 thread maps\_anim::anim_loop(var_06,"lake_hookup_loop","stop_wait_loop"); + common_scripts\utility::flag_wait_any("lake_start_left","lake_player_fail"); + wait 0.05; + if(common_scripts\utility::flag("lake_player_fail")) + { + var_00 notify("stop_wait_loop"); + var_00 thread maps\_anim::anim_single(var_06,"lake_takeoff"); + wait(3); + setdvar("ui_deadquote",&"CRASH_FAIL_CARGO"); + maps\_utility::missionfailedwrapper(); + return; + } + + wait(3); + var_07 = getent("ice_lake_crate_clip","targetname"); + var_07 delete(); + var_01 delete(); + var_02 delete(); + var_03 delete(); +} + +//Function Number: 60 +handle_cargo_shut(param_00) +{ + common_scripts\utility::flag_wait("ice_lake_start_combat"); + self notify("stop_wait_loop"); + maps\_anim::anim_single_solo(param_00,"lake_shut"); + thread maps\_anim::anim_loop_solo(param_00,"lake_hookup_loop","stop_wait_loop"); +} + +//Function Number: 61 +lake_scene_fail_timeout() +{ + wait(60); + common_scripts\utility::flag_set("lake_lift_off"); + wait(45); + common_scripts\utility::flag_set("lake_player_fail"); +} + +//Function Number: 62 +ic_underwater_visionset_change(param_00) +{ + if(param_00) + { + var_01 = 1; + level.player maps\_utility::vision_set_fog_changes("crash_lake_underwater",2); + level.player setclutforplayer("clut_crash_underwater",2); + setsunflareposition((-31,-169,0)); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(4.32,40.9,1,1); + maps\_water::set_light_set_for_player("crash_lake_fallin_02"); + if(isdefined(level.dofunderwater)) + { + thread maps\_water::setdof(level.dofunderwater); + } + + playfx(common_scripts\utility::getfx("water_screen_plunge"),self.origin); + self setwatersheeting(0); + maps\_water::setunderwateraudiozone(); + self playlocalsound("underwater_enter"); + return; + } + + maps\_water::revertvisionsetforplayer(0); + maps\_water::set_light_set_for_player("crash_avalanche"); + if(isdefined(level.dofdefault)) + { + thread maps\_water::setdof(level.dofdefault); + } + + level.player maps\_utility::vision_set_fog_changes("crash_avalanche_cinematic",2); + level.player setclutforplayer("clut_crash_crash_site",2); + level.player disablephysicaldepthoffieldscripting(); + playfx(common_scripts\utility::getfx("water_screen_emerge"),self.origin); + self setwatersheeting(1,1); + maps\_water::clearunderwateraudiozone(); + self playlocalsound("breathing_better"); + self playlocalsound("underwater_exit"); + var_02 = undefined; + if(isdefined(self.water_trigger_current)) + { + var_02 = maps\_water::getwaterline(self.water_trigger_current); + } + + if(isdefined(var_02)) + { + var_03 = (self.origin[0],self.origin[1],var_02); + playfx(level._effect["water_splash_emerge"],var_03,anglestoforward((0,self.angles[1],0) + (270,180,0))); + } +} + +//Function Number: 63 +lake_dialogue() +{ + level endon("lake_start_left"); + maps\_utility::battlechatter_off("allies"); + thread lake_dialogue_start(); + common_scripts\utility::flag_wait("ice_lake_start_combat"); + soundscripts\_snd::snd_music_message("lake_combat"); + wait(1); + thread maps\_utility::autosave_by_name("ice_lake_combat_start"); + maps\_utility::smart_radio_dialogue("crsh_crmk_openfire7"); + common_scripts\utility::flag_set("ice_lake_cormack_movedown"); + thread maps\_utility::activate_trigger("lake_cormack_move_down","targetname"); + thread lake_callouts(); + maps\_utility::smart_radio_dialogue("crsh_crmk_needcargo3"); + common_scripts\utility::flag_wait("lake_lift_off"); + thread maps\_utility::autosave_by_name("lake_lift_off"); + level.player.ignoreme = 0; + maps\_utility::smart_radio_dialogue("crsh_iln_vtolincoming"); + maps\_utility::smart_radio_dialogue("crsh_crmk_needtogetthatcargo"); + wait(3); + maps\_utility::smart_radio_dialogue("crsh_crmk_hookingupcargo"); + common_scripts\utility::flag_set("ice_lake_callout_pause"); + wait(12); + maps\_utility::smart_radio_dialogue("crsh_iln_vtoltakeoff"); + var_00 = maps\_utility::make_array("crsh_crmk_needtogetthatcargo","crsh_crmk_securecargo","crsh_iln_vtoltakeoff","crsh_iln_securecargo2"); + thread maps\crash_utility::nag_until_flag(var_00,"lake_start_left",10,15,10); +} + +//Function Number: 64 +lake_dialogue_start() +{ + level endon("ice_lake_start_combat"); + common_scripts\utility::flag_wait("lake_vo_start"); + maps\_utility::smart_radio_dialogue("crsh_crmk_deadahead"); + maps\_utility::smart_radio_dialogue("crsh_iln_gotcargo5"); + maps\_utility::smart_radio_dialogue("crsh_crmk_intercept"); + maps\_utility::smart_radio_dialogue("crsh_kp_sendingexfil"); + common_scripts\utility::flag_set("ice_lake_cormack_movedown"); + thread maps\_utility::activate_trigger("lake_cormack_move_down","targetname"); + maps\_utility::smart_radio_dialogue("crsh_crmk_drawthemout"); + maps\_utility::smart_radio_dialogue("crsh_crmk_inposition"); + level.cormack maps\_utility::smart_radio_dialogue("crsh_crmk_onyourshot"); + var_00 = maps\_utility::make_array("crsh_crmk_takeshot","crsh_crmk_onyourshot"); + thread maps\crash_utility::nag_until_flag(var_00,"ice_lake_start_combat",10,15,10); +} + +//Function Number: 65 +lake_callouts() +{ + level endon("lake_start_left"); + common_scripts\utility::flag_set("ice_lake_callout_pause"); + wait(3); + var_00 = getent("ice_lake_callout_cargo_VOL","targetname"); + var_01 = getent("ice_lake_callout_left_VOL","targetname"); + var_02 = getent("ice_lake_callout_right_VOL","targetname"); + var_03 = getent("ice_lake_callout_front_VOL","targetname"); + var_04 = undefined; + var_05 = undefined; + var_06 = undefined; + var_07 = undefined; + for(;;) + { + var_08 = var_00 maps\_utility::get_ai_touching_volume("axis"); + var_09 = var_03 maps\_utility::get_ai_touching_volume("axis"); + var_0A = var_01 maps\_utility::get_ai_touching_volume("axis"); + var_0B = var_02 maps\_utility::get_ai_touching_volume("axis"); + common_scripts\utility::flag_wait("ice_lake_callout_pause"); + if(isdefined(var_08) && !isdefined(var_04)) + { + var_04 = 1; + var_0C = randomint(3); + if(var_0C == 0) + { + ilana_lake_callout_cargo(); + } + else if(var_0C == 1) + { + if(common_scripts\utility::cointoss()) + { + cormack_lake_callout_cargo(); + } + } + else if(var_0C == 2) + { + cormack_lake_callout_stop(); + } + } + else if(isdefined(var_09) && !isdefined(var_05)) + { + var_05 = 1; + var_0C = randomint(3); + if(var_0C == 0) + { + cormack_lake_callout_cover(); + } + else if(var_0C == 1) + { + cormack_lake_callout_coverme(); + } + else if(var_0C == 2) + { + cormack_lake_callout_pin(); + } + + if(common_scripts\utility::cointoss()) + { + ilana_lake_callout_shot(); + } + } + else if(isdefined(var_0A) && !isdefined(var_06)) + { + var_06 = 1; + if(common_scripts\utility::cointoss()) + { + ilana_lake_callout_left(); + } + + var_04 = undefined; + var_05 = undefined; + var_07 = undefined; + } + else if(isdefined(var_0B) && !isdefined(var_07)) + { + var_07 = 1; + if(common_scripts\utility::cointoss()) + { + ilana_lake_callout_right(); + } + + var_04 = undefined; + var_05 = undefined; + var_06 = undefined; + } + + var_08 = undefined; + var_09 = undefined; + var_0A = undefined; + var_0B = undefined; + wait(randomfloatrange(4,10)); + } +} + +//Function Number: 66 +cormack_lake_callout_cargo() +{ + level endon("lake_start_collapse"); + maps\_utility::smart_radio_dialogue("crsh_crmk_needtogetthatcargo"); +} + +//Function Number: 67 +cormack_lake_callout_downhere() +{ + level endon("lake_start_collapse"); + maps\_utility::smart_radio_dialogue("crsh_crmk_getdownhere"); +} + +//Function Number: 68 +cormack_lake_callout_goliath() +{ + level endon("lake_start_collapse"); + maps\_utility::smart_radio_dialogue("crsh_crmk_keephitting"); +} + +//Function Number: 69 +cormack_lake_callout_coverme() +{ + level endon("lake_start_collapse"); + maps\_utility::smart_radio_dialogue("crsh_crmk_movingpos"); +} + +//Function Number: 70 +cormack_lake_callout_stop() +{ + level endon("lake_start_collapse"); + maps\_utility::smart_radio_dialogue("crsh_crmk_getthecargo"); +} + +//Function Number: 71 +cormack_lake_callout_pin() +{ + level endon("lake_start_collapse"); + maps\_utility::smart_radio_dialogue("crsh_crmk_pinemdown"); +} + +//Function Number: 72 +cormack_lake_callout_cover() +{ + level endon("lake_start_collapse"); + maps\_utility::smart_radio_dialogue("crsh_crmk_coverfire"); +} + +//Function Number: 73 +cormack_lake_callout_rpg() +{ + level.cormack maps\_utility::smart_dialogue("crsh_crmk_caveentrance"); +} + +//Function Number: 74 +ilana_lake_callout_right() +{ + maps\_utility::smart_radio_dialogue("crsh_iln_totheright"); +} + +//Function Number: 75 +ilana_lake_callout_cave() +{ + maps\_utility::smart_radio_dialogue("crsh_iln_caveentrance"); +} + +//Function Number: 76 +ilana_lake_callout_left() +{ + maps\_utility::smart_radio_dialogue("crsh_iln_lookleft"); +} + +//Function Number: 77 +ilana_lake_callout_shot() +{ + maps\_utility::smart_radio_dialogue("crsh_iln_takingtheshot"); +} + +//Function Number: 78 +ilana_lake_callout_goliath() +{ + maps\_utility::smart_radio_dialogue("crsh_iln_goliaths_incoming"); +} + +//Function Number: 79 +ilana_lake_callout_cargo() +{ + maps\_utility::smart_radio_dialogue("crsh_iln_moreofthem"); +} + +//Function Number: 80 +begin_lake_cinema() +{ + level.lake_scene_anim_node = getent("NODE_lake_scene","targetname"); + thread ice_lake_cinema_heli(); + thread lake_cinema_player(); + maps\_utility::battlechatter_off("axis"); + maps\_utility::battlechatter_off("allies"); + thread ignore_friendlies(); + level waittill("start_lake_npcs"); + level.gideon = maps\crash_utility::spawn_ally("gideon","gideon_gideon"); + level.gideon.canjumppath = 1; + level.gideon thread lake_cinema_gideon(); + level.cormack thread lake_cinema_cormack(); + level.ilana thread lake_cinema_ilona(); + thread lake_cinema_enemies(); + common_scripts\utility::flag_wait("lake_cinema_done"); +} + +//Function Number: 81 +lake_cinema_player() +{ + common_scripts\utility::flag_wait("go_gideon_moment"); + common_scripts\utility::flag_set("lake_underwater_lighting"); + level.player hideviewmodel(); + level.player disableweapons(); + maps\_shg_utility::disable_features_entering_cinema(1); + wait 0.05; + var_00 = maps\_utility::spawn_anim_model("rig_hands",level.player.origin,level.player.angles); + var_01 = level.player common_scripts\utility::spawn_tag_origin(); + var_02 = common_scripts\utility::getstruct("lake_fall_water_struct","targetname"); + level.player playerlinktodelta(var_00,"tag_player",1,0,0,0,0); + level.player maps\_utility::delaythread(1,::maps\_hud_util::fade_out,0.2,"black"); + level.player setstance("stand"); + level.player allowcrouch(0); + level.player allowprone(0); + var_01 maps\_anim::anim_single_solo(var_00,"lake_fall"); + var_00 delete(); + var_03 = level.player common_scripts\utility::spawn_tag_origin(); + var_03.origin = (var_02.origin[0],var_02.origin[1],var_03.origin[2]); + level.player playerlinktodelta(var_03,"tag_origin",1,25,25,25,0); + var_03 rotateto(var_02.angles,0.1); + thread falling_bits_fx(); + playfxontag(level._effect["player_bubbles"],var_03,"tag_origin"); + playfx(level._effect["water_splash_enter"],var_03.origin,anglestoforward((0,level.player.angles[1],0) + (270,180,0))); + playfx(level._effect["water_screen_plunge"],var_03.origin,anglestoforward((0,level.player.angles[1],0) + (270,180,0))); + wait(0.1); + var_03 moveto(var_02.origin,1.5,0,0.5); + playfxontag(level._effect["player_bubbles"],var_03,"tag_origin"); + playfx(level._effect["water_splash_enter"],var_03.origin,anglestoforward((0,level.player.angles[1],0) + (270,180,0))); + level.player thread maps\_hud_util::fade_in(0.25,"black"); + wait(0.5); + playfxontag(level._effect["player_bubbles"],var_03,"tag_origin"); + playfx(level._effect["water_splash_enter"],var_03.origin,anglestoforward((0,level.player.angles[1],0) + (270,180,0))); + level.player thread maps\crash_exo_temperature::set_external_temperature_over_time(level.temperature_water,6.5); + level.player thread maps\crash_exo_temperature::set_exo_temperature_over_time(40,6.5); + level.player thread maps\crash_exo_temperature::set_operator_temperature_over_time(91.5,6.5); + level.player.underwater = 1; + thread player_swim_hint(); + wait(1); + stopfxontag(level._effect["player_bubbles"],var_01,"tag_origin"); + level.player_breath_amount_use_rate = 4; + level.player unlink(); + setsaveddvar("compass","1"); + wait(2); + stopfxontag(level._effect["player_bubbles"],var_03,"tag_origin"); + var_01 delete(); + var_03 delete(); + common_scripts\utility::flag_wait("lake_underwater_exit_flag"); + soundscripts\_snd::snd_message("lake_exit"); + common_scripts\utility::flag_set("go_gideon_moment_save"); + common_scripts\utility::flag_set("obj_lake_gideon_save"); + thread maps\_utility::autosave_by_name("gideon_save"); + var_00 = maps\_utility::spawn_anim_model("rig2"); + var_00 hide(); + thread falling_bits_fx(); + var_04 = getent("NODE_water_fx","targetname") common_scripts\utility::spawn_tag_origin(); + var_05 = playfxontag(level._effect["player_bubbles"],var_00,"tag_origin"); + playfxontag(level._effect["water_splash_enter"],var_00,"tag_origin"); + common_scripts\utility::flag_clear("hide_player_snow_footprints"); + common_scripts\utility::flag_set("outdoors"); + level notify("start_lake_npcs"); + level.lake_scene_anim_node thread maps\_anim::anim_single_solo(var_00,"gideon_scene"); + level.player thread maps\crash_exo_temperature::set_external_temperature_over_time(level.temperature_outdoor,1.5); + level.player thread maps\crash_exo_temperature::set_exo_temperature_over_time(level.exo_max,1.5); + level.player thread maps\crash_exo_temperature::set_operator_temperature_over_time(98.6,1.5); + level.player playerlinktoblend(var_00,"tag_origin",0.75); + wait(0.5); + level.player maps\_utility::ent_flag_set("water_trigger_paused"); + level.player notify("out_of_water"); + level.player maps\_water::disable_swim_or_underwater_walk(); + level.player shellshock("crash_goliath_hit",0.25); + level.player playerlinktodelta(var_00,"tag_player",1,10,10,10,5,1); + var_00 show(); + var_06 = level.player maps\_utility::get_storable_weapons_list_primaries(); + level.player takeallweapons(); + stopfxontag(level._effect["player_bubbles"],var_00,"tag_origin"); + wait(1); + common_scripts\utility::flag_set("go_lighting_gideon"); + var_00 waittillmatch("end","single anim"); + common_scripts\utility::flag_set("gideon_lighting_unlock"); + setsaveddvar("ammoCounterHide",0); + setsaveddvar("actionSlotsHide",0); + level.player unlink(); + var_00 delete(); + level.player allowcrouch(1); + level.player allowprone(1); + foreach(var_08 in var_06) + { + if(!issubstr(tolower(var_08),"s1_railgun")) + { + level.player giveweapon(var_08); + continue; + } + + level.player giveweapon("iw5_kf5_sp"); + } + + level.player switchtoweapon(var_06[0]); + level.player showviewmodel(); + level.player enableweapons(); + level.player maps\_utility::blend_movespeedscale(0.5,0.5); + thread maps\crash_exfil::vtol_takedown_failure(); + common_scripts\utility::flag_set("gideon_frees_you"); + level.player maps\_utility::ent_flag_clear("water_trigger_paused"); + wait(1); + maps\_shg_utility::enable_features_exiting_cinema(1); +} + +//Function Number: 82 +delayplayfx(param_00,param_01,param_02,param_03) +{ + wait(param_00); + playfxontag(param_01,param_02,param_03); +} + +//Function Number: 83 +falling_bits_fx() +{ + var_00 = common_scripts\utility::getstructarray("NODE_falling_fx","targetname"); + foreach(var_02 in var_00) + { + var_03 = var_02 common_scripts\utility::spawn_tag_origin(); + var_04 = playfxontag(level._effect["sinky_bits"],var_03,"tag_origin"); + wait(0.5); + } +} + +//Function Number: 84 +player_swim_hint() +{ + wait(4); + thread maps\_utility::hintdisplayhandler("player_lake_swim"); +} + +//Function Number: 85 +should_break_swim_hint() +{ + return isdefined(level.player.swimming) && level.player getnormalizedmovement()[0] > 0.25 || level.player getnormalizedmovement()[1] > 0.25; +} + +//Function Number: 86 +should_break_recover_hint() +{ + return isdefined(level.player.recover); +} + +//Function Number: 87 +should_break_recover_hint_command() +{ + var_00 = "playerjump"; + level.player notifyonplayercommand(var_00,"+gostand"); + level.player notifyonplayercommand(var_00,"+usereload"); + level.player notifyonplayercommand(var_00,"+stance"); + level.player waittill(var_00); + level.player.recover = 1; +} + +//Function Number: 88 +should_break_recover_hint_movement() +{ + for(;;) + { + if(level.player getnormalizedmovement()[0] > 0.1 || level.player getnormalizedmovement()[1] > 0.1) + { + level.player.recover = 1; + level.player notify("playerjump"); + return; + } + + wait 0.05; + } +} + +//Function Number: 89 +get_forward_movement() +{ + level endon("player_normal_movement"); + level.input_bool = 0; + var_00 = 0; + var_01 = 2; + for(;;) + { + var_02 = level.player getnormalizedmovement(); + var_00 = var_02[0]; + while(var_00 <= 0) + { + var_02 = level.player getnormalizedmovement(); + var_00 = var_02[0]; + if(level.input_bool) + { + level thread input_hint(0.05); + level.input_bool = 0; + } + + wait(0.05); + } + + level notify("stop_hint"); + level thread maps\_utility::hint_fade(); + level.input_bool = 0; + var_01 = 5; + common_scripts\utility::flag_clear("waiting_for_input"); + wait(0.05); + } +} + +//Function Number: 90 +input_hint(param_00) +{ + level endon("player_normal_movement"); + level endon("stop_hint"); + wait(param_00); + level thread maps\_utility::hint(&"CRASH_HINT_CAVE_MOVEMENT"); +} + +//Function Number: 91 +lake_cinema_gideon() +{ + level.lake_scene_anim_node maps\_anim::anim_single_solo(self,"gideon_scene"); + thread maps\crash_exfil::vtol_takedown_gideon(); +} + +//Function Number: 92 +lake_cinema_cormack() +{ + thread maps\crash_utility::cormack_helmet_open(self); + level.lake_scene_anim_node maps\_anim::anim_single_solo(self,"gideon_scene"); + common_scripts\utility::flag_set("cormack_start_vtol"); + thread maps\crash_exfil::vtol_takedown_cormack(); +} + +//Function Number: 93 +lake_cinema_ilona() +{ + level.lake_scene_anim_node maps\_anim::anim_single_solo(self,"gideon_scene"); + thread maps\crash_exfil::vtol_takedown_ilona(); + level.player maps\_utility::blend_movespeedscale(1,0.5); + thread maps\_utility::autosave_by_name("gideon_moment"); + common_scripts\utility::flag_set("lake_cinema_done"); + level.player notify("HintDisplayHandlerEnd"); +} + +//Function Number: 94 +lake_cinema_enemies() +{ + common_scripts\utility::flag_wait("lake_underwater_exit_flag"); + var_00 = maps\_utility::array_spawn_targetname("gideon_enemy",1); + var_01 = []; + var_01[0] = var_00[0]; + var_01[1] = var_00[1]; + var_01[0].ignoreme = 1; + var_01[0].ignoreall = 1; + var_01[0] maps\_utility::gun_remove(); + var_01[0] thread maps\crash_utility::disable_awareness(); + var_01[0] maps\_utility::set_battlechatter(0); + var_01[0].animname = "lake_enemy_0"; + var_01[1].ignoreme = 1; + var_01[1].ignoreall = 1; + var_01[1] maps\_utility::gun_remove(); + var_01[1] thread maps\crash_utility::disable_awareness(); + var_01[1] maps\_utility::set_battlechatter(0); + var_01[1].animname = "lake_enemy_1"; + level.lake_scene_anim_node maps\_anim::anim_single(var_01,"gideon_scene"); + var_01[0] invisiblenotsolid(); + var_01[0] setthreatdetection("disable"); + var_01[0] kill(); + var_01[1] invisiblenotsolid(); + var_01[1] setthreatdetection("disable"); + var_01[1] kill(); +} + +//Function Number: 95 +ignore_friendlies() +{ + level.cormack.ignoreme = 1; + level.ilana.ignoreme = 1; + level.player.ignoreme = 1; + common_scripts\utility::flag_wait("gideon_frees_you"); + level.player.ignoreme = 0; +} + +//Function Number: 96 +ice_lake_cinema_heli() +{ +} + +//Function Number: 97 +play_railgun_fx() +{ + var_00 = common_scripts\utility::spawn_tag_origin(); + var_00 linktoplayerview(self,"tag_flash",(0,0,-2),(0,0,0),0); + for(;;) + { + self waittill("weapon_fired",var_01); + if(!issubstr(tolower(var_01),"s1_railgun")) + { + continue; + } + + var_02 = self geteye(); + var_03 = tag_project_player(999999); + var_04 = bullettrace(var_02,var_03,1,self); + var_05 = var_04["surfacetype"]; + var_06 = isdefined(var_04["entity"]); + var_07 = -1 * anglestoforward(self geteye()); + var_08 = vectortoangles(var_04["normal"]); + var_09 = 500; + physicsexplosionsphere(var_04["position"],var_09 + 300,var_09 * 0.25,1); + var_00 unlinkfromplayerview(self); + var_00 dontinterpolate(); + var_0A = vectortoangles(var_04["position"] - var_02 - (0,0,2)); + var_00 linktoplayerview(self,"tag_flash",(0,0,-2),(0,0,0),0); + playfx(common_scripts\utility::getfx("railgun_tracer"),var_00.origin,anglestoforward(var_0A),anglestoup(var_0A)); + playfx(common_scripts\utility::getfx("railgun_blast_snow"),var_04["position"],anglestoforward(var_08),anglestoup(var_08)); + } +} + +//Function Number: 98 +tag_project_player(param_00) +{ + var_01 = self geteye(); + var_02 = self getplayerangles(); + var_03 = anglestoforward(var_02); + var_03 = vectornormalize(var_03) * param_00; + return var_01 + var_03; +} \ No newline at end of file diff --git a/AW/PC/maps/crash_lighting.gsc b/AW/PC/maps/crash_lighting.gsc new file mode 100644 index 0000000..fc4861c --- /dev/null +++ b/AW/PC/maps/crash_lighting.gsc @@ -0,0 +1,478 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: crash_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 30 + * Decompile Time: 464 ms + * Timestamp: 4/22/2024 2:27:17 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + thread crash_dof_presets(); + thread setup_crash_flicker_presets(); + thread setup_crash_light_motions(); + thread crash_set_level_lighting_values(); + thread crash_lighting_skyjack_setup(); + thread crash_lighting_crash_site(); + thread crash_lighting_plane_fire(); + thread crash_lighting_crash_site_dof(); + thread crash_lighting_entry_dof(); + thread crash_lighting_drone_hall(); + thread crash_lighting_ice_caves_01(); + thread crash_lighting_goliath_dof(); + thread crash_lighting_post_goliath_fall(); + thread crash_lighting_ice_caves_02(); + thread ice_caves_02_trigger(); + thread ice_caves_03_trigger(); + thread crash_lighting_overlook(); + thread crash_overlook_trigger(); + thread crash_overlook_sunflare(); + thread crash_lighting_underground_lake(); + thread crash_lighting_lake_cinema(); +} + +//Function Number: 2 +crash_dof_presets() +{ + if(level.nextgen) + { + maps\_lighting::create_dof_preset("crash_skyjack_01",10,60,0.2,1000,8000,0.8,0.5); + maps\_lighting::create_dof_preset("crash_crash_site",10,60,0.2,9000,24000,1,0.5); + maps\_lighting::create_dof_preset("crash_site_entry",10,60,0.2,0,712,4.6,0.5); + maps\_lighting::create_dof_preset("crash_drone_hall",10,60,0.2,0,480,2,0.5); + maps\_lighting::create_dof_preset("crash_ice_caves_01",10,60,0.2,15,1500,2,0.5); + maps\_lighting::create_dof_preset("crash_goliath_fight",10,60,0.2,15,800,6.5,0.5); + maps\_lighting::create_dof_preset("crash_ice_caves_02",10,60,0.2,15,1800,2.48,0.5); + maps\_lighting::create_dof_preset("crash_overlook",10,60,0.2,0,3200,0.9,0.5); + maps\_lighting::create_dof_preset("crash_underground_lake",10,60,0.2,4562,28504,1.7,0.5); + maps\_lighting::create_dof_preset("crash_avalanche_01",10,60,0.2,0,1024,3,0.5); + maps\_lighting::create_dof_preset("crash_avalanche_02",10,60,0.2,9000,24000,1,0.5); + } +} + +//Function Number: 3 +setup_crash_flicker_presets() +{ + maps\_lighting::create_flickerlight_preset("engine_1",(1,0.85,0.58),(1,0.94,0.58),0.005,0.2,100000); + maps\_lighting::create_flickerlight_preset("engine_2",(1,0.85,0.58),(1,0.94,0.58),0.005,0.2,100000); + maps\_lighting::create_flickerlight_preset("plane_crash_fire",(1,0.29,0.29),(1,0.59,0.28),0.005,0.2,15000); + maps\_lighting::create_flickerlight_preset("plane_crash_fire_main",(1,0.29,0.29),(1,0.8,0.28),0.005,0.2,15000); + maps\_lighting::create_flickerlight_preset("big_cave_flare",(0.41,0.81,1),(0.41,1,0.94),0.005,0.15,2000); +} + +//Function Number: 4 +setup_crash_light_motions() +{ + maps\_lighting::create_flickerlight_motion_preset("firelight_motion_large_lake",(1,0.15,0),20000,20,0.05,0.22); + maps\_lighting::create_flickerlight_motion_preset("firelight_motion_large_lake_02",(1,0.25,0),30000,15,0.05,0.22); + maps\_lighting::create_flickerlight_motion_preset("fire_crash_site_plane",(1,0.25,0),300000,25,0.05,0.22); +} + +//Function Number: 5 +crash_set_level_lighting_values() +{ + if(isusinghdr()) + { + setsaveddvar("r_disableLightSets",0); + } + + if(level.nextgen) + { + setsaveddvar("r_hemiAoEnable",1); + } +} + +//Function Number: 6 +crash_lighting_skyjack_setup() +{ + common_scripts\utility::flag_wait("start_action"); + level.player lightsetforplayer("crash_skyjack"); + maps\_utility::vision_set_fog_changes("crash_skyjack",2); + level.player setclutforplayer("clut_crash_crash_site",2); + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","3"); + setsunflareposition((-2.3,-44.1,0)); + level.player enablephysicaldepthoffieldscripting(); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehSharpness",0.2); + } + + common_scripts\utility::flag_wait("crash_lighting_screen_dof"); + level.player setphysicaldepthoffield(9,6.5,1,1); + wait(6); + level.player disablephysicaldepthoffieldscripting(); +} + +//Function Number: 7 +crash_lighting_engine_lighting() +{ + level endon("begin_crash_site_lighting"); + maps\_lighting::play_flickerlight_preset("engine_1","light_engine_01",900000); + maps\_lighting::play_flickerlight_preset("engine_2","light_engine_02",900000); +} + +//Function Number: 8 +crash_lighting_crash_site() +{ + common_scripts\utility::flag_wait("begin_crash_site_lighting"); + setsunflareposition((-10.08,-87.9,0)); + level.player lightsetforplayer("crash_hud"); + maps\_utility::vision_set_fog_changes("crash_skyjack",3); + if(level.start_point == "crash_site") + { + level.player setclutforplayer("clut_crash_crash_site",2); + maps\_utility::vision_set_fog_changes("crash_crash_site_cinematic",2); + level.player lightsetforplayer("crash_crash_site"); + } + + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","2"); + level.player enablephysicaldepthoffieldscripting(); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehSharpness",0.2); + } + + level.player setphysicaldepthoffield(6,50,1,1); + common_scripts\utility::flag_wait("crash_dof_fly_in"); + wait(9); + level.player setphysicaldepthoffield(3.7,45,6,6); + wait(11); + maps\_lighting::lerp_spot_intensity("crash_crash_site_rim_1",2,0); + wait(1); + level.player setphysicaldepthoffield(2.26,80,1,1); + common_scripts\utility::flag_wait("crash_lighting_cinema_end"); + level.player disablephysicaldepthoffieldscripting(); + setsaveddvar("r_dof_physical_bokehenable",0); + maps\_lighting::lerp_spot_intensity("crash_crash_site_key_1",1,0); + maps\_lighting::lerp_spot_intensity("crash_crash_site_fill_1",1,0); + setsaveddvar("r_mbEnable","0"); + maps\_utility::vision_set_fog_changes("crash_crash_site",4); +} + +//Function Number: 9 +crash_lighting_plane_fire() +{ + common_scripts\utility::flag_wait("crash_dof_fly_in"); + wait(7); + maps\_lighting::play_flickerlight_motion_preset("fire_crash_site_plane","fire_plane_crash"); +} + +//Function Number: 10 +crash_lighting_crash_site_dof() +{ + common_scripts\utility::flag_wait("lighting_loading_cargo"); + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","2"); + setsaveddvar("r_dof_physical_bokehenable",1); + level.player enablephysicaldepthoffieldscripting(); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehSharpness",0.2); + } + + level.player setphysicaldepthoffield(5.6,25.8,1,1); + common_scripts\utility::flag_wait("lighting_razorback_loaded"); + wait(2); + setsaveddvar("r_mbEnable","0"); + level.player disablephysicaldepthoffieldscripting(); + setsaveddvar("r_dof_physical_bokehenable",0); +} + +//Function Number: 11 +crash_lighting_entry() +{ + common_scripts\utility::flag_wait("csh_lighting_entry_debug"); + setsunflareposition((-10.08,-87.9,0)); + level.player lightsetforplayer("crash_crash_site"); + maps\_utility::vision_set_fog_changes("crash_crash_site",0); + level.player setclutforplayer("clut_crash_crash_site",0); + setsaveddvar("r_dof_physical_bokehenable",0); +} + +//Function Number: 12 +crash_lighting_entry_dof() +{ + common_scripts\utility::flag_wait("cave_entry_anim_start"); + wait(0.25); + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","5"); + maps\_lighting::stop_flickerlight("fire_crash_site_plane","fire_plane_crash",0); + setsaveddvar("r_dof_physical_bokehenable",1); + level.player enablephysicaldepthoffieldscripting(); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehSharpness",0.2); + } + + level.player setphysicaldepthoffield(0.75,51,2,2); + wait(3); + level.player setphysicaldepthoffield(0.3,20,2,2); +} + +//Function Number: 13 +crash_lighting_drone_hall() +{ + common_scripts\utility::flag_wait("csh_lighting_ice_caves_transition"); + level.player lightsetforplayer("crash_prometheus"); + maps\_utility::vision_set_fog_changes("crash_ice_caves_prometheus",2); + level.player setclutforplayer("clut_crash_prometheus",2); + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","2"); + thread crash_lighting_entry_dof_scripted(); +} + +//Function Number: 14 +crash_lighting_entry_dof_scripted() +{ + common_scripts\utility::flag_wait("blur_player_vision"); + setsaveddvar("r_dof_physical_bokehenable",1); + if(level.nextgen) + { + level.player enablephysicaldepthoffieldscripting(); + setsaveddvar("r_dof_physical_bokehSharpness",0.2); + } + + wait(1); + level.player setphysicaldepthoffield(0.41,24,1,1); + wait(5); + maps\_utility::vision_set_fog_changes("crash_ice_caves_prometheus",5); + level.player setphysicaldepthoffield(1.6,47,3,3); + wait(1); + level.player disablephysicaldepthoffieldscripting(); + setsaveddvar("r_dof_physical_bokehenable",0); +} + +//Function Number: 15 +crash_lighting_ice_caves_01() +{ + common_scripts\utility::flag_wait("csh_lighting_ice_caves_01"); + level.player lightsetforplayer("crash_ice_caves_01"); + maps\_utility::vision_set_fog_changes("crash_ice_caves_01",4); + level.player setclutforplayer("clut_crash_ice_caves",4); + thread crash_lighting_ice_caves_01_flare(); + setsaveddvar("r_mbEnable","0"); + setsaveddvar("r_dof_physical_bokehenable",0); +} + +//Function Number: 16 +crash_lighting_ice_caves_01_flare() +{ + maps\_lighting::play_flickerlight_preset("big_cave_flare","lighting_big_cave_flare",9000); +} + +//Function Number: 17 +crash_lighting_goliath_dof() +{ + common_scripts\utility::flag_wait("goliath_change_anim"); + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","2"); + setsaveddvar("r_dof_physical_bokehenable",1); + level.player enablephysicaldepthoffieldscripting(); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehSharpness",0.2); + } + + level.player setphysicaldepthoffield(10.9,17.15,1,1); + wait(7); + level.player disablephysicaldepthoffieldscripting(); +} + +//Function Number: 18 +crash_lighting_post_goliath_fall() +{ + common_scripts\utility::flag_wait("csh_lighting_post_goliath_fall"); + maps\_lighting::stop_flickerlight("big_cave_flare","lighting_big_cave_flare",0); + level.player lightsetforplayer("crash_post_goliath"); + maps\_utility::vision_set_fog_changes("crash_post_goliath",3); + level.player setclutforplayer("clut_crash_ice_caves",4); + level.visionset_default = "crash_post_goliath"; + setsaveddvar("r_dof_physical_hipenable",0); + level.player enablephysicaldepthoffieldscripting(); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehSharpness",0.2); + } + + level.player setphysicaldepthoffield(1.1,68,1,1); + common_scripts\utility::flag_wait("crash_lighting_goliath_pit"); + level.player disablephysicaldepthoffieldscripting(); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehenable",0); + } +} + +//Function Number: 19 +crash_lighting_ice_caves_02() +{ + common_scripts\utility::flag_wait("csh_lighting_ice_caves_02"); + setsunflareposition((-27,-116,0)); + setsaveddvar("r_mbEnable","0"); + level.lightset_previous = "crash_ice_caves_02"; + level.visionset_default = "crash_ice_caves_02"; + maps\_lighting::stop_flickerlight("goliath_flare_flash","goliath_suit_flicker",8000); + setsaveddvar("r_dof_physical_bokehenable",1); +} + +//Function Number: 20 +ice_caves_02_trigger() +{ + common_scripts\utility::run_thread_on_targetname("ice_caves_02_sets",::ice_caves_02_sets); +} + +//Function Number: 21 +ice_caves_02_sets() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("crash_ice_caves_02"); + maps\_utility::vision_set_fog_changes("crash_ice_caves_02",2); + level.player setclutforplayer("clut_crash_overlook",2); + setsaveddvar("r_mbEnable","0"); + while(level.player istouching(self)) + { + wait(0.1); + } + } +} + +//Function Number: 22 +ice_caves_03_trigger() +{ + common_scripts\utility::run_thread_on_targetname("ice_caves_03_sets",::ice_caves_03_sets); +} + +//Function Number: 23 +ice_caves_03_sets() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("crash_ice_caves_03"); + maps\_utility::vision_set_fog_changes("crash_ice_caves_02_ground_fog",2); + level.player setclutforplayer("clut_crash_overlook",2); + setsaveddvar("r_mbEnable","0"); + while(level.player istouching(self)) + { + wait(0.1); + } + } +} + +//Function Number: 24 +crash_lighting_overlook() +{ + common_scripts\utility::flag_wait("csh_lighting_overlook"); + level.player lightsetforplayer("crash_overlook"); + maps\_utility::vision_set_fog_changes("crash_overlook",2); + level.player setclutforplayer("clut_crash_overlook",2); + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","1"); + setsaveddvar("r_dof_physical_bokehenable",0); +} + +//Function Number: 25 +crash_overlook_trigger() +{ + common_scripts\utility::run_thread_on_targetname("ice_overlook_sets",::ice_overlook_sets); +} + +//Function Number: 26 +ice_overlook_sets() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("crash_overlook"); + maps\_utility::vision_set_fog_changes("crash_overlook",2); + level.player setclutforplayer("clut_crash_overlook",2); + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","1"); + while(level.player istouching(self)) + { + wait(0.1); + } + } +} + +//Function Number: 27 +crash_overlook_sunflare() +{ + common_scripts\utility::run_thread_on_targetname("crash_overlook_sunflare",::crash_overlook_trigger_sunflare); +} + +//Function Number: 28 +crash_overlook_trigger_sunflare() +{ + for(;;) + { + self waittill("trigger"); + setsunflareposition((-13.9,-125.7,0)); + while(level.player istouching(self)) + { + wait(0.1); + } + } +} + +//Function Number: 29 +crash_lighting_underground_lake() +{ + common_scripts\utility::flag_wait("csh_lighting_overlook_exit"); + level.player lightsetforplayer("crash_avalanche"); + maps\_utility::vision_set_fog_changes("crash_avalanche",2); + level.player setclutforplayer("clut_crash_overlook",2); + setsaveddvar("r_mbEnable","0"); + setsunflareposition((-10.39,-112.7,0)); + maps\_lighting::play_flickerlight_motion_preset("firelight_motion_large_lake","fire_razorback_lake"); + maps\_lighting::play_flickerlight_motion_preset("firelight_motion_large_lake_02","fire_razorback_lake_02"); + setsaveddvar("r_dof_physical_bokehenable",0); +} + +//Function Number: 30 +crash_lighting_lake_cinema() +{ + common_scripts\utility::flag_wait("lake_underwater_lighting"); + wait(2); + level.player maps\_utility::vision_set_fog_changes("crash_lake_underwater",2); + level.player setclutforplayer("clut_crash_underwater",2); + level.player lightsetforplayer("crash_lake_fallin_02"); + setsunflareposition((-31,-169,0)); + level.player enablephysicaldepthoffieldscripting(); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehSharpness",0.2); + } + + level.player setphysicaldepthoffield(4.32,40.9,1,1); + common_scripts\utility::flag_wait("go_lighting_gideon"); + level.player lightsetforplayer("crash_avalanche"); + maps\_utility::vision_set_fog_changes("crash_avalanche_cinematic",2); + setsunflareposition((-10.39,-112.7,0)); + level.player setclutforplayer("clut_crash_overlook",2); + setsaveddvar("r_mbEnable","0"); + wait(2); + setsaveddvar("r_dof_physical_bokehenable",1); + level.player enablephysicaldepthoffieldscripting(); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehSharpness",0.2); + } + + wait(3.5); + level.player setphysicaldepthoffield(2,86,1,1); + common_scripts\utility::flag_wait("gideon_lighting_unlock"); + level.player disablephysicaldepthoffieldscripting(); + wait(15); + maps\_lighting::lerp_spot_intensity("crash_lake_cinema_cormack_rim",3,0); + wait(16); + maps\_lighting::lerp_spot_intensity("crash_lake_cinema_cormack_key",3,0); + maps\_utility::vision_set_fog_changes("crash_avalanche",4); +} \ No newline at end of file diff --git a/AW/PC/maps/crash_precache.gsc b/AW/PC/maps/crash_precache.gsc new file mode 100644 index 0000000..cf92929 --- /dev/null +++ b/AW/PC/maps/crash_precache.gsc @@ -0,0 +1,21 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: crash_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:27:18 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + vehicle_scripts\_littlebird::main("vehicle_mil_helicopter_littlebird_ai",undefined,"script_vehicle_littlebird_sentinel"); + vehicle_scripts\_pdrone::main("vehicle_atlas_assault_drone_large",undefined,"script_vehicle_pdrone_atlas_large"); + vehicle_scripts\_razorback::main("vehicle_razorback",undefined,"script_vehicle_razorback_simple"); + vehicle_scripts\_walker_tank::main("vehicle_walker_tank",undefined,"script_vehicle_walker_tank"); + vehicle_scripts\_x4walker_wheels::main("vehicle_x4walker_wheels",undefined,"script_vehicle_x4walker_wheels"); + vehicle_scripts\_xh9_warbird::main("vehicle_xh9_warbird",undefined,"script_vehicle_xh9_warbird"); + vehicle_scripts\_xh9_warbird::main("vehicle_xh9_warbird_low",undefined,"script_vehicle_xh9_warbird_cheap"); +} \ No newline at end of file diff --git a/AW/PC/maps/crash_skyjack.gsc b/AW/PC/maps/crash_skyjack.gsc new file mode 100644 index 0000000..548e3ac --- /dev/null +++ b/AW/PC/maps/crash_skyjack.gsc @@ -0,0 +1,942 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: crash_skyjack.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 31 + * Decompile Time: 491 ms + * Timestamp: 4/22/2024 2:27:19 AM +*******************************************************************/ + +//Function Number: 1 +precache_skyjack() +{ + common_scripts\utility::flag_init("display_chyron"); + common_scripts\utility::flag_init("crash_lighting_screen_dof"); + common_scripts\utility::flag_init("start_fade_in"); + common_scripts\utility::flag_init("start_action"); + common_scripts\utility::flag_init("player_fly"); + common_scripts\utility::flag_init("stop_player_fly"); + common_scripts\utility::flag_init("start_skyjack_temperature"); + common_scripts\utility::flag_init("skyjack_explosion"); + common_scripts\utility::flag_init("skyjack_explosion_lighting"); + common_scripts\utility::flag_init("actual_explosion"); + common_scripts\utility::flag_init("white_fade_done"); + common_scripts\utility::flag_init("white_fade_start"); + common_scripts\utility::flag_init("skyjack_done"); + common_scripts\utility::flag_init("player_landed_on_plane"); + common_scripts\utility::flag_init("start_clouds_again"); + common_scripts\utility::flag_init("skyjack_white_fade_done"); + common_scripts\utility::flag_init("skyjack_end_heavy_clouds"); + common_scripts\utility::flag_init("start_hud"); + precachemodel("viewbody_sentinel_arctic_mitchell"); + precachemodel("worldhands_sentinel_arctic_mitchell"); + precacheitem("s1_unarmed"); + precachemodel("laser_explosive_crate"); + precachemodel("laser_explosive_crate_obj"); + precachemodel("vehicle_skyjack_drone_pod_ai"); + precachemodel("vehicle_skyjack_drone_pod_parachute_large"); + precachemodel("vehicle_skyjack_drone_pod_parachutes_mini"); + precachemodel("csh_skyjack_drone_cables"); + precachemodel("atlas_vtol_cargo_plane_ext_dstrypv"); + precachemodel("vfx_metal_scrap_debris_01"); + precachemodel("vfx_metal_scrap_debris_03"); + precachemodel("vfx_metal_scrap_debris_10"); + precachemodel("body_hero_cormack_sentinel_halo_jetpack"); + precachemodel("body_hero_cormack_sentinel_halo"); + precachemodel("jetpack_sentinel_halo"); + precacherumble("steady_rumble"); + precacheshader("fullscreen_dirt_left"); + precacheshader("jump_hud_vignette"); + precachestring(&"CRASH_SKYJACK_CHARGES"); + precachestring(&"CRASH_SKYJACK_CHARGES_KEYBOARD"); + precachestring(&"CRASH_FAIL_PLANE_FALL"); + jetpack_fly_setup(); + mag_glove_precache(); + setup_mag_glove_anims(); + level.cosine = []; + level.cosine["45"] = cos(45); +} + +//Function Number: 2 +debug_start_skyjack() +{ + maps\crash::set_completed_flags(); + maps\crash_utility::setup_player(); + maps\crash_utility::setup_allies(); + thread maps\crash::objective_init(); +} + +//Function Number: 3 +crash_introscreen() +{ + level.player freezecontrols(1); + var_00 = newclienthudelem(level.player); + var_00 setshader("black",1280,720); + var_00.horzalign = "fullscreen"; + var_00.vertalign = "fullscreen"; + var_00.alpha = 1; + var_00.foreground = 0; + setsaveddvar("cg_cinematicfullscreen","1"); + cinematicingame("chyron_text_crash"); + wait(1); + while(iscinematicplaying()) + { + wait(0.05); + } + + common_scripts\utility::flag_set("display_chyron"); + level.player thread maps\_hud_util::fade_out(0.05,"black"); + level.player freezecontrols(1); + wait(0.5); + var_00.alpha = 0; + var_00 destroy(); +} + +//Function Number: 4 +begin_skyjack() +{ + thread maps\_high_speed_clouds::cloudfastinit("none",(180,0,0)); + level.skyjack_animnode = common_scripts\utility::getstruct("skyjack_animnode","targetname"); + thread skyjack_player(); + level.player disableweapons(); + level.player freezecontrols(1); + thread maps\_shg_utility::play_chyron_video("chyron_text_crash",undefined,1); + common_scripts\utility::flag_wait("chyron_video_done"); + level.player thread maps\_hud_util::fade_out(0.05,"black"); + maps\_utility::battlechatter_off("allies"); + maps\_utility::battlechatter_off("axis"); + var_00 = getent("skyjack_fall_trigger","targetname"); + var_00 common_scripts\utility::trigger_off(); + maps\_utility::vision_set_fog_changes("crash_skyjack_heavy_fog",0); + level.cormack thread skyjack_cormack(); + thread skyjack_drone_pod(); + thread skyjack_charges(); + thread skyjack_plane(); + thread skyjack_objective(); + soundscripts\_snd::snd_message("intro_skyjack_black"); + thread skyjack_player_fall(); + thread skyjack_dialogue(); + maps\_utility::smart_radio_dialogue("crsh_crmk_breath3"); + level thread maps\_high_speed_clouds::cloudfastheavy(0.1); + wait(0.4); + thread cloudrandomizer(); + thread maps\crash_fx::skyjack_plane_contrails(); + maps\_utility::smart_radio_dialogue("crsh_crmk_finalapproach"); + wait(0.2); + maps\_utility::smart_radio_dialogue("crsh_so_primeobj"); + wait(0.4); + soundscripts\_snd::snd_message("intro_skyjack_fade_in"); + level.player thread maps\_hud_util::fade_in(1,"black"); + level.player freezecontrols(0); + thread maps\crash_utility::fly_in_hud(); + common_scripts\utility::flag_set("start_action"); + common_scripts\utility::flag_wait("actual_explosion"); + level.player thread maps\crash_exo_temperature::set_external_temperature_over_time(46,1); + wait(2.75); + level.player thread maps\crash_exo_temperature::set_external_temperature_over_time(level.temperature_high_alt,3.8); + common_scripts\utility::flag_wait("skyjack_done"); + level.player thread maps\crash_exo_temperature::deactivate_heater(); + level.player pushplayervector((0,0,0),0); +} + +//Function Number: 5 +skyjack_plane() +{ + var_00 = getent("skyjack_cargo_plane","targetname"); + var_00.animname = "cargo_plane"; + var_00 maps\_anim::setanimtree(); + level.skyjack_plane = var_00; + level.skyjack_animnode thread maps\_anim::anim_loop_solo(var_00,"skyjack_loop_plane","stop_plane"); + level.skyjack_plane thread maps\crash_fx::skyjack_atlas_jet_fx(); + common_scripts\utility::flag_wait("skyjack_explosion"); + thread skyjack_plane_debris(); + level.skyjack_animnode thread maps\_anim::anim_single_solo(var_00,"skyjack_explosion_plane"); + var_00 waittillmatch("begin_explosion","single anim"); + var_00 setmodel("atlas_vtol_cargo_plane_ext_dstrypv"); + thread maps\crash_fx::skyjack_wing_explosion(); + common_scripts\utility::flag_set("actual_explosion"); + wait(3); + if(level.nextgen) + { + common_scripts\utility::flag_wait("skyjack_done"); + } + else + { + level waittill("tff_pre_sky_to_site"); + } + + var_00 delete(); +} + +//Function Number: 6 +skyjack_plane_debris() +{ + var_00 = maps\_utility::spawn_anim_model("plane_debris"); + level.skyjack_animnode maps\_anim::anim_first_frame_solo(var_00,"skyjack_explosion_debris"); + var_01 = spawn("script_model",var_00 gettagorigin("j_prop_1")); + var_02 = spawn("script_model",var_00 gettagorigin("j_prop_2")); + var_03 = spawn("script_model",var_00 gettagorigin("j_prop_3")); + var_01 setmodel("vfx_metal_scrap_debris_01"); + var_02 setmodel("vfx_metal_scrap_debris_03"); + var_03 setmodel("vfx_metal_scrap_debris_10"); + var_01.angles = var_00 gettagangles("j_prop_1"); + var_02.angles = var_00 gettagangles("j_prop_2"); + var_03.angles = var_00 gettagangles("j_prop_3"); + var_01 linkto(var_00,"j_prop_1"); + var_02 linkto(var_00,"j_prop_2"); + var_03 linkto(var_00,"j_prop_3"); + level.skyjack_animnode maps\_anim::anim_single_solo(var_00,"skyjack_explosion_debris"); + var_01 delete(); + var_02 delete(); + var_03 delete(); + var_00 delete(); +} + +//Function Number: 7 +skyjack_charges() +{ + var_00 = maps\_utility::spawn_anim_model("explosive"); + var_00 notsolid(); + level.skyjack_animnode thread maps\_anim::anim_first_frame_solo(var_00,"skyjack_setcharge_explosive"); + var_00 hide(); + common_scripts\utility::flag_wait("skyjack_explosion"); + common_scripts\utility::flag_set("obj_end_plant_charges"); + level notify("charges_planted"); + level.skyjack_animnode thread maps\_anim::anim_single_solo(var_00,"skyjack_setcharge_explosive"); + var_00 thread maps\crash_fx::skyjack_charge_fx(); + wait(0.5); + var_00 show(); + common_scripts\utility::flag_wait("actual_explosion"); + var_00 delete(); +} + +//Function Number: 8 +skyjack_player() +{ + level.player allowprone(0); + level.player allowcrouch(0); + level.player allowjump(0); + level.player_weapons = level.player maps\_utility::get_storable_weapons_list_all(); + level.player takeallweapons(); + level.player giveweapon("s1_unarmed"); + level.player switchtoweaponimmediate("s1_unarmed"); + level.player disableweaponswitch(); + var_00 = maps\_utility::spawn_anim_model("rig"); + var_01 = maps\_utility::spawn_anim_model("rig"); + level.skyjack_animnode thread maps\_anim::anim_first_frame_solo(var_01,"skyjack_wingland_player"); + var_01 hide(); + level.skyjack_animnode thread maps\_anim::anim_first_frame_solo(var_00,"skyjack_wingland_player"); + level.player playerlinktodelta(var_00,"tag_player",1,0,0,0,0,1); + common_scripts\utility::flag_wait("start_action"); + level.player lerpviewangleclamp(1,0.5,0.5,10,10,5,10); + level.skyjack_animnode thread maps\_anim::anim_single_solo(var_01,"skyjack_wingland_player"); + level.skyjack_animnode thread maps\_anim::anim_single_solo(var_00,"skyjack_wingland_player"); + var_00 setanim(%crash_skyjack_wingland_player_l,0.01,0); + var_00 setanim(%crash_skyjack_wingland_player_r,0.01,0); + var_01 waittillmatch("start_player_control","single anim"); + thread jetpack_fly_input_monitor(); + thread jetpack_fly_play_anims(var_00); + var_01 waittillmatch("end_player_control","single anim"); + level.player notify("lose_fly_controls"); + var_00 setanim(%crash_skyjack_wingland_player,1,3); + var_00 setanim(%crash_skyjack_wingland_player_l,0.01,3); + var_00 setanim(%crash_skyjack_wingland_player_r,0.01,3); + var_01 waittillmatch("end","single anim"); + var_01 delete(); + common_scripts\utility::flag_set("player_landed_on_plane"); + var_02 = getent("skyjack_fall_trigger","targetname"); + var_02 common_scripts\utility::trigger_on(); + level.player allowmelee(0); + level.player allowsprint(0); + level.player allowads(0); + level.player enableweapons(); + level.player thread mag_glove_player_mount(var_00); + var_03 = getent("skyjack_charge_trigger","targetname"); + var_03 maps\_utility::addhinttrigger(&"CRASH_SKYJACK_CHARGES",&"CRASH_SKYJACK_CHARGES_KEYBOARD"); + var_04 = getent("charge_objective","targetname"); + maps\player_scripted_anim_util::waittill_trigger_activate_looking_at(var_03,var_04,cos(40),0,1,level.exo_climb_ground_ref_ent); + stop_player_mag_gloves(); + var_05 = common_scripts\utility::spawn_tag_origin(); + var_05.origin = var_00.origin; + var_05.angles = var_00.angles; + var_05 dontinterpolate(); + var_00 linkto(var_05,"tag_origin"); + var_05 moveto(getstartorigin(level.skyjack_animnode.origin,level.skyjack_animnode.angles,maps\_utility::getanim_from_animname("skyjack_explosion_player","rig")),0.5,0.25,0.25); + var_05 rotateto(getstartangles(level.skyjack_animnode.origin,level.skyjack_animnode.angles,maps\_utility::getanim_from_animname("skyjack_explosion_player","rig")),0.5,0.25,0.25); + wait(0.5); + var_00 unlink(); + var_05 delete(); + var_00.animname = "rig"; + var_00 maps\_utility::assign_animtree(); + common_scripts\utility::flag_set("skyjack_explosion"); + common_scripts\utility::flag_set("skyjack_explosion_lighting"); + var_02 delete(); + level.skyjack_animnode thread maps\_anim::anim_single_solo(var_00,"skyjack_explosion_player"); + level.player disableweapons(); + level.player lerpviewangleclamp(1,0.5,0.5,0,0,0,0); + wait(0.5); + wait(15.75); + level.player playrumbleonentity("heavy_1s"); + wait(2.05); + level.player playrumbleonentity("heavy_1s"); + wait(1.1); + level.player playrumbleonentity("heavy_1s"); + level.player thread play_fullscreen_dirt(3,0,2,0.85,0,0); + var_00 waittillmatch("player_control","single anim"); + level.player lerpviewangleclamp(0.5,0.25,0.25,20,20,5,25); + thread maps\_high_speed_clouds::cloudsunreset(); + var_00 waittillmatch("no_control","single anim"); + level.player lerpviewangleclamp(1,0.25,0,0,0,0,0); + var_00 waittillmatch("end","single anim"); + common_scripts\utility::flag_wait("skyjack_done"); + wait(1); + var_00 delete(); +} + +//Function Number: 9 +skyjack_player_fall() +{ + level endon("skyjack_explosion"); + common_scripts\utility::flag_wait("skyjack_fall"); + setdvar("ui_deadquote",&"CRASH_FAIL_PLANE_FALL"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 10 +skyjack_cormack() +{ + maps\_utility::gun_remove(); + maps\_utility::disable_ai_color(); + playfxontag(common_scripts\utility::getfx("jetpack_skyjack_trail"),level.cormack,"tag_fx_engine_l_exhause"); + playfxontag(common_scripts\utility::getfx("jetpack_skyjack_trail"),level.cormack,"tag_fx_engine_r_exhause"); + wait(0.2); + playfxontag(common_scripts\utility::getfx("jetpack_exhaust_exhaust_npc"),level.cormack,"tag_fx_engine_l_exhause"); + playfxontag(common_scripts\utility::getfx("jetpack_exhaust_exhaust_npc"),level.cormack,"tag_fx_engine_r_exhause"); + level.skyjack_animnode maps\_anim::anim_first_frame_solo(self,"skyjack_intro_cormack"); + var_00 = common_scripts\utility::spawn_tag_origin(); + self linkto(var_00,"tag_origin"); + common_scripts\utility::flag_wait("start_action"); + level.skyjack_animnode thread maps\_anim::anim_single_solo(self,"skyjack_intro_cormack"); + self waittillmatch("jets_off","single anim"); + stopfxontag(common_scripts\utility::getfx("jetpack_exhaust_exhaust_npc"),level.cormack,"tag_fx_engine_l_exhause"); + stopfxontag(common_scripts\utility::getfx("jetpack_skyjack_trail"),level.cormack,"tag_fx_engine_l_exhause"); + stopfxontag(common_scripts\utility::getfx("jetpack_exhaust_exhaust_npc"),level.cormack,"tag_fx_engine_r_exhause"); + stopfxontag(common_scripts\utility::getfx("jetpack_skyjack_trail"),level.cormack,"tag_fx_engine_r_exhause"); + while(!common_scripts\utility::flag("skyjack_explosion") && self getanimtime(maps\_utility::getanim("skyjack_intro_cormack")) < 0.99) + { + wait(0.05); + } + + if(!common_scripts\utility::flag("skyjack_explosion")) + { + level.skyjack_animnode thread maps\_anim::anim_loop_solo(self,"skyjack_loop_cormack","stop_cormack_loop"); + } + + common_scripts\utility::flag_wait("skyjack_explosion"); + level.skyjack_animnode notify("stop_cormack_loop"); + level.skyjack_animnode thread maps\_anim::anim_single_solo(self,"skyjack_explosion_cormack"); + self waittillmatch("jets_on","single anim"); + playfxontag(common_scripts\utility::getfx("jetpack_exhaust_exhaust_npc"),level.cormack,"tag_fx_engine_l_exhause"); + playfxontag(common_scripts\utility::getfx("jetpack_skyjack_trail"),level.cormack,"tag_fx_engine_l_exhause"); + playfxontag(common_scripts\utility::getfx("jetpack_exhaust_exhaust_npc"),level.cormack,"tag_fx_engine_r_exhause"); + playfxontag(common_scripts\utility::getfx("jetpack_skyjack_trail"),level.cormack,"tag_fx_engine_r_exhause"); + self waittillmatch("vo_kingpin1","single anim"); + thread maps\_utility::smart_radio_dialogue("crsh_crmk_readytoreceived"); + self waittillmatch("vo_ilona1","single anim"); + thread maps\_utility::smart_radio_dialogue("crsh_crmk_droneguidance"); + common_scripts\utility::flag_set("skyjack_end_heavy_clouds"); + self waittillmatch("vo_kingpin2","single anim"); + thread maps\_utility::smart_radio_dialogue("crsh_kp_orbital"); + common_scripts\utility::flag_set("white_fade_start"); + self waittillmatch("end","single anim"); + stopfxontag(common_scripts\utility::getfx("jetpack_exhaust_exhaust_npc"),level.cormack,"tag_fx_engine_l_exhause"); + stopfxontag(common_scripts\utility::getfx("jetpack_skyjack_trail"),level.cormack,"tag_fx_engine_l_exhause"); + stopfxontag(common_scripts\utility::getfx("jetpack_exhaust_exhaust_npc"),level.cormack,"tag_fx_engine_r_exhause"); + stopfxontag(common_scripts\utility::getfx("jetpack_skyjack_trail"),level.cormack,"tag_fx_engine_r_exhause"); + common_scripts\utility::flag_set("skyjack_white_fade_done"); + common_scripts\utility::flag_set("skyjack_done"); + self unlink(); +} + +//Function Number: 11 +skyjack_drone_pod() +{ + level.drone_pod = maps\_utility::spawn_anim_model("drone_pod"); + wait 0.05; + level.drone_pod thread maps\crash_fx::skyjack_drone_fx(); + common_scripts\utility::flag_wait("start_action"); + level.skyjack_animnode thread maps\_anim::anim_single_solo(level.drone_pod,"skyjack_intro_drone"); + level.drone_pod waittillmatch("end","single anim"); + level.skyjack_animnode thread maps\_anim::anim_loop_solo(level.drone_pod,"skyjack_loop_drone","stop_drone_loop"); + common_scripts\utility::flag_wait("skyjack_explosion"); + level.skyjack_animnode notify("stop_drone_loop"); + var_00 = []; + var_00[0] = level.drone_pod; + var_00[1] = maps\_utility::spawn_anim_model("drone_chute1"); + var_00[2] = maps\_utility::spawn_anim_model("drone_chute2"); + var_00[3] = maps\_utility::spawn_anim_model("drone_chute3"); + var_00[4] = maps\_utility::spawn_anim_model("drone_cable"); + var_00[5] = maps\_utility::spawn_anim_model("mini_chutes"); + level.skyjack_animnode thread maps\_anim::anim_single(var_00,"skyjack_explosion_drone"); + level.mini_chutes = var_00[5]; + var_00[0] waittillmatch("jets_on","single anim"); + var_00[0] waittillmatch("end","single anim"); + common_scripts\utility::flag_wait("skyjack_done"); + wait(0.2); + foreach(var_02 in var_00) + { + var_02 delete(); + } +} + +//Function Number: 12 +mini_chute_hide(param_00) +{ + level.mini_chutes hide(); +} + +//Function Number: 13 +skyjack_dialogue() +{ + common_scripts\utility::flag_wait("player_landed_on_plane"); + wait(1); + maps\_utility::smart_radio_dialogue("crsh_crmk_watchwinds"); + wait(1.5); + maps\_utility::smart_radio_dialogue("crsh_crmk_setcharge1"); + common_scripts\utility::flag_set("obj_start_plant_charges"); + thread skyjack_charges_nag_vo(); + common_scripts\utility::flag_wait("skyjack_explosion"); + wait(1.25); + maps\_utility::smart_radio_dialogue("crsh_crmk_settingcharge"); +} + +//Function Number: 14 +skyjack_objective() +{ + var_00 = maps\_utility::spawn_anim_model("explosive"); + var_00 setmodel("laser_explosive_crate_obj"); + var_00 notsolid(); + level.skyjack_animnode thread maps\_anim::anim_single_solo(var_00,"skyjack_setcharge_explosive"); + wait 0.05; + var_00 setanimtime(var_00 maps\_utility::getanim("skyjack_setcharge_explosive"),0.225); + var_00 setanimrate(var_00 maps\_utility::getanim("skyjack_setcharge_explosive"),0); + var_00 hide(); + common_scripts\utility::flag_wait("obj_start_plant_charges"); + var_00 show(); + common_scripts\utility::flag_wait("skyjack_explosion"); + var_00 delete(); +} + +//Function Number: 15 +skyjack_charges_nag_vo() +{ + if(common_scripts\utility::flag("skyjack_explosion")) + { + return; + } + + level endon("charges_planted"); + level endon("skyjack_explosion"); + wait(25); + var_00 = maps\_utility::make_array("crsh_crmk_setcharge2","crsh_crmk_getchargeset"); + var_01 = -1; + for(;;) + { + var_02 = randomint(var_00.size); + if(var_02 == var_01) + { + var_02++; + if(var_02 >= var_00.size) + { + var_02 = 0; + } + } + + var_03 = var_00[var_02]; + maps\_utility::smart_radio_dialogue(var_03); + wait(35); + var_01 = var_02; + wait 0.05; + } +} + +//Function Number: 16 +play_fullscreen_dirt(param_00,param_01,param_02,param_03,param_04,param_05) +{ + var_06 = newclienthudelem(self); + var_06.x = param_04; + var_06.y = param_05; + var_06 setshader("fullscreen_dirt_left",640,480); + var_06.splatter = 1; + var_06.alignx = "left"; + var_06.aligny = "top"; + var_06.sort = 1; + var_06.foreground = 0; + var_06.horzalign = "fullscreen"; + var_06.vertalign = "fullscreen"; + var_06.alpha = 0; + var_07 = 0; + if(!isdefined(param_01)) + { + param_01 = 1; + } + + if(!isdefined(param_02)) + { + param_02 = 1; + } + + if(!isdefined(param_03)) + { + param_03 = 1; + } + + var_08 = 0.05; + if(param_01 > 0) + { + var_09 = 0; + var_0A = param_03 / param_01 / var_08; + while(var_09 < param_03) + { + var_06.alpha = var_09; + var_09 = var_09 + var_0A; + wait(var_08); + } + } + + var_06.alpha = param_03; + wait(param_00 - param_01 + param_02); + if(param_02 > 0) + { + var_09 = param_03; + var_0B = param_03 / param_02 / var_08; + while(var_09 > 0) + { + var_06.alpha = var_09; + var_09 = var_09 - var_0B; + wait(var_08); + } + } + + var_06.alpha = 0; + var_06 destroy(); +} + +//Function Number: 17 +cloudrandomizer() +{ + var_00 = 10; + var_01 = 0; + common_scripts\utility::flag_wait("start_action"); + wait(7.5); + level thread maps\_high_speed_clouds::cloudfasteffectchange(1,1.5); + soundscripts\_snd::snd_message("exit_cloud",1.5); + if(common_scripts\utility::flag("start_skyjack_temperature")) + { + level.player thread maps\crash_exo_temperature::set_external_temperature_over_time(level.temperature_high_alt,1.5); + } + + wait(8); + while(!common_scripts\utility::flag("skyjack_explosion")) + { + wait(randomfloatrange(3.5,7)); + var_00 = randomintrange(5,9); + var_01 = randomfloatrange(0.25,2); + level thread maps\_high_speed_clouds::cloudfasteffectchange(var_00,var_01); + if(common_scripts\utility::flag("start_skyjack_temperature")) + { + level.player thread maps\crash_exo_temperature::set_external_temperature_over_time(level.temperature_high_alt_wind,clamp(var_01,1.5,3)); + } + + wait(randomfloatrange(1.5,4)); + var_00 = randomintrange(1,4); + var_01 = randomfloatrange(0.25,2); + level thread maps\_high_speed_clouds::cloudfasteffectchange(var_00,var_01); + if(common_scripts\utility::flag("start_skyjack_temperature")) + { + level.player thread maps\crash_exo_temperature::set_external_temperature_over_time(level.temperature_high_alt,clamp(var_01,1.5,4)); + } + } + + level thread maps\_high_speed_clouds::cloudfasteffectchange(0,1); + common_scripts\utility::flag_wait("start_clouds_again"); + level thread maps\_high_speed_clouds::cloudfasteffectchange(4,2); + common_scripts\utility::flag_wait("skyjack_end_heavy_clouds"); + level thread maps\_high_speed_clouds::cloudfasteffectchange(10,3.5); + soundscripts\_snd::snd_message("enter_cloud",3.5,10); + level.player thread maps\crash_exo_temperature::set_external_temperature_over_time(level.temperature_high_alt_wind,3.5); + maps\_utility::delaythread(2,::common_scripts\utility::flag_set,"start_hud"); + common_scripts\utility::flag_wait("white_fade_start"); + level.player maps\_utility::fog_set_changes("crash_skyjack_heavy_fog",3); + wait(8); +} + +//Function Number: 18 +jetpack_fly_setup() +{ + common_scripts\utility::flag_init("left_pressed"); + common_scripts\utility::flag_init("right_pressed"); +} + +//Function Number: 19 +jetpack_fly_input_monitor() +{ + level.player endon("death"); + level.player endon("lose_fly_controls"); + level endon("stop_player_fly"); + for(;;) + { + var_00 = level.player getnormalizedmovement(); + if(var_00[1] >= 0.35) + { + common_scripts\utility::flag_clear("left_pressed"); + common_scripts\utility::flag_set("right_pressed"); + } + else if(var_00[1] <= -0.35) + { + common_scripts\utility::flag_clear("right_pressed"); + common_scripts\utility::flag_set("left_pressed"); + } + else + { + common_scripts\utility::flag_clear("left_pressed"); + common_scripts\utility::flag_clear("right_pressed"); + } + + wait 0.05; + } +} + +//Function Number: 20 +jetpack_fly_play_anims(param_00) +{ + level.player endon("death"); + level.player endon("lose_fly_controls"); + level endon("stop_player_fly"); + var_01 = 2.25; + var_02 = 2.25; + for(;;) + { + if(common_scripts\utility::flag("left_pressed")) + { + param_00 setanim(%crash_skyjack_wingland_player_l,1,var_01); + param_00 setanim(%crash_skyjack_wingland_player,0.01,var_01); + param_00 setanim(%crash_skyjack_wingland_player_r,0.01,var_02); + common_scripts\utility::flag_waitopen("left_pressed"); + param_00 setanim(%crash_skyjack_wingland_player,1,var_02); + param_00 setanim(%crash_skyjack_wingland_player_l,0.01,var_02); + param_00 setanim(%crash_skyjack_wingland_player_r,0.01,var_02); + continue; + } + + if(common_scripts\utility::flag("right_pressed")) + { + param_00 setanim(%crash_skyjack_wingland_player_r,1,var_01); + param_00 setanim(%crash_skyjack_wingland_player,0.01,var_01); + param_00 setanim(%crash_skyjack_wingland_player_l,0.01,var_02); + common_scripts\utility::flag_waitopen("right_pressed"); + param_00 setanim(%crash_skyjack_wingland_player,1,var_02); + param_00 setanim(%crash_skyjack_wingland_player_r,0.01,var_02); + param_00 setanim(%crash_skyjack_wingland_player_l,0.01,var_02); + continue; + } + + common_scripts\utility::flag_wait_any("left_pressed","right_pressed"); + } +} + +//Function Number: 21 +mag_glove_precache() +{ + precacherumble("falling_land"); + precacherumble("damage_light"); +} + +//Function Number: 22 +setup_mag_glove_anims() +{ + level.scr_animtree["player_climb_rig"] = #animtree; + level.scr_model["player_climb_rig"] = "viewbody_sentinel_arctic_mitchell"; + level.scr_anim["player_climb_rig"]["idle_magnetic_gloves"][0] = %crash_skyjack_vm_exoclimb_mag_idle; + level.scr_anim["player_climb_rig"]["magnetic_u_0"] = %crash_skyjack_vm_exoclimb_mag_up_00; + level.scr_anim["player_climb_rig"]["magnetic_u_1"] = %crash_skyjack_vm_exoclimb_mag_up_01; + level.scr_anim["player_climb_rig"]["magnetic_u_2"] = %crash_skyjack_vm_exoclimb_mag_up_02; + level.scr_anim["player_climb_rig"]["magnetic_d_0"] = %crash_skyjack_vm_exoclimb_mag_down_00; + level.scr_anim["player_climb_rig"]["magnetic_d_1"] = %crash_skyjack_vm_exoclimb_mag_down_01; + level.scr_anim["player_climb_rig"]["magnetic_d_2"] = %crash_skyjack_vm_exoclimb_mag_down_02; + level.scr_anim["player_climb_rig"]["magnetic_l_0"] = %crash_skyjack_vm_exoclimb_mag_left_00; + level.scr_anim["player_climb_rig"]["magnetic_l_1"] = %crash_skyjack_vm_exoclimb_mag_left_01; + level.scr_anim["player_climb_rig"]["magnetic_l_2"] = %crash_skyjack_vm_exoclimb_mag_left_02; + level.scr_anim["player_climb_rig"]["magnetic_r_0"] = %crash_skyjack_vm_exoclimb_mag_right_00; + level.scr_anim["player_climb_rig"]["magnetic_r_1"] = %crash_skyjack_vm_exoclimb_mag_right_01; + level.scr_anim["player_climb_rig"]["magnetic_r_2"] = %crash_skyjack_vm_exoclimb_mag_right_02; + level.exo_climb_move_options = []; + level.exo_climb_move_options["magnetic"] = []; + level.exo_climb_anim_offsets = []; + maps\_exo_climb::setup_climb_anims_parse_anim_offsets(level.scr_anim["player_climb_rig"]); + maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::maps\_exo_climb::exo_climb_mag_rumble,"magnetic_u_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::maps\_exo_climb::exo_climb_mag_rumble,"magnetic_u_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::maps\_exo_climb::exo_climb_mag_rumble,"magnetic_u_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::maps\_exo_climb::exo_climb_mag_rumble,"magnetic_d_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::maps\_exo_climb::exo_climb_mag_rumble,"magnetic_d_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::maps\_exo_climb::exo_climb_mag_rumble,"magnetic_d_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::maps\_exo_climb::exo_climb_mag_rumble,"magnetic_l_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::maps\_exo_climb::exo_climb_mag_rumble,"magnetic_l_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::maps\_exo_climb::exo_climb_mag_rumble,"magnetic_l_2"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::maps\_exo_climb::exo_climb_mag_rumble,"magnetic_r_0"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::maps\_exo_climb::exo_climb_mag_rumble,"magnetic_r_1"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::maps\_exo_climb::exo_climb_mag_rumble,"magnetic_r_2"); + maps\_exo_climb::add_mag_move_notetracks("magnetic_u_0"); + maps\_exo_climb::add_mag_move_notetracks("magnetic_u_1"); + maps\_exo_climb::add_mag_move_notetracks("magnetic_u_2"); + maps\_exo_climb::add_mag_move_notetracks("magnetic_d_0"); + maps\_exo_climb::add_mag_move_notetracks("magnetic_d_1"); + maps\_exo_climb::add_mag_move_notetracks("magnetic_d_2"); + maps\_exo_climb::add_mag_move_notetracks("magnetic_l_0"); + maps\_exo_climb::add_mag_move_notetracks("magnetic_l_1"); + maps\_exo_climb::add_mag_move_notetracks("magnetic_l_2"); + maps\_exo_climb::add_mag_move_notetracks("magnetic_r_0"); + maps\_exo_climb::add_mag_move_notetracks("magnetic_r_1"); + maps\_exo_climb::add_mag_move_notetracks("magnetic_r_2"); +} + +//Function Number: 23 +mag_glove_player_mount(param_00) +{ + level.exo_climb_magnetic_trigs = getentarray("plane_mag_glove_trigger","targetname"); + level.exo_climb_rig = param_00; + level.exo_climb_rig.animname = "player_climb_rig"; + level.exo_climb_rig maps\_utility::assign_animtree(); + level.exo_climb_rig.facing = "center"; + if(!isdefined(level.exo_climb_player_center)) + { + level.exo_climb_player_center = spawn("script_origin",level.exo_climb_rig.origin); + level.exo_climb_player_center.angles = level.exo_climb_rig.angles; + level.exo_climb_player_center linkto(level.exo_climb_rig,"tag_origin",(0,0,0),(0,0,0)); + } + + level.player lerpviewangleclamp(0.5,0.25,0.25,15,15,15,15); + level.player enableslowaim(1,0.6); + level thread mag_glove_player_controller(); +} + +//Function Number: 24 +mag_glove_player_controller() +{ + level.player endon("stop_player_mag_gloves"); + thread mag_glove_orient_to_surface(); + maps\_exo_climb::enter_state_on_mag_surface(); + maps\_exo_climb::restore_idle(); + for(;;) + { + if(maps\_exo_climb::climbing_helper_player_mag_moving()) + { + var_00 = mag_glove_get_requested_move_direction(level.exo_climb_rig); + if(maps\_exo_climb::climbing_helper_player_input_1_allowed() && var_00 == level.exo_climb_rig.mag_move_dir && maps\_exo_climb::magnetic_hands_direction_is_valid(var_00)) + { + maps\_exo_climb::climbing_motion_start_player_mag_move(var_00); + } + else if(maps\_exo_climb::climbing_helper_player_input_2_allowed() && var_00 != level.exo_climb_rig.mag_move_dir && maps\_exo_climb::magnetic_hands_direction_is_valid(var_00)) + { + maps\_exo_climb::climbing_motion_start_player_mag_move(var_00); + } + else + { + maps\_exo_climb::climbing_motion_player_moving_on_magnetic_surface(); + } + } + else + { + var_00 = mag_glove_get_requested_move_direction(level.exo_climb_rig); + if(maps\_exo_climb::magnetic_hands_direction_is_valid(var_00)) + { + maps\_exo_climb::climbing_motion_start_player_mag_move(var_00); + } + } + + wait(0.05); + } +} + +//Function Number: 25 +mag_glove_get_requested_move_direction(param_00) +{ + var_01 = level.player getnormalizedmovement(); + if(length2d(var_01) <= 0.15) + { + return ""; + } + + return mag_glove_get_direction_from_normalized_movement(var_01,param_00); +} + +//Function Number: 26 +mag_glove_get_direction_from_normalized_movement(param_00,param_01) +{ + var_02 = angleclamp360(param_00[0],param_00[1]); + var_03 = level.player.angles[1] - param_01.angles[1]; + var_02 = angleclamp180(var_02 + var_03); + var_04 = ""; + if(var_02 < -120 || var_02 > 150) + { + var_04 = "l"; + } + else if(var_02 < -60) + { + var_04 = "d"; + } + else if(var_02 < 30) + { + var_04 = "r"; + } + else + { + var_04 = "u"; + } + + return var_04; +} + +//Function Number: 27 +mag_glove_orient_to_surface() +{ + var_00 = common_scripts\utility::spawn_tag_origin(); + var_01 = level.player.angles[1]; + var_02 = 0.5; + while(isdefined(level.exo_climb_rig)) + { + if(level.exo_climb_rig islinked()) + { + level.exo_climb_rig unlink(); + } + + var_00.origin = level.exo_climb_rig.origin; + var_00.angles = level.exo_climb_rig.angles; + var_00 dontinterpolate(); + level.exo_climb_rig linkto(var_00,"tag_origin"); + var_03 = level.exo_climb_rig.origin + anglestoforward(level.exo_climb_rig.angles) * 12; + var_04 = bullettrace(var_03 + (0,0,200),var_03 - (0,0,10000),0,level.player,0,0,1); + var_00 moveto((var_00.origin[0],var_00.origin[1],var_04["position"][2] - 2),var_02); + var_00 rotateto((0,var_01,0) - (90 + vectortoangles(var_04["normal"])[0],0,vectortoangles(var_04["normal"])[2]),var_02); + wait(var_02); + var_02 = 0.1; + } + + var_00 delete(); +} + +//Function Number: 28 +stop_player_mag_gloves() +{ + level.player notify("stop_player_mag_gloves"); + level.exo_climb_player_center unlink(); + level.exo_climb_player_center delete(); + level.exo_climb_player_center = undefined; + if(level.exo_climb_rig islinked()) + { + level.exo_climb_rig unlink(); + } + + maps\_exo_climb::climbing_animation_stop_idle(); + wait(0.05); + maps\_exo_climb::restore_idle(); + wait(0.2); + level.exo_climb_rig = undefined; + level.player disableslowaim(); +} + +//Function Number: 29 +adjust_angles_to_player(param_00) +{ + var_01 = param_00[0]; + var_02 = param_00[2]; + var_03 = anglestoright(level.player.angles); + var_04 = anglestoforward(level.player.angles); + var_05 = (var_03[0],0,var_03[1] * -1); + var_06 = (var_04[0],0,var_04[1] * -1); + var_07 = var_06 * var_01; + var_07 = var_07 + var_05 * var_02; + return var_07 + (0,param_00[1],0); +} + +//Function Number: 30 +plodding_footsteps_ends() +{ + level waittill("stop_plodding_footsteps"); + var_00 = 0.8; + level.ground_ref_ent rotateto((0,0,0),var_00,var_00 * 0.5,var_00 * 0.5); + level.player maps\_utility::blend_movespeedscale(1,0.8); + wait(var_00); + level.ground_ref_ent delete(); + level.player playersetgroundreferenceent(undefined); + level.player notify("blend_movespeedscale"); + level.player maps\_utility_code::movespeed_set_func(1); +} + +//Function Number: 31 +plodding_footsteps() +{ + level endon("stop_plodding_footsteps"); + thread plodding_footsteps_ends(); + level.player notify("blend_movespeedscale"); + level.player maps\_utility_code::movespeed_set_func(0.45); + level.ground_ref_ent = spawn("script_model",(0,0,0)); + level.player playersetgroundreferenceent(level.ground_ref_ent); + var_00 = 4; + var_01 = 3; + var_02 = 4.5; + var_03 = 0; + var_04 = 0.05; + var_05 = 0; + for(;;) + { + if(!level.player attackbuttonpressed()) + { + if(level.player.movespeedscale == 0) + { + level.player maps\_utility::blend_movespeedscale(0.45,0.25); + } + + var_06 = min(distance((0,0,0),level.player getvelocity()),35); + if(var_06 == 0) + { + level.ground_ref_ent rotateto((0,0,0),0.25,0.125,0.125); + var_03 = level.ground_ref_ent.angles[0]; + } + else + { + var_03 = var_03 + var_06 * 0.3; + if(cos(var_03) > 0) + { + var_03 = var_03 + var_06 * 0.1; + if(!var_05) + { + var_05 = 1; + level.player maps\_utility::blend_movespeedscale(0.45,0.25); + } + } + else if(var_05) + { + var_05 = 0; + level.player maps\_utility::blend_movespeedscale(0.2,0.1); + } + + var_07 = sin(var_03) - 0.75 * var_00; + var_08 = sin(var_03 * -0.5) * var_01; + var_09 = sin(var_03 * 0.5) * var_02; + var_0A = adjust_angles_to_player((var_07,var_08,var_09)); + level.ground_ref_ent rotateto(var_0A,var_04,var_04 * 0.5,var_04 * 0.5); + } + } + else + { + level.player notify("blend_movespeedscale"); + level.player maps\_utility_code::movespeed_set_func(0); + level.ground_ref_ent rotateto((0,0,0),0.25,0.125,0.125); + var_03 = level.ground_ref_ent.angles[0]; + } + + wait(0.05); + } +} \ No newline at end of file diff --git a/AW/PC/maps/crash_utility.gsc b/AW/PC/maps/crash_utility.gsc new file mode 100644 index 0000000..fe098dc --- /dev/null +++ b/AW/PC/maps/crash_utility.gsc @@ -0,0 +1,1451 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: crash_utility.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 65 + * Decompile Time: 978 ms + * Timestamp: 4/22/2024 2:27:23 AM +*******************************************************************/ + +//Function Number: 1 +setup_player() +{ + var_00 = level.start_point + "_player_start"; + var_01 = common_scripts\utility::getstruct(var_00,"targetname"); + if(isdefined(var_01)) + { + level.player setorigin(var_01.origin); + if(isdefined(var_01.angles)) + { + level.player setplayerangles(var_01.angles); + return; + } + + iprintlnbold("Your script_struct " + level.start_point + "_start has no angles! Set some."); + return; + } +} + +//Function Number: 2 +setup_allies() +{ + level.cormack = spawn_ally("cormack"); + level.cormack.canjumppath = 1; + if(level.start_point == "skyjack" || level.start_point == "crash_site") + { + level.cormack setmodel("body_hero_cormack_sentinel_halo_jetpack"); + } + + if(level.start_point != "skyjack" && level.start_point != "crash_site") + { + level.ilana = spawn_ally("ilana"); + level.ilana.canjumppath = 1; + level.ilana.animname = "ilana"; + } + + if(level.start_point == "vtol_takedown" || level.start_point == "avalanche") + { + level.gideon = spawn_ally("gideon"); + level.gideon.canjumppath = 1; + level.gideon.animname = "gideon"; + } +} + +//Function Number: 3 +spawn_ally(param_00,param_01) +{ + if(isdefined(param_01)) + { + var_02 = param_01; + } + else + { + var_02 = level.start_point + "_" + param_01; + } + + var_03 = spawn_ally_at_struct(param_00,var_02); + if(!isdefined(var_03)) + { + return undefined; + } + + var_03 maps\_utility::make_hero(); + if(!isdefined(var_03.magic_bullet_shield)) + { + var_03 thread maps\_utility::magic_bullet_shield(); + } + + var_03.animname = param_00; + if(param_00 != "cormack") + { + var_03 thread maps\crash_fx::cold_breath(); + } + + return var_03; +} + +//Function Number: 4 +spawn_ally_at_struct(param_00,param_01) +{ + var_02 = getent(param_00,"targetname"); + var_03 = common_scripts\utility::getstruct(param_01,"targetname"); + if(isdefined(var_02) && isdefined(var_03)) + { + var_02.origin = var_03.origin; + if(isdefined(var_03.angles)) + { + var_02.angles = var_03.angles; + } + + var_04 = var_02 maps\_utility::spawn_ai(1); + return var_04; + } + + if(isdefined(var_03)) + { + var_04 = var_03 maps\_utility::spawn_ai(1); + iprintlnbold("Add a script struct called: " + param_01 + " to spawn ally in the correct location."); + var_04 teleport(level.player.origin,level.player.angles); + return var_04; + } + + iprintlnbold("Failed to spawn " + param_01 + ". No spawner exists."); + return undefined; +} + +//Function Number: 5 +spawn_enemy_array_at_structs(param_00,param_01) +{ + var_02 = getentarray(param_00,"targetname"); + var_03 = common_scripts\utility::getstructarray(param_01,"targetname"); + var_04 = []; + if(isdefined(var_02[0]) && isdefined(var_03[0])) + { + for(var_05 = 0;var_05 < var_02.size;var_05++) + { + var_02[var_05].origin = var_03[var_05].origin; + if(isdefined(var_03[var_05].angles)) + { + var_02[var_05].angles = var_03[var_05].angles; + } + + var_04[var_05] = var_02[var_05] maps\_utility::spawn_ai(1); + common_scripts\utility::add_to_array(var_04,var_04[var_05]); + } + + return var_04; + } + + if(isdefined(var_03[0])) + { + iprintlnbold("Failed to spawn " + param_01 + ". A spawner exists but there is no struct."); + return undefined; + } + + iprintlnbold("Failed to spawn " + param_01 + ". No spawners or structs exists."); + return undefined; +} + +//Function Number: 6 +_hint_stick_update_string(param_00,param_01) +{ + var_02 = param_01 + param_00; + var_03 = level.trigger_hint_func[var_02]; + level.hint_breakfunc = var_03; +} + +//Function Number: 7 +_hint_stick_update_breakfunc(param_00,param_01) +{ + var_02 = param_01 + param_00; + var_03 = level.trigger_hint_string[var_02]; + level.current_hint settext(var_03); +} + +//Function Number: 8 +hint_update_config_change(param_00) +{ + level notify("hint_change_config"); + level endon("hint_change_config"); + var_01 = undefined; + if(level.player common_scripts\utility::is_player_gamepad_enabled()) + { + var_01 = "_gamepad"; + } + else + { + var_01 = "_keyboard"; + } + + while(isdefined(level.current_hint)) + { + if(level.player common_scripts\utility::is_player_gamepad_enabled()) + { + var_02 = "_gamepad"; + } + else + { + var_02 = "_keyboard"; + } + + if(var_02 != var_01) + { + var_01 = var_02; + _hint_stick_update_string(var_01,param_00); + _hint_stick_update_breakfunc(var_01,param_00); + } + + wait 0.05; + } +} + +//Function Number: 9 +ai_array_killcount_flag_set(param_00,param_01,param_02,param_03) +{ + maps\_utility::waittill_dead_or_dying(param_00,param_01,param_03); + common_scripts\utility::flag_set(param_02); +} + +//Function Number: 10 +temp_dialogue(param_00,param_01,param_02) +{ + level notify("temp_dialogue",param_00,param_01,param_02); + level endon("temp_dialogue"); + if(!isdefined(param_02)) + { + param_02 = 4; + } + + if(isdefined(level.tmp_subtitle)) + { + level.tmp_subtitle destroy(); + level.tmp_subtitle = undefined; + } + + level.tmp_subtitle = newhudelem(); + level.tmp_subtitle.x = 0; + level.tmp_subtitle.y = -64; + level.tmp_subtitle settext("^2" + param_00 + ": ^7" + param_01); + level.tmp_subtitle.fontscale = 1.46; + level.tmp_subtitle.alignx = "center"; + level.tmp_subtitle.aligny = "middle"; + level.tmp_subtitle.horzalign = "center"; + level.tmp_subtitle.vertalign = "bottom"; + level.tmp_subtitle.sort = 1; + wait(param_02); + thread temp_dialogue_fade(); +} + +//Function Number: 11 +temp_dialogue_fade() +{ + level endon("temp_dialogue"); + var_00 = 1; + while(var_00 > 0) + { + level.tmp_subtitle.alpha = var_00; + wait(0.05); + var_00 = var_00 - 0.1; + } + + level.tmp_subtitle destroy(); +} + +//Function Number: 12 +disable_awareness() +{ + self.ignoreall = 1; + self.dontmelee = 1; + self.ignoresuppression = 1; + self.suppressionwait_old = self.suppressionwait; + self.suppressionwait = 0; + maps\_utility::disable_surprise(); + self.ignorerandombulletdamage = 1; + maps\_utility::disable_bulletwhizbyreaction(); + maps\_utility::disable_pain(); + self.grenadeawareness = 0; + self.ignoreme = 1; + maps\_utility::enable_dontevershoot(); + self.disablefriendlyfirereaction = 1; + self.dodangerreact = 0; +} + +//Function Number: 13 +enable_awareness() +{ + self.ignoreall = 0; + self.dontmelee = undefined; + self.ignoresuppression = 0; + self.suppressionwait = self.suppressionwait_old; + self.suppressionwait_old = undefined; + maps\_utility::enable_surprise(); + self.ignorerandombulletdamage = 0; + maps\_utility::enable_bulletwhizbyreaction(); + maps\_utility::enable_pain(); + self.grenadeawareness = 1; + self.ignoreme = 0; + maps\_utility::disable_dontevershoot(); + self.disablefriendlyfirereaction = undefined; + self.dodangerreact = 1; +} + +//Function Number: 14 +equip_microwave_grenade() +{ + self.grenadeweapon = "microwave_grenade"; + self.grenadeammo = 2; +} + +//Function Number: 15 +cormack_helmet_open(param_00) +{ + param_00 thread set_helmet_open(); + param_00 notify("stop personal effect"); + param_00 thread maps\crash_fx::cold_breath(); +} + +//Function Number: 16 +cormack_helmet_close(param_00) +{ + param_00 thread set_helmet_closed(); + param_00 notify("stop personal effect"); +} + +//Function Number: 17 +set_helmet_open(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 0.2; + } + + self setanimknobrestart(%sentinel_halo_helmet_open,1,param_00); + self.helmet_open = 1; + wait(0.25); +} + +//Function Number: 18 +set_helmet_closed(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 0.2; + } + + self setanimrestart(%sentinel_halo_helmet_close,1,param_00); + self.helmet_open = 0; + wait(0.75); +} + +//Function Number: 19 +clear_additive_helmet_anim(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 0.5; + } + + self clearanim(%s1_halo_helmet,0); +} + +//Function Number: 20 +player_exo_enable() +{ + level.player thread maps\_player_exo::player_exo_activate(); +} + +//Function Number: 21 +player_exo_disable() +{ + level.player thread maps\_player_exo::player_exo_deactivate(); +} + +//Function Number: 22 +exo_temp_high_altitude() +{ + level endon("skyjack_done"); + wait(1); + var_00 = 19.5; + var_01 = 10; + for(;;) + { + var_02 = 0; + level.player thread maps\crash_exo_temperature::set_exo_temperature_over_time(level.exo_reheat,var_00); + while(var_02 <= var_00) + { + wait(0.05); + var_02 = var_02 + 0.05; + } + + level.player thread maps\crash_exo_temperature::set_exo_temperature_over_time(level.exo_max,var_01); + level.player thread maps\crash_exo_temperature::activate_heater(); + var_02 = 0; + while(var_02 <= var_01) + { + wait(0.05); + var_02 = var_02 + 0.05; + } + + level.player thread maps\crash_exo_temperature::deactivate_heater(); + } +} + +//Function Number: 23 +exo_temp_outdoor() +{ + level endon("moved_indoors"); + var_00 = 39; + var_01 = 10; + for(;;) + { + var_02 = 0; + level.player thread maps\crash_exo_temperature::set_exo_temperature_over_time(level.exo_reheat,var_00); + while(var_02 <= var_00) + { + wait(0.05); + var_02 = var_02 + 0.05; + } + + level.player thread maps\crash_exo_temperature::set_exo_temperature_over_time(level.exo_max,var_01); + level.player thread maps\crash_exo_temperature::activate_heater(); + var_02 = 0; + while(var_02 <= var_01) + { + wait(0.05); + var_02 = var_02 + 0.05; + } + + level.player thread maps\crash_exo_temperature::deactivate_heater(); + } +} + +//Function Number: 24 +exo_temp_narrow_cave() +{ + level endon("player_starting_uw_breach"); + level endon("combat_cave_done"); + level.player thread maps\crash_exo_temperature::set_external_temperature_over_time(-3.2,90); + for(;;) + { + while(!isdefined(level.player.swimming)) + { + if(common_scripts\utility::flag("narrow_cave_underwater")) + { + level.player thread maps\crash_exo_temperature::set_exo_temperature_over_time(85,2); + level.player thread maps\crash_exo_temperature::set_operator_temperature_over_time(98.6,2); + common_scripts\utility::flag_clear("narrow_cave_underwater"); + } + + wait(0.05); + } + + while(isdefined(level.player.swimming)) + { + if(level.player.swimming == "underwater") + { + if(!common_scripts\utility::flag("narrow_cave_underwater")) + { + level.player thread maps\crash_exo_temperature::set_exo_temperature_over_time(65,8); + level.player thread maps\crash_exo_temperature::set_operator_temperature_over_time(92.5,8); + common_scripts\utility::flag_set("narrow_cave_underwater"); + } + } + + wait(0.05); + } + } +} + +//Function Number: 25 +handle_objective_marker_skyjack(param_00,param_01,param_02) +{ + var_03 = 1; + if(!isdefined(param_02)) + { + param_02 = 200; + } + + var_04 = getent("skyjack_charge_trigger","targetname"); + var_05 = param_00 maps\_shg_utility::hint_button_position("x",param_00.origin,undefined,param_02,undefined,var_04); + common_scripts\utility::flag_wait(param_01); + var_05 maps\_shg_utility::hint_button_clear(); +} + +//Function Number: 26 +handle_objective_marker(param_00,param_01,param_02,param_03) +{ + var_04 = 1; + if(!isdefined(param_02)) + { + param_02 = 200; + } + + if(isdefined(param_03)) + { + var_05 = getent(param_03,"targetname"); + var_06 = param_00 maps\_shg_utility::hint_button_position("x",param_00.origin,undefined,param_02,undefined,var_05); + } + else + { + var_06 = param_01 maps\_shg_utility::hint_button_trigger("x",param_03); + } + + common_scripts\utility::flag_wait(param_01); + var_06 maps\_shg_utility::hint_button_clear(); +} + +//Function Number: 27 +handle_objective_marker_movable(param_00,param_01,param_02) +{ + var_03 = 1; + if(!isdefined(param_02)) + { + param_02 = 200; + } + + var_04 = getent("end_cargo_trigger","targetname"); + var_05 = param_00 maps\_shg_utility::hint_button_tag("x","tag_origin",undefined,param_02,undefined,var_04); + common_scripts\utility::flag_wait(param_01); + if(isdefined(var_05)) + { + var_05 maps\_shg_utility::hint_button_clear(); + } +} + +//Function Number: 28 +nag_until_flag(param_00,param_01,param_02,param_03,param_04) +{ + if(common_scripts\utility::flag(param_01)) + { + return; + } + + var_05 = -1; + var_06 = param_02; + var_07 = param_03; + while(!common_scripts\utility::flag(param_01)) + { + var_08 = randomfloatrange(param_02,param_03); + wait(var_08); + var_09 = randomint(param_00.size); + if(var_09 == var_05) + { + var_09++; + if(var_09 >= param_00.size) + { + var_09 = 0; + } + } + + var_0A = param_00[var_09]; + if(common_scripts\utility::flag(param_01)) + { + break; + } + + thread maps\_utility::smart_radio_dialogue(var_0A); + var_05 = var_09; + param_02 = param_02 + param_04; + param_02 = clamp(param_02,var_06,var_06 + param_04 * 3); + param_03 = param_03 + param_04; + param_03 = clamp(param_03,var_07,var_07 + param_04 * 3); + } +} + +//Function Number: 29 +stop_walk_and_clear_dialogue() +{ + level.cormack maps\_utility::clear_run_anim(); + level.ilana maps\_utility::clear_run_anim(); + level notify("temp_dialogue"); + if(isdefined(level.tmp_subtitle)) + { + temp_dialogue_fade(); + } +} + +//Function Number: 30 +temp_friendly_squad_casual_walk() +{ + iprintln("casual walk on"); + level.cormack.animname = "cormack"; + level.ilana.animname = "ilana"; + level.cormack maps\_utility::set_run_anim("casual_walk"); + level.cormack maps\_utility::disable_arrivals(); + level.cormack maps\_utility::disable_exits(); + level.ilana maps\_utility::set_run_anim("casual_walk"); + level.ilana maps\_utility::disable_arrivals(); + level.ilana maps\_utility::disable_exits(); +} + +//Function Number: 31 +set_main_vol_and_retreat_vol(param_00,param_01,param_02,param_03) +{ + move_wave(param_00,param_01); + thread retreat_volume(param_00,param_02,param_03); +} + +//Function Number: 32 +retreat_volume(param_00,param_01,param_02) +{ + var_03 = maps\_utility::get_living_ai_array(param_00,"script_noteworthy"); + maps\_utility::waittill_dead_or_dying(var_03,param_02); + var_03 = maps\_utility::get_living_ai_array(param_00,"script_noteworthy"); + if(isstring(param_01)) + { + param_01 = getent(param_01,"targetname"); + } + + for(var_04 = 0;var_04 < var_03.size;var_04++) + { + var_03[var_04] setgoalvolumeauto(param_01); + } +} + +//Function Number: 33 +retreat_volume_and_set_flag(param_00,param_01,param_02,param_03) +{ + retreat_volume(param_00,param_01,param_02); + if(!isdefined(param_03)) + { + return; + } + + if(common_scripts\utility::flag_exist(param_03)) + { + common_scripts\utility::flag_set(param_03); + } +} + +//Function Number: 34 +move_wave(param_00,param_01) +{ + var_02 = maps\_utility::get_living_ai_array(param_00,"script_noteworthy"); + var_03 = getent(param_01,"targetname"); + for(var_04 = 0;var_04 < var_02.size;var_04++) + { + var_02[var_04] setgoalvolumeauto(var_03); + } +} + +//Function Number: 35 +move_wave_random(param_00,param_01) +{ + var_02 = maps\_utility::get_living_ai_array(param_00,"script_noteworthy"); + var_03 = getent(param_01,"targetname"); + for(var_04 = 0;var_04 < var_02.size;var_04++) + { + var_02[var_04] setgoalvolumeauto(var_03); + var_02[var_04].pathrandompercent = 100; + } +} + +//Function Number: 36 +enemy_drop_traversal(param_00,param_01) +{ + var_02 = getent(param_00,"targetname"); + var_03 = var_02 maps\_utility::spawn_ai(1); + var_04 = common_scripts\utility::getstruct(param_01,"targetname"); + var_03.animname = "enemy_drop"; + var_03.canjumppath = 1; + var_03.ignoresuppression = 1; + var_03 maps\_utility::set_allowdeath(1); + var_04 thread maps\_anim::anim_single_solo(var_03,"drop_512"); + var_03 thread enemy_drop_fx(); + return var_03; +} + +//Function Number: 37 +enemy_drop_fx() +{ + self endon("death"); + wait(1.16); + playfxontag(level._effect["crash_goliath_foot"],self,"tag_origin"); +} + +//Function Number: 38 +cleanup_enemies(param_00,param_01) +{ + var_02 = maps\_utility::get_living_ai_array(param_00,"script_noteworthy"); + if(!isdefined(param_01)) + { + param_01 = 0; + } + + foreach(var_04 in var_02) + { + if(maps\_utility::player_can_see_ai(var_04)) + { + if(param_01) + { + var_04 delete(); + } + + continue; + } + + var_04 delete(); + } +} + +//Function Number: 39 +cleanupweaponsonground() +{ + var_00 = getentarray(); + foreach(var_02 in var_00) + { + if(isdefined(var_02.classname) && issubstr(var_02.classname,"weapon_")) + { + var_02 delete(); + } + } +} + +//Function Number: 40 +ally_advance_ahead_upon_killing_group(param_00,param_01,param_02,param_03,param_04) +{ + maps\_utility::waittill_dead(param_00,param_01); + iprintln("dead moving up"); + var_05 = undefined; + if(isdefined(param_02)) + { + var_05 = getent(param_02,"targetname"); + if(isdefined(var_05)) + { + maps\_utility::activate_trigger_with_targetname(param_02); + return; + } + else + { + iprintln("trig not available"); + } + } + + if(isdefined(param_03)) + { + var_05 = getent(param_02,"targetname"); + if(isdefined(var_05)) + { + maps\_utility::activate_trigger_with_targetname(param_02); + return; + } + } + + if(isdefined(param_04)) + { + var_05 = getent(param_02,"targetname"); + if(isdefined(var_05)) + { + maps\_utility::activate_trigger_with_targetname(param_02); + return; + } + } +} + +//Function Number: 41 +kill_enemies(param_00) +{ + var_01 = maps\_utility::get_living_ai_array(param_00,"script_noteworthy"); + foreach(var_03 in var_01) + { + var_03 kill(); + } +} + +//Function Number: 42 +spawn_wave_stagger(param_00,param_01,param_02) +{ + if(!isdefined(param_01)) + { + param_01 = 1; + } + + var_03 = []; + var_04 = getentarray(param_00,"targetname"); + for(var_05 = 0;var_05 < var_04.size;var_05++) + { + var_03[var_05] = var_04[var_05] maps\_utility::spawn_ai(1); + wait(param_01); + } + + return var_03; +} + +//Function Number: 43 +warbird_shooting_think(param_00,param_01,param_02,param_03,param_04,param_05) +{ + level.player endon("death"); + self endon("death"); + self.mgturret[0] setmode("manual"); + self.mgturret[1] setmode("manual"); + if(!maps\_utility::ent_flag_exist("fire_turrets")) + { + maps\_utility::ent_flag_init("fire_turrets"); + } + + maps\_utility::ent_flag_set("fire_turrets"); + thread warbird_fire_init_monitor(); + for(;;) + { + self waittill("warbird_fire"); + if(!isdefined(param_03)) + { + thread warbird_fire_init(param_00,param_01,param_02); + continue; + } + + if(!isdefined(param_04)) + { + thread warbird_ground_fire_init(param_00,param_01,param_02); + continue; + } + + thread warbird_ground_fire_no_enemy_init(param_00,param_01,param_02,param_05); + } +} + +//Function Number: 44 +warbird_fire_init(param_00,param_01,param_02) +{ + self endon("death"); + var_03 = self.mgturret[0]; + var_04 = self.mgturret[1]; + if(!isdefined(param_02)) + { + param_02 = 1.25; + } + + while(maps\_utility::ent_flag("fire_turrets")) + { + var_05 = getaiarray("allies"); + if(!maps\_utility::ent_flag_exist("dont_shoot_player") || !maps\_utility::ent_flag("dont_shoot_player")) + { + var_06 = 90; + if(randomint(100) <= var_06) + { + var_05 = common_scripts\utility::array_add(var_05,level.player); + } + } + + var_07 = []; + foreach(var_09 in var_05) + { + if(isdefined(var_09.ignoreme) && var_09.ignoreme) + { + continue; + } + else + { + var_07[var_07.size] = var_09; + } + } + + var_07 = sortbydistance(var_07,self.origin); + var_0B = undefined; + foreach(var_09 in var_07) + { + if(!isdefined(var_09)) + { + continue; + } + + if(!isalive(var_09)) + { + continue; + } + + if(isdefined(param_00) && param_00) + { + var_0D = self.mgturret[0] gettagorigin("tag_flash"); + var_0E = var_09 geteye(); + var_0F = vectornormalize(var_0E - var_0D); + var_10 = var_0E + var_0F * 20; + if(!sighttracepassed(var_10,var_0E,0,var_09,self.mgturret[0])) + { + continue; + } + } + + var_0B = var_09; + break; + } + + if(isdefined(var_0B)) + { + var_03 settargetentity(var_0B); + var_04 settargetentity(var_0B); + var_03 turretfireenable(); + var_04 turretfireenable(); + var_03 startfiring(); + var_04 startfiring(); + warbird_wait_for_fire_target_done(var_0B,param_00,param_01); + var_03 cleartargetentity(); + var_04 cleartargetentity(); + var_03 turretfiredisable(); + var_04 turretfiredisable(); + } + + wait(param_02); + } + + var_03 turretfiredisable(); + var_04 turretfiredisable(); +} + +//Function Number: 45 +warbird_ground_fire_init(param_00,param_01,param_02) +{ + self endon("death"); + var_03 = self.mgturret[0]; + var_04 = self.mgturret[1]; + if(!isdefined(param_02)) + { + param_02 = 1.25; + } + + while(maps\_utility::ent_flag("fire_turrets")) + { + var_05 = common_scripts\utility::getstructarray("warbird_fire_targets","targetname"); + var_05 = sortbydistance(var_05,self.origin); + var_06 = getaiarray("allies"); + if(!maps\_utility::ent_flag_exist("dont_shoot_player") || !maps\_utility::ent_flag("dont_shoot_player")) + { + var_07 = 90; + if(randomint(100) <= var_07) + { + var_06 = common_scripts\utility::array_add(var_06,level.player); + } + } + + var_08 = []; + foreach(var_0A in var_06) + { + if(isdefined(var_0A.ignoreme) && var_0A.ignoreme) + { + continue; + } + else + { + var_08[var_08.size] = var_0A; + } + } + + var_08 = sortbydistance(var_08,self.origin); + var_0C = undefined; + foreach(var_0A in var_08) + { + if(!isdefined(var_0A)) + { + continue; + } + + if(!isalive(var_0A)) + { + continue; + } + + if(isdefined(param_00) && param_00) + { + var_0E = self.mgturret[0] gettagorigin("tag_flash"); + var_0F = var_0A geteye(); + var_10 = vectornormalize(var_0F - var_0E); + var_11 = var_0F + var_10 * 20; + if(!sighttracepassed(var_11,var_0F,0,var_0A,self.mgturret[0])) + { + continue; + } + } + + var_0C = var_0A; + break; + } + + if(isdefined(var_0C)) + { + var_13 = var_05[0] common_scripts\utility::spawn_tag_origin(); + var_03 settargetentity(var_13); + var_04 settargetentity(var_13); + var_03 turretfireenable(); + var_04 turretfireenable(); + var_03 startfiring(); + var_04 startfiring(); + var_14 = distance2d(var_13.origin,var_0C.origin); + var_15 = var_14 / 275; + var_15 = maps\_utility::round_float(var_15,2); + var_16 = 0; + while(var_16 < var_15) + { + var_13 moveto(var_0C.origin + (0,0,16),var_15 - var_16); + var_16 = var_16 + 0.05; + wait(0.05); + } + + var_03 settargetentity(var_0C); + var_04 settargetentity(var_0C); + warbird_wait_for_fire_target_done(var_0C,param_00,param_01); + var_03 cleartargetentity(); + var_04 cleartargetentity(); + var_03 turretfiredisable(); + var_04 turretfiredisable(); + var_13 delete(); + } + + wait(param_02); + } + + var_03 turretfiredisable(); + var_04 turretfiredisable(); +} + +//Function Number: 46 +warbird_ground_fire_no_enemy_init(param_00,param_01,param_02,param_03) +{ + self endon("death"); + var_04 = self.mgturret[0]; + var_05 = self.mgturret[1]; + if(!isdefined(param_02)) + { + param_02 = 1.25; + } + + var_06 = common_scripts\utility::getstructarray("warbird_fire_targets","targetname"); + var_06 = sortbydistance(var_06,self.origin); + var_07 = var_06[0] common_scripts\utility::spawn_tag_origin(); + if(isdefined(var_06[0].target)) + { + var_08 = common_scripts\utility::getstruct(var_06[0].target,"targetname"); + } + else + { + var_08 = var_07[0] common_scripts\utility::spawn_tag_origin(); + var_09 = anglestoforward(self.angles); + var_08.origin = var_08.origin + (var_09[0] * 500,var_09[1] * 500,0); + } + + var_04 settargetentity(var_07); + var_05 settargetentity(var_07); + var_04 turretfireenable(); + var_05 turretfireenable(); + var_04 startfiring(); + var_05 startfiring(); + if(!isdefined(param_03)) + { + param_03 = 275; + } + + var_0A = distance2d(var_07.origin,var_08.origin); + var_0B = var_0A / param_03; + var_0B = maps\_utility::round_float(var_0B,2); + var_0C = 0; + while(var_0C < var_0B) + { + var_07 moveto(var_08.origin,var_0B - var_0C); + var_0C = var_0C + 0.05; + wait(0.05); + } + + if(!maps\_utility::ent_flag_exist("turret_hit_target")) + { + maps\_utility::ent_flag_init("turret_hit_target"); + } + + maps\_utility::ent_flag_set("turret_hit_target"); + var_04 cleartargetentity(); + var_05 cleartargetentity(); + var_04 turretfiredisable(); + var_05 turretfiredisable(); + var_07 delete(); +} + +//Function Number: 47 +warbird_fire_init_monitor() +{ + self endon("death"); + self waittill("warbird_stop_firing"); + maps\_utility::ent_flag_clear("fire_turrets"); +} + +//Function Number: 48 +warbird_wait_for_fire_target_done(param_00,param_01,param_02) +{ + param_00 endon("death"); + if(!maps\_utility::ent_flag("fire_turrets")) + { + return; + } + + self endon("fire_turrets"); + if(!isdefined(param_02)) + { + if(param_00 == level.player) + { + param_02 = 0.6; + } + else + { + param_02 = 3; + } + } + + var_03 = 0; + while(var_03 < param_02) + { + if(isdefined(param_01) && param_01) + { + var_04 = self.mgturret[0] gettagorigin("tag_flash"); + var_05 = param_00 geteye(); + var_06 = vectornormalize(var_05 - var_04); + var_07 = var_04 + var_06 * 20; + if(!sighttracepassed(var_07,var_05,0,param_00,self.mgturret[0])) + { + return; + } + } + + var_03 = var_03 + 0.3; + wait(0.3); + } +} + +//Function Number: 49 +disable_exo_melee() +{ + maps\_player_exo::player_exo_remove_single("exo_melee"); +} + +//Function Number: 50 +enable_exo_melee() +{ + maps\_player_exo::player_exo_add_single("exo_melee"); +} + +//Function Number: 51 +mech_fire_rockets_special(param_00) +{ + self endon("death"); + var_01 = 48; + var_02 = 64; + var_03 = 3; + var_04 = 6; + var_05 = 100; + var_06 = 24; + var_07 = 0.1; + var_08 = 0.4; + var_09 = 12; + var_0A = "tag_rocket"; + var_0B = 0.2; + var_0C = randomintrange(var_03 + 1,var_04 + 1); + var_0D = 20; + var_0E = 20; + var_0F = 16; + for(var_10 = 1;var_10 < var_0C;var_10++) + { + var_11 = var_0A + var_10; + var_12 = self gettagorigin(var_11); + var_13 = self gettagangles(var_11); + var_14 = anglestoforward(var_13); + var_14 = vectornormalize(var_14); + var_15 = randomintrange(-1 * var_0D,var_0D); + var_16 = randomintrange(-1 * var_0E,var_0E); + var_17 = randomintrange(-1 * var_0F,var_0F); + var_18 = var_12 + var_14 * var_06; + var_19 = var_12 + var_14 * var_05 + (var_15,var_16,var_17); + var_1A = magicbullet("mech_rocket_deploy",var_18,var_19); + playfx(level.mech_fx["rocket_muzzle_flash"],var_12,var_14,(0,0,1)); + if(isdefined(var_1A)) + { + var_1B = randomfloatrange(var_07,var_08); + var_1A thread maps\_mech::mech_rocket_deploy_projectile_think(self,param_00,var_1B); + } + + wait(0.05); + } + + wait(0.25); +} + +//Function Number: 52 +fly_in_hud() +{ + setsaveddvar("cg_cinematicfullscreen","1"); + setsaveddvar("cg_cinematicCanPause","1"); + level.player thread fly_in_hud_overlay(undefined,undefined,undefined,1,0,0); + cinematicingameloopresident("crash_jumpHUD_loop"); + common_scripts\utility::flag_wait("start_hud"); + cinematicingame("crash_jumpHUD",0,1,1); + wait(1); + level.player thread thermal_with_nvg(); + level.player setclutforplayer("clut_crash_hud",0); + level.player lightsetforplayer("crash_skyjack"); + maps\_utility::vision_set_fog_changes("crash_skyjack",0); + wait 0.05; + if(level.nextgen) + { + level.player notify("sonar_vision"); + } + + wait(29.5); + level.player notify("sonar_vision"); + killfxontag(level._effect["fx_crash_hud_flare"],level.crashing_plane,"body_animate_jnt"); + level.crashing_plane hudoutlinedisable(); + level.player setclutforplayer("clut_crash_crash_site",0); + maps\_utility::vision_set_fog_changes("crash_crash_site_cinematic",0); + level.player lightsetforplayer("crash_crash_site"); + wait 0.05; + level.player notify("flag_end_sonar_vision"); + wait(1.25); + setsaveddvar("cg_cinematicfullscreen","0"); + setsaveddvar("cg_cinematicCanPause","0"); +} + +//Function Number: 53 +fly_in_hud_overlay(param_00,param_01,param_02,param_03,param_04,param_05) +{ + var_06 = newclienthudelem(self); + var_06.x = param_04; + var_06.y = param_05; + var_06 setshader("jump_hud_vignette",640,480); + var_06.alignx = "left"; + var_06.aligny = "top"; + var_06.sort = 1; + var_06.foreground = 0; + var_06.horzalign = "fullscreen"; + var_06.vertalign = "fullscreen"; + var_06.alpha = 1; + var_07 = 0; + level.player waittill("flag_end_sonar_vision"); + var_06.alpha = 0; + var_06 destroy(); +} + +//Function Number: 54 +mark_enemies() +{ + level.player endon("sonar_vision_off"); + common_scripts\utility::flag_wait("begin_crash_site_lighting"); + wait(3); + for(;;) + { + if(isdefined(level.crashing_plane)) + { + level.crashing_plane hudoutlineenable(4,0,0); + } + + wait(0.1); + } +} + +//Function Number: 55 +give_night_vision() +{ + level endon("flag_end_sonar_vision"); + level.player setweaponhudiconoverride("actionslot4","dpad_icon_nvg"); + level.player notifyonplayercommand("sonar_vision","+actionslot 4"); + level.player thread thermal_with_nvg(); +} + +//Function Number: 56 +is_sonar_vision_allowed() +{ + var_00 = level.player getcurrentweapon(); + if(weaponhasthermalscope(var_00) && level.player playerads() > 0) + { + return 0; + } + + return 1; +} + +//Function Number: 57 +disable_sonar_when_not_allowed() +{ + level.player endon("sonar_vision_off"); + for(;;) + { + if(!is_sonar_vision_allowed()) + { + break; + } + + wait 0.05; + } + + sonar_off(); +} + +//Function Number: 58 +thermal_with_nvg() +{ + level endon("flag_end_sonar_vision"); + var_00 = undefined; + var_01 = undefined; + var_02 = undefined; + if(level.nextgen) + { + for(;;) + { + self waittill("sonar_vision"); + if(!is_sonar_vision_allowed()) + { + continue; + } + + if(!isdefined(level.player.sonar_vision) || !level.player.sonar_vision) + { + sonar_on(); + childthread disable_sonar_when_not_allowed(); + continue; + } + + sonar_off(); + } + } +} + +//Function Number: 59 +sonar_save_and_set_dvars() +{ + if(!isdefined(level.player.sonarvisionsaveddvars)) + { + level.player.sonarvisionsaveddvars = []; + } + + level.player.sonarvisionsaveddvars["r_hudoutlineenable"] = getdvarint("r_hudoutlineenable",1); + level.player.sonarvisionsaveddvars["r_hudoutlinepostmode"] = getdvar("r_hudoutlinepostmode",0); + level.player.sonarvisionsaveddvars["r_hudoutlinehaloblurradius"] = getdvarfloat("r_hudoutlinehaloblurradius",1); + level.player.sonarvisionsaveddvars["r_hudoutlinehalolumscale"] = getdvarfloat("r_hudoutlinehalolumscale",1); + level.player.sonarvisionsaveddvars["r_hudoutlinehalowhen"] = getdvar("r_hudoutlinehalowhen",1); + setsaveddvar("r_hudoutlineenable",1); + setsaveddvar("r_hudoutlinepostmode",2); + setsaveddvar("r_hudoutlinehaloblurradius",0.7); + setsaveddvar("r_hudoutlinehalolumscale",2); + setsaveddvar("r_hudoutlinehalowhen",0); + level.player.sonarvisionsaveddvars["r_ssrBlendScale"] = getdvarfloat("r_ssrBlendScale",1); + setsaveddvar("r_ssrBlendScale",0); +} + +//Function Number: 60 +sonar_reset_dvars() +{ + if(isdefined(level.player.sonarvisionsaveddvars)) + { + setsaveddvar("r_hudoutlineenable",level.player.sonarvisionsaveddvars["r_hudoutlineenable"]); + setsaveddvar("r_hudoutlinepostmode",level.player.sonarvisionsaveddvars["r_hudoutlinepostmode"]); + setsaveddvar("r_hudoutlinehaloblurradius",level.player.sonarvisionsaveddvars["r_hudoutlinehaloblurradius"]); + setsaveddvar("r_hudoutlinehalolumscale",level.player.sonarvisionsaveddvars["r_hudoutlinehalolumscale"]); + setsaveddvar("r_hudoutlinehalowhen",level.player.sonarvisionsaveddvars["r_hudoutlinehalowhen"]); + setsaveddvar("r_ssrBlendScale",level.player.sonarvisionsaveddvars["r_ssrBlendScale"]); + } +} + +//Function Number: 61 +sonar_on() +{ + level.overlaysonar = create_hud_sonar_overlay(0,1); + sonar_save_and_set_dvars(); + thread mark_enemies(); + var_00 = 0.05; + if(level.currentgen) + { + var_00 = 0; + } + + soundscripts\_snd::snd_message("aud_sonar_vision_on"); + level.player.sonar_vision = 1; + level notify("sonar_update"); +} + +//Function Number: 62 +sonar_off() +{ + var_00 = 0.05; + if(level.currentgen) + { + var_00 = 0; + } + + level.player lightsetoverrideenableforplayer(var_00); + level.player setclutoverridedisableforplayer(var_00); + soundscripts\_snd::snd_message("aud_sonar_vision_off"); + level.player.sonar_vision = 0; + level notify("sonar_update"); + if(isdefined(level.overlay)) + { + level.overlay destroy(); + } + + if(isdefined(level.overlaythreat)) + { + level.overlaythreat destroy(); + } + + if(isdefined(level.overlaysonar)) + { + level.overlaysonar destroy(); + } + + sonar_reset_dvars(); + foreach(var_02 in getaiarray("axis","allies")) + { + if(isdefined(var_02.hudoutlineenabledbysonarvision)) + { + var_02 hudoutlinedisable(); + var_02.hudoutlineenabledbysonarvision = undefined; + } + } + + level.player notify("sonar_vision_off"); +} + +//Function Number: 63 +create_hud_nvg_overlay(param_00,param_01,param_02) +{ + var_03 = newhudelem(); + var_03.x = 0; + var_03.y = 0; + var_03.sort = param_01; + var_03.horzalign = "fullscreen"; + var_03.vertalign = "fullscreen"; + var_03.alpha = param_02; + var_03 setshader(param_00,640,480); + return var_03; +} + +//Function Number: 64 +create_hud_sonar_overlay(param_00,param_01) +{ + var_02 = newhudelem(); + var_02.x = 0; + var_02.y = 0; + if(level.currentgen) + { + var_02.color = (1,0.6,0.2); + } + else + { + var_02.color = (0.1,0.1,1); + } + + var_02.sort = param_00; + var_02.horzalign = "fullscreen"; + var_02.vertalign = "fullscreen"; + var_02.alpha = param_01; + var_02 setsonarvision(10); + return var_02; +} + +//Function Number: 65 +create_hud_threat_overlay(param_00,param_01) +{ + var_02 = newhudelem(); + var_02.x = 0; + var_02.y = 0; + var_02.color = (1,0.1,0.1); + var_02.sort = param_00; + var_02.horzalign = "fullscreen"; + var_02.vertalign = "fullscreen"; + var_02.alpha = param_01; + var_02 setradarhighlight(-1); + return var_02; +} \ No newline at end of file diff --git a/AW/PC/maps/crash_vo.gsc b/AW/PC/maps/crash_vo.gsc new file mode 100644 index 0000000..c5664e0 --- /dev/null +++ b/AW/PC/maps/crash_vo.gsc @@ -0,0 +1,96 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: crash_vo.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 12 + * Decompile Time: 183 ms + * Timestamp: 4/22/2024 2:27:24 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + init_dialogue_flags(); + setup_vo(); + thread start_dialogue_threads(); + thread init_pcap_vo(); +} + +//Function Number: 2 +init_dialogue_flags() +{ +} + +//Function Number: 3 +setup_vo() +{ +} + +//Function Number: 4 +start_dialogue_threads() +{ +} + +//Function Number: 5 +init_pcap_vo() +{ + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%crash_atlas_plane_crash_ilona,"aud_crash_atlas_plane_crash_ilona_start",::crash_plane_crash_ilona); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%crash_gideon_rescue_gideon,"aud_crash_gideon_rescue_gideon_start",::crash_gideon_rescue_gideon); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%crash_gideon_rescue_gideon,"aud_crash_gideon_rescue_gideon_start2",::crash_gideon_rescue2_gideon); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%crash_gideon_rescue_cormack,"aud_crash_gideon_rescue_cormack_start",::crash_gideon_rescue_cormack); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%crash_gideon_rescue_cormack,"aud_crash_gideon_rescue_cormack_start2",::crash_gideon_rescue2_cormack); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%crash_gideon_rescue_ilana,"aud_crash_gideon_rescue_ilona_start",::crash_gideon_rescue_ilona); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%crash_gideon_rescue_ilana,"aud_crash_gideon_rescue_ilona_start2",::crash_gideon_rescue2_ilona); +} + +//Function Number: 6 +crash_plane_crash_ilona(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("crsh_iln_securingcargo",2.24); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("crsh_iln_punctual",13.21); +} + +//Function Number: 7 +crash_gideon_rescue_gideon(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("crsh_gdn_trustme",1.18); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("crsh_gdn_exertion1",5.03); +} + +//Function Number: 8 +crash_gideon_rescue2_gideon(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("crsh_gdn_exertion2",0.27); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("crsh_gdn_thisisatlaszeroone",6.27); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("crsh_gdn_andweallwouldbe",17.24); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("crsh_gdn_ironsisplanninga",23.15); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("crsh_gdn_ironshasbetrayed",35.24); +} + +//Function Number: 9 +crash_gideon_rescue_cormack(param_00) +{ +} + +//Function Number: 10 +crash_gideon_rescue2_cormack(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("crsh_crk_ifhewantedtokillus",31.18); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("crsh_crk_okaythenleadtheway",45.18); +} + +//Function Number: 11 +crash_gideon_rescue_ilona(param_00) +{ +} + +//Function Number: 12 +crash_gideon_rescue2_ilona(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("crsh_iln_gideon",2.24); + soundscripts\_snd_pcap::snd_pcap_play_radio_vo_30fps("crsh_atr_report",4.21); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("crsh_as1_what",10.15); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("crsh_iln_whynowgideon",14); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("crsh_iln_andweresupposedtofollow",29.15); +} \ No newline at end of file diff --git a/AW/PC/maps/crash_warbird_missile_defense.gsc b/AW/PC/maps/crash_warbird_missile_defense.gsc new file mode 100644 index 0000000..1c753ed --- /dev/null +++ b/AW/PC/maps/crash_warbird_missile_defense.gsc @@ -0,0 +1,135 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: crash_warbird_missile_defense.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 7 + * Decompile Time: 127 ms + * Timestamp: 4/22/2024 2:27:24 AM +*******************************************************************/ + +//Function Number: 1 +missile_defense_precache() +{ + level._effect["flare"] = loadfx("vfx/lensflare/flares_warbird"); + level.stinger_no_ai = 1; +} + +//Function Number: 2 +heli_flares_monitor(param_00) +{ + self.numflares = 2; + if(isdefined(param_00)) + { + self.numflares = self.numflares + param_00; + } + + thread handleincomingstinger(); +} + +//Function Number: 3 +handleincomingstinger(param_00) +{ + self endon("death"); + self endon("crashing"); + self endon("leaving"); + self endon("helicopter_done"); + var_01 = level.player; + for(;;) + { + level waittill("stinger_fired",var_01,var_02); + if(!maps\_stingerm7::anystingermissilelockedon(var_02,self)) + { + continue; + } + + if(!isdefined(var_02)) + { + continue; + } + + if(isdefined(param_00)) + { + level thread [[ param_00 ]](var_02,var_01,var_01.team); + continue; + } + + level thread watchmissileproximity(var_02,var_01,var_01.team); + } +} + +//Function Number: 4 +watchmissileproximity(param_00,param_01,param_02) +{ + foreach(var_04 in param_00) + { + if(isdefined(var_04.lockedstingertarget)) + { + var_04 thread missilewatchproximity(param_01,param_02,var_04.lockedstingertarget); + } + } +} + +//Function Number: 5 +missilewatchproximity(param_00,param_01,param_02) +{ + self endon("death"); + param_02 endon("death"); + var_03 = 5; + var_04 = 3500; + for(;;) + { + if(!isdefined(param_02)) + { + break; + } + + var_05 = param_02 getpointinbounds(0,0,0); + var_06 = distance(self.origin,var_05); + if(var_06 < var_04) + { + if(isdefined(param_02.numflares) && param_02.numflares > 0) + { + param_02.numflares--; + var_07 = param_02 deployflares(var_03); + playfxontag(level._effect["flare"],var_07,"tag_origin"); + if(isdefined(self.delayedlocktargetent)) + { + self.delayedlocktargetent = var_07; + self.delayedlocktargettag = "tag_origin"; + } + else + { + self missile_settargetent(var_07); + } + + return; + } + + self missile_settargetent(var_03,(0,0,50)); + } + + wait(0.05); + } +} + +//Function Number: 6 +deployflares(param_00) +{ + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01.origin = self gettagorigin("tag_origin") + (0,0,200); + var_01.angles = self.angles; + var_02 = common_scripts\utility::randomvector(1) + (0,0,1); + var_02 = vectornormalize(var_02); + var_03 = var_02 * randomfloatrange(500,800); + var_01 movegravity(var_03,param_00); + var_01 thread deleteaftertime(param_00); + return var_01; +} + +//Function Number: 7 +deleteaftertime(param_00) +{ + wait(param_00); + self delete(); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/betrayal_art.gsc b/AW/PC/maps/createart/betrayal_art.gsc new file mode 100644 index 0000000..db04235 --- /dev/null +++ b/AW/PC/maps/createart/betrayal_art.gsc @@ -0,0 +1,23 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\betrayal_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 2:06:29 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + level.player = getentarray("player","classname")[0]; + if(isusinghdr()) + { + maps\createart\betrayal_fog_hdr::main(); + return; + } + + maps\createart\betrayal_fog::main(); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/betrayal_fog.gsc b/AW/PC/maps/createart/betrayal_fog.gsc new file mode 100644 index 0000000..b94aca0 --- /dev/null +++ b/AW/PC/maps/createart/betrayal_fog.gsc @@ -0,0 +1,24 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\betrayal_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 2:06:29 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\_utility::create_vision_set_fog("betrayal"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + maps\_utility::vision_set_fog_changes("betrayal",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/betrayal_fog_hdr.gsc b/AW/PC/maps/createart/betrayal_fog_hdr.gsc new file mode 100644 index 0000000..9be068d --- /dev/null +++ b/AW/PC/maps/createart/betrayal_fog_hdr.gsc @@ -0,0 +1,1852 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\betrayal_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 62 ms + * Timestamp: 4/22/2024 2:06:29 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + sunflare(); + var_00 = maps\_utility::create_vision_set_fog("betrayal"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.775,0.776,0.79); + var_00.atmosfoghazecolor = (0.31,0.235,0.07); + var_00.atmosfoghazestrength = 0.42; + var_00.atmosfoghazespread = 0.041; + var_00.atmosfogextinctionstrength = 0.4; + var_00.atmosfoginscatterstrength = 18; + var_00.atmosfoghalfplanedistance = 3000; + var_00.atmosfogstartdistance = 80; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 100; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 1; + var_00.atmosfogheightfoghalfplanedistance = 640; + var_00 = maps\_utility::create_vision_set_fog("betrayal_cg"); + var_00.startdist = 1024; + var_00.halfwaydist = 28916.2; + var_00.red = 0.625173; + var_00.green = 0.604107; + var_00.blue = 0.635538; + var_00.hdrcolorintensity = 16.5443; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.76183,0.854865,1); + var_00.atmosfoghazecolor = (1,0.808463,0.631157); + var_00.atmosfoghazestrength = 0.304688; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18.25; + var_00.atmosfoghalfplanedistance = 14337.5; + var_00.atmosfogstartdistance = 283.688; + var_00.atmosfogdistancescale = 1.25; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 88; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -255; + var_00.atmosfogheightfoghalfplanedistance = 2241; + var_00 = maps\_utility::create_vision_set_fog("neutral"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.775,0.776,0.79); + var_00.atmosfoghazecolor = (0.31,0.235,0.07); + var_00.atmosfoghazestrength = 0.42; + var_00.atmosfoghazespread = 0.041; + var_00.atmosfogextinctionstrength = 0.4; + var_00.atmosfoginscatterstrength = 16.5; + var_00.atmosfoghalfplanedistance = 32000; + var_00.atmosfogstartdistance = 400; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 100; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 1; + var_00.atmosfogheightfoghalfplanedistance = 1600; + var_00 = maps\_utility::create_vision_set_fog("neutral_cg"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.530188; + var_00.green = 0.605245; + var_00.blue = 0.698742; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.775,0.776,0.79); + var_00.atmosfoghazecolor = (0.31,0.235,0.07); + var_00.atmosfoghazestrength = 0.42; + var_00.atmosfoghazespread = 0.041; + var_00.atmosfogextinctionstrength = 0.4; + var_00.atmosfoginscatterstrength = 18; + var_00.atmosfoghalfplanedistance = 3000; + var_00.atmosfogstartdistance = 80; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 100; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 1; + var_00.atmosfogheightfoghalfplanedistance = 640; + var_00 = maps\_utility::create_vision_set_fog("betrayal_escape"); + var_00.startdist = 50; + var_00.halfwaydist = 200; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 13.2; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 150; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,0.8,0.8); + var_00.atmosfoghazecolor = (1,0.8,0.8); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.039; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 12; + var_00.atmosfoghalfplanedistance = 3000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 4; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 100; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -420; + var_00.atmosfogheightfoghalfplanedistance = -330; + var_00 = maps\_utility::create_vision_set_fog("betrayal_escape_cg"); + var_00.startdist = 50; + var_00.halfwaydist = 200; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 13.2; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 150; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,0.8,0.8); + var_00.atmosfoghazecolor = (1,0.8,0.8); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.039; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 14; + var_00.atmosfoghalfplanedistance = 3000; + var_00.atmosfogstartdistance = 150; + var_00.atmosfogdistancescale = 4; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 100; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -420; + var_00.atmosfogheightfoghalfplanedistance = -330; + var_00 = maps\_utility::create_vision_set_fog("betrayal_escape_elevator_interior"); + var_00.startdist = 900; + var_00.halfwaydist = 50000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.957142,0.948371,0.945313); + var_00.atmosfoghazecolor = (0.631157,0.808463,1); + var_00.atmosfoghazestrength = 0.304688; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 15; + var_00.atmosfoghalfplanedistance = 18000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1.25; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 88; + var_00.atmosfogsundirection = (-0.09,-0.34,0); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -255; + var_00.atmosfogheightfoghalfplanedistance = 2241; + var_00 = maps\_utility::create_vision_set_fog("betrayal_escape_elevator_interior_cg"); + var_00.startdist = 900; + var_00.halfwaydist = 50000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.957142,0.948371,0.945313); + var_00.atmosfoghazecolor = (0.631157,0.808463,1); + var_00.atmosfoghazestrength = 0.304688; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 15; + var_00.atmosfoghalfplanedistance = 18000; + var_00.atmosfogstartdistance = 300; + var_00.atmosfogdistancescale = 1.25; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 88; + var_00.atmosfogsundirection = (-0.09,-0.34,0); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -255; + var_00.atmosfogheightfoghalfplanedistance = 2241; + var_00 = maps\_utility::create_vision_set_fog("betrayal_underwater"); + var_00.startdist = 50; + var_00.halfwaydist = 200; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 13.2; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 150; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.5,0.79,0.82); + var_00.atmosfoghazecolor = (0.66,0.71,0.68); + var_00.atmosfoghazestrength = 0.73; + var_00.atmosfoghazespread = 0.039; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 19.5; + var_00.atmosfoghalfplanedistance = 370; + var_00.atmosfogstartdistance = 350; + var_00.atmosfogdistancescale = 4; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 100; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 1; + var_00.atmosfogheightfoghalfplanedistance = 2; + var_00 = maps\_utility::create_vision_set_fog("betrayal_underwater_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 324; + var_00.red = 0.473; + var_00.green = 0.544; + var_00.blue = 0.404; + var_00.hdrcolorintensity = 12; + var_00.maxopacity = 0.9; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.398,0.79,0.97); + var_00.atmosfoghazecolor = (0.66,0.71,0.68); + var_00.atmosfoghazestrength = 0.73; + var_00.atmosfoghazespread = 0.039; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18.5; + var_00.atmosfoghalfplanedistance = 370; + var_00.atmosfogstartdistance = 350; + var_00.atmosfogdistancescale = 4; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 100; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 1; + var_00.atmosfogheightfoghalfplanedistance = 2; + var_00 = maps\_utility::create_vision_set_fog("betrayal_underwater_int"); + var_00.startdist = 50; + var_00.halfwaydist = 200; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 13.2; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 150; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.5,0.79,0.82); + var_00.atmosfoghazecolor = (0.66,0.71,0.68); + var_00.atmosfoghazestrength = 0.73; + var_00.atmosfoghazespread = 0.039; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 17.5; + var_00.atmosfoghalfplanedistance = 370; + var_00.atmosfogstartdistance = 350; + var_00.atmosfogdistancescale = 4; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 100; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 1; + var_00.atmosfogheightfoghalfplanedistance = 2; + var_00 = maps\_utility::create_vision_set_fog("betrayal_underwater_int_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 225; + var_00.red = 0.313; + var_00.green = 0.441; + var_00.blue = 0.376; + var_00.hdrcolorintensity = 12; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.398,0.79,0.97); + var_00.atmosfoghazecolor = (0.66,0.71,0.68); + var_00.atmosfoghazestrength = 0.73; + var_00.atmosfoghazespread = 0.039; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18.5; + var_00.atmosfoghalfplanedistance = 370; + var_00.atmosfogstartdistance = 350; + var_00.atmosfogdistancescale = 4; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 100; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 1; + var_00.atmosfogheightfoghalfplanedistance = 2; + var_00 = maps\_utility::create_vision_set_fog("betrayal_swim"); + var_00.startdist = 50; + var_00.halfwaydist = 200; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 13.2; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 150; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.398,0.79,0.97); + var_00.atmosfoghazecolor = (0.66,0.71,0.68); + var_00.atmosfoghazestrength = 0.73; + var_00.atmosfoghazespread = 0.039; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18.5; + var_00.atmosfoghalfplanedistance = 370; + var_00.atmosfogstartdistance = 350; + var_00.atmosfogdistancescale = 4; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 100; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 1; + var_00.atmosfogheightfoghalfplanedistance = 2; + var_00 = maps\_utility::create_vision_set_fog("betrayal_swim_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 324; + var_00.red = 0.473; + var_00.green = 0.544; + var_00.blue = 0.404; + var_00.hdrcolorintensity = 12; + var_00.maxopacity = 0.9; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.398,0.79,0.97); + var_00.atmosfoghazecolor = (0.66,0.71,0.68); + var_00.atmosfoghazestrength = 0.73; + var_00.atmosfoghazespread = 0.039; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18.5; + var_00.atmosfoghalfplanedistance = 370; + var_00.atmosfogstartdistance = 350; + var_00.atmosfogdistancescale = 4; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 100; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 1; + var_00.atmosfogheightfoghalfplanedistance = 2; + var_00 = maps\_utility::create_vision_set_fog("betrayal_swim_tube"); + var_00.startdist = 50; + var_00.halfwaydist = 200; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 13.2; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 150; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.398,0.79,0.97); + var_00.atmosfoghazecolor = (0.66,0.71,0.68); + var_00.atmosfoghazestrength = 0.73; + var_00.atmosfoghazespread = 0.039; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 17; + var_00.atmosfoghalfplanedistance = 370; + var_00.atmosfogstartdistance = 350; + var_00.atmosfogdistancescale = 4; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 100; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 1; + var_00.atmosfogheightfoghalfplanedistance = 2; + var_00 = maps\_utility::create_vision_set_fog("betrayal_swim_tube_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 225; + var_00.red = 0.313; + var_00.green = 0.441; + var_00.blue = 0.376; + var_00.hdrcolorintensity = 12; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.398,0.79,0.97); + var_00.atmosfoghazecolor = (0.66,0.71,0.68); + var_00.atmosfoghazestrength = 0.73; + var_00.atmosfoghazespread = 0.039; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18.5; + var_00.atmosfoghalfplanedistance = 370; + var_00.atmosfogstartdistance = 350; + var_00.atmosfogdistancescale = 4; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 100; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 1; + var_00.atmosfogheightfoghalfplanedistance = 2; + var_00 = maps\_utility::create_vision_set_fog("betrayal_interior"); + var_00.startdist = 900; + var_00.halfwaydist = 50000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.957142,0.948371,0.945313); + var_00.atmosfoghazecolor = (1,0.808463,0.631157); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 15; + var_00.atmosfoghalfplanedistance = 18000; + var_00.atmosfogstartdistance = 300; + var_00.atmosfogdistancescale = 1.25; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 88; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -255; + var_00.atmosfogheightfoghalfplanedistance = 2241; + var_00 = maps\_utility::create_vision_set_fog("betrayal_interior_cg"); + var_00.startdist = 50; + var_00.halfwaydist = 41468; + var_00.red = 0.342; + var_00.green = 0.45; + var_00.blue = 0.336; + var_00.hdrcolorintensity = 14.75; + var_00.maxopacity = 0.8; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.957142,0.948371,0.945313); + var_00.atmosfoghazecolor = (1,0.808463,0.631157); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 11; + var_00.atmosfoghalfplanedistance = 18000; + var_00.atmosfogstartdistance = 300; + var_00.atmosfogdistancescale = 1.25; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 88; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -255; + var_00.atmosfogheightfoghalfplanedistance = 2241; + var_00 = maps\_utility::create_vision_set_fog("betrayal_interior_darker"); + var_00.startdist = 900; + var_00.halfwaydist = 50000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.957142,0.948371,0.945313); + var_00.atmosfoghazecolor = (1,0.808463,0.631157); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 11; + var_00.atmosfoghalfplanedistance = 18000; + var_00.atmosfogstartdistance = 300; + var_00.atmosfogdistancescale = 1.25; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 88; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -255; + var_00.atmosfogheightfoghalfplanedistance = 2241; + var_00 = maps\_utility::create_vision_set_fog("betrayal_interior_darker_cg"); + var_00.startdist = 900; + var_00.halfwaydist = 50000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.957142,0.948371,0.945313); + var_00.atmosfoghazecolor = (1,0.808463,0.631157); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 11; + var_00.atmosfoghalfplanedistance = 18000; + var_00.atmosfogstartdistance = 300; + var_00.atmosfogdistancescale = 1.25; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 88; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -255; + var_00.atmosfogheightfoghalfplanedistance = 2241; + var_00 = maps\_utility::create_vision_set_fog("betrayal_sewer"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1500; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.76183,0.972053,0.914063); + var_00.atmosfoghazecolor = (0.9,0.89,0.631157); + var_00.atmosfoghazestrength = 0.117188; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 8.5; + var_00.atmosfoghalfplanedistance = 227.011; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1.25; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 88; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -255; + var_00.atmosfogheightfoghalfplanedistance = 2241; + var_00 = maps\_utility::create_vision_set_fog("betrayal_sewer_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 2150; + var_00.red = 0.91; + var_00.green = 0.937; + var_00.blue = 0.557; + var_00.hdrcolorintensity = 9.5; + var_00.maxopacity = 0.195; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.398,0.79,0.97); + var_00.atmosfoghazecolor = (0.66,0.71,0.68); + var_00.atmosfoghazestrength = 0.73; + var_00.atmosfoghazespread = 0.039; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18.5; + var_00.atmosfoghalfplanedistance = 370; + var_00.atmosfogstartdistance = 350; + var_00.atmosfogdistancescale = 4; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 100; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 1; + var_00.atmosfogheightfoghalfplanedistance = 2; + var_00 = maps\_utility::create_vision_set_fog("betrayal_canal"); + var_00.startdist = 1000; + var_00.halfwaydist = 30000; + var_00.red = 0.8; + var_00.green = 0.91; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0.8; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.76183,0.854865,1); + var_00.atmosfoghazecolor = (1,0.808463,0.631157); + var_00.atmosfoghazestrength = 0.304688; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 16.5; + var_00.atmosfoghalfplanedistance = 14337.5; + var_00.atmosfogstartdistance = 283.688; + var_00.atmosfogdistancescale = 1.25; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 88; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -255; + var_00.atmosfogheightfoghalfplanedistance = 2241; + var_00 = maps\_utility::create_vision_set_fog("betrayal_canal_cg"); + var_00.startdist = 1000; + var_00.halfwaydist = 30000; + var_00.red = 0.8; + var_00.green = 0.91; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0.8; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.76183,0.854865,1); + var_00.atmosfoghazecolor = (1,0.808463,0.631157); + var_00.atmosfoghazestrength = 0.304688; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 16.5; + var_00.atmosfoghalfplanedistance = 14337.5; + var_00.atmosfogstartdistance = 283.688; + var_00.atmosfogdistancescale = 1.25; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 88; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -255; + var_00.atmosfogheightfoghalfplanedistance = 2241; + var_00 = maps\_utility::create_vision_set_fog("betrayal_mall"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.76183,0.854865,1); + var_00.atmosfoghazecolor = (1,0.808463,0.631157); + var_00.atmosfoghazestrength = 0.304688; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18.25; + var_00.atmosfoghalfplanedistance = 14337.5; + var_00.atmosfogstartdistance = 283.688; + var_00.atmosfogdistancescale = 1.25; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 88; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -255; + var_00.atmosfogheightfoghalfplanedistance = 2241; + var_00 = maps\_utility::create_vision_set_fog("betrayal_mall_cg"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.76183,0.854865,1); + var_00.atmosfoghazecolor = (1,0.808463,0.631157); + var_00.atmosfoghazestrength = 0.304688; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18.25; + var_00.atmosfoghalfplanedistance = 14337.5; + var_00.atmosfogstartdistance = 283.688; + var_00.atmosfogdistancescale = 1.25; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 88; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -255; + var_00.atmosfogheightfoghalfplanedistance = 2241; + var_00 = maps\_utility::create_vision_set_fog("betrayal_grungy"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.76183,0.854865,1); + var_00.atmosfoghazecolor = (1,0.808463,0.631157); + var_00.atmosfoghazestrength = 0.304688; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18.25; + var_00.atmosfoghalfplanedistance = 14337.5; + var_00.atmosfogstartdistance = 283.688; + var_00.atmosfogdistancescale = 1.25; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 88; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -255; + var_00.atmosfogheightfoghalfplanedistance = 2241; + var_00 = maps\_utility::create_vision_set_fog("betrayal_grungy_cg"); + var_00.startdist = 1024; + var_00.halfwaydist = 28916.2; + var_00.red = 0.625173; + var_00.green = 0.604107; + var_00.blue = 0.635538; + var_00.hdrcolorintensity = 16.5443; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.76183,0.854865,1); + var_00.atmosfoghazecolor = (1,0.808463,0.631157); + var_00.atmosfoghazestrength = 0.304688; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18.25; + var_00.atmosfoghalfplanedistance = 14337.5; + var_00.atmosfogstartdistance = 283.688; + var_00.atmosfogdistancescale = 1.25; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 88; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -255; + var_00.atmosfogheightfoghalfplanedistance = 2241; + var_00 = maps\_utility::create_vision_set_fog("betrayal_grungy_market"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.76183,0.854865,1); + var_00.atmosfoghazecolor = (1,0.808463,0.631157); + var_00.atmosfoghazestrength = 0.304688; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18.25; + var_00.atmosfoghalfplanedistance = 14337.5; + var_00.atmosfogstartdistance = 283.688; + var_00.atmosfogdistancescale = 1.25; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 88; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -255; + var_00.atmosfogheightfoghalfplanedistance = 2241; + var_00 = maps\_utility::create_vision_set_fog("betrayal_grungy_market_cg"); + var_00.startdist = 679.935; + var_00.halfwaydist = 80488.6; + var_00.red = 0.586426; + var_00.green = 0.604107; + var_00.blue = 0.635538; + var_00.hdrcolorintensity = 17.891; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.76183,0.854865,1); + var_00.atmosfoghazecolor = (1,0.808463,0.631157); + var_00.atmosfoghazestrength = 0.304688; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18.25; + var_00.atmosfoghalfplanedistance = 14337.5; + var_00.atmosfogstartdistance = 283.688; + var_00.atmosfogdistancescale = 1.25; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 88; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -255; + var_00.atmosfogheightfoghalfplanedistance = 2241; + var_00 = maps\_utility::create_vision_set_fog("betrayal_grungy_market_int"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.85,0.85,0.85); + var_00.atmosfoghazecolor = (1,0.808463,0.631157); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 16.5; + var_00.atmosfoghalfplanedistance = 34384; + var_00.atmosfogstartdistance = 300; + var_00.atmosfogdistancescale = 1.25; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 88; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -255; + var_00.atmosfogheightfoghalfplanedistance = 2241; + var_00 = maps\_utility::create_vision_set_fog("betrayal_grungy_market_int_cg"); + var_00.startdist = 512; + var_00.halfwaydist = 69149.5; + var_00.red = 0.625173; + var_00.green = 0.604107; + var_00.blue = 0.635538; + var_00.hdrcolorintensity = 15.9212; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.76183,0.854865,1); + var_00.atmosfoghazecolor = (1,0.808463,0.631157); + var_00.atmosfoghazestrength = 0.304688; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18.25; + var_00.atmosfoghalfplanedistance = 14337.5; + var_00.atmosfogstartdistance = 283.688; + var_00.atmosfogdistancescale = 1.25; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 88; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -255; + var_00.atmosfogheightfoghalfplanedistance = 2241; + var_00 = maps\_utility::create_vision_set_fog("betrayal_grungy_boat_chase"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.76183,0.854865,1); + var_00.atmosfoghazecolor = (1,0.808463,0.631157); + var_00.atmosfoghazestrength = 0.304688; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18.25; + var_00.atmosfoghalfplanedistance = 14337.5; + var_00.atmosfogstartdistance = 283.688; + var_00.atmosfogdistancescale = 1.25; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 88; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -255; + var_00.atmosfogheightfoghalfplanedistance = 2241; + var_00 = maps\_utility::create_vision_set_fog("betrayal_grungy_boat_chase_cg"); + var_00.startdist = 576; + var_00.halfwaydist = 12000; + var_00.red = 0.586426; + var_00.green = 0.604107; + var_00.blue = 0.635538; + var_00.hdrcolorintensity = 15.75; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.76183,0.854865,1); + var_00.atmosfoghazecolor = (1,0.808463,0.631157); + var_00.atmosfoghazestrength = 0.304688; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18.25; + var_00.atmosfoghalfplanedistance = 14337.5; + var_00.atmosfogstartdistance = 283.688; + var_00.atmosfogdistancescale = 1.25; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 88; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -255; + var_00.atmosfogheightfoghalfplanedistance = 2241; + var_00 = maps\_utility::create_vision_set_fog("betrayal_grungy_climb"); + var_00.startdist = 200; + var_00.halfwaydist = 2720; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.746,0.761,0.859); + var_00.atmosfoghazecolor = (0.9,0.83,0.631); + var_00.atmosfoghazestrength = 0.2; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 19.0079; + var_00.atmosfoghalfplanedistance = 6947.85; + var_00.atmosfogstartdistance = 24; + var_00.atmosfogdistancescale = 1.25; + var_00.atmosfogskydistance = 18650; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 40; + var_00.atmosfogskyfalloffanglerange = 360; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -255; + var_00.atmosfogheightfoghalfplanedistance = 1333; + var_00 = maps\_utility::create_vision_set_fog("betrayal_grungy_finale"); + var_00.startdist = 200; + var_00.halfwaydist = 2720; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.746,0.761,0.859); + var_00.atmosfoghazecolor = (0.9,0.83,0.631); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 19; + var_00.atmosfoghalfplanedistance = 10000; + var_00.atmosfogstartdistance = 24; + var_00.atmosfogdistancescale = 1.25; + var_00.atmosfogskydistance = 18650; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 40; + var_00.atmosfogskyfalloffanglerange = 360; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 900; + var_00 = maps\_utility::create_vision_set_fog("betrayal_grungy_climb_cg"); + var_00.startdist = 1024; + var_00.halfwaydist = 28916.2; + var_00.red = 0.625173; + var_00.green = 0.604107; + var_00.blue = 0.635538; + var_00.hdrcolorintensity = 16.5443; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.76183,0.854865,1); + var_00.atmosfoghazecolor = (1,0.808463,0.631157); + var_00.atmosfoghazestrength = 0.304688; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18.25; + var_00.atmosfoghalfplanedistance = 14337.5; + var_00.atmosfogstartdistance = 283.688; + var_00.atmosfogdistancescale = 1.25; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 88; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -255; + var_00.atmosfogheightfoghalfplanedistance = 2241; + var_00 = maps\_utility::create_vision_set_fog("betrayal_boat"); + var_00.startdist = 900; + var_00.halfwaydist = 50000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.76183,0.854865,1); + var_00.atmosfoghazecolor = (1,0.808463,0.631157); + var_00.atmosfoghazestrength = 0.304688; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18.25; + var_00.atmosfoghalfplanedistance = 14337.5; + var_00.atmosfogstartdistance = 283.688; + var_00.atmosfogdistancescale = 1.25; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 88; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -255; + var_00.atmosfogheightfoghalfplanedistance = 2241; + var_00 = maps\_utility::create_vision_set_fog("betrayal_boat_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 324; + var_00.red = 0.473; + var_00.green = 0.544; + var_00.blue = 0.404; + var_00.hdrcolorintensity = 12; + var_00.maxopacity = 0.9; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.398,0.79,0.97); + var_00.atmosfoghazecolor = (0.66,0.71,0.68); + var_00.atmosfoghazestrength = 0.73; + var_00.atmosfoghazespread = 0.039; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18.5; + var_00.atmosfoghalfplanedistance = 370; + var_00.atmosfogstartdistance = 350; + var_00.atmosfogdistancescale = 4; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 100; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 1; + var_00.atmosfogheightfoghalfplanedistance = 2; + var_00 = maps\_utility::create_vision_set_fog("betrayal_boat_int"); + var_00.startdist = 900; + var_00.halfwaydist = 50000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.76183,0.854865,1); + var_00.atmosfoghazecolor = (1,0.808463,0.631157); + var_00.atmosfoghazestrength = 0.304688; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 16; + var_00.atmosfoghalfplanedistance = 14337.5; + var_00.atmosfogstartdistance = 283.688; + var_00.atmosfogdistancescale = 1.25; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 88; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -255; + var_00.atmosfogheightfoghalfplanedistance = 2241; + var_00 = maps\_utility::create_vision_set_fog("betrayal_boat_int_cg"); + var_00.startdist = 679.935; + var_00.halfwaydist = 80488.6; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 17.891; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.76183,0.854865,1); + var_00.atmosfoghazecolor = (1,0.808463,0.631157); + var_00.atmosfoghazestrength = 0.304688; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 16; + var_00.atmosfoghalfplanedistance = 14337.5; + var_00.atmosfogstartdistance = 283.688; + var_00.atmosfogdistancescale = 1.25; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 88; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -255; + var_00.atmosfogheightfoghalfplanedistance = 2241; + var_00 = maps\_utility::create_vision_set_fog("betrayal_grungy_int_intro"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.76183,0.854865,1); + var_00.atmosfoghazecolor = (1,0.808463,0.631157); + var_00.atmosfoghazestrength = 0.304688; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18.25; + var_00.atmosfoghalfplanedistance = 14337.5; + var_00.atmosfogstartdistance = 283.688; + var_00.atmosfogdistancescale = 1.25; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 88; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -255; + var_00.atmosfogheightfoghalfplanedistance = 2241; + var_00 = maps\_utility::create_vision_set_fog("betrayal_grungy_int_intro_cg"); + var_00.startdist = 512; + var_00.halfwaydist = 95348; + var_00.red = 0.808706; + var_00.green = 0.781938; + var_00.blue = 0.809684; + var_00.hdrcolorintensity = 17.9; + var_00.maxopacity = 0.14; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.76183,0.854865,1); + var_00.atmosfoghazecolor = (1,0.808463,0.631157); + var_00.atmosfoghazestrength = 0.304688; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18.25; + var_00.atmosfoghalfplanedistance = 14337.5; + var_00.atmosfogstartdistance = 283.688; + var_00.atmosfogdistancescale = 1.25; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 88; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -255; + var_00.atmosfogheightfoghalfplanedistance = 2241; + var_00 = maps\_utility::create_vision_set_fog("betrayal_interior_dark"); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 12.2088; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; +} + +//Function Number: 2 +sunflare() +{ + if(level.nextgen) + { + var_00 = maps\_utility::create_sunflare_setting("default"); + var_00.position = (-65,46.7,0); + maps\_art::sunflare_changes("default",0); + return; + } + + var_00 = maps\_utility::create_sunflare_setting("default"); + var_00.position = (-45.9548,148.928,0); + maps\_art::sunflare_changes("default",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/captured_art.gsc b/AW/PC/maps/createart/captured_art.gsc new file mode 100644 index 0000000..6d6a124 --- /dev/null +++ b/AW/PC/maps/createart/captured_art.gsc @@ -0,0 +1,23 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\captured_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 2:06:30 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + level.player = getentarray("player","classname")[0]; + if(isusinghdr()) + { + maps\createart\captured_fog_hdr::main(); + return; + } + + maps\createart\captured_fog::main(); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/captured_fog.gsc b/AW/PC/maps/createart/captured_fog.gsc new file mode 100644 index 0000000..718cf06 --- /dev/null +++ b/AW/PC/maps/createart/captured_fog.gsc @@ -0,0 +1,24 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\captured_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 31 ms + * Timestamp: 4/22/2024 2:06:30 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\_utility::create_vision_set_fog("captured"); + var_00.startdist = 2048; + var_00.halfwaydist = 25487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + maps\_utility::vision_set_fog_changes("captured",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/captured_fog_hdr.gsc b/AW/PC/maps/createart/captured_fog_hdr.gsc new file mode 100644 index 0000000..a338977 --- /dev/null +++ b/AW/PC/maps/createart/captured_fog_hdr.gsc @@ -0,0 +1,499 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\captured_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:06:30 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + sunflare(); + var_00 = maps\_utility::create_vision_set_fog("captured"); + var_00.startdist = 3584; + var_00.halfwaydist = 26625; + var_00.red = 0.484375; + var_00.green = 0.522006; + var_00.blue = 0.58352; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.9375; + var_00.sungreen = 0.633422; + var_00.sunblue = 0.423353; + var_00.sundir = (0.580239,-0.544428,0.60574); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 40; + var_00.normalfogscale = 0.25; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 60; + var_00.atmosfogenabled = 1; + var_00.hdrcolorintensity = 18; + var_00.hdrsuncolorintensity = 13; + var_00.atmosfogsunfogcolor = (0.5,0.775,0.85); + var_00.atmosfoghazecolor = (0.6,0.785,0.85); + var_00.atmosfoghazestrength = 0.65; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 0.1; + var_00.atmosfoginscatterstrength = 21; + var_00.atmosfoghalfplanedistance = 38193; + var_00.atmosfogstartdistance = 2448; + var_00.atmosfogdistancescale = 2; + var_00.atmosfogskydistance = 10000; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("captured_cg"); + var_00.startdist = 3584; + var_00.halfwaydist = 26625; + var_00.red = 0.484375; + var_00.green = 0.522006; + var_00.blue = 0.58352; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.9375; + var_00.sungreen = 0.633422; + var_00.sunblue = 0.423353; + var_00.sundir = (0.580239,-0.544428,0.60574); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 40; + var_00.normalfogscale = 0.25; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 60; + var_00 = maps\_utility::create_vision_set_fog("captured_s2_end"); + var_00.startdist = 2040; + var_00.halfwaydist = 3800; + var_00.red = 0.953125; + var_00.green = 0.872006; + var_00.blue = 0.724145; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.9375; + var_00.sungreen = 0.633422; + var_00.sunblue = 0.423353; + var_00.sundir = (0.580239,-0.544428,0.60574); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 40; + var_00.normalfogscale = 0.25; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 60; + var_00.atmosfogenabled = 1; + var_00.hdrcolorintensity = 18; + var_00.hdrsuncolorintensity = 13; + var_00.atmosfogsunfogcolor = (0.5,0.775,0.85); + var_00.atmosfoghazecolor = (0.6,0.785,0.85); + var_00.atmosfoghazestrength = 0.65; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 0.1; + var_00.atmosfoginscatterstrength = 21; + var_00.atmosfoghalfplanedistance = 38193; + var_00.atmosfogstartdistance = 2448; + var_00.atmosfogdistancescale = 2; + var_00.atmosfogskydistance = 10000; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("captured_s2_end_cg"); + var_00.startdist = 2040; + var_00.halfwaydist = 3800; + var_00.red = 0.953125; + var_00.green = 0.872006; + var_00.blue = 0.724145; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.9375; + var_00.sungreen = 0.633422; + var_00.sunblue = 0.423353; + var_00.sundir = (0.580239,-0.544428,0.60574); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 40; + var_00.normalfogscale = 0.25; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 60; + var_00 = maps\_utility::create_vision_set_fog("captured_manticore_hall"); + var_00.startdist = 3584; + var_00.halfwaydist = 26625; + var_00.red = 0.484375; + var_00.green = 0.522006; + var_00.blue = 0.58352; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.9375; + var_00.sungreen = 0.633422; + var_00.sunblue = 0.423353; + var_00.sundir = (0.580239,-0.544428,0.60574); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 40; + var_00.normalfogscale = 0.25; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 60; + var_00.atmosfogenabled = 1; + var_00.hdrcolorintensity = 18; + var_00.hdrsuncolorintensity = 13; + var_00.atmosfogsunfogcolor = (0.8,0.775,0.65); + var_00.atmosfoghazecolor = (0.84,0.79,0.85); + var_00.atmosfoghazestrength = 0.65; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 0.35; + var_00.atmosfoginscatterstrength = 18; + var_00.atmosfoghalfplanedistance = 81930; + var_00.atmosfogstartdistance = -148; + var_00.atmosfogdistancescale = 1.15; + var_00.atmosfogskydistance = 10000; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("captured_manticore_hall_cg"); + var_00.startdist = 3584; + var_00.halfwaydist = 26625; + var_00.red = 0.484375; + var_00.green = 0.522006; + var_00.blue = 0.58352; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.9375; + var_00.sungreen = 0.633422; + var_00.sunblue = 0.423353; + var_00.sundir = (0.580239,-0.544428,0.60574); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 40; + var_00.normalfogscale = 0.25; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 60; + var_00 = maps\_utility::create_vision_set_fog("captured_inc_facility"); + var_00.startdist = 2312; + var_00.halfwaydist = 26000; + var_00.red = 0.953125; + var_00.green = 0.872006; + var_00.blue = 0.724145; + var_00.maxopacity = 0.29; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.05; + var_00.sungreen = 0.05; + var_00.sunblue = 0.05; + var_00.sundir = (0.580239,-0.544428,0.60574); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 40; + var_00.normalfogscale = 0.25; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 60; + var_00.atmosfogenabled = 1; + var_00.hdrcolorintensity = -8; + var_00.hdrsuncolorintensity = -8; + var_00.atmosfogsunfogcolor = (0.05,0.05,0.05); + var_00.atmosfoghazecolor = (0.05,0.05,0.05); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 0.45; + var_00.atmosfoginscatterstrength = 0.01; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("captured_inc_facility_cg"); + var_00.startdist = 2312; + var_00.halfwaydist = 26000; + var_00.red = 0.953125; + var_00.green = 0.872006; + var_00.blue = 0.724145; + var_00.maxopacity = 0.29; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.05; + var_00.sungreen = 0.05; + var_00.sunblue = 0.05; + var_00.sundir = (0.580239,-0.544428,0.60574); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 40; + var_00.normalfogscale = 0.25; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 60; + var_00 = maps\_utility::create_vision_set_fog("captured_interior"); + var_00.startdist = 2312; + var_00.halfwaydist = 26000; + var_00.red = 0.953125; + var_00.green = 0.872006; + var_00.blue = 0.724145; + var_00.maxopacity = 0.29; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.05; + var_00.sungreen = 0.05; + var_00.sunblue = 0.05; + var_00.sundir = (0.580239,-0.544428,0.60574); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 40; + var_00.normalfogscale = 0.25; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 60; + var_00.atmosfogenabled = 1; + var_00.hdrcolorintensity = -8; + var_00.hdrsuncolorintensity = -8; + var_00.atmosfogsunfogcolor = (0.05,0.05,0.05); + var_00.atmosfoghazecolor = (0.05,0.05,0.05); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 0.45; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("captured_interior_cg"); + var_00.startdist = 2312; + var_00.halfwaydist = 26000; + var_00.red = 0.953125; + var_00.green = 0.872006; + var_00.blue = 0.724145; + var_00.maxopacity = 0.29; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.05; + var_00.sungreen = 0.05; + var_00.sunblue = 0.05; + var_00.sundir = (0.580239,-0.544428,0.60574); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 40; + var_00.normalfogscale = 0.25; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 60; + var_00 = maps\_utility::create_vision_set_fog("captured_interior_morgue"); + var_00.startdist = 2312; + var_00.halfwaydist = 26000; + var_00.red = 0.953125; + var_00.green = 0.872006; + var_00.blue = 0.724145; + var_00.hdrcolorintensity = -8; + var_00.maxopacity = 0.29; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.9375; + var_00.sungreen = 0.633422; + var_00.sunblue = 0.423353; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0.580239,-0.544428,0.60574); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 40; + var_00.normalfogscale = 0.25; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 60; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.427449,0.550233,0.643527); + var_00.atmosfoghazecolor = (0.550657,0.61456,0.691049); + var_00.atmosfoghazestrength = 0.501632; + var_00.atmosfoghazespread = 0.40044; + var_00.atmosfogextinctionstrength = 0.873524; + var_00.atmosfoginscatterstrength = 11.8944; + var_00.atmosfoghalfplanedistance = 398.332; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -1600.81; + var_00.atmosfogheightfoghalfplanedistance = 12.5406; + var_00 = maps\_utility::create_vision_set_fog("captured_interior_morgue_cg"); + var_00.startdist = 2312; + var_00.halfwaydist = 26000; + var_00.red = 0.953125; + var_00.green = 0.872006; + var_00.blue = 0.724145; + var_00.hdrcolorintensity = -8; + var_00.maxopacity = 0.29; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.9375; + var_00.sungreen = 0.633422; + var_00.sunblue = 0.423353; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0.580239,-0.544428,0.60574); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 40; + var_00.normalfogscale = 0.25; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 60; + var_00 = maps\_utility::create_vision_set_fog("captured_incinerator"); + var_00.startdist = 2312; + var_00.halfwaydist = 26000; + var_00.red = 0.953125; + var_00.green = 0.872006; + var_00.blue = 0.724145; + var_00.maxopacity = 0.29; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.9375; + var_00.sungreen = 0.633422; + var_00.sunblue = 0.423353; + var_00.sundir = (0.580239,-0.544428,0.60574); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 40; + var_00.normalfogscale = 0.25; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 60; + var_00.atmosfogenabled = 1; + var_00.hdrcolorintensity = -8; + var_00.hdrsuncolorintensity = -8; + var_00.atmosfogsunfogcolor = (0.427,0.55,0.645); + var_00.atmosfoghazecolor = (0.551,0.615,0.69); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.4; + var_00.atmosfogextinctionstrength = 0.875; + var_00.atmosfoginscatterstrength = 4.5; + var_00.atmosfoghalfplanedistance = 398.35; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -1600.8; + var_00.atmosfogheightfoghalfplanedistance = 12.54; + var_00 = maps\_utility::create_vision_set_fog("captured_incinerator_cg"); + var_00.startdist = 2312; + var_00.halfwaydist = 26000; + var_00.red = 0.953125; + var_00.green = 0.872006; + var_00.blue = 0.724145; + var_00.maxopacity = 0.29; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.9375; + var_00.sungreen = 0.633422; + var_00.sunblue = 0.423353; + var_00.sundir = (0.580239,-0.544428,0.60574); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 40; + var_00.normalfogscale = 0.25; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 60; + var_00 = maps\_utility::create_vision_set_fog("captured_inc_fires"); + var_00.startdist = 2312; + var_00.halfwaydist = 26000; + var_00.red = 0.953125; + var_00.green = 0.872006; + var_00.blue = 0.724145; + var_00.hdrcolorintensity = -8; + var_00.maxopacity = 0.29; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.9375; + var_00.sungreen = 0.633422; + var_00.sunblue = 0.423353; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0.580239,-0.544428,0.60574); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 40; + var_00.normalfogscale = 0.25; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 60; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.427,0.55,0.645); + var_00.atmosfoghazecolor = (0.551,0.615,0.69); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.4; + var_00.atmosfogextinctionstrength = 0.875; + var_00.atmosfoginscatterstrength = 4.5; + var_00.atmosfoghalfplanedistance = 398.35; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -1600.8; + var_00.atmosfogheightfoghalfplanedistance = 12.54; + var_00 = maps\_utility::create_vision_set_fog("captured_inc_fires_cg"); + var_00.startdist = 2312; + var_00.halfwaydist = 26000; + var_00.red = 0.953125; + var_00.green = 0.872006; + var_00.blue = 0.724145; + var_00.hdrcolorintensity = -8; + var_00.maxopacity = 0.29; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.9375; + var_00.sungreen = 0.633422; + var_00.sunblue = 0.423353; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0.580239,-0.544428,0.60574); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 40; + var_00.normalfogscale = 0.25; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 60; +} + +//Function Number: 2 +sunflare() +{ + var_00 = maps\_utility::create_sunflare_setting("default"); + var_00.position = (-34.0082,-54.2615,0); + var_00 = maps\_utility::create_sunflare_setting("incinerator"); + var_00.position = (1.18652,-2.17894,0); + var_00 = maps\_utility::create_sunflare_setting("fx_inc_fan_godrays"); + var_00.position = (-4.51233,-1.62932,0); + var_00 = maps\_utility::create_sunflare_setting("fx_inc_oven_godrays"); + var_00.position = (-0.118146,-0.636019,0); + var_00 = maps\_utility::create_sunflare_setting("fx_heli_crash_godrays"); + var_00.position = (-60.0684,83.5889,0); + maps\_art::sunflare_changes("default",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/crash_art.gsc b/AW/PC/maps/createart/crash_art.gsc new file mode 100644 index 0000000..2eb922a --- /dev/null +++ b/AW/PC/maps/createart/crash_art.gsc @@ -0,0 +1,23 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\crash_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 23 ms + * Timestamp: 4/22/2024 2:06:30 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + level.player = getentarray("player","classname")[0]; + if(isusinghdr()) + { + maps\createart\crash_fog_hdr::main(); + return; + } + + maps\createart\crash_fog::main(); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/crash_fog.gsc b/AW/PC/maps/createart/crash_fog.gsc new file mode 100644 index 0000000..5118ce6 --- /dev/null +++ b/AW/PC/maps/createart/crash_fog.gsc @@ -0,0 +1,287 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\crash_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:06:31 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\_utility::create_vision_set_fog("crash"); + var_00.startdist = 251.409; + var_00.halfwaydist = 5455.34; + var_00.red = 0.269384; + var_00.green = 0.354642; + var_00.blue = 0.386627; + var_00.hdrcolorintensity = 11.8966; + var_00.maxopacity = 0.294219; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("crash_skyjack"); + var_00.startdist = 0; + var_00.halfwaydist = 1950; + var_00.red = 0.66; + var_00.green = 0.66; + var_00.blue = 0.66; + var_00.hdrcolorintensity = 17; + var_00.maxopacity = 0.42; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = -4; + var_00.skyfogmaxangle = 62; + var_00 = maps\_utility::create_vision_set_fog("crash_skyjack_heavy_fog"); + var_00.startdist = 0; + var_00.halfwaydist = 150; + var_00.red = 0.66; + var_00.green = 0.66; + var_00.blue = 0.66; + var_00.hdrcolorintensity = 17; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = -4; + var_00.skyfogmaxangle = 62; + var_00 = maps\_utility::create_vision_set_fog("crash_crash_site"); + var_00.startdist = 0; + var_00.halfwaydist = 28800; + var_00.red = 0.74; + var_00.green = 0.77; + var_00.blue = 0.82; + var_00.hdrcolorintensity = 18.25; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.7; + var_00.sungreen = 0.7; + var_00.sunblue = 0.68; + var_00.hdrsuncolorintensity = 17; + var_00.sundir = (-40,-139,0); + var_00.sunbeginfadeangle = 7; + var_00.sunendfadeangle = 32; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 46; + var_00.skyfogmaxangle = 84; + var_00 = maps\_utility::create_vision_set_fog("crash_drone_hall"); + var_00.startdist = 75; + var_00.halfwaydist = 36000; + var_00.red = 0.79; + var_00.green = 0.87; + var_00.blue = 0.91; + var_00.hdrcolorintensity = 10; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("crash_ice_caves_01"); + var_00.startdist = 75; + var_00.halfwaydist = 36000; + var_00.red = 0.79; + var_00.green = 0.87; + var_00.blue = 0.91; + var_00.hdrcolorintensity = 10; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("crash_post_goliath"); + var_00.startdist = 75; + var_00.halfwaydist = 36000; + var_00.red = 0.79; + var_00.green = 0.87; + var_00.blue = 0.91; + var_00.hdrcolorintensity = 10; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("crash_narrow_cave_underwater"); + var_00.startdist = 245; + var_00.halfwaydist = 3400; + var_00.red = 0.55; + var_00.green = 0.74; + var_00.blue = 0.68; + var_00.hdrcolorintensity = 11.7; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00 = maps\_utility::create_vision_set_fog("crash_ice_caves_prometheus"); + var_00.startdist = 75; + var_00.halfwaydist = 36000; + var_00.red = 0.79; + var_00.green = 0.87; + var_00.blue = 0.91; + var_00.hdrcolorintensity = 10; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("crash_ice_caves_02"); + var_00.startdist = 75; + var_00.halfwaydist = 26000; + var_00.red = 0.79; + var_00.green = 0.87; + var_00.blue = 0.91; + var_00.hdrcolorintensity = 10; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("crash_overlook"); + var_00.startdist = 312; + var_00.halfwaydist = 40000; + var_00.red = 0.67; + var_00.green = 0.68; + var_00.blue = 0.7; + var_00.hdrcolorintensity = 17; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.7; + var_00.sungreen = 0.7; + var_00.sunblue = 0.68; + var_00.hdrsuncolorintensity = 17; + var_00.sundir = (-40,-139,0); + var_00.sunbeginfadeangle = 7; + var_00.sunendfadeangle = 32; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0.89; + var_00.skyfogminangle = 42; + var_00.skyfogmaxangle = 80; + var_00 = maps\_utility::create_vision_set_fog("crash_underground_lake"); + var_00.startdist = 10000; + var_00.halfwaydist = 54000; + var_00.red = 0.85; + var_00.green = 0.86; + var_00.blue = 0.9; + var_00.hdrcolorintensity = 15.5; + var_00.maxopacity = 0.6; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.78; + var_00.sungreen = 0.78; + var_00.sunblue = 0.7; + var_00.hdrsuncolorintensity = 15.25; + var_00.sundir = (0.08,-0.99,-0.09); + var_00.sunbeginfadeangle = 4; + var_00.sunendfadeangle = 38; + var_00.normalfogscale = 2.37; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("crash_avalanche"); + var_00.startdist = 312; + var_00.halfwaydist = 18600; + var_00.red = 0.67; + var_00.green = 0.68; + var_00.blue = 0.7; + var_00.hdrcolorintensity = 16.5; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.7; + var_00.sungreen = 0.7; + var_00.sunblue = 0.68; + var_00.hdrsuncolorintensity = 17; + var_00.sundir = (-40,-139,0); + var_00.sunbeginfadeangle = 7; + var_00.sunendfadeangle = 32; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0.89; + var_00.skyfogminangle = 42; + var_00.skyfogmaxangle = 80; +} \ No newline at end of file diff --git a/AW/PC/maps/createart/crash_fog_hdr.gsc b/AW/PC/maps/createart/crash_fog_hdr.gsc new file mode 100644 index 0000000..48000de --- /dev/null +++ b/AW/PC/maps/createart/crash_fog_hdr.gsc @@ -0,0 +1,877 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\crash_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:06:31 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + sunflare(); + var_00 = maps\_utility::create_vision_set_fog("crash"); + var_00.startdist = 251.409; + var_00.halfwaydist = 5455.34; + var_00.red = 0.269384; + var_00.green = 0.354642; + var_00.blue = 0.386627; + var_00.hdrcolorintensity = 11.8966; + var_00.maxopacity = 0.294219; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("crash_cg"); + var_00.startdist = 251.409; + var_00.halfwaydist = 5455.34; + var_00.red = 0.269384; + var_00.green = 0.354642; + var_00.blue = 0.386627; + var_00.hdrcolorintensity = 11.8966; + var_00.maxopacity = 0.294219; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("crash_skyjack"); + var_00.startdist = 96; + var_00.halfwaydist = 20400; + var_00.red = 0.78; + var_00.green = 0.75; + var_00.blue = 0.82; + var_00.hdrcolorintensity = 14.75; + var_00.maxopacity = 0.42; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.93; + var_00.sungreen = 0.81; + var_00.sunblue = 0.78; + var_00.hdrsuncolorintensity = 15.75; + var_00.sundir = (0.72,-0.69,0.05); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 62; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = -4; + var_00.skyfogmaxangle = 62; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("crash_skyjack_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 14884.1; + var_00.red = 0.66; + var_00.green = 0.66; + var_00.blue = 0.66; + var_00.hdrcolorintensity = 16; + var_00.maxopacity = 0.298645; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = -4; + var_00.skyfogmaxangle = 62; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("crash_skyjack_heavy_fog"); + var_00.startdist = 0; + var_00.halfwaydist = 150; + var_00.red = 0.66; + var_00.green = 0.66; + var_00.blue = 0.66; + var_00.hdrcolorintensity = 17; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = -4; + var_00.skyfogmaxangle = 62; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("crash_skyjack_heavy_fog_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 150; + var_00.red = 0.66; + var_00.green = 0.66; + var_00.blue = 0.66; + var_00.hdrcolorintensity = 17; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = -4; + var_00.skyfogmaxangle = 62; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("crash_crash_site"); + var_00.startdist = 100; + var_00.halfwaydist = 21000; + var_00.red = 0.71; + var_00.green = 0.71; + var_00.blue = 0.8; + var_00.hdrcolorintensity = 13.2; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.95; + var_00.sungreen = 0.75; + var_00.sunblue = 0.61; + var_00.hdrsuncolorintensity = 13.25; + var_00.sundir = (-0.26,-0.95,0.2); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 59; + var_00.normalfogscale = 1.2; + var_00.skyfogintensity = 0.92; + var_00.skyfogminangle = 54; + var_00.skyfogmaxangle = 78; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("crash_crash_site_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 15516.8; + var_00.red = 0.72071; + var_00.green = 0.608146; + var_00.blue = 0.550091; + var_00.hdrcolorintensity = 13.0721; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.95; + var_00.sungreen = 0.75; + var_00.sunblue = 0.61; + var_00.hdrsuncolorintensity = 13.25; + var_00.sundir = (-0.26,-0.95,0.2); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 59; + var_00.normalfogscale = 1.2; + var_00.skyfogintensity = 0.92; + var_00.skyfogminangle = 54; + var_00.skyfogmaxangle = 78; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("crash_crash_site_cinematic"); + var_00.startdist = 100; + var_00.halfwaydist = 21000; + var_00.red = 0.71; + var_00.green = 0.71; + var_00.blue = 0.8; + var_00.hdrcolorintensity = 13.2; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.95; + var_00.sungreen = 0.75; + var_00.sunblue = 0.61; + var_00.hdrsuncolorintensity = 13.25; + var_00.sundir = (-0.26,-0.95,0.2); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 59; + var_00.normalfogscale = 1.2; + var_00.skyfogintensity = 0.92; + var_00.skyfogminangle = 54; + var_00.skyfogmaxangle = 78; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("crash_crash_site_cinematic_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 15516.8; + var_00.red = 0.72071; + var_00.green = 0.608146; + var_00.blue = 0.550091; + var_00.hdrcolorintensity = 13.0721; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.95; + var_00.sungreen = 0.75; + var_00.sunblue = 0.61; + var_00.hdrsuncolorintensity = 13.25; + var_00.sundir = (-0.26,-0.95,0.2); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 59; + var_00.normalfogscale = 1.2; + var_00.skyfogintensity = 0.92; + var_00.skyfogminangle = 54; + var_00.skyfogmaxangle = 78; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("crash_drone_hall"); + var_00.startdist = 75; + var_00.halfwaydist = 36000; + var_00.red = 0.79; + var_00.green = 0.87; + var_00.blue = 0.91; + var_00.hdrcolorintensity = 10; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("crash_drone_hall_cg"); + var_00.startdist = 75; + var_00.halfwaydist = 36000; + var_00.red = 0.79; + var_00.green = 0.87; + var_00.blue = 0.91; + var_00.hdrcolorintensity = 10; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("crash_ice_caves_01"); + var_00.startdist = 0; + var_00.halfwaydist = 17000; + var_00.red = 0.61; + var_00.green = 0.71; + var_00.blue = 0.82; + var_00.hdrcolorintensity = 10; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 500; + var_00.heightfoghalfplanedistance = 149; + var_00 = maps\_utility::create_vision_set_fog("crash_ice_caves_01_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 2233.27; + var_00.red = 0.456391; + var_00.green = 0.654028; + var_00.blue = 0.761746; + var_00.hdrcolorintensity = 8.43925; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("crash_ice_caves_01_ground_fog"); + var_00.startdist = 100; + var_00.halfwaydist = 10000; + var_00.red = 0.59; + var_00.green = 0.67; + var_00.blue = 0.78; + var_00.hdrcolorintensity = 10; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 159; + var_00.heightfoghalfplanedistance = 118; + var_00 = maps\_utility::create_vision_set_fog("crash_ice_caves_01_ground_fog_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 1500; + var_00.red = 0.5; + var_00.green = 0.61; + var_00.blue = 0.67; + var_00.hdrcolorintensity = 8.5; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("crash_post_goliath"); + var_00.startdist = 450; + var_00.halfwaydist = 22600; + var_00.red = 0.59; + var_00.green = 0.67; + var_00.blue = 0.78; + var_00.hdrcolorintensity = 8.75; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 159; + var_00.heightfoghalfplanedistance = 118; + var_00 = maps\_utility::create_vision_set_fog("crash_post_goliath_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 3618.32; + var_00.red = 0.47; + var_00.green = 0.6; + var_00.blue = 0.67; + var_00.hdrcolorintensity = 8.75; + var_00.maxopacity = 0.392353; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("crash_narrow_cave_underwater"); + var_00.startdist = 90; + var_00.halfwaydist = 300; + var_00.red = 0.3; + var_00.green = 0.38; + var_00.blue = 0.41; + var_00.hdrcolorintensity = 9.2; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("crash_narrow_cave_underwater_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 429.3; + var_00.red = 0.55; + var_00.green = 0.74; + var_00.blue = 0.68; + var_00.hdrcolorintensity = 14.445; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("crash_narrow_cave_underwater_02"); + var_00.startdist = 0; + var_00.halfwaydist = 4000; + var_00.red = 0.55; + var_00.green = 0.74; + var_00.blue = 0.68; + var_00.hdrcolorintensity = 11.7; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("crash_ice_caves_prometheus"); + var_00.startdist = 0; + var_00.halfwaydist = 1825; + var_00.red = 0.11; + var_00.green = 0.17; + var_00.blue = 0.18; + var_00.hdrcolorintensity = 8.75; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 1664; + var_00.heightfoghalfplanedistance = 40; + var_00 = maps\_utility::create_vision_set_fog("crash_ice_caves_prometheus_cg"); + var_00.startdist = 75; + var_00.halfwaydist = 10000; + var_00.red = 0.25; + var_00.green = 0.3; + var_00.blue = 0.31; + var_00.hdrcolorintensity = 8.75; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("crash_ice_caves_02"); + var_00.startdist = 200; + var_00.halfwaydist = 4232; + var_00.red = 0.54; + var_00.green = 0.65; + var_00.blue = 0.7; + var_00.hdrcolorintensity = 10; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = -942.859; + var_00.heightfoghalfplanedistance = 30.0208; + var_00 = maps\_utility::create_vision_set_fog("crash_ice_caves_02_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 9312.52; + var_00.red = 0.54; + var_00.green = 0.65; + var_00.blue = 0.7; + var_00.hdrcolorintensity = 10; + var_00.maxopacity = 0.605677; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("crash_ice_caves_02_ground_fog"); + var_00.startdist = 200; + var_00.halfwaydist = 4232; + var_00.red = 0.54; + var_00.green = 0.65; + var_00.blue = 0.7; + var_00.hdrcolorintensity = 10; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = -942.859; + var_00.heightfoghalfplanedistance = 30.0208; + var_00 = maps\_utility::create_vision_set_fog("crash_overlook"); + var_00.startdist = 100; + var_00.halfwaydist = 32000; + var_00.red = 0.71; + var_00.green = 0.71; + var_00.blue = 0.8; + var_00.hdrcolorintensity = 13.2; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.95; + var_00.sungreen = 0.75; + var_00.sunblue = 0.61; + var_00.hdrsuncolorintensity = 13.25; + var_00.sundir = (-0.5,-0.83,0.23); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 59; + var_00.normalfogscale = 1.2; + var_00.skyfogintensity = 0.92; + var_00.skyfogminangle = 54; + var_00.skyfogmaxangle = 78; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("crash_overlook_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 29289.7; + var_00.red = 0.71; + var_00.green = 0.71; + var_00.blue = 0.8; + var_00.hdrcolorintensity = 13.2; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.95; + var_00.sungreen = 0.75; + var_00.sunblue = 0.61; + var_00.hdrsuncolorintensity = 13.25; + var_00.sundir = (-0.5,-0.83,0.23); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 59; + var_00.normalfogscale = 1.2; + var_00.skyfogintensity = 0.92; + var_00.skyfogminangle = 54; + var_00.skyfogmaxangle = 78; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("crash_underground_lake"); + var_00.startdist = 1000; + var_00.halfwaydist = 64000; + var_00.red = 0.78; + var_00.green = 0.79; + var_00.blue = 0.8; + var_00.hdrcolorintensity = 13.2; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.95; + var_00.sungreen = 0.75; + var_00.sunblue = 0.61; + var_00.hdrsuncolorintensity = 15.25; + var_00.sundir = (0.08,-0.99,-0.09); + var_00.sunbeginfadeangle = 4; + var_00.sunendfadeangle = 38; + var_00.normalfogscale = 2.37; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("crash_underground_lake_cg"); + var_00.startdist = 1000; + var_00.halfwaydist = 64000; + var_00.red = 0.78; + var_00.green = 0.79; + var_00.blue = 0.8; + var_00.hdrcolorintensity = 13.2; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.95; + var_00.sungreen = 0.75; + var_00.sunblue = 0.61; + var_00.hdrsuncolorintensity = 15.25; + var_00.sundir = (0.08,-0.99,-0.09); + var_00.sunbeginfadeangle = 4; + var_00.sunendfadeangle = 38; + var_00.normalfogscale = 2.37; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("crash_lake_underwater"); + var_00.startdist = 0; + var_00.halfwaydist = 5500; + var_00.red = 0.55; + var_00.green = 0.7; + var_00.blue = 0.75; + var_00.hdrcolorintensity = 11.7; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("crash_avalanche"); + var_00.startdist = 100; + var_00.halfwaydist = 32000; + var_00.red = 0.71; + var_00.green = 0.71; + var_00.blue = 0.8; + var_00.hdrcolorintensity = 13.2; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.95; + var_00.sungreen = 0.75; + var_00.sunblue = 0.61; + var_00.hdrsuncolorintensity = 13.25; + var_00.sundir = (-0.26,-0.95,0.2); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 59; + var_00.normalfogscale = 1.2; + var_00.skyfogintensity = 0.92; + var_00.skyfogminangle = 54; + var_00.skyfogmaxangle = 78; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("crash_avalanche_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 19790.4; + var_00.red = 0.774191; + var_00.green = 0.709987; + var_00.blue = 0.715529; + var_00.hdrcolorintensity = 13.2; + var_00.maxopacity = 0.257797; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.95; + var_00.sungreen = 0.75; + var_00.sunblue = 0.61; + var_00.hdrsuncolorintensity = 13.25; + var_00.sundir = (-0.26,-0.95,0.2); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 59; + var_00.normalfogscale = 1.2; + var_00.skyfogintensity = 0.92; + var_00.skyfogminangle = 54; + var_00.skyfogmaxangle = 78; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("crash_avalanche_cinematic"); + var_00.startdist = 100; + var_00.halfwaydist = 32000; + var_00.red = 0.71; + var_00.green = 0.71; + var_00.blue = 0.8; + var_00.hdrcolorintensity = 13.2; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.95; + var_00.sungreen = 0.75; + var_00.sunblue = 0.61; + var_00.hdrsuncolorintensity = 13.25; + var_00.sundir = (-0.26,-0.95,0.2); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 59; + var_00.normalfogscale = 1.2; + var_00.skyfogintensity = 0.92; + var_00.skyfogminangle = 54; + var_00.skyfogmaxangle = 78; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; +} + +//Function Number: 2 +sunflare() +{ + var_00 = maps\_utility::create_sunflare_setting("-15 -78 0"); + var_00.position = (0,0,0); + var_00 = maps\_utility::create_sunflare_setting("default"); + var_00.position = (-10.0915,-88.1204,0); + maps\_art::sunflare_changes("default",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/credits_s1_art.gsc b/AW/PC/maps/createart/credits_s1_art.gsc new file mode 100644 index 0000000..6944948 --- /dev/null +++ b/AW/PC/maps/createart/credits_s1_art.gsc @@ -0,0 +1,17 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\credits_s1_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 23 ms + * Timestamp: 4/22/2024 2:06:31 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + level.player = getentarray("player","classname")[0]; + maps\createart\credits_s1_fog::main(); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/credits_s1_fog.gsc b/AW/PC/maps/createart/credits_s1_fog.gsc new file mode 100644 index 0000000..e8ce02f --- /dev/null +++ b/AW/PC/maps/createart/credits_s1_fog.gsc @@ -0,0 +1,24 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\credits_s1_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 2:06:32 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\_utility::create_vision_set_fog("credits_s1"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + maps\_utility::vision_set_fog_changes("credits_s1",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/credits_s1_fog_hdr.gsc b/AW/PC/maps/createart/credits_s1_fog_hdr.gsc new file mode 100644 index 0000000..e96751d --- /dev/null +++ b/AW/PC/maps/createart/credits_s1_fog_hdr.gsc @@ -0,0 +1,24 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\credits_s1_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 2:06:32 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\_utility::create_vision_set_fog("credits_s1"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + maps\_utility::vision_set_fog_changes("credits_s1",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/detroit_art.gsc b/AW/PC/maps/createart/detroit_art.gsc new file mode 100644 index 0000000..f9427e8 --- /dev/null +++ b/AW/PC/maps/createart/detroit_art.gsc @@ -0,0 +1,23 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\detroit_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 20 ms + * Timestamp: 4/22/2024 2:06:32 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + level.player = getentarray("player","classname")[0]; + if(isusinghdr()) + { + maps\createart\detroit_fog_hdr::main(); + return; + } + + maps\createart\detroit_fog::main(); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/detroit_fog.gsc b/AW/PC/maps/createart/detroit_fog.gsc new file mode 100644 index 0000000..ffe0cc2 --- /dev/null +++ b/AW/PC/maps/createart/detroit_fog.gsc @@ -0,0 +1,78 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\detroit_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 23 ms + * Timestamp: 4/22/2024 2:06:32 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\_utility::create_vision_set_fog("detroit"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00 = maps\_utility::create_vision_set_fog("detroit_intro"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00 = maps\_utility::create_vision_set_fog("detroit_camp"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00 = maps\_utility::create_vision_set_fog("detroit_garage"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00 = maps\_utility::create_vision_set_fog("detroit_hospital"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00 = maps\_utility::create_vision_set_fog("detroit_school"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00 = maps\_utility::create_vision_set_fog("detroit_sewer"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + maps\_utility::vision_set_fog_changes("detroit_intro",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/detroit_fog_hdr.gsc b/AW/PC/maps/createart/detroit_fog_hdr.gsc new file mode 100644 index 0000000..2558013 --- /dev/null +++ b/AW/PC/maps/createart/detroit_fog_hdr.gsc @@ -0,0 +1,2897 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\detroit_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 101 ms + * Timestamp: 4/22/2024 2:06:33 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + sunflare(); + var_00 = maps\_utility::create_vision_set_fog("detroit"); + var_00.startdist = 327.193; + var_00.halfwaydist = 1550.27; + var_00.red = 1; + var_00.green = 0.942263; + var_00.blue = 0.88079; + var_00.hdrcolorintensity = 6.13571; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 0.90802; + var_00.hdrsuncolorintensity = 9.58786; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 65.1141; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.453342,0.693587,1); + var_00.atmosfoghazecolor = (0.507813,0.507813,0.507813); + var_00.atmosfoghazestrength = 0.0234375; + var_00.atmosfoghazespread = 0.00217395; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 9.06559; + var_00.atmosfoghalfplanedistance = 4304.76; + var_00.atmosfogstartdistance = 146.408; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0676692,0.867452,0.492898); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -483.795; + var_00.atmosfogheightfoghalfplanedistance = 400.748; + var_00 = maps\_utility::create_vision_set_fog("detroit_lightning"); + var_00.startdist = 327.193; + var_00.halfwaydist = 1550.27; + var_00.red = 1; + var_00.green = 0.942263; + var_00.blue = 0.88079; + var_00.hdrcolorintensity = 6.13571; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 0.90802; + var_00.hdrsuncolorintensity = 9.58786; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 65.1141; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.453342,0.693587,1); + var_00.atmosfoghazecolor = (0.507813,0.507813,0.507813); + var_00.atmosfoghazestrength = 0.0234375; + var_00.atmosfoghazespread = 0.00217395; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 13.2242; + var_00.atmosfoghalfplanedistance = 2292.56; + var_00.atmosfogstartdistance = -225.16; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0676692,0.867452,0.492898); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -483.795; + var_00.atmosfogheightfoghalfplanedistance = 400.748; + var_00 = maps\_utility::create_vision_set_fog("detroit_lightning_max"); + var_00.startdist = 327.193; + var_00.halfwaydist = 1550.27; + var_00.red = 1; + var_00.green = 0.942263; + var_00.blue = 0.88079; + var_00.hdrcolorintensity = 6.13571; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 0.90802; + var_00.hdrsuncolorintensity = 9.58786; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 65.1141; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.453342,0.693587,1); + var_00.atmosfoghazecolor = (0.507813,0.507813,0.507813); + var_00.atmosfoghazestrength = 0.0234375; + var_00.atmosfoghazespread = 0.00217395; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 13.2242; + var_00.atmosfoghalfplanedistance = 2292.56; + var_00.atmosfogstartdistance = -225.16; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0676692,0.867452,0.492898); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -483.795; + var_00.atmosfogheightfoghalfplanedistance = 400.748; + var_00 = maps\_utility::create_vision_set_fog("detroit_intro"); + var_00.startdist = 1232.99; + var_00.halfwaydist = 14585.9; + var_00.red = 1; + var_00.green = 0.98339; + var_00.blue = 0.990718; + var_00.hdrcolorintensity = 12.7831; + var_00.maxopacity = 0.611022; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.808142; + var_00.sungreen = 0.808738; + var_00.sunblue = 0.672105; + var_00.hdrsuncolorintensity = 11.1404; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 51.7037; + var_00.sunendfadeangle = 95.2067; + var_00.normalfogscale = 1.01096; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = 768; + var_00.heightfoghalfplanedistance = 1320; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.607789,0.718652,0.96272); + var_00.atmosfoghazecolor = (0.40625,0.429688,0.570313); + var_00.atmosfoghazestrength = 0.0625; + var_00.atmosfoghazespread = 0.00126047; + var_00.atmosfogextinctionstrength = 0.807874; + var_00.atmosfoginscatterstrength = 9; + var_00.atmosfoghalfplanedistance = 453.3; + var_00.atmosfogstartdistance = 643.117; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0730542,0.865941,0.494782); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -100.284; + var_00.atmosfogheightfoghalfplanedistance = 193; + var_00 = maps\_utility::create_vision_set_fog("detroit_intro_red"); + var_00.startdist = 327.193; + var_00.halfwaydist = 1550.27; + var_00.red = 1; + var_00.green = 0.942263; + var_00.blue = 0.88079; + var_00.hdrcolorintensity = 6.13571; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 0.90802; + var_00.hdrsuncolorintensity = 9.58786; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 65.1141; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.453342,0.693587,1); + var_00.atmosfoghazecolor = (0.507813,0.507813,0.507813); + var_00.atmosfoghazestrength = 0.0234375; + var_00.atmosfoghazespread = 0.00217395; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 13.2242; + var_00.atmosfoghalfplanedistance = 2292.56; + var_00.atmosfogstartdistance = -225.16; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0676692,0.867452,0.492898); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -483.795; + var_00.atmosfogheightfoghalfplanedistance = 400.748; + var_00 = maps\_utility::create_vision_set_fog("detroit_camp"); + var_00.startdist = 1232.99; + var_00.halfwaydist = 14585.9; + var_00.red = 1; + var_00.green = 0.98339; + var_00.blue = 0.990718; + var_00.hdrcolorintensity = 12.7831; + var_00.maxopacity = 0.611022; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.808142; + var_00.sungreen = 0.808738; + var_00.sunblue = 0.672105; + var_00.hdrsuncolorintensity = 11.1404; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 51.7037; + var_00.sunendfadeangle = 95.2067; + var_00.normalfogscale = 1.01096; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = 768; + var_00.heightfoghalfplanedistance = 1320; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.85,0.91,0.99); + var_00.atmosfoghazecolor = (0.40625,0.429688,0.570313); + var_00.atmosfoghazestrength = 0.0625; + var_00.atmosfoghazespread = 0.00126047; + var_00.atmosfogextinctionstrength = 0.807874; + var_00.atmosfoginscatterstrength = 10.771; + var_00.atmosfoghalfplanedistance = 2792.3; + var_00.atmosfogstartdistance = 942.117; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0730542,0.865941,0.494782); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -110.284; + var_00.atmosfogheightfoghalfplanedistance = 155; + var_00 = maps\_utility::create_vision_set_fog("detroit_camp_exit"); + var_00.startdist = 327.193; + var_00.halfwaydist = 1550.27; + var_00.red = 1; + var_00.green = 0.942263; + var_00.blue = 0.88079; + var_00.hdrcolorintensity = 6.13571; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 0.90802; + var_00.hdrsuncolorintensity = 9.58786; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 65.1141; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.453342,0.693587,1); + var_00.atmosfoghazecolor = (0.507813,0.507813,0.507813); + var_00.atmosfoghazestrength = 0.0234375; + var_00.atmosfoghazespread = 0.00217395; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 13.2242; + var_00.atmosfoghalfplanedistance = 2292.56; + var_00.atmosfogstartdistance = -225.16; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0676692,0.867452,0.492898); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -483.795; + var_00.atmosfogheightfoghalfplanedistance = 400.748; + var_00 = maps\_utility::create_vision_set_fog("detroit_camp_center"); + var_00.startdist = 1232.99; + var_00.halfwaydist = 14585.9; + var_00.red = 1; + var_00.green = 0.98339; + var_00.blue = 0.990718; + var_00.hdrcolorintensity = 12.7831; + var_00.maxopacity = 0.611022; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.808142; + var_00.sungreen = 0.808738; + var_00.sunblue = 0.672105; + var_00.hdrsuncolorintensity = 11.1404; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 51.7037; + var_00.sunendfadeangle = 95.2067; + var_00.normalfogscale = 1.01096; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = 768; + var_00.heightfoghalfplanedistance = 1320; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.607789,0.718652,0.96272); + var_00.atmosfoghazecolor = (0.40625,0.429688,0.570313); + var_00.atmosfoghazestrength = 0.0625; + var_00.atmosfoghazespread = 0.00126047; + var_00.atmosfogextinctionstrength = 0.807874; + var_00.atmosfoginscatterstrength = 11.5; + var_00.atmosfoghalfplanedistance = 453.3; + var_00.atmosfogstartdistance = 643.117; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0730542,0.865941,0.494782); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -100.284; + var_00.atmosfogheightfoghalfplanedistance = 193; + var_00 = maps\_utility::create_vision_set_fog("detroit_camp_scan"); + var_00.startdist = 1232.99; + var_00.halfwaydist = 14585.9; + var_00.red = 1; + var_00.green = 0.98339; + var_00.blue = 0.990718; + var_00.hdrcolorintensity = 12.7831; + var_00.maxopacity = 0.611022; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.808142; + var_00.sungreen = 0.808738; + var_00.sunblue = 0.672105; + var_00.hdrsuncolorintensity = 11.1404; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 51.7037; + var_00.sunendfadeangle = 95.2067; + var_00.normalfogscale = 1.01096; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = 768; + var_00.heightfoghalfplanedistance = 1320; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.607789,0.718652,0.96272); + var_00.atmosfoghazecolor = (0.40625,0.429688,0.570313); + var_00.atmosfoghazestrength = 0.0625; + var_00.atmosfoghazespread = 0.00126047; + var_00.atmosfogextinctionstrength = 0.807874; + var_00.atmosfoginscatterstrength = 9.75271; + var_00.atmosfoghalfplanedistance = 453.3; + var_00.atmosfogstartdistance = 643.117; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0730542,0.865941,0.494782); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -100.284; + var_00.atmosfogheightfoghalfplanedistance = 193; + var_00 = maps\_utility::create_vision_set_fog("detroit_jetbike_fog"); + var_00.startdist = 1232.99; + var_00.halfwaydist = 14585.9; + var_00.red = 1; + var_00.green = 0.98339; + var_00.blue = 0.990718; + var_00.hdrcolorintensity = 12.7831; + var_00.maxopacity = 0.611022; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.808142; + var_00.sungreen = 0.808738; + var_00.sunblue = 0.672105; + var_00.hdrsuncolorintensity = 11.1404; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 51.7037; + var_00.sunendfadeangle = 95.2067; + var_00.normalfogscale = 1.01096; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = 768; + var_00.heightfoghalfplanedistance = 1320; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.404063,0.600583,0.907156); + var_00.atmosfoghazecolor = (0.507,0.529528,0.601); + var_00.atmosfoghazestrength = 0.042; + var_00.atmosfoghazespread = 0.00126047; + var_00.atmosfogextinctionstrength = 0.612562; + var_00.atmosfoginscatterstrength = 11.5; + var_00.atmosfoghalfplanedistance = 4091.21; + var_00.atmosfogstartdistance = 20.446; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0730542,0.865941,0.494782); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 481.56; + var_00.atmosfogheightfoghalfplanedistance = 450.411; + var_00 = maps\_utility::create_vision_set_fog("detroit_jetbike"); + var_00.startdist = 1232.99; + var_00.halfwaydist = 14585.9; + var_00.red = 1; + var_00.green = 0.98339; + var_00.blue = 0.990718; + var_00.hdrcolorintensity = 12.7831; + var_00.maxopacity = 0.611022; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.808142; + var_00.sungreen = 0.808738; + var_00.sunblue = 0.672105; + var_00.hdrsuncolorintensity = 11.1404; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 51.7037; + var_00.sunendfadeangle = 95.2067; + var_00.normalfogscale = 1.01096; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = 768; + var_00.heightfoghalfplanedistance = 1320; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.404063,0.600583,0.907156); + var_00.atmosfoghazecolor = (0.507,0.529528,0.601); + var_00.atmosfoghazestrength = 0.042; + var_00.atmosfoghazespread = 0.00126047; + var_00.atmosfogextinctionstrength = 0.612562; + var_00.atmosfoginscatterstrength = 11.5; + var_00.atmosfoghalfplanedistance = 4091.21; + var_00.atmosfogstartdistance = 20.446; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0730542,0.865941,0.494782); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 481.56; + var_00.atmosfogheightfoghalfplanedistance = 450.411; + var_00 = maps\_utility::create_vision_set_fog("detroit_jetbike_end"); + var_00.startdist = 1232.99; + var_00.halfwaydist = 14585.9; + var_00.red = 1; + var_00.green = 0.98339; + var_00.blue = 0.990718; + var_00.hdrcolorintensity = 12.7831; + var_00.maxopacity = 0.611022; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.808142; + var_00.sungreen = 0.808738; + var_00.sunblue = 0.672105; + var_00.hdrsuncolorintensity = 11.1404; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 51.7037; + var_00.sunendfadeangle = 95.2067; + var_00.normalfogscale = 1.01096; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = 768; + var_00.heightfoghalfplanedistance = 1320; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.585731,0.702982,0.962672); + var_00.atmosfoghazecolor = (0.40625,0.429688,0.570313); + var_00.atmosfoghazestrength = 0.0625; + var_00.atmosfoghazespread = 0.00126047; + var_00.atmosfogextinctionstrength = 0.807874; + var_00.atmosfoginscatterstrength = 8.17304; + var_00.atmosfoghalfplanedistance = 592.842; + var_00.atmosfogstartdistance = 473.369; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0730542,0.865941,0.494782); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -100.284; + var_00.atmosfogheightfoghalfplanedistance = 193; + var_00 = maps\_utility::create_vision_set_fog("detroit_jetbike_end_fire"); + var_00.startdist = 1232.99; + var_00.halfwaydist = 14585.9; + var_00.red = 1; + var_00.green = 0.98339; + var_00.blue = 0.990718; + var_00.hdrcolorintensity = 12.7831; + var_00.maxopacity = 0.611022; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.808142; + var_00.sungreen = 0.808738; + var_00.sunblue = 0.672105; + var_00.hdrsuncolorintensity = 11.1404; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 51.7037; + var_00.sunendfadeangle = 95.2067; + var_00.normalfogscale = 1.01096; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = 768; + var_00.heightfoghalfplanedistance = 1320; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.585731,0.702982,0.962672); + var_00.atmosfoghazecolor = (0.40625,0.429688,0.570313); + var_00.atmosfoghazestrength = 0.0625; + var_00.atmosfoghazespread = 0.00126047; + var_00.atmosfogextinctionstrength = 0.807874; + var_00.atmosfoginscatterstrength = 8.17304; + var_00.atmosfoghalfplanedistance = 592.842; + var_00.atmosfogstartdistance = 473.369; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0730542,0.865941,0.494782); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -100.284; + var_00.atmosfogheightfoghalfplanedistance = 193; + var_00 = maps\_utility::create_vision_set_fog("detroit_jetbike_exit"); + var_00.startdist = 1232.99; + var_00.halfwaydist = 14585.9; + var_00.red = 1; + var_00.green = 0.98339; + var_00.blue = 0.990718; + var_00.hdrcolorintensity = 12.7831; + var_00.maxopacity = 0.611022; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.808142; + var_00.sungreen = 0.808738; + var_00.sunblue = 0.672105; + var_00.hdrsuncolorintensity = 11.1404; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 51.7037; + var_00.sunendfadeangle = 95.2067; + var_00.normalfogscale = 1.01096; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = 768; + var_00.heightfoghalfplanedistance = 1320; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.404063,0.600583,0.907156); + var_00.atmosfoghazecolor = (0.507,0.529528,0.601); + var_00.atmosfoghazestrength = 0.042; + var_00.atmosfoghazespread = 0.00126047; + var_00.atmosfogextinctionstrength = 0.612562; + var_00.atmosfoginscatterstrength = 10; + var_00.atmosfoghalfplanedistance = 4091.21; + var_00.atmosfogstartdistance = 50.446; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0730542,0.865941,0.494782); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -102.56; + var_00.atmosfogheightfoghalfplanedistance = 246.411; + var_00 = maps\_utility::create_vision_set_fog("detroit_jetbike_exit_tunnel"); + var_00.startdist = 1232.99; + var_00.halfwaydist = 14585.9; + var_00.red = 1; + var_00.green = 0.98339; + var_00.blue = 0.990718; + var_00.hdrcolorintensity = 12.7831; + var_00.maxopacity = 0.611022; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.808142; + var_00.sungreen = 0.808738; + var_00.sunblue = 0.672105; + var_00.hdrsuncolorintensity = 11.1404; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 51.7037; + var_00.sunendfadeangle = 95.2067; + var_00.normalfogscale = 1.01096; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = 768; + var_00.heightfoghalfplanedistance = 1320; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.585731,0.702982,0.962672); + var_00.atmosfoghazecolor = (0.40625,0.429688,0.570313); + var_00.atmosfoghazestrength = 0.0625; + var_00.atmosfoghazespread = 0.00126047; + var_00.atmosfogextinctionstrength = 0.807874; + var_00.atmosfoginscatterstrength = 6.17304; + var_00.atmosfoghalfplanedistance = 592.842; + var_00.atmosfogstartdistance = 473.369; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0730542,0.865941,0.494782); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -100.284; + var_00.atmosfogheightfoghalfplanedistance = 193; + var_00 = maps\_utility::create_vision_set_fog("detroit_garage"); + var_00.startdist = 1232.99; + var_00.halfwaydist = 14585.9; + var_00.red = 1; + var_00.green = 0.98339; + var_00.blue = 0.990718; + var_00.hdrcolorintensity = 12.7831; + var_00.maxopacity = 0.611022; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.808142; + var_00.sungreen = 0.808738; + var_00.sunblue = 0.672105; + var_00.hdrsuncolorintensity = 11.1404; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 51.7037; + var_00.sunendfadeangle = 95.2067; + var_00.normalfogscale = 1.01096; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = 768; + var_00.heightfoghalfplanedistance = 1320; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.585731,0.702982,0.962672); + var_00.atmosfoghazecolor = (0.40625,0.429688,0.570313); + var_00.atmosfoghazestrength = 0.0625; + var_00.atmosfoghazespread = 0.00126047; + var_00.atmosfogextinctionstrength = 0.807874; + var_00.atmosfoginscatterstrength = 4.55; + var_00.atmosfoghalfplanedistance = 592.842; + var_00.atmosfogstartdistance = 473.369; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0730542,0.865941,0.494782); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -100.284; + var_00.atmosfogheightfoghalfplanedistance = 193; + var_00 = maps\_utility::create_vision_set_fog("detroit_hospital"); + var_00.startdist = 271.7; + var_00.halfwaydist = 2322.69; + var_00.red = 0.83226; + var_00.green = 1; + var_00.blue = 0.818534; + var_00.hdrcolorintensity = 4.16668; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.657884,0.695313,0.241235); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 6.54217; + var_00.atmosfoghalfplanedistance = 857.015; + var_00.atmosfogstartdistance = 314.308; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -3712; + var_00.atmosfogheightfoghalfplanedistance = 3944; + var_00 = maps\_utility::create_vision_set_fog("detroit_hospital_top"); + var_00.startdist = 271.7; + var_00.halfwaydist = 2322.69; + var_00.red = 0.83226; + var_00.green = 1; + var_00.blue = 0.818534; + var_00.hdrcolorintensity = 4.16668; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.577,0.656213,0.555748); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 6.93754; + var_00.atmosfoghalfplanedistance = 1404.03; + var_00.atmosfogstartdistance = 223.544; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -3712; + var_00.atmosfogheightfoghalfplanedistance = 3944; + var_00 = maps\_utility::create_vision_set_fog("detroit_hospital_capture1"); + var_00.startdist = 271.7; + var_00.halfwaydist = 2322.69; + var_00.red = 0.83226; + var_00.green = 1; + var_00.blue = 0.818534; + var_00.hdrcolorintensity = 4.16668; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.577,0.656213,0.555748); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 6.93754; + var_00.atmosfoghalfplanedistance = 1404.03; + var_00.atmosfogstartdistance = 223.544; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -3712; + var_00.atmosfogheightfoghalfplanedistance = 3944; + var_00 = maps\_utility::create_vision_set_fog("detroit_hospital_capture"); + var_00.startdist = 90.7; + var_00.halfwaydist = 2222.69; + var_00.red = 0.81; + var_00.green = 0.81; + var_00.blue = 0.81; + var_00.hdrcolorintensity = 5.5; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.577,0.656213,0.555748); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 8.18754; + var_00.atmosfoghalfplanedistance = 1404.03; + var_00.atmosfogstartdistance = 223.544; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -3712; + var_00.atmosfogheightfoghalfplanedistance = 3944; + var_00 = maps\_utility::create_vision_set_fog("detroit_sentinal"); + var_00.startdist = 900.7; + var_00.halfwaydist = 1522.69; + var_00.red = 0.81; + var_00.green = 0.85; + var_00.blue = 0.87; + var_00.hdrcolorintensity = 7; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 0.90802; + var_00.hdrsuncolorintensity = 9.58786; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 65.1141; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.539001,0.690129,0.999994); + var_00.atmosfoghazecolor = (0.507813,0.507813,0.507813); + var_00.atmosfoghazestrength = 0.0234375; + var_00.atmosfoghazespread = 0.00217395; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 8; + var_00.atmosfoghalfplanedistance = 198.518; + var_00.atmosfogstartdistance = 900.351; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0676692,0.867452,0.492898); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -840.828; + var_00.atmosfogheightfoghalfplanedistance = 271.722; + var_00 = maps\_utility::create_vision_set_fog("detroit_school"); + var_00.startdist = 181.058; + var_00.halfwaydist = 4812.5; + var_00.red = 0.82; + var_00.green = 0.82; + var_00.blue = 0.82; + var_00.hdrcolorintensity = 6.05432; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 92.8484; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.287412,0.378386,0.526596); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 0.34375; + var_00.atmosfoginscatterstrength = 7.75053; + var_00.atmosfoghalfplanedistance = 261.977; + var_00.atmosfogstartdistance = 388.354; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -3712; + var_00.atmosfogheightfoghalfplanedistance = 3944; + var_00 = maps\_utility::create_vision_set_fog("detroit_school_walk"); + var_00.startdist = 213.632; + var_00.halfwaydist = 8000.92; + var_00.red = 0.976533; + var_00.green = 0.989455; + var_00.blue = 1; + var_00.hdrcolorintensity = 3.80472; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = -0.975604; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 92.8484; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.327676,0.434997,0.499995); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 2.84551; + var_00.atmosfoghalfplanedistance = 31026.6; + var_00.atmosfogstartdistance = 299.337; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_school_walk_nofog"); + var_00.startdist = 213.632; + var_00.halfwaydist = 8000.92; + var_00.red = 0.976533; + var_00.green = 0.989455; + var_00.blue = 1; + var_00.hdrcolorintensity = 3.80472; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = -0.43077; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 92.8484; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.327676,0.434997,0.499995); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 31026.6; + var_00.atmosfogstartdistance = 299.337; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_school_btm"); + var_00.startdist = 213.632; + var_00.halfwaydist = 8000.92; + var_00.red = 0.976533; + var_00.green = 0.989455; + var_00.blue = 1; + var_00.hdrcolorintensity = 3.80472; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = -0.43077; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 92.8484; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.327676,0.434997,0.499995); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 0.820313; + var_00.atmosfoginscatterstrength = 11.244; + var_00.atmosfoghalfplanedistance = 26930.6; + var_00.atmosfogstartdistance = 299.337; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_school_entry"); + var_00.startdist = 213.632; + var_00.halfwaydist = 8000.92; + var_00.red = 0.976533; + var_00.green = 0.989455; + var_00.blue = 1; + var_00.hdrcolorintensity = 6.41483; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.654305; + var_00.sungreen = 0.722896; + var_00.sunblue = 0.85767; + var_00.hdrsuncolorintensity = 8.0386; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 65.1141; + var_00.sunendfadeangle = 92.8484; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_school_basement"); + var_00.startdist = 140.676; + var_00.halfwaydist = 4720.9; + var_00.red = 0.732533; + var_00.green = 0.824553; + var_00.blue = 1; + var_00.hdrcolorintensity = 5.11125; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 92.8484; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.327676,0.434997,0.499995); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 12.744; + var_00.atmosfoghalfplanedistance = 31026.6; + var_00.atmosfogstartdistance = 299.337; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_sewer"); + var_00.startdist = 372.758; + var_00.halfwaydist = 3673.17; + var_00.red = 0.989618; + var_00.green = 0.969464; + var_00.blue = 0.976687; + var_00.hdrcolorintensity = 6.05686; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.654305; + var_00.sungreen = 0.722896; + var_00.sunblue = 0.85767; + var_00.hdrsuncolorintensity = 11.0871; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 65.1141; + var_00.sunendfadeangle = 92.8484; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_city"); + var_00.startdist = 1232.99; + var_00.halfwaydist = 14585.9; + var_00.red = 1; + var_00.green = 0.98339; + var_00.blue = 0.990718; + var_00.hdrcolorintensity = 12.7831; + var_00.maxopacity = 0.611022; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.808142; + var_00.sungreen = 0.808738; + var_00.sunblue = 0.672105; + var_00.hdrsuncolorintensity = 11.1404; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 51.7037; + var_00.sunendfadeangle = 95.2067; + var_00.normalfogscale = 1.01096; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = 768; + var_00.heightfoghalfplanedistance = 1320; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.45,0.600583,0.907156); + var_00.atmosfoghazecolor = (0.507,0.529528,0.601); + var_00.atmosfoghazestrength = 0.042; + var_00.atmosfoghazespread = 0.00126047; + var_00.atmosfogextinctionstrength = 0.612562; + var_00.atmosfoginscatterstrength = 10.6; + var_00.atmosfoghalfplanedistance = 2043.21; + var_00.atmosfogstartdistance = 250.446; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0730542,0.865941,0.494782); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 256.56; + var_00.atmosfogheightfoghalfplanedistance = 600.411; + var_00 = maps\_utility::create_vision_set_fog("detroit_city_top"); + var_00.startdist = 1232.99; + var_00.halfwaydist = 14585.9; + var_00.red = 1; + var_00.green = 0.98339; + var_00.blue = 0.990718; + var_00.hdrcolorintensity = 12.7831; + var_00.maxopacity = 0.611022; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.808142; + var_00.sungreen = 0.808738; + var_00.sunblue = 0.672105; + var_00.hdrsuncolorintensity = 11.1404; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 51.7037; + var_00.sunendfadeangle = 95.2067; + var_00.normalfogscale = 1.01096; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = 768; + var_00.heightfoghalfplanedistance = 1320; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.45,0.600583,0.907156); + var_00.atmosfoghazecolor = (0.507,0.529528,0.601); + var_00.atmosfoghazestrength = 0.042; + var_00.atmosfoghazespread = 0.00126047; + var_00.atmosfogextinctionstrength = 0.612562; + var_00.atmosfoginscatterstrength = 12; + var_00.atmosfoghalfplanedistance = 2043.21; + var_00.atmosfogstartdistance = 250.446; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0730542,0.865941,0.494782); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 256.56; + var_00.atmosfogheightfoghalfplanedistance = 600.411; + var_00 = maps\_utility::create_vision_set_fog("detroit_city_far_fog"); + var_00.startdist = 1232.99; + var_00.halfwaydist = 14585.9; + var_00.red = 1; + var_00.green = 0.98339; + var_00.blue = 0.990718; + var_00.hdrcolorintensity = 12.7831; + var_00.maxopacity = 0.611022; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.808142; + var_00.sungreen = 0.808738; + var_00.sunblue = 0.672105; + var_00.hdrsuncolorintensity = 11.1404; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 51.7037; + var_00.sunendfadeangle = 95.2067; + var_00.normalfogscale = 1.01096; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = 768; + var_00.heightfoghalfplanedistance = 1320; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.45,0.600583,0.907156); + var_00.atmosfoghazecolor = (0.507,0.529528,0.601); + var_00.atmosfoghazestrength = 0.042; + var_00.atmosfoghazespread = 0.00126047; + var_00.atmosfogextinctionstrength = 0.612562; + var_00.atmosfoginscatterstrength = 10.6; + var_00.atmosfoghalfplanedistance = 2043.21; + var_00.atmosfogstartdistance = 250.446; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0730542,0.865941,0.494782); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 256.56; + var_00.atmosfogheightfoghalfplanedistance = 600.411; + var_00 = maps\_utility::create_vision_set_fog("detroit_city_fog"); + var_00.startdist = 1232.99; + var_00.halfwaydist = 14585.9; + var_00.red = 1; + var_00.green = 0.98339; + var_00.blue = 0.990718; + var_00.hdrcolorintensity = 12.7831; + var_00.maxopacity = 0.611022; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.808142; + var_00.sungreen = 0.808738; + var_00.sunblue = 0.672105; + var_00.hdrsuncolorintensity = 11.1404; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 51.7037; + var_00.sunendfadeangle = 95.2067; + var_00.normalfogscale = 1.01096; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = 768; + var_00.heightfoghalfplanedistance = 1320; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.404063,0.600583,0.907156); + var_00.atmosfoghazecolor = (0.507,0.529528,0.601); + var_00.atmosfoghazestrength = 0.042; + var_00.atmosfoghazespread = 0.00126047; + var_00.atmosfogextinctionstrength = 0.612562; + var_00.atmosfoginscatterstrength = 10; + var_00.atmosfoghalfplanedistance = 4091.21; + var_00.atmosfogstartdistance = 50.446; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0730542,0.865941,0.494782); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -102.56; + var_00.atmosfogheightfoghalfplanedistance = 246.411; + var_00 = maps\_utility::create_vision_set_fog("detroit_city_school"); + var_00.startdist = 1232.99; + var_00.halfwaydist = 14585.9; + var_00.red = 1; + var_00.green = 0.98339; + var_00.blue = 0.990718; + var_00.hdrcolorintensity = 12.7831; + var_00.maxopacity = 0.611022; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.808142; + var_00.sungreen = 0.808738; + var_00.sunblue = 0.672105; + var_00.hdrsuncolorintensity = 11.1404; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 51.7037; + var_00.sunendfadeangle = 95.2067; + var_00.normalfogscale = 1.01096; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = 768; + var_00.heightfoghalfplanedistance = 1320; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.404063,0.600583,0.907156); + var_00.atmosfoghazecolor = (0.507,0.529528,0.601); + var_00.atmosfoghazestrength = 0.042; + var_00.atmosfoghazespread = 0.00126047; + var_00.atmosfogextinctionstrength = 0.612562; + var_00.atmosfoginscatterstrength = 10; + var_00.atmosfoghalfplanedistance = 4091.21; + var_00.atmosfogstartdistance = 50.446; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0730542,0.865941,0.494782); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -102.56; + var_00.atmosfogheightfoghalfplanedistance = 246.411; + var_00 = maps\_utility::create_vision_set_fog("detroit_city_fog_close"); + var_00.startdist = 1232.99; + var_00.halfwaydist = 14585.9; + var_00.red = 1; + var_00.green = 0.98339; + var_00.blue = 0.990718; + var_00.hdrcolorintensity = 12.7831; + var_00.maxopacity = 0.611022; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.808142; + var_00.sungreen = 0.808738; + var_00.sunblue = 0.672105; + var_00.hdrsuncolorintensity = 11.1404; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 51.7037; + var_00.sunendfadeangle = 95.2067; + var_00.normalfogscale = 1.01096; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = 768; + var_00.heightfoghalfplanedistance = 1320; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.585731,0.702982,0.962672); + var_00.atmosfoghazecolor = (0.40625,0.429688,0.570313); + var_00.atmosfoghazestrength = 0.0625; + var_00.atmosfoghazespread = 0.00126047; + var_00.atmosfogextinctionstrength = 0.807874; + var_00.atmosfoginscatterstrength = 8.17304; + var_00.atmosfoghalfplanedistance = 592.842; + var_00.atmosfogstartdistance = 473.369; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0730542,0.865941,0.494782); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -100.284; + var_00.atmosfogheightfoghalfplanedistance = 193; + var_00 = maps\_utility::create_vision_set_fog("detroit_city_fog_orange"); + var_00.startdist = 327.193; + var_00.halfwaydist = 1550.27; + var_00.red = 1; + var_00.green = 0.942263; + var_00.blue = 0.88079; + var_00.hdrcolorintensity = 6.13571; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 0.90802; + var_00.hdrsuncolorintensity = 9.58786; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 65.1141; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.453342,0.693587,1); + var_00.atmosfoghazecolor = (0.507813,0.507813,0.507813); + var_00.atmosfoghazestrength = 0.0234375; + var_00.atmosfoghazespread = 0.00217395; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 13.2242; + var_00.atmosfoghalfplanedistance = 2292.56; + var_00.atmosfogstartdistance = -225.16; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0676692,0.867452,0.492898); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -483.795; + var_00.atmosfogheightfoghalfplanedistance = 400.748; + var_00 = maps\_utility::create_vision_set_fog("detroit_club"); + var_00.startdist = 181.058; + var_00.halfwaydist = 4812.5; + var_00.red = 0.82; + var_00.green = 0.82; + var_00.blue = 0.82; + var_00.hdrcolorintensity = 6.05432; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 92.8484; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.287412,0.378386,0.526596); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 0.34375; + var_00.atmosfoginscatterstrength = 7.75053; + var_00.atmosfoghalfplanedistance = 261.977; + var_00.atmosfogstartdistance = 388.354; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -3712; + var_00.atmosfogheightfoghalfplanedistance = 3944; + var_00 = maps\_utility::create_vision_set_fog("detroit_club_nofog"); + var_00.startdist = 181.058; + var_00.halfwaydist = 4812.5; + var_00.red = 0.82; + var_00.green = 0.82; + var_00.blue = 0.82; + var_00.hdrcolorintensity = 6.05432; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 92.8484; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.287412,0.378386,0.526596); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 0.34375; + var_00.atmosfoginscatterstrength = 7.75053; + var_00.atmosfoghalfplanedistance = 261.977; + var_00.atmosfogstartdistance = 388.354; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -3712; + var_00.atmosfogheightfoghalfplanedistance = 3944; + var_00 = maps\_utility::create_vision_set_fog("detroit_cg"); + var_00.startdist = 3162.6; + var_00.halfwaydist = 20114.3; + var_00.red = 0.985838; + var_00.green = 0.969464; + var_00.blue = 0.976687; + var_00.hdrcolorintensity = 8.57647; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.654305; + var_00.sungreen = 0.722896; + var_00.sunblue = 0.85767; + var_00.hdrsuncolorintensity = 10.6976; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 65.1141; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_lightning_cg"); + var_00.startdist = 3162.6; + var_00.halfwaydist = 20114.3; + var_00.red = 0.985838; + var_00.green = 0.969464; + var_00.blue = 0.976687; + var_00.hdrcolorintensity = 8.57647; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.654305; + var_00.sungreen = 0.722896; + var_00.sunblue = 0.85767; + var_00.hdrsuncolorintensity = 10.6976; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 65.1141; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_lightning_max_cg"); + var_00.startdist = 3162.6; + var_00.halfwaydist = 20114.3; + var_00.red = 0.985838; + var_00.green = 0.969464; + var_00.blue = 0.976687; + var_00.hdrcolorintensity = 8.57647; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.654305; + var_00.sungreen = 0.722896; + var_00.sunblue = 0.85767; + var_00.hdrsuncolorintensity = 10.6976; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 65.1141; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_intro_cg"); + var_00.startdist = 410; + var_00.halfwaydist = 778.5; + var_00.red = 0.822684; + var_00.green = 0.855738; + var_00.blue = 0.99951; + var_00.hdrcolorintensity = 6.43778; + var_00.maxopacity = 0.719921; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_intro_red_cg"); + var_00.startdist = 1717.65; + var_00.halfwaydist = 4115.4; + var_00.red = 1; + var_00.green = 0.98339; + var_00.blue = 0.990718; + var_00.hdrcolorintensity = 7.32829; + var_00.maxopacity = 0.611022; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.654305; + var_00.sungreen = 0.722896; + var_00.sunblue = 0.85767; + var_00.hdrsuncolorintensity = 10.6976; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 65.1141; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_camp_cg"); + var_00.startdist = 410; + var_00.halfwaydist = 2731.05; + var_00.red = 0.89254; + var_00.green = 0.912627; + var_00.blue = 1; + var_00.hdrcolorintensity = 7.24041; + var_00.maxopacity = 0.719921; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_camp_exit_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 2060.58; + var_00.red = 0.47848; + var_00.green = 0.688929; + var_00.blue = 0.99518; + var_00.hdrcolorintensity = 9.8; + var_00.maxopacity = 0.9; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_camp_center_cg"); + var_00.startdist = 281.351; + var_00.halfwaydist = 671.556; + var_00.red = 0.822684; + var_00.green = 0.855738; + var_00.blue = 0.99951; + var_00.hdrcolorintensity = 7.88202; + var_00.maxopacity = 0.719921; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_camp_scan_cg"); + var_00.startdist = 281.351; + var_00.halfwaydist = 671.556; + var_00.red = 0.822684; + var_00.green = 0.855738; + var_00.blue = 0.99951; + var_00.hdrcolorintensity = 7.88202; + var_00.maxopacity = 0.719921; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_jetbike_fog_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 4171; + var_00.red = 0.554389; + var_00.green = 0.735884; + var_00.blue = 1; + var_00.hdrcolorintensity = 6.9216; + var_00.maxopacity = 0.389175; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_jetbike_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 3961.01; + var_00.red = 0.275; + var_00.green = 0.4; + var_00.blue = 0.571; + var_00.hdrcolorintensity = 7.83603; + var_00.maxopacity = 0.493188; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_jetbike_end_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 17139.2; + var_00.red = 0.275; + var_00.green = 0.4; + var_00.blue = 0.571; + var_00.hdrcolorintensity = 9.6137; + var_00.maxopacity = 0.611022; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_jetbike_end_fire_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 17139.2; + var_00.red = 0.308; + var_00.green = 0.388; + var_00.blue = 0.56; + var_00.hdrcolorintensity = 9.6137; + var_00.maxopacity = 0.611022; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_jetbike_exit_cg"); + var_00.startdist = 181.058; + var_00.halfwaydist = 4812.5; + var_00.red = 0.275; + var_00.green = 0.4; + var_00.blue = 0.571; + var_00.hdrcolorintensity = 6.05432; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_jetbike_exit_tunnel_cg"); + var_00.startdist = 181.058; + var_00.halfwaydist = 2212.5; + var_00.red = 0.47848; + var_00.green = 0.688929; + var_00.blue = 0.99518; + var_00.hdrcolorintensity = 7.75432; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_garage_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 3208.68; + var_00.red = 0.267637; + var_00.green = 0.341968; + var_00.blue = 0.447; + var_00.hdrcolorintensity = 9.64118; + var_00.maxopacity = 0.493188; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_hospital_cg"); + var_00.startdist = 136.181; + var_00.halfwaydist = 8190.84; + var_00.red = 0.44219; + var_00.green = 0.536203; + var_00.blue = 0.673012; + var_00.hdrcolorintensity = 6.53003; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_hospital_top_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 17395.1; + var_00.red = 0.44219; + var_00.green = 0.536203; + var_00.blue = 0.673012; + var_00.hdrcolorintensity = 6.53003; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_hospital_capture_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 17395.1; + var_00.red = 0.44219; + var_00.green = 0.536203; + var_00.blue = 0.673012; + var_00.hdrcolorintensity = 6.53003; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_sentinal_cg"); + var_00.startdist = 564.428; + var_00.halfwaydist = 2060.58; + var_00.red = 0.47848; + var_00.green = 0.688929; + var_00.blue = 0.99518; + var_00.hdrcolorintensity = 4.8153; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_school_cg"); + var_00.startdist = 1500; + var_00.halfwaydist = 3250; + var_00.red = 0.02448; + var_00.green = 0.0456; + var_00.blue = 0.1347; + var_00.hdrcolorintensity = 13; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_school_entry_cg"); + var_00.startdist = 745; + var_00.halfwaydist = 25585.9; + var_00.red = 0.261326; + var_00.green = 0.33663; + var_00.blue = 0.499982; + var_00.hdrcolorintensity = 11.7831; + var_00.maxopacity = 0.54; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_school_walk_cg"); + var_00.startdist = 509.787; + var_00.halfwaydist = 658.374; + var_00.red = 0.172791; + var_00.green = 0.212166; + var_00.blue = 0.308344; + var_00.hdrcolorintensity = 6.5; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_school_btm_cg"); + var_00.startdist = 150; + var_00.halfwaydist = 49366.3; + var_00.red = 0.26599; + var_00.green = 0.339766; + var_00.blue = 0.500012; + var_00.hdrcolorintensity = 10.3258; + var_00.maxopacity = 0.538396; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_school_basement_cg"); + var_00.startdist = 150; + var_00.halfwaydist = 44332.3; + var_00.red = 0.312535; + var_00.green = 0.420188; + var_00.blue = 0.654021; + var_00.hdrcolorintensity = 10.3258; + var_00.maxopacity = 0.538396; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_sewer_cg"); + var_00.startdist = 372.758; + var_00.halfwaydist = 3673.17; + var_00.red = 0.47848; + var_00.green = 0.688929; + var_00.blue = 0.99518; + var_00.hdrcolorintensity = 6.05686; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_city_cg"); + var_00.startdist = 564.428; + var_00.halfwaydist = 2060.58; + var_00.red = 0.47848; + var_00.green = 0.688929; + var_00.blue = 0.99518; + var_00.hdrcolorintensity = 4.8153; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_city_far_fog_cg"); + var_00.startdist = 527.419; + var_00.halfwaydist = 3030.96; + var_00.red = 0.409605; + var_00.green = 0.565482; + var_00.blue = 0.792319; + var_00.hdrcolorintensity = 6.11577; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_city_fog_cg"); + var_00.startdist = 50; + var_00.halfwaydist = 1959; + var_00.red = 0.301417; + var_00.green = 0.471277; + var_00.blue = 0.718476; + var_00.hdrcolorintensity = 5.9005; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_city_school_cg"); + var_00.startdist = 496.779; + var_00.halfwaydist = 44332.3; + var_00.red = 0.463073; + var_00.green = 0.523269; + var_00.blue = 0.654021; + var_00.hdrcolorintensity = 7.12729; + var_00.maxopacity = 0.538396; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_city_fog_close_cg"); + var_00.startdist = 150; + var_00.halfwaydist = 6000; + var_00.red = 0.47848; + var_00.green = 0.688929; + var_00.blue = 0.99518; + var_00.hdrcolorintensity = 12; + var_00.maxopacity = 0.493188; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_city_fog_orange_cg"); + var_00.startdist = 950.758; + var_00.halfwaydist = 3571.02; + var_00.red = 0.47848; + var_00.green = 0.688929; + var_00.blue = 0.99518; + var_00.hdrcolorintensity = 6.64581; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_club_cg"); + var_00.startdist = 797; + var_00.halfwaydist = 47678.4; + var_00.red = 0.47848; + var_00.green = 0.688929; + var_00.blue = 0.99518; + var_00.hdrcolorintensity = 11.3173; + var_00.maxopacity = 0.00953281; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("detroit_club_nofog_cg"); + var_00.startdist = 600; + var_00.halfwaydist = 40000; + var_00.red = 0.47848; + var_00.green = 0.688929; + var_00.blue = 0.99518; + var_00.hdrcolorintensity = 10.6101; + var_00.maxopacity = 0.00953281; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 91.2021; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; +} + +//Function Number: 2 +sunflare() +{ + var_00 = maps\_utility::create_sunflare_setting("default"); + var_00.position = (-30,85.5,0); + maps\_art::sunflare_changes("default",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/df_fly_art.gsc b/AW/PC/maps/createart/df_fly_art.gsc new file mode 100644 index 0000000..65795b9 --- /dev/null +++ b/AW/PC/maps/createart/df_fly_art.gsc @@ -0,0 +1,23 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\df_fly_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 23 ms + * Timestamp: 4/22/2024 2:06:33 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + level.player = getentarray("player","classname")[0]; + if(isusinghdr()) + { + maps\createart\df_fly_fog_hdr::main(); + return; + } + + maps\createart\df_fly_fog::main(); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/df_fly_fog.gsc b/AW/PC/maps/createart/df_fly_fog.gsc new file mode 100644 index 0000000..b284287 --- /dev/null +++ b/AW/PC/maps/createart/df_fly_fog.gsc @@ -0,0 +1,23 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\df_fly_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:06:33 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\_utility::create_vision_set_fog("df_fly"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} \ No newline at end of file diff --git a/AW/PC/maps/createart/df_fly_fog_hdr.gsc b/AW/PC/maps/createart/df_fly_fog_hdr.gsc new file mode 100644 index 0000000..76079eb --- /dev/null +++ b/AW/PC/maps/createart/df_fly_fog_hdr.gsc @@ -0,0 +1,365 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\df_fly_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 2:06:34 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + sunflare(); + var_00 = maps\_utility::create_vision_set_fog("df_fly"); + var_00.startdist = 6412; + var_00.halfwaydist = 120000; + var_00.red = 0.95; + var_00.green = 0.96; + var_00.blue = 0.97; + var_00.hdrcolorintensity = 17; + var_00.maxopacity = 0.6; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.96; + var_00.sungreen = 0.89; + var_00.sunblue = 0.76; + var_00.hdrsuncolorintensity = 17.5; + var_00.sundir = (0.11,0.84,0.53); + var_00.sunbeginfadeangle = 4; + var_00.sunendfadeangle = 76; + var_00.normalfogscale = 0.56; + var_00.skyfogintensity = 0.89; + var_00.skyfogminangle = -12; + var_00.skyfogmaxangle = 62; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("df_fly_cg"); + var_00.startdist = 2154.79; + var_00.halfwaydist = 267244; + var_00.red = 0.671387; + var_00.green = 0.722188; + var_00.blue = 0.778682; + var_00.hdrcolorintensity = 15.9244; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.492075,0.613846,0.72373); + var_00.atmosfoghazecolor = (1,0.975644,0.952128); + var_00.atmosfoghazestrength = 0.106; + var_00.atmosfoghazespread = 0.115127; + var_00.atmosfogextinctionstrength = 0.813859; + var_00.atmosfoginscatterstrength = 22.8883; + var_00.atmosfoghalfplanedistance = 25415.7; + var_00.atmosfogstartdistance = 800; + var_00.atmosfogdistancescale = 0.158192; + var_00.atmosfogskydistance = 7549; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 100; + var_00.atmosfogsundirection = (0.023316,-0.503496,0.863683); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 1; + var_00.atmosfogheightfoghalfplanedistance = 1600; + var_00 = maps\_utility::create_vision_set_fog("df_fly_intro"); + var_00.startdist = 6412; + var_00.halfwaydist = 120000; + var_00.red = 0.95; + var_00.green = 0.96; + var_00.blue = 0.97; + var_00.hdrcolorintensity = 17; + var_00.maxopacity = 0.6; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.96; + var_00.sungreen = 0.89; + var_00.sunblue = 0.76; + var_00.hdrsuncolorintensity = 17.5; + var_00.sundir = (0.11,0.84,0.53); + var_00.sunbeginfadeangle = 4; + var_00.sunendfadeangle = 76; + var_00.normalfogscale = 0.56; + var_00.skyfogintensity = 0.89; + var_00.skyfogminangle = -12; + var_00.skyfogmaxangle = 62; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("df_fly_intro_cg"); + var_00.startdist = 2154.79; + var_00.halfwaydist = 267244; + var_00.red = 0.671387; + var_00.green = 0.722188; + var_00.blue = 0.778682; + var_00.hdrcolorintensity = 15.9244; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.492075,0.613846,0.72373); + var_00.atmosfoghazecolor = (1,0.975644,0.952128); + var_00.atmosfoghazestrength = 0.106; + var_00.atmosfoghazespread = 0.115127; + var_00.atmosfogextinctionstrength = 0.813859; + var_00.atmosfoginscatterstrength = 22.8883; + var_00.atmosfoghalfplanedistance = 25415.7; + var_00.atmosfogstartdistance = 800; + var_00.atmosfogdistancescale = 0.158192; + var_00.atmosfogskydistance = 7549; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 100; + var_00.atmosfogsundirection = (0.023316,-0.503496,0.863683); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 1; + var_00.atmosfogheightfoghalfplanedistance = 1600; + var_00 = maps\_utility::create_vision_set_fog("df_fly_canyon"); + var_00.startdist = 6412; + var_00.halfwaydist = 106497; + var_00.red = 0.95; + var_00.green = 0.96; + var_00.blue = 0.97; + var_00.hdrcolorintensity = 17; + var_00.maxopacity = 0.6; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.96; + var_00.sungreen = 0.89; + var_00.sunblue = 0.76; + var_00.hdrsuncolorintensity = 17.5; + var_00.sundir = (0.11,0.84,0.53); + var_00.sunbeginfadeangle = 4; + var_00.sunendfadeangle = 76; + var_00.normalfogscale = 0.56; + var_00.skyfogintensity = 0.89; + var_00.skyfogminangle = -12; + var_00.skyfogmaxangle = 62; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.742188,0.830811,1); + var_00.atmosfoghazecolor = (0.53125,0.52029,0.477295); + var_00.atmosfoghazestrength = 0.374997; + var_00.atmosfoghazespread = 0.0234375; + var_00.atmosfogextinctionstrength = 0.6875; + var_00.atmosfoginscatterstrength = 21.25; + var_00.atmosfoghalfplanedistance = 67585; + var_00.atmosfogstartdistance = 6656; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 253952; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.110346,0.843158,0.526221); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("df_fly_canyon_cg"); + var_00.startdist = 2154.79; + var_00.halfwaydist = 267244; + var_00.red = 0.671387; + var_00.green = 0.722188; + var_00.blue = 0.778682; + var_00.hdrcolorintensity = 15.9244; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.96; + var_00.sungreen = 0.89; + var_00.sunblue = 0.76; + var_00.hdrsuncolorintensity = 17.5; + var_00.sundir = (0.11,0.84,0.53); + var_00.sunbeginfadeangle = 4; + var_00.sunendfadeangle = 76; + var_00.normalfogscale = 0.56; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.439929,0.56001,0.653418); + var_00.atmosfoghazecolor = (0.960938,0.898438,0.842753); + var_00.atmosfoghazestrength = 0.132813; + var_00.atmosfoghazespread = 0.153802; + var_00.atmosfogextinctionstrength = 0.610734; + var_00.atmosfoginscatterstrength = 22.8883; + var_00.atmosfoghalfplanedistance = 33307.8; + var_00.atmosfogstartdistance = 4045.31; + var_00.atmosfogdistancescale = 0.137142; + var_00.atmosfogskydistance = 45124; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -16; + var_00.atmosfogskyfalloffanglerange = 40; + var_00.atmosfogsundirection = (0.205344,0.587297,0.782889); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 2561; + var_00.atmosfogheightfoghalfplanedistance = 577; + var_00 = maps\_utility::create_vision_set_fog("df_fly_canyon_finale"); + var_00.startdist = 6412; + var_00.halfwaydist = 106497; + var_00.red = 0.95; + var_00.green = 0.96; + var_00.blue = 0.97; + var_00.hdrcolorintensity = 17; + var_00.maxopacity = 0.6; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.96; + var_00.sungreen = 0.89; + var_00.sunblue = 0.76; + var_00.hdrsuncolorintensity = 17.5; + var_00.sundir = (0.11,0.84,0.53); + var_00.sunbeginfadeangle = 4; + var_00.sunendfadeangle = 76; + var_00.normalfogscale = 0.56; + var_00.skyfogintensity = 0.89; + var_00.skyfogminangle = -12; + var_00.skyfogmaxangle = 62; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.742188,0.830811,1); + var_00.atmosfoghazecolor = (0.53125,0.52029,0.477295); + var_00.atmosfoghazestrength = 0.374997; + var_00.atmosfoghazespread = 0.0234375; + var_00.atmosfogextinctionstrength = 0.6875; + var_00.atmosfoginscatterstrength = 21; + var_00.atmosfoghalfplanedistance = 67585; + var_00.atmosfogstartdistance = 6656; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 499712; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.110346,0.843158,0.526221); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("df_fly_canyon_finale_cg"); + var_00.startdist = 2154.79; + var_00.halfwaydist = 267244; + var_00.red = 0.671387; + var_00.green = 0.722188; + var_00.blue = 0.778682; + var_00.hdrcolorintensity = 15.9244; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.562387,0.621659,0.72373); + var_00.atmosfoghazecolor = (1,0.936003,0.913065); + var_00.atmosfoghazestrength = 0.106; + var_00.atmosfoghazespread = 0.115127; + var_00.atmosfogextinctionstrength = 0.813859; + var_00.atmosfoginscatterstrength = 22.8883; + var_00.atmosfoghalfplanedistance = 40903.6; + var_00.atmosfogstartdistance = 1730.72; + var_00.atmosfogdistancescale = 0.102166; + var_00.atmosfogskydistance = 18016; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 1; + var_00.atmosfogskyfalloffanglerange = 100; + var_00.atmosfogsundirection = (-0.6464,-0.00939985,0.762941); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 2561; + var_00.atmosfogheightfoghalfplanedistance = 577; + var_00 = maps\_utility::create_vision_set_fog("df_fly_canyon_end_pod_cg"); + var_00.startdist = 2154.79; + var_00.halfwaydist = 267244; + var_00.red = 0.671387; + var_00.green = 0.722188; + var_00.blue = 0.778682; + var_00.hdrcolorintensity = 15.9244; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.562387,0.621659,0.72373); + var_00.atmosfoghazecolor = (1,0.936003,0.913065); + var_00.atmosfoghazestrength = 0.106; + var_00.atmosfoghazespread = 0.115127; + var_00.atmosfogextinctionstrength = 0.813859; + var_00.atmosfoginscatterstrength = 22.8883; + var_00.atmosfoghalfplanedistance = 40903.6; + var_00.atmosfogstartdistance = 1730.72; + var_00.atmosfogdistancescale = 0.102166; + var_00.atmosfogskydistance = 18016; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 1; + var_00.atmosfogskyfalloffanglerange = 100; + var_00.atmosfogsundirection = (-0.6464,-0.00939985,0.762941); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 2561; + var_00.atmosfogheightfoghalfplanedistance = 577; +} + +//Function Number: 2 +sunflare() +{ + var_00 = maps\_utility::create_sunflare_setting("default"); + var_00.position = (-30,85,0); + maps\_art::sunflare_changes("default",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/finale_art.gsc b/AW/PC/maps/createart/finale_art.gsc new file mode 100644 index 0000000..a35e7d6 --- /dev/null +++ b/AW/PC/maps/createart/finale_art.gsc @@ -0,0 +1,23 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\finale_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 23 ms + * Timestamp: 4/22/2024 2:06:34 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + level.player = getentarray("player","classname")[0]; + if(isusinghdr()) + { + maps\createart\finale_fog_hdr::main(); + return; + } + + maps\createart\finale_fog::main(); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/finale_fog.gsc b/AW/PC/maps/createart/finale_fog.gsc new file mode 100644 index 0000000..ef5aed8 --- /dev/null +++ b/AW/PC/maps/createart/finale_fog.gsc @@ -0,0 +1,24 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\finale_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 2:06:34 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\_utility::create_vision_set_fog("finale"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + maps\_utility::vision_set_fog_changes("finale",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/finale_fog_hdr.gsc b/AW/PC/maps/createart/finale_fog_hdr.gsc new file mode 100644 index 0000000..292ef88 --- /dev/null +++ b/AW/PC/maps/createart/finale_fog_hdr.gsc @@ -0,0 +1,1745 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\finale_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 68 ms + * Timestamp: 4/22/2024 2:06:34 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + sunflare(); + var_00 = maps\_utility::create_vision_set_fog("finale"); + var_00.startdist = 17346.3; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 16.1053; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.986078,0.925613,0.830426); + var_00.atmosfoghazecolor = (0.474951,0.608765,0.784494); + var_00.atmosfoghazestrength = 0.731061; + var_00.atmosfoghazespread = 0.860345; + var_00.atmosfogextinctionstrength = 0.614357; + var_00.atmosfoginscatterstrength = 15.8038; + var_00.atmosfoghalfplanedistance = 42646.4; + var_00.atmosfogstartdistance = 1302.96; + var_00.atmosfogdistancescale = 4.60208; + var_00.atmosfogskydistance = 377174; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -2.43056; + var_00.atmosfogskyfalloffanglerange = 71.8547; + var_00.atmosfogsundirection = (0.881182,0.272293,0.386489); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 3536.6; + var_00.atmosfogheightfoghalfplanedistance = 6329.3; + var_00 = maps\_utility::create_vision_set_fog("finale_interior"); + var_00.startdist = 12600; + var_00.halfwaydist = 22000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 0.84524; + var_00.atmosfoginscatterstrength = -4.192; + var_00.atmosfoghalfplanedistance = 240.608; + var_00.atmosfogstartdistance = 505.969; + var_00.atmosfogdistancescale = 0.419978; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("finale_silo_orange"); + var_00.startdist = 12600; + var_00.halfwaydist = 22000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.404159,0.308457,0.114746); + var_00.atmosfoghazecolor = (0.992188,0.685259,0.45822); + var_00.atmosfoghazestrength = 1; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 13.058; + var_00.atmosfoghalfplanedistance = 4291.88; + var_00.atmosfogstartdistance = 571.294; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("finale_silo_blue"); + var_00.startdist = 12600; + var_00.halfwaydist = 22000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.213989,0.294809,0.536499); + var_00.atmosfoghazecolor = (0.291565,0.392195,0.554688); + var_00.atmosfoghazestrength = 1; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 13.5; + var_00.atmosfoghalfplanedistance = 2073.78; + var_00.atmosfogstartdistance = 307.471; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("finale_silo_center"); + var_00.startdist = 12600; + var_00.halfwaydist = 22000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0.0963886,0.63552,0.766044); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.67986,0.439056,0.263062); + var_00.atmosfoghazecolor = (0.682392,0.536918,0.384956); + var_00.atmosfoghazestrength = 1; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 16.558; + var_00.atmosfoghalfplanedistance = 16200.5; + var_00.atmosfogstartdistance = 350.271; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0708495,0.638871,0.766044); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = -84.0732; + var_00.atmosfogheightfoghalfplanedistance = 189.152; + var_00 = maps\_utility::create_vision_set_fog("finale_hatch"); + var_00.startdist = 12600; + var_00.halfwaydist = 22000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.404159,0.308457,0.114746); + var_00.atmosfoghazecolor = (0.992188,0.645838,0.389639); + var_00.atmosfoghazestrength = 1; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 11.308; + var_00.atmosfoghalfplanedistance = 16137.6; + var_00.atmosfogstartdistance = 432.925; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("finale_low_burn"); + var_00.startdist = 12600; + var_00.halfwaydist = 22000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.259114,0.398621,0.820313); + var_00.atmosfoghazecolor = (0.370975,0.481262,0.765625); + var_00.atmosfoghazestrength = 1; + var_00.atmosfoghazespread = 0.703125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 15.308; + var_00.atmosfoghalfplanedistance = 135.701; + var_00.atmosfogstartdistance = 25; + var_00.atmosfogdistancescale = 0.375; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -6121.93; + var_00.atmosfogheightfoghalfplanedistance = 45.2335; + var_00 = maps\_utility::create_vision_set_fog("finale_red_burn"); + var_00.startdist = 12600; + var_00.halfwaydist = 22000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.984547,0.345306,0.145874); + var_00.atmosfoghazecolor = (0.936401,0.35578,0.0468755); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 17.558; + var_00.atmosfoghalfplanedistance = 3195.74; + var_00.atmosfogstartdistance = -262.404; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("finale_cold_burn"); + var_00.startdist = 12600; + var_00.halfwaydist = 22000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.358774,0.511051,0.950562); + var_00.atmosfoghazecolor = (0.334839,0.433906,0.703125); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 20.808; + var_00.atmosfoghalfplanedistance = 842.108; + var_00.atmosfogstartdistance = 5.91921; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -6238.53; + var_00.atmosfogheightfoghalfplanedistance = 43.7881; + var_00 = maps\_utility::create_vision_set_fog("finale_silo_end_cine"); + var_00.startdist = 12600; + var_00.halfwaydist = 22000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.734375,0.347519,0.114746); + var_00.atmosfoghazecolor = (0.648438,0.537366,0.560838); + var_00.atmosfoghazestrength = 1; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 14.9946; + var_00.atmosfoghalfplanedistance = 13283.7; + var_00.atmosfogstartdistance = 168.274; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -6115.71; + var_00.atmosfogheightfoghalfplanedistance = 400.844; + var_00 = maps\_utility::create_vision_set_fog("generic_underwater"); + var_00.startdist = 50; + var_00.halfwaydist = 200; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 11.2; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 150; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.398,0.79,0.97); + var_00.atmosfoghazecolor = (0.66,0.71,0.68); + var_00.atmosfoghazestrength = 0.73; + var_00.atmosfoghazespread = 0.039; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 17.5; + var_00.atmosfoghalfplanedistance = 1370; + var_00.atmosfogstartdistance = 350; + var_00.atmosfogdistancescale = 4; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 100; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 1; + var_00.atmosfogheightfoghalfplanedistance = 2; + var_00 = maps\_utility::create_vision_set_fog("finale_underwater"); + var_00.startdist = 50; + var_00.halfwaydist = 200; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.398,0.79,0.97); + var_00.atmosfoghazecolor = (0.66,0.71,0.68); + var_00.atmosfoghazestrength = 0.73; + var_00.atmosfoghazespread = 0.039; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 16.5809; + var_00.atmosfoghalfplanedistance = 250.689; + var_00.atmosfogstartdistance = 300; + var_00.atmosfogdistancescale = 3.25; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 100; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 1; + var_00.atmosfogheightfoghalfplanedistance = 2; + var_00 = maps\_utility::create_vision_set_fog("finale_underwater_darkfog"); + var_00.startdist = 50; + var_00.halfwaydist = 200; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 11.2; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 150; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.398,0.79,0.97); + var_00.atmosfoghazecolor = (0.66,0.71,0.68); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.039; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 13.5; + var_00.atmosfoghalfplanedistance = 275; + var_00.atmosfogstartdistance = 300; + var_00.atmosfogdistancescale = 4; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 100; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 1; + var_00.atmosfogheightfoghalfplanedistance = 2; + var_00 = maps\_utility::create_vision_set_fog("finale_roof"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0.100824,0.259551,-0.960452); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.81616,0.921875,1); + var_00.atmosfoghazecolor = (0,0.418686,1); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 0.84524; + var_00.atmosfoginscatterstrength = 11; + var_00.atmosfoghalfplanedistance = 1065.21; + var_00.atmosfogstartdistance = 814.971; + var_00.atmosfogdistancescale = 0.217725; + var_00.atmosfogskydistance = 426837; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 38.353; + var_00.atmosfogheightfoghalfplanedistance = 1128.34; + var_00 = maps\_utility::create_vision_set_fog("finale_sky_bridge"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0.100824,0.259551,-0.960452); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.81616,0.921875,1); + var_00.atmosfoghazecolor = (0,0.418686,1); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 0.84524; + var_00.atmosfoginscatterstrength = 9.1214; + var_00.atmosfoghalfplanedistance = 1065.21; + var_00.atmosfogstartdistance = 814.971; + var_00.atmosfogdistancescale = 0.217725; + var_00.atmosfogskydistance = 426837; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 38.353; + var_00.atmosfogheightfoghalfplanedistance = 1128.34; + var_00 = maps\_utility::create_vision_set_fog("finale_cinematic"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 530; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (0,0.418686,1); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 14.1297; + var_00.atmosfoghalfplanedistance = 33.2172; + var_00.atmosfogstartdistance = 6.971; + var_00.atmosfogdistancescale = 0.217725; + var_00.atmosfogskydistance = 426837; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 38.353; + var_00.atmosfogheightfoghalfplanedistance = 1907.82; + var_00 = maps\_utility::create_vision_set_fog("finale_cinematic_nofog"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0.100824,0.259551,-0.960452); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 530; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (0,0.418686,1); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 0.84524; + var_00.atmosfoginscatterstrength = 17.3; + var_00.atmosfoghalfplanedistance = 47.21; + var_00.atmosfogstartdistance = 6.971; + var_00.atmosfogdistancescale = 0.217725; + var_00.atmosfogskydistance = 426837; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 38.353; + var_00.atmosfogheightfoghalfplanedistance = 1128.34; + var_00 = maps\_utility::create_vision_set_fog("finale_roof_hang"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0.100824,0.259551,-0.960452); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.675535,0.796875,1); + var_00.atmosfoghazecolor = (1,0.828125,0.195313); + var_00.atmosfoghazestrength = 0.679688; + var_00.atmosfoghazespread = 0.8125; + var_00.atmosfogextinctionstrength = 0.321802; + var_00.atmosfoginscatterstrength = 13.1; + var_00.atmosfoghalfplanedistance = 780.21; + var_00.atmosfogstartdistance = 11.971; + var_00.atmosfogdistancescale = 0.217725; + var_00.atmosfogskydistance = 426837; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.961262,-0.275637,0); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 38.353; + var_00.atmosfogheightfoghalfplanedistance = 1128.34; + var_00 = maps\_utility::create_vision_set_fog("finale_roof_hang_end"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0.100824,0.259551,-0.960452); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.675535,0.796875,1); + var_00.atmosfoghazecolor = (1,0.828125,0.195313); + var_00.atmosfoghazestrength = 0.679688; + var_00.atmosfoghazespread = 0.8125; + var_00.atmosfogextinctionstrength = 0.321802; + var_00.atmosfoginscatterstrength = 13.1; + var_00.atmosfoghalfplanedistance = 780.21; + var_00.atmosfogstartdistance = 11.971; + var_00.atmosfogdistancescale = 0.217725; + var_00.atmosfogskydistance = 426837; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.961262,-0.275637,0); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 38.353; + var_00.atmosfogheightfoghalfplanedistance = 1128.34; + var_00 = maps\_utility::create_vision_set_fog("finale_roof_hang_fail"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0.100824,0.259551,-0.960452); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.675535,0.796875,1); + var_00.atmosfoghazecolor = (1,0.828125,0.195313); + var_00.atmosfoghazestrength = 0.679688; + var_00.atmosfoghazespread = 0.8125; + var_00.atmosfogextinctionstrength = 0.321802; + var_00.atmosfoginscatterstrength = 13.1; + var_00.atmosfoghalfplanedistance = 780.21; + var_00.atmosfogstartdistance = 11.971; + var_00.atmosfogdistancescale = 0.217725; + var_00.atmosfogskydistance = 426837; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.961262,-0.275637,0); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 38.353; + var_00.atmosfogheightfoghalfplanedistance = 1128.34; + var_00 = maps\_utility::create_vision_set_fog("finale_lobby"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.81616,0.921875,1); + var_00.atmosfoghazecolor = (0,0.418686,1); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 0.84524; + var_00.atmosfoginscatterstrength = 10.1214; + var_00.atmosfoghalfplanedistance = 1065.21; + var_00.atmosfogstartdistance = 814.971; + var_00.atmosfogdistancescale = 0.217725; + var_00.atmosfogskydistance = 426837; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 38.353; + var_00.atmosfogheightfoghalfplanedistance = 1128.34; + var_00 = maps\_utility::create_vision_set_fog("finale_cg"); + var_00.startdist = 50; + var_00.halfwaydist = 200; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 16.1053; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.986078,0.925613,0.830426); + var_00.atmosfoghazecolor = (0.474951,0.608765,0.784494); + var_00.atmosfoghazestrength = 0.731061; + var_00.atmosfoghazespread = 0.860345; + var_00.atmosfogextinctionstrength = 0.614357; + var_00.atmosfoginscatterstrength = 15.8038; + var_00.atmosfoghalfplanedistance = 42646.4; + var_00.atmosfogstartdistance = 1302.96; + var_00.atmosfogdistancescale = 4.60208; + var_00.atmosfogskydistance = 377174; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -2.43056; + var_00.atmosfogskyfalloffanglerange = 71.8547; + var_00.atmosfogsundirection = (0.881182,0.272293,0.386489); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 3536.6; + var_00.atmosfogheightfoghalfplanedistance = 6329.3; + var_00 = maps\_utility::create_vision_set_fog("finale_interior_cg"); + var_00.startdist = 12600; + var_00.halfwaydist = 22000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 0.84524; + var_00.atmosfoginscatterstrength = -4.192; + var_00.atmosfoghalfplanedistance = 240.608; + var_00.atmosfogstartdistance = 505.969; + var_00.atmosfogdistancescale = 0.419978; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("finale_silo_orange_cg"); + var_00.startdist = 1007.45; + var_00.halfwaydist = 1897.28; + var_00.red = 0.946624; + var_00.green = 0.88139; + var_00.blue = 0.749102; + var_00.hdrcolorintensity = 8.35325; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.404159,0.308457,0.114746); + var_00.atmosfoghazecolor = (0.992188,0.685259,0.45822); + var_00.atmosfoghazestrength = 1; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 13.058; + var_00.atmosfoghalfplanedistance = 4291.88; + var_00.atmosfogstartdistance = 571.294; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("finale_silo_yellow_cg"); + var_00.startdist = 12600; + var_00.halfwaydist = 22000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.404159,0.308457,0.114746); + var_00.atmosfoghazecolor = (0.992188,0.685259,0.45822); + var_00.atmosfoghazestrength = 1; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 13.058; + var_00.atmosfoghalfplanedistance = 4291.88; + var_00.atmosfogstartdistance = 571.294; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("finale_silo_blue_cg"); + var_00.startdist = 1007.45; + var_00.halfwaydist = 1897.28; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.213989,0.294809,0.536499); + var_00.atmosfoghazecolor = (0.291565,0.392195,0.554688); + var_00.atmosfoghazestrength = 1; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 13.5; + var_00.atmosfoghalfplanedistance = 1045.13; + var_00.atmosfogstartdistance = 307.471; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("finale_silo_neutral_cg"); + var_00.startdist = 1007.45; + var_00.halfwaydist = 1897.28; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.213989,0.294809,0.536499); + var_00.atmosfoghazecolor = (0.291565,0.392195,0.554688); + var_00.atmosfoghazestrength = 1; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 13.5; + var_00.atmosfoghalfplanedistance = 1045.13; + var_00.atmosfogstartdistance = 307.471; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("finale_silo_center_cg"); + var_00.startdist = 12600; + var_00.halfwaydist = 22000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.67986,0.439056,0.263062); + var_00.atmosfoghazecolor = (0.682392,0.536918,0.384956); + var_00.atmosfoghazestrength = 1; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 16.558; + var_00.atmosfoghalfplanedistance = 16200.5; + var_00.atmosfogstartdistance = 350.271; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0708495,0.638871,0.766044); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = -84.0732; + var_00.atmosfogheightfoghalfplanedistance = 189.152; + var_00 = maps\_utility::create_vision_set_fog("finale_hatch_cg"); + var_00.startdist = 12600; + var_00.halfwaydist = 22000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.404159,0.308457,0.114746); + var_00.atmosfoghazecolor = (0.992188,0.645838,0.389639); + var_00.atmosfoghazestrength = 1; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 11.308; + var_00.atmosfoghalfplanedistance = 16137.6; + var_00.atmosfogstartdistance = 432.925; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("finale_low_burn_cg"); + var_00.startdist = 100; + var_00.halfwaydist = 7235; + var_00.red = 0.622686; + var_00.green = 0.776787; + var_00.blue = 1; + var_00.hdrcolorintensity = 12.5; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.259114,0.398621,0.820313); + var_00.atmosfoghazecolor = (0.370975,0.481262,0.765625); + var_00.atmosfoghazestrength = 1; + var_00.atmosfoghazespread = 0.703125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 15.308; + var_00.atmosfoghalfplanedistance = 135.701; + var_00.atmosfogstartdistance = 25; + var_00.atmosfogdistancescale = 0.375; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -6121.93; + var_00.atmosfogheightfoghalfplanedistance = 45.2335; + var_00 = maps\_utility::create_vision_set_fog("finale_red_burn_cg"); + var_00.startdist = 100; + var_00.halfwaydist = 7235; + var_00.red = 0.581021; + var_00.green = 0.479532; + var_00.blue = 0.394713; + var_00.hdrcolorintensity = 14; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.984547,0.345306,0.145874); + var_00.atmosfoghazecolor = (0.936401,0.35578,0.0468755); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 17.558; + var_00.atmosfoghalfplanedistance = 3195.74; + var_00.atmosfogstartdistance = -262.404; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("finale_cold_burn_cg"); + var_00.startdist = 12600; + var_00.halfwaydist = 22000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.358774,0.511051,0.950562); + var_00.atmosfoghazecolor = (0.334839,0.433906,0.703125); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 20.808; + var_00.atmosfoghalfplanedistance = 842.108; + var_00.atmosfogstartdistance = 5.91921; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -6238.53; + var_00.atmosfogheightfoghalfplanedistance = 43.7881; + var_00 = maps\_utility::create_vision_set_fog("finale_silo_end_cine_cg"); + var_00.startdist = 12600; + var_00.halfwaydist = 22000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.734375,0.347519,0.114746); + var_00.atmosfoghazecolor = (0.648438,0.537366,0.560838); + var_00.atmosfoghazestrength = 1; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 14.9946; + var_00.atmosfoghalfplanedistance = 13283.7; + var_00.atmosfogstartdistance = 168.274; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -6115.71; + var_00.atmosfogheightfoghalfplanedistance = 400.844; + var_00 = maps\_utility::create_vision_set_fog("generic_underwater_cg"); + var_00.startdist = 50; + var_00.halfwaydist = 200; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 11.2; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 150; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.398,0.79,0.97); + var_00.atmosfoghazecolor = (0.66,0.71,0.68); + var_00.atmosfoghazestrength = 0.73; + var_00.atmosfoghazespread = 0.039; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 17.5; + var_00.atmosfoghalfplanedistance = 1370; + var_00.atmosfogstartdistance = 350; + var_00.atmosfogdistancescale = 4; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 100; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 1; + var_00.atmosfogheightfoghalfplanedistance = 2; + var_00 = maps\_utility::create_vision_set_fog("finale_underwater_cg"); + var_00.startdist = 50; + var_00.halfwaydist = 200; + var_00.red = 0.581062; + var_00.green = 0.706697; + var_00.blue = 0.727152; + var_00.hdrcolorintensity = 11.9712; + var_00.maxopacity = 0.881026; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.398,0.79,0.97); + var_00.atmosfoghazecolor = (0.66,0.71,0.68); + var_00.atmosfoghazestrength = 0.73; + var_00.atmosfoghazespread = 0.039; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 16.5809; + var_00.atmosfoghalfplanedistance = 456.689; + var_00.atmosfogstartdistance = 40.5657; + var_00.atmosfogdistancescale = 4; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 100; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 1; + var_00.atmosfogheightfoghalfplanedistance = 2; + var_00 = maps\_utility::create_vision_set_fog("finale_underwater_darkfog_cg"); + var_00.startdist = 50; + var_00.halfwaydist = 200; + var_00.red = 0.581062; + var_00.green = 0.706697; + var_00.blue = 0.727152; + var_00.hdrcolorintensity = 11.2087; + var_00.maxopacity = 0.881026; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.398,0.79,0.97); + var_00.atmosfoghazecolor = (0.66,0.71,0.68); + var_00.atmosfoghazestrength = 0.73; + var_00.atmosfoghazespread = 0.039; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 16.5809; + var_00.atmosfoghalfplanedistance = 456.689; + var_00.atmosfogstartdistance = 40.5657; + var_00.atmosfogdistancescale = 4; + var_00.atmosfogskydistance = 18544; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 100; + var_00.atmosfogsundirection = (0.32,0.27,0.9); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 1; + var_00.atmosfogheightfoghalfplanedistance = 2; + var_00 = maps\_utility::create_vision_set_fog("finale_roof_cg"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.81616,0.921875,1); + var_00.atmosfoghazecolor = (0,0.418686,1); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 0.84524; + var_00.atmosfoginscatterstrength = 10.1214; + var_00.atmosfoghalfplanedistance = 1065.21; + var_00.atmosfogstartdistance = 814.971; + var_00.atmosfogdistancescale = 0.217725; + var_00.atmosfogskydistance = 426837; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 38.353; + var_00.atmosfogheightfoghalfplanedistance = 1128.34; + var_00 = maps\_utility::create_vision_set_fog("finale_cinematic_cg"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 530; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (0,0.418686,1); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 14.1297; + var_00.atmosfoghalfplanedistance = 33.2172; + var_00.atmosfogstartdistance = 6.971; + var_00.atmosfogdistancescale = 0.217725; + var_00.atmosfogskydistance = 426837; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 38.353; + var_00.atmosfogheightfoghalfplanedistance = 1907.82; + var_00 = maps\_utility::create_vision_set_fog("finale_cinematic_nofog_cg"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0.100824,0.259551,-0.960452); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 530; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (0,0.418686,1); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 0.84524; + var_00.atmosfoginscatterstrength = 17.3; + var_00.atmosfoghalfplanedistance = 47.21; + var_00.atmosfogstartdistance = 6.971; + var_00.atmosfogdistancescale = 0.217725; + var_00.atmosfogskydistance = 426837; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 38.353; + var_00.atmosfogheightfoghalfplanedistance = 1128.34; + var_00 = maps\_utility::create_vision_set_fog("finale_roof_hang_cg"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0.100824,0.259551,-0.960452); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.675535,0.796875,1); + var_00.atmosfoghazecolor = (1,0.828125,0.195313); + var_00.atmosfoghazestrength = 0.679688; + var_00.atmosfoghazespread = 0.8125; + var_00.atmosfogextinctionstrength = 0.321802; + var_00.atmosfoginscatterstrength = 13.1; + var_00.atmosfoghalfplanedistance = 780.21; + var_00.atmosfogstartdistance = 11.971; + var_00.atmosfogdistancescale = 0.217725; + var_00.atmosfogskydistance = 426837; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.961262,-0.275637,0); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 38.353; + var_00.atmosfogheightfoghalfplanedistance = 1128.34; + var_00 = maps\_utility::create_vision_set_fog("finale_roof_hang_end_cg"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0.100824,0.259551,-0.960452); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.675535,0.796875,1); + var_00.atmosfoghazecolor = (1,0.828125,0.195313); + var_00.atmosfoghazestrength = 0.679688; + var_00.atmosfoghazespread = 0.8125; + var_00.atmosfogextinctionstrength = 0.321802; + var_00.atmosfoginscatterstrength = 13.1; + var_00.atmosfoghalfplanedistance = 780.21; + var_00.atmosfogstartdistance = 11.971; + var_00.atmosfogdistancescale = 0.217725; + var_00.atmosfogskydistance = 426837; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.961262,-0.275637,0); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 38.353; + var_00.atmosfogheightfoghalfplanedistance = 1128.34; +} + +//Function Number: 2 +sunflare() +{ + var_00 = maps\_utility::create_sunflare_setting("default"); + var_00.position = (-30,85,0); + maps\_art::sunflare_changes("default",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/fusion_art.gsc b/AW/PC/maps/createart/fusion_art.gsc new file mode 100644 index 0000000..234ab1a --- /dev/null +++ b/AW/PC/maps/createart/fusion_art.gsc @@ -0,0 +1,23 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\fusion_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 23 ms + * Timestamp: 4/22/2024 2:06:35 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + level.player = getentarray("player","classname")[0]; + if(isusinghdr()) + { + maps\createart\fusion_fog_hdr::main(); + return; + } + + maps\createart\fusion_fog::main(); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/fusion_fog.gsc b/AW/PC/maps/createart/fusion_fog.gsc new file mode 100644 index 0000000..1e4eb02 --- /dev/null +++ b/AW/PC/maps/createart/fusion_fog.gsc @@ -0,0 +1,510 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\fusion_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 51 ms + * Timestamp: 4/22/2024 2:06:35 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\_utility::create_vision_set_fog("fusion_helicopter_cg"); + var_00.startdist = 6905; + var_00.halfwaydist = 56985; + var_00.red = 0.83039; + var_00.green = 0.88721; + var_00.blue = 1; + var_00.hdrcolorintensity = 15.7001; + var_00.maxopacity = 0.1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.921382; + var_00.sungreen = 0.948684; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.6331; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 80.7187; + var_00.sunendfadeangle = 85.514; + var_00.normalfogscale = 1.98; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("fusion_helicopter_open_cg"); + var_00.startdist = 24000; + var_00.halfwaydist = 55167.3; + var_00.red = 0.890802; + var_00.green = 0.926245; + var_00.blue = 1; + var_00.hdrcolorintensity = 12; + var_00.maxopacity = 0.325; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.950375; + var_00.sungreen = 0.966852; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.6952; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 80.7187; + var_00.sunendfadeangle = 85.514; + var_00.normalfogscale = 1.98; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("fusion_helicopter_closeup_cg"); + var_00.startdist = 38000; + var_00.halfwaydist = 151056; + var_00.red = 0.890803; + var_00.green = 0.926246; + var_00.blue = 1; + var_00.hdrcolorintensity = 13.6077; + var_00.maxopacity = 0.1475; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.950375; + var_00.sungreen = 0.966853; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.6953; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 63.7187; + var_00.sunendfadeangle = 104.514; + var_00.normalfogscale = 1.95; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("fusion_zipline_cg"); + var_00.startdist = 4201.62; + var_00.halfwaydist = 157889; + var_00.red = 0.936369; + var_00.green = 0.96073; + var_00.blue = 1; + var_00.hdrcolorintensity = 13.6077; + var_00.maxopacity = 0.0527363; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.950375; + var_00.sungreen = 0.966853; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.6953; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 63.7187; + var_00.sunendfadeangle = 104.514; + var_00.normalfogscale = 1.95; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("fusion_battle_exterior_cg"); + var_00.startdist = 950; + var_00.halfwaydist = 75000; + var_00.red = 0.914108; + var_00.green = 0.965594; + var_00.blue = 1; + var_00.hdrcolorintensity = 12.1185; + var_00.maxopacity = 0.4; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.961252; + var_00.sungreen = 0.984721; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.7553; + var_00.sundir = (-0.245,0.877,0.412); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 36.7; + var_00.normalfogscale = 0.711; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("fusion_security_cg"); + var_00.startdist = 407.116; + var_00.halfwaydist = 100186; + var_00.red = 0.992854; + var_00.green = 1; + var_00.blue = 0.950022; + var_00.hdrcolorintensity = 12.7492; + var_00.maxopacity = 0.0125752; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.996852; + var_00.sungreen = 1; + var_00.sunblue = 0.977702; + var_00.hdrsuncolorintensity = 12.8058; + var_00.sundir = (-0.0836103,0.0246058,0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 92.4785; + var_00.normalfogscale = 0.550965; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("fusion_offices_cg"); + var_00.startdist = 600.232; + var_00.halfwaydist = 100186; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 8.26432; + var_00.maxopacity = 0.0125752; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.8058; + var_00.sundir = (-0.0836103,0.0246058,0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 92.4785; + var_00.normalfogscale = 0.550965; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("fusion_lab_cg"); + var_00.startdist = 593.396; + var_00.halfwaydist = 85112.9; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 9.54956; + var_00.maxopacity = 0.0186629; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.8058; + var_00.sundir = (-0.0836103,0.0246058,0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 92.4785; + var_00.normalfogscale = 0.550965; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("fusion_locker_room_cg"); + var_00.startdist = 819.083; + var_00.halfwaydist = 80922.3; + var_00.red = 0.992853; + var_00.green = 1; + var_00.blue = 0.950024; + var_00.hdrcolorintensity = 14.8335; + var_00.maxopacity = 0.581609; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.8058; + var_00.sundir = (-0.0836103,0.0246058,0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 92.4785; + var_00.normalfogscale = 0.550965; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("fusion_reactor_cg"); + var_00.startdist = 830.324; + var_00.halfwaydist = 80396.8; + var_00.red = 0.787913; + var_00.green = 0.920579; + var_00.blue = 1; + var_00.hdrcolorintensity = 11.2259; + var_00.maxopacity = 0.404897; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.900253; + var_00.sungreen = 0.964243; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.6864; + var_00.sundir = (-0.0836103,0.0246058,0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 76.3608; + var_00.normalfogscale = 0.550965; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("fusion_pre_loading_area_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 100000; + var_00.red = 0.445; + var_00.green = 0.502; + var_00.blue = 0.524; + var_00.hdrcolorintensity = 13.5; + var_00.maxopacity = 0.04175; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("fusion_loading_area_cg"); + var_00.startdist = 707.502; + var_00.halfwaydist = 65312; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 11.6301; + var_00.maxopacity = 0.00316056; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("fusion_elevator_cg"); + var_00.startdist = 707.502; + var_00.halfwaydist = 65312; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 9.4661; + var_00.maxopacity = 0.00316056; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("fusion_turbines_reveal_cg"); + var_00.startdist = 1144.49; + var_00.halfwaydist = 49817.1; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 11.1361; + var_00.maxopacity = 0.57129; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.8058; + var_00.sundir = (0.877459,0.47313,0.0788223); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 45.6043; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("fusion_turbines_cg"); + var_00.startdist = 1144.49; + var_00.halfwaydist = 49817.1; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 11.1361; + var_00.maxopacity = 0.57129; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.8058; + var_00.sundir = (0.877459,0.47313,0.0788223); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 45.6043; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("fusion_control_room_dark_cg"); + var_00.startdist = 401.78; + var_00.halfwaydist = 15782.2; + var_00.red = 0.988756; + var_00.green = 0.993945; + var_00.blue = 1; + var_00.hdrcolorintensity = 11.2449; + var_00.maxopacity = 0.102216; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("fusion_control_room_cg"); + var_00.startdist = 1681; + var_00.halfwaydist = 23000; + var_00.red = 1; + var_00.green = 0.990088; + var_00.blue = 0.909828; + var_00.hdrcolorintensity = 13.1277; + var_00.maxopacity = 0.85; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.333; + var_00.sungreen = 0.388; + var_00.sunblue = 0.415; + var_00.sundir = (0.715943,0.698157,0.00134223); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 50.09; + var_00.normalfogscale = 0.599; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("fusion_control_room_transition_cg"); + var_00.startdist = 850; + var_00.halfwaydist = 21385; + var_00.red = 0.939755; + var_00.green = 0.948277; + var_00.blue = 1; + var_00.hdrcolorintensity = 13.4203; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.973037; + var_00.sungreen = 0.976911; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.7292; + var_00.sundir = (0.61,0.605,-0.51); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 38.63; + var_00.normalfogscale = 1.366; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("fusion_hangar_exit_cg"); + var_00.startdist = 1100; + var_00.halfwaydist = 10300; + var_00.red = 0.984287; + var_00.green = 1; + var_00.blue = 0.970726; + var_00.hdrcolorintensity = 10.6395; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.993061; + var_00.sungreen = 1; + var_00.sunblue = 0.98702; + var_00.hdrsuncolorintensity = 12.8058; + var_00.sundir = (0.61,0.605,-0.51); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 34.979; + var_00.normalfogscale = 0.409; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("fusion_hangar_exit_transition_cg"); + var_00.startdist = 1100; + var_00.halfwaydist = 10300; + var_00.red = 0.984287; + var_00.green = 1; + var_00.blue = 0.970726; + var_00.hdrcolorintensity = 10.6395; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.993061; + var_00.sungreen = 1; + var_00.sunblue = 0.98702; + var_00.hdrsuncolorintensity = 12.8058; + var_00.sundir = (0.61,0.605,-0.51); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 34.979; + var_00.normalfogscale = 0.409; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("fusion_cooling_towers_transition_cg"); + var_00.startdist = 1027; + var_00.halfwaydist = 10000; + var_00.red = 0.919782; + var_00.green = 0.950448; + var_00.blue = 1; + var_00.hdrcolorintensity = 12.3946; + var_00.maxopacity = 0.665; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.963876; + var_00.sungreen = 0.977894; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.7325; + var_00.sundir = (0.35,0.84,-0.413); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 60.15; + var_00.normalfogscale = 0.15; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("fusion_cooling_towers_cg"); + var_00.startdist = 700; + var_00.halfwaydist = 4260; + var_00.red = 0.86688; + var_00.green = 0.905094; + var_00.blue = 1; + var_00.hdrcolorintensity = 10.4509; + var_00.maxopacity = 0.98; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.939036; + var_00.sungreen = 0.957064; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.6619; + var_00.sundir = (-0.347,0.844,0.407); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 57; + var_00.normalfogscale = 0.334; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("fusion_cooling_towers_retreat_cg"); + var_00.startdist = 331; + var_00.halfwaydist = 12000; + var_00.red = 0.86688; + var_00.green = 0.905094; + var_00.blue = 1; + var_00.hdrcolorintensity = 11.5018; + var_00.maxopacity = 0.5; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.939036; + var_00.sungreen = 0.957064; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.6619; + var_00.sundir = (-0.76,0.629,0.16); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 30; + var_00.normalfogscale = 0.369; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("fusion_courtyard_room_explode_cg"); + var_00.startdist = 950; + var_00.halfwaydist = 75000; + var_00.red = 0.914108; + var_00.green = 0.965594; + var_00.blue = 1; + var_00.hdrcolorintensity = 14.1185; + var_00.maxopacity = 0.4; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.961252; + var_00.sungreen = 0.984721; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.7553; + var_00.sundir = (-0.245,0.877,0.412); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 36.7; + var_00.normalfogscale = 0.711; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + maps\_utility::vision_set_fog_changes("fusion",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/fusion_fog_hdr.gsc b/AW/PC/maps/createart/fusion_fog_hdr.gsc new file mode 100644 index 0000000..eb74e3b --- /dev/null +++ b/AW/PC/maps/createart/fusion_fog_hdr.gsc @@ -0,0 +1,1810 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\fusion_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 56 ms + * Timestamp: 4/22/2024 2:06:35 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\_utility::create_vision_set_fog("fusion"); + var_00.startdist = 9392; + var_00.halfwaydist = 155282; + var_00.red = 0.936378; + var_00.green = 1; + var_00.blue = 0.981708; + var_00.hdrcolorintensity = 15.3086; + var_00.maxopacity = 0.043; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.950375; + var_00.sungreen = 0.966853; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.6953; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 63.7187; + var_00.sunendfadeangle = 104.514; + var_00.normalfogscale = 1.95; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_neutral"); + var_00.startdist = 512; + var_00.halfwaydist = 59020.1; + var_00.red = 0.967577; + var_00.green = 0.970641; + var_00.blue = 1; + var_00.hdrcolorintensity = 16.9375; + var_00.maxopacity = 0.807351; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.950375; + var_00.sungreen = 0.966853; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.6953; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 63.7187; + var_00.sunendfadeangle = 104.514; + var_00.normalfogscale = 1.95; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = 96.3337; + var_00.heightfoghalfplanedistance = 1013.64; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_helicopter_closed"); + var_00.startdist = 512; + var_00.halfwaydist = 59020.1; + var_00.red = 0.967577; + var_00.green = 0.970641; + var_00.blue = 1; + var_00.hdrcolorintensity = 16.9375; + var_00.maxopacity = 0.807351; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.950375; + var_00.sungreen = 0.966853; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.6953; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 63.7187; + var_00.sunendfadeangle = 104.514; + var_00.normalfogscale = 1.95; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = 96.3337; + var_00.heightfoghalfplanedistance = 1013.64; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_neutral_fogfar"); + var_00.startdist = 1000; + var_00.halfwaydist = 59020.1; + var_00.red = 0.967577; + var_00.green = 0.970641; + var_00.blue = 1; + var_00.hdrcolorintensity = 13; + var_00.maxopacity = 0.807351; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.950375; + var_00.sungreen = 0.966853; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.6953; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 63.7187; + var_00.sunendfadeangle = 104.514; + var_00.normalfogscale = 1.95; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = 96.3337; + var_00.heightfoghalfplanedistance = 1013.64; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_helicopter"); + var_00.startdist = 6905; + var_00.halfwaydist = 56985; + var_00.red = 0.83039; + var_00.green = 0.88721; + var_00.blue = 1; + var_00.hdrcolorintensity = 15.7001; + var_00.maxopacity = 0.1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.921382; + var_00.sungreen = 0.948684; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.6331; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 80.7187; + var_00.sunendfadeangle = 85.514; + var_00.normalfogscale = 1.98; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_helicopter_open"); + var_00.startdist = 24000; + var_00.halfwaydist = 55167.3; + var_00.red = 0.890802; + var_00.green = 0.926245; + var_00.blue = 1; + var_00.hdrcolorintensity = 15.7001; + var_00.maxopacity = 0.325; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.950375; + var_00.sungreen = 0.966852; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.6952; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 80.7187; + var_00.sunendfadeangle = 85.514; + var_00.normalfogscale = 1.98; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_helicopter_closeup"); + var_00.startdist = 512; + var_00.halfwaydist = 59020.1; + var_00.red = 0.967577; + var_00.green = 0.970641; + var_00.blue = 1; + var_00.hdrcolorintensity = 16.9375; + var_00.maxopacity = 0.807351; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.950375; + var_00.sungreen = 0.966853; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.6953; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 63.7187; + var_00.sunendfadeangle = 104.514; + var_00.normalfogscale = 1.95; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = 96.3337; + var_00.heightfoghalfplanedistance = 1013.64; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_zipline"); + var_00.startdist = 4201.62; + var_00.halfwaydist = 157889; + var_00.red = 0.936369; + var_00.green = 0.96073; + var_00.blue = 1; + var_00.hdrcolorintensity = 15.4632; + var_00.maxopacity = 0.0527363; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_battle_exterior"); + var_00.startdist = 950; + var_00.halfwaydist = 75000; + var_00.red = 0.914108; + var_00.green = 0.965594; + var_00.blue = 1; + var_00.hdrcolorintensity = 14.1185; + var_00.maxopacity = 0.4; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.961252; + var_00.sungreen = 0.984721; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.7553; + var_00.sundir = (-0.245,0.877,0.412); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 36.7; + var_00.normalfogscale = 0.711; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_battle_exterior_golden"); + var_00.startdist = 950; + var_00.halfwaydist = 75000; + var_00.red = 0.914108; + var_00.green = 0.965594; + var_00.blue = 1; + var_00.hdrcolorintensity = 14.1185; + var_00.maxopacity = 0.4; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.961252; + var_00.sungreen = 0.984721; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.7553; + var_00.sundir = (-0.245,0.877,0.412); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 36.7; + var_00.normalfogscale = 0.711; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_security"); + var_00.startdist = 407.116; + var_00.halfwaydist = 100186; + var_00.red = 0.992854; + var_00.green = 1; + var_00.blue = 0.950022; + var_00.hdrcolorintensity = 12.7492; + var_00.maxopacity = 0.0125752; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.996852; + var_00.sungreen = 1; + var_00.sunblue = 0.977702; + var_00.hdrsuncolorintensity = 12.8058; + var_00.sundir = (-0.0836103,0.0246058,0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 92.4785; + var_00.normalfogscale = 0.550965; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_offices"); + var_00.startdist = 600.232; + var_00.halfwaydist = 100186; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 9.67282; + var_00.maxopacity = 0.0125752; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.8058; + var_00.sundir = (-0.0836103,0.0246058,0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 92.4785; + var_00.normalfogscale = 0.550965; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_lab"); + var_00.startdist = 593.396; + var_00.halfwaydist = 85112.9; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 10.7443; + var_00.maxopacity = 0.0186629; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_locker_room"); + var_00.startdist = 819.083; + var_00.halfwaydist = 80922.3; + var_00.red = 0.992853; + var_00.green = 1; + var_00.blue = 0.950024; + var_00.hdrcolorintensity = 14.8335; + var_00.maxopacity = 0.581609; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_reactor"); + var_00.startdist = 830.324; + var_00.halfwaydist = 80396.8; + var_00.red = 0.787913; + var_00.green = 0.920579; + var_00.blue = 1; + var_00.hdrcolorintensity = 12.0951; + var_00.maxopacity = 0.404897; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.900253; + var_00.sungreen = 0.964243; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.6864; + var_00.sundir = (-0.0836103,0.0246058,0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 76.3608; + var_00.normalfogscale = 0.550965; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.433594,0.5,0.5); + var_00.atmosfoghazecolor = (0.402344,0.413025,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 13.5; + var_00.atmosfoghalfplanedistance = 31624; + var_00.atmosfogstartdistance = 203.066; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.20385,-0.731977,0.650118); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 40; + var_00 = maps\_utility::create_vision_set_fog("fusion_pre_loading_area"); + var_00.startdist = 755; + var_00.halfwaydist = 122000; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 13.0688; + var_00.maxopacity = 0.00316056; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_loading_area"); + var_00.startdist = 707.502; + var_00.halfwaydist = 65312; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 11.6301; + var_00.maxopacity = 0.00316056; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_elevator"); + var_00.startdist = 707.502; + var_00.halfwaydist = 65312; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 9.4661; + var_00.maxopacity = 0.00316056; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_turbines_reveal"); + var_00.startdist = 1144.49; + var_00.halfwaydist = 49817.1; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 11.1361; + var_00.maxopacity = 0.57129; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.8058; + var_00.sundir = (0.877459,0.47313,0.0788223); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 45.6043; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_turbines"); + var_00.startdist = 1144.49; + var_00.halfwaydist = 49817.1; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 11.1361; + var_00.maxopacity = 0.57129; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.8058; + var_00.sundir = (0.877459,0.47313,0.0788223); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 45.6043; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_turbines_drone"); + var_00.startdist = 1144.49; + var_00.halfwaydist = 49817.1; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 11.1361; + var_00.maxopacity = 0.57129; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.8058; + var_00.sundir = (0.877459,0.47313,0.0788223); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 45.6043; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_control_room_dark"); + var_00.startdist = 401.78; + var_00.halfwaydist = 15782.2; + var_00.red = 0.988756; + var_00.green = 0.993945; + var_00.blue = 1; + var_00.hdrcolorintensity = 11.2449; + var_00.maxopacity = 0.102216; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_control_room"); + var_00.startdist = 1100; + var_00.halfwaydist = 10300; + var_00.red = 0.984287; + var_00.green = 1; + var_00.blue = 0.970726; + var_00.hdrcolorintensity = 12.3616; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.993061; + var_00.sungreen = 1; + var_00.sunblue = 0.98702; + var_00.hdrsuncolorintensity = 12.8058; + var_00.sundir = (0.61,0.605,-0.51); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 34.979; + var_00.normalfogscale = 0.409; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.347656,0.428589,0.5); + var_00.atmosfoghazecolor = (0.5,0.314575,0.117188); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 14.25; + var_00.atmosfoghalfplanedistance = 999.781; + var_00.atmosfogstartdistance = 773.679; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0840893,0.868722,0.48811); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_control_room_transition"); + var_00.startdist = 1100; + var_00.halfwaydist = 10300; + var_00.red = 0.984287; + var_00.green = 1; + var_00.blue = 0.970726; + var_00.hdrcolorintensity = 12.3616; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.993061; + var_00.sungreen = 1; + var_00.sunblue = 0.98702; + var_00.hdrsuncolorintensity = 20.3058; + var_00.sundir = (0.61,0.605,-0.51); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 34.979; + var_00.normalfogscale = 0.409; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.347656,0.428589,0.5); + var_00.atmosfoghazecolor = (0.5,0.314575,0.117188); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 20.25; + var_00.atmosfoghalfplanedistance = 16141.4; + var_00.atmosfogstartdistance = 773.679; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0840893,0.868722,0.48811); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_hangar_exit"); + var_00.startdist = 1100; + var_00.halfwaydist = 10300; + var_00.red = 0.984287; + var_00.green = 1; + var_00.blue = 0.970726; + var_00.hdrcolorintensity = 12.3616; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.993061; + var_00.sungreen = 1; + var_00.sunblue = 0.98702; + var_00.hdrsuncolorintensity = 12.8058; + var_00.sundir = (0.61,0.605,-0.51); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 34.979; + var_00.normalfogscale = 0.409; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.347656,0.428589,0.5); + var_00.atmosfoghazecolor = (0.5,0.314575,0.117188); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 17.5; + var_00.atmosfoghalfplanedistance = 5905.65; + var_00.atmosfogstartdistance = 773.679; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 30; + var_00.atmosfogsundirection = (0.0840893,0.868722,0.48811); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_hangar_exit_transition"); + var_00.startdist = 1100; + var_00.halfwaydist = 10300; + var_00.red = 0.984287; + var_00.green = 1; + var_00.blue = 0.970726; + var_00.hdrcolorintensity = 12.3616; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.993061; + var_00.sungreen = 1; + var_00.sunblue = 0.98702; + var_00.hdrsuncolorintensity = 12.8058; + var_00.sundir = (0.61,0.605,-0.51); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 34.979; + var_00.normalfogscale = 0.409; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.347656,0.428589,0.5); + var_00.atmosfoghazecolor = (0.648438,0.459494,0.258362); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18; + var_00.atmosfoghalfplanedistance = 3060.55; + var_00.atmosfogstartdistance = 616.752; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 30; + var_00.atmosfogsundirection = (0.0840893,0.868722,0.48811); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_cooling_towers_transition"); + var_00.startdist = 1100; + var_00.halfwaydist = 10300; + var_00.red = 0.984287; + var_00.green = 1; + var_00.blue = 0.970726; + var_00.hdrcolorintensity = 12.3616; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.993061; + var_00.sungreen = 1; + var_00.sunblue = 0.98702; + var_00.hdrsuncolorintensity = 12.8058; + var_00.sundir = (0.61,0.605,-0.51); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 34.979; + var_00.normalfogscale = 0.409; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.347656,0.428589,0.5); + var_00.atmosfoghazecolor = (0.5,0.314575,0.117188); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 17.5; + var_00.atmosfoghalfplanedistance = 1809.65; + var_00.atmosfogstartdistance = 773.679; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 30; + var_00.atmosfogsundirection = (0.0840893,0.868722,0.48811); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_cooling_towers"); + var_00.startdist = 700; + var_00.halfwaydist = 4260; + var_00.red = 0.86688; + var_00.green = 0.905094; + var_00.blue = 1; + var_00.hdrcolorintensity = 11.5018; + var_00.maxopacity = 0.98; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.939036; + var_00.sungreen = 0.957064; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.6619; + var_00.sundir = (-0.347,0.844,0.407); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 57; + var_00.normalfogscale = 0.334; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.343771,0.412148,0.5); + var_00.atmosfoghazecolor = (0.5,0.404785,0.347656); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 19.75; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 18080; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0767324,0.865333,0.495289); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_cooling_towers_retreat"); + var_00.startdist = 700; + var_00.halfwaydist = 4260; + var_00.red = 0.86688; + var_00.green = 0.905094; + var_00.blue = 1; + var_00.hdrcolorintensity = 11.5018; + var_00.maxopacity = 0.98; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.939036; + var_00.sungreen = 0.957064; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.6619; + var_00.sundir = (-0.347,0.844,0.407); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 57; + var_00.normalfogscale = 0.334; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.343771,0.412148,0.5); + var_00.atmosfoghazecolor = (0.5,0.404785,0.347656); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 19.75; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 18080; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0767324,0.865333,0.495289); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_cooling_towers_collapse"); + var_00.startdist = 1100; + var_00.halfwaydist = 10300; + var_00.red = 0.984287; + var_00.green = 1; + var_00.blue = 0.970726; + var_00.hdrcolorintensity = 12.3616; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.993061; + var_00.sungreen = 1; + var_00.sunblue = 0.98702; + var_00.hdrsuncolorintensity = 12.8058; + var_00.sundir = (0.61,0.605,-0.51); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 34.979; + var_00.normalfogscale = 0.409; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.21875,0.368164,0.5); + var_00.atmosfoghazecolor = (0.5,0.314575,0.117188); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18.75; + var_00.atmosfoghalfplanedistance = 2594.19; + var_00.atmosfogstartdistance = 184.788; + var_00.atmosfogdistancescale = 5.875; + var_00.atmosfogskydistance = 27855; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 48; + var_00.atmosfogsundirection = (-0.322466,0.884911,0.336077); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 248.788; + var_00 = maps\_utility::create_vision_set_fog("fusion_cooling_towers_collapse_cg"); + var_00.startdist = 1100; + var_00.halfwaydist = 10300; + var_00.red = 0.984287; + var_00.green = 1; + var_00.blue = 0.970726; + var_00.hdrcolorintensity = 12.3616; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.993061; + var_00.sungreen = 1; + var_00.sunblue = 0.98702; + var_00.hdrsuncolorintensity = 12.8058; + var_00.sundir = (0.61,0.605,-0.51); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 34.979; + var_00.normalfogscale = 0.409; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.21875,0.368164,0.5); + var_00.atmosfoghazecolor = (0.5,0.314575,0.117188); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18.75; + var_00.atmosfoghalfplanedistance = 2594.19; + var_00.atmosfogstartdistance = 184.788; + var_00.atmosfogdistancescale = 5.875; + var_00.atmosfogskydistance = 27855; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 48; + var_00.atmosfogsundirection = (-0.322466,0.884911,0.336077); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 248.788; + var_00 = maps\_utility::create_vision_set_fog("fusion_cooling_towers_collapse_after"); + var_00.startdist = 1100; + var_00.halfwaydist = 10300; + var_00.red = 0.984287; + var_00.green = 1; + var_00.blue = 0.970726; + var_00.hdrcolorintensity = 12.3616; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.993061; + var_00.sungreen = 1; + var_00.sunblue = 0.98702; + var_00.hdrsuncolorintensity = 12.8058; + var_00.sundir = (0.61,0.605,-0.51); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 34.979; + var_00.normalfogscale = 0.409; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.21875,0.368164,0.5); + var_00.atmosfoghazecolor = (0.5,0.314575,0.117188); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18.75; + var_00.atmosfoghalfplanedistance = 2594.19; + var_00.atmosfogstartdistance = 2000.86; + var_00.atmosfogdistancescale = 5.875; + var_00.atmosfogskydistance = 27855; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 48; + var_00.atmosfogsundirection = (-0.322466,0.884911,0.336077); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 248.788; + var_00 = maps\_utility::create_vision_set_fog("fusion_cooling_towers_collapse_after_cg"); + var_00.startdist = 1100; + var_00.halfwaydist = 10300; + var_00.red = 0.984287; + var_00.green = 1; + var_00.blue = 0.970726; + var_00.hdrcolorintensity = 12.3616; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.993061; + var_00.sungreen = 1; + var_00.sunblue = 0.98702; + var_00.hdrsuncolorintensity = 12.8058; + var_00.sundir = (0.61,0.605,-0.51); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 34.979; + var_00.normalfogscale = 0.409; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.21875,0.368164,0.5); + var_00.atmosfoghazecolor = (0.5,0.314575,0.117188); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18.75; + var_00.atmosfoghalfplanedistance = 2594.19; + var_00.atmosfogstartdistance = 2000.86; + var_00.atmosfogdistancescale = 5.875; + var_00.atmosfogskydistance = 27855; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 48; + var_00.atmosfogsundirection = (-0.322466,0.884911,0.336077); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 248.788; + var_00 = maps\_utility::create_vision_set_fog("fusion_fog_off"); + var_00.startdist = 50000; + var_00.halfwaydist = 50000; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 15.7127; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_default"); + var_00.startdist = 50000; + var_00.halfwaydist = 50000; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 15.7127; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_courtyard_room_explode"); + var_00.startdist = 950; + var_00.halfwaydist = 75000; + var_00.red = 0.914108; + var_00.green = 0.965594; + var_00.blue = 1; + var_00.hdrcolorintensity = 14.1185; + var_00.maxopacity = 0.4; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.961252; + var_00.sungreen = 0.984721; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.7553; + var_00.sundir = (-0.245,0.877,0.412); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 36.7; + var_00.normalfogscale = 0.711; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_helicopter_cg"); + var_00.startdist = 6905; + var_00.halfwaydist = 56985; + var_00.red = 0.7176; + var_00.green = 0.7764; + var_00.blue = 0.8588; + var_00.hdrcolorintensity = 16.7001; + var_00.maxopacity = 0.1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.921382; + var_00.sungreen = 0.948684; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.6331; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 80.7187; + var_00.sunendfadeangle = 85.514; + var_00.normalfogscale = 1.98; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_helicopter_open_cg"); + var_00.startdist = 20000; + var_00.halfwaydist = 260000; + var_00.red = 0.7176; + var_00.green = 0.7764; + var_00.blue = 0.8588; + var_00.hdrcolorintensity = 17.5; + var_00.maxopacity = 0.0955588; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.950375; + var_00.sungreen = 0.966852; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.6952; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 80.7187; + var_00.sunendfadeangle = 85.514; + var_00.normalfogscale = 1.98; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_helicopter_closeup_cg"); + var_00.startdist = 5186.41; + var_00.halfwaydist = 350121; + var_00.red = 0.7058; + var_00.green = 0.7333; + var_00.blue = 0.87058; + var_00.hdrcolorintensity = 15.5; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.950375; + var_00.sungreen = 0.966853; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 63.7187; + var_00.sunendfadeangle = 104.514; + var_00.normalfogscale = 1.95; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_zipline_cg"); + var_00.startdist = 878.322; + var_00.halfwaydist = 61353.3; + var_00.red = 0.890802; + var_00.green = 0.926245; + var_00.blue = 1; + var_00.hdrcolorintensity = 13.508; + var_00.maxopacity = 0.716411; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.950375; + var_00.sungreen = 0.966852; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.6952; + var_00.sundir = (0.00381018,0.0318141,-1); + var_00.sunbeginfadeangle = 80.7187; + var_00.sunendfadeangle = 85.514; + var_00.normalfogscale = 1.98; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_battle_exterior_cg"); + var_00.startdist = 2100; + var_00.halfwaydist = 94908; + var_00.red = 0.843137; + var_00.green = 0.894118; + var_00.blue = 0.901961; + var_00.hdrcolorintensity = 16.0854; + var_00.maxopacity = 0.419027; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.950375; + var_00.sungreen = 0.966852; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = -1.89519; + var_00.sundir = (-0.582802,0.0318141,-1); + var_00.sunbeginfadeangle = 28.242; + var_00.sunendfadeangle = 31.6481; + var_00.normalfogscale = 4.94199; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = -18.9144; + var_00.skyfogmaxangle = -23.9899; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_battle_exterior_golden_cg"); + var_00.startdist = 4100; + var_00.halfwaydist = 94908; + var_00.red = 0.805726; + var_00.green = 0.721688; + var_00.blue = 0.658235; + var_00.hdrcolorintensity = 17; + var_00.maxopacity = 0.1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.950375; + var_00.sungreen = 0.966852; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = -1.89519; + var_00.sundir = (-0.582802,0.0318141,-1); + var_00.sunbeginfadeangle = 28.242; + var_00.sunendfadeangle = 31.6481; + var_00.normalfogscale = 4.94199; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = -18.9144; + var_00.skyfogmaxangle = -23.9899; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_security_cg"); + var_00.startdist = 9392; + var_00.halfwaydist = 155282; + var_00.red = 0.941176; + var_00.green = 0.862745; + var_00.blue = 0.741176; + var_00.hdrcolorintensity = 8; + var_00.maxopacity = 0.043; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.996852; + var_00.sungreen = 1; + var_00.sunblue = 0.977702; + var_00.hdrsuncolorintensity = 12.8058; + var_00.sundir = (-0.0836103,0.0246058,0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 92.4785; + var_00.normalfogscale = 0.550965; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_offices_cg"); + var_00.startdist = 500; + var_00.halfwaydist = 18000; + var_00.red = 0.888013; + var_00.green = 0.871064; + var_00.blue = 0.859021; + var_00.hdrcolorintensity = 10; + var_00.maxopacity = 0.02; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_lab_cg"); + var_00.startdist = 450; + var_00.halfwaydist = 57000; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 9.54956; + var_00.maxopacity = 0.0186629; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.996852; + var_00.sungreen = 1; + var_00.sunblue = 0.977702; + var_00.hdrsuncolorintensity = 12.8058; + var_00.sundir = (-0.0836103,0.0246058,0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 92.4785; + var_00.normalfogscale = 0.550965; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_locker_room_cg"); + var_00.startdist = 2085.8; + var_00.halfwaydist = 81651.4; + var_00.red = 0.992853; + var_00.green = 1; + var_00.blue = 0.950024; + var_00.hdrcolorintensity = 11.4747; + var_00.maxopacity = 0.581609; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.996852; + var_00.sungreen = 1; + var_00.sunblue = 0.977702; + var_00.hdrsuncolorintensity = 12.8058; + var_00.sundir = (-0.0836103,0.0246058,0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 92.4785; + var_00.normalfogscale = 0.550965; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_reactor_cg"); + var_00.startdist = 830; + var_00.halfwaydist = 80130; + var_00.red = 0.341177; + var_00.green = 0.435294; + var_00.blue = 0.427451; + var_00.hdrcolorintensity = 15; + var_00.maxopacity = 0.3; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.900253; + var_00.sungreen = 0.964243; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.6864; + var_00.sundir = (-0.0836103,0.0246058,0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 76.3608; + var_00.normalfogscale = 0.550965; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_pre_loading_area_cg"); + var_00.startdist = 300; + var_00.halfwaydist = 40000; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 13.0688; + var_00.maxopacity = 0.001; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_loading_area_cg"); + var_00.startdist = 500; + var_00.halfwaydist = 65312; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 9.4661; + var_00.maxopacity = 0.00316056; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_elevator_cg"); + var_00.startdist = 707.502; + var_00.halfwaydist = 65312; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 9.4661; + var_00.maxopacity = 0.00316056; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_turbines_reveal_cg"); + var_00.startdist = 100; + var_00.halfwaydist = 49817.1; + var_00.red = 0.34902; + var_00.green = 0.4; + var_00.blue = 0.45098; + var_00.hdrcolorintensity = 11.1361; + var_00.maxopacity = 0.57129; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.8058; + var_00.sundir = (0.877459,0.47313,0.0788223); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 45.6043; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_turbines_cg"); + var_00.startdist = 500; + var_00.halfwaydist = 49817.1; + var_00.red = 0.360784; + var_00.green = 0.415686; + var_00.blue = 0.470588; + var_00.hdrcolorintensity = 11.1361; + var_00.maxopacity = 0.57129; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.8058; + var_00.sundir = (0.877459,0.47313,0.0788223); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 45.6043; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_control_room_dark_cg"); + var_00.startdist = 401.78; + var_00.halfwaydist = 15782.2; + var_00.red = 0.321569; + var_00.green = 0.396078; + var_00.blue = 0.454902; + var_00.hdrcolorintensity = 11.2449; + var_00.maxopacity = 0.102216; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_control_room_cg"); + var_00.startdist = 500; + var_00.halfwaydist = 2000; + var_00.red = 0.239216; + var_00.green = 0.286274; + var_00.blue = 0.305882; + var_00.hdrcolorintensity = 13.1277; + var_00.maxopacity = 0.85; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.963876; + var_00.sungreen = 0.977894; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.7325; + var_00.sundir = (0.35,0.84,-0.413); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 60.15; + var_00.normalfogscale = 0.15; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_control_room_transition_cg"); + var_00.startdist = 850; + var_00.halfwaydist = 21385; + var_00.red = 0.229412; + var_00.green = 0.285294; + var_00.blue = 0.314706; + var_00.hdrcolorintensity = 13.4203; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.973037; + var_00.sungreen = 0.976911; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.7292; + var_00.sundir = (0.61,0.605,-0.51); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 38.63; + var_00.normalfogscale = 1.366; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_hangar_exit_cg"); + var_00.startdist = 450; + var_00.halfwaydist = 2000; + var_00.red = 0.2; + var_00.green = 0.282353; + var_00.blue = 0.341177; + var_00.hdrcolorintensity = 13; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.993061; + var_00.sungreen = 1; + var_00.sunblue = 0.98702; + var_00.hdrsuncolorintensity = 12.8058; + var_00.sundir = (0.61,0.605,-0.51); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 34.979; + var_00.normalfogscale = 0.409; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_hangar_exit_transition_cg"); + var_00.startdist = 500; + var_00.halfwaydist = 2000; + var_00.red = 0.239216; + var_00.green = 0.286274; + var_00.blue = 0.305882; + var_00.hdrcolorintensity = 10.6395; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.993061; + var_00.sungreen = 1; + var_00.sunblue = 0.98702; + var_00.hdrsuncolorintensity = 12.8058; + var_00.sundir = (0.61,0.605,-0.51); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 34.979; + var_00.normalfogscale = 0.409; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_cooling_towers_transition_cg"); + var_00.startdist = 1027; + var_00.halfwaydist = 10000; + var_00.red = 0.294118; + var_00.green = 0.235294; + var_00.blue = 0.180392; + var_00.hdrcolorintensity = 12.3946; + var_00.maxopacity = 0.665; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.963876; + var_00.sungreen = 0.977894; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.7325; + var_00.sundir = (0.35,0.84,-0.413); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 60.15; + var_00.normalfogscale = 0.15; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_cooling_towers_cg"); + var_00.startdist = 500; + var_00.halfwaydist = 3000; + var_00.red = 0.360784; + var_00.green = 0.415686; + var_00.blue = 0.470588; + var_00.hdrcolorintensity = 10.4509; + var_00.maxopacity = 0.98; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.939036; + var_00.sungreen = 0.957064; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.6619; + var_00.sundir = (-0.347,0.844,0.407); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 57; + var_00.normalfogscale = 0.334; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_cooling_towers_retreat_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 6668.34; + var_00.red = 0.360784; + var_00.green = 0.415686; + var_00.blue = 0.470588; + var_00.hdrcolorintensity = 11.5018; + var_00.maxopacity = 0.5; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.939036; + var_00.sungreen = 0.957064; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.6619; + var_00.sundir = (-0.76,0.629,0.16); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 30; + var_00.normalfogscale = 0.369; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("fusion_courtyard_room_explode_cg"); + var_00.startdist = 950; + var_00.halfwaydist = 75000; + var_00.red = 0.914108; + var_00.green = 0.965594; + var_00.blue = 1; + var_00.hdrcolorintensity = 14.1185; + var_00.maxopacity = 0.4; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.961252; + var_00.sungreen = 0.984721; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.7553; + var_00.sundir = (-0.245,0.877,0.412); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 36.7; + var_00.normalfogscale = 0.711; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; +} \ No newline at end of file diff --git a/AW/PC/maps/createart/greece_art.gsc b/AW/PC/maps/createart/greece_art.gsc new file mode 100644 index 0000000..c5d320b --- /dev/null +++ b/AW/PC/maps/createart/greece_art.gsc @@ -0,0 +1,23 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\greece_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 2:06:36 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + level.player = getentarray("player","classname")[0]; + if(isusinghdr()) + { + maps\createart\greece_fog_hdr::main(); + return; + } + + maps\createart\greece_fog::main(); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/greece_fog.gsc b/AW/PC/maps/createart/greece_fog.gsc new file mode 100644 index 0000000..16c90aa --- /dev/null +++ b/AW/PC/maps/createart/greece_fog.gsc @@ -0,0 +1,24 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\greece_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 2:06:36 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\_utility::create_vision_set_fog("greece"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + maps\_utility::vision_set_fog_changes("greece",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/greece_fog_hdr.gsc b/AW/PC/maps/createart/greece_fog_hdr.gsc new file mode 100644 index 0000000..2f754a0 --- /dev/null +++ b/AW/PC/maps/createart/greece_fog_hdr.gsc @@ -0,0 +1,1697 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\greece_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 58 ms + * Timestamp: 4/22/2024 2:06:36 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + sunflare(); + var_00 = maps\_utility::create_vision_set_fog("greece"); + var_00.startdist = 318.416; + var_00.halfwaydist = 3376.97; + var_00.red = 0.760634; + var_00.green = 0.808585; + var_00.blue = 0.872873; + var_00.hdrcolorintensity = 14.7442; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_cg"); + var_00.startdist = 318.416; + var_00.halfwaydist = 3376.97; + var_00.red = 0.760634; + var_00.green = 0.808585; + var_00.blue = 0.872873; + var_00.hdrcolorintensity = 14.7442; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_safehouse_intro"); + var_00.startdist = 2527.38; + var_00.halfwaydist = 2460.65; + var_00.red = 0.758163; + var_00.green = 0.837491; + var_00.blue = 0.902866; + var_00.hdrcolorintensity = 13.7257; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_safehouse_intro_cg"); + var_00.startdist = 2527.38; + var_00.halfwaydist = 2460.65; + var_00.red = 0.758163; + var_00.green = 0.837491; + var_00.blue = 0.902866; + var_00.hdrcolorintensity = 13.7257; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_safehouse_start"); + var_00.startdist = 2942.99; + var_00.halfwaydist = 10241; + var_00.red = 0.764629; + var_00.green = 0.81087; + var_00.blue = 0.872867; + var_00.hdrcolorintensity = 16.4; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_safehouse_start_cg"); + var_00.startdist = 2942.99; + var_00.halfwaydist = 10241; + var_00.red = 0.764629; + var_00.green = 0.81087; + var_00.blue = 0.872867; + var_00.hdrcolorintensity = 16.4; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_tablet_overlay"); + var_00.startdist = 2942.99; + var_00.halfwaydist = 10241; + var_00.red = 0.764629; + var_00.green = 0.81087; + var_00.blue = 0.872867; + var_00.hdrcolorintensity = 16.4; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_tablet_overlay_cg"); + var_00.startdist = 2942.99; + var_00.halfwaydist = 10241; + var_00.red = 0.764629; + var_00.green = 0.81087; + var_00.blue = 0.872867; + var_00.hdrcolorintensity = 16.4; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_safehouse_terrace"); + var_00.startdist = 2942.99; + var_00.halfwaydist = 10241; + var_00.red = 0.764629; + var_00.green = 0.81087; + var_00.blue = 0.872867; + var_00.hdrcolorintensity = 16.4; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_safehouse_terrace_cg"); + var_00.startdist = 2942.99; + var_00.halfwaydist = 10241; + var_00.red = 0.764629; + var_00.green = 0.81087; + var_00.blue = 0.872867; + var_00.hdrcolorintensity = 16.4; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_safehouse_kill_start"); + var_00.startdist = 2942.99; + var_00.halfwaydist = 10241; + var_00.red = 0.764629; + var_00.green = 0.81087; + var_00.blue = 0.872867; + var_00.hdrcolorintensity = 16.4; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_safehouse_kill_start_cg"); + var_00.startdist = 2942.99; + var_00.halfwaydist = 10241; + var_00.red = 0.764629; + var_00.green = 0.81087; + var_00.blue = 0.872867; + var_00.hdrcolorintensity = 16.4; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_safehouse_clear_start"); + var_00.startdist = 2942.99; + var_00.halfwaydist = 10241; + var_00.red = 0.764629; + var_00.green = 0.81087; + var_00.blue = 0.872867; + var_00.hdrcolorintensity = 15.877; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_safehouse_clear_start_cg"); + var_00.startdist = 2942.99; + var_00.halfwaydist = 10241; + var_00.red = 0.764629; + var_00.green = 0.81087; + var_00.blue = 0.872867; + var_00.hdrcolorintensity = 15.877; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_safehouse_transition_start"); + var_00.startdist = 2560; + var_00.halfwaydist = 5851.11; + var_00.red = 0.764629; + var_00.green = 0.81087; + var_00.blue = 0.872867; + var_00.hdrcolorintensity = 16.0568; + var_00.maxopacity = 0.911527; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_safehouse_transition_start_cg"); + var_00.startdist = 2560; + var_00.halfwaydist = 5851.11; + var_00.red = 0.764629; + var_00.green = 0.81087; + var_00.blue = 0.872867; + var_00.hdrcolorintensity = 16.0568; + var_00.maxopacity = 0.911527; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_confcenter_start"); + var_00.startdist = 2560; + var_00.halfwaydist = 5851.11; + var_00.red = 0.7583; + var_00.green = 0.78536; + var_00.blue = 0.836794; + var_00.hdrcolorintensity = 14.0568; + var_00.maxopacity = 0.911527; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_confcenter_start_cg"); + var_00.startdist = 2560; + var_00.halfwaydist = 58345.9; + var_00.red = 0.7583; + var_00.green = 0.78536; + var_00.blue = 0.836794; + var_00.hdrcolorintensity = 16.0568; + var_00.maxopacity = 0.911527; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_confcenter_begin_support_a"); + var_00.startdist = 3232.12; + var_00.halfwaydist = 5851.11; + var_00.red = 0.78955; + var_00.green = 0.80009; + var_00.blue = 0.821169; + var_00.hdrcolorintensity = 14.8068; + var_00.maxopacity = 0.942777; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_confcenter_begin_support_a_cg"); + var_00.startdist = 2560; + var_00.halfwaydist = 58345.9; + var_00.red = 0.7583; + var_00.green = 0.78536; + var_00.blue = 0.836794; + var_00.hdrcolorintensity = 16.0568; + var_00.maxopacity = 0.911527; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_confcenter_begin_support_b"); + var_00.startdist = 2560; + var_00.halfwaydist = 5851.11; + var_00.red = 0.7583; + var_00.green = 0.78536; + var_00.blue = 0.836794; + var_00.hdrcolorintensity = 14.0568; + var_00.maxopacity = 0.911527; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_confcenter_begin_support_b_cg"); + var_00.startdist = 2560; + var_00.halfwaydist = 58345.9; + var_00.red = 0.7583; + var_00.green = 0.78536; + var_00.blue = 0.836794; + var_00.hdrcolorintensity = 16.0568; + var_00.maxopacity = 0.911527; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_confcenter_begin_support_c"); + var_00.startdist = 2560; + var_00.halfwaydist = 5851.11; + var_00.red = 0.7583; + var_00.green = 0.78536; + var_00.blue = 0.836794; + var_00.hdrcolorintensity = 14.0568; + var_00.maxopacity = 0.911527; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_confcenter_begin_support_c_cg"); + var_00.startdist = 2560; + var_00.halfwaydist = 58345.9; + var_00.red = 0.7583; + var_00.green = 0.78536; + var_00.blue = 0.836794; + var_00.hdrcolorintensity = 16.0568; + var_00.maxopacity = 0.911527; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_confcenter_begin_kill"); + var_00.startdist = 2560; + var_00.halfwaydist = 5851.11; + var_00.red = 0.7583; + var_00.green = 0.78536; + var_00.blue = 0.836794; + var_00.hdrcolorintensity = 14.0568; + var_00.maxopacity = 0.911527; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_confcenter_begin_kill_cg"); + var_00.startdist = 2560; + var_00.halfwaydist = 58345.9; + var_00.red = 0.7583; + var_00.green = 0.78536; + var_00.blue = 0.836794; + var_00.hdrcolorintensity = 16.0568; + var_00.maxopacity = 0.911527; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_confcenter_begin_combat"); + var_00.startdist = 2560; + var_00.halfwaydist = 5851.11; + var_00.red = 0.7583; + var_00.green = 0.78536; + var_00.blue = 0.836794; + var_00.hdrcolorintensity = 14.0568; + var_00.maxopacity = 0.911527; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_confcenter_begin_combat_cg"); + var_00.startdist = 2560; + var_00.halfwaydist = 58345.9; + var_00.red = 0.7583; + var_00.green = 0.78536; + var_00.blue = 0.836794; + var_00.hdrcolorintensity = 16.0568; + var_00.maxopacity = 0.911527; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_confcenter_begin_outro"); + var_00.startdist = 2560; + var_00.halfwaydist = 5851.11; + var_00.red = 0.7583; + var_00.green = 0.78536; + var_00.blue = 0.836794; + var_00.hdrcolorintensity = 14.0568; + var_00.maxopacity = 0.911527; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_confcenter_begin_outro_cg"); + var_00.startdist = 2560; + var_00.halfwaydist = 58345.9; + var_00.red = 0.7583; + var_00.green = 0.78536; + var_00.blue = 0.836794; + var_00.hdrcolorintensity = 16.0568; + var_00.maxopacity = 0.911527; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_safehouse_outro_start"); + var_00.startdist = 3788.95; + var_00.halfwaydist = 11302.4; + var_00.red = 0.764629; + var_00.green = 0.81087; + var_00.blue = 0.872867; + var_00.hdrcolorintensity = 14.9372; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_safehouse_outro_start_cg"); + var_00.startdist = 3788.95; + var_00.halfwaydist = 11302.4; + var_00.red = 0.764629; + var_00.green = 0.81087; + var_00.blue = 0.872867; + var_00.hdrcolorintensity = 14.9372; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_alleys_transition_start"); + var_00.startdist = 1500; + var_00.halfwaydist = 10241; + var_00.red = 0.85; + var_00.green = 0.82; + var_00.blue = 0.78; + var_00.hdrcolorintensity = 16.5; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_alleys_transition_start_cg"); + var_00.startdist = 1500; + var_00.halfwaydist = 10241; + var_00.red = 0.85; + var_00.green = 0.82; + var_00.blue = 0.78; + var_00.hdrcolorintensity = 16.5; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_takedown_kill"); + var_00.startdist = 1500; + var_00.halfwaydist = 10241; + var_00.red = 0.85; + var_00.green = 0.82; + var_00.blue = 0.78; + var_00.hdrcolorintensity = 16.5; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_takedown_kill_cg"); + var_00.startdist = 1500; + var_00.halfwaydist = 10241; + var_00.red = 0.85; + var_00.green = 0.82; + var_00.blue = 0.78; + var_00.hdrcolorintensity = 16.5; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_alleys_start"); + var_00.startdist = 1500; + var_00.halfwaydist = 10241; + var_00.red = 0.85; + var_00.green = 0.82; + var_00.blue = 0.78; + var_00.hdrcolorintensity = 16.5; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_alleys_start_cg"); + var_00.startdist = 1500; + var_00.halfwaydist = 10241; + var_00.red = 0.85; + var_00.green = 0.82; + var_00.blue = 0.78; + var_00.hdrcolorintensity = 16.5; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_alleys_store_aa"); + var_00.startdist = 1500; + var_00.halfwaydist = 10241; + var_00.red = 0.85; + var_00.green = 0.82; + var_00.blue = 0.78; + var_00.hdrcolorintensity = 16.5; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_alleys_store_aa_cg"); + var_00.startdist = 1500; + var_00.halfwaydist = 10241; + var_00.red = 0.85; + var_00.green = 0.82; + var_00.blue = 0.78; + var_00.hdrcolorintensity = 16.5; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_safehouse_dark_transition"); + var_00.startdist = 2942.99; + var_00.halfwaydist = 10241; + var_00.red = 0.764629; + var_00.green = 0.81087; + var_00.blue = 0.872867; + var_00.hdrcolorintensity = 16.4; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_safehouse_dark_transition_cg"); + var_00.startdist = 2942.99; + var_00.halfwaydist = 10241; + var_00.red = 0.764629; + var_00.green = 0.81087; + var_00.blue = 0.872867; + var_00.hdrcolorintensity = 16.4; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_safehouse_dark"); + var_00.startdist = 2942.99; + var_00.halfwaydist = 10241; + var_00.red = 0.764629; + var_00.green = 0.81087; + var_00.blue = 0.872867; + var_00.hdrcolorintensity = 16.4; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_safehouse_dark_cg"); + var_00.startdist = 2942.99; + var_00.halfwaydist = 10241; + var_00.red = 0.764629; + var_00.green = 0.81087; + var_00.blue = 0.872867; + var_00.hdrcolorintensity = 16.4; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_sniper_scramble_start"); + var_00.startdist = 1500; + var_00.halfwaydist = 10241; + var_00.red = 0.717286; + var_00.green = 0.713535; + var_00.blue = 0.700857; + var_00.hdrcolorintensity = 15.8686; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_sniper_scramble_start_cg"); + var_00.startdist = 1500; + var_00.halfwaydist = 23500; + var_00.red = 0.717286; + var_00.green = 0.713535; + var_00.blue = 0.700857; + var_00.hdrcolorintensity = 15.8686; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_sniper_scramble"); + var_00.startdist = 1500; + var_00.halfwaydist = 10241; + var_00.red = 0.717286; + var_00.green = 0.713535; + var_00.blue = 0.700857; + var_00.hdrcolorintensity = 15.8686; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_convoy_explosion"); + var_00.startdist = 1500; + var_00.halfwaydist = 10241; + var_00.red = 0.717286; + var_00.green = 0.713535; + var_00.blue = 0.700857; + var_00.hdrcolorintensity = 15.8686; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_convoy_explosion_cg"); + var_00.startdist = 1500; + var_00.halfwaydist = 10241; + var_00.red = 0.717286; + var_00.green = 0.713535; + var_00.blue = 0.700857; + var_00.hdrcolorintensity = 15.8686; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_ending_hades"); + var_00.startdist = 1500; + var_00.halfwaydist = 10241; + var_00.red = 0.717286; + var_00.green = 0.713535; + var_00.blue = 0.700857; + var_00.hdrcolorintensity = 15.8686; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("greece_ending_hades_cg"); + var_00.startdist = 1500; + var_00.halfwaydist = 10241; + var_00.red = 0.717286; + var_00.green = 0.713535; + var_00.blue = 0.700857; + var_00.hdrcolorintensity = 15.8686; + var_00.maxopacity = 0.395; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.788066; + var_00.sungreen = 0.826495; + var_00.sunblue = 0.880679; + var_00.hdrsuncolorintensity = 18.0297; + var_00.sundir = (-0.851611,0.440545,0.28404); + var_00.sunbeginfadeangle = 1.49767; + var_00.sunendfadeangle = 27.2395; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 35.6537; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; +} + +//Function Number: 2 +sunflare() +{ + var_00 = maps\_utility::create_sunflare_setting("default"); + var_00.position = (-15.2216,146.493,0); + maps\_art::sunflare_changes("default",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/irons_estate_art.gsc b/AW/PC/maps/createart/irons_estate_art.gsc new file mode 100644 index 0000000..e7cce29 --- /dev/null +++ b/AW/PC/maps/createart/irons_estate_art.gsc @@ -0,0 +1,23 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\irons_estate_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 20 ms + * Timestamp: 4/22/2024 2:06:37 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + level.player = getentarray("player","classname")[0]; + if(isusinghdr()) + { + maps\createart\irons_estate_fog_hdr::main(); + return; + } + + maps\createart\irons_estate_fog::main(); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/irons_estate_fog.gsc b/AW/PC/maps/createart/irons_estate_fog.gsc new file mode 100644 index 0000000..a5911a4 --- /dev/null +++ b/AW/PC/maps/createart/irons_estate_fog.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\irons_estate_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 25 ms + * Timestamp: 4/22/2024 2:06:37 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\_utility::create_vision_set_fog("irons_estate"); + var_00.startdist = 900; + var_00.halfwaydist = 2868.8; + var_00.red = 0.55; + var_00.green = 0.76; + var_00.blue = 0.77; + var_00.hdrcolorintensity = 5.24; + var_00.maxopacity = 0.8; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + maps\_utility::vision_set_fog_changes("irons_estate",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/irons_estate_fog_hdr.gsc b/AW/PC/maps/createart/irons_estate_fog_hdr.gsc new file mode 100644 index 0000000..7c657db --- /dev/null +++ b/AW/PC/maps/createart/irons_estate_fog_hdr.gsc @@ -0,0 +1,1313 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\irons_estate_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 47 ms + * Timestamp: 4/22/2024 2:06:37 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + sunflare(); + var_00 = maps\_utility::create_vision_set_fog("irons_estate"); + var_00.startdist = 500; + var_00.halfwaydist = 900; + var_00.red = 0.712014; + var_00.green = 0.837225; + var_00.blue = 1; + var_00.hdrcolorintensity = 5.05436; + var_00.maxopacity = 0.8; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.712014; + var_00.sungreen = 0.837225; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 7.5; + var_00.sundir = (0.989,0.099,0.102); + var_00.sunbeginfadeangle = 0.802831; + var_00.sunendfadeangle = 40.1787; + var_00.normalfogscale = 1.00447; + var_00.skyfogintensity = 0.85; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 75; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = -2661.78; + var_00.heightfoghalfplanedistance = 1092.83; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.375,0.435547,0.5); + var_00.atmosfoghazecolor = (0.5,0.47406,0.433594); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 7.25; + var_00.atmosfoghalfplanedistance = 1715.72; + var_00.atmosfogstartdistance = 204.652; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 19175; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.750254,0.65672,0.0764114); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 1880; + var_00.red = 0.223894; + var_00.green = 0.261519; + var_00.blue = 0.35262; + var_00.hdrcolorintensity = 8.4847; + var_00.maxopacity = 0.367; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.2; + var_00.sungreen = 0.237; + var_00.sunblue = 0.263; + var_00.hdrsuncolorintensity = 7.5; + var_00.sundir = (0.989,0.099,0.102); + var_00.sunbeginfadeangle = 0.802831; + var_00.sunendfadeangle = 40.1787; + var_00.normalfogscale = 1.00447; + var_00.skyfogintensity = 0.85; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 75; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_briefing"); + var_00.startdist = 880.529; + var_00.halfwaydist = 1238.73; + var_00.red = 0.712014; + var_00.green = 0.837225; + var_00.blue = 1; + var_00.hdrcolorintensity = 5.05436; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.712014; + var_00.sungreen = 0.837225; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 7.55961; + var_00.sundir = (0.989,0.099,0.102); + var_00.sunbeginfadeangle = 0.802831; + var_00.sunendfadeangle = 40.1787; + var_00.normalfogscale = 1.00447; + var_00.skyfogintensity = 0.85; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 75; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.375,0.435547,0.5); + var_00.atmosfoghazecolor = (0.5,0.47406,0.433594); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 7.25; + var_00.atmosfoghalfplanedistance = 1715.72; + var_00.atmosfogstartdistance = 204.652; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 19175; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.750254,0.65672,0.0764114); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_briefing_cg"); + var_00.startdist = 880.529; + var_00.halfwaydist = 1880; + var_00.red = 0.223894; + var_00.green = 0.261519; + var_00.blue = 0.35262; + var_00.hdrcolorintensity = 8.4847; + var_00.maxopacity = 0.367; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.2; + var_00.sungreen = 0.237; + var_00.sunblue = 0.263; + var_00.hdrsuncolorintensity = 7.55961; + var_00.sundir = (0.989,0.099,0.102); + var_00.sunbeginfadeangle = 0.802831; + var_00.sunendfadeangle = 40.1787; + var_00.normalfogscale = 1.00447; + var_00.skyfogintensity = 0.85; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 75; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_tutorial"); + var_00.startdist = 500; + var_00.halfwaydist = 900; + var_00.red = 0.712014; + var_00.green = 0.837225; + var_00.blue = 1; + var_00.hdrcolorintensity = 5.05436; + var_00.maxopacity = 0.8; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.712014; + var_00.sungreen = 0.837225; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 7.5; + var_00.sundir = (0.989,0.099,0.102); + var_00.sunbeginfadeangle = 0.802831; + var_00.sunendfadeangle = 40.1787; + var_00.normalfogscale = 1.00447; + var_00.skyfogintensity = 0.85; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 75; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = -2661.78; + var_00.heightfoghalfplanedistance = 1092.83; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.375,0.435547,0.5); + var_00.atmosfoghazecolor = (0.5,0.47406,0.433594); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 7.25; + var_00.atmosfoghalfplanedistance = 1715.72; + var_00.atmosfogstartdistance = 204.652; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 19175; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.750254,0.65672,0.0764114); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_tutorial_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 1880; + var_00.red = 0.223894; + var_00.green = 0.261519; + var_00.blue = 0.35262; + var_00.hdrcolorintensity = 8.4847; + var_00.maxopacity = 0.367; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.2; + var_00.sungreen = 0.237; + var_00.sunblue = 0.263; + var_00.hdrsuncolorintensity = 7.5; + var_00.sundir = (0.989,0.099,0.102); + var_00.sunbeginfadeangle = 0.802831; + var_00.sunendfadeangle = 40.1787; + var_00.normalfogscale = 1.00447; + var_00.skyfogintensity = 0.85; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 75; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_intro_reveal"); + var_00.startdist = 500; + var_00.halfwaydist = 900; + var_00.red = 0.712014; + var_00.green = 0.837225; + var_00.blue = 1; + var_00.hdrcolorintensity = 5.05436; + var_00.maxopacity = 0.8; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.712014; + var_00.sungreen = 0.837225; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 7.5; + var_00.sundir = (0.989,0.099,0.102); + var_00.sunbeginfadeangle = 0.802831; + var_00.sunendfadeangle = 40.1787; + var_00.normalfogscale = 1.00447; + var_00.skyfogintensity = 0.85; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 75; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = -2661.78; + var_00.heightfoghalfplanedistance = 1092.83; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.375,0.435547,0.5); + var_00.atmosfoghazecolor = (0.5,0.47406,0.433594); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 7.25; + var_00.atmosfoghalfplanedistance = 1715.72; + var_00.atmosfogstartdistance = 204.652; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 19175; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.750254,0.65672,0.0764114); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_intro_reveal_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 1880; + var_00.red = 0.223894; + var_00.green = 0.261519; + var_00.blue = 0.35262; + var_00.hdrcolorintensity = 8.4847; + var_00.maxopacity = 0.367; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.2; + var_00.sungreen = 0.237; + var_00.sunblue = 0.263; + var_00.hdrsuncolorintensity = 7.5; + var_00.sundir = (0.989,0.099,0.102); + var_00.sunbeginfadeangle = 0.802831; + var_00.sunendfadeangle = 40.1787; + var_00.normalfogscale = 1.00447; + var_00.skyfogintensity = 0.85; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 75; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_waterfall_intro"); + var_00.startdist = 498.176; + var_00.halfwaydist = 3415.41; + var_00.red = 0.742323; + var_00.green = 0.854356; + var_00.blue = 1; + var_00.hdrcolorintensity = 5.05436; + var_00.maxopacity = 0.607383; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.493868; + var_00.sungreen = 0.531114; + var_00.sunblue = 0.579077; + var_00.hdrsuncolorintensity = 7; + var_00.sundir = (0.387178,0.718714,0.577531); + var_00.sunbeginfadeangle = 0.802831; + var_00.sunendfadeangle = 50.0731; + var_00.normalfogscale = 0.804378; + var_00.skyfogintensity = 0.85; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 75; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = -2797.7; + var_00.heightfoghalfplanedistance = 547.063; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.375,0.435547,0.5); + var_00.atmosfoghazecolor = (0.5,0.47406,0.433594); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 7.25; + var_00.atmosfoghalfplanedistance = 1715.72; + var_00.atmosfogstartdistance = 204.652; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 19175; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.750254,0.65672,0.0764114); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_waterfall_intro_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 1880; + var_00.red = 0.223894; + var_00.green = 0.261519; + var_00.blue = 0.35262; + var_00.hdrcolorintensity = 8.4847; + var_00.maxopacity = 0.367; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.2; + var_00.sungreen = 0.237; + var_00.sunblue = 0.263; + var_00.hdrsuncolorintensity = 7; + var_00.sundir = (0.387178,0.718714,0.577531); + var_00.sunbeginfadeangle = 0.802831; + var_00.sunendfadeangle = 50.0731; + var_00.normalfogscale = 0.804378; + var_00.skyfogintensity = 0.85; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 75; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_waterfall"); + var_00.startdist = 498.176; + var_00.halfwaydist = 3415.41; + var_00.red = 0.742323; + var_00.green = 0.854356; + var_00.blue = 1; + var_00.hdrcolorintensity = 5.05436; + var_00.maxopacity = 0.607383; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.493868; + var_00.sungreen = 0.531114; + var_00.sunblue = 0.579077; + var_00.hdrsuncolorintensity = 7; + var_00.sundir = (0.387178,0.718714,0.577531); + var_00.sunbeginfadeangle = 0.802831; + var_00.sunendfadeangle = 50.0731; + var_00.normalfogscale = 0.804378; + var_00.skyfogintensity = 0.85; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 75; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = -2797.7; + var_00.heightfoghalfplanedistance = 547.063; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.375,0.435547,0.5); + var_00.atmosfoghazecolor = (0.5,0.47406,0.433594); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 7.25; + var_00.atmosfoghalfplanedistance = 1715.72; + var_00.atmosfogstartdistance = 204.652; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 19175; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.750254,0.65672,0.0764114); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_waterfall_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 3984.31; + var_00.red = 0.198288; + var_00.green = 0.234747; + var_00.blue = 0.274765; + var_00.hdrcolorintensity = 8.4847; + var_00.maxopacity = 0.367; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.2; + var_00.sungreen = 0.237; + var_00.sunblue = 0.263; + var_00.hdrsuncolorintensity = 7; + var_00.sundir = (0.387178,0.718714,0.577531); + var_00.sunbeginfadeangle = 0.802831; + var_00.sunendfadeangle = 50.0731; + var_00.normalfogscale = 0.804378; + var_00.skyfogintensity = 0.85; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 75; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_poolhouse"); + var_00.startdist = 500; + var_00.halfwaydist = 900; + var_00.red = 0.712014; + var_00.green = 0.837225; + var_00.blue = 1; + var_00.hdrcolorintensity = 5.05436; + var_00.maxopacity = 0.8; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.712014; + var_00.sungreen = 0.837225; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 7.5; + var_00.sundir = (0.989,0.099,0.102); + var_00.sunbeginfadeangle = 0.802831; + var_00.sunendfadeangle = 40.1787; + var_00.normalfogscale = 1.00447; + var_00.skyfogintensity = 0.85; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 75; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = -2661.78; + var_00.heightfoghalfplanedistance = 1092.83; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.375,0.435547,0.5); + var_00.atmosfoghazecolor = (0.5,0.47406,0.433594); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 7.25; + var_00.atmosfoghalfplanedistance = 1715.72; + var_00.atmosfogstartdistance = 204.652; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 19175; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.750254,0.65672,0.0764114); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_poolhouse_cg"); + var_00.startdist = 500; + var_00.halfwaydist = 900; + var_00.red = 0.223894; + var_00.green = 0.261519; + var_00.blue = 0.35262; + var_00.hdrcolorintensity = 8.4847; + var_00.maxopacity = 0.367; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.2; + var_00.sungreen = 0.237; + var_00.sunblue = 0.263; + var_00.hdrsuncolorintensity = 7.5; + var_00.sundir = (0.989,0.099,0.102); + var_00.sunbeginfadeangle = 0.802831; + var_00.sunendfadeangle = 40.1787; + var_00.normalfogscale = 1.00447; + var_00.skyfogintensity = 0.85; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 75; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_security_center"); + var_00.startdist = 1000; + var_00.halfwaydist = 5238.73; + var_00.red = 0.712014; + var_00.green = 0.837225; + var_00.blue = 1; + var_00.hdrcolorintensity = 5.05436; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.712014; + var_00.sungreen = 0.837225; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 7.5; + var_00.sundir = (0.989,0.099,0.102); + var_00.sunbeginfadeangle = 0.802831; + var_00.sunendfadeangle = 40.1787; + var_00.normalfogscale = 1.00447; + var_00.skyfogintensity = 0.85; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 75; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = -2661.78; + var_00.heightfoghalfplanedistance = 1092.83; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.375,0.435547,0.5); + var_00.atmosfoghazecolor = (0.5,0.47406,0.433594); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 7.25; + var_00.atmosfoghalfplanedistance = 1715.72; + var_00.atmosfogstartdistance = 204.652; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 19175; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.750254,0.65672,0.0764114); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_security_center_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 9626.28; + var_00.red = 0.223894; + var_00.green = 0.261519; + var_00.blue = 0.35262; + var_00.hdrcolorintensity = 5.05436; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.2; + var_00.sungreen = 0.237; + var_00.sunblue = 0.263; + var_00.hdrsuncolorintensity = 7.5; + var_00.sundir = (0.989,0.099,0.102); + var_00.sunbeginfadeangle = 0.802831; + var_00.sunendfadeangle = 40.1787; + var_00.normalfogscale = 1.00447; + var_00.skyfogintensity = 0.85; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 75; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_guesthouse"); + var_00.startdist = 500; + var_00.halfwaydist = 900; + var_00.red = 0.712014; + var_00.green = 0.837225; + var_00.blue = 1; + var_00.hdrcolorintensity = 5.05436; + var_00.maxopacity = 0.8; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.712014; + var_00.sungreen = 0.837225; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 7.5; + var_00.sundir = (0.989,0.099,0.102); + var_00.sunbeginfadeangle = 0.802831; + var_00.sunendfadeangle = 40.1787; + var_00.normalfogscale = 1.00447; + var_00.skyfogintensity = 0.85; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 75; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = -2661.78; + var_00.heightfoghalfplanedistance = 1092.83; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.375,0.435547,0.5); + var_00.atmosfoghazecolor = (0.5,0.47406,0.433594); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 7.25; + var_00.atmosfoghalfplanedistance = 1715.72; + var_00.atmosfogstartdistance = 204.652; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 19175; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.750254,0.65672,0.0764114); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_guesthouse_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 4386.6; + var_00.red = 0.223894; + var_00.green = 0.261519; + var_00.blue = 0.35262; + var_00.hdrcolorintensity = 5.05436; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.2; + var_00.sungreen = 0.237; + var_00.sunblue = 0.263; + var_00.hdrsuncolorintensity = 7.5; + var_00.sundir = (0.989,0.099,0.102); + var_00.sunbeginfadeangle = 0.802831; + var_00.sunendfadeangle = 40.1787; + var_00.normalfogscale = 1.00447; + var_00.skyfogintensity = 0.85; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 75; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_penthouse"); + var_00.startdist = 500; + var_00.halfwaydist = 900; + var_00.red = 0.712014; + var_00.green = 0.837225; + var_00.blue = 1; + var_00.hdrcolorintensity = 5.05436; + var_00.maxopacity = 0.8; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.712014; + var_00.sungreen = 0.837225; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 7.5; + var_00.sundir = (0.989,0.099,0.102); + var_00.sunbeginfadeangle = 0.802831; + var_00.sunendfadeangle = 40.1787; + var_00.normalfogscale = 1.00447; + var_00.skyfogintensity = 0.85; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 75; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = -2661.78; + var_00.heightfoghalfplanedistance = 1092.83; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.375,0.435547,0.5); + var_00.atmosfoghazecolor = (0.5,0.47406,0.433594); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 7.25; + var_00.atmosfoghalfplanedistance = 1715.72; + var_00.atmosfogstartdistance = 204.652; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 19175; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.750254,0.65672,0.0764114); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_penthouse_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 4386.6; + var_00.red = 0.223894; + var_00.green = 0.261519; + var_00.blue = 0.35262; + var_00.hdrcolorintensity = 5.05436; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.2; + var_00.sungreen = 0.237; + var_00.sunblue = 0.263; + var_00.hdrsuncolorintensity = 7.5; + var_00.sundir = (0.989,0.099,0.102); + var_00.sunbeginfadeangle = 0.802831; + var_00.sunendfadeangle = 40.1787; + var_00.normalfogscale = 1.00447; + var_00.skyfogintensity = 0.85; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 75; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_car"); + var_00.startdist = 500; + var_00.halfwaydist = 900; + var_00.red = 0.712014; + var_00.green = 0.837225; + var_00.blue = 1; + var_00.hdrcolorintensity = 5.05436; + var_00.maxopacity = 0.8; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.712014; + var_00.sungreen = 0.837225; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 7.5; + var_00.sundir = (0.989,0.099,0.102); + var_00.sunbeginfadeangle = 0.802831; + var_00.sunendfadeangle = 40.1787; + var_00.normalfogscale = 1.00447; + var_00.skyfogintensity = 0.85; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 75; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = -2661.78; + var_00.heightfoghalfplanedistance = 1092.83; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.375,0.435547,0.5); + var_00.atmosfoghazecolor = (0.5,0.47406,0.433594); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 7.25; + var_00.atmosfoghalfplanedistance = 1715.72; + var_00.atmosfogstartdistance = 204.652; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 19175; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.750254,0.65672,0.0764114); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_hanger"); + var_00.startdist = 1500; + var_00.halfwaydist = 2238.73; + var_00.red = 0.712014; + var_00.green = 0.837225; + var_00.blue = 1; + var_00.hdrcolorintensity = 5.05436; + var_00.maxopacity = 0.8; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.712014; + var_00.sungreen = 0.837225; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 7.5; + var_00.sundir = (0.989,0.099,0.102); + var_00.sunbeginfadeangle = 0.802831; + var_00.sunendfadeangle = 40.1787; + var_00.normalfogscale = 1.00447; + var_00.skyfogintensity = 0.85; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 75; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = -2661.78; + var_00.heightfoghalfplanedistance = 1092.83; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.375,0.435547,0.5); + var_00.atmosfoghazecolor = (0.5,0.47406,0.433594); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 7.25; + var_00.atmosfoghalfplanedistance = 1715.72; + var_00.atmosfogstartdistance = 204.652; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 19175; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.750254,0.65672,0.0764114); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_hanger_cg"); + var_00.startdist = 1500; + var_00.halfwaydist = 1880; + var_00.red = 0.712014; + var_00.green = 0.837225; + var_00.blue = 1; + var_00.hdrcolorintensity = 8.4847; + var_00.maxopacity = 0.367; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.2; + var_00.sungreen = 0.237; + var_00.sunblue = 0.263; + var_00.hdrsuncolorintensity = 7.5; + var_00.sundir = (0.989,0.099,0.102); + var_00.sunbeginfadeangle = 0.802831; + var_00.sunendfadeangle = 40.1787; + var_00.normalfogscale = 1.00447; + var_00.skyfogintensity = 0.85; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 75; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_exfil"); + var_00.startdist = 500; + var_00.halfwaydist = 900; + var_00.red = 0.712014; + var_00.green = 0.837225; + var_00.blue = 1; + var_00.hdrcolorintensity = 5.05436; + var_00.maxopacity = 0.8; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.712014; + var_00.sungreen = 0.837225; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 7.5; + var_00.sundir = (0.989,0.099,0.102); + var_00.sunbeginfadeangle = 0.802831; + var_00.sunendfadeangle = 40.1787; + var_00.normalfogscale = 1.00447; + var_00.skyfogintensity = 0.85; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 75; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = -2661.78; + var_00.heightfoghalfplanedistance = 1092.83; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.375,0.435547,0.5); + var_00.atmosfoghazecolor = (0.5,0.47406,0.433594); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 7.25; + var_00.atmosfoghalfplanedistance = 1715.72; + var_00.atmosfogstartdistance = 204.652; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 19175; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.750254,0.65672,0.0764114); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_exfil_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 1880; + var_00.red = 0.223894; + var_00.green = 0.261519; + var_00.blue = 0.35262; + var_00.hdrcolorintensity = 8.4847; + var_00.maxopacity = 0.367; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.2; + var_00.sungreen = 0.237; + var_00.sunblue = 0.263; + var_00.hdrsuncolorintensity = 7.5; + var_00.sundir = (0.989,0.099,0.102); + var_00.sunbeginfadeangle = 0.802831; + var_00.sunendfadeangle = 40.1787; + var_00.normalfogscale = 1.00447; + var_00.skyfogintensity = 0.85; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 75; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_plane"); + var_00.startdist = 0; + var_00.halfwaydist = 400; + var_00.red = 0.712014; + var_00.green = 0.837225; + var_00.blue = 1; + var_00.hdrcolorintensity = 5.05436; + var_00.maxopacity = 0.8; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.712014; + var_00.sungreen = 0.837225; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 7.5; + var_00.sundir = (0.989,0.099,0.102); + var_00.sunbeginfadeangle = 0.802831; + var_00.sunendfadeangle = 40.1787; + var_00.normalfogscale = 1.00447; + var_00.skyfogintensity = 0.85; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 75; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = -2661.78; + var_00.heightfoghalfplanedistance = 1092.83; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.375,0.435547,0.5); + var_00.atmosfoghazecolor = (0.5,0.47406,0.433594); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 7.25; + var_00.atmosfoghalfplanedistance = 1715.72; + var_00.atmosfogstartdistance = 204.652; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 19175; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.750254,0.65672,0.0764114); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_plane_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 800; + var_00.red = 0.38217; + var_00.green = 0.533959; + var_00.blue = 0.647187; + var_00.hdrcolorintensity = 5.05436; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.2; + var_00.sungreen = 0.237; + var_00.sunblue = 0.263; + var_00.hdrsuncolorintensity = 7.5; + var_00.sundir = (0.989,0.099,0.102); + var_00.sunbeginfadeangle = 0.802831; + var_00.sunendfadeangle = 40.1787; + var_00.normalfogscale = 1.00447; + var_00.skyfogintensity = 0.85; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 75; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_plane_drop_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 800; + var_00.red = 0.38217; + var_00.green = 0.533959; + var_00.blue = 0.647187; + var_00.hdrcolorintensity = 5.05436; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.2; + var_00.sungreen = 0.237; + var_00.sunblue = 0.263; + var_00.hdrsuncolorintensity = 7.5; + var_00.sundir = (0.989,0.099,0.102); + var_00.sunbeginfadeangle = 0.802831; + var_00.sunendfadeangle = 40.1787; + var_00.normalfogscale = 1.00447; + var_00.skyfogintensity = 0.85; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 75; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_plane_drop"); + var_00.startdist = 0; + var_00.halfwaydist = 800; + var_00.red = 0.712014; + var_00.green = 0.837225; + var_00.blue = 1; + var_00.hdrcolorintensity = 5.05436; + var_00.maxopacity = 0.65; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.712014; + var_00.sungreen = 0.837225; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 7.5; + var_00.sundir = (0.989,0.099,0.102); + var_00.sunbeginfadeangle = 0.802831; + var_00.sunendfadeangle = 40.1787; + var_00.normalfogscale = 1.00447; + var_00.skyfogintensity = 0.85; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 75; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = -2661.78; + var_00.heightfoghalfplanedistance = 1092.83; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.375,0.435547,0.5); + var_00.atmosfoghazecolor = (0.5,0.47406,0.433594); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 7.25; + var_00.atmosfoghalfplanedistance = 1715.72; + var_00.atmosfogstartdistance = 204.652; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 19175; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.750254,0.65672,0.0764114); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_underwater"); + var_00.startdist = 0; + var_00.halfwaydist = 4000; + var_00.red = 0.763; + var_00.green = 0.923; + var_00.blue = 1; + var_00.hdrcolorintensity = 5; + var_00.maxopacity = 0.832782; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 100; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.375,0.435547,0.5); + var_00.atmosfoghazecolor = (0.5,0.47406,0.433594); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 7.25; + var_00.atmosfoghalfplanedistance = 1715.72; + var_00.atmosfogstartdistance = 204.652; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 19175; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.750254,0.65672,0.0764114); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_underwater_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 4000; + var_00.red = 0.763; + var_00.green = 0.923; + var_00.blue = 1; + var_00.hdrcolorintensity = 5; + var_00.maxopacity = 0.832782; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.2; + var_00.sungreen = 0.237; + var_00.sunblue = 0.263; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 100; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_underwater_waterfall"); + var_00.startdist = 0; + var_00.halfwaydist = 100; + var_00.red = 0.961; + var_00.green = 1; + var_00.blue = 0.886; + var_00.hdrcolorintensity = 5; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 1; + var_00.skyfogmaxangle = 43; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.375,0.435547,0.5); + var_00.atmosfoghazecolor = (0.5,0.47406,0.433594); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 7.25; + var_00.atmosfoghalfplanedistance = 1715.72; + var_00.atmosfogstartdistance = 204.652; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 19175; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.750254,0.65672,0.0764114); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_underwater_waterfall_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 100; + var_00.red = 0.961; + var_00.green = 1; + var_00.blue = 0.886; + var_00.hdrcolorintensity = 5; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.2; + var_00.sungreen = 0.237; + var_00.sunblue = 0.263; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 1; + var_00.skyfogmaxangle = 43; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_binocular"); + var_00.startdist = 0; + var_00.halfwaydist = 5851.9; + var_00.red = 0.770443; + var_00.green = 0.903156; + var_00.blue = 1; + var_00.hdrcolorintensity = 3.4; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0.6; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 70; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.375,0.435547,0.5); + var_00.atmosfoghazecolor = (0.5,0.47406,0.433594); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 7.25; + var_00.atmosfoghalfplanedistance = 1715.72; + var_00.atmosfogstartdistance = 204.652; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 19175; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.750254,0.65672,0.0764114); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("irons_estate_binocular_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 5851.9; + var_00.red = 0.770443; + var_00.green = 0.903156; + var_00.blue = 1; + var_00.hdrcolorintensity = 3.4; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.2; + var_00.sungreen = 0.237; + var_00.sunblue = 0.263; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0.6; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 70; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; +} + +//Function Number: 2 +sunflare() +{ + var_00 = maps\_utility::create_sunflare_setting("default"); + var_00.position = (-45,-15,0); + maps\_art::sunflare_changes("default",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/lab_art.gsc b/AW/PC/maps/createart/lab_art.gsc new file mode 100644 index 0000000..628a738 --- /dev/null +++ b/AW/PC/maps/createart/lab_art.gsc @@ -0,0 +1,23 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\lab_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:06:38 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + level.player = getentarray("player","classname")[0]; + if(isusinghdr()) + { + maps\createart\lab_fog_hdr::main(); + return; + } + + maps\createart\lab_fog::main(); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/lab_fog.gsc b/AW/PC/maps/createart/lab_fog.gsc new file mode 100644 index 0000000..0fa8a0b --- /dev/null +++ b/AW/PC/maps/createart/lab_fog.gsc @@ -0,0 +1,24 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\lab_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 2:06:38 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\_utility::create_vision_set_fog("lab"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + maps\_utility::vision_set_fog_changes("lab",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/lab_fog_hdr.gsc b/AW/PC/maps/createart/lab_fog_hdr.gsc new file mode 100644 index 0000000..ba95cc4 --- /dev/null +++ b/AW/PC/maps/createart/lab_fog_hdr.gsc @@ -0,0 +1,1865 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\lab_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 78 ms + * Timestamp: 4/22/2024 2:06:38 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + sunflare(); + var_00 = maps\_utility::create_vision_set_fog("lab"); + var_00.startdist = 251.409; + var_00.halfwaydist = 5455.34; + var_00.red = 0.269384; + var_00.green = 0.354642; + var_00.blue = 0.386627; + var_00.hdrcolorintensity = 11.8966; + var_00.maxopacity = 0.294219; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 4743; + var_00.red = 0.274442; + var_00.green = 0.444776; + var_00.blue = 0.497491; + var_00.hdrcolorintensity = 11.091; + var_00.maxopacity = 0.310665; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_crash_hut"); + var_00.startdist = 251.409; + var_00.halfwaydist = 5455.34; + var_00.red = 0.269384; + var_00.green = 0.354642; + var_00.blue = 0.386627; + var_00.hdrcolorintensity = 11.8966; + var_00.maxopacity = 0.294219; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_crash_hut_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 4743; + var_00.red = 0.274442; + var_00.green = 0.444776; + var_00.blue = 0.497491; + var_00.hdrcolorintensity = 11.091; + var_00.maxopacity = 0.310665; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_crash_fence"); + var_00.startdist = 251.409; + var_00.halfwaydist = 5455.34; + var_00.red = 0.269384; + var_00.green = 0.354642; + var_00.blue = 0.386627; + var_00.hdrcolorintensity = 11.8966; + var_00.maxopacity = 0.294219; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_crash_fence_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 4743; + var_00.red = 0.274442; + var_00.green = 0.444776; + var_00.blue = 0.497491; + var_00.hdrcolorintensity = 11.091; + var_00.maxopacity = 0.310665; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_river_cross"); + var_00.startdist = 251.409; + var_00.halfwaydist = 5455.34; + var_00.red = 0.269384; + var_00.green = 0.354642; + var_00.blue = 0.386627; + var_00.hdrcolorintensity = 11.8966; + var_00.maxopacity = 0.294219; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_river_cross_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 4743; + var_00.red = 0.274442; + var_00.green = 0.444776; + var_00.blue = 0.497491; + var_00.hdrcolorintensity = 11.091; + var_00.maxopacity = 0.310665; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_enter_forest"); + var_00.startdist = 251.409; + var_00.halfwaydist = 5455.34; + var_00.red = 0.269384; + var_00.green = 0.354642; + var_00.blue = 0.386627; + var_00.hdrcolorintensity = 11.8966; + var_00.maxopacity = 0.294219; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_enter_forest_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 4743; + var_00.red = 0.274442; + var_00.green = 0.444776; + var_00.blue = 0.497491; + var_00.hdrcolorintensity = 11.091; + var_00.maxopacity = 0.310665; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_root_climb"); + var_00.startdist = 251.409; + var_00.halfwaydist = 5455.34; + var_00.red = 0.269384; + var_00.green = 0.354642; + var_00.blue = 0.386627; + var_00.hdrcolorintensity = 11.8966; + var_00.maxopacity = 0.294219; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_root_climb_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 4743; + var_00.red = 0.274442; + var_00.green = 0.444776; + var_00.blue = 0.497491; + var_00.hdrcolorintensity = 11.091; + var_00.maxopacity = 0.310665; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_cliff_rappel"); + var_00.startdist = 251.409; + var_00.halfwaydist = 5455.34; + var_00.red = 0.269384; + var_00.green = 0.354642; + var_00.blue = 0.386627; + var_00.hdrcolorintensity = 11.8966; + var_00.maxopacity = 0.104673; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_cliff_rappel_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 4743; + var_00.red = 0.274442; + var_00.green = 0.444776; + var_00.blue = 0.497491; + var_00.hdrcolorintensity = 11.091; + var_00.maxopacity = 0.310665; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_cliff_rappel_moment"); + var_00.startdist = 251.409; + var_00.halfwaydist = 5455.34; + var_00.red = 0.269384; + var_00.green = 0.354642; + var_00.blue = 0.386627; + var_00.hdrcolorintensity = 11.8966; + var_00.maxopacity = 0.294219; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_cliff_rappel_moment_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 4743; + var_00.red = 0.274442; + var_00.green = 0.444776; + var_00.blue = 0.497491; + var_00.hdrcolorintensity = 11.091; + var_00.maxopacity = 0.310665; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_forest_takedown"); + var_00.startdist = 251.409; + var_00.halfwaydist = 5455.34; + var_00.red = 0.269384; + var_00.green = 0.354642; + var_00.blue = 0.386627; + var_00.hdrcolorintensity = 11.8966; + var_00.maxopacity = 0.294219; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_forest_takedown_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 4743; + var_00.red = 0.274442; + var_00.green = 0.444776; + var_00.blue = 0.497491; + var_00.hdrcolorintensity = 11.091; + var_00.maxopacity = 0.310665; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_logging_road"); + var_00.startdist = 251.409; + var_00.halfwaydist = 5455.34; + var_00.red = 0.269384; + var_00.green = 0.354642; + var_00.blue = 0.386627; + var_00.hdrcolorintensity = 11.8966; + var_00.maxopacity = 0.294219; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_logging_road_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 4743; + var_00.red = 0.274442; + var_00.green = 0.444776; + var_00.blue = 0.497491; + var_00.hdrcolorintensity = 11.091; + var_00.maxopacity = 0.310665; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_logging_road_post_vrap"); + var_00.startdist = 251.409; + var_00.halfwaydist = 5455.34; + var_00.red = 0.269384; + var_00.green = 0.354642; + var_00.blue = 0.386627; + var_00.hdrcolorintensity = 11.8966; + var_00.maxopacity = 0.294219; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_logging_road_post_vrap_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 4743; + var_00.red = 0.274442; + var_00.green = 0.444776; + var_00.blue = 0.497491; + var_00.hdrcolorintensity = 11.091; + var_00.maxopacity = 0.310665; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_facility_breach"); + var_00.startdist = 251.409; + var_00.halfwaydist = 5455.34; + var_00.red = 0.269384; + var_00.green = 0.354642; + var_00.blue = 0.386627; + var_00.hdrcolorintensity = 11.8966; + var_00.maxopacity = 0.294219; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_facility_breach_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 4743; + var_00.red = 0.274442; + var_00.green = 0.444776; + var_00.blue = 0.497491; + var_00.hdrcolorintensity = 11.091; + var_00.maxopacity = 0.310665; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_facility_breach_moment"); + var_00.startdist = 49.6623; + var_00.halfwaydist = 881.553; + var_00.red = 0.73554; + var_00.green = 0.822336; + var_00.blue = 0.847565; + var_00.hdrcolorintensity = 7.8; + var_00.maxopacity = 0.5; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_facility_breach_moment_cg"); + var_00.startdist = 236; + var_00.halfwaydist = 4347; + var_00.red = 0.4179; + var_00.green = 0.4718; + var_00.blue = 0.47489; + var_00.hdrcolorintensity = 13.5; + var_00.maxopacity = 0.4; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_facility_breach_room"); + var_00.startdist = 207.189; + var_00.halfwaydist = 8966.1; + var_00.red = 0.565813; + var_00.green = 0.689991; + var_00.blue = 0.761627; + var_00.hdrcolorintensity = 9.3; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_facility_breach_room_cg"); + var_00.startdist = 236; + var_00.halfwaydist = 4347; + var_00.red = 0.4179; + var_00.green = 0.4718; + var_00.blue = 0.47489; + var_00.hdrcolorintensity = 13.5; + var_00.maxopacity = 0.4; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_building_1"); + var_00.startdist = 399.601; + var_00.halfwaydist = 2049; + var_00.red = 0.414817; + var_00.green = 0.467121; + var_00.blue = 0.511022; + var_00.hdrcolorintensity = 10.6834; + var_00.maxopacity = 0.285985; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.460938; + var_00.sungreen = 0.5; + var_00.sunblue = 0.489011; + var_00.hdrsuncolorintensity = 12; + var_00.sundir = (0.918128,-0.396282,0.00105461); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 32; + var_00.normalfogscale = 0.812294; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_building_1_cg"); + var_00.startdist = 236; + var_00.halfwaydist = 6917.915; + var_00.red = 0.4666667; + var_00.green = 0.5490196; + var_00.blue = 0.5490196; + var_00.hdrcolorintensity = 14.695; + var_00.maxopacity = 0.4; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_server_room"); + var_00.startdist = 261.513; + var_00.halfwaydist = 34104.9; + var_00.red = 0.414817; + var_00.green = 0.467121; + var_00.blue = 0.511022; + var_00.hdrcolorintensity = 13.9334; + var_00.maxopacity = 0.285985; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.460938; + var_00.sungreen = 0.5; + var_00.sunblue = 0.489011; + var_00.hdrsuncolorintensity = 12; + var_00.sundir = (0.918128,-0.396282,0.00105461); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 32; + var_00.normalfogscale = 0.812294; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_server_room_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 4347; + var_00.red = 0.3372549; + var_00.green = 0.4117647; + var_00.blue = 0.4039216; + var_00.hdrcolorintensity = 13.5; + var_00.maxopacity = 0.4; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_after_server_room"); + var_00.startdist = 425.326; + var_00.halfwaydist = 9528.9; + var_00.red = 0.511022; + var_00.green = 0.476757; + var_00.blue = 0.414817; + var_00.hdrcolorintensity = 14.1834; + var_00.maxopacity = 0.285985; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.460938; + var_00.sungreen = 0.5; + var_00.sunblue = 0.489011; + var_00.hdrsuncolorintensity = 12; + var_00.sundir = (0.918128,-0.396282,0.00105461); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 32; + var_00.normalfogscale = 0.812294; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_after_server_room_cg"); + var_00.startdist = 236; + var_00.halfwaydist = 4347; + var_00.red = 0.4179; + var_00.green = 0.4718; + var_00.blue = 0.47489; + var_00.hdrcolorintensity = 14; + var_00.maxopacity = 0.4; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_pre_connecting_hallway"); + var_00.startdist = 362.154; + var_00.halfwaydist = 54584.9; + var_00.red = 0.414817; + var_00.green = 0.467121; + var_00.blue = 0.511022; + var_00.hdrcolorintensity = 13.4334; + var_00.maxopacity = 0.285985; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.460938; + var_00.sungreen = 0.5; + var_00.sunblue = 0.489011; + var_00.hdrsuncolorintensity = 12; + var_00.sundir = (0.918128,-0.396282,0.00105461); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 32; + var_00.normalfogscale = 0.812294; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_pre_connecting_hallway_cg"); + var_00.startdist = 236; + var_00.halfwaydist = 4347; + var_00.red = 0.543169; + var_00.green = 0.5069; + var_00.blue = 0.474445; + var_00.hdrcolorintensity = 13.5; + var_00.maxopacity = 0.4; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_connecting_hallway"); + var_00.startdist = 231.574; + var_00.halfwaydist = 79160.9; + var_00.red = 0.414817; + var_00.green = 0.467121; + var_00.blue = 0.511022; + var_00.hdrcolorintensity = 13.4334; + var_00.maxopacity = 0.285985; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.460938; + var_00.sungreen = 0.5; + var_00.sunblue = 0.489011; + var_00.hdrsuncolorintensity = 12; + var_00.sundir = (0.918128,-0.396282,0.00105461); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 32; + var_00.normalfogscale = 0.812294; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_connecting_hallway_cg"); + var_00.startdist = 50; + var_00.halfwaydist = 12725; + var_00.red = 0.473177; + var_00.green = 0.485919; + var_00.blue = 0.474445; + var_00.hdrcolorintensity = 15; + var_00.maxopacity = 0.4; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_building_research"); + var_00.startdist = 369.02; + var_00.halfwaydist = 36152.9; + var_00.red = 0.800084; + var_00.green = 0.619631; + var_00.blue = 0.436938; + var_00.hdrcolorintensity = 10.9334; + var_00.maxopacity = 0.285985; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.460938; + var_00.sungreen = 0.5; + var_00.sunblue = 0.489011; + var_00.hdrsuncolorintensity = 12; + var_00.sundir = (0.918128,-0.396282,0.00105461); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 32; + var_00.normalfogscale = 0.812294; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_building_research_cg"); + var_00.startdist = 236; + var_00.halfwaydist = 20725; + var_00.red = 0.6156863; + var_00.green = 0.5254902; + var_00.blue = 0.4352941; + var_00.hdrcolorintensity = 15; + var_00.maxopacity = 0.4; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_building_research_side"); + var_00.startdist = 261.513; + var_00.halfwaydist = 36152.9; + var_00.red = 0.436938; + var_00.green = 0.651393; + var_00.blue = 0.800084; + var_00.hdrcolorintensity = 12.1834; + var_00.maxopacity = 0.285985; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.460938; + var_00.sungreen = 0.5; + var_00.sunblue = 0.489011; + var_00.hdrsuncolorintensity = 12; + var_00.sundir = (0.918128,-0.396282,0.00105461); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 32; + var_00.normalfogscale = 0.812294; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_building_research_side_cg"); + var_00.startdist = 100; + var_00.halfwaydist = 10725; + var_00.red = 0.2941177; + var_00.green = 0.4156863; + var_00.blue = 0.4627451; + var_00.hdrcolorintensity = 15; + var_00.maxopacity = 0.4; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_mini_atrium"); + var_00.startdist = 514.121; + var_00.halfwaydist = 70968.9; + var_00.red = 0.674469; + var_00.green = 0.74709; + var_00.blue = 0.800084; + var_00.hdrcolorintensity = 12.1834; + var_00.maxopacity = 0.535985; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.460938; + var_00.sungreen = 0.5; + var_00.sunblue = 0.489011; + var_00.hdrsuncolorintensity = 12; + var_00.sundir = (0.918128,-0.396282,0.00105461); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 32; + var_00.normalfogscale = 0.812294; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 30; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_mini_atrium_cg"); + var_00.startdist = 236; + var_00.halfwaydist = 12000; + var_00.red = 0.5019608; + var_00.green = 0.5450981; + var_00.blue = 0.5568628; + var_00.hdrcolorintensity = 14; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_foam_room"); + var_00.startdist = 233.525; + var_00.halfwaydist = 10241; + var_00.red = 0.730719; + var_00.green = 0.771683; + var_00.blue = 0.800084; + var_00.hdrcolorintensity = 7.18312; + var_00.maxopacity = 0.535985; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.460938; + var_00.sungreen = 0.5; + var_00.sunblue = 0.489011; + var_00.hdrsuncolorintensity = 12; + var_00.sundir = (0.918128,-0.396282,0.00105461); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 32; + var_00.normalfogscale = 0.812294; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 30; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_foam_room_cg"); + var_00.startdist = 50; + var_00.halfwaydist = 1500; + var_00.red = 0.4179; + var_00.green = 0.4718; + var_00.blue = 0.47489; + var_00.hdrcolorintensity = 13.5; + var_00.maxopacity = 0.4; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_foam_room_frost"); + var_00.startdist = 631.013; + var_00.halfwaydist = 6115.17; + var_00.red = 0.686964; + var_00.green = 0.75907; + var_00.blue = 0.800084; + var_00.hdrcolorintensity = 11.9333; + var_00.maxopacity = 0.535985; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.5; + var_00.sungreen = 0.499019; + var_00.sunblue = 0.4375; + var_00.hdrsuncolorintensity = 12; + var_00.sundir = (0.979115,0.198469,-0.0440877); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 46; + var_00.normalfogscale = 1.875; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 30; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_foam_room_frost_cg"); + var_00.startdist = 236; + var_00.halfwaydist = 4347; + var_00.red = 0.4179; + var_00.green = 0.4718; + var_00.blue = 0.47489; + var_00.hdrcolorintensity = 13.5; + var_00.maxopacity = 0.4; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_tank_hangar"); + var_00.startdist = 472.804; + var_00.halfwaydist = 20222.5; + var_00.red = 0.748157; + var_00.green = 0.799413; + var_00.blue = 0.847565; + var_00.hdrcolorintensity = 8.6347; + var_00.maxopacity = 0.481298; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.499019; + var_00.sunblue = 0.4375; + var_00.hdrsuncolorintensity = 12; + var_00.sundir = (0.979115,0.198469,-0.0440877); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 46; + var_00.normalfogscale = 1.875; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_tank_hangar_cg"); + var_00.startdist = 236; + var_00.halfwaydist = 4347; + var_00.red = 0.4179; + var_00.green = 0.4718; + var_00.blue = 0.47489; + var_00.hdrcolorintensity = 13.5; + var_00.maxopacity = 0.4; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_enter_courtyard"); + var_00.startdist = 908.88; + var_00.halfwaydist = 22019.9; + var_00.red = 0.80069; + var_00.green = 0.710148; + var_00.blue = 0.576138; + var_00.hdrcolorintensity = 9.29818; + var_00.maxopacity = 0.160985; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.499019; + var_00.sunblue = 0.4375; + var_00.hdrsuncolorintensity = 12; + var_00.sundir = (0.979115,0.198469,-0.0440877); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 46; + var_00.normalfogscale = 1.875; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_enter_courtyard_cg"); + var_00.startdist = 100; + var_00.halfwaydist = 24000; + var_00.red = 0.5843138; + var_00.green = 0.5803922; + var_00.blue = 0.5019608; + var_00.hdrcolorintensity = 13.5; + var_00.maxopacity = 0.4; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_enter_courtyard_2"); + var_00.startdist = 753.919; + var_00.halfwaydist = 7237.72; + var_00.red = 0.80069; + var_00.green = 0.710148; + var_00.blue = 0.576138; + var_00.hdrcolorintensity = 9.69283; + var_00.maxopacity = 0.160985; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.499019; + var_00.sunblue = 0.4375; + var_00.hdrsuncolorintensity = 12; + var_00.sundir = (0.979115,0.198469,-0.0440877); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 46; + var_00.normalfogscale = 1.875; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_enter_courtyard_2_cg"); + var_00.startdist = 236; + var_00.halfwaydist = 15390; + var_00.red = 0.5316203; + var_00.green = 0.5508854; + var_00.blue = 0.4932588; + var_00.hdrcolorintensity = 13.5; + var_00.maxopacity = 0.4; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_courtyard_walkway"); + var_00.startdist = 219.155; + var_00.halfwaydist = 2631.71; + var_00.red = 0.39444; + var_00.green = 0.37866; + var_00.blue = 0.348551; + var_00.hdrcolorintensity = 10.0481; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.441894,0.390625); + var_00.atmosfoghazecolor = (0.5,0.460571,0.425781); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 11; + var_00.atmosfoghalfplanedistance = 17288; + var_00.atmosfogstartdistance = 318.892; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.983582,-0.0719845,0.16548); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 33.2413; + var_00 = maps\_utility::create_vision_set_fog("lab_courtyard_walkway_cg"); + var_00.startdist = 236; + var_00.halfwaydist = 4347; + var_00.red = 0.4179; + var_00.green = 0.4718; + var_00.blue = 0.47489; + var_00.hdrcolorintensity = 13.5; + var_00.maxopacity = 0.4; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_courtyard"); + var_00.startdist = 0; + var_00.halfwaydist = 4097; + var_00.red = 0.662076; + var_00.green = 0.757716; + var_00.blue = 0.847565; + var_00.hdrcolorintensity = 3.3; + var_00.maxopacity = 0.481298; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.499019; + var_00.sunblue = 0.4375; + var_00.hdrsuncolorintensity = 12; + var_00.sundir = (0.979115,0.198469,-0.0440877); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 46; + var_00.normalfogscale = 1.875; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_courtyard_cg"); + var_00.startdist = 236; + var_00.halfwaydist = 5939.18; + var_00.red = 0.4179; + var_00.green = 0.4718; + var_00.blue = 0.47489; + var_00.hdrcolorintensity = 13.5; + var_00.maxopacity = 0.4; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_tank_paddock"); + var_00.startdist = 0; + var_00.halfwaydist = 14337; + var_00.red = 0.57; + var_00.green = 0.72; + var_00.blue = 0.847565; + var_00.hdrcolorintensity = 3.3; + var_00.maxopacity = 0.285985; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.499019; + var_00.sunblue = 0.4375; + var_00.hdrsuncolorintensity = 12; + var_00.sundir = (0.979115,0.198469,-0.0440877); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 46; + var_00.normalfogscale = 1.875; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_tank_paddock_cg"); + var_00.startdist = 236; + var_00.halfwaydist = 4347; + var_00.red = 0.4179; + var_00.green = 0.4718; + var_00.blue = 0.47489; + var_00.hdrcolorintensity = 13.5; + var_00.maxopacity = 0.4; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_building_power"); + var_00.startdist = 275.356; + var_00.halfwaydist = 12281.9; + var_00.red = 0.70694; + var_00.green = 0.685553; + var_00.blue = 0.585625; + var_00.hdrcolorintensity = 10.8; + var_00.maxopacity = 0.285985; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.499019; + var_00.sunblue = 0.4375; + var_00.hdrsuncolorintensity = 12; + var_00.sundir = (0.979115,0.198469,-0.0440877); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 46; + var_00.normalfogscale = 1.875; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_building_power_cg"); + var_00.startdist = 300; + var_00.halfwaydist = 4500; + var_00.red = 0.682353; + var_00.green = 0.6156863; + var_00.blue = 0.5568628; + var_00.hdrcolorintensity = 13.5; + var_00.maxopacity = 0.4; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_warehouse"); + var_00.startdist = 0; + var_00.halfwaydist = 14337; + var_00.red = 0.57; + var_00.green = 0.72; + var_00.blue = 0.847565; + var_00.hdrcolorintensity = 3.3; + var_00.maxopacity = 0.285985; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.499019; + var_00.sunblue = 0.4375; + var_00.hdrsuncolorintensity = 12; + var_00.sundir = (0.979115,0.198469,-0.0440877); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 46; + var_00.normalfogscale = 1.875; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_warehouse_cg"); + var_00.startdist = 236; + var_00.halfwaydist = 4347; + var_00.red = 0.4179; + var_00.green = 0.4718; + var_00.blue = 0.47489; + var_00.hdrcolorintensity = 13.5; + var_00.maxopacity = 0.4; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_comms"); + var_00.startdist = 0; + var_00.halfwaydist = 14337; + var_00.red = 0.57; + var_00.green = 0.72; + var_00.blue = 0.847565; + var_00.hdrcolorintensity = 3.3; + var_00.maxopacity = 0.285985; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.499019; + var_00.sunblue = 0.4375; + var_00.hdrsuncolorintensity = 12; + var_00.sundir = (0.979115,0.198469,-0.0440877); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 46; + var_00.normalfogscale = 1.875; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_comms_cg"); + var_00.startdist = 236; + var_00.halfwaydist = 4347; + var_00.red = 0.4179; + var_00.green = 0.4718; + var_00.blue = 0.47489; + var_00.hdrcolorintensity = 13.5; + var_00.maxopacity = 0.4; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_tank_road"); + var_00.startdist = 251.409; + var_00.halfwaydist = 5455.34; + var_00.red = 0.269384; + var_00.green = 0.354642; + var_00.blue = 0.386627; + var_00.hdrcolorintensity = 11.8966; + var_00.maxopacity = 0.294219; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.499019; + var_00.sunblue = 0.4375; + var_00.hdrsuncolorintensity = 12; + var_00.sundir = (0.979115,0.198469,-0.0440877); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 46; + var_00.normalfogscale = 1.875; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_tank_road_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 4743; + var_00.red = 0.245973; + var_00.green = 0.398634; + var_00.blue = 0.44588; + var_00.hdrcolorintensity = 11.091; + var_00.maxopacity = 0.310665; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_tank_field"); + var_00.startdist = 828.134; + var_00.halfwaydist = 9056.99; + var_00.red = 0.269384; + var_00.green = 0.354642; + var_00.blue = 0.386627; + var_00.hdrcolorintensity = 11.7827; + var_00.maxopacity = 0.294219; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.499019; + var_00.sunblue = 0.4375; + var_00.hdrsuncolorintensity = 12; + var_00.sundir = (0.979115,0.198469,-0.0440877); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 46; + var_00.normalfogscale = 1.875; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_tank_field_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 4743; + var_00.red = 0.245973; + var_00.green = 0.398634; + var_00.blue = 0.44588; + var_00.hdrcolorintensity = 11.091; + var_00.maxopacity = 0.310665; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_tank_exfil"); + var_00.startdist = 251.409; + var_00.halfwaydist = 5455.34; + var_00.red = 0.269384; + var_00.green = 0.354642; + var_00.blue = 0.386627; + var_00.hdrcolorintensity = 11.8966; + var_00.maxopacity = 0.294219; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.499019; + var_00.sunblue = 0.4375; + var_00.hdrsuncolorintensity = 12; + var_00.sundir = (0.979115,0.198469,-0.0440877); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 46; + var_00.normalfogscale = 1.875; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_tank_exfil_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 4743; + var_00.red = 0.245973; + var_00.green = 0.398634; + var_00.blue = 0.44588; + var_00.hdrcolorintensity = 11.091; + var_00.maxopacity = 0.310665; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_locker_room"); + var_00.startdist = 549.783; + var_00.halfwaydist = 964.206; + var_00.red = 0.878326; + var_00.green = 0.989117; + var_00.blue = 1; + var_00.hdrcolorintensity = 7.63662; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.499019; + var_00.sunblue = 0.4375; + var_00.hdrsuncolorintensity = 12; + var_00.sundir = (0.979115,0.198469,-0.0440877); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 46; + var_00.normalfogscale = 1.875; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_locker_to_courtyard"); + var_00.startdist = 549.783; + var_00.halfwaydist = 964.206; + var_00.red = 0.878326; + var_00.green = 0.989117; + var_00.blue = 1; + var_00.hdrcolorintensity = 7.63662; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.499019; + var_00.sunblue = 0.4375; + var_00.hdrsuncolorintensity = 12; + var_00.sundir = (0.979115,0.198469,-0.0440877); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 46; + var_00.normalfogscale = 1.875; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_locker_room_cg"); + var_00.startdist = 236; + var_00.halfwaydist = 4347; + var_00.red = 0.4179; + var_00.green = 0.4718; + var_00.blue = 0.47489; + var_00.hdrcolorintensity = 13.5; + var_00.maxopacity = 0.4; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lab_locker_to_courtyard_cg"); + var_00.startdist = 168; + var_00.halfwaydist = 14173.5; + var_00.red = 0.5011069; + var_00.green = 0.5260961; + var_00.blue = 0.4884254; + var_00.hdrcolorintensity = 13.5; + var_00.maxopacity = 0.4; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; +} + +//Function Number: 2 +sunflare() +{ + var_00 = maps\_utility::create_sunflare_setting("default"); + var_00.position = (-30,85,0); + maps\_art::sunflare_changes("default",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/lagos_art.gsc b/AW/PC/maps/createart/lagos_art.gsc new file mode 100644 index 0000000..7146115 --- /dev/null +++ b/AW/PC/maps/createart/lagos_art.gsc @@ -0,0 +1,23 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\lagos_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 20 ms + * Timestamp: 4/22/2024 2:06:39 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + level.player = getentarray("player","classname")[0]; + if(isusinghdr()) + { + maps\createart\lagos_fog_hdr::main(); + return; + } + + maps\createart\lagos_fog::main(); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/lagos_fog.gsc b/AW/PC/maps/createart/lagos_fog.gsc new file mode 100644 index 0000000..7e90228 --- /dev/null +++ b/AW/PC/maps/createart/lagos_fog.gsc @@ -0,0 +1,24 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\lagos_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 2:06:39 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\_utility::create_vision_set_fog("lagos"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + maps\_utility::vision_set_fog_changes("lagos",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/lagos_fog_hdr.gsc b/AW/PC/maps/createart/lagos_fog_hdr.gsc new file mode 100644 index 0000000..dfb7758 --- /dev/null +++ b/AW/PC/maps/createart/lagos_fog_hdr.gsc @@ -0,0 +1,2195 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\lagos_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 69 ms + * Timestamp: 4/22/2024 2:06:39 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + sunflare(); + var_00 = maps\_utility::create_vision_set_fog("lagos"); + var_00.startdist = 1599.12; + var_00.halfwaydist = 24590.3; + var_00.red = 0.660607; + var_00.green = 0.791396; + var_00.blue = 1; + var_00.hdrcolorintensity = 16.52; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_intro_drone"); + var_00.startdist = 1210.9; + var_00.halfwaydist = 16965; + var_00.red = 0.766932; + var_00.green = 0.902479; + var_00.blue = 1; + var_00.hdrcolorintensity = 16.2127; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.521851,0.75613,0.890625); + var_00.atmosfoghazecolor = (0.742188,0.669709,0.55664); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.226563; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 17.5; + var_00.atmosfoghalfplanedistance = 1534.12; + var_00.atmosfogstartdistance = 512; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 351234; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 21.9961; + var_00.atmosfogsundirection = (0.566749,-0.537935,0.624036); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 142.36; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_intro_drone_hostage"); + var_00.startdist = 1210.9; + var_00.halfwaydist = 16965; + var_00.red = 0.766932; + var_00.green = 0.902479; + var_00.blue = 1; + var_00.hdrcolorintensity = 16.2127; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_intro_drone_hostage_cg"); + var_00.startdist = 1210.9; + var_00.halfwaydist = 16965; + var_00.red = 0.766932; + var_00.green = 0.902479; + var_00.blue = 1; + var_00.hdrcolorintensity = 16.2127; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.521851,0.75613,0.890625); + var_00.atmosfoghazecolor = (0.742188,0.669709,0.55664); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.226563; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 17.5; + var_00.atmosfoghalfplanedistance = 25000; + var_00.atmosfogstartdistance = 300; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 351234; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 21.9961; + var_00.atmosfogsundirection = (0.566749,-0.537935,0.624036); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 142.36; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_intro"); + var_00.startdist = 562.022; + var_00.halfwaydist = 23409.5; + var_00.red = 0.660607; + var_00.green = 0.791396; + var_00.blue = 1; + var_00.hdrcolorintensity = 16.0602; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.42041; + var_00.sungreen = 0.501479; + var_00.sunblue = 0.65625; + var_00.hdrsuncolorintensity = 17.9983; + var_00.sundir = (0.764843,-0.324898,0.556287); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 47.9942; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_intro_alley"); + var_00.startdist = 483.662; + var_00.halfwaydist = 37745.5; + var_00.red = 0.660607; + var_00.green = 0.791396; + var_00.blue = 1; + var_00.hdrcolorintensity = 16.3102; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.42041; + var_00.sungreen = 0.501479; + var_00.sunblue = 0.65625; + var_00.hdrsuncolorintensity = 17.9983; + var_00.sundir = (0.764843,-0.324898,0.556287); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 47.9942; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_intro_alley_transition"); + var_00.startdist = 1407.74; + var_00.halfwaydist = 37745.5; + var_00.red = 0.660607; + var_00.green = 0.791396; + var_00.blue = 1; + var_00.hdrcolorintensity = 16.5602; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.42041; + var_00.sungreen = 0.501479; + var_00.sunblue = 0.65625; + var_00.hdrsuncolorintensity = 17.9983; + var_00.sundir = (0.764843,-0.324898,0.556287); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 47.9942; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_intro_interiors"); + var_00.startdist = 914.4; + var_00.halfwaydist = 17915; + var_00.red = 0.660607; + var_00.green = 0.791396; + var_00.blue = 1; + var_00.hdrcolorintensity = 17.0602; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.42041; + var_00.sungreen = 0.501479; + var_00.sunblue = 0.65625; + var_00.hdrsuncolorintensity = 17.9983; + var_00.sundir = (0.764843,-0.324898,0.556287); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 47.9942; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_government_building_ext"); + var_00.startdist = 1477.52; + var_00.halfwaydist = 33913.7; + var_00.red = 0.660607; + var_00.green = 0.791396; + var_00.blue = 1; + var_00.hdrcolorintensity = 16.6391; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.42041; + var_00.sungreen = 0.501479; + var_00.sunblue = 0.65625; + var_00.hdrsuncolorintensity = 17.9983; + var_00.sundir = (0.764843,-0.324898,0.556287); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 47.9942; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_government_rooftop"); + var_00.startdist = 104.901; + var_00.halfwaydist = 41980; + var_00.red = 0.660607; + var_00.green = 0.791396; + var_00.blue = 1; + var_00.hdrcolorintensity = 16.3102; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.42041; + var_00.sungreen = 0.501479; + var_00.sunblue = 0.65625; + var_00.hdrsuncolorintensity = 17.9983; + var_00.sundir = (0.764843,-0.324898,0.556287); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 47.9942; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_government_building"); + var_00.startdist = 582.723; + var_00.halfwaydist = 10556.1; + var_00.red = 0.738732; + var_00.green = 0.839414; + var_00.blue = 1; + var_00.hdrcolorintensity = 13.8089; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.42041; + var_00.sungreen = 0.501479; + var_00.sunblue = 0.65625; + var_00.hdrsuncolorintensity = 17.9983; + var_00.sundir = (0.764843,-0.324898,0.556287); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 47.9942; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_government_building_bridge"); + var_00.startdist = 582.723; + var_00.halfwaydist = 10556.1; + var_00.red = 0.738732; + var_00.green = 0.839414; + var_00.blue = 1; + var_00.hdrcolorintensity = 13.8089; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.42041; + var_00.sungreen = 0.501479; + var_00.sunblue = 0.65625; + var_00.hdrsuncolorintensity = 17.9983; + var_00.sundir = (0.764843,-0.324898,0.556287); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 47.9942; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_hostage_room"); + var_00.startdist = 282.786; + var_00.halfwaydist = 76795.9; + var_00.red = 0.754357; + var_00.green = 0.849018; + var_00.blue = 1; + var_00.hdrcolorintensity = 14.3089; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.42041; + var_00.sungreen = 0.501479; + var_00.sunblue = 0.65625; + var_00.hdrsuncolorintensity = 17.9983; + var_00.sundir = (0.764843,-0.324898,0.556287); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 47.9942; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_lobby"); + var_00.startdist = 1134.02; + var_00.halfwaydist = 31740; + var_00.red = 0.459959; + var_00.green = 0.501988; + var_00.blue = 0.562484; + var_00.hdrcolorintensity = 15.3113; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.5; + var_00.sungreen = 0.491882; + var_00.sunblue = 0.472656; + var_00.hdrsuncolorintensity = 17.25; + var_00.sundir = (0.2201,-0.974846,0.0350826); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 40; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_roundabout"); + var_00.startdist = 554.785; + var_00.halfwaydist = 40303.8; + var_00.red = 0.459959; + var_00.green = 0.501988; + var_00.blue = 0.562484; + var_00.hdrcolorintensity = 17.7319; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.5; + var_00.sungreen = 0.491882; + var_00.sunblue = 0.472656; + var_00.hdrsuncolorintensity = 17.25; + var_00.sundir = (0.2201,-0.974846,0.0350826); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 40; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_roundabout_tanker_explosion"); + var_00.startdist = 423.683; + var_00.halfwaydist = 5487.8; + var_00.red = 0.459959; + var_00.green = 0.501988; + var_00.blue = 0.562484; + var_00.hdrcolorintensity = 17.7319; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.5; + var_00.sungreen = 0.491882; + var_00.sunblue = 0.472656; + var_00.hdrsuncolorintensity = 17.25; + var_00.sundir = (0.2201,-0.974846,0.0350826); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 40; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_roundabout_tanker_aftermath"); + var_00.startdist = 554.785; + var_00.halfwaydist = 40303.8; + var_00.red = 0.459959; + var_00.green = 0.501988; + var_00.blue = 0.562484; + var_00.hdrcolorintensity = 17.7319; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.5; + var_00.sungreen = 0.491882; + var_00.sunblue = 0.472656; + var_00.hdrsuncolorintensity = 17.25; + var_00.sundir = (0.2201,-0.974846,0.0350826); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 40; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_alley"); + var_00.startdist = 744.821; + var_00.halfwaydist = 36877.3; + var_00.red = 0.660607; + var_00.green = 0.791396; + var_00.blue = 1; + var_00.hdrcolorintensity = 16.0195; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.42041; + var_00.sungreen = 0.501479; + var_00.sunblue = 0.65625; + var_00.hdrsuncolorintensity = 18.2726; + var_00.sundir = (0.987003,0.0414713,0.15526); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 63.9416; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_rec_yard"); + var_00.startdist = 839.708; + var_00.halfwaydist = 28685.3; + var_00.red = 0.660607; + var_00.green = 0.791396; + var_00.blue = 1; + var_00.hdrcolorintensity = 16.5195; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.42041; + var_00.sungreen = 0.501479; + var_00.sunblue = 0.65625; + var_00.hdrsuncolorintensity = 18.2726; + var_00.sundir = (0.987003,0.0414713,0.15526); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 63.9416; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_alley_interiors"); + var_00.startdist = 744.821; + var_00.halfwaydist = 12302.3; + var_00.red = 0.912272; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 16.52; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.42041; + var_00.sungreen = 0.501479; + var_00.sunblue = 0.65625; + var_00.hdrsuncolorintensity = 18.2726; + var_00.sundir = (0.987003,0.0414713,0.15526); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 63.9416; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_traffic_crossing"); + var_00.startdist = 306.782; + var_00.halfwaydist = 24586.8; + var_00.red = 0.660607; + var_00.green = 0.791396; + var_00.blue = 1; + var_00.hdrcolorintensity = 15.8374; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.42041; + var_00.sungreen = 0.501479; + var_00.sunblue = 0.65625; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_chase_tunnel_ent"); + var_00.startdist = 1000; + var_00.halfwaydist = 28200; + var_00.red = 0.566; + var_00.green = 0.713; + var_00.blue = 1; + var_00.hdrcolorintensity = 12.85; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.5; + var_00.sungreen = 0.496777; + var_00.sunblue = 0.492188; + var_00.hdrsuncolorintensity = 15.52; + var_00.sundir = (0.2074,-0.9777,0.0329712); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 97; + var_00.normalfogscale = 0.5; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_chase_tunnel"); + var_00.startdist = 2131.22; + var_00.halfwaydist = 51624; + var_00.red = 1; + var_00.green = 0.901611; + var_00.blue = 0.796875; + var_00.hdrcolorintensity = 13.8058; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.496777; + var_00.sunblue = 0.492188; + var_00.hdrsuncolorintensity = 15.52; + var_00.sundir = (0.2074,-0.9777,0.0329712); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 97; + var_00.normalfogscale = 0.5; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_chase"); + var_00.startdist = 2514.3; + var_00.halfwaydist = 50730.1; + var_00.red = 0.496545; + var_00.green = 0.690557; + var_00.blue = 1; + var_00.hdrcolorintensity = 15.654; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.484375; + var_00.sungreen = 0.484375; + var_00.sunblue = 0.484375; + var_00.hdrsuncolorintensity = 15.77; + var_00.sundir = (0.074747,0.86592,0.494566); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 66; + var_00.normalfogscale = 0.5; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_chase_buildings"); + var_00.startdist = 466.3; + var_00.halfwaydist = 130602; + var_00.red = 0.496545; + var_00.green = 0.690557; + var_00.blue = 1; + var_00.hdrcolorintensity = 15.904; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.42041; + var_00.sungreen = 0.501479; + var_00.sunblue = 0.65625; + var_00.hdrsuncolorintensity = 18.75; + var_00.sundir = (-0.52276,0.852224,0.020899); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 42; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_chase_vista"); + var_00.startdist = 466.3; + var_00.halfwaydist = 130602; + var_00.red = 0.496545; + var_00.green = 0.690557; + var_00.blue = 1; + var_00.hdrcolorintensity = 15.904; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.42041; + var_00.sungreen = 0.501479; + var_00.sunblue = 0.65625; + var_00.hdrsuncolorintensity = 18.75; + var_00.sundir = (-0.52276,0.852224,0.020899); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 42; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_truck_top_ride"); + var_00.startdist = 466.3; + var_00.halfwaydist = 130602; + var_00.red = 0.496545; + var_00.green = 0.690557; + var_00.blue = 1; + var_00.hdrcolorintensity = 15.904; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.42041; + var_00.sungreen = 0.501479; + var_00.sunblue = 0.65625; + var_00.hdrsuncolorintensity = 18.75; + var_00.sundir = (-0.52276,0.852224,0.020899); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 42; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_truck_top_crash"); + var_00.startdist = 466.3; + var_00.halfwaydist = 130602; + var_00.red = 0.496545; + var_00.green = 0.690557; + var_00.blue = 1; + var_00.hdrcolorintensity = 15.904; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.42041; + var_00.sungreen = 0.501479; + var_00.sunblue = 0.65625; + var_00.hdrsuncolorintensity = 18.75; + var_00.sundir = (-0.52276,0.852224,0.020899); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 42; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_underwater"); + var_00.startdist = 5; + var_00.halfwaydist = 200; + var_00.red = 0.74661; + var_00.green = 0.999995; + var_00.blue = 0.87276; + var_00.hdrcolorintensity = 13.3491; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.584985; + var_00.sungreen = 0.601561; + var_00.sunblue = 0.420894; + var_00.hdrsuncolorintensity = 13.249; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 150; + var_00.normalfogscale = 0.125; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_underwater_swim_to_surface"); + var_00.startdist = 50; + var_00.halfwaydist = 200; + var_00.red = 0.74661; + var_00.green = 0.999995; + var_00.blue = 0.87276; + var_00.hdrcolorintensity = 11.3491; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.601561; + var_00.sungreen = 0.601561; + var_00.sunblue = 0.601561; + var_00.hdrsuncolorintensity = 5.499; + var_00.sundir = (0.0775669,-0.0987497,0.992085); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 42; + var_00.normalfogscale = 0.5625; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_shoreline"); + var_00.startdist = 306.782; + var_00.halfwaydist = 24586.8; + var_00.red = 0.660607; + var_00.green = 0.791396; + var_00.blue = 1; + var_00.hdrcolorintensity = 15.8374; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.42041; + var_00.sungreen = 0.501479; + var_00.sunblue = 0.65625; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_outro"); + var_00.startdist = 1599.12; + var_00.halfwaydist = 24590.3; + var_00.red = 0.912272; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 16.52; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.34375; + var_00.sungreen = 0.44873; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = 18.2726; + var_00.sundir = (0.987003,0.0414713,0.15526); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 63.9416; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_cg"); + var_00.startdist = 1599.12; + var_00.halfwaydist = 24590.3; + var_00.red = 0.660607; + var_00.green = 0.791396; + var_00.blue = 1; + var_00.hdrcolorintensity = 16.52; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.42041; + var_00.sungreen = 0.501479; + var_00.sunblue = 0.65625; + var_00.hdrsuncolorintensity = 18.75; + var_00.sundir = (-0.52276,0.852224,0.020899); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 42; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_intro_drone_cg"); + var_00.startdist = 500; + var_00.halfwaydist = 25500; + var_00.red = 0.766932; + var_00.green = 0.902479; + var_00.blue = 1; + var_00.hdrcolorintensity = 16.2127; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_intro_cg"); + var_00.startdist = 1477.19; + var_00.halfwaydist = 10000; + var_00.red = 0.612703; + var_00.green = 0.729203; + var_00.blue = 0.875644; + var_00.hdrcolorintensity = 16; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.42041; + var_00.sungreen = 0.501479; + var_00.sunblue = 0.65625; + var_00.hdrsuncolorintensity = 17.9983; + var_00.sundir = (0.764843,-0.324898,0.556287); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 47.9942; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_intro_alley_cg"); + var_00.startdist = 200; + var_00.halfwaydist = 21134; + var_00.red = 0.612703; + var_00.green = 0.729203; + var_00.blue = 0.875644; + var_00.hdrcolorintensity = 16; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.42041; + var_00.sungreen = 0.501479; + var_00.sunblue = 0.65625; + var_00.hdrsuncolorintensity = 17.9983; + var_00.sundir = (0.764843,-0.324898,0.556287); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 47.9942; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_intro_alley_transition_cg"); + var_00.startdist = 1700; + var_00.halfwaydist = 50134; + var_00.red = 0.612703; + var_00.green = 0.729203; + var_00.blue = 0.875644; + var_00.hdrcolorintensity = 16; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.42041; + var_00.sungreen = 0.501479; + var_00.sunblue = 0.65625; + var_00.hdrsuncolorintensity = 17.9983; + var_00.sundir = (0.764843,-0.324898,0.556287); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 47.9942; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_intro_interiors_cg"); + var_00.startdist = 1000; + var_00.halfwaydist = 15040.7; + var_00.red = 0.501532; + var_00.green = 0.495896; + var_00.blue = 0.53342; + var_00.hdrcolorintensity = 16; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_government_building_ext_cg"); + var_00.startdist = 1000; + var_00.halfwaydist = 15040.7; + var_00.red = 0.501532; + var_00.green = 0.495896; + var_00.blue = 0.53342; + var_00.hdrcolorintensity = 16; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_government_rooftop_cg"); + var_00.startdist = 1300; + var_00.halfwaydist = 20000; + var_00.red = 0.623529; + var_00.green = 0.74902; + var_00.blue = 0.87451; + var_00.hdrcolorintensity = 14.8341; + var_00.maxopacity = 0.356788; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_government_building_cg"); + var_00.startdist = 582.723; + var_00.halfwaydist = 15000; + var_00.red = 0.607843; + var_00.green = 0.709804; + var_00.blue = 0.807843; + var_00.hdrcolorintensity = 13.3; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_government_building_bridge_cg"); + var_00.startdist = 582.723; + var_00.halfwaydist = 15000; + var_00.red = 0.607843; + var_00.green = 0.709804; + var_00.blue = 0.807843; + var_00.hdrcolorintensity = 13.3; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_hostage_room_cg"); + var_00.startdist = 1100; + var_00.halfwaydist = 28000; + var_00.red = 0.658823; + var_00.green = 0.74902; + var_00.blue = 0.843137; + var_00.hdrcolorintensity = 15.5; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_lobby_cg"); + var_00.startdist = 800; + var_00.halfwaydist = 100304; + var_00.red = 0.459959; + var_00.green = 0.501988; + var_00.blue = 0.562484; + var_00.hdrcolorintensity = 17.7319; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.5; + var_00.sungreen = 0.491882; + var_00.sunblue = 0.472656; + var_00.hdrsuncolorintensity = 17.25; + var_00.sundir = (0.2201,-0.974846,0.0350826); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 40; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_roundabout_cg"); + var_00.startdist = 800; + var_00.halfwaydist = 100304; + var_00.red = 0.459959; + var_00.green = 0.501988; + var_00.blue = 0.562484; + var_00.hdrcolorintensity = 17.7319; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.5; + var_00.sungreen = 0.491882; + var_00.sunblue = 0.472656; + var_00.hdrsuncolorintensity = 17.25; + var_00.sundir = (0.2201,-0.974846,0.0350826); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 40; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_roundabout_tanker_explosion_cg"); + var_00.startdist = 800; + var_00.halfwaydist = 100304; + var_00.red = 0.459959; + var_00.green = 0.501988; + var_00.blue = 0.562484; + var_00.hdrcolorintensity = 17.7319; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.5; + var_00.sungreen = 0.491882; + var_00.sunblue = 0.472656; + var_00.hdrsuncolorintensity = 17.25; + var_00.sundir = (0.2201,-0.974846,0.0350826); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 40; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_roundabout_tanker_aftermath_cg"); + var_00.startdist = 400; + var_00.halfwaydist = 20303.8; + var_00.red = 0.45098; + var_00.green = 0.494118; + var_00.blue = 0.509804; + var_00.hdrcolorintensity = 17.7319; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.5; + var_00.sungreen = 0.491882; + var_00.sunblue = 0.472656; + var_00.hdrsuncolorintensity = 17.25; + var_00.sundir = (0.2201,-0.974846,0.0350826); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 40; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_alley_cg"); + var_00.startdist = 600; + var_00.halfwaydist = 30000; + var_00.red = 0.660607; + var_00.green = 0.791396; + var_00.blue = 1; + var_00.hdrcolorintensity = 16.0195; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.42041; + var_00.sungreen = 0.501479; + var_00.sunblue = 0.65625; + var_00.hdrsuncolorintensity = 18.2726; + var_00.sundir = (0.987003,0.0414713,0.15526); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 63.9416; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_rec_yard_cg"); + var_00.startdist = 839.708; + var_00.halfwaydist = 28685.3; + var_00.red = 0.660607; + var_00.green = 0.791396; + var_00.blue = 1; + var_00.hdrcolorintensity = 16.5195; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.42041; + var_00.sungreen = 0.501479; + var_00.sunblue = 0.65625; + var_00.hdrsuncolorintensity = 18.2726; + var_00.sundir = (0.987003,0.0414713,0.15526); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 63.9416; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_alley_interiors_cg"); + var_00.startdist = 700; + var_00.halfwaydist = 12302.3; + var_00.red = 0.717024; + var_00.green = 0.817077; + var_00.blue = 0.952941; + var_00.hdrcolorintensity = 16.52; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.42041; + var_00.sungreen = 0.501479; + var_00.sunblue = 0.65625; + var_00.hdrsuncolorintensity = 18.2726; + var_00.sundir = (0.987003,0.0414713,0.15526); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 63.9416; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_traffic_crossing_cg"); + var_00.startdist = 306.782; + var_00.halfwaydist = 45586.8; + var_00.red = 0.6758475; + var_00.green = 0.791586; + var_00.blue = 0.9656865; + var_00.hdrcolorintensity = 15.8374; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.42041; + var_00.sungreen = 0.501479; + var_00.sunblue = 0.65625; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_chase_tunnel_ent_cg"); + var_00.startdist = 25; + var_00.halfwaydist = 40000; + var_00.red = 0.6432718; + var_00.green = 0.758348; + var_00.blue = 0.9044118; + var_00.hdrcolorintensity = 15.6; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.5; + var_00.sungreen = 0.496777; + var_00.sunblue = 0.492188; + var_00.hdrsuncolorintensity = 16.77; + var_00.sundir = (0.2074,-0.9777,0.0329712); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 97; + var_00.normalfogscale = 0.5; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_chase_tunnel_cg"); + var_00.startdist = 500; + var_00.halfwaydist = 10000; + var_00.red = 0.657754; + var_00.green = 0.794718; + var_00.blue = 0.921569; + var_00.hdrcolorintensity = 13.8058; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.496777; + var_00.sunblue = 0.492188; + var_00.hdrsuncolorintensity = 16.77; + var_00.sundir = (0.2074,-0.9777,0.0329712); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 97; + var_00.normalfogscale = 0.5; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_chase_cg"); + var_00.startdist = 700; + var_00.halfwaydist = 120730; + var_00.red = 0.707376; + var_00.green = 0.822121; + var_00.blue = 0.945588; + var_00.hdrcolorintensity = 15.654; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.484375; + var_00.sungreen = 0.484375; + var_00.sunblue = 0.484375; + var_00.hdrsuncolorintensity = 15.77; + var_00.sundir = (0.074747,0.86592,0.494566); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 66; + var_00.normalfogscale = 0.5; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_chase_buildings_cg"); + var_00.startdist = 466.3; + var_00.halfwaydist = 130602; + var_00.red = 0.55362; + var_00.green = 0.707833; + var_00.blue = 0.921569; + var_00.hdrcolorintensity = 15.904; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.42041; + var_00.sungreen = 0.501479; + var_00.sunblue = 0.65625; + var_00.hdrsuncolorintensity = 18.75; + var_00.sundir = (-0.52276,0.852224,0.020899); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 42; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_chase_vista_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 130602; + var_00.red = 0.697505; + var_00.green = 0.79981; + var_00.blue = 0.905883; + var_00.hdrcolorintensity = 15.904; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.42041; + var_00.sungreen = 0.501479; + var_00.sunblue = 0.65625; + var_00.hdrsuncolorintensity = 18.75; + var_00.sundir = (-0.52276,0.852224,0.020899); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 42; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_truck_top_ride_cg"); + var_00.startdist = 466.3; + var_00.halfwaydist = 130602; + var_00.red = 0.55362; + var_00.green = 0.707833; + var_00.blue = 0.921569; + var_00.hdrcolorintensity = 15.904; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.42041; + var_00.sungreen = 0.501479; + var_00.sunblue = 0.65625; + var_00.hdrsuncolorintensity = 18.75; + var_00.sundir = (-0.52276,0.852224,0.020899); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 42; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_truck_top_crash_cg"); + var_00.startdist = 466.3; + var_00.halfwaydist = 130602; + var_00.red = 0.55362; + var_00.green = 0.707833; + var_00.blue = 0.921569; + var_00.hdrcolorintensity = 15.904; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.42041; + var_00.sungreen = 0.501479; + var_00.sunblue = 0.65625; + var_00.hdrsuncolorintensity = 18.75; + var_00.sundir = (-0.52276,0.852224,0.020899); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 42; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_underwater_cg"); + var_00.startdist = 5; + var_00.halfwaydist = 200; + var_00.red = 0.74661; + var_00.green = 0.999995; + var_00.blue = 0.87276; + var_00.hdrcolorintensity = 13.3491; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.584985; + var_00.sungreen = 0.601561; + var_00.sunblue = 0.420894; + var_00.hdrsuncolorintensity = 13.249; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 150; + var_00.normalfogscale = 0.125; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_underwater_swim_to_surface_cg"); + var_00.startdist = 5; + var_00.halfwaydist = 200; + var_00.red = 0.74661; + var_00.green = 0.999995; + var_00.blue = 0.87276; + var_00.hdrcolorintensity = 11.3491; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.601561; + var_00.sungreen = 0.601561; + var_00.sunblue = 0.601561; + var_00.hdrsuncolorintensity = 5.499; + var_00.sundir = (0.0775669,-0.0987497,0.992085); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 60; + var_00.normalfogscale = 0.125; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_shoreline_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 120000; + var_00.red = 0.470928; + var_00.green = 0.68725; + var_00.blue = 0.933333; + var_00.hdrcolorintensity = 15.8374; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.42041; + var_00.sungreen = 0.501479; + var_00.sunblue = 0.65625; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("lagos_outro_cg"); + var_00.startdist = 1599.12; + var_00.halfwaydist = 24590.3; + var_00.red = 0.696777; + var_00.green = 0.822656; + var_00.blue = 0.980392; + var_00.hdrcolorintensity = 16.52; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.34375; + var_00.sungreen = 0.44873; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = 18.2726; + var_00.sundir = (0.987003,0.0414713,0.15526); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 63.9416; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; +} + +//Function Number: 2 +sunflare() +{ + var_00 = maps\_utility::create_sunflare_setting("default"); + var_00.position = (-30,85,0); + maps\_art::sunflare_changes("default",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_bigben2_art.gsc b/AW/PC/maps/createart/mp_bigben2_art.gsc new file mode 100644 index 0000000..59841d9 --- /dev/null +++ b/AW/PC/maps/createart/mp_bigben2_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_bigben2_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 20 ms + * Timestamp: 4/22/2024 2:06:39 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_bigben2_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_bigben2_fog::setupfog(); + } + + visionsetnaked("mp_bigben2",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_bigben2_fog.gsc b/AW/PC/maps/createart/mp_bigben2_fog.gsc new file mode 100644 index 0000000..19f9a7c --- /dev/null +++ b/AW/PC/maps/createart/mp_bigben2_fog.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_bigben2_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:06:40 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_bigben2"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_bigben2_fog_hdr.gsc b/AW/PC/maps/createart/mp_bigben2_fog_hdr.gsc new file mode 100644 index 0000000..8442a38 --- /dev/null +++ b/AW/PC/maps/createart/mp_bigben2_fog_hdr.gsc @@ -0,0 +1,439 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_bigben2_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 44 ms + * Timestamp: 4/22/2024 2:06:40 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_bigben2"); + var_00.startdist = 1094.8; + var_00.halfwaydist = 215653; + var_00.red = 0.750356; + var_00.green = 0.810683; + var_00.blue = 0.8592; + var_00.hdrcolorintensity = 16.149; + var_00.maxopacity = 0.984241; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0.164408; + var_00.skyfogminangle = 49.9611; + var_00.skyfogmaxangle = 89.7788; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = 522.38; + var_00.heightfoghalfplanedistance = 4334.79; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.706455,0.70556,0.679094); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.659102; + var_00.atmosfogextinctionstrength = 0.356676; + var_00.atmosfoginscatterstrength = 15.3047; + var_00.atmosfoghalfplanedistance = 151.855; + var_00.atmosfogstartdistance = 125.511; + var_00.atmosfogdistancescale = 4.50079; + var_00.atmosfogskydistance = 8192; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -47.1236; + var_00.atmosfogskyfalloffanglerange = 360.3; + var_00.atmosfogsundirection = (-0.341452,0.0197027,-0.939693); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -214.334; + var_00.atmosfogheightfoghalfplanedistance = 212.418; + var_00 = maps\mp\_art::create_vision_set_fog("mp_bigben2_drone"); + var_00.startdist = 1094.8; + var_00.halfwaydist = 215653; + var_00.red = 0.750356; + var_00.green = 0.810683; + var_00.blue = 0.8592; + var_00.hdrcolorintensity = 16.149; + var_00.maxopacity = 0.984241; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0.164408; + var_00.skyfogminangle = 49.9611; + var_00.skyfogmaxangle = 89.7788; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = 522.38; + var_00.heightfoghalfplanedistance = 4334.79; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.706455,0.70556,0.679094); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.659102; + var_00.atmosfogextinctionstrength = 0.356676; + var_00.atmosfoginscatterstrength = 15.3047; + var_00.atmosfoghalfplanedistance = 151.855; + var_00.atmosfogstartdistance = 125.511; + var_00.atmosfogdistancescale = 4.50079; + var_00.atmosfogskydistance = 8192; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -47.1236; + var_00.atmosfogskyfalloffanglerange = 360.3; + var_00.atmosfogsundirection = (-0.341452,0.0197027,-0.939693); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -214.334; + var_00.atmosfogheightfoghalfplanedistance = 212.418; + var_00 = maps\mp\_art::create_vision_set_fog("mp_bigben2_warbird"); + var_00.startdist = 1094.8; + var_00.halfwaydist = 244325; + var_00.red = 0.750356; + var_00.green = 0.810683; + var_00.blue = 0.8592; + var_00.hdrcolorintensity = 16.1576; + var_00.maxopacity = 0.984241; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0.164408; + var_00.skyfogminangle = 49.9611; + var_00.skyfogmaxangle = 89.7788; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = 906.38; + var_00.heightfoghalfplanedistance = 4334.79; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.706455,0.70556,0.679094); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.659102; + var_00.atmosfogextinctionstrength = 0.356676; + var_00.atmosfoginscatterstrength = 15.3047; + var_00.atmosfoghalfplanedistance = 151.855; + var_00.atmosfogstartdistance = 125.511; + var_00.atmosfogdistancescale = 4.50079; + var_00.atmosfogskydistance = 8192; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -47.1236; + var_00.atmosfogskyfalloffanglerange = 360.3; + var_00.atmosfogsundirection = (-0.341452,0.0197027,-0.939693); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -214.334; + var_00.atmosfogheightfoghalfplanedistance = 212.418; + var_00 = maps\mp\_art::create_vision_set_fog("mp_bigben2_osp"); + var_00.startdist = 7055.6; + var_00.halfwaydist = 203499; + var_00.red = 0.763526; + var_00.green = 0.816553; + var_00.blue = 0.8592; + var_00.hdrcolorintensity = 19.9315; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.417168; + var_00.sungreen = 0.429353; + var_00.sunblue = 0.435787; + var_00.hdrsuncolorintensity = 20.2464; + var_00.sundir = (-0.00268112,-0.0871146,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 32.9901; + var_00.normalfogscale = 1.52918; + var_00.skyfogintensity = 0.020253; + var_00.skyfogminangle = 40.3645; + var_00.skyfogmaxangle = 98.1701; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = -4494.77; + var_00.heightfoghalfplanedistance = 5280.99; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.706455,0.706455,0.706455); + var_00.atmosfoghazecolor = (0.289248,0.346649,1); + var_00.atmosfoghazestrength = 0.487984; + var_00.atmosfoghazespread = 0.682826; + var_00.atmosfogextinctionstrength = 0.0614022; + var_00.atmosfoginscatterstrength = 24.8; + var_00.atmosfoghalfplanedistance = 191639; + var_00.atmosfogstartdistance = 28102.2; + var_00.atmosfogdistancescale = 4.89705; + var_00.atmosfogskydistance = 8192; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -47.1236; + var_00.atmosfogskyfalloffanglerange = 360.3; + var_00.atmosfogsundirection = (-0.00268112,-0.0871146,-0.996195); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -9033.54; + var_00.atmosfogheightfoghalfplanedistance = 7421.1; + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 12.2088; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.417168; + var_00.sungreen = 0.429353; + var_00.sunblue = 0.435787; + var_00.hdrsuncolorintensity = 20.2464; + var_00.sundir = (-0.00268112,-0.0871146,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 32.9901; + var_00.normalfogscale = 1.52918; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.706455,0.70556,0.679094); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.659102; + var_00.atmosfogextinctionstrength = 0.356676; + var_00.atmosfoginscatterstrength = 15.3047; + var_00.atmosfoghalfplanedistance = 151.855; + var_00.atmosfogstartdistance = 125.511; + var_00.atmosfogdistancescale = 4.50079; + var_00.atmosfogskydistance = 8192; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -47.1236; + var_00.atmosfogskyfalloffanglerange = 360.3; + var_00.atmosfogsundirection = (-0.341452,0.0197027,-0.939693); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -214.334; + var_00.atmosfogheightfoghalfplanedistance = 212.418; + var_00 = maps\mp\_art::create_vision_set_fog("mp_bigben2_cg"); + var_00.startdist = 2924.91; + var_00.halfwaydist = 15229; + var_00.red = 0.367879; + var_00.green = 0.376233; + var_00.blue = 0.382925; + var_00.hdrcolorintensity = 15.4; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0.164408; + var_00.skyfogminangle = 49.9611; + var_00.skyfogmaxangle = 89.7788; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = 522.38; + var_00.heightfoghalfplanedistance = 4334.79; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.706455,0.70556,0.679094); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.659102; + var_00.atmosfogextinctionstrength = 0.356676; + var_00.atmosfoginscatterstrength = 15.3047; + var_00.atmosfoghalfplanedistance = 151.855; + var_00.atmosfogstartdistance = 125.511; + var_00.atmosfogdistancescale = 4.50079; + var_00.atmosfogskydistance = 8192; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -47.1236; + var_00.atmosfogskyfalloffanglerange = 360.3; + var_00.atmosfogsundirection = (-0.341452,0.0197027,-0.939693); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -214.334; + var_00.atmosfogheightfoghalfplanedistance = 212.418; + var_00 = maps\mp\_art::create_vision_set_fog("mp_bigben2_drone_cg"); + var_00.startdist = 1094.8; + var_00.halfwaydist = 244325; + var_00.red = 0.750356; + var_00.green = 0.810683; + var_00.blue = 0.8592; + var_00.hdrcolorintensity = 16.1576; + var_00.maxopacity = 0.984241; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.417168; + var_00.sungreen = 0.429353; + var_00.sunblue = 0.435787; + var_00.hdrsuncolorintensity = 20.2464; + var_00.sundir = (-0.00268112,-0.0871146,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 32.9901; + var_00.normalfogscale = 1.52918; + var_00.skyfogintensity = 0.164408; + var_00.skyfogminangle = 49.9611; + var_00.skyfogmaxangle = 89.7788; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = 906.38; + var_00.heightfoghalfplanedistance = 4334.79; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.706455,0.70556,0.679094); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.659102; + var_00.atmosfogextinctionstrength = 0.356676; + var_00.atmosfoginscatterstrength = 15.3047; + var_00.atmosfoghalfplanedistance = 151.855; + var_00.atmosfogstartdistance = 125.511; + var_00.atmosfogdistancescale = 4.50079; + var_00.atmosfogskydistance = 8192; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -47.1236; + var_00.atmosfogskyfalloffanglerange = 360.3; + var_00.atmosfogsundirection = (-0.341452,0.0197027,-0.939693); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -214.334; + var_00.atmosfogheightfoghalfplanedistance = 212.418; + var_00 = maps\mp\_art::create_vision_set_fog("mp_bigben2_warbird_cg"); + var_00.startdist = 1094.8; + var_00.halfwaydist = 244325; + var_00.red = 0.750356; + var_00.green = 0.810683; + var_00.blue = 0.8592; + var_00.hdrcolorintensity = 16.1576; + var_00.maxopacity = 0.984241; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.417168; + var_00.sungreen = 0.429353; + var_00.sunblue = 0.435787; + var_00.hdrsuncolorintensity = 20.2464; + var_00.sundir = (-0.00268112,-0.0871146,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 32.9901; + var_00.normalfogscale = 1.52918; + var_00.skyfogintensity = 0.164408; + var_00.skyfogminangle = 49.9611; + var_00.skyfogmaxangle = 89.7788; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = 906.38; + var_00.heightfoghalfplanedistance = 4334.79; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.706455,0.70556,0.679094); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.659102; + var_00.atmosfogextinctionstrength = 0.356676; + var_00.atmosfoginscatterstrength = 15.3047; + var_00.atmosfoghalfplanedistance = 151.855; + var_00.atmosfogstartdistance = 125.511; + var_00.atmosfogdistancescale = 4.50079; + var_00.atmosfogskydistance = 8192; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -47.1236; + var_00.atmosfogskyfalloffanglerange = 360.3; + var_00.atmosfogsundirection = (-0.341452,0.0197027,-0.939693); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -214.334; + var_00.atmosfogheightfoghalfplanedistance = 212.418; + var_00 = maps\mp\_art::create_vision_set_fog("mp_bigben2_osp_cg"); + var_00.startdist = 1094.8; + var_00.halfwaydist = 244325; + var_00.red = 0.750356; + var_00.green = 0.810683; + var_00.blue = 0.8592; + var_00.hdrcolorintensity = 16.1576; + var_00.maxopacity = 0.984241; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.417168; + var_00.sungreen = 0.429353; + var_00.sunblue = 0.435787; + var_00.hdrsuncolorintensity = 20.2464; + var_00.sundir = (-0.00268112,-0.0871146,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 32.9901; + var_00.normalfogscale = 1.52918; + var_00.skyfogintensity = 0.164408; + var_00.skyfogminangle = 49.9611; + var_00.skyfogmaxangle = 89.7788; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = 906.38; + var_00.heightfoghalfplanedistance = 4334.79; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.706455,0.70556,0.679094); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.659102; + var_00.atmosfogextinctionstrength = 0.356676; + var_00.atmosfoginscatterstrength = 15.3047; + var_00.atmosfoghalfplanedistance = 151.855; + var_00.atmosfogstartdistance = 125.511; + var_00.atmosfogdistancescale = 4.50079; + var_00.atmosfogskydistance = 8192; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -47.1236; + var_00.atmosfogskyfalloffanglerange = 360.3; + var_00.atmosfogsundirection = (-0.341452,0.0197027,-0.939693); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -214.334; + var_00.atmosfogheightfoghalfplanedistance = 212.418; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb"); + var_00.startdist = 670.438; + var_00.halfwaydist = 2489.07; + var_00.red = 0.802175; + var_00.green = 0.697121; + var_00.blue = 0.750972; + var_00.hdrcolorintensity = 10.5; + var_00.maxopacity = 0.649765; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0,0.992188,0); + var_00.atmosfoghazecolor = (0,1,0); + var_00.atmosfoghazestrength = 0.38111; + var_00.atmosfoghazespread = 0.449443; + var_00.atmosfogextinctionstrength = 0.437898; + var_00.atmosfoginscatterstrength = 23.7113; + var_00.atmosfoghalfplanedistance = 293070; + var_00.atmosfogstartdistance = -1000; + var_00.atmosfogdistancescale = 1.56014; + var_00.atmosfogskydistance = 352560; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 43.4283; + var_00.atmosfogskyfalloffanglerange = 184.447; + var_00.atmosfogsundirection = (-0.971467,-0.167,0.168411); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = -1985.72; + var_00.atmosfogheightfoghalfplanedistance = 4982.14; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_blackbox_art.gsc b/AW/PC/maps/createart/mp_blackbox_art.gsc new file mode 100644 index 0000000..6459769 --- /dev/null +++ b/AW/PC/maps/createart/mp_blackbox_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_blackbox_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 20 ms + * Timestamp: 4/22/2024 2:06:40 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_blackbox_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_blackbox_fog::setupfog(); + } + + visionsetnaked("mp_blackbox",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_blackbox_fog.gsc b/AW/PC/maps/createart/mp_blackbox_fog.gsc new file mode 100644 index 0000000..6567886 --- /dev/null +++ b/AW/PC/maps/createart/mp_blackbox_fog.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_blackbox_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:06:41 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_blackbox"); + var_00.startdist = 786; + var_00.halfwaydist = 55000; + var_00.red = 0.586; + var_00.green = 0.833; + var_00.blue = 0.817; + var_00.maxopacity = 0.5; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_blackbox_fog_hdr.gsc b/AW/PC/maps/createart/mp_blackbox_fog_hdr.gsc new file mode 100644 index 0000000..04a523d --- /dev/null +++ b/AW/PC/maps/createart/mp_blackbox_fog_hdr.gsc @@ -0,0 +1,271 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_blackbox_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 2:06:41 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_blackbox"); + var_00.startdist = 786; + var_00.halfwaydist = 55000; + var_00.red = 0.856187; + var_00.green = 1; + var_00.blue = 0.991509; + var_00.hdrcolorintensity = 18.2922; + var_00.maxopacity = 0.5; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.650969,0.72993,0.773438); + var_00.atmosfoghazecolor = (0.675782,0.612501,0.409851); + var_00.atmosfoghazestrength = 0.500007; + var_00.atmosfoghazespread = 0.0231915; + var_00.atmosfogextinctionstrength = 0.679688; + var_00.atmosfoginscatterstrength = 20.9988; + var_00.atmosfoghalfplanedistance = 56200; + var_00.atmosfogstartdistance = 939.715; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 65536; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 50; + var_00.atmosfogsundirection = (0.711657,0.476666,0.516075); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 1024; + var_00.atmosfogheightfoghalfplanedistance = 1640; + var_00 = maps\mp\_art::create_vision_set_fog("mp_blackbox_osp"); + var_00.startdist = 786; + var_00.halfwaydist = 55000; + var_00.red = 0.856187; + var_00.green = 1; + var_00.blue = 0.991509; + var_00.hdrcolorintensity = 18.2922; + var_00.maxopacity = 0.5; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.650969,0.72993,0.773438); + var_00.atmosfoghazecolor = (0.675782,0.612501,0.409851); + var_00.atmosfoghazestrength = 0.500007; + var_00.atmosfoghazespread = 0.0231915; + var_00.atmosfogextinctionstrength = 0.679688; + var_00.atmosfoginscatterstrength = 20; + var_00.atmosfoghalfplanedistance = 56200; + var_00.atmosfogstartdistance = 4000; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 65536; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 50; + var_00.atmosfogsundirection = (0.711657,0.476666,0.516075); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 1024; + var_00.atmosfogheightfoghalfplanedistance = 1640; + var_00 = maps\mp\_art::create_vision_set_fog("mp_blackbox_drone"); + var_00.startdist = 786; + var_00.halfwaydist = 55000; + var_00.red = 0.856187; + var_00.green = 1; + var_00.blue = 0.991509; + var_00.hdrcolorintensity = 18.2922; + var_00.maxopacity = 0.5; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.650969,0.72993,0.773438); + var_00.atmosfoghazecolor = (0.675782,0.612501,0.409851); + var_00.atmosfoghazestrength = 0.500007; + var_00.atmosfoghazespread = 0.0231915; + var_00.atmosfogextinctionstrength = 0.679688; + var_00.atmosfoginscatterstrength = 20; + var_00.atmosfoghalfplanedistance = 56200; + var_00.atmosfogstartdistance = 4000; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 65536; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 50; + var_00.atmosfogsundirection = (0.711657,0.476666,0.516075); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 1024; + var_00.atmosfogheightfoghalfplanedistance = 1640; + var_00 = maps\mp\_art::create_vision_set_fog("mp_blackbox_warbird"); + var_00.startdist = 786; + var_00.halfwaydist = 55000; + var_00.red = 0.856187; + var_00.green = 1; + var_00.blue = 0.991509; + var_00.hdrcolorintensity = 18.2922; + var_00.maxopacity = 0.5; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.650969,0.72993,0.773438); + var_00.atmosfoghazecolor = (0.675782,0.612501,0.409851); + var_00.atmosfoghazestrength = 0.500007; + var_00.atmosfoghazespread = 0.0231915; + var_00.atmosfogextinctionstrength = 0.679688; + var_00.atmosfoginscatterstrength = 20; + var_00.atmosfoghalfplanedistance = 56200; + var_00.atmosfogstartdistance = 4000; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 65536; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 50; + var_00.atmosfogsundirection = (0.711657,0.476666,0.516075); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 1024; + var_00.atmosfogheightfoghalfplanedistance = 1640; + var_00 = maps\mp\_art::create_vision_set_fog("mp_blackbox_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 75055.3; + var_00.red = 0.751392; + var_00.green = 0.877; + var_00.blue = 0.991509; + var_00.hdrcolorintensity = 16.5881; + var_00.maxopacity = 0.5; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.530119,0.686997,0.773438); + var_00.atmosfoghazecolor = (0.675782,0.599938,0.357056); + var_00.atmosfoghazestrength = 0.500007; + var_00.atmosfoghazespread = 0.0231915; + var_00.atmosfogextinctionstrength = 0.679688; + var_00.atmosfoginscatterstrength = 20.9988; + var_00.atmosfoghalfplanedistance = 56200; + var_00.atmosfogstartdistance = 939.715; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 65536; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 50; + var_00.atmosfogsundirection = (0.711657,0.476666,0.516075); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 1024; + var_00.atmosfogheightfoghalfplanedistance = 1640; + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 12.2088; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.650969,0.72993,0.773438); + var_00.atmosfoghazecolor = (0.675782,0.612501,0.409851); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.304688; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18.7488; + var_00.atmosfoghalfplanedistance = 50056; + var_00.atmosfogstartdistance = 1024; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 65536; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 50; + var_00.atmosfogsundirection = (0.707989,0.486075,0.512331); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 1024; + var_00.atmosfogheightfoghalfplanedistance = 2024; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_climate_3_art.gsc b/AW/PC/maps/createart/mp_climate_3_art.gsc new file mode 100644 index 0000000..418816a --- /dev/null +++ b/AW/PC/maps/createart/mp_climate_3_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_climate_3_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 2:06:41 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_climate_3_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_climate_3_fog::setupfog(); + } + + visionsetnaked("mp_climate_3",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_climate_3_fog.gsc b/AW/PC/maps/createart/mp_climate_3_fog.gsc new file mode 100644 index 0000000..7f0a569 --- /dev/null +++ b/AW/PC/maps/createart/mp_climate_3_fog.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_climate_3_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:06:41 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_climate_3"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_climate_3_fog_hdr.gsc b/AW/PC/maps/createart/mp_climate_3_fog_hdr.gsc new file mode 100644 index 0000000..280796a --- /dev/null +++ b/AW/PC/maps/createart/mp_climate_3_fog_hdr.gsc @@ -0,0 +1,250 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_climate_3_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 38 ms + * Timestamp: 4/22/2024 2:06:42 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_climate_3"); + var_00.startdist = 17346.3; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 12.029; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.292273,0.365213,0.414204); + var_00.atmosfoghazecolor = (0.256471,0.316059,0.398438); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.3125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 21.5; + var_00.atmosfoghalfplanedistance = 69164.9; + var_00.atmosfogstartdistance = 1097.03; + var_00.atmosfogdistancescale = 1.625; + var_00.atmosfogskydistance = 74615; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -22; + var_00.atmosfogskyfalloffanglerange = 34; + var_00.atmosfogsundirection = (0.576587,0.641213,0.506352); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_climate_3_osp"); + var_00.startdist = 17346.3; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 12.029; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.276147,0.309338,0.414204); + var_00.atmosfoghazecolor = (0.342408,0.398438,0.398438); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.3125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 17.5; + var_00.atmosfoghalfplanedistance = 18398.8; + var_00.atmosfogstartdistance = 834.73; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 878; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.574733,0.617683,0.536796); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("generic_underwater"); + var_00.startdist = 0; + var_00.halfwaydist = 63.9821; + var_00.red = 0.533715; + var_00.green = 0.736301; + var_00.blue = 0.64293; + var_00.hdrcolorintensity = 12.0527; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.453196; + var_00.sungreen = 0.201765; + var_00.sunblue = 0.22625; + var_00.hdrsuncolorintensity = 9.93274; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 55.5863; + var_00.sunendfadeangle = 100.333; + var_00.normalfogscale = 0.515695; + var_00.skyfogintensity = 0.991031; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (1,0,0); + var_00.atmosfoghazecolor = (0,1,0); + var_00.atmosfoghazestrength = 0.28436; + var_00.atmosfoghazespread = 0.362051; + var_00.atmosfogextinctionstrength = 0.786086; + var_00.atmosfoginscatterstrength = 18.8627; + var_00.atmosfoghalfplanedistance = 67166.8; + var_00.atmosfogstartdistance = 5227.58; + var_00.atmosfogdistancescale = 8.98823; + var_00.atmosfogskydistance = 30000; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -30.5422; + var_00.atmosfogskyfalloffanglerange = 77.2588; + var_00.atmosfogsundirection = (0.881624,-0.108345,0.459347); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 4481.58; + var_00.atmosfogheightfoghalfplanedistance = 1276.3; + var_00 = maps\mp\_art::create_vision_set_fog("mp_climate_3_cg"); + var_00.startdist = 765.049; + var_00.halfwaydist = 14030.9; + var_00.red = 0.597909; + var_00.green = 0.780539; + var_00.blue = 1; + var_00.hdrcolorintensity = 15.4563; + var_00.maxopacity = 0.797289; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.258941,0.309338,0.414204); + var_00.atmosfoghazecolor = (0.342408,0.370747,0.398438); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.3125; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 21.5; + var_00.atmosfoghalfplanedistance = 18398.8; + var_00.atmosfogstartdistance = 1097.03; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -21; + var_00.atmosfogskyfalloffanglerange = 34; + var_00.atmosfogsundirection = (0.574733,0.617683,0.536796); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_climate_3_osp_cg"); + var_00.startdist = 17346.3; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 12.029; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("generic_underwater_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 63.9821; + var_00.red = 0.533715; + var_00.green = 0.736301; + var_00.blue = 0.64293; + var_00.hdrcolorintensity = 12.0527; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.453196; + var_00.sungreen = 0.201765; + var_00.sunblue = 0.22625; + var_00.hdrsuncolorintensity = 9.93274; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 55.5863; + var_00.sunendfadeangle = 100.333; + var_00.normalfogscale = 0.515695; + var_00.skyfogintensity = 0.991031; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 12.2088; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_clowntown3_art.gsc b/AW/PC/maps/createart/mp_clowntown3_art.gsc new file mode 100644 index 0000000..37a4a4a --- /dev/null +++ b/AW/PC/maps/createart/mp_clowntown3_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_clowntown3_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 2:06:42 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_clowntown3_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_clowntown3_fog::setupfog(); + } + + visionsetnaked("mp_clowntown3",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_clowntown3_fog.gsc b/AW/PC/maps/createart/mp_clowntown3_fog.gsc new file mode 100644 index 0000000..006a896 --- /dev/null +++ b/AW/PC/maps/createart/mp_clowntown3_fog.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_clowntown3_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 31 ms + * Timestamp: 4/22/2024 2:06:42 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_clowntown3"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_clowntown3_fog_hdr.gsc b/AW/PC/maps/createart/mp_clowntown3_fog_hdr.gsc new file mode 100644 index 0000000..7c5c204 --- /dev/null +++ b/AW/PC/maps/createart/mp_clowntown3_fog_hdr.gsc @@ -0,0 +1,271 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_clowntown3_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 37 ms + * Timestamp: 4/22/2024 2:06:43 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_clowntown3"); + var_00.startdist = 1474.3; + var_00.halfwaydist = 55297; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 0.0289993; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.384602,0.336722,0.361838); + var_00.atmosfoghazecolor = (0.121766,0.164063,0.13234); + var_00.atmosfoghazestrength = 0.75; + var_00.atmosfoghazespread = 0.554688; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 24.75; + var_00.atmosfoghalfplanedistance = 58248; + var_00.atmosfogstartdistance = 1500.62; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 8392; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -53; + var_00.atmosfogskyfalloffanglerange = 86; + var_00.atmosfogsundirection = (-0.177315,-0.802177,0.570151); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = -2944; + var_00.atmosfogheightfoghalfplanedistance = 552; + var_00 = maps\mp\_art::create_vision_set_fog("mp_clowntown3_osp"); + var_00.startdist = 1474.3; + var_00.halfwaydist = 55297; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 0.0289993; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.384602,0.336722,0.361838); + var_00.atmosfoghazecolor = (0.121766,0.164063,0.13234); + var_00.atmosfoghazestrength = 0.75; + var_00.atmosfoghazespread = 0.554688; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 20.75; + var_00.atmosfoghalfplanedistance = 58248; + var_00.atmosfogstartdistance = 1500.62; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 8392; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -53; + var_00.atmosfogskyfalloffanglerange = 86; + var_00.atmosfogsundirection = (-0.177315,-0.802177,0.570151); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = -2944; + var_00.atmosfogheightfoghalfplanedistance = 552; + var_00 = maps\mp\_art::create_vision_set_fog("mp_clowntown3_cg"); + var_00.startdist = 1518.68; + var_00.halfwaydist = 9091.79; + var_00.red = 0.837399; + var_00.green = 0.851862; + var_00.blue = 0.831169; + var_00.hdrcolorintensity = 15.3344; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.384602,0.336722,0.361838); + var_00.atmosfoghazecolor = (0.121766,0.164063,0.13234); + var_00.atmosfoghazestrength = 0.75; + var_00.atmosfoghazespread = 0.554688; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 24.75; + var_00.atmosfoghalfplanedistance = 58248; + var_00.atmosfogstartdistance = 1500.62; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 8392; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -53; + var_00.atmosfogskyfalloffanglerange = 86; + var_00.atmosfogsundirection = (-0.177315,-0.802177,0.570151); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = -2944; + var_00.atmosfogheightfoghalfplanedistance = 552; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb"); + var_00.startdist = 670.438; + var_00.halfwaydist = 2489.07; + var_00.red = 0.802175; + var_00.green = 0.697121; + var_00.blue = 0.750972; + var_00.hdrcolorintensity = 10.5; + var_00.maxopacity = 0.649765; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.307351,1,0.0393701); + var_00.atmosfoghazecolor = (0.328125,1,0); + var_00.atmosfoghazestrength = 1; + var_00.atmosfoghazespread = 0.570313; + var_00.atmosfogextinctionstrength = 0.21875; + var_00.atmosfoginscatterstrength = 26.0833; + var_00.atmosfoghalfplanedistance = 60167.1; + var_00.atmosfogstartdistance = -1000; + var_00.atmosfogdistancescale = 0.125; + var_00.atmosfogskydistance = 238299; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -35; + var_00.atmosfogskyfalloffanglerange = 300; + var_00.atmosfogsundirection = (-0.190101,-0.788828,0.584476); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 37.646; + var_00.atmosfogheightfoghalfplanedistance = 961; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb_cg"); + var_00.startdist = 670.438; + var_00.halfwaydist = 2489.07; + var_00.red = 0.802175; + var_00.green = 0.697121; + var_00.blue = 0.750972; + var_00.hdrcolorintensity = 10.5; + var_00.maxopacity = 0.649765; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.30495,0.992188,0.0390625); + var_00.atmosfoghazecolor = (0.328125,1,0); + var_00.atmosfoghazestrength = 0.359375; + var_00.atmosfoghazespread = 0.8125; + var_00.atmosfogextinctionstrength = 0.28125; + var_00.atmosfoginscatterstrength = 20.8333; + var_00.atmosfoghalfplanedistance = 2049; + var_00.atmosfogstartdistance = -1000; + var_00.atmosfogdistancescale = 5.25; + var_00.atmosfogskydistance = 294912; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 39; + var_00.atmosfogskyfalloffanglerange = 300; + var_00.atmosfogsundirection = (-0.123593,0.540679,0.8321); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = -346.354; + var_00.atmosfogheightfoghalfplanedistance = 1665; + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 12.2088; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.45823,0.461028,0.492188); + var_00.atmosfoghazecolor = (0.0551248,0.0619849,0.0625005); + var_00.atmosfoghazestrength = 0.75; + var_00.atmosfoghazespread = 0.15625; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 25.75; + var_00.atmosfoghalfplanedistance = 76680; + var_00.atmosfogstartdistance = 3351.91; + var_00.atmosfogdistancescale = 2.625; + var_00.atmosfogskydistance = 190112; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (-0.592501,0.770197,0.236092); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -2560; + var_00.atmosfogheightfoghalfplanedistance = 1128; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_comeback_art.gsc b/AW/PC/maps/createart/mp_comeback_art.gsc new file mode 100644 index 0000000..2e9b6e8 --- /dev/null +++ b/AW/PC/maps/createart/mp_comeback_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_comeback_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 2:06:43 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_comeback_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_comeback_fog::setupfog(); + } + + visionsetnaked("mp_comeback",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_comeback_fog.gsc b/AW/PC/maps/createart/mp_comeback_fog.gsc new file mode 100644 index 0000000..a3c7caa --- /dev/null +++ b/AW/PC/maps/createart/mp_comeback_fog.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_comeback_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 31 ms + * Timestamp: 4/22/2024 2:06:43 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_comeback"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_comeback_fog_hdr.gsc b/AW/PC/maps/createart/mp_comeback_fog_hdr.gsc new file mode 100644 index 0000000..79ecb72 --- /dev/null +++ b/AW/PC/maps/createart/mp_comeback_fog_hdr.gsc @@ -0,0 +1,481 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_comeback_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 36 ms + * Timestamp: 4/22/2024 2:06:43 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_comeback"); + var_00.startdist = 512; + var_00.halfwaydist = 38912; + var_00.red = 0.87037; + var_00.green = 0.962219; + var_00.blue = 0.975854; + var_00.hdrcolorintensity = 15.2867; + var_00.maxopacity = 0.554688; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0.986607; + var_00.sunblue = 0.96875; + var_00.hdrsuncolorintensity = 15.75; + var_00.sundir = (0.589455,-0.489616,0.64251); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 116; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 81.9898; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.851559,0.9375,1); + var_00.atmosfoghazecolor = (0.999994,0.953125,0.835938); + var_00.atmosfoghazestrength = 0.126399; + var_00.atmosfoghazespread = 0.114561; + var_00.atmosfogextinctionstrength = 0.749997; + var_00.atmosfoginscatterstrength = 19.8913; + var_00.atmosfoghalfplanedistance = 10225.1; + var_00.atmosfogstartdistance = 1244.18; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 94701; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 7.41976; + var_00.atmosfogskyfalloffanglerange = 128.58; + var_00.atmosfogsundirection = (0.13537,-0.751339,0.645883); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 424.73; + var_00.atmosfogheightfoghalfplanedistance = 788.86; + var_00 = maps\mp\_art::create_vision_set_fog("mp_comeback_warbird"); + var_00.startdist = 512; + var_00.halfwaydist = 38912; + var_00.red = 0.87037; + var_00.green = 0.962219; + var_00.blue = 0.975854; + var_00.hdrcolorintensity = 15.2867; + var_00.maxopacity = 0.554688; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0.986607; + var_00.sunblue = 0.96875; + var_00.hdrsuncolorintensity = 15.75; + var_00.sundir = (0.589455,-0.489616,0.64251); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 116; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 81.9898; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.851559,0.9375,1); + var_00.atmosfoghazecolor = (0.999994,0.953125,0.835938); + var_00.atmosfoghazestrength = 0.126399; + var_00.atmosfoghazespread = 0.114561; + var_00.atmosfogextinctionstrength = 0.749997; + var_00.atmosfoginscatterstrength = 19.8913; + var_00.atmosfoghalfplanedistance = 10225.1; + var_00.atmosfogstartdistance = 1244.18; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 94701; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 7.41976; + var_00.atmosfogskyfalloffanglerange = 128.58; + var_00.atmosfogsundirection = (0.13537,-0.751339,0.645883); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 424.73; + var_00.atmosfogheightfoghalfplanedistance = 788.86; + var_00 = maps\mp\_art::create_vision_set_fog("mp_comeback_osp"); + var_00.startdist = 512; + var_00.halfwaydist = 38912; + var_00.red = 0.87037; + var_00.green = 0.962219; + var_00.blue = 0.975854; + var_00.hdrcolorintensity = 15.2867; + var_00.maxopacity = 0.554688; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0.986607; + var_00.sunblue = 0.96875; + var_00.hdrsuncolorintensity = 15.75; + var_00.sundir = (0.589455,-0.489616,0.64251); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 116; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 81.9898; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.851559,0.9375,1); + var_00.atmosfoghazecolor = (0.999994,0.953125,0.835938); + var_00.atmosfoghazestrength = 0.126399; + var_00.atmosfoghazespread = 0.114561; + var_00.atmosfogextinctionstrength = 0.749997; + var_00.atmosfoginscatterstrength = 19.8913; + var_00.atmosfoghalfplanedistance = 10225.1; + var_00.atmosfogstartdistance = 1244.18; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 94701; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 7.41976; + var_00.atmosfogskyfalloffanglerange = 128.58; + var_00.atmosfogsundirection = (0.13537,-0.751339,0.645883); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 424.73; + var_00.atmosfogheightfoghalfplanedistance = 788.86; + var_00 = maps\mp\_art::create_vision_set_fog("mp_comeback_drone"); + var_00.startdist = 512; + var_00.halfwaydist = 38912; + var_00.red = 0.87037; + var_00.green = 0.962219; + var_00.blue = 0.975854; + var_00.hdrcolorintensity = 15.2867; + var_00.maxopacity = 0.554688; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0.986607; + var_00.sunblue = 0.96875; + var_00.hdrsuncolorintensity = 15.75; + var_00.sundir = (0.589455,-0.489616,0.64251); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 116; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 50; + var_00.skyfogmaxangle = 81.9898; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.851559,0.9375,1); + var_00.atmosfoghazecolor = (0.999994,0.953125,0.835938); + var_00.atmosfoghazestrength = 0.126399; + var_00.atmosfoghazespread = 0.114561; + var_00.atmosfogextinctionstrength = 0.749997; + var_00.atmosfoginscatterstrength = 19.8913; + var_00.atmosfoghalfplanedistance = 10225.1; + var_00.atmosfogstartdistance = 1244.18; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 94701; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 7.41976; + var_00.atmosfogskyfalloffanglerange = 128.58; + var_00.atmosfogsundirection = (0.13537,-0.751339,0.645883); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 424.73; + var_00.atmosfogheightfoghalfplanedistance = 788.86; + var_00 = maps\mp\_art::create_vision_set_fog("mp_comeback_cg"); + var_00.startdist = 1000; + var_00.halfwaydist = 15040.7; + var_00.red = 0.501532; + var_00.green = 0.495896; + var_00.blue = 0.53342; + var_00.hdrcolorintensity = 16; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0.986607; + var_00.sunblue = 0.96875; + var_00.hdrsuncolorintensity = 15.75; + var_00.sundir = (0.589455,-0.489616,0.64251); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 116; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_comeback_int"); + var_00.startdist = 2026.34; + var_00.halfwaydist = 33123.1; + var_00.red = 0.87037; + var_00.green = 0.923157; + var_00.blue = 0.975854; + var_00.hdrcolorintensity = 16.4021; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0.986607; + var_00.sunblue = 0.96875; + var_00.hdrsuncolorintensity = 15.75; + var_00.sundir = (0.589455,-0.489616,0.64251); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 116; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.891419,0.891419,0.891419); + var_00.atmosfoghazecolor = (0.955511,0.955511,0.955511); + var_00.atmosfoghazestrength = 0.118191; + var_00.atmosfoghazespread = 0.362051; + var_00.atmosfogextinctionstrength = 0.729523; + var_00.atmosfoginscatterstrength = 18.8722; + var_00.atmosfoghalfplanedistance = 130783; + var_00.atmosfogstartdistance = 3207.66; + var_00.atmosfogdistancescale = 5.31526; + var_00.atmosfogskydistance = 225543; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -54.0513; + var_00.atmosfogskyfalloffanglerange = 160.871; + var_00.atmosfogsundirection = (0.881624,-0.108345,0.459347); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 4481.58; + var_00.atmosfogheightfoghalfplanedistance = 1276.3; + var_00 = maps\mp\_art::create_vision_set_fog("mp_comeback_int_cg"); + var_00.startdist = 582.723; + var_00.halfwaydist = 15000; + var_00.red = 0.607843; + var_00.green = 0.709804; + var_00.blue = 0.807843; + var_00.hdrcolorintensity = 13.3; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0.986607; + var_00.sunblue = 0.96875; + var_00.hdrsuncolorintensity = 15.75; + var_00.sundir = (0.589455,-0.489616,0.64251); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 116; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb"); + var_00.startdist = 670.438; + var_00.halfwaydist = 2489.07; + var_00.red = 0.802175; + var_00.green = 0.697121; + var_00.blue = 0.750972; + var_00.hdrcolorintensity = 10.5; + var_00.maxopacity = 0.649765; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.484637,0.920391,0.255807); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0322783; + var_00.atmosfogextinctionstrength = 0.904372; + var_00.atmosfoginscatterstrength = 17.4372; + var_00.atmosfoghalfplanedistance = 1640.34; + var_00.atmosfogstartdistance = 71.7805; + var_00.atmosfogdistancescale = 9.42623; + var_00.atmosfogskydistance = 24590; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (-0.474168,-0.865133,0.163429); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 1232.4; + var_00.red = 0.563022; + var_00.green = 0.920391; + var_00.blue = 0.375355; + var_00.hdrcolorintensity = 15.9699; + var_00.maxopacity = 0.870537; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.291899; + var_00.sungreen = 0.435754; + var_00.sunblue = 0.1819; + var_00.hdrsuncolorintensity = 16.6475; + var_00.sundir = (-0.546391,-0.14727,0.824481); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 36.694; + var_00.normalfogscale = 2.78604; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.484637,0.920391,0.255807); + var_00.atmosfoghazecolor = (1,0.778993,0.417681); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0322783; + var_00.atmosfogextinctionstrength = 0.916667; + var_00.atmosfoginscatterstrength = 16.3525; + var_00.atmosfoghalfplanedistance = 1640.34; + var_00.atmosfogstartdistance = 71.7805; + var_00.atmosfogdistancescale = 9.42623; + var_00.atmosfogskydistance = 24590; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (-0.474168,-0.865133,0.163429); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 12.2088; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.584985; + var_00.sungreen = 0.601561; + var_00.sunblue = 0.420894; + var_00.hdrsuncolorintensity = 13.249; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 150; + var_00.normalfogscale = 0.125; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.891419,0.891419,0.891419); + var_00.atmosfoghazecolor = (0.955511,0.955511,0.955511); + var_00.atmosfoghazestrength = 0.28436; + var_00.atmosfoghazespread = 0.362051; + var_00.atmosfogextinctionstrength = 0.786086; + var_00.atmosfoginscatterstrength = 18.8627; + var_00.atmosfoghalfplanedistance = 67166.8; + var_00.atmosfogstartdistance = 431.43; + var_00.atmosfogdistancescale = 8.98823; + var_00.atmosfogskydistance = 30000; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -30.5422; + var_00.atmosfogskyfalloffanglerange = 77.2588; + var_00.atmosfogsundirection = (0.881624,-0.108345,0.459347); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 4481.58; + var_00.atmosfogheightfoghalfplanedistance = 1276.3; + var_00 = maps\mp\_art::create_vision_set_fog("_cg"); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 12.2088; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.584985; + var_00.sungreen = 0.601561; + var_00.sunblue = 0.420894; + var_00.hdrsuncolorintensity = 13.249; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 150; + var_00.normalfogscale = 0.125; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.891419,0.891419,0.891419); + var_00.atmosfoghazecolor = (0.955511,0.955511,0.955511); + var_00.atmosfoghazestrength = 0.28436; + var_00.atmosfoghazespread = 0.362051; + var_00.atmosfogextinctionstrength = 0.786086; + var_00.atmosfoginscatterstrength = 18.8627; + var_00.atmosfoghalfplanedistance = 67166.8; + var_00.atmosfogstartdistance = 431.43; + var_00.atmosfogdistancescale = 8.98823; + var_00.atmosfogskydistance = 30000; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -30.5422; + var_00.atmosfogskyfalloffanglerange = 77.2588; + var_00.atmosfogsundirection = (0.881624,-0.108345,0.459347); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 4481.58; + var_00.atmosfogheightfoghalfplanedistance = 1276.3; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_dam_art.gsc b/AW/PC/maps/createart/mp_dam_art.gsc new file mode 100644 index 0000000..fe4ca8a --- /dev/null +++ b/AW/PC/maps/createart/mp_dam_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_dam_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 2:06:44 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_dam_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_dam_fog::setupfog(); + } + + visionsetnaked("mp_dam",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_dam_fog.gsc b/AW/PC/maps/createart/mp_dam_fog.gsc new file mode 100644 index 0000000..6a5e52e --- /dev/null +++ b/AW/PC/maps/createart/mp_dam_fog.gsc @@ -0,0 +1,46 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_dam_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 2:06:44 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_dam"); + var_00.startdist = 1050; + var_00.halfwaydist = 34000; + var_00.red = 0.8; + var_00.green = 0.86; + var_00.blue = 0.97; + var_00.maxopacity = 0.17; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00 = maps\mp\_art::create_vision_set_fog("mp_dam_underground"); + var_00.startdist = 500; + var_00.halfwaydist = 5000; + var_00.red = 0.83; + var_00.green = 0.72; + var_00.blue = 0.58; + var_00.maxopacity = 0.4; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00 = maps\mp\_art::create_vision_set_fog("mp_dam_interior"); + var_00.startdist = 1050; + var_00.halfwaydist = 34000; + var_00.red = 0.76; + var_00.green = 0.89; + var_00.blue = 0.88; + var_00.maxopacity = 0.19; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_dam_fog_hdr.gsc b/AW/PC/maps/createart/mp_dam_fog_hdr.gsc new file mode 100644 index 0000000..46b8801 --- /dev/null +++ b/AW/PC/maps/createart/mp_dam_fog_hdr.gsc @@ -0,0 +1,397 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_dam_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 45 ms + * Timestamp: 4/22/2024 2:06:44 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_dam"); + var_00.startdist = 0; + var_00.halfwaydist = 5000; + var_00.red = 0; + var_00.green = 0; + var_00.blue = 0; + var_00.hdrcolorintensity = 1; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.878874; + var_00.sungreen = 0.817565; + var_00.sunblue = 0.620923; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (0.938404,0.113155,0.326489); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 50.7584; + var_00.normalfogscale = 1.24676; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = -78.2651; + var_00.skyfogmaxangle = 180; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.420411,0.53355,0.605321); + var_00.atmosfoghazecolor = (0.532058,0.569957,0.531973); + var_00.atmosfoghazestrength = 0.235621; + var_00.atmosfoghazespread = 0.0204762; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18.1249; + var_00.atmosfoghalfplanedistance = 6793.68; + var_00.atmosfogstartdistance = 7117.48; + var_00.atmosfogdistancescale = 4.86129; + var_00.atmosfogskydistance = 181403; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -6.25844; + var_00.atmosfogskyfalloffanglerange = 168.516; + var_00.atmosfogsundirection = (0.581245,0.439566,0.684789); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -1036.11; + var_00.atmosfogheightfoghalfplanedistance = 2658.43; + var_00 = maps\mp\_art::create_vision_set_fog("mp_dam_underground"); + var_00.startdist = 1870.56; + var_00.halfwaydist = 40000; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 16.5624; + var_00.maxopacity = 0.3; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.878874; + var_00.sungreen = 0.817565; + var_00.sunblue = 0.620923; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (0.938404,0.113155,0.326489); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 50.7584; + var_00.normalfogscale = 1.24676; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.381423,0.450676,0.535008); + var_00.atmosfoghazecolor = (0.437249,0.468394,0.437179); + var_00.atmosfoghazestrength = 0.235621; + var_00.atmosfoghazespread = 0.0204762; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 17.1249; + var_00.atmosfoghalfplanedistance = 9240.6; + var_00.atmosfogstartdistance = 2072; + var_00.atmosfogdistancescale = 4.86129; + var_00.atmosfogskydistance = 181403; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -6.25844; + var_00.atmosfogskyfalloffanglerange = 168.516; + var_00.atmosfogsundirection = (0.581245,0.439566,0.684789); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -1036.11; + var_00.atmosfogheightfoghalfplanedistance = 2658.43; + var_00 = maps\mp\_art::create_vision_set_fog("mp_dam_interior"); + var_00.startdist = 2890.83; + var_00.halfwaydist = 35109.2; + var_00.red = 0.61854; + var_00.green = 0.653231; + var_00.blue = 0.657281; + var_00.hdrcolorintensity = 16.5624; + var_00.maxopacity = 0.544132; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.878874; + var_00.sungreen = 0.817565; + var_00.sunblue = 0.620923; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (0.938404,0.113155,0.326489); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 50.7584; + var_00.normalfogscale = 1.24676; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.398132,0.470419,0.558446); + var_00.atmosfoghazecolor = (0.875162,0.9375,0.875022); + var_00.atmosfoghazestrength = 0.235621; + var_00.atmosfoghazespread = 0.0204762; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 17.1249; + var_00.atmosfoghalfplanedistance = 23576.6; + var_00.atmosfogstartdistance = 7704; + var_00.atmosfogdistancescale = 4.86129; + var_00.atmosfogskydistance = 181403; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -6.25844; + var_00.atmosfogskyfalloffanglerange = 168.516; + var_00.atmosfogsundirection = (0.581245,0.439566,0.684789); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -1036.11; + var_00.atmosfogheightfoghalfplanedistance = 2658.43; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb"); + var_00.startdist = 670.438; + var_00.halfwaydist = 2489.07; + var_00.red = 0.802175; + var_00.green = 0.697121; + var_00.blue = 0.750972; + var_00.hdrcolorintensity = 10.5; + var_00.maxopacity = 0.649765; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.484637,0.920391,0.255807); + var_00.atmosfoghazecolor = (1,0.778993,0.417681); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0322783; + var_00.atmosfogextinctionstrength = 0.916667; + var_00.atmosfoginscatterstrength = 17.2814; + var_00.atmosfoghalfplanedistance = 1640.34; + var_00.atmosfogstartdistance = 71.7805; + var_00.atmosfogdistancescale = 9.42623; + var_00.atmosfogskydistance = 24590; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (-0.474168,-0.865133,0.163429); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 1232.4; + var_00.red = 0.563022; + var_00.green = 0.920391; + var_00.blue = 0.375355; + var_00.hdrcolorintensity = 15.9699; + var_00.maxopacity = 0.870537; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.291899; + var_00.sungreen = 0.435754; + var_00.sunblue = 0.1819; + var_00.hdrsuncolorintensity = 16.6475; + var_00.sundir = (-0.546391,-0.14727,0.824481); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 36.694; + var_00.normalfogscale = 2.78604; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.484637,0.920391,0.255807); + var_00.atmosfoghazecolor = (1,0.778993,0.417681); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0322783; + var_00.atmosfogextinctionstrength = 0.916667; + var_00.atmosfoginscatterstrength = 16.3525; + var_00.atmosfoghalfplanedistance = 1640.34; + var_00.atmosfogstartdistance = 71.7805; + var_00.atmosfogdistancescale = 9.42623; + var_00.atmosfogskydistance = 24590; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (-0.474168,-0.865133,0.163429); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; + var_00 = maps\mp\_art::create_vision_set_fog("mp_dam_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 5000; + var_00.red = 0; + var_00.green = 0; + var_00.blue = 0; + var_00.hdrcolorintensity = 1; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.878874; + var_00.sungreen = 0.817565; + var_00.sunblue = 0.620923; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (0.938404,0.113155,0.326489); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 50.7584; + var_00.normalfogscale = 1.24676; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = -78.2651; + var_00.skyfogmaxangle = 180; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.420411,0.53355,0.605321); + var_00.atmosfoghazecolor = (0.532058,0.569957,0.531973); + var_00.atmosfoghazestrength = 0.235621; + var_00.atmosfoghazespread = 0.0204762; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18.1249; + var_00.atmosfoghalfplanedistance = 6793.68; + var_00.atmosfogstartdistance = 7117.48; + var_00.atmosfogdistancescale = 4.86129; + var_00.atmosfogskydistance = 181403; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -6.25844; + var_00.atmosfogskyfalloffanglerange = 168.516; + var_00.atmosfogsundirection = (0.581245,0.439566,0.684789); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -1036.11; + var_00.atmosfogheightfoghalfplanedistance = 2658.43; + var_00 = maps\mp\_art::create_vision_set_fog("mp_dam_underground_cg"); + var_00.startdist = 1870.56; + var_00.halfwaydist = 40000; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 16.5624; + var_00.maxopacity = 0.3; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.878874; + var_00.sungreen = 0.817565; + var_00.sunblue = 0.620923; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (0.938404,0.113155,0.326489); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 50.7584; + var_00.normalfogscale = 1.24676; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.381423,0.450676,0.535008); + var_00.atmosfoghazecolor = (0.437249,0.468394,0.437179); + var_00.atmosfoghazestrength = 0.235621; + var_00.atmosfoghazespread = 0.0204762; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 17.1249; + var_00.atmosfoghalfplanedistance = 9240.6; + var_00.atmosfogstartdistance = 2072; + var_00.atmosfogdistancescale = 4.86129; + var_00.atmosfogskydistance = 181403; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -6.25844; + var_00.atmosfogskyfalloffanglerange = 168.516; + var_00.atmosfogsundirection = (0.581245,0.439566,0.684789); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -1036.11; + var_00.atmosfogheightfoghalfplanedistance = 2658.43; + var_00 = maps\mp\_art::create_vision_set_fog("mp_dam_interior_cg"); + var_00.startdist = 2890.83; + var_00.halfwaydist = 35109.2; + var_00.red = 0.61854; + var_00.green = 0.653231; + var_00.blue = 0.657281; + var_00.hdrcolorintensity = 16.5624; + var_00.maxopacity = 0.544132; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.878874; + var_00.sungreen = 0.817565; + var_00.sunblue = 0.620923; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (0.938404,0.113155,0.326489); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 50.7584; + var_00.normalfogscale = 1.24676; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.398132,0.470419,0.558446); + var_00.atmosfoghazecolor = (0.875162,0.9375,0.875022); + var_00.atmosfoghazestrength = 0.235621; + var_00.atmosfoghazespread = 0.0204762; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 17.1249; + var_00.atmosfoghalfplanedistance = 23576.6; + var_00.atmosfogstartdistance = 7704; + var_00.atmosfogdistancescale = 4.86129; + var_00.atmosfogskydistance = 181403; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -6.25844; + var_00.atmosfogskyfalloffanglerange = 168.516; + var_00.atmosfogsundirection = (0.581245,0.439566,0.684789); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -1036.11; + var_00.atmosfogheightfoghalfplanedistance = 2658.43; + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 12.2088; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.878874; + var_00.sungreen = 0.817565; + var_00.sunblue = 0.620923; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (0.938404,0.113155,0.326489); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 50.7584; + var_00.normalfogscale = 1.24676; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.398132,0.470419,0.558446); + var_00.atmosfoghazecolor = (0.875162,0.9375,0.875022); + var_00.atmosfoghazestrength = 0.235621; + var_00.atmosfoghazespread = 0.0204762; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 17.1249; + var_00.atmosfoghalfplanedistance = 19480.6; + var_00.atmosfogstartdistance = 2072; + var_00.atmosfogdistancescale = 4.86129; + var_00.atmosfogskydistance = 181403; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -6.25844; + var_00.atmosfogskyfalloffanglerange = 168.516; + var_00.atmosfogsundirection = (0.581245,0.439566,0.684789); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -1036.11; + var_00.atmosfogheightfoghalfplanedistance = 2658.43; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_detroit_art.gsc b/AW/PC/maps/createart/mp_detroit_art.gsc new file mode 100644 index 0000000..96f22fb --- /dev/null +++ b/AW/PC/maps/createart/mp_detroit_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_detroit_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:06:45 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_detroit_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_detroit_fog::setupfog(); + } + + visionsetnaked("mp_detroit",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_detroit_fog.gsc b/AW/PC/maps/createart/mp_detroit_fog.gsc new file mode 100644 index 0000000..dd486fe --- /dev/null +++ b/AW/PC/maps/createart/mp_detroit_fog.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_detroit_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:06:45 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_detroit"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_detroit_fog_hdr.gsc b/AW/PC/maps/createart/mp_detroit_fog_hdr.gsc new file mode 100644 index 0000000..06be89e --- /dev/null +++ b/AW/PC/maps/createart/mp_detroit_fog_hdr.gsc @@ -0,0 +1,370 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_detroit_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 46 ms + * Timestamp: 4/22/2024 2:06:46 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_detroit"); + var_00.startdist = 635; + var_00.halfwaydist = 87700; + var_00.red = 1; + var_00.green = 0.872; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 14.75; + var_00.maxopacity = 0.1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.875,0.828126,0.78125); + var_00.atmosfoghazecolor = (0.851,0.781,0.603); + var_00.atmosfoghazestrength = 0.18; + var_00.atmosfoghazespread = 0.004; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 14.5123; + var_00.atmosfoghalfplanedistance = 18293; + var_00.atmosfogstartdistance = 1108.03; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 8192; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (-0.424507,-0.862204,0.276401); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 474.857; + var_00.atmosfogheightfoghalfplanedistance = 9190.17; + var_00 = maps\mp\_art::create_vision_set_fog("mp_detroit_cg"); + var_00.startdist = 372.392; + var_00.halfwaydist = 5144.82; + var_00.red = 0.253603; + var_00.green = 0.278088; + var_00.blue = 0.332763; + var_00.hdrcolorintensity = 13.3262; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_detroit_water"); + var_00.startdist = 0; + var_00.halfwaydist = 70; + var_00.red = 0.0760404; + var_00.green = 0.0357562; + var_00.blue = 0.0189094; + var_00.hdrcolorintensity = 17.5; + var_00.maxopacity = 0.8; + var_00.transitiontime = 0.05; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.875,0.828126,0.78125); + var_00.atmosfoghazecolor = (0.851,0.781,0.603); + var_00.atmosfoghazestrength = 0.18; + var_00.atmosfoghazespread = 0.004; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 14.5123; + var_00.atmosfoghalfplanedistance = 18293; + var_00.atmosfogstartdistance = 1108.03; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 8192; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (-0.424507,-0.862204,0.276401); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 474.857; + var_00.atmosfogheightfoghalfplanedistance = 9190.17; + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 12.2088; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_detroit_osp"); + var_00.startdist = 635; + var_00.halfwaydist = 87700; + var_00.red = 1; + var_00.green = 0.872; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 14.75; + var_00.maxopacity = 0.1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.875,0.828126,0.78125); + var_00.atmosfoghazecolor = (0.851,0.781,0.603); + var_00.atmosfoghazestrength = 0.18; + var_00.atmosfoghazespread = 0.004; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 14.5123; + var_00.atmosfoghalfplanedistance = 18293; + var_00.atmosfogstartdistance = 1108.03; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 8192; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (-0.424507,-0.862204,0.276401); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 474.857; + var_00.atmosfogheightfoghalfplanedistance = 9190.17; + var_00 = maps\mp\_art::create_vision_set_fog("mp_detroit_drone"); + var_00.startdist = 635; + var_00.halfwaydist = 87700; + var_00.red = 1; + var_00.green = 0.872; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 14.75; + var_00.maxopacity = 0.1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.875,0.828126,0.78125); + var_00.atmosfoghazecolor = (0.851,0.781,0.603); + var_00.atmosfoghazestrength = 0.18; + var_00.atmosfoghazespread = 0.004; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 14.5123; + var_00.atmosfoghalfplanedistance = 18293; + var_00.atmosfogstartdistance = 1108.03; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 8192; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (-0.424507,-0.862204,0.276401); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 474.857; + var_00.atmosfogheightfoghalfplanedistance = 9190.17; + var_00 = maps\mp\_art::create_vision_set_fog("mp_detroit_warbird"); + var_00.startdist = 635; + var_00.halfwaydist = 87700; + var_00.red = 1; + var_00.green = 0.872; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 14.75; + var_00.maxopacity = 0.1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.875,0.828126,0.78125); + var_00.atmosfoghazecolor = (0.851,0.781,0.603); + var_00.atmosfoghazestrength = 0.18; + var_00.atmosfoghazespread = 0.004; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 14.5123; + var_00.atmosfoghalfplanedistance = 18293; + var_00.atmosfogstartdistance = 1108.03; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 8192; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (-0.424507,-0.862204,0.276401); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 474.857; + var_00.atmosfogheightfoghalfplanedistance = 9190.17; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb"); + var_00.startdist = 670.438; + var_00.halfwaydist = 2489.07; + var_00.red = 0.802175; + var_00.green = 0.697121; + var_00.blue = 0.750972; + var_00.hdrcolorintensity = 10.5; + var_00.maxopacity = 0.649765; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.484637,0.920391,0.255807); + var_00.atmosfoghazecolor = (1,0.778993,0.417681); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0322783; + var_00.atmosfogextinctionstrength = 0.916667; + var_00.atmosfoginscatterstrength = 16.3525; + var_00.atmosfoghalfplanedistance = 1640.34; + var_00.atmosfogstartdistance = 71.7805; + var_00.atmosfogdistancescale = 9.42623; + var_00.atmosfogskydistance = 24590; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (-0.474168,-0.865133,0.163429); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 1232.4; + var_00.red = 0.563022; + var_00.green = 0.920391; + var_00.blue = 0.375355; + var_00.hdrcolorintensity = 15.9699; + var_00.maxopacity = 0.870537; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.291899; + var_00.sungreen = 0.435754; + var_00.sunblue = 0.1819; + var_00.hdrsuncolorintensity = 16.6475; + var_00.sundir = (-0.546391,-0.14727,0.824481); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 36.694; + var_00.normalfogscale = 2.78604; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.484637,0.920391,0.255807); + var_00.atmosfoghazecolor = (1,0.778993,0.417681); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0322783; + var_00.atmosfogextinctionstrength = 0.916667; + var_00.atmosfoginscatterstrength = 16.3525; + var_00.atmosfoghalfplanedistance = 1640.34; + var_00.atmosfogstartdistance = 71.7805; + var_00.atmosfogdistancescale = 9.42623; + var_00.atmosfogskydistance = 24590; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (-0.474168,-0.865133,0.163429); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_fracture_art.gsc b/AW/PC/maps/createart/mp_fracture_art.gsc new file mode 100644 index 0000000..358f306 --- /dev/null +++ b/AW/PC/maps/createart/mp_fracture_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_fracture_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:06:46 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_fracture_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_fracture_fog::setupfog(); + } + + visionsetnaked("mp_fracture",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_fracture_fog.gsc b/AW/PC/maps/createart/mp_fracture_fog.gsc new file mode 100644 index 0000000..7773499 --- /dev/null +++ b/AW/PC/maps/createart/mp_fracture_fog.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_fracture_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 2:06:46 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_fracture"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_fracture_fog_hdr.gsc b/AW/PC/maps/createart/mp_fracture_fog_hdr.gsc new file mode 100644 index 0000000..dd3b048 --- /dev/null +++ b/AW/PC/maps/createart/mp_fracture_fog_hdr.gsc @@ -0,0 +1,454 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_fracture_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 45 ms + * Timestamp: 4/22/2024 2:06:47 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_fracture"); + var_00.startdist = 17346.3; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 12.029; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.483399,0.600128,0.703125); + var_00.atmosfoghazecolor = (0.5,0.493042,0.476562); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.0859375; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 19.4987; + var_00.atmosfoghalfplanedistance = 26235.9; + var_00.atmosfogstartdistance = 347.105; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.751722,0.43436,0.496231); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1320; + var_00 = maps\mp\_art::create_vision_set_fog("mp_fracture_drone"); + var_00.startdist = 17346.3; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 12.029; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.292969,0.412659,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 19; + var_00.atmosfoghalfplanedistance = 31624; + var_00.atmosfogstartdistance = 950.719; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.769406,0.405979,0.493148); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 6312; + var_00 = maps\mp\_art::create_vision_set_fog("mp_fracture_osp"); + var_00.startdist = 17346.3; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 12.029; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.292969,0.412659,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 19; + var_00.atmosfoghalfplanedistance = 31624; + var_00.atmosfogstartdistance = 950.719; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.769406,0.405979,0.493148); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 6312; + var_00 = maps\mp\_art::create_vision_set_fog("mp_fracture_underwater"); + var_00.startdist = 17346.3; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 12.029; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.371094,0.445618,0.5); + var_00.atmosfoghazecolor = (0.5,0.477783,0.449219); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 15.25; + var_00.atmosfoghalfplanedistance = 206.87; + var_00.atmosfogstartdistance = 62.4637; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.769406,0.405979,0.493148); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 6312; + var_00 = maps\mp\_art::create_vision_set_fog("mp_fracture_warbird"); + var_00.startdist = 17346.3; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 12.029; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.292969,0.412659,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 19; + var_00.atmosfoghalfplanedistance = 31624; + var_00.atmosfogstartdistance = 950.719; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.769406,0.405979,0.493148); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 6312; + var_00 = maps\mp\_art::create_vision_set_fog("mp_fracture_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 4200; + var_00.red = 0.19238; + var_00.green = 0.412904; + var_00.blue = 0.669464; + var_00.hdrcolorintensity = 14.1531; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.483399,0.600128,0.703125); + var_00.atmosfoghazecolor = (0.5,0.493042,0.476562); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.0859375; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18; + var_00.atmosfoghalfplanedistance = 11144; + var_00.atmosfogstartdistance = 950.719; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.751722,0.43436,0.496231); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1320; + var_00 = maps\mp\_art::create_vision_set_fog("mp_fracture_drone_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 4200; + var_00.red = 0.19238; + var_00.green = 0.412904; + var_00.blue = 0.669464; + var_00.hdrcolorintensity = 14.1531; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.292969,0.412659,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 19; + var_00.atmosfoghalfplanedistance = 31624; + var_00.atmosfogstartdistance = 950.719; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.769406,0.405979,0.493148); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 6312; + var_00 = maps\mp\_art::create_vision_set_fog("mp_fracture_osp_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 4200; + var_00.red = 0.19238; + var_00.green = 0.412904; + var_00.blue = 0.669464; + var_00.hdrcolorintensity = 14.1531; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.292969,0.412659,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 19; + var_00.atmosfoghalfplanedistance = 31624; + var_00.atmosfogstartdistance = 950.719; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.769406,0.405979,0.493148); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 6312; + var_00 = maps\mp\_art::create_vision_set_fog("mp_fracture_underwater_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 4200; + var_00.red = 0.19238; + var_00.green = 0.412904; + var_00.blue = 0.669464; + var_00.hdrcolorintensity = 14.1531; + var_00.maxopacity = 0.975; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.292969,0.412659,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 19; + var_00.atmosfoghalfplanedistance = 31624; + var_00.atmosfogstartdistance = 950.719; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.769406,0.405979,0.493148); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 6312; + var_00 = maps\mp\_art::create_vision_set_fog("mp_fracture_warbird_cg"); + var_00.startdist = 1000; + var_00.halfwaydist = 10000; + var_00.red = 0.19238; + var_00.green = 0.412904; + var_00.blue = 0.669464; + var_00.hdrcolorintensity = 14.1531; + var_00.maxopacity = 0.975; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.292969,0.412659,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 19; + var_00.atmosfoghalfplanedistance = 31624; + var_00.atmosfogstartdistance = 950.719; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.769406,0.405979,0.493148); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 6312; + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 12.2088; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_greenband_art.gsc b/AW/PC/maps/createart/mp_greenband_art.gsc new file mode 100644 index 0000000..6524acf --- /dev/null +++ b/AW/PC/maps/createart/mp_greenband_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_greenband_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:06:47 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_greenband_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_greenband_fog::setupfog(); + } + + visionsetnaked("mp_greenband",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_greenband_fog.gsc b/AW/PC/maps/createart/mp_greenband_fog.gsc new file mode 100644 index 0000000..b5e801c --- /dev/null +++ b/AW/PC/maps/createart/mp_greenband_fog.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_greenband_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:06:47 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_greenband"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_greenband_fog_hdr.gsc b/AW/PC/maps/createart/mp_greenband_fog_hdr.gsc new file mode 100644 index 0000000..83ae2dd --- /dev/null +++ b/AW/PC/maps/createart/mp_greenband_fog_hdr.gsc @@ -0,0 +1,523 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_greenband_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 49 ms + * Timestamp: 4/22/2024 2:06:48 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 4218.91; + var_00.halfwaydist = 44312.4; + var_00.red = 0.974245; + var_00.green = 0.985384; + var_00.blue = 1; + var_00.hdrcolorintensity = 8.99603; + var_00.maxopacity = 0.804817; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0.829919; + var_00.sunblue = 0.649238; + var_00.hdrsuncolorintensity = 13; + var_00.sundir = (0.078125,0.078125,-1); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 133; + var_00.normalfogscale = 10; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.744535,0.917258,0.840571); + var_00.atmosfoghazecolor = (0.597675,0.82608,1); + var_00.atmosfoghazestrength = 0.0597306; + var_00.atmosfoghazespread = 0.0342385; + var_00.atmosfogextinctionstrength = 0.129979; + var_00.atmosfoginscatterstrength = 20.95; + var_00.atmosfoghalfplanedistance = 36369.3; + var_00.atmosfogstartdistance = 359.882; + var_00.atmosfogdistancescale = 0.942111; + var_00.atmosfogskydistance = 114206; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -8.08144; + var_00.atmosfogskyfalloffanglerange = 40.7857; + var_00.atmosfogsundirection = (0.34768,0.935352,0.0650736); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = -8409.9; + var_00.atmosfogheightfoghalfplanedistance = 5433.97; + var_00 = maps\mp\_art::create_vision_set_fog("mp_greenband"); + var_00.startdist = 4218.91; + var_00.halfwaydist = 44312.4; + var_00.red = 0.974245; + var_00.green = 0.985384; + var_00.blue = 1; + var_00.hdrcolorintensity = 8.99603; + var_00.maxopacity = 0.804817; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.839182,0.917799,1); + var_00.atmosfoghazecolor = (0.437488,0.396474,0.365713); + var_00.atmosfoghazestrength = 0.184731; + var_00.atmosfoghazespread = 0.0342385; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 20.6692; + var_00.atmosfoghalfplanedistance = 4062.13; + var_00.atmosfogstartdistance = 330.485; + var_00.atmosfogdistancescale = 0.178651; + var_00.atmosfogskydistance = 114206; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -35.0835; + var_00.atmosfogskyfalloffanglerange = 439.952; + var_00.atmosfogsundirection = (0.713151,0.501338,0.489976); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -1370.37; + var_00.atmosfogheightfoghalfplanedistance = 1209.94; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb"); + var_00.startdist = 670.438; + var_00.halfwaydist = 2489.07; + var_00.red = 0.802175; + var_00.green = 0.697121; + var_00.blue = 0.750972; + var_00.hdrcolorintensity = 10.5; + var_00.maxopacity = 0.649765; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.484637,0.920391,0.255807); + var_00.atmosfoghazecolor = (1,0.778993,0.417681); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0322783; + var_00.atmosfogextinctionstrength = 0.916667; + var_00.atmosfoginscatterstrength = 18.3197; + var_00.atmosfoghalfplanedistance = 1640.34; + var_00.atmosfogstartdistance = 71.7805; + var_00.atmosfogdistancescale = 9.42623; + var_00.atmosfogskydistance = 24590; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (-0.474168,-0.865133,0.163429); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 1232.4; + var_00.red = 0.563022; + var_00.green = 0.920391; + var_00.blue = 0.375355; + var_00.hdrcolorintensity = 15.9699; + var_00.maxopacity = 0.870537; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.484637,0.920391,0.255807); + var_00.atmosfoghazecolor = (1,0.778993,0.417681); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0322783; + var_00.atmosfogextinctionstrength = 0.916667; + var_00.atmosfoginscatterstrength = 16.3525; + var_00.atmosfoghalfplanedistance = 1640.34; + var_00.atmosfogstartdistance = 71.7805; + var_00.atmosfogdistancescale = 9.42623; + var_00.atmosfogskydistance = 24590; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (-0.474168,-0.865133,0.163429); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; + var_00 = maps\mp\_art::create_vision_set_fog("mp_greenband_cg"); + var_00.startdist = 539.329; + var_00.halfwaydist = 19351.3; + var_00.red = 0.942224; + var_00.green = 0.900525; + var_00.blue = 0.819773; + var_00.hdrcolorintensity = 12.6121; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0.829919; + var_00.sunblue = 0.649238; + var_00.hdrsuncolorintensity = 13; + var_00.sundir = (0.078125,0.078125,-1); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 133; + var_00.normalfogscale = 10; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = -90; + var_00.skyfogmaxangle = -90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.304083,0.362307,0.414063); + var_00.atmosfoghazecolor = (0.523362,0.417289,0.265773); + var_00.atmosfoghazestrength = 0.078122; + var_00.atmosfoghazespread = 0.0234375; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 15.5; + var_00.atmosfoghalfplanedistance = 949.531; + var_00.atmosfogstartdistance = 990.194; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100107; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 4.9961; + var_00.atmosfogskyfalloffanglerange = 42; + var_00.atmosfogsundirection = (0.540978,0.823536,0.170678); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 1023.66; + var_00.atmosfogheightfoghalfplanedistance = 897; + var_00 = maps\mp\_art::create_vision_set_fog("mp_greenband_patio_cg"); + var_00.startdist = 539.329; + var_00.halfwaydist = 19351.3; + var_00.red = 0.942224; + var_00.green = 0.900525; + var_00.blue = 0.819773; + var_00.hdrcolorintensity = 12.6121; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0.829919; + var_00.sunblue = 0.649238; + var_00.hdrsuncolorintensity = 13; + var_00.sundir = (0.078125,0.078125,-1); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 133; + var_00.normalfogscale = 10; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = -90; + var_00.skyfogmaxangle = -90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.304083,0.362307,0.414063); + var_00.atmosfoghazecolor = (0.523362,0.417289,0.265773); + var_00.atmosfoghazestrength = 0.078122; + var_00.atmosfoghazespread = 0.0234375; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 15.5; + var_00.atmosfoghalfplanedistance = 949.531; + var_00.atmosfogstartdistance = 990.194; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100107; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 4.9961; + var_00.atmosfogskyfalloffanglerange = 42; + var_00.atmosfogsundirection = (0.540978,0.823536,0.170678); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 1023.66; + var_00.atmosfogheightfoghalfplanedistance = 897; + var_00 = maps\mp\_art::create_vision_set_fog("mp_greenband_patio"); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 12.2088; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0.829919; + var_00.sunblue = 0.649238; + var_00.hdrsuncolorintensity = 13; + var_00.sundir = (0.078125,0.078125,-1); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 133; + var_00.normalfogscale = 10; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = -90; + var_00.skyfogmaxangle = -90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.304083,0.362307,0.414063); + var_00.atmosfoghazecolor = (0.523362,0.417289,0.265773); + var_00.atmosfoghazestrength = 0.078122; + var_00.atmosfoghazespread = 0.0234375; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 15.5; + var_00.atmosfoghalfplanedistance = 949.531; + var_00.atmosfogstartdistance = 990.194; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100107; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 4.9961; + var_00.atmosfogskyfalloffanglerange = 42; + var_00.atmosfogsundirection = (0.540978,0.823536,0.170678); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 1023.66; + var_00.atmosfogheightfoghalfplanedistance = 897; + var_00 = maps\mp\_art::create_vision_set_fog("mp_greenband_indoor"); + var_00.startdist = 5120; + var_00.halfwaydist = 22529; + var_00.red = 0.783203; + var_00.green = 0.90828; + var_00.blue = 1; + var_00.hdrcolorintensity = 13; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0.829919; + var_00.sunblue = 0.649238; + var_00.hdrsuncolorintensity = 13; + var_00.sundir = (0.078125,0.078125,-1); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 133; + var_00.normalfogscale = 10; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = -90; + var_00.skyfogmaxangle = -90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.304083,0.362307,0.414063); + var_00.atmosfoghazecolor = (0.523362,0.417289,0.265773); + var_00.atmosfoghazestrength = 0.078122; + var_00.atmosfoghazespread = 0.0234375; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 15.5; + var_00.atmosfoghalfplanedistance = 949.531; + var_00.atmosfogstartdistance = 990.194; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100107; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 4.9961; + var_00.atmosfogskyfalloffanglerange = 42; + var_00.atmosfogsundirection = (0.540978,0.823536,0.170678); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 1023.66; + var_00.atmosfogheightfoghalfplanedistance = 897; + var_00 = maps\mp\_art::create_vision_set_fog("mp_greenband_indoor_cg"); + var_00.startdist = 539.329; + var_00.halfwaydist = 19351.3; + var_00.red = 0.942224; + var_00.green = 0.900525; + var_00.blue = 0.819773; + var_00.hdrcolorintensity = 12.6121; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0.829919; + var_00.sunblue = 0.649238; + var_00.hdrsuncolorintensity = 13; + var_00.sundir = (0.078125,0.078125,-1); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 133; + var_00.normalfogscale = 10; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = -90; + var_00.skyfogmaxangle = -90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.304083,0.362307,0.414063); + var_00.atmosfoghazecolor = (0.523362,0.417289,0.265773); + var_00.atmosfoghazestrength = 0.078122; + var_00.atmosfoghazespread = 0.0234375; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 15.5; + var_00.atmosfoghalfplanedistance = 949.531; + var_00.atmosfogstartdistance = 990.194; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100107; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 4.9961; + var_00.atmosfogskyfalloffanglerange = 42; + var_00.atmosfogsundirection = (0.540978,0.823536,0.170678); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 1023.66; + var_00.atmosfogheightfoghalfplanedistance = 897; + var_00 = maps\mp\_art::create_vision_set_fog("mp_greenband_osp"); + var_00.startdist = 4218.91; + var_00.halfwaydist = 44312.4; + var_00.red = 0.974245; + var_00.green = 0.985384; + var_00.blue = 1; + var_00.hdrcolorintensity = 8.99603; + var_00.maxopacity = 0.804817; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.839182,0.917799,1); + var_00.atmosfoghazecolor = (0.437488,0.396474,0.365713); + var_00.atmosfoghazestrength = 0.184731; + var_00.atmosfoghazespread = 0.0342385; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 20.6692; + var_00.atmosfoghalfplanedistance = 4062.13; + var_00.atmosfogstartdistance = 330.485; + var_00.atmosfogdistancescale = 0.178651; + var_00.atmosfogskydistance = 114206; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -35.0835; + var_00.atmosfogskyfalloffanglerange = 439.952; + var_00.atmosfogsundirection = (0.713151,0.501338,0.489976); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -1370.37; + var_00.atmosfogheightfoghalfplanedistance = 1209.94; + var_00 = maps\mp\_art::create_vision_set_fog("mp_greenband_drone"); + var_00.startdist = 4218.91; + var_00.halfwaydist = 44312.4; + var_00.red = 0.974245; + var_00.green = 0.985384; + var_00.blue = 1; + var_00.hdrcolorintensity = 8.99603; + var_00.maxopacity = 0.804817; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.839182,0.917799,1); + var_00.atmosfoghazecolor = (0.437488,0.396474,0.365713); + var_00.atmosfoghazestrength = 0.184731; + var_00.atmosfoghazespread = 0.0342385; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 20.6692; + var_00.atmosfoghalfplanedistance = 4062.13; + var_00.atmosfogstartdistance = 330.485; + var_00.atmosfogdistancescale = 0.178651; + var_00.atmosfogskydistance = 114206; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -35.0835; + var_00.atmosfogskyfalloffanglerange = 439.952; + var_00.atmosfogsundirection = (0.713151,0.501338,0.489976); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -1370.37; + var_00.atmosfogheightfoghalfplanedistance = 1209.94; + var_00 = maps\mp\_art::create_vision_set_fog("mp_greenband_warbird"); + var_00.startdist = 4218.91; + var_00.halfwaydist = 44312.4; + var_00.red = 0.974245; + var_00.green = 0.985384; + var_00.blue = 1; + var_00.hdrcolorintensity = 8.99603; + var_00.maxopacity = 0.804817; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.839182,0.917799,1); + var_00.atmosfoghazecolor = (0.437488,0.396474,0.365713); + var_00.atmosfoghazestrength = 0.184731; + var_00.atmosfoghazespread = 0.0342385; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 20.6692; + var_00.atmosfoghalfplanedistance = 4062.13; + var_00.atmosfogstartdistance = 330.485; + var_00.atmosfogdistancescale = 0.178651; + var_00.atmosfogskydistance = 114206; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -35.0835; + var_00.atmosfogskyfalloffanglerange = 439.952; + var_00.atmosfogsundirection = (0.713151,0.501338,0.489976); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -1370.37; + var_00.atmosfogheightfoghalfplanedistance = 1209.94; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_highrise2_art.gsc b/AW/PC/maps/createart/mp_highrise2_art.gsc new file mode 100644 index 0000000..71515cd --- /dev/null +++ b/AW/PC/maps/createart/mp_highrise2_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_highrise2_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:06:48 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_highrise2_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_highrise2_fog::setupfog(); + } + + visionsetnaked("mp_highrise2",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_highrise2_fog.gsc b/AW/PC/maps/createart/mp_highrise2_fog.gsc new file mode 100644 index 0000000..704d2aa --- /dev/null +++ b/AW/PC/maps/createart/mp_highrise2_fog.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_highrise2_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 47 ms + * Timestamp: 4/22/2024 2:06:48 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_highrise2"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_highrise2_fog_hdr.gsc b/AW/PC/maps/createart/mp_highrise2_fog_hdr.gsc new file mode 100644 index 0000000..4627cf0 --- /dev/null +++ b/AW/PC/maps/createart/mp_highrise2_fog_hdr.gsc @@ -0,0 +1,118 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_highrise2_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:06:49 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_highrise2"); + var_00.startdist = 512; + var_00.halfwaydist = 40680; + var_00.red = 0.235424; + var_00.green = 0.287027; + var_00.blue = 0.442895; + var_00.hdrcolorintensity = 12.779; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0.585938; + var_00.skyfogminangle = 80.4541; + var_00.skyfogmaxangle = 84.0245; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.304688,0.343751,0.640625); + var_00.atmosfoghazecolor = (0.210938,0.46875,0.53125); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.703125; + var_00.atmosfogextinctionstrength = 0.59375; + var_00.atmosfoginscatterstrength = 14; + var_00.atmosfoghalfplanedistance = 31653.1; + var_00.atmosfogstartdistance = 2229.18; + var_00.atmosfogdistancescale = 1.4375; + var_00.atmosfogskydistance = 172032; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.336212,0.0627645,0.939693); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 12.2088; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_highrise2_cg"); + var_00.startdist = 2500; + var_00.halfwaydist = 10000; + var_00.red = 0.076557; + var_00.green = 0.10521; + var_00.blue = 0.174557; + var_00.hdrcolorintensity = 15.3417; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = -5.75; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0.171875; + var_00.skyfogminangle = 84; + var_00.skyfogmaxangle = 92; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.304688,0.343751,0.640625); + var_00.atmosfoghazecolor = (0.210938,0.46875,0.53125); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.703125; + var_00.atmosfogextinctionstrength = 0.59375; + var_00.atmosfoginscatterstrength = 14; + var_00.atmosfoghalfplanedistance = 31653.1; + var_00.atmosfogstartdistance = 2229.18; + var_00.atmosfogdistancescale = 1.4375; + var_00.atmosfogskydistance = 172032; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.336212,0.0627645,0.939693); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_instinct_art.gsc b/AW/PC/maps/createart/mp_instinct_art.gsc new file mode 100644 index 0000000..ec038b8 --- /dev/null +++ b/AW/PC/maps/createart/mp_instinct_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_instinct_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 2:06:49 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_instinct_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_instinct_fog::setupfog(); + } + + visionsetnaked("mp_instinct",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_instinct_fog.gsc b/AW/PC/maps/createart/mp_instinct_fog.gsc new file mode 100644 index 0000000..32973d6 --- /dev/null +++ b/AW/PC/maps/createart/mp_instinct_fog.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_instinct_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 38 ms + * Timestamp: 4/22/2024 2:06:50 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_instinct"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_instinct_fog_hdr.gsc b/AW/PC/maps/createart/mp_instinct_fog_hdr.gsc new file mode 100644 index 0000000..0d082bb --- /dev/null +++ b/AW/PC/maps/createart/mp_instinct_fog_hdr.gsc @@ -0,0 +1,328 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_instinct_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 44 ms + * Timestamp: 4/22/2024 2:06:50 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_instinct"); + var_00.startdist = 1195.43; + var_00.halfwaydist = 8120.23; + var_00.red = 0.417441; + var_00.green = 0.480398; + var_00.blue = 0.530503; + var_00.hdrcolorintensity = 17.4092; + var_00.maxopacity = 0.843136; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.893319; + var_00.sungreen = 0.893319; + var_00.sunblue = 0.893319; + var_00.hdrsuncolorintensity = 18.0815; + var_00.sundir = (-0.546391,-0.14727,0.824481); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 36.694; + var_00.normalfogscale = 1.29284; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = -2.66305; + var_00.skyfogmaxangle = 180; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_instinct_cave"); + var_00.startdist = 1050.81; + var_00.halfwaydist = 36747.2; + var_00.red = 0.681371; + var_00.green = 0.796205; + var_00.blue = 0.881381; + var_00.hdrcolorintensity = 16.6458; + var_00.maxopacity = 0.843136; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.893319; + var_00.sungreen = 0.893319; + var_00.sunblue = 0.893319; + var_00.hdrsuncolorintensity = 18.0815; + var_00.sundir = (-0.546391,-0.14727,0.824481); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 36.694; + var_00.normalfogscale = 1.29284; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = -2.66305; + var_00.skyfogmaxangle = 180; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_instinct_osp"); + var_00.startdist = 4029.52; + var_00.halfwaydist = 9338.88; + var_00.red = 0.675255; + var_00.green = 0.689918; + var_00.blue = 0.754946; + var_00.hdrcolorintensity = 14.267; + var_00.maxopacity = 0.642019; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.893319; + var_00.sungreen = 0.893319; + var_00.sunblue = 0.893319; + var_00.hdrsuncolorintensity = 18.5815; + var_00.sundir = (-0.546391,-0.14727,0.824481); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 36.694; + var_00.normalfogscale = 2.78604; + var_00.skyfogintensity = 0.409207; + var_00.skyfogminangle = 39.651; + var_00.skyfogmaxangle = 143.542; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 1806.69; + var_00.heightfoghalfplanedistance = 1672.25; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = -1; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb"); + var_00.startdist = 0; + var_00.halfwaydist = 1232.4; + var_00.red = 0.563022; + var_00.green = 0.920391; + var_00.blue = 0.375355; + var_00.hdrcolorintensity = 15.9699; + var_00.maxopacity = 0.870537; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.291899; + var_00.sungreen = 0.435754; + var_00.sunblue = 0.1819; + var_00.hdrsuncolorintensity = 16.6475; + var_00.sundir = (-0.546391,-0.14727,0.824481); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 36.694; + var_00.normalfogscale = 2.78604; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.484637,0.920391,0.255807); + var_00.atmosfoghazecolor = (1,0.778993,0.417681); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0322783; + var_00.atmosfogextinctionstrength = 0.916667; + var_00.atmosfoginscatterstrength = 16.3525; + var_00.atmosfoghalfplanedistance = 1640.34; + var_00.atmosfogstartdistance = 71.7805; + var_00.atmosfogdistancescale = 9.42623; + var_00.atmosfogskydistance = 24590; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (-0.474168,-0.865133,0.163429); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 1232.4; + var_00.red = 0.563022; + var_00.green = 0.920391; + var_00.blue = 0.375355; + var_00.hdrcolorintensity = 15.9699; + var_00.maxopacity = 0.870537; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.291899; + var_00.sungreen = 0.435754; + var_00.sunblue = 0.1819; + var_00.hdrsuncolorintensity = 16.6475; + var_00.sundir = (-0.546391,-0.14727,0.824481); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 36.694; + var_00.normalfogscale = 2.78604; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.484637,0.920391,0.255807); + var_00.atmosfoghazecolor = (1,0.778993,0.417681); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0322783; + var_00.atmosfogextinctionstrength = 0.916667; + var_00.atmosfoginscatterstrength = 16.3525; + var_00.atmosfoghalfplanedistance = 1640.34; + var_00.atmosfogstartdistance = 71.7805; + var_00.atmosfogdistancescale = 9.42623; + var_00.atmosfogskydistance = 24590; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (-0.474168,-0.865133,0.163429); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; + var_00 = maps\mp\_art::create_vision_set_fog("mp_instinct_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 15052.2; + var_00.red = 0.6831; + var_00.green = 0.796205; + var_00.blue = 0.881381; + var_00.hdrcolorintensity = 15.0082; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.885507; + var_00.sungreen = 0.885507; + var_00.sunblue = 0.643319; + var_00.hdrsuncolorintensity = 14.7434; + var_00.sundir = (-0.546391,-0.14727,0.824481); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 36.694; + var_00.normalfogscale = 1.29284; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = -2.66305; + var_00.skyfogmaxangle = 180; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_instinct_cave_cg"); + var_00.startdist = 536.406; + var_00.halfwaydist = 36451.4; + var_00.red = 0.311471; + var_00.green = 0.419608; + var_00.blue = 0.478431; + var_00.hdrcolorintensity = 17.8006; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.893319; + var_00.sungreen = 0.893319; + var_00.sunblue = 0.893319; + var_00.hdrsuncolorintensity = 18.0815; + var_00.sundir = (-0.546391,-0.14727,0.824481); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 36.694; + var_00.normalfogscale = 1.29284; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = -2.66305; + var_00.skyfogmaxangle = 180; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 12.2088; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_kremlin_art.gsc b/AW/PC/maps/createart/mp_kremlin_art.gsc new file mode 100644 index 0000000..5637d83 --- /dev/null +++ b/AW/PC/maps/createart/mp_kremlin_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_kremlin_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:06:50 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_kremlin_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_kremlin_fog::setupfog(); + } + + visionsetnaked("mp_kremlin",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_kremlin_fog.gsc b/AW/PC/maps/createart/mp_kremlin_fog.gsc new file mode 100644 index 0000000..5e3e4c3 --- /dev/null +++ b/AW/PC/maps/createart/mp_kremlin_fog.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_kremlin_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:06:51 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_kremlin"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_kremlin_fog_hdr.gsc b/AW/PC/maps/createart/mp_kremlin_fog_hdr.gsc new file mode 100644 index 0000000..2c0474b --- /dev/null +++ b/AW/PC/maps/createart/mp_kremlin_fog_hdr.gsc @@ -0,0 +1,118 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_kremlin_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 2:06:51 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_kremlin"); + var_00.startdist = 17346.3; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 14.029; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.632813,0.664063,0.863912); + var_00.atmosfoghazecolor = (0.273438,0.212994,0.184211); + var_00.atmosfoghazestrength = 0.625; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 0.218894; + var_00.atmosfoginscatterstrength = 17.2165; + var_00.atmosfoghalfplanedistance = 559.826; + var_00.atmosfogstartdistance = 786.628; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 40960; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 48; + var_00.atmosfogskyfalloffanglerange = 234; + var_00.atmosfogsundirection = (-0.697483,-0.70711,0.116246); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -2816; + var_00.atmosfogheightfoghalfplanedistance = 1089; + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 12.2088; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_kremlin_cg"); + var_00.startdist = 1000; + var_00.halfwaydist = 60000; + var_00.red = 0.937662; + var_00.green = 0.808827; + var_00.blue = 0.755741; + var_00.hdrcolorintensity = 13.5029; + var_00.maxopacity = 0.8; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.632813,0.664063,0.863912); + var_00.atmosfoghazecolor = (0.273438,0.212994,0.184211); + var_00.atmosfoghazestrength = 0.625; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 0.218894; + var_00.atmosfoginscatterstrength = 17.2165; + var_00.atmosfoghalfplanedistance = 559.826; + var_00.atmosfogstartdistance = 786.628; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 40960; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 48; + var_00.atmosfogskyfalloffanglerange = 234; + var_00.atmosfogsundirection = (-0.697483,-0.70711,0.116246); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -2816; + var_00.atmosfogheightfoghalfplanedistance = 1089; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_lab2_art.gsc b/AW/PC/maps/createart/mp_lab2_art.gsc new file mode 100644 index 0000000..30e0678 --- /dev/null +++ b/AW/PC/maps/createart/mp_lab2_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_lab2_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:06:51 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_lab2_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_lab2_fog::setupfog(); + } + + visionsetnaked("mp_lab2",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_lab2_fog.gsc b/AW/PC/maps/createart/mp_lab2_fog.gsc new file mode 100644 index 0000000..de699ff --- /dev/null +++ b/AW/PC/maps/createart/mp_lab2_fog.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_lab2_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 2:06:52 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_lab2"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_lab2_fog_hdr.gsc b/AW/PC/maps/createart/mp_lab2_fog_hdr.gsc new file mode 100644 index 0000000..145123b --- /dev/null +++ b/AW/PC/maps/createart/mp_lab2_fog_hdr.gsc @@ -0,0 +1,244 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_lab2_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 2:06:52 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_lab2"); + var_00.startdist = 21165.3; + var_00.halfwaydist = 59393; + var_00.red = 0.486148; + var_00.green = 0.660494; + var_00.blue = 0.789063; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0.410937; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.375,0.460938,0.53125); + var_00.atmosfoghazecolor = (0.4375,0.5,0.5); + var_00.atmosfoghazestrength = 0.28125; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 20.5; + var_00.atmosfoghalfplanedistance = 37768; + var_00.atmosfogstartdistance = 798.338; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 45697; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 46; + var_00.atmosfogsundirection = (0.707488,0.471552,0.526402); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_lab2_cg"); + var_00.startdist = 3032.75; + var_00.halfwaydist = 59393; + var_00.red = 0.768628; + var_00.green = 0.815686; + var_00.blue = 0.858823; + var_00.hdrcolorintensity = 16.75; + var_00.maxopacity = 0.410937; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_lab2_osp"); + var_00.startdist = 21165.3; + var_00.halfwaydist = 59393; + var_00.red = 0.486148; + var_00.green = 0.660494; + var_00.blue = 0.789063; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0.410937; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.375,0.460938,0.53125); + var_00.atmosfoghazecolor = (0.4375,0.5,0.5); + var_00.atmosfoghazestrength = 0.28125; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 17.5; + var_00.atmosfoghalfplanedistance = 37768; + var_00.atmosfogstartdistance = 798.338; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 45697; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 46; + var_00.atmosfogsundirection = (0.707488,0.471552,0.526402); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb"); + var_00.startdist = 670.438; + var_00.halfwaydist = 2489.07; + var_00.red = 0.802175; + var_00.green = 0.697121; + var_00.blue = 0.750972; + var_00.hdrcolorintensity = 19.1885; + var_00.maxopacity = 0.649765; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.195547,0.407821,0.194797); + var_00.atmosfoghazecolor = (0,0,0); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0833333; + var_00.atmosfogextinctionstrength = 0.903005; + var_00.atmosfoginscatterstrength = 20.5; + var_00.atmosfoghalfplanedistance = 1640.34; + var_00.atmosfogstartdistance = 71.7805; + var_00.atmosfogdistancescale = 9.42623; + var_00.atmosfogskydistance = 24590; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (0.651282,0.527297,0.545702); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 1232.4; + var_00.red = 0.563022; + var_00.green = 0.920391; + var_00.blue = 0.375355; + var_00.hdrcolorintensity = 15.9699; + var_00.maxopacity = 0.870537; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.291899; + var_00.sungreen = 0.435754; + var_00.sunblue = 0.1819; + var_00.hdrsuncolorintensity = 16.6475; + var_00.sundir = (-0.546391,-0.14727,0.824481); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 36.694; + var_00.normalfogscale = 2.78604; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.484637,0.920391,0.255807); + var_00.atmosfoghazecolor = (1,0.778993,0.417681); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0322783; + var_00.atmosfogextinctionstrength = 0.916667; + var_00.atmosfoginscatterstrength = 16.3525; + var_00.atmosfoghalfplanedistance = 1640.34; + var_00.atmosfogstartdistance = 71.7805; + var_00.atmosfogdistancescale = 9.42623; + var_00.atmosfogskydistance = 24590; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (-0.474168,-0.865133,0.163429); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 12.2088; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_lair_art.gsc b/AW/PC/maps/createart/mp_lair_art.gsc new file mode 100644 index 0000000..3ac55dc --- /dev/null +++ b/AW/PC/maps/createart/mp_lair_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_lair_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 2:06:53 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_lair_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_lair_fog::setupfog(); + } + + visionsetnaked("mp_lair",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_lair_fog.gsc b/AW/PC/maps/createart/mp_lair_fog.gsc new file mode 100644 index 0000000..bca82e9 --- /dev/null +++ b/AW/PC/maps/createart/mp_lair_fog.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_lair_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 2:06:53 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_lair"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_lair_fog_hdr.gsc b/AW/PC/maps/createart/mp_lair_fog_hdr.gsc new file mode 100644 index 0000000..540a1ca --- /dev/null +++ b/AW/PC/maps/createart/mp_lair_fog_hdr.gsc @@ -0,0 +1,355 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_lair_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:06:53 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_lair"); + var_00.startdist = 1264.24; + var_00.halfwaydist = 34612.8; + var_00.red = 0.332757; + var_00.green = 0.410371; + var_00.blue = 0.628725; + var_00.hdrcolorintensity = 16.7961; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0.708865; + var_00.sunblue = 0.589086; + var_00.hdrsuncolorintensity = 14.3096; + var_00.sundir = (-0.762138,0.634573,0.128308); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 92.6846; + var_00.normalfogscale = 0.350543; + var_00.skyfogintensity = 0.693801; + var_00.skyfogminangle = -89.7942; + var_00.skyfogmaxangle = 4.77543; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 6817.63; + var_00.heightfoghalfplanedistance = 6698.08; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.442815,0.473023,0.610428); + var_00.atmosfoghazecolor = (0.841869,0.681565,0.594449); + var_00.atmosfoghazestrength = 0.633967; + var_00.atmosfoghazespread = 0.27585; + var_00.atmosfogextinctionstrength = 0.637633; + var_00.atmosfoginscatterstrength = 15.3175; + var_00.atmosfoghalfplanedistance = 61246.8; + var_00.atmosfogstartdistance = 1460.81; + var_00.atmosfogdistancescale = 10; + var_00.atmosfogskydistance = 49152; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -23.5166; + var_00.atmosfogskyfalloffanglerange = 588.786; + var_00.atmosfogsundirection = (0.855125,-0.31618,0.410843); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 936.163; + var_00.atmosfogheightfoghalfplanedistance = 1781.67; + var_00 = maps\mp\_art::create_vision_set_fog("mp_lair_cg"); + var_00.startdist = 2500; + var_00.halfwaydist = 8000; + var_00.red = 0.32801; + var_00.green = 0.504818; + var_00.blue = 0.732055; + var_00.hdrcolorintensity = 15.25; + var_00.maxopacity = 0.733804; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.786384; + var_00.sungreen = 0.669128; + var_00.sunblue = 0.760849; + var_00.hdrsuncolorintensity = 13.75; + var_00.sundir = (-0.0340878,1,0.0309227); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 90; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0.615676; + var_00.skyfogminangle = -89.7942; + var_00.skyfogmaxangle = 4.77543; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 6817.63; + var_00.heightfoghalfplanedistance = 6698.08; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.442815,0.473023,0.610428); + var_00.atmosfoghazecolor = (0.841869,0.681565,0.594449); + var_00.atmosfoghazestrength = 0.633967; + var_00.atmosfoghazespread = 0.27585; + var_00.atmosfogextinctionstrength = 0.637633; + var_00.atmosfoginscatterstrength = 15.3175; + var_00.atmosfoghalfplanedistance = 61246.8; + var_00.atmosfogstartdistance = 1460.81; + var_00.atmosfogdistancescale = 10; + var_00.atmosfogskydistance = 49152; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -23.5166; + var_00.atmosfogskyfalloffanglerange = 588.786; + var_00.atmosfogsundirection = (0.855125,-0.31618,0.410843); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 936.163; + var_00.atmosfogheightfoghalfplanedistance = 1781.67; + var_00 = maps\mp\_art::create_vision_set_fog("mp_lair_osp"); + var_00.startdist = 1392.68; + var_00.halfwaydist = 8727.52; + var_00.red = 0.87037; + var_00.green = 0.923157; + var_00.blue = 0.975854; + var_00.hdrcolorintensity = 20.1906; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.584985; + var_00.sungreen = 0.601561; + var_00.sunblue = 0.420894; + var_00.hdrsuncolorintensity = 13.249; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 150; + var_00.normalfogscale = 0.125; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.961025,0.958042,0.913618); + var_00.atmosfoghazecolor = (0.730207,0.693009,0.658697); + var_00.atmosfoghazestrength = 0.00924057; + var_00.atmosfoghazespread = 0.08535; + var_00.atmosfogextinctionstrength = 0.725779; + var_00.atmosfoginscatterstrength = 14.0945; + var_00.atmosfoghalfplanedistance = 129236; + var_00.atmosfogstartdistance = 6773.61; + var_00.atmosfogdistancescale = 9.2114; + var_00.atmosfogskydistance = 516977; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 5.53519; + var_00.atmosfogskyfalloffanglerange = 348.597; + var_00.atmosfogsundirection = (0.881624,-0.108345,0.459347); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 4481.58; + var_00.atmosfogheightfoghalfplanedistance = 1276.3; + var_00 = maps\mp\_art::create_vision_set_fog("mp_lair_drone"); + var_00.startdist = 1392.68; + var_00.halfwaydist = 8727.52; + var_00.red = 0.87037; + var_00.green = 0.923157; + var_00.blue = 0.975854; + var_00.hdrcolorintensity = 20.1906; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.584985; + var_00.sungreen = 0.601561; + var_00.sunblue = 0.420894; + var_00.hdrsuncolorintensity = 13.249; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 150; + var_00.normalfogscale = 0.125; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.961025,0.958042,0.913618); + var_00.atmosfoghazecolor = (0.730207,0.693009,0.658697); + var_00.atmosfoghazestrength = 0.00924057; + var_00.atmosfoghazespread = 0.08535; + var_00.atmosfogextinctionstrength = 0.725779; + var_00.atmosfoginscatterstrength = 14.0945; + var_00.atmosfoghalfplanedistance = 129236; + var_00.atmosfogstartdistance = 6773.61; + var_00.atmosfogdistancescale = 9.2114; + var_00.atmosfogskydistance = 516977; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 5.53519; + var_00.atmosfogskyfalloffanglerange = 348.597; + var_00.atmosfogsundirection = (0.881624,-0.108345,0.459347); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 4481.58; + var_00.atmosfogheightfoghalfplanedistance = 1276.3; + var_00 = maps\mp\_art::create_vision_set_fog("mp_lair_warbird"); + var_00.startdist = 1392.68; + var_00.halfwaydist = 8727.52; + var_00.red = 0.87037; + var_00.green = 0.923157; + var_00.blue = 0.975854; + var_00.hdrcolorintensity = 20.1906; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.584985; + var_00.sungreen = 0.601561; + var_00.sunblue = 0.420894; + var_00.hdrsuncolorintensity = 13.249; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 150; + var_00.normalfogscale = 0.125; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.961025,0.958042,0.913618); + var_00.atmosfoghazecolor = (0.730207,0.693009,0.658697); + var_00.atmosfoghazestrength = 0.00924057; + var_00.atmosfoghazespread = 0.08535; + var_00.atmosfogextinctionstrength = 0.725779; + var_00.atmosfoginscatterstrength = 14.0945; + var_00.atmosfoghalfplanedistance = 129236; + var_00.atmosfogstartdistance = 6773.61; + var_00.atmosfogdistancescale = 9.2114; + var_00.atmosfogskydistance = 516977; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 5.53519; + var_00.atmosfogskyfalloffanglerange = 348.597; + var_00.atmosfogsundirection = (0.881624,-0.108345,0.459347); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 4481.58; + var_00.atmosfogheightfoghalfplanedistance = 1276.3; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb"); + var_00.startdist = 670.438; + var_00.halfwaydist = 2489.07; + var_00.red = 0.802175; + var_00.green = 0.697121; + var_00.blue = 0.750972; + var_00.hdrcolorintensity = 10.5; + var_00.maxopacity = 0.649765; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.30495,0.992188,0.0390625); + var_00.atmosfoghazecolor = (0.328125,1,0); + var_00.atmosfoghazestrength = 0.359375; + var_00.atmosfoghazespread = 0.8125; + var_00.atmosfogextinctionstrength = 0.28125; + var_00.atmosfoginscatterstrength = 20.8333; + var_00.atmosfoghalfplanedistance = 2049; + var_00.atmosfogstartdistance = -1000; + var_00.atmosfogdistancescale = 5.25; + var_00.atmosfogskydistance = 294912; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 39; + var_00.atmosfogskyfalloffanglerange = 300; + var_00.atmosfogsundirection = (-0.123593,0.540679,0.8321); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = -346.354; + var_00.atmosfogheightfoghalfplanedistance = 1665; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 45.2901; + var_00.red = 0.563022; + var_00.green = 0.920391; + var_00.blue = 0.375355; + var_00.hdrcolorintensity = 15.2199; + var_00.maxopacity = 0.612724; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = -2; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = -16; + var_00.heightfoghalfplanedistance = 6696; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.484637,0.920391,0.255807); + var_00.atmosfoghazecolor = (1,0.778993,0.417681); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0322783; + var_00.atmosfogextinctionstrength = 0.916667; + var_00.atmosfoginscatterstrength = 16.3525; + var_00.atmosfoghalfplanedistance = 1640.34; + var_00.atmosfogstartdistance = 71.7805; + var_00.atmosfogdistancescale = 9.42623; + var_00.atmosfogskydistance = 24590; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (-0.474168,-0.865133,0.163429); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 1264.24; + var_00.halfwaydist = 34612.8; + var_00.red = 0.332757; + var_00.green = 0.410371; + var_00.blue = 0.628725; + var_00.hdrcolorintensity = 16.7961; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0.708865; + var_00.sunblue = 0.589086; + var_00.hdrsuncolorintensity = 14.3096; + var_00.sundir = (-0.762138,0.634573,0.128308); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 92.6846; + var_00.normalfogscale = 0.350543; + var_00.skyfogintensity = 0.693801; + var_00.skyfogminangle = -89.7942; + var_00.skyfogmaxangle = 4.77543; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 6817.63; + var_00.heightfoghalfplanedistance = 6698.08; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.442815,0.473023,0.610428); + var_00.atmosfoghazecolor = (0.841869,0.681565,0.594449); + var_00.atmosfoghazestrength = 0.633967; + var_00.atmosfoghazespread = 0.27585; + var_00.atmosfogextinctionstrength = 0.637633; + var_00.atmosfoginscatterstrength = 15.3175; + var_00.atmosfoghalfplanedistance = 61246.8; + var_00.atmosfogstartdistance = 1460.81; + var_00.atmosfogdistancescale = 10; + var_00.atmosfogskydistance = 49152; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -23.5166; + var_00.atmosfogskyfalloffanglerange = 588.786; + var_00.atmosfogsundirection = (0.855125,-0.31618,0.410843); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 936.163; + var_00.atmosfogheightfoghalfplanedistance = 1781.67; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_laser2_art.gsc b/AW/PC/maps/createart/mp_laser2_art.gsc new file mode 100644 index 0000000..41ae8f1 --- /dev/null +++ b/AW/PC/maps/createart/mp_laser2_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_laser2_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:06:54 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_laser2_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_laser2_fog::setupfog(); + } + + visionsetnaked("mp_laser2",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_laser2_fog.gsc b/AW/PC/maps/createart/mp_laser2_fog.gsc new file mode 100644 index 0000000..e3a81f0 --- /dev/null +++ b/AW/PC/maps/createart/mp_laser2_fog.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_laser2_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 2:06:54 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_laser2"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_laser2_fog_hdr.gsc b/AW/PC/maps/createart/mp_laser2_fog_hdr.gsc new file mode 100644 index 0000000..b74903c --- /dev/null +++ b/AW/PC/maps/createart/mp_laser2_fog_hdr.gsc @@ -0,0 +1,565 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_laser2_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 152 ms + * Timestamp: 4/22/2024 2:06:55 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_laser2"); + var_00.startdist = 2825.95; + var_00.halfwaydist = 8727.52; + var_00.red = 0.87037; + var_00.green = 0.923157; + var_00.blue = 0.975854; + var_00.hdrcolorintensity = 15.75; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.53205,0.649501,0.82051); + var_00.atmosfoghazecolor = (1,0.98318,0.961183); + var_00.atmosfoghazestrength = 0.156844; + var_00.atmosfoghazespread = 0.0465312; + var_00.atmosfogextinctionstrength = 0.865019; + var_00.atmosfoginscatterstrength = 19.5247; + var_00.atmosfoghalfplanedistance = 35932.4; + var_00.atmosfogstartdistance = 20409.7; + var_00.atmosfogdistancescale = 4.58162; + var_00.atmosfogskydistance = 37357; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 7.41976; + var_00.atmosfogskyfalloffanglerange = 128.58; + var_00.atmosfogsundirection = (0.679888,-0.536065,0.500387); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 704.352; + var_00 = maps\mp\_art::create_vision_set_fog("mp_laser2_interior"); + var_00.startdist = 2026.34; + var_00.halfwaydist = 33123.1; + var_00.red = 0.87037; + var_00.green = 0.923157; + var_00.blue = 0.975854; + var_00.hdrcolorintensity = 16.4021; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.891419,0.891419,0.891419); + var_00.atmosfoghazecolor = (0.955511,0.955511,0.955511); + var_00.atmosfoghazestrength = 0.118191; + var_00.atmosfoghazespread = 0.362051; + var_00.atmosfogextinctionstrength = 0.729523; + var_00.atmosfoginscatterstrength = 18.8722; + var_00.atmosfoghalfplanedistance = 130783; + var_00.atmosfogstartdistance = 3207.66; + var_00.atmosfogdistancescale = 5.31526; + var_00.atmosfogskydistance = 225543; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -54.0513; + var_00.atmosfogskyfalloffanglerange = 160.871; + var_00.atmosfogsundirection = (0.881624,-0.108345,0.459347); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 4481.58; + var_00.atmosfogheightfoghalfplanedistance = 1276.3; + var_00 = maps\mp\_art::create_vision_set_fog("generic_underwater"); + var_00.startdist = 5; + var_00.halfwaydist = 200; + var_00.red = 0.74661; + var_00.green = 0.999995; + var_00.blue = 0.87276; + var_00.hdrcolorintensity = 13.3491; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.584985; + var_00.sungreen = 0.601561; + var_00.sunblue = 0.420894; + var_00.hdrsuncolorintensity = 13.249; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 150; + var_00.normalfogscale = 0.125; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.891419,0.891419,0.891419); + var_00.atmosfoghazecolor = (0.955511,0.955511,0.955511); + var_00.atmosfoghazestrength = 0.28436; + var_00.atmosfoghazespread = 0.362051; + var_00.atmosfogextinctionstrength = 0.786086; + var_00.atmosfoginscatterstrength = 18.8627; + var_00.atmosfoghalfplanedistance = 67166.8; + var_00.atmosfogstartdistance = 4764.43; + var_00.atmosfogdistancescale = 8.98823; + var_00.atmosfogskydistance = 30000; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -30.5422; + var_00.atmosfogskyfalloffanglerange = 77.2588; + var_00.atmosfogsundirection = (0.881624,-0.108345,0.459347); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 4481.58; + var_00.atmosfogheightfoghalfplanedistance = 1276.3; + var_00 = maps\mp\_art::create_vision_set_fog("mp_laser2_mid"); + var_00.startdist = 6028.39; + var_00.halfwaydist = 114845; + var_00.red = 0.87037; + var_00.green = 0.923157; + var_00.blue = 0.975854; + var_00.hdrcolorintensity = 20.1906; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.584985; + var_00.sungreen = 0.601561; + var_00.sunblue = 0.420894; + var_00.hdrsuncolorintensity = 13.249; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 150; + var_00.normalfogscale = 0.125; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.950023,0.968949,0.930216); + var_00.atmosfoghazecolor = (0.64108,0.717447,0.730207); + var_00.atmosfoghazestrength = 0.0307251; + var_00.atmosfoghazespread = 0.136874; + var_00.atmosfogextinctionstrength = 0.848469; + var_00.atmosfoginscatterstrength = 19.1952; + var_00.atmosfoghalfplanedistance = 107494; + var_00.atmosfogstartdistance = 4744.23; + var_00.atmosfogdistancescale = 6.61407; + var_00.atmosfogskydistance = 799234; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 5.53519; + var_00.atmosfogskyfalloffanglerange = 698.214; + var_00.atmosfogsundirection = (0.881624,-0.108345,0.459347); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 4481.58; + var_00.atmosfogheightfoghalfplanedistance = 1276.3; + var_00 = maps\mp\_art::create_vision_set_fog("mp_laser2_osp"); + var_00.startdist = 1392.68; + var_00.halfwaydist = 8727.52; + var_00.red = 0.87037; + var_00.green = 0.923157; + var_00.blue = 0.975854; + var_00.hdrcolorintensity = 20.1906; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.584985; + var_00.sungreen = 0.601561; + var_00.sunblue = 0.420894; + var_00.hdrsuncolorintensity = 13.249; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 150; + var_00.normalfogscale = 0.125; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.961025,0.958042,0.913618); + var_00.atmosfoghazecolor = (0.730207,0.693009,0.658697); + var_00.atmosfoghazestrength = 0.00924057; + var_00.atmosfoghazespread = 0.08535; + var_00.atmosfogextinctionstrength = 0.725779; + var_00.atmosfoginscatterstrength = 17.8445; + var_00.atmosfoghalfplanedistance = 129236; + var_00.atmosfogstartdistance = 6773.61; + var_00.atmosfogdistancescale = 9.2114; + var_00.atmosfogskydistance = 516977; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 5.53519; + var_00.atmosfogskyfalloffanglerange = 348.597; + var_00.atmosfogsundirection = (0.881624,-0.108345,0.459347); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 4481.58; + var_00.atmosfogheightfoghalfplanedistance = 1276.3; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb"); + var_00.startdist = 670.438; + var_00.halfwaydist = 2489.07; + var_00.red = 0.802175; + var_00.green = 0.697121; + var_00.blue = 0.750972; + var_00.hdrcolorintensity = 10.5; + var_00.maxopacity = 0.649765; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.484637,0.920391,0.255807); + var_00.atmosfoghazecolor = (1,0.778993,0.417681); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0322783; + var_00.atmosfogextinctionstrength = 0.916667; + var_00.atmosfoginscatterstrength = 17.3333; + var_00.atmosfoghalfplanedistance = 1640.34; + var_00.atmosfogstartdistance = 71.7805; + var_00.atmosfogdistancescale = 9.42623; + var_00.atmosfogskydistance = 24590; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (-0.474168,-0.865133,0.163429); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 1232.4; + var_00.red = 0.563022; + var_00.green = 0.920391; + var_00.blue = 0.375355; + var_00.hdrcolorintensity = 15.9699; + var_00.maxopacity = 0.870537; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.291899; + var_00.sungreen = 0.435754; + var_00.sunblue = 0.1819; + var_00.hdrsuncolorintensity = 16.6475; + var_00.sundir = (-0.546391,-0.14727,0.824481); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 36.694; + var_00.normalfogscale = 2.78604; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.484637,0.920391,0.255807); + var_00.atmosfoghazecolor = (1,0.778993,0.417681); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0322783; + var_00.atmosfogextinctionstrength = 0.916667; + var_00.atmosfoginscatterstrength = 16.3525; + var_00.atmosfoghalfplanedistance = 1640.34; + var_00.atmosfogstartdistance = 71.7805; + var_00.atmosfogdistancescale = 9.42623; + var_00.atmosfogskydistance = 24590; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (-0.474168,-0.865133,0.163429); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; + var_00 = maps\mp\_art::create_vision_set_fog("mp_laser2_cg"); + var_00.startdist = 1000; + var_00.halfwaydist = 80000; + var_00.red = 0.882353; + var_00.green = 0.92549; + var_00.blue = 0.94902; + var_00.hdrcolorintensity = 15.7643; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.584985; + var_00.sungreen = 0.601561; + var_00.sunblue = 0.420894; + var_00.hdrsuncolorintensity = 13.249; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 150; + var_00.normalfogscale = 0.125; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.961025,0.939155,0.918061); + var_00.atmosfoghazecolor = (0.854635,0.843753,0.833715); + var_00.atmosfoghazestrength = 0.0733538; + var_00.atmosfoghazespread = 0.00338919; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 19.4243; + var_00.atmosfoghalfplanedistance = 177384; + var_00.atmosfogstartdistance = 5096.75; + var_00.atmosfogdistancescale = 9.15421; + var_00.atmosfogskydistance = 263993; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -82.1234; + var_00.atmosfogskyfalloffanglerange = 38.0611; + var_00.atmosfogsundirection = (0.792736,-0.211463,0.571711); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 4481.58; + var_00.atmosfogheightfoghalfplanedistance = 1276.3; + var_00 = maps\mp\_art::create_vision_set_fog("mp_laser2_interior_cg"); + var_00.startdist = 1000; + var_00.halfwaydist = 80000; + var_00.red = 0.882353; + var_00.green = 0.92549; + var_00.blue = 0.94902; + var_00.hdrcolorintensity = 15.7643; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.584985; + var_00.sungreen = 0.601561; + var_00.sunblue = 0.420894; + var_00.hdrsuncolorintensity = 13.249; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 150; + var_00.normalfogscale = 0.125; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.961025,0.939155,0.918061); + var_00.atmosfoghazecolor = (0.854635,0.843753,0.833715); + var_00.atmosfoghazestrength = 0.0733538; + var_00.atmosfoghazespread = 0.00338919; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 19.4243; + var_00.atmosfoghalfplanedistance = 177384; + var_00.atmosfogstartdistance = 5096.75; + var_00.atmosfogdistancescale = 9.15421; + var_00.atmosfogskydistance = 263993; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -82.1234; + var_00.atmosfogskyfalloffanglerange = 38.0611; + var_00.atmosfogsundirection = (0.792736,-0.211463,0.571711); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 4481.58; + var_00.atmosfogheightfoghalfplanedistance = 1276.3; + var_00 = maps\mp\_art::create_vision_set_fog("generic_underwater_cg"); + var_00.startdist = 5; + var_00.halfwaydist = 200; + var_00.red = 0.74661; + var_00.green = 0.999995; + var_00.blue = 0.87276; + var_00.hdrcolorintensity = 13.3491; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.584985; + var_00.sungreen = 0.601561; + var_00.sunblue = 0.420894; + var_00.hdrsuncolorintensity = 13.249; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 150; + var_00.normalfogscale = 0.125; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.891419,0.891419,0.891419); + var_00.atmosfoghazecolor = (0.955511,0.955511,0.955511); + var_00.atmosfoghazestrength = 0.28436; + var_00.atmosfoghazespread = 0.362051; + var_00.atmosfogextinctionstrength = 0.786086; + var_00.atmosfoginscatterstrength = 18.8627; + var_00.atmosfoghalfplanedistance = 67166.8; + var_00.atmosfogstartdistance = 4764.43; + var_00.atmosfogdistancescale = 8.98823; + var_00.atmosfogskydistance = 30000; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -30.5422; + var_00.atmosfogskyfalloffanglerange = 77.2588; + var_00.atmosfogsundirection = (0.881624,-0.108345,0.459347); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 4481.58; + var_00.atmosfogheightfoghalfplanedistance = 1276.3; + var_00 = maps\mp\_art::create_vision_set_fog("mp_laser2_mid_cg"); + var_00.startdist = 1000; + var_00.halfwaydist = 80000; + var_00.red = 0.882353; + var_00.green = 0.92549; + var_00.blue = 0.94902; + var_00.hdrcolorintensity = 15.7643; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.584985; + var_00.sungreen = 0.601561; + var_00.sunblue = 0.420894; + var_00.hdrsuncolorintensity = 13.249; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 150; + var_00.normalfogscale = 0.125; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.961025,0.939155,0.918061); + var_00.atmosfoghazecolor = (0.854635,0.843753,0.833715); + var_00.atmosfoghazestrength = 0.0733538; + var_00.atmosfoghazespread = 0.00338919; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 19.4243; + var_00.atmosfoghalfplanedistance = 177384; + var_00.atmosfogstartdistance = 5096.75; + var_00.atmosfogdistancescale = 9.15421; + var_00.atmosfogskydistance = 263993; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -82.1234; + var_00.atmosfogskyfalloffanglerange = 38.0611; + var_00.atmosfogsundirection = (0.792736,-0.211463,0.571711); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 4481.58; + var_00.atmosfogheightfoghalfplanedistance = 1276.3; + var_00 = maps\mp\_art::create_vision_set_fog("mp_laser2_osp_cg"); + var_00.startdist = 1392.68; + var_00.halfwaydist = 8727.52; + var_00.red = 0.87037; + var_00.green = 0.923157; + var_00.blue = 0.975854; + var_00.hdrcolorintensity = 20.1906; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.584985; + var_00.sungreen = 0.601561; + var_00.sunblue = 0.420894; + var_00.hdrsuncolorintensity = 13.249; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 150; + var_00.normalfogscale = 0.125; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.961025,0.958042,0.913618); + var_00.atmosfoghazecolor = (0.730207,0.693009,0.658697); + var_00.atmosfoghazestrength = 0.00924057; + var_00.atmosfoghazespread = 0.08535; + var_00.atmosfogextinctionstrength = 0.725779; + var_00.atmosfoginscatterstrength = 17.8445; + var_00.atmosfoghalfplanedistance = 129236; + var_00.atmosfogstartdistance = 6773.61; + var_00.atmosfogdistancescale = 9.2114; + var_00.atmosfogskydistance = 516977; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 5.53519; + var_00.atmosfogskyfalloffanglerange = 348.597; + var_00.atmosfogsundirection = (0.881624,-0.108345,0.459347); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 4481.58; + var_00.atmosfogheightfoghalfplanedistance = 1276.3; + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 12.2088; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.584985; + var_00.sungreen = 0.601561; + var_00.sunblue = 0.420894; + var_00.hdrsuncolorintensity = 13.249; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 150; + var_00.normalfogscale = 0.125; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.891419,0.891419,0.891419); + var_00.atmosfoghazecolor = (0.955511,0.955511,0.955511); + var_00.atmosfoghazestrength = 0.28436; + var_00.atmosfoghazespread = 0.362051; + var_00.atmosfogextinctionstrength = 0.786086; + var_00.atmosfoginscatterstrength = 18.8627; + var_00.atmosfoghalfplanedistance = 67166.8; + var_00.atmosfogstartdistance = 431.43; + var_00.atmosfogdistancescale = 8.98823; + var_00.atmosfogskydistance = 30000; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -30.5422; + var_00.atmosfogskyfalloffanglerange = 77.2588; + var_00.atmosfogsundirection = (0.881624,-0.108345,0.459347); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 4481.58; + var_00.atmosfogheightfoghalfplanedistance = 1276.3; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_levity_art.gsc b/AW/PC/maps/createart/mp_levity_art.gsc new file mode 100644 index 0000000..b46d252 --- /dev/null +++ b/AW/PC/maps/createart/mp_levity_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_levity_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 2:06:55 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_levity_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_levity_fog::setupfog(); + } + + visionsetnaked("mp_levity",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_levity_fog.gsc b/AW/PC/maps/createart/mp_levity_fog.gsc new file mode 100644 index 0000000..64bca07 --- /dev/null +++ b/AW/PC/maps/createart/mp_levity_fog.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_levity_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:06:56 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_levity"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_levity_fog_hdr.gsc b/AW/PC/maps/createart/mp_levity_fog_hdr.gsc new file mode 100644 index 0000000..2d70eb6 --- /dev/null +++ b/AW/PC/maps/createart/mp_levity_fog_hdr.gsc @@ -0,0 +1,397 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_levity_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 50 ms + * Timestamp: 4/22/2024 2:06:56 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 12.2088; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.589472,0.741909,0.976563); + var_00.atmosfoghazecolor = (0.71582,0.828125,0.728939); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.46875; + var_00.atmosfogextinctionstrength = 0.976563; + var_00.atmosfoginscatterstrength = 19; + var_00.atmosfoghalfplanedistance = 82824; + var_00.atmosfogstartdistance = 1115.96; + var_00.atmosfogdistancescale = 1.875; + var_00.atmosfogskydistance = 34464; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.623563,-0.230032,0.747164); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 2304; + var_00.atmosfogheightfoghalfplanedistance = 833; + var_00 = maps\mp\_art::create_vision_set_fog("mp_levity"); + var_00.startdist = 2048; + var_00.halfwaydist = 74632; + var_00.red = 0.679688; + var_00.green = 0.84375; + var_00.blue = 0.960938; + var_00.hdrcolorintensity = 16.5; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0.554688; + var_00.skyfogminangle = 28; + var_00.skyfogmaxangle = 138; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.589472,0.741909,0.976563); + var_00.atmosfoghazecolor = (0.71582,0.828125,0.728939); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.46875; + var_00.atmosfogextinctionstrength = 0.976563; + var_00.atmosfoginscatterstrength = 19; + var_00.atmosfoghalfplanedistance = 82824; + var_00.atmosfogstartdistance = 1115.96; + var_00.atmosfogdistancescale = 1.875; + var_00.atmosfogskydistance = 34464; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.623563,-0.230032,0.747164); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 2304; + var_00.atmosfogheightfoghalfplanedistance = 833; + var_00 = maps\mp\_art::create_vision_set_fog("mp_levity_osp"); + var_00.startdist = 2048; + var_00.halfwaydist = 74632; + var_00.red = 0.679688; + var_00.green = 0.84375; + var_00.blue = 0.960938; + var_00.hdrcolorintensity = 16.5; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0.554688; + var_00.skyfogminangle = 28; + var_00.skyfogmaxangle = 138; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.589472,0.741909,0.976563); + var_00.atmosfoghazecolor = (0.71582,0.828125,0.728939); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.46875; + var_00.atmosfogextinctionstrength = 0.976563; + var_00.atmosfoginscatterstrength = 19; + var_00.atmosfoghalfplanedistance = 82824; + var_00.atmosfogstartdistance = 1115.96; + var_00.atmosfogdistancescale = 1.875; + var_00.atmosfogskydistance = 34464; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.623563,-0.230032,0.747164); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 2304; + var_00.atmosfogheightfoghalfplanedistance = 833; + var_00 = maps\mp\_art::create_vision_set_fog("mp_levity_warbird"); + var_00.startdist = 2048; + var_00.halfwaydist = 74632; + var_00.red = 0.679688; + var_00.green = 0.84375; + var_00.blue = 0.960938; + var_00.hdrcolorintensity = 16.5; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0.554688; + var_00.skyfogminangle = 28; + var_00.skyfogmaxangle = 138; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.589472,0.741909,0.976563); + var_00.atmosfoghazecolor = (0.71582,0.828125,0.728939); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.46875; + var_00.atmosfogextinctionstrength = 0.976563; + var_00.atmosfoginscatterstrength = 19; + var_00.atmosfoghalfplanedistance = 82824; + var_00.atmosfogstartdistance = 1115.96; + var_00.atmosfogdistancescale = 1.875; + var_00.atmosfogskydistance = 34464; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.623563,-0.230032,0.747164); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 2304; + var_00.atmosfogheightfoghalfplanedistance = 833; + var_00 = maps\mp\_art::create_vision_set_fog("mp_levity_drone"); + var_00.startdist = 2048; + var_00.halfwaydist = 74632; + var_00.red = 0.679688; + var_00.green = 0.84375; + var_00.blue = 0.960938; + var_00.hdrcolorintensity = 16.5; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0.554688; + var_00.skyfogminangle = 28; + var_00.skyfogmaxangle = 138; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.589472,0.741909,0.976563); + var_00.atmosfoghazecolor = (0.71582,0.828125,0.728939); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.46875; + var_00.atmosfogextinctionstrength = 0.976563; + var_00.atmosfoginscatterstrength = 19; + var_00.atmosfoghalfplanedistance = 82824; + var_00.atmosfogstartdistance = 1115.96; + var_00.atmosfogdistancescale = 1.875; + var_00.atmosfogskydistance = 34464; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.623563,-0.230032,0.747164); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 2304; + var_00.atmosfogheightfoghalfplanedistance = 833; + var_00 = maps\mp\_art::create_vision_set_fog("mp_levity_int"); + var_00.startdist = 2048; + var_00.halfwaydist = 74632; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 16.5; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0.554688; + var_00.skyfogminangle = 28; + var_00.skyfogmaxangle = 138; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.46875; + var_00.atmosfogextinctionstrength = 0.976563; + var_00.atmosfoginscatterstrength = 19; + var_00.atmosfoghalfplanedistance = 82824; + var_00.atmosfogstartdistance = 1115.96; + var_00.atmosfogdistancescale = 1.8; + var_00.atmosfogskydistance = 34464; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.623563,-0.230032,0.747164); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 2304; + var_00.atmosfogheightfoghalfplanedistance = 833; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb"); + var_00.startdist = 670.438; + var_00.halfwaydist = 2489.07; + var_00.red = 0.802175; + var_00.green = 0.697121; + var_00.blue = 0.750972; + var_00.hdrcolorintensity = 10.5; + var_00.maxopacity = 0.649765; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.484637,0.920391,0.255807); + var_00.atmosfoghazecolor = (1,0.778993,0.417681); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0322783; + var_00.atmosfogextinctionstrength = 0.916667; + var_00.atmosfoginscatterstrength = 19.5137; + var_00.atmosfoghalfplanedistance = 1640.34; + var_00.atmosfogstartdistance = 71.7805; + var_00.atmosfogdistancescale = 9.42623; + var_00.atmosfogskydistance = 24590; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (-0.474168,-0.865133,0.163429); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 1232.4; + var_00.red = 0.563022; + var_00.green = 0.920391; + var_00.blue = 0.375355; + var_00.hdrcolorintensity = 15.9699; + var_00.maxopacity = 0.870537; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.291899; + var_00.sungreen = 0.435754; + var_00.sunblue = 0.1819; + var_00.hdrsuncolorintensity = 16.6475; + var_00.sundir = (-0.546391,-0.14727,0.824481); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 36.694; + var_00.normalfogscale = 2.78604; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.484637,0.920391,0.255807); + var_00.atmosfoghazecolor = (1,0.778993,0.417681); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0322783; + var_00.atmosfogextinctionstrength = 0.916667; + var_00.atmosfoginscatterstrength = 16.3525; + var_00.atmosfoghalfplanedistance = 1640.34; + var_00.atmosfogstartdistance = 71.7805; + var_00.atmosfogdistancescale = 9.42623; + var_00.atmosfogskydistance = 24590; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (-0.474168,-0.865133,0.163429); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; + var_00 = maps\mp\_art::create_vision_set_fog("mp_levity_cg"); + var_00.startdist = 5913.09; + var_00.halfwaydist = 5838.19; + var_00.red = 0.595624; + var_00.green = 0.802827; + var_00.blue = 0.914234; + var_00.hdrcolorintensity = 14.7868; + var_00.maxopacity = 0.52563; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_liberty_art.gsc b/AW/PC/maps/createart/mp_liberty_art.gsc new file mode 100644 index 0000000..735f09a --- /dev/null +++ b/AW/PC/maps/createart/mp_liberty_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_liberty_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 2:06:57 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_liberty_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_liberty_fog::setupfog(); + } + + visionsetnaked("mp_liberty",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_liberty_fog.gsc b/AW/PC/maps/createart/mp_liberty_fog.gsc new file mode 100644 index 0000000..bade1b8 --- /dev/null +++ b/AW/PC/maps/createart/mp_liberty_fog.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_liberty_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:06:57 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_liberty"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_liberty_fog_hdr.gsc b/AW/PC/maps/createart/mp_liberty_fog_hdr.gsc new file mode 100644 index 0000000..e086671 --- /dev/null +++ b/AW/PC/maps/createart/mp_liberty_fog_hdr.gsc @@ -0,0 +1,454 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_liberty_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 46 ms + * Timestamp: 4/22/2024 2:06:57 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_liberty"); + var_00.startdist = 17346.3; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 14.029; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.714485,0.638834,0.774925); + var_00.atmosfoghazecolor = (0.171876,0.133882,0.11579); + var_00.atmosfoghazestrength = 0.625; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 0.218894; + var_00.atmosfoginscatterstrength = 16.4564; + var_00.atmosfoghalfplanedistance = 148.01; + var_00.atmosfogstartdistance = 900.973; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 40960; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 48; + var_00.atmosfogskyfalloffanglerange = 234; + var_00.atmosfogsundirection = (-0.440695,-0.876767,0.192529); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -2816; + var_00.atmosfogheightfoghalfplanedistance = 1089; + var_00 = maps\mp\_art::create_vision_set_fog("black_bw"); + var_00.startdist = 17346.3; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 14.029; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.632813,0.664063,0.863912); + var_00.atmosfoghazecolor = (0.171876,0.133882,0.11579); + var_00.atmosfoghazestrength = 0.625; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 0.218894; + var_00.atmosfoginscatterstrength = 16.7064; + var_00.atmosfoghalfplanedistance = 148.01; + var_00.atmosfogstartdistance = 628.953; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 40960; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 48; + var_00.atmosfogskyfalloffanglerange = 234; + var_00.atmosfogsundirection = (-0.0247787,-0.982493,0.184642); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -2816; + var_00.atmosfogheightfoghalfplanedistance = 1089; + var_00 = maps\mp\_art::create_vision_set_fog("mp_liberty_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 31351.1; + var_00.red = 0.631747; + var_00.green = 0.684387; + var_00.blue = 0.839835; + var_00.hdrcolorintensity = 12.3126; + var_00.maxopacity = 0.707835; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.714485,0.638834,0.774925); + var_00.atmosfoghazecolor = (0.171876,0.133882,0.11579); + var_00.atmosfoghazestrength = 0.625; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 0.218894; + var_00.atmosfoginscatterstrength = 16.4564; + var_00.atmosfoghalfplanedistance = 148.01; + var_00.atmosfogstartdistance = 746.973; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 40960; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 48; + var_00.atmosfogskyfalloffanglerange = 234; + var_00.atmosfogsundirection = (-0.440695,-0.876767,0.192529); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -2816; + var_00.atmosfogheightfoghalfplanedistance = 1089; + var_00 = maps\mp\_art::create_vision_set_fog("black_bw_cg"); + var_00.startdist = 17346.3; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 14.029; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.632813,0.664063,0.863912); + var_00.atmosfoghazecolor = (0.171876,0.133882,0.11579); + var_00.atmosfoghazestrength = 0.625; + var_00.atmosfoghazespread = 0.03125; + var_00.atmosfogextinctionstrength = 0.218894; + var_00.atmosfoginscatterstrength = 16.7064; + var_00.atmosfoghalfplanedistance = 148.01; + var_00.atmosfogstartdistance = 628.953; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 40960; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 48; + var_00.atmosfogskyfalloffanglerange = 234; + var_00.atmosfogsundirection = (-0.0247787,-0.982493,0.184642); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -2816; + var_00.atmosfogheightfoghalfplanedistance = 1089; + var_00 = maps\mp\_art::create_vision_set_fog("mp_liberty_underwater"); + var_00.startdist = 5; + var_00.halfwaydist = 200; + var_00.red = 0.74661; + var_00.green = 0.999995; + var_00.blue = 0.87276; + var_00.hdrcolorintensity = 13.3491; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.584985; + var_00.sungreen = 0.601561; + var_00.sunblue = 0.420894; + var_00.hdrsuncolorintensity = 13.249; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 150; + var_00.normalfogscale = 0.125; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.891419,0.891419,0.891419); + var_00.atmosfoghazecolor = (0.955511,0.955511,0.955511); + var_00.atmosfoghazestrength = 0.28436; + var_00.atmosfoghazespread = 0.362051; + var_00.atmosfogextinctionstrength = 0.786086; + var_00.atmosfoginscatterstrength = 18.8627; + var_00.atmosfoghalfplanedistance = 67166.8; + var_00.atmosfogstartdistance = 4764.43; + var_00.atmosfogdistancescale = 8.98823; + var_00.atmosfogskydistance = 30000; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -30.5422; + var_00.atmosfogskyfalloffanglerange = 77.2588; + var_00.atmosfogsundirection = (0.881624,-0.108345,0.459347); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 4481.58; + var_00.atmosfogheightfoghalfplanedistance = 1276.3; + var_00 = maps\mp\_art::create_vision_set_fog("mp_liberty_osp"); + var_00.startdist = 1392.68; + var_00.halfwaydist = 8727.52; + var_00.red = 0.87037; + var_00.green = 0.923157; + var_00.blue = 0.975854; + var_00.hdrcolorintensity = 20.1906; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.584985; + var_00.sungreen = 0.601561; + var_00.sunblue = 0.420894; + var_00.hdrsuncolorintensity = 13.249; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 150; + var_00.normalfogscale = 0.125; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.961025,0.958042,0.913618); + var_00.atmosfoghazecolor = (0.730207,0.693009,0.658697); + var_00.atmosfoghazestrength = 0.00924057; + var_00.atmosfoghazespread = 0.08535; + var_00.atmosfogextinctionstrength = 0.725779; + var_00.atmosfoginscatterstrength = 14.0945; + var_00.atmosfoghalfplanedistance = 129236; + var_00.atmosfogstartdistance = 6773.61; + var_00.atmosfogdistancescale = 9.2114; + var_00.atmosfogskydistance = 516977; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 5.53519; + var_00.atmosfogskyfalloffanglerange = 348.597; + var_00.atmosfogsundirection = (0.881624,-0.108345,0.459347); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 4481.58; + var_00.atmosfogheightfoghalfplanedistance = 1276.3; + var_00 = maps\mp\_art::create_vision_set_fog("mp_liberty_drone"); + var_00.startdist = 1392.68; + var_00.halfwaydist = 8727.52; + var_00.red = 0.87037; + var_00.green = 0.923157; + var_00.blue = 0.975854; + var_00.hdrcolorintensity = 20.1906; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.584985; + var_00.sungreen = 0.601561; + var_00.sunblue = 0.420894; + var_00.hdrsuncolorintensity = 13.249; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 150; + var_00.normalfogscale = 0.125; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.961025,0.958042,0.913618); + var_00.atmosfoghazecolor = (0.730207,0.693009,0.658697); + var_00.atmosfoghazestrength = 0.00924057; + var_00.atmosfoghazespread = 0.08535; + var_00.atmosfogextinctionstrength = 0.725779; + var_00.atmosfoginscatterstrength = 14.0945; + var_00.atmosfoghalfplanedistance = 129236; + var_00.atmosfogstartdistance = 6773.61; + var_00.atmosfogdistancescale = 9.2114; + var_00.atmosfogskydistance = 516977; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 5.53519; + var_00.atmosfogskyfalloffanglerange = 348.597; + var_00.atmosfogsundirection = (0.881624,-0.108345,0.459347); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 4481.58; + var_00.atmosfogheightfoghalfplanedistance = 1276.3; + var_00 = maps\mp\_art::create_vision_set_fog("mp_liberty_warbird"); + var_00.startdist = 1392.68; + var_00.halfwaydist = 8727.52; + var_00.red = 0.87037; + var_00.green = 0.923157; + var_00.blue = 0.975854; + var_00.hdrcolorintensity = 20.1906; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.584985; + var_00.sungreen = 0.601561; + var_00.sunblue = 0.420894; + var_00.hdrsuncolorintensity = 13.249; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 150; + var_00.normalfogscale = 0.125; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.961025,0.958042,0.913618); + var_00.atmosfoghazecolor = (0.730207,0.693009,0.658697); + var_00.atmosfoghazestrength = 0.00924057; + var_00.atmosfoghazespread = 0.08535; + var_00.atmosfogextinctionstrength = 0.725779; + var_00.atmosfoginscatterstrength = 14.0945; + var_00.atmosfoghalfplanedistance = 129236; + var_00.atmosfogstartdistance = 6773.61; + var_00.atmosfogdistancescale = 9.2114; + var_00.atmosfogskydistance = 516977; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 5.53519; + var_00.atmosfogskyfalloffanglerange = 348.597; + var_00.atmosfogsundirection = (0.881624,-0.108345,0.459347); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 4481.58; + var_00.atmosfogheightfoghalfplanedistance = 1276.3; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb"); + var_00.startdist = 670.438; + var_00.halfwaydist = 2489.07; + var_00.red = 0.802175; + var_00.green = 0.697121; + var_00.blue = 0.750972; + var_00.hdrcolorintensity = 10.5; + var_00.maxopacity = 0.649765; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.30495,0.992188,0.0390625); + var_00.atmosfoghazecolor = (0.328125,1,0); + var_00.atmosfoghazestrength = 0.359375; + var_00.atmosfoghazespread = 0.8125; + var_00.atmosfogextinctionstrength = 0.28125; + var_00.atmosfoginscatterstrength = 20.8333; + var_00.atmosfoghalfplanedistance = 2049; + var_00.atmosfogstartdistance = -1000; + var_00.atmosfogdistancescale = 5.25; + var_00.atmosfogskydistance = 294912; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 39; + var_00.atmosfogskyfalloffanglerange = 300; + var_00.atmosfogsundirection = (-0.123593,0.540679,0.8321); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = -346.354; + var_00.atmosfogheightfoghalfplanedistance = 1665; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 45.2901; + var_00.red = 0.563022; + var_00.green = 0.920391; + var_00.blue = 0.375355; + var_00.hdrcolorintensity = 15.2199; + var_00.maxopacity = 0.612724; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = -2; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = -16; + var_00.heightfoghalfplanedistance = 6696; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.484637,0.920391,0.255807); + var_00.atmosfoghazecolor = (1,0.778993,0.417681); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0322783; + var_00.atmosfogextinctionstrength = 0.916667; + var_00.atmosfoginscatterstrength = 16.3525; + var_00.atmosfoghalfplanedistance = 1640.34; + var_00.atmosfogstartdistance = 71.7805; + var_00.atmosfogdistancescale = 9.42623; + var_00.atmosfogskydistance = 24590; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (-0.474168,-0.865133,0.163429); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 12.2088; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_lost_art.gsc b/AW/PC/maps/createart/mp_lost_art.gsc new file mode 100644 index 0000000..b133849 --- /dev/null +++ b/AW/PC/maps/createart/mp_lost_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_lost_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:06:58 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_lost_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_lost_fog::setupfog(); + } + + visionsetnaked("mp_lost",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_lost_fog.gsc b/AW/PC/maps/createart/mp_lost_fog.gsc new file mode 100644 index 0000000..4d8ee52 --- /dev/null +++ b/AW/PC/maps/createart/mp_lost_fog.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_lost_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 47 ms + * Timestamp: 4/22/2024 2:06:58 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_lost"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_lost_fog_hdr.gsc b/AW/PC/maps/createart/mp_lost_fog_hdr.gsc new file mode 100644 index 0000000..9099150 --- /dev/null +++ b/AW/PC/maps/createart/mp_lost_fog_hdr.gsc @@ -0,0 +1,481 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_lost_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 49 ms + * Timestamp: 4/22/2024 2:06:58 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_lost"); + var_00.startdist = 0; + var_00.halfwaydist = 7418.08; + var_00.red = 1; + var_00.green = 0.844371; + var_00.blue = 0.685733; + var_00.hdrcolorintensity = 13.7051; + var_00.maxopacity = 0.9121; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,0.804688); + var_00.atmosfoghazecolor = (1,1,0.851563); + var_00.atmosfoghazestrength = 0.515625; + var_00.atmosfoghazespread = 0.99; + var_00.atmosfogextinctionstrength = 0.143128; + var_00.atmosfoginscatterstrength = 26; + var_00.atmosfoghalfplanedistance = 17186.5; + var_00.atmosfogstartdistance = 2272.8; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 3; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -40; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (-0.0884385,0.545809,0.833229); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 52.3636; + var_00.atmosfogheightfoghalfplanedistance = 146.876; + var_00 = maps\mp\_art::create_vision_set_fog("mp_lost_cg"); + var_00.startdist = 568.51; + var_00.halfwaydist = 8476.22; + var_00.red = 0.698622; + var_00.green = 0.657756; + var_00.blue = 0.607132; + var_00.hdrcolorintensity = 14.75; + var_00.maxopacity = 0.963355; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,0.804688); + var_00.atmosfoghazecolor = (1,1,0.851563); + var_00.atmosfoghazestrength = 0.515625; + var_00.atmosfoghazespread = 0.99; + var_00.atmosfogextinctionstrength = 0.143128; + var_00.atmosfoginscatterstrength = 26; + var_00.atmosfoghalfplanedistance = 17186.5; + var_00.atmosfogstartdistance = 2272.8; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 3; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -40; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (-0.0884385,0.545809,0.833229); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 52.3636; + var_00.atmosfogheightfoghalfplanedistance = 146.876; + var_00 = maps\mp\_art::create_vision_set_fog("mp_lost_osp"); + var_00.startdist = 1392.68; + var_00.halfwaydist = 8727.52; + var_00.red = 0.87037; + var_00.green = 0.923157; + var_00.blue = 0.975854; + var_00.hdrcolorintensity = 20.1906; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.961025,0.958042,0.913618); + var_00.atmosfoghazecolor = (0.730207,0.693009,0.658697); + var_00.atmosfoghazestrength = 0.00924057; + var_00.atmosfoghazespread = 0.08535; + var_00.atmosfogextinctionstrength = 0.725779; + var_00.atmosfoginscatterstrength = 15.5945; + var_00.atmosfoghalfplanedistance = 129236; + var_00.atmosfogstartdistance = 6773.61; + var_00.atmosfogdistancescale = 9.2114; + var_00.atmosfogskydistance = 516977; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 5.53519; + var_00.atmosfogskyfalloffanglerange = 348.597; + var_00.atmosfogsundirection = (0.881624,-0.108345,0.459347); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 4481.58; + var_00.atmosfogheightfoghalfplanedistance = 1276.3; + var_00 = maps\mp\_art::create_vision_set_fog("mp_lost_osp_cg"); + var_00.startdist = 1392.68; + var_00.halfwaydist = 8727.52; + var_00.red = 0.87037; + var_00.green = 0.923157; + var_00.blue = 0.975854; + var_00.hdrcolorintensity = 20.1906; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.584985; + var_00.sungreen = 0.601561; + var_00.sunblue = 0.420894; + var_00.hdrsuncolorintensity = 13.249; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 150; + var_00.normalfogscale = 0.125; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.961025,0.958042,0.913618); + var_00.atmosfoghazecolor = (0.730207,0.693009,0.658697); + var_00.atmosfoghazestrength = 0.00924057; + var_00.atmosfoghazespread = 0.08535; + var_00.atmosfogextinctionstrength = 0.725779; + var_00.atmosfoginscatterstrength = 16.8445; + var_00.atmosfoghalfplanedistance = 129236; + var_00.atmosfogstartdistance = 6773.61; + var_00.atmosfogdistancescale = 9.2114; + var_00.atmosfogskydistance = 516977; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 5.53519; + var_00.atmosfogskyfalloffanglerange = 348.597; + var_00.atmosfogsundirection = (0.881624,-0.108345,0.459347); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 4481.58; + var_00.atmosfogheightfoghalfplanedistance = 1276.3; + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 12.2088; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (1,1,0.804688); + var_00.atmosfoghazecolor = (1,1,0.851563); + var_00.atmosfoghazestrength = 0.515625; + var_00.atmosfoghazespread = 1; + var_00.atmosfogextinctionstrength = 0.143128; + var_00.atmosfoginscatterstrength = 26; + var_00.atmosfoghalfplanedistance = 17186.5; + var_00.atmosfogstartdistance = 2272.8; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 3; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -40; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (-0.0884385,0.545809,0.833229); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 52.3636; + var_00.atmosfogheightfoghalfplanedistance = 146.876; + var_00 = maps\mp\_art::create_vision_set_fog("generic_underwater"); + var_00.startdist = 5; + var_00.halfwaydist = 10; + var_00.red = 1; + var_00.green = 0.64062; + var_00.blue = 0.161822; + var_00.hdrcolorintensity = 13.3491; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.584985; + var_00.sungreen = 0.601561; + var_00.sunblue = 0.420894; + var_00.hdrsuncolorintensity = 13.249; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 126; + var_00.normalfogscale = 0.125; + var_00.skyfogintensity = 0.75; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.891419,0.891419,0.891419); + var_00.atmosfoghazecolor = (0.955511,0.955511,0.955511); + var_00.atmosfoghazestrength = 0.28436; + var_00.atmosfoghazespread = 0.362051; + var_00.atmosfogextinctionstrength = 0.786086; + var_00.atmosfoginscatterstrength = 18.8627; + var_00.atmosfoghalfplanedistance = 67166.8; + var_00.atmosfogstartdistance = 4764.43; + var_00.atmosfogdistancescale = 8.98823; + var_00.atmosfogskydistance = 30000; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -30.5422; + var_00.atmosfogskyfalloffanglerange = 77.2588; + var_00.atmosfogsundirection = (0.881624,-0.108345,0.459347); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 4481.58; + var_00.atmosfogheightfoghalfplanedistance = 1276.3; + var_00 = maps\mp\_art::create_vision_set_fog("generic_underwater_cg"); + var_00.startdist = 5; + var_00.halfwaydist = 10; + var_00.red = 1; + var_00.green = 0.64062; + var_00.blue = 0.161822; + var_00.hdrcolorintensity = 13.3491; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.584985; + var_00.sungreen = 0.601561; + var_00.sunblue = 0.420894; + var_00.hdrsuncolorintensity = 13.249; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 126; + var_00.normalfogscale = 0.125; + var_00.skyfogintensity = 0.75; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.891419,0.891419,0.891419); + var_00.atmosfoghazecolor = (0.955511,0.955511,0.955511); + var_00.atmosfoghazestrength = 0.28436; + var_00.atmosfoghazespread = 0.362051; + var_00.atmosfogextinctionstrength = 0.786086; + var_00.atmosfoginscatterstrength = 18.8627; + var_00.atmosfoghalfplanedistance = 67166.8; + var_00.atmosfogstartdistance = 4764.43; + var_00.atmosfogdistancescale = 8.98823; + var_00.atmosfogskydistance = 30000; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -30.5422; + var_00.atmosfogskyfalloffanglerange = 77.2588; + var_00.atmosfogsundirection = (0.881624,-0.108345,0.459347); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 4481.58; + var_00.atmosfogheightfoghalfplanedistance = 1276.3; + var_00 = maps\mp\_art::create_vision_set_fog("generic_underwater_purp"); + var_00.startdist = 0; + var_00.halfwaydist = 32.8088; + var_00.red = 0.736301; + var_00.green = 0.456406; + var_00.blue = 0.627854; + var_00.hdrcolorintensity = 12.0527; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.453196; + var_00.sungreen = 0.201765; + var_00.sunblue = 0.22625; + var_00.hdrsuncolorintensity = 9.93274; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 55.5863; + var_00.sunendfadeangle = 100.333; + var_00.normalfogscale = 0.515695; + var_00.skyfogintensity = 0.991031; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (1,0,0); + var_00.atmosfoghazecolor = (0,1,0); + var_00.atmosfoghazestrength = 0.28436; + var_00.atmosfoghazespread = 0.362051; + var_00.atmosfogextinctionstrength = 0.786086; + var_00.atmosfoginscatterstrength = 18.8627; + var_00.atmosfoghalfplanedistance = 67166.8; + var_00.atmosfogstartdistance = 5227.58; + var_00.atmosfogdistancescale = 8.98823; + var_00.atmosfogskydistance = 30000; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -30.5422; + var_00.atmosfogskyfalloffanglerange = 77.2588; + var_00.atmosfogsundirection = (0.881624,-0.108345,0.459347); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 4481.58; + var_00.atmosfogheightfoghalfplanedistance = 1276.3; + var_00 = maps\mp\_art::create_vision_set_fog("generic_underwater_purp_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 32.8088; + var_00.red = 0.736301; + var_00.green = 0.456406; + var_00.blue = 0.627854; + var_00.hdrcolorintensity = 12.0527; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.453196; + var_00.sungreen = 0.201765; + var_00.sunblue = 0.22625; + var_00.hdrsuncolorintensity = 9.93274; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 55.5863; + var_00.sunendfadeangle = 100.333; + var_00.normalfogscale = 0.515695; + var_00.skyfogintensity = 0.991031; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (1,0,0); + var_00.atmosfoghazecolor = (0,1,0); + var_00.atmosfoghazestrength = 0.28436; + var_00.atmosfoghazespread = 0.362051; + var_00.atmosfogextinctionstrength = 0.786086; + var_00.atmosfoginscatterstrength = 18.8627; + var_00.atmosfoghalfplanedistance = 67166.8; + var_00.atmosfogstartdistance = 5227.58; + var_00.atmosfogdistancescale = 8.98823; + var_00.atmosfogskydistance = 30000; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -30.5422; + var_00.atmosfogskyfalloffanglerange = 77.2588; + var_00.atmosfogsundirection = (0.881624,-0.108345,0.459347); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 4481.58; + var_00.atmosfogheightfoghalfplanedistance = 1276.3; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb"); + var_00.startdist = 670.438; + var_00.halfwaydist = 2489.07; + var_00.red = 0.802175; + var_00.green = 0.697121; + var_00.blue = 0.750972; + var_00.hdrcolorintensity = 10.5; + var_00.maxopacity = 0.649765; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.30495,0.992188,0.0390625); + var_00.atmosfoghazecolor = (0.328125,1,0); + var_00.atmosfoghazestrength = 0.359375; + var_00.atmosfoghazespread = 0.8125; + var_00.atmosfogextinctionstrength = 0.28125; + var_00.atmosfoginscatterstrength = 20.8333; + var_00.atmosfoghalfplanedistance = 2049; + var_00.atmosfogstartdistance = -1000; + var_00.atmosfogdistancescale = 5.25; + var_00.atmosfogskydistance = 294912; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 39; + var_00.atmosfogskyfalloffanglerange = 300; + var_00.atmosfogsundirection = (-0.123593,0.540679,0.8321); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = -346.354; + var_00.atmosfogheightfoghalfplanedistance = 1665; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 45.2901; + var_00.red = 0.563022; + var_00.green = 0.920391; + var_00.blue = 0.375355; + var_00.hdrcolorintensity = 15.2199; + var_00.maxopacity = 0.612724; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = -2; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = -16; + var_00.heightfoghalfplanedistance = 6696; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.484637,0.920391,0.255807); + var_00.atmosfoghazecolor = (1,0.778993,0.417681); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0322783; + var_00.atmosfogextinctionstrength = 0.916667; + var_00.atmosfoginscatterstrength = 16.3525; + var_00.atmosfoghalfplanedistance = 1640.34; + var_00.atmosfogstartdistance = 71.7805; + var_00.atmosfogdistancescale = 9.42623; + var_00.atmosfogskydistance = 24590; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (-0.474168,-0.865133,0.163429); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_perplex_1_art.gsc b/AW/PC/maps/createart/mp_perplex_1_art.gsc new file mode 100644 index 0000000..b2adb79 --- /dev/null +++ b/AW/PC/maps/createart/mp_perplex_1_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_perplex_1_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 2:06:59 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_perplex_1_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_perplex_1_fog::setupfog(); + } + + visionsetnaked("mp_perplex_1",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_perplex_1_fog.gsc b/AW/PC/maps/createart/mp_perplex_1_fog.gsc new file mode 100644 index 0000000..d0537e0 --- /dev/null +++ b/AW/PC/maps/createart/mp_perplex_1_fog.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_perplex_1_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:06:59 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_perplex_1"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_perplex_1_fog_hdr.gsc b/AW/PC/maps/createart/mp_perplex_1_fog_hdr.gsc new file mode 100644 index 0000000..dc1f54c --- /dev/null +++ b/AW/PC/maps/createart/mp_perplex_1_fog_hdr.gsc @@ -0,0 +1,145 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_perplex_1_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:06:59 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_perplex_1"); + var_00.startdist = 3764.17; + var_00.halfwaydist = 64447; + var_00.red = 0; + var_00.green = 0; + var_00.blue = 0; + var_00.hdrcolorintensity = 1; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.469932,0.625251,0.83676); + var_00.atmosfoghazecolor = (0.568226,0.671186,0.746161); + var_00.atmosfoghazestrength = 0.577555; + var_00.atmosfoghazespread = 0.795437; + var_00.atmosfogextinctionstrength = 0.763293; + var_00.atmosfoginscatterstrength = 18.5055; + var_00.atmosfoghalfplanedistance = 178370; + var_00.atmosfogstartdistance = 3842.45; + var_00.atmosfogdistancescale = 4.95186; + var_00.atmosfogskydistance = 9245; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -56.199; + var_00.atmosfogskyfalloffanglerange = 216.127; + var_00.atmosfogsundirection = (0.124871,0.989631,-0.0709827); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 1341.25; + var_00.atmosfogheightfoghalfplanedistance = 9224.48; + var_00 = maps\mp\_art::create_vision_set_fog("mp_perplex_1_cg"); + var_00.startdist = 8500; + var_00.halfwaydist = 15000; + var_00.red = 0.4; + var_00.green = 0.51; + var_00.blue = 0.721; + var_00.hdrcolorintensity = 17.234; + var_00.maxopacity = 0.98; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.372977,0.470068,0.617505); + var_00.atmosfoghazecolor = (0.535814,0.64177,0.747756); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.466405; + var_00.atmosfogextinctionstrength = 0.418555; + var_00.atmosfoginscatterstrength = 20.2722; + var_00.atmosfoghalfplanedistance = 154105; + var_00.atmosfogstartdistance = 12189; + var_00.atmosfogdistancescale = 6.22972; + var_00.atmosfogskydistance = 9245; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -56.199; + var_00.atmosfogskyfalloffanglerange = 216.127; + var_00.atmosfogsundirection = (0.124871,0.989631,-0.0709827); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = -3274.9; + var_00.atmosfogheightfoghalfplanedistance = 2229.34; + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 2000000000; + var_00.halfwaydist = 2000000001; + var_00.red = 0; + var_00.green = 0; + var_00.blue = 0; + var_00.hdrcolorintensity = 1; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.557561,0.671111,0.854297); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0; + var_00.atmosfogextinctionstrength = 0.751259; + var_00.atmosfoginscatterstrength = 15.5178; + var_00.atmosfoghalfplanedistance = 96473.1; + var_00.atmosfogstartdistance = 2395.82; + var_00.atmosfogdistancescale = 3.3968; + var_00.atmosfogskydistance = 33522; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -72.241; + var_00.atmosfogskyfalloffanglerange = 113.177; + var_00.atmosfogsundirection = (0.521951,0.633078,0.571646); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_prison_art.gsc b/AW/PC/maps/createart/mp_prison_art.gsc new file mode 100644 index 0000000..f53f820 --- /dev/null +++ b/AW/PC/maps/createart/mp_prison_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_prison_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 29 ms + * Timestamp: 4/22/2024 2:07:00 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_prison_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_prison_fog::setupfog(); + } + + visionsetnaked("mp_prison",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_prison_fog.gsc b/AW/PC/maps/createart/mp_prison_fog.gsc new file mode 100644 index 0000000..0267032 --- /dev/null +++ b/AW/PC/maps/createart/mp_prison_fog.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_prison_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:07:00 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_prison"); + var_00.startdist = 993.748; + var_00.halfwaydist = 5378.7; + var_00.red = 0.329026; + var_00.green = 0.251596; + var_00.blue = 0.202793; + var_00.maxopacity = 0.261429; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_prison_fog_hdr.gsc b/AW/PC/maps/createart/mp_prison_fog_hdr.gsc new file mode 100644 index 0000000..a61672b --- /dev/null +++ b/AW/PC/maps/createart/mp_prison_fog_hdr.gsc @@ -0,0 +1,286 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_prison_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 48 ms + * Timestamp: 4/22/2024 2:07:01 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_prison"); + var_00.startdist = 670.438; + var_00.halfwaydist = 2489.07; + var_00.red = 0.802175; + var_00.green = 0.697121; + var_00.blue = 0.750972; + var_00.hdrcolorintensity = 10.5; + var_00.maxopacity = 0.649765; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.992188,0.90625,0.757813); + var_00.atmosfoghazecolor = (1,0.778993,0.417681); + var_00.atmosfoghazestrength = 0.132813; + var_00.atmosfoghazespread = 0.0322783; + var_00.atmosfogextinctionstrength = 0.5625; + var_00.atmosfoginscatterstrength = 16.5906; + var_00.atmosfoghalfplanedistance = 13314.1; + var_00.atmosfogstartdistance = 780.828; + var_00.atmosfogdistancescale = 2.02107; + var_00.atmosfogskydistance = 41977; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (-0.474168,-0.865133,0.163429); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; + var_00 = maps\mp\_art::create_vision_set_fog("mp_prison_interior"); + var_00.startdist = 346.359; + var_00.halfwaydist = 1911.88; + var_00.red = 1; + var_00.green = 0.953587; + var_00.blue = 0.730893; + var_00.hdrcolorintensity = 7.77; + var_00.maxopacity = 0.649765; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.859708,0.782471,0.709279); + var_00.atmosfoghazecolor = (0.733382,0.708628,0.624967); + var_00.atmosfoghazestrength = 1; + var_00.atmosfoghazespread = 0.390625; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 21.0475; + var_00.atmosfoghalfplanedistance = 6981.64; + var_00.atmosfogstartdistance = 1233.8; + var_00.atmosfogdistancescale = 5.8125; + var_00.atmosfogskydistance = 12862; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -29.5382; + var_00.atmosfogskyfalloffanglerange = 10.673; + var_00.atmosfogsundirection = (-0.018989,-0.967527,0.252055); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -5617.23; + var_00.atmosfogheightfoghalfplanedistance = 784; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb"); + var_00.startdist = 670.438; + var_00.halfwaydist = 2489.07; + var_00.red = 0.802175; + var_00.green = 0.697121; + var_00.blue = 0.750972; + var_00.hdrcolorintensity = 10.5; + var_00.maxopacity = 0.649765; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.484637,0.920391,0.255807); + var_00.atmosfoghazecolor = (1,0.778993,0.417681); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0322783; + var_00.atmosfogextinctionstrength = 0.916667; + var_00.atmosfoginscatterstrength = 16.3525; + var_00.atmosfoghalfplanedistance = 1640.34; + var_00.atmosfogstartdistance = 71.7805; + var_00.atmosfogdistancescale = 9.42623; + var_00.atmosfogskydistance = 24590; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (-0.474168,-0.865133,0.163429); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 1232.4; + var_00.red = 0.563022; + var_00.green = 0.920391; + var_00.blue = 0.375355; + var_00.hdrcolorintensity = 15.9699; + var_00.maxopacity = 0.870537; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.291899; + var_00.sungreen = 0.435754; + var_00.sunblue = 0.1819; + var_00.hdrsuncolorintensity = 16.6475; + var_00.sundir = (-0.546391,-0.14727,0.824481); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 36.694; + var_00.normalfogscale = 2.78604; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.484637,0.920391,0.255807); + var_00.atmosfoghazecolor = (1,0.778993,0.417681); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0322783; + var_00.atmosfogextinctionstrength = 0.916667; + var_00.atmosfoginscatterstrength = 16.3525; + var_00.atmosfoghalfplanedistance = 1640.34; + var_00.atmosfogstartdistance = 71.7805; + var_00.atmosfogdistancescale = 9.42623; + var_00.atmosfogskydistance = 24590; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (-0.474168,-0.865133,0.163429); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; + var_00 = maps\mp\_art::create_vision_set_fog("mp_prison_cg"); + var_00.startdist = 955.748; + var_00.halfwaydist = 3839.39; + var_00.red = 0.750265; + var_00.green = 0.710446; + var_00.blue = 0.644162; + var_00.hdrcolorintensity = 9.0643; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_prison_interior_cg"); + var_00.startdist = 955.748; + var_00.halfwaydist = 3839.39; + var_00.red = 0.8178; + var_00.green = 0.7107; + var_00.blue = 0.7656; + var_00.hdrcolorintensity = 10.5; + var_00.maxopacity = 0.649765; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 12.2088; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_recovery_art.gsc b/AW/PC/maps/createart/mp_recovery_art.gsc new file mode 100644 index 0000000..95ac481 --- /dev/null +++ b/AW/PC/maps/createart/mp_recovery_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_recovery_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 37 ms + * Timestamp: 4/22/2024 2:07:01 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_recovery_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_recovery_fog::setupfog(); + } + + visionsetnaked("mp_recovery",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_recovery_fog.gsc b/AW/PC/maps/createart/mp_recovery_fog.gsc new file mode 100644 index 0000000..68d0f2c --- /dev/null +++ b/AW/PC/maps/createart/mp_recovery_fog.gsc @@ -0,0 +1,37 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_recovery_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 2:07:01 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_recovery"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00 = maps\mp\_art::create_vision_set_fog("poison_gas"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_recovery_fog_hdr.gsc b/AW/PC/maps/createart/mp_recovery_fog_hdr.gsc new file mode 100644 index 0000000..45c9a6e --- /dev/null +++ b/AW/PC/maps/createart/mp_recovery_fog_hdr.gsc @@ -0,0 +1,454 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_recovery_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 46 ms + * Timestamp: 4/22/2024 2:07:02 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_recovery"); + var_00.startdist = 8574.61; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 16.1053; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.542536,0.728916,0.984167); + var_00.atmosfoghazecolor = (0.481452,0.68751,0.858319); + var_00.atmosfoghazestrength = 0.306074; + var_00.atmosfoghazespread = 0.48213; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 20.8513; + var_00.atmosfoghalfplanedistance = 185733; + var_00.atmosfogstartdistance = 8537.85; + var_00.atmosfogdistancescale = 4.98959; + var_00.atmosfogskydistance = 4503; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -49.767; + var_00.atmosfogskyfalloffanglerange = 61.9999; + var_00.atmosfogsundirection = (0.0906647,-0.170486,0.98118); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -4383.85; + var_00.atmosfogheightfoghalfplanedistance = 2590.56; + var_00 = maps\mp\_art::create_vision_set_fog("mp_recovery_b"); + var_00.startdist = 9086.61; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 16.1053; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.151062,0.306365,0.500976); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0399045; + var_00.atmosfogextinctionstrength = 0.630971; + var_00.atmosfoginscatterstrength = 18.1648; + var_00.atmosfoghalfplanedistance = 18395.9; + var_00.atmosfogstartdistance = 3321.11; + var_00.atmosfogdistancescale = 2.29389; + var_00.atmosfogskydistance = 79135; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -48.3518; + var_00.atmosfogskyfalloffanglerange = 158.55; + var_00.atmosfogsundirection = (0.751941,0.583464,0.306846); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 4054.98; + var_00.atmosfogheightfoghalfplanedistance = 3749.81; + var_00 = maps\mp\_art::create_vision_set_fog("mp_recovery_post"); + var_00.startdist = 9086.61; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 16.1053; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.82093,0.807553,0.619587); + var_00.atmosfoghazecolor = (0.54891,0.546546,0.250224); + var_00.atmosfoghazestrength = 0.468297; + var_00.atmosfoghazespread = 0.035982; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 23.7; + var_00.atmosfoghalfplanedistance = 96562.1; + var_00.atmosfogstartdistance = 241.803; + var_00.atmosfogdistancescale = 0.461619; + var_00.atmosfogskydistance = 128751; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -82.4759; + var_00.atmosfogskyfalloffanglerange = 213.773; + var_00.atmosfogsundirection = (0.705549,0.543144,0.455188); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -2853.48; + var_00.atmosfogheightfoghalfplanedistance = 1029.03; + var_00 = maps\mp\_art::create_vision_set_fog("poison_gas"); + var_00.startdist = 0; + var_00.halfwaydist = 2049; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 16.1053; + var_00.maxopacity = 0.375; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.401493,0.727799,0.374929); + var_00.atmosfoghazecolor = (0.380729,0.469112,0.320673); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.587452; + var_00.atmosfogextinctionstrength = 0.708175; + var_00.atmosfoginscatterstrength = 15.6236; + var_00.atmosfoghalfplanedistance = 286.17; + var_00.atmosfogstartdistance = 248.099; + var_00.atmosfogdistancescale = 2.96578; + var_00.atmosfogskydistance = 153992; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -2.43056; + var_00.atmosfogskyfalloffanglerange = 71.8547; + var_00.atmosfogsundirection = (0.881182,0.272293,0.386489); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 3536.6; + var_00.atmosfogheightfoghalfplanedistance = 6329.3; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb"); + var_00.startdist = 670.438; + var_00.halfwaydist = 2489.07; + var_00.red = 0.802175; + var_00.green = 0.697121; + var_00.blue = 0.750972; + var_00.hdrcolorintensity = 10.5; + var_00.maxopacity = 0.649765; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.484637,0.920391,0.255807); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0322783; + var_00.atmosfogextinctionstrength = 0.916667; + var_00.atmosfoginscatterstrength = 19.306; + var_00.atmosfoghalfplanedistance = 1640.34; + var_00.atmosfogstartdistance = 71.7805; + var_00.atmosfogdistancescale = 9.42623; + var_00.atmosfogskydistance = 24590; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (-0.474168,-0.865133,0.163429); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 1232.4; + var_00.red = 0.563022; + var_00.green = 0.920391; + var_00.blue = 0.375355; + var_00.hdrcolorintensity = 15.9699; + var_00.maxopacity = 0.870537; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.291899; + var_00.sungreen = 0.435754; + var_00.sunblue = 0.1819; + var_00.hdrsuncolorintensity = 16.6475; + var_00.sundir = (-0.546391,-0.14727,0.824481); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 36.694; + var_00.normalfogscale = 2.78604; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.484637,0.920391,0.255807); + var_00.atmosfoghazecolor = (1,0.778993,0.417681); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0322783; + var_00.atmosfogextinctionstrength = 0.916667; + var_00.atmosfoginscatterstrength = 16.3525; + var_00.atmosfoghalfplanedistance = 1640.34; + var_00.atmosfogstartdistance = 71.7805; + var_00.atmosfogdistancescale = 9.42623; + var_00.atmosfogskydistance = 24590; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (-0.474168,-0.865133,0.163429); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; + var_00 = maps\mp\_art::create_vision_set_fog("mp_recovery_cg"); + var_00.startdist = 9086.61; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 16.1053; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.630515,0.844624,0.980895); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0399045; + var_00.atmosfogextinctionstrength = 0.681299; + var_00.atmosfoginscatterstrength = 19.3113; + var_00.atmosfoghalfplanedistance = 102590; + var_00.atmosfogstartdistance = 25793.2; + var_00.atmosfogdistancescale = 1.21885; + var_00.atmosfogskydistance = 133021; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -3.02394; + var_00.atmosfogskyfalloffanglerange = 12; + var_00.atmosfogsundirection = (0.751941,0.583464,0.306846); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 4054.98; + var_00.atmosfogheightfoghalfplanedistance = 3749.81; + var_00 = maps\mp\_art::create_vision_set_fog("mp_recovery_b_cg"); + var_00.startdist = 9086.61; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 16.1053; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.630515,0.844624,0.980895); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0399045; + var_00.atmosfogextinctionstrength = 0.681299; + var_00.atmosfoginscatterstrength = 19.3113; + var_00.atmosfoghalfplanedistance = 102590; + var_00.atmosfogstartdistance = 25793.2; + var_00.atmosfogdistancescale = 1.21885; + var_00.atmosfogskydistance = 133021; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -3.02394; + var_00.atmosfogskyfalloffanglerange = 12; + var_00.atmosfogsundirection = (0.751941,0.583464,0.306846); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 4054.98; + var_00.atmosfogheightfoghalfplanedistance = 3749.81; + var_00 = maps\mp\_art::create_vision_set_fog("poison_gas_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 2049; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 16.1053; + var_00.maxopacity = 0.375; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.401493,0.727799,0.374929); + var_00.atmosfoghazecolor = (0.380729,0.469112,0.320673); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.587452; + var_00.atmosfogextinctionstrength = 0.708175; + var_00.atmosfoginscatterstrength = 15.6236; + var_00.atmosfoghalfplanedistance = 286.17; + var_00.atmosfogstartdistance = 248.099; + var_00.atmosfogdistancescale = 2.96578; + var_00.atmosfogskydistance = 153992; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -2.43056; + var_00.atmosfogskyfalloffanglerange = 71.8547; + var_00.atmosfogsundirection = (0.881182,0.272293,0.386489); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 3536.6; + var_00.atmosfogheightfoghalfplanedistance = 6329.3; + var_00 = maps\mp\_art::create_vision_set_fog("mp_recovery_post_cg"); + var_00.startdist = 9086.61; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 16.1053; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.82093,0.807553,0.619587); + var_00.atmosfoghazecolor = (0.54891,0.546546,0.250224); + var_00.atmosfoghazestrength = 0.468297; + var_00.atmosfoghazespread = 0.035982; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 23.7; + var_00.atmosfoghalfplanedistance = 96562.1; + var_00.atmosfogstartdistance = -1000; + var_00.atmosfogdistancescale = 0.461619; + var_00.atmosfogskydistance = 128751; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -82.4759; + var_00.atmosfogskyfalloffanglerange = 213.773; + var_00.atmosfogsundirection = (0.705549,0.543144,0.455188); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -2853.48; + var_00.atmosfogheightfoghalfplanedistance = 1029.03; + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 12.2088; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_refraction_art.gsc b/AW/PC/maps/createart/mp_refraction_art.gsc new file mode 100644 index 0000000..5f33037 --- /dev/null +++ b/AW/PC/maps/createart/mp_refraction_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_refraction_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 2:07:02 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_refraction_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_refraction_fog::setupfog(); + } + + visionsetnaked("mp_refraction",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_refraction_fog.gsc b/AW/PC/maps/createart/mp_refraction_fog.gsc new file mode 100644 index 0000000..543e7b2 --- /dev/null +++ b/AW/PC/maps/createart/mp_refraction_fog.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_refraction_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:07:02 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_refraction"); + var_00.startdist = 786; + var_00.halfwaydist = 55000; + var_00.red = 0.586; + var_00.green = 0.833; + var_00.blue = 0.817; + var_00.maxopacity = 0.5; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_refraction_fog_hdr.gsc b/AW/PC/maps/createart/mp_refraction_fog_hdr.gsc new file mode 100644 index 0000000..d495fe4 --- /dev/null +++ b/AW/PC/maps/createart/mp_refraction_fog_hdr.gsc @@ -0,0 +1,244 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_refraction_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 46 ms + * Timestamp: 4/22/2024 2:07:03 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_refraction"); + var_00.startdist = 161.017; + var_00.halfwaydist = 11144; + var_00.red = 0.225708; + var_00.green = 0.270302; + var_00.blue = 0.335938; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0.976563; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0.109375; + var_00.skyfogminangle = 12.3729; + var_00.skyfogmaxangle = 12; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.523438,0.523438,0.523438); + var_00.atmosfoghazecolor = (0.523438,0.523438,0.523438); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.164063; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 13.5; + var_00.atmosfoghalfplanedistance = 1257.86; + var_00.atmosfogstartdistance = 886.364; + var_00.atmosfogdistancescale = 1.5; + var_00.atmosfogskydistance = 17622; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -12.2951; + var_00.atmosfogskyfalloffanglerange = 200; + var_00.atmosfogsundirection = (0.412467,-0.716527,0.562548); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 168; + var_00 = maps\mp\_art::create_vision_set_fog("mp_refraction_cg"); + var_00.startdist = 300; + var_00.halfwaydist = 40000; + var_00.red = 0.929412; + var_00.green = 0.917647; + var_00.blue = 0.905882; + var_00.hdrcolorintensity = 13; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.305509,0.38038,0.429688); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.25; + var_00.atmosfoghazespread = 0.164063; + var_00.atmosfogextinctionstrength = 0.90625; + var_00.atmosfoginscatterstrength = 11; + var_00.atmosfoghalfplanedistance = 8912.6; + var_00.atmosfogstartdistance = 27.041; + var_00.atmosfogdistancescale = 7.3125; + var_00.atmosfogskydistance = 131072; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 36; + var_00.atmosfogsundirection = (0.412467,-0.716527,0.562548); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_refraction_osp"); + var_00.startdist = 161.017; + var_00.halfwaydist = 11144; + var_00.red = 0.225708; + var_00.green = 0.270302; + var_00.blue = 0.335938; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0.976563; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0.109375; + var_00.skyfogminangle = 12.3729; + var_00.skyfogmaxangle = 12; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.523438,0.523438,0.523438); + var_00.atmosfoghazecolor = (0.523438,0.523438,0.523438); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.164063; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 10.5; + var_00.atmosfoghalfplanedistance = 3257.86; + var_00.atmosfogstartdistance = 886.364; + var_00.atmosfogdistancescale = 1.5; + var_00.atmosfogskydistance = 17622; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -12.2951; + var_00.atmosfogskyfalloffanglerange = 200; + var_00.atmosfogsundirection = (0.412467,-0.716527,0.562548); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 168; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb"); + var_00.startdist = 670.438; + var_00.halfwaydist = 2489.07; + var_00.red = 0.802175; + var_00.green = 0.697121; + var_00.blue = 0.750972; + var_00.hdrcolorintensity = 10.5; + var_00.maxopacity = 0.649765; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.484637,0.920391,0.255807); + var_00.atmosfoghazecolor = (1,0.778993,0.417681); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0322783; + var_00.atmosfogextinctionstrength = 0.916667; + var_00.atmosfoginscatterstrength = 14.582; + var_00.atmosfoghalfplanedistance = 1640.34; + var_00.atmosfogstartdistance = 71.7805; + var_00.atmosfogdistancescale = 9.42623; + var_00.atmosfogskydistance = 24590; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (-0.474168,-0.865133,0.163429); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 1232.4; + var_00.red = 0.563022; + var_00.green = 0.920391; + var_00.blue = 0.375355; + var_00.hdrcolorintensity = 15.9699; + var_00.maxopacity = 0.870537; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.291899; + var_00.sungreen = 0.435754; + var_00.sunblue = 0.1819; + var_00.hdrsuncolorintensity = 16.6475; + var_00.sundir = (-0.546391,-0.14727,0.824481); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 36.694; + var_00.normalfogscale = 2.78604; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.484637,0.920391,0.255807); + var_00.atmosfoghazecolor = (1,0.778993,0.417681); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0322783; + var_00.atmosfogextinctionstrength = 0.916667; + var_00.atmosfoginscatterstrength = 16.3525; + var_00.atmosfoghalfplanedistance = 1640.34; + var_00.atmosfogstartdistance = 71.7805; + var_00.atmosfogdistancescale = 9.42623; + var_00.atmosfogskydistance = 24590; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (-0.474168,-0.865133,0.163429); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 12.2088; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_sector17_art.gsc b/AW/PC/maps/createart/mp_sector17_art.gsc new file mode 100644 index 0000000..f946677 --- /dev/null +++ b/AW/PC/maps/createart/mp_sector17_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_sector17_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:07:03 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_sector17_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_sector17_fog::setupfog(); + } + + visionsetnaked("mp_sector17",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_sector17_fog.gsc b/AW/PC/maps/createart/mp_sector17_fog.gsc new file mode 100644 index 0000000..aa90a9d --- /dev/null +++ b/AW/PC/maps/createart/mp_sector17_fog.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_sector17_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:07:04 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_sector17"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_sector17_fog_hdr.gsc b/AW/PC/maps/createart/mp_sector17_fog_hdr.gsc new file mode 100644 index 0000000..842f5e8 --- /dev/null +++ b/AW/PC/maps/createart/mp_sector17_fog_hdr.gsc @@ -0,0 +1,442 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_sector17_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 45 ms + * Timestamp: 4/22/2024 2:07:04 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_sector17"); + var_00.startdist = 500.388; + var_00.halfwaydist = 40679.6; + var_00.red = 0.614194; + var_00.green = 0.782984; + var_00.blue = 1; + var_00.hdrcolorintensity = 14.529; + var_00.maxopacity = 0.65625; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.540039,0.591873,0.617187); + var_00.atmosfoghazecolor = (0.461221,0.506928,0.508404); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18; + var_00.atmosfoghalfplanedistance = 16832.5; + var_00.atmosfogstartdistance = 147.874; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 196608; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 50; + var_00.atmosfogsundirection = (0.274577,0.614183,0.739856); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_sector17_osp"); + var_00.startdist = 500.388; + var_00.halfwaydist = 40679.6; + var_00.red = 0.614194; + var_00.green = 0.782984; + var_00.blue = 1; + var_00.hdrcolorintensity = 14.529; + var_00.maxopacity = 0.65625; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.540039,0.591873,0.617187); + var_00.atmosfoghazecolor = (0.461221,0.506928,0.508404); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18; + var_00.atmosfoghalfplanedistance = 16832.5; + var_00.atmosfogstartdistance = 147.874; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 196608; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 50; + var_00.atmosfogsundirection = (0.274577,0.614183,0.739856); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_sector17_drone"); + var_00.startdist = 500.388; + var_00.halfwaydist = 40679.6; + var_00.red = 0.614194; + var_00.green = 0.782984; + var_00.blue = 1; + var_00.hdrcolorintensity = 14.529; + var_00.maxopacity = 0.65625; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.540039,0.591873,0.617187); + var_00.atmosfoghazecolor = (0.461221,0.506928,0.508404); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18; + var_00.atmosfoghalfplanedistance = 16832.5; + var_00.atmosfogstartdistance = 147.874; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 196608; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 50; + var_00.atmosfogsundirection = (0.274577,0.614183,0.739856); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_sector17_warbird"); + var_00.startdist = 500.388; + var_00.halfwaydist = 40679.6; + var_00.red = 0.614194; + var_00.green = 0.782984; + var_00.blue = 1; + var_00.hdrcolorintensity = 14.529; + var_00.maxopacity = 0.65625; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.540039,0.591873,0.617187); + var_00.atmosfoghazecolor = (0.461221,0.506928,0.508404); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18; + var_00.atmosfoghalfplanedistance = 16832.5; + var_00.atmosfogstartdistance = 147.874; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 196608; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 50; + var_00.atmosfogsundirection = (0.274577,0.614183,0.739856); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb"); + var_00.startdist = 670.438; + var_00.halfwaydist = 2489.07; + var_00.red = 0.802175; + var_00.green = 0.697121; + var_00.blue = 0.750972; + var_00.hdrcolorintensity = 10.5; + var_00.maxopacity = 0.649765; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.03125,1,0.03125); + var_00.atmosfoghazecolor = (0.0625,1,0.0625); + var_00.atmosfoghazestrength = 0.429688; + var_00.atmosfoghazespread = 0.664063; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 17.3333; + var_00.atmosfoghalfplanedistance = 43.699; + var_00.atmosfogstartdistance = 24; + var_00.atmosfogdistancescale = 0.4375; + var_00.atmosfogskydistance = 294912; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 39; + var_00.atmosfogskyfalloffanglerange = 300; + var_00.atmosfogsundirection = (0.274577,0.614183,0.739856); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 1.48761; + var_00.atmosfogheightfoghalfplanedistance = 351.288; + var_00 = maps\mp\_art::create_vision_set_fog("mp_sector17_cg"); + var_00.startdist = 3000; + var_00.halfwaydist = 30000; + var_00.red = 0.257797; + var_00.green = 0.322774; + var_00.blue = 0.449674; + var_00.hdrcolorintensity = 16; + var_00.maxopacity = 0.78; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.540039,0.591873,0.617187); + var_00.atmosfoghazecolor = (0.461221,0.506928,0.508404); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18; + var_00.atmosfoghalfplanedistance = 16832.5; + var_00.atmosfogstartdistance = 147.874; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 196608; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 50; + var_00.atmosfogsundirection = (0.274577,0.614183,0.739856); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_sector17_osp_cg"); + var_00.startdist = 3000; + var_00.halfwaydist = 30000; + var_00.red = 0.257797; + var_00.green = 0.322774; + var_00.blue = 0.449674; + var_00.hdrcolorintensity = 16; + var_00.maxopacity = 0.78; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.540039,0.591873,0.617187); + var_00.atmosfoghazecolor = (0.461221,0.506928,0.508404); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18; + var_00.atmosfoghalfplanedistance = 16832.5; + var_00.atmosfogstartdistance = 147.874; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 196608; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 50; + var_00.atmosfogsundirection = (0.274577,0.614183,0.739856); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_sector17_drone_cg"); + var_00.startdist = 3000; + var_00.halfwaydist = 30000; + var_00.red = 0.257797; + var_00.green = 0.322774; + var_00.blue = 0.449674; + var_00.hdrcolorintensity = 16; + var_00.maxopacity = 0.78; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.540039,0.591873,0.617187); + var_00.atmosfoghazecolor = (0.461221,0.506928,0.508404); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18; + var_00.atmosfoghalfplanedistance = 16832.5; + var_00.atmosfogstartdistance = 147.874; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 196608; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 50; + var_00.atmosfogsundirection = (0.274577,0.614183,0.739856); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_sector17_warbird_cg"); + var_00.startdist = 3000; + var_00.halfwaydist = 30000; + var_00.red = 0.257797; + var_00.green = 0.322774; + var_00.blue = 0.449674; + var_00.hdrcolorintensity = 16; + var_00.maxopacity = 0.78; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.540039,0.591873,0.617187); + var_00.atmosfoghazecolor = (0.461221,0.506928,0.508404); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18; + var_00.atmosfoghalfplanedistance = 16832.5; + var_00.atmosfogstartdistance = 147.874; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 196608; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 50; + var_00.atmosfogsundirection = (0.274577,0.614183,0.739856); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb_cg"); + var_00.startdist = 3000; + var_00.halfwaydist = 30000; + var_00.red = 0.257797; + var_00.green = 0.322774; + var_00.blue = 0.449674; + var_00.hdrcolorintensity = 16; + var_00.maxopacity = 0.78; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.03125,1,0.03125); + var_00.atmosfoghazecolor = (0.0625,1,0.0625); + var_00.atmosfoghazestrength = 0.429688; + var_00.atmosfoghazespread = 0.664063; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 17.3333; + var_00.atmosfoghalfplanedistance = 43.699; + var_00.atmosfogstartdistance = 24; + var_00.atmosfogdistancescale = 0.4375; + var_00.atmosfogskydistance = 294912; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 39; + var_00.atmosfogskyfalloffanglerange = 300; + var_00.atmosfogsundirection = (0.274577,0.614183,0.739856); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 1.48761; + var_00.atmosfogheightfoghalfplanedistance = 351.288; +} + +//Function Number: 2 +setupfog() +{ + if(level.nextgen) + { + } +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_seoul2_art.gsc b/AW/PC/maps/createart/mp_seoul2_art.gsc new file mode 100644 index 0000000..734a59d --- /dev/null +++ b/AW/PC/maps/createart/mp_seoul2_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_seoul2_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 29 ms + * Timestamp: 4/22/2024 2:07:04 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_seoul2_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_seoul2_fog::setupfog(); + } + + visionsetnaked("mp_seoul2",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_seoul2_fog.gsc b/AW/PC/maps/createart/mp_seoul2_fog.gsc new file mode 100644 index 0000000..3600ba6 --- /dev/null +++ b/AW/PC/maps/createart/mp_seoul2_fog.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_seoul2_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 38 ms + * Timestamp: 4/22/2024 2:07:05 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_seoul2"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_seoul2_fog_hdr.gsc b/AW/PC/maps/createart/mp_seoul2_fog_hdr.gsc new file mode 100644 index 0000000..110b50a --- /dev/null +++ b/AW/PC/maps/createart/mp_seoul2_fog_hdr.gsc @@ -0,0 +1,271 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_seoul2_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 44 ms + * Timestamp: 4/22/2024 2:07:05 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_seoul2"); + var_00.startdist = 17346.3; + var_00.halfwaydist = 23000; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 0.0290003; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.504761,0.554688,0.437501); + var_00.atmosfoghazecolor = (0.424463,0.453006,0.463348); + var_00.atmosfoghazestrength = 1; + var_00.atmosfoghazespread = 0.804688; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 22; + var_00.atmosfoghalfplanedistance = 86596; + var_00.atmosfogstartdistance = 1212.53; + var_00.atmosfogdistancescale = 1.125; + var_00.atmosfogskydistance = 718; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (-0.619222,-0.513719,0.59385); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = -2688; + var_00.atmosfogheightfoghalfplanedistance = 2856; + var_00 = maps\mp\_art::create_vision_set_fog("mp_seoul2_osp"); + var_00.startdist = 17346.3; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 0.0290003; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.437501,0.458985,0.554688); + var_00.atmosfoghazecolor = (0.438943,0.447705,0.463348); + var_00.atmosfoghazestrength = 1; + var_00.atmosfoghazespread = 0.804688; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 16.5; + var_00.atmosfoghalfplanedistance = 86596; + var_00.atmosfogstartdistance = 2021.78; + var_00.atmosfogdistancescale = 1.125; + var_00.atmosfogskydistance = 718; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (-0.619222,-0.513719,0.59385); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = -2688; + var_00.atmosfogheightfoghalfplanedistance = 2856; + var_00 = maps\mp\_art::create_vision_set_fog("mp_seoul2_cg"); + var_00.startdist = 557.325; + var_00.halfwaydist = 71756.8; + var_00.red = 0.812347; + var_00.green = 0.777121; + var_00.blue = 0.739019; + var_00.hdrcolorintensity = 16.5684; + var_00.maxopacity = 0.999955; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.504761,0.554688,0.437501); + var_00.atmosfoghazecolor = (0.424463,0.453006,0.463348); + var_00.atmosfoghazestrength = 1; + var_00.atmosfoghazespread = 0.804688; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 22; + var_00.atmosfoghalfplanedistance = 86596; + var_00.atmosfogstartdistance = 1212.53; + var_00.atmosfogdistancescale = 1.125; + var_00.atmosfogskydistance = 718; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (-0.619222,-0.513719,0.59385); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = -2688; + var_00.atmosfogheightfoghalfplanedistance = 2856; + var_00 = maps\mp\_art::create_vision_set_fog("mp_seoul2_osp_cg"); + var_00.startdist = 17346.3; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 0.0290003; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.437501,0.458985,0.554688); + var_00.atmosfoghazecolor = (0.438943,0.447705,0.463348); + var_00.atmosfoghazestrength = 1; + var_00.atmosfoghazespread = 0.804688; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 16.5; + var_00.atmosfoghalfplanedistance = 86596; + var_00.atmosfogstartdistance = 2021.78; + var_00.atmosfogdistancescale = 1.125; + var_00.atmosfogskydistance = 718; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (-0.619222,-0.513719,0.59385); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = -2688; + var_00.atmosfogheightfoghalfplanedistance = 2856; + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 12.2088; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.445313,0.458985,0.554688); + var_00.atmosfoghazecolor = (0.425781,0.460417,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 21; + var_00.atmosfoghalfplanedistance = 23432; + var_00.atmosfogstartdistance = 1531.37; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 42656; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (-0.775814,0.314577,0.546949); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -2688; + var_00.atmosfogheightfoghalfplanedistance = 2856; + var_00 = maps\mp\_art::create_vision_set_fog("seoul_shopping"); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 12.2088; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.445313,0.458985,0.554688); + var_00.atmosfoghazecolor = (0.425781,0.460417,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 21; + var_00.atmosfoghalfplanedistance = 23432; + var_00.atmosfogstartdistance = 1531.37; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 42656; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (-0.775814,0.314577,0.546949); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -2688; + var_00.atmosfogheightfoghalfplanedistance = 2856; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_solar_art.gsc b/AW/PC/maps/createart/mp_solar_art.gsc new file mode 100644 index 0000000..ab13fec --- /dev/null +++ b/AW/PC/maps/createart/mp_solar_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_solar_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:07:05 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_solar_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_solar_fog::setupfog(); + } + + visionsetnaked("mp_solar",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_solar_fog.gsc b/AW/PC/maps/createart/mp_solar_fog.gsc new file mode 100644 index 0000000..98228e0 --- /dev/null +++ b/AW/PC/maps/createart/mp_solar_fog.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_solar_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:07:06 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_solar"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_solar_fog_hdr.gsc b/AW/PC/maps/createart/mp_solar_fog_hdr.gsc new file mode 100644 index 0000000..9b92aee --- /dev/null +++ b/AW/PC/maps/createart/mp_solar_fog_hdr.gsc @@ -0,0 +1,397 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_solar_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 47 ms + * Timestamp: 4/22/2024 2:07:06 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 512; + var_00.halfwaydist = 43009; + var_00.red = 0.794189; + var_00.green = 0.794189; + var_00.blue = 0.794189; + var_00.hdrcolorintensity = 17; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.999986; + var_00.sungreen = 0.911458; + var_00.sunblue = 0.781251; + var_00.hdrsuncolorintensity = 17.5; + var_00.sundir = (-0.146883,0.796223,0.586902); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 129.989; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0.999991; + var_00.skyfogminangle = -10; + var_00.skyfogmaxangle = 180; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.953236,0.974485,0.999997); + var_00.atmosfoghazecolor = (0.99999,0.96967,0.94534); + var_00.atmosfoghazestrength = 1; + var_00.atmosfoghazespread = 0.406232; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 20.7492; + var_00.atmosfoghalfplanedistance = 8801.57; + var_00.atmosfogstartdistance = 3298.9; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 99963; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 32; + var_00.atmosfogsundirection = (-0.149352,0.80657,0.571961); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 752; + var_00.atmosfogheightfoghalfplanedistance = 982.303; + var_00 = maps\mp\_art::create_vision_set_fog("mp_solar"); + var_00.startdist = 512; + var_00.halfwaydist = 34817; + var_00.red = 0.794189; + var_00.green = 0.794189; + var_00.blue = 0.794189; + var_00.hdrcolorintensity = 17; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.999986; + var_00.sungreen = 0.911458; + var_00.sunblue = 0.781251; + var_00.hdrsuncolorintensity = 17.5; + var_00.sundir = (-0.146883,0.796223,0.586902); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 129.989; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0.999991; + var_00.skyfogminangle = -10; + var_00.skyfogmaxangle = 180; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.851475,0.89798,0.999993); + var_00.atmosfoghazecolor = (1,1,0.999981); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.312462; + var_00.atmosfogextinctionstrength = 0.601563; + var_00.atmosfoginscatterstrength = 20.9992; + var_00.atmosfoghalfplanedistance = 6288.93; + var_00.atmosfogstartdistance = 1025.38; + var_00.atmosfogdistancescale = 0.5; + var_00.atmosfogskydistance = 131072; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 184; + var_00.atmosfogsundirection = (-0.161074,0.794633,0.585332); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 513.71; + var_00.atmosfogheightfoghalfplanedistance = 1344.97; + var_00 = maps\mp\_art::create_vision_set_fog("mp_solar_osp"); + var_00.startdist = 512; + var_00.halfwaydist = 34817; + var_00.red = 0.794189; + var_00.green = 0.794189; + var_00.blue = 0.794189; + var_00.hdrcolorintensity = 17; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.999986; + var_00.sungreen = 0.911458; + var_00.sunblue = 0.781251; + var_00.hdrsuncolorintensity = 17.5; + var_00.sundir = (-0.146883,0.796223,0.586902); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 129.989; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0.999991; + var_00.skyfogminangle = -10; + var_00.skyfogmaxangle = 180; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.851475,0.89798,0.999993); + var_00.atmosfoghazecolor = (1,1,0.999981); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.312462; + var_00.atmosfogextinctionstrength = 0.601563; + var_00.atmosfoginscatterstrength = 20.9992; + var_00.atmosfoghalfplanedistance = 6288.93; + var_00.atmosfogstartdistance = 1025.38; + var_00.atmosfogdistancescale = 0.5; + var_00.atmosfogskydistance = 131072; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 184; + var_00.atmosfogsundirection = (-0.161074,0.794633,0.585332); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 513.71; + var_00.atmosfogheightfoghalfplanedistance = 1344.97; + var_00 = maps\mp\_art::create_vision_set_fog("mp_solar_warbird"); + var_00.startdist = 512; + var_00.halfwaydist = 34817; + var_00.red = 0.794189; + var_00.green = 0.794189; + var_00.blue = 0.794189; + var_00.hdrcolorintensity = 17; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.999986; + var_00.sungreen = 0.911458; + var_00.sunblue = 0.781251; + var_00.hdrsuncolorintensity = 17.5; + var_00.sundir = (-0.146883,0.796223,0.586902); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 129.989; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0.999991; + var_00.skyfogminangle = -10; + var_00.skyfogmaxangle = 180; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.851475,0.89798,0.999993); + var_00.atmosfoghazecolor = (1,1,0.999981); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.312462; + var_00.atmosfogextinctionstrength = 0.601563; + var_00.atmosfoginscatterstrength = 20.9992; + var_00.atmosfoghalfplanedistance = 6288.93; + var_00.atmosfogstartdistance = 1025.38; + var_00.atmosfogdistancescale = 0.5; + var_00.atmosfogskydistance = 131072; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 184; + var_00.atmosfogsundirection = (-0.161074,0.794633,0.585332); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 513.71; + var_00.atmosfogheightfoghalfplanedistance = 1344.97; + var_00 = maps\mp\_art::create_vision_set_fog("mp_solar_drone"); + var_00.startdist = 512; + var_00.halfwaydist = 34817; + var_00.red = 0.794189; + var_00.green = 0.794189; + var_00.blue = 0.794189; + var_00.hdrcolorintensity = 17; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.999986; + var_00.sungreen = 0.911458; + var_00.sunblue = 0.781251; + var_00.hdrsuncolorintensity = 17.5; + var_00.sundir = (-0.146883,0.796223,0.586902); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 129.989; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0.999991; + var_00.skyfogminangle = -10; + var_00.skyfogmaxangle = 180; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.851475,0.89798,0.999993); + var_00.atmosfoghazecolor = (1,1,0.999981); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.312462; + var_00.atmosfogextinctionstrength = 0.601563; + var_00.atmosfoginscatterstrength = 20.9992; + var_00.atmosfoghalfplanedistance = 6288.93; + var_00.atmosfogstartdistance = 1025.38; + var_00.atmosfogdistancescale = 0.5; + var_00.atmosfogskydistance = 131072; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 184; + var_00.atmosfogsundirection = (-0.161074,0.794633,0.585332); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 513.71; + var_00.atmosfogheightfoghalfplanedistance = 1344.97; + var_00 = maps\mp\_art::create_vision_set_fog("mp_solar_int"); + var_00.startdist = 512; + var_00.halfwaydist = 43009; + var_00.red = 0.794189; + var_00.green = 0.794189; + var_00.blue = 0.794189; + var_00.hdrcolorintensity = 17; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.999986; + var_00.sungreen = 0.911458; + var_00.sunblue = 0.781251; + var_00.hdrsuncolorintensity = 17.5; + var_00.sundir = (-0.146883,0.796223,0.586902); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 129.989; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0.999991; + var_00.skyfogminangle = -10; + var_00.skyfogmaxangle = 180; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.953236,0.974485,0.999997); + var_00.atmosfoghazecolor = (0.99999,0.96967,0.94534); + var_00.atmosfoghazestrength = 1; + var_00.atmosfoghazespread = 0.406232; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 20.7492; + var_00.atmosfoghalfplanedistance = 8801.57; + var_00.atmosfogstartdistance = 3298.9; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 99963; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 32; + var_00.atmosfogsundirection = (-0.149352,0.80657,0.571961); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 752; + var_00.atmosfogheightfoghalfplanedistance = 982.303; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb"); + var_00.startdist = 670.438; + var_00.halfwaydist = 2489.07; + var_00.red = 0.802175; + var_00.green = 0.697121; + var_00.blue = 0.750972; + var_00.hdrcolorintensity = 10.5; + var_00.maxopacity = 0.649765; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.484637,0.920391,0.255807); + var_00.atmosfoghazecolor = (1,0.778993,0.417681); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0322783; + var_00.atmosfogextinctionstrength = 0.916667; + var_00.atmosfoginscatterstrength = 18.9426; + var_00.atmosfoghalfplanedistance = 1640.34; + var_00.atmosfogstartdistance = 71.7805; + var_00.atmosfogdistancescale = 9.42623; + var_00.atmosfogskydistance = 24590; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (-0.474168,-0.865133,0.163429); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 1232.4; + var_00.red = 0.563022; + var_00.green = 0.920391; + var_00.blue = 0.375355; + var_00.hdrcolorintensity = 15.9699; + var_00.maxopacity = 0.870537; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.291899; + var_00.sungreen = 0.435754; + var_00.sunblue = 0.1819; + var_00.hdrsuncolorintensity = 16.6475; + var_00.sundir = (-0.546391,-0.14727,0.824481); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 36.694; + var_00.normalfogscale = 2.78604; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.484637,0.920391,0.255807); + var_00.atmosfoghazecolor = (1,0.778993,0.417681); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0322783; + var_00.atmosfogextinctionstrength = 0.916667; + var_00.atmosfoginscatterstrength = 16.3525; + var_00.atmosfoghalfplanedistance = 1640.34; + var_00.atmosfogstartdistance = 71.7805; + var_00.atmosfogdistancescale = 9.42623; + var_00.atmosfogskydistance = 24590; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (-0.474168,-0.865133,0.163429); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; + var_00 = maps\mp\_art::create_vision_set_fog("mp_solar_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 47158.6; + var_00.red = 0.763819; + var_00.green = 0.853701; + var_00.blue = 0.935127; + var_00.hdrcolorintensity = 17.2868; + var_00.maxopacity = 0.295194; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.999986; + var_00.sungreen = 0.917968; + var_00.sunblue = 0.859375; + var_00.hdrsuncolorintensity = 16.6678; + var_00.sundir = (-0.130212,0.625343,0.76941); + var_00.sunbeginfadeangle = 12.9988; + var_00.sunendfadeangle = 89.9966; + var_00.normalfogscale = 0.0625; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_spark_art.gsc b/AW/PC/maps/createart/mp_spark_art.gsc new file mode 100644 index 0000000..e99bf28 --- /dev/null +++ b/AW/PC/maps/createart/mp_spark_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_spark_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 2:07:07 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_spark_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_spark_fog::setupfog(); + } + + visionsetnaked("mp_spark",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_spark_fog.gsc b/AW/PC/maps/createart/mp_spark_fog.gsc new file mode 100644 index 0000000..07df59d --- /dev/null +++ b/AW/PC/maps/createart/mp_spark_fog.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_spark_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:07:07 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_spark"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_spark_fog_hdr.gsc b/AW/PC/maps/createart/mp_spark_fog_hdr.gsc new file mode 100644 index 0000000..bd344ea --- /dev/null +++ b/AW/PC/maps/createart/mp_spark_fog_hdr.gsc @@ -0,0 +1,538 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_spark_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 48 ms + * Timestamp: 4/22/2024 2:07:07 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_spark"); + var_00.startdist = 260.442; + var_00.halfwaydist = 30852.8; + var_00.red = 0.730383; + var_00.green = 0.784185; + var_00.blue = 1; + var_00.hdrcolorintensity = 12.5283; + var_00.maxopacity = 0.289063; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.843717; + var_00.sungreen = 0.867188; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.9999; + var_00.sundir = (-0.852771,0.00105372,0.522284); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 70.0092; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 88; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (0,0,0); + var_00.atmosfoghazestrength = 0.734361; + var_00.atmosfoghazespread = 0.960938; + var_00.atmosfogextinctionstrength = 0.962799; + var_00.atmosfoginscatterstrength = 1.4953; + var_00.atmosfoghalfplanedistance = 2190.77; + var_00.atmosfogstartdistance = 43.3841; + var_00.atmosfogdistancescale = 1.5; + var_00.atmosfogskydistance = 40960; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -3; + var_00.atmosfogskyfalloffanglerange = 256; + var_00.atmosfogsundirection = (0.975497,-0.0755312,-0.206642); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 495.78; + var_00.atmosfogheightfoghalfplanedistance = 4805.07; + var_00 = maps\mp\_art::create_vision_set_fog("mp_spark_uplink_inview"); + var_00.startdist = 260.442; + var_00.halfwaydist = 30852.8; + var_00.red = 0.730383; + var_00.green = 0.784185; + var_00.blue = 1; + var_00.hdrcolorintensity = 12.5283; + var_00.maxopacity = 0.289063; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.843717; + var_00.sungreen = 0.867188; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.9999; + var_00.sundir = (-0.852771,0.00105372,0.522284); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 70.0092; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 88; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (0,0,0); + var_00.atmosfoghazestrength = 0.734361; + var_00.atmosfoghazespread = 0.960938; + var_00.atmosfogextinctionstrength = 0.962799; + var_00.atmosfoginscatterstrength = 1.4953; + var_00.atmosfoghalfplanedistance = 2190.77; + var_00.atmosfogstartdistance = 43.3841; + var_00.atmosfogdistancescale = 1.5; + var_00.atmosfogskydistance = 40960; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -3; + var_00.atmosfogskyfalloffanglerange = 256; + var_00.atmosfogsundirection = (0.975497,-0.0755312,-0.206642); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 495.78; + var_00.atmosfogheightfoghalfplanedistance = 4805.07; + var_00 = maps\mp\_art::create_vision_set_fog("mp_spark_uplink_inview_cg"); + var_00.startdist = 260.442; + var_00.halfwaydist = 30852.8; + var_00.red = 0.730383; + var_00.green = 0.784185; + var_00.blue = 1; + var_00.hdrcolorintensity = 12.5283; + var_00.maxopacity = 0.289063; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.843717; + var_00.sungreen = 0.867188; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.9999; + var_00.sundir = (-0.852771,0.00105372,0.522284); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 70.0092; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 88; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (0,0,0); + var_00.atmosfoghazestrength = 0.734361; + var_00.atmosfoghazespread = 0.960938; + var_00.atmosfogextinctionstrength = 0.962799; + var_00.atmosfoginscatterstrength = 1.4953; + var_00.atmosfoghalfplanedistance = 2190.77; + var_00.atmosfogstartdistance = 43.3841; + var_00.atmosfogdistancescale = 1.5; + var_00.atmosfogskydistance = 40960; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -3; + var_00.atmosfogskyfalloffanglerange = 256; + var_00.atmosfogsundirection = (0.975497,-0.0755312,-0.206642); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 495.78; + var_00.atmosfogheightfoghalfplanedistance = 4805.07; + var_00 = maps\mp\_art::create_vision_set_fog("mp_spark_cg"); + var_00.startdist = 256; + var_00.halfwaydist = 2000; + var_00.red = 0.230089; + var_00.green = 0.290842; + var_00.blue = 0.395483; + var_00.hdrcolorintensity = 12; + var_00.maxopacity = 0.95; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.230089; + var_00.sungreen = 0.290842; + var_00.sunblue = 0.395483; + var_00.hdrsuncolorintensity = 12.9999; + var_00.sundir = (-0.852771,0.00105372,0.522284); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 70.0092; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 88; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (0,0,0); + var_00.atmosfoghazestrength = 0.734361; + var_00.atmosfoghazespread = 0.960938; + var_00.atmosfogextinctionstrength = 0.962799; + var_00.atmosfoginscatterstrength = 1.4953; + var_00.atmosfoghalfplanedistance = 2190.77; + var_00.atmosfogstartdistance = 43.3841; + var_00.atmosfogdistancescale = 1.5; + var_00.atmosfogskydistance = 40960; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -3; + var_00.atmosfogskyfalloffanglerange = 256; + var_00.atmosfogsundirection = (0.975497,-0.0755312,-0.206642); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 495.78; + var_00.atmosfogheightfoghalfplanedistance = 4805.07; + var_00 = maps\mp\_art::create_vision_set_fog("mp_spark_osp"); + var_00.startdist = 260.442; + var_00.halfwaydist = 30852.8; + var_00.red = 0.730383; + var_00.green = 0.784185; + var_00.blue = 1; + var_00.hdrcolorintensity = 12.5283; + var_00.maxopacity = 0.289063; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.843717; + var_00.sungreen = 0.867188; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.9999; + var_00.sundir = (-0.852771,0.00105372,0.522284); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 70.0092; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 88; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (0,0,0); + var_00.atmosfoghazestrength = 0.734361; + var_00.atmosfoghazespread = 0.960938; + var_00.atmosfogextinctionstrength = 0.962799; + var_00.atmosfoginscatterstrength = 1.4953; + var_00.atmosfoghalfplanedistance = 2190.77; + var_00.atmosfogstartdistance = 43.3841; + var_00.atmosfogdistancescale = 1.5; + var_00.atmosfogskydistance = 40960; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -3; + var_00.atmosfogskyfalloffanglerange = 256; + var_00.atmosfogsundirection = (0.975497,-0.0755312,-0.206642); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 495.78; + var_00.atmosfogheightfoghalfplanedistance = 4805.07; + var_00 = maps\mp\_art::create_vision_set_fog("mp_spark_osp_cg"); + var_00.startdist = 256; + var_00.halfwaydist = 13000; + var_00.red = 0.230089; + var_00.green = 0.290842; + var_00.blue = 0.395483; + var_00.hdrcolorintensity = 12; + var_00.maxopacity = 0.95; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.230089; + var_00.sungreen = 0.290842; + var_00.sunblue = 0.395483; + var_00.hdrsuncolorintensity = 12.9999; + var_00.sundir = (-0.852771,0.00105372,0.522284); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 70.0092; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 88; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (0,0,0); + var_00.atmosfoghazestrength = 0.734361; + var_00.atmosfoghazespread = 0.960938; + var_00.atmosfogextinctionstrength = 0.962799; + var_00.atmosfoginscatterstrength = 1.4953; + var_00.atmosfoghalfplanedistance = 2190.77; + var_00.atmosfogstartdistance = 43.3841; + var_00.atmosfogdistancescale = 1.5; + var_00.atmosfogskydistance = 40960; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -3; + var_00.atmosfogskyfalloffanglerange = 256; + var_00.atmosfogsundirection = (0.975497,-0.0755312,-0.206642); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 495.78; + var_00.atmosfogheightfoghalfplanedistance = 4805.07; + var_00 = maps\mp\_art::create_vision_set_fog("mp_spark_drone"); + var_00.startdist = 260.442; + var_00.halfwaydist = 30852.8; + var_00.red = 0.730383; + var_00.green = 0.784185; + var_00.blue = 1; + var_00.hdrcolorintensity = 12.5283; + var_00.maxopacity = 0.289063; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.843717; + var_00.sungreen = 0.867188; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.9999; + var_00.sundir = (-0.852771,0.00105372,0.522284); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 70.0092; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 88; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (0,0,0); + var_00.atmosfoghazestrength = 0.734361; + var_00.atmosfoghazespread = 0.960938; + var_00.atmosfogextinctionstrength = 0.962799; + var_00.atmosfoginscatterstrength = 1.4953; + var_00.atmosfoghalfplanedistance = 2190.77; + var_00.atmosfogstartdistance = 43.3841; + var_00.atmosfogdistancescale = 1.5; + var_00.atmosfogskydistance = 40960; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -3; + var_00.atmosfogskyfalloffanglerange = 256; + var_00.atmosfogsundirection = (0.975497,-0.0755312,-0.206642); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 495.78; + var_00.atmosfogheightfoghalfplanedistance = 4805.07; + var_00 = maps\mp\_art::create_vision_set_fog("mp_spark_drone_cg"); + var_00.startdist = 256; + var_00.halfwaydist = 13000; + var_00.red = 0.230089; + var_00.green = 0.290842; + var_00.blue = 0.395483; + var_00.hdrcolorintensity = 12; + var_00.maxopacity = 0.95; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.230089; + var_00.sungreen = 0.290842; + var_00.sunblue = 0.395483; + var_00.hdrsuncolorintensity = 12.9999; + var_00.sundir = (-0.852771,0.00105372,0.522284); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 70.0092; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 88; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (0,0,0); + var_00.atmosfoghazestrength = 0.734361; + var_00.atmosfoghazespread = 0.960938; + var_00.atmosfogextinctionstrength = 0.962799; + var_00.atmosfoginscatterstrength = 1.4953; + var_00.atmosfoghalfplanedistance = 2190.77; + var_00.atmosfogstartdistance = 43.3841; + var_00.atmosfogdistancescale = 1.5; + var_00.atmosfogskydistance = 40960; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -3; + var_00.atmosfogskyfalloffanglerange = 256; + var_00.atmosfogsundirection = (0.975497,-0.0755312,-0.206642); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 495.78; + var_00.atmosfogheightfoghalfplanedistance = 4805.07; + var_00 = maps\mp\_art::create_vision_set_fog("mp_spark_warbird"); + var_00.startdist = 260.442; + var_00.halfwaydist = 30852.8; + var_00.red = 0.730383; + var_00.green = 0.784185; + var_00.blue = 1; + var_00.hdrcolorintensity = 12.5283; + var_00.maxopacity = 0.289063; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.843717; + var_00.sungreen = 0.867188; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.9999; + var_00.sundir = (-0.852771,0.00105372,0.522284); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 70.0092; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 88; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (0,0,0); + var_00.atmosfoghazestrength = 0.734361; + var_00.atmosfoghazespread = 0.960938; + var_00.atmosfogextinctionstrength = 0.962799; + var_00.atmosfoginscatterstrength = 1.4953; + var_00.atmosfoghalfplanedistance = 2190.77; + var_00.atmosfogstartdistance = 43.3841; + var_00.atmosfogdistancescale = 1.5; + var_00.atmosfogskydistance = 40960; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -3; + var_00.atmosfogskyfalloffanglerange = 256; + var_00.atmosfogsundirection = (0.975497,-0.0755312,-0.206642); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 495.78; + var_00.atmosfogheightfoghalfplanedistance = 4805.07; + var_00 = maps\mp\_art::create_vision_set_fog("mp_spark_warbird_cg"); + var_00.startdist = 256; + var_00.halfwaydist = 13000; + var_00.red = 0.230089; + var_00.green = 0.290842; + var_00.blue = 0.395483; + var_00.hdrcolorintensity = 12; + var_00.maxopacity = 0.95; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.230089; + var_00.sungreen = 0.290842; + var_00.sunblue = 0.395483; + var_00.hdrsuncolorintensity = 12.9999; + var_00.sundir = (-0.852771,0.00105372,0.522284); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 70.0092; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 88; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (0,0,0); + var_00.atmosfoghazestrength = 0.734361; + var_00.atmosfoghazespread = 0.960938; + var_00.atmosfogextinctionstrength = 0.962799; + var_00.atmosfoginscatterstrength = 1.4953; + var_00.atmosfoghalfplanedistance = 2190.77; + var_00.atmosfogstartdistance = 43.3841; + var_00.atmosfogdistancescale = 1.5; + var_00.atmosfogskydistance = 40960; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -3; + var_00.atmosfogskyfalloffanglerange = 256; + var_00.atmosfogsundirection = (0.975497,-0.0755312,-0.206642); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 495.78; + var_00.atmosfogheightfoghalfplanedistance = 4805.07; + var_00 = maps\mp\_art::create_vision_set_fog("mp_spark_dna"); + var_00.startdist = 670.438; + var_00.halfwaydist = 2489.07; + var_00.red = 0.802175; + var_00.green = 0.697121; + var_00.blue = 0.750972; + var_00.hdrcolorintensity = 10.5; + var_00.maxopacity = 0.649765; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.469986,0.742188,0.032269); + var_00.atmosfoghazecolor = (0.65625,1,0.265625); + var_00.atmosfoghazestrength = 0.15625; + var_00.atmosfoghazespread = 0.9375; + var_00.atmosfogextinctionstrength = 0.75; + var_00.atmosfoginscatterstrength = 17.3919; + var_00.atmosfoghalfplanedistance = 5028.98; + var_00.atmosfogstartdistance = -1000; + var_00.atmosfogdistancescale = 2.875; + var_00.atmosfogskydistance = 28563; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 41; + var_00.atmosfogskyfalloffanglerange = 720; + var_00.atmosfogsundirection = (-0.123593,0.540679,0.8321); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 2469.65; + var_00.atmosfogheightfoghalfplanedistance = 6337; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb_cg"); + var_00.startdist = 256; + var_00.halfwaydist = 13000; + var_00.red = 0.230089; + var_00.green = 0.290842; + var_00.blue = 0.395483; + var_00.hdrcolorintensity = 12; + var_00.maxopacity = 0.95; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.230089; + var_00.sungreen = 0.290842; + var_00.sunblue = 0.395483; + var_00.hdrsuncolorintensity = 12.9999; + var_00.sundir = (-0.852771,0.00105372,0.522284); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 70.0092; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 88; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (0,0,0); + var_00.atmosfoghazestrength = 0.734361; + var_00.atmosfoghazespread = 0.960938; + var_00.atmosfogextinctionstrength = 0.962799; + var_00.atmosfoginscatterstrength = 1.4953; + var_00.atmosfoghalfplanedistance = 2190.77; + var_00.atmosfogstartdistance = 43.3841; + var_00.atmosfogdistancescale = 1.5; + var_00.atmosfogskydistance = 40960; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -3; + var_00.atmosfogskyfalloffanglerange = 256; + var_00.atmosfogsundirection = (0.975497,-0.0755312,-0.206642); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 495.78; + var_00.atmosfogheightfoghalfplanedistance = 4805.07; + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 9.45248; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_terrace_art.gsc b/AW/PC/maps/createart/mp_terrace_art.gsc new file mode 100644 index 0000000..4226675 --- /dev/null +++ b/AW/PC/maps/createart/mp_terrace_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_terrace_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 35 ms + * Timestamp: 4/22/2024 2:07:08 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_terrace_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_terrace_fog::setupfog(); + } + + visionsetnaked("mp_terrace",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_terrace_fog.gsc b/AW/PC/maps/createart/mp_terrace_fog.gsc new file mode 100644 index 0000000..4b4be75 --- /dev/null +++ b/AW/PC/maps/createart/mp_terrace_fog.gsc @@ -0,0 +1,37 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_terrace_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 63 ms + * Timestamp: 4/22/2024 2:07:08 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_terrace"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00 = maps\mp\_art::create_vision_set_fog("mp_terrace_cg"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_terrace_fog_hdr.gsc b/AW/PC/maps/createart/mp_terrace_fog_hdr.gsc new file mode 100644 index 0000000..bbbd044 --- /dev/null +++ b/AW/PC/maps/createart/mp_terrace_fog_hdr.gsc @@ -0,0 +1,355 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_terrace_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 55 ms + * Timestamp: 4/22/2024 2:07:09 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_terrace"); + var_00.startdist = 260.442; + var_00.halfwaydist = 30852.8; + var_00.red = 0.730383; + var_00.green = 0.784185; + var_00.blue = 1; + var_00.hdrcolorintensity = 12.5283; + var_00.maxopacity = 0.289063; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.843717; + var_00.sungreen = 0.867188; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.9999; + var_00.sundir = (-0.852771,0.00105372,0.522284); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 70.0092; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 88; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0.570298; + var_00.atmosfoghazespread = 0.5; + var_00.atmosfogextinctionstrength = 0.882813; + var_00.atmosfoginscatterstrength = 4.2453; + var_00.atmosfoghalfplanedistance = 4530.73; + var_00.atmosfogstartdistance = 1048; + var_00.atmosfogdistancescale = 1.5; + var_00.atmosfogskydistance = 40960; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -3; + var_00.atmosfogskyfalloffanglerange = 256; + var_00.atmosfogsundirection = (0.0601936,0.0630307,0.996195); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 495.78; + var_00.atmosfogheightfoghalfplanedistance = 4805.07; + var_00 = maps\mp\_art::create_vision_set_fog("mp_terrace_warbird"); + var_00.startdist = 260.442; + var_00.halfwaydist = 30852.8; + var_00.red = 0.730383; + var_00.green = 0.784185; + var_00.blue = 1; + var_00.hdrcolorintensity = 12.5283; + var_00.maxopacity = 0.289063; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.843717; + var_00.sungreen = 0.867188; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.9999; + var_00.sundir = (-0.852771,0.00105372,0.522284); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 70.0092; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 88; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0.570298; + var_00.atmosfoghazespread = 0.5; + var_00.atmosfogextinctionstrength = 0.882813; + var_00.atmosfoginscatterstrength = 4.2453; + var_00.atmosfoghalfplanedistance = 4530.73; + var_00.atmosfogstartdistance = 1048; + var_00.atmosfogdistancescale = 1.5; + var_00.atmosfogskydistance = 40960; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -3; + var_00.atmosfogskyfalloffanglerange = 256; + var_00.atmosfogsundirection = (0.0601936,0.0630307,0.996195); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 495.78; + var_00.atmosfogheightfoghalfplanedistance = 4805.07; + var_00 = maps\mp\_art::create_vision_set_fog("mp_terrace_osp"); + var_00.startdist = 260.442; + var_00.halfwaydist = 30852.8; + var_00.red = 0.730383; + var_00.green = 0.784185; + var_00.blue = 1; + var_00.hdrcolorintensity = 12.5283; + var_00.maxopacity = 0.289063; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.843717; + var_00.sungreen = 0.867188; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.9999; + var_00.sundir = (-0.852771,0.00105372,0.522284); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 70.0092; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 88; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0.570298; + var_00.atmosfoghazespread = 0.5; + var_00.atmosfogextinctionstrength = 0.882813; + var_00.atmosfoginscatterstrength = 4.2453; + var_00.atmosfoghalfplanedistance = 4530.73; + var_00.atmosfogstartdistance = 1048; + var_00.atmosfogdistancescale = 1.5; + var_00.atmosfogskydistance = 40960; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -3; + var_00.atmosfogskyfalloffanglerange = 256; + var_00.atmosfogsundirection = (0.0601936,0.0630307,0.996195); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 495.78; + var_00.atmosfogheightfoghalfplanedistance = 4805.07; + var_00 = maps\mp\_art::create_vision_set_fog("mp_terrace_drone"); + var_00.startdist = 260.442; + var_00.halfwaydist = 30852.8; + var_00.red = 0.730383; + var_00.green = 0.784185; + var_00.blue = 1; + var_00.hdrcolorintensity = 12.5283; + var_00.maxopacity = 0.289063; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.843717; + var_00.sungreen = 0.867188; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.9999; + var_00.sundir = (-0.852771,0.00105372,0.522284); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 70.0092; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 88; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0.570298; + var_00.atmosfoghazespread = 0.5; + var_00.atmosfogextinctionstrength = 0.882813; + var_00.atmosfoginscatterstrength = 4.2453; + var_00.atmosfoghalfplanedistance = 4530.73; + var_00.atmosfogstartdistance = 1048; + var_00.atmosfogdistancescale = 1.5; + var_00.atmosfogskydistance = 40960; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -3; + var_00.atmosfogskyfalloffanglerange = 256; + var_00.atmosfogsundirection = (0.0601936,0.0630307,0.996195); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 495.78; + var_00.atmosfogheightfoghalfplanedistance = 4805.07; + var_00 = maps\mp\_art::create_vision_set_fog("mp_terrace_cg"); + var_00.startdist = 260.442; + var_00.halfwaydist = 139007; + var_00.red = 0.730383; + var_00.green = 0.784185; + var_00.blue = 1; + var_00.hdrcolorintensity = 8.87227; + var_00.maxopacity = 0.289063; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.843717; + var_00.sungreen = 0.867188; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.9999; + var_00.sundir = (-0.852771,0.00105372,0.522284); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 70.0092; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 88; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0.570298; + var_00.atmosfoghazespread = 0.5; + var_00.atmosfogextinctionstrength = 0.757747; + var_00.atmosfoginscatterstrength = 1.2453; + var_00.atmosfoghalfplanedistance = 6973.79; + var_00.atmosfogstartdistance = 1048; + var_00.atmosfogdistancescale = 5; + var_00.atmosfogskydistance = 40960; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 92; + var_00.atmosfogsundirection = (0.0601936,0.0630307,0.996195); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 495.78; + var_00.atmosfogheightfoghalfplanedistance = 2501.07; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb"); + var_00.startdist = 670.438; + var_00.halfwaydist = 2489.07; + var_00.red = 0.802175; + var_00.green = 0.697121; + var_00.blue = 0.750972; + var_00.hdrcolorintensity = 10.5; + var_00.maxopacity = 0.649765; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.484637,0.920391,0.255807); + var_00.atmosfoghazecolor = (1,0.778993,0.417681); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0322783; + var_00.atmosfogextinctionstrength = 0.916667; + var_00.atmosfoginscatterstrength = 16.0068; + var_00.atmosfoghalfplanedistance = 1640.34; + var_00.atmosfogstartdistance = 71.7805; + var_00.atmosfogdistancescale = 9.42623; + var_00.atmosfogskydistance = 24590; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (-0.474168,-0.865133,0.163429); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 1232.4; + var_00.red = 0.563022; + var_00.green = 0.920391; + var_00.blue = 0.375355; + var_00.hdrcolorintensity = 15.9699; + var_00.maxopacity = 0.870537; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.291899; + var_00.sungreen = 0.435754; + var_00.sunblue = 0.1819; + var_00.hdrsuncolorintensity = 16.6475; + var_00.sundir = (-0.546391,-0.14727,0.824481); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 36.694; + var_00.normalfogscale = 2.78604; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.484637,0.920391,0.255807); + var_00.atmosfoghazecolor = (1,0.778993,0.417681); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0322783; + var_00.atmosfogextinctionstrength = 0.916667; + var_00.atmosfoginscatterstrength = 16.3525; + var_00.atmosfoghalfplanedistance = 1640.34; + var_00.atmosfogstartdistance = 71.7805; + var_00.atmosfogdistancescale = 9.42623; + var_00.atmosfogskydistance = 24590; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (-0.474168,-0.865133,0.163429); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 12.2088; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.843717; + var_00.sungreen = 0.867188; + var_00.sunblue = 1; + var_00.hdrsuncolorintensity = 12.9999; + var_00.sundir = (-0.852771,0.00105372,0.522284); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 70.0092; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.718748,0.835934,1); + var_00.atmosfoghazecolor = (1,1,0.694936); + var_00.atmosfoghazestrength = 0.585938; + var_00.atmosfoghazespread = 0.0468457; + var_00.atmosfogextinctionstrength = 0.148435; + var_00.atmosfoginscatterstrength = 17.7453; + var_00.atmosfoghalfplanedistance = 14548.7; + var_00.atmosfogstartdistance = 534.433; + var_00.atmosfogdistancescale = 2.75; + var_00.atmosfogskydistance = 40960; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -26; + var_00.atmosfogskyfalloffanglerange = 28; + var_00.atmosfogsundirection = (0.0601936,0.0630307,0.996195); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -272.225; + var_00.atmosfogheightfoghalfplanedistance = 571.805; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_torqued_art.gsc b/AW/PC/maps/createart/mp_torqued_art.gsc new file mode 100644 index 0000000..3d526f6 --- /dev/null +++ b/AW/PC/maps/createart/mp_torqued_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_torqued_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:07:09 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_torqued_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_torqued_fog::setupfog(); + } + + visionsetnaked("mp_torqued",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_torqued_fog.gsc b/AW/PC/maps/createart/mp_torqued_fog.gsc new file mode 100644 index 0000000..6b18b15 --- /dev/null +++ b/AW/PC/maps/createart/mp_torqued_fog.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_torqued_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:07:09 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_torqued"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.866131; + var_00.green = 0.897013; + var_00.blue = 0.927724; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_torqued_fog_hdr.gsc b/AW/PC/maps/createart/mp_torqued_fog_hdr.gsc new file mode 100644 index 0000000..dd48b05 --- /dev/null +++ b/AW/PC/maps/createart/mp_torqued_fog_hdr.gsc @@ -0,0 +1,412 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_torqued_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 44 ms + * Timestamp: 4/22/2024 2:07:10 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 12.2088; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_torqued"); + var_00.startdist = 1974.47; + var_00.halfwaydist = 23911.5; + var_00.red = 0.3847; + var_00.green = 0.3984; + var_00.blue = 0.412; + var_00.hdrcolorintensity = 16; + var_00.maxopacity = 0.579725; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.177305,0.276322,0.430545); + var_00.atmosfoghazecolor = (0.936487,0.936249,0.936249); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.332887; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 15.234; + var_00.atmosfoghalfplanedistance = 94631.7; + var_00.atmosfogstartdistance = 2348.77; + var_00.atmosfogdistancescale = 2.19522; + var_00.atmosfogskydistance = 3482; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -22.7644; + var_00.atmosfogskyfalloffanglerange = 216.886; + var_00.atmosfogsundirection = (0.879538,-0.47565,0.0130385); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 6815.14; + var_00.atmosfogheightfoghalfplanedistance = 3545.64; + var_00 = maps\mp\_art::create_vision_set_fog("mp_torqued_osp"); + var_00.startdist = 1974.47; + var_00.halfwaydist = 23911.5; + var_00.red = 0; + var_00.green = 0; + var_00.blue = 0; + var_00.hdrcolorintensity = 1; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.177305,0.276322,0.430545); + var_00.atmosfoghazecolor = (0.936487,0.936249,0.936249); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.332887; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 15.234; + var_00.atmosfoghalfplanedistance = 94631.7; + var_00.atmosfogstartdistance = 2348.77; + var_00.atmosfogdistancescale = 2.19522; + var_00.atmosfogskydistance = 3482; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -22.7644; + var_00.atmosfogskyfalloffanglerange = 216.886; + var_00.atmosfogsundirection = (0.879538,-0.47565,0.0130385); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 6815.14; + var_00.atmosfogheightfoghalfplanedistance = 3545.64; + var_00 = maps\mp\_art::create_vision_set_fog("mp_torqued_cg"); + var_00.startdist = 865.989; + var_00.halfwaydist = 7798.27; + var_00.red = 0.444769; + var_00.green = 0.51109; + var_00.blue = 0.591768; + var_00.hdrcolorintensity = 11.7526; + var_00.maxopacity = 0.966505; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_torqued_interior"); + var_00.startdist = 1974.47; + var_00.halfwaydist = 23911.5; + var_00.red = 0.3847; + var_00.green = 0.3984; + var_00.blue = 0.412; + var_00.hdrcolorintensity = 16; + var_00.maxopacity = 0.579725; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.283181,0.371559,0.63375); + var_00.atmosfoghazecolor = (0.936487,0.936249,0.936249); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.332887; + var_00.atmosfogextinctionstrength = 0.93598; + var_00.atmosfoginscatterstrength = 14.591; + var_00.atmosfoghalfplanedistance = 96860; + var_00.atmosfogstartdistance = 13566.8; + var_00.atmosfogdistancescale = 9.21533; + var_00.atmosfogskydistance = 87117; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 7.9463; + var_00.atmosfogskyfalloffanglerange = 33.0916; + var_00.atmosfogsundirection = (0.879538,-0.47565,0.0130385); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 6815.14; + var_00.atmosfogheightfoghalfplanedistance = 3545.64; + var_00 = maps\mp\_art::create_vision_set_fog("mp_torqued_interior_cg"); + var_00.startdist = 500; + var_00.halfwaydist = 2500; + var_00.red = 0.136846; + var_00.green = 0.193797; + var_00.blue = 0.290413; + var_00.hdrcolorintensity = 13.75; + var_00.maxopacity = 0.92645; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb"); + var_00.startdist = 670.438; + var_00.halfwaydist = 2489.07; + var_00.red = 0.802175; + var_00.green = 0.697121; + var_00.blue = 0.750972; + var_00.hdrcolorintensity = 10.5; + var_00.maxopacity = 0.649765; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0,0.992188,0); + var_00.atmosfoghazecolor = (0,1,0); + var_00.atmosfoghazestrength = 0.448502; + var_00.atmosfoghazespread = 0.470907; + var_00.atmosfogextinctionstrength = 0.318007; + var_00.atmosfoginscatterstrength = 16.7077; + var_00.atmosfoghalfplanedistance = 1373.15; + var_00.atmosfogstartdistance = -1000; + var_00.atmosfogdistancescale = 1.02575; + var_00.atmosfogskydistance = 383809; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 25.707; + var_00.atmosfogskyfalloffanglerange = 153.34; + var_00.atmosfogsundirection = (0.92988,-0.158406,0.332011); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -4790.35; + var_00.atmosfogheightfoghalfplanedistance = 4340.9; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 45.2901; + var_00.red = 0.563022; + var_00.green = 0.920391; + var_00.blue = 0.375355; + var_00.hdrcolorintensity = 15.2199; + var_00.maxopacity = 0.612724; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = -2; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = -16; + var_00.heightfoghalfplanedistance = 6696; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.484637,0.920391,0.255807); + var_00.atmosfoghazecolor = (1,0.778993,0.417681); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0322783; + var_00.atmosfogextinctionstrength = 0.916667; + var_00.atmosfoginscatterstrength = 16.3525; + var_00.atmosfoghalfplanedistance = 1640.34; + var_00.atmosfogstartdistance = 71.7805; + var_00.atmosfogdistancescale = 9.42623; + var_00.atmosfogskydistance = 24590; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (-0.474168,-0.865133,0.163429); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; + var_00 = maps\mp\_art::create_vision_set_fog("generic_underwater"); + var_00.startdist = 0; + var_00.halfwaydist = 200; + var_00.red = 0.757813; + var_00.green = 1; + var_00.blue = 0.873385; + var_00.hdrcolorintensity = 11.0341; + var_00.maxopacity = 0.76729; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.584985; + var_00.sungreen = 0.601561; + var_00.sunblue = 0.420894; + var_00.hdrsuncolorintensity = 9.41414; + var_00.sundir = (0.0834606,-0.0251091,-0.996195); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 150; + var_00.normalfogscale = 0.86624; + var_00.skyfogintensity = 0.974826; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.10518,0.377824,0.556656); + var_00.atmosfoghazecolor = (0.0620144,0.193474,0.218896); + var_00.atmosfoghazestrength = 0.486152; + var_00.atmosfoghazespread = 0.276052; + var_00.atmosfogextinctionstrength = 0.975412; + var_00.atmosfoginscatterstrength = 16.9488; + var_00.atmosfoghalfplanedistance = 2277.51; + var_00.atmosfogstartdistance = -1000; + var_00.atmosfogdistancescale = 2.53107; + var_00.atmosfogskydistance = 136839; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 15.589; + var_00.atmosfogskyfalloffanglerange = 517.097; + var_00.atmosfogsundirection = (0.986817,0.0831395,0.138855); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 5511.67; + var_00.atmosfogheightfoghalfplanedistance = 9363.35; + var_00 = maps\mp\_art::create_vision_set_fog("mp_torqued_avalanche"); + var_00.startdist = 0; + var_00.halfwaydist = 260; + var_00.red = 0.463177; + var_00.green = 0.558081; + var_00.blue = 0.64287; + var_00.hdrcolorintensity = 11; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_urban_art.gsc b/AW/PC/maps/createart/mp_urban_art.gsc new file mode 100644 index 0000000..2a06727 --- /dev/null +++ b/AW/PC/maps/createart/mp_urban_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_urban_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:07:10 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_urban_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_urban_fog::setupfog(); + } + + visionsetnaked("mp_urban",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_urban_fog.gsc b/AW/PC/maps/createart/mp_urban_fog.gsc new file mode 100644 index 0000000..aabfe76 --- /dev/null +++ b/AW/PC/maps/createart/mp_urban_fog.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_urban_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:07:10 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_urban"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_urban_fog_hdr.gsc b/AW/PC/maps/createart/mp_urban_fog_hdr.gsc new file mode 100644 index 0000000..c6ca05b --- /dev/null +++ b/AW/PC/maps/createart/mp_urban_fog_hdr.gsc @@ -0,0 +1,328 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_urban_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 2:07:11 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_urban"); + var_00.startdist = 17346.3; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 9.27271; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0.15625; + var_00.atmosfoghazespread = 0.304688; + var_00.atmosfogextinctionstrength = 0.867188; + var_00.atmosfoginscatterstrength = 13.5; + var_00.atmosfoghalfplanedistance = 8232.1; + var_00.atmosfogstartdistance = 619.551; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0650701,0.893814,0.443693); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 1664; + var_00.atmosfogheightfoghalfplanedistance = 1896; + var_00 = maps\mp\_art::create_vision_set_fog("mp_urban_cg"); + var_00.startdist = 593.954; + var_00.halfwaydist = 10106.9; + var_00.red = 0.854913; + var_00.green = 0.903469; + var_00.blue = 0.954951; + var_00.hdrcolorintensity = 11.2892; + var_00.maxopacity = 0.151804; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0.15625; + var_00.atmosfoghazespread = 0.304688; + var_00.atmosfogextinctionstrength = 0.867188; + var_00.atmosfoginscatterstrength = 13.5; + var_00.atmosfoghalfplanedistance = 8232.1; + var_00.atmosfogstartdistance = 619.551; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0650701,0.893814,0.443693); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 1664; + var_00.atmosfogheightfoghalfplanedistance = 1896; + var_00 = maps\mp\_art::create_vision_set_fog("mp_urban_osp"); + var_00.startdist = 17346.3; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 9.27271; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0.15625; + var_00.atmosfoghazespread = 0.304688; + var_00.atmosfogextinctionstrength = 0.867188; + var_00.atmosfoginscatterstrength = 13.5; + var_00.atmosfoghalfplanedistance = 8232.1; + var_00.atmosfogstartdistance = 619.551; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0650701,0.893814,0.443693); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 1664; + var_00.atmosfogheightfoghalfplanedistance = 1896; + var_00 = maps\mp\_art::create_vision_set_fog("mp_urban_drone"); + var_00.startdist = 17346.3; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 9.27271; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0.15625; + var_00.atmosfoghazespread = 0.304688; + var_00.atmosfogextinctionstrength = 0.867188; + var_00.atmosfoginscatterstrength = 13.5; + var_00.atmosfoghalfplanedistance = 8232.1; + var_00.atmosfogstartdistance = 619.551; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0650701,0.893814,0.443693); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 1664; + var_00.atmosfogheightfoghalfplanedistance = 1896; + var_00 = maps\mp\_art::create_vision_set_fog("mp_urban_warbird"); + var_00.startdist = 17346.3; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 9.27271; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0.15625; + var_00.atmosfoghazespread = 0.304688; + var_00.atmosfogextinctionstrength = 0.867188; + var_00.atmosfoginscatterstrength = 13.5; + var_00.atmosfoghalfplanedistance = 8232.1; + var_00.atmosfogstartdistance = 619.551; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0650701,0.893814,0.443693); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 1664; + var_00.atmosfogheightfoghalfplanedistance = 1896; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb"); + var_00.startdist = 670.438; + var_00.halfwaydist = 2489.07; + var_00.red = 0.802175; + var_00.green = 0.697121; + var_00.blue = 0.750972; + var_00.hdrcolorintensity = 10.5; + var_00.maxopacity = 0.649765; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.03125,1,0.03125); + var_00.atmosfoghazecolor = (0.0625,1,0.0625); + var_00.atmosfoghazestrength = 0.429688; + var_00.atmosfoghazespread = 0.664063; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 17.3333; + var_00.atmosfoghalfplanedistance = 43.699; + var_00.atmosfogstartdistance = 24; + var_00.atmosfogdistancescale = 0.4375; + var_00.atmosfogskydistance = 294912; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 39; + var_00.atmosfogskyfalloffanglerange = 300; + var_00.atmosfogsundirection = (-0.237131,0.864942,0.442317); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 1.48761; + var_00.atmosfogheightfoghalfplanedistance = 351.288; + var_00 = maps\mp\_art::create_vision_set_fog("dna_bomb_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 786.324; + var_00.red = 0.563022; + var_00.green = 0.920391; + var_00.blue = 0.375355; + var_00.hdrcolorintensity = 15.2199; + var_00.maxopacity = 0.870537; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (-0.273734,-0.956553,-0.100377); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.484637,0.920391,0.255807); + var_00.atmosfoghazecolor = (1,0.778993,0.417681); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.0322783; + var_00.atmosfogextinctionstrength = 0.916667; + var_00.atmosfoginscatterstrength = 16.3525; + var_00.atmosfoghalfplanedistance = 1640.34; + var_00.atmosfogstartdistance = 71.7805; + var_00.atmosfogdistancescale = 9.42623; + var_00.atmosfogskydistance = 24590; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -8; + var_00.atmosfogskyfalloffanglerange = 0; + var_00.atmosfogsundirection = (-0.474168,-0.865133,0.163429); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 293.646; + var_00.atmosfogheightfoghalfplanedistance = 1471.65; + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 9.45248; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/MP/maps/createart/mp_venus_art.gsc b/AW/PC/maps/createart/mp_venus_art.gsc similarity index 79% rename from AW/PC/MP/maps/createart/mp_venus_art.gsc rename to AW/PC/maps/createart/mp_venus_art.gsc index 4bb77f9..11aa47b 100644 --- a/AW/PC/MP/maps/createart/mp_venus_art.gsc +++ b/AW/PC/maps/createart/mp_venus_art.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/createart/mp_venus_art.gsc + * Decompiled File: createart\mp_venus_art.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 14 ms - * Timestamp: 10/27/2023 1:48:20 AM + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 2:07:11 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/createart/mp_venus_fog.gsc b/AW/PC/maps/createart/mp_venus_fog.gsc similarity index 83% rename from AW/PC/MP/maps/createart/mp_venus_fog.gsc rename to AW/PC/maps/createart/mp_venus_fog.gsc index 75554ab..e2832db 100644 --- a/AW/PC/MP/maps/createart/mp_venus_fog.gsc +++ b/AW/PC/maps/createart/mp_venus_fog.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/createart/mp_venus_fog.gsc + * Decompiled File: createart\mp_venus_fog.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 29 ms - * Timestamp: 10/27/2023 1:48:20 AM + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:07:12 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/createart/mp_venus_fog_hdr.gsc b/AW/PC/maps/createart/mp_venus_fog_hdr.gsc similarity index 98% rename from AW/PC/MP/maps/createart/mp_venus_fog_hdr.gsc rename to AW/PC/maps/createart/mp_venus_fog_hdr.gsc index 480ca66..1e4ceae 100644 --- a/AW/PC/MP/maps/createart/mp_venus_fog_hdr.gsc +++ b/AW/PC/maps/createart/mp_venus_fog_hdr.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/createart/mp_venus_fog_hdr.gsc + * Decompiled File: createart\mp_venus_fog_hdr.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 1:48:21 AM + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 2:07:12 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/createart/mp_vlobby_room_art.gsc b/AW/PC/maps/createart/mp_vlobby_room_art.gsc new file mode 100644 index 0000000..a22e7dc --- /dev/null +++ b/AW/PC/maps/createart/mp_vlobby_room_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_vlobby_room_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:07:12 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_vlobby_room_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_vlobby_room_fog::setupfog(); + } + + visionsetnaked("mp_vlobby_room",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_vlobby_room_fog.gsc b/AW/PC/maps/createart/mp_vlobby_room_fog.gsc new file mode 100644 index 0000000..07264b3 --- /dev/null +++ b/AW/PC/maps/createart/mp_vlobby_room_fog.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_vlobby_room_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:07:13 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_vlobby_room"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_vlobby_room_fog_hdr.gsc b/AW/PC/maps/createart/mp_vlobby_room_fog_hdr.gsc new file mode 100644 index 0000000..5d403c5 --- /dev/null +++ b/AW/PC/maps/createart/mp_vlobby_room_fog_hdr.gsc @@ -0,0 +1,160 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_vlobby_room_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 55 ms + * Timestamp: 4/22/2024 2:07:13 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_virtual_lobby"); + var_00.startdist = 161.017; + var_00.halfwaydist = 11144; + var_00.red = 0.225708; + var_00.green = 0.270302; + var_00.blue = 0.335938; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0.976563; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.523438,0.523438,0.523438); + var_00.atmosfoghazecolor = (0.523438,0.523438,0.523438); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.164063; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 13.5; + var_00.atmosfoghalfplanedistance = 1257.86; + var_00.atmosfogstartdistance = 886.364; + var_00.atmosfogdistancescale = 1.5; + var_00.atmosfogskydistance = 17622; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -33; + var_00.atmosfogskyfalloffanglerange = 200; + var_00.atmosfogsundirection = (0.412467,-0.716527,0.562548); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 168; + var_00 = maps\mp\_art::create_vision_set_fog("mp_virtual_lobby_fr"); + var_00.startdist = 91.14; + var_00.halfwaydist = 2489.07; + var_00.red = 0.914; + var_00.green = 0.976; + var_00.blue = 1; + var_00.hdrcolorintensity = 6; + var_00.maxopacity = 0.649765; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00 = maps\mp\_art::create_vision_set_fog("mp_virtual_lobby_fr_cg"); + var_00.startdist = 91.14; + var_00.halfwaydist = 2489.07; + var_00.red = 0.914; + var_00.green = 0.976; + var_00.blue = 1; + var_00.hdrcolorintensity = 6; + var_00.maxopacity = 0.649765; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 91.14; + var_00.halfwaydist = 2489.07; + var_00.red = 0.914; + var_00.green = 0.976; + var_00.blue = 1; + var_00.hdrcolorintensity = 16.288; + var_00.maxopacity = 0.649765; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 90; + var_00 = maps\mp\_art::create_vision_set_fog("mp_vlobby_room"); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 12.2088; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.369932,0.477196,0.546875); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 19; + var_00.atmosfoghalfplanedistance = 20926.6; + var_00.atmosfogstartdistance = -0.62921; + var_00.atmosfogdistancescale = 1.0045; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_zombie_ark_art.gsc b/AW/PC/maps/createart/mp_zombie_ark_art.gsc new file mode 100644 index 0000000..8e63961 --- /dev/null +++ b/AW/PC/maps/createart/mp_zombie_ark_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_zombie_ark_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 29 ms + * Timestamp: 4/22/2024 2:07:14 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_zombie_ark_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_zombie_ark_fog::setupfog(); + } + + visionsetnaked("mp_zombie_ark",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_zombie_ark_fog.gsc b/AW/PC/maps/createart/mp_zombie_ark_fog.gsc new file mode 100644 index 0000000..0f8a5a7 --- /dev/null +++ b/AW/PC/maps/createart/mp_zombie_ark_fog.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_zombie_ark_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 57 ms + * Timestamp: 4/22/2024 2:07:14 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_ark"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_zombie_ark_fog_hdr.gsc b/AW/PC/maps/createart/mp_zombie_ark_fog_hdr.gsc new file mode 100644 index 0000000..3cc6f9a --- /dev/null +++ b/AW/PC/maps/createart/mp_zombie_ark_fog_hdr.gsc @@ -0,0 +1,567 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_zombie_ark_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 56 ms + * Timestamp: 4/22/2024 2:07:14 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_ark"); + var_00.startdist = 17346.3; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 9.27271; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.5; + var_00.atmosfogextinctionstrength = 0.460938; + var_00.atmosfoginscatterstrength = 13.25; + var_00.atmosfoghalfplanedistance = 2104.33; + var_00.atmosfogstartdistance = 156.343; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 205; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -32; + var_00.atmosfogskyfalloffanglerange = 70; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1578.87; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_ark_intoxicated"); + var_00.startdist = 310.345; + var_00.halfwaydist = 1654.67; + var_00.red = 0.0521825; + var_00.green = 0.0586488; + var_00.blue = 0.0653548; + var_00.hdrcolorintensity = 13.5363; + var_00.maxopacity = 0.950129; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 0.926996; + var_00.hdrsuncolorintensity = 8.71153; + var_00.sundir = (-0.890628,0.176135,0.419236); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 62.4934; + var_00.normalfogscale = 1.00853; + var_00.skyfogintensity = 0.90825; + var_00.skyfogminangle = 48.5106; + var_00.skyfogmaxangle = 74.0837; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_ark_underwater"); + var_00.startdist = 17346.3; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 9.27271; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 0.926996; + var_00.hdrsuncolorintensity = 8.71153; + var_00.sundir = (-0.890628,0.176135,0.419236); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 62.4934; + var_00.normalfogscale = 1.00853; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 1; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 10; + var_00.atmosfoghalfplanedistance = 388.273; + var_00.atmosfogstartdistance = 4.76062; + var_00.atmosfogdistancescale = 4; + var_00.atmosfogskydistance = 106701; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -32; + var_00.atmosfogskyfalloffanglerange = 70; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1578.87; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_ark_moonpool"); + var_00.startdist = 17346.3; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 9.27271; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.5; + var_00.atmosfogextinctionstrength = 0.242188; + var_00.atmosfoginscatterstrength = 13.25; + var_00.atmosfoghalfplanedistance = 2104.33; + var_00.atmosfogstartdistance = 156.343; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 205; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -32; + var_00.atmosfogskyfalloffanglerange = 70; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1578.87; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_ark_infected"); + var_00.startdist = 17346.3; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 9.27271; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.5; + var_00.atmosfogextinctionstrength = 0.460938; + var_00.atmosfoginscatterstrength = 13.25; + var_00.atmosfoghalfplanedistance = 2104.33; + var_00.atmosfogstartdistance = 156.343; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 205; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -32; + var_00.atmosfogskyfalloffanglerange = 70; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1578.87; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_ark_infected_uber"); + var_00.startdist = 17346.3; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 9.27271; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.5; + var_00.atmosfogextinctionstrength = 0.460938; + var_00.atmosfoginscatterstrength = 13.25; + var_00.atmosfoghalfplanedistance = 2104.33; + var_00.atmosfogstartdistance = 156.343; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 205; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -32; + var_00.atmosfogskyfalloffanglerange = 70; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1578.87; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_ark_cg"); + var_00.startdist = 350; + var_00.halfwaydist = 5500; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 9.27271; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.5; + var_00.atmosfogextinctionstrength = 0.460938; + var_00.atmosfoginscatterstrength = 13.25; + var_00.atmosfoghalfplanedistance = 2104.33; + var_00.atmosfogstartdistance = 156.343; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 205; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -32; + var_00.atmosfogskyfalloffanglerange = 70; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1578.87; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_ark_intoxicated_cg"); + var_00.startdist = 310.345; + var_00.halfwaydist = 1654.67; + var_00.red = 0.0521825; + var_00.green = 0.0586488; + var_00.blue = 0.0653548; + var_00.hdrcolorintensity = 13.5363; + var_00.maxopacity = 0.950129; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 0.926996; + var_00.hdrsuncolorintensity = 8.71153; + var_00.sundir = (-0.890628,0.176135,0.419236); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 62.4934; + var_00.normalfogscale = 1.00853; + var_00.skyfogintensity = 0.90825; + var_00.skyfogminangle = 48.5106; + var_00.skyfogmaxangle = 74.0837; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_ark_underwater_cg"); + var_00.startdist = 17346.3; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 9.27271; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 0.926996; + var_00.hdrsuncolorintensity = 8.71153; + var_00.sundir = (-0.890628,0.176135,0.419236); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 62.4934; + var_00.normalfogscale = 1.00853; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 1; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 10; + var_00.atmosfoghalfplanedistance = 388.273; + var_00.atmosfogstartdistance = 4.76062; + var_00.atmosfogdistancescale = 4; + var_00.atmosfogskydistance = 106701; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -32; + var_00.atmosfogskyfalloffanglerange = 70; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1578.87; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_ark_moonpool_cg"); + var_00.startdist = 350; + var_00.halfwaydist = 5500; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 9.27271; + var_00.maxopacity = 1; + var_00.hdrcolorintensity = 9.27271; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.5; + var_00.atmosfogextinctionstrength = 0.460938; + var_00.atmosfoginscatterstrength = 13.25; + var_00.atmosfoghalfplanedistance = 2104.33; + var_00.atmosfogstartdistance = 156.343; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 205; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -32; + var_00.atmosfogskyfalloffanglerange = 70; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1578.87; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_ark_infected_cg"); + var_00.startdist = 17346.3; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 9.27271; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.5; + var_00.atmosfogextinctionstrength = 0.460938; + var_00.atmosfoginscatterstrength = 13.25; + var_00.atmosfoghalfplanedistance = 2104.33; + var_00.atmosfogstartdistance = 156.343; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 205; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -32; + var_00.atmosfogskyfalloffanglerange = 70; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1578.87; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_ark_infected_uber_cg"); + var_00.startdist = 17346.3; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 9.27271; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.5; + var_00.atmosfogextinctionstrength = 0.460938; + var_00.atmosfoginscatterstrength = 13.25; + var_00.atmosfoghalfplanedistance = 2104.33; + var_00.atmosfogstartdistance = 156.343; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 205; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -32; + var_00.atmosfogskyfalloffanglerange = 70; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1578.87; + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 17346.3; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 9.27271; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 0; + var_00.atmosfoghazespread = 0.5; + var_00.atmosfogextinctionstrength = 0.460938; + var_00.atmosfoginscatterstrength = 13.25; + var_00.atmosfoghalfplanedistance = 2104.33; + var_00.atmosfogstartdistance = 156.343; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 205; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = -32; + var_00.atmosfogskyfalloffanglerange = 70; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1578.87; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_zombie_brg_art.gsc b/AW/PC/maps/createart/mp_zombie_brg_art.gsc new file mode 100644 index 0000000..3870e72 --- /dev/null +++ b/AW/PC/maps/createart/mp_zombie_brg_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_zombie_brg_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:07:15 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_zombie_brg_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_zombie_brg_fog::setupfog(); + } + + visionsetnaked("mp_zombie_brg",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_zombie_brg_fog.gsc b/AW/PC/maps/createart/mp_zombie_brg_fog.gsc new file mode 100644 index 0000000..e6c1ae5 --- /dev/null +++ b/AW/PC/maps/createart/mp_zombie_brg_fog.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_zombie_brg_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 2:07:15 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_brg"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_zombie_brg_fog_hdr.gsc b/AW/PC/maps/createart/mp_zombie_brg_fog_hdr.gsc new file mode 100644 index 0000000..47e269b --- /dev/null +++ b/AW/PC/maps/createart/mp_zombie_brg_fog_hdr.gsc @@ -0,0 +1,313 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_zombie_brg_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 69 ms + * Timestamp: 4/22/2024 2:07:16 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_brg"); + var_00.startdist = 6430.71; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 12.029; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.628868; + var_00.sungreen = 0.534115; + var_00.sunblue = 0.501946; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.643505,0.568666,0.534814); + var_00.atmosfoghazecolor = (0.871631,0.518852,0.366639); + var_00.atmosfoghazestrength = 0.0137574; + var_00.atmosfoghazespread = 0.016771; + var_00.atmosfogextinctionstrength = 0.78521; + var_00.atmosfoginscatterstrength = 11.1982; + var_00.atmosfoghalfplanedistance = 14825.5; + var_00.atmosfogstartdistance = 456.868; + var_00.atmosfogdistancescale = 2.78127; + var_00.atmosfogskydistance = 30245; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 40.1409; + var_00.atmosfogskyfalloffanglerange = 306.571; + var_00.atmosfogsundirection = (-0.873682,0.427975,0.231338); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 365.344; + var_00.atmosfogheightfoghalfplanedistance = 95.0963; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_brg_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 1200; + var_00.red = 0.15016; + var_00.green = 0.178408; + var_00.blue = 0.149917; + var_00.hdrcolorintensity = 9; + var_00.maxopacity = 0.9145; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.643505,0.568666,0.534814); + var_00.atmosfoghazecolor = (0.871631,0.518852,0.366639); + var_00.atmosfoghazestrength = 0.0137574; + var_00.atmosfoghazespread = 0.016771; + var_00.atmosfogextinctionstrength = 0.78521; + var_00.atmosfoginscatterstrength = 11.1982; + var_00.atmosfoghalfplanedistance = 14825.5; + var_00.atmosfogstartdistance = 456.868; + var_00.atmosfogdistancescale = 2.78127; + var_00.atmosfogskydistance = 30245; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 40.1409; + var_00.atmosfogskyfalloffanglerange = 306.571; + var_00.atmosfogsundirection = (-0.873682,0.427975,0.231338); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 365.344; + var_00.atmosfogheightfoghalfplanedistance = 95.0963; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_brg_sewers"); + var_00.startdist = 6430.71; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 12.029; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.628868; + var_00.sungreen = 0.534115; + var_00.sunblue = 0.501946; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.643505,0.568666,0.534814); + var_00.atmosfoghazecolor = (0.871631,0.518852,0.366639); + var_00.atmosfoghazestrength = 0.0137574; + var_00.atmosfoghazespread = 0.016771; + var_00.atmosfogextinctionstrength = 0.78521; + var_00.atmosfoginscatterstrength = 11.1982; + var_00.atmosfoghalfplanedistance = 14825.5; + var_00.atmosfogstartdistance = 456.868; + var_00.atmosfogdistancescale = 2.78127; + var_00.atmosfogskydistance = 30245; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 40.1409; + var_00.atmosfogskyfalloffanglerange = 306.571; + var_00.atmosfogsundirection = (-0.873682,0.427975,0.231338); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 365.344; + var_00.atmosfogheightfoghalfplanedistance = 95.0963; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_brg_sewers_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 1200; + var_00.red = 0.190339; + var_00.green = 0.123556; + var_00.blue = 0.103904; + var_00.hdrcolorintensity = 9; + var_00.maxopacity = 0.9145; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.628868; + var_00.sungreen = 0.534115; + var_00.sunblue = 0.501946; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.643505,0.568666,0.534814); + var_00.atmosfoghazecolor = (0.871631,0.518852,0.366639); + var_00.atmosfoghazestrength = 0.0137574; + var_00.atmosfoghazespread = 0.016771; + var_00.atmosfogextinctionstrength = 0.78521; + var_00.atmosfoginscatterstrength = 11.1982; + var_00.atmosfoghalfplanedistance = 14825.5; + var_00.atmosfogstartdistance = 456.868; + var_00.atmosfogdistancescale = 2.78127; + var_00.atmosfogskydistance = 30245; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 40.1409; + var_00.atmosfogskyfalloffanglerange = 306.571; + var_00.atmosfogsundirection = (-0.873682,0.427975,0.231338); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 365.344; + var_00.atmosfogheightfoghalfplanedistance = 95.0963; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_lab_infected"); + var_00.startdist = 6430.71; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 12.029; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.628868; + var_00.sungreen = 0.534115; + var_00.sunblue = 0.501946; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.643505,0.568666,0.534814); + var_00.atmosfoghazecolor = (0.871631,0.518852,0.366639); + var_00.atmosfoghazestrength = 0.0137574; + var_00.atmosfoghazespread = 0.016771; + var_00.atmosfogextinctionstrength = 0.78521; + var_00.atmosfoginscatterstrength = 11.1982; + var_00.atmosfoghalfplanedistance = 14825.5; + var_00.atmosfogstartdistance = 456.868; + var_00.atmosfogdistancescale = 2.78127; + var_00.atmosfogskydistance = 30245; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 40.1409; + var_00.atmosfogskyfalloffanglerange = 306.571; + var_00.atmosfogsundirection = (-0.873682,0.427975,0.231338); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 365.344; + var_00.atmosfogheightfoghalfplanedistance = 95.0963; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_lab_infected_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 1200; + var_00.red = 0.190339; + var_00.green = 0.123556; + var_00.blue = 0.103904; + var_00.hdrcolorintensity = 9; + var_00.maxopacity = 0.9145; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.628868; + var_00.sungreen = 0.534115; + var_00.sunblue = 0.501946; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.643505,0.568666,0.534814); + var_00.atmosfoghazecolor = (0.871631,0.518852,0.366639); + var_00.atmosfoghazestrength = 0.0137574; + var_00.atmosfoghazespread = 0.016771; + var_00.atmosfogextinctionstrength = 0.78521; + var_00.atmosfoginscatterstrength = 11.1982; + var_00.atmosfoghalfplanedistance = 14825.5; + var_00.atmosfogstartdistance = 456.868; + var_00.atmosfogdistancescale = 2.78127; + var_00.atmosfogskydistance = 30245; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 40.1409; + var_00.atmosfogskyfalloffanglerange = 306.571; + var_00.atmosfogsundirection = (-0.873682,0.427975,0.231338); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 365.344; + var_00.atmosfogheightfoghalfplanedistance = 95.0963; + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 12.2088; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_zombie_h2o_art.gsc b/AW/PC/maps/createart/mp_zombie_h2o_art.gsc new file mode 100644 index 0000000..3e41a73 --- /dev/null +++ b/AW/PC/maps/createart/mp_zombie_h2o_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_zombie_h2o_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 2:07:16 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_zombie_h2o_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_zombie_h2o_fog::setupfog(); + } + + visionsetnaked("mp_zombie_h2o",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_zombie_h2o_fog.gsc b/AW/PC/maps/createart/mp_zombie_h2o_fog.gsc new file mode 100644 index 0000000..de46017 --- /dev/null +++ b/AW/PC/maps/createart/mp_zombie_h2o_fog.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_zombie_h2o_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 47 ms + * Timestamp: 4/22/2024 2:07:17 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_h2o"); + var_00.startdist = 786; + var_00.halfwaydist = 55000; + var_00.red = 0.586; + var_00.green = 0.833; + var_00.blue = 0.817; + var_00.maxopacity = 0.5; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_zombie_h2o_fog_hdr.gsc b/AW/PC/maps/createart/mp_zombie_h2o_fog_hdr.gsc new file mode 100644 index 0000000..101015d --- /dev/null +++ b/AW/PC/maps/createart/mp_zombie_h2o_fog_hdr.gsc @@ -0,0 +1,775 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_zombie_h2o_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 63 ms + * Timestamp: 4/22/2024 2:07:17 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_h2o"); + var_00.startdist = 95.057; + var_00.halfwaydist = 1426.85; + var_00.red = 0.0336024; + var_00.green = 0.0398873; + var_00.blue = 0.0514901; + var_00.hdrcolorintensity = 10.0487; + var_00.maxopacity = 0.978045; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.0386862; + var_00.sungreen = 0.0559157; + var_00.sunblue = 0.071519; + var_00.hdrsuncolorintensity = 9.51996; + var_00.sundir = (-0.139025,0.981504,-0.759011); + var_00.sunbeginfadeangle = 9.69867; + var_00.sunendfadeangle = 50.174; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0.848249; + var_00.skyfogminangle = -40; + var_00.skyfogmaxangle = -64; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = -95.0576; + var_00.heightfoghalfplanedistance = 4430.21; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.420849,0.420849,0.420849); + var_00.atmosfoghazecolor = (0.423745,0.377191,0.304567); + var_00.atmosfoghazestrength = 1; + var_00.atmosfoghazespread = 0.09375; + var_00.atmosfogextinctionstrength = 0.5827; + var_00.atmosfoginscatterstrength = 9.37453; + var_00.atmosfoghalfplanedistance = 2049; + var_00.atmosfogstartdistance = 24; + var_00.atmosfogdistancescale = 0; + var_00.atmosfogskydistance = 131072; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 3.76427; + var_00.atmosfogskyfalloffanglerange = 12.3194; + var_00.atmosfogsundirection = (0.136082,0.578125,-0.448824); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 2816; + var_00.atmosfogheightfoghalfplanedistance = 3737.66; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_h2o_underwater"); + var_00.startdist = 1045.63; + var_00.halfwaydist = 1426.85; + var_00.red = 0.0516655; + var_00.green = 0.0889297; + var_00.blue = 0.14524; + var_00.hdrcolorintensity = 6.67015; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.342962; + var_00.sungreen = 0.533506; + var_00.sunblue = 0.789575; + var_00.hdrsuncolorintensity = 7.5; + var_00.sundir = (0.0209125,0.0209126,1); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 112.45; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 81.4449; + var_00.skyfogmaxangle = -90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 10000; + var_00.heightfoghalfplanedistance = 124.562; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_h2o_underwater2"); + var_00.startdist = 17346.3; + var_00.halfwaydist = 32487.6; + var_00.red = 1; + var_00.green = 0.957944; + var_00.blue = 0.747583; + var_00.hdrcolorintensity = 9.27271; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.342962; + var_00.sungreen = 0.533506; + var_00.sunblue = 0.789575; + var_00.hdrsuncolorintensity = 7.5; + var_00.sundir = (0.0209125,0.0209126,1); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 112.45; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (1,1,1); + var_00.atmosfoghazecolor = (1,1,1); + var_00.atmosfoghazestrength = 1; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 10; + var_00.atmosfoghalfplanedistance = 388.273; + var_00.atmosfogstartdistance = 4.76062; + var_00.atmosfogdistancescale = 4; + var_00.atmosfogskydistance = 106701; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = -32; + var_00.atmosfogskyfalloffanglerange = 70; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1578.87; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_h2o_underwater_walk"); + var_00.startdist = 760.456; + var_00.halfwaydist = 571.34; + var_00.red = 0.0183163; + var_00.green = 0.0315271; + var_00.blue = 0.05149; + var_00.hdrcolorintensity = 6.67015; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.0407236; + var_00.sungreen = 0.283249; + var_00.sunblue = 0.383325; + var_00.hdrsuncolorintensity = 7.5; + var_00.sundir = (0.0209125,0.0209126,1); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 112.45; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 81.4449; + var_00.skyfogmaxangle = -90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 10000; + var_00.heightfoghalfplanedistance = 124.562; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_h2o_boss"); + var_00.startdist = 1045.63; + var_00.halfwaydist = 1426.85; + var_00.red = 0.0516655; + var_00.green = 0.0889297; + var_00.blue = 0.14524; + var_00.hdrcolorintensity = 6.67015; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.342962; + var_00.sungreen = 0.533506; + var_00.sunblue = 0.789575; + var_00.hdrsuncolorintensity = 7.5; + var_00.sundir = (0.0209125,0.0209126,1); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 112.45; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 81.4449; + var_00.skyfogmaxangle = -90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 10000; + var_00.heightfoghalfplanedistance = 124.562; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_h2o_dream"); + var_00.startdist = 0; + var_00.halfwaydist = 856.51; + var_00.red = 0.0671151; + var_00.green = 0.0547286; + var_00.blue = 0.0437993; + var_00.hdrcolorintensity = 9.5; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 0.0543274; + var_00.sungreen = 0.054688; + var_00.sunblue = 0.0431523; + var_00.hdrsuncolorintensity = 8.5; + var_00.sundir = (0.00867403,0.00297058,1); + var_00.sunbeginfadeangle = 69; + var_00.sunendfadeangle = 90.1179; + var_00.normalfogscale = 2.0625; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = -90; + var_00.skyfogmaxangle = -90; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = -8041.83; + var_00.heightfoghalfplanedistance = 4762.88; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_h2o_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 1500; + var_00.red = 0.19979; + var_00.green = 0.209103; + var_00.blue = 0.331872; + var_00.hdrcolorintensity = 6.3; + var_00.maxopacity = 0.99; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.0543274; + var_00.sungreen = 0.054688; + var_00.sunblue = 0.0431523; + var_00.hdrsuncolorintensity = 8.5; + var_00.sundir = (0.00867403,0.00297058,1); + var_00.sunbeginfadeangle = 69; + var_00.sunendfadeangle = 90.1179; + var_00.normalfogscale = 2.0625; + var_00.skyfogintensity = 0.976563; + var_00.skyfogminangle = -90; + var_00.skyfogmaxangle = 53.038; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = -8041.83; + var_00.heightfoghalfplanedistance = 4762.88; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_h2o_underwater_cg"); + var_00.startdist = 1045.63; + var_00.halfwaydist = 1426.85; + var_00.red = 0.0516655; + var_00.green = 0.0889297; + var_00.blue = 0.14524; + var_00.hdrcolorintensity = 6.67015; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.0543274; + var_00.sungreen = 0.054688; + var_00.sunblue = 0.0431523; + var_00.hdrsuncolorintensity = 8.5; + var_00.sundir = (0.00867403,0.00297058,1); + var_00.sunbeginfadeangle = 69; + var_00.sunendfadeangle = 90.1179; + var_00.normalfogscale = 2.0625; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 81.4449; + var_00.skyfogmaxangle = -90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 10000; + var_00.heightfoghalfplanedistance = 124.562; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_h2o_underwater_walk_cg"); + var_00.startdist = 760.456; + var_00.halfwaydist = 571.34; + var_00.red = 0.0183163; + var_00.green = 0.0315271; + var_00.blue = 0.05149; + var_00.hdrcolorintensity = 6.67015; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.0543274; + var_00.sungreen = 0.054688; + var_00.sunblue = 0.0431523; + var_00.hdrsuncolorintensity = 8.5; + var_00.sundir = (0.00867403,0.00297058,1); + var_00.sunbeginfadeangle = 69; + var_00.sunendfadeangle = 90.1179; + var_00.normalfogscale = 2.0625; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 81.4449; + var_00.skyfogmaxangle = -90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 10000; + var_00.heightfoghalfplanedistance = 124.562; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_h2o_boss_cg"); + var_00.startdist = 1045.63; + var_00.halfwaydist = 1426.85; + var_00.red = 0.0516655; + var_00.green = 0.0889297; + var_00.blue = 0.14524; + var_00.hdrcolorintensity = 6.67015; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.0543274; + var_00.sungreen = 0.054688; + var_00.sunblue = 0.0431523; + var_00.hdrsuncolorintensity = 8.5; + var_00.sundir = (0.00867403,0.00297058,1); + var_00.sunbeginfadeangle = 69; + var_00.sunendfadeangle = 90.1179; + var_00.normalfogscale = 2.0625; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 81.4449; + var_00.skyfogmaxangle = -90; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 10000; + var_00.heightfoghalfplanedistance = 124.562; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_h2o_dream_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 856.51; + var_00.red = 0.0671151; + var_00.green = 0.0547286; + var_00.blue = 0.0437993; + var_00.hdrcolorintensity = 9.5; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.0543274; + var_00.sungreen = 0.054688; + var_00.sunblue = 0.0431523; + var_00.hdrsuncolorintensity = 8.5; + var_00.sundir = (0.00867403,0.00297058,1); + var_00.sunbeginfadeangle = 69; + var_00.sunendfadeangle = 90.1179; + var_00.normalfogscale = 2.0625; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = -90; + var_00.skyfogmaxangle = -90; + var_00.heightfogenabled = 1; + var_00.heightfogbaseheight = -8041.83; + var_00.heightfoghalfplanedistance = 4762.88; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_h2o_infected"); + var_00.startdist = 310.345; + var_00.halfwaydist = 1230.41; + var_00.red = 0.0521825; + var_00.green = 0.0586488; + var_00.blue = 0.0653548; + var_00.hdrcolorintensity = 13.5153; + var_00.maxopacity = 0.684397; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.0543274; + var_00.sungreen = 0.054688; + var_00.sunblue = 0.0431523; + var_00.hdrsuncolorintensity = 8.5; + var_00.sundir = (0.00867403,0.00297058,1); + var_00.sunbeginfadeangle = 69; + var_00.sunendfadeangle = 90.1179; + var_00.normalfogscale = 2.0625; + var_00.skyfogintensity = 0.90825; + var_00.skyfogminangle = -21.4894; + var_00.skyfogmaxangle = 66; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_h2o_infected_cg"); + var_00.startdist = 150; + var_00.halfwaydist = 1654.67; + var_00.red = 0.0521825; + var_00.green = 0.0586488; + var_00.blue = 0.0653548; + var_00.hdrcolorintensity = 13.5363; + var_00.maxopacity = 0.950129; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.0543274; + var_00.sungreen = 0.054688; + var_00.sunblue = 0.0431523; + var_00.hdrsuncolorintensity = 8.5; + var_00.sundir = (0.00867403,0.00297058,1); + var_00.sunbeginfadeangle = 69; + var_00.sunendfadeangle = 90.1179; + var_00.normalfogscale = 2.0625; + var_00.skyfogintensity = 0.90825; + var_00.skyfogminangle = 48.5106; + var_00.skyfogmaxangle = 74.0837; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_h2o_infected_crazy"); + var_00.startdist = 310.345; + var_00.halfwaydist = 1654.67; + var_00.red = 0.0521825; + var_00.green = 0.0586488; + var_00.blue = 0.0653548; + var_00.hdrcolorintensity = 13.5363; + var_00.maxopacity = 0.950129; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 0.926996; + var_00.hdrsuncolorintensity = 8.71153; + var_00.sundir = (-0.890628,0.176135,0.419236); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 62.4934; + var_00.normalfogscale = 1.00853; + var_00.skyfogintensity = 0.90825; + var_00.skyfogminangle = 48.5106; + var_00.skyfogmaxangle = 74.0837; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_h2o_infected_crazy_cg"); + var_00.startdist = 310.345; + var_00.halfwaydist = 1654.67; + var_00.red = 0.0521825; + var_00.green = 0.0586488; + var_00.blue = 0.0653548; + var_00.hdrcolorintensity = 13.5363; + var_00.maxopacity = 0.950129; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 0.926996; + var_00.hdrsuncolorintensity = 8.71153; + var_00.sundir = (-0.890628,0.176135,0.419236); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 62.4934; + var_00.normalfogscale = 1.00853; + var_00.skyfogintensity = 0.90825; + var_00.skyfogminangle = 48.5106; + var_00.skyfogmaxangle = 74.0837; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_h2o_hard"); + var_00.startdist = 310.345; + var_00.halfwaydist = 1654.67; + var_00.red = 0.0521825; + var_00.green = 0.0586488; + var_00.blue = 0.0653548; + var_00.hdrcolorintensity = 13.5363; + var_00.maxopacity = 0.950129; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 0.926996; + var_00.hdrsuncolorintensity = 8.71153; + var_00.sundir = (-0.890628,0.176135,0.419236); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 62.4934; + var_00.normalfogscale = 1.00853; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_h2o_infected_hard"); + var_00.startdist = 310.345; + var_00.halfwaydist = 1230.41; + var_00.red = 0.0521825; + var_00.green = 0.0586488; + var_00.blue = 0.0653548; + var_00.hdrcolorintensity = 13.5153; + var_00.maxopacity = 0.684397; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 0.926996; + var_00.hdrsuncolorintensity = 8.71153; + var_00.sundir = (-0.890628,0.176135,0.419236); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 62.4934; + var_00.normalfogscale = 1.00853; + var_00.skyfogintensity = 0.90825; + var_00.skyfogminangle = -21.4894; + var_00.skyfogmaxangle = 66; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog(""); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 12.2088; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 0.926996; + var_00.hdrsuncolorintensity = 8.71153; + var_00.sundir = (-0.890628,0.176135,0.419236); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 62.4934; + var_00.normalfogscale = 1.00853; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_zombie_lab_art.gsc b/AW/PC/maps/createart/mp_zombie_lab_art.gsc new file mode 100644 index 0000000..d4d137c --- /dev/null +++ b/AW/PC/maps/createart/mp_zombie_lab_art.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_zombie_lab_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:07:17 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + if(isusinghdr()) + { + maps\createart\mp_zombie_lab_fog_hdr::setupfog(); + } + else + { + maps\createart\mp_zombie_lab_fog::setupfog(); + } + + visionsetnaked("mp_zombie_lab",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_zombie_lab_fog.gsc b/AW/PC/maps/createart/mp_zombie_lab_fog.gsc new file mode 100644 index 0000000..8c390e9 --- /dev/null +++ b/AW/PC/maps/createart/mp_zombie_lab_fog.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_zombie_lab_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 2:07:18 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_lab"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/mp_zombie_lab_fog_hdr.gsc b/AW/PC/maps/createart/mp_zombie_lab_fog_hdr.gsc new file mode 100644 index 0000000..580deb6 --- /dev/null +++ b/AW/PC/maps/createart/mp_zombie_lab_fog_hdr.gsc @@ -0,0 +1,439 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\mp_zombie_lab_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 45 ms + * Timestamp: 4/22/2024 2:07:18 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_lab"); + var_00.startdist = 310.345; + var_00.halfwaydist = 1654.67; + var_00.red = 0.0521825; + var_00.green = 0.0586488; + var_00.blue = 0.0653548; + var_00.hdrcolorintensity = 13.5363; + var_00.maxopacity = 0.950129; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 0.926996; + var_00.hdrsuncolorintensity = 8.71153; + var_00.sundir = (-0.890628,0.176135,0.419236); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 62.4934; + var_00.normalfogscale = 1.00853; + var_00.skyfogintensity = 0.90825; + var_00.skyfogminangle = 48.5106; + var_00.skyfogmaxangle = 74.0837; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_lab_cg"); + var_00.startdist = 0.893372; + var_00.halfwaydist = 6539.69; + var_00.red = 0.248502; + var_00.green = 0.266121; + var_00.blue = 0.28345; + var_00.hdrcolorintensity = 11.3279; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 0; + var_00.sunblue = 0; + var_00.hdrsuncolorintensity = 1; + var_00.sundir = (1,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 180; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0.90825; + var_00.skyfogminangle = 48.5106; + var_00.skyfogmaxangle = 74.0837; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_lab_interior"); + var_00.startdist = 1000; + var_00.halfwaydist = 3000; + var_00.red = 0.0521825; + var_00.green = 0.0586488; + var_00.blue = 0.0653548; + var_00.hdrcolorintensity = 13.5363; + var_00.maxopacity = 0.950129; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 0.926996; + var_00.hdrsuncolorintensity = 8.71153; + var_00.sundir = (-0.890628,0.176135,0.419236); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 62.4934; + var_00.normalfogscale = 1.00853; + var_00.skyfogintensity = 0.90825; + var_00.skyfogminangle = 48.5106; + var_00.skyfogmaxangle = 74.0837; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_lab_interior_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 6567; + var_00.red = 0.439216; + var_00.green = 0.521569; + var_00.blue = 0.545098; + var_00.hdrcolorintensity = 11; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 0.961875; + var_00.hdrsuncolorintensity = 8.21756; + var_00.sundir = (-0.890653,-0.43211,0.123501); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 75.455; + var_00.normalfogscale = 1.00853; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 60; + var_00.skyfogmaxangle = 86.6304; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_lab_infected"); + var_00.startdist = 310.345; + var_00.halfwaydist = 1654.67; + var_00.red = 0.0521825; + var_00.green = 0.0586488; + var_00.blue = 0.0653548; + var_00.hdrcolorintensity = 13.5363; + var_00.maxopacity = 0.950129; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 0.926996; + var_00.hdrsuncolorintensity = 8.71153; + var_00.sundir = (-0.890628,0.176135,0.419236); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 62.4934; + var_00.normalfogscale = 1.00853; + var_00.skyfogintensity = 0.90825; + var_00.skyfogminangle = 48.5106; + var_00.skyfogmaxangle = 74.0837; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_lab_infected_cg"); + var_00.startdist = 150; + var_00.halfwaydist = 1654.67; + var_00.red = 0.0521825; + var_00.green = 0.0586488; + var_00.blue = 0.0653548; + var_00.hdrcolorintensity = 13.5363; + var_00.maxopacity = 0.950129; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 0.926996; + var_00.hdrsuncolorintensity = 8.71153; + var_00.sundir = (-0.890628,0.176135,0.419236); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 62.4934; + var_00.normalfogscale = 1.00853; + var_00.skyfogintensity = 0.90825; + var_00.skyfogminangle = 48.5106; + var_00.skyfogmaxangle = 74.0837; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_lab_infected_crazy"); + var_00.startdist = 310.345; + var_00.halfwaydist = 1654.67; + var_00.red = 0.0521825; + var_00.green = 0.0586488; + var_00.blue = 0.0653548; + var_00.hdrcolorintensity = 13.5363; + var_00.maxopacity = 0.950129; + var_00.transitiontime = 0; + var_00.sunfogenabled = 1; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 0.926996; + var_00.hdrsuncolorintensity = 8.71153; + var_00.sundir = (-0.890628,0.176135,0.419236); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 62.4934; + var_00.normalfogscale = 1.00853; + var_00.skyfogintensity = 0.90825; + var_00.skyfogminangle = 48.5106; + var_00.skyfogmaxangle = 74.0837; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_lab_infected_crazy_cg"); + var_00.startdist = 310.345; + var_00.halfwaydist = 1654.67; + var_00.red = 0.0521825; + var_00.green = 0.0586488; + var_00.blue = 0.0653548; + var_00.hdrcolorintensity = 13.5363; + var_00.maxopacity = 0.950129; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 0.926996; + var_00.hdrsuncolorintensity = 8.71153; + var_00.sundir = (-0.890628,0.176135,0.419236); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 62.4934; + var_00.normalfogscale = 1.00853; + var_00.skyfogintensity = 0.90825; + var_00.skyfogminangle = 48.5106; + var_00.skyfogmaxangle = 74.0837; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_lab_autopsy_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 6567; + var_00.red = 0.439216; + var_00.green = 0.521569; + var_00.blue = 0.545098; + var_00.hdrcolorintensity = 11; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 0.961875; + var_00.hdrsuncolorintensity = 8.21756; + var_00.sundir = (-0.890653,-0.43211,0.123501); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 75.455; + var_00.normalfogscale = 1.00853; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 60; + var_00.skyfogmaxangle = 86.6304; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\mp\_art::create_vision_set_fog("mp_zombie_lab_morgue_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 6567; + var_00.red = 0.439216; + var_00.green = 0.521569; + var_00.blue = 0.545098; + var_00.hdrcolorintensity = 11; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 1; + var_00.sungreen = 1; + var_00.sunblue = 0.961875; + var_00.hdrsuncolorintensity = 8.21756; + var_00.sundir = (-0.890653,-0.43211,0.123501); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 75.455; + var_00.normalfogscale = 1.00853; + var_00.skyfogintensity = 1; + var_00.skyfogminangle = 60; + var_00.skyfogmaxangle = 86.6304; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; +} + +//Function Number: 2 +setupfog() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/createart/recovery_art.gsc b/AW/PC/maps/createart/recovery_art.gsc new file mode 100644 index 0000000..8befb67 --- /dev/null +++ b/AW/PC/maps/createart/recovery_art.gsc @@ -0,0 +1,23 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\recovery_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:07:18 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + level.player = getentarray("player","classname")[0]; + if(isusinghdr()) + { + maps\createart\recovery_fog_hdr::main(); + return; + } + + maps\createart\recovery_fog::main(); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/recovery_fog.gsc b/AW/PC/maps/createart/recovery_fog.gsc new file mode 100644 index 0000000..36ac7e4 --- /dev/null +++ b/AW/PC/maps/createart/recovery_fog.gsc @@ -0,0 +1,24 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\recovery_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 31 ms + * Timestamp: 4/22/2024 2:07:19 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\_utility::create_vision_set_fog("recovery"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + maps\_utility::vision_set_fog_changes("recovery",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/recovery_fog_hdr.gsc b/AW/PC/maps/createart/recovery_fog_hdr.gsc new file mode 100644 index 0000000..391f77c --- /dev/null +++ b/AW/PC/maps/createart/recovery_fog_hdr.gsc @@ -0,0 +1,1367 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\recovery_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 61 ms + * Timestamp: 4/22/2024 2:07:19 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + sunflare(); + var_00 = maps\_utility::create_vision_set_fog("recovery"); + var_00.startdist = 500.388; + var_00.halfwaydist = 40679.6; + var_00.red = 0.614194; + var_00.green = 0.782984; + var_00.blue = 1; + var_00.hdrcolorintensity = 14.529; + var_00.maxopacity = 0.65625; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.540039,0.591873,0.617187); + var_00.atmosfoghazecolor = (0.491455,0.5,0.390625); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18; + var_00.atmosfoghalfplanedistance = 16832.5; + var_00.atmosfogstartdistance = 147.874; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 196608; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 34; + var_00.atmosfogsundirection = (0.109362,0.872735,0.475788); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_funeral"); + var_00.startdist = 700.005; + var_00.halfwaydist = 16103.6; + var_00.red = 0.739194; + var_00.green = 0.877747; + var_00.blue = 1; + var_00.hdrcolorintensity = 14.529; + var_00.maxopacity = 0.414063; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.316407,0.431153,0.5); + var_00.atmosfoghazecolor = (0.5,0.476807,0.421875); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18; + var_00.atmosfoghalfplanedistance = 599.055; + var_00.atmosfogstartdistance = 150.028; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 7388; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.67731,0.72479,0.126213); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 552; + var_00 = maps\_utility::create_vision_set_fog("recovery_night"); + var_00.startdist = 560.771; + var_00.halfwaydist = 5851.9; + var_00.red = 0.770443; + var_00.green = 0.903156; + var_00.blue = 1; + var_00.hdrcolorintensity = 7.77162; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.375,0.435547,0.5); + var_00.atmosfoghazecolor = (0.5,0.47406,0.433594); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 7.25; + var_00.atmosfoghalfplanedistance = 1715.72; + var_00.atmosfogstartdistance = 204.652; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 19175; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.750254,0.65672,0.0764114); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_night_pool_to_end"); + var_00.startdist = 560.771; + var_00.halfwaydist = 5851.9; + var_00.red = 0.770443; + var_00.green = 0.903156; + var_00.blue = 1; + var_00.hdrcolorintensity = 7.77162; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.375,0.435547,0.5); + var_00.atmosfoghazecolor = (0.5,0.47406,0.433594); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 7.25; + var_00.atmosfoghalfplanedistance = 1715.72; + var_00.atmosfogstartdistance = 204.652; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 19175; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.750254,0.65672,0.0764114); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_night_2"); + var_00.startdist = 560.771; + var_00.halfwaydist = 5851.9; + var_00.red = 0.770443; + var_00.green = 0.903156; + var_00.blue = 1; + var_00.hdrcolorintensity = 7.02162; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.277344,0.385193,0.5); + var_00.atmosfoghazecolor = (0.5,0.47406,0.433594); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 11; + var_00.atmosfoghalfplanedistance = 9513.7; + var_00.atmosfogstartdistance = 204.652; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 19175; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.750254,0.65672,0.0764114); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 168; + var_00 = maps\_utility::create_vision_set_fog("recovery_house_interior"); + var_00.startdist = 560.771; + var_00.halfwaydist = 5851.9; + var_00.red = 0.770443; + var_00.green = 0.903156; + var_00.blue = 1; + var_00.hdrcolorintensity = 7.77162; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.375,0.435547,0.5); + var_00.atmosfoghazecolor = (0.5,0.47406,0.433594); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 8; + var_00.atmosfoghalfplanedistance = 1021.78; + var_00.atmosfogstartdistance = 204.652; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 19175; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.750254,0.65672,0.0764114); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_house_door_breach"); + var_00.startdist = 560.771; + var_00.halfwaydist = 5851.9; + var_00.red = 0.770443; + var_00.green = 0.903156; + var_00.blue = 1; + var_00.hdrcolorintensity = 7.77162; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.375,0.435547,0.5); + var_00.atmosfoghazecolor = (0.5,0.47406,0.433594); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 8; + var_00.atmosfoghalfplanedistance = 1021.78; + var_00.atmosfogstartdistance = 204.652; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 19175; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.750254,0.65672,0.0764114); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_drone_battle"); + var_00.startdist = 560.771; + var_00.halfwaydist = 5851.9; + var_00.red = 0.770443; + var_00.green = 0.903156; + var_00.blue = 1; + var_00.hdrcolorintensity = 7.77162; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.375,0.435547,0.5); + var_00.atmosfoghazecolor = (0.5,0.47406,0.433594); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 8; + var_00.atmosfoghalfplanedistance = 1021.78; + var_00.atmosfogstartdistance = 204.652; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 19175; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.750254,0.65672,0.0764114); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_hangar_door_bright"); + var_00.startdist = 500.388; + var_00.halfwaydist = 40679.6; + var_00.red = 0.614194; + var_00.green = 0.782984; + var_00.blue = 1; + var_00.hdrcolorintensity = 9.5; + var_00.maxopacity = 0.65625; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.316406,0.41394,0.5); + var_00.atmosfoghazecolor = (0.609375,0.553734,0.44751); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.046875; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 21.6701; + var_00.atmosfoghalfplanedistance = 52104; + var_00.atmosfogstartdistance = 2083.71; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 98304; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (-0.187656,0.976761,0.103549); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_hangar_door_bright_cg"); + var_00.startdist = 500.388; + var_00.halfwaydist = 40679.6; + var_00.red = 0.614194; + var_00.green = 0.782984; + var_00.blue = 1; + var_00.hdrcolorintensity = 9.5; + var_00.maxopacity = 0.65625; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_hangar_door_transition"); + var_00.startdist = 500.388; + var_00.halfwaydist = 40679.6; + var_00.red = 0.614194; + var_00.green = 0.782984; + var_00.blue = 1; + var_00.hdrcolorintensity = 9.5; + var_00.maxopacity = 0.65625; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.316406,0.41394,0.5); + var_00.atmosfoghazecolor = (0.609375,0.553734,0.44751); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.046875; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 12.9201; + var_00.atmosfoghalfplanedistance = 52104; + var_00.atmosfogstartdistance = 370.632; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 98304; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (-0.187656,0.976761,0.103549); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_get_in_jeep"); + var_00.startdist = 500.388; + var_00.halfwaydist = 40679.6; + var_00.red = 0.614194; + var_00.green = 0.782984; + var_00.blue = 1; + var_00.hdrcolorintensity = 9.5; + var_00.maxopacity = 0.65625; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.316406,0.41394,0.5); + var_00.atmosfoghazecolor = (0.609375,0.553734,0.44751); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.046875; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 12.9201; + var_00.atmosfoghalfplanedistance = 52104; + var_00.atmosfogstartdistance = 370.632; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 98304; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (-0.187656,0.976761,0.103549); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_get_in_jeep_cg"); + var_00.startdist = 500.388; + var_00.halfwaydist = 40679.6; + var_00.red = 0.614194; + var_00.green = 0.782984; + var_00.blue = 1; + var_00.hdrcolorintensity = 9.5; + var_00.maxopacity = 0.65625; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_day"); + var_00.startdist = 500.388; + var_00.halfwaydist = 40679.6; + var_00.red = 0.614194; + var_00.green = 0.782984; + var_00.blue = 1; + var_00.hdrcolorintensity = 14.529; + var_00.maxopacity = 0.65625; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.540039,0.591873,0.617187); + var_00.atmosfoghazecolor = (0.491455,0.5,0.390625); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18; + var_00.atmosfoghalfplanedistance = 16832.5; + var_00.atmosfogstartdistance = 147.874; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 196608; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 34; + var_00.atmosfogsundirection = (0.109362,0.872735,0.475788); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_lab_interior"); + var_00.startdist = 198.505; + var_00.halfwaydist = 30439.6; + var_00.red = 0.793881; + var_00.green = 0.903382; + var_00.blue = 1; + var_00.hdrcolorintensity = 9.779; + var_00.maxopacity = 0.414063; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.324219,0.417603,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 15.5; + var_00.atmosfoghalfplanedistance = 7048; + var_00.atmosfogstartdistance = 136.92; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_lab_warehouse"); + var_00.startdist = 507.574; + var_00.halfwaydist = 25027.2; + var_00.red = 0.739194; + var_00.green = 0.877747; + var_00.blue = 1; + var_00.hdrcolorintensity = 11.0245; + var_00.maxopacity = 0.414063; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.410156,0.474731,0.5); + var_00.atmosfoghazecolor = (0.5,0.419678,0.316406); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.0568786; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 14.5; + var_00.atmosfoghalfplanedistance = 7039.66; + var_00.atmosfogstartdistance = 201.735; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (-0.162985,-0.985669,0.043513); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_firing_range"); + var_00.startdist = 181.637; + var_00.halfwaydist = 30439.6; + var_00.red = 0.793881; + var_00.green = 0.903382; + var_00.blue = 1; + var_00.hdrcolorintensity = 8.529; + var_00.maxopacity = 0.414063; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.300781,0.5,0.425293); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 14; + var_00.atmosfoghalfplanedistance = 15240; + var_00.atmosfogstartdistance = 296.132; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.999016,0.0343965,0.0279915); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_drone_view_day"); + var_00.startdist = 500.388; + var_00.halfwaydist = 40679.6; + var_00.red = 0.614194; + var_00.green = 0.782984; + var_00.blue = 1; + var_00.hdrcolorintensity = 14.529; + var_00.maxopacity = 0.65625; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.540039,0.591873,0.617187); + var_00.atmosfoghazecolor = (0.491455,0.5,0.390625); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 18; + var_00.atmosfoghalfplanedistance = 16832.5; + var_00.atmosfogstartdistance = 147.874; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 196608; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 34; + var_00.atmosfogsundirection = (0.109362,0.872735,0.475788); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_drone_view_night"); + var_00.startdist = 560.771; + var_00.halfwaydist = 5851.9; + var_00.red = 0.770443; + var_00.green = 0.903156; + var_00.blue = 1; + var_00.hdrcolorintensity = 7.77162; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.375,0.435547,0.5); + var_00.atmosfoghazecolor = (0.5,0.47406,0.433594); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.75; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 7.25; + var_00.atmosfoghalfplanedistance = 1715.72; + var_00.atmosfogstartdistance = 204.652; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 19175; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.750254,0.65672,0.0764114); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_cg"); + var_00.startdist = 560.771; + var_00.halfwaydist = 5851.9; + var_00.red = 0.770443; + var_00.green = 0.903156; + var_00.blue = 1; + var_00.hdrcolorintensity = 7.77162; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_day_cg"); + var_00.startdist = 200; + var_00.halfwaydist = 77791.3; + var_00.red = 0.585495; + var_00.green = 0.647197; + var_00.blue = 0.76792; + var_00.hdrcolorintensity = 15.4744; + var_00.maxopacity = 0.6105; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_drone_battle_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 11767.7; + var_00.red = 0.0902604; + var_00.green = 0.108943; + var_00.blue = 0.12492; + var_00.hdrcolorintensity = 14.1995; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_firing_range_cg"); + var_00.startdist = 560.771; + var_00.halfwaydist = 5851.9; + var_00.red = 0.770443; + var_00.green = 0.903156; + var_00.blue = 1; + var_00.hdrcolorintensity = 7.77162; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_funeral_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 46201.7; + var_00.red = 0.9333333; + var_00.green = 0.8745098; + var_00.blue = 0.8666667; + var_00.hdrcolorintensity = 15.8963; + var_00.maxopacity = 0.248361; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_hangar_door_transition_cg"); + var_00.startdist = 1500; + var_00.halfwaydist = 5851.9; + var_00.red = 0.770443; + var_00.green = 0.903156; + var_00.blue = 1; + var_00.hdrcolorintensity = 10; + var_00.maxopacity = 0.00250878; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_house_interior_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 55000; + var_00.red = 0.0902604; + var_00.green = 0.108943; + var_00.blue = 0.12492; + var_00.hdrcolorintensity = 14.1995; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_house_interior_transition_cg"); + var_00.startdist = 440.625; + var_00.halfwaydist = 55000; + var_00.red = 0.407843; + var_00.green = 0.494118; + var_00.blue = 0.615686; + var_00.hdrcolorintensity = 15.3247; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_house_projector_room_cg"); + var_00.startdist = 560.771; + var_00.halfwaydist = 55000; + var_00.red = 0.770443; + var_00.green = 0.903156; + var_00.blue = 1; + var_00.hdrcolorintensity = 7.77162; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_lab_interior_cg"); + var_00.startdist = 773; + var_00.halfwaydist = 196448; + var_00.red = 0.770443; + var_00.green = 0.903156; + var_00.blue = 1; + var_00.hdrcolorintensity = 14; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_pre_lab_warehouse_cg"); + var_00.startdist = 773; + var_00.halfwaydist = 196448; + var_00.red = 0.770443; + var_00.green = 0.903156; + var_00.blue = 1; + var_00.hdrcolorintensity = 14; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_lab_warehouse_cg"); + var_00.startdist = 507.574; + var_00.halfwaydist = 25027.2; + var_00.red = 0.739194; + var_00.green = 0.877747; + var_00.blue = 1; + var_00.hdrcolorintensity = 11.0245; + var_00.maxopacity = 0.414063; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_lab_exo_room_cg"); + var_00.startdist = 3764.17; + var_00.halfwaydist = 19391; + var_00.red = 1; + var_00.green = 0.925269; + var_00.blue = 0.847076; + var_00.hdrcolorintensity = 12.2088; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_night_2_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 22114.37; + var_00.red = 0.269384; + var_00.green = 0.354642; + var_00.blue = 0.386627; + var_00.hdrcolorintensity = 11.8966; + var_00.maxopacity = 0.294219; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_night_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 22114.37; + var_00.red = 0.0902604; + var_00.green = 0.108943; + var_00.blue = 0.12492; + var_00.hdrcolorintensity = 14.1995; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_rock_path_cg"); + var_00.startdist = 560.771; + var_00.halfwaydist = 5851.9; + var_00.red = 0.770443; + var_00.green = 0.903156; + var_00.blue = 1; + var_00.hdrcolorintensity = 7.77162; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_rock_path_night_cg"); + var_00.startdist = 560.771; + var_00.halfwaydist = 5851.9; + var_00.red = 0.770443; + var_00.green = 0.903156; + var_00.blue = 1; + var_00.hdrcolorintensity = 7.77162; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("recovery_elevator_shaft_cg"); + var_00.startdist = 560.771; + var_00.halfwaydist = 5851.9; + var_00.red = 0.770443; + var_00.green = 0.903156; + var_00.blue = 1; + var_00.hdrcolorintensity = 7.77162; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("slomo_breach_cg"); + var_00.startdist = 560.771; + var_00.halfwaydist = 5851.9; + var_00.red = 0.770443; + var_00.green = 0.903156; + var_00.blue = 1; + var_00.hdrcolorintensity = 7.77162; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; +} + +//Function Number: 2 +sunflare() +{ + var_00 = maps\_utility::create_sunflare_setting("default"); + var_00.position = (-30,85,0); + maps\_art::sunflare_changes("default",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/sanfran_art.gsc b/AW/PC/maps/createart/sanfran_art.gsc new file mode 100644 index 0000000..e061474 --- /dev/null +++ b/AW/PC/maps/createart/sanfran_art.gsc @@ -0,0 +1,23 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\sanfran_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:07:20 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + level.player = getentarray("player","classname")[0]; + if(isusinghdr()) + { + maps\createart\sanfran_fog_hdr::main(); + return; + } + + maps\createart\sanfran_fog::main(); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/sanfran_b_art.gsc b/AW/PC/maps/createart/sanfran_b_art.gsc new file mode 100644 index 0000000..38fd49e --- /dev/null +++ b/AW/PC/maps/createart/sanfran_b_art.gsc @@ -0,0 +1,23 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\sanfran_b_art.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:07:20 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.tweakfile = 1; + level.player = getentarray("player","classname")[0]; + if(isusinghdr()) + { + maps\createart\sanfran_b_fog_hdr::main(); + return; + } + + maps\createart\sanfran_b_fog::main(); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/sanfran_b_fog.gsc b/AW/PC/maps/createart/sanfran_b_fog.gsc new file mode 100644 index 0000000..2aeefbc --- /dev/null +++ b/AW/PC/maps/createart/sanfran_b_fog.gsc @@ -0,0 +1,131 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\sanfran_b_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 29 ms + * Timestamp: 4/22/2024 2:07:20 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\_utility::create_vision_set_fog("sanfran_b"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_interior"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_end"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_interior_dark"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_hanger"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_hanger_top"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_info_center"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_bridge"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_exterior_dark"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_exterior_dark_fog"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_info_top"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_guns"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00 = maps\_utility::create_vision_set_fog("sfb_neutral"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; +} \ No newline at end of file diff --git a/AW/PC/maps/createart/sanfran_b_fog_hdr.gsc b/AW/PC/maps/createart/sanfran_b_fog_hdr.gsc new file mode 100644 index 0000000..6fc8618 --- /dev/null +++ b/AW/PC/maps/createart/sanfran_b_fog_hdr.gsc @@ -0,0 +1,949 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\sanfran_b_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 72 ms + * Timestamp: 4/22/2024 2:07:21 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + sunflare(); + var_00 = maps\_utility::create_vision_set_fog("sanfran_b"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.49,0.74,0.99); + var_00.atmosfoghazecolor = (1,1,0.897); + var_00.atmosfoghazestrength = 0.069; + var_00.atmosfoghazespread = 0.0169; + var_00.atmosfogextinctionstrength = 0.1558; + var_00.atmosfoginscatterstrength = 20; + var_00.atmosfoghalfplanedistance = 6207.61; + var_00.atmosfogstartdistance = 2128.97; + var_00.atmosfogdistancescale = 1.028; + var_00.atmosfogskydistance = 138458; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 7.91; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0785,0.863,0.498); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_cg"); + var_00.startdist = 7318; + var_00.halfwaydist = 33163; + var_00.red = 0.653; + var_00.green = 0.783; + var_00.blue = 0.893; + var_00.hdrcolorintensity = 14.7; + var_00.maxopacity = 0.275; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.49,0.74,0.99); + var_00.atmosfoghazecolor = (1,1,0.897); + var_00.atmosfoghazestrength = 0.069; + var_00.atmosfoghazespread = 0.0169; + var_00.atmosfogextinctionstrength = 0.1558; + var_00.atmosfoginscatterstrength = 20; + var_00.atmosfoghalfplanedistance = 6207.61; + var_00.atmosfogstartdistance = 2128.97; + var_00.atmosfogdistancescale = 1.028; + var_00.atmosfogskydistance = 138458; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 7.91; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0785,0.863,0.498); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_interior"); + var_00.startdist = 4733.46; + var_00.halfwaydist = 58114.5; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 12.5713; + var_00.maxopacity = 0.0940583; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_end"); + var_00.startdist = 511.935; + var_00.halfwaydist = 1137.68; + var_00.red = 0.751464; + var_00.green = 0.836627; + var_00.blue = 1; + var_00.hdrcolorintensity = 13.3907; + var_00.maxopacity = 0.441519; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_hanger"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.49,0.74,0.99); + var_00.atmosfoghazecolor = (1,1,0.897); + var_00.atmosfoghazestrength = 0.069; + var_00.atmosfoghazespread = 0.0169; + var_00.atmosfogextinctionstrength = 0.1558; + var_00.atmosfoginscatterstrength = 20; + var_00.atmosfoghalfplanedistance = 6207.61; + var_00.atmosfogstartdistance = 2128.97; + var_00.atmosfogdistancescale = 1.028; + var_00.atmosfogskydistance = 138458; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 7.91; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (-0.915,0.00728,0.402); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_hanger_bright"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.49,0.74,0.99); + var_00.atmosfoghazecolor = (1,1,0.897); + var_00.atmosfoghazestrength = 0.069; + var_00.atmosfoghazespread = 0.0169; + var_00.atmosfogextinctionstrength = 0.1558; + var_00.atmosfoginscatterstrength = 18.8; + var_00.atmosfoghalfplanedistance = 6207.61; + var_00.atmosfogstartdistance = 2128.97; + var_00.atmosfogdistancescale = 1.028; + var_00.atmosfogskydistance = 138458; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 7.91; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (-0.915,0.00728,0.402); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_info_center"); + var_00.startdist = 4733.46; + var_00.halfwaydist = 58114.5; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 12.5713; + var_00.maxopacity = 0.0940583; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_bridge"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.49,0.74,0.99); + var_00.atmosfoghazecolor = (1,1,0.897); + var_00.atmosfoghazestrength = 0.069; + var_00.atmosfoghazespread = 0.0169; + var_00.atmosfogextinctionstrength = 0.1558; + var_00.atmosfoginscatterstrength = 20.945; + var_00.atmosfoghalfplanedistance = 6207.61; + var_00.atmosfogstartdistance = 2128.97; + var_00.atmosfogdistancescale = 1.028; + var_00.atmosfogskydistance = 138458; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 7.91; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0785,0.863,0.498); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_interior_dark"); + var_00.startdist = 4733.46; + var_00.halfwaydist = 58114.5; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 12.5713; + var_00.maxopacity = 0.120154; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.49,0.74,0.99); + var_00.atmosfoghazecolor = (1,1,0.897); + var_00.atmosfoghazestrength = 0.069; + var_00.atmosfoghazespread = 0.0169; + var_00.atmosfogextinctionstrength = 0.1558; + var_00.atmosfoginscatterstrength = 20.945; + var_00.atmosfoghalfplanedistance = 6207.61; + var_00.atmosfogstartdistance = 2128.97; + var_00.atmosfogdistancescale = 1.028; + var_00.atmosfogskydistance = 138458; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 7.91; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0785,0.863,0.498); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_interior_darker"); + var_00.startdist = 4733.46; + var_00.halfwaydist = 58114.5; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 12.5713; + var_00.maxopacity = 0.0940583; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_interior_darker_cg"); + var_00.startdist = 4733.46; + var_00.halfwaydist = 58114.5; + var_00.red = 1; + var_00.green = 1; + var_00.blue = 1; + var_00.hdrcolorintensity = 12.5713; + var_00.maxopacity = 0.0940583; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_exterior_dark"); + var_00.startdist = 184.62; + var_00.halfwaydist = 1563.7; + var_00.red = 1; + var_00.green = 0.968265; + var_00.blue = 0.878297; + var_00.hdrcolorintensity = 13.5; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_exterior_dark_fog"); + var_00.startdist = 84.6196; + var_00.halfwaydist = 4000; + var_00.red = 1; + var_00.green = 0.877827; + var_00.blue = 0.816297; + var_00.hdrcolorintensity = 13.5; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_exterior_dark_nofog"); + var_00.startdist = 84.6196; + var_00.halfwaydist = 963.696; + var_00.red = 1; + var_00.green = 0.968265; + var_00.blue = 0.878297; + var_00.hdrcolorintensity = 11.5; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_exterior_darker_fog"); + var_00.startdist = 84.6196; + var_00.halfwaydist = 4000; + var_00.red = 1; + var_00.green = 0.968265; + var_00.blue = 0.878297; + var_00.hdrcolorintensity = 14; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_exterior_light_fog"); + var_00.startdist = 84.6196; + var_00.halfwaydist = 4000; + var_00.red = 1; + var_00.green = 0.968265; + var_00.blue = 0.878297; + var_00.hdrcolorintensity = 14; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_info_top"); + var_00.startdist = 404.952; + var_00.halfwaydist = 2744.19; + var_00.red = 1; + var_00.green = 0.968265; + var_00.blue = 0.878297; + var_00.hdrcolorintensity = 13.3907; + var_00.maxopacity = 0.0186271; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_hanger_top"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.49,0.74,0.99); + var_00.atmosfoghazecolor = (1,1,0.897); + var_00.atmosfoghazestrength = 0.069; + var_00.atmosfoghazespread = 0.0169; + var_00.atmosfogextinctionstrength = 0.1558; + var_00.atmosfoginscatterstrength = 18.8; + var_00.atmosfoghalfplanedistance = 6207.61; + var_00.atmosfogstartdistance = 2128.97; + var_00.atmosfogdistancescale = 1.028; + var_00.atmosfogskydistance = 138458; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 7.91; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (-0.915,0.00728,0.402); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_guns"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.49,0.74,0.99); + var_00.atmosfoghazecolor = (1,1,0.897); + var_00.atmosfoghazestrength = 0.124639; + var_00.atmosfoghazespread = 0.0317359; + var_00.atmosfogextinctionstrength = 0.1558; + var_00.atmosfoginscatterstrength = 22.3249; + var_00.atmosfoghalfplanedistance = 19762.8; + var_00.atmosfogstartdistance = 4950.64; + var_00.atmosfogdistancescale = 1.26979; + var_00.atmosfogskydistance = 138458; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 7.91; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0785,0.863,0.498); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_interior_cg"); + var_00.startdist = 10000; + var_00.halfwaydist = 60000; + var_00.red = 0.7791; + var_00.green = 0.8164; + var_00.blue = 0.8721; + var_00.hdrcolorintensity = 14.25; + var_00.maxopacity = 0.588; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_interior_dark_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 80000; + var_00.red = 0.6458; + var_00.green = 0.7765; + var_00.blue = 0.9042; + var_00.hdrcolorintensity = 11; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_exterior_dark_cg"); + var_00.startdist = 65; + var_00.halfwaydist = 65; + var_00.red = 0.921788; + var_00.green = 0.524897; + var_00.blue = 0.083862; + var_00.hdrcolorintensity = 10.3907; + var_00.maxopacity = 0.35; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_exterior_dark_fog_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 5869; + var_00.red = 0.511; + var_00.green = 0.49; + var_00.blue = 0.469; + var_00.hdrcolorintensity = 15; + var_00.maxopacity = 0.55; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_exterior_darker_fog_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 5869; + var_00.red = 0.511; + var_00.green = 0.49; + var_00.blue = 0.469; + var_00.hdrcolorintensity = 15; + var_00.maxopacity = 0.55; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_exterior_light_fog_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 1250; + var_00.red = 0.462; + var_00.green = 0.314; + var_00.blue = 0.165; + var_00.hdrcolorintensity = 15; + var_00.maxopacity = 0.55; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = 0; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 0; + var_00.normalfogscale = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_info_top_cg"); + var_00.startdist = 170; + var_00.halfwaydist = 27169.75; + var_00.red = 0.878431; + var_00.green = 0.772549; + var_00.blue = 0.705882; + var_00.hdrcolorintensity = 14.263; + var_00.maxopacity = 0.0186271; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_hanger_top_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 87645; + var_00.red = 0.591; + var_00.green = 0.608; + var_00.blue = 0.62; + var_00.hdrcolorintensity = 14.7; + var_00.maxopacity = 0.275; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_guns_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 87645; + var_00.red = 0.591; + var_00.green = 0.608; + var_00.blue = 0.62; + var_00.hdrcolorintensity = 14.7; + var_00.maxopacity = 0.275; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_guns_bright"); + var_00.startdist = 0; + var_00.halfwaydist = 87645; + var_00.red = 0.591; + var_00.green = 0.608; + var_00.blue = 0.62; + var_00.hdrcolorintensity = 14.7; + var_00.maxopacity = 0.275; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_guns_bright_cg"); + var_00.startdist = 7318; + var_00.halfwaydist = 33163; + var_00.red = 0.653; + var_00.green = 0.783; + var_00.blue = 0.893; + var_00.hdrcolorintensity = 14.7; + var_00.maxopacity = 0.860149; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_hanger_cg"); + var_00.startdist = 10000; + var_00.halfwaydist = 60000; + var_00.red = 0.785; + var_00.green = 0.815; + var_00.blue = 0.831; + var_00.hdrcolorintensity = 16; + var_00.maxopacity = 0.275; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_hanger_bright_cg"); + var_00.startdist = 10000; + var_00.halfwaydist = 60000; + var_00.red = 0.785; + var_00.green = 0.815; + var_00.blue = 0.831; + var_00.hdrcolorintensity = 16; + var_00.maxopacity = 0.275; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_exterior_dark_nofog_cg"); + var_00.startdist = 0; + var_00.halfwaydist = 5869; + var_00.red = 0.511; + var_00.green = 0.49; + var_00.blue = 0.469; + var_00.hdrcolorintensity = 15; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 0; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_bridge_cg"); + var_00.startdist = 7318; + var_00.halfwaydist = 33163; + var_00.red = 0.653; + var_00.green = 0.783; + var_00.blue = 0.893; + var_00.hdrcolorintensity = 14.7; + var_00.maxopacity = 0.275; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_b_nightvision_cg"); + var_00.startdist = 10; + var_00.halfwaydist = 70000; + var_00.red = 0.878431; + var_00.green = 0.772549; + var_00.blue = 0.705882; + var_00.hdrcolorintensity = 12.4876; + var_00.maxopacity = 0.7; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00 = maps\_utility::create_vision_set_fog("sfb_neutral"); + var_00.startdist = 2600; + var_00.halfwaydist = 19000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.571,0.756,0.97); + var_00.atmosfoghazecolor = (1,1,0.897); + var_00.atmosfoghazestrength = 0.069; + var_00.atmosfoghazespread = 0.0169; + var_00.atmosfogextinctionstrength = 0.1558; + var_00.atmosfoginscatterstrength = 21.3; + var_00.atmosfoghalfplanedistance = 26980.6; + var_00.atmosfogstartdistance = 33187; + var_00.atmosfogdistancescale = 1.028; + var_00.atmosfogskydistance = 32106; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 7.91; + var_00.atmosfogskyfalloffanglerange = 89.367; + var_00.atmosfogsundirection = (-0.543,0.726,0.415); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; +} + +//Function Number: 2 +sunflare() +{ + var_00 = maps\_utility::create_sunflare_setting("default"); + var_00.position = (-30,85,0); + maps\_art::sunflare_changes("default",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/sanfran_fog.gsc b/AW/PC/maps/createart/sanfran_fog.gsc new file mode 100644 index 0000000..fc58d2d --- /dev/null +++ b/AW/PC/maps/createart/sanfran_fog.gsc @@ -0,0 +1,42 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\sanfran_fog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 2:07:21 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = maps\_utility::create_vision_set_fog("sanfran"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_tunnel"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00 = maps\_utility::create_vision_set_fog("sanfran_collapse"); + var_00.startdist = 17346.26; + var_00.halfwaydist = 32487.6; + var_00.red = 0.583682; + var_00.green = 0.52939; + var_00.blue = 0.302793; + var_00.maxopacity = 1; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + maps\_utility::vision_set_fog_changes("sanfran",0); +} \ No newline at end of file diff --git a/AW/PC/maps/createart/sanfran_fog_hdr.gsc b/AW/PC/maps/createart/sanfran_fog_hdr.gsc new file mode 100644 index 0000000..2299847 --- /dev/null +++ b/AW/PC/maps/createart/sanfran_fog_hdr.gsc @@ -0,0 +1,977 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createart\sanfran_fog_hdr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 58 ms + * Timestamp: 4/22/2024 2:07:21 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + sunflare(); + var_00 = maps\_utility::create_vision_set_fog("sanfran_flyover"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.571,0.756,0.97); + var_00.atmosfoghazecolor = (1,1,0.897); + var_00.atmosfoghazestrength = 0.069; + var_00.atmosfoghazespread = 0.0169; + var_00.atmosfogextinctionstrength = 0.1558; + var_00.atmosfoginscatterstrength = 20.945; + var_00.atmosfoghalfplanedistance = 6207.61; + var_00.atmosfogstartdistance = 2128.97; + var_00.atmosfogdistancescale = 1.028; + var_00.atmosfogskydistance = 138458; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 7.91; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0785,0.863,0.498); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran"); + var_00.startdist = 234.375; + var_00.halfwaydist = 104309; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.646781,0.796645,0.97); + var_00.atmosfoghazecolor = (0.999997,0.999947,0.873559); + var_00.atmosfoghazestrength = 0.295783; + var_00.atmosfoghazespread = 0.031778; + var_00.atmosfogextinctionstrength = 0.625467; + var_00.atmosfoginscatterstrength = 18.2912; + var_00.atmosfoghalfplanedistance = 2841.17; + var_00.atmosfogstartdistance = 1048; + var_00.atmosfogdistancescale = 1.028; + var_00.atmosfogskydistance = 65536; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 18; + var_00.atmosfogskyfalloffanglerange = 88; + var_00.atmosfogsundirection = (-0.5552,0.726239,0.405376); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -572.469; + var_00.atmosfogheightfoghalfplanedistance = 832.711; + var_00 = maps\_utility::create_vision_set_fog("sanfran_neutral"); + var_00.startdist = 234.375; + var_00.halfwaydist = 104309; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.646781,0.796645,0.97); + var_00.atmosfoghazecolor = (0.999997,0.999947,0.873559); + var_00.atmosfoghazestrength = 0.295783; + var_00.atmosfoghazespread = 0.031778; + var_00.atmosfogextinctionstrength = 0.625467; + var_00.atmosfoginscatterstrength = 18.2912; + var_00.atmosfoghalfplanedistance = 9906.11; + var_00.atmosfogstartdistance = 1048; + var_00.atmosfogdistancescale = 1.028; + var_00.atmosfogskydistance = 65536; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 18; + var_00.atmosfogskyfalloffanglerange = 88; + var_00.atmosfogsundirection = (-0.5552,0.726239,0.405376); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -572.469; + var_00.atmosfogheightfoghalfplanedistance = 832.711; + var_00 = maps\_utility::create_vision_set_fog("sanfran_oncoming"); + var_00.startdist = 234.375; + var_00.halfwaydist = 104309; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.646781,0.796645,0.97); + var_00.atmosfoghazecolor = (0.999997,0.999947,0.873559); + var_00.atmosfoghazestrength = 0.295783; + var_00.atmosfoghazespread = 0.031778; + var_00.atmosfogextinctionstrength = 0.625467; + var_00.atmosfoginscatterstrength = 18.2912; + var_00.atmosfoghalfplanedistance = 9906.11; + var_00.atmosfogstartdistance = 1048; + var_00.atmosfogdistancescale = 1.028; + var_00.atmosfogskydistance = 65536; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 18; + var_00.atmosfogskyfalloffanglerange = 88; + var_00.atmosfogsundirection = (-0.5552,0.726239,0.405376); + var_00.atmosfogheightfogenabled = 1; + var_00.atmosfogheightfogbaseheight = -572.469; + var_00.atmosfogheightfoghalfplanedistance = 832.711; + var_00 = maps\_utility::create_vision_set_fog("sanfran_boost_desat"); + var_00.startdist = 2600; + var_00.halfwaydist = 19000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.571,0.756,0.97); + var_00.atmosfoghazecolor = (1,1,0.897); + var_00.atmosfoghazestrength = 0.069; + var_00.atmosfoghazespread = 0.0169; + var_00.atmosfogextinctionstrength = 0.1558; + var_00.atmosfoginscatterstrength = 20.945; + var_00.atmosfoghalfplanedistance = 18478.6; + var_00.atmosfogstartdistance = 33187; + var_00.atmosfogdistancescale = 1.028; + var_00.atmosfogskydistance = 138458; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 7.91; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (-0.543,0.726,0.415); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_boost_warm_1"); + var_00.startdist = 2600; + var_00.halfwaydist = 19000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.571,0.756,0.97); + var_00.atmosfoghazecolor = (1,1,0.897); + var_00.atmosfoghazestrength = 0.069; + var_00.atmosfoghazespread = 0.0169; + var_00.atmosfogextinctionstrength = 0.1558; + var_00.atmosfoginscatterstrength = 20.945; + var_00.atmosfoghalfplanedistance = 18478.6; + var_00.atmosfogstartdistance = 33187; + var_00.atmosfogdistancescale = 1.028; + var_00.atmosfogskydistance = 138458; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 7.91; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (-0.543,0.726,0.415); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_boost_warm_2"); + var_00.startdist = 2600; + var_00.halfwaydist = 19000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.571,0.756,0.97); + var_00.atmosfoghazecolor = (1,1,0.897); + var_00.atmosfoghazestrength = 0.069; + var_00.atmosfoghazespread = 0.0169; + var_00.atmosfogextinctionstrength = 0.1558; + var_00.atmosfoginscatterstrength = 20.945; + var_00.atmosfoghalfplanedistance = 18478.6; + var_00.atmosfogstartdistance = 33187; + var_00.atmosfogdistancescale = 1.028; + var_00.atmosfogskydistance = 138458; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 7.91; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (-0.543,0.726,0.415); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_vanexplosion"); + var_00.startdist = 2600; + var_00.halfwaydist = 19000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.571,0.756,0.97); + var_00.atmosfoghazecolor = (1,1,0.897); + var_00.atmosfoghazestrength = 0.069; + var_00.atmosfoghazespread = 0.0169; + var_00.atmosfogextinctionstrength = 0.1558; + var_00.atmosfoginscatterstrength = 20.945; + var_00.atmosfoghalfplanedistance = 18478.6; + var_00.atmosfogstartdistance = 33187; + var_00.atmosfogdistancescale = 1.028; + var_00.atmosfogskydistance = 138458; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 7.91; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (-0.543,0.726,0.415); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_drone_view"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.59,0.836,0.97); + var_00.atmosfoghazecolor = (1,1,0.897); + var_00.atmosfoghazestrength = 0.069; + var_00.atmosfoghazespread = 0.0169; + var_00.atmosfogextinctionstrength = 0.1558; + var_00.atmosfoginscatterstrength = 23; + var_00.atmosfoghalfplanedistance = 155355; + var_00.atmosfogstartdistance = 20501; + var_00.atmosfogdistancescale = 1.028; + var_00.atmosfogskydistance = 30823; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 7.91; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0785,0.863,0.498); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_drone_view_1"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.571,0.836,0.97); + var_00.atmosfoghazecolor = (1,1,0.897); + var_00.atmosfoghazestrength = 0.069; + var_00.atmosfoghazespread = 0.0169; + var_00.atmosfogextinctionstrength = 0.1558; + var_00.atmosfoginscatterstrength = 20.945; + var_00.atmosfoghalfplanedistance = 25738.6; + var_00.atmosfogstartdistance = 16413; + var_00.atmosfogdistancescale = 1.028; + var_00.atmosfogskydistance = 138458; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 7.91; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0785,0.863,0.498); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_tunnel"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.571,0.756,0.97); + var_00.atmosfoghazecolor = (1,1,0.897); + var_00.atmosfoghazestrength = 0.069; + var_00.atmosfoghazespread = 0.0169; + var_00.atmosfogextinctionstrength = 0.1558; + var_00.atmosfoginscatterstrength = 20.945; + var_00.atmosfoghalfplanedistance = 6207.61; + var_00.atmosfogstartdistance = 19001; + var_00.atmosfogdistancescale = 1.028; + var_00.atmosfogskydistance = 138458; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 7.91; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (-0.683,0.542,0.488); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_collapse"); + var_00.startdist = 2600; + var_00.halfwaydist = 19000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.571,0.756,0.97); + var_00.atmosfoghazecolor = (1,1,0.897); + var_00.atmosfoghazestrength = 0.069; + var_00.atmosfoghazespread = 0.0169; + var_00.atmosfogextinctionstrength = 0.1558; + var_00.atmosfoginscatterstrength = 20.945; + var_00.atmosfoghalfplanedistance = 18478.6; + var_00.atmosfogstartdistance = 33187; + var_00.atmosfogdistancescale = 1.028; + var_00.atmosfogskydistance = 138458; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 7.91; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (-0.543,0.726,0.415); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_flyover_cg"); + var_00.startdist = 1600; + var_00.halfwaydist = 12000; + var_00.red = 0.86477; + var_00.green = 0.92; + var_00.blue = 1; + var_00.hdrcolorintensity = 0; + var_00.maxopacity = 0; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 1; + var_00.atmosfogsunfogcolor = (0.571,0.756,0.97); + var_00.atmosfoghazecolor = (1,1,0.897); + var_00.atmosfoghazestrength = 0.069; + var_00.atmosfoghazespread = 0.0169; + var_00.atmosfogextinctionstrength = 0.1558; + var_00.atmosfoginscatterstrength = 20.945; + var_00.atmosfoghalfplanedistance = 6207.61; + var_00.atmosfogstartdistance = 2128.97; + var_00.atmosfogdistancescale = 1.028; + var_00.atmosfogskydistance = 138458; + var_00.atmosfogskyangularfalloffenabled = 1; + var_00.atmosfogskyfalloffstartangle = 7.91; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0.0785,0.863,0.498); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_cg"); + var_00.startdist = 50; + var_00.halfwaydist = 50000; + var_00.red = 0.933333; + var_00.green = 0.819608; + var_00.blue = 0.709804; + var_00.hdrcolorintensity = 14.0905; + var_00.maxopacity = 0.507907; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_cops_end_cg"); + var_00.startdist = 1000; + var_00.halfwaydist = 74000; + var_00.red = 0.661; + var_00.green = 0.686; + var_00.blue = 0.668; + var_00.hdrcolorintensity = 15.375; + var_00.maxopacity = 0.574; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_oncoming_cg"); + var_00.startdist = 1000; + var_00.halfwaydist = 74000; + var_00.red = 0.661; + var_00.green = 0.686; + var_00.blue = 0.668; + var_00.hdrcolorintensity = 15.375; + var_00.maxopacity = 0.574; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_boost_desat_cg"); + var_00.startdist = 1000; + var_00.halfwaydist = 74000; + var_00.red = 0.661; + var_00.green = 0.686; + var_00.blue = 0.668; + var_00.hdrcolorintensity = 15.375; + var_00.maxopacity = 0.574; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_boost_warm_1_cg"); + var_00.startdist = 1000; + var_00.halfwaydist = 74000; + var_00.red = 0.661; + var_00.green = 0.686; + var_00.blue = 0.668; + var_00.hdrcolorintensity = 15.375; + var_00.maxopacity = 0.574; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_boost_warm_2_cg"); + var_00.startdist = 1000; + var_00.halfwaydist = 74000; + var_00.red = 0.661; + var_00.green = 0.686; + var_00.blue = 0.668; + var_00.hdrcolorintensity = 15.375; + var_00.maxopacity = 0.574; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_vanexplosion_cg"); + var_00.startdist = 1000; + var_00.halfwaydist = 74000; + var_00.red = 0.661; + var_00.green = 0.686; + var_00.blue = 0.668; + var_00.hdrcolorintensity = 15.375; + var_00.maxopacity = 0.574; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_drone_view_cg"); + var_00.startdist = 13169; + var_00.halfwaydist = 85836.4; + var_00.red = 0.816273; + var_00.green = 0.947483; + var_00.blue = 0.997797; + var_00.hdrcolorintensity = 14.9345; + var_00.maxopacity = 0.5; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_drone_view_1_cg"); + var_00.startdist = 400; + var_00.halfwaydist = 12000; + var_00.red = 0.816273; + var_00.green = 0.947483; + var_00.blue = 0.997797; + var_00.hdrcolorintensity = 13; + var_00.maxopacity = 0.5; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_tunnel_cg"); + var_00.startdist = 775; + var_00.halfwaydist = 27430.5; + var_00.red = 0.119106; + var_00.green = 0.202035; + var_00.blue = 0.188213; + var_00.hdrcolorintensity = 13.8989; + var_00.maxopacity = 0.05; + var_00.transitiontime = 0.2; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; + var_00 = maps\_utility::create_vision_set_fog("sanfran_collapse_cg"); + var_00.startdist = 1000; + var_00.halfwaydist = 74000; + var_00.red = 0.661; + var_00.green = 0.686; + var_00.blue = 0.668; + var_00.hdrcolorintensity = 15.375; + var_00.maxopacity = 0.574; + var_00.transitiontime = 0; + var_00.sunfogenabled = 0; + var_00.sunred = 0.5; + var_00.sungreen = 0.5; + var_00.sunblue = 0.5; + var_00.hdrsuncolorintensity = -8; + var_00.sundir = (0,0,0); + var_00.sunbeginfadeangle = 0; + var_00.sunendfadeangle = 1; + var_00.normalfogscale = 1; + var_00.skyfogintensity = 0; + var_00.skyfogminangle = 0; + var_00.skyfogmaxangle = 0; + var_00.heightfogenabled = 0; + var_00.heightfogbaseheight = 0; + var_00.heightfoghalfplanedistance = 1000; + var_00.atmosfogenabled = 0; + var_00.atmosfogsunfogcolor = (0.5,0.5,0.5); + var_00.atmosfoghazecolor = (0.5,0.5,0.5); + var_00.atmosfoghazestrength = 0.5; + var_00.atmosfoghazespread = 0.25; + var_00.atmosfogextinctionstrength = 1; + var_00.atmosfoginscatterstrength = 0; + var_00.atmosfoghalfplanedistance = 5000; + var_00.atmosfogstartdistance = 0; + var_00.atmosfogdistancescale = 1; + var_00.atmosfogskydistance = 100000; + var_00.atmosfogskyangularfalloffenabled = 0; + var_00.atmosfogskyfalloffstartangle = 0; + var_00.atmosfogskyfalloffanglerange = 90; + var_00.atmosfogsundirection = (0,0,1); + var_00.atmosfogheightfogenabled = 0; + var_00.atmosfogheightfogbaseheight = 0; + var_00.atmosfogheightfoghalfplanedistance = 1000; +} + +//Function Number: 2 +sunflare() +{ + var_00 = maps\_utility::create_sunflare_setting("default"); + var_00.position = (-30,85,0); + maps\_art::sunflare_changes("default",0); +} \ No newline at end of file diff --git a/AW/PC/SP/maps/createart/seoul_art.gsc b/AW/PC/maps/createart/seoul_art.gsc similarity index 80% rename from AW/PC/SP/maps/createart/seoul_art.gsc rename to AW/PC/maps/createart/seoul_art.gsc index bdb0c9e..32d9d2d 100644 --- a/AW/PC/SP/maps/createart/seoul_art.gsc +++ b/AW/PC/maps/createart/seoul_art.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/createart/seoul_art.gsc + * Decompiled File: createart\seoul_art.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 14 ms - * Timestamp: 10/27/2023 2:07:00 AM + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 2:07:22 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/createart/seoul_fog.gsc b/AW/PC/maps/createart/seoul_fog.gsc similarity index 96% rename from AW/PC/SP/maps/createart/seoul_fog.gsc rename to AW/PC/maps/createart/seoul_fog.gsc index 5ef2347..8ad5217 100644 --- a/AW/PC/SP/maps/createart/seoul_fog.gsc +++ b/AW/PC/maps/createart/seoul_fog.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/createart/seoul_fog.gsc + * Decompiled File: createart\seoul_fog.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 14 ms - * Timestamp: 10/27/2023 2:07:00 AM + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:07:22 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/createart/seoul_fog_hdr.gsc b/AW/PC/maps/createart/seoul_fog_hdr.gsc similarity index 99% rename from AW/PC/SP/maps/createart/seoul_fog_hdr.gsc rename to AW/PC/maps/createart/seoul_fog_hdr.gsc index fee0fbe..e93dab8 100644 --- a/AW/PC/SP/maps/createart/seoul_fog_hdr.gsc +++ b/AW/PC/maps/createart/seoul_fog_hdr.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/createart/seoul_fog_hdr.gsc + * Decompiled File: createart\seoul_fog_hdr.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 80 ms - * Timestamp: 10/27/2023 2:07:01 AM + * Decompile Time: 99 ms + * Timestamp: 4/22/2024 2:07:23 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/createfx/betrayal_fx.gsc b/AW/PC/maps/createfx/betrayal_fx.gsc new file mode 100644 index 0000000..f09e08a --- /dev/null +++ b/AW/PC/maps/createfx/betrayal_fx.gsc @@ -0,0 +1,2940 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\betrayal_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 263 ms + * Timestamp: 4/22/2024 2:07:24 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_betrayal"); + var_00 common_scripts\_createfx::set_origin_and_angles((5501.72,5244.64,-184.875),(0,113.474,180)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_water_betrayal"); + var_00 common_scripts\_createfx::set_origin_and_angles((3475.88,2854.84,-513.875),(9.29896,161.216,8.26361)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_betrayal"); + var_00 common_scripts\_createfx::set_origin_and_angles((2396.87,5750.56,-220.875),(0,113.474,180)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_betrayal"); + var_00 common_scripts\_createfx::set_origin_and_angles((2106.55,4975,-227.875),(0,113.474,180)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_betrayal"); + var_00 common_scripts\_createfx::set_origin_and_angles((2115.84,4464.46,-163.875),(0,113.474,180)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_betrayal"); + var_00 common_scripts\_createfx::set_origin_and_angles((2102.98,3464.14,-120.875),(0,113.474,180)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_betrayal"); + var_00 common_scripts\_createfx::set_origin_and_angles((1958.92,3555.49,-126.875),(0,113.474,180)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_betrayal"); + var_00 common_scripts\_createfx::set_origin_and_angles((2047.94,3410.58,-133.875),(0,113.474,180)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_betrayal"); + var_00 common_scripts\_createfx::set_origin_and_angles((3341,5806.68,-139.875),(0,113.474,180)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_betrayal"); + var_00 common_scripts\_createfx::set_origin_and_angles((5478.81,4436.63,-70.875),(0,113.474,180)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_betrayal"); + var_00 common_scripts\_createfx::set_origin_and_angles((4411.46,4058.34,-100.875),(0,113.474,180)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_betrayal"); + var_00 common_scripts\_createfx::set_origin_and_angles((5478.82,5115.35,-205.875),(0,113.474,180)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_betrayal"); + var_00 common_scripts\_createfx::set_origin_and_angles((1299.11,4311.3,-290.087),(0,113.474,180)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_betrayal"); + var_00 common_scripts\_createfx::set_origin_and_angles((5422.6,3339.59,-154.875),(0,113.474,180)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_betrayal"); + var_00 common_scripts\_createfx::set_origin_and_angles((5437.89,5847.88,-85),(0,113.474,180)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_betrayal"); + var_00 common_scripts\_createfx::set_origin_and_angles((3563.91,5602.23,-101.207),(0,113.474,180)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_betrayal"); + var_00 common_scripts\_createfx::set_origin_and_angles((2056.83,4853.24,-125.875),(0,113.474,180)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_betrayal"); + var_00 common_scripts\_createfx::set_origin_and_angles((2235.8,3054.04,-65.875),(0,113.474,180)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_betrayal"); + var_00 common_scripts\_createfx::set_origin_and_angles((2597.4,4470.54,-185.875),(0,113.474,180)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_betrayal"); + var_00 common_scripts\_createfx::set_origin_and_angles((3656.46,5585.12,-203.912),(0,113.474,180)); + var_00 = common_scripts\utility::createoneshoteffect("betrayal_steam_fill_utility_room"); + var_00 common_scripts\_createfx::set_origin_and_angles((3080.44,-738.662,-367.772),(9.29896,161.216,8.26361)); + var_00 = common_scripts\utility::createoneshoteffect("betrayal_steam_fill_utility_room"); + var_00 common_scripts\_createfx::set_origin_and_angles((3077.1,-647.723,-367.772),(9.29896,161.216,8.26361)); + var_00 = common_scripts\utility::createoneshoteffect("betrayal_steam_fill_utility_room"); + var_00 common_scripts\_createfx::set_origin_and_angles((3078.82,-833.715,-367.772),(9.29896,161.216,8.26361)); + var_00 = common_scripts\utility::createoneshoteffect("betrayal_overhead_fluor_steam_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((3507.21,-838.057,-315.772),(9.29896,161.216,8.26361)); + var_00 = common_scripts\utility::createoneshoteffect("betrayal_overhead_fluor_steam_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((3504.78,-501.821,-315.772),(9.29896,161.216,8.26361)); + var_00 = common_scripts\utility::createoneshoteffect("betrayal_overhead_fluor_steam_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((3386.39,-701.386,-316.772),(9.29896,161.216,8.26361)); + var_00 = common_scripts\utility::createoneshoteffect("betrayal_overhead_spot_steam_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((3241.47,-658.86,-295.574),(9.29896,161.216,8.26361)); + var_00 = common_scripts\utility::createoneshoteffect("betrayal_overhead_spot_steam_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((3714.55,-492.194,-296.5),(9.29896,161.216,8.26361)); + var_00 = common_scripts\utility::createoneshoteffect("betrayal_overhead_spot_steam_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((3524.15,-852.941,-303.856),(9.29896,161.216,8.26361)); + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flock_large_group_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15452,62294.6,1588.97),(0,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flock_large_group_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22690.9,55306,916.095),(0,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flock_large_group_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12256.7,54402.2,3644.82),(0,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flock_large_group_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12043.7,57908.1,3607.62),(0,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flock_large_group_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16205.5,62564.3,2685.84),(0,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("betrayal_overhead_fluor_steam_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((3383.55,-583.092,-316.875),(9.29896,161.216,8.26361)); + var_00 = common_scripts\utility::createoneshoteffect("betrayal_overhead_fluor_steam_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((3386.73,-841.78,-316.027),(9.29896,161.216,8.26361)); + var_00 = common_scripts\utility::createoneshoteffect("betrayal_overhead_fluor_steam_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((3253.19,-704.787,-316.875),(9.29896,161.216,8.26361)); + var_00 = common_scripts\utility::createoneshoteffect("betrayal_steam_fill_utility_room"); + var_00 common_scripts\_createfx::set_origin_and_angles((3643.92,-735.112,-391.875),(9.29896,161.216,8.26361)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_pa","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4440,61925,-602),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("caustic_b_pa","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4440,61375,-602),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("caustic_b_pa","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3890,61925,-602),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("caustic_b_pa","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3890,61375,-602),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("caustic_b_pa","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3340,61925,-602),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("caustic_b_pa","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3340,61375,-602),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("caustic_b_pa","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2790,61925,-602),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("caustic_b_pa","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2790,61375,-602),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("caustic_b_pa","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2240,61925,-602),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("caustic_b_pa","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2240,61375,-602),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("caustic_b_pa","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9829.86,54406.2,-949),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_godray_beams_1","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3424.86,61514.5,-596),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_godray_beams_1","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2742.64,61492.8,-592),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_godray_beams_1","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3028.39,61881.7,-592),(270,0,0)); + var_00.v["delay"] = -1; + var_00 = common_scripts\_createfx::createexploderex("pigeon_fly_off","901"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19274.6,60716.2,-491.986),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("pigeon_fly_off","901"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22710.1,53284.4,-532.637),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("pigeon_fly_off","901"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11063.4,53930.5,4.70007),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("windows_hazy","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4506.65,63614.5,-228.769),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("windows_hazy","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4946.28,64158.9,-241.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("windows_hazy","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4957.2,64411.9,-240.509),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_betrayal","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5632.81,64106.8,-286.875),(0,113.474,180)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_betrayal","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5728.62,63653.8,-244.432),(0,113.474,180)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_betrayal","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5712.13,63558.6,-248.616),(0,113.474,180)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5378.19,64650,-503.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("windows_hazy","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((4613.28,65907.1,-229.677),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("windows_hazy","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3848.88,65478.1,-237.717),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("windows_hazy","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3435.25,65354.9,-234.137),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("windows_hazy","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3693.89,65341.9,-231.664),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("windows_hazy","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3610.86,65796.6,-238.089),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("windows_hazy","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3849.99,65796.6,-238.282),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_betrayal","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3280.61,65782.7,-404.44),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_betrayal","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5402.65,65713.3,-166.338),(0,113.474,180)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_betrayal","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2237.95,66114.8,-373.994),(0,113.474,180)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_betrayal","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2320.43,65468.3,-429.875),(0,113.474,180)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_betrayal","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2248.71,65296.9,-495),(0,113.474,180)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_betrayal","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2237.17,65121.8,-484.858),(0,113.474,180)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_betrayal","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2189.45,64702.8,-469.5),(0,113.474,180)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_betrayal","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2145.76,64454.3,-481.018),(0,113.474,180)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_betrayal","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2068.23,64172.6,-615),(0,113.474,180)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_betrayal","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2034.14,63886,-553.899),(0,113.474,180)); + var_00 = common_scripts\_createfx::createexploderex("windows_hazy","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2028,65626.2,-232.925),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("windows_hazy","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1981.09,65768.5,-239.551),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("windows_hazy","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1978.13,66127.3,-237.245),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("windows_hazy","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2132.13,65391.5,-233.654),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("windows_hazy","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2132.13,65212.7,-233.395),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("windows_hazy","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2353.88,65099.8,-237.793),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("windows_hazy","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2356.87,64856.1,-240.577),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("windows_hazy","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2030.13,64968.1,-238.536),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("windows_hazy","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1961.52,64693.3,-241.435),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_betrayal","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2045.32,63496.6,-433),(0,113.474,180)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_betrayal","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2142.5,63627.4,-240.176),(0,113.474,180)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_pa","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1404.86,61635.6,-605),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("caustic_b_pa","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((680.152,61948.3,-599),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("caustic_b_pa","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1960.8,61705.6,-599),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("caustic_b_pa","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1264.03,61965,-601),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13081.6,56092.3,-134),(-13079.5,56094.3,-135)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13104.1,56268.6,-176),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13056.7,56170.8,-198),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12965.9,56354.3,-143),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12889.3,56108.3,-180),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12938.7,56197.1,-228),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12860.5,56207.1,-227.917),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13062.6,55979.9,-187),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10889.4,56069.7,-115.605),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10904.6,56347.5,-54.8095),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10896.7,56408.9,-32.8693),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10897.4,56433.5,35.2171),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10905.7,56240.5,-46.8113),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10893.2,56104,-22.5567),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10897.4,56123.8,4.72263),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10796.9,56292.3,-2),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10812.3,56344.4,53.3404),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10729.6,56387.9,-0.342499),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9217.67,57737.6,-178),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9219.62,57706,-217),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9048.84,57809.8,-45.9052),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9137.73,57490.6,-118),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9117.87,57654.2,-196),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9066.87,57832.3,-213),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8938.23,57585.2,46.0154),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9124.64,57400.6,75.8194),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9322.35,57528.4,72.2135),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7741,56862.8,-158.883),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7813.6,56767.1,-242.248),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7970.65,56684.1,-152.243),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8572.58,54977.8,-235.59),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8365.66,54927.7,-280.254),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_godray_beams_canal_1","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8705.32,55227.9,-248.803),(357,113.474,-2.12981)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_betrayal","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5761.2,64492.5,-254.65),(359.414,85.1256,-164.017)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_betrayal","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12029.6,62878.8,-201.924),(0,113.474,180)); + var_00 = common_scripts\_createfx::createexploderex("bird_vulture_circle_a_loop","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12025.5,62862.8,198.652),(0,113.474,180)); + var_00 = common_scripts\_createfx::createexploderex("leaves_small_fall_gentlewind","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3229.54,59517.6,173.92),(0.56674,359.978,-83.2411)); + var_00 = common_scripts\_createfx::createexploderex("trash_tornado_s_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5424.16,65330.5,-503.875),(292.855,289.058,-109.562)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3803.85,63561.4,-463.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4434.23,63766.7,-283.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4876.05,64387.3,-277.585),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((4712.36,65984.7,-263.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3948.6,65308.1,-283.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3550.15,65018.1,-279.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1607.58,65813.5,-83.5029),(270,0,0)); + var_00.v["delay"] = -2; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2731.41,59662.1,-67.875),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2998.12,58674.1,-64),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2720.12,58882.5,-96.875),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3734.06,63282.5,-495.302),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("bird_seagull_flock_flying_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6611.93,64313.8,519.798),(5.31098,268.077,-175.189)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5645.59,64588,-503.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5436.34,65070.4,-503.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6044.19,64990.1,-503.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6282.1,64692.7,-503.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6019.04,64409.1,-503.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5220.99,65224.3,-504),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5224.68,64573.3,-449),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5206.5,63875.7,-503.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5277.81,63646.4,-503.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5658.75,63801.2,-503.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4949.04,64826.1,-303.875),(270,0,-179.001)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4749.9,64910.3,-192.875),(270,0,-176.001)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4963.7,63720,-177),(353.188,277.683,153.829)); + var_00 = common_scripts\_createfx::createexploderex("heat_distortion_l","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2866.34,59862,-61.875),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("heat_distortion_l","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5081.63,65577,-506.503),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("heat_distortion_l","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5537.44,64524.9,-503.875),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("heat_distortion_l","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5098.24,63896.7,-503.875),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("heat_distortion_l","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3401.57,65567,-507.502),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("heat_distortion_l","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2111.76,64170.9,-498),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3110.15,65391.6,-303.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2138.39,65608,-505.912),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2270.07,66465.1,-463.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2172.26,65016.7,-508),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2158.95,64400.5,-507.273),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2058.36,62551.2,-510.104),(270,0,179.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1599.96,62583.1,-559.875),(270,0,179.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1265.04,62350.3,-559.875),(270,0,179.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((823.596,62665.2,-495.875),(270,0,179.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3096.22,65748.4,-504),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_betrayal","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5779.44,64847.6,-271.556),(359.414,85.1256,-164.017)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5725.94,64382.5,-503.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5217.08,64336.3,-503.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4903.31,63614.2,-503.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((4062.36,65963.3,-303.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((4302.15,66185.8,-191.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("bird_seagull_flock_flying_runner","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81605.8,-4238.72,1361.47),(359.487,11.557,-178.65)); + var_00 = common_scripts\_createfx::createexploderex("bird_vulture_circle_a_loop","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83209.5,-2608.78,3355.32),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("bird_seagull_flock_large_group_loop","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82304.6,-1696.16,1451.09),(0,345,0)); + var_00 = common_scripts\_createfx::createexploderex("leaves_small_fall_gentlewind","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3249.52,58565.6,184.628),(1.55963,0,-70.2388)); + var_00 = common_scripts\_createfx::createexploderex("leaves_small_fall_gentlewind","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2130.11,58540.9,210.881),(1.55963,0,-70.2388)); + var_00 = common_scripts\_createfx::createexploderex("leaves_small_fall_gentlewind","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2144.78,59523.1,213.726),(0.56674,359.978,-83.2411)); + var_00 = common_scripts\_createfx::createexploderex("leaves_small_fall_gentlewind","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2147.63,59010.2,166.378),(0.56674,359.978,-83.2411)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3497.05,59881,-24.875),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("pigeon_fly_off","5001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3792.68,63650.1,-95.031),(294,356,0)); + var_00 = common_scripts\_createfx::createexploderex("heat_distortion_l","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((2191.29,65644.2,-503.005),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5337.81,63969.4,-475.182),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5198.35,65603.1,-481.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3540.29,65501.7,-460.033),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("bird_vulture_circle_a_loop","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4633.44,63378.4,1496.16),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("bird_seagull_flock_flying_runner","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-470.679,60450.3,1514.81),(2.96293,180.987,179.531)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2060.19,65871.1,-466.66),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("leaves_small_fall_gentlewind","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3145.38,59136.6,36.1311),(0.566611,359.978,-86.241)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3468.26,63070.2,-504),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3758.11,63071.9,-504.089),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("bird_seagull_flock_flying_runner","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-80824,-4489.94,235.785),(0,332,0)); + var_00 = common_scripts\_createfx::createexploderex("bird_seagull_flock_large_group_loop","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-79316.8,-4555.29,600.582),(0,316.999,0)); + var_00 = common_scripts\_createfx::createexploderex("bird_seagull_flock_flying_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6531.85,61728.7,334.122),(1.02524,119.972,177.181)); + var_00 = common_scripts\_createfx::createexploderex("bird_seagull_flock_flying_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6428.59,68001.9,284.612),(359.983,184.006,179.686)); + var_00 = common_scripts\_createfx::createexploderex("bird_seagull_flock_flying_runner","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16902.4,62718.2,484.318),(359.689,106.005,179.952)); + var_00 = common_scripts\_createfx::createexploderex("bird_seagull_flock_flying_runner","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18280,58860.3,36.5169),(359.896,168.005,179.702)); + var_00 = common_scripts\_createfx::createexploderex("bird_seagull_flock_flying_runner","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17599.1,53337.8,45),(359.696,113.004,179.914)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4225.49,62678.7,-380.42),(335.85,192.534,-173.875)); + var_00 = common_scripts\_createfx::createexploderex("bird_vulture_circle_a_loop","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1321.9,62277.6,1584.24),(0,279.999,-180)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-80991,-4806.53,-245.659),(15.0644,125.955,-179.074)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-80397.4,-6814.79,-283),(355.974,224.432,174.384)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-78680.4,-5220.91,-295.001),(2.73978,123.908,-167.874)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81785.4,-6573.43,-470.261),(273,226.996,-172.997)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81689.1,-6560.25,-479.875),(276.135,172.95,-119.081)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81887.8,-6445.96,-479.999),(273,226.996,-172.997)); + var_00 = common_scripts\_createfx::createexploderex("leaves_small_fall_gentlewind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-80412.5,-6783.24,-225.611),(0.566611,359.978,-86.241)); + var_00 = common_scripts\_createfx::createexploderex("dust_wind_blowing_fast_rnr","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82792.3,-6254.21,670.125),(270.83,238.647,25.3692)); + var_00 = common_scripts\_createfx::createexploderex("dust_wind_blowing_fast_rnr","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81954.6,-6263.75,641.125),(270.83,238.647,25.3692)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4273.69,63255.3,-503.875),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3932.23,62889.8,-503.875),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((2867,65445.3,-303.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("bird_vulture_circle_a_loop","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((451.663,66362.2,1945.8),(0,279.999,-180)); + var_00 = common_scripts\_createfx::createexploderex("leaves_small_fall_gentlewind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-80681.8,-7183.74,-250.16),(0.566611,359.978,-86.241)); + var_00 = common_scripts\_createfx::createexploderex("leaves_small_fall_gentlewind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81179.9,-5231.22,-225.139),(0.566611,359.978,-86.241)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2280.89,59071.5,-71.875),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((4636.26,66117,-445.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3315.85,65219.4,-441.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5146.04,63751.2,-467.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5084.89,65410.5,-468),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((4122.18,65651.5,-448),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4899.37,63904.3,-311.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_betrayal","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2795.22,57757.3,-23.875),(360,183.474,179)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3633.55,65921.3,-256.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1644.36,65363.6,-244.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3723.24,62710.1,-503.875),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3458.88,62731.9,-503.875),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3024.38,62717.2,-503.875),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2469.73,62667.4,-503.875),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4029.49,63562,-275.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3921.55,63808.4,-310.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4887.35,63875.1,-272.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3540.69,66187,-143),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((2472.2,66162.2,-247.247),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3371.98,65254.4,-244.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3481.6,64994.2,-447.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((4491.99,66192.6,-253.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((2748.27,65989.1,-266.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1698.03,66079.7,-69.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1905.77,65475.9,-73.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1613.86,65594.7,-107.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1861.03,65046.1,-83.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1758.32,65093.6,9.125),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1660.75,64807.7,-73.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1488.81,64369.8,-269.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1672.29,64333,-274.614),(270,0,0)); + var_00.v["delay"] = -2; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1880.79,64345.4,-504),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2643.38,64715.5,-228.495),(270,0,0)); + var_00.v["delay"] = -2; + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2443.29,65070.3,-269.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2592.59,65286.3,-145.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2628.11,65041,-111.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2430.92,64432.4,-304),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("pigeon_rand_idle_single","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2988.29,61030.6,-404.704),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("pigeon_rand_idle_single","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2944.4,61025.1,-402.847),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("pigeon_rand_idle_single","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3326.61,60658.6,-278.312),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("pigeon_rand_idle_single","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3316.26,60767.4,-316.277),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("pigeon_rand_idle_single","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3161.04,61032.3,-404.789),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("pigeon_rand_idle_single","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2923.03,60964.8,-382.494),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","4106"); + var_00 common_scripts\_createfx::set_origin_and_angles((2909.34,61267.3,-601),(24.3596,93.7535,179.957)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","4204"); + var_00 common_scripts\_createfx::set_origin_and_angles((2701.36,61448.2,-612),(24.3596,93.7535,179.957)); + var_00 = common_scripts\_createfx::createexploderex("glass_slam_body","1001"); + var_00 common_scripts\_createfx::set_origin_and_angles((2696.95,60369.7,-176.719),(0.956369,175.237,17.9369)); + var_00 = common_scripts\_createfx::createexploderex("glass_slam_body","1002"); + var_00 common_scripts\_createfx::set_origin_and_angles((2673.47,61033.2,-405.558),(0.956369,175.237,17.9369)); + var_00 = common_scripts\_createfx::createexploderex("glass_slam_body","1002"); + var_00 common_scripts\_createfx::set_origin_and_angles((2662.37,61033.3,-377.26),(0.956369,175.237,2.93664)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3064.49,60504.1,-236.143),(288,92.9991,89.9997)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2447.97,60788.9,-333.172),(288,92.9991,89.9997)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_medium","1004"); + var_00 common_scripts\_createfx::set_origin_and_angles((2655.38,61224.5,-589),(275.323,22.7388,-18.7444)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","4203"); + var_00 common_scripts\_createfx::set_origin_and_angles((2543.92,61214.3,-593),(22.341,82.9399,177.834)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","4101"); + var_00 common_scripts\_createfx::set_origin_and_angles((2764.18,61161.2,-592),(24.3596,93.7535,179.957)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","4104"); + var_00 common_scripts\_createfx::set_origin_and_angles((2710.19,61560,-610),(24.3596,93.7535,179.957)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","4102"); + var_00 common_scripts\_createfx::set_origin_and_angles((2613.56,61549.8,-597),(24.3596,93.7535,179.957)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81925,-6520.14,-478.124),(273,226.996,-172.997)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5614.19,65072.7,-503.875),(271,92.9867,83.0121)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5278.55,64051.6,-503.875),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5711.17,63911.5,-485.875),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5479.81,63682.3,-509.875),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4781.13,63674.1,-275.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3467.9,57605.3,61.125),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3403.25,57121.6,120),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3812.09,57122.6,52.9904),(330.184,288.313,149.836)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3851.72,57440.2,131.125),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2710.41,57865.6,49),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4990.02,65465,-469.548),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4523.09,65760.7,-464.512),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((2377.99,66020.8,-55.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2295.19,65469.1,-463.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2245.64,65202.5,-461),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5136.7,64037.6,-493.875),(270,204.376,-24.3779)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_betrayal","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((4581.66,66125.7,-130.589),(0,111.474,-180)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_betrayal","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((4144.17,65669,-427.596),(0,111.474,-180)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_betrayal","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3575.05,65034.4,-213.059),(0,111.474,-180)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3843.43,65848.9,-256.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3470.48,66019.7,-244.205),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","4304"); + var_00 common_scripts\_createfx::set_origin_and_angles((2906.58,61273.3,-606.297),(24.3596,93.7535,179.957)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","4300"); + var_00 common_scripts\_createfx::set_origin_and_angles((2682.47,61300.2,-608),(23.9585,82.799,175.462)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","4302"); + var_00 common_scripts\_createfx::set_origin_and_angles((3039.82,61448,-592),(23.5667,83.9401,172.963)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4008.85,57058.2,19),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3823.05,56787.5,120),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3577.53,56681.6,189.012),(330.184,288.313,149.836)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4106.02,56712,86.7626),(330.184,288.313,149.836)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3646.85,56789.5,120),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4043.19,56815.2,130),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3958.57,56976,44.125),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_betrayal","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2727.39,58211.3,20.125),(0,113.474,180)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_betrayal","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2545.65,58003.1,-22),(0,113.474,180)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_betrayal","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2239.43,58196.1,26.0087),(0,113.474,180)); + var_00 = common_scripts\_createfx::createexploderex("glass_throw","1006"); + var_00 common_scripts\_createfx::set_origin_and_angles((2620.26,60814,-306.535),(359.843,116.998,0.98755)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("glass_slam_body","1005"); + var_00 common_scripts\_createfx::set_origin_and_angles((2810.56,60333.1,-174.26),(0.956369,175.237,17.9369)); + var_00 = common_scripts\_createfx::createexploderex("glass_slam_body","1005"); + var_00 common_scripts\_createfx::set_origin_and_angles((2581.15,60270,-147.188),(0.956369,175.237,17.9369)); + var_00 = common_scripts\_createfx::createexploderex("glass_throw","1006"); + var_00 common_scripts\_createfx::set_origin_and_angles((2684.83,60849.4,-315.043),(0,107.999,0)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("water_splashes_radial_xsml","1010"); + var_00 common_scripts\_createfx::set_origin_and_angles((2653.51,61228.3,-586),(275.323,22.7388,-18.7444)); + var_00 = common_scripts\_createfx::createexploderex("underwater_particulates_river","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3549.88,61443.5,-814),(270,348.69,100.309)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_particulates_river","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3121.05,61631.8,-829),(270,15.9454,73.0536)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_particulates_river","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2560.6,61384.1,-805),(359.895,94.9955,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_particulates_river","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4104.87,61697.9,-838),(270,185.711,-90.7111)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_particulates_river","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2701.87,61950.6,-879.324),(270,0,91.9995)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_particulates_river_sml","4050"); + var_00 common_scripts\_createfx::set_origin_and_angles((3505.88,62676.5,-813.604),(359.001,0.998577,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3039.72,61309.7,-874.321),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3258.34,61293.6,-864),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3855.12,61280.8,-834.792),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4094.18,61295.5,-910),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3335.66,61862.5,-903.229),(278,180,180)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3667.32,61517.9,-864),(277.066,135.108,-134.89)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3671.23,61469.3,-930),(280.285,151.176,-150.783)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2257.4,61222.1,-899.567),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3429.02,62104,-881.685),(282.517,231.716,133.732)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3533.3,62125.5,-864.166),(285.767,234.851,124.121)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2594.18,61721.6,-895.238),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4132.21,61841.8,-892.97),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("btr_emergency_light_pulse","3001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3873.08,57291.4,-10.2527),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("btr_emergency_light_pulse","3001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3695.93,57290.4,-11.2524),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("btr_emergency_light_pulse","3001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3606.32,57135.4,-11.9424),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("btr_emergency_light_pulse","3001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3696.69,56985.8,-11.9424),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("btr_emergency_light_pulse","3001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3873.7,56984,-10.2525),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("btr_emergency_light_pulse","3001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3961.87,57136.7,-10.9424),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("trash_underwater_current_rnr_lp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3502.59,61433.3,-753),(360,266.999,1.00004)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("trash_underwater_current_rnr_lp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3955.84,61970.6,-730.073),(360,266.999,1.00004)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("trash_underwater_current_rnr_lp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3013.7,61600,-778.169),(360,266.999,1.00004)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1700.19,60120.5,-53),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1430.51,60171.6,-62),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1039.17,60211.3,-77.1379),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((789.068,60158,-36.875),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1817.23,60329.3,173.602),(62.7666,262.954,-98.5243)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1057.79,60278.8,208.12),(62.9958,267.313,-94.6437)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3845.35,65534.6,-182.958),(49.9882,268.807,-1.5562)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5613.82,63591.4,-330.238),(55.4292,175.585,-6.18562)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5639.75,63984.1,-292.447),(55.4292,175.585,-6.18562)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2066.66,64985.3,-179.843),(61.5692,208.539,-152.579)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2064.29,64850.6,-190.377),(62.0169,206.647,-154.247)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_light_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1724.9,62269.2,-554.875),(270,0,179.999)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81692.4,-6353.5,-464.875),(270,0,-43.0008)); + var_00 = common_scripts\_createfx::createexploderex("leaves_small_fall_gentlewind","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3245.88,58957.9,163.562),(0.32881,0.94979,-76.2335)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82615.4,-6323.91,697.125),(270,0,-85.0005)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2043.19,62583.7,-460.875),(270,0,179.999)); + var_00.v["delay"] = -2; + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((2561.17,66244,-97.815),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3760.34,56909.7,39),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2888.69,57719.8,-6.875),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3528.72,57196.8,62),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2044.46,63530.9,-448.086),(270,0,179.999)); + var_00.v["delay"] = -2; + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2052.21,64007.2,-468),(270,0,179.999)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1835.57,65111.5,-59.875),(270,0,179.999)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3527.67,56895,46),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3565.82,57467.1,181.567),(67.4387,205.994,112.606)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3563.53,57687.8,272.913),(67.4387,205.994,112.606)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2993.8,57761.8,155.381),(67.4387,205.994,112.606)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2916.41,57651.6,213.979),(67.4387,205.994,112.606)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2646.98,58046.3,172),(67.4387,205.994,112.606)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2577.84,58172.5,207.986),(67.4387,205.994,112.606)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82805.3,-6407.03,746.125),(270,0,-85.0005)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82246.2,-6397.69,675.125),(270,0,-85.0005)); + var_00 = common_scripts\_createfx::createexploderex("dust_wind_blowing_fast_rnr","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83907.3,-6243.44,1096.13),(270.83,238.647,25.3692)); + var_00 = common_scripts\_createfx::createexploderex("dust_wind_blowing_fast_rnr","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82730.8,-4114.27,2111.13),(270.83,238.647,25.3692)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83819.9,-6342.85,2562.13),(270.83,238.647,25.3692)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_lp","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83793.9,-6424.99,2511.13),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_lp","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83895.3,-6081.68,2502.13),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83921.5,-5926.31,2670.13),(67.1909,185.977,159.591)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83750.8,-6042.22,2654.13),(67.1909,185.977,159.591)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83870.2,-6300.96,2643.13),(67.1909,185.977,159.591)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83782.6,-6387.64,2654.13),(67.1909,185.977,159.591)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83867.6,-6194.6,2662.13),(67.1909,185.977,159.591)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83672.2,-6378.27,2640.56),(67.1909,185.977,159.591)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83990.8,-5521.86,2644.34),(67.1909,185.977,159.591)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83893.8,-5398.86,2692.13),(67.1909,185.977,159.591)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-84067.3,-5613.39,2670.88),(67.1909,185.977,159.591)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83929.2,-5281.49,2692.58),(67.1909,185.977,159.591)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-84031,-5162.38,2675.13),(67.1909,185.977,159.591)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-84098.5,-5285.92,2659.76),(67.1909,185.977,159.591)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-84056.7,-5432.95,2506.13),(270.83,238.647,25.3692)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83719.6,-5691.83,2832.45),(67.7258,225.766,-163.445)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83807.6,-5764.74,2783.45),(67.1909,185.977,159.591)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83979.1,-5171.94,2643.51),(67.1909,185.977,159.591)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83809.7,-4670.09,2821.13),(68.5379,215.236,-173.221)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83739.9,-4861.67,2810.99),(68.5379,215.236,-173.221)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83809.4,-5012.78,2826.13),(68.5379,215.236,-173.221)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83648.7,-4379.43,2795.45),(68.5379,215.236,-173.221)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83802.8,-4286.94,2806.13),(68.5379,215.236,-173.221)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83719.2,-4126.11,2806.86),(68.5379,215.236,-173.221)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_lp","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83843.1,-4900.71,2647.13),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_lp","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83808.7,-4270.97,2632.13),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83765.2,-4400.46,2827.13),(68.5379,215.236,-173.221)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83390.1,-4545.64,2786.14),(68.5379,215.236,-173.221)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83063.1,-4804.99,2780.45),(68.5379,215.236,-173.221)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82738.7,-4938.69,2821.25),(68.5379,215.236,-173.221)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82115.6,-3817.82,2437.91),(68.5379,215.236,-173.221)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82481.5,-3778.16,2416.09),(68.5379,215.236,-173.221)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81994.6,-3962.62,2544.89),(68.5379,215.236,-173.221)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82325.3,-4510.82,2471.42),(68.5379,215.236,-173.221)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81898.3,-4534.12,2445.69),(68.5379,215.236,-173.221)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83849.3,-4811.69,2653.13),(270.83,238.647,25.3692)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83712.6,-4289.36,2650.13),(270.83,238.647,25.3692)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82494.5,-6354.83,920.621),(67.1909,185.977,159.591)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82622,-6469.2,886.97),(67.1909,185.977,159.591)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82726.9,-6440.22,892.25),(67.1909,185.977,159.591)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82830.8,-6353.63,946.224),(67.1909,185.977,159.591)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81985.9,-6320.97,916),(68.1255,185.041,158.725)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81990.1,-6160.42,851.311),(68.1255,185.041,158.725)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81420.8,-6772.01,829.211),(75.3049,173.559,147.798)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81530.8,-6848.88,896.296),(75.3049,173.559,147.798)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81473.2,-7052.22,852.455),(75.3049,173.559,147.798)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81532.6,-6682.55,809.567),(75.3049,173.559,147.798)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81520.8,-6967.61,707.125),(0,0,0)); + var_00.v["delay"] = -2; + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81992.3,-6584.91,851.566),(69.0544,184.026,157.78)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82013.3,-6513.92,675.125),(270,0,-85.0005)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82799.2,-6739.68,747),(270,0,-85.0005)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81567.8,-6365.36,-277.353),(64.5651,226.006,-163.2)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81689.8,-6332.39,-287.883),(64.5651,226.006,-163.2)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81464.8,-6528.22,-340.153),(64.5651,226.006,-163.2)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81264.8,-6420.85,-272.978),(64.2594,228.21,-161.211)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81234.8,-6474.79,-228.969),(64.2594,228.21,-161.211)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_lp","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81571,-6973.59,689.125),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_wind_blowing_ledge_rnr","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83902.8,-6387.9,2642.13),(272,190.989,96.0089)); + var_00 = common_scripts\_createfx::createexploderex("dust_wind_blowing_ledge_rnr","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-84162.9,-5188.26,2497.13),(272,190.989,96.0089)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3146.08,59194.8,19.3911),(62.7666,262.954,-98.5243)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2252.69,59143.5,2.81777),(62.7666,262.954,-98.5243)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2235.33,59053.1,36.6182),(62.7666,262.954,-98.5243)); + var_00 = common_scripts\_createfx::createexploderex("leaves_small_fall_gentlewind","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2042.12,59484,113.148),(0.56674,359.978,-83.2411)); + var_00 = common_scripts\_createfx::createexploderex("leaves_small_fall_gentlewind","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2019.5,58967.6,121.875),(0.56674,359.978,-83.2411)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3924.89,57509.4,175.125),(70.0282,84.3064,-4.00921)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3896.27,57556,17.6716),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3967.79,57719.6,-458.5),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4007.05,57617.3,-268.375),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2534.57,59642.2,-34),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2455.42,59644.9,-30),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2375.82,59642.4,-30),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2296.32,59641.9,-30),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2259.7,59649.9,-30),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2508.71,59555.9,-58),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2428.14,59549.9,-58),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2265.93,59553.7,-58),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2346.86,59553.1,-58),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2261.97,59474.9,-58),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2342.48,59474.7,-58),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2298.59,59423.3,-71.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2377.97,59421.8,-71.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2455.91,59425.3,-71.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2409.79,59502.6,-71.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2456.41,59505.7,-71.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2538.86,59581.7,-71.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2536.09,59504.1,-71.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2534.86,59426.1,-71.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2840.28,59638.3,-30),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2920.82,59638.4,-30),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3000.19,59640.9,-30),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3078.78,59639.1,-30),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3156.82,59637.4,-30),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3236.57,59643.2,-30),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2881.9,59555.2,-58),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2961.7,59555.2,-58),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3117.1,59573.8,-58),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3042.12,59577.3,-58),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3025.86,59497,-58),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3104.49,59495.3,-58),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2832.6,59571,-71.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2842.89,59500.5,-71.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2833.61,59422,-71.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2913.42,59424.9,-71.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2994.04,59423.8,-71.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3069.28,59427.9,-71.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2920.64,59506,-71.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_small_pa","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3002.31,59499.1,-71.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_overhead_fluor_steam_light","1999"); + var_00 common_scripts\_createfx::set_origin_and_angles((3471.79,59153.3,-305.692),(90,0,0)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_overhead_fluor_steam_light","1999"); + var_00 common_scripts\_createfx::set_origin_and_angles((3354.06,59288.3,-288.625),(90,0,0)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_overhead_fluor_steam_light","1999"); + var_00 common_scripts\_createfx::set_origin_and_angles((3473.53,59311,-305.125),(90,0,0)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1994.85,64107.4,-455.126),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("bird_seagull_flock_flying_runner","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2123.87,60426.6,659.026),(2.96293,180.987,179.531)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3678.82,65577.6,-438),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("trash_tornado_s_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5100.85,63656.1,-508),(271.001,179.975,178.024)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5353.31,65904.8,-492.209),(273,86.0003,89.9975)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2114.7,64416.4,-435),(270,0,179.999)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2135.84,64827.9,-456.944),(270,0,179.999)); + var_00 = common_scripts\_createfx::createexploderex("fire_suppression_spray","2001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3307.33,58431.9,-302.922),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("fire_suppression_spray","2001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3308.17,57855.9,-303.005),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_lp","2001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3693.66,59351.2,-285.305),(42.9709,260.652,-96.7868)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_lp","2001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3583.25,58883.2,-382.068),(13.7717,206.32,-93.9278)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_lp","2001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3429.01,58438.6,-304.33),(41.4223,35.0873,-102.84)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_lp","2004"); + var_00 common_scripts\_createfx::set_origin_and_angles((3395.28,58063.9,-385.213),(7.61793,216.863,-60.2212)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_lp","2005"); + var_00 common_scripts\_createfx::set_origin_and_angles((3395.3,57881.8,-412.339),(318.655,168.474,-102.27)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_lp","2007"); + var_00 common_scripts\_createfx::set_origin_and_angles((3544.63,57835.3,-417.974),(341.211,233.897,-94.4262)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5062.18,65355.7,-504),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4844.23,65658.8,-502.43),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5166.62,65712.6,-504.801),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5116.68,65036.3,-504),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5232.84,64515.1,-504),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4135.41,65602.4,-504),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3915.21,65633.9,-504.055),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3457.25,65546.4,-504.323),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((4230.46,65874.9,-304),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("bird_seagull_flock_flying_runner","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2233.34,64624.2,539.465),(2.99976,189.999,-179.999)); + var_00 = common_scripts\_createfx::createexploderex("bird_seagull_flock_flying_runner","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((4869.93,67796.3,712.774),(2.99976,189.999,-179.999)); + var_00 = common_scripts\_createfx::createexploderex("bird_seagull_flock_flying_runner","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((4152.75,63313.3,792.83),(2.99976,189.999,-179.999)); + var_00 = common_scripts\_createfx::createexploderex("bird_seagull_flock_flying_runner","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1821.19,60063.7,493.725),(2.96293,180.987,179.531)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5493,63716.5,-395.061),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5345.9,64063,-406.672),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5097.08,63469.2,-394.664),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5417.08,66055.3,-438.208),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5422.65,65969.7,-484.903),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5323.22,66256.9,-458.479),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_lp","2001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3458.87,59222.6,-295.356),(86.5222,207.002,-148.398)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_lp","2001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3312.82,59353.8,-291.85),(52.2741,216.264,-144.669)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_lp","2001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3750.16,59415,-288.623),(32.819,83.4266,84.3018)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_lp","2003"); + var_00 common_scripts\_createfx::set_origin_and_angles((3387.34,58283.2,-311.736),(33.7898,184.495,-72.8464)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_lp","2002"); + var_00 common_scripts\_createfx::set_origin_and_angles((3394,58393.6,-384.119),(338.813,197.47,-59.3953)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_lp","2001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3586.09,58561.5,-415.304),(351.655,193.411,-80.8155)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_lp","2001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3445.38,58743.5,-314.928),(72.8007,63.6211,-75.2328)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_lp","2001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3243.8,59189.5,-291),(75.6781,306.117,-51.8024)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_lp","2006"); + var_00 common_scripts\_createfx::set_origin_and_angles((3387.07,57713,-311.378),(57.2104,207.498,-60.3074)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_lp","2007"); + var_00 common_scripts\_createfx::set_origin_and_angles((3443.07,57520.5,-307.714),(21.2512,33.9636,105.276)); + var_00 = common_scripts\_createfx::createexploderex("leaves_floating_water","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2861.89,59646.4,-30),(358.999,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("leaves_floating_water","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2925.99,59648.2,-30),(1.99714,182,-179.93)); + var_00 = common_scripts\_createfx::createexploderex("leaves_floating_water","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3028.55,59642.6,-30),(1.99799,178.998,179.965)); + var_00 = common_scripts\_createfx::createexploderex("leaves_floating_water","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3113.8,59657.8,-30),(1.99714,182,-179.93)); + var_00 = common_scripts\_createfx::createexploderex("leaves_floating_water","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3189.99,59649.1,-30),(1.99714,182,-179.93)); + var_00 = common_scripts\_createfx::createexploderex("leaves_floating_water","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3263.07,59645.1,-30),(1.99714,182,-179.93)); + var_00 = common_scripts\_createfx::createexploderex("leaves_floating_water","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3104.25,59519.3,-58),(1.99714,182,-179.93)); + var_00 = common_scripts\_createfx::createexploderex("leaves_floating_water","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2944.61,59545.8,-57),(1.99714,182,-179.93)); + var_00 = common_scripts\_createfx::createexploderex("leaves_floating_water","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3047,59421.2,-69.875),(1.99714,182,-179.93)); + var_00 = common_scripts\_createfx::createexploderex("leaves_floating_water","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2952.02,59432.3,-69.875),(1.99714,182,-179.93)); + var_00 = common_scripts\_createfx::createexploderex("leaves_floating_water","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2846.12,59443.8,-71.875),(1.99714,182,-179.93)); + var_00 = common_scripts\_createfx::createexploderex("leaves_floating_water","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2520.64,59652.2,-30),(358.999,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("leaves_floating_water","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2432.73,59647,-30),(358.999,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("leaves_floating_water","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2308.84,59525.6,-58),(358.999,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("leaves_floating_water","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2465.61,59551.7,-58),(358.999,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("leaves_floating_water","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2531.97,59463.2,-71.875),(358.999,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("leaves_floating_water","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2436.4,59429,-71.875),(358.999,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("leaves_floating_water","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2340.75,59426.3,-71.875),(358.999,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("bird_seagull_flock_flying_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1539.28,62203.4,364.511),(357.089,355.98,-179.275)); + var_00 = common_scripts\_createfx::createexploderex("bird_seagull_flock_large_group_loop","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5102.87,61619.9,875.38),(0.775681,265.016,-177.102)); + var_00 = common_scripts\_createfx::createexploderex("pigeon_rand_idle_single","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2304.96,60727.8,-302.574),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("pigeon_rand_idle_single","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2446.69,60527.5,-236.026),(274.999,39.8086,-110.915)); + var_00 = common_scripts\_createfx::createexploderex("fog_ambient_low","2001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3511.31,58854.6,-431.875),(270.999,271.963,-179.946)); + var_00 = common_scripts\_createfx::createexploderex("fog_ambient_low","2002"); + var_00 common_scripts\_createfx::set_origin_and_angles((3327.56,57656.1,-421.921),(270.999,271.963,-179.946)); + var_00 = common_scripts\_createfx::createexploderex("fog_ambient_low","2002"); + var_00 common_scripts\_createfx::set_origin_and_angles((3544.33,57677.8,-426.875),(270.999,271.963,-179.946)); + var_00 = common_scripts\_createfx::createexploderex("fog_ambient_low","2001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3526.83,58493.5,-416.875),(270.999,271.963,-179.946)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2910.04,59580.1,-59),(271.001,89.9878,178.011)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3043.53,59575.5,-59),(271.001,89.9878,178.011)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2907.67,59500.1,-69.875),(270,270,179)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2462.1,59499.6,-71.875),(270,270,179)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2452.36,59583,-58),(270,270,179)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2337.56,59582.1,-58),(270,270,179)); + var_00 = common_scripts\_createfx::createexploderex("bet_steam_vent_burst_spray","2012"); + var_00 common_scripts\_createfx::set_origin_and_angles((3542.68,59159.3,-291.961),(70.7606,277.344,-77.685)); + var_00 = common_scripts\_createfx::createexploderex("bet_steam_vent_burst_spray","2001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3438.94,59241.7,-292.774),(74.6986,351.145,-15.2286)); + var_00 = common_scripts\_createfx::createexploderex("bet_steam_vent_burst_spray","2014"); + var_00 common_scripts\_createfx::set_origin_and_angles((3629.98,59314.3,-293.581),(74.3587,66.4062,57.277)); + var_00 = common_scripts\_createfx::createexploderex("bet_steam_vent_burst_spray","2013"); + var_00 common_scripts\_createfx::set_origin_and_angles((3531.78,59234,-275.296),(65.5332,120.733,119.603)); + var_00 = common_scripts\_createfx::createexploderex("smk_burst_door_shut","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((3582.66,57718.4,-426.092),(89.9994,335.909,-24.0901)); + var_00 = common_scripts\_createfx::createexploderex("smk_burst_door_shut","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((3583.04,57579.9,-423.351),(89.9994,335.909,-24.0901)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","4303"); + var_00 common_scripts\_createfx::set_origin_and_angles((3211.91,61468,-592),(24.3596,93.7535,179.957)); + var_00 = common_scripts\_createfx::createexploderex("fire_suppression_spray","2001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3308.35,58048.5,-303.296),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("btr_emergency_light_pulse","2001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3722.29,57712.7,-205.748),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("btr_emergency_light_pulse","2001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3325.4,57596.3,-304.058),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("btr_emergency_light_pulse","2001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3324.61,57947.9,-296.058),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("btr_emergency_light_pulse","2001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3325,58331.9,-295.058),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("btr_emergency_light_pulse","2001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3069.07,58508.1,-300.058),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("btr_emergency_nolight_pulse","2001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3516.45,58508.1,-300.058),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("btr_emergency_nolight_pulse","2001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3516.81,58892,-296.058),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("btr_emergency_nolight_pulse","2001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3579.78,59189.3,-317.058),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("btr_emergency_nolight_pulse","2001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3580.34,59349.4,-317.058),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("btr_emergency_light_pulse","2001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3747.38,59412,-317.058),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_overhead_fluor_steam_light","1999"); + var_00 common_scripts\_createfx::set_origin_and_angles((3768.82,59494.1,-288.125),(90,0,0)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_overhead_fluor_steam_lighter","1999"); + var_00 common_scripts\_createfx::set_origin_and_angles((3926.97,59621.2,-282.305),(90,0,0)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("betrayal_overhead_fluor_steam_lighter","1999"); + var_00 common_scripts\_createfx::set_origin_and_angles((3927.57,59815.6,-242.105),(90,0,0)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("betrayal_overhead_fluor_steam_lighter","1999"); + var_00 common_scripts\_createfx::set_origin_and_angles((3955.3,59946.8,-240.105),(90,0,0)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_overhead_fluor_steam_lighter","1999"); + var_00 common_scripts\_createfx::set_origin_and_angles((3739.5,59945.8,-211.505),(90,0,0)); + var_00 = common_scripts\_createfx::createexploderex("bet_led_red_pulse","1999"); + var_00 common_scripts\_createfx::set_origin_and_angles((3624.95,59105,-330.97),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("bet_led_red_pulse","1999"); + var_00 common_scripts\_createfx::set_origin_and_angles((3806.11,59265.9,-363.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_lp","2001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3067.4,59387.5,-292.777),(65.0115,258.981,-97.0231)); + var_00 = common_scripts\_createfx::createexploderex("fire_suppression_spray","2015"); + var_00 common_scripts\_createfx::set_origin_and_angles((3480.37,59252.2,-293.479),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("bet_gideon_scanner_beam","2010"); + var_00 common_scripts\_createfx::set_origin_and_angles((3855.67,59547.2,-360.694),(357.334,108.387,99.408)); + var_00 = common_scripts\_createfx::createexploderex("bet_gideon_scanner_beam_light","2010"); + var_00 common_scripts\_createfx::set_origin_and_angles((3855.47,59547.2,-361.223),(18.1418,21.451,94.6829)); + var_00 = common_scripts\_createfx::createexploderex("bet_steam_vent_burst_spray","2014"); + var_00 common_scripts\_createfx::set_origin_and_angles((3533.36,59280.6,-275.608),(72.3045,74.9817,69.3734)); + var_00 = common_scripts\_createfx::createexploderex("fog_ambient_directional","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3730.26,57066.7,-74.698),(270.999,271.983,47.0331)); + var_00 = common_scripts\_createfx::createexploderex("fog_ambient_directional","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3881,57093.9,-69.3),(272.235,245.414,178.602)); + var_00 = common_scripts\_createfx::createexploderex("fog_ambient_directional","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3773.83,57224.1,-75.654),(270.999,271.94,-84.9239)); + var_00 = common_scripts\_createfx::createexploderex("fog_ambient_low","2001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3773.59,59304.5,-430.875),(270.999,271.963,-179.946)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","bullet_trails_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((3175.81,61873.4,-600),(16.1151,277.359,-177.544)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","bullet_trails_02a"); + var_00 common_scripts\_createfx::set_origin_and_angles((3370.6,61335.9,-606.5),(23.7371,94.9515,162.461)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","bullet_trails_02b"); + var_00 common_scripts\_createfx::set_origin_and_angles((3383.94,61970.2,-603.5),(25.9301,261.667,6.1141)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","bullet_trails_03b"); + var_00 common_scripts\_createfx::set_origin_and_angles((3503.06,61807.1,-603.887),(25.4014,263.2,60.1586)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","bullet_trails_03a"); + var_00 common_scripts\_createfx::set_origin_and_angles((3496.01,61382.1,-600.887),(39.9995,89.9997,-90)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","bullet_trails_04b"); + var_00 common_scripts\_createfx::set_origin_and_angles((3457.6,61589.2,-595.537),(36.862,59.1072,-104.117)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","bullet_trails_04a"); + var_00 common_scripts\_createfx::set_origin_and_angles((3512.66,61280,-611.562),(38.9995,89.9989,-90.0008)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","bullet_trails_04b"); + var_00 common_scripts\_createfx::set_origin_and_angles((2814.35,61390.6,-608.291),(20.9997,89.9995,-90.0003)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","bullet_trails_04c"); + var_00 common_scripts\_createfx::set_origin_and_angles((2717.13,61648.6,-608.264),(15,90,-90)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","bullet_trails_05b"); + var_00 common_scripts\_createfx::set_origin_and_angles((3552.53,61350.3,-608.937),(55.4502,56.9821,-118.157)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","bullet_trails_05a"); + var_00 common_scripts\_createfx::set_origin_and_angles((3576.35,61826.2,-590.762),(25.8994,289.398,-80.3847)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","bullet_trails_07b"); + var_00 common_scripts\_createfx::set_origin_and_angles((3781.18,61246.3,-602.796),(32.0752,60.4676,-17.3908)); + var_00 = common_scripts\_createfx::createexploderex("flashbang_no_model","2008"); + var_00 common_scripts\_createfx::set_origin_and_angles((3487.49,59160.3,-431.875),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","bullet_trails_01c"); + var_00 common_scripts\_createfx::set_origin_and_angles((3295.98,61376.8,-592),(37.9356,80.5961,152.175)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","bullet_trails_07a"); + var_00 common_scripts\_createfx::set_origin_and_angles((3846.49,61871,-592),(18.0519,272.328,-0.662058)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","bullet_trails_07c"); + var_00 common_scripts\_createfx::set_origin_and_angles((4020.49,61938.1,-609),(24.4462,244.25,-9.42107)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3561.79,62163,-791.7),(282.295,263.293,103.014)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3587.14,62029.9,-871.446),(282.517,231.716,133.732)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_sml","4050"); + var_00 common_scripts\_createfx::set_origin_and_angles((3441.57,62852,-846.933),(270.965,214.292,140.721)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3453.48,62154,-801.363),(298.844,284.122,75.7495)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_sml","4050"); + var_00 common_scripts\_createfx::set_origin_and_angles((3392.74,62708.4,-848.875),(278.843,185.502,172.546)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3571.65,61769.7,-895.934),(285.767,234.851,124.121)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3390.54,61392.8,-839.275),(285.767,234.851,124.121)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("blood_drip_impact_med_oriented","2009"); + var_00 common_scripts\_createfx::set_origin_and_angles((3562.32,59301.3,-431.875),(271.001,91.0365,-93.0365)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","bullet_trails_06b"); + var_00 common_scripts\_createfx::set_origin_and_angles((3837.9,61826,-604),(17.5951,259.467,91.3165)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","bullet_trails_06a"); + var_00 common_scripts\_createfx::set_origin_and_angles((2731.74,61864,-592),(30.2362,292.869,109.793)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","bullet_trails_06c"); + var_00 common_scripts\_createfx::set_origin_and_angles((3048.25,61288.3,-599),(43.8132,89.5481,-93.1617)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1049.21,62553.8,-527.875),(270,0,179.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1014.86,62943.8,-503.875),(270,0,179.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((730.775,62976.1,-503.875),(270,0,179.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1409.03,62938.6,-503.875),(270,0,179.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1851.74,62854.6,-503.875),(270,0,179.999)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1620.8,62932.6,-491.875),(270,0,179.999)); + var_00.v["delay"] = -2; + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4913.61,64170.8,-271.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5357.42,64394.3,-504),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4486.09,65545.8,-446.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3951.65,65526.1,-311.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3436.05,65403.1,-296.39),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3830.16,66205.3,-111.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3800.19,65909,-111.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((2559.81,66020.3,-111.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((2818.59,66348.8,-111.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1860.73,65859.7,-53.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1847.85,65797.6,-68.875),(270,0,179.999)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1634.93,64835.1,-60.875),(270,0,179.999)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1982.61,65330.9,52.3883),(39.574,210.895,15.8402)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1935.87,65210.9,49.125),(47.9833,203.667,10.3929)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2029.21,65047.4,71.0643),(47.9833,203.667,10.3929)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2004.07,64956,86.3306),(45.9649,215.025,18.7099)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1979.49,65650,64.2311),(39.574,210.895,15.8402)); + var_00 = common_scripts\_createfx::createexploderex("bet_dock_collapse_dust","4020"); + var_00 common_scripts\_createfx::set_origin_and_angles((3510.32,62172.6,-766.654),(273.18,115.343,70.6823)); + var_00 = common_scripts\_createfx::createexploderex("bird_seagull_flock_flying_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1891.78,63941.6,509.658),(355.149,1.80329,-179.534)); + var_00 = common_scripts\_createfx::createexploderex("bird_seagull_flock_flying_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5090.89,62540,574.777),(356.708,319.719,-176.405)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2104.66,62664.5,-205.484),(66.9996,189.473,-180)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2058.34,62170.4,-265.47),(65.9258,184.592,175.751)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1920.56,62414,-494.875),(271.001,89.9457,-91.9468)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1923.43,62475.4,-492.817),(271.001,89.9457,-91.9468)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1882.63,62420.9,-513.875),(271.001,89.9457,-91.9468)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1887.57,62472.6,-513.154),(271.001,89.9457,-91.9468)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1856.5,62476.1,-529.453),(271.001,89.9457,-91.9468)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1856.5,62418.4,-529.42),(271.001,89.9457,-91.9468)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1767.01,62767.6,-494.46),(271.001,89.9457,-91.9468)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1729.53,62763.8,-511.982),(271.001,89.9457,-91.9468)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1696.22,62768.4,-532.7),(271.001,89.9457,-91.9468)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1127.95,62449.6,-510.962),(271.001,89.9457,-91.9468)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1127.5,62405.5,-510.473),(271.001,89.9457,-91.9468)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1158.71,62394.1,-529.336),(271.001,89.9457,-91.9468)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1158.56,62448.9,-527.732),(271.001,89.9457,-91.9468)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1707.76,62830,-494.007),(271.001,89.8983,2.09953)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1706.02,62793,-512.292),(271.001,89.8983,2.09953)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1704.84,62760.5,-529.024),(271.001,89.8983,2.09953)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1188.26,62829.4,-492.94),(271.001,89.8983,2.09953)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1192.05,62788.7,-512.022),(271.001,89.8983,2.09953)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1193.51,62757.4,-531.252),(271.001,89.8983,2.09953)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1197.47,62759.3,-530.15),(271.001,89.8565,91.1404)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1164.5,62771.5,-510.646),(271.001,89.8565,91.1404)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1126.55,62764.7,-492.552),(271.001,89.8565,91.1404)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1052.07,62337,-512.514),(271.001,89.8983,2.09953)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((986.664,62339.2,-511.877),(271.001,89.8983,2.09953)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((986.741,62304.6,-530.651),(271.001,89.8983,2.09953)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1075.99,62304.2,-528.408),(271.001,89.8983,2.09953)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((702.85,62335.5,-513.27),(271.001,89.8983,2.09953)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((639.689,62337,-512.001),(271.001,89.8983,2.09953)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((708.772,62307.1,-532.173),(271.001,89.8983,2.09953)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((616.556,62306.5,-530.906),(271.001,89.8983,2.09953)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2053.38,62222.3,-464.875),(270,0,179.999)); + var_00.v["delay"] = -2; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((863.172,62230.5,-551.875),(270,0,179.999)); + var_00 = common_scripts\_createfx::createexploderex("trash_underwater_current_rnr_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1952.35,61540.5,-777.89),(360,266.999,1.00004)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("trash_underwater_current_rnr_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((769.75,61661.7,-744),(360,266.999,1.00004)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_particulates_river","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1827.7,61549.3,-789),(359.895,94.9955,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_particulates_river","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1035.79,61462.7,-801.766),(359.895,94.9955,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_particulates_river","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1461.85,61096.1,-787.891),(359.895,94.9955,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("falling_water_drip_runner_fast","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3612.29,62909.5,-565.638),(270,180,87.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("falling_water_drip_runner_fast","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3369.07,62909.2,-566.024),(270,180,87.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("falling_water_drip_runner_fast","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3558.82,62757.7,-597.911),(270,180,87.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("falling_water_drip_runner_fast","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3628.28,62816,-581.004),(270,178.908,179.091)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("falling_water_drip_runner_fast","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3476.2,62846.6,-570.685),(270,180,87.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("falling_water_drip_runner_fast","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3573.47,62810.3,-569.647),(270,180,87.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("falling_water_drip_runner_fast","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3515.12,62909.7,-566.069),(0.999043,267.999,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("falling_water_drip_runner_fast","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3351.88,62757.6,-599.196),(0.999043,267.999,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3592.92,63247,-497.673),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4142.14,63069.8,-503.875),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("bird_seagull_flock_flying_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4700.21,60420.2,619.725),(0.725987,177.901,178.624)); + var_00 = common_scripts\_createfx::createexploderex("bird_seagull_flock_flying_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((986.894,61098.3,1003.91),(0.184684,156.907,178.456)); + var_00 = common_scripts\_createfx::createexploderex("bird_seagull_flock_flying_runner","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((1680.34,66992.6,873.908),(0.329469,356.143,-179.624)); + var_00 = common_scripts\_createfx::createexploderex("bird_vulture_circle_a_loop","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5930.12,67671.5,1781.07),(0,279.999,-180)); + var_00 = common_scripts\_createfx::createexploderex("bird_vulture_circle_a_loop","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((2711.58,63781.1,1773.83),(0,279.999,-180)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((667.309,62974.7,-458.875),(270,0,179.999)); + var_00.v["delay"] = -2; + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((830.429,62524.4,-459.875),(270,0,179.999)); + var_00.v["delay"] = -2; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2461.17,64730.8,-111.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1711.56,64138.6,-315.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2483.39,64859.9,51.8252),(69.7206,230.246,57.7556)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2498.92,64757.2,64.0149),(69.7206,230.246,57.7556)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1375.77,64602.5,-504),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1158.63,64437.9,-463.625),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1002.52,64406.4,-453.51),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((925.204,64581.1,-468.342),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1262.8,64300.5,213.906),(54.8894,236.164,34.5376)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1341.2,64307.3,207.129),(54.8894,236.164,34.5376)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((13.9453,62248.3,-525.299),(270,0,179.999)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1783.59,62455.9,-565.875),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1616.44,62421.9,-548.789),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4056.71,63186.8,-462.872),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81581.2,-7008.77,834.125),(75.3049,173.559,147.798)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82661.6,-6783.87,953.423),(67.1909,185.977,159.591)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82515.8,-6896.46,950.361),(67.1909,185.977,159.591)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82736.4,-6634.75,953.488),(67.1909,185.977,159.591)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82864.8,-6861.37,1190.95),(67.1909,185.977,159.591)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82849.1,-6718.22,1181.49),(67.1909,185.977,159.591)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82857.7,-6556.41,1175.68),(67.1909,185.977,159.591)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83140.7,-6541.13,786.879),(0,0,0)); + var_00.v["delay"] = -2; + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82765.4,-6558.28,742.125),(0,0,0)); + var_00.v["delay"] = -2; + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82846.7,-6930.78,732.125),(0,0,0)); + var_00.v["delay"] = -2; + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82605.8,-6977.22,684.415),(0,0,0)); + var_00.v["delay"] = -2; + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82653.7,-6718.95,694.049),(0,0,0)); + var_00.v["delay"] = -2; + var_00 = common_scripts\_createfx::createexploderex("dust_wind_blowing_window_rnr","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-84035.5,-5955.16,2531.13),(0,290.999,0)); + var_00 = common_scripts\_createfx::createexploderex("glass_falling_m_runner","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81639.4,-6348.27,-231.424),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("glass_falling_m_runner","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81734.5,-6263.9,-235.625),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("glass_falling_m_runner","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81548.5,-6441.94,-360),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_wind_blowing_window_rnr","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-84094.3,-5622.95,2554.97),(0,293.999,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_wind_blowing_window_rnr","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-84071.1,-5703.04,2555.36),(0,275.999,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_wind_blowing_window_rnr","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83859,-6493.68,2781.13),(0,275.999,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_wind_blowing_window_rnr","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83942.3,-6499.1,2910.54),(0,275.999,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_wind_blowing_window_rnr","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83493.5,-6488.49,2896.88),(0,275.999,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_wind_blowing_window_rnr","7200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83342.7,-6500.82,2754.83),(0,275.999,0)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82911.8,-6968.11,707.468),(0,0,0)); + var_00.v["delay"] = -2; + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81989.1,-6847.2,842.534),(69.0544,184.026,157.78)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_betrayal","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1732.38,65321.6,-190.77),(0,113.474,180)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_betrayal","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1657.77,65353.4,-185.497),(0,113.474,180)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2945.47,59096.1,-87.875),(270,0,-177.001)); + var_00 = common_scripts\_createfx::createexploderex("fog_drone_swarm_kickup","3002"); + var_00 common_scripts\_createfx::set_origin_and_angles((3820.85,57140.8,-71.1646),(272.235,245.414,178.602)); + var_00 = common_scripts\_createfx::createexploderex("fog_drone_swarm_kickup","3002"); + var_00 common_scripts\_createfx::set_origin_and_angles((3742.02,57138.7,-72.0319),(272.235,245.414,178.602)); + var_00 = common_scripts\_createfx::createexploderex("bet_boat_collision_building_before","boat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11590.9,53604.2,-280.466),(0,45,0)); + var_00 = common_scripts\_createfx::createexploderex("bet_boat_collision_building_after","boat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81710.9,-6424.39,-413.129),(0,45,0)); + var_00 = common_scripts\_createfx::createexploderex("bet_boat_collision_building_after_dripping","boat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81771.8,-6451.45,-250.317),(270.81,330.869,0)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","boat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81864.8,-6505.82,-357.343),(0,45,0)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","boat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81767.5,-6367.5,-224.125),(0,45,0)); + var_00 = common_scripts\_createfx::createexploderex("concrete_falling_over_water_lp","bridge_collapse"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10173.3,54341.2,-125.125),(270,0,24.9998)); + var_00 = common_scripts\_createfx::createexploderex("concrete_falling_l_runner_b","bridge_collapse"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10342.2,54712.2,-132.125),(270,0,27.9999)); + var_00 = common_scripts\_createfx::createexploderex("concrete_falling_l_runner_b","bridge_collapse"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10011.6,53934.3,-126.391),(270,0,27.9999)); + var_00 = common_scripts\_createfx::createexploderex("bet_crash_water_impact","splash_transition"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10331.3,54200.5,-595),(270,0,27.9992)); + var_00 = common_scripts\_createfx::createexploderex("bird_seagull_flock_flying_runner","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5003.11,55110,892.072),(0.725987,177.901,178.624)); + var_00 = common_scripts\_createfx::createexploderex("bird_vulture_circle_a_loop","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((947.957,54872.3,2334.73),(0.725987,177.901,178.624)); + var_00 = common_scripts\_createfx::createexploderex("civ_group_idle_runner_light","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2056.47,62289,-434.875),(88.3123,150.166,134.074)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("civ_group_idle_runner_light","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1697.04,62565.9,-559.875),(271,89.9849,16.0132)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("civ_group_idle_runner_light","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2641.03,62658.8,-434.875),(88.807,185.836,-82.2659)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("civ_group_idle_runner_light","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3618.77,62687,-434.875),(87.2562,232.175,-20.0549)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("civ_group_walk_rt_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2659.97,62921.3,-429.875),(89.7568,219.551,38.4478)); + var_00 = common_scripts\_createfx::createexploderex("civ_group_walk_lt_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3567.7,62907.8,-433.875),(89.7568,219.551,38.4478)); + var_00 = common_scripts\_createfx::createexploderex("civ_group_idle_runner_light","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3428.13,63074.1,-434.395),(87.2562,232.175,-20.0549)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("civ_group_idle_runner_light","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1958.21,62759,-432.875),(88.3124,150.147,-117.945)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("civ_group_idle_runner_light","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2994.42,62998.4,-433.875),(88.807,185.836,-82.2659)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("civ_group_idle_runner_light","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((985.788,62997.9,-433.875),(89.0595,55.3067,147.229)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("betrayal_emergency_backup_light_godray","2001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3458.92,59074,-308.701),(30.999,89.9995,-89.9998)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_emergency_backup_light_godray","2001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3438.1,59074.8,-308.604),(30.999,89.9995,-89.9998)); + var_00 = common_scripts\_createfx::createexploderex("bet_water_explosion_single","splash_transition"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10634.4,54236.5,-592),(270,0,0)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("bet_water_explosion_single","splash_transition"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10782,53889.5,-589),(270,0,0)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","boat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81794.9,-6578.59,-349.811),(272,45.0011,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","boat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81808.8,-6374.11,-478.988),(272,45.0011,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","boat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81732.8,-6346.58,-479.875),(272,45.0011,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","boat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81627.8,-6448.61,-367.545),(272,45.0011,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","boat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81774.9,-6374.94,-478.922),(272,45.0011,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","boat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81725,-6353.01,-479.353),(272,45.0011,0)); + var_00 = common_scripts\_createfx::createexploderex("blood_floor_impact_lrg_oriented","2101"); + var_00 common_scripts\_createfx::set_origin_and_angles((3515.89,59277.4,-430.875),(273,89.0119,-91.0128)); + var_00 = common_scripts\_createfx::createexploderex("btr_emergency_nolight_pulse","2001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3317.33,59221.6,-286.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("btr_emergency_nolight_pulse","2001"); + var_00 common_scripts\_createfx::set_origin_and_angles((3318.54,59325.4,-286.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("btr_emergency_light_pulse","3002"); + var_00 common_scripts\_createfx::set_origin_and_angles((3504.35,62146.3,-658.627),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("bet_plans_dust_landing","friendly_plant"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81747.1,-6450.11,-479.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("btr_confrontation_fill_light","1999"); + var_00 common_scripts\_createfx::set_origin_and_angles((3215.39,59282.8,-384.818),(359.534,97.573,88.3967)); + var_00 = common_scripts\_createfx::createexploderex("bet_confrontation_screen_glows","1999"); + var_00 common_scripts\_createfx::set_origin_and_angles((3401.65,59529,-382.368),(358.467,0.561356,90.6607)); + var_00 = common_scripts\_createfx::createexploderex("bet_confrontation_screen_glows","1999"); + var_00 common_scripts\_createfx::set_origin_and_angles((3441.54,59529.2,-382.387),(358.467,0.561356,90.6607)); + var_00 = common_scripts\_createfx::createexploderex("bet_confrontation_screen_glows","1999"); + var_00 common_scripts\_createfx::set_origin_and_angles((3589.28,59271.7,-383.862),(358.467,0.561356,90.6607)); + var_00 = common_scripts\_createfx::createexploderex("bet_confrontation_screen_glows","1999"); + var_00 common_scripts\_createfx::set_origin_and_angles((3213.99,59282.1,-385.342),(82.4383,5.55223,95.017)); + var_00 = common_scripts\_createfx::createexploderex("btr_confrontation_fill_light","1999"); + var_00 common_scripts\_createfx::set_origin_and_angles((3444.83,59524.7,-381.987),(358.467,0.561356,90.6607)); + var_00 = common_scripts\_createfx::createexploderex("btr_confrontation_fill_light","1999"); + var_00 common_scripts\_createfx::set_origin_and_angles((3589.18,59272.6,-384.074),(358.467,0.561356,90.6607)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((739.614,60637.2,-594.549),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((409.131,60769,-596),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1338.45,60496.6,-591.666),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1921.1,60551.9,-600),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((262.72,61902.8,-599),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-157.865,61682,-592),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-132.518,60787.9,-590.632),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-653.316,60790.4,-603),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1075.16,60554,-601.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-782.108,61286.2,-602),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1380.23,60576.4,-599),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1956.2,60809.6,-599),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1798.97,60249.8,-604.038),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1424.28,61122.8,-598.212),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1692.16,61432,-592),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-731.464,61721.7,-608),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((417.257,62308.4,-529.81),(271.001,89.8983,2.09953)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((342.245,62269.1,-526.961),(271.001,89.9457,-91.9468)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((343.255,62163.1,-528.38),(271.001,89.9457,-91.9468)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2945.75,61051.7,-604),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2752.94,61047.2,-604),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2548.08,61048.3,-611),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2350.67,61042.2,-612),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2151.43,61046.5,-610),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3844.82,61042.8,-601),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4034.25,61047.6,-599),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4439.32,61045.1,-597),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4241,61052.9,-601),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2352.54,62293.5,-602),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2905.99,62310.3,-599),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3147.51,62303.5,-603),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3678.13,62297.6,-596),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4180.78,62228,-595),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3907.43,62273.5,-598),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2104,62067.3,-601),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((53.0918,60973.5,-606),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-296.596,61545.3,-610),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1433.14,62066.9,-595.902),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((901.29,62069.4,-592),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1254.3,61551.3,-595),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1240.09,61702.6,-592),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1918.27,62068.6,-605),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2190.44,62066.1,-605),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2477.68,60812.7,-599),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3316.79,60182.7,-596),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3702.74,59719.6,-596.047),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3885.85,59872,-595.431),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4103.7,60150.5,-598.452),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3517.37,60282.4,-603),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3698.43,60449.7,-592),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3627.85,60529,-592),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3475.76,60332.1,-597),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3098.14,60777.6,-598),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3257.02,60963.5,-595.135),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2885.92,60655.9,-599),(272.313,20.4432,121.536)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4359.5,60842.9,-597.903),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4829.5,61330.7,-603),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4797.22,61459.6,-602),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4850.91,61220.1,-598.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4871.83,61128.9,-605),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((467.223,61616,-598.642),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((334.836,61522.6,-601),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((554.349,61773.4,-593),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1841.42,61559.1,-591.503),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4201.64,62418,-597.249),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3920.85,62443.4,-592),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3063.37,60840,-592.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5606.23,61489.1,-598.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1975.16,61027,-599.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6131.86,61924.2,-601.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6316.06,62191.3,-596.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4899.67,62704.4,-601.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5086.27,62921.7,-606.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5194.05,63176.5,-601.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5469.09,64725.3,-604.532),(272.313,30.4504,-52.4707)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5374.76,64717.6,-600.532),(272.313,30.4504,-52.4707)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5229.82,64701.6,-601.532),(272.313,30.4504,-52.4707)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5129.37,64703,-602.531),(272.313,30.4504,-52.4707)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5940.84,66614.6,-591.012),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6751.31,64205.6,-598.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6642.64,62736.4,-601.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6547.15,62914.4,-601.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6794.67,63436.9,-594.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6829.27,63831.1,-606.893),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6379.41,65403.5,-596.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5018.43,64574.4,-604.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5126.47,65318.9,-590.034),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5224.83,65569.9,-596.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5359.54,65858.1,-592.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5432.01,65873.4,-594.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5737.25,66397.9,-597.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6139.93,66768.7,-592.447),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6620.75,65922.7,-594.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6761.92,67104.6,-592.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6835.32,67077.2,-594.702),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7242.39,66317.9,-601.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7349.34,67288.2,-596.516),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8040.14,67263.5,-599.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8220,67207.6,-594.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8727.99,67115.1,-594.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9254.48,66740.6,-605.212),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7852.47,66219.3,-599.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9398.7,65438.7,-599.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9326.8,65342.8,-602.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8139.74,66053.5,-599.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9244.82,65044,-603.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8513.13,65285.6,-603.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9622.87,65622.2,-604.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9286.18,64650.6,-606.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9229.43,64855.4,-608.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8444.9,64398.9,-604.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9101.67,64401.5,-605.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8993.34,64135.9,-613.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8135.08,63757.1,-600.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8896.16,63380,-595.215),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8939.77,63160.1,-599.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7973.54,63171.6,-610.186),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8075.62,62749.9,-613.697),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8476.41,62346.3,-595.558),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8603.04,62347.5,-606.88),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9102.47,62940.9,-589.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9043.32,62085.4,-602.661),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9664.11,62021.4,-601.521),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9690.76,62862.3,-592.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10171.7,62095.1,-605.253),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10573.7,62102.6,-594.574),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10626.5,62978.8,-611.132),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11301.1,62861.4,-595.2),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11814.4,62594.7,-603.154),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11197.3,61818.3,-598.145),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11459.5,61771.2,-610.677),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11724.5,61755.1,-603.125),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11985.2,61716.3,-607.376),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12228.2,61717.1,-607.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12482.6,61747.1,-606.749),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12723.7,61809.2,-592),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12958.7,61924.8,-598.755),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13197.5,62024.1,-600.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12516,62948.1,-597.524),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12561.5,62905.2,-592.909),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12649.6,62800.7,-603.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12721.8,62748.6,-607.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12769.3,62698.9,-608.777),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13002.3,62664.1,-601.413),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13250.4,62608.4,-603),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13429.2,62151.2,-606.073),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13510.4,62632.3,-609.089),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13659.4,62259.4,-604.329),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14820.6,62004.7,-605),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15051.8,62127.3,-606.625),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15195.2,62323.6,-603),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15441.6,62417.3,-607),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15509,62740.9,-616.618),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15124.2,63760,-605.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15273.7,63751.9,-604.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15851.5,64264.2,-594.375),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16084.6,64270,-602.561),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16217.2,64164.4,-601.14),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15897.7,63273.9,-605.156),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17139.2,64438.7,-601.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17230.7,64338.5,-608.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16352.7,63464.5,-603.108),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17852.6,64240.6,-610.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18061.8,64134.1,-613.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18460,63818.9,-611.57),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17000.9,63370.6,-613.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17466.6,62938.5,-604.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18951.1,62214.8,-595.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18802.5,62098.5,-602.625),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17606.1,61887.2,-605.047),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18720.3,61642.8,-607.525),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17769.2,61362.3,-598.478),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17679.9,61390.6,-601.823),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17859.2,61331.1,-608.272),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18708.2,61013.1,-604.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18705.5,61445.3,-599.317),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18668.2,60876.8,-614.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17652.5,60235.8,-611.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18048.2,59868.7,-607.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18513.4,59586.8,-618.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19034.8,59387.8,-620.568),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18761.8,59477.7,-610.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19135.6,60448,-613.16),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19931.1,60139.6,-609.844),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19662.9,59281.2,-604.399),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20844.8,59866.9,-606.279),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21041.9,59679.5,-600.048),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21357.3,59238.4,-594.543),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21490.8,58991.3,-616.331),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20197.5,58947.5,-608.045),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21512.9,58422.8,-616.322),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21432.3,58374.3,-616.231),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20455.3,58183,-613.077),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20375.3,57819.7,-613.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20462.2,57636.3,-612.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21232.9,57429.9,-604.358),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21337.8,57921.3,-610.242),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21184.1,57281.5,-617.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20111.1,56940.9,-615.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21321.3,56924,-616.429),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21273.3,56595.8,-600.355),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21179.2,56526.3,-605.671),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21092.4,56465,-601.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20080,56468.7,-610.312),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20123.1,56217.4,-601.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20292.5,55998.8,-599.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20374.7,55396.1,-611.63),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20569.4,55076.8,-605.511),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20670.9,54949.7,-612.567),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21213.3,54488.9,-604.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21410.8,54516.9,-602.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22346,55548.3,-605.747),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22712.5,54699.7,-617.418),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22774.6,54136,-620.934),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22687.7,53871.1,-620.141),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22603.8,53826.5,-611.423),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22496.4,53769.3,-604.511),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21645.1,54096.4,-612.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21645.6,53167.8,-618.181),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22210,52340.8,-612.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22110.7,52318.9,-611.618),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21372.4,52789.8,-609.61),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21345.9,52715.4,-616.536),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21678.6,51835.8,-609.579),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21177.7,51563.7,-601.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21068.3,51637,-601.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20386.6,52583.9,-605.424),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20209.7,51357.3,-611.987),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19781.1,51439.2,-602.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19493.8,51535.6,-603.909),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20056.7,52732.7,-614.292),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19518.2,53068.1,-615.249),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19377,52983.3,-604.641),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19295.3,52933.5,-607.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19212.7,52885.7,-603.259),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19683.5,53130.9,-615.736),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17749.5,53201.1,-596.198),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17791,53265.2,-601.772),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17005.2,53894.7,-607.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16978.5,54004,-606.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19289.4,53726.5,-600.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19080.3,54354.1,-600.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18866,54519.3,-598.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18649.1,54679.5,-599.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18408.5,54804.8,-605.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17879.9,54992.6,-583.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17846.3,54902.1,-594.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17729.4,54802.6,-594.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17072.1,55152,-601.283),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16796.8,55172.2,-591.174),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16520.6,55170.3,-588.893),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16306.2,55145.1,-586.839),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16248.4,54190.8,-587.962),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15916.7,55050.2,-588.413),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16011.3,54192.9,-590.452),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15330.6,55179.8,-590.304),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15256.8,53855.7,-590.519),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13811.8,54563.3,-589.209),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13967.7,53778.2,-576.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13660.3,54025.4,-590.505),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13738.4,54869.6,-589.171),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14469,56149.5,-589.478),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13258.7,55742.2,-588.189),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13643.3,55188.7,-595.153),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13651.3,56545.9,-590.165),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13186.8,56593.2,-601.596),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12614.8,56641.7,-591.236),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11828.8,56632.7,-590.148),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11547.4,56145.7,-584.434),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11303.6,56481.9,-591.488),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10546.7,56162.3,-594.515),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10379.6,57225.7,-588.889),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10159.6,56564.8,-590.724),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9987.05,57605.8,-588.52),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9372.81,57475.3,-583.632),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9077.24,58042.9,-601.579),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9075.05,57637.8,-589.231),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8074.6,57782.8,-585.953),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8425.2,57341,-596.202),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7453.63,57407.6,-594.925),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8073.06,57072.2,-594.897),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7074.68,56543,-594.976),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7249.75,56153.6,-597.976),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7353.25,56071.1,-594.538),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7555.24,56013.6,-600.054),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7991.72,56257.5,-599.706),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8091.9,56353.7,-595.91),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8552.75,55462.1,-588.66),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7787.88,55511.4,-603.948),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8466.13,54946.8,-596.355),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9029.47,54641.7,-593.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9316.75,55029.2,-592.534),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9502.64,54399.7,-588.488),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9908.53,54211.8,-594.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10535.1,54437.8,-593.641),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10286.5,53997.2,-601.77),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10386.5,53996.9,-593.276),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10960,53717.5,-607.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11328.8,54185.5,-594.754),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81124.8,-5365.05,-604.461),(273.248,243.878,124.21)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-80423.1,-6224.95,-606.88),(273.248,243.878,124.21)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-80444.8,-6044.79,-598.444),(273.248,243.878,124.21)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-80114.5,-5889.37,-590.264),(273.248,243.878,124.21)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-80553.6,-5593.09,-593.844),(273.248,243.878,124.21)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-80045.7,-5329.29,-597.371),(273.248,243.878,124.21)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-80489.2,-6727.23,-603.973),(273.248,243.878,124.21)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-80724.7,-7112.4,-611.942),(273.248,243.878,124.21)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-80963.9,-7241.9,-608.608),(273.248,243.878,124.21)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-80548.9,-6860.26,-598.336),(273.248,243.878,124.21)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-80794,-5456.82,-606.447),(273.248,243.878,124.21)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-80934.7,-6243.1,-602),(273.248,243.878,124.21)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81141,-5863.44,-621),(273.248,243.878,124.21)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81042,-6000.2,-600),(273.248,243.878,124.21)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81059.3,-6627.71,-612),(273.248,243.878,124.21)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81528.7,-5405.75,-602.883),(273.248,243.878,124.21)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81881.1,-5594.09,-605.212),(273.248,243.878,124.21)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82207.7,-6087.96,-595.446),(273.248,243.878,124.21)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82317.6,-6050.22,-586.495),(273.248,243.878,124.21)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82332.6,-5891.19,-602.616),(273.248,243.878,124.21)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82283.7,-5754.2,-612.049),(273.248,243.878,124.21)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82018.5,-5672.34,-594.742),(273.248,243.878,124.21)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3456.93,61071.6,-602.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4691.14,62262.9,-603),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3268.31,61069.6,-602.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1820.88,61625.4,-600.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1920.29,61812.5,-599.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2770.16,62129.8,-601.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_overhead_point_steam_light","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3417.19,62980.9,-585.231),(87.8959,265.64,86.3236)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("betrayal_overhead_point_steam_light","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3602.54,62888.4,-576.411),(66.0318,141.46,59.7879)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3684.13,59546.6,-601.301),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3286.71,60215.3,-598.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2872.17,60721.6,-607.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4316.3,62381,-602.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5143.6,63002.6,-602.106),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6547.65,62815.5,-602.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5187.1,63722.3,-595.132),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6165.99,64499.3,-597.891),(272.313,34.4494,-52.47)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6266.1,64490.8,-596.892),(272.313,34.4494,-52.47)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6411.81,64496.6,-595.892),(272.313,34.4494,-52.47)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6506.44,64497.8,-599.892),(272.313,34.4494,-52.47)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7645.13,67299.4,-596.62),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8968.68,66990.2,-592.098),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","boat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81855.3,-6578.28,-342.237),(272,45.0011,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","boat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81865.5,-6556.07,-344.44),(272,45.0011,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","boat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81834.2,-6599.06,-345.389),(272,45.0011,0)); + var_00 = common_scripts\_createfx::createexploderex("bet_boat_collision_smoke_over_water","boat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81245.7,-5918.77,-475.223),(0,45,0)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4633.49,62045.6,-604.656),(272.313,358.446,-52.4666)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4570.58,62135.2,-607.531),(272.313,358.446,-52.4666)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4509.28,62229.7,-608.656),(272.313,358.446,-52.4666)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4431.07,62337.1,-602.656),(272.313,358.446,-52.4666)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9545.4,65461.5,-599.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9302.06,65114.6,-600.269),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8603.88,65204.4,-603.248),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8906.91,63903.5,-608.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18277.3,59691.2,-608.524),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19776.4,59343.5,-605.931),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21734,56230.6,-603.329),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19250.3,51530.2,-604.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18533.4,51759.7,-608.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18297.1,52005.9,-602.942),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18009,52317.9,-610.38),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17938,52472.4,-613.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14116.8,54303.6,-597.752),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14471.9,54000.5,-600.313),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-301.113,61505,-600.722),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1371.59,61085.9,-604.75),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1353.3,60559.8,-614.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1940.39,60758.9,-604.893),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6488.78,62405.2,-600.858),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5060.06,64215.9,-610.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6387.25,66926.6,-608.899),(272.313,34.4494,-52.47)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6810.69,66103.8,-612.28),(272.313,34.4494,-52.47)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7871.22,67295.8,-606.816),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7336.83,66378.7,-611.273),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9078.34,66897.2,-605.969),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9579.58,66334.2,-614.25),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9593.02,66169.5,-615.923),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9593.68,65927.2,-610.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9593.67,65793.1,-617.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8362.17,65801,-610.477),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8538.07,64862.3,-616.776),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8361.31,64158.9,-603.041),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8844.77,63605.5,-600.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8815.39,62152.2,-601.404),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9464.47,62010.9,-606.469),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8000.8,63002.3,-599.05),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9231.59,62037.3,-602.659),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9991.09,62043.9,-607.159),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10904.6,62956.2,-609.112),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10658.4,62184.1,-597.951),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11557.9,62745.5,-604.259),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11686.2,61654.4,-607),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11845.3,61613.3,-606.746),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12324.2,61334,-618.443),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12754.4,61593.1,-616.106),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12837.4,61750.2,-604.253),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11722.1,62645.5,-605.722),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12181.1,61344.7,-609.474),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13170.6,61788.1,-601.148),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13221,61933,-607.726),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13263.4,62928.8,-597.519),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13222.8,63124.6,-591.077),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13013.4,63152,-602.204),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15596.7,62956.3,-614.781),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15571.1,64125.8,-606.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15676.4,63089,-614.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15979.9,63342.5,-607.392),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16919,64460.5,-614.118),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16411,63544.1,-607.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18247.4,63994.3,-614.149),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18889.5,63044.7,-601.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18904.8,62826.9,-605.863),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18927,62591.3,-619.03),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18939,62412.3,-617.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17565.3,62694.4,-612.042),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17610,62422.5,-608.296),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18780,61838.5,-618.925),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18854.4,63329.3,-619.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17223,63245.1,-607.036),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17523,61487.4,-609.845),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18693.5,61243.1,-605.175),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17778.3,60085.4,-604.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17856.9,60039.2,-601.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17954.7,59834.2,-601.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18278.2,59234.2,-604.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18084,59578.9,-607.474),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18149.5,59473.1,-601.814),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18759.6,59184.2,-602.466),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18524.3,59176.8,-610.078),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19494.5,60248,-608.336),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19303.9,59343,-608.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20615.1,60019.7,-602.557),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20541.9,60097.5,-597.285),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20958.8,59836.2,-610.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21121.6,59620.9,-602.869),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19997.1,59131.3,-611.596),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20350.8,58717.1,-606.425),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21195,59461,-606.883),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21552.4,58702,-622.354),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21271.2,57678.8,-608.915),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21388.9,58092,-605.641),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20446.7,58429.9,-606.674),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20093.5,56725.9,-614.664),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20228.8,56176.3,-601.564),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20916.7,54701.8,-618.636),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21055.3,54591.9,-604.016),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22441.4,55368.8,-608.642),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22609.7,55033.1,-615.046),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22727,54576.6,-611.779),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22718,54093,-610.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21750.6,53757.1,-605.498),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22534.7,52887.8,-623.921),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22410,52685.1,-614.665),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21982,52086.5,-599.537),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21482.9,51739.3,-619.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21604.4,53053.1,-612.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20468.2,51374,-617.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20992.3,52587.2,-612.433),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19993.5,51402.1,-616.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19597.8,53147.9,-609.883),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18722,51573.1,-613.359),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18421.6,51879.5,-612.889),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18131.6,52196.3,-615.006),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17900.7,52806.1,-607.934),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17805.2,53049.6,-605.888),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19283.9,54172.2,-598.138),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18824.2,54628.9,-604.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18147.5,54886.8,-601.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17378.5,53650.4,-602.861),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17544.4,53511.7,-613.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16508.2,54030.3,-603.23),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15751.7,55037.6,-596.431),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15184.8,55157.9,-600.027),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13845.1,54728.4,-594.647),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14894.4,55678.7,-598.366),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14704.8,55910.7,-597.685),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14204.3,56311.9,-612.311),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13938.1,56449.3,-604.581),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13005.9,55946.6,-600.789),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12932.3,56604.6,-600.197),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11999.9,56652,-598.244),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11893,56212.4,-593.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11544.2,56558.3,-601.946),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11215.1,56433.4,-595.709),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10313.6,56355.9,-597.278),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10788.6,56706.1,-595.69),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10058.5,56794.2,-601.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10216.8,57393.6,-598.519),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9658.93,57261.6,-589.999),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9735.57,57781.3,-596.468),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8738.24,58018.6,-598.352),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8922.74,57678.3,-596.875),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8239.43,57864.9,-594.603),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8253.58,57231.6,-602.81),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7786.73,57623.6,-604.913),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7191.2,57085.5,-599.671),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7103.57,56859.4,-597.894),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8140.1,56576.3,-596.084),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8221.63,55800.3,-589.82),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8012.02,55263.9,-599.651),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8732.34,54804.7,-595.001),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9257.62,54526.7,-593.886),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9596.83,54889.6,-598.2),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10094,54655.8,-602.963),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10361.6,54526.9,-594.513),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13449.9,56560,-596.953),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13489.6,55475.6,-599.173),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12423.8,56649.2,-602.628),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12130,56200.4,-599.358),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10729.7,56098.4,-607.012),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10602.9,56902.1,-590.028),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9992.45,56893.1,-599.224),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9371.46,57966.8,-604.744),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7324.15,57276.5,-600.245),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7083.55,56728.9,-597.949),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7444.14,56093.5,-613.425),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8034.65,56060.9,-597.688),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7622.04,55794.7,-601.757),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8329.25,55662.1,-608.516),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8202.15,55110.9,-602.288),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8693.92,55348.8,-598.694),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8892.44,54722.1,-593.296),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9151.62,55102,-591.503),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8823.17,55270.2,-594.183),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8321.88,55022.1,-605.111),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9492.56,57408.5,-595.488),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12774.6,56078.2,-596.749),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","6200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15609.2,55037.9,-601.486),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("bet_ilona_dust_landing","ilona_landing_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82507.2,-4000.05,2112.13),(270,180,108.999)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_slow_light_lp","rooftop_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82631.5,-4035,2115.13),(270,0,-167.001)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_slow_light_lp","rooftop_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82419.6,-3924.64,2112),(270,0,-165.001)); + var_00 = common_scripts\_createfx::createexploderex("bet_dust_landing","crane_wall_edge"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82608.5,-4328.09,2666.13),(270,0,179.999)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_slow_light_lp","rooftop_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82150.2,-4273.23,2116.13),(270,0,-166.001)); + var_00 = common_scripts\_createfx::createexploderex("bet_dust_landing_hands","vm_lt_dust_hand_land"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82523.4,-4092.46,2112.13),(270,0,-57.0011)); + var_00 = common_scripts\_createfx::createexploderex("bet_ilona_dust_landing","vm_dust_land"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82512.2,-4117.06,2112.13),(271,14.9995,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("bet_round_dust_landing","joker_dust_roof_land"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82500.2,-3921.53,2113.13),(270,180,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("bet_round_dust_landing","gideon_dust_roof_land"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82554.3,-3926.32,2114.13),(270,0,-89.0002)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_slow_light_lp","rooftop_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82703.8,-4534.74,2212.48),(270,0,-167.001)); + var_00 = common_scripts\_createfx::createexploderex("dust_warbird_blowing_fast_thick_lp","warbird_kickup_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82482.6,-3880.23,2112.13),(270,0,179.999)); + var_00 = common_scripts\_createfx::createexploderex("dust_warbird_blowing_fast_thick_lp","warbird_kickup_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82316.9,-3876.26,2112.13),(270,0,179.999)); + var_00 = common_scripts\_createfx::createexploderex("blood_floor_impact_lrg_oriented","2101"); + var_00 common_scripts\_createfx::set_origin_and_angles((3507.48,59270.6,-430.875),(273,89.0119,-91.0128)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2778.92,62294.7,-604.829),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2980.92,62305.8,-601),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3208.86,62265.8,-600.136),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3426.52,62292.1,-603.127),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2609.29,62300.6,-613),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2545.85,62067,-610.952),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2223.83,62284.7,-600.247),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47.6457,61749.9,-607),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((304.129,61509.3,-608.728),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((424.97,61548.7,-609),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((527.612,61631.7,-606.956),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((704.37,61805.3,-610.586),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((904.057,61813.9,-606.511),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1008.94,61722.2,-607.321),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1099.86,61446.5,-603.695),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((976.178,61446,-607.706),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1465.46,61546.2,-608.329),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1647,61562.4,-606.885),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1323.58,62078.9,-595.83),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1624.6,62075.9,-592.948),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((587.006,62069,-603.863),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1862.75,61721.3,-608.85),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3935.28,62293.3,-606.691),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4175.03,62229.4,-606.073),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4293,62178.9,-602.861),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3578.63,61893.2,-605.081),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2932.34,61643.6,-599.055),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3105.65,61605.9,-600.555),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2235.66,62283.3,-598.066),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2067.9,62059.7,-602.316),(272.313,20.4471,-52.4669)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_far_lp","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2719.64,62666.4,-493.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_far_lp","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2962.9,62668.8,-503.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_far_lp","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3313.39,62645.9,-494.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_far_lp","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3514.75,62522.9,-491.57),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_far_lp","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3686.14,62670.8,-494.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2628.08,62424.8,-528.079),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_far_lp","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2376.17,62619.6,-497.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_far_lp","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1721.99,61801.1,-566.986),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_far_lp","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1068.39,61815.3,-565.999),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_far_lp","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((599.607,62176.7,-547.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_far_lp","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((439.14,62216.8,-552.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_far_lp","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((832.715,62421.4,-496.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_far_lp","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1012.96,62236.7,-547.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_far_lp","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1474.57,62365,-557),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_far_lp","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2092.24,62190.6,-497.875),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_far_lp","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1704.22,62166.3,-540.147),(270,0,171.999)); + var_00 = common_scripts\_createfx::createexploderex("bet_shallow_debris_physics","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3541.43,62796.4,-744.472),(0.995184,184.999,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","4103"); + var_00 common_scripts\_createfx::set_origin_and_angles((2641.15,61347.7,-592),(24.3596,93.7535,179.957)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","4105"); + var_00 common_scripts\_createfx::set_origin_and_angles((2564.08,61475.6,-592),(24.3596,93.7535,179.957)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","4100"); + var_00 common_scripts\_createfx::set_origin_and_angles((2748.17,61635.9,-592),(24.3596,93.7535,179.957)); + var_00 = common_scripts\_createfx::createexploderex("underwater_particulates_river_sml","4050"); + var_00 common_scripts\_createfx::set_origin_and_angles((3515.49,62326.8,-819.151),(359.001,0.998577,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","4201"); + var_00 common_scripts\_createfx::set_origin_and_angles((2574.81,61258.1,-592),(22.341,82.9399,177.834)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","4202"); + var_00 common_scripts\_createfx::set_origin_and_angles((2682.03,61418.4,-592),(24.3596,93.7535,179.957)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","4300"); + var_00 common_scripts\_createfx::set_origin_and_angles((2971.22,61203.1,-592),(24.3596,93.7535,179.957)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","4301"); + var_00 common_scripts\_createfx::set_origin_and_angles((2917.39,61566.8,-592),(24.3596,93.7535,179.957)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","4303"); + var_00 common_scripts\_createfx::set_origin_and_angles((2990.95,61972.7,-592),(19.5442,282.745,94.3273)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","bullet_trails_01d"); + var_00 common_scripts\_createfx::set_origin_and_angles((3322.94,61748.9,-592),(16.1151,277.359,-177.544)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","bullet_trails_01a"); + var_00 common_scripts\_createfx::set_origin_and_angles((3269.13,62047.7,-592),(16.1151,277.359,-177.544)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","bullet_trails_02c"); + var_00 common_scripts\_createfx::set_origin_and_angles((3493.11,61853.9,-592),(16.7846,279.403,92.7385)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","bullet_trails_03c"); + var_00 common_scripts\_createfx::set_origin_and_angles((3644.33,61772.7,-592),(13.9214,276.182,91.4925)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","bullet_trails_02b"); + var_00 common_scripts\_createfx::set_origin_and_angles((3514.16,61382.2,-648.556),(0.357056,276.751,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long","bullet_trails_04a"); + var_00 common_scripts\_createfx::set_origin_and_angles((2579.55,61380.2,-592),(36.7411,59.5012,-109.855)); + var_00 = common_scripts\_createfx::createexploderex("bet_scrambler_blinking_light","2102"); + var_00 common_scripts\_createfx::set_origin_and_angles((3581.81,59245.3,-362.358),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("btr_finale_fill_light","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82375,-4005.83,2165.13),(270,180,108.999)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3532.77,59760.6,74.4497),(62.7666,262.954,-98.5243)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3571.79,59696.9,74.36),(62.7666,262.954,-98.5243)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3499.63,59667.3,69.2192),(62.7666,262.954,-98.5243)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3559.84,59656.1,83.6627),(62.7666,262.954,-98.5243)); + var_00 = common_scripts\_createfx::createexploderex("betrayal_overhead_fluor_steam_lighter","1999"); + var_00 common_scripts\_createfx::set_origin_and_angles((3910.04,59620.6,-282.431),(90,0,0)); + var_00.v["platform"] = "cg"; + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3856.36,63594.8,-231.875),(77.483,207.816,-62.2433)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_betrayal","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2050.58,62694.6,-382.941),(0,113.474,180)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1692.11,60228.2,218.361),(62.7666,262.954,-98.5243)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((934.68,60278.4,79.7091),(62.9958,267.313,-94.6437)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((735.715,60318.5,198.876),(62.9958,267.313,-94.6437)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3447.13,65420.5,-105.53),(56.5606,244.707,-16.5235)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3966.61,63156.3,-46.648),(72.3372,231.767,-39.0717)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3388.51,65995.4,112.207),(65.9597,268.477,-3.83763)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((2526.47,66271.7,32.2937),(66.4908,250.45,-19.8329)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3345.15,65425.7,-105.194),(56.5606,244.707,-16.5235)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2773.41,58368.2,190.054),(68.4228,198.445,105.608)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2702.13,59923.7,171.421),(66.7155,261.455,-99.8794)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3857.65,57522.1,220.125),(69.0333,92.8591,3.71813)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2219.16,59938.8,164.884),(61.7772,263.267,-98.2468)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2715.86,64836.7,158.916),(69.7206,230.246,57.7556)); +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/captured_fx.gsc b/AW/PC/maps/createfx/captured_fx.gsc new file mode 100644 index 0000000..6efe1fd --- /dev/null +++ b/AW/PC/maps/createfx/captured_fx.gsc @@ -0,0 +1,1526 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\captured_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 107 ms + * Timestamp: 4/22/2024 2:07:24 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((7587.41,-5238.31,2464.29),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((3715.5,-4631.33,1256.96),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((5377.69,-5361.06,1602.74),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((6537.49,-3686.06,1458.54),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((6777.06,-5671.02,2092.08),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((9114.43,-4383.79,2175.01),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((4306.71,-1272.33,1477.25),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((3045.71,-2131.11,1482.04),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((1411.3,-4591.53,1229.15),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((897.292,-5361.75,1413.41),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((910.975,-6864.28,565.267),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((4056.29,-7441.49,568.028),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((6946.13,-7439.89,567.087),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((8696.29,-6817.71,568.143),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((12074.3,-7279.34,567.369),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((14152.2,-10536.5,-256.264),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((11668.5,-13640.1,-632.055),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((11593.5,-13759.4,-629.116),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((9320.29,-9769.46,103.321),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((6663.66,-15563.8,1189.63),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((4253.18,-20855,1608.63),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((-325.186,-18219.6,1198.13),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((10146.2,-8013.75,263.273),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((10146.3,-8013.81,273.487),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((11034.2,-8014.07,263.345),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((11034,-8013.75,273.33),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((3680.02,-2507.94,1614.17),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((3680.21,-2507.93,1621.12),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((4256.82,-2174.96,1614.12),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((4257.11,-2174.73,1620.84),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((7785.87,2810.01,1394.59),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((7786.32,2811.24,1408.08),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((8448.08,2810.8,1408.01),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((8448.37,2811.02,1394.18),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((10230.1,3656.26,1500.22),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((16531.6,5009.77,1501.2),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((7465.2,1501.62,1307.38),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((7540.56,1619.45,1311.38),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((7044.36,-4631.64,1260.18),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("cap_godray_outdoor_xtralrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((8354.84,1789,842.611),(39.695,24.5402,20.0166)); + var_00 = common_scripts\utility::createoneshoteffect("cap_godray_outdoor_xtralrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((8469.75,2348.37,921.318),(39.695,24.5402,20.0166)); + var_00 = common_scripts\utility::createoneshoteffect("cap_ambient_dust_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((9903.46,-2283.46,515.71),(0,0,-90.0005)); + var_00 = common_scripts\utility::createoneshoteffect("cap_ambient_dust_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((8242.07,-2371.64,689.258),(0,0,-90.0005)); + var_00 = common_scripts\utility::createoneshoteffect("cap_ambient_dust_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((8782.8,-586.045,537.125),(0,0,0.999359)); + var_00 = common_scripts\utility::createoneshoteffect("cap_ambient_dust_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((8544.07,2180.37,396.563),(360,350,0.999359)); + var_00 = common_scripts\utility::createoneshoteffect("cap_ambient_dust_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((9486.84,1979.58,562.941),(0,0,-90.0005)); + var_00 = common_scripts\utility::createoneshoteffect("cap_ambient_dust_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((10375.3,-13334.5,-1852.67),(0,0,-90.0005)); + var_00 = common_scripts\utility::createoneshoteffect("cap_ambient_dust_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((11123.3,-13002,-2221.65),(360,357,1.99937)); + var_00 = common_scripts\utility::createoneshoteffect("cap_ambient_dust_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((12466.1,-13860.4,-2026.1),(0,0,-90.0005)); + var_00 = common_scripts\utility::createoneshoteffect("cap_godray_outdoor_xtralrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((8862.6,3346.62,1223.78),(64.169,93.4154,81.6502)); + var_00 = common_scripts\utility::createoneshoteffect("cap_godray_warehouse_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((8746.07,579.624,915.875),(47.9431,234.904,-62.8865)); + var_00 = common_scripts\utility::createoneshoteffect("cap_godray_warehouse_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((9604.71,-540.179,917.024),(46.2663,170.096,-164.385)); + var_00 = common_scripts\utility::createoneshoteffect("cap_godray_warehouse_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((8623.62,-511.368,943.386),(46.2663,170.096,-164.385)); + var_00 = common_scripts\utility::createoneshoteffect("cap_godray_warehouse_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((9596.01,634.467,922.574),(53.2661,205.924,-85.499)); + var_00 = common_scripts\_createfx::createexploderex("cap_warehouse_whitelight","4100"); + var_00 common_scripts\_createfx::set_origin_and_angles((14456.1,-13720.9,-1713.3),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_warehouse_whitelight","4100"); + var_00 common_scripts\_createfx::set_origin_and_angles((13788.7,-13716.7,-1732.1),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_warehouse_whitelight","4100"); + var_00 common_scripts\_createfx::set_origin_and_angles((14287.4,-13719.4,-1981.87),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_warehouse_whitelight","4100"); + var_00 common_scripts\_createfx::set_origin_and_angles((15089.8,-13717,-1726.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_warehouse_whitelight","4100"); + var_00 common_scripts\_createfx::set_origin_and_angles((15058.7,-13724.4,-1991.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_warehouse_whitelight","4100"); + var_00 common_scripts\_createfx::set_origin_and_angles((13641.5,-14236.8,-1720.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_warehouse_whitelight","4100"); + var_00 common_scripts\_createfx::set_origin_and_angles((14182.4,-14466.7,-1738.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_warehouse_whitelight","4100"); + var_00 common_scripts\_createfx::set_origin_and_angles((12920.1,-14390.3,-1714.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_warehouse_whitelight","4100"); + var_00 common_scripts\_createfx::set_origin_and_angles((12907.5,-14212.4,-1862.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_warehouse_whitelight","4100"); + var_00 common_scripts\_createfx::set_origin_and_angles((13606.1,-14729.3,-1735.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_warehouse_whitelight","4100"); + var_00 common_scripts\_createfx::set_origin_and_angles((12839.5,-14897,-1727.86),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_warehouse_whitelight","4100"); + var_00 common_scripts\_createfx::set_origin_and_angles((12165.6,-14044.7,-1800.34),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_gate_sparks_smk","gate_lift_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((8161.89,2985.32,235.137),(270,194.826,-104.827)); + var_00 = common_scripts\_createfx::createexploderex("cap_gate_sparks_smk","gate_lift_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((8367.16,2985.91,266.168),(270,180,89.999)); + var_00 = common_scripts\_createfx::createexploderex("bird_vulture_circle_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6931.15,-6618.21,3500),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("bird_vulture_circle_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1347.57,-1462.93,3500),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_slow_lp_300","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((4576.52,-5005.01,-24),(270,0,-90.0012)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_slow_lp_300","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((5932.31,-4999.87,-24),(270,0,-90.0012)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_slow_lp_300","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5074.83,-7537.53,-615.875),(270,0,-90.0012)); + var_00.v["soundalias"] = "emt_desert_wind"; + var_00 = common_scripts\_createfx::createexploderex("bird_vulture_circle_runner","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((7905.65,-7287.38,1000.23),(270,0,0)); + var_00.v["loopsound"] = "emt_crows"; + var_00 = common_scripts\_createfx::createexploderex("heat_distortion_mirage_med","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((373.13,-412.807,120.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_ambient_grates_dusty","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((6123.31,-6429.62,-480),(39.6805,134.645,101.721)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_slow_lp_300","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5168.93,-7460.17,-615.875),(270,0,-90.0012)); + var_00.v["soundalias"] = "emt_desert_wind"; + var_00 = common_scripts\_createfx::createexploderex("cap_insects_mosquitoes_small","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5342.38,-7013.5,-583.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_insects_mosquitoes_small","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5569.33,-6917.37,-564.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_slow_lp_300","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((4885.31,-6022.79,-615.875),(270,0,-90.0012)); + var_00.v["soundalias"] = "emt_desert_wind"; + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_slow_lp_300","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5650.2,-6031,-615.875),(270,0,-90.0012)); + var_00.v["soundalias"] = "emt_desert_wind"; + var_00 = common_scripts\_createfx::createexploderex("cap_paper_ground_linger","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5408.66,-5984.56,-615.833),(270,0,-90.0012)); + var_00 = common_scripts\_createfx::createexploderex("cap_paper_ground_linger","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5766.41,-6124.11,-615.875),(270,0,-90.0012)); + var_00 = common_scripts\_createfx::createexploderex("cap_paper_ground_linger","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((6113.14,-6875.71,-615.875),(270,0,-90.0012)); + var_00 = common_scripts\_createfx::createexploderex("cap_paper_ground_linger","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((6061.91,-7059.39,-615.875),(270,0,-90.0012)); + var_00 = common_scripts\_createfx::createexploderex("cap_paper_ground_linger","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5421.22,-7034.58,-615.6),(270,0,-90.0012)); + var_00 = common_scripts\_createfx::createexploderex("cap_paper_ground_linger","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5298.54,-7454.94,-615.675),(270,0,-90.0012)); + var_00 = common_scripts\_createfx::createexploderex("cap_paper_ground_linger","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5446.85,-7374.91,-615.875),(270,0,-90.0012)); + var_00 = common_scripts\_createfx::createexploderex("cap_paper_ground_linger","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5163.01,-7704.81,-615.875),(270,0,-90.0012)); + var_00 = common_scripts\_createfx::createexploderex("cap_paper_ground_linger","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((6031,-6983.02,-615.875),(270,0,-90.0012)); + var_00 = common_scripts\_createfx::createexploderex("cap_insects_mosquitoes_small","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((6016.2,-6927.31,-571.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_insects_mosquitoes_small","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5366.47,-6843.38,-579.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_insects_mosquitoes_small","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5767.6,-6922.03,-559.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_water_drip_runner_hose","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5629.71,-7726.99,-594.399),(270,0,-90.0012)); + var_00 = common_scripts\_createfx::createexploderex("cap_water_leak_hose","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5664.63,-7694.72,-615.038),(0,89.9987,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_water_leak_hose_splash_runner","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5663.32,-7676.9,-615.875),(270,0,-90.0012)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_ambient_grates_dusty","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5308.94,-5821.88,-408),(60.0566,122.159,126.15)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_ambient_grates_dusty","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5182.25,-5822.12,-408),(60.0566,122.159,126.15)); + var_00 = common_scripts\_createfx::createexploderex("cap_body_fire_lp_cheap","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6763.57,-7038.83,-720),(270,0,-90.0012)); + var_00 = common_scripts\_createfx::createexploderex("cap_body_fire_low_lp","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((6579.63,-7040.2,-714.909),(270,0,-90.0012)); + var_00 = common_scripts\_createfx::createexploderex("cap_body_fire_low_lp","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((7124.45,-7055.59,-720),(270,0,-90.0012)); + var_00 = common_scripts\_createfx::createexploderex("cap_body_smoke_ambient","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((6748.41,-6546.61,-661.045),(270,0,-90.0012)); + var_00 = common_scripts\_createfx::createexploderex("cap_water_drip_runner_hose","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((6152.62,-5927.78,-594.766),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_water_leak_hose","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((6152.71,-5938.57,-589.847),(87.0565,273.214,25.8613)); + var_00 = common_scripts\_createfx::createexploderex("cap_water_leak_hose_splash_runner","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((6165.82,-5944.06,-615.875),(270,0,-90.0012)); + var_00 = common_scripts\_createfx::createexploderex("cap_water_leak_hose_splash_runner","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5309.26,-7003.89,-616),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_water_drip_runner_hose","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5304.83,-7022.14,-594.932),(270,0,-90.0012)); + var_00 = common_scripts\_createfx::createexploderex("cap_water_leak_hose","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5306.16,-7008.94,-589.319),(89.3994,269.995,-116.6)); + var_00 = common_scripts\_createfx::createexploderex("ind_camera_lens_glow_02","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5671.95,-7892.18,-226.83),(22.4727,90,0)); + var_00 = common_scripts\_createfx::createexploderex("ind_camera_lens_glow_02","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5072.01,-7892.16,-226.78),(22.4727,90,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_ground","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((5123.18,-13494.2,-1631.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_spray","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((4953.44,-13372.7,-1521.28),(89.9999,42.8202,-137.18)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_spray","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((4951.92,-13624.1,-1520.6),(89.9999,42.8202,-137.18)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_spray","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((5271.7,-13624.5,-1521.99),(89.9999,42.8202,-137.18)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_spray","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((5271.14,-13369.3,-1521.27),(89.9999,42.8202,-137.18)); + var_00 = common_scripts\_createfx::createexploderex("ash_cloud_freq_lrg_loop_indoor","fx_inc_open_room_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((8944.45,-13856.3,-1746.4),(0,270,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_ash_smoke_ambient","fx_inc_open_room_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((8939.26,-13851.6,-1813.02),(270,0,-90)); + var_00 = common_scripts\_createfx::createexploderex("cap_ash_inc_exhaust","fx_inc_open_room_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((8676.13,-13648,-1694.33),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_ash_inc_exhaust","fx_inc_open_room_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((8676.13,-13442.7,-1697.71),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_ash_inc_exhaust","fx_inc_open_room_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((8676.13,-13854.6,-1693.77),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_ash_fan_exhaust","fx_inc_open_room_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((9353.04,-13553.8,-1632.61),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_ash_fan_exhaust","fx_inc_open_room_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((9358.56,-13940,-1621.47),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("ash_cloud_freq_lrg_loop_indoor","fx_inc_open_room_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((8057.25,-13827.5,-1751.88),(0,270,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_a_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7630.66,-13397.8,-1669.19),(0,270,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_a_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7681.44,-13482.3,-1669.18),(0,90,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_a_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7822.63,-13397.7,-1669.65),(0,270,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_a_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7873.37,-13482.2,-1669.66),(0,90,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_a_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8129.37,-13482.2,-1669.67),(0,90,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_a_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8078.64,-13397.7,-1669.64),(0,270,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_a_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8590.56,-13397.7,-1669.66),(0,270,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_a_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8641.42,-13482.3,-1669.66),(0,90,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7681.52,-13482.5,-1666.84),(35.007,90.0148,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7681.49,-13482.5,-1682.61),(35.0069,89.985,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7681.5,-13482.2,-1697.84),(30.0002,89.9749,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7681.5,-13482.2,-1713.61),(29.9883,89.9922,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7822.48,-13397.5,-1667.34),(35.007,270.015,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7822.5,-13397.5,-1683.11),(35.0069,269.985,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7822.49,-13397.8,-1698.36),(30.0002,270.025,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7822.49,-13397.8,-1714.13),(29.9932,269.994,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7873.49,-13482.5,-1667.33),(34.9895,89.9632,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7873.48,-13482.5,-1683.12),(35.0069,89.985,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7873.49,-13482.2,-1698.37),(30.0002,90.0251,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7873.49,-13482.2,-1714.12),(29.9883,89.9922,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8078.52,-13397.5,-1667.34),(35.007,270.015,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8078.5,-13397.5,-1683.12),(35.0069,269.985,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8078.5,-13397.8,-1698.35),(30.0002,270.025,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8078.49,-13397.8,-1714.11),(29.9932,269.994,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8129.5,-13482.5,-1667.34),(35.007,89.9852,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8129.5,-13482.5,-1683.1),(35.0069,89.985,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8129.5,-13482.2,-1698.35),(30.0002,89.9749,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8129.51,-13482.2,-1714.11),(29.9912,90,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8590.51,-13397.5,-1667.33),(35.007,270.015,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8590.51,-13397.5,-1683.1),(35.0069,270.015,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8590.49,-13397.8,-1698.36),(30.0002,269.975,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8590.49,-13397.8,-1714.11),(29.9912,270,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8641.5,-13482.5,-1667.35),(35.007,89.9852,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8641.48,-13482.5,-1683.11),(35.0069,90.015,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8641.48,-13482.2,-1698.37),(30.0002,89.9749,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8641.49,-13482.2,-1714.1),(30.0041,90,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_spray_nofb","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((5048.62,-13393.7,-1579.8),(356,180,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_fill","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((5392,-13420.3,-1509.41),(62,180,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_fill","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((5071.56,-13519.4,-1511.1),(59,270.001,90.0013)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_fill","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((5199.94,-13520,-1511.43),(59,270.001,90.0013)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_fill","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((5200.23,-13320,-1510.33),(56.9999,89.9995,-90.0006)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_fill","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((5070.04,-13320,-1510.68),(56.9999,89.9995,-90.0006)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_a_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8270.59,-13397.7,-1669.67),(0,270,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_a_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8321.37,-13482.3,-1669.65),(0,90,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_a_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8449.45,-13482.3,-1669.66),(0,90,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8270.49,-13397.5,-1667.34),(35.007,269.985,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8270.5,-13397.5,-1683.11),(35.0069,269.985,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8270.49,-13397.8,-1698.35),(29.9883,269.992,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8270.5,-13397.8,-1714.12),(29.9932,269.994,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8321.5,-13482.5,-1667.33),(35.007,89.9852,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8321.51,-13482.5,-1683.11),(35.0069,89.985,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8321.5,-13482.2,-1698.36),(30.0002,90.0251,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8321.52,-13482.2,-1714.11),(29.9912,90,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_a_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8398.59,-13397.7,-1669.67),(0,270,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8398.49,-13397.5,-1667.34),(35.007,269.985,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8398.51,-13397.5,-1683.12),(35.0019,270,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8398.5,-13397.8,-1698.36),(30.0002,270.025,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8398.51,-13397.8,-1714.12),(29.9912,270,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8449.5,-13482.5,-1667.35),(35.007,89.9852,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8449.49,-13482.5,-1683.11),(35.0019,90,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8449.49,-13482.2,-1698.36),(30.0002,89.9749,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8449.49,-13482.2,-1714.12),(29.9912,90,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7630.52,-13397.5,-1666.83),(35.007,270.015,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7630.5,-13397.5,-1682.61),(35.0069,269.985,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7630.5,-13397.8,-1697.86),(30.0002,269.975,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7630.48,-13397.8,-1713.62),(29.9932,270.006,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_cart_fire","fx_inc_fire_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8611.34,-13442.5,-1705.93),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_cart_fire","fx_inc_fire_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8426.07,-13441.5,-1705.93),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_cart_fire","fx_inc_fire_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8297.12,-13434.2,-1705.93),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_cart_fire","fx_inc_fire_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8105.54,-13440.4,-1705.93),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_cart_fire","fx_inc_fire_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7854.85,-13436.7,-1705.93),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_cart_fire","fx_inc_fire_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7655.17,-13441.5,-1705.93),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_cart_fire_sm","fx_inc_fire_a_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8611.34,-13442.5,-1706),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_cart_fire_sm","fx_inc_fire_a_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8426.07,-13441.5,-1706),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_cart_fire_sm","fx_inc_fire_a_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8297.12,-13434.2,-1706),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_cart_fire_sm","fx_inc_fire_a_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8105.54,-13440.4,-1706),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_cart_fire_sm","fx_inc_fire_a_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7854.85,-13436.7,-1706),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_cart_fire_sm","fx_inc_fire_a_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7655.17,-13441.5,-1706),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_splash","fx_inc_fire_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7822.35,-13409.4,-1707.35),(298.733,94.7195,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_splash","fx_inc_fire_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7848.02,-13409.7,-1707.23),(297.971,90,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_splash","fx_inc_fire_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7872.91,-13409.6,-1707.22),(297.052,90,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_splash","fx_inc_fire_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7822.28,-13405.7,-1718.56),(0,90,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_splash","fx_inc_fire_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7822.12,-13470.7,-1707.4),(297.052,270,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_splash","fx_inc_fire_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7847.7,-13470.7,-1707.42),(297.971,270,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_splash","fx_inc_fire_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7873.13,-13470.5,-1707.31),(297.052,270,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_splash","fx_inc_fire_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7822.49,-13474.3,-1718.72),(0,270,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_splash","fx_inc_fire_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8270.14,-13410,-1707.05),(297.052,90,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_splash","fx_inc_fire_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8270.57,-13405.7,-1718.68),(0,90,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_a_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8270.05,-13470.7,-1707.39),(297.052,270,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_splash","fx_inc_fire_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8270.4,-13474.3,-1718.96),(0,270,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_splash","fx_inc_fire_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8398.32,-13409.7,-1707.17),(297.052,90,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_splash","fx_inc_fire_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8398.48,-13405.7,-1718.94),(0,90,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_splash","fx_inc_fire_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8398.06,-13470.7,-1707.4),(297.052,270,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_splash","fx_inc_fire_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8398.46,-13474.3,-1718.98),(0,270,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_splash","fx_inc_fire_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8590.15,-13409.4,-1707.32),(297.052,90,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_splash","fx_inc_fire_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8590.42,-13405.7,-1719.38),(0,90,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_splash","fx_inc_fire_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8589.61,-13470.8,-1707.43),(297.052,270,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_splash","fx_inc_fire_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8590.39,-13474.3,-1718.97),(0,270,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_ground","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((5095.35,-14335.1,-1623.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_ground","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((5148.87,-13865.9,-1631.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_spray","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((5209.03,-14041.6,-1516.97),(89.9999,42.8202,-137.18)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_spray","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((5272.51,-14227.4,-1517.06),(89.9999,42.8202,-137.18)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_spray","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((5272.3,-14480.2,-1517.51),(89.9999,42.8202,-137.18)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_spray","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((4950.44,-14480.9,-1516.98),(89.9999,42.8202,-137.18)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_spray","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((4951.25,-14224.6,-1517.05),(89.9999,42.8202,-137.18)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_spray","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((5043.33,-14252.9,-1576.46),(356,180,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_spray_nofb","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((4994.12,-13792.2,-1581.61),(357.215,86.7967,0.999314)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_fill","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((5072,-13947.4,-1510.62),(54.9997,0,-180)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_fill","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((5072,-13815.4,-1510.8),(54.9997,0,-180)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_fill","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((5021.96,-13984,-1511.31),(59,270.001,90.0013)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_fill","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((5083.7,-14376,-1511.69),(59,270.001,90.0013)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_fill","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((5187.74,-14376,-1512.2),(59,270.001,90.0013)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_fill","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((5187.53,-14176,-1511.22),(56.9999,89.9995,-90.0006)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_fill","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((5083.53,-14176,-1511.61),(56.9999,89.9995,-90.0006)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_spray","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((4951.99,-14040,-1517.08),(89.9999,42.8202,-137.18)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_spray","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((4952.74,-13720.9,-1517.11),(89.9999,42.8202,-137.18)); + var_00 = common_scripts\_createfx::createexploderex("cap_poison_gas","2200"); + var_00 common_scripts\_createfx::set_origin_and_angles((4531,-11542.8,-1671.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_poison_gas_lite","2300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4532,-11543.8,-1671.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_ground_fill","2410"); + var_00 common_scripts\_createfx::set_origin_and_angles((5139.29,-13457.6,-1631.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_ground_fill","2410"); + var_00 common_scripts\_createfx::set_origin_and_angles((5175.78,-14320,-1631.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("smoke_grey_column_4_spot_directional_lg","4100"); + var_00 common_scripts\_createfx::set_origin_and_angles((9279.8,1819.21,178.727),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_uv_flash_buildup","fx_uv_flash_buildup"); + var_00 common_scripts\_createfx::set_origin_and_angles((4367.59,-11938.1,-1671.88),(270,338.446,-68.4461)); + var_00 = common_scripts\_createfx::createexploderex("cap_uv_flash","fx_uv_flash"); + var_00 common_scripts\_createfx::set_origin_and_angles((4367.59,-11938.1,-1672.88),(270,338.446,-68.4461)); + var_00 = common_scripts\_createfx::createexploderex("cap_uv_flash_panel_runner","fx_uv_flash"); + var_00 common_scripts\_createfx::set_origin_and_angles((4298.65,-12003.1,-1582.54),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_uv_flash_panel_runner","fx_uv_flash"); + var_00 common_scripts\_createfx::set_origin_and_angles((4298.6,-12003.1,-1603.44),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_uv_flash_panel_runner","fx_uv_flash"); + var_00 common_scripts\_createfx::set_origin_and_angles((4436.17,-11868.9,-1560.21),(0,180,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_uv_flash_panel_runner","fx_uv_flash"); + var_00 common_scripts\_createfx::set_origin_and_angles((4437.38,-11876.9,-1582.57),(0,180,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_uv_flash_panel_runner","fx_uv_flash"); + var_00 common_scripts\_createfx::set_origin_and_angles((4437.57,-11876.9,-1624.26),(0,180,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_uv_flash_panel_noray_runner","fx_uv_flash"); + var_00 common_scripts\_createfx::set_origin_and_angles((4344.29,-12003,-1550.02),(90,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("cap_uv_flash_panel_noray_runner","fx_uv_flash"); + var_00 common_scripts\_createfx::set_origin_and_angles((4364.68,-12003,-1550.02),(90,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("cap_uv_flash_panel_noray_runner","fx_uv_flash"); + var_00 common_scripts\_createfx::set_origin_and_angles((4386.21,-12003.1,-1550.94),(90,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_oven_ash","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((8161.8,-13434.4,-1702.78),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_ash_cloud_indoor","fx_inc_oven_ash_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((8209.55,-13427.8,-1705.93),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_gas_explode_ceiling_fire","fx_inc_gas_explode"); + var_00 common_scripts\_createfx::set_origin_and_angles((8066.98,-13466.6,-1752.13),(90,270,90)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_gas_explode_late_light","fx_inc_gas_explode_late_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((8066.98,-13466.6,-1751),(90,270,90)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_b_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8590.66,-13605.8,-1669.7),(0,270,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_b_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8641.4,-13690.3,-1669.68),(0,90,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_b_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8449.4,-13690.3,-1669.66),(0,90,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_b_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8398.62,-13605.7,-1669.65),(0,270,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_b_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8270.59,-13605.7,-1669.67),(0,270,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_b_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8321.43,-13690.2,-1669.66),(0,89.9997,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_b_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8129.3,-13690.4,-1669.65),(0,89.9997,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_b_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8078.63,-13605.6,-1669.67),(0,270,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_b_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7822.63,-13605.7,-1669.66),(0,270,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_b_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7873.42,-13690.3,-1669.66),(0,89.9997,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_b_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7681.16,-13690.7,-1669.16),(0,89.9997,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_b_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7630.58,-13605.7,-1669.18),(0,270,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8590.5,-13605.5,-1667.34),(34.9954,270.019,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8590.49,-13605.5,-1683.11),(35.0069,270.014,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8590.51,-13605.8,-1698.35),(29.9932,269.994,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8590.5,-13605.8,-1714.11),(30.0054,270.003,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8641.49,-13690.5,-1667.34),(35.0019,90,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8641.51,-13690.5,-1683.11),(35.0069,90.0144,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8641.51,-13690.2,-1698.36),(29.9881,89.9914,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8641.51,-13690.2,-1714.11),(29.9984,89.9835,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_1_2s"); + var_00 common_scripts\_createfx::set_origin_and_angles((8590.5,-13605.5,-1667.34),(34.9954,270.019,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_1_2s"); + var_00 common_scripts\_createfx::set_origin_and_angles((8590.49,-13605.5,-1683.11),(35.0069,270.014,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_1_2s"); + var_00 common_scripts\_createfx::set_origin_and_angles((8590.51,-13605.8,-1698.35),(29.9932,269.994,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_1_2s"); + var_00 common_scripts\_createfx::set_origin_and_angles((8590.5,-13605.8,-1714.11),(30.0054,270.003,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_1_2s"); + var_00 common_scripts\_createfx::set_origin_and_angles((8641.49,-13690.5,-1667.34),(35.0019,90,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_1_2s"); + var_00 common_scripts\_createfx::set_origin_and_angles((8641.51,-13690.5,-1683.11),(35.0069,90.0144,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_1_2s"); + var_00 common_scripts\_createfx::set_origin_and_angles((8641.51,-13690.2,-1698.36),(29.9881,89.9914,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_1_2s"); + var_00 common_scripts\_createfx::set_origin_and_angles((8641.51,-13690.2,-1714.11),(29.9984,89.9835,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8449.5,-13690.2,-1714.12),(30.0054,90.003,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8449.51,-13690.2,-1698.36),(29.9932,90.0056,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8449.49,-13690.5,-1683.1),(35.002,90,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8449.5,-13690.5,-1667.34),(34.9954,89.9809,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8398.5,-13605.8,-1714.11),(30.0054,270.003,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8398.49,-13605.8,-1698.36),(29.9932,270.006,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8398.51,-13605.5,-1683.1),(35.0069,269.986,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8398.5,-13605.5,-1667.35),(34.9954,269.981,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8270.5,-13605.8,-1714.11),(30.0054,270.003,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8270.51,-13605.8,-1698.36),(29.9932,269.994,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8270.5,-13605.5,-1683.1),(35.0069,269.986,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8270.5,-13605.5,-1667.34),(34.9954,269.981,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8321.5,-13690.2,-1698.36),(29.9932,90.0056,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8321.5,-13690.5,-1683.11),(35.0069,89.9856,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8321.5,-13690.5,-1667.33),(34.9954,89.9809,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8129.5,-13690.2,-1714.12),(30.0054,90.003,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8129.5,-13690.2,-1698.36),(29.9932,89.9944,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8129.5,-13690.5,-1683.1),(35.0069,89.9856,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8129.5,-13690.5,-1667.34),(34.9954,89.9809,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8078.5,-13605.8,-1714.11),(30.0054,269.997,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8078.49,-13605.8,-1698.36),(29.9932,270.006,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8078.5,-13605.5,-1683.1),(35.0069,270.014,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8078.51,-13605.5,-1667.34),(34.9954,270.019,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7822.5,-13605.8,-1714.11),(30.0054,270.003,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7822.51,-13605.8,-1698.35),(29.9932,269.994,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7822.5,-13605.5,-1683.1),(35.0069,270.014,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7822.5,-13605.5,-1667.33),(34.9954,269.981,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7873.5,-13690.2,-1714.11),(30.0054,89.997,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7873.5,-13690.2,-1698.36),(29.9932,89.9944,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7873.5,-13690.5,-1683.1),(35.0069,90.0144,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7873.5,-13690.5,-1667.34),(34.9954,89.9809,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7681.5,-13690.2,-1713.62),(30.0054,89.997,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7681.5,-13690.2,-1697.85),(29.9932,90.0056,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7681.49,-13690.5,-1682.61),(35.0069,89.9856,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7681.49,-13690.5,-1666.84),(35.0019,90,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7630.5,-13605.8,-1713.6),(30.0054,270.003,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7630.5,-13605.8,-1697.85),(29.9932,270.006,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7630.5,-13605.5,-1682.6),(35.0069,269.986,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_b_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7630.5,-13605.5,-1666.85),(34.9954,269.981,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_cart_fire_sm","fx_inc_fire_b_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8615.09,-13648.3,-1705.53),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_cart_fire_sm_2s","fx_inc_fire_b_1_2s"); + var_00 common_scripts\_createfx::set_origin_and_angles((8615.09,-13648.3,-1705.53),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_cart_fire_sm","fx_inc_fire_b_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8426.96,-13644.7,-1705.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_cart_fire_sm","fx_inc_fire_b_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8300.87,-13647,-1705.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_cart_fire_sm","fx_inc_fire_b_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8103.75,-13648.3,-1705.19),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_cart_fire_sm","fx_inc_fire_b_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7847.61,-13647.7,-1705.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_cart_fire_sm","fx_inc_fire_b_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7655.88,-13649.2,-1705.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_c_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8641.46,-13898.2,-1669.67),(0,90,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_c_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8590.63,-13813.7,-1669.68),(0,270,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_c_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8398.53,-13813.7,-1669.66),(0,270,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_c_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8449.37,-13898.4,-1669.66),(360,90,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_c_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8321.52,-13898.1,-1669.66),(360,90,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_c_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8270.65,-13813.7,-1669.65),(0,270,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_c_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8078.46,-13813.9,-1669.68),(0,270,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_c_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8129.49,-13898.2,-1669.67),(0,89.9999,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_c_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7873.42,-13898.3,-1669.66),(0,89.9999,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_c_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7822.64,-13813.7,-1669.67),(0,270,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_c_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7630.63,-13813.7,-1669.17),(0,270,0)); + var_00 = common_scripts\_createfx::createexploderex("pilot_flame_45_runner","fx_inc_pilot_light_c_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7681.31,-13898.4,-1669.16),(0,89.9997,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8590.5,-13813.5,-1667.35),(34.9954,270.019,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8590.49,-13813.5,-1683.11),(35.0069,270.014,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8590.5,-13813.8,-1698.36),(29.9932,270.006,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8590.5,-13813.8,-1714.11),(30.0054,269.997,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8641.51,-13898.2,-1714.11),(29.9984,89.9835,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8641.51,-13898.2,-1698.34),(29.9881,89.9914,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8641.5,-13898.5,-1683.11),(35.0069,90.0144,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8641.51,-13898.5,-1667.33),(35.0009,89.9969,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8398.5,-13813.5,-1667.34),(34.9954,270.019,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8398.49,-13813.5,-1683.1),(35.0069,270.014,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8398.5,-13813.8,-1698.37),(29.9932,270.006,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8398.51,-13813.8,-1714.11),(30.0043,270,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8449.49,-13898.2,-1714.14),(30.0054,89.997,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8449.5,-13898.2,-1698.4),(29.9932,89.9944,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8449.47,-13898.5,-1683.13),(35.002,90,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8449.49,-13898.5,-1667.35),(34.9954,90.0191,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8321.49,-13898.5,-1667.37),(34.9954,90.0191,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8321.49,-13898.5,-1683.13),(35.0069,89.9856,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8321.48,-13898.2,-1698.36),(29.9912,90,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8321.5,-13898.2,-1714.12),(30.0054,90.003,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8270.5,-13813.8,-1714.13),(30.0054,269.997,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8270.5,-13813.8,-1698.37),(29.9932,269.994,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8270.51,-13813.5,-1683.15),(35.0069,269.986,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8270.53,-13813.5,-1667.37),(35.0019,270,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8078.51,-13813.5,-1667.34),(34.9954,270.019,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8078.52,-13813.5,-1683.1),(35.002,270,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8078.52,-13813.8,-1698.37),(29.9932,269.994,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8078.5,-13813.8,-1714.11),(30.0054,270.003,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8129.51,-13898.2,-1714.13),(30.0054,90.003,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8129.49,-13898.2,-1698.36),(29.9932,89.9944,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8129.51,-13898.5,-1683.13),(35.0069,90.0144,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8129.51,-13898.5,-1667.35),(34.9954,89.9809,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7873.5,-13898.5,-1667.34),(34.9954,90.0191,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7873.52,-13898.5,-1683.1),(35.0011,89.9973,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7873.51,-13898.2,-1698.37),(29.9932,90.0056,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7873.5,-13898.2,-1714.11),(30.0054,90.003,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7822.5,-13813.8,-1714.1),(30.0054,270.003,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7822.49,-13813.8,-1698.34),(30.0034,270,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7822.51,-13813.5,-1683.12),(35.0069,269.986,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7822.5,-13813.5,-1667.37),(34.9954,269.981,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7630.51,-13813.5,-1666.84),(34.9954,270.019,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7630.51,-13813.5,-1682.62),(35.0069,269.986,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7630.52,-13813.8,-1697.89),(29.9932,269.994,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7630.51,-13813.8,-1713.63),(30.0054,269.997,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7681.5,-13898.2,-1713.64),(30.0054,89.997,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7681.5,-13898.2,-1697.88),(29.9932,89.9944,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7681.5,-13898.5,-1682.62),(35.0069,89.9856,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_side_fire_runner","fx_inc_fire_c_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((7681.5,-13898.5,-1666.84),(34.9954,90.0191,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_cart_fire_sm","fx_inc_fire_c_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8617.01,-13856.2,-1706.01),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_cart_fire_sm","fx_inc_fire_c_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8423.41,-13856.3,-1705.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_cart_fire_sm","fx_inc_fire_c_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8295.79,-13855.8,-1705.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_cart_fire_sm","fx_inc_fire_c_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8103.75,-13855.4,-1706.04),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_cart_fire_sm","fx_inc_fire_c_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7845.33,-13857.8,-1705.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_cart_fire_sm","fx_inc_fire_c_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((7656.99,-13855.8,-1705.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_inc_fan","fx_inc_open_room_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((9719.66,-13559,-1628.9),(360,90,-90)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_inc_fan","fx_inc_open_room_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((9726.64,-13929.1,-1630.2),(360,90,-90)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_inc_door","fx_inc_open_room_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((9739.03,-13440.6,-1848.85),(18.9999,180,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_inc_door","fx_inc_open_room_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((9737.54,-13645.8,-1845.49),(18.9999,180,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_inc_door","fx_inc_open_room_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((9725.3,-13857.7,-1845.47),(18.9999,180,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_ash_door_exhaust","fx_inc_open_room_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((9425.32,-13439.1,-1832.43),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_ash_door_exhaust","fx_inc_open_room_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((9514.56,-13648.1,-1829.88),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_ash_door_exhaust","fx_inc_open_room_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((9445.42,-13850.7,-1830.88),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_autopsy_light","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6196.49,-14753.4,-1528.14),(35.993,191.981,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_autopsy_light","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6354.56,-14575.8,-1563.66),(45.4357,297.531,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","fx_uv_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((4364.2,-11913.8,-1566.13),(90,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","fx_uv_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((4366.6,-11963.2,-1565.13),(90,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_autopsy_light","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5927.39,-14643.8,-1528.12),(35.993,105.881,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5569.51,-14513,-1517.5),(90,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_crawl_heat","fx_inc_crawl_heat"); + var_00 common_scripts\_createfx::set_origin_and_angles((7984.59,-13435,-1784),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_oven_ash_fire","fx_inc_oven_ash_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((8190.57,-13445.4,-1699.93),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_inc_oven_ash_fire_large_still","fx_inc_oven_ash_fire_cg_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((7832,-13445.4,-1699.93),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_auto_hatch_ash_1","fx_autopsy_hatch_ash_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((6973.93,-14792.4,-1605.88),(0,180,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_ash_pit_fan_exhaust","4100"); + var_00 common_scripts\_createfx::set_origin_and_angles((9958.65,-13933.8,-1625.24),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_ash_pit_fan_exhaust","4100"); + var_00 common_scripts\_createfx::set_origin_and_angles((9956.74,-13551.8,-1630.56),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_ash_pit_door_exhaust","4100"); + var_00 common_scripts\_createfx::set_origin_and_angles((9931.51,-13852.2,-1850.04),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_ash_pit_door_exhaust","4100"); + var_00 common_scripts\_createfx::set_origin_and_angles((9916.83,-13643.6,-1846.92),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_ash_pit_door_exhaust","4100"); + var_00 common_scripts\_createfx::set_origin_and_angles((9901.12,-13440.6,-1845.22),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("ash_cloud_freq_lrg_loop_dark","4100"); + var_00 common_scripts\_createfx::set_origin_and_angles((10817.8,-13380.1,-2191),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_ash_pit_fill","4100"); + var_00 common_scripts\_createfx::set_origin_and_angles((10126.6,-13467.5,-2271.88),(270,0,-90.0005)); + var_00 = common_scripts\_createfx::createexploderex("cap_ash_pit_fill","4100"); + var_00 common_scripts\_createfx::set_origin_and_angles((10276.8,-13455.8,-2271.88),(270,0,-90.0005)); + var_00 = common_scripts\_createfx::createexploderex("cap_ash_pit_fill","4100"); + var_00 common_scripts\_createfx::set_origin_and_angles((10593.2,-13301,-2271.88),(270,0,-90.0005)); + var_00 = common_scripts\_createfx::createexploderex("cap_ash_pit_fill","4100"); + var_00 common_scripts\_createfx::set_origin_and_angles((10940.1,-12905.9,-2271.88),(270,0,-90.0005)); + var_00 = common_scripts\_createfx::createexploderex("ash_cloud_freq_lrg_loop_dark","4100"); + var_00 common_scripts\_createfx::set_origin_and_angles((10503,-13614.3,-2131.03),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_rect_light","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3605.94,-10642.2,-1453.55),(89.9997,0.419214,90.4193)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_rect_light","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3937.42,-10560.8,-1453.75),(89.9998,321.057,51.0577)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_rect_light","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3605.02,-10538.1,-1453.42),(89.9997,0.419214,90.4193)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4339.19,-12129.3,-1591.88),(90,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_rect_light","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4878.12,-11542.7,-1493.63),(89.9989,359.292,-90.7082)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_rect_light","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4876.53,-11879.8,-1493.63),(89.9995,0.215423,-89.785)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_rect_light","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5119.23,-11900.2,-1493.63),(89.9995,0.397692,90.3979)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_rect_light","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4854.15,-12263.8,-1494.63),(89.9995,0.215423,-89.785)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_rect_light","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4870.25,-12633.8,-1494.63),(89.9995,0.215423,-89.785)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_rect_light","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4869.94,-13025.1,-1494.63),(89.9995,0.215423,-89.785)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_rect_light","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5065.98,-13024.8,-1494.63),(89.9995,0.215423,-89.785)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_rect_light","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5220.19,-13025,-1494.63),(89.9995,0.215423,-89.785)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_rect_light","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5377.29,-13024.3,-1494.63),(89.9995,0.215423,-89.785)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_rect_light","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5081.22,-12263.6,-1494.63),(89.9995,0.215423,-89.785)); + var_00 = common_scripts\_createfx::createexploderex("cap_uv_flash_panel_runner","fx_uv_flash"); + var_00 common_scripts\_createfx::set_origin_and_angles((4298.52,-12003,-1624.17),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_uv_flash_panel_runner","fx_uv_flash"); + var_00 common_scripts\_createfx::set_origin_and_angles((4437.34,-11877,-1603.53),(0,180,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_uv_flash_panel_buildup_runner","fx_uv_flash_buildup"); + var_00 common_scripts\_createfx::set_origin_and_angles((4437.4,-11877.1,-1582.59),(0,180,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_uv_flash_panel_buildup_runner","fx_uv_flash_buildup"); + var_00 common_scripts\_createfx::set_origin_and_angles((4437.44,-11876.9,-1603.63),(0,180,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_uv_flash_panel_buildup_runner","fx_uv_flash_buildup"); + var_00 common_scripts\_createfx::set_origin_and_angles((4437.45,-11877,-1624.14),(0,180,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_ash_inc_crawl_ground","fx_inc_crawl_heat"); + var_00 common_scripts\_createfx::set_origin_and_angles((8231.42,-13444.5,-1781.2),(270,0,90)); + var_00 = common_scripts\_createfx::createexploderex("cap_ash_inc_crawl_ground","fx_inc_crawl_heat"); + var_00 common_scripts\_createfx::set_origin_and_angles((7937.11,-13442.9,-1784),(270,0,90)); + var_00 = common_scripts\_createfx::createexploderex("cap_heli_fireball_lp_smk","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10485.1,-5624.79,594.78),(270,0,-83.0007)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_nosmk","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10599.8,-5781.57,454.227),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_nosmk","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10553.6,-5666.95,474.511),(311.427,33.7574,0)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_xs_runner","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10467.2,-5845.64,633.79),(62.6829,191.846,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_nosmk","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10498,-5600.47,490.638),(288.786,65.7941,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xxs","fx_inc_gas_explode_late_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((8005.27,-13448.9,-1783.91),(271.023,180,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xxs","fx_inc_gas_explode_late_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((8108.74,-13471.6,-1781.95),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xxs","fx_inc_gas_explode_late_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((8047.34,-13452,-1754.63),(30.0002,180,0)); + var_00 = common_scripts\_createfx::createexploderex("heli_dust_settle_3s","fx_walk_heli_dust_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((5086.75,-7387.13,-620),(270,0,-90.0012)); + var_00 = common_scripts\_createfx::createexploderex("heli_dust_settle_3s","fx_walk_heli_dust_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((5437.7,-7420.29,-615.875),(270,0,-90.0012)); + var_00 = common_scripts\_createfx::createexploderex("heli_dust_settle_3s","fx_walk_heli_dust_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((5712.79,-7484.86,-620),(270,0,-90.0012)); + var_00 = common_scripts\_createfx::createexploderex("heat_distortion_mirage_med","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3251.33,-4918.96,-14.7683),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("heat_distortion_mirage_med","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((4290.93,-2845.37,71.8587),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_slow_lp_300","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((4866.94,-3897.35,10.2158),(273.181,269.122,-27.0019)); + var_00 = common_scripts\_createfx::createexploderex("cap_water_drip_runner_hose","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((5653.37,-5305.63,23.6356),(270,0,-90.0012)); + var_00 = common_scripts\_createfx::createexploderex("cap_water_leak_hose","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((5213.96,-5239.28,-19.4467),(350.554,159.336,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_water_leak_hose_splash_runner","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((5198.04,-5239.63,-23.375),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_slow_lp_300","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((5179.04,-5015.64,-23.7162),(270.252,12.5131,-103.995)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_slow_lp_300","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((5548.09,-4968.13,-24.6044),(270.236,140.676,134.033)); + var_00 = common_scripts\_createfx::createexploderex("cap_intro_truck_dust_01","fx_intro_truck_dust_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((5290.47,-5089.35,-9.0454),(270,345.964,-77.9658)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((4945.35,-4537.23,28.6351),(270,0,-93.0004)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((5359.91,-4997.34,9.70714),(270,0,-93.0004)); + var_00 = common_scripts\_createfx::createexploderex("heat_distortion_mirage_med","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((7026.83,-5021.36,-18.7625),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_fire_barrel","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((4397.84,-4455.4,132.769),(270,0,-87.0011)); + var_00 = common_scripts\_createfx::createexploderex("cap_fire_barrel","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3836.1,-3587.14,145.095),(270,0,-87.0011)); + var_00 = common_scripts\_createfx::createexploderex("cap_smoke_barrel","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3556.97,-3807.44,134),(270,0,-87.0011)); + var_00 = common_scripts\_createfx::createexploderex("cap_fire_barrel","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((5888.34,-4416.37,100.53),(270,0,-87.0011)); + var_00 = common_scripts\_createfx::createexploderex("cap_smoke_barrel","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((6047.12,-3422.99,135.498),(270,0,-87.0011)); + var_00 = common_scripts\_createfx::createexploderex("cap_intro_truck_dust_02","fx_intro_truck_dust_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((5507.97,-5086.42,1),(270,345.964,-77.9658)); + var_00 = common_scripts\_createfx::createexploderex("cap_intro_truck_dust_02","fx_intro_truck_dust_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((5099.93,-4815.67,-11.8067),(270,345.964,-77.9658)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","fx_intro_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((3202.54,-1423.09,187.686),(270,0,-120.002)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","fx_intro_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((3381.26,-1861.94,166.385),(270,0,-120.002)); + var_00 = common_scripts\_createfx::createexploderex("cap_paper_ground_linger","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((6246.36,-6250.43,-615.875),(270,0,-90.0012)); + var_00 = common_scripts\_createfx::createexploderex("cap_heli_gideon_sparks","fx_heli_gideon_sparks_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((11913.1,-11969.2,-1915.88),(0,89.9997,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("cap_heli_gideon_sparks","fx_heli_gideon_sparks_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((11939.2,-11965.3,-1907.88),(11.8813,98.175,-88.306)); + var_00 = common_scripts\_createfx::createexploderex("cap_heli_gideon_sparks","fx_heli_gideon_sparks_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((11886.8,-11968.7,-1931.88),(359.06,69.9962,-89.6581)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_xs_runner","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10481.4,-5779.72,624.572),(29.7719,342.469,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_blacksmk","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10583.9,-5359.98,451.086),(270,180,-131)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_nosmk","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10785.3,-5473.05,448),(270,0,80.9997)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_nosmk","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10675.9,-5659.35,456.656),(288.786,65.7941,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_nosmk","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10543.2,-5782.49,492.598),(288.786,65.7941,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_nosmk","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10640.6,-5542.83,450.083),(288.786,65.7941,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_nosmk","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10585.7,-6061.64,459.415),(288.786,65.7941,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_nosmk","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10612.8,-5981.98,452.077),(311.427,33.7574,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_nosmk","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10647.3,-6074.38,451.828),(311.427,33.7574,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_nosmk","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10804.4,-5775.24,459.857),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_nosmk","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10755.6,-5825.46,452.451),(288.786,65.7941,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10450.4,-5548.24,485.149),(270,0,-32.0002)); + var_00 = common_scripts\_createfx::createexploderex("ash_ember_cloud_freq_sml_loop","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10635.7,-5742.06,451.466),(270,0,-35.0021)); + var_00 = common_scripts\_createfx::createexploderex("cap_heli_fireball_lp_smk_low_distort","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10491.7,-5972.04,570.483),(270,180,130.999)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("cap_heli_fireball_lp","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10645.6,-5472.23,504.321),(309.009,341.428,91.0626)); + var_00 = common_scripts\_createfx::createexploderex("cap_emergency_light_orange_01","fx_emergency_lights_s3door"); + var_00 common_scripts\_createfx::set_origin_and_angles((5245.18,-10373.4,-1681.97),(0,0,-90)); + var_00 = common_scripts\_createfx::createexploderex("cap_emergency_light_orange_01_fast","fx_emergency_lights_hack"); + var_00 common_scripts\_createfx::set_origin_and_angles((3893.1,-10716.4,-1670.08),(0,0,-90)); + var_00 = common_scripts\_createfx::createexploderex("cap_emergency_light_orange_01_fast","fx_emergency_lights_hack"); + var_00 common_scripts\_createfx::set_origin_and_angles((3893.03,-10541.4,-1670.08),(0,0,-90)); + var_00 = common_scripts\_createfx::createexploderex("cap_emergency_light_orange_01_fast","fx_emergency_lights_hack_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((4211.05,-10576.4,-1670.23),(360,270,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("cap_uv_light_orange","fx_uv_orange_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((4344.17,-11862.5,-1558.05),(0,270,-90)); + var_00 = common_scripts\_createfx::createexploderex("cap_uv_light_green","fx_uv_green_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((4383.82,-11862.6,-1558.1),(0,270,-90)); + var_00 = common_scripts\_createfx::createexploderex("cap_emergency_light_orange_01","fx_emergency_lights_heli"); + var_00 common_scripts\_createfx::set_origin_and_angles((9704.73,-14101.1,-1782.16),(0,270,-90)); + var_00 = common_scripts\_createfx::createexploderex("cap_crash_dust_lite_sml","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10749.2,-5731.34,448.385),(270,0,49.9967)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("cap_heli_smk","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10514.2,-5883.26,522.518),(270,0,-29.0021)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("cap_crash_dust_lite_sml","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10599.4,-5464.54,448),(270,0,49.9967)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("cap_crash_dust_02","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10737.1,-6132.62,460.235),(270,6.34019,56.6563)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10679.9,-6027.25,640.972),(270,180,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10679.4,-5781.72,634.998),(270,180,85.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10713.2,-5560.82,665.862),(270,180,85.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10612,-5495.46,597.197),(270,180,135)); + var_00 = common_scripts\_createfx::createexploderex("cap_crash_hero_dust_falling","mech_intro_dust_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((10705,-5911.71,586.567),(270,4.96974,83.0276)); + var_00 = common_scripts\_createfx::createexploderex("cap_crash_hero_dust_mech","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10732.2,-5885.98,456.548),(270,0,49.9967)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_nosmk","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10390,-5776.03,599.18),(278,300.999,90)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_nosmk","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10451.8,-5737.94,544.652),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_crash_debris_dust","fx_crash_debris_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((10680.6,-5871.87,451.318),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_mech_intro_land_dust_debris","mech_intro_land"); + var_00 common_scripts\_createfx::set_origin_and_angles((10297,-5282.11,201),(270,0,-141)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","4100"); + var_00 common_scripts\_createfx::set_origin_and_angles((10881.4,-14390.5,-1951.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","4100"); + var_00 common_scripts\_createfx::set_origin_and_angles((10374.7,-14339.5,-2015.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","4100"); + var_00 common_scripts\_createfx::set_origin_and_angles((11025.9,-13872.6,-1951.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","4100"); + var_00 common_scripts\_createfx::set_origin_and_angles((11250.8,-14226.5,-1951.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_heli_dust_settle_3s_lp","fx_heli_dust_settle"); + var_00 common_scripts\_createfx::set_origin_and_angles((12034.2,-12155.7,-1993.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_heli_dust_settle_3s_lp","fx_heli_dust_settle"); + var_00 common_scripts\_createfx::set_origin_and_angles((12044.5,-11704.3,-1993.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_heli_dust_settle_3s_lp","fx_heli_flyby_dust_settle"); + var_00 common_scripts\_createfx::set_origin_and_angles((13129.2,-11909.6,-1873.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_heli_dust_settle_3s_lp","fx_heli_flyby_dust_settle"); + var_00 common_scripts\_createfx::set_origin_and_angles((13129.2,-11462.7,-1873.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_tunnel_low","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5473.1,-10797.7,-1767.88),(270,180,-145.001)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_tunnel_low","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5312.88,-9565.28,-1769),(270,0,178.998)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_tunnel_low","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4109.94,-10778.8,-1769),(270,0,0.997666)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_tunnel_low","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4111.35,-9552.07,-1769),(270,0,178.998)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_tunnel_low","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4111.69,-9830.41,-1769),(270,0,178.998)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_tunnel_low","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4113.92,-10047.9,-1769),(270,0,178.998)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_tunnel_low","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4111.93,-10254.7,-1769),(270,0,178.998)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_tunnel_low","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4112.52,-10392.6,-1769),(270,0,178.998)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_tunnel_low","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5337.14,-10747,-1769),(270,0,0.998686)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_tunnel_low","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5313.73,-9891.05,-1769),(270,0,178.998)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_tunnel_low","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6019.86,-14455.3,-1632),(270,0,178.998)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_tunnel_low","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6019.96,-15100.4,-1632),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_tunnel_low","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6276.36,-14491.2,-1632),(270,0,178.998)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_tunnel_low","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6276.29,-15099.5,-1632),(270,0,-1.00205)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_tunnel_low","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5870.56,-15091.3,-1631.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_tunnel_low","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5764.62,-15087.6,-1631.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_footstep_dust_rocks","fx_crash_fist_dust_mech"); + var_00 common_scripts\_createfx::set_origin_and_angles((10639.4,-5831.56,460.823),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_int_blood_splat","fx_int_blood_splat"); + var_00 common_scripts\_createfx::set_origin_and_angles((4890.34,-9894.26,-1768.41),(270,0,8.99993)); + var_00 = common_scripts\_createfx::createexploderex("cap_emergency_light_orange_01_fast","fx_emergency_lights_hack"); + var_00 common_scripts\_createfx::set_origin_and_angles((4838.91,-10825.5,-1652.09),(0,89.9998,-89.9999)); + var_00 = common_scripts\_createfx::createexploderex("cap_int_glass_shatter","fx_int_glass_shatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((5011.73,-9928.62,-1730.08),(0,180,-90.0002)); + var_00 = common_scripts\_createfx::createexploderex("cap_int_glass_crack","fx_int_guard_fire_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((5018.5,-9882.46,-1704.08),(360,90,-90)); + var_00 = common_scripts\_createfx::createexploderex("cap_int_glass_crack","fx_int_guard_fire_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((5011.13,-9906.07,-1678.68),(360,90,-90)); + var_00 = common_scripts\_createfx::createexploderex("cap_int_glass_crack","fx_int_guard_fire_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((4996.54,-9939.53,-1682.34),(360,90,-90)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((9338.17,-486.926,206.125),(270,0,-90)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((9355.33,722.629,206.125),(270,0,-90)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((9400.77,-42.0088,206.125),(270,0,-90)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((9317.64,1172.36,210.125),(270,0,-90)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((9271.5,-512.109,247.125),(270,0,-90)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((9403.3,-71.8525,245.125),(270,0,-90)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((9329.18,725.342,252.125),(270,0,-90)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_l","4100"); + var_00 common_scripts\_createfx::set_origin_and_angles((12960.8,-12518.3,-2023.94),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_autopsy_light","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5857.73,-14800.2,-1539.04),(28.1118,29.3479,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_autopsy_light","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6146.66,-14643.6,-1528.32),(35.993,83.9811,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_autopsy_light","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6449.1,-14832.4,-1528.27),(35.993,141.981,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6845.49,-14723.8,-1549.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6847.14,-14833.3,-1545.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100_less","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5137.72,-9932.43,-1727.58),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_intro_truck_dust_02","fx_intro_passing_truck_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((4067.66,-3027.33,191.177),(270,90,124.997)); + var_00 = common_scripts\_createfx::createexploderex("cap_intro_truck_dust_01","fx_intro_passing_truck_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((3993.95,-2874.87,204.582),(283.501,20.6586,-180)); + var_00 = common_scripts\_createfx::createexploderex("cap_intro_truck_dust_02","fx_intro_passing_truck_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((4521.78,-3904.37,178.91),(270,90,124.997)); + var_00 = common_scripts\_createfx::createexploderex("cap_intro_truck_dust_01","fx_intro_passing_truck_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((4428.44,-3685.35,189.309),(283.501,20.6586,-180)); + var_00 = common_scripts\_createfx::createexploderex("cap_intro_truck_dust_01","fx_intro_passing_truck_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((4236.43,-5096.99,3.39256),(283.501,20.6583,-116)); + var_00 = common_scripts\_createfx::createexploderex("cap_water_leak_hose_splash_runner","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((6009.26,-6759.01,-615.875),(270,0,-90.0012)); + var_00 = common_scripts\_createfx::createexploderex("cap_water_leak_hose","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((6002.04,-6755.79,-581.144),(87.0565,273.214,-64.1388)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_tunnel_low","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4712.16,-9839.38,-1769),(270,0,178.998)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5490.58,-10629.1,-1732.51),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5205.75,-10724.3,-1732.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5074.03,-10513.2,-1732.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100_less","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4735.92,-10916.3,-1729.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4334.29,-10786.9,-1740.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4327.78,-10481.5,-1743.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3555.51,-10594.5,-1600.26),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4229.09,-11775.2,-1534.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4227.46,-11348.9,-1534.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_rect_light","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4152.7,-12155.3,-1519.63),(89.9997,358.015,88.0155)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5183.66,-12747.4,-1568.31),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_flare_orange_lp_dir","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4800.59,-9976.75,-1760.19),(340,338,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100_less","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4894,-9926.51,-1735.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_flare_orange_lp_dir","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3518.36,-10581.8,-1569.07),(44.4544,72.0596,17.0713)); + var_00 = common_scripts\_createfx::createexploderex("cap_flare_orange_lp_dir","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3518.38,-10602.5,-1568.75),(50.1643,278.659,-19.9646)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_ring_low","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5855.65,-14229,-1631.88),(270,180,-145.001)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_ring_low","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5962.69,-14232.7,-1631.88),(270,180,-145.001)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_ring_low","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6310.15,-14228.9,-1631.88),(270,180,-145.001)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_ring_low","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6490.5,-14228.1,-1631.88),(270,180,-145.001)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_tunnel_low_2","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6020.32,-15338.2,-1632),(270,0,3.99867)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_ring_low_2","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3724.94,-11571.5,-1579.34),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_ring_low_2","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3735.3,-11384.9,-1571.72),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_tunnel_low_2","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4638.19,-12496.7,-1632),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_tunnel_low_2","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4641.1,-12313.7,-1632),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_tunnel_low_2","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4642.05,-12154.2,-1632),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_tunnel_low_2","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6275.84,-15315.6,-1632),(270,0,3.99867)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_ring_low_2","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3407.37,-11057,-1572.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_ring_low_2","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3393.3,-10884.3,-1572.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_tunnel_low","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5311.62,-10056.4,-1769),(270,0,178.998)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3937.93,-10560.6,-1547.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4055.51,-10820.2,-1545),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4038.02,-11001.8,-1540),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3720.41,-10860.2,-1548),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3932.34,-11474.9,-1548),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4154.5,-12147.2,-1607.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_water_leak_hose","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4705.06,-11566.3,-1671.08),(338.688,143.113,-35.7442)); + var_00 = common_scripts\_createfx::createexploderex("cap_water_leak_hose_splash_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4690.37,-11557.2,-1671.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4879.13,-11542.5,-1609.63),(90,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4876.63,-11881,-1614.63),(90,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5119.37,-11899.8,-1574.63),(90,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4852.83,-12263.7,-1593.63),(90,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5081.22,-12264.2,-1585.63),(90,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4870.88,-12636.2,-1585.63),(90,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4869.99,-13027,-1581.63),(90,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5065.84,-13024.5,-1577.62),(90,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5219.87,-13021.6,-1577.63),(90,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5377.53,-13025.1,-1576.63),(90,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5365.07,-12682.6,-1589.88),(90,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5075.89,-12814.2,-1595.88),(90,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("cap_emergency_light_orange_03","fx_emergency_lights_morgue"); + var_00 common_scripts\_createfx::set_origin_and_angles((5411.7,-14624.5,-1526.03),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5422.21,-8238.92,-584.281),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5322.14,-8244.02,-577.852),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_rect_light","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5450.24,-8040.88,-501.231),(90,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_rect_light","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5287.91,-8041.09,-501.599),(90,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5447.91,-8041.08,-577.582),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5288.13,-8041.7,-571.749),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_ring_low","2410"); + var_00 common_scripts\_createfx::set_origin_and_angles((5327.45,-14634.6,-1631.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_ring_low","2410"); + var_00 common_scripts\_createfx::set_origin_and_angles((5005.83,-13277.9,-1633),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_ring_low","2410"); + var_00 common_scripts\_createfx::set_origin_and_angles((5212.46,-13279.4,-1631.91),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_tunnel_low_2","2410"); + var_00 common_scripts\_createfx::set_origin_and_angles((5067.71,-13189.1,-1631.88),(270,360,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_spray_nofb","2410"); + var_00 common_scripts\_createfx::set_origin_and_angles((4994.74,-13870.3,-1613.88),(0,90,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_spray_nofb","2410"); + var_00 common_scripts\_createfx::set_origin_and_angles((5114.15,-13399.8,-1623.88),(0,180,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_spray_nofb","2410"); + var_00 common_scripts\_createfx::set_origin_and_angles((5206.59,-14299.7,-1567.19),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_ring_low","2410"); + var_00 common_scripts\_createfx::set_origin_and_angles((4953.44,-14537.5,-1632.81),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_steam_ambient_ring_low","2410"); + var_00 common_scripts\_createfx::set_origin_and_angles((4807.32,-13279.7,-1633),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9509,-14306.3,-1833.78),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_particulates_100","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9842.14,-14148.2,-1867.78),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_inc_soft","fx_inc_open_room_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((9037.63,-13542,-1570.72),(90,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_inc_soft","fx_inc_open_room_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((9037.54,-13752.7,-1570.72),(90,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_inc_soft","fx_inc_open_room_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((9037.96,-13967,-1570.72),(90,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_halon_gas_spray_nofb","2410"); + var_00 common_scripts\_createfx::set_origin_and_angles((5188.73,-14298.1,-1612.96),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_int_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5081.14,-9846.17,-1694.48),(22.5,300,-89.9999)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_int_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4948.22,-10006.6,-1694.65),(22.5,87.9998,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_rect_light","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5081.06,-9846.18,-1694.55),(22.5,300,-89.9999)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_rect_light","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4947.97,-10006.6,-1694.67),(22.5,88,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_int_blood_splat","fx_rescue_guard_2_blood_splat"); + var_00 common_scripts\_createfx::set_origin_and_angles((5146.35,-9977.13,-1767.88),(270,0,99)); + var_00 = common_scripts\_createfx::createexploderex("blood_pool_static_40","fx_rescue_guard_2_blood_pool"); + var_00 common_scripts\_createfx::set_origin_and_angles((4928.53,-9897.33,-1767.61),(270,0,99)); + var_00 = common_scripts\_createfx::createexploderex("blood_pool_static_40","fx_rescue_guard_2_blood_pool"); + var_00 common_scripts\_createfx::set_origin_and_angles((4896.33,-9878.59,-1768.07),(270,0,154)); + var_00 = common_scripts\_createfx::createexploderex("blood_pool_static_40","fx_rescue_guard_2_blood_pool"); + var_00 common_scripts\_createfx::set_origin_and_angles((4923.58,-9885.96,-1768.07),(270,0,-170)); + var_00 = common_scripts\_createfx::createexploderex("cap_int_blood_splat","fx_int_blood_splat"); + var_00 common_scripts\_createfx::set_origin_and_angles((4958.92,-9900.22,-1768.79),(270,0,29.9998)); + var_00 = common_scripts\_createfx::createexploderex("cap_water_drip_runner_hose","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4667.62,-11761.9,-1528.58),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_water_drip_runner_hose","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4434.73,-11587.5,-1563.45),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_water_drip_runner_hose","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4544.86,-11430.2,-1564.21),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_water_drip_runner_hose","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4630.35,-11747.4,-1571.24),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_water_drip_runner_hose","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4626.55,-11540.3,-1486.31),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_water_drip_runner_hose","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4664.99,-11331.5,-1525.04),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_water_drip_runner_hose","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4738.7,-11693,-1559.62),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_water_drip_runner_hose","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4425.78,-11760.6,-1526.98),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_water_drip_runner_hose","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4422.39,-11332.7,-1525.59),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((9620.6,-401.75,794.202),(270,0,-90)); + var_00 = common_scripts\_createfx::createexploderex("cap_ambient_dust_lrg","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((9639.14,3628.95,200.429),(333.999,180.998,60.9998)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("cap_body_fire_lp_cheap","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((10196.5,3669.63,754.523),(333.999,180.998,60.9998)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("cap_body_fire_lp","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((11626,3900.44,150.215),(333.999,180.998,60.9998)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("cap_ambient_dust_lrg","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((9722.15,3776.45,175.453),(333.999,180.998,60.9998)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("cap_body_smoke_ambient","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((9514.3,3669.78,112),(333.999,180.998,60.9998)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("ash_ember_cloud_freq_sml_loop","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((9107.86,3539.88,116.468),(270,0,-35.0021)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_nosmk","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((9657.49,3577.34,206.685),(311.427,33.7574,0)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_nosmk","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((9665.51,3769.99,175.453),(50.9392,269.487,175.811)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_nosmk","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((8964.04,3442.16,120.223),(274,89.9987,100)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("cap_crash_debris_dust","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((9165.22,3501.82,112),(270,0,0)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("cap_crash_dust_lite","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((8862.49,3564.94,112),(270,0,49.9967)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("ash_ember_cloud_freq_sml_loop","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((8790.41,3742.72,112),(270,0,-35.0021)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("ash_ember_cloud_freq_sml_loop","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((8135.6,3625.77,112),(270,0,-35.0021)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_nosmk","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((9684.25,3751.53,112),(274,89.9987,100)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_nosmk","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((10104.3,3645.5,734.84),(274,89.9987,100)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("ash_ember_cloud_freq_sml_loop","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((9128.63,3859.61,115.834),(270,0,-35.0021)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("cap_crash_debris_dust","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((9185.99,3821.55,111.366),(270,0,0)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("cap_crash_dust_lite","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((9462.16,3781.71,111.366),(270,0,49.9967)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("cap_crash_dust_lite","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((8715.65,3731.38,112),(270,0,49.9967)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("ash_ember_cloud_freq_sml_loop","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((8811.18,4062.45,111.366),(270,0,-35.0021)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("ash_ember_cloud_freq_sml_loop","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((8156.37,3945.5,111.366),(270,0,-35.0021)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("cap_body_fire_lp_cheap_02","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((9234.1,3459.5,112),(333.999,180.998,60.9998)); + var_00.v["delay"] = 10.5; + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_nosmk","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((8870.17,3848.59,112),(311.427,33.7574,0)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_nosmk","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((8969.39,3532.49,148.24),(311.427,33.7574,0)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_nosmk","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((8713.88,3399.81,112),(311.427,33.7574,0)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_nosmk","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((8814.1,3817.51,112),(311.427,33.7574,0)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_nosmk","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((9605.11,3816.36,128.676),(311.427,33.7574,0)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_nosmk","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((9617.65,3781.36,112),(311.427,33.7574,0)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_nosmk","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((9593.4,3576.51,112),(311.427,33.7574,0)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_nosmk","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((9592.83,3626.72,112),(274,89.9987,100)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_nosmk","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((9153.23,3930.19,112),(274,89.9987,100)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_nosmk","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((9998.7,3964.58,112),(274,89.9987,100)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_nosmk","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((10238.5,3755.09,828.681),(17.9695,94.6042,68.6583)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_nosmk","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((10211.9,3662.74,1060.68),(311.427,33.7574,0)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("cap_crash_dust_lite","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((10378.2,4140.66,130.042),(270,0,49.9967)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("cap_ambient_dust_lrg","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((9192.48,4167.93,347.989),(333.999,180.998,60.9998)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_nosmk","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((8764.49,3554.97,112.125),(311.427,33.7574,0)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_nosmk","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((8938.67,3468.41,110.178),(311.427,33.7574,0)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_nosmk","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((9165.78,3510.15,128),(274,89.9987,100)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_nosmk","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((10300.2,3730.71,796.939),(274,89.9987,100)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("cap_end_rocket_impact_chunks","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((10221.1,3682.1,916.622),(277.992,86.8782,7.18952)); + var_00.v["delay"] = 10; + var_00 = common_scripts\_createfx::createexploderex("cap_end_rocket_impact_linger","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((9204.95,3374.29,566.994),(334.706,120.854,-19.0736)); + var_00.v["delay"] = 11; + var_00 = common_scripts\_createfx::createexploderex("cap_end_rocket_impact_chunks","end_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((9332.68,3307.22,696.435),(306.107,95.0948,-4.12024)); + var_00.v["delay"] = 10.8; + var_00 = common_scripts\_createfx::createexploderex("cap_door_kick","mech_foot_sparks"); + var_00 common_scripts\_createfx::set_origin_and_angles((8275.31,2972.63,131.53),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_gate_sparks_smk","gate_lift_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((8230.31,2996.35,264.341),(270,194.826,-104.827)); + var_00 = common_scripts\_createfx::createexploderex("cap_gate_sparks_smk","gate_lift_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((8296.5,2990.46,265.248),(270,194.826,-104.827)); + var_00 = common_scripts\_createfx::createexploderex("cap_burn_mark","mf_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((8363.89,3304.47,112),(270.001,180,180)); + var_00 = common_scripts\_createfx::createexploderex("cap_mech_exit_steam","mech_exit_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((8301.48,3371.48,136.667),(1.38139,86.2188,-83.1797)); + var_00 = common_scripts\_createfx::createexploderex("cap_mech_damage_wv","mech_exit_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((8312.85,3373.87,137.667),(1.38139,86.2188,-83.1797)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("cap_burn_mark","mf_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((8352.91,3416.83,112),(270.001,180,180)); + var_00 = common_scripts\_createfx::createexploderex("cap_crash_dust_lite_sml","mf_amb_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((8310.26,3244.12,108.667),(270,0,49.9967)); + var_00 = common_scripts\_createfx::createexploderex("cap_mech_soft_land_dust","mech_exit_body_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((8295.97,3430.58,112),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_mech_soft_land_dust","mech_soft_land_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((8325.15,3332.63,112),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_emergency_light_orange_03","fx_emergency_lights_mb2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8834.14,-1206.04,395.502),(0,270,-90)); + var_00 = common_scripts\_createfx::createexploderex("cap_emergency_light_orange_03","fx_emergency_lights_mb2"); + var_00 common_scripts\_createfx::set_origin_and_angles((9243.6,-1206.04,397.589),(0,270,-90)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_ambient_grates_dusty","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((6071.3,-6510.81,-480),(39.6805,134.645,101.721)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_ambient_grates_dusty","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((6117.66,-6750.57,-480),(39.6805,134.645,101.721)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_ambient_grates_dusty","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((6063.08,-6907.55,-480),(39.6805,134.645,101.721)); + var_00 = common_scripts\_createfx::createexploderex("cap_godray_ambient_grates_dusty","1200"); + var_00 common_scripts\_createfx::set_origin_and_angles((6104.54,-7044.48,-480),(39.6805,134.645,101.721)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_nosmk","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10428.6,-5838.77,566.503),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_nosmk","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10428.6,-5829.3,565.494),(288.786,65.7941,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_nosmk","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10424.5,-5732.09,556.212),(288.786,65.7941,0)); + var_00 = common_scripts\_createfx::createexploderex("cap_heli_fire_dlight","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10529.5,-5362.03,580.237),(309.009,341.428,91.0626)); + var_00 = common_scripts\_createfx::createexploderex("cap_heli_fire_dlight","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10715.9,-5913.65,521.784),(309.009,341.428,91.0626)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_nosmk","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10789.8,-6009.6,470.67),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_nosmk","4200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10390.2,-5729.9,580.373),(278,300.999,90)); +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/captured_sound.gsc b/AW/PC/maps/createfx/captured_sound.gsc new file mode 100644 index 0000000..05696b9 --- /dev/null +++ b/AW/PC/maps/createfx/captured_sound.gsc @@ -0,0 +1,1300 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\captured_sound.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 82 ms + * Timestamp: 4/22/2024 2:07:25 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((12240,-13717,-1805),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_hum_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((11524,-13505,-1805),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((11870,-13530,-1805),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((11873,-13699,-1805),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((11537,-13702,-1805),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_beeps_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((11671,-13756,-1805),(270,0,0)); + var_00.v["soundalias"] = "emt_data_center_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5659.69,-6226,-491.919),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_fence_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5968.97,-5891.43,-406.952),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_fence_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5223.8,-6211.51,-451.656),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_fence_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5666.85,-7678.51,-615.875),(270,180,147)); + var_00.v["soundalias"] = "emt_water_drip_splat_both"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6787.01,-6912.45,-661.993),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_pit"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6172.21,-5944.01,-615.875),(270,180,147)); + var_00.v["soundalias"] = "emt_water_drip_splat_both"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5304.11,-7005.98,-614.8),(270,180,147)); + var_00.v["soundalias"] = "emt_water_drip_splat_both"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5592.99,-14403.7,-1590.86),(270,0,0)); + var_00.v["soundalias"] = "emt_generator_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5593.46,-14670.8,-1566.88),(270,0,0)); + var_00.v["soundalias"] = "emt_generator_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5305.6,-7009.16,-589.9),(270,0,0)); + var_00.v["soundalias"] = "emt_steam_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4952.16,-13369.1,-1517.26),(270,0,0)); + var_00.v["soundalias"] = "emt_morgue_air_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5272.61,-13372.9,-1517.35),(270,0,0)); + var_00.v["soundalias"] = "emt_morgue_air_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5273.71,-13624,-1516.98),(270,0,0)); + var_00.v["soundalias"] = "emt_morgue_air_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4949.92,-13625,-1517.1),(270,0,0)); + var_00.v["soundalias"] = "emt_morgue_air_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4954.77,-13722.4,-1517.2),(270,0,0)); + var_00.v["soundalias"] = "emt_morgue_air_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5207.19,-14039.6,-1517.29),(270,0,0)); + var_00.v["soundalias"] = "emt_morgue_air_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4952.9,-14039,-1517.17),(270,0,0)); + var_00.v["soundalias"] = "emt_morgue_air_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4951.69,-14228.1,-1517.12),(270,0,0)); + var_00.v["soundalias"] = "emt_morgue_air_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4953.13,-14481,-1517.16),(270,0,0)); + var_00.v["soundalias"] = "emt_morgue_air_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5271.74,-14480.8,-1517.31),(270,0,0)); + var_00.v["soundalias"] = "emt_morgue_air_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5274.56,-14226.6,-1517.25),(270,0,0)); + var_00.v["soundalias"] = "emt_morgue_air_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5047.71,-13391.9,-1576.46),(270,0,0)); + var_00.v["soundalias"] = "emt_morgue_ac_hum_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4999.78,-13815.3,-1592.88),(270,0,0)); + var_00.v["soundalias"] = "emt_morgue_ac_hum_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5233.31,-14299.2,-1577.18),(270,0,0)); + var_00.v["soundalias"] = "emt_morgue_ac_hum_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5136.83,-13319.9,-1544.8),(270,0,0)); + var_00.v["soundalias"] = "emt_morgue_ac_hum_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5072.13,-13882.9,-1545.48),(270,0,0)); + var_00.v["soundalias"] = "emt_morgue_ac_hum_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5391.87,-13872.5,-1574.8),(270,0,0)); + var_00.v["soundalias"] = "emt_morgue_ac_hum_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5392.87,-14294.7,-1571.52),(270,0,0)); + var_00.v["soundalias"] = "emt_morgue_ac_hum_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4872.13,-14530.1,-1567.52),(270,0,0)); + var_00.v["soundalias"] = "emt_morgue_ac_hum_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5031.87,-14214.1,-1571.12),(270,0,0)); + var_00.v["soundalias"] = "emt_morgue_ac_hum_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4872.13,-14332,-1576.84),(270,0,0)); + var_00.v["soundalias"] = "emt_morgue_ac_hum_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4972.57,-13984.1,-1573.25),(270,0,0)); + var_00.v["soundalias"] = "emt_morgue_ac_hum_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4872.13,-13637.8,-1573.56),(270,0,0)); + var_00.v["soundalias"] = "emt_morgue_ac_hum_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4872.13,-13423.1,-1573.1),(270,0,0)); + var_00.v["soundalias"] = "emt_morgue_ac_hum_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5239.13,-13438.6,-1571.78),(270,0,0)); + var_00.v["soundalias"] = "emt_morgue_ac_hum_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5391.87,-13428.6,-1576.22),(270,0,0)); + var_00.v["soundalias"] = "emt_morgue_ac_hum_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4951.5,-13365.9,-1517.74),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_03_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4950.2,-13624.7,-1517.01),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_03_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5454.86,-13529.2,-1544.32),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_03_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4954.66,-14041.8,-1517.01),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5267.86,-13625.4,-1517.75),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5269.73,-13364.9,-1517.4),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_03_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4951.61,-14230.4,-1517.78),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_03_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5463.37,-14169,-1544.53),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_03_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5460.97,-13773.8,-1548.31),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_03_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5072.13,-13884.9,-1545.65),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_03_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5016.01,-13775.9,-1581.55),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_03_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5031.6,-13382.2,-1586.83),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_03_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5471.49,-13309.8,-1546.39),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_03_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5209.9,-14038.2,-1517.04),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5272,-14225.8,-1517.54),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5270.24,-14481.7,-1517),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4946.64,-14476.8,-1517.5),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4950.8,-13719.7,-1517.46),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4587.69,-4219.79,91.9483),(270,0,0)); + var_00.v["soundalias"] = "emt_intro_drive_prisoner_walla_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4116.14,-3611.92,207),(270,0,0)); + var_00.v["soundalias"] = "emt_barracks_crowd_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6367.88,-3712.32,331.475),(270,0,0)); + var_00.v["soundalias"] = "emt_prison_siren_02_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5191.36,-9925.22,-1663.05),(270,0,0)); + var_00.v["soundalias"] = "emt_ventilation_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5240.13,-10442.3,-1747.4),(270,0,0)); + var_00.v["soundalias"] = "emt_ventilation_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5377.49,-9629.36,-1717.01),(270,0,0)); + var_00.v["soundalias"] = "emt_transformer_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5256.09,-10500.8,-1654.78),(270,0,0)); + var_00.v["soundalias"] = "emt_light_fluorescent_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5297.79,-10630,-1661.09),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5512.34,-10622.5,-1665.75),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_beeps_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5018,-10591.3,-1695.57),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_beeps_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5018,-10521,-1698.98),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5252.31,-10705.1,-1728.12),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5188.33,-10836.5,-1692.72),(270,0,0)); + var_00.v["soundalias"] = "emt_telemetry_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4464.49,-10589.1,-1770.61),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_pur_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4717.02,-10489.5,-1710.18),(270,0,0)); + var_00.v["soundalias"] = "emt_server_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4916.32,-10489.5,-1710.37),(270,0,0)); + var_00.v["soundalias"] = "emt_server_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4525.1,-10495.5,-1708.7),(270,0,0)); + var_00.v["soundalias"] = "emt_server_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4821.97,-10427.1,-1678.35),(270,0,0)); + var_00.v["soundalias"] = "emt_server_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4620.67,-10427.1,-1674.99),(270,0,0)); + var_00.v["soundalias"] = "emt_server_vent_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4996.38,-10800.7,-1699.82),(270,0,0)); + var_00.v["soundalias"] = "emt_ventilation_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4836.64,-10804.4,-1675.43),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5236.19,-10750.1,-1671.78),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_beeps_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4923.81,-10831.9,-1677.39),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_beeps_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4435.62,-10785,-1694.85),(270,0,0)); + var_00.v["soundalias"] = "emt_ventilation_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4592.76,-10800.8,-1669.56),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_beeps_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4336.02,-10852,-1746.66),(270,0,0)); + var_00.v["soundalias"] = "emt_telemetry_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4320.6,-10852,-1698.21),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_beeps_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4649.5,-10922,-1692.9),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_beeps_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4735.92,-11159.9,-1629.55),(270,0,0)); + var_00.v["soundalias"] = "emt_ventilation_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4746,-11132,-1395.72),(270,0,0)); + var_00.v["soundalias"] = "emt_generator_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4744.59,-10829.1,-1621.12),(270,0,0)); + var_00.v["soundalias"] = "emt_light_fluorescent_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4248.33,-10758.7,-1664.59),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_beeps_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4233.19,-10796.7,-1730.74),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_beeps_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4233.08,-10732.1,-1730.55),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4402.68,-10584.8,-1704.98),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4291.12,-10417.5,-1690.88),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_beeps_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4367.65,-10419.5,-1687.99),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4191.98,-10503.2,-1665.27),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4008.15,-10443.8,-1717.77),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3913.63,-10628.8,-1670.75),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_beep_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3982.27,-10449.1,-1721.17),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_hum_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4403.66,-10474.9,-1719.58),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_hum_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3777.92,-10547.4,-1776.6),(270,0,0)); + var_00.v["soundalias"] = "emt_transformer_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3607.3,-10539,-1453.75),(270,0,0)); + var_00.v["soundalias"] = "emt_light_fluorescent_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3528.13,-10646.8,-1317.13),(270,0,0)); + var_00.v["soundalias"] = "emt_ventilation_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4038.91,-10517.8,-1521.46),(270,0,0)); + var_00.v["soundalias"] = "emt_light_neon_buzz"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4105.04,-11023.7,-1536.34),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_pur_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4096.96,-10820.1,-1545.23),(270,0,0)); + var_00.v["soundalias"] = "emt_telemetry_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4097,-10842.1,-1493.63),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_beeps_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4073.81,-11152.9,-1468.07),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_beeps_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3772.89,-11174.5,-1505.78),(270,0,0)); + var_00.v["soundalias"] = "emt_server_light_hum_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4105.93,-11064.1,-1500.82),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3961.54,-11753,-1506.84),(270,0,0)); + var_00.v["soundalias"] = "emt_server_light_hum_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4002.62,-11753,-1516.34),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_beeps_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4293.18,-11591.4,-1465.05),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_beeps_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4291.77,-11500.2,-1461.29),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_beeps_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4274.62,-11647.3,-1521.84),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4107.46,-10906.3,-1536.42),(270,0,0)); + var_00.v["soundalias"] = "emt_server_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3751.69,-11086.5,-1383.13),(270,0,0)); + var_00.v["soundalias"] = "emt_ventilation_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3985.64,-11527.5,-1418.08),(270,0,0)); + var_00.v["soundalias"] = "emt_server_vent_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4159.27,-12043.6,-1451.24),(270,0,0)); + var_00.v["soundalias"] = "emt_light_fluorescent_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3727.92,-11448.7,-1518.55),(270,0,0)); + var_00.v["soundalias"] = "emt_water_pipe"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3826.98,-11485.7,-1550.09),(270,0,0)); + var_00.v["soundalias"] = "emt_reactor_core"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4639.85,-11545.9,-1514.59),(270,0,0)); + var_00.v["soundalias"] = "emt_ventilation_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4274.55,-12052.4,-1633.49),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_hum_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4304.43,-11942.6,-1652.43),(270,0,0)); + var_00.v["soundalias"] = "emt_server_vent_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4364.67,-11948.7,-1671.88),(270,0,0)); + var_00.v["soundalias"] = "emt_radiation_chamber"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4645.92,-11412.6,-1514.88),(270,0,0)); + var_00.v["soundalias"] = "emt_server_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4651.81,-11664.3,-1508.32),(270,0,0)); + var_00.v["soundalias"] = "emt_server_vent_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4443.53,-11410.4,-1529.42),(270,0,0)); + var_00.v["soundalias"] = "emt_ventilation_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4430.64,-11219.8,-1531.02),(270,0,0)); + var_00.v["soundalias"] = "emt_ventilation_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5014.96,-11989.5,-1586.7),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_beeps_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5481.5,-12631,-1555.92),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_beeps_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5357.22,-12619.8,-1592.25),(270,0,0)); + var_00.v["soundalias"] = "emt_telemetry_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5785.26,-12108.3,-1611.69),(270,0,0)); + var_00.v["soundalias"] = "emt_telemetry_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5822,-12453.6,-1556.44),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5782.35,-12253,-1608.47),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5059.67,-12900.1,-1590.78),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5447.67,-12866.4,-1573.66),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5404.51,-12616.3,-1597.02),(270,0,0)); + var_00.v["soundalias"] = "emt_server_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4986.7,-12666.7,-1592.19),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5452.08,-12859.9,-1524.35),(270,0,0)); + var_00.v["soundalias"] = "emt_server_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5193.92,-12596.3,-1580.79),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_hum_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5330.87,-12217,-1611.04),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_hum_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5559.03,-12215.8,-1607.64),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_hum_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4500,-12120.6,-1536.49),(270,0,0)); + var_00.v["soundalias"] = "emt_server_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5406.29,-12029.9,-1590.2),(270,0,0)); + var_00.v["soundalias"] = "emt_server_vent_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4500,-12386,-1545.07),(270,0,0)); + var_00.v["soundalias"] = "emt_server_vent_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4900.27,-11571.5,-1541.13),(270,0,0)); + var_00.v["soundalias"] = "emt_light_fluorescent_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4907.22,-11844.6,-1504.13),(270,0,0)); + var_00.v["soundalias"] = "emt_light_fluorescent_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5154.13,-11893.6,-1504.13),(270,0,0)); + var_00.v["soundalias"] = "emt_light_fluorescent_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5151.44,-12189.2,-1504.13),(270,0,0)); + var_00.v["soundalias"] = "emt_light_fluorescent_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4916.51,-12278.7,-1504.13),(270,0,0)); + var_00.v["soundalias"] = "emt_light_fluorescent_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4912.58,-12623.3,-1504.13),(270,0,0)); + var_00.v["soundalias"] = "emt_light_fluorescent_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4917.19,-12954.9,-1504.13),(270,0,0)); + var_00.v["soundalias"] = "emt_light_fluorescent_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5400.13,-13021.1,-1504.13),(270,0,0)); + var_00.v["soundalias"] = "emt_light_fluorescent_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5222.08,-13037.6,-1504.13),(270,0,0)); + var_00.v["soundalias"] = "emt_light_fluorescent_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4976.15,-13127.9,-1505.62),(270,0,0)); + var_00.v["soundalias"] = "emt_ventilation_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4708.98,-10695.7,-1734.35),(270,0,0)); + var_00.v["soundalias"] = "emt_data_center_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5246.51,-10033.3,-1701.42),(270,0,0)); + var_00.v["soundalias"] = "emt_transformer_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5492.34,-10476.9,-1695.07),(270,0,0)); + var_00.v["soundalias"] = "emt_server_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4045.09,-10041,-1706.79),(270,0,0)); + var_00.v["soundalias"] = "emt_transformer_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4177.49,-9622.07,-1705.87),(270,0,0)); + var_00.v["soundalias"] = "emt_transformer_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4119.64,-9547.14,-1650.23),(270,0,0)); + var_00.v["soundalias"] = "emt_server_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4111.2,-10140.9,-1658.71),(270,0,0)); + var_00.v["soundalias"] = "emt_ventilation_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3936.78,-10776.8,-1694.34),(270,0,0)); + var_00.v["soundalias"] = "emt_ventilation_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3982.36,-11170.6,-1462.01),(270,0,0)); + var_00.v["soundalias"] = "emt_light_neon_buzz"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4275.25,-11411,-1517.05),(270,0,0)); + var_00.v["soundalias"] = "emt_server_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3572.01,-10600.5,-1497.88),(270,0,0)); + var_00.v["soundalias"] = "emt_ventilation_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4776.13,-12809.8,-1513.72),(270,0,0)); + var_00.v["soundalias"] = "emt_ventilation_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4712.13,-12422.7,-1530.2),(270,0,0)); + var_00.v["soundalias"] = "emt_morgue_ac_hum_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4712.13,-12157.4,-1526.54),(270,0,0)); + var_00.v["soundalias"] = "emt_morgue_ac_hum_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4812.38,-12858.2,-1588.52),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_hum_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4777.5,-12758.5,-1528.11),(270,0,0)); + var_00.v["soundalias"] = "emt_transformer_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4876.88,-11358.5,-1546.71),(270,0,0)); + var_00.v["soundalias"] = "emt_transformer_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4872.76,-11970.5,-1525.74),(270,0,0)); + var_00.v["soundalias"] = "emt_transformer_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4752.07,-12568,-1574.38),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_beeps_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4466.75,-10594.3,-1730.08),(270,0,0)); + var_00.v["soundalias"] = "emt_server_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4175.29,-11302.5,-1519.71),(270,0,0)); + var_00.v["soundalias"] = "emt_server_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4274.73,-11640.2,-1521.36),(270,0,0)); + var_00.v["soundalias"] = "emt_telemetry_07"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4096.96,-10836.3,-1513.13),(270,0,0)); + var_00.v["soundalias"] = "emt_telemetry_07"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4514.82,-10489.8,-1709.93),(270,0,0)); + var_00.v["soundalias"] = "emt_data_center_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4106.28,-11011.3,-1498.99),(270,0,0)); + var_00.v["soundalias"] = "emt_server_light_hum_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4210.98,-11302.5,-1505.37),(270,0,0)); + var_00.v["soundalias"] = "emt_data_center_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4747.2,-10709,-1705.71),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5053.34,-13310.9,-1571.84),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5081.09,-13962.2,-1571.93),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4819.61,-14408.2,-1584.33),(270,0,0)); + var_00.v["soundalias"] = "emt_telemetry_07"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5226.01,-13310.9,-1574.26),(270,0,0)); + var_00.v["soundalias"] = "emt_light_neon_buzz"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5465.75,-13676.6,-1530.84),(270,0,0)); + var_00.v["soundalias"] = "emt_telemetry_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5409.04,-13310.9,-1573.61),(270,0,0)); + var_00.v["soundalias"] = "emt_light_neon_buzz"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5413.51,-13774.9,-1574.82),(270,0,0)); + var_00.v["soundalias"] = "emt_light_neon_buzz"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5392.87,-13859.1,-1573.57),(270,0,0)); + var_00.v["soundalias"] = "emt_light_neon_buzz"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4871.13,-13744.8,-1571.03),(270,0,0)); + var_00.v["soundalias"] = "emt_light_neon_buzz"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4858.15,-13529.1,-1571.13),(270,0,0)); + var_00.v["soundalias"] = "emt_light_neon_buzz"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5392.87,-14201,-1569.16),(270,0,0)); + var_00.v["soundalias"] = "emt_light_neon_buzz"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5239.12,-14254.4,-1572.95),(270,0,0)); + var_00.v["soundalias"] = "emt_light_neon_buzz"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4871.13,-14607.6,-1570.09),(270,0,0)); + var_00.v["soundalias"] = "emt_light_neon_buzz"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4871.13,-14350.6,-1569.62),(270,0,0)); + var_00.v["soundalias"] = "emt_light_neon_buzz"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4903.43,-13983.1,-1572.36),(270,0,0)); + var_00.v["soundalias"] = "emt_light_neon_buzz"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5025.56,-13397.3,-1565.09),(270,0,0)); + var_00.v["soundalias"] = "emt_light_neon_buzz"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4861.8,-13567.1,-1571.79),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5052.59,-14166.9,-1575.46),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5463.59,-14530.1,-1528.12),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5465.69,-14412.9,-1579.15),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4717.1,-11688.6,-1630.66),(270,0,0)); + var_00.v["soundalias"] = "emt_heavy_machine2"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4724.73,-11391.3,-1634.9),(270,0,0)); + var_00.v["soundalias"] = "emt_heavy_machine"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((9582.18,-13557.9,-1638.34),(270,0,0)); + var_00.v["soundalias"] = "emt_captured_fan01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((9631.1,-13922.9,-1643.2),(270,0,0)); + var_00.v["soundalias"] = "emt_captured_fan02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((9367.84,-14258.1,-1821.18),(270,0,0)); + var_00.v["soundalias"] = "emt_cap_server_rattle"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((9328.01,-14257.9,-1822.1),(270,0,0)); + var_00.v["soundalias"] = "emt_cap_server_rattle"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((9170.17,-14288,-1748.94),(270,0,0)); + var_00.v["soundalias"] = "emt_cap_ducts"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((8896.49,-13941,-1671.16),(270,0,0)); + var_00.v["soundalias"] = "emt_cap_ducts"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((9129.28,-13736.5,-1697.92),(270,0,0)); + var_00.v["soundalias"] = "emt_cap_ducts_lg"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((8990.66,-13985.6,-1727.61),(270,0,0)); + var_00.v["soundalias"] = "emt_cap_incin_gen_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((9192.51,-14231.1,-1850.68),(270,0,0)); + var_00.v["soundalias"] = "emt_cap_incin_gen_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((8657.28,-13506.6,-1695.05),(270,0,0)); + var_00.v["soundalias"] = "emt_cap_elec_panel"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((8664.23,-13789.3,-1693.36),(270,0,0)); + var_00.v["soundalias"] = "emt_cap_elec_panel"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5924.6,-14252.6,-1567.9),(270,0,0)); + var_00.v["soundalias"] = "emt_cap_autop_bubbles"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6931.48,-14550.5,-1573.75),(270,0,0)); + var_00.v["soundalias"] = "emt_cap_autop_heart"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5725.88,-14451.5,-1569.53),(270,0,0)); + var_00.v["soundalias"] = "emt_cap_autop_mach01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6460.32,-15136.3,-1570.53),(270,0,0)); + var_00.v["soundalias"] = "emt_cap_autop_mach01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6809.16,-15063.7,-1575.81),(270,0,0)); + var_00.v["soundalias"] = "emt_cap_autop_drip"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6745.24,-14822.5,-1493.98),(270,0,0)); + var_00.v["soundalias"] = "emt_cap_autop_light02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5750.65,-15129.7,-1588.89),(270,0,0)); + var_00.v["soundalias"] = "emt_cap_autop_fridge"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5861.64,-15129.7,-1595.35),(270,0,0)); + var_00.v["soundalias"] = "emt_cap_autop_fridge_bad"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6920.61,-15073,-1569.37),(270,0,0)); + var_00.v["soundalias"] = "emt_cap_autop_fridge_bad"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5926.55,-14644.1,-1528.21),(270,0,0)); + var_00.v["soundalias"] = "emt_cap_autop_light01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6196.02,-14753.5,-1527.47),(270,0,0)); + var_00.v["soundalias"] = "emt_cap_autop_light01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6353.51,-14577.1,-1562.96),(270,0,0)); + var_00.v["soundalias"] = "emt_cap_autop_light01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6397.72,-15137.4,-1569.1),(270,0,0)); + var_00.v["soundalias"] = "emt_cap_autop_resp02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5778.56,-14432.4,-1569.79),(270,0,0)); + var_00.v["soundalias"] = "emt_cap_autop_resp02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6934.86,-14543.3,-1572.07),(270,0,0)); + var_00.v["soundalias"] = "emt_cap_autop_monitor"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6726.85,-15001,-1553.29),(270,0,0)); + var_00.v["soundalias"] = "emt_telemetry_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6689.75,-14658.7,-1554.22),(270,0,0)); + var_00.v["soundalias"] = "emt_telemetry_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5677.51,-15006.8,-1573.3),(270,0,0)); + var_00.v["soundalias"] = "emt_cap_autop_mri"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6523.25,-15169.5,-1557.27),(270,0,0)); + var_00.v["soundalias"] = "emt_cap_autop_mri"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5484.94,-10468.1,-1692.62),(270,0,0)); + var_00.v["soundalias"] = "emt_metal_rattle_light"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5482.24,-10790.6,-1695.7),(270,0,0)); + var_00.v["soundalias"] = "emt_metal_rattle_light"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4819.7,-10427.1,-1682.55),(270,0,0)); + var_00.v["soundalias"] = "emt_metal_rattle_light"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4608.34,-10427.1,-1692.77),(270,0,0)); + var_00.v["soundalias"] = "emt_metal_rattle_light"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4435.62,-10786.2,-1699.64),(270,0,0)); + var_00.v["soundalias"] = "emt_metal_rattle_light"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3947.81,-10465.9,-1694.37),(270,0,0)); + var_00.v["soundalias"] = "emt_metal_rattle_light"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3940.54,-10781.3,-1693.72),(270,0,0)); + var_00.v["soundalias"] = "emt_metal_rattle_light"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5118.37,-10714.7,-1624),(270,0,0)); + var_00.v["soundalias"] = "emt_metal_rattle_small"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5310.66,-9954.43,-1658.31),(270,0,0)); + var_00.v["soundalias"] = "emt_metal_rattle_small"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5315.47,-10308.9,-1650.48),(270,0,0)); + var_00.v["soundalias"] = "emt_metal_rattle_small"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4346.85,-10568.5,-1628.13),(270,0,0)); + var_00.v["soundalias"] = "emt_metal_rattle_small"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4109.97,-10317.9,-1653.91),(270,0,0)); + var_00.v["soundalias"] = "emt_metal_rattle_small"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4110.72,-9894.5,-1655.88),(270,0,0)); + var_00.v["soundalias"] = "emt_metal_rattle_small"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3971.83,-11624.6,-1409.72),(270,0,0)); + var_00.v["soundalias"] = "emt_metal_rattle_small"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3723.5,-10493,-1709.28),(270,0,0)); + var_00.v["soundalias"] = "emt_electronic_buzz"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4535.57,-10807.7,-1639.9),(270,0,0)); + var_00.v["soundalias"] = "emt_metal_rattle_small"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4895.02,-10816.7,-1640.13),(270,0,0)); + var_00.v["soundalias"] = "emt_metal_rattle_small"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5393.95,-10685.7,-1653.31),(270,0,0)); + var_00.v["soundalias"] = "emt_metal_rattle_small"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5308.93,-9568.82,-1652.9),(270,0,0)); + var_00.v["soundalias"] = "emt_metal_rattle_small"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5380.88,-9925.33,-1735.41),(270,0,0)); + var_00.v["soundalias"] = "emt_metal_creaks_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5380.88,-9557.96,-1734.64),(270,0,0)); + var_00.v["soundalias"] = "emt_metal_creaks_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5242.13,-10308.9,-1744.45),(270,0,0)); + var_00.v["soundalias"] = "emt_metal_creaks_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4067.78,-10840,-1717.49),(270,0,0)); + var_00.v["soundalias"] = "emt_metal_creaks_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4179.88,-10361,-1715.64),(270,0,0)); + var_00.v["soundalias"] = "emt_metal_creaks_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3879.13,-11467.3,-1531.91),(270,0,0)); + var_00.v["soundalias"] = "emt_reactor_core"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3773.33,-11426.3,-1572.74),(270,0,0)); + var_00.v["soundalias"] = "emt_water_machine"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4309.88,-11552.5,-1457.4),(270,0,0)); + var_00.v["soundalias"] = "emt_test_chamber_dist"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4295.95,-11838.1,-1448.72),(270,0,0)); + var_00.v["soundalias"] = "emt_test_chamber_dist"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5571.87,-14595.5,-1608.86),(270,0,0)); + var_00.v["soundalias"] = "emt_hallway_machine"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5550.87,-14467,-1578.38),(270,0,0)); + var_00.v["soundalias"] = "emt_cap_incin_gen_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4295.5,-11284,-1455.4),(270,0,0)); + var_00.v["soundalias"] = "emt_test_chamber_dist"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5601.04,-14430.4,-1602.95),(270,0,0)); + var_00.v["soundalias"] = "emt_heavy_machine"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5412.5,-5629.29,-585.62),(270,0,0)); + var_00.v["soundalias"] = "emt_elevator_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5508.86,-5500.13,-594.103),(270,0,0)); + var_00.v["soundalias"] = "emt_elevator_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5617.88,-5657.75,-579.809),(270,0,0)); + var_00.v["soundalias"] = "emt_elevator_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3721.87,-10710.7,-1500.81),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3709.2,-10710.7,-1503.09),(270,0,0)); + var_00.v["soundalias"] = "emt_telemetry_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3640.01,-11046.8,-1513.5),(270,0,0)); + var_00.v["soundalias"] = "emt_server_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3671.76,-10943.1,-1465.43),(270,0,0)); + var_00.v["soundalias"] = "emt_telemetry_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3649,-10845.7,-1513.04),(270,0,0)); + var_00.v["soundalias"] = "emt_server_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((10775.2,-5822.67,463.379),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_l_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((10531.4,-5792.12,506.082),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_l_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((10669.8,-5491.05,513.157),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_m_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((10479.2,-5594.03,513.483),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_l_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((10438.8,-6011.58,557.132),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_m_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6220.93,-6378.48,-615.875),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_flys"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6219.55,-6640.5,-615.875),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_flys"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6237.09,-6868.38,-618.416),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_flys"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6215.88,-7070.33,-616.365),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_flys"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5373.69,-6783.6,-615.875),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_flys"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5206.46,-7303.7,-615.875),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_flys"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5580.9,-7467.19,-619.375),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_flys"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5771.08,-6929.12,-615.875),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_flys"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5311.43,-7054.58,-616),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_flys"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5968.13,-6920.81,-630.598),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_flys"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5543.58,-6920.93,-615.875),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_flys"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5996.43,-6223.2,-615.892),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_flys"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5093.65,-7493.32,-619.375),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_desert_wind"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6450.01,-6349.39,-688.663),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_desert_wind"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5034.95,-6023.57,-615.875),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_desert_wind"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5545.36,-14661.7,-1533.82),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_generator_steam"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5600.01,-14423.5,-1524.74),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_generator_steam"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3434.43,-3063.88,204.909),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4026.19,-3195.89,216.473),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5154.98,-4068.51,70.125),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3629.45,-2912.57,93.1595),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_wind_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5095.69,-3127.12,107.37),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_wind_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4867.27,-3119.63,199.693),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5534.22,-3720.61,52.586),(270,0,0)); + var_00.v["delay_min"] = 9; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_wind_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5591.86,-3118.98,322.23),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_yard_pa_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4357.03,-4172.06,384.468),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_yard_pa_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4595.96,-4932.57,80.7856),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_dist_buzzer"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5730.22,-3574.46,182),(270,0,0)); + var_00.v["delay_min"] = 12; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_dist_buzzer"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6046.13,-4869.27,66.1494),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_wind_buf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3528.13,-10518.3,-1467.19),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_metal_hit_amb"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4100.95,-9870.26,-1603.63),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_metal_hit_amb"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4747.66,-11159.9,-1323.13),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_metal_hit_amb"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5309.33,-9666.19,-1653.08),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_metal_hit_amb"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5296.35,-10309.6,-1653.19),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_metal_hit_amb"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3677.72,-11493.4,-1443.18),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_metal_hit_amb"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4613.81,-11535,-1475.3),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_metal_hit_amb"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5571.7,-14539.7,-1386),(270,0,0)); + var_00.v["delay_min"] = 15; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_metal_hit_amb"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((9736.38,-14296.4,-1820.91),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_cap_pipes"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((9031.24,-13424.8,-1619.53),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_cap_pipes"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((9484.91,-14255.3,-1847.74),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_cap_pipes"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((9144.5,-13960.2,-1879.88),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_cap_pipes"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((9046.89,-14351.4,-1635),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_cap_pipes"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6130.46,-14745,-1606.15),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_cap_autop_gurney"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5918.77,-14564.8,-1599.93),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_cap_autop_gurney"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6484.03,-14640.8,-1639.22),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_cap_autop_gurney"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6203.82,-15157.8,-1631.88),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_cap_autop_drips"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6085.26,-15165.4,-1631.88),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_cap_autop_drips"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5686.92,-14626.5,-1631.88),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_cap_autop_drips"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6226.8,-14423.6,-1631.88),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_cap_autop_drips"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6642.97,-14420.5,-1631.88),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_cap_autop_drips"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6630.13,-15157.9,-1631.88),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_cap_autop_drips"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6838.11,-14772.6,-1566.58),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_cap_autop_gore"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5916.48,-14605.9,-1588.15),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_cap_autop_gore"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6173.39,-14792.6,-1587.75),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_cap_autop_gore"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6022.26,-14692.4,-1632),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_cap_autop_grate"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6024.65,-15038.7,-1632),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_cap_autop_grate"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6271,-14888.1,-1632),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_cap_autop_grate"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6827.77,-14557.3,-1490.73),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_cap_autop_grate"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5136.3,-10566,-1626.13),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_water_pipes"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4321.09,-10658.2,-1624),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_water_pipes"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4041.02,-10840,-1728.19),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_water_pipes"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3961.76,-10444,-1723.18),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_water_pipes"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3502.57,-10670.6,-1645.23),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_water_pipes"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3829.71,-10496.1,-1732.3),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_water_pipes"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3722.86,-10654.1,-1599.83),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_water_pipes"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3972.64,-11425.5,-1409.72),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_water_pipes"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3772.13,-10553.8,-1722.56),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_chainlink_fence_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5419.93,-10840,-1732.02),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_water_pipes"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5309.92,-9986.56,-1661.97),(270,0,0)); + var_00.v["delay_min"] = 15; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_metal_squeak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5309.92,-10087.2,-1663.12),(270,0,0)); + var_00.v["delay_min"] = 15; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_metal_squeak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5309.92,-10193,-1660.76),(270,0,0)); + var_00.v["delay_min"] = 15; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_metal_squeak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5311.92,-10412.3,-1662.77),(270,0,0)); + var_00.v["delay_min"] = 15; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_metal_squeak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5334.74,-10525.6,-1666.13),(270,0,0)); + var_00.v["delay_min"] = 15; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_metal_squeak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5335.85,-10732.7,-1665.34),(270,0,0)); + var_00.v["delay_min"] = 15; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_metal_squeak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5309.92,-9874.07,-1662.09),(270,0,0)); + var_00.v["delay_min"] = 15; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_metal_squeak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5309.92,-9767.88,-1662.56),(270,0,0)); + var_00.v["delay_min"] = 15; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_metal_squeak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5309.94,-9673.39,-1663.97),(270,0,0)); + var_00.v["delay_min"] = 15; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_metal_squeak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4111.81,-10196.2,-1663.68),(270,0,0)); + var_00.v["delay_min"] = 15; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_metal_squeak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4112.67,-9985.5,-1664.36),(270,0,0)); + var_00.v["delay_min"] = 15; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_metal_squeak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4114.11,-9872.44,-1661.89),(270,0,0)); + var_00.v["delay_min"] = 15; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_metal_squeak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4114.11,-9771.98,-1663.14),(270,0,0)); + var_00.v["delay_min"] = 15; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_metal_squeak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4114.11,-9676.27,-1661.92),(270,0,0)); + var_00.v["delay_min"] = 15; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_metal_squeak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5538.53,-10595.8,-1734.8),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_metal_groan"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4073.98,-10836,-1748.39),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_metal_groan"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4044.13,-10262.1,-1741.6),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_metal_groan"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4179.88,-9978.41,-1733.3),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_metal_groan"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4050.9,-9605.89,-1737.56),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_metal_groan"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4708.3,-4375.13,160.294),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_fence_shake"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/crash_fx.gsc b/AW/PC/maps/createfx/crash_fx.gsc new file mode 100644 index 0000000..332a3a9 --- /dev/null +++ b/AW/PC/maps/createfx/crash_fx.gsc @@ -0,0 +1,985 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\crash_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 62 ms + * Timestamp: 4/22/2024 2:07:25 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\utility::createloopeffect("floaty_bits"); + var_00 common_scripts\_createfx::set_origin_and_angles((-913.559,-10184.7,-1828.88),(270,0,0)); + var_00 = common_scripts\utility::createloopeffect("floaty_bits"); + var_00 common_scripts\_createfx::set_origin_and_angles((175.694,-10006.9,-1928.77),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_rays_moving_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((354.38,91.8217,-365.288),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_rays_moving_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((278.285,-837.251,-498.096),(294.197,226.645,100.783)); + var_00 = common_scripts\utility::createoneshoteffect("snow_dune_top"); + var_00 common_scripts\_createfx::set_origin_and_angles((4216.12,7813.37,2687.25),(288.313,307.92,70.982)); + var_00 = common_scripts\utility::createoneshoteffect("snow_dune_top"); + var_00 common_scripts\_createfx::set_origin_and_angles((3487.94,3310.99,2707.67),(280.31,74.1089,-60.6783)); + var_00 = common_scripts\utility::createoneshoteffect("snow_dune_top"); + var_00 common_scripts\_createfx::set_origin_and_angles((4600.31,7823.4,2733.99),(280.344,294.557,85.4609)); + var_00 = common_scripts\utility::createoneshoteffect("snow_dune_top"); + var_00 common_scripts\_createfx::set_origin_and_angles((2963.01,7739.68,2721.92),(285.318,284.755,76.3103)); + var_00 = common_scripts\utility::createoneshoteffect("snow_dune_top"); + var_00 common_scripts\_createfx::set_origin_and_angles((3732.4,8256.98,2675.45),(285.318,284.755,76.3103)); + var_00 = common_scripts\utility::createoneshoteffect("light_rays_moving_vesti"); + var_00 common_scripts\_createfx::set_origin_and_angles((995.135,407.346,-391.061),(278.979,147.351,54.9948)); + var_00 = common_scripts\utility::createoneshoteffect("light_rays_moving_vesti"); + var_00 common_scripts\_createfx::set_origin_and_angles((891.523,761.021,-383.736),(278.103,107.577,76.099)); + var_00 = common_scripts\utility::createoneshoteffect("light_rays_moving_vesti"); + var_00 common_scripts\_createfx::set_origin_and_angles((822.559,-98.0025,-299.847),(270.994,97.8996,-129.318)); + var_00 = common_scripts\utility::createoneshoteffect("light_rays_moving_vesti"); + var_00 common_scripts\_createfx::set_origin_and_angles((1467.99,-918.803,-346.616),(282.378,199.385,-28.6292)); + var_00 = common_scripts\utility::createoneshoteffect("light_rays_moving_vesti"); + var_00 common_scripts\_createfx::set_origin_and_angles((927.707,-985.764,-396.889),(276.429,130.988,38.7944)); + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((1136.76,590.313,-866.854),(273,270.001,-173.001)); + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((1207.21,409.187,-867.492),(275,270.002,147.997)); + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((977.309,890.075,-576.686),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((866.384,1276.21,-748.917),(273.019,125.037,-31.029)); + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((442.094,1092.53,-580.461),(286.012,128.274,-89.2419)); + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((549.974,1096.42,-578.674),(286.012,128.274,-89.2419)); + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((316.282,1003.58,-545.362),(286.012,128.274,-89.2419)); + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((377.941,741.186,-510.886),(274.596,219.59,129.791)); + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((1176.78,505.832,-875.427),(273,270.001,-173.001)); + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((1326.39,1061.85,-538.269),(320.752,61.4645,72.018)); + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((1440.97,911.973,-480.723),(320.752,61.4645,72.018)); + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((606.922,415.71,-487.584),(333.356,356.877,49.7008)); + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((907.498,-963.913,-903.364),(316.015,63.6055,-0.407183)); + var_00 = common_scripts\utility::createoneshoteffect("light_coldfog_anim"); + var_00 common_scripts\_createfx::set_origin_and_angles((605.217,800.385,-701.349),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_coldfog_anim"); + var_00 common_scripts\_createfx::set_origin_and_angles((944.322,-744.21,-1031.22),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_coldfog_anim"); + var_00 common_scripts\_createfx::set_origin_and_angles((1092.74,-907.258,-1137.36),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_coldfog_anim"); + var_00 common_scripts\_createfx::set_origin_and_angles((1250.33,-951.652,-1148.07),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_coldfog_anim"); + var_00 common_scripts\_createfx::set_origin_and_angles((1473.12,-1011.82,-1140.78),(270,0,-21.0001)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((816.593,1308.79,-748.115),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2182.58,-1901.8,-843.849),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1803.5,-2088.21,-1001.87),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1492.77,-1792.04,-875.425),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1077.02,-2687.76,-888.844),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((939.82,-2909.5,-842.01),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((855.551,-3279.46,-812.574),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((639.475,-3394.23,-1166.54),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((782.757,-3114.13,-1174.78),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((870.891,-2893.55,-1243.97),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1046.69,-2631.08,-1168.57),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((947.038,-2783.66,-1211.87),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((549.687,-3831.16,-1071.82),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((564.389,-3711.43,-1141.83),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((570.786,-3587.38,-1161.84),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((665.336,-3851.55,-819.125),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((678.433,-4579.99,-1016.42),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((809.744,-4488.92,-828.431),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((689.846,-4013.98,-774.414),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((623.736,-4073.72,-1119.82),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((371.038,-5085.97,-734.121),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((277.606,-5048.71,-725.701),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((83.7236,-5014.74,-740.091),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((332.932,-5373.58,-395.231),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((656.783,-5426.84,-387.675),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((884.373,-5174.16,-516.402),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((874.953,-4945.89,-656.859),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((676.6,-4798.55,-932.192),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((101.458,-5126.32,-1602.58),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((927.375,-4197.43,-700.81),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((900.934,-3146.16,-970.035),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1154.5,-2616.33,-902.61),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1193.78,-2169.3,-1053.06),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((712.121,-1932.06,-1296.86),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((967.218,-1813.21,-1092.83),(273,90,-90.0001)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((576.869,-1927.01,-974.19),(274,269.999,90.001)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((726.782,-1882.1,-1040.74),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2685.11,-1592.44,-720.277),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2983.2,-1778.51,-541.66),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1857.3,-2150.23,-856.73),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1192.35,-2440.11,-1123.34),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1162.99,-2473.52,-1132.38),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1027.78,-2762.78,-868.382),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((844.173,-2980.53,-1294.17),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((681.493,-3361.33,-1190.38),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((787.926,-3296.41,-1153.1),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((764.545,-3307.81,-1309.7),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((807.997,-3276.25,-1392.7),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((810.866,-3263.26,-1097.31),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((884.579,-3222.12,-802.337),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((982.701,-5238.79,-236.992),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((883.725,-4385.08,-510.337),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((879.516,-4900.05,-524.351),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((301.351,-5068.82,-794.469),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((884.15,-4376.17,-336.877),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((734.439,-4283.6,-1109.65),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1216.28,-2547.42,-966.277),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1251.48,-2527.29,-926.654),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1119.81,-2550.44,-1159.87),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1016.23,-2769.45,-974.749),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((988.956,-2812.83,-949.728),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((902.448,-2846.33,-1227.87),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1066.6,-2606.32,-1165.47),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((817.732,-3026.72,-1226.73),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((698.973,-3628.1,-919.863),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((633.503,-5470.57,-548.066),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1428.56,-976.237,-208.17),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1458.02,-894.852,-249.114),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1019.51,-951.642,-377.458),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1025.96,-998.789,-417.791),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((863.787,-70.6848,-348.688),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1069.09,376.192,-277.087),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((928.275,758.253,-291.956),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((872.234,656.907,-387.24),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((923.17,1306.79,-765.398),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("clouds_moving_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-58467.4,57398.1,-317.94),(270,0,0)); + var_00.v["delay"] = -120; + var_00 = common_scripts\utility::createoneshoteffect("snow_dune_top"); + var_00 common_scripts\_createfx::set_origin_and_angles((4129.69,5681.81,2618.47),(283.911,303.843,68.6199)); + var_00 = common_scripts\utility::createoneshoteffect("snow_dune_top"); + var_00 common_scripts\_createfx::set_origin_and_angles((2532.72,5256.73,2762.87),(283.911,303.843,68.6199)); + var_00 = common_scripts\utility::createoneshoteffect("snow_dune_top"); + var_00 common_scripts\_createfx::set_origin_and_angles((4152.56,6936.67,2663.51),(275.124,1.91432,11.0774)); + var_00 = common_scripts\utility::createoneshoteffect("snow_dune_top"); + var_00 common_scripts\_createfx::set_origin_and_angles((4162.08,4615.29,2719.25),(283.911,303.843,68.6199)); + var_00 = common_scripts\utility::createoneshoteffect("snow_dune_top"); + var_00 common_scripts\_createfx::set_origin_and_angles((3900.23,5104.35,2650.97),(283.911,303.843,68.6199)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2352.77,4177.69,501.806),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_rays_moving_rappel"); + var_00 common_scripts\_createfx::set_origin_and_angles((1339.59,2976.28,882.01),(277.081,278.064,-103.618)); + var_00 = common_scripts\utility::createoneshoteffect("water_drips_crash_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((604.155,-709.889,-621.519),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_drips_crash_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((966.535,570.458,-861.141),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_drips_crash_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((1182.28,594.546,-881.434),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_drips_crash_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((1098.35,570.498,-890.654),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_drips_crash_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((1244.73,417.198,-889.833),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_drips_crash_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((1206.03,408.549,-885.187),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_drips_crash_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((1171.31,527.564,-870.212),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_drips_crash_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((1229.17,520.679,-871.136),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_drips_crash_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((1136.76,534.538,-873.33),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_drips_crash_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((947.835,466.312,-887.689),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_rays_moving_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((1444.51,2416.41,1203.02),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_leak_thin_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((1217.57,3029.01,-748.085),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_leak_thin_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((1269.12,2942.84,-711.075),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_leak_thin_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((1119.94,2863.81,-753.391),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_leak_thin_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((1424.14,3009.81,-726.76),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_leak_thin_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((1115.84,3782.11,-627.931),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_leak_thin_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((974.467,3175.54,-607.453),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_leak_thin_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((988.858,3180.75,-787.811),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_leak_thin_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((1105.39,3705.02,-837.035),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_leak_thin_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((1135.68,3717.09,-831.935),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_leak_thin_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((936.028,3406.14,-663.058),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_leak_thin_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((958.015,3516.63,-665.064),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_leak_thin_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((987.446,3517.08,-785.896),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_leak_thin_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((1427.33,2999.57,-599.664),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_leak_thin_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((961.354,2686.99,-768.017),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_leak_thin_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((824.376,2590.25,-768.5),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_leak_thin_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((845.223,2474.44,-746.019),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_leak_thin_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((829.813,2276.09,-761.5),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_leak_thin_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((1372.28,3238.53,-784.245),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_leak_thin_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((1363.85,3312.61,-446.823),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_leak_thin_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((1368.28,3371.66,-452.006),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_leak_thin_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((1419.13,3657.88,251.63),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_rays_moving_rappel"); + var_00 common_scripts\_createfx::set_origin_and_angles((778.498,3273.32,879.598),(283.071,193.867,-10.1433)); + var_00 = common_scripts\utility::createoneshoteffect("water_impact_spawner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1535.08,3293.99,788.345),(86.9997,270.025,-89.975)); + var_00 = common_scripts\utility::createoneshoteffect("water_impact_spawner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1514.85,3825.21,653.085),(79.5652,196.535,-163.202)); + var_00 = common_scripts\utility::createoneshoteffect("water_impact_spawner"); + var_00 common_scripts\_createfx::set_origin_and_angles((908.575,3474.79,571.23),(53.1685,4.0712,5.30385)); + var_00 = common_scripts\utility::createoneshoteffect("water_impact_spawner"); + var_00 common_scripts\_createfx::set_origin_and_angles((889.733,3660.51,543.695),(47.039,0,11.3557)); + var_00 = common_scripts\utility::createoneshoteffect("water_impact_spawner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1491.05,3347.71,269.412),(64.833,186.405,-172.928)); + var_00 = common_scripts\utility::createoneshoteffect("water_impact_spawner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1550.39,3263.42,432.23),(71.7609,189.152,-170.372)); + var_00 = common_scripts\utility::createoneshoteffect("water_impact_spawner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1489.39,3195.04,284.849),(44.921,182.996,-175.759)); + var_00 = common_scripts\utility::createoneshoteffect("water_impact_spawner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1363.67,3345.67,-115.372),(70.774,188.645,-170.852)); + var_00 = common_scripts\utility::createoneshoteffect("water_impact_spawner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1373.46,3164.87,-89.4246),(70.774,188.645,-170.852)); + var_00 = common_scripts\utility::createoneshoteffect("water_impact_spawner"); + var_00 common_scripts\_createfx::set_origin_and_angles((962.074,3674.01,-58.0078),(79.1866,126.54,134.336)); + var_00 = common_scripts\utility::createoneshoteffect("water_impact_spawner"); + var_00 common_scripts\_createfx::set_origin_and_angles((959.484,3474.52,-54.8061),(83.341,183.312,-169.339)); + var_00 = common_scripts\utility::createoneshoteffect("water_impact_spawner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1547.27,3238.42,635.706),(86.9997,270.025,-89.975)); + var_00 = common_scripts\utility::createoneshoteffect("water_impact_spawner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1439.35,3827.41,344.033),(79.5652,196.535,-163.202)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_edge_splatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((838.867,2602.1,-913.854),(270,0,168)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_edge_splatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((866.638,2456.23,-913.403),(270,0,5.99874)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_edge_splatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((837.449,2228.31,-911.492),(270,0,-174)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_edge_splatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((977.982,2675.36,-912.543),(270,0,-35.0008)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_edge_splatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((1112.81,2783.55,-914),(270,0,-85.001)); + var_00 = common_scripts\utility::createoneshoteffect("fire_wreckage_ground_nolight"); + var_00 common_scripts\_createfx::set_origin_and_angles((410.623,-10499.5,-1480.31),(285,73.9984,90.0004)); + var_00 = common_scripts\utility::createoneshoteffect("snow_dune_top"); + var_00 common_scripts\_createfx::set_origin_and_angles((-179.844,-11447.1,-1425.11),(270,355.236,39.7626)); + var_00 = common_scripts\utility::createoneshoteffect("light_rays_moving_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((2965.37,8172.99,1246.35),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2959.38,8114.85,1261.35),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2945.6,8215.37,1257.36),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((3051.53,8180.69,1260.86),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2880.7,8143.09,1254.11),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_coldfog_anim"); + var_00 common_scripts\_createfx::set_origin_and_angles((3000.81,8429.66,1047.11),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_coldfog_anim"); + var_00 common_scripts\_createfx::set_origin_and_angles((3025.61,7952.55,1054.65),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_coldfog_anim"); + var_00 common_scripts\_createfx::set_origin_and_angles((2369,8212.93,994.952),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_coldfog_anim"); + var_00 common_scripts\_createfx::set_origin_and_angles((2095.56,7807.81,914.35),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_coldfog_anim"); + var_00 common_scripts\_createfx::set_origin_and_angles((2744.97,7779.3,773.707),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_coldfog_anim"); + var_00 common_scripts\_createfx::set_origin_and_angles((2721.28,7025.9,714.561),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_coldfog_anim"); + var_00 common_scripts\_createfx::set_origin_and_angles((2571.81,6701.44,640.134),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_coldfog_anim"); + var_00 common_scripts\_createfx::set_origin_and_angles((1912.27,7211.41,509.552),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_coldfog_anim"); + var_00 common_scripts\_createfx::set_origin_and_angles((1577.63,7191.37,531.466),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2683.82,-2667.52,-453.24),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2468.98,-2669.05,-500.172),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_drips_crash_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((2539.38,7870.57,837.827),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_drips_crash_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((2372.54,7782.24,916.357),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_drips_crash_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((2676.24,7507.28,852.419),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_drips_crash_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((2749.37,6909.4,803.135),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_drips_crash_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((2687.33,6889.16,806.593),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_drips_crash_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((2678.12,6938.83,847.137),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_drips_crash_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((2275.15,6850.41,662.149),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_drips_crash_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((1984.93,7101.44,558.388),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_impact_spawner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1162.96,5346.54,465.046),(82.7653,40.5995,-4.79664)); + var_00 = common_scripts\utility::createoneshoteffect("light_coldfog_anim"); + var_00 common_scripts\_createfx::set_origin_and_angles((1322.1,5175.35,268.314),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_coldfog_anim"); + var_00 common_scripts\_createfx::set_origin_and_angles((976.896,5729.74,573.769),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_coldfog_anim"); + var_00 common_scripts\_createfx::set_origin_and_angles((1250.51,5694.3,290.967),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_rays_moving_rappel"); + var_00 common_scripts\_createfx::set_origin_and_angles((1085.53,5446.4,1541.36),(294.239,272.347,-67.3294)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2389.6,6684.28,693.934),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1589.46,6550.65,646.772),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1306.72,6276.39,695.846),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1067.82,6137.07,637.897),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1254.85,5652.85,636.848),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1139.71,5668.56,630.148),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1066.46,5668.26,597.241),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1540.55,5666.22,670.663),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1378.49,5743.11,312.96),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1139.06,5564.97,441.346),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1224.15,5462.57,633.405),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1003.75,5836.9,483.34),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1013.16,5492.3,990.351),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1138.21,5450.94,1192.07),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((933.503,5487.27,1311.08),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1219.9,5455.31,1373.16),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("snow_dune_top"); + var_00 common_scripts\_createfx::set_origin_and_angles((5408.66,4065.96,2729.67),(283.911,303.843,68.6199)); + var_00 = common_scripts\utility::createoneshoteffect("water_impact_spawner"); + var_00 common_scripts\_createfx::set_origin_and_angles((405.238,-8296.83,-1192.9),(82.7653,40.5995,-4.79664)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((887.87,822.937,-342.08),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("water_drips_crash_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((776.449,894.455,-797.354),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2224.18,-2612.83,-590.765),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_ground_xlrg_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((338.721,-10535.4,-1479.4),(275.243,130.529,-46.3191)); + var_00 = common_scripts\utility::createoneshoteffect("fire_wreckage_ground_nolight"); + var_00 common_scripts\_createfx::set_origin_and_angles((669.397,-10578.7,-1373.46),(300.365,93.1975,88.4748)); + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_ground_fast_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((3590.05,7733.27,2676.15),(278.539,283.634,159.627)); + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_ground_fast_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((3451.72,7648.66,2677.71),(278.539,283.634,159.627)); + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_ground_fast_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((3338.16,8079.05,2677.46),(278.539,283.634,159.627)); + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_ground_fast_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((3181.82,7473.92,2697.98),(278.539,283.634,159.627)); + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_ground_fast_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((3040.8,7509.62,2708.38),(278.539,283.634,159.627)); + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_ground_fast_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((3047.13,7532.04,2709.84),(278.539,283.634,159.627)); + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_ground_fast_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((3132.73,7236.06,2703.99),(278.539,283.634,159.627)); + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_ground_fast_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((3465.35,7263.62,2695.69),(278.539,283.634,159.627)); + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_ground_fast_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((3845.41,7380.96,2682.77),(278.539,283.634,159.627)); + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_ground_fast_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((3729.55,6456.06,2573.32),(274.028,110.683,-17.9711)); + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_ground_xlrg_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((2429.83,5651.15,2708.71),(280.301,346.854,97.688)); + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_ground_xlrg_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((2566.74,4779.93,2723.84),(297.868,278.686,172.715)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((725.556,-5020.23,-846.878),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((882.198,-4857.6,-672.228),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_ground_fast_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((241.51,-11059,-1484.15),(270,0,104.999)); + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_ground_fast_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((29.9749,-10584.3,-1493.5),(270,0,104.999)); + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_ground_fast_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((10.8623,-10376.2,-1494.61),(270,0,104.999)); + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_ground_fast_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((576.074,-10265.9,-1489.74),(270,26.5651,72.4341)); + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_ground_fast_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((566.897,-10236.2,-1498.07),(270,0,92.9992)); + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_ground_fast_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((501.67,-10423,-1478.81),(270,0,74.9991)); + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_ground_fast_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((259.389,-10633,-1476.29),(270,0,104.999)); + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_ground_fast_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((199.238,-10601,-1468.18),(270,0,104.999)); + var_00 = common_scripts\utility::createoneshoteffect("snow_dune_top"); + var_00 common_scripts\_createfx::set_origin_and_angles((1776.92,-14536.7,-1503.65),(270,180,-167.001)); + var_00 = common_scripts\utility::createoneshoteffect("light_underwater_godray_beam_moving_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((-744.467,-10211.2,-1526.59),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_ground_fast_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((397.645,-10879.6,-1496.97),(270,0,104.999)); + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_ground_fast_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((562.49,-11038.6,-1452.86),(270,0,104.999)); + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_ground_fast_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((33.2501,-10323.7,-1501.58),(270,0,104.999)); + var_00 = common_scripts\utility::createoneshoteffect("snow_dune_top"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1677.41,-11063.6,-1368.27),(270,355.236,39.7626)); + var_00 = common_scripts\utility::createoneshoteffect("snow_dune_top"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1842.01,-10566.6,-1313.59),(270,355.236,39.7626)); + var_00 = common_scripts\utility::createoneshoteffect("snow_cloud_moutain_peak"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14572.8,-33845.3,4755.26),(279,164.999,-68.9996)); + var_00 = common_scripts\utility::createoneshoteffect("snow_dune_top"); + var_00 common_scripts\_createfx::set_origin_and_angles((1391.5,-9610.16,-331.883),(319.017,196.185,-157.871)); + var_00 = common_scripts\utility::createoneshoteffect("snow_dune_top"); + var_00 common_scripts\_createfx::set_origin_and_angles((1324.45,-8858.09,-413.744),(284.874,178.022,-172.281)); + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_ground_fast_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((3420.07,6936.97,2662.81),(294.925,349.858,95.0626)); + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_ground_fast_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((3172.46,6220.17,2601.61),(291.555,84.442,3.99379)); + var_00 = common_scripts\utility::createoneshoteffect("snow_dune_top"); + var_00 common_scripts\_createfx::set_origin_and_angles((2935.51,8377.71,2816.83),(285.318,284.755,76.3103)); + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_hvy_wind_flat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((3019.29,8312.2,2796.83),(298.999,0,30.9995)); + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_hvy_wind_flat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((2989.9,8097.94,2751.23),(298.999,0,30.9995)); + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_hvy_wind_flat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((3556.27,7228.6,2709.04),(0.731964,80.6757,11.9459)); + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_hvy_wind_flat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((3224.55,6885.06,2685.14),(0.731964,80.6757,11.9459)); + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_hvy_wind_flat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((3957.03,6171.49,2648.76),(0.731964,80.6757,11.9459)); + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_hvy_wind_flat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((3264.4,5582.85,2787.58),(0.731964,80.6755,-3.05435)); + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_hvy_wind_flat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((4731.62,5202.7,2814.44),(0.731964,80.6755,-3.05435)); + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_hvy_wind_flat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((4479.37,5733.74,2702.84),(0.731964,80.6755,-3.05435)); + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_hvy_wind_flat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((4902.48,5656.16,2691.07),(0.731964,80.6755,-3.05435)); + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_hvy_wind_flat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((3707.06,6802.08,2829.37),(0.731964,80.6755,-3.05435)); + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_hvy_wind_flat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((4526.15,7693.11,2730.58),(0.731964,80.6755,-3.05435)); + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_hvy_wind_flat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((4296.65,7093.88,2702.59),(0.731964,80.6755,-3.05435)); + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_hvy_wind_flat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((4022.86,6944.99,2713.06),(0.731964,80.6755,-3.05435)); + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_hvy_wind_flat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((2476.41,8093.82,2838.32),(0.731964,80.6755,-3.05435)); + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_hvy_wind_flat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((5435.38,7017.06,2608.77),(0.731964,80.6755,-3.05435)); + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_hvy_wind_flat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((4854.51,6849.22,2611.96),(0.731964,80.6755,-3.05435)); + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_hvy_wind_flat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((4190.41,6362.95,2642.52),(0.731964,80.6755,-3.05435)); + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_hvy_wind_flat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((3695.23,7998.48,2676.48),(0.731964,80.6755,-3.05435)); + var_00 = common_scripts\utility::createoneshoteffect("water_impact_spawner"); + var_00 common_scripts\_createfx::set_origin_and_angles((957.394,3683.9,305.809),(47.039,0,11.3557)); + var_00 = common_scripts\utility::createoneshoteffect("water_impact_spawner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1177.85,5221.51,486.453),(82.7653,40.5995,-4.79664)); + var_00 = common_scripts\utility::createoneshoteffect("water_impact_spawner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1124.08,5404.73,494.058),(82.7653,40.5995,-4.79664)); + var_00 = common_scripts\utility::createoneshoteffect("water_impact_spawner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1423.65,5996.61,394.156),(82.7653,40.5995,-4.79664)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((829.261,5870.8,590.762),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1069.22,5720.23,420.492),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1475.31,5360.53,503.934),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1376.86,5156.27,401.404),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1226.42,5079.06,433.653),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_hvy_wind_flat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((3659.39,7453.05,2708.04),(3.08814,146.679,-0.574233)); + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_hvy_wind_flat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((4583.02,7554.48,2627.25),(3.08814,146.679,-0.574233)); + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_hvy_wind_flat_crash"); + var_00 common_scripts\_createfx::set_origin_and_angles((4217.31,8302.88,2663.14),(3.08814,146.679,-0.574233)); + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_hvy_wind_vista"); + var_00 common_scripts\_createfx::set_origin_and_angles((2261.65,-3130.77,141.756),(21.2244,55.7715,-38.4301)); + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_hvy_wind_vista"); + var_00 common_scripts\_createfx::set_origin_and_angles((1897.42,-2859.32,-91.782),(14.4351,6.76547,-40.889)); + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_hvy_wind_vista"); + var_00 common_scripts\_createfx::set_origin_and_angles((2279.87,-3579.29,510.902),(21.2244,55.7722,-11.4292)); + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_hvy_wind_vista"); + var_00 common_scripts\_createfx::set_origin_and_angles((3059.07,-3349.14,632.613),(21.2244,55.7719,-38.4296)); + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_hvy_wind_vista"); + var_00 common_scripts\_createfx::set_origin_and_angles((2928.05,-2842.9,0.318817),(21.2243,55.7719,-41.4295)); + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_hvy_wind_vista"); + var_00 common_scripts\_createfx::set_origin_and_angles((835.56,-5610.73,125.38),(21.2244,55.7722,-11.4292)); + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_hvy_wind_vista"); + var_00 common_scripts\_createfx::set_origin_and_angles((231.248,-5989,207.504),(21.2244,55.7722,-11.4292)); + var_00 = common_scripts\utility::createoneshoteffect("water_impact_spawner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1105.36,-8921.18,-1140.2),(58.0139,162.79,0.494063)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1133.89,-8935.06,-1479),(291,133.999,-170)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1124.99,-8928.13,-1285.82),(347.732,142.57,-176.348)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((395.831,-8306.25,-1369.82),(325.632,264.051,-179.427)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall"); + var_00 common_scripts\_createfx::set_origin_and_angles((3156.45,-1999.73,-660.861),(74.0009,180,-180)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall"); + var_00 common_scripts\_createfx::set_origin_and_angles((3062.61,-2168.59,-653.581),(89.1605,75.8348,116.109)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall"); + var_00 common_scripts\_createfx::set_origin_and_angles((3062.81,-2165.31,-478.122),(89.1605,75.8348,116.109)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall"); + var_00 common_scripts\_createfx::set_origin_and_angles((2965.28,-2250.25,-589.273),(89.1605,75.8348,116.109)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((3146.14,-1977.47,-870.023),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((3132.31,-2013.3,-876.928),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((3030.61,-2133.87,-861.947),(270,180,159)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((3023.11,-2163.3,-863.891),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2922.92,-2235.43,-877.742),(278,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2942.1,-2202.86,-857.13),(278,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((3043.61,-2137.23,-847.271),(278,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((3031.81,-2111.98,-869.168),(278,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((3142.89,-1997.7,-885.478),(278,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2916.83,-2249.03,-854.3),(280.615,318.581,-36.0722)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((836.866,1080.61,-939.06),(278.544,229.783,-9.24243)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((921.162,1183.97,-928.356),(278.544,229.782,110.758)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((833.567,6125.8,338.817),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((932.604,6129.72,444.879),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((906.614,6134.56,662.974),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_rays_moving_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((2271.46,-867.633,-616.748),(48.2059,227.386,-93.5114)); + var_00 = common_scripts\utility::createoneshoteffect("cg_light_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1051,3979.73,200.056),(346.775,79.2631,177.921)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((732.774,1302.67,-910.387),(278.545,229.783,-24.2429)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((948.198,1271.77,-913.015),(278.545,229.783,-24.2429)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((898.978,1137.06,-932.184),(278.545,229.783,-24.2429)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((887.311,1111.35,-934.684),(278.545,229.783,-24.2429)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((781.665,1053.46,-941.559),(278.545,229.783,-24.2429)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((842.486,1020.11,-942.75),(278.545,229.783,-24.2429)); + var_00 = common_scripts\utility::createoneshoteffect("wing_top_contrail_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-59098.8,57372.2,-253.067),(356.999,89.9995,0)); + var_00 = common_scripts\utility::createoneshoteffect("wing_top_contrail_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-59225.1,57326.1,-259.271),(356.999,89.9995,-1.00034)); + var_00 = common_scripts\_createfx::createexploderex("ground_snow_hvy_avalanche","5186"); + var_00 common_scripts\_createfx::set_origin_and_angles((-274.774,-13986.9,-2290.1),(15.7366,142.027,-4.22967)); + var_00.v["delay"] = 3; + var_00 = common_scripts\_createfx::createexploderex("snow_cloud_moutain_peak","8420"); + var_00 common_scripts\_createfx::set_origin_and_angles((6165.33,-15697.7,1910.04),(279,164.999,-68.9996)); + var_00 = common_scripts\_createfx::createexploderex("snow_cloud_moutain_peak","8420"); + var_00 common_scripts\_createfx::set_origin_and_angles((5616.86,-14189.8,1586.79),(279,164.999,-68.9996)); + var_00 = common_scripts\_createfx::createexploderex("snow_cloud_moutain_peak","8420"); + var_00 common_scripts\_createfx::set_origin_and_angles((3601.73,-19931.4,1563.04),(279,164.999,-68.9996)); + var_00 = common_scripts\_createfx::createexploderex("snow_cloud_moutain_peak","8420"); + var_00 common_scripts\_createfx::set_origin_and_angles((2643.4,-20751.3,1894.62),(279,164.999,-68.9996)); + var_00 = common_scripts\_createfx::createexploderex("snow_cloud_moutain_peak","8420"); + var_00 common_scripts\_createfx::set_origin_and_angles((-99.0566,-19224.6,662.927),(279,164.999,-68.9996)); + var_00 = common_scripts\_createfx::createexploderex("snow_cloud_moutain_peak","8420"); + var_00 common_scripts\_createfx::set_origin_and_angles((141.855,-18481.1,271.139),(279,164.999,-68.9996)); + var_00 = common_scripts\_createfx::createexploderex("snow_cloud_moutain_peak","8420"); + var_00 common_scripts\_createfx::set_origin_and_angles((1838.33,-17619.2,271.283),(279,164.999,-68.9996)); + var_00 = common_scripts\_createfx::createexploderex("snow_cloud_moutain_peak","8420"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3367,-18426.7,-653.109),(279,164.999,-68.9996)); + var_00 = common_scripts\_createfx::createexploderex("snow_cloud_moutain_peak","8420"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7702.67,-25413.3,1121.8),(279,164.999,-68.9996)); + var_00 = common_scripts\_createfx::createexploderex("snow_cloud_moutain_peak","8420"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7857.09,-25860.9,1509.61),(279,164.999,-68.9996)); + var_00 = common_scripts\_createfx::createexploderex("snow_cloud_moutain_peak","8420"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15065.6,-34964.7,6080.91),(279,164.999,-68.9996)); + var_00 = common_scripts\_createfx::createexploderex("snow_cloud_moutain_peak","8420"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13893.8,-33767.6,5196.74),(279,164.999,-68.9996)); + var_00 = common_scripts\_createfx::createexploderex("snow_cloud_moutain_peak","8420"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14049.4,-34143.3,5842.64),(279,164.999,-68.9996)); + var_00 = common_scripts\_createfx::createexploderex("snow_cloud_moutain_peak","8420"); + var_00 common_scripts\_createfx::set_origin_and_angles((1981.17,-8728.9,-228.711),(287.206,238.486,172.715)); + var_00 = common_scripts\_createfx::createexploderex("snow_cloud_moutain_peak","8420"); + var_00 common_scripts\_createfx::set_origin_and_angles((3354.08,-8692.43,830.522),(287.206,238.486,172.715)); + var_00 = common_scripts\_createfx::createexploderex("snow_cloud_moutain_peak","8420"); + var_00 common_scripts\_createfx::set_origin_and_angles((2630.61,-9535.16,864.23),(287.206,238.486,172.715)); + var_00 = common_scripts\_createfx::createexploderex("snow_cloud_moutain_peak","8420"); + var_00 common_scripts\_createfx::set_origin_and_angles((5211.12,-18136.8,1425.7),(279,164.999,-68.9996)); + var_00 = common_scripts\_createfx::createexploderex("snow_cloud_moutain_peak","8420"); + var_00 common_scripts\_createfx::set_origin_and_angles((1567.62,-6003.63,1061.45),(287.206,238.487,-144.286)); + var_00 = common_scripts\_createfx::createexploderex("fx_sunflare_crash","1999"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5846,1095,13373),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("water_rising","6621"); + var_00 common_scripts\_createfx::set_origin_and_angles((928.842,1932.64,-910.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_wreckage_ground","1300"); + var_00 common_scripts\_createfx::set_origin_and_angles((2913.96,7194.44,2748.68),(310,19.9979,90.0001)); + var_00 = common_scripts\_createfx::createexploderex("fire_wreckage_ground","1300"); + var_00 common_scripts\_createfx::set_origin_and_angles((3009.8,6656.02,2693.89),(297.688,38.1375,-172.822)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_ground_xlrg_crash","1300"); + var_00 common_scripts\_createfx::set_origin_and_angles((3323.4,7486.65,2700.86),(275.214,321.703,97.6385)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_ground_xlrg_crash","1300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4381.68,6747.9,2624.89),(280.301,346.854,97.688)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_ground_xlrg_crash","1300"); + var_00 common_scripts\_createfx::set_origin_and_angles((3934.52,7602.71,2639.97),(280.301,346.854,97.688)); + var_00 = common_scripts\_createfx::createexploderex("falling_chunks","3131"); + var_00 common_scripts\_createfx::set_origin_and_angles((1389.63,-16248.1,-1161.01),(354,148.999,-180)); + var_00 = common_scripts\_createfx::createexploderex("falling_chunks","3131"); + var_00 common_scripts\_createfx::set_origin_and_angles((1009.02,-15205.1,-1628.48),(354,148.999,-180)); + var_00.v["delay"] = 0.2; + var_00 = common_scripts\_createfx::createexploderex("falling_chunks","3131"); + var_00 common_scripts\_createfx::set_origin_and_angles((1264.33,-15695.6,-1525.44),(354,148.999,-180)); + var_00 = common_scripts\_createfx::createexploderex("falling_chunks","3131"); + var_00 common_scripts\_createfx::set_origin_and_angles((1521.44,-14043.5,-1752.71),(354,148.999,-180)); + var_00.v["delay"] = 1.1; + var_00 = common_scripts\_createfx::createexploderex("falling_chunks","3131"); + var_00 common_scripts\_createfx::set_origin_and_angles((1128.3,-14379.9,-1731.06),(354,148.999,-180)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("crash_site_clouds","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((4761.16,4280.88,4033.2),(270.001,180,180)); + var_00 = common_scripts\_createfx::createexploderex("crash_bridge_glow_spread","6667"); + var_00 common_scripts\_createfx::set_origin_and_angles((1267.62,3484.95,171.309),(271.24,122.347,-167.95)); + var_00 = common_scripts\_createfx::createexploderex("crash_bridge_glow_spread","6667"); + var_00 common_scripts\_createfx::set_origin_and_angles((1267.62,3484.95,171.309),(271.24,122.347,-167.95)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter","6621"); + var_00 common_scripts\_createfx::set_origin_and_angles((957.813,1929.17,-911.5),(270,0,-12.0009)); + var_00 = common_scripts\_createfx::createexploderex("waterfall_edge_splatter","6621"); + var_00 common_scripts\_createfx::set_origin_and_angles((881.796,1941.33,-911.5),(270,0,-174)); + var_00 = common_scripts\_createfx::createexploderex("water_jet","6620"); + var_00 common_scripts\_createfx::set_origin_and_angles((884.812,1928.17,-865.822),(87.7642,153.407,-26.6092)); + var_00 = common_scripts\_createfx::createexploderex("jet_thuster_atlasplane","6420"); + var_00 common_scripts\_createfx::set_origin_and_angles((-59545.1,57142.3,-329.291),(359.999,180,169)); + var_00 = common_scripts\_createfx::createexploderex("jet_thuster_atlasplane","6420"); + var_00 common_scripts\_createfx::set_origin_and_angles((-59557.9,57679.3,-325.81),(359.999,180,-168)); + var_00 = common_scripts\_createfx::createexploderex("smoke_pillar_black_large_slow","1474"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2668.47,-2145.26,3275.05),(270,0,77.9998)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("snow_impact_runner","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((4613.99,4214.44,2725.91),(288,99.9988,0)); + var_00 = common_scripts\_createfx::createexploderex("snow_impact_runner","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((4556.13,3964.57,2724.65),(285.032,96.2721,3.85789)); + var_00 = common_scripts\_createfx::createexploderex("snow_impact_runner","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((4349.93,4129.95,2728.84),(291,99.9989,0)); + var_00 = common_scripts\_createfx::createexploderex("falling_icechunks_child","2978"); + var_00 common_scripts\_createfx::set_origin_and_angles((1109.73,4310.49,395.727),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("falling_icechunks_child","2978"); + var_00 common_scripts\_createfx::set_origin_and_angles((1203.19,4412.61,452.841),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("ice_entry_explosion","5347"); + var_00 common_scripts\_createfx::set_origin_and_angles((4491.21,4205.64,2707.18),(0.999533,89.9997,-89.9999)); + var_00 = common_scripts\_createfx::createexploderex("water_breach_crash","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((899.248,1324.79,-911.641),(270,0,0)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("water_breach_crash","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((798.618,1328.58,-911.999),(270,0,0)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("rocks_falling_water","6650"); + var_00 common_scripts\_createfx::set_origin_and_angles((831.476,2610.72,-794.353),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rocks_falling_water","6650"); + var_00 common_scripts\_createfx::set_origin_and_angles((827.409,2408.59,-736.093),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rocks_falling_water","6650"); + var_00 common_scripts\_createfx::set_origin_and_angles((861.584,2347.76,-837.583),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rocks_falling_water","6650"); + var_00 common_scripts\_createfx::set_origin_and_angles((914.871,2659.59,-764.071),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("crash_bridge_exp","666"); + var_00 common_scripts\_createfx::set_origin_and_angles((1248.52,3500.77,162.159),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("crash_bridge_exp","666"); + var_00 common_scripts\_createfx::set_origin_and_angles((1182.15,3656.52,168.615),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("crash_goliath_entry_ice","701"); + var_00 common_scripts\_createfx::set_origin_and_angles((1337.31,2865.71,550.571),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("crash_goliath_entry_ice","701"); + var_00 common_scripts\_createfx::set_origin_and_angles((1335.14,2633.5,873.002),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("crash_bridge_water_chunks","901"); + var_00 common_scripts\_createfx::set_origin_and_angles((1052.41,3830.39,109.627),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("crash_bridge_water_chunks","901"); + var_00 common_scripts\_createfx::set_origin_and_angles((1281.66,3941.1,114.351),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("crash_bridge_water_chunks_splash","905"); + var_00 common_scripts\_createfx::set_origin_and_angles((1167.48,3659.76,-905.451),(271,0,0)); + var_00 = common_scripts\_createfx::createexploderex("crash_bridge_water_chunks","901"); + var_00 common_scripts\_createfx::set_origin_and_angles((1162.63,3941.68,152.863),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("crash_bridge_pre_smk","902"); + var_00 common_scripts\_createfx::set_origin_and_angles((1320.56,3438.98,155.252),(281,181,0)); + var_00 = common_scripts\_createfx::createexploderex("snow_blowing_gust","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((1080.43,-2947.22,-557.353),(5.61385,172.014,-85.4797)); + var_00 = common_scripts\_createfx::createexploderex("snow_blowing_gust","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((925.693,-3346.54,-507.318),(358.086,162.99,-88.4145)); + var_00 = common_scripts\_createfx::createexploderex("snow_blowing_gust","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((820.746,-3591.64,-532.113),(358.086,162.99,-88.4145)); + var_00 = common_scripts\_createfx::createexploderex("snow_blowing_gust","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((921.045,-4152.09,-516.952),(357.526,197.011,-89.7566)); + var_00 = common_scripts\_createfx::createexploderex("snow_blowing_gust","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((659.655,-3892.61,-946.623),(357.522,198.012,-89.7999)); + var_00 = common_scripts\_createfx::createexploderex("snow_blowing_gust","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((847.425,-4340.15,-813.37),(357.522,198.012,-89.7999)); + var_00 = common_scripts\_createfx::createexploderex("snow_blowing_gust","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((1464.44,-2495.92,-480.938),(357.522,198.012,-89.7999)); + var_00 = common_scripts\_createfx::createexploderex("snow_blowing_gust","4333"); + var_00 common_scripts\_createfx::set_origin_and_angles((1189.83,-1677.67,-237.161),(7.95114,256.531,-91.2602)); + var_00 = common_scripts\_createfx::createexploderex("crash_bridge_exp_screen","666"); + var_00 common_scripts\_createfx::set_origin_and_angles((1176.91,3527.85,150.307),(303.121,175.393,-174.504)); + var_00 = common_scripts\_createfx::createexploderex("crash_bridge_exp_fall","666"); + var_00 common_scripts\_createfx::set_origin_and_angles((1281.54,3479.58,632.289),(273.162,71.5522,-71.5783)); + var_00 = common_scripts\_createfx::createexploderex("ice_hallway_falling_debris","1190"); + var_00 common_scripts\_createfx::set_origin_and_angles((2925.39,8152.66,1183.21),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("vtol_crash_landing_snow","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((2857.18,5230.51,2737.67),(80.0006,180,-180)); + var_00.v["delay"] = 4.4; + var_00 = common_scripts\_createfx::createexploderex("vtol_crash_landing_snow","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((2853.56,4523.38,2746.21),(80.0006,180,-180)); + var_00.v["delay"] = 4.2; + var_00 = common_scripts\_createfx::createexploderex("falling_icechunks_child","3173"); + var_00 common_scripts\_createfx::set_origin_and_angles((2244.49,8113.19,1399.97),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("falling_icechunks_child","3173"); + var_00 common_scripts\_createfx::set_origin_and_angles((2037.12,7841.49,1467.78),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("falling_icechunks_child","3173"); + var_00 common_scripts\_createfx::set_origin_and_angles((2643.48,7811.28,1236.08),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("falling_icechunks_child","3173"); + var_00 common_scripts\_createfx::set_origin_and_angles((2827.38,7453.88,1186.84),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("falling_icechunks_child","3173"); + var_00 common_scripts\_createfx::set_origin_and_angles((2629.07,7447.48,1093.2),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("falling_icechunks_child","3173"); + var_00 common_scripts\_createfx::set_origin_and_angles((2820.76,7024.5,1095.51),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("falling_icechunks_child","3173"); + var_00 common_scripts\_createfx::set_origin_and_angles((2648.65,7116.27,1199.47),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("billow_snow_avalanche","5186"); + var_00 common_scripts\_createfx::set_origin_and_angles((955.42,-14742.2,-1741.48),(345.607,144.273,-88.7343)); + var_00.v["delay"] = 2; + var_00 = common_scripts\_createfx::createexploderex("falling_icechunks_child","902"); + var_00 common_scripts\_createfx::set_origin_and_angles((1330.92,3422.73,51.0806),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("falling_icechunks_child","902"); + var_00 common_scripts\_createfx::set_origin_and_angles((1325.14,3452.03,31.2206),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("snow_blowing_gust","4333"); + var_00 common_scripts\_createfx::set_origin_and_angles((1189.61,-1752.87,-702.812),(323.311,307,-97.4075)); + var_00 = common_scripts\_createfx::createexploderex("crash_res_exp","666"); + var_00 common_scripts\_createfx::set_origin_and_angles((1272.55,3488.78,172.693),(271.24,122.338,163.059)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((866.574,-3263.3,-771.939),(357,341.999,0)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((959.391,-2880.5,-838.44),(357,341.999,0)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((1104.36,-2664.06,-883.378),(357,341.999,0)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((875.432,-3232.7,-978.389),(357,341.999,0)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((794.864,-3409.2,-982.872),(357,341.999,0)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((639.781,-3419.64,-1150.42),(357,341.999,0)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((596.782,-3646.71,-1106.83),(357,341.999,0)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((724.823,-3585.89,-929.127),(357,341.999,0)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((690.662,-3883.23,-807.629),(357,341.999,0)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((726.254,-4105.97,-741.125),(357,341.999,0)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((659.207,-4038.19,-1103.17),(357,341.999,0)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((758.295,-4278.45,-1093.05),(357,341.999,0)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((745.03,-4531.98,-1011.8),(357,341.999,0)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((692.333,-4735.57,-935.831),(357,341.999,0)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((830.816,-4569.51,-829.516),(357,341.999,0)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((1253.59,-2306.83,-1009.12),(357,341.999,0)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((1219.06,-2425.8,-1080.34),(357,341.999,0)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((1102.68,-2581.17,-1152.3),(357,341.999,0)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((991.392,-2715.86,-1201.59),(357,341.999,0)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((886.3,-2894,-1230.9),(357,341.999,0)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((824.906,-3079.46,-1174.45),(357,341.999,0)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((1330.77,-2450.15,-949.293),(357,341.999,0)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((1229.69,-2556.22,-909.936),(357,341.999,0)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((1041.67,-2753.89,-864.332),(357,341.999,0)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((571.225,-3838.93,-1068.78),(357,341.999,0)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((1239.47,-2158.64,-1042.24),(357,341.999,0)); + var_00 = common_scripts\_createfx::createexploderex("snow_blowing_gust","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((810.454,-3258.49,-1130.17),(358.086,162.99,-88.4145)); + var_00 = common_scripts\_createfx::createexploderex("snow_blowing_gust","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((793.429,-3808.71,-530.557),(358.086,162.99,-88.4145)); + var_00 = common_scripts\_createfx::createexploderex("crash_bridge_thick_fall","901"); + var_00 common_scripts\_createfx::set_origin_and_angles((1170.96,3919.03,123.084),(271.304,316.397,124.219)); + var_00 = common_scripts\_createfx::createexploderex("crash_bridge_exp_fall_screen","907"); + var_00 common_scripts\_createfx::set_origin_and_angles((1168.99,3228.05,-877),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("crash_bridge_exp_far","909"); + var_00 common_scripts\_createfx::set_origin_and_angles((1102.48,3939.97,74.4286),(319.263,203.59,166.285)); + var_00 = common_scripts\_createfx::createexploderex("crash_bridge_exp_far","909"); + var_00 common_scripts\_createfx::set_origin_and_angles((1237.21,3904.05,83.4943),(321.203,6.71631,15.9028)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((745.14,-4891.99,-886.425),(357,341.999,0)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((767.383,-5078.98,-821.687),(357,341.999,0)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((576.854,-5246.2,-722.748),(357.993,293.959,2.23029)); + var_00 = common_scripts\_createfx::createexploderex("warbird_ice_impact","3131"); + var_00 common_scripts\_createfx::set_origin_and_angles((950.585,-16112.2,-1546.29),(312,109.999,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("snow_blowing_gust","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((884.107,-5351.52,-255.07),(342.662,153.501,-87.2277)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((713.399,-5419.81,-383.157),(357.037,332.987,-39.5307)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((217.29,-5318.55,-402.215),(341.451,302.109,-23.5749)); + var_00 = common_scripts\_createfx::createexploderex("snow_blowing_gust","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((872.374,-4655.14,-512.347),(357.526,197.011,-89.7566)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19.6459,-5237.18,-696.556),(355.491,292.712,-91.5136)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((497.838,-5545.15,-617.325),(355.491,292.712,-91.5136)); + var_00 = common_scripts\_createfx::createexploderex("ledge_snow_hvy_wind_a_lrg","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((269.961,-5168.04,-710.182),(355.491,292.712,-91.5136)); + var_00 = common_scripts\_createfx::createexploderex("snow_blowing_gust","4555"); + var_00 common_scripts\_createfx::set_origin_and_angles((-419.678,-5259.06,-478.537),(354.025,92.0545,-73.4664)); + var_00 = common_scripts\_createfx::createexploderex("smoke_pillar_black_large_slow","2025"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4021.97,-8252.23,-1335.85),(292,125.999,-89.9996)); + var_00 = common_scripts\_createfx::createexploderex("warbird_ice_impact","3122"); + var_00 common_scripts\_createfx::set_origin_and_angles((648.043,-17728.9,-697.229),(312,109.999,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("warbird_ice_impact","3111"); + var_00 common_scripts\_createfx::set_origin_and_angles((1016.02,-17962.4,-431.48),(312,109.999,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("fire_wreckage_ground","1300"); + var_00 common_scripts\_createfx::set_origin_and_angles((3463.35,7649.95,2679.79),(275,19.9955,160.002)); + var_00 = common_scripts\_createfx::createexploderex("falling_chunks","3131"); + var_00 common_scripts\_createfx::set_origin_and_angles((968.774,-14548.9,-1730.59),(354,148.999,-180)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("avalanche_flowing_exfil","3131"); + var_00 common_scripts\_createfx::set_origin_and_angles((1173.18,-14018.9,-1974.46),(6.80611,138.366,175.387)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("fire_wreckage_ground","1300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4782.71,7406.65,2605.34),(275,19.9947,120.403)); + var_00 = common_scripts\_createfx::createexploderex("fire_wreckage_ground","1300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4218.45,8053.81,2657.17),(275,19.9943,121.603)); + var_00 = common_scripts\_createfx::createexploderex("ice_chute_falling_debris","2238"); + var_00 common_scripts\_createfx::set_origin_and_angles((4676.48,4605.15,1978.42),(270,0,0)); + var_00.v["delay"] = 2; + var_00 = common_scripts\_createfx::createexploderex("ice_chute_falling_debris","2238"); + var_00 common_scripts\_createfx::set_origin_and_angles((4556.44,4556.79,2017.67),(270,0,0)); + var_00.v["delay"] = 2; + var_00 = common_scripts\_createfx::createexploderex("snow_blizard_far","8124"); + var_00 common_scripts\_createfx::set_origin_and_angles((4871.16,659.096,2708.5),(276,0,0)); + var_00 = common_scripts\_createfx::createexploderex("snow_blizard_far","8124"); + var_00 common_scripts\_createfx::set_origin_and_angles((5446.67,4206.26,2784.26),(276,0,0)); + var_00 = common_scripts\_createfx::createexploderex("snow_blizard_far","8124"); + var_00 common_scripts\_createfx::set_origin_and_angles((2186.51,2931.65,3295.58),(276,0,0)); + var_00 = common_scripts\_createfx::createexploderex("snow_blizard_far","8124"); + var_00 common_scripts\_createfx::set_origin_and_angles((5478.92,8049.44,2647.35),(276,0,0)); + var_00 = common_scripts\_createfx::createexploderex("snow_blizard_far","8124"); + var_00 common_scripts\_createfx::set_origin_and_angles((3293.76,9940.88,2854.25),(276,0,0)); + var_00 = common_scripts\_createfx::createexploderex("snow_blizard_far","8124"); + var_00 common_scripts\_createfx::set_origin_and_angles((5872.89,10402.8,2755.1),(276,0,0)); + var_00 = common_scripts\_createfx::createexploderex("snow_blizard_far","8124"); + var_00 common_scripts\_createfx::set_origin_and_angles((1660.41,9568.31,3214.34),(276,0,0)); + var_00 = common_scripts\_createfx::createexploderex("snow_blizard_far","8124"); + var_00 common_scripts\_createfx::set_origin_and_angles((5223.14,6623.38,2680.79),(276,0,0)); + var_00 = common_scripts\_createfx::createexploderex("snow_blizard_far","8124"); + var_00 common_scripts\_createfx::set_origin_and_angles((2807.58,3923.3,2798.52),(276,0,0)); + var_00 = common_scripts\_createfx::createexploderex("snow_blizard_far","8124"); + var_00 common_scripts\_createfx::set_origin_and_angles((4639.08,3876.29,2810.28),(276,0,0)); + var_00 = common_scripts\_createfx::createexploderex("snow_blizard_far","8124"); + var_00 common_scripts\_createfx::set_origin_and_angles((3316.22,6702.89,2789.01),(276,0,0)); + var_00 = common_scripts\_createfx::createexploderex("snow_blizard_far","8124"); + var_00 common_scripts\_createfx::set_origin_and_angles((3374.81,7537.47,2852.01),(276,0,0)); + var_00 = common_scripts\_createfx::createexploderex("snow_blowing_gust","4333"); + var_00 common_scripts\_createfx::set_origin_and_angles((1596.04,-2232.12,-740.036),(343.015,120.742,-83.7944)); +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/credits_s1_fx.gsc b/AW/PC/maps/createfx/credits_s1_fx.gsc new file mode 100644 index 0000000..fe24f63 --- /dev/null +++ b/AW/PC/maps/createfx/credits_s1_fx.gsc @@ -0,0 +1,19 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\credits_s1_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 2:07:26 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\utility::createoneshoteffect("test_effect"); + var_00.v["origin"] = (0,0,64); + var_00.v["angles"] = (270,0,0); + var_00.v["fxid"] = "test_effect"; + var_00.v["delay"] = -15; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/detroit_fx.gsc b/AW/PC/maps/createfx/detroit_fx.gsc new file mode 100644 index 0000000..f203bb3 --- /dev/null +++ b/AW/PC/maps/createfx/detroit_fx.gsc @@ -0,0 +1,2131 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\detroit_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 149 ms + * Timestamp: 4/22/2024 2:07:26 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\utility::createoneshoteffect("det_godray_fluorescent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4510.18,8568.16,-3.875),(84.999,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("det_godray_fluorescent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1684.24,10181.3,-59.2196),(84.999,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("det_godray_fluorescent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5017.18,9400.13,14.5708),(84.999,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("det_godray_fluorescent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4907.57,6434.02,62.1395),(84.999,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("det_godray_fluorescent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3442.98,4399.25,-12.875),(84.999,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_streetlight_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2665.44,4710.81,78.0922),(81.7697,60.3336,-84.8288)); + var_00 = common_scripts\utility::createoneshoteffect("light_streetlight_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2564.1,5306.13,113.445),(79.905,89.0948,-90.5717)); + var_00 = common_scripts\utility::createoneshoteffect("light_streetlight_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2713.25,4646.49,78.1896),(86.4352,231.342,-93.3953)); + var_00 = common_scripts\utility::createoneshoteffect("light_streetlight_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2563.2,5227.66,113.274),(81.0224,264.579,-93.9568)); + var_00 = common_scripts\utility::createoneshoteffect("light_streetlight_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2784.56,5790.53,114.01),(75.977,91.4351,-89.1505)); + var_00 = common_scripts\utility::createoneshoteffect("light_streetlight_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2783.83,5711.63,114.274),(79.0156,268.533,-90.8063)); + var_00 = common_scripts\utility::createoneshoteffect("light_streetlight_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4661.04,5359.32,115.573),(82.8334,234.201,-90.1393)); + var_00 = common_scripts\utility::createoneshoteffect("light_streetlight_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4614.64,5424.66,115.841),(81.4242,57.2186,-86.407)); + var_00 = common_scripts\utility::createoneshoteffect("godray_golden_dimmer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4359.67,7003.35,106.331),(7.45139,298.329,95.0608)); + var_00 = common_scripts\utility::createoneshoteffect("smoke_white_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4035.08,6651.63,57.125),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("godray_golden_dimmer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4597.82,7012.74,99.0558),(7.45139,298.329,95.0608)); + var_00 = common_scripts\utility::createoneshoteffect("godray_golden_dimmer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4532.69,7012.74,99.9236),(7.45139,298.329,95.0608)); + var_00 = common_scripts\utility::createoneshoteffect("godray_golden_dimmer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4660.74,7012.74,98.874),(7.45139,298.329,95.0608)); + var_00 = common_scripts\utility::createoneshoteffect("godray_golden_dimmer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4037.93,6661.34,195),(87.9993,359.994,0)); + var_00 = common_scripts\utility::createoneshoteffect("godray_golden_dimmer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4742.69,7016.85,98.357),(7.45139,298.329,95.0608)); + var_00 = common_scripts\_createfx::createexploderex("godray_golden_dimmer","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4816,6438.47,47),(87.9993,359.994,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_golden_dimmer","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4570.24,6704.19,52),(87.9993,359.994,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_golden_dimmer","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4399.15,6407.59,51),(87.9993,359.994,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_golden_dimmer","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3896.89,6617.09,45),(87.9993,359.994,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_dancefloor2","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1027.64,4441.75,90.822),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_stadium_nolens_blue","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12358.8,9253.95,117.765),(26.9832,219.519,174.084)); + var_00 = common_scripts\_createfx::createexploderex("light_stadium_nolens_blue","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12335.2,8992.71,105.151),(15.1995,154.378,176.814)); + var_00 = common_scripts\_createfx::createexploderex("light_stadium_nolens_blue","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12592.2,9639.87,79.512),(26.9387,237.902,178.828)); + var_00 = common_scripts\_createfx::createexploderex("light_stadium_nolens_blue_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13491.7,9496.56,-35.3104),(9.99767,270.176,91.0149)); + var_00 = common_scripts\_createfx::createexploderex("light_stadium_nolens_blue_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13588,9496.56,-35.5668),(9.99767,270.176,91.0149)); + var_00 = common_scripts\_createfx::createexploderex("godray_blue_rain","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2305.11,9287.85,155.006),(13.3331,347.315,-0.21091)); + var_00 = common_scripts\_createfx::createexploderex("godray_blue_rain","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2283.33,9464.09,151.125),(9.2859,343.286,-1.14174)); + var_00 = common_scripts\_createfx::createexploderex("light_spotlight_cone_haze","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1113.1,6255.95,-51.3365),(8.43166,103.95,-91.9944)); + var_00 = common_scripts\_createfx::createexploderex("light_spotlight_cone_haze","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-749.399,6391.23,-51.9245),(5.04521,129.6,-91.2034)); + var_00 = common_scripts\_createfx::createexploderex("headlight_gaz_yellow","4123"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2623.16,9038.1,-113.275),(352.206,307.44,-85.2611)); + var_00 = common_scripts\_createfx::createexploderex("headlight_gaz_yellow","4123"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2590.64,9080.52,-111.203),(353.232,332.795,-86.8622)); + var_00 = common_scripts\_createfx::createexploderex("fx_flare_med_blue_dim","1661"); + var_00 common_scripts\_createfx::set_origin_and_angles((-847.469,8765.99,183.858),(39.1141,126.79,-31.8474)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow_lrg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10965,5941.76,201.515),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8700.05,5921.77,202.728),(52.9991,270,90.0008)); + var_00 = common_scripts\_createfx::createexploderex("godray_blue_window","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1368.86,6102.91,50.125),(11.5933,125.939,-176.169)); + var_00 = common_scripts\_createfx::createexploderex("light_dust_particles","1010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10902.7,6445.7,112.056),(353,180,180)); + var_00 = common_scripts\_createfx::createexploderex("det_godray_blue_stairwell","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6033.85,7123.42,249.03),(32.7946,180.301,83.0316)); + var_00 = common_scripts\_createfx::createexploderex("godray_blue_blinders","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5630.87,6853.63,136.343),(19.0307,97.3688,-86.1668)); + var_00 = common_scripts\_createfx::createexploderex("godray_blue_blinders","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5563.61,6841.33,135.886),(14.8953,98.1419,-85.715)); + var_00 = common_scripts\_createfx::createexploderex("godray_blue_blinders","9211"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5563.61,6841.33,135.886),(14.8953,98.1419,-85.715)); + var_00 = common_scripts\_createfx::createexploderex("godray_blue_blinders","9211"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5563.61,6841.33,135.886),(14.8953,98.1419,-85.715)); + var_00 = common_scripts\_createfx::createexploderex("godray_blue_blinders","9211"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5563.61,6841.33,135.886),(14.8953,98.1419,-85.715)); + var_00 = common_scripts\_createfx::createexploderex("godray_blue_blinders","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5490.14,6850.04,133.064),(17.8699,127.058,-76.9532)); + var_00 = common_scripts\_createfx::createexploderex("light_trailer","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10621.1,5213.38,-64),(294,89.9996,-89.9998)); + var_00 = common_scripts\_createfx::createexploderex("light_trailer","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10647.9,6536.5,-64),(290,270,89.9995)); + var_00 = common_scripts\_createfx::createexploderex("light_trailer","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14680.7,9404.54,-60),(278.999,89.9976,-89.999)); + var_00 = common_scripts\_createfx::createexploderex("light_trailer","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14225.7,9399.14,-60),(306.045,202.63,167.471)); + var_00 = common_scripts\_createfx::createexploderex("light_stadium_nolens_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12039.6,6821.84,12.4768),(54.886,59.221,95.2331)); + var_00 = common_scripts\_createfx::createexploderex("lights_conelight_yellow","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-853.816,15447.5,44.875),(15.6368,126.831,6.1463)); + var_00 = common_scripts\_createfx::createexploderex("lights_conelight_yellow","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-616.124,13506.2,93.2653),(32.6368,54.831,-76.1463)); + var_00 = common_scripts\_createfx::createexploderex("lights_conelight_yellow","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-203.453,13515.4,86.5781),(24.268,149.831,-95.8763)); + var_00 = common_scripts\_createfx::createexploderex("lights_conelight_yellow","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-856.453,15800.4,46.5781),(18.268,235.831,-74.8763)); + var_00 = common_scripts\_createfx::createexploderex("godray_golden_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8531.28,10210.4,663.831),(334.127,348.236,16.9178)); + var_00 = common_scripts\_createfx::createexploderex("godray_golden_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8593.89,8363.57,569.752),(334.127,348.236,16.9178)); + var_00 = common_scripts\_createfx::createexploderex("godray_golden_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8729.48,9351.44,788.873),(334.127,348.236,16.9178)); + var_00 = common_scripts\_createfx::createexploderex("aircraft_light_red_blink","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7829.41,8604.54,278.353),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aircraft_light_red_blink","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7823.24,8655.84,276.757),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aircraft_light_red_blink","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15343.9,12217.8,469.43),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aircraft_light_red_blink","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15119.4,10955,473.073),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aircraft_light_red_blink","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10151.4,6360.45,237.981),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aircraft_light_red_blink","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11819.9,7170.79,326.451),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13528.5,11365.8,115.399),(75.6892,14.7976,-165.377)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13668.9,11100.2,113.773),(74.7394,349.175,170.006)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13718.5,11100.5,113.038),(75.0008,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14337.2,11362.1,113.973),(76.0008,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14356.9,11571.9,115.701),(77.0008,180,-179.999)); + var_00 = common_scripts\_createfx::createexploderex("aircraft_light_red_blink","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11717.1,9886.72,460.006),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aircraft_light_red_blink","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14585.2,10265.1,576.042),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aircraft_light_red_blink","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16264,9552.52,699.79),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aircraft_light_red_blink","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14597.1,11419.9,775.632),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aircraft_light_red_blink","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12905.3,11057.1,774.897),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aircraft_light_red_blink","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12789.3,11585.4,526.619),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13708.5,10707.6,114.721),(75.9658,265.948,175.052)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14069.5,9687.97,97.4896),(75.8579,352.031,172.786)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13529.6,11366.2,106.017),(75.9994,360,179)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13708.2,10708.8,105.739),(73.9998,271.002,-179.998)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14068.9,9688.11,88.6688),(74.9993,0,180)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13803.9,10710.6,104.268),(72.9998,270.002,-179.998)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13804.5,10710.4,114.25),(74.9999,269.935,-179.062)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14066.7,10695,113.25),(74.9998,269.004,-179.995)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13559.2,10951.6,112.617),(75.0008,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow_flip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13561.3,10951.6,103.365),(76.0001,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("godray_golden_window","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13515.6,10103.9,34.125),(11.9091,178.515,178.845)); + var_00 = common_scripts\_createfx::createexploderex("godray_golden_window","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14414.2,9808.84,30.3063),(16.6155,49.5191,179.832)); + var_00 = common_scripts\_createfx::createexploderex("godray_golden_window","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14487.3,10769.6,82.2498),(27.3159,5.66089,178.134)); + var_00 = common_scripts\_createfx::createexploderex("godray_golden_window","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13362.2,10439.7,44.6373),(4.5859,91.6271,-178.999)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13580.3,11188.3,114.558),(75.0009,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10492.7,6408.97,123.427),(90,0,0)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10285.4,6416.05,128.79),(90,0,0)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9888.68,6412.31,127.125),(90,0,0)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9530.78,6413.41,116.083),(90,0,0)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9485.49,5419.8,123.125),(90,0,0)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9841.31,5407.98,123.125),(90,0,0)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10296.6,5414.37,126.125),(90,0,0)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10616.3,5412.53,123.61),(90,0,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_dancefloor","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1334.46,5685.44,303.956),(65.9998,270.001,90.0024)); + var_00 = common_scripts\_createfx::createexploderex("godray_dancefloor","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1332.71,5787.97,241.875),(65.9998,270.001,90.0024)); + var_00 = common_scripts\_createfx::createexploderex("godray_dancefloor","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1607.03,5300.53,324.875),(69.4085,284.35,50.4697)); + var_00 = common_scripts\_createfx::createexploderex("red_spot_jetbike","9406"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3402.31,7197.65,-111.875),(4.53002,154.915,177.883)); + var_00 = common_scripts\_createfx::createexploderex("light_trailer","9125"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7028.59,6688.4,415.907),(26.652,103.45,91.786)); + var_00 = common_scripts\_createfx::createexploderex("light_trailer","9125"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7321.17,6684.45,412.938),(31.6141,95.4081,87.5565)); + var_00 = common_scripts\_createfx::createexploderex("light_trailer","9125"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7610.44,6676.35,417.956),(28.1529,79.5872,80.1197)); + var_00 = common_scripts\_createfx::createexploderex("light_trailer","9125"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7898.07,6681.19,420.997),(27.3412,50.2349,65.154)); + var_00 = common_scripts\_createfx::createexploderex("det_steam_spray","1759"); + var_00 common_scripts\_createfx::set_origin_and_angles((-967.333,9102.56,-142.71),(271,269.947,-9.94945)); + var_00 = common_scripts\_createfx::createexploderex("det_steam_spray","1759"); + var_00 common_scripts\_createfx::set_origin_and_angles((-971.406,9103.4,-127.629),(54.3609,152.982,-87.9783)); + var_00 = common_scripts\_createfx::createexploderex("light_fluorescent_smoke_dimmer","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7328.54,6508.71,453.648),(36.6181,232.841,65.6735)); + var_00 = common_scripts\_createfx::createexploderex("det_white_godray","1124"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7618.67,6527.71,418.413),(36.6181,232.841,65.6735)); + var_00 = common_scripts\_createfx::createexploderex("fluorescent_smoke_dim","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1161.46,9153.15,-182.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fluorescent_smoke_dim_sm","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-782.734,9649.33,99.7299),(357.144,278.9,88.1335)); + var_00 = common_scripts\_createfx::createexploderex("light_white_radiosity_fade_slow","1621"); + var_00 common_scripts\_createfx::set_origin_and_angles((-960.817,9621.24,99),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_white_radiosity_fade_slow","1622"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1111.11,9625.91,114),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_white_radiosity_fade_slow","1623"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1411.29,9743.47,126),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_white_radiosity_fade_slow","1624"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1647.69,9603.1,123),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_golden_dim","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1942.18,8073.77,141.053),(6.73029,13.6123,176.858)); + var_00 = common_scripts\_createfx::createexploderex("godray_golden_dim","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1292.42,6799.88,-60.126),(16.9823,85.9185,173.63)); + var_00 = common_scripts\_createfx::createexploderex("godray_golden_dim","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1149.37,6805.21,-57.6193),(16.9823,85.9185,173.63)); + var_00 = common_scripts\_createfx::createexploderex("godray_golden_dim","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1001.87,6810.62,-58.5837),(16.9823,85.9185,173.63)); + var_00 = common_scripts\_createfx::createexploderex("godray_golden_dim","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-878.982,6805.07,-63.685),(16.9823,85.9185,173.63)); + var_00 = common_scripts\_createfx::createexploderex("godray_golden_dim","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-745.512,6232.9,-74.4825),(18.4652,349.069,162.186)); + var_00 = common_scripts\_createfx::createexploderex("fog_ground_night","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2415.65,7201.43,-88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_02","1670"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1396.14,9414.29,-46.0476),(358,88.9999,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("godray_sm_grp","1670"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1353.78,9410.93,-113.288),(281.169,63.6974,-63.2597)); + var_00 = common_scripts\_createfx::createexploderex("fluorescent_smoke_dim","1660"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2057.74,9031.95,68.4305),(89,180.003,-179.997)); + var_00 = common_scripts\_createfx::createexploderex("godray_med_grp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1166.78,9333.37,86.382),(287.357,66.8025,117.344)); + var_00 = common_scripts\_createfx::createexploderex("godray_med_grp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2800.04,7214.66,115.7),(305.249,237.677,-113.648)); + var_00 = common_scripts\_createfx::createexploderex("godray_sm_grp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1410.38,9411.35,-76.125),(278.227,76.2326,-48.6734)); + var_00 = common_scripts\_createfx::createexploderex("godray_med_grp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1350.08,9409,160.812),(279.606,38.2481,145.205)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue","5500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1611.79,9384.67,215.125),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue","5500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1207.62,9384.32,102.125),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue_med","5500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1069.07,9389.24,243),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_dust_particles","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1400.06,9408.29,175.819),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_dust_particles_gold","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1373.65,2782.72,219.162),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_dust_particles_gold","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1707.99,2784.69,210.162),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_dust_particles_gold","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2233.82,2780.26,210.162),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_dust_particles_gold","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1526.84,2791.03,210.162),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_dust_particles_gold","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1412.61,2621.83,389.969),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_dust_particles_gold","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1665.01,2597.58,415.251),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_dust_particles_gold","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2026.93,2600.06,448.273),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_dust_particles_gold","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2392.16,2626.33,452.795),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_stadium","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11545.2,5645.33,989.545),(45.0736,64.1571,-5.2245)); + var_00 = common_scripts\_createfx::createexploderex("det_fire_horizon_glow","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8304.1,8655.95,289.958),(9.49212,355.843,-176.789)); + var_00 = common_scripts\_createfx::createexploderex("godray_med_grp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1034.45,9361.02,73.412),(287.357,66.8025,117.344)); + var_00 = common_scripts\_createfx::createexploderex("light_dust_particles","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1110.99,9410.89,217.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_dust_particles","5300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-989.383,9420.32,297.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_sm_grp","1670"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1413.25,9403,-3.288),(281.169,63.6974,-63.2597)); + var_00 = common_scripts\_createfx::createexploderex("fluorescent_smoke_dim","1660"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2057.74,9031.95,68.4305),(89,180.003,-179.997)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","1510"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8942.55,5563.82,-70.375),(270,78.2711,-169.271)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","1510"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8544.43,5492.21,-68.875),(270,78.2711,-169.271)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","1510"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8108.02,6213.75,-71.2415),(270,78.2711,-169.271)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","1510"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8118.94,5673.56,-71.2415),(270,78.2711,-169.271)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","1510"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7534.8,6249.34,-67.9899),(270,78.2711,-169.271)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","1510"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7681.78,5740.84,-71.9899),(270,78.2711,-169.271)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","1510"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7243.88,5763.27,-69.4302),(270,78.2711,-169.271)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2744.07,7744.94,-156.488),(270.036,269.157,-2.22699)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3087.92,7735.67,-157.318),(270.036,269.716,-2.78549)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2776.99,7207.69,-156.085),(270.036,269.266,-2.33612)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3120.84,7198.43,-156.915),(270.036,269.725,-2.79432)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2570.31,8236.31,-149.085),(270.036,269.318,-2.38829)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2920.17,8108.02,-157),(270.999,178.998,87.9323)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2560.33,9176.58,-152.085),(271.999,177.964,88.9654)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2547.65,8830.17,-148.898),(271.023,191.077,75.8611)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2898.67,8447.54,-157),(274,180.518,86.4139)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_med","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3281.65,7053.23,-14.4115),(271.173,189.693,170.381)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_med","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3283.26,7257.76,-14.2785),(271.173,189.693,170.381)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_med","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3282.86,7158.96,-13.9501),(271.173,189.693,170.381)); + var_00 = common_scripts\_createfx::createexploderex("flies_landing","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1077.83,9751.83,-54.7405),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("flies_landing","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-846.465,9616.28,-70.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("flies_wall","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-900.137,9733.97,-69.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("flies_landing","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1522.56,8746.99,79.2813),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_lrg","2500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6862.29,9387.47,146.518),(272.103,213.104,-121.01)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_lrg","2500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6464.69,9372.75,150.933),(272.103,213.104,-121.01)); + var_00 = common_scripts\_createfx::createexploderex("moths_area_sml","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-728.842,9356.05,218.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("moths_area_sml","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2190.3,8710.18,74.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("moths_area_sml","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1062.55,8950.67,-69.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_med","2500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5168.87,9651.09,56.8031),(271.664,226.042,134.042)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_med","2500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5179.25,9551.08,47.3612),(285.512,258.386,101.365)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_med","2500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4736.15,9392.78,-27.7252),(271.101,282.439,167.674)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_med","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2961.51,7536.25,69.4103),(271.173,189.693,80.381)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_med","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3114.59,7539.18,52.9948),(283.161,181.827,89.2281)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_lrg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7346.92,7201.84,313.928),(271.173,281.701,167.373)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_lrg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7679.32,7079.31,307.272),(271.173,281.707,169.366)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_lrg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7329,7260,248.425),(271.173,189.693,170.381)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue_shot","5568"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1472.9,9601.18,-40.875),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue_shot","5568"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1367.83,9610.31,-57.875),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue_shot","5568"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1344.58,9672.26,-16.875),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue_shot","5568"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1445.73,9698.27,-41.3362),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue_shot","5568"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1326.56,9604.91,-49.3864),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue_shot","5568"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1499.14,9536.88,-49.875),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_02","1669"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1365.64,9355.44,201.875),(358,88.9999,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_02","1669"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1256.75,9389.96,213.875),(358,88.9999,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_02","1669"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1522.98,9415.57,214.588),(358,88.9999,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_02","1669"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1613.35,9364.56,212.853),(358,88.9999,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_02","5001"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1469.56,9420.59,254.875),(271.008,178.367,140.454)); + var_00 = common_scripts\_createfx::createexploderex("godray_med_grp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1099.38,9413.18,137.125),(287.357,66.8025,117.344)); + var_00 = common_scripts\_createfx::createexploderex("godray_sm_grp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1485.97,9387.74,-17.125),(278.227,76.2326,-48.6734)); + var_00 = common_scripts\_createfx::createexploderex("leaves_blowing","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3172.32,7657.94,42),(16.1938,278.595,-3.97929)); + var_00 = common_scripts\_createfx::createexploderex("leaves_blowing","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3099.54,8423.73,-36),(7.28196,310.387,9.52552)); + var_00 = common_scripts\_createfx::createexploderex("light_stadium","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14738.5,12759.4,922.444),(40.0888,305.147,-176.073)); + var_00 = common_scripts\_createfx::createexploderex("light_stadium","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12909.2,12389.2,865.327),(35.7492,229.384,178.079)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_med","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2297.54,9022.34,66.869),(271.173,189.693,170.381)); + var_00 = common_scripts\_createfx::createexploderex("light_stadium","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13138.3,6299.83,974.79),(52.5262,118.296,-2.1351)); + var_00 = common_scripts\_createfx::createexploderex("light_stadium","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15331,6344.61,979.249),(41.687,34.9393,-12.5046)); + var_00 = common_scripts\_createfx::createexploderex("trash_blowing","1010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13894,10028.8,115.297),(80.721,251.986,151.662)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue_med","5571"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1158.24,9422.13,102.125),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue_med","5571"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1364.63,9422.04,60.125),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue_med","5571"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1326.52,9399.11,74.125),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue_med","5571"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1356.72,9434.93,-166.476),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("leaves_blowing","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7155.64,7991.33,-10),(13.0941,207.551,-5.49094)); + var_00 = common_scripts\_createfx::createexploderex("light_dust_particles","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-764.884,9375.71,277.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_lrg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7072.15,8337.76,152.755),(271.101,12.4445,167.667)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_lrg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7073.45,8738.75,148.911),(271.101,12.4445,167.667)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_lrg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7065.68,9160.39,152.093),(271.101,12.4445,167.667)); + var_00 = common_scripts\_createfx::createexploderex("flies_landing","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1460.49,9395.81,-33.1444),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("trash_blowing","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2696.79,9105.01,-77.8737),(0.567199,190.956,-3.89815)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_lrg","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3074.95,7266.72,281.035),(274,359.998,90.0002)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_lrg","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2667.43,7270.65,252.679),(274,359.998,90.0002)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_lrg","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3086.36,7070.68,277.059),(274,359.998,90.0002)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_lrg","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2673.82,7074.02,253.899),(274,359.998,90.0002)); + var_00 = common_scripts\_createfx::createexploderex("light_white_radiosity_sim_dim_sm","1525"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2816.24,7891.08,-105.833),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_white_rotate","1125"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8004.83,6538.24,77.2061),(357.999,270,89.9998)); + var_00 = common_scripts\_createfx::createexploderex("light_white_rotate","1125"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7218.78,6540.54,77.3253),(358.999,270,90.0001)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue","5500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2083.07,9091.74,-98),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue","5500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2079.22,9027.91,-174),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue","5500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2120.23,8980.83,-174),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_med","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4465.73,8737.19,-196.55),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_med","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4653.57,7211.86,-192.824),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_med","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4070.64,7147.28,-201.183),(271.664,226.042,134.042)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_med","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3836.03,8185.21,-195.376),(271.664,226.042,134.042)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2849.3,7404.27,-138),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2871.03,8114.69,-131),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2911.16,9336.82,-140),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_splash_hvy_400x400_lp_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7416.18,8462.64,-154.282),(272,90.0007,178.999)); + var_00 = common_scripts\_createfx::createexploderex("rain_splash_hvy_400x400_lp_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7416.86,8876.77,-156),(272,90.0007,178.999)); + var_00 = common_scripts\_createfx::createexploderex("rain_splash_hvy_400x400_lp_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7417.07,9313.58,-153),(270.035,179.479,89.521)); + var_00 = common_scripts\_createfx::createexploderex("rain_splash_hvy_400x400_lp_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7288.7,9713.34,-155),(271.001,267.002,1.99839)); + var_00 = common_scripts\_createfx::createexploderex("rain_splash_hvy_400x400_lp_runner","2500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6866.57,9651.54,-157),(270.035,179.566,89.4346)); + var_00 = common_scripts\_createfx::createexploderex("rain_splash_hvy_400x400_lp_runner","2500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6446.16,9653.78,-153),(270.035,179.332,89.6681)); + var_00 = common_scripts\_createfx::createexploderex("rain_splash_hvy_400x400_lp_runner","2500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5566.3,9608.84,-151),(270.035,179.566,89.4346)); + var_00 = common_scripts\_createfx::createexploderex("rain_splash_hvy_400x400_lp_runner","2500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6004.91,9612.19,-150),(270.035,179.566,89.4346)); + var_00 = common_scripts\_createfx::createexploderex("rain_splash_hvy_400x400_lp_runner","2500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5973.23,9766.27,-154),(272,90.0007,178.999)); + var_00 = common_scripts\_createfx::createexploderex("light_white_radiosity_sim_fade_out","1675"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2179.24,9445.17,147.64),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue","5500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1551.42,9409.01,37.125),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue","5500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2054.09,8939.11,-175.744),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue_dark","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1022.93,9730.42,-137),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue","5500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1874.25,9369.32,-156),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fog_wispy_sheeting","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2720.55,7469.65,-157),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("fog_wispy_sheeting","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2702.34,8664.19,-151.681),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("fog_wispy_sheeting","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2865.56,9064.89,-157),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("fog_wispy_sheeting","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2942.39,8245.36,-157),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("trash_blowing","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3034.21,7474.11,-38.411),(5.0165,195.872,10.8281)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_med","2500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5832.48,9792.15,45.3825),(271.956,64.2161,-62.0936)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_med","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7120.58,9052.78,110),(272.103,213.104,-121.01)); + var_00 = common_scripts\_createfx::createexploderex("leaves_blowing","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7245.81,7613.09,223.867),(12.7034,236.289,4.05439)); + var_00 = common_scripts\_createfx::createexploderex("leaves_blowing","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7293.49,8498.02,181.393),(22.2059,226.336,1.84016)); + var_00 = common_scripts\_createfx::createexploderex("trash_blowing","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7521.91,7205.03,6.7018),(357.174,140.008,17.6453)); + var_00 = common_scripts\_createfx::createexploderex("leaves_blowing","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3055.9,7456.01,-84.2499),(3.29376,213.688,-16.3429)); + var_00 = common_scripts\_createfx::createexploderex("leaves_blowing","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7099.06,9370.8,-7.6573),(17.0287,209.803,0.301726)); + var_00 = common_scripts\_createfx::createexploderex("trash_blowing","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7136.05,9569.05,-55.3684),(355.954,115.975,0.320144)); + var_00 = common_scripts\_createfx::createexploderex("leaves_blowing","2500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4733.4,9416.46,-21.7733),(15.5286,152.252,-0.787978)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_med","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7122.09,8731.83,-5.998),(272.103,213.104,-121.01)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_med","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7121.76,8413.75,95.994),(272.103,213.104,-121.01)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_med","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7120.17,9372.05,-7.03101),(272.103,213.104,-121.01)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4689.1,8731.46,-174.909),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4574.15,8718.74,-173.125),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4567.07,8725.58,-173.125),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4372.93,8374.81,-173.125),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4228.95,8376.25,-174.125),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4215.23,8384.3,-169.837),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4007.69,8551.62,-165.914),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3929.73,8516.27,-183.142),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4152.1,8388.65,-165.514),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4032,8703.69,-169.147),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3912.24,8006.45,-165.162),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3953.59,7640.2,-166.125),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3823.04,8231.69,-172.279),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3834.94,8224.21,-179.813),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4228.21,8320.61,-175.269),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4215.41,8327.68,-170.981),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4142.71,7868.39,-165.125),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4203.46,8227.52,-166.125),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3835.94,7786.66,-165.125),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3823.19,7781.89,-169.125),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4388.37,7295.97,-166.749),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4444.07,7104.02,-173.967),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4167.19,7068.72,-165.125),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4694.69,7071.63,-173.125),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4903.74,7220.32,-173.125),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4967.21,7767.17,-169.125),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4369.81,8119.72,-167.125),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_med","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4556.94,7334.63,-221.125),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_med","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3990.87,7842.46,-197.125),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_med","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4009.5,8351.42,-173.125),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_med","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4538.27,6959.01,-221.125),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_med","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4106.43,7336.02,-221.125),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_med","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4308.64,8349.65,-189.125),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_med","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4746.58,8348.76,-189.125),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_med","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4736.58,8777.67,-181.125),(271.406,55.2155,-145.113)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_med","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4538.65,8534.14,-173.125),(271.664,226.042,134.042)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_med","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4285.48,8586.98,-167.56),(271.664,226.042,134.042)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_med","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3824.99,8589.21,-185.125),(271.664,226.042,134.042)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_med","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3829.89,8174.3,-183.125),(271.664,226.042,134.042)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_med","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4289.35,8083.16,-189.125),(271.664,226.042,134.042)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_med","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4286.46,7574.48,-197.125),(271.664,226.042,134.042)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_med","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4289.33,7156.32,-197.125),(271.664,226.042,134.042)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_med","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4537.79,7590.98,-197.125),(271.664,226.042,134.042)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_lrg","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2526.18,7070.27,198.136),(274,359.998,90.0002)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_lrg","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2915.91,7021.03,195.395),(274,359.998,90.0002)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_lrg","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2350.47,7171.48,159.22),(274,359.998,90.0002)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_lrg","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3185.81,7035.2,155.981),(274,359.998,90.0002)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue_shot","5612"); + var_00 common_scripts\_createfx::set_origin_and_angles((-865.013,9329.85,-66.6496),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue_shot","5612"); + var_00 common_scripts\_createfx::set_origin_and_angles((-970.973,9362.55,-70),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_02","5613"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1616.84,9463.05,45.3799),(358,88.9999,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue_light","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2582.81,8444.24,-172),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue_light","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2459.39,9173.58,-153),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue_light","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2624.14,9198.62,-172),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue_light","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2854.32,9728.37,-172),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue_dark","5500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-841.366,9553.34,-96),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fluorescent_smoke_dim_sm","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-734.663,9353.3,233),(353.872,243.137,89.963)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue_dark","5571"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1115.18,9569.73,-197.875),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_med_grp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1038.51,9344.99,59.125),(287.357,66.8025,117.344)); + var_00 = common_scripts\_createfx::createexploderex("godray_med_grp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1158.54,9341.37,165),(287.357,66.8025,117.344)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7401.01,8807.02,-156.2),(270,90,-122)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7346.56,8939.48,-157),(270,90,-107)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7513.67,9237.1,-157),(270,180,173.999)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7187.86,9630.09,-157),(270,0,-45.6023)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","2500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6487.86,9756,-155),(270,180,125)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4491.99,7650.17,-333.075),(272,89.9424,-160.944)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4725.33,7446.13,-330.875),(272,89.9424,-160.944)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4184.68,7435.84,-332.945),(272,89.9344,-170.536)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4364.2,7013.63,-332.409),(272,89.9424,-160.944)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_fat_splash","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7340.85,7265.74,-129),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_med","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2297.05,8971.12,63.8051),(271.173,189.693,170.381)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_fat_splash","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2917.84,7014.61,-154.827),(271.93,90.0414,-90.041)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_fat_splash","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3190.08,7032.1,-156.539),(271.93,90.0414,-90.041)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_med","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3040.68,7547,40.003),(271.173,189.693,80.381)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_fat_splash","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3042.8,7546.28,-153),(271.93,90.0414,-90.041)); + var_00 = common_scripts\_createfx::createexploderex("det_gate_open_smk_clear","1165"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7611.94,6615.73,-110.636),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue_med","5571"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1429.68,9338.55,213),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue_med","5571"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1567.73,9338.21,203),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("leaves_blowing","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8198.7,6473.48,115.083),(15.8797,330.544,13.7189)); + var_00 = common_scripts\_createfx::createexploderex("trash_blowing","1510"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7984.52,6392.19,9.99867),(359.512,222.922,10.4304)); + var_00 = common_scripts\_createfx::createexploderex("leaves_blowing","1510"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8194.33,6475.32,111.551),(15.8797,330.544,13.7189)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue","5500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1956.82,9099.31,-88.7772),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue","5500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1895.86,9234,-79.6552),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue","5500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1955.29,9019.83,-23.0397),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue","5500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-837.471,9109.59,-212.875),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cloak_scare_papers","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-844.146,9286.69,-22),(8.64782,253.162,17.3472)); + var_00.v["flag"] = "vfx_school_room_1b_exit"; + var_00 = common_scripts\_createfx::createexploderex("falling_dust_subtle","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-877.046,9499.06,15.9848),(358,88.9999,-90.0001)); + var_00.v["flag"] = "vfx_school_room_1b_exit"; + var_00 = common_scripts\_createfx::createexploderex("water_stream_med","2500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6428.78,9419.43,17.3785),(271.956,64.2161,-62.0936)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_med","2500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5163.58,9683.91,49.8505),(271.956,64.2161,-62.0936)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4250.32,7273.44,-332.302),(272,89.9424,-160.944)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4641.49,7096.68,-331.101),(272,89.9424,-160.944)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4438.46,7493.99,-332.396),(272,89.9424,-160.944)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7324.95,9162.37,-157),(270,0,15.399)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7562.74,9018.09,-157.4),(270,0,-13.2012)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7434.65,8665.48,-157),(270,180,138.999)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","2500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6748.08,9589.84,-156.6),(270,0,-60.0002)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","2500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6914.29,9708.11,-157),(270,0,-25.0001)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","2500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6067.66,9468.71,-157.635),(270,90,180)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6179.25,9807.15,-157.22),(270,0,-35.4004)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4702.86,7605.39,-333.275),(270,0,-48.8004)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4792.63,7729.02,-332.075),(270,0,-48.8004)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4592.3,7682.81,-329.275),(270,0,-48.8004)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4726.63,6938.48,-332.875),(270,0,-48.8004)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4404.46,7352.95,-332.397),(270,0,-48.8004)); + var_00 = common_scripts\_createfx::createexploderex("floating_foam_runner_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4528.62,6851.26,-332.408),(270,0,-51.8004)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4489.36,7200.74,-332.412),(270,0,-48.8004)); + var_00 = common_scripts\_createfx::createexploderex("floating_foam_runner_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4287.51,6720.18,-332.389),(270,0,-51.8004)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7186.49,9506.54,-157),(270,126.87,-157.87)); + var_00 = common_scripts\_createfx::createexploderex("floating_bottles_runner_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4649.88,7699.72,-333.275),(270,0,-58.8002)); + var_00 = common_scripts\_createfx::createexploderex("floating_bottles_runner_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4524.64,7732.54,-333.275),(270,0,-58.8002)); + var_00 = common_scripts\_createfx::createexploderex("floating_bottles_runner_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4850.19,7398.29,-335.4),(270,0,-58.8002)); + var_00 = common_scripts\_createfx::createexploderex("floating_bottles_runner_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4750.37,7070.95,-333.275),(270,0,-58.8002)); + var_00 = common_scripts\_createfx::createexploderex("floating_bottles_runner_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4688.36,6717.23,-333.675),(270,0,-58.8002)); + var_00 = common_scripts\_createfx::createexploderex("floating_bottles_runner_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4460.42,6687.01,-333.675),(270,0,-55.2002)); + var_00 = common_scripts\_createfx::createexploderex("floating_bottles_runner_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4452.17,6856.18,-333.275),(270,0,-58.8002)); + var_00 = common_scripts\_createfx::createexploderex("floating_bottles_runner_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4526.02,6972.64,-333.675),(270,0,-58.8002)); + var_00 = common_scripts\_createfx::createexploderex("floating_bottles_runner_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4331.11,7151.26,-333.275),(270,0,-58.8002)); + var_00 = common_scripts\_createfx::createexploderex("floating_bottles_runner_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4582.44,7402.7,-333.675),(270,0,-58.8002)); + var_00 = common_scripts\_createfx::createexploderex("floating_bottles_runner_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5072.59,7715.92,-333.064),(270,0,-58.8002)); + var_00 = common_scripts\_createfx::createexploderex("floating_bottles_runner_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4267,7623.76,-333.981),(270,0,-58.8002)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7510.4,8511.13,-153.968),(270,0,-24.0005)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7347.02,8529.98,-155.363),(270,0,-36.4006)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7539.39,8727.52,-156.2),(270,0,-30.001)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7406.22,9115.78,-157),(270,353.191,-5.59164)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7329.75,9410.49,-157),(270,0,-28.401)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7431.95,9663.07,-157),(270,0,5.19909)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7146.62,9771.45,-157),(270,0,-9.20111)); + var_00 = common_scripts\_createfx::createexploderex("fog_ambient_night_nonlit","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3488.35,8256.2,-295.875),(271.406,55.1839,129.918)); + var_00 = common_scripts\_createfx::createexploderex("fog_ambient_night_nonlit","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4163.97,8937.95,-299.875),(271.406,55.1584,-165.057)); + var_00 = common_scripts\_createfx::createexploderex("fog_ambient_night_nonlit","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5277.97,8743.25,-295.875),(271.406,55.1622,80.9395)); + var_00 = common_scripts\_createfx::createexploderex("fog_ambient_night_nonlit","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5426.69,8154.4,-302.875),(271.406,55.1449,124.957)); + var_00 = common_scripts\_createfx::createexploderex("fog_ambient_night_nonlit","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5296.18,7581.58,-322.875),(271.406,55.1757,116.926)); + var_00 = common_scripts\_createfx::createexploderex("fog_ambient_night_nonlit","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5354.77,7103.05,-314.915),(271.406,55.1719,100.93)); + var_00 = common_scripts\_createfx::createexploderex("fog_ambient_night_nonlit","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4906.59,6692.87,-305.875),(271.406,55.1595,29.9415)); + var_00 = common_scripts\_createfx::createexploderex("fog_ambient_night_nonlit","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4161.28,6763.94,-310.273),(271.406,55.1414,56.9589)); + var_00 = common_scripts\_createfx::createexploderex("det_fog_ground_dense_mid_nonlit","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4722.15,8214.49,-308.875),(270,0,-90.0004)); + var_00 = common_scripts\_createfx::createexploderex("det_fog_ground_dense_mid_nonlit","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5089.75,8516.56,-308.875),(270,333.435,-120.436)); + var_00 = common_scripts\_createfx::createexploderex("det_fog_ground_dense_mid_nonlit","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3708.21,8611.85,-308.875),(270,180,26.9995)); + var_00 = common_scripts\_createfx::createexploderex("det_fog_ground_dense_mid_nonlit","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4391.66,8056.3,-308.875),(270,0,-154)); + var_00 = common_scripts\_createfx::createexploderex("det_fog_ground_dense_mid_nonlit","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4763.97,8025.82,-328.875),(270,170.538,93.462)); + var_00 = common_scripts\_createfx::createexploderex("det_fog_ground_dense_mid_nonlit","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3589.51,8117.89,-308.875),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("det_fog_ground_dense_mid_nonlit","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5230.35,8080.94,-305.875),(270,0,-120)); + var_00 = common_scripts\_createfx::createexploderex("det_fog_ground_dense_mid_nonlit","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5058.8,7473,-334.875),(270,180,7.9997)); + var_00 = common_scripts\_createfx::createexploderex("det_fog_ground_dense_mid_nonlit","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4917.06,6996.96,-325.001),(270,180,13.9997)); + var_00 = common_scripts\_createfx::createexploderex("det_fog_ground_dense_mid_nonlit","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4666.38,7758.17,-341.875),(270,0,119)); + var_00 = common_scripts\_createfx::createexploderex("det_fog_ground_hoverbike_static","3001"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4636.33,8655.75,-308.875),(270,0,-57.0005)); + var_00 = common_scripts\_createfx::createexploderex("det_fog_ground_hoverbike_static","3002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4335.01,8487.67,-308.875),(270,0,-13.0006)); + var_00 = common_scripts\_createfx::createexploderex("det_fog_ground_hoverbike_static","3003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4063.18,8358.11,-308.875),(270,0,-69.0007)); + var_00 = common_scripts\_createfx::createexploderex("det_fog_ground_hoverbike_static","3004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4012.52,8038.61,-308.875),(270,0,-84.0007)); + var_00 = common_scripts\_createfx::createexploderex("det_fog_ground_hoverbike_static","3005"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4025.88,7667.8,-319.2),(270,0,-140.001)); + var_00 = common_scripts\_createfx::createexploderex("det_fog_ground_hoverbike_static","3007"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4673.07,7366.34,-335.875),(270,0,-92.0013)); + var_00 = common_scripts\_createfx::createexploderex("det_fog_ground_hoverbike_static","3008"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4517.17,7179.05,-334.875),(270,0,-21.0017)); + var_00 = common_scripts\_createfx::createexploderex("det_fog_ground_hoverbike_static","3009"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4228.55,7165.87,-334.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_barrel_foam_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7300.36,9320.22,-157),(270,8.1301,65.8688)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_pallet_foam_runner","2500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6644.92,9564.79,-156),(270,0,24.9998)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","2500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6292.71,9461.78,-157.267),(270,0,-61.4006)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","2500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6194.23,9646.66,-156.957),(270,0,-49.202)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","2500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6878.91,9538.72,-155),(270,0,-25.0001)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_pallet_foam_runner","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4593.09,7607.58,-332.875),(270,0,40.1989)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_barrel_foam_runner","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4398.09,7147.32,-332.875),(270,0,40.1989)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_runner_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4681.36,7287.2,-331.875),(270,0,-48.8004)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_pallet_foam_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7547.81,9099.86,-157),(270,3.94519,44.8537)); + var_00.v["delay"] = 0.2; + var_00 = common_scripts\_createfx::createexploderex("floating_trash_barrel_foam_runner","2500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5946.48,9720.05,-157.418),(270,348.111,72.4868)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue_med","5500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1346.55,9433.04,45.125),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_pallet_foam_runner","2500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6777.6,9652.72,-156.8),(270,0,24.9998)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_pallet_foam_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7222.11,9436.68,-157),(270,0,24.9998)); + var_00.v["delay"] = 0.15; + var_00 = common_scripts\_createfx::createexploderex("floating_trash_pallet_foam_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7451.56,8793.86,-157),(270,0,54.5985)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_barrel_foam_runner","2500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6162.82,9573.89,-157.055),(270,0,41.1985)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_barrel_foam_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7076.94,9735.96,-157),(270,0,45.9984)); + var_00.v["delay"] = 0.15; + var_00 = common_scripts\_createfx::createexploderex("floating_trash_barrel_foam_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7332.25,8613.62,-157.2),(270,0,45.9984)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_pallet_foam_runner","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4614.81,7210.18,-333.475),(270,0,28.5985)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_barrel_foam_runner","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4298.9,7399.76,-333.203),(270,0,40.1989)); + var_00 = common_scripts\_createfx::createexploderex("floating_trash_barrel_foam_runner","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4399.12,6914.05,-332.875),(270,0,40.1989)); + var_00 = common_scripts\_createfx::createexploderex("godray_golden_basement","5571"); + var_00 common_scripts\_createfx::set_origin_and_angles((-927.75,9178.2,-107.186),(14.773,2.2557,173.704)); + var_00 = common_scripts\_createfx::createexploderex("fluorescent_smoke_dim_sm","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1136.07,8933.9,-1.87502),(26.4145,102.62,98.2317)); + var_00 = common_scripts\_createfx::createexploderex("godray_golden_basement","5571"); + var_00 common_scripts\_createfx::set_origin_and_angles((-922.538,9120.6,-126.859),(17.7824,261.401,178.909)); + var_00 = common_scripts\_createfx::createexploderex("rain_splash_hvy_400x400_lp_runner","2500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5179,9706.37,-154.005),(270.035,179.566,89.4346)); + var_00 = common_scripts\_createfx::createexploderex("rain_splash_hvy_400x400_lp_runner","2500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4757.48,9619.5,-156),(270.035,179.566,89.4346)); + var_00 = common_scripts\_createfx::createexploderex("rain_splash_hvy_400x400_lp_runner","2500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5566.66,9846.77,-153.421),(270.035,179.566,89.4346)); + var_00 = common_scripts\_createfx::createexploderex("fog_low_lying_dlight","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7721.31,8813.69,-150),(270,183.576,-10.5768)); + var_00 = common_scripts\_createfx::createexploderex("fog_low_lying_dlight","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7519.06,9500.67,-141),(270,0,152.999)); + var_00 = common_scripts\_createfx::createexploderex("fog_low_lying_dlight","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6037.82,9782.65,-155),(270,0,-158.001)); + var_00 = common_scripts\_createfx::createexploderex("fog_low_lying_dlight","2500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4365.81,9593.48,-148.449),(270,0,129.999)); + var_00 = common_scripts\_createfx::createexploderex("fog_low_lying_dlight","2500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5546.68,9738.57,-149.608),(270,0,-158.001)); + var_00 = common_scripts\_createfx::createexploderex("leaves_blowing","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7201.72,8989.91,169.159),(22.2059,226.336,1.84016)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_fat_splash","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5189.32,9686.42,-156),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fog_low_lying_dlight","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7179.67,7612.01,-119),(270,0,77.9994)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_lrg","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2384.82,7357.92,141.299),(274,359.998,90.0002)); + var_00 = common_scripts\_createfx::createexploderex("det_fall_through_ceiling_1","5001"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1409.09,9423.59,213.693),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("det_fall_impact_1","5002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1423.05,9421.82,77),(270,180,8.9997)); + var_00 = common_scripts\_createfx::createexploderex("det_fall_through_ceiling_2","5003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1371.22,9422.45,89),(270,180,3.99967)); + var_00 = common_scripts\_createfx::createexploderex("det_fall_impact_2","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1351.65,9452.71,-167.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_stadium_nolens","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13355.7,9511.6,343.466),(31.3814,256.578,-39.2188)); + var_00 = common_scripts\_createfx::createexploderex("light_stadium","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11213.2,6723.68,988.546),(61.6654,219.646,-174.864)); + var_00 = common_scripts\_createfx::createexploderex("light_stadium_nolens","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10897.7,6623.86,426.295),(24.241,279.385,-2.07694)); + var_00 = common_scripts\_createfx::createexploderex("godray_golden_window","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4633.29,5913.11,-88.4195),(18.4454,273.011,7.44007)); + var_00 = common_scripts\_createfx::createexploderex("light_stadium_nolens","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13429.4,9536.76,60.0872),(31.9263,179.483,178.856)); + var_00 = common_scripts\_createfx::createexploderex("fog_wispy_sheeting","1010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13680.2,11275.4,-20.875),(270,356.424,90.5756)); + var_00 = common_scripts\_createfx::createexploderex("fog_wispy_sheeting","1010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13620.4,10630.7,-49.752),(270,357.138,112.861)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_med","1010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14183.4,10411.1,78.1425),(278,89.9988,-90.0008)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_med","1010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14188,9860.88,49.787),(270,352.875,97.1241)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_med","1010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13414.2,10633,65.9824),(270,352.875,97.1241)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_lrg","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2063.69,7075.08,228.486),(270,195.55,-105.553)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_lrg","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2063.85,7268.31,226.689),(270,195.55,-105.553)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_lrg","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-902.48,6926,-25.0941),(270,176.427,-86.4308)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_lrg","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1023.36,6931.93,-28.8681),(270,176.427,-86.4308)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_lrg","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1639.46,7258.4,112.386),(274,359.998,90.0002)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_lrg","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1602.7,7070.18,119.307),(274,359.998,90.0002)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_lrg","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2383.91,7355.8,141.635),(274,359.998,90.0002)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_lrg","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2350.42,7172.11,158.961),(274,359.998,90.0002)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_fat_splash","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1640.85,7250.88,-154),(271.93,90.0414,-90.041)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_fat_splash","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1601.31,7061.16,-154),(271.93,90.0414,-90.041)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_lrg","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-623.217,7131.49,90.9606),(274,359.998,90.0002)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_lrg","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-726.851,7042.9,133.541),(274,359.998,90.0002)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_fat_splash","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-731.778,7035.91,-155),(271.93,90.0414,-90.041)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue_dark","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-771.772,6699.55,-133.875),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("smoke_white_slow","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4701.46,6679.82,-121),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2543.1,4801.18,-126),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","8500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2450.3,5804.27,-13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","8500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3103.9,5617.47,-78.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","8500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4841.45,5545.66,-156.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_fluorescent_flicker","5145"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1751.96,9410.58,30.2579),(86.8351,341.587,-18.4385)); + var_00 = common_scripts\_createfx::createexploderex("light_stadium_nolens","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13550.9,12384.3,322.41),(23.6246,271.649,-143.967)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13233.4,10765.1,99.8492),(90,0,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13229,10763,112.698),(73.566,257.559,165.715)); + var_00 = common_scripts\_createfx::createexploderex("det_white_godray","1124"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8158.38,5275.03,424.97),(23.1763,135.735,176.403)); + var_00 = common_scripts\_createfx::createexploderex("det_white_godray","1124"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8082.53,5376.57,424.188),(20.4529,145.524,179.971)); + var_00 = common_scripts\_createfx::createexploderex("det_white_godray","1124"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7975.59,5382.37,424.118),(32.9116,79.2176,178.152)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","1500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13614.2,9073.84,-97.875),(270,5.13417,174.866)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7246.38,5755.92,-60),(270,78.2711,-169.271)); + var_00 = common_scripts\_createfx::createexploderex("trash_blowing","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7982.25,6394.44,12),(359.512,222.922,10.4304)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7530.25,6245.02,-66),(270,78.2711,-169.271)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","1510"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7652.9,6253.17,-72),(270,78.2711,-169.271)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1284.88,9353.45,-103.42),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_med","5300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1654.98,9377.84,313.765),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1339.76,9443.84,-192.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_med","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1340.06,9482.22,-86.4001),(270,0,89.9993)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_med","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1375.1,9351.8,-106.974),(270,0,89.9993)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_med","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1244.95,9408.6,-71.112),(270,0,179.999)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-813.556,9229.93,-100.699),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1028.53,9357.98,-110.682),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1072.57,9580.5,-119.728),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1071.29,9596.99,-119.753),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-964.579,9596.72,-119.757),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-876.096,9071.09,-109.884),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-959.307,9128.93,-81),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1032.98,9063.07,-109.717),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1066.63,9248.97,-109.643),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-798.813,8985.54,-104.731),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-800.053,9436.92,-104.696),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_med","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-762.192,9200.44,-94.8867),(270,0,179.999)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_med","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-806.833,9053.48,-104.51),(270,0,179.999)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_med","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-754.499,9332.11,-94.636),(270,0,179.999)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_sml","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-729.779,9186.03,-149.182),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_fat_splash","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-815.901,9228.91,-194.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_fat_splash","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-729.808,9186.29,-191.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_med","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1140.2,9244.91,-110.621),(270,0,89.9993)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_med","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1082.9,9252.63,-99.9742),(270,0,89.9993)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_fat_splash","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1215.94,9389.76,-190.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_fat_splash","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-801.185,9435.19,-190.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("lights_conelight_yellow","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1736.35,4010.06,163.885),(74.0194,175.917,-2.89064)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_window_view_nonlit","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1578.69,8025.74,232),(270,30.2757,59.7206)); + var_00 = common_scripts\_createfx::createexploderex("rain_attach_player_drizzle","121"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14168.5,12522.1,128.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_attach_player_steady","122"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14080.9,12537.2,128.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_attach_player_hvy","123"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14012.5,12502.4,128.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_splat_on_lens_hvy_rnr_night","123"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14012.5,12502.4,128.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_attach_player_hvy_speedy","124"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14012.5,12532.4,128.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","119"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7559.5,5936.14,-71.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8693.8,5983.67,206.192),(63.553,147.108,-34.917)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8641.29,5951.33,203.972),(83.9801,60.8777,-121.06)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8263.63,5951.23,214.236),(57.0514,161.145,-22.453)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8211.33,5979.79,212.015),(83.9801,60.8777,-121.06)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8211.38,5925.04,213.772),(64.999,270,90.0013)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8270.22,5154.52,215.214),(63.553,147.108,-34.917)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8270.97,5094.7,212.994),(83.9801,60.8777,-121.06)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8327.46,5125.95,211.75),(53.0599,172.287,1.56335)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8756.43,5149.3,215.508),(63.553,147.108,-34.917)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8700.32,5118.59,213.288),(83.9801,60.8777,-121.06)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8759.13,5091.68,212.044),(63.9125,218.431,47.5002)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9694.95,5918.52,207.529),(83.9801,60.8777,-121.06)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9759.18,5949.26,209.749),(63.553,147.108,-34.917)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9763.83,5889.81,206.285),(52.9991,270,90.0008)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10472.7,5920.46,209.408),(83.9801,60.8777,-121.06)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10525.8,5945.81,208.628),(63.553,147.108,-34.917)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10526.8,5894.79,210.164),(52.9991,270,90.0008)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10931,5925.94,208.818),(83.9801,60.8777,-121.06)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10972.4,5973.41,211.038),(63.553,147.108,-34.917)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11007.1,5922.54,207.574),(52.9991,270,90.0008)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12120.5,6386.7,187.361),(83.9801,60.8777,-121.06)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12153.7,6389.26,175.425),(90,0,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12172.8,6422.03,189.581),(63.553,147.108,-34.917)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12181.5,6361.89,186.117),(52.9991,270,90.0008)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow_lrg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10497.2,5924.65,203.911),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow_lrg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9731.18,5920.87,201.482),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow_lrg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8674.08,5952.54,207.453),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow_lrg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8230,5960.51,207.233),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow_lrg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8295.97,5128.79,205.257),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow_lrg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8734.99,5122.86,204.682),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13578.4,11552.1,115.851),(74.8235,240.955,-173.971)); + var_00 = common_scripts\_createfx::createexploderex("light_stadium_nolens","9235"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7542.43,6490.91,204.34),(28.1941,121.403,-172.106)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13959,11575.9,115.443),(76.1388,216.249,171.613)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14217.4,11301.9,115.403),(75.9622,274.269,-176.821)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13697.9,11337.4,115.695),(75.2876,43.9671,177.766)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13669.6,10749.6,113.228),(75.9662,356.282,177.148)); + var_00 = common_scripts\_createfx::createexploderex("det_shelf_dust","9201"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5626.76,7039.01,49.0805),(0.999541,269.998,0)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow_flip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14337.8,11361.5,105.259),(75.0001,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow_flip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14351.1,11572.2,104.676),(76.0001,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("falling_dust_subtle01","1165"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7625.01,6608.94,342.209),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("falling_dust_subtle01","1165"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7611.25,6614.74,222.079),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("leaves_blowing01","1165"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7607.89,6401.96,-37.568),(7.80029,269.001,-90.2581)); + var_00 = common_scripts\_createfx::createexploderex("lightning_bounce","1847"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7591.41,6272.35,81.124),(30.6929,98.471,173.247)); + var_00 = common_scripts\_createfx::createexploderex("water_curtain_01","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1143.48,4110.37,162.125),(0.961972,90.0143,-0.998784)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14068.8,10008.3,97.4233),(75.8916,7.57173,-173.436)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14354,11827.4,115.714),(74.4887,165.407,164.88)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14347.5,12099.7,116.104),(75.0009,180,-179.999)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14196.7,12194.8,115.321),(73.9695,86.3721,176.582)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow_flip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14196.1,12194.6,105.296),(72.9995,86.9926,179.993)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11623.4,5579.36,88.8661),(90,0,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11623.4,5581.26,98.3751),(77.7076,39.4022,75.3097)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11958.8,5762.23,97.5928),(77.7076,39.4022,75.3097)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11958.8,5760.33,88.0838),(90,0,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12410.3,6015.43,96.4889),(77.7076,39.4022,75.3097)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12410.3,6013.53,86.9799),(90,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_heavy_splash","1165"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7613.2,6542.68,356.169),(270,180,88.9997)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_heavy","1165"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7566.33,6545.58,196.929),(270,180,88.9997)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_ceiling_hole_nonlit","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1056.71,4350.79,118.599),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ceiling_hole","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1197.33,4567.76,811.953),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("car_fog_med","4123"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2400.74,9002.42,-35.875),(341.854,345.07,170.678)); + var_00 = common_scripts\_createfx::createexploderex("godray_golden_basement","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-910.232,8786.21,-113.944),(11.7348,82.2595,-92.3337)); + var_00 = common_scripts\_createfx::createexploderex("moths","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2041.16,8939.18,-12.111),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("water_curtain_01","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1331.86,4200.61,160.511),(0.947376,183,1.01292)); + var_00 = common_scripts\_createfx::createexploderex("water_curtain_01","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1292.88,4328.6,872.601),(359.001,0,-0.962066)); + var_00 = common_scripts\_createfx::createexploderex("water_curtain_01","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1185.01,4597.42,160.242),(0.961972,90.0143,-0.998784)); + var_00 = common_scripts\_createfx::createexploderex("water_curtain_01","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1396.77,4677.54,156.556),(0.961972,90.0143,-0.998784)); + var_00 = common_scripts\_createfx::createexploderex("water_curtain_01","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1058.21,4598.78,158.907),(0.961972,90.0143,-0.998784)); + var_00 = common_scripts\_createfx::createexploderex("water_curtain_01","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-962.126,4329.71,161.199),(359.001,0,-0.962066)); + var_00 = common_scripts\_createfx::createexploderex("water_curtain_01","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1390.23,4458.15,159.396),(359.037,270.013,0.998978)); + var_00 = common_scripts\_createfx::createexploderex("water_curtain_01","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1042.2,4206.14,541.875),(0.961972,90.0143,-0.998784)); + var_00 = common_scripts\_createfx::createexploderex("water_curtain_01","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1227.1,4185.35,615.875),(0.961972,90.0143,-0.998784)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_lrg","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1044.89,4187.43,867.934),(0.961972,90.0143,-0.998784)); + var_00 = common_scripts\_createfx::createexploderex("water_curtain_01","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1097.94,4190.15,865.079),(0.961972,90.0143,-0.998784)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_lrg","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1243.61,4191.21,869.478),(0.961972,90.0143,-0.998784)); + var_00 = common_scripts\_createfx::createexploderex("water_curtain_01","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-976.247,4266.6,822.412),(359.001,0,-0.962066)); + var_00 = common_scripts\_createfx::createexploderex("water_curtain_01","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1175.25,4192.58,864.802),(0.961972,90.0143,-0.998784)); + var_00 = common_scripts\_createfx::createexploderex("water_curtain_01","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1292.88,4243.09,870.43),(359.001,0,-0.962066)); + var_00 = common_scripts\_createfx::createexploderex("water_curtain_01","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1069.89,4549.91,870.664),(0.961972,90.0143,-0.998784)); + var_00 = common_scripts\_createfx::createexploderex("water_curtain_01","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1170.6,4549.88,870.387),(0.961972,90.0143,-0.998784)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_lrg","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1156.4,4440.53,868.75),(359.001,0,-0.962066)); + var_00 = common_scripts\_createfx::createexploderex("water_curtain_01","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-962.125,4344.64,858.724),(359.001,0,-0.962066)); + var_00 = common_scripts\_createfx::createexploderex("water_curtain_01","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1068.88,4190.69,340.391),(0.961972,90.0143,-0.998784)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_heavy_short","1166"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7622.73,6546.51,362.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_heavy_splash_short","1166"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7613.2,6542.68,356.169),(270,180,88.9997)); + var_00 = common_scripts\_createfx::createexploderex("fog_ground_static","1510"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11598,6177.77,-84.1578),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fog_ground_static","1510"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11218.7,6138.64,-73.0129),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fog_ground_static","1510"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11339.6,6257.57,-76.5647),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_blue_window","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1373.16,6500.83,-99.0629),(5.99686,24.7403,86.9965)); + var_00 = common_scripts\_createfx::createexploderex("light_stadium_nolens","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13752.6,9302.23,-63.875),(359.672,130.876,-100.513)); + var_00 = common_scripts\_createfx::createexploderex("godray_camp_blue","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13665.4,10383.9,113.087),(74.2642,152.325,-179.629)); + var_00 = common_scripts\_createfx::createexploderex("light_stadium_behind","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13448.1,9481.3,956.774),(55.7329,228.217,177.231)); + var_00 = common_scripts\_createfx::createexploderex("det_fog_ground_hoverbike_static","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1035.64,9014.14,-201.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_ceiling_hole_nonlit","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1320.75,9415.54,127),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_ceiling_hole_nonlit","5100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1287.17,9411.98,-147.168),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2875.79,8764.45,-134),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_window_view_nonlit","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-862.753,8043.88,214.977),(270,4.08562,88.9136)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_window_view_nonlit","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-623.782,8479.32,190.2),(270,0,179.999)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_window_view_nonlit","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-628.249,9658.04,191.349),(270,0,179.999)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_window_view_nonlit","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-766.799,9896.39,191.493),(270,187.125,74.8736)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_window_view_nonlit","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1450.47,9910.95,196.446),(270,187.125,74.8736)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_window_view_nonlit","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2259.81,9375.21,166.128),(270,0,9.99839)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_window_view_nonlit","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2300.85,8943.66,203.992),(270,180,176.998)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_window_view_nonlit","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1574.58,7899.95,105.765),(270,6.70984,81.2882)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1994.03,7416.28,-157),(270,0,168.999)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1168.31,7275.37,-147),(272.231,26.5463,-26.7036)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-652.893,7246.1,-173),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1567.03,7194.73,-157),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_splash_sm_25x25_infrequent_lp","1500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12447,8077.43,-97.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_splash_sm_25x25_infrequent_lp","1500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12645.6,8359.19,-90),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("floating_foam_slow_runner_lp","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1340.48,9426.83,-191.5),(270,355.601,82.3982)); + var_00 = common_scripts\_createfx::createexploderex("floating_foam_slow_runner_lp","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-778.112,9422.6,-191.5),(270,0,-6.00001)); + var_00 = common_scripts\_createfx::createexploderex("floating_foam_slow_runner_lp","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-798.021,9060.87,-191.5),(271,0,0)); + var_00 = common_scripts\_createfx::createexploderex("floating_foam_slow_runner_lp","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1086.05,9246.63,-191.5),(270,0,51.9993)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_fat_splash","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-957.513,9129.47,-191.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_fat_splash","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1069.39,9248.55,-191.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("floating_foam_slow_runner_lp","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-919.917,9189.65,-191.5),(270,0,51.9993)); + var_00 = common_scripts\_createfx::createexploderex("det_buttress_collapse","1601"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7852.75,15451.9,204.714),(359.999,89.9991,0)); + var_00 = common_scripts\_createfx::createexploderex("det_buttress_collapse","1602"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7852.75,13948.8,204.714),(359.999,89.9991,0)); + var_00 = common_scripts\_createfx::createexploderex("det_buttress_collapse","1603"); + var_00 common_scripts\_createfx::set_origin_and_angles((-410.02,4500.08,503.769),(53.9869,358.624,-1.70126)); + var_00 = common_scripts\_createfx::createexploderex("godray_track_binders","14000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1486.92,3296.41,503.242),(87.9991,269.551,-179.448)); + var_00 = common_scripts\_createfx::createexploderex("godray_track_binders","14000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2002.13,3289.79,528.647),(87.9991,269.55,-178.449)); + var_00 = common_scripts\_createfx::createexploderex("godray_track_binders","14000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2512.68,3292.72,552.087),(87.9991,269.55,-179.45)); + var_00 = common_scripts\_createfx::createexploderex("godray_track_binders","14000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3287.93,3292.64,581.91),(87.9991,269.555,-178.444)); + var_00 = common_scripts\_createfx::createexploderex("godray_track_binders","14000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4572.44,3287.44,616.683),(87.9991,269.556,-178.443)); + var_00 = common_scripts\_createfx::createexploderex("godray_track_binders","14000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5061.7,3332.84,615.269),(87.8376,212.281,147.314)); + var_00 = common_scripts\_createfx::createexploderex("godray_track_binders","14000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1361.27,2773.13,496.766),(87.9991,269.548,-1.45179)); + var_00 = common_scripts\_createfx::createexploderex("godray_track_binders","14000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3157.61,2777.22,575.927),(87.9991,269.554,-1.44559)); + var_00 = common_scripts\_createfx::createexploderex("godray_track_binders","14000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3926.13,2779.11,615.769),(87.9991,269.557,-0.443554)); + var_00 = common_scripts\_createfx::createexploderex("godray_track_binders","14000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4443.95,2775.05,616.014),(87.9991,269.549,-0.450744)); + var_00 = common_scripts\_createfx::createexploderex("godray_track_binders","14000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4978.59,2774.7,615.364),(87.9991,269.552,5.55253)); + var_00 = common_scripts\_createfx::createexploderex("godray_track_binders","13000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5549.7,3050.49,615.841),(87.9991,269.555,44.5552)); + var_00 = common_scripts\_createfx::createexploderex("godray_track_binders","13000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-744.04,2769.07,494.339),(87.9991,269.554,-0.445469)); + var_00 = common_scripts\_createfx::createexploderex("godray_track_binders","13000"); + var_00 common_scripts\_createfx::set_origin_and_angles((96.7828,3593.09,495.769),(87.9992,269.545,-85.4545)); + var_00 = common_scripts\_createfx::createexploderex("godray_track_binders","13000"); + var_00 common_scripts\_createfx::set_origin_and_angles((97.8687,4119.07,496.861),(87.9993,269.545,-90.4547)); + var_00 = common_scripts\_createfx::createexploderex("godray_track_binders","13000"); + var_00 common_scripts\_createfx::set_origin_and_angles((101.449,4637.68,496.233),(87.9993,269.545,-90.4547)); + var_00 = common_scripts\_createfx::createexploderex("godray_track_binders","13000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-178.774,3021.02,495.625),(87.9991,269.547,-47.4531)); + var_00 = common_scripts\_createfx::createexploderex("godray_track_binders","13000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-450.602,3505.46,496.769),(87.999,269.566,113.568)); + var_00 = common_scripts\_createfx::createexploderex("fog_rising_patch_low","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1275.35,9346.51,-151.056),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_golden_basement","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1016.77,9480.57,-107.029),(16.4965,274.361,-4.9617)); + var_00 = common_scripts\_createfx::createexploderex("fog_rising_patch_low","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-754.953,9530.16,-164.175),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fog_rising_patch_low","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-753.184,8992.62,-168.611),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("det_buttress_collapse","1603"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7852.75,12447.9,204.714),(359.999,89.9991,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_window_view_nonlit","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-655.388,6583.56,-12.815),(276,359.997,-179.002)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1541.76,7230.99,-154),(270.999,178.998,87.9323)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-995.224,7113.19,-153.206),(270.999,178.998,87.9323)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_lrg","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-765.426,6833,-39.1816),(270,176.427,-86.4308)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2017.72,7232.19,-157),(270.999,178.998,87.9323)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1997.26,7726.12,-154.667),(270.999,178.998,87.9323)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_02","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1474.29,5427.48,191.191),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fog_rising_patch_low","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1075.88,9086.19,-171.115),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_med","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1074.88,9374.43,163.952),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_window_view_nonlit","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1296.4,9467.27,163.847),(270,345.964,109.034)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_lrg","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1983.98,4608.29,145.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2540.25,4349.7,-79),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","8500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3724.73,5586.14,-156.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_window_view_nonlit","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2911.61,9160.74,552),(270,0,-92.0003)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_window_view_nonlit","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2865.2,9405.99,252.948),(270,0,-92.0003)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_window_view_nonlit","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2858.08,8659.15,887.52),(270,0,-92.0003)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_window_view_nonlit","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2908.53,8881.16,668.61),(270,0,-92.0003)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_window_view_nonlit","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2933.13,8173.28,739.451),(270,0,-92.0003)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_ceiling_hole_nonlit","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2073.56,4580.3,184.22),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2680.24,5011.43,147),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2651.89,8506.69,-152.578),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2171.47,7325.37,-57),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2479.83,4845.47,-108),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_02","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2965.14,4678.32,-185.629),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_02","8500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4166.9,5580.51,-156.486),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5434.64,6327.51,-159.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_lrg","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5596.11,6827.88,155.285),(270,0,86.9995)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_window_view_nonlit","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5607.09,6796.92,162.643),(270,0,86.9995)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_lrg","8500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4588.49,5700.75,9),(270,0,86.9995)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_med","8500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4861.71,5704.12,4.24042),(270,0,86.9995)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_med","8500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4383.63,5705.58,9.0788),(270,0,86.9995)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_fat_splash","8500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4382.61,5704.89,-156.875),(271.93,90.0414,-90.041)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_fat_splash","8500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4859.9,5703.99,-156.875),(271.93,90.0414,-90.041)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_lrg","8500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4375.57,5841.16,3.00001),(270,0,-179.001)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_window_view_nonlit","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5858.11,7134.52,283.594),(270,3.99997,172.999)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_lrg","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5869.03,7138.38,279.236),(270,3.99997,172.999)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","9500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5503.55,7121.86,227),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","9500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5259.63,7120.99,235.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","9500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4927.5,7134.2,235.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","9500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3844.35,7134.07,148.175),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","9500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4270.39,7143.76,235.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("det_intro_warbird_rotorwash_idle","det_intro_warbird_rotorwash_idle"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13508.6,11970.7,142.625),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("det_steam_linger","1760"); + var_00 common_scripts\_createfx::set_origin_and_angles((-971.406,9103.4,-127.629),(54.3609,152.982,-87.9783)); + var_00 = common_scripts\_createfx::createexploderex("smoke_white_slow","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2266.38,5025.57,-92.875),(270,348.69,-81.6913)); + var_00 = common_scripts\_createfx::createexploderex("fog_wispy_sheeting","8500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14011.4,11267.4,196.734),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("leaves_blowing","8500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3537.01,5338.41,-3.875),(17.106,4.51144,-2.84654)); + var_00 = common_scripts\_createfx::createexploderex("fog_wispy_sheeting","8500 "); + var_00 common_scripts\_createfx::set_origin_and_angles((0,0,0),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("leaves_blowing","8500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3692.09,5848.18,-26.084),(355.996,348.178,37.6971)); + var_00 = common_scripts\_createfx::createexploderex("leaves_blowing","8500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3411.34,5684.58,30.1801),(32.6271,333.777,10.7219)); + var_00 = common_scripts\_createfx::createexploderex("leaves_blowing","8500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2959.65,4518.16,-3.57164),(17.106,4.51144,-2.84654)); + var_00 = common_scripts\_createfx::createexploderex("leaves_blowing","8500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3010.42,4931.62,13.0025),(17.106,4.51144,-2.84654)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","8500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3883.59,5747.02,-199.946),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","8500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2848.44,5632.26,-156.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","8500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2848.44,5632.26,-156.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("smoke_white_slow","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3274.06,4796.59,-89.875),(270,348.69,-81.6913)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_med","8500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4383.63,5705.58,9.0788),(270,0,86.9995)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_med","8500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3845.81,5330.46,-16.0474),(270,0,86.9995)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_med","8500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3115.26,5793.7,-20.435),(270,0,86.9995)); + var_00 = common_scripts\_createfx::createexploderex("fog_wispy_sheeting","9500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5208.34,7133.25,220),(270,0,96.9995)); + var_00 = common_scripts\_createfx::createexploderex("fog_wispy_sheeting","9500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4591.25,7152.02,241),(270,0,96.9995)); + var_00 = common_scripts\_createfx::createexploderex("fog_wispy_sheeting","9500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4260.69,7099.94,229),(270,356.634,78.3653)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","9500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4627.02,7094.6,235),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","9500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4255.04,7117.03,235),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","9500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4990.74,7115.72,235),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","9500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5418.15,7124.32,235),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fog_wispy_sheeting","9500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5855.07,7077.16,350.363),(270,0,96.9995)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue_med","9500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4839.93,7213.43,224.11),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue_med","9500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4289.57,7044.1,228),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue_med","9500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5540.02,7057.91,225),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue_med","9500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5514.08,7207.01,222),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fog_wispy_sheeting","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5706.38,7231.11,43.125),(273.425,328.759,-49.9616)); + var_00 = common_scripts\_createfx::createexploderex("fog_wispy_sheeting","9201"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6266.99,7190.29,44.4316),(273.425,328.759,-49.9616)); + var_00 = common_scripts\_createfx::createexploderex("smoke_white_slow","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4229.87,6676.29,-129),(270,180,177.999)); + var_00 = common_scripts\_createfx::createexploderex("trash_blowing","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4634.25,6185.53,-148.419),(270,180,177.999)); + var_00 = common_scripts\_createfx::createexploderex("trash_blowing","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5631.96,7225.46,43.125),(270,0,-100.002)); + var_00 = common_scripts\_createfx::createexploderex("trash_blowing","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5361.12,7231.18,44.0805),(270,0,-100.002)); + var_00 = common_scripts\_createfx::createexploderex("trash_blowing","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4628.06,6442.48,-148.875),(270,356.279,-5.28097)); + var_00 = common_scripts\_createfx::createexploderex("trash_blowing","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4082.42,6824.57,43.7738),(270,0,-100.002)); + var_00 = common_scripts\_createfx::createexploderex("crawling_death_blood_smear","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3414.33,7256.92,-1.91948),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("leaves_blowing","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3313.53,7763.08,32.0805),(0.983416,252.277,-0.109535)); + var_00 = common_scripts\_createfx::createexploderex("moths","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3388.49,7117.61,-2.31775),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ceiling_hole","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3503.29,6945.13,87.6301),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue_shot","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4940.58,6929.48,43.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fx_flare_med_blue_bright","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((0,0,0),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_blue_shot","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4910.27,7080.57,43.6354),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("smoke_white_slow","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4717.32,6660.94,90),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("smoke_white_slow","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3616.15,6598.78,-46.875),(270,180,177.999)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_02","8500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4463.18,5488.43,-156.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fog_wispy_sheeting","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5931.3,7207.58,43.125),(273.425,328.759,-49.9616)); + var_00 = common_scripts\_createfx::createexploderex("fog_wispy_sheeting","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5484.08,7235.63,43.125),(273.425,328.759,-49.9616)); + var_00 = common_scripts\_createfx::createexploderex("smoke_white_slow","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4858.21,7477.61,43.125),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("spider_web_mesh","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4362.83,7003.48,123.474),(355.786,282.97,163.42)); + var_00 = common_scripts\_createfx::createexploderex("spider_web_mesh","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4574.36,7122.92,98.7289),(355.786,282.97,163.42)); + var_00 = common_scripts\_createfx::createexploderex("spider_web_mesh","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4572.91,7175.37,87.2907),(355.786,282.97,163.42)); + var_00 = common_scripts\_createfx::createexploderex("spider_web_mesh","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5085.62,7287.23,134.915),(15.7586,3.42546,61.2931)); + var_00 = common_scripts\_createfx::createexploderex("car_fog_med","9500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3671.98,7188.66,-2.91),(340.089,194.782,-1.176)); + var_00 = common_scripts\_createfx::createexploderex("flies_landing","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-790.886,9459.36,-191.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("spider_web_mesh","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5072.6,7214,59.125),(343.952,20.5095,61.2465)); + var_00 = common_scripts\_createfx::createexploderex("rain_splat_on_lens_sml_rnr_night","121"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14552.5,12161.5,128.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_splat_on_lens_med_rnr_night","122"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14545,12262.5,128.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_splat_on_lens_hvy_rnr_night","124"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14546.8,12382.6,128.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_splat_on_lens_hvy_rnr_night","125"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14476,12245.6,128.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_splat_on_lens_med_rnr_night","130"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14476.6,12272,128.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_dancefloor2","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1225.57,4268.69,91.4544),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_dancefloor2","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1042.71,4275.62,83.4682),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_dancefloor2","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1243.46,4450.92,102.471),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_golden_dimmer","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4844.82,7309.16,99.565),(9.14932,180.65,80.9741)); + var_00 = common_scripts\_createfx::createexploderex("godray_golden_dimmer","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4837.02,7242.48,99.252),(9.14932,180.65,80.9741)); + var_00 = common_scripts\_createfx::createexploderex("godray_golden_dimmer","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4377.48,7358.8,102.195),(7.47153,57.6955,87.1669)); + var_00 = common_scripts\_createfx::createexploderex("godray_golden_dimmer","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4442.34,7353.63,91.08),(7.47153,57.6955,87.1669)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_green","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4712.67,7244.98,-110.875),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("smoke_white_slow","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4453.78,7184.7,74),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("smoke_white_slow","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4706.71,7134.47,83.0805),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("moths","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4554.83,7142.72,177.319),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("moths","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4564.58,7190.02,129.174),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("mosquitos","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4610.19,7173.42,161),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fog_wispy_sheeting","8500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5165.06,5431.34,-117),(294.228,157.447,144.719)); + var_00 = common_scripts\_createfx::createexploderex("leaves_blowing","8500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5163.04,5696.1,-32.875),(16.9558,345.808,5.41055)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","9500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4043.44,7132.34,235.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","9500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4230.5,7142.71,235.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","9500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4437.84,7143.13,235.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","9500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5016.18,7142.13,235.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","8500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4607.58,5551.71,-156.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","9500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4843.81,7133.45,235.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dripping_ledges_lrg","9500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5672.9,7176.34,316.313),(270,0,-92.0003)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_ceiling_hole_nonlit","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1313.6,4553.51,120.458),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_ceiling_hole_nonlit","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1229.39,4307.83,120.154),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("water_curtain_01","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1989.94,4536.82,189.726),(359.001,0,-0.962066)); + var_00 = common_scripts\_createfx::createexploderex("water_curtain_01","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1987.12,4718.17,162.085),(359.001,0,-0.962066)); + var_00 = common_scripts\_createfx::createexploderex("water_curtain_01","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1984.13,4673.85,162.57),(359.001,0,-0.962066)); + var_00 = common_scripts\_createfx::createexploderex("water_curtain_01","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1902.65,4771.12,153.081),(0.961972,90.0143,-0.998784)); + var_00 = common_scripts\_createfx::createexploderex("water_curtain_01","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1983.71,4454.19,198.321),(359.001,0,-0.962066)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1309.07,4455.92,331.183),(359.001,0,-0.962066)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-976.009,4544.29,370.74),(359.001,0,-0.962066)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1239.66,4552,330.431),(359.001,0,-0.962066)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-977.144,4188.44,399.96),(359.001,0,-0.962066)); + var_00 = common_scripts\_createfx::createexploderex("water_stream_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1301.24,4187.31,388.772),(359.001,0,-0.962066)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_fat_splash","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1157.17,4113.24,22.125),(270.999,182.09,87.9387)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_fat_splash","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1124.98,4111.19,19.125),(270.999,182.09,87.9387)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_fat_splash","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1141.47,4106.95,19.125),(270.999,182.09,87.9387)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_fat_splash","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1326.32,4173.94,20.125),(270.999,182.09,87.9387)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_fat_splash","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1327.89,4216.59,20.125),(270.999,182.09,87.9387)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_fat_splash","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1328.33,4195.09,20.125),(270.999,182.09,87.9387)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_ceiling_hole_nonlit","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13915.4,10252.9,63.3285),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_blue_blinders","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5072.28,6531.51,126.125),(13.2235,34.8623,-86.8966)); + var_00 = common_scripts\_createfx::createexploderex("godray_blue_blinders","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5088.52,6679.94,128.133),(11.4951,10.2661,-91.815)); + var_00 = common_scripts\_createfx::createexploderex("smoke_white_slow","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2900.06,5122.29,-113.277),(270,348.69,-81.6913)); + var_00 = common_scripts\_createfx::createexploderex("smoke_white_slow","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4702.55,6363.46,-145.875),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("smoke_white_slow","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4401.41,6490.24,43.808),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("det_water_heli_impact","16001"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7500.8,8196.08,-147.941),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("det_heli_explosion_rnr_2","16002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7610.52,7796.69,-11),(274.067,223.993,131.522)); + var_00 = common_scripts\_createfx::createexploderex("godray_golden_dim","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5483,6915.12,286),(90,20,-159)); + var_00 = common_scripts\_createfx::createexploderex("det_water_car_impact","15001"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5295.39,13820.4,-155.829),(270,0,177)); + var_00 = common_scripts\_createfx::createexploderex("det_water_car_impact","15002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5689.41,13739.5,-154.244),(270,0,177)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2625.84,9091.01,-98.489),(271.999,177.964,88.9654)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2677.37,9107.1,-76.1068),(276.785,323.211,-89.312)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2736.63,9160.09,-75.1213),(271.999,177.964,88.9654)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2637.86,9056.96,-100.805),(271.999,177.964,88.9654)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2709.5,9127.85,-71.2986),(271.999,177.964,88.9654)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2699.29,8414.77,-106.94),(282.12,96.2488,170.818)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2661.6,8410.78,-104.645),(282.166,84.858,-162.086)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2674.77,8704.65,-96.8228),(271.999,177.964,88.9654)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2672.31,8565.54,-91.5583),(271.999,177.964,88.9654)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2673.57,8256.2,-99.5271),(271.999,177.964,88.9654)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2671.88,8750.36,-109.029),(292.977,89.0808,177.239)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2674.7,8620.98,-106.684),(292.977,89.0808,177.239)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2299.73,8992.98,-68.0911),(271.989,175.983,2.96008)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2427.89,9105.58,-64.58),(304.355,181.159,90.2332)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2432.2,8860.97,-67.4865),(304.355,181.159,90.2332)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2375.07,8984.98,-70),(271.989,175.983,2.96008)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3078.18,8708.2,-96.0627),(274.503,240.629,26.3701)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3079.34,8489.53,-95.8672),(275.846,208.259,58.8008)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3068.96,8252.38,-91.8994),(271.999,177.964,88.9654)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2677.27,8318.79,-83.866),(272.249,204.328,62.5483)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3077.46,8443.21,-108.974),(296.544,263.433,94.9751)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3081.65,8661.89,-112.149),(296.544,263.433,94.9751)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3088.33,7896.2,-107.712),(296.544,263.433,94.9751)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3096.04,7672.56,-111.584),(294.444,267.821,90.8381)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3097.11,8171.68,-112.745),(279.798,256.615,4.03797)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3057.32,8321.13,-107.425),(274.801,85.562,172.225)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3074.99,8845.32,-114.153),(280.171,256.394,5.62259)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3039.81,9000.26,-107.775),(275.063,98.2656,170.62)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2419.02,8951.91,-95.1526),(293.078,173.931,5.36722)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2459.4,8993.29,-113.25),(293.078,173.931,5.36722)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1361.8,5502.42,-12.875),(270,7.12502,80.8746)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1360.5,5606.19,-12.875),(270,7.12502,80.8746)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1358.13,5706.05,-12.875),(270,7.12502,80.8746)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1363.3,5792.8,-12.875),(270,7.12502,80.8746)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1619.65,5275.38,-12.875),(270,7.12502,80.8746)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1628.44,5146.77,-12.875),(270,7.12502,80.8746)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1594.49,5218.42,-12.875),(270,7.12502,80.8746)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2355.65,4524.7,-183.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2619.36,4140.13,-188.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2494.05,4996.12,-188.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2783.16,4563.64,-185.71),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2907.04,4926.25,-186),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2471.12,4635.69,-148.562),(289.532,289.911,92.3142)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2477.31,4666.69,-130.828),(311.467,289.809,90.3092)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2514.55,4760.48,-103.054),(271.33,359.234,21.9393)); + var_00 = common_scripts\_createfx::createexploderex("godray_track_binders","14000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1874.83,2777.18,522.941),(87.9991,269.546,2.54659)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2586.75,5108.18,-164.513),(271.33,359.234,21.9393)); + var_00 = common_scripts\_createfx::createexploderex("godray_track_binders","14000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2382.59,2774.59,546.81),(87.9991,269.554,-0.445563)); + var_00 = common_scripts\_createfx::createexploderex("godray_track_binders","14000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4061.63,3295.1,614.342),(87.9991,269.553,-174.446)); + var_00 = common_scripts\_createfx::createexploderex("godray_track_binders","14000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5797.73,3616.21,615.708),(87.9991,269.555,87.5553)); + var_00 = common_scripts\_createfx::createexploderex("det_heli_debris_spurt","16003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7591.27,6914.67,61),(5.49348,279.271,-90.921)); + var_00 = common_scripts\_createfx::createexploderex("det_heli_rotor_impact","16007"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7587.17,7033.4,-77.1265),(294,270,90)); + var_00 = common_scripts\_createfx::createexploderex("det_heli_rotor_impact","16006"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7609.87,7190.22,-109),(294,270,90)); + var_00 = common_scripts\_createfx::createexploderex("det_heli_rotor_impact","16004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7536.55,8025.84,-158.078),(294,270,90)); + var_00 = common_scripts\_createfx::createexploderex("det_heli_rotor_impact","16005"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7513.85,7869.02,-126.205),(294,270,90)); + var_00 = common_scripts\_createfx::createexploderex("trash_blowing","45"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14187.7,11907.2,293.213),(299.516,339.192,80.1887)); + var_00 = common_scripts\_createfx::createexploderex("trash_tornado_s_parent_motion","46"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13802.7,11398.7,96.125),(272,1.00134,89.9976)); + var_00 = common_scripts\_createfx::createexploderex("trash_tornado_s_parent_motion","46"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14137.5,11405.4,36.125),(272,1.00134,89.9976)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("rain_splat_on_lens_hvy_rnr_night","47"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14546.8,12382.6,128.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1597.9,5185.73,13.7576),(270,7.12502,80.8746)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1595,5240.6,13.7576),(270,7.12502,80.8746)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1452.52,5635.59,23),(271,269.971,-91.008)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1409.68,5597.51,23),(272.22,205.714,-26.7677)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1415.11,5698.86,23),(272.22,205.714,-26.7677)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1404.75,5644.59,23),(272.22,205.714,-26.7677)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_sm","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1427.37,5736.79,24.5053),(274.573,65.825,116.24)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("det_blood_pool","5301"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1778.89,8751.45,74),(270,0,160.999)); + var_00 = common_scripts\_createfx::createexploderex("fluorescent_smoke_dim_sm","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2176.01,8669.2,86.6454),(350.813,70.1084,-85.2458)); + var_00 = common_scripts\_createfx::createexploderex("fluorescent_smoke_dim_sm","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2161.07,8708.87,25),(281.422,102.489,-102.317)); + var_00 = common_scripts\_createfx::createexploderex("lights_conelight_yellow","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1390.84,4248.54,312.917),(74.0194,175.917,-2.89064)); + var_00 = common_scripts\_createfx::createexploderex("lights_conelight_yellow","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1384.95,4374.72,312.492),(74.0194,175.917,-2.89064)); + var_00 = common_scripts\_createfx::createexploderex("det_hoverbike_startup_vm","1511"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11617.4,6621.06,-79.5321),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("det_hoverbike_startup","1513"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7623.67,6189.06,-71.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("det_hoverbike_startup_vm","1512"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11715.1,6655.14,-86.6003),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("det_hoverbike_startup","1514"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7671.62,5984.8,-71.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_blue_blinders","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5441.82,6839.56,133.2),(17.8699,127.058,-76.9532)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_windy_01","119"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7490.29,6969.26,-89.8923),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("det_heli_debris_spurt","16003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5359.35,5044.55,-1750.97),(11.6291,238.278,-95.9351)); + var_00 = common_scripts\_createfx::createexploderex("det_heli_fire_spurt","16003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7617.37,6643.58,18.9649),(358.522,270.329,0.152065)); + var_00 = common_scripts\_createfx::createexploderex("water_curtain_01","13000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1624.26,8941.15,359.834),(359.792,258.001,-0.978256)); + var_00 = common_scripts\_createfx::createexploderex("water_curtain_01","13000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1810.29,8981.68,356.998),(359.792,258.001,-0.978256)); + var_00 = common_scripts\_createfx::createexploderex("water_curtain_01","13000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1455.48,9037.01,364.235),(359.792,258.001,-0.978256)); + var_00 = common_scripts\_createfx::createexploderex("water_curtain_01","13000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1676.03,8981.58,555.091),(359.792,258.001,-0.978256)); + var_00 = common_scripts\_createfx::createexploderex("water_curtain_01","13000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1884.72,8948.71,559.19),(359.792,258.001,-0.978256)); + var_00 = common_scripts\_createfx::createexploderex("water_curtain_01","13000"); + var_00 common_scripts\_createfx::set_origin_and_angles((775.807,5944.38,541.023),(359.792,258.001,-0.978256)); + var_00 = common_scripts\_createfx::createexploderex("water_curtain_01","13000"); + var_00 common_scripts\_createfx::set_origin_and_angles((505.042,6112.88,543),(359.009,171.998,0.139477)); + var_00 = common_scripts\_createfx::createexploderex("det_fog_ground_hoverbike_static","3003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3956.22,8654.32,-298.875),(270,0,-69.0007)); + var_00 = common_scripts\_createfx::createexploderex("det_fog_ground_hoverbike_static","3005"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4393.71,7475.02,-350.875),(270,0,-140.001)); + var_00 = common_scripts\_createfx::createexploderex("det_fog_ground_hoverbike_static","3004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3818.09,8145.02,-308.875),(270,0,-84.0007)); + var_00 = common_scripts\_createfx::createexploderex("godray_golden_dimmer","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5420,7232.58,218),(87.9993,359.994,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_golden_dimmer","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4842.06,7048.78,98.667),(9.35118,174.295,90.5154)); + var_00 = common_scripts\_createfx::createexploderex("godray_golden_dimmer","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4839.52,7107.06,98.999),(9.35118,174.295,90.5154)); + var_00 = common_scripts\_createfx::createexploderex("godray_golden_dimmer","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4838.21,7178.36,99.209),(9.35118,174.295,90.5154)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2707.44,4849.45,-188.875),(272.041,226.771,174.155)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2786.56,4911.05,-188.875),(272.041,226.761,-167.836)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2889.25,4940.52,-188.875),(272.041,226.76,-149.835)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2979,4950.27,-188.875),(272.041,226.757,-137.832)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3080.91,4949.15,-188.875),(272.041,226.757,-137.832)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3176.48,4955.36,-188.875),(272.041,226.754,-147.829)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3275.29,4986.8,-188.875),(272.041,226.752,-159.827)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3427.11,5198.92,-188.875),(270,0,11.9997)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3345.25,5034.36,-188.875),(272.041,226.752,-179.827)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3402.99,5100.94,-188.875),(270,0,30.9992)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2653.25,4756.37,-188.875),(272.041,226.767,148.159)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3055.41,5150.36,-188.875),(272.041,226.756,-107.831)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3135.02,5110.13,-188.875),(272.041,226.757,-112.832)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2269.88,4814.76,-188.875),(272.041,226.773,135.152)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2264.26,4921.69,-188.364),(272.041,226.773,135.152)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2262.11,4742.16,-186.179),(272.041,226.773,135.152)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2238.36,4642.08,-185.829),(272.04,226.778,149.148)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2225.21,4542.18,-188.571),(272.041,226.773,135.152)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2197.87,4405.06,-183.584),(272.041,226.773,135.152)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2245.75,4280.34,-184.112),(272.041,226.777,133.149)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2621.64,4685.09,-188.875),(272.04,226.791,-177.867)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2624.05,4600.61,-188.875),(272.04,226.784,173.141)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2688.98,4531.21,-187.863),(272.04,226.779,93.1446)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2647.22,4649.37,-188.875),(272.04,226.785,120.139)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2765.96,4454.15,-187.512),(272.039,226.789,76.1348)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2719.9,4404.09,-188.875),(272.039,226.791,72.1323)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2419.61,4171.91,-188.875),(272.039,226.791,72.1323)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2378.66,4203.15,-188.875),(272.039,226.791,72.1323)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2750.26,4195.31,-188.875),(272.039,226.789,9.13317)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2905.3,4332.99,-188.875),(272.039,226.789,5.13333)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2873.2,4276.41,-188.875),(272.039,226.783,-56.8608)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2872.17,4420.94,-188.875),(272.039,226.789,44.1341)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2975.65,4411.96,-188.875),(272.039,226.789,43.1341)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2718.6,5075.24,-188.875),(272.039,226.797,98.1262)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2913.83,5084.78,-188.875),(272.039,226.802,59.1208)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2894.65,5154.06,-188.875),(272.039,226.809,146.114)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2301.12,4985.08,-188.875),(272.041,226.778,-137.853)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2353.22,5056.72,-188.875),(272.041,226.78,133.145)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2401.62,5145.63,-188.875),(272.041,226.785,-137.861)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2484.81,5146.53,-188.875),(272.041,226.787,41.137)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2253.04,4190.52,-188.875),(272.04,226.781,135.144)); + var_00 = common_scripts\_createfx::createexploderex("water_splash_wall_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2261.05,4097.54,-188.875),(272.04,226.781,135.144)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13577.7,11551.8,106.535),(75.0001,235.002,-179.997)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13698.4,11336.4,105.56),(74.9975,43.9922,178.992)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13669.2,11100.1,103.574),(74.9648,1.72584,178.857)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13669.3,10747.8,103.55),(73.9981,359.998,-179)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow_flip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13664.5,10384,103.572),(76.0008,145.994,173.994)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13958.6,11576.6,106.655),(74.9987,222.077,178.011)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow_flip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14354.7,11828.2,107.571),(76.0008,179,-179)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow_flip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14346.7,12100.3,105.556),(76.0009,179,179)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14218.1,11301.1,105.6),(75.6728,265.489,175.785)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow_flip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13579.9,11188,106.602),(76.0008,179,-180)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow_flip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13718.8,11100,104.596),(75.001,179,-180)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14065.9,10695.2,105.182),(74.9998,270.008,-178.99)); + var_00 = common_scripts\_createfx::createexploderex("soft_blue_omni_glow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14069.3,10007.7,87.5725),(73.9981,359.998,178.999)); + var_00 = common_scripts\_createfx::createexploderex("det_white_godray","1124"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8059.38,6527.7,421.325),(29.0429,226.279,69.677)); + var_00 = common_scripts\_createfx::createexploderex("godray_track_binders","13000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-418.575,3993.15,496.994),(87.9991,269.553,86.5538)); + var_00 = common_scripts\_createfx::createexploderex("godray_track_binders","13000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-419.995,4504.68,496.994),(87.9991,269.553,86.5538)); + var_00 = common_scripts\_createfx::createexploderex("det_white_godray","1124"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7319.7,6526.11,423.994),(32.8991,241.199,70.7088)); + var_00 = common_scripts\_createfx::createexploderex("aircraft_light_red_blink","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15252.7,12907.5,474.123),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aircraft_light_red_blink","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14165.6,12966.7,680.98),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aircraft_light_red_blink","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12396.2,12640.9,640.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aircraft_light_red_blink","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11077.8,10987.7,774.453),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("floating_foam_slow_runner_lp","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1430.41,9516.8,-191.5),(270,355.601,82.3982)); + var_00 = common_scripts\_createfx::createexploderex("lights_conelight_yellow","8500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4629.5,5797.36,20),(73.9387,172.304,-6.3628)); + var_00 = common_scripts\_createfx::createexploderex("godray_med_grp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1395.23,9346.74,219.895),(287.357,66.8025,117.344)); + var_00 = common_scripts\_createfx::createexploderex("fog_wispy_sheeting","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3149.8,7296.14,-157),(270,0,99.9992)); + var_00 = common_scripts\_createfx::createexploderex("fog_wispy_sheeting","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3216.95,7205.87,-157),(270,0,99.9992)); + var_00 = common_scripts\_createfx::createexploderex("fog_wispy_sheeting","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3188.74,7049.24,-157),(270,0,99.9992)); + var_00 = common_scripts\_createfx::createexploderex("det_light_fog_blue","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3174.21,7443.04,-72),(3.84139,286.091,-89.0552)); + var_00 = common_scripts\_createfx::createexploderex("open_door_point","5622"); + var_00 common_scripts\_createfx::set_origin_and_angles((-854,9539,-20),(3.84139,286.091,-89.0552)); + var_00 = common_scripts\_createfx::createexploderex("det_blood_impact_burst","det_blood_impact_burst01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3508.33,7274.35,55),(349.107,301.762,92.6827)); + var_00.v["delay"] = 0.2; + var_00 = common_scripts\_createfx::createexploderex("det_blood_impact_burst","det_blood_impact_burst02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3416.11,7186.42,52.0805),(347.555,291.771,85.1937)); + var_00.v["delay"] = 0.2; + var_00 = common_scripts\_createfx::createexploderex("det_blood_impact_burst","det_blood_impact_burst03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3392.1,7165.42,56.0805),(353.158,279.015,87.9684)); + var_00.v["delay"] = 0.2; + var_00 = common_scripts\_createfx::createexploderex("generic_assault_flash_view_tracer","det_blood_impact_burst01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3377.74,6967.28,47.125),(0.539041,114.883,-92.3383)); + var_00 = common_scripts\_createfx::createexploderex("generic_assault_flash_view_tracer","det_blood_impact_burst02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3377.94,6983.18,40.125),(356.737,100.092,-94.3968)); + var_00 = common_scripts\_createfx::createexploderex("generic_assault_flash_view_tracer","det_blood_impact_burst03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3364.22,6957.64,49.125),(357.989,95.9903,-90.0352)); + var_00 = common_scripts\_createfx::createexploderex("light_white_radiosity_sim_fade_out","1675"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2163.43,9285.51,140),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_white_radiosity_sim","2321"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1690.11,9414.77,-18),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("point_white_reveal_cg","cg_sentinel_reveal_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3645.73,7248.89,57.0805),(270,7.12502,80.8746)); + var_00.v["platform"] = "cg"; + var_00 = common_scripts\_createfx::createexploderex("fx_flare_med_blue_bright","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1748.04,8768.46,83.3619),(332.238,223.948,178.926)); + var_00 = common_scripts\_createfx::createexploderex("red_utilitylight_flare","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3399.66,6804.17,8.50497),(346.317,69.0566,88.6156)); + var_00 = common_scripts\_createfx::createexploderex("light_white_radiosity_sim_dim_sm","1685"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1795.45,8614.07,143.162),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cg_light_intro_red_blink","cg_helipad_red_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13881.7,11830.8,142.687),(270,15.9454,110.054)); + var_00.v["platform"] = "cg"; + var_00 = common_scripts\_createfx::createexploderex("cg_light_intro_red_blink","cg_helipad_red_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13692,11697,142.889),(270,0,161.999)); + var_00.v["platform"] = "cg"; + var_00 = common_scripts\_createfx::createexploderex("cg_light_intro_red_blink","cg_helipad_red_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13460.9,11697.9,142.852),(270,0,-162.001)); + var_00.v["platform"] = "cg"; + var_00 = common_scripts\_createfx::createexploderex("cg_light_gate_orange","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7468.48,6145.57,55.125),(270,0,161.999)); + var_00.v["platform"] = "cg"; + var_00 = common_scripts\_createfx::createexploderex("light_white_radiosity_sim_dim_sm","1685"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1780.64,8745.11,123),(270,0,0)); + var_00.v["platform"] = "cg"; + var_00 = common_scripts\_createfx::createexploderex("fx_flare_med_white","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-803.717,9716.05,85.0451),(337.272,302.879,88.8405)); + var_00 = common_scripts\_createfx::createexploderex("fx_flare_med_white","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1251.58,8930.23,-59.875),(329.916,38.6017,-90.3965)); + var_00 = common_scripts\_createfx::createexploderex("fx_flare_med_blue_dim","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1061.28,9750.59,85.2046),(336.905,205.485,-86.1477)); + var_00 = common_scripts\_createfx::createexploderex("yellow_utilitylight_flare","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3754.1,6702.77,149.056),(30.5849,1.75404,-178.267)); + var_00 = common_scripts\_createfx::createexploderex("fx_flare_med_white","5200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1337.81,8247.37,107.212),(330.149,115.08,-88.0219)); + var_00 = common_scripts\_createfx::createexploderex("det_emergency_light_flare","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1018.82,9508.05,-95.2305),(10.9994,269,90.9997)); + var_00 = common_scripts\_createfx::createexploderex("det_emergency_light_flare","5400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-907.874,8798.27,-92.9768),(12.0006,88.9996,-179.999)); + var_00 = common_scripts\_createfx::createexploderex("det_warm_can_sm","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1006,5397.59,148.826),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("det_warm_can_sm","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1219.47,5082.39,149.833),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("det_warm_can_sm","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1447.32,4888.73,145.249),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("det_warm_can_sm","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1575.54,4889.1,145.204),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("det_warm_can_sm","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1511.03,4451.07,146.249),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("det_warm_can_sm","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1575.27,4186.29,147.181),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("det_warm_can_sm","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1574.02,4058.19,147.306),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("det_warm_can_sm","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1928.23,4577.17,147.188),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("det_warm_can_sm","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1755.56,4406.8,142.144),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("det_warm_can_sm","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4709.06,5971.34,-18.7709),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("det_greenflare_flare","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4617.05,6311.28,-147.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("det_greenflare_flare","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4645.22,6603.31,-147.419),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("det_greenflare_flare","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4164.49,6643.12,-147.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("det_greenflare_flare","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3735.95,6599.49,-148.419),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("det_greenflare_flare","9200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5769.68,7235.88,45.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fx_flare_med_blue_dim","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2189.53,8654.15,82.4504),(335.226,58.1672,-86.7849)); + var_00 = common_scripts\_createfx::createexploderex("fx_flare_med_blue_strong","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1747.87,8769.91,82.021),(335.62,221.2,-90.0739)); + var_00 = common_scripts\_createfx::createexploderex("fx_flare_med_blue_dim","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1611.24,8297.48,106.114),(326.243,120.931,-85.4718)); + var_00 = common_scripts\_createfx::createexploderex("det_light_area_dim_med","5002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1397.06,9407.76,150.371),(270,0,0)); + var_00.v["platform"] = "cg"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/df_fly_fx.gsc b/AW/PC/maps/createfx/df_fly_fx.gsc new file mode 100644 index 0000000..65a088d --- /dev/null +++ b/AW/PC/maps/createfx/df_fly_fx.gsc @@ -0,0 +1,185 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\df_fly_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 34 ms + * Timestamp: 4/22/2024 2:07:27 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\utility::createoneshoteffect("bagh_vista_explosion_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48085.2,-229510,-81110.8),(270,0,0)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("bagh_dam_waterfall_impact"); + var_00 common_scripts\_createfx::set_origin_and_angles((-32289.5,-102358,-31838.1),(270,180,-118.001)); + var_00 = common_scripts\utility::createoneshoteffect("bagh_dam_waterfall_impact"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34855.2,-99907.6,-31592.6),(270,0,36.9993)); + var_00 = common_scripts\utility::createoneshoteffect("bagh_dam_waterfall_impact"); + var_00 common_scripts\_createfx::set_origin_and_angles((-36370.9,-97182.9,-31542.1),(270,352.321,22.6781)); + var_00 = common_scripts\utility::createoneshoteffect("bagh_dam_waterfall_impact"); + var_00 common_scripts\_createfx::set_origin_and_angles((-35150.1,-78326.6,-31435.7),(270,178,136.997)); + var_00 = common_scripts\utility::createoneshoteffect("bagh_dam_waterfall_impact"); + var_00 common_scripts\_createfx::set_origin_and_angles((-37591.6,-84448.9,-31731.7),(270,358,3.99706)); + var_00 = common_scripts\utility::createoneshoteffect("bagh_dam_waterfall_impact"); + var_00 common_scripts\_createfx::set_origin_and_angles((-36752,-81001.6,-31486.2),(270,178,158.996)); + var_00 = common_scripts\utility::createoneshoteffect("bagh_trench_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-30218.6,-81017.8,-30606.3),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("bagh_trench_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-28790.6,-97126.6,-30777.4),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("bagh_dam_explosion","10"); + var_00 common_scripts\_createfx::set_origin_and_angles((-36660.8,-99870.8,-24383.9),(330.969,31.2803,-16.4273)); + var_00 = common_scripts\_createfx::createexploderex("bagh_dam_water_burst","10"); + var_00 common_scripts\_createfx::set_origin_and_angles((-36958.5,-99949.3,-25107.9),(7.5137,22.7069,0.660801)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_atlas","100"); + var_00 common_scripts\_createfx::set_origin_and_angles((89074,95757.1,-34795),(355.427,308.715,0)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_dust","100"); + var_00 common_scripts\_createfx::set_origin_and_angles((87834.4,96665.5,-27289.2),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","100"); + var_00 common_scripts\_createfx::set_origin_and_angles((88093.1,96020.2,-34991.9),(15.9539,209.741,-0.932141)); + var_00.v["delay"] = 0.05; + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","100"); + var_00 common_scripts\_createfx::set_origin_and_angles((87696.5,96359.6,-35152.8),(13.1995,198.453,2.61288)); + var_00.v["delay"] = 0.15; + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","100"); + var_00 common_scripts\_createfx::set_origin_and_angles((88248.7,95802.1,-34941.6),(10.823,245.308,6.14236)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack_large","100"); + var_00 common_scripts\_createfx::set_origin_and_angles((87504.9,96704.8,-35240.9),(19.4823,169.422,-91.5997)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("bagh_metal_bridge_dust","20"); + var_00 common_scripts\_createfx::set_origin_and_angles((92940.2,-23822.3,-33214.5),(270,0,46.9998)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_dust_small","30"); + var_00 common_scripts\_createfx::set_origin_and_angles((89829.9,-19114.7,-6114.14),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack_large","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((90139.1,-19769.3,-8081.22),(345.852,258.271,11.729)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","30"); + var_00 common_scripts\_createfx::set_origin_and_angles((90443.4,-18838.7,-9587.4),(343.999,0,0)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","30"); + var_00 common_scripts\_createfx::set_origin_and_angles((89608.3,-18689,-9587.06),(355.857,145.898,2.80034)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","30"); + var_00 common_scripts\_createfx::set_origin_and_angles((89869.3,-18801.9,-9623.63),(1.87002,68.0737,4.63662)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","30"); + var_00 common_scripts\_createfx::set_origin_and_angles((90141,-19460.9,-7351.45),(3.99049,322.893,-3.01261)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_dust_small","31"); + var_00 common_scripts\_createfx::set_origin_and_angles((87307.7,-40417.5,-9604.08),(351.231,346.843,2.04045)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack_large","31"); + var_00 common_scripts\_createfx::set_origin_and_angles((83343.4,-39906,-9352.59),(313.888,150.648,113.943)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack_large","31"); + var_00 common_scripts\_createfx::set_origin_and_angles((84217,-40263.9,-9260.03),(296.005,125.415,-159.347)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_dust_small","32"); + var_00 common_scripts\_createfx::set_origin_and_angles((69355.7,-68700.1,-8781.38),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","32"); + var_00 common_scripts\_createfx::set_origin_and_angles((69311.4,-68639,-12937.5),(349.688,86.6747,-16.6842)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","30"); + var_00 common_scripts\_createfx::set_origin_and_angles((68864.1,-68326.6,-12853.7),(1.87002,68.0737,4.63662)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack_large","32"); + var_00 common_scripts\_createfx::set_origin_and_angles((69753.2,-68871.4,-12944.5),(15.2795,327.656,-10.2447)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack_large","32"); + var_00 common_scripts\_createfx::set_origin_and_angles((69674.4,-69209.2,-10574.7),(345.559,331.904,-9.94495)); + var_00.v["delay"] = 0.15; + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_dust_small","33"); + var_00 common_scripts\_createfx::set_origin_and_angles((110641,-46444.4,-6834.11),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","33"); + var_00 common_scripts\_createfx::set_origin_and_angles((110361,-46279.8,-10891.2),(8.47011,120.737,4.37435)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack_large","33"); + var_00 common_scripts\_createfx::set_origin_and_angles((111333,-46585.6,-10849.7),(348.883,352.163,-14.6307)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","33"); + var_00 common_scripts\_createfx::set_origin_and_angles((109938,-46737.2,-10871.4),(352.69,173.364,28.4843)); + var_00.v["delay"] = 0.15; + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","33"); + var_00 common_scripts\_createfx::set_origin_and_angles((111203,-46863.4,-8584.5),(352.791,47.9154,-12.9282)); + var_00.v["delay"] = 0.15; + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_dust_small","35"); + var_00 common_scripts\_createfx::set_origin_and_angles((114364,-66298.8,-8026.95),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack_large","35"); + var_00 common_scripts\_createfx::set_origin_and_angles((113923,-67253.2,-9407.26),(360,218.207,18.0629)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","35"); + var_00 common_scripts\_createfx::set_origin_and_angles((114522,-66292,-9486.25),(2.95006,21.178,-9.06119)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","35"); + var_00 common_scripts\_createfx::set_origin_and_angles((114719,-66852,-9405.3),(339.777,15.5842,-18.3584)); + var_00.v["delay"] = 0.15; + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","35"); + var_00 common_scripts\_createfx::set_origin_and_angles((114036,-66412,-9404.63),(5.15483,150.773,8.02086)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_dust_small","36"); + var_00 common_scripts\_createfx::set_origin_and_angles((88514.3,-99445.7,-11188.1),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack_large","36"); + var_00 common_scripts\_createfx::set_origin_and_angles((87994.2,-99348.3,-12428.6),(16.079,147.984,8.8597)); + var_00.v["delay"] = 0.15; + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","36"); + var_00 common_scripts\_createfx::set_origin_and_angles((88869.4,-99423.9,-12398),(2.95006,21.178,-9.06119)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","36"); + var_00 common_scripts\_createfx::set_origin_and_angles((88493.7,-99397.1,-12420.6),(2.9051,51.1612,-4.48787)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack_large","36"); + var_00 common_scripts\_createfx::set_origin_and_angles((88864.7,-99882.6,-14760.5),(6.64368,17.8137,-63.4796)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_dust_small","45"); + var_00 common_scripts\_createfx::set_origin_and_angles((53907.1,105799,-33998.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","45"); + var_00 common_scripts\_createfx::set_origin_and_angles((54141.4,105641,-38749.1),(16.2632,333.88,-7.81948)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","45"); + var_00 common_scripts\_createfx::set_origin_and_angles((53993.5,105931,-38845.9),(3.99649,0.970973,0.308206)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack_large","45"); + var_00 common_scripts\_createfx::set_origin_and_angles((53605.5,106188,-38916.8),(22.4205,110.54,4.00808)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","45"); + var_00 common_scripts\_createfx::set_origin_and_angles((53863.8,106085,-37704.6),(346.822,59.0625,3.67966)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","45"); + var_00 common_scripts\_createfx::set_origin_and_angles((53885.8,105829,-37706.6),(17.9879,2.10085,0.648191)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","45"); + var_00 common_scripts\_createfx::set_origin_and_angles((53817.1,106136,-35433.4),(346.822,59.0625,3.67966)); + var_00.v["delay"] = 0.2; + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","45"); + var_00 common_scripts\_createfx::set_origin_and_angles((53479,106170,-35440.3),(0.307495,119.702,-8.69533)); + var_00.v["delay"] = 0.35; + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","45"); + var_00 common_scripts\_createfx::set_origin_and_angles((53717.6,105542,-35471.4),(357.057,271.805,4.12029)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_dust_small","46"); + var_00 common_scripts\_createfx::set_origin_and_angles((33405.1,91253.2,-36535),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","46"); + var_00 common_scripts\_createfx::set_origin_and_angles((33562.1,91562.5,-40306.3),(3.83441,68.7807,1.50099)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","46"); + var_00 common_scripts\_createfx::set_origin_and_angles((33254.5,91478.2,-40320.1),(344.004,118.012,6.04485)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack_large","46"); + var_00 common_scripts\_createfx::set_origin_and_angles((33204.2,91220.4,-40212.3),(349.69,203.692,-12.3268)); + var_00.v["delay"] = 0.2; + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","46"); + var_00 common_scripts\_createfx::set_origin_and_angles((33755.9,90921.8,-38044.2),(359.881,315.734,-4.11503)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","46"); + var_00 common_scripts\_createfx::set_origin_and_angles((33227.3,91406,-38024.5),(358.124,135.589,4.11679)); + var_00.v["delay"] = 0.15; + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack_large","47"); + var_00 common_scripts\_createfx::set_origin_and_angles((12045.2,85977,-41541),(7.57649,110.335,-93.2423)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_domino_impact1","47"); + var_00 common_scripts\_createfx::set_origin_and_angles((12550.9,85802.2,-42857.6),(289.999,359.999,-5.9999)); + var_00.v["delay"] = 1.6; + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_domino_impact1","49"); + var_00 common_scripts\_createfx::set_origin_and_angles((4646.81,86790,-45088),(289.999,359.999,-5.9999)); + var_00.v["delay"] = 1.6; + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack_large","49"); + var_00 common_scripts\_createfx::set_origin_and_angles((3843.4,86709.5,-43780.8),(6.74284,168.829,-85.2579)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_dust_small","48"); + var_00 common_scripts\_createfx::set_origin_and_angles((8019.9,85073.7,-40940.1),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack_large","48"); + var_00 common_scripts\_createfx::set_origin_and_angles((7804.74,85343.2,-44360.9),(345.333,128.736,6.51417)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","48"); + var_00 common_scripts\_createfx::set_origin_and_angles((8021.56,85140.7,-44413.8),(12.854,65.4477,4.71481)); + var_00.v["delay"] = 0.15; + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","48"); + var_00 common_scripts\_createfx::set_origin_and_angles((8380.88,84894.4,-44425.6),(5.90871,340.276,-12.3573)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","48"); + var_00 common_scripts\_createfx::set_origin_and_angles((8228.71,85117.9,-44448.5),(10.2494,3.0972,-9.10498)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","48"); + var_00 common_scripts\_createfx::set_origin_and_angles((8208.38,85050.9,-42139.3),(11.9128,15.2083,-6.76927)); + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_impact1_crack","48"); + var_00 common_scripts\_createfx::set_origin_and_angles((7826.35,85305.7,-42137.4),(3.32384,121.301,13.2747)); + var_00.v["delay"] = 0.15; + var_00 = common_scripts\_createfx::createexploderex("bagh_hoodoo_cliff_collapse","60"); + var_00 common_scripts\_createfx::set_origin_and_angles((-114371,93546.4,-49800.9),(342.999,0,0)); +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/finale_fx.gsc b/AW/PC/maps/createfx/finale_fx.gsc new file mode 100644 index 0000000..b9e9c92 --- /dev/null +++ b/AW/PC/maps/createfx/finale_fx.gsc @@ -0,0 +1,3031 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\finale_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 233 ms + * Timestamp: 4/22/2024 2:07:27 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createexploderex("smk_stacks_lp_lrg_a","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((45860.8,-71315.8,8682.98),(270,9.46232,91.5363)); + var_00 = common_scripts\_createfx::createexploderex("smk_stacks_lp_lrg_a","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((36442.5,-104797,6829.84),(282.726,344.977,49.2453)); + var_00 = common_scripts\_createfx::createexploderex("smk_stacks_lp_lrg_a","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21916.5,-75356.2,7383.62),(270,4.76364,122.235)); + var_00 = common_scripts\_createfx::createexploderex("fire_vista_glow_lp_lrg_unlit","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((38282.7,-87000.3,3013.08),(272.873,27.5691,-15.2625)); + var_00 = common_scripts\_createfx::createexploderex("fire_vista_glow_lp_lrg_unlit","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((39984.6,-64472.9,3235.9),(274.195,207.744,-178.995)); + var_00 = common_scripts\_createfx::createexploderex("fire_vista_glow_lp_lrg_unlit","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((40596.8,-75316.3,5248.63),(287.998,18.877,-19.7754)); + var_00 = common_scripts\_createfx::createexploderex("fire_vista_glow_lp_lrg_unlit","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((48326.4,-97690.2,4840.42),(280.562,208.982,141.1)); + var_00 = common_scripts\_createfx::createexploderex("ash_ember_cloud_freq_lrg_loop","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16807.7,-86875.7,7022),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("finale_god_willroom","8111"); + var_00 common_scripts\_createfx::set_origin_and_angles((11568.3,-85638.4,7858.66),(89,270.036,90.0365)); + var_00 = common_scripts\_createfx::createexploderex("finale_god_willroom","8112"); + var_00 common_scripts\_createfx::set_origin_and_angles((11569.1,-85871.8,7864.66),(89,270.036,90.0365)); + var_00 = common_scripts\_createfx::createexploderex("finale_god_willroom","8113"); + var_00 common_scripts\_createfx::set_origin_and_angles((11569.3,-86119.1,7867.35),(89,270.036,90.0365)); + var_00 = common_scripts\_createfx::createexploderex("finale_god_willroom_bright","8119"); + var_00 common_scripts\_createfx::set_origin_and_angles((11569.3,-86119.1,7867.35),(89,270.036,90.0365)); + var_00 = common_scripts\_createfx::createexploderex("finale_god_willroom_bright","8119"); + var_00 common_scripts\_createfx::set_origin_and_angles((11829.3,-86013.1,7867.35),(89,270.036,90.0365)); + var_00 = common_scripts\_createfx::createexploderex("finale_god_willroom_bright","8119"); + var_00 common_scripts\_createfx::set_origin_and_angles((12114.3,-86012.1,7867.35),(89,270.036,90.0365)); + var_00 = common_scripts\_createfx::createexploderex("finale_god_willroom","8114"); + var_00 common_scripts\_createfx::set_origin_and_angles((11568.8,-86399.6,7867.66),(89,270.036,90.0365)); + var_00 = common_scripts\_createfx::createexploderex("finale_god_willroom","8115"); + var_00 common_scripts\_createfx::set_origin_and_angles((11822.9,-85637.4,7867.66),(89,270.036,90.0365)); + var_00 = common_scripts\_createfx::createexploderex("finale_god_willroom","8116"); + var_00 common_scripts\_createfx::set_origin_and_angles((11822.4,-85872.2,7867.66),(89,270.036,90.0365)); + var_00 = common_scripts\_createfx::createexploderex("finale_god_willroom","8117"); + var_00 common_scripts\_createfx::set_origin_and_angles((11832.6,-86071.9,7841.83),(89,270.036,90.0365)); + var_00 = common_scripts\_createfx::createexploderex("finale_god_willroom","8118"); + var_00 common_scripts\_createfx::set_origin_and_angles((11821,-86389.4,7867.66),(89,270.036,90.0365)); + var_00 = common_scripts\_createfx::createexploderex("ambient_explosion_windowglass","1400"); + var_00 common_scripts\_createfx::set_origin_and_angles((9955.51,-84699.8,9595.7),(351.318,293.414,173.749)); + var_00 = common_scripts\_createfx::createexploderex("ambient_explosion_windowglass","1410"); + var_00 common_scripts\_createfx::set_origin_and_angles((9471.18,-84714.2,9739),(352.591,273.638,170.765)); + var_00 = common_scripts\_createfx::createexploderex("finale_screen_god_willroom","8112"); + var_00 common_scripts\_createfx::set_origin_and_angles((11518.5,-85712.3,7721.3),(8.00019,89.9992,-90.0006)); + var_00 = common_scripts\_createfx::createexploderex("finale_screen_god_willroom","8112"); + var_00 common_scripts\_createfx::set_origin_and_angles((11362.7,-85602.9,7776.32),(17.9273,1.39944,-88.8056)); + var_00 = common_scripts\_createfx::createexploderex("finale_screen_god_willroom","8112"); + var_00 common_scripts\_createfx::set_origin_and_angles((11362.7,-85764.4,7776.21),(17.9273,1.39944,-88.8056)); + var_00 = common_scripts\_createfx::createexploderex("finale_screen_god_willroom","8112"); + var_00 common_scripts\_createfx::set_origin_and_angles((11686.1,-85594.2,7716.49),(19.0655,180.638,88.7977)); + var_00 = common_scripts\_createfx::createexploderex("finale_screen_god_willroom","8112"); + var_00 common_scripts\_createfx::set_origin_and_angles((11262.2,-86010.3,7689.93),(17.9273,1.39944,-88.8056)); + var_00 = common_scripts\_createfx::createexploderex("aa_flash_tracer_far_freq_rnr_lp","1250"); + var_00 common_scripts\_createfx::set_origin_and_angles((50043.9,-84693.4,-442),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_flash_tracer_far_freq_rnr_lp","1250"); + var_00 common_scripts\_createfx::set_origin_and_angles((38405.6,-67285.4,1479.85),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_flash_tracer_far_freq_rnr_lp","1250"); + var_00 common_scripts\_createfx::set_origin_and_angles((42973.9,-107437,712.97),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_flash_tracer_far_freq_rnr_lp","1250"); + var_00 common_scripts\_createfx::set_origin_and_angles((61756.5,-67476.9,888.522),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_flash_tracer_far_freq_rnr_lp","1250"); + var_00 common_scripts\_createfx::set_origin_and_angles((23533.5,-61455.4,1308.87),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_flash_tracer_far_freq_rnr_lp","1250"); + var_00 common_scripts\_createfx::set_origin_and_angles((30687.2,-113746,3477.6),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_flash_tracer_far_freq_rnr_lp","1250"); + var_00 common_scripts\_createfx::set_origin_and_angles((57766.2,-101107,2793.61),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_flash_tracer_far_freq_rnr_lp","1250"); + var_00 common_scripts\_createfx::set_origin_and_angles((5744.39,-127088,3915.71),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_flash_tracer_far_freq_rnr_lp","1250"); + var_00 common_scripts\_createfx::set_origin_and_angles((17911.5,-115614,6014.62),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("ambient_explosion_midair_runner_single","1445"); + var_00 common_scripts\_createfx::set_origin_and_angles((9852.53,-86618.4,8271.65),(7.85488,241.093,-174.052)); + var_00 = common_scripts\_createfx::createexploderex("ambient_explosion_midair_runner_single","1440"); + var_00 common_scripts\_createfx::set_origin_and_angles((12107.3,-86121.5,8616.96),(7.85488,241.093,-174.052)); + var_00 = common_scripts\_createfx::createexploderex("aa_flash_tracer_far_freq_rnr_lp","1250"); + var_00 common_scripts\_createfx::set_origin_and_angles((55517.4,-78021.3,1990.9),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_flash_tracer_far_freq_rnr_lp","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10080.2,15776.6,1880.76),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_flash_tracer_far_freq_rnr_lp","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((9132.93,16675.6,442.708),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_flash_tracer_far_freq_rnr_lp","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((29232.6,11508.9,1099.49),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_flash_tracer_far_freq_rnr_lp","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((36947.5,-2597.34,2314.69),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_flash_tracer_far_freq_rnr_lp","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((47526.6,-4239.24,10027.9),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_flash_tracer_far_freq_rnr_lp","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((25141.2,-11789.2,1474.95),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_flash_tracer_far_freq_rnr_lp","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((15251.3,-16931,1252.95),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_flash_tracer_far_freq_rnr_lp","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19565.2,429.343,336.656),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_flash_tracer_far_freq_rnr_lp","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5482.21,-21084.5,98.478),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_flash_tracer_far_freq_rnr_lp","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15375.7,-10073.9,56.7832),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_flash_tracer_far_freq_rnr_lp","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12176.4,-117990,5660.17),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_flash_tracer_far_freq_rnr_lp","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((45254.9,-70109.9,6450.55),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_flash_tracer_far_freq_rnr_lp","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((29983.1,-113998,4716.8),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_flash_tracer_far_freq_rnr_lp","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((23799,14520.7,-225.683),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_flash_tracer_far_freq_rnr_lp","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((48792.7,-101508,4024),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_liquid_hydrogen_tunnel","liquid_hydrogen"); + var_00 common_scripts\_createfx::set_origin_and_angles((9222.56,5568.62,-6041),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_rocket_ignition","liquid_hydrogen"); + var_00 common_scripts\_createfx::set_origin_and_angles((8014.15,5578.2,-5952.73),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_rocket_ignition_spark","ignition_sparks"); + var_00 common_scripts\_createfx::set_origin_and_angles((7699.63,5565.25,-6069.75),(334.438,354.87,-2.38193)); + var_00 = common_scripts\_createfx::createexploderex("fin_rocket_ignition_spark","ignition_sparks"); + var_00 common_scripts\_createfx::set_origin_and_angles((8012.11,5885.41,-6067.72),(334.512,267.628,-0.939515)); + var_00 = common_scripts\_createfx::createexploderex("fin_rocket_ignition_spark","ignition_sparks"); + var_00 common_scripts\_createfx::set_origin_and_angles((8023.38,5244.72,-6067.69),(339.493,86.9051,-179.094)); + var_00 = common_scripts\_createfx::createexploderex("fin_rocket_ignition_spark","ignition_sparks"); + var_00 common_scripts\_createfx::set_origin_and_angles((8336.73,5569.94,-6057.55),(337.094,178.403,157.943)); + var_00 = common_scripts\_createfx::createexploderex("fin_rocket_ignition_fire","ignition_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((8020.18,5572.14,-5952.73),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_smoke_tunnel","fin_tunnel_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((8653.34,5572.12,-6081),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_fire_tunnel","fin_red_thruster"); + var_00 common_scripts\_createfx::set_origin_and_angles((8739.12,5567.99,-6012.92),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_fire_tunnel_constant","red_thruster_constant"); + var_00 common_scripts\_createfx::set_origin_and_angles((8745.25,5565.09,-6010.41),(0,0,0)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("fin_rocket_thruster","red_thruster_constant"); + var_00 common_scripts\_createfx::set_origin_and_angles((8015.22,5573.81,-5958.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_fireblast_tunnel_constant","fin_yellow_thruster"); + var_00 common_scripts\_createfx::set_origin_and_angles((8741.43,5567.66,-6010.41),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_blacksmk_tall","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((417.499,-9887.08,-105.505),(270,0,158)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_debris","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3601.44,-10848.1,605.681),(270,0,-19.0001)); + var_00 = common_scripts\_createfx::createexploderex("smk_stacks_lp_sml_a","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3410.02,-9597.01,672.613),(270,0,-73.0003)); + var_00 = common_scripts\_createfx::createexploderex("smk_stacks_lp_sml_a","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2217.45,-5453.63,956.316),(270,0,49.9991)); + var_00 = common_scripts\_createfx::createexploderex("smk_stacks_lp_sml_a","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6199.41,-3746.93,807.312),(276,343.998,-105)); + var_00 = common_scripts\_createfx::createexploderex("smk_stacks_lp_sml_a","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5253.26,-401.566,1060.69),(270,0,177.999)); + var_00 = common_scripts\_createfx::createexploderex("smk_stacks_lp_sml_a","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((84.541,-2131.98,958.447),(274,84.9975,-180)); + var_00 = common_scripts\_createfx::createexploderex("smk_stacks_lp_med_a","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1832,3557.61,1400.15),(270,0,177.998)); + var_00 = common_scripts\_createfx::createexploderex("smk_stacks_lp_sml_a","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((6721.83,3607.05,895.45),(270,0,106.996)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_blacksmk_tall","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2570.62,278.669,-132.968),(279,86.9982,-90.0008)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_debris","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1670.47,341.192,281.125),(279,86.9982,-90.0008)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_debris","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4962.71,-5414.15,-104.003),(270.001,247.854,109.144)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_debris","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3966.23,-4763.58,-181.72),(270.001,247.854,109.144)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_l_blacksmk_thick_nonlit","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((14558.3,-466.762,4080.85),(274.387,234.412,122.799)); + var_00 = common_scripts\_createfx::createexploderex("smoke_pillar_black_large_fast","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((20437.2,10456.3,1587.15),(278.252,279.327,-70.8928)); + var_00 = common_scripts\_createfx::createexploderex("smoke_pillar_black_large_fast","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1943.46,13839.3,1100.78),(278.252,279.328,-25.8941)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_l_blacksmk_thick_nonlit","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((10468.5,17664.8,4749.94),(280.128,334.189,99.3019)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_no_light","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4138.26,-9859.84,801.4),(276.45,342.123,-59.5628)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-624.935,-9868.58,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-650.822,-9798.07,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((138.266,-9930.31,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1685.4,-11164.1,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((234.633,-9684.69,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((274.538,-9505.78,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1407.14,-6594.18,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13.4675,-10625.9,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((18.8476,-10759.1,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1071.59,-10721.9,-211),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1366.83,-10583.6,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1021.1,-8119.85,-215),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((650.513,-11073.8,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((297.189,-11018.7,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1454.08,-9956.55,-214.064),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((562.26,-10107.1,-215),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3770.44,-8625.49,-224),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3066.61,-10287.2,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3069.27,-10125.8,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3971.85,-8002.56,-223),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((4249.24,-9056.63,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((4452.5,-8505.97,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((4359.71,-8342.21,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4485.37,-5800.13,-215.307),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1728.44,-11033.2,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1675.27,-9707.17,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2276.31,-9682.13,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3705.68,-9752.81,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3809.66,-5834.49,-213),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((4341.02,-6884.18,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((4182.43,-6807.63,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3717.21,-7271.76,-218.069),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3355.77,-6090.14,-206.924),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2404.42,-6067.9,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1399.73,-6722.86,-210.443),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5291.62,-3735.26,-218),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4369.19,-2782.9,-226.665),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-851.641,-10869.1,-211.196),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1214.9,-10008.2,-213),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1324.52,-9934.09,-224),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((300.587,-10034.6,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1835.61,-9715.89,-211.67),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1208.23,-7873.73,-221),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4689.39,-6125.43,-214),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5109.29,-6332.64,-215.977),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4419.48,-5597.02,-211.01),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((146.394,-6982.08,-217),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((44.8004,-6859.24,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((96.244,-7026.23,-221),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1483.23,-543.75,-216.552),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1133.63,-7944.77,-219),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3439.43,-6024.01,-213.509),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-664.842,-7146.19,-222.126),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-737.726,-7257.01,-209),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5336.2,-2568.66,-219),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1357.69,2660.21,-210),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2010.91,2681.33,-213.643),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4445.37,-2664.99,-224),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1850.51,1573.21,-201.309),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3120.58,-1744.71,-220),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2633.49,-7875.8,-220.406),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2739.15,-7670.92,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1864.62,-7080.01,-213.173),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2880.56,-7362.93,-210.047),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2825.3,-6219.31,-213.523),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2720.08,-6192,-210.362),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3631.08,-1773.45,-218),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3581.83,-5976.14,-221),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2028.05,1571.34,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4610.49,-4911.23,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3055.33,1552.49,-200),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3756.25,-5668.16,-211),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3447.12,1633.75,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3555.27,-3831.86,-212.791),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4157.8,-3445.72,-212.733),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3454.45,2672.51,-206.614),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((974.334,608.432,-211.713),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5178.51,-2272.48,-211),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5007.61,-1812.89,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2574.55,2528.21,-216),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3987.51,-1964.65,-212),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3015.75,-1662.03,-215),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1536.16,-8898.03,-208.332),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3228.02,-418.544,-209.522),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2090.56,-442.908,-214),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2021.37,-2133.22,-218.042),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1112.08,-2077.39,-219.812),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1023.68,-1907.36,-212),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1706.41,-2149.27,-214),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3808.11,1709.56,-203.839),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1197.41,-504.192,-215),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-747.903,-196.421,-202.327),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-520.602,222.302,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-373.982,-1780.54,-214),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-63.169,-1545.56,-210),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((227.718,-1211.06,-220),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((211.975,-1003.06,-225),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-946.758,-395.504,-217),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((746.887,-588.638,-214),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((937.905,-110.747,-216.115),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2807.38,-9528.71,-214.536),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3832.01,2669.67,-207.191),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3872.23,2453.64,-234),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2937.95,1301.79,-204.568),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1466.07,2535.45,-219),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3704.92,2651.05,-212.079),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2395.19,2659.49,-209.677),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1343.08,1263.54,-210),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1223.67,1386.02,-207.604),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1487.7,1484.81,-212),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1720.49,1532.84,-200),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2135.85,2677.08,-214),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2294.24,1548.94,-200.545),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2031.67,1283.07,-200),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2521.81,1320.88,-204),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3288.14,1419.99,-206),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2904.05,2678.14,-209.705),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3241.79,2687.96,-207),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3562.25,2539.92,-212),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3868.26,2011.26,-224),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3451.42,1072.71,-219.099),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1643.65,1067.65,-218),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4264.34,2339.92,-513.917),(289.916,107.642,-107.589)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((2768.68,1984.19,-514.393),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((2904.82,2331.32,-504.887),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((2119.13,2253.29,-519.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3789.37,2367.52,-519.875),(276.323,161.632,-161.527)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3238.87,2325.69,-519.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((2755.05,1580.54,-504.836),(282,270,90.0003)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5006.24,2056.25,-519.875),(279,269.999,90.0004)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3437.34,1728.12,-495.901),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5202.65,1474.36,-493.455),(294.01,343.415,17.1926)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4375.68,2339.03,-506.475),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((2456.04,1448.75,-497.454),(291,89.9999,-90)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5255.69,1410.45,-477.474),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((2274.09,2299.35,-519.875),(290.995,179.716,179.695)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5280.71,2226.91,-519.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5423.44,1994.92,-518.662),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((2829.06,1599.64,-443.745),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3353.75,2170.05,-519.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4404.61,2112.59,-519.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4692.58,1919.93,-519.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((2580.17,1913.71,-519.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3187.17,1629.76,-503.92),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_particulates_river","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5716.86,2373.44,-369.875),(270,0,93.9993)); + var_00 = common_scripts\_createfx::createexploderex("underwater_particulates_river","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5127.85,1770.78,-353.875),(270,0,93.9993)); + var_00 = common_scripts\_createfx::createexploderex("underwater_particulates_river","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4803.29,2280.81,-359.77),(270,0,93.9993)); + var_00 = common_scripts\_createfx::createexploderex("underwater_particulates_river","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4293.59,1797.43,-385.875),(270,0,93.9993)); + var_00 = common_scripts\_createfx::createexploderex("underwater_particulates_river","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((2930.41,1761.33,-367.875),(270,0,93.9993)); + var_00 = common_scripts\_createfx::createexploderex("underwater_particulates_river","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((2532.88,2211.16,-374.875),(270,0,93.9993)); + var_00 = common_scripts\_createfx::createexploderex("underwater_particulates_river","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5666.04,1847,-329.875),(270,0,93.9993)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5819.61,1567.18,-434.328),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5789.39,1660.08,-519.875),(286,270,90.0002)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5926.64,1720.14,-519.875),(283.397,115.186,-116.817)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5735.81,2102.88,-515.709),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5583.55,1562.73,-519.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4318.85,2297.13,-519.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3567.04,1803.14,-511.841),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4006.6,1945.39,-472.349),(295.567,303.735,94.0896)); + var_00 = common_scripts\_createfx::createexploderex("trash_underwater_current_rnr_lp","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3742.85,2239.81,-384.875),(271,187,89.9986)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5784.77,2250.61,-519.589),(290.995,179.716,179.695)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5763.04,2249.17,-453.124),(290.995,179.716,179.695)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5602.8,1906.91,-519.875),(290.995,179.716,179.695)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5717.46,2409.52,-498.226),(283.026,207.738,173.098)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5620.54,1932.23,-515.443),(290.995,179.716,179.695)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4927.36,2403.71,-515.038),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("trash_underwater_current_rnr_lp","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4727.5,1841.2,-393.875),(270,351.87,-74.8709)); + var_00 = common_scripts\_createfx::createexploderex("trash_underwater_current_rnr_lp","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5615.16,1921.14,-399.805),(270,351.87,-74.8709)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3725.93,2196.4,-566.875),(275.969,260.928,83.857)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3599.85,1476.12,-519.875),(280.58,336.018,13.9181)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4095.62,2055.12,-435.605),(279,270,90.0002)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((2410.92,1551.96,-505.008),(280,90.0002,-90.0003)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3911.56,2252.48,-312.013),(295,180,180)); + var_00 = common_scripts\_createfx::createexploderex("trash_underwater_current_rnr_lp","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5164.9,2045.85,-364.697),(270,351.87,-74.8709)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4081.42,1881.8,-515.494),(279,270,90.0002)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4189.22,1996.17,-527.417),(293.27,321.461,40.9274)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3040.42,2350.56,-509.066),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3991.09,1449.3,-509.876),(320.316,352.583,-3.10477)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4770.51,1473.17,-485.816),(290,89.9999,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4913.17,1192.99,-501.08),(287.31,79.7058,-79.3203)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4611.2,1228.49,-474.765),(318.106,87.0725,-85.7518)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4963.75,1284.74,-489.699),(304.245,68.5802,-137.476)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4221.29,1263.76,-473.555),(301,89.9999,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4339.77,1228.9,-477.292),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5624.87,2483.56,-519.875),(293.162,155.66,-153.802)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4741.25,1191.92,-471.599),(304.245,68.5802,-137.476)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3279.85,1244.3,-477.658),(306.352,346.264,4.2726)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((2321.53,2054.87,-519.875),(280.431,106.358,-106.777)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3124.55,2284.27,-515.088),(286,179,-180)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3920.87,2450.08,-488),(294,180,180)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3887.55,2614.91,-413.253),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3522.26,2557.97,-488),(273.605,146.338,-146.286)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3367.85,2508.99,-474.467),(285.539,220.615,140.858)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3927.4,2004.88,-452.585),(283.464,233.112,109.633)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4147.43,2224.28,-352.241),(299.765,279.428,68.0985)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3797.08,1509.86,-444.288),(306,89.9999,-90)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4574.1,1677.76,-516.427),(301,89.9999,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4403.12,1660.64,-514.858),(301,89.9999,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4989.71,1577.35,-519.875),(301,89.9999,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5448.52,1793.04,-519.875),(316,89.9997,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5176.02,1616.63,-519.875),(314,89.9996,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4786.47,2050.79,-519.875),(332.719,233.049,-161.515)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4946.53,2130.45,-447.976),(304.516,276.739,75.5695)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_angled","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5986.5,2376.2,-344.875),(279.808,214.635,-94.4102)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_angled","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((6009.22,2347.3,-345.497),(283.674,210.388,-83.2404)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_angled","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((6142.1,2125.42,-341.555),(288.666,211.411,-87.2241)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_angled","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((6156.51,2104.63,-328.272),(273.484,257.096,-140.392)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_angled","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5594.79,1915.59,-494.489),(274.966,321.021,112.995)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_angled","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4039.49,1995.53,-498.443),(281.977,163.411,68.2057)); + var_00 = common_scripts\_createfx::createexploderex("underwater_murky_cloud","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3568.49,1949.45,-528.875),(270.857,192.857,-17.8758)); + var_00 = common_scripts\_createfx::createexploderex("underwater_concrete_falling_m","520"); + var_00 common_scripts\_createfx::set_origin_and_angles((4288.25,1655.24,-169.442),(270,0,93.9993)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_angled","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((6165.53,2092.95,-347.863),(298.659,212.415,-88.1477)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_angled","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5984.4,2355.1,-321.12),(274.686,207.016,-84.9013)); + var_00 = common_scripts\_createfx::createexploderex("underwater_concrete_falling_sml","525"); + var_00 common_scripts\_createfx::set_origin_and_angles((3837.17,2515.62,-200.814),(279.055,276.37,6.70645)); + var_00 = common_scripts\_createfx::createexploderex("underwater_concrete_falling_m","520"); + var_00 common_scripts\_createfx::set_origin_and_angles((4172.4,1985.54,-223.358),(272,162,-166.001)); + var_00 = common_scripts\_createfx::createexploderex("underwater_murky_cloud","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3017.29,1906.27,-524.875),(270.857,192.857,-17.8758)); + var_00 = common_scripts\_createfx::createexploderex("underwater_murky_cloud","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4402.66,1908.49,-524.875),(270.857,192.859,87.1227)); + var_00 = common_scripts\_createfx::createexploderex("underwater_murky_cloud","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5171.36,1838.68,-527.875),(270.857,192.859,87.1227)); + var_00 = common_scripts\_createfx::createexploderex("underwater_murky_cloud","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5041.78,2340.8,-530.875),(271.145,7.83161,-87.8503)); + var_00 = common_scripts\_createfx::createexploderex("underwater_murky_cloud","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((2559.28,1993.99,-526.875),(270.42,210.206,61.7629)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_angled","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4907.68,2059.26,-492.889),(273.044,354.949,61.0275)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_angled","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4078.25,2209.6,-465.875),(273.605,123.717,140.335)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_angled","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4062.71,2179.55,-495.657),(273.605,123.714,149.337)); + var_00 = common_scripts\_createfx::createexploderex("underwater_concrete_falling_sml","525"); + var_00 common_scripts\_createfx::set_origin_and_angles((3860.36,1951.73,-200),(279,270,90.0002)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_angled","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3920.6,2179.11,-337.121),(286.295,324.86,130.276)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_angled","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((2787.13,1948.26,-506.407),(275.397,305.948,-0.902526)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((2810.32,1864.12,-516.547),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_angled","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((2810.96,1929.42,-498.443),(275.397,305.948,-0.902526)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3381.69,1747.75,-513.819),(307.94,255.635,88.9627)); + var_00 = common_scripts\_createfx::createexploderex("underwater_concrete_falling_sml","525"); + var_00 common_scripts\_createfx::set_origin_and_angles((3863.23,1864.06,-191.109),(279,270,90.0002)); + var_00 = common_scripts\_createfx::createexploderex("trash_underwater_current_rnr_lp","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((2455.37,1902.98,-368.875),(270,351.87,-74.8709)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bubbles_canal_fewer","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3373.15,1811.13,-521.854),(305.05,357.146,3.48426)); + var_00 = common_scripts\_createfx::createexploderex("underwater_particulates_river","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3461.7,2291.23,-337.801),(270,0,93.9993)); + var_00 = common_scripts\_createfx::createexploderex("underwater_murky_smk_linger","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4770.31,2075.39,-516.875),(272.234,243.468,-174.556)); + var_00 = common_scripts\_createfx::createexploderex("underwater_murky_smk_linger","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((2948.94,1817.02,-512.875),(272.234,243.468,-49.5566)); + var_00 = common_scripts\_createfx::createexploderex("underwater_murky_smk_linger","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4136.21,1705,-513.875),(271.56,140.387,-123.505)); + var_00 = common_scripts\_createfx::createexploderex("underwater_murky_smk_linger","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5588.74,2264.66,-518.875),(278.561,307.159,144.606)); + var_00 = common_scripts\_createfx::createexploderex("underwater_murky_smk_linger","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4981.41,1634.96,-519.875),(272.234,243.477,68.4336)); + var_00 = common_scripts\_createfx::createexploderex("underwater_murky_smk_linger","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3620.34,2321.06,-516.875),(272.234,243.468,-49.5566)); + var_00 = common_scripts\_createfx::createexploderex("underwater_murky_smk_linger","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5427.66,1807.74,-518.719),(272.234,243.471,119.44)); + var_00 = common_scripts\_createfx::createexploderex("underwater_murky_smk_linger","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3664.39,1738.84,-516.875),(272.234,243.471,119.44)); + var_00 = common_scripts\_createfx::createexploderex("underwater_murky_smk_linger","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3509.09,2364.9,-512.875),(272.234,243.468,-49.5566)); + var_00 = common_scripts\_createfx::createexploderex("underwater_murky_smk_linger","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4344.79,1765.36,-517.875),(271.56,140.387,-123.505)); + var_00 = common_scripts\_createfx::createexploderex("underwater_murky_smk_linger","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4738.53,1985.57,-513.875),(272.234,243.468,-174.556)); + var_00 = common_scripts\_createfx::createexploderex("underwater_murky_smk_linger","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5107.49,1640.82,-513.875),(272.234,243.471,119.44)); + var_00 = common_scripts\_createfx::createexploderex("underwater_murky_smk_linger","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5529.9,1821.51,-519.875),(272.234,243.471,119.44)); + var_00 = common_scripts\_createfx::createexploderex("underwater_murky_smk_linger","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5606,2452.35,-519.875),(271.294,180.941,-53.323)); + var_00 = common_scripts\_createfx::createexploderex("underwater_murky_smk_linger","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4109.69,2290.62,-519.875),(272.234,243.471,119.44)); + var_00 = common_scripts\_createfx::createexploderex("underwater_murky_smk_linger","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3747.41,2074.05,-510.444),(272.234,243.471,119.44)); + var_00 = common_scripts\_createfx::createexploderex("underwater_murky_smk_linger","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3121.47,2277.01,-516.089),(272.234,243.471,119.44)); + var_00 = common_scripts\_createfx::createexploderex("underwater_murky_smk_linger","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3289.77,1649.4,-517.875),(272.234,243.471,119.44)); + var_00 = common_scripts\_createfx::createexploderex("trash_underwater_current_rnr_lp","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4241.02,1946.62,-350.875),(270,351.87,-74.8709)); + var_00 = common_scripts\_createfx::createexploderex("underwater_murky_smk_linger","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4485.79,2098.84,-522.683),(272.234,243.468,-174.556)); + var_00 = common_scripts\_createfx::createexploderex("underwater_murky_smk_linger","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((2379.21,1920.5,-519.875),(272.234,243.468,-49.5566)); + var_00 = common_scripts\_createfx::createexploderex("underwater_murky_smk_linger","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4871.3,2292.01,-510.875),(272.234,243.468,-174.556)); + var_00 = common_scripts\_createfx::createexploderex("underwater_murky_smk_linger","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3404.73,2321.3,-514.875),(272.234,243.468,-49.5566)); + var_00 = common_scripts\_createfx::createexploderex("underwater_murky_smk_linger","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4774.88,2102.98,-515.875),(272.234,243.471,119.44)); + var_00 = common_scripts\_createfx::createexploderex("fin_exhaust_hatch_open","hatch_open"); + var_00 common_scripts\_createfx::set_origin_and_angles((9960.46,5624.04,-608),(270,0,-90.001)); + var_00 = common_scripts\_createfx::createexploderex("fin_bar_hit_sparks","bar_hit_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((9801.19,5625.92,-613),(273,201.998,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_exhaust_hatch_break","bar_break_player"); + var_00 common_scripts\_createfx::set_origin_and_angles((9915.69,5521.4,-510),(270,14.0362,74.9627)); + var_00 = common_scripts\_createfx::createexploderex("fin_exhaust_hatch_break","bar_break_gid"); + var_00 common_scripts\_createfx::set_origin_and_angles((10009.9,5513.25,-506),(270,14.0362,74.9627)); + var_00 = common_scripts\_createfx::createexploderex("fin_exhaust_hatch_break","bar_break_player"); + var_00 common_scripts\_createfx::set_origin_and_angles((9924.12,5596.84,-595),(270,14.0362,74.9627)); + var_00 = common_scripts\_createfx::createexploderex("fin_exhaust_hatch_break","bar_break_gid"); + var_00 common_scripts\_createfx::set_origin_and_angles((10004.5,5597.55,-593),(270,14.0362,74.9627)); + var_00 = common_scripts\_createfx::createexploderex("fin_hatch_exhaust","hatch_exhaust"); + var_00 common_scripts\_createfx::set_origin_and_angles((9966.24,5573.84,-648.043),(270,14.0362,74.9627)); + var_00 = common_scripts\_createfx::createexploderex("fin_bar_hit_sparks","bar_hit_ground_gid"); + var_00 common_scripts\_createfx::set_origin_and_angles((10094.4,5557.65,-612),(273,157.998,163)); + var_00 = common_scripts\_createfx::createexploderex("aa_flash_tracer_far_freq_rnr_lp","1250"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12391,-120773,3138.68),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-310.822,-10817.9,-210),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((673.147,2676.08,-213),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1016.61,2680.02,-209),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2499.59,1571.31,-211),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((985.588,982.155,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2719.84,-356.708,-202.988),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-639.723,1117.2,-206.473),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-569.882,1953.01,-207.962),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-229.474,2654.08,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((4483.93,2670.16,-212.242),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5086.65,2667.63,-201.586),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((4586,2541.4,-210.872),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2674.04,2651.3,-216.55),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((4164.57,-6537.27,-205.804),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1792.78,-8763.2,-221.717),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2412.1,-8173.62,-222.495),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2059.35,-6886.87,-209.878),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4456.21,-6753.72,-219.391),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4346.84,-6848,-210.641),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3780.04,-5200.36,-213.691),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3700.6,-4970.3,-215),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3557.56,-4838.94,-216.641),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3338.71,-4585.48,-216.7),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3359.61,-3869.41,-216.151),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((797.905,-486.069,-214.048),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((436.722,2668.35,-207.471),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-100.131,-10753.2,-213),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2038.25,-11043.1,-215),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3347.81,-10049.8,-220.424),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2402.94,-6007.41,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2550.64,-6026.5,-215),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5254.51,-2298.55,-215.183),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2331.19,1690.77,-205.906),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1629.23,2651.19,-216.537),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("mech_vm_water_splash","mech_drop_canal_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((2972.65,1900.19,-207),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1322.38,-9793.81,-212.823),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2943.34,-6911.15,-229),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3805.72,-8574.14,-211.235),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2250.06,-7157,-219.536),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1882.29,-7730.93,-230),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3153.86,-6210.19,-205.246),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3309.54,-6159.57,-212.997),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5286.05,-3482.03,-226),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5361.97,-3172.85,-217),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5365.06,-2831.16,-217),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4631.95,-1223.56,-219.793),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4219.7,-866.515,-214.398),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4110.58,-792.607,-220.351),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3949.53,-784.825,-221),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1814.61,-9949.66,-211.674),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1665.11,-9852.29,-218.005),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2371.74,-10891.8,-202.561),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2780.17,-10614.6,-216.685),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1319.34,-9002.24,-218.964),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-612.22,-9178.02,-207.773),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-205.99,-9002.78,-214),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-190.81,-8878,-215),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4799.26,-6288.37,-219.098),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3910.14,-4884.88,-218),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4032.07,-4740.63,-220),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4127.96,-4258.48,-214.867),(270,0,-135)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4330.24,-4099.73,-223.654),(270,0,-135)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4023.97,-4348.63,-217),(270,0,-175)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3918.31,-4143.79,-207),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3808.11,-4402.37,-212.759),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3727.85,-4637.78,-216.713),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4076.63,-3917.04,-204.483),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4268.7,-2322.35,-224.063),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2789.09,1547.16,-220.604),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("fin_smoke_vent","vfx_open_vent"); + var_00 common_scripts\_createfx::set_origin_and_angles((10048.4,5569.91,-6015.15),(0,0,-18.0002)); + var_00 = common_scripts\_createfx::createexploderex("fin_fire_tunnel_constant_blue","fire_tunnel_blue"); + var_00 common_scripts\_createfx::set_origin_and_angles((8745.6,5565.09,-6013.41),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_rocket_thruster_smoke","thruster_idle_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((8030.63,5563.67,-6134.75),(87.4801,45.5694,93.5576)); + var_00 = common_scripts\_createfx::createexploderex("fin_smoke_tunnel_slow","thruster_idle_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((8437.79,5578.63,-6079.09),(270,0,-91.0004)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5117.67,-4184.41,-227.953),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_godray","9542"); + var_00 common_scripts\_createfx::set_origin_and_angles((7059.05,4298.26,-351.999),(3.47648,36.0158,0.769099)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_godray","9542"); + var_00 common_scripts\_createfx::set_origin_and_angles((7057.64,4296.78,-480.43),(359.999,44.9987,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_godray","9542"); + var_00 common_scripts\_createfx::set_origin_and_angles((7697.87,4849.17,-476.101),(359.999,252.999,179.998)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_godray","9542"); + var_00 common_scripts\_createfx::set_origin_and_angles((7698.19,4849.03,-348.411),(358.685,244.031,177.303)); + var_00 = common_scripts\_createfx::createexploderex("light_underwater_godray_beam_moving_med","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((2358.2,1487.78,-233.227),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_underwater_godray_beam_moving_med","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((2708.22,2252.57,-218.859),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_underwater_godray_beam_moving_med","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4461.45,2071.22,-130.333),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_underwater_godray_beam_moving_med","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((1800.15,1630.62,-228.241),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("caustic_b_pa","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((2062.5,2311.09,-340),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_underwater_godray_beam_moving_med","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((1725.74,1980.96,-231),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_underwater_godray_beam_moving_med","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((1802.56,2010.37,-231),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_underwater_godray_beam_moving_med","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((2163.68,2194.81,-231),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_underwater_godray_beam_moving_med","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((2882.13,2404.01,-231),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_underwater_godray_beam_moving_med","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3447.37,2627.08,-231),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_underwater_godray_beam_moving_med","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((4517.16,2597.65,-231),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_underwater_godray_beam_moving_med","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((3362.26,1745.93,-231),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_underwater_godray_beam_moving_med","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5154.51,2359.61,-231),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15276.7,-87209.5,7800.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15274.7,-86411.1,7800.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16195.7,-86408.9,7800.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16194.9,-87211.5,7800.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15784.9,-87022.2,7736.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15683.4,-87022.4,7736.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15683.6,-86927.3,7736.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15786.9,-86926.2,7736.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15786.2,-86832.4,7736.12),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15685,-86831.3,7736.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15685.4,-86733.1,7736.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15786.7,-86736.3,7736.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15784.7,-86638.6,7736.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8022.76,5570.79,-5960.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm3","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15282.2,-86894.3,7857.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm3","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15281.8,-86750.7,7857.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm3","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15409.3,-86750.7,7857.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm3","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15409.9,-86892.8,7857.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm3","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15537.2,-86892.9,7857.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm3","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15536.5,-86749.8,7857.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm3","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15664.1,-86892.6,7857.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm3","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15664,-86750.6,7857.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm3","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15792,-86751.3,7857.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm3","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15792.3,-86894.9,7857.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm3","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15920.1,-86893,7857.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm3","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16048.1,-86893.9,7857.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm3","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16176.4,-86892.8,7857.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm3","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16258.3,-86907.7,7858.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm3","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16257.4,-86730.3,7858.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm3","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16175.7,-86750.8,7857.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm3","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16047.8,-86750.5,7857.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm3","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15919.3,-86750.9,7857.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_surface_splash","gideon_water_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((3247.55,1960.09,-209.467),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bottom_impact_dirt","gideon_hit_bottom"); + var_00 common_scripts\_createfx::set_origin_and_angles((3191.82,1972.41,-517.257),(270,0,5.99995)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_blacksmk_tall","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((787.434,-11128.1,-163.223),(270,348.69,-59.6905)); + var_00 = common_scripts\_createfx::createexploderex("smk_stacks_lp_sml_a","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((4224.16,-6457.84,403.549),(270,0,-28.0005)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_no_light","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5484.87,-7917.28,502.125),(274.141,89.4564,-33.1506)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_l_blacksmk_thick_nonlit","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8834.91,-14012.8,2230.94),(272.045,54.8353,-31.1694)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_no_light","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3648.26,-7412.14,187.849),(270.42,216.03,117.353)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_no_light","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5334.13,-1196.42,426.816),(270.42,216.033,18.3497)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_no_light","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3349.48,-2197.11,483.203),(284.823,101.811,-91.4787)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_l_blacksmk_thick_nonlit","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1014.88,-2928.36,4219.05),(274.387,234.413,-159.202)); + var_00 = common_scripts\_createfx::createexploderex("poison_gas_green_m","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((4360.71,-10683.3,-170.746),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("poison_gas_green_m","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((5683.97,-5635.62,288.747),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("poison_gas_green_m","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4406.17,-10917.2,147.703),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("poison_gas_green_m","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2476.56,-4422.65,269.298),(270,0,134)); + var_00 = common_scripts\_createfx::createexploderex("poison_gas_green_m","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5261.27,-409.731,-94.3765),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("poison_gas_green_m","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((6532.96,-341.129,-3.55),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("poison_gas_green_m","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3900.23,-4973.38,212.492),(270,0,161)); + var_00 = common_scripts\_createfx::createexploderex("window_smk_dark_m","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1050.92,-3384.63,3915.17),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("window_smk_dark_m","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1295.06,-3566.65,3467.32),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("window_smk_dark_m","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5225.52,-10995.1,1993.81),(270,0,-113.001)); + var_00 = common_scripts\_createfx::createexploderex("window_smk_dark_m","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1066.03,-2631.71,1389.61),(270,0,56.9987)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_blacksmk_tall","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3850.72,1392.99,-182),(279,86.9972,-161)); + var_00 = common_scripts\_createfx::createexploderex("smoke_pillar_black_large_fast","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((15332.7,282.143,644.076),(278.252,279.329,58.1039)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_blacksmk_tall","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1795.81,-9834.1,-177.871),(270,0,158)); + var_00 = common_scripts\_createfx::createexploderex("window_smk_dark_m","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2081.42,-6023.98,250.921),(270.42,216.034,-121.651)); + var_00 = common_scripts\_createfx::createexploderex("smoke_pillar_black_large_fast","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16166.9,-6120.19,542.755),(299.227,283.071,12.4983)); + var_00 = common_scripts\_createfx::createexploderex("poison_gas_green_m","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4063.32,-8220.53,52.8115),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("smoke_pillar_black_large_fast","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5296.06,-16413.8,45.8514),(278.252,279.332,161.1)); + var_00 = common_scripts\_createfx::createexploderex("smk_stacks_lp_sml_a","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9650.49,-3949.96,1226.82),(276,343.998,-105)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1449.57,-8269.61,-207),(270,348.69,61.3095)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_blacksmk_tall","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1240.52,-7622.54,203.326),(270.001,262.589,-145.591)); + var_00 = common_scripts\_createfx::createexploderex("smk_stacks_lp_sml_a","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((9642.06,-123.788,563.659),(270,0,78.9954)); + var_00 = common_scripts\_createfx::createexploderex("fin_smk_stacks_lp_lrg_unlit_a","1250"); + var_00 common_scripts\_createfx::set_origin_and_angles((2735.95,-104029,5784.83),(270,0,-162.001)); + var_00 = common_scripts\_createfx::createexploderex("fin_smk_stacks_lp_lrg_unlit_a","1250"); + var_00 common_scripts\_createfx::set_origin_and_angles((19729.8,-101868,7139.45),(270,0,-160.001)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1184.72,-9052.39,-221.644),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((168.717,-8542.27,-207),(270,0,40.9993)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-68.149,-8418.55,-207),(270,180,-156.001)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((13931.2,-86787.4,8014.26),(80.0003,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((13931.1,-86796.1,8014.26),(80.0003,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((13932.5,-86831.8,8012.19),(80.0003,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((13933.4,-86854.6,8013.31),(80.0003,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((13930.8,-86845.7,8012.17),(80.0003,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((13932.6,-86891.5,8014.31),(80.0003,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((13931.8,-86898.8,8014.26),(80.0003,0,0)); + var_00 = common_scripts\_createfx::createexploderex("poison_gas_green_m","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-639.925,-3178.35,-73.47),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1119.78,-7970.25,-207),(270,0,16.9987)); + var_00 = common_scripts\_createfx::createexploderex("fin_silo_rocket_loading_steam_lp","missile_loading_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((7273.04,4849.31,-651),(271,135,90)); + var_00 = common_scripts\_createfx::createexploderex("fin_silo_rocket_loading_steam_lp","missile_loading_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((7613.32,5191.09,-651),(271,135,90)); + var_00 = common_scripts\_createfx::createexploderex("fin_silo_rocket_loading_steam_lp","missile_loading_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((6945.92,4515.06,-651),(271,135,90)); + var_00 = common_scripts\_createfx::createexploderex("fin_silo_low_steam","corridor_lower_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((7168,4459.24,-610.613),(271,135,90)); + var_00 = common_scripts\_createfx::createexploderex("fin_silo_low_steam","corridor_lower_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((7429.28,4721.78,-610.687),(271,135,90)); + var_00 = common_scripts\_createfx::createexploderex("fin_silo_low_steam","corridor_lower_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((6911.03,4768.35,-610.546),(271,134.998,-89.9981)); + var_00 = common_scripts\_createfx::createexploderex("fin_silo_low_steam","corridor_lower_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((7165.91,5023.28,-610.647),(271,134.998,-89.9981)); + var_00 = common_scripts\_createfx::createexploderex("fin_silo_edge_steam_bursts_lp","ceiling_steam_bursts"); + var_00 common_scripts\_createfx::set_origin_and_angles((7517.26,4807.88,-268.938),(89.0001,315.003,90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_silo_edge_steam_bursts_lp","ceiling_steam_bursts"); + var_00 common_scripts\_createfx::set_origin_and_angles((7170.29,4455.56,-268.938),(89.0001,315.003,90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_silo_edge_steam_bursts_lp","ceiling_steam_bursts"); + var_00 common_scripts\_createfx::set_origin_and_angles((7347.39,4629.64,-268.938),(89.0001,315.003,90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_silo_catwalk_low_steam","steam_catwalk_low"); + var_00 common_scripts\_createfx::set_origin_and_angles((7458.21,4905.35,-409.875),(271,135,90)); + var_00 = common_scripts\_createfx::createexploderex("fin_silo_catwalk_low_steam","steam_catwalk_low"); + var_00 common_scripts\_createfx::set_origin_and_angles((7093.54,4537.42,-412.875),(271,135,90)); + var_00 = common_scripts\_createfx::createexploderex("fin_silo_catwalk_low_steam","steam_catwalk_low"); + var_00 common_scripts\_createfx::set_origin_and_angles((6983.24,4648.91,-413.875),(271,135,90)); + var_00 = common_scripts\_createfx::createexploderex("fin_silo_catwalk_low_steam","steam_catwalk_low"); + var_00 common_scripts\_createfx::set_origin_and_angles((7329.26,5046.98,-408.875),(271,135,90)); + var_00 = common_scripts\_createfx::createexploderex("steam_fall_slow_lp","steam_catwalk_dissipate"); + var_00 common_scripts\_createfx::set_origin_and_angles((7391.18,4988.28,-312),(271,135,90)); + var_00 = common_scripts\_createfx::createexploderex("steam_fall_slow_lp","steam_catwalk_dissipate"); + var_00 common_scripts\_createfx::set_origin_and_angles((7035.35,4592.31,-310),(271,135,90)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((861.743,-7214.09,-214.31),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1168.13,-8099.68,-219.372),(270,353.29,46.7092)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1116.27,-8296.33,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-612.759,-9175.07,-217.773),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-931.171,-9120.69,-220),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1136.9,-7980,-211),(270,0,-71.0016)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6.12106,-8438,-208),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((927.487,-7536.17,-220),(270,0,-36.0005)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((224.24,-8582.08,-212.771),(270,0,-40.0006)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((938.749,-7994.88,-207),(270,4.76364,97.2359)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1436.34,-8241.01,-210),(270,0,99.999)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((763.12,-7015.03,-225.866),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("water_edge_splashes_rnr","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((974.415,-7830.24,-222.542),(270,0,-36.0005)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","511"); + var_00 common_scripts\_createfx::set_origin_and_angles((3250.84,1652.65,-208),(13.9904,93.4987,-2.0619)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","501"); + var_00 common_scripts\_createfx::set_origin_and_angles((3308.44,1636.61,-208),(24.5239,59.0661,-24.3554)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","502"); + var_00 common_scripts\_createfx::set_origin_and_angles((3271.35,1581.67,-208),(18.5501,78.8383,-9.83926)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","501b"); + var_00 common_scripts\_createfx::set_origin_and_angles((3116.4,1729.16,-208),(10.2726,21.2567,-24.2881)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","503"); + var_00 common_scripts\_createfx::set_origin_and_angles((3254.92,1741.9,-232.875),(17.5351,80.3761,-12.9996)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","507"); + var_00 common_scripts\_createfx::set_origin_and_angles((3358.94,1765.51,-214),(20.0521,96.3919,-0.435972)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","504"); + var_00 common_scripts\_createfx::set_origin_and_angles((3610.71,1874.89,-228.875),(20.0521,96.3919,-0.435972)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","509"); + var_00 common_scripts\_createfx::set_origin_and_angles((3273.6,1701.06,-208),(19.4997,107.711,6.06984)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","506"); + var_00 common_scripts\_createfx::set_origin_and_angles((3707.93,1806.24,-217.875),(25.0903,111.679,8.09942)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","513"); + var_00 common_scripts\_createfx::set_origin_and_angles((3232.94,1583.36,-217),(16.8351,77.3717,-14.4085)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","508"); + var_00 common_scripts\_createfx::set_origin_and_angles((2928.74,1648.49,-208),(13.5423,27.7114,-31.753)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","505"); + var_00 common_scripts\_createfx::set_origin_and_angles((2786.67,1647.32,-216),(13.6047,41.0676,-24.7496)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","506"); + var_00 common_scripts\_createfx::set_origin_and_angles((2967.87,1566.09,-202),(17.7235,27.5238,-28.7035)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","510"); + var_00 common_scripts\_createfx::set_origin_and_angles((3214,1684.1,-223),(17.2236,65.3177,-11.9269)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","512"); + var_00 common_scripts\_createfx::set_origin_and_angles((3496.12,1963.61,-227.875),(21.6733,76.0347,-14.8498)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","507"); + var_00 common_scripts\_createfx::set_origin_and_angles((3501.4,2101.18,-227.875),(10.0522,96.4685,-0.416178)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","514"); + var_00 common_scripts\_createfx::set_origin_and_angles((3581.8,2025.56,-230.875),(26.0627,113.026,0.578069)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","514"); + var_00 common_scripts\_createfx::set_origin_and_angles((2952.36,1599.37,-208),(22.7924,1.65115,-36.44)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","515"); + var_00 common_scripts\_createfx::set_origin_and_angles((2830.79,1648.88,-221),(8.89813,27.005,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","506b"); + var_00 common_scripts\_createfx::set_origin_and_angles((3002.45,1787.29,-219),(20.8122,28.2317,-20.9774)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","516"); + var_00 common_scripts\_createfx::set_origin_and_angles((3011.06,1833.22,-217),(15.1868,25.4157,-6.47564)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","510"); + var_00 common_scripts\_createfx::set_origin_and_angles((3293.45,1643.76,-217),(15.334,24.1236,-24.6729)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","517"); + var_00 common_scripts\_createfx::set_origin_and_angles((3410.59,1822.19,-214.875),(12.4391,46.0632,-18.9517)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","513"); + var_00 common_scripts\_createfx::set_origin_and_angles((3350.49,1892.83,-208),(17.1576,23.8287,-18.3533)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","517"); + var_00 common_scripts\_createfx::set_origin_and_angles((3650.88,1759.8,-226.875),(17.8851,23.8909,-0.487473)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","551"); + var_00 common_scripts\_createfx::set_origin_and_angles((2999.53,1576.96,-226),(38.9493,77.3027,81.808)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","550"); + var_00 common_scripts\_createfx::set_origin_and_angles((2995.1,1625.47,-236),(30.0004,74.9965,-98.7154)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","552"); + var_00 common_scripts\_createfx::set_origin_and_angles((3074.39,1575.28,-218),(33.9935,88.7929,-90.6748)); + var_00 = common_scripts\_createfx::createexploderex("fin_door_kick_spark_burst_rnr","door_kick_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((7683.96,6582.22,-522.761),(343.042,184.182,178.778)); + var_00 = common_scripts\_createfx::createexploderex("fin_door_kick_spark_burst_rnr","door_kick_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((7683.82,6581.78,-551.916),(343.042,184.182,178.778)); + var_00 = common_scripts\_createfx::createexploderex("fin_door_kick_spark_burst_rnr","door_kick_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((7683.73,6579.98,-590.802),(343.448,193.572,176.066)); + var_00 = common_scripts\_createfx::createexploderex("fin_door_kick_spark_burst_rnr","door_kick_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((7690.14,6502.77,-502.724),(54.8454,59.198,151.355)); + var_00 = common_scripts\_createfx::createexploderex("fin_door_kick_spark_burst_rnr","door_kick_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((7680.63,6496.96,-536.532),(343.042,184.182,178.778)); + var_00 = common_scripts\_createfx::createexploderex("fin_door_kick_spark_burst_rnr","door_kick_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((7684.38,6495.62,-606.435),(328.349,167.495,-176.242)); + var_00 = common_scripts\_createfx::createexploderex("sparks_burst_sm_d","door_kick_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((7685.2,6511.5,-498.469),(54.8454,59.198,151.355)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_leak_lrg","steam_leak"); + var_00 common_scripts\_createfx::set_origin_and_angles((8301.96,5057.34,-4806.76),(270,0,13.9987)); + var_00 = common_scripts\_createfx::createexploderex("fin_metal_falling","metal_falling1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8163.27,5023.19,-4619.49),(3.12445,103.089,-90.6581)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_burst_sml","steam_pipe_break2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8218.17,6077.89,-5254.38),(3.93879,245.303,-100.023)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","silo_sparks"); + var_00 common_scripts\_createfx::set_origin_and_angles((8141.68,5444.72,-5355.19),(271.649,64.9726,-131.111)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","silo_sparks"); + var_00 common_scripts\_createfx::set_origin_and_angles((8141.96,5645.8,-5929.33),(81.4089,205.206,-47.0415)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","silo_sparks"); + var_00 common_scripts\_createfx::set_origin_and_angles((7988.47,5566.02,-5898.43),(4.58422,48.8317,-90.459)); + var_00 = common_scripts\_createfx::createexploderex("fin_metal_falling","metal_falling2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8478.11,5147.99,-4788.96),(356.879,137.408,-9.07891)); + var_00 = common_scripts\_createfx::createexploderex("fin_metal_falling","metal_falling3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8548.34,5151.27,-3252.27),(0.800931,136.887,-94.0446)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_leak_lrg","steam_leak"); + var_00 common_scripts\_createfx::set_origin_and_angles((8221.97,6106.19,-5240.05),(270,180,-12)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_burst_sml","steam_pipe_break2"); + var_00 common_scripts\_createfx::set_origin_and_angles((7744.38,6078.05,-4858.79),(270,0,173.999)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_burst_sml","steam_pipe_break1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8578.41,5461.42,-5175.25),(2.76068,141.97,-1.17319)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_burst_sml","steam_pipe_break2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8531.17,5272.31,-5214.48),(356,149.998,0)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_burst_sml","steam_pipe_break1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8340.46,5093.91,-4862.09),(4.97298,108.828,3.34549)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_burst_sml","steam_pipe_break1"); + var_00 common_scripts\_createfx::set_origin_and_angles((7986.89,4984.69,-5723.5),(357.104,60.1353,0.772775)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_leak_lrg","steam_leak"); + var_00 common_scripts\_createfx::set_origin_and_angles((8407.93,5114.53,-6035.53),(79.9116,127.006,67.0403)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_leak_lrg","steam_leak"); + var_00 common_scripts\_createfx::set_origin_and_angles((8581.3,5550.48,-5202.34),(5.39551,238.009,-146.31)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","silo_sparks"); + var_00 common_scripts\_createfx::set_origin_and_angles((7709.61,6143.57,-5920.13),(271.649,64.9473,-146.086)); + var_00 = common_scripts\_createfx::createexploderex("fin_metal_falling","falling_metal"); + var_00 common_scripts\_createfx::set_origin_and_angles((8421,5990.85,-4679.59),(9.46513,246.034,85.8067)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","silo_sparks"); + var_00 common_scripts\_createfx::set_origin_and_angles((8005.48,5568.31,-5884.26),(4.58422,48.8317,-90.459)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_leak_lrg","steam_leak"); + var_00 common_scripts\_createfx::set_origin_and_angles((7778.61,6076.09,-5691.74),(270,0,171)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_burst_sml","steam_pipe_break1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8231.44,5040.92,-5180.83),(348.913,104.463,-2.09144)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_burst_sml","steam_pipe_break2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8114,5009.24,-4850.46),(353.864,81.6422,6.05839)); + var_00 = common_scripts\_createfx::createexploderex("fin_metal_falling","metal_falling2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8272.81,5026.32,-3754.86),(345.845,116.77,-1.38253)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_burst_sml","steam_pipe_break2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8550.86,5366.31,-4636.93),(356,149.998,0)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_burst_sml","steam_pipe_break3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8609.29,5501.28,-5109.17),(356,149.998,0)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_burst_sml","steam_pipe_break3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8296.34,5058.38,-5173.11),(355.082,95.77,5.08775)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_burst_sml","steam_pipe_break3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8453.02,5198.39,-4782.73),(353.179,135.898,1.45932)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_burst_sml","steam_pipe_break3"); + var_00 common_scripts\_createfx::set_origin_and_angles((7978.07,4991.97,-5208.84),(354.585,108.776,4.40415)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_burst_sml","steam_pipe_break3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8305.31,5049.34,-5654.58),(354.665,111.932,16.7683)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_burst_sml","steam_pipe_break2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8481.88,5191.45,-5852.19),(353.466,128.854,2.51948)); + var_00 = common_scripts\_createfx::createexploderex("fin_metal_falling","metal_falling3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8035.1,4965.91,-4755.2),(2.23568,78.8587,-88.5735)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_burst_sml","steam_pipe_break3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8061.18,4995.98,-4792.39),(349.747,106.188,7.27929)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_burst_sml","steam_pipe_break1"); + var_00 common_scripts\_createfx::set_origin_and_angles((7697.76,6045.3,-5193.92),(0.760665,338.866,-1.67507)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_leak_lrg","steam_leak"); + var_00 common_scripts\_createfx::set_origin_and_angles((7648.01,5991.69,-4783.79),(270.663,147.06,88.7572)); + var_00 = common_scripts\_createfx::createexploderex("fin_metal_falling","metal_falling2"); + var_00 common_scripts\_createfx::set_origin_and_angles((7638.55,6057.79,-3691.89),(357.937,301.779,-97.7546)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_leak_lrg","steam_leak"); + var_00 common_scripts\_createfx::set_origin_and_angles((8123.39,5008.94,-5206.05),(270,180,-160.001)); + var_00 = common_scripts\_createfx::createexploderex("fin_metal_falling","metal_falling3"); + var_00 common_scripts\_createfx::set_origin_and_angles((7694.11,5034.68,-3250.13),(356.768,49.6988,1.30053)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_leak_lrg","steam_leak"); + var_00 common_scripts\_createfx::set_origin_and_angles((7980.23,5002.22,-5748.07),(270,180,-160.001)); + var_00 = common_scripts\_createfx::createexploderex("fin_metal_falling","metal_falling3"); + var_00 common_scripts\_createfx::set_origin_and_angles((8044.25,6204.06,-3770.87),(3.97479,278.057,-1.50178)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","silo_sparks"); + var_00 common_scripts\_createfx::set_origin_and_angles((7965.54,5961.47,-5559.05),(355.898,339.075,-92.0956)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_burst_sml","steam_pipe_break3"); + var_00 common_scripts\_createfx::set_origin_and_angles((7677.24,6010.62,-5212.86),(348.829,314.775,0.373759)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_leak_lrg","steam_leak"); + var_00 common_scripts\_createfx::set_origin_and_angles((7901.18,6134.38,-3934.46),(270,0,-162)); + var_00 = common_scripts\_createfx::createexploderex("fin_metal_falling","metal_falling1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8600.11,5601.57,-4574.48),(351.571,173.325,-85.7948)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_burst_sml","steam_pipe_break1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8591.7,5693.02,-4777.88),(1.04846,193.974,2.68405)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","silo_sparks"); + var_00 common_scripts\_createfx::set_origin_and_angles((8003.19,5429.77,-5929.78),(89.2533,137.827,-128.025)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","silo_sparks"); + var_00 common_scripts\_createfx::set_origin_and_angles((8259.98,5229,-5553.76),(355.633,81.6095,-89.2515)); + var_00 = common_scripts\_createfx::createexploderex("fin_metal_falling_panel","falling_panel_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((7927.91,6084.49,-5068.62),(357.279,305.734,-4.26861)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","silo_sparks"); + var_00 common_scripts\_createfx::set_origin_and_angles((7952.71,5113.77,-5742.58),(2.63951,53.1332,-88.8898)); + var_00 = common_scripts\_createfx::createexploderex("fin_metal_falling_panel","falling_panel_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8260.83,5054.91,-4402.21),(1.88984,80.9974,-1.3119)); + var_00 = common_scripts\_createfx::createexploderex("fin_metal_falling_close","metal_close"); + var_00 common_scripts\_createfx::set_origin_and_angles((8510.14,5665.34,-5706),(10.1543,162.618,-52.2383)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15276.7,-87209.5,7800.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15274.7,-86411.1,7800.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16195.7,-86408.9,7800.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16194.9,-87211.5,7800.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16075,-86940.7,7872.56),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16071.1,-86711,7875.06),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15784.9,-87022.2,7736.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15683.4,-87022.4,7736.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_door_kick_spark_burst_rnr","door_kick_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((7683.81,6561.78,-499.43),(52.0595,218.945,-160.82)); + var_00 = common_scripts\_createfx::createexploderex("sparks_burst_sm_d","door_kick_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((7689.2,6586.3,-523.202),(54.8454,59.198,151.355)); + var_00 = common_scripts\_createfx::createexploderex("sparks_burst_sm_d","door_kick_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((7688.38,6492.53,-596.471),(0,358,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_door_kick_dust","door_kick_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((7686.85,6495.85,-556.379),(89.0007,180,-92.0001)); + var_00 = common_scripts\_createfx::createexploderex("fin_door_kick_dust","door_kick_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((7686.87,6582.16,-555.69),(89.0007,180,-92.0001)); + var_00 = common_scripts\_createfx::createexploderex("fin_door_kick_dust","door_kick_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((7686.42,6539.11,-499.795),(0.964571,92.0171,-179.002)); + var_00 = common_scripts\_createfx::createexploderex("fin_door_kick_dust","door_kick_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((7686.78,6541.09,-610.171),(359.981,90.9946,0.979356)); + var_00 = common_scripts\_createfx::createexploderex("fin_door_kick_lrg_dust","door_kick_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((7675.74,6541.25,-554.375),(270.001,85.6719,-173.673)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15683.6,-86927.3,7736.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15786.9,-86926.2,7736.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15786.2,-86832.4,7736.12),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15685,-86831.3,7736.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15685.4,-86733.1,7736.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15786.7,-86736.3,7736.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15784.7,-86638.6,7736.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8011.2,5555.88,-5960.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15684.2,-86637.3,7736.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12820,-85833,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12818.8,-85924.1,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12819,-85975.6,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12820.2,-86059.6,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12818.9,-86168.1,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12819.1,-86252.3,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12818.7,-86323.7,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12819.5,-86408.9,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12818.8,-86471.4,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12819.7,-86556,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12819,-86627.4,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12819.3,-86712.2,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12819.1,-86819.4,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12819.5,-86868.5,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12818.6,-86940.1,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12820.3,-87024.4,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12816.2,-87122.5,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12814.9,-87214.7,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12715.9,-85833.1,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12715.2,-85924.5,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12714.3,-85975.7,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12716,-86060.1,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12715.4,-86168.6,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12715.5,-86252.7,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12715.2,-86324.1,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12716.3,-86408,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12715.1,-86472.5,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12715.2,-86557,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12715.1,-86627.3,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12715.1,-86713.2,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12714.5,-86820.6,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12715.6,-86869.1,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12714.7,-86939.3,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12715.8,-87025.1,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12715.3,-87122.6,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12715,-87214.4,7896),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12959.6,-86820,7919.32),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12960.2,-86868.3,7919.41),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((13063.2,-86819.9,7935.27),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((13063.9,-86867.4,7935.36),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((13223.1,-86820.4,7959.85),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((13225,-86869,7960.16),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((13375.1,-86819.7,7983.25),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((13376.1,-86869,7983.4),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7258.75,6001.3,-82.9848),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7219.28,5928.02,-82.01),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7305.8,6076.48,-82.0042),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7360.97,6149.08,-81.9636),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7421.98,6214.95,-81.9894),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7489.54,6270.18,-82.0564),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7563.16,6320.77,-81.9993),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7638.51,6362.03,-81.9529),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7722.55,6401.27,-82.0617),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7801.06,6422.21,-81.9602),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_norainbow_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7808.87,6565.38,-80.7323),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_norainbow_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7807.92,6629.23,-80.7729),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_norainbow_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7695.8,6629.8,-80.7123),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_norainbow_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7695.13,6564.74,-80.7821),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7935.33,6580.17,-80.8291),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8029.95,6584.15,-80.7408),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8160.47,6580.07,-80.8512),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8313.23,6549.39,-80.7877),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_norainbow_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8451.6,6497.46,-80.8909),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8623.87,6516.9,-80.8055),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8595.87,6430.27,-80.8176),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_norainbow_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8719.65,6452.7,-80.8192),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8696.86,6336.31,-80.8832),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8801.82,6240.72,-80.7946),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_norainbow_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8812.03,6366.76,-80.8874),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7942,6452.77,58.2748),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8020.72,6456.32,58.1405),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8264.78,6417.39,58.7617),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8346.68,6386.95,58.6333),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8520.01,6287.28,-82.0105),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8592.43,6228.85,-81.9486),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8661.48,6168.75,-81.8192),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8720.7,6096.16,-82.066),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8800.35,6596.83,-80.807),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8799.14,6723.7,-80.8057),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8606.63,6722.61,-80.699),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8990.86,6723.33,-80.7638),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9182.57,6725.53,-80.6843),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9279.82,6660.44,-80.8505),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9279.12,6532.65,-80.7871),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9280.61,6404.52,-80.817),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9184.91,6340.27,-80.8019),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9088.65,6275.66,-80.8244),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8992.51,6340.56,-80.8222),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8991.64,6466.79,-80.7704),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8992.74,6596.06,-80.8228),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8055.46,6145.18,-81.3484),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7860.19,6088.85,-81.2762),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8240.01,6110.7,96.898),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8284.06,6067.67,96.7192),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8242.33,6027.51,96.7747),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8296.07,5974.6,96.6488),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8335.8,6015.38,96.7726),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8381.84,5969.98,96.7108),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8342.08,5930,96.6573),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8428.75,5926.57,5.79995),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8382.68,5881.11,5.72131),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8423.16,5840.51,5.73599),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8467.95,5885.77,5.73605),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8523.02,5941.12,5.74714),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8483.02,5981.14,5.66788),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8524.69,6022.5,5.65788),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8564.91,5981.23,5.71957),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8079.82,6250.24,254.327),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8138.76,6249.71,254.232),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8138.51,6322.91,254.291),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8081.39,6323.63,254.173),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8081.19,6386.27,254.298),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8138.38,6387.91,254.268),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8078.5,6472.05,254.355),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8079.36,6530.88,254.233),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8016.23,6475.69,254.277),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8016.07,6531.53,254.149),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7943.2,6472.15,254.328),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7942.4,6531.22,254.19),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7877.92,6531.55,254.147),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7878.55,6472.83,254.234),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7906.83,6417.64,254.226),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7908.82,6360.96,254.23),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_longlight_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7411.61,4882.71,62.8915),(89.9984,359.032,-90.9672)); + var_00 = common_scripts\_createfx::createexploderex("fin_longlight_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8022,4593.67,58.8915),(89.9984,359.032,-90.9672)); + var_00 = common_scripts\_createfx::createexploderex("fin_longlight_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8019.78,4366.53,64.8915),(89.9984,359.032,-90.9672)); + var_00 = common_scripts\_createfx::createexploderex("fin_longlight_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8018.26,4200.46,59.8915),(89.9984,359.032,-90.9672)); + var_00 = common_scripts\_createfx::createexploderex("fin_longlight_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((8009.68,3919.36,60.8915),(89.9984,359.032,-90.9672)); + var_00 = common_scripts\_createfx::createexploderex("fin_longlight_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((8011.38,3752.27,58.8915),(89.9984,359.032,-90.9672)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8224.63,4377.82,81.9187),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8224.94,4314.95,82.0041),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8207.81,4250.64,82.0051),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8208.76,4191.49,82.0555),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8383.89,4190.44,81.9861),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8383.6,4252.8,82.2081),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8382.15,4316.02,82.2293),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8384.8,4379.89,82.0968),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_longlight_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7411.61,4882.71,64.8915),(89.9984,359.032,-90.9672)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8953.21,6005.41,-89.7487),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8950.28,5935.25,-89.749),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8822.52,5935.43,-87.7511),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9077.56,6077.28,-87.7426),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9078.43,6004.7,-87.7503),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9078.86,5932.25,-87.7453),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9077.38,5859.91,-87.741),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9206.99,5859.47,-89.7464),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9207.6,5931.25,-88.7518),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9207.18,6003.48,-88.7481),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9207.22,6075.72,-89.7485),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9206.94,6147.88,-88.746),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9336.25,6219.25,-89.7399),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9337.15,6148.35,-87.7478),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9335.19,6076.7,-89.7481),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9335.05,6002.83,-87.7469),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9335.77,5931.61,-87.7445),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9337.11,5860.43,-88.7387),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9274.57,6820.91,-87.7459),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9275.67,6893.34,-88.745),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9275.92,6966.23,-88.7516),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9273.9,7036.59,-87.743),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9275.7,7109.02,-87.7447),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9273.4,7180.74,-95.7474),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9147.99,7198.33,-88.7397),(89.7368,358.378,178.37)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9078.92,7199.78,-88.7525),(89.7368,358.378,178.37)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9006.59,7200.17,-91.7494),(89.7368,358.378,178.37)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8935.27,7200.28,-89.7484),(89.7368,358.378,178.37)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8863.14,7200,-88.7422),(89.7368,358.378,178.37)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9151.82,6952.52,-87.7464),(89.7368,358.378,178.37)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9079.28,6949.29,-89.7484),(89.7368,358.378,178.37)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9007.65,6950.06,-89.7416),(89.7368,358.378,178.37)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8934.56,6951.68,-89.7449),(89.7368,358.378,178.37)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8866.44,6952.14,-87.7496),(89.7368,358.378,178.37)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8844.67,7040.05,-88.7461),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8843.8,7110.19,-88.7439),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8720.37,6905.41,-93.7463),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8720.37,6834.93,-91.7453),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8636.12,6907.96,-87.7431),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8636.63,6836.61,-89.7468),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8068.68,6924.53,-280.748),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8068.55,6855.39,-279.747),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8068.55,6782.92,-280.747),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7988.65,6783.83,-281.748),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7988.51,6855.85,-280.747),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7990.17,6927.8,-277.744),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7897.2,6783.87,-278.74),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7896.96,6856.31,-281.742),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7896.47,6927.64,-278.747),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7799.5,6976.33,-278.747),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7733.21,6976.53,-277.75),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7736.24,6904.08,-279.749),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7799.68,6904.32,-280.745),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7800.69,6832.05,-281.745),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7735.86,6832.15,-279.743),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7735.77,6759.42,-279.753),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7799.69,6760.86,-280.754),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7800.65,6687.77,-279.745),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7736.46,6688.61,-279.747),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7737.03,6616.33,-281.742),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7800.05,6617.92,-281.75),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7800.11,6544.4,-281.75),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7736.84,6544.63,-283.744),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7736.7,6471.8,-279.745),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7800.65,6471.67,-279.745),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7800.37,6399.6,-281.748),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7736.65,6399.97,-281.745),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7737.02,6327.85,-279.742),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7800.85,6327.74,-279.743),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9843.58,5578.43,-467.75),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9905.73,5578.15,-466.812),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9961.5,5578.09,-468.751),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10012.7,5577.76,-466.245),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10085.7,5578.04,-468.888),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9272.19,6845.26,-470.748),(89.7373,358.377,-137.631)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9317.8,6889.48,-467.419),(89.7373,358.377,-137.631)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9356.74,6928.55,-466.258),(89.7373,358.377,-137.631)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9393.4,6965.2,-469.144),(89.7373,358.377,-137.631)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9444.74,7018.11,-468.743),(89.7373,358.377,-137.631)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9361.1,5011.68,-265.755),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9436.39,5304.7,-265.806),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9280.99,5316.37,-261.769),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9228.97,5443.1,-262.747),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9228.25,5614.15,-262.855),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9200.28,5081.17,-261.818),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8962.77,5220.01,-261.794),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8881.7,5053.24,-261.754),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8747.38,5081.64,-274.31),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9493.78,4858.41,-286.752),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9432.44,4709.89,-286.823),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9215.35,4750.21,-265.668),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9072.67,4853.48,-261.786),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8486.65,5197.51,-253.723),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8279.64,5058.76,-253.759),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7956.1,5012.33,-93.7577),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9339.52,4562.55,-286.715),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9204.96,4402.05,-286.791),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9069.15,4280.8,-286.761),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8925.37,4182.5,-286.836),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8735.99,4098.49,-286.785),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8496.65,4035.91,-286.696),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9015.63,4517.58,-265.694),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8771.92,4332.92,-265.732),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8508.91,4194.55,-265.832),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8238.13,4114.28,-265.314),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8010.7,4166.96,-261.881),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7788.3,4184.53,-265.372),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7511.06,4264.9,-261.77),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7254.12,4397.54,-261.867),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7564.49,4577.37,-261.632),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7800.03,4495.52,-261.799),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8027.07,4472.76,-261.801),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8322.51,4525.93,-261.798),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8554.38,4633.73,-261.762),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8579.97,4883.57,-274.208),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8421.37,4775.19,-274.233),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8246.75,4703.05,-270.731),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8085.51,4671.86,-274.242),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7925.43,4674.4,-270.823),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7773.89,4709.16,-270.673),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7588.55,4793.23,-271.258),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7114.31,4135.47,-279.303),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7407.16,4034.45,-279.143),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7656.84,3991.84,-279.312),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8744.65,5097.14,-423.285),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8904.96,5098.22,-423.365),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9074.24,5098.18,-423.394),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8578.68,5074.85,-423.36),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8532.6,5179.9,-423.269),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8533.66,5347.03,-423.165),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8389.47,5073.39,-423.254),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8191.51,5074.33,-423.347),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8006.92,5073.88,-423.25),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8006.86,4906.12,-423.285),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7850.11,4929.94,-423.238),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8005.8,4745.66,-423.311),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7848.93,4769.28,-423.344),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7694.13,4768.88,-423.272),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7586.68,4719.46,-423.234),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8188.93,4746.03,-423.123),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8389.07,4747.03,-423.169),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8577.42,4745.19,-423.301),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8577.35,4905.17,-423.282),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8015.39,4186.22,-423.287),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8161.38,4186.65,-423.197),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8299.54,4186.36,-423.266),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8454.15,4203.48,-423.191),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8604.91,4242.18,-423.309),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8751.83,4294.8,-423.286),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8877.1,4357.48,-423.273),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9030.14,4478.38,-423.248),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9107.74,4587.51,-423.286),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7848.45,4184.57,-423.298),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7712.35,4183.9,-423.144),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7571.55,4204.57,-423.32),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7418.37,4248.7,-423.202),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7291.19,4320.79,-423.197),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7228.85,4382.62,-423.22),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7192.72,5175.02,-269.848),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7114.11,5390.02,-269.708),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6954.56,5252.83,-261.75),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7092.62,5620.04,-269.706),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7142.87,5852.21,-269.73),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7296.89,6120.4,-269.856),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7456.66,6273.95,-269.824),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7617.98,6380.1,-269.813),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7562.61,6561.57,-261.752),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7296.95,6390.05,-261.754),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7075.85,6136.89,-261.828),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6902.91,5551.85,-261.803),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6808.32,4845.15,-261.885),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6698.14,5065.22,-261.686),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6616.74,5326.19,-261.626),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6594.25,5570.01,-261.819),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6686.9,5914.71,-261.681),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6817.23,6214.19,-261.785),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6974.15,6435.38,-261.863),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7133.86,6596.41,-261.853),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7360.63,6757.7,-261.855),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7568.82,6847.91,-261.889),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7747.68,7134.56,-281.223),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7562.03,7125.64,-290.261),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7358.6,7070.01,-286.781),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7217.99,7017.29,-286.827),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7066.08,6940.07,-286.678),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6918.23,6838.88,-286.855),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6787.65,6720,-286.722),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6668.69,6575.29,-286.871),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7480.05,5792.18,-253.585),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7197.52,5265.25,-423.192),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7211.58,5199.24,-423.306),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7365.79,5398.24,-423.244),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7197.97,5396.77,-423.19),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7199.45,5564.02,-423.216),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7198.57,5742.75,-423.224),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7198.14,5914.93,-423.215),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7279.61,6085.73,-423.172),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7393.69,6218.06,-423.232),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7493.52,6300.93,-423.258),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7474.67,6021.53,-423.124),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7609.46,6136.55,-424.283),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7723.93,6004.95,-423.322),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7605.35,5877,-423.223),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7550.06,5744.37,-423.322),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7550.69,5566.79,-423.224),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7368.26,5566.39,-423.284),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7369.05,5743.37,-423.195),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7142.4,5130.11,-423.282),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7603.7,6898.25,-423.114),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7432.26,6837.48,-423.299),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7306.02,6756.01,-423.222),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7182.43,6672.27,-423.333),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7037.96,6542.24,-423.29),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6947.57,6440.71,-423.35),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6851.43,6323.33,-423.386),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6752.55,6158.43,-423.271),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6701.8,6022.64,-423.192),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6648.41,5871.8,-423.275),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6629.76,5719.18,-423.249),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6628.39,5570.13,-423.365),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6631.42,5440.75,-423.248),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6632.02,5300.99,-423.297),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6650.83,5162.64,-423.226),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6688.36,5004.85,-423.343),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6788.88,4842.1,-423.214),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6543.32,4757.21,-279.265),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6479.99,4921.29,-279.224),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6428.1,5133.81,-279.233),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6413.58,5316.34,-279.303),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8001.89,6568.21,63.7553),(89.7368,358.378,178.37)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8073.4,6562.79,64.7492),(89.7368,358.378,178.37)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8146.69,6555.4,64.7521),(89.7365,358.379,-174.629)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8222.15,6542.89,64.7533),(89.7363,358.377,-168.631)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8294.48,6524.58,62.7476),(89.7367,358.379,-165.629)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8363.74,6502.87,64.7522),(89.7367,358.379,-165.629)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8433.54,6476.94,63.7584),(89.7365,358.375,-159.632)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8114.11,6148.91,109.262),(89.7368,358.378,178.37)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8042.12,6147.91,109.253),(89.7368,358.378,178.37)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7969.83,6149.42,109.43),(89.7368,358.378,178.37)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7897.3,6147.28,109.247),(89.7368,358.378,178.37)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7827.1,6147.5,107.249),(89.7368,358.378,178.37)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8114.59,6064.62,109.259),(89.7368,358.378,178.37)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8042.71,6064.32,109.256),(89.7368,358.378,178.37)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7971.73,6064.46,109.258),(89.7368,358.378,178.37)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7898.72,6064.7,109.26),(89.7368,358.378,178.37)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7898.71,6231.9,109.253),(89.7368,358.378,178.37)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7826.26,6231.64,108.25),(89.7368,358.378,178.37)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7970.04,6231.75,109.26),(89.7368,358.378,178.37)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9431.95,5434.47,-105.625),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9384.11,5434.96,-106.625),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9336.05,5435.62,-106.625),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9286.75,5434.81,-106.625),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9239.88,5431.65,-106.625),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9192.8,5431.12,-106.625),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9192.05,5646.24,-107.625),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9240.08,5640.91,-105.625),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9288.42,5641.4,-106.625),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9336.48,5640.17,-106.625),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9384.01,5637.29,-106.625),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9431.84,5632.3,-106.625),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9372.04,5255.04,-145.125),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9326.76,5254.63,-144.125),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9277.86,5255.4,-145.125),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9229.54,5255.45,-145.125),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9181.13,5255.64,-146.125),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8306.13,6884.18,-113.125),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8352.82,6879.93,-115.125),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8400.68,6883.39,-113.125),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8449.64,6883.43,-113.125),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8496.73,6882.04,-115.125),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8449.86,7103.04,-115.125),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8497.38,7103.03,-114.125),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8402.58,7096.09,-113.125),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8352.62,7098.77,-116.125),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8306.84,7091.58,-113.125),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8305.78,7311.4,-113.125),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8354.55,7307.32,-117.125),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8401.79,7301.71,-115.125),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8450.12,7302.63,-115.125),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8497.79,7307.91,-115.125),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8869.7,5705.45,-114.625),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8917.22,5709.16,-113.625),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8821.6,5704.02,-113.625),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8773.35,5701.09,-113.625),(89.0002,359.997,-90.0026)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7797.18,6654.63,-478.125),(89.0002,359.997,179.998)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7795.49,6607.74,-479.125),(89.0002,359.997,179.998)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7796,6559.76,-476.125),(89.0002,359.997,179.998)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7796.18,6511.8,-476.125),(89.0002,359.997,179.998)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7795.64,6463.36,-476.125),(89.0002,359.997,179.998)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7799.69,6414.95,-476.125),(89.0002,359.997,179.998)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7949.48,6414.84,-476.125),(89.0002,359.997,179.998)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7947.56,6463.61,-478.125),(89.0002,359.997,179.998)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7948.26,6511.4,-477.125),(89.0002,359.997,179.998)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7945.64,6558.84,-476.125),(89.0002,359.997,179.998)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7948.4,6607.36,-476.125),(89.0002,359.997,179.998)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7942.99,6654.96,-476.125),(89.0002,359.997,179.998)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7949.34,7056.73,-477.125),(89.0002,359.997,179.998)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7950.03,7105.42,-476.125),(89.0002,359.997,179.998)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7948.93,7152.63,-476.125),(89.0002,359.997,179.998)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7950.2,7200.86,-477.125),(89.0002,359.997,179.998)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7949.78,7249.5,-477.125),(89.0002,359.997,179.998)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7949.33,7296.68,-477.125),(89.0002,359.997,179.998)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7797.55,7297.38,-476.125),(89.0002,359.997,179.998)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7798.24,7249.3,-476.125),(89.0002,359.997,179.998)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7800.66,7201.18,-476.125),(89.0002,359.997,179.998)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7798.17,7153.18,-476.125),(89.0002,359.997,179.998)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7797.78,7105.29,-476.125),(89.0002,359.997,179.998)); + var_00 = common_scripts\_createfx::createexploderex("fin_rectangle_blue_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7796.09,7058,-476.125),(89.0002,359.997,179.998)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9965.19,5375.54,-896.119),(359.988,90.0016,-90.2101)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9967.21,5374.26,-629.66),(359.988,90.0016,-90.2101)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9967.51,5374.27,-1163.25),(359.988,90.0016,-90.2101)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9969.54,5374.29,-1429.56),(359.988,90.0016,-90.2101)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9969.54,5374.29,-1696.92),(359.988,90.0016,-90.2101)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9969.54,5374.29,-1964.34),(359.988,90.0016,-90.2101)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9969.54,5374.29,-2231.71),(359.988,90.0016,-90.2101)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9969.54,5374.29,-2498.06),(359.988,90.0016,-90.2101)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9969.54,5374.29,-2766.18),(359.988,90.0016,-90.2101)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9969.54,5374.29,-3032.79),(359.988,90.0016,-90.2101)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9969.54,5374.29,-3299.24),(359.988,90.0016,-90.2101)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9969.54,5374.29,-3566.91),(359.988,90.0016,-90.2101)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9969.54,5374.29,-3833.83),(359.988,90.0016,-90.2101)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9969.54,5374.29,-4101.19),(359.988,90.0016,-90.2101)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9969.54,5374.29,-4367.5),(359.988,90.0016,-90.2101)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9969.54,5374.29,-4635.15),(359.988,90.0016,-90.2101)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9969.54,5374.29,-4900.86),(359.988,90.0016,-90.2101)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9969.54,5374.29,-5169.33),(359.988,90.0016,-90.2101)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9969.54,5374.29,-5435.77),(359.988,90.0016,-90.2101)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10132.7,5573.52,-629.321),(0.210155,181.001,-90.0094)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10132.7,5574.19,-896.599),(0.210155,181.001,-90.0094)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10130.7,5576.15,-1163.15),(0.210155,181.001,-90.0094)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10132.7,5576.2,-1430.69),(0.210155,181.001,-90.0094)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10131.7,5576.17,-1698.01),(0.210155,181.001,-90.0094)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10132.7,5576.15,-1964.27),(0.210155,181.001,-90.0094)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10131.7,5576.13,-2231.17),(0.210155,181.001,-90.0094)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10132.7,5576,-2497.89),(0.210155,181.001,-90.0094)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10132.7,5577.24,-2765.06),(0.210155,181.001,-90.0094)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10132.7,5577.24,-3032.49),(0.210155,181.001,-90.0094)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10132.7,5577.24,-3299.98),(0.210155,181.001,-90.0094)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10132.7,5577.24,-3566.98),(0.210155,181.001,-90.0094)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10132.7,5577.24,-3834.18),(0.210155,181.001,-90.0094)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10132.7,5577.24,-4100.07),(0.210155,181.001,-90.0094)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10131.7,5577.21,-4367.33),(0.210155,181.001,-90.0094)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10132.7,5577.23,-4634.98),(0.210155,181.001,-90.0094)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10132.7,5577.23,-4900.63),(0.210155,181.001,-90.0094)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10132.7,5577.23,-5168.56),(0.210155,181.001,-90.0094)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10132.7,5577.18,-5435.71),(0.210155,181.001,-90.0094)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9803.29,5574.64,-629.775),(359.79,359,-89.9832)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9803.29,5575.22,-896.514),(359.79,359,-89.9832)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9805.29,5575.18,-1163.67),(359.79,359,-89.9832)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9803.29,5575.22,-1429.8),(359.79,359,-89.9832)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9805.29,5575.18,-1697.36),(359.79,359,-89.9832)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9803.29,5575.22,-1964.71),(359.79,359,-89.9832)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9803.29,5575.22,-2232.15),(359.79,359,-89.9832)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9803.29,5575.22,-2499.5),(359.79,359,-89.9832)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9803.29,5575.22,-2765.89),(359.79,359,-89.9832)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9803.29,5575.22,-3032.06),(359.79,359,-89.9832)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9803.29,5575.22,-3299.84),(359.79,359,-89.9832)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9805.29,5575.18,-3566.63),(359.79,359,-89.9832)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9803.29,5575.22,-3833.4),(359.79,359,-89.9832)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9803.29,5575.22,-4100.95),(359.79,359,-89.9832)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9803.29,5575.22,-4367.24),(359.79,359,-89.9832)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9803.29,5575.22,-4635.04),(359.79,359,-89.9832)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9803.29,5575.22,-4901.42),(359.79,359,-89.9832)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9803.29,5575.22,-5168.33),(359.79,359,-89.9832)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9803.29,5575.22,-5436.2),(359.79,359,-89.9832)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9966.31,5774.83,-629.676),(0,269,-89.7906)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9965.2,5776.71,-896.281),(0,269,-89.7906)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9965.2,5776.71,-1164.16),(0,269,-89.7906)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9965.22,5776.71,-1431.61),(0,269,-89.7906)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9965.22,5776.71,-1696.88),(0,269,-89.7906)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9965.22,5776.71,-1963.82),(0,269,-89.7906)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9965.21,5775.71,-2230.9),(0,269,-89.7906)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9965.22,5776.71,-2497.59),(0,269,-89.7906)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9965.23,5776.71,-2766.26),(0,269,-89.7906)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9965.2,5774.71,-3031.58),(0,269,-89.7906)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9965.23,5776.71,-3300.66),(0,269,-89.7906)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9965.23,5776.71,-3566.35),(0,269,-89.7906)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9965.2,5774.71,-3833.15),(0,269,-89.7906)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9965.23,5776.71,-4099.86),(0,269,-89.7906)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9965.28,5776.71,-4367.69),(0,269,-89.7906)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9965.28,5776.71,-4634.85),(0,269,-89.7906)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9965.25,5774.71,-4901.82),(0,269,-89.7906)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9965.28,5776.71,-5168.33),(0,269,-89.7906)); + var_00 = common_scripts\_createfx::createexploderex("fin_falldecal_flare","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9965.22,5772.71,-5435.21),(0,269,-89.7906)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((6283.73,3419.83,109.535),(89.9999,234.638,144.638)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((6282.11,3474.32,107.063),(89.9999,234.638,144.638)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((6036.33,3419.37,108.994),(89.9999,234.638,144.638)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((6036.4,3476.4,108.984),(89.9999,234.638,144.638)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((6378.52,3418,108.968),(89.9999,234.638,144.638)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((6377.8,3478.84,109.192),(89.9999,234.638,144.638)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((6585.9,3418.83,109.15),(89.9999,234.638,144.638)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((6586.52,3477.22,108.968),(89.9999,234.638,144.638)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((6681.08,3420.77,109.656),(89.9999,234.638,144.638)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((6681.86,3477.96,109.168),(89.9999,234.638,144.638)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((5939.47,3419.71,107.361),(89.9999,234.638,144.638)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((5939.76,3477.63,109.207),(89.9999,234.638,144.638)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((6933.37,3705.89,160.954),(89.9999,234.638,144.638)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((6965.13,3703.06,160.922),(89.9999,234.638,144.638)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((6965.09,3575.96,161.141),(89.9999,234.638,144.638)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((6933.6,3575.06,160.985),(89.9999,234.638,144.638)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((6932.78,3448.63,160.923),(89.9999,234.638,144.638)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((6965.33,3447.47,160.948),(89.9999,234.638,144.638)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((7223.9,3710.6,107.919),(89.9999,234.638,144.638)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((7256.29,3712.8,109.944),(89.9999,234.638,144.638)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((7256.4,3584.14,109.984),(89.9999,234.638,144.638)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((7224.49,3584.76,109.972),(89.9999,234.638,144.638)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((7255.65,3456.14,109.941),(89.9999,234.638,144.638)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((7224.33,3455.88,109.992),(89.9999,234.638,144.638)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((7466.94,3466.6,109.972),(89.9997,264.869,83.8699)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((7465.52,3498.98,107.908),(89.9997,264.869,83.8699)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((7591.82,3468.05,110.13),(89.9997,264.869,83.8699)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((7593.28,3499.54,107.977),(89.9997,264.869,83.8699)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((7719.04,3498.91,109.917),(89.9997,264.869,83.8699)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((7721.81,3467.31,109.945),(89.9997,264.869,83.8699)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((7994.7,3436.41,109.945),(89.9999,234.638,144.638)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((8026.63,3435.41,110.034),(89.9999,234.638,144.638)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((8026.64,3499.51,110.255),(89.9999,234.638,144.638)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((7995.35,3500.78,109.99),(89.9999,234.638,144.638)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((7995.26,3563.92,110.089),(89.9999,234.638,144.638)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_orange_flare","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((8026.47,3564.29,108.052),(89.9999,234.638,144.638)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_godray_red","9543"); + var_00 common_scripts\_createfx::set_origin_and_angles((7059.05,4298.26,-351.999),(3.47648,36.0158,0.769099)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_godray_red","9543"); + var_00 common_scripts\_createfx::set_origin_and_angles((7057.64,4296.78,-480.43),(359.999,44.9987,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_godray_red","9543"); + var_00 common_scripts\_createfx::set_origin_and_angles((7697.87,4849.17,-476.101),(359.999,252.999,179.998)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_godray_red","9543"); + var_00 common_scripts\_createfx::set_origin_and_angles((7698.19,4849.03,-348.411),(358.685,244.031,177.303)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_spot_red","9543spot"); + var_00 common_scripts\_createfx::set_origin_and_angles((7421.49,4789.25,-301.19),(47.9436,124.964,-101.106)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_spot_red","9543spot"); + var_00 common_scripts\_createfx::set_origin_and_angles((7196.14,4585.36,-299.455),(47.9436,124.964,-101.106)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_source_red","9543"); + var_00 common_scripts\_createfx::set_origin_and_angles((7702.68,4851.14,-476.107),(0.919253,336.996,-0.390681)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_source_red","9543"); + var_00 common_scripts\_createfx::set_origin_and_angles((7697.97,4849.12,-475.782),(359.61,247.002,-0.920164)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_source_red","9543"); + var_00 common_scripts\_createfx::set_origin_and_angles((7697.9,4849.16,-348.092),(359.61,247.002,-0.920164)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_source_red","9543"); + var_00 common_scripts\_createfx::set_origin_and_angles((7702.71,4851.16,-348.243),(0.919253,336.996,-0.390681)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_source_red","9543"); + var_00 common_scripts\_createfx::set_origin_and_angles((7696.49,4854.21,-347.957),(359.068,158.996,0.35823)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_source_red","9543"); + var_00 common_scripts\_createfx::set_origin_and_angles((7696.46,4854.11,-476.065),(359.068,158.996,0.35823)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_source_red","9543"); + var_00 common_scripts\_createfx::set_origin_and_angles((7057.93,4296.6,-480.266),(0.543664,57.0017,0.837666)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_source_red","9543"); + var_00 common_scripts\_createfx::set_origin_and_angles((7057.83,4296.67,-352.176),(0.543664,57.0017,0.837666)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_source_red","9543"); + var_00 common_scripts\_createfx::set_origin_and_angles((7058.43,4291.46,-352.063),(0.846836,327.992,-0.529155)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_source_red","9543"); + var_00 common_scripts\_createfx::set_origin_and_angles((7052.55,4295.08,-352.064),(359.135,149.993,0.498973)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_source_red","9543"); + var_00 common_scripts\_createfx::set_origin_and_angles((7052.7,4295.28,-479.974),(359.135,149.993,0.498973)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_source_red","9543"); + var_00 common_scripts\_createfx::set_origin_and_angles((7055.7,4293.64,-483.429),(78.0983,72.2705,-81.2957)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_source_red","9543"); + var_00 common_scripts\_createfx::set_origin_and_angles((7055.47,4293.63,-355.411),(87.887,122.468,-3.83438)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_source_red","9543"); + var_00 common_scripts\_createfx::set_origin_and_angles((7699.46,4852.54,-479.443),(87.8905,313.11,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_source_white","9542"); + var_00 common_scripts\_createfx::set_origin_and_angles((7698.82,4851.36,-351.382),(87.8904,313.11,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_source_white","9542"); + var_00 common_scripts\_createfx::set_origin_and_angles((7702.68,4851.14,-476.107),(0.919253,336.996,-0.390681)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_source_white","9542"); + var_00 common_scripts\_createfx::set_origin_and_angles((7697.97,4849.12,-475.782),(359.61,247.002,-0.920164)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_source_white","9542"); + var_00 common_scripts\_createfx::set_origin_and_angles((7697.9,4849.16,-348.092),(359.61,247.002,-0.920164)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_source_white","9542"); + var_00 common_scripts\_createfx::set_origin_and_angles((7702.71,4851.16,-348.243),(0.919253,336.996,-0.390681)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_source_white","9542"); + var_00 common_scripts\_createfx::set_origin_and_angles((7696.49,4854.21,-347.957),(359.068,158.996,0.35823)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_source_white","9542"); + var_00 common_scripts\_createfx::set_origin_and_angles((7696.46,4854.11,-476.065),(359.068,158.996,0.35823)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_source_white","9542"); + var_00 common_scripts\_createfx::set_origin_and_angles((7057.93,4296.6,-480.266),(0.543664,57.0017,0.837666)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_source_white","9542"); + var_00 common_scripts\_createfx::set_origin_and_angles((7057.83,4296.67,-352.176),(0.543664,57.0017,0.837666)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_source_white","9542"); + var_00 common_scripts\_createfx::set_origin_and_angles((7058.43,4291.46,-352.063),(0.846836,327.992,-0.529155)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_source_white","9542"); + var_00 common_scripts\_createfx::set_origin_and_angles((7052.55,4295.08,-352.064),(359.135,149.993,0.498973)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_source_white","9542"); + var_00 common_scripts\_createfx::set_origin_and_angles((7052.7,4295.28,-479.974),(359.135,149.993,0.498973)); + var_00 = common_scripts\_createfx::createexploderex("fin_alarm_source_white","9542"); + var_00 common_scripts\_createfx::set_origin_and_angles((7055.7,4293.64,-483.429),(78.0983,72.2705,-81.2957)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_blacksmk_tall","silo_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((8175.95,5161.86,-3742.24),(270,189.462,-83.4628)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_blacksmk_tall","silo_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((8205.09,5180.79,-3696.6),(270,0,20.9985)); + var_00 = common_scripts\_createfx::createexploderex("fin_metal_falling","metal_falling4"); + var_00 common_scripts\_createfx::set_origin_and_angles((8004.3,4978.3,-3308.53),(48.7337,73.6814,3.89129)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_blacksmk_tall","silo_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((8264.74,5176.44,-3739.93),(270,0,13.9986)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_no_light","silo_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((8041.54,5585.42,-4188.78),(277.473,310.834,-60.1748)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_blacksmk_tall","silo_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((8155.66,5577.71,-4327.94),(270,0,-82.0023)); + var_00 = common_scripts\_createfx::createexploderex("fin_godray_bluewall_light","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7347.67,5307.17,67.141),(17.9992,22.9994,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_godray_bluewall_light","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7299.95,5685.56,66.736),(14.7459,353.758,-1.00261)); + var_00 = common_scripts\_createfx::createexploderex("fin_godray_bluewall_light","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7317.2,5766.81,-100.598),(12.7003,340.794,-9.17231)); + var_00 = common_scripts\_createfx::createexploderex("fin_door_kick_foot_dust","door_kick_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((7681.23,6540.34,-550.171),(0.999182,181.999,90.0007)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_sml_01","falling_dust_irons"); + var_00 common_scripts\_createfx::set_origin_and_angles((11722.3,-85665.4,7710.17),(271,358,-90)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_sml_01","falling_dust_irons"); + var_00 common_scripts\_createfx::set_origin_and_angles((11619,-85740.9,7710.36),(270,0,-172.001)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("smk_obscure_low_thick_far_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((17172.8,-88166,4367.74),(290.156,6.54854,-60.3986)); + var_00 = common_scripts\_createfx::createexploderex("smk_obscure_low_thick_far_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((17388.1,-85359.8,5286.23),(290.156,6.54854,-60.3986)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","531"); + var_00 common_scripts\_createfx::set_origin_and_angles((3717.67,1866.75,-233.875),(29.8819,77.9351,-7.2747)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","530"); + var_00 common_scripts\_createfx::set_origin_and_angles((3552.13,1943.22,-227.875),(20.9331,56.249,-14.6621)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","532"); + var_00 common_scripts\_createfx::set_origin_and_angles((3636.85,1969.38,-234.875),(26.696,105.336,2.36363)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","534"); + var_00 common_scripts\_createfx::set_origin_and_angles((3344.56,1712.87,-224.875),(16.6417,44.5473,-18.9087)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","535"); + var_00 common_scripts\_createfx::set_origin_and_angles((3247.22,1851.33,-208),(11.0242,14.5857,-0.192837)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","533"); + var_00 common_scripts\_createfx::set_origin_and_angles((3432.89,1768.24,-219.875),(10.9241,19.9229,-33.2576)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","536"); + var_00 common_scripts\_createfx::set_origin_and_angles((4276.75,1582.4,-239.875),(35.4998,117.834,13.4598)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","537"); + var_00 common_scripts\_createfx::set_origin_and_angles((4298.11,1792.52,-239.875),(22.8973,151.824,32.6243)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","542"); + var_00 common_scripts\_createfx::set_origin_and_angles((4334.92,1809.12,-237.875),(24.7686,115.03,12.0457)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","541b"); + var_00 common_scripts\_createfx::set_origin_and_angles((4475.09,1672.26,-228.875),(15.9971,99.4427,6.58029)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","540"); + var_00 common_scripts\_createfx::set_origin_and_angles((4283.71,1404.93,-229.875),(21.5277,76.492,-2.86858)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","543a"); + var_00 common_scripts\_createfx::set_origin_and_angles((4840.76,1691.06,-223.875),(17.2628,106.035,7.89495)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","541"); + var_00 common_scripts\_createfx::set_origin_and_angles((5068.86,1612.73,-237.875),(22.1658,154.256,4.754)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","544"); + var_00 common_scripts\_createfx::set_origin_and_angles((4963.25,1648.85,-238.875),(10.6978,101.017,-21.52)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","545"); + var_00 common_scripts\_createfx::set_origin_and_angles((4709.49,1857.27,-221.875),(11.2739,65.6807,-1.561)); + var_00 = common_scripts\_createfx::createexploderex("fin_roof_hang_fire_wide","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16658.2,-86366,6213.62),(274.242,102.971,134.949)); + var_00 = common_scripts\_createfx::createexploderex("fin_roof_hang_fire_wide","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16717.1,-87540.9,6926.66),(280,12.9989,-89.9997)); + var_00 = common_scripts\_createfx::createexploderex("fin_roof_hang_fire_wide","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16795.8,-86171.6,6350.48),(287.215,84.1563,149.892)); + var_00 = common_scripts\_createfx::createexploderex("fin_roof_hang_fire_wide","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16555.5,-87378.6,6183.28),(270,26.5651,-93.5656)); + var_00 = common_scripts\_createfx::createexploderex("fin_roof_hang_fire_wide","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16567.2,-86758,6418.02),(288.923,341.044,-82.7032)); + var_00 = common_scripts\_createfx::createexploderex("fin_roof_hang_fire_wide","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16660.1,-87310,5640.74),(287.863,209.514,89.1702)); + var_00 = common_scripts\_createfx::createexploderex("npc_dust_landing","dust_poof_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((15281.2,-86839.5,7857.5),(270,0,176)); + var_00 = common_scripts\_createfx::createexploderex("fin_roof_hang_fire_xlrg","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16765.4,-86080.4,4989.84),(315.05,326.789,-19.2003)); + var_00.v["delay"] = -10; + var_00 = common_scripts\_createfx::createexploderex("fin_roof_hang_fire_xlrg","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16876,-86733.6,4915.97),(272.907,350.469,-88.185)); + var_00.v["delay"] = -10; + var_00 = common_scripts\_createfx::createexploderex("fin_roof_hang_fire_wide","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16668.3,-87761.3,6098),(291,1.99922,-90)); + var_00 = common_scripts\_createfx::createexploderex("fin_roof_hang_fire_wide","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16907.9,-85966,6613.21),(295.625,123.988,129.701)); + var_00 = common_scripts\_createfx::createexploderex("fin_roof_hang_fire_xlrg","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16666.4,-87054.3,4979.23),(348.304,317.519,-76.6173)); + var_00 = common_scripts\_createfx::createexploderex("fin_roof_hang_fire_wide","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16594.5,-86992.5,5522.79),(279.822,95.1832,159.873)); + var_00 = common_scripts\_createfx::createexploderex("fin_roof_hang_fire_wide","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16566.3,-86559.8,5492.37),(279.822,95.1832,159.873)); + var_00 = common_scripts\_createfx::createexploderex("poison_gas_green_m","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((4532.92,-1613.72,406.162),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("poison_gas_green_m","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8844.68,-4689.65,-109.444),(270,0,-112)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","501"); + var_00 common_scripts\_createfx::set_origin_and_angles((3268.49,1787.47,-205),(16.7902,37.4187,-20.4766)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","501a"); + var_00 common_scripts\_createfx::set_origin_and_angles((3118.92,1764.93,-214),(11.1252,40.3248,-17.8739)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","503a"); + var_00 common_scripts\_createfx::set_origin_and_angles((3172.84,1673.8,-236),(20.4568,79.656,-13.234)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","503b"); + var_00 common_scripts\_createfx::set_origin_and_angles((3054.05,1696.59,-208),(15.1694,58.0654,-25.3616)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","502b"); + var_00 common_scripts\_createfx::set_origin_and_angles((3198.42,1625.79,-220),(15.5187,85.6811,-7.83179)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","502a"); + var_00 common_scripts\_createfx::set_origin_and_angles((3237.95,1831.45,-218),(18.4902,85.2501,-7.95796)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","504a"); + var_00 common_scripts\_createfx::set_origin_and_angles((3510.81,1971.92,-228.875),(16.0521,96.4231,-0.426338)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","507b"); + var_00 common_scripts\_createfx::set_origin_and_angles((3395.3,1850.94,-222.875),(12.4209,78.0242,-3.56611)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","507a"); + var_00 common_scripts\_createfx::set_origin_and_angles((3184.32,1715.07,-214),(11.7089,68.8491,-5.4879)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","506"); + var_00 common_scripts\_createfx::set_origin_and_angles((3121.88,1706.1,-212),(17.678,60.2997,-15.3703)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","506a"); + var_00 common_scripts\_createfx::set_origin_and_angles((3209.73,1733.79,-214),(12.167,42.5527,-19.9801)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","512b"); + var_00 common_scripts\_createfx::set_origin_and_angles((3220.36,1754.26,-212),(15.4224,40.2012,-24.7752)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","512a"); + var_00 common_scripts\_createfx::set_origin_and_angles((3450.68,1871.17,-222),(10.6443,68.1669,-15.8129)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","514b"); + var_00 common_scripts\_createfx::set_origin_and_angles((2946.98,1650.8,-214),(12.4331,17.0184,-28.9288)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","514a"); + var_00 common_scripts\_createfx::set_origin_and_angles((3590.09,1939.77,-231.875),(20.9461,109.696,9.57957)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","533a"); + var_00 common_scripts\_createfx::set_origin_and_angles((3380.41,1790.96,-214),(10.6318,21.3272,-32.8468)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","533b"); + var_00 common_scripts\_createfx::set_origin_and_angles((3423.46,1739.66,-225.875),(15.3769,15.6603,-34.0017)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","532a"); + var_00 common_scripts\_createfx::set_origin_and_angles((3673.76,1950.32,-231.875),(20.7921,99.7546,-0.15045)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","532b"); + var_00 common_scripts\_createfx::set_origin_and_angles((3592.57,2020.9,-235.875),(14.7709,102.856,0.955468)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","536b"); + var_00 common_scripts\_createfx::set_origin_and_angles((4292.75,1666.51,-240.875),(26.7239,115.497,12.2487)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","536a"); + var_00 common_scripts\_createfx::set_origin_and_angles((4302.25,1609,-234.875),(31.9228,108.431,8.53634)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","537b"); + var_00 common_scripts\_createfx::set_origin_and_angles((4342.84,1799.97,-233.875),(29.3949,139.264,27.0628)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","537a"); + var_00 common_scripts\_createfx::set_origin_and_angles((4295.05,1750.46,-232.875),(28.0132,134.691,24.9439)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","543b"); + var_00 common_scripts\_createfx::set_origin_and_angles((4879.49,1752.29,-223.875),(15.8178,115.303,10.5388)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","543"); + var_00 common_scripts\_createfx::set_origin_and_angles((4854.43,1737.22,-220.875),(14.6368,121.399,12.1416)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","541b"); + var_00 common_scripts\_createfx::set_origin_and_angles((5045.01,1687.34,-231.875),(22.3825,151.022,3.52801)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","541a"); + var_00 common_scripts\_createfx::set_origin_and_angles((5096.73,1646,-231.875),(26.1514,154.625,4.9048)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","545b"); + var_00 common_scripts\_createfx::set_origin_and_angles((4671.19,1808.78,-222.875),(12.3762,72.8163,0)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","545a"); + var_00 common_scripts\_createfx::set_origin_and_angles((4749.43,1824.37,-223.875),(5.35936,69.8253,-0.645732)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","541"); + var_00 common_scripts\_createfx::set_origin_and_angles((4436.19,1712.85,-226.875),(21.5791,103.369,7.6895)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","541a"); + var_00 common_scripts\_createfx::set_origin_and_angles((4493.9,1729.33,-232.875),(24.5515,103.81,7.86232)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","540b"); + var_00 common_scripts\_createfx::set_origin_and_angles((4331.6,1487.19,-231.875),(21.3467,73.2748,-4.0447)); + var_00 = common_scripts\_createfx::createexploderex("underwater_bullet_trail_long_nofog","540a"); + var_00 common_scripts\_createfx::set_origin_and_angles((4256.55,1434.97,-229.875),(24.9907,68.5699,-5.75797)); + var_00 = common_scripts\_createfx::createexploderex("fin_longlight_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7839.49,4593.69,63.8915),(89.9984,359.032,-90.9672)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8086.9,6911.94,-89.6281),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8087.07,6840.1,-87.3182),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8087.23,6768.54,-88.038),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7976.89,6768.31,-88.6386),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7977.27,6840.1,-87.4602),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7977.27,6911.44,-87.4247),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7862.92,6923.75,-87.5827),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_strips_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7863.23,6850.83,-88.0395),(89.7377,358.374,-91.635)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_norainbow_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7854.36,6767.93,-109.862),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7184.71,4246.32,-497.799),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7144.46,4159.98,-497.742),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_cool_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7116.15,4100.93,-497.879),(89,359.963,179.963)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12885.9,-86117.1,7853.68),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12886,-85984.9,7853.68),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("fin_sconce_lens_sm","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12886.5,-86233.4,7853.68),(87.9999,180,172)); + var_00 = common_scripts\_createfx::createexploderex("glass_shatter_xlarge","roof_glass_shatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((16302.6,-86737.2,8308.02),(89.0006,270.009,90.0092)); + var_00 = common_scripts\_createfx::createexploderex("glass_shatter_xlarge","roof_glass_shatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((16177.2,-86732,8328.88),(89.0006,270.009,90.0092)); + var_00 = common_scripts\_createfx::createexploderex("glass_shatter_xlarge","roof_glass_shatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((16339.7,-86534.2,8328.88),(89.0006,270.009,90.0092)); + var_00 = common_scripts\_createfx::createexploderex("glass_shatter_xlarge","roof_glass_shatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((16032.4,-86735,8328.88),(89.0006,270.009,90.0092)); + var_00 = common_scripts\_createfx::createexploderex("glass_shatter_xlarge","roof_glass_shatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((16036,-86867.4,8331.88),(89.0006,270.009,90.0092)); + var_00 = common_scripts\_createfx::createexploderex("glass_shatter_xlarge","roof_glass_shatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((16041.2,-86995.7,8324.88),(89.0006,270.009,90.0092)); + var_00 = common_scripts\_createfx::createexploderex("glass_shatter_xlarge","roof_glass_shatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((16037.7,-86533.2,8324.88),(89.0006,270.009,90.0092)); + var_00 = common_scripts\_createfx::createexploderex("glass_shatter_xlarge","roof_glass_shatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((16195.7,-86534.7,8328.88),(89.0006,270.009,90.0092)); + var_00 = common_scripts\_createfx::createexploderex("glass_shatter_xlarge","roof_glass_shatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((15870.6,-86728.1,8334.88),(89.0006,270.009,90.0092)); + var_00 = common_scripts\_createfx::createexploderex("glass_shatter_xlarge","roof_glass_shatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((15867.7,-86863.4,8334.88),(89.0006,270.009,90.0092)); + var_00 = common_scripts\_createfx::createexploderex("glass_shatter_xlarge","roof_glass_shatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((15869.6,-86988.9,8324.88),(89.0006,270.009,90.0092)); + var_00 = common_scripts\_createfx::createexploderex("glass_shatter_xlarge","roof_glass_shatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((15870.5,-86536.6,8334.88),(89.0006,270.009,90.0092)); + var_00 = common_scripts\_createfx::createexploderex("glass_shatter_xlarge","roof_glass_shatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((15710.1,-86733.4,8331.88),(89.0006,270.009,90.0092)); + var_00 = common_scripts\_createfx::createexploderex("glass_shatter_xlarge","roof_glass_shatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((15712.4,-86867.7,8328.88),(89.0006,270.009,90.0092)); + var_00 = common_scripts\_createfx::createexploderex("glass_shatter_xlarge","roof_glass_shatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((15547.1,-86859.9,8328.88),(89.0006,270.009,90.0092)); + var_00 = common_scripts\_createfx::createexploderex("glass_shatter_xlarge","roof_glass_shatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((15553.4,-86733.1,8320.88),(89.0006,270.009,90.0092)); + var_00 = common_scripts\_createfx::createexploderex("glass_shatter_xlarge","roof_glass_shatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((15383.3,-86867,8331.88),(89.0006,270.009,90.0092)); + var_00 = common_scripts\_createfx::createexploderex("glass_shatter_xlarge","roof_glass_shatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((15708.7,-86989.5,8328.88),(89.0006,270.009,90.0092)); + var_00 = common_scripts\_createfx::createexploderex("glass_shatter_xlarge","roof_glass_shatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((15871.9,-87185.2,8329.6),(89.0006,270.009,90.0092)); + var_00 = common_scripts\_createfx::createexploderex("glass_shatter_xlarge","roof_glass_shatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((15997.2,-87180.3,8314.37),(89.0006,270.009,90.0092)); + var_00 = common_scripts\_createfx::createexploderex("glass_shatter_xlarge","roof_glass_shatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((15708.6,-87190.1,8340.88),(89.0006,270.009,90.0092)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","roof_glass_shatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((15715.3,-86635.3,8334.88),(89.0006,270.009,90.0092)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","roof_glass_shatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((15870.2,-86632.8,8334.88),(89.0006,270.009,90.0092)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","roof_glass_shatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((16029.4,-86629.3,8334.88),(89.0006,270.009,90.0092)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","roof_glass_shatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((16190,-86631.8,8333.88),(89.0006,270.009,90.0092)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","roof_glass_shatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((16040.5,-87094.1,8331.88),(89.0006,270.009,90.0092)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","roof_glass_shatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((15863.1,-87088.5,8337.88),(89.0006,270.009,90.0092)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","roof_glass_shatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((15706.2,-87093,8330.88),(89.0006,270.009,90.0092)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","roof_glass_shatter"); + var_00 common_scripts\_createfx::set_origin_and_angles((16291.7,-86632.7,8307.98),(89.0006,270.009,90.0092)); + var_00 = common_scripts\_createfx::createexploderex("fin_smk_stacks_lp_lrg_unlit_a","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((55489.1,-74183.5,7480.13),(270,9.46232,91.5363)); + var_00 = common_scripts\_createfx::createexploderex("fin_smk_stacks_lp_lrg_unlit_a","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((47149,-88369.8,6537.24),(270,352.875,95.1233)); + var_00 = common_scripts\_createfx::createexploderex("fin_smk_stacks_lp_lrg_unlit_a","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((70794.9,-109760,6555.45),(270,9.46232,91.5363)); + var_00 = common_scripts\_createfx::createexploderex("aa_flash_tracer_far_freq_rnr_lp","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((44235.9,-79048.8,4258.09),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_flash_tracer_far_freq_rnr_lp","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((58867.5,-89730.9,4008.03),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_vista_glow_lp_lrg_unlit","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((32434.7,-82049.3,4193.69),(280.562,208.982,141.1)); + var_00 = common_scripts\_createfx::createexploderex("smk_stacks_lp_lrg_a","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((34508.5,-89353.8,4686.79),(270,90,0.99854)); + var_00 = common_scripts\_createfx::createexploderex("window_smk_dark_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23085.8,-87398.8,6807.68),(277.871,192.045,-94.0311)); + var_00 = common_scripts\_createfx::createexploderex("window_smk_dark_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23111.9,-87641.8,6326.96),(272.218,353.661,104.4)); + var_00 = common_scripts\_createfx::createexploderex("fin_roof_hang_fire_sm","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16667.6,-86856.9,6881.64),(280.963,197.845,65.5781)); + var_00 = common_scripts\_createfx::createexploderex("fin_roof_hang_fire_xlrg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((26425.2,-82353.1,3948.99),(279.725,238.62,-31.4236)); + var_00 = common_scripts\_createfx::createexploderex("fin_roof_hang_fire_xlrg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((34286.3,-93088.6,6070.31),(279.725,238.62,-31.4236)); + var_00 = common_scripts\_createfx::createexploderex("fin_roof_hang_fire_xlrg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((45180,-72867.1,6834.96),(282.88,156.396,49.7113)); + var_00 = common_scripts\_createfx::createexploderex("fin_smk_stacks_lp_lrg_unlit_a","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((43712.1,-122740,8473.67),(270,0,21.9976)); + var_00 = common_scripts\_createfx::createexploderex("smk_stacks_lp_med_a","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20124.2,-91798.2,4669.58),(300.419,330.49,75.9845)); + var_00 = common_scripts\_createfx::createexploderex("smoke_pillar_black_large_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((26859.1,-104922,4503.29),(280.262,179.124,-163.078)); + var_00 = common_scripts\_createfx::createexploderex("fin_smk_stacks_lp_lrg_unlit_a","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20885.5,-120950,7044.88),(270,0,0.99699)); + var_00 = common_scripts\_createfx::createexploderex("fin_roof_hang_fire_xlrg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22730.9,-112190,5943.22),(274.588,207.437,-121.557)); + var_00 = common_scripts\_createfx::createexploderex("window_smk_dark_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((33499.7,-76986.4,7474.86),(272.218,11.6605,104.4)); + var_00 = common_scripts\_createfx::createexploderex("window_smk_dark_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25423.3,-97803.8,7010.25),(272.218,353.661,58.3991)); + var_00 = common_scripts\_createfx::createexploderex("smk_stacks_lp_med_a","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((26399.6,-95189.9,4676.23),(300.419,330.49,75.9845)); + var_00 = common_scripts\_createfx::createexploderex("smoke_pillar_black_large_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((37815.2,-71576.3,4888.53),(280.262,179.124,26.9222)); + var_00 = common_scripts\_createfx::createexploderex("fin_roof_hang_fire_xlrg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((59862,-82130.6,9503.6),(279.725,238.62,-31.4236)); + var_00 = common_scripts\_createfx::createexploderex("fin_smk_stacks_lp_lrg_unlit_a","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((60793.9,-118343,7090.39),(270,0,57.9974)); + var_00 = common_scripts\_createfx::createexploderex("smoke_pillar_black_large_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((49947.7,-109932,5540.51),(293.036,266.422,-79.1815)); + var_00 = common_scripts\_createfx::createexploderex("fin_roof_hang_fire_xlrg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((39498.7,-109417,8568.93),(297.661,258.307,-171.557)); + var_00 = common_scripts\_createfx::createexploderex("fire_vista_glow_lp_lrg_unlit","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((32940.1,-112071,4401.44),(280.562,208.982,86.0996)); + var_00 = common_scripts\_createfx::createexploderex("fire_vista_glow_lp_lrg_unlit","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24170,-103616,4630.35),(1.53708,205.128,89.2852)); + var_00 = common_scripts\_createfx::createexploderex("fire_vista_glow_lp_lrg_unlit","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25458.9,-110074,3596.93),(1.53708,205.128,89.2852)); + var_00 = common_scripts\_createfx::createexploderex("fire_vista_glow_lp_lrg_unlit","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((42253,-104151,3253.21),(339.539,205.414,89.2374)); + var_00 = common_scripts\_createfx::createexploderex("smoke_pillar_black_large_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((17983.3,-106489,5923.12),(280.262,179.124,-94.0778)); + var_00 = common_scripts\_createfx::createexploderex("smoke_pillar_black_large_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((27634.4,-117881,3846.34),(280.262,179.124,-94.0778)); + var_00 = common_scripts\_createfx::createexploderex("fin_roof_building_explo","building_explo"); + var_00 common_scripts\_createfx::set_origin_and_angles((17274.8,-86507.1,7393.05),(271.656,342.293,-55.2508)); + var_00 = common_scripts\_createfx::createexploderex("fin_roof_building_explo","building_explo"); + var_00 common_scripts\_createfx::set_origin_and_angles((17744.3,-86961.8,7275.95),(290.52,215.011,-123.394)); + var_00 = common_scripts\_createfx::createexploderex("fin_balcony_break_dust","balcony_break_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((16561.3,-86866.1,7858),(270,180,175)); + var_00 = common_scripts\_createfx::createexploderex("fin_balcony_break_dust","balcony_break_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((16562.3,-86826.8,7858),(270,0,1.99971)); + var_00 = common_scripts\_createfx::createexploderex("fin_balcony_break_dust","balcony_break_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((16561.4,-86785.4,7858),(270,0,5.99964)); + var_00 = common_scripts\_createfx::createexploderex("fin_balcony_falling_debris","balcony_break_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((16564.4,-86825.9,7854),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_balcony_falling_debris","balcony_break_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((16563.3,-86865.8,7853.6),(0,356,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_balcony_falling_debris","balcony_break_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((16563.1,-86784.8,7853.28),(0,4.99948,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_rocket_fail_smoke","rocket_fail_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((7790.44,5367.82,-774.941),(280,43.997,90.001)); + var_00 = common_scripts\_createfx::createexploderex("fin_rocket_fail_smoke","rocket_fail_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((8155.59,5397.85,-865.568),(270,0,-55.0004)); + var_00 = common_scripts\_createfx::createexploderex("fin_rocket_fail_smoke","rocket_fail_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((7806.64,5698.64,-927.524),(274.528,18.0998,62.945)); + var_00 = common_scripts\_createfx::createexploderex("fin_rocket_fail_smoke","rocket_fail_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((8253.34,5614.35,-643.068),(273,112.99,-86.9914)); + var_00 = common_scripts\_createfx::createexploderex("fin_rocket_fail_ember_burst","rocket_fail_start"); + var_00 common_scripts\_createfx::set_origin_and_angles((7838.26,5761.74,-727.088),(277.545,132.208,-20.079)); + var_00 = common_scripts\_createfx::createexploderex("fin_rocket_fail_ember_burst","rocket_fail_start"); + var_00 common_scripts\_createfx::set_origin_and_angles((8192.56,5379.35,-727.467),(276.982,129.618,-165.63)); + var_00 = common_scripts\_createfx::createexploderex("fin_rocket_fail_ember_burst","rocket_fail_start"); + var_00 common_scripts\_createfx::set_origin_and_angles((7804.33,5362.07,-713.915),(272.027,148.817,72.182)); + var_00 = common_scripts\_createfx::createexploderex("fin_rocket_fail_sparks","rocket_fail_sparks_start"); + var_00 common_scripts\_createfx::set_origin_and_angles((7942.67,5264.94,-251.971),(38.7305,28.2978,84.3749)); + var_00 = common_scripts\_createfx::createexploderex("fin_rocket_fail_sparks","rocket_fail_sparks_start"); + var_00 common_scripts\_createfx::set_origin_and_angles((7712.17,5623.27,-281.012),(34.8472,39.6095,92.3489)); + var_00 = common_scripts\_createfx::createexploderex("fin_rocket_fail_sparks","rocket_fail_sparks_start"); + var_00 common_scripts\_createfx::set_origin_and_angles((8398.46,5686.85,-133.661),(40.1973,189.2,178.661)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","rocket_fail_start"); + var_00 common_scripts\_createfx::set_origin_and_angles((7828.9,5278.4,355.613),(271.997,19.3559,8.14845)); + var_00 = common_scripts\_createfx::createexploderex("fin_rocket_fail_smoke","rocket_fail_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((7844.72,5450.01,-223.875),(274.528,18.0976,19.9458)); + var_00 = common_scripts\_createfx::createexploderex("fin_falling_debris_01_lrg","fail_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((16565.8,-86981.3,7811.19),(271,344.009,-96.0129)); + var_00 = common_scripts\_createfx::createexploderex("fin_falling_debris_01_lrg","fail_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((16585.6,-86699.4,7817.13),(271,344.008,-60.0131)); + var_00 = common_scripts\_createfx::createexploderex("fin_falling_debris_01_lrg","fail_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((16600.4,-86815.7,7518),(271,344.012,-77.0185)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("fin_falling_debris_01_lrg","fail_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((16790.8,-86941.2,6683.98),(271,344.012,-77.0185)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("fin_falling_debris_01_lrg","fail_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((16654.5,-86803.5,7112.61),(271,344.014,-1.02124)); + var_00.v["delay"] = 0.75; + var_00 = common_scripts\_createfx::createexploderex("fin_rocket_fail_smoke","rocket_fail_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((8049.09,5415.09,-249.875),(274.528,18.0992,-97.0547)); + var_00 = common_scripts\_createfx::createexploderex("fin_rocket_fail_smoke","rocket_fail_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((8043.14,5651.15,-287.875),(274.528,18.0992,-97.0547)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","rocket_fail_start"); + var_00 common_scripts\_createfx::set_origin_and_angles((8007.64,5887.77,350.123),(271.997,19.3559,8.14845)); + var_00 = common_scripts\_createfx::createexploderex("fin_rocket_fail_smoke","rocket_fail_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((7943.67,5689.31,-224.875),(274.528,18.0992,-97.0547)); + var_00 = common_scripts\_createfx::createexploderex("fin_rocket_fail_top_smoke","rocket_fail_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((8014.5,5578.54,548.855),(274.528,18.0992,-97.0547)); + var_00 = common_scripts\_createfx::createexploderex("ambient_explosion_fireball_a_no_decal","roofhang_window_explo_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((16601.6,-86434.1,6823.44),(332.075,13.2395,-127.199)); + var_00 = common_scripts\_createfx::createexploderex("paper_sheet_explosion_blown_1","roofhang_window_explo_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((16613.7,-86531.9,6982.16),(297.913,294.601,-174.747)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16571.4,-87046.2,7576.8),(0,268.999,0)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16646.3,-86323.4,7383.3),(0,268.999,0)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16546.6,-86770.3,7333.82),(0,268.999,0)); + var_00 = common_scripts\_createfx::createexploderex("paper_sheet_01_blowing","roofhang_paper_blowing_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((16596.8,-86819.4,7782.24),(0,268.999,0)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16535.5,-87015.7,7360.94),(286.018,176.345,93.6208)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16790.1,-87538.7,7329.58),(344.202,271.727,32.4048)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16574.7,-86673.3,7485.49),(344.202,271.727,32.4048)); + var_00 = common_scripts\_createfx::createexploderex("ambient_explosion_fireball_a_no_decal","roofhang_window_explo_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((16504.5,-87052.5,6740.44),(319.056,357.126,19.7204)); + var_00 = common_scripts\_createfx::createexploderex("paper_sheet_explosion_blown_1","roofhang_window_explo_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((16573.1,-86995.8,6965.16),(320.573,344.401,-147.629)); + var_00 = common_scripts\_createfx::createexploderex("paper_burst","roofhang_paper_blowing_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((16563.2,-86797.7,7662),(359.999,190.999,0)); + var_00 = common_scripts\_createfx::createexploderex("paper_burst","roofhang_paper_blowing_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((16539,-86679.6,7685.04),(0.952892,190.959,-109.91)); + var_00 = common_scripts\_createfx::createexploderex("fin_balcony_irons_tackle","irons_tackle_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((16445,-86824.1,7858),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("ash_ember_cloud_freq_lrg_loop","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16227.1,-87072.5,8120.44),(270,174.289,119.71)); + var_00.v["delay"] = -2; + var_00 = common_scripts\_createfx::createexploderex("smk_stacks_lp_sml_a","3510"); + var_00 common_scripts\_createfx::set_origin_and_angles((12405.1,-86980.1,8909.53),(270,90,0.99854)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_no_light","3510"); + var_00 common_scripts\_createfx::set_origin_and_angles((14603.2,-86623.5,8217.26),(319.495,16.1955,169.105)); + var_00 = common_scripts\_createfx::createexploderex("smoke_pillar_black_large_fast","3510"); + var_00 common_scripts\_createfx::set_origin_and_angles((11325.3,-86357.4,7675.07),(280.262,179.124,-94.0778)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15333.2,-87133.4,7903.86),(0,0,0)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("smoke_white_slow","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15318.7,-86416.3,7852.81),(0,0,0)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16053.1,-86514.7,7950.61),(0,0,0)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","smk_walkway"); + var_00 common_scripts\_createfx::set_origin_and_angles((15110.3,-86645.9,7900.5),(0,0,0)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((14967.7,-87145.3,7882.5),(0,0,0)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((14798.5,-87246.6,7913.5),(0,0,0)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((14777.9,-86409.2,7895.5),(0,0,0)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((14474.7,-85909.5,8068.13),(0,0,0)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("smoke_white_slow","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15701.4,-87371,7854.13),(0,0,0)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","smk_walkway"); + var_00 common_scripts\_createfx::set_origin_and_angles((15207,-86822.4,7968.5),(0,0,0)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("smoke_white_slow","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15825.4,-86848.4,7863.5),(0,0,0)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16122.3,-87090.3,7774),(0,0,0)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15696.7,-86254.6,7863.42),(0,0,0)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("smoke_white_slow","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15740.2,-87014.1,7763.13),(0,0,0)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16155.7,-87392.9,7846.64),(0,0,0)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("smoke_white_slow","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16349.9,-86497,7813.11),(0,0,0)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15228.4,-87393.9,7861.69),(0,0,0)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((14565.6,-85784.8,8078.14),(0,0,0)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((14229.6,-85959.5,8093.9),(0,0,0)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("fin_warm_can_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6964.72,5912.06,-261.87),(89.9992,1.16816,1.16857)); + var_00 = common_scripts\_createfx::createexploderex("fin_frame_light_rainbow","lighton"); + var_00 common_scripts\_createfx::set_origin_and_angles((11692.5,-85714.7,7657.67),(359.999,180,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_frame_light","lighton"); + var_00 common_scripts\_createfx::set_origin_and_angles((11692.5,-85714.8,7695.35),(359.999,180,0)); + var_00 = common_scripts\_createfx::createexploderex("fin_frame_light","lighton"); + var_00 common_scripts\_createfx::set_origin_and_angles((11692.7,-85714.6,7620.63),(359.999,180,0)); + var_00 = common_scripts\_createfx::createexploderex("embers_lp_lrg_vf","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16621.4,-86432.3,7157.66),(277.822,210.442,-8.3601)); + var_00.v["delay"] = -0.25; + var_00 = common_scripts\_createfx::createexploderex("embers_lp_lrg_vf","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16651.2,-87288.7,7071.97),(277.822,210.442,83.6394)); + var_00.v["delay"] = -0.25; + var_00 = common_scripts\_createfx::createexploderex("embers_lp_lrg_vf","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16596.6,-86662.7,6926.55),(277.194,195.855,46.103)); + var_00.v["delay"] = -0.25; + var_00 = common_scripts\_createfx::createexploderex("fin_frame_light_sm","lighton"); + var_00 common_scripts\_createfx::set_origin_and_angles((11692.5,-85672.6,7724.36),(359.999,180,-89.9999)); + var_00 = common_scripts\_createfx::createexploderex("fin_frame_light_sm","lighton"); + var_00 common_scripts\_createfx::set_origin_and_angles((11692.6,-85643.9,7724.12),(359.999,180,-89.9999)); + var_00 = common_scripts\_createfx::createexploderex("fin_frame_light_sm","lighton"); + var_00 common_scripts\_createfx::set_origin_and_angles((11692.5,-85614.3,7724.05),(359.999,180,-89.9999)); + var_00 = common_scripts\_createfx::createexploderex("fin_frame_light_xtra_sm","lighton"); + var_00 common_scripts\_createfx::set_origin_and_angles((11692.5,-85695.4,7724.1),(359.999,180,-89.9999)); + var_00 = common_scripts\_createfx::createexploderex("fin_frame_light_corner","lighton"); + var_00 common_scripts\_createfx::set_origin_and_angles((11692.5,-85708.1,7722.91),(359.999,180,-22.0002)); + var_00 = common_scripts\_createfx::createexploderex("fin_frame_light_corner","lighton"); + var_00 common_scripts\_createfx::set_origin_and_angles((11692.5,-85713.6,7717.64),(359.999,180,-72.0004)); + var_00 = common_scripts\_createfx::createexploderex("embers_lp_lrg_vf","fail_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((16602.8,-86789.4,7510.85),(277.195,195.855,79.1043)); + var_00 = common_scripts\_createfx::createexploderex("embers_lp_lrg_vf","fail_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((16578.4,-86769.6,7274.26),(277.195,195.855,64.1042)); + var_00 = common_scripts\_createfx::createexploderex("embers_lp_lrg_vf","fail_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((16641.1,-86881,7078.17),(277.195,195.855,64.1042)); + var_00 = common_scripts\_createfx::createexploderex("embers_lp_lrg_vf","fail_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((16620.7,-86791.9,6951.3),(277.195,195.855,64.1042)); + var_00 = common_scripts\_createfx::createexploderex("embers_lp_lrg_vf","fail_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((16592.3,-86895.2,6898),(277.195,195.855,43.1041)); + var_00 = common_scripts\_createfx::createexploderex("embers_lp_lrg_vf","fail_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((16608.8,-86937.7,6627.51),(277.195,195.855,64.1042)); + var_00 = common_scripts\_createfx::createexploderex("embers_lp_lrg_vf","fail_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((16619.8,-86684.4,6341.19),(277.195,195.855,99.1039)); + var_00 = common_scripts\_createfx::createexploderex("embers_lp_lrg_vf","fail_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((16491.6,-86874.9,6073.71),(277.195,195.855,44.1036)); + var_00 = common_scripts\_createfx::createexploderex("embers_lp_lrg_vf","fail_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((16589.2,-86877,5798.61),(277.195,195.855,44.1036)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_sml_01","falling_dust_irons_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((11700,-85644.1,7715.82),(271,358,-90)); +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/fusion_fx.gsc b/AW/PC/maps/createfx/fusion_fx.gsc new file mode 100644 index 0000000..098190b --- /dev/null +++ b/AW/PC/maps/createfx/fusion_fx.gsc @@ -0,0 +1,2111 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\fusion_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 140 ms + * Timestamp: 4/22/2024 2:07:28 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\utility::createoneshoteffect("cooling_tower_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((8627.03,-6082.75,3579.65),(271.721,98.6832,13.3814)); + var_00 = common_scripts\utility::createoneshoteffect("cooling_tower_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((5516.32,-10744.5,3661.83),(271.721,98.6832,-24.6186)); + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1233.59,-2689.27,-64),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1685.35,-1535.75,-79),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1697.72,-87.7979,-72),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((7386.05,6421.76,-53),(270,0,0)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((7540.5,6093.31,2.125),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((5987.24,5468.86,261.125),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((6509.66,5845.8,-8.875),(270,0,0)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_dark"); + var_00 common_scripts\_createfx::set_origin_and_angles((10420.6,7381.65,721.471),(0,0,0.6)); + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_dark"); + var_00 common_scripts\_createfx::set_origin_and_angles((10495.8,6894.02,772.715),(0,0,0.6)); + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((1655.47,-3414.63,409.319),(270,0,132)); + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-420.962,-3764.28,192.125),(270,0,98)); + var_00 = common_scripts\utility::createoneshoteffect("cloud_bank"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6000.85,-104594,-266.766),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("cloud_bank"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9530.93,-104066,-440.946),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("cloud_bank"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9960.33,-84330.9,-212.226),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("cloud_bank"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13642.4,-84783,-200.545),(270,0,-168)); + var_00 = common_scripts\utility::createoneshoteffect("smoke_cloud_black_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((8371.71,27770.6,11167.3),(270,0,-178)); + var_00.v["delay"] = 55; + var_00 = common_scripts\utility::createoneshoteffect("smoke_pillar_black_large_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((5331.64,27346.8,2860.05),(294,26,-90)); + var_00.v["delay"] = 55; + var_00 = common_scripts\utility::createoneshoteffect("cloud_bank_cliffedge_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((990.448,-25587.6,2502.29),(270,0,-150)); + var_00.v["delay"] = -30; + var_00 = common_scripts\utility::createoneshoteffect("cloud_bank_cliffedge_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-541.078,-23816.1,2509.55),(270,0,-150)); + var_00.v["delay"] = -30; + var_00 = common_scripts\utility::createoneshoteffect("cloud_bank_cliffedge_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1518.42,-22940.7,2450.35),(270,0,-138)); + var_00.v["delay"] = -30; + var_00 = common_scripts\utility::createoneshoteffect("cloud_bank_cliffedge_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((1674.81,-27257.4,2492.94),(270,0,-150)); + var_00.v["delay"] = -30; + var_00 = common_scripts\utility::createoneshoteffect("cloud_bank_cliffedge_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((332.55,-24561.3,2521.91),(270,0,-150)); + var_00.v["delay"] = -30; + var_00 = common_scripts\utility::createoneshoteffect("cloud_bank_cliffedge_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((1650.67,-28551,2402.86),(270,0,-170)); + var_00.v["delay"] = -30; + var_00 = common_scripts\utility::createoneshoteffect("cloud_bank_cliffedge_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((1847.68,-30000.4,2214.17),(270,0,-172)); + var_00.v["delay"] = -30; + var_00 = common_scripts\utility::createoneshoteffect("cloud_bank_cliffedge_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((2983.86,-30577,2172.98),(270,0,-172)); + var_00.v["delay"] = -30; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((188.643,3006.48,4.77306),(270,0,92)); + var_00 = common_scripts\utility::createoneshoteffect("fog_distant_vista"); + var_00 common_scripts\_createfx::set_origin_and_angles((-60298.4,-29379.2,-580.47),(270,0,-70)); + var_00.v["delay"] = -40; + var_00 = common_scripts\utility::createoneshoteffect("fog_distant_vista"); + var_00 common_scripts\_createfx::set_origin_and_angles((-59583.5,-1535.68,-617.019),(270,0,-83.9999)); + var_00.v["delay"] = -40; + var_00 = common_scripts\utility::createoneshoteffect("fog_distant_vista"); + var_00 common_scripts\_createfx::set_origin_and_angles((-37286,-84044.8,388.642),(270,0,-48)); + var_00.v["delay"] = -40; + var_00 = common_scripts\utility::createoneshoteffect("fog_distant_vista"); + var_00 common_scripts\_createfx::set_origin_and_angles((-58508.5,31257.8,-535.011),(270,0,-156)); + var_00.v["delay"] = -40; + var_00 = common_scripts\utility::createoneshoteffect("fog_distant_vista"); + var_00 common_scripts\_createfx::set_origin_and_angles((-41336,62207.6,422.834),(270,0,-156)); + var_00.v["delay"] = -40; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((632.336,-3912.19,145.125),(0,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("smoke_pillar_white_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3473,150.183,648.125),(270,0,-168)); + var_00 = common_scripts\utility::createoneshoteffect("fireball_smk_M"); + var_00 common_scripts\_createfx::set_origin_and_angles((311.518,-7309.76,42.823),(270,0,-72)); + var_00 = common_scripts\utility::createoneshoteffect("smoke_pillar_black_large_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((6535.43,-3831.95,9.05084),(295.868,40.2313,-131.149)); + var_00.v["delay"] = 55; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_dark"); + var_00 common_scripts\_createfx::set_origin_and_angles((10925.6,7069.72,887.09),(0,0,0.6)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_patch_light","3400"); + var_00 common_scripts\_createfx::set_origin_and_angles((4670.3,409.901,-543.875),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_patch_light","3400"); + var_00 common_scripts\_createfx::set_origin_and_angles((3757.65,169.346,-543.875),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_patch_light","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((3767.83,1111.02,-545),(270,0,-91.9999)); + var_00 = common_scripts\_createfx::createexploderex("steam_surface_add","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4244.14,1932.42,-685.875),(271,0,15)); + var_00 = common_scripts\_createfx::createexploderex("steam_surface_add","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((2988.66,2497.38,-764.875),(272,180,106)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_patch_light","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((3961.21,1481.48,-545),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_patch_light","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((3289.78,1611.66,-545),(270,0,-119)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_patch_light","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((2611.43,2562.98,-545),(271,20.0001,-89.9999)); + var_00 = common_scripts\_createfx::createexploderex("steam_surface_add","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4813.44,3206.86,-694.875),(271.388,318.119,151.936)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_patch_light","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((3420.29,4249.83,-545),(270,0,-60.9999)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_patch_light","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4076.71,4290.31,-545),(270,0,-78.9999)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_patch_light","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4296.12,3769.81,-600.875),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_patch_light","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((5169.46,3434.77,-545),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_patch_light","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((5311.75,2895.98,-545),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("steam_surface_add","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((3567.84,3768.96,-661.875),(270,180,19.9999)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_patch_light","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((3059.24,3531.56,-600.875),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_patch_light","3200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2220.74,4733.96,-544),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_verylight","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((11076.5,9043.33,331.958),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_verylight_far","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-562.535,3727.81,19),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_verylight","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7147.33,6194.48,405.563),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_verylight","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((11505.2,10908.9,-33.4001),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_verylight","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7607.69,8942.31,39.3471),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_verylight_far","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((43.3073,-1904.92,220.787),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1531.65,2998.83,-31.875),(270.858,184.134,177.801)); + var_00 = common_scripts\_createfx::createexploderex("turbine_explosion_steam_volume_loop","turbine_explosion_steam_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((6659.84,1943.42,312.125),(270,0,0)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("turbine_explosion_steam_volume_loop","turbine_explosion_steam_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((6974.36,1394.63,318),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("turbine_explosion_rear_blast","turbine_explosion_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((7236.29,1658.8,202.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("turbine_explosion_initial_burst","turbine_explosion_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((6701.75,1845.58,115.563),(292.937,233.495,95.5498)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("turbine_explosion_initial_burst_short","turbine_explosion_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((6652.29,1828.95,72.5939),(307,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("turbine_explosion_initial_burst_short","turbine_explosion_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((6629.69,2065.35,64.1901),(310,89.9997,-89.9998)); + var_00 = common_scripts\_createfx::createexploderex("turbine_explosion_rear_blast_small","turbine_explosion_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((7000.59,1638,91.9606),(0,156,0)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("turbine_explosion","turbine_explosion_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((6467.42,2018.78,-44.9893),(0,154,0)); + var_00 = common_scripts\_createfx::createexploderex("light_streetlight_flare","1666"); + var_00 common_scripts\_createfx::set_origin_and_angles((13718.3,9402.36,341.155),(85.0015,36.9174,39.8125)); + var_00 = common_scripts\_createfx::createexploderex("light_streetlight_flare","1666"); + var_00 common_scripts\_createfx::set_origin_and_angles((14248.2,10289.8,337.468),(85.0015,36.9174,39.8125)); + var_00 = common_scripts\_createfx::createexploderex("light_streetlight_flare","1666"); + var_00 common_scripts\_createfx::set_origin_and_angles((14746,11134.9,343.215),(85.0015,36.9174,39.8125)); + var_00 = common_scripts\_createfx::createexploderex("light_streetlight_flare","1666"); + var_00 common_scripts\_createfx::set_origin_and_angles((13490.2,8545.7,340.122),(85.0015,36.9174,39.8125)); + var_00 = common_scripts\_createfx::createexploderex("light_streetlight_flare","1666"); + var_00 common_scripts\_createfx::set_origin_and_angles((13483.7,7496.38,338.66),(85.0015,36.9174,39.8125)); + var_00 = common_scripts\_createfx::createexploderex("light_streetlight_flare","1668"); + var_00 common_scripts\_createfx::set_origin_and_angles((14078.6,7947.55,341.155),(85.0015,36.9174,39.8125)); + var_00 = common_scripts\_createfx::createexploderex("light_streetlight_flare","1669"); + var_00 common_scripts\_createfx::set_origin_and_angles((14115.6,8837.75,330.577),(85.0015,36.9174,39.8125)); + var_00 = common_scripts\_createfx::createexploderex("light_streetlight_flare","1666"); + var_00 common_scripts\_createfx::set_origin_and_angles((14548.7,9606.52,338.534),(85.0015,36.9174,39.8125)); + var_00 = common_scripts\_createfx::createexploderex("light_streetlight_flare","1668"); + var_00 common_scripts\_createfx::set_origin_and_angles((15335.1,10059.2,341.155),(85.0015,36.9174,39.8125)); + var_00 = common_scripts\_createfx::createexploderex("light_streetlight_flare","1669"); + var_00 common_scripts\_createfx::set_origin_and_angles((16217.6,10010.6,341.155),(85.0015,36.9174,39.8125)); + var_00 = common_scripts\_createfx::createexploderex("light_streetlight_flare","1666"); + var_00 common_scripts\_createfx::set_origin_and_angles((13456.1,6594.45,343.155),(85.0015,36.9174,39.8125)); + var_00 = common_scripts\_createfx::createexploderex("light_streetlight_flare","1666"); + var_00 common_scripts\_createfx::set_origin_and_angles((14521.6,7279.62,337.685),(85.0015,36.9174,39.8125)); + var_00 = common_scripts\_createfx::createexploderex("light_streetlight_flare","1669"); + var_00 common_scripts\_createfx::set_origin_and_angles((16114,6812.71,341.155),(85.0015,36.9174,39.8125)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_transp_lrg_03","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6252.57,5829.64,594.365),(40.223,327.681,78.8325)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("light_godray_transp_lrg_03","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6748.43,6311.53,601.659),(40.223,327.681,78.8325)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("light_godray_transp_lrg_03","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6856.8,6471.39,613.89),(40.223,327.681,78.8325)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("light_godray_transp_lrg_01","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((6510.37,6094.91,840.129),(43.368,315.758,-14.9741)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("light_dust_particles","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-428.185,-3063.48,16.5523),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_dust_particles","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-163.14,-3276.24,-61.1606),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4576.34,-25711.8,167.336),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3019.83,-61461.7,126.348),(270,0,-178)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3157.13,-74516.8,-41.056),(270,0,-178)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1649.22,-59071.2,188.889),(270,0,-178)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-230.014,-52621.5,175.336),(270,0,-174)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1184.31,-43711,161.494),(270,0,-178)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2202.46,-46141.4,27.915),(270,0,-178)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-914.441,-63982.3,59.1084),(270,0,-178)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-954.758,-66738.4,-21.1243),(270,0,-178)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3021.64,-69899.4,114.58),(270,0,178)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1125.63,-71666.2,-51.732),(270,0,-178)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2732.26,-77678.2,243.71),(270,0,-178)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-189.35,-68445.9,-33.1153),(270,0,-178)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1113.75,-79137.6,146.313),(270,0,-178)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-332.487,-87613.5,144.463),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-510.189,-106273,411.792),(270,0,-178)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((249.921,-103098,196.632),(270,0,-162)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1331.24,-95288.5,165.697),(270,0,-86)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((288.718,-93966.9,121.362),(270,0,-178)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2533.6,-90902.8,-23.8487),(270,0,-78)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3604.52,-100099,134.338),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4043.21,-87790.7,263.939),(270,0,-170)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3658.8,-82469.8,199.369),(270,0,-84)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-776.858,-113207,31.8179),(270,0,174)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1411.92,-111758,53.7457),(270,0,-70)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12555.5,-70116.6,118.489),(270,0,12)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7071.13,-51991,94.859),(270,0,-150)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1354.6,-61121,415.976),(270,0,178)); + var_00.v["delay"] = 45; + var_00 = common_scripts\_createfx::createexploderex("cloud_bank_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((987.06,-81232.6,883.71),(270,0,170)); + var_00.v["delay"] = 45; + var_00 = common_scripts\_createfx::createexploderex("cloud_bank_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2712.41,-93291.6,761.773),(270,0,-178)); + var_00.v["delay"] = 45; + var_00 = common_scripts\_createfx::createexploderex("cloud_bank_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1566.34,-47084.9,737.326),(270,0,170)); + var_00.v["delay"] = 45; + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1522.69,-39553.5,195.184),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-877.061,-31797,31.3601),(270,0,-178)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1277.09,-41787.3,-218.964),(270,0,-178)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3355.26,-33699.5,96.295),(270,0,-162)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2787.16,-36540.8,57.5137),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1056.43,-37836.6,405.583),(270,0,176)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1741.86,-40734.8,144.534),(270,0,-176)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4813.24,-39357,146.514),(270,0,-174)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4082.74,-23811.7,1703.13),(288,176,0)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1237.89,-29009.8,175.947),(284,180,21.9999)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4629.86,-30782.9,-2.3678),(270,0,-178)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1558.73,-35064.7,-22.0476),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8438.35,-22410.7,-105.187),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5399.57,-21401.3,518.117),(270,0,170)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10053,-42377.6,-105.087),(270,0,-72)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8229.78,-39504.1,179.474),(270,0,-94)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank_large","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7369.57,-18473.8,1460.37),(270,0,170)); + var_00.v["delay"] = 45; + var_00 = common_scripts\_createfx::createexploderex("ambient_explosion_fireball","1111"); + var_00 common_scripts\_createfx::set_origin_and_angles((332.371,-5343.29,-36.9372),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("ambient_explosion_fireball","1112"); + var_00 common_scripts\_createfx::set_origin_and_angles((3544.03,-4889.73,-188.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("ambient_explosion_fireball","1113"); + var_00 common_scripts\_createfx::set_origin_and_angles((5022.14,-4387.16,0.61705),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("ambient_explosion_fireball","1114"); + var_00 common_scripts\_createfx::set_origin_and_angles((1457.01,-4627.08,2.43655),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("ambient_explosion_fireball","1115"); + var_00 common_scripts\_createfx::set_origin_and_angles((918.202,-4127.58,192),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("ambient_explosion_fireball","1116"); + var_00 common_scripts\_createfx::set_origin_and_angles((483.341,-1581.23,449.407),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("ambient_explosion_fireball","1117"); + var_00 common_scripts\_createfx::set_origin_and_angles((283.361,-5334.03,-24.8511),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("ambient_explosion_fireball","1118"); + var_00 common_scripts\_createfx::set_origin_and_angles((-638.778,-2730.88,75.4827),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("ambient_explosion_dirt_runner","2011"); + var_00 common_scripts\_createfx::set_origin_and_angles((-628.934,-5792.12,-66),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","street_building_top_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2488,1528,318),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("lights_conelight_smokey","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6211.92,5233.88,336.125),(89.9999,356.465,-3.53548)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("lights_conelight_smokey","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5930.64,5527.38,337.642),(89.9999,356.465,-3.53548)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("lights_conelight_smokey","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6379.03,5965.01,295.425),(89.9999,356.465,-3.53548)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("lights_conelight_smokey","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6838.87,6426.34,311.096),(89.9998,334.679,-25.3205)); + var_00 = common_scripts\_createfx::createexploderex("lights_conelight_smokey","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5987.07,5545.14,189),(89.9999,356.465,-3.53548)); + var_00 = common_scripts\_createfx::createexploderex("lights_conelight_smokey","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5958.14,4960.29,293.125),(53.3333,229.089,-128.874)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_verylight","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5960.83,4773.42,245),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_verylight","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5810.7,4055.1,187),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_red_strobe","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6113.2,4930.43,301.864),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_red_strobe","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5093.08,4640.23,410.681),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_red_strobe","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5665.92,4037.43,410.764),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_red_strobe","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7057.67,5526.48,102.318),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_red_strobe","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((6486.65,6098.71,103.86),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","1019"); + var_00 common_scripts\_createfx::set_origin_and_angles((932.222,-22956.7,4786.16),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3364.3,275.264,3357.57),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3471.48,11080.6,3290.5),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5228.8,3131.44,3359.81),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5336.35,-1816.95,3223.34),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6706.35,-5807.72,3165.69),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1358.15,-2510.28,1862.35),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((1162.43,-7871.52,2931.09),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1062.26,-6921.28,3209.38),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1681.94,-14375.9,3878.8),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2377.53,-3315.44,1687.13),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5708.99,6489.72,2909.28),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1661,5913.22,4373.23),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","1019"); + var_00 common_scripts\_createfx::set_origin_and_angles((432.23,-18694.3,4741.5),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","1019"); + var_00 common_scripts\_createfx::set_origin_and_angles((4300.15,-14263.2,3657.32),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","1019"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2558.99,-26310.3,4100.92),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3561.51,-3025.62,2571.6),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5731.02,-8529.68,3953.92),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("lights_conelight_smokey","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-425.627,-3017.42,80.0693),(29.047,255.722,132.554)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("lights_conelight_smokey","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-402.483,-3031.22,89.7666),(29.047,255.722,132.554)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("light_godray_transp_lrg_01","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((6281.08,5837.06,813.554),(43.808,309.985,178.803)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12502.7,-83971.3,-374.925),(270,0,-110)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11008.2,-84660.5,-371.429),(270,0,-110)); + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8858.37,-71465.5,-322),(270,0,-110)); + var_00.v["delay"] = 4; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8611.96,-52166.7,-343.989),(270,0,-110)); + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9730.49,-51252.6,-410.212),(270,0,-110)); + var_00.v["delay"] = 4; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5198.27,-52943.4,-398.331),(270,0,-110)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2623.03,-51491.2,-394.51),(270,0,-110)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4394.71,-38016.1,-429.68),(270,0,-110)); + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4285.46,-32591.4,-466.416),(270,0,-110)); + var_00.v["delay"] = 4; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6812.68,-33316.8,-360.895),(270,0,-110)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4651.87,-26453.1,-359.388),(270,0,-110)); + var_00.v["delay"] = 8; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8948.34,-21486.4,-398.168),(270,0,-110)); + var_00.v["delay"] = 2; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5138.86,-56721.4,-251.002),(270,0,0)); + var_00.v["delay"] = 3.5; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4003.43,-58650.8,-227.681),(270,0,-94)); + var_00.v["delay"] = 2; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4977.8,-69177.8,-295.022),(270,0,-110)); + var_00.v["delay"] = 3.5; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3577.26,-33648.9,-331.435),(270,0,-110)); + var_00.v["delay"] = 2.5; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10611.7,-21833.7,-383.19),(270,0,-110)); + var_00.v["delay"] = 2.5; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7257.26,-50463.8,-358.938),(270,0,-110)); + var_00.v["delay"] = 4; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5478.86,-70470.1,-259.691),(270,0,-110)); + var_00.v["delay"] = 1.25; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4136.53,-71479.4,-385.565),(270,0,-110)); + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1584.66,-44121.3,-309.875),(270,0,-110)); + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2662.5,-44790.7,-300.992),(270,0,-110)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2561.55,-65897.9,-383.57),(270,0,-110)); + var_00.v["delay"] = 1.25; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3062.53,-65267.2,-317.638),(270,0,-110)); + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7795.23,-33131.9,-355.951),(270,0,-110)); + var_00.v["delay"] = 4.5; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2770.51,-56212.4,-317.833),(270,0,-110)); + var_00.v["delay"] = 4.5; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_mist_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7772.33,-51435.5,-334.883),(270,0,-95.9999)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_mist_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5237.65,-57171.5,-341.225),(270,0,-95.9999)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_mist_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5069.2,-52470.5,-314.02),(270,0,-95.9999)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_mist_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3052.88,-44494.9,-327.768),(270,0,-95.9999)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_mist_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4139.32,-37865.7,-325.869),(270,0,-95.9999)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_mist_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4431.31,-27513,-326.137),(270,0,-95.9999)); + var_00 = common_scripts\_createfx::createexploderex("wave_hit_mist_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7224.05,-32837.6,-307.511),(270,0,-95.9999)); + var_00 = common_scripts\_createfx::createexploderex("wave_hit_mist_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3077.31,-58137.8,-207.464),(270,0,-95.9999)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_mist_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1903.21,-57301.3,-313.603),(270,0,-95.9999)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_mist_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1254.71,-51497.4,-323.669),(270,0,-95.9999)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10095.4,-104536,-291.827),(270,0,-110)); + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6553.5,-104916,-224.936),(270,0,-110)); + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1307.15,-106123,-269.481),(270,0,-110)); + var_00.v["delay"] = 1.25; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6857.48,-102833,-245.364),(270,0,-110)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9492.05,-103080,-302.273),(270,0,-110)); + var_00.v["delay"] = 1.25; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6194.59,-84861.1,-305.298),(270,0,-110)); + var_00.v["delay"] = 1.25; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10668.7,-83239.1,-335.739),(270,0,-110)); + var_00.v["delay"] = 1.25; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_mist_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5826.62,-104102,-310.567),(270,0,-95.9999)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_mist_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-833.922,-105594,-294.395),(270,0,-95.9999)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_mist_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11938.5,-100411,-164.151),(270,0,-95.9999)); + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1261.53,-86757.1,-286.461),(270,0,-110)); + var_00.v["delay"] = 1.25; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_mist_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2238.25,-85451.1,-244.662),(270,0,-95.9999)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_mist_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4700.69,-88169.5,-273.206),(270,0,-95.9999)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5407.86,-87908.1,-361.543),(270,0,-110)); + var_00.v["delay"] = 1.25; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large","1020"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4819.56,-81989.7,-297.818),(270,0,-94)); + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large","1020"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3682.61,-79530.1,-372.233),(270,0,-88)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_03","1020"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3984.71,-80417.9,-348.034),(270,0,-90)); + var_00.v["delay"] = 0.65; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_02","1021"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4901.45,-58328.7,-228.382),(270,0,-96)); + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_02","1021"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4590.92,-59258.1,-315.297),(270,0,-90)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large","1021"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4037.94,-60320.4,-308.581),(270,0,-66)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_03","1021"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3650.68,-61275.8,-319.915),(270,0,-60)); + var_00.v["delay"] = 1.25; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_02","1020"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4677.39,-81319.3,-377.875),(270,0,-90)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_02","1022"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4522.42,-33898.6,-282.099),(270,0,-82)); + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_02","1022"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8249.49,-22658.2,-356.118),(270,0,-64)); + var_00.v["delay"] = 4.5; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large","1022"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7304.38,-23695.8,-321.364),(270,0,-58)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large","1022"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6271.26,-24564.9,-307.928),(272,206.001,89.9992)); + var_00.v["delay"] = 5.5; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large","1022"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4096.32,-34800.3,-325.6),(270,0,-48)); + var_00.v["delay"] = 0.35; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_03","1022"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3437.65,-35705.9,-314.422),(270,0,-66)); + var_00.v["delay"] = 0.85; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_02","1022"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3883,-32317.5,-312.748),(270,0,-64)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_02","1022"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3231.86,-31459.1,-343.739),(270,0,-64)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large","1022"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2932.35,-30762.1,-331.547),(272,206.001,89.9992)); + var_00.v["delay"] = 2; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_02","1021"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2083.94,-53641.4,-335.947),(270,0,-96)); + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_02","1021"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1627.71,-52993.1,-247.633),(270,0,-90)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("wave_hit_large_03","1021"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1088.03,-52473.2,-125.395),(270,0,-71.9999)); + var_00.v["delay"] = 1.25; + var_00 = common_scripts\_createfx::createexploderex("fusion_heli_hover_dust","1090"); + var_00 common_scripts\_createfx::set_origin_and_angles((1379.57,-3842.37,345.125),(270,0,0)); + var_00.v["flag"] = "null"; + var_00 = common_scripts\_createfx::createexploderex("fusion_light_point_amber_finale","6036"); + var_00 common_scripts\_createfx::set_origin_and_angles((12728.6,9035.01,-126.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("missile_launch_smoke_large","1080"); + var_00 common_scripts\_createfx::set_origin_and_angles((124.485,-4681.76,-57),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fireball_smk_M","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((5946.29,-4408.35,-24.1141),(270,0,-84)); + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4434.9,17977.7,3672.82),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8875.44,14602.8,3704.26),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12879.2,11590.3,3546.35),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3723.42,20442.2,5158.88),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4754.01,5385.95,2512.01),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6788.76,14682,3908.32),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("light_godray_xtra_lrg_01","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12220.8,12033.3,119.755),(10.7092,336.238,6.27333)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("light_godray_xtra_lrg_01","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((11916.9,11070.4,122.414),(10.7092,336.238,6.27333)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("light_godray_xtra_lrg_01","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((11528.4,10698.5,60.5582),(10.7092,336.238,6.27333)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("light_godray_xtra_lrg_01","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((11535.5,11594.1,111.182),(10.7092,336.238,6.27333)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("light_godray_xtra_lrg_01","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((11237,11198.4,121.211),(10.7092,336.238,6.27333)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("light_godray_xtra_lrg_01","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7878.44,9670.93,244.831),(10.7092,336.238,6.27333)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("light_godray_xtra_lrg_01","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7533.81,9307.97,191.315),(10.7092,336.238,6.27333)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((17393.1,24914.7,4108.05),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16114.1,12483,6779.72),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((11020.6,13865.2,6756.28),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6049.13,14360.4,2647.02),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10117.4,18408.4,3341.96),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22327.3,28114.7,5164.66),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((13205.9,29988.9,5093.44),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4851.82,23236.9,3816.31),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((14790.7,3410.54,3287.07),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23035.1,4794.33,3598.41),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10837.3,-1876.06,5999.72),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22195.5,17261.4,14234.6),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3277.58,20364.1,5899.88),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-391.719,20930.8,4586.25),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1542.09,12216.9,5594.33),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-773.525,11004.3,3584.47),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8012.29,14539.4,5289.85),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((13009.3,13501.7,7449.76),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2636.75,16989.9,7859.83),(0,0,0)); + var_00.v["flag"] = "2000"; + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks","1667"); + var_00 common_scripts\_createfx::set_origin_and_angles((10008.4,9316.7,280.865),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks","1667"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1872.22,-1038.14,420.453),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks","1667"); + var_00 common_scripts\_createfx::set_origin_and_angles((13492.3,8550.24,342.189),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("heli_impact_concrete_large","5"); + var_00 common_scripts\_createfx::set_origin_and_angles((662.519,-11523.6,147.91),(354.91,351.97,-0.292598)); + var_00 = common_scripts\_createfx::createexploderex("heli_impact_concrete_large","5"); + var_00 common_scripts\_createfx::set_origin_and_angles((655.397,-11507.9,2294.23),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks","1667"); + var_00 common_scripts\_createfx::set_origin_and_angles((14098,8838.39,327.23),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-196.268,-3097.13,150.285),(277,124,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-341.478,-3575.23,180.694),(270,0,-127)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((313.535,-3717.44,163.075),(270,0,180)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((33.9324,-3642.16,177.967),(270,0,-93)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-320.288,-3236.51,141.718),(270,157.38,1.61986)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2118.53,-3369.19,268.804),(270,0,-171)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2471.87,-559.468,422.013),(270,0,1.99998)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2561.58,5.34744,412.504),(272,173,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-846.014,1113.44,205.349),(270,0,87)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-884.372,1148.48,574.438),(270,0,87)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2126.68,-2027,178.422),(270,0,-177)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2091.41,-2385.8,516.166),(270,0,87)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-458.263,-3615.45,70.3188),(270,0,87)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((246.167,-3066.58,203.766),(270,0,102)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((455.603,-3734.02,189.459),(270,0,-168)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((157.791,-3693.59,147.215),(270,0,174)); + var_00.v["delay"] = 4; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((616.944,-3101.94,172.467),(272,12,-9.00003)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((368.106,-3206.5,166.825),(270,0,4.99997)); + var_00.v["delay"] = 3; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2066.53,-3276.39,267.621),(272.97,268.7,-8.1349)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2092.34,-2291.65,449.995),(272.97,268.7,-8.1349)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1638.37,-2606.45,386.277),(272.97,268.7,-53.1349)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1184.06,-2164.44,525.696),(272.97,268.7,-59.1348)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-917.656,-1866.17,555.955),(272.97,268.7,-59.1348)); + var_00.v["delay"] = 4.5; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-291.804,-1676.61,475.819),(272.97,268.7,-178.135)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-193.094,-1884.51,289.102),(272.97,268.7,-178.135)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-726.353,644.498,714.413),(272.97,268.7,-158.135)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1672.65,422.975,394.946),(272.97,268.7,-89.1348)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2596.04,1769.47,264.125),(272.97,268.7,8.86518)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2546.76,-23.4853,268.231),(273.96,266.401,173.16)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1563.5,-4995.27,256.489),(272.97,268.7,-84.1349)); + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner_single","1023"); + var_00 common_scripts\_createfx::set_origin_and_angles((1826.99,-29426.5,4180.38),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner_single","1024"); + var_00 common_scripts\_createfx::set_origin_and_angles((3445.65,-29825.5,4234.28),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner_single","1027"); + var_00 common_scripts\_createfx::set_origin_and_angles((2072.73,-22136.7,4445.71),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner_single","1026"); + var_00 common_scripts\_createfx::set_origin_and_angles((3332.48,-25391.7,5210.19),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner_single","1025"); + var_00 common_scripts\_createfx::set_origin_and_angles((2348.6,-26130.2,4859.1),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-803.125,-2191.04,247.616),(272.97,268.7,-173.135)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-911.005,-2438.13,258.026),(272.97,268.7,-85.1348)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-345.032,-1436.29,309.884),(272.563,203.496,-153.991)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-321.347,-1546.52,311.365),(270,0,60.9999)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1120.13,3170.98,670.155),(271.053,96.6937,-98.1392)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2497.34,-2015.29,250.759),(272.856,50.9339,-53.2112)); + var_00 = common_scripts\_createfx::createexploderex("light_streetlight_flare","1668"); + var_00 common_scripts\_createfx::set_origin_and_angles((15322.7,6819.71,341.155),(85.0015,36.9174,39.8125)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks","1667"); + var_00 common_scripts\_createfx::set_origin_and_angles((14536.2,9608.24,343.777),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks","1667"); + var_00 common_scripts\_createfx::set_origin_and_angles((16215.4,10030.1,344.632),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks","1667"); + var_00 common_scripts\_createfx::set_origin_and_angles((14231.4,10298.2,344.842),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks","1667"); + var_00 common_scripts\_createfx::set_origin_and_angles((14503.6,7270.23,344.625),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((717.345,-3271.49,12.1077),(271,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((801.183,-3906.78,165.001),(271,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((914.616,-3557.85,17),(271,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33.7486,-3282.17,-64),(271,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((56.4016,-3667.34,-60.6049),(271,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((77.5699,-3822.4,12),(271,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1961.17,-3693.62,-63.1477),(271,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-414.595,-4551.3,-30.7564),(271,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1283.08,-5544.8,-134.106),(271,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((658.267,-4269.68,96.9534),(271,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((96.3891,-2998.8,25.8504),(271,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1335.11,-3096.18,192.125),(271,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-510.723,56.3413,64.125),(271,270,41.9999)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-509.984,-482.17,79.125),(271,270,13.9999)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1518.12,-3386.95,-80.4942),(271,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3056.31,-665.175,766.125),(271,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_fast_runner","1119"); + var_00 common_scripts\_createfx::set_origin_and_angles((1355.59,-3558.74,210.125),(270,0,93)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_fast_runner","1119"); + var_00 common_scripts\_createfx::set_origin_and_angles((1273.21,-3835.35,332.125),(270,0,93)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_fast_runner","1121"); + var_00 common_scripts\_createfx::set_origin_and_angles((185.58,-3809.96,190.793),(270,0,93)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_fast_runner","1119"); + var_00 common_scripts\_createfx::set_origin_and_angles((1365.06,-3190.93,192.125),(270,0,93)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_fast_runner","1120"); + var_00 common_scripts\_createfx::set_origin_and_angles((1062.16,-3567.88,199.298),(270,0,84)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_fast_runner","1120"); + var_00 common_scripts\_createfx::set_origin_and_angles((1098.04,-4083.22,201.125),(270,0,106)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_fast_runner","1120"); + var_00 common_scripts\_createfx::set_origin_and_angles((1067.35,-3310.65,276.344),(272,172,-96.9998)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_fast_runner","1120"); + var_00 common_scripts\_createfx::set_origin_and_angles((803.385,-3413.8,175.114),(270,0,84)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_fast_runner","1120"); + var_00 common_scripts\_createfx::set_origin_and_angles((1000.85,-3892.29,228),(270,0,91.0001)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_fast_02","1121"); + var_00 common_scripts\_createfx::set_origin_and_angles((513.872,-3535.89,84.734),(270,0,80)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_fast_02","1121"); + var_00 common_scripts\_createfx::set_origin_and_angles((520.046,-4119.14,252.698),(270,0,105)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_fast_02","1121"); + var_00 common_scripts\_createfx::set_origin_and_angles((631.683,-3928.76,225.594),(270,0,93)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_fast_02","1121"); + var_00 common_scripts\_createfx::set_origin_and_angles((497.374,-3115.57,208.147),(270,0,73)); + var_00 = common_scripts\_createfx::createexploderex("fire_pipe_large","1122"); + var_00 common_scripts\_createfx::set_origin_and_angles((1496.01,-2769.52,579.169),(290.694,260.247,-92.6279)); + var_00 = common_scripts\_createfx::createexploderex("fire_pipe_large","1122"); + var_00 common_scripts\_createfx::set_origin_and_angles((382.795,-4051.79,615.007),(315.119,34.5366,-95.0132)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1765.64,-3215.29,-80.2103),(271,270,18.9999)); + var_00 = common_scripts\_createfx::createexploderex("pressure_explosion_ground_lrg_02","6520"); + var_00 common_scripts\_createfx::set_origin_and_angles((11564.6,9124.32,-85.5373),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("pressure_explosion_ground_lrg_01","6510"); + var_00 common_scripts\_createfx::set_origin_and_angles((9715.91,9261.05,-5),(284.111,316.589,-74.7203)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-202.801,-2876.04,326.405),(270,0,102)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1080.64,-3243.94,235.998),(271,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("fire_pipe_large","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9278.01,6077.74,643.568),(284.014,180.697,-115.749)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10176.9,6940.49,1498.76),(270,0,-83.9999)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10038.8,7250.81,1212.2),(271,84,-180)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10068,7328.23,1093.15),(270,0,-83.9999)); + var_00.v["delay"] = 4.5; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9844.17,7048.41,554.212),(270,0,-83.9999)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9923.1,7978.6,465.92),(276.529,162.569,171.064)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9006.76,7769.49,320.325),(273,353,180)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9792.86,8044.91,324.546),(270,0,-21)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9391.68,7989.15,341.277),(270,0,15)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10172.2,7051.67,1639.87),(274,190.001,89.9992)); + var_00.v["delay"] = 3.5; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10060.8,6743.15,1106.23),(272,95,179)); + var_00.v["delay"] = 2.5; + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9663.21,6381.8,73.6565),(271,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9881.35,7784.16,299.159),(295.019,182.143,158.635)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9420.83,6989.47,158.683),(271,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10372.4,8152.39,310.36),(271,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7826.19,9762.91,-35.7669),(271,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9900.13,8863.79,15.3147),(271,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7780.61,7269.26,-82.8453),(271,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9902.98,7125.58,648.744),(271,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9785.16,6032.18,28.4247),(271,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7169.15,7675.41,-59.6149),(271,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12223.7,11775.5,-222.723),(271,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((11126.2,10513.7,-156.78),(271,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((11208,7892.54,89.0742),(271,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10842,8125.26,199.195),(271,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((11657.4,8130.83,-8),(271,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8844.08,10199.3,-56.7763),(271,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9822.3,7411.87,433.954),(310.836,171.138,178.494)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((880.295,-3246.25,182.909),(272,12,-90.9999)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_leak_lrg","5010"); + var_00 common_scripts\_createfx::set_origin_and_angles((6470.95,6099.64,277.424),(296.912,331.978,-86.0303)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_leak_sml","5010"); + var_00 common_scripts\_createfx::set_origin_and_angles((6613.94,5050.49,316.33),(272,315.998,90.0025)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_leak_lrg","5102"); + var_00 common_scripts\_createfx::set_origin_and_angles((6922.36,5829.64,-80),(0.690671,222.09,90.9836)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_leak_sml","5103"); + var_00 common_scripts\_createfx::set_origin_and_angles((6827.3,6457.04,79.7283),(272.071,120.609,106.124)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_leak_sml","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4992.27,4701.91,434.912),(5.01094,318.389,-78.3939)); + var_00 = common_scripts\_createfx::createexploderex("pressure_explosion_ground_lrg_02","7002"); + var_00 common_scripts\_createfx::set_origin_and_angles((13520.5,8287.68,-144),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("pressure_explosion_ground_lrg_01","7001"); + var_00 common_scripts\_createfx::set_origin_and_angles((12723.9,8321.15,-136),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("pressure_explosion_ground_lrg_01","7004"); + var_00 common_scripts\_createfx::set_origin_and_angles((13930.9,9390.48,-144),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_verylight","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6183.23,5187.69,243.125),(0,0,0)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_leak_lrg","5101"); + var_00 common_scripts\_createfx::set_origin_and_angles((6207.36,5875.39,78.2654),(357.402,190.45,-6.81345)); + var_00 = common_scripts\_createfx::createexploderex("steam_fill_area","5010"); + var_00 common_scripts\_createfx::set_origin_and_angles((7097.05,6162.5,260.378),(270,0,-52)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("ambient_explosion_gas_01","5103"); + var_00 common_scripts\_createfx::set_origin_and_angles((7392.98,5817.49,77.7017),(356.292,138.875,-0.931152)); + var_00 = common_scripts\_createfx::createexploderex("steam_fill_ground","5010"); + var_00 common_scripts\_createfx::set_origin_and_angles((6942.14,6012.91,-63.875),(270,0,137)); + var_00 = common_scripts\_createfx::createexploderex("steam_fill_ground","5103"); + var_00 common_scripts\_createfx::set_origin_and_angles((6916.35,6411.27,-63.875),(270,0,137)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("steam_fill_ground","5010"); + var_00 common_scripts\_createfx::set_origin_and_angles((7434.56,6107.24,-63.875),(270,0,137)); + var_00 = common_scripts\_createfx::createexploderex("steam_fill_ground","5010"); + var_00 common_scripts\_createfx::set_origin_and_angles((6801.53,5547.36,-63.875),(270,0,137)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_leak_sml","5010"); + var_00 common_scripts\_createfx::set_origin_and_angles((7428.65,5854.72,274.462),(291.181,154.826,-86.5391)); + var_00 = common_scripts\_createfx::createexploderex("steam_fill_ground","5010"); + var_00 common_scripts\_createfx::set_origin_and_angles((6371.78,5777.27,-63.875),(270,0,137)); + var_00.v["delay"] = 1.5; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("steam_fill_ground","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5071.54,4755.28,160),(270,0,137)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_burst_looping_lrg_02","6501"); + var_00 common_scripts\_createfx::set_origin_and_angles((8321.17,8372.8,81.0487),(273.302,60.523,135.662)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_burst_looping_lrg_01","6502"); + var_00 common_scripts\_createfx::set_origin_and_angles((8329.02,8364.75,15.125),(357.948,268.968,0.674927)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("pressure_explosion_metal_lrg_01","6500"); + var_00 common_scripts\_createfx::set_origin_and_angles((8325.35,8373.05,80.9168),(270.612,278.291,-7.33557)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_leak_lrg","6503"); + var_00 common_scripts\_createfx::set_origin_and_angles((8749.38,8583.93,57.1399),(276.103,192.236,45.3035)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_leak_lrg","6502"); + var_00 common_scripts\_createfx::set_origin_and_angles((8286.08,8362.87,56.7733),(288.71,354.703,138.353)); + var_00 = common_scripts\_createfx::createexploderex("x4walker_drop_in_dust","x4walker_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1234.38,-3411.15,-72),(270,0,113)); + var_00 = common_scripts\_createfx::createexploderex("light_rays_moving_01","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6435.78,5590.13,415.602),(357.22,221.927,0.977613)); + var_00.v["delay"] = 0.5; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("light_rays_moving_01","5101"); + var_00 common_scripts\_createfx::set_origin_and_angles((7089.44,6142.66,503.679),(357.22,221.927,0.977613)); + var_00.v["delay"] = 0.5; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("steam_fill_ground","5010"); + var_00 common_scripts\_createfx::set_origin_and_angles((7360.33,6397.72,-64),(270,0,137)); + var_00 = common_scripts\_createfx::createexploderex("steam_fill_area","5010"); + var_00 common_scripts\_createfx::set_origin_and_angles((6573.89,5595.29,243.157),(270,0,-52)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5513.04,4915.03,408),(42.0203,268.679,177.499)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5596.74,4169.3,433),(26.0885,79.0223,-155.321)); + var_00.v["delay"] = 2; + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","5103"); + var_00 common_scripts\_createfx::set_origin_and_angles((6993.86,5465.99,2.73779),(295,330,0)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","5101"); + var_00 common_scripts\_createfx::set_origin_and_angles((6485.79,6100.97,102.886),(275.397,44.6356,51.8908)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","5101"); + var_00 common_scripts\_createfx::set_origin_and_angles((6552.3,5932.88,417.15),(275.397,44.6356,51.8908)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","5102"); + var_00 common_scripts\_createfx::set_origin_and_angles((6946.49,5422.06,352.494),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","5101"); + var_00 common_scripts\_createfx::set_origin_and_angles((6837.7,6483.28,-5.181),(275.397,44.6356,51.8908)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_leak_lrg","6502"); + var_00 common_scripts\_createfx::set_origin_and_angles((8347.24,8368.13,68.1017),(284.121,322.572,-106.738)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("light_rays_moving_01","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6920.84,6242.55,629),(357.22,221.927,0.977613)); + var_00.v["delay"] = 0.5; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("light_rays_moving_01","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6317.99,5623.62,620.671),(357.22,221.927,0.977613)); + var_00.v["delay"] = 0.5; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("light_rays_moving_01","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6760.64,5793.3,695.512),(357.22,221.927,0.977613)); + var_00.v["delay"] = 0.5; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_leak_lrg","6502"); + var_00 common_scripts\_createfx::set_origin_and_angles((8332.79,8403.28,76.9292),(309.084,169.525,87.9331)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("light_rays_moving_01","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6757.03,5545.23,623.286),(357.22,221.927,0.977613)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_leak_lrg","6503"); + var_00 common_scripts\_createfx::set_origin_and_angles((8577.83,8404.45,117.87),(287.943,282.952,-92.8346)); + var_00 = common_scripts\_createfx::createexploderex("steam_fill_area_med","5104"); + var_00 common_scripts\_createfx::set_origin_and_angles((6806.28,5886.61,61),(270,0,-44)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_leak_lrg","6511"); + var_00 common_scripts\_createfx::set_origin_and_angles((9701.3,9251.2,-13.2076),(334.326,153.791,86.8438)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("steam_fill_area_med","5104"); + var_00 common_scripts\_createfx::set_origin_and_angles((7183.23,6242.72,36.125),(270,0,-44)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_burst_looping_lrg_01","6502"); + var_00 common_scripts\_createfx::set_origin_and_angles((8317.93,8353.63,11.125),(355.83,248.785,3.18505)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("steam_fill_area_med","5104"); + var_00 common_scripts\_createfx::set_origin_and_angles((6572.35,5657.12,33.125),(270,0,-44)); + var_00 = common_scripts\_createfx::createexploderex("ambient_explosion_dirt_02","6500"); + var_00 common_scripts\_createfx::set_origin_and_angles((8404.63,8132.55,-8.00002),(270.612,278.291,-7.33557)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_burst_looping_lrg_01","6511"); + var_00 common_scripts\_createfx::set_origin_and_angles((9711.67,9273.53,-10.0362),(278,331,-90)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_burst_looping_lrg_01","6521"); + var_00 common_scripts\_createfx::set_origin_and_angles((11582.7,9028.9,-71.4476),(272.433,55.9564,94.3564)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_burst_looping_lrg_01","6511"); + var_00 common_scripts\_createfx::set_origin_and_angles((9707.38,9266.74,-10.8426),(278.963,324.675,-82.645)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_leak_lrg","6511"); + var_00 common_scripts\_createfx::set_origin_and_angles((9695.8,9277.99,-22.9869),(326.434,140.184,120.595)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_burst_looping_lrg_01","6502"); + var_00 common_scripts\_createfx::set_origin_and_angles((8332.46,8341.69,14.125),(354.802,293.933,-0.70364)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("fusion_pressure_explo_leadup","6990"); + var_00 common_scripts\_createfx::set_origin_and_angles((11759.9,9610.39,-136),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7906.07,7653.48,238.518),(24.034,269.525,177.966)); + var_00 = common_scripts\_createfx::createexploderex("ambient_explosion_gas_01","5101"); + var_00 common_scripts\_createfx::set_origin_and_angles((6599.32,6224.91,86.2086),(349.866,317.179,-91.4182)); + var_00 = common_scripts\_createfx::createexploderex("ambient_explosion_gas_02","5102"); + var_00 common_scripts\_createfx::set_origin_and_angles((6924.25,5836.53,-55.875),(271.141,75.4037,-121.166)); + var_00 = common_scripts\_createfx::createexploderex("fire_pipe_leak_med","5101"); + var_00 common_scripts\_createfx::set_origin_and_angles((6597.61,6227.65,87.6306),(6,315,0)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("pressure_explosion_ground_lrg_01","7006"); + var_00 common_scripts\_createfx::set_origin_and_angles((14086.6,7577.4,-130),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("pressure_explosion_ground_lrg_02","7003"); + var_00 common_scripts\_createfx::set_origin_and_angles((13431.5,9686.21,-136),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("pressure_explosion_ground_lrg_02","7005"); + var_00 common_scripts\_createfx::set_origin_and_angles((14325.4,9826.45,-112.352),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("pressure_explosion_ground_lrg_01","7007"); + var_00 common_scripts\_createfx::set_origin_and_angles((13859.2,8283.88,-136.009),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("window_smoke_very_large","street_wall_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2152.9,-2344.53,-19.0277),(270,0,-91.0001)); + var_00 = common_scripts\_createfx::createexploderex("fire_pipe_large","1122"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2288.09,92.2648,762.447),(283.652,262.836,-135.159)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_no_light","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((1967.47,-2836.43,448.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_no_light","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((1544.55,-3729.32,57.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_no_light","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-584.779,-4958.19,-72),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_no_light","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((770.92,-4423.36,-20.4744),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_no_light","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((1826.33,-3556.68,-72),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_no_light","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-141.475,-3998.35,193),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((1832.16,-3797.97,-72),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((1246.73,-3545.7,192.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((547.803,-4188.82,180.944),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((1540.44,-3168.72,57.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((356.679,-4549.22,-72),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_glow_single_large","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8554.19,8460.4,89.1782),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_glow_single_large","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9460.76,9280.89,202.844),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_grnd_init_shkwv","7101"); + var_00 common_scripts\_createfx::set_origin_and_angles((13932.3,8801.57,-130),(270,0,-98)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_grnd_init_explosion","7102"); + var_00 common_scripts\_createfx::set_origin_and_angles((14204.4,8761.6,-136),(270,0,-102)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_tower_explo","7103"); + var_00 common_scripts\_createfx::set_origin_and_angles((14732.9,8538.49,599.24),(279.218,340.574,-77.416)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_thick_smk_up","7104"); + var_00 common_scripts\_createfx::set_origin_and_angles((15698.1,8416.07,-216.116),(270,3.34804,0.65206)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_smk_donut","7105"); + var_00 common_scripts\_createfx::set_origin_and_angles((14965.5,7087.7,60.7443),(270,0,-36)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_smk_donut","7105"); + var_00 common_scripts\_createfx::set_origin_and_angles((15206.3,9849.59,-19.5847),(270,0,166)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_smk_donut","7105"); + var_00 common_scripts\_createfx::set_origin_and_angles((14602.2,9527.27,-37.787),(270,0,-149)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_smk_donut","7105"); + var_00 common_scripts\_createfx::set_origin_and_angles((14248.6,7775.98,-21),(270,0,-53.9999)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_grnd_splinters_up","7110"); + var_00 common_scripts\_createfx::set_origin_and_angles((13442.3,8676.98,-79),(270,0,-98)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_grnd_splinters_up","7111"); + var_00 common_scripts\_createfx::set_origin_and_angles((13486.5,8290.75,-71),(270,0,-98)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_grnd_splinters_up","7109"); + var_00 common_scripts\_createfx::set_origin_and_angles((13435.4,8839.08,-109.973),(270,0,-98)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_grnd_splinters_up","7108"); + var_00 common_scripts\_createfx::set_origin_and_angles((13882.6,9546.48,-79.998),(270,0,-98)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_grnd_splinters_up","7108"); + var_00 common_scripts\_createfx::set_origin_and_angles((13461.5,8976.74,-145),(270,0,-98)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_grnd_splinters_up","7112"); + var_00 common_scripts\_createfx::set_origin_and_angles((13401,9080.37,-116),(270,0,-98)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8291.56,7073.91,-42.6774),(270,0,-92.9999)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((244.532,-3660.82,19.7274),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((356.896,-3070.8,209),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((93.5792,-3992.78,193),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((1413.12,-3739.91,332.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((941.367,-4492.19,-72),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((492.367,-3999.59,193),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-544.845,-4701.93,-52.5553),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_s_runner","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((5873.15,4862.81,397.928),(270,0,-30)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_s_runner","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((5740.36,4376.65,448.273),(270,0,-81.9999)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_s_runner","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((5405.83,4540.85,443.24),(270,0,-43)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_s_runner","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((5561.44,4572.54,448.271),(270,0,-137)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_02_s","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((6046.72,4929.07,379.905),(270,0,140)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_s_runner","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((5429.83,4396.81,432),(270,0,125)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_s_runner","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((5188.77,4591.78,435),(270,0,140)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner_single_burst","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((5741.71,4530.67,428.755),(24,185,-180)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_s_runner","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((5201.35,4909.33,422.412),(270,0,140)); + var_00 = common_scripts\_createfx::createexploderex("glass_falling_debris_01","5103"); + var_00 common_scripts\_createfx::set_origin_and_angles((6453.24,5655.21,704.404),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("glass_falling_debris_01","5103"); + var_00 common_scripts\_createfx::set_origin_and_angles((6513.3,5319.85,710.05),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("glass_falling_debris_01","5103"); + var_00 common_scripts\_createfx::set_origin_and_angles((6941.86,6301.87,720.818),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("glass_falling_debris_01","5101"); + var_00 common_scripts\_createfx::set_origin_and_angles((6438.94,5513.13,750.434),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("glass_falling_debris_01","5101"); + var_00 common_scripts\_createfx::set_origin_and_angles((6854.26,5632.29,767.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("glass_falling_debris_01","5103"); + var_00 common_scripts\_createfx::set_origin_and_angles((6278.13,5684.59,770.69),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("ambient_explosion_fireball","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((779.856,-3720.8,84.0694),(294.369,131.127,-135.84)); + var_00.v["delay"] = 1; + var_00.v["flag"] = "flag_player_zip_started"; + var_00 = common_scripts\_createfx::createexploderex("ash_cloud_freq_lrg_loop","7202"); + var_00 common_scripts\_createfx::set_origin_and_angles((12878.3,8846.62,-136),(270,0,-98)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-283.648,-3212.77,131.952),(270,157.38,1.61986)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-302.628,-3216.18,163.274),(270,157.38,1.61986)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-294.308,-3609.6,170),(270,157.38,1.61986)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-109.286,-3191.94,133),(270,157.38,1.61986)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-85.2756,-3650.47,165.819),(270,157.38,1.61986)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-411.374,-3536,180.602),(270,157.38,1.61986)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-256.205,-3159.34,137.187),(270,157.38,1.61986)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_tower_inital_crack","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((14873.5,8613.63,1070.87),(293.082,348.3,-84.8927)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_tower_inital_crack","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((14696.9,8724.18,366.988),(279.218,340.574,-77.416)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_tower_inital_crack","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((14942.8,8835.29,978.008),(279.218,340.574,-89.416)); + var_00.v["delay"] = 0.05; + var_00 = common_scripts\_createfx::createexploderex("fusion_end_tower_inital_crack","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((14708.2,8474.5,531.773),(279.218,340.574,-77.416)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("fusion_end_tower_inital_crack","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((14820.2,8401.17,934.32),(279.218,340.574,-64.416)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_tower_inital_crack","7100"); + var_00 common_scripts\_createfx::set_origin_and_angles((14673.4,8255.13,374.06),(279.218,340.574,-64.416)); + var_00.v["delay"] = 0.15; + var_00 = common_scripts\_createfx::createexploderex("fusion_end_rollingsmk","7203"); + var_00 common_scripts\_createfx::set_origin_and_angles((13179.7,8862.7,-130),(272.592,267.156,-0.883201)); + var_00 = common_scripts\_createfx::createexploderex("dust_impact_ground_lrg","6512"); + var_00 common_scripts\_createfx::set_origin_and_angles((10376.3,9088.42,-9.41539),(270,0,170)); + var_00.v["delay"] = 0.7; + var_00 = common_scripts\_createfx::createexploderex("impact_scorchmark_med","6512"); + var_00 common_scripts\_createfx::set_origin_and_angles((10227.9,9098.96,-11),(270,0,-101)); + var_00.v["delay"] = 0.6; + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8382.35,5896.09,-86.2941),(270,0,-101)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9620.69,8620.14,20.3295),(270,0,-92.9999)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1794.74,-2677.52,316.588),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-850.486,-2474.01,260.277),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1900.84,428.117,439.677),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-729.711,-1776.12,213.25),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-949.57,2636.52,379.311),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8805.76,6320.28,405.69),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6986.48,7706.58,479.724),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10146.5,10416.6,192.895),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_no_light","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8905.21,7555.25,52.021),(284.823,182.991,128.105)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8320.52,7338.45,-42.3102),(270,0,-136)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9520.67,7995.86,139.826),(270,0,-136)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9744.21,7677.18,258.097),(270,0,-136)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9109.63,6993.33,64.9642),(270,0,-136)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7378.5,7537.14,-59.132),(270,0,-136)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9426.45,8747.65,0),(270,0,-136)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((11253.3,9400.73,-81.2034),(270,0,-136)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9893.13,8359.73,126.758),(270,0,-136)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((11611.2,8337.58,7.50015),(270,0,-136)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((11264.4,9392.89,134.595),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8494.35,6113.77,-64),(270,0,-136)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8637.61,5787.99,-65.2999),(270,0,-136)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s","6512"); + var_00 common_scripts\_createfx::set_origin_and_angles((10465.3,9002.96,-16.0875),(270,0,-101)); + var_00.v["delay"] = 0.6; + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((11180.1,9449.77,-114.004),(270,0,-136)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8055.14,6773.4,2.68654),(270,0,-136)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7617.31,6850.87,92.9428),(270,0,-136)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1137.89,-1767.13,2.08967),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-986.544,974.692,-38.6458),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1953.67,413.966,-92.5768),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1579.01,1295.95,-72),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1432,2032.47,-81.7724),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_smk_s","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9358.83,7270.08,131.289),(270,0,-136)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_falling_debris","7205"); + var_00 common_scripts\_createfx::set_origin_and_angles((13129.5,9216.93,-136),(270,0,-98)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_falling_debris","7206"); + var_00 common_scripts\_createfx::set_origin_and_angles((13119.2,8900.84,-136),(270,0,-98)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_falling_rocks","7201"); + var_00 common_scripts\_createfx::set_origin_and_angles((12942.5,8769.77,-136),(270,0,-98)); + var_00 = common_scripts\_createfx::createexploderex("ambient_explosion_fireball_a_no_decal","street_wall_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2106.08,-2332.03,34.2669),(352.443,349.452,4.84024)); + var_00 = common_scripts\_createfx::createexploderex("ambient_explosion_fireball","street_building_top_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2524.67,1596.32,311.125),(328,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_no_light","street_wall_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2359.3,-2310.49,-4.64311),(270,0,170)); + var_00.v["delay"] = 1; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("firelp_med","street_wall_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2502.57,-2302.66,2.125),(270,0,0)); + var_00.v["delay"] = 1; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("room_smoke_black_ember_lrg","street_wall_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2506.11,-2457.11,-11.875),(270,0,0)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","street_wall_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2867.66,-2272.29,327.222),(270,0,0)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("firelp_med","street_wall_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2133.75,-2457.11,-8.4883),(270,0,0)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("fusion_end_falling_rocks","7201"); + var_00 common_scripts\_createfx::set_origin_and_angles((13068.7,9013.48,-136),(270,0,-98)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("fusion_end_falling_rock_sparkfoun","7201"); + var_00 common_scripts\_createfx::set_origin_and_angles((13200,8766.28,-128.198),(270,0,-98)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_falling_rock_sparkfoun","7201"); + var_00 common_scripts\_createfx::set_origin_and_angles((13270.8,9166.9,-136),(270,0,-98)); + var_00.v["delay"] = 8; + var_00 = common_scripts\_createfx::createexploderex("fusion_end_pillar_burst","7300"); + var_00 common_scripts\_createfx::set_origin_and_angles((15119.9,9040.31,2045.56),(279.218,340.574,-113.416)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_pillar_burst","7301"); + var_00 common_scripts\_createfx::set_origin_and_angles((15142.5,7871.12,2571.59),(298.138,32.337,-56.9912)); + var_00 = common_scripts\_createfx::createexploderex("vehicle_fireball_explosion_01","6522"); + var_00 common_scripts\_createfx::set_origin_and_angles((11579,8877.46,12.5918),(270,0,0)); + var_00.v["delay"] = 0.65; + var_00 = common_scripts\_createfx::createexploderex("fireball_explosion_directional_01","6522"); + var_00 common_scripts\_createfx::set_origin_and_angles((11505.9,8775.38,-5.6993),(340.808,216.278,-179.609)); + var_00.v["delay"] = 0.75; + var_00 = common_scripts\_createfx::createexploderex("fireball_explosion_directional_01","6522"); + var_00 common_scripts\_createfx::set_origin_and_angles((11566.6,8874.06,-21.5362),(355.209,111.652,-166.804)); + var_00.v["delay"] = 0.75; + var_00 = common_scripts\_createfx::createexploderex("impact_scorchmark_sml","6522"); + var_00 common_scripts\_createfx::set_origin_and_angles((11545.9,8806.47,-28.151),(275,26,90.0001)); + var_00.v["delay"] = 0.75; + var_00 = common_scripts\_createfx::createexploderex("fusion_falling_debris_tower","7208"); + var_00 common_scripts\_createfx::set_origin_and_angles((15109.7,8465.94,2177.63),(270,0,-98)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_pillar_burst","7302"); + var_00 common_scripts\_createfx::set_origin_and_angles((15033.6,8434.08,2829.67),(286.654,129.617,101.243)); + var_00 = common_scripts\_createfx::createexploderex("fusion_falling_debris_tower","7207"); + var_00 common_scripts\_createfx::set_origin_and_angles((14873.9,8499.09,1302.04),(270,0,-98)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_pillar_burst","7303"); + var_00 common_scripts\_createfx::set_origin_and_angles((15335.7,8996.13,2929.37),(359.272,190.979,1.95737)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_smk_donut_looping","7400"); + var_00 common_scripts\_createfx::set_origin_and_angles((13751.2,8839.03,-120),(270,0,-113)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_rollingsmk_slow","7204"); + var_00 common_scripts\_createfx::set_origin_and_angles((13188.5,8857.44,-130),(272.592,267.156,-0.883201)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_rollingsmk_slow1","7299"); + var_00 common_scripts\_createfx::set_origin_and_angles((13277.4,8846.96,-128.166),(272.592,267.156,-0.883201)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_no_light","6512"); + var_00 common_scripts\_createfx::set_origin_and_angles((10426.7,9066.09,36.197),(270,0,-101)); + var_00.v["delay"] = 0.6; + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2338.09,-26892.3,2625.07),(270,0,-163)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1559.27,-24616.1,2636.77),(270,0,-163)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-166.236,-23171.5,2586.14),(270,0,-163)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3395.89,-29724.1,2529.8),(270,0,-163)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2419.22,-29153,2527.71),(270,0,-163)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((340.319,-22238.4,2679.79),(270,0,-163)); + var_00 = common_scripts\_createfx::createexploderex("concrete_impact_large_chunks","street_building_top_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2514.15,1602.13,306.06),(328,0,0)); + var_00 = common_scripts\_createfx::createexploderex("parking_garage_chunk_impacts","street_building_top_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1768.45,1559.88,-72),(270,0,89.9999)); + var_00.v["delay"] = 0.85; + var_00.v["flag"] = "none"; + var_00 = common_scripts\_createfx::createexploderex("fusion_light_point_streetlamp_flicker","6026"); + var_00 common_scripts\_createfx::set_origin_and_angles((13235.2,8584.2,-56.3994),(0,0,0.500001)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_no_light","6522"); + var_00 common_scripts\_createfx::set_origin_and_angles((11535.2,8767.91,-26.7595),(273.084,34.3904,93.629)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("fusion_end_pillar_burst","7304"); + var_00 common_scripts\_createfx::set_origin_and_angles((15105.2,9129.5,1662.1),(279.218,340.574,-93.4159)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_pillar_burst","7305"); + var_00 common_scripts\_createfx::set_origin_and_angles((15028.1,7769.37,1616.78),(282.336,63.8647,-77.1321)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_rollingsmk_thick","7211"); + var_00 common_scripts\_createfx::set_origin_and_angles((13167.9,8866.4,-130),(272.592,267.156,-0.883201)); + var_00 = common_scripts\_createfx::createexploderex("fusion_garage_explosion_arms","street_building_top_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2514.15,1602.13,306.06),(328,0,0)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6522"); + var_00 common_scripts\_createfx::set_origin_and_angles((11503,8962.03,-32.9476),(271.152,238.912,153.06)); + var_00.v["delay"] = 0.75; + var_00 = common_scripts\_createfx::createexploderex("heli_dust_warbird_placed","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((3532.51,-34240.5,-40.8818),(270,0,0)); + var_00.v["flag"] = "fx_cliff_heli_dust"; + var_00 = common_scripts\_createfx::createexploderex("heli_dust_warbird_placed","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((3699.45,-33850.7,-16.045),(270,0,0)); + var_00.v["delay"] = 0.1; + var_00.v["flag"] = "fx_cliff_heli_dust"; + var_00 = common_scripts\_createfx::createexploderex("heli_dust_warbird_placed","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((3900.75,-33344.3,-41.8273),(279.045,123.138,-148.056)); + var_00.v["delay"] = 0.2; + var_00.v["flag"] = "fx_cliff_heli_dust"; + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_no_light","street_building_top_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2532.39,1549.11,287.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fusion_battlefield_smoke_l_shadow","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((2733.38,-3431.18,64.125),(270,0,-24)); + var_00 = common_scripts\_createfx::createexploderex("fusion_battlefield_smoke_l_shadow","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3355.93,-3918.28,141.719),(270,0,-10.9999)); + var_00 = common_scripts\_createfx::createexploderex("fusion_battlefield_smoke_l_shadow","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((6630.47,-5564.97,162.41),(270,0,-37)); + var_00 = common_scripts\_createfx::createexploderex("fusion_battlefield_smoke_l_shadow","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((4323.73,-4698.68,-91.2706),(270,0,-15)); + var_00 = common_scripts\_createfx::createexploderex("fusion_battlefield_smoke_l_shadow","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((4598.65,-3476.66,-9.70496),(273.697,37.4384,-53.9999)); + var_00 = common_scripts\_createfx::createexploderex("fusion_battlefield_smoke_l_light","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((6959.02,-7329.93,328.026),(270,0,-16)); + var_00 = common_scripts\_createfx::createexploderex("fusion_battlefield_smoke_l_shadow","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((5541.75,-6519.92,-21.69),(270,0,-27)); + var_00 = common_scripts\_createfx::createexploderex("fusion_battlefield_smoke_l_light","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((4917.85,-6510.54,302.175),(270,0,-22)); + var_00 = common_scripts\_createfx::createexploderex("fusion_battlefield_smoke_l_shadow","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3983.4,-3366.37,153.758),(273.697,37.4384,-56)); + var_00 = common_scripts\_createfx::createexploderex("fusion_battlefield_smoke_l_light","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((7512.58,-7428.75,1260.11),(9.60205,32.948,0)); + var_00 = common_scripts\_createfx::createexploderex("fusion_battlefield_smoke_l_shadow","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((2478.35,-5101.56,-147.378),(270,0,-30)); + var_00 = common_scripts\_createfx::createexploderex("fusion_battlefield_smoke_l_shadow","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((5777.6,-3844.87,-7.29056),(273.697,37.4384,-53.9999)); + var_00 = common_scripts\_createfx::createexploderex("fusion_battlefield_smoke_l_shadow","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3208.14,-2606.08,443),(270,0,-15.9999)); + var_00 = common_scripts\_createfx::createexploderex("fusion_battlefield_smoke_l_light","1028"); + var_00 common_scripts\_createfx::set_origin_and_angles((10233.5,-7714.39,825.209),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fusion_battlefield_smoke_l_light","1028"); + var_00 common_scripts\_createfx::set_origin_and_angles((11600.9,-6652.14,1246.38),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fusion_battlefield_smoke_l_light","1028"); + var_00 common_scripts\_createfx::set_origin_and_angles((12413.9,-8204.12,1432.92),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fusion_battlefield_smoke_l_light","1028"); + var_00 common_scripts\_createfx::set_origin_and_angles((13056.3,-7191.26,1382.22),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fusion_battlefield_smoke_l_shadow","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3379.07,-5251.44,13.0313),(270,0,-10.9999)); + var_00 = common_scripts\_createfx::createexploderex("fusion_battlefield_smoke_l_shadow","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((4602.55,-2622.33,144.811),(273.697,37.4384,-53.9999)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_thick_smk_up_tall","7401"); + var_00 common_scripts\_createfx::set_origin_and_angles((15583.3,8526.75,-186.9),(270,3.34804,0.65206)); + var_00 = common_scripts\_createfx::createexploderex("fusion_end_bouncing_rocks","7209"); + var_00 common_scripts\_createfx::set_origin_and_angles((12708.2,8958.51,-136),(270,0,8)); + var_00 = common_scripts\_createfx::createexploderex("concrete_impact_xl_chunks_smoky","7403"); + var_00 common_scripts\_createfx::set_origin_and_angles((14987.8,8568.32,-186.479),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("concrete_impact_xl_chunks_smoky","7404"); + var_00 common_scripts\_createfx::set_origin_and_angles((14297.3,7235.68,-136),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("concrete_impact_xl_chunks_smoky","7404"); + var_00 common_scripts\_createfx::set_origin_and_angles((14109.2,7323.51,-136),(270,0,0)); + var_00.v["delay"] = 0.2; + var_00 = common_scripts\_createfx::createexploderex("concrete_impact_xl_chunks_smoky","7404"); + var_00 common_scripts\_createfx::set_origin_and_angles((14101.2,7114.07,-136),(270,0,0)); + var_00.v["delay"] = 0.4; + var_00 = common_scripts\_createfx::createexploderex("concrete_impact_xl_chunks_smoky","7405"); + var_00 common_scripts\_createfx::set_origin_and_angles((14806.9,9704.86,-136),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("concrete_impact_xl_chunks_smoky","7402"); + var_00 common_scripts\_createfx::set_origin_and_angles((14468,9512.17,-128),(277,90,-90)); + var_00 = common_scripts\_createfx::createexploderex("turbine_explosion_init_burst_spurt_r","turbine_looping_steam_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((6701.15,1842.97,121.129),(292.937,233.495,95.5498)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("turbine_explosion_init_burst_spurt_r","turbine_looping_steam_fx_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((6631.82,2068.35,70.1733),(310,89.9997,-89.9998)); + var_00 = common_scripts\_createfx::createexploderex("turbine_explosion_init_burst_spurt_r","turbine_looping_steam_fx_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((6622.3,1923.97,111.703),(285,270.001,89.9993)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("turbine_explosion_initital_burst_short_2","turbine_room_spark_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((6623.15,1925.33,117.475),(272,244.001,89.9991)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("turbine_explosion_initital_burst_short_2","turbine_room_spark_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((6632.05,2072.28,63.9843),(299.594,68.5048,-92.3574)); + var_00 = common_scripts\_createfx::createexploderex("turbine_explosion_init_burst_spurt_r","turbine_looping_steam_fx_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((7114.48,1576.56,159.84),(304.375,238.905,91.3437)); + var_00 = common_scripts\_createfx::createexploderex("turbine_explosion_initital_burst_short_2","turbine_room_spark_steam_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((7109.54,1578.12,159.466),(302.446,244.624,92.1692)); + var_00 = common_scripts\_createfx::createexploderex("turbine_explo_damage","turbine_explosion_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((6626.64,1844.8,82.7481),(294,243,180)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","turbine_damage_sparks"); + var_00 common_scripts\_createfx::set_origin_and_angles((6570.5,1896.65,90.1535),(273,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","turbine_damage_sparks"); + var_00 common_scripts\_createfx::set_origin_and_angles((6671.8,1819.96,90.5021),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_patch_light","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((2782.56,3855.79,-545),(270,0,-60.9999)); + var_00 = common_scripts\_createfx::createexploderex("light_dust_particles_far","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((3210.66,3719.38,-600.875),(272.965,111.005,-91.0045)); + var_00 = common_scripts\_createfx::createexploderex("light_dust_particles_far","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4911.93,2409.26,-600.875),(275,249,11.0001)); + var_00 = common_scripts\_createfx::createexploderex("light_dust_particles_far","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4701.79,3606.02,-600.875),(272.965,111.005,-142.004)); + var_00 = common_scripts\_createfx::createexploderex("light_dust_particles_far","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((3876.67,1867.14,-600.875),(275,249,-34.9999)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_patch_light","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((5139.1,2198,-545),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("reactor_cntrl_rm_light_ray_1","3310"); + var_00 common_scripts\_createfx::set_origin_and_angles((4257.85,4299.75,-329.058),(359.93,78.0011,179.001)); + var_00 = common_scripts\_createfx::createexploderex("reactor_cntrl_rm_light_ray_1","3310"); + var_00 common_scripts\_createfx::set_origin_and_angles((4459.79,4229.74,-329.892),(359.809,72.0024,179.016)); + var_00 = common_scripts\_createfx::createexploderex("reactor_cntrl_rm_light_ray_1","3310"); + var_00 common_scripts\_createfx::set_origin_and_angles((4586.52,4168.43,-327.989),(0.644762,69.9706,177.908)); + var_00 = common_scripts\_createfx::createexploderex("reactor_cntrl_rm_light_ray_1","3310"); + var_00 common_scripts\_createfx::set_origin_and_angles((4770.7,4060.56,-329.197),(359.469,51.0047,179.15)); + var_00 = common_scripts\_createfx::createexploderex("turbine_rm_grnd_steam_lp","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5402.12,936.257,-96),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("turbine_rm_grnd_steam_lp","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((6041.17,1369.41,-96),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("turbine_rm_grnd_steam_lp","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((6480.21,2016.42,-96),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("turbine_door_grnd_steam","3501"); + var_00 common_scripts\_createfx::set_origin_and_angles((4871.31,971.717,-95.875),(270,0,0)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_05_runner","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4761.17,2534.38,95.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_05_runner","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((3236.96,3573.88,65.98),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_05_runner","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((3375.78,2071.12,54.5979),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_05_runner","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4211.5,2030.75,40.548),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_05_runner","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((2902.05,2860.15,66.0079),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_05_runner","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4567.18,3572.36,85.1352),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_04_s","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((6398.21,3396.87,423.875),(270,0,18)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_04_s","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((6185.13,3201.27,423.875),(270,0,18)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_04_s","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((6410.1,3689.81,423.875),(270,0,18)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_04_s","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((6667.23,3220.62,423.875),(270,0,18)); + var_00.v["delay"] = 0.75; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_04_s","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((6470.06,3219.5,414.776),(270,0,18)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_04_s","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((6278.08,3375.39,423.875),(270,0,18)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_04_s","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((6242.74,3648.61,423.875),(270,0,18)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_04_s","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((6105.85,3433.1,423.875),(270,0,18)); + var_00.v["delay"] = 0.75; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_04_s","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((6613.19,3621.55,423.875),(270,0,18)); + var_00.v["delay"] = 1.25; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_04_s","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((6746.88,3052.46,423.875),(270,0,18)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_04_s","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((6398.93,2974.18,417.034),(270,0,18)); + var_00.v["delay"] = 2; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_04_s","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((6332.48,3194.36,417.88),(270,0,18)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_04_s","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((6387.95,3553.78,423.875),(270,0,18)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_04_s","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((6650.26,3499.97,423.875),(270,0,18)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_04_s","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((6516.39,3296.24,423.875),(270,0,18)); + var_00.v["delay"] = 0.85; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_04_s","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((6160.42,3449.68,423.875),(270,0,18)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_04_s","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((6202.87,3328.54,423.875),(270,0,18)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_04_s","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((6570.61,3472.76,423.875),(270,0,18)); + var_00.v["delay"] = 1.5; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_04_s","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((6373.36,3208.67,423.875),(270,0,18)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_04_s","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((6213.01,3180.76,407.875),(270,0,18)); + var_00.v["delay"] = 2.25; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_04_s","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((6448.33,3238.84,419.906),(270,0,18)); + var_00.v["delay"] = 2.5; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_04_s","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((6291.91,3180.27,423.875),(270,0,18)); + var_00.v["delay"] = 3; + var_00 = common_scripts\_createfx::createexploderex("control_room_glass_shatter","4005"); + var_00 common_scripts\_createfx::set_origin_and_angles((7070.95,3300.85,242.375),(0,0,0)); + var_00.v["delay"] = 0.2; + var_00 = common_scripts\_createfx::createexploderex("control_room_glass_shatter","4005"); + var_00 common_scripts\_createfx::set_origin_and_angles((7085.82,3249.99,241.118),(0,16,0)); + var_00.v["delay"] = 0.3; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("control_room_glass_shatter","4005"); + var_00 common_scripts\_createfx::set_origin_and_angles((7101.51,3186.26,240.97),(0,12,0)); + var_00.v["delay"] = 0.4; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("control_room_glass_shatter","4005"); + var_00 common_scripts\_createfx::set_origin_and_angles((6887.24,3823.31,240.665),(0,23,0)); + var_00.v["delay"] = 0.4; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("control_room_glass_shatter","4005"); + var_00 common_scripts\_createfx::set_origin_and_angles((6912.26,3763.21,240.91),(0,19,0)); + var_00.v["delay"] = 0.3; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("control_room_glass_shatter","4005"); + var_00 common_scripts\_createfx::set_origin_and_angles((6936.36,3700.94,240.702),(2.99588,20.0041,0.15715)); + var_00.v["delay"] = 0.2; + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","4005"); + var_00 common_scripts\_createfx::set_origin_and_angles((6793.69,2996.37,243.741),(0,113,0)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","4005"); + var_00 common_scripts\_createfx::set_origin_and_angles((6409.27,3862.67,211.178),(0,292,0)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","4005"); + var_00 common_scripts\_createfx::set_origin_and_angles((6345.29,3212.86,408.007),(58.6902,53.1195,3.44287)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_leak_sml","4005"); + var_00 common_scripts\_createfx::set_origin_and_angles((6491.92,3113.16,420.198),(352.222,114.587,-128.11)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_leak_sml","4005"); + var_00 common_scripts\_createfx::set_origin_and_angles((6392.49,3656.54,419.554),(353.459,116.171,-68.3069)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_leak_sml","4005"); + var_00 common_scripts\_createfx::set_origin_and_angles((6153.25,3376.06,419.133),(339.566,126.446,-91.1356)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("steam_fill_area","4005"); + var_00 common_scripts\_createfx::set_origin_and_angles((6185.28,3561.56,202.125),(271.777,298.584,176.699)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("steam_fill_area","4005"); + var_00 common_scripts\_createfx::set_origin_and_angles((6654.33,3239.64,188.572),(271.777,298.584,176.699)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("control_room_glass_shatter","4005"); + var_00 common_scripts\_createfx::set_origin_and_angles((7047.22,3365.93,242.365),(0,15,0)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("reactor_rm_reveal_dust","3301"); + var_00 common_scripts\_createfx::set_origin_and_angles((2693.65,4156.37,-372.543),(271.684,309.318,5.84447)); + var_00.v["delay"] = 4.5; + var_00 = common_scripts\_createfx::createexploderex("reactor_rm_reveal_light_rays","3302"); + var_00 common_scripts\_createfx::set_origin_and_angles((2689.3,4113.37,-391.479),(270,0,71.9998)); + var_00.v["delay"] = 6.5; + var_00 = common_scripts\_createfx::createexploderex("reactor_rm_reveal_light_rays_a","3303"); + var_00 common_scripts\_createfx::set_origin_and_angles((2689.3,4113.37,-391.479),(270,0,71.9998)); + var_00.v["delay"] = 8.5; + var_00 = common_scripts\_createfx::createexploderex("reactor_rm_reveal_light_rays_b","3304"); + var_00 common_scripts\_createfx::set_origin_and_angles((2689.3,4113.37,-391.479),(270,0,71.9998)); + var_00.v["delay"] = 9.5; + var_00 = common_scripts\_createfx::createexploderex("amb_dust_patch_light","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4641.53,1686.54,-545),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_06","3201"); + var_00 common_scripts\_createfx::set_origin_and_angles((2730.84,4327.49,-393.062),(272.675,312.984,-86.819)); + var_00.v["delay"] = 0.6; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_06","3201"); + var_00 common_scripts\_createfx::set_origin_and_angles((2623.5,4212.54,-397.22),(271.684,309.318,-85.1554)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_light_06","3202"); + var_00 common_scripts\_createfx::set_origin_and_angles((2663.7,4406.35,-416.241),(271.684,309.318,-84.1555)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("dust_impact_ground_sm","3201"); + var_00 common_scripts\_createfx::set_origin_and_angles((2633.64,4233.07,-531.084),(271.684,309.318,-85.1554)); + var_00.v["delay"] = 0.7; + var_00 = common_scripts\_createfx::createexploderex("dust_impact_ground_sm","3201"); + var_00 common_scripts\_createfx::set_origin_and_angles((2726.23,4320.89,-531.084),(272.675,312.984,-86.819)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("dust_impact_ground_sm","3202"); + var_00 common_scripts\_createfx::set_origin_and_angles((2666.34,4404.8,-532.214),(271.684,309.318,-84.1555)); + var_00.v["delay"] = 1.9; + var_00 = common_scripts\_createfx::createexploderex("turbine_steam_spray_lp","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5285.7,1268.6,-38.8369),(0,355,0)); + var_00 = common_scripts\_createfx::createexploderex("turbine_steam_spray_lp","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5869.53,750.81,-43.1613),(0,326,0)); + var_00 = common_scripts\_createfx::createexploderex("turbine_steam_spray_lp","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((6133.5,453.801,215.57),(0,263,0)); + var_00 = common_scripts\_createfx::createexploderex("turbine_steam_spray_lp","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((6292.87,921.789,296.516),(50,189,0)); + var_00 = common_scripts\_createfx::createexploderex("turbine_steam_spray_lp","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5721.8,505.44,221.513),(0,42.9998,0)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("turbine_steam_spray_lp","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((6228.75,570.989,239.556),(0,1.99978,0)); + var_00 = common_scripts\_createfx::createexploderex("turbine_steam_spray_lp","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((6499.64,1049.87,263.051),(0,308,0)); + var_00 = common_scripts\_createfx::createexploderex("turbine_steam_spray_lp","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((6464.21,1070.49,216.193),(0,159,0)); + var_00 = common_scripts\_createfx::createexploderex("turbine_steam_spray_lp","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((6570.99,1078.94,111.241),(0,203,0)); + var_00 = common_scripts\_createfx::createexploderex("turbine_steam_spray_lp","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5838.36,739.716,91.0477),(0,237,0)); + var_00 = common_scripts\_createfx::createexploderex("turbine_steam_volume_lp","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5485.07,707.635,470.224),(0,42.9998,0)); + var_00 = common_scripts\_createfx::createexploderex("turbine_steam_volume_lp","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((6180.02,668.883,490.313),(0,42.9998,0)); + var_00 = common_scripts\_createfx::createexploderex("turbine_steam_volume_lp","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5979.23,1103.61,465),(0,42.9998,0)); + var_00 = common_scripts\_createfx::createexploderex("fus_turbine_steam_volume_sm_lp","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((7123.45,1775.17,472.074),(0,142.998,0)); + var_00 = common_scripts\_createfx::createexploderex("turbine_steam_volume_lp","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((6347.88,1548.99,458.038),(0,42.9998,0)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1712.15,3202.67,93.6405),(359.952,160.698,0.191665)); + var_00 = common_scripts\_createfx::createexploderex("light_dust_particles_small","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1486.46,3024.58,-24.875),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_dust_particles_small","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((651.574,3007.25,-21.875),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("lobby_screen_distort","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1676.96,2970.22,79.0464),(0,182,0)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("lobby_screen_distort","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1686.41,2896.62,-8.34448),(0,188,0)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("lobby_screen_distort","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1684.51,2895.97,78.1182),(0,188,0)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("lobby_screen_distort","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1699.69,2822.61,78.5982),(0,193,0)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("lobby_screen_distort","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1699.89,2825.61,-5.97243),(0,195,0)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("elevator_open_light_rays","elevator_door_open_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((1600.34,3495.89,28.9085),(0,180.916,0)); + var_00.v["delay"] = 2.6; + var_00 = common_scripts\_createfx::createexploderex("water_crawl","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((744.388,3350.72,-418.125),(270,349.745,10.2553)); + var_00 = common_scripts\_createfx::createexploderex("water_crawl","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((1760.77,3340.03,-405.349),(270,349.745,10.2553)); + var_00 = common_scripts\_createfx::createexploderex("water_crawl","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((912.006,3449.6,-418.125),(270,349.745,10.2553)); + var_00 = common_scripts\_createfx::createexploderex("water_crawl","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((799.888,3509.4,-418.125),(270,349.745,10.2553)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((637.363,3788.74,-424.812),(270,349.745,10.2553)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((785.732,2453.36,143.875),(359.946,310.698,-0.190036)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_white","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((3627.1,3313.13,-445.077),(8.99938,121,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("fus_amb_dust_reactor","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((3096.69,3160.02,-64.875),(270,0,-60.9999)); + var_00 = common_scripts\_createfx::createexploderex("fus_amb_dust_reactor","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4028.01,3712.05,-64.875),(270,0,-60.9999)); + var_00 = common_scripts\_createfx::createexploderex("fus_amb_dust_reactor","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((3765.14,2031.85,-64.875),(270,0,-60.9999)); + var_00 = common_scripts\_createfx::createexploderex("fus_amb_dust_reactor","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4506.33,2283.49,-64.875),(270,0,-60.9999)); + var_00 = common_scripts\_createfx::createexploderex("fus_amb_dust_reactor","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((3116.4,2597.24,-62.3951),(270,0,-60.9999)); + var_00 = common_scripts\_createfx::createexploderex("fus_amb_dust_reactor","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4679.98,3116.66,-78.3685),(270,0,-60.9999)); + var_00 = common_scripts\_createfx::createexploderex("fus_cover_deploy_impact","fx_cover_deploy_impact"); + var_00 common_scripts\_createfx::set_origin_and_angles((4772.47,1044.21,-508.875),(270,0,0)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("vehicle_damaged_sparks_l","turbine_explosion_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((6510.21,2037.48,66),(0.156351,153.72,-89.9211)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("vehicle_damaged_sparks_l","turbine_explosion_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((6444.97,1897.64,-9.68819),(0.156351,153.72,-89.9211)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("fus_turbine_dmg_smk","turbine_explosion_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((6475.08,2016.4,-43.8301),(0.156349,153.72,0)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("fusion_light_yellow_rotate","3466"); + var_00 common_scripts\_createfx::set_origin_and_angles((4497.09,1099.24,-424.765),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fusion_light_point_blue_monitors","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4102.41,4510.88,-317.7),(270,0,0)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("fusion_light_point_blue_monitors","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4924.75,4182.9,-327.475),(270,0,0)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("fusion_light_fill_blue_kiosk","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((1730.98,3448.59,-489.835),(270,0,0)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe","elevator_door_open_fx"); + var_00 common_scripts\_createfx::set_origin_and_angles((1658.55,3696.91,55.117),(0,180.916,0)); + var_00.v["delay"] = 2.6; + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((1111.89,2822.47,-434.54),(0,92.9157,0)); + var_00 = common_scripts\_createfx::createexploderex("light_red_strobe","3200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2047.29,4741.46,-388.354),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_red_strobe","3200"); + var_00 common_scripts\_createfx::set_origin_and_angles((2153.13,4847.47,-389.895),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((725.977,4425.81,-428.892),(0,347.915,0)); + var_00 = common_scripts\_createfx::createexploderex("light_red_strobe","3400"); + var_00 common_scripts\_createfx::set_origin_and_angles((3885.12,52.0386,-388.635),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_red_strobe","3400"); + var_00 common_scripts\_createfx::set_origin_and_angles((3736.02,51.7162,-389.813),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe","3400"); + var_00 common_scripts\_createfx::set_origin_and_angles((4335.63,370.952,-432.197),(360,270.916,0)); + var_00 = common_scripts\_createfx::createexploderex("fusion_light_ctrl_room_monitor","4005"); + var_00 common_scripts\_createfx::set_origin_and_angles((6352.91,3301.65,181.143),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fusion_light_ctrl_room_monitor","4005"); + var_00 common_scripts\_createfx::set_origin_and_angles((6345.23,3272.97,181.441),(270,0,0)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("control_room_fire_residual","4005"); + var_00 common_scripts\_createfx::set_origin_and_angles((6863.65,3634.26,168.125),(270.617,61.8213,136.446)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("control_room_fire_residual","4005"); + var_00 common_scripts\_createfx::set_origin_and_angles((6975.65,3477.99,168.125),(270.617,61.8213,136.446)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("fusion_light_ctrl_room_fill","4005"); + var_00 common_scripts\_createfx::set_origin_and_angles((6283.85,3320.99,212.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1050.68,2998.36,-31.875),(270.858,184.134,177.801)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((552,2997.5,-31.875),(270.858,184.134,177.801)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((1638.94,3314.19,-539.875),(271,359.916,180)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_sml","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((1736.12,2886.69,-538.875),(271,359.916,180)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_sml","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((899.506,2886.86,-543.875),(271,359.916,180)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((895.595,2644.65,-543.875),(271,359.916,180)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((864.021,3600.73,-543.875),(271,359.916,180)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_sml","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((406.907,3677.5,-543.875),(271,359.916,180)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_sml","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((799.831,3959.87,-543.875),(271,359.916,180)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_sml","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((1232.5,2888.14,-543.875),(271,359.916,180)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_05","3350"); + var_00 common_scripts\_createfx::set_origin_and_angles((1573.31,3611.88,152.754),(270,64.3342,-64.3341)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_sml","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((831.799,4466.82,-544),(271,359.916,180)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((1067.92,4899,-543.875),(271,359.916,180)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_sml","3200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1409.97,4467.24,-543.875),(271,359.916,180)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_sml","3200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1777.97,4152.22,-543.875),(271,359.916,180)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_sml","3200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1868.53,4521.45,-543.875),(271,359.916,180)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust","3200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1915.27,4967.35,-543.875),(271,359.916,180)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_sml","3400"); + var_00 common_scripts\_createfx::set_origin_and_angles((4691.93,973.492,-543.875),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_sml","3400"); + var_00 common_scripts\_createfx::set_origin_and_angles((4579.71,963.292,-309.875),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_sml","3400"); + var_00 common_scripts\_createfx::set_origin_and_angles((4678.54,938.471,-95.875),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fus_cover_deploy_impact","fx_cover_deploy_impact_delay"); + var_00 common_scripts\_createfx::set_origin_and_angles((4774.48,904.849,-349.875),(270,0,0)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((1530.45,2961.8,-475.826),(271,270,90)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks_runner","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((1282.81,2841.39,-425.765),(271,270,90)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_column_lp","3350"); + var_00 common_scripts\_createfx::set_origin_and_angles((1573.38,3611.88,200.908),(270,64.3342,-64.3341)); + var_00.v["delay"] = 2; + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_sml","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((7196.91,3157.46,168),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_sml","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((6999.36,3796.46,168),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_sml","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((6785.7,4208.61,168),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fus_vent_air_flow","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((1737.77,3244.54,-428.875),(271,359.916,-180)); + var_00 = common_scripts\_createfx::createexploderex("fus_vent_air_flow","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((1737.74,3352.03,-428.874),(271,359.916,-180)); + var_00 = common_scripts\_createfx::createexploderex("fus_vent_air_flow","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((901.035,2890.21,-428.197),(271,359.916,-180)); + var_00 = common_scripts\_createfx::createexploderex("fus_vent_air_flow","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((668.997,2889.09,-428.427),(271,359.916,-180)); + var_00 = common_scripts\_createfx::createexploderex("fus_vent_air_flow","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((969.675,2669.36,-430.984),(271,359.916,-180)); + var_00 = common_scripts\_createfx::createexploderex("fus_vent_air_flow","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((1157.34,3791.98,-426.991),(271,359.916,-180)); + var_00 = common_scripts\_createfx::createexploderex("fus_vent_air_flow","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((778.458,3309.76,-426.499),(271,359.916,-180)); + var_00 = common_scripts\_createfx::createexploderex("fus_vent_air_flow","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((779.012,3406.68,-426.919),(271,359.916,-180)); + var_00 = common_scripts\_createfx::createexploderex("fus_vent_air_flow","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((1157.07,3669.42,-427.102),(271,359.916,-180)); + var_00 = common_scripts\_createfx::createexploderex("fus_vent_air_flow","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((891.816,4659.36,-428.489),(271,359.916,-180)); + var_00 = common_scripts\_createfx::createexploderex("fus_vent_air_flow","3200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1371.09,4502.07,-430.47),(271,359.916,-180)); + var_00 = common_scripts\_createfx::createexploderex("fus_vent_air_flow","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((1369.76,4939.97,-430.603),(271,359.916,-180)); + var_00 = common_scripts\_createfx::createexploderex("fus_vent_streamers","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((970.206,2667.08,-433.577),(271,359.916,179)); + var_00 = common_scripts\_createfx::createexploderex("fus_vent_streamers","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((1368.2,4938.94,-431.529),(272.22,295.669,-164.77)); + var_00 = common_scripts\_createfx::createexploderex("light_red_strobe","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5417.59,4152.46,280.659),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fusion_light_point_fill_finale","6036"); + var_00 common_scripts\_createfx::set_origin_and_angles((12640.5,8992.32,-130),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_white","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((3820.06,3382,-445.303),(8.45222,100.77,-90.1008)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_white","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((3474.16,3169.47,-444.832),(7.10279,154.212,-88.9517)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_white","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4193.23,3293.91,-445.371),(9.89401,55.5296,-89.0597)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_white","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((3543.44,3251.39,-253.586),(9.81677,139.037,-90.8571)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_white","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((3724.36,3360.49,-253.31),(9.34007,110.866,-90.6229)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_white","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4104.54,3345.97,-252.954),(8.74982,63.4272,-91.1969)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_white","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4275.63,3224.33,-253.43),(9.38087,42.3899,-91.2478)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_white","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4369.96,2663.63,-253.461),(10.0799,335.84,-90.8934)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_white","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4248.45,2492.54,-253.624),(9.43936,319.616,-90.6618)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_white","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4067.6,2383.55,-253.626),(8.01612,291.316,-91.0437)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_white","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((3687.22,2398.24,-253.57),(5.25327,249.106,-90.1516)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_white","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4336,3140.6,-445.507),(7.72341,41.4465,-89.0862)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_white","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4406,2947.9,-445.242),(10.0017,8.0942,-91.4738)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_white","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4399.86,2760.91,-445.636),(9.13015,350.875,-90.3566)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_white","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4164.76,2432.13,-445.66),(9.70588,301.677,-88.1284)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_white","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((3972.09,2362.07,-445.667),(9.59557,276.312,-90.4456)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_white","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((3599.04,2449.97,-445.922),(8.47969,234.163,-89.2317)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_white","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((2592.17,3852.77,-466.76),(359.942,62.8395,-89.8486)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_white","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((2592.08,3852.81,-485.743),(359.956,52.8415,-89.98)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_white","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((2592.2,3852.78,-504.356),(358.02,55.6621,-90.8704)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_amber","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((3599.88,4267.24,-419.959),(89.8391,132.182,-69.6584)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_amber","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((5086.54,3687.52,-419.959),(89.8391,132.182,-69.6584)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_amber","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((5295.18,3168.78,-419.96),(89.8391,132.182,-69.6584)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_amber","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((5305.61,2581.29,-419.96),(89.8391,132.182,-69.6584)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_amber","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((5379.92,2567.9,-419.96),(89.8391,132.182,-69.6584)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_amber","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((5080.44,2062.29,-419.958),(89.8391,132.182,-69.6584)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_amber","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((5144.3,2021.92,-419.956),(89.8391,132.182,-69.6584)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_amber","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4710.11,1679.41,-419.96),(89.8391,132.182,-69.6584)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_amber","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4751.39,1616.13,-419.955),(89.8391,132.182,-69.6584)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_amber","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((4193.35,1477.05,-419.957),(89.8391,132.182,-69.6584)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_amber","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((3605.15,1460.88,-419.959),(89.8391,132.182,-69.6584)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_amber","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((3079.48,1677.02,-419.955),(89.8391,132.182,-69.6584)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_amber","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((3037.1,1614.51,-419.959),(89.8391,132.182,-69.6584)); + var_00 = common_scripts\_createfx::createexploderex("fus_turbine_floodlight_flare_01","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5550.68,-13.0786,406.058),(14.859,110.707,-91.6107)); + var_00 = common_scripts\_createfx::createexploderex("fus_turbine_floodlight_flare_01","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((6011.42,191.892,405.507),(14.8848,111.741,-91.3453)); + var_00 = common_scripts\_createfx::createexploderex("fus_turbine_floodlight_flare_01","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((6516.29,542.533,406.182),(14.4932,131.385,-90.3182)); + var_00 = common_scripts\_createfx::createexploderex("fus_turbine_floodlight_flare_01","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((6873.32,897.966,405.253),(14.4952,133.451,-89.8012)); + var_00 = common_scripts\_createfx::createexploderex("fus_hangar_floodlight_flare_01","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((7220.38,1400.99,406.224),(14.4422,155.062,-90.5254)); + var_00 = common_scripts\_createfx::createexploderex("fus_turbine_floodlight_flare_01","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((7428.58,1859.63,405.696),(15.448,158.164,-89.699)); + var_00 = common_scripts\_createfx::createexploderex("fus_turbine_floodlight_flare_01","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5312.54,1234.53,377.727),(17.2192,301.494,-91.2602)); + var_00 = common_scripts\_createfx::createexploderex("fus_turbine_floodlight_flare_01","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5557.99,1387.34,378.026),(17.2615,306.729,-90.7078)); + var_00 = common_scripts\_createfx::createexploderex("fus_turbine_floodlight_flare_01","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((5793.54,1585.73,377.671),(16.1865,315.109,-90.2224)); + var_00 = common_scripts\_createfx::createexploderex("fus_turbine_floodlight_flare_01","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((6030.18,1855.92,377.897),(15.9724,325.514,-91.333)); + var_00 = common_scripts\_createfx::createexploderex("fus_turbine_floodlight_flare_01","3500"); + var_00 common_scripts\_createfx::set_origin_and_angles((6279.19,2301.64,377.556),(15.7044,342.147,-90.7635)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_white","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5438.63,4129.96,279.989),(12.8981,220.329,-89.8731)); + var_00 = common_scripts\_createfx::createexploderex("fus_hangar_floodlight_flare_01","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6489.5,4984.61,355.48),(35.238,135.284,-89.804)); + var_00 = common_scripts\_createfx::createexploderex("fus_hangar_floodlight_flare_01","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5945.01,5529.1,355.824),(39.7603,314.218,-89.9553)); + var_00 = common_scripts\_createfx::createexploderex("fus_hangar_floodlight_flare_01","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6391.7,5975.83,355.7),(41.7603,314.22,-89.9538)); + var_00 = common_scripts\_createfx::createexploderex("fus_hangar_floodlight_flare_01","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6844.23,6428.25,356.002),(42.7603,314.221,-89.9531)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_white","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8559.6,8459.31,147.382),(33.0812,200.486,-90.649)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_white","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9529.63,10048.1,147.546),(35.7706,289.196,-89.2461)); + var_00 = common_scripts\_createfx::createexploderex("fusion_reactor_light_glow_white","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9455.58,9286.87,204.509),(23.7714,289.025,-89.3316)); + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe","3200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1219.03,4773.5,-436.838),(0,224.916,0)); + var_00 = common_scripts\_createfx::createexploderex("wave_ocean_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-362.116,-112260,-210.815),(270,0,-174)); + var_00 = common_scripts\_createfx::createexploderex("wave_ocean_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3104.97,-104347,-221.746),(270,0,-174)); + var_00 = common_scripts\_createfx::createexploderex("wave_ocean_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-660.578,-95912.5,-227.304),(270,0,-174)); + var_00 = common_scripts\_createfx::createexploderex("wave_ocean_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2988.52,-89272.7,-280.599),(270,0,-174)); + var_00 = common_scripts\_createfx::createexploderex("wave_ocean_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3336.11,-81696.4,-266.875),(270,0,-174)); + var_00 = common_scripts\_createfx::createexploderex("wave_ocean_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1871.19,-74785,-260.877),(270,0,-174)); + var_00 = common_scripts\_createfx::createexploderex("wave_ocean_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4096.12,-67283.6,-257.875),(270,0,-174)); + var_00 = common_scripts\_createfx::createexploderex("wave_ocean_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3543.67,-58794.3,-271.497),(270,0,-174)); + var_00 = common_scripts\_createfx::createexploderex("wave_ocean_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2789.48,-52056.2,-211.715),(270,0,-174)); + var_00 = common_scripts\_createfx::createexploderex("wave_ocean_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3610.43,-44177.2,-247.663),(270,0,-174)); + var_00 = common_scripts\_createfx::createexploderex("wave_ocean_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2533.62,-37221.2,-219.827),(270,0,-174)); + var_00 = common_scripts\_createfx::createexploderex("wave_ocean_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3502.81,-30772.2,-253.148),(270,0,-174)); + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((1822.5,3151.37,-431.055),(0,180.914,0)); + var_00 = common_scripts\_createfx::createexploderex("fus_door_dust_top","2801"); + var_00 common_scripts\_createfx::set_origin_and_angles((337.46,3036.27,86.209),(271,89.9421,-179.944)); + var_00 = common_scripts\_createfx::createexploderex("fus_door_dust_top","2800"); + var_00 common_scripts\_createfx::set_origin_and_angles((331.867,2983.46,87.6181),(270,90,180)); + var_00 = common_scripts\_createfx::createexploderex("fus_door_dust_ground","2801"); + var_00 common_scripts\_createfx::set_origin_and_angles((306.662,3029.44,-26.4493),(271.651,141.95,47.2716)); + var_00 = common_scripts\_createfx::createexploderex("fus_door_dust_ground","2800"); + var_00 common_scripts\_createfx::set_origin_and_angles((312.237,2985.89,-28.3204),(270,0,172.999)); + var_00 = common_scripts\_createfx::createexploderex("fast_blowing_dust","outro_warbird_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((12992.3,8859.95,-18),(0,136,1.99995)); + var_00 = common_scripts\_createfx::createexploderex("fus_hangar_floodlight_flare_01","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6940.06,5438.99,356.277),(35.238,135.284,-89.804)); + var_00 = common_scripts\_createfx::createexploderex("fus_hangar_floodlight_flare_01","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7386.76,5886.35,356.247),(35.238,135.284,-89.804)); + var_00 = common_scripts\_createfx::createexploderex("fus_lab_flourescent_flare","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((828.647,3261.93,-423.332),(1.98485,358.205,0)); + var_00 = common_scripts\_createfx::createexploderex("fus_lab_flourescent_flare","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((826.39,3451.63,-421.889),(1.98485,358.205,0)); + var_00 = common_scripts\_createfx::createexploderex("fus_lab_flourescent_flare","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((791.436,3889.56,-421.222),(0.137994,272.202,-1.97986)); + var_00 = common_scripts\_createfx::createexploderex("fus_lab_flourescent_flare","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((1003.25,2887.13,-424.442),(1.98485,358.205,0)); + var_00 = common_scripts\_createfx::createexploderex("fus_lab_flourescent_flare","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((780.091,2890.18,-423.711),(1.98485,358.205,0)); + var_00 = common_scripts\_createfx::createexploderex("fus_lab_flourescent_flare","3200"); + var_00 common_scripts\_createfx::set_origin_and_angles((1433.63,4427.31,-420.898),(1.60525,322.188,1.83272)); + var_00 = common_scripts\_createfx::createexploderex("fast_blowing_dust","outro_warbird_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((13039.8,8674.62,21),(358.424,187.982,1.23086)); + var_00 = common_scripts\_createfx::createexploderex("fast_blowing_dust","outro_warbird_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((13024.3,8763.76,1.00003),(357.964,166.006,1.87602)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_leak_lrg","6502"); + var_00 common_scripts\_createfx::set_origin_and_angles((8328.56,8341.25,16.178),(2.48427,168.001,4.62113)); + var_00.v["platform"] = "cg"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/greece_fx.gsc b/AW/PC/maps/createfx/greece_fx.gsc new file mode 100644 index 0000000..b120f2c --- /dev/null +++ b/AW/PC/maps/createfx/greece_fx.gsc @@ -0,0 +1,3094 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\greece_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 229 ms + * Timestamp: 4/22/2024 2:07:29 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\utility::createoneshoteffect("dust_ambient_street"); + var_00 common_scripts\_createfx::set_origin_and_angles((23986.7,70178.4,-655.146),(270,0,-105.001)); + var_00 = common_scripts\utility::createoneshoteffect("clouds_ambient_lg_top"); + var_00 common_scripts\_createfx::set_origin_and_angles((23043.9,73614.1,5066.44),(89.9997,305.068,15.0682)); + var_00 = common_scripts\utility::createoneshoteffect("dust_ambient_street_blowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((23831.8,70208.9,-653),(270,0,-99.0011)); + var_00 = common_scripts\utility::createoneshoteffect("animal_seagulls_flock_large_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((21990.3,76352.1,-124.803),(0.858459,38.9913,-84.9734)); + var_00 = common_scripts\utility::createoneshoteffect("animal_seagulls_flock_large_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((21968.8,78087.3,580.107),(358.657,2.75604,-86.4407)); + var_00 = common_scripts\utility::createoneshoteffect("animal_seagulls_flock_large_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((20652.4,80350.2,-111.492),(3.18606,10.0643,-86.0168)); + var_00 = common_scripts\utility::createoneshoteffect("animal_seagulls_flock_large_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((20937.9,83214,-435.305),(0.944713,37.9934,-84.9888)); + var_00 = common_scripts\utility::createoneshoteffect("animal_seagulls_flock_large_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((23419.1,70829.4,197.125),(0.735251,342.923,-88.7344)); + var_00 = common_scripts\utility::createoneshoteffect("clouds_ambient_lg_top_shadow"); + var_00 common_scripts\_createfx::set_origin_and_angles((22255.1,70452.4,35.4394),(270,0,-82.0013)); + var_00 = common_scripts\utility::createoneshoteffect("clouds_ambient_lg_top_rays"); + var_00 common_scripts\_createfx::set_origin_and_angles((-892.624,90471.9,5411.16),(89.9994,251.372,-40.6274)); + var_00 = common_scripts\utility::createoneshoteffect("animal_seagulls_flock_large_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((24339.7,72144.8,-52.375),(0.282494,1.91817,-88.5633)); + var_00 = common_scripts\utility::createoneshoteffect("animal_seagulls_flock_large_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((21731.6,74255,187.678),(359.362,38.9079,-88.6824)); + var_00 = common_scripts\utility::createoneshoteffect("godray_ambient_outdoors_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((23936.2,70119.4,-429.088),(46.2162,328.546,4.84988)); + var_00 = common_scripts\utility::createoneshoteffect("godray_ambient_outdoors_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((23918.9,70125.5,-472.323),(46.2162,328.546,4.84988)); + var_00 = common_scripts\utility::createoneshoteffect("clouds_ambient_vista_fog"); + var_00 common_scripts\_createfx::set_origin_and_angles((28755.1,71601.6,211.693),(272.326,5.31928,18.6566)); + var_00 = common_scripts\utility::createoneshoteffect("clouds_ambient_vista_fog"); + var_00 common_scripts\_createfx::set_origin_and_angles((27199,77898.5,916.999),(272.326,5.31861,28.6566)); + var_00 = common_scripts\utility::createoneshoteffect("clouds_ambient_vista_fog"); + var_00 common_scripts\_createfx::set_origin_and_angles((25692,74176.7,-259.723),(272.326,5.3184,47.6567)); + var_00 = common_scripts\utility::createoneshoteffect("clouds_ambient_vista_fog"); + var_00 common_scripts\_createfx::set_origin_and_angles((23085.8,94864.8,811.377),(272.326,5.3178,49.6563)); + var_00 = common_scripts\utility::createoneshoteffect("clouds_ambient_vista_fog"); + var_00 common_scripts\_createfx::set_origin_and_angles((31271.7,80623.5,2645.04),(272.326,5.31861,28.6566)); + var_00 = common_scripts\utility::createoneshoteffect("clouds_ambient_vista_fog"); + var_00 common_scripts\_createfx::set_origin_and_angles((33886.3,76841.9,2539.63),(272.326,5.31861,28.6566)); + var_00 = common_scripts\utility::createoneshoteffect("glow_window_ambient_crevice"); + var_00 common_scripts\_createfx::set_origin_and_angles((23745.4,69076.3,-345.591),(359.989,97.2096,76.6327)); + var_00 = common_scripts\utility::createoneshoteffect("dust_ambient_street_blowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((23956.5,70221.7,-659.911),(270,0,-98.0013)); + var_00 = common_scripts\utility::createoneshoteffect("foliage_rolling_leaves"); + var_00 common_scripts\_createfx::set_origin_and_angles((23924.1,70226.8,-658.856),(274,346.998,-168)); + var_00 = common_scripts\utility::createoneshoteffect("ocean_wave_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((13541.9,72039.2,-7588.45),(270,0,-163)); + var_00 = common_scripts\utility::createoneshoteffect("ocean_wave_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((11098.5,75092.7,-7588.13),(270,0,-163)); + var_00 = common_scripts\utility::createoneshoteffect("ocean_wave_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((11358.4,77289.1,-7543.72),(270,0,-163)); + var_00 = common_scripts\utility::createoneshoteffect("godray_foliage_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((22414.1,74660.8,-792.463),(46.2162,328.546,4.84988)); + var_00 = common_scripts\utility::createoneshoteffect("godray_foliage_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((22425.7,74661.5,-710.379),(46.2162,328.546,4.84988)); + var_00 = common_scripts\utility::createoneshoteffect("godray_foliage_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((22431.2,74708.1,-651.213),(46.2162,328.546,4.84988)); + var_00 = common_scripts\utility::createoneshoteffect("godray_ambient_outdoors_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((22506.4,74659.3,-760.978),(46.2162,328.546,4.84988)); + var_00 = common_scripts\utility::createoneshoteffect("godray_foliage_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((22594.9,75081.5,-827.023),(46.2162,328.546,4.84988)); + var_00 = common_scripts\utility::createoneshoteffect("godray_foliage_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((22590.5,75080.7,-790.766),(46.2162,328.546,4.84988)); + var_00 = common_scripts\utility::createoneshoteffect("godray_foliage_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((22638.8,75112.7,-874.367),(46.2162,328.546,4.84988)); + var_00 = common_scripts\utility::createoneshoteffect("godray_foliage_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((22642.3,75115.7,-842.613),(46.2162,328.546,4.84988)); + var_00 = common_scripts\utility::createoneshoteffect("godray_foliage_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((22903,74951.2,-702.207),(46.2162,328.546,4.84988)); + var_00 = common_scripts\utility::createoneshoteffect("godray_foliage_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((22893.2,74942.2,-642.657),(46.2162,328.546,4.84988)); + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_particles_distant"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21564.1,-47152.5,-607.085),(270,0,177)); + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_particles_distant"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20118.8,-44965.6,326.125),(270,0,-158.001)); + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_particles_distant"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20500.4,-43440.2,160.736),(270,0,173.999)); + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_particles_distant"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20781.4,-44617.3,-24.2125),(270,0,-158.001)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19779.9,-47761.1,-331.875),(270,0,-74.0004)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19717.1,-47742.6,-332.888),(270,0,-74.0004)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_wide_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19694.9,-47722.8,-535.875),(270,0,-74.0004)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_wide_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19785.7,-47744,-535.875),(270,0,-74.0004)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_wide_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19628,-47617.3,-488.194),(270,0,60.9983)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_wide_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19568.9,-47648.8,-489.231),(270,0,60.9983)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_flow_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19567.6,-47661.6,-535.875),(270,180,59.998)); + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_flow_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19635.9,-47621.8,-535.875),(270,180,58.998)); + var_00 = common_scripts\utility::createoneshoteffect("ocean_wave_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-24572.1,-46847.2,-3254.74),(270,0,-176)); + var_00 = common_scripts\utility::createoneshoteffect("ocean_wave_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-24840.9,-42675,-3239.88),(270,0,176)); + var_00 = common_scripts\utility::createoneshoteffect("ocean_wave_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-23590.5,-49931.6,-3351.6),(270,180,35.9997)); + var_00 = common_scripts\utility::createoneshoteffect("ocean_wave_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20630.3,-51315.9,-3309.22),(270,187.125,56.8743)); + var_00 = common_scripts\utility::createoneshoteffect("ocean_wave_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17659.9,-51957.2,-3313.11),(270,180,81.9986)); + var_00 = common_scripts\utility::createoneshoteffect("ocean_wave_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-23984.1,-39778.3,-3410.88),(270,0,143)); + var_00 = common_scripts\utility::createoneshoteffect("ocean_wave_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14100.4,-53563.4,-3308.43),(270,0,-80.0013)); + var_00 = common_scripts\utility::createoneshoteffect("ocean_splash_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16576.2,-53980.4,-3338.26),(270,180,81.9986)); + var_00 = common_scripts\utility::createoneshoteffect("ocean_splash_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16143,-53777.8,-3336.85),(270,180,81.9986)); + var_00 = common_scripts\utility::createoneshoteffect("ocean_splash_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16880.5,-53566.8,-3319.94),(270,180,81.9986)); + var_00 = common_scripts\utility::createoneshoteffect("ocean_splash_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16716.4,-52919.8,-3415.85),(270,180,81.9986)); + var_00 = common_scripts\utility::createoneshoteffect("ocean_splash_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16676.9,-53302.4,-3387.94),(270,180,81.9986)); + var_00 = common_scripts\utility::createoneshoteffect("ocean_splash_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16621.1,-52619.4,-3408.07),(270,180,81.9986)); + var_00 = common_scripts\utility::createoneshoteffect("ocean_splash_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17118.9,-51961.5,-3367.2),(270,180,81.9986)); + var_00 = common_scripts\utility::createoneshoteffect("ocean_splash_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17590.2,-51876.7,-3453.44),(270,180,81.9986)); + var_00 = common_scripts\utility::createoneshoteffect("ocean_splash_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-24309.3,-45354.9,-3336.44),(270,0,-176.002)); + var_00 = common_scripts\utility::createoneshoteffect("ocean_splash_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-24329.6,-45030.3,-3342),(270,0,-162.002)); + var_00 = common_scripts\utility::createoneshoteffect("ocean_splash_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-24591.4,-44076.2,-3316.12),(270,0,-166.001)); + var_00 = common_scripts\utility::createoneshoteffect("ocean_splash_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-24645.8,-43765.1,-3327.2),(270,0,-179.002)); + var_00 = common_scripts\utility::createoneshoteffect("ocean_splash_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-24763.2,-43192.6,-3367.56),(270,0,-166.001)); + var_00 = common_scripts\utility::createoneshoteffect("ocean_splash_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-24868.8,-42887.4,-3367.98),(270,0,-166.001)); + var_00 = common_scripts\utility::createoneshoteffect("ocean_splash_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-24729.8,-42721.7,-3353.04),(270,0,-166.001)); + var_00 = common_scripts\utility::createoneshoteffect("ocean_splash_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-24950.5,-46579.4,-3262.39),(270,0,146.998)); + var_00 = common_scripts\utility::createoneshoteffect("ocean_splash_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-24869.8,-47135.3,-3263.13),(270,0,-148.002)); + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_particles_distant"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21706.9,-46795.8,-104.875),(270,180,35.9997)); + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_particles_distant"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19927.1,-48287.7,-460.807),(270,0,-122)); + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_particles_distant"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18882.1,-48548.7,-351.419),(270,0,-65.0005)); + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_particles_distant"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20144.1,-47289.9,58.1343),(270,0,-153.001)); + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_particles_distant"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20905.4,-46766.3,443.692),(270,0,161.999)); + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_particles_distant"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21579.3,-46212.1,-286.232),(270,0,-135)); + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_particles_distant"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20628.9,-45768.2,306.125),(270,0,-158.001)); + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_particles_distant"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20672.4,-46444,990.8),(270,0,-158.001)); + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_particles_distant"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19559.7,-44140.3,578.851),(270,0,-158.001)); + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_particles_distant"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18951.4,-46226.6,289.577),(270,0,-158.001)); + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_particles_distant"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17995.3,-45030.2,305.266),(270,0,-158.001)); + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_particles_distant"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17728.2,-46948.5,385.095),(270,0,-158.001)); + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_particles_distant"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17563,-45777.7,193.588),(270,0,-158.001)); + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_rotate_red"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19552.1,-43227.7,67.5179),(270,180,35.9997)); + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_rotate_red"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20238.1,-44476.1,-179.697),(270,180,35.9997)); + var_00 = common_scripts\utility::createoneshoteffect("water_tower_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5975.42,92513.6,-9572.08),(359.747,28.4828,0.430119)); + var_00 = common_scripts\utility::createoneshoteffect("water_tower_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16296.6,121088,-9388.1),(0.169225,24.9787,-0.173053)); + var_00 = common_scripts\utility::createoneshoteffect("water_tower_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-68972.1,112210,-9566.87),(359.678,32.3674,-0.153451)); + var_00 = common_scripts\utility::createoneshoteffect("greece_fountain_splash_sml"); + var_00 common_scripts\_createfx::set_origin_and_angles((22541.7,70445.5,-680.145),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("greece_fountain_splash_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((22601.8,73787.8,-1082.8),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("greece_fountain_splash_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((23289.2,76524.3,-1274.83),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("greece_fountain_splash_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((23182.6,78168.4,-1569.53),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("godray_ambient_outdoors_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((22491.7,74496.9,-730.539),(46.2162,328.546,4.84988)); + var_00 = common_scripts\utility::createoneshoteffect("godray_ambient_outdoors_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((22399.5,74387,-729.161),(46.2162,328.546,4.84988)); + var_00 = common_scripts\utility::createoneshoteffect("godray_ambient_outdoors_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((22306.6,74276.2,-728.581),(46.2162,328.546,4.84988)); + var_00 = common_scripts\utility::createoneshoteffect("godray_ambient_outdoors_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((22214.2,74166.2,-726.423),(46.2162,328.546,4.84988)); + var_00 = common_scripts\utility::createoneshoteffect("godray_ambient_outdoors_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((22121.6,74055.8,-727.647),(46.2162,328.546,4.84988)); + var_00 = common_scripts\utility::createoneshoteffect("godray_window_small_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((22110.3,74055.9,-846.622),(46.2162,328.546,4.84988)); + var_00 = common_scripts\utility::createoneshoteffect("godray_window_small_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((22204.6,74172.8,-842.466),(46.2162,328.546,4.84988)); + var_00 = common_scripts\utility::createoneshoteffect("godray_window_small_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((22297.7,74284.5,-841.32),(46.2162,328.546,4.84988)); + var_00 = common_scripts\utility::createoneshoteffect("godray_window_small_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((22391,74395.3,-845.315),(46.2162,328.546,4.84988)); + var_00 = common_scripts\utility::createoneshoteffect("godray_window_small_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((22469.9,74489.7,-845.248),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("clouds_ambient_lg_oriented2a","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8121.34,91283.5,233.94),(274.067,328.138,-18.9968)); + var_00 = common_scripts\_createfx::createexploderex("clouds_ambient_lg_oriented2a","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12609.5,80130.5,-869.009),(274.067,328.139,4.00097)); + var_00 = common_scripts\_createfx::createexploderex("clouds_ambient_lg_oriented2a","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12688.4,70966.3,-1008.98),(274.067,328.139,15.0019)); + var_00 = common_scripts\_createfx::createexploderex("clouds_ambient_lg_oriented2a","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15010.6,96786.3,1510.61),(274.067,328.139,4.00097)); + var_00 = common_scripts\_createfx::createexploderex("clouds_ambient_lg_orienteda","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9653.34,82017.3,852.332),(271.873,319.109,-9.99574)); + var_00 = common_scripts\_createfx::createexploderex("clouds_ambient_lg_orienteda","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12195.8,86459.5,1954.9),(271.873,319.109,-9.99574)); + var_00 = common_scripts\_createfx::createexploderex("clouds_ambient_lg_orienteda","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5623.07,76974,833.337),(271.873,319.109,-9.99574)); + var_00 = common_scripts\_createfx::createexploderex("clouds_ambient_lg_oriented2b","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8121.34,91283.5,233.94),(274.067,328.138,-18.9968)); + var_00 = common_scripts\_createfx::createexploderex("clouds_ambient_lg_oriented2b","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12609.5,80130.5,-869.009),(274.067,328.139,4.00097)); + var_00 = common_scripts\_createfx::createexploderex("clouds_ambient_lg_oriented2b","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12688.4,70966.3,-1008.98),(274.067,328.139,15.0019)); + var_00 = common_scripts\_createfx::createexploderex("clouds_ambient_lg_oriented2b","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((15010.6,96786.3,1510.61),(274.067,328.139,4.00097)); + var_00 = common_scripts\_createfx::createexploderex("clouds_ambient_lg_orientedb","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9653.34,82017.3,852.332),(271.873,319.109,-9.99574)); + var_00 = common_scripts\_createfx::createexploderex("clouds_ambient_lg_orientedb","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12195.8,86459.5,1954.9),(271.873,319.109,-9.99574)); + var_00 = common_scripts\_createfx::createexploderex("clouds_ambient_lg_orientedb","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5623.07,76974,833.337),(271.873,319.109,-9.99574)); + var_00 = common_scripts\_createfx::createexploderex("animal_fruitflies_flying","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22584,69994.1,-632.009),(270,0,-135.001)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22700.2,69704.2,-454.416),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22939.2,69562.8,-511.523),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("foliage_rolling_leaves","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22595.9,69434.4,-684.306),(270,0,-179.002)); + var_00 = common_scripts\_createfx::createexploderex("boat_waves_speedboat_greece","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8196.99,88551.1,-5993.75),(358.069,243.965,1.2942)); + var_00 = common_scripts\_createfx::createexploderex("boat_waves_speedboat_greece","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5106.64,74840.8,-7054.82),(359.998,358.997,0)); + var_00 = common_scripts\_createfx::createexploderex("boat_waves_speedboat_circle","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1888.68,71878.8,-7143.32),(359.138,73.5819,-178.31)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_particles","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22239.5,77693.7,-1500.5),(273,200.997,0)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_particles","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20768.4,80033,-1182.88),(273,200.997,0)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("wind_gust_particles","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((19666.6,79596.2,-1424),(273,200.997,0)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("wind_gust_particles","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21652.5,80478.9,-1133.08),(273,200.997,0)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_particles","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((19085.6,82299.3,-1385.99),(273,200.997,0)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_particles","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((19156.5,81379.6,-1542.34),(273,200.999,37.9977)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_particles","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20247.1,82254.3,-1495.68),(273,200.997,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21284.3,79124.5,-1420.63),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21324.6,78980.4,-1420.63),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21257.2,79227.5,-1420.63),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21376.6,79033.7,-1420.63),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21342.1,79163.1,-1420.63),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21311.2,79278.6,-1420.63),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21421.8,79106.4,-1420.63),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21457.8,78986,-1420.63),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21510.5,79028.3,-1420.63),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21477.9,79150,-1420.63),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21447.6,79258.2,-1420.63),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21563.7,79076.3,-1420.63),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21532.8,79203.7,-1420.62),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21499.9,79318.2,-1420.63),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21574.6,79282.4,-1420.63),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21608.4,79162.4,-1420.63),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21640.4,79036,-1420.63),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21200.3,79244.9,-1420.63),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21231.6,79127.1,-1420.63),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21263.8,79018.2,-1420.63),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21294.9,78904.2,-1420.63),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21149.5,79638.5,-1391.15),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21178.5,79528.8,-1360.76),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21209.1,79420.6,-1330.61),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21127.7,79473.2,-1349.91),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21154.7,79379.1,-1323.67),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21280.3,79391.9,-1318.24),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21253.1,79499.5,-1347.97),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21218,79619.2,-1381.37),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21307.6,79540,-1354.63),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21341.3,79422.3,-1321.82),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21278.4,79649.9,-1385.12),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21332.5,79696.3,-1393.33),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21365.4,79581.1,-1361.23),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21395.3,79471.1,-1330.7),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21473.2,79426.9,-1313.81),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21441,79538.3,-1344.89),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21408.6,79658.3,-1378.2),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21464.5,79700.4,-1385.19),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21494.3,79587.4,-1353.86),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21529.4,79479.8,-1323.59),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20496.4,79524.9,-1192.03),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20685,79531.6,-1195.33),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20832,79545.6,-1197.88),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20377.4,79620,-1156.82),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20456.6,79643.7,-1295.13),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20484.7,79643.9,-1292.24),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20691.7,79487.4,-1315.2),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20576,79460.1,-1346.73),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20086.6,80132.6,-1104.15),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20293,80175.3,-1146.18),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20482,80220.9,-1144.24),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((19650.7,80005.2,-1089.52),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20834.1,80402.8,-1210.79),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20567.8,79721.3,-1226.13),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20689.7,79755.2,-1224.13),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20849.7,79798.8,-1224.13),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_particles","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21976.3,74711.8,-843.5),(273,200.997,0)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_particles","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21580.7,75586.1,-1223.2),(273,200.997,0)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_particles","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23058.4,76746.5,-1001.16),(273,200.997,0)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_particles","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22714.4,77398.2,-1124.22),(273,200.997,0)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_particles","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21381.4,78475.9,-1496.5),(273,200.997,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21920.9,78387.5,-1254.39),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21813.8,78488.8,-1259.29),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21746.4,78628.1,-1260.07),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23197.5,78460.8,-1324.34),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22927.5,78354.2,-1316),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22629.6,78211.1,-1314.46),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22442.1,78113.8,-1297.38),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22249.7,78010.2,-1284.79),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23082.7,78422.2,-1320.09),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21986.3,78454.3,-1258.44),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21972.2,78448,-1339.01),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22122.3,78361.7,-1232.78),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21366.8,78830,-1331.94),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21495.9,78864.3,-1335.85),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21662.3,78904.9,-1342.57),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21817.1,78952.9,-1334.22),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22764.4,77733.5,-1429.36),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22787.6,77775.9,-1429.36),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22807.7,77820.5,-1429.36),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22907.6,77937.7,-1429.86),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22955.2,77953.4,-1429.86),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23002.1,77970.2,-1429.86),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22772.2,77758,-1429.36),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22793.5,77799.9,-1429.36),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22932.1,77948.4,-1429.86),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22976.3,77964.1,-1429.86),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22393.8,78118.6,-1300.5),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23056.5,78398.6,-1316.63),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22905.7,78324.8,-1314.29),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23585.2,77294.4,-1081.83),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23584.7,77316.1,-1102.57),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23505.1,77366.1,-1080.68),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23513.2,77392.5,-1099.6),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23692.5,76962.5,-1085.32),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23696.6,76994.6,-1100.68),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23616.3,77040.3,-1073.77),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23622.1,77065.4,-1094.53),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23611.2,77823.1,-1084.41),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23660.7,77872.6,-1086.1),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23706.6,77854.9,-1083.97),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23673.2,77754.3,-1083.78),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23711.9,77722.3,-1084.39),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23746.1,77684.3,-1084.52),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23775.8,77646.2,-1084.02),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23870.5,77740.9,-1085.51),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23668.5,77943.3,-1081.14),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23728.5,78003.3,-1081.12),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23601.8,77876.6,-1079.89),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_small","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23542.3,77885.3,-1136.03),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_small","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23694.6,77987.7,-1158.54),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22518.9,76386.7,-933.159),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22405.4,76256.2,-964.663),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22823.7,76507.7,-982.964),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23165.3,76136,-905.445),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23212,76175.2,-901.248),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23167.5,76137.9,-947.355),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23212.4,76175.5,-944.372),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23167.6,76137.9,-976.707),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23211.1,76174.4,-973.424),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23298.8,76248,-900.74),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23345.5,76287.2,-899.212),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23300.5,76249.4,-940.471),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23346.4,76288,-939.406),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23301.2,76250,-970.921),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23347.8,76289.1,-967.659),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23433.8,76361.3,-902.57),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23479,76399.2,-901.147),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23435.9,76363,-945.034),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23479.7,76399.8,-943.647),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23437.5,76364.4,-970.818),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23478.9,76399.1,-968.182),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23568.4,76474.2,-901.969),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23610.8,76509.8,-902.308),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23570,76475.6,-947.444),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23610.9,76509.8,-945.699),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23569.9,76475.5,-973.564),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23610.9,76509.9,-972.07),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23704.1,76588.1,-901.2),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23743.5,76621.1,-900.299),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23704.3,76588.2,-944.062),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23745.6,76622.9,-942.93),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23706.3,76589.9,-975.003),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23748,76624.9,-972.442),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23199.6,75960.3,-904.883),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23199.8,75960,-947.533),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23199.7,75960.2,-981.874),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23331.4,75803.1,-902.868),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23330.7,75804,-943.002),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23329.5,75805.5,-975.07),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22822.9,73580.9,-1084),(270,0,43.9978)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22884.6,73476,-1084),(270,0,35.9985)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22699.3,73813.3,-1084),(270,0,40.9981)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22869.9,73864.7,-912.957),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23004.2,73964.1,-668.419),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22860.3,73877,-649.782),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22245.3,73830.9,-680.408),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22319.3,73938.1,-677.097),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22399.8,74040.7,-679.292),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22415.3,73624.4,-667.782),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22326.2,73181.6,-663.63),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22837.9,73833.3,-910.596),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22522.1,73678.7,-963.413),(270,0,-93.0022)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22501.3,73888.7,-961.891),(270,0,-93.0022)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22903.7,73425.1,-923.472),(270,0,-93.0022)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23150.9,73303.3,-940.685),(270,0,-68.0027)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22630.1,73557.5,-952.882),(270,0,-68.0027)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23209.2,73435.7,-781.125),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22201.2,73293,-794.932),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23388.2,73782.6,-833.516),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23323.8,73673.1,-833.501),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23241.8,73532.3,-833.291),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22476.2,74155.1,-1083.88),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22834.6,74056,-1083.88),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22353.4,73508.7,-1083.28),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22072.8,73734.8,-939.875),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22326.2,73527.4,-939.875),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22473.9,74297.4,-939.875),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22306.9,74078.4,-939.875),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23053.2,73502.4,-1080),(270,0,43.9978)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22613.4,73257,-1084),(270,0,43.9978)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23340.1,73229.7,-1069.07),(270,326.31,84.6885)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23121.8,73719.6,-1084),(270,0,105.998)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22771.2,73469.7,-1084),(270,0,14.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22554.7,73144.4,-1084),(270,0,-16.0016)); + var_00 = common_scripts\_createfx::createexploderex("foliage_rolling_leaves","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23508.6,73211.7,-1072),(270,0,-29.0019)); + var_00 = common_scripts\_createfx::createexploderex("foliage_rolling_leaves","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22741.6,73225.9,-1084),(270,180,98.9982)); + var_00 = common_scripts\_createfx::createexploderex("foliage_rolling_leaves","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22630.9,73442.9,-1082.57),(270,26.5651,-134.567)); + var_00 = common_scripts\_createfx::createexploderex("foliage_rolling_leaves","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23477.7,73942,-1063.88),(270,0,24.9979)); + var_00 = common_scripts\_createfx::createexploderex("foliage_rolling_leaves","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23250.8,73646.3,-1084),(270,180,-167.002)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23115.6,73891.6,-1084),(270,177.955,-67.9566)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23319.4,73141.6,-906.65),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23201.3,73241.2,-907.144),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23053.2,73120.8,-600.62),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22986.4,73007.6,-593.382),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22919.7,72892,-593.754),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23694.1,73276.7,-686.355),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23699.7,73390.5,-688.088),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23752.5,73475,-723.353),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23813.4,73576.8,-718.392),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23857.3,73662,-720.429),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23241.5,73427.9,-951.029),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23745.5,73426.3,-687.917),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23448.5,74046.1,-700.347),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23343.4,73118.3,-940.189),(270,0,-68.0027)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23155.8,73597,-943.54),(270,0,-68.0027)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23365,73830.6,-940.032),(270,0,-68.0027)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23488.6,73267.3,-742.963),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22736.8,73121.3,-986.775),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22835.8,73275.6,-986.609),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23273.6,73581.5,-979.065),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23371.2,73766.9,-973.209),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23647.5,73616.3,-1068.88),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23601.8,73364.6,-1068.88),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23127.4,73009.8,-1080.88),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22927.7,73168.2,-1071.88),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23268.2,74103.6,-1067.88),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23421.8,73611.7,-1068.88),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23406.9,73514.9,-932.875),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23601.8,73424,-931.5),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23284.2,73576.3,-1000.84),(359.469,299.521,0.353759)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23388.1,73756.4,-1000.95),(359.469,299.521,0.353759)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22757.8,73108.2,-1014.58),(359.469,299.521,0.353759)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22849.6,73266.7,-1014.54),(359.469,299.521,0.353759)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24005.3,72565.3,-1032.96),(270,355.236,99.7611)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23481.2,72993.2,-1066.45),(270,0,43.9978)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24227.6,72559,-1028.01),(270,0,14.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24042.7,73345.6,-1062.71),(270,0,14.9986)); + var_00 = common_scripts\_createfx::createexploderex("mirage_distortion_medium","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23848.4,73032.2,-897.875),(270,3.17983,127.817)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23694.3,72295.3,-1010),(270,0,14.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23654.5,72675.5,-1019.88),(270,0,59.9983)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23156.5,72523.7,-1062.88),(270,0,14.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24240.7,73587.6,-1067.77),(270,0,95.9981)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23369.1,72630.7,-1063),(270,0,-37.0016)); + var_00 = common_scripts\_createfx::createexploderex("foliage_rolling_leaves","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25283.2,72404.4,-995.299),(273,36.9944,-70.9967)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24441.7,72214.5,-996),(270,0,25.9983)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24304.2,72498.6,-1030),(270,0,35.9985)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23941.9,72987.2,-1062.88),(270,0,-30.0018)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23585.5,72491.2,-1019.88),(270,0,35.9985)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23738.2,72672.7,-1060.88),(270,0,17.9982)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24004.9,73525.9,-1063),(270,0,125.998)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24438,72788.9,-817),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24343.7,72727.2,-814.843),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24352.2,72729.8,-945.335),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24375.9,72459.9,-780),(270.278,158.39,57.6673)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24303.9,72562.1,-779.987),(270.278,158.39,57.6673)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24345.7,72283.5,-864),(270.277,158.387,46.6705)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24273.2,72439.3,-864),(270.277,158.387,46.6705)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24087,72596.3,-741.698),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24191.7,72575.6,-760.017),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24185.9,72530.5,-604.654),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23298.3,72518,-763.26),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23372.6,72425.6,-727.211),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23679.2,72276.2,-743.998),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23517.3,72293.1,-819.941),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23915.7,72698.2,-897.609),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23994.1,72738.8,-899.298),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24136.7,72912.9,-888.709),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24201.6,72948.6,-897.473),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23166.2,72444.9,-870.363),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23206.2,72475.9,-871.363),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23903.6,72166.6,-899),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24026.8,72481.4,-899.5),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24347.5,72567.3,-933.789),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24152.4,73177.1,-1069.45),(270,0,-30.0018)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23987.6,72731.6,-917.478),(270,0,-93.0022)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23921.4,72696.6,-919.33),(270,0,-93.0022)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24136.4,72914,-919.112),(270,0,-93.0022)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24204.3,72949.2,-918.719),(270,0,-93.0022)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23633.8,72241.9,-861.402),(270,0,-93.0022)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23365.6,72470.4,-872.545),(270,0,-93.0022)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24360.9,72256,-863.382),(270,0,-97.0026)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24262.9,72462.2,-864),(270,0,-98.0026)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23820.8,72145.2,-830.722),(270,180,99.9972)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23842.9,72283.4,-898.159),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24407.1,73522,-947.022),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24332.5,73444.4,-947.547),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23895,72391.7,-750.64),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23971.4,72429.6,-760.918),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24059.5,72465.2,-750.968),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24081.4,72274.3,-991.875),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24071.1,72287.4,-855.875),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24496,72609.1,-905.855),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24079.2,72448.2,-946.292),(359.469,299.521,0.353759)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24371.8,72725.1,-976.216),(359.469,299.521,0.353759)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24420.4,73517.7,-985.054),(359.469,299.521,0.353759)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24752.1,71754.2,-948.63),(270,0,35.9985)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24625.4,71749.2,-967.858),(270,0,14.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25105.3,72412.4,-980.375),(270,326.31,84.6885)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24128.1,71574.7,-991.122),(270,0,35.9985)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24472.4,72080,-996),(270,0,14.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24799.9,72015.6,-993.247),(270,170.538,136.461)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24371.9,72910.1,-1042),(270,180,-136.002)); + var_00 = common_scripts\_createfx::createexploderex("foliage_rolling_leaves","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24692.9,71998.5,-996),(270,0,-47.0018)); + var_00 = common_scripts\_createfx::createexploderex("foliage_rolling_leaves","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24390.4,72148.9,-994.875),(273,111.998,180)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24658.8,71890.8,-992.641),(270,0,23.9985)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24586.4,73064.6,-1039),(270,0,126.998)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24515.2,71686.1,-783.5),(270.278,158.398,60.6596)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24583.3,71604.9,-783.5),(270.278,158.398,60.6596)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24606.8,72131.3,-844),(270.278,158.39,57.6673)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24556.7,72202,-842),(270.278,158.39,57.6673)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24473.9,71971.3,-866),(270.277,158.387,46.6705)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24449.4,72024,-866),(270.277,158.387,46.6705)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24483.9,71885.3,-690.237),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24442.2,71998.5,-688.01),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24316,72167.9,-568.322),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24399.9,71784.5,-617.125),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24330.9,72223.8,-536.672),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24806.3,72623,-621.965),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24704.8,72928.2,-719.769),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24776.2,72807.9,-739.316),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24273,72372,-531.184),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24669.6,72061.5,-793.908),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24744.9,72136.2,-713.625),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24541.5,73103.5,-850.875),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24571.7,73131.2,-850.135),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors2_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24527,72918.8,-755.768),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24401,71711.9,-874.873),(270,0,-136.002)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24480.7,71958.4,-865.254),(270,180,77.9974)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24885.8,72053,-844.116),(270,0,-7.00286)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24938.9,72008.7,-762.161),(270,0,-7.00286)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24600.4,71584.1,-783.658),(270,9.46232,-120.465)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24555.4,72273.6,-893.574),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24638.1,71960.1,-989.964),(270,0,25.9983)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24584.1,72881.1,-814.471),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24656,73037.3,-915.576),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24767.4,72315.8,-971.875),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24239.5,71876,-991.875),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24500.5,72645.9,-1021.38),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24418.9,73297.6,-1041.88),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("ocean_wave_runner","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((13931.5,69932.6,-7605.11),(270,0,-163)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24301.6,70181.5,-706.303),(270,0,-105.001)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24690.2,70124.1,-743.936),(270,0,-105.001)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25039.6,70122.7,-772.636),(270,0,-105.001)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25477.8,70184.6,-850.564),(270,191.31,141.689)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25504.2,70503.9,-878.272),(270,0,10.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25517.7,70773.7,-900),(270,0,35.9985)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25241.2,71038.7,-900),(270,0,35.9985)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24404.1,70197.6,-721.372),(270,0,-99.0011)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24959.2,70090.9,-762.958),(270,0,-67.0012)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25606.6,70179.9,-864.371),(270,0,14.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25281,70882.3,-900),(270,0,14.9986)); + var_00 = common_scripts\_createfx::createexploderex("mirage_distortion_medium","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25004.3,71381.9,-705.632),(270,0,118.997)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((24878.9,70203.7,-676.483),(270,0,143.997)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25230.8,70248.9,-700.653),(270,0,109.998)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25388.5,70246.8,-703.153),(270,0,163.998)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25312.9,70712.2,-769.181),(270,0,-93.0022)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25052.6,71794.2,-834.875),(270,0,68.998)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_leaves","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25024.8,70494.1,-554.239),(270,270,-158.003)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_leaves","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25316,70710.8,-714.957),(270,0,-82.0033)); + var_00 = common_scripts\_createfx::createexploderex("foliage_rolling_leaves","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25351.6,70747.9,-901),(270,0,-52.0017)); + var_00 = common_scripts\_createfx::createexploderex("foliage_rolling_leaves","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25576.1,70708.6,-901),(270,8.74616,-61.7479)); + var_00 = common_scripts\_createfx::createexploderex("foliage_rolling_leaves","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24810.5,71278.9,-917),(270,8.74616,-61.7479)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25232.4,71484.6,-838.731),(270,0,16.9983)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24670.8,71384.2,-936),(270,0,35.9985)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24695.8,71379.7,-936),(270,0,14.9986)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25290.9,71088.8,-768.314),(270.837,276.905,-75.8452)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25095.7,71015.1,-717),(270.837,276.94,-50.8818)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25052.4,71058.3,-717),(270.837,276.94,-50.8818)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25009.8,71100.9,-717),(270.837,276.94,-50.8818)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24994.2,71116.6,-717),(270.837,276.94,-50.8818)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24929.7,71180.9,-712),(270.837,276.94,-50.8818)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24911.7,71198.7,-712),(270.837,276.94,-50.8818)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24885.6,71224.8,-712),(270.837,276.94,-50.8818)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_particles","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25086.4,70836.3,-498.375),(270,180,48.998)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_particles","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24631.1,71314.7,-561.2),(270,0,-138.002)); + var_00 = common_scripts\_createfx::createexploderex("animal_fruitflies_flying","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25806.6,71000.7,-867.371),(270,0,-135.001)); + var_00 = common_scripts\_createfx::createexploderex("animal_fruitflies_flying","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25379,70959.8,-861.107),(270,0,-135.001)); + var_00 = common_scripts\_createfx::createexploderex("animal_fruitflies_flying","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25607.1,70926.6,-884.997),(270,0,-135.001)); + var_00 = common_scripts\_createfx::createexploderex("animal_fruitflies_flying","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25559.8,71075.6,-871.575),(270,0,-135.001)); + var_00 = common_scripts\_createfx::createexploderex("animal_fruitflies_flying","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25723.3,71061.7,-841.969),(270,0,-135.001)); + var_00 = common_scripts\_createfx::createexploderex("animal_fruitflies_flying","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25359.8,71249.5,-848.884),(270,0,-135.001)); + var_00 = common_scripts\_createfx::createexploderex("light_yellow_fill","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((26098.3,70306.7,-771.125),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24857.9,71616.8,-840.175),(359.425,307.522,0.276491)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24929.7,71664.8,-820.818),(359.469,299.521,0.353759)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25157.5,71357.1,-604.185),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25242.8,71275.6,-694.118),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25189.3,71279.1,-694.132),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25356.1,71038.7,-721.903),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25328.5,71049.8,-731.12),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25501,70957,-692.233),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24837,71624.3,-816),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24931.4,71662.6,-854.124),(359.469,299.521,0.353759)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25309.7,70637.3,-424.42),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25290.6,70745.6,-400.444),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25163.1,70483.8,-379.887),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25246.8,70863.5,-443),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25033.8,70450,-342),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24905.6,71344.1,-819.948),(0,36.1774,-6.12446)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24905.9,71345.7,-840.562),(0,36.1774,-6.12446)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25118.2,71428.8,-811.496),(7.02179,194.192,0.125957)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25118.6,71428.6,-834.834),(7.02179,194.192,0.125957)); + var_00 = common_scripts\_createfx::createexploderex("glow_bulb_1","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25044.9,71355.4,-779.214),(270,0,35.9985)); + var_00 = common_scripts\_createfx::createexploderex("glow_bulb_1","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24941.1,71528.7,-779.006),(270,0,35.9985)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_large_short","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24936,70437.3,-414.204),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_large_short","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25264.3,70581.1,-543.754),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25272.2,71140.5,-767.048),(270.837,276.905,-75.8452)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25251.5,71196.3,-767.141),(270.837,276.905,-75.8452)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25393.6,70957.7,-766.875),(270.837,276.899,-30.8392)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25442.2,70935.4,-766.945),(270.837,276.899,-30.8392)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25494.1,70911.2,-766.931),(270.837,276.899,-30.8392)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25760.1,70947.3,-766.825),(270.837,276.89,13.1688)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25722.7,70933.2,-766.944),(270.837,276.89,13.1688)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25664.1,70911.9,-766.942),(270.837,276.89,13.1688)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25475.8,70919.7,-766.941),(270.837,276.899,-30.8392)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25153.7,71213.4,-785.327),(270.837,276.882,-91.8234)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25092.4,71179.7,-784.837),(270.837,276.873,-34.8154)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25136.8,71180,-785.479),(270.837,276.876,-143.818)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25631.8,70938.3,-668.293),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25596.1,70933,-662.44),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("water_gutter_flow_slow","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25280.9,71462.9,-868.58),(14.0294,287.92,-0.400674)); + var_00 = common_scripts\_createfx::createexploderex("water_gutter_splash2","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25282.4,71457.3,-871.625),(275.742,291.169,-92.3859)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors2_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24596,70169.6,-571.805),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors2_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24585.7,70135.5,-559.443),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors2_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24586.4,70091.1,-561.684),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors2_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24491.5,70208.3,-515.968),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors2_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24834,70085.1,-510.145),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors2_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24834,70136.1,-506.559),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors2_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24834,70186,-506.798),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("foliage_rolling_leaves","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25456.1,70250.2,-851.63),(270,206.565,45.433)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24134.6,70305.1,-420.729),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25779.4,70116.8,-847.875),(270,0,8.99881)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_large_short","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25261.4,70123.4,-556.393),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_large_short","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25103.7,70179.1,-548.691),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_large_short","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25303.8,70212.1,-551.868),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24396.9,70086.7,-729.063),(270,0,-67.0012)); + var_00 = common_scripts\_createfx::createexploderex("foliage_rolling_leaves","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24384.1,70073.2,-724.85),(274,346.998,-156)); + var_00 = common_scripts\_createfx::createexploderex("foliage_rolling_leaves","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24893.7,70180.6,-753.747),(278.951,353.686,-174.652)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25715.2,70231,-752.437),(270,180,138.997)); + var_00 = common_scripts\_createfx::createexploderex("foliage_rolling_leaves","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25226.9,70064,-816.599),(278.951,353.686,-159.652)); + var_00 = common_scripts\_createfx::createexploderex("foliage_rolling_leaves","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25633.5,70407.8,-875.038),(270,180,117.998)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24845,71240.9,-720.059),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24742.6,71349.1,-729.387),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25128.1,71801.1,-710.091),(270,0,-7.00286)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24385.6,71360.9,-542.08),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24987.9,71432.8,-889.875),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_red_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23458.8,68665.2,-187.893),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_red_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23280.2,68652.8,-197.4),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_red_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23278.2,68654.4,-197.428),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_red_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23276.2,68655.9,-197.406),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_red_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23272.4,68658.9,-197.41),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_red_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23270.4,68660.4,-197.406),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_red_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23267.8,68662.5,-197.415),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_red_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23207.3,68659.7,-187.878),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_red_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23207.9,68660.2,-198.067),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_red_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23221.3,68660.9,-157.391),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_red_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23209.7,68660.4,-167.526),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_red_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23210.8,68653.4,-135.774),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_red_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23223.7,68966.3,-228.675),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_red_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23215,68907.4,-197.409),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_red_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23215.5,68909.9,-197.379),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_red_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23216.1,68912.3,-197.414),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_red_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23217.3,68917.9,-197.437),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_red_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23217.8,68920.3,-197.402),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_red_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23218.4,68922.8,-197.419),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_red_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23203.9,68848.1,-236.566),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_red_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23203.3,68856.5,-236.563),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_red_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23203.5,68849.3,-218.023),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23214.7,68662,-192.382),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23217,68662.2,-192.368),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23219.2,68662.4,-192.384),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23218.1,68662.3,-193.441),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23215.9,68662.1,-193.433),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23214.8,68662,-194.475),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23217,68662.2,-194.461),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23219.2,68662.4,-194.465),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23214.8,68662,-161.864),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23217,68662.3,-161.861),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23219.2,68662.4,-161.879),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23218.1,68662.3,-162.922),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23215.8,68662.1,-162.92),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23214.7,68662,-163.977),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23217,68662.2,-163.962),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23219.2,68662.4,-163.966),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23222.8,68958,-222.871),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23222.3,68955.8,-222.868),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23221.8,68953.7,-222.875),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23222,68954.7,-223.927),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23222.6,68956.9,-223.941),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23222.9,68958,-224.953),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23222.3,68955.8,-224.967),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23221.8,68953.7,-224.966),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23203.8,68861,-227.402),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23203.8,68861,-229.108),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23203.8,68861,-230.812),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23203.8,68860.2,-229.963),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23203.8,68860.2,-228.246),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23203.9,68859.4,-227.376),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23203.9,68859.4,-229.109),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23203.9,68859.4,-230.823),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23204.6,68853.8,-208.892),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23204.6,68853.8,-210.578),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23204.6,68853,-209.722),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23204.5,68852.2,-208.903),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23204.5,68852.2,-210.591),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23204.6,68853,-211.459),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23280.2,68652.8,-196.528),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23277.6,68654.9,-196.499),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23274.9,68656.9,-196.504),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23273.1,68658.3,-196.504),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23270.4,68660.4,-196.498),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23267.8,68662.4,-196.515),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23223.1,68661.6,-201.037),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23221.6,68661.5,-201.052),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23220.2,68661.3,-201.085),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23218.7,68661.2,-201.063),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23217.3,68661.1,-201.08),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23216.3,68660.5,-176.248),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23215.3,68660.4,-176.247),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23214.4,68660.3,-176.248),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23213.4,68660.2,-176.226),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23212.3,68660.1,-176.224),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23223,68661.6,-170.499),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23221.6,68661.5,-170.519),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23220.2,68661.3,-170.545),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23218.8,68661.2,-170.554),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23217.3,68661.1,-170.548),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23216.3,68660.5,-145.745),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23215.3,68660.4,-145.733),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23214.4,68660.3,-145.712),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23213.3,68660.2,-145.746),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23212.3,68660.1,-145.734),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23223.1,68652.7,-133.625),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23222,68652.7,-133.595),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23221,68652.8,-133.626),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23219.9,68652.9,-133.62),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23218.8,68652.9,-133.571),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23443.2,68657.2,-190.221),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23443.3,68657.2,-191.32),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23443.3,68657.2,-192.361),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23443.3,68657.2,-193.428),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23443.3,68657.2,-194.513),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23436.8,68655.2,-193.399),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23436.8,68655.2,-195.076),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23436.8,68655.2,-196.804),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23437.5,68655.6,-195.969),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23437.5,68655.6,-194.223),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23438.3,68655.9,-193.382),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23438.3,68655.9,-195.093),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23438.3,68655.9,-196.817),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_red_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23441.3,68656.3,-202.51),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_red_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23310.1,68638.9,-191.567),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_red_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23339.2,68634,-182.039),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23215,68907.3,-196.513),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23215.7,68910.6,-196.496),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23216.4,68913.9,-196.507),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23216.9,68916.2,-196.52),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23217.6,68919.5,-196.524),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23218.4,68922.8,-196.503),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("flare_light_pulse_blue_dim","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23215,68670.8,-226.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("flare_light_pulse_blue_dim","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23306.9,68592.8,-227.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23644.3,68694.4,-239.031),(270,0,-178.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_red_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23459.6,68665.2,-228.566),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_red_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23469.9,68664.6,-166.401),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_red_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23661.6,68705.3,-236.539),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_red_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23655.1,68691.1,-236.572),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23584.4,68649.4,-222.902),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23586.6,68649.1,-222.867),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23464.3,68670.6,-222.882),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23466,68672,-222.854),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23467.7,68673.4,-222.897),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23465.1,68671.3,-223.922),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23466.9,68672.7,-223.926),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23467.7,68673.4,-224.977),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23466,68672,-224.976),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23464.2,68670.6,-224.995),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23463.6,68671.4,-192.376),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23465.4,68672.8,-192.352),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23467.1,68674.2,-192.368),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23466.2,68673.5,-193.428),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23464.5,68672.1,-193.426),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23463.6,68671.3,-194.461),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23465.3,68672.8,-194.498),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23467.1,68674.2,-194.48),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23588.8,68648.7,-222.862),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23587.7,68648.9,-223.923),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23585.5,68649.2,-223.924),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23584.4,68649.4,-224.987),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23586.6,68649.1,-224.959),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23588.8,68648.7,-224.967),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23657.4,68703.5,-227.395),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23657.4,68703.5,-229.093),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23658.1,68703.9,-229.943),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23658.1,68703.9,-228.238),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23658.7,68704.4,-227.364),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23658.7,68704.4,-229.102),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23650.5,68690.2,-227.408),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23650.5,68690.2,-229.101),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23651.3,68690.5,-229.96),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23651.3,68690.5,-228.231),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23652,68690.8,-227.372),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_blue_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23652,68690.8,-229.109),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23470.8,68675.6,-201.054),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23469.6,68674.7,-201.029),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23468.5,68673.8,-201.026),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23467.4,68672.9,-201.028),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23466.3,68672,-201.056),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23465.7,68670.9,-176.236),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23465,68670.2,-176.268),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23464.3,68669.7,-176.258),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23463.5,68669,-176.254),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23462.7,68668.4,-176.24),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23481.3,68665.6,-164.175),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23480.2,68665.5,-164.134),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23479.1,68665.4,-164.126),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23478.1,68665.4,-164.117),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("glow_computer_green_blink","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23477,68665.3,-164.093),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23351.3,68721.8,-209),(270,0,-154.002)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23627.3,68915.7,-237),(270,0,-178.002)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23329.5,68927.4,-214),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23620.8,68783,-234),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("animal_seagulls_flock_large_flying","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25119.8,69100.8,289.5),(1.93228,250.874,-94.7196)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23164.3,68920.2,-94.8335),(30.4062,3.57114,0)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23164.6,68920.4,-81.5082),(30.4062,3.57114,0)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23323.6,69063.8,-94.6665),(12.5462,271.991,0.41442)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23309.8,69062.5,-94.5896),(12.5462,271.991,0.41442)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23309.8,69062.5,-80.1992),(12.5462,271.991,0.41442)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23323.3,69063.7,-80.1148),(12.5462,271.991,0.41442)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23651.9,68598.4,-79.1064),(26.4113,94.1964,0.71891)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23665.5,68599.6,-79.312),(26.4113,94.1964,0.71891)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23782.8,68735.4,-79.8481),(16.4263,184.649,0.212241)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23781.7,68748.8,-80.0104),(16.4263,184.649,0.212241)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23762.6,68966.5,-79.2654),(16.4263,184.649,0.212241)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23761.5,68980,-79.2216),(16.4263,184.649,0.212241)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23622,69089.8,-79.8439),(19.9577,276.695,1.3847)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23608.8,69088.6,-79.4063),(23.999,271.341,-0.446706)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_med2","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23665.1,69088.7,-169.668),(359.854,256.523,-0.379022)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_med2","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23666.5,69088.9,-204.794),(359.835,253.523,-0.370881)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23665,68599.5,-94.7965),(26.4113,94.1964,0.71891)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23651.7,68598.4,-94.5086),(26.4113,94.1964,0.71891)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23781.6,68749.4,-94.9321),(16.4263,184.649,0.212241)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23782.9,68735.1,-94.9557),(16.4263,184.649,0.212241)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23762.6,68966.3,-94.3357),(16.4263,184.649,0.212241)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23761.4,68980.1,-94.3793),(16.4263,184.649,0.212241)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23609.1,69088.7,-94.4212),(19.9577,276.695,1.3847)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23622.3,69089.9,-94.6373),(19.9577,276.695,1.3847)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23866.7,68871.8,-238.555),(27.5455,272.112,0.455969)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23852.9,68870.6,-238.295),(26.5455,272.103,0.452028)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23866.9,68871.9,-221.946),(27.5456,272.112,0.455909)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23852.9,68870.6,-221.626),(27.5456,272.112,0.455975)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short_particles","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23163.5,68921,-83.3615),(28.7059,9.21248,0.263811)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short_particles","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23317,69063.3,-83.7142),(14.75,278.287,0.303671)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short_particles","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23658.4,68598.8,-84.3786),(23.8717,99.5906,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short_particles","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23727.4,68604.5,-160.885),(23.8717,99.5906,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short_particles","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23603.6,68593.6,-162.901),(23.8717,99.5906,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short_particles","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23780.9,68741.6,-84.4429),(23.9887,186.347,0.904383)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short_particles","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23760.6,68973.8,-83.4522),(23.9887,186.347,0.904383)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short_particles","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23615.5,69089.4,-82.9897),(14.7514,276.218,-0.223027)); + var_00 = common_scripts\_createfx::createexploderex("animal_fruitflies_flying","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23555.1,68914.1,-204.062),(270,0,-135.001)); + var_00 = common_scripts\_createfx::createexploderex("steam_chimney_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23886.3,69723.4,-158.5),(270,0,62.9996)); + var_00 = common_scripts\_createfx::createexploderex("steam_chimney_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23479.1,69946.8,-237.217),(270,0,62.9996)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23469.4,69303.5,-151.867),(270,0,-159.002)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_particles","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23300.2,69637.2,-162.375),(270,180,20.998)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23735.1,69177,-113.125),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23823.1,69218.2,-157.906),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23756,69300.4,-109.404),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23641.3,69339.2,-90.125),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23754.8,69105.9,-21.1757),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_narrow","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23166.3,68923.7,-75.5522),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23813.9,68950.6,-226),(270,180,4.99679)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23809.1,69004.7,-226),(270,180,4.99679)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23648.8,69238.8,-90.875),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23656.1,69159.4,-90.875),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23689.3,69197.9,-90.875),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23683.5,69290.9,-90.875),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23622.2,69193.5,-90.875),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23612.6,69275.9,-90.875),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23578.1,69332.4,-90.875),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23586.3,69231.5,-90.875),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23555.3,69184.1,-90.875),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23548.2,69273.3,-90.875),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23512.8,69330.4,-90.875),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23519.8,69223.2,-90.875),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23432.3,69352.4,-96.078),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("steam_chimney_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23909.6,69745,-157.375),(270,0,62.9996)); + var_00 = common_scripts\_createfx::createexploderex("ac_fan_distortion","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23673.6,69676.8,-228.907),(270.518,201.029,158.963)); + var_00 = common_scripts\_createfx::createexploderex("ac_fan_distortion","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23673.8,69751,-228.907),(270.518,201.029,158.963)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short_particles","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23760.7,68973.9,-157.88),(23.9887,186.347,0.904383)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short_particles","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23749.4,68974.7,-180.899),(23.9887,186.347,0.904383)); + var_00 = common_scripts\_createfx::createexploderex("flare_light_pulse_blue_dim","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23473.6,68622.2,-222.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_med2","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23757.8,68969.7,-157.194),(359.61,204.523,-0.118722)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_med2","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23758.3,68970.2,-181.135),(359.61,204.523,-0.118722)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small2","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23164.7,68922.4,-82.0694),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small2","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23315.3,69063.4,-84.5694),(17.1572,291.475,2.67446)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small2","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23659.6,68598.6,-85.6003),(23.8717,99.5906,0)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small2","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23780.8,68742.6,-84.8226),(23.9887,186.347,0.904383)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small2","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23760.7,68973,-83.6872),(23.9887,186.347,0.904383)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small2","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23615.6,69089.4,-84.9736),(14.7514,276.218,-0.223027)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small2","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23859.2,68870.4,-223.218),(37.8649,252.221,-0.48896)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23552.6,69404.8,-627.863),(270,180,95.9991)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24009.3,69417.7,-560.875),(270,0,-135.001)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24246.9,69214,-558.898),(270,180,-172.001)); + var_00 = common_scripts\_createfx::createexploderex("animal_fruitflies_flying","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24082.9,69432.4,-515.126),(270,0,-135.001)); + var_00 = common_scripts\_createfx::createexploderex("animal_fruitflies_flying","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24046.5,69031.1,-534.225),(270,0,-135.001)); + var_00 = common_scripts\_createfx::createexploderex("animal_fruitflies_flying","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23579.5,68861.8,-377.875),(270,0,-135.001)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23863.4,68713,-407.181),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23638.6,69159.1,-413.741),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23669.1,68708.9,-401.765),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23438.5,69239.7,-405.795),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23672.8,68886.1,-408.043),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23768.4,69484.9,-585.364),(270,180,95.9991)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24008.9,69694.9,-579.212),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23989.1,69601.2,-560),(270,0,-172.001)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24088.2,69393,-563.875),(270,0,-152.001)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24243.9,69243.5,-563.875),(270,0,-168.001)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23456.8,68874.2,-415.875),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23453.3,69332.6,-364.599),(0.152625,293.522,-0.378397)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23453.2,69334.7,-346.956),(0.152457,293.522,-0.378614)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23452.7,69334.7,-328.345),(0,283.522,-0.399298)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short_particles","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23688.1,68597,-331.231),(22.6352,114.701,-0.230301)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short_particles","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23600.8,68589.4,-356.774),(22.6352,114.701,-0.230301)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short_particles","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23600.2,68589.3,-332.513),(22.6352,114.701,-0.230301)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short_particles","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23765,68981.9,-331.735),(23.9887,186.347,0.904383)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short_particles","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23765,68982,-358.393),(23.9887,186.347,0.904383)); + var_00 = common_scripts\_createfx::createexploderex("animal_fruitflies_flying","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23461.7,69054.8,-381.375),(270,0,-135.001)); + var_00 = common_scripts\_createfx::createexploderex("light_cuc_monitor_2_med","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23533.3,69325.9,-350.087),(11.9995,271.436,-0.41708)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23843.9,69188.4,-411.875),(270,0,-135.001)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23993.2,69337.5,-564),(270,0,-145.001)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24025.6,69555,-389.639),(270,0,109.998)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_particles","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24278.7,69430.1,-139),(270,356.82,99.1777)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_leaves","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24461.5,69434.7,-110.757),(270,0,48.9977)); + var_00 = common_scripts\_createfx::createexploderex("foliage_rolling_leaves","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23960.9,69416.9,-564),(270,0,121.998)); + var_00 = common_scripts\_createfx::createexploderex("foliage_rolling_leaves","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24072,69400.7,-564),(270,333.435,157.563)); + var_00 = common_scripts\_createfx::createexploderex("foliage_rolling_leaves","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24265.8,69238.6,-564),(270,0,92.9968)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23808.3,69372.9,-392.824),(270,0,-102.001)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23843.9,69007.8,-415.875),(270,0,-4.00127)); + var_00 = common_scripts\_createfx::createexploderex("foliage_rolling_leaves","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23975.4,69628.7,-564),(270,0,95.9976)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23957.7,69402.5,-335.424),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("water_gutter_flow_slow","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23936.3,69596.4,-561.793),(15.0409,270.384,1.1661)); + var_00 = common_scripts\_createfx::createexploderex("water_gutter_splash2","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23936.1,69592.2,-564),(270,0,171.997)); + var_00 = common_scripts\_createfx::createexploderex("animal_fruitflies_flying","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24305.3,69292.1,-552.605),(270,0,-135.001)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23701.4,69458.4,-471.253),(270,0,34.9971)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23651.2,69440.7,-508.425),(270,0,93.9974)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23660.9,69462,-509.5),(270,0,-174.003)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23504.9,69383.6,-508),(270,0,94.9976)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23449.7,69378.8,-508),(270,0,94.9976)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23633.2,69370.2,-434.864),(270,0,0.996877)); + var_00 = common_scripts\_createfx::createexploderex("animal_fruitflies_flying","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23674.5,69377.1,-592.769),(270,0,-135.001)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24216,69300.3,-407.917),(270,0,94.9971)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23970.8,69306.8,-397.782),(276,2.9969,90)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24109.4,69315.7,-359.153),(300,182.997,-87.9997)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24026.4,69310.6,-400.065),(286,182.996,-84.9999)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24056.7,69314.4,-390.377),(295,182.997,-89.9998)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23919.6,69429.8,-341.763),(270,0,130.998)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23729.8,69584.9,-257.684),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24137.1,69319.9,-302.125),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24074.5,69370.1,-309.244),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_small_short_particles","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23691.2,68597,-356.066),(22.6352,114.701,-0.230301)); + var_00 = common_scripts\_createfx::createexploderex("ac_fan_distortion","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24344.7,69156.7,-382.456),(31.3971,190.43,-176.703)); + var_00 = common_scripts\_createfx::createexploderex("ac_fan_distortion","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23901.9,69590.7,-376.627),(32.1715,269.024,-179.572)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23973.8,69445.1,-442.237),(270,0,109.998)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24105.9,69399.6,-305.999),(270,0,35.9976)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24133.2,69361.1,-306.305),(270,0,35.9976)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24112.3,69210.4,-563.401),(270,180,46.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23920.8,69549.4,-558),(270,180,38.9984)); + var_00 = common_scripts\_createfx::createexploderex("ac_fan_distortion","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23581.5,69359.2,-498.207),(30.327,95.2083,-179.992)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23733.5,69554.6,-397.08),(270,7.12502,138.872)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23975.7,69257.8,-395.275),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23969.3,69335.1,-394.511),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_large_short","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24104.4,69051.4,-396.676),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("animal_fruitflies_flying","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23990.7,69209.9,-523.034),(270,0,-135.001)); + var_00 = common_scripts\_createfx::createexploderex("light_flare_spot_small","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23636.4,68811.8,-411.953),(340,318,0)); + var_00 = common_scripts\_createfx::createexploderex("light_flare_spot_small_crevice","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23449.3,68706.7,-360.519),(344.358,54.3702,89.8191)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23863.9,68914.3,-318.102),(270,180,88.9965)); + var_00 = common_scripts\_createfx::createexploderex("water_drip_single","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23892.6,68886.8,-318.812),(270,0,-165.003)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small2","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23450.7,69331.9,-332.416),(0.152457,293.522,-0.378614)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_small2","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23449.8,69331.8,-354.382),(0.152457,293.522,-0.378614)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_crevice","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23691.2,68604.7,-344.259),(0.591331,15.5444,75.8698)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_crevice","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23594.4,68597.3,-345.356),(0.591331,15.5444,75.8698)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_crevice","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23753.9,68980.5,-344.809),(359.989,97.2096,76.6327)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_crevice","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23753.9,68981.7,-344.391),(359.779,278.18,-76.6334)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_crevice","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23745.5,69076.3,-346.209),(359.779,278.18,-76.6334)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_crevice2","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23481.3,68764,-382.985),(358.228,347.231,88.9184)); + var_00 = common_scripts\_createfx::createexploderex("glow_window_ambient_crevice2","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23479.7,68753.5,-323.272),(358.228,347.231,88.9184)); + var_00 = common_scripts\_createfx::createexploderex("animal_fruitflies_flying","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22731.4,69825.8,-601.824),(270,0,-135.001)); + var_00 = common_scripts\_createfx::createexploderex("animal_fruitflies_flying","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22839.9,69715.9,-615.687),(270,0,-135.001)); + var_00 = common_scripts\_createfx::createexploderex("animal_seagulls_flock_large_flying","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21199,70596.9,14.111),(359.362,38.9079,-88.6824)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23028.6,69750.6,-648.985),(271.967,117.668,112.957)); + var_00 = common_scripts\_createfx::createexploderex("animal_fruitflies_flying","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22698,69893.2,-620.806),(270,0,-135.001)); + var_00 = common_scripts\_createfx::createexploderex("animal_fruitflies_flying","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22885.6,69635.5,-618.24),(270,0,-135.001)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22654.7,69449.5,-686.132),(270,180,79.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22729.8,69619.7,-686.291),(270,0,-149.001)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23047.7,69494.1,-670.041),(270,180,78.9987)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22303.9,70296,-653.912),(270,0,-149.001)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23141.8,69335.5,-674.172),(270,180,104.999)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23018,69521.3,-458.833),(270,0,109.998)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23176.5,69604.5,-478.104),(270,0,109.998)); + var_00 = common_scripts\_createfx::createexploderex("animal_fruitflies_flying","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22822.8,69516.4,-648.638),(270,0,-135.001)); + var_00 = common_scripts\_createfx::createexploderex("animal_fruitflies_flying","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22910.8,69489.8,-643.267),(270,0,-135.001)); + var_00 = common_scripts\_createfx::createexploderex("animal_fruitflies_flying","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22795.6,69492.2,-662.516),(270,0,-135.001)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_particles","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21238.2,71047.2,-745.222),(273,200.997,0)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_leaves","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23042.1,69640.9,-427.967),(270,0,109.998)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_leaves","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23130.9,69598.2,-492.439),(270,0,109.998)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_large_short","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23162.1,69523,-341.112),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_large_short","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22990.8,69518.1,-372.643),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_large_short","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23073.1,69692,-330.267),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22576.7,69425.9,-591.836),(270,0,179.998)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23326.5,69478.4,-381.875),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22439.1,69877.4,-479.125),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22404.2,69878.1,-488.125),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22541.2,69802.3,-473.125),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22593.5,69784.9,-473.125),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22037.5,70059.9,-452.875),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21983.4,70007,-450.875),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21875.5,69967.9,-445.875),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22078.2,69997.7,-449.875),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("foliage_rolling_leaves","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22951.1,69314.5,-679.319),(270,0,-166.002)); + var_00 = common_scripts\_createfx::createexploderex("foliage_rolling_leaves","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23057.8,69480.8,-677.842),(270,0,178.998)); + var_00 = common_scripts\_createfx::createexploderex("foliage_rolling_leaves","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23455.8,69348.4,-650.912),(278.298,204.153,-1.65603)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_large_short","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22907.2,69553.5,-412.326),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_leaves","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23188.2,69443.7,-386.975),(270,0,174.998)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22576.9,69559.2,-271.395),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22463.8,69467.5,-270.467),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22469.7,69726.3,-263.931),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("animal_fruitflies_flying","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23357,69455.1,-639.676),(270,0,-135.001)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_particles","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21705.1,70128.3,-625.875),(270,180,20.998)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21639.4,69914.4,-573.45),(270,0,-147.003)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21937.4,70130.9,-590.234),(270,0,176.997)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21752.4,70004.9,-572.121),(270,0,-147.003)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_leaves","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21802.1,70050.2,-510.665),(270,0,-164.002)); + var_00 = common_scripts\_createfx::createexploderex("clouds_ambient_lg_oriented2_cc","130"); + var_00 common_scripts\_createfx::set_origin_and_angles((-24783.6,-39359.3,-1600.92),(283.528,297.213,13.2297)); + var_00 = common_scripts\_createfx::createexploderex("safehouse_drone_prep_dustoff","100"); + var_00 common_scripts\_createfx::set_origin_and_angles((23605,68921.1,-204.067),(270,0,98.9994)); + var_00 = common_scripts\_createfx::createexploderex("safehouse_drone_prep_dust_impact","101"); + var_00 common_scripts\_createfx::set_origin_and_angles((23589.4,68918.5,-204.065),(270,0,98.9994)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_burst_2b","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20473.6,-46529.3,221.125),(0,180.999,0)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_burst_2a","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20306,-46708.6,226.125),(360,286.999,0)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shatter","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20573.3,-46908.6,190.903),(359.96,240.027,-91.4345)); + var_00.v["delay"] = 0.4; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shatter","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20587.8,-46931.5,244.551),(359.96,240.027,-91.4345)); + var_00.v["delay"] = 0.4; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shatter","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20495.5,-46983.7,242.637),(359.96,240.027,-91.4345)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shatter","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20481,-46960.7,188.949),(359.96,240.027,-91.4345)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shatter","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20679.9,-46879.3,246.261),(359.96,240.027,-91.4345)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shatter","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20664,-46853.5,186.237),(359.96,240.027,-91.4345)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shatter","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20511.8,-47010.5,305.944),(359.96,240.027,-91.4345)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shatter","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20695,-46904.2,304.924),(359.96,240.027,-91.4345)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shatter","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20784.9,-46853,306.159),(359.96,240.027,-91.4345)); + var_00.v["delay"] = 0.6; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shatter","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20770,-46827.3,246.314),(359.96,240.027,-91.4345)); + var_00.v["delay"] = 0.6; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shatter","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20756,-46802.2,189.415),(359.96,240.027,-91.4345)); + var_00.v["delay"] = 0.6; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shatter","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20391,-47013.6,190.485),(359.96,240.027,-91.4345)); + var_00.v["delay"] = 0.6; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shatter","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20406.8,-47037.4,247.044),(359.96,240.027,-91.4345)); + var_00.v["delay"] = 0.6; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shatter","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20420.2,-47065.8,310.018),(359.96,240.027,-91.4345)); + var_00.v["delay"] = 0.6; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shatter","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20321.1,-47003,190.417),(1.43363,329.025,-90.0661)); + var_00.v["delay"] = 0.7; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shatter","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20327.5,-47014.1,246.535),(1.43363,329.025,-90.0661)); + var_00.v["delay"] = 0.7; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shatter","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20788.8,-46748.6,246.892),(358.565,153.026,-90.0346)); + var_00.v["delay"] = 0.7; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shatter","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20781.1,-46735.3,189.729),(358.565,153.026,-90.0346)); + var_00.v["delay"] = 0.7; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shatter","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20741,-46665.8,186.811),(358.565,153.026,-90.0346)); + var_00.v["delay"] = 0.8; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shatter","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20740.9,-46665.7,250.501),(358.565,153.026,-90.0346)); + var_00.v["delay"] = 0.8; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shatter","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20280.1,-46932.1,246.967),(1.43515,330.024,-90.0409)); + var_00.v["delay"] = 0.8; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shatter","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20280.1,-46932.1,186.685),(1.43515,330.024,-90.0409)); + var_00.v["delay"] = 0.8; + var_00 = common_scripts\_createfx::createexploderex("cc_building_smoke_window_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20383.7,-46875.3,274.875),(89.3224,291.412,-17.6176)); + var_00.v["delay"] = 3; + var_00 = common_scripts\_createfx::createexploderex("cc_building_smoke_window_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20468.4,-46920.4,284.875),(89.3223,291.415,47.3859)); + var_00.v["delay"] = 4; + var_00 = common_scripts\_createfx::createexploderex("cc_building_smoke_window_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20652,-46739.7,285.875),(89.3223,291.427,105.397)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("cc_building_smoke_window_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20067.4,-46377.6,237.875),(89.3224,291.409,-103.62)); + var_00.v["delay"] = 4; + var_00 = common_scripts\_createfx::createexploderex("cc_building_smoke_window_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19950.7,-46185.7,301.875),(89.3224,291.416,-128.613)); + var_00.v["delay"] = 4; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_smoke_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20407.6,-46749.9,383.125),(270.678,111.382,-8.35414)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("cc_building_smoke_filler","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20426.3,-46710,236.125),(89.3224,291.415,10.3857)); + var_00.v["delay"] = 4; + var_00 = common_scripts\_createfx::createexploderex("cc_building_smoke_filler","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20494.8,-46627.5,235.125),(89.3224,291.425,91.3952)); + var_00.v["delay"] = 3; + var_00 = common_scripts\_createfx::createexploderex("cc_building_smoke_window_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20209.5,-46651.1,188.695),(89.3224,291.415,-29.6143)); + var_00.v["delay"] = 4; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shock","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20571.9,-46907.8,184.766),(26.9582,240.315,0.633946)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shock","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20586.9,-46932.7,245.744),(26.9582,240.315,0.633946)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shock","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20601.7,-46961.6,311.158),(26.9582,240.315,0.633946)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shock2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20481.2,-46959.5,187.017),(26.9582,240.315,0.633946)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shock2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20495.9,-46985.9,246.868),(26.9582,240.315,0.633946)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shock2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20511.9,-47013.4,310.914),(26.9582,240.315,0.633946)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shock2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20663.3,-46854.5,187.206),(26.9582,240.315,0.633946)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shock2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20678.6,-46880.8,247.533),(26.9582,240.315,0.633946)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shock2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20694.1,-46907.3,309.409),(26.9582,240.315,0.633946)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shock3","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20755.7,-46801.8,188.311),(26.9582,240.315,0.633946)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shock3","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20769.9,-46829,249.22),(26.9582,240.315,0.633946)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shock3","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20785.4,-46855,310.143),(26.9582,240.315,0.633946)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shock3","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20390.5,-47013.6,188.046),(26.9582,240.315,0.633946)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shock3","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20406.6,-47039,249.516),(26.9582,240.315,0.633946)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shock3","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20421.1,-47065.9,311.162),(26.9582,240.315,0.633946)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shock3","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20781.5,-46736,231.365),(358.565,153.026,-90.0346)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shock3","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20742.3,-46668,230.348),(358.565,153.026,-90.0346)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shock3","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20280.1,-46932,229.858),(359.437,330.024,90.0635)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shock3","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20322.3,-47004.4,230.762),(359.437,330.024,90.0635)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_roof_shock","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20577.2,-46915.5,375.125),(270.566,145.867,94.1602)); + var_00.v["delay"] = 0.4; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_roof_shock","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20487.6,-46967.8,377.125),(270.566,145.867,94.1602)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_roof_shock","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20403.7,-47013.7,375.125),(270.566,145.867,94.1602)); + var_00.v["delay"] = 0.6; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_roof_shock","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20667.1,-46860.8,375.125),(270.566,145.867,94.1602)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_roof_shock","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20740.4,-46815.8,373.125),(270.566,145.867,94.1602)); + var_00.v["delay"] = 0.6; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_roof_shock","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20681.1,-46702.6,373.125),(270.566,145.867,94.1602)); + var_00.v["delay"] = 0.6; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_roof_shock","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20606.3,-46764.7,375.125),(270.566,145.867,94.1602)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_roof_shock","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20355.9,-46927.1,373.125),(270.566,145.867,94.1602)); + var_00.v["delay"] = 0.6; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_roof_shock","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20524.5,-46812.5,375.125),(270.566,145.867,94.1602)); + var_00.v["delay"] = 0.4; + var_00 = common_scripts\_createfx::createexploderex("cc_building_gate_breach_explosion","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18811,-47472.2,-462),(270,175.333,150.666)); + var_00.v["delay"] = 0.7; + var_00 = common_scripts\_createfx::createexploderex("cc_building_gate_breach_explosion","500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18828.2,-47463.1,-463.345),(271,241.999,-90.0004)); + var_00.v["delay"] = 0.7; + var_00 = common_scripts\_createfx::createexploderex("cc_building_mute_charge_burst","700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20946.6,-46646,-471.875),(271,241.994,-1.9955)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("cc_building_water_splash","600"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20369.4,-47242.4,-523.875),(270,180,148)); + var_00.v["delay"] = 2.65; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_papers","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20538.8,-46597.5,209.125),(0,180.999,0)); + var_00.v["delay"] = 0.2; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_papers","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20312.5,-46748.1,208.125),(360,286.999,0)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_papers","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20585,-46730.7,222.125),(0,232.999,0)); + var_00.v["delay"] = 0.35; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_papers","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20420.7,-46839.7,233.125),(0,241.999,0)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("civ_group_idle_runner_light","666"); + var_00 common_scripts\_createfx::set_origin_and_angles((23046.4,69348.5,-2239.95),(272.925,7.49733,90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf3829_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((23916,69420,-371),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("foliage_dub_potted_spikey_plant","pf3829_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((23915.8,69420.4,-384),(0,95,0)); + var_00 = common_scripts\_createfx::createexploderex("safehouse_dust_trail_drag","70"); + var_00 common_scripts\_createfx::set_origin_and_angles((24018.8,69288.2,-563.875),(271,188.995,91.0028)); + var_00.v["delay"] = 2; + var_00 = common_scripts\_createfx::createexploderex("safehouse_drone_draft_plants","120"); + var_00 common_scripts\_createfx::set_origin_and_angles((23628.1,69370.7,-202.875),(270,0,98.9994)); + var_00.v["delay"] = 5.3; + var_00 = common_scripts\_createfx::createexploderex("cc_blood_pool_water","600"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20311.6,-47279.5,-523.875),(270,0,149)); + var_00.v["delay"] = 2.65; + var_00 = common_scripts\_createfx::createexploderex("blood_impact_splat","80"); + var_00 common_scripts\_createfx::set_origin_and_angles((23740.3,68663.8,-368.875),(0.816635,35.0012,0.573174)); + var_00.v["delay"] = 0.8; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_burst_2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20601.7,-46760.2,237.125),(0,223.999,0)); + var_00.v["delay"] = 0.4; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_burst_2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20440.9,-46844.8,229.125),(0,249.999,0)); + var_00.v["delay"] = 0.45; + var_00 = common_scripts\_createfx::createexploderex("cc_building_gate_breach_explosion","700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20948.3,-46642.6,-456.875),(271,242.018,177.979)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_roof_shock","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20436.4,-46879.7,376.125),(270.566,145.867,94.1602)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_glass_shatter","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20605,-46963.3,309.567),(359.96,240.027,-91.4345)); + var_00.v["delay"] = 0.4; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_smoke_xlarge","1001"); + var_00 common_scripts\_createfx::set_origin_and_angles((19374.8,90276.3,1060.5),(270,0,48.9966)); + var_00.v["delay"] = 3; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_smoke_xlarge_a","1001"); + var_00 common_scripts\_createfx::set_origin_and_angles((19671.5,89936.1,939.5),(270,0,40.9966)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_smoke_xlarge_a","1001"); + var_00 common_scripts\_createfx::set_origin_and_angles((19629.7,91479,1065.13),(270,0,40.9966)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_smoke_xlarge_a","1001"); + var_00 common_scripts\_createfx::set_origin_and_angles((20732.2,89650.6,4.91992),(270,0,40.9966)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_fire_lg","1001"); + var_00 common_scripts\_createfx::set_origin_and_angles((20221,89928.3,188.54),(270,354.289,77.7081)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_fire_lg","1001"); + var_00 common_scripts\_createfx::set_origin_and_angles((19595,90138.4,1155.18),(270,354.289,77.7081)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_fire_lg","1001"); + var_00 common_scripts\_createfx::set_origin_and_angles((20363.2,91230.5,1136.87),(270,354.289,77.7081)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_fire_lg","1001"); + var_00 common_scripts\_createfx::set_origin_and_angles((20378.3,91155.4,533.1),(270,354.289,77.7081)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_fire_lg","1001"); + var_00 common_scripts\_createfx::set_origin_and_angles((20702.1,90589.3,200.79),(270,354.289,77.7081)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_fire_lg","1001"); + var_00 common_scripts\_createfx::set_origin_and_angles((20319.3,90812.3,858.5),(270,354.289,77.7081)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_smoke_window_large","1001"); + var_00 common_scripts\_createfx::set_origin_and_angles((20348.4,91033.8,1043.19),(89.3224,291.424,-109.606)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_smoke_window_large","1001"); + var_00 common_scripts\_createfx::set_origin_and_angles((19664.7,90168.4,916.74),(89.3224,291.426,43.396)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_smoke_window_large","1001"); + var_00 common_scripts\_createfx::set_origin_and_angles((19220.5,90297.6,936.93),(89.3224,291.438,73.4081)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_smoke_window_large","1001"); + var_00 common_scripts\_createfx::set_origin_and_angles((19592.4,90148.8,965.68),(89.3224,291.434,-34.5954)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_smoke_filler","1001"); + var_00 common_scripts\_createfx::set_origin_and_angles((19472.2,90309.3,669.58),(88.5647,151.657,-155.368)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_fire_lg","1001"); + var_00 common_scripts\_createfx::set_origin_and_angles((20086.3,90224.3,559.62),(270,354.289,77.7081)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_main","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20087.4,90392.3,1055.63),(270,354.289,102.71)); + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_burst_1","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((19407.7,90195.3,681.98),(357.647,261.017,-88.525)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_burst_1","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((19931,89710.3,327.82),(359.984,241.025,-91.435)); + var_00.v["delay"] = 0.8; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_burst_1","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20507.3,90842.6,712.28),(0.666074,34.0319,-88.7287)); + var_00.v["delay"] = 3; + var_00 = common_scripts\_createfx::createexploderex("cc_building_explosion_burst_1","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20358.9,90014.1,505.44),(0.666197,34.0323,-88.729)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("light_area_fill_01","101"); + var_00 common_scripts\_createfx::set_origin_and_angles((23599.1,68932.8,-178.643),(270,0,98.9994)); + var_00 = common_scripts\_createfx::createexploderex("glow_bulb_4_cc","900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20551.7,-46414.1,268.633),(359.999,257.067,0)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("glow_bulb_4_cc","900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20527.6,-46372.5,268.611),(359.999,257.067,0)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("glow_bulb_4_cc","900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20503.7,-46331.1,268.678),(359.999,257.067,0)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("glow_bulb_4_cc","900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20479.7,-46289.6,268.662),(359.999,257.067,0)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("glow_bulb_4_cc","900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20455.7,-46247.9,268.639),(359.999,257.067,0)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("glow_bulb_4_cc","900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20431.6,-46206.1,268.605),(359.999,257.067,0)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("glow_bulb_3_cc","900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20154.3,-46625.2,325.484),(89.9986,224.412,-17.6554)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("glow_bulb_3_cc","900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20122,-46569.8,325.484),(89.9986,224.412,-17.6554)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("glow_bulb_3_cc","900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20210.2,-46592.8,325.484),(89.9986,224.412,-17.6554)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("glow_bulb_3_cc","900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20178.2,-46537.6,325.484),(89.9986,224.412,-17.6554)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("glow_bulb_3_cc","900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20446.9,-46747.3,325.484),(89.9986,224.412,-17.6554)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("glow_bulb_3_cc","900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20470.4,-46659.8,325.484),(89.9986,224.412,-17.6554)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("glow_bulb_3_cc","900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20414.9,-46691.7,325.484),(89.9986,224.412,-17.6554)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("glow_bulb_3_cc","900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20502.3,-46715.3,325.484),(89.9986,224.412,-17.6554)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("glow_bulb_2_cc","900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20445.8,-46525.5,286.669),(89.9986,224.412,-17.6554)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("glow_bulb_2_cc","900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20430.9,-46499,286.669),(89.9986,224.412,-17.6554)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("glow_bulb_2_cc","900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20381.8,-46414.8,286.669),(89.9986,224.412,-17.6554)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("glow_bulb_2_cc","900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20367.7,-46389.7,286.669),(89.9986,224.412,-17.6554)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("glow_bulb_2_cc","900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20298.5,-46429.7,286.669),(89.9986,224.412,-17.6554)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("glow_bulb_2_cc","900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20312.4,-46454,286.669),(89.9986,224.412,-17.6554)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("glow_bulb_2_cc","900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20362.5,-46539.7,286.669),(89.9986,224.412,-17.6554)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("glow_bulb_2_cc","900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20376.8,-46564.5,286.669),(89.9986,224.412,-17.6554)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("glow_bulb_2_cc","900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20307.7,-46605.5,286.669),(89.9986,224.412,-17.6554)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("glow_bulb_2_cc","900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20293.4,-46580.7,286.669),(89.9986,224.412,-17.6554)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("glow_bulb_2_cc","900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20244.3,-46495.3,286.669),(89.9986,224.412,-17.6554)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("glow_bulb_2_cc","900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20229.3,-46469.2,286.669),(89.9986,224.412,-17.6554)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("window_glass_shatter","150"); + var_00 common_scripts\_createfx::set_origin_and_angles((23380.4,75772.9,-1026.86),(8.13709,38.2701,-0.170619)); + var_00.v["delay"] = 2.1; + var_00 = common_scripts\_createfx::createexploderex("safehouse_character_dust_impact","150"); + var_00 common_scripts\_createfx::set_origin_and_angles((23395.5,75877.3,-1099.88),(270,0,88)); + var_00.v["delay"] = 5.5; + var_00 = common_scripts\_createfx::createexploderex("playing_cards_flying_01","120"); + var_00 common_scripts\_createfx::set_origin_and_angles((23555.5,69173.8,-205.619),(350.068,97.4552,3.23888)); + var_00.v["delay"] = 6; + var_00 = common_scripts\_createfx::createexploderex("gate_bashing_burst","140"); + var_00 common_scripts\_createfx::set_origin_and_angles((24007.6,69594.8,-521.786),(0,90.9954,0)); + var_00 = common_scripts\_createfx::createexploderex("gate_bashing_burst_hinges","140"); + var_00 common_scripts\_createfx::set_origin_and_angles((24061.8,69603.8,-497.995),(0,224.995,0)); + var_00 = common_scripts\_createfx::createexploderex("gate_bashing_burst_hinges","140"); + var_00 common_scripts\_createfx::set_origin_and_angles((24062,69604.2,-532.264),(0,223.995,0)); + var_00 = common_scripts\_createfx::createexploderex("gate_bashing_burst_hinges","140"); + var_00 common_scripts\_createfx::set_origin_and_angles((23955.2,69603.7,-496.967),(0,321.993,0)); + var_00 = common_scripts\_createfx::createexploderex("gate_bashing_burst_hinges","140"); + var_00 common_scripts\_createfx::set_origin_and_angles((23956.3,69602.6,-529.153),(0,319.993,0)); + var_00 = common_scripts\_createfx::createexploderex("gate_bashing_burst_ceiling","140"); + var_00 common_scripts\_createfx::set_origin_and_angles((24056.3,69651.3,-477.492),(43.0012,176.062,180)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("gate_bashing_burst_ceiling","140"); + var_00 common_scripts\_createfx::set_origin_and_angles((23963,69667.2,-480.362),(48.9986,356.062,0)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("gate_bashing_burst_ceiling","140"); + var_00 common_scripts\_createfx::set_origin_and_angles((24058.9,69699.5,-489.267),(61.9845,177.942,-177.871)); + var_00.v["delay"] = 0.4; + var_00 = common_scripts\_createfx::createexploderex("gate_bashing_burst_ceiling","140"); + var_00 common_scripts\_createfx::set_origin_and_angles((23962.9,69713.3,-491.149),(47.9987,356.062,0)); + var_00.v["delay"] = 0.6; + var_00 = common_scripts\_createfx::createexploderex("gate_bashing_burst_ceiling","140"); + var_00 common_scripts\_createfx::set_origin_and_angles((24063,69686.7,-541.333),(359.001,176.062,180)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("gate_bashing_burst_ceiling","140"); + var_00 common_scripts\_createfx::set_origin_and_angles((24063,69747.9,-551.164),(359.001,176.062,180)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("gate_bashing_burst_ceiling","140"); + var_00 common_scripts\_createfx::set_origin_and_angles((23955.8,69704.4,-540.949),(0.999548,355.061,179.983)); + var_00.v["delay"] = 0.2; + var_00 = common_scripts\_createfx::createexploderex("gate_bashing_burst_ceiling","140"); + var_00 common_scripts\_createfx::set_origin_and_angles((23955.7,69770.8,-556.046),(0.999548,355.061,179.983)); + var_00.v["delay"] = 0.4; + var_00 = common_scripts\_createfx::createexploderex("clouds_ambient_lg_oriented2_cc","130"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19754.2,-32224.9,411.932),(270,180,123)); + var_00 = common_scripts\_createfx::createexploderex("clouds_ambient_lg_oriented2_cc","130"); + var_00 common_scripts\_createfx::set_origin_and_angles((-25691.2,-36050.8,-70.6277),(270,180,123)); + var_00 = common_scripts\_createfx::createexploderex("clouds_ambient_lg_oriented2_cc","130"); + var_00 common_scripts\_createfx::set_origin_and_angles((-29532.2,-43457.3,-1231.88),(270,180,-157.001)); + var_00 = common_scripts\_createfx::createexploderex("clouds_ambient_lg_oriented2_cc","130"); + var_00 common_scripts\_createfx::set_origin_and_angles((-28405,-51289.9,-253.504),(270,14.0362,40.963)); + var_00 = common_scripts\_createfx::createexploderex("clouds_ambient_lg_oriented2_cc","130"); + var_00 common_scripts\_createfx::set_origin_and_angles((-23604.6,-54907.1,-1806.29),(270,0,56.9993)); + var_00 = common_scripts\_createfx::createexploderex("clouds_ambient_lg_oriented2_cc","130"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15014.4,-57456,-518.692),(270,0,54.9992)); + var_00 = common_scripts\_createfx::createexploderex("clouds_ambient_lg_oriented2_cc","130"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7818.76,-54027.7,-406.831),(270,0,-19.0006)); + var_00 = common_scripts\_createfx::createexploderex("clouds_ambient_lg_oriented2_cc","130"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5952.92,-44255.8,477.68),(270,0,7.99926)); + var_00 = common_scripts\_createfx::createexploderex("clouds_ambient_lg_oriented2_cc","130"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12210.6,-35094.4,1296.21),(270,0,35.9992)); + var_00 = common_scripts\_createfx::createexploderex("sniper_tower_explosion_main","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((20287,81508.4,-590.21),(270,0,40.9998)); + var_00.v["delay"] = 1.55; + var_00 = common_scripts\_createfx::createexploderex("sniper_tower_explosion_shock","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((20269.3,81561.8,-614.21),(270,0,-126)); + var_00.v["delay"] = 1.35; + var_00 = common_scripts\_createfx::createexploderex("sniper_tower_explosion_smoke","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((20210.9,81622.2,-627.21),(270,180,-143.001)); + var_00.v["delay"] = 3; + var_00 = common_scripts\_createfx::createexploderex("sniper_tower_explosion_smoke2","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((20439.9,81260.3,-1142.21),(270,0,32.9986)); + var_00.v["delay"] = 3.5; + var_00 = common_scripts\_createfx::createexploderex("sniper_tower_explosion_fire","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((20264.4,81670.7,-658.21),(270,0,-141)); + var_00.v["delay"] = 2; + var_00 = common_scripts\_createfx::createexploderex("sniper_tower_explosion_fire","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((20267.7,81413.1,-881.452),(270,0,-141)); + var_00.v["delay"] = 3; + var_00 = common_scripts\_createfx::createexploderex("sniper_tower_explosion_burst1","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((20162,81524.6,-633.263),(2.07144,243.778,-2.03822)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("sniper_tower_explosion_burst3","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((20410.1,81563.6,-442.467),(272.152,169.511,-143.905)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("sniper_tower_explosion_burst1","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((20166.5,81518.7,-441.547),(357.382,275.671,0.957862)); + var_00.v["delay"] = 0.75; + var_00 = common_scripts\_createfx::createexploderex("sniper_tower_explosion_burst1","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((20398.9,81539.6,-567.837),(357.262,25.6472,-1.26859)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("sniper_tower_explosion_burst1","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((20281.5,81518,-481.618),(357.382,275.671,0.957862)); + var_00.v["delay"] = 0.15; + var_00 = common_scripts\_createfx::createexploderex("sniper_tower_explosion_burst4","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((20495.6,81322.9,-613.21),(273.999,317.998,174.002)); + var_00.v["delay"] = 1.55; + var_00 = common_scripts\_createfx::createexploderex("sniper_tower_explosion_smoke2","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((19995.9,81487.4,-1266.49),(270,180,-143.001)); + var_00.v["delay"] = 4; + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22811.9,72764.6,-772.278),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_med","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23979.1,73858.9,-855.779),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_large","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23897.2,73799.1,-798.343),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_foliage_dense","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22412.6,74663,-834.532),(270,0,-148.002)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22507.1,74557.8,-851.943),(270,0,-148.002)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_foliage_dense","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22606,75090.9,-936.556),(270,0,-148.002)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22635.2,75111.6,-887.951),(270,0,-148.002)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_foliage_dense","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22497.6,74882.2,-949.077),(270,0,-148.002)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_foliage_dense","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23561.5,76574.9,-1104.63),(270,0,-148.002)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23533.2,76696,-1166.2),(270,0,-148.002)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_foliage_dense","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23688.9,76987.9,-1163.17),(270,0,-148.002)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_foliage_dense","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23622.5,77044.3,-1126.1),(270,0,-148.002)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_foliage_dense","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23578.3,77312.9,-1152.96),(270,0,-148.002)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_foliage_dense","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23511.6,77373.7,-1122.26),(270,0,-148.002)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_foliage_dense","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23567.3,77758.6,-1171.58),(270,0,-148.002)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_foliage_dense","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22357.2,77836.5,-1525.5),(270,0,-148.002)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_foliage_dense","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22548.2,77703.3,-1521.5),(270,0,-148.002)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_foliage_dense","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22204.4,78174.4,-1478.77),(270,0,-148.002)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_foliage_dense","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21998.3,78436.9,-1533.97),(270,0,-148.002)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_foliage_dense","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21896.2,78536.5,-1449.04),(270,0,-148.002)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_foliage_dense","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21786.3,78639.5,-1521.85),(270,0,-148.002)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21722.8,78425.3,-1445.27),(270,0,-148.002)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_foliage_dense","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21462.9,78627.1,-1496.46),(270,0,-148.002)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_foliage_dense","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21459,78511.5,-1481.46),(270,0,-148.002)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_foliage_dense","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21446.3,78717.6,-1511),(270,0,-148.002)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20416.4,79662.4,-1336.96),(270,0,-148.002)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((19732,79535.5,-1373.5),(270,0,-148.002)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((19668.2,79773.8,-1372.17),(270,0,-148.002)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_foliage_dense","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20848.7,80438.2,-1322.55),(270,0,-148.002)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20851.7,80418.7,-1271.55),(270,0,-148.002)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20755.5,80468.4,-1285.11),(270,0,-148.002)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20616.1,79550,-1319.02),(270,0,-148.002)); + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21343,80045.1,-1139.4),(270,0,-148.002)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21382.2,80265.6,-1134.52),(270,0,-148.002)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21543,80408.1,-1142.77),(270,0,-148.002)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21436,79861.1,-1139.79),(270,0,-148.002)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21766.3,80436.1,-1141.93),(270,0,-148.002)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("foliage_ambient_wind","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21958.1,80305.3,-1137.97),(270,0,-148.002)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_foliage_dense","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((21057.6,81309.9,-1190.03),(270,0,-88.0026)); + var_00 = common_scripts\_createfx::createexploderex("sniper_tower_explosion_burst1","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((20382.5,81638.3,-583.21),(356.986,3.62054,-0.149833)); + var_00 = common_scripts\_createfx::createexploderex("sniper_tower_explosion_debris_3","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((20388.7,81486,-381.566),(272.152,169.511,171.095)); + var_00.v["delay"] = 2; + var_00 = common_scripts\_createfx::createexploderex("sniper_tower_explosion_debris_1","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((20433.1,81514.7,-249.566),(272.152,169.511,171.095)); + var_00.v["delay"] = 1.75; + var_00 = common_scripts\_createfx::createexploderex("sniper_tower_explosion_debris_1","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((20165.7,81526.4,-318.851),(271.664,107.83,108.748)); + var_00.v["delay"] = 1.75; + var_00 = common_scripts\_createfx::createexploderex("sniper_tower_explosion_debris_2","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((20265.9,81452.4,-195.661),(271.664,107.82,175.758)); + var_00.v["delay"] = 2; + var_00 = common_scripts\_createfx::createexploderex("sniper_tower_explosion_debris_2","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((20256.6,81449.9,-361.116),(271.664,107.82,175.758)); + var_00.v["delay"] = 2.5; + var_00 = common_scripts\_createfx::createexploderex("sniper_tower_explosion_debris_2","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((20419.2,81487.1,-448.089),(271.664,107.82,175.758)); + var_00.v["delay"] = 3; + var_00 = common_scripts\_createfx::createexploderex("sniper_tower_explosion_debris_2","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((20389.2,81527.4,-254.59),(271.664,107.817,-163.238)); + var_00.v["delay"] = 2; + var_00 = common_scripts\_createfx::createexploderex("vehicle_fire_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21111.5,80486,-1398.28),(270,0,-120.002)); + var_00 = common_scripts\_createfx::createexploderex("smoke_grenade_emitter","145"); + var_00 common_scripts\_createfx::set_origin_and_angles((22475.5,75131.6,-1035.88),(270,352,-41)); + var_00 = common_scripts\_createfx::createexploderex("sniper_tower_explosion_fire","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((20292.2,81714.9,-886.266),(270,0,-141)); + var_00.v["delay"] = 3; + var_00 = common_scripts\_createfx::createexploderex("sniper_tower_explosion_fire","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((20299.3,81448.8,-661.419),(270,0,-141)); + var_00.v["delay"] = 3; + var_00 = common_scripts\_createfx::createexploderex("sniper_tower_explosion_smoke2","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((20331,81959.7,-1212.88),(270,180,-143.001)); + var_00.v["delay"] = 4; + var_00 = common_scripts\_createfx::createexploderex("safehouse_character_dust_impact","70"); + var_00 common_scripts\_createfx::set_origin_and_angles((24179.8,69205.1,-569.928),(270,0,98.9994)); + var_00.v["delay"] = 6; + var_00 = common_scripts\_createfx::createexploderex("sniper_tower_explosion_burst1","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((20405,81490.8,-600.059),(357.262,25.6472,-1.26859)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("sniper_tower_explosion_burst1","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((20431.6,81582.3,-413.822),(357.262,25.6472,-1.26859)); + var_00.v["delay"] = 0.1; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("sniper_tower_explosion_burst1","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((20333,81475.4,-330.546),(359.745,275.61,3.00742)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("sniper_tower_explosion_burst1","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((20358.3,81523.1,-302.779),(357.262,25.6472,-1.26859)); + var_00.v["delay"] = 0.1; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("ending_shop_crash_impact","220"); + var_00 common_scripts\_createfx::set_origin_and_angles((21030.5,82349.6,-1454.15),(357.274,27.974,0.56)); + var_00.v["delay"] = 2.55; + var_00 = common_scripts\_createfx::createexploderex("ending_shop_crash_impact","220"); + var_00 common_scripts\_createfx::set_origin_and_angles((20966.2,82360.1,-1451),(356.651,67.0125,1.589)); + var_00.v["delay"] = 2.65; + var_00 = common_scripts\_createfx::createexploderex("ending_shop_crash_impact","220"); + var_00 common_scripts\_createfx::set_origin_and_angles((20878.3,82350.7,-1449),(359,118,-2.77)); + var_00.v["delay"] = 2.75; + var_00 = common_scripts\_createfx::createexploderex("ending_shop_crash_burst","220"); + var_00 common_scripts\_createfx::set_origin_and_angles((20920,82316,-1432),(357.262,50,-0.5)); + var_00.v["delay"] = 2.75; + var_00 = common_scripts\_createfx::createexploderex("ending_shop_crash_dust","220"); + var_00 common_scripts\_createfx::set_origin_and_angles((20971,82348,-1408),(357.262,91,-2.2)); + var_00.v["delay"] = 3; + var_00 = common_scripts\_createfx::createexploderex("ending_shop_crash_dust","220"); + var_00 common_scripts\_createfx::set_origin_and_angles((20907,82348,-1408),(357.262,91,-2.2)); + var_00.v["delay"] = 3; + var_00 = common_scripts\_createfx::createexploderex("ending_shop_crash_dust","220"); + var_00 common_scripts\_createfx::set_origin_and_angles((20850,82348,-1408),(357.262,91,-2.2)); + var_00.v["delay"] = 3; + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20799.6,82047.3,-1127.17),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20794.6,81918.2,-1100.07),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20665.6,79946.4,-1431.6),(270,0,-144.002)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20431.4,79730.3,-1444),(270,0,-144.002)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20033.8,79811.5,-1452.15),(270,0,-144.002)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21055.7,79897.1,-1410.19),(270,0,-123.002)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21139.9,80362.9,-1397.49),(270,0,-144.002)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((21099.1,81190,-1365.5),(270,0,-89.0021)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((21021.5,81565.2,-1371.5),(270,180,101.998)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((20899,81959.1,-1386.88),(270,0,-144.002)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((20912.6,81893.7,-1386.88),(270,0,-144.002)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((21158.1,81143.8,-1373.38),(270,0,-144.002)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21316.1,80435.1,-1390.96),(270,0,-144.002)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21073.5,80078.2,-1417.3),(270,0,-144.002)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20712.7,79890.4,-1438.12),(270,0,-144.002)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20152,79674.5,-1444),(270,0,-144.002)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21561.4,82497,-1469.9),(270,153.435,140.563)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20981.3,82506.8,-1535.32),(270,153.435,140.563)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((19390,82111.7,-1723.88),(270,153.435,140.563)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((19791.5,82409.8,-1723.88),(270,153.435,140.563)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((19350.1,82637.4,-1723.88),(270,153.435,140.563)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21265,82373.8,-1503.54),(270,0,-53.0021)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20927.9,82626.2,-1531.76),(270,0,-53.0021)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20686.6,82297.6,-1584.06),(270,0,-53.0021)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((19963.3,82234.3,-1716),(270,0,-53.0021)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((19661,82403.4,-1723.88),(270,0,-53.0021)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((19353,82062.6,-1723.88),(270,0,-53.0021)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_street_blowing","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((19421.6,82672.8,-1723.88),(270,0,-53.0021)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21463.2,82777.2,-1068.43),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21618,82738.5,-1091.72),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21276.3,82820.1,-1178.86),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20544.3,82954.6,-1203.4),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20401,82910.8,-1192.17),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20683.4,82692.4,-1418.86),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20580.7,82664.3,-1409.13),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20502.5,82636.1,-1409.13),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20427.8,82608.6,-1409.13),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20347.6,82579.3,-1409.13),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20615,82727.5,-1409.13),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20533.5,82698.2,-1409.13),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20458.2,82670.8,-1409.13),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20386.5,82644,-1409.13),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20296.7,82611.6,-1409.13),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20349.1,82686.6,-1409.13),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20424.5,82714.9,-1409.13),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20499.1,82741.6,-1409.13),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20578.1,82771.6,-1409.13),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20655.1,82799.1,-1409.13),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_large_short","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21127.3,82684.7,-1338.43),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_large_short","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21373.7,82421,-1318.95),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_foliage_large_short","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21698,82377.2,-1280),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20791.6,82956.1,-1364.13),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20845.2,82977.5,-1362.13),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20892.9,82965.8,-1360.99),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20934.7,82975.6,-1362.13),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21149.1,82904.1,-1379.34),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21190.7,82899.5,-1377.14),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21228.2,82892.2,-1377.02),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20811.9,82902.5,-1376.8),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20852.7,82903.7,-1374.86),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20896.1,82891.5,-1374.86),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21133.4,82977.7,-1359.94),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21184.6,82977.6,-1359.62),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_grates_med","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21232.3,82977.5,-1359.23),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((18970,82421.2,-1470.65),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((18989.5,82910.5,-1422.63),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((19132.8,83110.5,-1374.54),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((18859.1,82241.6,-1375.08),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((18998,81910.4,-1319.49),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((19014.2,81727.8,-1281.43),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((19033.6,83342.6,-1392.77),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((19044.5,83515.5,-1383.28),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((19982.8,82679,-1310.17),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("godray_ambient_outdoors_large","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((19785.8,82629.8,-1395.83),(46.2162,328.546,4.84988)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smoke_2","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((19624,82207.4,-1707.6),(273,201,98.996)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smoke_2","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((19172.4,82021.3,-1723.23),(273,201,98.996)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smoke_2","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((19728.8,81851.2,-1329.88),(273,201,98.996)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smoke_2","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((19448.5,81505.4,-1403.96),(273,201,98.996)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smoke_1","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((19560.8,81895.2,-1716),(273,201,98.996)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("smoldering_smoke_1","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((19513.6,82387,-1744.89),(273,201,98.996)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("smoldering_smoke_1","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((19082.1,82295.9,-1706.74),(273,201,98.996)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("smoldering_smoke_1","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((19167.9,82772.4,-1716.3),(273,201,98.996)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("smoldering_smoke_1","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((19029.4,82761.2,-1714.18),(273,201,98.996)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("smoldering_smoke_1","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((19538.9,82725.2,-1715.85),(273,201,98.996)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("smoldering_smoke_1","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((19700.2,82557,-1711.12),(273,201,98.996)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("smoldering_smoke_1","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((20284.9,82167.2,-1483.88),(273,201,98.996)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("smoldering_smoke_1","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((20670.4,82085.6,-1359.48),(273,201,98.996)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("smoldering_smoke_1","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((20533.7,82291.4,-1629.16),(273,201,98.996)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("smoldering_smoke_1","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((20796.4,82707.8,-1547.66),(273,201,98.996)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("smoldering_smoke_1","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((21250.1,82325.5,-1503.27),(273,201,98.996)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("smoldering_smoke_1","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((20872.6,81894.3,-1373.99),(273,201,28.99)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("smoldering_smoke_1","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((20980.1,81612.3,-1364.17),(273,201,63.99)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("smoldering_smoke_1","220"); + var_00 common_scripts\_createfx::set_origin_and_angles((21469.8,82537.9,-1482.76),(273,201,98.996)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_foliage_dense","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((21005.7,80948.5,-1291.81),(273,0,-148)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_foliage_dense","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((20890.1,81795.1,-1301.2),(273,0,-148)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("vehicle_fire_small","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((20000.4,82471.1,-1713.55),(270,0,-120.002)); + var_00 = common_scripts\_createfx::createexploderex("fire_hydrant_water_gush","221"); + var_00 common_scripts\_createfx::set_origin_and_angles((19440.7,82114.2,-1721.12),(270,26.5651,-104.567)); + var_00.v["delay"] = 7; + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_foliage_dense","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23223.2,77227.4,-1167.5),(270,0,-148.002)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_foliage_dense","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23405.9,76965.3,-1162.5),(270,0,-148.002)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_foliage_dense","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23275.4,77562.2,-1153.5),(270,0,-148.002)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_foliage_dense","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23051.5,77976.5,-1515.5),(270,0,-148.002)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_foliage_dense","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23100.2,77961.4,-1335.83),(270,0,-148.002)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_foliage_dense","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22739,77695.9,-1496.5),(270,0,-102.002)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_foliage_dense","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22884.3,77914.9,-1519),(270,180,68.9979)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_debris","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((20778.1,80781.7,-1153.53),(270,0,-80.0017)); + var_00.v["delay"] = 3.5; + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_debris","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((20687.6,80188.5,-1423.5),(270,0,-110.002)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_debris","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((20912.6,81643.6,-1273.36),(270,0,4.99832)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_debris","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((19422.7,82212.6,-1761.37),(270,0,-5.00175)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_debris","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((20206.5,82289.3,-1707.35),(270,0,-5.00175)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_debris","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((21298,82408.5,-1500.78),(270,0,-5.00175)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((20935.6,81706.4,-1132.18),(270,180,-76.0024)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((21040.6,81470.1,-1118.13),(270,180,-76.0024)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((20941.5,82383.3,-1340.5),(270,0,179.997)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((20270.9,82201.5,-1459.32),(270,0,179.997)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((20403.4,82202.3,-1518.91),(270,0,179.997)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","201"); + var_00 common_scripts\_createfx::set_origin_and_angles((19587.2,81777.8,-1531.84),(270,0,-90.0031)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","131"); + var_00 common_scripts\_createfx::set_origin_and_angles((23614.7,69209.9,-251.916),(270,180,-76.0024)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","131"); + var_00 common_scripts\_createfx::set_origin_and_angles((23684.8,69105.2,-263.25),(270,180,-76.0024)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","131"); + var_00 common_scripts\_createfx::set_origin_and_angles((23619.7,68949,-265.725),(270,180,-76.0024)); + var_00 = common_scripts\_createfx::createexploderex("ending_door_dust_impact","222"); + var_00 common_scripts\_createfx::set_origin_and_angles((19179.4,82493.1,-1723),(270,0,98.9994)); + var_00 = common_scripts\_createfx::createexploderex("safehouse_character_dust_impact3","228"); + var_00 common_scripts\_createfx::set_origin_and_angles((19442.3,81650.3,-1668.98),(359,98.9989,0)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_debris_runner","226"); + var_00 common_scripts\_createfx::set_origin_and_angles((19370.2,81688.3,-1559.85),(270.385,14.3709,-174.38)); + var_00 = common_scripts\_createfx::createexploderex("ending_hades_blood_pool_place","224"); + var_00 common_scripts\_createfx::set_origin_and_angles((19439.3,81757.5,-1715.96),(270,0,-50)); + var_00 = common_scripts\_createfx::createexploderex("ending_hades_blood_pool_place","227"); + var_00 common_scripts\_createfx::set_origin_and_angles((19499.4,81704.9,-1715.96),(270,0,-177)); + var_00 = common_scripts\_createfx::createexploderex("light_flare_spot_small2","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21928.4,73698.6,-842.751),(47.12,14.2721,54.813)); + var_00 = common_scripts\_createfx::createexploderex("light_flare_spot_small2","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22087.2,73916.2,-834.295),(41.6563,201.445,-90.2175)); + var_00 = common_scripts\_createfx::createexploderex("light_flare_spot_small2","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22128.9,73550,-829.727),(47.12,14.2721,54.813)); + var_00 = common_scripts\_createfx::createexploderex("light_flare_spot_small2","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22255.8,73443.6,-829.829),(47.12,14.2721,54.813)); + var_00 = common_scripts\_createfx::createexploderex("light_flare_spot_small2","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22413.6,73575.4,-828.813),(41.6563,201.445,-90.2175)); + var_00 = common_scripts\_createfx::createexploderex("light_flare_spot_small2","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22498,73475.5,-828.86),(40.6507,110.933,-116.846)); + var_00 = common_scripts\_createfx::createexploderex("light_flare_spot_small2","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22389.1,73345.9,-828.799),(40.6507,110.933,-116.846)); + var_00 = common_scripts\_createfx::createexploderex("light_flare_spot_small2","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21922.2,73775.3,-829.757),(44.2188,288.945,-23.1642)); + var_00 = common_scripts\_createfx::createexploderex("light_flare_spot_small2","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22186.7,74091.2,-829.08),(44.2188,288.945,-23.1642)); + var_00 = common_scripts\_createfx::createexploderex("light_flare_spot_small2","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22281.9,74204.6,-829.12),(44.2188,288.945,-23.1642)); + var_00 = common_scripts\_createfx::createexploderex("light_flare_spot_small2","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22374.4,74315,-829.144),(44.2188,288.945,-23.1642)); + var_00 = common_scripts\_createfx::createexploderex("light_flare_spot_small2","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22360.8,74026.4,-829.698),(40.6507,110.933,-116.846)); + var_00 = common_scripts\_createfx::createexploderex("light_flare_spot_small2","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22469.6,74152,-829.709),(40.6507,110.933,-116.846)); + var_00 = common_scripts\_createfx::createexploderex("light_flare_spot_small2","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22641.8,74415.7,-829.754),(41.6563,201.445,-90.2175)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23418.7,75871.2,-1084.97),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23273.9,76083.9,-1090.88),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23513.8,76314,-1099.88),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_ambient_interior","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((23788.7,76508.2,-1099.88),(270,0,87.9986)); + var_00 = common_scripts\_createfx::createexploderex("window_glass_shatter2","132"); + var_00 common_scripts\_createfx::set_origin_and_angles((23738.7,69167.9,-345.889),(360,165.967,0)); + var_00 = common_scripts\_createfx::createexploderex("window_glass_shatter2","132"); + var_00 common_scripts\_createfx::set_origin_and_angles((23739.8,69164.9,-346.037),(1.04185,20.9694,0)); + var_00 = common_scripts\_createfx::createexploderex("window_glass_shatter2","132"); + var_00 common_scripts\_createfx::set_origin_and_angles((23746.7,69075.6,-346.276),(1.04185,20.9694,0)); + var_00 = common_scripts\_createfx::createexploderex("window_glass_shatter2","132"); + var_00 common_scripts\_createfx::set_origin_and_angles((23745.6,69078.6,-346.128),(360,165.967,0)); + var_00 = common_scripts\_createfx::createexploderex("window_glass_shatter2","132"); + var_00 common_scripts\_createfx::set_origin_and_angles((23755.8,68978.9,-346.375),(1.04185,20.9694,0)); + var_00 = common_scripts\_createfx::createexploderex("window_glass_shatter2","132"); + var_00 common_scripts\_createfx::set_origin_and_angles((23754.7,68981.9,-346.227),(360,165.967,0)); + var_00 = common_scripts\_createfx::createexploderex("railgun_impact_burst1","150"); + var_00 common_scripts\_createfx::set_origin_and_angles((23276.9,75444.1,-1041.65),(0.731824,125.332,0.117718)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("railgun_impact_burst1","150"); + var_00 common_scripts\_createfx::set_origin_and_angles((23402.4,75475.6,-1180.91),(0.731824,125.332,0.117718)); + var_00.v["delay"] = 1.05; + var_00 = common_scripts\_createfx::createexploderex("railgun_impact_burst1","150"); + var_00 common_scripts\_createfx::set_origin_and_angles((23442.4,75556.5,-1007.13),(349.732,125.309,0.119305)); + var_00.v["delay"] = 1.5; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("water_splash_debris","150"); + var_00 common_scripts\_createfx::set_origin_and_angles((23269.4,75496.1,-1345.3),(270,0,0)); + var_00.v["delay"] = 1.25; + var_00 = common_scripts\_createfx::createexploderex("water_splash_debris","150"); + var_00 common_scripts\_createfx::set_origin_and_angles((23295.6,75539.6,-1345.85),(270,0,0)); + var_00.v["delay"] = 1.25; + var_00 = common_scripts\_createfx::createexploderex("water_splash_debris","150"); + var_00 common_scripts\_createfx::set_origin_and_angles((23199.7,75492.4,-1344.21),(270,0,0)); + var_00.v["delay"] = 1.4; + var_00 = common_scripts\_createfx::createexploderex("water_splash_debris","150"); + var_00 common_scripts\_createfx::set_origin_and_angles((23237.7,75528.5,-1338.79),(270,0,0)); + var_00.v["delay"] = 1.25; + var_00 = common_scripts\_createfx::createexploderex("water_splash_debris","150"); + var_00 common_scripts\_createfx::set_origin_and_angles((23185.4,75518.1,-1377.16),(270,0,0)); + var_00.v["delay"] = 1.4; + var_00 = common_scripts\_createfx::createexploderex("water_splash_debris","150"); + var_00 common_scripts\_createfx::set_origin_and_angles((23202.7,75664.3,-1338.92),(270,0,0)); + var_00.v["delay"] = 1.4; + var_00 = common_scripts\_createfx::createexploderex("water_splash_debris","150"); + var_00 common_scripts\_createfx::set_origin_and_angles((23247.3,75554.6,-1338.89),(270,0,0)); + var_00.v["delay"] = 1.4; + var_00 = common_scripts\_createfx::createexploderex("water_splash_debris","150"); + var_00 common_scripts\_createfx::set_origin_and_angles((23237.1,75608,-1338.38),(270,0,0)); + var_00.v["delay"] = 1.25; + var_00 = common_scripts\_createfx::createexploderex("water_splash_debris","150"); + var_00 common_scripts\_createfx::set_origin_and_angles((23195.2,75561.6,-1339.01),(270,0,0)); + var_00.v["delay"] = 1.25; + var_00 = common_scripts\_createfx::createexploderex("water_splash_debris","150"); + var_00 common_scripts\_createfx::set_origin_and_angles((23217.2,75474.4,-1339.41),(270,0,0)); + var_00.v["delay"] = 1.25; + var_00 = common_scripts\_createfx::createexploderex("water_splash_debris","150"); + var_00 common_scripts\_createfx::set_origin_and_angles((23132.4,75603.5,-1339.48),(270,0,0)); + var_00.v["delay"] = 1.25; + var_00 = common_scripts\_createfx::createexploderex("water_splash_debris","150"); + var_00 common_scripts\_createfx::set_origin_and_angles((23184.4,75584.5,-1339.52),(270,0,0)); + var_00.v["delay"] = 1.25; + var_00 = common_scripts\_createfx::createexploderex("railgun_projectile_trail","150"); + var_00 common_scripts\_createfx::set_origin_and_angles((22754.7,76119.5,-974.115),(4.27283,307.319,-0.14401)); + var_00.v["delay"] = 0.45; + var_00 = common_scripts\_createfx::createexploderex("railgun_projectile_trail","150"); + var_00 common_scripts\_createfx::set_origin_and_angles((22840.2,76212.8,-953.728),(13.2721,307.349,0.862893)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("railgun_projectile_trail","150"); + var_00 common_scripts\_createfx::set_origin_and_angles((22902.5,76262.2,-934.764),(4.27283,307.319,-0.14401)); + var_00.v["delay"] = 1.45; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("railgun_impact_burst1","160"); + var_00 common_scripts\_createfx::set_origin_and_angles((23658.4,77928.8,-1171.39),(360,311.332,-0.19366)); + var_00 = common_scripts\_createfx::createexploderex("railgun_impact_burst1","160"); + var_00 common_scripts\_createfx::set_origin_and_angles((23643.2,77948.5,-1171.39),(0.583,154.332,0.4577)); + var_00 = common_scripts\_createfx::createexploderex("railgun_projectile_trail","151"); + var_00 common_scripts\_createfx::set_origin_and_angles((23234.7,77622.5,-1097.88),(8.27263,307.309,-0.145308)); + var_00 = common_scripts\_createfx::createexploderex("railgun_projectile_trail","151"); + var_00 common_scripts\_createfx::set_origin_and_angles((23263.2,77550.7,-1070.5),(8.27263,307.309,-0.145308)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("railgun_projectile_trail","151"); + var_00 common_scripts\_createfx::set_origin_and_angles((23322.1,77598.1,-1136),(8.27263,307.309,-0.145308)); + var_00.v["delay"] = 0.25; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("railgun_impact_burst1","151"); + var_00 common_scripts\_createfx::set_origin_and_angles((23709.8,77007.7,-1209.88),(271.601,228.246,-159.907)); + var_00.v["delay"] = 0.05; + var_00 = common_scripts\_createfx::createexploderex("railgun_impact_burst1","151"); + var_00 common_scripts\_createfx::set_origin_and_angles((23686.7,76996,-1173.88),(0.382844,57.3286,-0.634318)); + var_00.v["delay"] = 1.05; + var_00 = common_scripts\_createfx::createexploderex("railgun_impact_burst1","151"); + var_00 common_scripts\_createfx::set_origin_and_angles((23795.7,76978.4,-1243.88),(270.675,290.107,138.214)); + var_00.v["delay"] = 0.3; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("railgun_projectile_trail","152"); + var_00 common_scripts\_createfx::set_origin_and_angles((23199,77583.7,-1077.04),(8.27263,307.309,-0.145308)); + var_00.v["delay"] = 1.35; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("railgun_projectile_trail","152"); + var_00 common_scripts\_createfx::set_origin_and_angles((23034.6,77463.9,-1129.54),(8.27263,307.309,-0.145308)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("railgun_projectile_trail","152"); + var_00 common_scripts\_createfx::set_origin_and_angles((23126.1,77633.5,-1100.92),(8.27263,307.309,-0.145308)); + var_00 = common_scripts\_createfx::createexploderex("railgun_impact_burst1","152"); + var_00 common_scripts\_createfx::set_origin_and_angles((23589.5,77019,-1209.88),(271.601,228.246,-159.907)); + var_00.v["delay"] = 0.05; + var_00 = common_scripts\_createfx::createexploderex("railgun_impact_burst1","152"); + var_00 common_scripts\_createfx::set_origin_and_angles((23399.5,76985.3,-1217.53),(0.382844,57.3286,-0.634318)); + var_00.v["delay"] = 1.05; + var_00 = common_scripts\_createfx::createexploderex("railgun_impact_burst1","152"); + var_00 common_scripts\_createfx::set_origin_and_angles((23618.6,77034.3,-1175.88),(0.5585,157.332,0.486598)); + var_00.v["delay"] = 1.4; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("railgun_projectile_trail","153"); + var_00 common_scripts\_createfx::set_origin_and_angles((22797.4,77786.6,-1124.88),(8.27263,307.309,-0.145308)); + var_00 = common_scripts\_createfx::createexploderex("railgun_projectile_trail","153"); + var_00 common_scripts\_createfx::set_origin_and_angles((22771.9,78001.8,-1098.5),(8.27263,307.309,-0.145308)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("railgun_projectile_trail","153"); + var_00 common_scripts\_createfx::set_origin_and_angles((22921.5,77977.1,-1121.5),(8.27263,307.309,-0.145308)); + var_00.v["delay"] = 1.5; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("railgun_impact_burst1","153"); + var_00 common_scripts\_createfx::set_origin_and_angles((23213.5,77249.9,-1217.74),(0.496133,68.3267,-0.550145)); + var_00.v["delay"] = 0.05; + var_00 = common_scripts\_createfx::createexploderex("railgun_impact_burst1","153"); + var_00 common_scripts\_createfx::set_origin_and_angles((23225.6,77411.5,-1203.88),(271.601,228.246,-159.907)); + var_00.v["delay"] = 1.05; + var_00 = common_scripts\_createfx::createexploderex("railgun_impact_burst1","153"); + var_00 common_scripts\_createfx::set_origin_and_angles((23446.6,77283.9,-1243.88),(271.601,228.246,-159.907)); + var_00.v["delay"] = 1.55; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("railgun_projectile_trail","154"); + var_00 common_scripts\_createfx::set_origin_and_angles((22765.1,78286.6,-1037.5),(8.27263,307.309,-0.145308)); + var_00 = common_scripts\_createfx::createexploderex("railgun_projectile_trail","154"); + var_00 common_scripts\_createfx::set_origin_and_angles((22677,78290.7,-1076.74),(8.27263,307.309,-0.145308)); + var_00.v["delay"] = 0.5; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("railgun_projectile_trail","154"); + var_00 common_scripts\_createfx::set_origin_and_angles((22765.8,78384.9,-1068.5),(8.27263,307.309,-0.145308)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("railgun_impact_burst1","154"); + var_00 common_scripts\_createfx::set_origin_and_angles((23482.7,77343.3,-1209.88),(271.601,228.246,-159.907)); + var_00.v["delay"] = 0.05; + var_00 = common_scripts\_createfx::createexploderex("railgun_impact_burst1","154"); + var_00 common_scripts\_createfx::set_origin_and_angles((23279,77491.2,-1221.5),(271.601,228.246,-159.907)); + var_00.v["delay"] = 0.55; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("railgun_impact_burst1","154"); + var_00 common_scripts\_createfx::set_origin_and_angles((23494,77426.4,-1243.87),(271.601,228.246,-159.907)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("railgun_projectile_trail","155"); + var_00 common_scripts\_createfx::set_origin_and_angles((23344,77828.4,-1041.88),(8.25308,312.361,0.580971)); + var_00 = common_scripts\_createfx::createexploderex("railgun_projectile_trail","155"); + var_00 common_scripts\_createfx::set_origin_and_angles((23293.3,77883.8,-1071.88),(12.2718,309.339,0.146919)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("railgun_projectile_trail","155"); + var_00 common_scripts\_createfx::set_origin_and_angles((23272.5,77796.8,-1099.88),(12.2624,306.269,-0.505598)); + var_00.v["delay"] = 1.5; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("railgun_impact_burst1","155"); + var_00 common_scripts\_createfx::set_origin_and_angles((23879.4,77229.6,-1158.08),(0,204.329,0.740154)); + var_00.v["delay"] = 0.05; + var_00 = common_scripts\_createfx::createexploderex("railgun_impact_burst1","155"); + var_00 common_scripts\_createfx::set_origin_and_angles((23808,77245.3,-1243.88),(271.601,228.246,-159.907)); + var_00.v["delay"] = 1.05; + var_00 = common_scripts\_createfx::createexploderex("railgun_impact_burst1","155"); + var_00 common_scripts\_createfx::set_origin_and_angles((23682.4,77239.5,-1243.88),(271.601,228.246,-159.907)); + var_00.v["delay"] = 1.55; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("railgun_impact_burst1","156"); + var_00 common_scripts\_createfx::set_origin_and_angles((23754.8,77400.6,-1177.88),(0,204.329,0.740154)); + var_00.v["delay"] = 0.05; + var_00 = common_scripts\_createfx::createexploderex("railgun_impact_burst1","156"); + var_00 common_scripts\_createfx::set_origin_and_angles((23559.1,77390.3,-1209.87),(271.601,228.246,-159.907)); + var_00.v["delay"] = 0.55; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("railgun_impact_burst1","156"); + var_00 common_scripts\_createfx::set_origin_and_angles((23699.9,77488.9,-1243.88),(271.601,228.246,-159.907)); + var_00.v["delay"] = 1.55; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("railgun_projectile_trail","156"); + var_00 common_scripts\_createfx::set_origin_and_angles((23161.5,78055.6,-1043.87),(8.25308,312.361,0.580971)); + var_00 = common_scripts\_createfx::createexploderex("railgun_projectile_trail","156"); + var_00 common_scripts\_createfx::set_origin_and_angles((23075.7,78024.2,-1037.88),(12.2693,307.293,-0.288189)); + var_00.v["delay"] = 0.5; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("railgun_projectile_trail","156"); + var_00 common_scripts\_createfx::set_origin_and_angles((23306.8,77963.7,-1111.88),(12.2672,310.363,0.364276)); + var_00.v["delay"] = 1.5; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("clouds_ambient_local_fog","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((22745.6,77969,-1415),(270,0,-148.002)); + var_00 = common_scripts\_createfx::createexploderex("gate_bashing_burst_ceiling2","141"); + var_00 common_scripts\_createfx::set_origin_and_angles((22275.6,73745.1,-1023.69),(0.455418,41.2268,-91.8782)); + var_00.v["delay"] = 2.5; + var_00 = common_scripts\_createfx::createexploderex("gate_bashing_burst_ceiling2","141"); + var_00 common_scripts\_createfx::set_origin_and_angles((22354.4,73766.5,-1025.28),(3.01527,167.258,-90.9551)); + var_00.v["delay"] = 2.75; + var_00 = common_scripts\_createfx::createexploderex("light_white_flicker","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((24477.2,73293.7,-942.358),(89.9996,255.643,-144.353)); +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/irons_estate_fx.gsc b/AW/PC/maps/createfx/irons_estate_fx.gsc new file mode 100644 index 0000000..32b4034 --- /dev/null +++ b/AW/PC/maps/createfx/irons_estate_fx.gsc @@ -0,0 +1,1264 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\irons_estate_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 70 ms + * Timestamp: 4/22/2024 2:07:30 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\utility::createoneshoteffect("ie_waterfall_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7608.96,-5531.33,-2116),(315,280.999,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_waterfall_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6337.39,-5956.01,-2279.46),(270,168.69,112.31)); + var_00 = common_scripts\utility::createoneshoteffect("ie_river_vista"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8777.52,-8557.67,-2475.62),(274.255,74.3907,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_river_flow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8697.67,-6545.82,-3674),(270,0,-55.0002)); + var_00 = common_scripts\utility::createoneshoteffect("ie_river_flow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8374.71,-7645.25,-3653.41),(273,34.9988,-11.9994)); + var_00 = common_scripts\utility::createoneshoteffect("ie_water_mist_low"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9283.42,-6334.56,-3060.07),(270,165.964,148.036)); + var_00 = common_scripts\utility::createoneshoteffect("ie_water_mist_low"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8418.41,-7182.98,-3327.13),(291,250.999,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_waterfall_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6455.69,-5712.91,-1639.3),(270,168.69,112.31)); + var_00 = common_scripts\utility::createoneshoteffect("ie_waterfall_splash_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8477.77,-8007.87,-3734.07),(270,0,0.998955)); + var_00 = common_scripts\utility::createoneshoteffect("ie_waterfall_splash_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8433.35,-8013.57,-3641.43),(270,0,0.998955)); + var_00 = common_scripts\utility::createoneshoteffect("ie_wind_debris_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8864.51,-5421.42,-1326.77),(270,0,-90.0005)); + var_00 = common_scripts\utility::createoneshoteffect("ie_fountain"); + var_00 common_scripts\_createfx::set_origin_and_angles((283.961,-4490.92,760.006),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_fountain"); + var_00 common_scripts\_createfx::set_origin_and_angles((283.335,-2351.9,760.006),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_water_curtain_intro_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8615.42,-8126.46,-2500),(2.91664,72.0412,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_water_curtain_intro_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8543.65,-8153.46,-2507.03),(2.91664,72.0412,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_water_curtain_intro_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8440.62,-8177.37,-2500.91),(2.91664,72.0412,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_water_curtain_intro_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8729.75,-8075.44,-2498.39),(2.91664,72.0412,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_river_flow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8529.11,-6981.63,-3722),(270,0,-55.0002)); + var_00 = common_scripts\utility::createoneshoteffect("ie_waterfall_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7710.51,-5484.2,-1099.63),(63.5275,119.545,20.5452)); + var_00 = common_scripts\utility::createoneshoteffect("ie_light_cool"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6714.23,-1002.29,433.275),(270,180,178)); + var_00 = common_scripts\utility::createoneshoteffect("ie_waterfall_splash_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9412.82,-5766.32,-1830.25),(270,0,0.998955)); + var_00 = common_scripts\utility::createoneshoteffect("ie_lightning"); + var_00 common_scripts\_createfx::set_origin_and_angles((5989.53,-35949.8,4116.06),(278.008,343.752,24.1888)); + var_00 = common_scripts\utility::createoneshoteffect("ie_river_flow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7317.62,-6510.79,-3696.51),(273,34.998,-63.9991)); + var_00 = common_scripts\utility::createoneshoteffect("ie_river_vista"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8805,-8401.58,-2487.72),(274.255,74.3907,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_river_vista"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9004.06,-8810.74,-2431.14),(274.255,74.3907,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_river_rapids"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7767.81,-6068.91,-2113.83),(270,0,-156)); + var_00 = common_scripts\utility::createoneshoteffect("ie_river_rapids"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7894.41,-6131.77,-2134.38),(270,0,-156)); + var_00 = common_scripts\utility::createoneshoteffect("ie_river_rapids"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7548,-5984.64,-2108.11),(270,0,-156)); + var_00 = common_scripts\utility::createoneshoteffect("ie_birds_scatter_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7511.04,-6996.15,-2452.85),(343.854,301.484,24.4212)); + var_00 = common_scripts\utility::createoneshoteffect("ie_birds_scatter_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8905.73,-7066.31,-3117.34),(335.023,18.8297,-7.65089)); + var_00 = common_scripts\utility::createoneshoteffect("ie_birds_scatter_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9396.04,-6420.17,-1763.38),(335.634,339.074,9.51375)); + var_00 = common_scripts\utility::createoneshoteffect("ie_river_flow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9393.49,-4988.4,-1720.64),(273,34.998,-63.9991)); + var_00 = common_scripts\utility::createoneshoteffect("ie_water_mist_low"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7855.17,-7591.83,-3593),(291,250.999,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_water_mist_low"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10083.4,-7280.46,-2769.29),(291,250.999,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_glow_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((6107.66,-2030.72,1134.79),(293.429,45.7,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_glow_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((7866.8,-216.215,1135.17),(293.429,224.2,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_glow_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((7868.73,-2031.78,1135.48),(293.429,130.7,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_glow_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((6107.83,-216.945,1135.48),(293.429,314.8,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_lightbeam_thin_lawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((4848.08,-904.032,2134.7),(52.0424,8.93623,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_lightbeam_thin_lawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((4913.92,-951.116,2226.57),(19.357,350.686,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_lightbeam_thin_lawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((4882.97,-936.044,2174.69),(36.2459,356.581,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_lightbeam_thin_lawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((4866.86,-918.949,2154.32),(43.3224,0.817535,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_lightbeam_thin_lawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((4769.78,-1141.56,2228.99),(19.0526,294.94,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_lightbeam_thin_lawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((4902.06,-941.495,2202.54),(30.0723,354.008,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_lightbeam_thin_lawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((4757.31,-1130.67,2200.74),(30.0679,291.578,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_lightbeam_thin_lawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((4742.4,-1119.01,2178.02),(36.2251,288.955,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_lightbeam_thin_lawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((4723.94,-1103.7,2153.5),(43.4053,284.638,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_lightbeam_thin_lawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((4702.72,-1090.05,2134.53),(52.2712,276.289,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_lightbeam_thin_lawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((5460.73,-4059.36,2228.65),(19.0526,17.6399,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_lightbeam_thin_lawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((5437.15,-4086.68,2180.08),(36.2252,11.6545,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_lightbeam_thin_lawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((5401.67,-4118.67,2134.9),(52.2712,358.989,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_lightbeam_thin_lawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((5450.92,-4074.85,2202.95),(30.0679,14.2781,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_lightbeam_thin_lawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((5419.74,-4103.66,2155.42),(43.4053,7.33825,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_lightbeam_thin_lawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((7755.72,-3497.08,2228.56),(19.0526,113.94,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_lightbeam_thin_lawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((7770.63,-3506.64,2201.25),(30.0679,110.578,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_lightbeam_thin_lawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((7787.73,-3518.13,2178.08),(36.2252,107.955,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_lightbeam_thin_lawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((7802.01,-3533.72,2154.89),(43.4053,103.638,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_lightbeam_thin_lawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((7829.08,-3549.57,2133.72),(52.2712,95.2894,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_lightbeam_thin_lawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((7625.46,-3577.09,2070.99),(342.125,345.401,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_briefing_lights"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11795.2,-16796.1,-5123.79),(90,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_fireplace_gas"); + var_00 common_scripts\_createfx::set_origin_and_angles((771.592,-4013.48,1035.13),(0,90,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_fireplace_gas"); + var_00 common_scripts\_createfx::set_origin_and_angles((861.415,-4013.84,1035.13),(0,90,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_fireplace_gas"); + var_00 common_scripts\_createfx::set_origin_and_angles((816.601,-4013.86,1035.13),(0,90,0)); + var_00 = common_scripts\utility::createoneshoteffect("ie_falling_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9746.12,-7366.46,-2484.1),(270,0,83.9995)); + var_00 = common_scripts\utility::createoneshoteffect("ie_falling_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9396.76,-6822.54,-1701.96),(308,349.999,-180)); + var_00 = common_scripts\utility::createoneshoteffect("ie_falling_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9495.88,-5090.8,-750.08),(270,0,165)); + var_00 = common_scripts\utility::createoneshoteffect("ie_falling_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8852.03,-5510.3,-131.958),(318.482,298.306,174.27)); + var_00 = common_scripts\utility::createoneshoteffect("ie_falling_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8119.47,-5266.82,-119.574),(270,355.914,109.085)); + var_00 = common_scripts\utility::createoneshoteffect("ie_falling_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8919.77,-5428.67,293.112),(310,256.999,180)); + var_00 = common_scripts\_createfx::createexploderex("ie_watergush_edge","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7790.31,-5123.16,-128.126),(273.509,20.1545,-124.33)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_watergush_edge","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7495.72,-5282.86,-131),(276.678,281.383,-25.7606)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_watergush_edge","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7550.76,-5242.79,-126),(272.897,345.394,-89.6194)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_briefing_flare","4300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11350,-17777.4,-5715.38),(9.99997,124,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_briefing_flare","4300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11362.2,-17785.7,-5715.73),(9.99997,124,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_falling_leaves_runner","7900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9096.24,-7947.55,-2499.77),(270,180,29.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_briefing_lights","4300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11573.9,-16862.5,-5362.34),(90,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_briefing_lights","4300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11573.2,-17230.4,-5364.34),(90,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_briefing_lights","4300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11575.1,-17603.9,-5362.34),(90,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_briefing_lights","4300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11574.9,-17970.6,-5362.34),(90,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_briefing_lights","4300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11575.6,-18342.1,-5362.34),(90,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_briefing_lights","4300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11575,-18709,-5362.34),(90,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_briefing_dim_lights","4300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12547.4,-16861.4,-5362.34),(90,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_briefing_dim_lights","4300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12547.6,-17600.8,-5362.34),(90,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_briefing_dim_lights","4300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12547.5,-17968.3,-5362.34),(90,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_briefing_amb_smk","4300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11634.3,-17977.4,-5377.34),(90,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_briefing_amb_smk","4300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11610,-17610.2,-5365.34),(90,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_water_runoff_thick","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9384.98,-5725.25,-1012),(270,168.69,104.31)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_b","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8180.83,-6261.37,-2195.93),(0.366731,202.269,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_b","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7350.29,-6441.56,-2183.15),(358.468,289.431,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_water_curtain_walkway","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9396.34,-5986.27,-806.196),(0.914882,1.72846,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_water_curtain_walkway","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9418.96,-5648.91,-812.877),(359.915,1.72857,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_water_curtain_walkway","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9317.98,-5956.44,-1994.21),(2.99997,354.655,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_walkway_drops","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9420.27,-6004.6,-1070.64),(271.177,149.726,118.007)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_water_runoff_thick","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9446.7,-5560.37,-985.266),(270,168.69,104.31)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_water_runoff_thick","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9409.15,-5834.66,-977.56),(270,168.69,104.31)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_water_runoff_thick","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9380.32,-6111.54,-935.11),(270,168.69,104.31)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_water_runoff_thick","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9455.01,-5727.44,-991.933),(270,168.69,104.31)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_splash_med","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9300.95,-5882.22,-1993.76),(270,0,0.998955)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_c","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9060.37,-5559.27,-1808.6),(3.99995,275.293,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_water_curtain_walkway","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9152.43,-5559.71,-1769.47),(5.2246,269.294,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_water_curtain_walkway","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8935.56,-5479.99,-1776.11),(3.67827,297.967,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_c","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9145.32,-5698.79,-2273.53),(3.99995,328.231,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_c","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9352.59,-6054.77,-2009.59),(359.659,340.833,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_c","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9163.11,-5602.49,-1792.97),(3.99995,275.293,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_c","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8947.07,-5524.17,-1806.17),(3.99995,275.293,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_splash_med","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9383.24,-6004.3,-1975.86),(270,0,0.998955)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_splash_med","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9369.41,-6071.86,-1760.5),(270,0,0.998955)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_splash_med","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9244.32,-6047.44,-2632.63),(270,0,0.998955)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_splash_med","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9435.63,-6016.38,-1461.99),(276,270.998,90.0005)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_splash_med","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9449.44,-5864.09,-1407.93),(270,0,0.998955)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_splash_med","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9415.34,-5617.02,-1368.35),(275,270.999,89.9993)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_splash_med","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9447.45,-5725.53,-1395.35),(270,0,3.99891)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_splash_med","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9224.43,-5966.82,-2606.99),(270,0,0.998955)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_splash_med","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9243.39,-5854.21,-2617.94),(270,0,0.998955)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_splash_med","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9092.05,-5722.32,-2635.05),(270,0,-41.0012)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_splash_med","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8867.09,-5664.32,-2639.74),(270,0,0.998955)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_splash_med","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9122.31,-5673.96,-2259.04),(270,0,0.998955)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_splash_med","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9172.55,-5731.61,-2292.6),(270,0,0.998955)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_splash_med","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9441.17,-6121.39,-1489.4),(285,270.999,89.9999)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_water_runoff_thick","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9378.87,-5926.17,-927.6),(270,168.69,104.31)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_back_a","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9355.72,-4895.3,-673.158),(358.179,251.756,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_back_a","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9221.14,-4961.96,-711.076),(358.179,251.756,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_back_a","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9253.29,-5046.62,-1258.08),(358.241,266.763,-0.471748)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_wind_debris_large","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9594.15,-5307.3,-1241.35),(270,0,-150)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_d","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7974.77,-5198.46,-212.867),(353.519,272.552,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_d","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7919.59,-5292.39,-548.859),(6.81952,241.869,-1.83635)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_d","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7670.62,-5385.46,-425.937),(17.8249,253.762,4.91707)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_d","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7772.03,-5215.65,-166.803),(17.8249,253.762,4.91707)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_d","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7618.22,-5275.7,-161.278),(9.13898,248.994,3.4859)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_d","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7478.06,-5342.59,-179.066),(9.13898,248.994,3.4859)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_d","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7791.8,-5377.58,-478.561),(17.8249,253.762,4.91707)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_d","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7682.41,-5466.67,-932.974),(17.8249,253.762,4.91707)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_mist","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7736.52,-5319.31,-346.436),(32.9997,280.999,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_ambient_dust_outdoor","7900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8686.19,-8318.31,-2743.39),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_rndfountain_splashes","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-884.293,-2413.94,659.062),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_underwater_env","16"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6624.66,-7782.51,-4144.69),(270,180,165)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_pool_ripple_runner","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6347.95,-3350.84,126.375),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_pool_foam","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6578.76,-3141,119.292),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_pool_foam","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6790.8,-3137.45,118),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_pool_foam","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6342.5,-3136.16,122.529),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_pool_foam","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6149.48,-3132.54,122.824),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_pool_foam","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6150.37,-3581.84,120.819),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_pool_foam","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6344.93,-3585.9,119.531),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_pool_foam","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6579.54,-3585.7,119.168),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_pool_foam","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6796.21,-3584.56,117),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_fall_clouds","11"); + var_00 common_scripts\_createfx::set_origin_and_angles((2957.48,313.728,2742.2),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_fall_clouds","11"); + var_00 common_scripts\_createfx::set_origin_and_angles((89.3051,-45.7819,2108.61),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_fall_clouds","11"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1701.4,-517.883,2570.05),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_fall_clouds","11"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3125.22,-1932.04,2590.09),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_fall_clouds","11"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4602.27,-3890.51,2981.14),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_fall_clouds","10"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5292.41,-6646.23,881.456),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_fall_clouds","10"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5704.53,-6854.79,-641.518),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_hangar_amb_smk","9091"); + var_00 common_scripts\_createfx::set_origin_and_angles((4514.21,-2827.47,628.155),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_hangar_amb_smk","9091"); + var_00 common_scripts\_createfx::set_origin_and_angles((4389.19,-2784.52,488.125),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_hangar_amb_smk","9091"); + var_00 common_scripts\_createfx::set_origin_and_angles((4362.96,-1594.26,638.803),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_hangar_amb_smk","9091"); + var_00 common_scripts\_createfx::set_origin_and_angles((4356.4,-1889.22,489.125),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_drone_hologram","6622"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6434.68,-938.989,154.367),(0,359.998,0)); + var_00 = common_scripts\_createfx::createexploderex("ie_godray_security_small","6611"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6712.09,-1234.42,371.54),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_godray_security_small","6611"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6711.65,-1271.61,371.54),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_godray_security_small_red","6611"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6711.67,-1146.7,371.54),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_godray_security_small_red","6611"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6711.35,-1109.8,371.54),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_godray_security_small","6611"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6711.43,-1016.25,369.54),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_godray_security_small","6611"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6710.61,-980.792,371.54),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_river_rapids","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7497.51,-4771.33,-136.89),(270,180,88.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_river_rapids","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7620.53,-3982.9,-146.875),(270,180,88.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_river_splashes","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7715.8,-4803.59,-129.025),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_river_splashes","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7884.62,-5080.12,-134.524),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_river_splashes","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7944.89,-5051.23,-136.265),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_river_splashes","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7736.19,-5009.39,-132.932),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_river_splashes","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7908.46,-4876.9,-148.393),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_river_splashes","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7594.38,-4894.81,-141.097),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_mist_rapids","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7616.65,-4359.24,-164.481),(270,0,168.999)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_mist_rapids","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7816.36,-4710.01,-152.605),(270,0,168.999)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_mist_rapids","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7947.14,-4400.63,-144.251),(270,0,168.999)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5513.36,-3357.71,475.078),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("ie_lightning","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10880.4,28801,6450.81),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("ie_water_curtain_intro","7900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8448.47,-8199.05,-2556.9),(1.04454,70.5884,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_water_intro_splashes","7900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8744.37,-8067.78,-2804.77),(270,180,149)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_water_intro_splashes","7900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8667.69,-8102.34,-2801.11),(270,180,149)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_water_intro_splashes","7900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8495.95,-8191.36,-2798.23),(270,180,149)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_water_intro_splashes","7900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8609.06,-8128.27,-2808.37),(270,180,149)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_moths_area_sml","7900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8664.51,-8335.64,-2764.92),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_water_curtain_intro","7900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8598.34,-8131.34,-2553.24),(1.04454,70.5884,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_water_curtain_intro","7900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8732.81,-8078.39,-2549.61),(1.04454,70.5884,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_trickle","7900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8669.04,-8117.91,-2615.42),(357.57,65.2,0.127297)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_trickle","7900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8506.23,-8164.6,-2580.04),(357.57,65.2,0.127297)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_trickle","7900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8761.66,-8084.72,-2599.25),(357.57,65.2,0.127297)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_trickle","7900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8823.92,-8069.55,-2622.09),(357.57,65.2,0.127297)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_trickle","7900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8530.51,-8173.7,-2601.35),(357.57,65.2,0.127297)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_trickle","7900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8730.31,-8106.07,-2626.01),(357.57,65.2,0.127297)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_trickle","7900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8613.9,-8156.66,-2629.49),(357.57,65.2,0.127297)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_pool_waterfall","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6883.49,-3368.27,136.826),(0,180,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_pool_splashes","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6887.31,-3344.57,-14.5),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_pool_splashes","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6890.14,-3428.25,-14.5),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_pool_splashes","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6891.09,-3191.45,-11.8884),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_pool_splashes","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6889.12,-3270.17,-14.5),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_pool_splashes","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6890.44,-3539.13,-14.5),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_pool_steam","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6430.14,-3354.79,83.3548),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4626.26,-4435.48,369.416),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_wind_debris_large","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3507,-3862.22,479.09),(270,0,164)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7370.75,-4420.35,210.528),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6815.78,-1818.08,180.775),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_wind_debris_large","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1864.95,-2105.18,679.924),(270,0,-100)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_wind_debris_large","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1367.9,-3497.39,749.98),(270,0,-130)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_leaf_kickup_runner","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3688.97,-3729.83,330.125),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_leaf_kickup_runner","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3898.14,-3561.62,320.125),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4926.63,-4403.68,365.043),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4613.39,-4613.69,366.402),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4803.25,-3992.48,358),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_ambient_dust_outdoor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3341.89,-3188.76,395.943),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_ambient_dust_outdoor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2239.66,-1124.4,696.125),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_wind_debris_large","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6086.25,-4612.81,136),(270,0,-55.0012)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_fireplace_gas_2","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5584.83,-3563.55,155.125),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_wind_debris_fast","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7202.27,-3370.01,61),(270,180,122)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_sauna_steam_vent","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6342.39,-4319.3,129.324),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_tub_bubblejet","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6344,-3830.39,117.933),(358.672,89.7896,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_tub_bubblejet","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6404.27,-3805.58,117.944),(358.802,45.9105,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_tub_bubblejet","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6430.39,-3743.99,117.898),(358.672,359.79,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_tub_bubblejet","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6405.56,-3682.72,117.99),(359.049,314.349,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_tub_bubblejet","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6344.02,-3656.61,117.94),(358.802,270.611,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_tub_bubblejet","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6256.61,-3744.01,117.875),(358.672,179.79,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_tub_bubblejet","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6282.1,-3804.95,117.96),(359.39,136.498,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_tub_bubblejet","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6282.06,-3682.09,117.97),(359.39,226.498,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_tub_foam","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6343.43,-3742.1,121.5),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6967.05,-4114.57,162.098),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6713.57,-3880.45,153.605),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7366.39,-3608.7,155.544),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7108.82,-1702.47,-52.1216),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5635.24,-2446.7,163.099),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5723.97,-2665.4,161),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5594.51,-2777.69,163.606),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6836.79,-2274.16,304.953),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_ambient_dust_outdoor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7373.69,-3598.02,180.96),(270,0,148.999)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_ambient_dust_outdoor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6756.98,-3911.74,144.176),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_ambient_dust_outdoor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6954.14,-1862.34,91),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_ambient_dust_outdoor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6804.97,-2245.44,151),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_ambient_dust_outdoor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6700.76,-1917.42,136),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_ambient_dust_outdoor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5727.64,-2155.94,142),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_ambient_dust_outdoor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5630.35,-2718.1,132),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_tub_bubblejet","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6150.62,-3583.55,110.043),(359.999,89.9992,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_tub_bubblejet","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6344.62,-3583.88,108.597),(0,90,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_tub_bubblejet","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6578.97,-3583.88,110.629),(0,90,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_tub_bubblejet","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6793.51,-3583.88,108.825),(0,90,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_tub_bubblejet","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6578.28,-3136.13,109.023),(0,270,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_tub_bubblejet","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6794.63,-3136.15,109.164),(0,270,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_tub_bubblejet","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6343.93,-3136.13,111.098),(0,270,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_tub_bubblejet","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6149.45,-3136.13,109.866),(0,270,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_wind_debris_fast","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7292.01,-4940.96,11.5),(270,0,-66.0006)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6502.25,-5218.26,89.3832),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6941,-4276.12,162.988),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5918.44,-4443.01,162.982),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_ambient_dust_outdoor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6869.34,-4228.57,136),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_ambient_dust_outdoor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6970.14,-3985.35,136),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_ambient_dust_outdoor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7134.67,-3946.97,108),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_dust_ground_fast","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5965.4,-2501.58,1120.13),(270,0,117.999)); + var_00 = common_scripts\_createfx::createexploderex("ie_dust_ground_fast","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5379.01,-1775.84,1120.13),(270,9.46232,73.5365)); + var_00 = common_scripts\_createfx::createexploderex("ie_dust_ground_fast","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5932.76,-1085.64,1120.13),(276,204.999,-89.9998)); + var_00 = common_scripts\_createfx::createexploderex("ie_dust_ground_fast","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5703.94,-1305.47,1120.13),(270,0,76.9993)); + var_00 = common_scripts\_createfx::createexploderex("ie_dive_cam","10"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7946.74,-7224.46,-2015.81),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("ie_fly_cam","12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7946.74,-7224.46,-2015.81),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("sparks_burst_electric_box","14"); + var_00 common_scripts\_createfx::set_origin_and_angles((1917.19,-4367.49,683.722),(0,90,0)); + var_00 = common_scripts\_createfx::createexploderex("ie_vtol_rotorwash_end","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6992.91,-1116.74,1137.52),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("ie_humvee_leaf_kickup","700"); + var_00 common_scripts\_createfx::set_origin_and_angles((2139.97,-4198.55,619.224),(270,0,-178.003)); + var_00 = common_scripts\_createfx::createexploderex("ie_godray_security","6668"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6713.38,-1125.8,373.804),(90,0,0)); + var_00 = common_scripts\_createfx::createexploderex("ie_godray_security_top","430"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6708.79,-999.914,361.275),(-90,0,0)); + var_00 = common_scripts\_createfx::createexploderex("ie_humvee_leaf_kickup","701"); + var_00 common_scripts\_createfx::set_origin_and_angles((2114.11,-4265.14,610),(270,0,178.998)); + var_00 = common_scripts\_createfx::createexploderex("ie_dust_roof_fast","870"); + var_00 common_scripts\_createfx::set_origin_and_angles((6479.7,-2751.45,1185.13),(270,0,-92.0005)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_dust_roof_fast","870"); + var_00 common_scripts\_createfx::set_origin_and_angles((6515.83,-2529.97,1055.13),(270,0,-92.0005)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_wind_debris_fast","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6475.07,-2576.33,151.5),(270,170.538,120.462)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_wind_debris_fast","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6228.39,-2593.61,151.5),(270,180,65.9995)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_wind_debris_fast","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5134.35,-2482.6,373),(270,0,-99.0003)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_wind_debris_fast","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4844.55,-1855.28,355),(270,0,-99.0003)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_wind_debris_fast","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4494.07,-1729.69,352),(270,0,-99.0003)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_wind_debris_fast","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4232.38,-1256.08,358),(270,0,-99.0003)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_wind_debris_fast","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4704.49,-4683.16,367),(270,0,-11.0005)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_wind_debris_fast","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4536.12,-4287.48,352),(270,180,134.999)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_wind_debris_fast","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4759.44,-4105.88,352.75),(270,0,-51.0008)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_wind_debris_fast","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4674.3,-4977.21,350.534),(270,0,-85.0008)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_wind_debris_fast","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4726.71,-5446.79,363.037),(270,0,-85.0008)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_wind_debris_fast","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8323.5,-5216.32,272.113),(270,0,-83.0002)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_base_waterwall","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2011.84,-2485.21,591.033),(0,195.656,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_base_waterwall","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1972.64,-2628.59,596.805),(0,196.232,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_base_waterwall","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2045.4,-2360.23,589.692),(0,192.854,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4925.7,-4069.77,373.125),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6625.25,-5196.81,12.5671),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7139.6,-4831.37,-0.500008),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7008.73,-4596.74,-0.5),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7007.76,-5306.85,-0.499992),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6987.21,-4923.58,-0.244263),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6898.12,-4959.9,22.5),(270,0,178.999)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_wind_debris_large","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-906.342,-3019.4,647.463),(270,0,-130)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_wind_debris_fast","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7318.7,-2851.44,137.5),(270,180,132)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7281.62,-4118.94,15.5),(270,0,-109.001)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6737.31,-3770.12,127.625),(270,180,98.9993)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6999.98,-3783.44,127.625),(270,180,98.9993)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7099.54,-3039.79,-0.375),(270,0,-109.001)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7064.63,-2761.48,-0.375),(270,0,-109.001)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6661.26,-2633.61,130.625),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6681.72,-3053.54,132.625),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2909.65,-3563.25,330.125),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3680.63,-3558.29,336.5),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4446.81,-3358.7,344),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4585.06,-3158.32,344),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4573.41,-3579.03,344),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4941.87,-3049.99,344),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4974.42,-3681.93,344),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3491.08,-3032.1,732.125),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2013.01,-2914.93,479),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2154.88,-2483.37,473.939),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2091.85,-2565.48,463.658),(270,0,-164.001)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1514.73,-2741.08,608),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1609.83,-2681.06,608),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1300.2,-1673.8,608.125),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-942.29,-1643.35,608.125),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-500.588,-3895.85,608.125),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-519.974,-3827.78,608.125),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-612.264,-3929.01,608.125),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1167.31,-3339.6,608),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1151.22,-3276.01,608),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1449.37,-2845.94,608),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1440.67,-2971.15,621.057),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4504.31,-4602.35,354.94),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5027.22,-4020.1,358.125),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7327.71,-3692.22,47.625),(270,0,159.999)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7229.01,-3752.35,47.625),(270,0,159.999)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7151.17,-2858.12,152.5),(270,0,-109.001)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_wind_debris_fast","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7185.63,-2486.13,137.5),(270,180,96.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7080.61,-1729.25,-127.875),(270,0,-109.001)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7101.78,-2009.66,-127.875),(270,0,-109.001)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7084.56,-2383.61,-23.875),(270,0,-109.001)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5741.87,-2674.76,148.5),(270,0,-109.001)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5646.37,-2807.64,144.721),(270,0,-109.001)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5646.23,-3918.34,145.5),(270,0,-109.001)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2245.08,-1201.97,591.125),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2386.48,-1645.43,592),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2544.84,-1731.87,592),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1377,-3958.45,472.125),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1467.35,-4120.05,472.125),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1349.79,-1362.07,1084.13),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_vapor","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1592.13,-1353.27,1084.13),(270,0,90.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_pool_splashes","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2059.33,-2322.78,467.5),(270,0,10.9999)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_pool_splashes","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2032.48,-2421.04,462.5),(270,180,-165)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_pool_splashes","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2007.57,-2529.4,462.5),(270,356.279,20.7211)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_pool_splashes","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1969.35,-2648.47,463.5),(270,356.279,20.7211)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_water_intro_splashes","7900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8573.14,-8151.07,-2805.6),(270,180,149)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_light_launcher","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2664.94,-4894.03,367.66),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_leaves_tornado_runner","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3986.54,-1346.87,326),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_leaves_tornado_runner","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4015.73,-1532.34,327.655),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_river_flow","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7669.49,-3992.55,-135.211),(270,0,-95.0002)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_river_flow","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7545.6,-4430.29,-120.635),(270,0,-95.0002)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_wind_debris_fast","9091"); + var_00 common_scripts\_createfx::set_origin_and_angles((5286.72,-2470.43,1115.13),(270.691,330.749,119.671)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_wind_debris_fast","9091"); + var_00 common_scripts\_createfx::set_origin_and_angles((5283.49,-2150.01,1115.13),(270.691,330.749,119.671)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_wind_debris_fast","9091"); + var_00 common_scripts\_createfx::set_origin_and_angles((5301.7,-2313.72,1115.13),(270.691,330.749,119.671)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_fall_clouds","10"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5759.06,-7282.3,-1784.46),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_leaves_tornado_runner","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6926.54,-4976.48,6.61401),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_tennis_net_runner","747"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3161.59,-4694.73,395.256),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("ie_fall_clouds","10"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7163.32,-7082.23,-10.1258),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_fall_clouds","10"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6642.56,-7068.31,-3251.91),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_trickle","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-905.18,-2492.54,783.156),(358.929,265.916,1.93203)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_trickle","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-856.067,-2360.33,789.295),(360,230,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_trickle","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-828.33,-2444.88,779.356),(2.00012,338,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_trickle","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-965.408,-2430.68,786.2),(1.00019,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_trickle","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-945.386,-2360.18,773.603),(0.706995,314.978,-0.707176)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_river_rapids","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6384.84,-5088.7,-143),(270,180,88.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6501.02,-5219.79,177.31),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7149.55,-2961.17,96.0732),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6953.68,-2596.18,96.0728),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7399.52,-2167.16,-47.4841),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5814.03,-2036.69,166.025),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5952.14,-1583.2,136),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6482.37,-1380.4,310.525),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_d","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6401.59,-5302.28,-143.248),(333.874,274.029,4.23239)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4566.68,-4100.75,375.5),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3661.12,-3535.03,351.235),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3695.6,-3759.73,351.351),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3879.31,-3573.93,343.666),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3702.6,-2637,344.054),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3671.22,-2822.87,347.043),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2978.87,-2832.3,355.239),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2777.04,-2811.13,349.608),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2946.41,-2638.96,348.796),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2765,-3564.67,348.464),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2970.84,-3764.97,345.177),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2978.38,-3542.99,360.225),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4445.46,-1707.84,373.242),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5114.03,-2633.57,374.517),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4871.43,-2440.44,382.017),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5004.91,-2181.73,375.676),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4520.9,-1886.82,379.02),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4475.67,-2128.06,378.233),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4425.51,-2382.22,372.215),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3385.4,-1753.98,373.903),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3275.29,-1800.51,375.752),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3115.53,-1907.83,370.609),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2419.75,-2314.45,375.123),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2287.91,-2818.27,370.192),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5032.19,-3581.87,415.186),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6112.31,-4563.97,158.852),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6371.98,-4668.14,157.084),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5696.09,-2196.29,160.181),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5956.86,-1801.66,150.706),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5784.21,-3983.13,250.251),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5808.37,-3933.04,179.001),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5869.06,-3926.68,244.397),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5839.01,-3957.67,214.314),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5746.57,-3936.67,145),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5871.51,-3962.49,171.372),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3801.65,-635.317,603.738),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3623.94,-659.535,608.437),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3142.04,-672.871,588.546),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2992.32,-609.219,596.414),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2774.38,-696.568,597.29),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1916.68,-749.936,628.366),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1865.01,-847.784,622.621),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2572.45,-1421.45,624.059),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2691.13,-1373.59,603),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1796.46,-1739.41,656.386),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1135.99,-2731.04,641.972),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1256.05,-2284.97,645.982),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_insects_sml","7800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-859.519,-3231.76,651.061),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_briefing_lights","4300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11571.4,-16479.4,-5362.34),(90,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_hangar_utility_light","9091"); + var_00 common_scripts\_createfx::set_origin_and_angles((4735.45,-2346.75,629.822),(24.1724,22.5,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_hangar_utility_light","9091"); + var_00 common_scripts\_createfx::set_origin_and_angles((4720.49,-2311.16,629.382),(24.1724,22.5,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_hangar_utility_light","9091"); + var_00 common_scripts\_createfx::set_origin_and_angles((4720.64,-2311.01,640.56),(335.828,22.5,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_hangar_utility_light","9091"); + var_00 common_scripts\_createfx::set_origin_and_angles((4736.32,-2348.9,640.6),(335.828,22.5,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_river_rapids","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7349.95,-4896,-140.062),(270,180,88.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_river_rapids","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7561.32,-4334.54,-138),(270,180,88.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_mist_rapids","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7796.97,-4999.51,-136),(270,0,168.999)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_river_flow","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9275.65,-389.269,-141),(270,0,-95.0002)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_river_flow","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9238.6,211.129,-137),(270,0,-95.0002)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_river_flow","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8484.93,-3703.33,-118.193),(270,0,-95.0002)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_river_flow","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8068.34,-4077.53,-126),(270,0,-95.0002)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_river_flow","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8769.8,-3227.94,-142),(272,174.998,160.001)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_river_flow","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10540.3,-1657.21,-126),(270,0,-95.0002)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_river_rapids","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7842.08,-4967.57,-125),(270,180,88.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_river_rapids","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7603.77,-5043.12,-130),(270,180,88.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_river_rapids","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7688.89,-4908.44,-137),(270,180,88.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_river_rapids","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7838.56,-4783.83,-130),(270,180,88.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_river_rapids","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7997.66,-4855.92,-126),(270,180,88.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_river_rapids","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7680.66,-4650.41,-140.008),(270,180,88.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_river_rapids","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7608.4,-4784.98,-137),(270,180,88.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_river_rapids","7700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7778.8,-4474.81,-146),(270,180,88.9997)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_d","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9376.1,-6009.57,-836.017),(27.1304,353.82,-0.876413)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_d","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9356.58,-5833.34,-767.08),(27.1304,353.82,-0.876413)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ie_waterfall_d","9900"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9374.37,-5581.08,-774.258),(27.1304,353.82,-0.876413)); + var_00.v["delay"] = -15; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/lab_fx.gsc b/AW/PC/maps/createfx/lab_fx.gsc new file mode 100644 index 0000000..1217a3e --- /dev/null +++ b/AW/PC/maps/createfx/lab_fx.gsc @@ -0,0 +1,1485 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\lab_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 88 ms + * Timestamp: 4/22/2024 2:07:30 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\utility::createoneshoteffect("godray_golden_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12291.4,13143.1,-1189.69),(73.578,203.192,-154.8)); + var_00 = common_scripts\_createfx::createexploderex("light_bounce_outdoors","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7880.49,6211.12,65.6046),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("lamp_volume_lab_courtyard","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11373.1,13397,-979.15),(70.9994,89.9977,-90.0017)); + var_00 = common_scripts\_createfx::createexploderex("lamp_volume_lab_courtyard","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13507.6,13352.2,-973.21),(63.9282,354.958,177.729)); + var_00 = common_scripts\_createfx::createexploderex("lamp_volume_lab_courtyard","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12434.4,14648.6,-991.77),(89.1673,223.884,14.8647)); + var_00 = common_scripts\_createfx::createexploderex("lamp_volume_lab_courtyard","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12333.1,14698.4,-990.767),(80.8013,27.697,178.66)); + var_00 = common_scripts\_createfx::createexploderex("lamp_volume_lab_courtyard","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13612.8,13350.4,-971.791),(75.0219,180.731,3.86392)); + var_00 = common_scripts\_createfx::createexploderex("lamp_volume_lab_courtyard","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12860.9,13451.1,-980.696),(63.9282,354.958,177.729)); + var_00 = common_scripts\_createfx::createexploderex("lamp_volume_lab_courtyard","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12974.8,13456,-978.862),(68.9059,183.388,7.78562)); + var_00 = common_scripts\_createfx::createexploderex("lamp_volume_lab_courtyard","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13636.3,13876.5,-983.281),(63.9282,354.958,177.729)); + var_00 = common_scripts\_createfx::createexploderex("lamp_volume_lab_courtyard","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12905.7,12367.8,-976.576),(63.9282,354.958,177.729)); + var_00 = common_scripts\_createfx::createexploderex("lamp_volume_lab_courtyard","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13023.3,12367.3,-975.976),(70.9742,182.068,5.82586)); + var_00 = common_scripts\_createfx::createexploderex("lamp_volume_lab_courtyard","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12958.1,11615.3,-886.399),(68.6638,98.134,-90.3338)); + var_00 = common_scripts\_createfx::createexploderex("lamp_volume_lab_courtyard","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12256.9,12467.1,-974.391),(68.0328,179.473,2.6684)); + var_00 = common_scripts\_createfx::createexploderex("lamp_volume_lab_courtyard","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12141.6,12468.3,-974.81),(63.9282,354.958,177.729)); + var_00 = common_scripts\_createfx::createexploderex("lamp_volume_lab_courtyard","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11773.4,11948.9,-979.412),(71.0293,179.902,3.07104)); + var_00 = common_scripts\_createfx::createexploderex("lamp_volume_lab_courtyard","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11659,11950.7,-976.938),(63.9282,354.958,177.729)); + var_00 = common_scripts\_createfx::createexploderex("lamp_volume_lab_courtyard","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12114,13138.4,-979.299),(63.9282,354.958,177.729)); + var_00 = common_scripts\_createfx::createexploderex("lamp_volume_lab_courtyard","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12227.2,13140.2,-978.475),(68.0329,179.473,2.66842)); + var_00 = common_scripts\_createfx::createexploderex("lamp_volume_lab_courtyard","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11227.9,12372.2,-994.133),(71.0367,175.55,-2.45941)); + var_00 = common_scripts\_createfx::createexploderex("lamp_volume_lab_courtyard","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11012.3,14983.5,-982.015),(59.7658,123.186,-60.5301)); + var_00 = common_scripts\_createfx::createexploderex("lamp_volume_lab_courtyard","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10900,14985,-983.928),(63.8193,51.3341,-125.681)); + var_00 = common_scripts\_createfx::createexploderex("fx_flare_aperture","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12245.1,13230.1,-1312.88),(273,319,-19.9998)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_strip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10281.5,-1646.51,-36.8219),(280.547,104.681,65.0024)); + var_00 = common_scripts\_createfx::createexploderex("point_yellow_fill_sm","7122"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12819.5,9369.5,-1221.22),(326.701,359.889,88.5083)); + var_00 = common_scripts\_createfx::createexploderex("point_yellow_fill_sm","7122"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12720.3,9387.33,-1218.21),(326.701,359.889,88.5083)); + var_00 = common_scripts\_createfx::createexploderex("point_yellow_fill_sm","7122"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12764.6,9362.02,-1213.27),(326.701,359.889,88.5083)); + var_00 = common_scripts\_createfx::createexploderex("point_yellow_fill_sm","9123"); + var_00 common_scripts\_createfx::set_origin_and_angles((6859.05,14944.9,-496.042),(326.701,359.889,88.5083)); + var_00 = common_scripts\_createfx::createexploderex("leaves_runner_2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9736.85,-2054.96,366.076),(279.66,102.721,-174.029)); + var_00 = common_scripts\_createfx::createexploderex("leaves_runner_2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10611.9,-2026.23,284.655),(271.074,357.25,-68.6447)); + var_00 = common_scripts\_createfx::createexploderex("leaves_runner_2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8330.01,-1887.11,336.505),(279.66,102.721,-174.029)); + var_00 = common_scripts\_createfx::createexploderex("leaves_runner_2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7396.8,-568.224,304.314),(279.66,102.721,-174.029)); + var_00 = common_scripts\_createfx::createexploderex("leaves_runner_2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7413.82,339.626,126.209),(279.66,102.721,-174.029)); + var_00 = common_scripts\_createfx::createexploderex("leaves_runner_2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9001.54,-2077.15,302.79),(279.66,102.721,-174.029)); + var_00 = common_scripts\_createfx::createexploderex("leaves_runner_2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7584.57,-1128.07,311.485),(279.66,102.721,-174.029)); + var_00 = common_scripts\_createfx::createexploderex("leaves_runner_2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7697.05,586.686,130.844),(279.66,102.721,-174.029)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8562.79,4105.62,178.289),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8857.49,4644.47,112.381),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8277.83,4923.53,92.2764),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7950.91,5649.81,567.596),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7967.48,6555.36,539.815),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7744.58,4983.78,542.975),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8880.87,7526.4,492.006),(271,196,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9855.51,6853.76,568.118),(271,196,104)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10902.1,6198.1,469.534),(271,196,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11802.2,6104.47,573.343),(271,196,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14792.3,6448.46,725.028),(271,196,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14442.6,7807.06,519.254),(271,196,54.9999)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14217.8,6554.33,778.883),(271,196,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("leaves_runner_2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8099.43,-515.241,291.356),(279.66,102.721,-174.029)); + var_00 = common_scripts\_createfx::createexploderex("embers_runner_sml","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10279.3,-1660.05,-33.4005),(319.063,96.0981,-89.9999)); + var_00 = common_scripts\_createfx::createexploderex("embers_runner_sml","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10934.9,-1524.48,-78.2304),(319.063,96.0981,-89.9999)); + var_00 = common_scripts\_createfx::createexploderex("embers_runner_sml","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10268.8,-1601.63,-60.5291),(319.063,96.0981,-89.9999)); + var_00 = common_scripts\_createfx::createexploderex("lights_moonbeam_1","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10207.8,-49.1833,1009.6),(34.4111,286.745,89.6389)); + var_00 = common_scripts\_createfx::createexploderex("lights_moonbeam_1","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11222.4,-484.11,974.324),(34.4111,286.745,89.6389)); + var_00 = common_scripts\_createfx::createexploderex("lights_moonbeam_1","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9397.34,892.515,822.234),(33.4914,302.393,98.416)); + var_00 = common_scripts\_createfx::createexploderex("lights_moonbeam_1","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10671.2,-392.14,962.954),(34.4114,287.957,90.3239)); + var_00 = common_scripts\_createfx::createexploderex("lights_moonbeam_1","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9832.76,227.503,1108.73),(33.9854,297.619,95.7636)); + var_00 = common_scripts\_createfx::createexploderex("embers_wind_vortex","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10282.5,-1666.82,-32.2351),(279.263,96.136,-90)); + var_00 = common_scripts\_createfx::createexploderex("embers_wind_vortex","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10746.5,-1628.5,-59.6218),(292.37,93.4792,0)); + var_00 = common_scripts\_createfx::createexploderex("embers_wind_vortex","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10951.2,-1535.61,-76.9309),(280.787,94.3695,0)); + var_00 = common_scripts\_createfx::createexploderex("embers_wind_vortex","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10788.1,-1637.39,-77.9048),(285.947,106.995,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_lrg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8360.33,7182.91,49.9993),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_lrg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9010.44,7006.17,47.9319),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_lrg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9737.12,6665.97,62.476),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_lrg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10293.7,6316.33,103.928),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_lrg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11383.5,6126.61,66.1854),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_lrg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12137.7,5688.62,119.645),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_lrg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13035.4,6169.93,65.056),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_lrg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13673.5,5968.59,71.4917),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_lrg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14291.6,7470.86,-7.05333),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_lrg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14889.3,6371.84,76.6472),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13310.8,11184.3,-1366.02),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13335.7,13747.6,-1473.85),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11323.5,14686.5,-1476.61),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11880.5,13247.2,-1407.05),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11945.3,12482.2,-1407.31),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13359.4,12723.8,-1436.2),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12746.1,11971.2,-1373.8),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11557.6,12506.1,-1407.85),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_lrg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15270.6,8359.19,16.7614),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11109.6,14063.5,-1463.1),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13096.2,13597.4,-1476.24),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12674.3,10921.5,-1359.45),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13544.4,12557.2,-1429.12),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13347.4,11631.9,-1364.31),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("insects_moths","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13354.2,13812,-1323.45),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("insects_moths","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12587.3,11905.9,-1219.15),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("insects_moths","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13392.1,11547.6,-1227.62),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("insects_moths","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11570.4,13319,-1284.25),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("insects_moths","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10689.6,14424.1,-1334.14),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("insects_moths","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12557.7,12678.2,-1239.05),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_lrg","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14817.6,9368.84,-1571.11),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_lrg","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14533.7,10065.6,-1572.13),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_lrg","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14150.4,10017,-1430.58),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_lrg","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14113.3,10697.4,-1427.88),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14117.2,6015.32,7.66687),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14049.6,6253.71,30.7925),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14116.3,6545.95,47.7957),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11021,6365.44,578.688),(271,196,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9710.84,6456.24,441.133),(271,196,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("door_breach_explosion","fx_door_breach_explosion"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14831.8,11993.9,-1390.46),(0,270,0)); + var_00 = common_scripts\_createfx::createexploderex("insects_mosquitos","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8820.45,4229.53,-405.209),(275.979,244.895,0)); + var_00 = common_scripts\_createfx::createexploderex("insects_mosquitos","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8458.04,6186.63,19.4042),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_mosquitos","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8489.12,6912.17,92.4538),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_mosquitos","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14818.5,11519.3,-1453.24),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_mosquitos","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14707.5,10462.6,-1514.86),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_mosquitos","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14752.3,9420.21,-1504.75),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("leaves_runner_2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8784,-1985.08,579.789),(279.66,102.721,-174.029)); + var_00 = common_scripts\_createfx::createexploderex("leaves_runner_2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8123.99,-1992.77,601.08),(279.66,102.721,-174.029)); + var_00 = common_scripts\_createfx::createexploderex("leaves_runner_2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7679.98,-207.602,434.745),(279.66,102.721,-174.029)); + var_00 = common_scripts\_createfx::createexploderex("leaves_runner_2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8509.84,566.096,270.461),(279.66,102.721,-174.029)); + var_00 = common_scripts\_createfx::createexploderex("leaves_runner_2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9183.87,-1503.82,234.606),(279.66,102.721,148.971)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9128.79,7049,504.883),(271,196,144)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10420.6,6462.85,527.486),(271,196,104)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_med_strip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10316.6,-1672.04,-35.5816),(290.036,93.3683,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_sm_strip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10291.8,-1663.66,-34.7414),(287.078,95.4002,34.3692)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_sm_strip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10347.4,-1661.71,-40.0006),(290.036,93.3662,-43.9991)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_strip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10382,-1652.94,-44.2419),(280.547,104.674,136.009)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_strip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10647.1,-1664.2,-57.1255),(286.492,74.1646,42.7162)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_sm_strip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10676.1,-1674.52,-55.3836),(289.07,94.8503,6.94615)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_med_strip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10712.1,-1678.72,-60.2885),(292.033,93.0757,0.313215)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_sm_strip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10749.4,-1672.77,-62.2949),(292.033,93.0731,-25.686)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_strip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10632.4,-1638.88,-62.1346),(286.492,74.1634,78.7165)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_strip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10786.9,-1663.42,-71.6662),(286.492,74.164,-1.28368)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_strip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10824.8,-1656.42,-76.2253),(282.492,102.374,162.356)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_sm_strip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10808.4,-1659.51,-75.4466),(292.033,93.0728,-25.6858)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_strip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10951.8,-1682.89,-64.5793),(282.492,102.372,-169.642)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_sm_strip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10984.2,-1697.16,-62.4472),(292.033,93.0712,10.3147)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_med_strip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11007.1,-1696.12,-60.7299),(292.033,93.0753,-3.68663)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_strip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11046.5,-1693.57,-62.6508),(282.492,102.371,165.359)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_sm_strip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11088.2,-1691.18,-66.4351),(292.033,93.0701,-8.68511)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_strip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11115.5,-1686.72,-65.6272),(282.492,102.371,178.359)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_twirl_no_physics","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8144.34,-565.404,198.978),(279.66,102.721,148.971)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_twirl_no_physics","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8274.98,506.324,117.977),(279.66,102.721,148.971)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_twirl_no_physics","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8373.13,1963.66,392.611),(279.66,102.721,148.971)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_twirl_no_physics","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9955.96,6745.69,596.096),(271,196,104)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_twirl_no_physics","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9303.77,7000.53,625.322),(271,196,104)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_twirl_no_physics","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11780.4,5970.7,611.118),(271,196,104)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_twirl_no_physics","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13375.7,5713.88,620.057),(271,196,104)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_twirl_no_physics","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14516,7678.83,473.814),(271,196,104)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_twirl_no_physics","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15302.3,8635.65,614.203),(271,196,104)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_twirl_no_physics","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15089.9,6452.61,695.212),(271,196,104)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_twirl_no_physics","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15217.9,8328.81,407.296),(271,196,104)); + var_00 = common_scripts\_createfx::createexploderex("insects_mosquitos","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8901.29,4115.38,-432.572),(275.979,244.895,0)); + var_00 = common_scripts\_createfx::createexploderex("insects_mosquitos","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8920.72,4282.05,-344.66),(275.979,244.895,0)); + var_00 = common_scripts\_createfx::createexploderex("insects_mosquitos","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8834.39,3848.22,-482.182),(275.979,244.895,0)); + var_00 = common_scripts\_createfx::createexploderex("fog_windy_bright","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8322.36,1259.88,-154.876),(282.674,120.254,0)); + var_00 = common_scripts\_createfx::createexploderex("smoke_white_ground_wind_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10184.9,-1633.37,-43.1668),(281.971,162.667,-75.1293)); + var_00 = common_scripts\_createfx::createexploderex("smoke_white_ground_wind_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10328.4,-1633.73,-48.6263),(280.547,104.679,-13.9962)); + var_00 = common_scripts\_createfx::createexploderex("smoke_white_ground_wind_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10675.4,-1655.81,-62.2401),(275.159,162.439,-60.7492)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7834.35,1319.48,-72.2702),(282.674,120.254,0)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8700.63,4564.77,-169.107),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9569.9,5137.64,71.7523),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7680.68,5071.18,-85.7527),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7621.85,5274.06,17.2212),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8897.73,5332.57,-44.4427),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9001.68,7565.74,266.879),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8372.68,7528.47,218.68),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6874.51,7255.14,264.069),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7378.5,6448.74,208.189),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9375.22,6092.32,201.823),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10386.1,5619.51,173.416),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11189.9,5445.02,139.127),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11588.5,5537.98,174.084),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12314.9,5329.65,126.123),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12933.2,5136.89,96.8357),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13578.5,5122.73,183.615),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14687.1,5424.09,248.691),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15265.4,5837.77,362.844),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14717.4,6745.69,286.94),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15052.3,7496.41,170.016),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15362.1,7923.93,135.502),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15672.7,8546.76,165.629),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15449.2,8957.86,154.675),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14741.9,8234.85,243.725),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13761.8,7618.55,438.276),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8870.17,4470.75,-250.053),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9024.04,2325.18,-254.009),(282.674,120.254,0)); + var_00 = common_scripts\_createfx::createexploderex("lab_courtyard_floodlight_flare","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12582.8,11901.8,-1214.68),(16.8671,101.063,-0.559417)); + var_00 = common_scripts\_createfx::createexploderex("light_red_strobe","6125"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12363.5,11834.7,-1170.07),(21.3446,316.837,-139.757)); + var_00 = common_scripts\_createfx::createexploderex("insects_mosquitos","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9124.78,7074.86,37.3452),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_mosquitos","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10299.5,6473.58,91.2682),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("heli_railgun_wood_impact_2","lab_shack_roof_damage"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9216.83,-1481.48,102.875),(65.5815,318.577,-110.14)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_strip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10204.1,-1667.97,-27.4606),(289.076,97.8554,19.0007)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_med_strip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10245.1,-1679.62,-26.6189),(291.528,96.3109,0)); + var_00 = common_scripts\_createfx::createexploderex("birds_tree_flyout","3100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15285.8,9885.85,440.15),(10.8485,14.6091,0.727627)); + var_00 = common_scripts\_createfx::createexploderex("heli_railgun_wood_impact_2","lab_shack_roof_damage"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9114.67,-1430.64,111.125),(333.18,20.6853,-79.9939)); + var_00.v["delay"] = 0.35; + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9445.99,7240.36,174.156),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10080.6,6976.11,220.089),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10794,6607.1,200.175),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_lrg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13328.9,5007.26,62.6922),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14148.3,6925.82,138.475),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14457.9,7932.65,114.875),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9806.17,6353.75,43.2849),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("godray_beam_wide_bright","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14468.2,12371.2,-1352),(13.9995,178,180)); + var_00 = common_scripts\_createfx::createexploderex("embers_wind_vortex","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10771.1,-1443.46,-69.8101),(274.614,130.085,0)); + var_00 = common_scripts\_createfx::createexploderex("embers_wind_vortex","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10316.3,-1590.48,-64.7271),(277.519,74.282,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_med_strip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11075.9,-1505.75,-78.432),(292.033,93.0753,-3.68663)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_sm_strip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10928.1,-1508.93,-77.7444),(292.033,93.0691,-29.6848)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_strip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11104.2,-1510.31,-78.0149),(282.492,102.372,-173.642)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_strip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11138.5,-1515.55,-77.6534),(282.492,102.371,171.359)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_med_strip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10732.3,-1426.22,-69.8399),(292.033,93.0745,-22.6864)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_med_strip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10824.9,-1426.01,-74.6969),(292.033,93.0737,25.314)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_sm_strip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10777.2,-1410.82,-74.8251),(289.07,94.8497,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_strip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10864.4,-1449.02,-70.9967),(282.492,102.37,-147.64)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_sm_strip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10899,-1477.67,-73.8484),(292.033,93.065,31.3169)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_strip","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10880.2,-1457.78,-71.2686),(282.492,102.369,-150.639)); + var_00 = common_scripts\_createfx::createexploderex("godray_beam_wide","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15026.4,12001.4,-1348.39),(38.9995,270,90.0002)); + var_00 = common_scripts\_createfx::createexploderex("godray_beam_wide","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14581.1,11541.7,-1281.26),(53.0606,203.953,30.1904)); + var_00 = common_scripts\_createfx::createexploderex("godray_beam_cracks","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14594.8,11582.9,-1309.28),(51.9972,201.144,37.778)); + var_00 = common_scripts\_createfx::createexploderex("godray_beam_wide","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14597.6,11652.6,-1371.75),(59.8499,200.39,27.4335)); + var_00 = common_scripts\_createfx::createexploderex("lab_burke_river_entry_splashes","river_entry_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8585.07,2957.59,-540),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("lab_wall_climb_dust","lab_wall_climb"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8863.67,4308.25,-365.24),(275.73,263.458,15.0002)); + var_00 = common_scripts\_createfx::createexploderex("lab_wall_climb_dust","lab_wall_climb"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8864.84,4325.15,-315.281),(275.979,244.893,28.0011)); + var_00.v["delay"] = 3; + var_00 = common_scripts\_createfx::createexploderex("river_rock_splash_1","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8464.83,3380.71,-539),(270,0,177.999)); + var_00 = common_scripts\_createfx::createexploderex("river_rock_splash_1","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8438.03,3462.65,-537),(270,0,177.999)); + var_00 = common_scripts\_createfx::createexploderex("river_rock_splash_1","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9424.33,3413.88,-539),(270,0,177.999)); + var_00 = common_scripts\_createfx::createexploderex("river_rock_splash_1","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9512.73,3302.19,-536.41),(270,0,177.999)); + var_00 = common_scripts\_createfx::createexploderex("river_flowing_leaves","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9331.44,3586.91,-537),(270,0,168.999)); + var_00 = common_scripts\_createfx::createexploderex("river_flowing_leaves","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8927.91,2999.74,-540),(270,0,-172.001)); + var_00 = common_scripts\_createfx::createexploderex("river_flowing_leaves","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9073.05,3334.29,-540),(270,0,-179.001)); + var_00 = common_scripts\_createfx::createexploderex("lab_wall_climb_dust","lab_wall_climb"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8865.37,4331.91,-299.981),(275.979,244.894,29.0006)); + var_00.v["delay"] = 5; + var_00 = common_scripts\_createfx::createexploderex("godray_beam_hangar","7012"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12499.2,9583.13,-1314.88),(312,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("godray_beam_hangar","7013"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12499.7,9373.66,-1319.88),(312,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("godray_beam_hangar","7014"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12499.6,9166.61,-1318.88),(312,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("godray_beam_hangar","7012"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13019.2,9582.82,-1319.88),(307,360,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_beam_hangar","7013"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13022.7,9372.64,-1316.88),(307,360,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_beam_hangar","7014"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13025.1,9170.01,-1309.88),(307,360,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_beam_hangar","7011"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12910.7,9558.47,-1065.11),(43.9996,359.998,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_beam_hangar","7012"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12908.9,9498.37,-1067.47),(43.9996,359.998,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_beam_hangar","7013"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12910.1,9427.68,-1067.51),(43.9996,359.998,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_beam_hangar","7014"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12913.4,9365.13,-1068.92),(43.9996,359.998,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_beam_hangar","7015"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12908.5,9302.57,-1068.02),(43.9996,359.998,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_beam_hangar","7016"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12907.6,9239.06,-1062.51),(43.9996,359.998,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_beam_hangar","7017"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12904.6,9170.58,-1062.85),(43.9996,359.998,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_beam_hangar","7011"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12630.2,9561.1,-1065.26),(46.9994,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("godray_beam_hangar","7012"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12630.1,9493.05,-1064.92),(46.9994,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("godray_beam_hangar","7013"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12628,9429.32,-1068.1),(46.9994,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("godray_beam_hangar","7014"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12625.1,9365.51,-1069.52),(46.9994,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("godray_beam_hangar","7015"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12625.5,9301.55,-1069.58),(46.9994,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("godray_beam_hangar","7016"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12625.3,9237.95,-1069.46),(46.9994,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("godray_beam_hangar","7016"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12625.1,9173.19,-1069.76),(46.9994,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("leaves_ground_kickup","2100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9120.79,4971.25,-255.645),(270,0,0)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("leaves_ground_kickup","2100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9246.72,5039.18,-212.531),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("leaves_ground_kickup","2100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8594.14,4835.61,-264.956),(270,0,0)); + var_00.v["delay"] = 1.3; + var_00 = common_scripts\_createfx::createexploderex("leaves_ground_kickup","2100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8420.44,4728.21,-263.595),(270,0,0)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("lab_wall_climb_dust","lab_wall_climb"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8873.38,4338.28,-297.925),(275.979,244.894,29.0006)); + var_00.v["delay"] = 6.2; + var_00 = common_scripts\_createfx::createexploderex("leaves_ground_kickup_dust","2200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8919.13,3945.03,-514.872),(270,0,0)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("leaves_ground_kickup_dust","2300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7913.2,5299.5,-194.038),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("takedown_head_impact_dust","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8094.02,5336.12,-109.599),(270,0,13.9999)); + var_00 = common_scripts\_createfx::createexploderex("fog_in_valley","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14746.7,17186.7,-870.711),(282.674,120.254,0)); + var_00 = common_scripts\_createfx::createexploderex("fog_in_valley","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10591.8,17615.8,-895.873),(282.674,120.254,0)); + var_00 = common_scripts\_createfx::createexploderex("fog_in_valley","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8959.58,14440.7,-1024.42),(270.326,300.264,179.99)); + var_00 = common_scripts\_createfx::createexploderex("fog_in_valley","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16488.8,16289.5,12.3529),(274.032,177.23,-74.6024)); + var_00 = common_scripts\_createfx::createexploderex("fog_in_valley","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11103.8,20095,185.552),(270.673,120.235,-42.9816)); + var_00 = common_scripts\_createfx::createexploderex("amb_ground_dust_lrg","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14846.4,9503.89,-1423.83),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("headlight_no_light","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10232.2,6477.36,102.321),(351.545,225.633,171.452)); + var_00 = common_scripts\_createfx::createexploderex("headlight_no_light","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10271.9,6518.72,112.786),(357.082,224.246,-5.61107)); + var_00 = common_scripts\_createfx::createexploderex("light_cone","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10329.5,6424.93,89.8832),(4.34688,219.405,170.109)); + var_00 = common_scripts\_createfx::createexploderex("headlight_no_light","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13068.8,6142.78,61.1321),(11.529,343.661,176.646)); + var_00 = common_scripts\_createfx::createexploderex("headlight_no_light","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13047.7,6200.71,78.7414),(11.7345,347.739,177.469)); + var_00 = common_scripts\_createfx::createexploderex("light_cone_dark","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12982.4,6112.63,50.6583),(4.13936,341.113,3.32462)); + var_00 = common_scripts\_createfx::createexploderex("facility_breach_rm_smoke","breach_smoke_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14807.8,12363.6,-1414),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9631.92,14419.9,-1112.95),(271,195.996,-118.998)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9207.05,13939.2,-1045.44),(271,195.995,171.003)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9175.29,13239,-1111.2),(271,195.995,171.003)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9307.83,11138.1,-1124.44),(271,195.995,171.003)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7569.12,9741.76,-955.875),(271.024,358.222,75.7766)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3532.43,10745.7,-1057.63),(271.024,358.222,120.775)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2768.29,11185,-1083.76),(271.024,358.222,120.775)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3334.93,8556.99,-944.242),(271.024,358.222,74.7745)); + var_00 = common_scripts\_createfx::createexploderex("leaves_runner_2","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4168.92,11854.9,-1015.47),(278.561,120.45,102.461)); + var_00 = common_scripts\_createfx::createexploderex("leaves_runner_2","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2431.73,11452.4,-964.162),(278.561,120.45,102.461)); + var_00 = common_scripts\_createfx::createexploderex("leaves_runner_2","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1173.13,11722.4,-1108.9),(278.561,120.449,130.463)); + var_00 = common_scripts\_createfx::createexploderex("leaves_runner_2","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2206.16,11141.7,-801.978),(278.561,120.45,102.461)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((419.644,9133.53,-1026.19),(271.024,358.222,113.774)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9123.03,14909.5,-1190.2),(271,195.995,171.003)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8621.32,13959.4,-1108.82),(271,195.995,171.003)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9576.3,12584.8,-1315.02),(271,195.995,171.003)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8270.79,11555,-1155.88),(271,195.995,171.003)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9409.43,10806.7,-1243.98),(271,195.995,171.003)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8139.52,9728.44,-1177.15),(271,195.995,171.003)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6848.8,10880.2,-952.795),(271,195.995,171.003)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3690.33,10383.5,-1383.86),(278.561,120.45,102.461)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4281.58,11780.3,-1397.89),(278.561,120.45,102.461)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3080.48,13097.8,-1315.83),(278.561,120.45,102.461)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1628.38,12914.7,-1349.74),(278.561,120.45,102.461)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1437.77,11505.5,-1370.65),(278.561,120.45,102.461)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1581.66,10874.8,-1359.57),(278.561,120.45,102.461)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2846.12,8361.95,-1256.95),(278.561,120.45,102.461)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2057.13,8236.13,-1261.2),(278.561,120.45,102.461)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((206.639,9059.55,-1193.35),(278.561,120.45,102.461)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1774.9,10735.9,-948.31),(278.561,120.45,102.461)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((674.53,13318.2,-1086.7),(278.561,120.45,102.461)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1230.34,15173.5,-1043.95),(278.561,120.45,102.461)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3000.28,14703.2,-1119.87),(278.561,120.45,102.461)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4314.77,12607.3,-872.501),(278.561,120.45,102.461)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5367.09,16420.7,-497.45),(278.561,120.45,102.461)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7127.49,16235,-480.206),(278.561,120.45,102.461)); + var_00 = common_scripts\_createfx::createexploderex("insects_firefly_runner","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5198.1,13027,-567.761),(278.561,120.45,102.461)); + var_00 = common_scripts\_createfx::createexploderex("breach_damaged_sparks","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14694.5,12410.6,-1258),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("facility_rm_fog_cool","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13944.6,11854.7,-1144),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("facility_rm_fog_cool","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13902.9,11421.3,-1326.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("facility_rm_fog_cool","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14354,12096.4,-1345.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("facility_rm_fog_cool","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14369.1,11877,-1160),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("facility_rm_fog_cool","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14275.3,11438.5,-1347.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fog_windy_bright","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8757.32,4992.32,-202.33),(282.832,274.677,0)); + var_00 = common_scripts\_createfx::createexploderex("fog_windy_bright","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8897.18,4484.34,-245.462),(282.832,274.677,0)); + var_00 = common_scripts\_createfx::createexploderex("light_server_room_monitor","4031"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14350.8,11646.5,-1153.52),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_server_room_monitor","4032"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14297.4,11643.1,-1150.91),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_server_room_monitor","4033"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14196.8,11643.3,-1152.28),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_server_room_monitor","4034"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14171.1,11681.2,-1158.53),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12607.6,14391.4,-1474.07),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_smoke_dim","2132"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8975.04,7186.04,84.0409),(36.9994,89.9983,-90.0007)); + var_00 = common_scripts\_createfx::createexploderex("light_smoke_dim","2132"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8967.04,7128.04,83.0409),(36.9994,89.9983,-90.0007)); + var_00 = common_scripts\_createfx::createexploderex("lab_amb_fog_blue_dark","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8085.42,6923.74,18.0409),(359.005,359.893,6.00158)); + var_00 = common_scripts\_createfx::createexploderex("lab_amb_fog_blue_dark","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8209.25,6135.96,-20.2776),(359.005,359.893,6.00158)); + var_00 = common_scripts\_createfx::createexploderex("lab_amb_fog_blue_dark","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8425.25,6041.96,-23.2776),(359.005,359.893,6.00158)); + var_00 = common_scripts\_createfx::createexploderex("lab_amb_fog_blue_dark","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9961.25,6441.96,52.2776),(359.005,359.893,6.00158)); + var_00 = common_scripts\_createfx::createexploderex("lab_amb_fog_blue_dark","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10044.3,6347.96,40.2776),(359.005,359.893,6.00158)); + var_00 = common_scripts\_createfx::createexploderex("lab_amb_fog_blue_dark","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10004.3,6393.96,60.2776),(359.005,359.893,6.00158)); + var_00 = common_scripts\_createfx::createexploderex("headlight_no_light","2132"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9080.82,7133.73,53.1039),(0,181.999,0)); + var_00 = common_scripts\_createfx::createexploderex("headlight_no_light","2132"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9080.73,7200.4,54.56),(0,179.999,0)); + var_00 = common_scripts\_createfx::createexploderex("light_cone","2132"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9080.44,7133.69,53.1039),(0,181.999,0)); + var_00 = common_scripts\_createfx::createexploderex("light_cone","2132"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9080.79,7200.39,54.56),(0,179.999,0)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_twirl_no_physics","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14910.9,9294.81,359.296),(271,196,104)); + var_00 = common_scripts\_createfx::createexploderex("light_point_dim","7021"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12590.2,9696.34,-1262.88),(321.352,7.7606,77.5963)); + var_00 = common_scripts\_createfx::createexploderex("light_point_dim","7022"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12548.2,9485.34,-1241.88),(321.352,7.7606,77.5963)); + var_00 = common_scripts\_createfx::createexploderex("light_point_dim","7023"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12541.2,9244.34,-1241.88),(321.352,7.7606,77.5963)); + var_00 = common_scripts\_createfx::createexploderex("lab_courtyard_floodlight_flare","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13448.1,11277.3,-1214.95),(8.13869,288.345,-0.618715)); + var_00 = common_scripts\_createfx::createexploderex("lab_courtyard_floodlight_flare","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12693.2,14591.3,-1326.51),(5.68449,332.287,7.73903)); + var_00 = common_scripts\_createfx::createexploderex("lab_courtyard_floodlight_flare","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11479.5,14972.2,-1326.3),(11.4479,246.867,-0.738668)); + var_00 = common_scripts\_createfx::createexploderex("lab_courtyard_floodlight_flare","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10692.6,14442.1,-1320.81),(18.2115,142.664,177.635)); + var_00 = common_scripts\_createfx::createexploderex("lab_courtyard_floodlight_flare","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11520.5,13316.6,-1248.87),(8.93579,211.376,-1.22221)); + var_00 = common_scripts\_createfx::createexploderex("lab_courtyard_floodlight_flare","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13445.1,11546.3,-1212.94),(9.75311,30.5508,176.74)); + var_00 = common_scripts\_createfx::createexploderex("light_yellow_rotate","7622"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12984.5,9962.12,-1242.04),(36.9994,89.9983,-90.0007)); + var_00 = common_scripts\_createfx::createexploderex("light_yellow_rotate","7622"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12562.3,8944.34,-1156.73),(36.9994,89.9983,-90.0007)); + var_00 = common_scripts\_createfx::createexploderex("lab_courtyard_floodlight_flare","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13372.4,13819.6,-1321.06),(6.31887,312.144,0.280024)); + var_00 = common_scripts\_createfx::createexploderex("lab_courtyard_floodlight_flare","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13555.3,12920.3,-1279.89),(9.09525,292.206,0.895796)); + var_00 = common_scripts\_createfx::createexploderex("fx_flare_med_yellow_dim_simple","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10712.6,12977,-1228.89),(3.86462,125.627,0.488183)); + var_00 = common_scripts\_createfx::createexploderex("headlight_no_light","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12655,14271.6,-1438.9),(350.441,217.609,172.711)); + var_00 = common_scripts\_createfx::createexploderex("headlight_no_light","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12632.1,14220.8,-1439.26),(359.265,215.647,173.966)); + var_00 = common_scripts\_createfx::createexploderex("thermite_fire_crawl_wall_lrg","thermite_fire_wall_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14198,11889.5,-1196.91),(0,270,0)); + var_00 = common_scripts\_createfx::createexploderex("thermite_fire_crawl_wall_lrg","thermite_fire_wall_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14228.8,11921.8,-1198.21),(0,180,0)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("thermite_fire_crawl_wall_lrg","thermite_fire_wall_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14335.5,12006.2,-1196.12),(0,180,0)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("thermite_fire_crawl_wall_lrg","thermite_fire_wall_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14304,11953.4,-1200.62),(0,269.999,0)); + var_00 = common_scripts\_createfx::createexploderex("thermite_fire_crawl_wall_lrg","thermite_fire_wall_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14411.8,11661.7,-1195.58),(0,89.9994,0)); + var_00 = common_scripts\_createfx::createexploderex("thermite_fire_crawl_wall_lrg","thermite_fire_wall_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14463.7,11666.2,-1195.67),(0,89.9994,0)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("lab_thermite_smoke_area","thermite_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14319.8,11811.4,-1159.38),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dry_ice_floor","5010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11468.5,15501.8,-1401.88),(270,0,0)); + var_00.v["flag"] = "vfx_foam_room_dry_ice"; + var_00 = common_scripts\_createfx::createexploderex("dry_ice_med","5010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11470.4,15494.8,-1406.88),(359.999,0,0)); + var_00.v["flag"] = "vfx_foam_room_dry_ice"; + var_00 = common_scripts\_createfx::createexploderex("dry_ice_low","5010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11473.5,15994,-1416.88),(0,178.999,0)); + var_00.v["flag"] = "vfx_foam_room_dry_ice"; + var_00 = common_scripts\_createfx::createexploderex("lab_godray_foamroom","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11331.2,15407.2,-1250.1),(350.998,360,0)); + var_00 = common_scripts\_createfx::createexploderex("lab_godray_foamroom","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11615.5,15402.2,-1238.5),(9.99912,0,0)); + var_00 = common_scripts\_createfx::createexploderex("lab_godray_foamroom_wide","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11468.5,15504.2,-1239.5),(347.001,89.7665,1.02523)); + var_00 = common_scripts\_createfx::createexploderex("lab_godray_foamroom_wide","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11470.5,15298.4,-1238.5),(345.001,270.266,-1.03465)); + var_00 = common_scripts\_createfx::createexploderex("lab_godray_foamroom_wide","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11480.3,15904.3,-1250.22),(347.001,89.7665,1.02523)); + var_00 = common_scripts\_createfx::createexploderex("lab_godray_foamroom","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11332.6,15820.4,-1264.83),(346.999,0,0)); + var_00 = common_scripts\_createfx::createexploderex("lab_godray_foamroom_wide","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11479.6,15716.1,-1250.22),(350,270.174,-1.01492)); + var_00 = common_scripts\_createfx::createexploderex("lab_godray_foamroom","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11615.9,15815.8,-1253.22),(9.99912,0,0)); + var_00 = common_scripts\_createfx::createexploderex("dry_ice_floor","5010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11470.4,15699.5,-1400),(270,0,0)); + var_00.v["flag"] = "vfx_foam_room_dry_ice"; + var_00 = common_scripts\_createfx::createexploderex("dry_ice_center","5010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11473.9,15597.2,-1416.88),(359.999,0,0)); + var_00.v["flag"] = "vfx_foam_room_dry_ice"; + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14017.8,12790.6,-1073.38),(50.9972,360,0)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13863.6,12792.4,-1072.62),(52.0002,180.021,0)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13994.7,13932.5,-1086.75),(29.9996,180.021,0)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14191.1,13987.3,-1082.5),(52.815,343.302,-6.44043)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12763.5,14948.1,-1088.68),(41.6382,322.657,3.18576)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12678.6,14859,-1089.68),(48.6708,136.285,-5.20011)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12621.7,15094,-1087.77),(41.6382,322.657,3.18576)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12536.9,15004.9,-1088.77),(48.6708,136.285,-5.20011)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12480.1,15235.3,-1088.64),(41.6382,322.657,3.18576)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12395.2,15146.2,-1089.64),(48.6708,136.285,-5.20011)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12293.7,15350.3,-1089.05),(41.6376,8.65581,3.18565)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12170.6,15349.5,-1090.04),(48.6708,182.285,-5.20036)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12293.9,15963.2,-1088.53),(41.6376,8.65581,3.18565)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12170.8,15962.3,-1089.53),(48.6708,182.285,-5.20036)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12292.3,15621.2,-1088.83),(41.6376,8.65581,3.18565)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12169.3,15620.4,-1089.83),(48.6708,182.285,-5.20036)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11999.1,15992.5,-1093.65),(50.0966,92.6476,-7.35552)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12002.5,16115.5,-1095.62),(40.0368,281.692,4.77008)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10935.3,15460.2,-1086.55),(50.0966,92.6476,-7.35552)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10938.7,15583.2,-1088.51),(40.0368,281.692,4.77008)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10930.3,15854.3,-1232.34),(50.0966,92.6476,-7.35552)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10933.7,15977.4,-1234.3),(40.0368,281.692,4.77008)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11072.2,15854.6,-1291.62),(50.0966,92.6476,-7.35552)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11075.7,15977.6,-1293.59),(40.0368,281.692,4.77008)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10780.6,15817.2,-1232.89),(48.6708,182.285,-5.20036)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10903.7,15818,-1231.89),(41.6376,8.65581,3.18565)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10779.6,15610.7,-1088.27),(48.6708,182.285,-5.20036)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10902.7,15611.6,-1087.27),(41.6376,8.65581,3.18565)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13167,11398,-1197),(340.937,117.765,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13167,11398,-1245),(324.65,82.8365,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13167,11398,-1307),(327.416,109.115,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13167,11398,-1341),(329.427,113.585,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13192,11394,-1311),(333.271,109.018,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13182,11396,-1268),(331.339,107.003,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13203,11393,-1265),(331.881,112.602,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13231,11389,-1310),(333.003,101.7,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13272,11383,-1299),(334.712,93.8455,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13293,11380,-1318),(320.891,57.1188,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13332,11375,-1330),(325.295,85.4502,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13326,11375,-1294),(336.128,83.7957,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13342,11373,-1243),(333.979,91.0818,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13345,11373,-1210),(338.237,90.6182,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13301,11379,-1247),(331.112,55.8909,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13303,11378,-1213),(337.722,97.1693,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13242,11387,-1252),(332.868,98.3337,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13246,11387,-1218),(348.383,98.8313,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13263,11384,-1201),(351.537,95.5597,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13229,11389,-1209),(350.068,102.071,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13196,11394,-1213),(331.545,75.7951,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13162,11370,-1197),(334.637,60.5546,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13162,11370,-1245),(338.816,97.0899,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13162,11370,-1307),(312.14,68.471,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13162,11370,-1341),(330.516,73.6697,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13137,11370,-1311),(334.23,77.9551,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13147,11370,-1268),(316.182,71.9602,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13126,11370,-1265),(322.952,67.249,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13098,11370,-1310),(333.964,84.9043,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13056,11370,-1299),(335.536,92.5529,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13035,11370,-1318),(332.362,113.764,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12996,11370,-1330),(309.47,110.152,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13002,11370,-1294),(336.755,102.219,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12985,11370,-1243),(324.176,98.4856,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12982,11370,-1210),(329.495,99.1623,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13027,11370,-1247),(340.237,114.712,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13025,11370,-1213),(328.666,89.3069,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13087,11370,-1252),(316.936,87.1114,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13083,11370,-1218),(348.84,87.6292,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13066,11370,-1201),(351.845,90.7298,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13100,11370,-1209),(350.462,84.5424,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13133,11370,-1213),(343.033,101.118,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14718,-1301),(340.95,19.7327,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14718,-1349),(324.698,344.836,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14718,-1411),(327.437,11.0883,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14718,-1445),(329.452,15.5437,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14743,-1415),(333.265,11.0543,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14733,-1372),(331.367,8.9948,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14754,-1369),(331.908,14.6209,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14782,-1414),(333.032,3.78889,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14824,-1403),(334.721,355.833,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14845,-1422),(320.887,319.157,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14884,-1434),(325.323,347.532,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14878,-1398),(336.1,345.875,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14895,-1347),(333.978,353.028,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14898,-1314),(338.258,352.569,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14853,-1351),(331.112,317.954,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14855,-1317),(337.692,359.222,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14793,-1356),(332.863,0.43187,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14797,-1322),(348.4,0.948519,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14814,-1305),(351.531,357.725,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14780,-1313),(350.072,4.1665,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14747,-1317),(331.582,337.876,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14714,-1301),(334.637,330.555,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14714,-1349),(338.816,7.08993,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14714,-1411),(312.14,338.471,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14714,-1445),(330.516,343.67,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14689,-1415),(334.23,347.955,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14699,-1372),(316.182,341.96,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14678,-1369),(322.952,337.249,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14650,-1414),(333.964,354.904,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14608,-1403),(335.536,2.5529,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14587,-1422),(332.362,23.7638,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14548,-1434),(309.47,20.1517,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14554,-1398),(336.755,12.2193,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14537,-1347),(324.176,8.48557,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14534,-1314),(329.495,9.16235,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14579,-1351),(340.237,24.7118,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14577,-1317),(328.666,359.307,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14639,-1356),(316.936,357.111,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14635,-1322),(348.84,357.629,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14618,-1305),(351.845,0.729843,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14652,-1313),(350.462,354.542,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","courtyard_gate_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10594,14685,-1317),(343.033,11.1179,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9070,-1535,114),(350.427,348.495,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9066,-1507,78),(344.073,29.8386,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9077,-1509,113),(311.056,299.081,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9069,-1545,73),(338.783,293.262,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9058,-1534,75),(341.151,328.362,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9084,-1482,81),(355.497,87.7329,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9069,-1541,84),(341.581,292.86,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9071,-1503,36),(2.34007,24.9508,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9054,-1527,110),(311.451,5.94489,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9055,-1541,107),(272.23,322.383,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9082,-1515,114),(310.775,301.397,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9066,-1513,84),(1.22567,26.4357,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9068,-1503,96),(346.339,29.2349,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9084,-1482,107),(0.820422,87.7329,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9082,-1510,114),(2.05044,88.3121,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9108,-1532,120),(352.162,349.16,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9070,-1521,68),(340.923,327.323,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9089,-1518,116),(282.476,325.275,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9085,-1543,117),(315.395,8.35459,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9095,-1521,117),(311.53,305.868,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9040,-1521,107),(348.548,345.13,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9034,-1533,107),(309.092,7.78591,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9064,-1547,114),(8.92459,352.617,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9101,-1519,118),(351.796,347.119,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9062,-1509,110),(279.796,290.791,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9098,-1518,117),(312.177,306.075,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9101,-1551,121),(317.351,9.35816,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9103,-1521,119),(285.215,335.143,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9060,-1486,108),(311.774,357.262,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9071,-1505,111),(349.813,25.2468,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9071,-1507,107),(349.445,25.4257,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9085,-1548,111),(314.896,9.29037,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9091,-1469,107),(298.108,38.7131,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9051,-1530,103),(7.79922,350.345,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9096,-1563,121),(9.17528,354.873,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9083,-1494,60),(351.603,88.0228,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9060,-1530,107),(349.453,27.9447,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9084,-1482,46),(3.42877,22.2341,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9086,-1432,108),(293.457,23.8312,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9080,-1500,86),(1.66298,22.1845,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9071,-1519,87),(344.803,327.076,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9079,-1502,64),(356.438,22.7146,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9065,-1518,35),(2.22383,26.7457,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9072,-1517,57),(341.891,30.5893,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9083,-1494,55),(350.642,88.0228,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9076,-1548,97),(344.374,295.231,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9066,-1543,89),(342.515,292.348,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9084,-1552,71),(338.345,297.543,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","shack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9067,-1544,61),(2.61895,352.309,0)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12766.8,14947.8,-1088.59),(41.6382,322.657,3.18576)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12681.9,14858.7,-1089.59),(48.6708,136.285,-5.20011)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12622.1,15094.3,-1088.02),(41.6382,322.657,3.18576)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12537.2,15005.2,-1089.02),(48.6708,136.285,-5.20011)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12479.4,15234.7,-1089),(41.6382,322.657,3.18576)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12394.5,15145.6,-1090),(48.6708,136.285,-5.20011)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14342.6,12355.8,-1075.84),(52.0002,180.021,0)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14496.8,12354,-1076.6),(50.9972,360,0)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14340,12101.9,-1094.44),(52.0002,180.021,0)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14494.2,12100.1,-1095.2),(50.9972,360,0)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13866.6,12560.8,-1089.94),(52.0002,180.021,0)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14020.8,12559,-1090.7),(50.9972,360,0)); + var_00 = common_scripts\_createfx::createexploderex("light_point_dim","7022"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12784.2,9694.52,-1231.88),(321.352,7.7606,77.5963)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner_seq_02","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14225.3,13377.3,-1041.87),(47.9966,0,0)); + var_00 = common_scripts\_createfx::createexploderex("steam_vent_burst_runner_seq_01","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14010.2,13379.4,-1047.12),(49.9998,180.021,0)); + var_00 = common_scripts\_createfx::createexploderex("headlight_no_light","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8182.48,5753.18,-50.8908),(14.5867,308.218,170.527)); + var_00 = common_scripts\_createfx::createexploderex("headlight_no_light","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8235.28,5717.37,-55.5359),(9.99986,296.999,0)); + var_00 = common_scripts\_createfx::createexploderex("light_cone","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8232.7,5713.51,-55.6656),(15.9995,302.999,0)); + var_00 = common_scripts\_createfx::createexploderex("light_cone","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8179,5747.86,-49.6992),(17.9997,302.999,0)); + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14126.2,12527.9,-1096),(0.99887,268.997,-180)); + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14011.6,12582.1,-1095.99),(359.894,4.99506,-179.007)); + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14376.1,13055.5,-1095.69),(0.998252,265.993,179.95)); + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13350.1,15082.7,-1096.52),(359.333,137,179.257)); + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13038,14768.8,-1095.62),(0.679358,316,-179.269)); + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11332.8,15980.5,-1096.01),(0.997868,268.995,-179.999)); + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11300.3,15458.6,-1095.37),(0,178.995,179.002)); + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11700.3,15955.1,-1296.61),(0.121735,351.996,-179.009)); + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11244.3,15694.5,-1316.82),(0,179.994,179.002)); + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11235.8,15051.8,-1296.01),(359.93,2.99235,-179.005)); + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe_wall_fix","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11774.9,15030.6,-1309.88),(359.002,86.9922,-179.966)); + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12522,11257.4,-1192.34),(0.993321,274.992,-179.896)); + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12880,11154.5,-1205.83),(0,357.992,-179.001)); + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12148,11001.1,-1205.09),(0,179.991,179.001)); + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11604.8,9502,-1026.14),(359,88.9908,-179.999)); + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11328.3,9844.53,-1014.43),(0,181.991,179.002)); + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11703,9682,-1036.86),(359.001,86.9906,-179.964)); + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11101.2,15666.6,-1312.09),(0.995377,265.993,179.93)); + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13855.3,14535.1,-1095.7),(359.33,40.9906,-179.258)); + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13551.7,14231.7,-1093.86),(359.33,40.9906,-179.258)); + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13806.1,14195.7,-1110.53),(0.669869,220.99,179.258)); + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14236.4,13374.1,-1102.74),(359.946,1.99413,-179.002)); + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14236,13630.3,-1102.11),(0,354.995,-179.003)); + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13775.4,14437.9,-1094.37),(0.670097,220.99,179.258)); + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13744,14684.1,-1096.28),(359.333,137,179.257)); + var_00 = common_scripts\_createfx::createexploderex("light_fire_alarm_strobe","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13439.4,14377.8,-1096.69),(0.679358,316,-179.269)); + var_00 = common_scripts\_createfx::createexploderex("light_red_strobe","6125"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12873.1,11527.8,-1169.75),(21.3446,316.837,-139.757)); + var_00 = common_scripts\_createfx::createexploderex("fog_low_lying","5020"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11670.5,15637.2,-1459),(270,0,83.999)); + var_00.v["flag"] = "lab_river_fog"; + var_00 = common_scripts\_createfx::createexploderex("fog_low_lying","5020"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12118.5,15579.1,-1459),(270,0,92.9988)); + var_00.v["flag"] = "lab_river_fog"; + var_00 = common_scripts\_createfx::createexploderex("splash_foam_runner","5020"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12688.6,15357.6,-1480),(270,180,84.9982)); + var_00.v["flag"] = "lab_river_fog"; + var_00 = common_scripts\_createfx::createexploderex("splash_foam_runner","5020"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12413.3,15761.3,-1468.95),(270,0,-64.0023)); + var_00.v["flag"] = "lab_river_fog"; + var_00 = common_scripts\_createfx::createexploderex("splash_foam_runner","5020"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12187.8,15735.2,-1462),(270,0,-53.0023)); + var_00.v["flag"] = "lab_river_fog"; + var_00 = common_scripts\_createfx::createexploderex("splash_foam_runner","5020"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12605.8,15415,-1475.26),(270,0,-136.003)); + var_00.v["flag"] = "lab_river_fog"; + var_00 = common_scripts\_createfx::createexploderex("splash_foam_runner","5020"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12286,15430,-1477.14),(270,0,-166.003)); + var_00.v["flag"] = "lab_river_fog"; + var_00 = common_scripts\_createfx::createexploderex("splash_foam_runner","5020"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12653,15736.9,-1468.67),(272.23,113.431,-172.277)); + var_00.v["flag"] = "lab_river_fog"; + var_00 = common_scripts\_createfx::createexploderex("splash_foam_runner","5020"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12160.3,15444.6,-1470.99),(270,0,-153.003)); + var_00.v["flag"] = "lab_river_fog"; + var_00 = common_scripts\_createfx::createexploderex("splash_foam_runner","5020"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12443.9,15432.9,-1470.51),(270,0,-160.003)); + var_00.v["flag"] = "lab_river_fog"; + var_00 = common_scripts\_createfx::createexploderex("splash_foam_runner","5020"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12627.4,15729,-1473.55),(270,180,139.997)); + var_00.v["flag"] = "lab_river_fog"; + var_00 = common_scripts\_createfx::createexploderex("splash_foam_runner","5020"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12433.3,15814.8,-1480.01),(270,0,-49.0033)); + var_00.v["flag"] = "lab_river_fog"; + var_00 = common_scripts\_createfx::createexploderex("river_splash_runner","5020"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12283.7,15744,-1479.29),(270,180,37.9995)); + var_00.v["flag"] = "lab_river_fog"; + var_00 = common_scripts\_createfx::createexploderex("river_splash_runner","5020"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12371.8,15479.1,-1477),(270,0,-43.0007)); + var_00.v["flag"] = "lab_river_fog"; + var_00 = common_scripts\_createfx::createexploderex("river_splash_runner","5020"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12541.8,15785.6,-1475.76),(270,194.036,89.9626)); + var_00.v["flag"] = "lab_river_fog"; + var_00 = common_scripts\_createfx::createexploderex("river_splash_runner","5020"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12150.9,15452.8,-1480),(270,0,6.9989)); + var_00.v["flag"] = "lab_river_fog"; + var_00 = common_scripts\_createfx::createexploderex("river_splash_runner","5020"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12116.8,15732.6,-1479.91),(270,0,163.999)); + var_00.v["flag"] = "lab_river_fog"; + var_00 = common_scripts\_createfx::createexploderex("river_splash_runner","5020"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12781.7,15749,-1478.07),(270,0,-14.0018)); + var_00.v["flag"] = "lab_river_fog"; + var_00 = common_scripts\_createfx::createexploderex("lab_foam_burst_smk","5500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11410.7,15504.5,-1354.13),(13.0293,130.947,172.504)); + var_00 = common_scripts\_createfx::createexploderex("lab_amb_fog_blue_dark","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6926.05,9708.28,-941.178),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("lab_amb_fog_blue_dark","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6917.1,9899.3,-958.562),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_med_grp","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8350.2,13513.3,-700.391),(27.8784,192.618,78.4404)); + var_00 = common_scripts\_createfx::createexploderex("godray_med_grp","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8481.07,14280.7,-565.851),(36.3689,204.295,85.357)); + var_00 = common_scripts\_createfx::createexploderex("godray_med_grp","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8064.89,12555,-792.938),(27.8784,192.618,78.4404)); + var_00 = common_scripts\_createfx::createexploderex("godray_med_grp","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8411.74,12029,-606.304),(27.8784,192.618,78.4404)); + var_00 = common_scripts\_createfx::createexploderex("godray_med_grp","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7978.03,11232.4,-714.009),(27.8784,192.618,78.4404)); + var_00 = common_scripts\_createfx::createexploderex("godray_med_grp","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7282.31,10865.4,-561.15),(25.5223,298.05,-146.541)); + var_00 = common_scripts\_createfx::createexploderex("godray_med_grp","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7847.45,10753,-772.024),(25.5223,298.05,-146.541)); + var_00 = common_scripts\_createfx::createexploderex("godray_med_grp","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2441.34,9487.98,-915.611),(30.636,237.618,102.398)); + var_00 = common_scripts\_createfx::createexploderex("godray_med_grp","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2191.24,9248.49,-1048.98),(27.909,300.138,122.178)); + var_00 = common_scripts\_createfx::createexploderex("godray_med_grp","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1316.2,9606.83,-806.808),(25.8335,308.292,119.837)); + var_00 = common_scripts\_createfx::createexploderex("godray_med_grp","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1322.6,9699.47,-935.186),(25.8335,308.292,119.837)); + var_00 = common_scripts\_createfx::createexploderex("godray_med_grp","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-413.341,10748.2,-990.393),(25.8335,308.292,119.837)); + var_00 = common_scripts\_createfx::createexploderex("godray_med_grp","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-406.934,10655.6,-862.015),(25.8335,308.292,119.837)); + var_00 = common_scripts\_createfx::createexploderex("spot_orange","9124"); + var_00 common_scripts\_createfx::set_origin_and_angles((6617.6,14950.1,-362),(0,165,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_med_grp","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7742.54,15894.1,23.4196),(29.8228,267.367,103.223)); + var_00 = common_scripts\_createfx::createexploderex("godray_med_grp","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7319.74,15896.1,-131.78),(21.3735,278.128,101.325)); + var_00 = common_scripts\_createfx::createexploderex("godray_med_grp","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8285.87,15800.4,171.527),(29.8228,267.367,103.223)); + var_00 = common_scripts\_createfx::createexploderex("godray_med_grp","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5976.73,16062.1,-239.087),(29.8228,267.367,103.223)); + var_00 = common_scripts\_createfx::createexploderex("light_cone","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3756.25,9198.97,-1472.26),(0,96.9979,0)); + var_00 = common_scripts\_createfx::createexploderex("light_cone","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6813.94,9666.3,-2225.3),(0,316.998,0)); + var_00 = common_scripts\_createfx::createexploderex("light_cone","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6560.13,9564.93,-1591.93),(0,316.998,0)); + var_00 = common_scripts\_createfx::createexploderex("lab_amb_fog_blue_dark","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-896.479,9381.19,-1525.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("lab_amb_fog_blue_dark","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-386.238,9012.02,-1570.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("lab_amb_fog_blue_dark","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-342.466,8852.04,-1557.87),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("lab_amb_fog_blue_dark","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1190.41,9629.03,-1570.08),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("lab_amb_fog_blue_dark","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-814.412,9337.78,-1570.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("electrical_blue_burst_directional_01","7701"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12822.6,9416.26,-1270.97),(359.112,272.407,2.35842)); + var_00 = common_scripts\_createfx::createexploderex("electrical_blue_burst_directional_01","7701"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12684,9401.4,-1267.87),(359.112,272.407,2.35842)); + var_00 = common_scripts\_createfx::createexploderex("electrical_blue_burst_directional_01","7701"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12863.2,9360.44,-1272.88),(1.88681,92.3659,177.64)); + var_00 = common_scripts\_createfx::createexploderex("electrical_blue_burst_directional_01","7701"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12701.4,9353,-1269.88),(0.846469,91.4078,-2.37318)); + var_00 = common_scripts\_createfx::createexploderex("electrical_blue_burst_directional_01","7701"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12794.9,9479.76,-1275.88),(2.37266,181.443,1.84719)); + var_00 = common_scripts\_createfx::createexploderex("electrical_blue_burst_directional_01","7701"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12764.5,9474.54,-1269.88),(357.643,2.44315,-0.888781)); + var_00 = common_scripts\_createfx::createexploderex("electrical_blue_burst_directional_01","7701"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12787.1,9265.78,-1273.09),(2.37266,181.443,1.84719)); + var_00 = common_scripts\_createfx::createexploderex("electrical_blue_burst_directional_01","7701"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12756.7,9260.56,-1267.09),(357.643,2.44315,-0.888781)); + var_00 = common_scripts\_createfx::createexploderex("hovertank_tread_smk_strong_runner","7711"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12835.6,9244.17,-1313.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("hovertank_tread_smk_strong_runner","7711"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12704.9,9241.08,-1313.76),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("hovertank_tread_smk_strong_runner","7711"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12819.9,9528.83,-1308.43),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("hovertank_tread_smk_strong_runner","7711"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12690.2,9524.23,-1306.32),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("hovertank_tread_smk_regular_runner","7712"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12835.6,9244.17,-1316.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("hovertank_tread_smk_regular_runner","7712"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12704.9,9241.12,-1316.76),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("hovertank_tread_smk_regular_runner","7712"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12820,9529.83,-1311.43),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("hovertank_tread_smk_regular_runner","7712"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12690.2,9524.23,-1310.32),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("smk_ring_rad30_lp_01","7702"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12834.5,9238.42,-1268.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("smk_ring_rad30_lp_01","7702"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12705.5,9242.31,-1266.76),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("smk_ring_rad30_lp_01","7702"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12817.1,9526.65,-1271.43),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("smk_ring_rad30_lp_01","7702"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12694.1,9527.9,-1274.32),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("smk_ring_rad25_lp_01","7703"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12835.6,9244.17,-1313.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("smk_ring_rad25_lp_01","7703"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12704.9,9241.08,-1313.76),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("smk_ring_rad25_lp_01","7703"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12819.9,9528.83,-1308.43),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("smk_ring_rad25_lp_01","7703"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12690.2,9524.23,-1306.32),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("lab_htank_disengage_grnd_smk","7704"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12762,9379.16,-1313.88),(270,0,90)); + var_00 = common_scripts\_createfx::createexploderex("lab_amb_fog_blue_dark","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12611.6,11461.6,-1279.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("smoke_grey_column_2_spot_directional_lg","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6738.38,15385.3,-513.956),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("fireball_lp_smk_m","10002"); + var_00 common_scripts\_createfx::set_origin_and_angles((6915.39,14947.2,-539),(270,0,-57.0001)); + var_00 = common_scripts\_createfx::createexploderex("spot_orange_tank_int","7122"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12762.6,9368.32,-1250.55),(88.5737,240.071,-28.9899)); + var_00 = common_scripts\_createfx::createexploderex("lab_godray_pre_foamroom","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11278.2,15833.5,-1149.51),(359.3,66.0981,91.1334)); + var_00 = common_scripts\_createfx::createexploderex("lab_godray_pre_foamroom","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11272,15545.5,-1151.2),(358.077,79.0808,91.1041)); + var_00 = common_scripts\_createfx::createexploderex("lab_godray_pre_foamroom","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11282.1,15497.5,-1151.32),(357.838,96.0898,90.4934)); + var_00 = common_scripts\_createfx::createexploderex("lab_godray_pre_foamroom","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11279.2,15864,-1155.51),(358.483,62.0773,91.618)); + var_00 = common_scripts\_createfx::createexploderex("lab_godray_pre_foamroom","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11298.3,15687.1,-1139.02),(358.983,84.099,91.0186)); + var_00 = common_scripts\_createfx::createexploderex("point_yellow_fill_sm","9123"); + var_00 common_scripts\_createfx::set_origin_and_angles((6840.01,14991.5,-517.507),(326.701,359.889,88.5083)); + var_00 = common_scripts\_createfx::createexploderex("spot_orange_tank_int2","9123"); + var_00 common_scripts\_createfx::set_origin_and_angles((6852.49,14979.9,-479.944),(87.3914,318.587,19.5027)); + var_00 = common_scripts\_createfx::createexploderex("yellow_fire","9158"); + var_00 common_scripts\_createfx::set_origin_and_angles((6591.95,14866.7,-528.795),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("lab_exfil_razorback_idle_smk_grnd","10040"); + var_00 common_scripts\_createfx::set_origin_and_angles((7910.23,14669.4,-602),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("lab_intro_smoke","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10948.1,-1625.39,-46.1718),(0.80225,327.339,-2.25812)); + var_00 = common_scripts\_createfx::createexploderex("lab_intro_smoke","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11010.7,-1470.98,-28.8573),(3.98145,276.347,172.924)); + var_00 = common_scripts\_createfx::createexploderex("lab_intro_smoke","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11026.7,-1546.46,-64.2275),(1.02532,11.7127,8.86897)); + var_00 = common_scripts\_createfx::createexploderex("lab_intro_smoke","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10763.4,-1442.08,-34.4956),(12.8963,315.025,-1.6573)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_no_light","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6666.04,15354.5,-580.375),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_med_strip","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6514.81,15244.4,-597.8),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_med_strip","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6519.26,15160.5,-602.209),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_med_strip","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6583.96,15229.4,-596.216),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_light","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6393.17,15116.5,-643.339),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_light","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((7255.25,15204.4,-593.562),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_med_strip","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6291.4,15036.2,-676.651),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_med_strip","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6427.44,15066,-639.149),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_med_strip","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6471.02,15093.4,-620.642),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_med_strip","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6358.62,15098.6,-656.401),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("yellow_fire","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6541.64,15216.5,-598.978),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_med_strip","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6485.89,15194.3,-607.082),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_med_strip","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6396.63,14987.5,-655.07),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("ash_cloud_freq_lrg_loop","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6363.38,15326.5,-594.246),(270,180,117.999)); + var_00 = common_scripts\_createfx::createexploderex("yellow_fire","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6670.52,14862.5,-500),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_light","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6718.7,14966.1,-500),(270,0,-49.0011)); + var_00 = common_scripts\_createfx::createexploderex("yellow_fire","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6678.88,14929,-500),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("yellow_fire","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6724.94,14866.7,-500),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_med_strip","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6462.99,14880.3,-643.999),(270,180,-127.002)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_med_strip","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6585.79,14820.7,-616.017),(270,180,-148.002)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_med_strip","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6547.93,14883,-622.646),(270,0,40.9985)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_base","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6539.24,15011.1,-616.535),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_base","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6631.11,15067.8,-599.615),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_base","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6650.86,15182,-596.167),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_base","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6737.49,15239.7,-582.506),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_med_strip","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((7353.63,15126.3,-599.558),(270,0,40.9985)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_base","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((7154.58,15215.1,-589.976),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_base","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6636.87,14751.1,-604.869),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_base","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6944.71,15316.4,-578.857),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_base","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6904.11,15267.2,-583.732),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_med_strip","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((7002.16,15341.2,-579.92),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_med_strip","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((7028.64,15288.8,-582.388),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_base","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6448.18,15302.2,-615.454),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_base","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6372.25,15197.2,-639.573),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_base","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6633.05,15053.3,-599.461),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_base","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6647.9,15059.9,-599.011),(270,0,-95.0012)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_med_strip","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6286.27,14851.3,-684.902),(270,0,40.9985)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_light","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6593.43,14864.8,-616.565),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_base","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6430.48,14920.2,-651.265),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_base","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6450.55,14946.9,-643.381),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_base","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((6400.85,15022.9,-651.135),(270,172,107.999)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks","4132"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14303.7,11645.6,-1164.4),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks","4133"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14200.3,11645.1,-1164.4),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("electrical_sparks","4134"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14168.9,11676.1,-1161.01),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("spot_orange_tank_int2","9123"); + var_00 common_scripts\_createfx::set_origin_and_angles((6779.68,14950.5,-470.522),(87.3914,318.587,19.5027)); + var_00 = common_scripts\_createfx::createexploderex("river_rock_splash_1","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9215.34,3583.74,-539.34),(270,0,177.999)); + var_00 = common_scripts\_createfx::createexploderex("river_rock_splash_1","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9142.28,3643.01,-537.053),(270,0,177.999)); + var_00 = common_scripts\_createfx::createexploderex("river_rock_splash_1","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9014.93,3569.48,-539.303),(270,0,177.999)); + var_00 = common_scripts\_createfx::createexploderex("river_rock_splash_1","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8706.64,3693.2,-538.018),(270,0,177.999)); + var_00 = common_scripts\_createfx::createexploderex("river_rock_splash_1","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9004.35,3735.6,-538),(270,0,177.999)); + var_00 = common_scripts\_createfx::createexploderex("lab_foam_rm_smk_facade","5507"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11259.6,15490,-1407.87),(270,0,0)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("lab_foam_rm_smk_facade","5507"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11250.5,15628.3,-1407.88),(270,0,0)); + var_00.v["delay"] = 0.8; + var_00 = common_scripts\_createfx::createexploderex("lab_foam_rm_smk_facade","5507"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11252.3,15279.2,-1407.88),(270,0,0)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("lab_foam_rm_smk_facade","5507"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11247,15390,-1407.87),(270,0,0)); + var_00.v["delay"] = 0.3; + var_00 = common_scripts\_createfx::createexploderex("lab_courtyard_floodlight_flare","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12287.2,12579.7,-1237.91),(1.51731,299.589,0.889862)); + var_00 = common_scripts\_createfx::createexploderex("lab_studiolight_flare","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14833.7,11981.9,-1329.15),(59.9993,270,89.9997)); + var_00 = common_scripts\_createfx::createexploderex("cg_fx_light_character_1","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8864.85,4315.24,-288.639),(275.979,244.895,0)); + var_00.v["platform"] = "cg"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/lagos_fx.gsc b/AW/PC/maps/createfx/lagos_fx.gsc new file mode 100644 index 0000000..7ca0a10 --- /dev/null +++ b/AW/PC/maps/createfx/lagos_fx.gsc @@ -0,0 +1,2274 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\lagos_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 162 ms + * Timestamp: 4/22/2024 2:07:31 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_indoor_nodust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52534.6,9919.19,353.125),(301.915,344.735,103.041)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_indoor_nodust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52664.8,9926.42,340.125),(301.915,344.735,103.041)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_indoor_nodust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52633.4,9730.32,392.125),(301.915,344.735,103.041)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_indoor_nodust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52084.4,9962.98,359.125),(301.915,344.735,103.041)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_indoor_nodust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52578.4,9663.52,328.125),(301.915,344.735,103.041)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_indoor_nodust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52403.2,10512.6,331.125),(301.915,344.735,103.041)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_indoor_nodust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52386.1,10683.3,408.125),(301.915,344.735,103.041)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_indoor_nodust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52197.7,10527.2,379),(301.915,344.735,103.041)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_indoor_nodust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52198.5,10489.8,601.952),(301.915,344.735,103.041)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_indoor_nodust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52168.8,10511.1,576.472),(301.915,344.735,103.041)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_indoor_nodust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51741.2,9860.3,434.125),(301.915,344.735,103.041)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_indoor_nodust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52072.7,10634,503.875),(301.915,344.735,103.041)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_indoor_nodust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52255.5,10745.6,575.565),(301.915,344.735,103.041)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_indoor_nodust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52180.6,10700.2,338),(301.915,344.735,103.041)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_lobby"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52151,10620.1,501),(301.915,344.735,103.041)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_indoor_nodust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51741.3,9695.43,434.125),(301.915,344.735,103.041)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_indoor_nodust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52059.6,9691.01,422.125),(301.915,344.735,103.041)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_indoor_nodust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51739.7,11107.7,434.125),(301.915,344.735,103.041)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_indoor_nodust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52450.3,10497.7,430.125),(301.915,344.735,103.041)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_indoor_nodust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52193,10484.4,341),(301.915,344.735,103.041)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_lobby"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52268.4,10630.4,384.898),(311.712,348.11,100.328)); + var_00 = common_scripts\utility::createoneshoteffect("light_godray_lobby"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52414.5,10632.1,448.033),(321.083,314.537,120.684)); + var_00 = common_scripts\_createfx::createexploderex("animal_seagulls_flock_large_flying","20"); + var_00 common_scripts\_createfx::set_origin_and_angles((-32186,74288.4,939.38),(1.25885,128.982,-1.55515)); + var_00 = common_scripts\_createfx::createexploderex("ambient_fog_coast","20"); + var_00 common_scripts\_createfx::set_origin_and_angles((-31892.5,75330.8,447.721),(274.069,106.563,120.684)); + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-54992,8016.67,560.704),(273,227.001,-90.0007)); + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-54151.5,3791.72,617.125),(270,0,117)); + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-55120.8,7290.52,557.14),(270,0,137)); + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50568.7,3718.27,221),(270,0,118)); + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51066.2,6670.83,617.214),(270,0,108)); + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51892.3,5968.5,545.125),(270,0,116)); + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-54955.5,3565.85,535.419),(270,0,77.9998)); + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49571.3,7298.23,473.039),(270,0,116)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51798.3,5873.99,394.125),(30.748,322.143,5.85699)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51915.6,5962.92,168),(326.375,271.691,130.792)); + var_00 = common_scripts\_createfx::createexploderex("leaves_small_fall_gentlewind","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52288.6,6880.94,266.283),(270,0,-145)); + var_00 = common_scripts\_createfx::createexploderex("leaves_small_fall_gentlewind","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52881.9,6839.18,263.125),(270,0,-136)); + var_00 = common_scripts\_createfx::createexploderex("leaves_small_fall_gentlewind","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52081.2,6874.11,263.125),(270,0,-144)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("leaves_small_fall_gentlewind","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53089.1,6867.56,255.125),(270,0,-141)); + var_00.v["delay"] = 0.15; + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51420.7,6208.57,163),(0,99.9999,0)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51743.6,6753.48,176),(0,89.9999,0)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50981.2,6235.22,168),(270,0,120.999)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50828.1,4316.19,203),(0,129,0)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51851.3,4557.22,192),(0,118,0)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51025,5629.73,177),(0,130,0)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51691.1,4021.63,168),(0,95.9999,0)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53045.8,4972.19,231),(0,118,0)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53711.7,5987.92,168),(0,158,0)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53190.7,3658.01,207),(0,91,0)); + var_00 = common_scripts\_createfx::createexploderex("leaves_small_fall_gentlewind","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53423.4,6111.21,274),(270,0,-117)); + var_00 = common_scripts\_createfx::createexploderex("leaves_small_fall_gentlewind","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53259.8,6229.65,223),(270,0,-117)); + var_00 = common_scripts\_createfx::createexploderex("leaves_small_fall_gentlewind","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51809.3,4441.6,207),(270,0,-117)); + var_00 = common_scripts\_createfx::createexploderex("leaves_small_fall_gentlewind","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51708.2,4675.58,248),(270,0,-117)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53324.7,7069.93,224.071),(360,113,0)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53637.2,6951.12,195),(0,143,0)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51660.5,6425.75,168),(0,92.9999,0)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51252.3,6047.2,174),(0,133,0)); + var_00 = common_scripts\_createfx::createexploderex("roundabout_tanker_explosion_1","6015"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52250,4171.56,303),(270,0,0.998524)); + var_00 = common_scripts\_createfx::createexploderex("lag_roundabout_tanker_fireball_shockwave","6015"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52176.3,4198.69,168),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52112.4,5513.99,449.391),(30.748,322.143,5.85699)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51713.6,6130.53,176),(326.375,271.691,130.792)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51344.6,6515.13,176),(326.375,271.691,130.792)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52355,5449.29,176),(326.375,271.691,130.792)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52622.2,5165.84,176),(326.375,271.691,130.792)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52852.1,4930.73,176),(326.375,271.691,130.792)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53278.9,4560.42,168),(326.375,271.691,130.792)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51783.1,6158.85,461.875),(30.748,322.143,5.85699)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-54400.1,3546.21,457.111),(30.748,322.143,5.85699)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51888.9,6778.61,176),(326.375,271.691,130.792)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52754.2,5923.32,176),(326.375,271.691,130.792)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50306,4895.95,362.331),(30.748,322.143,5.85699)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50535.7,4868.33,387.34),(30.748,322.143,5.85699)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51942.5,6694.27,363),(36.6295,309.379,-1.10249)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52401.3,5193.5,381.407),(30.748,322.143,5.85699)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52508.6,5392.23,455.875),(30.748,322.143,5.85699)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50986.7,6797.6,176),(326.375,271.691,130.792)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50868.8,6866.76,176),(326.375,271.691,130.792)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50785.2,6778.27,343.687),(30.748,322.143,5.85699)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53086.5,6872.66,372.875),(27.457,279.714,-15.5344)); + var_00 = common_scripts\_createfx::createexploderex("oil_spill_fire_lp_tall","6010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52176.3,4312.17,171),(270,0,177.999)); + var_00 = common_scripts\_createfx::createexploderex("oil_spill_fire_lp_tall","6010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52393.1,4336.94,168),(276,280.998,-89.9985)); + var_00 = common_scripts\_createfx::createexploderex("oil_spill_fire_lp_tall","6010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51903.4,4292.84,186),(270,0,177.999)); + var_00 = common_scripts\_createfx::createexploderex("fire_embers_mid_lp","6010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51789.2,4475.08,176),(273,13.9991,180)); + var_00 = common_scripts\_createfx::createexploderex("fire_embers_mid_lp","6010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51929.3,4418.95,176),(270,0,178.999)); + var_00 = common_scripts\_createfx::createexploderex("falling_burning_debris","6010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52453.7,4521.11,168),(270,0,-169.002)); + var_00 = common_scripts\_createfx::createexploderex("molten_drip_med","6010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51804.3,3871.49,494.919),(270,65.3622,114.637)); + var_00 = common_scripts\_createfx::createexploderex("molten_drip_med","6010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52361.5,4241.06,223.251),(270,65.3622,114.637)); + var_00 = common_scripts\_createfx::createexploderex("molten_drip_med","6010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52006.6,4220.54,268.981),(270,65.3622,114.637)); + var_00 = common_scripts\_createfx::createexploderex("balcony_fire_lg","6010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51946,3857.31,647.644),(270,0,-2.001)); + var_00 = common_scripts\_createfx::createexploderex("balcony_fire_lg","6010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51460.7,4289.95,496.041),(317,177.999,-125)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("balcony_fire_lg","6010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51790.4,4233.47,245.19),(270,0,-2.00146)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50523.6,5046.64,175.125),(326.375,271.691,130.792)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50402.8,5027.8,176.125),(326.375,271.691,130.792)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50271.3,5030.58,176.125),(326.375,271.691,130.792)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50140.6,5024.92,176.125),(326.375,271.691,130.792)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50614.5,5036.21,176.125),(326.375,271.691,130.792)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50591.9,4903.23,425.625),(30.748,322.143,5.85699)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_lobby","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52842.8,7148.29,329.125),(326.375,271.691,130.792)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_lobby","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52396.6,7168.1,273.125),(326.375,271.691,176.791)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_lobby","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52397.8,7163.48,311.592),(326.375,271.691,176.791)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_lobby","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52556.8,7185.94,268.125),(326.375,271.691,130.792)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_lobby","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52689.3,7172.11,264.125),(326.375,271.691,130.792)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_lobby","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51488,7670.02,264.125),(288.773,84.4514,3.12882)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_lobby","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51643.7,7696.8,264.125),(288.773,84.4514,3.12882)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_lobby","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51780.7,7680.22,264.125),(288.773,84.4514,3.12882)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_lobby","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51926.1,7671.8,264.125),(288.773,84.4514,3.12882)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_lobby","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51932.5,7683.43,359.9),(288.773,84.4514,3.12882)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_lobby","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51607.2,7175.96,446.875),(289.318,270.806,173.58)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_lobby","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52233.1,7176.13,422.312),(289.318,270.806,173.58)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_lobby","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52913.9,7228.13,425.84),(289.318,270.806,173.58)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_lobby","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51839.3,7176.14,429.463),(289.318,270.806,173.58)); + var_00 = common_scripts\_createfx::createexploderex("falling_burning_debris","6010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51977.4,4854.25,168),(270,0,-169.002)); + var_00.v["delay"] = 3.5; + var_00 = common_scripts\_createfx::createexploderex("roundabout_tanker_explosion_smoke_fade_lp","6020"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52202.6,4165.12,294.963),(270,0,0.998524)); + var_00 = common_scripts\_createfx::createexploderex("smk_low_linger_lp","6021"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52006.9,4636.32,168),(270,0,49.9994)); + var_00 = common_scripts\_createfx::createexploderex("smk_low_linger_lp","6021"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52464.8,4611.06,168),(270,180,-154.001)); + var_00 = common_scripts\_createfx::createexploderex("smk_low_linger_lp","6021"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52691,4428.23,168),(270,0,23.9993)); + var_00 = common_scripts\_createfx::createexploderex("smk_low_linger_lp","6021"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51689.9,5041.33,168),(270,182.064,-153.064)); + var_00 = common_scripts\_createfx::createexploderex("smk_low_linger_lp","6021"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51986.3,5001.93,168),(270,0,49.9994)); + var_00 = common_scripts\_createfx::createexploderex("smk_low_linger_lp","6021"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51562.4,4781.94,168),(270,0,49.9994)); + var_00 = common_scripts\_createfx::createexploderex("smk_low_linger_lp","6021"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51752.4,4460.72,207),(270,0,49.9994)); + var_00 = common_scripts\_createfx::createexploderex("falling_burning_debris","6010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51742.4,4359.14,176),(270,0,-169.002)); + var_00.v["delay"] = 4; + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52767.2,6298.18,168),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52411.5,6267.19,168),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52057.2,5931.68,168),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51445.6,5747.02,168),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52150.1,6492.65,168),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53035.7,6595.24,168),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53453.2,6443.84,168),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53177.5,5968.21,168),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53335,5596.11,168),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51896.8,5672.8,168),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52301.8,4652.16,168),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53934.7,6974.06,168),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51418.4,5024.74,168),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52596.2,6524.14,168),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52428.5,6752.03,180.523),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52764.6,6792.62,177.347),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52954.8,6756.58,205.125),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51814.2,6757.73,204.785),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52010.6,6284.93,176.587),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52547.7,5879.39,176.77),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52617.2,5589.02,176.607),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50591.6,4688.7,168.591),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50020.2,4772.4,168.578),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50941.4,4626.44,207.861),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50938.7,5096.19,207.859),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52414.5,6860.82,230.125),(271,270.997,23.9996)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52853.9,6864.48,232.125),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53038.5,6302.66,176.993),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51929.8,6203.25,176.582),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51757.1,6021.74,184.615),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52536.2,5867.53,176.668),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52854,5821.19,176.542),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","6000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52858.6,5831.96,176.538),(271,270.985,129.012)); + var_00 = common_scripts\_createfx::createexploderex("pigeon_flock_runner","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-54240.1,4853.06,605.055),(270,0,102.999)); + var_00.v["delay"] = 2.5; + var_00.v["flag"] = "vfx_roundabout_entrance"; + var_00 = common_scripts\_createfx::createexploderex("pigeon_flock_runner","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51275.4,3405.77,350.561),(285,164.998,-59.9999)); + var_00.v["delay"] = 3; + var_00.v["flag"] = "vfx_roundabout_entrance"; + var_00 = common_scripts\_createfx::createexploderex("pigeon_flock_runner","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53268,6193.45,191),(295.383,127.449,-56.5577)); + var_00.v["flag"] = "vfx_roundabout_entrance"; + var_00 = common_scripts\_createfx::createexploderex("pigeon_flock_runner","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53105.2,6703.88,547.015),(270,3.81407,39.1857)); + var_00.v["flag"] = "vfx_roundabout_entrance"; + var_00 = common_scripts\_createfx::createexploderex("pigeon_flock_runner","combat_flock_takeoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51666.3,4611.89,219),(285.468,173.007,-65.8284)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("pigeon_flock_runner","combat_flock_takeoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51599.6,3641.34,998.125),(270,180,-78.0003)); + var_00.v["delay"] = 1.5; + var_00 = common_scripts\_createfx::createexploderex("pigeon_flock_runner","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51178.5,6485.89,258),(273.049,251.196,98.8531)); + var_00.v["delay"] = 2; + var_00.v["flag"] = "vfx_roundabout_entrance"; + var_00 = common_scripts\_createfx::createexploderex("pigeon_flock_runner","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50553.1,5359.96,561.575),(284.036,89.9979,-155.999)); + var_00.v["delay"] = 2; + var_00.v["flag"] = "vfx_roundabout_entrance"; + var_00 = common_scripts\_createfx::createexploderex("fire_crawl_wall_lrg","6010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51753.7,3829.57,657.732),(0,73.0092,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_crawl_wall_lrg","6010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51735.1,3822.8,368.173),(0,73.0092,0)); + var_00 = common_scripts\_createfx::createexploderex("pigeon_flock_runner","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49816.4,5270.83,402.031),(273.799,74.1827,-72.0814)); + var_00.v["flag"] = "vfx_roundabout_exit"; + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49199,13990.9,488),(270,0,77.9998)); + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49906.5,17965.2,159.215),(270,0,77.9998)); + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48444.2,16524.8,257),(270,0,77.9998)); + var_00 = common_scripts\_createfx::createexploderex("gold_building_flare","1025"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50033.1,13339.8,1305.96),(2.17747,20.9352,176.642)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49237.3,4053.23,146.125),(317.313,315.124,153.72)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48745.6,4497.61,357),(335.767,84.4719,9.70919)); + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49051.3,5087.08,213),(270,0,77.9998)); + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48372.4,4646.48,221),(270,0,77.9998)); + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47492.9,4687.19,245.152),(270,0,77.9998)); + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48295.7,3581.79,248.047),(270,0,77.9998)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47438.2,3350.02,592.26),(19.5281,12.7469,10.3552)); + var_00 = common_scripts\_createfx::createexploderex("pigeon_flock_runner_lp","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48540.3,13689.5,912),(270,0,-49.0006)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("pigeon_flock_runner","pigeon_flock_rails"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49820.3,14930.2,600),(270,0,29.9989)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49882,15059.6,171),(270,0,175)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49516.3,15596.2,191),(270,0,174.999)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50033.3,14330.4,165),(270,0,-177)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49735.2,15022.6,169),(270,0,172)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49929.5,15741.8,171),(270,0,89.9987)); + var_00 = common_scripts\_createfx::createexploderex("pigeon_flock_runner_lp","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50700.1,16373.3,1142.61),(270,0,61.9989)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("heli_dust_settle_10s","heli_dust_settle"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48914,15539.3,362),(270,0,-159)); + var_00 = common_scripts\_createfx::createexploderex("heli_dust_settle_10s","heli_dust_settle"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48902.5,15069.5,362),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50542.3,14684.1,365.125),(295.018,322.215,80.485)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50370.9,14846,354.125),(295.018,322.215,80.485)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49973,15267.8,162),(295.018,322.215,80.485)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49902.1,15193.3,162),(295.018,322.215,80.485)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49844.7,15114,162),(295.018,322.215,80.485)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49686,17025.8,162),(322.357,285.507,125.94)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50020.1,17372.2,315),(328,180,139)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49683.9,16796.7,162),(322.357,285.507,125.94)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49610.9,16520.9,172),(338.47,269.911,135.936)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49638.3,14135.2,162),(283.46,332.486,68.7342)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49854.2,14115.1,162),(295.018,322.215,80.485)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49146.1,12451.3,751.319),(285.2,309.661,1.54355)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49111.8,11948.1,546.674),(285.2,309.661,1.54355)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50095.1,13523.4,171),(285.2,309.661,1.54355)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50201,13737.6,141),(285.2,309.661,-1.45641)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48791.1,13282.6,170),(285.2,309.661,1.54355)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49140,13565.5,170),(273.22,303.939,7.22212)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49013.5,13757.6,170),(285.463,332.471,-7.47648)); + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48106.7,12892.8,198.205),(270,0,77.9998)); + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46942.7,14484.4,474),(270,0,77.9998)); + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47681.3,16908.8,264.125),(270,0,77.9998)); + var_00 = common_scripts\_createfx::createexploderex("steam_column_white_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49254.3,12476.5,739.125),(270,0,97.9992)); + var_00 = common_scripts\_createfx::createexploderex("steam_column_white_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48933.6,13109.9,184.144),(350.543,163.834,-71.8687)); + var_00 = common_scripts\_createfx::createexploderex("steam_column_white_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49649.3,12077.6,1048.87),(270,0,97.9992)); + var_00 = common_scripts\_createfx::createexploderex("steam_column_white_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48639.8,12248.6,839.699),(270,0,97.9992)); + var_00 = common_scripts\_createfx::createexploderex("steam_column_white_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50326.6,13865.1,1359.58),(270,0,97.9992)); + var_00 = common_scripts\_createfx::createexploderex("smoke_chimney_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51401.1,15254.7,823.137),(316.433,355.035,-64.8812)); + var_00 = common_scripts\_createfx::createexploderex("steam_column_lp","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50359.8,17509.4,1002.13),(301,157.999,90.0003)); + var_00 = common_scripts\_createfx::createexploderex("steam_column_lp","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50714.3,19717.8,1378.13),(301,157.999,90.0003)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_intro","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49312.6,15513.8,527),(15.395,308.737,171.929)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_intro","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49516,15469.4,504.304),(16.2595,315.957,173.901)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_intro","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49667.5,15142.2,429.444),(15.395,308.737,171.929)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50221.4,14919.5,175.808),(295.018,322.215,80.485)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51185.4,14120.8,369.125),(270,2.29061,84.7089)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51346.5,13575.5,499.125),(270,2.29061,84.7089)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53973.6,11913.3,214.953),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49195.9,9487.08,174),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49552.1,9031.45,237.814),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53577.6,11712.1,233.313),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-54148.8,10958.7,632.625),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48505.8,9289.98,284.365),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47772.3,7766.84,399.039),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("steam_column_white_sm","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49974.4,11999.4,1008.13),(270,0,97.9992)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("steam_column_white_sm","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-54707.7,11943.2,813.468),(270,180,40.9989)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("steam_column_white_sm","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49971.6,11940.4,1026.13),(270,0,97.9992)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("steam_column_white_sm","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51874.3,9397.94,658.125),(270,0,97.9992)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("steam_column_white_sm","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51983.1,9394.89,658.125),(270,0,97.9992)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48288.1,1405.05,272.125),(284.954,348.699,-77.6)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48073.3,1390.04,272.125),(284.954,348.699,-77.6)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47679.8,1634.2,272.125),(284.954,348.699,-77.6)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47947.1,1957.52,280.125),(284.954,348.699,-77.6)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48383.2,1394.93,408.125),(284.954,348.699,-77.6)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48146.6,1477.15,267.125),(270.335,180,0)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47827.7,1698.71,257.125),(270.335,180,-27)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47789.3,1998.1,272.125),(270.335,180,-31.0001)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47761.2,2274.57,301.125),(270.335,180,-21)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48190,1847.53,266.125),(270.335,180,-27)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48350,1918.92,280.125),(284.954,348.699,-77.6)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48376,1585.95,408.125),(284.954,348.699,-77.6)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47570.2,1591.44,272.125),(270.335,180,-31.0001)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47979.2,874.308,408.125),(270.335,180,-31.0001)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48032,1098.69,431.955),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("steam_column_white_sm","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47928.4,1982.25,502.671),(0,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47864.5,1610.14,239.125),(284.954,348.699,-77.6)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47971.1,1088.22,408.125),(284.954,348.699,-77.6)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48027.9,906.158,390.125),(284.954,348.699,-77.6)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47618.9,1848.49,352),(284.954,348.699,-77.6)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47867.6,2404.69,440.125),(284.954,348.699,-77.6)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47896.6,2390.78,304.125),(284.954,348.699,-77.6)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48369.5,1587.09,280.125),(284.954,348.699,-77.6)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47524.4,2602.12,440.125),(284.954,348.699,-77.6)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47522.5,2625.4,440.125),(284.954,348.699,-77.6)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47697.5,2395.09,440.125),(284.954,348.699,-77.6)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("leaves_small_fall_nowind_light","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48156.8,1595.09,383.468),(271,270.982,24.0143)); + var_00 = common_scripts\_createfx::createexploderex("leaves_small_fall_nowind_light","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48023.6,818.253,525.5),(271,270.997,54.9989)); + var_00 = common_scripts\_createfx::createexploderex("leaves_small_fall_gentlewind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46923,3722.49,504.63),(270,180,70.9996)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("leaves_small_fall_gentlewind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47009,3748.52,603.27),(270,180,70.9996)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49375.3,5051.75,168),(317.313,315.124,153.72)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49651,4888.38,168),(317.313,315.124,153.72)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49176.7,4630.61,209.135),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46875.2,2513.34,948.823),(21.7295,298.929,-27.0291)); + var_00 = common_scripts\_createfx::createexploderex("steam_column_rising_far","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53696.4,9426.55,786.668),(270,0,-65.0002)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("steam_column_rising_far","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49741.9,8116.17,1258.13),(270,180,93.9996)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("steam_column_rising_far","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-55361.3,10828.2,747),(270,180,148)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("steam_column_rising_far","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-54669.8,12454.8,796.693),(270,180,148)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49186.6,7914.31,17.7632),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49003.1,9603.86,793.098),(357.327,79.0006,35.8374)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49905.3,8864.82,1001.19),(357.327,79.0002,17.8372)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53137.1,11232,520.838),(357.327,79.0003,20.8373)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52900,8015.43,950.445),(357.327,79.0003,20.8373)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-54201,11651.1,589.71),(8.22315,49.8989,19.3906)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51258.7,12744.3,435),(28.6755,352.746,-3.85527)); + var_00.v["delay"] = -10; + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49336.9,10423.4,1046.83),(320.409,205.028,-24.9311)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45537.2,-2325.03,768.82),(335.767,84.4719,9.70919)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45810.6,224.523,621.165),(335.296,87.7271,8.36053)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-44889,421.294,657.442),(335.296,87.7271,8.36053)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-41622.6,-2409.62,814.37),(21.5154,349.415,6.48675)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-41876.3,-3461.87,1656.67),(21.5154,349.415,6.48675)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45079.3,-1779.54,-223.875),(21.5154,349.415,6.48675)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46064.1,-7967.84,1840.57),(335.767,84.4719,9.70919)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-44910.8,-6368.5,1358.72),(335.767,84.4719,9.70919)); + var_00 = common_scripts\_createfx::createexploderex("ground_concrete_breach_explosion","breach_explosion"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51830.6,11055.9,658.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51520.8,10542.1,170),(270,0,0)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52367.9,12224.1,162),(270,177.138,-90.1379)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52526.1,12462.3,162),(270,177.138,-90.1379)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50700.9,12437.6,267.608),(28.6755,352.746,-3.85527)); + var_00.v["delay"] = -10; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52119.7,11175.7,658),(270,0,9.99864)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52095.4,11045.5,658),(270,0,10.9995)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51822,10831.9,658),(270,0,0)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51935.4,11219.6,658),(270,0,9.99864)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51808.8,10526.3,658),(270,0,6.99862)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_lp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52261.4,11224,539.125),(270,0,93.9995)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_lp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51919.7,11150,541.125),(270,0,93.9995)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_lp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52215.7,10654.3,332.957),(270,0,93.9995)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_lp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52098.2,9052.9,525.125),(270,0,93.9995)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_lp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52256.9,9147.56,540.125),(270,0,93.9995)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_lp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51878.7,9066.13,526.125),(270,0,93.9995)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_light_lp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52413.8,9942.72,644.149),(270,0,93.9995)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_lp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52349,11054.1,534.699),(270,0,93.9995)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_light_lp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52414.6,9664.2,645.875),(270,0,93.9995)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_light_lp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52144.3,9868.74,669.243),(322.002,177.67,-88.8318)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_light_lp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51870.2,9848.77,651.829),(307.006,177.168,-88.4705)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_light_lp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52120,10611.7,430.633),(270,0,4.99991)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_light_lp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52265,10577.4,655.911),(273.142,15.4102,72.9547)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51925.5,9198.23,449.125),(270,0,93.9995)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52337.1,9112.47,455.125),(270,0,93.9995)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52751.1,8898.47,212.525),(270,0,93.9995)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_lp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52822.9,8863.82,380.125),(270,0,93.9995)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50811,12884.5,950.125),(28.6755,352.746,-3.85527)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51178.2,13314.2,490.125),(321.091,307.942,132.204)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51200.8,13338.3,466.125),(321.091,307.942,132.204)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51562.5,13385.3,490),(270,2.86241,64.1367)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50790.6,12197.9,598.125),(271,347.006,48.9907)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50789.2,12611.8,591.125),(271,347.006,48.9907)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50680.3,12750.5,512.125),(289,205.999,-90.0001)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50725.2,12415.8,540.875),(289,205.999,-90.0001)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50823.5,11405.5,261.875),(300.835,201.161,-112.588)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50868.8,12147.6,533.875),(289,205.999,-93.9996)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50907.9,12567.7,189),(270,345.964,120.036)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50924.1,12789.5,197),(270,184.086,-82.086)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52015.6,12100,202.655),(270,0,102.999)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50750.9,11480.9,207),(270,3.57633,102.423)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_light_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52096.9,11573.6,338.125),(273.142,15.4102,72.9547)); + var_00.v["delay"] = -10; + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_light_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53161.4,11521.7,254.071),(273.142,15.4102,72.9547)); + var_00.v["delay"] = -10; + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_light_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52765.9,11701.1,232.644),(273.142,15.4102,72.9547)); + var_00.v["delay"] = -10; + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_light_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51789.9,11663,266.555),(273.142,15.4102,72.9547)); + var_00.v["delay"] = -10; + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51508.3,11243.7,170),(270,0,93.9995)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51217.2,11575.8,154),(28.3309,348.211,-6.02037)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51569.7,10090.8,197.513),(270,0,-144)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_light_lp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52510.4,9776.97,428.125),(270,0,4.99991)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_light_lp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52505.7,9983.33,434.125),(270,0,4.99991)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_light_lp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51749.9,9850.76,412.125),(270,0,4.99991)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_light_lp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52014.2,9707.56,430.125),(270,0,4.99991)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_light_lp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52413.5,10583.1,308.125),(270,0,4.99991)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_light_lp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52372.6,10725.9,325.125),(270,0,4.99991)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("roach_flock_straight_lp_slw","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47597.9,2944.13,346.255),(360,89.9997,179)); + var_00 = common_scripts\_createfx::createexploderex("roach_flock_straight_lp_slw","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47506.4,2637.87,567.875),(90,0,0)); + var_00 = common_scripts\_createfx::createexploderex("roach_flock_straight_lp_slw","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47466.4,2893.44,315.446),(0,0,-94.0002)); + var_00 = common_scripts\_createfx::createexploderex("roach_flock_straight_lp_slw","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49309.9,4165.41,199.835),(0,0,178.999)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49192,4823.5,168),(270,0,150.999)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("pigeon_flock_runner_lp","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48232.2,4882.37,397.125),(283,49.9987,-90.0003)); + var_00 = common_scripts\_createfx::createexploderex("pigeon_flock_runner_lp","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47710.7,-627.248,697.125),(274.171,250.204,-140.552)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47497.6,694.854,416.501),(270.335,180,0)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47198.5,-254.442,415.228),(270.335,180,0)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46982.8,-335.773,416),(270.335,180,0)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46953,-587.287,416),(270.335,180,0)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47041.4,159.402,416),(270.335,180,0)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47251.2,451.228,416.13),(270.335,180,0)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46964,763.523,416),(270.335,180,0)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47377.9,272.347,414.733),(270.335,180,0)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47681.5,466.991,414.745),(270.335,180,0)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46793.5,856.153,416),(284.954,348.699,-77.6)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46775.6,554.298,414.573),(284.954,348.699,-77.6)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47510.6,509.024,415.225),(284.954,348.699,-77.6)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46973,-94.3878,416),(284.954,348.699,-77.6)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47296.8,1.19007,415.088),(284.954,348.699,-77.6)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45906.7,2381.81,211.17),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46588.9,-6045.98,406),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45447.1,894.794,414.125),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45095.5,2434.52,205.641),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43825.5,2319.97,108.233),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-42867.4,3363.78,478.436),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46033.1,-2806.59,465.189),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45339.3,-3158.74,475.572),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46144.7,-4060.95,421.176),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45453.3,-96.8222,395.125),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("leaves_small_fall_gentlewind","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46209.1,-1175.03,490),(274.273,141.232,146.585)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("leaves_small_fall_gentlewind","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46471.5,-1180.2,494.572),(272.173,93.7866,-166.416)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("leaves_small_fall_gentlewind","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46220.7,-735.289,494.125),(273.219,44.4114,-107.293)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("leaves_small_fall_gentlewind","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46226.3,17.5283,426.125),(271.487,5.01114,-122.48)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46216.6,-901.784,413.125),(270.335,180,-31.0001)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45440.4,-1426.84,414.125),(270.335,180,-31.0001)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45441.9,-960.387,414.125),(270.335,180,-31.0001)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46210.8,-476.966,413.125),(270.335,180,-9.00006)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46339.3,171.202,416.125),(0,180,0)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45393.9,88.2935,412.125),(0,180,0)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46025.3,-699.145,408),(270.335,180,-4.00028)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45764.9,-437.759,408),(270.335,180,-4.00028)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45800.2,-825.999,408),(270.335,180,-4.00028)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45893.7,-1236.65,408),(270.335,180,-4.00028)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46010.7,-328.113,408),(270.335,180,-4.00028)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45085.2,-1112.53,408),(270.335,180,179)); + var_00.v["delay"] = -6; + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-44911.5,-1422.4,408),(270.335,180,179)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-44889.3,-779.808,408),(270.335,180,179)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-44829.9,-353.181,408),(270.335,180,179)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45021.4,-569.938,408),(270.335,180,179)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_wave","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45100.9,-356.876,408),(270.335,180,179)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45433.5,-1844.58,414.125),(270.335,180,-31.0001)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45435.2,-2167.7,414.125),(270.335,180,-31.0001)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46447.3,-1589.74,416.125),(270.335,180,-3.00042)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47481.2,700.086,417.99),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47185.4,276.252,460.125),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46899.8,638.107,414.185),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46459.7,-1437.1,417.456),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46353.3,-1519.86,419.65),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46250.8,-751.97,413.125),(270.335,180,-3.00042)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46240.4,-1169.32,413.125),(270.335,180,-3.00042)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45460.9,306.538,414.125),(284.954,348.699,-77.6)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46368.1,-442.807,416.125),(284.954,348.699,-77.6)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-44669.4,-2026.95,416.125),(280.126,342.588,-71.6298)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45423.8,-2258.17,419.656),(284.731,311.294,-41.0108)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-44566.4,-2405.37,416.125),(280.126,342.588,-71.6298)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-44580.7,-2303.79,416.125),(270.335,180,-31.0001)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-44566.2,-1869.55,416.125),(270.335,180,-31.0001)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45365.1,-68.8481,414.125),(270.335,180,-31.0001)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46338.8,-2233.91,372.125),(284.731,311.294,-41.0108)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46482.4,-1893.49,416.125),(284.731,311.294,-41.0108)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46484.2,-1941.53,417.787),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46405.1,-2087.51,416.125),(270.335,180,-3.00042)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45536.6,-2773.43,414.125),(270.335,180,-3.00042)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46217.3,-2739.55,416.125),(270.335,180,-3.00042)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46422,-2271.85,379.125),(284.731,311.294,-41.0108)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45522.1,-2163.91,372.125),(284.731,311.294,-41.0108)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46365.3,-1438.98,416.125),(284.731,311.294,-41.0108)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-44682.5,468.399,416.125),(284.731,311.294,-41.0108)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-44661.4,-910.094,417.497),(271,270.983,-164.986)); + var_00 = common_scripts\_createfx::createexploderex("ambient_rolling_ground_leaves_fast_runner","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47306.6,3579.92,297),(270,0,77.9977)); + var_00 = common_scripts\_createfx::createexploderex("ambient_rolling_ground_leaves_fast_runner","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46647.8,3737.8,316.779),(270,352.875,104.122)); + var_00 = common_scripts\_createfx::createexploderex("ambient_rolling_ground_leaves_fast_runner","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47309.1,2690.61,327.12),(270,352.875,121.122)); + var_00 = common_scripts\_createfx::createexploderex("ambient_rolling_ground_leaves_fast_runner","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46192.5,-492.095,413.125),(270,0,89.9974)); + var_00 = common_scripts\_createfx::createexploderex("ambient_rolling_ground_leaves_fast_runner","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45436.1,-1714.55,417.125),(270,0,93.9972)); + var_00 = common_scripts\_createfx::createexploderex("ambient_rolling_ground_leaves_fast_runner","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45430.6,-1273.61,414.125),(270,0,93.9972)); + var_00 = common_scripts\_createfx::createexploderex("ambient_rolling_ground_leaves_fast_runner","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45471.5,-292.218,414.125),(270,0,93.9972)); + var_00 = common_scripts\_createfx::createexploderex("ambient_rolling_ground_leaves_fast_runner","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46248.2,-47.0327,413.125),(270,0,93.9972)); + var_00 = common_scripts\_createfx::createexploderex("ambient_rolling_ground_leaves_fast_runner","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46370.8,-970.8,416.125),(270,0,87.9969)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46756.2,-910.941,416),(270.335,180,0)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47044.6,-809.528,374),(284.954,348.699,-77.6)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_indoor_nodust","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47585.9,823.444,418.125),(310.72,311.295,146.813)); + var_00.v["delay"] = -2; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_indoor_nodust","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46763.5,821.451,416),(305.696,295.412,159.336)); + var_00.v["delay"] = -2; + var_00 = common_scripts\_createfx::createexploderex("pigeon_flock_runner","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47016.6,3764.57,547.906),(272.337,268.768,62.1254)); + var_00.v["flag"] = "alley1_oncoming_fx"; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_side","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43383.8,2750.78,70),(333.003,89.5958,-178.884)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_side","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-44103.2,2673.47,93.4938),(333.003,89.5958,-178.884)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_side","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43126.2,-6036.43,403.482),(25.923,4.33475,6.70438)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_side","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43215.2,2060.42,138),(24.8422,2.88498,-172.348)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43087.8,-6837.22,288.764),(24.1945,12.7968,13.4204)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-41117.1,-10269.8,1124.22),(27.2835,359.05,10.0845)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-41112.6,-9755.58,1126.52),(28.7936,344.412,3.17389)); + var_00 = common_scripts\_createfx::createexploderex("smoke_chimney_small","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43024.1,1573.6,351),(333.101,128.622,-141.631)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("smoke_chimney_small","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43035.4,2028.97,356.59),(333.101,128.622,-141.631)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("smoke_chimney_small","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47681.1,-578.221,674.125),(292.858,175.061,-146.391)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("smoke_chimney_small","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46875.7,-1149.76,582.125),(283.143,136.007,-108.988)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-42415.3,-9333.77,285.822),(15.4914,27.2786,13.3415)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_angled_side_long","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43206.1,-99.3369,196),(26.9991,0,-180)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_angled_side_long","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43234.2,1335.65,160),(26.9991,0,-180)); + var_00.v["delay"] = -4; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_angled_side_long","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43243.9,-882.784,111),(26.9991,0,-180)); + var_00.v["delay"] = -4; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_angled_side_long","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43220,-2440.29,168.63),(26.959,3.36614,-178.473)); + var_00.v["delay"] = -4; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_angled_side_long","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43228.5,-3280.23,130),(26.9991,0,-180)); + var_00.v["delay"] = -4; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_angled_side_long","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43203.8,-4628.43,166),(26.9991,0,-180)); + var_00.v["delay"] = -4; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_angled_side_long","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43236.1,-4049.77,160),(26.9991,0,-180)); + var_00.v["delay"] = -4; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_angled_side_long","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43211.9,-5448.55,184),(26.9991,0,-180)); + var_00.v["delay"] = -4; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_angled_side_long","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43046.3,-7485.21,110),(20.4949,11.6966,-175.005)); + var_00.v["delay"] = -4; + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-42647.3,-8816.77,234),(20.9196,21.6997,14.9333)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_side","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43053.2,281.232,519.029),(24.0829,1.79286,9.73129)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_angled_side_long","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-41168.2,-9914.77,1034.09),(24.0352,359.986,-179.536)); + var_00.v["delay"] = -4; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_angled_overpass_tall","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-36948.2,-15004,800.889),(28.003,2.89378,-176.438)); + var_00.v["delay"] = -4; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_angled_overpass_tall","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-37043.3,-14270.6,769.357),(28.1773,358.364,178.428)); + var_00.v["delay"] = -4; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_angled_overpass_tall","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-36954,-15598.9,818.146),(28.0605,1.76274,-176.97)); + var_00.v["delay"] = -4; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_angled_overpass_tall","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-30976.9,-16023.3,672.506),(24.4472,327.301,167.66)); + var_00.v["delay"] = -4; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_angled_overpass_tall","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-30778,-17880.5,620.676),(24.4472,327.301,167.66)); + var_00.v["delay"] = -4; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_angled_overpass_tall","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-30571.1,-15444.4,615.552),(24.4472,327.301,167.66)); + var_00.v["delay"] = -4; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_angled_side_long","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22021,-12035.7,169.385),(327.188,217.971,-178.413)); + var_00.v["delay"] = -4; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_angled_side_long","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21337.8,-11336.1,166),(327.321,214.407,-176.485)); + var_00.v["delay"] = -4; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_angled_side_long","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20718.5,-11336,185.015),(327.188,217.971,-178.413)); + var_00.v["delay"] = -4; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_angled_side_long","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21935.4,-12523.6,123.155),(327.188,217.971,-172.413)); + var_00.v["delay"] = -4; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_side","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16394.2,-6871.57,166),(327.664,232.21,173.892)); + var_00.v["delay"] = -4; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_side","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16818.1,-6426.86,150),(327.156,221.541,179.651)); + var_00.v["delay"] = -4; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_side","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17948.2,-8907.72,134.758),(313.985,235.986,178.662)); + var_00.v["delay"] = -4; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_side","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18321.7,-8604.4,121),(313.985,235.986,178.662)); + var_00.v["delay"] = -4; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_side","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18604.4,-8291.81,139),(313.985,235.986,178.662)); + var_00.v["delay"] = -4; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_angled_overpass_tall","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20550.4,-10351.5,407.522),(326.453,218.959,-175.341)); + var_00.v["delay"] = -4; + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43127.4,-6429.93,357.281),(24.1945,12.7968,13.4204)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_angled_side_long","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-42866.6,-8178.35,144.646),(17.1206,15.5932,-173.852)); + var_00.v["delay"] = -4; + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-41247.8,-9175.76,1120.75),(15.4914,27.2786,13.3415)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_angled_overpass_tall","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-40950.5,-12764.4,767.792),(329.184,168.359,147.115)); + var_00.v["delay"] = -4; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_angled_overpass_tall","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-41080.8,-13220.6,751.536),(329.184,168.359,147.115)); + var_00.v["delay"] = -4; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_angled_overpass_tall","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-40866.1,-12204.2,819.117),(329.184,168.359,147.115)); + var_00.v["delay"] = -4; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_angled_overpass_tall","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-40972.8,-11274.1,836.15),(19.0175,15.3296,-173.606)); + var_00.v["delay"] = -4; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-35897.7,-15904.4,315.262),(284.731,311.294,-41.0108)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_floor","10000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22340.4,-12024.2,166),(270,0,0)); + var_00.v["delay"] = -5; + var_00 = common_scripts\_createfx::createexploderex("ambient_falling_leaves_far_lp","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21606.9,-11329.3,591.073),(270,0,121)); + var_00.v["delay"] = -25; + var_00 = common_scripts\_createfx::createexploderex("ambient_falling_leaves_far_lp","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21026.8,-10435,594.49),(270,345.964,137.036)); + var_00.v["delay"] = -30; + var_00 = common_scripts\_createfx::createexploderex("ambient_falling_leaves_far_lp","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20404.8,-9711.86,559.354),(270,0,116.999)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("ambient_falling_leaves_far_lp","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21960,-11447.9,556.671),(270,0,121)); + var_00.v["delay"] = -25; + var_00 = common_scripts\_createfx::createexploderex("ambient_falling_leaves_far_lp","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18421.1,-7676.52,616.652),(270,0,121)); + var_00.v["delay"] = -25; + var_00 = common_scripts\_createfx::createexploderex("ambient_falling_leaves_far_lp","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18097.1,-8042.55,696.094),(270,345.964,137.036)); + var_00.v["delay"] = -30; + var_00 = common_scripts\_createfx::createexploderex("water_barrel_barriers_splash","water_barrier_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34945.2,76076.5,1273.27),(270,12.5288,-72.5299)); + var_00 = common_scripts\_createfx::createexploderex("lag_tkdown_concrete_piece_spurt_single","concrete_spurt_single"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34180.4,76489.7,1275.03),(343.129,24.3147,177.866)); + var_00 = common_scripts\_createfx::createexploderex("lag_tkdown_concrete_piece_spurt_single","concrete_spurt_single"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34144.1,76437.6,1230.95),(349.007,12.4908,-178.333)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("lag_tkdown_concrete_piece_spurt_single","concrete_spurt_single"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34112.3,76476.7,1231.73),(340.993,19.3768,-179.874)); + var_00 = common_scripts\_createfx::createexploderex("lag_tkdown_concrete_piece_spurt_single","concrete_spurt_single"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34209.4,76458.4,1255.6),(20.9179,14.7775,179.844)); + var_00 = common_scripts\_createfx::createexploderex("gun_blood_splash_decal_kva_intro","10"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52039,9128.45,464.15),(270,206.565,-91.5661)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("gun_blood_pool_decal_kva_intro","10"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52024,9142.09,464.175),(270,206.565,-91.5661)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("veh_collision_concrete","divider_hit_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((384.422,3326.12,499),(332.984,344.318,105.159)); + var_00.v["delay"] = 0.2; + var_00 = common_scripts\_createfx::createexploderex("veh_collision_concrete","divider_hit_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((707.793,4278.17,496),(332.984,344.318,106.159)); + var_00.v["delay"] = 0.2; + var_00 = common_scripts\_createfx::createexploderex("veh_collision_concrete","divider_hit_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((956,5363,497),(332.984,344.318,106.159)); + var_00 = common_scripts\_createfx::createexploderex("veh_collision_asphalt","pickup_asphalt_impact"); + var_00 common_scripts\_createfx::set_origin_and_angles((1161.35,5940.51,446),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("veh_collision_asphalt","pickup_asphalt_impact"); + var_00 common_scripts\_createfx::set_origin_and_angles((1232.66,6033.54,446),(270,0,0)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("lag_tkdown_concrete_piece_spurt_single_med","divider_hit_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((987.796,5435.36,501),(329.413,120.912,-83.7442)); + var_00 = common_scripts\_createfx::createexploderex("lag_tkdown_concrete_piece_spurt_single_med","divider_hit_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((1000.32,5488.81,500),(312.017,105.061,-69.7962)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("veh_collision_asphalt","pickup_asphalt_impact"); + var_00 common_scripts\_createfx::set_origin_and_angles((1348.78,6117.65,449),(270,0,0)); + var_00.v["delay"] = 0.2; + var_00 = common_scripts\_createfx::createexploderex("flies_intro_conf","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52024,9142.09,464.175),(270,206.565,-91.5661)); + var_00 = common_scripts\_createfx::createexploderex("steam_column_white_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49685.9,17565,172.279),(306,86.9996,-90)); + var_00 = common_scripts\_createfx::createexploderex("smoke_chimney_small_dark","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50079,15050.4,162),(300.539,75.1277,143.263)); + var_00 = common_scripts\_createfx::createexploderex("smoke_chimney_small_dark","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50096.6,14685.9,162),(300.539,75.1277,143.263)); + var_00 = common_scripts\_createfx::createexploderex("steam_column_white_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49647.4,14305.9,162),(306,86.9996,-90)); + var_00 = common_scripts\_createfx::createexploderex("lag_tkdown_kva_pickup_impact_concrete","divider_hit_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((979.015,5320.79,446),(335.133,91.9047,-43.6019)); + var_00 = common_scripts\_createfx::createexploderex("blood_impact_burst","blood_impact_post"); + var_00 common_scripts\_createfx::set_origin_and_angles((120.258,2834.82,561),(354,270,89.9999)); + var_00 = common_scripts\_createfx::createexploderex("lag_tkdown_kva_pickup_crash","pickup_asphalt_impact"); + var_00 common_scripts\_createfx::set_origin_and_angles((1188,5925,452),(356.811,87.6811,-2.43129)); + var_00 = common_scripts\_createfx::createexploderex("lag_tkdown_kva_pickup_crash","pickup_asphalt_impact"); + var_00 common_scripts\_createfx::set_origin_and_angles((1291.84,6038.77,434),(356.406,76.6685,-2.7779)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_on_flash","harmonic_wall_flash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52148.9,9331.15,484.2),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_on_lp","harmonic_breach_screen_on"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52148.9,9331.15,484.2),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_bar_lp","harmonic_intro_strips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52220.9,9328.31,484.2),(0,93.6631,0)); + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_bar_lp","harmonic_intro_strips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52072.2,9328.72,484.2),(0,86.3953,0)); + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_bar_lp","harmonic_intro_strips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52085.5,9329.51,484.2),(0,87.3082,0)); + var_00.v["delay"] = 0.05; + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_bar_lp","harmonic_intro_strips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52208,9329.14,484.2),(0,93.6622,0)); + var_00.v["delay"] = 0.05; + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_bar_lp","harmonic_intro_strips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52098.3,9330.12,484.2),(0,87.3082,0)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_bar_lp","harmonic_intro_strips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52194.9,9329.97,484.2),(0,93.6622,0)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_bar_lp","harmonic_intro_strips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52111,9330.58,484.2),(0,88.8165,0)); + var_00.v["delay"] = 0.15; + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_bar_lp","harmonic_intro_strips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52182.1,9330.46,484.2),(0,91.187,0)); + var_00.v["delay"] = 0.15; + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_bar_lp","harmonic_intro_strips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52123.8,9330.84,484.2),(0,88.8165,0)); + var_00.v["delay"] = 0.2; + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_bar_lp","harmonic_intro_strips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52169.2,9330.72,484.2),(0,91.1896,0)); + var_00.v["delay"] = 0.2; + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_bar_lp","harmonic_intro_strips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52136.5,9331.11,484.2),(0,88.8165,0)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_bar_lp","harmonic_intro_strips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52156.3,9330.99,484.2),(0,91.1896,0)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_bar_lp","harmonic_intro_strips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52146.1,9331.21,484.2),(0,91.1896,0)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_off","harmonic_screen_off"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52220.9,9328.31,484.2),(0,93.6631,0)); + var_00.v["delay"] = 0.15; + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_off","harmonic_screen_off"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52072.2,9328.72,484.2),(0,86.3953,0)); + var_00.v["delay"] = 0.15; + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_off","harmonic_screen_off"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52085.5,9329.51,484.2),(0,87.3082,0)); + var_00.v["delay"] = 0.12; + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_off","harmonic_screen_off"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52208,9329.14,484.2),(0,93.6622,0)); + var_00.v["delay"] = 0.12; + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_off","harmonic_screen_off"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52098.3,9330.12,484.2),(0,87.3082,0)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_off","harmonic_screen_off"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52194.9,9329.97,484.2),(0,93.6622,0)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_off","harmonic_screen_off"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52111,9330.58,484.2),(0,88.8165,0)); + var_00.v["delay"] = 0.07; + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_off","harmonic_screen_off"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52182.1,9330.46,484.2),(0,91.187,0)); + var_00.v["delay"] = 0.07; + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_off","harmonic_screen_off"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52123.8,9330.84,484.2),(0,88.8165,0)); + var_00.v["delay"] = 0.05; + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_off","harmonic_screen_off"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52169.2,9330.72,484.2),(0,91.1896,0)); + var_00.v["delay"] = 0.05; + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_off","harmonic_screen_off"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52136.5,9331.11,484.2),(0,88.8165,0)); + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_off","harmonic_screen_off"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52156.3,9330.99,484.2),(0,91.1896,0)); + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_off","harmonic_screen_off"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52146.1,9331.21,484.2),(0,91.1896,0)); + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_flash","harmonic_screen_flash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52220.9,9328.31,484.2),(0,93.6631,0)); + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_flash","harmonic_screen_flash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52072.2,9328.72,484.2),(0,86.3953,0)); + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_flash","harmonic_screen_flash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52085.5,9329.51,484.2),(0,87.3082,0)); + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_flash","harmonic_screen_flash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52208,9329.14,484.2),(0,93.6622,0)); + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_flash","harmonic_screen_flash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52098.3,9330.12,484.2),(0,87.3082,0)); + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_flash","harmonic_screen_flash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52194.9,9329.97,484.2),(0,93.6622,0)); + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_flash","harmonic_screen_flash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52111,9330.58,484.2),(0,88.8165,0)); + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_flash","harmonic_screen_flash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52182.1,9330.46,484.2),(0,91.187,0)); + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_flash","harmonic_screen_flash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52123.8,9330.84,484.2),(0,88.8165,0)); + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_flash","harmonic_screen_flash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52169.2,9330.72,484.2),(0,91.1896,0)); + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_flash","harmonic_screen_flash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52136.5,9331.11,484.2),(0,88.8165,0)); + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_flash","harmonic_screen_flash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52156.3,9330.99,484.2),(0,91.1896,0)); + var_00 = common_scripts\_createfx::createexploderex("lag_harmonic_breach_strip_single_flash","harmonic_screen_flash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52146.1,9331.21,484.2),(0,91.1896,0)); + var_00 = common_scripts\_createfx::createexploderex("paper_scrap_windblown_runner_light_slw","20"); + var_00 common_scripts\_createfx::set_origin_and_angles((-32009.3,75227.8,487.385),(274.069,106.563,120.684)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","20"); + var_00 common_scripts\_createfx::set_origin_and_angles((-31804.6,75329.6,426.654),(274.069,106.563,120.684)); + var_00 = common_scripts\_createfx::createexploderex("dust_car_stop","5001"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51375.8,8355.85,162),(270,0,-38.0001)); + var_00 = common_scripts\_createfx::createexploderex("ambient_falling_leaves_far_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51760.4,8759.72,784.326),(270,0,19.9998)); + var_00 = common_scripts\_createfx::createexploderex("dust_car_stop","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52717.8,8391.54,162),(270,0,-38.0001)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51315.8,8542.25,172),(270,0,-80.0003)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51458.1,8628.29,170),(270,0,-80.0003)); + var_00 = common_scripts\_createfx::createexploderex("lag_gate_dust_falling","gate_dust_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48825.3,3510.13,263),(271,180,180)); + var_00 = common_scripts\_createfx::createexploderex("heat_distortion_mirage_med","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50144.6,9141.86,600.148),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("heat_distortion_mirage_med","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50636.5,9811.74,593.972),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("heat_distortion_l","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50657.8,12052.1,600.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("heat_distortion_l","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50698.6,10109,598),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("heat_distortion_mirage_med","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50664.1,9304.72,591),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("heat_distortion_mirage_med","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50833.5,9779.98,605.108),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("heat_distortion_l","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50695.4,11213.9,598),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("heat_distortion_l","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49739.6,14080.5,360),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("heat_distortion_l","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52483.5,11207.6,688.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("heat_distortion_l","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50451,9425.71,588.983),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("heat_distortion_l","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51850.1,11850.1,308.574),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("heat_distortion_l","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49921.7,15478.7,162),(276.751,243.421,116.837)); + var_00 = common_scripts\_createfx::createexploderex("smoke_chimney_small_dark","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49797.8,16448.4,162),(300.539,75.1277,143.263)); + var_00 = common_scripts\_createfx::createexploderex("smoke_chimney_small_dark","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49681.4,16237.6,162),(300.539,75.1277,143.263)); + var_00 = common_scripts\_createfx::createexploderex("smoke_chimney_small_dark","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49777.3,14885.5,162),(300.539,75.1277,143.263)); + var_00 = common_scripts\_createfx::createexploderex("smoke_chimney_small_dark","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50094.3,14430.5,162),(300.539,75.1277,143.263)); + var_00 = common_scripts\_createfx::createexploderex("smoke_chimney_small_dark","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49766,14353,162),(300.539,75.1277,143.263)); + var_00 = common_scripts\_createfx::createexploderex("smoke_chimney_small_dark","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49754.7,13448.2,162),(300.539,75.1277,143.263)); + var_00 = common_scripts\_createfx::createexploderex("smoke_chimney_small_dark","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49252.6,13364.3,162),(300.539,75.1277,143.263)); + var_00 = common_scripts\_createfx::createexploderex("smoke_chimney_small_dark","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49096.4,12876.2,156),(300.539,75.1277,143.263)); + var_00 = common_scripts\_createfx::createexploderex("smoke_chimney_small_dark","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49596.6,13535.9,162),(300.539,75.1277,143.263)); + var_00 = common_scripts\_createfx::createexploderex("smoke_chimney_small_dark","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49805.3,16764,162),(300.539,75.1277,143.263)); + var_00 = common_scripts\_createfx::createexploderex("heat_distortion_l","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49836.4,16595.4,162),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("steam_column_white_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49506.3,13205.5,162),(350.543,163.834,-71.8687)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51322.5,13337.3,490),(270,0,9.99864)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("smoke_chimney_small_dark","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50013.8,17179.2,162),(300.539,75.1277,143.263)); + var_00 = common_scripts\_createfx::createexploderex("smoke_chimney_small_dark","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51568.4,12094.7,162),(299.721,124.038,-19.6821)); + var_00 = common_scripts\_createfx::createexploderex("smoke_chimney_small_dark","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51424.9,12370.5,156),(303.733,139.419,-32.7946)); + var_00 = common_scripts\_createfx::createexploderex("steam_column_white_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49682.9,17300.3,162),(306,86.9996,-90)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50457.2,14102.3,362),(270,180,-91.0003)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51037.6,14130.3,362),(270,180,-91.0003)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50721.2,14121.9,366),(270,0,9.99864)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49972.9,14088.9,360),(270,0,9.99864)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_lp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52216.3,11008.6,448.215),(270,0,9.99864)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50985.3,12241.3,278.001),(270,0,77.9998)); + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50887.6,10859.2,676.042),(270,0,77.9998)); + var_00 = common_scripts\_createfx::createexploderex("smog_smoke_l","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50154.2,10524.8,578.079),(270,0,77.9998)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_edge_thick","dust_edge_thick"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51857,11020.7,658),(270,0,-27.0006)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_edge_thick","dust_edge_thick"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51844.2,11128.3,661),(270,180,12)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_edge_light","dust_edge_front"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51895.4,11061.4,658),(270,83.0313,-173.032)); + var_00 = common_scripts\_createfx::createexploderex("dust_radial_lingering","dust_radial_lingering"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51839.8,11067.9,434.125),(270,180,161)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_single_ceiling_tile","falling_ceiling_tile"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52501.7,11028,613.875),(270,0,175)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51911.6,11105.3,468.125),(270,180,162)); + var_00 = common_scripts\_createfx::createexploderex("dust_particles_sml","dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51885.4,11240.3,434.403),(270,180,162)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_lp","dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51935.3,11097.2,434.125),(270,180,162)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_lp","dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52029.9,11103.4,434.125),(270,180,162)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_lp","dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51817.6,11076.6,434.125),(270,180,162)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_lp","dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52294.6,11146.7,434.125),(270,180,162)); + var_00 = common_scripts\_createfx::createexploderex("dust_falling_single_ceiling_tile","falling_ceiling_tile"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52175.9,11195.3,592.875),(271,116.999,-89.9992)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51952.9,8148.92,170.501),(270,0,-144)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51996.6,8138.65,171.431),(270,0,-144)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52295.4,8743.75,174.563),(270,0,-144)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52302.2,8759.26,228.93),(270,0,-144)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52304.9,8807.15,226.075),(270,0,-144)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("steam_column_rising_far","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53317.1,12931.2,694.574),(270,180,148)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("steam_column_rising_far","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48514,13389.1,801.266),(270,180,148)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("steam_column_rising_far","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49448.9,12529.8,773.167),(270,180,148)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49599.7,14107.4,376),(270,345.964,70.0345)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("steam_column_rising_far","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51193.4,8087.66,1002.8),(280,238,90.0003)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52207.9,8579.04,170),(270,0,9.99864)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52095.4,8379.71,162),(270,0,9.99864)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51649.1,8542.96,170),(270,0,9.99864)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50894.2,8855.43,170),(270,0,9.99864)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50541.3,8577.24,170),(270,0,9.99864)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52380.4,8428.31,162),(270,0,9.99864)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52507.4,8723.4,170),(270,0,9.99864)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","ambient_dust_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49094.1,15373.5,429),(270,0,9.99864)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51113.9,10629.3,346),(270,0,9.99864)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("smoke_chimney_small_dark","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51283.9,8484.33,170),(299.721,124.038,-19.6821)); + var_00 = common_scripts\_createfx::createexploderex("trash_tornado_s_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52358.6,8610.09,170),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("leaves_tornado_s_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51606.7,8431.91,162),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("leaves_tornado_s_runner","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51847.6,8263.48,159),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("pigeon_fly_off_pos_y_runner","3011"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52216.4,11023.7,648),(276.672,350.842,-60.5)); + var_00 = common_scripts\_createfx::createexploderex("light_blue_fill_hostage","4024"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52066.7,9134,492.81),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_fill_exo","2032"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51329.4,13505.3,503.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","room_lingering_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52181.1,9253.67,449.125),(270,0,93.9995)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","room_lingering_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52167.2,9020.64,450.125),(270,0,93.9995)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","room_lingering_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51964.9,9033.65,443.125),(270,0,93.9995)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","room_lingering_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51807.3,9051.43,454.152),(270,0,93.9995)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_lp","dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52053.6,11244.9,434.125),(270,180,162)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_lp","dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52255.1,11260.8,428.403),(270,180,162)); + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_lp","dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52090,11023.5,441.125),(270,180,162)); + var_00 = common_scripts\_createfx::createexploderex("paper_burst","paper_burst_door_kick"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51937.2,9185.81,434.125),(358.406,154.986,1.22819)); + var_00 = common_scripts\_createfx::createexploderex("blood_pool_spawner_small_fast","blood_decal"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52023.7,9134.6,434.125),(270,206.565,-91.5661)); + var_00 = common_scripts\_createfx::createexploderex("blood_drip_sml_runner_edge_slw","blood_decal"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52023.5,9135.96,461.258),(270,88.2376,-88.2376)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","room_lingering_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52430.2,9008.96,440.325),(270,0,93.9995)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","room_lingering_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52645.2,8756.4,178.125),(270,0,93.9995)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","room_lingering_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52071.4,9249.96,454.125),(270,0,93.9995)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52478.6,9481.38,414.125),(270,0,93.9995)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","room_lingering_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51818.3,9205,440.125),(270,0,93.9995)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51837,9428.98,459.125),(270,0,93.9995)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52541,10336,468.125),(270,0,93.9995)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51783.6,10807.2,443.955),(270,0,93.9995)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52146.6,10945.1,585.432),(270,0,93.9995)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52447.3,11280.1,545.387),(270,0,93.9995)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("dust_linger_shaft_slw_lp","dust_linger_roof_hole"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51830.6,11093.6,434.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_slw_lp","room_lingering_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52392.8,9234.55,437.125),(270,0,93.9995)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("pigeon_fly_off_pos_y_runner","3011"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52034.6,10932.4,658),(276.672,350.842,-60.5)); + var_00 = common_scripts\_createfx::createexploderex("pigeon_fly_off_pos_y_runner","3011"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51997.2,10964.8,658),(276.672,350.842,-60.5)); + var_00 = common_scripts\_createfx::createexploderex("pigeon_fly_off_pos_y_runner","3011"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51974.4,10988,658),(276.672,350.842,-102.5)); + var_00 = common_scripts\_createfx::createexploderex("pigeon_fly_off_pos_y_runner","3011"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52057.3,11071.2,658),(276.672,350.842,-102.5)); + var_00 = common_scripts\_createfx::createexploderex("light_blue_monitor","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51467.8,14026.7,412.828),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_blue_monitor","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48720.4,4048.69,230.948),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_blue_monitor","8000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47736.6,1018.17,461.508),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_blue_monitor_large","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46680.1,-153.29,473.045),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_blue_monitor_large","9000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46678,18.5679,468.118),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("leaves_falling_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-38547.9,-15299.3,759.679),(295.107,89.3383,-137.621)); + var_00 = common_scripts\_createfx::createexploderex("leaves_falling_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33796,-16548.9,611.401),(283.565,67.584,-171.393)); + var_00 = common_scripts\_createfx::createexploderex("leaves_falling_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-44488,-6045.17,490.519),(4.58502,331.161,-94.6843)); + var_00 = common_scripts\_createfx::createexploderex("leaves_falling_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-42302,-12221,618.988),(353.316,18.2609,-92.9164)); + var_00 = common_scripts\_createfx::createexploderex("smoke_blowing_fast_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-42419.5,-11315.2,225.122),(270,0,37.9997)); + var_00 = common_scripts\_createfx::createexploderex("smoke_blowing_fast_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43940.9,-6522.9,218.274),(275.653,0.432628,3.81518)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_fast_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-40315.2,-14042.1,357.05),(270,0,37.9997)); + var_00 = common_scripts\_createfx::createexploderex("smoke_blowing_fast_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34721,-15888.5,195.773),(295.576,232.163,-144.228)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_fast_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-38689.1,-15156.9,403),(287.409,57.5105,-20.465)); + var_00 = common_scripts\_createfx::createexploderex("leaves_falling_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43132.9,-10976.1,629.182),(305.382,34.22,-124.859)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_fast_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-44222.6,-7332.52,422.361),(283.378,64.1277,-63.1835)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("smoke_blowing_fast_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-32539.1,-16082.3,275.372),(277.593,292.72,158.092)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_fast_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43900.2,-8796.98,383.363),(283.378,64.1277,-63.1835)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_fast_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43188.1,-10641.4,417.85),(278.483,315.036,62.9623)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("smoke_blowing_fast_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-44332,-6137.64,299),(273.002,72.9955,-77.0054)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_trash_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-44012.4,-6720.14,155),(276.99,224.13,137.586)); + var_00 = common_scripts\_createfx::createexploderex("smoke_blowing_fast_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43690.9,-8140.76,202),(274.825,332.252,32.1842)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_trash_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43328.2,-9508.43,166),(278.468,316.491,57.9181)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_trash_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-41758.8,-12109,166),(287.405,325.935,66.7536)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_trash_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-40805.4,-13082.3,355.449),(279,74.9978,-35.9989)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_trash_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-37562.9,-15245.6,166),(277.302,33.2907,32.3261)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_trash_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34504,-15991,166),(293.487,9.3545,90.4783)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_trash_constant","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-23154.9,-13345.3,166),(288.942,155.78,-19.8086)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_trash_constant","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21998.6,-12643.5,231.556),(288.942,155.78,-19.8086)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_trash_constant","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20420.5,-10991,287),(288.942,155.78,-19.8086)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_trash_constant","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18460.3,-9031.22,257),(290.15,163.998,-27.5549)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_fast_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-31493.6,-16388.2,479.681),(277.593,292.72,128.092)); + var_00 = common_scripts\_createfx::createexploderex("smoke_blowing_fast_constant","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-27202.8,-15613.1,386.528),(277.593,292.72,179.091)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_fast_constant","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-25354.7,-15003.6,388.443),(277.593,292.72,174.092)); + var_00 = common_scripts\_createfx::createexploderex("smoke_blowing_fast_constant","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21518.9,-12204.3,269.484),(277.593,292.72,158.092)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_fast_constant","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-24091.4,-14105.2,398.919),(277.605,315.553,168.453)); + var_00 = common_scripts\_createfx::createexploderex("smoke_blowing_fast_constant","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-29332.1,-16089.6,364.213),(270,0,88.999)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_fast_constant","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-27597.2,-15916.7,339.674),(270,0,88.999)); + var_00 = common_scripts\_createfx::createexploderex("smoke_blowing_fast_constant","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-25901.8,-15230.5,369.723),(270,175.236,-81.2379)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_fast_constant","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18389.8,-8566.45,217),(276,358.999,137.999)); + var_00 = common_scripts\_createfx::createexploderex("smoke_blowing_fast_constant","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17221.6,-7518.23,270),(276,358.999,152.999)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_fast_constant","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19362.7,-9799.74,384),(277.593,292.721,-156.909)); + var_00 = common_scripts\_createfx::createexploderex("smoke_blowing_fast_constant","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22258,-12546.1,341),(276,358.999,137.999)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_fast_constant","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-23097.1,-13436.5,394),(276,358.999,137.999)); + var_00 = common_scripts\_createfx::createexploderex("leaves_falling_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-44433.7,-2168.33,449.192),(355.515,206.52,-99.7981)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_fast_constant","divider_hit_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((322.914,2286.74,570.119),(280.436,286.53,-117.794)); + var_00 = common_scripts\_createfx::createexploderex("light_godray_hazy_highway_angled_overpass_tall","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21261.6,-11704.8,201.321),(322.478,218.397,-177.017)); + var_00.v["delay"] = -4; + var_00 = common_scripts\_createfx::createexploderex("smoke_blowing_fast_constant","13000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1356.25,6660.61,566.809),(280.436,286.53,-117.794)); + var_00 = common_scripts\_createfx::createexploderex("paper_windblown_slw_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43791.6,-1780.77,166),(272.611,353.353,-169.632)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_fast","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43255.3,-10190.2,308),(270,0,28.9994)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_fast","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-44069.3,-7324.97,264),(270,0,28.9994)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_fast","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-42799.7,-10979,245.359),(270,0,28.9994)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_fast","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-39963.2,-14108,275.904),(270,0,62.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_fast","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-38972.6,-14725,239.335),(270,0,62.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_fast","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-35716.4,-15934.7,243.405),(270,0,62.9986)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_fast","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33962.6,-16113.1,261),(270,350.538,101.46)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_fast","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-44247.5,-5535.33,258.626),(270,0,28.9994)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_fast","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-42880.4,-10688.4,223),(270,0,28.9994)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_fast","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33002.6,-16142.9,241),(270,0,88.9988)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_fast","13000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1463.94,7230.16,489.878),(276,273.998,-89.9988)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_fast","13000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1519.98,9820,742.131),(276,273.998,-89.9988)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_fast","13000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1554.36,12011.9,838.232),(276,273.998,-89.9988)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_fast","13000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1585.71,14662.4,1045.9),(276,273.998,-89.9988)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_fast","13000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1584.9,15866.5,1302.43),(276,273.998,-89.9988)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_fast","14000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1449.76,18631.7,1280),(276,273.998,-89.9988)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_fast","14000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1517.4,19703,1308.9),(276,273.998,-89.9988)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_fast","13000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1517.07,22176.8,1274.35),(276,273.998,-89.9988)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_fast","14000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1563.26,23634.4,1288),(276,273.998,-89.9988)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_fast","14000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1509.89,29085.5,1299.17),(276,273.998,-89.9988)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_fast","14000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1614.03,32908.2,1398),(276,273.998,-89.9988)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_fast","14000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1442.39,26848.7,1299.68),(276,273.998,-89.9988)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_fast","14000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1450.75,23351.7,1390.25),(276,273.998,-89.9988)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_fast","14000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1609.62,34128.3,1363.09),(276,273.998,-89.9988)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_fast","14000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1437.4,31493.5,1404.26),(276,273.998,-89.9988)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_fast","14000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1584.83,27323.9,1430.39),(276,273.998,-89.9988)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_fast","14000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1487.27,24566,1387),(276,273.998,-89.9988)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_fast","14000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1478.73,17187.1,1346.21),(276,273.998,-89.9988)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_fast","13000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1623.37,12082.7,917.602),(276,273.998,-89.9988)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_fast","13000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1515.06,8298.96,589.133),(276,273.998,-89.9988)); + var_00 = common_scripts\_createfx::createexploderex("underwater_particulates_glitter","particulates_rescue"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34454.7,74487,-1502.93),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_particulates_glitter","particulates_rescue"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34664,74631,-1236),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_particulates_glitter","particulates_rescue"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34640,74596,-872),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_particulates_glitter","water_bubble_columns"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33882.5,76484.3,-135.188),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("light_underwater_godray_beam_blurry_lrg","godrays_underwater"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33286.3,76622,368),(279.853,112.676,67.107)); + var_00.v["delay"] = -8; + var_00 = common_scripts\_createfx::createexploderex("underwater_sinking_debris_single_03","concrete_chunk_sinking"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33919.6,76334.4,-1003.43),(270,356.82,105.179)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("light_underwater_godray_beam_blurry_lrg","godrays_underwater"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33421.6,77030,498.629),(278.939,115.179,64.6375)); + var_00.v["delay"] = -12; + var_00 = common_scripts\_createfx::createexploderex("light_underwater_godray_beam_blurry_lrg","godrays_underwater"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33725.5,75846.9,368),(285.554,103.952,75.6288)); + var_00.v["delay"] = -10; + var_00 = common_scripts\_createfx::createexploderex("light_underwater_godray_beam_blurry_lrg","godrays_underwater"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33279.2,76124.2,348.972),(279.985,114.318,62.505)); + var_00.v["delay"] = -13; + var_00 = common_scripts\_createfx::createexploderex("fish_school_side_large","fish_school"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33607.7,75526.7,-1211.31),(1.20438,110.605,-95.0972)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("fish_school_side_large","fish_school"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33281.7,77119,-749.26),(354.765,152.126,-79.2054)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("fish_school_side_large","fish_school_rescue"); + var_00 common_scripts\_createfx::set_origin_and_angles((-35473.9,73684.9,-1208.73),(354.362,341.452,-92.7456)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("light_underwater_godray_beam_blurry_lrg","godrays_underwater_rescue"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34349.9,74171.7,175.242),(288.017,39.9949,57.3037)); + var_00.v["delay"] = -13; + var_00 = common_scripts\_createfx::createexploderex("light_underwater_godray_beam_blurry_lrg","godrays_underwater_rescue"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34690.5,73725.4,410.325),(288.017,39.9949,57.3037)); + var_00.v["delay"] = -10; + var_00 = common_scripts\_createfx::createexploderex("light_underwater_godray_beam_blurry_lrg","godrays_underwater_rescue"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33869.1,73860.4,445.507),(288.017,39.9949,57.3037)); + var_00.v["delay"] = -13; + var_00 = common_scripts\_createfx::createexploderex("fish_school_top_base","fish_school_rescue"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34442.2,73350.6,-577.355),(1.38185,112.598,-95.0519)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("fish_school_side_large","fish_school_rescue"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34247,74940.7,-172.414),(0.774859,218.358,-83.7784)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("fish_school_side_large","fish_school"); + var_00 common_scripts\_createfx::set_origin_and_angles((-35480,73648.2,-1005.34),(354.984,350.592,-88.4918)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_particulates_glitter","water_bubble_columns"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33659.5,76511.2,-522.311),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_particulates_glitter","water_bubble_columns"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33634.4,76518,-760.395),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_particulates_glitter","water_bubble_columns"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33639.6,76577.9,-1081.3),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("underwater_particulates_glitter","water_bubble_columns"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33638,76600.7,-1436.73),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("lag_underwater_murk_xlg_nofog","murky_bottom"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34273.6,76786.1,-1581.86),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("lag_underwater_murk_xlg_nofog","murky_bottom"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34386,77893.1,-2634.68),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("lag_underwater_murk_xlg_nofog","murky_bottom"); + var_00 common_scripts\_createfx::set_origin_and_angles((-35469.1,76468.6,-1274.21),(0,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("lag_underwater_murk_xlg_nofog","murky_bottom"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34367.6,75240.6,-1443.22),(360,89.9998,-90)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("lag_underwater_murk_xlg_nofog","murky_bottom"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34591.2,78183.4,-1189.35),(0,270,-90)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("lag_underwater_murk_xlg_nofog","murky_bottom_rescue"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34045.9,74492.7,-2084.83),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("lag_underwater_murk_xlg_nofog","murky_bottom"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34529.6,73589.5,-1566.67),(0,90,-90)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("lag_underwater_murk_xlg_nofog","murky_bottom"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34399.5,76142.1,-1538.05),(0,270,90)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("lag_underwater_murk_xlg_nofog","murky_bottom"); + var_00 common_scripts\_createfx::set_origin_and_angles((-35339.8,74549.2,-1071.94),(0,360,-90)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("lag_underwater_murk_xlg_nofog","murky_bottom_rescue"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34803.1,74574.4,-2801.75),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("lag_underwater_murk_xlg_nofog","murky_bottom"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34894.1,75710.5,-2051.03),(0,360,-90)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("light_underwater_godray_beam_moving_med","godray_rescue_gideon"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34549.3,74547.6,-426.813),(284.534,46.5179,-53.2569)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("bubble_long_trail_slw_med","water_bubble_columns"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33442.7,76482.9,301.682),(277.157,183.004,-146.211)); + var_00 = common_scripts\_createfx::createexploderex("bubble_long_trail_slw_med","water_bubble_columns"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33662.3,77464,276.062),(271.2,15.539,134.824)); + var_00 = common_scripts\_createfx::createexploderex("bubble_long_trail_slw_med","water_bubble_columns"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33425.3,77083.6,302.229),(277.156,183.004,-78.211)); + var_00 = common_scripts\_createfx::createexploderex("bubble_long_trail_slw_med","water_bubble_columns"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34388,77325.7,292.55),(285.946,208.941,36.287)); + var_00 = common_scripts\_createfx::createexploderex("bubble_long_trail_slw_med","water_bubble_column_rescue"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34336.9,74277.3,-246.103),(286.458,89.8598,-58.3466)); + var_00 = common_scripts\_createfx::createexploderex("bubble_long_trail_slw_med","water_bubble_column_rescue"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34118.4,74964.7,-435.313),(277.157,183.004,-70.2114)); + var_00 = common_scripts\_createfx::createexploderex("bubble_long_trail_slw_med","water_bubble_column_rescue"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34011.7,74533.9,-163.39),(273.184,196.286,-108.412)); + var_00 = common_scripts\_createfx::createexploderex("bubble_long_trail_slw_med","water_bubble_column_rescue"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33902.4,73959.9,-73.9331),(277.157,183.004,-120.211)); + var_00 = common_scripts\_createfx::createexploderex("bubble_long_trail_slw_med","water_bubble_column_rescue"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34536.8,73787.2,124.596),(274.881,12.2954,-5.5525)); + var_00 = common_scripts\_createfx::createexploderex("underwater_sinking_debris_runner","concrete_chunk_sinking"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33728.3,76191.3,10.6551),(270,356.82,105.179)); + var_00.v["delay"] = -2; + var_00 = common_scripts\_createfx::createexploderex("underwater_sinking_debris_runner","concrete_chunk_sinking"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33515.4,76950.4,-133.584),(270,356.82,105.179)); + var_00.v["delay"] = -1; + var_00 = common_scripts\_createfx::createexploderex("underwater_sinking_debris_runner","concrete_chunk_sinking"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33503.3,76326.7,101.923),(270,356.82,105.179)); + var_00.v["delay"] = -1; + var_00 = common_scripts\_createfx::createexploderex("underwater_sinking_debris_runner","concrete_chunk_sinking"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34200.2,76271.5,206.621),(270,356.82,105.179)); + var_00.v["delay"] = -0.5; + var_00 = common_scripts\_createfx::createexploderex("underwater_sinking_debris_runner","concrete_chunk_sinking"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33858.3,76990.7,178.174),(270,356.82,105.179)); + var_00.v["delay"] = -2; + var_00 = common_scripts\_createfx::createexploderex("underwater_sinking_debris_runner","concrete_chunk_sinking"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33970.6,76798.6,-82.3438),(270,356.82,105.179)); + var_00.v["delay"] = -1; + var_00 = common_scripts\_createfx::createexploderex("underwater_sinking_debris_runner","concrete_chunk_sinking"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33607.7,76833.5,-620.645),(270,356.82,105.179)); + var_00.v["delay"] = -2; + var_00 = common_scripts\_createfx::createexploderex("underwater_sinking_debris_runner","concrete_chunk_sinking"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33635.4,76202.2,-539.899),(270,356.82,105.179)); + var_00.v["delay"] = -1; + var_00 = common_scripts\_createfx::createexploderex("underwater_sinking_debris_runner","concrete_chunk_sinking"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33381.4,76587.7,-773.45),(270,356.82,105.179)); + var_00.v["delay"] = -3; + var_00 = common_scripts\_createfx::createexploderex("underwater_sinking_debris_runner","concrete_chunk_sinking_rescue"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34625.4,74313.5,-541.031),(270,356.82,105.179)); + var_00.v["delay"] = -0.5; + var_00 = common_scripts\_createfx::createexploderex("underwater_sinking_debris_runner","concrete_chunk_sinking_rescue"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34586.8,73947.6,-581.654),(270,356.82,105.179)); + var_00.v["delay"] = -1; + var_00 = common_scripts\_createfx::createexploderex("underwater_sinking_debris_runner","concrete_chunk_sinking_rescue"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34410.5,74158.6,-872.855),(270,356.82,105.179)); + var_00.v["delay"] = -2; + var_00 = common_scripts\_createfx::createexploderex("lag_underwater_bubble_ring_lp","water_bubble_ring"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33651.1,76600.1,-1689.95),(270,0,0)); + var_00.v["delay"] = -0.5; + var_00 = common_scripts\_createfx::createexploderex("lag_underwater_bubble_ring_lp","water_bubble_ring"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33625.5,76522,-796.307),(270,0,0)); + var_00.v["delay"] = -0.5; + var_00 = common_scripts\_createfx::createexploderex("lag_underwater_bubble_ring_lp","water_bubble_ring"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33713.2,76566.8,-404.002),(270,0,0)); + var_00.v["delay"] = -0.75; + var_00 = common_scripts\_createfx::createexploderex("lag_underwater_bubble_ring_lp","water_bubble_ring_rescue"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34615,74438.3,-1615.35),(270,0,0)); + var_00.v["delay"] = -1; + var_00 = common_scripts\_createfx::createexploderex("lag_underwater_bubble_ring_lp","water_bubble_ring_rescue"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34607.9,74808.3,-1100.19),(270,0,0)); + var_00.v["delay"] = -2; + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-28589.4,-16064.3,507.448),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-28278,-15986.3,509.431),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-28009,-15909.5,511.455),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-27649,-15792.6,511.398),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-27305.9,-15671.5,513.32),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-26995,-15546.6,513.479),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-26683.2,-15418.4,515.47),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-26377.9,-15283.2,515.371),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-26075.8,-15142.5,515.325),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-25767.4,-14993.1,517.33),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-25367.7,-14786.3,517.227),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-25045.1,-14609.3,519.514),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-24756.8,-14448.3,519.313),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-24523.3,-14308.2,519.466),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-24241.9,-14139.3,521.491),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-23947.7,-13951.6,521.574),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-23644.6,-13752.9,521.501),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-23322.8,-13534.5,523.386),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-28543.7,-15245.6,516.382),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-28292.3,-15189,516.225),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-28003.2,-15112.9,518.175),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-27634,-14996.5,520.37),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-27286.4,-14872.5,520.476),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-26989.4,-14751.7,522.285),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-26701.3,-14626.5,522.187),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-26431.7,-14503.4,524.291),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-26132.2,-14357,526.21),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-25775.5,-14175.6,526.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-25432.9,-13985.5,526.319),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-25081.5,-13780.5,528.157),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-24823.3,-13623.8,528.275),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-24515.3,-13428.8,528.192),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-24248.4,-13251,527.953),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-23044.7,-13331.2,523.713),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22814.4,-13164.8,523.458),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22530.7,-12948.4,523.271),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22285.8,-12754.5,523.189),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22087.8,-12584.5,523.435),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21881.2,-12403,523.397),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21677.7,-12218,523.223),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-23930.1,-13033.7,528.293),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-23638.4,-12822.9,530.297),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-23376.8,-12626.3,528.245),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-23092.3,-12404.7,530.318),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22828.9,-12186.9,530.465),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22621.3,-12007.1,530.175),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22424.8,-11830.6,530.191),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22238.1,-11655.9,530.348),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19688.2,-10226,523.417),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19504.9,-10045.7,523.192),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19325.1,-9863.14,523.397),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19144.3,-9682.83,523.348),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18965.4,-9502.82,523.432),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18780.9,-9322.03,523.167),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18602.9,-9140.71,523.41),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18423.4,-8959.84,523.509),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18238.5,-8780.71,523.074),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18062.4,-8599.99,523.417),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18617.8,-8035.28,532.322),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18794.6,-8216.19,532.629),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18980.1,-8399.83,532.479),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19158.4,-8578.03,532.476),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19344.4,-8760.16,532.192),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19521.5,-8939.81,532.381),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19702.7,-9121.58,532.428),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19884.3,-9300.6,532.224),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20064.9,-9480.57,532.177),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare","12000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20243.4,-9662.77,532.462),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("leaves_falling_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-39264.2,-15460.8,639.626),(279.12,40.2627,-148.623)); + var_00 = common_scripts\_createfx::createexploderex("leaves_falling_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-39648.4,-14668.3,611.922),(295.107,89.3383,-137.621)); + var_00 = common_scripts\_createfx::createexploderex("leaves_falling_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-32500.6,-16573.9,656.064),(283.565,67.584,-171.393)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_trash_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-32877.9,-16016.9,166),(287.06,20.8704,68.9709)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_trash_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33613.1,-15930.7,166),(280.439,16.6934,85.2525)); + var_00 = common_scripts\_createfx::createexploderex("trash_tornado_s_runner","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33715.7,-15834.3,166),(274.999,36.9159,53.1879)); + var_00 = common_scripts\_createfx::createexploderex("trash_tornado_s_runner","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33064.4,-16237.6,166),(274.999,36.9159,53.1879)); + var_00 = common_scripts\_createfx::createexploderex("trash_tornado_s_runner","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-32314.8,-15918.7,181),(274.999,36.9138,86.1889)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_trash_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-35123.1,-15915.9,166),(287.852,15.2469,66.9586)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_trash_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-35435.6,-15790.7,166),(297.327,6.73264,95.8483)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_trash_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33230.9,-15926.5,166),(287.852,15.2465,98.9583)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_leaves_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-32005.8,-15904.5,160),(288.242,187.368,-85.7239)); + var_00 = common_scripts\_createfx::createexploderex("leaves_falling_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-31872.9,-16522.9,637.225),(282.556,85.3486,-116.67)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_trash_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34341.9,-15874.1,166),(284.488,9.05533,87.7618)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_leaves_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-32796.2,-15936.3,166),(288.851,15.3518,85.8576)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_leaves_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34004.2,-15962.1,166),(288.851,15.3518,85.8576)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_leaves_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34659.9,-15947,280.104),(288.851,15.3518,85.8576)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_leaves_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-37720.6,-15291.1,166),(288.851,15.3518,85.8576)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_trash_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-38378.7,-14899.7,166),(277.302,33.2907,32.3261)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_trash_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-40021.5,-13896.9,166),(277.302,33.2907,32.3261)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_trash_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-39368.7,-14312.2,166),(277.302,33.2907,32.3261)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_leaves_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-35324.9,-15983.3,166),(288.851,15.3518,85.8576)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_leaves_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-37628.3,-15089.3,166),(288.851,15.3518,85.8576)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_leaves_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-38279.4,-14796.1,166),(288.851,15.3518,85.8576)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_leaves_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-39537.7,-14050.5,166),(288.851,15.3518,85.8576)); + var_00 = common_scripts\_createfx::createexploderex("paper_windblown_slw_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43814.5,-4691.58,169),(284.466,87.6267,80.2493)); + var_00 = common_scripts\_createfx::createexploderex("leaves_windblown_slw_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43436.1,-8572.15,164.393),(272.611,353.353,-169.632)); + var_00 = common_scripts\_createfx::createexploderex("paper_windblown_slw_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-39541.3,-13963.4,167.405),(272.611,353.353,-117.632)); + var_00 = common_scripts\_createfx::createexploderex("trash_wind_vf","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-35194.2,-15679.6,166),(272.611,353.353,-96.6317)); + var_00 = common_scripts\_createfx::createexploderex("paper_windblown_slw_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34866.1,-15691.8,168),(272.611,353.353,-92.6319)); + var_00 = common_scripts\_createfx::createexploderex("trash_wind_vf","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33377.8,-15794,166),(272.611,353.353,-82.6318)); + var_00 = common_scripts\_createfx::createexploderex("leaves_windblown_slw_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-32785.8,-15757.4,166),(272.611,353.353,-85.6318)); + var_00 = common_scripts\_createfx::createexploderex("paper_windblown_slw_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43829.8,-5559.48,176),(276.484,61.0744,107.784)); + var_00 = common_scripts\_createfx::createexploderex("paper_windblown_slw_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43748.2,-7093.25,166),(282.246,71.8397,100.144)); + var_00 = common_scripts\_createfx::createexploderex("leaves_windblown_slw_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43630.7,-7732.93,177),(281.931,78.0598,94.7958)); + var_00 = common_scripts\_createfx::createexploderex("paper_windblown_slw_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-41823.1,-11796.4,166),(284.722,108.266,96.7337)); + var_00 = common_scripts\_createfx::createexploderex("paper_windblown_slw_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-42817.6,-10148.9,176.028),(284.722,108.265,75.7342)); + var_00 = common_scripts\_createfx::createexploderex("paper_windblown_slw_constant","11000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43191.4,-9202.34,166),(284.722,108.265,75.7342)); + var_00 = common_scripts\_createfx::createexploderex("lag_underwater_sun_flare","godray_rescue_gideon"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34624,74585,-14),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("hostage_room_flare","4023"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51949.6,9144.49,579.34),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("hostage_room_flare","4023"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52058.6,9144.02,576.844),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("hostage_room_flare","4023"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52147.4,9144.54,576.841),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("water_impact_lrg","water_splash_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33456.1,76663.7,419.99),(270,0,-14.0002)); + var_00 = common_scripts\_createfx::createexploderex("debris_falling_splashes_area","water_debris_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33466.4,76528.2,407.424),(270,0,-14.0002)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_base","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49026.5,4844.84,187.695),(270,0,150.999)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_base","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49139.1,4795.83,200.101),(270,3.57633,131.422)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("fire_lp_xs_base","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49079.4,4777.49,186.49),(270,0,150.999)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49227.9,14910.4,407.593),(270,0,9.99864)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf6189_989"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46420,676,443),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf6189_989"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46421,676,420),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf6189_989"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46412,639,496),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("paris_fruit_cart","pf6189_989"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46420,676,416),(0,270,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf6189_989"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46420,676,443),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf6189_989"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46421,676,420),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf6189_989"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46412,639,496),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("paris_fruit_cart","pf6189_989"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46420,676,416),(0,270,0)); + var_00 = common_scripts\_createfx::createexploderex("light_ramp_godray_hazy_1_angled","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52136,11762.1,426),(5.38961,93.74,20.0439)); + var_00.v["delay"] = -10; + var_00 = common_scripts\_createfx::createexploderex("No FX","pf6189_989"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46420,676,443),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf6189_989"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46421,676,420),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf6189_989"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46412,639,496),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("paris_fruit_cart","pf6189_989"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46420,676,416),(0,270,0)); + var_00 = common_scripts\_createfx::createexploderex("leaves_small_fall_gentlewind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48678.7,3675.88,406.725),(270,180,70.9996)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("ambient_rolling_ground_leaves_fast_runner","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47959.8,3582.97,242.549),(270,0,77.9977)); + var_00 = common_scripts\_createfx::createexploderex("leaves_small_fall_gentlewind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48819,3810.18,391.748),(274.242,296.049,-79.9722)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("leaves_small_fall_gentlewind","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49007.7,5353.62,396.781),(270,180,70.9996)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49011.4,4515.73,168),(270,0,150.999)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49133.6,3810.05,168.593),(270,0,150.999)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("low_dust_ambient_lp","7000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48556,3564.58,179.405),(270,0,150.999)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("balcony_fire_lg","6010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51662.5,4443.28,199.323),(317,177.999,-125)); + var_00 = common_scripts\_createfx::createexploderex("bubble_long_trail_slw_med","water_bubble_columns"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33962.3,75984.6,217.793),(279.02,224.708,154.459)); + var_00 = common_scripts\_createfx::createexploderex("bubble_long_trail_slw_med","water_bubble_columns"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34627.8,76388,368),(274.808,240.229,90.7645)); + var_00 = common_scripts\_createfx::createexploderex("lag_tkdown_truck_underwater_splash","underwater_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34020.2,76561.7,204.543),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("insects_flies_landing","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51643,10103.8,173.188),(270,0,-144)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("amb_dust_indoor_slw_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51522.4,10780.2,199),(270,0,93.9995)); + var_00.v["delay"] = -15; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_bigben2_fx.gsc b/AW/PC/maps/createfx/mp_bigben2_fx.gsc new file mode 100644 index 0000000..32c44cf --- /dev/null +++ b/AW/PC/maps/createfx/mp_bigben2_fx.gsc @@ -0,0 +1,3930 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_bigben2_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 281 ms + * Timestamp: 4/22/2024 2:07:32 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5324.99,4442.32,448.245),(270,0,0)); + var_00.v["soundalias"] = "rain_med_tarp_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2912.29,2490.28,429.841),(270,0,0)); + var_00.v["soundalias"] = "rain_med_tarp_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5056.16,2732.42,626.266),(270,0,0)); + var_00.v["soundalias"] = "rain_med_tarp_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4840.19,3214.71,629.965),(270,0,0)); + var_00.v["soundalias"] = "rain_med_tarp_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4395.06,3106.31,622.911),(270,0,0)); + var_00.v["soundalias"] = "rain_med_tarp_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4637.89,3793.76,622.433),(270,0,0)); + var_00.v["soundalias"] = "rain_med_tarp_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4923.09,3696.52,605.864),(270,0,0)); + var_00.v["soundalias"] = "rain_med_tarp_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5252.96,2408.16,355.061),(270,0,0)); + var_00.v["soundalias"] = "rain_med_spray_puddle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4995.05,4564.47,291.482),(270,0,0)); + var_00.v["soundalias"] = "rain_med_spray_puddle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4066.13,4349.58,352.231),(270,0,0)); + var_00.v["soundalias"] = "rain_med_spray_puddle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5968.17,3265.87,142.125),(270,0,0)); + var_00.v["soundalias"] = "rain_med_spray_puddle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5815.93,3279.39,401.278),(270,0,0)); + var_00.v["soundalias"] = "rain_on_glass_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6382.46,3143.67,319.499),(270,0,0)); + var_00.v["soundalias"] = "rain_on_glass_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6366.73,3422.08,319.907),(270,0,0)); + var_00.v["soundalias"] = "rain_on_glass_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6179.75,3430.45,318.388),(270,0,0)); + var_00.v["soundalias"] = "rain_on_glass_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6203.81,3164.32,319.543),(270,0,0)); + var_00.v["soundalias"] = "rain_on_glass_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5165.34,4451.57,426.791),(270,0,0)); + var_00.v["soundalias"] = "rain_on_glass_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5111.81,4447.49,548.946),(270,0,0)); + var_00.v["soundalias"] = "rain_on_glass_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4804.22,4290.35,539.864),(270,0,0)); + var_00.v["soundalias"] = "rain_on_glass_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4801.29,4477.58,544.503),(270,0,0)); + var_00.v["soundalias"] = "rain_on_glass_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4040.1,5448.39,690),(270,0,0)); + var_00.v["soundalias"] = "rain_on_glass_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4790.03,4715.6,447.468),(270,0,0)); + var_00.v["soundalias"] = "rain_on_glass_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2984.36,4477.16,557.28),(270,0,0)); + var_00.v["soundalias"] = "rain_on_glass_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2527.31,4474.6,557.543),(270,0,0)); + var_00.v["soundalias"] = "rain_on_glass_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2930.29,3499.65,452.04),(270,0,0)); + var_00.v["soundalias"] = "rain_on_glass_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2931.35,3362.38,451.543),(270,0,0)); + var_00.v["soundalias"] = "rain_on_glass_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2912.48,2442.04,551.874),(270,0,0)); + var_00.v["soundalias"] = "rain_on_glass_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3031.61,2423.78,548.548),(270,0,0)); + var_00.v["soundalias"] = "rain_on_glass_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5406.17,2103.49,417.125),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_busy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6348.25,2517.25,142.125),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_busy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6351.3,3967.45,142.125),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_busy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5870.46,3200.72,113.125),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_busy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5243.49,4712.45,142.125),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_busy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4248.46,4532.89,142.125),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_busy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3632.41,4495.64,142.125),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_busy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2505.95,4696.71,142.125),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_busy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1442.25,4108.22,142.125),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_busy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1170.55,2928.53,142.125),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_busy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1908.66,2403.22,142.125),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_busy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2746.58,2275.08,388.125),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_busy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3908.49,1960.51,332.125),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_busy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4955.93,1995.13,442.125),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_busy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4601.64,5732.6,416),(270,0,0)); + var_00.v["soundalias"] = "rain_med_spray_puddle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5327.14,4497.42,380.692),(270,0,0)); + var_00.v["soundalias"] = "rain_med_spray_puddle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4765.91,4530.9,381.39),(270,0,0)); + var_00.v["soundalias"] = "rain_med_spray_puddle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5468.66,3250.58,359.424),(270,0,0)); + var_00.v["soundalias"] = "rain_med_spray_puddle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4438.06,2107.88,383.243),(270,0,0)); + var_00.v["soundalias"] = "rain_med_spray_puddle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2960.2,2391,362.966),(270,0,0)); + var_00.v["soundalias"] = "rain_med_spray_puddle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1327.68,3061.84,253.894),(270,0,0)); + var_00.v["soundalias"] = "rain_med_spray_puddle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4815.71,4275.69,372.371),(270,0,0)); + var_00.v["soundalias"] = "rain_med_spray_puddle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3661.1,4385.95,356.125),(270,0,0)); + var_00.v["soundalias"] = "rain_med_spray_puddle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4780.99,4806.28,407.674),(270,0,0)); + var_00.v["soundalias"] = "rain_med_spray_puddle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6300.44,3194.8,188.125),(270,0,0)); + var_00.v["soundalias"] = "rain_med_spray_puddle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6041.32,3697.14,142.125),(270,0,0)); + var_00.v["soundalias"] = "rain_med_spray_puddle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3349.15,4487.18,365.758),(270,0,0)); + var_00.v["soundalias"] = "rain_med_spray_puddle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3346.83,4874.51,425.072),(270,0,0)); + var_00.v["soundalias"] = "rain_med_spray_puddle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2576.6,4523.67,372.969),(270,0,0)); + var_00.v["soundalias"] = "rain_med_spray_puddle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2937.87,4537.59,356.125),(270,0,0)); + var_00.v["soundalias"] = "rain_med_spray_puddle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2884.57,3393.76,362.909),(270,0,0)); + var_00.v["soundalias"] = "rain_med_spray_puddle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2999.23,2893.69,449.077),(270,0,0)); + var_00.v["soundalias"] = "rain_med_metal_hollow_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3077.09,2657.96,437.469),(270,0,0)); + var_00.v["soundalias"] = "rain_med_metal_hollow_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2084.81,3853.33,528.657),(270,0,0)); + var_00.v["soundalias"] = "rain_med_metal_hollow_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1499.18,3283.8,327.588),(270,0,0)); + var_00.v["soundalias"] = "rain_med_metal_hollow_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2094.17,2720.43,585.875),(270,0,0)); + var_00.v["soundalias"] = "rain_med_metal_hollow_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5851.62,3875.33,550.625),(270,0,0)); + var_00.v["soundalias"] = "rain_med_metal_hollow_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5865.17,2704.44,550.625),(270,0,0)); + var_00.v["soundalias"] = "rain_med_metal_hollow_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3741.23,3969.13,548.688),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_water_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3983.8,3971.19,516.875),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_water_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5046.51,4154.74,353.125),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_water_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3133.89,4123,500.875),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_water_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3811.39,3567.58,653.201),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_water_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3997.63,2664.35,609.086),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_water_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4578.71,2573.61,391.555),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_water_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3894.39,4270.35,549.297),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_water_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5064.17,4090.91,496.296),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4883.59,4118.68,496.323),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4563.57,4154.47,496.288),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4195.42,4161.23,496.323),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3511.73,4150.91,496.322),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3290.21,4143.64,496.309),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2905.4,4118.65,496.288),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3712.51,3043.94,697.768),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3780.66,3496.95,699.439),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3848.33,3493.51,699.904),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5081.65,2573.41,475.819),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4918.27,2351.02,482.887),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4622.6,2119.43,478.395),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4557.86,2482.29,474.536),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4203.23,2118.88,477.892),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3792.04,2522.5,483.045),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4113.28,3529.47,705.666),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4182.63,3525.37,707.114),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4179.21,3145.02,708.343),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4009.61,3009.86,701.919),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3944.82,3020.82,705.372),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4413.4,5477.33,544.677),(270,0,0)); + var_00.v["soundalias"] = "rain_on_glass_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3703.24,5467.42,547.136),(270,0,0)); + var_00.v["soundalias"] = "rain_on_glass_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4043.28,5032.13,586),(270,0,0)); + var_00.v["soundalias"] = "rain_on_glass_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5192.05,5689.7,595.232),(270,0,0)); + var_00.v["soundalias"] = "rain_on_glass_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2868.24,5713.22,594.624),(270,0,0)); + var_00.v["soundalias"] = "rain_on_glass_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5195.22,5702.48,432.719),(270,0,0)); + var_00.v["soundalias"] = "rain_on_glass_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4506.45,2128.76,481.743),(39.0939,90,0)); + var_00.v["soundalias"] = "emt_drips_int_metal_cover_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4470.5,2410.14,407.867),(0,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2387.56,3393.23,506.244),(270,0,0)); + var_00.v["soundalias"] = "rain_med_plastic_hollow_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2391.65,3144.6,506.244),(270,0,0)); + var_00.v["soundalias"] = "rain_med_plastic_hollow_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2657.77,2597.04,353.125),(270,0,0)); + var_00.v["soundalias"] = "rain_med_plastic_hollow_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5472.78,3266.3,427.593),(0,269,0)); + var_00.v["soundalias"] = "rain_med_metal_hollow_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4459.73,3777.55,551.5),(270,0,0)); + var_00.v["soundalias"] = "rain_med_metal_hollow_lp"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5319.72,2522.1,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5485.91,2579.54,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5433.27,2800.15,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5933.08,2974.7,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5649.45,2988.17,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5414.7,3085.81,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5929.41,3274.23,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5934.03,3594.17,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5712.38,3523.41,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5683.31,3286.33,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5447.3,3499.99,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5450.31,3752.23,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5449.06,4014.91,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5236.41,4030.59,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5061.33,3861.33,552.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5058.84,3579.92,552.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5089.56,3303.56,552.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5099.71,3051.96,552.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5146.45,2768.15,552.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4836.24,2908.04,552.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4698.65,2786.12,552.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4790.31,3512.37,554.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4343.91,3660.77,552.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4515.19,3349.57,552.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4539,3528.52,553.344),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4892.7,2641.77,552.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4667.9,3096.77,554.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4296.46,2879.82,552.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4698.5,3711.59,552.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5256.95,3570.16,552.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5257.22,3382.67,552.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5259.57,3194.49,552.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5262.4,3004.02,552.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_200x200_no_distort"); + var_00 common_scripts\_createfx::set_origin_and_angles((5196.85,4363.88,363.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_200x200_no_distort"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_200x200_no_distort"); + var_00 common_scripts\_createfx::set_origin_and_angles((5461.64,4398.37,359.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_200x200_no_distort"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_200x200_no_distort"); + var_00 common_scripts\_createfx::set_origin_and_angles((4930.42,4414.1,362.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_200x200_no_distort"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4873.34,4688.5,374.57),(276.903,288.214,85.1522)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_200x200_no_distort"); + var_00 common_scripts\_createfx::set_origin_and_angles((4821.02,4922.09,408.571),(279.262,275.262,101.014)); + var_00.v["fxid"] = "mp_bigb_rain_splash_200x200_no_distort"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4774.35,5168.09,416.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4359.27,5273.38,416.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4833.95,5688.84,416.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4492.12,5732.54,416.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4231.43,4907.06,352.125),(271,90,-90)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3828.67,4946.07,352.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4039.63,4825.49,352.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4161.08,5763.3,416.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3701.33,5727.15,416.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3362.54,5735.87,416.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3355.33,5160.86,416.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4024.78,5246.42,416.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3724.36,5269.47,416.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3529.58,5456.17,416.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4861.63,5436.88,416.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4554.18,5446.5,416.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3213.51,5440.99,416.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_200x200_no_distort"); + var_00 common_scripts\_createfx::set_origin_and_angles((3256.65,4899.36,408.561),(278.602,263.9,82.2719)); + var_00.v["fxid"] = "mp_bigb_rain_splash_200x200_no_distort"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3190,4681.6,372.561),(277.613,264.915,113.268)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_200x200_no_distort"); + var_00 common_scripts\_createfx::set_origin_and_angles((3139.73,4383.25,359.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_200x200_no_distort"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_200x200_no_distort"); + var_00 common_scripts\_createfx::set_origin_and_angles((2616.75,4381.98,357.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_200x200_no_distort"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_200x200_no_distort"); + var_00 common_scripts\_createfx::set_origin_and_angles((2896.91,4374.77,358.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_200x200_no_distort"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2283.14,3893.69,462.7),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2279.61,2672.85,462.7),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2360.33,3158.12,504.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2368.82,3386.77,504.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3483.37,2679.16,552.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2655.42,4129.51,361.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2581.73,3914.73,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2937.27,3974.67,552.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3640.13,3416.76,552.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3642.61,3155.45,552.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3431.12,2444.77,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3193.76,2488.73,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2602.72,2559.39,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2714.9,3689.77,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2966.16,3658,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3243.26,3494.58,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3362.52,3232.31,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3322.44,2898.95,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5707.53,3991.71,544.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2886.69,2604.03,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2590.45,2815.04,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2821.58,2942.42,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3024.06,3205.94,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2653.53,3198.21,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2640.67,3442.58,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2093,3579.19,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1761.14,3515.74,224.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1735.09,3022.54,224.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1476.04,3050.08,224.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2017.9,2991.59,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2167.04,3269.28,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1988.66,3265.26,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5867.35,2785.17,544.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5691.26,2563.19,544.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5698.16,3813.57,544.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5861.6,2569.33,544.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5877.57,3775.71,544.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5876.08,3975.2,544.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_close"); + var_00 common_scripts\_createfx::set_origin_and_angles((2701.98,2734.44,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_close"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_close"); + var_00 common_scripts\_createfx::set_origin_and_angles((2619.28,3702.1,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_close"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_close"); + var_00 common_scripts\_createfx::set_origin_and_angles((1608.53,2950.31,224.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_close"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_close"); + var_00 common_scripts\_createfx::set_origin_and_angles((1614.46,3754.02,224.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_close"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_close"); + var_00 common_scripts\_createfx::set_origin_and_angles((3214.91,4850.07,400.404),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_close"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_close"); + var_00 common_scripts\_createfx::set_origin_and_angles((3714.5,5753.47,416.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_close"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_close"); + var_00 common_scripts\_createfx::set_origin_and_angles((4917.07,5635.13,416.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_close"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_close"); + var_00 common_scripts\_createfx::set_origin_and_angles((3975.16,4793.8,352.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_close"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_close"); + var_00 common_scripts\_createfx::set_origin_and_angles((4849.11,4824.8,385.123),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_close"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_close"); + var_00 common_scripts\_createfx::set_origin_and_angles((3045.77,2557.58,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_close"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_close"); + var_00 common_scripts\_createfx::set_origin_and_angles((3104.45,3537.26,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_close"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_close"); + var_00 common_scripts\_createfx::set_origin_and_angles((5544.41,4466.39,356.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_close"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_close"); + var_00 common_scripts\_createfx::set_origin_and_angles((5828.94,3517.3,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_close"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_close"); + var_00 common_scripts\_createfx::set_origin_and_angles((4763.52,3052.33,552.825),(270,0,168)); + var_00.v["fxid"] = "mp_bigb_rain_volume_close"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_close"); + var_00 common_scripts\_createfx::set_origin_and_angles((4749.38,3404.5,552.825),(270,0,168)); + var_00.v["fxid"] = "mp_bigb_rain_volume_close"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4249.98,3218.96,552.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4245.83,3413.38,552.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_close"); + var_00 common_scripts\_createfx::set_origin_and_angles((6486.01,3704.07,224.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_close"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_close"); + var_00 common_scripts\_createfx::set_origin_and_angles((6397.74,2925.76,224.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_close"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3731.46,4306.86,354.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3864.98,4326.58,354.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4005.99,4326.05,354.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_close"); + var_00 common_scripts\_createfx::set_origin_and_angles((2904.16,5781.94,464.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_close"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_close"); + var_00 common_scripts\_createfx::set_origin_and_angles((2440.42,4422.22,356),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_close"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_close"); + var_00 common_scripts\_createfx::set_origin_and_angles((3573.7,1468.2,152.19),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_close"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_close"); + var_00 common_scripts\_createfx::set_origin_and_angles((4422.23,1565.57,208.03),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_close"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_close"); + var_00 common_scripts\_createfx::set_origin_and_angles((5527.01,1833.95,148),(270,0,-3)); + var_00.v["fxid"] = "mp_bigb_rain_volume_close"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((5522.98,8648.18,1144.6),(283.15,119.596,-98.8236)); + var_00.v["fxid"] = "fire_lp_m_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_vista_lp_lrg_blacksmk_thick"); + var_00 common_scripts\_createfx::set_origin_and_angles((3102.73,-3488.82,1815.84),(270,180,-58)); + var_00.v["fxid"] = "fire_vista_lp_lrg_blacksmk_thick"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("smoke_pillar_black_medium_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2818.13,9754.87,1938.42),(337.004,181.086,179.558)); + var_00.v["fxid"] = "smoke_pillar_black_medium_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoke_pillar_black_medium_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17336.2,-6290.48,1475.56),(332.317,199.968,157.692)); + var_00.v["fxid"] = "smoke_pillar_black_medium_slow"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((782.25,7190.17,1200.16),(325.059,158.304,3.08959)); + var_00.v["fxid"] = "fire_lp_m_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_vista_lp_lrg_blacksmk_thick"); + var_00 common_scripts\_createfx::set_origin_and_angles((10154.2,7441.57,1481.13),(271.189,332.433,96.8954)); + var_00.v["fxid"] = "fire_vista_lp_lrg_blacksmk_thick"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1728.63,3822.32,233.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2242.1,2928.84,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2381.83,2947.12,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2282.81,3626.08,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2418.11,3627.44,352.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3898.32,5755.2,416.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((6830.02,604.697,517.465),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_far"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((8080.87,2283.45,504.553),(271,90,-90)); + var_00.v["fxid"] = "mp_bigb_rain_volume_far"; + var_00.v["delay"] = -10; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((7287.01,1910.06,548),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_far"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((6679.91,4737.49,690.317),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_far"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((6369.37,6181.26,803.472),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_far"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((5157.42,6728.86,1110.4),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_far"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((3507.6,6538.35,623.934),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_far"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((2039.62,6556.61,1036.22),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_far"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((576.091,6122.92,1133.13),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_far"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((267.423,4236.06,688.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_far"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((-709.69,1787.11,688.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_far"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((2745.28,591.819,597.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_far"; + var_00.v["delay"] = -10; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((-941.128,3102.75,832.694),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_far"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((951.339,1729.48,495.051),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_far"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((1600.72,4741.7,594.132),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_far"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((636.236,3171.65,448.16),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_far"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((3719.68,871.738,657.462),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_far"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((3761.66,6597.02,1222.56),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_far"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((2609.18,5448.35,634.674),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_far"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((1836.56,902.362,579.736),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_far"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((5251.48,888.193,615.799),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_far"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((8647.25,3176.56,639.221),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_far"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((8053.06,4593.58,504.166),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_far"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((4336.94,-451.563,539.167),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_far"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((5401.42,4154.18,139),(359.149,340.446,0.451564)); + var_00.v["fxid"] = "mp_bigb_water_displacement_patch"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((1909.85,4004.75,133),(0.455251,20.483,1.39805)); + var_00.v["fxid"] = "mp_bigb_water_displacement_patch"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((5952.41,3455.32,125),(358.857,89.4675,-1.07398)); + var_00.v["fxid"] = "mp_bigb_water_displacement_patch"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((163.882,3806.08,152.433),(359.846,0.472409,0.885193)); + var_00.v["fxid"] = "mp_bigb_water_displacement_patch"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((175.644,780.744,128.565),(0.732977,357.542,-2.20785)); + var_00.v["fxid"] = "mp_bigb_water_displacement_patch"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((2450.64,5544.32,138),(359.846,0.472409,0.885193)); + var_00.v["fxid"] = "mp_bigb_water_displacement_patch"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((5622.53,5559.67,141),(359.846,0.472409,0.885193)); + var_00.v["fxid"] = "mp_bigb_water_displacement_patch"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((5649.58,8756.29,1136.4),(283.15,119.596,-98.8236)); + var_00.v["fxid"] = "fire_lp_m_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((5762.67,8642.01,1171.49),(283.15,119.596,-98.8236)); + var_00.v["fxid"] = "fire_lp_m_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splat_on_lens_sml_rnr_night"); + var_00 common_scripts\_createfx::set_origin_and_angles((2768.5,3135.22,352.825),(270,0,0)); + var_00.v["fxid"] = "rain_splat_on_lens_sml_rnr_night"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((5558.41,4543,347.162),(0,88,2)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((5368.15,4544.13,352.435),(0,88,2)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((5009.79,4613.37,361.099),(358.021,10.0035,9.79156)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((4732.56,4637.76,366.869),(355.533,193.119,-7.11026)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_water_exterior"); + var_00 common_scripts\_createfx::set_origin_and_angles((4220.68,2103.87,496.575),(272.02,106.521,-14.1067)); + var_00.v["fxid"] = "mp_bigb_falling_water_exterior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2901.64,2445.23,539.35),(270,180,171)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3301.23,4322.26,540.361),(270,0,90)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2988.93,2430.91,548.684),(271,269.999,82.0011)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2936.98,4481.94,540.984),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2849.41,4480.33,549.65),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2625.83,4476.39,549.483),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2535.47,4476.24,540.817),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4739.64,4801.13,476.672),(279.283,272.665,-168.515)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4758.64,4707.72,470.992),(279.071,285.903,179.826)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((3524,3416.13,537.134),(358.325,174.459,1.25192)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((3524.01,3269.72,533.113),(358.325,174.459,1.25192)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((3521.7,3137.25,534.669),(358.325,174.459,1.25192)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((1899.21,3622.84,345.36),(336.435,173.956,3.51334)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((1901.33,3343.48,341.631),(336.327,176.135,2.63981)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((1895.12,3202.89,343.938),(336.435,173.956,3.51334)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((1900,2951.3,345.341),(336.435,173.956,3.51334)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((2350.71,3540.83,498.599),(350.223,85.5554,-0.307977)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((2346.81,2988.28,470.215),(355.824,270.576,-0.294559)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((2479.85,3146.28,472.647),(358.325,174.459,1.25192)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_water_exterior_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((4406.42,2106.41,475.273),(275.011,100.054,-12.6422)); + var_00.v["fxid"] = "mp_bigb_falling_water_exterior_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((2408.13,2562.69,466.178),(23.1926,180.475,2.51134)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((2409.73,3808.61,466.985),(23.1926,180.475,2.51134)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((1959.27,7184.09,1388.21),(323.907,223.339,-10.8557)); + var_00.v["fxid"] = "fire_lp_m_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_falling_runner_point_infrequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((1969.73,6999.33,1430.23),(270,0,0)); + var_00.v["fxid"] = "fire_falling_runner_point_infrequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5133.57,2628.36,650.517),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4675.4,2638.14,644.35),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4763.91,2636.33,633.684),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4671.63,3841.4,645.016),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4762.55,3838.12,635.35),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4634.94,3924.8,634.016),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4723.84,3920.74,645.35),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((6343.66,3412.85,302.35),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((6355.1,3156.22,302.35),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3317.2,4753.52,475.199),(278.118,258.11,178.172)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3294.2,4667.55,453.76),(280.107,251.861,-176.605)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5573.64,3290.06,431.35),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5476.6,3299.16,439.016),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((2634.12,4446.69,548.47),(359.965,89,2)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((2530.97,4440.62,541.286),(0,88,2)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((2931.35,4445.86,540.738),(359.965,89,2)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((2809.36,4450.28,541.555),(0,88,2)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((5316.67,3375.34,538.49),(358.325,174.459,1.25192)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((5320.46,3104,544.152),(358.325,174.459,1.25192)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((5319.79,3252.79,539.988),(358.325,174.459,1.25192)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((5577.67,2753.61,532.825),(358.325,174.459,1.25192)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((6046.33,3091.94,345.594),(358.325,174.459,1.25192)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((6054.36,2909.53,347.825),(358.325,174.459,1.25192)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((6051.49,3284.46,343.273),(358.325,174.459,1.25192)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((6053.59,3634.24,343.704),(358.325,174.459,1.25192)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((1906.59,7195.04,1462.78),(317.416,251.098,-23.508)); + var_00.v["fxid"] = "fire_lp_m_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4175.49,5484.91,576.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3907.16,5477.28,576.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4025.79,5551.54,576.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((2235.25,3377.28,488.366),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((5583.69,2845.19,527.875),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((4120.61,5159.24,546.518),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((3614.23,5558.22,511.426),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((3056.78,4619.97,363.797),(357.899,347.685,10.9092)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((3138.18,4001.08,778.799),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((3381.87,2566.42,506.175),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((3930.68,4939.91,573.113),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((4489.19,5567.7,513.897),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((2646.9,4099.05,958.013),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoke_pillar_black_medium_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((17477.8,-9504.15,1614.36),(329.914,220.89,147.777)); + var_00.v["fxid"] = "smoke_pillar_black_medium_slow"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("smoke_pillar_black_medium_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((29739.7,7146.35,2430.31),(323.961,165.855,-170.863)); + var_00.v["fxid"] = "smoke_pillar_black_medium_slow"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((8519.36,-2711.85,1269.83),(284.599,353.968,27.6038)); + var_00.v["fxid"] = "fire_lp_m_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((10707.7,744.363,299.685),(288.229,341.209,39.9675)); + var_00.v["fxid"] = "fire_lp_m_no_light"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((4053.65,4367.73,337.973),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5010.41,2910.41,652.483),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((4229.2,2930.24,956.239),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((4978.32,4082.44,489.125),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((4421.3,4103.03,491.931),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((4149.3,2478.02,484.875),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((4379.27,2293,484.875),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((3900.35,3481.89,684.123),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((4024.45,3747.11,873.5),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((4078,3703.37,871.428),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2962.01,4064.22,489.875),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((3346.32,4181.48,488.596),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((3961.19,3689.62,871),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((4035.79,3339.74,685.878),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((5740.81,3937.44,500.875),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((5680.13,2697.48,501.875),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((5819.35,2596.44,501.875),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((5797.88,2764.14,501.875),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((4783.09,2465.2,476.875),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2417.87,3470.25,458.875),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2329.2,3105.86,468),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2302.98,3279.22,464.875),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((4777.35,4217.22,499.875),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((3435.7,4113.86,488.647),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((3217.91,4181.72,486.875),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((6169.15,7696.33,838),(288.027,203.075,-93.2326)); + var_00.v["fxid"] = "fire_lp_s_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((2079.47,7126.44,1493.67),(313.594,245.604,-22.8483)); + var_00.v["fxid"] = "fire_lp_s_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((2061.61,7254.88,1322),(279.045,168.948,40.7379)); + var_00.v["fxid"] = "fire_lp_m_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1738.87,5193.06,1032),(288.614,93.956,80.0272)); + var_00.v["fxid"] = "fire_lp_m_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1724.52,5348.51,1002),(283.356,43.076,128.589)); + var_00.v["fxid"] = "fire_lp_m_no_light"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((3874.04,3223.79,707.243),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((4088.31,3172.71,684.13),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((3896.23,2959.89,693.678),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((6177.13,3993.52,338.272),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_vista_smk_stack"); + var_00 common_scripts\_createfx::set_origin_and_angles((35279.9,7655.93,1109.41),(270,0,92)); + var_00.v["fxid"] = "mp_bigb_vista_smk_stack"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_vista_smk_stack"); + var_00 common_scripts\_createfx::set_origin_and_angles((27795.3,-12948.6,2010.35),(270,0,40)); + var_00.v["fxid"] = "mp_bigb_vista_smk_stack"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_vista_smk_stack"); + var_00 common_scripts\_createfx::set_origin_and_angles((6731.06,11907.5,638.853),(270,0,177)); + var_00.v["fxid"] = "mp_bigb_vista_smk_stack"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_vista_smk_stack"); + var_00 common_scripts\_createfx::set_origin_and_angles((6460.45,-10107.7,2382.33),(270,0,177)); + var_00.v["fxid"] = "mp_bigb_vista_smk_stack"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_vista_smk_stack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5800.34,-6696.21,-604.74),(270,0,-2)); + var_00.v["fxid"] = "mp_bigb_vista_smk_stack"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((5999.34,8550.28,1180),(274.762,297.858,-119.844)); + var_00.v["fxid"] = "fire_lp_s_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((2448.6,4346.19,352.737),(0.300229,4.77496,2.08622)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((4027.15,2933.89,700.798),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((3730.67,3678.87,948.831),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_bus_headlight_flicker"); + var_00 common_scripts\_createfx::set_origin_and_angles((3837.67,5949.93,683.202),(358.378,320.261,-165.018)); + var_00.v["fxid"] = "mp_bigb_bus_headlight_flicker"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_bus_headlight_flicker"); + var_00 common_scripts\_createfx::set_origin_and_angles((3889.91,6010.76,677.759),(356.187,320.711,-165.057)); + var_00.v["fxid"] = "mp_bigb_bus_headlight_flicker"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((3336.86,4606.93,364.75),(357.899,347.685,10.9092)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner_slit"); + var_00 common_scripts\_createfx::set_origin_and_angles((3796.7,3566.88,603.431),(270,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner_slit"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_water_exterior"); + var_00 common_scripts\_createfx::set_origin_and_angles((4292.22,4251.16,255.376),(272,88,180)); + var_00.v["fxid"] = "mp_bigb_falling_water_exterior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_water_exterior"); + var_00 common_scripts\_createfx::set_origin_and_angles((4369.37,4248.75,262.125),(271,88,180)); + var_00.v["fxid"] = "mp_bigb_falling_water_exterior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_water_exterior"); + var_00 common_scripts\_createfx::set_origin_and_angles((4569.27,4253.94,271.054),(273,268,0)); + var_00.v["fxid"] = "mp_bigb_falling_water_exterior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((6256,3156.93,312.499),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoke_pillar_black_medium_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-908.186,-10492.7,876.092),(343.739,207.587,153.704)); + var_00.v["fxid"] = "smoke_pillar_black_medium_slow"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_building_smoke_debris_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((3400.29,7215.39,1695.59),(296.018,130.95,92.2801)); + var_00.v["fxid"] = "mp_bigb_building_smoke_debris_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_building_smoke_debris_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((7840.78,7089.69,1398.69),(270,180,-2)); + var_00.v["fxid"] = "mp_bigb_building_smoke_debris_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_building_smoke_debris_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((5010.49,7177.21,1708.61),(270,180,-2)); + var_00.v["fxid"] = "mp_bigb_building_smoke_debris_runner"; + var_00.v["delay"] = -12; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_building_smoke_debris_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1613.39,-2724.71,1447.93),(270,180,175)); + var_00.v["fxid"] = "mp_bigb_building_smoke_debris_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((1609.92,-2693.4,1441.95),(328.597,177.669,111.629)); + var_00.v["fxid"] = "fire_lp_s_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((676.486,1086.72,618.14),(284.059,111.068,20.0665)); + var_00.v["fxid"] = "fire_lp_s_no_light"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((247.29,1607.17,136.856),(0.354337,329.461,2.65651)); + var_00.v["fxid"] = "mp_bigb_water_displacement_patch"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((534.568,1072.03,135),(359.845,0.472369,2.88501)); + var_00.v["fxid"] = "mp_bigb_water_displacement_patch"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((662.058,3553.44,617.571),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((634.3,3202.44,579.717),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((671.915,3726.89,404.032),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_water_exterior"); + var_00 common_scripts\_createfx::set_origin_and_angles((477.026,3706.64,534.71),(271.319,129.431,50.9357)); + var_00.v["fxid"] = "mp_bigb_falling_water_exterior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_water_exterior"); + var_00 common_scripts\_createfx::set_origin_and_angles((533.824,4263.68,598.214),(271.319,129.431,50.9357)); + var_00.v["fxid"] = "mp_bigb_falling_water_exterior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_water_exterior"); + var_00 common_scripts\_createfx::set_origin_and_angles((4119.12,4243.18,238.342),(273,268,0)); + var_00.v["fxid"] = "mp_bigb_falling_water_exterior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_water_exterior"); + var_00 common_scripts\_createfx::set_origin_and_angles((3585.87,4253.13,255.338),(272,88,180)); + var_00.v["fxid"] = "mp_bigb_falling_water_exterior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_water_exterior"); + var_00 common_scripts\_createfx::set_origin_and_angles((172.404,5047.69,604.627),(271.319,129.431,50.9357)); + var_00.v["fxid"] = "mp_bigb_falling_water_exterior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_water_exterior"); + var_00 common_scripts\_createfx::set_origin_and_angles((251.681,3408.57,641.861),(271.319,129.431,50.9357)); + var_00.v["fxid"] = "mp_bigb_falling_water_exterior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_building_smoke_debris_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((6716.24,7180.85,1184.88),(270,180,-2)); + var_00.v["fxid"] = "mp_bigb_building_smoke_debris_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_building_smoke_debris_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2683.74,7116.5,1183),(270,180,-2)); + var_00.v["fxid"] = "mp_bigb_building_smoke_debris_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_fire_l_blacksmk_nonlit"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5293.11,-4598.92,3011.46),(290.464,172.662,-110.199)); + var_00.v["fxid"] = "mp_bigb_fire_l_blacksmk_nonlit"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4537.97,-4045.1,2030.65),(334.615,28.1509,167.582)); + var_00.v["fxid"] = "fire_lp_m_no_light"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((143.76,3775.02,578.953),(271.134,138.895,-55.598)); + var_00.v["fxid"] = "fire_lp_m_no_light"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((3568.76,7584.68,1325.65),(275.316,14.6809,-100.011)); + var_00.v["fxid"] = "fire_lp_s_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((7817.16,7091.34,1402.68),(336.31,271.676,9.66785)); + var_00.v["fxid"] = "fire_lp_s_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4472.26,4881.36,196),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4723.46,4891.96,196),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4603.96,4899.25,196),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((4747.5,4739.28,276.083),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((3307.04,4678.86,269.526),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((3150.66,4831.25,341.62),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((4285.34,-2446.05,903.069),(288.229,341.209,39.9675)); + var_00.v["fxid"] = "fire_lp_m_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_vista_lp_lrg_blacksmk_thick"); + var_00 common_scripts\_createfx::set_origin_and_angles((12287.7,-7533.71,5226.08),(270,180,-58)); + var_00.v["fxid"] = "fire_vista_lp_lrg_blacksmk_thick"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4519.02,-3911.85,2026.94),(334.615,28.1509,167.582)); + var_00.v["fxid"] = "fire_lp_m_no_light"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_bus_headlight_flicker"); + var_00 common_scripts\_createfx::set_origin_and_angles((172.941,-431.048,722.584),(1.01866,85.7365,172.249)); + var_00.v["fxid"] = "mp_bigb_bus_headlight_flicker"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_bus_headlight_flicker"); + var_00 common_scripts\_createfx::set_origin_and_angles((101.099,-431.387,722.906),(1.01866,85.7365,172.249)); + var_00.v["fxid"] = "mp_bigb_bus_headlight_flicker"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_small_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((4015.49,5355.89,457.148),(276,90,-90)); + var_00.v["fxid"] = "electrical_sparks_small_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((113.313,-554.36,752.29),(282.466,108.831,65.6516)); + var_00.v["fxid"] = "fire_lp_m_no_light"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((8522.09,713.087,145.125),(359.7,5.52366,3.46795)); + var_00.v["fxid"] = "mp_bigb_water_displacement_patch"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((9596.63,928.455,144.244),(0.864918,359.438,0.504042)); + var_00.v["fxid"] = "mp_bigb_water_displacement_patch"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((6868.96,5202.97,157.125),(270,180,-102)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((6001.63,5162.7,158.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((5433.8,5146.88,151.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((8250.37,789.59,152.125),(270,180,-102)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((8749.95,854.711,148.125),(270,180,-102)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((8977.49,983.037,148.125),(270,180,-102)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1006.85,2515.53,154.125),(270,180,-102)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((989.482,1107.27,154.125),(270,0,175)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((813.105,2562.68,154.125),(270,180,-102)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((18.48,2543.56,151.125),(270,180,-102)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-165.674,2614.47,149.125),(270,180,-102)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((721.071,2618.68,149.125),(270,180,-102)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((75.2998,1729.39,151.125),(270,180,-102)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((439.956,1447.16,148.125),(270,180,-102)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((803.607,1160.37,145.125),(270,180,-102)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((665.776,1231.19,151.125),(270,180,-102)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1527.17,4959.38,147.125),(270,180,-102)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2240.72,5229.72,150.125),(270,0,-103)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2168.18,5170.41,148.125),(270,0,-103)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((4962.64,5502.94,148.125),(270,0,-103)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((4961.31,5362.48,148.125),(270,0,-103)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-68.9051,2517.9,262.716),(322.113,28.9791,105.726)); + var_00.v["fxid"] = "fire_lp_s_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_building_smoke_debris_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((7256.23,7195.85,1661.7),(270,180,-2)); + var_00.v["fxid"] = "mp_bigb_building_smoke_debris_runner"; + var_00.v["delay"] = -8; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_building_smoke_debris_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((4563.65,7159.33,1443.45),(270,180,-2)); + var_00.v["fxid"] = "mp_bigb_building_smoke_debris_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((6058.43,5252.02,148.125),(270,180,-8)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((5497.23,5251.73,151.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1002.96,3906.97,154.125),(270,0,-103)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((362.463,1577.21,156.002),(270,0,-103)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_building_smoke_debris_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((3852.77,7547.6,1008.96),(270,0,128)); + var_00.v["fxid"] = "mp_bigb_building_smoke_debris_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((9316.09,7305.04,1359.19),(298.814,4.20189,143.105)); + var_00.v["fxid"] = "fire_lp_m_no_light"; + var_00.v["delay"] = -7; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((9499.41,7293.52,1373.68),(280.483,215.186,-22.0371)); + var_00.v["fxid"] = "fire_lp_m_no_light"; + var_00.v["delay"] = -9; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((9715.58,7305.99,1334.47),(316.494,329.611,130.084)); + var_00.v["fxid"] = "fire_lp_m_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33.1427,1881.99,148.125),(270,180,-102)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((665.601,583.73,151.125),(270,0,175)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((837.481,5252.21,148.251),(270,0,175)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1058.1,5272.13,146.997),(270,0,175)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1349.74,5305.19,149.716),(270,0,175)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1781.59,5322.38,148.125),(270,0,175)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((648.414,5208.25,145.125),(270,0,175)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2683.88,5512.47,152.64),(270,0,175)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1851.19,5420.46,151.944),(270,0,175)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1977.66,5533.47,148.125),(270,0,175)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2867.69,5528.2,145.125),(270,0,175)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2344.11,5535.5,147.125),(270,0,175)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((3057.68,5533.1,148.125),(270,0,175)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((8390.29,803.088,145.125),(270,180,-102)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((8603,823.265,145.125),(270,180,-102)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((9144.81,986.139,148.125),(270,180,-102)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((9357.62,991.374,146.404),(270,180,-102)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((3230.22,3107.6,435.16),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((5583.09,3721.37,521.932),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((4223.15,3175.7,690.419),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((5211.8,2581.71,538.875),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m_dark"); + var_00 common_scripts\_createfx::set_origin_and_angles((337.677,3476.24,604.018),(270,0,0)); + var_00.v["fxid"] = "battlefield_smoke_m_dark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m_dark"); + var_00 common_scripts\_createfx::set_origin_and_angles((393.362,462.848,273.206),(270,0,0)); + var_00.v["fxid"] = "battlefield_smoke_m_dark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_falling_runner_point_infrequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((65.6505,3522.54,595.398),(270,0,0)); + var_00.v["fxid"] = "fire_falling_runner_point_infrequent"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("fire_falling_runner_point_infrequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((720.132,230.453,481.083),(270,0,0)); + var_00.v["fxid"] = "fire_falling_runner_point_infrequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m_dark"); + var_00 common_scripts\_createfx::set_origin_and_angles((-80.3242,1209.37,368.68),(270,0,0)); + var_00.v["fxid"] = "battlefield_smoke_m_dark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_deck_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2722.61,3388.22,363.125),(270,0,10)); + var_00.v["fxid"] = "mp_bigb_deck_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_deck_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((3270.29,2604.27,356.125),(270,0,-10)); + var_00.v["fxid"] = "mp_bigb_deck_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_deck_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2647.14,2776.37,357.125),(270,0,-3)); + var_00.v["fxid"] = "mp_bigb_deck_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_deck_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2636.35,3989.57,362.125),(270,0,-13)); + var_00.v["fxid"] = "mp_bigb_deck_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_deck_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((3289.28,5139.31,419),(270,0,-22)); + var_00.v["fxid"] = "mp_bigb_deck_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_deck_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((4716.09,5153.23,423),(271,208.999,-166.999)); + var_00.v["fxid"] = "mp_bigb_deck_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_deck_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((5443.93,3961.8,362.125),(270,0,-5)); + var_00.v["fxid"] = "mp_bigb_deck_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_deck_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((5851.64,3474.53,358.125),(273.162,166.444,-102.418)); + var_00.v["fxid"] = "mp_bigb_deck_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_deck_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((6389.06,2888.09,228.125),(270,0,-14)); + var_00.v["fxid"] = "mp_bigb_deck_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_deck_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((6445.85,3445.14,232.125),(274,169,-180)); + var_00.v["fxid"] = "mp_bigb_deck_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_deck_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((5722.07,3092.22,359.125),(270,0,51)); + var_00.v["fxid"] = "mp_bigb_deck_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_deck_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((5110.3,3156.08,558.125),(270,0,32)); + var_00.v["fxid"] = "mp_bigb_deck_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m_dark"); + var_00 common_scripts\_createfx::set_origin_and_angles((558.502,-37.9333,631.471),(20.3027,262.909,0)); + var_00.v["fxid"] = "battlefield_smoke_m_dark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_water_exterior"); + var_00 common_scripts\_createfx::set_origin_and_angles((4604.85,2096.19,494.234),(274.231,113.065,-20.6596)); + var_00.v["fxid"] = "mp_bigb_falling_water_exterior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_water_exterior"); + var_00 common_scripts\_createfx::set_origin_and_angles((546.55,3477.44,586.046),(271.319,129.431,50.9357)); + var_00.v["fxid"] = "mp_bigb_falling_water_exterior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((477.722,3121.62,683.336),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((733.299,247.431,549.664),(337.997,231.723,93.1322)); + var_00.v["fxid"] = "fire_lp_s_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1008.98,-303.209,151),(270,0,175)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((5326.19,5532.05,151.125),(270,0,-179)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((5705,5539.07,147.125),(270,0,-179)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((6057.89,5532.68,148.125),(270,0,-179)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((6830.92,5561.08,148.536),(270,0,-179)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((7052.3,5549.21,153.125),(270,0,-179)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((7540.92,5556.25,149.504),(270,0,-179)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((9676.37,986.738,153.489),(270,0,-179)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((7079.7,-462.1,144.617),(270,0,-179)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((6862.9,-509.798,148.047),(270,0,-179)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((6627.23,-592.817,143.856),(270,0,-179)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((6016.09,4006.14,152.125),(270,0,-103)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((5771.34,4115.09,148.097),(270,0,-103)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((5481.19,4162.25,153.063),(270,0,-103)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((5166.06,4162.82,150.631),(270,0,-103)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2218.48,4111.38,150.752),(270,0,-1)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1987.22,4038.82,148.078),(270,0,-1)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1754.6,3974.07,147.677),(270,0,-1)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1432.96,3876.2,149.306),(270,0,-1)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((3562.08,4971.21,328.767),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((4625.07,4973.33,327.335),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_building_smoke_debris_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((6426.4,7154.21,1696.6),(270,180,-2)); + var_00.v["fxid"] = "mp_bigb_building_smoke_debris_runner"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((4561.34,7181.95,1407.48),(275.316,14.6801,153.99)); + var_00.v["fxid"] = "fire_lp_s_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((3696.31,2434.03,485.875),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((4143.81,2276.32,480.875),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((3899.37,2477.14,488.875),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((4643.22,2221.74,487.875),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_deck_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((3524.92,5610.99,422),(273,233,90)); + var_00.v["fxid"] = "mp_bigb_deck_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((3970.96,2710.08,457.383),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((4996.81,2668.22,417.83),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((5575.88,2428.56,529.546),(358.325,174.459,1.25192)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((5715.29,2862.02,534.507),(0,88.462,2.68762)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((5689.41,3696.47,532.5),(356.918,268.391,1.31505)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((5578.38,4128.17,535.363),(358.325,174.459,1.25192)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((5566.83,3847.79,532.084),(358.325,174.459,1.25192)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((3019.07,4449.66,469.321),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((4210.24,4333.09,765.589),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((4342.07,4325.96,773.243),(0,88.462,2.68762)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((4128.68,4331.37,779.565),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((3958.03,4337.32,773.629),(0,88.462,2.68762)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((621.046,691.907,195.78),(301.946,284.48,79.3678)); + var_00.v["fxid"] = "fire_lp_s_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_falling_runner_point_infrequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((499.618,3333.95,620.596),(270,0,0)); + var_00.v["fxid"] = "fire_falling_runner_point_infrequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((4617.66,2630.15,391.361),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((4077.73,2418.84,389.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_building_smoke_debris_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-261.643,2475.07,446.652),(321.701,99.004,77.2168)); + var_00.v["fxid"] = "mp_bigb_building_smoke_debris_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((4677.81,2399.75,384.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((4400.89,2264.73,386.436),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((3973.18,3153.77,592.732),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((303.573,3495.77,148.125),(270,0,-103)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12.9945,3452.68,155.125),(270,0,-103)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_burst_lp_xsml"); + var_00 common_scripts\_createfx::set_origin_and_angles((3822.21,3558.84,619.944),(345.997,271.949,90.1796)); + var_00.v["fxid"] = "steam_pipe_burst_lp_xsml"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_burst_lp_xsml"); + var_00 common_scripts\_createfx::set_origin_and_angles((3776.38,2518.05,362.961),(307.119,261.207,93.6387)); + var_00.v["fxid"] = "steam_pipe_burst_lp_xsml"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bigb_light_vent_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((4725.47,2264.6,442.213),(272.266,66.6796,-17.7196)); + var_00.v["fxid"] = "bigb_light_vent_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bigb_light_vent_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((4061.82,2264.67,448.59),(272.266,66.6827,-45.7224)); + var_00.v["fxid"] = "bigb_light_vent_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_int_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((5117.43,2638.84,481.57),(270,0,0)); + var_00.v["fxid"] = "dust_falling_int_runner"; + var_00.v["delay"] = -8; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_int_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((4815.34,2606.19,479),(270,0,16)); + var_00.v["fxid"] = "dust_falling_int_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_int_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((4980.38,2633.26,481),(270,0,0)); + var_00.v["fxid"] = "dust_falling_int_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((4816.93,2457.21,479.036),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((4861.48,2465.26,478.87),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((4728.74,2346.02,475.741),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_burst_lp_xsml"); + var_00 common_scripts\_createfx::set_origin_and_angles((3706.33,3573.13,593.855),(17.8835,265.588,89.6768)); + var_00.v["fxid"] = "steam_pipe_burst_lp_xsml"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((3994.39,2882.31,698.158),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((3929.31,2876.62,700.257),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((4031.53,3674.63,792.804),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bigb_light_vent_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((4511.61,2236.02,480.241),(85.98,186.171,7.09863)); + var_00.v["fxid"] = "bigb_light_vent_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bigb_light_vent_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((4287.99,2293.25,482.816),(82.2453,254.296,75.093)); + var_00.v["fxid"] = "bigb_light_vent_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bigb_light_vent_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((4239.39,2232.72,480.618),(87.9497,193.094,14.0131)); + var_00.v["fxid"] = "bigb_light_vent_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_burst_lp_xsml"); + var_00 common_scripts\_createfx::set_origin_and_angles((4400.1,2371.02,438.1),(343.302,294.824,79.1926)); + var_00.v["fxid"] = "steam_pipe_burst_lp_xsml"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bigb_light_vent_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((5100.85,2477.54,480.415),(87.9497,193.094,14.0131)); + var_00.v["fxid"] = "bigb_light_vent_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bigb_light_vent_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((4953.44,2493.16,482.241),(87.9497,193.094,14.0131)); + var_00.v["fxid"] = "bigb_light_vent_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bigb_light_vent_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((4649.92,2381.59,483.241),(79.2821,116.453,-62.1261)); + var_00.v["fxid"] = "bigb_light_vent_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((4728.42,2414.63,478.975),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bigb_light_vent_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((3728.74,2445.64,480.241),(82.2453,254.296,73.0934)); + var_00.v["fxid"] = "bigb_light_vent_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bigb_light_vent_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((3993.72,2446.4,484),(87.9497,193.094,14.0131)); + var_00.v["fxid"] = "bigb_light_vent_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bigb_light_vent_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((3947.84,2381.2,482.449),(87.9497,193.094,14.0131)); + var_00.v["fxid"] = "bigb_light_vent_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bigb_aa_flash_tracer"); + var_00 common_scripts\_createfx::set_origin_and_angles((35612.9,3697.82,1318.06),(283.871,350.477,15.9947)); + var_00.v["fxid"] = "bigb_aa_flash_tracer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_burst_lp_xsml"); + var_00 common_scripts\_createfx::set_origin_and_angles((4445.36,2353.09,384.144),(342.007,305.674,78.6857)); + var_00.v["fxid"] = "steam_pipe_burst_lp_xsml"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_small_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((4140.38,3090.54,562.605),(339.017,276.247,101.995)); + var_00.v["fxid"] = "electrical_sparks_small_runner"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_burst_lp_xsml"); + var_00 common_scripts\_createfx::set_origin_and_angles((4171.3,3571.26,595.668),(345.884,265.764,89.6826)); + var_00.v["fxid"] = "steam_pipe_burst_lp_xsml"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_small_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((3741.06,2525.63,409.954),(270,0,0)); + var_00.v["fxid"] = "electrical_sparks_small_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_int_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((4650.33,2583.78,475),(270,0,16)); + var_00.v["fxid"] = "dust_falling_int_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_deck_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((3072.69,3265.25,356.125),(270,180,139)); + var_00.v["fxid"] = "mp_bigb_deck_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_deck_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((5112.6,3586.36,554.125),(270,0,32)); + var_00.v["fxid"] = "mp_bigb_deck_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_deck_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1638.67,2987.46,241.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_deck_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_deck_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1629.29,3540.89,237.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_deck_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_water_exterior"); + var_00 common_scripts\_createfx::set_origin_and_angles((4626.64,4254.27,612.372),(273,268,0)); + var_00.v["fxid"] = "mp_bigb_falling_water_exterior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((2944.23,4032.29,485.94),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3355.98,4893.65,196),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_deck_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((3784.63,4866.45,352),(273,233,83)); + var_00.v["fxid"] = "mp_bigb_deck_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_deck_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((4146.7,4822.47,354),(270.052,323.546,-1.54539)); + var_00.v["fxid"] = "mp_bigb_deck_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_deck_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((3801.76,5205.91,419),(270,180,99)); + var_00.v["fxid"] = "mp_bigb_deck_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_water_exterior"); + var_00 common_scripts\_createfx::set_origin_and_angles((4278.43,2104.73,506.149),(272.02,106.521,-14.1067)); + var_00.v["fxid"] = "mp_bigb_falling_water_exterior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_water_exterior"); + var_00 common_scripts\_createfx::set_origin_and_angles((4536.86,2094.81,499.335),(274.231,113.065,-20.6596)); + var_00.v["fxid"] = "mp_bigb_falling_water_exterior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((4986.17,2346.1,515.215),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((5159.12,2379.81,516.563),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((3781.54,2309.13,681.951),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_light_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((3467.77,6061.83,440.125),(274.175,289.331,-107.336)); + var_00.v["fxid"] = "mp_bigb_light_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_light_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((3986.24,2827.59,366.245),(270,0,-171)); + var_00.v["fxid"] = "mp_bigb_light_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_deck_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((3609.22,3123.76,556.125),(272,18,-90)); + var_00.v["fxid"] = "mp_bigb_deck_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_deck_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((4610.76,3482.89,562.125),(270,180,-77)); + var_00.v["fxid"] = "mp_bigb_deck_wind_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_deck_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((3212.71,3833.45,561.125),(273.431,326.777,-80.6885)); + var_00.v["fxid"] = "mp_bigb_deck_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_river_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((948.529,3495.22,236.551),(346.492,190.973,99.9801)); + var_00.v["fxid"] = "mp_bigb_river_fire"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bigb_aa_flash_tracer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8067.35,-8266.67,654.627),(283.871,350.477,15.9947)); + var_00.v["fxid"] = "bigb_aa_flash_tracer"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("bigb_aa_flash_tracer"); + var_00 common_scripts\_createfx::set_origin_and_angles((10608.2,17017.4,1194.98),(283.871,350.477,15.9947)); + var_00.v["fxid"] = "bigb_aa_flash_tracer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((4019.65,4294.64,548.45),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((3843.07,4257.21,547.764),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_firelight"); + var_00 common_scripts\_createfx::set_origin_and_angles((4278.55,-2302.33,1023.21),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_firelight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_firelight"); + var_00 common_scripts\_createfx::set_origin_and_angles((8506.55,-2687.43,1273.43),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_firelight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_firelight"); + var_00 common_scripts\_createfx::set_origin_and_angles((1614.52,-2710.51,1470.11),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_firelight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_firelight"); + var_00 common_scripts\_createfx::set_origin_and_angles((9374.16,7066.15,1391.07),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_firelight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_firelight"); + var_00 common_scripts\_createfx::set_origin_and_angles((9521.39,7075.71,1368.49),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_firelight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_firelight"); + var_00 common_scripts\_createfx::set_origin_and_angles((9665.52,7070.72,1376.78),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_firelight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_firelight"); + var_00 common_scripts\_createfx::set_origin_and_angles((624.697,683.191,285.318),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_firelight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_firelight"); + var_00 common_scripts\_createfx::set_origin_and_angles((720.8,253.532,685.351),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_firelight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_firelight"); + var_00 common_scripts\_createfx::set_origin_and_angles((663.407,1066.5,697.708),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_firelight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_firelight"); + var_00 common_scripts\_createfx::set_origin_and_angles((31.9792,2542.33,372.665),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_firelight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_burst_lp_xsml"); + var_00 common_scripts\_createfx::set_origin_and_angles((3129.04,4062.6,387.049),(22.4601,101.248,97.8574)); + var_00.v["fxid"] = "steam_pipe_burst_lp_xsml"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_small_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((4475.07,4077.71,431.116),(276,90,-117)); + var_00.v["fxid"] = "electrical_sparks_small_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_small_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((3089.18,4068.06,355.123),(323.397,65.1485,-93.389)); + var_00.v["fxid"] = "electrical_sparks_small_runner"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((5169.45,4159.09,489.898),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((4399.36,4239.88,495.468),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_burst_lp_xsml"); + var_00 common_scripts\_createfx::set_origin_and_angles((3633.41,2525.36,411.456),(349.116,261.642,90.3922)); + var_00.v["fxid"] = "steam_pipe_burst_lp_xsml"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bigb_light_vent_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((3677.45,2382.08,481.81),(82.2453,254.296,73.0934)); + var_00.v["fxid"] = "bigb_light_vent_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bigb_light_vent_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((3969.04,3188.87,710.875),(88.9377,340.457,158.366)); + var_00.v["fxid"] = "bigb_light_vent_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bigb_light_vent_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((3986.96,3195.12,710.875),(87.9497,193.094,14.0131)); + var_00.v["fxid"] = "bigb_light_vent_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_firelight"); + var_00 common_scripts\_createfx::set_origin_and_angles((6048.09,7691.6,855.024),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_firelight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_firelight"); + var_00 common_scripts\_createfx::set_origin_and_angles((4553.24,7026.46,1419.03),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_firelight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((5656.72,2413.45,153.767),(270,0,-103)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((4781.47,2317.39,156.842),(270,0,-103)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2582.34,2398.56,152.125),(270,0,-103)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2062.45,2515.78,147.494),(270,0,-103)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1493.54,2680.89,151.125),(270,0,-103)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((3545.28,2312.19,145.125),(270,0,-103)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_deck_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2080.88,3230.35,353.125),(270,0,-57)); + var_00.v["fxid"] = "mp_bigb_deck_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bigb_aa_flash_tracer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19419.1,-4312.77,905.714),(283.871,350.477,15.9947)); + var_00.v["fxid"] = "bigb_aa_flash_tracer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3459.71,3727.62,552.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3268.78,3852.64,552.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3556.34,2880.28,552.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5707.43,2732.02,544.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_volume_close"); + var_00 common_scripts\_createfx::set_origin_and_angles((5657.62,2947.77,353.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_volume_close"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((6204.95,3652.36,224.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((6210.54,2898.85,224.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_fire_l_blacksmk_nonlit"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1608.56,3900.07,1233.36),(282.675,285.758,-57.9252)); + var_00.v["fxid"] = "mp_bigb_fire_l_blacksmk_nonlit"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_fire_lp_clocktower_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((-873.441,7509.13,2999.88),(279,275,-106)); + var_00.v["fxid"] = "mp_bigb_fire_lp_clocktower_smoke"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1775.95,2723.98,227.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5119.96,4482.52,541.483),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5213.32,4481.62,550.817),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4767.59,4447.29,542.817),(270,0,92)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3307.82,4415.31,550.375),(270,0,88)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4875.43,3827.01,636.19),(270,0,90)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4794.23,3272,738.19),(270,0,89)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4793.35,3175.25,749.176),(270,0,93)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4535.96,3109.39,649.19),(270,0,91)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4534.49,3001.04,651.176),(270,0,94)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4448.8,3148.67,740.19),(270,0,92)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4443.67,3059.91,751.176),(270,0,90)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5014.41,2801.23,740.524),(270,348.303,102.697)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3727.37,5477.88,555.113),(281,180,179)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((6056.13,3443.98,344.43),(358.325,174.459,1.25192)); + var_00.v["fxid"] = "mp_bigb_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4034.32,5440.64,692),(270,180,-89)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4027.93,5056.16,590),(271.051,359.049,-89.9958)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4033.36,5257.93,644.576),(300.909,272.154,0.164443)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4374.84,5476.02,555.975),(283.003,358.192,0.847684)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2932.89,3493.45,432.817),(270,0,87)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2925.71,3398.47,443.817),(270,0,85)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((5725.39,3793.12,500.875),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_vista_smk_stack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4710.37,8137.5,1583.37),(270,180,-107)); + var_00.v["fxid"] = "mp_bigb_vista_smk_stack"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5013.38,2706.79,749.499),(270,180,-89)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_fire_lp_clocktower_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((26847.6,-5853.33,694.932),(296.548,44.9265,-67.276)); + var_00.v["fxid"] = "mp_bigb_fire_lp_clocktower_smoke"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4400.48,4781.09,196),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_fire_lp_clocktower_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6796.48,-2924.94,1579.77),(293.617,107.958,-105.107)); + var_00.v["fxid"] = "mp_bigb_fire_lp_clocktower_smoke"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_deck_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((5424.85,2750.95,357.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_deck_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((3149.1,5293.17,696.43),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_deck_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((6479.42,3210.62,234.125),(270,0,-8)); + var_00.v["fxid"] = "mp_bigb_deck_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((4917.72,5271.28,694.772),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_bridge_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((34.1475,3665.87,657.841),(279.345,102.049,63.6727)); + var_00.v["fxid"] = "mp_bigb_bridge_smoke"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((285.696,3566.41,612.297),(282.338,257.238,-68.7699)); + var_00.v["fxid"] = "fire_lp_m_no_light"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("bigb_aa_flash_tracer"); + var_00 common_scripts\_createfx::set_origin_and_angles((5023.66,-11716.7,2094.12),(285.371,283.99,77.4384)); + var_00.v["fxid"] = "bigb_aa_flash_tracer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bigb_aa_flash_tracer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13058.4,9951.11,523.054),(283.871,350.477,15.9947)); + var_00.v["fxid"] = "bigb_aa_flash_tracer"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((967.769,3479.27,247.125),(340.827,226.581,106.746)); + var_00.v["fxid"] = "fire_lp_s_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((4242.62,4150.95,393.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3664.57,4768.33,196),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3598.94,4867.72,196),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3485.13,4901.57,196),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((3985.47,3718.99,779),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5344.85,4201.13,360.015),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5503.64,4195.68,360.015),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2182.42,3466.04,505.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2190.47,3055.98,505.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_deck_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((3728.27,4287.14,359.748),(273,233,-46)); + var_00.v["fxid"] = "mp_bigb_deck_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_deck_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((3892.96,4294.85,358.125),(273,233,-47)); + var_00.v["fxid"] = "mp_bigb_deck_wind_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((3010.22,4119.42,381.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((4887.24,4112.06,395.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((5783.77,3895.34,396.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((5809.48,2678.44,403.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_deck_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((5047.08,2400.45,353.125),(270,0,11)); + var_00.v["fxid"] = "mp_bigb_deck_wind_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_deck_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((4880.74,2389.43,353.125),(270,0,11)); + var_00.v["fxid"] = "mp_bigb_deck_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4876.33,3728.48,647),(270,0,90)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((3457.41,4152.23,396.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((6274.16,-736.997,146.433),(270,0,-179)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((5935.14,-1056.24,147.689),(272.236,241.572,-26.5546)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((6107.99,-886.229,144.251),(270,0,-145)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((8380.93,5186.83,150.125),(270,0,82)); + var_00.v["fxid"] = "mp_bigb_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_line"); + var_00 common_scripts\_createfx::set_origin_and_angles((3105.29,5502.49,463),(270,0,-88)); + var_00.v["fxid"] = "mp_bigb_rain_splash_line"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_line"); + var_00 common_scripts\_createfx::set_origin_and_angles((3158.65,5189.87,436.03),(274.123,164.986,104.048)); + var_00.v["fxid"] = "mp_bigb_rain_splash_line"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_line"); + var_00 common_scripts\_createfx::set_origin_and_angles((3107.14,5386.55,463),(270,0,-88)); + var_00.v["fxid"] = "mp_bigb_rain_splash_line"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_line"); + var_00 common_scripts\_createfx::set_origin_and_angles((3106.54,5265.21,463),(270,0,-88)); + var_00.v["fxid"] = "mp_bigb_rain_splash_line"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_line"); + var_00 common_scripts\_createfx::set_origin_and_angles((3107.67,5148.04,462),(270,0,-88)); + var_00.v["fxid"] = "mp_bigb_rain_splash_line"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_line"); + var_00 common_scripts\_createfx::set_origin_and_angles((3158.02,5389.78,435.682),(270,0,-88)); + var_00.v["fxid"] = "mp_bigb_rain_splash_line"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_line"); + var_00 common_scripts\_createfx::set_origin_and_angles((4910.94,5430.62,435.842),(276.082,350.572,99.4797)); + var_00.v["fxid"] = "mp_bigb_rain_splash_line"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_line"); + var_00 common_scripts\_createfx::set_origin_and_angles((4908.96,5204.79,436.774),(276.082,350.572,99.4797)); + var_00.v["fxid"] = "mp_bigb_rain_splash_line"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_line"); + var_00 common_scripts\_createfx::set_origin_and_angles((4953.34,5395.03,463),(276.082,350.572,99.4797)); + var_00.v["fxid"] = "mp_bigb_rain_splash_line"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_line"); + var_00 common_scripts\_createfx::set_origin_and_angles((4952.92,5267.2,462),(276.082,350.572,99.4797)); + var_00.v["fxid"] = "mp_bigb_rain_splash_line"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_line"); + var_00 common_scripts\_createfx::set_origin_and_angles((4953.42,5134.54,461),(276.082,350.572,99.4797)); + var_00.v["fxid"] = "mp_bigb_rain_splash_line"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_line"); + var_00 common_scripts\_createfx::set_origin_and_angles((4953.09,5498.38,462),(276.082,350.572,99.4797)); + var_00.v["fxid"] = "mp_bigb_rain_splash_line"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_line"); + var_00 common_scripts\_createfx::set_origin_and_angles((4456.09,5079.91,460.5),(271,269.991,-179.992)); + var_00.v["fxid"] = "mp_bigb_rain_splash_line"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_line"); + var_00 common_scripts\_createfx::set_origin_and_angles((4544.45,5000.35,461.5),(272.155,116.323,61.867)); + var_00.v["fxid"] = "mp_bigb_rain_splash_line"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_line"); + var_00 common_scripts\_createfx::set_origin_and_angles((3604.06,5068.87,462.5),(271,269.991,-179.992)); + var_00.v["fxid"] = "mp_bigb_rain_splash_line"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_line"); + var_00 common_scripts\_createfx::set_origin_and_angles((3523.08,4999.22,461.5),(272.155,116.323,61.867)); + var_00.v["fxid"] = "mp_bigb_rain_splash_line"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_line"); + var_00 common_scripts\_createfx::set_origin_and_angles((3769.78,5889.32,591.473),(292,268,90)); + var_00.v["fxid"] = "mp_bigb_rain_splash_line"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_line"); + var_00 common_scripts\_createfx::set_origin_and_angles((4152.09,5891.68,588.247),(292,268,90)); + var_00.v["fxid"] = "mp_bigb_rain_splash_line"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_line"); + var_00 common_scripts\_createfx::set_origin_and_angles((4256.98,5890.98,588.357),(292,268,90)); + var_00.v["fxid"] = "mp_bigb_rain_splash_line"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_line"); + var_00 common_scripts\_createfx::set_origin_and_angles((4446.65,5303.77,453.398),(271,269.983,166.016)); + var_00.v["fxid"] = "mp_bigb_rain_splash_line"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_line"); + var_00 common_scripts\_createfx::set_origin_and_angles((4453.9,5361.43,450.753),(271,269.978,-175.978)); + var_00.v["fxid"] = "mp_bigb_rain_splash_line"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_line"); + var_00 common_scripts\_createfx::set_origin_and_angles((3644.12,5356.68,451.398),(271,269.962,-162.962)); + var_00.v["fxid"] = "mp_bigb_rain_splash_line"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_line"); + var_00 common_scripts\_createfx::set_origin_and_angles((3671.02,5301.17,450.995),(271,269.95,-159.95)); + var_00.v["fxid"] = "mp_bigb_rain_splash_line"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((6246.61,3414.09,312.06),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("jet_flyover"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7867.32,10958.2,3812.72),(270,180,110)); + var_00.v["fxid"] = "jet_flyover"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bigb_aa_flash_tracer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12031.1,8501.94,1221.64),(283.871,350.477,15.9947)); + var_00.v["fxid"] = "bigb_aa_flash_tracer"; + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("jet_flyover"); + var_00 common_scripts\_createfx::set_origin_and_angles((18904.5,-17738.9,6193.13),(270,0,74)); + var_00.v["fxid"] = "jet_flyover"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_fire_vista_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2942.98,5846.37,1553.86),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_fire_vista_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_fire_vista_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2765.96,-9620.81,1526.5),(276.308,147.011,126.291)); + var_00.v["fxid"] = "mp_bigb_fire_vista_glow"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_fire_vista_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13464.6,-4051.34,1196.5),(276.308,147.011,126.291)); + var_00.v["fxid"] = "mp_bigb_fire_vista_glow"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_fire_vista_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((16295.5,-9132.24,2548.47),(276.308,147.011,126.291)); + var_00.v["fxid"] = "mp_bigb_fire_vista_glow"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_fire_vista_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((35469.5,-1407.96,1325.51),(276.308,147.011,126.291)); + var_00.v["fxid"] = "mp_bigb_fire_vista_glow"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_line"); + var_00 common_scripts\_createfx::set_origin_and_angles((3876.83,5112.79,372.034),(270,0,-175)); + var_00.v["fxid"] = "mp_bigb_rain_splash_line"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_line"); + var_00 common_scripts\_createfx::set_origin_and_angles((4213.79,5110.1,372.03),(270,0,-175)); + var_00.v["fxid"] = "mp_bigb_rain_splash_line"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bigb_aa_flash_tracer"); + var_00 common_scripts\_createfx::set_origin_and_angles((28999.9,-8805.37,259.217),(283.871,350.477,15.9947)); + var_00.v["fxid"] = "bigb_aa_flash_tracer"; + var_00.v["delay"] = -8; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((4769.56,5406.44,457),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((4654.79,5352.67,456),(270,0,90)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((4724.97,5549.15,458),(270,0,90)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((4615.17,5489.29,457),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((4734.27,5440.38,472.125),(270,0,-12)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((4663,5455.53,472.075),(271,90,-90)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((3407.55,5445.74,467.383),(270,0,-12)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((3336.29,5460.88,464.333),(271,90,-90)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((3290.61,5502.62,458.258),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((3327.62,5353.76,457.258),(270,0,90)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((3448.01,5404.97,456.258),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((3411.24,5546.56,456.258),(270,0,90)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5411.47,4324.82,423.506),(270,0,37)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4774.3,4361.34,551.24),(270,0,92)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((5790.68,3279.65,405.124),(270,0,-15)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((5839.43,3066.79,400.656),(270,180,-133)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((4984.38,2967.91,604.935),(270,180,-135)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((5010.36,2636.81,740.031),(270,0,31)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((4445.43,2984.48,741.518),(270,0,27)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((4875.27,3663.96,637.154),(270,0,31)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((4789.01,3930.88,634.316),(274,142,-90)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((4769.87,5484.92,459),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((4659.13,5547.79,459),(270,0,90)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((4614.05,5403.62,458),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((4720.06,5351.69,456),(270,0,90)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((3327.5,5548.5,457),(270,0,90)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((3289.91,5420.84,458),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((3448.72,5485,456),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((3405,5353.87,457),(270,0,90)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((4602.9,3830.27,637.809),(270,0,53)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((5281.65,4484.67,541.797),(270,0,53)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((4773.57,4291.93,544.292),(271,248.999,-179.999)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((4769.89,4650.87,454.744),(275.811,281.797,-173.77)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((3939.45,4314.44,401.518),(272.281,198.185,-69.2723)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((3334,4810.81,478.242),(275.811,281.797,-173.77)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((3306.28,4477.42,545.04),(275.811,281.797,-173.77)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((4792.13,3107.72,741.797),(270,0,27)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((2685.42,4485.03,540.809),(271,248.927,-127.927)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((2691.97,4478.17,544.052),(271,248.893,143.107)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((2792.38,4479.67,542.647),(271,248.893,143.107)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((2789.5,4480.69,539.403),(271,248.927,-127.927)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((2922.81,3333.28,436.797),(271,248.893,143.107)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((3050.07,2419.29,539.105),(271,248.893,143.107)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((4066.3,4893,394),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((3995.25,4887.39,394),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((4030.33,4822.09,393),(270,0,90)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((4030.57,4859.86,400.125),(270,0,29)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((4023.67,4915.32,401.125),(270,180,140)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((4603.69,2639.68,635.797),(270,0,54)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((4597.62,3154.38,599.689),(270,0,28)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((5404.56,3283.79,432.495),(270,0,36)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((6186.27,3159.37,304.967),(270,180,-133)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((6181.45,3414.76,304.094),(270,180,-133)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((6460.43,2906.94,225.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((6332.86,2874.4,225.452),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((6333.05,3038.6,227.105),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((6441.81,3660.73,225.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bigb_aa_flash_tracer"); + var_00 common_scripts\_createfx::set_origin_and_angles((17952.8,-17797,2976.43),(285.371,283.99,77.4384)); + var_00.v["fxid"] = "bigb_aa_flash_tracer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_fire_lp_clocktower_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((22144.1,-9033.52,5706.03),(293.617,107.957,30.8935)); + var_00.v["fxid"] = "mp_bigb_fire_lp_clocktower_smoke"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4396.25,2215.36,563.706),(292,270.093,88.914)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4596.02,2235.42,582.641),(292,270.093,88.914)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4593.23,2185.83,565.887),(291.001,269.951,93.0458)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4200.48,2188.84,565.702),(290.003,269.796,90.191)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4197.11,2246.14,588.456),(292.075,272.751,84.4501)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_line"); + var_00 common_scripts\_createfx::set_origin_and_angles((4467.25,2251.31,586.521),(289.04,272.312,177.267)); + var_00.v["fxid"] = "mp_bigb_rain_splash_line"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_line"); + var_00 common_scripts\_createfx::set_origin_and_angles((4465.69,2186.23,562.696),(291.04,272.241,-179.667)); + var_00.v["fxid"] = "mp_bigb_rain_splash_line"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_line"); + var_00 common_scripts\_createfx::set_origin_and_angles((4324.36,2247.35,585.352),(289.04,272.312,177.267)); + var_00.v["fxid"] = "mp_bigb_rain_splash_line"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_line"); + var_00 common_scripts\_createfx::set_origin_and_angles((4316.15,2187.98,562.965),(291.038,272.046,177.516)); + var_00.v["fxid"] = "mp_bigb_rain_splash_line"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1624.39,4795.88,1162.79),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow_03"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1622.51,4550.77,1162.84),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1624.06,4760.83,1160.72),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow_03"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1629.9,4912.51,1162.32),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1629.15,4945.21,1159.13),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1625.19,4514.91,1163.42),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1634.35,4478.97,1162.26),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1633.36,4136.12,1156.16),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1624.2,4172.06,1157.31),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1621.52,4207.92,1156.73),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1628.09,5696.42,1155.89),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1628.42,5731.47,1157.96),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1639.79,5849.38,1162.49),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow_03"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1639.05,5882.08,1162.3),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow_03"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1636.94,5571.67,1164.74),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1636.62,5536.62,1162.67),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1628,5419.09,1160.9),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1617.81,4178.17,1264.9),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1626.97,4142.23,1263.75),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1615.13,4214.03,1264.32),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1618.83,4550.43,1266.09),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1621.51,4514.57,1266.67),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1630.67,4478.63,1265.52),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_firelight"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1505.24,4165.15,1191.61),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_firelight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_firelight"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1493.67,4513.8,1207.86),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_firelight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1626.53,6042.41,1156.73),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow_03"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1627.27,6009.71,1159.92),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow_03"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2758.19,-2844.26,1655.1),(270,162,108)); + var_00.v["fxid"] = "mp_bigb_window_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2723.14,-2844.58,1653.03),(270,162,108)); + var_00.v["fxid"] = "mp_bigb_window_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2426.06,-2849.59,1654.28),(270,162,108)); + var_00.v["fxid"] = "mp_bigb_window_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2391.01,-2849.91,1652.21),(270,162,108)); + var_00.v["fxid"] = "mp_bigb_window_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_firelight"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1496.02,5529.98,1170.6),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_firelight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1629.36,4140.28,1682.65),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1626.12,4175.26,1683.8),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1623.44,4211.12,1683.22),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1627.12,4211.46,1579.97),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1630.08,4141.13,1579.39),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1629.8,4175.6,1580.55),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1619.34,5078.13,1158.09),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_firelight"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1484.45,4173.14,1613.84),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_firelight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1630.09,4478.85,1586.94),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow_03"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1628.45,4519.26,1587.75),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow_03"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_window_glow_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1625.58,4553.92,1589.86),(270,180,180)); + var_00.v["fxid"] = "mp_bigb_window_glow_03"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((3658.57,4492.61,138.125),(359.736,358.527,2.42747)); + var_00.v["fxid"] = "mp_bigb_water_displacement_patch"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((3021.02,4532.54,135.125),(359.624,3.52498,1.50498)); + var_00.v["fxid"] = "mp_bigb_water_displacement_patch"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((2657.4,4965.94,138.114),(359.778,357.528,1.43173)); + var_00.v["fxid"] = "mp_bigb_water_displacement_patch"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((5632.77,5212.65,139.125),(359.625,3.52528,0.434745)); + var_00.v["fxid"] = "mp_bigb_water_displacement_patch"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((4718.19,4532.02,138.125),(359.693,3.2814,-0.522103)); + var_00.v["fxid"] = "mp_bigb_water_displacement_patch"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirty_foam_flowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((3425.99,4843.74,149.706),(270,0,73)); + var_00.v["fxid"] = "dirty_foam_flowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirty_foam_flowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((3759.52,4744.13,148.549),(270,0,87)); + var_00.v["fxid"] = "dirty_foam_flowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirty_foam_flowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((4306.72,4725.25,147.142),(270,0,95)); + var_00.v["fxid"] = "dirty_foam_flowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirty_foam_flowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((4698.58,4231.2,151.826),(270,174.689,-86.6891)); + var_00.v["fxid"] = "dirty_foam_flowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirty_foam_flowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((4359.82,4228.35,151.105),(270,0,94)); + var_00.v["fxid"] = "dirty_foam_flowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirty_foam_flowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((4003.33,4239.96,149.084),(270,0,91)); + var_00.v["fxid"] = "dirty_foam_flowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirty_foam_flowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((3612.2,4243.51,148.439),(270,0,88)); + var_00.v["fxid"] = "dirty_foam_flowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirty_foam_flowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((4644.12,4845.73,150.271),(270,0,90)); + var_00.v["fxid"] = "dirty_foam_flowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirty_foam_flowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((3300.49,4234.3,148.401),(270,0,91)); + var_00.v["fxid"] = "dirty_foam_flowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirty_foam_flowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((4038.85,4703.88,148.506),(270,181.813,-91.813)); + var_00.v["fxid"] = "dirty_foam_flowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirty_foam_flowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((3257.12,5265.58,148.71),(270,0,73)); + var_00.v["fxid"] = "dirty_foam_flowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirty_foam_flowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((3543.86,5242.48,150.275),(270,0,73)); + var_00.v["fxid"] = "dirty_foam_flowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirty_foam_flowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((4557.85,5279.62,147.629),(270,0,73)); + var_00.v["fxid"] = "dirty_foam_flowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirty_foam_flowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((4844.81,5262.51,149.195),(270,0,73)); + var_00.v["fxid"] = "dirty_foam_flowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_runner_no_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((3880.66,5669.71,452.203),(271,90,-90)); + var_00.v["fxid"] = "rain_splash_sm_runner_no_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirty_foam_flowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((2902.83,4177.45,150.106),(270,0,91)); + var_00.v["fxid"] = "dirty_foam_flowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirty_foam_flowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((2531.29,4163.34,148.338),(270,0,91)); + var_00.v["fxid"] = "dirty_foam_flowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirty_foam_flowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((2741.95,5187.91,148.631),(270,0,90)); + var_00.v["fxid"] = "dirty_foam_flowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_water_splash_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((4563.8,4268.25,152.125),(270,0,87)); + var_00.v["fxid"] = "mp_bigb_falling_water_splash_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_water_splash_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((4380.29,4256.93,150.125),(270,0,-179)); + var_00.v["fxid"] = "mp_bigb_falling_water_splash_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_water_splash_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((4116.86,4243.02,148.846),(270,0,-91)); + var_00.v["fxid"] = "mp_bigb_falling_water_splash_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_water_splash_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((4284.54,4255.14,151.052),(270,0,-179)); + var_00.v["fxid"] = "mp_bigb_falling_water_splash_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_water_splash_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((4119.13,4259.8,146.233),(270,0,-179)); + var_00.v["fxid"] = "mp_bigb_falling_water_splash_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_water_splash_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((3590.82,4260.98,150.43),(270,0,-94)); + var_00.v["fxid"] = "mp_bigb_falling_water_splash_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_river_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1585.35,3972.34,1234.6),(356.345,192.701,9.72113)); + var_00.v["fxid"] = "mp_bigb_river_fire"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_light_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((4597.16,6076.37,438.125),(274.175,289.331,-107.336)); + var_00.v["fxid"] = "mp_bigb_light_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_fire_lp_clocktower_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3590.93,8115.27,1361.62),(279,275,-106)); + var_00.v["fxid"] = "mp_bigb_fire_lp_clocktower_smoke"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_rain_splash_line"); + var_00 common_scripts\_createfx::set_origin_and_angles((3882.23,5890.15,588.402),(292,268,90)); + var_00.v["fxid"] = "mp_bigb_rain_splash_line"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_water_exterior_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((4587.09,5921.48,569.188),(275.011,100.054,-12.6422)); + var_00.v["fxid"] = "mp_bigb_falling_water_exterior_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_water_exterior_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((3458.6,5926.88,567.073),(275.011,100.054,-12.6422)); + var_00.v["fxid"] = "mp_bigb_falling_water_exterior_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bigb_light_vent_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((4079.55,3470.82,712.684),(61.9851,358.156,178.943)); + var_00.v["fxid"] = "bigb_light_vent_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((4874.86,4054.86,420.646),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_water_splash_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((4877.91,4052.85,341.125),(270,0,87)); + var_00.v["fxid"] = "mp_bigb_falling_water_splash_runner"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((4840.91,2506.56,419.478),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_stream_med"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_water_splash_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((4837.94,2512.41,342.125),(270,0,87)); + var_00.v["fxid"] = "mp_bigb_falling_water_splash_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4419.07,2709.4,552.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "33"; + var_00 = common_scripts\utility::createexploder("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((4428.32,3845.39,552.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "33"; + var_00 = common_scripts\utility::createexploder("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1586.28,2826.18,224.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "33"; + var_00 = common_scripts\utility::createexploder("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1527.6,3620.26,224.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "33"; + var_00 = common_scripts\utility::createexploder("mp_bigb_rain_splash_200x200_no_distort"); + var_00 common_scripts\_createfx::set_origin_and_angles((6491.03,3128.16,224.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_200x200_no_distort"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "33"; + var_00 = common_scripts\utility::createexploder("mp_bigb_rain_splash_200x200_no_distort"); + var_00 common_scripts\_createfx::set_origin_and_angles((6493.23,3473.63,224.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_200x200_no_distort"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "33"; + var_00 = common_scripts\utility::createexploder("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2106.69,2639.62,462.7),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "33"; + var_00 = common_scripts\utility::createexploder("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2143.71,3807.41,462.7),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "33"; + var_00 = common_scripts\utility::createexploder("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2118.6,3947.83,462.7),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "33"; + var_00 = common_scripts\utility::createexploder("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3025.9,5713.43,416.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "33"; + var_00 = common_scripts\utility::createexploder("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5054.91,5706.93,420.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "33"; + var_00 = common_scripts\utility::createexploder("mp_bigb_rain_splash_200x200_no_distort"); + var_00 common_scripts\_createfx::set_origin_and_angles((6211.54,3118.1,224.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_200x200_no_distort"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "33"; + var_00 = common_scripts\utility::createexploder("mp_bigb_rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1671.55,3291.25,224.825),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "33"; + var_00 = common_scripts\utility::createexploder("mp_bigb_rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2116.8,2773.73,462.7),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "33"; + var_00 = common_scripts\utility::createexploder("mp_bigb_building_smoke_debris_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2578.67,-2712.29,1113.53),(270,180,175)); + var_00.v["fxid"] = "mp_bigb_building_smoke_debris_runner"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "32"; + var_00 = common_scripts\utility::createexploder("mp_bigb_building_smoke_debris_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((6182.46,8135.49,1432.26),(276,357,90)); + var_00.v["fxid"] = "mp_bigb_building_smoke_debris_runner"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "32"; + var_00 = common_scripts\utility::createexploder("mp_bigb_building_smoke_debris_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((5272.18,7515.89,1226.49),(270,0,-80)); + var_00.v["fxid"] = "mp_bigb_building_smoke_debris_runner"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "32"; + var_00 = common_scripts\utility::createexploder("mp_bigb_building_explosion_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-930.705,7296.98,3128.33),(0,248.502,94.0688)); + var_00.v["fxid"] = "mp_bigb_building_explosion_runner"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "31"; + var_00 = common_scripts\utility::createexploder("mp_bigb_concrete_debris_water_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((83.0064,3295.99,631.31),(278.111,267.294,97.838)); + var_00.v["fxid"] = "mp_bigb_concrete_debris_water_runner"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "31"; + var_00 = common_scripts\utility::createexploder("mp_bigb_concrete_debris_water_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((674.889,118.642,470.851),(270,0,169)); + var_00.v["fxid"] = "mp_bigb_concrete_debris_water_runner"; + var_00.v["delay"] = -10; + var_00.v["exploder"] = "31"; + var_00 = common_scripts\utility::createexploder("mp_bigb_killstreak_ventsmoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((4297.17,3918.77,874.125),(271,1,-90)); + var_00.v["fxid"] = "mp_bigb_killstreak_ventsmoke"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "30"; + var_00 = common_scripts\utility::createexploder("mp_bigb_water_mist_deck_lrg_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2648.61,2484.93,355.125),(270,180,176)); + var_00.v["fxid"] = "mp_bigb_water_mist_deck_lrg_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("mp_bigb_water_mist_deck_lrg_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((5373.15,2480.51,354.125),(271,270,89)); + var_00.v["fxid"] = "mp_bigb_water_mist_deck_lrg_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "4"; + var_00 = common_scripts\utility::createexploder("mp_bigb_water_explosion_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2883.84,2037.21,147),(270,0,93)); + var_00.v["fxid"] = "mp_bigb_water_explosion_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("mp_bigb_water_explosion_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2433.42,1183.78,146.381),(270,0,93)); + var_00.v["fxid"] = "mp_bigb_water_explosion_runner"; + var_00.v["delay"] = -5; + var_00.v["exploder"] = "5"; + var_00 = common_scripts\utility::createexploder("mp_bigb_water_explosion_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((5283.6,2084.67,141),(270,0,93)); + var_00.v["fxid"] = "mp_bigb_water_explosion_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "4"; + var_00 = common_scripts\utility::createexploder("mp_bigb_water_explosion_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((8244.07,4313.26,149),(270,0,93)); + var_00.v["fxid"] = "mp_bigb_water_explosion_runner"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "5"; + var_00 = common_scripts\utility::createexploder("mp_bigb_water_explosion_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((11039,2446.77,152.275),(270,0,93)); + var_00.v["fxid"] = "mp_bigb_water_explosion_runner"; + var_00.v["delay"] = -8; + var_00.v["exploder"] = "5"; + var_00 = common_scripts\utility::createexploder("mp_bigb_water_explosion_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((14950,3229.88,147.088),(270,0,93)); + var_00.v["fxid"] = "mp_bigb_water_explosion_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "5"; + var_00 = common_scripts\utility::createexploder("mp_bigb_water_explosion_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((4356.56,-202.35,145),(270,0,93)); + var_00.v["fxid"] = "mp_bigb_water_explosion_runner"; + var_00.v["delay"] = -12; + var_00.v["exploder"] = "5"; + var_00 = common_scripts\utility::createexploder("mp_bigb_water_explosion_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1443.89,222.62,148.127),(270,0,93)); + var_00.v["fxid"] = "mp_bigb_water_explosion_runner"; + var_00.v["delay"] = -8; + var_00.v["exploder"] = "5"; + var_00 = common_scripts\utility::createexploder("mp_bigb_water_explosion_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1249.55,4666.4,131.487),(270,0,93)); + var_00.v["fxid"] = "mp_bigb_water_explosion_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "5"; + var_00 = common_scripts\utility::createexploder("mp_bigb_boat_explosion"); + var_00 common_scripts\_createfx::set_origin_and_angles((12428.7,1322.54,356.355),(273.815,123.871,-38.5492)); + var_00.v["fxid"] = "mp_bigb_boat_explosion"; + var_00.v["delay"] = 0; + var_00.v["platform"] = "ng"; + var_00.v["exploder"] = "10"; + var_00 = common_scripts\utility::createexploder("mp_bigb_boat_explosion"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5786.55,3112.36,262.355),(273.815,123.871,-38.5492)); + var_00.v["fxid"] = "mp_bigb_boat_explosion"; + var_00.v["delay"] = 0; + var_00.v["platform"] = "ng"; + var_00.v["exploder"] = "11"; + var_00 = common_scripts\utility::createexploder("mp_bigb_building_hit"); + var_00 common_scripts\_createfx::set_origin_and_angles((-0.103931,6233.77,730.919),(289,257,180)); + var_00.v["fxid"] = "mp_bigb_building_hit"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "21"; + var_00 = common_scripts\utility::createexploder("mp_bigb_building_hit"); + var_00 common_scripts\_createfx::set_origin_and_angles((357.978,-539.723,716.349),(286,257,180)); + var_00.v["fxid"] = "mp_bigb_building_hit"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "24"; + var_00 = common_scripts\utility::createexploder("mp_bigb_boat_explosion"); + var_00 common_scripts\_createfx::set_origin_and_angles((28.6239,1181.54,210.382),(281.095,258.429,-172.65)); + var_00.v["fxid"] = "mp_bigb_boat_explosion"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "23"; + var_00 = common_scripts\utility::createexploder("mp_bigb_water_mist_deck_lrg_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((3235.87,2451.13,354.125),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_water_mist_deck_lrg_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("mp_bigb_building_hit"); + var_00 common_scripts\_createfx::set_origin_and_angles((648.961,2510.73,369.273),(289,257,180)); + var_00.v["fxid"] = "mp_bigb_building_hit"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "25"; + var_00 = common_scripts\utility::createexploder("mp_bigb_water_explosion_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8431.43,1316.41,147.463),(270,0,93)); + var_00.v["fxid"] = "mp_bigb_water_explosion_runner"; + var_00.v["delay"] = -10; + var_00.v["exploder"] = "5"; + var_00 = common_scripts\utility::createexploder("mp_bigb_rain_splash_200x200_no_distort"); + var_00 common_scripts\_createfx::set_origin_and_angles((6234.23,3487.88,224),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_200x200_no_distort"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "33"; + var_00 = common_scripts\utility::createexploder("mp_bigb_rain_splash_200x200_no_distort"); + var_00 common_scripts\_createfx::set_origin_and_angles((6487.02,3281.59,224),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_200x200_no_distort"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "33"; + var_00 = common_scripts\utility::createexploder("mp_bigb_rain_splash_200x200_no_distort"); + var_00 common_scripts\_createfx::set_origin_and_angles((6224.22,3283.81,229.408),(270,0,0)); + var_00.v["fxid"] = "mp_bigb_rain_splash_200x200_no_distort"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "33"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3812.38,3955.88,369.989),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_pipes_groan_deep"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4525.86,4100.04,353.125),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_pipes_groan_deep"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4063.9,4048.62,562.253),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_pipes_groan_deep"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5104.24,2560.47,485),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_pipes_groan_deep"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4730,2422.67,485.4),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_pipes_groan_deep"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4569.52,2286.04,485),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_pipes_groan_deep"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4228.79,2246.01,485),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_pipes_groan_deep"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4183.24,2531.58,481.783),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_pipes_groan_deep"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3759.57,2506.05,488.112),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_pipes_groan_deep"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3776.37,2416.9,496.5),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_pipes_groan_deep"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3758.77,3540,658.976),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_pipes_groan_deep"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4131.39,3540,665.435),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_pipes_groan_deep"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4021.64,2584,549.516),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_pipes_groan_deep"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4520.98,2467.86,422.409),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_pipes_groan_deep"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4771.32,2529.51,422.994),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_pipes_groan_deep"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4550.81,4104.85,500.875),(90,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_dist_servo_run"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3896.13,3980.08,495.228),(0,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_dist_servo_run"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2989.05,4113.54,500.875),(90,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_dist_servo_run"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3912.42,3311.2,706.875),(90,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_dist_servo_run"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3999.15,2818.76,712.023),(56.3099,90,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_dist_servo_run"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_blackbox_fx.gsc b/AW/PC/maps/createfx/mp_blackbox_fx.gsc new file mode 100644 index 0000000..4e191df --- /dev/null +++ b/AW/PC/maps/createfx/mp_blackbox_fx.gsc @@ -0,0 +1,1518 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_blackbox_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 81 ms + * Timestamp: 4/22/2024 2:07:32 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2150.09,-2212.98,1276.38),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_lrg_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1743.67,-1293.97,1242.08),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1862.3,-2526.13,1059.36),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_lrg_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1719.37,-2328.44,1132.55),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_lrg_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2091.61,484.703,867.706),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_lrg_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2321.35,-358.802,764.728),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_lrg_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2211.88,61.578,939.797),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_lrg_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1575.09,1080.25,905.422),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_lrg_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1055.67,2269.62,806.665),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_lrg_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((458.168,2540.62,732.023),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_lrg_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((30.9703,2426.93,587.422),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_lrg_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1358.4,1869.81,902.311),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_lrg_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-949.213,2076.19,833.878),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_lrg_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1916.63,1715.3,975.893),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_lrg_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2060.33,-1602.46,1249.84),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_lrg_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1816.84,-2556.22,914.769),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_crickets_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2074.68,-1102.75,1294.58),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_crickets_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2136.48,-126.471,892.76),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_crickets_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1423.28,1152.7,787.992),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_crickets_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((767.977,2389.03,681.477),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_crickets_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1611.51,1811.62,992.471),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_crickets_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1921.11,-2799.4,1472.64),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_crickets_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1.55432,-3828.27,1229.57),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_crickets_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((717.522,-3991.68,1396.07),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_crickets_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((410.831,387.804,1123.81),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_light_flicker_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((313.384,-3.42047,1064.88),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_light_flicker_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((165.75,-97.1499,1064.88),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_light_flicker_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((177.753,715.299,1116.11),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_light_flicker_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-335.908,458.115,1114.95),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_light_flicker_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-124.396,-1220.36,1096.49),(270,0,0)); + var_00.v["soundalias"] = "emt_scaffolding_shake_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((111.721,-349.861,1168.27),(270,0,0)); + var_00.v["soundalias"] = "emt_scaffolding_shake_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((412.759,448.009,1091.6),(270,0,0)); + var_00.v["soundalias"] = "emt_scaffolding_shake_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-743.065,1403.24,1103.52),(270,0,0)); + var_00.v["soundalias"] = "emt_scaffolding_shake_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-265.598,-1646.24,1504.53),(270,0,0)); + var_00.v["soundalias"] = "emt_scaffolding_shake_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-500.904,-2736.99,1342.16),(270,0,0)); + var_00.v["soundalias"] = "emt_scaffolding_shake_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1290.78,-3222.85,1453.77),(270,0,0)); + var_00.v["soundalias"] = "emt_scaffolding_shake_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1453.72,-2074.96,1211.16),(270,0,0)); + var_00.v["soundalias"] = "emt_scaffolding_shake_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1059.25,-2511.15,1177.75),(270,0,0)); + var_00.v["soundalias"] = "emt_scaffolding_shake_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-122.135,-3488.9,1150.31),(270,0,0)); + var_00.v["soundalias"] = "emt_scaffolding_shake_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((441.395,-3478.35,1201.2),(270,0,0)); + var_00.v["soundalias"] = "emt_scaffolding_shake_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1558.84,-2033.01,1132.74),(270,0,0)); + var_00.v["soundalias"] = "emt_scaffolding_shake_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1079.65,-2688,1254.58),(270,0,0)); + var_00.v["soundalias"] = "emt_scaffolding_shake_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6.99098,338.102,1196.4),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_hum_medium_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((68.2878,214.485,1010.21),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_hum_medium_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-321.883,-3018.8,1121.09),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_hum_medium_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-326.007,-2821.34,1117.53),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_hum_medium_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-428.027,-1749.96,1233.45),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-249.735,71.424,1094.81),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_light_flicker_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((68.0057,-139.393,927.042),(270,0,0)); + var_00.v["soundalias"] = "emt_virtual_map_glow_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((388.301,15.9781,928.651),(270,0,0)); + var_00.v["soundalias"] = "emt_virtual_map_glow_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-296.488,123.446,978.005),(270,0,0)); + var_00.v["soundalias"] = "emt_virtual_map_glow_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-122.82,2255.42,642.45),(270,0,0)); + var_00.v["soundalias"] = "emt_virtual_map_glow_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-487.798,2333.03,706.222),(270,0,0)); + var_00.v["soundalias"] = "alarm_av_07_int_far"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-397.603,1614.69,1005.61),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-378.809,1990.35,922.851),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_roar_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-401.284,1709.51,982.088),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_roar_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((197.864,-2575.35,1053.18),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-459.524,-1768.02,1245.5),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-457.852,-1796.98,1238.61),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_roar_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((35.1685,-2461.76,1003.1),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-322.694,586.171,1224),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_roar_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-203.407,-2914.65,1224.53),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_roar_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((659.104,-2915.82,1209.38),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((749.855,-4139.21,1560.1),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((292.395,-3399.91,1057.14),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1156.68,-3398.37,1333.93),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-332.896,557.103,1223.88),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-770.009,1469.63,1094.95),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((873.815,901.052,886.461),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1505.66,-2263.34,1026.06),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((127.1,-2631,953.683),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((325.692,-1577.58,1168),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_light_flicker_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-342.399,-1496.54,1168),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_light_flicker_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1025.18,-1264.02,1149.49),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-778.319,1469.6,1124.74),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((535.338,-332.333,1275.78),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-508.633,-1760.49,1244.01),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1745.53,-2632.04,1302.75),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1739.97,-2633.86,1285.29),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1328.6,1073.92,783.079),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_roar_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-903.128,1919.38,645.508),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_roar_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-135.039,-3391.39,1082.97),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1654.1,-2534.3,1039.18),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1119.23,-2156.46,1020.91),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1119.23,-2156.46,1020.91),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1055.74,-1780.14,999.503),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-681.568,-1526.68,1011.75),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-986.275,-1305.58,954.637),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-233.015,1278.96,699.449),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-385.195,541.101,833.02),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((24.2895,880.309,839.511),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-533.646,-1779.57,943.441),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1299.69,882.13,914.687),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((787.966,933.471,712.783),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_04"; + var_00 = common_scripts\utility::createoneshoteffect("fx_sunflare_blackbox"); + var_00 common_scripts\_createfx::set_origin_and_angles((0,0,0),(0,0,0)); + var_00.v["fxid"] = "fx_sunflare_blackbox"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ash_ember_cloud_freq_lrg_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((61.0203,-2739.2,1323.38),(270,0,0)); + var_00.v["fxid"] = "ash_ember_cloud_freq_lrg_loop"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ash_ember_cloud_freq_lrg_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((1131.89,-438.843,1002.32),(270,0,0)); + var_00.v["fxid"] = "ash_ember_cloud_freq_lrg_loop"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ash_ember_cloud_freq_lrg_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-524.386,897.219,904.688),(270,0,0)); + var_00.v["fxid"] = "ash_ember_cloud_freq_lrg_loop"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ash_ember_cloud_freq_lrg_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1440.72,-1914.34,1092.3),(270,0,0)); + var_00.v["fxid"] = "ash_ember_cloud_freq_lrg_loop"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1124.11,-2150.68,1014.79),(280.803,354.423,146.104)); + var_00.v["fxid"] = "fire_lp_xs_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_godray_hazy_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((199.867,-929.393,1158.45),(1.09713,117.659,29.6406)); + var_00.v["fxid"] = "bla_godray_hazy_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner_slit"); + var_00 common_scripts\_createfx::set_origin_and_angles((179.833,-598.794,1308.78),(1,270,90)); + var_00.v["fxid"] = "electrical_sparks_runner_slit"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner_slit"); + var_00 common_scripts\_createfx::set_origin_and_angles((-846.489,-2775.79,1345.79),(17.9531,94.5162,-86.731)); + var_00.v["fxid"] = "electrical_sparks_runner_slit"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner_slit"); + var_00 common_scripts\_createfx::set_origin_and_angles((-276.373,2197.1,874.169),(358.666,247.012,87.0324)); + var_00.v["fxid"] = "electrical_sparks_runner_slit"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_goo_pollen_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((118.923,-1667.75,959.714),(270,180,-148)); + var_00.v["fxid"] = "bla_goo_pollen_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_goo_pollen_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1399.53,-2212.88,1024.17),(270,180,5)); + var_00.v["fxid"] = "bla_goo_pollen_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_goo_pollen_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-632.349,-1055.93,926.657),(270,180,5)); + var_00.v["fxid"] = "bla_goo_pollen_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_goo_pollen_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-726.54,-849.561,935.998),(270,180,5)); + var_00.v["fxid"] = "bla_goo_pollen_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_goo_pollen_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-781.449,-315.238,931.138),(270,0,-97)); + var_00.v["fxid"] = "bla_goo_pollen_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_goo_pollen_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-363.963,-454.039,998.937),(270,180,5)); + var_00.v["fxid"] = "bla_goo_pollen_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_goo_pollen_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((380.568,-686.337,821.747),(270,180,5)); + var_00.v["fxid"] = "bla_goo_pollen_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_goo_pollen_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((108.13,-615.958,840.38),(270,180,5)); + var_00.v["fxid"] = "bla_goo_pollen_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_goo_pollen_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((35.9741,-1969.27,917.251),(270,180,5)); + var_00.v["fxid"] = "bla_goo_pollen_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_goo_pollen_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((219.289,954.196,875.932),(270,0,-70)); + var_00.v["fxid"] = "bla_goo_pollen_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_goo_pollen_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((1489.19,25.8893,792.477),(270,0,153)); + var_00.v["fxid"] = "bla_goo_pollen_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_goo_pollen_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1220.75,1647.22,655.952),(270,180,5)); + var_00.v["fxid"] = "bla_goo_pollen_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_goo_pollen_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-277.564,986.228,724.659),(270,0,-115)); + var_00.v["fxid"] = "bla_goo_pollen_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_goo_pollen_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-378.402,744.209,760.916),(270,0,93)); + var_00.v["fxid"] = "bla_goo_pollen_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_goo_pollen_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((1632.64,763.262,705.457),(270,0,-120)); + var_00.v["fxid"] = "bla_goo_pollen_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_goo_pollen_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((1757.76,252.533,790.405),(270,0,-120)); + var_00.v["fxid"] = "bla_goo_pollen_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_goo_pollen_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((1952.93,-397.738,954.612),(270,0,-120)); + var_00.v["fxid"] = "bla_goo_pollen_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_goo_pollen_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((1631.88,-760.923,864.307),(270,0,174)); + var_00.v["fxid"] = "bla_goo_pollen_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_goo_pollen_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((1266.51,-1508.28,1016.32),(270,0,135)); + var_00.v["fxid"] = "bla_goo_pollen_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_goo_pollen_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((211.219,-2251.4,974.911),(270,0,-120)); + var_00.v["fxid"] = "bla_goo_pollen_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_goo_pollen_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-170.022,-694.689,1024.69),(270,180,126)); + var_00.v["fxid"] = "bla_goo_pollen_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_goo_pollen_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-705.888,422.495,747.581),(270,0,120)); + var_00.v["fxid"] = "bla_goo_pollen_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_goo_pollen_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-892.628,873.975,685.57),(270,0,-120)); + var_00.v["fxid"] = "bla_goo_pollen_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_goo_pollen_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1419.83,1420.47,693.775),(270,0,-120)); + var_00.v["fxid"] = "bla_goo_pollen_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_goo_pollen_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((942.276,-2991.97,1085.23),(270,180,5)); + var_00.v["fxid"] = "bla_goo_pollen_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_goo_pollen_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-588.986,-38.1995,886.81),(270,180,5)); + var_00.v["fxid"] = "bla_goo_pollen_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_goo_pollen_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((973.51,-2668.75,1016.13),(270,180,5)); + var_00.v["fxid"] = "bla_goo_pollen_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_goo_pollen_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((84.3063,-1907.09,999.356),(270,180,5)); + var_00.v["fxid"] = "bla_goo_pollen_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((261.387,-3375.14,1051.85),(302.473,301.14,-19.7769)); + var_00.v["fxid"] = "fire_lp_s_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-153.194,-3363.8,1079.77),(285.028,275.5,-41.8521)); + var_00.v["fxid"] = "fire_lp_s_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_falling_runner_point_infrequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((507.818,-769.341,1493.04),(270,0,0)); + var_00.v["fxid"] = "fire_falling_runner_point_infrequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_falling_runner_point_infrequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-805.483,1492.93,1055.96),(270,0,0)); + var_00.v["fxid"] = "fire_falling_runner_point_infrequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_gu_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-70.5724,-1861.91,1186.88),(271.9,304.646,-56)); + var_00.v["fxid"] = "bla_falling_gu_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_gu_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((89.0221,-1937.06,1044.88),(271.899,304.645,-66.2471)); + var_00.v["fxid"] = "bla_falling_gu_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_gu_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-256.776,-1395.73,986.235),(271.899,304.644,-147.948)); + var_00.v["fxid"] = "bla_falling_gu_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_gu_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((137.98,-1797.36,1018.04),(271.899,304.647,121.798)); + var_00.v["fxid"] = "bla_falling_gu_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_gu_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1570.37,1.15814,886.747),(271.899,304.658,7.78665)); + var_00.v["fxid"] = "bla_falling_gu_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_gu_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-167.502,-1375.12,1328.63),(271.899,304.656,-48.2622)); + var_00.v["fxid"] = "bla_falling_gu_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((600.718,-2902.6,1258.83),(270,0,0)); + var_00.v["fxid"] = "fire_lp_s_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((1479.86,-2269.82,1031.58),(270,180,-99)); + var_00.v["fxid"] = "fire_lp_s_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((163.514,-2740.8,980.568),(270,0,0)); + var_00.v["fxid"] = "fire_lp_xs_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((41.7455,-1903.41,1554.33),(270,0,-159)); + var_00.v["fxid"] = "bla_falling_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_smk_s"); + var_00 common_scripts\_createfx::set_origin_and_angles((202.335,-2625.17,1046.92),(270,0,0)); + var_00.v["fxid"] = "fire_lp_smk_s"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1212.3,1103.17,704.046),(277.524,82.5378,30.248)); + var_00.v["fxid"] = "fire_lp_xs_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner_slit"); + var_00 common_scripts\_createfx::set_origin_and_angles((-313.45,549.207,1204.3),(292.094,162.339,-161.094)); + var_00.v["fxid"] = "electrical_sparks_runner_slit"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_ceiling_edge_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1037.53,-1277.86,1193.96),(9.10417,189.688,75.235)); + var_00.v["fxid"] = "fire_ceiling_edge_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_floodlight_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((429.693,403.806,1096.38),(23.3998,203.303,5.60563)); + var_00.v["fxid"] = "bla_floodlight_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_floodlight_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-248.863,80.7101,1094.48),(32.6952,27.2874,0.17093)); + var_00.v["fxid"] = "bla_floodlight_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_floodlight_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((283.796,-1567.96,1223.07),(22.4508,167.394,1.21676)); + var_00.v["fxid"] = "bla_floodlight_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_floodlight_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((388.953,-1237.78,1223.16),(27.2019,203.707,0.296054)); + var_00.v["fxid"] = "bla_floodlight_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_godray_hazy_sml"); + var_00 common_scripts\_createfx::set_origin_and_angles((-402.405,2316.77,683.173),(1.19,154.344,60.7916)); + var_00.v["fxid"] = "bla_godray_hazy_sml"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_godray_hazy_sml"); + var_00 common_scripts\_createfx::set_origin_and_angles((-41.0593,1895.14,670.32),(1.19,154.344,60.7916)); + var_00.v["fxid"] = "bla_godray_hazy_sml"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_wrap_post_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-342.476,-1823.84,1538.16),(336.572,257.727,100.728)); + var_00.v["fxid"] = "fire_wrap_post_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-894.39,1904.89,620.177),(279.689,24.5536,67.1369)); + var_00.v["fxid"] = "fire_lp_s_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1053.57,-1776.48,996.1),(280.803,354.423,101.104)); + var_00.v["fxid"] = "fire_lp_xs_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((609.386,-1455.9,1386.64),(270,0,-74)); + var_00.v["fxid"] = "bla_falling_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_pipe_leak_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-265.297,1661.49,1016.5),(18,174,0)); + var_00.v["fxid"] = "fire_pipe_leak_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoke_grey_column_spot_directional_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((860.126,-4496.32,1685.7),(284,73,78)); + var_00.v["fxid"] = "smoke_grey_column_spot_directional_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((823.375,-4074.41,1645.28),(276.863,157.75,3.74865)); + var_00.v["fxid"] = "fire_lp_m_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_goo_pollen_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-975.796,-2312.62,1010.22),(270,180,5)); + var_00.v["fxid"] = "bla_goo_pollen_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_goo_pollen_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1102.41,-1057.51,930.69),(270,180,5)); + var_00.v["fxid"] = "bla_goo_pollen_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((47.2176,-773.875,1520.14),(270,0,162)); + var_00.v["fxid"] = "bla_falling_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-846.629,1741.24,983.338),(270,0,-70)); + var_00.v["fxid"] = "bla_falling_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_goo_pollen_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1412.95,1125.83,753.285),(270,0,120)); + var_00.v["fxid"] = "bla_goo_pollen_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_crawl_interior_wall_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((615.862,-1311.91,1039.73),(355.153,253.042,-1.17534)); + var_00.v["fxid"] = "fire_crawl_interior_wall_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((608.515,-1314.13,1036.03),(270,0,-170)); + var_00.v["fxid"] = "fire_lp_xs_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("seo_dust_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((231.069,-44.3494,924.214),(270,0,0)); + var_00.v["fxid"] = "seo_dust_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("seo_dust_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((655.144,-614.214,1037.82),(270,0,0)); + var_00.v["fxid"] = "seo_dust_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("seo_dust_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((352.11,-1444.99,1128.49),(270,0,0)); + var_00.v["fxid"] = "seo_dust_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("seo_dust_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((-323.719,-1848.45,1081.87),(270,0,0)); + var_00.v["fxid"] = "seo_dust_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-638.386,1143.35,673.397),(270,0,0)); + var_00.v["fxid"] = "fire_lp_xs_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((779.168,929.376,710.711),(295.052,169.761,-112.254)); + var_00.v["fxid"] = "fire_lp_xs_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ash_ember_cloud_freq_lrg_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((1549.38,-670.87,1280.26),(270,0,0)); + var_00.v["fxid"] = "ash_ember_cloud_freq_lrg_loop"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ash_ember_cloud_freq_lrg_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((548.423,2203.64,803.555),(270,0,0)); + var_00.v["fxid"] = "ash_ember_cloud_freq_lrg_loop"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1028.75,-1203.56,1132.96),(270,0,0)); + var_00.v["fxid"] = "fire_lp_xs_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1730.75,-2652.48,1274.54),(297.731,232.597,158.089)); + var_00.v["fxid"] = "fire_lp_m_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((24.8725,-2404.47,988.685),(299.926,81.8604,-2.08587)); + var_00.v["fxid"] = "fire_lp_xs_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_tiny_area"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1010.34,-1344.24,949.274),(270,0,136)); + var_00.v["fxid"] = "fire_tiny_area"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("embers_burst_lrg_constant"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1661.19,-2566.01,1500.73),(293.17,215.856,110.551)); + var_00.v["fxid"] = "embers_burst_lrg_constant"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("embers_burst_lrg_constant"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1758.26,-2589.11,1494.5),(283,303.002,89.9977)); + var_00.v["fxid"] = "embers_burst_lrg_constant"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_campfire_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-391.556,-2417.59,1018.96),(270,0,0)); + var_00.v["fxid"] = "fire_campfire_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_campfire_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-458.453,-1700.05,1297.7),(270,0,0)); + var_00.v["fxid"] = "fire_campfire_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((640.492,-2240.43,1014.88),(270,180,-114)); + var_00.v["fxid"] = "fire_lp_xs_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-532.386,-1785.31,940.006),(282.891,248.044,-53.7341)); + var_00.v["fxid"] = "fire_lp_xs_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_campfire_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((653.029,-2569.3,1019.58),(275.858,136.219,153.982)); + var_00.v["fxid"] = "fire_campfire_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bird_vulture_circle_runner_less"); + var_00 common_scripts\_createfx::set_origin_and_angles((-737.736,-770.767,4219.76),(270,0,0)); + var_00.v["fxid"] = "bird_vulture_circle_runner_less"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bird_vulture_circle_runner_less"); + var_00 common_scripts\_createfx::set_origin_and_angles((3197.64,3708.54,2102.39),(270,0,0)); + var_00.v["fxid"] = "bird_vulture_circle_runner_less"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bird_vulture_circle_runner_less"); + var_00 common_scripts\_createfx::set_origin_and_angles((7661.34,-921.672,2444.96),(270,0,0)); + var_00.v["fxid"] = "bird_vulture_circle_runner_less"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bird_vulture_circle_runner_less"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2283.25,3826.5,4796.72),(270,0,0)); + var_00.v["fxid"] = "bird_vulture_circle_runner_less"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-27.8275,2177.44,622.948),(270,0,153)); + var_00.v["fxid"] = "fire_lp_xs_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_ceiling_edge_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((-347.476,619.16,1215),(88.8301,127.189,99.2069)); + var_00.v["fxid"] = "fire_ceiling_edge_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1324.69,1072.19,769.497),(270,180,-125)); + var_00.v["fxid"] = "fire_lp_s_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_smk_s"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1656.59,-2530.25,1041.24),(270,0,0)); + var_00.v["fxid"] = "fire_lp_smk_s"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_smk_s"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1759.39,-2528.3,1097.35),(270,180,-125)); + var_00.v["fxid"] = "fire_lp_smk_s"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-735.11,-2688.77,1050.8),(270,180,135)); + var_00.v["fxid"] = "fire_lp_xs_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-371.843,-2804.02,1042.78),(270,180,135)); + var_00.v["fxid"] = "fire_lp_xs_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_tiny_area"); + var_00 common_scripts\_createfx::set_origin_and_angles((240.874,-3589.49,1083.2),(270,180,-102)); + var_00.v["fxid"] = "fire_tiny_area"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((817.018,-4118.13,1458.46),(270,0,0)); + var_00.v["fxid"] = "fire_lp_xs_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("grass_blowing_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((599.572,-2756.39,1081.19),(348.386,143.997,91.0222)); + var_00.v["fxid"] = "grass_blowing_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("grass_blowing_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((489.888,-3468.82,1211.08),(352.274,205.917,15.1403)); + var_00.v["fxid"] = "grass_blowing_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("grass_blowing_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1343.93,-2636.51,1103.23),(328.454,137.684,89.7857)); + var_00.v["fxid"] = "grass_blowing_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("grass_blowing_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-525.88,-2583.46,1068.15),(5.04494,162.664,16.2097)); + var_00.v["fxid"] = "grass_blowing_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("grass_blowing_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1279.17,-836.361,1055.86),(357.048,13.8734,-20.0256)); + var_00.v["fxid"] = "grass_blowing_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("grass_blowing_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1332.27,-218.24,1127.07),(357.048,13.8734,-20.0256)); + var_00.v["fxid"] = "grass_blowing_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("grass_blowing_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1735.15,512.234,1039),(357.048,13.8734,-20.0256)); + var_00.v["fxid"] = "grass_blowing_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("grass_blowing_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1043.42,1898.18,779.995),(354.695,176.685,7.71386)); + var_00.v["fxid"] = "grass_blowing_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("grass_blowing_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((540.383,1296.52,779.945),(354.695,176.685,7.71386)); + var_00.v["fxid"] = "grass_blowing_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("grass_blowing_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1051.75,776.218,794.227),(346.461,355.764,-2.45149)); + var_00.v["fxid"] = "grass_blowing_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("grass_blowing_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1949.41,90.7734,801.325),(330.213,211.514,3.5523)); + var_00.v["fxid"] = "grass_blowing_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("grass_blowing_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1994.37,-818.344,1024.06),(345.529,185.961,15.9511)); + var_00.v["fxid"] = "grass_blowing_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("grass_blowing_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1359.41,-2396.73,1122.86),(345.529,185.961,15.9511)); + var_00.v["fxid"] = "grass_blowing_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("grass_blowing_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((674.906,-3066.66,1095.13),(346.199,347.405,-21.1598)); + var_00.v["fxid"] = "grass_blowing_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoke_grey_column_spot_directional_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((1755.04,-2186.49,1385.98),(278.892,323.93,103.298)); + var_00.v["fxid"] = "smoke_grey_column_spot_directional_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_direction_fast_s"); + var_00 common_scripts\_createfx::set_origin_and_angles((834.242,641.918,748.606),(280.306,228.606,121.016)); + var_00.v["fxid"] = "smoldering_smk_direction_fast_s"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_direction_fast_s"); + var_00 common_scripts\_createfx::set_origin_and_angles((-889.752,-1201.26,986.722),(273.754,71.4165,161.677)); + var_00.v["fxid"] = "smoldering_smk_direction_fast_s"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_direction_fast_s"); + var_00 common_scripts\_createfx::set_origin_and_angles((-839.729,-2288.28,1021.07),(273.754,71.4165,161.677)); + var_00.v["fxid"] = "smoldering_smk_direction_fast_s"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_xs_vent_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((649.947,-2934.23,1199.19),(279,180,180)); + var_00.v["fxid"] = "steam_xs_vent_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoke_plume"); + var_00 common_scripts\_createfx::set_origin_and_angles((-777.259,-540.169,1280.54),(275.942,74.7711,-1.3774)); + var_00.v["fxid"] = "smoke_plume"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_direction_fast_s"); + var_00 common_scripts\_createfx::set_origin_and_angles((-168.081,1507.14,693.742),(270,0,0)); + var_00.v["fxid"] = "smoldering_smk_direction_fast_s"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoke_plume"); + var_00 common_scripts\_createfx::set_origin_and_angles((-428.57,-2722.34,1188.17),(270,0,0)); + var_00.v["fxid"] = "smoke_plume"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoke_plume"); + var_00 common_scripts\_createfx::set_origin_and_angles((-602.132,-2706.65,1270.27),(270,0,0)); + var_00.v["fxid"] = "smoke_plume"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_xs_vent_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-773.325,-545.861,1244.94),(286.13,10.3106,-112.101)); + var_00.v["fxid"] = "steam_xs_vent_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_pipe_leak_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-328.031,544.08,1223.88),(24.5854,95.6241,19.7824)); + var_00.v["fxid"] = "fire_pipe_leak_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-387.789,543.685,828.654),(277.524,82.5348,-60.7498)); + var_00.v["fxid"] = "fire_lp_xs_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-66.8748,749.268,1272),(270,0,-156)); + var_00.v["fxid"] = "bla_falling_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_wrap_post_sml"); + var_00 common_scripts\_createfx::set_origin_and_angles((-469.528,-1812.12,1444.38),(353.798,248.964,103.95)); + var_00.v["fxid"] = "fire_wrap_post_sml"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("grass_blowing_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-239.157,-2594.4,996.8),(351.722,304.407,-5.63133)); + var_00.v["fxid"] = "grass_blowing_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_xs_vent_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1458.58,-2104.7,1276.9),(283.158,303.844,-44.4178)); + var_00.v["fxid"] = "steam_xs_vent_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_xs_vent_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1473.08,-2150.36,1169.44),(283.158,303.844,-44.4178)); + var_00.v["fxid"] = "steam_xs_vent_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("seo_dust_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((-530.481,1759.69,812.987),(270,0,0)); + var_00.v["fxid"] = "seo_dust_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_campfire_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1342.08,-182.274,1092.31),(270,0,0)); + var_00.v["fxid"] = "fire_campfire_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_campfire_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1322.58,-248.492,1123.21),(290,90,4)); + var_00.v["fxid"] = "fire_campfire_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_gu_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-766.334,-540.831,1129.58),(271.899,304.655,-133.21)); + var_00.v["fxid"] = "bla_falling_gu_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_gu_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1422.27,-2272.98,1121.87),(272.36,135.162,130.353)); + var_00.v["fxid"] = "bla_falling_gu_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_gu_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((550.074,-525.093,935.738),(271.899,304.652,-169.208)); + var_00.v["fxid"] = "bla_falling_gu_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_gu_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-289.454,636.199,933.229),(271.899,304.652,-175.209)); + var_00.v["fxid"] = "bla_falling_gu_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_gu_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-154.709,788.061,927.743),(273.682,250.337,-129.944)); + var_00.v["fxid"] = "bla_falling_gu_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_gu_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10.1852,840.361,934.429),(273.682,250.337,-129.944)); + var_00.v["fxid"] = "bla_falling_gu_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_gu_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1394.13,1205.36,924.421),(273.682,250.332,-94.9385)); + var_00.v["fxid"] = "bla_falling_gu_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smk_stacks_lp_sml_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((-553.695,-7074.36,2467.37),(270,0,22)); + var_00.v["fxid"] = "smk_stacks_lp_sml_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smk_stacks_lp_sml_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4538.94,-2632.49,1223.69),(270,0,-70)); + var_00.v["fxid"] = "smk_stacks_lp_sml_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_direction_fast_m_shadow"); + var_00 common_scripts\_createfx::set_origin_and_angles((759.05,-395.604,1326.4),(284.418,41.2176,104.95)); + var_00.v["fxid"] = "smoldering_smk_direction_fast_m_shadow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_direction_fast_m_shadow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-191.4,-795.063,1353.75),(291.22,2.17438,100.259)); + var_00.v["fxid"] = "smoldering_smk_direction_fast_m_shadow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-682.152,-1525.3,1012.31),(270,180,-114)); + var_00.v["fxid"] = "fire_lp_xs_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_direction_fast_m_shadow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-409.062,-1763.4,1514.43),(280.609,337.989,112.008)); + var_00.v["fxid"] = "smoldering_smk_direction_fast_m_shadow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_direction_fast_s"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1554.49,-2125.53,1023.18),(276,127,111)); + var_00.v["fxid"] = "smoldering_smk_direction_fast_s"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_campfire_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1535.33,-1677.62,1066.84),(270,0,0)); + var_00.v["fxid"] = "fire_campfire_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((33.2376,1773.91,621.675),(280,63,168)); + var_00.v["fxid"] = "fire_lp_xs_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16.002,1421.68,665.852),(280,63,-177)); + var_00.v["fxid"] = "fire_lp_xs_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_smk_s"); + var_00 common_scripts\_createfx::set_origin_and_angles((21.3617,884.108,839.472),(277.588,33.2547,-53.4361)); + var_00.v["fxid"] = "fire_lp_smk_s"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_smk_s"); + var_00 common_scripts\_createfx::set_origin_and_angles((-236.723,1263.19,701.178),(277.588,33.2541,5.56417)); + var_00.v["fxid"] = "fire_lp_smk_s"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoldering_smk_direction_fast_s"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1564.5,1303.7,702.786),(270,180,-138)); + var_00.v["fxid"] = "smoldering_smk_direction_fast_s"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoke_grey_column_spot_directional_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((-856.259,1439.11,1195.64),(278.591,81.2015,67.5175)); + var_00.v["fxid"] = "smoke_grey_column_spot_directional_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1299.73,892.61,909.086),(270,0,-143)); + var_00.v["fxid"] = "fire_lp_xs_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-714.839,1518.15,1119.36),(286.13,212.311,-97.1015)); + var_00.v["fxid"] = "fire_lp_m_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((741.905,458.899,794.075),(288.739,216.543,176.95)); + var_00.v["fxid"] = "fire_lp_xs_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_tiny_area"); + var_00 common_scripts\_createfx::set_origin_and_angles((773.177,455.209,789.977),(270,0,0)); + var_00.v["fxid"] = "fire_tiny_area"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoke_plume"); + var_00 common_scripts\_createfx::set_origin_and_angles((-508.857,-2725.81,1248.34),(270,0,0)); + var_00.v["fxid"] = "smoke_plume"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((1141.4,-3393.92,1336.05),(278.58,176.247,126.414)); + var_00.v["fxid"] = "fire_lp_m_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoke_grey_column_spot_directional_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1833.66,-2628.75,1385.42),(278.892,323.93,103.298)); + var_00.v["fxid"] = "smoke_grey_column_spot_directional_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoke_grey_column_spot_directional_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((957.026,866.132,1001.06),(281.11,310.846,122.212)); + var_00.v["fxid"] = "smoke_grey_column_spot_directional_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((876.081,887.257,901.057),(310,10,90)); + var_00.v["fxid"] = "fire_lp_s_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((897.333,873.048,968.527),(300,10,90)); + var_00.v["fxid"] = "fire_lp_s_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((914.749,871.472,1000.72),(300,10,90)); + var_00.v["fxid"] = "fire_lp_xs_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((921.59,871.195,1018.71),(315,10,90)); + var_00.v["fxid"] = "fire_lp_xs_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_gu_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1056.66,-444.842,955.61),(273.682,250.33,105.063)); + var_00.v["fxid"] = "bla_falling_gu_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-308.063,-2939.77,1238.69),(303.669,24.486,-103.913)); + var_00.v["fxid"] = "fire_lp_m_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ash_ember_cloud_freq_lrg_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1063.64,-1474.63,1338.8),(270,0,0)); + var_00.v["fxid"] = "ash_ember_cloud_freq_lrg_loop"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ash_ember_cloud_freq_lrg_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((1136.07,-1882.13,1313.82),(270,0,0)); + var_00.v["fxid"] = "ash_ember_cloud_freq_lrg_loop"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("embers_burst_lrg_constant"); + var_00 common_scripts\_createfx::set_origin_and_angles((865.822,867.224,1075.67),(283.423,236.421,-137.632)); + var_00.v["fxid"] = "embers_burst_lrg_constant"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("embers_burst_lrg_constant"); + var_00 common_scripts\_createfx::set_origin_and_angles((866.958,2599.64,649.363),(270,0,0)); + var_00.v["fxid"] = "embers_burst_lrg_constant"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("embers_burst_lrg_constant"); + var_00 common_scripts\_createfx::set_origin_and_angles((571.626,2810.18,584.768),(270,0,0)); + var_00.v["fxid"] = "embers_burst_lrg_constant"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("embers_burst_lrg_constant"); + var_00 common_scripts\_createfx::set_origin_and_angles((1118.53,3047.12,540.265),(270,0,0)); + var_00.v["fxid"] = "embers_burst_lrg_constant"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoke_grey_column_spot_directional_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((2233.73,-215.685,714.26),(280,300,65)); + var_00.v["fxid"] = "smoke_grey_column_spot_directional_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("seo_dust_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((52.8044,776.893,1045.95),(270,0,0)); + var_00.v["fxid"] = "seo_dust_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("seo_dust_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((-220.367,83.6073,991.68),(270,0,0)); + var_00.v["fxid"] = "seo_dust_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_godray_hazy_sml"); + var_00 common_scripts\_createfx::set_origin_and_angles((729.313,-650.227,1039.24),(3.14581,133.802,49.9986)); + var_00.v["fxid"] = "bla_godray_hazy_sml"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_godray_hazy_sml"); + var_00 common_scripts\_createfx::set_origin_and_angles((-660.888,-1132.06,1066.61),(1.21528,131.503,31.911)); + var_00.v["fxid"] = "bla_godray_hazy_sml"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_godray_hazy_sml"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1367.75,589.522,1074),(349.896,124.795,34.5498)); + var_00.v["fxid"] = "bla_godray_hazy_sml"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_godray_hazy_sml"); + var_00 common_scripts\_createfx::set_origin_and_angles((1543.22,-948.625,1012),(349.896,124.795,34.5498)); + var_00.v["fxid"] = "bla_godray_hazy_sml"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_godray_hazy_sml"); + var_00 common_scripts\_createfx::set_origin_and_angles((1036.17,-2949.01,1252.25),(349.896,124.795,34.5498)); + var_00.v["fxid"] = "bla_godray_hazy_sml"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_floodlight_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((481.584,-886.388,1222.51),(30.4487,167.59,1.30416)); + var_00.v["fxid"] = "bla_floodlight_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_gu_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-93.4105,-1320.42,1186.3),(271.9,304.646,-143)); + var_00.v["fxid"] = "bla_falling_gu_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_campfire_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1544.27,-2009.45,1041.16),(270,0,0)); + var_00.v["fxid"] = "fire_campfire_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_floodlight_flare_orange_sq"); + var_00 common_scripts\_createfx::set_origin_and_angles((336.046,-68.6979,1060.88),(86.6493,113.412,-89.0617)); + var_00.v["fxid"] = "bla_floodlight_flare_orange_sq"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_floodlight_flare_orange_sq"); + var_00 common_scripts\_createfx::set_origin_and_angles((300.959,5.94548,1064.88),(86.6493,113.412,-89.0617)); + var_00.v["fxid"] = "bla_floodlight_flare_orange_sq"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_floodlight_flare_orange_sq"); + var_00 common_scripts\_createfx::set_origin_and_angles((183.522,-146.795,1064.88),(86.6493,113.412,-89.0617)); + var_00.v["fxid"] = "bla_floodlight_flare_orange_sq"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_floodlight_flare_orange_sq"); + var_00 common_scripts\_createfx::set_origin_and_angles((146.798,-72.7328,1064.88),(86.6493,113.412,-89.0617)); + var_00.v["fxid"] = "bla_floodlight_flare_orange_sq"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smk_stacks_lp_sml_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((736.425,4516.14,1010.21),(297.273,348.204,18.7561)); + var_00.v["fxid"] = "smk_stacks_lp_sml_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoke_grey_column_spot_directional_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((-80.0481,2379.9,844.336),(291.383,25.0468,66.3316)); + var_00.v["fxid"] = "smoke_grey_column_spot_directional_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_windy_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((826.263,2164.27,644.372),(270,0,0)); + var_00.v["fxid"] = "battlefield_smoke_windy_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-539.233,2520.78,652.375),(291,270,-117)); + var_00.v["fxid"] = "fire_lp_s_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((47.968,-1351.43,1504.51),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((46.229,-1339.42,1504.52),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_mp_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((161.007,-1910.4,1370.28),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_mp_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-379.069,-1677.92,1343.74),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_mp_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-843.771,1893.5,940.843),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_mp_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((252.789,851.71,1181.77),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_mp_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((626.891,561.224,1173.99),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_mp_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-449.652,-1766.15,1043.58),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_debris_settle_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1275.02,-693.443,1025.42),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_debris_settle_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1474.29,-2256.97,1019.72),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_debris_settle_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1467.59,-2053.73,1090.73),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_debris_settle_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2073.22,-1124.33,998.318),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_debris_settle_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((893.807,869.893,781.683),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_debris_settle_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((124.197,1691.33,821.635),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_debris_settle_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1104.04,-3436.44,1430.28),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "metal_stress_low_far"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((258.901,-1960.27,1243.92),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "metal_stress_low_far"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-280.052,-1453.56,1223.17),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "metal_stress_low_far"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-130.138,-1041.67,1238.28),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "metal_stress_low_far"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((246.378,564.206,1159.49),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "metal_stress_low_far"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-391.716,1909.9,974.797),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "metal_stress_low_far"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-382.705,1801.13,959.045),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_mp_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-12.2969,2183.72,630.96),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_mp_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-19.9342,1697.58,715.864),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((333.31,1803.55,668.46),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((181.788,817.081,910.672),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1500.99,-2166.42,1160.43),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-707.606,-2707.98,1126.88),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1554.83,-1703.34,1136),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2115.26,-1998.75,1128.6),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2039.8,-1548.37,1140.03),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-876.929,-618.485,1002.26),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1383.32,-471.666,1152.69),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-235.409,692.611,873.418),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((99.2187,2108.63,645.21),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2351.09,-398.565,901.96),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1247.13,-2589.32,1031.41),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1150.92,-3321.46,1318.1),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1208.51,-2921.6,1293.13),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((33.1697,-3318.78,1054.18),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((512.884,-3387.48,1118.79),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-408.349,-2770.78,1196.97),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((331.663,-1048.53,960.74),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((241.855,-1320.36,981.763),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((167.751,-1444.21,985.718),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-131.001,-999.21,970.282),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-190.924,-1180.19,957.789),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((44.5295,-823.794,954.102),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-805.943,1603.92,1060.07),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-157.561,1509.93,837.977),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6.57964,2216.04,681.247),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-770.087,2094.07,765.612),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((255.092,-2722.98,1034.26),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((662.894,-2520.05,1026.44),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((364.134,-1451.9,1303.75),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_mp_metal_knock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((596.947,-119.894,1169.17),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_mp_metal_knock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-218.517,186.28,1138.07),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_mp_metal_knock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-24.9061,1937.22,850.014),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_mp_metal_knock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-540.389,-2780.07,1330.67),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_mp_metal_knock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1097.19,-2003.46,1168.26),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_mp_metal_knock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-76.0313,514.365,1111.01),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_mp_metal_creak_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((248.341,-1451.85,1481.88),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_mp_metal_creak_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((208.717,-329.629,1255.54),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_mp_metal_creak_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-119.163,260.171,1223.88),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_mp_metal_creak_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((143.728,671.991,1223.88),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_mp_metal_creak_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((732.313,-501.526,1031.68),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_mp_metal_creak_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-985.03,-2754.19,1329.08),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_mp_metal_creak_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-211.098,1930.75,957.796),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_mp_metal_creak_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-603.845,1553.13,797.357),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_mp_metal_creak_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-377.351,539.589,1007.22),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((434.252,-1288.38,1222.8),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-103.393,-823.258,1384.04),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((131.905,-539.542,1272.02),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((423.475,-305.827,1271.88),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((567.609,-310.845,1279.7),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-24.2064,324.068,1269.24),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((406.576,358.536,1186.24),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((336.417,191.003,1005.11),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-269.318,80.8461,1001.56),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((723.574,-294.801,911.937),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((577.227,-443.44,862.458),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2346,28.3356,606.563),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2059.19,-312.506,832.822),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1909.98,333.088,766.068),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_climate_3_fx.gsc b/AW/PC/maps/createfx/mp_climate_3_fx.gsc new file mode 100644 index 0000000..f2510ff --- /dev/null +++ b/AW/PC/maps/createfx/mp_climate_3_fx.gsc @@ -0,0 +1,2232 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_climate_3_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 151 ms + * Timestamp: 4/22/2024 2:07:33 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1415.85,-865.501,46),(270,0,0)); + var_00.v["soundalias"] = "emt_river_flow_bright_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1059.28,98.5135,46),(270,0,0)); + var_00.v["soundalias"] = "emt_river_edge_lrg_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1528.36,-739.308,46),(270,0,0)); + var_00.v["soundalias"] = "emt_river_edge_lrg_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1448.33,-838.682,513.431),(270,0,0)); + var_00.v["soundalias"] = "emt_river_edge_lrg_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((626.432,-167.833,46),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((630.223,219.296,46),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4.75299,-156.639,46),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((105.74,149.346,46),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-217.378,216.074,46),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-166.908,519.528,46),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-218.36,225.585,46),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_cave_rock_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-28.9702,-406.931,46),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_cave_rock_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((416.157,-226.015,46),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_cave_rock_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-63.5863,-545.207,51.8632),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_cave_rock_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1645.08,82.3751,46),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1399.41,-909.286,46),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((151.417,-942.239,46),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((100.177,-670.941,46),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-483.144,-608.689,46),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1027.99,-332.695,46),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1329.43,1271.54,46),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1094.49,901.087,46),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-264.858,1757.45,386.446),(270,0,0)); + var_00.v["soundalias"] = "vent_rattle_metal_large_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((250.061,204.146,68.7126),(270,0,0)); + var_00.v["soundalias"] = "vent_rattle_metal_large_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-328.825,-904.861,46),(270,0,0)); + var_00.v["soundalias"] = "event_acid_water_lp_var_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-568.438,-923.969,46),(270,0,0)); + var_00.v["soundalias"] = "event_acid_water_lp_var_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-766.083,-1107.88,46),(270,0,0)); + var_00.v["soundalias"] = "event_acid_water_lp_var_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-86.3122,-1013.84,46),(270,0,0)); + var_00.v["soundalias"] = "event_acid_water_lp_var_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((567.238,-624.815,46),(270,0,0)); + var_00.v["soundalias"] = "event_acid_water_lp_var_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1022.01,-191.284,46),(270,0,0)); + var_00.v["soundalias"] = "event_acid_water_lp_var_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1384.43,-933.505,46),(270,0,0)); + var_00.v["soundalias"] = "event_acid_water_lp_var_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((214.068,-1101.79,46),(270,0,0)); + var_00.v["soundalias"] = "event_acid_water_lp_var_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((74.4524,-282.258,46),(270,0,0)); + var_00.v["soundalias"] = "event_acid_water_lp_var_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((220.942,40.0804,46),(270,0,0)); + var_00.v["soundalias"] = "event_acid_water_lp_var_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-283.994,243.74,46),(270,0,0)); + var_00.v["soundalias"] = "event_acid_water_lp_var_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-300.409,735.753,46),(270,0,0)); + var_00.v["soundalias"] = "event_acid_water_lp_var_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((230.659,700.754,46),(270,0,0)); + var_00.v["soundalias"] = "event_acid_water_lp_var_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-570.989,142.549,46),(270,0,0)); + var_00.v["soundalias"] = "event_acid_water_lp_var_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1609.65,1113.72,46),(270,0,0)); + var_00.v["soundalias"] = "event_acid_water_lp_var_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1214.36,631.634,46),(270,0,0)); + var_00.v["soundalias"] = "event_acid_water_lp_var_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1039.01,1078.27,46),(270,0,0)); + var_00.v["soundalias"] = "event_acid_water_lp_var_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((551.279,-577.472,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((724.246,-261.843,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((811.651,-8.72418,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1098.44,-115.078,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1349.47,3.08852,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1425.18,161.22,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1673.95,88.251,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-201.963,702.756,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((124.709,723.081,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((475.446,622.346,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((833.086,546.245,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((812.846,270.951,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((697.235,161.697,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((885.405,16.6633,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((212.948,-763.213,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-320.955,-662.451,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-412.995,-977.131,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-206.338,-985.308,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-692.728,-445.242,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1148.57,-492.597,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1235.02,-60.206,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1146.88,126.638,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-578.283,350.057,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-476.885,565.463,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-714.244,-374.908,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1105.86,-1068.44,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1448.54,-532.335,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1292.89,-376.897,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1571.87,1103.56,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1336.74,1203.45,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1067.75,995.643,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1215.9,850.987,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1416.39,-939.996,46),(270,0,0)); + var_00.v["soundalias"] = "event_water_churn_post_acid_lo_lp"; + var_00 = common_scripts\utility::createoneshoteffect("fx_sunflare_mp_climate_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((1302.51,801.88,3173.71),(270,0,0)); + var_00.v["fxid"] = "fx_sunflare_mp_climate_3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_needles_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1008.79,534.28,464.6),(271,16,116)); + var_00.v["fxid"] = "ambient_needles_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_needles_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-924.096,14.0473,201.789),(271,16,116)); + var_00.v["fxid"] = "ambient_needles_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_needles_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1132.23,-509.468,868.9),(271,16,116)); + var_00.v["fxid"] = "ambient_needles_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("flower_petals_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2106.98,1287.18,686.406),(270,180,128)); + var_00.v["fxid"] = "flower_petals_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1450.18,904.922,66.0556),(270,0,48)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1573.97,50.5536,74),(270,0,133)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_needles_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1428.56,-1348.9,124.249),(271,16,97)); + var_00.v["fxid"] = "ambient_needles_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_needles_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-894.153,182.146,303.897),(271,16,116)); + var_00.v["fxid"] = "ambient_needles_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1621.16,807.892,64),(270,0,122)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1869.44,-157.537,57.4265),(270,0,-117)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1676.08,-754.694,56.4484),(270,0,-117)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1745.9,625.768,56),(270,0,108)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1905.74,685.509,61.3134),(270,0,-178)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1829.29,274.751,64),(270,0,-164)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1501.55,438.945,76.3181),(276,257,-90)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_birds_takeoff_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((7745.69,-4387.38,3018.57),(270,0,0)); + var_00.v["fxid"] = "mp_climate_birds_takeoff_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_birds_takeoff_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2798.4,-3183.97,3431.95),(270,0,0)); + var_00.v["fxid"] = "mp_climate_birds_takeoff_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_birds_takeoff_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((5635.48,1138.24,4369.99),(270,0,0)); + var_00.v["fxid"] = "mp_climate_birds_takeoff_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("flower_petals_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1138.16,1980.41,398.285),(270,180,128)); + var_00.v["fxid"] = "flower_petals_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_needles_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1859.5,315.694,87.3073),(271,16,116)); + var_00.v["fxid"] = "ambient_needles_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_leaves_blow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-749.817,666.848,432.692),(270,180,-32)); + var_00.v["fxid"] = "mp_climate_leaves_blow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_leaves_blow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2183.61,-305.422,365.023),(336,120,0)); + var_00.v["fxid"] = "mp_climate_leaves_blow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_pipe_drip_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-201.867,464.502,94.0336),(270,0,0)); + var_00.v["fxid"] = "water_pipe_drip_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_small_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2433.8,370.052,256.619),(270,0,0)); + var_00.v["fxid"] = "electrical_sparks_small_runner"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-486.826,169.602,39.2326),(270,0,0)); + var_00.v["fxid"] = "mp_climate_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-131.122,516.632,46.125),(270,0,0)); + var_00.v["fxid"] = "mp_climate_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((500.107,-174.939,46.125),(270,0,0)); + var_00.v["fxid"] = "mp_climate_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((24.9775,-484.713,46.125),(270,0,0)); + var_00.v["fxid"] = "mp_climate_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((61.6999,-133.57,192.457),(270,0,0)); + var_00.v["fxid"] = "mp_climate_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((374.234,-1584.77,85.8547),(270,0,0)); + var_00.v["fxid"] = "mp_climate_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((86.5789,78.7647,188),(270,0,0)); + var_00.v["fxid"] = "mp_climate_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("flower_petals_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-960.385,914.36,622.146),(270,180,128)); + var_00.v["fxid"] = "flower_petals_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("flower_petals_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-815.771,457.564,480.594),(270,180,128)); + var_00.v["fxid"] = "flower_petals_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("flower_petals_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-930.099,-20.7291,571.591),(270,180,128)); + var_00.v["fxid"] = "flower_petals_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_vent_steam_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22.3774,-91.4787,521.067),(270,0,0)); + var_00.v["fxid"] = "mp_climate_vent_steam_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_vent_steam_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22.1397,-91.3418,603.665),(270,0,0)); + var_00.v["fxid"] = "mp_climate_vent_steam_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_vent_steam_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20.0595,-89.4881,806.128),(270,0,0)); + var_00.v["fxid"] = "mp_climate_vent_steam_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_vent_steam_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20.2972,-89.6249,685.531),(270,0,0)); + var_00.v["fxid"] = "mp_climate_vent_steam_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10.6651,-116.801,706.24),(328.451,20.0107,177.993)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1084.88,-1600.55,84.3184),(270,180,19)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-741.518,-1540.57,69.1373),(270,0,-149)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1103.61,-1214.71,70.6846),(270,0,119)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_needles_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1275.04,-1468.96,138.779),(271,16,97)); + var_00.v["fxid"] = "ambient_needles_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_needles_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1646.54,-1127.09,122.799),(271,16,97)); + var_00.v["fxid"] = "ambient_needles_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_needles_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1134.59,-1295.33,76.392),(271,16,97)); + var_00.v["fxid"] = "ambient_needles_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((167.898,170.217,90.2696),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((322.374,-218.231,90.4831),(270,0,92)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((35.2702,143.322,58.8519),(270,0,0)); + var_00.v["fxid"] = "mp_climate_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-24.9486,-501.397,88.4081),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = 5; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((31.1849,-290.782,56),(270,0,0)); + var_00.v["fxid"] = "mp_climate_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_pipe_drip_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((167.437,-42.721,86.3702),(270,0,0)); + var_00.v["fxid"] = "water_pipe_drip_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_pipe_drip_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((466.603,-118.151,86.4928),(270,0,0)); + var_00.v["fxid"] = "water_pipe_drip_lp"; + var_00.v["delay"] = 3; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-362.944,142.922,87.7411),(270,0,89)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((462.684,-1385.17,138.198),(2.78817,128.769,15.4411)); + var_00.v["fxid"] = "mp_godray_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((433.25,-1306.9,158.14),(2.78821,128.77,-8.55846)); + var_00.v["fxid"] = "mp_godray_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-36.3695,1210.44,64),(270,0,0)); + var_00.v["fxid"] = "mp_climate_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((155.268,1209.27,79),(270,0,0)); + var_00.v["fxid"] = "mp_climate_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_lightrays_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((705.703,1960.01,718.259),(17.9385,224.094,-0.972152)); + var_00.v["fxid"] = "cli_lightrays_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_lightrays_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1114.53,1676.02,561.137),(17.9641,227.247,0)); + var_00.v["fxid"] = "cli_lightrays_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_lightrays_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((359.931,2045.76,767.243),(17.9641,227.247,0)); + var_00.v["fxid"] = "cli_lightrays_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_lightrays_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((21.3882,2056.07,678.313),(17.9641,227.247,0)); + var_00.v["fxid"] = "cli_lightrays_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_lightrays_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-309.613,2016.25,648.705),(17.9641,227.247,0)); + var_00.v["fxid"] = "cli_lightrays_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_lightrays_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-688.853,1859.23,521.519),(17.9641,227.247,0)); + var_00.v["fxid"] = "cli_lightrays_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50.4622,1505.83,56.2045),(270,180,19)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("flower_petals_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((700.957,1083.59,852.951),(270,0,-76)); + var_00.v["fxid"] = "flower_petals_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("flower_petals_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((797.563,-764.973,610.336),(270,0,-18)); + var_00.v["fxid"] = "flower_petals_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("flower_petals_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1282.99,-387.923,612.818),(270,0,-18)); + var_00.v["fxid"] = "flower_petals_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_needles_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1051.69,-702.157,623.259),(271,16,116)); + var_00.v["fxid"] = "ambient_needles_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_needles_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((737.099,-835.814,495.837),(271,16,116)); + var_00.v["fxid"] = "ambient_needles_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("flower_petals_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1316.01,1490.61,661.473),(270,180,128)); + var_00.v["fxid"] = "flower_petals_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_insect_dragonfly_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((740.532,1805.48,517.105),(270,0,28)); + var_00.v["fxid"] = "cli_insect_dragonfly_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_insect_dragonfly_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((183.655,1904.83,533.958),(270,0,62)); + var_00.v["fxid"] = "cli_insect_dragonfly_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_insect_dragonfly_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-38.7647,2050.16,468.228),(270,0,32)); + var_00.v["fxid"] = "cli_insect_dragonfly_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_butterfly_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1048.39,1645.29,480.415),(270,0,-52)); + var_00.v["fxid"] = "cli_butterfly_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_butterfly_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((48.4904,1703.91,400.373),(270,0,-52)); + var_00.v["fxid"] = "cli_butterfly_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_butterfly_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-906.261,1724.03,292.941),(270,0,59)); + var_00.v["fxid"] = "cli_butterfly_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_green_room_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((378.421,1626.79,356),(270,0,0)); + var_00.v["fxid"] = "mp_climate_green_room_ambient"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_green_room_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((800.572,1588.41,248),(270,0,0)); + var_00.v["fxid"] = "mp_climate_green_room_ambient"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_green_room_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((-215.242,1604.5,57.004),(270,0,0)); + var_00.v["fxid"] = "mp_climate_green_room_ambient"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_green_room_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((1209.27,1226.96,101.486),(270,0,0)); + var_00.v["fxid"] = "mp_climate_green_room_ambient"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_green_room_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((0.39798,1739.13,184),(270,0,0)); + var_00.v["fxid"] = "mp_climate_green_room_ambient"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_lightrays_sml"); + var_00 common_scripts\_createfx::set_origin_and_angles((-399.716,-1412.65,223.5),(49.2034,247.522,-108.558)); + var_00.v["fxid"] = "cli_lightrays_sml"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_lightrays_sml"); + var_00 common_scripts\_createfx::set_origin_and_angles((240.075,-1458.44,209.515),(49.3765,256.764,-113.242)); + var_00.v["fxid"] = "cli_lightrays_sml"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_green_room_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((-350.851,-1497.33,115.082),(270,0,0)); + var_00.v["fxid"] = "mp_climate_green_room_ambient"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_green_room_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((266.14,-1547.45,94.7862),(270,0,0)); + var_00.v["fxid"] = "mp_climate_green_room_ambient"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_crumbling_rock_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((875.475,-474.809,512.157),(287.997,134.006,-164.9)); + var_00.v["fxid"] = "mp_climate_crumbling_rock_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_crumbling_rock_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1407.27,-299.871,459.534),(280.515,155.159,134.541)); + var_00.v["fxid"] = "mp_climate_crumbling_rock_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_crumbling_rock_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1162.97,-759.224,567.881),(280.515,155.159,-15.4586)); + var_00.v["fxid"] = "mp_climate_crumbling_rock_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_slow_steam_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((1907.35,210.424,104.5),(270,0,10)); + var_00.v["fxid"] = "cli_slow_steam_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_slow_steam_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((1420.43,852.611,101.623),(270,0,10)); + var_00.v["fxid"] = "cli_slow_steam_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_slow_steam_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((727.201,1676.17,222.971),(270,0,10)); + var_00.v["fxid"] = "cli_slow_steam_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_slow_steam_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((-275.991,1755.89,391.409),(270,0,10)); + var_00.v["fxid"] = "cli_slow_steam_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_slow_steam_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((-993.754,-1489.54,95.7017),(270,0,10)); + var_00.v["fxid"] = "cli_slow_steam_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_birds_takeoff_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((5261.04,-3934.36,1474.6),(270,0,0)); + var_00.v["fxid"] = "mp_climate_birds_takeoff_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_birds_takeoff_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((8578.36,-3892.89,1711.19),(270,0,0)); + var_00.v["fxid"] = "mp_climate_birds_takeoff_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_birds_takeoff_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((3373.71,6235.68,3888.97),(270,0,0)); + var_00.v["fxid"] = "mp_climate_birds_takeoff_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_birds_takeoff_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6712.5,-1549.5,2964.07),(270,0,0)); + var_00.v["fxid"] = "mp_climate_birds_takeoff_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_birds_takeoff_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5948.77,-9081.38,2296.92),(270,0,0)); + var_00.v["fxid"] = "mp_climate_birds_takeoff_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_birds_takeoff_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1247.49,5025.26,3895.7),(270,0,0)); + var_00.v["fxid"] = "mp_climate_birds_takeoff_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22.24,-329.966,88.3009),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = 5; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((70.5262,-171.1,88.8503),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = 5; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((237.817,34.2022,89.661),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = 5; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-166.004,223.056,91.3042),(270,0,89)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_green_room_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((-873.137,1620.61,220),(270,0,0)); + var_00.v["fxid"] = "mp_climate_green_room_ambient"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-96.4294,34.8327,143),(270,0,0)); + var_00.v["fxid"] = "mp_climate_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((60.6186,-261.484,169),(270,0,0)); + var_00.v["fxid"] = "mp_climate_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1497.13,-1147.06,167.046),(328.804,115.938,51.4699)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_heat_distortion_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((605.513,-4523.09,2387.29),(270,0,105)); + var_00.v["fxid"] = "cli_heat_distortion_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_heat_distortion_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((3613.2,-1453.05,297.62),(272.236,86.5378,63.428)); + var_00.v["fxid"] = "cli_heat_distortion_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_heat_distortion_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((4596.89,2764.77,2091.18),(270,0,-128)); + var_00.v["fxid"] = "cli_heat_distortion_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_heat_distortion_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((1911.48,3218.49,260.749),(270,0,-108)); + var_00.v["fxid"] = "cli_heat_distortion_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_heat_distortion_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-845.453,3106.64,504.792),(270,0,-108)); + var_00.v["fxid"] = "cli_heat_distortion_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_heat_distortion_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8324.68,-2980.68,3899.87),(270,180,-180)); + var_00.v["fxid"] = "cli_heat_distortion_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_heat_distortion_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7422.04,793.341,2254.26),(270,0,3)); + var_00.v["fxid"] = "cli_heat_distortion_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_heat_distortion_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3017.53,-7627.65,199.79),(270,0,71)); + var_00.v["fxid"] = "cli_heat_distortion_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_heat_distortion_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7080.72,8387.61,3644.33),(270,0,-71)); + var_00.v["fxid"] = "cli_heat_distortion_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_heat_distortion_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((10102.8,-5996.13,6784.95),(318,127,0)); + var_00.v["fxid"] = "cli_heat_distortion_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_waterfall_mesh_distort"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1649.91,-889.688,394.687),(270,0,37)); + var_00.v["fxid"] = "mp_climate_waterfall_mesh_distort"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_waterfall_rainbow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1459.26,-874.775,419.201),(73.5037,315.501,134.418)); + var_00.v["fxid"] = "cli_waterfall_rainbow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_screen_drops"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1343.09,-941.864,128.987),(270,0,0)); + var_00.v["fxid"] = "cli_screen_drops"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_screen_drops"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1396.33,-873.825,150),(270,0,0)); + var_00.v["fxid"] = "cli_screen_drops"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_screen_drops"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1457.53,-795.061,141),(270,0,0)); + var_00.v["fxid"] = "cli_screen_drops"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_screen_drops"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1524.24,-699.896,131),(270,0,0)); + var_00.v["fxid"] = "cli_screen_drops"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_screen_drops"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1571.7,-649.263,121),(270,0,0)); + var_00.v["fxid"] = "cli_screen_drops"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("mp_climate_center_machine_window"); + var_00 common_scripts\_createfx::set_origin_and_angles((142.716,24.7786,278.509),(270,0,125)); + var_00.v["fxid"] = "mp_climate_center_machine_window"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "17"; + var_00 = common_scripts\utility::createexploder("mp_climate_center_window_toxic"); + var_00 common_scripts\_createfx::set_origin_and_angles((142.716,24.7786,278.509),(270,0,125)); + var_00.v["fxid"] = "mp_climate_center_window_toxic"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "19"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1499.21,-692.107,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-234.531,-1025.3,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-239.981,-775.994,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((45.0357,-807.265,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((25.3383,-599.609,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_water_surface_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-174.626,-839.282,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_water_surface_steam"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_water_surface_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-411.271,-636.711,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_water_surface_steam"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_water_surface_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((217.147,-825.097,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_water_surface_steam"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_water_surface_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((1176.48,-992.956,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_water_surface_steam"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_water_surface_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((548.727,-517.772,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_water_surface_steam"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_water_surface_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((1216.16,-158.891,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_water_surface_steam"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_water_surface_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((468.61,650.728,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_water_surface_steam"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_water_surface_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((5.82196,744.582,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_water_surface_steam"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_water_surface_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-691.31,228.535,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_water_surface_steam"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_water_surface_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-465.01,-1002.04,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_water_surface_steam"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_water_surface_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1142.2,22.5491,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_water_surface_steam"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_water_surface_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1185.81,911.974,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_water_surface_steam"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_water_surface_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1482.44,1249.82,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_water_surface_steam"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-477.23,-522.933,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1667.28,82.8266,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((826.073,131.041,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((778.691,-232.012,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1235.61,-126.499,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((255.745,-142.93,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-60.3751,146.005,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-470.981,180.742,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-157.239,612.678,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-522.041,604.592,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((564.936,643.209,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-867.713,133.628,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1160.91,27.8729,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1189.9,696.024,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1213.75,1069.67,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-525.209,-1013.57,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1206.39,-1030,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1369.11,-802.146,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1405.44,-573.077,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1177.1,-491.547,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1164.88,349.345,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1395.31,76.9926,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((835.267,565.444,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((962.109,-88.052,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((264.871,731.867,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-337.86,723.546,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((424.772,-661.875,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((169.232,-964.431,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-702.127,-42.1816,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-609.827,341.833,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_transition_pool_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-631.621,-581.522,46.125),(270,216,180)); + var_00.v["fxid"] = "cli_toxic_water_transition_pool_1"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_transition_pool_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((618.851,-180.255,46.125),(270,174,-180)); + var_00.v["fxid"] = "cli_toxic_water_transition_pool_1"; + var_00.v["delay"] = 2.5; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_transition_pool_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-678.202,366.479,46.125),(270,357,0)); + var_00.v["fxid"] = "cli_toxic_water_transition_pool_1"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_transition_pool_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1472.6,1067.97,46.125),(270,77,0)); + var_00.v["fxid"] = "cli_toxic_water_transition_pool_1"; + var_00.v["delay"] = 2.5; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_transition_pool_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-139.881,575.696,46.125),(270,268,-180)); + var_00.v["fxid"] = "cli_toxic_water_transition_pool_1"; + var_00.v["delay"] = 2.5; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_transition_pool_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((83.9853,-987.538,46.125),(270,96,-180)); + var_00.v["fxid"] = "cli_toxic_water_transition_pool_2"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_transition_pool_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1184.16,-959.657,46.125),(270,0,-3)); + var_00.v["fxid"] = "cli_toxic_water_transition_pool_2"; + var_00.v["delay"] = 2.5; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_transition_pool_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1393.9,255.665,46),(270,278,0)); + var_00.v["fxid"] = "cli_toxic_water_transition_pool_2"; + var_00.v["delay"] = 3; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_climate_smoke_plume"); + var_00 common_scripts\_createfx::set_origin_and_angles((-866.423,-745.381,1144.09),(270,180,93)); + var_00.v["fxid"] = "mp_climate_smoke_plume"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("cli_less_freq_electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-725.588,-533.075,803.144),(270,0,-63)); + var_00.v["fxid"] = "cli_less_freq_electrical_sparks_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "11"; + var_00 = common_scripts\utility::createexploder("cli_less_freq_electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-658.335,-600.778,1008.63),(270,180,145)); + var_00.v["fxid"] = "cli_less_freq_electrical_sparks_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "11"; + var_00 = common_scripts\utility::createexploder("cli_less_freq_electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-722.966,-551.644,517.803),(270,0,-45)); + var_00.v["fxid"] = "cli_less_freq_electrical_sparks_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "11"; + var_00 = common_scripts\utility::createexploder("cli_less_freq_electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-626.1,-666.09,494.994),(270,0,-50)); + var_00.v["fxid"] = "cli_less_freq_electrical_sparks_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "11"; + var_00 = common_scripts\utility::createexploder("mp_climate_electrical_arcs_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-713.124,-547.437,833.106),(272.555,132.59,179.622)); + var_00.v["fxid"] = "mp_climate_electrical_arcs_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("mp_climate_electrical_arcs_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-676.125,-618.24,636.206),(272.555,132.59,179.622)); + var_00.v["fxid"] = "mp_climate_electrical_arcs_runner"; + var_00.v["delay"] = 0.4; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("mp_climate_electrical_arcs_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-567.787,-725.044,492.586),(272.555,132.59,179.622)); + var_00.v["fxid"] = "mp_climate_electrical_arcs_runner"; + var_00.v["delay"] = 0.25; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("mp_climate_electrical_arcs_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-743.488,-508.751,447.358),(272.555,132.59,179.622)); + var_00.v["fxid"] = "mp_climate_electrical_arcs_runner"; + var_00.v["delay"] = 0.1; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("mp_climate_electrical_arcs_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-576.846,-751.438,1023.17),(4.32644,108.153,178.943)); + var_00.v["fxid"] = "mp_climate_electrical_arcs_runner"; + var_00.v["delay"] = 0.35; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("cli_vent_fire_crawl"); + var_00 common_scripts\_createfx::set_origin_and_angles((-679.36,-614.381,777.653),(359.222,39,-0.629823)); + var_00.v["fxid"] = "cli_vent_fire_crawl"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "14"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1422.93,-975.531,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1306.4,1115.91,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1504.1,1139.33,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1129.24,987.393,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1277.4,-978.473,46.125),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((46.7293,769.761,46),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((789.784,-671.339,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1199.32,-928.879,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-96.664,-656.375,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-507.27,-621.638,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-193.528,-189.702,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((528.647,-159.171,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-904.002,-668.752,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1197.2,-774.507,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1226.19,-106.356,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1250.04,267.29,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1201.17,-453.035,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1263.25,585.82,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((793.97,-185.178,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((228.582,-70.5132,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-374.149,-78.8342,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-738.416,-844.562,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-646.116,-460.547,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((10.4404,-32.6193,45.878),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-228.629,-1002.76,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-234.079,-753.453,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((50.9376,-784.724,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((31.2402,-577.068,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-471.328,-500.392,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1428.83,-952.989,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1673.18,105.368,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((831.975,153.583,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((784.593,-209.47,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1241.51,-103.957,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((261.647,-120.388,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-54.4732,168.547,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-465.079,203.284,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-151.337,635.219,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-516.139,627.134,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((570.838,665.75,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-861.811,156.17,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1155.01,50.4145,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1184,718.566,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1207.85,1092.21,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1300.5,1138.45,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1498.2,1161.87,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-519.307,-991.028,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1200.49,-1007.46,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1363.21,-779.604,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1399.54,-550.535,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1171.2,-469.005,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1158.98,371.886,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1123.34,1009.93,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1401.21,99.5342,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((841.169,587.986,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((968.011,-65.5104,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((270.773,754.409,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-331.958,746.088,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((430.674,-639.333,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((175.134,-941.89,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1283.3,-955.931,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-696.225,-19.64,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-603.925,364.374,46.003),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((52.6312,792.302,45.878),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_bubble_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-917.576,-418.622,46),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_bubble_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-924.896,-411.192,46),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_boiling_clear_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-629.599,-451.429,46),(270,0,0)); + var_00.v["fxid"] = "cli_toxic_water_boiling_clear_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("mp_climate_vent_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-710.981,-521.665,874.238),(270,0,-139)); + var_00.v["fxid"] = "mp_climate_vent_steam"; + var_00.v["delay"] = 0.75; + var_00.v["exploder"] = "6"; + var_00 = common_scripts\utility::createexploder("mp_climate_vent_smoke_transition_b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-612.207,-655.071,787.021),(271,34,-180)); + var_00.v["fxid"] = "mp_climate_vent_smoke_transition_b"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "8"; + var_00 = common_scripts\utility::createexploder("cli_smoke_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1147.55,-1024.89,854.868),(270,0,70)); + var_00.v["fxid"] = "cli_smoke_rise"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "5"; + var_00 = common_scripts\utility::createexploder("mp_climate_vent_smoke_transition"); + var_00 common_scripts\_createfx::set_origin_and_angles((-728.622,-534.604,772.352),(271,34,-180)); + var_00.v["fxid"] = "mp_climate_vent_smoke_transition"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "8"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1318.89,-533.423,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1183.95,-746.386,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1176.36,-1003.53,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-523.949,-1020.61,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-285.104,-1023.93,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-232.152,-1009.06,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-427.316,-801.656,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1084.93,-416.7,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-806.896,-393.878,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-653.058,-441.412,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-161.688,-722.459,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((30.3568,-889.439,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22.1565,-958.803,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((129.588,-751.286,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((184.511,-960.419,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((1326.43,-941.723,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((370.452,-655.253,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((575.317,-499.567,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((731.883,-272.399,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((750.625,-2.85257,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((688.383,271.765,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((436.638,589.458,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((752.592,516.38,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((953.698,238.873,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((173.188,746.63,46),(0,359,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-109.497,726.244,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-357.853,616.226,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-548.106,425.226,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-638.808,157.419,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-721.743,-139.033,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-915.577,105.278,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1191.31,-5.60925,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1167.57,288.769,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1228.22,564.164,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1227.3,814.42,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1087.9,1029.85,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1437.33,1148.05,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((458.641,-175.498,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((247.077,-175.774,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((33.9348,-288.975,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((3.61123,-524.508,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((40.9478,22.5437,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-166.213,232.464,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-390.707,174.211,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-151.894,508.654,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((182.339,208.431,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((308.948,771.162,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43.9563,857.944,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((1257.88,-42.9562,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((1471.18,145.274,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_electrical_arc_roll"); + var_00 common_scripts\_createfx::set_origin_and_angles((-847.935,-776.416,303.962),(270,0,153)); + var_00.v["fxid"] = "cli_electrical_arc_roll"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "15"; + var_00 = common_scripts\utility::createexploder("cli_electrical_arc_roll"); + var_00 common_scripts\_createfx::set_origin_and_angles((-982.847,-746.739,516.992),(270,0,-96)); + var_00.v["fxid"] = "cli_electrical_arc_roll"; + var_00.v["delay"] = 0.76; + var_00.v["exploder"] = "15"; + var_00 = common_scripts\utility::createexploder("cli_small_toxic_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-552.655,-848.087,151.695),(270,0,136)); + var_00.v["fxid"] = "cli_small_toxic_steam"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "16"; + var_00 = common_scripts\utility::createexploder("cli_small_toxic_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-663.022,-1027.34,154.848),(270,0,73)); + var_00.v["fxid"] = "cli_small_toxic_steam"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "16"; + var_00 = common_scripts\utility::createexploder("cli_small_toxic_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1164.21,-704.352,151.657),(270,0,73)); + var_00.v["fxid"] = "cli_small_toxic_steam"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "16"; + var_00 = common_scripts\utility::createexploder("mp_climate_vent_filler"); + var_00 common_scripts\_createfx::set_origin_and_angles((-668.393,-612.503,659.467),(270,0,-143)); + var_00.v["fxid"] = "mp_climate_vent_filler"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("cli_calm_water_foam_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4.04665,-945.69,46),(270,0,0)); + var_00.v["fxid"] = "cli_calm_water_foam_sm"; + var_00.v["delay"] = -1; + var_00.v["exploder"] = "203"; + var_00 = common_scripts\utility::createexploder("cli_calm_water_foam_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1309.53,-745.98,46),(270,0,0)); + var_00.v["fxid"] = "cli_calm_water_foam_sm"; + var_00.v["delay"] = -1; + var_00.v["exploder"] = "203"; + var_00 = common_scripts\utility::createexploder("cli_calm_water_foam_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1337.89,1012.3,46),(270,0,0)); + var_00.v["fxid"] = "cli_calm_water_foam_sm"; + var_00.v["delay"] = -1; + var_00.v["exploder"] = "203"; + var_00 = common_scripts\utility::createexploder("cli_calm_water_foam_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1153.17,1227.07,46),(270,0,0)); + var_00.v["fxid"] = "cli_calm_water_foam_sm"; + var_00.v["delay"] = -1; + var_00.v["exploder"] = "203"; + var_00 = common_scripts\utility::createexploder("cli_calm_water_foam_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1512.23,-1044.87,46),(270,0,0)); + var_00.v["fxid"] = "cli_calm_water_foam_sm"; + var_00.v["delay"] = -1; + var_00.v["exploder"] = "203"; + var_00 = common_scripts\utility::createexploder("cli_calm_water_foam_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1362.04,-764.793,46),(270,0,0)); + var_00.v["fxid"] = "cli_calm_water_foam_sm"; + var_00.v["delay"] = -1; + var_00.v["exploder"] = "203"; + var_00 = common_scripts\utility::createexploder("cli_calm_water_foam_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-351.603,-1143.59,46),(270,0,0)); + var_00.v["fxid"] = "cli_calm_water_foam_sm"; + var_00.v["delay"] = -1; + var_00.v["exploder"] = "203"; + var_00 = common_scripts\utility::createexploder("cli_calm_water_foam_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1451.63,256.65,46),(270,0,0)); + var_00.v["fxid"] = "cli_calm_water_foam_sm"; + var_00.v["delay"] = -1; + var_00.v["exploder"] = "203"; + var_00 = common_scripts\utility::createexploder("cli_calm_water_foam_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1747.4,168.645,46),(270,0,0)); + var_00.v["fxid"] = "cli_calm_water_foam_sm"; + var_00.v["delay"] = -1; + var_00.v["exploder"] = "203"; + var_00 = common_scripts\utility::createexploder("cli_calm_water_foam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-874.396,-762.753,46),(270,0,0)); + var_00.v["fxid"] = "cli_calm_water_foam"; + var_00.v["delay"] = -1; + var_00.v["exploder"] = "203"; + var_00 = common_scripts\utility::createexploder("mp_climate_fish_school"); + var_00 common_scripts\_createfx::set_origin_and_angles((1023.05,77.9523,19),(270,180,-133)); + var_00.v["fxid"] = "mp_climate_fish_school"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("mp_climate_fish_school"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1173.84,-233.918,18),(270,180,91)); + var_00.v["fxid"] = "mp_climate_fish_school"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("mp_climate_fish_school"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1210.07,1041.03,18),(270,0,91)); + var_00.v["fxid"] = "mp_climate_fish_school"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("mp_climate_fish_school_circle"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1336.39,1144.71,16.1767),(270,180,-133)); + var_00.v["fxid"] = "mp_climate_fish_school_circle"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("mp_climate_fish_school_circle"); + var_00 common_scripts\_createfx::set_origin_and_angles((88.3266,3.73831,14.125),(270,180,-133)); + var_00.v["fxid"] = "mp_climate_fish_school_circle"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("mp_climate_fish_school_circle"); + var_00 common_scripts\_createfx::set_origin_and_angles((-147.73,-823.712,16),(270,180,-133)); + var_00.v["fxid"] = "mp_climate_fish_school_circle"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("mp_climate_fish_school_circle"); + var_00 common_scripts\_createfx::set_origin_and_angles((-395.742,-958.066,16),(270,180,-133)); + var_00.v["fxid"] = "mp_climate_fish_school_circle"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("mp_climate_fish_school_circle"); + var_00 common_scripts\_createfx::set_origin_and_angles((-672.21,99.3401,16),(270,180,-133)); + var_00.v["fxid"] = "mp_climate_fish_school_circle"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("cli_toxic_water_transition_pool_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1158.84,-1092.08,46),(270,0,-3)); + var_00.v["fxid"] = "cli_toxic_water_transition_pool_2"; + var_00.v["delay"] = 2.5; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1283.13,-337.607,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1259.86,1261.71,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("mp_climate_fish_jumping_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((323.821,661.701,48),(270,0,0)); + var_00.v["fxid"] = "mp_climate_fish_jumping_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("mp_climate_fish_jumping_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1447.92,121.153,46),(270,0,0)); + var_00.v["fxid"] = "mp_climate_fish_jumping_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("mp_climate_fish_jumping_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((709.074,-178.771,46),(270,0,0)); + var_00.v["fxid"] = "mp_climate_fish_jumping_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("mp_climate_fish_jumping_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-174.629,710.759,46),(270,0,0)); + var_00.v["fxid"] = "mp_climate_fish_jumping_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("mp_climate_fish_jumping_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((167.878,-828.914,46),(270,0,0)); + var_00.v["fxid"] = "mp_climate_fish_jumping_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("mp_climate_fish_jumping_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-248.505,-845.159,46),(270,0,0)); + var_00.v["fxid"] = "mp_climate_fish_jumping_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("mp_climate_fish_jumping_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((167.878,-828.914,46),(270,0,0)); + var_00.v["fxid"] = "mp_climate_fish_jumping_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("mp_climate_machine_window"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1113.42,-978.478,309.97),(270,180,130)); + var_00.v["fxid"] = "mp_climate_machine_window"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "17"; + var_00 = common_scripts\utility::createexploder("mp_climate_lrg_pipe"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1131.6,-900.118,135.519),(270,180,130)); + var_00.v["fxid"] = "mp_climate_lrg_pipe"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "17"; + var_00 = common_scripts\utility::createexploder("mp_climate_toxic_lrg_pipe"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1131.6,-900.118,135.519),(270,180,130)); + var_00.v["fxid"] = "mp_climate_toxic_lrg_pipe"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "18"; + var_00 = common_scripts\utility::createexploder("mp_climate_med_pipe"); + var_00 common_scripts\_createfx::set_origin_and_angles((-628.753,-631.993,82.6881),(270,180,130)); + var_00.v["fxid"] = "mp_climate_med_pipe"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "17"; + var_00 = common_scripts\utility::createexploder("mp_climate_med_pipe"); + var_00 common_scripts\_createfx::set_origin_and_angles((-597.975,-668.083,77.3516),(270,180,130)); + var_00.v["fxid"] = "mp_climate_med_pipe"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "17"; + var_00 = common_scripts\utility::createexploder("mp_climate_toxic_med_pipe"); + var_00 common_scripts\_createfx::set_origin_and_angles((-628.753,-631.993,82.6881),(270,180,130)); + var_00.v["fxid"] = "mp_climate_toxic_med_pipe"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "18"; + var_00 = common_scripts\utility::createexploder("mp_climate_toxic_med_pipe"); + var_00 common_scripts\_createfx::set_origin_and_angles((-597.975,-668.083,77.3516),(270,180,130)); + var_00.v["fxid"] = "mp_climate_toxic_med_pipe"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "18"; + var_00 = common_scripts\utility::createexploder("mp_climate_sml_pipe"); + var_00 common_scripts\_createfx::set_origin_and_angles((-555.155,-847.527,65.5701),(270,180,130)); + var_00.v["fxid"] = "mp_climate_sml_pipe"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "17"; + var_00 = common_scripts\utility::createexploder("mp_climate_toxic_sml_pipe"); + var_00 common_scripts\_createfx::set_origin_and_angles((-555.155,-847.527,65.5701),(270,180,130)); + var_00.v["fxid"] = "mp_climate_toxic_sml_pipe"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "18"; + var_00 = common_scripts\utility::createexploder("mp_climate_window_toxic"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1113.42,-978.478,309.97),(270,180,130)); + var_00.v["fxid"] = "mp_climate_window_toxic"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "19"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-579.908,-644.63,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("mp_climate_fish_jumping_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1280.11,-539.141,45),(270,0,0)); + var_00.v["fxid"] = "mp_climate_fish_jumping_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-342.754,-534.498,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("mp_climate_vent_trans_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-605.51,-659.173,831.668),(270,0,128)); + var_00.v["fxid"] = "mp_climate_vent_trans_runner"; + var_00.v["delay"] = 0.5; + var_00.v["exploder"] = "9"; + var_00 = common_scripts\utility::createexploder("mp_climate_lrg_pipe"); + var_00 common_scripts\_createfx::set_origin_and_angles((-984.132,-465.439,106),(270,180,130)); + var_00.v["fxid"] = "mp_climate_lrg_pipe"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "17"; + var_00 = common_scripts\utility::createexploder("mp_climate_toxic_lrg_pipe"); + var_00 common_scripts\_createfx::set_origin_and_angles((-984.132,-465.439,127),(270,180,130)); + var_00.v["fxid"] = "mp_climate_toxic_lrg_pipe"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "18"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((914.096,-160.688,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((1133.12,-177.517,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((1133.12,-177.517,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cli_clear_water_displacement_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((983.542,44.7709,46),(0,26,0)); + var_00.v["fxid"] = "cli_clear_water_displacement_patch"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("waterfall_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1465.01,-806.467,46.125),(270,0,-147)); + var_00.v["fxid"] = "waterfall_splashes"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("toxic_waterfall_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1465.01,-806.467,46.125),(270,0,-147)); + var_00.v["fxid"] = "toxic_waterfall_splashes"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "21"; + var_00 = common_scripts\utility::createexploder("mp_climate_waterfall_release"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1029.69,123.782,45.381),(271,89.9982,90.0018)); + var_00.v["fxid"] = "mp_climate_waterfall_release"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("mp_climate_toxic_waterfall_release"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1029.69,123.782,45.381),(271,89.9982,90.0018)); + var_00.v["fxid"] = "mp_climate_toxic_waterfall_release"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "21"; + var_00 = common_scripts\utility::createexploder("mp_climate_waterfall_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1378.4,-915.999,549.983),(280.626,175.912,-138.842)); + var_00.v["fxid"] = "mp_climate_waterfall_large"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("mp_climate_toxic_waterfall_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1378.4,-915.999,549.983),(280.626,175.912,-138.842)); + var_00.v["fxid"] = "mp_climate_toxic_waterfall_large"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "21"; + var_00 = common_scripts\utility::createexploder("mp_climate_waterfall_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1547.65,-710.221,542.463),(280.626,175.912,-138.842)); + var_00.v["fxid"] = "mp_climate_waterfall_large"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("mp_climate_toxic_waterfall_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1547.65,-710.221,542.463),(280.626,175.912,-138.842)); + var_00.v["fxid"] = "mp_climate_toxic_waterfall_large"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "21"; + var_00 = common_scripts\utility::createexploder("mp_climate_waterfall_large_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1467.04,-805.016,554.214),(280.626,175.912,-138.842)); + var_00.v["fxid"] = "mp_climate_waterfall_large_02"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("mp_climate_toxic_waterfall_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1467.04,-805.016,554.214),(280.626,175.912,-138.842)); + var_00.v["fxid"] = "mp_climate_toxic_waterfall_large"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "21"; + var_00 = common_scripts\utility::createexploder("mp_climate_steam_toxic_transition"); + var_00 common_scripts\_createfx::set_origin_and_angles((-707.842,-514.101,519.664),(282,215,0)); + var_00.v["fxid"] = "mp_climate_steam_toxic_transition"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "5"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((50.0308,-1430.36,64.9057),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-845.802,-1131.53,263.317),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1506.92,-1651.07,68.8183),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1530.56,-460.662,181.602),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2301.64,428.733,-22.1073),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-576.253,1416.22,63.5925),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((660.05,1499.47,80.0294),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1381.03,1316.99,183),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2314.6,599.377,69.1327),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-365.459,1514.29,178.11),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-246.993,1474.71,95.8828),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-474.261,1468.52,134.45),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-706.036,1827.34,131.579),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-631.09,1859.54,192.521),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-565.104,1884.04,120.298),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((197.045,1453.04,114.534),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((778.201,1705,91.6218),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((688.088,1799.79,97.6832),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1283.9,1370.97,104.616),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1677.56,852.361,101.807),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((909.086,1353.68,171.035),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1077.39,1211.02,175.814),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-224.068,1449.02,185.184),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-792.051,-131.295,158.697),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-803.349,246.095,123.843),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1006.82,-112.821,189.57),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1978.5,510.569,249.437),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_tree_wind_dry_wet"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1282.63,512,295.844),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_tree_wind_dry_wet"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1709.01,816.499,242.507),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_tree_wind_dry_wet"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1414.69,684.206,259.081),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_tree_wind_dry_wet"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-202.867,1237.89,106.696),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-174.148,1329.88,141.523),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((489.812,806.595,134.017),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1174.9,316.902,117.667),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1013.8,512,210.325),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1768.64,245.066,170.838),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_tree_wind_dry_wet"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1942.85,-828.654,315.981),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_tree_wind_dry_wet"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1181,-1471.63,223.904),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_tree_wind_dry_wet"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1176.64,-1466.38,299.413),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_tree_wind_dry_wet"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1569.84,-1552.11,158.983),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_tree_wind_dry_wet"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-639.223,-1076.66,238.879),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_tree_wind_dry_wet"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1400.79,-1321.9,273.26),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_tree_wind_dry_wet"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1783.59,358.28,400.053),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_tree_wind_dry_wet"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1666.57,-202.083,374.778),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_tree_wind_dry_wet"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_clowntown3_fx.gsc b/AW/PC/maps/createfx/mp_clowntown3_fx.gsc new file mode 100644 index 0000000..214ddc5 --- /dev/null +++ b/AW/PC/maps/createfx/mp_clowntown3_fx.gsc @@ -0,0 +1,2921 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_clowntown3_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 187 ms + * Timestamp: 4/22/2024 2:07:34 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((898.748,-858.448,59.7681),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((883.255,-609.373,59.7681),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1093.96,-1059.9,59.7681),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1063.87,-1378.04,59.7681),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1164.2,-731.176,59.7681),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((879.248,-437.982,59.7681),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_lap_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-338.498,553.684,56.7681),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((952.68,-1181.12,59.7681),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1075.94,-1237.92,59.7681),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((573.827,70.6686,59.7681),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((755.605,5.70116,59.7681),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((802.94,113.937,59.7681),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((859.925,-155.034,59.7681),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((751.165,-127.41,59.7681),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_lap_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-809.428,-2337.71,260.875),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_light_flicker_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-558.443,-2190.45,353.125),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_wood_creak_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((88.4378,281.53,147.364),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_foliage_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1659.56,650.55,263.4),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_foliage_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1393.37,-3222.79,394.138),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_foliage_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-225.478,-3286.22,452.157),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_foliage_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((889.198,-3674.59,439.762),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_foliage_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1917.78,-864.828,271.641),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_foliage_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((895.035,-3661.68,246.675),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_crickets_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1087.27,-3056.64,223.455),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_crickets_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-779.478,-4144.73,223.374),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_crickets_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2487.1,-1992.73,226.931),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_crickets_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1891.73,-474.818,246.954),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_crickets_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1997.07,-3244.81,395.684),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_crickets_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1007.55,-3050.66,431.833),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_crickets_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((597.594,-430.329,28.8227),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_frogs_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1628.71,-873.823,185.4),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_ext_ac_unit"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1269.61,-1330.63,185),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_ext_ac_unit"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1591.88,-3490.59,254.552),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_debris_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2594.12,357.12,174.169),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2194.17,-461.21,153.75),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1727.91,-1340.22,187.089),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2090.66,-478.812,200.835),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2600.29,-467.958,171.331),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2145.33,195.94,181.632),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-767.816,-2170.71,199.863),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1452.46,-2589.03,172.448),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1092.76,-497.614,60.6502),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-196.429,-74.6246,185.629),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-245.625,-1092.24,203.667),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1519.12,-6.05688,182.401),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((572.693,-438.906,79.1317),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((572.7,-438.913,79.1292),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-227.204,-1459.95,184.23),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((105.178,-1114.32,186.953),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-61.2684,-1558.99,290.807),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((45.8944,-1239.15,291.197),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((493.849,-1330.37,164.537),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((364.38,-107.26,54.4556),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((150.1,10.3503,45.9236),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-58.763,150.308,47.9122),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-264.225,295.531,60.788),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-497.897,238.047,44.1298),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((223.69,-1462.09,190.445),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((43.6699,96.0754,31.0517),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-383.526,261.265,51.4189),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((895.257,-1033.43,55.7681),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((905.614,-699.631,55.7681),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1058.53,-699.595,55.7681),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1066.77,-897.604,55.7681),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((810.818,-260.997,55.7681),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((712.305,101.259,55.7681),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1588.42,-446.92,178.952),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1296.61,-386.081,175.739),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_ext_ac_unit"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-885.476,307.079,207.316),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_ext_ac_unit"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2435.48,-3311.38,163.023),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_mine_fire_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1286.76,-3505.37,177.659),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_mine_fire_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-700.019,-2360.01,216.865),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_tv_static_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1414.63,-289.55,247.963),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_tarp_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1336.22,-2284.72,227.677),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_tarp_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((318.298,-2966.22,245.216),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_tarp_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2819.4,-264.495,218.175),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_tarp_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-211.025,231.835,152.2),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_tarp_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1449.45,-379.536,263.529),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_tarp_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1934.65,-2084.91,309.915),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_tarp_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((276.487,-422.703,152),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_tarp_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-712.76,-92.3409,215.073),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_metal_drips_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((867.351,-1469.23,61),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((569.373,-1614.68,61),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((891.504,-1605.62,61),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((513.309,-1267.9,61),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((589.993,-168.255,61),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((592.613,-259.018,61),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((725.375,-139.909,61),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_water_calm_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1472.41,-2243.89,272.246),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_light_flicker_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((37.6268,-1534.35,336.411),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2201.52,395.2,211.02),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1937.39,-640.197,179.321),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1588.76,-501.126,175.424),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-411.634,-1334.99,155.5),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_tarp_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2563.73,-3480.52,406.149),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_tarp_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((947.504,-1694.89,62.9998),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-154.342,-2526.22,110),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1050.76,-2819.65,148.856),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_debris_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-175.231,-3475.87,122.752),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_debris_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1738.71,-335.78,343.66),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_ext_ac_unit"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1251.93,-2123.33,406.623),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_light_flicker_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1553.87,-270.344,187.414),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_crickets_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1317.42,-2987.59,413.441),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_ct3_foliage_debris"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2539.35,1006.84,651.954),(270,0,0)); + var_00.v["soundalias"] = "emt_dist_freeway_01_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-688.644,875.792,538.594),(270,0,0)); + var_00.v["soundalias"] = "emt_dist_freeway_01_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((760.622,775.879,523.138),(270,0,0)); + var_00.v["soundalias"] = "emt_dist_freeway_01_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2923.85,839.288,198.087),(270,0,0)); + var_00.v["soundalias"] = "emt_dist_freeway_01_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((113.378,1271.52,523.153),(270,0,0)); + var_00.v["soundalias"] = "emt_dist_freeway_01_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2796.89,822.57,732.834),(270,0,0)); + var_00.v["soundalias"] = "emt_dist_freeway_01_lp"; + var_00 = common_scripts\utility::createoneshoteffect("rock_dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-332.296,-3584.69,329.987),(270,2,-22)); + var_00.v["fxid"] = "rock_dust_falling_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("rock_dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1113.97,-3185.2,355.024),(270,0,0)); + var_00.v["fxid"] = "rock_dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rock_dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2434.66,-3595.74,401.187),(270,2,-22)); + var_00.v["fxid"] = "rock_dust_falling_runner"; + var_00.v["delay"] = -13; + var_00 = common_scripts\utility::createoneshoteffect("rock_dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1975.52,-3740.41,390.43),(270,2,-22)); + var_00.v["fxid"] = "rock_dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rock_dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1049.44,-3326.38,355.297),(270,2,-22)); + var_00.v["fxid"] = "rock_dust_falling_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1416.74,-287.956,248.478),(343.271,238.719,151.744)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((276.055,-432.659,156.125),(352.792,278.406,176.464)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1924.85,-2084.15,319.903),(358.066,259.658,-5.52347)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((893.713,-3642.99,435.977),(6.45671,287.177,-0.192749)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2232.08,-3096.7,160.468),(276,171,83.9974)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((1772.46,-2596.17,347.709),(359.93,1.99625,7)); + var_00.v["fxid"] = "mp_trash_blowing_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((1494.62,-1293.97,263.755),(270,2,-1.0022)); + var_00.v["fxid"] = "mp_trash_blowing_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_sewage_water_ripple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((801.671,-828.581,131.623),(270,2,-22)); + var_00.v["fxid"] = "falling_sewage_water_ripple_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((-625.776,-1664.23,152),(276.048,190.529,82.5234)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner_flat"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-225.378,-604.325,153),(272,317.982,-65.9843)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((231.657,-531.017,156),(271.279,191.783,73.6906)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((188.426,-2051.59,154),(271.279,191.77,72.7038)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1134.08,-2030.42,161.258),(271.225,144.78,107.683)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1214.12,-3185.89,142.522),(277.559,322.626,-50.5941)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1730.07,-234.784,207.28),(271.078,194.717,74.7533)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((821.357,-2299.96,163.083),(273.84,146.322,105.175)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_pipe_drip_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1920.12,-632.069,186.327),(270,2,-22)); + var_00.v["fxid"] = "water_pipe_drip_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((226.063,-3198.78,123.206),(274.451,310.99,-20.7588)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1381.65,-2319.28,210.125),(270,2,-22)); + var_00.v["fxid"] = "mp_clowntown_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1164.93,-2291.37,216.125),(270,2,-22)); + var_00.v["fxid"] = "mp_clowntown_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2004.91,-602.564,202.125),(270,2,-22)); + var_00.v["fxid"] = "mp_clowntown_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1700.42,-379.315,201.125),(270,2,-22)); + var_00.v["fxid"] = "mp_clowntown_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_patch_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1027.07,-3471.98,163.847),(270,2,-22)); + var_00.v["fxid"] = "amb_dust_patch_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1519.23,-164.76,206.113),(278.008,223.535,119.644)); + var_00.v["fxid"] = "mp_dust_blowing_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((352.774,-2248.27,154.23),(279.835,258.65,5.78178)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((713.991,229.292,53.086),(275.996,265.691,90.1389)); + var_00.v["fxid"] = "mp_dust_blowing_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_patch_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1447.92,-3459.85,170.435),(270,2,-22)); + var_00.v["fxid"] = "amb_dust_patch_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bird_vulture_circle_a_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((1684.27,-3169.43,2741.29),(270,0,0)); + var_00.v["fxid"] = "bird_vulture_circle_a_loop"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2565.89,-3487.56,414.144),(359.902,242.576,0)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1226.57,-3579.14,167.154),(11.5437,250.58,-10.6827)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2921.81,-136.057,173.429),(272.548,153.555,-178.572)); + var_00.v["fxid"] = "mp_dust_blowing_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1602.6,-914.211,158.775),(271.357,208.484,141.514)); + var_00.v["fxid"] = "mp_dust_blowing_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1334.28,-2281.69,228.222),(359.425,272.2,0)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1130.41,-959.227,156),(271.805,197.424,85.8459)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("fx_sunflare_clowntown_dlc"); + var_00 common_scripts\_createfx::set_origin_and_angles((853.303,-1640.35,835.202),(282.096,294.491,6.11829)); + var_00.v["fxid"] = "fx_sunflare_clowntown_dlc"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((2091.65,-1998.78,342.21),(353.999,3.99529,9)); + var_00.v["fxid"] = "mp_trash_blowing_ground"; + var_00.v["delay"] = 10; + var_00 = common_scripts\utility::createoneshoteffect("rock_dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-823.728,-3448.41,340.344),(270,2,-22)); + var_00.v["fxid"] = "rock_dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-512.258,481.042,186.768),(277.528,232.366,101.82)); + var_00.v["fxid"] = "mp_dust_blowing_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2387.12,-1632.84,159.879),(271.865,186.321,92.658)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((979.475,-2856,131.736),(276.312,261.955,11.5843)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1318.3,-317.358,158.732),(271.279,191.783,78.6904)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1345.52,-1519.11,160),(272,120.285,147.167)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3145.38,-771.279,214.47),(0.342207,8.29498,4.64074)); + var_00.v["fxid"] = "mp_trash_blowing_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3232.81,-1439.23,165.401),(272.319,149.164,-131.186)); + var_00.v["fxid"] = "mp_dust_blowing_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((1237.3,72.0624,155),(273,160,179)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2200.72,430.04,218.125),(270,2,-22)); + var_00.v["fxid"] = "mp_clowntown_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2447.12,292.052,221.125),(270,2,-22)); + var_00.v["fxid"] = "mp_clowntown_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1872.44,-1914.76,321.033),(271.945,16.215,-119.728)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2158.7,-793.4,191.236),(272.684,222.019,133.012)); + var_00.v["fxid"] = "mp_dust_blowing_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2991.34,-2001.95,173.859),(271.064,274.852,116.129)); + var_00.v["fxid"] = "mp_dust_blowing_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1702.59,-2375.98,165),(274.184,68.686,-155.414)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1878.77,-1780.36,158),(272.026,140.888,159.698)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2256.02,-867.101,158),(271.668,64.6905,-141.579)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-958.575,-446.712,157),(271.322,264.819,17.475)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1144.07,-922.082,152),(271.279,191.781,73.6923)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((635.586,-3239.21,143.748),(273.463,193.634,47.6625)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bird_vulture_circle_a_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5056.99,-5883.42,2854.58),(270,0,0)); + var_00.v["fxid"] = "bird_vulture_circle_a_loop"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((703.363,-635.429,135.873),(270,182,133)); + var_00.v["fxid"] = "falling_water_drip_line_runner_slow"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((695.005,-828.751,77.8212),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_flies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((859.318,-1503.9,54.883),(270,2,-22)); + var_00.v["fxid"] = "sewage_flies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_flies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((656.657,-1480.86,58.8212),(270,2,-19)); + var_00.v["fxid"] = "sewage_flies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_stream"); + var_00 common_scripts\_createfx::set_origin_and_angles((240.295,-52.8372,131.055),(270,2,-22)); + var_00.v["fxid"] = "sewage_water_stream"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_sewage_water_ripple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-411.09,547.715,138.466),(270,2,-22)); + var_00.v["fxid"] = "falling_sewage_water_ripple_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("sewage_flies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-327.696,448.039,97.292),(270,2,-22)); + var_00.v["fxid"] = "sewage_flies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_sewage_water_ripple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-420.616,548.199,137.484),(270,2,-22)); + var_00.v["fxid"] = "falling_sewage_water_ripple_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1046.3,-2774.79,157.67),(270,2,-22)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_flies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((567.566,-209.702,61),(270,2,-22)); + var_00.v["fxid"] = "sewage_flies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_pipe_drip_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2120.08,-529.86,289.875),(270,2,-22)); + var_00.v["fxid"] = "water_pipe_drip_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_pipe_drip_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1836.5,-345.815,291.875),(270,2,-22)); + var_00.v["fxid"] = "water_pipe_drip_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_flies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((841.505,-1008.82,88.1721),(270,2,-22)); + var_00.v["fxid"] = "sewage_flies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_flies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2547.93,345.899,199.125),(270,2,-22)); + var_00.v["fxid"] = "sewage_flies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2077.71,-357.653,187.344),(270,2,-22)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1684.2,-3055.8,178.546),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((458.917,-997.093,86.342),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1620.14,-2052.99,161.125),(277,271,89.9901)); + var_00.v["fxid"] = "mp_trash_blowing_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((-977.273,-1968.99,171),(359.008,357.829,11.1128)); + var_00.v["fxid"] = "mp_trash_blowing_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1287.12,-1115.1,170),(356.743,5.82953,11.0103)); + var_00.v["fxid"] = "mp_trash_blowing_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((2223.08,-1080.21,262.859),(358.003,0.892425,3.00167)); + var_00.v["fxid"] = "mp_trash_blowing_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((701.123,-817.658,186.652),(2.2849,357.113,4.00888)); + var_00.v["fxid"] = "mp_trash_blowing_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((-613.404,-1685.99,180),(284.995,273.015,91.0059)); + var_00.v["fxid"] = "mp_trash_blowing_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_sewage_water_ripple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((687.816,-99.9151,137.346),(270,2,-22)); + var_00.v["fxid"] = "falling_sewage_water_ripple_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_sewage_water_ripple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((710.561,-95.3102,138.418),(270,2,-22)); + var_00.v["fxid"] = "falling_sewage_water_ripple_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_stream"); + var_00 common_scripts\_createfx::set_origin_and_angles((822.453,-94.4174,127.673),(270,2,-22)); + var_00.v["fxid"] = "sewage_water_stream"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_stream"); + var_00 common_scripts\_createfx::set_origin_and_angles((-259.496,543.841,138.026),(270,2,-22)); + var_00.v["fxid"] = "sewage_water_stream"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_stream"); + var_00 common_scripts\_createfx::set_origin_and_angles((640.868,-541.715,124.863),(270,2,-22)); + var_00.v["fxid"] = "sewage_water_stream"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_sewage_water_ripple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((831.549,-540.337,127.436),(270,2,-22)); + var_00.v["fxid"] = "falling_sewage_water_ripple_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_stream"); + var_00 common_scripts\_createfx::set_origin_and_angles((546.83,-841.89,128.783),(270,2,-22)); + var_00.v["fxid"] = "sewage_water_stream"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_scatter_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((785.624,-1221.32,70.3496),(273.162,268.427,71.544)); + var_00.v["fxid"] = "roach_flock_scatter_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_slow_crawl_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1862.55,-437.669,156.125),(271,249.958,102.04)); + var_00.v["fxid"] = "roach_flock_slow_crawl_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_slow_crawl_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-259.768,549.555,63),(272.704,126.746,93.2332)); + var_00.v["fxid"] = "roach_flock_slow_crawl_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((2150.32,-1854.29,338.442),(1.67443,4.18377,10.0111)); + var_00.v["fxid"] = "mp_trash_blowing_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2971.69,-1997.56,175.264),(0.478806,15.7019,4.00421)); + var_00.v["fxid"] = "mp_trash_blowing_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3630.95,-2332.16,186.406),(357.037,0.527901,12.012)); + var_00.v["fxid"] = "mp_trash_blowing_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3043.05,-173.655,182.344),(0.298004,335.939,15.8102)); + var_00.v["fxid"] = "mp_trash_blowing_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((1906.37,-511.149,201.005),(0.533395,359.069,8.41986)); + var_00.v["fxid"] = "mp_trash_blowing_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_sewage_water_ripple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((265.019,-82.6764,134.855),(270,2,-22)); + var_00.v["fxid"] = "falling_sewage_water_ripple_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_sewage_water_ripple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((257.912,-77.3703,136.314),(270,2,-22)); + var_00.v["fxid"] = "falling_sewage_water_ripple_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((590.574,-3242.81,156.179),(270,2,-19)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1778.08,-2138.01,206.675),(270,2,-22)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2430.27,-1792.48,172),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1374.7,-1370.67,192.603),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1462.66,-176.89,212.874),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2549.04,-30.8754,167),(270,2,-22)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1362.7,71.8309,184.108),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((427.108,-1962.02,170.529),(270,2,-19)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((717.101,-2481.59,183.092),(271,343,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((753.33,-2755.82,166.839),(270,2,-19)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2090.75,-1285.37,156.6),(272.459,48.1749,-120.142)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("rock_dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-957.581,-3538.28,346.247),(270,2,-22)); + var_00.v["fxid"] = "rock_dust_falling_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("rock_dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1331.18,-3486.69,356.294),(270,2,-22)); + var_00.v["fxid"] = "rock_dust_falling_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("rock_dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-113.093,-3435.78,344.606),(270,2,-22)); + var_00.v["fxid"] = "rock_dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_wall"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2111,-436.488,183.125),(272.008,127.976,-98.9748)); + var_00.v["fxid"] = "insects_flies_wall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2457.31,315.25,291.875),(270,2,-10)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_pipe_drip_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2091.1,425.657,291.685),(270,2,-22)); + var_00.v["fxid"] = "water_pipe_drip_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_ambient_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2101.35,-3218.02,444.6),(270,180,69)); + var_00.v["fxid"] = "mp_clowntown_ambient_needles"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_ambient_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2955.04,-1954.54,420.243),(271.758,25.2629,-97.6196)); + var_00.v["fxid"] = "mp_clowntown_ambient_needles"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_ambient_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1501.63,-1211.3,387.826),(276.973,50.4307,-134.051)); + var_00.v["fxid"] = "mp_clowntown_ambient_needles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_ambient_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2854.43,183.486,397.017),(276.973,50.4303,-137.05)); + var_00.v["fxid"] = "mp_clowntown_ambient_needles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_ambient_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2110.56,629.891,347.326),(277.541,131.133,154.014)); + var_00.v["fxid"] = "mp_clowntown_ambient_needles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_ambient_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((860.57,-4013.05,603.808),(282.724,73.827,-150.834)); + var_00.v["fxid"] = "mp_clowntown_ambient_needles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_ambient_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1281.14,-2632.79,485.235),(276.973,50.4302,-140.05)); + var_00.v["fxid"] = "mp_clowntown_ambient_needles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_ambient_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1384.67,-1872.17,329.92),(276.973,50.431,-153.051)); + var_00.v["fxid"] = "mp_clowntown_ambient_needles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_ambient_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((62.8738,-3117.8,375.441),(273.086,323.497,-40.3877)); + var_00.v["fxid"] = "mp_clowntown_ambient_needles"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_ambient_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-325.267,575.608,306.485),(274.099,38.2864,-130.003)); + var_00.v["fxid"] = "mp_clowntown_ambient_needles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3506.36,-99.8363,179.353),(357.076,353.015,-0.675831)); + var_00.v["fxid"] = "mp_dust_blowing_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_ambient_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2859.42,-1278.67,330.962),(272.874,121.305,-173.808)); + var_00.v["fxid"] = "mp_clowntown_ambient_needles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2140.62,182.669,193.97),(357,341,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1596.69,-495.924,194.023),(270,2,-22)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1594.46,-1135.55,208.679),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-248.855,-1088.15,196.061),(270,2,-22)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-938.24,-2268.11,180),(270,0,-91)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_slow_crawl_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-899.237,-2330.93,158),(271.034,249.981,88.0177)); + var_00.v["fxid"] = "roach_flock_slow_crawl_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2823.36,-277.384,248.715),(8.77544,278.837,-11.5095)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-409.508,-1345.11,158.574),(24.2592,279.175,2.31061)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-820.254,-1401.51,207.853),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-839.879,-1459.18,208.396),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-682.735,-1543.51,188.963),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_ambient_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1308.17,-3106.81,582.684),(281.242,96.034,-172.08)); + var_00.v["fxid"] = "mp_clowntown_ambient_needles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_ambient_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1461.88,-494.541,328.77),(278.077,290.979,-28.0301)); + var_00.v["fxid"] = "mp_clowntown_ambient_needles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-537.527,-1025.88,159.052),(271.744,250.074,37.1129)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-873.812,-2357.71,197),(270,2,-22)); + var_00.v["fxid"] = "mp_clowntown_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_slow_crawl_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1892.2,-465.741,156.125),(270.607,5.70079,-179.694)); + var_00.v["fxid"] = "roach_flock_slow_crawl_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1445.21,-389.56,262.187),(2.49382,289.634,5.19422)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1914.64,-2776.4,167.085),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_sewage_water_ripple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((770.961,-829.508,131.936),(270,2,-22)); + var_00.v["fxid"] = "falling_sewage_water_ripple_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_scatter_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((460.838,-563.677,68.8497),(274,312,96)); + var_00.v["fxid"] = "roach_flock_scatter_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_pipe_drip_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1077.65,-2341.22,300.875),(270,2,-22)); + var_00.v["fxid"] = "water_pipe_drip_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_small_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1311.56,-2223.2,307.775),(270,182,126.099)); + var_00.v["fxid"] = "electrical_sparks_small_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_slow_crawl_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-198.576,-1528.05,279.511),(271.414,204.999,171)); + var_00.v["fxid"] = "roach_flock_slow_crawl_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_sewage_water_ripple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-181.376,-1364.63,382.5),(270,2,-22)); + var_00.v["fxid"] = "falling_sewage_water_ripple_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((191.07,-965.222,155.281),(271.743,230.074,42.1102)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2753.91,-623.152,197.175),(270,2,-19)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2507.77,-731.943,157.434),(270.898,175.267,94.9341)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner_flat"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2392.02,-464.272,175),(357.182,359.835,1.5901)); + var_00.v["fxid"] = "mp_trash_blowing_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((682.227,-3447.52,155.378),(270,2,-19)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_small_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1154.08,-1515.58,229.431),(270,0,28)); + var_00.v["fxid"] = "electrical_sparks_small_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2182.36,-1015.12,223.598),(272.684,222.019,133.012)); + var_00.v["fxid"] = "mp_dust_blowing_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2414.15,-1807.86,321.771),(281.113,255.636,99.5391)); + var_00.v["fxid"] = "mp_dust_blowing_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_stream"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2334.72,262.882,295.059),(270,2,-22)); + var_00.v["fxid"] = "sewage_water_stream"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_pipe_drip_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2369.42,435.75,183.936),(270,2,-22)); + var_00.v["fxid"] = "water_pipe_drip_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_stream"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1840.56,-576.141,288.579),(270,2,-22)); + var_00.v["fxid"] = "sewage_water_stream"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-124.909,-1480.49,337),(270,2,-22)); + var_00.v["fxid"] = "mp_clowntown_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1032.6,-2648.73,180.773),(270,2,-19)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((92.6457,-1548.6,193.861),(270,2,-19)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_flies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((159.627,-1327.75,294.339),(270,2,-19)); + var_00.v["fxid"] = "sewage_flies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_stream"); + var_00 common_scripts\_createfx::set_origin_and_angles((77.1546,-1375.38,303.142),(270,2,-22)); + var_00.v["fxid"] = "sewage_water_stream"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_pipe_drip_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-708.701,-90.8311,272.507),(270,2,-22)); + var_00.v["fxid"] = "water_pipe_drip_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_stream"); + var_00 common_scripts\_createfx::set_origin_and_angles((-710.318,-93.2082,269.688),(270,2,-22)); + var_00.v["fxid"] = "sewage_water_stream"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_stream"); + var_00 common_scripts\_createfx::set_origin_and_angles((-767.409,-2352.36,259.875),(270,2,-22)); + var_00.v["fxid"] = "sewage_water_stream"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-887.327,-2315.34,172.505),(270,2,-19)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1637.4,-457.318,158.214),(271.138,344.416,-23.4281)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_slow_crawl_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1233.18,-2163.34,157),(275.183,247.132,89.9778)); + var_00.v["fxid"] = "roach_flock_slow_crawl_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1339.61,-2145.79,189.455),(2.47111,355.932,-1.37218)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_flies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1874.74,-3504.74,173.014),(270,2,-22)); + var_00.v["fxid"] = "sewage_flies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2580.73,358.719,188.903),(270,2,-22)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2246.48,475.889,187.951),(270,2,-22)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2150.7,385.328,194.125),(270,2,-22)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2252.9,349.136,189.125),(270,2,-22)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2516.65,117.788,254.125),(314.623,22.9055,10.3972)); + var_00.v["fxid"] = "mp_godray_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2534.28,276.611,252.008),(309.147,19.9958,-4.56499)); + var_00.v["fxid"] = "mp_godray_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2073.14,479.16,151.125),(270,2,-22)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2403.44,103.575,133.125),(270,2,-22)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-768.789,-2346.01,265.875),(270,2,12)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1413.14,-1690.77,190.243),(270,2,-22)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1461.15,-192.504,184.093),(270,2,-22)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2120.72,-661.363,132.67),(270,2,-22)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1200.71,-2479.55,135),(270,2,-22)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1258.45,-2198.37,175.813),(2.47111,355.932,-1.37218)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2067.6,-407.718,182.513),(271.138,344.416,-23.4281)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-821.264,-2446.59,188.884),(270,2,-19)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1937.33,-488.53,193.931),(270,2,-22)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1770.31,-446.414,293),(270,2,-22)); + var_00.v["fxid"] = "falling_water_drip_line_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_slow_crawl_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2063.12,-708.981,156.125),(270.936,136.795,-112.79)); + var_00.v["fxid"] = "roach_flock_slow_crawl_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_pipe_drip_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1883.86,-578.425,292.875),(270,2,-22)); + var_00.v["fxid"] = "water_pipe_drip_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1800.5,-630.151,182),(270,2,-22)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_flies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1803.37,-2194.06,210.658),(271.408,37.0295,-40.8319)); + var_00.v["fxid"] = "sewage_flies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-845.315,-1422.89,189.09),(270,2,-22)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-129.849,-2542.61,153),(270,2,-22)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1193.13,-2097.89,180.967),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_sewage_water_ripple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-959.977,-2461.88,259.913),(270,2,-22)); + var_00.v["fxid"] = "falling_sewage_water_ripple_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_sewage_water_ripple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1067.96,-2331.6,291.875),(270,2,-22)); + var_00.v["fxid"] = "falling_sewage_water_ripple_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3357.16,-85.4413,162.574),(272.428,314.865,-37.3307)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner_flat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_dust_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2435.83,-82.9569,163.573),(270,2,-22)); + var_00.v["fxid"] = "trash_dust_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2577.86,34.8446,163.305),(270,2,-22)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("birds_tree_flyout_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4278.56,-960.123,407.589),(330.116,108.202,-92.2535)); + var_00.v["fxid"] = "birds_tree_flyout_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("birds_tree_flyout_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1632.78,689.214,236.663),(329.251,336.155,-98.9928)); + var_00.v["fxid"] = "birds_tree_flyout_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((1146.63,4.68708,188.156),(270,2,-22)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((1244.85,-3432,155.501),(273,160,179)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-293.218,-3531.99,137.683),(273,160,179)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((380.668,-2933.31,162.929),(270,73.3322,-90.3323)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1312.06,-1943.13,173.396),(270,2,-19)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((1391.38,-437.246,186.774),(270,2,-22)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1323.25,-498.981,158),(272.084,147.897,162.117)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner_flat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((462.683,-2864.74,112.942),(273,160,179)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_dragonfly_runner_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2051.8,-3467.73,241.094),(270,2,-174)); + var_00.v["fxid"] = "insects_dragonfly_runner_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_dragonfly_runner_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1526,-3413.17,201.676),(285.612,241.921,-65.5815)); + var_00.v["fxid"] = "insects_dragonfly_runner_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((1017.73,-2761.95,168.523),(270,2,-19)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_dragonfly_runner_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((947.31,-972.378,103.667),(270,2,-19)); + var_00.v["fxid"] = "insects_dragonfly_runner_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((701.553,-745.144,133.891),(270,2,59)); + var_00.v["fxid"] = "falling_water_drip_line_runner_slow"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("insects_dragonfly_runner_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((922.366,-1493.89,113.489),(274,345,0)); + var_00.v["fxid"] = "insects_dragonfly_runner_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((1109.77,-1938.69,171.621),(270,2,-19)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1088.67,-2102.39,177.974),(270,2,-19)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1115.3,-1892.13,187.971),(270,2,-19)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((341.581,-3135.51,226.06),(314.4,25.7393,-25.6252)); + var_00.v["fxid"] = "mp_godray_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((1624.8,-831.36,158.381),(272.283,257.845,13.1584)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner_flat"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((2150.9,-1798.89,315.338),(272.365,6.67101,-99.5751)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner_flat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((165.695,-1325.94,283.766),(270,2,-22)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((24.305,-1530.4,380.739),(270,2,-7)); + var_00.v["fxid"] = "falling_water_drip_line_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_pipe_drip_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-178.753,-1356.7,389.727),(270,2,-22)); + var_00.v["fxid"] = "water_pipe_drip_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((110.235,-2278.44,166.353),(270,2,-19)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-816.793,-2641.18,150.805),(273,160,179)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1771.38,-3626.3,204.772),(270,2,-22)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-284.013,407.654,83.0019),(270,2,-22)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_dust_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1833.34,246.667,211.041),(270,2,-22)); + var_00.v["fxid"] = "trash_dust_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("birds_tree_flyout_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4260.69,-984.483,418.486),(320.485,96.7886,-83.93)); + var_00.v["fxid"] = "birds_tree_flyout_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_ambient_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3161.51,-885.023,315.745),(275.619,51.2123,-128.591)); + var_00.v["fxid"] = "mp_clowntown_ambient_needles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_bathroom_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2195.39,415.261,149.125),(270,2,-22)); + var_00.v["fxid"] = "mp_clowntown_bathroom_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2096.98,-2902.34,179.763),(270,2,-22)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1745.62,-172.013,164.267),(357.134,32.9304,5.37905)); + var_00.v["fxid"] = "mp_trash_blowing_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("clowntown_fire_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2752.3,-3382.75,58.915),(274.47,223.412,175.514)); + var_00.v["fxid"] = "clowntown_fire_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1116.61,-2184.49,297),(274.122,165.951,-77.9872)); + var_00.v["fxid"] = "falling_water_drip_line_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_stream"); + var_00 common_scripts\_createfx::set_origin_and_angles((78.917,-1376.49,300.774),(270,2,-22)); + var_00.v["fxid"] = "sewage_water_stream"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("falling_sewage_water_ripple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((77.6951,-1376.06,304.885),(270,2,-22)); + var_00.v["fxid"] = "falling_sewage_water_ripple_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-26.5709,-1307.47,391.862),(270,2,-7)); + var_00.v["fxid"] = "falling_water_drip_line_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowtown_sign_bubbles_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((602.037,-1139.78,75.837),(329.143,141.988,146.858)); + var_00.v["fxid"] = "mp_clowtown_sign_bubbles_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1557.02,-2284.7,294),(274.122,165.951,-19.9884)); + var_00.v["fxid"] = "falling_water_drip_line_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3306.29,-1445.01,228.122),(356.36,275.517,-12.0973)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1597.37,-1884.74,152),(271.347,314.805,-51.7579)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner_flat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_bathroom_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2459.08,315.987,147.125),(270,2,-22)); + var_00.v["fxid"] = "mp_clowntown_bathroom_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((1291.89,-1031.91,152),(272.283,257.845,13.1584)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner_flat"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((639.036,-156.031,62),(270,0,-180)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21.6903,-2015.59,410.885),(272.141,197.978,74.0531)); + var_00.v["fxid"] = "mp_ground_dirt_loop_04"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-220.033,-1719.67,414),(272.141,197.978,72.0525)); + var_00.v["fxid"] = "mp_ground_dirt_loop_04"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-0.106243,-1351.08,412.111),(272.141,197.978,72.0525)); + var_00.v["fxid"] = "mp_ground_dirt_loop_04"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-918.485,-2379.19,410),(272.141,197.975,72.0566)); + var_00.v["fxid"] = "mp_ground_dirt_loop_04"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1684.57,-429.358,318.125),(272.141,197.978,107.054)); + var_00.v["fxid"] = "mp_ground_dirt_loop_04"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((180.763,-1917.2,155),(272.141,197.978,72.0525)); + var_00.v["fxid"] = "mp_ground_dirt_loop_04"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((357.806,-770.56,156.183),(272.141,197.978,72.0525)); + var_00.v["fxid"] = "mp_ground_dirt_loop_04"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((903.993,-776.37,157.095),(272.141,197.978,72.0525)); + var_00.v["fxid"] = "mp_ground_dirt_loop_04"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((556.194,-793.951,155.725),(272.141,197.978,72.0525)); + var_00.v["fxid"] = "mp_ground_dirt_loop_04"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1394.28,-1403.03,178.047),(270,2,-22)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-765.047,-2171.09,194.471),(270,0,3)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((701.038,-719.783,125),(270,2,-22)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49.4542,-1478.24,312.5),(270,2,-22)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((819.803,-1262.98,79.9418),(270,2,-19)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((474.337,-822.513,75.9464),(270,2,-19)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((909.996,-1371.32,79.6271),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((886.052,-655.456,72.6656),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((858.95,-827.549,62.087),(270,180,-34)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((935.992,-1690.16,86.1823),(270,2,-19)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-426.582,415.899,90.2959),(270,2,-22)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1939.05,-478.748,312.125),(272.141,197.978,107.054)); + var_00.v["fxid"] = "mp_ground_dirt_loop_04"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1500.3,-227.844,181.471),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1781.93,-2245.5,204.226),(270,2,-22)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rock_dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1243.4,-3782.4,392.424),(270,2,-22)); + var_00.v["fxid"] = "rock_dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-948.294,-3475.06,172.247),(273,160,179)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1437.4,-1625.54,197.673),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1393.26,-1684.1,209.712),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1405.11,-2129.09,144.125),(270,2,-22)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-35.6923,-1496.82,360.35),(270,2,-19)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((480.098,-2470.05,152.363),(270,2,-19)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((540.61,-531.052,62.4708),(270,0,45)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((476.308,-1682.11,80.9822),(270,2,-19)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((933.12,-548.299,87.7516),(270,2,-19)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((925.664,-134.659,88.241),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((944.218,-172.688,83.6995),(270,2,-22)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((483.932,-539.84,82.7498),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((630.07,-2174.77,158.461),(274.733,97.2098,165.211)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((393.039,-1997.64,172.748),(270,2,-19)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((278.953,-2162.58,166.658),(270,2,-19)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_patch_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1862.49,-3408.62,184.22),(270,2,-22)); + var_00.v["fxid"] = "amb_dust_patch_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1523.07,-1015.23,161),(271.869,67.8493,-154.301)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner_flat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2724.08,-510.076,152),(272.141,197.976,79.0553)); + var_00.v["fxid"] = "mp_ground_dirt_loop_04"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_skitter"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1592.48,-983.363,153.783),(270,0,64)); + var_00.v["fxid"] = "ground_sand_skitter"; + var_00.v["delay"] = -12; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_skitter"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2074.06,-1287.87,154.086),(270,0,65)); + var_00.v["fxid"] = "ground_sand_skitter"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_skitter"); + var_00 common_scripts\_createfx::set_origin_and_angles((-940.865,-196.153,153),(270,0,119)); + var_00.v["fxid"] = "ground_sand_skitter"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_skitter"); + var_00 common_scripts\_createfx::set_origin_and_angles((1335.89,-1078.63,155),(270,0,99)); + var_00.v["fxid"] = "ground_sand_skitter"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_skitter"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2563.58,-805.207,155.21),(270,0,66)); + var_00.v["fxid"] = "ground_sand_skitter"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_skitter"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1536.49,-1681.65,153),(270,0,84)); + var_00.v["fxid"] = "ground_sand_skitter"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_skitter"); + var_00 common_scripts\_createfx::set_origin_and_angles((282.724,-704.41,156.979),(270,0,2)); + var_00.v["fxid"] = "ground_sand_skitter"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_skitter"); + var_00 common_scripts\_createfx::set_origin_and_angles((-980.679,-893.273,152),(271.414,303.994,134.997)); + var_00.v["fxid"] = "ground_sand_skitter"; + var_00.v["delay"] = -12; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((706.917,-105.026,87),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((918.732,-1488.83,61),(270,180,-142)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((457.349,-1356.18,67.8817),(270,2,-19)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_skitter"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3028.58,-656.456,172.865),(270,0,100)); + var_00.v["fxid"] = "ground_sand_skitter"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((921.976,-107.569,68),(270,2,-19)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((593.563,-218.673,65),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((923.923,-823.818,73),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((718.19,-733.933,73),(270,2,-22)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((90.2777,-1438.32,174),(270,2,-22)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((278.4,-162.775,76.4969),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((211.683,171.832,152.902),(271.986,355.949,-0.12014)); + var_00.v["fxid"] = "mp_dust_blowing_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2330.39,-1529.81,164.279),(357.249,12.6723,10.5206)); + var_00.v["fxid"] = "mp_trash_blowing_ground"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_slow_crawl_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2321.23,323.31,156.125),(271,249.914,122.083)); + var_00.v["fxid"] = "roach_flock_slow_crawl_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_slow_crawl_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2481.2,104.383,156.125),(271.91,218.843,-106.873)); + var_00.v["fxid"] = "roach_flock_slow_crawl_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((234.517,-2432.44,161.805),(270,2,-19)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2024.78,-1881.16,181),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1031.56,-1518.84,152),(274.654,252.959,35.35)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("sewage_flies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1612.47,-455.939,191.574),(271.138,344.416,-23.4281)); + var_00.v["fxid"] = "sewage_flies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1751.85,-540.259,169.406),(271.138,344.416,-23.4281)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1858.23,-591.427,171.264),(271.138,344.416,-23.4281)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_ambient_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1435.88,-3285.56,390.811),(275.77,133.23,135.754)); + var_00.v["fxid"] = "mp_clowntown_ambient_needles"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_ambient_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2376.46,-2143.79,518.461),(285.002,98.9862,170.259)); + var_00.v["fxid"] = "mp_clowntown_ambient_needles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_ambient_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1236.31,500.191,318.947),(272.105,67.5257,-151.003)); + var_00.v["fxid"] = "mp_clowntown_ambient_needles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1821.61,342.111,182.155),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-253.636,-1458.52,192.917),(270,2,-22)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_flies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-150.602,-2520.54,116),(270,2,-22)); + var_00.v["fxid"] = "sewage_flies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1047.33,339.854,172),(274,340,15)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-77.1789,-1363.58,317.5),(270,2,-22)); + var_00.v["fxid"] = "mp_clowntown_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1468.88,-2420.68,175.124),(270,2,-22)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1663.43,-1830.27,168),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1932.67,-3157.85,162.928),(276,171,89.9976)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("sewage_flies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((536.22,-1205.53,68.8078),(270,2,80)); + var_00.v["fxid"] = "sewage_flies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1944.16,-776.16,168.733),(271.078,194.716,76.754)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2367.13,-223.769,199.669),(271.078,194.715,69.7543)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_small_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-868.677,227.329,188.611),(270,2,-22)); + var_00.v["fxid"] = "electrical_sparks_small_runner"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_small_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1160.99,-428.51,218.906),(270,0,-19)); + var_00.v["fxid"] = "electrical_sparks_small_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1186.44,-2401.86,291.875),(270,2,-20)); + var_00.v["fxid"] = "falling_water_drip_line_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_ambient_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2048.29,-4032.15,617.655),(285.388,92.1525,170.588)); + var_00.v["fxid"] = "mp_clowntown_ambient_needles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_ambient_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2372.76,-2844.1,427.424),(274.134,284.837,-26.9156)); + var_00.v["fxid"] = "mp_clowntown_ambient_needles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1200.95,-3102.14,162.03),(3,340,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_flies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((617.971,-932.484,61.7681),(270,2,-22)); + var_00.v["fxid"] = "sewage_flies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((672.184,-1695.21,89.4805),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_scatter_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2747.54,-646.943,182.956),(279.509,63.8842,9.92036)); + var_00.v["fxid"] = "roach_flock_scatter_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_dust_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1546.43,-370.8,156),(270,2,-22)); + var_00.v["fxid"] = "trash_dust_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_dust_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1978.32,495.939,155),(270,2,-22)); + var_00.v["fxid"] = "trash_dust_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1659.99,-242.183,187.823),(270,0,35)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1812.39,-232.996,139.125),(270,2,-22)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2185.75,-478.319,194.895),(271.138,344.416,-23.4281)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_ambient_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-819.946,496.961,340.989),(279.311,63.8714,-162.36)); + var_00.v["fxid"] = "mp_clowntown_ambient_needles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-805.485,-2333.45,241.366),(270,2,-19)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-715.371,-2211.22,139),(270,0,-17)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3007.51,-1835.59,161),(273,24,-112)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner_flat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3017.74,-1220.21,158),(270,180,126)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner_flat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2564.08,-922.258,185.496),(278.54,139.575,-159.365)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1320.28,-3484.55,149.684),(270,2,-22)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_dragonfly_runner_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((959.201,-2616.86,190.866),(276,253,90)); + var_00.v["fxid"] = "insects_dragonfly_runner_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_dragonfly_runner_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((950.322,-390.603,100.157),(270,0,-18)); + var_00.v["fxid"] = "insects_dragonfly_runner_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((485.251,-378.667,79.4951),(271,340,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((311.058,-2654.05,153.937),(274.921,349.51,-72.1061)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((434.859,-3557.24,130),(273,160,179)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_bathroom_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1777.57,-456.476,145.125),(270,2,-22)); + var_00.v["fxid"] = "mp_clowntown_bathroom_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1459.66,-2433.47,172.282),(270,2,-22)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2258.95,-1380.49,162),(271.869,67.8488,-151.3)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner_flat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1487.17,-2282.67,409.125),(272.141,197.976,71.0557)); + var_00.v["fxid"] = "mp_ground_dirt_loop_04"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((578.423,-330.765,61),(270,0,-108)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((804.673,-122.002,60.6885),(270,2,-16)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((538.247,-830.978,61.8212),(270,0,144)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((514.369,-1644.41,60.8212),(270,0,-38)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1238.29,-1868.11,154.7),(270.351,33.0967,-120.409)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner_flat"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1158.63,-2277.51,409.125),(272.141,197.976,71.0557)); + var_00.v["fxid"] = "mp_ground_dirt_loop_04"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-422.759,-2383.36,410),(272.141,197.975,72.0566)); + var_00.v["fxid"] = "mp_ground_dirt_loop_04"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-298.142,-175.532,311.46),(272.141,197.976,71.0557)); + var_00.v["fxid"] = "mp_ground_dirt_loop_04"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-761.711,-224.362,307),(271.069,162.474,106.555)); + var_00.v["fxid"] = "mp_ground_dirt_loop_04"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2049.56,-617.795,311.125),(272.141,197.973,94.0579)); + var_00.v["fxid"] = "mp_ground_dirt_loop_04"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((916.834,-1124.72,60.873),(270,0,82)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((902.158,-1643.82,60.5138),(270,0,34)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((678.56,-615.936,73),(270,2,-22)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((644.641,-1290.31,100.183),(270,2,-22)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((736.434,-1305.2,131.223),(270,2,-22)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((724.692,-216.834,60.9286),(270,0,104)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((81.58,-3185.93,150.519),(270,2,-19)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((79.9083,-1429.53,156.897),(273,160,179)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_clowntown_bathroom_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1954.95,-555.452,147.125),(270,2,-22)); + var_00.v["fxid"] = "mp_clowntown_bathroom_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("clowntown_fire_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1299.38,-3948.24,102.746),(274.557,34.5546,4.39888)); + var_00.v["fxid"] = "clowntown_fire_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((751.516,-1000.94,60.8259),(270,2,-16)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_flies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((814.89,-301.465,61),(270,2,-22)); + var_00.v["fxid"] = "sewage_flies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((603.595,-1233.77,71.8032),(270,2,-19)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2503.31,-3458.96,192.32),(354.014,69.5797,-85.9784)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2320.52,-3380.09,115.292),(270,2,-22)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_skitter"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2369.05,-1519.4,157.365),(270,0,102)); + var_00.v["fxid"] = "ground_sand_skitter"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_skitter"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1899.74,-1662.05,155),(270,180,-44)); + var_00.v["fxid"] = "ground_sand_skitter"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_skitter"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2665.52,-1673.96,156.068),(270,0,111)); + var_00.v["fxid"] = "ground_sand_skitter"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((829.804,-111.45,64),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-80.3393,273.73,91.7589),(270,2,-22)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((52.746,97.3345,77.3715),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((224.189,-93.2344,75.7176),(270,2,-22)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((426.679,-104.256,71.7369),(270,2,-22)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((101.998,-37.4016,83.9434),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-77.9187,113.117,88),(270,2,-22)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-210.347,283.829,75.6654),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-414.92,296.567,71),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83.369,-3490.25,133.68),(273,160,179)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((1090.75,-3246.5,141.882),(273,160,179)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2096.71,-3328.21,176.112),(270,2,-22)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((326.064,-2966.33,246.192),(348.456,287.238,-0.195787)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bird_vulture_circle_a_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((822.487,4650.14,1744.54),(272,90,-90)); + var_00.v["fxid"] = "bird_vulture_circle_a_loop"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ct_heat_distortion_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4562.14,-2667.57,155.434),(270,0,24)); + var_00.v["fxid"] = "ct_heat_distortion_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_skitter"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3247.78,-2068.02,155.377),(270,0,111)); + var_00.v["fxid"] = "ground_sand_skitter"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ct_heat_distortion_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((3365.66,-679.158,199.253),(270,0,177)); + var_00.v["fxid"] = "ct_heat_distortion_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ct_heat_distortion_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((2779.67,1271.11,159.869),(270,0,-129)); + var_00.v["fxid"] = "ct_heat_distortion_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ct_heat_distortion_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((190.803,-5275.74,782.689),(270,0,99)); + var_00.v["fxid"] = "ct_heat_distortion_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ct_heat_distortion_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2401.23,-5034.53,731.493),(270,0,78)); + var_00.v["fxid"] = "ct_heat_distortion_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_skitter"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4034.8,-2350.83,158.651),(270,0,111)); + var_00.v["fxid"] = "ground_sand_skitter"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_vista"); + var_00 common_scripts\_createfx::set_origin_and_angles((3892.09,-653.437,316.522),(270,0,0)); + var_00.v["fxid"] = "dust_blowing_vista"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_vista"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6754.66,-4006.97,268.729),(270,0,21)); + var_00.v["fxid"] = "dust_blowing_vista"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_vista"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6451.05,721.079,408.918),(270,0,-25)); + var_00.v["fxid"] = "dust_blowing_vista"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_vista"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9887.69,-5271.32,336.661),(270,180,-131)); + var_00.v["fxid"] = "dust_blowing_vista"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ct_heat_distortion_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-934.473,2953.97,201.788),(270,0,-89)); + var_00.v["fxid"] = "ct_heat_distortion_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_vista"); + var_00 common_scripts\_createfx::set_origin_and_angles((123.478,5490.09,365.472),(270,0,-76)); + var_00.v["fxid"] = "dust_blowing_vista"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_vista"); + var_00 common_scripts\_createfx::set_origin_and_angles((6484.52,-140.107,287.245),(270,0,6)); + var_00.v["fxid"] = "dust_blowing_vista"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1637.36,-260.436,174.08),(270,0,35)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1610.09,-437.615,194.177),(271.138,344.416,-23.4281)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2141.46,-497.987,156.125),(271.138,344.416,-23.4281)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1165.47,-3358.88,151.579),(270,2,-22)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rock_dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1570.13,-3724.07,392.453),(270,2,-22)); + var_00.v["fxid"] = "rock_dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2170.06,-477.134,195.443),(270,2,-19)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_dragonfly_runner_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2378.45,-2024.79,290.374),(270,180,141)); + var_00.v["fxid"] = "insects_dragonfly_runner_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2553.25,-1984.52,233.94),(278.54,139.575,-159.365)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2201.22,-1864.77,171.066),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((556.535,-91.1251,137.892),(270,0,86)); + var_00.v["fxid"] = "falling_water_drip_line_runner_slow"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((649.686,-514.963,64),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-798.128,-2151.54,157),(270,0,3)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((649.165,-52.9008,195.125),(0.271451,281.551,-5.84553)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2394.99,-907.315,255.859),(357.287,281.856,-5.85213)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((472.656,-876.794,61),(270,0,144)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((510.347,-853.83,61),(270,0,144)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((468.469,-1255.07,62.666),(270,180,50)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((464.459,-1202.91,61),(270,180,49)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((528.465,-1214.36,61),(270,0,144)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((929.587,-881.89,62.9975),(270,180,-34)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((844.623,-934.338,61),(270,180,129)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((721.857,-970.237,61),(270,2,-16)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((914.815,-838.567,61),(270,180,-34)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((787.359,-955.105,61),(270,0,22)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((913.545,-1155.69,61),(270,0,110)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((917.992,-1080.28,61),(270,0,82)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((827.416,-1147.11,61),(270,0,-111)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((935.128,-1608.82,61),(270,180,-142)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((849.976,-1655.51,61),(270,0,19)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((543.99,-1680.4,61),(270,0,-32)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((494.787,-1561.51,61),(270,0,-108)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((488.502,-1610.68,61),(270,0,-72)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((586.817,-873.748,61),(270,0,39)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((788.89,-815.948,61),(270,0,-178)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((571.982,-1565.9,61),(270,0,138)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((592.036,-1598.84,61),(270,0,138)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((613.917,-1673.44,61),(270,0,54)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((852.423,-1384.46,61),(270,180,43)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((857.69,-1491.85,61),(270,180,43)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((923.522,-1551.01,61),(270,180,-142)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((940.42,-1437.9,61),(270,180,-142)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((887.292,-1264.67,61),(270,0,-171)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((847.86,-1019.06,61),(270,0,-111)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((702.933,-764.156,61),(270,0,-173)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((538.964,-289.412,61),(270,0,-58)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((458.491,-202.021,61),(270,0,-95)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((497.615,-161.179,61),(270,0,-99)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((461.939,-117.442,62.6315),(270,0,-105)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((498.995,-256.815,61),(270,0,-38)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((677.073,-289.702,61),(270,0,104)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((707.479,-249.843,61),(270,0,104)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((642.916,-118.89,61),(270,180,7)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((744.845,-156.158,61),(270,0,157)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((856.745,-119.199,61),(270,2,-16)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((679.875,-325.379,61),(270,0,104)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((809.087,-1106.29,61),(270,0,-90)); + var_00.v["fxid"] = "sewage_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((785.843,-419.874,81.5137),(270,2,-22)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((588.612,-545.605,86.3599),(271,340,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_skitter"); + var_00 common_scripts\_createfx::set_origin_and_angles((1753.87,-810.747,157.574),(271.414,303.994,134.997)); + var_00.v["fxid"] = "ground_sand_skitter"; + var_00.v["delay"] = -12; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_skitter"); + var_00 common_scripts\_createfx::set_origin_and_angles((2027.01,-190.991,205.011),(271.414,303.997,141.994)); + var_00.v["fxid"] = "ground_sand_skitter"; + var_00.v["delay"] = -12; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_skitter"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1703.74,-2470.82,152),(270,0,84)); + var_00.v["fxid"] = "ground_sand_skitter"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1365.33,333.291,187.566),(275.996,265.691,90.1389)); + var_00.v["fxid"] = "mp_dust_blowing_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_dust_blowing_runner_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((719.065,502.146,84.125),(270,0,0)); + var_00.v["fxid"] = "mp_dust_blowing_runner_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_dust_blowing_runner_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((751.912,1668.31,121.933),(270,0,0)); + var_00.v["fxid"] = "mp_dust_blowing_runner_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ct_heat_distortion_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4571.76,389.489,306.233),(270,0,-43)); + var_00.v["fxid"] = "ct_heat_distortion_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1378.57,-2767.33,148.296),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_skitter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2125.93,-1034.31,338.845),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_mp_ct3_coyote"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2242.27,-1820.88,297.118),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_mp_ct3_coyote"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2352.92,-2701.48,370.88),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_mp_ct3_coyote"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1787.64,-3593.2,362.293),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_mp_ct3_coyote"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1510.81,523.204,222.787),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_mp_ct3_coyote"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((916.482,544.617,34.9147),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_mp_ct3_coyote"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2878.28,-630.154,217.823),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_mp_ct3_coyote"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2862.85,-957.056,174.055),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_mp_ct3_coyote"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2709.05,-1280.4,181.966),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_mp_ct3_coyote"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1574.27,-3230.09,277.596),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_mp_ct3_coyote"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1230.38,-4045.68,155.844),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_mp_ct3_coyote"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1386.97,-3740.98,399.723),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_mp_ct3_coyote"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1973.46,-3436.59,395.952),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_mp_ct3_coyote"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-803.135,-2559.88,293.648),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_wood_creak_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2401.5,-3107.39,306.576),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_mp_ct3_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1378.87,-1899.4,225.541),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_mp_ct3_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((445.181,-3679.71,200.246),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_mp_ct3_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1509.88,-4444.67,164.981),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_mp_ct3_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1700.76,-4058.4,39.2928),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_mp_ct3_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1565.14,-3524.52,232.833),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_mp_ct3_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1546.69,-1105.17,149.969),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 17; + var_00.v["soundalias"] = "emt_mp_ct3_frog"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1034.21,-1059.09,70.3185),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 17; + var_00.v["soundalias"] = "emt_mp_ct3_frog"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((977.761,-505.194,59.7681),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 17; + var_00.v["soundalias"] = "emt_mp_ct3_frog"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((941.1,195.325,65.7233),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 17; + var_00.v["soundalias"] = "emt_mp_ct3_frog"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((120.496,114.489,45.1973),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 17; + var_00.v["soundalias"] = "emt_mp_ct3_frog"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-351.753,358.109,137.929),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 17; + var_00.v["soundalias"] = "emt_mp_ct3_frog"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-155.496,-200.603,169.515),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "emt_mp_ct3_insect"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1864.97,8.31555,152),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "emt_mp_ct3_insect"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2593.79,-1293.69,152),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "emt_mp_ct3_insect"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1368.75,-2699.08,294.771),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "emt_mp_ct3_insect"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-224.568,-3345.45,135.166),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "emt_mp_ct3_insect"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1863.01,-3206.86,313.147),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "emt_mp_ct3_insect"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2198.33,-1834.05,54.595),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "emt_mp_ct3_insect"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2117.43,-1015.2,87.6267),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "emt_mp_ct3_insect"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((875.437,-1127.25,59.7681),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "emt_mp_ct3_insect"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1130.9,491.269,163.906),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "emt_mp_ct3_insect"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1923.76,-427.377,189.471),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_mp_ct3_drip"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1974.5,-442.398,166.034),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_mp_ct3_drip"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2225.24,320.331,213.589),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_mp_ct3_drip"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((869.689,-427.556,59.7681),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_mp_ct3_drip"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1051.94,-1538.92,109.482),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_mp_ct3_drip"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1104.42,-465.466,64.905),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_mp_ct3_drip"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-526.73,436.235,59.7681),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_mp_ct3_drip"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((788.524,-1881.84,143.744),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "emt_mp_ct3_insect"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-925.819,-915.967,479.612),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_metal_creak_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-757.923,-861.417,547.605),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_metal_creak_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-870.607,-902.529,547.63),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_metal_creak_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-794.779,-890.727,350.536),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_metal_creak_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-907.485,-931.839,350.568),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_metal_creak_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-844.613,-893.827,430.518),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_metal_knock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-848.65,-895.717,266.446),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_metal_knock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-846.517,-901.577,678.926),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_metal_knock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1445.76,-1973.7,275.359),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_metal_creak_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1389.65,-1680.44,240.862),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_metal_knock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1389.96,-1782.72,274.479),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_metal_knock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1730.27,-1902.94,248.06),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_metal_knock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1420.49,-2823.66,169.484),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_metal_creak_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1599.6,-3422.16,346.333),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_metal_creak_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1671.38,-3644.77,429.888),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_metal_knock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1576.83,-3451.55,379.125),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_metal_knock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1462.07,-3277.74,178.682),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_metal_knock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1261.94,-2272.07,393.803),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_metal_knock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((295.294,-111.073,50.9443),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_metal_creak_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-163.23,177.686,36.9581),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_metal_creak_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-355.062,301.794,152.132),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_metal_creak_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-537.77,439.975,152.133),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_metal_creak_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((461.85,-3111.77,178.188),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_mp_ct3_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((718.658,-2107.86,242.869),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_metal_creak_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((725.192,-2263.92,243.757),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_metal_knock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((434.6,-3105.21,238.247),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_metal_creak_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((461.501,-2949.46,137.743),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_metal_knock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1918.51,-2193.29,343.383),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_metal_knock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((326.294,-3112.12,126.554),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_mp_ct3_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((396.028,-2329.68,154.804),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_skitter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((82.4344,-2347.65,146.923),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_skitter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2190.12,-1893.06,173.099),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_skitter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((377.692,-2314.8,220.751),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_metal_creak_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((325.435,-3180.06,165.025),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_metal_creak_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((490.532,-3643.67,207.436),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_metal_creak_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((368.421,-3594.24,423.922),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_ct3_metal_creak_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((326.218,-2980.64,128.44),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6.5; + var_00.v["soundalias"] = "emt_mp_ct3_wind_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1209.19,-2337.04,156.122),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6.5; + var_00.v["soundalias"] = "emt_mp_ct3_wind_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1246.06,-1624.37,152),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6.5; + var_00.v["soundalias"] = "emt_mp_ct3_wind_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1246.03,-1624.21,152),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6.5; + var_00.v["soundalias"] = "emt_mp_ct3_wind_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1201.75,-629.574,154.738),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6.5; + var_00.v["soundalias"] = "emt_mp_ct3_wind_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((298.558,-403.241,147.941),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6.5; + var_00.v["soundalias"] = "emt_mp_ct3_wind_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((298.558,-403.241,147.941),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6.5; + var_00.v["soundalias"] = "emt_mp_ct3_wind_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((75.1408,-223.977,152),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6.5; + var_00.v["soundalias"] = "emt_mp_ct3_wind_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1471.77,-565.957,152),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6.5; + var_00.v["soundalias"] = "emt_mp_ct3_wind_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1854.47,-1079.88,152.577),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6.5; + var_00.v["soundalias"] = "emt_mp_ct3_wind_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2396.36,-1210.57,154.696),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6.5; + var_00.v["soundalias"] = "emt_mp_ct3_wind_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2377.81,-1736.94,152),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6.5; + var_00.v["soundalias"] = "emt_mp_ct3_wind_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1875.02,-1820.02,152),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6.5; + var_00.v["soundalias"] = "emt_mp_ct3_wind_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1634.79,-2233.43,151.204),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6.5; + var_00.v["soundalias"] = "emt_mp_ct3_wind_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1220.11,-3087.28,136.441),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6.5; + var_00.v["soundalias"] = "emt_mp_ct3_wind_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1220.11,-3087.28,136.441),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6.5; + var_00.v["soundalias"] = "emt_mp_ct3_wind_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((168.406,-3532.33,132.708),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6.5; + var_00.v["soundalias"] = "emt_mp_ct3_wind_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((829.248,-3079.63,129.99),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6.5; + var_00.v["soundalias"] = "emt_mp_ct3_wind_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1223.32,-464.929,153.29),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6.5; + var_00.v["soundalias"] = "emt_mp_ct3_wind_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1223,-462.807,153.75),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6.5; + var_00.v["soundalias"] = "emt_mp_ct3_wind_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((642.876,-2274.03,269.429),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6.5; + var_00.v["soundalias"] = "emt_mp_ct3_metal_pipe_clink"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((490.758,-3156.5,156.624),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6.5; + var_00.v["soundalias"] = "emt_mp_ct3_metal_pipe_clink"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((447.079,-3654.95,297.124),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6.5; + var_00.v["soundalias"] = "emt_mp_ct3_metal_pipe_clink"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((530.3,-3620.8,480.793),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6.5; + var_00.v["soundalias"] = "emt_mp_ct3_metal_pipe_clink"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1902.93,-2180.75,353.102),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6.5; + var_00.v["soundalias"] = "emt_mp_ct3_metal_pipe_clink"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-788.899,281.662,226.799),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6.5; + var_00.v["soundalias"] = "emt_mp_ct3_metal_pipe_clink"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-587.773,260.265,176.48),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6.5; + var_00.v["soundalias"] = "emt_mp_ct3_metal_pipe_clink"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-120.411,290.2,64.437),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6.5; + var_00.v["soundalias"] = "emt_mp_ct3_metal_pipe_clink"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((993.837,-78,128.172),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6.5; + var_00.v["soundalias"] = "emt_mp_ct3_metal_pipe_clink"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1088.03,-2343.29,157.407),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6.5; + var_00.v["soundalias"] = "emt_mp_ct3_metal_pipe_clink"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-878.498,-1184.07,213.53),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6.5; + var_00.v["soundalias"] = "emt_mp_ct3_metal_pipe_clink"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-907.799,1041.69,507.443),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 19; + var_00.v["soundalias"] = "emt_mp_ct3_car_horns"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1188.52,905.408,152.866),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 19; + var_00.v["soundalias"] = "emt_mp_ct3_car_horns"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2099.59,837.8,199),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 19; + var_00.v["soundalias"] = "emt_mp_ct3_car_horns"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1625.09,-167.85,161.403),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 19; + var_00.v["soundalias"] = "emt_mp_ct3_car_horns"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1731.2,1274.76,438.402),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 19; + var_00.v["soundalias"] = "emt_mp_ct3_car_horns"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2492.09,1243.46,423.482),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 19; + var_00.v["soundalias"] = "emt_mp_ct3_car_horns"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2208.26,1328.42,339.359),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 19; + var_00.v["soundalias"] = "emt_mp_ct3_car_horns"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1353.77,891.664,500.147),(270,0,0)); + var_00.v["delay_min"] = 15; + var_00.v["delay_max"] = 30; + var_00.v["soundalias"] = "emt_mp_ct3_ev_siren"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2614.31,1023.56,444.219),(270,0,0)); + var_00.v["delay_min"] = 25; + var_00.v["delay_max"] = 35; + var_00.v["soundalias"] = "emt_mp_ct3_ev_siren"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1373.29,1307.03,456.875),(270,0,0)); + var_00.v["delay_min"] = 9; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_mp_ct3_ev_siren"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1772.12,-260.561,252.75),(270,0,0)); + var_00.v["delay_min"] = 9; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_mp_ct3_ev_siren"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_comeback_fx.gsc b/AW/PC/maps/createfx/mp_comeback_fx.gsc new file mode 100644 index 0000000..3087f85 --- /dev/null +++ b/AW/PC/maps/createfx/mp_comeback_fx.gsc @@ -0,0 +1,1622 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_comeback_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 98 ms + * Timestamp: 4/22/2024 2:07:34 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1066.4,323.421,172.024),(270,0,0)); + var_00.v["soundalias"] = "trash_wind_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-774.691,925.164,274.341),(270,0,0)); + var_00.v["soundalias"] = "trash_wind_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((97.3683,-1531.75,237.846),(270,0,0)); + var_00.v["soundalias"] = "trash_wind_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-247.808,1376.34,397.875),(270,0,0)); + var_00.v["soundalias"] = "building_wind_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-286.659,996.145,274.895),(270,0,0)); + var_00.v["soundalias"] = "trash_wind_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-319.951,-871.653,495.967),(270,0,0)); + var_00.v["soundalias"] = "generators_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-952.273,-563.335,495.992),(270,0,0)); + var_00.v["soundalias"] = "generators_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((333.441,424.246,327.329),(270,0,0)); + var_00.v["soundalias"] = "foliage_wind"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1279.76,-598.463,313.688),(270,0,0)); + var_00.v["soundalias"] = "metal_stress_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((481.959,-988.664,400.125),(270,0,0)); + var_00.v["soundalias"] = "metal_stress_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((230.468,-1001.66,401.515),(270,0,0)); + var_00.v["soundalias"] = "metal_stress_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1213.98,767.62,513.14),(270,0,0)); + var_00.v["soundalias"] = "foliage_wind"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((900.225,583.635,519.992),(270,0,0)); + var_00.v["soundalias"] = "generators_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((577.117,869.697,519.992),(270,0,0)); + var_00.v["soundalias"] = "generators_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((688.776,759.83,518.66),(270,0,0)); + var_00.v["soundalias"] = "generators_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1458.78,1057.3,272.125),(270,0,0)); + var_00.v["soundalias"] = "trash_wind_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((779.373,-80.3541,438.66),(270,0,0)); + var_00.v["soundalias"] = "generators_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-737.432,3.33801,374.66),(270,0,0)); + var_00.v["soundalias"] = "generators_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1202.89,708.46,368.608),(270,0,0)); + var_00.v["soundalias"] = "insects_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((383.978,296.629,162.734),(0,270.1,0)); + var_00.v["soundalias"] = "insects_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1361.94,-109.161,208.125),(0,270.1,0)); + var_00.v["soundalias"] = "stream_drain"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((916.63,-103.078,208.125),(0,270.1,0)); + var_00.v["soundalias"] = "stream_drain"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1164.66,-135.113,208.125),(0,270.1,0)); + var_00.v["soundalias"] = "stream_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1024.05,-119.14,208.125),(0,270.1,0)); + var_00.v["soundalias"] = "stream_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((334.021,-1102.72,236.551),(270,0,0)); + var_00.v["soundalias"] = "insects_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((469.934,-885.282,239.47),(270,0,0)); + var_00.v["soundalias"] = "insects_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((156.015,-877.835,269.536),(270,0,0)); + var_00.v["soundalias"] = "insects_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((135.331,-1436.65,278.671),(270,0,0)); + var_00.v["soundalias"] = "insects_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1046.81,-1065.02,277.131),(270,0,0)); + var_00.v["soundalias"] = "insects_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((57.6051,-432.975,302.944),(270,0,0)); + var_00.v["soundalias"] = "building_wind_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-70.1113,429.551,264.559),(270,0,0)); + var_00.v["soundalias"] = "building_wind_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1215.18,327.875,417.433),(270,0,0)); + var_00.v["soundalias"] = "building_wind_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1348.28,463.875,307.14),(270,0,0)); + var_00.v["soundalias"] = "building_wind_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-942.335,380.674,525.992),(270,0,0)); + var_00.v["soundalias"] = "building_wind_06"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-889.007,538.454,169.794),(0,270.1,0)); + var_00.v["soundalias"] = "insects_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((49.0068,-367.875,371.382),(270,0,0)); + var_00.v["soundalias"] = "alarm"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-57.3723,367.875,375.912),(270,0,0)); + var_00.v["soundalias"] = "alarm"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((800.321,787.102,417.697),(270,0,0)); + var_00.v["soundalias"] = "fan_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1162.87,660.621,426.669),(270,0,0)); + var_00.v["soundalias"] = "fan_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-801.209,-817.62,397.797),(270,0,0)); + var_00.v["soundalias"] = "fan_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1207.32,668.927,366.114),(270,0,0)); + var_00.v["soundalias"] = "vending_machine"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1347.14,314.137,540.875),(270,0,0)); + var_00.v["soundalias"] = "building_wind_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((829.467,-676.942,459.703),(270,0,0)); + var_00.v["soundalias"] = "building_wind_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((976.177,-409.266,438.959),(270,0,0)); + var_00.v["soundalias"] = "building_wind_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((972.575,515.124,409.375),(270,0,0)); + var_00.v["soundalias"] = "building_wind_06"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((638.007,767.793,408.375),(270,0,0)); + var_00.v["soundalias"] = "building_wind_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1217.18,-130.549,208.125),(0,270.1,0)); + var_00.v["soundalias"] = "stream_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1104.29,-132.774,208.125),(0,270.1,0)); + var_00.v["soundalias"] = "stream_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1221.41,-788.803,296.125),(270,0,0)); + var_00.v["soundalias"] = "woodcreak_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((569.33,988.042,328.632),(270,0,0)); + var_00.v["soundalias"] = "woodcreak_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((280.468,-847.375,305.973),(270,0,0)); + var_00.v["soundalias"] = "woodcreak_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((219.125,897.19,527.284),(270,0,0)); + var_00.v["soundalias"] = "woodcreak_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((37.0468,25.3675,463.242),(270,0,0)); + var_00.v["soundalias"] = "steam_room"; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-307.027,-880.298,496.005),(270,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-732.077,4.46558,376.005),(270,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((776.734,-80.5671,440.005),(270,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((964.874,-575.403,728.005),(270,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((961.197,-655.644,728.005),(270,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1144.71,-524.558,688.005),(270,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-796.288,-1683.92,792.005),(270,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-867.701,-1683.84,792.005),(270,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-972.499,-556.987,496.005),(270,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-473.396,-135.718,658.357),(270,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-397.647,78.5536,792.005),(270,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-397.657,10.1968,792.005),(270,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-368.397,-116.485,864.515),(26.5651,180,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((368.083,208.411,863.887),(270,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((938.26,591.857,520.005),(270,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((684.788,770.228,520.005),(270,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((571.027,885.433,519.005),(270,0,-83)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((765.987,1839.7,552.005),(270,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((468.379,136.335,656.907),(293,90,90)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("exterior_ground_steam_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-67.6647,416.62,161.5),(270,0,0)); + var_00.v["fxid"] = "exterior_ground_steam_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("exterior_ground_steam_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((62.3847,-411.945,163.509),(270,0,0)); + var_00.v["fxid"] = "exterior_ground_steam_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("exterior_ground_steam_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5.53746,23.0663,160.395),(270,0,0)); + var_00.v["fxid"] = "exterior_ground_steam_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_generator"); + var_00 common_scripts\_createfx::set_origin_and_angles((-195.365,-134.318,164.381),(270,0,0)); + var_00.v["fxid"] = "steam_generator"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_generator"); + var_00 common_scripts\_createfx::set_origin_and_angles((189.016,163.238,157.122),(270,0,0)); + var_00.v["fxid"] = "steam_generator"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_generator"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1.38363,21.5638,511.777),(270,0,0)); + var_00.v["fxid"] = "steam_generator"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_generator"); + var_00 common_scripts\_createfx::set_origin_and_angles((-145.308,-706.125,582.637),(316,270,90)); + var_00.v["fxid"] = "steam_generator"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_generator"); + var_00 common_scripts\_createfx::set_origin_and_angles((-37.3472,-706.125,585.317),(316,270,90)); + var_00.v["fxid"] = "steam_generator"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_generator"); + var_00 common_scripts\_createfx::set_origin_and_angles((71.7716,-706.125,583.041),(316,270,90)); + var_00.v["fxid"] = "steam_generator"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_generator"); + var_00 common_scripts\_createfx::set_origin_and_angles((177.587,-706.125,582.826),(316,270,90)); + var_00.v["fxid"] = "steam_generator"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_generator"); + var_00 common_scripts\_createfx::set_origin_and_angles((287.397,-706.125,583.933),(316,270,90)); + var_00.v["fxid"] = "steam_generator"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1238.62,798.896,554.538),(270,0,167)); + var_00.v["fxid"] = "leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((324.489,433.331,372.098),(270,0,56)); + var_00.v["fxid"] = "leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((1537.83,-320.634,446.83),(270,0,145)); + var_00.v["fxid"] = "leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((1443.44,-1149.64,430.1),(270,0,172)); + var_00.v["fxid"] = "leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_trash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1945.25,10.5213,227.181),(270,180,89)); + var_00.v["fxid"] = "wind_blowing_trash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_trash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1863.15,-1097.85,269.943),(270,0,90)); + var_00.v["fxid"] = "wind_blowing_trash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_trash"); + var_00 common_scripts\_createfx::set_origin_and_angles((13.1559,-2363.18,224.629),(270,0,-61)); + var_00.v["fxid"] = "wind_blowing_trash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1155.16,-1494.43,288),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((5.8468,-1773.39,228.59),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1593.42,45.7501,221.242),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((722.196,1067.54,464.593),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-287.537,993.797,270.252),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-768.574,922.239,272.842),(270,0,1)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1587.44,68.9337,208.873),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1814.32,-342.579,137.097),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1044.69,-427.314,224.116),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-292.65,-1244.38,287.822),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((99.4235,-1531.44,232.125),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-852.719,-714.778,444.125),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fireball_lp_smk_s"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1598.01,-1485.18,558.929),(270,0,0)); + var_00.v["fxid"] = "fireball_lp_smk_s"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("vehicle_engine_fire_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1512.86,-1550.18,498.395),(270,0,0)); + var_00.v["fxid"] = "vehicle_engine_fire_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1061.68,327.311,161.819),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1059.31,1515.66,321.257),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((607.467,1573.26,504.593),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1432.91,1050.23,272.79),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fireball_lp_smk_xlrg_tall"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11992.9,-5012.12,238.459),(272,270,163)); + var_00.v["fxid"] = "fireball_lp_smk_xlrg_tall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((468.504,-439.911,659.13),(270,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((955.565,-861.708,706.005),(270,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-39.0437,-1354.08,252.87),(0,0,0)); + var_00.v["fxid"] = "amb_dust_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-98.6867,-715.258,226.423),(0,0,0)); + var_00.v["fxid"] = "amb_dust_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1223.42,-1253.48,224.513),(0,0,0)); + var_00.v["fxid"] = "amb_dust_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-55.0331,-1889.35,233.533),(0,0,0)); + var_00.v["fxid"] = "amb_dust_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-508.999,-461.147,151.65),(0,0,0)); + var_00.v["fxid"] = "amb_dust_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-902.853,-207.309,160.749),(0,0,0)); + var_00.v["fxid"] = "amb_dust_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-891.281,143.969,170.5),(0,0,3)); + var_00.v["fxid"] = "amb_dust_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-546.734,642.605,144.7),(0,0,0)); + var_00.v["fxid"] = "amb_dust_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((492.028,602.938,169),(0,0,0)); + var_00.v["fxid"] = "amb_dust_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((789.49,387.783,193.076),(0,0,0)); + var_00.v["fxid"] = "amb_dust_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1152.87,150.749,227),(0,0,0)); + var_00.v["fxid"] = "amb_dust_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1343.38,30.1489,284.351),(0,0,0)); + var_00.v["fxid"] = "amb_dust_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((790.606,-369.615,225.408),(0,0,0)); + var_00.v["fxid"] = "amb_dust_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((570.103,-609.455,246.122),(0,0,0)); + var_00.v["fxid"] = "amb_dust_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1742.05,-49.8112,228.577),(0,0,0)); + var_00.v["fxid"] = "amb_dust_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1562.69,-1638.98,233),(0,0,0)); + var_00.v["fxid"] = "amb_dust_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1611.58,-1302.73,230),(0,0,0)); + var_00.v["fxid"] = "amb_dust_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1214.88,123.824,180.698),(0,0,0)); + var_00.v["fxid"] = "amb_dust_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1142.65,-486.55,227),(0,0,0)); + var_00.v["fxid"] = "amb_dust_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1697.84,-390.328,148.953),(0,0,0)); + var_00.v["fxid"] = "amb_dust_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1688.55,52.3716,216.845),(0,0,0)); + var_00.v["fxid"] = "amb_dust_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1662.74,414.255,202),(0,0,0)); + var_00.v["fxid"] = "amb_dust_wind_01"; + var_00.v["delay"] = -15; + if(level.nextgen) + { + var_00 = common_scripts\utility::createoneshoteffect("base_tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((533.252,-1852.77,1440.01),(270,0,0)); + var_00.v["fxid"] = "base_tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + } + + var_00 = common_scripts\utility::createoneshoteffect("base_tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((-636.673,-1877.79,1548.88),(270,0,0)); + var_00.v["fxid"] = "base_tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-677.953,-821.14,419.117),(270,180,135)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((837.53,887.612,451.498),(270,0,0)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1152.12,584.007,452.722),(270,0,0)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((67.5914,473.919,433.543),(270,0,0)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18.8041,473.922,436.523),(270,0,0)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-104.972,473.933,433.371),(270,0,0)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-101.86,395.027,160.125),(56.5026,270,-87)); + var_00.v["fxid"] = "det_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15.8769,394.063,300.318),(270,0,0)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((104.116,-394.051,300.163),(270,0,0)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((18.2992,-394.051,300.161),(270,0,0)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-66.2544,-473.076,434.794),(270,0,0)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((19.1579,-471.828,436.643),(270,0,0)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((104.723,-473.212,434.591),(270,0,0)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((191.048,-472.32,435.914),(270,0,-1)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_light_spotlight_cone_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-278.431,-80.3706,191.444),(0,360,-180)); + var_00.v["fxid"] = "mp_det_light_spotlight_cone_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_light_spotlight_cone_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-342.431,111.657,191.499),(0,360,-180)); + var_00.v["fxid"] = "mp_det_light_spotlight_cone_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_light_spotlight_cone_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-278.431,325.137,191.961),(0,360,-180)); + var_00.v["fxid"] = "mp_det_light_spotlight_cone_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_spotlight_cone_haze"); + var_00 common_scripts\_createfx::set_origin_and_angles((419.656,-987.456,373.613),(90,180,-180)); + var_00.v["fxid"] = "det_light_spotlight_cone_haze"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((939.25,-616.608,491.254),(270,0,90)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1046.95,-1069.68,273.974),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((480.494,-905.979,234.73),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((171.414,-889.352,258.44),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((135.414,-1441.45,276.171),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((149.818,-1590.57,235.519),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-284.877,-1157.91,340.178),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-973.451,-390.163,227.708),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1420.36,19.7899,212.286),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1446.65,-150.893,204.05),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-869.843,538.909,166.373),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-840.803,792.695,306.241),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-179.452,1691.54,303.019),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-334.039,1049.3,307.788),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((409.525,1691.54,358.407),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((659.958,1177.46,357.416),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1263.99,1578.04,357.241),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((955.462,1128.78,357.95),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1214.44,717.392,371.673),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1056.11,492.054,345.769),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1344.85,-112.651,208.125),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((922.675,-113.531,221.284),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1126.5,-964.403,276.073),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-614.229,-853.812,440.125),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1073.97,-257.734,211.537),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1183.78,-260.049,210.775),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1466.73,1071.97,283.748),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-666.083,1487.87,272.125),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((558.235,791.899,161.97),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((391.053,286.634,182.647),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((646.093,717.585,177.876),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_comeback_tower_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((14.5735,5.08226,680.082),(270,0,0)); + var_00.v["fxid"] = "mp_comeback_tower_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_comeback_tower_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((20.7014,20.4769,767.876),(270,0,0)); + var_00.v["fxid"] = "mp_comeback_tower_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1208.62,871.976,514.517),(270,0,167)); + var_00.v["fxid"] = "leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("exterior_ground_steam_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((63.8597,-133.753,170.125),(270,0,0)); + var_00.v["fxid"] = "exterior_ground_steam_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1201.07,-153.184,190.398),(0,0,0)); + var_00.v["fxid"] = "amb_dust_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1299.31,-263.019,278.875),(0,0,0)); + var_00.v["fxid"] = "amb_dust_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-313.148,-1341.19,294.325),(0,0,0)); + var_00.v["fxid"] = "amb_dust_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((360.572,-1240.83,248),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((556.97,-1236.98,247),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((817.213,768.54,363.469),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((653.126,839.844,359.518),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((959.249,613.767,356.377),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((1150.42,728.569,349.523),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-941.208,951.918,273.125),(0,0,0)); + var_00.v["fxid"] = "amb_dust_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1259.85,659.363,557.125),(0,0,0)); + var_00.v["fxid"] = "amb_dust_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((946.185,-655.289,384.521),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((1214.09,-630.779,384.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((1216.93,-932.91,253.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((426.247,-1038.31,239.439),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((370.665,-936.834,233.593),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-905.293,-863.533,296.523),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-721.74,-882.745,296.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-803.063,-755.042,302.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-483.592,-1006.64,314.523),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((19.5199,10.1677,629.063),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((81.5801,25.462,575.413),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-64.3976,38.1447,627.55),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((135.317,-92.6302,613.543),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-102.284,394.008,299.589),(355.703,270,90)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_sunflare_comback"); + var_00 common_scripts\_createfx::set_origin_and_angles((-401.364,-612.998,152.39),(278.764,180,0)); + var_00.v["fxid"] = "fx_sunflare_comback"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-535.587,1305.06,272.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-483.673,971.973,273.5),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_trash"); + var_00 common_scripts\_createfx::set_origin_and_angles((598.391,1729.24,504),(270,0,90)); + var_00.v["fxid"] = "wind_blowing_trash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_trash"); + var_00 common_scripts\_createfx::set_origin_and_angles((857.347,664.29,464.125),(270,0,90)); + var_00.v["fxid"] = "wind_blowing_trash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((174.025,-2204.99,244.713),(0,0,0)); + var_00.v["fxid"] = "amb_dust_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bird_vulture_circle_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1616.91,-528.044,6621.4),(270,0,0)); + var_00.v["fxid"] = "bird_vulture_circle_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_dragonfly_runner_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((1571.69,-281.258,270.354),(270,0,0)); + var_00.v["fxid"] = "insects_dragonfly_runner_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cb_gdry_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((0.203801,11.2557,943.22),(90,0,0)); + var_00.v["fxid"] = "mp_cb_gdry_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((1182.93,670.681,334.525),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1457.95,1388.98,742.529),(0,90,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1447.69,1392.13,887.643),(2.90926,90,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1447.71,1582.37,743.943),(2.87121,180.041,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1015.32,727.831,300.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1404.13,710.843,205.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_comeback_tower_steam_below"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1.33313,22.8653,45.125),(270,0,0)); + var_00.v["fxid"] = "mp_comeback_tower_steam_below"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_trash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2103.32,607.43,280.387),(270,0,55)); + var_00.v["fxid"] = "wind_blowing_trash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1354.58,1095.93,882.585),(2.90926,270,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_sand_lingering"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1342.47,883.503,365.125),(270,0,0)); + var_00.v["fxid"] = "ambient_sand_lingering"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_sand_lingering"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1131.36,826.204,699.155),(270,0,0)); + var_00.v["fxid"] = "ambient_sand_lingering"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_sand_lingering"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1160.25,578.847,466.125),(270,0,0)); + var_00.v["fxid"] = "ambient_sand_lingering"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_sand_lingering"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1076.16,600.125,709.065),(270,0,0)); + var_00.v["fxid"] = "ambient_sand_lingering"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cb_gdry_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1136.16,811.936,726.606),(71.9728,93.2266,93.1182)); + var_00.v["fxid"] = "mp_cb_gdry_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cb_gdry_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1206.44,825.295,502.974),(71.9728,93.2266,93.1182)); + var_00.v["fxid"] = "mp_cb_gdry_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_sand_lingering"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1129.53,801.123,598.594),(270,0,0)); + var_00.v["fxid"] = "ambient_sand_lingering"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_sand_lingering"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1225.87,758.928,912.375),(270,0,0)); + var_00.v["fxid"] = "ambient_sand_lingering"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-644.315,1461.78,277.954),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-379.155,1431.8,287.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((281.411,1143.47,320.182),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_sand_lingering"); + var_00 common_scripts\_createfx::set_origin_and_angles((1107.4,1282.38,365),(270,0,0)); + var_00.v["fxid"] = "ambient_sand_lingering"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_sand_lingering"); + var_00 common_scripts\_createfx::set_origin_and_angles((448.691,1376.05,330),(270,0,0)); + var_00.v["fxid"] = "ambient_sand_lingering"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_sand_lingering"); + var_00 common_scripts\_createfx::set_origin_and_angles((-89.4214,820.205,275.514),(270,0,0)); + var_00.v["fxid"] = "ambient_sand_lingering"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_sand_lingering"); + var_00 common_scripts\_createfx::set_origin_and_angles((91.8367,1462.81,308),(270,0,0)); + var_00.v["fxid"] = "ambient_sand_lingering"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_sand_lingering"); + var_00 common_scripts\_createfx::set_origin_and_angles((-987.409,922.985,278.125),(270,0,0)); + var_00.v["fxid"] = "ambient_sand_lingering"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_sand_lingering"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1128.03,804.123,707.534),(270,0,0)); + var_00.v["fxid"] = "ambient_sand_lingering"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-705.205,-1596.1,323.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-533.259,-1618.95,318.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("grass_blowing_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1523.67,110.753,238.954),(0,180,0)); + var_00.v["fxid"] = "grass_blowing_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("grass_blowing_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1521.86,-237.67,234.977),(0,180,0)); + var_00.v["fxid"] = "grass_blowing_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("grass_blowing_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1610.63,-280.097,237),(0,180,0)); + var_00.v["fxid"] = "grass_blowing_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("grass_blowing_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1490.74,-329.158,267.465),(0,180,0)); + var_00.v["fxid"] = "grass_blowing_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("grass_blowing_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1153.24,-196.388,231),(0,180,0)); + var_00.v["fxid"] = "grass_blowing_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("grass_blowing_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((556.079,675.815,176),(0,180,0)); + var_00.v["fxid"] = "grass_blowing_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("grass_blowing_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-204.011,716.234,159.277),(0,180,0)); + var_00.v["fxid"] = "grass_blowing_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("grass_blowing_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-441.238,807.278,198.125),(0,180,0)); + var_00.v["fxid"] = "grass_blowing_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("grass_blowing_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-966.968,258.891,163.627),(0,180,0)); + var_00.v["fxid"] = "grass_blowing_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("grass_blowing_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1128.6,-1325.68,215.929),(0,180,0)); + var_00.v["fxid"] = "grass_blowing_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("grass_blowing_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1231.05,-1182.19,219.13),(0,180,0)); + var_00.v["fxid"] = "grass_blowing_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("grass_blowing_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1400.64,-1078.59,249.077),(0,180,0)); + var_00.v["fxid"] = "grass_blowing_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("grass_blowing_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1348.57,-1399.29,244.619),(0,180,0)); + var_00.v["fxid"] = "grass_blowing_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_sht_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-181.765,-864.112,394),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_sht_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_sht_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-430.035,-827.027,394.371),(270,0,92)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_sht_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_sht_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-695,-626.176,394.44),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_sht_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cb_gdry_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7.67945,-100.697,951.148),(90,0,0)); + var_00.v["fxid"] = "mp_cb_gdry_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cb_gdry_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5.93368,139.29,920.073),(90,0,0)); + var_00.v["fxid"] = "mp_cb_gdry_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-191.662,475.423,432.357),(270,0,0)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("grass_blowing_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((536.443,-474.157,219.086),(0,180,0)); + var_00.v["fxid"] = "grass_blowing_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("grass_blowing_wind_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((868.234,-221.767,226.288),(0,180,0)); + var_00.v["fxid"] = "grass_blowing_wind_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fireball_lp_smk_xlrg_tall"); + var_00 common_scripts\_createfx::set_origin_and_angles((11330.7,598.66,-135.67),(272,269.997,-119.997)); + var_00.v["fxid"] = "fireball_lp_smk_xlrg_tall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((3.91078,102.045,641.969),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((104.541,83.3049,594.123),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_comeback_tower_steam_flare01"); + var_00 common_scripts\_createfx::set_origin_and_angles((44.1803,7.57213,678.467),(88,180,-180)); + var_00.v["fxid"] = "mp_comeback_tower_steam_flare01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner2"); + var_00 common_scripts\_createfx::set_origin_and_angles((41.509,-39.5315,604.973),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-93.1586,-119.406,650.749),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner2"); + var_00 common_scripts\_createfx::set_origin_and_angles((6.02479,-95.8489,612.505),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46.3883,116.194,512.484),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1.8768,124.361,617.124),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner2"); + var_00 common_scripts\_createfx::set_origin_and_angles((119.497,-56.0521,531.079),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-200.245,-59.5166,568.984),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-88.313,190.346,504.606),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-100.849,-47.1566,608.765),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49.2413,-150.644,634.837),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-141.208,-37.2766,577.499),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-102.086,-23.1804,549.353),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fireball_lp_smk_s"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3604.19,-744.978,231.359),(270,0,0)); + var_00.v["fxid"] = "fireball_lp_smk_s"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fireball_lp_smk_xlrg_tall"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7834.11,-10742,200.968),(272,270,163)); + var_00.v["fxid"] = "fireball_lp_smk_xlrg_tall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fireball_lp_smk_xlrg_tall"); + var_00 common_scripts\_createfx::set_origin_and_angles((7287.38,-11362.3,285.175),(272,270,172)); + var_00.v["fxid"] = "fireball_lp_smk_xlrg_tall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1046.51,647.875,439.316),(0,270,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1014.53,647.875,439.856),(0,270,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_fan_vortex_lt_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((803.557,762.596,440.875),(360,90,-180)); + var_00.v["fxid"] = "wind_gust_fan_vortex_lt_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((668.555,959.875,442.437),(0,270,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((520.125,891.881,440.379),(0,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-230.397,445.572,328.715),(0,90,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((110.402,445.572,327.499),(0,90,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((230.225,-445.572,329.75),(0,270,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-108.775,-445.572,329.161),(0,270,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_comeback_tower_steam_flare01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-104.081,16.2448,709.727),(88,180,-180)); + var_00.v["fxid"] = "mp_comeback_tower_steam_flare01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_comeback_tower_steam_flare02"); + var_00 common_scripts\_createfx::set_origin_and_angles((3.08263,120.161,316.708),(88,180,-180)); + var_00.v["fxid"] = "mp_comeback_tower_steam_flare02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_comeback_tower_steam_flare02"); + var_00 common_scripts\_createfx::set_origin_and_angles((71.9751,7.34993,324.066),(88,180,-180)); + var_00.v["fxid"] = "mp_comeback_tower_steam_flare02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_comeback_tower_steam_flare02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-57.4766,16.9212,348.612),(88,180,-180)); + var_00.v["fxid"] = "mp_comeback_tower_steam_flare02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_comeback_tower_steam_flare02"); + var_00 common_scripts\_createfx::set_origin_and_angles((12.5416,119.459,285.341),(88,180,-180)); + var_00.v["fxid"] = "mp_comeback_tower_steam_flare02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-126.428,-327.28,279.81),(0,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-126.428,-320.696,276.471),(0,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-126.428,-281.848,283.197),(0,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-126.428,-274.848,276.836),(0,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((278.428,-300.111,291.306),(0,180,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((278.428,-302.392,275.949),(0,180,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((126.428,324.825,287.448),(0,180,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((126.428,327.254,268.221),(0,180,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-278.428,321.685,290.256),(0,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-278.428,323.312,274.453),(0,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_fan_vortex_lt_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1172.67,-757.703,485),(90,0,-3)); + var_00.v["fxid"] = "wind_gust_fan_vortex_lt_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_comeback_tower_walls"); + var_00 common_scripts\_createfx::set_origin_and_angles((-364.277,17.2303,259.755),(24.2298,0,0)); + var_00.v["fxid"] = "mp_comeback_tower_walls"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_comeback_tower_walls"); + var_00 common_scripts\_createfx::set_origin_and_angles((-362.905,211.475,258.243),(37.2297,0,0)); + var_00.v["fxid"] = "mp_comeback_tower_walls"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_comeback_tower_walls"); + var_00 common_scripts\_createfx::set_origin_and_angles((353.518,15.4676,272.098),(37.2298,180,0)); + var_00.v["fxid"] = "mp_comeback_tower_walls"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_comeback_tower_walls"); + var_00 common_scripts\_createfx::set_origin_and_angles((368.155,-162.76,263.507),(37.2298,180,0)); + var_00.v["fxid"] = "mp_comeback_tower_walls"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_l_blacksmk_thick_nonlit2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1855.72,893.677,1563.89),(270,0,179)); + var_00.v["fxid"] = "fire_lp_l_blacksmk_thick_nonlit2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fireball_lp_smk_xlrg_tall"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7341.3,7071.56,1839.08),(272,270,135)); + var_00.v["fxid"] = "fireball_lp_smk_xlrg_tall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((961.528,-506.413,396.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((1182.58,-752.764,396.126),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((228.649,-908.566,232.593),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_light_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1368.02,-309.82,218.6),(0,0,0)); + var_00.v["fxid"] = "ground_sand_light_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_light_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1383.42,68.3107,223.517),(0,0,0)); + var_00.v["fxid"] = "ground_sand_light_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_light_spotlight_cone_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1169.33,312.69,276.105),(270,0,0)); + var_00.v["fxid"] = "mp_det_light_spotlight_cone_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_light_spotlight_cone_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((278.431,121.938,191.234),(360,180,0)); + var_00.v["fxid"] = "mp_det_light_spotlight_cone_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_light_spotlight_cone_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((342.432,-71.7665,191.569),(360,180,0)); + var_00.v["fxid"] = "mp_det_light_spotlight_cone_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_light_spotlight_cone_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((278.431,-300.171,191.261),(360,180,0)); + var_00.v["fxid"] = "mp_det_light_spotlight_cone_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_light_spotlight_cone_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((842.718,889.184,452.527),(90,0,0)); + var_00.v["fxid"] = "mp_det_light_spotlight_cone_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_light_spotlight_cone_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1151.73,584.206,451.486),(90,0,0)); + var_00.v["fxid"] = "mp_det_light_spotlight_cone_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_light_spotlight_cone_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1086.15,550.872,299.164),(337.5,270,0)); + var_00.v["fxid"] = "mp_det_light_spotlight_cone_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_light_spotlight_cone_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1140.21,550.871,299.16),(337.5,270,0)); + var_00.v["fxid"] = "mp_det_light_spotlight_cone_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_light_spotlight_cone_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1034.31,551.026,299.389),(322.5,270,0)); + var_00.v["fxid"] = "mp_det_light_spotlight_cone_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_light_spotlight_cone_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((940.563,-616.483,491.125),(90,0,0)); + var_00.v["fxid"] = "mp_det_light_spotlight_cone_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_fan_vortex_lt_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1157.68,657.071,446.665),(90,0,-3)); + var_00.v["fxid"] = "wind_gust_fan_vortex_lt_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((708.125,654.309,439.776),(0,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1320.78,647.875,345.754),(0,270,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1080.13,694.363,441.236),(0,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_wreckage_ground_nolight"); + var_00 common_scripts\_createfx::set_origin_and_angles((1790.14,844.264,1591.67),(0,270,-180)); + var_00.v["fxid"] = "fire_wreckage_ground_nolight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_wreckage_ground_nolight"); + var_00 common_scripts\_createfx::set_origin_and_angles((1896.56,839.294,1584.19),(0,270,-180)); + var_00.v["fxid"] = "fire_wreckage_ground_nolight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glass_falling_s_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1145.4,775.958,978.696),(270,0,-90)); + var_00.v["fxid"] = "glass_falling_s_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glass_falling_s_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-866.727,605.629,994.107),(270,0,-90)); + var_00.v["fxid"] = "glass_falling_s_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glass_falling_s_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-612.047,1080.24,846.875),(270,0,0)); + var_00.v["fxid"] = "glass_falling_s_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glass_falling_s_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-551.395,945.771,827.875),(270,0,0)); + var_00.v["fxid"] = "glass_falling_s_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glass_falling_s_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-484.5,1381.08,1050.97),(270,0,-180)); + var_00.v["fxid"] = "glass_falling_s_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glass_falling_s_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1386.71,455.855,986.228),(270,0,-90)); + var_00.v["fxid"] = "glass_falling_s_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glass_falling_s_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1298.55,593.549,1002),(270,0,-90)); + var_00.v["fxid"] = "glass_falling_s_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-163.146,415.68,331.188),(53,0,0)); + var_00.v["fxid"] = "mp_gb_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((165.217,-410.773,322.03),(43,180,-180)); + var_00.v["fxid"] = "mp_gb_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_wreckage_ground_nolight"); + var_00 common_scripts\_createfx::set_origin_and_angles((1831.11,833.872,1559.33),(0,270,-180)); + var_00.v["fxid"] = "fire_wreckage_ground_nolight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_light_spotlight_cone_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-278.431,322.073,191.549),(0,360,-180)); + var_00.v["fxid"] = "mp_det_light_spotlight_cone_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((571.887,-484.919,220.025),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "light_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((487.396,-896.589,241.452),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "light_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((851.854,-1017.86,234.895),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "light_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((861.512,1453.12,320),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "light_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1039.3,913.281,322.596),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "light_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-817.33,1068.58,480.308),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "heavy_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-449.608,1071.97,434.09),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "light_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-773.038,923.251,274.377),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "trash_wind"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-283.847,995.359,272.593),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "trash_wind"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((272.094,525.351,368.383),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "trash_wind"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1055.02,1523.14,320.973),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "trash_wind"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-289.925,-1241.32,288.593),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "trash_wind"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1154.6,-1497.76,288),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "trash_wind"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-847.432,-723.078,440.125),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "trash_wind"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1255.57,396.833,396.125),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "bush_foliage_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1531.77,856.082,286.125),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "bush_foliage_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1453.38,1062.92,272.125),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "trash_wind"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1039.48,399.959,396.125),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "bush_foliage_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1165.07,788.793,336.125),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "bush_foliage_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1749.26,305.517,558.16),(0,10.8,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "dist_battle_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1516.21,-916.168,553.15),(0,10.8,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "dist_battle_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1462.19,-1199.34,555.511),(0,10.8,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "dist_battle_03"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1685.16,13.8468,512.577),(0,10.8,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "dist_battle_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1639.1,-108.601,418.863),(0,150.91,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "dist_battle_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((213.703,2174.3,351.969),(0,10.8,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "car_horn_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-234.522,1899.04,404.121),(0,10.8,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "car_horn_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((580.748,2268.22,250.057),(0,10.8,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emergency_veh_horn_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-690.43,2105.58,245.887),(0,10.8,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emergency_veh_horn_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1661.99,-428.22,631.115),(0,10.8,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emergency_veh_horn_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1756.6,40.2324,599.193),(0,10.8,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emergency_veh_horn_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((811.043,88.4879,673.9),(0,10.8,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "heli"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-336.364,-968.411,819.913),(0,10.8,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "heli"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-140.257,1014.72,863.825),(0,10.8,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "heli"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-257.538,1061.08,745.196),(0,10.8,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "flag"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1595.88,685.983,446.098),(0,10.8,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "crow"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((672.772,197.525,805.785),(0,10.8,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "heli"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((719.019,1069.22,464.593),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "trash_wind"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((719.019,1069.22,458.593),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "trash_wind"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-79.2581,-142.545,250.125),(270,0,0)); + var_00.v["delay_min"] = 0.5; + var_00.v["delay_max"] = 0.75; + var_00.v["soundalias"] = "drip_mask_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-201.899,166.896,213.125),(270,0,0)); + var_00.v["delay_min"] = 0.5; + var_00.v["delay_max"] = 0.75; + var_00.v["soundalias"] = "drip_mask_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((57.2531,197.215,212.125),(270,0,0)); + var_00.v["delay_min"] = 0.5; + var_00.v["delay_max"] = 0.75; + var_00.v["soundalias"] = "drip_mask_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((184.683,-223.201,226.125),(270,0,0)); + var_00.v["delay_min"] = 0.5; + var_00.v["delay_max"] = 0.75; + var_00.v["soundalias"] = "drip_mask_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((15.1362,-279.243,215.125),(270,0,0)); + var_00.v["delay_min"] = 0.5; + var_00.v["delay_max"] = 0.75; + var_00.v["soundalias"] = "drip_mask_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-191.189,18.4252,222.125),(270,0,0)); + var_00.v["delay_min"] = 0.5; + var_00.v["delay_max"] = 0.75; + var_00.v["soundalias"] = "drip_mask_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-62.2039,275.136,217.125),(270,0,0)); + var_00.v["delay_min"] = 0.5; + var_00.v["delay_max"] = 0.75; + var_00.v["soundalias"] = "drip_mask_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((196.612,-18.3727,211.125),(270,0,0)); + var_00.v["delay_min"] = 0.5; + var_00.v["delay_max"] = 0.75; + var_00.v["soundalias"] = "drip_mask_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-862.499,443.776,727.993),(0,10.8,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "flag"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((67.9543,-386.551,309.916),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "malfunction_door"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-58.8322,386.551,313.172),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "malfunction_door"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_dam_fx.gsc b/AW/PC/maps/createfx/mp_dam_fx.gsc new file mode 100644 index 0000000..1fe9f6f --- /dev/null +++ b/AW/PC/maps/createfx/mp_dam_fx.gsc @@ -0,0 +1,2733 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_dam_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 180 ms + * Timestamp: 4/22/2024 2:07:35 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1033.48,171.185,19.1426),(270,0,0)); + var_00.v["soundalias"] = "emt_steam_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-318.165,5931.22,1102.2),(270,0,0)); + var_00.v["soundalias"] = "emt_dam_waterfall_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((29.6665,2291.77,3),(270,0,-6)); + var_00.v["soundalias"] = "emt_drips_cement_splatty_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((490.118,506.248,0),(270,0,-6)); + var_00.v["soundalias"] = "emt_drips_sml"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1300.22,709.018,0.125),(270,0,-6)); + var_00.v["soundalias"] = "emt_drips_sml"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1194.39,1784.97,0.125),(270,0,-6)); + var_00.v["soundalias"] = "emt_drips_ground_splat_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((426.704,2982.47,0),(270,0,-6)); + var_00.v["soundalias"] = "emt_drips_sml"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((701.909,2774.22,-137.875),(270,0,-6)); + var_00.v["soundalias"] = "emt_drips_sml"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((729.717,1424.19,-145.875),(270,0,-6)); + var_00.v["soundalias"] = "emt_drips_sml"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((35.875,124.887,93.8413),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_door_heavy_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-104.012,610.875,150.192),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_door_heavy_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-674.145,381.407,162.9),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_door_heavy_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-304.106,393.579,360.115),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_door_heavy_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-377.705,399.875,203.351),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_window_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-78.8304,-245.794,33.4452),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_window_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-163.875,2865.32,256.816),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_door_heavy_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-163.875,2640.37,262.86),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_window_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1516.78,2523.56,114.446),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_window_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1439.46,3354.56,60.5467),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_window_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1870.35,2775.1,52.9517),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_door_heavy_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1529.24,1433.69,118.069),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_door_heavy_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1869.57,2949.01,52.9026),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_tunnel_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1373.97,3240.65,-43.278),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_tunnel_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1169.43,2206.39,-106.404),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_tunnel_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((173.625,586.489,298.736),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((172.567,2275.91,272.421),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-979.828,2147.51,293.067),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_high_wind_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((209.218,588.711,279.377),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_high_wind_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((200.355,2269.79,335.639),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_high_wind_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1021.88,-3330.69,356.875),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1196.78,108.982,169.875),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1448.23,110.998,169.875),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-344.552,979.176,357.875),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-84.2916,977.523,352.875),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((596.438,619.472,106.814),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1418.42,-1625.88,172.053),(270,0,0)); + var_00.v["soundalias"] = "emt_cricket_slow_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((516.448,1819.31,1),(270,0,-6)); + var_00.v["soundalias"] = "emt_drips_dirt_splat_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1888.26,832.481,0.124985),(270,0,-6)); + var_00.v["soundalias"] = "emt_drips_sml"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1169.39,487.386,0.124992),(270,0,-6)); + var_00.v["soundalias"] = "emt_drips_sml"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1248.83,312.885,-37.8895),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((666.168,318.314,-124.239),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-148.287,2650.59,77.6639),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((379.372,2639.22,213.733),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1184.06,-2476.54,266.374),(270,0,0)); + var_00.v["soundalias"] = "emt_cricket_fast_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1627.56,-930.81,131.125),(270,0,0)); + var_00.v["soundalias"] = "emt_cricket_slow_broken_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-115.664,5630.03,712.269),(270,0,0)); + var_00.v["soundalias"] = "emt_waterfall_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1727.9,5799.09,290.871),(270,0,0)); + var_00.v["soundalias"] = "emt_waterfall_full_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1143.48,6619.01,1178.53),(270,0,0)); + var_00.v["soundalias"] = "emt_waterfall_midrange_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2992.14,6412.89,420.934),(270,0,0)); + var_00.v["soundalias"] = "emt_waterfall_midrange_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2715.18,3055.59,-86.948),(270,0,0)); + var_00.v["soundalias"] = "emt_water_drain_high_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((703.925,805.81,448.946),(270,0,0)); + var_00.v["soundalias"] = "emt_ceiling_fan_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((969.104,1500.21,448.199),(270,0,0)); + var_00.v["soundalias"] = "emt_ceiling_fan_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((976.294,890.17,449.145),(270,0,0)); + var_00.v["soundalias"] = "emt_fan_big_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((974.885,1410.94,450.647),(270,0,0)); + var_00.v["soundalias"] = "emt_fan_big_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((705.343,1414.74,449.007),(270,0,0)); + var_00.v["soundalias"] = "emt_ind_fan_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((707.182,897.467,450.708),(270,0,0)); + var_00.v["soundalias"] = "emt_ind_fan_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((979.56,798.064,450.52),(270,0,0)); + var_00.v["soundalias"] = "emt_ind_fan_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((709.24,711.273,450.311),(270,0,0)); + var_00.v["soundalias"] = "emt_fan_big_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((961.678,1600.38,448.027),(270,0,0)); + var_00.v["soundalias"] = "emt_ind_fan_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((716.868,1508.27,449.914),(0,0,0)); + var_00.v["soundalias"] = "emt_fan_big_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1777.66,563.21,204.48),(0,253.182,0)); + var_00.v["soundalias"] = "emt_water_generator_eq_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((889.545,3214.63,-43.5299),(360,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((887.173,3049.18,-68.8221),(0,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-184.815,2983.41,0),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_sml"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1572.01,561.77,178.791),(270,0,0)); + var_00.v["soundalias"] = "emt_industrial_boiler_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((371.594,799.17,-135.875),(270,0,-6)); + var_00.v["soundalias"] = "emt_drips_sml"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((736.511,2502.34,-135.875),(270,0,-6)); + var_00.v["soundalias"] = "emt_drips_sml"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-94.7452,953.913,-135.875),(270,0,-6)); + var_00.v["soundalias"] = "emt_drips_sml"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2534.27,3003.62,-111.071),(270,0,0)); + var_00.v["soundalias"] = "emt_water_pipe_flow_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1807.05,4140.27,-96.966),(270,0,0)); + var_00.v["soundalias"] = "emt_river_edge_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2360.63,3221.21,-114.683),(270,0,0)); + var_00.v["soundalias"] = "emt_river_edge_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2816.08,3834.95,-76.3532),(270,0,0)); + var_00.v["soundalias"] = "emt_river_edge_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2306.07,4076.39,-117.736),(270,0,0)); + var_00.v["soundalias"] = "emt_river_flow_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2897.92,3556.54,-79.1078),(270,0,0)); + var_00.v["soundalias"] = "emt_river_edge_lrg_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1614.57,4338.59,-130.311),(270,0,0)); + var_00.v["soundalias"] = "emt_river_edge_med_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1994.63,4014.01,-122.15),(270,0,0)); + var_00.v["soundalias"] = "emt_river_edge_lrg_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2791.58,4242.8,-108.008),(270,0,0)); + var_00.v["soundalias"] = "emt_river_flow_full_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1977.65,3864.68,-95.0244),(270,0,0)); + var_00.v["soundalias"] = "emt_river_edge_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1568.48,558.666,145.207),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_plastic_small_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1055.04,4099.18,80.1892),(0,270,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_ext_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((804.674,4094.14,106.541),(0,270,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_ext_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((226.251,1254.1,-98.1802),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((192.691,929.809,-97.9841),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((921.219,145.016,-146.53),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((660.827,2152.12,-98.1503),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((417.535,2557.22,-8),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_ground_splat_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1304.72,758.158,0.125008),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_ground_splat_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1521.9,491.972,0.124992),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_int_cement_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1525.75,472.897,-2.87501),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_ground_splat_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((704.66,2807.07,-141.875),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_int_hard_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((479.524,1223.77,-135.875),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_dirt_splat_tunnel_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((320.133,548.492,-135.875),(270,0,-6)); + var_00.v["soundalias"] = "emt_drips_sml"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((324.02,581.905,-135.875),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_dirt_splat_tunnel_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((942.924,2064.87,-145.875),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_metal_splat_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((913.779,2355.67,-145.875),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_int_cement_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((960.629,2069.04,-135.875),(270,0,-6)); + var_00.v["soundalias"] = "emt_drips_sml"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((927.98,2346.02,-135.875),(270,0,-6)); + var_00.v["soundalias"] = "emt_drips_sml"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-366.539,750.369,282.984),(270,0,0)); + var_00.v["soundalias"] = "emt_panel_pulse_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-509.556,829.395,272.453),(270,0,0)); + var_00.v["soundalias"] = "emt_control_panel_beep_steady_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-727.944,843.414,260.141),(270,0,0)); + var_00.v["soundalias"] = "emt_control_panel_beep_steady_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((390.202,1106.44,-145.875),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_metal_splat_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((744.509,1882.03,-139.875),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_sml"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((740.619,2477.36,-138.875),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_metal_splat_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((385.354,1128.91,-135.875),(270,0,-6)); + var_00.v["soundalias"] = "emt_drips_sml"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((691.046,1163,-94.3827),(270,0,0)); + var_00.v["soundalias"] = "emt_steam_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1061.9,2348.38,-98.6389),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1084.64,2124.96,-78.9568),(0,247.5,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((852.14,2758.07,-76.904),(0,247.5,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((231.126,1091.42,-70.7222),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_buzz_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-467.91,930.626,-72.2137),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_buzz_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-588.415,5850.54,565.575),(270,0,0)); + var_00.v["soundalias"] = "emt_water_falls_lrg_near_lp"; + var_00 = common_scripts\utility::createoneshoteffect("water_release_dam_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((448.798,7585.77,-100.321),(272,331,0)); + var_00.v["fxid"] = "water_release_dam_splash"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_waterfall_distant_lp"; + var_00 = common_scripts\utility::createoneshoteffect("water_release_dam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1606.31,7427.29,1807.3),(4.16964,328.811,3.0055)); + var_00.v["fxid"] = "water_release_dam"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("water_release_dam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2073.74,6282.17,1816.11),(3.77249,335.817,1.49126)); + var_00.v["fxid"] = "water_release_dam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_release_dam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-149.729,9557.82,1823.89),(4.58827,319.795,2.31563)); + var_00.v["fxid"] = "water_release_dam"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("water_release_dam"); + var_00 common_scripts\_createfx::set_origin_and_angles((674.493,10475.5,1804.47),(4.83617,312.775,1.73826)); + var_00.v["fxid"] = "water_release_dam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_release_dam_distance"); + var_00 common_scripts\_createfx::set_origin_and_angles((1580.13,11339.4,1794.52),(4.92049,309.766,1.48226)); + var_00.v["fxid"] = "water_release_dam_distance"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("water_release_dam_distance"); + var_00 common_scripts\_createfx::set_origin_and_angles((2632.17,12106.8,1771.5),(5.06436,302.74,0.870132)); + var_00.v["fxid"] = "water_release_dam_distance"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_release_dam_distance"); + var_00 common_scripts\_createfx::set_origin_and_angles((3746.48,12772.5,1830.23),(5.13796,293.705,0)); + var_00.v["fxid"] = "water_release_dam_distance"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("water_release_dam_distance"); + var_00 common_scripts\_createfx::set_origin_and_angles((4875.29,13273.4,1829.26),(5.11654,287.681,0.526236)); + var_00.v["fxid"] = "water_release_dam_distance"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_release_dam_distance"); + var_00 common_scripts\_createfx::set_origin_and_angles((6028.13,13640.6,1808.28),(5.09688,285.673,0.347502)); + var_00.v["fxid"] = "water_release_dam_distance"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("water_release_dam_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-55.531,6693.45,-99.5807),(273,334,0)); + var_00.v["fxid"] = "water_release_dam_splash"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("water_release_dam_splash2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-528.6,5766.84,-107.966),(272,334,0)); + var_00.v["fxid"] = "water_release_dam_splash2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_release_dam_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((1120.6,8559.46,-100.53),(273,325,0)); + var_00.v["fxid"] = "water_release_dam_splash"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("water_release_dam_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((1800.3,9285.41,-106.427),(272,317,0)); + var_00.v["fxid"] = "water_release_dam_splash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_release_dam_splash_distance"); + var_00 common_scripts\_createfx::set_origin_and_angles((2680.76,10061.2,-102.454),(274,310,0)); + var_00.v["fxid"] = "water_release_dam_splash_distance"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("water_release_dam_splash_distance"); + var_00 common_scripts\_createfx::set_origin_and_angles((3575.76,10714.1,-103.049),(273,300,0)); + var_00.v["fxid"] = "water_release_dam_splash_distance"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_release_dam_splash_distance"); + var_00 common_scripts\_createfx::set_origin_and_angles((4499.02,11236.9,-104.884),(273,298,0)); + var_00.v["fxid"] = "water_release_dam_splash_distance"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("water_release_dam_splash_distance"); + var_00 common_scripts\_createfx::set_origin_and_angles((5427.8,11654.3,-108.744),(273,290,0)); + var_00.v["fxid"] = "water_release_dam_splash_distance"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_release_dam_splash_distance"); + var_00 common_scripts\_createfx::set_origin_and_angles((6433.38,12038.7,-107.636),(273,287,0)); + var_00.v["fxid"] = "water_release_dam_splash_distance"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("water_pipe_spray_dam"); + var_00 common_scripts\_createfx::set_origin_and_angles((2526.12,2824.46,-190.875),(357,0,0)); + var_00.v["fxid"] = "water_pipe_spray_dam"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("water_pipe_spray_dam"); + var_00 common_scripts\_createfx::set_origin_and_angles((2511.33,1914.91,-189.16),(357,0,0)); + var_00.v["fxid"] = "water_pipe_spray_dam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_pipe_spray_dam"); + var_00 common_scripts\_createfx::set_origin_and_angles((2509.83,1028.57,-169.037),(357,0,0)); + var_00.v["fxid"] = "water_pipe_spray_dam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_release_dam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-925.934,8552.11,1821.7),(4.16964,328.811,3.0055)); + var_00.v["fxid"] = "water_release_dam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_pipe_spray_impact_dam"); + var_00 common_scripts\_createfx::set_origin_and_angles((3088.3,2820.18,-223.122),(270,0,0)); + var_00.v["fxid"] = "water_pipe_spray_impact_dam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_pipe_spray_impact_dam"); + var_00 common_scripts\_createfx::set_origin_and_angles((3120.55,1900.61,-221.406),(270,0,0)); + var_00.v["fxid"] = "water_pipe_spray_impact_dam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_pipe_spray_impact_dam"); + var_00 common_scripts\_createfx::set_origin_and_angles((3078.71,1013.9,-222),(270,0,0)); + var_00.v["fxid"] = "water_pipe_spray_impact_dam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_street_large_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((1724.61,-136.74,-8.00002),(270,0,154)); + var_00.v["fxid"] = "steam_ambient_street_large_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_street_large_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((2536.13,-235.058,-64),(270,0,154)); + var_00.v["fxid"] = "steam_ambient_street_large_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_street_large_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1352.87,1310.14,0),(270,0,154)); + var_00.v["fxid"] = "steam_ambient_street_large_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_street_large_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1338.31,2359.78,1.125),(270,0,154)); + var_00.v["fxid"] = "steam_ambient_street_large_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_street_large_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((947.282,3782.09,0.792694),(270,0,154)); + var_00.v["fxid"] = "steam_ambient_street_large_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_street_large_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((1622.35,3606.51,-65.9861),(270,0,154)); + var_00.v["fxid"] = "steam_ambient_street_large_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_sparkles_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1165.92,4240.31,164),(270,0,154)); + var_00.v["fxid"] = "wind_gust_water_mist_sparkles_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_street_large_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1079.45,3195.07,0),(270,0,154)); + var_00.v["fxid"] = "steam_ambient_street_large_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_street_large_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1408.24,-3030.28,236),(270,0,154)); + var_00.v["fxid"] = "steam_ambient_street_large_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_street_large_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-498.42,-1576.35,136),(270,0,154)); + var_00.v["fxid"] = "steam_ambient_street_large_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_street_large_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-988.741,-1506,136),(270,0,154)); + var_00.v["fxid"] = "steam_ambient_street_large_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_street_large_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-642.525,-3015.9,236),(270,0,154)); + var_00.v["fxid"] = "steam_ambient_street_large_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_street_large_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((1181.71,-796.407,256.125),(270,0,154)); + var_00.v["fxid"] = "steam_ambient_street_large_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_street_large_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((1588.43,1804.96,-39.0001),(270,0,154)); + var_00.v["fxid"] = "steam_ambient_street_large_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_street_large_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((1618.13,1043.13,-37.7919),(270,0,154)); + var_00.v["fxid"] = "steam_ambient_street_large_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_street_large_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((938.009,244.274,48.125),(270,0,154)); + var_00.v["fxid"] = "steam_ambient_street_large_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((345.825,673.335,140.861),(270,0,90)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((428.575,1010.14,135.249),(270,0,90)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((194.645,1340.59,135.312),(270,0,90)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((116.801,1002.01,135.623),(270,0,90)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-149.423,2292.59,183.722),(270,0,90)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((841.694,1978.14,149.875),(270,0,90)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((981.51,3078.76,239.875),(270,0,90)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((864.658,3222.18,239.875),(270,0,90)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1076.42,2934.59,239.875),(270,0,90)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((576.316,1978.26,149.875),(270,0,90)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1256.73,490.489,160.375),(270,0,90)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1511.1,826.33,153.875),(270,0,90)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_falling_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((1301.72,740.74,153.875),(270,0,0)); + var_00.v["fxid"] = "water_falling_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_street_large_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1608.41,236.345,-11),(270,0,154)); + var_00.v["fxid"] = "steam_ambient_street_large_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((694.074,2608.6,-34.0073),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((775.808,2292.76,-18.125),(270,0,180)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((689.263,1996.43,-35.125),(270,0,180)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((689.078,1741.09,-36.125),(270,0,178)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((688.478,1385.88,-36.125),(270,0,180)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((477.841,1230.26,-36.125),(270,0,90)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53.1489,958.625,-40.0122),(270,0,90)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((299.334,790.305,-19.125),(270,0,180)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((329.807,620.996,-36.125),(270,0,180)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((539.564,239.05,-65.0513),(270,0,90)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((834.099,238.542,-65.0786),(270,0,90)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1155.78,275.868,45),(270,0,90)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1075.33,252.105,48),(270,0,90)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1224.15,300.016,47),(270,0,90)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("Flocking_birds_direction_x_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2623.26,-190.376,930.125),(2.44664,237.022,0.221068)); + var_00.v["fxid"] = "Flocking_birds_direction_x_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("Flocking_birds_direction_x_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((458.943,-2756.91,1123.67),(2.44664,237.022,0.221068)); + var_00.v["fxid"] = "Flocking_birds_direction_x_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("Flocking_birds_direction_x_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3187.87,3186.07,728.032),(2.12384,262.04,1.23477)); + var_00.v["fxid"] = "Flocking_birds_direction_x_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("Flocking_birds_direction_x_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-266.92,5357.61,1237.28),(1.14697,294.039,2.17255)); + var_00.v["fxid"] = "Flocking_birds_direction_x_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_street_large_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((1970.4,2639.72,-74.9294),(270,0,154)); + var_00.v["fxid"] = "steam_ambient_street_large_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_street_large_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((2078.23,3231.63,-66.5202),(270,0,154)); + var_00.v["fxid"] = "steam_ambient_street_large_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_tunnel_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((1004,2974.42,-37.875),(270,0,180)); + var_00.v["fxid"] = "steam_ambient_tunnel_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_tunnel_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((938.301,3157.93,-39.058),(270,0,180)); + var_00.v["fxid"] = "steam_ambient_tunnel_dim"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((-100.227,1204.43,-113.189),(270,0,180)); + var_00.v["fxid"] = "steam_ambient_tunnel"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((-393.826,1219.46,-114.52),(270,0,180)); + var_00.v["fxid"] = "steam_ambient_tunnel"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((1756.31,1078.23,-51.6218),(270,0,180)); + var_00.v["fxid"] = "steam_ambient_tunnel"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_street_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-785.608,539.487,21.125),(270,0,154)); + var_00.v["fxid"] = "steam_ambient_street_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_street_large_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-658.78,-923.509,65.4636),(282.364,78.1476,76.1677)); + var_00.v["fxid"] = "steam_ambient_street_large_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_street_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1652.29,-308.073,-7.99999),(270,0,154)); + var_00.v["fxid"] = "steam_ambient_street_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((59.6866,50.0406,109.875),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1178.93,1656.78,211.375),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1180.68,988.98,211.375),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1840.43,826.133,153.875),(270,0,90)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1949.14,1097.75,127.875),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1947.78,1426.43,127.875),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1947.95,1646.2,127.875),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1947.89,1861.24,127.875),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1947.76,2297.99,127.875),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1946.77,2144.19,127.875),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1107.93,1977.74,149.875),(270,0,90)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((503.402,1605.57,161.375),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((499.488,1385.47,161.375),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((499.906,786.06,160.375),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((8.97156,1741.22,121.015),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((10.0132,1134.18,121.447),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_street_large_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-745.307,-2252.59,215.203),(278.533,84.6013,69.8173)); + var_00.v["fxid"] = "steam_ambient_street_large_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-57.2971,-15.6579,109.875),(270,0,-90)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-144.964,115.969,109.875),(270,0,180)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_falling_slow_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1165.99,-1260.31,414.756),(360,217,-90)); + var_00.v["fxid"] = "leaves_falling_slow_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_falling_slow_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1157.05,-677.306,364.93),(360,211,-90)); + var_00.v["fxid"] = "leaves_falling_slow_01"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_foliage_debris_base_lp"; + var_00 = common_scripts\utility::createoneshoteffect("leaves_falling_slow_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1496.41,-1592.34,468.128),(0,192,-90)); + var_00.v["fxid"] = "leaves_falling_slow_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_falling_slow_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1640.55,-1753.85,448.232),(360,172,-90)); + var_00.v["fxid"] = "leaves_falling_slow_01"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_foliage_debris_base_lp"; + var_00 = common_scripts\utility::createoneshoteffect("leaves_falling_slow_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1409.48,-2151.62,563.129),(0,238,-91)); + var_00.v["fxid"] = "leaves_falling_slow_01"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_foliage_debris_base_lp"; + var_00 = common_scripts\utility::createoneshoteffect("leaves_falling_slow_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1088.25,-3138.32,515.535),(360,232,-90)); + var_00.v["fxid"] = "leaves_falling_slow_01"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_foliage_debris_base_lp"; + var_00 = common_scripts\utility::createoneshoteffect("leaves_falling_slow_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-771.664,-3405.41,545),(360,217,-90)); + var_00.v["fxid"] = "leaves_falling_slow_01"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_foliage_lp"; + var_00 = common_scripts\utility::createoneshoteffect("leaves_falling_slow_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-210.429,-2642.39,555.65),(360,132,-90)); + var_00.v["fxid"] = "leaves_falling_slow_01"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_foliage_debris_base_lp"; + var_00 = common_scripts\utility::createoneshoteffect("leaves_falling_slow_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-80.2095,-2875.44,553.064),(360,172,-90)); + var_00.v["fxid"] = "leaves_falling_slow_01"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_foliage_lp"; + var_00 = common_scripts\utility::createoneshoteffect("leaves_falling_slow_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-942.395,87.2139,343.979),(0,177,-90)); + var_00.v["fxid"] = "leaves_falling_slow_01"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_foliage_debris_base_lp"; + var_00 = common_scripts\utility::createoneshoteffect("leaves_falling_slow_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-291.124,30.7664,313.58),(0,178,-90)); + var_00.v["fxid"] = "leaves_falling_slow_01"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_foliage_lp"; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((609.266,-1023.33,216.615),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((726.413,-1021.13,251.434),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((504.104,-631.275,80.8016),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((325.585,-558.921,15.1077),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((198.115,-573.642,21.9014),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((784.283,-532.531,33.4716),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_flies_annoying"; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((725.171,-529.018,91.9521),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((728.534,-656.875,171.78),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_flies_pan"; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1419.49,1168.74,-52.113),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1551.57,970.594,-44.9181),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1673.45,943.737,-64.7767),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1673.45,943.737,-64.7767),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1759.31,1179.97,-74),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1746.25,1333.02,-74),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1748.5,1604.38,-74),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_flies_pan"; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1321.87,1561.54,-64.9585),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1307.39,1766.56,-69.1288),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1211.86,2024.3,-67.8852),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1216.06,1786.99,-62.9443),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1216.85,2300,-68.3409),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1318.99,2469.32,-64),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1756.26,2364.21,-74),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1911.9,2449.07,-74.9367),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((2006.66,2500.25,-75.5812),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((2131.66,2571.58,-73.8321),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_flies_pan"; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1205.34,2727.16,-64),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1296.03,2754.94,-64),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1299.78,2877.11,-64),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1299.56,3036.7,-62.2578),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1410.48,3133.22,-63.0153),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1488.87,3305.13,-62.7215),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1263.44,3218.63,-53.4309),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1353.88,3409.21,-63.6933),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1282.04,3475.73,-57.1203),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1300.61,3608.25,-62.4647),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1384.61,3797.48,-66.6863),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1562.93,3812.46,-68.9659),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1204.33,3658.84,-43.2152),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1279.63,3896.65,-65),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1199.7,3860.91,-64.3081),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1210.66,3973.08,-65),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1092.14,3998.56,0.505661),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((794.805,3458.83,-3.06756),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((497.171,3418.11,-8.29108),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-370.626,3978.51,-7.07516),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-23.6649,3789.59,-8.16922),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((555.368,2114.94,1.03908),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((406.495,2063.43,0),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_flies_annoying"; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((419.904,1731.32,6.77467),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((930.933,2612.3,49.6021),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_flies_annoying"; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((822.437,2639.26,52.2119),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_flies_pan"; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_sparkles_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-905.818,4964.13,0),(270,0,154)); + var_00.v["fxid"] = "wind_gust_water_mist_sparkles_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_sparkles_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((85.6121,4271.22,186),(271,244,-61)); + var_00.v["fxid"] = "wind_gust_water_mist_sparkles_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_sparkles_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1559.51,4124.12,83.0429),(271,244,-71)); + var_00.v["fxid"] = "wind_gust_water_mist_sparkles_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_sparkles_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((2240.21,2847.08,42.125),(271,244,-124)); + var_00.v["fxid"] = "wind_gust_water_mist_sparkles_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_sparkles_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((2522.47,3703.83,-47.1485),(271,244,-61)); + var_00.v["fxid"] = "wind_gust_water_mist_sparkles_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_sparkles_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((2712.42,3699.63,94.8515),(271,244,-121)); + var_00.v["fxid"] = "wind_gust_water_mist_sparkles_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1292.03,2178.75,-15.125),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1292.76,2400.97,-15.125),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1292.86,1897,-15.125),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1292.49,1788.22,-15.125),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1295.7,1652.3,-15.125),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1294.61,1368.17,-15.125),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1724.4,991.488,-15.125),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1727.03,1146.95,-15.125),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1726.84,1330.83,-15.125),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1726.83,1330.82,-15.125),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1725.01,1528.75,-15.125),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1725.35,1788.54,-15.125),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1725.03,2089.84,-15.125),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1725.03,2089.83,-15.125),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1724.83,2293.85,-15.125),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1749.13,2463.33,-14.125),(270,0,-90)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((490.496,-699.276,175.087),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_cricket_slow_lp"; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((714.706,-797.912,236.862),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1580.52,-650.734,200.125),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1431.19,-720.47,200.125),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((388.691,2508.74,0.571869),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1044.74,1957.25,1.57526),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_sparkles_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-558.863,4143.42,153),(271,244,-61)); + var_00.v["fxid"] = "wind_gust_water_mist_sparkles_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_rainbow"); + var_00 common_scripts\_createfx::set_origin_and_angles((729.831,6636.63,763.765),(0,276,-31)); + var_00.v["fxid"] = "waterfall_rainbow"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_waterfall_low_lp"; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_turbine"); + var_00 common_scripts\_createfx::set_origin_and_angles((-302.324,1218.03,33.7976),(0,194,0)); + var_00.v["fxid"] = "wind_gust_turbine"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_gas_generator_lp"; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_turbine"); + var_00 common_scripts\_createfx::set_origin_and_angles((-285.336,1251.66,30.1601),(0,144,0)); + var_00.v["fxid"] = "wind_gust_turbine"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_ind_fan_sml_lp"; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_turbine"); + var_00 common_scripts\_createfx::set_origin_and_angles((-236.08,1213.25,30.1601),(0.997564,319,0)); + var_00.v["fxid"] = "wind_gust_turbine"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_turbine"); + var_00 common_scripts\_createfx::set_origin_and_angles((-229.091,1242.32,30.16),(0,14,0)); + var_00.v["fxid"] = "wind_gust_turbine"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_turbine_close_lp"; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_turbine"); + var_00 common_scripts\_createfx::set_origin_and_angles((-232.957,1579.41,30.1601),(0,324,0)); + var_00.v["fxid"] = "wind_gust_turbine"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_turbine"); + var_00 common_scripts\_createfx::set_origin_and_angles((-227.691,1613.66,30.7481),(0,21,0)); + var_00.v["fxid"] = "wind_gust_turbine"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_ind_fan_sml_lp"; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_turbine"); + var_00 common_scripts\_createfx::set_origin_and_angles((-294.088,1621.99,30.1601),(0,148,0)); + var_00.v["fxid"] = "wind_gust_turbine"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_turbine_med_lp"; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_turbine"); + var_00 common_scripts\_createfx::set_origin_and_angles((-292.958,1591.78,30.1601),(0,198,0)); + var_00.v["fxid"] = "wind_gust_turbine"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_turbine_close_lyr_lp"; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_turbine"); + var_00 common_scripts\_createfx::set_origin_and_angles((-652.837,1614.04,30.1601),(0,340,0)); + var_00.v["fxid"] = "wind_gust_turbine"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_turbine_med_lp"; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_turbine"); + var_00 common_scripts\_createfx::set_origin_and_angles((-654.509,1586.36,31.0461),(0,292,0)); + var_00.v["fxid"] = "wind_gust_turbine"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_turbine_close_lyr_lp"; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_turbine"); + var_00 common_scripts\_createfx::set_origin_and_angles((-702.406,1587.55,30.1601),(0,168,0)); + var_00.v["fxid"] = "wind_gust_turbine"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_turbine"); + var_00 common_scripts\_createfx::set_origin_and_angles((-706.534,1613.47,30.5456),(0,117,0)); + var_00.v["fxid"] = "wind_gust_turbine"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_ind_fan_sml_lp"; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_turbine"); + var_00 common_scripts\_createfx::set_origin_and_angles((-702.485,1219.59,30.1601),(0,170,0)); + var_00.v["fxid"] = "wind_gust_turbine"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_gas_generator_lp"; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_turbine"); + var_00 common_scripts\_createfx::set_origin_and_angles((-701.577,1245.08,30.1601),(0,118,0)); + var_00.v["fxid"] = "wind_gust_turbine"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_turbine"); + var_00 common_scripts\_createfx::set_origin_and_angles((-653.891,1247.59,30.1601),(0,341,0)); + var_00.v["fxid"] = "wind_gust_turbine"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_turbine_close_lp"; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_turbine"); + var_00 common_scripts\_createfx::set_origin_and_angles((-654.75,1219.93,30.1601),(0,297,0)); + var_00.v["fxid"] = "wind_gust_turbine"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_turbine"); + var_00 common_scripts\_createfx::set_origin_and_angles((-294.142,1159.85,-173.098),(0,251,0)); + var_00.v["fxid"] = "wind_gust_turbine"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_turbine"); + var_00 common_scripts\_createfx::set_origin_and_angles((-242.912,1154.11,-174.098),(0,282,0)); + var_00.v["fxid"] = "wind_gust_turbine"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_turbine"); + var_00 common_scripts\_createfx::set_origin_and_angles((-196.145,1184.56,-174.098),(0,320,0)); + var_00.v["fxid"] = "wind_gust_turbine"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_turbine"); + var_00 common_scripts\_createfx::set_origin_and_angles((-178.783,1230.85,-174.098),(0,358,0)); + var_00.v["fxid"] = "wind_gust_turbine"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_turbine"); + var_00 common_scripts\_createfx::set_origin_and_angles((-336.723,1192.84,-169.098),(0,214,0)); + var_00.v["fxid"] = "wind_gust_turbine"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_turbine"); + var_00 common_scripts\_createfx::set_origin_and_angles((-348.063,1233.16,-172.098),(0,176,0)); + var_00.v["fxid"] = "wind_gust_turbine"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_turbine_vortex"); + var_00 common_scripts\_createfx::set_origin_and_angles((-264.277,1231.58,-144.406),(270,0,174)); + var_00.v["fxid"] = "wind_gust_turbine_vortex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_turbine_vortex"); + var_00 common_scripts\_createfx::set_origin_and_angles((-263.782,1230.76,-102.836),(270,0,-159)); + var_00.v["fxid"] = "wind_gust_turbine_vortex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((738.318,-519.324,13.4284),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((717.448,-528.601,57.4605),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_flies_pan"; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((715.108,-522.735,4.31475),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((771.994,-524.155,15.6698),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((776.539,-546.782,60.1192),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((717.958,-578.593,90.2111),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((752.636,-577.025,98.5576),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("paper_scrap_windblown_runner_light_slw2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-365.958,3121.22,0),(270,0,154)); + var_00.v["fxid"] = "paper_scrap_windblown_runner_light_slw2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("paper_scrap_windblown_runner_light_slw2"); + var_00 common_scripts\_createfx::set_origin_and_angles((495.212,3182.84,0),(270,0,154)); + var_00.v["fxid"] = "paper_scrap_windblown_runner_light_slw2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("paper_scrap_windblown_runner_light_slw2"); + var_00 common_scripts\_createfx::set_origin_and_angles((248.903,2216.57,0),(270,0,154)); + var_00.v["fxid"] = "paper_scrap_windblown_runner_light_slw2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("paper_scrap_windblown_runner_light_slw2"); + var_00 common_scripts\_createfx::set_origin_and_angles((259.577,505.374,0),(270,0,154)); + var_00.v["fxid"] = "paper_scrap_windblown_runner_light_slw2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("paper_scrap_windblown_runner_light_slw2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1771.81,-75.8874,-8),(270,0,154)); + var_00.v["fxid"] = "paper_scrap_windblown_runner_light_slw2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("paper_scrap_windblown_runner_light_slw2"); + var_00 common_scripts\_createfx::set_origin_and_angles((722.39,-21.204,48.125),(270,0,154)); + var_00.v["fxid"] = "paper_scrap_windblown_runner_light_slw2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("paper_scrap_windblown_runner_light_slw2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1596.87,139.847,-8),(270,0,154)); + var_00.v["fxid"] = "paper_scrap_windblown_runner_light_slw2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("paper_scrap_windblown_runner_light_slw2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1266.51,2390.13,-12.9794),(270,0,180)); + var_00.v["fxid"] = "paper_scrap_windblown_runner_light_slw2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("paper_scrap_windblown_runner_light_slw2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1777.09,2366.15,-17.5748),(270,0,165)); + var_00.v["fxid"] = "paper_scrap_windblown_runner_light_slw2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_falling_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((1899.78,825.658,153.875),(270,0,-90)); + var_00.v["fxid"] = "water_falling_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_falling_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1181.1,1783.99,209.375),(270,0,0)); + var_00.v["fxid"] = "water_falling_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_falling_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((497.301,510.514,161.937),(270,0,0)); + var_00.v["fxid"] = "water_falling_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81.8071,139.826,2.12499),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81.8071,139.826,2.12499),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_flies_annoying_int"; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-259.625,1211.1,255.157),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_flies_annoying_int"; + var_00 = common_scripts\utility::createoneshoteffect("water_falling_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((517.814,1813.85,159.375),(270,0,0)); + var_00.v["fxid"] = "water_falling_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_falling_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1167.98,491.517,159.875),(270,0,0)); + var_00.v["fxid"] = "water_falling_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1771.14,939.626,-67.7605),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((846.893,2197.56,85.875),(270,0,90)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((846.172,2441.33,85.875),(270,0,90)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((941.779,2346.74,115.875),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((722.188,2349.83,115.875),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_falling_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-185.722,2550.52,278.375),(270,0,0)); + var_00.v["fxid"] = "water_falling_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_falling_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-184.411,2981.74,278.375),(270,0,0)); + var_00.v["fxid"] = "water_falling_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_falling_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((417.205,2979.2,278.375),(270,0,0)); + var_00.v["fxid"] = "water_falling_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_falling_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((418.436,2548.57,278.375),(270,0,0)); + var_00.v["fxid"] = "water_falling_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_falling_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((31.4334,2293.26,183.875),(270,0,0)); + var_00.v["fxid"] = "water_falling_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((693.957,2410.95,-35.4598),(270,0,0)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((846.721,2345.98,-45.9583),(270,0,89)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1019.51,2344.62,-45.9871),(270,0,89)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((965.677,2067.09,-45.9739),(270,0,89)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((837.095,2068.33,-45.9847),(270,0,89)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((689.745,1524.48,-38.4246),(270,0,180)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glow_light_bulb2"); + var_00 common_scripts\_createfx::set_origin_and_angles((713.367,526.908,-111.363),(270,0,0)); + var_00.v["fxid"] = "glow_light_bulb2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glow_light_bulb"); + var_00 common_scripts\_createfx::set_origin_and_angles((1735.43,354.015,87.612),(270,0,0)); + var_00.v["fxid"] = "glow_light_bulb"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glow_light_bulb2a"); + var_00 common_scripts\_createfx::set_origin_and_angles((-100.515,691.497,137.232),(270,0,0)); + var_00.v["fxid"] = "glow_light_bulb2a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glow_light_bulb2a"); + var_00 common_scripts\_createfx::set_origin_and_angles((-278.922,691.65,217.721),(270,0,0)); + var_00.v["fxid"] = "glow_light_bulb2a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glow_light_bulb4"); + var_00 common_scripts\_createfx::set_origin_and_angles((-854.667,506.503,174.475),(270,0,0)); + var_00.v["fxid"] = "glow_light_bulb4"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glow_light_bulb2"); + var_00 common_scripts\_createfx::set_origin_and_angles((713.125,527.886,-125.425),(270,0,0)); + var_00.v["fxid"] = "glow_light_bulb2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_falling_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((366.965,799.954,-45.9513),(270,0,180)); + var_00.v["fxid"] = "water_falling_tunnel"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_falling_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((394.272,1120.82,-45.3793),(270,0,180)); + var_00.v["fxid"] = "water_falling_tunnel"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_falling_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((329.374,574.563,-36.0374),(270,0,180)); + var_00.v["fxid"] = "water_falling_tunnel"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_falling_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((-64.4707,953.781,-40.3218),(270,180,87)); + var_00.v["fxid"] = "water_falling_tunnel"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_falling_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((469.098,1222.88,-45.4808),(270,0,89)); + var_00.v["fxid"] = "water_falling_tunnel"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_falling_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((725.028,1422.76,-45.9535),(270,0,180)); + var_00.v["fxid"] = "water_falling_tunnel"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_falling_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((728.696,1868.75,-46.4053),(270,0,180)); + var_00.v["fxid"] = "water_falling_tunnel"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_falling_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((929.037,2067.49,-45.9686),(270,180,89)); + var_00.v["fxid"] = "water_falling_tunnel"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_falling_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((909.571,2345.54,-45.9774),(270,0,-90)); + var_00.v["fxid"] = "water_falling_tunnel"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_falling_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((731.561,2491.24,-46.5736),(270,0,180)); + var_00.v["fxid"] = "water_falling_tunnel"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_falling_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((731.561,2491.24,-46.5736),(270,0,180)); + var_00.v["fxid"] = "water_falling_tunnel"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_falling_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((711.068,2808.73,-29.8195),(270,0,180)); + var_00.v["fxid"] = "water_falling_tunnel"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("paper_scrap_windblown_runner_light_slw2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-380.043,-127.75,47),(270,0,154)); + var_00.v["fxid"] = "paper_scrap_windblown_runner_light_slw2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("paper_scrap_windblown_runner_light_slw2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-460.604,-1725.95,195.182),(270,0,154)); + var_00.v["fxid"] = "paper_scrap_windblown_runner_light_slw2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("paper_scrap_windblown_runner_light_slw2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-967.604,-2020.82,211.416),(270,0,154)); + var_00.v["fxid"] = "paper_scrap_windblown_runner_light_slw2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("paper_scrap_windblown_runner_light_slw2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-260.07,-2695.86,256.913),(270,0,154)); + var_00.v["fxid"] = "paper_scrap_windblown_runner_light_slw2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("paper_scrap_windblown_runner_light_slw2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1517.01,2033.27,21),(270,0,154)); + var_00.v["fxid"] = "paper_scrap_windblown_runner_light_slw2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("paper_scrap_windblown_runner_light_slw2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1425.26,3321.66,66.125),(270,0,154)); + var_00.v["fxid"] = "paper_scrap_windblown_runner_light_slw2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_tunnel_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((1478.63,408.449,39.5584),(0,52.1243,0)); + var_00.v["fxid"] = "steam_pipe_tunnel_small"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_steam_leak_int_lp"; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_tunnel_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((1034.49,171.991,18.9126),(348,358,-90)); + var_00.v["fxid"] = "steam_pipe_tunnel_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_tunnel_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((606.828,1158.62,-79.6953),(282.76,55.6773,-126.952)); + var_00.v["fxid"] = "steam_pipe_tunnel_small"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_tunnel_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((856.321,2691.43,-35.7631),(17.0593,352.512,-79.6974)); + var_00.v["fxid"] = "steam_pipe_tunnel_small"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_steam_light_lp"; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_street_large_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1032.44,-2642.77,236),(270,180,-1)); + var_00.v["fxid"] = "steam_ambient_street_large_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_street_large_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-160.552,-2953.19,244.277),(270,0,154)); + var_00.v["fxid"] = "steam_ambient_street_large_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glow_light_bulb"); + var_00 common_scripts\_createfx::set_origin_and_angles((996.775,59.9601,14.0398),(270,0,0)); + var_00.v["fxid"] = "glow_light_bulb"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((-390.209,3136.72,0),(270,0,176)); + var_00.v["fxid"] = "steam_ambient_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((-650.898,2784.84,0),(270,0,176)); + var_00.v["fxid"] = "steam_ambient_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((-842.52,2423.6,0),(270,0,176)); + var_00.v["fxid"] = "steam_ambient_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1067.66,2428.89,0),(270,180,-49)); + var_00.v["fxid"] = "steam_ambient_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1540.7,-240.303,-8),(270,0,176)); + var_00.v["fxid"] = "steam_ambient_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((536.358,3141.79,0),(270,0,176)); + var_00.v["fxid"] = "steam_ambient_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glow_light_bulb2a"); + var_00 common_scripts\_createfx::set_origin_and_angles((1534.04,128.164,125.436),(270,0,0)); + var_00.v["fxid"] = "glow_light_bulb2a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_red_blinking"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2889.3,-1352.81,3789.21),(270,0,0)); + var_00.v["fxid"] = "light_red_blinking"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_red_blinking"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2384.37,-1368.47,4299.72),(270,0,0)); + var_00.v["fxid"] = "light_red_blinking"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_red_blinking"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2404.49,1819.8,4270.16),(270,0,0)); + var_00.v["fxid"] = "light_red_blinking"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_red_blinking"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2897.9,1824.98,3776.68),(270,0,0)); + var_00.v["fxid"] = "light_red_blinking"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_red_blinking"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1298.8,7851.2,4384.57),(270,0,0)); + var_00.v["fxid"] = "light_red_blinking"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_red_blinking"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1736.1,8105.16,3869.13),(270,0,0)); + var_00.v["fxid"] = "light_red_blinking"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_red_blinking"); + var_00 common_scripts\_createfx::set_origin_and_angles((2660.5,11962.8,4379.28),(270,0,0)); + var_00.v["fxid"] = "light_red_blinking"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_red_blinking"); + var_00 common_scripts\_createfx::set_origin_and_angles((2275.04,12287.9,3861.4),(270,0,0)); + var_00.v["fxid"] = "light_red_blinking"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_red_blinking"); + var_00 common_scripts\_createfx::set_origin_and_angles((7201.22,13972.7,6259.23),(270,0,0)); + var_00.v["fxid"] = "light_red_blinking"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_red_blinking"); + var_00 common_scripts\_createfx::set_origin_and_angles((7376.47,13973.1,6257.96),(270,0,0)); + var_00.v["fxid"] = "light_red_blinking"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_red_blinking"); + var_00 common_scripts\_createfx::set_origin_and_angles((7284.68,14123.9,6254.81),(270,0,0)); + var_00.v["fxid"] = "light_red_blinking"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_red_blinking"); + var_00 common_scripts\_createfx::set_origin_and_angles((2547.63,3585.11,1815.55),(270,0,0)); + var_00.v["fxid"] = "light_red_blinking"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_red_blinking"); + var_00 common_scripts\_createfx::set_origin_and_angles((2547.57,3714.66,1815.65),(270,0,0)); + var_00.v["fxid"] = "light_red_blinking"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_red_blinking"); + var_00 common_scripts\_createfx::set_origin_and_angles((2416.39,3714.26,1815.72),(270,0,0)); + var_00.v["fxid"] = "light_red_blinking"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_red_blinking"); + var_00 common_scripts\_createfx::set_origin_and_angles((2415.99,3586.86,1815.82),(270,0,0)); + var_00.v["fxid"] = "light_red_blinking"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glow_light_bulb4"); + var_00 common_scripts\_createfx::set_origin_and_angles((-103.059,506.943,174.492),(270,0,0)); + var_00.v["fxid"] = "glow_light_bulb4"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glow_light_bulb4"); + var_00 common_scripts\_createfx::set_origin_and_angles((-359.16,506.96,173.482),(270,0,0)); + var_00.v["fxid"] = "glow_light_bulb4"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glow_light_bulb4"); + var_00 common_scripts\_createfx::set_origin_and_angles((-615.387,507.074,174.493),(270,0,0)); + var_00.v["fxid"] = "glow_light_bulb4"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_white_strobe"); + var_00 common_scripts\_createfx::set_origin_and_angles((1062.72,2060.24,-50.8264),(270,0,0)); + var_00.v["fxid"] = "light_white_strobe"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_falling_slow_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1194.65,-2537.25,564.731),(0,223,-90)); + var_00.v["fxid"] = "leaves_falling_slow_01"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_foliage_lp"; + var_00 = common_scripts\utility::createoneshoteffect("leaves_falling_slow_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-119.131,-1876.26,468.833),(0,94,-90)); + var_00.v["fxid"] = "leaves_falling_slow_01"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_foliage_lp"; + var_00 = common_scripts\utility::createoneshoteffect("leaves_falling_slow_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17.8544,-803.44,481.245),(0,94,-90)); + var_00.v["fxid"] = "leaves_falling_slow_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_falling_slow_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((403.38,-651.36,443.444),(360,30,-90)); + var_00.v["fxid"] = "leaves_falling_slow_01"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_foliage_lp"; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((394.333,-748.208,178.387),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1527.82,-796.031,256.125),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((54.6986,-780.162,187.563),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-162.711,-1038.5,198.871),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((78.8592,-1027.35,212.03),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_cricket_fast_lp"; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((349.18,-1026,212.819),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-239.625,-1286.52,173.656),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-255.815,-1142.21,190.391),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-206.349,-1446.94,158.145),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-139.095,-1659.17,146.208),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_cricket_high_pitch_lp"; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1042.78,-3118.3,244),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1135.72,-3118.87,244),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((19.9331,-2954.88,246.811),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((76.8081,-3084.59,246.661),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_cricket_slow_lp"; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-169.033,-2576.28,239.71),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-954.872,-4.86816,8),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1200.29,-13.0534,6.63587),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1266.67,99.9138,5.12752),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-270.644,24.2272,0),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-299.294,-5.80687,0),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((936.301,1837.7,30.0793),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((936.301,1837.7,30.0793),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((852.218,1851.09,8.04337),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((715.106,1856.82,12.7367),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((625.856,1858.11,19.3364),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((601.299,1837.65,11.9051),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((679.336,1854.52,11.3894),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_flies_pan"; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((807.005,1845.84,12.1991),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((807.01,1845.83,12.2116),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((887.649,1851.01,16.1646),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_flies_annoying"; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_street_large_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((459.887,3706.59,-8.36197),(270,0,154)); + var_00.v["fxid"] = "steam_ambient_street_large_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-776.072,-2596.79,289.354),(270,0,-156)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-688.91,-2560.5,289.614),(270,0,-156)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1145.94,-322.996,46.8592),(270,0,-117)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1121.24,-229.204,47.1016),(270,0,-117)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_street_large_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((595.222,-693.367,202.797),(270,0,154)); + var_00.v["fxid"] = "steam_ambient_street_large_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_street_large_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-40.9104,-758.973,169.089),(270,0,154)); + var_00.v["fxid"] = "steam_ambient_street_large_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((540.583,-242.646,-8.00001),(270,0,176)); + var_00.v["fxid"] = "steam_ambient_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((1584.91,-241.517,-8),(270,0,176)); + var_00.v["fxid"] = "steam_ambient_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((1028.4,-238.638,-8),(270,0,176)); + var_00.v["fxid"] = "steam_ambient_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((-848.106,-241.77,-8),(270,0,176)); + var_00.v["fxid"] = "steam_ambient_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1834.44,438.251,170.125),(270,0,90)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1678.42,439.119,170.621),(270,0,90)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1481.5,440.061,168.89),(270,0,90)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_falling_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1521.52,477.82,173.994),(270,0,0)); + var_00.v["fxid"] = "water_falling_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drip_line_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1702.99,676.877,170.068),(270,0,90)); + var_00.v["fxid"] = "water_drip_line_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1597.95,-701.213,200.125),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((511.738,2197.79,-4.12386),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((866.885,3093.85,-5.22829),(0,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_dam_mist_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((2435.03,3836.71,-64.5635),(270,0,0)); + var_00.v["fxid"] = "mp_dam_mist_screen_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_dam_mist_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((1700.46,3813.3,-65.8275),(270,0,0)); + var_00.v["fxid"] = "mp_dam_mist_screen_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_dam_mist_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((487.931,4013.87,-9.70047),(270,0,0)); + var_00.v["fxid"] = "mp_dam_mist_screen_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_dam_mist_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-253.463,3967.21,-7.01047),(270,0,0)); + var_00.v["fxid"] = "mp_dam_mist_screen_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_dam_mist_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((2066.23,3196.16,-66.3768),(270,0,0)); + var_00.v["fxid"] = "mp_dam_mist_screen_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1075.34,1804.77,40.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((757.068,1168.66,85.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1154.54,606.254,55.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1066.66,1164.66,55.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((780.983,884.354,443.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((801.291,1457.06,424.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1241.47,117.539,99.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((879.627,3187.91,96.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-77.8382,1149.74,273.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-371.902,811.735,261.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-928.135,1148.37,279.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((854.614,2313.35,33.7116),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-898.843,1650.63,36.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((15.4954,1128.12,55.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8.42499,1651.98,42.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-119.263,2279.05,46),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-812.191,2139.25,55),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-623.122,1237.06,271.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22.1991,1650.1,282.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11.3363,1914.28,271.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((19.9339,2177.23,279.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1720.49,757.321,66.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_ambient_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5.25502,995.643,421.711),(47,207,0)); + var_00.v["fxid"] = "godray_ambient_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_ambient_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((14.8045,1173.72,422.305),(49,207,0)); + var_00.v["fxid"] = "godray_ambient_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_ambient_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1.10773,2216.35,372.567),(43,207,0)); + var_00.v["fxid"] = "godray_ambient_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_ambient_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-366.056,1909.35,518.985),(49,207,0)); + var_00.v["fxid"] = "godray_ambient_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_ambient_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-450.117,1507.79,503.985),(49,207,0)); + var_00.v["fxid"] = "godray_ambient_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-681.18,1593.65,244.985),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_ambient_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-538.547,1698.83,496.985),(49,207,0)); + var_00.v["fxid"] = "godray_ambient_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fog_distant_vista_dirty_ocean"); + var_00 common_scripts\_createfx::set_origin_and_angles((16999.8,-7426,198),(90,64,180)); + var_00.v["fxid"] = "fog_distant_vista_dirty_ocean"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fog_distant_vista_dirty_ocean"); + var_00 common_scripts\_createfx::set_origin_and_angles((14155.1,3646.57,-11.607),(90,0,71)); + var_00.v["fxid"] = "fog_distant_vista_dirty_ocean"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fog_distant_vista_dirty_ocean"); + var_00 common_scripts\_createfx::set_origin_and_angles((12298.1,-14591.6,-9.973),(90,49,180)); + var_00.v["fxid"] = "fog_distant_vista_dirty_ocean"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_sunflare_dam"); + var_00 common_scripts\_createfx::set_origin_and_angles((29078.5,18585.3,24696.3),(270,0,0)); + var_00.v["fxid"] = "fx_sunflare_dam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_sparkles_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((543.448,3868.19,117),(271,244,-61)); + var_00.v["fxid"] = "wind_gust_water_mist_sparkles_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_sparkles_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1866.52,3212.3,46.9557),(271,244,-61)); + var_00.v["fxid"] = "wind_gust_water_mist_sparkles_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("Flocking_birds_direction_x_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3270.61,2434.58,532.992),(1.76203,276.043,1.71164)); + var_00.v["fxid"] = "Flocking_birds_direction_x_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("Flocking_birds_direction_x_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3632.18,-974.987,768.139),(2.00808,267.042,1.41499)); + var_00.v["fxid"] = "Flocking_birds_direction_x_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("Flocking_birds_direction_x_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3074.99,5157.31,1029.95),(0.83364,302.034,2.31049)); + var_00.v["fxid"] = "Flocking_birds_direction_x_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fog_distant_vista_dirty_ocean"); + var_00 common_scripts\_createfx::set_origin_and_angles((16757.9,-966.471,151.952),(90,0,93)); + var_00.v["fxid"] = "fog_distant_vista_dirty_ocean"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((952.999,3883.53,52.8668),(3.98525,354.988,-0.349352)); + var_00.v["fxid"] = "plastic_shreds_hanging_a"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-234.999,3916.35,382),(0,0,0)); + var_00.v["fxid"] = "plastic_shreds_hanging_b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_c"); + var_00 common_scripts\_createfx::set_origin_and_angles((-892.263,4149.89,83.8622),(90,0,-180)); + var_00.v["fxid"] = "plastic_shreds_hanging_c"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_d"); + var_00 common_scripts\_createfx::set_origin_and_angles((792.249,4081.4,73.125),(0,90,-180)); + var_00.v["fxid"] = "plastic_shreds_hanging_d"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e"); + var_00 common_scripts\_createfx::set_origin_and_angles((1821.26,3855.13,-23.875),(357.461,124.48,-2.28801)); + var_00.v["fxid"] = "plastic_shreds_hanging_e"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_sparkles_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((2130.32,3749.77,76.8885),(271,244,-71)); + var_00.v["fxid"] = "wind_gust_water_mist_sparkles_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1002.49,4151.52,249.874),(0,270,0)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1105.39,2931.98,-40.875),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_flies_annoying_int"; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_leak_interior_burst_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((301.027,672.036,-135.875),(360,270,90)); + var_00.v["fxid"] = "steam_pipe_leak_interior_burst_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_leak_interior_burst_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-232.255,1015.92,-135.875),(360,270,90)); + var_00.v["fxid"] = "steam_pipe_leak_interior_burst_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_leak_interior_burst_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((491.326,1262.84,-135.875),(360,270,90)); + var_00.v["fxid"] = "steam_pipe_leak_interior_burst_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_leak_interior_burst_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((744.954,1405.53,-135.875),(360,270,90)); + var_00.v["fxid"] = "steam_pipe_leak_interior_burst_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_leak_interior_burst_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((661.656,1804.99,-135.875),(360,270,90)); + var_00.v["fxid"] = "steam_pipe_leak_interior_burst_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_leak_interior_burst_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((662.788,2648.71,-135.875),(360,270,90)); + var_00.v["fxid"] = "steam_pipe_leak_interior_burst_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_ambient_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2405.3,782.649,117.602),(26.103,210.273,12.4876)); + var_00.v["fxid"] = "godray_ambient_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_ambient_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2412.99,603.962,119.938),(26.103,210.273,12.4876)); + var_00.v["fxid"] = "godray_ambient_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_tunnel_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((365.97,163.763,-56.774),(0,9.12359,-38)); + var_00.v["fxid"] = "steam_pipe_tunnel_small"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_steam_leak_int_lp"; + var_00 = common_scripts\utility::createoneshoteffect("flare_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((1249.29,2151.46,-72.9408),(270.3,166.701,0)); + var_00.v["fxid"] = "flare_ambient"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_sparks_flares_lp"; + var_00 = common_scripts\utility::createexploder("glow_light_bulb"); + var_00 common_scripts\_createfx::set_origin_and_angles((670.381,1700.33,-29.4151),(270,0,0)); + var_00.v["fxid"] = "glow_light_bulb"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2753,3675.64,14.5075),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_chainlink_fence_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2095.81,3821.9,0.372398),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_chainlink_fence_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1705.6,4117.21,-45.4268),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_chainlink_fence_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2245.92,74.0213,21.011),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_chainlink_fence_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1840.75,2602.31,6.25572),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_chainlink_fence_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1328.04,2585.83,65.2415),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_chainlink_fence_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1078.81,2824.34,0),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_chainlink_fence_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1040.77,3102.55,18.5435),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_chainlink_fence_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-681.938,4010.05,73.2628),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_chainlink_fence_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-786.661,3439.44,6.125),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_chainlink_fence_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((381.079,4089.86,101),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_chainlink_fence_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((514.944,2504.11,0),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wood_debris_settle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1165.88,2714.98,17.5837),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wood_debris_settle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1657.03,908.125,-36.0283),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wood_debris_settle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1385.13,946.77,-52.9095),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wood_debris_settle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1288.13,1306.82,-28.6008),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wood_debris_settle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1168.33,2110.09,10.125),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wood_debris_settle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((509.875,2131.27,12.8261),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wood_debris_settle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((145.623,3325.88,28.1253),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wood_debris_settle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((848.443,-640.348,112.125),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wood_debris_settle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2072.98,-578.454,24.4464),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wood_debris_settle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1649.79,-677.806,286.892),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wood_debris_settle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2049.26,-593.279,238.803),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wood_debris_settle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1504.74,-1067.88,286.239),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wood_debris_settle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((649.207,-1057.05,264.927),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wood_debris_settle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2750.59,1933.36,-140.089),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wave_crashes_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2831.69,-1122.94,-31.717),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wave_crashes_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((622.372,-3996.87,60.8259),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wave_crashes_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1003,-2701.33,4.21432),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wave_crashes_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((900.022,-3558.39,19.1092),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wave_crashes_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((15.983,975.035,242.125),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_glass_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1725.04,-1059.78,256.125),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_glass_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-707.4,916.81,249.591),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_glass_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-948.875,1154.49,243.821),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_glass_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-455.409,1231.88,246.649),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_glass_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-217.036,-2745.42,513.117),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1136.08,-1814.78,405.935),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1616.44,-2386.73,491.249),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1628.21,-631.298,314.908),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-366.591,-801.318,275.3),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_tree_debris_fall_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((299.052,-713.191,358.277),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-114.126,-1595.57,361.794),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1443.27,-2110.8,463.065),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_tree_move_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-11.0831,-710.682,286.303),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_tree_move_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((262.373,-514.037,263.521),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_tree_debris_fall_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1166.13,-802.859,289.461),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_tree_move_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1732.91,-2032.45,521.988),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_tree_debris_fall_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1189.66,-2387.79,483.777),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_tree_debris_fall_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-269.816,198.441,284.246),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_tree_move_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-869.26,205.921,293.331),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1014.31,-68.6928,281.868),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_tree_debris_fall_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-573.641,-3565.68,297.665),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-200.625,-3356.76,250.231),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-634.832,-2663.72,322.15),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-855.359,-2483.44,284.699),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-534.905,-2979.65,293.862),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1371.67,-153.63,91.2538),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1081.41,-378.532,56.468),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-866.681,-423.311,41.757),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1681.69,514.858,89.4449),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1714.42,-35.6553,36.4872),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1689.63,883.787,38.9032),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1689.53,1596.78,97.9188),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1689.5,2227.51,97.9928),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1513.54,2612.17,96.7751),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1032.33,2627.39,97.2237),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1031.86,2882.74,97.933),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1031.59,3141.22,94.7174),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-920.26,3312.25,99.7096),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-658.12,3572.64,36.4278),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-677.651,3743.48,94.6028),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-398.933,4057,93.4916),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-52.4386,4056.15,44.2875),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((514.088,4046.13,87.734),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1798.84,3938.85,47.8733),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2524.97,3938.52,15.4962),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((911.188,-1070.24,298.879),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1366.66,-1018.59,308.28),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1691.88,-841.239,319.411),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((468.859,-1065.88,256.371),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-653.913,2204.4,35.7994),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-653.303,2556.97,39.1125),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-650.125,3024.9,33.9116),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-315.63,3321.01,33.9858),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-16.844,3284.65,33.0399),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((512.535,3307.8,46.175),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((619.216,2577.55,50.8087),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1163.87,2383.95,34.8151),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((856.192,2054.59,35.9242),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2087.28,-347.289,32.2267),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1896.14,-33.4258,49.7824),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1782.34,246.425,69.3401),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_chainlink_fence_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-798.307,2816.49,90.3068),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1558.17,-3100.16,248),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-589.572,-758.77,41.4303),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1708.86,-175.144,8),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1196.74,2247.17,6),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-345.243,3922.03,-3.82684),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((339.388,3633.5,-11.2408),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-733.822,-2476.47,283.206),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-628.342,-1317.18,135.969),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((433.566,4057.37,45.8231),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((881.179,3579.5,-1.36028),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1856.38,3464.73,2.93544),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1327.61,206.957,45.8304),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_server_hard_drive"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-925.159,757.427,274.532),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_server_hard_drive"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-863.608,739.317,245.34),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_server_hard_drive"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-320.641,739.07,259.557),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_console_beep_random"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1014.56,-1066.88,332.699),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wood_debris_settle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1689.43,-2393.84,260.127),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_cricket_swells"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1183.12,-908.344,109.108),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_cricket_swells"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-167.054,-2081.81,190.867),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_cricket_swells"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1248,-2026.77,359.846),(11.1103,331.163,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_cricket_swells"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1051.95,-3224.04,546.133),(15.2378,265.397,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((618.13,1180.69,-35.0081),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_metal_movement_large_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-249.277,1228.37,-116.349),(82.4999,90.0057,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((687.102,2197.72,-161.67),(0,90,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_metal_stress_sml"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_detroit_fx.gsc b/AW/PC/maps/createfx/mp_detroit_fx.gsc new file mode 100644 index 0000000..f3f7081 --- /dev/null +++ b/AW/PC/maps/createfx/mp_detroit_fx.gsc @@ -0,0 +1,2178 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_detroit_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 103 ms + * Timestamp: 4/22/2024 2:07:36 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1758.3,1814.94,677.688),(270,0,0)); + var_00.v["soundalias"] = "chem_fire_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1791.57,2150.15,662.054),(270,0,0)); + var_00.v["soundalias"] = "chem_fire_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1712.98,2328.52,675.64),(270,0,0)); + var_00.v["soundalias"] = "chem_fire_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1754.15,1921.8,679.266),(270,0,0)); + var_00.v["soundalias"] = "chem_fire_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1683.71,2426.9,678.357),(270,0,0)); + var_00.v["soundalias"] = "chem_fire_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2306.61,-876.343,585.97),(270,0,0)); + var_00.v["soundalias"] = "fire_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1255.18,273.216,694.817),(0,61.4,0)); + var_00.v["soundalias"] = "fire_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((482.537,-652.474,693.358),(271.31,103.601,0)); + var_00.v["soundalias"] = "garage_water_drips_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((385.663,-469.655,616.125),(270,0,0)); + var_00.v["soundalias"] = "garage_water_drips_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2574.93,-614.632,629.576),(0,61.4,0)); + var_00.v["soundalias"] = "fire_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((941.478,-617.053,739.125),(270,0,0)); + var_00.v["soundalias"] = "garage_wind_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1087.19,302.25,751.581),(270,0,0)); + var_00.v["soundalias"] = "foliage_wind"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2331.25,-960.125,637.609),(270,0,0)); + var_00.v["soundalias"] = "tarp_wind_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-213.74,-999.053,599.571),(270,0,0)); + var_00.v["soundalias"] = "garage_wind_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1296.23,1550.87,688.125),(270,0,0)); + var_00.v["soundalias"] = "garage_wind_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-694.655,-727.123,620.125),(270,0,0)); + var_00.v["soundalias"] = "garage_wind_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((773.408,2043.76,689.189),(270,0,0)); + var_00.v["soundalias"] = "garage_wind_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-565.336,1833.23,713.297),(270,0,0)); + var_00.v["soundalias"] = "comp_screen_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((741.893,2484.72,766.799),(270,0,0)); + var_00.v["soundalias"] = "comp_screen_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1.8743,-180.587,714.722),(270,0,0)); + var_00.v["soundalias"] = "comp_screen_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-807.13,1128.6,823.442),(270,0,0)); + var_00.v["soundalias"] = "pigeons"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((917.38,2492.98,882.994),(270,0,0)); + var_00.v["soundalias"] = "pigeons"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1596.66,89.6725,779.836),(270,0,0)); + var_00.v["soundalias"] = "pigeons"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-422.563,-599.986,655.763),(270,0,0)); + var_00.v["soundalias"] = "flo_light_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-412.157,-715.011,673.875),(270,0,0)); + var_00.v["soundalias"] = "flo_light_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((620.718,714.01,725.24),(270,0,0)); + var_00.v["soundalias"] = "building_wind_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((596.895,1741.26,785.754),(270,0,0)); + var_00.v["soundalias"] = "metal_stress_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((112.229,68.9079,717.888),(270,0,0)); + var_00.v["soundalias"] = "comp_telemetry_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((696.595,1694.76,706.466),(270,0,0)); + var_00.v["soundalias"] = "comp_telemetry_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1131.51,2568.07,729.068),(270,0,0)); + var_00.v["soundalias"] = "metal_stress_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1407.07,1077.47,719.608),(270,0,0)); + var_00.v["soundalias"] = "metal_stress_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1211.06,326.985,697.34),(270,0,0)); + var_00.v["soundalias"] = "metal_stress_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((17.4901,-968.188,710.494),(270,0,0)); + var_00.v["soundalias"] = "metal_stress_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2418.77,-733.785,698.104),(270,0,0)); + var_00.v["soundalias"] = "metal_stress_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((348.854,2280,783.056),(270,0,0)); + var_00.v["soundalias"] = "flag_sml_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1412.65,238.745,763.875),(270,0,0)); + var_00.v["soundalias"] = "flag_sml_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-203.076,-616.538,698.289),(270,0,0)); + var_00.v["soundalias"] = "water_pipe_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-500.132,-739.066,651.307),(270,0,0)); + var_00.v["soundalias"] = "water_pipe_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-787.284,613.416,718.225),(270,0,0)); + var_00.v["soundalias"] = "generators_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-232.591,-736.458,599.123),(270,0,0)); + var_00.v["soundalias"] = "generators_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-232.601,-736.458,599.134),(270,0,0)); + var_00.v["soundalias"] = "generators_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-55.3552,-836.823,803.391),(270,0,0)); + var_00.v["soundalias"] = "flo_light_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((417.347,2399.23,832.375),(270,0,0)); + var_00.v["soundalias"] = "flo_light_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((738.902,2386.75,820.375),(270,0,0)); + var_00.v["soundalias"] = "flo_light_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((738.902,2386.75,820.375),(270,0,0)); + var_00.v["soundalias"] = "flo_light_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-513.002,1422.05,724.459),(270,0,0)); + var_00.v["soundalias"] = "comp_telemetry_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-325.698,-1238.03,544.125),(288.478,0,0)); + var_00.v["soundalias"] = "garage_water_drips_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-372.469,-977.593,544.125),(270,0,0)); + var_00.v["soundalias"] = "garage_water_drips_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-491.207,1122.11,1122.93),(270,0,0)); + var_00.v["soundalias"] = "alley_wind_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1248.14,1036.12,1091.89),(270,0,0)); + var_00.v["soundalias"] = "alley_wind_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1551.52,95.3712,638.851),(270,0,0)); + var_00.v["soundalias"] = "tarp_wind_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1725.77,-107.621,663.711),(270,0,0)); + var_00.v["soundalias"] = "tarp_wind_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-100.397,-109.019,720.991),(270,0,0)); + var_00.v["soundalias"] = "comp_telemetry_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((340.052,-693.92,815.875),(270,0,0)); + var_00.v["soundalias"] = "water_pipe_sml_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((200.94,-1290.39,805.875),(270,0,0)); + var_00.v["soundalias"] = "water_pipe_sml_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((820.986,1288.86,827),(270,0,0)); + var_00.v["soundalias"] = "flo_light_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-608.835,-725.789,685.478),(270,0,0)); + var_00.v["soundalias"] = "water_pipe_sml_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1006.13,683.152,737.944),(270,0,0)); + var_00.v["soundalias"] = "tarp_wind_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1211.49,1335.88,748.585),(270,0,0)); + var_00.v["soundalias"] = "tarp_wind_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-609.49,1006.13,735.597),(270,0,0)); + var_00.v["soundalias"] = "tarp_wind_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((616.872,-735.245,688.125),(271.31,103.601,0)); + var_00.v["soundalias"] = "garage_water_drips_06"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-212.125,-990.753,539.591),(271.31,103.601,0)); + var_00.v["soundalias"] = "garage_water_drips_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((208.481,-858.908,688.125),(271.31,103.601,0)); + var_00.v["soundalias"] = "garage_water_drips_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((740.828,-735.346,688.125),(271.31,103.601,0)); + var_00.v["soundalias"] = "garage_water_drips_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1358.64,-721.865,621.625),(270,0,0)); + var_00.v["soundalias"] = "showers"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1573.41,-945.531,599.799),(270,0,0)); + var_00.v["soundalias"] = "trash_wind_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2126.84,-623.656,596.125),(270,0,0)); + var_00.v["soundalias"] = "trash_wind_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((622.228,-175.887,608.95),(270,0,0)); + var_00.v["soundalias"] = "trash_wind_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2510.68,-1479.28,580),(270,0,0)); + var_00.v["soundalias"] = "trash_wind_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1540.6,-1492.79,583.763),(270,0,0)); + var_00.v["soundalias"] = "trash_wind_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((250.386,-412.595,607.285),(270,0,0)); + var_00.v["soundalias"] = "trash_wind_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2534.38,-676.907,636.002),(270,0,0)); + var_00.v["soundalias"] = "fire_lp_occ"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((344.74,-859.168,688.125),(271.31,103.601,0)); + var_00.v["soundalias"] = "garage_water_drips_06"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1150.1,1095.86,640),(270,0,0)); + var_00.v["soundalias"] = "trash_wind_01"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_blacksmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((1803.62,1830.95,657.846),(270,0,90)); + var_00.v["fxid"] = "fire_lp_m_blacksmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_blacksmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2625.6,-635.446,593.125),(270,0,171)); + var_00.v["fxid"] = "fire_lp_m_blacksmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_blacksmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((1815.43,1891.43,646.831),(270,0,90)); + var_00.v["fxid"] = "fire_lp_m_blacksmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_blacksmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((1790.83,1959.12,662.581),(270,0,90)); + var_00.v["fxid"] = "fire_lp_m_blacksmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_blacksmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((1816.6,2042.29,651.868),(270,0,90)); + var_00.v["fxid"] = "fire_lp_m_blacksmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_blacksmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((1782.43,2218.48,664.038),(270,0,90)); + var_00.v["fxid"] = "fire_lp_m_blacksmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_blacksmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((1743.85,2324.23,655.799),(270,0,90)); + var_00.v["fxid"] = "fire_lp_m_blacksmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_blacksmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((1686.29,2465.71,664.531),(270,0,90)); + var_00.v["fxid"] = "fire_lp_m_blacksmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_blacksmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((1715.51,2392.58,655.739),(270,0,90)); + var_00.v["fxid"] = "fire_lp_m_blacksmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_blacksmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((1821.64,1751.27,651.221),(270,0,90)); + var_00.v["fxid"] = "fire_lp_m_blacksmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_blacksmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((1788.97,2132.09,643.955),(270,0,90)); + var_00.v["fxid"] = "fire_lp_m_blacksmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cap_fire_barrel"); + var_00 common_scripts\_createfx::set_origin_and_angles((-377.101,-1064.37,721.296),(270,0,0)); + var_00.v["fxid"] = "cap_fire_barrel"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_blacksmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((1033.36,506.474,993.481),(270,0,171)); + var_00.v["fxid"] = "fire_lp_m_blacksmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_blacksmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((1007.42,460.073,998.177),(270,0,171)); + var_00.v["fxid"] = "fire_lp_m_blacksmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cap_fire_barrel"); + var_00 common_scripts\_createfx::set_origin_and_angles((867.387,104.3,694.125),(270,0,0)); + var_00.v["fxid"] = "cap_fire_barrel"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_spotlight_cone_haze_cool"); + var_00 common_scripts\_createfx::set_origin_and_angles((1303.83,1576.98,860.191),(88.5852,43.9574,44.9836)); + var_00.v["fxid"] = "det_light_spotlight_cone_haze_cool"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_spotlight_cone_haze_cool"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1742.17,304.795,775.326),(88.5852,43.9574,44.9836)); + var_00.v["fxid"] = "det_light_spotlight_cone_haze_cool"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_spotlight_cone_haze_cool"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1129.38,1301.56,799.352),(88.5852,43.9574,44.9836)); + var_00.v["fxid"] = "det_light_spotlight_cone_haze_cool"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_spotlight_cone_haze_cool"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1352.75,1303.38,797.118),(88.5852,43.9574,44.9836)); + var_00.v["fxid"] = "det_light_spotlight_cone_haze_cool"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_spotlight_cone_haze_cool"); + var_00 common_scripts\_createfx::set_origin_and_angles((-460.21,2492.04,881.385),(88.5852,43.9574,44.9836)); + var_00.v["fxid"] = "det_light_spotlight_cone_haze_cool"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_spotlight_cone_haze_cool"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2634.29,-848.784,710.954),(88.5852,43.9574,44.9836)); + var_00.v["fxid"] = "det_light_spotlight_cone_haze_cool"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_spotlight_cone_haze_cool"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2632.55,-792.529,710.906),(88.5852,43.9574,44.9836)); + var_00.v["fxid"] = "det_light_spotlight_cone_haze_cool"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_spotlight_cone_haze_cool"); + var_00 common_scripts\_createfx::set_origin_and_angles((-127.211,-785.032,652.875),(88.5852,43.9574,44.9836)); + var_00.v["fxid"] = "det_light_spotlight_cone_haze_cool"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-539.993,252.365,820),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-584.305,250.326,825),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-631.659,249.62,825),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-680.979,249.707,825),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-309.385,404.677,825),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-342.736,371.568,825),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-378.381,336.762,825),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-414.621,301.849,825),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-242.432,525.869,825),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-242.799,573.305,825),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-241.582,619.153,825),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-243.081,668.426,825),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-505.042,649.414,825),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-538.189,616.155,825),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-571.57,580.907,825),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-606.787,545.545,825),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-764.035,1417.38,806.5),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-715.629,1417.49,806.5),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-667.479,1417.75,806.5),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-620.142,1417.08,806.5),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-570.604,1415.27,806.5),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-210.789,1691.48,805),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-210.711,1739.92,805),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-209.726,1787.49,805),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-735.368,1863.22,805),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-735.272,1911.99,805),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-737.23,1959.53,805),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-551.086,1960.37,805),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-551.04,1912,805),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-550.181,1864.2,805),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((857.377,1087.3,827),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((906.541,1086.94,827),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((952.482,1086.4,827),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((1001.09,1085.91,827),(270,0,0)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-400.555,-1244.3,674.713),(270,0,92)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-96.0491,-1021.39,810.019),(270,0,92)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-55.3595,-842.472,812.235),(270,0,92)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-56.7881,-603.725,813.496),(270,0,-180)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-256.47,-600.37,669.454),(270,0,-180)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-375.757,-601.765,672.111),(270,0,-180)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-448.071,-601.663,672.963),(270,0,-180)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-444.272,-701.759,674.471),(270,0,-180)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-375.511,-707.232,679.453),(270,0,-180)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((56.764,2365.06,803.809),(67,272,90)); + var_00.v["fxid"] = "det_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((184.427,2365.61,805.493),(67,272,90)); + var_00.v["fxid"] = "det_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((185.17,2429.09,805.368),(67.4999,90,90)); + var_00.v["fxid"] = "det_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((56.8813,2429.85,805.268),(68,92,-90)); + var_00.v["fxid"] = "det_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((366.824,2429.38,806.486),(66,92,-90)); + var_00.v["fxid"] = "det_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((494.857,2428.59,805.159),(66,92,-90)); + var_00.v["fxid"] = "det_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((366.54,2365.6,805.012),(67,272,90)); + var_00.v["fxid"] = "det_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((494.759,2366.03,805.318),(67,272,90)); + var_00.v["fxid"] = "det_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((685.112,2355.76,805.635),(67,272,90)); + var_00.v["fxid"] = "det_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((813.985,2355.69,805.666),(67,272,90)); + var_00.v["fxid"] = "det_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((686.2,2420.51,805.748),(66,92,-90)); + var_00.v["fxid"] = "det_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((813.963,2420.31,805.166),(66,92,-90)); + var_00.v["fxid"] = "det_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_panel_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((70.0358,2429.03,805.341),(67.5,90,0)); + var_00.v["fxid"] = "det_light_panel_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_panel_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((43.0488,2428.48,805.113),(67.5,90,0)); + var_00.v["fxid"] = "det_light_panel_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_panel_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((352.532,2430.16,805.812),(67.5,90,0)); + var_00.v["fxid"] = "det_light_panel_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_panel_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((41.7465,2366.04,804.812),(67.5,270,0)); + var_00.v["fxid"] = "det_light_panel_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_panel_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((69.9654,2366.19,804.752),(67.5,270,0)); + var_00.v["fxid"] = "det_light_panel_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_panel_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((172.342,2365.85,805.39),(67.5,270,0)); + var_00.v["fxid"] = "det_light_panel_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_panel_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((199.131,2365.73,805.44),(67.5,270,0)); + var_00.v["fxid"] = "det_light_panel_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_panel_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((352.556,2366.14,804.773),(67.5,270,0)); + var_00.v["fxid"] = "det_light_panel_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_panel_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((381.755,2366.01,804.826),(67.5,270,0)); + var_00.v["fxid"] = "det_light_panel_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_panel_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((509.401,2366.15,805.268),(67.5,270,0)); + var_00.v["fxid"] = "det_light_panel_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_panel_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((481.906,2365.24,805.644),(67.5,270,0)); + var_00.v["fxid"] = "det_light_panel_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_panel_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((381.122,2429.74,805.637),(67.5,90,0)); + var_00.v["fxid"] = "det_light_panel_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_panel_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((480.778,2429.24,805.431),(67.5,90,0)); + var_00.v["fxid"] = "det_light_panel_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_panel_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((508.915,2428.77,805.235),(67.5,90,0)); + var_00.v["fxid"] = "det_light_panel_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_panel_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((669.709,2420.47,805.733),(67.5,90,0)); + var_00.v["fxid"] = "det_light_panel_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_panel_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((699.019,2421.71,806.246),(67.5,90,0)); + var_00.v["fxid"] = "det_light_panel_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_panel_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((801.892,2421.6,805.701),(67.5,90,0)); + var_00.v["fxid"] = "det_light_panel_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_panel_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((828.525,2420.72,805.334),(67.5,90,0)); + var_00.v["fxid"] = "det_light_panel_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_panel_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((672.635,2358.09,804.671),(67.5,270,0)); + var_00.v["fxid"] = "det_light_panel_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_panel_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((699.175,2357.33,804.985),(67.5,270,0)); + var_00.v["fxid"] = "det_light_panel_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_panel_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((799.542,2356.84,805.188),(67.5,270,0)); + var_00.v["fxid"] = "det_light_panel_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_panel_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((829.294,2356.23,805.44),(67.5,270,0)); + var_00.v["fxid"] = "det_light_panel_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_spotlight_cone_haze_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-384.098,2099.5,932.114),(87.8982,252.907,71.015)); + var_00.v["fxid"] = "det_light_spotlight_cone_haze_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_spotlight_cone_haze_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-639.766,2099.99,934.124),(87.8982,252.907,71.015)); + var_00.v["fxid"] = "det_light_spotlight_cone_haze_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_spotlight_cone_haze_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-706.624,1087.86,816.197),(87.8982,252.907,71.015)); + var_00.v["fxid"] = "det_light_spotlight_cone_haze_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_spotlight_cone_haze_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-705.506,1199.25,816.151),(87.8982,252.907,71.015)); + var_00.v["fxid"] = "det_light_spotlight_cone_haze_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_spotlight_cone_haze_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1736.64,721.964,788.413),(87.8982,252.907,71.015)); + var_00.v["fxid"] = "det_light_spotlight_cone_haze_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_spotlight_cone_haze_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1739.38,661.272,788.409),(87.8982,252.907,71.015)); + var_00.v["fxid"] = "det_light_spotlight_cone_haze_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_spotlight_cone_haze_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1484.91,437.099,790.876),(87.8982,252.907,71.015)); + var_00.v["fxid"] = "det_light_spotlight_cone_haze_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_spotlight_cone_haze_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1746.22,524.403,790.891),(87.8982,252.907,71.015)); + var_00.v["fxid"] = "det_light_spotlight_cone_haze_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_spotlight_cone_haze_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1743.84,435.66,790.888),(87.8982,252.907,71.015)); + var_00.v["fxid"] = "det_light_spotlight_cone_haze_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((519.034,-1492.1,813.293),(270,0,92)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((267.887,-1457.35,661.19),(270,0,92)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1412.85,-671.408,676.56),(270,180,135)); + var_00.v["fxid"] = "mp_gb_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((855.756,-1477.23,817.5),(270,180,135)); + var_00.v["fxid"] = "mp_gb_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((856.072,-1476.76,817.5),(270,180,135)); + var_00.v["fxid"] = "mp_gb_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((247.07,-1486.82,655.9),(270,180,135)); + var_00.v["fxid"] = "mp_gb_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((806.88,-1141.64,672.875),(270,180,135)); + var_00.v["fxid"] = "mp_gb_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2372.22,-717.477,722.083),(270,180,135)); + var_00.v["fxid"] = "mp_gb_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2107.35,1035.66,815.875),(270,180,135)); + var_00.v["fxid"] = "mp_gb_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2089.18,2166.52,1125.24),(270,180,135)); + var_00.v["fxid"] = "mp_gb_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2979.17,-367.07,1128.04),(270,180,135)); + var_00.v["fxid"] = "mp_gb_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_heat_dryer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1322.72,-777.995,613.779),(359.4,270,0)); + var_00.v["fxid"] = "mp_det_heat_dryer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_heat_dryer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1354.7,-777.999,613.361),(359.4,270,0)); + var_00.v["fxid"] = "mp_det_heat_dryer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_heat_dryer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1387.3,-777.992,613.977),(359.4,270,0)); + var_00.v["fxid"] = "mp_det_heat_dryer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_heat_dryer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1386.78,-779.982,653.017),(359.4,270,0)); + var_00.v["fxid"] = "mp_det_heat_dryer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_heat_dryer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1353.78,-779.993,651.942),(359.4,270,0)); + var_00.v["fxid"] = "mp_det_heat_dryer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_heat_dryer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1322.98,-779.984,652.772),(359.4,270,0)); + var_00.v["fxid"] = "mp_det_heat_dryer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_heat_dryer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1321.94,-865.512,638.41),(359.4,90,0)); + var_00.v["fxid"] = "mp_det_heat_dryer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_heat_dryer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1354.71,-865.509,638.096),(359.4,90,0)); + var_00.v["fxid"] = "mp_det_heat_dryer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_heat_dryer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1385.2,-865.518,638.943),(359.4,90,0)); + var_00.v["fxid"] = "mp_det_heat_dryer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_heat_dryer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1384.61,-857.85,673.298),(33.1,90,0)); + var_00.v["fxid"] = "mp_det_heat_dryer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_heat_dryer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1323.74,-858.175,672.801),(33.1,90,0)); + var_00.v["fxid"] = "mp_det_heat_dryer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_heat_dryer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1352.65,-858.194,672.771),(33.1,90,0)); + var_00.v["fxid"] = "mp_det_heat_dryer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_heat_dryer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1387.69,-785.069,672.407),(33.1,270,0)); + var_00.v["fxid"] = "mp_det_heat_dryer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_heat_dryer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1355.05,-785.345,672.83),(33.1,270,0)); + var_00.v["fxid"] = "mp_det_heat_dryer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_heat_dryer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1324.18,-785.239,672.668),(33.1,270,0)); + var_00.v["fxid"] = "mp_det_heat_dryer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((968.033,733.249,1093.88),(270,180,135)); + var_00.v["fxid"] = "mp_gb_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1030.02,470.792,958.953),(270,180,135)); + var_00.v["fxid"] = "mp_gb_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_water_shower"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1298.91,-723.913,686.398),(89.4974,0,0)); + var_00.v["fxid"] = "mp_det_water_shower"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_spotlight_cone_haze_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-234.086,832.586,820.132),(87.8982,252.907,71.015)); + var_00.v["fxid"] = "det_light_spotlight_cone_haze_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_spotlight_cone_haze_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-333.891,832.454,820.136),(87.8982,252.907,71.015)); + var_00.v["fxid"] = "det_light_spotlight_cone_haze_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_spotlight_cone_haze_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-333.974,928.602,820.139),(87.8982,252.907,71.015)); + var_00.v["fxid"] = "det_light_spotlight_cone_haze_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_spotlight_cone_haze_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-234.616,928.749,820.163),(87.8982,252.907,71.015)); + var_00.v["fxid"] = "det_light_spotlight_cone_haze_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_heat_dryer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-228.512,-667.343,691.964),(318.239,134.508,-74.6998)); + var_00.v["fxid"] = "mp_det_heat_dryer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1229.54,-695.48,676.654),(270,0,1)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1358.39,-698.039,675.382),(270,0,1)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1485.43,-691.976,678.254),(270,0,1)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1600.07,-756.907,679.541),(270,0,1)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1485.53,-660.556,678.195),(270,0,-1)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1358.43,-660.594,679.124),(270,0,1)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1486.18,-756.277,678.713),(270,0,1)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1357.62,-756.23,678.8),(270,0,1)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1357.92,-789.153,680.69),(270,0,1)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1486.24,-789.338,680.975),(270,0,1)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1605.93,-789.719,681.566),(270,0,1)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1663.44,-711.416,678.515),(270,180,89)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1663.44,-644.083,677.515),(270,180,89)); + var_00.v["fxid"] = "fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-256.504,-999.462,673.77),(360,360,90)); + var_00.v["fxid"] = "mp_det_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((352.307,-1246.73,809.681),(360,360,90)); + var_00.v["fxid"] = "mp_det_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((351.202,-712.215,808.774),(360,360,90)); + var_00.v["fxid"] = "mp_det_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((630.66,-711.469,811.836),(360,360,90)); + var_00.v["fxid"] = "mp_det_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((854.242,-725.64,811.695),(360,360,90)); + var_00.v["fxid"] = "mp_det_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((799.179,-1232.8,812.845),(360,360,90)); + var_00.v["fxid"] = "mp_det_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((799.005,-1489.54,813.383),(360,360,90)); + var_00.v["fxid"] = "mp_det_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-94.6667,-1245.6,808.929),(360,360,90)); + var_00.v["fxid"] = "mp_det_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_spotlight_cone_haze_cool"); + var_00 common_scripts\_createfx::set_origin_and_angles((105.238,-784.05,652.924),(88.5852,43.9574,44.9836)); + var_00.v["fxid"] = "det_light_spotlight_cone_haze_cool"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_spotlight_cone_haze_cool"); + var_00 common_scripts\_createfx::set_origin_and_angles((696.813,-783.94,652.228),(88.5852,43.9574,44.9836)); + var_00.v["fxid"] = "det_light_spotlight_cone_haze_cool"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((956.579,1264.69,860.875),(270,180,135)); + var_00.v["fxid"] = "mp_gb_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_spotlight_cone_haze_cool"); + var_00 common_scripts\_createfx::set_origin_and_angles((790.741,1307.37,822.875),(88.5852,43.9574,44.9836)); + var_00.v["fxid"] = "det_light_spotlight_cone_haze_cool"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_spotlight_cone_haze_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1484.91,437.099,790.876),(87.8982,252.907,71.015)); + var_00.v["fxid"] = "det_light_spotlight_cone_haze_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_spotlight_cone_haze_cool"); + var_00 common_scripts\_createfx::set_origin_and_angles((1302.18,1471.76,806.111),(34.9927,269.664,-88.7779)); + var_00.v["fxid"] = "det_light_spotlight_cone_haze_cool"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_spotlight_cone_haze_cool"); + var_00 common_scripts\_createfx::set_origin_and_angles((647.624,-495.978,803.047),(34.012,88.8921,-90.2543)); + var_00.v["fxid"] = "det_light_spotlight_cone_haze_cool"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-649.577,1664.86,717.172),(322,90,-90)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-602.24,1664.45,717.7),(322,90,-90)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-552.702,1663.33,719.127),(322,90,-90)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1623.88,643.223,710.526),(339.991,178.323,-90.6577)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1622.08,690.516,711.666),(339.991,178.323,-90.6577)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1619.82,739.985,713.901),(339.991,178.323,-90.6577)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((865.122,878.205,758.825),(322,90,-90)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((817.785,878.617,758.297),(322,90,-90)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((914.661,877.091,760.252),(322,90,-90)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((1409.63,1084.73,770.825),(322,360,-90)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((1410.05,1132.06,770.297),(322,360,-90)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((1408.52,1035.19,772.252),(322,360,-90)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((16.4105,-1063.72,754.619),(339.991,178.323,-90.6576)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((18.2119,-1016.43,755.76),(339.991,178.323,-90.6576)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_godray_bar"); + var_00 common_scripts\_createfx::set_origin_and_angles((20.4769,-966.962,757.996),(339.991,178.323,-90.6576)); + var_00.v["fxid"] = "det_light_godray_bar"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_panel_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((197.867,2429.55,805.56),(67.5,90,0)); + var_00.v["fxid"] = "det_light_panel_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_panel_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((169.928,2428.96,805.314),(67.5,90,0)); + var_00.v["fxid"] = "det_light_panel_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_heat_dryer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1387.86,-777.989,638.293),(359.4,270,0)); + var_00.v["fxid"] = "mp_det_heat_dryer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_heat_dryer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1354.8,-777.992,638.065),(359.4,270,0)); + var_00.v["fxid"] = "mp_det_heat_dryer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_heat_dryer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1322.82,-777.992,638.047),(359.4,270,0)); + var_00.v["fxid"] = "mp_det_heat_dryer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_heat_dryer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1386.08,-865.502,613.485),(359.4,90,0)); + var_00.v["fxid"] = "mp_det_heat_dryer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_heat_dryer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1355.18,-865.5,613.304),(359.4,90,0)); + var_00.v["fxid"] = "mp_det_heat_dryer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_heat_dryer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1321.35,-865.503,613.562),(359.4,90,0)); + var_00.v["fxid"] = "mp_det_heat_dryer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_heat_dryer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1384.11,-863.525,653.692),(359.4,90,0)); + var_00.v["fxid"] = "mp_det_heat_dryer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_heat_dryer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1353.16,-863.527,653.846),(359.4,90,0)); + var_00.v["fxid"] = "mp_det_heat_dryer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_heat_dryer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1322.06,-863.521,653.272),(359.4,90,0)); + var_00.v["fxid"] = "mp_det_heat_dryer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_water_shower"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1338.86,-726.019,686.6),(89.4974,179.999,0)); + var_00.v["fxid"] = "mp_det_water_shower"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_water_shower"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1378.42,-722.46,688.298),(89.4974,179.999,0)); + var_00.v["fxid"] = "mp_det_water_shower"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_water_shower"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1418.86,-725.151,686.398),(89.4974,0,0)); + var_00.v["fxid"] = "mp_det_water_shower"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_water_shower"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1458.75,-723.604,686.409),(89.4974,0,0)); + var_00.v["fxid"] = "mp_det_water_shower"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_water_shower"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1498.85,-722.825,686.405),(89.4974,179.999,0)); + var_00.v["fxid"] = "mp_det_water_shower"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_water_shower"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1539.33,-723.016,686.404),(89.4974,0,0)); + var_00.v["fxid"] = "mp_det_water_shower"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-756.335,1539.05,659.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-584.671,1463.36,656.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-240.923,1596.57,656.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-200.617,1744.14,656.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1530.4,749.326,668.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1509.58,289.473,696.82),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1727.04,475.204,692.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1736.83,266.934,720.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2303.09,-608.933,605.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2642.45,-900.972,596.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2645.78,-785.643,584.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2477.79,-697.542,613.096),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2473.81,-866.769,612.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((645.487,-724.587,708.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((652.502,-493.931,715.46),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((896.112,-675.097,743.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((1125.24,314.858,703.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((977.273,620.345,698.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((770.568,677.306,709.567),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((1022.45,1046,703.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((1312.32,1092.71,716.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((1289.82,1356.8,719.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((895.066,1094.16,719.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((786.858,1265.43,712.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((744.506,2370.51,697),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((495.971,2413.87,691),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((370.552,2409.7,691),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((140.029,2391.84,691),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-766.66,1901.61,686.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-551.888,1917.63,669.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-756.52,1749.35,686.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-900.122,1750.56,703.371),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-295.402,904.943,701),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-249.986,651.048,716.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-326.49,434.058,708.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-456.912,296.014,701.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-646.685,287.177,716.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-811.246,651.488,690.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-678.918,804.864,695.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-904.045,484.719,701.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-561.266,571.267,716.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-475.589,675.587,701.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1509.1,-629.969,585.938),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1364.37,-637.246,592.625),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-433.324,-716.613,580.521),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-407.269,-612.953,568.137),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-231.12,-599.702,573),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-99.4999,-602.355,646.148),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52.7894,-773.163,725.5),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((875.766,-701.3,700.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((425.808,-718.661,688.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((317.378,-1267.09,691.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((337.169,-937.658,689.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-102.581,-1239.85,598.649),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((809.858,312.555,719.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((1082.8,726.397,724.861),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((1274.03,2634.06,659.182),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((994.744,2627.37,675.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-986.25,1054.55,679.899),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1048.27,567.209,659.267),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_trash_blowing_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1303.78,236.378,637.032),(270,0,180)); + var_00.v["fxid"] = "det_trash_blowing_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2289.92,-367.066,578.308),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2396.68,-375.694,576.287),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1096.62,1246.3,646),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("floating_bottles_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((53.9887,-962.724,548.78),(270,0,0)); + var_00.v["fxid"] = "floating_bottles_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("floating_bottles_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-126.817,-1024.84,555.419),(270,0,0)); + var_00.v["fxid"] = "floating_bottles_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("floating_bottles_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((185.499,-1098.6,554.727),(270,0,0)); + var_00.v["fxid"] = "floating_bottles_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("floating_trash_barrel_foam_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((94.4167,-1015.06,548.583),(270,0,0)); + var_00.v["fxid"] = "floating_trash_barrel_foam_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("floating_trash_barrel_foam_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((500.501,-949.777,548.606),(270,0,0)); + var_00.v["fxid"] = "floating_trash_barrel_foam_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("floating_trash_pallet_foam_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((432.748,-1052.74,551.249),(270,0,0)); + var_00.v["fxid"] = "floating_trash_pallet_foam_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("floating_trash_pallet_foam_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((669.852,-1011.72,554.373),(270,0,0)); + var_00.v["fxid"] = "floating_trash_pallet_foam_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("floating_trash_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((475.063,-967.069,557.852),(270,0,0)); + var_00.v["fxid"] = "floating_trash_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("floating_trash_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((55.492,-944.166,556.499),(270,0,0)); + var_00.v["fxid"] = "floating_trash_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("floating_trash_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((182.735,-1089.55,559.002),(270,0,0)); + var_00.v["fxid"] = "floating_trash_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("floating_foam_runner_lp2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-352.488,-1139.66,560.125),(270,0,-105)); + var_00.v["fxid"] = "floating_foam_runner_lp2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("floating_foam_runner_lp2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-410.693,-960.473,555.125),(270,0,0)); + var_00.v["fxid"] = "floating_foam_runner_lp2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("floating_foam_runner_lp2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-469.99,-1148.4,553.125),(270,0,94)); + var_00.v["fxid"] = "floating_foam_runner_lp2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cap_fire_barrel"); + var_00 common_scripts\_createfx::set_origin_and_angles((-128.831,-664.227,888.377),(270,0,0)); + var_00.v["fxid"] = "cap_fire_barrel"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cap_fire_barrel"); + var_00 common_scripts\_createfx::set_origin_and_angles((1143.59,-595.186,856.317),(270,0,0)); + var_00.v["fxid"] = "cap_fire_barrel"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cap_fire_barrel"); + var_00 common_scripts\_createfx::set_origin_and_angles((1210.41,-242.14,638.952),(270,0,0)); + var_00.v["fxid"] = "cap_fire_barrel"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-691.632,1999.47,694.695),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-751.58,1978.69,691.283),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1620.09,-221.245,1144.02),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-514.276,-208.105,1144.02),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((400.831,-396.955,812),(270,0,90)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((560.376,-385.294,812),(270,0,90)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2160.83,-1619.61,1023.88),(270,0,90)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1759.5,-1627.5,1020.88),(270,0,90)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1555.2,-1617.08,1022.88),(270,0,90)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_detroit_sunflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((269.359,-309.611,1537.04),(270,0,0)); + var_00.v["fxid"] = "mp_detroit_sunflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((281.594,1590.33,1139.42),(270,0,-9)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((1317.45,1880.34,1149.42),(270,0,-90)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((1602.26,2025.22,1135.02),(270,0,-90)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_trash_blowing_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1512.1,2745.97,714),(270,0,49)); + var_00.v["fxid"] = "det_trash_blowing_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-670.96,2083.82,685.283),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-738.113,2108.8,706.082),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_trash_blowing_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1496.8,1994.35,722.338),(270,0,90)); + var_00.v["fxid"] = "det_trash_blowing_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_trash"); + var_00 common_scripts\_createfx::set_origin_and_angles((1400.98,2085.93,677.191),(270,0,90)); + var_00.v["fxid"] = "wind_blowing_trash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_trash"); + var_00 common_scripts\_createfx::set_origin_and_angles((193.25,1337.86,655.473),(270,0,-180)); + var_00.v["fxid"] = "wind_blowing_trash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_trash"); + var_00 common_scripts\_createfx::set_origin_and_angles((210.162,2107.44,734.57),(270,0,-180)); + var_00.v["fxid"] = "wind_blowing_trash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1369.91,1278.78,696.053),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1106.41,1269.24,669.729),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((583.262,886.605,615.844),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("floating_foam_runner_lp2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-500.375,-920.248,552.125),(270,180,-137)); + var_00.v["fxid"] = "floating_foam_runner_lp2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("floating_foam_runner_lp2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-357.889,-1054.19,554.125),(270,0,-72)); + var_00.v["fxid"] = "floating_foam_runner_lp2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("floating_foam_runner_lp2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-361.794,-1270.91,552.125),(270,0,180)); + var_00.v["fxid"] = "floating_foam_runner_lp2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("floating_foam_runner_lp2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-447.795,-1255.95,557.125),(270,0,109)); + var_00.v["fxid"] = "floating_foam_runner_lp2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("floating_foam_runner_lp2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-288.997,-930.684,552.125),(270,180,129)); + var_00.v["fxid"] = "floating_foam_runner_lp2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("floating_foam_runner_lp2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-498.922,-1104.57,553.125),(270,0,91)); + var_00.v["fxid"] = "floating_foam_runner_lp2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("floating_foam_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-183.456,-933.313,554.125),(270,180,163)); + var_00.v["fxid"] = "floating_foam_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("floating_bottles_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-122.772,-1071.3,504.946),(270,0,-79)); + var_00.v["fxid"] = "floating_bottles_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("floating_trash_barrel_foam_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((143.287,-1196.41,550.125),(270,0,0)); + var_00.v["fxid"] = "floating_trash_barrel_foam_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("floating_bottles_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-31.7247,-1060.5,553.126),(270,0,-110)); + var_00.v["fxid"] = "floating_bottles_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("floating_bottles_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((121.362,-1440.56,544.125),(270,0,0)); + var_00.v["fxid"] = "floating_bottles_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("floating_bottles_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((262.022,-1396.91,544.125),(270,0,0)); + var_00.v["fxid"] = "floating_bottles_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("floating_trash_pallet_foam_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-69.3734,-1464.15,550.125),(270,0,0)); + var_00.v["fxid"] = "floating_trash_pallet_foam_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("floating_trash_barrel_foam_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-173.417,-1480.73,544.125),(270,0,0)); + var_00.v["fxid"] = "floating_trash_barrel_foam_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("floating_foam_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-112.249,-1484.53,553.125),(270,0,180)); + var_00.v["fxid"] = "floating_foam_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("floating_foam_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-122.75,-1443.72,556.125),(270,0,-75)); + var_00.v["fxid"] = "floating_foam_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("floating_foam_runner_lp2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-423.182,-882.606,549.416),(270,0,90)); + var_00.v["fxid"] = "floating_foam_runner_lp2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("floating_foam_runner_lp2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-343.598,-876.881,549.053),(270,0,90)); + var_00.v["fxid"] = "floating_foam_runner_lp2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_mosquitos_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-563.492,-1114.4,603.998),(270,0,0)); + var_00.v["fxid"] = "insects_mosquitos_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_mosquitos_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-293.112,-1169.28,572.863),(270,0,0)); + var_00.v["fxid"] = "insects_mosquitos_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_mosquitos_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-398.148,-1269.38,654.044),(270,0,0)); + var_00.v["fxid"] = "insects_mosquitos_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_mosquitos_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-314.669,-912.539,593.673),(270,0,0)); + var_00.v["fxid"] = "insects_mosquitos_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_mosquitos_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-435.938,-1135.38,593.125),(270,0,0)); + var_00.v["fxid"] = "insects_mosquitos_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_mosquitos_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-395.929,-1044.65,572.125),(270,0,0)); + var_00.v["fxid"] = "insects_mosquitos_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-25.7607,-1065.35,565.674),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-174.652,-1481.22,571.125),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_skylight_haze"); + var_00 common_scripts\_createfx::set_origin_and_angles((-401.676,-1216.75,678.044),(270,0,0)); + var_00.v["fxid"] = "light_skylight_haze"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_skylight_haze"); + var_00 common_scripts\_createfx::set_origin_and_angles((-297.853,-1002.19,679.875),(270,0,0)); + var_00.v["fxid"] = "light_skylight_haze"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1395.69,-743.858,587.625),(270,0,90)); + var_00.v["fxid"] = "rain_splash_sm_200x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1387.97,-709.693,587.625),(270,0,90)); + var_00.v["fxid"] = "rain_splash_sm_200x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1393.5,-721.311,587.625),(270,0,90)); + var_00.v["fxid"] = "rain_splash_sm_200x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1448.62,-743.155,587.625),(270,0,90)); + var_00.v["fxid"] = "rain_splash_sm_200x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1447.76,-712.584,587.625),(270,0,90)); + var_00.v["fxid"] = "rain_splash_sm_200x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1451.2,-730.801,587.625),(270,0,90)); + var_00.v["fxid"] = "rain_splash_sm_200x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_trash"); + var_00 common_scripts\_createfx::set_origin_and_angles((90.591,1332.51,748.577),(270,0,-180)); + var_00.v["fxid"] = "wind_blowing_trash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1255.3,1235.06,640),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -11; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1278.38,638.456,638.962),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1949.78,-1830.18,578.91),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((335.037,-676.267,798.622),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((612.699,-692.523,794.625),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((464.504,-656.326,794.586),(270,180,90)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((211.743,-1248.7,794.808),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-114.636,-1216.18,795.435),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-62.1846,-1061.13,798.354),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((330.961,-1290.86,794.56),(270,180,90)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-110.26,-553.555,697.231),(270,180,90)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-207.777,-648.156,705.322),(270,0,-180)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-500.444,-625.447,675.279),(270,0,-180)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-509.446,102.822,613.909),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1695.93,1130.99,682),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_trash_blowing_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3172.34,-198.934,633.234),(270,0,180)); + var_00.v["fxid"] = "det_trash_blowing_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_trash_blowing_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3079.98,6.55273,617.892),(270,0,180)); + var_00.v["fxid"] = "det_trash_blowing_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_spotlight_cone_haze_cool"); + var_00 common_scripts\_createfx::set_origin_and_angles((-195.465,322.64,824.172),(88.5852,43.9574,44.9836)); + var_00.v["fxid"] = "det_light_spotlight_cone_haze_cool"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_spotlight_cone_haze_cool"); + var_00 common_scripts\_createfx::set_origin_and_angles((-318.855,199.927,824.198),(88.5852,43.9574,44.9836)); + var_00.v["fxid"] = "det_light_spotlight_cone_haze_cool"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1078.93,738.809,784.694),(360,360,90)); + var_00.v["fxid"] = "mp_det_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1080.1,665.934,786.136),(0,0,90)); + var_00.v["fxid"] = "mp_det_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((785.576,798.621,697.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_body_scanner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1433.77,-627.016,590.5),(0,270,0)); + var_00.v["fxid"] = "mp_det_body_scanner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_body_scanner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1481.44,-627.303,591.5),(0,270,0)); + var_00.v["fxid"] = "mp_det_body_scanner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_debris2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1021.49,-138.828,711.455),(0,180,0)); + var_00.v["fxid"] = "wind_blowing_debris2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_debris2"); + var_00 common_scripts\_createfx::set_origin_and_angles((235.824,535.779,861.224),(0,180,0)); + var_00.v["fxid"] = "wind_blowing_debris2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_debris2"); + var_00 common_scripts\_createfx::set_origin_and_angles((688.41,2243.41,863.018),(0,180,0)); + var_00.v["fxid"] = "wind_blowing_debris2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_debris2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1641.42,-799.498,825.004),(0,180,0)); + var_00.v["fxid"] = "wind_blowing_debris2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_debris2"); + var_00 common_scripts\_createfx::set_origin_and_angles((2094.28,2265.11,867.499),(0,96,0)); + var_00.v["fxid"] = "wind_blowing_debris2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_debris2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1139.27,2647.47,820.609),(0,180,0)); + var_00.v["fxid"] = "wind_blowing_debris2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_debris2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3140.04,-1154.45,716.662),(0,180,0)); + var_00.v["fxid"] = "wind_blowing_debris2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2272.67,112.868,584),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1678.19,83.6649,593),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ie_birds_scatter_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4622.84,4186.71,3046.82),(0,61,0)); + var_00.v["fxid"] = "ie_birds_scatter_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ie_birds_scatter_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2018.44,-1408.35,1210.72),(0,183,0)); + var_00.v["fxid"] = "ie_birds_scatter_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ie_birds_scatter_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5123.85,672.744,1259.37),(0,105,0)); + var_00.v["fxid"] = "ie_birds_scatter_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fireball_lp_smk_xlrg_tall"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7175.39,-5597.37,1230.78),(270,0,180)); + var_00.v["fxid"] = "fireball_lp_smk_xlrg_tall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_street_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((294.755,1311.59,639),(270,180,-89)); + var_00.v["fxid"] = "steam_sm_street_lt"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_street_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((1149.39,1860.92,634.5),(270,180,-89)); + var_00.v["fxid"] = "steam_sm_street_lt"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_street_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((-448.34,-111.713,594.081),(270,180,-89)); + var_00.v["fxid"] = "steam_sm_street_lt"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_street_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((-876.052,-258.264,574.5),(270,180,-89)); + var_00.v["fxid"] = "steam_sm_street_lt"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_street_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1948.03,-863.364,573),(270,180,-89)); + var_00.v["fxid"] = "steam_sm_street_lt"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_street_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((80.9409,464.683,606),(270,180,-89)); + var_00.v["fxid"] = "steam_sm_street_lt"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((944.553,2491.66,672.933),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((1168.31,2708.46,686.494),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-241.703,1390.63,692.346),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-523.346,2431.42,659.125),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-195.69,1433.01,696.7),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-265.144,1382.51,699.799),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_light_spotlight_cone_haze_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1486.47,524.473,790.82),(87.8982,252.907,71.015)); + var_00.v["fxid"] = "det_light_spotlight_cone_haze_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_blacksmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((1262.16,290.857,702.683),(270,0,90)); + var_00.v["fxid"] = "fire_lp_m_blacksmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoke_grey_column_spot_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3023.29,1179.76,1924.43),(270,0,160)); + var_00.v["fxid"] = "smoke_grey_column_spot_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoke_grey_column_spot_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6515.34,-2292.82,1987.5),(270,0,160)); + var_00.v["fxid"] = "smoke_grey_column_spot_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoke_grey_column_spot_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6785.13,-2041.48,1977.53),(270,0,160)); + var_00.v["fxid"] = "smoke_grey_column_spot_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoke_grey_column_spot_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2997.83,1537.45,1911.78),(270,0,160)); + var_00.v["fxid"] = "smoke_grey_column_spot_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoke_grey_column_spot_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((2138.42,3926.63,1753.23),(270,0,160)); + var_00.v["fxid"] = "smoke_grey_column_spot_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fireball_lp_smk_xlrg_tall"); + var_00 common_scripts\_createfx::set_origin_and_angles((12642.3,2659.87,1002.26),(270,0,180)); + var_00.v["fxid"] = "fireball_lp_smk_xlrg_tall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_water_shower_drops"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1301.43,-714.285,640.625),(270,0,0)); + var_00.v["fxid"] = "mp_det_water_shower_drops"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_water_shower_drops"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1406.07,-719.224,632.625),(270,0,0)); + var_00.v["fxid"] = "mp_det_water_shower_drops"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_water_shower_drops"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1475.87,-723.94,612.625),(270,0,0)); + var_00.v["fxid"] = "mp_det_water_shower_drops"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_water_shower_drops"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1476.72,-722.059,626.625),(270,0,0)); + var_00.v["fxid"] = "mp_det_water_shower_drops"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_det_water_shower_drops"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1522.96,-724.478,616.625),(270,0,0)); + var_00.v["fxid"] = "mp_det_water_shower_drops"; + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((937.003,720.59,969.163),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "sparks_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1022.58,464.395,957.238),(90,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "sparks_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1416.49,1268.09,722.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "school_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((749.669,99.8098,688.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "school_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1441.76,264.686,656.125),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "glass_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1760.79,1851.69,674.172),(340.378,13.3978,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "fire_flame"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1762.27,1988.18,671.129),(340.378,13.3978,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "fire_flame"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1768.06,2191.44,676.02),(340.378,13.3978,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "fire_flame"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1693.57,2393.11,678.757),(340.378,13.3978,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "fire_flame"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-873.14,1008.13,648.857),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "bush_foliage_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-502.062,1300.72,666.686),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "bush_foliage_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-656.502,1008.12,653.912),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "bush_foliage_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-860.759,1323.06,660.779),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "bush_foliage_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1030.61,271.227,652.894),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "bush_foliage_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1060.61,343.915,664.464),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "bush_foliage_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((634.33,-306.662,694.766),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "wind_fence"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2354.87,-208.774,667.993),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "wind_fence"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((634.219,-161.636,608.252),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "trash_wind"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((249.731,-404.104,620.226),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "trash_wind"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-100.795,2532.85,677.419),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "wind_fence"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-599.264,2388.79,707.046),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "wind_fence"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-590.132,2156.48,706.021),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "wind_fence"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1394.82,1110,709.261),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "wind_fence"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1540.94,-1489.7,583.739),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "trash_wind"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2516.59,-1471.24,580),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "trash_wind"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2120.73,-622.356,593.125),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "trash_wind"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((787.162,1018.49,693.723),(270,0,-1)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "glass_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2424.83,-734.595,585.59),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "heavy_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2426.7,-743.949,721.323),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-259.245,-1076.25,561.324),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1562.89,-911.31,581.921),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "trash_wind"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((556.695,2328.04,770.746),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "comp_telemetry"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((753.994,2485.09,765.157),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "comp_telemetry"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((216.89,2453.99,732.014),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "comp_telemetry"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((8.16139,129.268,715.209),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "comp_telemetry"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((26.9419,-161.05,721.697),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "comp_telemetry_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-573.658,1828.38,710.427),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "comp_telemetry"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((338.129,2446.99,746.26),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "comp_telemetry_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((652.383,2325.96,736.863),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "comp_telemetry_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((10.0797,2362.37,734.828),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "comp_telemetry_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2341.25,-211.347,658.284),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1359.94,1126.17,687.653),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((787.795,2052.83,645.189),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-590.676,2386.72,699.635),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-576.217,2164,695.125),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1002.13,348.62,917.302),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "bird_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1312.51,-574.157,813.132),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "bird_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-763.193,2461.06,843.275),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "bird_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1061.4,2340.25,685),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "dog_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1686.98,-232.855,640.581),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "dog"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1891.03,-1787.93,596.888),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "dog_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-798.661,1153.25,828.113),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "bird_flutter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1002.13,353.398,916.676),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "bird_flutter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1184.17,-1488.6,802.582),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "bird_flutter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((919.426,2513.38,899.94),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "bird_flutter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1606.14,1252.85,799.084),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "dog"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((29.8582,2996.93,807.834),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "dog"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((512.738,2523.01,1155.07),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "dist_battle_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-59.5611,3002.08,1059.36),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "dist_battle_03"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((211.045,2761.92,1042.5),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "dist_battle_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2309.31,2198.41,918.928),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "dist_battle_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-948.697,2447.72,934.83),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "dist_battle_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1754.44,1123.8,995.706),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "dist_battle_03"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((634.383,-101.587,694.767),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "wind_fence"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((626.323,-1310.98,809.5),(90,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "sparks_03"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1589.1,43.4717,785.604),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "bird_flutter"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_fracture_fx.gsc b/AW/PC/maps/createfx/mp_fracture_fx.gsc new file mode 100644 index 0000000..05f897b --- /dev/null +++ b/AW/PC/maps/createfx/mp_fracture_fx.gsc @@ -0,0 +1,1129 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_fracture_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 63 ms + * Timestamp: 4/22/2024 2:07:36 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1984.2,146,71.4031),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_low_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1752.83,146,72.3507),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_low_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1985.38,146,73.7351),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_plastic_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1752.07,146,71.6794),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_plastic_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1524.08,-114,72.3839),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_plastic_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1747,-114,72.5025),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_plastic_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1867.88,-210.906,61.5748),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_high_wind_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1983.4,-389.835,41.8017),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1752.67,-316.781,30.3638),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2145.92,-490.227,159),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2206,-597.771,162.292),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2059,-340.843,160.107),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1982.67,-208.625,160.096),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1913.76,-89.8583,160.646),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1877.52,-182.066,138.905),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-742.53,-25.8077,269.622),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_water_air_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-735.588,230.001,266.845),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_water_air_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-635.424,226.948,167.544),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_water_air_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-635.429,214.412,422.814),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_water_air_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-623.201,-33.7125,418.303),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_water_air_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-622.484,-31.0513,195.124),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_water_air_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-622.891,-285.481,183.527),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_water_air_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-620.261,-286.203,429.5),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_water_air_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((711.456,-179.149,185.016),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_water_air_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((724.868,-178.227,413.557),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_water_air_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((707.837,-444.032,429.5),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_water_air_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((706.821,-401.49,168.087),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_water_air_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((719.367,85.3374,196.089),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_water_air_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((712.656,70.1322,424.273),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_water_air_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((811.433,-438.886,203.424),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_water_air_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((811.42,-446.245,387.199),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_water_air_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((830.392,-180.649,192.314),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_water_air_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((811.878,-183.629,363.25),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_water_air_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((812.261,36.4993,380.835),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_water_air_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((830.943,62.7125,191.881),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_water_air_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2121.25,-342.299,52.4319),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1367.82,431.786,72.9518),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_hum_large_ext_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1399.87,-10.8304,58.873),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_hum_large_ext_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1399.88,74.2543,64.2228),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_hum_large_ext_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((262.868,-1373.45,-5.53497),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_hum_large_ext_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((828.395,-818.706,71.814),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_hum_large_ext_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((818.349,-837.087,-15.9379),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_hum_large_ext_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1033.96,-794.363,102.048),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_hum_large_ext_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((996.686,-820.865,-7.38328),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_hum_large_ext_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-739.316,-281.86,160.676),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_hum_large_ext_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-738.424,0.115082,169.5),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_hum_large_ext_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-727.576,222.359,162),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_hum_large_ext_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((66.5815,203.97,98.4177),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1980.17,146,71.2892),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1750.93,146,73.4187),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1041.63,664.125,75.4871),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_large_lp"; + var_00 = common_scripts\utility::createoneshoteffect("fx_sunflare_cargoship2"); + var_00 common_scripts\_createfx::set_origin_and_angles((0,0,0),(0,0,0)); + var_00.v["fxid"] = "fx_sunflare_cargoship2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_snow_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1319.37,-984.306,-47.0055),(270,0,-90)); + var_00.v["fxid"] = "mp_cgo_snow_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_snow_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1013.13,-212.224,15.6126),(270,0,-90)); + var_00.v["fxid"] = "mp_cgo_snow_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_snow_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((36.9169,-762.133,161.082),(270,0,-90)); + var_00.v["fxid"] = "mp_cgo_snow_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_snow_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1326.59,-710.51,18.4512),(270,0,-90)); + var_00.v["fxid"] = "mp_cgo_snow_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_snow_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2281.14,351.19,60.8159),(270,0,-90)); + var_00.v["fxid"] = "mp_cgo_snow_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_snow_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1236.74,610.084,8.6595),(270,0,-90)); + var_00.v["fxid"] = "mp_cgo_snow_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_snow_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((112.908,519.388,35.8179),(270,0,-90)); + var_00.v["fxid"] = "mp_cgo_snow_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_snow_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1733.85,477.807,20),(270,0,-90)); + var_00.v["fxid"] = "mp_cgo_snow_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_snow_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2286.78,-258.384,348.9),(273,180,99)); + var_00.v["fxid"] = "mp_cgo_snow_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_snow_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((3200.74,-209.293,905.6),(270,0,-90)); + var_00.v["fxid"] = "mp_cgo_snow_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner_no_impact_spawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((-792.535,-1133.97,424.26),(354.935,182.848,34.0291)); + var_00.v["fxid"] = "electrical_sparks_runner_no_impact_spawn"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner_no_impact_spawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1995.27,-464.656,235.366),(333.099,282.4,0)); + var_00.v["fxid"] = "electrical_sparks_runner_no_impact_spawn"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner_no_impact_spawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((1649.49,396.568,221.338),(0.228637,157.773,0)); + var_00.v["fxid"] = "electrical_sparks_runner_no_impact_spawn"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_snow_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2603.08,-848.704,1248.51),(270,0,-70)); + var_00.v["fxid"] = "mp_cgo_snow_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_snow_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2009.24,-1026.72,1558.95),(270,0,-90)); + var_00.v["fxid"] = "mp_cgo_snow_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_snow_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-684.669,-1255.95,906.094),(270,0,-90)); + var_00.v["fxid"] = "mp_cgo_snow_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_falling_snow_chunks_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((898.81,-1067.13,1055.27),(270,0,-88)); + var_00.v["fxid"] = "mp_cgo_falling_snow_chunks_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_falling_snow_chunks_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((2111.58,-610.879,1006.88),(19.9386,91.2819,0)); + var_00.v["fxid"] = "mp_cgo_falling_snow_chunks_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_falling_snow_chunks_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((117.339,-1265.72,730.157),(272.164,280.878,-12.9926)); + var_00.v["fxid"] = "mp_cgo_falling_snow_chunks_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_falling_snow_chunks_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2485.48,932.157,447.885),(0,63,0)); + var_00.v["fxid"] = "mp_cgo_falling_snow_chunks_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_falling_snow_chunks_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2259.83,454.531,479.804),(1.67684,358.698,-0.677954)); + var_00.v["fxid"] = "mp_cgo_falling_snow_chunks_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_falling_snow_chunks_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-950.176,-962.807,721.813),(270,180,80)); + var_00.v["fxid"] = "mp_cgo_falling_snow_chunks_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_falling_snow_chunks_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1766.77,-515.339,883.333),(0,52.0603,0)); + var_00.v["fxid"] = "mp_cgo_falling_snow_chunks_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_snow_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1997.57,-711.881,1112.88),(270,0,-90)); + var_00.v["fxid"] = "mp_cgo_snow_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_godray_hazy_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1223.28,-982.423,204.777),(326.891,150.271,-152.074)); + var_00.v["fxid"] = "mp_cgo_godray_hazy_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_godray_hazy_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((58.4164,-1194.91,225.404),(326.891,150.271,-152.074)); + var_00.v["fxid"] = "mp_cgo_godray_hazy_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_godray_hazy_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-843.277,-1012.84,179.636),(326.891,150.271,-152.074)); + var_00.v["fxid"] = "mp_cgo_godray_hazy_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_godray_hazy_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1505.08,-311.935,215.453),(326.891,150.271,-152.074)); + var_00.v["fxid"] = "mp_cgo_godray_hazy_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((2183.98,-147.67,35.4248),(270,0,0)); + var_00.v["fxid"] = "dust_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((2448.32,-281.175,46),(270,0,0)); + var_00.v["fxid"] = "dust_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_floodlight_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1979.65,-214.314,160.152),(358.267,210.015,179)); + var_00.v["fxid"] = "mp_cgo_floodlight_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_floodlight_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2060.48,-343.644,160.336),(358.267,210.015,179)); + var_00.v["fxid"] = "mp_cgo_floodlight_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_floodlight_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2144.7,-489.463,160.277),(358.267,210.015,179)); + var_00.v["fxid"] = "mp_cgo_floodlight_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_floodlight_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2206.52,-597.197,160.896),(358.267,210.015,179)); + var_00.v["fxid"] = "mp_cgo_floodlight_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_floodlight_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1915.1,-91.2884,159.811),(358.267,210.015,179)); + var_00.v["fxid"] = "mp_cgo_floodlight_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_floodlight_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2366.15,169.407,167.21),(1.73202,30.0142,-179)); + var_00.v["fxid"] = "mp_cgo_floodlight_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_floodlight_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2425.26,60.4505,166.62),(1.73202,30.0142,-179)); + var_00.v["fxid"] = "mp_cgo_floodlight_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_floodlight_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2510.68,-87.3175,166.79),(1.73202,30.0142,-179)); + var_00.v["fxid"] = "mp_cgo_floodlight_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_floodlight_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2586.81,-218.66,167.295),(1.73202,30.0142,-179)); + var_00.v["fxid"] = "mp_cgo_floodlight_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_floodlight_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2655.64,-338.117,167.058),(1.73202,30.0142,-179)); + var_00.v["fxid"] = "mp_cgo_floodlight_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_floodlight_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1225.85,341.039,161.421),(22,271.404,-178.921)); + var_00.v["fxid"] = "mp_cgo_floodlight_flare_01"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_floodlight_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1041.76,-389.124,161.731),(22,271.404,-178.921)); + var_00.v["fxid"] = "mp_cgo_floodlight_flare_01"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_floodlight_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1245.92,-470.944,160.121),(22,271.404,-178.921)); + var_00.v["fxid"] = "mp_cgo_floodlight_flare_01"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_floodlight_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1040.67,-247.918,161.652),(25.9359,88.113,177.242)); + var_00.v["fxid"] = "mp_cgo_floodlight_flare_01"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_floodlight_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1224.56,481.345,161.866),(25.9359,88.113,177.242)); + var_00.v["fxid"] = "mp_cgo_floodlight_flare_01"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_floodlight_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1221.94,-332.986,159.922),(25.9359,88.113,177.242)); + var_00.v["fxid"] = "mp_cgo_floodlight_flare_01"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_floodlight_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1578.36,428.19,159.406),(25.9359,88.113,177.242)); + var_00.v["fxid"] = "mp_cgo_floodlight_flare_01"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_floodlight_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1576.95,288.383,160.22),(22,271.404,-178.921)); + var_00.v["fxid"] = "mp_cgo_floodlight_flare_01"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2401.58,-170.681,164.529),(90,0,-29)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2306.24,-7.08124,166.547),(90,0,-29)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2492.23,-322.994,168.622),(90,0,-29)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2281.41,-444.261,164.6),(90,0,-29)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2193.97,-293.419,164.604),(90,0,-29)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2098.41,-126.705,164.634),(90,0,-29)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2599.14,-425.646,178.264),(22.9951,299.423,-179.913)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2517.26,-472.935,178.233),(22.9951,299.423,-179.913)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2392.49,-545.044,178.602),(22.9951,299.423,-179.913)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2309.24,-593.223,178.767),(22.9951,299.423,-179.913)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1086.19,517.403,133.969),(43.5912,271.789,-179.305)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((997.631,519.617,135.059),(43.5912,271.789,-179.305)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((853.35,519.563,135.109),(43.5912,271.789,-179.305)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((765.877,517.498,133.481),(43.5912,271.789,-179.305)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-878.542,143.54,110.242),(14.1835,0.232198,-179.722)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-878.526,51.3393,110.379),(14.1835,0.232198,-179.722)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-394.021,517.274,134.567),(43.5912,271.789,-179.305)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-482.135,517.34,134.424),(43.5912,271.789,-179.305)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-626.243,517.403,134.539),(43.5912,271.789,-179.305)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-713.93,517.303,134.49),(43.5912,271.789,-179.305)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2038.72,-460.808,138.571),(90,357.797,-121.203)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1878.14,-182.267,138.596),(90,3.17983,-117.82)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1514.63,-106.353,168.832),(43.5912,271.789,-179.305)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1735.71,-212.622,123.998),(22.5635,359.358,-179.38)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1999.41,-356.276,124.05),(26.5655,172.241,-176.786)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1996.1,-211.712,124.401),(26.5655,172.241,-176.786)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1988.16,263.458,124.742),(26.5655,172.241,-176.786)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1991.53,407.933,124.848),(26.5655,172.241,-176.786)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2101.52,17.9238,167.425),(26.5655,172.241,-176.786)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_heat_lamp_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1037.77,-800.011,173.569),(359,270,90)); + var_00.v["fxid"] = "mp_cgo_heat_lamp_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_heat_lamp_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1056.9,-797.299,134.395),(359,270,90)); + var_00.v["fxid"] = "mp_cgo_heat_lamp_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_heat_lamp_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1015.95,-803.072,134.725),(359,270,90)); + var_00.v["fxid"] = "mp_cgo_heat_lamp_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_heat_lamp_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((852.713,-826.002,134.569),(359,270,90)); + var_00.v["fxid"] = "mp_cgo_heat_lamp_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_heat_lamp_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((810.015,-832.021,134.978),(359,270,90)); + var_00.v["fxid"] = "mp_cgo_heat_lamp_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_heat_lamp_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((830.774,-829.109,173.695),(359,270,90)); + var_00.v["fxid"] = "mp_cgo_heat_lamp_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_heat_lamp_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-649.981,-715.705,149.803),(359,270,90)); + var_00.v["fxid"] = "mp_cgo_heat_lamp_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_heat_lamp_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-690.214,-703.421,150.413),(359,270,90)); + var_00.v["fxid"] = "mp_cgo_heat_lamp_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_heat_lamp_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-669.344,-709.828,189.794),(359,270,90)); + var_00.v["fxid"] = "mp_cgo_heat_lamp_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_heat_lamp_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-868.955,-648.796,186.625),(359,270,90)); + var_00.v["fxid"] = "mp_cgo_heat_lamp_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_heat_lamp_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-888.028,-642.924,149.731),(359,270,90)); + var_00.v["fxid"] = "mp_cgo_heat_lamp_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_heat_lamp_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-848.067,-655.15,149.983),(359,270,90)); + var_00.v["fxid"] = "mp_cgo_heat_lamp_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((235.003,-688.506,137.711),(25.3881,82.1363,-175.388)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-107.19,-645.841,137.478),(12.4272,81.0759,-175.733)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((473.256,-36.8271,104.833),(43.5912,271.789,-179.305)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((472.631,315.447,101.052),(43.5912,271.789,-179.305)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-319.167,143.122,105.33),(43.5912,271.789,-179.305)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((473.196,229.861,107.039),(44.4059,90.619,-176.844)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((472.823,581.873,100.026),(44.4059,90.619,-176.844)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1057.58,337.102,102.987),(28.0886,180.142,178.092)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1879.71,-745.67,95.101),(25.3812,46.2021,176.52)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-372.447,4.54785,103.544),(29.1704,179.697,179.285)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2112.79,574.665,111.088),(39.1946,292.346,179.242)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2196.29,613.481,111.318),(39.1946,292.346,179.242)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_floodlight_flare_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((2106.86,-337.52,54.6754),(358.764,72.0408,-178.805)); + var_00.v["fxid"] = "mp_cgo_floodlight_flare_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_floodlight_flare_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((2118.86,-341.586,54.2924),(358.764,72.0408,-178.805)); + var_00.v["fxid"] = "mp_cgo_floodlight_flare_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-142.73,-854.297,37.0933),(28.7603,170.563,174.854)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((120.362,-898.644,36.6501),(12.801,348.897,179.768)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((998.149,-867.936,30.5935),(29.0696,186.565,178.63)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1981.75,602.206,106.611),(28.2165,204.788,176.423)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2099.82,-465.266,289.855),(24.2662,210.388,-178.036)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_cgo_fluorescent_flare_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2651.72,-152.401,338.107),(24.6882,30.5256,-178.509)); + var_00.v["fxid"] = "mp_cgo_fluorescent_flare_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("mp_cgo_ocean_wave_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1989.39,1299.9,-94),(0,0,0)); + var_00.v["fxid"] = "mp_cgo_ocean_wave_01"; + var_00.v["delay"] = 0.3; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("mp_cgo_snow_geyser_blast"); + var_00 common_scripts\_createfx::set_origin_and_angles((1805.13,711.848,14.1769),(270,180,89)); + var_00.v["fxid"] = "mp_cgo_snow_geyser_blast"; + var_00.v["delay"] = 0.25; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("mp_cgo_snow_geyser_blast"); + var_00 common_scripts\_createfx::set_origin_and_angles((1578.34,670.788,16),(270,0,-92)); + var_00.v["fxid"] = "mp_cgo_snow_geyser_blast"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("mp_cgo_snow_geyser_blast"); + var_00 common_scripts\_createfx::set_origin_and_angles((2022.36,658.201,15.486),(270,180,94)); + var_00.v["fxid"] = "mp_cgo_snow_geyser_blast"; + var_00.v["delay"] = 0.5; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("mp_cgo_snow_geyser_blast"); + var_00 common_scripts\_createfx::set_origin_and_angles((2188.84,670.542,16.8593),(270.472,177.544,99)); + var_00.v["fxid"] = "mp_cgo_snow_geyser_blast"; + var_00.v["delay"] = 0.75; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("mp_cgo_snow_geyser_blast"); + var_00 common_scripts\_createfx::set_origin_and_angles((2445.71,711.243,21.8449),(270,0,-76)); + var_00.v["fxid"] = "mp_cgo_snow_geyser_blast"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("mp_cgo_snow_geyser_blast"); + var_00 common_scripts\_createfx::set_origin_and_angles((1593.3,698.181,16),(270,0,8)); + var_00.v["fxid"] = "mp_cgo_snow_geyser_blast"; + var_00.v["delay"] = 0.5; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("mp_cgo_snow_geyser_blast"); + var_00 common_scripts\_createfx::set_origin_and_angles((1565.21,925.604,9.45373),(270,0,23)); + var_00.v["fxid"] = "mp_cgo_snow_geyser_blast"; + var_00.v["delay"] = 0.75; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("mp_cgo_snow_geyser_blast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1056.48,676.254,15.9986),(271.552,13.2405,0)); + var_00.v["fxid"] = "mp_cgo_snow_geyser_blast"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("mp_cgo_snow_geyser_blast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1080.69,847.057,15.7389),(274.876,90.3127,-111)); + var_00.v["fxid"] = "mp_cgo_snow_geyser_blast"; + var_00.v["delay"] = 0.25; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("mp_cgo_snow_geyser_blast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1095.36,673.877,16),(270,0,91)); + var_00.v["fxid"] = "mp_cgo_snow_geyser_blast"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("mp_cgo_snow_geyser_blast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1340,708.599,5.22392),(276.974,29.0511,59)); + var_00.v["fxid"] = "mp_cgo_snow_geyser_blast"; + var_00.v["delay"] = 0.25; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("mp_cgo_snow_geyser_blast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1544.42,695.746,16),(270,0,101)); + var_00.v["fxid"] = "mp_cgo_snow_geyser_blast"; + var_00.v["delay"] = 0.5; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("mp_cgo_snow_geyser_blast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1764.5,661.01,15.4107),(271.18,191.492,-101)); + var_00.v["fxid"] = "mp_cgo_snow_geyser_blast"; + var_00.v["delay"] = 0.75; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("mp_cgo_snow_geyser_blast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1962.67,682.247,5.81416),(274.812,276.859,168.952)); + var_00.v["fxid"] = "mp_cgo_snow_geyser_blast"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("mp_cgo_snow_geyser_blast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2268.52,642.551,-2.89349),(270.887,181.975,-90)); + var_00.v["fxid"] = "mp_cgo_snow_geyser_blast"; + var_00.v["delay"] = 1.25; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("mp_cgo_snow_geyser_blast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2470.76,631.321,-7.45306),(271.281,174.709,-87)); + var_00.v["fxid"] = "mp_cgo_snow_geyser_blast"; + var_00.v["delay"] = 1.5; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("mp_cgo_snow_geyser_blast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2697.74,643.26,-8.00001),(270,0,77)); + var_00.v["fxid"] = "mp_cgo_snow_geyser_blast"; + var_00.v["delay"] = 1.75; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("mp_cgo_snow_geyser_blast"); + var_00 common_scripts\_createfx::set_origin_and_angles((1223.09,678.986,4.18839),(270,0,-92)); + var_00.v["fxid"] = "mp_cgo_snow_geyser_blast"; + var_00.v["delay"] = 0.25; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("mp_cgo_snow_geyser_blast"); + var_00 common_scripts\_createfx::set_origin_and_angles((976.756,710.64,15.6902),(270,0,-92)); + var_00.v["fxid"] = "mp_cgo_snow_geyser_blast"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("mp_cgo_snow_geyser_blast"); + var_00 common_scripts\_createfx::set_origin_and_angles((963.546,704.208,15.2349),(270,0,88)); + var_00.v["fxid"] = "mp_cgo_snow_geyser_blast"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("mp_cgo_snow_geyser_blast"); + var_00 common_scripts\_createfx::set_origin_and_angles((678.751,683.589,13.4831),(270,0,90)); + var_00.v["fxid"] = "mp_cgo_snow_geyser_blast"; + var_00.v["delay"] = 0.25; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("mp_cgo_snow_geyser_blast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-561.292,699.005,11.8974),(270,0,90)); + var_00.v["fxid"] = "mp_cgo_snow_geyser_blast"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("mp_cgo_snow_geyser_blast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-548.083,705.437,12.3526),(270,0,-90)); + var_00.v["fxid"] = "mp_cgo_snow_geyser_blast"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("mp_cgo_snow_geyser_blast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-281.57,705.526,14.6666),(270,180,86)); + var_00.v["fxid"] = "mp_cgo_snow_geyser_blast"; + var_00.v["delay"] = 0.25; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("mp_cgo_snow_geyser_blast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-807.018,690.02,13.2233),(270,0,90)); + var_00.v["fxid"] = "mp_cgo_snow_geyser_blast"; + var_00.v["delay"] = 0.25; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("mp_cgo_snow_geyser_blast"); + var_00 common_scripts\_createfx::set_origin_and_angles((470.881,697.958,16),(270,0,100)); + var_00.v["fxid"] = "mp_cgo_snow_geyser_blast"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("mp_cgo_snow_geyser_blast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-0.713074,654.876,16),(270,0,-87)); + var_00.v["fxid"] = "mp_cgo_snow_geyser_blast"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("mp_cgo_snow_geyser_blast"); + var_00 common_scripts\_createfx::set_origin_and_angles((528.525,769.452,16),(270,0,0)); + var_00.v["fxid"] = "mp_cgo_snow_geyser_blast"; + var_00.v["delay"] = 0.1; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("mp_cgo_snow_geyser_blast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-58.9756,760.524,16),(270,0,17)); + var_00.v["fxid"] = "mp_cgo_snow_geyser_blast"; + var_00.v["delay"] = 0.1; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("mp_cgo_snow_geyser_blast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-96.7451,927.99,7.02531),(273.342,90,-103)); + var_00.v["fxid"] = "mp_cgo_snow_geyser_blast"; + var_00.v["delay"] = 0.75; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("mp_cgo_ocean_wave_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1816.72,1066.24,-80),(0,12,0)); + var_00.v["fxid"] = "mp_cgo_ocean_wave_01"; + var_00.v["delay"] = 0.3; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("mp_cgo_ocean_wave_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((813.192,1038.24,-94),(0,352,0)); + var_00.v["fxid"] = "mp_cgo_ocean_wave_01"; + var_00.v["delay"] = 0.3; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("mp_cgo_ocean_wave_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-541.126,1000.46,-80),(0,15,0)); + var_00.v["fxid"] = "mp_cgo_ocean_wave_01"; + var_00.v["delay"] = 0.3; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("mp_cgo_ocean_wave_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((152.027,1174.62,-80),(0,360,0)); + var_00.v["fxid"] = "mp_cgo_ocean_wave_01"; + var_00.v["delay"] = 0.3; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("mp_cgo_lrg_ice_break_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((228.064,1069.77,-65.875),(270,0,-1)); + var_00.v["fxid"] = "mp_cgo_lrg_ice_break_splash"; + var_00.v["delay"] = 0.65; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("mp_cgo_lrg_ice_break_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-96.4552,1052.53,-31.875),(270,0,-1)); + var_00.v["fxid"] = "mp_cgo_lrg_ice_break_splash"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("mp_cgo_lrg_ice_break_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((542.103,987.289,-80),(270,0,-1)); + var_00.v["fxid"] = "mp_cgo_lrg_ice_break_splash"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("mp_cgo_lrg_ice_break_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((667.51,914.385,-61.875),(270,0,-1)); + var_00.v["fxid"] = "mp_cgo_lrg_ice_break_splash"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("mp_cgo_lrg_ice_break_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((1193.58,967.78,-59.875),(270,0,-1)); + var_00.v["fxid"] = "mp_cgo_lrg_ice_break_splash"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("mp_cgo_lrg_ice_break_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((1856.76,1020.72,-74.875),(270,0,-1)); + var_00.v["fxid"] = "mp_cgo_lrg_ice_break_splash"; + var_00.v["delay"] = 0.9; + var_00.v["exploder"] = "3"; + var_00.v["soundalias"] = "iceberg_cargo_splash"; + var_00 = common_scripts\utility::createexploder("mp_cgo_lrg_ice_break_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((2350.87,921.009,-61.875),(270,0,-1)); + var_00.v["fxid"] = "mp_cgo_lrg_ice_break_splash"; + var_00.v["delay"] = 0.9; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("mp_cgo_lrg_ice_break_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-434.261,920.348,-62.875),(270,0,-1)); + var_00.v["fxid"] = "mp_cgo_lrg_ice_break_splash"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("mp_cgo_lrg_ice_break_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-938.546,928.083,-66.875),(270,0,-1)); + var_00.v["fxid"] = "mp_cgo_lrg_ice_break_splash"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("mp_cgo_lrg_ice_break_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1394.12,1025.83,-58.875),(270,0,-1)); + var_00.v["fxid"] = "mp_cgo_lrg_ice_break_splash"; + var_00.v["delay"] = 1.2; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("mp_cgo_lrg_ice_break_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2077.1,924.938,-59.875),(270,0,-1)); + var_00.v["fxid"] = "mp_cgo_lrg_ice_break_splash"; + var_00.v["delay"] = 1.2; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("mp_cgo_falling_object_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((1622.7,733.901,-70.875),(270,0,-1)); + var_00.v["fxid"] = "mp_cgo_falling_object_splash"; + var_00.v["delay"] = 8.5; + var_00.v["exploder"] = "3"; + var_00.v["soundalias"] = "iceberg_cargo_splash"; + var_00 = common_scripts\utility::createexploder("mp_cgo_falling_object_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((1999.97,738.128,-88.875),(270,0,-1)); + var_00.v["fxid"] = "mp_cgo_falling_object_splash"; + var_00.v["delay"] = 13.5; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("mp_cgo_falling_object_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((2112.19,782.46,-81.875),(270,0,-1)); + var_00.v["fxid"] = "mp_cgo_falling_object_splash"; + var_00.v["delay"] = 14; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("mp_cgo_falling_object_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1575.22,760.884,-76.875),(270,0,-1)); + var_00.v["fxid"] = "mp_cgo_falling_object_splash"; + var_00.v["delay"] = 13.5; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("mp_cgo_falling_object_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1508.43,769.817,-76.875),(270,0,-1)); + var_00.v["fxid"] = "mp_cgo_falling_object_splash"; + var_00.v["delay"] = 14; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("mp_cgo_falling_object_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((175.52,710.912,-82.875),(270,0,-1)); + var_00.v["fxid"] = "mp_cgo_falling_object_splash"; + var_00.v["delay"] = 9.5; + var_00.v["exploder"] = "1"; + var_00.v["soundalias"] = "iceberg_cargo_splash"; + var_00 = common_scripts\utility::createexploder("mp_cgo_iceberg_foam_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((2322.8,1093.73,-73.7358),(270,0,178)); + var_00.v["fxid"] = "mp_cgo_iceberg_foam_1"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "11"; + var_00 = common_scripts\utility::createexploder("mp_cgo_iceberg_foam_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1236.57,973.315,-78),(270,0,-173)); + var_00.v["fxid"] = "mp_cgo_iceberg_foam_1"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("mp_cgo_iceberg_foam_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((498.966,1091.24,-78.7807),(270,0,-145)); + var_00.v["fxid"] = "mp_cgo_iceberg_foam_1"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "13"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1272.06,-733.801,3.06218),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1290.52,-1093.63,-56.7681),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1235.69,-1322.97,-64.9951),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2341,529.586,18.9203),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((58.3442,537.81,15.9905),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((58.4044,201.918,89.5568),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((193.234,516.038,15.8971),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2780.11,228.566,16.2817),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1564.68,409.05,17.8018),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1951.74,501.95,30),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2098.94,96.6301,37.4783),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2003.77,567.621,24.9774),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1027.99,462.393,24.6407),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1455.65,210.492,67.2852),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1133.5,528.875,168.255),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_catwalk_creaks_frac"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((812.383,104.471,249.587),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_catwalk_creaks_frac"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((817.379,-456.157,268.119),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_catwalk_creaks_frac"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((624.569,-759.895,280.299),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_catwalk_creaks_frac"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-730.967,-1227.48,272.593),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_catwalk_creaks_frac"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((335.947,-1451.27,358.98),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_catwalk_creaks_frac"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-404.467,-1303.51,145.305),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_catwalk_creaks_frac"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1365.7,-976.238,246.444),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_catwalk_creaks_frac"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1628.46,-104,331.485),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_catwalk_creaks_frac"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1562.93,119.252,268.619),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_catwalk_creaks_frac"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-593.166,537.125,364.11),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_catwalk_creaks_frac"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-722.446,228.522,417.953),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_catwalk_creaks_frac"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2741.59,516.452,412.351),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_catwalk_creaks_frac"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1044.99,-739.849,330.331),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dist_servo_run_frac"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-638.052,-121.373,208.484),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dist_servo_run_frac"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-449.468,-675.452,293.828),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dist_servo_run_frac"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1495.19,-92.8566,307.596),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dist_servo_run_frac"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1400,83.359,190.333),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dist_servo_run_frac"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1560.88,517.369,222.906),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dist_servo_run_frac"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-408.754,537.125,245.142),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dist_servo_run_frac"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2182.17,62.7155,263.334),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dist_servo_run_frac"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1015.92,528.875,245.127),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dist_servo_run_frac"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2447.17,188.149,311.014),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dist_servo_run_frac"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((709.179,609.297,432.531),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dist_servo_run_frac"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1128.26,-1381.8,619.588),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dist_servo_run_frac"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-463.25,-1508,306.819),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dist_servo_run_frac"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((276.023,-1516.42,214.34),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dist_servo_run_frac"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-808.63,-1354.51,298.412),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dist_servo_run_frac"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-683.835,528.875,259.2),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dist_servo_run_frac"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-412.788,528.875,324.028),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dist_servo_run_frac"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_greenband_fx.gsc b/AW/PC/maps/createfx/mp_greenband_fx.gsc new file mode 100644 index 0000000..42c5464 --- /dev/null +++ b/AW/PC/maps/createfx/mp_greenband_fx.gsc @@ -0,0 +1,3201 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_greenband_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 206 ms + * Timestamp: 4/22/2024 2:07:37 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1402,405,155),(270,0,0)); + var_00.v["soundalias"] = "emt_gnb_aquarium_bbls"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1402,405,55),(270,0,0)); + var_00.v["soundalias"] = "emt_gnb_aquarium_gen"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1402,405,55),(270,0,0)); + var_00.v["soundalias"] = "emt_gnb_aquarium_gen_close"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1479.34,-843.612,-95),(270,0,0)); + var_00.v["soundalias"] = "emt_gnb_stream_drain_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1402,405,1000),(270,0,0)); + var_00.v["soundalias"] = "emt_gnb_aquarium_gen_dist"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-320,-888,-1),(270,0,0)); + var_00.v["soundalias"] = "emt_gnb_stream_med_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1965,1175,116),(270,0,0)); + var_00.v["soundalias"] = "emt_gnb_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1965,1312,116),(270,0,0)); + var_00.v["soundalias"] = "emt_gnb_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1965,1441,116),(270,0,0)); + var_00.v["soundalias"] = "emt_gnb_vent_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1965,1575,116),(270,0,0)); + var_00.v["soundalias"] = "emt_gnb_vent_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1911,1391,55),(270,0,0)); + var_00.v["soundalias"] = "emt_gnb_gen_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1049.69,-351.883,82),(270,0,0)); + var_00.v["soundalias"] = "mus_gnb_patio"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2209.3,401.374,387.892),(270,0,0)); + var_00.v["soundalias"] = "fountain_indoor_near_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2130.67,399.342,403.208),(270,0,0)); + var_00.v["soundalias"] = "fountain_indoor_dist_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1088.78,1283.62,71.0466),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((789.451,1313.03,80.4707),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((265.269,1512.31,59.0419),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1317.83,1311.13,59.8496),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1463.56,1577.85,60.7099),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((184,1272.54,50.3996),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((30.4785,1592.97,54.0552),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((84,1248,50.7234),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-287.169,1447,100.622),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1054.22,685,137.819),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-314.844,388.483,117.77),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-314.844,388.483,117.77),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1268,494.592,124),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-105.946,859.5,124.607),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1053.03,349,134.444),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-485.139,744,120.324),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((169.833,469.555,120.472),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1219.54,-501,96.1525),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1907.96,-662.753,216),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1256.29,-213,115.584),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-46.6167,-276.961,122.897),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-905.038,-543,94.7395),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-29,-691.05,114.275),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1054.75,1756.84,243.543),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_lrg_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-109.007,629.869,205.526),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_lrg_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1864.12,-849.485,282),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-940.821,-566.011,129.5),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1318.88,2172.7,100),(270,0,0)); + var_00.v["soundalias"] = "wind_whistle_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((289.652,2381.97,163.408),(270,0,0)); + var_00.v["soundalias"] = "wind_whistle_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1143.59,2205.27,163.71),(270,0,0)); + var_00.v["soundalias"] = "wind_whistle_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1674.53,-1155.29,109.49),(270,0,0)); + var_00.v["soundalias"] = "wind_whistle_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-673.304,-1199.32,130.695),(270,0,0)); + var_00.v["soundalias"] = "wind_whistle_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((918.003,-1024.66,75.5864),(270,0,0)); + var_00.v["soundalias"] = "wind_whistle_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-149.439,-1092.01,129.95),(270,0,0)); + var_00.v["soundalias"] = "wind_whistle_med_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1159.22,-1056.68,125.737),(270,0,0)); + var_00.v["soundalias"] = "wind_whistle_med_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-254.654,2294.76,186.908),(270,0,0)); + var_00.v["soundalias"] = "wind_whistle_med_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((707.722,2151.8,132.058),(270,0,0)); + var_00.v["soundalias"] = "wind_whistle_med_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1175.18,1045.53,119.952),(270,0,0)); + var_00.v["soundalias"] = "wind_howl_light_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1895.42,4.25697,217.43),(270,0,0)); + var_00.v["soundalias"] = "wind_howl_light_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((978.903,1691.69,119.875),(270,0,0)); + var_00.v["soundalias"] = "wind_howl_light_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1774.54,1699.68,87.0484),(270,0,0)); + var_00.v["soundalias"] = "wind_howl_light_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1393.38,994.81,124.875),(270,0,0)); + var_00.v["soundalias"] = "wind_howl_light_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((801.906,-507.09,125),(270,0,0)); + var_00.v["soundalias"] = "wind_howl_light_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-168.126,471.777,129.772),(270,0,0)); + var_00.v["soundalias"] = "wind_howl_light_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((51.37,-511.633,148),(270,0,0)); + var_00.v["soundalias"] = "wind_howl_heavy_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-841.12,1699.82,87.875),(270,0,0)); + var_00.v["soundalias"] = "wind_howl_heavy_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-368.085,1709.28,87.875),(270,0,0)); + var_00.v["soundalias"] = "wind_howl_light_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1429.5,515.487,131.875),(270,0,0)); + var_00.v["soundalias"] = "wind_howl_light_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1393.6,1439.89,229.186),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-853.695,-266.979,161.5),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1712.65,-608.394,225.698),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1289.43,1197.88,96.7317),(270,0,0)); + var_00.v["soundalias"] = "wind_howl_heavy_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((992.363,-332.048,88.7238),(270,0,0)); + var_00.v["soundalias"] = "wind_howl_heavy_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1269.44,-642.152,-3),(270,0,0)); + var_00.v["soundalias"] = "wind_howl_heavy_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((208.371,1601.44,260),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_lrg_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((120.514,1511.15,270.528),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1214.1,1473.06,251),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_lrg_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-140.567,601.587,199.268),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((295.321,969.032,119.125),(270,0,0)); + var_00.v["soundalias"] = "wind_tunnel_int_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-492.515,93.3457,120.125),(270,0,0)); + var_00.v["soundalias"] = "wind_tunnel_int_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-780.339,557.391,116.125),(270,0,0)); + var_00.v["soundalias"] = "wind_door_heavy_int_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-409.875,1899.69,25.3236),(270,0,0)); + var_00.v["soundalias"] = "wind_door_heavy_int_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2791.88,458.88,235.54),(270,0,0)); + var_00.v["soundalias"] = "alarm_elevator_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1189.3,-747.4,1.03425),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1186.5,-710.669,4.20039),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-979.458,-741.311,-1.87498),(270,0,0)); + var_00.v["soundalias"] = "water_flow_sml_lp_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-776.274,-723.006,19.8262),(270,0,0)); + var_00.v["soundalias"] = "water_flow_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-392.999,-885.075,-1.87499),(270,0,0)); + var_00.v["soundalias"] = "water_flow_sml_lp_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((598.861,-854.182,-97.875),(270,0,0)); + var_00.v["soundalias"] = "water_flow_sml_lp_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-593.489,-888.88,-1.875),(270,0,0)); + var_00.v["soundalias"] = "water_flow_sml_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-217.617,-850.443,35.2681),(270,0,0)); + var_00.v["soundalias"] = "water_flow_sml_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3.58138,-853.328,-1.32915),(270,0,0)); + var_00.v["soundalias"] = "water_flow_sml_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((799.718,-847.065,-80.7326),(270,0,0)); + var_00.v["soundalias"] = "water_flow_sml_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1035.57,-858.288,-97.875),(270,0,0)); + var_00.v["soundalias"] = "water_flow_sml_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1274.97,-861.928,-97.875),(270,0,0)); + var_00.v["soundalias"] = "water_flow_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((406.216,-855.243,-97.875),(270,0,0)); + var_00.v["soundalias"] = "water_flow_sml_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-865.781,-288,33.8488),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-830.948,-288,37.1363),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((504.404,-557.683,1.59546),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((443.799,-267.067,-33),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((203.472,-374.594,-33),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((192.391,-649.773,-33),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((364.508,-335.5,-76.2564),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((270.5,-410.673,-89.9355),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((270.5,-675.336,-85.56),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((250.5,-842.059,-92.1432),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((142.5,-849.548,-28.3626),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_06"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1823.49,-30.9507,225.125),(270,0,0)); + var_00.v["soundalias"] = "canvas_flap_large_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((179.602,1583.78,334),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-536.893,-440.882,33.5255),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-574.497,-487.526,38.7324),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-437.044,-443.45,40.0396),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-397.174,-492.83,39.4263),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-403.698,-659.26,38.9798),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-437.38,-701.101,42.23),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-541.033,-698.588,41.3825),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-573.016,-658.964,42.9834),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-555.33,-466.853,194.112),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-417.601,-472.574,195.232),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-421.277,-671.291,195.993),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-549.515,-679.221,195.998),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-490.597,-567.406,202.962),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-494.01,-583.735,210.272),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-498.188,-568.503,207.48),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1538.46,-866.753,-98.494),(270,0,0)); + var_00.v["soundalias"] = "water_flow_sml_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1846,1221.52,110.632),(270,0,0)); + var_00.v["soundalias"] = "emt_gnb_aquarium_gen_close"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1846,1530.49,69.8802),(270,0,0)); + var_00.v["soundalias"] = "emt_gnb_aquarium_bbls"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1290.84,886.166,53.9203),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1079.27,870.5,11.5682),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1081.5,1220.93,16.6707),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1290.49,1233.19,72.5636),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1494.5,1222.2,34.9442),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-761.5,1886.54,-35.4547),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-410.5,1889.71,-42.3846),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-410.5,1889.61,-42.4752),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-479.319,-584.322,212.59),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-470.317,-579.579,212.607),(270,0,0)); + var_00.v["soundalias"] = "water_pour_sml_lp_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-383.489,-577.651,198),(270,0,0)); + var_00.v["soundalias"] = "water_flow_sml_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-568.158,-574.074,209.854),(270,0,0)); + var_00.v["soundalias"] = "water_flow_sml_lp_05"; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_godray_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1627.5,1364.52,374.531),(26.6891,225.739,-2.61445)); + var_00.v["fxid"] = "mp_gb_godray_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterbubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1303.08,488.905,30.5405),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterbubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterbubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1281.59,369.395,48.7572),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterbubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterbubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1364.8,310.947,64.4963),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterbubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterbubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1491.02,325.87,36.5019),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterbubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterbubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1512.85,391.813,31.0009),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterbubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterbubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1502.47,498.655,34.8842),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterbubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterbubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1417.7,544.692,33.797),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterbubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterbubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1356.57,531.441,31.4714),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterbubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_chimney"); + var_00 common_scripts\_createfx::set_origin_and_angles((2056.79,7475.9,-1264.16),(270,0,89.3812)); + var_00.v["fxid"] = "mp_gb_chimney"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_chimney"); + var_00 common_scripts\_createfx::set_origin_and_angles((1801.9,7489.13,-1268.41),(270,0,89.3812)); + var_00.v["fxid"] = "mp_gb_chimney"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_godray_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1545.75,1150.29,347.475),(26.6892,225.739,-2.6145)); + var_00.v["fxid"] = "mp_gb_godray_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_godray_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1620.67,1235.22,489.937),(30.6848,225.527,-2.71624)); + var_00.v["fxid"] = "mp_gb_godray_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_godray_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1778.73,975.657,578.375),(33.6815,225.356,-2.80718)); + var_00.v["fxid"] = "mp_gb_godray_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_godray_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2070.98,802.74,578.375),(29.6859,225.582,-2.6888)); + var_00.v["fxid"] = "mp_gb_godray_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_godray_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1543.63,800.41,322.646),(27.6882,225.687,-2.63795)); + var_00.v["fxid"] = "mp_gb_godray_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_leaf_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1002.93,1320.78,184.203),(270,0,0)); + var_00.v["fxid"] = "mp_gb_leaf_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_wind_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1268,478.638,115.655),(270,0,-95)); + var_00.v["fxid"] = "mp_gb_wind_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_wind_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17.1563,703,153.389),(270,0,-95)); + var_00.v["fxid"] = "mp_gb_wind_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_wind_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-107.682,1423.8,66),(270,0,-95)); + var_00.v["fxid"] = "mp_gb_wind_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_wind_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((418.845,-561.849,81.1974),(270,0,-95)); + var_00.v["fxid"] = "mp_gb_wind_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_wind_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((653.164,-1104.37,-82.875),(270,0,-95)); + var_00.v["fxid"] = "mp_gb_wind_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_wind_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1297.26,-1215.36,58),(270,0,-95)); + var_00.v["fxid"] = "mp_gb_wind_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gnb_sign_floater3_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((358.648,-5603.19,541.208),(0,90,0)); + var_00.v["fxid"] = "mp_gnb_sign_floater3_runner"; + var_00.v["delay"] = -61; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_leaf_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1925.48,-312.329,333.793),(270,0,0)); + var_00.v["fxid"] = "mp_gb_leaf_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_watersteps"); + var_00 common_scripts\_createfx::set_origin_and_angles((177.92,-841.36,-37.8056),(0,0,0)); + var_00.v["fxid"] = "mp_gb_watersteps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_watersteps"); + var_00 common_scripts\_createfx::set_origin_and_angles((210.51,-847.052,-64.1464),(0,0,0)); + var_00.v["fxid"] = "mp_gb_watersteps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_watersteps"); + var_00 common_scripts\_createfx::set_origin_and_angles((140.569,-842.864,-20.4274),(0,3,0)); + var_00.v["fxid"] = "mp_gb_watersteps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((219.872,-694.967,-61.6782),(270,0,-179)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((334.76,-286.495,-60.6079),(270,0,91)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((336.822,-231.587,-33.1536),(270,0,-90)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((222.509,-384.987,-61),(270,0,-179)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_watersteps"); + var_00 common_scripts\_createfx::set_origin_and_angles((216.868,-682.073,-36.3648),(0,0,0)); + var_00.v["fxid"] = "mp_gb_watersteps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_watersteps"); + var_00 common_scripts\_createfx::set_origin_and_angles((265.861,-684.546,-62.9479),(0,0,0)); + var_00.v["fxid"] = "mp_gb_watersteps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_watersteps"); + var_00 common_scripts\_createfx::set_origin_and_angles((159.506,-677.794,-1.3592),(0,0,0)); + var_00.v["fxid"] = "mp_gb_watersteps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_watersteps"); + var_00 common_scripts\_createfx::set_origin_and_angles((422.052,-332.505,-63.9163),(0,270,0)); + var_00.v["fxid"] = "mp_gb_watersteps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_watersteps"); + var_00 common_scripts\_createfx::set_origin_and_angles((344.167,-332.169,-65.1157),(0,270,0)); + var_00.v["fxid"] = "mp_gb_watersteps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_watersteps"); + var_00 common_scripts\_createfx::set_origin_and_angles((338.058,-285.505,-36.8713),(0,270,0)); + var_00.v["fxid"] = "mp_gb_watersteps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_watersteps"); + var_00 common_scripts\_createfx::set_origin_and_angles((419.131,-281.225,-37.2522),(0,270,0)); + var_00.v["fxid"] = "mp_gb_watersteps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_watercurtain"); + var_00 common_scripts\_createfx::set_origin_and_angles((-827.488,-290.174,113.735),(0,90,0)); + var_00.v["fxid"] = "mp_gb_watercurtain"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-842.077,-293.178,26.125),(271,269.9,-179.902)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_watercurtain"); + var_00 common_scripts\_createfx::set_origin_and_angles((-860.204,-292.614,111),(0,90,0)); + var_00.v["fxid"] = "mp_gb_watercurtain"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((221.945,-652.572,-60.8528),(270,0,-179)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((166.543,-695.057,-33.1318),(270,0,-179)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((166.94,-650.555,-33.33),(270,0,-179)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((436.113,-287.881,-61.3008),(270,0,91)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((445.843,-232.648,-40),(270,0,91)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((165.902,-391.087,-32.8113),(270,0,-179)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_wind_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-452.438,-521.978,198.5),(270,0,-95)); + var_00.v["fxid"] = "mp_gb_wind_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_wind_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1233.85,-722.132,91.652),(270,0,-95)); + var_00.v["fxid"] = "mp_gb_wind_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_wind_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-76.6963,1917.16,189),(270,0,-116)); + var_00.v["fxid"] = "mp_gb_wind_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_wind_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((448.208,1882.96,142),(270,0,-95)); + var_00.v["fxid"] = "mp_gb_wind_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_wind_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((937.028,1750.59,161.125),(270,0,-95)); + var_00.v["fxid"] = "mp_gb_wind_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_wind_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-264,1380.36,113.989),(270,0,-95)); + var_00.v["fxid"] = "mp_gb_wind_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_wind_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((269.528,1515.53,100.847),(270,0,-95)); + var_00.v["fxid"] = "mp_gb_wind_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_wind_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1045.75,651,139.83),(270,0,-95)); + var_00.v["fxid"] = "mp_gb_wind_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_wind_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-447.613,785.159,149.5),(270,0,-95)); + var_00.v["fxid"] = "mp_gb_wind_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_wind_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-796.847,-265.795,146.418),(270,0,-95)); + var_00.v["fxid"] = "mp_gb_wind_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_birds_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4316.22,2755.51,3177.9),(358,0,0)); + var_00.v["fxid"] = "mp_gb_birds_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_birds_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2792.7,-5722.99,2867.26),(358,0,0)); + var_00.v["fxid"] = "mp_gb_birds_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_tlight_red_blnk_slw"); + var_00 common_scripts\_createfx::set_origin_and_angles((4160.37,-17769.1,9126.65),(270,0,0)); + var_00.v["fxid"] = "mp_gb_tlight_red_blnk_slw"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_tlight_red_blnk_slw"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7795.77,-380.01,5586.86),(270,0,0)); + var_00.v["fxid"] = "mp_gb_tlight_red_blnk_slw"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_tlight_red_blnk_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7770.61,-270.524,4849.64),(270,0,0)); + var_00.v["fxid"] = "mp_gb_tlight_red_blnk_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_tlight_red_blnk_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((922.351,18450.5,2701.93),(270,0,0)); + var_00.v["fxid"] = "mp_gb_tlight_red_blnk_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_tlight_red_blnk_slw"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3462.53,13745.1,3081.82),(270,0,0)); + var_00.v["fxid"] = "mp_gb_tlight_red_blnk_slw"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_tlight_red_blnk_slw"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3504.91,14242.8,3322.31),(270,0,0)); + var_00.v["fxid"] = "mp_gb_tlight_red_blnk_slw"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_tlight_red_blnk_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6896.63,3502.52,2981.77),(270,0,0)); + var_00.v["fxid"] = "mp_gb_tlight_red_blnk_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_tlight_red_blnk_slw"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6810.06,3440.64,3973.79),(270,0,0)); + var_00.v["fxid"] = "mp_gb_tlight_red_blnk_slw"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_tlight_red_blnk_slw"); + var_00 common_scripts\_createfx::set_origin_and_angles((2437.53,5068.27,1470.91),(270,0,0)); + var_00.v["fxid"] = "mp_gb_tlight_red_blnk_slw"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_tlight_red_blnk_slw"); + var_00 common_scripts\_createfx::set_origin_and_angles((2817.36,4942.53,2059.88),(270,0,0)); + var_00.v["fxid"] = "mp_gb_tlight_red_blnk_slw"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_tlight_white_blnk_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((4284.84,-18023.6,10186.4),(270,0,0)); + var_00.v["fxid"] = "mp_gb_tlight_white_blnk_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_tlight_white_blnk_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3591.4,14453.3,4154.76),(270,0,0)); + var_00.v["fxid"] = "mp_gb_tlight_white_blnk_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_tlight_white_blnk_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((840.511,18659.6,3539.77),(270,0,0)); + var_00.v["fxid"] = "mp_gb_tlight_white_blnk_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_tlight_white_blnk_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((9465.98,-22501.8,10368.6),(270,0,0)); + var_00.v["fxid"] = "mp_gb_tlight_white_blnk_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_tlight_white_blnk_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4328.52,-4112.79,6245.64),(270,0,0)); + var_00.v["fxid"] = "mp_gb_tlight_white_blnk_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_birds_takeoff_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1688.7,7678.84,-1788.83),(270,0,105)); + var_00.v["fxid"] = "mp_gb_birds_takeoff_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_birds_takeoff_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1913.02,5331.99,555.343),(270,0,143)); + var_00.v["fxid"] = "mp_gb_birds_takeoff_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_birds_takeoff_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3056.31,2630.24,472),(270,0,170)); + var_00.v["fxid"] = "mp_gb_birds_takeoff_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_birds_takeoff_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2284.72,-4507.13,-1308.73),(270,0,66)); + var_00.v["fxid"] = "mp_gb_birds_takeoff_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_birds_takeoff_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2269.5,-1482.42,941.688),(270,0,-21)); + var_00.v["fxid"] = "mp_gb_birds_takeoff_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_tlight_red_blnk_slw"); + var_00 common_scripts\_createfx::set_origin_and_angles((7129.82,-5715.39,347.328),(270,0,0)); + var_00.v["fxid"] = "mp_gb_tlight_red_blnk_slw"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_wind_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1844.74,-799.923,69.5),(270,0,-95)); + var_00.v["fxid"] = "mp_gb_wind_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_wind_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2019.92,-496.273,108.125),(270,0,-140)); + var_00.v["fxid"] = "mp_gb_wind_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_wind_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1325.03,-364.073,84),(270,0,-95)); + var_00.v["fxid"] = "mp_gb_wind_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_birds_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1092.54,7481.09,-232.973),(358,0,0)); + var_00.v["fxid"] = "mp_gb_birds_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_birds_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2800.19,-7481.58,-1313.69),(340,0,0)); + var_00.v["fxid"] = "mp_gb_birds_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_birds_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1566.54,-11991.6,4883.04),(340,0,0)); + var_00.v["fxid"] = "mp_gb_birds_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterfall"); + var_00 common_scripts\_createfx::set_origin_and_angles((2212.08,315.276,392.972),(359.389,180,0)); + var_00.v["fxid"] = "mp_gb_waterfall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterfall"); + var_00 common_scripts\_createfx::set_origin_and_angles((2205.62,529.553,402.898),(359.389,180,0)); + var_00.v["fxid"] = "mp_gb_waterfall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterfall"); + var_00 common_scripts\_createfx::set_origin_and_angles((2212.97,424.904,403.616),(359.389,180,0)); + var_00.v["fxid"] = "mp_gb_waterfall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterfall"); + var_00 common_scripts\_createfx::set_origin_and_angles((2341.94,412.3,523.051),(359.389,180,0)); + var_00.v["fxid"] = "mp_gb_waterfall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterfall"); + var_00 common_scripts\_createfx::set_origin_and_angles((2341.49,309.642,524.47),(359.389,180,0)); + var_00.v["fxid"] = "mp_gb_waterfall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterfall"); + var_00 common_scripts\_createfx::set_origin_and_angles((2345.05,523.712,528.761),(359.389,180,0)); + var_00.v["fxid"] = "mp_gb_waterfall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterfall"); + var_00 common_scripts\_createfx::set_origin_and_angles((2439.85,521.505,656.356),(359.389,180,0)); + var_00.v["fxid"] = "mp_gb_waterfall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterfall"); + var_00 common_scripts\_createfx::set_origin_and_angles((2435.93,316.455,649.713),(359.389,180,0)); + var_00.v["fxid"] = "mp_gb_waterfall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterfall"); + var_00 common_scripts\_createfx::set_origin_and_angles((2440.47,425.591,657.37),(359.389,180,0)); + var_00.v["fxid"] = "mp_gb_waterfall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_birds_takeoff_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2375.78,2001.65,894.669),(281.092,82.092,-82.7616)); + var_00.v["fxid"] = "mp_gb_birds_takeoff_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sand_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((289.297,1449.64,0.999996),(272,169,-90)); + var_00.v["fxid"] = "mp_gb_sand_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sand_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((314.126,1354.12,-2.12254),(270,0,111)); + var_00.v["fxid"] = "mp_gb_sand_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sand_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((507.915,1370.06,-2),(270,0,78)); + var_00.v["fxid"] = "mp_gb_sand_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sand_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((345.225,1535.86,-1.99999),(270,0,78)); + var_00.v["fxid"] = "mp_gb_sand_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sand_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-155.112,1597.36,1.3359),(270.006,210.198,-58.3545)); + var_00.v["fxid"] = "mp_gb_sand_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sand_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-853.129,1223.7,-73.0038),(270.006,212.357,-124.514)); + var_00.v["fxid"] = "mp_gb_sand_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sand_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-679.889,1261.58,-73.4531),(270.006,212.357,-124.514)); + var_00.v["fxid"] = "mp_gb_sand_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sand_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-667.614,1340.5,-74),(270.006,212.357,-124.514)); + var_00.v["fxid"] = "mp_gb_sand_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sand_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-184.722,1642.25,-0.643463),(270.006,210.493,-85.6494)); + var_00.v["fxid"] = "mp_gb_sand_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sand_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((426.997,1200.82,-1.87499),(270.006,212.357,-124.514)); + var_00.v["fxid"] = "mp_gb_sand_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_steam_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((1883.91,1403.89,103.733),(0,179,0)); + var_00.v["fxid"] = "mp_gb_steam_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_steam_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((1899.61,1375.39,102.243),(0,179,0)); + var_00.v["fxid"] = "mp_gb_steam_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_steam_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((1895.99,1393.64,33.7414),(23.9831,179.89,2.18755)); + var_00.v["fxid"] = "mp_gb_steam_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_steam_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((1830.34,1577.67,22.2978),(0,179,0)); + var_00.v["fxid"] = "mp_gb_steam_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_steam_haze"); + var_00 common_scripts\_createfx::set_origin_and_angles((1963.82,1415.52,3.125),(270,0,0)); + var_00.v["fxid"] = "mp_gb_steam_haze"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_steam_haze"); + var_00 common_scripts\_createfx::set_origin_and_angles((1908.13,1701.11,0.124992),(270,0,0)); + var_00.v["fxid"] = "mp_gb_steam_haze"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_steam_haze"); + var_00 common_scripts\_createfx::set_origin_and_angles((1963.92,1651.46,77.7748),(270,0,0)); + var_00.v["fxid"] = "mp_gb_steam_haze"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_steam_haze"); + var_00 common_scripts\_createfx::set_origin_and_angles((1972.76,1190.35,95.125),(270,0,0)); + var_00.v["fxid"] = "mp_gb_steam_haze"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_steam_haze"); + var_00 common_scripts\_createfx::set_origin_and_angles((1951.6,1133.2,6.12501),(270,0,0)); + var_00.v["fxid"] = "mp_gb_steam_haze"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_corridor_lights"); + var_00 common_scripts\_createfx::set_origin_and_angles((2040.63,1696.29,130.233),(90,270,0)); + var_00.v["fxid"] = "mp_gb_corridor_lights"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_corridor_lights"); + var_00 common_scripts\_createfx::set_origin_and_angles((2039.6,1559.96,127.233),(90,270,0)); + var_00.v["fxid"] = "mp_gb_corridor_lights"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_corridor_lights"); + var_00 common_scripts\_createfx::set_origin_and_angles((2040.19,1424.17,127.233),(90,270,0)); + var_00.v["fxid"] = "mp_gb_corridor_lights"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_corridor_lights"); + var_00 common_scripts\_createfx::set_origin_and_angles((2040.18,1288.27,127.233),(90,270,0)); + var_00.v["fxid"] = "mp_gb_corridor_lights"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_corridor_lights"); + var_00 common_scripts\_createfx::set_origin_and_angles((2040.18,1151.64,127.233),(90,270,0)); + var_00.v["fxid"] = "mp_gb_corridor_lights"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_teal"); + var_00 common_scripts\_createfx::set_origin_and_angles((-384.216,-885.981,-12.1559),(270,270,0)); + var_00.v["fxid"] = "mp_gb_light_glow_teal"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_teal"); + var_00 common_scripts\_createfx::set_origin_and_angles((-918.089,-289.986,24.8441),(270,270,0)); + var_00.v["fxid"] = "mp_gb_light_glow_teal"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_teal"); + var_00 common_scripts\_createfx::set_origin_and_angles((-770.015,-290.086,24.8441),(270,270,0)); + var_00.v["fxid"] = "mp_gb_light_glow_teal"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_teal"); + var_00 common_scripts\_createfx::set_origin_and_angles((1480.26,-543.601,127.233),(90,90,0)); + var_00.v["fxid"] = "mp_gb_light_glow_teal"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_teal"); + var_00 common_scripts\_createfx::set_origin_and_angles((1480.44,-368.323,127.233),(90,90,0)); + var_00.v["fxid"] = "mp_gb_light_glow_teal"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_teal"); + var_00 common_scripts\_createfx::set_origin_and_angles((1480.03,-179.522,127.233),(90,90,0)); + var_00.v["fxid"] = "mp_gb_light_glow_teal"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_teal"); + var_00 common_scripts\_createfx::set_origin_and_angles((1284.23,-179.384,127.233),(90,90,0)); + var_00.v["fxid"] = "mp_gb_light_glow_teal"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_teal"); + var_00 common_scripts\_createfx::set_origin_and_angles((1152.27,-175.431,127.233),(90,90,0)); + var_00.v["fxid"] = "mp_gb_light_glow_teal"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_teal"); + var_00 common_scripts\_createfx::set_origin_and_angles((1024.2,-123.999,127.233),(90,90,0)); + var_00.v["fxid"] = "mp_gb_light_glow_teal"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_teal"); + var_00 common_scripts\_createfx::set_origin_and_angles((896.187,-49.8922,127.233),(90,90,0)); + var_00.v["fxid"] = "mp_gb_light_glow_teal"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2137.97,492.483,254.225),(79.3,360,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2137.75,564.023,254.266),(79.1,360,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2137.63,628.248,254.276),(82.3,0,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2137.63,628.249,254.276),(82.3,0,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2137.79,763.281,254.253),(81.5486,3.86813,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2273.97,692.631,235.744),(78.5,90,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2273.91,628.113,232.238),(82.3,0,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2273.8,564.056,235.805),(78.9,270,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2399.84,564.378,235.242),(78.5,270,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2399.99,628.59,232.715),(78.5,180,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2273.38,764.709,250.26),(78.2,90,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2399.89,764.387,250.196),(78.9,90,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2537.91,764.596,255.703),(79.3,180,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2537.67,693.066,255.656),(79.1,180,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2538.74,628.877,255.867),(78.5,180,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2536.39,564.613,255.293),(79.5,180,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2536.03,493.908,255.225),(81.5486,183.868,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2400.49,492.419,250.233),(78.2,270,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2274.44,492.273,250.263),(78.9,270,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2400.17,693.149,235.846),(78.9,90,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2503.32,1286.73,286.733),(90,90,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2439.05,1287.27,286.733),(90,90,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2946.58,876.3,125.233),(90,90,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3010.47,876.438,125.233),(90,90,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3138.47,875.899,125.233),(90,90,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3203.58,876.229,125.233),(90,90,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3202.56,1003.49,125.233),(90,90,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3139.54,1004.83,125.233),(90,90,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3011.18,1003.56,125.233),(90,90,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2946.79,1003.69,125.233),(90,90,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gnb_sign_floater5_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-69.6341,6617.8,-336.719),(0,282,0)); + var_00.v["fxid"] = "mp_gnb_sign_floater5_runner"; + var_00.v["delay"] = -25; + var_00 = common_scripts\utility::createoneshoteffect("mp_gnb_sign_floater2_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1959.55,3132.16,-357.352),(0,248,0)); + var_00.v["fxid"] = "mp_gnb_sign_floater2_runner"; + var_00.v["delay"] = -8; + var_00 = common_scripts\utility::createoneshoteffect("mp_gnb_sign_floater3_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((5790.89,-4422.09,1880.32),(0,171,0)); + var_00.v["fxid"] = "mp_gnb_sign_floater3_runner"; + var_00.v["delay"] = -19; + var_00 = common_scripts\utility::createoneshoteffect("mp_gnb_sign_floater4_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2262.42,-2717.16,951.852),(0,177,0)); + var_00.v["fxid"] = "mp_gnb_sign_floater4_runner"; + var_00.v["delay"] = -23; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((920.742,736.052,5),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_godray_ctree"); + var_00 common_scripts\_createfx::set_origin_and_angles((142.375,1440.03,308.346),(32.2893,241.048,7.34946)); + var_00.v["fxid"] = "mp_gb_godray_ctree"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_godray_ctree"); + var_00 common_scripts\_createfx::set_origin_and_angles((22.4414,1510.85,277.059),(23.9383,231.89,-2.47994)); + var_00.v["fxid"] = "mp_gb_godray_ctree"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_godray_ctree"); + var_00 common_scripts\_createfx::set_origin_and_angles((88.8416,1667.33,405.997),(25.9951,230.173,1.48158)); + var_00.v["fxid"] = "mp_gb_godray_ctree"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterdrip"); + var_00 common_scripts\_createfx::set_origin_and_angles((2076.77,533.577,250),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterdrip"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterdrip"); + var_00 common_scripts\_createfx::set_origin_and_angles((2078.31,346.471,253),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterdrip"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_leaf_kickup_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1186.66,1914.71,9),(270,0,0)); + var_00.v["fxid"] = "mp_gb_leaf_kickup_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_leaf_kickup_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1702.48,1804.35,0),(270,0,0)); + var_00.v["fxid"] = "mp_gb_leaf_kickup_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_leaf_kickup_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1318.89,1919.18,3),(270,0,0)); + var_00.v["fxid"] = "mp_gb_leaf_kickup_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_paper_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1258.87,212.784,3),(270,180,109)); + var_00.v["fxid"] = "mp_gb_paper_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_paper_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-986.113,1191.79,-71.875),(270,180,111)); + var_00.v["fxid"] = "mp_gb_paper_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1180.7,-725.186,-1.875),(270,0,-179)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_blossom_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((48.1766,1654.4,333.942),(270,0,0)); + var_00.v["fxid"] = "mp_gb_blossom_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_blossom_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((115.934,1676.94,495.024),(270,0,0)); + var_00.v["fxid"] = "mp_gb_blossom_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_blossom_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((345.222,1555.6,343.929),(270,0,0)); + var_00.v["fxid"] = "mp_gb_blossom_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_blossom_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1228.94,1441.33,396.11),(270,0,0)); + var_00.v["fxid"] = "mp_gb_blossom_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_petal_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((280.873,1505.55,285.165),(270,0,0)); + var_00.v["fxid"] = "mp_gb_petal_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_blossom_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1815.22,-873.9,360.314),(270,0,-97)); + var_00.v["fxid"] = "mp_gb_blossom_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_blossom_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1852.31,-741.361,433.608),(270,0,-97)); + var_00.v["fxid"] = "mp_gb_blossom_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_petal_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((198.751,1389.77,275),(270,0,0)); + var_00.v["fxid"] = "mp_gb_petal_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_petal_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1642.06,-794.869,293.253),(270,0,-91)); + var_00.v["fxid"] = "mp_gb_petal_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_groundflower_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1130.9,1474.69,0),(270,0,-4)); + var_00.v["fxid"] = "mp_gb_groundflower_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_groundflower_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1551.04,1615.47,0),(270,0,-4)); + var_00.v["fxid"] = "mp_gb_groundflower_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_groundflower_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1523.94,1246.94,0),(270,180,170)); + var_00.v["fxid"] = "mp_gb_groundflower_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_groundflower_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1226.56,1182.93,0),(270,0,-4)); + var_00.v["fxid"] = "mp_gb_groundflower_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_groundflower_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((99.0347,1668.71,-2),(270,0,-67)); + var_00.v["fxid"] = "mp_gb_groundflower_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_groundflower_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-173.654,1398.62,0),(270,180,121)); + var_00.v["fxid"] = "mp_gb_groundflower_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_groundflower_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43.3957,1621.77,1.90438),(270,0,-23)); + var_00.v["fxid"] = "mp_gb_groundflower_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_watersteps"); + var_00 common_scripts\_createfx::set_origin_and_angles((341.168,-224.577,-10.1855),(0,270,0)); + var_00.v["fxid"] = "mp_gb_watersteps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sunflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((0,0,9.75),(0,0,0)); + var_00.v["fxid"] = "mp_gb_sunflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_watersteps"); + var_00 common_scripts\_createfx::set_origin_and_angles((420.732,-225.648,-2.33213),(0,270,0)); + var_00.v["fxid"] = "mp_gb_watersteps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((217.276,-868.431,-86),(270,0,-179)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((182.514,-873.818,-63.875),(270,0,-179)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((248.496,-878.609,-102.875),(270,0,-179)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((139.695,-810.381,-38.875),(270,0,-179)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((105.201,-813.861,-20.5244),(270,0,-179)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_leaf_kickup_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((71.439,618.768,6),(270,0,0)); + var_00.v["fxid"] = "mp_gb_leaf_kickup_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_leaf_kickup_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((703.345,820.441,3),(270,0,0)); + var_00.v["fxid"] = "mp_gb_leaf_kickup_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_leaf_kickup_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-246.422,866.113,3),(270,0,0)); + var_00.v["fxid"] = "mp_gb_leaf_kickup_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gnb_sign_floater6_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2541.2,9896.59,-83.2148),(0,263,0)); + var_00.v["fxid"] = "mp_gnb_sign_floater6_runner"; + var_00.v["delay"] = -11; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2752.89,1287.92,286.733),(90,90,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2688.31,1287.69,286.733),(90,90,0)); + var_00.v["fxid"] = "mp_gb_light_glow_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_groundflower_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1131.63,1588.48,0),(270,180,170)); + var_00.v["fxid"] = "mp_gb_groundflower_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_groundflower_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((359.251,1241.59,0.125008),(270,180,124)); + var_00.v["fxid"] = "mp_gb_groundflower_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_groundflower_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1501.58,-508.763,0.125015),(270,0,-56)); + var_00.v["fxid"] = "mp_gb_groundflower_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_groundflower_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1746.87,-726.771,27.417),(276,203,90)); + var_00.v["fxid"] = "mp_gb_groundflower_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_groundflower_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1677.45,-872.95,3.00001),(270,180,170)); + var_00.v["fxid"] = "mp_gb_groundflower_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_groundflower_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2181.11,-742.504,55.083),(285.255,270,33)); + var_00.v["fxid"] = "mp_gb_groundflower_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_groundflower_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2062.38,-624.019,72.125),(270,180,110)); + var_00.v["fxid"] = "mp_gb_groundflower_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_groundflower_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1644.26,-631.617,22.125),(270,0,-55)); + var_00.v["fxid"] = "mp_gb_groundflower_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_petal_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1678.54,-552.544,317.633),(317.17,182.455,0)); + var_00.v["fxid"] = "mp_gb_petal_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_petal_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1314.95,1602.55,366.214),(270,0,0)); + var_00.v["fxid"] = "mp_gb_petal_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_petal_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1457.48,1551.49,310.8),(270,0,0)); + var_00.v["fxid"] = "mp_gb_petal_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sign_leaves_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2788.5,1011.86,357.733),(0,0,0)); + var_00.v["fxid"] = "mp_gb_sign_leaves_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_groundflower_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1175.6,1660.7,164.076),(270,0,-32)); + var_00.v["fxid"] = "mp_gb_groundflower_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_groundflower_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-111.947,1920.83,164),(270,0,-32)); + var_00.v["fxid"] = "mp_gb_groundflower_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_groundflower_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-394.246,1761.59,164),(270,0,-32)); + var_00.v["fxid"] = "mp_gb_groundflower_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_veh_blue"); + var_00 common_scripts\_createfx::set_origin_and_angles((-143.634,-2.18552,1.3811),(270,0,0)); + var_00.v["fxid"] = "mp_gb_veh_blue"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_blossom_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((123.721,1474.1,407.068),(270,0,0)); + var_00.v["fxid"] = "mp_gb_blossom_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((823.637,-840.923,-100.373),(270,0,178)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((808.84,-817.07,-96.8742),(270,0,178)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((748.031,-815.142,-97.875),(270,180,-2)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((793.856,-877.125,-97.4378),(270,0,178)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((756.099,-853.553,-97.875),(270,0,153)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((1469.29,-801.8,-97.875),(270,180,-2)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((1468.06,-877.03,-97.875),(270,180,-2)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((1469.55,-840.997,-97.875),(270,180,-2)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_tlight_red_blnk_slw"); + var_00 common_scripts\_createfx::set_origin_and_angles((1990.34,8519.79,412.574),(270,0,0)); + var_00.v["fxid"] = "mp_gb_tlight_red_blnk_slw"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_watercurtain"); + var_00 common_scripts\_createfx::set_origin_and_angles((-533.459,-441.032,194.558),(0,90,0)); + var_00.v["fxid"] = "mp_gb_watercurtain"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_watercurtain"); + var_00 common_scripts\_createfx::set_origin_and_angles((-572.479,-487.22,194.197),(0,90,0)); + var_00.v["fxid"] = "mp_gb_watercurtain"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_watercurtain"); + var_00 common_scripts\_createfx::set_origin_and_angles((-449.317,-432.819,194.465),(0,90,0)); + var_00.v["fxid"] = "mp_gb_watercurtain"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_watercurtain"); + var_00 common_scripts\_createfx::set_origin_and_angles((-399.251,-492.287,184.451),(0,41,0)); + var_00.v["fxid"] = "mp_gb_watercurtain"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_watercurtain"); + var_00 common_scripts\_createfx::set_origin_and_angles((-447.342,-709.193,193.526),(0,90,0)); + var_00.v["fxid"] = "mp_gb_watercurtain"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_watercurtain"); + var_00 common_scripts\_createfx::set_origin_and_angles((-402.8,-656.079,193.599),(0,90,0)); + var_00.v["fxid"] = "mp_gb_watercurtain"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_watercurtain"); + var_00 common_scripts\_createfx::set_origin_and_angles((-527.563,-710.055,193.37),(0,90,0)); + var_00.v["fxid"] = "mp_gb_watercurtain"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_watercurtain"); + var_00 common_scripts\_createfx::set_origin_and_angles((-555.807,-675.33,194.962),(0,90,0)); + var_00.v["fxid"] = "mp_gb_watercurtain"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_watercurtain"); + var_00 common_scripts\_createfx::set_origin_and_angles((-582.937,-641.665,195.52),(0,90,0)); + var_00.v["fxid"] = "mp_gb_watercurtain"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_watercurtain"); + var_00 common_scripts\_createfx::set_origin_and_angles((-427.861,-462.152,191.885),(0,90,0)); + var_00.v["fxid"] = "mp_gb_watercurtain"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-490.957,-479.842,199.722),(271,269.9,-179.902)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-425.504,-507.628,196.281),(271,269.868,135.13)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-556.497,-639.898,194.68),(271,269.868,135.13)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-491.186,-668.125,194.858),(271,269.9,-179.902)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-401.9,-574.548,195.926),(271,269.858,90.1396)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-581.61,-573.027,195.971),(271,269.858,90.1396)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-559.491,-511.68,195.915),(271,269.794,-131.797)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-416.226,-629.138,195.939),(271,269.794,-131.797)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_col_smog_playspace"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1430.2,-751.616,175.923),(270,0,0)); + var_00.v["fxid"] = "mp_gb_col_smog_playspace"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_col_smog_playspace"); + var_00 common_scripts\_createfx::set_origin_and_angles((88.7593,-298.388,155.5),(270,0,0)); + var_00.v["fxid"] = "mp_gb_col_smog_playspace"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_col_smog_playspace"); + var_00 common_scripts\_createfx::set_origin_and_angles((-788.931,597.947,65.765),(270,0,0)); + var_00.v["fxid"] = "mp_gb_col_smog_playspace"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_col_smog_playspace"); + var_00 common_scripts\_createfx::set_origin_and_angles((387.875,514.323,211.474),(270,0,0)); + var_00.v["fxid"] = "mp_gb_col_smog_playspace"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_col_smog_playspace"); + var_00 common_scripts\_createfx::set_origin_and_angles((545.666,1442.03,159.608),(270,0,0)); + var_00.v["fxid"] = "mp_gb_col_smog_playspace"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_col_smog_playspace"); + var_00 common_scripts\_createfx::set_origin_and_angles((-803.543,1610.98,245.465),(270,0,0)); + var_00.v["fxid"] = "mp_gb_col_smog_playspace"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_col_smog_playspace"); + var_00 common_scripts\_createfx::set_origin_and_angles((-718.324,803.263,251.121),(270,0,0)); + var_00.v["fxid"] = "mp_gb_col_smog_playspace"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_col_smog_or"); + var_00 common_scripts\_createfx::set_origin_and_angles((-118.379,-1296.76,-1629.98),(0,0,0)); + var_00.v["fxid"] = "mp_gb_col_smog_or"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_col_smog_or"); + var_00 common_scripts\_createfx::set_origin_and_angles((-285.768,-2950.23,-2065.7),(0,0,-41)); + var_00.v["fxid"] = "mp_gb_col_smog_or"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_col_smog_or"); + var_00 common_scripts\_createfx::set_origin_and_angles((1915.87,-2309.15,-2454.47),(337.872,6.43112,-21.2842)); + var_00.v["fxid"] = "mp_gb_col_smog_or"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_col_smog_or"); + var_00 common_scripts\_createfx::set_origin_and_angles((-119.741,2971.61,-2647.41),(0,0,0)); + var_00.v["fxid"] = "mp_gb_col_smog_or"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_col_smog_or"); + var_00 common_scripts\_createfx::set_origin_and_angles((109.053,4929.69,-2169.86),(0,0,18)); + var_00.v["fxid"] = "mp_gb_col_smog_or"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_col_smog_or"); + var_00 common_scripts\_createfx::set_origin_and_angles((129.435,7427.75,-2181.08),(0,0,48)); + var_00.v["fxid"] = "mp_gb_col_smog_or"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_col_smog_or"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2204.42,2917.47,-3677.51),(41.7868,28.371,39.0224)); + var_00.v["fxid"] = "mp_gb_col_smog_or"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_col_smog_or"); + var_00 common_scripts\_createfx::set_origin_and_angles((2084.88,3319.49,-2779.91),(334.196,348.735,24.5878)); + var_00.v["fxid"] = "mp_gb_col_smog_or"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_col_smog_or"); + var_00 common_scripts\_createfx::set_origin_and_angles((3810.95,3445.3,-1565.59),(345.35,353.527,28.8715)); + var_00.v["fxid"] = "mp_gb_col_smog_or"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_col_smog_or"); + var_00 common_scripts\_createfx::set_origin_and_angles((4393.4,-2874.99,-2106.52),(325.224,18.8922,-24.9653)); + var_00.v["fxid"] = "mp_gb_col_smog_or"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_col_smog_or"); + var_00 common_scripts\_createfx::set_origin_and_angles((2813.41,3181.44,-2244.24),(23.6988,8.19932,20.723)); + var_00.v["fxid"] = "mp_gb_col_smog_or"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_col_smog_or"); + var_00 common_scripts\_createfx::set_origin_and_angles((790.333,4206.23,-2648.16),(0,0,30)); + var_00.v["fxid"] = "mp_gb_col_smog_or"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_col_smog_or"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2156.71,4183.27,-2420.67),(0,0,19)); + var_00.v["fxid"] = "mp_gb_col_smog_or"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_col_smog_or"); + var_00 common_scripts\_createfx::set_origin_and_angles((-883.865,-8123.72,-1355.43),(0,0,-38)); + var_00.v["fxid"] = "mp_gb_col_smog_or"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_col_smog_or"); + var_00 common_scripts\_createfx::set_origin_and_angles((1974.13,-6126.45,-1931.41),(0,0,-25)); + var_00.v["fxid"] = "mp_gb_col_smog_or"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_col_smog_or"); + var_00 common_scripts\_createfx::set_origin_and_angles((-352.172,-8293.21,-2298.82),(0,0,-54)); + var_00.v["fxid"] = "mp_gb_col_smog_or"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_cone_single"); + var_00 common_scripts\_createfx::set_origin_and_angles((1595.5,141.796,1.26714),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_cone_single"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_cone_single"); + var_00 common_scripts\_createfx::set_origin_and_angles((1685.56,236.45,1.26714),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_cone_single"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_cone_single"); + var_00 common_scripts\_createfx::set_origin_and_angles((1677.42,590.401,1.26713),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_cone_single"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_cone_single"); + var_00 common_scripts\_createfx::set_origin_and_angles((1580.1,683.418,1.26714),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_cone_single"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_cone_single"); + var_00 common_scripts\_createfx::set_origin_and_angles((1462.71,729.037,1.26713),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_cone_single"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_cone_single"); + var_00 common_scripts\_createfx::set_origin_and_angles((1342.08,729.158,1.26714),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_cone_single"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_cone_single"); + var_00 common_scripts\_createfx::set_origin_and_angles((1224.43,677.568,1.26713),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_cone_single"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_cone_single"); + var_00 common_scripts\_createfx::set_origin_and_angles((1133.4,579.518,1.26713),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_cone_single"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_cone_single"); + var_00 common_scripts\_createfx::set_origin_and_angles((1088.89,459.407,1.26713),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_cone_single"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_cone_single"); + var_00 common_scripts\_createfx::set_origin_and_angles((1092.36,340.794,1.26713),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_cone_single"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_cone_single"); + var_00 common_scripts\_createfx::set_origin_and_angles((1239.31,133.622,1.26714),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_cone_single"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_cone_single"); + var_00 common_scripts\_createfx::set_origin_and_angles((1144.4,222.123,1.26713),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_cone_single"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_cone_single"); + var_00 common_scripts\_createfx::set_origin_and_angles((1358.07,87.2964,1.26714),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_cone_single"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_cone_single"); + var_00 common_scripts\_createfx::set_origin_and_angles((1475.65,88.5307,1.26712),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_cone_single"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((910.672,712.519,20),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((903.699,691.645,33),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((899.827,671.522,46),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((895.282,651.831,59),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((892.492,632.153,72),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((890.358,610.397,84),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((889.559,592.204,96),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((889.804,573.084,108),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((890.764,554.472,120),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((890.849,537.225,132),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((890.873,518.606,144),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((889.903,313.636,144.5),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((890.36,294.615,132),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((889.915,277.45,120),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((889.49,258.668,108),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((889.017,237.789,96),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((891.287,218.63,84),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((893.861,195.775,72),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((899.03,173.537,59),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((904.008,151.693,46),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((911.792,128.384,33),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((919.842,108.238,20),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((928.472,88.1855,7),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterbubbles2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1353.48,313.857,165.797),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterbubbles2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterbubbles2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1298.39,416.403,125.676),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterbubbles2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterbubbles2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1517.12,433.378,68.7747),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterbubbles2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterbubbles2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1459.46,538.638,37.7204),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterbubbles2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterbubbles2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1783.39,1160.58,61.2037),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterbubbles2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterbubbles2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1808.95,1298.75,32.5769),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterbubbles2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterbubbles2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1802.85,1250.8,32.4025),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterbubbles2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterbubbles2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1764.32,1540.57,38.9283),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterbubbles2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterbubbles2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1781.81,1463.86,38.6764),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterbubbles2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterbubbles2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1807.21,1597.98,45.0243),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterbubbles2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterbubbles2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1804.08,1560.35,32.8414),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterbubbles2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterbubbles2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1815.6,1091.25,46.7912),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterbubbles2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterbubbles2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1782,1170.25,56.4707),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterbubbles2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_col_smog_playspace"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1200.05,168,51.4539),(270,0,0)); + var_00.v["fxid"] = "mp_gb_col_smog_playspace"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_gentlewind2"); + var_00 common_scripts\_createfx::set_origin_and_angles((340.882,1929.98,93.2807),(270,0,54)); + var_00.v["fxid"] = "leaves_fall_gentlewind2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_gentlewind2"); + var_00 common_scripts\_createfx::set_origin_and_angles((630.004,1808.13,98.0207),(270,0,90)); + var_00.v["fxid"] = "leaves_fall_gentlewind2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_gentlewind2"); + var_00 common_scripts\_createfx::set_origin_and_angles((113.797,1988.2,89.1227),(270,0,95)); + var_00.v["fxid"] = "leaves_fall_gentlewind2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_gentlewind2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-225.233,1806.41,75.482),(270,0,125)); + var_00.v["fxid"] = "leaves_fall_gentlewind2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((249.699,-809.922,-97.875),(270,180,-2)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((247.012,-864.19,-97.5907),(270,180,-2)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((241.019,-838.545,-98.875),(270,180,-2)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-233.55,-874.346,0.348305),(270,180,-2)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1185.63,-751.272,-1.68892),(270,180,-2)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1186.17,-709.554,-2.80174),(270,180,-2)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-727.097,-745.459,-1.87502),(270,0,143)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-768.09,-771.095,-1.87502),(270,0,143)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-742.427,-736.469,-1.87502),(270,0,165)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-930.673,-676.522,-1.87499),(270,0,120)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-977.883,-677.101,-1.875),(270,180,-61)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1047.4,-677.581,-1.875),(270,0,132)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-896.115,-673.081,-0.768585),(270,0,133)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-852.858,-674.51,-1.87499),(270,0,134)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-800.374,-675.761,-1.875),(270,0,132)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-774.005,-682.789,-1.875),(270,0,114)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1035.98,-779.162,-1.87501),(270,180,40)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-995.959,-781.572,-1.875),(270,180,40)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-952.114,-781.34,-1.875),(270,180,40)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-915.097,-778.752,-1.875),(270,0,-149)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-849.284,-781.251,-1.875),(270,180,40)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-789.323,-780.423,-1.87501),(270,180,40)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-761.979,-805.225,-1.87501),(270,0,180)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-730.253,-838.686,-1.87499),(270,0,-178)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-700.152,-869.578,-1.875),(270,0,-174)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-670.535,-903.711,-1.4664),(270,180,12)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-641.336,-933.321,-1.875),(270,180,29)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-613.191,-937.919,-1.875),(270,0,-132)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-565.439,-938.974,-1.87501),(270,180,45)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-508.342,-938.008,-1.87499),(270,0,-135)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-461.837,-934.679,-1.87502),(270,180,41)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-373.345,-938.276,-2.87499),(270,0,-138)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-314.434,-934.984,-1.875),(270,0,-132)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-255.421,-925.478,-1.875),(270,0,-132)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-287.17,-935.23,-1.87501),(270,0,-107)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-247.812,-868.878,-1.875),(270,0,30)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-259.247,-845.434,-1.875),(270,0,-66)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-259.503,-778.512,-1.87501),(270,0,135)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-290.554,-794.109,-1.87499),(270,0,117)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-211.656,-776.742,-1.85921),(270,0,91)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-204.312,-820.839,-1.875),(270,0,-170)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-225.257,-808.604,-1.875),(270,0,96)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-182.928,-865.271,-1.86431),(270,0,163)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-216.896,-911.137,-1.875),(270,0,-122)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-169.93,-910.886,-1.86737),(270,180,25)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-123.273,-906.102,-1.71653),(270,0,-148)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-719.428,-701.226,-1.875),(270,0,63)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-688.444,-738.354,-1.875),(270,0,74)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-650.764,-778.566,-1.875),(271.402,24.5045,47.504)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-624.729,-803.48,-1.875),(270,0,71)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-593.847,-829.264,-1.87499),(270,0,77)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-573.615,-834.89,-1.875),(270,0,104)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-534.618,-838.02,-1.87501),(270,195.562,-87.5624)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-488.68,-840.363,-1.875),(270,0,117)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-434.176,-836.839,-2.875),(270,0,108)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-378.573,-835.142,-1.875),(270,0,105)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-336.593,-818.833,-1.875),(270,180,-57)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-311.933,-803.679,-1.875),(270,0,129)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-164.368,-774.738,-3.72894),(271,30,97)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-118.545,-778.421,-1.60808),(270,0,126)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83.1922,-773.903,-1.51101),(270,0,114)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-66.306,-909.157,-1.54089),(270,180,20)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8.5744,-908.564,-1.36178),(270,0,-153)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((43.0208,-906.566,-1.19974),(270,180,45)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45.4581,-775.198,-1.41059),(270,0,121)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-0.580948,-774.784,-1.29004),(270,0,122)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((55.0991,-775.336,-1.14012),(270,0,110)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-422.634,-933.378,-1.87501),(270,0,-153)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-737.343,-764.627,-2.87501),(270,0,143)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-757.325,-698.667,-1.87501),(270,0,121)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((256.834,-785.236,-97.875),(270,0,137)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((295.383,-904.952,-97.875),(270,180,41)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((331.975,-902.075,-96.875),(270,0,-136)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((377.176,-903.302,-96.875),(270,0,-136)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((311.671,-778.918,-97.875),(270,0,101)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((366.279,-784.164,-97.875),(270,0,103)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((418.64,-902.579,-97.875),(270,0,-136)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((463.841,-903.806,-97.875),(270,0,-136)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((597.48,-904.935,-96.5417),(270,0,-136)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((652.516,-896.63,-97.875),(270,0,-145)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((447.99,-785.085,-97.875),(270,0,103)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((393.224,-780.827,-97.875),(270,0,101)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((492.295,-785.532,-96.875),(270,0,103)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((541.28,-784.893,-96.875),(270,0,103)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((602.792,-784.321,-97.875),(270,0,103)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((683.548,-789.233,-94.875),(270,0,103)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((712.295,-894.989,-96.875),(270,0,-145)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((512.462,-900.462,-96.875),(270,180,45)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((1306.87,-895.88,-95.875),(270,180,45)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((1100.37,-913.4,-97.1607),(270,0,-136)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((1015.35,-908.927,-97.494),(270,180,45)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((966.732,-912.271,-98.4941),(270,0,-136)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((921.531,-911.044,-98.4941),(270,0,-136)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((880.067,-911.767,-97.494),(270,0,-136)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((834.866,-910.54,-97.494),(270,0,-136)); + var_00.v["fxid"] = "mp_gb_water_rocks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1241.19,-789.974,-93.7083),(270,0,103)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1160.43,-785.062,-96.7084),(270,0,103)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1098.92,-785.634,-95.7083),(270,0,103)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1049.93,-786.273,-95.7084),(270,0,103)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1005.63,-785.826,-96.7084),(270,0,103)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_rocks2"); + var_00 common_scripts\_createfx::set_origin_and_angles((950.862,-781.567,-96.7084),(270,0,101)); + var_00.v["fxid"] = "mp_gb_water_rocks2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gnb_sign_holo1"); + var_00 common_scripts\_createfx::set_origin_and_angles((703.32,418.6,503.83),(0,180,0)); + var_00.v["fxid"] = "mp_gnb_sign_holo1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gnb_sign_floater1_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1220.68,4469.41,111.281),(0,254,0)); + var_00.v["fxid"] = "mp_gnb_sign_floater1_runner"; + var_00.v["delay"] = -28; + var_00 = common_scripts\utility::createoneshoteffect("mp_gnb_sign_floater3_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1058.31,3973.83,-817.398),(0,270,0)); + var_00.v["fxid"] = "mp_gnb_sign_floater3_runner"; + var_00.v["delay"] = -22; + var_00 = common_scripts\utility::createoneshoteffect("mp_gnb_sign_floater5_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2508.87,-2110.46,2083.2),(0,177,0)); + var_00.v["fxid"] = "mp_gnb_sign_floater5_runner"; + var_00.v["delay"] = -91; + var_00 = common_scripts\utility::createoneshoteffect("mp_gnb_holo1_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((772.358,421.219,766),(63.0031,180.174,90.5468)); + var_00.v["fxid"] = "mp_gnb_holo1_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gnb_holo1_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((739.018,416.732,394.931),(296.23,187.331,82.6543)); + var_00.v["fxid"] = "mp_gnb_holo1_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_col_smog_or"); + var_00 common_scripts\_createfx::set_origin_and_angles((-534.458,1063.6,-2022.8),(0,0,0)); + var_00.v["fxid"] = "mp_gb_col_smog_or"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_watersteps_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((270.125,-390.504,-62.5057),(0,0,0)); + var_00.v["fxid"] = "mp_gb_watersteps_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_watersteps_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((220.125,-391.311,-36.6656),(0,0,0)); + var_00.v["fxid"] = "mp_gb_watersteps_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_watersteps_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((164.125,-392.288,-1.0101),(0,0,0)); + var_00.v["fxid"] = "mp_gb_watersteps_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_teal"); + var_00 common_scripts\_createfx::set_origin_and_angles((1227.15,-610.988,127.233),(90,90,0)); + var_00.v["fxid"] = "mp_gb_light_glow_teal"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_teal"); + var_00 common_scripts\_createfx::set_origin_and_angles((1015.66,-434.898,127.233),(90,90,0)); + var_00.v["fxid"] = "mp_gb_light_glow_teal"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_glow_teal"); + var_00 common_scripts\_createfx::set_origin_and_angles((815.059,-268.012,127.233),(90,90,0)); + var_00.v["fxid"] = "mp_gb_light_glow_teal"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((1733.35,903.152,4.5),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((1713.88,902.864,18.5),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((1696.67,903.453,30.5),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((1643.91,904.422,66.5),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((1662.64,903.203,54.5),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((1625.8,903.364,78.5),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((1607.77,904.299,90.5),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((1589.83,903.461,102.5),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((1553.75,903.533,126.5),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((1571.14,904.281,114.5),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((1535.78,903.985,138.5),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((1733.48,-113.033,4.5),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((1714.64,-113.97,18.5),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((1697.72,-113.406,30.5),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((1661.27,-112.116,54.5),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((1679.17,-113.136,42.5),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((1626.46,-113.732,78.5),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((1570.22,-113.082,114.5),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((1607.73,-114.267,90.5),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((1589.14,-113.305,102.5),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((1552.92,-112.989,126.5),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((1535.22,-113.246,138.5),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_light_uplight"); + var_00 common_scripts\_createfx::set_origin_and_angles((1643.67,-114.09,66.5),(270,0,0)); + var_00.v["fxid"] = "mp_gb_light_uplight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((318.696,-231.857,-32.3587),(270,0,90)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((344.539,-230.616,-32.6684),(270,0,90)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((380.523,-229.388,-33.0545),(270,0,90)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((435.513,-231.501,-35.1106),(270,0,90)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((469.433,-285.387,-60.0536),(270,0,90)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((425.498,-285.199,-59.9595),(270,0,90)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((391.497,-285.125,-58.8602),(270,0,90)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((345.666,-285.414,-60.0674),(270,0,90)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((322.265,-288.472,-58.0439),(270,0,90)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((226.594,-406.489,-60.7821),(270,0,180)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((221.46,-376.512,-60.1043),(270,0,180)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((172.731,-376.192,-32.2272),(270,0,180)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((169.139,-402.473,-33.0143),(270,0,180)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((167.993,-717.521,-31.8616),(270,0,180)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((167.447,-673.606,-31.5835),(270,0,180)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((169.247,-635.332,-31.4567),(270,0,180)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((221.995,-638.875,-61.1716),(270,0,180)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((220.195,-677.149,-61.2984),(270,0,180)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((219.781,-721.342,-61.5765),(270,0,180)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((254.928,-802.206,-97.6977),(270,0,180)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((253.128,-840.48,-97.8245),(270,0,180)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((253.674,-884.395,-98.1026),(270,0,180)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((217.788,-801.287,-85.6977),(270,0,180)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((215.987,-839.561,-85.8245),(270,0,180)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((216.534,-883.475,-86.1026),(270,0,180)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((183.797,-801.262,-61.6978),(270,0,180)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((181.997,-839.536,-61.8246),(270,0,180)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((182.544,-883.451,-62.1027),(270,0,180)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((144.327,-802.025,-37.6978),(270,0,180)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((142.527,-840.299,-37.8246),(270,0,180)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((143.073,-884.214,-38.1027),(270,0,180)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((113.423,-799.186,-18.6978),(270,0,180)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((111.623,-837.46,-18.8246),(270,0,180)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((112.169,-881.374,-19.1027),(270,0,180)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((533.573,-608.016,-25.0186),(270,0,124)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((560.648,-579.416,-25.0184),(270,0,169)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((559.379,-538.044,-25.0184),(270,0,-146)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((530.757,-509.679,-25.0179),(270,0,-99)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((490.366,-512.098,-25.0183),(270,0,-59)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((461.53,-541.417,-25.0179),(270,180,166)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((465.145,-581.917,-25.0186),(270,0,26)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((491.755,-610.855,-25.0175),(270,0,82)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((451.639,-498.076,-95.5),(270,0,-50)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((511.131,-471.336,-96.5),(270,0,-85)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((576.934,-497.312,-96.5),(270,0,-133)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((600.34,-558.996,-95.5),(270,0,-177)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((573.706,-623.36,-95.5),(270,0,137)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((511.71,-645.637,-94.9815),(270,0,89)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((451.661,-621.037,-95.5),(270,0,44)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_wake_steps"); + var_00 common_scripts\_createfx::set_origin_and_angles((425.318,-561.95,-95.5),(270,0,1)); + var_00.v["fxid"] = "mp_gb_water_wake_steps"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((429.155,-334.603,-101.474),(270,0,91)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((358.778,-334.13,-100.754),(270,0,91)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((270.125,-395.226,-97.0133),(270,0,180)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((269.126,-677.377,-99.0358),(270,0,180)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((215.231,-816.114,-91.875),(270,0,-179)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((181.829,-812.567,-63.875),(270,0,-179)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((142.248,-865.921,-42.207),(270,0,-179)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((105.337,-876.688,-19.875),(270,0,-179)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((247.614,-815.823,-103.875),(270,0,-179)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterbubbles2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1541.02,467.934,32.5548),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterbubbles2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterbubbles2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1481.48,526.012,31.3747),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterbubbles2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterbubbles2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1311.04,512.234,42.2705),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterbubbles2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterbubbles2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1471.69,323.6,85.9627),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterbubbles2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterbubbles2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1337.34,316.299,38.4887),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterbubbles2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterbubbles2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1274.94,402.715,36.1967),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterbubbles2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterbubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1336.98,363.825,230.816),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterbubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterbubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1450.33,337.151,237.877),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterbubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_waterbubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1444.27,509.827,257.122),(270,0,0)); + var_00.v["fxid"] = "mp_gb_waterbubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("No FX"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1606.69,-646.649,4.12502),(270,0,0)); + var_00.v["fxid"] = "No FX"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "16"; + var_00.v["soundalias"] = "mp_gnb_emp_bridge_stress_02"; + var_00 = common_scripts\utility::createexploder("No FX"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2471.37,469.339,255.517),(270,0,0)); + var_00.v["fxid"] = "No FX"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "16"; + var_00.v["soundalias"] = "mp_gnb_emp_pub_rumble_01"; + var_00 = common_scripts\utility::createexploder("No FX"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2072.57,823.566,164.625),(270,0,0)); + var_00.v["fxid"] = "No FX"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "16"; + var_00.v["soundalias"] = "mp_gnb_emp_pub_rumble_02"; + var_00 = common_scripts\utility::createexploder("No FX"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2468.87,583.862,101.25),(270,0,0)); + var_00.v["fxid"] = "No FX"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "16"; + var_00.v["soundalias"] = "mp_gnb_emp_pub_debris_01"; + var_00 = common_scripts\utility::createexploder("No FX"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2525.7,1070.5,160.46),(270,0,0)); + var_00.v["fxid"] = "No FX"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "16"; + var_00.v["soundalias"] = "mp_gnb_emp_pub_debris_02"; + var_00 = common_scripts\utility::createexploder("No FX"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2609.34,818.166,112.125),(270,0,0)); + var_00.v["fxid"] = "No FX"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "16"; + var_00.v["soundalias"] = "mp_gnb_emp_pub_rattle_01"; + var_00 = common_scripts\utility::createexploder("No FX"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2152.5,470.081,254.365),(270,0,0)); + var_00.v["fxid"] = "No FX"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "16"; + var_00.v["soundalias"] = "mp_gnb_emp_pub_rattle_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2000,-263,55),(270,0,0)); + var_00.v["delay_min"] = 30; + var_00.v["delay_max"] = 90; + var_00.v["soundalias"] = "emt_gnb_elevator"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1846,-263,55),(270,0,0)); + var_00.v["delay_min"] = 30; + var_00.v["delay_max"] = 90; + var_00.v["soundalias"] = "emt_gnb_elevator"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2909,360,127),(270,0,0)); + var_00.v["delay_min"] = 30; + var_00.v["delay_max"] = 90; + var_00.v["soundalias"] = "emt_gnb_elevator_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1828,1565,23),(270,0,0)); + var_00.v["delay_min"] = 30; + var_00.v["delay_max"] = 75; + var_00.v["soundalias"] = "emt_gnb_pump"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2020,1795,23),(270,0,0)); + var_00.v["delay_min"] = 30; + var_00.v["delay_max"] = 75; + var_00.v["soundalias"] = "emt_gnb_pump"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((695.041,445.852,182),(270,0,0)); + var_00.v["delay_min"] = 12; + var_00.v["delay_max"] = 30; + var_00.v["soundalias"] = "emt_gnb_wind_whistle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1550,1000,70),(270,0,0)); + var_00.v["delay_min"] = 12; + var_00.v["delay_max"] = 30; + var_00.v["soundalias"] = "emt_gnb_wind_whistle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1100,1124.09,112.965),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1496,1423.84,74.8335),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1496,1423.84,74.8335),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1329,1616,57.0753),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((932.64,1347.63,86.1709),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((192.745,1625.5,65.9501),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-386.164,1351.03,-8.5),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-580,784.5,130.824),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-580,784.5,130.824),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-32.1926,319.947,115.859),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((7311.21,11267,2579.5),(350.025,51.9818,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1050.41,607,115.492),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-82.5481,-236.089,120.909),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-997.283,-543,93.0625),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1229.92,-622.398,100.813),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1685.58,-816.845,202),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1329,-193.463,122.383),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1948.17,-552.064,211.433),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1549.75,1492.2,232.913),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((889.406,1808,54.1374),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1496.69,1795.88,155.97),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_whistle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-725.875,1894.78,43.9711),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_whistle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1289.24,1659.02,214.712),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_whistle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1423.75,1971.65,83.1712),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_whistle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1976.65,-732.448,233.607),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_whistle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-632,-581.578,159.911),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_whistle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((13.6161,-927,120.521),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_whistle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((646.337,-493.368,73.7527),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_whistle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1203.42,-746.177,85.2507),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_whistle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((561.26,527.095,180.132),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_whistle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((589.955,343.364,182.21),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_whistle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((35.4781,1465.66,124.761),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_whistle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-328.706,1139.07,65.2417),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_whistle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1016.37,466.307,105.138),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_howl"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1188.66,1858.49,125.671),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_howl"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-797.812,1423.19,105.216),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_howl"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((166.829,228,102.227),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_howl"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1589.39,-232,181.742),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_howl"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-905.043,-419.957,127.593),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_howl"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((19.0959,-522.089,148),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_howl"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((664.469,106.468,95.9268),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_howl"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((394.033,563.625,100.679),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_howl"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-704.215,748.857,145.254),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_howl"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1604.85,1421.18,143.426),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_howl"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((574.214,1990.43,119.875),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_howl"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-131.191,2125.35,142),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_howl"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-758.876,1873.88,20.3865),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_howl"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-264,1362.89,108.707),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_howl"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-64.4965,758.515,128),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_howl"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1583.02,1540.61,225.348),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_howl"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1646.72,1909.89,146.727),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_howl"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-455.538,744,126.514),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_howl"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-404,808.306,122.876),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1277.22,408,127.258),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((189.525,220,120.482),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((454.255,220,126.468),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-449.306,103.646,1.0845),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-539.965,-11.2386,4.06841),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1511.29,977.509,0.124992),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1495.97,1037.02,0.154495),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1783.28,310.46,0.124992),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1881.34,287.809,1.16503),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1781.81,193.277,72.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1781.81,193.277,72.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1700.46,1461.49,97.0852),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1695.01,1537.16,98.5464),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1526.14,1637.88,96.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((890.922,-500.955,0),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((804.05,368.175,140.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((767.878,453.635,140.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((233.184,1554.52,103),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((349.324,1524.06,181),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((81.4461,1390.77,208),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((35.6678,1653.65,208),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1311.89,1300.58,174.926),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1167.54,1504.39,164),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1514.17,2016.09,105),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2038.58,-1070.85,99),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((59.6323,-329.981,152.5),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((42.8421,-700.69,152.5),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((902.761,-48.1536,191.429),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1453.25,-646.625,187.176),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((880.718,851.732,189.069),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1057.66,997.243,182.705),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((25.3011,647.851,155.9),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-265.626,344.993,127.034),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-265.626,344.993,127.034),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1268,565.228,137.287),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1275.24,-202.805,185.995),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1275.13,-202.804,186.005),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((182.874,1999.33,26.1093),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((499.379,1820.01,26.106),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1401.23,1741.41,164.125),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1415.3,1428.98,158.125),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1477.8,-707.38,1.07426),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((29.8514,-1151.84,152.5),(270,0,0)); + var_00.v["delay_min"] = 25; + var_00.v["delay_max"] = 45; + var_00.v["soundalias"] = "emergency_siren_doppler_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((107.253,2454.23,164),(270,0,0)); + var_00.v["delay_min"] = 25; + var_00.v["delay_max"] = 40; + var_00.v["soundalias"] = "emergency_siren_doppler_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-764.125,1881.31,-52.6204),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-407.875,1892.71,-63.5698),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1255.09,1668.13,38.5471),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1056.05,-547.125,45.4605),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((750.125,-402.966,37.2624),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1293.31,910.125,66.2836),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1086.13,1224.37,53.6675),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1064.13,1667.24,56.1097),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2892.66,561.045,231.875),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((750.125,-159.745,41.8581),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((618.994,1956.36,0.124996),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((19.6488,2173.19,-41.0721),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((835.23,-340.39,184.125),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_howl"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1227.89,-534.329,269.125),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "wind_gust_whistle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1650.37,604.712,0.125008),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2057.38,1384.01,69.7556),(270,0,0)); + var_00.v["delay_min"] = 30; + var_00.v["delay_max"] = 90; + var_00.v["soundalias"] = "emt_gnb_elevator"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2057.38,1567.53,70.5644),(270,0,0)); + var_00.v["delay_min"] = 30; + var_00.v["delay_max"] = 90; + var_00.v["soundalias"] = "emt_gnb_elevator"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2055.88,1696.92,72.9436),(270,0,0)); + var_00.v["delay_min"] = 30; + var_00.v["delay_max"] = 90; + var_00.v["soundalias"] = "emt_gnb_elevator"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_highrise2_fx.gsc b/AW/PC/maps/createfx/mp_highrise2_fx.gsc new file mode 100644 index 0000000..3ecd116 --- /dev/null +++ b/AW/PC/maps/createfx/mp_highrise2_fx.gsc @@ -0,0 +1,1382 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_highrise2_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 71 ms + * Timestamp: 4/22/2024 2:07:38 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-723.661,6950.97,2650.82),(270,0,0)); + var_00.v["soundalias"] = "rain_med_spray_puddle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-937.247,6778.94,2649.93),(270,0,0)); + var_00.v["soundalias"] = "rain_med_spray_puddle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1966.76,7384.11,2899.68),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1870.17,7384.11,2894.12),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2085.95,7384.13,2897.33),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2274.55,7384.13,2895.33),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2521.77,7386.65,2899.44),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2400.81,7384.31,2896.17),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((334.677,7465.19,3019.5),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((917.203,6658.45,2984.8),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((652.5,6861.64,2752.03),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((415.299,6685.73,2756.66),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((106.56,6850.15,2756.39),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-671.854,6559.44,2760.86),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-877.329,6557.46,2760.51),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1371.47,6558.55,2764.8),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1601.12,7197.69,2763.48),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1880.47,7197.52,2765.61),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2118.4,7199.67,2763.52),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3653.63,6176.23,2854.41),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1464.94,6479.42,2852.13),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1232.96,6311.89,2776.13),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1089.68,6305.89,2776.12),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-714.973,6292.29,2828.13),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1968.77,6633,2818.13),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1862.96,6541.3,2810),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1922.18,5979.75,2776.13),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1921.71,5715.27,2818.13),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-710.249,6911.9,2730.56),(270,0,0)); + var_00.v["soundalias"] = "emt_steam_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1329.47,6861.16,2836.65),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1047.11,6720.92,2830.72),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1043.37,6903.41,2805.05),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1065.45,7096.03,2811.56),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1316.02,7101.54,2826.98),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1508.71,5334,2894.97),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1227.36,5330.48,2894.49),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1177.65,5858.37,2963.26),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1183.05,5596.21,2963.61),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-303.414,5627.09,2900.97),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1257.37,6569.58,3851.38),(270,0,0)); + var_00.v["soundalias"] = "mp_hr_drone_idle_lo"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1646.78,8483.85,3731.88),(270,0,0)); + var_00.v["soundalias"] = "mp_hr_drone_idle_lo"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-308.58,7849.25,3603.88),(270,0,0)); + var_00.v["soundalias"] = "mp_hr_drone_idle_lo"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1333.06,7047.41,4065.46),(270,0,0)); + var_00.v["soundalias"] = "mp_hr_drone_idle_lo"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1194.31,7653.34,3927.79),(270,0,0)); + var_00.v["soundalias"] = "mp_hr_drone_idle_lo"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2563.03,6850.94,2700.79),(270,0,0)); + var_00.v["soundalias"] = "emt_steam_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((163.719,6942.14,2686.06),(270,0,0)); + var_00.v["soundalias"] = "emt_steam_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1783.03,6494.13,2707.25),(270,0,0)); + var_00.v["soundalias"] = "emt_steam_light_lp"; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_debris_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1819.14,7244.81,2842.13),(270,180,0)); + var_00.v["fxid"] = "wind_blowing_debris_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_debris_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-518.521,6964.6,2827.13),(270,180,0)); + var_00.v["fxid"] = "wind_blowing_debris_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_debris_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2065.1,6417.53,2776.13),(270,180,0)); + var_00.v["fxid"] = "wind_blowing_debris_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_debris_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-933.844,6113.16,2776.13),(270,180,0)); + var_00.v["fxid"] = "wind_blowing_debris_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-951.923,7430.3,2776.12),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2117.57,5818.43,2776.13),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("brg_dust_mote_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3024.12,5717.98,2825.63),(270,0,0)); + var_00.v["fxid"] = "brg_dust_mote_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("brg_dust_mote_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3040.88,5280.73,2825.9),(270,0,0)); + var_00.v["fxid"] = "brg_dust_mote_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("brg_dust_mote_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3379.12,5543.36,2824.13),(270,0,0)); + var_00.v["fxid"] = "brg_dust_mote_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("brg_dust_mote_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3757.57,5376.08,2824.12),(270,0,0)); + var_00.v["fxid"] = "brg_dust_mote_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("brg_dust_mote_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3567.02,5992.02,2824.63),(270,0,0)); + var_00.v["fxid"] = "brg_dust_mote_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("brg_dust_mote_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2817.52,6360.14,2824.63),(270,0,0)); + var_00.v["fxid"] = "brg_dust_mote_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("brg_dust_mote_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3787.33,7022.99,2824.13),(270,0,0)); + var_00.v["fxid"] = "brg_dust_mote_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("brg_dust_mote_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3127.95,7142.42,2648.13),(270,0,0)); + var_00.v["fxid"] = "brg_dust_mote_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("brg_dust_mote_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2831.7,6922.84,2648.13),(270,0,0)); + var_00.v["fxid"] = "brg_dust_mote_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("brg_dust_mote_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2486.3,6928.31,2648.13),(270,0,0)); + var_00.v["fxid"] = "brg_dust_mote_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("brg_dust_mote_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1867.45,7188.91,2648.13),(270,0,0)); + var_00.v["fxid"] = "brg_dust_mote_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("brg_dust_mote_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1837.87,6624.76,2648.13),(270,0,0)); + var_00.v["fxid"] = "brg_dust_mote_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("brg_dust_mote_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((-679.551,7041.17,2648.13),(270,0,0)); + var_00.v["fxid"] = "brg_dust_mote_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("brg_dust_mote_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((-743.204,6622.62,2648.13),(270,0,0)); + var_00.v["fxid"] = "brg_dust_mote_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("brg_dust_mote_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((90.4812,6854.6,2648.13),(270,0,0)); + var_00.v["fxid"] = "brg_dust_mote_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("brg_dust_mote_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((619.049,6700.7,2648.13),(270,0,0)); + var_00.v["fxid"] = "brg_dust_mote_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("brg_dust_mote_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((931.485,6669.71,2824.13),(270,0,0)); + var_00.v["fxid"] = "brg_dust_mote_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("brg_dust_mote_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((1274.19,7430.39,2824.13),(270,0,0)); + var_00.v["fxid"] = "brg_dust_mote_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("brg_dust_mote_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((687.487,7502.32,2824),(270,0,0)); + var_00.v["fxid"] = "brg_dust_mote_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("brg_dust_mote_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((310.854,7120.01,2824),(270,0,0)); + var_00.v["fxid"] = "brg_dust_mote_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("brg_dust_mote_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((561.923,6406.06,2808),(270,0,0)); + var_00.v["fxid"] = "brg_dust_mote_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("brg_dust_mote_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((284.167,5314.62,2824),(270,0,0)); + var_00.v["fxid"] = "brg_dust_mote_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("brg_dust_mote_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1368.63,5303.92,2776.13),(270,0,0)); + var_00.v["fxid"] = "brg_dust_mote_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("brg_dust_mote_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1378.15,6300.42,2648.13),(270,0,0)); + var_00.v["fxid"] = "brg_dust_mote_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner_no_impact_spawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((17.5414,6809.44,3342.4),(0,283.784,0)); + var_00.v["fxid"] = "electrical_sparks_runner_no_impact_spawn"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner_no_impact_spawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2117.01,6522.05,2663.65),(345.118,80.4731,0)); + var_00.v["fxid"] = "electrical_sparks_runner_no_impact_spawn"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2004.23,6446.64,2776.13),(0,270,0)); + var_00.v["fxid"] = "mp_hr2_wind_gust_runner"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2443.61,7305.82,2776.13),(0,270,0)); + var_00.v["fxid"] = "mp_hr2_wind_gust_runner"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2506.43,5932.58,2776.13),(0,270,0)); + var_00.v["fxid"] = "mp_hr2_wind_gust_runner"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-734.735,6216.76,2776.13),(0,270,0)); + var_00.v["fxid"] = "mp_hr2_wind_gust_runner"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1374.85,5860.87,2976.13),(0,270,0)); + var_00.v["fxid"] = "mp_hr2_wind_gust_runner"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner_no_impact_spawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((-735.458,6909.75,2699.44),(0,90,0)); + var_00.v["fxid"] = "electrical_sparks_runner_no_impact_spawn"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-210.717,7189.67,2776.13),(0,270,0)); + var_00.v["fxid"] = "mp_hr2_wind_gust_runner"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner_no_impact_spawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3400.07,5975.16,3104.9),(280.036,270,0)); + var_00.v["fxid"] = "electrical_sparks_runner_no_impact_spawn"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_vista_fog_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1088.26,2608.45,1009.13),(326,270,-90)); + var_00.v["fxid"] = "mp_hr2_vista_fog_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_vista_fog_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2353.61,3019.28,883.24),(324,254,-90)); + var_00.v["fxid"] = "mp_hr2_vista_fog_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_vista_fog_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((386.241,3040.97,703.555),(299.348,75.5425,0)); + var_00.v["fxid"] = "mp_hr2_vista_fog_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_vista_fog_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2986.19,3210.34,507.13),(270,0,164)); + var_00.v["fxid"] = "mp_hr2_vista_fog_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_vista_fog_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((33.2705,3426.89,525.13),(324,270,-90)); + var_00.v["fxid"] = "mp_hr2_vista_fog_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_vista_fog_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2047.52,4398.34,-13.56),(330,270,-90)); + var_00.v["fxid"] = "mp_hr2_vista_fog_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_vista_fog"); + var_00 common_scripts\_createfx::set_origin_and_angles((-911.424,11752.2,942.13),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_vista_fog"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_vista_fog"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1177.1,8679.13,268.13),(277,90,-90)); + var_00.v["fxid"] = "mp_hr2_vista_fog"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_vista_fog_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((664.495,4077.63,336.353),(286.735,91.6674,0)); + var_00.v["fxid"] = "mp_hr2_vista_fog_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_vista_fog_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3895.83,4412.52,375.12),(334.8,229.672,-93.0321)); + var_00.v["fxid"] = "mp_hr2_vista_fog_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_vista_fog_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((371.299,4719.38,-29.58),(331,322,-90)); + var_00.v["fxid"] = "mp_hr2_vista_fog_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_vista_fog"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7035.85,13128.3,680.6),(277,86,-61)); + var_00.v["fxid"] = "mp_hr2_vista_fog"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_vista_fog"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7227.4,12841.7,1110.6),(270,0,32)); + var_00.v["fxid"] = "mp_hr2_vista_fog"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_vista_fog"); + var_00 common_scripts\_createfx::set_origin_and_angles((1759.86,8527.08,283.65),(277,90,-164)); + var_00.v["fxid"] = "mp_hr2_vista_fog"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_vista_fog"); + var_00 common_scripts\_createfx::set_origin_and_angles((2287.78,8716.37,1107.65),(270,180,98)); + var_00.v["fxid"] = "mp_hr2_vista_fog"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_vista_fog"); + var_00 common_scripts\_createfx::set_origin_and_angles((569.916,11674.1,728.93),(270,180,152)); + var_00.v["fxid"] = "mp_hr2_vista_fog"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_vista_fog"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2424.28,11845.4,663.16),(270,0,26)); + var_00.v["fxid"] = "mp_hr2_vista_fog"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2238.49,6619.74,2870.5),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2144.7,6619.64,2870.5),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2010.52,6619.51,2870.5),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1876.38,6619.73,2870.5),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1876.95,6499.82,2870.5),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1814.98,6499.94,2870.5),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1680.93,6500.12,2870.5),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1546.8,6500,2870.5),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1412.71,6499.81,2870.5),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1238.32,6265.79,2869.5),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1238.18,6328.59,2869.5),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1136.67,6328.5,2869.5),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1008.65,6301.45,2869.5),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-845.612,6302.02,2869.5),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-775.569,6301.97,2869.5),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-641.623,6302,2869.5),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_geyser"); + var_00 common_scripts\_createfx::set_origin_and_angles((-727.839,6895.06,2732.51),(270,0,-112)); + var_00.v["fxid"] = "mp_hr2_water_geyser"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_ring_ripple_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-520.349,6849.54,2644.69),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_ring_ripple_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_ring_ripple_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-506.776,6794.97,2645.59),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_ring_ripple_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_ring_ripple_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-545.557,6744.72,2646.18),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_ring_ripple_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_ring_ripple_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-591.501,6719,2645.52),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_ring_ripple_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_ring_ripple_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-653.462,6715.81,2647.61),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_ring_ripple_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_ring_ripple_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-356.501,6993.78,2645.21),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_ring_ripple_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_ring_ripple_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-432.222,7065.1,2646.17),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_ring_ripple_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_ring_ripple_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-552.35,7006.86,2647.32),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_ring_ripple_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_ring_ripple_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-611,7009.66,2647.99),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_ring_ripple_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_ring_ripple_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-683.876,7001.26,2646.94),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_ring_ripple_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_ring_ripple_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-755.492,7025.52,2648),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_ring_ripple_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_ring_ripple_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-815.037,7085.59,2645.33),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_ring_ripple_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_ring_ripple_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-844.962,7014.3,2648),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_ring_ripple_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_ring_ripple_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-902.515,6897.55,2646.71),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_ring_ripple_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_ring_ripple_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-862.012,6751.7,2647.58),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_ring_ripple_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_ring_ripple_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-920.772,7050.53,2647),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_ring_ripple_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((-843.915,6634.18,2868.99),(0,90,0)); + var_00.v["fxid"] = "mp_hr2_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((-737.189,6626.23,2872),(0,90,0)); + var_00.v["fxid"] = "mp_hr2_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((-956.307,6666.17,2903.82),(0,360,0)); + var_00.v["fxid"] = "mp_hr2_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((-956.819,6770.85,2824),(0,360,0)); + var_00.v["fxid"] = "mp_hr2_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_dripping_edges"); + var_00 common_scripts\_createfx::set_origin_and_angles((-650.548,6631.8,2767.68),(270,0,-90)); + var_00.v["fxid"] = "mp_hr2_water_dripping_edges"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_dripping_edges"); + var_00 common_scripts\_createfx::set_origin_and_angles((-852.32,6626.99,2764.54),(270,0,-90)); + var_00.v["fxid"] = "mp_hr2_water_dripping_edges"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_dripping_edges"); + var_00 common_scripts\_createfx::set_origin_and_angles((-882.942,6923.94,2878.98),(270,0,-90)); + var_00.v["fxid"] = "mp_hr2_water_dripping_edges"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_dripping_edges"); + var_00 common_scripts\_createfx::set_origin_and_angles((-905.633,6937.76,2845.27),(270,0,-90)); + var_00.v["fxid"] = "mp_hr2_water_dripping_edges"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_dripping_edges"); + var_00 common_scripts\_createfx::set_origin_and_angles((-956.44,6771.87,2759),(270,180,0)); + var_00.v["fxid"] = "mp_hr2_water_dripping_edges"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_dripping_edges"); + var_00 common_scripts\_createfx::set_origin_and_angles((-972.248,7053.34,2746.13),(270,180,0)); + var_00.v["fxid"] = "mp_hr2_water_dripping_edges"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_dripping_edges"); + var_00 common_scripts\_createfx::set_origin_and_angles((-455.468,6848.36,2714.13),(270,180,0)); + var_00.v["fxid"] = "mp_hr2_water_dripping_edges"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_dripping_edges"); + var_00 common_scripts\_createfx::set_origin_and_angles((-568.319,6848.98,2738.03),(270,180,0)); + var_00.v["fxid"] = "mp_hr2_water_dripping_edges"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_dripping_edges"); + var_00 common_scripts\_createfx::set_origin_and_angles((-632.323,6914.9,2735.96),(270,0,-90)); + var_00.v["fxid"] = "mp_hr2_water_dripping_edges"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_dripping_edges"); + var_00 common_scripts\_createfx::set_origin_and_angles((-787.245,6914.4,2737.71),(270,0,90)); + var_00.v["fxid"] = "mp_hr2_water_dripping_edges"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_dripping_edges"); + var_00 common_scripts\_createfx::set_origin_and_angles((-627.864,6783.56,2737.61),(270,0,90)); + var_00.v["fxid"] = "mp_hr2_water_dripping_edges"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_dripping_edges"); + var_00 common_scripts\_createfx::set_origin_and_angles((-423.944,6816.15,2716.13),(270,0,90)); + var_00.v["fxid"] = "mp_hr2_water_dripping_edges"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((-956.001,6982.34,2902.69),(0,360,0)); + var_00.v["fxid"] = "mp_hr2_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((-958.003,6869.63,2902.78),(0,360,0)); + var_00.v["fxid"] = "mp_hr2_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_splashes_lp_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-597.37,6888.43,2738.51),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_splashes_lp_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_splashes_lp_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-594.797,6806.03,2738.51),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_splashes_lp_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_splashes_lp_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-652.703,6882.18,2738.51),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_splashes_lp_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_splashes_lp_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-655.396,6815.63,2738.51),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_splashes_lp_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_splashes_lp_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-768.902,6801.97,2738.51),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_splashes_lp_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_splashes_lp_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-806.715,6818.14,2741.31),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_splashes_lp_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_splashes_lp_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-807.702,6879.07,2741.31),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_splashes_lp_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_splashes_lp_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-695.978,6815.61,2738.51),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_splashes_lp_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_splashes_lp_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-695.509,6872.05,2738.51),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_splashes_lp_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_splashes_lp_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-605.145,6848.19,2741.6),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_splashes_lp_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_splashes_lp_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-669.355,6848.07,2741.58),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_splashes_lp_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((-642.927,6911.67,2737.06),(0,90,0)); + var_00.v["fxid"] = "mp_hr2_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((-762.063,6911.9,2735.81),(0,90,0)); + var_00.v["fxid"] = "mp_hr2_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((-572.423,6846.27,2737.41),(0,360,0)); + var_00.v["fxid"] = "mp_hr2_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((-630.983,6784.37,2737.15),(0,270,0)); + var_00.v["fxid"] = "mp_hr2_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((-778.12,6784.1,2736.14),(0,270,0)); + var_00.v["fxid"] = "mp_hr2_water_edge_runoff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_spray"); + var_00 common_scripts\_createfx::set_origin_and_angles((-729.039,6891.24,2735.31),(314.653,282.938,80.7755)); + var_00.v["fxid"] = "mp_hr2_water_spray"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_spray_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-723.862,6909.15,2737.51),(321.794,168.205,-167.855)); + var_00.v["fxid"] = "mp_hr2_water_spray_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_hose_water"); + var_00 common_scripts\_createfx::set_origin_and_angles((-530.626,6957.62,2651.19),(270,344.296,164.704)); + var_00.v["fxid"] = "mp_hr2_hose_water"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_hose_water"); + var_00 common_scripts\_createfx::set_origin_and_angles((-760.103,7077.17,2648.59),(270,64.1991,-35.1991)); + var_00.v["fxid"] = "mp_hr2_hose_water"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_hose_water"); + var_00 common_scripts\_createfx::set_origin_and_angles((-928.942,7054.28,2650.54),(0,109,-90)); + var_00.v["fxid"] = "mp_hr2_hose_water"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_pipe_fan_spray"); + var_00 common_scripts\_createfx::set_origin_and_angles((-743.885,6915.9,2667.26),(0,90,0)); + var_00.v["fxid"] = "mp_hr2_pipe_fan_spray"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_pipe_fan_spray"); + var_00 common_scripts\_createfx::set_origin_and_angles((-743.472,6780.16,2666.35),(0,270,0)); + var_00.v["fxid"] = "mp_hr2_pipe_fan_spray"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1916.24,6062.59,2870.5),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1916.19,5928.3,2870.5),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1916.08,5780.22,2870.5),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1916.01,5651.66,2870.5),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2044.15,5652.28,2869.5),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2172.02,5652.24,2869.5),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_drone_flood_lgt_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1389.19,7095.05,4477.89),(13.8517,96.8067,-8.88285)); + var_00.v["fxid"] = "fx_drone_flood_lgt_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_drone_flood_lgt_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1238.09,6609.1,3855.35),(347,0,0)); + var_00.v["fxid"] = "fx_drone_flood_lgt_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_drone_flood_lgt_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1284.55,7971.92,4345.47),(14.5442,70.6538,-14.9687)); + var_00.v["fxid"] = "fx_drone_flood_lgt_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_drone_flood_lgt_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-275.098,7817.45,3601.87),(28.2141,80.8104,-6.65679)); + var_00.v["fxid"] = "fx_drone_flood_lgt_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_drone_flood_lgt_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1634.15,8482.44,3744.42),(41.0819,104.026,-4.35085)); + var_00.v["fxid"] = "fx_drone_flood_lgt_flare"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("fx_drone_flood_lgt_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1656.15,8490.44,3728),(41.0819,104.026,-4.35085)); + var_00.v["fxid"] = "fx_drone_flood_lgt_flare"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "cg"; + var_00 = common_scripts\utility::createoneshoteffect("light_heli_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1224.42,5568.44,3162.06),(270,0,0)); + var_00.v["fxid"] = "light_heli_red_blink"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_dripping_edges"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1218.29,7032.15,2735.04),(270,0,-90)); + var_00.v["fxid"] = "mp_hr2_water_dripping_edges"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_dripping_edges"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1190.6,7119.33,2703.7),(270,0,-90)); + var_00.v["fxid"] = "mp_hr2_water_dripping_edges"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_pipe_drips"); + var_00 common_scripts\_createfx::set_origin_and_angles((216.504,6920.96,2743),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_pipe_drips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_pipe_drips"); + var_00 common_scripts\_createfx::set_origin_and_angles((510.793,6660.7,2764.99),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_pipe_drips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_pipe_drips"); + var_00 common_scripts\_createfx::set_origin_and_angles((120.903,6920.6,2741.96),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_pipe_drips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2357.82,6967.84,2744.62),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-333.82,6774.25,2743.76),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3746.14,7205.91,2886.61),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3331.46,7068.79,2738.13),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_burst_lp_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2568.29,6850.45,2701.64),(352.5,90,0)); + var_00.v["fxid"] = "steam_pipe_burst_lp_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((42.2246,6769.62,2669),(270,0,0)); + var_00.v["fxid"] = "steam_ambient_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_vents_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1237.13,6370.57,2676.31),(0,90,0)); + var_00.v["fxid"] = "steam_ambient_vents_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner_no_impact_spawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3371.89,5606.79,3034.88),(90,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner_no_impact_spawn"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_pipe_drips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3293.47,5574.05,2977.9),(60.002,269.993,0)); + var_00.v["fxid"] = "mp_hr2_water_pipe_drips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_pipe_drips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3713.26,5343.24,2975.48),(90,37.4999,0)); + var_00.v["fxid"] = "mp_hr2_water_pipe_drips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_pipe_drips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3378.83,5794.73,2976.48),(90,0,0)); + var_00.v["fxid"] = "mp_hr2_water_pipe_drips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_pipe_drips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3083.88,6544.69,3103.48),(90,172.5,0)); + var_00.v["fxid"] = "mp_hr2_water_pipe_drips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_pipe_drips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2950.02,6544.87,3103.48),(90,172.5,0)); + var_00.v["fxid"] = "mp_hr2_water_pipe_drips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_vents_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3505.13,5854.19,3050.33),(270,0,0)); + var_00.v["fxid"] = "steam_ambient_vents_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_vents_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3311.09,5854.02,3051.41),(270,0,0)); + var_00.v["fxid"] = "steam_ambient_vents_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_vents_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3121.16,5852.75,3051.9),(270,0,0)); + var_00.v["fxid"] = "steam_ambient_vents_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_highrise_flour_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1547.75,5918.89,2963.31),(88.5742,316.536,-44.4713)); + var_00.v["fxid"] = "fx_highrise_flour_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_highrise_flour_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1550.95,6143.5,2961.83),(90,0,0)); + var_00.v["fxid"] = "fx_highrise_flour_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_highrise_flour_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1604.75,5564.28,2963.86),(90,0,0)); + var_00.v["fxid"] = "fx_highrise_flour_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1508.7,5333.72,2894.84),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_highrise_flour_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1184.05,5600.06,2963.92),(270,0,0)); + var_00.v["fxid"] = "fx_highrise_flour_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_highrise_flour_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1184.09,5873.6,2963.31),(270,0,0)); + var_00.v["fxid"] = "fx_highrise_flour_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_highrise_flour_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1128.87,6186.84,2962.72),(270,0,0)); + var_00.v["fxid"] = "fx_highrise_flour_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2209.43,5983.28,2888.1),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_spot"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3825.4,6543.34,2964.67),(90,180,-180)); + var_00.v["fxid"] = "mp_hr2_light_glow_spot"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-324.702,6775.65,2755.41),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2363.31,6967,2754.75),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2107.52,6564.36,2762.29),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2117.22,7199.96,2762.87),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1883.89,7198.13,2762.66),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1602.41,7197.95,2762.89),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-884.946,6559.64,2761.62),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-675.274,6559.59,2761.05),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-505.77,7158.15,2760.61),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-819.937,7156.53,2761.15),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1227.34,5333.8,2894.79),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_spot"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3824.07,5909.52,2965.67),(90,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_spot"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_spot"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3247.22,5375.64,2965.67),(90,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_spot"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_spot"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3375.63,5375.71,2965.67),(90,180,-180)); + var_00.v["fxid"] = "mp_hr2_light_glow_spot"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_spot"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3503.43,5375.84,2965.67),(90,180,-180)); + var_00.v["fxid"] = "mp_hr2_light_glow_spot"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_spot"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3136.5,5695.77,2965.67),(90,180,-180)); + var_00.v["fxid"] = "mp_hr2_light_glow_spot"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_spot"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3039.77,5599.4,2965.67),(90,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_spot"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_spot"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3040.05,5792.41,2965.67),(90,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_spot"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_spot"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2912.31,7184.69,2965.67),(90,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_spot"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_spot"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2912.26,7024.67,2965.67),(90,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_spot"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_highrise_flour_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1376.63,5608.42,2925.75),(359.986,92.7928,0)); + var_00.v["fxid"] = "fx_highrise_flour_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_highrise_flour_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1375.96,5318.25,2926.48),(360,93.9972,0)); + var_00.v["fxid"] = "fx_highrise_flour_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_highrise_flour_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1376.57,5986.28,2924.13),(2,90,3)); + var_00.v["fxid"] = "fx_highrise_flour_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_hr2_fluor_interior_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1376.22,6290.55,2762.43),(358.592,357.801,0.149787)); + var_00.v["fxid"] = "fx_hr2_fluor_interior_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_hr2_fluor_interior_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((110.256,6856.94,2754.78),(360,175,0)); + var_00.v["fxid"] = "fx_hr2_fluor_interior_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_hr2_fluor_interior_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((257.654,6856.54,2755),(360,180,0)); + var_00.v["fxid"] = "fx_hr2_fluor_interior_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_hr2_fluor_interior_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((409.643,6683.85,2755.83),(360,90,0)); + var_00.v["fxid"] = "fx_hr2_fluor_interior_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_hr2_fluor_interior_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((636.001,6681.92,2755.17),(360,90,0)); + var_00.v["fxid"] = "fx_hr2_fluor_interior_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_hr2_fluor_interior_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-195.435,6832.83,2755.8),(360,90,0)); + var_00.v["fxid"] = "fx_hr2_fluor_interior_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((644.93,6861.56,2750.78),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_hr2_fluor_interior_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2498.87,6924.21,2754.33),(360,90,0)); + var_00.v["fxid"] = "fx_hr2_fluor_interior_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_hr2_fluor_interior_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3017.9,6923.88,2757.83),(360,0,0)); + var_00.v["fxid"] = "fx_hr2_fluor_interior_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_hr2_fluor_interior_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3015.1,7149.33,2758.33),(360,180,0)); + var_00.v["fxid"] = "fx_hr2_fluor_interior_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_hr2_fluor_interior_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3170.82,7150.37,2756.88),(360,180,0)); + var_00.v["fxid"] = "fx_hr2_fluor_interior_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_hr2_fluor_interior_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2805.91,6925.53,2757.83),(360,0,0)); + var_00.v["fxid"] = "fx_hr2_fluor_interior_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_hr2_fluor_interior_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1352.39,7066.98,2764.83),(360,90,0)); + var_00.v["fxid"] = "fx_hr2_fluor_interior_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_hr2_fluor_interior_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1217.78,7065.96,2763.83),(360,90,0)); + var_00.v["fxid"] = "fx_hr2_fluor_interior_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_hr2_fluor_interior_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1046.1,7065.83,2762.88),(360,90,0)); + var_00.v["fxid"] = "fx_hr2_fluor_interior_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3698.66,7004.92,2929.36),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3334.11,7073.82,2743.81),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3717.73,6999.48,2929.21),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2907.5,5845.59,2929.84),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_hr2_fluor_interior_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2723.45,6783.6,2980.29),(90,4.40454,-85.595)); + var_00.v["fxid"] = "fx_hr2_fluor_interior_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_hr2_fluor_interior_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2722.76,6597.1,2979.72),(360,90,0)); + var_00.v["fxid"] = "fx_hr2_fluor_interior_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_hr2_fluor_interior_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2722.97,5962.13,2979.89),(360,90,0)); + var_00.v["fxid"] = "fx_hr2_fluor_interior_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_hr2_fluor_interior_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2722.81,6149.73,2979.39),(90,328.333,-121.666)); + var_00.v["fxid"] = "fx_hr2_fluor_interior_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_hr2_fluor_interior_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3584.13,6832.06,2979.78),(0,0,0)); + var_00.v["fxid"] = "fx_hr2_fluor_interior_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_interior_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2943.16,5305.57,2824.13),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_interior_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_interior_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3289.61,5428.09,2824.13),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_interior_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_interior_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3606.95,5420.55,2824.13),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_interior_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_interior_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3798.1,5215.35,2824.13),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_interior_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_interior_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3741.92,5982.14,2824.13),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_interior_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_interior_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3178.6,6677.04,2824.13),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_interior_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_interior_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3787.69,7152.53,2824.73),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_interior_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_interior_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3806.09,6565.31,2824.13),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_interior_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_interior_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3016.46,6925.28,2648.13),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_interior_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_interior_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((113.842,6866.24,2648),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_interior_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_interior_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((653.65,6897.39,2648),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_interior_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_interior_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((1141.46,6742.7,2824),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_interior_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_interior_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((644.2,7228.44,2824),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_interior_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_interior_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((262.482,5359.5,2824),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_interior_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_interior_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((873.322,6819.64,2824.91),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_interior_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_interior_dust_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1332.57,7429.28,2824),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_interior_dust_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_burst_lp_xsml"); + var_00 common_scripts\_createfx::set_origin_and_angles((167.031,6943.17,2687.09),(345.499,270,0)); + var_00.v["fxid"] = "steam_pipe_burst_lp_xsml"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_burst_lp_xsml"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1790.23,6478.48,2701.26),(0,102,0)); + var_00.v["fxid"] = "steam_pipe_burst_lp_xsml"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_vents_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((632.703,6726.05,3093.46),(0,180,-90)); + var_00.v["fxid"] = "steam_ambient_vents_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_vents_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((631.152,5976.63,3098.5),(0,180,-90)); + var_00.v["fxid"] = "steam_ambient_vents_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_vista_fog_bright_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((25001,-11088.8,1693.87),(270,0,-118)); + var_00.v["fxid"] = "mp_hr2_vista_fog_bright_far"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_vista_fog_bright_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((-24158.5,-9062.8,1312.78),(270,0,113)); + var_00.v["fxid"] = "mp_hr2_vista_fog_bright_far"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_hr2_fluor_interior_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1355.68,6558.29,2764.8),(360,0,0)); + var_00.v["fxid"] = "fx_hr2_fluor_interior_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_hr2_fluor_interior_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-298.898,5631.29,2900.64),(360,0,0)); + var_00.v["fxid"] = "fx_hr2_fluor_interior_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_hr2_fluor_interior_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1043.57,6556.68,2763.3),(360,0,0)); + var_00.v["fxid"] = "fx_hr2_fluor_interior_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_hr2_fluor_interior_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2268.43,6077.07,2898.34),(360,90.9978,0)); + var_00.v["fxid"] = "fx_hr2_fluor_interior_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_heli_red_blink_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1241.92,5608.19,3081.75),(270,0,0)); + var_00.v["fxid"] = "light_heli_red_blink_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_dripping_edges_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-458.035,6850.62,2640.16),(270,180,0)); + var_00.v["fxid"] = "mp_hr2_water_dripping_edges_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_dripping_edges_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-417.005,6815.26,2641.19),(270,0,-90)); + var_00.v["fxid"] = "mp_hr2_water_dripping_edges_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_dripping_edges_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-952.697,6683.03,2653.39),(270,180,0)); + var_00.v["fxid"] = "mp_hr2_water_dripping_edges_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_dripping_edges_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-959.73,6929.55,2649.38),(270,39.3192,140.681)); + var_00.v["fxid"] = "mp_hr2_water_dripping_edges_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_dripping_edges"); + var_00 common_scripts\_createfx::set_origin_and_angles((-759.173,6621.25,2646.87),(270,0,90)); + var_00.v["fxid"] = "mp_hr2_water_dripping_edges"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_dripping_edges_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-701.369,6628.08,2648.48),(270,0,-90)); + var_00.v["fxid"] = "mp_hr2_water_dripping_edges_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_dripping_edges_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-838.486,6620.3,2645.84),(270,0,-90)); + var_00.v["fxid"] = "mp_hr2_water_dripping_edges_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_splashes_lp_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-834.059,6713.52,2647.29),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_splashes_lp_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_water_splashes_lp_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-765.557,6688.51,2647.11),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_water_splashes_lp_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1895.66,6610.74,2776.13),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_chainlink_fence_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1482.76,6503.45,2812.13),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_chainlink_fence_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1137.07,6330.26,2855.76),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_chainlink_fence_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-660.513,6311.62,2776.13),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_chainlink_fence_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2044.76,5650.32,2857.5),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_chainlink_fence_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1914.19,5928.46,2825.48),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_chainlink_fence_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1918.1,5646.91,2822.92),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_chainlink_fence_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-803.693,6494,2725.32),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_chainlink_fence_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-931.854,7138,2702.67),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_chainlink_fence_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-755.672,7138,2704.59),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_chainlink_fence_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-549.001,7138,2702.04),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_chainlink_fence_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-607.623,6494,2710.94),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_chainlink_fence_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1862.14,6494,2690.38),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_chainlink_fence_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1235,6393.25,2734.06),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_chainlink_fence_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1235,6091.02,2730.61),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_chainlink_fence_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-757.932,7138,2662.77),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_catwalk_creaks"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-373.041,7138,2707.57),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_catwalk_creaks"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-961.904,6494,2689.99),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_catwalk_creaks"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((169.067,6954,2718.91),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_catwalk_creaks"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((231.925,6768,2734.82),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_catwalk_creaks"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1885.97,6494,2716.01),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_catwalk_creaks"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1423.5,7235.5,2709.22),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_catwalk_creaks"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1178.96,7138,2736.66),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_catwalk_creaks"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-441.547,7138,2747.03),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_catwalk_creaks"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1085.95,6270.24,2776.13),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1472.99,6491.75,2777.13),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_catwalk_creaks"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1480.31,6489.19,2777.13),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1905.54,6580.51,2776.13),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1922.61,5931.88,2776.13),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2115.97,5659.27,2776.13),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2080.71,5614.75,2827.15),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-552.935,7125.07,2649.23),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3871.88,6565.02,2849.33),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_glass_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3680.75,6413.43,2824.13),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_glass_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3271.98,6089.19,2824.13),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_glass_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1905.87,6223.04,2783.71),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_glass_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1905.92,6223.05,2783.71),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_glass_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1944.66,7381.88,2881.71),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_glass_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1506.33,6255.96,2776.13),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_glass_debris_sml"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_instinct_fx.gsc b/AW/PC/maps/createfx/mp_instinct_fx.gsc new file mode 100644 index 0000000..d102009 --- /dev/null +++ b/AW/PC/maps/createfx/mp_instinct_fx.gsc @@ -0,0 +1,3270 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_instinct_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 174 ms + * Timestamp: 4/22/2024 2:07:38 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1444.69,1222.54,379.641),(270,0,0)); + var_00.v["soundalias"] = "emt_cicada_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((987.926,353.937,661.009),(270,0,0)); + var_00.v["soundalias"] = "emt_cicada_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2251.1,333.9,712.556),(270,0,0)); + var_00.v["soundalias"] = "emt_cicada_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((215.353,-444.892,1087.17),(270,0,0)); + var_00.v["soundalias"] = "emt_cicada_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2007.5,-432.823,640.632),(270,0,0)); + var_00.v["soundalias"] = "emt_cicada_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-758.104,1752.52,253.262),(270,0,0)); + var_00.v["soundalias"] = "emt_cicada_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1611.74,1258.12,330.96),(270,0,0)); + var_00.v["soundalias"] = "emt_cicada_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1644.33,515.669,241.605),(270,0,0)); + var_00.v["soundalias"] = "emt_cicada_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1354.49,-856.69,666.625),(270,0,0)); + var_00.v["soundalias"] = "emt_building_transformer_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1061.86,1798.79,353.708),(270,0,0)); + var_00.v["soundalias"] = "emt_cicada_flies_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1592.02,686.79,706.07),(270,0,0)); + var_00.v["soundalias"] = "emt_cicada_steady_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((818.95,50.2654,847.408),(270,0,0)); + var_00.v["soundalias"] = "emt_cicada_steady_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((263.093,-755.995,818.18),(270,0,0)); + var_00.v["soundalias"] = "emt_cicada_steady_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1322.27,-349.307,633.219),(270,0,0)); + var_00.v["soundalias"] = "emt_cicada_steady_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-643.308,-1073.52,628.506),(270,0,0)); + var_00.v["soundalias"] = "emt_cicada_steady_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-558.518,50.9806,276.599),(270,0,0)); + var_00.v["soundalias"] = "emt_cicada_steady_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1592.23,102.413,583.457),(270,0,0)); + var_00.v["soundalias"] = "emt_cricket_slow_broken_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((813.329,2377.13,147.355),(270,0,0)); + var_00.v["soundalias"] = "emt_cricket_slow_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-134.798,2528.69,200.163),(270,0,0)); + var_00.v["soundalias"] = "emt_frogs_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1240.42,1617.49,312.756),(270,0,0)); + var_00.v["soundalias"] = "emt_frogs_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-617.834,2430.16,139.001),(270,0,0)); + var_00.v["soundalias"] = "emt_river_flow_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((62.8256,2592.68,155.675),(270,0,0)); + var_00.v["soundalias"] = "emt_river_flow_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-138.15,2594.89,147.753),(270,0,0)); + var_00.v["soundalias"] = "emt_river_flow_full_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((666.839,2652.65,138.519),(270,0,0)); + var_00.v["soundalias"] = "emt_river_flow_bright_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-718.337,2349.48,201.334),(270,0,0)); + var_00.v["soundalias"] = "emt_river_edge_lrg_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((359.935,2613.52,161.644),(270,0,0)); + var_00.v["soundalias"] = "emt_river_edge_med_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((647.529,2678,143.712),(270,0,0)); + var_00.v["soundalias"] = "emt_river_flow_easy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-33.4638,2504.71,144.419),(270,0,0)); + var_00.v["soundalias"] = "emt_river_edge_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-186.471,2400.48,174.304),(270,0,0)); + var_00.v["soundalias"] = "emt_river_edge_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-508.052,2325.34,158.559),(270,0,0)); + var_00.v["soundalias"] = "emt_river_edge_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-512.58,2390.07,183.628),(270,0,0)); + var_00.v["soundalias"] = "emt_river_flow_jungle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-267.569,2558.88,172.204),(270,0,0)); + var_00.v["soundalias"] = "emt_river_flow_rumble_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((563.298,2603.72,155.208),(270,0,0)); + var_00.v["soundalias"] = "emt_river_edge_lrg_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2132.91,-580.557,484.876),(270,0,0)); + var_00.v["soundalias"] = "emt_river_flow_full_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1037.38,-1108.39,692.447),(270,0,0)); + var_00.v["soundalias"] = "emt_fan_big_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1125.67,-1209.58,691.971),(270,0,0)); + var_00.v["soundalias"] = "emt_fan_big_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1396.7,-759.566,683.295),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1237.24,-1167.81,684.089),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1359.3,-1038.8,691.435),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_lrg_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1079.37,-970.723,682.362),(270,0,0)); + var_00.v["soundalias"] = "emt_freezer_fan_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1378.16,587.819,330.96),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_panel_hum_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-638.148,1404.84,333.213),(270,0,0)); + var_00.v["soundalias"] = "emt_console_medium_hum_beep_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-873.865,1459.41,347.903),(270,0,0)); + var_00.v["soundalias"] = "emt_console_warning_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1062.13,862.794,358.605),(270,0,0)); + var_00.v["soundalias"] = "emt_fluorescent_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1098.48,734.892,362.008),(270,0,0)); + var_00.v["soundalias"] = "emt_fluorescent_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1375.57,700.417,358.206),(270,0,0)); + var_00.v["soundalias"] = "emt_fluorescent_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1332.14,815.422,359.44),(270,0,0)); + var_00.v["soundalias"] = "emt_fluorescent_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1010.03,1363.91,356.147),(270,0,0)); + var_00.v["soundalias"] = "emt_fluorescent_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-799.005,1541.64,356.267),(270,0,0)); + var_00.v["soundalias"] = "emt_fluorescent_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((30.2534,2011.26,556.309),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1199.7,-872.496,633.827),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((149.216,-1617.47,691.815),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1478.35,-472.081,948.428),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((252.998,831.159,427.23),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_slower_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1540.95,-437.437,816.965),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_idle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1105.15,-885.887,685.458),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_slow_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-73.4062,-1586.81,682.94),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_slow_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-684.853,1374.38,317.99),(270,0,0)); + var_00.v["soundalias"] = "emt_panel_pulse_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-924.714,1425.18,352.518),(270,0,0)); + var_00.v["soundalias"] = "emt_panel_pulse_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-646.46,1380.81,324.146),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-916.014,1394.82,297.047),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_idle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2147.09,-1643.13,735.12),(270,0,0)); + var_00.v["soundalias"] = "emt_smoke_rumble_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((67.6314,2027.93,414.137),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_fast_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1570.4,-462.725,572.885),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_fast_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((192.853,-1673.68,677.199),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_fast_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1532.06,-438.551,942.768),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_fast_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1057.63,-1034.47,644.331),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_fast_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-493.253,-1319.43,620.794),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-941.424,1146.37,308.807),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-745.972,1592.94,295.897),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_sml_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1108.51,-875.051,602.851),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2099.84,-1482.71,879.914),(270,0,0)); + var_00.v["soundalias"] = "emt_smoke_swell_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1070.9,1317.88,322.664),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_panel_hum_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1137.89,1014.6,341.677),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_panel_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-60.0751,991.666,319.033),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_gas_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1053.68,-1610.8,587.606),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_gas_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1084.99,1004.25,270.401),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_water_plastic_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1310.99,-1113.91,693.051),(270,0,0)); + var_00.v["soundalias"] = "emt_fan_big_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-801.875,1248.02,307.105),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_panel_hum_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-705.006,1322.29,305.845),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_sml_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1173.47,531.545,296.307),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_sml_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2520.96,-664.779,733.419),(270,0,0)); + var_00.v["soundalias"] = "emt_fluorescent_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2684.13,-719.016,743.609),(270,0,0)); + var_00.v["soundalias"] = "emt_fluorescent_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2536.96,-513.063,743.609),(270,0,0)); + var_00.v["soundalias"] = "emt_fluorescent_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2523.37,-886.097,721.109),(270,0,0)); + var_00.v["soundalias"] = "emt_fluorescent_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1581.91,-1414.27,765.434),(270,0,0)); + var_00.v["soundalias"] = "emt_fluorescent_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1316.64,-1601.59,698.114),(270,0,0)); + var_00.v["soundalias"] = "emt_fluorescent_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1181.36,-1988.05,742.434),(270,0,0)); + var_00.v["soundalias"] = "emt_fluorescent_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1796.95,-1175.21,744.934),(270,0,0)); + var_00.v["soundalias"] = "emt_fluorescent_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2106.38,-747.714,656.308),(270,0,0)); + var_00.v["soundalias"] = "emt_fluorescent_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1031.84,973.363,287.759),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_buzz_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1227.88,1053.13,287.488),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_med_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-962.169,1372.45,314.964),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_sml_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1266.83,1018.61,324.597),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_panel_hum_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1041.24,948.776,333.062),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_panel_hum_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((378.419,1372.43,441.571),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_fast_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2270.23,-158.541,639.737),(270,0,0)); + var_00.v["soundalias"] = "emt_cicada_steady_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-537.358,-577.986,294.992),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_ground_splat_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-549.089,-592.605,291.444),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_dirt_splat_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1018.53,543.935,417.985),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_dirt_splat_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2618.59,-250.591,680),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_cement_splatter_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1478.73,-856.169,684.722),(270,0,0)); + var_00.v["soundalias"] = "emt_fan_big_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1312.69,-758.003,685.074),(270,0,0)); + var_00.v["soundalias"] = "emt_fan_big_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1506.7,-1093.59,641.625),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_cement_splatter_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2375.42,-2232.52,535.419),(270,0,0)); + var_00.v["soundalias"] = "emt_destruction_amb_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1618.27,-2198.29,598.254),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2503.93,-1211.64,575.113),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1656.19,-2328.38,601.401),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_fast_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2531.73,-1331.52,617.247),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_fast_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1906.72,-692.294,596.667),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_gas_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-543.225,105.144,420.357),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_slower_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((627.937,-573.291,697.286),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_slower_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1722.66,126.514,783.034),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_slower_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1247.78,63.3152,617.62),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_slower_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-167.976,-1560.87,643.015),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_fast_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-715.898,-1273.58,632.082),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_fast_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2627.38,-252.351,680),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_ext_clear_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((549.743,2620.94,138.041),(270,0,0)); + var_00.v["soundalias"] = "emt_river_edge_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1035.58,692.991,249.542),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_water_plastic_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-575.505,90.8848,338.463),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_water_plastic_large_lp"; + var_00 = common_scripts\utility::createoneshoteffect("fx_sunflare_instinct"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17674.8,-6431.22,32794.5),(270,0,0)); + var_00.v["fxid"] = "fx_sunflare_instinct"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cloud_shadows_lrg_blur"); + var_00 common_scripts\_createfx::set_origin_and_angles((497.433,-44.8196,2848.13),(270,0,0)); + var_00.v["fxid"] = "cloud_shadows_lrg_blur"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_twirl_no_physics_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((427.779,703.828,985.308),(270,0,0)); + var_00.v["fxid"] = "leaves_fall_twirl_no_physics_3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_twirl_no_physics_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((534.566,96.3495,1187.08),(270,0,0)); + var_00.v["fxid"] = "leaves_fall_twirl_no_physics_3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_twirl_no_physics_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((683.617,-303.284,1441.13),(270,0,0)); + var_00.v["fxid"] = "leaves_fall_twirl_no_physics_3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_twirl_no_physics_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((1679.18,-769.407,1223.03),(270,0,0)); + var_00.v["fxid"] = "leaves_fall_twirl_no_physics_3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_twirl_no_physics_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((496.456,-1296.91,1115.59),(270,0,0)); + var_00.v["fxid"] = "leaves_fall_twirl_no_physics_3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_twirl_no_physics_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((117.898,-860.423,908),(270,0,0)); + var_00.v["fxid"] = "leaves_fall_twirl_no_physics_3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_twirl_no_physics_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-228.701,-487.087,690.044),(270,0,0)); + var_00.v["fxid"] = "leaves_fall_twirl_no_physics_3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_twirl_no_physics_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-761.253,-40.9646,701),(270,0,0)); + var_00.v["fxid"] = "leaves_fall_twirl_no_physics_3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_twirl_no_physics_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-934.145,614.075,768.581),(270,0,0)); + var_00.v["fxid"] = "leaves_fall_twirl_no_physics_3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_twirl_no_physics_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1253.39,1522.61,701),(270,0,0)); + var_00.v["fxid"] = "leaves_fall_twirl_no_physics_3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_twirl_no_physics_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-583.946,1675.4,922.81),(270,180,-90)); + var_00.v["fxid"] = "leaves_fall_twirl_no_physics_3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_twirl_no_physics_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((943.54,1358.21,875.125),(270,0,0)); + var_00.v["fxid"] = "leaves_fall_twirl_no_physics_3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_twirl_no_physics_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((1430.86,905.556,951.727),(270,0,0)); + var_00.v["fxid"] = "leaves_fall_twirl_no_physics_3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_twirl_no_physics_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((2184.03,89.4404,1056.24),(270,0,0)); + var_00.v["fxid"] = "leaves_fall_twirl_no_physics_3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_twirl_no_physics_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((2536.2,-26.3423,1109),(270,0,0)); + var_00.v["fxid"] = "leaves_fall_twirl_no_physics_3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_twirl_no_physics_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((185.533,-2055.31,965.119),(270,0,0)); + var_00.v["fxid"] = "leaves_fall_twirl_no_physics_3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_twirl_no_physics_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1044.37,-1295.91,982.903),(270,0,0)); + var_00.v["fxid"] = "leaves_fall_twirl_no_physics_3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_twirl_no_physics_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((1234.81,-148.872,1308.69),(270,0,0)); + var_00.v["fxid"] = "leaves_fall_twirl_no_physics_3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_twirl_no_physics_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((1145.59,313.535,1080.47),(270,0,0)); + var_00.v["fxid"] = "leaves_fall_twirl_no_physics_3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_twirl_no_physics_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((1160.99,632.344,1136),(270,0,0)); + var_00.v["fxid"] = "leaves_fall_twirl_no_physics_3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fog_rising_patch_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((493.812,358.968,585.986),(299.838,85.2551,5.24225)); + var_00.v["fxid"] = "fog_rising_patch_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fog_rising_patch_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((1813.92,-630.124,581.428),(274.042,154.265,0)); + var_00.v["fxid"] = "fog_rising_patch_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fog_rising_patch_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((1245.33,853.935,394.377),(288.668,89.5246,0)); + var_00.v["fxid"] = "fog_rising_patch_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fog_rising_patch_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((796.924,1460.25,313.145),(281.268,170.811,0)); + var_00.v["fxid"] = "fog_rising_patch_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fog_rising_patch_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((2350.27,62.118,667.389),(271.735,218.114,0)); + var_00.v["fxid"] = "fog_rising_patch_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fog_rising_patch_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((-123.659,163.651,539.136),(305.126,169.857,0)); + var_00.v["fxid"] = "fog_rising_patch_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fog_rising_patch_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((-608.859,990.514,277.98),(281.606,140.228,0)); + var_00.v["fxid"] = "fog_rising_patch_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fog_rising_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1573.92,1071.78,255),(270,0,0)); + var_00.v["fxid"] = "fog_rising_patch"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fog_rising_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-35.1284,1942.4,141.761),(270,0,0)); + var_00.v["fxid"] = "fog_rising_patch"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-759.914,-170.423,769),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-728.565,2.52841,801),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-656.775,-510.35,705),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1245.15,1157.25,660.437),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((973.6,1535.38,743.376),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1001.74,570.845,916.625),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1073.23,125.724,924.681),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1065.55,32.6981,989.1),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1979.65,-254.635,1039.38),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2194.9,242.429,941.7),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2443.8,138.456,994.748),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1082.57,-674.073,959.192),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1820.6,293.457,1245.43),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((380.664,-1347.29,987.676),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((89.6892,-992.447,901.141),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1358.82,-335.721,742.511),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1040.64,-758.066,917.027),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-607.687,-1315.53,763.99),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-610.049,1675.63,712.103),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1189.03,1444.28,712),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1477.2,1021.03,675),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1418.27,1291.3,705),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-377.504,-22.3755,925.06),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_godray_beam_7"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1380.23,729.023,1198.49),(63.527,20.5437,14.5444)); + var_00.v["fxid"] = "light_godray_beam_7"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_godray_beam_7"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1137.34,325.166,1262.29),(63.5275,20.5443,18.545)); + var_00.v["fxid"] = "light_godray_beam_7"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_godray_beam_7"); + var_00 common_scripts\_createfx::set_origin_and_angles((160.865,-1125.83,1227.21),(63.5275,20.5443,18.545)); + var_00.v["fxid"] = "light_godray_beam_7"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_godray_beam_7"); + var_00 common_scripts\_createfx::set_origin_and_angles((1027.39,839.46,1076.67),(63.5275,20.5443,18.545)); + var_00.v["fxid"] = "light_godray_beam_7"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_godray_beam_7"); + var_00 common_scripts\_createfx::set_origin_and_angles((-120.74,543.972,975.66),(63.5275,20.5443,18.545)); + var_00.v["fxid"] = "light_godray_beam_7"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_godray_beam_7"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1255.24,-965.329,1100.74),(51.2015,17.3124,-8.21319)); + var_00.v["fxid"] = "light_godray_beam_7"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_twirl_no_physics_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-715.973,650.987,845.169),(270,0,0)); + var_00.v["fxid"] = "leaves_fall_twirl_no_physics_3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_godray_beam_7"); + var_00 common_scripts\_createfx::set_origin_and_angles((2337.11,-63.3175,1075.69),(63.5275,20.5443,18.545)); + var_00.v["fxid"] = "light_godray_beam_7"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fog_rising_patch_ground_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((240.839,828.884,401.853),(270,0,-97)); + var_00.v["fxid"] = "fog_rising_patch_ground_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fog_rising_patch_ground_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1462.99,705.577,533.702),(270,0,-59)); + var_00.v["fxid"] = "fog_rising_patch_ground_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_godray_beam_7"); + var_00 common_scripts\_createfx::set_origin_and_angles((428.041,-1113.09,1491.89),(63.5275,20.5443,18.545)); + var_00.v["fxid"] = "light_godray_beam_7"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1132.62,276.141,887),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-293.981,-274.752,744.982),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-50.0342,-526.065,923.607),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-300.439,-966.053,1001.91),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-653.465,-1153.2,869.825),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1126.39,-892.114,965.369),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1214.28,-484.239,1015.74),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1495.59,786.428,711.125),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_godray_beam_9"); + var_00 common_scripts\_createfx::set_origin_and_angles((547.906,-333.918,867),(64.3349,13.9657,12.6345)); + var_00.v["fxid"] = "light_godray_beam_9"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("instinct_red_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2534.79,-271.466,688.272),(270,0,0)); + var_00.v["fxid"] = "instinct_red_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("instinct_red_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2493.12,-267.746,694.188),(270,0,0)); + var_00.v["fxid"] = "instinct_red_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("instinct_red_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2460.05,-739.706,709.499),(270,0,0)); + var_00.v["fxid"] = "instinct_red_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("instinct_red_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2467.95,-717.918,714.781),(270,0,0)); + var_00.v["fxid"] = "instinct_red_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("instinct_red_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2408.68,-1006.34,631.873),(270,0,0)); + var_00.v["fxid"] = "instinct_red_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("instinct_red_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2412.38,-1033.48,629.711),(270,0,0)); + var_00.v["fxid"] = "instinct_red_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("instinct_red_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1266.13,-2070.05,630.613),(270,0,0)); + var_00.v["fxid"] = "instinct_red_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("instinct_red_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1272.14,-2092.24,640.635),(270,0,0)); + var_00.v["fxid"] = "instinct_red_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("instinct_red_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1616.69,-1424.76,652.515),(270,0,0)); + var_00.v["fxid"] = "instinct_red_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("instinct_red_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1603.05,-1446.41,655.436),(270,0,0)); + var_00.v["fxid"] = "instinct_red_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2676.79,-305.732,813),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2645.7,-621.894,799),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2526.17,-752.809,780),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2292.02,-976.691,759.768),(271.419,214.902,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2115.76,-985.83,805.878),(271.184,154.974,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2639.71,-394.494,815),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-790.031,-909.877,958.363),(272.474,113.752,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1018.08,61.6483,843.47),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1139.56,520.693,906),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1204.52,223.23,1063.28),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1096.7,91.9045,1044.01),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1399.72,807.932,1026.86),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1808.36,216.686,1110.75),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1519.25,-908.322,1151.91),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("flare_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((-632.174,-896.305,250.303),(270,0,0)); + var_00.v["fxid"] = "flare_ambient"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00.v["soundalias"] = "emt_sparks_flares_cove_lp"; + var_00 = common_scripts\utility::createoneshoteffect("flare_ambient_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-626.896,-900.322,250.303),(270,0,0)); + var_00.v["fxid"] = "flare_ambient_02"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "cg"; + var_00.v["soundalias"] = "emt_sparks_flares_cove_lp"; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2614.65,-617.875,801),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2515.45,-819.704,796.438),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1976.46,-824.004,754.138),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-838,-7.49084,817.7),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1078.11,1054.58,841.168),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1122.38,170.282,976.836),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1157.03,599.571,931.36),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1868.86,-600.152,1017.04),(271.184,154.974,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1710.8,-762.419,1143.56),(271.184,154.974,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2124.14,36.9709,994.801),(271.184,154.974,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1985.06,-34.5165,1041.21),(271.184,154.974,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2434.31,9.85334,1047.26),(271.184,154.974,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2594.48,-91.6096,1007.49),(271.184,154.974,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1970.25,135.01,1085.79),(271.184,154.974,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1156.61,-1833.69,760),(273,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2620.57,-250.413,873),(270,0,-38)); + var_00.v["fxid"] = "falling_water_exterior_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((1761.66,354.642,901),(270,180,135)); + var_00.v["fxid"] = "falling_water_exterior_thin"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((1311.19,-1294.37,802.006),(270,0,-133)); + var_00.v["fxid"] = "falling_water_exterior_thin"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((445.06,-253.457,838),(270,0,3)); + var_00.v["fxid"] = "falling_water_exterior_thin"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-322.893,526.835,642.807),(270,0,-176)); + var_00.v["fxid"] = "falling_water_exterior_thin"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-541.366,-588.141,577.511),(270,0,-38)); + var_00.v["fxid"] = "falling_water_exterior_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-352.521,-297.919,620.127),(270,0,-114)); + var_00.v["fxid"] = "falling_water_exterior_thin"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1291.42,-121.464,582.231),(270,0,156)); + var_00.v["fxid"] = "falling_water_exterior_thin"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1022.24,547.151,563.329),(270,0,4)); + var_00.v["fxid"] = "falling_water_exterior_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((205.616,-18.295,784.917),(270,0,-177)); + var_00.v["fxid"] = "falling_water_exterior_thin"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1515.7,-1100.9,835.007),(270,0,-120)); + var_00.v["fxid"] = "falling_water_exterior_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-135.295,716.378,602.064),(270,0,92)); + var_00.v["fxid"] = "falling_water_exterior_thin"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47.6571,705.263,600.639),(270,0,92)); + var_00.v["fxid"] = "falling_water_exterior_thin"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("flare_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((1734.17,158.075,642.593),(270,0,0)); + var_00.v["fxid"] = "flare_ambient"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00.v["soundalias"] = "emt_sparks_flares_lp"; + var_00 = common_scripts\utility::createoneshoteffect("flare_ambient_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((1739.94,157.266,642.593),(270,0,0)); + var_00.v["fxid"] = "flare_ambient_02"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "cg"; + var_00.v["soundalias"] = "emt_sparks_flares_lp"; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((1804.36,154.407,742.634),(270,180,135)); + var_00.v["fxid"] = "falling_water_exterior_thin"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fog_rising_patch_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((-182.147,798.599,395.358),(270,0,-131)); + var_00.v["fxid"] = "fog_rising_patch_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((558.826,-302.88,733),(270,0,0)); + var_00.v["fxid"] = "ambient_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1190.19,786.48,436.068),(270,0,0)); + var_00.v["fxid"] = "ambient_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((2323.34,21.0704,718.634),(270,0,0)); + var_00.v["fxid"] = "ambient_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1155.37,238.204,623.963),(270,0,0)); + var_00.v["fxid"] = "ambient_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1176.17,1185.42,427.105),(270,0,0)); + var_00.v["fxid"] = "ambient_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-750.955,552.063,335.742),(270,0,0)); + var_00.v["fxid"] = "ambient_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-788.216,-890.734,646.206),(270,0,0)); + var_00.v["fxid"] = "ambient_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((378.708,-1307.9,729.489),(270,0,0)); + var_00.v["fxid"] = "ambient_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-777.517,-425.207,294.043),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((2017.15,-312.463,658.232),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((2862.31,-293.561,715.975),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((2691.94,-736.422,741.751),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((1390.55,-1576.63,720.481),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((1624.34,-1448.16,756.748),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((2507.68,-656.257,734.526),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-208.322,898.261,398.054),(270,0,0)); + var_00.v["fxid"] = "ambient_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_dragonfly_runner_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1258.8,1841.64,339.278),(270,0,53)); + var_00.v["fxid"] = "insects_dragonfly_runner_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_dragonfly_runner_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1900.1,984.435,366.892),(270,0,108)); + var_00.v["fxid"] = "insects_dragonfly_runner_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_dragonfly_runner_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1413.03,-691.444,582.09),(270,0,126)); + var_00.v["fxid"] = "insects_dragonfly_runner_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_dragonfly_runner_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((159.061,-1479.39,610.607),(276,156,0)); + var_00.v["fxid"] = "insects_dragonfly_runner_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1045.37,-766.32,605.036),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1016.48,-981.601,604),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-864.744,44.4214,267.037),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1020.55,1350.12,355.029),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1375.6,699.421,348.462),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_dragonfly_runner_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((1321.66,1537.2,438.576),(270,180,137)); + var_00.v["fxid"] = "insects_dragonfly_runner_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1502.1,725.416,565.672),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1703.99,200.266,788),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1463.7,627.988,750.696),(270,0,0)); + var_00.v["fxid"] = "ambient_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((2289.44,-122.241,656.834),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((2525.22,-901.775,725.932),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1122.38,-505.668,718.844),(270,0,0)); + var_00.v["fxid"] = "ambient_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((580.412,-273.972,754),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_dragonfly_runner_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((-309.648,-730.928,758.343),(276,156,-37)); + var_00.v["fxid"] = "insects_dragonfly_runner_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-293.894,1174.61,360.555),(270,0,0)); + var_00.v["fxid"] = "ambient_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((266.124,629.266,541.636),(270,0,0)); + var_00.v["fxid"] = "ambient_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((2108.13,-753.25,662.549),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-97.9923,-646.123,509.75),(270,0,0)); + var_00.v["fxid"] = "ambient_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((261.036,1628,331.014),(270,0,0)); + var_00.v["fxid"] = "ambient_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1620.8,-464.919,695.656),(270,0,0)); + var_00.v["fxid"] = "ambient_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((295.029,-1144.01,921.271),(270,0,0)); + var_00.v["fxid"] = "ambient_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-353.419,-415.057,447.69),(270,0,0)); + var_00.v["fxid"] = "ambient_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_godray_beam_8"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1209.74,908.509,374.875),(80,68.9844,89.984)); + var_00.v["fxid"] = "light_godray_beam_8"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_godray_beam_8"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1298.74,679.418,381.875),(80,70.9933,89.9929)); + var_00.v["fxid"] = "light_godray_beam_8"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_godray_beam_8"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1203.69,640.896,379.875),(80,69.9975,89.9973)); + var_00.v["fxid"] = "light_godray_beam_8"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_godray_beam_8"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1110.35,878.826,379.875),(80,69.9975,89.9973)); + var_00.v["fxid"] = "light_godray_beam_8"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("river_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-594.269,2620.93,73.0629),(270,0,25)); + var_00.v["fxid"] = "river_splashes_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("river_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-581.047,2668.69,69.5863),(270,0,-31)); + var_00.v["fxid"] = "river_splashes_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("river_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-548.962,2862.25,73.2886),(270,0,80)); + var_00.v["fxid"] = "river_splashes_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("river_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-512.163,2828.84,73.2801),(270,0,118)); + var_00.v["fxid"] = "river_splashes_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("river_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-534.679,2572.2,73.292),(270,0,16)); + var_00.v["fxid"] = "river_splashes_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("river_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-858.417,2881.49,74.7339),(270,0,-32)); + var_00.v["fxid"] = "river_splashes_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("river_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-956.893,2904.39,78.9908),(273,97,-90)); + var_00.v["fxid"] = "river_splashes_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("river_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-238.136,2709.74,84.0196),(270,0,21)); + var_00.v["fxid"] = "river_splashes_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("river_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((183.602,2866.53,70.7379),(270,0,12)); + var_00.v["fxid"] = "river_splashes_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("river_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((173.363,2926.9,73.0396),(270,0,2)); + var_00.v["fxid"] = "river_splashes_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("river_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((173.012,2985.23,73.2759),(270,0,2)); + var_00.v["fxid"] = "river_splashes_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("river_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((276.755,2676.95,73.9772),(270,0,30)); + var_00.v["fxid"] = "river_splashes_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("river_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-198.123,2929.27,84.4332),(270,0,56)); + var_00.v["fxid"] = "river_splashes_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("river_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-323.144,2982.99,74.8383),(270,0,13)); + var_00.v["fxid"] = "river_splashes_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("river_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((107.136,3019.94,73.2925),(270,0,32)); + var_00.v["fxid"] = "river_splashes_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("river_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((60.378,2725.89,72.4786),(270,0,-42)); + var_00.v["fxid"] = "river_splashes_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("river_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-647.427,2534.29,73.8971),(270,0,-45)); + var_00.v["fxid"] = "river_splashes_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("river_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-828.647,2826.81,74.2308),(271,345,90)); + var_00.v["fxid"] = "river_splashes_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("river_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1078.98,2949.48,74.097),(273,96.9958,-67.996)); + var_00.v["fxid"] = "river_splashes_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("river_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1482.42,2999.75,73.3608),(273,96.9919,-58.9923)); + var_00.v["fxid"] = "river_splashes_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("river_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1291.89,2730.51,70.6163),(273.76,332.196,65.7223)); + var_00.v["fxid"] = "river_splashes_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("river_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1244.55,2667.07,71.3608),(271.963,350.827,53.1116)); + var_00.v["fxid"] = "river_splashes_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("river_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1132.4,2552.98,74.0053),(271.963,350.827,-1.8892)); + var_00.v["fxid"] = "river_splashes_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("river_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1805.64,2990.75,73.557),(273,96.9826,-21.9839)); + var_00.v["fxid"] = "river_splashes_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("river_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2196.12,2632.84,73.3608),(271.368,130.115,124.903)); + var_00.v["fxid"] = "river_splashes_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("river_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((491.748,3165.46,73.2925),(270,180,-142)); + var_00.v["fxid"] = "river_splashes_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("river_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((1285.31,3435.35,73.2925),(270,0,76)); + var_00.v["fxid"] = "river_splashes_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("river_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((1529.72,3038.27,70.4092),(270,0,10)); + var_00.v["fxid"] = "river_splashes_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("river_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((1118.87,2939.93,73.2925),(270,0,-36)); + var_00.v["fxid"] = "river_splashes_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("river_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((1575.7,3243.35,73.2843),(270,180,121)); + var_00.v["fxid"] = "river_splashes_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("river_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((1608.55,3324.39,73.2987),(270,0,53)); + var_00.v["fxid"] = "river_splashes_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("diesel_drill_smk_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((-102.188,-1808.73,1177.68),(276,339.402,-35)); + var_00.v["fxid"] = "diesel_drill_smk_lt"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("diesel_drill_smk_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((3206.99,-1712.5,724.764),(270,180,146.056)); + var_00.v["fxid"] = "diesel_drill_smk_lt"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("diesel_drill_smk_ring_lt_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-107.884,-1806.85,1132.25),(278,333,0)); + var_00.v["fxid"] = "diesel_drill_smk_ring_lt_lp"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("diesel_drill_smk_ring_lt_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3215.14,-1716.06,652.764),(270,0,-27)); + var_00.v["fxid"] = "diesel_drill_smk_ring_lt_lp"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("diesel_drill_smk_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1555.19,-1285.21,1193.5),(276,339.402,-35)); + var_00.v["fxid"] = "diesel_drill_smk_lt"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("diesel_drill_smk_ring_lt_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1551.35,-1282.41,1126.08),(278,333,0)); + var_00.v["fxid"] = "diesel_drill_smk_ring_lt_lp"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("diesel_drill_smk_ring_lt_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3060.93,-629.509,1091.58),(278,333,0)); + var_00.v["fxid"] = "diesel_drill_smk_ring_lt_lp"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("diesel_drill_smk_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3064.77,-632.309,1159),(276,339.402,-35)); + var_00.v["fxid"] = "diesel_drill_smk_lt"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("diesel_drill_smk_ring_lt_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2057.84,-2777.41,578.292),(270,0,-27)); + var_00.v["fxid"] = "diesel_drill_smk_ring_lt_lp"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("diesel_drill_smk_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((2061.48,-2771.46,650.292),(270,180,146.056)); + var_00.v["fxid"] = "diesel_drill_smk_lt"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1899.95,-1475.14,844.109),(278.695,226.245,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1437.08,-1923.93,894.712),(275.518,128.884,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1605.33,-1587.82,801.035),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1156.61,-1833.69,760),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1536.87,-1599.74,823),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_forest_dripping_leaves_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1287.01,-1890.89,802),(270,0,0)); + var_00.v["fxid"] = "rain_forest_dripping_leaves_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("diesel_drill_smk_ring_lt_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1530.41,-441.957,1537.72),(278,333,0)); + var_00.v["fxid"] = "diesel_drill_smk_ring_lt_lp"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("diesel_drill_smk_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((1536.11,-443.837,1583.15),(276,339.402,-35)); + var_00.v["fxid"] = "diesel_drill_smk_lt"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("flare_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((2424.03,-789.79,648.813),(270,0,0)); + var_00.v["fxid"] = "flare_ambient"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_sparks_flares_lp"; + var_00 = common_scripts\utility::createexploder("dynamic_explosion1"); + var_00 common_scripts\_createfx::set_origin_and_angles((583.918,-776.125,551.971),(281,0,0)); + var_00.v["fxid"] = "dynamic_explosion1"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("dynamic_explosion1"); + var_00 common_scripts\_createfx::set_origin_and_angles((63.875,-299.398,489.73),(270,0,0)); + var_00.v["fxid"] = "dynamic_explosion1"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("dynamic_explosion2"); + var_00 common_scripts\_createfx::set_origin_and_angles((71.875,-302.627,583.303),(270,0,0)); + var_00.v["fxid"] = "dynamic_explosion2"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("fireball_hallway_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((2667.96,-715.397,728),(360,93,-90)); + var_00.v["fxid"] = "fireball_hallway_1"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "150"; + var_00 = common_scripts\utility::createexploder("fireball_hallway_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((2189.09,-1001.12,657.957),(0,138,-90)); + var_00.v["fxid"] = "fireball_hallway_1"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "150"; + var_00 = common_scripts\utility::createexploder("fireball_hallway_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((1330.48,-1874.23,672.09),(0,148,-90)); + var_00.v["fxid"] = "fireball_hallway_1"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "150"; + var_00 = common_scripts\utility::createexploder("dust_falling_cave_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((2638.2,-403.266,814),(270,180,0)); + var_00.v["fxid"] = "dust_falling_cave_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("dust_falling_cave_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((2619.52,-673.971,809.216),(270,0,167)); + var_00.v["fxid"] = "dust_falling_cave_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("dust_falling_cave_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((2377.56,-924.925,785.149),(270,180,-45)); + var_00.v["fxid"] = "dust_falling_cave_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("dust_falling_cave_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((2000.35,-786.336,768),(270,0,-134)); + var_00.v["fxid"] = "dust_falling_cave_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("dust_falling_cave_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((1057.24,-1676.51,742.358),(280,329,-90)); + var_00.v["fxid"] = "dust_falling_cave_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("dust_falling_cave_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((1365.75,-1671.41,794.872),(270,0,-74)); + var_00.v["fxid"] = "dust_falling_cave_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("dust_falling_cave_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((2453.94,-1175.25,874.443),(270,0,-134)); + var_00.v["fxid"] = "dust_falling_cave_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("dust_falling_cave_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((2282.98,-1396.9,992.875),(270,0,-134)); + var_00.v["fxid"] = "dust_falling_cave_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("dust_falling_cave_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((1640.55,-2055.1,1047.45),(270,180,36)); + var_00.v["fxid"] = "dust_falling_cave_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("dust_falling_cave_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((687.184,-499.245,811),(270,0,-178)); + var_00.v["fxid"] = "dust_falling_cave_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("dust_falling_cave_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((277.543,52.8429,768.428),(270,0,-179)); + var_00.v["fxid"] = "dust_falling_cave_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("dust_falling_cave_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((537.563,49.8853,794.387),(270,0,-134)); + var_00.v["fxid"] = "dust_falling_cave_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("dust_falling_cave_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((1738.3,369.599,878),(270,0,-134)); + var_00.v["fxid"] = "dust_falling_cave_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("dust_falling_cave_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((1476.38,480.044,852),(270,0,-134)); + var_00.v["fxid"] = "dust_falling_cave_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("dust_falling_cave_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-347.127,-493.448,677.501),(270,180,-39)); + var_00.v["fxid"] = "dust_falling_cave_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("dust_falling_cave_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((599.678,953.824,389.126),(280,267,-90)); + var_00.v["fxid"] = "dust_falling_cave_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("dust_falling_cave_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((202.805,921.533,376.265),(280,267,-90)); + var_00.v["fxid"] = "dust_falling_cave_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("dust_falling_cave_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((516.832,759.014,462),(280,267,-90)); + var_00.v["fxid"] = "dust_falling_cave_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("dust_falling_cave_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((24.4078,722.114,459.294),(280,267,-90)); + var_00.v["fxid"] = "dust_falling_cave_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("dust_falling_cave_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-317.221,387.651,455.623),(270.174,356.731,80.2841)); + var_00.v["fxid"] = "dust_falling_cave_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("dust_falling_cave_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-333.636,223.993,456.962),(270.174,356.731,80.2841)); + var_00.v["fxid"] = "dust_falling_cave_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("dust_falling_cave_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((1355.16,905.361,480.268),(270.174,356.739,37.2748)); + var_00.v["fxid"] = "dust_falling_cave_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("dust_falling_cave_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-268.348,649.338,603.41),(280,267,-30)); + var_00.v["fxid"] = "dust_falling_cave_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("dust_falling_cave_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-299.894,454.82,601.509),(271.298,285.921,178.325)); + var_00.v["fxid"] = "dust_falling_cave_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("fire_lp_med_radius10"); + var_00 common_scripts\_createfx::set_origin_and_angles((2343.27,-1075.75,619.143),(270,0,0)); + var_00.v["fxid"] = "fire_lp_med_radius10"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00.v["loopsound"] = "emt_fire_ground_muff_lp"; + var_00 = common_scripts\utility::createexploder("fire_lp_med_radius10"); + var_00 common_scripts\_createfx::set_origin_and_angles((2005.11,-1012.8,656.207),(302.786,60.552,0)); + var_00.v["fxid"] = "fire_lp_med_radius10"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00.v["loopsound"] = "emt_fire_ground_lp"; + var_00 = common_scripts\utility::createexploder("fire_lrg_100x20_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2124.48,-758.755,616.512),(270,0,35)); + var_00.v["fxid"] = "fire_lrg_100x20_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00.v["loopsound"] = "emt_fire_ground_muff_lp"; + var_00 = common_scripts\utility::createexploder("fire_lrg_100x20_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2187.49,-862.522,608.552),(270,0,59)); + var_00.v["fxid"] = "fire_lrg_100x20_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00.v["loopsound"] = "emt_fire_ground_lp"; + var_00 = common_scripts\utility::createexploder("fire_lrg_100x20_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1963.89,-898.432,607.037),(270,0,35)); + var_00.v["fxid"] = "fire_lrg_100x20_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00.v["loopsound"] = "emt_fire_ground_lp"; + var_00 = common_scripts\utility::createexploder("fire_lrg_100x20_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2261.13,-880.084,617.862),(270,0,109)); + var_00.v["fxid"] = "fire_lrg_100x20_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00.v["loopsound"] = "emt_fire_ground_lp"; + var_00 = common_scripts\utility::createexploder("fire_lrg_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2298.34,-1120.68,620.273),(270,0,125)); + var_00.v["fxid"] = "fire_lrg_100x100_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00.v["loopsound"] = "emt_fire_ground_lp"; + var_00 = common_scripts\utility::createexploder("fire_med_50x10_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2074.64,-951.253,608.908),(275.258,135.282,0)); + var_00.v["fxid"] = "fire_med_50x10_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00.v["loopsound"] = "emt_fire_ground_lp"; + var_00 = common_scripts\utility::createexploder("fire_med_50x10_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2154.81,-964.889,610.672),(271.802,147.2,0)); + var_00.v["fxid"] = "fire_med_50x10_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00.v["loopsound"] = "emt_fire_ground_muff_lp"; + var_00 = common_scripts\utility::createexploder("fire_med_50x10_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2081.31,-1175.22,673.09),(293.711,33.2964,0)); + var_00.v["fxid"] = "fire_med_50x10_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00.v["loopsound"] = "emt_fire_ground_lp"; + var_00 = common_scripts\utility::createexploder("fire_lrg_100x20_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2482.35,-929.423,653.391),(292.631,170.069,-24)); + var_00.v["fxid"] = "fire_lrg_100x20_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00.v["loopsound"] = "emt_fire_ground_lp"; + var_00 = common_scripts\utility::createexploder("fire_lrg_100x20_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2744.09,-617.562,684.348),(280.069,159.567,4)); + var_00.v["fxid"] = "fire_lrg_100x20_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00.v["loopsound"] = "emt_fire_ground_lp"; + var_00 = common_scripts\utility::createexploder("fire_lp_med_radius10"); + var_00 common_scripts\_createfx::set_origin_and_angles((2507.35,-725.336,663.768),(280.15,230.013,-3)); + var_00.v["fxid"] = "fire_lp_med_radius10"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00.v["loopsound"] = "emt_fire_ground_lp"; + var_00 = common_scripts\utility::createexploder("fire_lp_med_radius10"); + var_00 common_scripts\_createfx::set_origin_and_angles((2441.48,-961.05,762.137),(359.789,190.085,0)); + var_00.v["fxid"] = "fire_lp_med_radius10"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00 = common_scripts\utility::createexploder("fire_lp_med_radius10"); + var_00 common_scripts\_createfx::set_origin_and_angles((2203.16,-803.758,668),(270,0,0)); + var_00.v["fxid"] = "fire_lp_med_radius10"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00 = common_scripts\utility::createexploder("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2613.19,-766.22,781.956),(25.4793,162.361,170.728)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00 = common_scripts\utility::createexploder("generator_damage_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((946.835,1348.3,329.991),(0,318,0)); + var_00.v["fxid"] = "generator_damage_runner"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "110"; + var_00.v["loopsound"] = "emt_fire_ground_lp"; + var_00 = common_scripts\utility::createexploder("generator_damage_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1725.28,134.076,760.043),(0,134,0)); + var_00.v["fxid"] = "generator_damage_runner"; + var_00.v["delay"] = 0.5; + var_00.v["exploder"] = "110"; + var_00 = common_scripts\utility::createexploder("generator_damage_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1010.02,-418.678,672),(0,181,0)); + var_00.v["fxid"] = "generator_damage_runner"; + var_00.v["delay"] = 0.3; + var_00.v["exploder"] = "110"; + var_00.v["loopsound"] = "emt_fire_ground_lp"; + var_00 = common_scripts\utility::createexploder("generator_damage_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((617.664,-579.148,672.589),(0,103,-1)); + var_00.v["fxid"] = "generator_damage_runner"; + var_00.v["delay"] = 0.2; + var_00.v["exploder"] = "110"; + var_00.v["loopsound"] = "emt_fire_ground_muff_lp"; + var_00 = common_scripts\utility::createexploder("generator_damage_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-533.29,103.141,394.305),(0,179,0)); + var_00.v["fxid"] = "generator_damage_runner"; + var_00.v["delay"] = 0.7; + var_00.v["exploder"] = "110"; + var_00.v["loopsound"] = "emt_fire_ground_lp"; + var_00 = common_scripts\utility::createexploder("small_generator_dmg_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((1737.27,140.871,759.587),(270,180,137)); + var_00.v["fxid"] = "small_generator_dmg_fire"; + var_00.v["delay"] = 0.5; + var_00.v["exploder"] = "110"; + var_00.v["loopsound"] = "emt_fire_ground_lp"; + var_00 = common_scripts\utility::createexploder("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((967.176,1369.38,355.382),(0.568139,48.4717,0)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "110"; + var_00 = common_scripts\utility::createexploder("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1011,-393.061,672.541),(0,1.00001,0)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = 0.3; + var_00.v["exploder"] = "110"; + var_00 = common_scripts\utility::createexploder("small_generator_dmg_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((624.466,-572.535,672.589),(270.25,286.026,177.973)); + var_00.v["fxid"] = "small_generator_dmg_fire"; + var_00.v["delay"] = 0.2; + var_00.v["exploder"] = "110"; + var_00.v["loopsound"] = "emt_fire_ground_lp"; + var_00 = common_scripts\utility::createexploder("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-502.495,101.881,417.43),(0.572243,358.845,0)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "110"; + var_00 = common_scripts\utility::createexploder("natural_gas_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((-196.706,1379.54,239.47),(275.09,69.0266,0)); + var_00.v["fxid"] = "natural_gas_burst"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("natural_gas_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((269.699,1473.77,239.217),(279.446,136.382,0)); + var_00.v["fxid"] = "natural_gas_burst"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("natural_gas_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((169.43,876.667,395.076),(270.62,140.17,42.0224)); + var_00.v["fxid"] = "natural_gas_burst"; + var_00.v["delay"] = 0.5; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("natural_gas_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((335.163,961.242,276.256),(279.722,151.206,36)); + var_00.v["fxid"] = "natural_gas_burst"; + var_00.v["delay"] = 0.3; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("natural_gas_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((-139.356,1028.09,312.342),(301.319,83.6839,-81)); + var_00.v["fxid"] = "natural_gas_burst"; + var_00.v["delay"] = 0.2; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("natural_gas_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((291.539,787.932,401.936),(275.383,342.371,0)); + var_00.v["fxid"] = "natural_gas_burst"; + var_00.v["delay"] = 0.6; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("natural_gas_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((405.971,858.919,395.875),(271.336,268.822,-82.9939)); + var_00.v["fxid"] = "natural_gas_burst"; + var_00.v["delay"] = 0.6; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("natural_gas_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((616.956,617.667,471.29),(270.645,339.14,13)); + var_00.v["fxid"] = "natural_gas_burst"; + var_00.v["delay"] = 0.7; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("natural_gas_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((795.461,1371.13,314.836),(280.684,177.23,0)); + var_00.v["fxid"] = "natural_gas_burst"; + var_00.v["delay"] = 0.1; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("natural_gas_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((795.001,1298.85,315.289),(280.317,177.23,0)); + var_00.v["fxid"] = "natural_gas_burst"; + var_00.v["delay"] = 0.2; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("natural_gas_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((757.961,1046.77,309.057),(279.108,178.755,0)); + var_00.v["fxid"] = "natural_gas_burst"; + var_00.v["delay"] = 0.3; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("natural_gas_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((613.335,990.777,309.639),(298.454,107.45,-102)); + var_00.v["fxid"] = "natural_gas_burst"; + var_00.v["delay"] = 0.4; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("natural_gas_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((613.187,569.272,476.735),(271.096,87.3616,-77.9924)); + var_00.v["fxid"] = "natural_gas_burst"; + var_00.v["delay"] = 0.8; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("natural_gas_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((524.219,508.793,503.48),(271.594,279.761,-91)); + var_00.v["fxid"] = "natural_gas_burst"; + var_00.v["delay"] = 0.9; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("natural_gas_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((617.716,523.178,504.457),(286.443,84.05,-69)); + var_00.v["fxid"] = "natural_gas_burst"; + var_00.v["delay"] = 0.9; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("natural_gas_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((477.199,421.782,550.787),(306.117,82.2868,-76)); + var_00.v["fxid"] = "natural_gas_burst"; + var_00.v["delay"] = 1.1; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("natural_gas_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((515.14,436.845,544.109),(272.097,224.151,-36)); + var_00.v["fxid"] = "natural_gas_burst"; + var_00.v["delay"] = 1.1; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("natural_gas_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((477.535,372.242,583.463),(275.938,62.3908,-48)); + var_00.v["fxid"] = "natural_gas_burst"; + var_00.v["delay"] = 1.1; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("natural_gas_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((461.41,306.341,614.707),(276.433,5.54629,0)); + var_00.v["fxid"] = "natural_gas_burst"; + var_00.v["delay"] = 1.3; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("natural_gas_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((-136.345,1260.55,248.622),(277.7,50.345,0)); + var_00.v["fxid"] = "natural_gas_burst"; + var_00.v["delay"] = 0.1; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("natural_gas_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((1090.13,-389.766,650.762),(271.612,244.798,0)); + var_00.v["fxid"] = "natural_gas_burst"; + var_00.v["delay"] = 1.8; + var_00.v["exploder"] = "100"; + var_00.v["loopsound"] = "emt_pipe_gas_lp"; + var_00 = common_scripts\utility::createexploder("natural_gas_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((1925.52,-286.794,604.949),(310.255,119.775,0)); + var_00.v["fxid"] = "natural_gas_burst"; + var_00.v["delay"] = 1.9; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("natural_gas_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((507.773,193.774,643.406),(279.137,90,-80)); + var_00.v["fxid"] = "natural_gas_burst"; + var_00.v["delay"] = 1.45; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("gas_pipe_leak_fire_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((-196.706,1379.54,239.469),(275.09,69.0266,0)); + var_00.v["fxid"] = "gas_pipe_leak_fire_burst"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "110"; + var_00 = common_scripts\utility::createexploder("gas_pipe_leak_fire_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((269.699,1473.77,237.969),(279.446,136.382,0)); + var_00.v["fxid"] = "gas_pipe_leak_fire_burst"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "110"; + var_00 = common_scripts\utility::createexploder("gas_pipe_leak_fire_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((335.163,961.242,276.256),(279.722,151.206,36)); + var_00.v["fxid"] = "gas_pipe_leak_fire_burst"; + var_00.v["delay"] = 0.85; + var_00.v["exploder"] = "110"; + var_00 = common_scripts\utility::createexploder("gas_pipe_leak_fire_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((-139.356,1028.09,312.34),(301.319,83.6839,-81)); + var_00.v["fxid"] = "gas_pipe_leak_fire_burst"; + var_00.v["delay"] = 0.9; + var_00.v["exploder"] = "110"; + var_00 = common_scripts\utility::createexploder("gas_pipe_leak_fire_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((291.539,787.932,401.936),(275.383,342.371,0)); + var_00.v["fxid"] = "gas_pipe_leak_fire_burst"; + var_00.v["delay"] = 0.7; + var_00.v["exploder"] = "110"; + var_00 = common_scripts\utility::createexploder("gas_pipe_leak_fire_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((405.971,858.919,395.875),(271.336,268.822,-82.9939)); + var_00.v["fxid"] = "gas_pipe_leak_fire_burst"; + var_00.v["delay"] = 0.7; + var_00.v["exploder"] = "110"; + var_00 = common_scripts\utility::createexploder("gas_pipe_leak_fire_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((613.187,569.272,476.735),(271.096,87.3616,-77.9924)); + var_00.v["fxid"] = "gas_pipe_leak_fire_burst"; + var_00.v["delay"] = 0.6; + var_00.v["exploder"] = "110"; + var_00 = common_scripts\utility::createexploder("gas_pipe_leak_fire_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((524.219,508.793,503.48),(271.594,279.761,-91)); + var_00.v["fxid"] = "gas_pipe_leak_fire_burst"; + var_00.v["delay"] = 0.55; + var_00.v["exploder"] = "110"; + var_00 = common_scripts\utility::createexploder("gas_pipe_leak_fire_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((617.716,523.178,504.457),(286.443,84.05,-69)); + var_00.v["fxid"] = "gas_pipe_leak_fire_burst"; + var_00.v["delay"] = 0.55; + var_00.v["exploder"] = "110"; + var_00 = common_scripts\utility::createexploder("gas_pipe_leak_fire_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((477.199,421.782,548.93),(306.117,82.2868,-76)); + var_00.v["fxid"] = "gas_pipe_leak_fire_burst"; + var_00.v["delay"] = 0.45; + var_00.v["exploder"] = "110"; + var_00 = common_scripts\utility::createexploder("gas_pipe_leak_fire_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((515.14,436.845,541.138),(272.097,224.151,-36)); + var_00.v["fxid"] = "gas_pipe_leak_fire_burst"; + var_00.v["delay"] = 0.45; + var_00.v["exploder"] = "110"; + var_00 = common_scripts\utility::createexploder("gas_pipe_leak_fire_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((477.535,372.242,583.463),(275.938,62.3908,-48)); + var_00.v["fxid"] = "gas_pipe_leak_fire_burst"; + var_00.v["delay"] = 0.45; + var_00.v["exploder"] = "110"; + var_00 = common_scripts\utility::createexploder("gas_pipe_leak_fire_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((461.41,306.341,614.707),(276.433,5.54629,0)); + var_00.v["fxid"] = "gas_pipe_leak_fire_burst"; + var_00.v["delay"] = 0.35; + var_00.v["exploder"] = "110"; + var_00 = common_scripts\utility::createexploder("gas_pipe_leak_fire_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((1090.13,-389.766,646.592),(271.612,244.798,0)); + var_00.v["fxid"] = "gas_pipe_leak_fire_burst"; + var_00.v["delay"] = 0.1; + var_00.v["exploder"] = "110"; + var_00.v["loopsound"] = "emt_fire_ground_lp"; + var_00 = common_scripts\utility::createexploder("gas_pipe_leak_fire_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((1925.52,-286.794,604.947),(310.255,119.775,0)); + var_00.v["fxid"] = "gas_pipe_leak_fire_burst"; + var_00.v["delay"] = 0.05; + var_00.v["exploder"] = "110"; + var_00 = common_scripts\utility::createexploder("mp_ins_pyramid_smoke_column2"); + var_00 common_scripts\_createfx::set_origin_and_angles((2519.86,-1867.4,193),(281,243,-92)); + var_00.v["fxid"] = "mp_ins_pyramid_smoke_column2"; + var_00.v["delay"] = 5; + var_00.v["exploder"] = "155"; + var_00 = common_scripts\utility::createexploder("pyramid_exterior_explosion_rocks"); + var_00 common_scripts\_createfx::set_origin_and_angles((0,0,0),(0,0,0)); + var_00.v["fxid"] = "pyramid_exterior_explosion_rocks"; + var_00.v["delay"] = 0.6; + var_00.v["exploder"] = "155"; + var_00 = common_scripts\utility::createexploder("mp_ins_gas_leak_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((-273.53,1068.47,296.727),(270,0,0)); + var_00.v["fxid"] = "mp_ins_gas_leak_ambient"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "120"; + var_00 = common_scripts\utility::createexploder("mp_ins_gas_leak_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((791.941,1066.86,315.023),(270,0,0)); + var_00.v["fxid"] = "mp_ins_gas_leak_ambient"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "120"; + var_00 = common_scripts\utility::createexploder("mp_ins_gas_leak_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((565.167,868.206,396.663),(270,0,0)); + var_00.v["fxid"] = "mp_ins_gas_leak_ambient"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "120"; + var_00 = common_scripts\utility::createexploder("mp_ins_gas_leak_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((576.655,618.68,471.73),(270,0,0)); + var_00.v["fxid"] = "mp_ins_gas_leak_ambient"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "120"; + var_00 = common_scripts\utility::createexploder("mp_ins_gas_leak_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((331.248,618.937,475.403),(270,0,0)); + var_00.v["fxid"] = "mp_ins_gas_leak_ambient"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "120"; + var_00 = common_scripts\utility::createexploder("mp_ins_gas_leak_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((321.338,479.398,511.819),(270,0,0)); + var_00.v["fxid"] = "mp_ins_gas_leak_ambient"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "120"; + var_00 = common_scripts\utility::createexploder("mp_ins_gas_leak_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((620.744,206.766,642.82),(270,0,0)); + var_00.v["fxid"] = "mp_ins_gas_leak_ambient"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "120"; + var_00 = common_scripts\utility::createexploder("mp_ins_gas_leak_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((375.955,208.928,642.356),(270,0,0)); + var_00.v["fxid"] = "mp_ins_gas_leak_ambient"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "120"; + var_00 = common_scripts\utility::createexploder("mp_ins_gas_leak_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((1168.99,-502.05,614.334),(270,0,0)); + var_00.v["fxid"] = "mp_ins_gas_leak_ambient"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "120"; + var_00 = common_scripts\utility::createexploder("mp_ins_gas_leak_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((1897.63,-292.308,595.043),(270,0,0)); + var_00.v["fxid"] = "mp_ins_gas_leak_ambient"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "120"; + var_00 = common_scripts\utility::createexploder("mp_ins_gas_leak_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((1420.54,-23.6691,627.711),(270,0,0)); + var_00.v["fxid"] = "mp_ins_gas_leak_ambient"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "120"; + var_00 = common_scripts\utility::createexploder("mp_ins_gas_leak_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((360.311,-1138.46,587.96),(270,0,0)); + var_00.v["fxid"] = "mp_ins_gas_leak_ambient"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "120"; + var_00.v["loopsound"] = "emt_pipe_gas_lp"; + var_00 = common_scripts\utility::createexploder("mp_ins_gas_leak_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((32.7614,-679.131,522.015),(270,0,0)); + var_00.v["fxid"] = "mp_ins_gas_leak_ambient"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "120"; + var_00 = common_scripts\utility::createexploder("mp_ins_gas_leak_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((-413.766,577.487,385.999),(270,0,0)); + var_00.v["fxid"] = "mp_ins_gas_leak_ambient"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "120"; + var_00 = common_scripts\utility::createexploder("mp_ins_gas_leak_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((-235.302,839.298,388.291),(270,0,0)); + var_00.v["fxid"] = "mp_ins_gas_leak_ambient"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "120"; + var_00 = common_scripts\utility::createexploder("lrg_rubble_fire_strip"); + var_00 common_scripts\_createfx::set_origin_and_angles((2374.02,-1197.69,611.6),(270,0,-42)); + var_00.v["fxid"] = "lrg_rubble_fire_strip"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "156"; + var_00 = common_scripts\utility::createexploder("fire_lrg_100x20_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2387.98,-1030.74,616.694),(270,0,-40)); + var_00.v["fxid"] = "fire_lrg_100x20_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00.v["loopsound"] = "emt_fire_ground_lp"; + var_00 = common_scripts\utility::createexploder("fire_lrg_100x20_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2157.55,-1285.65,614),(270,0,-40)); + var_00.v["fxid"] = "fire_lrg_100x20_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00 = common_scripts\utility::createexploder("fire_lrg_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2144.45,-1114.17,611.129),(270,0,125)); + var_00.v["fxid"] = "fire_lrg_100x100_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00.v["loopsound"] = "emt_fire_ground_lp"; + var_00 = common_scripts\utility::createexploder("natural_gas_burst_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2223.04,-1068.54,622.949),(313.752,257.641,0)); + var_00.v["fxid"] = "natural_gas_burst_lp"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "125"; + var_00 = common_scripts\utility::createexploder("natural_gas_burst_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1630.04,-1791.41,607.001),(310.498,325.662,0)); + var_00.v["fxid"] = "natural_gas_burst_lp"; + var_00.v["delay"] = 0.2; + var_00.v["exploder"] = "125"; + var_00.v["loopsound"] = "emt_sparks_flares_lp"; + var_00 = common_scripts\utility::createexploder("natural_gas_burst_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1172.22,-1773.3,606.618),(314.637,227.376,0)); + var_00.v["fxid"] = "natural_gas_burst_lp"; + var_00.v["delay"] = 0.8; + var_00.v["exploder"] = "125"; + var_00 = common_scripts\utility::createexploder("mp_ins_gas_leak_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((1058.39,-1619.95,591.14),(276.484,175.052,0)); + var_00.v["fxid"] = "mp_ins_gas_leak_ambient"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "125"; + var_00 = common_scripts\utility::createexploder("mp_ins_gas_leak_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((1911.69,-682.602,589.995),(274.999,138.621,0)); + var_00.v["fxid"] = "mp_ins_gas_leak_ambient"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "125"; + var_00.v["loopsound"] = "emt_pipe_gas_lp"; + var_00 = common_scripts\utility::createexploder("mp_ins_gas_leak_ambient"); + var_00 common_scripts\_createfx::set_origin_and_angles((2549.23,-837.537,653.585),(276.902,286.164,0)); + var_00.v["fxid"] = "mp_ins_gas_leak_ambient"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "125"; + var_00 = common_scripts\utility::createexploder("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2334.34,-848.258,747.129),(0,1.00001,0)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "125"; + var_00 = common_scripts\utility::createexploder("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2011.11,-1253.47,847.512),(0,1.00001,0)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "125"; + var_00 = common_scripts\utility::createexploder("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1073.82,-1575.53,717.605),(0,1.00001,0)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "125"; + var_00 = common_scripts\utility::createexploder("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1422.18,-1868.78,923.878),(0,1.00001,0)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "125"; + var_00 = common_scripts\utility::createexploder("ground_rock_impacts"); + var_00 common_scripts\_createfx::set_origin_and_angles((2231.56,-1184.08,614.432),(270,180,140)); + var_00.v["fxid"] = "ground_rock_impacts"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "130"; + var_00 = common_scripts\utility::createexploder("ground_rock_impacts"); + var_00 common_scripts\_createfx::set_origin_and_angles((2356.49,-1039.92,614.934),(270,180,140)); + var_00.v["fxid"] = "ground_rock_impacts"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "130"; + var_00 = common_scripts\utility::createexploder("ground_rock_impacts"); + var_00 common_scripts\_createfx::set_origin_and_angles((2206.99,-900.343,610.367),(272.512,99.3099,0)); + var_00.v["fxid"] = "ground_rock_impacts"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "130"; + var_00 = common_scripts\utility::createexploder("ground_rock_impacts"); + var_00 common_scripts\_createfx::set_origin_and_angles((2090.54,-852.048,612.066),(278.722,201.285,0)); + var_00.v["fxid"] = "ground_rock_impacts"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "130"; + var_00 = common_scripts\utility::createexploder("ground_rock_impacts"); + var_00 common_scripts\_createfx::set_origin_and_angles((1966.82,-905.695,607.202),(271.358,139.686,0)); + var_00.v["fxid"] = "ground_rock_impacts"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "130"; + var_00 = common_scripts\utility::createexploder("ground_rock_impacts"); + var_00 common_scripts\_createfx::set_origin_and_angles((1949.25,-1083.87,620.63),(275.4,106.976,0)); + var_00.v["fxid"] = "ground_rock_impacts"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "130"; + var_00 = common_scripts\utility::createexploder("ground_rock_impacts"); + var_00 common_scripts\_createfx::set_origin_and_angles((2117.15,-1359.29,613.684),(279.075,155.353,0)); + var_00.v["fxid"] = "ground_rock_impacts"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "130"; + var_00 = common_scripts\utility::createexploder("ground_rock_impacts"); + var_00 common_scripts\_createfx::set_origin_and_angles((2037.73,-1516.76,597.472),(277.494,293.325,0)); + var_00.v["fxid"] = "ground_rock_impacts"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "130"; + var_00 = common_scripts\utility::createexploder("ground_rock_impacts"); + var_00 common_scripts\_createfx::set_origin_and_angles((1741.35,-1346.76,619.583),(287.582,280.742,0)); + var_00.v["fxid"] = "ground_rock_impacts"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "130"; + var_00 = common_scripts\utility::createexploder("ground_rock_impacts"); + var_00 common_scripts\_createfx::set_origin_and_angles((1720.2,-1811.5,599.636),(284.144,80.243,0)); + var_00.v["fxid"] = "ground_rock_impacts"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "130"; + var_00 = common_scripts\utility::createexploder("ground_rock_impacts"); + var_00 common_scripts\_createfx::set_origin_and_angles((1566.38,-1883.84,610.756),(283.155,122.4,0)); + var_00.v["fxid"] = "ground_rock_impacts"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "130"; + var_00 = common_scripts\utility::createexploder("ground_rock_impacts"); + var_00 common_scripts\_createfx::set_origin_and_angles((1440.8,-1974.89,613.316),(279.265,119.427,0)); + var_00.v["fxid"] = "ground_rock_impacts"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "130"; + var_00 = common_scripts\utility::createexploder("ground_rock_impacts"); + var_00 common_scripts\_createfx::set_origin_and_angles((1123.94,-1909.79,608.093),(276.7,51.946,0)); + var_00.v["fxid"] = "ground_rock_impacts"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "130"; + var_00 = common_scripts\utility::createexploder("ground_rock_impacts"); + var_00 common_scripts\_createfx::set_origin_and_angles((1235.53,-1669.05,615.663),(279.727,217.205,0)); + var_00.v["fxid"] = "ground_rock_impacts"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "130"; + var_00 = common_scripts\utility::createexploder("ground_rock_impacts"); + var_00 common_scripts\_createfx::set_origin_and_angles((1650.66,-1473.62,617.585),(285.504,321.34,0)); + var_00.v["fxid"] = "ground_rock_impacts"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "130"; + var_00 = common_scripts\utility::createexploder("ground_rock_impacts"); + var_00 common_scripts\_createfx::set_origin_and_angles((2475.53,-890.383,643.762),(287.805,184.279,0)); + var_00.v["fxid"] = "ground_rock_impacts"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "130"; + var_00 = common_scripts\utility::createexploder("ground_rock_impacts"); + var_00 common_scripts\_createfx::set_origin_and_angles((2410.85,-820.775,642.472),(284.013,278.13,0)); + var_00.v["fxid"] = "ground_rock_impacts"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "130"; + var_00 = common_scripts\utility::createexploder("ground_rock_impacts"); + var_00 common_scripts\_createfx::set_origin_and_angles((2659.68,-716.01,678.923),(279.268,225,0)); + var_00.v["fxid"] = "ground_rock_impacts"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "130"; + var_00 = common_scripts\utility::createexploder("ground_rock_impacts"); + var_00 common_scripts\_createfx::set_origin_and_angles((2509.26,-654.998,673.563),(284.763,288.435,0)); + var_00.v["fxid"] = "ground_rock_impacts"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "130"; + var_00 = common_scripts\utility::createexploder("ground_rock_impacts"); + var_00 common_scripts\_createfx::set_origin_and_angles((2562.11,-507.891,680),(270,0,0)); + var_00.v["fxid"] = "ground_rock_impacts"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "130"; + var_00 = common_scripts\utility::createexploder("ground_rock_impacts"); + var_00 common_scripts\_createfx::set_origin_and_angles((2724.93,-452.628,680),(270,0,0)); + var_00.v["fxid"] = "ground_rock_impacts"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "130"; + var_00 = common_scripts\utility::createexploder("gas_distortion_strip"); + var_00 common_scripts\_createfx::set_origin_and_angles((2328.97,-1334.51,573.007),(270,180,-42.5502)); + var_00.v["fxid"] = "gas_distortion_strip"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "135"; + var_00 = common_scripts\utility::createexploder("gas_distortion_strip"); + var_00 common_scripts\_createfx::set_origin_and_angles((1992.58,-1764.35,551.753),(270,180,-42.5502)); + var_00.v["fxid"] = "gas_distortion_strip"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "135"; + var_00 = common_scripts\utility::createexploder("gas_distortion_strip"); + var_00 common_scripts\_createfx::set_origin_and_angles((1557.59,-2051.96,618.093),(270,0,108.775)); + var_00.v["fxid"] = "gas_distortion_strip"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "135"; + var_00 = common_scripts\utility::createexploder("mp_ins_cave_flames_swap"); + var_00 common_scripts\_createfx::set_origin_and_angles((2039.23,-875.015,690.55),(0,129.808,0)); + var_00.v["fxid"] = "mp_ins_cave_flames_swap"; + var_00.v["delay"] = 0.2; + var_00.v["exploder"] = "140"; + var_00 = common_scripts\utility::createexploder("mp_ins_cave_flames_swap"); + var_00 common_scripts\_createfx::set_origin_and_angles((1166.4,-1744.38,681.709),(0,142.938,0)); + var_00.v["fxid"] = "mp_ins_cave_flames_swap"; + var_00.v["delay"] = 0.2; + var_00.v["exploder"] = "140"; + var_00 = common_scripts\utility::createexploder("cave_explosion_long_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1493.07,-1893.43,697.635),(0,127.758,0)); + var_00.v["fxid"] = "cave_explosion_long_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "140"; + var_00 = common_scripts\utility::createexploder("cave_explosion_long_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2134.13,-1266.08,672.764),(0,147.946,0)); + var_00.v["fxid"] = "cave_explosion_long_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "140"; + var_00 = common_scripts\utility::createexploder("cave_explosion_long_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1765.05,-1419.63,726.427),(0,331.1,0)); + var_00.v["fxid"] = "cave_explosion_long_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "140"; + var_00 = common_scripts\utility::createexploder("fire_lp_med_radius10"); + var_00 common_scripts\_createfx::set_origin_and_angles((424.918,-395.991,672),(270,0,0)); + var_00.v["fxid"] = "fire_lp_med_radius10"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00.v["loopsound"] = "emt_fire_ground_lp"; + var_00 = common_scripts\utility::createexploder("fire_lp_med_radius10"); + var_00 common_scripts\_createfx::set_origin_and_angles((608.002,-158.638,672),(270,0,0)); + var_00.v["fxid"] = "fire_lp_med_radius10"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00.v["loopsound"] = "emt_fire_ground_muff_lp"; + var_00 = common_scripts\utility::createexploder("fire_lp_med_radius10"); + var_00 common_scripts\_createfx::set_origin_and_angles((709.806,-335.903,672),(270,0,0)); + var_00.v["fxid"] = "fire_lp_med_radius10"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00.v["loopsound"] = "emt_fire_ground_muff_lp"; + var_00 = common_scripts\utility::createexploder("fire_med_50x10_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((512.114,-324.394,688),(270,0,0)); + var_00.v["fxid"] = "fire_med_50x10_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00.v["loopsound"] = "emt_fire_ground_lp"; + var_00 = common_scripts\utility::createexploder("fire_med_50x10_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((477.286,-339.372,688),(270,0,0)); + var_00.v["fxid"] = "fire_med_50x10_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00 = common_scripts\utility::createexploder("fire_med_50x10_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((484.211,-301.961,688),(270,0,0)); + var_00.v["fxid"] = "fire_med_50x10_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00.v["loopsound"] = "emt_fire_ground_muff_lp"; + var_00 = common_scripts\utility::createexploder("fire_med_50x10_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((602.781,-234.648,688),(270,0,0)); + var_00.v["fxid"] = "fire_med_50x10_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00 = common_scripts\utility::createexploder("fire_med_50x10_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((614.685,-226.615,688),(270,0,0)); + var_00.v["fxid"] = "fire_med_50x10_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00 = common_scripts\utility::createexploder("fire_med_50x10_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((683.002,-218.947,672),(270,0,0)); + var_00.v["fxid"] = "fire_med_50x10_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00 = common_scripts\utility::createexploder("fire_med_50x10_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((709.25,-241.22,672),(270,0,0)); + var_00.v["fxid"] = "fire_med_50x10_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00.v["loopsound"] = "emt_fire_ground_lp"; + var_00 = common_scripts\utility::createexploder("fire_med_50x10_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((830.059,-412.878,672),(270,0,0)); + var_00.v["fxid"] = "fire_med_50x10_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00.v["loopsound"] = "emt_fire_ground_lp"; + var_00 = common_scripts\utility::createexploder("fire_lp_med_radius10"); + var_00 common_scripts\_createfx::set_origin_and_angles((572,-852.666,639.556),(270,0,0)); + var_00.v["fxid"] = "fire_lp_med_radius10"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00.v["loopsound"] = "emt_fire_ground_lp"; + var_00 = common_scripts\utility::createexploder("fire_lp_med_radius10"); + var_00 common_scripts\_createfx::set_origin_and_angles((671.3,-816.261,663.826),(270,0,0)); + var_00.v["fxid"] = "fire_lp_med_radius10"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "115"; + var_00.v["loopsound"] = "emt_fire_ground_muff_lp"; + var_00 = common_scripts\utility::createexploder("mp_ins_thick_cave_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((2283.37,-1223.47,877.702),(270,0,73)); + var_00.v["fxid"] = "mp_ins_thick_cave_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "145"; + var_00 = common_scripts\utility::createexploder("mp_ins_thick_cave_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((2139.78,-1179.34,898),(270,0,66)); + var_00.v["fxid"] = "mp_ins_thick_cave_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "145"; + var_00 = common_scripts\utility::createexploder("mp_ins_thick_cave_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((2048.78,-1070.13,918.302),(270,180,-120)); + var_00.v["fxid"] = "mp_ins_thick_cave_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "145"; + var_00 = common_scripts\utility::createexploder("mp_ins_smk_dirty_column"); + var_00 common_scripts\_createfx::set_origin_and_angles((2211.82,-1168.81,646.11),(270,0,136)); + var_00.v["fxid"] = "mp_ins_smk_dirty_column"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "145"; + var_00 = common_scripts\utility::createexploder("mp_ins_smk_dirty_column"); + var_00 common_scripts\_createfx::set_origin_and_angles((2041.81,-1032.67,686.286),(270,0,133)); + var_00.v["fxid"] = "mp_ins_smk_dirty_column"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "145"; + var_00 = common_scripts\utility::createexploder("mp_ins_smk_dirty_column"); + var_00 common_scripts\_createfx::set_origin_and_angles((2339.35,-1310.17,591.621),(270,0,-144)); + var_00.v["fxid"] = "mp_ins_smk_dirty_column"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "145"; + var_00 = common_scripts\utility::createexploder("mp_ins_cave_dust_directional"); + var_00 common_scripts\_createfx::set_origin_and_angles((2068.55,-912.266,620.847),(270,0,38)); + var_00.v["fxid"] = "mp_ins_cave_dust_directional"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "156"; + var_00 = common_scripts\utility::createexploder("mp_ins_cave_dust_directional"); + var_00 common_scripts\_createfx::set_origin_and_angles((2272.01,-1025.84,636.175),(278,227,90)); + var_00.v["fxid"] = "mp_ins_cave_dust_directional"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "156"; + var_00 = common_scripts\utility::createexploder("diesel_drill_dmg_smk_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((374.432,1334.14,597.127),(270,0,0)); + var_00.v["fxid"] = "diesel_drill_dmg_smk_1"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "171"; + var_00 = common_scripts\utility::createexploder("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1396.84,-482.383,940.764),(25.4793,162.361,170.728)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "171"; + var_00.v["loopsound"] = "emt_sparks_machine_lp"; + var_00 = common_scripts\utility::createexploder("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((53.7332,1985.54,365.972),(25.4793,162.361,170.728)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "171"; + var_00 = common_scripts\utility::createexploder("diesel_drill_smk_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((-48.0131,1980.78,361.311),(276,339.402,-35)); + var_00.v["fxid"] = "diesel_drill_smk_lt"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "171"; + var_00 = common_scripts\utility::createexploder("mp_ins_cave_drill_impact_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1536.72,-447.336,599),(270,180,54)); + var_00.v["fxid"] = "mp_ins_cave_drill_impact_lp"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "172"; + var_00 = common_scripts\utility::createexploder("natural_gas_burst_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2137.45,-988.621,615.43),(315.995,205.443,0)); + var_00.v["fxid"] = "natural_gas_burst_lp"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "125"; + var_00 = common_scripts\utility::createexploder("mp_ins_pyramid_fire_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1845.25,-1727.6,980.58),(281,243,-90)); + var_00.v["fxid"] = "mp_ins_pyramid_fire_glow"; + var_00.v["delay"] = 7; + var_00.v["exploder"] = "156"; + var_00 = common_scripts\utility::createexploder("mp_ins_pyramid_fire_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1858.48,-1390.25,912.647),(281,243,-90)); + var_00.v["fxid"] = "mp_ins_pyramid_fire_glow"; + var_00.v["delay"] = 7; + var_00.v["exploder"] = "156"; + var_00 = common_scripts\utility::createexploder("dmg_fire_cylinder"); + var_00 common_scripts\_createfx::set_origin_and_angles((1409.9,-478.212,942),(270,0,0)); + var_00.v["fxid"] = "dmg_fire_cylinder"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "171"; + var_00 = common_scripts\utility::createexploder("dmg_fire_cylinder"); + var_00 common_scripts\_createfx::set_origin_and_angles((1309.91,-505.86,1028.29),(276.319,356.709,0)); + var_00.v["fxid"] = "dmg_fire_cylinder"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "171"; + var_00 = common_scripts\utility::createexploder("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1326.45,-504.953,949.789),(280.275,208.692,0)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "171"; + var_00 = common_scripts\utility::createexploder("dmg_fire_box"); + var_00 common_scripts\_createfx::set_origin_and_angles((37.5828,2112.16,342.658),(275.975,85.9934,0)); + var_00.v["fxid"] = "dmg_fire_box"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "171"; + var_00 = common_scripts\utility::createexploder("dmg_fire_box"); + var_00 common_scripts\_createfx::set_origin_and_angles((65.7618,2004.04,357.193),(277.835,126.56,-116.84)); + var_00.v["fxid"] = "dmg_fire_box"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "171"; + var_00.v["loopsound"] = "emt_sparks_machine_lp"; + var_00 = common_scripts\utility::createexploder("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((138.768,1903.05,392.289),(8.64863,106.811,0)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "171"; + var_00 = common_scripts\utility::createexploder("pigeon_flock_runner_lrg2"); + var_00 common_scripts\_createfx::set_origin_and_angles((2689.29,-2510.05,2269),(270,0,-116)); + var_00.v["fxid"] = "pigeon_flock_runner_lrg2"; + var_00.v["delay"] = 0.6; + var_00.v["exploder"] = "173"; + var_00 = common_scripts\utility::createexploder("pigeon_flock_runner_lrg2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4531.12,4440.25,2450.06),(270,0,133)); + var_00.v["fxid"] = "pigeon_flock_runner_lrg2"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "173"; + var_00 = common_scripts\utility::createexploder("pyramid_explosion"); + var_00 common_scripts\_createfx::set_origin_and_angles((1841.52,-2020.05,1403.38),(296,147,-180)); + var_00.v["fxid"] = "pyramid_explosion"; + var_00.v["delay"] = 0.6; + var_00.v["exploder"] = "155"; + var_00 = common_scripts\utility::createexploder("pyramid_dirt_slide"); + var_00 common_scripts\_createfx::set_origin_and_angles((1872.45,-2039.84,1417.49),(270,0,61)); + var_00.v["fxid"] = "pyramid_dirt_slide"; + var_00.v["delay"] = 1.35; + var_00.v["exploder"] = "155"; + var_00 = common_scripts\utility::createexploder("pyramid_pre_explosion"); + var_00 common_scripts\_createfx::set_origin_and_angles((1897.11,-2048.07,1495.99),(325.99,148.206,-178.942)); + var_00.v["fxid"] = "pyramid_pre_explosion"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "155"; + var_00 = common_scripts\utility::createexploder("exploding_boulder"); + var_00 common_scripts\_createfx::set_origin_and_angles((2166.56,-1821.54,1176.6),(295.103,170.052,-87.7221)); + var_00.v["fxid"] = "exploding_boulder"; + var_00.v["delay"] = 14; + var_00.v["exploder"] = "155"; + var_00 = common_scripts\utility::createexploder("rocks_rolling_down_hill_3sec"); + var_00 common_scripts\_createfx::set_origin_and_angles((2360.65,-2160.46,2024.18),(301,152,-90)); + var_00.v["fxid"] = "rocks_rolling_down_hill_3sec"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("rocks_rolling_down_hill_3sec"); + var_00 common_scripts\_createfx::set_origin_and_angles((2347.17,-1730.69,1789.33),(315,152,-90)); + var_00.v["fxid"] = "rocks_rolling_down_hill_3sec"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("rocks_rolling_down_hill_3sec"); + var_00 common_scripts\_createfx::set_origin_and_angles((1862.15,-2598.76,1735.23),(312,152,-90)); + var_00.v["fxid"] = "rocks_rolling_down_hill_3sec"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("rocks_rolling_down_hill_3sec"); + var_00 common_scripts\_createfx::set_origin_and_angles((2227.93,-2322.59,1977.12),(305,152,-90)); + var_00.v["fxid"] = "rocks_rolling_down_hill_3sec"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("rocks_fake_impacts_3sec"); + var_00 common_scripts\_createfx::set_origin_and_angles((1726.31,-1866.45,1313.01),(273,332,90)); + var_00.v["fxid"] = "rocks_fake_impacts_3sec"; + var_00.v["delay"] = 1.5; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("rocks_fake_impacts_3sec"); + var_00 common_scripts\_createfx::set_origin_and_angles((1766.77,-2065.8,1373.74),(273,332,90)); + var_00.v["fxid"] = "rocks_fake_impacts_3sec"; + var_00.v["delay"] = 1.5; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("rocks_fake_impacts_3sec"); + var_00 common_scripts\_createfx::set_origin_and_angles((2029.1,-1634.89,1381.73),(318,152,-90)); + var_00.v["fxid"] = "rocks_fake_impacts_3sec"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("rocks_fake_impacts_3sec"); + var_00 common_scripts\_createfx::set_origin_and_angles((2156.48,-1582.35,1495.42),(318,152,-90)); + var_00.v["fxid"] = "rocks_fake_impacts_3sec"; + var_00.v["delay"] = 0.5; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("rocks_fake_impacts_3sec"); + var_00 common_scripts\_createfx::set_origin_and_angles((1760.2,-2594.23,1618.99),(318,152,-90)); + var_00.v["fxid"] = "rocks_fake_impacts_3sec"; + var_00.v["delay"] = 0.5; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("rocks_fake_impacts_3sec"); + var_00 common_scripts\_createfx::set_origin_and_angles((1657.79,-2494.17,1450.04),(318,152,-90)); + var_00.v["fxid"] = "rocks_fake_impacts_3sec"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("rocks_fake_impacts_3sec"); + var_00 common_scripts\_createfx::set_origin_and_angles((1560.77,-2522.71,1357.19),(318,152,-90)); + var_00.v["fxid"] = "rocks_fake_impacts_3sec"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("rocks_fake_impacts_3sec"); + var_00 common_scripts\_createfx::set_origin_and_angles((1976.34,-2189.87,1657.81),(318,152,-90)); + var_00.v["fxid"] = "rocks_fake_impacts_3sec"; + var_00.v["delay"] = 0.5; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("rocks_fake_impacts_3sec"); + var_00 common_scripts\_createfx::set_origin_and_angles((2147.78,-2067.85,1760.05),(318,152,-90)); + var_00.v["fxid"] = "rocks_fake_impacts_3sec"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("rocks_fake_impacts_3sec"); + var_00 common_scripts\_createfx::set_origin_and_angles((1850.02,-1533.4,1126.31),(318,152,-90)); + var_00.v["fxid"] = "rocks_fake_impacts_3sec"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("rocks_fake_impacts_3sec"); + var_00 common_scripts\_createfx::set_origin_and_angles((1962.16,-1458.42,1210.76),(318,152,-90)); + var_00.v["fxid"] = "rocks_fake_impacts_3sec"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("rocks_fake_impacts_3sec"); + var_00 common_scripts\_createfx::set_origin_and_angles((2009.51,-2067.86,1626.25),(318,152,-90)); + var_00.v["fxid"] = "rocks_fake_impacts_3sec"; + var_00.v["delay"] = 0.5; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("rocks_fake_impacts_3sec"); + var_00 common_scripts\_createfx::set_origin_and_angles((1894.4,-1977.54,1457.14),(318,152,-90)); + var_00.v["fxid"] = "rocks_fake_impacts_3sec"; + var_00.v["delay"] = 0.75; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("rocks_rolling_down_hill_3sec"); + var_00 common_scripts\_createfx::set_origin_and_angles((2489.35,-2305.37,2525.75),(329,152,-90)); + var_00.v["fxid"] = "rocks_rolling_down_hill_3sec"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00 = common_scripts\utility::createexploder("dirt_slide_bottom"); + var_00 common_scripts\_createfx::set_origin_and_angles((940.571,-1561.24,744.622),(296.99,153.242,174.19)); + var_00.v["fxid"] = "dirt_slide_bottom"; + var_00.v["delay"] = 4.75; + var_00.v["exploder"] = "155"; + var_00 = common_scripts\utility::createexploder("boulder_spurt"); + var_00 common_scripts\_createfx::set_origin_and_angles((2131.38,-1975.57,1174.21),(299.837,181.655,159.649)); + var_00.v["fxid"] = "boulder_spurt"; + var_00.v["delay"] = 11.4; + var_00.v["exploder"] = "155"; + var_00 = common_scripts\utility::createexploder("exploding_boulder"); + var_00 common_scripts\_createfx::set_origin_and_angles((1960.51,-2418.29,1161.02),(296.492,108.179,-80.3408)); + var_00.v["fxid"] = "exploding_boulder"; + var_00.v["delay"] = 13.75; + var_00.v["exploder"] = "155"; + var_00 = common_scripts\utility::createexploder("mp_ins_cave_dust_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((2509.14,-2080.37,443.527),(270,0,-36)); + var_00.v["fxid"] = "mp_ins_cave_dust_lrg"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "170"; + var_00 = common_scripts\utility::createexploder("mp_ins_cave_dust_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((2102.71,-2578.2,330.908),(270,0,-36)); + var_00.v["fxid"] = "mp_ins_cave_dust_lrg"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "170"; + var_00 = common_scripts\utility::createexploder("mp_ins_thick_cave_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((895.613,-1632.37,743.02),(270,180,150)); + var_00.v["fxid"] = "mp_ins_thick_cave_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "146"; + var_00 = common_scripts\utility::createexploder("mp_ins_smk_dirty_column"); + var_00 common_scripts\_createfx::set_origin_and_angles((905.872,-1568.9,581.757),(270,0,133)); + var_00.v["fxid"] = "mp_ins_smk_dirty_column"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "146"; + var_00 = common_scripts\utility::createexploder("mp_ins_thick_cave_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((948.037,-1524.29,736.652),(270,180,150)); + var_00.v["fxid"] = "mp_ins_thick_cave_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "146"; + var_00 = common_scripts\utility::createexploder("mp_ins_pyramid_smoke_column2"); + var_00 common_scripts\_createfx::set_origin_and_angles((2509.96,-1892.37,189.803),(281,243,-92)); + var_00.v["fxid"] = "mp_ins_pyramid_smoke_column2"; + var_00.v["delay"] = -20; + var_00.v["exploder"] = "157"; + var_00 = common_scripts\utility::createexploder("mp_ins_cave_flames_swap"); + var_00 common_scripts\_createfx::set_origin_and_angles((2368.94,-931.31,700.287),(0,38.5805,0)); + var_00.v["fxid"] = "mp_ins_cave_flames_swap"; + var_00.v["delay"] = 0.2; + var_00.v["exploder"] = "140"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1228.97,1661.17,345.593),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-733.732,2143.62,186.895),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1705.96,825.189,321.416),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-214.288,467.418,697.968),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-846.269,-417.638,532.544),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-117.766,-404.603,644.981),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((482.347,-1690.64,593.241),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1448.15,-1174.72,891.05),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2481.34,313.18,701.762),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1950.08,-678.887,856.986),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1915.86,378.278,836.56),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((961.67,834.788,496.937),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-209.944,-126.099,513.507),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((20.5522,-485.459,569.162),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_cricket_chirps_close"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((640.017,-181.693,648),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_cricket_chirps_close"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((103.342,-250.04,661.959),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_cricket_chirps_close"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((385.558,741.598,420.373),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_cricket_chirps_close"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1232.53,247.162,253.574),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_cricket_chirps_close"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1303.13,473.532,496.743),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_cricket_chirps_close"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1498.03,947.368,353.08),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_cricket_chirps_close"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2054.46,-297.356,646.752),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_cricket_chirps_close"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2648.16,116.829,686.107),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_cricket_chirps_close"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-168.022,-343.655,603.964),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_cricket_chirps_long"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-316.454,-1165.96,558.244),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_cricket_chirps_long"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((804.509,-77.5259,980.631),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_cricket_chirps_long"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1007.16,686.949,488.11),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_cricket_chirps_long"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1322.25,196.851,660.856),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_cricket_chirps_long"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((924.35,2018.36,248.451),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_cricket_chirps_long"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-724.767,1936.46,235.276),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_cricket_chirps_long"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1322.38,1572.01,262.796),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_cricket_chirps_long"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1658.31,825.838,241.515),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_cricket_chirps_long"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-20.662,-129.796,619.666),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_cricket_chirps_long"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-211.675,371.061,512.568),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_cricket_chirps_long"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((805.242,765.655,317.229),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_cricket_chirps_long"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1265.36,659.096,423.19),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_cricket_chirps_long"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1330.73,1393.99,351.888),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_cricket_chirps_long"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2215.87,-198.261,741.788),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_cricket_chirps_long"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1710.12,518.95,793.67),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_cricket_chirps_long"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((985.19,510.194,518.007),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_cricket_swells"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1487.52,1403.34,245.314),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_cricket_swells"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-870.325,-524.869,264.841),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_cricket_whistle_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1368.97,48.0352,850.13),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_cricket_whistle_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-620.943,-874.911,237.398),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_cricket_whistle_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-681.859,-465.425,367.651),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_flies_annoying"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1427.16,1227.4,301.779),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_flies_annoying"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1158.11,135.004,633.396),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_flies_annoying"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1138.77,826.006,425.084),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_flies_annoying"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1418.55,795.803,591.571),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_flies_annoying"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2638.85,-190.417,763.228),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_flies_annoying"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((698.569,-493.802,967.361),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_flies_annoying"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-161.296,-1038.95,643.115),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_flies_annoying"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((644.363,2658.68,154.063),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_frog_chirps_long"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-740.256,2309.95,175.371),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_frog_chirps_long"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-404.584,2411.39,178.459),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_frog_chirps_random"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((798.63,2317.53,217.286),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_frog_chirps_random"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((286.071,2669.6,157.114),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_frog_chirps_random"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1244.8,1532.82,390.628),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_frog_chirps_random"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1682.77,820.888,282.201),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_frog_chirps_random"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1034.17,1649.78,272.179),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_frog_chirps_random"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2100.93,277.169,661.929),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_frog_chirps_random"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-237.069,2598.06,118.196),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_frog_chirps_random"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1576.15,1232.44,255.775),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_frog_purr_close_far"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1449.22,562.068,291.407),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_frog_purr_close_far"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-872.729,-987.96,571.167),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_frog_purr_close_far"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-225.877,-1309.15,593.721),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_frog_purr_close_far"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((259.842,-1515.39,621.167),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_frog_purr_close_far"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1290.49,-407.368,541.686),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_frog_purr_close_far"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1239.9,161.478,408.716),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_frog_purr_close_far"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((518.161,2583.26,247.778),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_frog_sing"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1667.09,1044.18,289.36),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_frog_sing"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2194.68,246.14,743.906),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_frog_sing"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1810.67,-769.905,811.948),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_frog_sing"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-7.36963,-1528.16,598.948),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_frog_sing"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1023.81,-836.052,591.466),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_frog_sing"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1293.55,-251.91,541.057),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_frog_sing"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1549.57,691.909,734.809),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_frog_sing"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((344,-696.478,831.158),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_frog_sing"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((857.416,1919.74,350.462),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_frog_sing"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1337.78,355.726,645.219),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_insect_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1335.53,1601.84,370.721),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_insect_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1658.71,769.457,307.533),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_insect_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1191.1,1578.99,455.022),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_insect_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1019.98,-1482.27,678.12),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2581.02,-783.658,807.699),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_rocks_debris_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((796.593,-113.528,1026.62),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_tree_move_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1523.78,633.727,311.682),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_tree_rub"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1443.63,203.973,949.261),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_tree_wind_dry_wet"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1089.54,1607.94,386.944),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_tree_wind_dry_wet"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((757.392,1893.83,433.931),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_tree_wind_dry_wet"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-906.734,1603.43,460.98),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((357.529,-545.529,963.943),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-650.236,1425.77,300.444),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_server_hard_drive"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-866.767,1422.13,310.617),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_control_panel_internet_noise"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2295.71,-1408.78,763.617),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_destruction_aftermath"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2393.06,-1339.12,566.426),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_rocks_cliff"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2705.52,-110.6,711.244),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_cricket_swells"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2586.37,-268.281,896.508),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_frog_sing"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2.73573,1700.48,458.606),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "emt_hydraulics_release"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((122.404,2328.31,424.322),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_hydraulics_release"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1645.32,-54.6704,889.87),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_hydraulics_release"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1042.57,-211.203,1004.95),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_hydraulics_release"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-579.596,-1375.27,551.962),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_hydraulics_release"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((562.704,-300.782,730),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_flies_annoying"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-179.981,-524.25,531.389),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_flies_annoying"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1287.69,1467.96,298.386),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_tree_rub"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1600.33,1115.7,292.684),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_tree_rub"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1196.14,201.417,377.02),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_tree_rub"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1208.23,1494.04,421.99),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_tree_rub"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1542.37,855.717,645.837),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_tree_rub"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((188.82,-250.097,907.956),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_tree_rub"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-136.618,-931.54,681.318),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_tree_rub"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-252.246,-185.826,560.634),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_tree_rub"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2676.33,-261.386,774.234),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_tree_rub"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2650.11,-136.477,780.064),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_trees_wind_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((66.0612,-749.01,809.883),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_cricket_chirps_long"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1004.35,70.6291,389.983),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1232.18,-448.164,486),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1046.1,-629.351,525.814),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-765.254,-904.315,525.489),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((365.344,-1335.39,593),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1545.38,-870.084,587.875),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2423.07,49.8732,665.978),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2597.12,-64.1776,682.892),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2046.93,3.94014,639.64),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1939.53,208.773,651.541),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1124.21,146.173,548.659),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1187.21,532.206,388.743),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1247.85,242.335,503.061),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((449.132,-255.24,677.475),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1522.92,807.239,234.874),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1551.11,994.409,232.425),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1366.68,1262.83,224.94),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1227.89,1480.21,236.613),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1155.34,1432.98,235.915),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1417.42,1313.01,222.475),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1438.38,1009.05,226.724),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1470.9,741.527,240.016),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1464.87,801.576,237.562),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1071.59,1060.63,233.999),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-763.083,-10.1149,241.645),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-862.366,-34.0037,240.015),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1038.24,100.433,386.805),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1202.09,-549.511,473.162),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1071.71,-703.631,527.27),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-815.706,-875.266,525.937),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((381.826,-1294.02,592.371),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2385.91,-3.22974,662.778),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2569.65,-141.942,684.587),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2508.49,15.0625,677.393),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2131.02,34.8407,643.632),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1149.95,224.289,508.117),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1170.6,615.518,384),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1678.91,-784.214,582.301),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-764.98,-180.657,252.609),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-640.631,-524.379,246),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-565.09,-489.267,246),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-697.901,30.4754,252.365),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-630.75,-463.891,246),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_drip_leaf"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_kremlin_fx.gsc b/AW/PC/maps/createfx/mp_kremlin_fx.gsc new file mode 100644 index 0000000..7b9c4e0 --- /dev/null +++ b/AW/PC/maps/createfx/mp_kremlin_fx.gsc @@ -0,0 +1,1943 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_kremlin_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 89 ms + * Timestamp: 4/22/2024 2:07:39 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((269.776,-1770.03,323.849),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_roar_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((909.981,-1782.38,420.573),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_roar_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((567.141,-1856.55,364.057),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((512.303,-1963.11,438.918),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1086.06,-1878.91,601.829),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_roar_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1148.27,-1886.89,590.534),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_roar_lp_01_crackles"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1561.59,-1514.82,621.613),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_roar_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1625.76,-1453.03,495.954),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_roar_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1781.15,-1485.97,676.308),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2311.56,-1253.77,501.893),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1828.21,-1432.24,824.565),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_roar_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1808.7,-959.499,780.397),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_roar_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1855.82,-868.766,823.386),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1809.06,-988.65,593.777),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_roar_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2382.65,-1254.75,713.395),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_debris_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2839.23,-1216.18,542.559),(270,0,0)); + var_00.v["soundalias"] = "emt_control_panel_hum_glitch_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2353.66,-732.269,772.704),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_debris_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2720.37,-574.357,731.912),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_tarp_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2961.54,-621.482,727.271),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_tarp_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3139.91,-352.289,723.409),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_tarp_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1886.76,-516.656,436.624),(270,0,0)); + var_00.v["soundalias"] = "emt_server_air_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1880.26,-892.213,446.359),(270,0,0)); + var_00.v["soundalias"] = "emt_server_air_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3493.7,-307.435,288),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_roar_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3423.73,-267.487,288),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_roar_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3446.52,-1451.64,288),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_roar_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3455.07,-1435.63,288),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3660.58,-298.726,341.922),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-769.997,-1476.75,455.936),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-813.084,-1742.68,415.565),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3114.06,606.338,621.033),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_tarp_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3121.76,-17.3742,633.287),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_tarp_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3067.74,-920.605,629.202),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_tarp_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3067.26,-1434.52,631.667),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_tarp_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1997.33,-2154.54,614.884),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_tarp_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1839.65,497.31,1064.61),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_tarp_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2362.36,2738.26,592.066),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_tarp_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2078.51,3596.95,523.223),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_tarp_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-863.079,-414.14,390.68),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-666.258,-1508.1,484.427),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-339.63,670.763,443.739),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1501.48,-737.387,746.125),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1127.08,-454.982,718.125),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3243.33,-245.071,713.486),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1825.16,-955.5,633.086),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_debris_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1223.69,-802.142,581.692),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1277.25,-1810.39,449.82),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((195.558,-1513.44,411.555),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((93.0098,-1819.89,420.807),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3187.75,950.606,473.285),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3092.97,1445.15,470.486),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2740.4,1717.96,472.531),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2517.98,1804.17,504),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1891.42,2201.86,470.838),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1937.07,1663.5,599.558),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2802.65,-46.3461,442.246),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2802.4,632.17,446.358),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((524.228,404.559,371.583),(270,0,0)); + var_00.v["soundalias"] = "mp_kre_pc_warn_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1076.84,277.441,365.508),(270,0,0)); + var_00.v["soundalias"] = "mp_kre_pc_warn_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2963.68,-1215.31,520.03),(270,0,0)); + var_00.v["soundalias"] = "mp_kre_pc_warn_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1081.55,-175.875,553.709),(270,0,0)); + var_00.v["soundalias"] = "mp_kre_pc_warn_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-167.779,1042.76,177.419),(270,0,0)); + var_00.v["soundalias"] = "mp_kre_pc_warn_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1935.5,-917,356.566),(270,0,0)); + var_00.v["soundalias"] = "mp_kre_pc_warn_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1775.93,-917,356.979),(270,0,0)); + var_00.v["soundalias"] = "mp_kre_pc_warn_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1931.75,-508,357.366),(270,0,0)); + var_00.v["soundalias"] = "mp_kre_pc_warn_lp"; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2013.34,823.385,503.439),(348.562,319.986,50.9171)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2292.05,1338.63,559.673),(348.562,319.986,50.9171)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1645.32,179.109,749.2),(357.219,325.864,50.4487)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((-366.972,-113.689,731.371),(270,0,0)); + var_00.v["fxid"] = "krem_snow_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((-69.8474,-1528.1,972.919),(270,0,3)); + var_00.v["fxid"] = "krem_snow_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_settling_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((1847.59,-805.57,845),(270,0,0)); + var_00.v["fxid"] = "krem_settling_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_molten_drip"); + var_00 common_scripts\_createfx::set_origin_and_angles((1851,-944.589,961.55),(306.012,271.624,91.7013)); + var_00.v["fxid"] = "krem_molten_drip"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((171.769,1955.2,542.377),(270,0,0)); + var_00.v["fxid"] = "krem_snow_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_molten_drip"); + var_00 common_scripts\_createfx::set_origin_and_angles((1531.69,-1703.7,637.531),(337,0,0)); + var_00.v["fxid"] = "krem_molten_drip"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((4079.87,247.816,1742.01),(270,0,3)); + var_00.v["fxid"] = "krem_snow_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((2721.15,774.724,904.831),(270,0,3)); + var_00.v["fxid"] = "krem_snow_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((4567.99,801.212,1025.51),(270,0,3)); + var_00.v["fxid"] = "krem_snow_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2813.28,-1106.72,883.974),(270,0,3)); + var_00.v["fxid"] = "krem_snow_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_heavy_dust_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14624.1,-3866.53,976.521),(270,0,0)); + var_00.v["fxid"] = "krem_heavy_dust_smoke"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("krem_distant_large_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((8750.16,-16041.8,1051.98),(270,0,0)); + var_00.v["fxid"] = "krem_distant_large_smoke"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("krem_burning_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((1853.76,-865.78,829.666),(270,0,-74)); + var_00.v["fxid"] = "krem_burning_fire"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2344.6,-1118.34,641.782),(270,0,0)); + var_00.v["fxid"] = "krem_dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_wind_blowing_snow_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1533.33,-1171.71,467),(357.739,258.916,2.82021)); + var_00.v["fxid"] = "krem_wind_blowing_snow_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_wind_blowing_snow_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-762.449,-818.903,112),(357.433,269.921,4.35395)); + var_00.v["fxid"] = "krem_wind_blowing_snow_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_wind_blowing_snow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-788.02,-1260.18,160),(358.677,228.966,0.182475)); + var_00.v["fxid"] = "krem_wind_blowing_snow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_wind_blowing_snow_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-944.921,-1209.16,166),(0.189347,251.15,-0.753444)); + var_00.v["fxid"] = "krem_wind_blowing_snow_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_birds_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2485.82,-12667.5,2430.72),(355.148,143.849,-176.463)); + var_00.v["fxid"] = "krem_birds_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_birds_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3398.43,19557.7,3188.28),(355.148,143.849,-176.463)); + var_00.v["fxid"] = "krem_birds_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1906.31,967.107,344.955),(270,0,0)); + var_00.v["fxid"] = "krem_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1904.48,1042.92,548.661),(270,0,0)); + var_00.v["fxid"] = "krem_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_wind_blowing_snow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-77.5565,-164.232,118),(358.715,252.971,-0.372513)); + var_00.v["fxid"] = "krem_wind_blowing_snow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_wind_blowing_snow_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17.6512,-100.539,112),(1.01681,262.168,4.19651)); + var_00.v["fxid"] = "krem_wind_blowing_snow_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((2838.17,-950.704,502.125),(270,0,0)); + var_00.v["fxid"] = "krem_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_trash"); + var_00 common_scripts\_createfx::set_origin_and_angles((69.4544,681.355,227.065),(270,0,0)); + var_00.v["fxid"] = "wind_blowing_trash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1235.87,-2255.9,381.864),(270,0,0)); + var_00.v["fxid"] = "mp_trash_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_trash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2578.57,-1905.29,554.69),(270,0,0)); + var_00.v["fxid"] = "wind_blowing_trash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((3945.32,181.147,633.833),(270,180,-123)); + var_00.v["fxid"] = "mp_trash_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_trash"); + var_00 common_scripts\_createfx::set_origin_and_angles((2175.33,-1934.03,686.278),(270,0,0)); + var_00.v["fxid"] = "wind_blowing_trash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((82.2332,463.693,273.348),(270,0,0)); + var_00.v["fxid"] = "mp_trash_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((1809.22,-15.6322,592.125),(270,0,0)); + var_00.v["fxid"] = "krem_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((1186.9,1710.6,538.125),(270,0,0)); + var_00.v["fxid"] = "krem_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_settling_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((1634.83,-1700.95,634.691),(270,180,19)); + var_00.v["fxid"] = "krem_settling_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_sunflare_mp_kremlin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53.4648,-160.259,1091.13),(270,0,0)); + var_00.v["fxid"] = "fx_sunflare_mp_kremlin"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_wind_blowing_snow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1984.56,-1176.12,459.081),(10.1155,188.349,2.03746)); + var_00.v["fxid"] = "krem_wind_blowing_snow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_wind_blowing_snow_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((2069.35,-1082.1,470.89),(1.44187,177.983,2.51858)); + var_00.v["fxid"] = "krem_wind_blowing_snow_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2873.14,-72.5826,358.11),(270,0,0)); + var_00.v["fxid"] = "mp_trash_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3251.2,52.8872,427.535),(270,0,0)); + var_00.v["fxid"] = "mp_trash_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2332.85,-1166.86,653.637),(270,0,0)); + var_00.v["fxid"] = "krem_dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1575.13,-1905.78,296.677),(270,0,-100)); + var_00.v["fxid"] = "krem_snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-637.15,-1356.02,489.633),(270,0,-100)); + var_00.v["fxid"] = "krem_snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((3113.22,357.351,495.02),(270,0,-100)); + var_00.v["fxid"] = "krem_snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2159.69,-2201.55,472.721),(270,0,-100)); + var_00.v["fxid"] = "krem_snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((521.25,1374.78,533.569),(14.9436,263.473,61.2011)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((436.232,603.141,396.125),(348.963,277.297,55.7107)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-129.116,-233.32,239.889),(348.347,276.758,62.2205)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2337.77,-709.563,1078.45),(270,0,0)); + var_00.v["fxid"] = "krem_dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_smoke_stack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10052,28890.3,653.036),(324,5,0)); + var_00.v["fxid"] = "krem_smoke_stack"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("krem_smoke_stack"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3939.88,28017,2539.94),(270,0,0)); + var_00.v["fxid"] = "krem_smoke_stack"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((-500.683,-2410.06,873.708),(270,0,3)); + var_00.v["fxid"] = "krem_snow_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((-298.606,-1426.57,563.877),(270,0,3)); + var_00.v["fxid"] = "krem_snow_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((-138.318,197.137,411.266),(270,0,3)); + var_00.v["fxid"] = "krem_snow_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((-60.9103,-344.312,135),(270,0,3)); + var_00.v["fxid"] = "krem_snow_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((2587.66,381.445,456.125),(270,0,3)); + var_00.v["fxid"] = "krem_snow_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2583.1,-651.535,523.751),(270,0,3)); + var_00.v["fxid"] = "krem_snow_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((-929.925,17.1426,915.114),(270,0,0)); + var_00.v["fxid"] = "krem_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2005.74,837.297,320.851),(348.562,319.986,50.9171)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-359.917,1167.84,163.125),(270,0,0)); + var_00.v["fxid"] = "krem_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((1220.18,-4528.18,1096.5),(270,0,3)); + var_00.v["fxid"] = "krem_snow_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1144.97,-1060.21,752.544),(270,0,91)); + var_00.v["fxid"] = "krem_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((-67.6601,-222.129,409.794),(270,0,91)); + var_00.v["fxid"] = "krem_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_close_smoke_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((2408.07,-831.239,1012.13),(270,0,22)); + var_00.v["fxid"] = "krem_close_smoke_rise"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_smoke_column"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6150.47,2229.3,1019.02),(270,0,0)); + var_00.v["fxid"] = "krem_smoke_column"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("krem_smoke_column"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6136.53,2719.88,1045.07),(270,0,0)); + var_00.v["fxid"] = "krem_smoke_column"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("krem_dust_falling_no_debri_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2714.35,-920.783,737.613),(270,0,0)); + var_00.v["fxid"] = "krem_dust_falling_no_debri_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_dust_falling_no_debri_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2446.53,-849.481,741.875),(270,0,0)); + var_00.v["fxid"] = "krem_dust_falling_no_debri_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_dust_falling_no_debri_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2468.2,-1124.43,755.875),(270,0,0)); + var_00.v["fxid"] = "krem_dust_falling_no_debri_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_wind_blowing_snow_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2710.39,605.475,298),(357.433,269.921,4.35395)); + var_00.v["fxid"] = "krem_wind_blowing_snow_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_wind_blowing_snow_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2738.38,-493.489,298),(357.433,269.921,4.35395)); + var_00.v["fxid"] = "krem_wind_blowing_snow_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_wind_blowing_snow_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2925.05,-152.622,294),(357.433,269.921,4.35395)); + var_00.v["fxid"] = "krem_wind_blowing_snow_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1634.4,-816.481,458.493),(345.542,339.996,48.3687)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2022.42,-820.497,483.99),(345.542,339.996,48.3687)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2309.31,-849.724,543.69),(2.09122,78.825,-91.3962)); + var_00.v["fxid"] = "mp_godray_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1020.31,93.0996,903.183),(357.488,120.824,-89.637)); + var_00.v["fxid"] = "mp_godray_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((2151.26,-255.907,750.089),(270,0,0)); + var_00.v["fxid"] = "sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((2151.51,254.012,751.237),(270,0,0)); + var_00.v["fxid"] = "sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1765.22,1949.65,804.815),(270,0,0)); + var_00.v["fxid"] = "sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1711.3,1636.84,805.929),(270,0,0)); + var_00.v["fxid"] = "sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1657.19,1319.68,805.586),(270,0,0)); + var_00.v["fxid"] = "sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1656.58,1005.26,805.238),(270,0,0)); + var_00.v["fxid"] = "sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1657.16,686.37,805.092),(270,0,0)); + var_00.v["fxid"] = "sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((2079.76,-726.023,710.847),(270,0,0)); + var_00.v["fxid"] = "sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((2078.33,-1363.21,711.447),(270,0,0)); + var_00.v["fxid"] = "sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((2078.78,-1685.21,710.171),(270,0,0)); + var_00.v["fxid"] = "sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_moths_area_sml"); + var_00 common_scripts\_createfx::set_origin_and_angles((2004.41,1728.89,580.263),(270,0,0)); + var_00.v["fxid"] = "krem_moths_area_sml"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_wind_snow_puff"); + var_00 common_scripts\_createfx::set_origin_and_angles((2186.71,1847.33,605.547),(270,0,0)); + var_00.v["fxid"] = "krem_wind_snow_puff"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_wind_blowing_snow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2499.98,1607.2,472.171),(356.729,303.036,2.19019)); + var_00.v["fxid"] = "krem_wind_blowing_snow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_moths_area_sml"); + var_00 common_scripts\_createfx::set_origin_and_angles((1730.75,1921.27,586.351),(270,0,0)); + var_00.v["fxid"] = "krem_moths_area_sml"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_moths_area_sml"); + var_00 common_scripts\_createfx::set_origin_and_angles((1745.22,1730.15,582.954),(270,0,0)); + var_00.v["fxid"] = "krem_moths_area_sml"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_birds_scatter_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2317.29,3291.38,1444.89),(338,180,180)); + var_00.v["fxid"] = "krem_birds_scatter_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_wind_blowing_snow_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((2574.45,1606.06,473.076),(2.33885,335.302,1.35116)); + var_00.v["fxid"] = "krem_wind_blowing_snow_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_close_smoke_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((2364.94,-769.734,735.535),(270,0,22)); + var_00.v["fxid"] = "krem_close_smoke_rise"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_smoke_column"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6169.04,2560.92,935.125),(270,0,0)); + var_00.v["fxid"] = "krem_smoke_column"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("krem_falling_leaves_b"); + var_00 common_scripts\_createfx::set_origin_and_angles((3203.68,2385.41,685.985),(270,180,-89)); + var_00.v["fxid"] = "krem_falling_leaves_b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2627.49,1580.99,583.28),(270,0,0)); + var_00.v["fxid"] = "sphere_flare_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2653.98,1581.44,582.961),(270,0,0)); + var_00.v["fxid"] = "sphere_flare_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2487.49,1734.89,582.667),(270,0,0)); + var_00.v["fxid"] = "sphere_flare_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2467.21,1746.87,581.995),(270,0,0)); + var_00.v["fxid"] = "sphere_flare_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2284.56,1893.31,582.604),(270,0,0)); + var_00.v["fxid"] = "sphere_flare_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2263.85,1910.01,582.573),(270,0,0)); + var_00.v["fxid"] = "sphere_flare_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2024.69,1919.41,582.661),(270,0,0)); + var_00.v["fxid"] = "sphere_flare_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1996.82,1917.78,582.741),(270,0,0)); + var_00.v["fxid"] = "sphere_flare_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1757.11,1920.18,582.565),(270,0,0)); + var_00.v["fxid"] = "sphere_flare_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1729.5,1918.59,582.719),(270,0,0)); + var_00.v["fxid"] = "sphere_flare_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1721.36,1728.74,582.73),(270,0,0)); + var_00.v["fxid"] = "sphere_flare_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1748.38,1729.49,583.468),(270,0,0)); + var_00.v["fxid"] = "sphere_flare_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2017.46,1729.86,582.685),(270,0,0)); + var_00.v["fxid"] = "sphere_flare_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2385.93,1595.11,582.795),(270,0,0)); + var_00.v["fxid"] = "sphere_flare_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2384.91,1570.66,582.523),(270,0,0)); + var_00.v["fxid"] = "sphere_flare_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1988.86,1727.31,583.193),(270,0,0)); + var_00.v["fxid"] = "sphere_flare_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2975.35,1538.6,581.895),(270,0,0)); + var_00.v["fxid"] = "sphere_flare_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2975.39,1513.1,582.701),(270,0,0)); + var_00.v["fxid"] = "sphere_flare_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2976.29,1189.81,583.156),(270,0,0)); + var_00.v["fxid"] = "sphere_flare_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2976.34,1160.97,582.528),(270,0,0)); + var_00.v["fxid"] = "sphere_flare_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2976.27,829.014,582.886),(270,0,0)); + var_00.v["fxid"] = "sphere_flare_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2976.28,802.461,582.609),(270,0,0)); + var_00.v["fxid"] = "sphere_flare_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_molten_drip"); + var_00 common_scripts\_createfx::set_origin_and_angles((1187.36,-2349.51,640.159),(306.012,271.624,91.7013)); + var_00.v["fxid"] = "krem_molten_drip"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoke_pillar_black_large_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7232.84,-16603.8,815.185),(270,0,0)); + var_00.v["fxid"] = "smoke_pillar_black_large_slow"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("krem_molten_drip"); + var_00 common_scripts\_createfx::set_origin_and_angles((1786.93,-1481.21,676.796),(306.012,271.624,91.7013)); + var_00.v["fxid"] = "krem_molten_drip"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_small_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((1545.12,-1505.53,594.706),(270,0,-115)); + var_00.v["fxid"] = "krem_small_fire"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_small_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((1565.42,-1521.74,631.034),(270,0,-170)); + var_00.v["fxid"] = "krem_small_fire"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_burning_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((1680.24,-1720.27,473.682),(270,0,76)); + var_00.v["fxid"] = "krem_burning_fire"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_small_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((524.418,-1983.55,439.654),(270,0,-170)); + var_00.v["fxid"] = "krem_small_fire"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("krem_settling_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((1150.27,-2366.49,555.618),(270,180,19)); + var_00.v["fxid"] = "krem_settling_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_wind_blowing_corner"); + var_00 common_scripts\_createfx::set_origin_and_angles((889.029,-253.049,380.755),(32.6137,269.239,-9.01977)); + var_00.v["fxid"] = "krem_wind_blowing_corner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1860.46,113.968,319.625),(352.699,316.39,69.5922)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1617.82,5.53817,690.919),(270,0,0)); + var_00.v["fxid"] = "krem_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2009.05,-813.369,507.125),(270,0,0)); + var_00.v["fxid"] = "krem_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1616.94,-834.95,505.566),(270,0,0)); + var_00.v["fxid"] = "krem_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_falling_leaves_b"); + var_00 common_scripts\_createfx::set_origin_and_angles((643.593,371.875,459.101),(270,0,-171)); + var_00.v["fxid"] = "krem_falling_leaves_b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_falling_leaves_b"); + var_00 common_scripts\_createfx::set_origin_and_angles((630.475,286.857,550.527),(270,0,-171)); + var_00.v["fxid"] = "krem_falling_leaves_b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_falling_leaves_b"); + var_00 common_scripts\_createfx::set_origin_and_angles((829.725,296.896,501.262),(270,0,-171)); + var_00.v["fxid"] = "krem_falling_leaves_b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_falling_leaves_b"); + var_00 common_scripts\_createfx::set_origin_and_angles((815.126,294.131,583.011),(270,0,-171)); + var_00.v["fxid"] = "krem_falling_leaves_b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_small_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((1628.11,-1464.94,502.721),(270,0,-170)); + var_00.v["fxid"] = "krem_small_fire"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1760.8,-947.581,938.996),(270,0,0)); + var_00.v["fxid"] = "krem_dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_wind_blowing_snow_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2187.42,385.103,294),(359.253,129.887,0.216655)); + var_00.v["fxid"] = "krem_wind_blowing_snow_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_wind_blowing_snow_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2419.73,1302.42,294.946),(1.30917,270.233,-0.976719)); + var_00.v["fxid"] = "krem_wind_blowing_snow_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("flare_spot_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-157.065,932.237,311.487),(41.8928,319.279,-177.103)); + var_00.v["fxid"] = "flare_spot_sm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("flare_spot_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-561.932,933.331,309.63),(38.784,223.265,178.986)); + var_00.v["fxid"] = "flare_spot_sm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1163.2,-321.732,488.297),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1544.66,-477.806,608.297),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1325.11,-477.796,712.297),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1325.13,-477.781,712.297),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1062.44,-477.241,776.297),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1110.91,-268.242,828.297),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1111.29,-75.8679,828.297),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1111.08,84.112,828.297),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1112.24,243.886,828.297),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1062.27,489.723,776.297),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1326.18,488.62,712.297),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1546.9,488.556,608.297),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1760.99,239.285,472.297),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1761.18,-228.977,472.297),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1882.94,-894.908,434.297),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1881.94,-527.348,434.297),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2345.24,-711.883,434.297),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1413.1,1034.08,432.297),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1409.22,862.869,432.297),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1545.25,1431.39,555.438),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1410.54,1297.14,547.438),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1899.6,858.664,432.297),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1320.53,1800.44,631.233),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1159.73,1801.26,631.233),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1062.99,1544.82,631.233),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1072.84,637.104,912.875),(270,0,91)); + var_00.v["fxid"] = "krem_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1100.98,1107.99,767.678),(270,0,91)); + var_00.v["fxid"] = "krem_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1882.39,191.93,680.978),(270,0,178)); + var_00.v["fxid"] = "krem_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2310.31,-437.433,679.364),(270,0,91)); + var_00.v["fxid"] = "krem_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_vista_smk_stack_dark"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17915.8,-624.561,1651.49),(270,0,-92)); + var_00.v["fxid"] = "krem_vista_smk_stack_dark"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("flare_spot_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-157.065,932.237,311.487),(41.8928,319.279,-177.103)); + var_00.v["fxid"] = "flare_spot_sm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("flare_spot_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-561.932,933.331,309.63),(38.784,223.265,178.986)); + var_00.v["fxid"] = "flare_spot_sm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((388.02,485.235,790.997),(270,0,-12)); + var_00.v["fxid"] = "krem_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_sm_smoldering_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((2604.94,-220.145,443.042),(270,0,0)); + var_00.v["fxid"] = "krem_sm_smoldering_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_sm_smoldering_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((2881.24,679.829,456.803),(270,0,0)); + var_00.v["fxid"] = "krem_sm_smoldering_smk"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("krem_close_smoke_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((2422.2,-716.887,920.658),(270,0,22)); + var_00.v["fxid"] = "krem_close_smoke_rise"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_small_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((1043.42,-1880.87,619.899),(335.368,349.037,107.86)); + var_00.v["fxid"] = "krem_small_fire"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("krem_small_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((903.693,-1764.2,418.927),(270,0,-134)); + var_00.v["fxid"] = "krem_small_fire"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_smoldering_smk_direction_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((908.462,-2154.19,412.016),(270,0,0)); + var_00.v["fxid"] = "krem_smoldering_smk_direction_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1789.15,-1423.93,920.315),(270,0,0)); + var_00.v["fxid"] = "krem_dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_smoldering_smk_direction_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((1771.92,-4756.55,873.09),(270,0,0)); + var_00.v["fxid"] = "krem_smoldering_smk_direction_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_smoldering_smk_direction_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((1760.68,-4997.36,882.727),(270,0,0)); + var_00.v["fxid"] = "krem_smoldering_smk_direction_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_smoke_column_slower"); + var_00 common_scripts\_createfx::set_origin_and_angles((1873.36,-1522.21,850.325),(270,0,20)); + var_00.v["fxid"] = "krem_smoke_column_slower"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((2221.01,-351.54,1158.04),(270,0,3)); + var_00.v["fxid"] = "krem_snow_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((2164.42,-2985.09,889.361),(270,0,3)); + var_00.v["fxid"] = "krem_snow_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_blowing_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((2165.86,-1877.22,672.708),(345.487,269.805,-173.817)); + var_00.v["fxid"] = "krem_snow_blowing_tunnel"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2312.2,-1365.83,1061.8),(270,0,69)); + var_00.v["fxid"] = "krem_dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_smoke_white_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2335.38,-1401.34,1075.86),(270,0,0)); + var_00.v["fxid"] = "krem_smoke_white_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_smoke_white_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2354.38,-1396.05,1138.27),(270,0,0)); + var_00.v["fxid"] = "krem_smoke_white_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_smoke_white_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2785.28,-906.193,495.125),(270,0,0)); + var_00.v["fxid"] = "krem_smoke_white_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_smoke_white_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1163.75,74.7384,526.125),(270,0,0)); + var_00.v["fxid"] = "krem_smoke_white_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_smoke_white_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1745.84,271.316,662.48),(270,0,0)); + var_00.v["fxid"] = "krem_smoke_white_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1986.4,-1381.67,896.202),(270,0,0)); + var_00.v["fxid"] = "krem_dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1877.43,-1396,1037.07),(270,0,0)); + var_00.v["fxid"] = "krem_dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1779.22,-939.698,718.674),(270,0,0)); + var_00.v["fxid"] = "krem_dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_small_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((1796.78,-969.377,587.871),(270,0,-4)); + var_00.v["fxid"] = "krem_small_fire"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((1024.31,-1.03078,680.169),(348.562,319.986,50.9171)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_blowing_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((2162.06,-1330.83,513.457),(345.487,269.805,-173.817)); + var_00.v["fxid"] = "krem_snow_blowing_tunnel"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_wind_blowing_snow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1587.81,-947.367,301),(359.139,288.185,6.24453)); + var_00.v["fxid"] = "krem_wind_blowing_snow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_gold_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((186.335,155.779,114.957),(81.9381,277.081,-82.8489)); + var_00.v["fxid"] = "mp_godray_angled_gold_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1721.36,1728.74,582.73),(270,0,0)); + var_00.v["fxid"] = "sphere_flare_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1748.38,1729.49,583.468),(270,0,0)); + var_00.v["fxid"] = "sphere_flare_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2017.46,1729.86,582.685),(270,0,0)); + var_00.v["fxid"] = "sphere_flare_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2385.93,1595.11,582.795),(270,0,0)); + var_00.v["fxid"] = "sphere_flare_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2384.91,1570.66,582.523),(270,0,0)); + var_00.v["fxid"] = "sphere_flare_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("stadium_blue_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2415.6,-1221.23,626.031),(15.2646,32.0089,-166.602)); + var_00.v["fxid"] = "stadium_blue_sm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("stadium_blue_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2430.36,-1257.49,622.78),(23.6869,30.5808,-164.925)); + var_00.v["fxid"] = "stadium_blue_sm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("krem_ground_fire_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2791.17,-49.9683,445.711),(270,0,0)); + var_00.v["fxid"] = "krem_ground_fire_sm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("krem_smoke_white_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1113.57,-79.6526,914.365),(270,0,0)); + var_00.v["fxid"] = "krem_smoke_white_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_wind_blowing_snow_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2377.47,-47.7041,408.817),(4.8127,275.987,-1.72894)); + var_00.v["fxid"] = "krem_wind_blowing_snow_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2363.9,793.343,630.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2212.89,792.25,630.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2059.76,792.88,630.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1915.69,792.388,630.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1909.25,-465.725,634.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2053.73,-465.365,634.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2205.4,-465.104,634.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2356.86,-465.417,634.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2356.88,-465.418,634.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2357.9,-955.903,634.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2206.3,-955.696,634.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2053.98,-955.168,634.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1910.46,-955.401,634.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1781.86,-955.072,634.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1629.87,-955.394,634.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1478.35,-955.626,634.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1478.37,-955.646,634.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1334.03,-954.867,634.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1386.02,749.217,631.233),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1386.79,892.765,631.233),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1386.46,1004.64,631.233),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1385.2,1172.63,631.233),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1384.98,1269.05,631.233),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1385.27,1396.5,631.233),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-984.673,582.194,670.466),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-327.707,1158.87,602.411),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-328.029,1340.07,602.411),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-413.178,1055.57,602.411),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-500.62,1055.46,602.411),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-568.355,1162.44,602.411),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-568.444,1257.41,602.411),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-567.783,1364.73,602.411),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-956.003,-68.2136,587.233),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-956.478,12.9989,587.233),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-956.53,92.7348,587.233),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1366.61,1073.8,462.297),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1367.53,817.584,462.297),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-925.109,155.215,462.297),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-924.663,-144.668,462.297),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-956.371,-233.189,671.233),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-956.296,-313.336,671.233),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-956.28,-392.946,671.233),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-956.503,245.434,671.233),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-956.574,325.144,671.233),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-956.181,404.706,671.233),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1586.76,1271.89,557.531),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1586.62,1063.73,557.531),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-325.854,1265.73,419.438),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1001.96,1296.98,352.297),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-566.922,1212.28,240.031),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-566.666,1308.34,240.031),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-152.874,1308.92,240.031),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-153.343,1212.89,240.031),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1900.23,1423.51,547.438),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((38.9729,148.066,261.233),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((39.1123,51.7878,261.233),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((39.1283,-44.2798,261.233),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((39.2321,-140.253,261.233),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-41.0443,-140.479,261.233),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-41.4281,-44.2707,261.233),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-41.2274,51.8854,261.233),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-41.1497,147.922,261.233),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((692.553,782.237,459.233),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((692.156,631.806,459.233),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((692.074,503.632,459.233),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((612.199,503.513,459.233),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((611.779,631.594,459.233),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((532.246,631.592,459.233),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((612.048,781.728,459.233),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((531.952,781.7,459.233),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((435.978,360.261,670.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((436.306,528.619,670.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((436.329,728.629,670.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((435.917,920.155,670.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((435.598,1112.28,670.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((436.135,1304.63,670.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((436.053,1528.69,670.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((435.768,360.256,758.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((436.143,528.017,758.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((436.203,727.799,758.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((436.045,920.302,758.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((435.884,1112.17,758.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((435.698,1304.05,758.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((435.859,1528.45,758.849),(89,0,0)); + var_00.v["fxid"] = "sconce_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((921.719,888.99,594.897),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((496.955,955.145,551.797),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((496.552,1139.45,551.797),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((496.175,1307.44,551.797),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((960.36,947.418,595.897),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1226.45,947.462,595.897),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_sm_licks_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((2799.59,644.229,445.483),(270,0,0)); + var_00.v["fxid"] = "fire_sm_licks_loop"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("fire_sm_licks_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((2810.91,635.433,441.631),(270,0,0)); + var_00.v["fxid"] = "fire_sm_licks_loop"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("krem_small_fire_b"); + var_00 common_scripts\_createfx::set_origin_and_angles((2801.71,629.624,442.376),(270,0,0)); + var_00.v["fxid"] = "krem_small_fire_b"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("krem_smk_fire_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2305.61,-1257.54,491.841),(271,90.0327,-90.0344)); + var_00.v["fxid"] = "krem_smk_fire_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_smk_fire_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((570.675,-1857.46,364.085),(271,90.0195,-116.021)); + var_00.v["fxid"] = "krem_smk_fire_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_mist_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2767.46,-769.889,294),(270,0,0)); + var_00.v["fxid"] = "krem_snow_mist_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_mist_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1608.69,-1014.38,307),(270,0,0)); + var_00.v["fxid"] = "krem_snow_mist_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_mist_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2482.69,-1710.38,313.813),(270,0,0)); + var_00.v["fxid"] = "krem_snow_mist_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_mist_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2474.09,744.73,300),(270,0,0)); + var_00.v["fxid"] = "krem_snow_mist_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_mist_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2274.64,-349.788,291),(270,180,124)); + var_00.v["fxid"] = "krem_snow_mist_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_mist_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-903.009,11.9095,320.914),(270,0,83)); + var_00.v["fxid"] = "krem_snow_mist_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_mist_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1082.11,-1048.6,429),(270,0,32)); + var_00.v["fxid"] = "krem_snow_mist_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_blowing_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((2780.85,1412.64,459),(358.06,317.537,89.1693)); + var_00.v["fxid"] = "krem_snow_blowing_tunnel"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_mist_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((437.963,-1843,381.544),(270,0,32)); + var_00.v["fxid"] = "krem_snow_mist_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_mist_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((270.828,-1093.03,303.132),(270,0,32)); + var_00.v["fxid"] = "krem_snow_mist_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_mist_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-906.991,-1278.28,160),(270,0,-42)); + var_00.v["fxid"] = "krem_snow_mist_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_mist_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((247.029,52.2755,412.779),(270,180,180)); + var_00.v["fxid"] = "krem_snow_mist_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("blue_sm_lens"); + var_00 common_scripts\_createfx::set_origin_and_angles((2789.52,-1219.49,519.125),(5.9474,83.9968,-94.9115)); + var_00.v["fxid"] = "blue_sm_lens"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1390.66,1085.49,583.561),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1390.01,1247.32,583.561),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1252.68,-393.941,384.604),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1344.67,-393.499,384.617),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1414.51,-393.772,384.593),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1505.27,-394.494,384.621),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1505.27,-394.494,384.621),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1451.64,-69.5004,378.616),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1339.04,-79.5462,378.592),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1338.25,89.13,378.611),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1451.2,79.8356,378.62),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1507.72,406.004,384.569),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1415.11,405.853,384.623),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1345.29,405.868,384.607),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1253.99,405.318,384.603),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2361.33,1252.76,379.531),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_small_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3656.39,-296.557,330.043),(334.469,101.612,-105.338)); + var_00.v["fxid"] = "krem_small_fire"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("krem_smoldering_smk_direction_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3147.38,-2494.44,258.254),(270,0,0)); + var_00.v["fxid"] = "krem_smoldering_smk_direction_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_blowing_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21.3668,-217.317,187.679),(349.001,269.805,91.0187)); + var_00.v["fxid"] = "krem_snow_blowing_tunnel"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-528.748,1152.62,150.207),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_smoldering_smk_direction_l"); + var_00 common_scripts\_createfx::set_origin_and_angles((619.893,-3024.19,462.698),(270,0,0)); + var_00.v["fxid"] = "krem_smoldering_smk_direction_l"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_smoldering_smk_direction_l"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2682.71,-6691.41,284),(270,0,0)); + var_00.v["fxid"] = "krem_smoldering_smk_direction_l"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_smk_fire_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3590.21,-1608.23,306.405),(358,333.419,-89.6037)); + var_00.v["fxid"] = "krem_smk_fire_sm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("krem_smoke_white_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((562.591,559.334,372.075),(270,0,0)); + var_00.v["fxid"] = "krem_smoke_white_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_smoke_white_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1221.86,1750.51,550.125),(270,0,0)); + var_00.v["fxid"] = "krem_smoke_white_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_burning_fire_trail"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3683.8,-337.474,346.783),(281,92,0)); + var_00.v["fxid"] = "krem_burning_fire_trail"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("krem_smk_fire_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3628.97,-329.08,296.091),(358.957,285.411,-88.2489)); + var_00.v["fxid"] = "krem_smk_fire_sm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("krem_burning_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3561.69,-1478.73,347.038),(270,0,47)); + var_00.v["fxid"] = "krem_burning_fire"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("krem_small_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3626.9,-1562.34,381.298),(331.511,78.2363,50.3992)); + var_00.v["fxid"] = "krem_small_fire"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("krem_smoke_column"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4585.26,7748.07,513.181),(270,0,0)); + var_00.v["fxid"] = "krem_smoke_column"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("krem_smoke_column"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4317.49,8349.28,567.595),(270,180,150)); + var_00.v["fxid"] = "krem_smoke_column"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("krem_ambient_exp_runner_b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7757.62,-1643.6,6404.16),(270,0,0)); + var_00.v["fxid"] = "krem_ambient_exp_runner_b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_ambient_exp_runner_b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2402.28,17456,5352.85),(270,0,0)); + var_00.v["fxid"] = "krem_ambient_exp_runner_b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_ambient_exp_runner_b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2685.22,-20871.9,5284.55),(270,0,0)); + var_00.v["fxid"] = "krem_ambient_exp_runner_b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_ambient_exp_runner_b"); + var_00 common_scripts\_createfx::set_origin_and_angles((13172.7,2046.2,6149.38),(270,0,0)); + var_00.v["fxid"] = "krem_ambient_exp_runner_b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("flare_spot_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2150.28,396.292,772.771),(40.0665,64.6819,-103.121)); + var_00.v["fxid"] = "flare_spot_sm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_mist_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2140.02,22.0469,472.125),(270,0,123)); + var_00.v["fxid"] = "krem_snow_mist_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_mist_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1370.62,942.733,303.125),(270,0,78)); + var_00.v["fxid"] = "krem_snow_mist_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_mist_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2043.52,831.875,293.884),(270,0,-13)); + var_00.v["fxid"] = "krem_snow_mist_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_mist_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1656.74,1138.66,493),(270,0,86)); + var_00.v["fxid"] = "krem_snow_mist_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_mist_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1695.16,1807.2,482),(270,0,86)); + var_00.v["fxid"] = "krem_snow_mist_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1339.95,1855.14,570.175),(270,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2996,-28.5961,595.458),(270,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_mist_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((989.558,16.787,493.125),(270,180,111)); + var_00.v["fxid"] = "krem_snow_mist_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_mist_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1962.59,-92.1275,306),(270,0,-87)); + var_00.v["fxid"] = "krem_snow_mist_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_mist_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1947.19,125.844,300),(270,180,74)); + var_00.v["fxid"] = "krem_snow_mist_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_snow_mist_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((438.552,472.492,330.125),(270,180,111)); + var_00.v["fxid"] = "krem_snow_mist_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_battlefield_smoke_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((2482.38,-925.536,523.125),(270,0,0)); + var_00.v["fxid"] = "krem_battlefield_smoke_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_battlefield_smoke_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((593.596,-1714.85,403.462),(270,0,0)); + var_00.v["fxid"] = "krem_battlefield_smoke_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_smoke_column"); + var_00 common_scripts\_createfx::set_origin_and_angles((1870.77,-3489.29,892.72),(270,0,0)); + var_00.v["fxid"] = "krem_smoke_column"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("stadium_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1309.22,67.6338,397.946),(348.511,345.979,9.08958)); + var_00.v["fxid"] = "stadium_sm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1721.25,1730.74,582.73),(270,0,0)); + var_00.v["fxid"] = "sphere_flare_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sphere_flare_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1748.64,1731.47,583.468),(270,0,0)); + var_00.v["fxid"] = "sphere_flare_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1480.46,1800.47,631.233),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1095.25,1703.56,631.233),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((920.347,921.753,444.797),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1165.39,332.735,485.68),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1164.1,331.812,485.68),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1011.95,83.2145,430.297),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sconce_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1011.91,-68.884,430.297),(88,0,0)); + var_00.v["fxid"] = "sconce_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("krem_burning_fire_no_embers"); + var_00 common_scripts\_createfx::set_origin_and_angles((272.618,-1872.55,344.735),(288.546,101.777,-12.4565)); + var_00.v["fxid"] = "krem_burning_fire_no_embers"; + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2360.8,-1229.93,595.141),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_mp_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2319.5,-1073.25,654.657),(270,0,0)); + var_00.v["delay_min"] = 12; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "emt_mp_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2871.2,-974.463,752.315),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_mp_wood_creak_lrg"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2910.99,-1272.73,533.916),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_mp_wood_creak_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2574.96,-983.686,755.875),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2320.63,-742.283,767.685),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2378.99,-707.261,737.809),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_mp_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1048.2,-22.8802,755.3),(270,0,0)); + var_00.v["delay_min"] = 60; + var_00.v["delay_max"] = 95; + var_00.v["soundalias"] = "emt_mp_wood_creak_lrg"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2075,89.7075,734.272),(270,0,0)); + var_00.v["delay_min"] = 60; + var_00.v["delay_max"] = 95; + var_00.v["soundalias"] = "emt_mp_wood_creak_lrg"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-985.188,-42.911,778.199),(270,0,0)); + var_00.v["delay_min"] = 12; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "glass_debris_vehicle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-980.125,119.331,773.61),(270,0,0)); + var_00.v["delay_min"] = 12; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "emt_mp_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1861.68,-1456.04,617.628),(270,0,0)); + var_00.v["delay_min"] = 25; + var_00.v["delay_max"] = 50; + var_00.v["soundalias"] = "emt_mp_metal_creak_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1805.1,-1005.94,486.857),(270,0,0)); + var_00.v["delay_min"] = 22; + var_00.v["delay_max"] = 40; + var_00.v["soundalias"] = "emt_mp_metal_creak_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1768.05,-940.524,669.324),(270,0,0)); + var_00.v["delay_min"] = 12; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "emt_mp_metal_knock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1901.8,-1402.4,521.611),(270,0,0)); + var_00.v["delay_min"] = 46; + var_00.v["delay_max"] = 65; + var_00.v["soundalias"] = "metal_stress_low_chunk"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1746.93,-946.06,615.779),(270,0,0)); + var_00.v["delay_min"] = 65; + var_00.v["delay_max"] = 90; + var_00.v["soundalias"] = "metal_stress_low_far"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2747.45,-1050.02,740.875),(270,0,0)); + var_00.v["delay_min"] = 20; + var_00.v["delay_max"] = 40; + var_00.v["soundalias"] = "mp_kre_bldg_cracks"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2349.76,-1218.86,619.527),(270,0,0)); + var_00.v["delay_min"] = 12; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "mp_kre_bldg_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2353.63,-1059.44,575.672),(270,0,0)); + var_00.v["delay_min"] = 12; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "mp_kre_bldg_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1913.91,-974.042,571.963),(270,0,0)); + var_00.v["delay_min"] = 12; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "mp_kre_bldg_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1945.42,-1359.22,555.005),(270,0,0)); + var_00.v["delay_min"] = 12; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "mp_kre_bldg_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1869.04,-975.21,710.361),(270,0,0)); + var_00.v["delay_min"] = 20; + var_00.v["delay_max"] = 40; + var_00.v["soundalias"] = "mp_kre_bldg_cracks"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1358.09,-6.19616,800.717),(270,0,0)); + var_00.v["delay_min"] = 20; + var_00.v["delay_max"] = 40; + var_00.v["soundalias"] = "mp_kre_bldg_cracks"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1710.75,-602.522,627.875),(270,0,0)); + var_00.v["delay_min"] = 20; + var_00.v["delay_max"] = 40; + var_00.v["soundalias"] = "mp_kre_bldg_cracks"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1028.13,9.8689,818.112),(270,0,0)); + var_00.v["delay_min"] = 20; + var_00.v["delay_max"] = 40; + var_00.v["soundalias"] = "mp_kre_bldg_cracks"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2400.23,-760.122,767.875),(270,0,0)); + var_00.v["delay_min"] = 20; + var_00.v["delay_max"] = 40; + var_00.v["soundalias"] = "mp_kre_bldg_cracks"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2356.43,-706.5,665.468),(270,0,0)); + var_00.v["delay_min"] = 12; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "mp_kre_bldg_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2351.5,-1212.93,523.587),(270,0,0)); + var_00.v["delay_min"] = 12; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "mp_kre_bldg_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1284.13,1784.09,631.875),(270,0,0)); + var_00.v["delay_min"] = 15; + var_00.v["delay_max"] = 40; + var_00.v["soundalias"] = "mp_kre_bldg_cracks"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((760.39,876.547,633.603),(270,0,0)); + var_00.v["delay_min"] = 15; + var_00.v["delay_max"] = 40; + var_00.v["soundalias"] = "mp_kre_bldg_cracks"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2348.8,-485.875,435.956),(270,0,0)); + var_00.v["delay_min"] = 9; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "mp_kre_bldg_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1793.93,-1440.32,507.542),(270,0,0)); + var_00.v["delay_min"] = 12; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "mp_kre_bldg_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1460.64,-1485.63,497.137),(270,0,0)); + var_00.v["delay_min"] = 12; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "mp_kre_bldg_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1114.34,-1570.01,452.824),(270,0,0)); + var_00.v["delay_min"] = 12; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "mp_kre_bldg_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1725.15,-947.493,576.972),(270,0,0)); + var_00.v["delay_min"] = 12; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "mp_kre_bldg_debris_sml"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_lab2_fx.gsc b/AW/PC/maps/createfx/mp_lab2_fx.gsc new file mode 100644 index 0000000..30aef08 --- /dev/null +++ b/AW/PC/maps/createfx/mp_lab2_fx.gsc @@ -0,0 +1,1569 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_lab2_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 84 ms + * Timestamp: 4/22/2024 2:07:39 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((689.598,902.388,150.052),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_window_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((776.762,1342.73,347.698),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_window_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-455.018,1509.93,270.875),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_lobby_entrance_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1231.24,1643.44,376.875),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_door_heavy_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1107.32,1218.58,378.223),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_window_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((983.072,147.351,290.559),(45,90,0)); + var_00.v["soundalias"] = "emt_wind_window_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((700.88,-137.108,57.735),(6.15807,355.875,0)); + var_00.v["soundalias"] = "emt_wind_lobby_entrance_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1146.67,-297.708,150.125),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_door_heavy_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-105.501,698.865,397.487),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_tunnel_tone_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((271.809,-14.7742,417.096),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_door_heavy_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((270.875,205.8,441.425),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_window_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((67.6571,-776.584,502.61),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_gusts_alley_ext_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-380.6,-1256.33,304.125),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_door_heavy_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((45.1328,-1251.68,432.298),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_window_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-478.498,-787.577,408.668),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_door_heavy_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((60.1574,-1240.55,309.125),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_door_heavy_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1430.81,-1017.76,441.454),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_gusts_alley_ext_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((485.966,-23.0723,480.09),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_door_heavy_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((607.036,-259.9,463.875),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_window_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((723.367,-226.5,202.33),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_window_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((616.149,845.598,250.5),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_lobby_entrance_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1003.46,-537.478,498.875),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_door_heavy_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((402.893,-908.448,426.524),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_window_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1505.18,-344.413,486.818),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_window_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2001.65,-420.888,346.125),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_door_heavy_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1340.17,603.414,421.883),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_tunnel_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1220.35,642.12,431.875),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_window_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-538.337,-1029.63,430.97),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_window_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1560.96,-1055.11,490.983),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_tunnel_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1185.95,-199.54,392),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_tunnel_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1904.37,-957.984,400.087),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_window_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((366.404,-726.858,499.183),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_door_heavy_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-275.483,668.41,352.201),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((10.8015,700.57,412.722),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_high_wind_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-190.809,737.779,574.256),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-9.84584,675.825,448.178),(270,0,0)); + var_00.v["soundalias"] = "emt_scaffolding_shake_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((369.538,824.378,455.875),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_window_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((824.125,958.758,410.096),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_window_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1365.68,872.738,339.422),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_tunnel_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1204.48,-38.4216,240.343),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_tunnel_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-540.188,110.364,243.577),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_tunnel_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((184.186,1331.31,528.875),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_lobby_entrance2_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-803.275,1099.99,569.729),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_hum_medium_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-719.359,-443.819,573),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-136.564,-274.977,591),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-340.989,-1148.23,577),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((640.976,-735.651,391.726),(270,0,0)); + var_00.v["soundalias"] = "emt_server_air_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1447.06,583.268,544.011),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_upper_window_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-347.845,1034.56,507.621),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1.83235,1512.42,486.621),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-345.232,1514.2,486.621),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-400.599,1979.33,472.404),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-19.1905,1979.29,468.077),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4.58981,1815.57,483.705),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1147.62,-834.358,278.112),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((614.072,-736.805,399.317),(270,0,0)); + var_00.v["soundalias"] = "emt_server_rattle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((214.471,-65.8678,243.984),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((241.553,289.723,150.111),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-217.067,1665.32,326.927),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-184.493,1620.62,332.753),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1606.58,1016.25,354.333),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-554.57,932.999,571.813),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_water_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1476.32,1120.88,340.259),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_low_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1522.7,988.974,356.048),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_hum_small_ext_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1280.99,934.237,375.799),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_ext_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1233.69,1102.19,336.283),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_hum_large_ext_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1372.23,1124.09,376.615),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_hum_tiny_ext_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-241.537,731.128,418.731),(270,0,0)); + var_00.v["soundalias"] = "emt_scaffolding_shake_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-29.5724,344.585,397.042),(270,0,0)); + var_00.v["soundalias"] = "emt_liquid_tank_boiling_large2_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-28.3627,76.0378,399.042),(270,0,0)); + var_00.v["soundalias"] = "emt_liquid_tank_boiling_large2_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-27.456,-183.209,390.77),(270,0,0)); + var_00.v["soundalias"] = "emt_liquid_tank_boiling_large2_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-216.675,-808.581,343.125),(270,0,0)); + var_00.v["soundalias"] = "emt_liquid_tank_boiling_wide_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-94.8152,82.3428,303.123),(270,0,0)); + var_00.v["soundalias"] = "emt_liquid_tank_boiling_midforward_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-100.889,-182.333,315.786),(270,0,0)); + var_00.v["soundalias"] = "emt_liquid_tank_boiling_low_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-108.844,344.288,312.953),(270,0,0)); + var_00.v["soundalias"] = "emt_liquid_tank_boiling_low_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-219.418,-807.961,429.788),(270,0,0)); + var_00.v["soundalias"] = "emt_laboratory_computer_pump_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1173.52,1021.16,282.869),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_water_plastic_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1014.7,83.5654,259.014),(270,0,0)); + var_00.v["soundalias"] = "emt_panel_pulse_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((67.4617,92.4902,295.055),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_buzz_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-216.198,-803.509,399.762),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-191.138,-814.643,437.183),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_buzz_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-477.51,-926.487,368.707),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_hum_medium_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-479.108,-986.059,367.905),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_buzz_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-990.629,344.595,230.544),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1170.94,224.631,268.342),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((50.558,988.315,421.932),(270,0,0)); + var_00.v["soundalias"] = "emt_panel_pulse_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((800.48,-713.6,213.157),(270,0,0)); + var_00.v["soundalias"] = "emt_console_large_low_pitch_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1214.74,-229.284,170.268),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_tunnel_tone_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-119.145,87.7276,300.152),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-577.867,189.312,295.044),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_tunnel_tone_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((47.3702,298.844,359.28),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-35.6646,-35.2354,304.983),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((231.497,-294.966,357.871),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1006.8,349.358,225.959),(270,0,0)); + var_00.v["soundalias"] = "emt_panel_pulse_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-861.74,238.599,240.713),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_hum_medium_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-863.914,197.335,240.291),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_water_air_huge_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((600.77,137,481.842),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_window_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((953.95,-601.125,283.885),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_door_heavy_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-64.7356,1309.63,358.04),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_low_large_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-179.368,1128.24,364.645),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-286.059,1197.91,393.66),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-292.91,1313.47,379.634),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-180.051,1363.08,385.066),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1291.03,603.529,386.615),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_water_hum_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-707.444,-431.064,563),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_steam_transformer_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-345.898,-1170.45,571),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_steam_transformer_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-28.0949,-65.1198,312),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_water_air_huge_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-27.7147,196.852,315),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_hum_medium_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((430.096,1188.06,334.182),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_hum_medium_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((217.631,-289.875,369.964),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_plastic_small_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-228.583,-421.981,360.983),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_hum_medium_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((78.3445,87.6771,346.596),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-256.234,485.313,355.862),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_hum_medium_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-27.5793,237.172,287.701),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_water_air_huge_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1531.37,475.632,376.939),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_buzz_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1529.88,478.368,346.236),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_hum_medium_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((86.991,1750.89,466.358),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-476.409,1632.53,465.376),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-457.165,1276.31,465.589),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-315.117,908.744,472.785),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-41.8547,923.406,473.187),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((201.627,1595.3,470.954),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-453.881,1784.29,390.571),(270,0,0)); + var_00.v["soundalias"] = "emt_control_panel_small_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((172.024,987.142,404.833),(270,0,0)); + var_00.v["soundalias"] = "emt_control_panel_small_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((801.63,1499.24,322.668),(270,0,0)); + var_00.v["soundalias"] = "emt_control_panel_small_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-453.783,1074.19,391.935),(270,0,0)); + var_00.v["soundalias"] = "emt_control_panel_small_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((189.675,557.403,397.233),(270,0,0)); + var_00.v["soundalias"] = "emt_control_panel_small_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-292.832,-253.915,405.205),(270,0,0)); + var_00.v["soundalias"] = "emt_control_panel_small_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-308.117,-530.57,396.851),(270,0,0)); + var_00.v["soundalias"] = "emt_control_panel_small_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-477.12,-696.602,389.181),(270,0,0)); + var_00.v["soundalias"] = "emt_console_medium_hum_beep_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1712.23,1500.71,364.462),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_door_heavy_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2113.38,1176.85,421.912),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_door_heavy_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2032.33,810.702,396.932),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_window_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-935.774,-516.939,496.904),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_tunnel_tone_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1009.79,382.065,583.875),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-251.775,513.975,417.332),(270,0,0)); + var_00.v["soundalias"] = "emt_liquid_tank_boiling_wide_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-249.76,-418.913,419.392),(270,0,0)); + var_00.v["soundalias"] = "emt_liquid_tank_boiling_wide_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-211.086,-811.638,458.405),(270,0,0)); + var_00.v["soundalias"] = "emt_liquid_tank_boiling_large2_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1734.29,1311.23,479.676),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_high_wind_ext_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1715.92,1241.65,486.209),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((454.593,-997.105,376.039),(270,0,0)); + var_00.v["soundalias"] = "emt_server_air_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((420.058,-1000.88,416.617),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_hum_medium_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((589.474,-1017.04,384.187),(270,0,0)); + var_00.v["soundalias"] = "emt_panel_pulse_hum_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((681.736,-606.116,371.739),(270,0,0)); + var_00.v["soundalias"] = "emt_control_panel_sml_hum_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((546.691,-607.051,379.475),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-200.813,-1277.69,367.096),(270,0,0)); + var_00.v["soundalias"] = "emt_control_panel_sml_hum_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-140.632,-1289.47,369.897),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_screen_small_lp"; + var_00 = common_scripts\utility::createoneshoteffect("lights_conelight_smokey"); + var_00 common_scripts\_createfx::set_origin_and_angles((889.407,73.9128,388.011),(38.4012,337.323,-34.1124)); + var_00.v["fxid"] = "lights_conelight_smokey"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("frost_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1036.83,226.895,327.125),(270,0,0)); + var_00.v["fxid"] = "frost_patch"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("frost_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-143.615,715.636,343.125),(270,0,0)); + var_00.v["fxid"] = "frost_patch"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_cloud_lrg_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1507.03,879.9,364.355),(270,0,0)); + var_00.v["fxid"] = "snow_cloud_lrg_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_cloud_lrg_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1273.26,989.651,914.496),(270,0,0)); + var_00.v["fxid"] = "snow_cloud_lrg_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_cloud_lrg_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-405.943,-1845.32,389.121),(270,0,0)); + var_00.v["fxid"] = "snow_cloud_lrg_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_cloud_lrg_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1614.46,1091.71,447.964),(270,0,0)); + var_00.v["fxid"] = "snow_cloud_lrg_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_cloud_lrg_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-929.713,-953.336,440.125),(270,0,0)); + var_00.v["fxid"] = "snow_cloud_lrg_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_cloud_lrg_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1445.26,-1617.39,326.491),(270,0,0)); + var_00.v["fxid"] = "snow_cloud_lrg_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_cloud_lrg_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-516.353,661.818,315.146),(270,0,0)); + var_00.v["fxid"] = "snow_cloud_lrg_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_cloud_lrg_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1025.88,1864.96,498),(270,0,0)); + var_00.v["fxid"] = "snow_cloud_lrg_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("generator_steam_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1471.34,957.861,424),(270,0,180)); + var_00.v["fxid"] = "generator_steam_windy"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("generator_steam_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1511.46,1058.27,418.125),(270,0,180)); + var_00.v["fxid"] = "generator_steam_windy"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("generator_steam_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1280.38,1122.84,423.769),(270,0,180)); + var_00.v["fxid"] = "generator_steam_windy"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("generator_steam_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1251.01,987.673,411.369),(270,0,180)); + var_00.v["fxid"] = "generator_steam_windy"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("generator_steam_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-345.866,-1154.41,565.94),(270,0,180)); + var_00.v["fxid"] = "generator_steam_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("whispy_clouds_hemisphere"); + var_00 common_scripts\_createfx::set_origin_and_angles((0,0,17439),(270,0,0)); + var_00.v["fxid"] = "whispy_clouds_hemisphere"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_building_exhaust_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-179.078,1247.52,814.125),(0,270,0)); + var_00.v["fxid"] = "steam_building_exhaust_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-163.805,1134.48,607.165),(270,0,177)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-236.758,945.165,599.554),(270,0,-88)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-331.383,-775.582,575.125),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((304.424,-80.2829,459.125),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1161.94,143.985,547.5),(270,0,-90)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-799.384,279.582,547.5),(270,0,-90)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_pipe_water_trickle_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-167.478,1052.88,602.441),(270,0,-179)); + var_00.v["fxid"] = "falling_pipe_water_trickle_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_vent_burst_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-245.987,533.436,543.514),(41.3499,283.593,-49.7556)); + var_00.v["fxid"] = "steam_vent_burst_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_pipe_water_trickle_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((318.032,-28.1867,463.177),(270,0,0)); + var_00.v["fxid"] = "falling_pipe_water_trickle_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_pipe_water_trickle_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((301.869,206.76,462.483),(270,0,0)); + var_00.v["fxid"] = "falling_pipe_water_trickle_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("frost_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-143.615,715.636,343.125),(270,0,0)); + var_00.v["fxid"] = "frost_patch"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_cloud_lrg_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1035.47,447.98,360.621),(270,0,0)); + var_00.v["fxid"] = "snow_cloud_lrg_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mob_server_01_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((641.912,-761.527,364.054),(0,90,-1)); + var_00.v["fxid"] = "mob_server_01_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mob_server_01_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((662.55,-761.529,374.917),(360,357.998,0)); + var_00.v["fxid"] = "mob_server_01_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1204.24,229.981,544.5),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-890.448,86.8786,548.5),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1163.34,110.65,542.5),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-309.978,1486.03,628.125),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-346.372,1118.81,616.504),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((41.897,1124.54,622.125),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_sunflare_lab2"); + var_00 common_scripts\_createfx::set_origin_and_angles((29078.5,18585.3,24696.3),(270,0,0)); + var_00.v["fxid"] = "fx_sunflare_lab2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-226.434,1770.15,611.125),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((66.4434,1476.39,635.875),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-190.486,1045.17,607.412),(272,90,90)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-319.604,-659.844,555),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-92.0667,-973.386,483),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-388.16,-984.017,474.125),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cloud_shadows_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-344.685,-550.772,2546.49),(270,0,0)); + var_00.v["fxid"] = "cloud_shadows_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lab_machine_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-28.0653,81.009,276.395),(270,0,0)); + var_00.v["fxid"] = "lab_machine_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lab_machine_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-27.9804,-183.973,275.462),(270,0,90)); + var_00.v["fxid"] = "lab_machine_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lab_machine_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-28.0246,343.999,275.462),(270,0,-90)); + var_00.v["fxid"] = "lab_machine_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1620.95,-722.701,428.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1533.45,-1002.82,398.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-596.509,220.307,293.701),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-249.246,310.377,337.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((183.102,131.455,361.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((170.828,-118.15,381.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((411.801,1332.86,370.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8.87572,1170.51,369.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-318.631,1052.1,383.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-692.143,1216.28,365.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-909.515,1070.5,360.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-293.421,1510.39,378.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-341.592,1880.28,393.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-37.4176,608.259,371.932),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-199.982,-98.2893,357.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-74.3823,-354.658,378.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-100.628,-654.581,400.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4.53689,-864.562,377.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-99.3413,-1139.9,379.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-353.184,-1123.84,373.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-378.512,-850.71,367.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1602.88,-451.145,418.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1241.74,-748.028,418.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1910.56,-518.198,431.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-851.376,1254.97,382.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-374.086,1263.33,367.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-66.3768,1778.29,390.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((166.429,1275.32,372.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((62.1882,1452.49,370.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((625.835,995.548,210.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-29.5792,-56.5059,390),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((483.372,-902.659,393.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((526.078,-737.007,387.5),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((865.31,-952.72,331.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((896.724,-704.878,223.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1180.27,368.333,321.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-852.546,360.055,292.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-849.447,82.9653,294.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1179.91,84.049,302.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1269.31,31.234,603.125),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-227.407,451.147,643),(0,360,0)); + var_00.v["fxid"] = "plastic_shreds_hanging_b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_cloud_lrg_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1724.2,336.311,454.656),(270,0,0)); + var_00.v["fxid"] = "snow_cloud_lrg_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_cloud_lrg_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((154.535,-1003.89,525.656),(270,0,0)); + var_00.v["fxid"] = "snow_cloud_lrg_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1889.15,-1037.04,326.125),(270,0,93)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((258.523,-1112.97,344.973),(270,0,63)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("vertical_light_wind_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((899.455,1505.35,201.125),(270,0,90)); + var_00.v["fxid"] = "vertical_light_wind_snow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("vertical_light_wind_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1240.89,1601.54,139.8),(270,0,78)); + var_00.v["fxid"] = "vertical_light_wind_snow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("vertical_light_wind_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1658.4,1477.39,147.8),(270,0,71)); + var_00.v["fxid"] = "vertical_light_wind_snow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("vertical_light_wind_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1866.55,1229.67,95.8),(270,0,23)); + var_00.v["fxid"] = "vertical_light_wind_snow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("vertical_light_wind_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-786.552,1621.91,320.125),(270,0,90)); + var_00.v["fxid"] = "vertical_light_wind_snow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("vertical_light_wind_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1846.96,1608.04,291.125),(270,0,90)); + var_00.v["fxid"] = "vertical_light_wind_snow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("vertical_light_wind_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2147.63,1358.88,291.125),(270,180,0)); + var_00.v["fxid"] = "vertical_light_wind_snow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("vertical_light_wind_snow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2171.85,794.564,246.125),(270,180,0)); + var_00.v["fxid"] = "vertical_light_wind_snow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_lrg_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-307.704,-1511.22,253.469),(270,0,0)); + var_00.v["fxid"] = "snow_light_wind_gust_lrg_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_lrg_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1747.43,-1633.52,221.219),(270,180,-13)); + var_00.v["fxid"] = "snow_light_wind_gust_lrg_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_cloud_fall_lrg_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1970.09,1315.01,275.871),(270,180,0)); + var_00.v["fxid"] = "snow_cloud_fall_lrg_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_cloud_fall_lrg_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1296.26,1326.96,320.125),(270,180,0)); + var_00.v["fxid"] = "snow_cloud_fall_lrg_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_cloud_fall_lrg_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1356.84,1469.63,138.163),(270,180,0)); + var_00.v["fxid"] = "snow_cloud_fall_lrg_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_cloud_fall_lrg_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1210.5,547.801,136.657),(270,180,0)); + var_00.v["fxid"] = "snow_cloud_fall_lrg_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_cloud_fall_lrg_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-368.302,-1449.39,289.196),(270,180,0)); + var_00.v["fxid"] = "snow_cloud_fall_lrg_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_cloud_fall_lrg_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1439.59,-1424.59,238.177),(270,180,0)); + var_00.v["fxid"] = "snow_cloud_fall_lrg_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_cloud_fall_lrg_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1764.12,430.511,305.122),(270,180,0)); + var_00.v["fxid"] = "snow_cloud_fall_lrg_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_cloud_fall_lrg_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1511.19,336.253,130.154),(270,180,0)); + var_00.v["fxid"] = "snow_cloud_fall_lrg_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_light_wind_snow_mesh_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1221.48,1004.76,137.708),(270,90,74)); + var_00.v["fxid"] = "ground_light_wind_snow_mesh_lp"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("snow_drift"); + var_00 common_scripts\_createfx::set_origin_and_angles((-997.909,-1443.2,174.789),(270,0,176)); + var_00.v["fxid"] = "snow_drift"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("ground_light_wind_snow_mesh_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((963.925,595.056,115.584),(270,90,74)); + var_00.v["fxid"] = "ground_light_wind_snow_mesh_lp"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("ground_light_wind_snow_mesh_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1701.17,953.329,291.34),(270,90,74)); + var_00.v["fxid"] = "ground_light_wind_snow_mesh_lp"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("ground_light_wind_snow_mesh_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1198.67,218.636,132.041),(270,0,177)); + var_00.v["fxid"] = "ground_light_wind_snow_mesh_lp"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("ground_light_wind_snow_mesh_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-955.204,-1324.76,167.27),(270,90,74)); + var_00.v["fxid"] = "ground_light_wind_snow_mesh_lp"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("ground_light_wind_snow_mesh_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-700.113,-1477.3,166.721),(270,90,74)); + var_00.v["fxid"] = "ground_light_wind_snow_mesh_lp"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("ground_light_wind_snow_mesh_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((559.42,593.549,132.304),(270,90,74)); + var_00.v["fxid"] = "ground_light_wind_snow_mesh_lp"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("freezer_capsule_frost"); + var_00 common_scripts\_createfx::set_origin_and_angles((744.338,-1139.79,246.513),(270,0,0)); + var_00.v["fxid"] = "freezer_capsule_frost"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("freezer_capsule_frost"); + var_00 common_scripts\_createfx::set_origin_and_angles((868.228,-1139.29,246.513),(270,0,0)); + var_00.v["fxid"] = "freezer_capsule_frost"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("freezer_capsule_frost"); + var_00 common_scripts\_createfx::set_origin_and_angles((992.34,-1140.46,244.513),(270,0,0)); + var_00.v["fxid"] = "freezer_capsule_frost"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("freezer_capsule_frost"); + var_00 common_scripts\_createfx::set_origin_and_angles((744.225,-794.58,175.513),(270,0,0)); + var_00.v["fxid"] = "freezer_capsule_frost"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("freezer_capsule_frost"); + var_00 common_scripts\_createfx::set_origin_and_angles((621.125,-676.07,179.513),(270,0,0)); + var_00.v["fxid"] = "freezer_capsule_frost"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("freezer_capsule_frost"); + var_00 common_scripts\_createfx::set_origin_and_angles((992.419,-1268.28,244.125),(270,0,0)); + var_00.v["fxid"] = "freezer_capsule_frost"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("freezer_capsule_frost"); + var_00 common_scripts\_createfx::set_origin_and_angles((868.437,-1268.76,253.125),(270,0,0)); + var_00.v["fxid"] = "freezer_capsule_frost"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_console_large_lp"; + var_00 = common_scripts\utility::createoneshoteffect("freezer_capsule_frost"); + var_00 common_scripts\_createfx::set_origin_and_angles((743.326,-1268.99,244.125),(270,0,0)); + var_00.v["fxid"] = "freezer_capsule_frost"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_console_large_hum_beep_lp"; + var_00 = common_scripts\utility::createoneshoteffect("freezer_capsule_frost"); + var_00 common_scripts\_createfx::set_origin_and_angles((553.01,-799.396,172.125),(270,0,0)); + var_00.v["fxid"] = "freezer_capsule_frost"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fog_distant_vista_snow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4035.41,18785.9,-1137.25),(270,180,-171)); + var_00.v["fxid"] = "fog_distant_vista_snow"; + var_00.v["delay"] = -21; + var_00 = common_scripts\utility::createoneshoteffect("fog_distant_vista_snow"); + var_00 common_scripts\_createfx::set_origin_and_angles((14824.4,6783.42,-1354.05),(270,0,-91)); + var_00.v["fxid"] = "fog_distant_vista_snow"; + var_00.v["delay"] = -21; + var_00 = common_scripts\utility::createoneshoteffect("valley_fog"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3008.56,11053.4,-1843.12),(270,0,0)); + var_00.v["fxid"] = "valley_fog"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lab_chemical_vat_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-195.715,-808.065,312.457),(270,0,0)); + var_00.v["fxid"] = "lab_chemical_vat_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_canister_hide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2413.52,267.269,168.125),(276,270,90)); + var_00.v["fxid"] = "steam_canister_hide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_canister_hide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2413.35,171.243,168.125),(276,90,-90)); + var_00.v["fxid"] = "steam_canister_hide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_point_green_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((986.238,-1136.92,353.114),(270,0,0)); + var_00.v["fxid"] = "light_point_green_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_point_green_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((748.385,-1142.37,360.662),(270,0,0)); + var_00.v["fxid"] = "light_point_green_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_canister_hide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-932.239,-2497.83,221),(285.208,157.254,-156.517)); + var_00.v["fxid"] = "steam_canister_hide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_canister_hide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1107.45,-2500.72,226),(285.207,22.745,-23.4833)); + var_00.v["fxid"] = "steam_canister_hide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("lights_conelight_smokey"); + var_00 common_scripts\_createfx::set_origin_and_angles((983.864,63.0629,293.264),(270,0,0)); + var_00.v["fxid"] = "lights_conelight_smokey"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("lights_conelight_smokey"); + var_00 common_scripts\_createfx::set_origin_and_angles((889.407,73.9128,388.011),(38.4012,337.323,-34.1124)); + var_00.v["fxid"] = "lights_conelight_smokey"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("building_drop_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((898.894,114.186,156.125),(270,0,-90)); + var_00.v["fxid"] = "building_drop_smoke"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "99"; + var_00 = common_scripts\utility::createexploder("building_drop_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((1067.61,-84.6756,156.125),(270,0,180)); + var_00.v["fxid"] = "building_drop_smoke"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "99"; + var_00 = common_scripts\utility::createexploder("building_drop_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((909.943,-246.767,156.125),(295,90,0)); + var_00.v["fxid"] = "building_drop_smoke"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "99"; + var_00 = common_scripts\utility::createexploder("building_drop_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((732.323,-78.609,156.125),(270,180,180)); + var_00.v["fxid"] = "building_drop_smoke"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "99"; + var_00 = common_scripts\utility::createexploder("lab2_crane_red_alarm_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1672.11,419.661,310.983),(270,0,0)); + var_00.v["fxid"] = "lab2_crane_red_alarm_2"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("lab2_crane_red_alarm_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1672.34,11.5134,311.983),(270,0,0)); + var_00.v["fxid"] = "lab2_crane_red_alarm_2"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("lab2_crane_red_alarm_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1335.7,310,359.014),(0,270,0)); + var_00.v["fxid"] = "lab2_crane_red_alarm_2"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("lab2_crane_red_alarm_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1336.84,127.454,354.553),(0,90,0)); + var_00.v["fxid"] = "lab2_crane_red_alarm_2"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1279,2669.58,165.066),(270,0,0)); + var_00.v["delay_min"] = 9; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "emt_insect_desert_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1337.32,-3275.7,407.801),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 17; + var_00.v["soundalias"] = "emt_insect_desert_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((489.875,58.3575,409.594),(270,0,0)); + var_00.v["delay_min"] = 11; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_insect_desert_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1823.97,-1629.12,531.011),(296.834,194.543,146.602)); + var_00.v["delay_min"] = 15; + var_00.v["delay_max"] = 18; + var_00.v["soundalias"] = "emt_hawk_distant"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2717.24,-2068.76,322.289),(270,0,0)); + var_00.v["delay_min"] = 11; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "emt_coyote_distant"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3090.24,2109.79,61.3895),(270,0,0)); + var_00.v["delay_min"] = 14; + var_00.v["delay_max"] = 21; + var_00.v["soundalias"] = "emt_coyote_distant"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1415.79,830.629,401.338),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wind_gust_debris_heavy"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1537.14,973.385,194.179),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_gusts_heavy_desert"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1667.72,312.755,166.839),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_gusts_heavy_desert"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1204.55,1362.79,235.456),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_gusts_heavy_desert"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((725.521,169.294,256.538),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_gusts_heavy_desert"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1171.44,674.72,175.079),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_wind_gust_debris_heavy"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1772.7,-274.713,370.685),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-751.735,1635.68,324.676),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-539.863,1604.88,309.655),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-917.987,1515.37,299.037),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1030.01,834.711,367.88),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1031.95,692.132,432.758),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2026.65,1447.92,382.814),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2013.79,1059.36,273.88),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2057.9,-325.252,382.404),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1347.37,-1126.18,369.823),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1165.48,-1124.76,287.076),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-712.595,-711.992,313.495),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-564.405,-936.071,357.799),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1126.93,587.504,175.1),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1479.84,692.557,156.112),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-872.116,1625.12,408.169),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-620.302,1629.69,408),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2012.37,1204.89,286.53),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2022.36,878.872,292.003),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1029.56,922.413,383.942),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1012.52,619.719,415.001),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2030.62,-221.423,347.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1820.56,-221.302,340),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1283.89,-1102.24,331.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1240.14,-859.399,302.444),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1106.67,-1117.34,250.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-576.609,-711.572,340.689),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-660.064,-927.961,293.625),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1437.97,1483.29,189.369),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1802,1208.68,193.711),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1806.07,981.861,173.309),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1696.68,422.673,191.41),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((972.73,1438.12,255.862),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1477.76,679.885,447.766),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((680.506,-748.463,367.98),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_server_spin"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-264.35,1162.85,325.521),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_metal_creak_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1175.32,698.948,155.098),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1463.46,683.324,150.55),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1566.69,872.079,137.636),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1223.44,946.598,169.624),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-469.242,-1209.81,330.062),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_console_beep_random"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((77.0166,-1017.88,351.908),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_control_panel_internet_noise"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((88.6273,-1055.99,342.322),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_server_spin"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((181.367,978.792,398.903),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_server_static"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1037.31,211.82,164.05),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((767.95,581.054,148.185),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((975.215,1286.56,180.574),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-819.496,-1442.24,219.366),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1868.99,-1689.3,188.19),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1420.76,-1531.63,243.145),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1941.78,755.187,313.834),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2160.6,1443.15,280.575),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2084.26,-1195.75,262.35),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1251.6,-1948.98,205.545),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-841.017,-1189.4,178.833),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((123.875,-1512.45,310.726),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-908.972,-1796.75,180.184),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((320.612,-613.832,283.616),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((52.2686,990.638,384.07),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_server_swell"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-461.924,1071.32,423.02),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_console_beep_random"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1567.6,1596.27,280.5),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1503.69,142.832,139.238),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1719.41,690.447,322.455),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1664.3,1012,289.368),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1312.6,1178.14,310.294),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-884.374,1635.27,314),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-564.207,1683.26,308.676),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-64.7467,1178.58,365.543),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_metal_movement_large_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2509.92,1241.19,364.286),(270,0,0)); + var_00.v["delay_min"] = 14; + var_00.v["delay_max"] = 21; + var_00.v["soundalias"] = "emt_coyote_distant"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((975.846,1243.72,274.125),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((869.849,1435.48,283.113),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((877.959,1243.37,279.364),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((799.898,1517.34,356.241),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_server_static"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-452.678,1781.58,407.347),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_server_static"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-454.357,1752.27,383.927),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_server_swell"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-174.401,-530.507,395.977),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_console_beep_random"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((264.864,413.491,404.756),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_console_beep_random"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-293.85,-260.81,391.003),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_server_swell"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1288.27,1666.79,273.649),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1724.39,1297.93,275.229),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((64.0573,78.3296,346.583),(270,0,0)); + var_00.v["delay_min"] = 9; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_server_hard_drive_spin"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1637.28,139.097,313.83),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_tree_creak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1203.84,-554.411,476.826),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_tree_creak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1311.3,-429.722,471.818),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_tree_rub"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1698.34,200.265,375.431),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_tree_rub"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((429.162,-1157.97,705.321),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_tree_rub"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((206.145,697.685,409.022),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_tree_rub"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((155.252,652.334,490.679),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_tree_creak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((417.635,-1059.47,734.304),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_tree_creak"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_lair_fx.gsc b/AW/PC/maps/createfx/mp_lair_fx.gsc new file mode 100644 index 0000000..99c99de --- /dev/null +++ b/AW/PC/maps/createfx/mp_lair_fx.gsc @@ -0,0 +1,2293 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_lair_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 144 ms + * Timestamp: 4/22/2024 2:07:40 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1633.12,32.6285,774),(270,0,0)); + var_00.v["soundalias"] = "emt_fountain_water_spray_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1625.7,-291.201,696.5),(270,0,0)); + var_00.v["soundalias"] = "emt_fountain_water_mvment_01_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1378.97,-16.9658,696.5),(270,0,0)); + var_00.v["soundalias"] = "emt_fountain_water_mvment_01_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1464.3,120.853,696.5),(270,0,0)); + var_00.v["soundalias"] = "emt_fountain_water_mvment_01_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1624.37,346.864,696.5),(270,0,0)); + var_00.v["soundalias"] = "emt_fountain_water_mvment_01_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1608.34,533.522,664),(270,0,0)); + var_00.v["soundalias"] = "emt_fountain_water_mvment_01_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1773.18,261.69,696.5),(270,0,0)); + var_00.v["soundalias"] = "emt_fountain_water_mvment_02_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1777.06,-97.103,696.5),(270,0,0)); + var_00.v["soundalias"] = "emt_fountain_water_mvment_02_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1725.82,-372.354,696.5),(270,0,0)); + var_00.v["soundalias"] = "emt_fountain_water_mvment_02_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((122.493,346.324,952.166),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((505.501,329.98,952.166),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_lp_02"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((357.172,1057.91,896.125),(270,0,0)); + var_00.v["fxid"] = "mp_lair_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((319.406,728.319,868.125),(270,0,0)); + var_00.v["fxid"] = "mp_lair_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((2123.5,118.068,691.125),(270,0,0)); + var_00.v["fxid"] = "mp_lair_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-457.544,-600.573,768.125),(270,0,0)); + var_00.v["fxid"] = "mp_lair_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-343.739,-904.52,759.125),(270,0,0)); + var_00.v["fxid"] = "mp_lair_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-935.666,-609.238,750.125),(270,0,0)); + var_00.v["fxid"] = "mp_lair_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2502.07,207.186,723.125),(270,0,0)); + var_00.v["fxid"] = "mp_lair_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1631.69,236.317,1095.52),(270,0,54)); + var_00.v["fxid"] = "mp_bigb_falling_leaves_runner"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1529.16,-96.4566,1101.11),(285,102,-180)); + var_00.v["fxid"] = "mp_bigb_falling_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("butterfly_a_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((914.595,-1075.37,764),(270,0,0)); + var_00.v["fxid"] = "butterfly_a_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-185.016,-1826.29,807.875),(289.005,191.531,151.798)); + var_00.v["fxid"] = "mp_bigb_falling_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-468.547,-1800.98,835.3),(271.562,104.016,-102.948)); + var_00.v["fxid"] = "mp_bigb_falling_leaves_runner"; + var_00.v["delay"] = 10; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((661.039,931.671,857.451),(272,179.978,75.0215)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-336.929,37.3778,818.125),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2073.44,379.329,746.633),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2072.65,122.481,744.788),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2068.99,-513.752,742.925),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2067.06,-771.542,728.857),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-440.228,-1298.8,891.125),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-314.17,-1818.96,845.147),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-484.987,-1816.7,833.247),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((281.026,18.2791,817.125),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flock_large_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((2613.77,-1527.02,1838.53),(0.968392,215.002,-90.3126)); + var_00.v["fxid"] = "bird_seagull_flock_large_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1195.43,-503.364,730.125),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1201.03,-616.1,725.125),(358.992,180.039,90.2583)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((1055.52,294.596,704),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((1056.19,-85.8176,698.568),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((1055.64,109.464,718.512),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2034.77,-923.86,728.125),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1856.99,1012.8,842.846),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1605.82,1007.81,847.125),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((1548.89,1907.8,836.125),(270,0,0)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flock_large_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((4793.99,872.51,1503.78),(349.477,294.83,-89.0844)); + var_00.v["fxid"] = "bird_seagull_flock_large_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((901.09,-1062.75,785),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flit_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((1335.95,-491.602,721),(270,0,0)); + var_00.v["fxid"] = "insects_flit_moths_complex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2643.71,-147.438,729.125),(270,0,0)); + var_00.v["fxid"] = "mp_lair_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1252,-1151.97,674.625),(273,130,177)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((756.979,1597.46,778.125),(270,0,97)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1928,-317.353,672.125),(271,89,-174)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1207.3,1913.66,776.125),(270,0,119)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-522.658,1768.24,775.125),(270,0,113)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-843.21,1781.25,776.125),(270,0,113)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((958.478,287.033,674),(270,0,84)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((531.361,168.136,780.125),(270,0,63)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1651.21,-137.693,671),(270,0,10)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-150.91,2257.9,777.125),(270,0,101)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1319.53,361.47,603.125),(270,0,133)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1226.84,-260.633,677.125),(270,180,57)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_needles_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1942.67,577.019,1111.64),(279,180,180)); + var_00.v["fxid"] = "mp_lair_ambient_needles_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_needles_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1381.91,792.415,1128.47),(282.318,149.833,-175.191)); + var_00.v["fxid"] = "mp_lair_ambient_needles_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_needles_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1105.53,1530.61,1254.06),(283,180,180)); + var_00.v["fxid"] = "mp_lair_ambient_needles_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1042.65,-545.183,722),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((940.827,-693.031,722),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1048.89,-616.132,719),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_needles_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((942.494,-1082.04,1044.84),(277.483,162.364,143.441)); + var_00.v["fxid"] = "mp_lair_ambient_needles_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_needles_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1031.07,-1250.57,876.872),(274.242,81.0349,-126.957)); + var_00.v["fxid"] = "mp_lair_ambient_needles_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flock_large_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3668.66,-563.966,1939.43),(357.515,110.028,-90.3364)); + var_00.v["fxid"] = "bird_seagull_flock_large_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_needles_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((922.421,-511.549,1118.26),(279,101,156)); + var_00.v["fxid"] = "mp_lair_ambient_needles_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_needles_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((786.954,443.875,1216.13),(290.339,270.168,178.807)); + var_00.v["fxid"] = "mp_lair_ambient_needles_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_needles_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1165.88,431.674,1117.88),(278.497,317.67,117.75)); + var_00.v["fxid"] = "mp_lair_ambient_needles_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((224.857,1118.35,838.125),(270,0,0)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-978.407,-593.181,729.125),(270,0,0)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-594.436,-907.551,726.125),(270,0,0)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_needles_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-756.525,-1460.51,1169.32),(278.912,45.2948,146.591)); + var_00.v["fxid"] = "mp_lair_ambient_needles_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-754.812,-1181.87,672.125),(272,246.001,89.9988)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((2173.78,-451.875,689.125),(270,0,0)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((47.4284,647.82,850.125),(270,0,0)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((393.674,1490.09,782.125),(270,0,0)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-262.833,-635.542,728.125),(270,0,0)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((520.846,584.573,858.625),(270,0,0)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1146.24,1588.59,840.125),(270,0,158)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-368.869,-1423.37,724),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-461.215,-1426.28,724),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((1389.33,-1331.44,724),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("window_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2722.23,617.12,727.125),(270,0,-179)); + var_00.v["fxid"] = "window_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_goblet_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((505.17,354.617,917.623),(270,0,0)); + var_00.v["fxid"] = "mp_lair_goblet_fire"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_goblet_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((130.357,351.407,918.622),(270,0,0)); + var_00.v["fxid"] = "mp_lair_goblet_fire"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_vista_sand_fog"); + var_00 common_scripts\_createfx::set_origin_and_angles((2160.27,15434.4,1646.53),(270,0,-1)); + var_00.v["fxid"] = "mp_lair_vista_sand_fog"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_vista_sand_fog"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2849.72,-15272.2,1357.49),(270,0,176)); + var_00.v["fxid"] = "mp_lair_vista_sand_fog"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_vista_sand_fog"); + var_00 common_scripts\_createfx::set_origin_and_angles((7363.42,-16038.8,1511.63),(270,0,175)); + var_00.v["fxid"] = "mp_lair_vista_sand_fog"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((743.899,493.124,865.975),(0.875711,90.9721,-89.1563)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-347.185,25.5225,826.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((306.469,47.9135,814.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((1828.95,230.951,708.65),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1264.43,187.367,704.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1259.7,5.04894,705.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-317.667,-1823.84,870.808),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-481.276,-1816.09,867.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-376.96,-1350.24,877.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-492.897,-1189.55,873.472),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("butterfly_a_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-445.093,-1279.9,892.105),(270,0,0)); + var_00.v["fxid"] = "butterfly_a_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-465.785,-1246.92,836.343),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_red_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2037.36,-630.19,713.125),(270,180,55)); + var_00.v["fxid"] = "mp_lair_pedal_loop_red_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_red_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2047.05,106.007,721.125),(276,129.997,102)); + var_00.v["fxid"] = "mp_lair_pedal_loop_red_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_red_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1969.19,990.607,826.125),(270,0,69)); + var_00.v["fxid"] = "mp_lair_pedal_loop_red_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1204.34,-540.562,736.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_red_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-358.263,-1383.04,717),(271.451,101.489,130.502)); + var_00.v["fxid"] = "mp_lair_pedal_loop_red_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_purple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((879.637,-717.916,721),(270,0,67)); + var_00.v["fxid"] = "mp_lair_pedal_loop_purple_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_purple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1341.53,-1276.07,725),(270,180,129)); + var_00.v["fxid"] = "mp_lair_pedal_loop_purple_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_purple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((916.057,-1031.84,779),(270,0,-33)); + var_00.v["fxid"] = "mp_lair_pedal_loop_purple_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_purple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1309.19,-464.406,724),(270,180,134)); + var_00.v["fxid"] = "mp_lair_pedal_loop_purple_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_purple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1064.48,-544.628,712),(270,0,-117)); + var_00.v["fxid"] = "mp_lair_pedal_loop_purple_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_purple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2417.26,625.011,723.125),(273,10,0)); + var_00.v["fxid"] = "mp_lair_pedal_loop_purple_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_purple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1366.36,722.508,728.584),(274.968,302.239,90.8257)); + var_00.v["fxid"] = "mp_lair_pedal_loop_purple_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_purple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1811.79,284.988,723.125),(270,0,15)); + var_00.v["fxid"] = "mp_lair_pedal_loop_purple_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-421.081,-1281.38,822.875),(271.562,104.016,-102.948)); + var_00.v["fxid"] = "mp_bigb_falling_leaves_runner"; + var_00.v["delay"] = 10; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-843.621,2050.7,887.875),(270,0,91)); + var_00.v["fxid"] = "dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-528.518,2023.48,890.875),(270,0,91)); + var_00.v["fxid"] = "dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_purple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1323.24,1533.81,850.958),(274.629,197.077,-40.3324)); + var_00.v["fxid"] = "mp_lair_pedal_loop_purple_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_purple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((997.861,1542.87,844),(272.714,344.386,76.3556)); + var_00.v["fxid"] = "mp_lair_pedal_loop_purple_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1991.84,375.987,940.122),(270,0,91)); + var_00.v["fxid"] = "dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1414.21,577.074,695.945),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((1446.87,2022.23,953.98),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((1639.87,2027.56,957.124),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1533.51,1748.53,1310.45),(270,0,85)); + var_00.v["fxid"] = "dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1196.36,1740.19,1129.62),(270,0,85)); + var_00.v["fxid"] = "dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((973.265,1745.02,1118.97),(270,0,85)); + var_00.v["fxid"] = "dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2094.77,788.798,1120.95),(270,0,85)); + var_00.v["fxid"] = "dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2317.3,788.792,1122.04),(270,0,85)); + var_00.v["fxid"] = "dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((742.795,282.587,790.09),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((697.554,-177.07,783.741),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-934.229,334.608,726.221),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-930.589,-237.983,719.449),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-753.679,-198.551,788.215),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-720.618,214.693,783.353),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1119.78,-859.967,732.596),(300,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-852.443,-867.495,731.347),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_red_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2044.54,-400.464,719.125),(270,180,55)); + var_00.v["fxid"] = "mp_lair_pedal_loop_red_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1520.17,1222.05,837.004),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_red_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1332.78,1386.23,827.125),(270,0,124)); + var_00.v["fxid"] = "mp_lair_pedal_loop_red_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1032.29,1983.97,834.584),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_red_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1563.23,-1111.74,733.125),(274,240,2)); + var_00.v["fxid"] = "mp_lair_pedal_loop_red_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1985.15,1001.97,838.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1729.16,1000.91,836.47),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2047.43,247.751,736.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2049.39,-391.536,740.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2062.49,-641.845,737.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1565.44,-1027.29,736.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1562.33,-1164.73,735.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1445.95,1291.21,841.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1450.6,1207.65,782.125),(270,0,0)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-619.092,-1035.34,672.125),(270,0,0)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-678.516,-1605.15,678),(270,0,0)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-575.999,-1571.85,703),(270,0,0)); + var_00.v["fxid"] = "mp_lair_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-193.551,-1546.16,697),(270,0,0)); + var_00.v["fxid"] = "mp_lair_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((944.057,-364.385,700.311),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_blue_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((350.463,-1229.01,716.125),(275.124,302.065,62.0056)); + var_00.v["fxid"] = "mp_lair_pedal_loop_blue_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_purple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1871.88,601.263,724),(277.583,347.012,4.04758)); + var_00.v["fxid"] = "mp_lair_pedal_loop_purple_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((1493.48,-745.307,779.313),(270,0,-55)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((1939.05,-747.597,782.642),(321,90,-90)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((2181.36,-501.457,781.97),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flit_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((1036.55,-672.665,722),(270,0,0)); + var_00.v["fxid"] = "insects_flit_moths_complex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flit_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((1049.54,-479.998,728),(270,0,0)); + var_00.v["fxid"] = "insects_flit_moths_complex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-335.955,1899.29,829.348),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_purple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1029.37,607.628,694),(276.912,147.206,-65.7068)); + var_00.v["fxid"] = "mp_lair_pedal_loop_purple_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_purple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1061.25,1044.94,690),(277.527,164.469,62.1734)); + var_00.v["fxid"] = "mp_lair_pedal_loop_purple_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-347.465,-1341.63,825.782),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_searchlights"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6284.05,21460.7,3572.24),(356,0,0)); + var_00.v["fxid"] = "mp_bigb_searchlights"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_searchlights"); + var_00 common_scripts\_createfx::set_origin_and_angles((1319.12,14153,941.505),(356.624,338.965,2.36828)); + var_00.v["fxid"] = "mp_bigb_searchlights"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1563.81,-1347.62,934.603),(270,0,91)); + var_00.v["fxid"] = "dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2026.88,-899.434,940.951),(270,0,91)); + var_00.v["fxid"] = "dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2028.33,-388.958,929.682),(270,0,91)); + var_00.v["fxid"] = "dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_insect_dragonfly_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1212.58,915.98,710.861),(270,0,79)); + var_00.v["fxid"] = "cli_insect_dragonfly_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_searchlights"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11346.9,8373.52,3074.67),(0,33.7884,-7.20726)); + var_00.v["fxid"] = "mp_bigb_searchlights"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((58.0935,2257.05,898.613),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((208.913,2411.36,912.15),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((576.573,2125.76,887.792),(1,246,179)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1619.32,250.122,1117.88),(270,0,0)); + var_00.v["fxid"] = "dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1414.15,-120.876,1136.42),(270,0,0)); + var_00.v["fxid"] = "dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ground_loop_purple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1571.07,861.8,686),(270,0,140)); + var_00.v["fxid"] = "mp_lair_ground_loop_purple_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ground_loop_purple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1733.14,413.276,684),(271.003,236.012,-3.01123)); + var_00.v["fxid"] = "mp_lair_ground_loop_purple_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1450.85,70.9408,669.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ground_loop_purple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1233.62,-836.599,684),(270,0,99)); + var_00.v["fxid"] = "mp_lair_ground_loop_purple_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ground_loop_red_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-530.457,-1288.33,685.125),(271,145.012,-136.012)); + var_00.v["fxid"] = "mp_lair_ground_loop_red_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ground_loop_red_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1457.21,-1064.4,672.125),(271,145.026,-73.0264)); + var_00.v["fxid"] = "mp_lair_ground_loop_red_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1281.88,-740.453,672.125),(272,246,34.9912)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ground_loop_red_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1903.72,-568.412,687.125),(272.339,22.268,66.7145)); + var_00.v["fxid"] = "mp_lair_ground_loop_red_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ground_loop_red_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1199.03,1498.14,789.125),(272.339,22.261,-121.281)); + var_00.v["fxid"] = "mp_lair_ground_loop_red_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ground_loop_red_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1431.06,896.6,787.125),(272.339,22.2574,155.722)); + var_00.v["fxid"] = "mp_lair_ground_loop_red_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1631.31,-266.488,695.125),(270,0,88)); + var_00.v["fxid"] = "mp_lair_fountian_splash_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1632.07,-460.056,660.125),(270,0,90)); + var_00.v["fxid"] = "mp_lair_fountian_splash_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1534.87,-460.405,658.513),(270,0,90)); + var_00.v["fxid"] = "mp_lair_fountian_splash_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1415.41,-6.1331,695.98),(270,0,88)); + var_00.v["fxid"] = "mp_lair_fountian_splash_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1417.36,66.3431,696.125),(270,0,90)); + var_00.v["fxid"] = "mp_lair_fountian_splash_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1623.81,330.626,694.599),(270,0,90)); + var_00.v["fxid"] = "mp_lair_fountian_splash_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1685.07,490.489,661.42),(270,0,90)); + var_00.v["fxid"] = "mp_lair_fountian_splash_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1547.72,492.987,661.561),(270,0,90)); + var_00.v["fxid"] = "mp_lair_fountian_splash_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1517.12,-148.149,695.421),(270,0,-179)); + var_00.v["fxid"] = "mp_lair_fountian_splash_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1519.26,189.5,694.593),(270,0,-179)); + var_00.v["fxid"] = "mp_lair_fountian_splash_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1729.17,227.453,695.09),(270,0,-179)); + var_00.v["fxid"] = "mp_lair_fountian_splash_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1726.05,16.2627,694.739),(270,0,-179)); + var_00.v["fxid"] = "mp_lair_fountian_splash_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1725.16,-161.544,695.338),(270,0,-179)); + var_00.v["fxid"] = "mp_lair_fountian_splash_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_red_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1759.34,-702.777,715.125),(270,180,70)); + var_00.v["fxid"] = "mp_lair_pedal_loop_red_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_red_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1506.11,-697.949,712.125),(270,180,76)); + var_00.v["fxid"] = "mp_lair_pedal_loop_red_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1532.09,736.928,665.583),(270,0,90)); + var_00.v["fxid"] = "mp_lair_fountian_splash_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1700.91,737.951,666.442),(270,0,90)); + var_00.v["fxid"] = "mp_lair_fountian_splash_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("butterfly_a_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1734.7,-707.012,714.125),(270,0,0)); + var_00.v["fxid"] = "butterfly_a_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_air_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-545.931,1816.33,1124.15),(270,0,90)); + var_00.v["fxid"] = "mp_lair_ambient_air_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_air_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1163.71,962.184,1171.13),(270,180,-145)); + var_00.v["fxid"] = "mp_lair_ambient_air_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_air_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3053.01,1225.67,975.2),(270,0,81)); + var_00.v["fxid"] = "mp_lair_ambient_air_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_air_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1316.43,2550.12,935.104),(270,0,45)); + var_00.v["fxid"] = "mp_lair_ambient_air_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_air_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((3201.59,773.892,914.602),(270,0,90)); + var_00.v["fxid"] = "mp_lair_ambient_air_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_air_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((237.254,-2009.13,760.769),(270,0,-59)); + var_00.v["fxid"] = "mp_lair_ambient_air_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_air_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((303.964,117.646,1065.07),(270,0,33)); + var_00.v["fxid"] = "mp_lair_ambient_air_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flit_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2720.84,-123.809,858.685),(270,0,0)); + var_00.v["fxid"] = "insects_flit_moths_complex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flit_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3006.99,-125.013,857.265),(270,0,0)); + var_00.v["fxid"] = "insects_flit_moths_complex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flit_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2510.16,143.592,857.34),(348.627,201.276,116.857)); + var_00.v["fxid"] = "insects_flit_moths_complex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flit_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1232.89,2096.09,942.119),(270,0,0)); + var_00.v["fxid"] = "insects_flit_moths_complex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flit_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1324.72,1939.3,956.596),(270,0,0)); + var_00.v["fxid"] = "insects_flit_moths_complex"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("insects_flit_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((626.097,1917.77,945.092),(270,0,0)); + var_00.v["fxid"] = "insects_flit_moths_complex"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("insects_flit_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((3.59641,1981.57,951.546),(270,0,0)); + var_00.v["fxid"] = "insects_flit_moths_complex"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("insects_flit_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2479.32,-125.042,856.706),(270,0,0)); + var_00.v["fxid"] = "insects_flit_moths_complex"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2511.08,-365.341,691.125),(270,0,3)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((1441.7,1200.4,679.365),(270,0,3)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((1800.2,-284.138,677),(270,0,3)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_blue_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((290.013,-5.36245,820.125),(275.601,332.358,48.4476)); + var_00.v["fxid"] = "mp_lair_pedal_loop_blue_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_blue_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((375.853,64.2782,814.125),(277.487,266.836,-53.457)); + var_00.v["fxid"] = "mp_lair_pedal_loop_blue_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_blue_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-385.501,24.1773,814.625),(272.752,337.974,27.9869)); + var_00.v["fxid"] = "mp_lair_pedal_loop_blue_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_blue_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-274.099,45.9958,819.625),(271.953,168.328,51.9928)); + var_00.v["fxid"] = "mp_lair_pedal_loop_blue_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1372.31,1502.03,905.491),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1339.06,1345.66,840.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1347.71,1374.38,838.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1339.05,1630.54,822.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ground_loop_blue_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((0.966839,-100.507,789.125),(270,0,178)); + var_00.v["fxid"] = "mp_lair_ground_loop_blue_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_air_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-568.096,44.9778,1089.98),(270,0,59)); + var_00.v["fxid"] = "mp_lair_ambient_air_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_vista_sand_fog"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12753.1,4105.19,1202.55),(270,0,85)); + var_00.v["fxid"] = "mp_lair_vista_sand_fog"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_vista_sand_fog"); + var_00 common_scripts\_createfx::set_origin_and_angles((-261.552,22297,2939.48),(270,0,-18)); + var_00.v["fxid"] = "mp_lair_vista_sand_fog"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_vista_sand_fog"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17230.8,21056.6,1589.36),(270,0,-18)); + var_00.v["fxid"] = "mp_lair_vista_sand_fog"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flit_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((193.973,597.731,975.63),(270,0,0)); + var_00.v["fxid"] = "insects_flit_moths_complex"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("insects_flit_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((386.213,1162.48,976.836),(270,0,0)); + var_00.v["fxid"] = "insects_flit_moths_complex"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("insects_flit_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((319.498,742.509,976.788),(270,0,0)); + var_00.v["fxid"] = "insects_flit_moths_complex"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ground_loop_blue_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5.79181,174.373,786.125),(270,0,0)); + var_00.v["fxid"] = "mp_lair_ground_loop_blue_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1676.01,761.066,741.058),(270,0,90)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1542.63,762.093,741.399),(270,0,90)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1683.92,752.215,708.403),(270,0,90)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1550.54,753.242,708.743),(270,0,90)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1676.86,743.541,679.84),(270,0,90)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1543.48,744.568,678.18),(270,0,90)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1538.12,768.834,767.668),(270,0,90)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1671.5,767.807,770.327),(270,0,90)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1615.78,329.038,765.921),(270,0,90)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1411.55,64.2258,767.751),(270,0,90)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1410.08,-0.802216,770.125),(270,0,90)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1625.19,-264.112,770.129),(270,0,90)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1520.95,-123.744,768.537),(270,0,180)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1723.81,-156.44,766.904),(270,0,180)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = 10; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1723.86,219.42,768.125),(270,0,180)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1723.57,35.6438,768.603),(270,0,180)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1520.69,205.406,766.997),(270,0,180)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_air_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1525.88,-519.034,1161.18),(270,0,21)); + var_00.v["fxid"] = "mp_lair_ambient_air_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2693.5,5.99727,685.044),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_goblet_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((-532.629,3659.64,583.873),(270,0,0)); + var_00.v["fxid"] = "mp_lair_goblet_fire"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_goblet_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2770.06,3671.87,590.873),(270,0,0)); + var_00.v["fxid"] = "mp_lair_goblet_fire"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_air_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1641.07,345.35,1067.99),(270,0,21)); + var_00.v["fxid"] = "mp_lair_ambient_air_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((1455.33,244.09,800.847),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((1556.99,92.9384,818.868),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((1468.23,-60.7914,819.229),(358,180,180)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1430.54,105.652,789.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1333.24,22.0421,866.392),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_insect_dragonfly_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-875.634,-1425.22,791),(270,180,140)); + var_00.v["fxid"] = "cli_insect_dragonfly_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1000.39,-1204.85,717),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1086.83,-1195.11,724),(270,0,-81)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-933.768,-1278.16,730),(270,0,-81)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-822.832,-1377.56,788),(270,0,-81)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-756.38,-1356.62,775),(270,0,-81)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-831.083,-1393.23,796),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1052.84,-1218.95,723),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((344.267,-1187.72,720.125),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((363.04,-1264.48,719.125),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-976.162,568.815,854.125),(270,0,0)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3126.61,20.8403,752.481),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flit_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((486.902,853.142,974.83),(270,0,0)); + var_00.v["fxid"] = "insects_flit_moths_complex"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_blue_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-343.156,1876.1,817.125),(278.391,57.6679,77.1107)); + var_00.v["fxid"] = "mp_lair_pedal_loop_blue_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_blue_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1025.43,2176.62,828.125),(279.964,352.688,43.2541)); + var_00.v["fxid"] = "mp_lair_pedal_loop_blue_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1759.28,-1134.68,861.021),(300,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1970.06,-934.307,729.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((649.24,980.411,951.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((669.353,602.385,888.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((664.027,510.789,893.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((647.743,871.526,884.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((640.677,932.831,996.79),(272,179.978,75.0215)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((646.649,521.43,966.362),(272,179.978,75.0215)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((792.229,-492.275,846.125),(272,282.995,-9.99546)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-67.7405,-1027.41,745.549),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_searchlights"); + var_00 common_scripts\_createfx::set_origin_and_angles((946.729,-15237.6,2239.8),(356,0,0)); + var_00.v["fxid"] = "mp_bigb_searchlights"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_searchlights"); + var_00 common_scripts\_createfx::set_origin_and_angles((2600,-14681.1,2198.4),(356,0,0)); + var_00.v["fxid"] = "mp_bigb_searchlights"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flit_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((759.995,2334.78,939.116),(270,0,0)); + var_00.v["fxid"] = "insects_flit_moths_complex"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2119.7,-130.195,866.092),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2019.54,-303.378,802.068),(288,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2018.4,39.1559,803.555),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2607.84,344.285,787.797),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2377.94,346.9,788.975),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2853.67,-270.149,762.653),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2196.02,-248.207,753.799),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2202.28,2.16492,755.904),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_falling_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((996.1,87.3058,1118.39),(285,102,-180)); + var_00.v["fxid"] = "mp_bigb_falling_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((1067.77,1553.9,856.422),(272,179.978,75.0215)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((1393.45,755.346,726.445),(272,179.978,75.0215)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((1887.78,559.071,736.115),(272,179.978,75.0215)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-77.361,-813.352,760.347),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-506.29,-1007.47,795.272),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-495.097,-502.597,800.003),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-261.146,-1095.07,707.278),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((1744.69,-742.812,681.125),(270,0,0)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((766.16,-177.537,783.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_blue_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((719.814,-160.904,785.125),(270.995,324.675,-85.4102)); + var_00.v["fxid"] = "mp_lair_pedal_loop_blue_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_blue_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((765.801,252.633,793.125),(275.81,62.8849,65.8036)); + var_00.v["fxid"] = "mp_lair_pedal_loop_blue_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_blue_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-639.374,197.757,814.125),(274.98,66.4175,-20.6643)); + var_00.v["fxid"] = "mp_lair_pedal_loop_blue_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_blue_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-754.265,-155.487,789.125),(275.226,263.388,45.1587)); + var_00.v["fxid"] = "mp_lair_pedal_loop_blue_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-359.13,-687.627,796.466),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-382.307,282.631,820.125),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-143.087,286.738,823.125),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-340.215,283.537,822.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-209.295,284.234,820.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-511.583,288.174,823.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_blue_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-435.393,286.965,821.125),(274.98,66.4174,-19.6642)); + var_00.v["fxid"] = "mp_lair_pedal_loop_blue_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_blue_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-109.491,292.184,821.125),(273.994,68.5793,-7.81999)); + var_00.v["fxid"] = "mp_lair_pedal_loop_blue_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2459.63,869.723,741.125),(270,0,0)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_light_flares"); + var_00 common_scripts\_createfx::set_origin_and_angles((-799.154,1939.54,905.2),(85.0015,233.084,53.1883)); + var_00.v["fxid"] = "mp_lair_light_flares"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_light_flares"); + var_00 common_scripts\_createfx::set_origin_and_angles((-922.049,1939.1,902.17),(85.0015,233.084,53.1883)); + var_00.v["fxid"] = "mp_lair_light_flares"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_light_flares"); + var_00 common_scripts\_createfx::set_origin_and_angles((-570.906,1935.73,905.168),(85.0015,233.084,53.1883)); + var_00.v["fxid"] = "mp_lair_light_flares"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_light_flares"); + var_00 common_scripts\_createfx::set_origin_and_angles((-447.752,1937.52,903.17),(85.0015,233.084,53.1883)); + var_00.v["fxid"] = "mp_lair_light_flares"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_light_flares"); + var_00 common_scripts\_createfx::set_origin_and_angles((-919.31,2225.17,905.424),(85.0015,233.084,53.1883)); + var_00.v["fxid"] = "mp_lair_light_flares"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_light_flares"); + var_00 common_scripts\_createfx::set_origin_and_angles((-796.687,2223.81,904.454),(85.0015,233.084,53.1883)); + var_00.v["fxid"] = "mp_lair_light_flares"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_light_flares"); + var_00 common_scripts\_createfx::set_origin_and_angles((-570.027,2223.84,908.422),(85.0015,233.084,53.1883)); + var_00.v["fxid"] = "mp_lair_light_flares"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_light_flares"); + var_00 common_scripts\_createfx::set_origin_and_angles((-445.364,2224.11,905.424),(85.0015,233.084,53.1883)); + var_00.v["fxid"] = "mp_lair_light_flares"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_building_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((310.715,27139.4,7489.97),(270,0,0)); + var_00.v["fxid"] = "mp_lair_building_blink"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_building_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((8054.82,20241.9,7482.85),(270,0,0)); + var_00.v["fxid"] = "mp_lair_building_blink"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_building_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14818,18577.5,7963.41),(270,0,0)); + var_00.v["fxid"] = "mp_lair_building_blink"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_building_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11100.2,25742.5,7538.11),(270,0,0)); + var_00.v["fxid"] = "mp_lair_building_blink"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_building_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4552.12,-10925,6735.28),(270,0,0)); + var_00.v["fxid"] = "mp_lair_building_blink"; + var_00.v["delay"] = -10; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_building_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2329.98,-18004.6,7827.25),(270,0,0)); + var_00.v["fxid"] = "mp_lair_building_blink"; + var_00.v["delay"] = -10; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_building_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((8310.23,19779.2,7303.48),(270,0,0)); + var_00.v["fxid"] = "mp_lair_building_blink"; + var_00.v["delay"] = -10; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_big_fountain_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1606.38,95.9171,770),(270,0,0)); + var_00.v["fxid"] = "mp_lair_big_fountain_splash"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_big_fountain_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1578.7,75.6813,770),(270,0,0)); + var_00.v["fxid"] = "mp_lair_big_fountain_splash"; + var_00.v["delay"] = 7; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_big_fountain_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1562.94,43.4796,771),(270,0,0)); + var_00.v["fxid"] = "mp_lair_big_fountain_splash"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_big_fountain_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1567.14,7.67552,770.5),(270,0,0)); + var_00.v["fxid"] = "mp_lair_big_fountain_splash"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_big_fountain_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1588.66,-19.1173,772),(270,0,0)); + var_00.v["fxid"] = "mp_lair_big_fountain_splash"; + var_00.v["delay"] = 10; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_big_fountain_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1619.11,-32.477,772),(270,0,0)); + var_00.v["fxid"] = "mp_lair_big_fountain_splash"; + var_00.v["delay"] = 7; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_big_fountain_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1652.75,-28.7921,772.5),(270,0,0)); + var_00.v["fxid"] = "mp_lair_big_fountain_splash"; + var_00.v["delay"] = 10; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_big_fountain_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1680.98,-8.02676,771),(270,0,0)); + var_00.v["fxid"] = "mp_lair_big_fountain_splash"; + var_00.v["delay"] = 7; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_big_fountain_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1696.66,23.1436,769),(270,0,0)); + var_00.v["fxid"] = "mp_lair_big_fountain_splash"; + var_00.v["delay"] = 10; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_big_fountain_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1690.81,57.9739,770),(270,0,0)); + var_00.v["fxid"] = "mp_lair_big_fountain_splash"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_big_fountain_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1670.82,85.975,770),(270,0,0)); + var_00.v["fxid"] = "mp_lair_big_fountain_splash"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_big_fountain_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1640.59,98.5598,770),(270,0,0)); + var_00.v["fxid"] = "mp_lair_big_fountain_splash"; + var_00.v["delay"] = 10; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_building_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((7952.08,20311.8,7098.21),(270,0,0)); + var_00.v["fxid"] = "mp_lair_building_blink"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((920.044,958.092,853.966),(272,179.978,75.0215)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_blue_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((742.782,840.282,852.125),(274.929,57.8099,30.8558)); + var_00.v["fxid"] = "mp_lair_pedal_loop_blue_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_blue_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((720.259,625.497,850.125),(277.676,101.206,-13.6578)); + var_00.v["fxid"] = "mp_lair_pedal_loop_blue_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((777.404,1042.86,842.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((892.214,886.757,841.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((716.725,557.018,844.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((834.227,535.973,847.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((715.577,-267.829,841.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((763.756,-460.786,851.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((958.383,-473.262,838.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((805.268,-371.632,843.125),(0.875711,90.9721,-89.1563)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_blue_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((743.548,-637.139,848.125),(278.726,55.639,29.2215)); + var_00.v["fxid"] = "mp_lair_pedal_loop_blue_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_blue_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((829.978,-502.161,860.125),(277.098,304.903,-25.928)); + var_00.v["fxid"] = "mp_lair_pedal_loop_blue_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_blue_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((896.81,1106.05,852.125),(279.702,65.808,-4.10816)); + var_00.v["fxid"] = "mp_lair_pedal_loop_blue_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((55.3547,867.382,848.125),(270,0,0)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((479.136,1195.01,869.457),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((474.738,996.089,872.419),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("butterfly_a_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((754.174,-338.921,847.125),(270,0,0)); + var_00.v["fxid"] = "butterfly_a_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("butterfly_a_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((811.135,938.523,853.125),(270,0,0)); + var_00.v["fxid"] = "butterfly_a_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("butterfly_a_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-280.286,293.297,814.125),(270,0,0)); + var_00.v["fxid"] = "butterfly_a_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1692.01,-457.123,691.557),(270,0,90)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1541.19,-455.668,687.364),(270,0,90)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1544.45,487.228,689.605),(270,182,90)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1680.29,487.251,689.799),(270,0,90)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1348.51,126.125,690.104),(270,0,90)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1349.05,-63.8633,690.314),(270,0,90)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1785.74,-322.738,689.547),(270,0,180)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1786.31,139.245,691.246),(270,0,180)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1787.41,369.135,686.768),(270,0,180)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1786.7,-94.5939,691.125),(270,0,180)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1437.21,364.912,692.07),(270,0,180)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1435.85,232.905,691.186),(270,0,180)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1245.77,30.6547,692.826),(270,0,180)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1436.06,-182.72,688.471),(270,0,180)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_fountian_splash_top_line_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1437.12,-355.009,689.042),(270,0,180)); + var_00.v["fxid"] = "mp_lair_fountian_splash_top_line_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_building_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((9096.4,-12119.7,5041.01),(270,0,0)); + var_00.v["fxid"] = "mp_lair_building_blink"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_building_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((8546.13,-12114.4,5045.01),(270,0,0)); + var_00.v["fxid"] = "mp_lair_building_blink"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_building_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((13590.1,-12574.1,5036.01),(270,0,0)); + var_00.v["fxid"] = "mp_lair_building_blink"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_building_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((14149,-12581.7,5042.01),(270,0,0)); + var_00.v["fxid"] = "mp_lair_building_blink"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_building_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13711,3545.97,5002.01),(270,0,0)); + var_00.v["fxid"] = "mp_lair_building_blink"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_building_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13330.3,3947.86,5002.01),(270,0,0)); + var_00.v["fxid"] = "mp_lair_building_blink"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_blue_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1171.95,568.179,853.125),(273.301,331.105,54.3496)); + var_00.v["fxid"] = "mp_lair_pedal_loop_blue_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_red_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2047.13,381.847,721.125),(270,0,-138)); + var_00.v["fxid"] = "mp_lair_pedal_loop_red_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flit_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((404.359,2424.38,905.844),(270,0,0)); + var_00.v["fxid"] = "insects_flit_moths_complex"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2988.93,-100.867,678.125),(270,0,3)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_boat_blinking_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((3686.52,145.337,501.563),(270,0,0)); + var_00.v["fxid"] = "mp_lair_boat_blinking_light"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_boat_blinking_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((4009.56,-37.9141,498.241),(270,0,0)); + var_00.v["fxid"] = "mp_lair_boat_blinking_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_boat_blinking_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((3900.22,569.465,555.376),(270,0,0)); + var_00.v["fxid"] = "mp_lair_boat_blinking_light_01"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_boat_blinking_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((3677.24,-1496.16,555.474),(270,0,0)); + var_00.v["fxid"] = "mp_lair_boat_blinking_light_01"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_boat_blinking_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((3398.8,-1483.8,501.362),(270,0,0)); + var_00.v["fxid"] = "mp_lair_boat_blinking_light"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_boat_blinking_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((3407.65,-968.104,497.787),(270,0,0)); + var_00.v["fxid"] = "mp_lair_boat_blinking_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_boat_blinking_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((3341.57,-1873.15,508.83),(270,0,0)); + var_00.v["fxid"] = "mp_lair_boat_blinking_light"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_vista_sand_fog"); + var_00 common_scripts\_createfx::set_origin_and_angles((24932.1,7109.22,1919.91),(270,180,141)); + var_00.v["fxid"] = "mp_lair_vista_sand_fog"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_boat_blinking_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((3679.23,-1501.82,555.239),(270,0,0)); + var_00.v["fxid"] = "mp_lair_boat_blinking_light_01"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_boat_blinking_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((3893.63,566.957,555.212),(270,0,0)); + var_00.v["fxid"] = "mp_lair_boat_blinking_light_01"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("lib_birds_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2935.08,-15253.4,4223.16),(348.676,209.974,4.70752)); + var_00.v["fxid"] = "lib_birds_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_birds_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7395.84,14278,3382.18),(25.709,332.54,-142.213)); + var_00.v["fxid"] = "lib_birds_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_birds_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14505,2311.86,4388),(28.854,75.5186,-136.057)); + var_00.v["fxid"] = "lib_birds_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("fountain_water_distortion"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1920.41,832.062,647),(0,0,0)); + var_00.v["fxid"] = "fountain_water_distortion"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_blue_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1204.41,-422.516,726.125),(275.226,263.388,40.1584)); + var_00.v["fxid"] = "mp_lair_pedal_loop_blue_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_clouds_oriented_vista"); + var_00 common_scripts\_createfx::set_origin_and_angles((5072.85,-21435.9,8078.49),(272,181,-90)); + var_00.v["fxid"] = "mp_lair_clouds_oriented_vista"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_clouds_oriented_vista"); + var_00 common_scripts\_createfx::set_origin_and_angles((29132.8,-742.585,7901.71),(270,180,36)); + var_00.v["fxid"] = "mp_lair_clouds_oriented_vista"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_clouds_oriented_vista"); + var_00 common_scripts\_createfx::set_origin_and_angles((5053.16,25163.4,9629.96),(270,0,-107)); + var_00.v["fxid"] = "mp_lair_clouds_oriented_vista"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_clouds_oriented_vista"); + var_00 common_scripts\_createfx::set_origin_and_angles((25785.3,-13847.7,9276.21),(270,0,155)); + var_00.v["fxid"] = "mp_lair_clouds_oriented_vista"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_boats_idle"); + var_00 common_scripts\_createfx::set_origin_and_angles((13176.3,-4120.98,456),(270,0,-24)); + var_00.v["fxid"] = "mp_lair_ambient_boats_idle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_boats_idle"); + var_00 common_scripts\_createfx::set_origin_and_angles((14034.3,-6356.84,456),(270,0,-142)); + var_00.v["fxid"] = "mp_lair_ambient_boats_idle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_blue_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1100.81,389.22,841.125),(275.855,112.198,-29.9574)); + var_00.v["fxid"] = "mp_lair_pedal_loop_blue_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_clouds_oriented_vista"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18140.8,12144.1,10255.7),(275.655,301.965,27.6663)); + var_00.v["fxid"] = "mp_lair_clouds_oriented_vista"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_air_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((596.931,2809.61,962.333),(270,0,0)); + var_00.v["fxid"] = "mp_lair_ambient_air_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_boats_idle"); + var_00 common_scripts\_createfx::set_origin_and_angles((6428.47,-510.516,458.836),(270,0,162)); + var_00.v["fxid"] = "mp_lair_ambient_boats_idle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ground_loop_purple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2250.5,611.305,683.625),(270,180,5)); + var_00.v["fxid"] = "mp_lair_ground_loop_purple_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1278.3,111.16,708.125),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((227.373,1471.71,920.875),(270,0,91)); + var_00.v["fxid"] = "dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((286.464,861.261,1000.36),(270,0,91)); + var_00.v["fxid"] = "dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-445.041,-1605.78,850),(270,0,91)); + var_00.v["fxid"] = "dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_clouds_oriented_vista"); + var_00 common_scripts\_createfx::set_origin_and_angles((-29988.8,-12092,9102.15),(272,181,-155)); + var_00.v["fxid"] = "mp_lair_clouds_oriented_vista"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flit_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((357.167,2159.43,905.992),(270,0,0)); + var_00.v["fxid"] = "insects_flit_moths_complex"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_searchlights_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((27002.3,-1120.79,2402.85),(358.271,297.174,0.603424)); + var_00.v["fxid"] = "mp_lair_searchlights_far"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_searchlights_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5043.78,-4806.91,1447.45),(357.406,145.391,-2.89686)); + var_00.v["fxid"] = "mp_lair_searchlights_far"; + var_00.v["delay"] = -8; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-686.159,-1642.31,864),(273,130,50)); + var_00.v["fxid"] = "mp_ground_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((2298.7,-298.916,674.324),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((2295.04,-482.822,683),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_boats_idle"); + var_00 common_scripts\_createfx::set_origin_and_angles((13772.5,-1347.3,461.968),(270,180,72)); + var_00.v["fxid"] = "mp_lair_ambient_boats_idle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((657.795,1634.01,842.957),(272,179.978,75.0215)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((661.625,1408.9,838.64),(272,179.978,75.0215)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_purple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1023.17,-1072.98,771),(273,22,-162)); + var_00.v["fxid"] = "mp_lair_pedal_loop_purple_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_red_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2002.78,-916.859,706.125),(270,0,-91)); + var_00.v["fxid"] = "mp_lair_pedal_loop_red_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_red_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1331.36,1652.42,825.125),(270,0,155)); + var_00.v["fxid"] = "mp_lair_pedal_loop_red_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-847.731,-595.287,871.375),(270,0,91)); + var_00.v["fxid"] = "dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_light_flares"); + var_00 common_scripts\_createfx::set_origin_and_angles((-448.084,289.581,1075.43),(85.0015,233.084,53.1883)); + var_00.v["fxid"] = "mp_lair_light_flares"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_light_flares"); + var_00 common_scripts\_createfx::set_origin_and_angles((-320.894,287.525,1076.43),(85.0015,233.084,53.1883)); + var_00.v["fxid"] = "mp_lair_light_flares"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_light_flares"); + var_00 common_scripts\_createfx::set_origin_and_angles((-186.96,286.547,1075.43),(85.0015,233.084,53.1883)); + var_00.v["fxid"] = "mp_lair_light_flares"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_light_flares"); + var_00 common_scripts\_createfx::set_origin_and_angles((-67.9782,288.81,1075.43),(85.0015,233.084,53.1883)); + var_00.v["fxid"] = "mp_lair_light_flares"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_light_flares"); + var_00 common_scripts\_createfx::set_origin_and_angles((-582.61,285.078,1073.43),(85.0015,233.084,53.1883)); + var_00.v["fxid"] = "mp_lair_light_flares"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_light_flares"); + var_00 common_scripts\_createfx::set_origin_and_angles((-182.199,-1106.51,933.054),(85.0015,233.084,53.1883)); + var_00.v["fxid"] = "mp_lair_light_flares"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_blue_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-963.688,284.998,716.125),(275.855,112.198,-29.9574)); + var_00.v["fxid"] = "mp_lair_pedal_loop_blue_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_falling_vista_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-796.693,3880.6,855.125),(273,176,-180)); + var_00.v["fxid"] = "mp_lair_falling_vista_needles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_roof_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((63.7683,1593.72,1408),(270,0,141)); + var_00.v["fxid"] = "mp_lair_roof_smoke"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_roof_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((61.9215,1406.88,1402.61),(270,180,-33)); + var_00.v["fxid"] = "mp_lair_roof_smoke"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_falling_vista_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4379.9,1323.09,795.881),(270,0,89)); + var_00.v["fxid"] = "mp_lair_falling_vista_needles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-644.827,-1010.39,727.768),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-468.208,-1168.98,762.478),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_purple_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1166.61,1522.57,833),(274.629,197.076,-105.332)); + var_00.v["fxid"] = "mp_lair_pedal_loop_purple_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_falling_vista_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4645.83,790.195,826.578),(273,269,-180)); + var_00.v["fxid"] = "mp_lair_falling_vista_needles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_falling_vista_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4224.42,2492.64,885.043),(274,269,180)); + var_00.v["fxid"] = "mp_lair_falling_vista_needles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_falling_vista_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1647.73,3876.78,916.113),(273,182,-180)); + var_00.v["fxid"] = "mp_lair_falling_vista_needles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_falling_vista_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((632.533,3975.33,912.744),(270,0,2)); + var_00.v["fxid"] = "mp_lair_falling_vista_needles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_falling_vista_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1359.94,3941.97,917.62),(270,0,2)); + var_00.v["fxid"] = "mp_lair_falling_vista_needles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_blue_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((876.52,-390.11,832.125),(278.726,55.6357,157.224)); + var_00.v["fxid"] = "mp_lair_pedal_loop_blue_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_blue_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1100.13,-903.028,731.125),(275.632,142.26,-64.7882)); + var_00.v["fxid"] = "mp_lair_pedal_loop_blue_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_pedal_loop_blue_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1014.98,2000.13,815.125),(278.044,337.837,57.9255)); + var_00.v["fxid"] = "mp_lair_pedal_loop_blue_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_boat_foam"); + var_00 common_scripts\_createfx::set_origin_and_angles((3698.91,291.687,459),(270,0,-14)); + var_00.v["fxid"] = "mp_lair_boat_foam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_boat_foam"); + var_00 common_scripts\_createfx::set_origin_and_angles((3750.38,-9.11228,456),(270,0,1)); + var_00.v["fxid"] = "mp_lair_boat_foam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_boat_foam"); + var_00 common_scripts\_createfx::set_origin_and_angles((3774.21,-162.243,456),(270,0,90)); + var_00.v["fxid"] = "mp_lair_boat_foam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_boat_foam"); + var_00 common_scripts\_createfx::set_origin_and_angles((3889.93,515.247,456),(270,0,19)); + var_00.v["fxid"] = "mp_lair_boat_foam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_boat_foam"); + var_00 common_scripts\_createfx::set_origin_and_angles((3642.29,-473.008,456),(270,0,91)); + var_00.v["fxid"] = "mp_lair_boat_foam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_boat_foam"); + var_00 common_scripts\_createfx::set_origin_and_angles((3768.94,-898.424,456),(270,0,1)); + var_00.v["fxid"] = "mp_lair_boat_foam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_boat_foam"); + var_00 common_scripts\_createfx::set_origin_and_angles((3654.67,-664.902,456),(270,0,91)); + var_00.v["fxid"] = "mp_lair_boat_foam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_boat_foam"); + var_00 common_scripts\_createfx::set_origin_and_angles((3638.94,-1109.37,456),(270,0,91)); + var_00.v["fxid"] = "mp_lair_boat_foam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_boat_foam"); + var_00 common_scripts\_createfx::set_origin_and_angles((3495.41,-1615.48,456),(270,0,114)); + var_00.v["fxid"] = "mp_lair_boat_foam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_boat_foam"); + var_00 common_scripts\_createfx::set_origin_and_angles((3524.94,-1374.85,456),(270,0,138)); + var_00.v["fxid"] = "mp_lair_boat_foam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_boat_foam"); + var_00 common_scripts\_createfx::set_origin_and_angles((3570.04,-886.572,456),(270,0,136)); + var_00.v["fxid"] = "mp_lair_boat_foam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_boat_foam"); + var_00 common_scripts\_createfx::set_origin_and_angles((3676.5,-348.929,456),(270,0,91)); + var_00.v["fxid"] = "mp_lair_boat_foam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_boat_foam"); + var_00 common_scripts\_createfx::set_origin_and_angles((3524.7,-1868.47,456),(270,180,-86)); + var_00.v["fxid"] = "mp_lair_boat_foam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_godray_vista_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1016.54,3897.96,780.271),(4.85089,194.051,1.21235)); + var_00.v["fxid"] = "mp_lair_godray_vista_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_godray_vista_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-89.4619,3905.06,784.54),(0,184.955,-6.0962)); + var_00.v["fxid"] = "mp_lair_godray_vista_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_godray_vista_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((570.27,3896.07,778.541),(0,184.955,-6.0962)); + var_00.v["fxid"] = "mp_lair_godray_vista_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_godray_vista_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((1213.02,3894.71,774.913),(0,184.955,-6.0962)); + var_00.v["fxid"] = "mp_lair_godray_vista_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_godray_vista_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1657.09,3897.37,783.208),(0,184.955,-6.0962)); + var_00.v["fxid"] = "mp_lair_godray_vista_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_godray_vista_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2305.66,3903.01,770.71),(0,184.955,-6.0962)); + var_00.v["fxid"] = "mp_lair_godray_vista_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_godray_vista_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3238.82,3894.78,774.704),(0,184.955,-6.0962)); + var_00.v["fxid"] = "mp_lair_godray_vista_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_godray_vista_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3885.77,3892.71,780.943),(0,184.955,-6.0962)); + var_00.v["fxid"] = "mp_lair_godray_vista_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_godray_vista_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4113.73,2367.2,710.393),(3.0739,267.945,-3.36918)); + var_00.v["fxid"] = "mp_lair_godray_vista_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_godray_vista_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4277.33,1420.89,722.64),(3.0739,267.945,-3.36918)); + var_00.v["fxid"] = "mp_lair_godray_vista_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_godray_vista_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4280.1,784.988,720.997),(3.0739,267.945,-3.36918)); + var_00.v["fxid"] = "mp_lair_godray_vista_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_godray_vista_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4287.39,142.457,717.636),(3.0739,267.945,-3.36918)); + var_00.v["fxid"] = "mp_lair_godray_vista_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_godray_vista_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4119.17,3006.94,715.596),(3.0739,267.945,-3.36918)); + var_00.v["fxid"] = "mp_lair_godray_vista_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_godray_vista_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-962.208,-3221.36,739.307),(1.42509,359.04,1.07478)); + var_00.v["fxid"] = "mp_lair_godray_vista_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_godray_vista_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-320.258,-3228.32,736.58),(1.42509,359.04,1.07478)); + var_00.v["fxid"] = "mp_lair_godray_vista_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_godray_vista_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((2291.36,-3221.71,747.587),(1.42509,359.04,1.07478)); + var_00.v["fxid"] = "mp_lair_godray_vista_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_godray_vista_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((2927.72,-3227.08,742.861),(1.42509,359.04,1.07478)); + var_00.v["fxid"] = "mp_lair_godray_vista_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1759.78,-1075.06,666.125),(270,0,3)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-65.1003,-573.446,721.125),(270,0,3)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_ambient_sitting_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46.9033,-503.693,725.69),(270,0,3)); + var_00.v["fxid"] = "mp_ground_ambient_sitting_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-569.843,-1073.33,757.998),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_big_fountain_arcs"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1630.34,33.9121,771.05),(270,0,-18.5254)); + var_00.v["fxid"] = "mp_lair_big_fountain_arcs"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_boat_foam"); + var_00 common_scripts\_createfx::set_origin_and_angles((5051.87,730.969,456),(270,0,-14)); + var_00.v["fxid"] = "mp_lair_boat_foam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_boat_foam"); + var_00 common_scripts\_createfx::set_origin_and_angles((4967.04,358.2,456),(270,0,-1)); + var_00.v["fxid"] = "mp_lair_boat_foam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_searchlights_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((27512.1,-2809.22,448.635),(358.202,266.948,3.05832)); + var_00.v["fxid"] = "mp_lair_searchlights_far"; + var_00.v["delay"] = -8; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_jumping_fountain_nozzle"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1390.49,31.5486,772),(270,0,0)); + var_00.v["fxid"] = "mp_lair_jumping_fountain_nozzle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_jumping_fountain_nozzle"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1540.19,31.3719,772),(270,0,90)); + var_00.v["fxid"] = "mp_lair_jumping_fountain_nozzle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_jumping_fountain_nozzle"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1540.45,54.8406,772),(270,180,89)); + var_00.v["fxid"] = "mp_lair_jumping_fountain_nozzle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_jumping_fountain_nozzle"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1537.64,179.754,772),(270,0,-90)); + var_00.v["fxid"] = "mp_lair_jumping_fountain_nozzle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_jumping_fountain_nozzle"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1540.17,-116.918,772),(270,0,89)); + var_00.v["fxid"] = "mp_lair_jumping_fountain_nozzle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_jumping_fountain_nozzle"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1560.68,-241.642,772),(270,0,1)); + var_00.v["fxid"] = "mp_lair_jumping_fountain_nozzle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_jumping_fountain_nozzle"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1708.93,-242.987,773),(270,180,89)); + var_00.v["fxid"] = "mp_lair_jumping_fountain_nozzle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_jumping_fountain_nozzle"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1706.6,-100.242,772),(270,0,-90)); + var_00.v["fxid"] = "mp_lair_jumping_fountain_nozzle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_jumping_fountain_nozzle"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1707.17,307.793,772),(270,0,90)); + var_00.v["fxid"] = "mp_lair_jumping_fountain_nozzle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_jumping_fountain_nozzle"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1707.36,166.855,772),(270,0,90)); + var_00.v["fxid"] = "mp_lair_jumping_fountain_nozzle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_jumping_fountain_nozzle"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1559.25,307.511,772),(270,0,0)); + var_00.v["fxid"] = "mp_lair_jumping_fountain_nozzle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_jumping_fountain_ct_nozzle"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1625.92,-218.334,772),(270,0,-90)); + var_00.v["fxid"] = "mp_lair_jumping_fountain_ct_nozzle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_jumping_fountain_ct_nozzle"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1624.38,288.006,772),(270,0,90)); + var_00.v["fxid"] = "mp_lair_jumping_fountain_ct_nozzle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_falling_vista_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1265.94,-3612.65,894.529),(270,0,-176)); + var_00.v["fxid"] = "mp_lair_falling_vista_needles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_falling_vista_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-400.753,-3646.05,859.42),(272,20,-180)); + var_00.v["fxid"] = "mp_lair_falling_vista_needles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_falling_vista_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1945.27,-3285.97,907.174),(270,0,-160)); + var_00.v["fxid"] = "mp_lair_falling_vista_needles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_falling_vista_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((2768.96,-3456.62,892.917),(275,20,-180)); + var_00.v["fxid"] = "mp_lair_falling_vista_needles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_falling_vista_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((4136.18,1164.28,892.849),(275,20,145)); + var_00.v["fxid"] = "mp_lair_falling_vista_needles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_air_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-669.553,2674.29,1032),(270,0,90)); + var_00.v["fxid"] = "mp_lair_ambient_air_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("mp_lair_ambient_boats"); + var_00 common_scripts\_createfx::set_origin_and_angles((5321.77,2350.22,456),(270,0,-46)); + var_00.v["fxid"] = "mp_lair_ambient_boats"; + var_00.v["delay"] = -10; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("mp_lair_ambient_boats"); + var_00 common_scripts\_createfx::set_origin_and_angles((6530.04,4566.53,456),(270,0,-47)); + var_00.v["fxid"] = "mp_lair_ambient_boats"; + var_00.v["delay"] = -30; + var_00.v["exploder"] = "21"; + var_00 = common_scripts\utility::createexploder("mp_lair_ambient_boats"); + var_00 common_scripts\_createfx::set_origin_and_angles((4651.32,-4441.25,456),(270,0,-23)); + var_00.v["fxid"] = "mp_lair_ambient_boats"; + var_00.v["delay"] = -5; + var_00.v["exploder"] = "22"; + var_00 = common_scripts\utility::createexploder("mp_lair_big_fountain"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1630.1,33.6347,773),(270,0,0)); + var_00.v["fxid"] = "mp_lair_big_fountain"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "11"; + var_00 = common_scripts\utility::createexploder("mp_lair_jumping_fountain_center"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1624.36,288.412,772),(270,0,90)); + var_00.v["fxid"] = "mp_lair_jumping_fountain_center"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("mp_lair_jumping_fountain"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1541.01,54.121,772),(270,0,-91)); + var_00.v["fxid"] = "mp_lair_jumping_fountain"; + var_00.v["delay"] = 1.2; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("mp_lair_jumping_fountain"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1706.31,-243.086,772),(270,0,-90)); + var_00.v["fxid"] = "mp_lair_jumping_fountain"; + var_00.v["delay"] = 2.6; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("mp_lair_jumping_fountain"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1540.39,31.7232,772.125),(270,0,90)); + var_00.v["fxid"] = "mp_lair_jumping_fountain"; + var_00.v["delay"] = 1.2; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("mp_lair_jumping_fountain_center"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1625.87,-217.454,770),(270,180,90)); + var_00.v["fxid"] = "mp_lair_jumping_fountain_center"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("mp_lair_jumping_fountain"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1560.56,-241.628,772),(270,0,1)); + var_00.v["fxid"] = "mp_lair_jumping_fountain"; + var_00.v["delay"] = 2.1; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("mp_lair_jumping_fountain"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1559.14,306.401,772),(270,0,-1)); + var_00.v["fxid"] = "mp_lair_jumping_fountain"; + var_00.v["delay"] = 2.1; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("mp_lair_jumping_fountain"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1707.39,307.94,772),(270,0,89)); + var_00.v["fxid"] = "mp_lair_jumping_fountain"; + var_00.v["delay"] = 2.6; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("mp_lair_jumping_fountain"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1706.84,-99.7384,772),(270,180,89)); + var_00.v["fxid"] = "mp_lair_jumping_fountain"; + var_00.v["delay"] = 3; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("mp_lair_jumping_fountain"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1706.49,167.42,772),(270,0,90)); + var_00.v["fxid"] = "mp_lair_jumping_fountain"; + var_00.v["delay"] = 3; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("mp_lair_jumping_fountain"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1539.81,-117.038,772),(270,0,89)); + var_00.v["fxid"] = "mp_lair_jumping_fountain"; + var_00.v["delay"] = 1.6; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("mp_lair_jumping_fountain"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1537.67,178.737,772),(270,0,-90)); + var_00.v["fxid"] = "mp_lair_jumping_fountain"; + var_00.v["delay"] = 1.6; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("mp_lair_jumping_fountain"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1390.49,31.8286,773),(270,0,0)); + var_00.v["fxid"] = "mp_lair_jumping_fountain"; + var_00.v["delay"] = 0.7; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("mp_lair_vista_fireworks_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((5365.76,480.728,592),(270,0,180)); + var_00.v["fxid"] = "mp_lair_vista_fireworks_far"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "10"; + var_00 = common_scripts\utility::createexploder("mp_lair_vista_fireworks"); + var_00 common_scripts\_createfx::set_origin_and_angles((3906.36,11836.3,707.837),(270,0,-91)); + var_00.v["fxid"] = "mp_lair_vista_fireworks"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "10"; + var_00 = common_scripts\utility::createexploder("mp_lair_jumping_fountain_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1605.19,95.17,771),(270,0,0)); + var_00.v["fxid"] = "mp_lair_jumping_fountain_splash"; + var_00.v["delay"] = 1.8; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("mp_lair_jumping_fountain_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1640.05,99.3295,770),(270,0,0)); + var_00.v["fxid"] = "mp_lair_jumping_fountain_splash"; + var_00.v["delay"] = 1.8; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("mp_lair_jumping_fountain_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1671.37,85.9822,771),(270,0,0)); + var_00.v["fxid"] = "mp_lair_jumping_fountain_splash"; + var_00.v["delay"] = 1.9; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("mp_lair_jumping_fountain_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1577.68,76.4546,772),(270,0,0)); + var_00.v["fxid"] = "mp_lair_jumping_fountain_splash"; + var_00.v["delay"] = 1.9; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("mp_lair_jumping_fountain_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1562.95,42.5608,771),(270,0,0)); + var_00.v["fxid"] = "mp_lair_jumping_fountain_splash"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("mp_lair_jumping_fountain_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1567.62,5.61476,771.5),(270,0,0)); + var_00.v["fxid"] = "mp_lair_jumping_fountain_splash"; + var_00.v["delay"] = 1.9; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("mp_lair_jumping_fountain_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1586.82,-18.8348,772),(270,0,0)); + var_00.v["fxid"] = "mp_lair_jumping_fountain_splash"; + var_00.v["delay"] = 1.8; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("mp_lair_jumping_fountain_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1618.06,-32.5438,772),(270,0,0)); + var_00.v["fxid"] = "mp_lair_jumping_fountain_splash"; + var_00.v["delay"] = 1.8; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("mp_lair_jumping_fountain_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1652.38,-28.3015,773.5),(270,0,0)); + var_00.v["fxid"] = "mp_lair_jumping_fountain_splash"; + var_00.v["delay"] = 1.8; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("mp_lair_jumping_fountain_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1680.34,-7.21072,771),(270,0,0)); + var_00.v["fxid"] = "mp_lair_jumping_fountain_splash"; + var_00.v["delay"] = 1.9; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("mp_lair_jumping_fountain_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1696.85,23.2285,770),(270,0,0)); + var_00.v["fxid"] = "mp_lair_jumping_fountain_splash"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("mp_lair_jumping_fountain_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1691.23,57.8054,771),(270,0,0)); + var_00.v["fxid"] = "mp_lair_jumping_fountain_splash"; + var_00.v["delay"] = 1.8; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("mp_lair_big_fountain_geyser_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1630.36,33.9333,774),(270,0,0)); + var_00.v["fxid"] = "mp_lair_big_fountain_geyser_burst"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "12"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_laser2_fx.gsc b/AW/PC/maps/createfx/mp_laser2_fx.gsc new file mode 100644 index 0000000..23e69d9 --- /dev/null +++ b/AW/PC/maps/createfx/mp_laser2_fx.gsc @@ -0,0 +1,3077 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_laser2_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 194 ms + * Timestamp: 4/22/2024 2:07:41 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1489.42,1858.87,934.139),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_laser2_dish_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-650.16,628.457,358.435),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_laser2_computer"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((888.831,551.872,229),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_laser2_pipe_low"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-682.369,617.919,336.798),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_buzz_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((675.147,250.579,333.826),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_laser2_pipe_low"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1008.12,172.422,348.202),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-597.081,614.787,336.413),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-320.503,-54.942,391.081),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_gas_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-469.131,642.627,371.73),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_gas_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((472.886,631.571,377.452),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_gas_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((344.857,-41.3997,394.031),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_gas_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((610.56,217.765,377.433),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_gas_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((668.754,536.473,321.687),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_gas_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1438.65,2210.45,337.694),(270,0,0)); + var_00.v["soundalias"] = "emt_drain_left_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1500.13,1874.88,279),(270,0,0)); + var_00.v["soundalias"] = "emt_drain_right_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-30.8512,2204.23,606.354),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_fast_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((943.594,1309.69,500.875),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_panel_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((931.161,1081.91,439.717),(270,0,0)); + var_00.v["soundalias"] = "emt_steam_hiss_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((942.077,926.824,568.555),(270,0,0)); + var_00.v["soundalias"] = "emt_building_transformer_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-754.84,616.575,334.537),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_panel_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-547.487,383.706,403.909),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((596.385,478.309,389.457),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((597.857,287.779,389.432),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((949.011,136.026,442.357),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((932.836,147.724,348.255),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_buzz_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((871.882,128.651,335.279),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-273.995,-711.854,235),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-384.489,-788.341,190),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-322.314,-1045.8,192.258),(341.141,145.474,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((81.6318,-750.343,211),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((298.704,-828.912,221.294),(0,270,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((803.912,-1000.38,221),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((522.972,-1005.02,197),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((666.78,-1072.93,206),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((557.844,-1152.01,196),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1810.02,-582.679,199),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2186.62,-334.214,194.763),(270.782,223.502,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2165.21,-110.833,209.862),(271.567,99.9195,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2000.14,159.291,233),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2070.74,73.7003,224),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1877.08,380.124,236.224),(272.3,180,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1850.49,581.721,219.902),(272.3,180,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1913.34,747.557,222),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2130.5,837.063,223.478),(339.187,165.782,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2224.1,851.394,225.06),(275.4,90,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2578.74,856.789,234),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2765.06,-72.4736,212),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2668.11,-214.245,229),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2470.63,-338.887,214.061),(354.621,80.4883,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((396.024,-807.862,206),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-853.69,-1120.48,223),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-819.771,-1227.56,211),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-435.284,-1227.02,192),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-552.524,-1139.46,193),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-484.028,63.7075,373.741),(0,12.2467,0)); + var_00.v["soundalias"] = "emt_scaffolding_shake_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((38.0828,302.995,502.307),(89.9012,29.4023,0)); + var_00.v["soundalias"] = "emt_scaffolding_shake_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-366.158,849.195,488.264),(0,309,0)); + var_00.v["soundalias"] = "emt_scaffolding_shake_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2.62157,391.083,518.575),(270,0,0)); + var_00.v["soundalias"] = "emt_virtual_map_glow_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2.62157,391.083,490.575),(270,0,0)); + var_00.v["soundalias"] = "emt_virtual_map_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((472.655,435.492,404.418),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_water_plastic_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-491.363,311.063,406.693),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_water_plastic_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-86.5678,-78.4277,387.725),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_water_plastic_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3056.57,-153.442,204),(270,0,0)); + var_00.v["soundalias"] = "emt_water_clear_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-240.998,-472.086,264.125),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_cement_splatter_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((293.012,-658.787,206.414),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_dirt_splat_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-92.5934,-415.139,264.125),(270,0,0)); + var_00.v["soundalias"] = "emt_water_fall_med_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1490.74,499.811,296),(270,0,0)); + var_00.v["soundalias"] = "emt_water_fall_med_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((936.375,-786.174,260),(270,0,0)); + var_00.v["soundalias"] = "emt_water_fall_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1977.47,-110.862,296),(270,0,0)); + var_00.v["soundalias"] = "emt_water_fall_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1890.89,-32.1007,296),(270,0,0)); + var_00.v["soundalias"] = "emt_water_fall_med_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((647.405,-812.765,197),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-735.55,-1010.22,190.207),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-427.703,-1032.55,195.919),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-688.62,-1225.8,185.44),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-610.196,-1308.51,186.101),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-336.942,-1336.54,185.525),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-51.8927,-1354.44,186.673),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-49.2553,-913.041,200.045),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((311.621,-1291.86,182.203),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((760.041,-1234.93,177.387),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2619.64,-150.85,411.125),(270,0,0)); + var_00.v["soundalias"] = "emt_ocean_hum_distant_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2194.1,-810.767,436.579),(270,0,0)); + var_00.v["soundalias"] = "emt_ocean_air_distant_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1193.39,-937.883,616.166),(270,0,0)); + var_00.v["soundalias"] = "emt_ocean_wind_distant_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1895.27,-1364.04,276.696),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_shore_distant_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1043.99,-1825.69,269.566),(270,0,0)); + var_00.v["platform"] = "ng"; + var_00.v["soundalias"] = "emt_ocean_hum_distant_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2221.17,-1075.67,278.753),(270,0,0)); + var_00.v["soundalias"] = "emt_ocean_hum_distant_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3360.39,-280.215,320.93),(270,0,0)); + var_00.v["soundalias"] = "emt_ocean_air_distant_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1678.98,46.1694,767.123),(270,0,0)); + var_00.v["soundalias"] = "emt_ocean_wind_distant_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((478.753,-285.919,810.517),(270,0,0)); + var_00.v["soundalias"] = "emt_ocean_air_distant_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((300.351,-1933.29,284.657),(270,0,0)); + var_00.v["platform"] = "ng"; + var_00.v["soundalias"] = "emt_ocean_air_distant_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-625.37,-1384,519.881),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_shore_distant_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2209.27,-12.2919,693.639),(270,0,0)); + var_00.v["soundalias"] = "emt_ocean_air_distant_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((593.974,-1895.9,237.544),(270,0,0)); + var_00.v["soundalias"] = "emt_ocean_wind_distant_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((921.244,-396.267,1194.73),(270,0,0)); + var_00.v["soundalias"] = "emt_ocean_hum_distant_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-375.981,-939.158,656.247),(270,0,0)); + var_00.v["soundalias"] = "emt_ocean_air_distant_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2529.29,1003.97,577.545),(270,0,0)); + var_00.v["soundalias"] = "emt_ocean_hum_distant_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2177.77,1053.55,814),(270,0,0)); + var_00.v["soundalias"] = "emt_ocean_air_distant_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-184.97,1419.63,552.076),(270,0,0)); + var_00.v["soundalias"] = "emt_fluorescent_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-352.092,910.169,562.035),(270,0,0)); + var_00.v["soundalias"] = "emt_fluorescent_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-221.021,1752.89,557.264),(270,0,0)); + var_00.v["soundalias"] = "emt_fluorescent_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((231.037,1743.37,552.39),(270,0,0)); + var_00.v["soundalias"] = "emt_fluorescent_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((193.076,1409.93,556.629),(270,0,0)); + var_00.v["soundalias"] = "emt_fluorescent_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-109.001,-118.485,295.815),(270,0,0)); + var_00.v["soundalias"] = "emt_fluorescent_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((108.32,-118.598,299.423),(270,0,0)); + var_00.v["soundalias"] = "emt_fluorescent_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((789.565,588.099,351.576),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_water_plastic_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((816.297,200.505,371.933),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_gas_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1351.66,403.18,408),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_hole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((493.205,366.983,391.875),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_hole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((7.81173,-212.893,347.597),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_hole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-584.682,396.456,336.875),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_hole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1086.27,383.147,371.875),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_hole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1461.25,471.497,466.762),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_hole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1072.88,2267.65,574),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_hole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1437.31,2209.08,567.405),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_hole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1332.91,1672.85,556),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_hole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1806.66,1794.66,543.004),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_hole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1001.48,637.93,530.162),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_hole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1144.91,323.864,549.638),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_hole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1126.32,-956.494,337),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_hole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1202.16,-1345.72,353.993),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_hole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1.79161,1013.86,422.343),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_hole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4.79084,1456.95,531.171),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_hole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((437.179,1543.82,588.627),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_hole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-337.088,1663.73,583.221),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_hole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-401.133,1022.67,527.875),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_hole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((483.129,945.471,537.482),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_hole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1634.94,1686.16,549.615),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_hole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1679.59,2147.45,556.77),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_hole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1213.45,1961.67,547.616),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_hole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2020.21,-1177.25,348.915),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_cliff_mid_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1388.33,-2068.86,200.169),(270,0,0)); + var_00.v["soundalias"] = "emt_water_close_bright_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((35.4129,-1170.93,181.713),(341.141,145.474,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((756.778,-815.834,209.05),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1186.29,-1286.36,379.715),(270,0,0)); + var_00.v["soundalias"] = "emt_fluorescent_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1169.26,-969.453,374.734),(270,0,0)); + var_00.v["soundalias"] = "emt_fluorescent_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2607.92,337.292,303.849),(270,0,0)); + var_00.v["soundalias"] = "emt_insects_ocean_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-834.033,-1485.46,254.043),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_crash_roof_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2758.88,-525.682,160.617),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_crash_roof_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2199.43,-1362.43,168.051),(270,0,0)); + var_00.v["soundalias"] = "emt_water_detail_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2297.09,-219.8,193),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2744.48,253.022,206.069),(270,0,0)); + var_00.v["soundalias"] = "emt_waterfall_cave_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2695.83,656.06,215.491),(270,0,0)); + var_00.v["soundalias"] = "emt_waterfall_cave_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((75.3668,-1307.35,178.596),(270,0,0)); + var_00.v["soundalias"] = "emt_water_move_post_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-783.167,-1118.83,193.725),(270,0,0)); + var_00.v["soundalias"] = "emt_water_move_post_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-642.445,-967.605,192.483),(270,0,0)); + var_00.v["soundalias"] = "emt_water_move_post_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-273.511,-833.323,204.709),(270,0,0)); + var_00.v["soundalias"] = "emt_water_move_post_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-214.919,-1321.22,186.396),(270,0,0)); + var_00.v["soundalias"] = "emt_water_move_post_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-85.0929,-751.054,204.456),(270,0,0)); + var_00.v["soundalias"] = "emt_water_move_post_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((561.229,-807.296,197.127),(270,0,0)); + var_00.v["soundalias"] = "emt_water_move_post_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((846.749,-1140.2,204.829),(270,0,0)); + var_00.v["soundalias"] = "emt_water_move_post_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2125.45,-179.04,205.147),(270,0,0)); + var_00.v["soundalias"] = "emt_water_move_post_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2496.18,-140.833,207.664),(270,0,0)); + var_00.v["soundalias"] = "emt_water_move_post_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1927.85,254.718,234.748),(270,0,0)); + var_00.v["soundalias"] = "emt_water_move_post_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1982.78,791.108,218.953),(270,0,0)); + var_00.v["soundalias"] = "emt_water_move_post_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2431.55,868.332,232.06),(270,0,0)); + var_00.v["soundalias"] = "emt_water_move_post_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2609.92,-325.301,167.632),(270,0,0)); + var_00.v["soundalias"] = "emt_water_move_post_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2014.7,-422.594,212.854),(270,0,0)); + var_00.v["soundalias"] = "emt_water_move_post_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-945.52,-1252.75,259.274),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_cement_splatter_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1429.87,-1315.19,272),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_ground_splat_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1174.57,-960.899,263.896),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_cave_rock_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-175.424,-1139.5,198.339),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_ext_clear_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2184.82,43.5778,209.393),(270,0,0)); + var_00.v["soundalias"] = "emt_drip_ext_water_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((78.7395,-671.434,212.864),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_ground_splat_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((266.916,-560.804,264.125),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_dirt_splat_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2463.78,-36.5617,210.445),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1976.69,-1389.22,230.803),(270,0,0)); + var_00.v["soundalias"] = "emt_water_clear_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((336.684,-1706.68,134.891),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_hit_rocks_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3786.16,183.283,253.439),(270,0,0)); + var_00.v["soundalias"] = "emt_water_detail_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3393.22,472.756,192.287),(270,0,0)); + var_00.v["soundalias"] = "emt_water_clear_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1563.91,-1594.06,304.728),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_rocks_mid_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1892.76,-1317,305.196),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_crashing_mid_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-317.23,-1737.41,98.201),(270,0,0)); + var_00.v["soundalias"] = "emt_surf_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3319.22,327.168,285.861),(270,0,0)); + var_00.v["soundalias"] = "emt_wave_pool_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1147.37,-1484.39,234.663),(270,0,0)); + var_00.v["soundalias"] = "emt_wave_pool_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((490.165,-1831.98,128.971),(270,0,0)); + var_00.v["soundalias"] = "emt_surf_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2184.07,-902.29,170.871),(270,0,0)); + var_00.v["soundalias"] = "emt_surf_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3505.35,564.817,231.076),(270,0,0)); + var_00.v["soundalias"] = "emt_surf_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2816.99,269.763,112.91),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_tiny_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2909.48,-656.502,312.533),(270,0,0)); + var_00.v["soundalias"] = "emt_ocean_hum_distant_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2730.77,-641.458,109.743),(270,0,0)); + var_00.v["soundalias"] = "emt_surf_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2750.45,84.8998,703.628),(270,0,0)); + var_00.v["soundalias"] = "emt_sea_wind_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1328.85,326.388,1055.86),(270,0,0)); + var_00.v["soundalias"] = "emt_sea_wind_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((98.1767,-667.078,858.253),(270,0,0)); + var_00.v["soundalias"] = "emt_sea_wind_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1879.54,-1146.19,168.284),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_rocks_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((914.9,-1603.65,213.412),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_rocks_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1001.08,-1059.06,270),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_ground_splat_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1365.8,-1025.51,272.902),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_cement_splatty_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((141.117,-425.171,264.125),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_cement_splatty_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1194.78,-1304.94,178),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_int_cement_verb_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((30.2852,-1578.03,385.604),(270,0,0)); + var_00.v["soundalias"] = "emt_ocean_roof_post_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((648.689,-1672.07,109.125),(270,0,0)); + var_00.v["soundalias"] = "emt_water_clear_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1924.35,-322.848,188.89),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_ext_clear_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2187.26,51.5491,212.034),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_ext_clear_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1924.33,-343.229,188.246),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_ext_water_splash_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2206.18,839.649,204.104),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_ext_water_splash_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2392.87,851.275,222.027),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_ext_water_splash_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1943.9,488.737,209.715),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_ext_clear_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-166.937,-1129.18,199.357),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_ext_clear_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-750.486,216.813,295.994),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-874.693,534.897,321.27),(270,0,0)); + var_00.v["soundalias"] = "emt_building_transformer_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-585.889,-1495.32,179.6),(270,0,0)); + var_00.v["platform"] = "cg"; + var_00.v["soundalias"] = "ocean_comped_right"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((910.628,-1525.81,259.376),(270,0,0)); + var_00.v["platform"] = "cg"; + var_00.v["soundalias"] = "ocean_comped_center"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1877.15,-847.659,238.257),(270,0,0)); + var_00.v["platform"] = "cg"; + var_00.v["soundalias"] = "ocean_comped_left"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1745.7,-1402.22,496),(270,0,0)); + var_00.v["platform"] = "cg"; + var_00.v["soundalias"] = "ocean_comped_corners"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3146.47,174.366,496),(270,0,0)); + var_00.v["platform"] = "cg"; + var_00.v["soundalias"] = "ocean_comped_corners"; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flock_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1439.69,-1911.75,1543.05),(333,142,-90)); + var_00.v["fxid"] = "bird_seagull_flock_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1821.15,-222.033,579.881),(285.25,114,-180)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_debris_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-33.043,-465.13,415.423),(270,0,0)); + var_00.v["fxid"] = "dust_falling_debris_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_debris_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((280.573,-826.646,390.004),(270,0,0)); + var_00.v["fxid"] = "dust_falling_debris_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_debris_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((945.379,254.606,577.954),(270,0,0)); + var_00.v["fxid"] = "dust_falling_debris_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((69.7433,2536.68,720.659),(270,0,86.4998)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-471.751,2605.23,704),(270,180,-100.5)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((111.702,2536.14,720.928),(270,0,86.4998)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1537.85,1575.29,643.296),(270,0,-110.875)); + var_00.v["fxid"] = "falling_water_drip_line_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-379.155,2152.34,1432.64),(277.835,257.545,12.5683)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((610.862,559.671,342.136),(270,180,90)); + var_00.v["fxid"] = "falling_water_drip_line_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((573.204,555.055,340.943),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1419.83,2165.99,510.297),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((1467.95,2212,463.554),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2199.69,2042.23,722.84),(270,180,106.5)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flock_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3047.89,-732.489,1372.13),(0,144,-90)); + var_00.v["fxid"] = "bird_seagull_flock_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1032.32,-571.783,742.005),(288,109.623,-180)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1085.68,1479.01,835.11),(270,180,114)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1369.38,2337.89,906.166),(285.75,294,0)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((813.459,2498.35,556),(90,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((1470.36,2212,559.601),(0,90,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1468.01,2211.94,535.948),(359.996,179.703,0)); + var_00.v["fxid"] = "single_drip_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1420.02,2168.67,530.461),(0,179.697,0)); + var_00.v["fxid"] = "single_drip_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1418.84,2163.54,542.602),(360,154.889,0)); + var_00.v["fxid"] = "single_drip_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-805.209,-43.94,743.748),(270,0,-70.375)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((833.878,488.723,407.875),(270,180,89)); + var_00.v["fxid"] = "falling_water_drip_line_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((897.765,158.155,360.277),(0,90,0)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((566.638,246.728,399.875),(270,180,89)); + var_00.v["fxid"] = "falling_water_drip_line_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((398.895,-13.0159,384.418),(270,0,-45)); + var_00.v["fxid"] = "falling_water_drip_line_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((350.951,2551.28,723.407),(270,0,-46.5014)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((919.575,2274.63,429.363),(331.236,93.8632,-97.9911)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1192.03,2090.03,444.726),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1014.89,2350.41,434),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_straight_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1155.93,2093.4,421),(270,180,-32)); + var_00.v["fxid"] = "roach_flock_straight_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_straight_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((926.518,2495.03,472.559),(0,270,78)); + var_00.v["fxid"] = "roach_flock_straight_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1437.33,2204.88,425.693),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1756.34,2299.08,400),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1493.73,2098.02,400.125),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1318.55,1719.79,400.125),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1711.37,1652.92,578.325),(90,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1713.68,1651.65,578.325),(90,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1715.37,1657.02,578.325),(90,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1929.15,2166.9,436.225),(310.193,122.569,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-135.28,1016.23,518.385),(90,90,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((482.011,157.452,392.379),(79.2008,180,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_straight_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((463.581,-5.96403,271.963),(360,140.912,134)); + var_00.v["fxid"] = "roach_flock_straight_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roach_lrg_pipe_scatter_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((713.396,205.64,368.968),(21,90,-90)); + var_00.v["fxid"] = "roach_lrg_pipe_scatter_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-853.413,1893.62,428.499),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1006.19,1993.26,437.034),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-363.568,2146.52,533.167),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((319.676,2019.69,472.197),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((1126.74,-212.473,544.106),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2069.42,-205.611,452.765),(270,180,67.6249)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1712.21,1992.56,421.829),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((949.204,58.9552,486.932),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((1164.54,-357.861,484.402),(270,180,135)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((1115.82,-431.485,483.383),(270,180,135)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((1207.11,-278.997,491.401),(270,0,-27)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((709.48,-815.406,287.359),(270,180,86)); + var_00.v["fxid"] = "falling_water_drip_line_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((619.867,-818.411,286.146),(270,0,-179)); + var_00.v["fxid"] = "falling_water_drip_line_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_straight_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((724.391,200.616,380.117),(1.4323,86.2642,83.9529)); + var_00.v["fxid"] = "roach_flock_straight_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((427.924,20.9111,264.59),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((352.829,-51.0011,268.883),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((285.106,-84.5433,264),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-323.205,-70.273,264),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-439.899,36.9069,277.446),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-471.337,127.138,392.421),(270,0,13)); + var_00.v["fxid"] = "falling_water_drip_line_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-450.156,69.0776,388.127),(270,0,25)); + var_00.v["fxid"] = "falling_water_drip_line_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-702.96,384.58,408.03),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-813.521,382.873,404.404),(270,0,-31)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-794.551,366.577,406.039),(270,180,-172)); + var_00.v["fxid"] = "falling_water_drip_line_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-673.254,336.702,405.091),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-820.335,428.848,405.28),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1496.38,377.127,516.219),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1475.69,420.01,512.767),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1498.72,354.401,517.905),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1445.23,595.745,517.076),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1413.21,545.613,515.353),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1367.86,536.361,516),(270,0,44)); + var_00.v["fxid"] = "falling_water_drip_line_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-479.61,583.353,392.218),(53.4903,304.027,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_debris_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((912.226,482.103,576.812),(270.254,176.051,0)); + var_00.v["fxid"] = "dust_falling_debris_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((1031.17,2192.28,600),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((1464.58,2205.17,783.45),(0,90,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((1420.61,2183.56,785.466),(0,90,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1462.3,2191.35,786.021),(0,90,0)); + var_00.v["fxid"] = "single_drip_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1420,2194.82,785.968),(0,90,0)); + var_00.v["fxid"] = "single_drip_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((385.52,1935.93,1308.08),(285.75,294,0)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-170.791,-87.2314,384.096),(270,0,-91)); + var_00.v["fxid"] = "falling_water_drip_line_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1504.36,1679.66,418.154),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1254.6,1653.77,434),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((3028.11,2366.42,1420.11),(285.75,294,0)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2512.53,2672.78,899.574),(285.75,294,0)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((335.899,838.62,320),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_straight_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((351.645,881.359,328.909),(350.619,272.026,165.862)); + var_00.v["fxid"] = "roach_flock_straight_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((796.212,2712.14,959.027),(285.75,294,0)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-127.182,3008.13,1141.66),(285.75,294,0)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1477.98,2522.74,1056.46),(285.75,294,0)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-452.751,3488.08,1369.75),(285.75,294,0)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1372.06,-1032.18,373.224),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1449.43,-959.072,367.756),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1448.3,-935.705,303.629),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1125.6,-893.825,272),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1152.38,-1038.11,272),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-917.665,-1040.23,272),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1192.63,-1284.37,392),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1037.08,-1368.87,368.853),(270,180,90)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1167.95,-1032.28,373.223),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_skylight_haze"); + var_00 common_scripts\_createfx::set_origin_and_angles((1461.63,2210.84,607.119),(306,0,0)); + var_00.v["fxid"] = "light_skylight_haze"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roach_lrg_pipe_scatter_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((550.307,582.464,393.006),(339,270,-90)); + var_00.v["fxid"] = "roach_lrg_pipe_scatter_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((483.198,612.929,374.418),(50.0384,229.471,58.0623)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_skylight_haze"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1159.53,1818.9,471),(315,339,0)); + var_00.v["fxid"] = "light_skylight_haze"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1554.84,566.109,516),(270,0,-45)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1639.83,-480.122,550.366),(270,0,-70.375)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-764.309,2594.44,511.854),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((796.463,-373.291,875.142),(270,0,-70.375)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_skylight_haze"); + var_00 common_scripts\_createfx::set_origin_and_angles((406.572,1628.84,567.875),(304.99,334.326,-31.8908)); + var_00.v["fxid"] = "light_skylight_haze"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_skylight_haze"); + var_00 common_scripts\_createfx::set_origin_and_angles((532.451,979.767,554.875),(328.05,7.54057,-91.4971)); + var_00.v["fxid"] = "light_skylight_haze"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_skylight_haze"); + var_00 common_scripts\_createfx::set_origin_and_angles((1254.91,643.55,559.978),(324.511,354.923,-173.516)); + var_00.v["fxid"] = "light_skylight_haze"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1258.18,-1273.69,1312.64),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1261,-1273.16,1441.46),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((-972.311,-1267.1,1209.13),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((-971.328,-1236.48,1209.65),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1332.22,-1268.7,1311.95),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1335.12,-1272.17,1440.77),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1257,-1354.96,1312.37),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1259.9,-1358.43,1441.19),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1328.15,-1332.35,1305.48),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1330.1,-1347.78,1434.3),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1334.97,-1267.54,1571.72),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1327.28,-1346.73,1565.25),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1257.18,-1348.37,1572.14),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1261.58,-1276.32,1696.17),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_blink"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1261.65,-1354.23,1694.68),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_blink"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1344.08,-1279.38,1694.33),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_blink"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((2749.56,1636.23,1896.56),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_blink"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((2756.17,1711.94,1895.54),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_blink"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((2830.69,1712.86,1902.96),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_blink"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((1571.73,1157.01,1466.59),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_blink"; + var_00.v["delay"] = -14.5; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((1493.85,1158.21,1465.61),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_blink"; + var_00.v["delay"] = -14.5; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((1574.98,1234.84,1467.02),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_blink"; + var_00.v["delay"] = -14.5; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((1491.74,1234.76,1340.29),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((1497.33,1157.58,1341.89),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((1571.01,1158.31,1339.22),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((1571.4,1233.86,1339.46),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((1571.26,1155.77,1201.85),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((1497.57,1155.05,1204.52),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((1491.98,1232.23,1202.92),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((1571.65,1231.33,1202.09),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((2836.43,1634.13,1772.54),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((2762.75,1633.41,1775.21),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((2757.16,1710.59,1773.6),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((2836.82,1709.69,1772.78),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((2833.8,1630.44,1642.82),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((2760.11,1629.72,1645.49),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((2754.52,1706.9,1643.88),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((2834.18,1706,1643.06),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((2832.18,1634.7,1511.73),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((2758.49,1633.97,1514.4),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((2752.9,1711.15,1512.8),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((2832.57,1710.26,1511.98),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((2831.1,1633.31,1388.01),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((2757.41,1632.59,1390.68),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((2751.82,1709.77,1389.08),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((2831.48,1708.87,1388.25),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((-536.909,1854.37,1286.37),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((-610.597,1853.65,1289.04),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((-616.187,1930.83,1287.44),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((-536.524,1929.93,1286.62),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((-536.332,1853.75,1423.46),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((-610.02,1853.03,1426.13),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((-615.61,1930.21,1424.53),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((-535.947,1929.31,1423.7),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((-535.146,1854.34,1550.46),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_blink"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((-535.076,1932.25,1551.95),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_blink"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((-617.576,1929.19,1550.11),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_blink"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((-611.913,1854.45,1551.27),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_blink"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1162.33,1930.46,993.125),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1298.31,2170.71,993.125),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1755.43,2089.37,902.125),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("beacon_light_red_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1660.46,1592.48,993.125),(270,0,0)); + var_00.v["fxid"] = "beacon_light_red_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("laser_long_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-901.82,385.379,408.9),(83.7582,173.57,-96.3512)); + var_00.v["fxid"] = "laser_long_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("laser_long_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-733.418,384.507,402.899),(357.883,358.079,89.1947)); + var_00.v["fxid"] = "laser_long_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("boat_edge_wave_distortion"); + var_00 common_scripts\_createfx::set_origin_and_angles((1640.5,-16200.5,272.072),(0,100,0)); + var_00.v["fxid"] = "boat_edge_wave_distortion"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("boat_edge_wave_distortion"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5184.93,-17852.8,230.806),(0,102.925,0)); + var_00.v["fxid"] = "boat_edge_wave_distortion"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flock_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((3123.94,-1694.13,1047.77),(353.44,205.737,-73.6613)); + var_00.v["fxid"] = "bird_seagull_flock_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2481.2,1518.57,565.738),(270,180,31.625)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-807.655,2577.98,669.838),(281,9.62487,140)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((497.732,2461.64,763.539),(281,9.6237,105)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1170.78,2550.6,679.289),(288.835,281.565,176.908)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-650.046,1480.51,511.526),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-956.298,-159.614,490.855),(270,0,-70.375)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((1167.11,392.019,576),(270,0,-91)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-680.33,-515.931,456.426),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1592.09,-828.278,465.12),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1232.8,2397.58,422.023),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_street_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((929.726,1121.65,489.301),(270,0,0)); + var_00.v["fxid"] = "steam_sm_street_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_street_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((951.113,959.131,561.442),(354.572,81.0791,-82.6314)); + var_00.v["fxid"] = "steam_sm_street_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lab2_mod_wall_light_x64_glow_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-406.409,-47.3986,523.809),(8.9866,47.9882,2)); + var_00.v["fxid"] = "lab2_mod_wall_light_x64_glow_loop"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lab2_mod_wall_light_x64_glow_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-292.734,-103.231,521.901),(12.9818,74.9211,0.307672)); + var_00.v["fxid"] = "lab2_mod_wall_light_x64_glow_loop"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lab2_mod_wall_light_x64_glow_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-474.951,49.1906,523.229),(8.98234,17.0318,0.613309)); + var_00.v["fxid"] = "lab2_mod_wall_light_x64_glow_loop"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lab2_mod_wall_light_x64_glow_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((408.698,-46.0449,523.403),(2.82812,138.313,-178.508)); + var_00.v["fxid"] = "lab2_mod_wall_light_x64_glow_loop"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lab2_mod_wall_light_x64_glow_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((477.339,59.038,521.656),(5.17327,164.161,-177.985)); + var_00.v["fxid"] = "lab2_mod_wall_light_x64_glow_loop"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lab2_mod_wall_light_x64_glow_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((305.447,-101.92,522.803),(5.98618,106.978,178.58)); + var_00.v["fxid"] = "lab2_mod_wall_light_x64_glow_loop"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lab2_mod_wall_light_x64_glow_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-429.362,793.893,524.852),(4.6649,318.591,-0.135298)); + var_00.v["fxid"] = "lab2_mod_wall_light_x64_glow_loop"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lab2_mod_wall_light_x64_glow_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-484.268,679.849,522.149),(14.54,344.796,1.86077)); + var_00.v["fxid"] = "lab2_mod_wall_light_x64_glow_loop"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lab2_mod_wall_light_x64_glow_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-303.089,871.234,522.096),(10.3026,286.739,179.419)); + var_00.v["fxid"] = "lab2_mod_wall_light_x64_glow_loop"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lab2_mod_wall_light_x64_glow_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((426.991,798.428,524.165),(1.79193,228.127,-178.845)); + var_00.v["fxid"] = "lab2_mod_wall_light_x64_glow_loop"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lab2_mod_wall_light_x64_glow_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((319.634,867.438,522.482),(10.9982,253.981,179.806)); + var_00.v["fxid"] = "lab2_mod_wall_light_x64_glow_loop"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lab2_mod_wall_light_x64_glow_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((494.281,692.793,522.204),(14.8149,198.162,177.446)); + var_00.v["fxid"] = "lab2_mod_wall_light_x64_glow_loop"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fog_laser2_distant_vista_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((11000.3,-24962.1,716.055),(270,0,0)); + var_00.v["fxid"] = "fog_laser2_distant_vista_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_sunflare_laser2"); + var_00 common_scripts\_createfx::set_origin_and_angles((29078.5,18585.3,24696.3),(270,0,0)); + var_00.v["fxid"] = "fx_sunflare_laser2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("water_froth_oilrig"); + var_00 common_scripts\_createfx::set_origin_and_angles((212.415,-1140.76,186),(270,0,0)); + var_00.v["fxid"] = "water_froth_oilrig"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "6"; + var_00 = common_scripts\utility::createexploder("wave_hit_mist_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-62.8115,-2132.75,180),(270,0,0)); + var_00.v["fxid"] = "wave_hit_mist_01"; + var_00.v["delay"] = 0.2; + var_00.v["exploder"] = "5"; + var_00 = common_scripts\utility::createexploder("wave_hit_mist_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2137.92,-1438.43,183),(270,0,0)); + var_00.v["fxid"] = "wave_hit_mist_01"; + var_00.v["delay"] = 0.6; + var_00.v["exploder"] = "5"; + var_00 = common_scripts\utility::createexploder("wave_hit_mist_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1223.88,-2214.55,186),(270,0,0)); + var_00.v["fxid"] = "wave_hit_mist_01"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "5"; + var_00 = common_scripts\utility::createexploder("water_wave_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-355.119,-904.181,186),(270,0,0)); + var_00.v["fxid"] = "water_wave_splash"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "4"; + var_00 = common_scripts\utility::createexploder("water_wave_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((39.1996,-1271.35,186),(270,0,0)); + var_00.v["fxid"] = "water_wave_splash"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "4"; + var_00 = common_scripts\utility::createexploder("water_wave_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((686.303,-1085.26,186),(270,0,0)); + var_00.v["fxid"] = "water_wave_splash"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "4"; + var_00 = common_scripts\utility::createexploder("water_wave_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((264.465,-642.409,186),(270,0,0)); + var_00.v["fxid"] = "water_wave_splash"; + var_00.v["delay"] = 2.5; + var_00.v["exploder"] = "4"; + var_00 = common_scripts\utility::createexploder("breaking_wave_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-584.903,-1536.18,163.125),(270,0,-90)); + var_00.v["fxid"] = "breaking_wave_01"; + var_00.v["delay"] = 1.5; + var_00.v["exploder"] = "3"; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createexploder("breaking_wave_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-252.849,-2122.8,166.125),(270,0,-90)); + var_00.v["fxid"] = "breaking_wave_01"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "3"; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createexploder("breaking_wave_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-156.219,-1567.68,160.125),(270,0,-90)); + var_00.v["fxid"] = "breaking_wave_01"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "3"; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createexploder("breaking_wave_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((167.922,-1523.97,167.125),(270,0,-90)); + var_00.v["fxid"] = "breaking_wave_01"; + var_00.v["delay"] = 3; + var_00.v["exploder"] = "3"; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createexploder("breaking_wave_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1054.11,-1649.7,164.125),(270,0,-90)); + var_00.v["fxid"] = "breaking_wave_01"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "3"; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createexploder("breaking_wave_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1602.57,-1416.54,167.125),(270,0,-90)); + var_00.v["fxid"] = "breaking_wave_01"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "3"; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createexploder("breaking_wave_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2043.16,-942.894,167.125),(270,0,-90)); + var_00.v["fxid"] = "breaking_wave_01"; + var_00.v["delay"] = 1.6; + var_00.v["exploder"] = "3"; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createexploder("breaking_wave_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2530.3,-567.627,164.125),(270,0,-90)); + var_00.v["fxid"] = "breaking_wave_01"; + var_00.v["delay"] = 2.2; + var_00.v["exploder"] = "3"; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createexploder("breaking_wave_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2852.56,-303.176,163.79),(270,0,-90)); + var_00.v["fxid"] = "breaking_wave_01"; + var_00.v["delay"] = 4; + var_00.v["exploder"] = "3"; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createexploder("breaking_wave_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1169.37,-1656.77,161.125),(270,0,-90)); + var_00.v["fxid"] = "breaking_wave_01"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "3"; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createexploder("breaking_wave_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1622.98,-1736.73,164.125),(270,0,-90)); + var_00.v["fxid"] = "breaking_wave_01"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "3"; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createexploder("breaking_wave_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2182.48,-480.268,168),(270,0,-90)); + var_00.v["fxid"] = "breaking_wave_01"; + var_00.v["delay"] = 1.2; + var_00.v["exploder"] = "3"; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createexploder("breaking_wave_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2455.47,-131.343,168),(270,0,-90)); + var_00.v["fxid"] = "breaking_wave_01"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "3"; + var_00.v["soundalias"] = "emt_wave_crash_lrg"; + var_00 = common_scripts\utility::createexploder("breaking_wave_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1917.2,-1068.53,159),(270,0,-90)); + var_00.v["fxid"] = "breaking_wave_01"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "3"; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createexploder("breaking_wave_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2980.57,245.072,170.125),(270,0,-90)); + var_00.v["fxid"] = "breaking_wave_01"; + var_00.v["delay"] = 0.5; + var_00.v["exploder"] = "3"; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createexploder("breaking_wave_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((3434.08,736.992,210.864),(270,0,-90)); + var_00.v["fxid"] = "breaking_wave_01"; + var_00.v["delay"] = 3; + var_00.v["exploder"] = "3"; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createexploder("breaking_wave_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((4049.32,1242.84,168),(270,0,-90)); + var_00.v["fxid"] = "breaking_wave_01"; + var_00.v["delay"] = 4.5; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("breaking_wave_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2270.59,-692.692,170.125),(270,0,-90)); + var_00.v["fxid"] = "breaking_wave_01"; + var_00.v["delay"] = 3.5; + var_00.v["exploder"] = "3"; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createexploder("tidal_wave_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2183.86,-5760.88,121.125),(270,0,-80)); + var_00.v["fxid"] = "tidal_wave_01"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("tidal_wave_hit_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1123.97,-1458.29,394.092),(297.017,271.961,87.7984)); + var_00.v["fxid"] = "tidal_wave_hit_01"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "102"; + var_00 = common_scripts\utility::createexploder("tidal_wave_hit_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1227.89,-1594.73,219.198),(297.017,271.961,87.7984)); + var_00.v["fxid"] = "tidal_wave_hit_01"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "101"; + var_00 = common_scripts\utility::createexploder("tidal_wave_hit_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((111.596,-1232.86,268.457),(297.017,271.961,87.7984)); + var_00.v["fxid"] = "tidal_wave_hit_01"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "103"; + var_00.v["soundalias"] = "mp_laser2_ty_wave_crash_lrg"; + var_00 = common_scripts\utility::createexploder("tidal_wave_hit_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-725.776,-1144.18,182.943),(300.015,88.2653,-106)); + var_00.v["fxid"] = "tidal_wave_hit_01"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "104"; + var_00.v["soundalias"] = "mp_laser2_ty_wave_crash_lrg"; + var_00 = common_scripts\utility::createexploder("tidal_wave_hit_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-59.1737,-917.212,212.16),(299.47,76.0354,-80.3194)); + var_00.v["fxid"] = "tidal_wave_hit_01"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "105"; + var_00.v["soundalias"] = "mp_laser2_ty_wave_crash_lrg"; + var_00 = common_scripts\utility::createexploder("tidal_wave_hit_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((827.812,-1094.42,180.825),(300.922,56.2856,-73.2055)); + var_00.v["fxid"] = "tidal_wave_hit_01"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "106"; + var_00.v["soundalias"] = "mp_laser2_ty_wave_crash_lrg"; + var_00 = common_scripts\utility::createexploder("tidal_wave_hit_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2420.34,-650.219,230.404),(303.207,96.0163,177.831)); + var_00.v["fxid"] = "tidal_wave_hit_01"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "108"; + var_00.v["soundalias"] = "mp_laser2_ty_wave_crash_lrg"; + var_00 = common_scripts\utility::createexploder("tidal_wave_hit_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2078.08,737.067,164.949),(333.455,125.395,163.709)); + var_00.v["fxid"] = "tidal_wave_hit_01"; + var_00.v["delay"] = 0.5; + var_00.v["exploder"] = "108"; + var_00.v["soundalias"] = "mp_laser2_ty_wave_crash_lrg"; + var_00 = common_scripts\utility::createexploder("tidal_wave_lingering_foam1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-589.197,-1605.05,233.502),(270,0,-90)); + var_00.v["fxid"] = "tidal_wave_lingering_foam1"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("tidal_wave_hit_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-694.526,-2002.38,215.891),(297.017,271.961,87.7984)); + var_00.v["fxid"] = "tidal_wave_hit_01"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "101"; + var_00 = common_scripts\utility::createexploder("tidal_wave_lingering_foam1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-843.596,-1305.72,258.718),(270,0,-90)); + var_00.v["fxid"] = "tidal_wave_lingering_foam1"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("tidal_wave_lingering_foam1"); + var_00 common_scripts\_createfx::set_origin_and_angles((37.7022,-1250.75,255.878),(270,0,-90)); + var_00.v["fxid"] = "tidal_wave_lingering_foam1"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("tidal_wave_lingering_foam1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-605.969,-878.506,254.76),(270,0,-90)); + var_00.v["fxid"] = "tidal_wave_lingering_foam1"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("tidal_wave_lingering_foam1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-225.131,-725.816,254.456),(270,0,-90)); + var_00.v["fxid"] = "tidal_wave_lingering_foam1"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("tidal_wave_lingering_foam1"); + var_00 common_scripts\_createfx::set_origin_and_angles((503.141,-654.117,273.566),(270,0,-90)); + var_00.v["fxid"] = "tidal_wave_lingering_foam1"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("tidal_wave_lingering_foam1"); + var_00 common_scripts\_createfx::set_origin_and_angles((2322.31,-81.6669,215.623),(270,0,-77)); + var_00.v["fxid"] = "tidal_wave_lingering_foam1"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("tidal_wave_lingering_foam1"); + var_00 common_scripts\_createfx::set_origin_and_angles((2211.87,824.694,209.905),(270,0,-77)); + var_00.v["fxid"] = "tidal_wave_lingering_foam1"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1040.04,-1299.05,392),(273.872,107.734,-18.2284)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_exterior_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-250.193,-469.708,430.693),(271.252,194.438,-104.891)); + var_00.v["fxid"] = "falling_water_exterior_narrow"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_exterior_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((219.441,-424.87,419.435),(271.252,194.438,-104.891)); + var_00.v["fxid"] = "falling_water_exterior_narrow"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((253.299,-534.565,423.772),(271.719,229.524,130.034)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_exterior_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((288.107,-646.462,414.157),(271.252,194.438,-104.891)); + var_00.v["fxid"] = "falling_water_exterior_narrow"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((66.2279,-640,327.471),(271.719,229.524,-133.966)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-787.523,-830.724,343.636),(271.719,229.527,143.031)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-164.126,-1140.42,358.052),(271.252,194.433,142.115)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_exterior_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((937.005,-780.197,355.438),(271.252,194.434,164.113)); + var_00.v["fxid"] = "falling_water_exterior_narrow"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-949.682,-1244.41,363),(271.252,194.431,163.116)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((2178.11,60.3676,284.529),(271.251,194.434,82.113)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((1936.93,485.979,292.206),(271.251,194.436,-14.8893)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2116.94,290.689,281.875),(273.872,107.734,-18.2284)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2477,394.243,274),(273.872,107.734,-18.2284)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2223.63,692.681,281.875),(273.872,107.734,-18.2284)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((2199.87,848.424,289.247),(271.251,194.433,-105.887)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((2379.5,848.57,289.393),(271.251,194.433,-105.887)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2659.62,231.952,281.875),(273.872,107.734,-18.2284)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2612.2,521.37,265),(273.872,107.734,-18.2284)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_exterior_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1974.98,-102.589,373.643),(273.872,107.734,-18.2284)); + var_00.v["fxid"] = "falling_water_exterior_narrow"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_exterior_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1889.06,-20.4667,403.675),(273.872,107.734,-18.2284)); + var_00.v["fxid"] = "falling_water_exterior_narrow"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_exterior_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1491.7,509.452,392),(271.387,150.277,-60.7403)); + var_00.v["fxid"] = "falling_water_exterior_narrow"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_exterior_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1393.58,-1046.59,389.489),(271.387,150.277,-60.7403)); + var_00.v["fxid"] = "falling_water_exterior_narrow"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1084.49,-1024.94,392),(273.872,107.734,-18.2284)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1209.41,-901.143,392),(273.872,107.734,-18.2284)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-862.999,-993.174,386.221),(273.872,107.726,-106.221)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-982.207,-842.63,366),(273.872,107.72,162.785)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-982.794,-1072.98,375.173),(271.387,150.277,-60.7403)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1408,-1312.73,360.328),(271.387,150.277,-151.74)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("water_runoff_narrow_splashes_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-129.701,-443.444,264.125),(271.719,229.524,-133.966)); + var_00.v["fxid"] = "water_runoff_narrow_splashes_lp"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("water_runoff_narrow_splashes_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((254.74,-513.699,264.125),(271.719,229.524,-133.966)); + var_00.v["fxid"] = "water_runoff_narrow_splashes_lp"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1408,-1199.96,470.115),(271.719,229.512,134.046)); + var_00.v["fxid"] = "water_stream_med"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((-946.819,-1384.79,480.993),(271.719,229.512,134.046)); + var_00.v["fxid"] = "water_stream_med"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1007.37,-832,424.166),(271.719,229.512,134.046)); + var_00.v["fxid"] = "water_stream_med"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_wall_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((-950.884,-1328.06,721.332),(0,0,0)); + var_00.v["fxid"] = "falling_water_wall_long"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_wall_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1408.13,-1322.52,716.818),(357,180,0)); + var_00.v["fxid"] = "falling_water_wall_long"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((-953.732,-1410.94,747.875),(271.719,229.512,134.046)); + var_00.v["fxid"] = "water_stream_med"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("water_stream_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((-959.394,-1101.08,777.875),(271.719,229.512,134.046)); + var_00.v["fxid"] = "water_stream_med"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-149.411,-268.687,583.875),(270,0,92)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_drip_line_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((151.667,-318.277,539.59),(270,0,92)); + var_00.v["fxid"] = "falling_water_drip_line_runner_fast"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((100.346,-640.987,358.624),(271.719,229.524,-133.966)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((1919.99,-327.116,277.854),(271.719,229.533,-64.9754)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("fog_laser2_hills"); + var_00 common_scripts\_createfx::set_origin_and_angles((-523.343,3694.16,1026.02),(270,0,-57)); + var_00.v["fxid"] = "fog_laser2_hills"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "122"; + var_00 = common_scripts\utility::createexploder("fog_laser2_hills"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3148.96,2901.68,1125.91),(270,0,-57)); + var_00.v["fxid"] = "fog_laser2_hills"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "122"; + var_00 = common_scripts\utility::createexploder("fog_laser2_hills"); + var_00 common_scripts\_createfx::set_origin_and_angles((2127.23,3239.32,1123.65),(270,0,-57)); + var_00.v["fxid"] = "fog_laser2_hills"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "122"; + var_00 = common_scripts\utility::createexploder("fog_laser2_hills"); + var_00 common_scripts\_createfx::set_origin_and_angles((1786.33,-1763.02,2423.23),(284,303,0)); + var_00.v["fxid"] = "fog_laser2_hills"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "122"; + var_00 = common_scripts\utility::createexploder("fog_distant_vista"); + var_00 common_scripts\_createfx::set_origin_and_angles((16321,-30166.8,677.337),(270,0,0)); + var_00.v["fxid"] = "fog_distant_vista"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "122"; + var_00 = common_scripts\utility::createexploder("fog_laser2_hills"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3007.68,606.6,2548.99),(284,303,0)); + var_00.v["fxid"] = "fog_laser2_hills"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "122"; + var_00 = common_scripts\utility::createexploder("fog_laser2_hills"); + var_00 common_scripts\_createfx::set_origin_and_angles((6621.81,1776.95,404.513),(270,0,-57)); + var_00.v["fxid"] = "fog_laser2_hills"; + var_00.v["delay"] = -30; + var_00.v["exploder"] = "122"; + var_00 = common_scripts\utility::createexploder("fog_laser2_distant_vista_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-756.289,-7438.51,357.525),(271,119,86)); + var_00.v["fxid"] = "fog_laser2_distant_vista_1"; + var_00.v["delay"] = -30; + var_00.v["exploder"] = "122"; + var_00 = common_scripts\utility::createexploder("fog_laser2_distant_vista_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((7952.52,-3628.95,184),(271,119,111)); + var_00.v["fxid"] = "fog_laser2_distant_vista_1"; + var_00.v["delay"] = -30; + var_00.v["exploder"] = "122"; + var_00 = common_scripts\utility::createexploder("fog_laser2_distant_vista_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((11524.7,7744.61,638.586),(281.963,233.282,-3.68159)); + var_00.v["fxid"] = "fog_laser2_distant_vista_1"; + var_00.v["delay"] = -30; + var_00.v["exploder"] = "122"; + var_00 = common_scripts\utility::createexploder("fog_laser2_distant_vista_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14201.7,-707.292,198.529),(271,119,53)); + var_00.v["fxid"] = "fog_laser2_distant_vista_1"; + var_00.v["delay"] = -30; + var_00.v["exploder"] = "122"; + var_00 = common_scripts\utility::createexploder("fog_laser2_distant_vista_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11213.7,-6741.32,422),(271,118.998,50.0017)); + var_00.v["fxid"] = "fog_laser2_distant_vista_1"; + var_00.v["delay"] = -30; + var_00.v["exploder"] = "122"; + var_00 = common_scripts\utility::createexploder("test_water_physics"); + var_00 common_scripts\_createfx::set_origin_and_angles((-202.773,-931.025,294.338),(270,0,0)); + var_00.v["fxid"] = "test_water_physics"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "66"; + var_00 = common_scripts\utility::createexploder("shallow_debris_physics"); + var_00 common_scripts\_createfx::set_origin_and_angles((530.488,-1141.8,153.458),(270,0,0)); + var_00.v["fxid"] = "shallow_debris_physics"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "205"; + var_00 = common_scripts\utility::createexploder("shallow_debris_physics"); + var_00 common_scripts\_createfx::set_origin_and_angles((-74.4764,-1224.52,151.235),(270,0,0)); + var_00.v["fxid"] = "shallow_debris_physics"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "203"; + var_00 = common_scripts\utility::createexploder("shallow_debris_physics"); + var_00 common_scripts\_createfx::set_origin_and_angles((-528.87,-1333.45,148.865),(270,0,0)); + var_00.v["fxid"] = "shallow_debris_physics"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("cargo_containers_physics"); + var_00 common_scripts\_createfx::set_origin_and_angles((-157.453,-4590.05,81.4992),(270,0,0)); + var_00.v["fxid"] = "cargo_containers_physics"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("shallow_debris_physics"); + var_00 common_scripts\_createfx::set_origin_and_angles((2275.95,58.9818,144.337),(270,0,0)); + var_00.v["fxid"] = "shallow_debris_physics"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "208"; + var_00 = common_scripts\utility::createexploder("rain_floorsheet_slow_foam_200x200_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-154.76,-546.344,265.125),(270,0,0)); + var_00.v["fxid"] = "rain_floorsheet_slow_foam_200x200_mist"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("rain_floorsheet_slow_foam_200x200_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18.0425,-505.471,264.125),(270,0,0)); + var_00.v["fxid"] = "rain_floorsheet_slow_foam_200x200_mist"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("rain_floorsheet_slow_foam_200x200_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((102.05,-535.152,264.125),(270,0,0)); + var_00.v["fxid"] = "rain_floorsheet_slow_foam_200x200_mist"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("rain_floorsheet_slow_foam_200x200_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((230.932,-517.736,264.125),(270,0,0)); + var_00.v["fxid"] = "rain_floorsheet_slow_foam_200x200_mist"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("rain_floorsheet_slow_foam_200x200_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((180.7,-458.629,263.875),(270,0,0)); + var_00.v["fxid"] = "rain_floorsheet_slow_foam_200x200_mist"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("rain_floorsheet_slow_foam_200x200_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((51.8174,-476.045,263.875),(270,0,0)); + var_00.v["fxid"] = "rain_floorsheet_slow_foam_200x200_mist"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("rain_floorsheet_slow_foam_200x200_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-68.2752,-446.364,263.875),(270,0,0)); + var_00.v["fxid"] = "rain_floorsheet_slow_foam_200x200_mist"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("rain_floorsheet_slow_foam_200x200_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-204.993,-487.237,264.875),(270,0,0)); + var_00.v["fxid"] = "rain_floorsheet_slow_foam_200x200_mist"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "121"; + var_00 = common_scripts\utility::createexploder("light_laser_off_lightbeam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3.4856,381.247,512.575),(270,0,0)); + var_00.v["fxid"] = "light_laser_off_lightbeam"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("tidal_wave_hit_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1515.68,-1077.7,260),(300.484,91.9577,-104.135)); + var_00.v["fxid"] = "tidal_wave_hit_01"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "107"; + var_00 = common_scripts\utility::createexploder("tidal_wave_hit_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((3542.75,948.828,71.0019),(317.247,67.1664,-167.078)); + var_00.v["fxid"] = "tidal_wave_hit_01"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "109"; + var_00 = common_scripts\utility::createexploder("tidal_wave_lingering_foam1"); + var_00 common_scripts\_createfx::set_origin_and_angles((3591.37,752.588,255),(270,0,-58)); + var_00.v["fxid"] = "tidal_wave_lingering_foam1"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("tidal_wave_lingering_foam1"); + var_00 common_scripts\_createfx::set_origin_and_angles((1366.39,-1202.34,266.857),(270,0,-77)); + var_00.v["fxid"] = "tidal_wave_lingering_foam1"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("fog_laser2_distant_vista_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((12055.3,-11909,922.91),(271,118.998,50.0017)); + var_00.v["fxid"] = "fog_laser2_distant_vista_1"; + var_00.v["delay"] = -30; + var_00.v["exploder"] = "122"; + var_00 = common_scripts\utility::createexploder("fog_laser2_distant_vista_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21579.6,-7479.15,537.041),(271,119.006,-12.0059)); + var_00.v["fxid"] = "fog_laser2_distant_vista_1"; + var_00.v["delay"] = -30; + var_00.v["exploder"] = "122"; + var_00 = common_scripts\utility::createexploder("tidal_wave_hit_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((5157.9,-18194.9,467.993),(292.603,114.717,-89.2419)); + var_00.v["fxid"] = "tidal_wave_hit_01"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "100"; + var_00.v["soundalias"] = "mp_laser2_ty_wave_crash_lrg"; + var_00 = common_scripts\utility::createexploder("tidal_wave_hit_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((6006.21,-17963.5,467.793),(292.603,114.717,-89.2419)); + var_00.v["fxid"] = "tidal_wave_hit_01"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "100"; + var_00.v["soundalias"] = "mp_laser2_ty_wave_crash_lrg"; + var_00 = common_scripts\utility::createexploder("tidal_wave_hit_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1477.45,-1733.43,186.703),(282.587,164.21,-178.082)); + var_00.v["fxid"] = "tidal_wave_hit_01"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "101"; + var_00 = common_scripts\utility::createexploder("tidal_wave_hit_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1810.35,-1211.33,228.774),(305.582,165.498,-179.282)); + var_00.v["fxid"] = "tidal_wave_hit_01"; + var_00.v["delay"] = 0.4; + var_00.v["exploder"] = "101"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((414.283,1985.27,1201.26),(270,0,0)); + var_00.v["delay_min"] = 13; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_laser2_foliage_sway_forest"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((340.746,2095.79,723.713),(2.2384,348.936,0)); + var_00.v["delay_min"] = 20; + var_00.v["delay_max"] = 30; + var_00.v["soundalias"] = "emt_trees_wind_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((578.679,2530.65,675.284),(354.871,26.0576,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1386.53,2488.22,576.385),(357.76,359.463,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_tree_wind_dry_wet"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1112.42,209.53,454.707),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_laser2_rocks_ruins_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((870.68,-41.3715,591.438),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3399.5,-197.132,581.583),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_seagulls_shore"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2946.61,-733.747,493.105),(271,90,-90)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_seagulls_shore"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2415.89,-1177.37,590.275),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_seagulls_shore"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1766.23,-1550,779.328),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_seagulls_shore"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((869.055,-2155.9,785.31),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_seagulls_shore"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-605.733,-1966.52,792.652),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_seagulls_shore"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3050.83,-426.534,819.158),(271,90,-90)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_seagulls_shore"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2274.63,-1050.4,831.584),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_seagulls_shore"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1885.03,2021.67,593.624),(356.752,131.447,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_tree_wind_dry_wet"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2105.38,1900.16,712.722),(356.753,132.449,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_trees_wind_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1221.75,1446.27,800.344),(356.752,131.447,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2022.42,-96.3019,624.08),(273.556,67.2405,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2161.47,204.722,552.113),(273.556,67.2405,0)); + var_00.v["delay_min"] = 9; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_tree_move_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-372.885,2198.19,817.792),(2.2384,348.936,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_tree_move_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-0.455377,1003.18,536.785),(270,0,-6)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_laser2_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1419.73,2171.92,513.141),(270,0,0)); + var_00.v["delay_min"] = 15; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_mp_laser2_chain_rattles"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1463.09,2219.28,552.49),(270,0,0)); + var_00.v["delay_min"] = 17; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "emt_mp_laser2_chain_rattles"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1423.93,2228.96,109.125),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_mp_laser2_pipe_drips"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1499.48,1874.89,228.011),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_mp_laser2_dish_drips"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1442.59,2202.97,376.125),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_mp_laser2_ne_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1575.22,2423.22,481.858),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_mosquito_buzz"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1472.78,2092.67,490),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_mosquito_buzz"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1078.87,2331.49,487.993),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_mosquito_buzz"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1255.53,1865.72,483),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_mosquito_buzz"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-238.83,1387.72,560.95),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_mosquito_buzz"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-334.388,935.213,518.295),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_mosquito_buzz"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((742.544,2433.93,492.085),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((132.568,2470.13,594.222),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-806.43,2569.06,606.131),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1386.01,2395.95,528.919),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1846.51,2394.21,507.204),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2562.79,2122.8,566.937),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2522.71,1534.92,593.227),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2229.43,663.804,614.132),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 13; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1495.3,1093.32,456.698),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1534.66,1211.7,463.83),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1626.34,1263.08,477.183),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1565.96,1117.43,498.242),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-832.404,603.763,481.831),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-678.207,463.298,497.139),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-728.702,407.677,475.815),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1605.28,17.1275,461.776),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1705.96,67.2503,488.881),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2101.41,-28.3061,437.02),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1686.8,-687.522,516.435),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2152.03,316.458,478.731),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2254.99,461.29,561.273),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((611.942,1854.75,447.518),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((772.478,2502.19,444.94),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((442.385,2564.88,527.174),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-866.66,2715.56,546.754),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-851.158,1934,404.041),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1073.77,1236.08,455.959),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1083,479.141,385.316),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1090.23,316.948,407.961),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1259.32,226.662,502.166),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1255.98,573.062,489.624),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1556.34,476.815,511.678),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1090.23,316.948,407.961),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-512.125,464.367,397.238),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((115.951,1469.63,591.867),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((423.576,1341,586.832),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((255.842,1044.93,499.034),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((624.005,1439.25,499.288),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1275.99,1947.73,557),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1808,1975.38,559.45),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1548.12,2253.22,560),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1548.12,2253.17,560),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1090.42,2479.63,483.959),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((936.352,2350.22,563),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1197.67,2018.27,569),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1083.91,264.299,542.039),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1238.68,491.185,546),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((39.0738,2075.87,492.705),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_insect_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1247.99,1510.64,490.072),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_insect_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1284.46,2547.06,579.267),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_insect_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1959.58,1842.31,523.166),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_insect_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2555.05,1625.4,574.257),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_insect_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2244.41,154.91,417.979),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_insect_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1677.52,-791.695,458.974),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_insect_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-619.913,-573.862,444.338),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_cricket_swells"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2471.37,1416.72,577.591),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_cricket_swells"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-809.928,1474.81,442.423),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_cricket_swells"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-908.174,2633.86,713.305),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_tree_creak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1472.35,2558.89,625.85),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_tree_creak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-419.661,2176.13,797.132),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_tree_creak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1727.14,2330.85,398.665),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2206.75,1879.86,540.319),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1788.07,1341.48,388.178),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1709.17,806.658,434.628),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1756.09,2.40442,408.697),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-922.048,-180.303,471.891),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-728.609,818.84,453.807),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-858.611,1208.24,547.312),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-306.66,1253.55,464.125),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-143.405,1549.22,464.125),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-314.154,1462.93,464.125),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-11.6665,1881.49,460.575),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1633.22,2372.12,837.153),(354.871,26.0576,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1711.96,2187.96,790.74),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_tree_rub"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1124.41,2382.55,748.422),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_tree_rub"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1212.63,1413.4,765.04),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_tree_rub"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2642.43,1865.84,782.466),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_tree_rub"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2055.96,2521.01,695.788),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_tree_rub"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-103.111,1649.39,464.125),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_drip_puddle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((360.959,1438.38,464.125),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_drip_puddle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((404.529,1197.47,448.125),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_drip_puddle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1779.15,-4.64636,473.875),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_tree_move_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1921.23,1835.09,648.502),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1014.98,-386.197,677.313),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((573.564,-571.263,701.521),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-378.457,844.64,335.266),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_metal_movement_large_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-451.001,90.9273,397.42),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_metal_movement_large_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((415.889,121.391,255),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_metal_movement_large_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((785.634,217.059,375.729),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_metal_creak_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((530.933,548.685,310),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_metal_creak_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((863.478,501.619,385.855),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_metal_creak_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1731.26,559.145,327.625),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_metal_creak_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1726.18,441.804,320.819),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_metal_creak_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2181.99,708.026,326.739),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_metal_creak_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((379.111,-963.481,211),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_container_lapping"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((397.415,-1151.44,205),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_container_lapping"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((991.34,502.947,458.164),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_mp_laser2_rocks_ruins_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((353.749,1285.04,525.891),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_mosquito_buzz"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-993.925,894.47,490.389),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2252.82,2419.77,524.03),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_insect_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((264.529,1002,579.728),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((106.97,1788.99,574.196),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-418.848,1566.37,584.613),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-448,1140.81,584.404),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1558.25,2174.02,553.587),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1794.31,1847.61,519.137),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1530.83,1584.67,509.948),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1218.56,1775.5,509.288),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((13.3672,1028.55,216.407),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_metal_movement_large_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1338.5,180.788,396.788),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1165.66,720,399.105),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1165.09,1635.92,561.504),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1080.86,2073.13,581.205),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((911.237,702.309,564.904),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1361.55,554.229,315.598),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_rocks_dust_cave"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2611.48,1581.62,718.962),(356.752,131.447,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2297.21,2350.02,676.829),(357.76,359.463,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_tree_wind_dry_wet"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((333.842,2261.94,772.45),(357.76,359.463,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_tree_wind_dry_wet"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1119.9,2365.34,796.566),(357.76,359.463,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_tree_wind_dry_wet"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-903.803,2628.55,641.343),(354.871,26.0576,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1773.23,2481.44,555.669),(354.871,26.0576,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1496.38,-1053.81,677.601),(356.753,132.449,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1605.57,-257.68,425.676),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2730.39,186.123,277.604),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_metal_creak_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1167.18,2575.1,646.431),(354.871,26.0576,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_tree_move_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1004.95,1989.61,456.96),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_mosquito_buzz"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2346.79,695.907,583.328),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2551.29,1707.54,595.456),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2303.85,2289.6,550.494),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1716.95,2391.5,474.684),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1274.67,2391.99,489.222),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-872.386,2522.5,549.176),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-140.768,2485.93,564.159),(270,0,0)); + var_00.v["delay_min"] = 9; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((445.985,2453.53,568.248),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2401.16,1309.12,629.867),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "metal_clinks_flagpole"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1184.33,2431.57,536.703),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "metal_clinks_flagpole"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-963.578,2474.52,553.567),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "metal_clinks_flagpole"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((543.237,2448.03,564.817),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "metal_clinks_flagpole"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2132.45,2378.95,552.872),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-259.477,2495.03,598.245),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "metal_clinks_flagpole"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1689.75,-1006.88,442.98),(337.576,81.4347,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((339.269,-1023.44,184.306),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wave_crash_tiny"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-532.52,-1199.45,187.919),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wave_crash_tiny"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((54.3667,-995.067,190.533),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wave_crash_tiny"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3335.69,608.762,236.214),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wave_crash_tiny"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3363.6,106.126,206.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wave_crash_tiny"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1841.95,-1502.82,238.361),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wave_crash_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-183.902,-1738.55,121.779),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wave_crash_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-572.677,-1701.13,150.097),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wave_crash_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1575.22,-1537.07,252.939),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_wave_crash_tiny"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((268.173,-1759.32,159.977),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_wave_crash_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2722.36,-651.106,171.166),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_wave_crash_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-594.628,396.777,294.651),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-650.16,335.274,293.324),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-679.21,415.272,294.51),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-788.864,370.554,288.081),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-716.345,382.186,283.08),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_puddle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-712.178,330.546,290.846),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-769.966,405.815,288.128),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_leaf"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_levity_fx.gsc b/AW/PC/maps/createfx/mp_levity_fx.gsc new file mode 100644 index 0000000..af8c64b --- /dev/null +++ b/AW/PC/maps/createfx/mp_levity_fx.gsc @@ -0,0 +1,3002 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_levity_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 227 ms + * Timestamp: 4/22/2024 2:07:42 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-55.642,-4766.71,1294.77),(270,0,0)); + var_00.v["soundalias"] = "amb_mp_levity_ext"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((106.519,204.013,3015.12),(270,0,0)); + var_00.v["soundalias"] = "amb_mp_levity_ext_rear"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2386.84,-1969.6,1645.05),(270,0,0)); + var_00.v["soundalias"] = "amb_mp_levity_int_mech"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2725.67,-1987.04,1552.06),(270,0,0)); + var_00.v["soundalias"] = "amb_mp_levity_int_mech_rear"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-988.163,-3313.12,1419.57),(270,0,0)); + var_00.v["soundalias"] = "generator_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1496.19,-498.794,1553.94),(270,0,0)); + var_00.v["soundalias"] = "main_generator_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-575.078,-1413.53,1451.1),(270,0,0)); + var_00.v["soundalias"] = "hologram_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1378.93,-2559.78,1488.13),(270,0,0)); + var_00.v["soundalias"] = "hologram_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((771.916,-1060.09,1496.47),(270,0,0)); + var_00.v["soundalias"] = "server_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1096.67,-2889.5,1590.41),(270,0,0)); + var_00.v["soundalias"] = "server_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1131.56,-403.407,1636.63),(270,0,0)); + var_00.v["soundalias"] = "waterfall_near"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1123.05,24.7355,1619.08),(270,0,0)); + var_00.v["soundalias"] = "waterfall_dist"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((425.678,-3677.57,1394.78),(270,0,0)); + var_00.v["soundalias"] = "generator_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-436.391,-3663.94,1356.91),(270,0,0)); + var_00.v["soundalias"] = "main_generator_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-426.311,-3737.98,1358.15),(270,0,0)); + var_00.v["soundalias"] = "main_generator_pulse"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((425.772,-3747.15,1359.99),(270,0,0)); + var_00.v["soundalias"] = "main_generator_pulse"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((821.442,-1315.09,1486.13),(270,0,0)); + var_00.v["soundalias"] = "comp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1114.04,-939.945,1486.88),(270,0,0)); + var_00.v["soundalias"] = "comp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-183.807,-1594.94,1640.66),(270,0,0)); + var_00.v["soundalias"] = "comp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2.77753,-1630.09,1671.36),(270,0,0)); + var_00.v["soundalias"] = "server_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1554.46,-497.116,1529.46),(270,0,0)); + var_00.v["soundalias"] = "main_generator_pulse"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1554.4,-2873.67,1507.77),(270,0,0)); + var_00.v["soundalias"] = "comp_07"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((760.608,-245.765,1598.85),(270,0,0)); + var_00.v["soundalias"] = "wind_tunnel_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((749.407,275.022,1573.9),(270,0,0)); + var_00.v["soundalias"] = "wind_tunnel_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((499.485,-576,1713.68),(270,0,0)); + var_00.v["soundalias"] = "wind_tunnel_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-603.962,-681.592,1873),(270,0,0)); + var_00.v["soundalias"] = "wind_high_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1973.91,-651.818,1479.34),(270,0,0)); + var_00.v["soundalias"] = "wind_high_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-0.446523,-4042.49,1324.99),(270,0,0)); + var_00.v["soundalias"] = "wind_high_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((854.25,-2877.15,1731.19),(270,0,0)); + var_00.v["soundalias"] = "wind_high_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1408.76,-2434.44,1868.5),(270,0,0)); + var_00.v["soundalias"] = "wind_high_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1041.13,-1352.41,2092.77),(270,0,0)); + var_00.v["soundalias"] = "wind_high_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1449.78,-2348.53,1550.82),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_window_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2.92864,-3122.21,1451.63),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_door_heavy_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1812.05,-2239.87,1529),(270,0,0)); + var_00.v["soundalias"] = "sprayer"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1837.33,-1965.82,1521),(270,0,0)); + var_00.v["soundalias"] = "sprayer"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1830.03,-1855.27,1522),(270,0,0)); + var_00.v["soundalias"] = "sprayer"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1839.42,-1747.34,1529),(270,0,0)); + var_00.v["soundalias"] = "sprayer"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1845.99,-1472.98,1534),(270,0,0)); + var_00.v["soundalias"] = "sprayer"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((0.751843,-2145,1474.67),(270,0,0)); + var_00.v["soundalias"] = "mp_levity_warbird_hover"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4.55264,-2288.55,1512.85),(270,0,0)); + var_00.v["soundalias"] = "mp_levity_warbird_engine"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-186.147,-3025.69,1466.92),(270,0,0)); + var_00.v["soundalias"] = "ind_fan_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((193,-3019.33,1469.73),(270,0,0)); + var_00.v["soundalias"] = "ind_fan_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-5.78,-4111.37,1191.99),(270,0,0)); + var_00.v["soundalias"] = "waterfall_near"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-5.6,-4213.38,1286),(270,0,0)); + var_00.v["soundalias"] = "waterfall_dist"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3.46,-3638.95,1257.13),(270,0,0)); + var_00.v["soundalias"] = "emt_water_rush_under_ext"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-326.61,-3628.95,1296.13),(270,0,0)); + var_00.v["soundalias"] = "emt_water_rush_under_ext_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((321.91,-3686.36,1285.13),(270,0,0)); + var_00.v["soundalias"] = "emt_water_rush_under_ext_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((0.7,-2184.59,1280),(270,0,0)); + var_00.v["soundalias"] = "emt_water_rush_under_int"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-90.59,-1841.5,1280),(270,0,0)); + var_00.v["soundalias"] = "emt_water_rush_under_int_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((83.93,-1987.63,1280),(270,0,0)); + var_00.v["soundalias"] = "emt_water_rush_under_int_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-105.29,-2302.93,1280),(270,0,0)); + var_00.v["soundalias"] = "emt_water_rush_under_int_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((92.82,-2445.51,1280),(270,0,0)); + var_00.v["soundalias"] = "emt_water_rush_under_int_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1102.34,-3319.79,1451.17),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_lobby_entrance2_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((803.518,-100.595,1515.5),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_int_cement_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((425.485,5.23612,1522.58),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_int_hard_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((193,-3019.33,1470.73),(270,0,0)); + var_00.v["soundalias"] = "ind_fan_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((132.47,-774.068,1781.32),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_window_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((505.081,-564.003,1774.6),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_window_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((839.875,-2359.25,1503.76),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_door_heavy_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-163.664,-487.102,1786.29),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_window_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1.93053,-1243.67,1752.38),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_window_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-11.6473,-855.998,1771.25),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_door_heavy_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((761.972,-677.78,1540.4),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_tunnel_tone_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-931.886,-2467.65,1500.83),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_window_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1126.52,-3166.57,1425.58),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_door_heavy_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1080.27,-2880.4,1628.6),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_door_heavy_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1202.24,-2455.84,1526.94),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_door_heavy_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-664,-3094.43,1447.95),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_door_heavy_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1168.88,-3106.58,1510.97),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_door_heavy_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-805.544,-1862.42,1528.56),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_lobby_entrance_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1142.82,-901.354,1486.76),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1152.95,-1125.72,1473.62),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1315.97,-1151.06,1498.58),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_panel_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-680.027,-3089.66,1580.18),(270,0,0)); + var_00.v["soundalias"] = "ind_fan_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1130.72,-2969.12,1617.59),(270,0,0)); + var_00.v["soundalias"] = "ind_fan_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1415.05,-908.984,1504.69),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_panel_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1217.32,-914.9,1531.31),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1139.56,-1426.67,1531),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_lobby_entrance_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1380.49,-2947.7,1548.5),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_door_heavy_int_lp"; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_waterfall_playspacemist"); + var_00 common_scripts\_createfx::set_origin_and_angles((28.5067,-2337.85,985.422),(270,180,180)); + var_00.v["fxid"] = "mp_levity_waterfall_playspacemist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_waterfall_playspacemist"); + var_00 common_scripts\_createfx::set_origin_and_angles((10.6654,-3183.63,964.806),(270,180,180)); + var_00.v["fxid"] = "mp_levity_waterfall_playspacemist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-280.812,-1792.37,1455.62),(0,90,0)); + var_00.v["fxid"] = "falling_water_drip_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-394.523,-1789.25,1427.6),(0,90,0)); + var_00.v["fxid"] = "falling_water_drip_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((422.348,-1787.72,1418.44),(0,90,0)); + var_00.v["fxid"] = "falling_water_drip_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((850.128,-557.298,1854.18),(0,2,0)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_rotating_decal"); + var_00 common_scripts\_createfx::set_origin_and_angles((1033,-1030,1440),(270,180,71)); + var_00.v["fxid"] = "mp_levity_rotating_decal"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_rotating_decal"); + var_00 common_scripts\_createfx::set_origin_and_angles((816.5,-1210,1440),(270,0,110)); + var_00.v["fxid"] = "mp_levity_rotating_decal"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hologram"); + var_00 common_scripts\_createfx::set_origin_and_angles((1378.44,-2561.41,1521),(270,0,0)); + var_00.v["fxid"] = "mp_levity_hologram"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_drone_hologram"); + var_00 common_scripts\_createfx::set_origin_and_angles((-573.235,-1398.37,1463.1),(0.417665,113.69,0.70663)); + var_00.v["fxid"] = "mp_levity_drone_hologram"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1808.12,-1885.48,1560.88),(89.8681,235.349,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1808.81,-1852.86,1560.88),(89.8675,235.501,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1808.69,-1788.95,1560.88),(89.8683,235.265,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1808.53,-1757.43,1560.88),(89.8681,235.358,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1808.59,-1726.01,1560.88),(89.8677,235.482,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1809.18,-1949.56,1560.88),(89.8681,235.358,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1808.35,-1981.75,1560.88),(89.8681,235.349,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1860.85,-1982.57,1560.89),(89.8679,235.42,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1860.97,-1918.24,1560.89),(89.868,235.357,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1861.52,-1885.39,1560.88),(89.8681,235.358,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1808.46,-1917.47,1560.88),(89.8681,235.358,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1860.25,-1854.51,1560.89),(89.8679,235.42,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1860.72,-1822.82,1560.89),(89.8685,235.222,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1860.69,-1790.66,1560.89),(89.8679,235.42,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1861.08,-1758.85,1560.89),(89.8685,235.222,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1860.92,-1725.35,1560.88),(89.8681,235.358,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_steam_rising_indoor"); + var_00 common_scripts\_createfx::set_origin_and_angles((6.04876,-2436.5,1083),(270,0,0)); + var_00.v["fxid"] = "mp_levity_steam_rising_indoor"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1943.01,-2493.51,1532.88),(270,0,0)); + var_00.v["fxid"] = "mp_gb_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_drone_hover"); + var_00 common_scripts\_createfx::set_origin_and_angles((-92.6126,-2272.11,1403.63),(295,181,180)); + var_00.v["fxid"] = "mp_levity_drone_hover"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_drone_hover"); + var_00 common_scripts\_createfx::set_origin_and_angles((84.6489,-2274.05,1407.53),(299.063,356.88,3.60257)); + var_00.v["fxid"] = "mp_levity_drone_hover"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_distortion_heat"); + var_00 common_scripts\_createfx::set_origin_and_angles((-116.604,-2317.05,1515.79),(270,0,0)); + var_00.v["fxid"] = "mp_levity_distortion_heat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_distortion_heat"); + var_00 common_scripts\_createfx::set_origin_and_angles((124.694,-2314.71,1513.38),(270,0,0)); + var_00.v["fxid"] = "mp_levity_distortion_heat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_drone_hover"); + var_00 common_scripts\_createfx::set_origin_and_angles((-88.8146,-1998.2,1397.05),(295,181,180)); + var_00.v["fxid"] = "mp_levity_drone_hover"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_drone_hover"); + var_00 common_scripts\_createfx::set_origin_and_angles((86.3188,-2003.65,1399.95),(299.063,356.88,3.60257)); + var_00.v["fxid"] = "mp_levity_drone_hover"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_distortion_heat"); + var_00 common_scripts\_createfx::set_origin_and_angles((-95.6037,-2308.12,1454.71),(270,0,0)); + var_00.v["fxid"] = "mp_levity_distortion_heat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_distortion_heat"); + var_00 common_scripts\_createfx::set_origin_and_angles((83.5386,-2310.65,1455.3),(270,0,0)); + var_00.v["fxid"] = "mp_levity_distortion_heat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_distortion_heat"); + var_00 common_scripts\_createfx::set_origin_and_angles((25.7395,-2211.61,1462.05),(270,0,0)); + var_00.v["fxid"] = "mp_levity_distortion_heat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_distortion_heat"); + var_00 common_scripts\_createfx::set_origin_and_angles((-23.2437,-2212.61,1464.5),(270,0,0)); + var_00.v["fxid"] = "mp_levity_distortion_heat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ripple_flow_distortion"); + var_00 common_scripts\_createfx::set_origin_and_angles((1260.1,-662.49,1536.13),(270,0,91)); + var_00.v["fxid"] = "ripple_flow_distortion"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ripple_flow_distortion"); + var_00 common_scripts\_createfx::set_origin_and_angles((1282.68,-699.893,1536.13),(270,0,112)); + var_00.v["fxid"] = "ripple_flow_distortion"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_splash_ripple"); + var_00 common_scripts\_createfx::set_origin_and_angles((1274.54,-709.095,1536.12),(270,0,0)); + var_00.v["fxid"] = "mp_levity_splash_ripple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_steam_rising_indoor"); + var_00 common_scripts\_createfx::set_origin_and_angles((1365.61,-604.342,1538.47),(270,0,0)); + var_00.v["fxid"] = "mp_levity_steam_rising_indoor"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_smoke_vista"); + var_00 common_scripts\_createfx::set_origin_and_angles((16142.9,-12950.8,-515.086),(275,190,145)); + var_00.v["fxid"] = "mp_lev_smoke_vista"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_snowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22.8796,-3608.02,1448.17),(270,0,90)); + var_00.v["fxid"] = "ambient_snowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_snowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1460.24,-2747.56,1804.06),(270,0,90)); + var_00.v["fxid"] = "ambient_snowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_snowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1163.23,-2861.34,1784),(270,0,90)); + var_00.v["fxid"] = "ambient_snowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_snowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1723.01,-1434.55,1644.13),(270,0,90)); + var_00.v["fxid"] = "ambient_snowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_snowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((2157.17,-2283.5,1344),(270,0,90)); + var_00.v["fxid"] = "ambient_snowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_snowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1343.11,-1006.08,1870.98),(270,0,90)); + var_00.v["fxid"] = "ambient_snowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_snowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((184,-829.841,1942.73),(270,0,90)); + var_00.v["fxid"] = "ambient_snowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_snowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-763.781,-701.274,1873.26),(270,0,90)); + var_00.v["fxid"] = "ambient_snowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_snowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1661,-1395.33,1728.19),(270,0,90)); + var_00.v["fxid"] = "ambient_snowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_snowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1074.88,-624.369,1532.46),(270,0,90)); + var_00.v["fxid"] = "ambient_snowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((1388.76,-2914.27,1784),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((1448.66,-1576.35,1412),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_blowing_door_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1128.67,-3176.72,1332),(5.98605,16.9778,-0.420927)); + var_00.v["fxid"] = "snow_blowing_door_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_blowing_door_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1454.66,-2301.35,1465.5),(0,90,0)); + var_00.v["fxid"] = "snow_blowing_door_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_blowing_door_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((552.951,-2875.02,1525),(0,0,0)); + var_00.v["fxid"] = "snow_blowing_door_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1319.18,-1115.59,1606.75),(279.1,270,0)); + var_00.v["fxid"] = "snow_tornado_s_runner"; + var_00.v["delay"] = 0; + var_00.v["soundalias"] = "emt_fan_big_ext_lp"; + var_00 = common_scripts\utility::createoneshoteffect("snow_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1415.43,-1116.42,1606.61),(279.1,270,0)); + var_00.v["fxid"] = "snow_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_ceiling_fan_lp"; + var_00 = common_scripts\utility::createoneshoteffect("snow_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1221.09,-1115.57,1606.75),(279.1,270,0)); + var_00.v["fxid"] = "snow_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_ind_fan_sml_lp"; + var_00 = common_scripts\utility::createoneshoteffect("snow_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1220.53,-941.752,1606.74),(279.1,90,0)); + var_00.v["fxid"] = "snow_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_ceiling_fan_lp"; + var_00 = common_scripts\utility::createoneshoteffect("snow_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1319.37,-941.549,1606.71),(279.1,90,0)); + var_00.v["fxid"] = "snow_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fan_big_ext_lp"; + var_00 = common_scripts\utility::createoneshoteffect("snow_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1416.87,-941.732,1603.74),(279.1,90,0)); + var_00.v["fxid"] = "snow_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_ind_fan_sml_lp"; + var_00 = common_scripts\utility::createoneshoteffect("snow_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1745.32,-2410.94,1520.2),(270,0,0)); + var_00.v["fxid"] = "snow_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1744.2,-2347.65,1514.46),(270,0,0)); + var_00.v["fxid"] = "snow_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((734.845,-23.5602,1743.11),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_caves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((678.332,26.2023,1747.46),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_caves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((575.931,50.3368,1756.16),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_caves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((471.725,39.978,1741.73),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_caves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((381.384,21.1386,1716.39),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_caves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((781.508,225.737,1675.62),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_caves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((671.749,230.843,1664.73),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_caves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1934.02,-2417.1,1686.64),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1932.08,-2499.42,1683.83),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1952,-2632.12,1693.63),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1932.01,-2723.54,1683.86),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1861.34,-1950.71,1560.89),(89.8679,235.42,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1808.19,-1821.73,1560.88),(89.8681,235.349,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1859.64,-1523.95,1560.88),(89.868,235.357,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1860.85,-1491.63,1560.88),(89.8681,235.349,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1860.68,-1459.46,1560.88),(89.8681,235.358,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1860.76,-1427.1,1560.88),(89.868,235.407,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1808.23,-1427.43,1560.88),(89.8681,235.358,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1808.26,-1460.3,1560.88),(89.868,235.357,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1809.01,-1492.39,1560.89),(89.8681,235.313,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1808.58,-1525.01,1560.89),(89.8677,235.385,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1860.26,-2220.6,1560.89),(89.8679,235.42,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1860.94,-2187.44,1560.88),(89.8681,235.358,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1808.05,-2219.69,1560.88),(89.8681,235.349,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1808.98,-2187.96,1560.89),(89.8677,235.482,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1808.87,-2252.49,1560.89),(89.8681,235.313,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1808.6,-2284.45,1560.89),(89.8681,235.313,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1860.71,-2283.79,1560.88),(89.8681,235.349,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1861.08,-2250.86,1560.88),(89.8675,235.501,0)); + var_00.v["fxid"] = "mp_lev_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hanging_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2004.83,-2113.09,1551.66),(90,0,0)); + var_00.v["fxid"] = "mp_levity_hanging_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hanging_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2002.99,-1905.24,1554.66),(90,0,0)); + var_00.v["fxid"] = "mp_levity_hanging_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hanging_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2001.67,-1696.03,1555.66),(90,0,0)); + var_00.v["fxid"] = "mp_levity_hanging_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hanging_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2003.41,-1488.08,1555.66),(90,0,0)); + var_00.v["fxid"] = "mp_levity_hanging_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_snowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1031.89,-3782.81,1202.62),(270,0,90)); + var_00.v["fxid"] = "ambient_snowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_snowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-635.513,-4037.49,1304.08),(270,0,90)); + var_00.v["fxid"] = "ambient_snowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_snowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1653.83,-3668.41,1489.31),(270,0,90)); + var_00.v["fxid"] = "ambient_snowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hanging_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1565.52,-1680.09,1483.55),(0,270,0)); + var_00.v["fxid"] = "mp_levity_hanging_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hanging_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1559.44,-2039.41,1484.37),(0,90,0)); + var_00.v["fxid"] = "mp_levity_hanging_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-998.106,-967.727,1495.12),(270,0,90)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1044.57,-514.135,1510.44),(270,0,90)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1787.53,-39.9484,1688.41),(270,0,90)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((570.152,-297.849,2084.81),(270,0,90)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_blown_off_rocks_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((769.82,-447.231,2006.65),(0,90,0)); + var_00.v["fxid"] = "snow_blown_off_rocks_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_light_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1385.49,-2762.19,1785),(0,90,0)); + var_00.v["fxid"] = "ground_snow_light_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1400.57,-2929.37,1380.13),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1002.09,-857.086,1441.13),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-903.858,-781.301,1426.21),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1742.14,-815.635,1431.07),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1709.16,-1013.3,1427.13),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2393.33,724.209,1516.81),(270,0,74)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3465.17,1009.24,1118.26),(270,0,84)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1091.85,-3195.21,1935),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-817.829,-3204.85,1935),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1917.96,-3067.72,1833),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1379.45,-2970.39,1792),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1389.4,-2361.87,1699),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((1293.26,-2461.46,1691.13),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1993.6,-1342.77,1691),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((19.8626,-1725.31,2145.13),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((542.811,-874.995,1657.13),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1714.56,-463.249,1454.79),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1656.65,-3490.72,1359.75),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1731.78,-3777.65,1216.23),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3714.68,-2026.94,1947.88),(270,0,0)); + var_00.v["fxid"] = "mp_gb_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hanging_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((199.176,-373.82,1789),(90,0,0)); + var_00.v["fxid"] = "mp_levity_hanging_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hanging_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((225.736,-387.902,1788),(90,0,0)); + var_00.v["fxid"] = "mp_levity_hanging_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hanging_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((239.052,-367.217,1796.26),(90,0,0)); + var_00.v["fxid"] = "mp_levity_hanging_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hanging_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((83.3626,-1286.68,1766.3),(41.1859,180,0)); + var_00.v["fxid"] = "mp_levity_hanging_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hanging_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-101.733,-1265.18,1777.1),(41.1858,0,0)); + var_00.v["fxid"] = "mp_levity_hanging_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hanging_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-312.707,-723.41,1785.5),(90,0,0)); + var_00.v["fxid"] = "mp_levity_hanging_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hanging_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-292.38,-755.832,1785.5),(90,0,0)); + var_00.v["fxid"] = "mp_levity_hanging_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hanging_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-321.117,-785.853,1785.5),(90,0,0)); + var_00.v["fxid"] = "mp_levity_hanging_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((124.875,-607.985,1605.88),(0,180,0)); + var_00.v["fxid"] = "mp_gb_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_smoke_vista"); + var_00 common_scripts\_createfx::set_origin_and_angles((1020.7,-12841.9,-143.326),(275,190,93)); + var_00.v["fxid"] = "mp_lev_smoke_vista"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_smoke_vista"); + var_00 common_scripts\_createfx::set_origin_and_angles((3709.7,-29884.8,-254.446),(275,190,90)); + var_00.v["fxid"] = "mp_lev_smoke_vista"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((1134.39,-1968.03,1409),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((977.567,-2345.81,1410),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_light_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((556.428,-3147.74,1323),(0,84,0)); + var_00.v["fxid"] = "ground_snow_light_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-527.294,-712.379,1603.43),(53.8717,232.715,-178.245)); + var_00.v["fxid"] = "mp_lev_steam2"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_freezer_fan_lp"; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_machineroom_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2271.55,-2168.25,1154.17),(270,0,0)); + var_00.v["fxid"] = "mp_levity_machineroom_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_machineroom_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2247.58,-1906.85,1101.51),(270,0,0)); + var_00.v["fxid"] = "mp_levity_machineroom_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((579.496,-118.752,1775.45),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_caves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((11.5375,-3377.03,1298.13),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-544.613,-3291.53,1334.13),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-951.334,-928.685,1440.13),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((2075.44,-1739.38,1347.75),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((2069.01,-2166.82,1346.83),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((2479.54,-1947.53,1335.45),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((2397.2,-1700.22,1330.7),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((2670.74,-1580.36,1319.96),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((1558.03,-1686.86,1408.13),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((1512.72,-1853.29,1411.13),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((2086.98,-2072.16,1345),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((2116.48,-1546.53,1345),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((2428.9,-1817.79,1338.14),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((2417.54,-2222.93,1337.66),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((2638.8,-2296.63,1334.64),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((2751.38,-1896.25,1337.55),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((2791.58,-1637.79,1327.09),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((1882.43,-2433.91,1385),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((1650.52,-2631.72,1385),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((1482.85,-3144.46,1321.12),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((1292.79,-3201.93,1323.13),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((931.532,-3491.45,1321.13),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-781.972,-3237.19,1329.13),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1693.88,-675.539,1437.8),(270,0,90)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((694.61,-658.816,1660.13),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-322.003,-934.2,1626.23),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((377.688,-711.637,1657.13),(271,360,85)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((1472.21,-1377.48,1409.13),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1804.1,-2833.01,1428.13),(270,0,0)); + var_00.v["fxid"] = "snow_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((668.487,-1099.02,1659.53),(270,0,0)); + var_00.v["fxid"] = "snow_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((953.579,-1970.25,1417.13),(270,0,0)); + var_00.v["fxid"] = "snow_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-395.568,104.626,2628.55),(270,0,90)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1386.34,198.204,2399.42),(270,0,90)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1017.36,-106.477,1626.59),(273,248,-175)); + var_00.v["fxid"] = "waterfall_splash_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1199.38,-89.8871,1647.8),(273,248,-152)); + var_00.v["fxid"] = "waterfall_splash_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1161.7,-119.535,1643.52),(273,248,-148)); + var_00.v["fxid"] = "waterfall_splash_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1053.3,-115.461,1638.19),(273,248,-165)); + var_00.v["fxid"] = "waterfall_splash_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1100.41,-159.267,1639.23),(273,248,-162)); + var_00.v["fxid"] = "waterfall_splash_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1189.55,14.6032,1880.79),(273,248,-167)); + var_00.v["fxid"] = "waterfall_splash_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1049.11,-147.129,1490.84),(273,248,176)); + var_00.v["fxid"] = "waterfall_splash_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1121.64,-174.354,1498.24),(273,248,-151)); + var_00.v["fxid"] = "waterfall_splash_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1174.28,-131.641,1492.71),(272.431,230.485,-105.504)); + var_00.v["fxid"] = "waterfall_splash_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1019.55,-172.202,1305.11),(273,248,-171)); + var_00.v["fxid"] = "waterfall_splash_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1089.1,-185.251,1316.51),(273,248,-154)); + var_00.v["fxid"] = "waterfall_splash_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((856.124,-392.705,1619.61),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((850.646,-295.285,1618),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((1314.71,-538.358,1846.86),(270,0,-22)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1161.04,-35.5629,1797.56),(273,248,179)); + var_00.v["fxid"] = "waterfall_splash_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1032.04,57.4253,1981.56),(273,248,-107)); + var_00.v["fxid"] = "waterfall_splash_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_waterfall_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((1200.97,322.486,2677.18),(2.97158,264.011,0.400269)); + var_00.v["fxid"] = "mp_levity_waterfall_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_waterfall_b"); + var_00 common_scripts\_createfx::set_origin_and_angles((1101.53,-38.6027,1740.06),(0,267,0)); + var_00.v["fxid"] = "mp_levity_waterfall_b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1376.12,211.824,2514.51),(273,248.012,-163.014)); + var_00.v["fxid"] = "waterfall_splash_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1299.98,134.536,2175.64),(272.714,228.669,164.306)); + var_00.v["fxid"] = "waterfall_splash_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1229.71,69.9776,1973.32),(273,248,175)); + var_00.v["fxid"] = "waterfall_splash_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_waterfall_d"); + var_00 common_scripts\_createfx::set_origin_and_angles((-151.946,-3522.13,606.734),(348,267,0)); + var_00.v["fxid"] = "mp_levity_waterfall_d"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((996.583,-298.821,866.405),(270,0,82)); + var_00.v["fxid"] = "waterfall_splash_base_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1115.12,-315.94,861.198),(273,262,178)); + var_00.v["fxid"] = "waterfall_splash_base_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1281.14,-244.031,859.766),(270,180,-109)); + var_00.v["fxid"] = "waterfall_splash_base_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1175.49,-293.137,865.027),(270,0,82)); + var_00.v["fxid"] = "waterfall_splash_base_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1128.79,-60.2768,1671.34),(302.693,269.331,171.631)); + var_00.v["fxid"] = "waterfall_splash_base_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1093.98,-39.0702,1666.47),(310.623,267.549,173.065)); + var_00.v["fxid"] = "waterfall_splash_base_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_river_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((120.393,-1963.44,636.731),(270,0,65)); + var_00.v["fxid"] = "mp_levity_river_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1053.91,-34.0275,1778.31),(273,248,-138)); + var_00.v["fxid"] = "waterfall_splash_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1260.83,113.797,2075.38),(272.714,228.667,174.307)); + var_00.v["fxid"] = "waterfall_splash_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1372.78,132.785,2400.86),(272.714,228.669,164.306)); + var_00.v["fxid"] = "waterfall_splash_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1345.91,292.634,2615.47),(273,248.015,-175.018)); + var_00.v["fxid"] = "waterfall_splash_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1045.57,278.547,2609.81),(273,248.019,-133.022)); + var_00.v["fxid"] = "waterfall_splash_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1129.37,128.964,2089.71),(271.349,170.982,-85.0165)); + var_00.v["fxid"] = "waterfall_splash_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((999.554,-16.5702,1945.79),(273,248,-82)); + var_00.v["fxid"] = "waterfall_splash_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1357.6,154.658,2283.68),(272.714,228.669,155.306)); + var_00.v["fxid"] = "waterfall_splash_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1099.14,-238.768,918.906),(270,0,82)); + var_00.v["fxid"] = "waterfall_splash_base_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1167.49,-138.735,1331.49),(273,248,-131)); + var_00.v["fxid"] = "waterfall_splash_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_lg_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((68.7166,-4747.97,-659.827),(270,0,95)); + var_00.v["fxid"] = "waterfall_splash_base_lg_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1186.82,197.299,2173.78),(273,248.037,-179.041)); + var_00.v["fxid"] = "waterfall_splash_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_lg_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-143.003,-4810.6,-590.863),(270,0,82)); + var_00.v["fxid"] = "waterfall_splash_base_lg_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1138.76,-233.78,985.472),(300.525,250.585,-157.084)); + var_00.v["fxid"] = "waterfall_splash_base_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1114.29,42.0037,1956.32),(0,270,-180)); + var_00.v["fxid"] = "waterfall_splash_base_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1207.87,124.266,2126.91),(1.12136,241.01,-179.708)); + var_00.v["fxid"] = "waterfall_splash_base_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1111.79,-145.911,1441.7),(0,279,-180)); + var_00.v["fxid"] = "waterfall_splash_base_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1099.87,-172.764,1216.94),(0,287,-180)); + var_00.v["fxid"] = "waterfall_splash_base_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1290.03,270.641,2332.33),(1.15646,223.007,179.931)); + var_00.v["fxid"] = "waterfall_splash_base_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_river_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((258.773,-1700.48,695.114),(270,0,56)); + var_00.v["fxid"] = "mp_levity_river_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_river_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-41.0895,-2603.47,632.422),(270,0,82)); + var_00.v["fxid"] = "mp_levity_river_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_lg_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-399.504,-4729.11,-626.58),(270,0,70)); + var_00.v["fxid"] = "waterfall_splash_base_lg_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_electrical_arc_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2305.82,-1885.74,1036.13),(70,269,0)); + var_00.v["fxid"] = "mp_lev_electrical_arc_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_electrical_arc_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2372.55,-2164.69,1062.13),(270,0,0)); + var_00.v["fxid"] = "mp_lev_electrical_arc_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1106.97,170.193,2241.74),(0.55084,288.012,-178.981)); + var_00.v["fxid"] = "waterfall_splash_base_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1196.31,265.372,2459.22),(1.10419,244.011,-179.65)); + var_00.v["fxid"] = "waterfall_splash_base_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1100.62,-26.0915,1857.33),(1.03563,253.012,-179.482)); + var_00.v["fxid"] = "waterfall_splash_base_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_waterfall_mist_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1141.07,-339.676,1198.19),(270,0,0)); + var_00.v["fxid"] = "mp_levity_waterfall_mist_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_lg_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-435.604,-3436.19,608.448),(270,0,82)); + var_00.v["fxid"] = "waterfall_splash_base_lg_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_lg_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((139.163,-3382.29,639.359),(270,0,82)); + var_00.v["fxid"] = "waterfall_splash_base_lg_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-464.025,-4039.84,281.804),(6.04341,290.315,-176.984)); + var_00.v["fxid"] = "waterfall_splash_base_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-451.075,-4200.77,125.693),(359.531,299.988,172.964)); + var_00.v["fxid"] = "waterfall_splash_base_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-462.1,-4298.54,-2.01227),(359.531,299.988,175.964)); + var_00.v["fxid"] = "waterfall_splash_base_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-460.163,-4511.15,-273.826),(359.531,299.988,-177.036)); + var_00.v["fxid"] = "waterfall_splash_base_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((79.4313,-3979.19,414.465),(346.462,253.521,177.161)); + var_00.v["fxid"] = "waterfall_splash_base_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((55.4082,-4134.08,269.807),(347.867,253.416,174.536)); + var_00.v["fxid"] = "waterfall_splash_base_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((64.7418,-4252.89,49.0311),(348.169,256.467,173.902)); + var_00.v["fxid"] = "waterfall_splash_base_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((143.718,-4511.29,-448.186),(346.745,224.722,-179.031)); + var_00.v["fxid"] = "waterfall_splash_base_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((125.133,-4539.8,-292.64),(346.745,224.722,-179.031)); + var_00.v["fxid"] = "waterfall_splash_base_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_lg_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-579.912,-4900.46,-611.013),(270,0,70)); + var_00.v["fxid"] = "waterfall_splash_base_lg_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("waterfall_splash_base_lg_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((199.148,-4848.45,-623.181),(270,0,70)); + var_00.v["fxid"] = "waterfall_splash_base_lg_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2150.92,-1506.89,1447.9),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-69.2837,-781.84,2444.07),(270,0,90)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-92.8297,70.0337,2773.04),(270,0,90)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((530.542,132.054,2590.3),(270,0,90)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1988.29,183.53,2478.38),(270,0,90)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((507.834,-475.267,2013.21),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((667.498,-472.824,2010.01),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-467.532,-684.976,1881),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((1433.12,112.065,2540.03),(270,0,0)); + var_00.v["fxid"] = "falling_snow_runner_far"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((1529.28,36.3224,2534.77),(270,0,0)); + var_00.v["fxid"] = "falling_snow_runner_far"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_runner_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1322.71,177.251,2378.11),(270,0,0)); + var_00.v["fxid"] = "falling_snow_runner_far"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_ice_runner_far"); + var_00 common_scripts\_createfx::set_origin_and_angles((673.354,1034.37,1637.75),(270,0,0)); + var_00.v["fxid"] = "falling_ice_runner_far"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((732.871,408.804,1538),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((788.351,340.268,1563.25),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((580.294,-1578.36,1468),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((606.891,-1881.09,1453),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((676.427,-2361.07,1453),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2020.97,-1618.8,1472.13),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2020.02,-1957.51,1461.13),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2017.62,-2160.78,1451.13),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((17.5983,-1265.79,1662.13),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((1174.94,-2884.23,1544.5),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((1386.63,-2867.09,1457.5),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1133.18,-3056.07,1382),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-999.094,-2828.42,1518),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20.9253,-395.548,1702),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12.8666,-2.67873,1947.6),(270,0,0)); + var_00.v["fxid"] = "mp_gb_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-0.220769,-419.053,1482.25),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((4.41393,-516.367,1469.25),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18.4765,-872.735,1474.25),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-29.7263,-796.391,1475),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6.59705,-615.355,1481.54),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15.3579,-147.042,1660),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-95.9536,-1644.78,1592),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((145.146,-1571.07,1592),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((733.85,-63.4539,1521.25),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_drips_metal_splat_lp"; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((537.105,-67.4912,1521.25),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_drips_int_hard_lp"; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-885.05,-2648.21,1435),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-619.631,-2636.11,1435),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_electrical_arc_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3246.64,-2086.1,1033.98),(270,0,0)); + var_00.v["fxid"] = "mp_lev_electrical_arc_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_electrical_arc_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3794.71,-2163.42,1546.74),(270,0,0)); + var_00.v["fxid"] = "mp_lev_electrical_arc_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_waterfall_mist_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-171.654,-3793.51,521.815),(270,0,0)); + var_00.v["fxid"] = "mp_levity_waterfall_mist_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_waterfall_mist_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-197.953,-4812.61,-584.329),(270,0,0)); + var_00.v["fxid"] = "mp_levity_waterfall_mist_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_waterfall_mist_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((1121.46,41.951,1975.75),(270,0,90)); + var_00.v["fxid"] = "mp_levity_waterfall_mist_03"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_waterfall_mist_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((1098.56,-96.5318,1759.84),(270,0,90)); + var_00.v["fxid"] = "mp_levity_waterfall_mist_03"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((1544.29,-235.393,1845.84),(270,0,-50)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((1460.68,-309.087,1845.86),(270,0,-50)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1443.98,-2208.52,2064),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1544.88,-2212.32,2058),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_screen_drops_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1060.98,-592.67,1614.36),(270,0,0)); + var_00.v["fxid"] = "mp_levity_screen_drops_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_screen_drops_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((15.7747,-1984.01,1241),(270,0,0)); + var_00.v["fxid"] = "mp_levity_screen_drops_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_screen_drops_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1.83521,-2285.71,1280.54),(270,0,0)); + var_00.v["fxid"] = "mp_levity_screen_drops_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_screen_drops_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((1391.87,-599.884,1666.46),(270,0,0)); + var_00.v["fxid"] = "mp_levity_screen_drops_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((1064.2,-1341.51,1741.69),(0,0,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((-949.395,-3392.95,1394),(0,270,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((790.204,-3630.88,1343.94),(0,270,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((1024.85,-2164.72,1727.11),(33.8751,319.012,-24.6495)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((1027.03,-2161.37,1690.09),(34.6895,321.223,-23.4041)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((1026.77,-2164.58,1650.94),(34.6895,321.223,-23.404)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((1028.69,-2160.45,1588.61),(32.132,314.719,-26.9893)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((1029.03,-2161.48,1547.25),(32.132,314.719,-26.9893)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_vent_water_air_huge_lp"; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_waterfall_playspacemist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-0.605777,-2406.61,1286.13),(270,0,0)); + var_00.v["fxid"] = "mp_levity_waterfall_playspacemist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_waterfall_playspacemist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16.1888,-2120.48,1219),(270,0,0)); + var_00.v["fxid"] = "mp_levity_waterfall_playspacemist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_waterfall_playspacemist"); + var_00 common_scripts\_createfx::set_origin_and_angles((5.6629,-1924.81,1276),(270,0,0)); + var_00.v["fxid"] = "mp_levity_waterfall_playspacemist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_machineroom_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2816.31,-2168.84,1082.97),(270,0,0)); + var_00.v["fxid"] = "mp_levity_machineroom_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_machineroom_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2802.26,-1932.08,985.964),(270,0,0)); + var_00.v["fxid"] = "mp_levity_machineroom_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_machineroom_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3256.57,-1912.52,1186.13),(270,0,0)); + var_00.v["fxid"] = "mp_levity_machineroom_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_welding_sparks_room_md"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2483.3,-1972.35,817.335),(270,0,0)); + var_00.v["fxid"] = "light_welding_sparks_room_md"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_welding_sparks_room_md"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3602.28,-2129.32,862.842),(270,0,0)); + var_00.v["fxid"] = "light_welding_sparks_room_md"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("welding_sparks_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2372.14,-1928.69,835.636),(270,0,0)); + var_00.v["fxid"] = "welding_sparks_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("welding_sparks_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3774.17,-2110.73,1709.21),(270,0,-18)); + var_00.v["fxid"] = "welding_sparks_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_drone_arc"); + var_00 common_scripts\_createfx::set_origin_and_angles((-77.8873,-1979.02,1451.99),(295,0,180)); + var_00.v["fxid"] = "mp_levity_drone_arc"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_electrical_arc_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2883.61,-1914.32,1225.72),(273.924,301.588,-180)); + var_00.v["fxid"] = "mp_lev_electrical_arc_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_puff_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1187.53,-2.49008,2010.1),(270,0,90)); + var_00.v["fxid"] = "snow_light_wind_puff_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_puff_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1391.3,-41.099,2008.9),(270,0,90)); + var_00.v["fxid"] = "snow_light_wind_puff_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_puff_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-395.783,-28.8964,2378.22),(270,0,90)); + var_00.v["fxid"] = "snow_light_wind_puff_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_drone_arc"); + var_00 common_scripts\_createfx::set_origin_and_angles((70.2016,-2257.55,1434.71),(299.5,180,0)); + var_00.v["fxid"] = "mp_levity_drone_arc"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_drone_arc"); + var_00 common_scripts\_createfx::set_origin_and_angles((69.844,-2297.85,1434.51),(299.5,180,180)); + var_00.v["fxid"] = "mp_levity_drone_arc"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_drone_arc"); + var_00 common_scripts\_createfx::set_origin_and_angles((77.7247,-1978.5,1448.45),(292.6,180,0)); + var_00.v["fxid"] = "mp_levity_drone_arc"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_drone_arc"); + var_00 common_scripts\_createfx::set_origin_and_angles((77.7188,-2019.52,1448.44),(292.6,180,180)); + var_00.v["fxid"] = "mp_levity_drone_arc"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_drone_arc"); + var_00 common_scripts\_createfx::set_origin_and_angles((-73.8268,-2297.95,1443.24),(297.5,360,0)); + var_00.v["fxid"] = "mp_levity_drone_arc"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_drone_arc"); + var_00 common_scripts\_createfx::set_origin_and_angles((-73.6815,-2258.17,1443.16),(297.5,360,-180)); + var_00.v["fxid"] = "mp_levity_drone_arc"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_drone_arc"); + var_00 common_scripts\_createfx::set_origin_and_angles((-79.1297,-2018.71,1452.57),(295,0,0)); + var_00.v["fxid"] = "mp_levity_drone_arc"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_waterfall_c"); + var_00 common_scripts\_createfx::set_origin_and_angles((1123.43,-122.244,1732.1),(2.87225,273.022,0.860227)); + var_00.v["fxid"] = "mp_levity_waterfall_c"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_snowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1032.1,-1894.26,1791.88),(270,0,90)); + var_00.v["fxid"] = "ambient_snowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("frost_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((491.19,-30.9833,1586.52),(270,0,0)); + var_00.v["fxid"] = "frost_patch"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("frost_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((728.705,29,1565.53),(270,0,0)); + var_00.v["fxid"] = "frost_patch"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("frost_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((654.973,-1110.52,1659.13),(270,0,0)); + var_00.v["fxid"] = "frost_patch"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("frost_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((950.193,-1944.21,1411.13),(270,0,0)); + var_00.v["fxid"] = "frost_patch"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("frost_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1317.89,-1919.93,1409.13),(270,0,-91)); + var_00.v["fxid"] = "frost_patch"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("frost_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-999.194,-2008.77,1411.13),(270,0,0)); + var_00.v["fxid"] = "frost_patch"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("frost_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1059.7,-1715.86,1408.13),(270,0,0)); + var_00.v["fxid"] = "frost_patch"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_rotating_decal_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((971,-955.5,1440),(270,180,71)); + var_00.v["fxid"] = "mp_levity_rotating_decal_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_rotating_decal_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((912,-1228,1440),(270,180,71)); + var_00.v["fxid"] = "mp_levity_rotating_decal_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_drone_arclight"); + var_00 common_scripts\_createfx::set_origin_and_angles((69.6625,-2275.86,1431.54),(299.5,180,180)); + var_00.v["fxid"] = "mp_levity_drone_arclight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_drone_arclight"); + var_00 common_scripts\_createfx::set_origin_and_angles((-64.9311,-2286.76,1438.61),(299.5,180,180)); + var_00.v["fxid"] = "mp_levity_drone_arclight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_drone_arclight"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82.3459,-1997.66,1451.32),(299.5,180,180)); + var_00.v["fxid"] = "mp_levity_drone_arclight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_drone_arclight"); + var_00 common_scripts\_createfx::set_origin_and_angles((80.976,-1997.88,1453.09),(299.5,180,180)); + var_00.v["fxid"] = "mp_levity_drone_arclight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((747.909,224.132,1683.05),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_caves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((751.756,230.903,1681.62),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_caves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_godray_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-129.926,-2032.62,1463.56),(63.2077,133.142,-48.8197)); + var_00.v["fxid"] = "mp_lev_godray_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_godray_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-132.88,-1882.74,1421.76),(63.2077,133.142,-48.8197)); + var_00.v["fxid"] = "mp_lev_godray_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_godray_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-179.818,-2402.37,1524.37),(63.2077,133.142,-48.8197)); + var_00.v["fxid"] = "mp_lev_godray_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_godray_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2.95385,-2448.25,1600.13),(63.2077,133.142,-48.8197)); + var_00.v["fxid"] = "mp_lev_godray_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_godray_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-131.813,-1648.45,1501.06),(57.2211,140.707,-36.9373)); + var_00.v["fxid"] = "mp_lev_godray_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((867.714,-1947.58,2115.04),(28.9946,0.551992,1.14293)); + var_00.v["fxid"] = "mp_levity_spot_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((867.714,-1319.42,2115.65),(28.9946,0.551992,1.14293)); + var_00.v["fxid"] = "mp_levity_spot_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((715.2,-1161.79,2114.52),(26.0093,83.0562,-179.865)); + var_00.v["fxid"] = "mp_levity_spot_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((119.363,-1161.79,2114.87),(0,90,0)); + var_00.v["fxid"] = "mp_levity_spot_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-599.348,-1161.79,2114.85),(26.0093,83.0562,-179.865)); + var_00.v["fxid"] = "mp_levity_spot_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1633.17,-2979.94,1780.1),(0,327.8,0)); + var_00.v["fxid"] = "mp_levity_spot_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1633.82,-2762.02,1780.6),(18.4574,55.703,24.4036)); + var_00.v["fxid"] = "mp_levity_spot_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1437.56,-1596.49,2173.64),(0,90,0)); + var_00.v["fxid"] = "mp_levity_spot_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1846.87,-1596.49,2173.7),(0,90,0)); + var_00.v["fxid"] = "mp_levity_spot_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2254.32,-1596.49,2173.14),(26.0093,83.0562,-179.865)); + var_00.v["fxid"] = "mp_levity_spot_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2264.99,-1663.13,2573.3),(28.9946,0.551992,1.14293)); + var_00.v["fxid"] = "mp_levity_spot_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2264.99,-2021.7,2572.76),(28.9946,0.551992,1.14293)); + var_00.v["fxid"] = "mp_levity_spot_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1151.22,-3461.41,1597.93),(18,270,0)); + var_00.v["fxid"] = "mp_levity_spot_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((231.9,-3974.78,1619.06),(67.7143,270,-90)); + var_00.v["fxid"] = "mp_levity_spot_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-232.756,-3973.23,1618.42),(67.7143,270,-90)); + var_00.v["fxid"] = "mp_levity_spot_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1439.51,-2117.01,2172.88),(0,270,0)); + var_00.v["fxid"] = "mp_levity_spot_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1847.41,-2117.01,2174.08),(0,270,0)); + var_00.v["fxid"] = "mp_levity_spot_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((231.026,-3892.15,1619.7),(67.7143,90,-90)); + var_00.v["fxid"] = "mp_levity_spot_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-231.758,-3893.15,1618.29),(67.7143,90,-90)); + var_00.v["fxid"] = "mp_levity_spot_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5002.89,-1154.99,2923.26),(26.0093,83.0562,-179.865)); + var_00.v["fxid"] = "mp_levity_spot_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4330.73,-1155.01,2923.68),(26.0093,83.0562,-179.865)); + var_00.v["fxid"] = "mp_levity_spot_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4259.99,-2497.98,2925.93),(28.9946,0.551992,1.14293)); + var_00.v["fxid"] = "mp_levity_spot_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4258.51,-3440.72,2572.89),(29.0097,359.409,0.588602)); + var_00.v["fxid"] = "mp_levity_spot_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_fan_01_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-104.761,-1663.5,1341.74),(270,0,90)); + var_00.v["fxid"] = "mp_levity_fan_01_lp"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "ind_fan_01"; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_fan_01_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1.58006,-1663.5,1349.75),(270,0,90)); + var_00.v["fxid"] = "mp_levity_fan_01_lp"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fan_big_lp"; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_fan_01_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((107.095,-1663.5,1343),(270,0,90)); + var_00.v["fxid"] = "mp_levity_fan_01_lp"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "ind_fan_02"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((425.838,-3726.09,1364.43),(0,269,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents_turb"); + var_00 common_scripts\_createfx::set_origin_and_angles((425.838,-3726.09,1364.43),(0,269,0)); + var_00.v["fxid"] = "mp_lev_steam_vents_turb"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "cg"; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1359.19,-3123.42,1391.13),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_blowing_door_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1134.62,-1430.92,1449),(359.86,359,0)); + var_00.v["fxid"] = "snow_blowing_door_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1065.72,-1449.67,1452),(270,0,0)); + var_00.v["fxid"] = "snow_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1860.43,-3381.31,1736),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1808.9,-3366.33,1739),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((-427.215,-3718.6,1361.53),(0,270,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents_turb"); + var_00 common_scripts\_createfx::set_origin_and_angles((-427.215,-3718.6,1361.53),(0,270,0)); + var_00.v["fxid"] = "mp_lev_steam_vents_turb"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "cg"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1550.28,-501.833,1537.58),(18.5954,180,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents_turb"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1550.28,-501.833,1537.58),(18.5954,180,0)); + var_00.v["fxid"] = "mp_lev_steam_vents_turb"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "cg"; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1381.86,-3149.74,1340.13),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((836.531,-3541.62,1321),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((935.495,-3366.6,1667.48),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-706.02,-3289.52,1344.13),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((981.799,-3482.93,1335),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1475.47,-3212.7,1326.13),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2581.91,-2811.21,1188.38),(270,0,80)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2083.01,-2992.32,1155.17),(270,0,89)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2253.74,-2943.38,1218.03),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2225.24,-2931.24,1227.45),(0.556183,93.9611,-7.98079)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hologram_satellite"); + var_00 common_scripts\_createfx::set_origin_and_angles((1378.44,-2561.41,1521),(296,11,0)); + var_00.v["fxid"] = "mp_levity_hologram_satellite"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hologram_satellite_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1378.44,-2561.41,1521),(304,180,180)); + var_00.v["fxid"] = "mp_levity_hologram_satellite_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hologram_satellite_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((1378.44,-2561.41,1521),(352.698,67.0802,-41.2794)); + var_00.v["fxid"] = "mp_levity_hologram_satellite_3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hologram_satellite_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((1378.44,-2561.41,1521),(315.951,39.5271,40.8177)); + var_00.v["fxid"] = "mp_levity_hologram_satellite_4"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_light_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2886.9,-1447.03,1323.77),(0,90,0)); + var_00.v["fxid"] = "ground_snow_light_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_light_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3875.6,-1574.13,1326.02),(0,90,0)); + var_00.v["fxid"] = "ground_snow_light_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_snowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((2969.38,-1942.09,1511.27),(270,0,90)); + var_00.v["fxid"] = "ambient_snowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_snowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((2194.96,-264.349,1675.72),(270,0,90)); + var_00.v["fxid"] = "ambient_snowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_light_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2103.66,-73.5554,1675.38),(0,90,0)); + var_00.v["fxid"] = "ground_snow_light_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_light_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2215.36,-371.436,1372.01),(0,90,0)); + var_00.v["fxid"] = "ground_snow_light_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((1390,-658.544,1583.38),(0,180,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_freezer_fan_lp"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((-236.977,-898,1726.68),(0,270,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_vent_steam_transformer_lp"; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-424.225,-1073.46,1357.61),(0,216,0)); + var_00.v["fxid"] = "mp_gb_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-701,-1028.35,1395.88),(0,324,0)); + var_00.v["fxid"] = "mp_gb_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-682.145,-1391.3,1339.93),(339,145,0)); + var_00.v["fxid"] = "mp_gb_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-454.071,-1467,1345.05),(0,90,0)); + var_00.v["fxid"] = "mp_gb_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_welding_sparks_room_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-558.711,-1106.33,1290.13),(270,0,0)); + var_00.v["fxid"] = "light_welding_sparks_room_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-537.265,-1141.52,1327.5),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-737.792,-1154.7,1315.5),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-550.921,-1405.65,1337.56),(0,153.1,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((-703.032,-1487.5,1495.91),(0,0,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((11.7716,-749.677,1747),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15.5197,-450.637,1746),(90,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("frost_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1008.49,-1557.75,1408.13),(270,0,0)); + var_00.v["fxid"] = "frost_patch"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1065.63,-3124.8,1953.41),(0,270,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1061.07,-2900.3,1955.77),(0,270,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((-960.414,-2832.49,1956.81),(360,180,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((-960.414,-3074.4,1959.81),(360,180,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-311.2,-3003.26,2136.13),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-135.556,-2995.32,2134.13),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((170.357,-3014.49,2143.13),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((890.12,-3386.29,1666),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((958.829,-3113.13,1432.79),(0,319.004,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((833.999,-3189.55,1428.35),(0,270,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((835.506,-3325.45,1428.72),(0,90,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("frost_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((764.457,-203.709,1551.5),(270,0,0)); + var_00.v["fxid"] = "frost_patch"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("frost_patch"); + var_00 common_scripts\_createfx::set_origin_and_angles((320.074,-761.983,1666.13),(270,0,0)); + var_00.v["fxid"] = "frost_patch"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2550.71,391.38,1152.39),(270,0,84)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_welding_sparks_room_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-497.096,-1343.24,1254.89),(270,0,0)); + var_00.v["fxid"] = "light_welding_sparks_room_sm"; + var_00.v["delay"] = -11; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_distant_drone"); + var_00 common_scripts\_createfx::set_origin_and_angles((30328,14887.3,5976.81),(0,284,0)); + var_00.v["fxid"] = "mp_levity_distant_drone"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_distant_drone"); + var_00 common_scripts\_createfx::set_origin_and_angles((-28221.4,-10928.8,3823.4),(354,134,0)); + var_00.v["fxid"] = "mp_levity_distant_drone"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1997.8,-2520.74,1496.43),(0,0,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2256.95,-2117.01,2173.29),(0,270,0)); + var_00.v["fxid"] = "mp_levity_spot_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1509.48,-990.9,1487.33),(0,90,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_vent_steam_transformer_lp"; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52.182,-197.36,1692),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((176.265,-384.195,1674.13),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((353.875,-266.119,1786.24),(0,180,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((244.645,-222.125,1784.5),(0,270,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((247.876,-539.375,1786.81),(0,90,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((353.875,-472.962,1786.67),(0,180,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hanging_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2123.61,-1233.16,1499.66),(54,270,-90)); + var_00.v["fxid"] = "mp_levity_hanging_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hanging_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2203.71,-1233.46,1499.66),(90,0,0)); + var_00.v["fxid"] = "mp_levity_hanging_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hanging_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((2034.37,-1234.85,1499.66),(90,0,0)); + var_00.v["fxid"] = "mp_levity_hanging_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((2168.93,-1255.64,1372),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((2057.17,-1273.23,1371),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((2257.23,-1390.21,1582.48),(0,270,0)); + var_00.v["fxid"] = "mp_levity_spot_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1984.71,-1390.21,1582.48),(0,270,0)); + var_00.v["fxid"] = "mp_levity_spot_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hanging_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-615.107,-1668.04,1550),(90,0,0)); + var_00.v["fxid"] = "mp_levity_hanging_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hanging_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-604.767,-1747.45,1549),(90,0,0)); + var_00.v["fxid"] = "mp_levity_hanging_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hanging_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-605.444,-1876.57,1551),(90,0,0)); + var_00.v["fxid"] = "mp_levity_hanging_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hanging_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-607.099,-1940.44,1551),(90,0,0)); + var_00.v["fxid"] = "mp_levity_hanging_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((1743.9,-2930.8,1413.6),(0,180,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_freezer_fan_lp"; + var_00 = common_scripts\utility::createoneshoteffect("snow_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-820.477,-3324.1,1344.13),(270,0,0)); + var_00.v["fxid"] = "snow_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1563.93,-2319.05,1395.13),(270,0,0)); + var_00.v["fxid"] = "snow_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hanging_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1836.4,-1477.97,1567),(90,0,0)); + var_00.v["fxid"] = "mp_levity_hanging_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hanging_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1703.53,-1457.09,1567),(90,0,0)); + var_00.v["fxid"] = "mp_levity_hanging_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hanging_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1837.81,-2231.8,1567),(90,0,0)); + var_00.v["fxid"] = "mp_levity_hanging_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hanging_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1701.02,-2255.78,1561),(90,0,0)); + var_00.v["fxid"] = "mp_levity_hanging_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((76.3105,-1534.44,2244.13),(270,0,90)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_swirl_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-547.315,-3280.55,1329.13),(270,0,0)); + var_00.v["fxid"] = "snow_swirl_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_swirl_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-308.127,-3299.92,1299.13),(270,0,0)); + var_00.v["fxid"] = "snow_swirl_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_cloud_moutain_peak"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7528.23,-3437.23,1137.39),(270,0,178)); + var_00.v["fxid"] = "snow_cloud_moutain_peak"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_cloud_moutain_peak"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15602,-12298.8,4137),(270,0,178)); + var_00.v["fxid"] = "snow_cloud_moutain_peak"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_swirl_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1319.29,-2619.26,1690.13),(270,0,0)); + var_00.v["fxid"] = "snow_swirl_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_swirl_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2089.27,-2444.3,1345),(270,0,0)); + var_00.v["fxid"] = "snow_swirl_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_swirl_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1372.57,-620.843,1483.22),(270,0,0)); + var_00.v["fxid"] = "snow_swirl_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1152.6,-1123.79,1483.12),(0,0,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_vent_hum_large_lp"; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare2"); + var_00 common_scripts\_createfx::set_origin_and_angles((2763.09,-2324.79,1409.36),(0,185.504,0)); + var_00.v["fxid"] = "mp_levity_spot_flare2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare2"); + var_00 common_scripts\_createfx::set_origin_and_angles((3049.17,-2249.42,1410.42),(0,202.495,0)); + var_00.v["fxid"] = "mp_levity_spot_flare2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare2"); + var_00 common_scripts\_createfx::set_origin_and_angles((3376.2,-2045.48,1409.38),(0,202.497,0)); + var_00.v["fxid"] = "mp_levity_spot_flare2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare2"); + var_00 common_scripts\_createfx::set_origin_and_angles((3647.21,-1724.48,1410.2),(0,173.503,0)); + var_00.v["fxid"] = "mp_levity_spot_flare2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare2"); + var_00 common_scripts\_createfx::set_origin_and_angles((3722.12,-1325.3,1411.05),(0,202.497,0)); + var_00.v["fxid"] = "mp_levity_spot_flare2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare2"); + var_00 common_scripts\_createfx::set_origin_and_angles((3938.25,-978.613,1410.93),(0,202.496,0)); + var_00.v["fxid"] = "mp_levity_spot_flare2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare2"); + var_00 common_scripts\_createfx::set_origin_and_angles((4303.15,-968.372,1411.38),(0,202.505,0)); + var_00.v["fxid"] = "mp_levity_spot_flare2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare2"); + var_00 common_scripts\_createfx::set_origin_and_angles((4715.07,-962.159,1410.05),(0,202.505,0)); + var_00.v["fxid"] = "mp_levity_spot_flare2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare2"); + var_00 common_scripts\_createfx::set_origin_and_angles((5715.15,-427.36,1424.69),(0,202.505,0)); + var_00.v["fxid"] = "mp_levity_spot_flare2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare2"); + var_00 common_scripts\_createfx::set_origin_and_angles((4979.51,-417.223,1425.98),(0,202.505,0)); + var_00.v["fxid"] = "mp_levity_spot_flare2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare2"); + var_00 common_scripts\_createfx::set_origin_and_angles((4522.03,-417.064,1424.98),(0,202.505,0)); + var_00.v["fxid"] = "mp_levity_spot_flare2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare2"); + var_00 common_scripts\_createfx::set_origin_and_angles((4162.04,-413.902,1426.69),(0,157.495,0)); + var_00.v["fxid"] = "mp_levity_spot_flare2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare2"); + var_00 common_scripts\_createfx::set_origin_and_angles((3799.09,-439.772,1426.47),(0,157.504,0)); + var_00.v["fxid"] = "mp_levity_spot_flare2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare2"); + var_00 common_scripts\_createfx::set_origin_and_angles((3519.04,-554.898,1422.19),(0,185.504,0)); + var_00.v["fxid"] = "mp_levity_spot_flare2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare2"); + var_00 common_scripts\_createfx::set_origin_and_angles((3335.02,-732.041,1408.55),(0,202.496,0)); + var_00.v["fxid"] = "mp_levity_spot_flare2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare2"); + var_00 common_scripts\_createfx::set_origin_and_angles((3182.17,-1006.4,1406.74),(0,202.496,0)); + var_00.v["fxid"] = "mp_levity_spot_flare2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare2"); + var_00 common_scripts\_createfx::set_origin_and_angles((3118.1,-1330.77,1409.38),(0,178.503,0)); + var_00.v["fxid"] = "mp_levity_spot_flare2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((873.661,-3337.78,1749.3),(0,236.2,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((1025.31,-3336.48,1746.04),(0,303.8,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((1312.84,-2803.59,1784),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((1076.12,-2994.99,1661),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp3"); + var_00 common_scripts\_createfx::set_origin_and_angles((779.577,-3270.81,1660),(270,0,90)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1283.82,-2807.93,1787),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_snow_hvy_wind_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2091.65,-2055.33,1344),(0,90,0)); + var_00.v["fxid"] = "roof_snow_hvy_wind_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_swirl_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((958.813,-3191.51,1662),(270,0,0)); + var_00.v["fxid"] = "snow_swirl_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_swirl_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1210.59,-2634.03,1695.13),(270,0,0)); + var_00.v["fxid"] = "snow_swirl_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-554.115,344.812,2922.69),(270,0,90)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1027.71,665.366,2880.48),(270,0,90)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-714.805,440.665,2911.81),(270,0,90)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-191.857,211.238,2918.01),(270,0,90)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11.0949,198.567,2948.8),(270,0,90)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((211.703,213.075,2924.74),(270,0,90)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((481.685,253.665,2908),(270,0,90)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((658.272,320.646,2886.12),(270,0,90)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((936.753,382.973,2882.91),(270,0,90)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1572.97,108.367,2625.02),(270,0,90)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1836.68,194.261,2262.29),(270,0,90)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_cloud_moutain_peak"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3549.22,2971.41,2274.22),(270,0,163)); + var_00.v["fxid"] = "snow_cloud_moutain_peak"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_cloud_moutain_peak"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6553.41,3196.15,-212.716),(270,0,163)); + var_00.v["fxid"] = "snow_cloud_moutain_peak"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_cloud_moutain_peak"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13416.4,1719.44,-209.252),(270,0,168)); + var_00.v["fxid"] = "snow_cloud_moutain_peak"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_narrow_noimpact"); + var_00 common_scripts\_createfx::set_origin_and_angles((926.082,-131.095,1774.5),(270,0,0)); + var_00.v["fxid"] = "falling_water_narrow_noimpact"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_narrow_noimpact"); + var_00 common_scripts\_createfx::set_origin_and_angles((939.273,-139.814,1930.33),(270,0,0)); + var_00.v["fxid"] = "falling_water_narrow_noimpact"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_narrow_noimpact"); + var_00 common_scripts\_createfx::set_origin_and_angles((1384,4.88391,2218.44),(270,0,0)); + var_00.v["fxid"] = "falling_water_narrow_noimpact"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((926.601,-153.117,1536.31),(270,0,0)); + var_00.v["fxid"] = "falling_water_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((971.116,-145.516,1537.17),(270,0,0)); + var_00.v["fxid"] = "falling_water_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_narrow_noimpact"); + var_00 common_scripts\_createfx::set_origin_and_angles((1303.81,-7.54795,2054.36),(270,0,0)); + var_00.v["fxid"] = "falling_water_narrow_noimpact"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((684.652,358.41,1628.58),(270,0,0)); + var_00.v["fxid"] = "falling_water_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((755.726,189.862,1658.57),(270,0,0)); + var_00.v["fxid"] = "falling_water_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((744.396,-53.1401,1744.98),(270,0,0)); + var_00.v["fxid"] = "falling_water_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((432.947,-0.207059,1722.48),(270,0,0)); + var_00.v["fxid"] = "falling_water_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_caves"); + var_00 common_scripts\_createfx::set_origin_and_angles((678.268,-67.4966,1758.02),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_caves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((798.874,-106.288,1699.8),(270,0,0)); + var_00.v["fxid"] = "falling_water_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_narrow_noimpact"); + var_00 common_scripts\_createfx::set_origin_and_angles((938.857,-122.461,2094.94),(270,0,0)); + var_00.v["fxid"] = "falling_water_narrow_noimpact"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_narrow_noimpact"); + var_00 common_scripts\_createfx::set_origin_and_angles((900.977,-146.401,2024.37),(270,0,0)); + var_00.v["fxid"] = "falling_water_narrow_noimpact"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_narrow_noimpact"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1158.86,143.665,2195.57),(270,0,0)); + var_00.v["fxid"] = "falling_water_narrow_noimpact"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_narrow_noimpact"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1309.95,241.377,2251.72),(270,0,0)); + var_00.v["fxid"] = "falling_water_narrow_noimpact"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((148.823,-155.671,1758.48),(0,180,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((-194.823,-111.475,1756.39),(0,0,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-253.022,-785.266,1676.63),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((-259.951,-868,1781.82),(0,90,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((-388.505,-868,1782.72),(0,90,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((-448,-696.581,1782.1),(0,0,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((-390.645,-639.5,1780.93),(0,270,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((-258.655,-639.5,1780.78),(0,270,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((-448,-827.561,1781.23),(0,0,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hanging_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-298.678,-778.595,1785.5),(90,0,0)); + var_00.v["fxid"] = "mp_levity_hanging_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hanging_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-300.461,-722.975,1783.5),(90,0,0)); + var_00.v["fxid"] = "mp_levity_hanging_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hanging_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((254.356,-341.531,1789),(90,0,0)); + var_00.v["fxid"] = "mp_levity_hanging_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_hanging_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((245.493,-405.936,1789),(90,0,0)); + var_00.v["fxid"] = "mp_levity_hanging_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare3"); + var_00 common_scripts\_createfx::set_origin_and_angles((113.709,-1771.24,1771.66),(12.5644,130.2,0)); + var_00.v["fxid"] = "mp_levity_spot_flare3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-104.134,-1780.19,1770.87),(12.5641,49,0)); + var_00.v["fxid"] = "mp_levity_spot_flare3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2001.76,-1904.05,1555.66),(90,0,0)); + var_00.v["fxid"] = "mp_levity_spot_flare3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2000.83,-1696.31,1555.66),(90,0,0)); + var_00.v["fxid"] = "mp_levity_spot_flare3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2003.71,-1487.03,1555.66),(90,0,0)); + var_00.v["fxid"] = "mp_levity_spot_flare3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_blowing_door_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((820.871,-2370.82,1408),(359.86,359,0)); + var_00.v["fxid"] = "snow_blowing_door_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_blowing_door_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-584.414,-891.751,1448),(0,89,-0.140312)); + var_00.v["fxid"] = "snow_blowing_door_lp"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("snow_blowing_door_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-0.335689,-1181.63,1630),(0,89,-0.140312)); + var_00.v["fxid"] = "snow_blowing_door_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_blowing_door_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((173.22,-768.237,1662),(359.873,25,0)); + var_00.v["fxid"] = "snow_blowing_door_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_blowing_door_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-185.107,-480.647,1661),(0.129732,156,0)); + var_00.v["fxid"] = "snow_blowing_door_lp"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1558.55,-1881.91,1445.83),(0,0,0)); + var_00.v["fxid"] = "mp_lev_steam_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare3"); + var_00 common_scripts\_createfx::set_origin_and_angles((1550.88,-2877.02,1567.53),(27.5648,180,0)); + var_00.v["fxid"] = "mp_levity_spot_flare3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare3"); + var_00 common_scripts\_createfx::set_origin_and_angles((1551.22,-2826.74,1566.87),(27.5648,180,0)); + var_00.v["fxid"] = "mp_levity_spot_flare3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare3"); + var_00 common_scripts\_createfx::set_origin_and_angles((1550.75,-2922.51,1567.77),(27.5648,180,0)); + var_00.v["fxid"] = "mp_levity_spot_flare3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare3"); + var_00 common_scripts\_createfx::set_origin_and_angles((1297.11,-2879.8,1567.51),(27.5648,0,0)); + var_00.v["fxid"] = "mp_levity_spot_flare3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare3"); + var_00 common_scripts\_createfx::set_origin_and_angles((1297.03,-2830.86,1567.36),(27.5648,0,0)); + var_00.v["fxid"] = "mp_levity_spot_flare3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare3"); + var_00 common_scripts\_createfx::set_origin_and_angles((1297.19,-2928.12,1567.67),(27.5648,0,0)); + var_00.v["fxid"] = "mp_levity_spot_flare3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare3"); + var_00 common_scripts\_createfx::set_origin_and_angles((2033.43,-1233.81,1499.66),(62,270,-90)); + var_00.v["fxid"] = "mp_levity_spot_flare3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare3"); + var_00 common_scripts\_createfx::set_origin_and_angles((2124.38,-1233.25,1499.66),(90,0,0)); + var_00.v["fxid"] = "mp_levity_spot_flare3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare3"); + var_00 common_scripts\_createfx::set_origin_and_angles((2207.07,-1231.47,1499.66),(68,270,-90)); + var_00.v["fxid"] = "mp_levity_spot_flare3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3138.29,-1036.03,1097.64),(11.1,90,0)); + var_00.v["fxid"] = "mp_lev_steam_vents_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3697.67,-1022.46,1166.81),(11.1,90,0)); + var_00.v["fxid"] = "mp_lev_steam_vents_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4307.85,-1034.3,1106.45),(11.1,90,0)); + var_00.v["fxid"] = "mp_lev_steam_vents_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3134.92,-1022.5,1166.63),(11.1,90,0)); + var_00.v["fxid"] = "mp_lev_steam_vents_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3706.08,-1034.65,1104.7),(11.1,90,0)); + var_00.v["fxid"] = "mp_lev_steam_vents_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lev_steam_vents_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4301.52,-1021.41,1172.17),(11.1,90,0)); + var_00.v["fxid"] = "mp_lev_steam_vents_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2002.56,-2112.32,1555.66),(90,0,0)); + var_00.v["fxid"] = "mp_levity_spot_flare3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2687.39,-2443.2,1608.23),(0,0,0)); + var_00.v["fxid"] = "mp_levity_spot_flare3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3199.39,-2442.34,1609.03),(0,0,0)); + var_00.v["fxid"] = "mp_levity_spot_flare3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3711.39,-2442.8,1607.96),(0,0,0)); + var_00.v["fxid"] = "mp_levity_spot_flare3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4223.39,-2443.38,1609.22),(0,0,0)); + var_00.v["fxid"] = "mp_levity_spot_flare3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_snowing_indoor_blend"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1076.48,-1475.76,1748.72),(270,0,92)); + var_00.v["fxid"] = "ambient_snowing_indoor_blend"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_snowing_indoor_blend"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1436.33,-1068.76,1576.19),(270,0,92)); + var_00.v["fxid"] = "ambient_snowing_indoor_blend"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((684.214,-3461.41,1598.6),(18,270,0)); + var_00.v["fxid"] = "mp_levity_spot_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1083.08,-2883.76,1632.42),(12.5656,90,0)); + var_00.v["fxid"] = "mp_levity_spot_flare3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1131.07,-2883.55,1633.33),(12.5656,90,0)); + var_00.v["fxid"] = "mp_levity_spot_flare3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1033.92,-2883.62,1633.05),(12.5656,90,0)); + var_00.v["fxid"] = "mp_levity_spot_flare3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare3"); + var_00 common_scripts\_createfx::set_origin_and_angles((801.15,-1520.03,1564.95),(12.5647,90,0)); + var_00.v["fxid"] = "mp_levity_spot_flare3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare3"); + var_00 common_scripts\_createfx::set_origin_and_angles((851.286,-1520.09,1564.67),(12.5647,90,0)); + var_00.v["fxid"] = "mp_levity_spot_flare3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare3"); + var_00 common_scripts\_createfx::set_origin_and_angles((897.688,-1520.08,1564.69),(12.5647,90,0)); + var_00.v["fxid"] = "mp_levity_spot_flare3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-154.328,-1908.34,2072),(90,0,0)); + var_00.v["fxid"] = "mp_levity_spot_flare2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-152.238,-2688.18,2072),(90,0,0)); + var_00.v["fxid"] = "mp_levity_spot_flare2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare2"); + var_00 common_scripts\_createfx::set_origin_and_angles((188.831,-2690.18,2072),(90,0,0)); + var_00.v["fxid"] = "mp_levity_spot_flare2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_spot_flare2"); + var_00 common_scripts\_createfx::set_origin_and_angles((185.617,-1910.58,2072),(90,0,0)); + var_00.v["fxid"] = "mp_levity_spot_flare2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_snowing_indoor_blend"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15.2681,-1978.61,2130.68),(300,272,-180)); + var_00.v["fxid"] = "ambient_snowing_indoor_blend"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_snowing_indoor_blend"); + var_00 common_scripts\_createfx::set_origin_and_angles((4.2522,-2285.95,2137),(300,272,-180)); + var_00.v["fxid"] = "ambient_snowing_indoor_blend"; + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1423.85,-258.963,1584.94),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "ice_crack_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-906.815,-303.143,1638.5),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "ice_crack_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((345.199,-83.9594,1606.85),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "ice_crack_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((559.338,154.024,1613.98),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "ice_crack_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1126.29,-276.391,1634.09),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "ice_crack_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-418.532,-287.106,1746.36),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "ice_crack_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1098.67,-963.747,1478),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "computer_swell"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((829.473,-1282.1,1493.32),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "computer_swell"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1294.6,-2877.26,1535.79),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "computer_swell"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1103.16,-2671.27,1549.41),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "computer_swell"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1545.24,-2547.36,1518.38),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "computer_swell"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1366.85,-2562.66,1487),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "hologram_beeps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-577.828,-1408.9,1451.1),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "hologram_beeps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2270.02,-2120.81,1455.33),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "hanger_construction_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2272.12,-1956.78,1457.19),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "hanger_construction_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2686.88,-2024.19,1391.95),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "damb_hydrolics"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-423.534,-1300.96,1559.47),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "damb_hydrolics"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-588.756,-1289.96,1555.15),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 18; + var_00.v["soundalias"] = "damb_hydrolics"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-17.6602,-341.604,1836.5),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "damb_vents"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((0.969137,-743.274,1837.38),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "damb_vents"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((11.8877,-1317.94,1779.37),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "damb_vents"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((585.217,-1731.55,1584),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "damb_vents"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((754.115,-425.255,1662),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "damb_vents"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-946.025,-3140.68,1470.61),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "damb_vents"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1013.29,-3241.7,1478.5),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "damb_vents"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1535.92,-1259.2,1469.57),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1406.17,-1155.41,1560.63),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1889.33,-1896.5,1458.13),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1607.59,-3254.37,1362.33),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1274.84,-3583.99,1348.4),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1040.27,-3776.5,1347.68),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((750.861,-3776.5,1347.92),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((561.614,-3916,1348.05),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((494.422,-3552.71,1347.4),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((291.022,-3916.11,1324.4),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((151.032,-3981,1284.25),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-150.937,-3981,1266.76),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-323.497,-3916.51,1328.82),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-636.742,-3889.69,1324.4),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-637.089,-3588.08,1332.29),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-879.525,-3404.5,1355.96),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1146.91,-3398,1403.7),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1601.71,-3398.42,1405.34),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((916.839,-607.455,1666.04),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1347.94,-616.463,1565.13),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((615.158,-107.657,1521.25),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_wet_forest"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((669.919,41.4373,1522.92),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_puddle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((438.819,-9.38888,1520),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_puddle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((562.848,47.2306,1520),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_puddle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((786.107,98.3764,1495.68),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drips_cave_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((657.916,-70.603,1521.25),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_puddle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((770.821,-98.3008,1521.25),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drips_cave_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((556.248,-114.202,1521.25),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drips_cave_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((453.14,46.7736,1520),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_wet_forest"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((678.216,17.2974,1519.99),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_wet_forest"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((748.608,-43.2121,1520.21),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_wet_forest"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1379.53,-3321.23,1404.8),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-563.423,-3398.65,1328.13),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((472.583,-3393.19,1331.46),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((953.467,-3627.25,1320.13),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1688.13,-3170.34,1339.24),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1490.76,-1651.66,1408.13),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2094.69,-2148.52,1345.91),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((539.155,-3236.22,1320.13),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((706.249,-2943.17,1541.4),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((932.669,-2812.68,1555.67),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1178.04,-3136.27,1306),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1095.03,-662.004,1487.39),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1023.96,-1021.23,1440.13),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_liberty_fx.gsc b/AW/PC/maps/createfx/mp_liberty_fx.gsc new file mode 100644 index 0000000..584f59a --- /dev/null +++ b/AW/PC/maps/createfx/mp_liberty_fx.gsc @@ -0,0 +1,1970 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_liberty_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 103 ms + * Timestamp: 4/22/2024 2:07:43 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\utility::createoneshoteffect("fx_sunflare_mp_kremlin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53.4648,-160.259,1091.13),(270,0,0)); + var_00.v["fxid"] = "fx_sunflare_mp_kremlin"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_sunflare_mp_liberty"); + var_00 common_scripts\_createfx::set_origin_and_angles((148.94,-1401.24,1505.16),(50,180,-180)); + var_00.v["fxid"] = "fx_sunflare_mp_liberty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_birds_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((6392.44,-1844.75,3701.09),(303.121,274.606,84.5035)); + var_00.v["fxid"] = "lib_birds_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1596.85,150.29,25),(270,180,90)); + var_00.v["fxid"] = "lib_leaves_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1497.57,-272.845,19.6404),(270,0,-27)); + var_00.v["fxid"] = "lib_leaves_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lib_leaves_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((911.875,991.812,378.25),(270,0,-140)); + var_00.v["fxid"] = "mp_lib_leaves_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lib_leaves_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((591.155,1855.22,319.402),(270,0,-95)); + var_00.v["fxid"] = "mp_lib_leaves_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((407.687,2050.24,169.218),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-917.41,215.962,204.891),(270,0,0)); + var_00.v["fxid"] = "lib_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1712.16,742.119,83.003),(270,0,180)); + var_00.v["fxid"] = "mp_trash_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1406.69,2547.05,160.883),(270,0,180)); + var_00.v["fxid"] = "mp_trash_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1893.93,-455.941,183.913),(270,0,180)); + var_00.v["fxid"] = "mp_trash_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_vent_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((118.717,908.195,510.525),(270,0,0)); + var_00.v["fxid"] = "lib_vent_smoke"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((1554.96,822.307,22.7424),(270,0,0)); + var_00.v["fxid"] = "lib_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((1369.79,1297.32,37.125),(270,0,0)); + var_00.v["fxid"] = "lib_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1899.78,-267.786,49.8447),(270,0,78)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1903.92,-955.404,58.2955),(270,0,78)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1567.43,1908.74,58.5431),(270,0,78)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1292.85,2581.88,36.2416),(270,0,87)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1525.78,-967.019,43.6161),(270,0,87)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_triple_vent_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-416.049,-980.336,467.426),(270,0,0)); + var_00.v["fxid"] = "lib_triple_vent_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_vent_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-753.671,342.452,468.704),(270,0,-7)); + var_00.v["fxid"] = "lib_vent_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_vent_steam_single_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((781.047,516.384,506.92),(270,0,0)); + var_00.v["fxid"] = "lib_vent_steam_single_rise"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((223.521,580.129,96.1562),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((556.138,566.981,73.5162),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((240.415,457.335,124.344),(270,0,0)); + var_00.v["fxid"] = "mp_lair_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((188.647,-137.267,108.16),(270,0,0)); + var_00.v["fxid"] = "mp_lair_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((615.266,147.12,174.583),(270,0,0)); + var_00.v["fxid"] = "mp_lair_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((771.736,-2235.19,90),(270,0,180)); + var_00.v["fxid"] = "mp_trash_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-29.1563,-2533.74,34.417),(352.732,92.8818,73.5929)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_event"); + var_00 common_scripts\_createfx::set_origin_and_angles((864.644,5.86255,295.698),(307.366,81.8459,-98.1749)); + var_00.v["fxid"] = "steam_pipe_event"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_water_dripping_edges"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1202.91,23.8777,377.875),(270,0,-95)); + var_00.v["fxid"] = "lib_water_dripping_edges"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_water_pipe_drips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-837.08,1829.75,245.817),(270,0,0)); + var_00.v["fxid"] = "lib_water_pipe_drips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_water_dripping_edges"); + var_00 common_scripts\_createfx::set_origin_and_angles((476.477,-1967.77,145.145),(270,0,91)); + var_00.v["fxid"] = "lib_water_dripping_edges"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_water_dripping_edges"); + var_00 common_scripts\_createfx::set_origin_and_angles((1001.98,-122.826,282.528),(270,0,91)); + var_00.v["fxid"] = "lib_water_dripping_edges"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_water_pipe_drips"); + var_00 common_scripts\_createfx::set_origin_and_angles((296.717,-783.217,368.92),(270,0,0)); + var_00.v["fxid"] = "lib_water_pipe_drips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-969.698,2075.08,149.863),(270,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((361.617,-425.081,167.586),(9.48836,142.419,-90.2982)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_water_pipe_drips"); + var_00 common_scripts\_createfx::set_origin_and_angles((1053.14,-1564.43,71.7083),(270,0,0)); + var_00.v["fxid"] = "lib_water_pipe_drips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_flies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1519.6,-1036.11,34),(270,0,0)); + var_00.v["fxid"] = "sewage_flies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_flies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1479.76,-983.17,-2),(270,0,0)); + var_00.v["fxid"] = "sewage_flies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_flies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((270.661,569.795,67.0041),(270,0,0)); + var_00.v["fxid"] = "sewage_flies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((1567.21,877.128,-3.87501),(270,0,0)); + var_00.v["fxid"] = "mp_lair_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_flies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1345.53,-1872.45,170),(270,0,0)); + var_00.v["fxid"] = "sewage_flies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_flies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((996.486,-1448.3,154),(270,0,0)); + var_00.v["fxid"] = "sewage_flies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_flies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1182.63,-1375.92,13.7291),(270,0,0)); + var_00.v["fxid"] = "sewage_flies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_flies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((988.023,-1517.21,5.34547),(270,0,0)); + var_00.v["fxid"] = "sewage_flies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((1028.01,-1425.27,-2),(270,0,0)); + var_00.v["fxid"] = "mp_lair_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((1230.08,-1007.46,-26),(270,0,0)); + var_00.v["fxid"] = "mp_lair_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-516.215,-1712.46,44),(270,0,0)); + var_00.v["fxid"] = "mp_lair_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-930.306,-1423.07,58),(270,0,0)); + var_00.v["fxid"] = "mp_lair_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1054.42,-1082.93,61),(270,0,0)); + var_00.v["fxid"] = "mp_lair_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-835.794,-1775.49,58),(270,0,0)); + var_00.v["fxid"] = "mp_lair_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-371.933,127.687,43.489),(270,0,0)); + var_00.v["fxid"] = "mp_lair_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-952.277,1370.91,61.8305),(270,0,0)); + var_00.v["fxid"] = "mp_lair_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-812.537,233.095,20.125),(270,0,0)); + var_00.v["fxid"] = "mp_lair_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_ground_vent_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((987.919,-1026.93,-47),(270,0,0)); + var_00.v["fxid"] = "lib_ground_vent_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_ground_vent_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((140.802,-300.255,46),(270,0,0)); + var_00.v["fxid"] = "lib_ground_vent_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((92.4243,-209.094,60),(270,0,93)); + var_00.v["fxid"] = "lib_hay_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14.337,499.039,59),(270,0,109)); + var_00.v["fxid"] = "lib_hay_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((714.358,105.213,146.851),(270,0,93)); + var_00.v["fxid"] = "lib_hay_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1573.29,-1933.03,153.455),(270,180,-173)); + var_00.v["fxid"] = "lib_hay_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1017.44,-1140.54,109.243),(270,0,93)); + var_00.v["fxid"] = "lib_hay_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((1033.81,-1339.88,146),(270,0,0)); + var_00.v["fxid"] = "mp_lair_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-199.474,-2355.12,18),(270,180,90)); + var_00.v["fxid"] = "lib_leaves_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((831.902,-2072.64,18),(270,0,-35)); + var_00.v["fxid"] = "lib_leaves_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1097.27,-1093.05,-16),(270,0,81)); + var_00.v["fxid"] = "lib_hay_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_oriented_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1282.33,-952.623,-30),(270,0,94)); + var_00.v["fxid"] = "lib_hay_blowing_oriented_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_oriented_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1203.73,-1026.01,-28.5),(270,0,10)); + var_00.v["fxid"] = "lib_hay_blowing_oriented_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_oriented_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1090.09,-1113.58,-26.5),(270,0,96)); + var_00.v["fxid"] = "lib_hay_blowing_oriented_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_flies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1338.37,-599.722,10.0259),(270,0,0)); + var_00.v["fxid"] = "sewage_flies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_flies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((387.255,2046.18,176.125),(270,0,0)); + var_00.v["fxid"] = "sewage_flies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1401.64,-568.281,-11),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_oriented_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1003.15,-1364.62,-29),(270,0,0)); + var_00.v["fxid"] = "lib_hay_blowing_oriented_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1134.92,-1353.66,-31.5),(270,0,0)); + var_00.v["fxid"] = "lib_hay_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_flies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1238.66,-1156.18,-2.63697),(270,0,0)); + var_00.v["fxid"] = "sewage_flies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_water_dripping_edges"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1032.87,1250.28,451.88),(270,0,88)); + var_00.v["fxid"] = "lib_water_dripping_edges"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty_wrm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1492.21,900.765,243.875),(32.9522,278.941,11.3439)); + var_00.v["fxid"] = "mp_godray_angled_dusty_wrm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty_wrm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1488.97,677.13,219.754),(32.9522,278.941,11.3439)); + var_00.v["fxid"] = "mp_godray_angled_dusty_wrm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((358.783,38.5533,262.455),(3.62433,193.634,-48.9538)); + var_00.v["fxid"] = "mp_godray_angled_dusty_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((421.574,-1416.71,107.302),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((104.624,-1663.13,27.4377),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-306.664,-1081.86,40.994),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-825.657,-845.093,16),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_flies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-817.373,-786.076,60.4576),(270,0,0)); + var_00.v["fxid"] = "sewage_flies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sewage_flies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-974.239,826.791,62.0202),(270,0,0)); + var_00.v["fxid"] = "sewage_flies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((223.728,78.4715,72),(270,0,93)); + var_00.v["fxid"] = "lib_hay_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_water_pipe_drips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-361.712,-17.6789,157.217),(270,0,0)); + var_00.v["fxid"] = "lib_water_pipe_drips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_water_pipe_drips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-445.572,68.2307,164.211),(270,0,0)); + var_00.v["fxid"] = "lib_water_pipe_drips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_water_pipe_drips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-444.337,71.1673,164.692),(270,0,0)); + var_00.v["fxid"] = "lib_water_pipe_drips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_water_pipe_drips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-446.681,70.7528,164.401),(270,0,0)); + var_00.v["fxid"] = "lib_water_pipe_drips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_water_pipe_drips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-324.602,234.756,164.207),(270,0,0)); + var_00.v["fxid"] = "lib_water_pipe_drips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_water_pipe_drips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-327.934,233.611,164.747),(270,0,0)); + var_00.v["fxid"] = "lib_water_pipe_drips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_water_pipe_drips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-582.846,131.2,204.594),(270,0,0)); + var_00.v["fxid"] = "lib_water_pipe_drips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_water_pipe_drips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-584.995,132.381,204.632),(270,0,0)); + var_00.v["fxid"] = "lib_water_pipe_drips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-336.489,303.843,160.384),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1080.97,145.43,201.017),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_int_dust_cool"); + var_00 common_scripts\_createfx::set_origin_and_angles((-794.474,1297.86,26.125),(270,0,0)); + var_00.v["fxid"] = "lib_int_dust_cool"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_int_dust_cool"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1044.33,1457.9,37.125),(270,0,0)); + var_00.v["fxid"] = "lib_int_dust_cool"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_int_dust_cool"); + var_00 common_scripts\_createfx::set_origin_and_angles((341.486,1827.19,152.125),(270,0,0)); + var_00.v["fxid"] = "lib_int_dust_cool"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((305.041,1858.86,152.125),(270,0,0)); + var_00.v["fxid"] = "mp_lair_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_int_dust_cool"); + var_00 common_scripts\_createfx::set_origin_and_angles((1381.86,1311.9,-31.875),(270,0,0)); + var_00.v["fxid"] = "lib_int_dust_cool"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((1334.14,700.158,-3.875),(270,0,0)); + var_00.v["fxid"] = "lib_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((137.94,839.06,56.125),(270,0,0)); + var_00.v["fxid"] = "mp_lair_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_int_dust_cool"); + var_00 common_scripts\_createfx::set_origin_and_angles((324.519,862.557,56.125),(270,0,0)); + var_00.v["fxid"] = "lib_int_dust_cool"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_int_dust_cool"); + var_00 common_scripts\_createfx::set_origin_and_angles((-428.42,204.324,54),(270,0,0)); + var_00.v["fxid"] = "lib_int_dust_cool"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_int_dust_cool"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1092.8,-1288.62,31),(270,0,0)); + var_00.v["fxid"] = "lib_int_dust_cool"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_int_dust_cool"); + var_00 common_scripts\_createfx::set_origin_and_angles((1005.91,-1015.44,-11),(270,0,0)); + var_00.v["fxid"] = "lib_int_dust_cool"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_vent_steam_single_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((855.181,-482.347,504.825),(270,0,0)); + var_00.v["fxid"] = "lib_vent_steam_single_rise"; + var_00.v["delay"] = -2; + var_00 = common_scripts\utility::createoneshoteffect("lib_dirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1809.66,-107.193,-2.56348),(270,180,86)); + var_00.v["fxid"] = "lib_dirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_dirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1738.92,-706.528,56.013),(270,180,86)); + var_00.v["fxid"] = "lib_dirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_dirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-937.802,-164.123,36),(270,180,86)); + var_00.v["fxid"] = "lib_dirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_dirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1067.96,2509.76,3.10043),(270,180,86)); + var_00.v["fxid"] = "lib_dirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_dirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((874.353,2510.87,-11.6602),(270,180,86)); + var_00.v["fxid"] = "lib_dirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((918.776,1645.68,-35.875),(270,0,87)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((676.17,1285.93,-35.875),(270,0,87)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((0.124969,-250.602,370.003),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((108.451,-436.061,373.425),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((413.433,870.871,188.986),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((997.166,-1537.36,21.4472),(270,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lib_leaves_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((1147.88,1252.54,301.785),(270,0,172)); + var_00.v["fxid"] = "mp_lib_leaves_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lib_leaves_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1116.2,1119.27,529.125),(300,57,-180)); + var_00.v["fxid"] = "mp_lib_leaves_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lib_leaves_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((-815.381,1147.83,515.125),(300,57,-180)); + var_00.v["fxid"] = "mp_lib_leaves_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lib_leaves_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((1268.66,644.293,262.554),(270,0,-76)); + var_00.v["fxid"] = "mp_lib_leaves_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1072.72,92.6756,-0.893417),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lib_leaves_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1564.4,967.996,194.695),(270,0,-76)); + var_00.v["fxid"] = "mp_lib_leaves_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lib_leaves_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((-148.113,1957.37,334.494),(270,0,-95)); + var_00.v["fxid"] = "mp_lib_leaves_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((459.228,2043.49,269.538),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1744.73,159.135,-41.5733),(270,0,87)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_thick_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((249.277,106.605,130.88),(270,0,0)); + var_00.v["fxid"] = "lib_thick_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_water_dripping_edges"); + var_00 common_scripts\_createfx::set_origin_and_angles((861.673,-1891.32,134.04),(270,0,177)); + var_00.v["fxid"] = "lib_water_dripping_edges"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((707.638,-187.952,233.641),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_spotlight_cone_blue"); + var_00 common_scripts\_createfx::set_origin_and_angles((-956.053,1328.56,146.5),(89,89.9982,-90.0018)); + var_00.v["fxid"] = "light_spotlight_cone_blue"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_spotlight_cone_blue"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1131.04,1177.71,121.984),(23.9658,96.658,-13.091)); + var_00.v["fxid"] = "light_spotlight_cone_blue"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty_cool"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1119.11,1526.82,-32.875),(357.289,346.995,-96.5977)); + var_00.v["fxid"] = "mp_godray_angled_dusty_cool"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty_cool"); + var_00 common_scripts\_createfx::set_origin_and_angles((-960.363,1519.98,-41.875),(357.289,346.995,-96.5977)); + var_00.v["fxid"] = "mp_godray_angled_dusty_cool"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1570.94,623.257,246.522),(88.0147,270.122,89.8788)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1568.45,421.521,246.792),(88.0147,270.124,89.8806)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1578.11,791.747,248.345),(88.0147,270.122,89.8785)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1383.88,622.77,227.598),(87.7753,243.408,63.1817)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1384.17,934.865,236.578),(87.779,296.892,116.631)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1384.42,1064.51,236.449),(87.7791,296.889,116.628)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1384.25,1183.17,236.556),(87.7753,243.405,63.1786)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1448.56,1316.51,243.858),(0.996382,180.173,89.9859)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((10.8069,703.832,195.042),(89.8845,218.941,-143.404)); + var_00.v["fxid"] = "lightbank_fluorescent_glow_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((4.58354,-257.474,374.563),(16.1191,5.91635,89.6625)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((771.188,-289.279,278.542),(85.5996,0.621102,85.7892)); + var_00.v["fxid"] = "lightbank_fluorescent_glow_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-99.4877,430.842,377.258),(16.1191,5.91635,89.6625)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-413.299,36.1383,381.517),(16.6477,49.0623,88.7013)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((101.352,-435.384,375.952),(20.4116,94.3666,92.6466)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((139.202,646.088,375.21),(24.5576,270.154,-90.4971)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((444.777,521.706,375.257),(33.0115,177.64,-92.2541)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((828.085,15.0898,373.682),(36.0092,177.495,-92.3367)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((571.365,-342.166,373.522),(36.0092,177.495,-92.3367)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-149.756,-59.7204,374.263),(20.4116,94.3666,92.6466)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((615.777,315.787,372.448),(24.5575,270.154,-90.4972)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-327.164,258.793,374.755),(36.0092,177.495,-92.3367)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-599.673,132.686,382.837),(20.4116,94.3666,92.6466)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((431.983,-515.849,359.029),(85.7036,340.316,158.967)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((284.009,-518.227,360.029),(85.7036,340.316,158.967)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-825.371,861.019,16),(270,180,117)); + var_00.v["fxid"] = "lib_leaves_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-426.652,-2400.23,8),(271,0,167)); + var_00.v["fxid"] = "leaves_runner_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1885.69,-485.576,15.9649),(282.196,76.4228,4.68061)); + var_00.v["fxid"] = "leaves_runner_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((823.35,-2404.26,18),(309.888,151.917,21.4712)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2179.83,229.962,-16.2717),(289,90,0)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-915.905,-388.057,16),(270,0,-67)); + var_00.v["fxid"] = "lib_leaves_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-648,-611.292,37),(270,180,111)); + var_00.v["fxid"] = "lib_leaves_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-741.195,-108.659,21.4444),(270,0,-57)); + var_00.v["fxid"] = "lib_leaves_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-790.74,662.534,26),(270,0,-85)); + var_00.v["fxid"] = "lib_leaves_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_water_dripping_edges"); + var_00 common_scripts\_createfx::set_origin_and_angles((4.6978,-1416.72,123.068),(270,0,33)); + var_00.v["fxid"] = "lib_water_dripping_edges"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13.3572,-1389.83,-4.59203),(270,0,-48)); + var_00.v["fxid"] = "lib_rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_int_dust_cool"); + var_00 common_scripts\_createfx::set_origin_and_angles((117.008,-490.089,71.4066),(270,0,0)); + var_00.v["fxid"] = "lib_int_dust_cool"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((1105.21,-1778.27,269.384),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((1048.48,-906.323,73.0866),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_oriented_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1059.19,-1122.55,-29.6012),(270,0,83)); + var_00.v["fxid"] = "lib_hay_blowing_oriented_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1271.96,-671.704,24.9846),(270,0,-73)); + var_00.v["fxid"] = "lib_leaves_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1322.52,-1051.54,23.1625),(270,0,0)); + var_00.v["fxid"] = "lib_leaves_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_oriented_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-575.796,-1170.91,16),(270,180,10)); + var_00.v["fxid"] = "lib_hay_blowing_oriented_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_oriented_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-555.753,-1147.83,16),(270,180,10)); + var_00.v["fxid"] = "lib_hay_blowing_oriented_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_oriented_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-603.665,-1177.27,19),(270,180,10)); + var_00.v["fxid"] = "lib_hay_blowing_oriented_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_oriented_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-647.666,-1329.55,13),(270,0,138)); + var_00.v["fxid"] = "lib_hay_blowing_oriented_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_oriented_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-590.902,-1358.96,22),(270,180,-51)); + var_00.v["fxid"] = "lib_hay_blowing_oriented_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-583.139,-1170.13,16),(270,0,177)); + var_00.v["fxid"] = "lib_hay_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1539.5,-629.586,277.088),(270,180,89)); + var_00.v["fxid"] = "lib_leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1501.95,-660.587,374.629),(270,180,89)); + var_00.v["fxid"] = "lib_leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1570.33,-566.808,397.05),(270,180,89)); + var_00.v["fxid"] = "lib_leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1749.42,-328.071,401.83),(270,180,89)); + var_00.v["fxid"] = "lib_leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1674.22,-422.902,410.818),(270,180,89)); + var_00.v["fxid"] = "lib_leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1717.65,-369.565,314.274),(270,180,89)); + var_00.v["fxid"] = "lib_leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1772.52,-191.094,659.197),(270,180,89)); + var_00.v["fxid"] = "lib_leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1765.43,-213.375,764.556),(270,180,89)); + var_00.v["fxid"] = "lib_leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1753.76,-141.076,756.005),(270,180,89)); + var_00.v["fxid"] = "lib_leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2916.82,-742.188,819.71),(270,180,89)); + var_00.v["fxid"] = "lib_leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2956.79,-717.915,962.883),(270,180,89)); + var_00.v["fxid"] = "lib_leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2952.06,-656.569,690.942),(270,180,89)); + var_00.v["fxid"] = "lib_leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2809.17,-794.08,959.638),(270,180,89)); + var_00.v["fxid"] = "lib_leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1732.84,487.573,356.797),(270,180,89)); + var_00.v["fxid"] = "lib_leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1936.79,551.704,481.087),(270,180,89)); + var_00.v["fxid"] = "lib_leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1865.78,569.443,594.132),(270,180,89)); + var_00.v["fxid"] = "lib_leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1733.27,574.85,268.503),(270,180,89)); + var_00.v["fxid"] = "lib_leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1853.76,731.311,674.726),(270,180,89)); + var_00.v["fxid"] = "lib_leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1818.49,778.77,822.388),(270,180,89)); + var_00.v["fxid"] = "lib_leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1726.75,813.538,728.154),(286,271,0)); + var_00.v["fxid"] = "lib_leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1467.88,976.817,438.947),(286,271,0)); + var_00.v["fxid"] = "lib_leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1560.97,980.015,342.472),(270,180,89)); + var_00.v["fxid"] = "lib_leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1428.98,1025.18,349.993),(270,180,89)); + var_00.v["fxid"] = "lib_leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2397.59,292.034,678.6),(270,180,89)); + var_00.v["fxid"] = "lib_leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2361.93,281.088,830.166),(270,180,89)); + var_00.v["fxid"] = "lib_leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2393.1,402.908,752.708),(270,180,89)); + var_00.v["fxid"] = "lib_leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2344.48,-1270.89,397.32),(270,180,89)); + var_00.v["fxid"] = "lib_leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2365.24,-1297.05,331.697),(270,180,89)); + var_00.v["fxid"] = "lib_leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((1129.96,-1308.04,72.3889),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_rolling_ground_leaves_fast_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-557.778,-933.382,20),(270,0,79)); + var_00.v["fxid"] = "ambient_rolling_ground_leaves_fast_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_rolling_ground_leaves_fast_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-195.919,-2468.86,14),(270,180,-4)); + var_00.v["fxid"] = "ambient_rolling_ground_leaves_fast_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_rolling_ground_leaves_fast_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-382.429,-2362.8,17),(270,180,-4)); + var_00.v["fxid"] = "ambient_rolling_ground_leaves_fast_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_rolling_ground_leaves_fast_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((870.519,-2132.81,11),(270,180,-4)); + var_00.v["fxid"] = "ambient_rolling_ground_leaves_fast_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_rolling_ground_leaves_fast_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1700.2,-570.773,27.7649),(288,103,0)); + var_00.v["fxid"] = "ambient_rolling_ground_leaves_fast_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_rolling_ground_leaves_fast_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1379.17,2232.12,0.812958),(288,103,0)); + var_00.v["fxid"] = "ambient_rolling_ground_leaves_fast_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-981.929,1549.18,137.875),(88.9018,172.248,172.9)); + var_00.v["fxid"] = "lightbank_fluorescent_glow_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1142.19,1528.8,124.875),(88.9018,172.248,172.9)); + var_00.v["fxid"] = "lightbank_fluorescent_glow_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((377.878,861.773,198.042),(88.0931,0.279465,-87.068)); + var_00.v["fxid"] = "lightbank_fluorescent_glow_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((234.25,863.264,199.042),(88.9007,172.258,84.9084)); + var_00.v["fxid"] = "lightbank_fluorescent_glow_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((83.1984,866.973,200.042),(88.9007,172.258,84.9084)); + var_00.v["fxid"] = "lightbank_fluorescent_glow_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-66.062,868.754,199.875),(88.9007,172.258,84.9084)); + var_00.v["fxid"] = "lightbank_fluorescent_glow_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_water_dripping_edges"); + var_00 common_scripts\_createfx::set_origin_and_angles((913.102,-187.782,252.186),(270,0,0)); + var_00.v["fxid"] = "lib_water_dripping_edges"; + var_00.v["delay"] = -3; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((641.375,-2106.6,23),(286,159,0)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_godray_angled_dusty_wrm"); + var_00 common_scripts\_createfx::set_origin_and_angles((452.031,-641.423,165.125),(343.087,341.485,44.3392)); + var_00.v["fxid"] = "lib_godray_angled_dusty_wrm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_water_dripping_edges"); + var_00 common_scripts\_createfx::set_origin_and_angles((939.046,400.663,138.2),(270,0,178)); + var_00.v["fxid"] = "lib_water_dripping_edges"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_falling_water_drip_edge_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1571.57,686.715,236.553),(270,0,-180)); + var_00.v["fxid"] = "lib_falling_water_drip_edge_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_water_pipe_drips"); + var_00 common_scripts\_createfx::set_origin_and_angles((1327.46,1016.47,207.052),(270,0,0)); + var_00.v["fxid"] = "lib_water_pipe_drips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_falling_drip_slow_edge"); + var_00 common_scripts\_createfx::set_origin_and_angles((1042.01,1232.53,221.461),(270,0,177)); + var_00.v["fxid"] = "lib_falling_drip_slow_edge"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_falling_water_drip_edge_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1037.47,1229.58,235.803),(270,180,91)); + var_00.v["fxid"] = "lib_falling_water_drip_edge_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_water_dripping_edges"); + var_00 common_scripts\_createfx::set_origin_and_angles((866.936,-1333.78,138.313),(270,0,177)); + var_00.v["fxid"] = "lib_water_dripping_edges"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_falling_water_drip_edge_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((765.97,-586.462,359.357),(270,180,91)); + var_00.v["fxid"] = "lib_falling_water_drip_edge_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((1577.17,949.113,186.029),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((213.259,593.05,68.5597),(291,93,0)); + var_00.v["fxid"] = "lib_hay_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((662.779,244.474,135.019),(291,93,-42)); + var_00.v["fxid"] = "lib_hay_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lair_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((112.576,-422.759,68.0622),(270,0,0)); + var_00.v["fxid"] = "mp_lair_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((940.736,592.011,68.3969),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_falling_drip_slow_edge"); + var_00 common_scripts\_createfx::set_origin_and_angles((1265.23,476.56,235.5),(270,180,98)); + var_00.v["fxid"] = "lib_falling_drip_slow_edge"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_ambient_needles_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1452.45,-67.3813,-13),(270,180,-115)); + var_00.v["fxid"] = "lib_ambient_needles_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((1763.84,-49.6641,319.472),(270,0,-72)); + var_00.v["fxid"] = "lib_leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((1731.76,-0.813251,239.901),(270,0,-72)); + var_00.v["fxid"] = "lib_leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((1775.57,-67.5744,200.279),(270,0,-72)); + var_00.v["fxid"] = "lib_leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((2345.49,571.422,326.322),(275.119,229.288,-126.619)); + var_00.v["fxid"] = "leaves_runner_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1516.66,369.778,18.7602),(270,0,0)); + var_00.v["fxid"] = "lib_leaves_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1675,951.005,48.6273),(307,78,0)); + var_00.v["fxid"] = "leaves_runner_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_sticks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-818.173,-458.816,50.2033),(270,0,123)); + var_00.v["fxid"] = "lib_hay_sticks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_sticks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-751.001,-432.496,47.7681),(270,0,118)); + var_00.v["fxid"] = "lib_hay_sticks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_sticks_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-808.825,-448.357,49.2134),(270,0,131)); + var_00.v["fxid"] = "lib_hay_sticks_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_sticks_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-744.509,-428.852,47.4789),(270,0,88)); + var_00.v["fxid"] = "lib_hay_sticks_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_sticks_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-754.96,-778.804,51.8742),(270,0,121)); + var_00.v["fxid"] = "lib_hay_sticks_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_sticks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-728.324,-794.786,54.7454),(270,0,123)); + var_00.v["fxid"] = "lib_hay_sticks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-745.178,-375.329,19),(270,0,-143)); + var_00.v["fxid"] = "lib_leaves_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_sticks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1475.21,-225.27,16),(270,0,136)); + var_00.v["fxid"] = "lib_hay_sticks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_sticks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-785.58,-730.284,54.5271),(270,0,123)); + var_00.v["fxid"] = "lib_hay_sticks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_sticks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-328.207,1344.64,45.6611),(270,0,151)); + var_00.v["fxid"] = "lib_hay_sticks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_sticks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-342.595,1265.48,45.8934),(270,0,151)); + var_00.v["fxid"] = "lib_hay_sticks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_sticks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-348.157,1209.05,87.9565),(270,0,172)); + var_00.v["fxid"] = "lib_hay_sticks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_sticks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1036.95,1403.56,6.59955),(270,0,152)); + var_00.v["fxid"] = "lib_hay_sticks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_sticks_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1006.81,180.823,-24.3429),(270,180,4)); + var_00.v["fxid"] = "lib_hay_sticks_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_sticks_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((981.881,134.355,-22.3645),(270,180,4)); + var_00.v["fxid"] = "lib_hay_sticks_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_sticks_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((997.352,65.966,-20.7662),(270,180,4)); + var_00.v["fxid"] = "lib_hay_sticks_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_sticks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((148.361,-1679.97,26.6252),(270,0,66)); + var_00.v["fxid"] = "lib_hay_sticks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_sticks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-524.24,-1288.67,109.101),(270,0,142)); + var_00.v["fxid"] = "lib_hay_sticks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_sticks_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-615.3,-1279.65,47.1091),(270,0,89)); + var_00.v["fxid"] = "lib_hay_sticks_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_sticks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-632.636,-1271.2,48.5232),(270,0,128)); + var_00.v["fxid"] = "lib_hay_sticks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_ripple_distortion"); + var_00 common_scripts\_createfx::set_origin_and_angles((654.009,-1329.51,-33.1954),(270,0,0)); + var_00.v["fxid"] = "lib_ripple_distortion"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_ripple_distortion"); + var_00 common_scripts\_createfx::set_origin_and_angles((656.407,-1297.45,-31.4426),(270,0,0)); + var_00.v["fxid"] = "lib_ripple_distortion"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_ripple_distortion"); + var_00 common_scripts\_createfx::set_origin_and_angles((976.45,717.942,-32),(270,0,-58)); + var_00.v["fxid"] = "lib_ripple_distortion"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_ripple_distortion"); + var_00 common_scripts\_createfx::set_origin_and_angles((474.758,1354.62,-30),(270,0,0)); + var_00.v["fxid"] = "lib_ripple_distortion"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_ripple_distortion"); + var_00 common_scripts\_createfx::set_origin_and_angles((470.085,1317.24,-29),(270,0,0)); + var_00.v["fxid"] = "lib_ripple_distortion"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_ripple_distortion"); + var_00 common_scripts\_createfx::set_origin_and_angles((508.612,1527.35,-31.7139),(270,0,-39)); + var_00.v["fxid"] = "lib_ripple_distortion"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_ambient_needles_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((454.911,1498.45,20),(270,0,107)); + var_00.v["fxid"] = "lib_ambient_needles_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_sticks_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((321.929,2213.61,41.014),(270,180,4)); + var_00.v["fxid"] = "lib_hay_sticks_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_sticks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((314.795,2223.73,45.9701),(270,0,-179)); + var_00.v["fxid"] = "lib_hay_sticks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bet_electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-801.966,-1705.99,208.613),(270,0,0)); + var_00.v["fxid"] = "bet_electrical_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bet_electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((182.058,-566.881,159.768),(270,0,0)); + var_00.v["fxid"] = "bet_electrical_sparks_runner"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("lib_ripple_distortion"); + var_00 common_scripts\_createfx::set_origin_and_angles((782.678,-616.522,-32),(270,0,-49)); + var_00.v["fxid"] = "lib_ripple_distortion"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_ripple_distortion"); + var_00 common_scripts\_createfx::set_origin_and_angles((819.571,-609.386,-32),(270,0,-49)); + var_00.v["fxid"] = "lib_ripple_distortion"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_ripple_distortion"); + var_00 common_scripts\_createfx::set_origin_and_angles((714.219,-632.572,-32),(270,0,-49)); + var_00.v["fxid"] = "lib_ripple_distortion"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1017.53,-493.68,19),(270,180,129)); + var_00.v["fxid"] = "lib_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1158.41,-310.113,24.3821),(270,180,129)); + var_00.v["fxid"] = "lib_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1364.27,-514.006,29.9329),(270,0,-2)); + var_00.v["fxid"] = "lib_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((819.067,1345.06,-29.423),(270,180,83)); + var_00.v["fxid"] = "lib_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((609.808,1231.17,-11),(270,0,-55)); + var_00.v["fxid"] = "lib_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((899.485,1642.13,-14.8713),(270,0,-85)); + var_00.v["fxid"] = "lib_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lib_leaves_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((924.156,1646.08,257.763),(270,0,-76)); + var_00.v["fxid"] = "mp_lib_leaves_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lib_leaves_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((932.444,1571.44,326.041),(270,0,-76)); + var_00.v["fxid"] = "mp_lib_leaves_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lib_leaves_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((886.495,1673.62,131.83),(270,0,-76)); + var_00.v["fxid"] = "mp_lib_leaves_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lib_leaves_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((960.635,1580.15,158.822),(270,0,-76)); + var_00.v["fxid"] = "mp_lib_leaves_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lib_leaves_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((657.485,1247.86,301.831),(270,0,-76)); + var_00.v["fxid"] = "mp_lib_leaves_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lib_leaves_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((715.202,1299.52,248.745),(270,0,-76)); + var_00.v["fxid"] = "mp_lib_leaves_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lib_leaves_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((701.664,1319.92,149.457),(270,0,-76)); + var_00.v["fxid"] = "mp_lib_leaves_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lib_leaves_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((1473.94,2408.43,332.506),(270,0,-76)); + var_00.v["fxid"] = "mp_lib_leaves_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lib_leaves_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((1485.59,2393.4,419.371),(270,0,-76)); + var_00.v["fxid"] = "mp_lib_leaves_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lib_leaves_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((1457.64,2355.47,298.078),(270,0,-76)); + var_00.v["fxid"] = "mp_lib_leaves_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lib_leaves_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((1512.54,2394.03,259.608),(270,0,-76)); + var_00.v["fxid"] = "mp_lib_leaves_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lib_leaves_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((1724.69,1797.59,230.343),(270,0,-76)); + var_00.v["fxid"] = "mp_lib_leaves_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lib_leaves_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((1694.03,1775.73,189.25),(270,0,-76)); + var_00.v["fxid"] = "mp_lib_leaves_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lib_leaves_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1742.39,510.582,325.31),(270,0,-76)); + var_00.v["fxid"] = "mp_lib_leaves_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lib_leaves_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1930.97,558.382,492.829),(270,0,-76)); + var_00.v["fxid"] = "mp_lib_leaves_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lib_leaves_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1731.68,548.577,256.214),(270,0,-76)); + var_00.v["fxid"] = "mp_lib_leaves_falling"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_water_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((114.282,582.518,56),(270,0,0)); + var_00.v["fxid"] = "lib_water_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((767.858,-126.222,334.219),(56.0723,88.2924,172.119)); + var_00.v["fxid"] = "lightbank_fluorescent_glow_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_sticks_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-803.263,-731.198,48.7486),(270,0,122)); + var_00.v["fxid"] = "lib_hay_sticks_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_vent_steam_double_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((1642.45,780.675,430.365),(270,0,0)); + var_00.v["fxid"] = "lib_vent_steam_double_rise"; + var_00.v["delay"] = -3; + var_00 = common_scripts\utility::createoneshoteffect("lib_ripple_distortion"); + var_00 common_scripts\_createfx::set_origin_and_angles((1444.61,-999.671,-32),(270,0,41)); + var_00.v["fxid"] = "lib_ripple_distortion"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1378.33,367.026,184.125),(270,180,90)); + var_00.v["fxid"] = "lib_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1364.71,162.393,178.125),(270,180,90)); + var_00.v["fxid"] = "lib_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty_wrm_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1212.73,-1318.83,-33.8686),(1.82124,280.056,-80.4955)); + var_00.v["fxid"] = "mp_godray_angled_dusty_wrm_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty_wrm_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1193.64,-1065.07,-20),(1.82124,280.056,-80.4955)); + var_00.v["fxid"] = "mp_godray_angled_dusty_wrm_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty_wrm_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1372.39,-1138.4,-14.2685),(8.57218,189.757,-88.9927)); + var_00.v["fxid"] = "mp_godray_angled_dusty_wrm_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty_cool_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((797.099,-108.166,227.826),(1.08022,180.179,-61.1504)); + var_00.v["fxid"] = "mp_godray_angled_dusty_cool_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_ripple_distortion"); + var_00 common_scripts\_createfx::set_origin_and_angles((710.716,-1937.85,-32),(270,0,17)); + var_00.v["fxid"] = "lib_ripple_distortion"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_ripple_distortion"); + var_00 common_scripts\_createfx::set_origin_and_angles((677.67,-1912.33,-32),(270,0,32)); + var_00.v["fxid"] = "lib_ripple_distortion"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_ripple_distortion"); + var_00 common_scripts\_createfx::set_origin_and_angles((682.247,-1933.21,-32),(270,0,32)); + var_00.v["fxid"] = "lib_ripple_distortion"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_ripple_distortion"); + var_00 common_scripts\_createfx::set_origin_and_angles((197.511,-1971.92,7.22775),(270,0,110)); + var_00.v["fxid"] = "lib_ripple_distortion"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_ripple_distortion"); + var_00 common_scripts\_createfx::set_origin_and_angles((-77.8409,-2233.27,8.00001),(270,0,110)); + var_00.v["fxid"] = "lib_ripple_distortion"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_ripple_distortion"); + var_00 common_scripts\_createfx::set_origin_and_angles((-147.343,-2241.64,8),(270,0,110)); + var_00.v["fxid"] = "lib_ripple_distortion"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_ripple_distortion"); + var_00 common_scripts\_createfx::set_origin_and_angles((-184.056,-2228.86,8),(270,0,64)); + var_00.v["fxid"] = "lib_ripple_distortion"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_ripple_distortion"); + var_00 common_scripts\_createfx::set_origin_and_angles((-107.858,-2240.23,8),(270,0,64)); + var_00.v["fxid"] = "lib_ripple_distortion"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_ripple_distortion"); + var_00 common_scripts\_createfx::set_origin_and_angles((418.611,-1380.49,17.2678),(270,0,170)); + var_00.v["fxid"] = "lib_ripple_distortion"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_ripple_distortion"); + var_00 common_scripts\_createfx::set_origin_and_angles((502.506,-1341.47,15.943),(270,0,50)); + var_00.v["fxid"] = "lib_ripple_distortion"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_ripple_distortion"); + var_00 common_scripts\_createfx::set_origin_and_angles((487.194,-1292.71,16),(270,0,50)); + var_00.v["fxid"] = "lib_ripple_distortion"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_dust_falling_round_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((216.938,248.316,9.21008),(270,0,0)); + var_00.v["fxid"] = "lib_dust_falling_round_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_dust_falling_round_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((122.558,83.3148,15),(270,0,0)); + var_00.v["fxid"] = "lib_dust_falling_round_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_dust_falling_round_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((285.291,31.2951,15.4233),(270,0,0)); + var_00.v["fxid"] = "lib_dust_falling_round_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_dust_falling_round_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((319.799,188.286,15.1412),(270,0,0)); + var_00.v["fxid"] = "lib_dust_falling_round_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_dust_falling_round_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1010.68,-1379.58,342),(270,0,0)); + var_00.v["fxid"] = "lib_dust_falling_round_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_dust_falling_round_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1208.25,-1902.65,328),(270,0,0)); + var_00.v["fxid"] = "lib_dust_falling_round_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_dust_falling_round_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1355.08,-1900.48,328),(270,0,0)); + var_00.v["fxid"] = "lib_dust_falling_round_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_dust_falling_round_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1378.05,934.545,234.633),(270,0,0)); + var_00.v["fxid"] = "lib_dust_falling_round_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_dust_falling_round_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1030.29,1286.15,479.875),(270,0,0)); + var_00.v["fxid"] = "lib_dust_falling_round_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_dust_falling_round_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-962.395,1361.82,479.875),(270,0,0)); + var_00.v["fxid"] = "lib_dust_falling_round_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_dust_falling_round_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-875.795,228.397,133.801),(270,0,0)); + var_00.v["fxid"] = "lib_dust_falling_round_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_dust_falling_round_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-732.606,193.578,124.655),(270,0,0)); + var_00.v["fxid"] = "lib_dust_falling_round_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_dust_falling_round_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((302.125,-658.82,316.293),(270,0,0)); + var_00.v["fxid"] = "lib_dust_falling_round_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_dust_falling_round_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((533.733,-678.612,305.031),(270,0,0)); + var_00.v["fxid"] = "lib_dust_falling_round_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_sticks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((189.318,-1685.7,28.7402),(270,0,57)); + var_00.v["fxid"] = "lib_hay_sticks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((182.498,-660.951,303.375),(87.7787,296.9,-154.36)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((300.031,-657.854,303.375),(87.7787,296.9,-154.36)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((299.977,-657.747,303.375),(87.7787,296.9,-154.36)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((419.221,-659.35,303.375),(87.7787,296.9,-154.36)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_spotlight_fan_shadow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1191.24,223.247,363.154),(89,0,0)); + var_00.v["fxid"] = "light_spotlight_fan_shadow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((58.9963,-1718.23,1.50651),(270,0,129)); + var_00.v["fxid"] = "mp_trash_blowing_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((-118.034,-2120.96,8),(270,180,-1)); + var_00.v["fxid"] = "mp_trash_blowing_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((-61.4047,-1414.58,16.9592),(270,180,-1)); + var_00.v["fxid"] = "mp_trash_blowing_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((945.78,2010.22,-24),(270,0,-91)); + var_00.v["fxid"] = "lib_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1061.65,2373.86,-20.7919),(270,180,94)); + var_00.v["fxid"] = "lib_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_dirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((440.74,2557.36,12.9851),(270,180,86)); + var_00.v["fxid"] = "lib_dirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1296.65,1400.83,68.125),(273,269,0)); + var_00.v["fxid"] = "lib_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1261.88,1438.49,26.125),(273,269,0)); + var_00.v["fxid"] = "lib_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1194.04,-59.9585,183),(270,180,-1)); + var_00.v["fxid"] = "mp_trash_blowing_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1169.26,-325.197,36),(270,0,-160)); + var_00.v["fxid"] = "mp_trash_blowing_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1304.29,1286.23,41.125),(270,180,-5)); + var_00.v["fxid"] = "mp_trash_blowing_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_distant_large_amb_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((3342.87,-13609.7,1991.13),(270,0,70)); + var_00.v["fxid"] = "lib_distant_large_amb_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_harbor_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((8961.84,3251.44,303.045),(270,0,127)); + var_00.v["fxid"] = "lib_harbor_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_harbor_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2538.51,2090.1,166.014),(270,0,-136)); + var_00.v["fxid"] = "lib_harbor_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_int_dust_suction"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1179.85,211.023,197.125),(270,0,0)); + var_00.v["fxid"] = "lib_int_dust_suction"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_oriented_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((190.246,578.767,65.5947),(270,0,94)); + var_00.v["fxid"] = "lib_hay_blowing_oriented_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_oriented_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1080.86,-1244.57,-29),(270,0,96)); + var_00.v["fxid"] = "lib_hay_blowing_oriented_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_oriented_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1103.16,-1416.56,-29),(270,0,0)); + var_00.v["fxid"] = "lib_hay_blowing_oriented_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_ripple_distortion"); + var_00 common_scripts\_createfx::set_origin_and_angles((658.58,-1500.82,-32),(270,0,0)); + var_00.v["fxid"] = "lib_ripple_distortion"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_ripple_distortion"); + var_00 common_scripts\_createfx::set_origin_and_angles((674.583,-1120.21,-32),(270,0,0)); + var_00.v["fxid"] = "lib_ripple_distortion"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_oriented_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((102.142,-484.869,57.4066),(270,0,91)); + var_00.v["fxid"] = "lib_hay_blowing_oriented_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_oriented_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((73.8168,-475.777,57.4066),(270,0,74)); + var_00.v["fxid"] = "lib_hay_blowing_oriented_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_oriented_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((137.199,-503.832,58.4066),(270,0,110)); + var_00.v["fxid"] = "lib_hay_blowing_oriented_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_oriented_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((101.555,-337.486,65),(270,0,91)); + var_00.v["fxid"] = "lib_hay_blowing_oriented_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_oriented_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((176.492,-335.233,62),(270,0,91)); + var_00.v["fxid"] = "lib_hay_blowing_oriented_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_oriented_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((646.458,218.919,138.431),(270,0,74)); + var_00.v["fxid"] = "lib_hay_blowing_oriented_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_oriented_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((13.947,647.341,66),(270,0,74)); + var_00.v["fxid"] = "lib_hay_blowing_oriented_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_oriented_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17.6698,719.829,63.125),(270,0,101)); + var_00.v["fxid"] = "lib_hay_blowing_oriented_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_oriented_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((42.1922,759.856,63.125),(270,0,74)); + var_00.v["fxid"] = "lib_hay_blowing_oriented_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_oriented_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5.59963,517.179,63),(270,0,74)); + var_00.v["fxid"] = "lib_hay_blowing_oriented_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_oriented_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((333.954,873.481,62.125),(270,0,0)); + var_00.v["fxid"] = "lib_hay_blowing_oriented_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_oriented_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((154.066,-1729.63,5.85262),(270,0,34)); + var_00.v["fxid"] = "lib_hay_blowing_oriented_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_oriented_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((84.3912,-1688.84,5.50262),(270,0,47)); + var_00.v["fxid"] = "lib_hay_blowing_oriented_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty_white"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1096.38,-1173.53,191.234),(0.208948,84.0011,1.98896)); + var_00.v["fxid"] = "mp_godray_angled_dusty_white"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty_white"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1089.92,-1369.22,184.789),(0.208948,84.0011,1.98896)); + var_00.v["fxid"] = "mp_godray_angled_dusty_white"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty_white"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1190.37,196.578,409.407),(0.103941,86.9971,2.99616)); + var_00.v["fxid"] = "mp_godray_angled_dusty_white"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow_sm_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1019.68,308.781,316.641),(46.9948,272.123,-86.9973)); + var_00.v["fxid"] = "lightbank_fluorescent_glow_sm_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow_sm_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1017.07,135.292,320.318),(43.141,88.0099,89.1848)); + var_00.v["fxid"] = "lightbank_fluorescent_glow_sm_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-912.908,222.771,316.843),(28.9251,1.36324,90.1413)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-925.14,-1827.62,138.649),(23.4475,92.7433,89.1335)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-737.723,-1829.73,142.144),(23.4475,92.7433,89.1335)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-496.333,-1826.58,130.547),(23.4475,92.7433,89.1335)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-912.899,-1456.32,172.409),(87.7782,296.901,-64.3576)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-914.952,-1348.97,172.35),(87.7782,296.901,-64.3576)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-922.353,-1227.61,172.424),(87.7782,296.901,-64.3576)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lightbank_fluorescent_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-924.891,-1120.35,172.478),(87.7782,296.901,-64.3576)); + var_00.v["fxid"] = "lightbank_fluorescent_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1181.7,457,190.125),(273,269,0)); + var_00.v["fxid"] = "lib_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-228.185,2115.19,23.3677),(270,180,83)); + var_00.v["fxid"] = "lib_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((849.707,-891.19,-26),(270,180,83)); + var_00.v["fxid"] = "lib_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((889.528,2343.71,-7.01558),(270,0,-176)); + var_00.v["fxid"] = "lib_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((767.702,2032.91,-31.787),(270,180,89)); + var_00.v["fxid"] = "lib_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-977.971,816.272,71.4502),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-962.696,1208.04,35.778),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-974.208,1342.94,55.2395),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-998.157,1214.48,39.0163),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-980.113,1217.01,41.1157),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-832.804,-751.314,67.3112),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-787.034,-798.019,67.9371),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-275.954,-1113.09,37.7024),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((414.114,-1314.62,57.4268),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1406.34,-578.592,1.73335),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1508.36,-1020.2,-20.3656),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1568.69,-1046.36,6.98742),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1466.98,-1046.48,4.40238),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1088.8,-1115.65,-28.1412),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1104.35,-1308.38,-26),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_sticks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-340.952,-1480.69,44.6502),(270,0,131)); + var_00.v["fxid"] = "lib_hay_sticks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_water_dripping_edges"); + var_00 common_scripts\_createfx::set_origin_and_angles((-236.658,-902.525,396.557),(270,0,90)); + var_00.v["fxid"] = "lib_water_dripping_edges"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_vent_steam_single_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1006.66,228.509,502.252),(270,0,0)); + var_00.v["fxid"] = "lib_vent_steam_single_rise"; + var_00.v["delay"] = -2; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1461.89,259.665,138.125),(273,269,0)); + var_00.v["fxid"] = "lib_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_harbor_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((1915.01,-5958.84,750.278),(270,0,-170)); + var_00.v["fxid"] = "lib_harbor_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_harbor_mist_close"); + var_00 common_scripts\_createfx::set_origin_and_angles((1710.05,3253.29,-58.3878),(270,0,0)); + var_00.v["fxid"] = "lib_harbor_mist_close"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_int_dust_suction_lighter"); + var_00 common_scripts\_createfx::set_origin_and_angles((1358.92,1260.15,132.296),(1,0,0)); + var_00.v["fxid"] = "lib_int_dust_suction_lighter"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_spotlight_cone_blue"); + var_00 common_scripts\_createfx::set_origin_and_angles((-986.705,2035.46,124.083),(34.7395,67.6428,-21.1016)); + var_00.v["fxid"] = "light_spotlight_cone_blue"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_sticks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((142.462,1674.33,90.4898),(270,0,126)); + var_00.v["fxid"] = "lib_hay_sticks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_oriented_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-317.018,-1588.29,22),(270,0,34)); + var_00.v["fxid"] = "lib_hay_blowing_oriented_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_dirt_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-822.398,18.3789,-3.00002),(280,113,154)); + var_00.v["fxid"] = "lib_leaves_dirt_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_vent_steam_single_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1198.37,222.481,481.085),(270,0,0)); + var_00.v["fxid"] = "lib_vent_steam_single_rise"; + var_00.v["delay"] = -8; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((1131.26,-1089.26,71.8423),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-923.625,1222.74,184.125),(270.938,350.011,-98.9869)); + var_00.v["fxid"] = "lib_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((141.118,438.672,92.6478),(270,0,93)); + var_00.v["fxid"] = "lib_hay_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((302.155,440.673,91.4557),(270,0,93)); + var_00.v["fxid"] = "lib_hay_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_sky_dome"); + var_00 common_scripts\_createfx::set_origin_and_angles((172.941,-1444.45,8709.99),(270,0,81)); + var_00.v["fxid"] = "lib_sky_dome"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_oriented_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1375.67,-1298.47,138),(270,0,81)); + var_00.v["fxid"] = "lib_hay_blowing_oriented_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_oriented_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1377.76,-1207.23,139),(270,0,81)); + var_00.v["fxid"] = "lib_hay_blowing_oriented_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_hay_blowing_oriented_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1379.87,-1121.03,150),(270,0,81)); + var_00.v["fxid"] = "lib_hay_blowing_oriented_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lib_fan_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1192.15,217.954,356.883),(270,0,0)); + var_00.v["fxid"] = "lib_fan_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("fx_ape_pit_alarm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-97.7701,262.99,352.748),(270,0,0)); + var_00.v["fxid"] = "fx_ape_pit_alarm"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("fx_ape_pit_alarm"); + var_00 common_scripts\_createfx::set_origin_and_angles((442.128,424.523,351.749),(270,0,0)); + var_00.v["fxid"] = "fx_ape_pit_alarm"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("fx_ape_pit_alarm"); + var_00 common_scripts\_createfx::set_origin_and_angles((505.917,-159.791,352.437),(270,0,0)); + var_00.v["fxid"] = "fx_ape_pit_alarm"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("fx_ape_pit_alarm"); + var_00 common_scripts\_createfx::set_origin_and_angles((7.3617,-143.592,351.766),(270,0,0)); + var_00.v["fxid"] = "fx_ape_pit_alarm"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("lib_gate_open_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((258.319,-38.0244,17.6829),(270,0,0)); + var_00.v["fxid"] = "lib_gate_open_dust"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("lib_gate_open_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((252.825,252.955,14),(270,180,4)); + var_00.v["fxid"] = "lib_gate_open_dust"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("lib_dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-72.662,-78.0581,-244.883),(270,0,0)); + var_00.v["fxid"] = "lib_dust_falling_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "4"; + var_00 = common_scripts\utility::createexploder("lib_dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((46.5593,-78.8723,-245.972),(270,0,0)); + var_00.v["fxid"] = "lib_dust_falling_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "4"; + var_00 = common_scripts\utility::createexploder("lib_dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((537.72,-90.7971,-249.583),(270,0,0)); + var_00.v["fxid"] = "lib_dust_falling_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "4"; + var_00 = common_scripts\utility::createexploder("lib_dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((437.652,-92.1998,-249.583),(270,0,0)); + var_00.v["fxid"] = "lib_dust_falling_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "4"; + var_00 = common_scripts\utility::createexploder("lib_dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-63.4897,336.657,-244.906),(270,0,0)); + var_00.v["fxid"] = "lib_dust_falling_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "4"; + var_00 = common_scripts\utility::createexploder("lib_dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((440.414,332.442,-247.876),(270,0,0)); + var_00.v["fxid"] = "lib_dust_falling_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "4"; + var_00 = common_scripts\utility::createexploder("lib_dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((539.447,341.925,-246.81),(270,0,0)); + var_00.v["fxid"] = "lib_dust_falling_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "4"; + var_00 = common_scripts\utility::createexploder("lib_dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((60.6833,343.208,-249.062),(270,0,0)); + var_00.v["fxid"] = "lib_dust_falling_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "4"; + var_00 = common_scripts\utility::createexploder("lib_hay_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((196.328,21.5392,22.4325),(270,0,78)); + var_00.v["fxid"] = "lib_hay_falling_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("lib_hay_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((288.286,207.316,27),(270,180,46)); + var_00.v["fxid"] = "lib_hay_falling_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("lib_hay_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((325.449,101.792,23.5189),(270,0,152)); + var_00.v["fxid"] = "lib_hay_falling_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("lib_hay_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((133.227,92.8738,22),(272,90,-111)); + var_00.v["fxid"] = "lib_hay_falling_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1678.68,726.593,177.553),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "mp_lib_monkey_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1678.68,726.593,177.553),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_lib_monkey_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1714.89,813.236,107.083),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_lib_monkey_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1696.77,913.409,98.1532),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_lib_monkey_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1716.62,720.65,42.7122),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_lib_monkey_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1710.68,718.676,6.37744),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_lib_monkey_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1691.63,675.012,-15.9509),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_lib_monkey_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1692.96,771.245,12.503),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_lib_monkey_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1696.68,874.322,-23.7465),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_lib_monkey_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1706.4,927.289,41.8001),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_lib_monkey_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1705.68,573.495,139.992),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_lib_monkey_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1690.52,469.692,146.317),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_lib_monkey_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1694.33,475.565,106.851),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_lib_monkey_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1697.15,422.663,104.834),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_lib_monkey_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1699.62,519.625,37.6575),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_lib_monkey_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1698.74,523.397,-15.7127),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_lib_monkey_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1705.64,569.681,-26.8005),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_lib_monkey_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1424.68,-1182.59,165.328),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_lib_monkey_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1424.68,-1302.56,162.718),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_lib_monkey_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1426.68,-1301.63,208.372),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_lib_monkey_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1416.68,-1407.8,210.48),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_lib_monkey_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1416.68,-1404.48,159.589),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_lib_monkey_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1416.68,-1529.77,168.264),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_lib_monkey_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1420.68,-1628.98,166.848),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_lib_monkey_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1152.71,-1794.98,170.062),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_lib_monkey_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1041.11,-1791.98,171.905),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_lib_monkey_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1150.82,-1438.39,166.902),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_lib_monkey_chirps"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_lost_fx.gsc b/AW/PC/maps/createfx/mp_lost_fx.gsc new file mode 100644 index 0000000..7259844 --- /dev/null +++ b/AW/PC/maps/createfx/mp_lost_fx.gsc @@ -0,0 +1,2167 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_lost_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 101 ms + * Timestamp: 4/22/2024 2:07:43 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1059.09,2112.63,839.711),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_roar_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1884.58,-1300.9,503.298),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1113.64,-2123.27,224.689),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1343.85,-1742.68,743.564),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1540.37,-1622.56,731.157),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((449.412,-312.745,240.749),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1128.75,661.389,394.825),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-645.741,830.742,480.315),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((66.3091,1144.1,432.654),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2212.39,-248.017,504.513),(273,90,-90)); + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2156.95,-1305.83,465.21),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((42.7273,-2412.86,314.981),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((555.122,-2222.02,510.95),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((305.001,-1971.34,234.935),(270,0,0)); + var_00.v["soundalias"] = "emt_liquid_tank_boiling_large2_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((73.2491,-1968.08,235.069),(270,0,0)); + var_00.v["soundalias"] = "emt_liquid_tank_boiling_large2_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((56.892,-1732.97,234.881),(270,0,0)); + var_00.v["soundalias"] = "emt_liquid_tank_boiling_large2_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-164.189,-1718.45,235.19),(270,0,0)); + var_00.v["soundalias"] = "emt_liquid_tank_boiling_large2_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-204.193,-1713.62,235.499),(270,0,0)); + var_00.v["soundalias"] = "emt_liquid_tank_boiling_large2_lp_metal"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((31.4813,-1693.35,232.993),(270,0,0)); + var_00.v["soundalias"] = "emt_liquid_tank_boiling_large2_lp_metal"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((103.901,-1708.99,230.704),(270,0,0)); + var_00.v["soundalias"] = "emt_liquid_tank_boiling_large2_lp_metal"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((73.1149,-1912.35,230.908),(270,0,0)); + var_00.v["soundalias"] = "emt_liquid_tank_boiling_large2_lp_metal"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((20.5327,-1968.35,232.149),(270,0,0)); + var_00.v["soundalias"] = "emt_liquid_tank_boiling_large2_lp_metal"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((268.161,-2012,232.429),(270,0,0)); + var_00.v["soundalias"] = "emt_liquid_tank_boiling_large2_lp_metal"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((337.883,-2010.53,231.796),(270,0,0)); + var_00.v["soundalias"] = "emt_liquid_tank_boiling_large2_lp_metal"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-164.098,-1722.4,235.018),(270,0,0)); + var_00.v["soundalias"] = "emt_liquid_tank_boiling_large2_lp_hi"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((61.8132,-1710.87,235.167),(270,0,0)); + var_00.v["soundalias"] = "emt_liquid_tank_boiling_large2_lp_hi"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((60.8133,-1957.5,235.395),(270,0,0)); + var_00.v["soundalias"] = "emt_liquid_tank_boiling_large2_lp_hi"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((300.159,-1973.2,233.45),(270,0,0)); + var_00.v["soundalias"] = "emt_liquid_tank_boiling_large2_lp_hi"; + var_00 = common_scripts\utility::createoneshoteffect("light_wind_sand_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1432.74,-1288.2,356.274),(6.69639,157.363,-84.0364)); + var_00.v["fxid"] = "light_wind_sand_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_gust_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((876.754,2138.51,196.668),(270,0,0)); + var_00.v["fxid"] = "mp_sand_gust_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_gust_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((217.495,-2500.16,330.798),(270,0,-55)); + var_00.v["fxid"] = "mp_sand_gust_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_gust_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((2096.37,416.946,439.503),(270,0,86)); + var_00.v["fxid"] = "mp_sand_gust_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_gust_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((425.719,-161.922,179.44),(270,0,0)); + var_00.v["fxid"] = "mp_sand_gust_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_light_wind_sand_mesh_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1573,-971.645,383.548),(270.262,192.397,-146.949)); + var_00.v["fxid"] = "ground_light_wind_sand_mesh_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_light_wind_sand_mesh_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1010.9,532.317,373.776),(273.503,139.894,-87.4166)); + var_00.v["fxid"] = "ground_light_wind_sand_mesh_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_wind_sand_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-347.903,-2269.39,365.293),(349.969,161.801,-78.3523)); + var_00.v["fxid"] = "light_wind_sand_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_wind_sand_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1085.1,-1003.58,290.968),(21.0722,227.552,-81.9709)); + var_00.v["fxid"] = "light_wind_sand_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_wind_sand_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((85.1139,-898.403,173.636),(270,0,0)); + var_00.v["fxid"] = "light_wind_sand_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_wind_sand_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((679.826,-1139.67,193.27),(270,0,3)); + var_00.v["fxid"] = "light_wind_sand_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_wind_sand_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((319.121,-1522.49,264.945),(270,0,0)); + var_00.v["fxid"] = "light_wind_sand_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_storm_exterior"); + var_00 common_scripts\_createfx::set_origin_and_angles((1339.25,3834.66,457.536),(270,0,74)); + var_00.v["fxid"] = "sand_storm_exterior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_storm_exterior"); + var_00 common_scripts\_createfx::set_origin_and_angles((-323.431,4179.57,481.057),(270,0,98)); + var_00.v["fxid"] = "sand_storm_exterior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_storm_exterior"); + var_00 common_scripts\_createfx::set_origin_and_angles((3737.81,-2926.96,349.874),(270,0,84)); + var_00.v["fxid"] = "sand_storm_exterior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_wind_slow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1463.66,-884.159,395.615),(271,90.0354,-36.0359)); + var_00.v["fxid"] = "ground_sand_wind_slow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_indoor_slw_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1656.11,642.671,536.973),(271,90.027,14.9727)); + var_00.v["fxid"] = "amb_dust_indoor_slw_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_wind_slow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1300.2,1360.05,350.674),(293.015,248.814,-160.164)); + var_00.v["fxid"] = "ground_sand_wind_slow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_godray_hazy_highway_angled_op_tall"); + var_00 common_scripts\_createfx::set_origin_and_angles((1273.43,-1273.05,868.814),(357.986,95.5847,23.1926)); + var_00.v["fxid"] = "light_godray_hazy_highway_angled_op_tall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_indoor_slw_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((57.2531,1053.31,188.771),(271,90.027,14.9727)); + var_00.v["fxid"] = "amb_dust_indoor_slw_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_indoor_slw_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((25.9623,859.901,182.83),(271,90.027,14.9727)); + var_00.v["fxid"] = "amb_dust_indoor_slw_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_wind_slow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1271.68,169.199,389.717),(271,90.0351,-18.0358)); + var_00.v["fxid"] = "ground_sand_wind_slow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_indoor_slw_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1371.62,478.738,509.349),(271,90.027,14.9727)); + var_00.v["fxid"] = "amb_dust_indoor_slw_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((316.917,44.1886,218.125),(271,90.0307,5.96884)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((35.5886,1058.86,245.105),(271,90.0307,5.96884)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_light_sand_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1033.51,1375.24,419.84),(271,90.0307,5.96884)); + var_00.v["fxid"] = "mp_light_sand_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_light_sand_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1017.28,888.795,482.125),(271,90.0307,5.96884)); + var_00.v["fxid"] = "mp_light_sand_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1652.38,974.692,479.651),(271,90.0307,5.96884)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_light_sand_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1621.76,511.102,621.949),(271,90.0307,5.96884)); + var_00.v["fxid"] = "mp_light_sand_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_light_sand_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1955.32,-504.539,645.383),(271,90.0307,5.96884)); + var_00.v["fxid"] = "mp_light_sand_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_light_sand_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1428.51,-1134.67,607.21),(271,90.0307,5.96884)); + var_00.v["fxid"] = "mp_light_sand_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-528.534,-1490.55,363.29),(271,90.0307,5.96884)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((368.291,-1094.86,218.125),(271,90.0307,5.96884)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1.39702,-866.8,217.125),(271,90.0307,5.96884)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_indoor_slw_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21.0079,-849.579,166.125),(271,90.027,14.9727)); + var_00.v["fxid"] = "amb_dust_indoor_slw_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_indoor_slw_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((246.616,-607.382,177.125),(271,90.027,14.9727)); + var_00.v["fxid"] = "amb_dust_indoor_slw_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_indoor_slw_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((371.747,-1009.78,171.125),(271,90.027,14.9727)); + var_00.v["fxid"] = "amb_dust_indoor_slw_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_light_wind_sand_mesh_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1787.51,-1194.97,297.48),(286.275,124.823,-41.0444)); + var_00.v["fxid"] = "ground_light_wind_sand_mesh_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_sunflare_mp_lost"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53.4648,-160.259,1091.13),(270,0,0)); + var_00.v["fxid"] = "fx_sunflare_mp_lost"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1630.99,1647.24,611.054),(350.011,134.958,0.265064)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2181.99,-1881,422.867),(356.395,39.8846,3.81198)); + var_00.v["fxid"] = "mp_trash_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1227.03,1857.74,602.84),(357,137.995,-5.89444)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((1857.14,-594.861,1068.18),(4.15395,102.904,-2.78616)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("mp_trash_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2418.3,-367.592,577.391),(354.389,66.9033,2.50329)); + var_00.v["fxid"] = "mp_trash_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_ambient_outdoors_wide_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((26.6591,2253.21,354.066),(288.763,86.829,9.31181)); + var_00.v["fxid"] = "godray_ambient_outdoors_wide_lrg"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("godray_ambient_outdoors_wide_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-164.169,2178.9,410.799),(288.763,86.829,9.31181)); + var_00.v["fxid"] = "godray_ambient_outdoors_wide_lrg"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("godray_ambient_outdoors_wide_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((492.734,2156.61,301.507),(288.763,86.829,9.31181)); + var_00.v["fxid"] = "godray_ambient_outdoors_wide_lrg"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("godray_ambient_outdoors_wide_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-470.355,2156.7,479.169),(288.763,86.829,9.31181)); + var_00.v["fxid"] = "godray_ambient_outdoors_wide_lrg"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("mp_light_sand_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1446.04,-613.964,637.125),(271,90.0307,5.96884)); + var_00.v["fxid"] = "mp_light_sand_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_storm_exterior"); + var_00 common_scripts\_createfx::set_origin_and_angles((3682.77,2330.6,410.23),(270,0,135)); + var_00.v["fxid"] = "sand_storm_exterior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((53.0835,-1922.39,228),(271,90.0307,5.96884)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_wind_sand_mesh_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-966.241,-905.115,739.125),(270,0,92)); + var_00.v["fxid"] = "ground_wind_sand_mesh_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_dripping"); + var_00 common_scripts\_createfx::set_origin_and_angles((-287.663,-463.308,619.11),(270,0,66)); + var_00.v["fxid"] = "sand_dripping"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_dripping"); + var_00 common_scripts\_createfx::set_origin_and_angles((442.186,458.327,725.267),(270,0,90)); + var_00.v["fxid"] = "sand_dripping"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_dripping"); + var_00 common_scripts\_createfx::set_origin_and_angles((-357.832,364.393,744.604),(270,0,-49)); + var_00.v["fxid"] = "sand_dripping"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_wind_sand_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2032.08,100.539,485.163),(347.928,197.518,-77.0901)); + var_00.v["fxid"] = "light_wind_sand_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_wind_sand_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1603.3,1262.57,371.227),(347.69,173.792,-80.3999)); + var_00.v["fxid"] = "light_wind_sand_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_wind_sand_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1086.72,1843.89,222.394),(7.22894,207.758,-83.4086)); + var_00.v["fxid"] = "light_wind_sand_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_wind_sand_mesh_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1362.44,-395.812,358),(270,0,101)); + var_00.v["fxid"] = "ground_wind_sand_mesh_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_wind_sand_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-838.705,-1764.16,282.068),(6.65237,146.917,-99.2204)); + var_00.v["fxid"] = "light_wind_sand_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_wind_sand_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-964.072,652.776,268),(354.496,180.742,-95.3189)); + var_00.v["fxid"] = "light_wind_sand_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_dripping"); + var_00 common_scripts\_createfx::set_origin_and_angles((551.397,-368.297,803.001),(270,180,130)); + var_00.v["fxid"] = "sand_dripping"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_dripping"); + var_00 common_scripts\_createfx::set_origin_and_angles((-326.706,-446.827,720.305),(270,0,76)); + var_00.v["fxid"] = "sand_dripping"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_dripping"); + var_00 common_scripts\_createfx::set_origin_and_angles((417.662,-457.576,645.83),(270,0,-67)); + var_00.v["fxid"] = "sand_dripping"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_wind_sand_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1158.51,-1729.65,384.617),(347.928,197.518,-77.0901)); + var_00.v["fxid"] = "light_wind_sand_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_wind_sand_mesh_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1456.08,60.4118,459),(270,0,113)); + var_00.v["fxid"] = "ground_wind_sand_mesh_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_wind_sand_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((287.782,184.693,156.041),(270,0,0)); + var_00.v["fxid"] = "light_wind_sand_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_wind_slow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((838.391,103.235,339.7),(317.295,206.054,-90.1786)); + var_00.v["fxid"] = "ground_sand_wind_slow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_wind_slow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((355.134,-394.214,206.125),(272.059,132.032,-135.394)); + var_00.v["fxid"] = "ground_sand_wind_slow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1134.25,-1323.19,394.93),(270,0,3)); + var_00.v["fxid"] = "sand_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2175.91,-255.426,495.5),(3.38,353.652,-76.2628)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8.55707,-2492.77,341.837),(345.51,289.183,166.202)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("light_wind_sand_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1856.49,-1323.17,419.93),(18.7848,175.537,-71.9222)); + var_00.v["fxid"] = "light_wind_sand_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_wind_sand_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1290.7,1152.87,250.984),(4.32615,222.585,-82.039)); + var_00.v["fxid"] = "light_wind_sand_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_storm_exterior"); + var_00 common_scripts\_createfx::set_origin_and_angles((4688.65,655.533,430.478),(270,0,113)); + var_00.v["fxid"] = "sand_storm_exterior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_storm_exterior"); + var_00 common_scripts\_createfx::set_origin_and_angles((7273.4,-1262.48,442.801),(270,0,113)); + var_00.v["fxid"] = "sand_storm_exterior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_mesh_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((3787.03,1186.61,373.083),(276,201,-90)); + var_00.v["fxid"] = "sand_mesh_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_mesh_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((1759.33,1119.15,376.539),(270,0,69)); + var_00.v["fxid"] = "sand_mesh_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_mesh_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((2171.73,-1389.82,496.348),(298.474,356.267,102.396)); + var_00.v["fxid"] = "sand_mesh_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_mesh_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((2218.68,-1691.46,431.723),(300.173,333.214,148.161)); + var_00.v["fxid"] = "sand_mesh_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_mesh_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((2187.82,-1048.29,512.206),(299.372,10.5448,95.4776)); + var_00.v["fxid"] = "sand_mesh_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_mesh_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((2216.76,-330.787,539.39),(308.78,359.806,104.777)); + var_00.v["fxid"] = "sand_mesh_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_storm_exterior"); + var_00 common_scripts\_createfx::set_origin_and_angles((5597.43,-2601.07,403.642),(270,0,113)); + var_00.v["fxid"] = "sand_storm_exterior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1922.25,1368.06,369.778),(10.5968,349.167,-178.124)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("sand_storm_exterior"); + var_00 common_scripts\_createfx::set_origin_and_angles((610.881,-3711.98,347.334),(274.06,295.273,104.099)); + var_00.v["fxid"] = "sand_storm_exterior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_wind_slow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1748.56,1219.27,376.743),(271,90.0434,-31.0441)); + var_00.v["fxid"] = "ground_sand_wind_slow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_wind_slow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1832.33,-1616.42,391.305),(271,90.027,14.9727)); + var_00.v["fxid"] = "ground_sand_wind_slow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_wind_slow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1982.08,-1377.91,450.492),(281.781,190.365,-116.263)); + var_00.v["fxid"] = "ground_sand_wind_slow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_wind_sand_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((760.257,1774.9,233.709),(6.9566,121.421,-76.0337)); + var_00.v["fxid"] = "light_wind_sand_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1149.82,1015.87,290.846),(20.9175,32.6218,173.993)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_wind_slow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1013.42,-1232.78,329.562),(289.808,319.101,91.2481)); + var_00.v["fxid"] = "ground_sand_wind_slow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_in_air"); + var_00 common_scripts\_createfx::set_origin_and_angles((138.441,-1828.94,402.008),(287.475,60,-149.396)); + var_00.v["fxid"] = "mp_sand_in_air"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_in_air"); + var_00 common_scripts\_createfx::set_origin_and_angles((1597.75,-276.705,576.307),(287.475,60,-149.396)); + var_00.v["fxid"] = "mp_sand_in_air"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_in_air"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1424.42,507.918,519.036),(287.475,60,-149.396)); + var_00.v["fxid"] = "mp_sand_in_air"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_in_air"); + var_00 common_scripts\_createfx::set_origin_and_angles((805.753,-1864.41,524.548),(287.475,60,-149.396)); + var_00.v["fxid"] = "mp_sand_in_air"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_in_air"); + var_00 common_scripts\_createfx::set_origin_and_angles((1621.11,-174.333,638.725),(287.475,60,-149.396)); + var_00.v["fxid"] = "mp_sand_in_air"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_in_air"); + var_00 common_scripts\_createfx::set_origin_and_angles((1218.03,1225.82,604.636),(287.475,60,-149.396)); + var_00.v["fxid"] = "mp_sand_in_air"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_in_air"); + var_00 common_scripts\_createfx::set_origin_and_angles((1823.23,-2352.33,697.252),(287.475,60,-123.396)); + var_00.v["fxid"] = "mp_sand_in_air"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_in_air"); + var_00 common_scripts\_createfx::set_origin_and_angles((1908.71,-1050.24,722.813),(287.475,60,-149.396)); + var_00.v["fxid"] = "mp_sand_in_air"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_in_air"); + var_00 common_scripts\_createfx::set_origin_and_angles((148.391,-2453.56,627.602),(287.475,60,-149.396)); + var_00.v["fxid"] = "mp_sand_in_air"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_in_air"); + var_00 common_scripts\_createfx::set_origin_and_angles((-988.474,1596.15,624.529),(274.742,161.772,154.547)); + var_00.v["fxid"] = "mp_sand_in_air"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_in_air"); + var_00 common_scripts\_createfx::set_origin_and_angles((1142.75,1627.52,706.555),(287.475,60,-149.396)); + var_00.v["fxid"] = "mp_sand_in_air"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1747.09,-1927.42,640.027),(3.38,353.652,-76.2628)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1775.64,-1939.39,653.676),(3.38,353.652,-76.2628)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2107.13,-1749.61,415.313),(3.38,353.652,-76.2628)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2113.06,-1762.82,457.417),(3.38,353.652,-76.2628)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1148.27,-1896.22,418.949),(3.38,353.652,-76.2628)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((482.813,-2516.67,717.488),(3.38,353.652,-76.2628)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((561.888,-2171.82,496.662),(3.38,353.652,-76.2628)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((420.32,-2197.78,475.792),(3.38,353.652,-76.2628)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83.8996,-2003,682.609),(3.38,353.652,-76.2628)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1302.89,-1364.09,315.386),(3.38001,353.652,-146.263)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((443.595,-307.067,244.768),(3.38001,353.652,156.737)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1417.87,1465.08,393.224),(3.38,353.652,-76.2628)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1306.24,1522.01,402.695),(7.09016,19.4997,-6.8631)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((294.232,-1060.86,405.242),(271,90.0307,5.96884)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-128.875,-922.973,421.882),(271,90.0307,5.96884)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((245.182,-600.989,237.138),(271,90.0307,5.96884)); + var_00.v["fxid"] = "light_dust_particles_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((259.074,-895.543,588.678),(357,137.995,-5.89444)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-19.1798,-982.548,541.398),(357,137.995,-5.89444)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3.20179,268.415,655.132),(357,137.995,-5.89444)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_fine_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1081.56,-1569.54,281),(271.748,275.428,79.1998)); + var_00.v["fxid"] = "ground_sand_fine_flat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_fine_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1541.61,919.673,267),(271.748,275.428,76.2001)); + var_00.v["fxid"] = "ground_sand_fine_flat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_fine_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((999.356,1130.91,323.571),(280.432,144.742,-166.762)); + var_00.v["fxid"] = "ground_sand_fine_flat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-430.689,-2282.41,438.133),(3.62604,344.795,175.414)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_fine_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((1997.52,468.863,393),(270,0,-30)); + var_00.v["fxid"] = "ground_sand_fine_flat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_light_wind_sand_mesh_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((683.385,55.9058,312.125),(275.547,332.224,117.214)); + var_00.v["fxid"] = "ground_light_wind_sand_mesh_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_light_wind_sand_mesh_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1662.46,-1403.81,278.065),(272.662,250.839,-168.062)); + var_00.v["fxid"] = "ground_light_wind_sand_mesh_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_in_air"); + var_00 common_scripts\_createfx::set_origin_and_angles((2134.72,312.598,673.608),(287.475,60,-149.396)); + var_00.v["fxid"] = "mp_sand_in_air"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_in_air"); + var_00 common_scripts\_createfx::set_origin_and_angles((-225.736,728.421,417.279),(287.475,60,-149.396)); + var_00.v["fxid"] = "mp_sand_in_air"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_in_air"); + var_00 common_scripts\_createfx::set_origin_and_angles((735.585,-61.9857,984),(287.475,60,-149.396)); + var_00.v["fxid"] = "mp_sand_in_air"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_light_sand_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((214.683,-252.278,237.941),(271,90.0307,5.96884)); + var_00.v["fxid"] = "mp_light_sand_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_in_air"); + var_00 common_scripts\_createfx::set_origin_and_angles((1929.75,1197.13,645.603),(287.475,60,-149.396)); + var_00.v["fxid"] = "mp_sand_in_air"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_in_air"); + var_00 common_scripts\_createfx::set_origin_and_angles((1709.12,563.084,881.423),(287.475,60,-149.396)); + var_00.v["fxid"] = "mp_sand_in_air"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_in_air"); + var_00 common_scripts\_createfx::set_origin_and_angles((-264.428,-2124.44,513.426),(287.475,60,-149.396)); + var_00.v["fxid"] = "mp_sand_in_air"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_wind_sand_mesh_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((1789.05,-167.95,503.172),(270,0,60)); + var_00.v["fxid"] = "ground_wind_sand_mesh_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_wind_sand_mesh_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((1826.75,-1039.8,509),(270,0,113)); + var_00.v["fxid"] = "ground_wind_sand_mesh_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_in_air"); + var_00 common_scripts\_createfx::set_origin_and_angles((-197.771,2257.33,505.377),(287.475,60,-149.396)); + var_00.v["fxid"] = "mp_sand_in_air"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_wind_slow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1853.03,-760.005,534.47),(277.46,317.619,98.2058)); + var_00.v["fxid"] = "ground_sand_wind_slow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_in_air"); + var_00 common_scripts\_createfx::set_origin_and_angles((-647.552,-1526.13,585.234),(287.475,60,-149.396)); + var_00.v["fxid"] = "mp_sand_in_air"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_in_air"); + var_00 common_scripts\_createfx::set_origin_and_angles((-886.786,825.644,561.768),(287.475,60,-149.396)); + var_00.v["fxid"] = "mp_sand_in_air"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_fine_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((1980.55,-1040.93,497),(278.477,8.84278,-45.1586)); + var_00.v["fxid"] = "ground_sand_fine_flat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_fine_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((1721.2,-1350.87,414),(277.993,0.179584,-34)); + var_00.v["fxid"] = "ground_sand_fine_flat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_fine_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((1862.63,1107.07,377.005),(270,0,-33)); + var_00.v["fxid"] = "ground_sand_fine_flat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_wind_sand_mesh_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1566.16,-1085.26,367.518),(270,0,113)); + var_00.v["fxid"] = "ground_wind_sand_mesh_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_fine_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((1440.94,365.082,384),(270,0,-17)); + var_00.v["fxid"] = "ground_sand_fine_flat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_fine_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53.4212,2295.88,184.149),(279.218,251.574,-172.415)); + var_00.v["fxid"] = "ground_sand_fine_flat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_dripping"); + var_00 common_scripts\_createfx::set_origin_and_angles((-37.7488,-998.64,687.96),(276,220,41)); + var_00.v["fxid"] = "sand_dripping"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_in_air"); + var_00 common_scripts\_createfx::set_origin_and_angles((126.795,-923.489,652.875),(287.475,60,-149.396)); + var_00.v["fxid"] = "mp_sand_in_air"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_gust_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-114.8,-1393.49,240.508),(270,0,-91)); + var_00.v["fxid"] = "mp_sand_gust_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_gust_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((206.159,-2284.15,258.361),(270,0,-91)); + var_00.v["fxid"] = "mp_sand_gust_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_gust_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((851.286,-1966.87,297.73),(270,0,-91)); + var_00.v["fxid"] = "mp_sand_gust_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_gust_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((218.609,453.645,165.347),(270,0,-91)); + var_00.v["fxid"] = "mp_sand_gust_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_gust_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-248.991,-412.26,242.608),(270,0,-91)); + var_00.v["fxid"] = "mp_sand_gust_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_gust_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-425.051,1787.25,198.177),(270,0,87)); + var_00.v["fxid"] = "mp_sand_gust_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_gust_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((2048.18,-1650.43,404.056),(270,180,-114)); + var_00.v["fxid"] = "mp_sand_gust_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_gust_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-302.072,-2289.37,485.532),(270,0,87)); + var_00.v["fxid"] = "mp_sand_gust_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_dripping"); + var_00 common_scripts\_createfx::set_origin_and_angles((-191.063,-1383.72,647.237),(276,220,46)); + var_00.v["fxid"] = "sand_dripping"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_dripping"); + var_00 common_scripts\_createfx::set_origin_and_angles((1083.79,801.597,880.941),(276,220,-46)); + var_00.v["fxid"] = "sand_dripping"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_dripping"); + var_00 common_scripts\_createfx::set_origin_and_angles((-196.786,487.888,674.234),(276,220,50)); + var_00.v["fxid"] = "sand_dripping"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_dripping"); + var_00 common_scripts\_createfx::set_origin_and_angles((-939.478,1408.3,789.134),(276,220,96)); + var_00.v["fxid"] = "sand_dripping"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_dripping"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1740.64,-628.528,759.145),(276,220,-30)); + var_00.v["fxid"] = "sand_dripping"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_gust_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((1135.53,235.141,382.115),(270,0,86)); + var_00.v["fxid"] = "mp_sand_gust_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_gust_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((1141.18,-506.087,391.434),(270,0,86)); + var_00.v["fxid"] = "mp_sand_gust_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_gust_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-262.781,786.659,187.412),(270,0,86)); + var_00.v["fxid"] = "mp_sand_gust_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_dripping"); + var_00 common_scripts\_createfx::set_origin_and_angles((199.16,1302.82,558.875),(276,220,142)); + var_00.v["fxid"] = "sand_dripping"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-636.101,1621.02,227.036),(10.5968,349.167,-178.124)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-728.414,1793.81,632.631),(324.129,111.172,169.383)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((4222.34,1256.65,372.17),(270,0,0)); + var_00.v["fxid"] = "heat_distortion_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1470.52,-3875.22,311.827),(270,0,-96)); + var_00.v["fxid"] = "heat_distortion_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4048.89,-1529.74,272.705),(270,0,-147)); + var_00.v["fxid"] = "heat_distortion_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4179.57,-307.976,371.709),(270,0,173)); + var_00.v["fxid"] = "heat_distortion_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3697.94,1997.57,297.9),(270,0,142)); + var_00.v["fxid"] = "heat_distortion_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1854.14,-24.1678,221.594),(3.38001,353.652,-12.263)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_in_air"); + var_00 common_scripts\_createfx::set_origin_and_angles((602.325,2374.07,606.775),(287.475,60,-149.396)); + var_00.v["fxid"] = "mp_sand_in_air"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_in_air"); + var_00 common_scripts\_createfx::set_origin_and_angles((1873.78,-1661.8,661.406),(287.475,60,-149.396)); + var_00.v["fxid"] = "mp_sand_in_air"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_mesh_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-895.891,2336.79,264.383),(276.332,237.247,-100.639)); + var_00.v["fxid"] = "sand_mesh_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((2214.14,3708.2,297.435),(270,0,85)); + var_00.v["fxid"] = "heat_distortion_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3434.87,-3102.08,271.945),(270,0,-130)); + var_00.v["fxid"] = "heat_distortion_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((3610.35,-3312.45,472.044),(270,180,-34)); + var_00.v["fxid"] = "heat_distortion_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((1416.1,-2866.25,762),(282,7,85)); + var_00.v["fxid"] = "heat_distortion_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2169.18,3184.8,382.141),(270,0,111)); + var_00.v["fxid"] = "heat_distortion_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((11.0535,-3863.9,361.526),(270,180,88)); + var_00.v["fxid"] = "heat_distortion_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_dripping"); + var_00 common_scripts\_createfx::set_origin_and_angles((-502.671,1644.93,713.469),(276,220,41)); + var_00.v["fxid"] = "sand_dripping"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((195.305,698.378,215.59),(270,0,0)); + var_00.v["fxid"] = "sand_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_dripping"); + var_00 common_scripts\_createfx::set_origin_and_angles((549.912,400.357,785.466),(276,220,5)); + var_00.v["fxid"] = "sand_dripping"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2757.58,2381.39,170.347),(270,0,0)); + var_00.v["fxid"] = "heat_distortion_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((3803,-141.125,376),(270,180,143)); + var_00.v["fxid"] = "heat_distortion_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3736.56,-1741.29,374.792),(270,180,-139)); + var_00.v["fxid"] = "heat_distortion_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3407.99,1922.45,429.429),(270,180,137)); + var_00.v["fxid"] = "heat_distortion_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1400.28,2828.3,296.309),(270,0,0)); + var_00.v["fxid"] = "heat_distortion_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((2393.25,-2023.08,376),(270,180,135)); + var_00.v["fxid"] = "heat_distortion_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1270.79,-3546.91,292.869),(270,180,-89)); + var_00.v["fxid"] = "heat_distortion_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-697.445,755.73,297.77),(270,0,0)); + var_00.v["fxid"] = "sand_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-173.285,2795.58,300.149),(270,0,0)); + var_00.v["fxid"] = "sand_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-202.825,-229.702,152.658),(270,0,0)); + var_00.v["fxid"] = "sand_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-286.615,-880.188,656.564),(357,137.995,-5.89444)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-411.442,117.572,785.292),(1.60722,208.148,48.9382)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((465.889,304.793,842.587),(1.60722,208.148,48.9382)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-37.6315,464.974,693.147),(1.60722,208.148,48.9382)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((138.744,-226.227,717.189),(1.60722,208.148,48.9382)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-163.687,971.366,687.186),(351.14,196.005,49.7131)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21.0968,966.506,623.328),(336.385,176.212,55.345)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((1935.14,-649.11,1023.97),(350.274,269.001,-28.1908)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1478.53,-618.123,692.033),(321.061,29.8652,-68.6745)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1186.76,1325.25,632.545),(342.759,54.6607,12.9115)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((1409.49,-1365.86,661.992),(11.6897,19.7781,138.607)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((1086.24,-1352.52,649.982),(11.6897,19.7781,138.607)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1303.33,1156.04,541.689),(10.7874,0.183243,145.677)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((351.954,1453.03,611.875),(11.6897,19.7781,138.607)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((1596.01,694.879,819.543),(32.4174,148.24,-20.833)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1182.68,1627.75,459.946),(3.40988,184.184,51.1196)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-940.641,1766.53,435.852),(359.636,179.516,50.9956)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1407,1349.19,452.612),(3.40988,184.184,51.1196)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-637.775,1935.8,442.392),(10.8624,193.67,52.3031)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("mp_godray_angled_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((583.418,2397.8,721.05),(10.8624,193.67,52.3031)); + var_00.v["fxid"] = "mp_godray_angled_dusty"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_scroll"); + var_00 common_scripts\_createfx::set_origin_and_angles((1712.89,163.439,393),(270,180,-123)); + var_00.v["fxid"] = "ground_sand_scroll"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_scroll"); + var_00 common_scripts\_createfx::set_origin_and_angles((1241.42,1239.82,328.509),(279.292,200.641,-142.836)); + var_00.v["fxid"] = "ground_sand_scroll"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_scroll"); + var_00 common_scripts\_createfx::set_origin_and_angles((1865.17,306.176,391.661),(270,180,-117)); + var_00.v["fxid"] = "ground_sand_scroll"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_scroll"); + var_00 common_scripts\_createfx::set_origin_and_angles((-904.809,-1420.24,275.905),(270,0,53)); + var_00.v["fxid"] = "ground_sand_scroll"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_scroll"); + var_00 common_scripts\_createfx::set_origin_and_angles((1402.97,-1753.47,410.328),(276,183,-90)); + var_00.v["fxid"] = "ground_sand_scroll"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_scroll"); + var_00 common_scripts\_createfx::set_origin_and_angles((1708.38,-1722.99,407.71),(271,3,91)); + var_00.v["fxid"] = "ground_sand_scroll"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirt_cast_up"); + var_00 common_scripts\_createfx::set_origin_and_angles((13215.8,1925.99,980.853),(270,0,-131)); + var_00.v["fxid"] = "dirt_cast_up"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirt_cast_up"); + var_00 common_scripts\_createfx::set_origin_and_angles((6747.25,-5212.83,829.972),(270,0,161)); + var_00.v["fxid"] = "dirt_cast_up"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirt_cast_up"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6829.7,-739.236,760.076),(270,0,161)); + var_00.v["fxid"] = "dirt_cast_up"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirt_cast_up"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13252,7629.36,1386.51),(270,0,-72)); + var_00.v["fxid"] = "dirt_cast_up"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_scroll"); + var_00 common_scripts\_createfx::set_origin_and_angles((1440.23,-192.042,390),(270,0,51)); + var_00.v["fxid"] = "ground_sand_scroll"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_scroll"); + var_00 common_scripts\_createfx::set_origin_and_angles((2016.17,704.484,394.178),(270,0,93)); + var_00.v["fxid"] = "ground_sand_scroll"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_scroll"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1680.69,856.985,266.732),(270,0,93)); + var_00.v["fxid"] = "ground_sand_scroll"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1253.59,-557.013,353.569),(270,0,0)); + var_00.v["fxid"] = "sand_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_dripping"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1134.92,-696.712,643.972),(276,220,-30)); + var_00.v["fxid"] = "sand_dripping"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirt_cast_up"); + var_00 common_scripts\_createfx::set_origin_and_angles((2829.12,6038.44,585.595),(270,0,-49)); + var_00.v["fxid"] = "dirt_cast_up"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_scroll"); + var_00 common_scripts\_createfx::set_origin_and_angles((-323.228,-2131.8,336),(270,5.84726,87.1527)); + var_00.v["fxid"] = "ground_sand_scroll"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_wind_slow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1796.59,628.714,389.864),(271,90.027,14.9727)); + var_00.v["fxid"] = "ground_sand_wind_slow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_wind_slow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1313.82,595.226,392.485),(271,90.027,14.9727)); + var_00.v["fxid"] = "ground_sand_wind_slow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2478.39,2944.79,350.875),(270,180,137)); + var_00.v["fxid"] = "heat_distortion_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3105.04,-2908.05,309.522),(270,180,-139)); + var_00.v["fxid"] = "heat_distortion_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_fine_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((163.217,1878.51,144.859),(273.352,48.0888,31.4924)); + var_00.v["fxid"] = "ground_sand_fine_flat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_fine_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((1124.11,-656.361,390.084),(270,0,81)); + var_00.v["fxid"] = "ground_sand_fine_flat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_fine_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((949.705,472.17,376.158),(270,180,102)); + var_00.v["fxid"] = "ground_sand_fine_flat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_fine_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((933.03,1444.1,293.09),(276.633,108.486,-152.233)); + var_00.v["fxid"] = "ground_sand_fine_flat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_fine_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7.37385,617.929,175.51),(270,0,0)); + var_00.v["fxid"] = "ground_sand_fine_flat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_fine_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1285.82,-458.825,354),(270,0,0)); + var_00.v["fxid"] = "ground_sand_fine_flat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_fine_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((1379.96,-1343.16,412.114),(270,0,0)); + var_00.v["fxid"] = "ground_sand_fine_flat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_in_air"); + var_00 common_scripts\_createfx::set_origin_and_angles((2328.88,-948.863,907.999),(287.475,60,-149.396)); + var_00.v["fxid"] = "mp_sand_in_air"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_in_air"); + var_00 common_scripts\_createfx::set_origin_and_angles((1434.87,-922.046,584.96),(287.475,60,-149.396)); + var_00.v["fxid"] = "mp_sand_in_air"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_fine_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((44.5762,-2299.51,259.967),(294.485,102.814,179.726)); + var_00.v["fxid"] = "ground_sand_fine_flat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_gust_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1870.6,-744.162,271.881),(270,0,-91)); + var_00.v["fxid"] = "mp_sand_gust_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_wind_slow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-697.029,2507.85,288.58),(281.215,288.988,-101.021)); + var_00.v["fxid"] = "ground_sand_wind_slow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_fine_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((-712.811,1797.46,222.394),(273.517,280.712,104.858)); + var_00.v["fxid"] = "ground_sand_fine_flat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_fine_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((-544.813,-1884.61,335.194),(274,180,-168)); + var_00.v["fxid"] = "ground_sand_fine_flat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_fine_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1222.26,1644.84,232.039),(276.049,324.045,79.7311)); + var_00.v["fxid"] = "ground_sand_fine_flat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_wind_sand_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1730.65,-915.81,283.779),(6.65231,146.917,-96.2205)); + var_00.v["fxid"] = "light_wind_sand_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_wind_sand_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-334.016,779.639,233.084),(6.65237,146.917,-99.2204)); + var_00.v["fxid"] = "light_wind_sand_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_in_air"); + var_00 common_scripts\_createfx::set_origin_and_angles((-671.043,776.115,789.125),(287.475,60,-137.396)); + var_00.v["fxid"] = "mp_sand_in_air"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("warm_flare_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-185.986,-930.875,359.563),(29.7485,32.6797,-163.643)); + var_00.v["fxid"] = "warm_flare_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("warm_flare_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-867.89,1077.99,619.182),(17.1661,162.062,179.585)); + var_00.v["fxid"] = "warm_flare_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_purple_line_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((694.639,-2071.95,578.018),(270,0,0)); + var_00.v["fxid"] = "falling_water_purple_line_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_purple_line_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((691.921,-2149.53,654.762),(270,0,0)); + var_00.v["fxid"] = "falling_water_purple_line_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirt_rotate_up"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6016.34,-374.21,424.058),(270,0,158)); + var_00.v["fxid"] = "dirt_rotate_up"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirt_rotate_up"); + var_00 common_scripts\_createfx::set_origin_and_angles((7438.76,-4653.24,589.703),(281.646,317.34,-151.816)); + var_00.v["fxid"] = "dirt_rotate_up"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirt_rotate_up"); + var_00 common_scripts\_createfx::set_origin_and_angles((1812.05,6133.75,454.282),(270,55.6733,-92.6734)); + var_00.v["fxid"] = "dirt_rotate_up"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_cleaner_machine"); + var_00 common_scripts\_createfx::set_origin_and_angles((-170.855,-1717.89,228.369),(270,0,0)); + var_00.v["fxid"] = "water_cleaner_machine"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_cleaner_machine"); + var_00 common_scripts\_createfx::set_origin_and_angles((56.5295,-1734.06,227.855),(270,180,75)); + var_00.v["fxid"] = "water_cleaner_machine"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_cleaner_machine"); + var_00 common_scripts\_createfx::set_origin_and_angles((299.812,-1975.1,227.873),(270,0,91)); + var_00.v["fxid"] = "water_cleaner_machine"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fireball_lp_l_blacksmk_thick_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((1132.62,2240.6,878.874),(295.83,175.877,5.64729)); + var_00.v["fxid"] = "fireball_lp_l_blacksmk_thick_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_cleaner_machine"); + var_00 common_scripts\_createfx::set_origin_and_angles((71.7412,-1966.51,227.855),(270,0,-45)); + var_00.v["fxid"] = "water_cleaner_machine"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((938.932,192.669,365.35),(270,0,0)); + var_00.v["fxid"] = "sand_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sandfall_meshonly"); + var_00 common_scripts\_createfx::set_origin_and_angles((3090.18,1693.91,320.708),(270,0,23)); + var_00.v["fxid"] = "sandfall_meshonly"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sandfall_meshonly"); + var_00 common_scripts\_createfx::set_origin_and_angles((3264.89,1266.25,332.27),(270,0,25)); + var_00.v["fxid"] = "sandfall_meshonly"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_fine_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((1953.03,-148.669,501.873),(270,0,-36)); + var_00.v["fxid"] = "ground_sand_fine_flat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1133.78,655.304,391.259),(10.5968,349.167,-178.124)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_fine_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1600.36,-443.867,209.661),(298.379,102.887,-48.6442)); + var_00.v["fxid"] = "ground_sand_fine_flat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("warm_flare_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-860.873,-166.243,395.126),(69.138,8.27364,-165.398)); + var_00.v["fxid"] = "warm_flare_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_gust_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1591.94,534.428,198.912),(270,0,-91)); + var_00.v["fxid"] = "mp_sand_gust_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("warm_flare_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((435.626,-1024.32,544.129),(42.4811,42.0824,76.3032)); + var_00.v["fxid"] = "warm_flare_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("warm_flare_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((692.274,-1191,445.379),(10.333,17.2155,174.107)); + var_00.v["fxid"] = "warm_flare_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("warm_flare_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-847.027,291.992,398),(69.1369,8.27283,-39.399)); + var_00.v["fxid"] = "warm_flare_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("warm_flare_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-712.625,-158.063,396.004),(72.0263,10.7245,-163.086)); + var_00.v["fxid"] = "warm_flare_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("warm_flare_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-683.514,273.639,396.206),(62.7884,164.494,64.6762)); + var_00.v["fxid"] = "warm_flare_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirty_foam_small_distributer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1470.14,63.4426,167.308),(270,0,-91)); + var_00.v["fxid"] = "dirty_foam_small_distributer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirty_foam_small_distributer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1721.35,217.43,168),(270,0,-91)); + var_00.v["fxid"] = "dirty_foam_small_distributer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirty_foam_small_distributer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1738.63,-93.1835,166.213),(270,0,-91)); + var_00.v["fxid"] = "dirty_foam_small_distributer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirty_foam_small_distributer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1135.64,86.951,162),(270,0,-91)); + var_00.v["fxid"] = "dirty_foam_small_distributer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirty_foam_small_distributer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1713.27,314.342,165.831),(270,180,74)); + var_00.v["fxid"] = "dirty_foam_small_distributer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirty_foam_small_distributer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1409.21,389.756,159.616),(270,0,-91)); + var_00.v["fxid"] = "dirty_foam_small_distributer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("algae_foam01_flowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1178.11,-235.973,163),(270,0,-45)); + var_00.v["fxid"] = "algae_foam01_flowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("algae_foam_flowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1527.03,-281.314,163),(270,0,-30)); + var_00.v["fxid"] = "algae_foam_flowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_scroll"); + var_00 common_scripts\_createfx::set_origin_and_angles((3606.79,707.077,326.766),(316,186.508,-91.831)); + var_00.v["fxid"] = "ground_sand_scroll"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_scroll"); + var_00 common_scripts\_createfx::set_origin_and_angles((3381.22,615.484,64.545),(311.006,189.27,-88.1412)); + var_00.v["fxid"] = "ground_sand_scroll"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_mesh_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((3556.39,300.145,351.125),(304.116,164.563,-84.6458)); + var_00.v["fxid"] = "sand_mesh_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_skitter"); + var_00 common_scripts\_createfx::set_origin_and_angles((2176.37,-120.437,523.104),(272,189,0)); + var_00.v["fxid"] = "ground_sand_skitter"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_skitter"); + var_00 common_scripts\_createfx::set_origin_and_angles((2109.9,-1392.35,475.45),(280.806,165.939,-8.01318)); + var_00.v["fxid"] = "ground_sand_skitter"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_skitter"); + var_00 common_scripts\_createfx::set_origin_and_angles((1609.21,-1734.49,415.442),(272.29,160.108,27.535)); + var_00.v["fxid"] = "ground_sand_skitter"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_skitter"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34.2897,1304.69,171.091),(274.343,164.498,102.733)); + var_00.v["fxid"] = "ground_sand_skitter"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_skitter"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1500.94,786.352,264.89),(270.1,57.0698,121.4)); + var_00.v["fxid"] = "ground_sand_skitter"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_skitter"); + var_00 common_scripts\_createfx::set_origin_and_angles((2121.7,902.965,388.538),(271.097,60.9317,178.045)); + var_00.v["fxid"] = "ground_sand_skitter"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_gust_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((2583.8,2066.29,0.777344),(270,0,86)); + var_00.v["fxid"] = "mp_sand_gust_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_gust_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((2594.49,2496.89,-6.74316),(270,0,86)); + var_00.v["fxid"] = "mp_sand_gust_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_in_air"); + var_00 common_scripts\_createfx::set_origin_and_angles((2105.9,-38.8941,833.511),(287.475,60,-149.396)); + var_00.v["fxid"] = "mp_sand_in_air"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("warm_flare_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-269.017,-1395.55,442.168),(25.7109,355.237,178.128)); + var_00.v["fxid"] = "warm_flare_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("warm_flare_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((1776.84,781.406,688.721),(29.3722,123.06,0.937339)); + var_00.v["fxid"] = "warm_flare_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_fire_godray"); + var_00 common_scripts\_createfx::set_origin_and_angles((1139.79,2075.29,464.887),(44.9024,201.777,-171.884)); + var_00.v["fxid"] = "light_fire_godray"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_fire_godray"); + var_00 common_scripts\_createfx::set_origin_and_angles((1161.24,1951.83,469.072),(44.9024,201.777,-171.884)); + var_00.v["fxid"] = "light_fire_godray"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_fire_godray"); + var_00 common_scripts\_createfx::set_origin_and_angles((1292.18,1760.05,550.433),(44.9024,201.777,-171.884)); + var_00.v["fxid"] = "light_fire_godray"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_fire_godray"); + var_00 common_scripts\_createfx::set_origin_and_angles((1755.56,983.136,581.694),(44.9024,201.777,-171.884)); + var_00.v["fxid"] = "light_fire_godray"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_fire_godray"); + var_00 common_scripts\_createfx::set_origin_and_angles((1743.24,841.883,612.988),(44.9024,201.777,-171.884)); + var_00.v["fxid"] = "light_fire_godray"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_fire_godray"); + var_00 common_scripts\_createfx::set_origin_and_angles((1138.38,-1915.38,506.549),(16.3518,94.5806,4.85773)); + var_00.v["fxid"] = "light_fire_godray"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_poision_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1782.7,1153.31,208),(270,0,0)); + var_00.v["fxid"] = "mp_lost_poision_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_poision_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1990.43,666.857,220.572),(270,0,0)); + var_00.v["fxid"] = "mp_lost_poision_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_poision_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2233.25,160.374,230.857),(270,0,0)); + var_00.v["fxid"] = "mp_lost_poision_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_poision_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2193.51,-525.608,208),(270,0,0)); + var_00.v["fxid"] = "mp_lost_poision_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_poision_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2158.03,-233.101,222.552),(270,0,0)); + var_00.v["fxid"] = "mp_lost_poision_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_poision_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2104.95,428.402,224.886),(270,0,0)); + var_00.v["fxid"] = "mp_lost_poision_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_poision_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2259.59,-2.40032,221.223),(270,0,0)); + var_00.v["fxid"] = "mp_lost_poision_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_poision_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1976.52,871.279,217.572),(270,0,0)); + var_00.v["fxid"] = "mp_lost_poision_smk"; + var_00.v["delay"] = 10; + var_00 = common_scripts\utility::createoneshoteffect("dirty_foam_small_distributer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1377.4,84.7307,164.205),(270,0,-91)); + var_00.v["fxid"] = "dirty_foam_small_distributer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_poision_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2422.2,493.438,208),(270,0,0)); + var_00.v["fxid"] = "mp_lost_poision_smk"; + var_00.v["delay"] = -28; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_poision_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2111.58,-900.818,208),(270,0,0)); + var_00.v["fxid"] = "mp_lost_poision_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_poision_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2017.66,-991.104,226.265),(270,0,0)); + var_00.v["fxid"] = "mp_lost_poision_smk"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_poision_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2315.59,-700.087,208),(270,0,0)); + var_00.v["fxid"] = "mp_lost_poision_smk"; + var_00.v["delay"] = 1; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_poision_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2332.61,-343.577,208),(270,0,0)); + var_00.v["fxid"] = "mp_lost_poision_smk"; + var_00.v["delay"] = 6; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_poision_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2519.79,-207.876,208),(270,0,0)); + var_00.v["fxid"] = "mp_lost_poision_smk"; + var_00.v["delay"] = -4; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_poision_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2474.37,160.22,208),(270,0,0)); + var_00.v["fxid"] = "mp_lost_poision_smk"; + var_00.v["delay"] = 5; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_poision_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2391.98,4.01646,208),(270,0,0)); + var_00.v["fxid"] = "mp_lost_poision_smk"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_poision_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2368.95,210.626,208),(270,0,0)); + var_00.v["fxid"] = "mp_lost_poision_smk"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_poision_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2165.39,639.527,208),(270,0,0)); + var_00.v["fxid"] = "mp_lost_poision_smk"; + var_00.v["delay"] = -2; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_poision_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2235.26,782.925,208),(270,0,0)); + var_00.v["fxid"] = "mp_lost_poision_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_poision_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2136.08,1019.88,208),(270,0,0)); + var_00.v["fxid"] = "mp_lost_poision_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_poision_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1958.57,1246.37,208),(270,0,0)); + var_00.v["fxid"] = "mp_lost_poision_smk"; + var_00.v["delay"] = 2; + var_00 = common_scripts\utility::createoneshoteffect("dirt_cast_up"); + var_00 common_scripts\_createfx::set_origin_and_angles((15691.1,8913.85,1266.62),(270,0,-131)); + var_00.v["fxid"] = "dirt_cast_up"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_poision_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1889.05,1004.6,208),(270,0,0)); + var_00.v["fxid"] = "mp_lost_poision_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_poision_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2088.76,790.921,221.1),(270,0,0)); + var_00.v["fxid"] = "mp_lost_poision_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_poision_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2181.41,326.172,230.836),(270,0,0)); + var_00.v["fxid"] = "mp_lost_poision_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_poision_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2275.17,-173.113,208),(270,0,0)); + var_00.v["fxid"] = "mp_lost_poision_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_poision_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2062.98,-426.181,208),(270,0,0)); + var_00.v["fxid"] = "mp_lost_poision_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_poision_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1980.03,-808.671,220.631),(270,0,0)); + var_00.v["fxid"] = "mp_lost_poision_smk"; + var_00.v["delay"] = 5; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_poision_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2182.81,-1089.88,208),(270,0,0)); + var_00.v["fxid"] = "mp_lost_poision_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_poision_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1997.54,-584.898,218),(270,0,0)); + var_00.v["fxid"] = "mp_lost_poision_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_skitter"); + var_00 common_scripts\_createfx::set_origin_and_angles((-721.572,694.811,281.962),(274.342,164.498,10.7333)); + var_00.v["fxid"] = "ground_sand_skitter"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_skitter"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1254.32,807.365,277.01),(274.342,164.498,10.7333)); + var_00.v["fxid"] = "ground_sand_skitter"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_skitter"); + var_00 common_scripts\_createfx::set_origin_and_angles((-167.416,-2139.96,345),(274.342,164.498,-16.2674)); + var_00.v["fxid"] = "ground_sand_skitter"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_skitter"); + var_00 common_scripts\_createfx::set_origin_and_angles((2009.51,298.346,403.572),(271.666,135.271,8.92728)); + var_00.v["fxid"] = "ground_sand_skitter"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lost_fire_stream_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((2120.77,-1949.48,361.715),(348.881,349.66,176.16)); + var_00.v["fxid"] = "lost_fire_stream_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2248.4,-342.302,497.319),(10.5968,349.167,-178.124)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2235.38,-1575.35,568.462),(13.5948,349.268,126.897)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1143.26,-1915.66,575.177),(10.5968,349.167,-178.124)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_purple_line_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((691.924,-2174.1,669.032),(270,0,0)); + var_00.v["fxid"] = "falling_water_purple_line_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_purple_line_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((720.784,-2051.79,531.434),(270,0,0)); + var_00.v["fxid"] = "falling_water_purple_line_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_purple_line_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-630.244,-102.274,350.287),(270,0,-85)); + var_00.v["fxid"] = "falling_water_purple_line_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_purple_line_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-891.491,286.404,344),(270,0,-46)); + var_00.v["fxid"] = "falling_water_purple_line_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_purple_line_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-617.926,210.864,340.46),(270,0,0)); + var_00.v["fxid"] = "falling_water_purple_line_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("algae_foam_flowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1697.16,257.809,162.123),(270,0,48)); + var_00.v["fxid"] = "algae_foam_flowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("algae_foam_flowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1116.28,61.6647,162),(270,0,12)); + var_00.v["fxid"] = "algae_foam_flowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("algae_foam_flowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1105.74,-201.248,164),(270,0,-17)); + var_00.v["fxid"] = "algae_foam_flowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("algae_foam_flowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1566.04,-296.166,161),(270,180,54)); + var_00.v["fxid"] = "algae_foam_flowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("algae_foam_flowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1384.51,108.946,164.15),(270,0,-17)); + var_00.v["fxid"] = "algae_foam_flowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_gust_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-775.265,2267.88,257.72),(270,0,0)); + var_00.v["fxid"] = "mp_sand_gust_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_gust_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-167.149,2735.84,274.436),(270,0,0)); + var_00.v["fxid"] = "mp_sand_gust_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_gust_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((58.6893,2526.78,220.732),(270,0,0)); + var_00.v["fxid"] = "mp_sand_gust_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_gust_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1255.35,1203.62,245.268),(270,0,0)); + var_00.v["fxid"] = "mp_sand_gust_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_gust_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((1069.86,-1588.25,363.653),(270,0,0)); + var_00.v["fxid"] = "mp_sand_gust_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_gust_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((1486.99,-960.092,387.581),(270,0,-36)); + var_00.v["fxid"] = "mp_sand_gust_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_gust_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((2028.81,-888.916,550.051),(270,180,135)); + var_00.v["fxid"] = "mp_sand_gust_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_ambient_needles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1155.09,-2003.09,562.515),(291.846,33.5866,-111.013)); + var_00.v["fxid"] = "mp_lost_ambient_needles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("algae_foam_flowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1519.78,50.795,166.317),(270,0,-95)); + var_00.v["fxid"] = "algae_foam_flowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dirty_foam_small_distributer"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1536.82,-273.974,164),(270,0,-91)); + var_00.v["fxid"] = "dirty_foam_small_distributer"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_sand_dots"); + var_00 common_scripts\_createfx::set_origin_and_angles((-154.146,-176.585,152.058),(270,0,-133)); + var_00.v["fxid"] = "mp_lost_sand_dots"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_sand_dots"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1517.08,1396.07,253.216),(270,180,48)); + var_00.v["fxid"] = "mp_lost_sand_dots"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_sand_dots"); + var_00 common_scripts\_createfx::set_origin_and_angles((-664.631,1942.6,244.719),(270,180,48)); + var_00.v["fxid"] = "mp_lost_sand_dots"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_sand_dots"); + var_00 common_scripts\_createfx::set_origin_and_angles((-825.648,2376.93,259.76),(270,180,48)); + var_00.v["fxid"] = "mp_lost_sand_dots"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_sand_dots"); + var_00 common_scripts\_createfx::set_origin_and_angles((5.8222,2663.64,250.399),(270,0,173)); + var_00.v["fxid"] = "mp_lost_sand_dots"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_sand_dots"); + var_00 common_scripts\_createfx::set_origin_and_angles((215.097,2481.73,197.435),(270,180,48)); + var_00.v["fxid"] = "mp_lost_sand_dots"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_sand_dots"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8.91591,1443.46,160.574),(270,180,48)); + var_00.v["fxid"] = "mp_lost_sand_dots"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_sand_dots"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1728.55,696.286,249.838),(270,0,173)); + var_00.v["fxid"] = "mp_lost_sand_dots"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_sand_dots"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1677.31,634.21,231.698),(270,0,173)); + var_00.v["fxid"] = "mp_lost_sand_dots"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_sand_dots"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1765.01,-511.112,232.53),(270,0,173)); + var_00.v["fxid"] = "mp_lost_sand_dots"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_sand_dots"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1769,-1094.74,304.98),(270,0,89)); + var_00.v["fxid"] = "mp_lost_sand_dots"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_sand_dots"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1478.97,-1340.09,312.457),(270,0,107)); + var_00.v["fxid"] = "mp_lost_sand_dots"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_sand_dots"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1155.11,-1022.57,402.473),(270,0,82)); + var_00.v["fxid"] = "mp_lost_sand_dots"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_sand_dots"); + var_00 common_scripts\_createfx::set_origin_and_angles((-746.065,-1813.47,317.208),(270,0,82)); + var_00.v["fxid"] = "mp_lost_sand_dots"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_sand_dots"); + var_00 common_scripts\_createfx::set_origin_and_angles((-262.147,-1878.24,371.458),(270,0,82)); + var_00.v["fxid"] = "mp_lost_sand_dots"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_sand_dots"); + var_00 common_scripts\_createfx::set_origin_and_angles((-166.895,-1836.41,239.102),(270,0,82)); + var_00.v["fxid"] = "mp_lost_sand_dots"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_sand_dots"); + var_00 common_scripts\_createfx::set_origin_and_angles((1083.11,-1788.17,380.845),(270,0,82)); + var_00.v["fxid"] = "mp_lost_sand_dots"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_sand_dots"); + var_00 common_scripts\_createfx::set_origin_and_angles((2031.37,-1286.63,476.351),(270,0,82)); + var_00.v["fxid"] = "mp_lost_sand_dots"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_sand_dots"); + var_00 common_scripts\_createfx::set_origin_and_angles((1535.1,-342.227,411.927),(270,0,58)); + var_00.v["fxid"] = "mp_lost_sand_dots"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_sand_dots"); + var_00 common_scripts\_createfx::set_origin_and_angles((936.72,1473.21,313.668),(270,0,82)); + var_00.v["fxid"] = "mp_lost_sand_dots"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_lost_sand_dots"); + var_00 common_scripts\_createfx::set_origin_and_angles((117.685,2274.66,170.724),(270,0,174)); + var_00.v["fxid"] = "mp_lost_sand_dots"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_windblown_slw_constant"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1103.76,-1665.45,275.931),(270,0,47)); + var_00.v["fxid"] = "leaves_windblown_slw_constant"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_windblown_slw_constant"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1076.36,1712.97,227.83),(270,0,118)); + var_00.v["fxid"] = "leaves_windblown_slw_constant"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_windblown_slw_constant"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1024.01,706.204,264),(270,0,72)); + var_00.v["fxid"] = "leaves_windblown_slw_constant"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_sand_gust_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((3261.81,807.744,80.3936),(270,0,86)); + var_00.v["fxid"] = "mp_sand_gust_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sandfall_meshonly"); + var_00 common_scripts\_createfx::set_origin_and_angles((2749.17,2396.83,327.156),(273,23,3)); + var_00.v["fxid"] = "sandfall_meshonly"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_windblown_slw_constant"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22.2709,-2484.78,354.404),(283.423,142.576,-144.365)); + var_00.v["fxid"] = "leaves_windblown_slw_constant"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_purple"); + var_00 common_scripts\_createfx::set_origin_and_angles((724.907,-2057.24,555.857),(4.6067,10.119,-4.21533)); + var_00.v["fxid"] = "water_curtain_purple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_purple"); + var_00 common_scripts\_createfx::set_origin_and_angles((700.075,-2118.67,650.496),(4.6067,10.119,-4.21533)); + var_00.v["fxid"] = "water_curtain_purple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_purple_line_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-869.848,-160.5,317.519),(270,0,-150)); + var_00.v["fxid"] = "falling_water_purple_line_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1274.26,1102.1,354.677),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((914.622,656.469,344.305),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1359.38,354.876,388),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1928.73,8.87793,478.625),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2123.08,521.26,388.31),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1830.54,1040.18,395.677),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1502.19,-599.481,389.377),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((771.971,2100.88,174.948),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1269.49,740.819,264.848),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1050.38,-1164.47,335.369),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-224.108,-2126.68,336),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1469.58,-1632.62,408.997),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1907.5,-1701.98,401.006),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2172.12,-1318.55,465.646),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1882.73,-307.485,535.097),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2141.2,-319.798,502.228),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((774.186,1687.52,272.125),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1564.92,1387.07,390.262),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1504.91,-1548.79,433.871),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1012.6,1510.84,264.254),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((254.517,1734.07,147.272),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((225.68,1446.15,274.125),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1924.23,-522.411,905.759),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "metal_settling"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((208.202,-997.034,481.047),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "metal_settling"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((116.213,1249.7,444.011),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((32.3209,898.763,423.037),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((643.875,4.85724,556.264),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1484.52,697.813,355.479),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1316.41,1639.21,334.981),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1327.8,1631.18,533.212),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1029.29,1855.8,546.915),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-989.766,1872.05,299.436),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-905.355,2402.68,342.109),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-878.387,2414.45,592.623),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-926.655,2144.35,542.359),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1589.9,1346.15,516.224),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1597.66,1314.02,251.053),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-824.331,2439.08,279.464),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-968.206,1887.1,272.763),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1625.3,1256.78,255.143),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1230.28,1022.33,286.271),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((684.602,-2047.7,376.724),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1087.85,1225.13,528.747),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-990.559,856.495,528.026),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-822.795,981.825,606.332),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-868.754,1441.46,551.542),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-860.986,1945.95,366.721),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((273.28,2274.54,390.498),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((153.315,-1187.07,563.875),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((317.483,533.42,198.301),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1101.77,1179.61,271.08),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1000.13,54.9353,524.271),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "metal_clinks_flagpole"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((478,2066.29,651.957),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "metal_clinks_flagpole"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((198.947,-1017.75,463.177),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_pipe_stress_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-190.952,-922.907,360.772),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_pipe_stress_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((139.305,-933.126,189.907),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_pipe_stress_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((139.374,-933.12,189.95),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_pipe_stress_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1001.78,1831.86,559.278),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_pipe_stress_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-660.774,-141.329,374.048),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_pipe_stress_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-600.107,247.68,373.927),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_pipe_stress_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-876.489,304.833,374.38),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_pipe_stress_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-794.663,-184.581,399),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_pipe_stress_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((97.0418,159.883,433.126),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_pipe_stress_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((624.59,-398.496,377.422),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_pipe_stress_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((26.4462,2849.15,454.276),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_pipe_stress_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-236.428,2905.19,383.325),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((285.845,2994.63,327.899),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-19.175,-988.875,160.143),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_dust_debris_falling"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1764.29,-746.574,274.242),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_dust_debris_falling"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2036.28,-1778.17,431.87),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_dust_debris_falling"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1647.9,364.651,558.36),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "metal_settling"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((912.098,1922.55,364.509),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "metal_settling"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1000.92,1727.05,654.169),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "metal_settling"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1601.32,-449.536,556.048),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1599.3,-812.152,612.324),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2113.49,-357.634,597.253),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1817.41,-961.342,615.061),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((804.15,-23.3843,429.584),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((771.985,116.06,674.357),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((302.169,547.369,327.004),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((601.055,399.432,439.19),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-208.449,920.465,276.706),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-955.075,741.423,451.779),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1297.11,-1067.88,458.87),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_pipe_stress_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((787.041,146.567,478.328),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_pipe_stress_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-419.875,-265.369,320.797),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_pipe_stress_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-554.016,79.8076,305.666),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_pipe_stress_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((277.867,-904.564,346.552),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_pipe_stress_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-138.397,-959.687,356.687),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_pipe_stress_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((695.371,-2044.39,376.21),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_pipe_stress_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-392.364,-1361.42,479.838),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_pipe_stress_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-473.614,-1350.73,432.174),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_pipe_stress_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1882.19,-1333.14,485.991),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_pipe_stress_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1869.56,-1288.67,352.907),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_pipe_stress_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1381.84,-791.932,590.11),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_pipe_stress_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1575.33,-650.672,605.54),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_pipe_stress_int"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_perplex_1_fx.gsc b/AW/PC/maps/createfx/mp_perplex_1_fx.gsc new file mode 100644 index 0000000..dea366a --- /dev/null +++ b/AW/PC/maps/createfx/mp_perplex_1_fx.gsc @@ -0,0 +1,1215 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_perplex_1_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 62 ms + * Timestamp: 4/22/2024 2:07:44 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1599.73,841.26,280),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1570.43,149.891,240),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1587.06,-355.24,142),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1571.41,-767.257,214),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1550.99,-1242.93,267),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1289.62,-1678.4,312.061),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1045.66,-1699.36,387),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-735.314,-1689.74,604.951),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-87.701,-1685.06,496),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1350.45,-1365.04,399.732),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1713.68,-1342.46,487.4),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((659.819,1357.39,166.721),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((69.8585,1879.28,49),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-583.533,1881.62,5.99998),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-988.663,1616.71,-68),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1564.77,1579.94,-99),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1733.38,1078.76,-22),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((936.851,1764.17,-14),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1297.25,1506.32,-51),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1956.18,561.343,-33),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2004.96,-363.561,72),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1886.49,-1135.52,49),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((115.456,57.0504,160),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((32.8664,-1453.88,-4),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((866.105,1782.16,99),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_rocks_mid_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-562.238,1712.09,138.707),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_rocks_mid_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((834.323,1850.28,-204),(270,0,0)); + var_00.v["soundalias"] = "emt_surf_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-438.53,1969.7,-204),(270,0,0)); + var_00.v["soundalias"] = "emt_surf_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1243.9,1859.28,-204),(270,0,0)); + var_00.v["soundalias"] = "emt_surf_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1662.95,1440.29,-204),(270,0,0)); + var_00.v["soundalias"] = "emt_surf_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1953.58,955.72,-204),(270,0,0)); + var_00.v["soundalias"] = "emt_surf_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1322.23,-7.52039,-12),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-121.293,1338.36,-204),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_slosh_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-990,1022.48,72.4792),(270,0,0)); + var_00.v["soundalias"] = "mus_pp_patio"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1667.38,-947.1,226.041),(270,0,0)); + var_00.v["soundalias"] = "mus_pp_patio"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1329.88,-1297.09,303.118),(270,0,0)); + var_00.v["soundalias"] = "canvas_flap_large_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1665.88,-1077.48,453.456),(270,0,0)); + var_00.v["soundalias"] = "canvas_flap_large_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2142.55,236.717,-204),(270,0,0)); + var_00.v["soundalias"] = "emt_surf_close_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-543.331,233.846,676.5),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_slosh_close_lp"; + var_00 = common_scripts\utility::createoneshoteffect("fx_sunflare_perplex"); + var_00 common_scripts\_createfx::set_origin_and_angles((0,0,0),(0,0,0)); + var_00.v["fxid"] = "fx_sunflare_perplex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((1575.93,-986.214,244.125),(270,0,0)); + var_00.v["fxid"] = "mp_plex_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((1426.13,-1198.94,56.125),(270,0,0)); + var_00.v["fxid"] = "mp_plex_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((1550.64,-968.411,60.625),(270,0,0)); + var_00.v["fxid"] = "mp_plex_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((1540.45,-735.976,59.625),(270,0,0)); + var_00.v["fxid"] = "mp_plex_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((1582.77,1037.67,55.125),(270,0,0)); + var_00.v["fxid"] = "mp_plex_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((1139.84,1158.92,56.125),(270,0,0)); + var_00.v["fxid"] = "mp_plex_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_roof_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((610.842,430.403,672.125),(273,1,90)); + var_00.v["fxid"] = "mp_plex_roof_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_roof_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-685.983,453.298,678.125),(270,0,80)); + var_00.v["fxid"] = "mp_plex_roof_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_roof_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-941.625,-124.054,507.625),(271.406,225.614,-134.762)); + var_00.v["fxid"] = "mp_plex_roof_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((410.494,-375.974,230.125),(270,0,0)); + var_00.v["fxid"] = "mp_plex_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-378.39,-167.779,245.125),(270,0,0)); + var_00.v["fxid"] = "mp_plex_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((436.281,404.758,240.125),(270,0,0)); + var_00.v["fxid"] = "mp_plex_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-887.821,-154.17,57.125),(270,0,0)); + var_00.v["fxid"] = "mp_plex_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((1394.91,1176.11,56.125),(270,0,0)); + var_00.v["fxid"] = "mp_plex_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1298.72,-1292.31,51.125),(270,0,0)); + var_00.v["fxid"] = "mp_plex_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-970.598,-1476.65,60.125),(270,0,0)); + var_00.v["fxid"] = "mp_plex_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1312.91,-1504.85,54.125),(270,0,0)); + var_00.v["fxid"] = "mp_plex_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_planter_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1403.32,-354.177,23),(270,0,135)); + var_00.v["fxid"] = "mp_plex_planter_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_planter_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1490.7,293.344,37),(270,0,164)); + var_00.v["fxid"] = "mp_plex_planter_leaves_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_planter_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1434.8,492.334,33),(271,347,170)); + var_00.v["fxid"] = "mp_plex_planter_leaves_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("ambient_falling_leaves_big_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-60.5801,-1668.35,463.216),(283.781,292.814,161.605)); + var_00.v["fxid"] = "ambient_falling_leaves_big_runner"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("ambient_falling_leaves_big_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1546.3,-1185.02,291.125),(272.53,128.896,-5.88305)); + var_00.v["fxid"] = "ambient_falling_leaves_big_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("ambient_falling_leaves_big_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1541.33,282.294,363.808),(271.896,271.314,-164.242)); + var_00.v["fxid"] = "ambient_falling_leaves_big_runner"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("ambient_falling_leaves_big_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-659.289,-1510.47,210.778),(275.112,28.5323,60.982)); + var_00.v["fxid"] = "ambient_falling_leaves_big_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_debris_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1247.16,-2188.66,-20.8782),(270,0,178)); + var_00.v["fxid"] = "wind_blowing_debris_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flying_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2414.17,6107.71,2023.5),(359.207,340.758,-89.6969)); + var_00.v["fxid"] = "bird_seagull_flying_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flying_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((4847.07,1326.32,636.13),(358.989,290.597,-85.3064)); + var_00.v["fxid"] = "bird_seagull_flying_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flying_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2640.07,4984.28,1476.26),(1.0207,36.2377,-91.611)); + var_00.v["fxid"] = "bird_seagull_flying_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_planter_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1399.8,-828.176,30),(270,0,160)); + var_00.v["fxid"] = "mp_plex_planter_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_debris_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((1110.72,-1748.31,21.125),(3.3929,218.15,-1.7503)); + var_00.v["fxid"] = "wind_blowing_debris_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1275.42,763.119,56.0191),(270,0,0)); + var_00.v["fxid"] = "mp_plex_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_ambient_int_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1109.8,1113.73,39.125),(270,0,0)); + var_00.v["fxid"] = "mp_plex_ambient_int_dust"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_roof_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-413.679,-207.718,675.125),(270,0,91)); + var_00.v["fxid"] = "mp_plex_roof_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flying_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-775.648,8214.81,1304.08),(359.207,340.758,-89.6969)); + var_00.v["fxid"] = "bird_seagull_flying_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_roof_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((37.1569,669.159,204.125),(270,0,90)); + var_00.v["fxid"] = "mp_plex_roof_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flying_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((6775.06,3393.07,1917.66),(354,290.169,-85.5929)); + var_00.v["fxid"] = "bird_seagull_flying_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_wavebreaks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1541.56,1279.21,-208.175),(270.964,85.2539,-85.5169)); + var_00.v["fxid"] = "mp_plex_wavebreaks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_roof_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1.27953,-410.64,506.125),(270,0,88)); + var_00.v["fxid"] = "mp_plex_roof_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_roof_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1032,186.204,520.625),(270,0,89)); + var_00.v["fxid"] = "mp_plex_roof_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flying_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1798.38,2427.09,592.948),(1.0207,36.2377,-91.611)); + var_00.v["fxid"] = "bird_seagull_flying_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flying_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2218.37,2986.7,540.877),(357.464,351.367,-93.9852)); + var_00.v["fxid"] = "bird_seagull_flying_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flying_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((7908.68,2682.51,559.129),(0.367412,60.2303,-88.316)); + var_00.v["fxid"] = "bird_seagull_flying_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flying_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((8160.13,-1286.24,1392.66),(1.73512,293.83,-85.3645)); + var_00.v["fxid"] = "bird_seagull_flying_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flying_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1041.81,8048.73,615.604),(1.60115,155.124,-91.7567)); + var_00.v["fxid"] = "bird_seagull_flying_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_wavebreaks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1211.16,1286.07,-216),(271.949,272.223,87.4571)); + var_00.v["fxid"] = "mp_plex_wavebreaks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_wavebreaks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((837.812,1315.41,-209),(272.077,178.179,155.017)); + var_00.v["fxid"] = "mp_plex_wavebreaks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_wavebreaks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((578.622,1705.35,-210),(273.319,249.228,107.685)); + var_00.v["fxid"] = "mp_plex_wavebreaks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_wavebreaks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-263.206,1722.6,-205),(272.878,224.21,137.43)); + var_00.v["fxid"] = "mp_plex_wavebreaks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_wavebreaks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1139.47,1424.85,-203),(270.931,266.817,94.0614)); + var_00.v["fxid"] = "mp_plex_wavebreaks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_wavebreaks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-29.165,1315.19,-157.438),(278.943,277.637,81.8553)); + var_00.v["fxid"] = "mp_plex_wavebreaks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flying_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((6684.42,-3076.96,1863.86),(358.989,290.597,-85.3064)); + var_00.v["fxid"] = "bird_seagull_flying_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_wavebreaks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2998.94,2826.26,-207),(271.674,133.628,-114.936)); + var_00.v["fxid"] = "mp_plex_wavebreaks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_wavebreaks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((3653.15,2603.12,-200.493),(271.698,234.254,103.286)); + var_00.v["fxid"] = "mp_plex_wavebreaks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_vista_fog"); + var_00 common_scripts\_createfx::set_origin_and_angles((-202.014,-2426.99,671.739),(1.72439,174.054,3.19059)); + var_00.v["fxid"] = "mp_plex_vista_fog"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_vista_fog"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4051.42,-90.2641,944.76),(358.912,106.868,-0.133832)); + var_00.v["fxid"] = "mp_plex_vista_fog"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_vista_fog"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3538.32,3392.73,391.07),(358.4,90.0842,0.857714)); + var_00.v["fxid"] = "mp_plex_vista_fog"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_falling_leaves_big_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((672.893,1385.41,214.967),(6.59523,221.778,-96.6293)); + var_00.v["fxid"] = "ambient_falling_leaves_big_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flying_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2580.16,-5137.85,2077.15),(354.13,239.009,-96.9978)); + var_00.v["fxid"] = "bird_seagull_flying_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flying_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1687.85,-5849.46,3063.84),(359.353,187,-98.7085)); + var_00.v["fxid"] = "bird_seagull_flying_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flying_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((7029.68,-6238.29,2862.04),(4.0438,244.904,-95.1648)); + var_00.v["fxid"] = "bird_seagull_flying_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_planter_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((635.885,-879.561,323),(270,0,91)); + var_00.v["fxid"] = "mp_plex_planter_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_wavebreaks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1459.73,1241.86,-213.796),(277.672,6.147,80.0486)); + var_00.v["fxid"] = "mp_plex_wavebreaks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_planter_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1110.58,-1085,15.125),(274.758,320.047,63.7862)); + var_00.v["fxid"] = "mp_plex_planter_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_planter_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((918.36,1033.47,18),(270,0,140)); + var_00.v["fxid"] = "mp_plex_planter_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_planter_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1612.41,522.552,19.125),(270,0,76)); + var_00.v["fxid"] = "mp_plex_planter_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_roof_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((876.411,-40.0147,361.125),(270,0,0)); + var_00.v["fxid"] = "mp_plex_roof_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_roof_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-753.008,78.9434,383.125),(270,0,177)); + var_00.v["fxid"] = "mp_plex_roof_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_vista_waves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((4242.65,2162.49,-206.691),(275.146,226.413,101.653)); + var_00.v["fxid"] = "mp_plex_vista_waves_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_vista_waves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((4861.37,1667.65,-192.817),(275.146,226.412,92.6537)); + var_00.v["fxid"] = "mp_plex_vista_waves_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_vista_waves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((5965.54,536.044,-171.289),(275.146,226.413,91.6528)); + var_00.v["fxid"] = "mp_plex_vista_waves_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_vista_waves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((6882.81,-544.39,-194.134),(272.333,131.468,174.362)); + var_00.v["fxid"] = "mp_plex_vista_waves_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_vista_waves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2291.18,12406.1,-203.244),(275.475,17.0846,91.4868)); + var_00.v["fxid"] = "mp_plex_vista_waves_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_vista_waves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5047.08,5396.32,-202.625),(275.146,226.413,48.6514)); + var_00.v["fxid"] = "mp_plex_vista_waves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_vista_waves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5473.23,6252.86,-214.792),(271.265,98.951,-150.931)); + var_00.v["fxid"] = "mp_plex_vista_waves_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_planter_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-897.13,-1032.44,10.125),(270,0,142)); + var_00.v["fxid"] = "mp_plex_planter_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_planter_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1172.45,-665.922,15.8196),(270.621,26.8541,22.3303)); + var_00.v["fxid"] = "mp_plex_planter_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_planter_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-579.718,974.623,0.124992),(274.74,344.178,62.593)); + var_00.v["fxid"] = "mp_plex_planter_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_planter_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-865.146,1344.28,6.625),(270.99,4.4851,93.4875)); + var_00.v["fxid"] = "mp_plex_planter_leaves_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_planter_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1203.73,626.342,23),(270,0,82)); + var_00.v["fxid"] = "mp_plex_planter_leaves_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_planter_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((279.966,-1015.13,171),(273,271,-180)); + var_00.v["fxid"] = "mp_plex_planter_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_planter_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-253.765,-801.125,330),(270,0,91)); + var_00.v["fxid"] = "mp_plex_planter_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_wind_streamers"); + var_00 common_scripts\_createfx::set_origin_and_angles((-893.341,379.322,416.556),(353.774,264.323,24.1628)); + var_00.v["fxid"] = "mp_plex_wind_streamers"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_wind_streamers"); + var_00 common_scripts\_createfx::set_origin_and_angles((261.289,-538.777,576.714),(2.01239,0.686388,25.4986)); + var_00.v["fxid"] = "mp_plex_wind_streamers"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_planter_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((250.551,1404.28,16.625),(273,84.9831,43.0146)); + var_00.v["fxid"] = "mp_plex_planter_leaves_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_planter_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-602.911,-128.02,651.5),(270.99,4.48299,80.4891)); + var_00.v["fxid"] = "mp_plex_planter_leaves_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_planter_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((334.886,-308.8,652.5),(270.99,4.48405,83.4883)); + var_00.v["fxid"] = "mp_plex_planter_leaves_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_planter_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-797.552,-860.418,342),(271.603,196.48,-74.5208)); + var_00.v["fxid"] = "mp_plex_planter_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_smoke_stack"); + var_00 common_scripts\_createfx::set_origin_and_angles((8981.95,-7862.41,1640.64),(296.993,269.69,2.36807)); + var_00.v["fxid"] = "mp_plex_smoke_stack"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_smoke_stack"); + var_00 common_scripts\_createfx::set_origin_and_angles((9000.36,-10933,1644.52),(300.99,270.011,2.08749)); + var_00.v["fxid"] = "mp_plex_smoke_stack"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_caustics_parent"); + var_00 common_scripts\_createfx::set_origin_and_angles((1278.17,11.9302,-14),(270,0,0)); + var_00.v["fxid"] = "mp_plex_water_caustics_parent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_ambient_sailboats"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17983.8,12515.8,-204),(270,0,14)); + var_00.v["fxid"] = "mp_plex_ambient_sailboats"; + var_00.v["delay"] = -25; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_wind_streamers"); + var_00 common_scripts\_createfx::set_origin_and_angles((-222.459,1066,93.8089),(1.25221,84.2475,129.306)); + var_00.v["fxid"] = "mp_plex_wind_streamers"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_bridge_vehicles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9845,-1383.24,1845.01),(270.754,159.612,-139.985)); + var_00.v["fxid"] = "mp_plex_bridge_vehicles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_ambient_sailboats"); + var_00 common_scripts\_createfx::set_origin_and_angles((14521.8,-4153.48,-204),(270,180,172)); + var_00.v["fxid"] = "mp_plex_ambient_sailboats"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_vent_air_parent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-500.309,618.973,468),(285,91,90)); + var_00.v["fxid"] = "mp_plex_vent_air_parent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_vent_air_parent"); + var_00 common_scripts\_createfx::set_origin_and_angles((223.934,1002.82,149),(270,0,90)); + var_00.v["fxid"] = "mp_plex_vent_air_parent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_vent_air_parent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1351.74,62.7147,154.625),(270,0,-179)); + var_00.v["fxid"] = "mp_plex_vent_air_parent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_vent_air_parent"); + var_00 common_scripts\_createfx::set_origin_and_angles((968.519,770.653,151),(270,180,-91)); + var_00.v["fxid"] = "mp_plex_vent_air_parent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_vent_air_parent"); + var_00 common_scripts\_createfx::set_origin_and_angles((540.467,-785.836,471),(272,270.998,-89.998)); + var_00.v["fxid"] = "mp_plex_vent_air_parent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_vent_air_parent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-350.348,-1009.51,158),(271.439,316.003,-134.029)); + var_00.v["fxid"] = "mp_plex_vent_air_parent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_vent_air_parent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-258.422,-532.309,472),(270,0,-179)); + var_00.v["fxid"] = "mp_plex_vent_air_parent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((508.593,332.721,331.125),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-399.676,-210.662,162.125),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_ambient_sailboats"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15305.9,6711.17,-204),(270,0,29)); + var_00.v["fxid"] = "mp_plex_ambient_sailboats"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_ambient_sailboats_idle"); + var_00 common_scripts\_createfx::set_origin_and_angles((4733.42,25419.7,-204),(270,0,-31)); + var_00.v["fxid"] = "mp_plex_ambient_sailboats_idle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_ambient_sailboats_idle"); + var_00 common_scripts\_createfx::set_origin_and_angles((30727.6,-620.887,-210.272),(270,0,-58)); + var_00.v["fxid"] = "mp_plex_ambient_sailboats_idle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_ambient_sailboats_idle"); + var_00 common_scripts\_createfx::set_origin_and_angles((23869.5,3336.37,-204),(271.117,251.001,-5.60215)); + var_00.v["fxid"] = "mp_plex_ambient_sailboats_idle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_ambient_sailboats_idle"); + var_00 common_scripts\_createfx::set_origin_and_angles((26000.6,-3210.47,-200.486),(270,0,-110)); + var_00.v["fxid"] = "mp_plex_ambient_sailboats_idle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_ambient_sailboats"); + var_00 common_scripts\_createfx::set_origin_and_angles((10286.1,-3401.93,-183.083),(270,0,15)); + var_00.v["fxid"] = "mp_plex_ambient_sailboats"; + var_00.v["delay"] = -25; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_ambient_sailboats_idle"); + var_00 common_scripts\_createfx::set_origin_and_angles((4184.19,30988.4,-224.934),(273.115,101.55,18.9967)); + var_00.v["fxid"] = "mp_plex_ambient_sailboats_idle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_ambient_sailboats"); + var_00 common_scripts\_createfx::set_origin_and_angles((10875.9,18859.9,-204),(270,0,86)); + var_00.v["fxid"] = "mp_plex_ambient_sailboats"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_ambient_sailboats_idle"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18329.9,18302.5,-189),(270.018,8.36089,-179.361)); + var_00.v["fxid"] = "mp_plex_ambient_sailboats_idle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_ambient_sailboats_idle"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13568.2,11226.9,-180.921),(270,180,101)); + var_00.v["fxid"] = "mp_plex_ambient_sailboats_idle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_ambient_sailboats"); + var_00 common_scripts\_createfx::set_origin_and_angles((13586.7,20962.9,-198),(270,0,112)); + var_00.v["fxid"] = "mp_plex_ambient_sailboats"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_ambient_sailboats_idle"); + var_00 common_scripts\_createfx::set_origin_and_angles((8921.49,30711,-204),(270,0,0)); + var_00.v["fxid"] = "mp_plex_ambient_sailboats_idle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_ambient_sailboats"); + var_00 common_scripts\_createfx::set_origin_and_angles((9485.95,21365.1,-204),(270,0,165)); + var_00.v["fxid"] = "mp_plex_ambient_sailboats"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_big_waves"); + var_00 common_scripts\_createfx::set_origin_and_angles((3760.3,9993.4,-180.034),(271,78,90)); + var_00.v["fxid"] = "mp_plex_big_waves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_big_waves"); + var_00 common_scripts\_createfx::set_origin_and_angles((6219.63,9453.3,-188.878),(271,77.9982,87.0017)); + var_00.v["fxid"] = "mp_plex_big_waves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_big_waves"); + var_00 common_scripts\_createfx::set_origin_and_angles((8484.24,9042.51,-214.404),(282.999,75.2265,89.7677)); + var_00.v["fxid"] = "mp_plex_big_waves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_big_waves"); + var_00 common_scripts\_createfx::set_origin_and_angles((10866.1,8453.21,-178.65),(271,77.9968,88.0029)); + var_00.v["fxid"] = "mp_plex_big_waves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_big_waves"); + var_00 common_scripts\_createfx::set_origin_and_angles((13886.1,7173.95,-177.344),(271,77.9982,87.0017)); + var_00.v["fxid"] = "mp_plex_big_waves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_big_waves"); + var_00 common_scripts\_createfx::set_origin_and_angles((2259.99,12157.4,-184.794),(271,78,53.9988)); + var_00.v["fxid"] = "mp_plex_big_waves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_wavebreaks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-596.081,1471.81,-204),(272.445,268.514,116.12)); + var_00.v["fxid"] = "mp_plex_wavebreaks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_vista_waves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2662.14,11445,-195.784),(275.741,346.124,115.306)); + var_00.v["fxid"] = "mp_plex_vista_waves_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_vista_waves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((12447.1,8101.82,-192.795),(271.313,309.673,173.797)); + var_00.v["fxid"] = "mp_plex_vista_waves_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_godray"); + var_00 common_scripts\_createfx::set_origin_and_angles((105.233,809.66,317),(340.166,89.606,1.54719)); + var_00.v["fxid"] = "mp_plex_godray"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_godray"); + var_00 common_scripts\_createfx::set_origin_and_angles((77.8038,907.983,319.625),(340.432,84.3138,-3.65162)); + var_00.v["fxid"] = "mp_plex_godray"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_roof_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1556.91,-1157.03,398),(273,1,90)); + var_00.v["fxid"] = "mp_plex_roof_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_godray"); + var_00 common_scripts\_createfx::set_origin_and_angles((540.779,-393.844,811.194),(338.196,171.267,-11.8567)); + var_00.v["fxid"] = "mp_plex_godray"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_godray"); + var_00 common_scripts\_createfx::set_origin_and_angles((-409.931,-354.441,802.736),(338.196,171.267,-11.8567)); + var_00.v["fxid"] = "mp_plex_godray"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_godray"); + var_00 common_scripts\_createfx::set_origin_and_angles((-496.843,-373.012,801.551),(338.196,171.267,-11.8567)); + var_00.v["fxid"] = "mp_plex_godray"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_falling_leaves_big_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2982.75,486.412,232.945),(357.013,197.896,-89.1365)); + var_00.v["fxid"] = "ambient_falling_leaves_big_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_wavebreaks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((145.821,1733.3,-203),(272.878,224.21,137.43)); + var_00.v["fxid"] = "mp_plex_wavebreaks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_park_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((3009.98,1489.15,43),(272.883,254.293,-147.288)); + var_00.v["fxid"] = "mp_plex_park_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_column_waves"); + var_00 common_scripts\_createfx::set_origin_and_angles((-976.401,1396.12,-197.936),(272.236,206.553,71.4287)); + var_00.v["fxid"] = "mp_plex_column_waves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_column_waves"); + var_00 common_scripts\_createfx::set_origin_and_angles((1588.85,1249.69,-198.458),(272.236,206.554,62.4278)); + var_00.v["fxid"] = "mp_plex_column_waves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_column_waves"); + var_00 common_scripts\_createfx::set_origin_and_angles((-464.788,1675.44,-198.502),(272.236,206.554,90.4282)); + var_00.v["fxid"] = "mp_plex_column_waves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_column_waves"); + var_00 common_scripts\_createfx::set_origin_and_angles((-467.083,1508.3,-201.213),(272.236,206.552,122.43)); + var_00.v["fxid"] = "mp_plex_column_waves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_column_waves"); + var_00 common_scripts\_createfx::set_origin_and_angles((-783.847,1397.35,-209.701),(272.236,206.552,72.4298)); + var_00.v["fxid"] = "mp_plex_column_waves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_column_waves"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1168.35,1395.65,-202.477),(271.2,325.116,-49.1138)); + var_00.v["fxid"] = "mp_plex_column_waves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_column_waves"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1359.89,1395.43,-200.312),(271.174,269.646,-4.64336)); + var_00.v["fxid"] = "mp_plex_column_waves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_column_waves"); + var_00 common_scripts\_createfx::set_origin_and_angles((33.2684,1387.16,-204),(272.236,206.554,62.4284)); + var_00.v["fxid"] = "mp_plex_column_waves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_column_waves"); + var_00 common_scripts\_createfx::set_origin_and_angles((305.852,1250.8,-204),(272.236,206.553,68.4296)); + var_00.v["fxid"] = "mp_plex_column_waves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_column_waves"); + var_00 common_scripts\_createfx::set_origin_and_angles((112.147,1251.09,-203.687),(272.236,206.553,62.4284)); + var_00.v["fxid"] = "mp_plex_column_waves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_column_waves"); + var_00 common_scripts\_createfx::set_origin_and_angles((-79.8807,1254.82,-200.003),(272.034,179.994,91.9707)); + var_00.v["fxid"] = "mp_plex_column_waves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_column_waves"); + var_00 common_scripts\_createfx::set_origin_and_angles((-271.836,1247.82,-204),(272.236,206.553,64.4291)); + var_00.v["fxid"] = "mp_plex_column_waves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_column_waves"); + var_00 common_scripts\_createfx::set_origin_and_angles((1394,1250.6,-200.679),(272.236,206.553,65.429)); + var_00.v["fxid"] = "mp_plex_column_waves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_column_waves"); + var_00 common_scripts\_createfx::set_origin_and_angles((1201.18,1253.63,-204.901),(272.236,206.553,65.4295)); + var_00.v["fxid"] = "mp_plex_column_waves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_column_waves"); + var_00 common_scripts\_createfx::set_origin_and_angles((1007.36,1249.76,-198.527),(272.236,206.551,64.4307)); + var_00.v["fxid"] = "mp_plex_column_waves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_column_waves"); + var_00 common_scripts\_createfx::set_origin_and_angles((690.287,1503.12,-201.898),(272.236,206.553,26.4291)); + var_00.v["fxid"] = "mp_plex_column_waves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_column_waves"); + var_00 common_scripts\_createfx::set_origin_and_angles((689.951,1680.8,-198.118),(272.236,206.552,30.4302)); + var_00.v["fxid"] = "mp_plex_column_waves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_falling_leaves_big_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2448.27,1921.46,33.6978),(10.1603,181.413,-85.9628)); + var_00.v["fxid"] = "ambient_falling_leaves_big_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_caustics_parent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-146.216,173.803,73),(270,0,0)); + var_00.v["fxid"] = "mp_plex_water_caustics_parent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_caustics_parent"); + var_00 common_scripts\_createfx::set_origin_and_angles((1581.3,-287.694,-14),(270,0,0)); + var_00.v["fxid"] = "mp_plex_water_caustics_parent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_caustics_parent"); + var_00 common_scripts\_createfx::set_origin_and_angles((1281.24,-288.164,-14),(270,0,0)); + var_00.v["fxid"] = "mp_plex_water_caustics_parent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_caustics_parent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-54.3945,-1454.72,-8),(270,0,0)); + var_00.v["fxid"] = "mp_plex_water_caustics_parent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_caustics_parent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-354.324,-1434.41,-8.00003),(270,0,0)); + var_00.v["fxid"] = "mp_plex_water_caustics_parent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_caustics_parent"); + var_00 common_scripts\_createfx::set_origin_and_angles((245.712,-1434.01,-8),(270,0,0)); + var_00.v["fxid"] = "mp_plex_water_caustics_parent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_caustics_parent"); + var_00 common_scripts\_createfx::set_origin_and_angles((154.348,175.064,74),(270,0,0)); + var_00.v["fxid"] = "mp_plex_water_caustics_parent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_caustics_parent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-139.295,-125.167,73),(270,0,0)); + var_00.v["fxid"] = "mp_plex_water_caustics_parent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_caustics_parent"); + var_00 common_scripts\_createfx::set_origin_and_angles((1415.65,10.7147,-15),(270,0,0)); + var_00.v["fxid"] = "mp_plex_water_caustics_parent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_park_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2741.66,828.923,33.341),(274.728,304.05,149.852)); + var_00.v["fxid"] = "mp_plex_park_leaves_runner"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_park_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((3272.35,-133.156,123.342),(276.535,295.19,158.669)); + var_00.v["fxid"] = "mp_plex_park_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_falling_leaves_big_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2506.59,-875.58,54.1447),(356.335,165.847,-84.2276)); + var_00.v["fxid"] = "ambient_falling_leaves_big_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_roof_wind_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2249.4,-264.344,120),(271.406,225.614,-134.762)); + var_00.v["fxid"] = "mp_plex_roof_wind_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_falling_leaves_big_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1878.4,-281.806,281.539),(275.338,250.162,-168.048)); + var_00.v["fxid"] = "ambient_falling_leaves_big_runner"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_planter_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((630.25,-148.897,650.5),(270.99,4.48403,100.488)); + var_00.v["fxid"] = "mp_plex_planter_leaves_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("ambient_falling_leaves_big_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2577.5,36.7898,20.0517),(4.62365,160.932,-93.8687)); + var_00.v["fxid"] = "ambient_falling_leaves_big_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("ambient_falling_leaves_big_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((758.936,-1524.12,429.242),(283.584,289.346,-167.031)); + var_00.v["fxid"] = "ambient_falling_leaves_big_runner"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2269.15,2477.89,-199.581),(270,0,67)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2223.54,2268.93,-205.669),(270,0,87)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2223.35,2059.37,-204),(270,0,88)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2224.79,1948.03,-209.024),(270,0,105)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2321.77,1665.88,-204),(270,0,125)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2251.45,646.123,-203),(270,0,111)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2301.91,540.889,-204),(273.354,308.149,162.662)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2215.61,900.972,-206),(273,178,-90)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2329.24,405.347,-203),(273.354,308.149,153.663)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2324.29,101.431,-201),(273.354,308.15,132.66)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2284.78,-96.8537,-204),(273.354,308.152,136.658)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2278.29,-414.392,-204),(273.354,308.153,148.657)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2296.31,-523.18,-204),(273.354,308.153,155.656)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2316.18,-802.526,-204),(273.354,308.153,155.656)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2315.04,-932.732,-204),(273.354,308.156,138.653)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2310.51,-1018.71,-210),(273.354,308.156,138.653)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2241.63,-1320.71,-207),(273.354,308.16,52.6474)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2101.91,-1318.51,-205),(273.354,308.162,52.6455)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_falling_leaves_big_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2159.65,-1478.97,292.417),(358.092,168.547,-94.3952)); + var_00.v["fxid"] = "ambient_falling_leaves_big_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2400.09,1418.17,-203),(270,0,83)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2388.53,1500.06,-204),(270,0,98)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2320.8,1163.97,-204),(270,0,57)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2253.59,1049.23,-204),(270,0,69)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2168.95,-1317.55,-205),(273.354,308.162,52.6455)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1859.65,-1320.93,-206.445),(272.638,271.604,89.2486)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1779.5,-1313.24,-203.22),(272.638,271.604,89.2486)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1928.79,-1314,-203.335),(272.638,271.604,89.2496)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1762.2,428.755,-204.438),(270,0,2)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1998.32,415.904,-204),(270,0,2)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2276.51,418.568,-203.248),(273,182,-180)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2476.67,610.029,-201.438),(270,0,-43)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2494.22,849.812,-204.438),(270,0,-43)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2493.22,1066.72,-204),(270,0,-43)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2493.67,1297.65,-198.438),(270,0,-43)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2486.83,1535.02,-203.749),(270,0,-43)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2488.01,1777.02,-204),(270,0,-43)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2749.24,1971.75,-191),(270,180,119)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_butterfly_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1814.51,-340.506,38.125),(270,0,0)); + var_00.v["fxid"] = "cli_butterfly_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_butterfly_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1836.8,-900.21,-21.2563),(270,0,-76)); + var_00.v["fxid"] = "cli_butterfly_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_butterfly_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-469.031,-1893.43,57),(270,0,175)); + var_00.v["fxid"] = "cli_butterfly_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_butterfly_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((454.732,-1933.99,79),(274.367,296.729,-54.5307)); + var_00.v["fxid"] = "cli_butterfly_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_butterfly_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1095.02,-1163.51,42.125),(270,180,114)); + var_00.v["fxid"] = "cli_butterfly_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_butterfly_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2157.57,-1382.05,101.027),(270,180,114)); + var_00.v["fxid"] = "cli_butterfly_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_butterfly_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2551.07,-1040.52,-35.8963),(270,180,114)); + var_00.v["fxid"] = "cli_butterfly_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_butterfly_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2384.3,1020.53,-56.8769),(270,180,114)); + var_00.v["fxid"] = "cli_butterfly_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_pier_mist_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2020.16,783.958,22.125),(270,0,171)); + var_00.v["fxid"] = "mp_plex_pier_mist_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_pier_mist_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2873.67,706.741,3.125),(270,0,171)); + var_00.v["fxid"] = "mp_plex_pier_mist_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_pier_mist_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-987.886,1884.5,158.125),(272.236,54.4467,116.571)); + var_00.v["fxid"] = "mp_plex_pier_mist_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_pier_mist_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((442.264,1981.31,64.125),(274.78,311.406,-141.874)); + var_00.v["fxid"] = "mp_plex_pier_mist_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_pier_mist_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2530.52,2833.69,115),(270,0,-166)); + var_00.v["fxid"] = "mp_plex_pier_mist_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_pier_mist_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2576.18,2013.52,-20.875),(273.574,140.222,34.2467)); + var_00.v["fxid"] = "mp_plex_pier_mist_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1371.09,-140.102,89.5),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-830.491,-623.014,244.275),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-809.182,198.475,88.3317),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1661.63,699.686,20.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1263.76,498.894,19.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((927.54,-10.5165,91.6448),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((502.997,-859.489,20.625),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-982.308,-505.385,81.3611),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-738.355,211.165,566.801),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_pier_mist_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-329.829,1915.44,59.6412),(274.78,311.406,-141.874)); + var_00.v["fxid"] = "mp_plex_pier_mist_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_falling_leaves_big_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1173.12,-1678.6,407.757),(280.486,301.618,136.423)); + var_00.v["fxid"] = "ambient_falling_leaves_big_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_pier_mist_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1408.94,1791.91,103.805),(274.78,311.406,-141.874)); + var_00.v["fxid"] = "mp_plex_pier_mist_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_water_edge_splash_sml_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2792.17,2134.16,-195),(270,180,119)); + var_00.v["fxid"] = "mp_plex_water_edge_splash_sml_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1023.93,-212.301,249.408),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((507.427,-380.863,658.5),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-441.501,-417.046,661.5),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-952.915,-1341.08,67.764),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-776.27,-956.933,87.336),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-780.588,-193.065,574.559),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-279.055,999.187,17.625),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1051.62,81.4746,97.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-423.692,-1517.39,21.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1211.9,-758.024,7.625),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cli_butterfly_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2478.6,-96.6476,-84.6526),(270,180,114)); + var_00.v["fxid"] = "cli_butterfly_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_falling_leaves_big_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2451.15,845.494,7),(0.919916,158.101,-90.3962)); + var_00.v["fxid"] = "ambient_falling_leaves_big_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((960.199,-1182.6,9.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((410.192,1000.75,8.62502),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((313.185,-643.495,330.5),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((1652.02,-519.761,16.125),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_fruitflies_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((676.758,1318.87,14.625),(270,0,0)); + var_00.v["fxid"] = "insects_fruitflies_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_bridge_vehicles_sml"); + var_00 common_scripts\_createfx::set_origin_and_angles((4911.07,-10336.7,1442.23),(271.125,239.582,-160.937)); + var_00.v["fxid"] = "mp_plex_bridge_vehicles_sml"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_wind_streamers"); + var_00 common_scripts\_createfx::set_origin_and_angles((-261.115,324.48,575.754),(3.27028,96.6217,28.8545)); + var_00.v["fxid"] = "mp_plex_wind_streamers"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_wind_streamers"); + var_00 common_scripts\_createfx::set_origin_and_angles((-419.488,-68.5425,422.176),(357.557,178.976,47.5951)); + var_00.v["fxid"] = "mp_plex_wind_streamers"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_wind_streamers"); + var_00 common_scripts\_createfx::set_origin_and_angles((1085.44,-698.669,257.682),(355.061,79.478,14.2902)); + var_00.v["fxid"] = "mp_plex_wind_streamers"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_wind_streamers"); + var_00 common_scripts\_createfx::set_origin_and_angles((129.826,-548.104,261.598),(2.51737,268.9,73.7633)); + var_00.v["fxid"] = "mp_plex_wind_streamers"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_wind_streamers"); + var_00 common_scripts\_createfx::set_origin_and_angles((987.801,468.294,97.2191),(357.643,90.0667,34.3989)); + var_00.v["fxid"] = "mp_plex_wind_streamers"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_wind_streamers"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1228.15,-315.149,251.645),(1.57175,357.647,5.21236)); + var_00.v["fxid"] = "mp_plex_wind_streamers"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_wind_streamers"); + var_00 common_scripts\_createfx::set_origin_and_angles((-795.642,-1019.7,255.399),(2.01239,0.686388,19.4986)); + var_00.v["fxid"] = "mp_plex_wind_streamers"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_wind_streamers"); + var_00 common_scripts\_createfx::set_origin_and_angles((-100.491,938.966,259.263),(358.806,178.587,46.7739)); + var_00.v["fxid"] = "mp_plex_wind_streamers"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_plex_wind_streamers"); + var_00 common_scripts\_createfx::set_origin_and_angles((795.67,891.01,257.127),(358.806,178.587,46.774)); + var_00.v["fxid"] = "mp_plex_wind_streamers"; + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1057.82,1949.95,-204),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_seagulls_shore"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-42.0534,1913.1,-204),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_seagulls_shore"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1006.29,2082,-204),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_seagulls_shore"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1620.83,1363.13,-204),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_seagulls_shore"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1099.94,1726.33,-204),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_seagulls_shore"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2097.04,458.843,-54.0082),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_seagulls_shore"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2131.16,-537.597,332.382),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_seagulls_shore"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1701.69,1333.37,16.9229),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_seagulls_shore"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_prison_fx.gsc b/AW/PC/maps/createfx/mp_prison_fx.gsc new file mode 100644 index 0000000..8ba78ab --- /dev/null +++ b/AW/PC/maps/createfx/mp_prison_fx.gsc @@ -0,0 +1,2277 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_prison_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 125 ms + * Timestamp: 4/22/2024 2:07:44 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3038.24,1206.6,615.872),(270,0,0)); + var_00.v["soundalias"] = "mp_prison_pc_alarm"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1369.37,2551.29,647.991),(270,0,0)); + var_00.v["soundalias"] = "emt_insects_buzz"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-5363.95,1309.09,444.231),(270,0,0)); + var_00.v["soundalias"] = "emt_insects_buzz"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4549.43,-57.9152,571.91),(270,0,0)); + var_00.v["soundalias"] = "emt_insects_buzz"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1530.72,467.177,607.921),(270,0,0)); + var_00.v["soundalias"] = "emt_insects_buzz"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-187.05,2812.01,616.806),(270,0,0)); + var_00.v["soundalias"] = "emt_insects_buzz"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-818.773,2475.11,622.547),(270,0,0)); + var_00.v["soundalias"] = "emt_insects_buzz"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3772,-279.114,588.87),(270,0,0)); + var_00.v["soundalias"] = "mp_prison_pc_alarm"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-992.051,1013.48,809.011),(270,0,0)); + var_00.v["soundalias"] = "mp_prison_pc_alarm"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3071.23,874.954,599.512),(270,0,0)); + var_00.v["soundalias"] = "mp_prison_pc_alarm"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1252.97,1361.1,623.717),(270,0,0)); + var_00.v["soundalias"] = "mp_prison_pc_alarm"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1108.92,1543.14,629.814),(270,0,0)); + var_00.v["soundalias"] = "emt_insects_buzz"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-674.736,1260.74,623.221),(270,0,0)); + var_00.v["soundalias"] = "emt_insects_buzz"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4480.88,1213.68,409.05),(270,0,0)); + var_00.v["soundalias"] = "emt_water_sprinkler_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3653.03,2599.55,507.125),(270,0,0)); + var_00.v["soundalias"] = "emt_water_splash_lrg_stairs_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3647.71,2595.45,629.35),(270,0,0)); + var_00.v["soundalias"] = "emt_water_sprinkler_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1144.12,1419.14,683.72),(270,0,0)); + var_00.v["soundalias"] = "emt_lamp_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1796.06,1583.44,764.498),(270,0,0)); + var_00.v["soundalias"] = "emt_lamp_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2305.67,1637.39,700.21),(270,0,0)); + var_00.v["soundalias"] = "emt_lamp_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3341.17,-309.769,662.705),(270,0,0)); + var_00.v["soundalias"] = "emt_lamp_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1106.35,1126.24,836.11),(270,0,0)); + var_00.v["soundalias"] = "emt_lamp_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2946.18,1101.01,831.236),(270,0,0)); + var_00.v["soundalias"] = "emt_lamp_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2798.8,1457.87,711.361),(270,0,0)); + var_00.v["soundalias"] = "emt_lamp_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1315.7,219.509,533.751),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_med_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2798.61,481.971,600.539),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_med_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4392.69,1450.65,537.872),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_med_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((529.165,1771.28,756.904),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_steady_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2814.94,502.469,606.269),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_med_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2635.3,2369.94,575.857),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_med_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2135.73,644.905,728.088),(270,0,0)); + var_00.v["soundalias"] = "emt_smoke_rumble_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2151.93,683.07,731.401),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_raging_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2232.27,1408.1,646.406),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_steady_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2054.87,615.793,626.297),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_smoke_cave_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2068.95,1351.64,615.374),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_med_int_lp_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3319.78,1587.34,622.402),(270,0,0)); + var_00.v["soundalias"] = "emt_console_medium_hum_beep_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3124.03,1582.59,688.918),(270,0,0)); + var_00.v["soundalias"] = "emt_console_large_low_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3134.76,-315.988,626.691),(270,0,0)); + var_00.v["soundalias"] = "emt_console_medium_hum_beep_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3675.27,-274.601,575.711),(270,0,0)); + var_00.v["soundalias"] = "emt_console_large_low_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3055.81,-91.0511,605.627),(270,0,0)); + var_00.v["soundalias"] = "emt_console_large_low_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2077.46,2401.32,663.875),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_window_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2117.19,2152.27,677.936),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_door_heavy_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4214.38,-229.166,576.404),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_steady_car_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1791.9,1449.09,699.517),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_tunnel_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1794.43,1687.13,707.367),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_lobby_entrance_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((507.12,2174.51,773.299),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_raging_towers_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1463.13,3013.27,1232.99),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_raging_towers_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2146.76,2211.38,710.542),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1951.54,2330.59,710.542),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1949.41,2215.68,710.542),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2149.01,2324.56,710.542),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2008.2,2134.16,631.266),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2199.15,2400.77,662.817),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_water_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2968.68,-206.305,718.029),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3422.03,-307.029,660.211),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3734.23,-125.752,660.119),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3626.15,-126.574,662.719),(270,0,0)); + var_00.v["soundalias"] = "emt_lamp_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2967.61,-288.288,718.029),(270,0,0)); + var_00.v["soundalias"] = "emt_lamp_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3207.83,-127.125,720.719),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3590.72,-257.631,587.964),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4087.97,2457.41,415.836),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3724.44,2480.79,495.722),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3617.3,2362.19,614.718),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3812.24,2178.33,638.693),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3649.49,2725.63,609.729),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3723.93,2268.12,638.752),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3739.38,2633.97,609.723),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2961.04,785.041,680.827),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3102.51,1000.24,795.655),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2950.37,1276.71,841.209),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2947.82,919.511,841.215),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1182.88,1170.75,694.719),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1321.97,1086.08,693.542),(270,0,0)); + var_00.v["soundalias"] = "emt_lamp_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1341.41,1374.21,796.655),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1102.29,1255.24,838.719),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1104.41,861.391,838.719),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1286.04,707.601,817.655),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-848.212,318.406,674.094),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1280.58,865.046,836.119),(270,0,0)); + var_00.v["soundalias"] = "emt_lamp_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1337.47,462.528,701.719),(270,0,0)); + var_00.v["soundalias"] = "emt_lamp_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1173.42,337.216,702.219),(270,0,0)); + var_00.v["soundalias"] = "emt_lamp_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1106.81,993.824,836.119),(270,0,0)); + var_00.v["soundalias"] = "emt_lamp_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1193.94,1523.77,838.719),(270,0,0)); + var_00.v["soundalias"] = "emt_lamp_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((176.415,2611.23,685.198),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-158.902,2738.33,685.2),(270,0,0)); + var_00.v["soundalias"] = "emt_lamp_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-762.258,2390.02,685.266),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-952.98,2281.69,685.215),(270,0,0)); + var_00.v["soundalias"] = "emt_lamp_hum"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1006.24,2241.12,646.147),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_tunnel_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((208.011,2532.24,678),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_tunnel_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3781.09,2125.27,596.787),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_water_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3875.82,2234.8,401.892),(270,0,0)); + var_00.v["soundalias"] = "emt_insects_buzz"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4371.2,1745.12,545.01),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-583.792,1301.89,701.288),(305.189,67.7236,0)); + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-386.565,1414.85,701.047),(69.3834,120.001,0)); + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((261.672,2626.2,796.199),(0,210,0)); + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-815.525,2102.85,687.75),(306.788,213.364,0)); + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3366.65,561.048,694.568),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\utility::createoneshoteffect("fireball_smk_S"); + var_00 common_scripts\_createfx::set_origin_and_angles((622.608,1731.57,738.127),(270,0,0)); + var_00.v["fxid"] = "fireball_smk_S"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_raging_towers_lp"; + var_00 = common_scripts\utility::createoneshoteffect("fireball_smk_M"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1401.23,2851.68,1074.02),(270,0,49)); + var_00.v["fxid"] = "fireball_smk_M"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_steady_lp"; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2122.38,114.197,520.329),(270,0,82)); + var_00.v["fxid"] = "wind_blowing_debris"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_rock_debris_sml_lp_01"; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_debris_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2143.16,503.73,675.808),(60.2745,86.7626,0)); + var_00.v["fxid"] = "dust_falling_debris_s_runner"; + var_00.v["delay"] = -6.42; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_debris_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2160.39,729.83,717.7),(270,0,79)); + var_00.v["fxid"] = "dust_falling_debris_s_runner"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_leak_sml"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3752.85,2594.12,626.513),(310.042,45.3816,-93.1096)); + var_00.v["fxid"] = "steam_pipe_leak_sml"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_water_spray_lp_01"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_light_blacksmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4105.53,1058.76,530.066),(270,0,-41)); + var_00.v["fxid"] = "fire_lp_m_light_blacksmk"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_debris_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4363.29,1699.33,510.875),(270,0,0)); + var_00.v["fxid"] = "dust_falling_debris_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_debris_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4161.43,1952.73,493.809),(270,0,0)); + var_00.v["fxid"] = "dust_falling_debris_s_runner"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_whitesmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4273.53,650.012,530.496),(270,0,0)); + var_00.v["fxid"] = "fire_lp_s_whitesmk"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_crackle_lp_02"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_base"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2071.72,702.228,572.642),(270,0,125)); + var_00.v["fxid"] = "fire_lp_s_base"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_base"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2454.09,2650.31,572),(293.717,12.4208,-95)); + var_00.v["fxid"] = "fire_lp_xs_base"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_whitesmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2497.27,2587.43,574.933),(278.317,303.146,31.0807)); + var_00.v["fxid"] = "fire_lp_s_whitesmk"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_vehicle_sml_lp_02"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_blacksmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4228.44,1711.92,524),(288.75,90,0)); + var_00.v["fxid"] = "fire_lp_xs_blacksmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_blacksmk_tall"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2816.02,477.721,600.125),(270,0,106)); + var_00.v["fxid"] = "fire_lp_m_blacksmk_tall"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_crackle_lp_01"; + var_00 = common_scripts\utility::createoneshoteffect("insects_light_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2015.11,2352.55,682.566),(270,0,0)); + var_00.v["fxid"] = "insects_light_moths_complex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3468.18,2378.87,496),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_blacksmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2039.81,880.234,576),(270,0,0)); + var_00.v["fxid"] = "fire_lp_xs_blacksmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-354.972,1354.32,595.029),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1105.33,1547.01,627.408),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1342.97,2547.43,639.932),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1834.7,2398.83,636.386),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_light_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4719.84,1814.87,458.667),(270,0,0)); + var_00.v["fxid"] = "insects_light_moths_complex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_ceiling_md_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2271.79,800.008,585.252),(0,0,0)); + var_00.v["fxid"] = "fire_ceiling_md_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_ceiling_md_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2024.82,653.398,599.977),(0,180,0)); + var_00.v["fxid"] = "fire_ceiling_md_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_ceiling_md_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2279.69,784.755,644.084),(0,0,0)); + var_00.v["fxid"] = "fire_ceiling_md_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_ceiling_md_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2274.03,771.018,696.875),(90,180,149)); + var_00.v["fxid"] = "fire_ceiling_md_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_ceiling_md_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2038.57,596.036,579.906),(0,180,0)); + var_00.v["fxid"] = "fire_ceiling_md_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_ceiling_md_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2277.57,750.89,610.144),(0,0,0)); + var_00.v["fxid"] = "fire_ceiling_md_slow"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_med_int_lp_01"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_base"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2266.88,816.829,587.365),(272.177,5.71336,141)); + var_00.v["fxid"] = "fire_lp_s_base"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_base"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2262,743.679,576.125),(272.177,5.71336,23)); + var_00.v["fxid"] = "fire_lp_s_base"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_ceiling_md_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2285.11,773.142,588.385),(0,180,0)); + var_00.v["fxid"] = "fire_ceiling_md_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_ceiling_md_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3429.57,290.288,558.178),(350.257,73.5873,10.9606)); + var_00.v["fxid"] = "fire_ceiling_md_slow"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_steady_car_lp"; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1123.74,2663.31,576.647),(270.015,12.9097,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_falling_runner_box_100x100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2228.46,788.658,670.875),(270,0,0)); + var_00.v["fxid"] = "fire_falling_runner_box_100x100"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("prison_elec_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((309.043,2171.63,784.907),(56.8306,120.994,0)); + var_00.v["fxid"] = "prison_elec_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_ceiling_md_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2014.77,598.126,568.125),(270,0,0)); + var_00.v["fxid"] = "fire_ceiling_md_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_whitesmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2078.58,491.039,607.533),(270,0,106)); + var_00.v["fxid"] = "fire_lp_s_whitesmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3779.05,2560.58,624.317),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3792.62,2563.13,624.317),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3700.94,2549.33,627.496),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3697.12,2357.77,624.349),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3689.14,2361.44,624.533),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3591.77,2658.7,627.91),(81.0001,135,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3717.99,2531.61,627.735),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3782.57,2443.39,624.398),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1438.09,1253.18,709.875),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1475.23,1194.28,709.875),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m_thick"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5472.79,323.26,456),(270,0,-57)); + var_00.v["fxid"] = "battlefield_smoke_m_thick"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_fire_alarm_strobe"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2916.35,1580.66,659.534),(0,180,0)); + var_00.v["fxid"] = "light_fire_alarm_strobe"; + var_00.v["delay"] = 0.2; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3140.54,2481.09,561.179),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3337.3,2187.65,500.31),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1998.02,36.6233,520),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3944.4,2368.59,686.312),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3966.64,2335.81,686.451),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4133.94,2293.43,686.606),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4045.51,2463.5,686.343),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_blacksmk_tall"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4404.46,1479.07,542.118),(295.972,287.402,92.5162)); + var_00.v["fxid"] = "fire_lp_m_blacksmk_tall"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_ground_lp"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_base"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4325.23,1374.19,572.771),(273.995,270,-180)); + var_00.v["fxid"] = "fire_lp_s_base"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_med_lp_03"; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4491.46,1285.05,375.125),(270,0,101)); + var_00.v["fxid"] = "battlefield_smoke_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2969.47,776.198,604.231),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-197.523,2070.09,579.836),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-765.304,2107.24,576.125),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1026.88,1761.08,576.125),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-593.7,1946.09,576.125),(270,0,82)); + var_00.v["fxid"] = "wind_blowing_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-362.052,1040.95,576.125),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1655.1,1328.92,590.924),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1653.5,1328.53,590.658),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1650.93,1328.84,589.638),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1647.52,1331.06,589.785),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1651.23,1356.17,623.768),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_debris_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2079.77,838.378,659.722),(270,0,79)); + var_00.v["fxid"] = "dust_falling_debris_s_runner"; + var_00.v["delay"] = -17; + var_00 = common_scripts\utility::createoneshoteffect("fire_ceiling_md_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2044.6,784.405,591.851),(349.216,180,0)); + var_00.v["fxid"] = "fire_ceiling_md_slow"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_crackle_lp_01"; + var_00 = common_scripts\utility::createoneshoteffect("fire_ceiling_md_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2038.48,617.085,630.014),(0,180.154,0)); + var_00.v["fxid"] = "fire_ceiling_md_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_ceiling_md_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2269.95,633.438,583.767),(357.606,0.102447,0)); + var_00.v["fxid"] = "fire_ceiling_md_slow"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_roar_lp_02"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_base"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2249.6,612.435,579.284),(272.411,0,-129)); + var_00.v["fxid"] = "fire_lp_s_base"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1716.76,-568.192,516),(270,0,82)); + var_00.v["fxid"] = "wind_blowing_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-800.716,2470.04,626.867),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fireball_smk_S"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1646.41,-608.906,605.717),(270,0,-119)); + var_00.v["fxid"] = "fireball_smk_S"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fireball_smk_M"); + var_00 common_scripts\_createfx::set_origin_and_angles((533.585,2139.79,726.901),(288,0,0)); + var_00.v["fxid"] = "fireball_smk_M"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_roar_lp_02"; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-678.07,1225.14,591.125),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("prison_elec_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2241.27,2060.43,748.741),(17.4752,159.85,0)); + var_00.v["fxid"] = "prison_elec_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_fire_alarm_strobe"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2713.13,1481.41,667.641),(0,180,0)); + var_00.v["fxid"] = "light_fire_alarm_strobe"; + var_00.v["delay"] = 0.35; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_blacksmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2284.46,936.176,579.189),(275.194,0,0)); + var_00.v["fxid"] = "fire_lp_xs_blacksmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_whitesmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2012.32,1126.5,576.125),(273.388,186.52,0)); + var_00.v["fxid"] = "fire_lp_s_whitesmk"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_ground_muff_lp"; + var_00 = common_scripts\utility::createoneshoteffect("fire_ceiling_md_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2249.05,1460.55,687.875),(90,0,60)); + var_00.v["fxid"] = "fire_ceiling_md_slow"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_med_int_lp_01"; + var_00 = common_scripts\utility::createoneshoteffect("fire_falling_runner_point_infrequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2232.75,1461.63,687.875),(270,0,0)); + var_00.v["fxid"] = "fire_falling_runner_point_infrequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_falling_runner_point_infrequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2196.08,1425.83,687.875),(270,0,0)); + var_00.v["fxid"] = "fire_falling_runner_point_infrequent"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_whitesmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2110.66,1406.69,639.741),(270,0,110)); + var_00.v["fxid"] = "fire_lp_s_whitesmk"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_med_int_lp_02"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_whitesmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2042.92,1412.67,576.125),(270,0,0)); + var_00.v["fxid"] = "fire_lp_m_whitesmk"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_roar_int_lp_02"; + var_00 = common_scripts\utility::createoneshoteffect("fire_ceiling_md_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2225.48,1495.63,627.148),(0,270,0)); + var_00.v["fxid"] = "fire_ceiling_md_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_ceiling_md_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2265.47,1447.68,611.688),(0,0,0)); + var_00.v["fxid"] = "fire_ceiling_md_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_whitesmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2249.4,774.108,573.566),(306.31,102.788,78.5729)); + var_00.v["fxid"] = "fire_lp_s_whitesmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_base"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2099.24,1405.36,637.395),(270,0,110)); + var_00.v["fxid"] = "fire_lp_s_base"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_med_int_lp_04"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_base"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2037.52,751.055,627.007),(270,0,0)); + var_00.v["fxid"] = "fire_lp_xs_base"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_roar_int_lp_01"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_whitesmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1322.83,214.525,524.485),(291.222,357.455,-101)); + var_00.v["fxid"] = "fire_lp_m_whitesmk"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_ground_muff_lp"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_light_whitesmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2255.12,-261.31,608.81),(272.307,171.832,-143.92)); + var_00.v["fxid"] = "fire_lp_s_light_whitesmk"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_debris_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3989.04,1999.97,493.875),(270,0,48)); + var_00.v["fxid"] = "dust_falling_debris_s_runner"; + var_00.v["delay"] = -8; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4417.54,2377.86,362.168),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5410.78,1375.33,366.548),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5131.94,1165.95,370.526),(270,0,-44)); + var_00.v["fxid"] = "wind_blowing_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_blowing_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4096.23,425.034,520),(270,0,-5)); + var_00.v["fxid"] = "wind_blowing_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2969.7,2008.65,576),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -4; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m_thick"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2511.73,2902.88,569.352),(270,0,142)); + var_00.v["fxid"] = "battlefield_smoke_m_thick"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m_thick"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2409.42,2827.9,572),(270,0,-170)); + var_00.v["fxid"] = "battlefield_smoke_m_thick"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_whitesmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((385.566,2141.94,706.998),(270,0,36)); + var_00.v["fxid"] = "fire_lp_s_whitesmk"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_crackle_lp_01"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_base"); + var_00 common_scripts\_createfx::set_origin_and_angles((382.111,2120.53,712.253),(270,0,15)); + var_00.v["fxid"] = "fire_lp_s_base"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_base"); + var_00 common_scripts\_createfx::set_origin_and_angles((385.759,2128.7,686.132),(283,51,0)); + var_00.v["fxid"] = "fire_lp_xs_base"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_light_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2349.12,1628.16,671.145),(0,90,0)); + var_00.v["fxid"] = "insects_light_moths_complex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3191.38,2108.5,580.125),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_low_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3645.1,2605.11,625.277),(272,45,0)); + var_00.v["fxid"] = "falling_water_low_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_low_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3653.11,2598.33,506.125),(270,0,45)); + var_00.v["fxid"] = "falling_water_low_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_low_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3656.46,2594.99,506.952),(270,0,123)); + var_00.v["fxid"] = "falling_water_low_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3591.23,2657.56,627.722),(81.0001,135,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3643.06,2600.89,620.832),(26.3577,322.661,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3651.95,2599.43,625.177),(74.364,161.72,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3646.28,2624.3,651.875),(90,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3654.93,2597.84,625.198),(74.2247,287.241,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4548.08,2269.17,363.524),(271.207,116.47,0)); + var_00.v["fxid"] = "battlefield_smoke_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4808.65,2058.48,367.957),(274.191,322.925,0)); + var_00.v["fxid"] = "battlefield_smoke_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4987.11,1754.99,368.862),(270.748,269.508,0)); + var_00.v["fxid"] = "battlefield_smoke_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5395.25,1469.7,369.897),(277.37,338.585,0)); + var_00.v["fxid"] = "battlefield_smoke_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5447.76,1184.62,356.218),(281.359,3.31078,-27)); + var_00.v["fxid"] = "battlefield_smoke_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_low_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4401.02,1170.43,490.703),(270,0,0)); + var_00.v["fxid"] = "falling_water_low_narrow"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("gutter_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4406.48,1155.13,375.125),(270,0,162)); + var_00.v["fxid"] = "gutter_splashes_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4385.06,1159.95,375.125),(270,0,101)); + var_00.v["fxid"] = "battlefield_smoke_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_falling_runner_point_infrequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4396.7,1501.73,536.643),(270,0,0)); + var_00.v["fxid"] = "fire_falling_runner_point_infrequent"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_crackle_lp_02"; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2842.54,2523.92,572.806),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_low_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3655.31,2603.31,506.125),(270,0,45)); + var_00.v["fxid"] = "falling_water_low_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2174.55,1375.77,576.028),(274.653,31.8097,128.631)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2112.83,684.925,743.86),(280.803,303.424,-33.8962)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2184.5,683.325,714.817),(280.803,303.424,-33.8962)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_blacksmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1984.89,758.164,734.877),(286.663,93.7585,-138.086)); + var_00.v["fxid"] = "fire_lp_m_blacksmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2100.43,500.109,659.837),(332.397,310.371,-133.029)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_base"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2184.77,499.837,680.058),(307.496,229.38,1.84624)); + var_00.v["fxid"] = "fire_lp_s_base"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_blacksmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2087.39,487.646,683.551),(314.345,276.375,81.1202)); + var_00.v["fxid"] = "fire_lp_xs_blacksmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_base"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2223.59,494.565,644.299),(307.496,229.38,1.84624)); + var_00.v["fxid"] = "fire_lp_s_base"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_blacksmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2209.62,498.549,652.76),(314.345,276.375,81.1202)); + var_00.v["fxid"] = "fire_lp_xs_blacksmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_blacksmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2185.73,1145.01,572),(270,0,177)); + var_00.v["fxid"] = "fire_lp_s_blacksmk"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_crackle_lp_02"; + var_00 = common_scripts\utility::createoneshoteffect("hand_scanner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1714.93,1400.05,618.979),(1,180,180)); + var_00.v["fxid"] = "hand_scanner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("hand_scanner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1699.61,1340.38,615.561),(359.948,272.996,-179)); + var_00.v["fxid"] = "hand_scanner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("hand_scanner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2874.91,1405.8,619.175),(359,356.996,-179.948)); + var_00.v["fxid"] = "hand_scanner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("hand_scanner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3380.85,1113.57,619.495),(358.998,1.99712,179.965)); + var_00.v["fxid"] = "hand_scanner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("hand_scanner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3053.97,531.576,619.037),(0,91.9966,178.998)); + var_00.v["fxid"] = "hand_scanner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("hand_scanner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3179.02,795.922,619.046),(359.983,271,-178.998)); + var_00.v["fxid"] = "hand_scanner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("hand_scanner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1112.7,309.145,619.481),(360,90,178.998)); + var_00.v["fxid"] = "hand_scanner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("hand_scanner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1048.7,309.16,618.578),(359.965,87.9972,178.998)); + var_00.v["fxid"] = "hand_scanner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("hand_scanner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1379.36,1218.02,616.857),(358.998,1.99712,179.965)); + var_00.v["fxid"] = "hand_scanner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("hand_scanner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1418.63,1206.39,617.173),(0,177.998,-179.896)); + var_00.v["fxid"] = "hand_scanner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2194.89,2384.81,648.638),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2196.58,2387.07,649.091),(270,0,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_godray_beam_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3536.39,1178.01,913.22),(29.1421,66.8855,11.0684)); + var_00.v["fxid"] = "light_godray_beam_4"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-216.925,2808.43,606.989),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_light_whitesmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-844.646,436.14,575.104),(273.987,158.397,-13)); + var_00.v["fxid"] = "fire_lp_s_light_whitesmk"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1347.46,223.468,535.545),(290.439,333.435,-63)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_crackle_lp_01"; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1714.91,-543.118,581.5),(270,0,36)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_roar_lp_02"; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1621.73,-533.783,595.586),(270,0,8)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_raging_lp"; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1631.55,-549.698,654.014),(270,0,8)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_light_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1727.43,1790.45,585.863),(270,0,0)); + var_00.v["fxid"] = "insects_light_moths_complex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_godray_beam_blurry_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2106.79,989.002,1197.88),(56.3439,88.8139,-89.8007)); + var_00.v["fxid"] = "light_godray_beam_blurry_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_godray_beam_blurry_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1701.6,1005.72,1173.13),(56.344,88.8139,-94.8007)); + var_00.v["fxid"] = "light_godray_beam_blurry_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_godray_beam_blurry_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2590.68,1031.65,1093.13),(56.3439,88.8139,-87.8006)); + var_00.v["fxid"] = "light_godray_beam_blurry_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_light_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1309.36,1118.99,576.144),(270,0,0)); + var_00.v["fxid"] = "insects_light_moths_complex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_blacksmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1840.21,1328.77,699.393),(270,0,-40)); + var_00.v["fxid"] = "fire_lp_s_blacksmk"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_crackle_lp_01"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_blacksmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1752.45,1346.06,712.125),(270,0,0)); + var_00.v["fxid"] = "fire_lp_xs_blacksmk"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_ground_lp"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_blacksmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2118.66,876.547,700.892),(270,0,-72)); + var_00.v["fxid"] = "fire_lp_xs_blacksmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_blacksmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2129.18,689.831,729.136),(270,0,-29)); + var_00.v["fxid"] = "fire_lp_m_blacksmk"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_crackle_lp_02"; + var_00 = common_scripts\utility::createoneshoteffect("fire_ceiling_md_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2128.46,581.708,730.827),(56.0035,90,0)); + var_00.v["fxid"] = "fire_ceiling_md_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_ceiling_md_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2208.22,579.336,729.226),(56.0035,90,0)); + var_00.v["fxid"] = "fire_ceiling_md_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_ceiling_md_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2109.35,636.599,767.846),(56.0035,90,0)); + var_00.v["fxid"] = "fire_ceiling_md_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_ceiling_md_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2188.22,649.816,776.759),(56.0035,90,0)); + var_00.v["fxid"] = "fire_ceiling_md_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3786.86,607.374,713.966),(270,0,105)); + var_00.v["fxid"] = "leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3775.45,1024.95,717.125),(270,0,105)); + var_00.v["fxid"] = "leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4377.92,1359.95,674.577),(270,0,105)); + var_00.v["fxid"] = "leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2571.51,-94.9651,809.253),(270,0,105)); + var_00.v["fxid"] = "leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1792.32,-104.901,783.765),(270,0,105)); + var_00.v["fxid"] = "leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((123.074,1389.36,1014.5),(270,0,105)); + var_00.v["fxid"] = "leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3196.66,2329.42,691.702),(270,0,120)); + var_00.v["fxid"] = "leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2952.05,2178.55,753),(270,0,120)); + var_00.v["fxid"] = "leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2761.78,2327.36,760.85),(270,0,120)); + var_00.v["fxid"] = "leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3485.39,2912.77,723.125),(270,0,24)); + var_00.v["fxid"] = "leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4650.33,558.571,669.263),(270,0,-164)); + var_00.v["fxid"] = "leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4908.26,536.471,649.682),(270,0,-164)); + var_00.v["fxid"] = "leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5327.92,1491.75,524.756),(270,0,26)); + var_00.v["fxid"] = "leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_gentlewind"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4987.35,1844.46,504.174),(270,0,26)); + var_00.v["fxid"] = "leaves_fall_gentlewind"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_light_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3809.91,2181.33,451.722),(270,0,0)); + var_00.v["fxid"] = "insects_light_moths_complex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_blacksmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3214.66,250.27,542.993),(270,0,0)); + var_00.v["fxid"] = "fire_lp_s_blacksmk"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_crackle_lp_04"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_whitesmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3418.4,305.465,568.775),(270,180,73)); + var_00.v["fxid"] = "fire_lp_m_whitesmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_base"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3438.5,330.733,576.125),(270,0,0)); + var_00.v["fxid"] = "fire_lp_xs_base"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_base"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3279.27,314.409,566.899),(270,0,0)); + var_00.v["fxid"] = "fire_lp_xs_base"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_crackle_lp_03"; + var_00 = common_scripts\utility::createoneshoteffect("insects_light_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((-377.485,1858.73,583.331),(270,0,0)); + var_00.v["fxid"] = "insects_light_moths_complex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("hand_scanner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1385.96,309.135,619.419),(360,90,178.998)); + var_00.v["fxid"] = "hand_scanner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gutter_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3651.17,2594.6,507.386),(270,0,136)); + var_00.v["fxid"] = "gutter_splashes_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_fire_alarm_strobe"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3939.56,2620.59,569.926),(0,315,0)); + var_00.v["fxid"] = "light_fire_alarm_strobe"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_blacksmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2052.35,618.143,575.065),(270,0,90)); + var_00.v["fxid"] = "fire_lp_xs_blacksmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_light_whitesmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2050.29,573.097,575.876),(270,0,75)); + var_00.v["fxid"] = "fire_lp_s_light_whitesmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_blacksmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2088.15,512.033,643.403),(270,0,90)); + var_00.v["fxid"] = "fire_lp_xs_blacksmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_ceiling_md_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2047.57,557.471,622.049),(0,180.154,0)); + var_00.v["fxid"] = "fire_ceiling_md_slow"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_crackle_lp_02"; + var_00 = common_scripts\utility::createoneshoteffect("fire_falling_runner_point_infrequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2185.59,703.838,800.88),(270,0,0)); + var_00.v["fxid"] = "fire_falling_runner_point_infrequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_whitesmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4317.15,1679.38,387.946),(270,0,0)); + var_00.v["fxid"] = "fire_lp_s_whitesmk"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_ground_sml_lp_01"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_whitesmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4376.98,1660.67,376.993),(270,0,0)); + var_00.v["fxid"] = "fire_lp_s_whitesmk"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_ground_lp"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_whitesmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4278.18,702.707,524.445),(278.312,45.0666,6.86207)); + var_00.v["fxid"] = "fire_lp_s_whitesmk"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_ground_muff_lp"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_whitesmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4378.57,710.71,527.583),(270,0,0)); + var_00.v["fxid"] = "fire_lp_s_whitesmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_whitesmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4352.86,729.38,550.793),(278.144,82.9026,0)); + var_00.v["fxid"] = "fire_lp_s_whitesmk"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_med_lp_01"; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3561.26,2681.84,629.432),(27,315,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("single_drip_runner_frequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3561.8,2682.98,629.62),(27,315,0)); + var_00.v["fxid"] = "single_drip_runner_frequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("hand_scanner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2898.75,1255.55,752.147),(1,176.996,179.948)); + var_00.v["fxid"] = "hand_scanner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("hand_scanner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2898.68,951.759,751.688),(1,176.996,179.948)); + var_00.v["fxid"] = "hand_scanner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_light_whitesmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2588.46,2409.99,635.017),(278.317,303.146,-27.3194)); + var_00.v["fxid"] = "fire_lp_s_light_whitesmk"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_crackle_lp_02"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_base"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2592.46,2358.87,632.712),(278.317,303.146,31.0807)); + var_00.v["fxid"] = "fire_lp_xs_base"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("fire_ceiling_md_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2635.94,2377.77,578.4),(277.751,345.477,-178.507)); + var_00.v["fxid"] = "fire_ceiling_md_slow"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_base"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2579.91,2356.62,580.432),(281.743,341.9,-140.4)); + var_00.v["fxid"] = "fire_lp_s_base"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_whitesmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2582.07,2412.59,576.952),(281.743,341.9,-39.2)); + var_00.v["fxid"] = "fire_lp_s_whitesmk"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_base"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2565.69,2382.59,576),(278.317,303.146,-38.5193)); + var_00.v["fxid"] = "fire_lp_xs_base"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_crackle_lp_01"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_base"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2550.96,2363.39,576.098),(278.317,303.146,-69.7192)); + var_00.v["fxid"] = "fire_lp_xs_base"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_med_lp_05"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_blacksmk_tall"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4192.66,-130.786,558.167),(270,0,-156)); + var_00.v["fxid"] = "fire_lp_m_blacksmk_tall"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_med_lp_02"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_whitesmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4254.19,-5.07024,536.314),(270,0,0)); + var_00.v["fxid"] = "fire_lp_xs_whitesmk"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_vehicle_sml_lp_01"; + var_00 = common_scripts\utility::createoneshoteffect("gutter_splashes_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4433.68,1177.48,375.125),(270,0,155)); + var_00.v["fxid"] = "gutter_splashes_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("prison_lgt_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1141.42,563.461,833.248),(270,0,0)); + var_00.v["fxid"] = "prison_lgt_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("prison_lgt_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1013.27,565.965,830.219),(270,0,0)); + var_00.v["fxid"] = "prison_lgt_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("prison_lgt_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1037.6,675.314,696.724),(270,0,0)); + var_00.v["fxid"] = "prison_lgt_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("prison_lgt_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1158.3,622.563,703.875),(270,0,0)); + var_00.v["fxid"] = "prison_lgt_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("prison_lgt_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1158.3,622.563,703.875),(270,0,0)); + var_00.v["fxid"] = "prison_lgt_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("prison_lgt_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1158.3,622.563,703.875),(270,0,0)); + var_00.v["fxid"] = "prison_lgt_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("prison_lgt_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1158.27,620.647,696.875),(270,0,0)); + var_00.v["fxid"] = "prison_lgt_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("prison_lgt_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2844.69,1631.01,699.529),(270,0,0)); + var_00.v["fxid"] = "prison_lgt_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("prison_lgt_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2839.72,1741.73,699.785),(270,0,0)); + var_00.v["fxid"] = "prison_lgt_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("prison_lgt_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2953.09,1183.5,697.705),(270,0,0)); + var_00.v["fxid"] = "prison_lgt_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("prison_lgt_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3113.27,1184.59,696.596),(270,0,0)); + var_00.v["fxid"] = "prison_lgt_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("prison_lgt_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2980.27,1479.9,704.097),(270,0,0)); + var_00.v["fxid"] = "prison_lgt_glow_square"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\utility::createoneshoteffect("hand_scanner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1204.4,782.701,755.839),(359.948,86.9968,179)); + var_00.v["fxid"] = "hand_scanner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_light_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1321.42,2117.42,687),(270,0,0)); + var_00.v["fxid"] = "insects_light_moths_complex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_light_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3537.53,2548.93,633.187),(270,0,0)); + var_00.v["fxid"] = "insects_light_moths_complex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("prison_lgt_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2582.31,2882.55,707.921),(270,0,0)); + var_00.v["fxid"] = "prison_lgt_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("prison_lgt_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3942.96,2040.74,679.447),(270,0,0)); + var_00.v["fxid"] = "prison_lgt_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("prison_lgt_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4499.29,1230.96,633.571),(270,0,0)); + var_00.v["fxid"] = "prison_lgt_glow_square"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\utility::createoneshoteffect("prison_lgt_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4499.29,1003.97,633.463),(270,0,0)); + var_00.v["fxid"] = "prison_lgt_glow_square"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\utility::createoneshoteffect("prison_lgt_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4499.32,791.714,633.146),(270,0,0)); + var_00.v["fxid"] = "prison_lgt_glow_square"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\utility::createoneshoteffect("insects_light_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4917.91,1235.23,475.291),(270,0,0)); + var_00.v["fxid"] = "insects_light_moths_complex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m_thick"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5719.84,3.79942,460),(270,0,-57)); + var_00.v["fxid"] = "battlefield_smoke_m_thick"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_godray_beam_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((-829.365,2228.1,731.942),(42.6812,76.6058,-84.4115)); + var_00.v["fxid"] = "light_godray_beam_4"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_godray_beam_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1063.64,2173.27,728),(47.6538,86.363,-77.1625)); + var_00.v["fxid"] = "light_godray_beam_4"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_godray_beam_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1021.85,301.202,671.882),(31.5928,26.6489,-132.195)); + var_00.v["fxid"] = "light_godray_beam_4"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_base"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3467.93,307.307,544.082),(270,0,77)); + var_00.v["fxid"] = "fire_lp_s_base"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_whitesmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4960.04,61.2157,478.275),(270,0,0)); + var_00.v["fxid"] = "fire_lp_xs_whitesmk"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_vehicle_sml_lp_01"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_whitesmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5087.4,143.33,456.481),(270,0,0)); + var_00.v["fxid"] = "fire_lp_s_whitesmk"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_fire_crackle_lp_02"; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_base"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5141.89,86.3263,456),(270,0,83)); + var_00.v["fxid"] = "fire_lp_xs_base"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_base"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5136.05,81.8954,471.642),(270,180,75)); + var_00.v["fxid"] = "fire_lp_xs_base"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_whitesmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5110.02,151.187,460),(270,0,13)); + var_00.v["fxid"] = "fire_lp_xs_whitesmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_xs_whitesmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4320.65,668.894,543.228),(270,180,-152)); + var_00.v["fxid"] = "fire_lp_xs_whitesmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_low_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4410.13,1192.95,490.466),(270,0,0)); + var_00.v["fxid"] = "falling_water_low_narrow"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_low_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4410.13,1140.32,489.239),(270,0,0)); + var_00.v["fxid"] = "falling_water_low_narrow"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createexploder("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1432.4,2752.41,1060.09),(270,0,48)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_prison"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2753.29,1275.91,706.469),(90,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_prison"; + var_00.v["delay"] = 0; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_prison"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2325.51,1276.19,706.455),(90,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_prison"; + var_00.v["delay"] = 0; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_prison"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2027.42,1275.89,706.47),(90,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_prison"; + var_00.v["delay"] = 0; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_prison"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2024.95,931.76,706.35),(90,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_prison"; + var_00.v["delay"] = 0; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_prison"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2323.76,932.171,706.111),(90,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_prison"; + var_00.v["delay"] = 0; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_prison"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2667.11,930.922,706.307),(90,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_prison"; + var_00.v["delay"] = 0; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_prison"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1726.84,1276.34,704.86),(90,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_prison"; + var_00.v["delay"] = 0; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_prison"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1478.51,1267.12,702.471),(90,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_prison"; + var_00.v["delay"] = 0; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_prison"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1480.22,1104.58,701.579),(90,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_prison"; + var_00.v["delay"] = 0; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_prison"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1472.14,932.303,706.378),(90,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_prison"; + var_00.v["delay"] = 0; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_prison"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1726.91,931.962,706.36),(90,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_prison"; + var_00.v["delay"] = 0; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_prison"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1937.9,1104.56,699.249),(90,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_prison"; + var_00.v["delay"] = 0; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_ground_contact"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1938.13,1103.81,576.125),(270,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_ground_contact"; + var_00.v["delay"] = 0.15; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_ground_contact"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2027.15,1275.72,576),(270,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_ground_contact"; + var_00.v["delay"] = 0.15; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_ground_contact"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2325.12,1276.11,576.125),(270,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_ground_contact"; + var_00.v["delay"] = 0.15; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_ground_contact"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2753.6,1276.18,576.125),(270,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_ground_contact"; + var_00.v["delay"] = 0.15; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_ground_contact"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2667.1,931.853,576.125),(270,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_ground_contact"; + var_00.v["delay"] = 0.15; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_ground_contact"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2323.76,932.123,576.125),(270,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_ground_contact"; + var_00.v["delay"] = 0.15; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_ground_contact"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2024.5,931.731,576),(270,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_ground_contact"; + var_00.v["delay"] = 0.15; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_ground_contact"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1726.62,931.537,576.125),(270,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_ground_contact"; + var_00.v["delay"] = 0.15; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_ground_contact"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1479.96,1104.51,576.125),(270,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_ground_contact"; + var_00.v["delay"] = 0.15; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_ground_contact"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1727.04,1277.3,576.125),(270,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_ground_contact"; + var_00.v["delay"] = 0.15; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_ground_fill"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2581.77,1098.61,576.125),(270,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_ground_fill"; + var_00.v["delay"] = 2; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_prison"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2666.8,902.62,839.713),(90,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_prison"; + var_00.v["delay"] = 0; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_ground_contact"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2666.57,902.634,712.125),(270,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_ground_contact"; + var_00.v["delay"] = 0.15; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_prison"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1512.33,903.696,840.911),(90,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_prison"; + var_00.v["delay"] = 0; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_ground_contact"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1512.06,903.29,712.125),(270,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_ground_contact"; + var_00.v["delay"] = 0.15; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_prison"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1557.1,1304.71,840.992),(90,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_prison"; + var_00.v["delay"] = 0; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_ground_contact"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1556.9,1305.29,712.125),(270,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_ground_contact"; + var_00.v["delay"] = 0.15; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_ground_fill"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1904.45,1110.08,576.125),(270,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_ground_fill"; + var_00.v["delay"] = 2; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_prison"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2666.96,1305.61,838.86),(90,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_prison"; + var_00.v["delay"] = 0; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_prison"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2282.77,1304.68,840.994),(90,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_prison"; + var_00.v["delay"] = 0; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_prison"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2026.91,1305.12,840.893),(90,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_prison"; + var_00.v["delay"] = 0; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_prison"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2411.96,902.749,839.12),(90,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_prison"; + var_00.v["delay"] = 0; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_ground_contact"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2411.67,902.897,712.125),(270,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_ground_contact"; + var_00.v["delay"] = 0.15; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_prison"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2024.25,903.665,840.909),(90,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_prison"; + var_00.v["delay"] = 0; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_ground_contact"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2665.77,1304.77,712.125),(270,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_ground_contact"; + var_00.v["delay"] = 0.15; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_ground_contact"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2282.29,1304.94,712.125),(270,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_ground_contact"; + var_00.v["delay"] = 0.15; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_ground_contact"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2026.65,1304.62,712.125),(270,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_ground_contact"; + var_00.v["delay"] = 0.15; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_ground_contact"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2023.99,902.883,712.125),(270,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_ground_contact"; + var_00.v["delay"] = 0.15; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_ground_fill"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2237.51,1141.01,576.125),(270,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_ground_fill"; + var_00.v["delay"] = 2; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_ground_fill"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1596.35,1102.44,576.125),(270,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_ground_fill"; + var_00.v["delay"] = 2; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("light_poison_gas_alarm_strobe"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1599.39,948.296,705.875),(0,90,0)); + var_00.v["fxid"] = "light_poison_gas_alarm_strobe"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "10"; + var_00 = common_scripts\utility::createexploder("light_poison_gas_alarm_strobe"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2153.46,948.5,841.745),(0,90,0)); + var_00.v["fxid"] = "light_poison_gas_alarm_strobe"; + var_00.v["delay"] = 0.1; + var_00.v["exploder"] = "10"; + var_00 = common_scripts\utility::createexploder("light_poison_gas_alarm_strobe"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2707.57,948.514,706.086),(0,90,0)); + var_00.v["fxid"] = "light_poison_gas_alarm_strobe"; + var_00.v["delay"] = 0.2; + var_00.v["exploder"] = "10"; + var_00 = common_scripts\utility::createexploder("light_poison_gas_alarm_strobe"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2753.41,1258.63,705.179),(0,270,0)); + var_00.v["fxid"] = "light_poison_gas_alarm_strobe"; + var_00.v["delay"] = 0.3; + var_00.v["exploder"] = "10"; + var_00 = common_scripts\utility::createexploder("light_poison_gas_alarm_strobe"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2154.46,1259.47,842.008),(0,270,0)); + var_00.v["fxid"] = "light_poison_gas_alarm_strobe"; + var_00.v["delay"] = 0.4; + var_00.v["exploder"] = "10"; + var_00 = common_scripts\utility::createexploder("light_poison_gas_alarm_strobe"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1599.45,1259.59,705.359),(0,270,0)); + var_00.v["fxid"] = "light_poison_gas_alarm_strobe"; + var_00.v["delay"] = 0.5; + var_00.v["exploder"] = "10"; + var_00 = common_scripts\utility::createexploder("poison_gas_prison_door_spill"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1405.53,902.008,712.125),(270,0,-93)); + var_00.v["fxid"] = "poison_gas_prison_door_spill"; + var_00.v["delay"] = 0.5; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_prison_door_spill"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1402.78,1059.23,578.125),(270,0,-82)); + var_00.v["fxid"] = "poison_gas_prison_door_spill"; + var_00.v["delay"] = 0.5; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_prison_door_spill"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1404.94,1113.19,578.125),(270,0,-86)); + var_00.v["fxid"] = "poison_gas_prison_door_spill"; + var_00.v["delay"] = 0.5; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_prison_door_spill"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1755.32,1332.74,576.125),(270,0,-13)); + var_00.v["fxid"] = "poison_gas_prison_door_spill"; + var_00.v["delay"] = 0.5; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_prison_door_spill"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1814.33,1353.48,576.125),(270,0,-1)); + var_00.v["fxid"] = "poison_gas_prison_door_spill"; + var_00.v["delay"] = 0.5; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_prison_door_spill"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2743.44,1333.69,576.125),(270,0,4)); + var_00.v["fxid"] = "poison_gas_prison_door_spill"; + var_00.v["delay"] = 0.5; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_prison_door_spill"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2797.28,1333.22,576.125),(270,0,-11)); + var_00.v["fxid"] = "poison_gas_prison_door_spill"; + var_00.v["delay"] = 0.5; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_prison_door_spill"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2095.38,892.12,583.251),(270,0,161)); + var_00.v["fxid"] = "poison_gas_prison_door_spill"; + var_00.v["delay"] = 0.5; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_prison_door_spill"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1738.86,1445.68,576.125),(270,0,13)); + var_00.v["fxid"] = "poison_gas_prison_door_spill"; + var_00.v["delay"] = 0.5; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_ground_contact"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1478.85,1267.05,576.125),(270,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_ground_contact"; + var_00.v["delay"] = 0.15; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createexploder("poison_gas_sprayer_ground_contact"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1472.39,931.654,576.125),(270,0,0)); + var_00.v["fxid"] = "poison_gas_sprayer_ground_contact"; + var_00.v["delay"] = 0.15; + var_00.v["flag"] = ""; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3408.9,292.16,629.546),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "glass_debris_vehicle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1669.94,-552.79,607.665),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 13; + var_00.v["soundalias"] = "glass_debris_vehicle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((300.969,2135.64,772.463),(270,0,0)); + var_00.v["delay_min"] = 9; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "metal_settling"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2102.36,626.317,659.581),(270,0,0)); + var_00.v["delay_min"] = 13; + var_00.v["delay_max"] = 17; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2177.46,634.26,712.372),(270,0,0)); + var_00.v["delay_min"] = 15; + var_00.v["delay_max"] = 18; + var_00.v["soundalias"] = "metal_settling"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1826.2,1357.38,768.525),(270,0,0)); + var_00.v["delay_min"] = 11; + var_00.v["delay_max"] = 26; + var_00.v["soundalias"] = "glass_debris_vehicle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1804.78,-346,647.016),(270,0,0)); + var_00.v["delay_min"] = 20; + var_00.v["delay_max"] = 50; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4832.05,-55.4829,555.937),(270,0,0)); + var_00.v["delay_min"] = 35; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4995.17,1632.79,456.976),(270,0,0)); + var_00.v["delay_min"] = 35; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2532.22,2688.85,695.351),(270,0,0)); + var_00.v["delay_min"] = 35; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((166.608,1503.14,821.219),(270,0,0)); + var_00.v["delay_min"] = 25; + var_00.v["delay_max"] = 65; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3612.88,1366.03,692.589),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "glass_debris_vehicle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3624.88,1364.48,819.921),(270,0,0)); + var_00.v["delay_min"] = 20; + var_00.v["delay_max"] = 30; + var_00.v["soundalias"] = "glass_debris_vehicle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2733.1,-328,668.479),(270,0,0)); + var_00.v["delay_min"] = 30; + var_00.v["delay_max"] = 45; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-51.9611,2795.84,637.269),(270,0,0)); + var_00.v["delay_min"] = 30; + var_00.v["delay_max"] = 45; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-897.51,2675.44,710.922),(270,0,0)); + var_00.v["delay_min"] = 25; + var_00.v["delay_max"] = 35; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4551.24,1159.06,283.977),(270,0,0)); + var_00.v["delay_min"] = 20; + var_00.v["delay_max"] = 30; + var_00.v["soundalias"] = "metal_settling"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1420.13,2756.39,1148.69),(270,0,0)); + var_00.v["delay_min"] = 25; + var_00.v["delay_max"] = 35; + var_00.v["soundalias"] = "metal_settling"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1219.36,1363.01,647.99),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "glass_debris_vehicle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2277.04,661.305,695.716),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "rock_debris_lrg_int_tunnel"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1997.69,649.293,780.425),(270,0,0)); + var_00.v["delay_min"] = 13; + var_00.v["delay_max"] = 18; + var_00.v["soundalias"] = "rock_debris_lrg_int_tunnel"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2141.98,523.636,766.915),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_lrg_int_tunnel"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4207.36,1822.04,485.687),(270,0,0)); + var_00.v["delay_min"] = 9; + var_00.v["delay_max"] = 13; + var_00.v["soundalias"] = "rock_debris_lrg_ext_pit"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((390.445,2108.7,708.439),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "rock_debris_scoreboard"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1047.39,926.194,768.05),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "glass_debris_vehicle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3016.6,1305.44,638.817),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "glass_debris_vehicle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4157.44,1953.31,477.935),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 13; + var_00.v["soundalias"] = "rock_debris_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1663.38,1341.31,619.95),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "glass_debris_vehicle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2155.28,759.291,833.872),(270,0,0)); + var_00.v["delay_min"] = 13; + var_00.v["delay_max"] = 19; + var_00.v["soundalias"] = "rock_debris_lrg_int_tunnel"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3778.2,1683.81,1211.81),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "metal_clinks_flagpole"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2134.79,292.199,545.902),(270,0,0)); + var_00.v["delay_min"] = 15; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1375.11,203.256,546.888),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4596.85,1583.95,357.546),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4083.51,2012.38,405.613),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2592.55,2324.2,623.07),(270,0,0)); + var_00.v["delay_min"] = 12; + var_00.v["delay_max"] = 23; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4763.67,1857.61,464.212),(270,0,0)); + var_00.v["delay_min"] = 35; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4509.89,2115.09,466.25),(270,0,0)); + var_00.v["delay_min"] = 35; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-5329.43,1095.51,487.135),(270,0,0)); + var_00.v["delay_min"] = 35; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-5335.43,844.783,527.889),(270,0,0)); + var_00.v["delay_min"] = 35; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4616.05,-47.12,606.381),(270,0,0)); + var_00.v["delay_min"] = 35; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-5193,-51.875,574.536),(270,0,0)); + var_00.v["delay_min"] = 35; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-5374,238.242,563.114),(270,0,0)); + var_00.v["delay_min"] = 35; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3992.88,-178,636.867),(270,0,0)); + var_00.v["delay_min"] = 35; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3387.5,155.602,621.851),(270,0,0)); + var_00.v["delay_min"] = 35; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3264.66,2713.78,626.318),(270,0,0)); + var_00.v["delay_min"] = 35; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3082.37,2714.94,638.444),(270,0,0)); + var_00.v["delay_min"] = 35; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2791.32,2715.57,685),(270,0,0)); + var_00.v["delay_min"] = 35; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2272.67,2724,766.704),(270,0,0)); + var_00.v["delay_min"] = 35; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-379.273,2739.9,662.118),(270,0,0)); + var_00.v["delay_min"] = 35; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1399,152.769,663.42),(270,0,0)); + var_00.v["delay_min"] = 35; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1147.65,2175.22,660.691),(270,0,0)); + var_00.v["delay_min"] = 35; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-880.548,2468.96,824.307),(270,0,0)); + var_00.v["delay_min"] = 35; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-239.715,2838.94,828.942),(270,0,0)); + var_00.v["delay_min"] = 35; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((203.922,2726.23,833.963),(270,0,0)); + var_00.v["delay_min"] = 35; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((403.075,1639.67,815.452),(270,0,0)); + var_00.v["delay_min"] = 35; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-317.271,1226.23,827.993),(270,0,0)); + var_00.v["delay_min"] = 35; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-577.054,789.734,817.142),(270,0,0)); + var_00.v["delay_min"] = 35; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "perimeter_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3592.03,627.907,600.55),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "foliage_sway"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4108.64,1071.97,658.322),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "foliage_sway"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4026.6,1257.65,627.125),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "foliage_sway"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4482.16,1577.94,486.264),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "foliage_sway"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4630.45,539.803,670.934),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "foliage_sway"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4908.91,527.79,649.875),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "foliage_sway"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3736.73,373.304,684),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "foliage_sway"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3216.39,2342.43,684.439),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "foliage_sway"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3057.09,2838.84,592.253),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "foliage_sway"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-5394.75,1140.9,423.774),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "foliage_sway"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4760.71,-158.801,616.006),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "foliage_sway"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-636.489,630.844,797.5),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "foliage_sway"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3192.95,2134.07,596.552),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_flies_pan"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3571.17,2540.34,624.815),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_flies_annoying"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3086.97,1570.98,667.78),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_console_beep_random"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1026.52,934.024,755.279),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_console_beep_random"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3154.74,2115.61,595.317),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_flies_annoying"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3053.88,-79.3735,612.832),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_console_beep_random"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3094.73,-332.368,617.9),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_console_beep_random"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-5199.11,1264.34,434.04),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4845.69,1258.2,437.875),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4713.24,1391.34,477.901),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4347.31,1614.18,452.436),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4610.51,2007.03,449.219),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1146.16,2024.48,642.848),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-740.25,1714.34,641.336),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-685.168,1285.78,709),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-399.635,1407.16,634.225),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((259.48,2606,695.523),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-382.732,2570.76,703.875),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-718.978,2543.54,689.68),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-949.241,2152.32,704.855),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1178.73,2231.42,685.374),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1261.01,1942.52,727.589),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-901.157,2666.84,629.628),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2227.02,2225.43,618.884),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2131.69,2392.17,605.549),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2330.25,2708.44,663.22),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3758.83,1999.37,632.184),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-842.419,281.125,792.183),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1356.47,279,788.369),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1885.34,-346,639.925),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2628.13,-328,628.288),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4085.39,1057.16,554.029),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4139.8,1497.04,532.984),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4076.64,2037,550.251),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1007.74,1677.65,751.81),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-393.211,1557,751.939),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1997.1,91.2519,665.601),(280.443,203.762,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "foliage_sway"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2220.05,607.259,740.874),(89.7775,272.64,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_pipe_stress_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2104.13,707.073,764.359),(0,90,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3372.37,555.167,687.657),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_console_beep_random"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3023.1,733.922,659.799),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_flies_annoying"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2151.04,549.54,731.152),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_dust_debris_falling"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2177.95,835.599,680.013),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_dust_debris_falling"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_recovery_fx.gsc b/AW/PC/maps/createfx/mp_recovery_fx.gsc new file mode 100644 index 0000000..c2fb5e8 --- /dev/null +++ b/AW/PC/maps/createfx/mp_recovery_fx.gsc @@ -0,0 +1,2523 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_recovery_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 126 ms + * Timestamp: 4/22/2024 2:07:45 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((0.654674,1255.85,354.089),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_steam_transformer_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-990.968,704.119,284.071),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_steam_transformer_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-642.7,1055.94,319.928),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_water_air_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((8.28972,1272.19,329.186),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1139.31,1077.51,138.696),(2.90927,270,0)); + var_00.v["soundalias"] = "emt_freezer_fan_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1016.53,1079.81,140.843),(347.096,270,0)); + var_00.v["soundalias"] = "emt_machine_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3.30562,-108.675,180.691),(0,0,0)); + var_00.v["soundalias"] = "emt_building_transformer_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-362.104,-24.7679,217.875),(90,0,0)); + var_00.v["soundalias"] = "emt_wind_tunnel_ext_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1186.52,1235.3,303),(90,0,0)); + var_00.v["soundalias"] = "emt_wind_tunnel_ext_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-657.895,3940.26,50.875),(90,0,0)); + var_00.v["soundalias"] = "emt_wind_tunnel_ext_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2288.87,2804.71,65.875),(90,0,0)); + var_00.v["soundalias"] = "emt_wind_tunnel_ext_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-703.081,254.063,245.875),(90,0,0)); + var_00.v["soundalias"] = "emt_wind_tunnel_ext_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-656.733,1120.65,288.367),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_water_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-49.9143,-109.043,221.749),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_slow_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1304.81,-295.482,299.229),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1208.47,9.46091,294.577),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-849.828,683.6,249.789),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((988.827,-1089.67,27.4414),(270,0,0)); + var_00.v["soundalias"] = "emt_console_medium_hum_beep_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((867.346,-1318.6,32.0949),(270,0,0)); + var_00.v["soundalias"] = "emt_console_medium_hum_beep_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-865.175,1136.6,250.339),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-620.455,914.082,248.636),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((364.321,37.0275,245.634),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((364.836,-144.439,244.281),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1179.98,-295.658,299.371),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2257.75,2993.87,287.5),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2277.86,2700.36,287.5),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2417.7,2833.32,287.5),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2183.04,2794.48,287.5),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-681.016,3848.92,271.989),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-892.541,4060.74,274.69),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-659.099,4060.8,273.613),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-912.59,3849.05,274.563),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1179.48,3923.21,154.59),(0,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1993.9,3236.57,247.522),(0,225,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((194.148,483.888,168.209),(0,332,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((197.187,758.334,169.782),(0,90,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((28.3367,1017.3,169.501),(0,270,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-421.096,912.976,171.337),(0,90,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1096.39,-116.178,-57.6209),(0,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-137.98,-264.933,132.671),(0,332,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((13.6074,1475.88,168.552),(0,332,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((455.217,1205.27,120.614),(0,332,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-713.306,325.651,189.323),(270,0,0)); + var_00.v["soundalias"] = "emt_fan_big_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-500.821,324.269,191.905),(270,0,0)); + var_00.v["soundalias"] = "emt_fan_big_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((950.207,1354.48,142.829),(0,332,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((182.094,690.995,161.879),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_plastic_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((184.104,533.649,172.631),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_plastic_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((218.495,320.884,173.926),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_plastic_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((53.7359,-327.908,154.705),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_plastic_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((305.832,-320.929,153.303),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_plastic_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1179.35,3809.52,157.25),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_plastic_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2103.31,3430.48,164.158),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_plastic_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-235.191,104.015,365.8),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_plastic_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-228.579,-190.622,368.322),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_plastic_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-324.298,-184.794,341.294),(0,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((43.4327,-318.166,144.261),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((56.9538,183.493,171.984),(0,332,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2089.95,3449.15,160.645),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1505.78,3952.35,-13.1111),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1535.32,3765.51,4.71182),(0,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1966.6,3206.3,248.746),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((502.734,1134.39,103.364),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2588.49,2142.46,138.532),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2267.06,2482.32,163.43),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-576.405,3281,164.065),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-5.23679,3269.24,168.384),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((15.7762,4256.81,158.691),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-572.769,4253.66,156.443),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3281.85,2732.72,147.893),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2876.62,3146.07,157.118),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-642.105,960.144,144),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_metal_splat_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((866.183,-200.514,32.6267),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_dirt_splat_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-640.227,967.126,144),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_int_cement_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-783.543,842.981,199.35),(270,0,0)); + var_00.v["soundalias"] = "emt_console_medium_low_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-779.549,842.419,186.045),(270,0,0)); + var_00.v["soundalias"] = "emt_virtual_map_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((58.2244,1381.33,219.403),(270,0,0)); + var_00.v["soundalias"] = "emt_computer_hum_lrg_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((62.5,1107.18,215.592),(270,0,0)); + var_00.v["soundalias"] = "emt_console_warning_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-70.2592,1138.2,192.835),(270,0,0)); + var_00.v["soundalias"] = "emt_console_small_high_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((58.8441,1389.05,210.405),(270,0,0)); + var_00.v["soundalias"] = "emt_control_panel_beep_steady_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((56.4137,1381.92,194.922),(270,0,0)); + var_00.v["soundalias"] = "emt_console_medium_low_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((61.7238,1097,225.91),(270,0,0)); + var_00.v["soundalias"] = "emt_console_medium_low_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((352.5,1522.03,194.991),(270,0,0)); + var_00.v["soundalias"] = "emt_tv_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((352.5,1333.07,193.399),(270,0,0)); + var_00.v["soundalias"] = "emt_tv_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((352.5,1148.04,200.531),(270,0,0)); + var_00.v["soundalias"] = "emt_tv_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-801.62,826.377,171.596),(270,0,0)); + var_00.v["soundalias"] = "emt_control_panel_beep_steady_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2516.03,4508.91,183.381),(270,0,0)); + var_00.v["soundalias"] = "emt_building_transformer_ext_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-910.891,2958.66,112.125),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_ground_splat_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1023.77,4263.39,-26.2084),(270,0,0)); + var_00.v["soundalias"] = "emt_cricket_slow_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1138.43,1847.72,146.434),(270,0,0)); + var_00.v["soundalias"] = "emt_cricket_slow_broken_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1020.78,-1591.25,-81.5016),(270,0,0)); + var_00.v["soundalias"] = "emt_cricket_slow_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-619.33,72.2038,407.427),(270,0,0)); + var_00.v["soundalias"] = "emt_cricket_fast_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3224.53,2575.77,-106.243),(270,0,0)); + var_00.v["soundalias"] = "emt_cricket_slow_broken_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-537.158,-1573.65,-25.144),(270,0,0)); + var_00.v["soundalias"] = "emt_foliage_debris_base_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1409.55,-642.617,-163.037),(270,0,0)); + var_00.v["soundalias"] = "emt_foliage_debris_base_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1138,510.235,-78.7954),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_cement_splatty_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4094.75,3915.19,-74.2043),(270,0,0)); + var_00.v["soundalias"] = "emt_ocean_air_distant_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3333.56,5086.73,-323.77),(270,0,0)); + var_00.v["soundalias"] = "emt_waves_shore_distant_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2985.76,5647.21,-410.194),(270,0,0)); + var_00.v["soundalias"] = "emt_ocean_air_distant_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1101.3,1542.01,75.2157),(270,0,0)); + var_00.v["soundalias"] = "emt_foliage_debris_base_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1884.41,-665.579,-226.875),(270,0,0)); + var_00.v["soundalias"] = "emt_volcano_rumble_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2656.15,-847.608,-306.152),(270,0,0)); + var_00.v["soundalias"] = "emt_volcano_rumble_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2566.36,-456.092,-506.783),(270,0,0)); + var_00.v["soundalias"] = "emt_volcano_rumble_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1529.9,-1868.58,-50.9135),(270,0,0)); + var_00.v["soundalias"] = "emt_volcano_rumble_lp_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2708.09,-2905.88,-1105.38),(270,0,0)); + var_00.v["soundalias"] = "emt_embers_tiny_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1947.66,-1444.66,-432.654),(270,0,0)); + var_00.v["soundalias"] = "emt_embers_med_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2375.09,316.193,-344.975),(270,0,0)); + var_00.v["soundalias"] = "emt_volcano_rumble_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((305.397,-1797.18,-98.662),(270,0,0)); + var_00.v["soundalias"] = "emt_volcano_rumble_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((714.156,-2269.87,-288.289),(270,0,0)); + var_00.v["soundalias"] = "emt_embers_rumble_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2571.85,-2336.09,-689.653),(270,0,0)); + var_00.v["soundalias"] = "emt_embers_tiny_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3343.08,-2110.83,-818.67),(270,0,0)); + var_00.v["soundalias"] = "emt_embers_rumble_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1027.2,5920.88,-341.541),(270,0,0)); + var_00.v["soundalias"] = "emt_city_distant_lp_06"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1574.99,1622.7,-116.632),(10.6677,339.037,0)); + var_00.v["soundalias"] = "emt_volcano_rumble_lp_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2326.86,-960.158,-326.669),(25.6586,312.687,0)); + var_00.v["soundalias"] = "emt_volcano_rumble_lp_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-272.151,-1996.88,-277.445),(317.291,90,0)); + var_00.v["soundalias"] = "emt_volcano_rumble_lp_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((693.932,6000.63,-392.26),(8.65722,46.8781,0)); + var_00.v["soundalias"] = "emt_city_distant_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1861.97,5691.09,-37.7479),(13.9142,94.8279,0)); + var_00.v["soundalias"] = "emt_city_distant_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3606.68,5459.56,-578.419),(21.4069,127.391,0)); + var_00.v["soundalias"] = "emt_city_distant_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4069.32,4479.59,-273.276),(19.3195,141.069,0)); + var_00.v["soundalias"] = "emt_city_distant_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2728.66,-221.504,-484.137),(270,0,0)); + var_00.v["soundalias"] = "emt_embers_med_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3079.47,-2200.08,-959.909),(270,0,0)); + var_00.v["soundalias"] = "emt_ember_sizzle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-606.59,7315.5,-676.114),(270,0,0)); + var_00.v["soundalias"] = "emt_city_traffic_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3287.22,6212.16,-705.963),(270,0,0)); + var_00.v["soundalias"] = "emt_city_traffic_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1924.16,686.737,120),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_dirt_splat_lp"; + var_00 = common_scripts\utility::createoneshoteffect("hologram_recovery_map"); + var_00 common_scripts\_createfx::set_origin_and_angles((212.935,1253.93,116.125),(360,0,0)); + var_00.v["fxid"] = "hologram_recovery_map"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_virtual_map_pulse_lp"; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-258.592,-495.721,28.724),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-148.636,-437.268,72),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-422.405,87.6448,131.112),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-431.157,-185.251,261.506),(270,0,0)); + var_00.v["fxid"] = "falling_water_exterior_thin"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-263.357,-133.447,73.8362),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_cricket_slow_broken_lp"; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((352.836,-138.993,242.795),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_light_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((526.949,2418.42,520),(270,0,0)); + var_00.v["fxid"] = "dust_falling_light_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-298.003,-7.17873,403.125),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_light_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1176.61,1106.93,43.875),(270,0,0)); + var_00.v["fxid"] = "dust_falling_light_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1129.08,502.086,37.5085),(270,0,0)); + var_00.v["fxid"] = "falling_water_exterior_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1598.89,505.205,126.843),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_cricket_high_pitch_lp"; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-669.586,-585.379,160.875),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_light_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-846.656,-324.677,354.967),(270,0,0)); + var_00.v["fxid"] = "dust_falling_light_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1245.77,-296.38,278.818),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1254.44,-13.2426,345.36),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1167.66,-31.8855,290.68),(270,0,0)); + var_00.v["fxid"] = "falling_water_exterior_thin"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-865.311,-185.899,290.548),(270,0,0)); + var_00.v["fxid"] = "falling_water_exterior_thin"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((630.145,-1345.48,129.875),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((176.77,-492.113,24),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_cricket_slow_lp"; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1127.12,700.926,236.881),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = 0; + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-644.051,962.504,265.881),(270,0,0)); + var_00.v["fxid"] = "falling_water_exterior_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-58.4184,2427.17,432),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1329.56,1811.12,504.225),(270,0,0)); + var_00.v["fxid"] = "falling_water_exterior_thin"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bird_vulture_circle_runner_less"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3334.9,412.103,3525.58),(270,0,0)); + var_00.v["fxid"] = "bird_vulture_circle_runner_less"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_light_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-449.503,2236,526.32),(270,0,0)); + var_00.v["fxid"] = "dust_falling_light_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_100x100_runner_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1018.58,-442.434,195.294),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((1031.45,-433.423,195.107),(270,0,0)); + var_00.v["fxid"] = "falling_water_exterior_thin"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((865.486,288.682,56),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_twirl_no_physics_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-859.135,-18.9386,632.139),(288,270,90)); + var_00.v["fxid"] = "leaves_fall_twirl_no_physics_3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1584.36,237.188,779.319),(288,270,-63)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((952.683,1856.77,128),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_cricket_fast_lp"; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((404.19,335.805,60.8242),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1100,-1117.67,193.561),(311,180,180)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-868.684,1295.29,171.552),(270,0,0)); + var_00.v["fxid"] = "falling_water_exterior_thin"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((83.1334,1663.59,121),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1370.48,24.4828,65.5489),(35,180,0)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-507.036,-642.251,27),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-625.008,3270.12,118.643),(325,0,-50)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-640.412,3949.57,99.875),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-826.304,3921.78,99.875),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1108.98,2983.48,235.875),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2305.44,2770.33,107.875),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2572.14,2348.44,115.875),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2902.78,2709.4,115.875),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1356.05,2407.88,489),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-92.5685,2801.04,614.112),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_light_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1613.72,1796.29,484.286),(270,0,0)); + var_00.v["fxid"] = "dust_falling_light_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_light_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-803.523,2972.28,232.875),(270,0,0)); + var_00.v["fxid"] = "dust_falling_light_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_light_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-166.614,3999.22,105.875),(270,0,0)); + var_00.v["fxid"] = "dust_falling_light_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3015.05,2710.41,107.875),(270,0,0)); + var_00.v["fxid"] = "falling_water_exterior_thin"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2691.79,2568.87,74.6596),(270,0,0)); + var_00.v["fxid"] = "falling_water_exterior_thin"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2249.47,3195.31,84),(270,0,0)); + var_00.v["fxid"] = "falling_water_exterior_thin"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1502.48,2601.05,590.753),(270,0,0)); + var_00.v["fxid"] = "falling_water_exterior_thin"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1470.81,2548.58,481.001),(270,0,0)); + var_00.v["fxid"] = "falling_water_exterior_thin"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-931.378,2955.34,200.501),(270,0,0)); + var_00.v["fxid"] = "falling_water_exterior_thin"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-901.834,2952.85,202.086),(270,0,0)); + var_00.v["fxid"] = "falling_water_exterior_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_light_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3125.44,3013.53,4.94724),(270,0,0)); + var_00.v["fxid"] = "dust_falling_light_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_light_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1693.3,2284.64,448),(270,0,0)); + var_00.v["fxid"] = "dust_falling_light_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_light_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((793.086,3347.73,210.875),(270,0,0)); + var_00.v["fxid"] = "dust_falling_light_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_twirl_no_physics_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((878.309,3636.3,25.8843),(270,0,0)); + var_00.v["fxid"] = "leaves_fall_twirl_no_physics_3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_twirl_no_physics_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((507.622,3254.38,251.766),(270,0,0)); + var_00.v["fxid"] = "leaves_fall_twirl_no_physics_3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-249.355,3319.27,193.961),(8.98343,84.5285,6.63877)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-796.426,3852.83,272.902),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2247.97,3609.76,82),(270,0,0)); + var_00.v["fxid"] = "falling_water_exterior_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_light_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2434.27,3915.11,15.9325),(270,0,0)); + var_00.v["fxid"] = "dust_falling_light_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_light_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1895.92,3783.38,47.8458),(270,0,0)); + var_00.v["fxid"] = "dust_falling_light_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2293.59,2442,32.2898),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_cricket_slow_lp"; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2141.62,3104.46,24.5772),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2438.99,3481.45,7.91809),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2873.57,4059.77,-72.5335),(15.0255,187.601,15.8262)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2944.08,4605.18,-201.584),(15.0255,187.601,15.8262)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2728.47,4614.72,-54),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2510.77,4760.85,-54),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2179.27,4818.14,-158.05),(4.57174,61.6438,-21.2245)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2073.14,4631.52,-121.406),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2490.89,4267.6,-105.015),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2754.75,3800.85,-91.5226),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_cricket_fast_lp"; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2792.55,3249.91,-92.1731),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_cricket_high_pitch_lp"; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2144.52,2614.07,-45.8322),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1453.08,2866.77,17.3048),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_cricket_slow_lp"; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-741.036,3684.47,-53.9677),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-26.3868,3135.43,124.424),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((256.23,3712.73,-70.1706),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((145.823,4117.92,-76.0952),(4.57173,61.6436,-0.224701)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((290.42,3415.22,-9.84987),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_cricket_fast_lp"; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_light_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1098.01,3622.49,225.875),(270,0,0)); + var_00.v["fxid"] = "dust_falling_light_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-519.117,2714.25,586.024),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1526.9,2260.82,377.875),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bird_vulture_circle_runner_less"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9736.15,4904.45,753.503),(270,0,0)); + var_00.v["fxid"] = "bird_vulture_circle_runner_less"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((522.248,1904.46,110.329),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1178.54,69.4346,862.331),(288,270,-63)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-783.97,-525.808,854.664),(288,270,-168)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2058.06,-564.329,1058.52),(288,270,-168)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-910.872,2022.31,979.038),(288,270,-133)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1041.17,2266.06,236.446),(293.238,21.5914,30.9192)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_foliage_debris_base_lp"; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_100x100_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1096.03,1187.53,267),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_100x100_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_ambient_street"); + var_00 common_scripts\_createfx::set_origin_and_angles((1031.1,666.674,48),(270,0,60)); + var_00.v["fxid"] = "dust_ambient_street"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_ambient_street"); + var_00 common_scripts\_createfx::set_origin_and_angles((452.325,629.603,56),(278,5,90)); + var_00.v["fxid"] = "dust_ambient_street"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-450.766,165.779,126.748),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-217.007,370.491,128),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-184.862,813.962,130.798),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((94.2787,1009.84,130.875),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((951.89,1031.3,57.4567),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_light_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-900.147,1537.65,223.985),(270,0,0)); + var_00.v["fxid"] = "dust_falling_light_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_light_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1577.82,585.404,223.985),(270,0,0)); + var_00.v["fxid"] = "dust_falling_light_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-771.047,-180.311,39.5044),(270,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1301.21,20.8334,289.035),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1160.31,761.559,171.584),(270,0,65)); + var_00.v["fxid"] = "falling_water_exterior_thin"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9.65714,3.10144,228.062),(270,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-307.231,-1298.89,24),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1040.36,-785.927,24),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_cricket_slow_broken_lp"; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((488.442,-401.541,16),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((864.365,-210.953,213.291),(270,0,0)); + var_00.v["fxid"] = "falling_water_exterior_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1555.01,-651.759,-272.044),(20.4853,184.721,24.1059)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_foliage_lp"; + var_00 = common_scripts\utility::createoneshoteffect("sulfur_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((354.617,1657.47,162.538),(288,180,180)); + var_00.v["fxid"] = "sulfur_dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_leak_interior_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1043.94,882.247,264.359),(58,42,-90)); + var_00.v["fxid"] = "steam_pipe_leak_interior_sm"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_steam_leak_int_lp"; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_leak_interior_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-764.912,-470.134,47.9327),(17.6555,106.628,70.6696)); + var_00.v["fxid"] = "steam_pipe_leak_interior_sm"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_steam_leak_int_lp"; + var_00 = common_scripts\utility::createoneshoteffect("generator_steam_windy_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-974.074,721.394,325.071),(270,180,-89)); + var_00.v["fxid"] = "generator_steam_windy_sm"; + var_00.v["delay"] = 0; + var_00.v["soundalias"] = "emt_electric_buzz_hum_lp"; + var_00 = common_scripts\utility::createoneshoteffect("generator_steam_windy_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((226.07,1165.24,304.875),(270,180,-89)); + var_00.v["fxid"] = "generator_steam_windy_sm"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_freezer_fan_lp"; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1170.01,-234.018,202.959),(270,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_leak_interior_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1368.95,27.3909,52.1033),(292,176,90)); + var_00.v["fxid"] = "steam_pipe_leak_interior_sm"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_steam_ext_lp"; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_leak_interior_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1289.99,28.2751,51.9115),(64,176,90)); + var_00.v["fxid"] = "steam_pipe_leak_interior_sm"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_steam_leak_balcony_lp"; + var_00 = common_scripts\utility::createoneshoteffect("sulfur_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1800.11,1158.61,129),(279,0,-36)); + var_00.v["fxid"] = "sulfur_dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-995.618,1232.2,145.585),(270,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-180.877,-1222.62,24),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-29.103,-1309.82,24),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_cricket_fast_lp"; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-440.882,-1492.72,-54.9851),(38.9436,152.008,-21.5501)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_foliage_lp"; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-625.918,1190.97,251.61),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = 0; + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((151.129,1221.78,157.5),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-946.518,200.988,134.122),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_cricket_fast_lp"; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1924.3,682.341,345.888),(272.437,355.301,-69.9717)); + var_00.v["fxid"] = "falling_water_exterior_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-661.529,-105.15,364.739),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("leaves_fall_twirl_no_physics_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1445.7,421.924,602.307),(288,270,90)); + var_00.v["fxid"] = "leaves_fall_twirl_no_physics_3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1207.66,187.17,135.061),(270,0,0)); + var_00.v["fxid"] = "insects_moths"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((281.614,1244,743.304),(1,359.997,-87)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1053.1,1297.66,188.707),(1,359.997,3)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_canvas_flap_small_lp"; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1169.9,1508.37,-77.2811),(328.864,4.91849,-10.8406)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_foliage_debris_base_lp"; + var_00 = common_scripts\utility::createoneshoteffect("bird_vulture_circle_runner_less"); + var_00 common_scripts\_createfx::set_origin_and_angles((5778.01,4297.87,1188.79),(270,0,0)); + var_00.v["fxid"] = "bird_vulture_circle_runner_less"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_leak_interior_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((385.999,-122.099,179.938),(322,165,90)); + var_00.v["fxid"] = "steam_pipe_leak_interior_sm"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_steam_leak_lp"; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((385.834,-120.849,170.981),(270,0,0)); + var_00.v["fxid"] = "falling_water_exterior_thin"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("generator_steam_windy_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-23.3106,-0.736473,211.739),(346,269,0)); + var_00.v["fxid"] = "generator_steam_windy_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sulfur_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13.0572,4655.73,152.195),(270,0,-165)); + var_00.v["fxid"] = "sulfur_dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sulfur_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-148.539,4325.65,172.121),(270,0,-165)); + var_00.v["fxid"] = "sulfur_dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sulfur_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-238.666,3333.94,154.971),(270,0,-165)); + var_00.v["fxid"] = "sulfur_dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sulfur_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3157.32,3409.61,170.966),(270,0,-165)); + var_00.v["fxid"] = "sulfur_dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sulfur_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3050.31,3084.52,181.187),(270,0,-165)); + var_00.v["fxid"] = "sulfur_dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sulfur_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2463.59,2493,167.71),(270,0,-165)); + var_00.v["fxid"] = "sulfur_dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sulfur_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2391.11,2304.6,169.14),(270,0,-165)); + var_00.v["fxid"] = "sulfur_dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1961.16,3203.84,248.679),(0,225,0)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1461.07,3971.11,-28.1906),(0,180,0)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1179.88,3940.47,183.099),(0,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_particles_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-237.028,-796.923,149),(270,0,0)); + var_00.v["fxid"] = "ambient_particles_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_particles_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((657.027,801.475,168),(270,0,0)); + var_00.v["fxid"] = "ambient_particles_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_particles_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-579.768,1636.59,256),(270,0,0)); + var_00.v["fxid"] = "ambient_particles_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_particles_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-54.7946,697.124,396),(270,0,0)); + var_00.v["fxid"] = "ambient_particles_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_particles_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-319.64,3256.03,206),(270,0,0)); + var_00.v["fxid"] = "ambient_particles_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_particles_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-282.539,4119.13,206),(270,0,0)); + var_00.v["fxid"] = "ambient_particles_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_particles_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1222.73,3297.96,114.084),(270,0,0)); + var_00.v["fxid"] = "ambient_particles_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_particles_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2721.91,2529.19,233),(270,0,0)); + var_00.v["fxid"] = "ambient_particles_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_particles_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2515.66,4214.52,37.4545),(270,0,0)); + var_00.v["fxid"] = "ambient_particles_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_leak_interior_burst_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1141.37,3731.22,3.13486),(90,231.415,51.4145)); + var_00.v["fxid"] = "steam_pipe_leak_interior_burst_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_leak_interior_burst_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2676.7,2093.45,82.1744),(360,152.168,28.738)); + var_00.v["fxid"] = "steam_pipe_leak_interior_burst_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_leak_interior_burst_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-772.243,911.091,144),(360,270,90)); + var_00.v["fxid"] = "steam_pipe_leak_interior_burst_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_leak_interior_burst_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1101.14,684.73,141),(360,270,90)); + var_00.v["fxid"] = "steam_pipe_leak_interior_burst_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_leak_interior_burst_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1309.67,-320.835,138),(360,270,90)); + var_00.v["fxid"] = "steam_pipe_leak_interior_burst_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_leak_interior_burst_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-505.93,-294.748,39.2801),(0,270,142)); + var_00.v["fxid"] = "steam_pipe_leak_interior_burst_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((597.814,-1015.71,150.932),(307.369,56.3031,0)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-223.104,-55.5288,361.506),(339.091,180,0)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((621.76,3262.36,890.298),(304.077,134.944,-171.399)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3534.66,2175.97,17.3872),(316.417,183.319,54.5791)); + var_00.v["fxid"] = "leaves_runner"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_foliage_debris_base_lp"; + var_00 = common_scripts\utility::createoneshoteffect("insects_dragonfly_runner_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2042.7,4055.9,11.5011),(270,0,0)); + var_00.v["fxid"] = "insects_dragonfly_runner_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ocean_vista_fog"); + var_00 common_scripts\_createfx::set_origin_and_angles((5622.24,-2995.17,-4582.27),(270,0,-50)); + var_00.v["fxid"] = "ocean_vista_fog"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ocean_vista_fog"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16808,28631.2,-2666),(270,0,-8)); + var_00.v["fxid"] = "ocean_vista_fog"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ocean_vista_fog"); + var_00 common_scripts\_createfx::set_origin_and_angles((9347.34,16514.7,-5502.38),(270,0,-15)); + var_00.v["fxid"] = "ocean_vista_fog"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cliffside_upward_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((766.226,4188.28,-362),(270,0,23)); + var_00.v["fxid"] = "cliffside_upward_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cliffside_upward_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-660.845,5579,-370),(270,0,91)); + var_00.v["fxid"] = "cliffside_upward_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cliffside_upward_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2843.58,5828.17,-499.061),(270,0,100)); + var_00.v["fxid"] = "cliffside_upward_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cliffside_upward_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2120.75,6088.9,-716.061),(270,0,72)); + var_00.v["fxid"] = "cliffside_upward_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cliffside_upward_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3938.47,4387.95,-448.376),(270,0,-8)); + var_00.v["fxid"] = "cliffside_upward_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("cliffside_upward_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3963.85,2178.39,-727.446),(270,0,40)); + var_00.v["fxid"] = "cliffside_upward_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("volcano_smk_base"); + var_00 common_scripts\_createfx::set_origin_and_angles((4126.28,-7825.74,-4992.6),(270,0,-68.0022)); + var_00.v["fxid"] = "volcano_smk_base"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("dust_ambient_street"); + var_00 common_scripts\_createfx::set_origin_and_angles((-439.804,1529.4,120),(270,0,0)); + var_00.v["fxid"] = "dust_ambient_street"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "40"; + var_00 = common_scripts\utility::createexploder("dust_ambient_street"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1699.07,579.507,120),(270,180,-110)); + var_00.v["fxid"] = "dust_ambient_street"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "40"; + var_00 = common_scripts\utility::createexploder("dust_ambient_street"); + var_00 common_scripts\_createfx::set_origin_and_angles((-959.622,-1184.78,16),(270,0,-90)); + var_00.v["fxid"] = "dust_ambient_street"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "40"; + var_00 = common_scripts\utility::createexploder("dust_ambient_street"); + var_00 common_scripts\_createfx::set_origin_and_angles((-925.346,-929.201,22),(270,0,-90)); + var_00.v["fxid"] = "dust_ambient_street"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "40"; + var_00 = common_scripts\utility::createexploder("dust_ambient_street"); + var_00 common_scripts\_createfx::set_origin_and_angles((905.176,2086.24,128),(270,0,81)); + var_00.v["fxid"] = "dust_ambient_street"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "40"; + var_00 = common_scripts\utility::createexploder("dust_ambient_street"); + var_00 common_scripts\_createfx::set_origin_and_angles((-408.66,1062.41,128),(270,0,-120)); + var_00.v["fxid"] = "dust_ambient_street"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "40"; + var_00 = common_scripts\utility::createexploder("sulfur_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((807.022,1758.79,188.283),(270,0,0)); + var_00.v["fxid"] = "sulfur_dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "40"; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\utility::createexploder("sulfur_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((747.113,1381.6,134.262),(270,0,0)); + var_00.v["fxid"] = "sulfur_dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "40"; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\utility::createexploder("sulfur_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((863.888,2167.48,128),(270,0,0)); + var_00.v["fxid"] = "sulfur_dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "40"; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\utility::createexploder("sulfur_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((690.811,-494.532,56.6542),(270,0,0)); + var_00.v["fxid"] = "sulfur_dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "40"; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\utility::createexploder("sulfur_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((518.405,911.061,120.382),(270,0,0)); + var_00.v["fxid"] = "sulfur_dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "40"; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\utility::createexploder("sulfur_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-26.1372,605.601,184.708),(279,0,0)); + var_00.v["fxid"] = "sulfur_dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "40"; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\utility::createexploder("sulfur_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1502.46,1397.44,130.739),(279,0,-36)); + var_00.v["fxid"] = "sulfur_dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "40"; + var_00 = common_scripts\utility::createexploder("sulfur_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1620.72,1203.65,185.975),(279,0,-36)); + var_00.v["fxid"] = "sulfur_dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "40"; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\utility::createexploder("sulfur_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1320.82,1410.77,166.674),(279,0,-36)); + var_00.v["fxid"] = "sulfur_dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "40"; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\utility::createexploder("generator_steam_windy_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-629.497,1072.03,319.071),(270,180,-89)); + var_00.v["fxid"] = "generator_steam_windy_sm"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "40"; + var_00 = common_scripts\utility::createexploder("generator_steam_windy_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5.85919,1273.56,354.089),(270,180,-89)); + var_00.v["fxid"] = "generator_steam_windy_sm"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "40"; + var_00 = common_scripts\utility::createexploder("sulfur_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-94.2618,-629.736,56.6712),(270,0,-165)); + var_00.v["fxid"] = "sulfur_dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "40"; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\utility::createexploder("sulfur_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-777.917,1356.36,159.79),(288,180,180)); + var_00.v["fxid"] = "sulfur_dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "40"; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\utility::createexploder("sulfur_dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1171.33,1765.11,134),(278,0,0)); + var_00.v["fxid"] = "sulfur_dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "40"; + var_00 = common_scripts\utility::createexploder("generator_steam_windy_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1022,1077.68,131.979),(276.007,51.9539,89.0816)); + var_00.v["fxid"] = "generator_steam_windy_sm"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "40"; + var_00 = common_scripts\utility::createexploder("sulfur_dust_tornado_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((698.812,1951.66,128),(270,0,0)); + var_00.v["fxid"] = "sulfur_dust_tornado_runner"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "40"; + var_00 = common_scripts\utility::createexploder("volcano_smk_base_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((8308,-2282.89,-3649.65),(270,0,-68.0022)); + var_00.v["fxid"] = "volcano_smk_base_sm"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("volcano_smk_base_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((4268.62,-3187.19,-3332.89),(270,0,-68.0022)); + var_00.v["fxid"] = "volcano_smk_base_sm"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("volcano_smk_base_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((6717.49,-11937.5,-5701.46),(270,0,-68.0022)); + var_00.v["fxid"] = "volcano_smk_base_sm"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("pyroclastic_flow_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-385.429,956.276,128),(270,0,0)); + var_00.v["fxid"] = "pyroclastic_flow_1"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "88"; + var_00 = common_scripts\utility::createexploder("pyroclastic_flow_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((784.701,886.099,54.7089),(271.991,324.783,54)); + var_00.v["fxid"] = "pyroclastic_flow_1"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "88"; + var_00 = common_scripts\utility::createexploder("pyroclastic_flow_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1545.41,863.605,128),(270,0,0)); + var_00.v["fxid"] = "pyroclastic_flow_1"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "88"; + var_00 = common_scripts\utility::createexploder("exploding_volcanic_boulder_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((4764.12,-4666.05,-3881.8),(288.868,134.244,-179.855)); + var_00.v["fxid"] = "exploding_volcanic_boulder_1"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "10"; + var_00 = common_scripts\utility::createexploder("exploding_volcanic_boulder_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((4873.61,-5815.81,-4444.13),(303.151,134.109,0)); + var_00.v["fxid"] = "exploding_volcanic_boulder_1"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "11"; + var_00 = common_scripts\utility::createexploder("exploding_volcanic_boulder_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((6227.04,-4752.63,-4819.45),(299.8,138.328,0)); + var_00.v["fxid"] = "exploding_volcanic_boulder_1"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "12"; + var_00 = common_scripts\utility::createexploder("exploding_volcanic_boulder_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((7191.5,-3747.29,-4450.65),(302.588,140.3,0)); + var_00.v["fxid"] = "exploding_volcanic_boulder_1"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "13"; + var_00 = common_scripts\utility::createexploder("exploding_volcanic_boulder_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((4596.95,-6988.97,-4302.4),(300.576,130.934,0)); + var_00.v["fxid"] = "exploding_volcanic_boulder_1"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "14"; + var_00 = common_scripts\utility::createexploder("exploding_volcanic_boulder_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((6441.57,-4411.88,-4242.7),(312.955,137.356,0)); + var_00.v["fxid"] = "exploding_volcanic_boulder_1"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "15"; + var_00 = common_scripts\utility::createexploder("exploding_volcanic_boulder_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((6425.57,-5079.9,-4603.21),(297.241,147.183,-1.09072)); + var_00.v["fxid"] = "exploding_volcanic_boulder_1"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "16"; + var_00 = common_scripts\utility::createexploder("exploding_volcanic_boulder_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((5873.86,-6335.32,-4248.58),(304.837,140.086,0)); + var_00.v["fxid"] = "exploding_volcanic_boulder_1"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "17"; + var_00 = common_scripts\utility::createexploder("exploding_volcanic_boulder_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((8332.61,-4342.87,-4162.14),(313.281,136.46,-3.19022)); + var_00.v["fxid"] = "exploding_volcanic_boulder_1"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "18"; + var_00 = common_scripts\utility::createexploder("exploding_volcanic_boulder_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((5910,-5556.42,-4065.61),(302.802,112.191,0)); + var_00.v["fxid"] = "exploding_volcanic_boulder_1"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "19"; + var_00 = common_scripts\utility::createexploder("volcano_eruption"); + var_00 common_scripts\_createfx::set_origin_and_angles((8300.93,-7702.74,-4747.95),(270,0,-171)); + var_00.v["fxid"] = "volcano_eruption"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("pyroclastic_flow_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-217.091,-1479.55,54.125),(270,0,0)); + var_00.v["fxid"] = "pyroclastic_flow_1"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "101"; + var_00 = common_scripts\utility::createexploder("exploding_volcanic_boulder_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((7605.93,-5012.55,-4544.05),(299.936,144.347,-5.22149)); + var_00.v["fxid"] = "exploding_volcanic_boulder_2"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("exploding_volcanic_boulder_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((5253.4,-6306.81,-4659.46),(296.95,131.705,5.75097)); + var_00.v["fxid"] = "exploding_volcanic_boulder_2"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "21"; + var_00 = common_scripts\utility::createexploder("exploding_volcanic_boulder_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((7365.08,-5319.51,-4325.73),(296.823,140.553,-2.14372)); + var_00.v["fxid"] = "exploding_volcanic_boulder_2"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "22"; + var_00 = common_scripts\utility::createexploder("exploding_volcanic_boulder_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((6120.12,-6143.28,-4015.62),(299.86,134.308,3.48743)); + var_00.v["fxid"] = "exploding_volcanic_boulder_2"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "23"; + var_00 = common_scripts\utility::createexploder("exploding_volcanic_boulder_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((5156.95,-6251.55,-4748.15),(300.799,138.327,0)); + var_00.v["fxid"] = "exploding_volcanic_boulder_2"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "24"; + var_00 = common_scripts\utility::createexploder("exploding_volcanic_boulder_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((6770.39,-5079.06,-4367.11),(297.942,144.73,-5.50522)); + var_00.v["fxid"] = "exploding_volcanic_boulder_2"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "25"; + var_00 = common_scripts\utility::createexploder("exploding_volcanic_boulder_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((6011.76,-6667.48,-4379.29),(298.408,125.624,11.3708)); + var_00.v["fxid"] = "exploding_volcanic_boulder_2"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "26"; + var_00 = common_scripts\utility::createexploder("exploding_volcanic_boulder_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((6975.09,-6729.87,-4546.35),(307.728,116.68,-7.04682)); + var_00.v["fxid"] = "exploding_volcanic_boulder_2"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "27"; + var_00 = common_scripts\utility::createexploder("exploding_volcanic_boulder_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8209.06,-4835.69,-4449.04),(305.451,143.43,1.35974)); + var_00.v["fxid"] = "exploding_volcanic_boulder_2"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "28"; + var_00 = common_scripts\utility::createexploder("exploding_volcanic_boulder_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((6772.01,-6863.4,-4306.61),(305.091,134.787,-0.580152)); + var_00.v["fxid"] = "exploding_volcanic_boulder_2"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "29"; + var_00 = common_scripts\utility::createexploder("exploding_volcanic_boulder_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((7553.56,-5943.9,-4536.5),(317.16,130.42,6.41857)); + var_00.v["fxid"] = "exploding_volcanic_boulder_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "30"; + var_00 = common_scripts\utility::createexploder("exploding_volcanic_boulder_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((6247.48,-8019.34,-4675.72),(314.179,129.939,6.75466)); + var_00.v["fxid"] = "exploding_volcanic_boulder_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "31"; + var_00 = common_scripts\utility::createexploder("exploding_volcanic_boulder_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((6330.58,-5662.52,-4678.99),(296.205,127.452,8.53008)); + var_00.v["fxid"] = "exploding_volcanic_boulder_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "32"; + var_00 = common_scripts\utility::createexploder("exploding_volcanic_boulder_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((6771.72,-5961.53,-4667.08),(314.595,137.68,4.20879)); + var_00.v["fxid"] = "exploding_volcanic_boulder_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "33"; + var_00 = common_scripts\utility::createexploder("exploding_volcanic_boulder_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((7471.57,-4327.9,-4594.32),(298.442,143.3,0.207649)); + var_00.v["fxid"] = "exploding_volcanic_boulder_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "34"; + var_00 = common_scripts\utility::createexploder("exploding_volcanic_boulder_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((5506.12,-6891.88,-4739.88),(299.009,119.934,2.78166)); + var_00.v["fxid"] = "exploding_volcanic_boulder_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "35"; + var_00 = common_scripts\utility::createexploder("exploding_volcanic_boulder_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((7444.9,-6233.5,-4591.79),(301.58,144.62,-3.7296)); + var_00.v["fxid"] = "exploding_volcanic_boulder_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "36"; + var_00 = common_scripts\utility::createexploder("exploding_volcanic_boulder_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((6281.2,-7304.17,-4699.27),(316.055,125.61,15.0278)); + var_00.v["fxid"] = "exploding_volcanic_boulder_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "37"; + var_00 = common_scripts\utility::createexploder("exploding_volcanic_boulder_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((5774.43,-6463.15,-4825.31),(318.098,116.063,3.72898)); + var_00.v["fxid"] = "exploding_volcanic_boulder_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "38"; + var_00 = common_scripts\utility::createexploder("exploding_volcanic_boulder_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((6305.33,-5689.15,-4611.9),(296.334,126.042,8.69726)); + var_00.v["fxid"] = "exploding_volcanic_boulder_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "39"; + var_00 = common_scripts\utility::createexploder("pyroclastic_flow_1_aftermath"); + var_00 common_scripts\_createfx::set_origin_and_angles((-169.569,813.345,136.125),(270,0,0)); + var_00.v["fxid"] = "pyroclastic_flow_1_aftermath"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "102"; + var_00 = common_scripts\utility::createexploder("volcano_eruption"); + var_00 common_scripts\_createfx::set_origin_and_angles((5221.88,-6235.52,-4750.31),(270,0,45)); + var_00.v["fxid"] = "volcano_eruption"; + var_00.v["delay"] = -30; + var_00.v["exploder"] = "103"; + var_00 = common_scripts\utility::createexploder("volcano_eruption_wind_gust"); + var_00 common_scripts\_createfx::set_origin_and_angles((1623.07,1920.38,-256),(270,180,-177)); + var_00.v["fxid"] = "volcano_eruption_wind_gust"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("volcano_eruption_wind_gust"); + var_00 common_scripts\_createfx::set_origin_and_angles((1683.31,931.47,-536),(270,0,0)); + var_00.v["fxid"] = "volcano_eruption_wind_gust"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("volcano_eruption_wind_gust"); + var_00 common_scripts\_createfx::set_origin_and_angles((2018.76,-17.7236,-536),(270,0,0)); + var_00.v["fxid"] = "volcano_eruption_wind_gust"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("volcano_eruption_wind_gust"); + var_00 common_scripts\_createfx::set_origin_and_angles((1846.02,-737.467,-441),(270,180,143)); + var_00.v["fxid"] = "volcano_eruption_wind_gust"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("volcano_eruption_wind_gust"); + var_00 common_scripts\_createfx::set_origin_and_angles((1594.19,-1724.2,-479),(270,0,-29)); + var_00.v["fxid"] = "volcano_eruption_wind_gust"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("volcano_eruption_wind_gust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-122.065,-1936.03,-510),(270,0,-89)); + var_00.v["fxid"] = "volcano_eruption_wind_gust"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("volcano_eruption_wind_gust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1196.15,-1986.09,-564),(270,0,-91)); + var_00.v["fxid"] = "volcano_eruption_wind_gust"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("hangar_door_close_sulfur_gas"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1668.33,1619.27,133),(270,0,-46)); + var_00.v["fxid"] = "hangar_door_close_sulfur_gas"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("hangar_door_close_sulfur_gas"); + var_00 common_scripts\_createfx::set_origin_and_angles((-159.677,2493.84,130),(270,0,-90)); + var_00.v["fxid"] = "hangar_door_close_sulfur_gas"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1959.29,719.052,241.241),(270,0,0)); + var_00.v["delay_min"] = 11; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_metal_clink"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1096.44,-1021.71,214.686),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_metal_clink"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1101.31,-870.644,137.788),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2012.91,849.194,241.73),(270,0,0)); + var_00.v["delay_min"] = 9; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2019.4,864.295,202.627),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1974.27,781.852,277.81),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1098.19,-1244.44,206.173),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1102.4,-1022.87,109.744),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-318.942,-513.548,85.2291),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-103.299,-447.88,138.004),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((487.517,150.033,129.709),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1234.13,-619.757,48.5855),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1205.34,-389.468,-65.0973),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1251.82,654.196,-50.7898),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1252.1,822.426,35.1417),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-825.718,1480.18,154.837),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1585.76,1144.33,133.22),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1293.39,1451.02,134.975),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1012.48,-1100.66,41.3366),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_computing_glitch_clicks"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((832.068,-1310.89,39.9089),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_computing_glitch_clicks"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-71.8367,1138.18,185.002),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_computing_glitch_clicks"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((94.4043,1069.38,180.184),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_computing_glitch_clicks"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-179.614,-979.251,36.7864),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((670.196,569.577,67.8055),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1727.28,753.734,135.708),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-812.97,1326.63,131.461),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((929.875,2055.52,141.127),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((768.181,1759.3,156.443),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((917.19,1495.78,146.588),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((691.598,1376.62,113.283),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((544.14,925.406,87.9715),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((693.985,-83.2496,56.2614),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((690.71,-539.587,48.1402),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-125.349,-610.924,45.8413),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1565.4,654.164,145.02),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-568.748,2131.02,150.407),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((645.67,2398.26,150.28),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-46.1074,647.456,158.647),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2225.4,2069.52,222.22),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1995.64,1969.13,175.002),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3054.92,3030.96,143.306),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1312.83,2461.49,283.613),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1337.1,2281.56,189.538),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-598.571,2669.53,179.646),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-213.273,4314.27,143.306),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-297.03,3758.07,143.694),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-184.378,3272.25,159.655),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-260.393,3366.73,156.625),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-54.8423,4650.17,159.65),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3203.12,3424.56,158.266),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2452.12,2460.15,155.949),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2250.8,2328.38,154.941),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2428.84,2309.65,165.189),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2256.32,1731.95,155.673),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_fence_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1939.37,665.658,192.022),(270,0,0)); + var_00.v["delay_min"] = 9; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-559.594,-163,212.501),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_metal_creak_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-960,-386.955,184.037),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_metal_creak_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1365.99,-98.9225,276.063),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_metal_creak_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1145.95,-213.579,288.825),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_metal_creak_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-725.317,-422.868,252.337),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_metal_creak_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1098.75,-1178.83,103.947),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_metal_fence_shake"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1252.02,-454.72,-95),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_metal_creak_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1404.24,622.205,-95),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_metal_creak_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1617.8,316.776,66),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_metal_creak_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1123.74,2484.78,435.819),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_metal_creak_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1289.76,2687.12,328.275),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_metal_creak_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1332.97,2444.02,192.833),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_metal_creak_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2463.2,2410.69,87.602),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_metal_creak_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2775.65,2586.64,49.1753),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_metal_creak_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2878.81,3025.15,69.9617),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_metal_creak_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2187.91,2908.71,74.7944),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_metal_creak_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-181.794,4174.39,64.9844),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_metal_creak_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-249.872,3459.4,90.875),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_metal_creak_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-328.664,3688.15,52.1892),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_metal_creak_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-857.527,3976.11,79.875),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_metal_creak_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1489.09,3871.91,118),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_metal_creak_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2020.23,3649.51,81.5125),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_metal_creak_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2454.3,3580.42,-14.1764),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_metal_creak_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1032.53,659.152,48),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((297.188,1619.71,144.549),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-512,1162.73,174.294),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-236,616.205,153.234),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1413.57,1372.89,151.432),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1610.86,597.308,147.142),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1889.32,1260.48,169.309),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((645.746,4083.7,-117.83),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_tree_move_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3560.89,2385.48,203.238),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_tree_move_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((500.952,3339.11,206.21),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3239.46,2102.19,164.297),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((799.09,3635.93,-38.8948),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_foliage_tree_sway"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((454.547,4209.94,-196.71),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3704.67,2611.45,65.869),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_foliage_tree_sway"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1584.72,2506.6,331.846),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_tree_debris_fall_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1155.5,2807.25,543.801),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_tree_debris_fall_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((858.474,3335.48,45.6225),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_tree_debris_fall_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3410.43,2127.64,168.958),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_trees_wind_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3508.1,2404.45,-147.987),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_trees_wind_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((330.645,4338.63,-182.754),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_trees_wind_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((678.423,3877.52,-205.028),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_trees_wind_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-638.741,3904.48,-78.5082),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-587.773,3988.57,-82.561),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2476.27,4769.53,-239.395),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2765.12,4612.13,-242.315),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2521.4,4807.85,-241.335),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2706.64,4614.78,-243.395),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2314.91,2773.48,-79.5604),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2224.85,2794.03,-78.9446),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2616.95,2365.67,-45.0762),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2549.68,2364.5,-33.0051),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2905.26,2743.17,-94.5971),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3038.06,2663.28,-89.4362),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3037.64,2745.88,-95.3881),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2527.01,2341.51,-20.7352),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2614.16,2309.18,-12.7809),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2937.43,2668.02,-92.3526),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2880.56,2687.73,-93.9108),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2348.88,2745.74,-77.7366),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2297.04,2860.35,-75.0007),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2499.36,4742,-240.585),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2548.87,4798.09,-241.335),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2742.63,4575.46,-241.893),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2743.2,4653.66,-243.395),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-608.017,3962.46,-81.1784),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-663.84,3949.56,-76.2456),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-852.304,1910.53,169.855),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_cricket_chirps_long"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1382.94,267.406,253.575),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_cricket_chirps_long"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-938.384,-147.511,479.712),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_cricket_chirps_long"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-786.439,-665.087,133.23),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_cricket_chirps_long"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1768.7,2544.42,77.7404),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_cricket_chirps_long"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1913.56,3514.38,14.9005),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_cricket_chirps_long"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2030.19,4668.38,-121.806),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_cricket_chirps_long"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-448.396,3418.39,26.013),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_cricket_chirps_long"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((431.793,4047.74,-186.836),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_cricket_chirps_long"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1063.94,-81.5298,584.109),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-553.759,74.1601,571.431),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1663.64,447.813,429.056),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1166.91,2323.21,119.626),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1164.58,1997.53,24.7274),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1412.35,-748.854,-129.36),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-439.371,-1649.67,24.7325),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1144.54,2139.95,93.6095),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_trees_wind_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1111.43,-1565.06,137.564),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_trees_wind_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1442.2,334.894,446.573),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_trees_wind_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-626.839,-199.955,611.6),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_trees_wind_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1217.65,98.002,534.252),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_trees_wind_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-439.428,1887.05,627.195),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_trees_wind_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1486.9,-815.847,-238.16),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_trees_wind_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-407.523,-1673.52,-94.6003),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_trees_wind_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-937.335,-1693.84,-79.0768),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1418.9,2601.45,309.093),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_tree_debris_fall_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1580.8,2608.94,76.0089),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_tree_debris_fall_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3544.91,2630.87,-210.341),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_tree_wind_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2909.6,1972.14,457.691),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_tree_debris_fall_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-135.615,3353.37,160.839),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-104.439,4332.15,176.007),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2989.45,3132.73,175.03),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2341.5,2328.71,144.892),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2364.66,2501.68,177.583),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-805.513,3926.11,-74.736),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-791.967,3965.94,-74.3676),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2705.06,4656.65,-243.338),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2966.56,2727.4,-90.5907),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3000.67,2699.32,-91.8954),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2593,2341.93,-26.7402),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2585.06,2369.84,-42.5558),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2346.49,2806.64,-76.5208),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2281.52,2740.34,-86.7067),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-764.957,-184.865,565.031),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_cricket_swells"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1479.53,449.265,307.692),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_cricket_swells"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-832.651,1334.59,99.8435),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((746.759,2167.9,128),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((688.735,1835.23,128),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((388,885.628,97.0858),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((615.177,-557.202,24),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((26.3893,-595.113,24),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1518.46,2702.43,97.9006),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_cricket_swells"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3054.63,2109.76,8.77493),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_cricket_swells"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1908.35,2832.1,-33.0095),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_cricket_swells"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1753.46,4253.58,-53.8471),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_cricket_swells"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-884.706,3919.91,-71.5062),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_cricket_swells"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((284.317,4267.03,-188.351),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_cricket_swells"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((567.969,3656.9,-153.846),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_cricket_swells"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2374.9,1541.75,318.564),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_tree_debris_fall_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1665.14,2012.11,395.817),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_tree_debris_fall_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1817.73,2388.99,130.684),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_tree_debris_fall_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2355.09,3283.65,-31.8973),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_tree_debris_fall_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3776,-2978.05,-1438.2),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_gas_burst"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3590.77,-3103.82,-946.064),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_gas_burst"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2419.66,-3803.23,-1374.47),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_gas_burst"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3296.05,-1860.74,-751.541),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_gas_release"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3902.32,-1417.86,-1266.2),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_gas_release"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2579.66,-3261.41,-929.794),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_gas_release"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1223.06,-36.2629,142),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1261.09,-62.402,141),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1255.06,19.8348,141),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1300.41,-22.0705,141),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_drip_forest_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1178.2,-34.2368,141),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1226.64,10.3923,141),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1282.72,36.959,141),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_drip_leaf"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1284.95,35.213,251),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_flies_annoying"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1216.8,-300.898,276.133),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_flies_pan"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_refraction_fx.gsc b/AW/PC/maps/createfx/mp_refraction_fx.gsc new file mode 100644 index 0000000..5ec15df --- /dev/null +++ b/AW/PC/maps/createfx/mp_refraction_fx.gsc @@ -0,0 +1,3893 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_refraction_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 285 ms + * Timestamp: 4/22/2024 2:07:46 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-195.201,151.402,1945.46),(270,0,0)); + var_00.v["soundalias"] = "rain_med_spray_puddle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((591.645,303.681,2064),(270,0,0)); + var_00.v["soundalias"] = "rain_med_spray_puddle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-753.727,-1689.13,2312.87),(270,0,0)); + var_00.v["soundalias"] = "emt_elec_lft_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1733.97,830.468,2213.04),(270,0,0)); + var_00.v["soundalias"] = "emt_elec_lft_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-520.381,-483.238,2315.07),(270,0,0)); + var_00.v["soundalias"] = "rain_on_glass_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((239.949,-542.388,2313.75),(270,0,0)); + var_00.v["soundalias"] = "rain_on_glass_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-649.571,-533.032,2292.73),(270,0,0)); + var_00.v["soundalias"] = "rain_med_metal_hollow_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((297.338,-1118.55,2000),(270,0,0)); + var_00.v["soundalias"] = "ext_refraction_rain_3d_large"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2320.19,-24.7187,2065.24),(270,0,0)); + var_00.v["soundalias"] = "rain_med_metal_hollow_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((751.971,-1233.3,2181.14),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((752.342,-929.302,2180.44),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((753.875,-1607.85,2176.65),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((825.705,-1184.98,2092.58),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1606.79,-1278.4,2087.3),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1763.35,-1620.88,2090.78),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_med_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1825.67,-1209.16,2094.32),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_med_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1004.33,-1095.94,2087.34),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_med_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1296.58,-1644.43,2086.78),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1269.69,-1087.65,2083.51),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1261.88,-349.88,2084.57),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_plastic_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((987.475,-526.521,2064.13),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1578.84,-640.418,1980.59),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1846.13,-352.293,2075.38),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1514.23,469.952,2095.21),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1365.13,-1243.2,2082.25),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1823.02,-1209.16,2088.24),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1001.13,-556.33,2075.11),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((753.161,-1220.36,2184.98),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1261.16,-854.524,2081.38),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1538.66,-614.875,1975.42),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1801.51,-397.029,1974.28),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1299.47,-276.748,2079.62),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1603.01,-26.2681,2065.24),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_steam_transformer_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2307.6,-18.1279,2065.24),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_steam_transformer_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2083.95,-388.6,1980.24),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_steam_transformer_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2067.9,-939.04,1986.24),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_steam_transformer_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2070.02,-1323.91,1969.24),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_steam_transformer_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((726.278,-543.084,2163.37),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_water_air_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1682.6,-903.77,2085.15),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_steam_transformer_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-50.3517,1083.64,1788.4),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1394.9,-198.217,2177),(270,0,0)); + var_00.v["soundalias"] = "emt_rain_int_crate_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2814.62,-673.942,1815.29),(270,0,0)); + var_00.v["soundalias"] = "emt_ocean_light_waves_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2740.05,437.195,1809.67),(270,0,0)); + var_00.v["soundalias"] = "emt_ocean_light_waves_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1790.48,1346.83,1890.5),(270,0,0)); + var_00.v["soundalias"] = "emt_ocean_light_waves_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2683.6,-1189.28,1850.94),(270,0,0)); + var_00.v["soundalias"] = "emt_ocean_light_waves_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2017.02,-1623.33,1919.21),(270,0,0)); + var_00.v["soundalias"] = "emt_ocean_light_waves_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-862.112,-2058.58,1871.94),(270,0,0)); + var_00.v["soundalias"] = "emt_ocean_light_waves_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-109.575,-1965.19,1793.05),(270,0,0)); + var_00.v["soundalias"] = "emt_ocean_light_waves_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((432.54,-1729.89,1871.11),(270,0,0)); + var_00.v["soundalias"] = "emt_ocean_light_waves_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3171.59,284.012,1932.08),(270,0,0)); + var_00.v["soundalias"] = "emt_ocean_light_waves_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3409.21,-946.557,1852.33),(270,0,0)); + var_00.v["soundalias"] = "emt_ocean_light_waves_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2956.53,-2078.3,1825.61),(270,0,0)); + var_00.v["soundalias"] = "emt_ocean_light_waves_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1848.82,-2036.62,1803.52),(270,0,0)); + var_00.v["soundalias"] = "emt_ocean_light_waves_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2227.25,-1256.36,2365.25),(270,0,0)); + var_00.v["soundalias"] = "emt_rain_int_window_hit_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1675.86,-1259.25,2358.05),(270,0,0)); + var_00.v["soundalias"] = "emt_rain_int_window_hit_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2108.94,-1277.4,2366.25),(270,0,0)); + var_00.v["soundalias"] = "emt_rain_int_window_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1867.98,-1269.82,2580.66),(270,0,0)); + var_00.v["soundalias"] = "emt_rain_int_window_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2016.98,-490.506,1722),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_busy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1938.87,72.4143,1707.92),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_busy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-112.586,-1583.82,1855.69),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_busy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2069.19,803.676,1888.53),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_busy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1651.22,1250.91,1863.86),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_busy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2676.75,-877.879,1658.56),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_busy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1983.06,-1487.06,1718),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_busy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1465.62,-1714.19,1756.85),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_busy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((828.839,-1634.79,2089.88),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_med_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1275.16,-1617.62,2094.55),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_med_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1591.14,-1271.33,2091.22),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_med_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1548.69,-614.161,2218.05),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_med_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1291.63,-758.161,2219.31),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_med_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1403.94,-395.839,2216.26),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_med_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1662.2,469.952,2091.62),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_med_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1810.43,-35.5585,2065.24),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_water_air_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1261.16,-873.33,2079.4),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1261.16,-339.893,2080.12),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1812.67,-250.161,2084.98),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((736.751,-495.859,2178.33),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1780.67,-1620.16,2090.19),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1548.6,-614.161,1979.52),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_med_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1001.13,-551.042,2085.32),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_med_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1295,-250.161,2078.45),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_med_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1846.84,-362.529,2079.62),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_med_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1763.61,-9.13708,2011.24),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_lrg_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2084.23,-714.939,1999.24),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_lrg_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2086.97,-1115.69,1993.24),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_air_lrg_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-898.308,249.6,2159.38),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_tunnel_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((632.981,-1307.45,2065),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_tunnel_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((143.036,-956.73,2130.77),(270,0,0)); + var_00.v["soundalias"] = "emt_scaffolding_shake_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-184.125,-326.937,2141.52),(270,0,0)); + var_00.v["soundalias"] = "emt_scaffolding_shake_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((78.6884,-88.2105,2271),(270,0,0)); + var_00.v["soundalias"] = "emt_scaffolding_shake_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-681.774,99.4567,2176.61),(270,0,0)); + var_00.v["soundalias"] = "emt_scaffolding_shake_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1434.84,-284.74,2221.05),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1433.16,-640.985,2218.17),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1466.27,121.945,2112.48),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1709.73,135.57,2113.85),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1585,-777.263,2035.34),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1720.24,847.786,2174.74),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1576.52,893,2082.68),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1127.75,483.176,2162.43),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1371.7,-322.286,2176.19),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1275.08,-886.5,2170.21),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1581,-1124.44,2128.75),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1045.54,158.5,2130.44),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1048.72,289.5,2131),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((0.123865,-1255.71,2215.92),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1105.43,-30,2118.75),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1795,-1382.37,2122.55),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1350.41,-1280.84,2087.22),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((847.416,-1176.39,2085.75),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_metal_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((814.728,-1491,2122.45),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1079.41,-1343.47,2117.95),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1261,-828.78,2130.35),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1261,-320.383,2134.86),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1349.37,-250,2147),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((44.4422,1127.2,1756.22),(270,0,0)); + var_00.v["soundalias"] = "emt_building_transformer_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-0.417091,1128.7,1826.44),(270,0,0)); + var_00.v["soundalias"] = "emt_freezer_fan_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1215.58,-1446.84,2124.95),(270,0,0)); + var_00.v["soundalias"] = "emt_freezer_fan_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((24.9549,-122.328,2232.68),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1.1519,45.7743,2221.68),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-611.274,130.377,2246.64),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_hiss_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((597.527,89.8126,2233.81),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_hiss_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2604.05,-273.087,1712.44),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_busy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2352.83,364.13,1694.71),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_busy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((339.471,-1443.73,1424),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_busy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-34.8301,-948.75,1633.96),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_busy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((546,-740.833,1728.46),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_busy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((197.701,-224.632,1631),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_busy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-383.622,-227.022,1743),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_busy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-452.237,-960.54,1692.47),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_busy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((0.379377,-1425.68,1676),(270,0,0)); + var_00.v["soundalias"] = "emt_water_slosh_busy_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2432.85,-1185.93,2091.01),(270,0,0)); + var_00.v["soundalias"] = "emt_console_medium_low_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2537.26,-1186.08,2091.61),(270,0,0)); + var_00.v["soundalias"] = "emt_console_small_high_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2645.49,-1185.31,2088.57),(270,0,0)); + var_00.v["soundalias"] = "emt_console_small_low_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2641.64,-1185.12,2087.83),(270,0,0)); + var_00.v["soundalias"] = "emt_control_panel_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2531.23,-1184.82,2083.04),(270,0,0)); + var_00.v["soundalias"] = "emt_control_panel_glitch_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1854.8,-1283.46,2380.95),(270,0,0)); + var_00.v["soundalias"] = "emt_rain_int_window_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1988.64,-1245.88,2369.41),(270,0,0)); + var_00.v["soundalias"] = "emt_rain_int_window_hit_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1069,-1537.55,2034.86),(270,0,0)); + var_00.v["soundalias"] = "emt_fan_big_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-845.33,-1537.35,2038.22),(270,0,0)); + var_00.v["soundalias"] = "emt_fan_big_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-613.171,-1537.35,2034.8),(270,0,0)); + var_00.v["soundalias"] = "emt_fan_big_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1434.84,-287.912,2215.21),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1469.33,-615.838,2218.84),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2280.86,132.995,2117.82),(270,0,0)); + var_00.v["soundalias"] = "emt_console_small_low_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2281.8,241.698,2114.14),(270,0,0)); + var_00.v["soundalias"] = "emt_console_small_high_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2282,686.838,2113.38),(270,0,0)); + var_00.v["soundalias"] = "emt_console_small_high_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2281.14,578.271,2116.74),(270,0,0)); + var_00.v["soundalias"] = "emt_console_medium_low_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2280,227.537,2121.2),(270,0,0)); + var_00.v["soundalias"] = "emt_control_panel_glitch_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2280.02,593.707,2121.14),(270,0,0)); + var_00.v["soundalias"] = "emt_control_panel_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-993.506,920.124,2089.91),(270,0,0)); + var_00.v["soundalias"] = "emt_control_panel_beep_steady_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((782.281,505.339,2091),(270,0,0)); + var_00.v["soundalias"] = "emt_control_panel_beep_steady_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-192.181,-1336.93,2148.44),(270,0,0)); + var_00.v["soundalias"] = "emt_scaffolding_shake_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-483.081,-1255.45,2140.48),(270,0,0)); + var_00.v["soundalias"] = "emt_scaffolding_shake_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((104,-1212.63,2134.8),(270,0,0)); + var_00.v["soundalias"] = "emt_scaffolding_shake_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-253.829,-617.893,2212.22),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((520.234,-608.35,2211.52),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((477.741,-222.495,2182.9),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-450.007,-259.313,2179.99),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1339.54,148.179,2095.81),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1721.28,653.735,2095.51),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-681.063,-1302.42,2202.01),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-660.356,-1406.25,2179.4),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1118.24,-199.299,2097.74),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1512.64,-202.465,2093.76),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2460.61,-211.743,2075.69),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1413.77,-337.753,2078.67),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1439.24,836.251,2093.24),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2204.77,-48.9466,1912.55),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2201.98,-375.278,1912.07),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1188.39,-952.427,2187.35),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_buzz_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1266.06,-973.884,2190.88),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1227.94,-946.295,2186.41),(270,0,0)); + var_00.v["soundalias"] = "emt_building_transformer_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((283.459,-592.125,2205.48),(270,0,0)); + var_00.v["soundalias"] = "emt_building_transformer_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((569.151,-527.339,2223.45),(270,0,0)); + var_00.v["soundalias"] = "emt_fan_big_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-455.315,-257.859,2188.54),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_slower_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((458.615,-255.907,2195.99),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_slower_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1610.06,-428.42,1993.14),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1629.99,-976.969,2028.13),(270,0,0)); + var_00.v["soundalias"] = "emt_machine_hum_tiny_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3.30067,1095.04,1804.13),(270,0,0)); + var_00.v["soundalias"] = "emt_control_panel_beep_steady_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1318.64,-1325.42,2356.62),(270,0,0)); + var_00.v["soundalias"] = "emt_scaffolding_shake_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1485.45,-1185.42,2360.42),(270,0,0)); + var_00.v["soundalias"] = "emt_scaffolding_shake_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1675.89,-1500.77,2356.62),(270,0,0)); + var_00.v["soundalias"] = "emt_scaffolding_shake_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1122.43,-1507.31,2356.62),(270,0,0)); + var_00.v["soundalias"] = "emt_scaffolding_shake_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1121.63,-1168.37,2364.47),(270,0,0)); + var_00.v["soundalias"] = "emt_scaffolding_shake_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3.46531,25.0473,2191.68),(270,0,0)); + var_00.v["soundalias"] = "emt_control_panel_beep_steady_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((569.151,-524.832,2242.03),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-610.613,-1537.35,2035.14),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1077.47,-1537.35,2036.9),(270,0,0)); + var_00.v["soundalias"] = "emt_engine_huge_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-15.5367,1040.24,2357.25),(270,0,0)); + var_00.v["soundalias"] = "emt_console_large_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1959.12,50.125,2144.84),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1386.87,635.63,2279.34),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1134.13,410.582,2178.32),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((782.125,-1344.76,2125.48),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((612.209,-1175.43,2191.46),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_hum_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1790.67,645.5,2262.7),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2624.8,-682.875,2082.91),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2443.24,-682.875,2088.88),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2320.19,-24.7187,2065.24),(270,0,0)); + var_00.v["soundalias"] = "rain_med_metal_hollow_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-57.2375,1030.88,2226.37),(270,0,0)); + var_00.v["soundalias"] = "emt_console_warning_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((54.2403,1030.86,2224.71),(270,0,0)); + var_00.v["soundalias"] = "emt_control_panel_beep_steady_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1189.73,477.35,2179.09),(270,0,0)); + var_00.v["soundalias"] = "emt_rain_int_crate_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1193.37,372.194,2188.09),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_int_metal_cover_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1324.15,-289.059,2197.09),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_int_metal_cover_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-308.874,-882.948,2000.13),(270,0,0)); + var_00.v["soundalias"] = "emt_drips_dirt_splat_lp"; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_150x150_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2260.62,24.3203,1887.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_150x150_lp"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_150x150_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2265.65,-187.317,1887.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_150x150_lp"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_150x150_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2266.65,-403.988,1887.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_150x150_lp"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1589.59,-180.315,2064),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1570.34,-441.053,2064),(270,270,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1574.39,-657.34,2064),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1868.47,-691.418,2064),(270,270,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1640.43,65.9961,2064),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1665.86,230.958,2064),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1925.07,218.415,2062.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1904.38,508.508,2062.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1713.92,486.706,2064),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1629.69,751.783,2064),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1271.9,663.484,2064),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1393.41,153.947,2064),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1140.31,-39.0032,2064),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1111.92,-239.726,2064),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1081.93,-733.32,2064),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1303.65,-540.031,2064),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1341.38,-756.853,2064),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-662.115,-68.9358,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-662.114,-68.9714,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-653.948,-373.185,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-267.645,-305.599,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-457.218,-304.393,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-667.723,-596.601,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-681.084,-890.25,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-882.528,-1018.69,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-950.53,-1236.13,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-628.046,-1118.33,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-621.74,-1413.92,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-851.962,-1516.38,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-611.964,-1623.52,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-443.21,-751.931,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((645.692,-70.249,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((630.431,-355.595,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((434.077,-272.248,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((317.087,-745.199,2160.12),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((548.506,-744.691,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((598.294,-964.153,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((594.18,-1185.37,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((585.663,-1399.73,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((598.663,-1619.36,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1074.26,-149.651,2064.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1075.44,-363.845,2064.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1077.38,-585.142,2064.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1075.98,-806.266,2064.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1354.35,-140.015,2064.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1952.96,-318.389,2064.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2361.39,-132.496,2064.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2771.89,-152.261,2064.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2561.03,-135.005,2064.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2757.22,-423.593,2032.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2541.68,-553.565,2032.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2316.72,-419.212,2032.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2183.32,-635.51,2032.12),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2174.9,-855.438,2032.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2166.03,-1069.96,2032.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2168.96,-1286.06,2032.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2208.3,-1484.66,2032.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2428.29,-1466.86,2032.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2642.92,-1448.09,2032.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1934.17,-755.575,2064.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1369.55,-669.734,2200.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1386.7,-439.809,2200.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1565.74,-367.491,2200.12),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1575.04,-572.486,2200.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1282.33,-1658.92,2000),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1279.91,-1549.47,2000),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-289.103,-1172.94,1999.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-287.855,-1047.16,1999.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-284.339,-915.684,1999.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = 0; + var_00.v["soundalias"] = "emt_drip_int_water_lp"; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-307.109,-1289.56,1999.13),(270,0,-24)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-359.89,-1402.59,2000),(270,0,-25)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((281.499,-1167.75,1999.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((408.417,-1158.53,1999.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((287.189,-1026.77,1999.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((285.51,-909.807,1999.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2213.64,-676.256,1936.12),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1654.68,-841.062,2184.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streak_highlights_1kx1k_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1620.97,-296.549,2760.13),(270,0,180)); + var_00.v["fxid"] = "rain_streak_highlights_1kx1k_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streak_highlights_1kx1k_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-579.26,-1280.62,2768.44),(270,0,180)); + var_00.v["fxid"] = "rain_streak_highlights_1kx1k_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streak_highlights_1kx1k_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((440.036,-888.371,2760.13),(270,0,180)); + var_00.v["fxid"] = "rain_streak_highlights_1kx1k_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streak_highlights_1kx1k_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1423.22,-800.42,2760.13),(270,0,180)); + var_00.v["fxid"] = "rain_streak_highlights_1kx1k_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streak_highlights_1kx1k_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2421.19,-1030.52,2801.48),(270,0,180)); + var_00.v["fxid"] = "rain_streak_highlights_1kx1k_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_edge_rain_mist_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((873.4,-961.052,2328),(0,90,0)); + var_00.v["fxid"] = "roof_edge_rain_mist_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_150x150_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2265.6,-1149.09,1975.13),(271,90,-90)); + var_00.v["fxid"] = "rain_splash_sm_150x150_lp"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_150x150_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1729.77,-1267.61,2064),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_150x150_lp"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1278.36,-1285.57,2064),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1447.75,-1287.19,2064),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1560.11,-1290.64,2064),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1125.54,-1665.86,2000),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-961.627,-1663.75,2000),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-785.759,-1669.3,2000),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-610.862,-1660.52,2000),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_distant_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-785.263,-1739.59,2160.13),(270,0,0)); + var_00.v["fxid"] = "wind_gust_water_mist_distant_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_distant_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((263.931,-1663.21,2318.05),(270,0,0)); + var_00.v["fxid"] = "wind_gust_water_mist_distant_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_distant_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((263.931,-1663.21,2318.05),(270,0,0)); + var_00.v["fxid"] = "wind_gust_water_mist_distant_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_distant_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((602.822,-1711.49,2160.13),(270,0,0)); + var_00.v["fxid"] = "wind_gust_water_mist_distant_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_distant_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((2258.14,-1579.62,2032.13),(270,0,0)); + var_00.v["fxid"] = "wind_gust_water_mist_distant_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_distant_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-949.822,-2279.42,1998.13),(270,0,0)); + var_00.v["fxid"] = "wind_gust_water_mist_distant_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_distant_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1712.42,-1349.75,2064.13),(270,0,0)); + var_00.v["fxid"] = "wind_gust_water_mist_distant_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_distant_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-707.402,-1046.29,2160.13),(270,0,0)); + var_00.v["fxid"] = "wind_gust_water_mist_distant_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_distant_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((618.814,-947.069,2160.13),(270,0,0)); + var_00.v["fxid"] = "wind_gust_water_mist_distant_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_distant_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1514.02,-600.144,2200.13),(270,0,0)); + var_00.v["fxid"] = "wind_gust_water_mist_distant_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_distant_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((2298.14,-708.875,2032.13),(270,0,0)); + var_00.v["fxid"] = "wind_gust_water_mist_distant_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_distant_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((2833.94,-1563.55,2032.13),(270,0,0)); + var_00.v["fxid"] = "wind_gust_water_mist_distant_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_distant_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1624.14,-438.782,2064),(270,0,0)); + var_00.v["fxid"] = "wind_gust_water_mist_distant_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_distant_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1626.3,487.929,2064),(270,0,0)); + var_00.v["fxid"] = "wind_gust_water_mist_distant_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_distant_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((2579.92,-1269.56,2282),(270,0,0)); + var_00.v["fxid"] = "wind_gust_water_mist_distant_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_distant_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1494.04,-1786.9,2200),(270,0,0)); + var_00.v["fxid"] = "wind_gust_water_mist_distant_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_distant_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2255.16,-963.375,1936.13),(270,0,0)); + var_00.v["fxid"] = "wind_gust_water_mist_distant_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_distant_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((4006.75,-1342.48,2042.73),(270,0,0)); + var_00.v["fxid"] = "wind_gust_water_mist_distant_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_wide_near"); + var_00 common_scripts\_createfx::set_origin_and_angles((-284.283,-846.632,2160.13),(270,0,90)); + var_00.v["fxid"] = "falling_water_exterior_wide_near"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_wide_near"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1264.74,-878.367,2158.54),(270,0,90)); + var_00.v["fxid"] = "falling_water_exterior_wide_near"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_low_narrow_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-160.656,-241.101,2158.1),(271,89.9972,-89.9982)); + var_00.v["fxid"] = "falling_water_low_narrow_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_low_narrow_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-160.587,-569.969,2157.72),(271,89.9972,-89.9982)); + var_00.v["fxid"] = "falling_water_low_narrow_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_low_narrow_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((159.609,-570.637,2161.56),(271,89.9972,-89.9982)); + var_00.v["fxid"] = "falling_water_low_narrow_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_low_narrow_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((508.177,-1261.31,2149.53),(271,89.9972,-89.9982)); + var_00.v["fxid"] = "falling_water_low_narrow_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_runoff_narrow_splashes_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((162.593,-570.308,1999.13),(270,0,0)); + var_00.v["fxid"] = "water_runoff_narrow_splashes_lp"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_drips_int_hard_lp"; + var_00 = common_scripts\utility::createoneshoteffect("water_runoff_narrow_splashes_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-158.79,-570.937,1999.13),(270,0,0)); + var_00.v["fxid"] = "water_runoff_narrow_splashes_lp"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_drips_int_cement_verb_lp"; + var_00 = common_scripts\utility::createoneshoteffect("rain_floorsheet_fast_600x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-764.441,-1634.68,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_floorsheet_fast_600x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_floorsheet_fast_600x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-779.269,-1210.53,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_floorsheet_fast_600x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_floorsheet_fast_600x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-357.798,-736.062,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_floorsheet_fast_600x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_floorsheet_fast_600x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1392.44,-662.874,2064),(270,0,0)); + var_00.v["fxid"] = "rain_floorsheet_fast_600x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_floorsheet_fast_600x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1488.5,161.447,2064),(270,0,0)); + var_00.v["fxid"] = "rain_floorsheet_fast_600x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_floorsheet_fast_600x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1473.35,657.547,2064),(270,0,0)); + var_00.v["fxid"] = "rain_floorsheet_fast_600x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_floorsheet_fast_600x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((368.835,-737.182,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_floorsheet_fast_600x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_floorsheet_fast_600x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2452.22,-1430.37,2035.13),(270,0,0)); + var_00.v["fxid"] = "rain_floorsheet_fast_600x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_floorsheet_fast_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((611.1,-1494.23,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_floorsheet_fast_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_floorsheet_fast_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((609.626,-1108.64,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_floorsheet_fast_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_floorsheet_fast_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((609.626,-1108.64,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_floorsheet_fast_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_floorsheet_fast_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2223.18,-920.909,2032.13),(270,0,0)); + var_00.v["fxid"] = "rain_floorsheet_fast_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_floorsheet_fast_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1481.21,-507.559,2200.13),(270,0,0)); + var_00.v["fxid"] = "rain_floorsheet_fast_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_edge_rain_mist_lrg_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-276.833,-1537.25,2320.13),(360,90,0)); + var_00.v["fxid"] = "roof_edge_rain_mist_lrg_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_edge_rain_mist_lrg_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((282.316,-1552.61,2320.13),(360,90,0)); + var_00.v["fxid"] = "roof_edge_rain_mist_lrg_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_exterior_wide_near"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1014.87,-1356.91,2392.6),(270,0,90)); + var_00.v["fxid"] = "falling_water_exterior_wide_near"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roof_edge_rain_mist_lrg_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2003.77,-1085.71,2908.13),(360,90,0)); + var_00.v["fxid"] = "roof_edge_rain_mist_lrg_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_burst_lp_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-214.506,-356.731,2147.88),(29,181,90)); + var_00.v["fxid"] = "steam_pipe_burst_lp_sm"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_steam_lp"; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_burst_lp_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((205.29,-111.858,2144.2),(21,0,0)); + var_00.v["fxid"] = "steam_pipe_burst_lp_sm"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_steam_lp"; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_burst_lp_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((359.608,-272.574,2139.83),(9.70021,180,0)); + var_00.v["fxid"] = "steam_pipe_burst_lp_sm"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_steam_leak_lp"; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_burst_lp_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-88.8862,-1201.2,2146.83),(31,0,0)); + var_00.v["fxid"] = "steam_pipe_burst_lp_sm"; + var_00.v["delay"] = 0; + var_00.v["soundalias"] = "emt_steam_leak_lp"; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-274.137,-1060.2,2415.57),(0,180,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-274.137,-902.576,2413.24),(0,180,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-280.125,-1350.49,2303.29),(0,180,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-202.47,-730.666,2427.82),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-70.0894,-730.666,2428.25),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((167.37,-730.666,2428.84),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((280.125,-839.032,2419.42),(0,0,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((273.054,-1363.86,2258.76),(0,0,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1126.43,-1772.08,2157.2),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-975.257,-1772.08,2158.05),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-840.193,-1772.08,2156.27),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-637.628,-1772.08,2158.52),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-464.152,-1159.54,2160.13),(360,0,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1220.79,-1457.61,2159.13),(0,180,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((462.234,-1056.32,2160.13),(0,180,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((468.898,-906.816,2160.13),(0,180,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((872.095,-881.236,2320.13),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((1346.08,-752.88,2340.08),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((1503.27,-608.88,2342.03),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((2488.46,-660.856,2250.4),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((2606.8,-663.605,2250.32),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((1752.76,-245.876,2341.26),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((1345.13,-245.89,2340.84),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1682.53,-500.217,2183),(0,180,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1673.12,-371.975,2185),(0,180,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1811.82,-569.833,2183),(0,270,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1820.12,-305.134,2171),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1977.63,-968.662,2064.13),(0,180,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1977.84,-816.02,2064.13),(0,180,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1792.87,23.2609,2064.13),(0,180,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2007.6,100.436,2064.13),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1456.68,-263.171,2177),(0,225,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1461.84,-73.5854,2184),(0,227,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1293.17,-51.2685,2179),(0,44,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1411.94,267.356,2064),(0,180,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1411.94,267.356,2183),(0,282,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1261.77,758.614,2173),(0,270,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1318.83,582.011,2185),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1285.75,-237.65,2181),(0,225,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((1901.97,-1000.87,2177.15),(0,269,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((1578.13,-695.836,2341.37),(0,225,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((1582.26,-671.793,2344.13),(0,180,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((297.45,-849.125,2089.85),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((-24.6311,-631.676,2162.13),(0,180,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((0,-616.889,2162.13),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((-166.007,-476.52,2162.13),(0,180,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((166.133,-490.75,2162.13),(0,180,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((743.877,-951.418,2316.3),(0,360,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((282.406,-1691.84,2281.59),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((461.971,-1368.26,2160.13),(0,360,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1978.1,-459.48,2064.13),(0,360,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((281.108,-1070.21,2421.15),(0,0,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1131.45,-1087.17,2704.42),(0,180,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1089.58,-1207.78,2468.61),(0,180,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1083.88,-935.081,2470.08),(0,180,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1412.43,-819.477,2704.42),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1307.47,-789.875,2468.94),(0,270,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1661.49,-820.149,2708.53),(0,270,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1665.84,-791.875,2464.95),(0,270,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1951.45,-826.883,2710.04),(0,270,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1958.4,-791.875,2476.44),(0,270,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2388.9,-789.875,2476.44),(0,270,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2372.76,-825.875,2707.47),(0,270,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2738.6,-776.263,2475.25),(0,270,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1476.13,-1232.91,2190.95),(0,270,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1788.89,-1386.13,2474.69),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2222.8,-1386.13,2473.7),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((1077.39,-35.1607,2450.47),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((1842.69,-55.8187,2451.51),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((2304.8,-37.7,2451.16),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((2186.48,-57,2331.24),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((1397.51,-47,2323.69),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((1778.13,-50.1541,2324.81),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((1595.42,-49.125,2312.26),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((1402.63,32.875,2179.73),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_distant_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-324.998,-1983.21,2001),(270,0,0)); + var_00.v["fxid"] = "wind_gust_water_mist_distant_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_distant_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1615.69,-1753.95,2000.13),(270,0,0)); + var_00.v["fxid"] = "wind_gust_water_mist_distant_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_distant_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1218.23,-1978.96,2061.13),(270,0,0)); + var_00.v["fxid"] = "wind_gust_water_mist_distant_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_distant_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((5.90106,-1375.82,1982.88),(270,0,0)); + var_00.v["fxid"] = "wind_gust_water_mist_distant_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_distant_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((361.637,-1550.02,2020.88),(270,0,0)); + var_00.v["fxid"] = "wind_gust_water_mist_distant_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_distant_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((2254.08,-1925.79,2088.13),(270,0,0)); + var_00.v["fxid"] = "wind_gust_water_mist_distant_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_edge_runoff_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((2142.62,25.1953,2185.02),(0,90,0)); + var_00.v["fxid"] = "water_edge_runoff_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1078.2,-1216.36,2298.98),(68.0001,270,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1077.78,-1183.69,2298.96),(68.0001,90,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-761.036,-914.351,2298.98),(68.0001,270,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-760.973,-881.582,2299),(68.0001,90,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-475.863,-843.574,2299.01),(68.0001,90,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-476.12,-876.251,2298.94),(68.0001,270,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-475.954,-1201.79,2298.92),(68.0001,90,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-476.04,-1234.34,2298.97),(68.0001,270,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((476.217,-843.794,2298.92),(68.0001,90,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((475.815,-875.216,2298.52),(68.0001,270,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((476.358,-1203.19,2298.76),(68.0001,90,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((475.9,-1235,2298.84),(68.0001,270,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((986.476,-542.086,2238.01),(68.0001,270,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((987.36,-509.533,2237.81),(68.0001,90,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((2069.1,-234.625,2202.99),(68.0001,90,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((2068.91,-267.354,2202.98),(68.0001,270,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((2410.29,-230.571,2203.01),(68.0001,90,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((2409.87,-263.35,2202.98),(68.0001,270,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((2648.07,-232.54,2202.62),(68.0001,90,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((2647.93,-264.324,2202.97),(68.0001,270,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((2869.02,-429.519,2171.03),(68.0001,90,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((2868.89,-462.293,2170.95),(68.0001,270,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((2647.95,-453.121,2170.88),(68.0001,270,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((2648.37,-420.587,2171),(68.0001,90,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((2411.24,-451.257,2170.94),(68.0001,270,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((2410.99,-418.68,2170.97),(68.0001,90,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1824.29,-883.902,2196.88),(68.0001,90,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1823.78,-916.289,2196.95),(68.0001,270,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((2869.02,-1046.35,2170.98),(68.0001,270,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((2869.15,-1013.64,2170.98),(68.0001,90,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((2868.97,-698.313,2170.96),(68.0001,270,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((2868.92,-665.533,2171.02),(68.0001,90,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1716.97,-83.3499,2202.98),(68.0001,270,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1717.06,-50.5788,2203.01),(68.0001,90,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1779.91,71.8328,2202.9),(68.0001,270,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1779.81,104.178,2202.91),(68.0001,90,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1775.24,610.751,2202.94),(68.0001,270,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_streaks_in_lt_sphere_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1774.92,643.272,2202.95),(68.0001,90,0)); + var_00.v["fxid"] = "rain_streaks_in_lt_sphere_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_distant_lightning"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8317.09,3470.78,6622.96),(270,0,0)); + var_00.v["fxid"] = "mp_ref_distant_lightning"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_distant_lightning"); + var_00 common_scripts\_createfx::set_origin_and_angles((7818.01,8721.62,6956.57),(270,0,0)); + var_00.v["fxid"] = "mp_ref_distant_lightning"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lt_soft_cool_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1725.77,837.168,2214.01),(0,319.884,0)); + var_00.v["fxid"] = "lt_soft_cool_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_column_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-989.222,737.556,2013),(270,180,113.363)); + var_00.v["fxid"] = "steam_column_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_column_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-768.475,413.588,2009),(270,0,-46.0649)); + var_00.v["fxid"] = "steam_column_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_column_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((761.175,390.973,2013.51),(270,0,-135)); + var_00.v["fxid"] = "steam_column_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2224.61,99.3009,2296.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_20x20_no_dist_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1134.83,-840.925,2122.1),(270,180,132)); + var_00.v["fxid"] = "rain_splash_sm_20x20_no_dist_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_20x20_no_dist_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1053,-936.501,2233.49),(270,0,-90)); + var_00.v["fxid"] = "rain_splash_sm_20x20_no_dist_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_20x20_no_dist_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-978.499,-935.013,2233.49),(270,180,96)); + var_00.v["fxid"] = "rain_splash_sm_20x20_no_dist_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_20x20_no_dist_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((457.125,-247.773,2195.99),(270,0,-86)); + var_00.v["fxid"] = "rain_splash_sm_20x20_no_dist_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_20x20_no_dist_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-457.174,-239.353,2195.99),(270,180,97)); + var_00.v["fxid"] = "rain_splash_sm_20x20_no_dist_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_20x20_no_dist_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1423.96,527.327,2150.01),(270,180,99)); + var_00.v["fxid"] = "rain_splash_sm_20x20_no_dist_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_wide_long_no_dist"); + var_00 common_scripts\_createfx::set_origin_and_angles((729.504,457.604,2679.03),(270,0,48)); + var_00.v["fxid"] = "falling_water_wide_long_no_dist"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_wide_long_no_dist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-730.749,475.718,2565.29),(270,0,-50)); + var_00.v["fxid"] = "falling_water_wide_long_no_dist"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_wide_long_no_dist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-863.63,600.818,2452),(270,180,122)); + var_00.v["fxid"] = "falling_water_wide_long_no_dist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((-864.675,293.998,3457.21),(270,0,0)); + var_00.v["fxid"] = "tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((-535.433,59.8266,3453.38),(270,0,0)); + var_00.v["fxid"] = "tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((-865.12,294.444,4088.62),(270,0,0)); + var_00.v["fxid"] = "tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((-535.764,59.9924,4084.97),(270,0,0)); + var_00.v["fxid"] = "tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((-865.04,294.363,4719),(270,0,0)); + var_00.v["fxid"] = "tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((-536.962,60.5913,4718.72),(270,0,0)); + var_00.v["fxid"] = "tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((-866.848,291.929,5640.2),(270,0,0)); + var_00.v["fxid"] = "tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((-538.271,54.6401,5640.09),(270,0,0)); + var_00.v["fxid"] = "tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((581.519,77.2745,5641.14),(270,0,0)); + var_00.v["fxid"] = "tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((887.757,315.122,5642.37),(270,0,0)); + var_00.v["fxid"] = "tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((580.49,77.8999,4719.23),(270,0,0)); + var_00.v["fxid"] = "tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((885.016,315.839,4718.51),(270,0,0)); + var_00.v["fxid"] = "tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((580.418,77.8561,4085.62),(270,0,0)); + var_00.v["fxid"] = "tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((885.914,316.737,4088.44),(270,0,0)); + var_00.v["fxid"] = "tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((580.359,77.8207,3453.3),(270,0,0)); + var_00.v["fxid"] = "tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((886.068,316.891,3454.29),(270,0,0)); + var_00.v["fxid"] = "tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3501.03,1105.54,3458.16),(270,0,0)); + var_00.v["fxid"] = "tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3001.69,1102.44,3913.45),(270,0,0)); + var_00.v["fxid"] = "tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2504.59,1105.19,4367.94),(270,0,0)); + var_00.v["fxid"] = "tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2001.83,1103.73,4826.61),(270,0,0)); + var_00.v["fxid"] = "tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((2037.49,1109.61,4823.75),(270,0,0)); + var_00.v["fxid"] = "tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((2543.55,1103.24,4362.39),(270,0,0)); + var_00.v["fxid"] = "tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((3042.6,1115.11,3904.62),(270,0,0)); + var_00.v["fxid"] = "tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((3542.2,1102.57,3450.51),(270,0,0)); + var_00.v["fxid"] = "tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((-863.932,293.255,5017.89),(270,0,0)); + var_00.v["fxid"] = "tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((-536.379,60.2997,5019.44),(270,0,0)); + var_00.v["fxid"] = "tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((581.64,78.5935,5022.49),(270,0,0)); + var_00.v["fxid"] = "tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((887.145,317.968,5022.43),(270,0,0)); + var_00.v["fxid"] = "tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((-100.125,-2064.49,3100.92),(270,0,0)); + var_00.v["fxid"] = "tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("tower_light_glow_red_steady"); + var_00 common_scripts\_createfx::set_origin_and_angles((100.125,-2065.24,3100.69),(270,0,0)); + var_00.v["fxid"] = "tower_light_glow_red_steady"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1790.58,-1629.29,2311.67),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1598.52,-1821.41,2311.67),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1603.4,-2599.51,2311.68),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1795.32,-2791.34,2311.68),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2163.45,-2791.42,2311.68),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2355.53,-2599.35,2311.68),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2350.67,-1821.54,2311.68),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2158.73,-1629.75,2311.69),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2987.63,-1277.46,2319.68),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3179.34,-1469.41,2319.67),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3957.8,-1464.35,2319.66),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4149.4,-1273.13,2319.69),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4149.56,-904.517,2319.67),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3957.35,-712.695,2319.68),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3179.38,-717.339,2319.67),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2987.54,-909.468,2319.68),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2129.01,-2530.8,2038.67),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2124.29,-3309.12,2038.68),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2316.71,-3501.06,2038.69),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2684.27,-3500.86,2040.68),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2876.5,-3309.14,2040.68),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2881.03,-2530.82,2040.67),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2688.67,-2338.69,2040.67),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2321.13,-2339.29,2038.68),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((3660.36,-1595.88,2032.12),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((3852.54,-1787.76,2032.13),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((4632.79,-1790.29,2036.68),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((4630.71,-1792.28,2032.13),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((4822.41,-1600.61,2032.13),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((4822.25,-1232.53,2032.14),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((4630.41,-1040.64,2032.13),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((3852.16,-1035.78,2032.12),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((3660.68,-1227.35,2032.12),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((3854.92,-493.274,2071.68),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((4632.85,-498.023,2071.68),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((4825.1,-305.469,2071.68),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((4824.83,62.4518,2071.69),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((4632.79,253.859,2071.68),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((3854.88,258.749,2071.68),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((3662.96,66.6026,2071.68),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((3662.84,-301.508,2071.68),(270,0,0)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lt_soft_cool_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2223.4,305.814,2740.99),(0,319.884,0)); + var_00.v["fxid"] = "lt_soft_cool_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lt_soft_cool_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((620.849,5.375,2959.9),(0,319.884,0)); + var_00.v["fxid"] = "lt_soft_cool_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lt_soft_cool_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1053.42,104.974,2959.76),(0,319.884,0)); + var_00.v["fxid"] = "lt_soft_cool_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lt_soft_cool_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-612.303,13.875,2968),(0,319.884,0)); + var_00.v["fxid"] = "lt_soft_cool_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lt_soft_cool_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1059.94,87.0167,2951.64),(0,319.884,0)); + var_00.v["fxid"] = "lt_soft_cool_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_hilight_cylinder"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1725.14,836.401,2212.97),(0,319.884,0)); + var_00.v["fxid"] = "rain_hilight_cylinder"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_hilight_cylinder"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2215.72,274.859,2773.62),(0,270,0)); + var_00.v["fxid"] = "rain_hilight_cylinder"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent"); + var_00 common_scripts\_createfx::set_origin_and_angles((2324.64,-30.4269,2065.86),(270,0,90)); + var_00.v["fxid"] = "steam_sm_vent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent"); + var_00 common_scripts\_createfx::set_origin_and_angles((1768.29,-27.576,2065.49),(270,0,90)); + var_00.v["fxid"] = "steam_sm_vent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent"); + var_00 common_scripts\_createfx::set_origin_and_angles((1585.44,-29.8801,2065.93),(270,0,90)); + var_00.v["fxid"] = "steam_sm_vent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent"); + var_00 common_scripts\_createfx::set_origin_and_angles((2087.38,-921.424,2035.24),(270,116.02,63.9798)); + var_00.v["fxid"] = "steam_sm_vent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent"); + var_00 common_scripts\_createfx::set_origin_and_angles((2085.66,-776.513,2035.24),(270,180,0)); + var_00.v["fxid"] = "steam_sm_vent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent"); + var_00 common_scripts\_createfx::set_origin_and_angles((2085.43,-1141.64,2035.24),(270,180,0)); + var_00.v["fxid"] = "steam_sm_vent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent"); + var_00 common_scripts\_createfx::set_origin_and_angles((2086.46,-1281.98,2035.76),(270,180,0)); + var_00.v["fxid"] = "steam_sm_vent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent"); + var_00 common_scripts\_createfx::set_origin_and_angles((862.598,-1484.48,2071.24),(270,180,0)); + var_00.v["fxid"] = "steam_sm_vent"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_vent_steam_transformer_lp"; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent"); + var_00 common_scripts\_createfx::set_origin_and_angles((1196.3,-1656.45,2065.24),(270,0,-90)); + var_00.v["fxid"] = "steam_sm_vent"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_vent_air_lrg_lp"; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent"); + var_00 common_scripts\_createfx::set_origin_and_angles((1076.68,-1657.12,2065.24),(270,0,-90)); + var_00.v["fxid"] = "steam_sm_vent"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_vent_water_air_huge_lp"; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1.06281,-556.779,2000),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_water_drips_sparse_lp"; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2797.23,-763.097,2032.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2797.64,-943.227,2032.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2793.66,-1111.41,2032.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1751.52,-583.099,1960.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1938.03,-1509.92,2064.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1943.07,-1242.51,2064.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1948.61,-1029.49,2064.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_water_mist_distant_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1136.24,-1920.48,2184.13),(270,0,0)); + var_00.v["fxid"] = "wind_gust_water_mist_distant_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-841.318,-1342.8,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-723.827,-385.619,2158),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1590.99,551.493,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1630.67,-360.572,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2496.35,555.905,2146),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2536.02,-356.16,2146),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3278.76,-1065.06,2312.13),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2024.38,-1808.62,2304.13),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1111.27,-2357.29,2071.13),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((802.988,-1459.22,2266.13),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((922.286,-553.524,2610.13),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((1828.03,-550.494,2525.13),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((2260.44,-1458.74,2166.13),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((2685.99,-528.157,2383.13),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((3156.28,-1506.6,2150.13),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((3348.19,4.26287,2064.13),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((34.5287,-557.474,2583.01),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-226.497,-2409.46,2454.22),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_rain_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-283.856,-848.947,2000),(270,0,0)); + var_00.v["fxid"] = "mp_ref_rain_screen_splashes"; + var_00.v["delay"] = 0; + var_00.v["soundalias"] = "emt_drips_cement_splatty_lp"; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_rain_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-166.87,-572.572,2000),(270,0,0)); + var_00.v["fxid"] = "mp_ref_rain_screen_splashes"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "ext_refraction_rain_3d_large"; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_rain_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((166.643,-573.335,2000),(270,0,0)); + var_00.v["fxid"] = "mp_ref_rain_screen_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_rain_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((724.37,442.104,2066),(270,0,0)); + var_00.v["fxid"] = "mp_ref_rain_screen_splashes"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "ext_refraction_rain_3d_large"; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_rain_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((234.845,138.584,1903.63),(270,0,0)); + var_00.v["fxid"] = "mp_ref_rain_screen_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_rain_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-603.55,321.21,2012),(270,0,0)); + var_00.v["fxid"] = "mp_ref_rain_screen_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_rain_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1769.08,613.188,2067.62),(270,0,0)); + var_00.v["fxid"] = "mp_ref_rain_screen_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_rain_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1731,841.826,2064),(270,0,0)); + var_00.v["fxid"] = "mp_ref_rain_screen_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_rain_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1770.85,88.9456,2064),(270,0,0)); + var_00.v["fxid"] = "mp_ref_rain_screen_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_rain_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1706.45,-61.6629,2064),(270,0,0)); + var_00.v["fxid"] = "mp_ref_rain_screen_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_rain_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1063.53,-1193.61,2160.13),(270,0,0)); + var_00.v["fxid"] = "mp_ref_rain_screen_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_rain_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-892.569,-1693.67,2160.13),(270,0,0)); + var_00.v["fxid"] = "mp_ref_rain_screen_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_rain_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-483.789,-1212.96,2160.13),(270,0,0)); + var_00.v["fxid"] = "mp_ref_rain_screen_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_rain_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-745.217,-903.68,2160.13),(270,0,0)); + var_00.v["fxid"] = "mp_ref_rain_screen_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_rain_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-484.484,-849.658,2160.13),(270,0,0)); + var_00.v["fxid"] = "mp_ref_rain_screen_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_rain_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((483.397,-849.022,2160.13),(270,0,0)); + var_00.v["fxid"] = "mp_ref_rain_screen_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_rain_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((484.645,-1218.74,2160.13),(270,0,0)); + var_00.v["fxid"] = "mp_ref_rain_screen_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_rain_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((2042.75,-1591.04,2064.13),(270,0,0)); + var_00.v["fxid"] = "mp_ref_rain_screen_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_rain_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((2047.11,-1410.1,2064.13),(270,0,0)); + var_00.v["fxid"] = "mp_ref_rain_screen_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_rain_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((2049.45,-659.099,2064.13),(270,0,0)); + var_00.v["fxid"] = "mp_ref_rain_screen_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_rain_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((2044.66,-427.8,2064.13),(270,0,0)); + var_00.v["fxid"] = "mp_ref_rain_screen_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_rain_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((2060.84,-234.599,2064.13),(270,0,0)); + var_00.v["fxid"] = "mp_ref_rain_screen_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_rain_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((2402.69,-235.467,2064.13),(270,0,0)); + var_00.v["fxid"] = "mp_ref_rain_screen_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_rain_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((2400.96,-447.747,2032.13),(270,0,0)); + var_00.v["fxid"] = "mp_ref_rain_screen_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_rain_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((2660.54,-451.003,2032.13),(270,0,0)); + var_00.v["fxid"] = "mp_ref_rain_screen_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_rain_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((2661.32,-235.835,2064.13),(270,0,0)); + var_00.v["fxid"] = "mp_ref_rain_screen_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_rain_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((2862.19,-446.12,2032.13),(270,0,0)); + var_00.v["fxid"] = "mp_ref_rain_screen_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_rain_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((2862.99,-681.176,2032.13),(270,0,0)); + var_00.v["fxid"] = "mp_ref_rain_screen_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_rain_screen_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((2863.92,-1028.94,2032.13),(270,0,0)); + var_00.v["fxid"] = "mp_ref_rain_screen_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2948.24,-1961.53,2312.13),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2035.46,-2708.88,2304.13),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1095.47,-3212.2,2450.13),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-219.336,-3282.77,2384.13),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((681.385,-2381.75,2451.13),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((1957.42,-2354.77,2371.14),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((4058.01,-1671.23,2284.13),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((4269.81,-707.861,2340.13),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((4269.73,193.929,2331.39),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((3512.83,801.607,2316.13),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3409.16,-229.256,2179.13),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1599.4,1449.04,2181),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3403.29,446.466,2082.13),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2508.92,1443.26,2191.13),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1289.77,2220.57,2212.12),(270,182,86)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1481.05,2412.84,2212.12),(270,182,86)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1853.99,2412.73,2212.12),(270,182,86)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2044.19,2219.08,2212.12),(270,182,86)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2041.93,1442.3,2212.12),(270,182,86)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1848.28,1251.31,2212.13),(270,182,86)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1483.17,1248.8,2212.12),(270,182,86)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("soft_blue_omni_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1288.79,1440.53,2212.12),(270,182,86)); + var_00.v["fxid"] = "soft_blue_omni_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("vehicle_damaged_sparks_l"); + var_00 common_scripts\_createfx::set_origin_and_angles((1136.09,384.596,2137.35),(0,0,0)); + var_00.v["fxid"] = "vehicle_damaged_sparks_l"; + var_00.v["delay"] = 1; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1187.43,55.0474,2170.61),(0,90,0)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = 1; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2083.94,-164.978,1920.07),(291.275,180,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1975.76,-186.141,1962.59),(291.275,180,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1854.28,-166.771,2009.38),(291.275,180,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1772.38,-195.837,2041.4),(291.275,180,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2223.14,-11.4991,2296.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2221.84,-84.6643,2296.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2224.45,-183.353,2296.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2218.79,-296.578,2296.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2220.08,-390.677,2294),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2226.84,-498.13,2294.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("vehicle_damaged_sparks_l"); + var_00 common_scripts\_createfx::set_origin_and_angles((753.875,-1163.78,2243.22),(0,180,0)); + var_00.v["fxid"] = "vehicle_damaged_sparks_l"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1673.88,-292.244,2265.06),(0,180,0)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = 1; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_central_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((2201.99,235.573,2623.13),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_central_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_wide_long_no_dist"); + var_00 common_scripts\_createfx::set_origin_and_angles((1656.73,129.94,2638.32),(270,0,0)); + var_00.v["fxid"] = "falling_water_wide_long_no_dist"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_wide_long_no_dist"); + var_00 common_scripts\_createfx::set_origin_and_angles((1259.19,419.406,2653.13),(270,0,0)); + var_00.v["fxid"] = "falling_water_wide_long_no_dist"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_wide_long_no_dist"); + var_00 common_scripts\_createfx::set_origin_and_angles((2187.83,518.429,2655.13),(270,0,0)); + var_00.v["fxid"] = "falling_water_wide_long_no_dist"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_wide_long_no_dist"); + var_00 common_scripts\_createfx::set_origin_and_angles((1631.72,-1471.7,2532.13),(270,0,0)); + var_00.v["fxid"] = "falling_water_wide_long_no_dist"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_wide_long_no_dist"); + var_00 common_scripts\_createfx::set_origin_and_angles((1355.87,-1207.14,2534.13),(270,0,0)); + var_00.v["fxid"] = "falling_water_wide_long_no_dist"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_vista_lights"); + var_00 common_scripts\_createfx::set_origin_and_angles((0,0,2270),(270,0,0)); + var_00.v["fxid"] = "mp_ref_vista_lights"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_wide_long_no_dist"); + var_00 common_scripts\_createfx::set_origin_and_angles((1621.37,437.76,2673.13),(270,0,0)); + var_00.v["fxid"] = "falling_water_wide_long_no_dist"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_wide_long_no_dist"); + var_00 common_scripts\_createfx::set_origin_and_angles((1283.86,138.605,2584.13),(270,0,0)); + var_00.v["fxid"] = "falling_water_wide_long_no_dist"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_wide_long_no_dist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-110.3,-1032.23,2568.59),(270,0,-90)); + var_00.v["fxid"] = "falling_water_wide_long_no_dist"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_wide_long_no_dist"); + var_00 common_scripts\_createfx::set_origin_and_angles((138.593,-1032.55,2572.5),(270,0,-90)); + var_00.v["fxid"] = "falling_water_wide_long_no_dist"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_80x6_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-136.088,-1037.83,2265.79),(0,270,0)); + var_00.v["fxid"] = "rain_splash_sm_80x6_lp"; + var_00.v["delay"] = 0; + var_00.v["soundalias"] = "emt_drips_cement_splatty_lp"; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_80x6_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((141.815,-1044.74,2263.5),(270,0,-90)); + var_00.v["fxid"] = "rain_splash_sm_80x6_lp"; + var_00.v["delay"] = 0; + var_00.v["soundalias"] = "emt_water_drips_sparse_lp"; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_80x6_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1351.84,-1210.37,2204.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_80x6_lp"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_80x6_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1626.24,-1463.06,2204.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_80x6_lp"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2.40405,-1149.11,2164.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "null"; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((6.86815,-1403.44,2164.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_water_drips_sparse_lp"; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_150x150_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12.0132,-772.023,2160.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_150x150_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1091.71,-1227.33,2064.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1074.29,-1504.18,2064.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1346.27,-1347.63,2064.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1482.1,-1340.94,2064.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1474.14,-1160.92,2064.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1669.34,-1348.79,2064.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1713.66,-1553.9,2064.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_80x6_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1246.39,143.197,2064.13),(270,180,0)); + var_00.v["fxid"] = "rain_splash_sm_80x6_lp"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_80x6_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1243.82,425.755,2064.13),(270,180,0)); + var_00.v["fxid"] = "rain_splash_sm_80x6_lp"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_80x6_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1624.17,109.112,2200.32),(270,180,0)); + var_00.v["fxid"] = "rain_splash_sm_80x6_lp"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_80x6_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1632.48,439.585,2200.13),(270,180,0)); + var_00.v["fxid"] = "rain_splash_sm_80x6_lp"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_80x6_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2189.37,532.706,2064.13),(270,180,0)); + var_00.v["fxid"] = "rain_splash_sm_80x6_lp"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_wide_long_no_dist"); + var_00 common_scripts\_createfx::set_origin_and_angles((92.9907,-1498.15,2525.13),(270,0,-90)); + var_00.v["fxid"] = "falling_water_wide_long_no_dist"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_80x6_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((101.979,-1499.45,2164.13),(270,180,-90)); + var_00.v["fxid"] = "rain_splash_sm_80x6_lp"; + var_00.v["delay"] = 0; + var_00.v["soundalias"] = "emt_drips_ground_splat_lp"; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1316.23,308.041,2064.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1964,321.534,2064.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1593.66,191.403,2200.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1589.68,424.264,2200.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1590.52,665.844,2200.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2140.39,645.742,2064.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2120.46,289.893,2064.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((1654.45,570.956,2237.65),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1198.34,694.089,2144.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1978.43,694.392,2144.65),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1434.11,707.789,2200.65),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_50x50_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1742.01,707.053,2200.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_50x50_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2555.65,-832.054,2258),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_150x150_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2403.62,-1161.28,2282),(271,90,-90)); + var_00.v["fxid"] = "rain_splash_sm_150x150_lp"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_150x150_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2640.3,-1167.93,2282),(271,90,-90)); + var_00.v["fxid"] = "rain_splash_sm_150x150_lp"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_200x200_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1462.61,-1578.7,2204.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_200x200_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1342.61,-1186.31,2204.65),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_150x150_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1670.69,-1162.55,2204.13),(271,90,-90)); + var_00.v["fxid"] = "rain_splash_sm_150x150_lp"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_elev_cloud_opening"); + var_00 common_scripts\_createfx::set_origin_and_angles((5.72182,1218.84,15996.1),(90,180,-180)); + var_00.v["fxid"] = "mp_ref_elev_cloud_opening"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21.953,-1266,2215.84),(0,270,0)); + var_00.v["fxid"] = "electrical_sparks_runner"; + var_00.v["delay"] = 1; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2185.46,-145.878,2064.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2010.19,-150.124,2064.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1839.65,-146.568,2064.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1592.04,-158.52,2064.13),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_column_rising"); + var_00 common_scripts\_createfx::set_origin_and_angles((-590.093,394.762,2064),(270,0,0)); + var_00.v["fxid"] = "steam_column_rising"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_column_rising"); + var_00 common_scripts\_createfx::set_origin_and_angles((402.927,272.737,2064),(270,0,0)); + var_00.v["fxid"] = "steam_column_rising"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_column_rising"); + var_00 common_scripts\_createfx::set_origin_and_angles((595.194,393.809,2064),(270,0,0)); + var_00.v["fxid"] = "steam_column_rising"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_column_rising"); + var_00 common_scripts\_createfx::set_origin_and_angles((-113.176,195.17,1943),(270,0,0)); + var_00.v["fxid"] = "steam_column_rising"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_column_rising"); + var_00 common_scripts\_createfx::set_origin_and_angles((-400.344,280.442,2064),(270,0,0)); + var_00.v["fxid"] = "steam_column_rising"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_column_rising"); + var_00 common_scripts\_createfx::set_origin_and_angles((777.676,600.307,2064),(270,0,0)); + var_00.v["fxid"] = "steam_column_rising"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_column_rising"); + var_00 common_scripts\_createfx::set_origin_and_angles((-747.486,548.606,2064),(270,0,0)); + var_00.v["fxid"] = "steam_column_rising"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_column_rising"); + var_00 common_scripts\_createfx::set_origin_and_angles((-864.021,738.82,2064),(270,0,0)); + var_00.v["fxid"] = "steam_column_rising"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_column_rising"); + var_00 common_scripts\_createfx::set_origin_and_angles((-947.903,1053.44,2021.5),(270,0,0)); + var_00.v["fxid"] = "steam_column_rising"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_column_rising"); + var_00 common_scripts\_createfx::set_origin_and_angles((110.952,198.536,1944.5),(270,0,0)); + var_00.v["fxid"] = "steam_column_rising"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_column_rising"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1016.45,1151.32,2061.01),(270,0,0)); + var_00.v["fxid"] = "steam_column_rising"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_column_rising"); + var_00 common_scripts\_createfx::set_origin_and_angles((952.077,796.249,2047.81),(270,0,0)); + var_00.v["fxid"] = "steam_column_rising"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-471.987,781.941,2157.32),(0,134,-90)); + var_00.v["fxid"] = "steam_sm_vent_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_hallway_dissipate"); + var_00 common_scripts\_createfx::set_origin_and_angles((-549.702,635.063,2098.63),(284.1,225.5,90)); + var_00.v["fxid"] = "steam_hallway_dissipate"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_hallway_dissipate"); + var_00 common_scripts\_createfx::set_origin_and_angles((-496.092,585.098,2099.1),(284.1,225.5,-90)); + var_00.v["fxid"] = "steam_hallway_dissipate"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_hallway_dissipate"); + var_00 common_scripts\_createfx::set_origin_and_angles((570.662,644.479,2097.29),(284.1,315.2,-90)); + var_00.v["fxid"] = "steam_hallway_dissipate"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_hallway_dissipate"); + var_00 common_scripts\_createfx::set_origin_and_angles((507.234,583.651,2097.85),(284.1,315.2,90)); + var_00.v["fxid"] = "steam_hallway_dissipate"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_cylinder_dissipate_near"); + var_00 common_scripts\_createfx::set_origin_and_angles((4.58766,410.16,2532.65),(90,0,0)); + var_00.v["fxid"] = "steam_cylinder_dissipate_near"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_elev_window_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-356.029,1184.29,2069.39),(270,0,0)); + var_00.v["fxid"] = "mp_ref_elev_window_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ref_elev_window_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((363.743,1187.5,2062.61),(270,0,0)); + var_00.v["fxid"] = "mp_ref_elev_window_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_80x6_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((720.386,449.376,2064),(270,180,-133)); + var_00.v["fxid"] = "rain_splash_sm_80x6_lp"; + var_00.v["delay"] = 0; + var_00.v["soundalias"] = "emt_drips_metal_splat_lp"; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_80x6_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3.38535,181.271,1948),(270,0,89)); + var_00.v["fxid"] = "rain_splash_sm_80x6_lp"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_80x6_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-868.467,620.887,2066),(270,0,121)); + var_00.v["fxid"] = "rain_splash_sm_80x6_lp"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_80x6_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-752.576,485.901,2064),(270,180,135)); + var_00.v["fxid"] = "rain_splash_sm_80x6_lp"; + var_00.v["delay"] = 0; + var_00.v["soundalias"] = "emt_drips_int_cement_lp"; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_20x20_no_dist_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-451.705,-270.826,2196.02),(270,180,9)); + var_00.v["fxid"] = "rain_splash_sm_20x20_no_dist_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1871.92,-497.07,2196),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1757.72,-497.093,2196),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1875.72,-357.054,2196),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1759.12,-357.224,2196),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1414.01,-209.789,2196),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1329.49,-290.307,2196),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1337.24,-88.9438,2196),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1423.72,-8.99419,2196),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1476.6,347.635,2196),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1505.09,459.298,2196),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1328.82,497.185,2196),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1328.61,379.907,2196),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1187.97,364.156,2195),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00.v["soundalias"] = "emt_rain_int_crate_lp"; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1188.08,479.987,2196),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1317.49,826.865,2196),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_100x100_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1201.05,827.459,2196),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_100x100_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_frame_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1004.23,138.448,2444),(360,315,0)); + var_00.v["fxid"] = "mp_ref_elev_frame_lightray"; + var_00.v["delay"] = 3.8; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_frame_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1001.51,141.945,2519.69),(360,315,0)); + var_00.v["fxid"] = "mp_ref_elev_frame_lightray"; + var_00.v["delay"] = 3.6; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_frame_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1001.27,141.708,2600.43),(360,315,0)); + var_00.v["fxid"] = "mp_ref_elev_frame_lightray"; + var_00.v["delay"] = 3.4; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_frame_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1001.86,142.303,2683.63),(360,315,0)); + var_00.v["fxid"] = "mp_ref_elev_frame_lightray"; + var_00.v["delay"] = 3.2; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_frame_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1001.61,142.052,2757.62),(360,315,0)); + var_00.v["fxid"] = "mp_ref_elev_frame_lightray"; + var_00.v["delay"] = 3; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_frame_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1001.58,142.017,2850.06),(360,315,0)); + var_00.v["fxid"] = "mp_ref_elev_frame_lightray"; + var_00.v["delay"] = 2.8; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_frame_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1001.5,141.939,2917.93),(360,315,0)); + var_00.v["fxid"] = "mp_ref_elev_frame_lightray"; + var_00.v["delay"] = 2.6; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_frame_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1001.22,141.663,3000.13),(360,315,0)); + var_00.v["fxid"] = "mp_ref_elev_frame_lightray"; + var_00.v["delay"] = 2.4; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_frame_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1001.54,141.983,3084.32),(360,315,0)); + var_00.v["fxid"] = "mp_ref_elev_frame_lightray"; + var_00.v["delay"] = 2.2; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_cylinderframe_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6.3464,1139.63,3392.24),(0,0,0)); + var_00.v["fxid"] = "mp_ref_elev_cylinderframe_lightray"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_cylinderframe_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6.05502,1140.83,4917.77),(0,180,-180)); + var_00.v["fxid"] = "mp_ref_elev_cylinderframe_lightray"; + var_00.v["delay"] = 0.25; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_cylinderframe_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5.49577,1138.46,4282.6),(0,180,-180)); + var_00.v["fxid"] = "mp_ref_elev_cylinderframe_lightray"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("mp_ref_distant_lightning_bolt"); + var_00 common_scripts\_createfx::set_origin_and_angles((10000,10000,6000),(90,0,0)); + var_00.v["fxid"] = "mp_ref_distant_lightning_bolt"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "220"; + var_00 = common_scripts\utility::createexploder("elevator_shaft_lt_pulse"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1019.91,122.864,2600.46),(270,0,0)); + var_00.v["fxid"] = "elevator_shaft_lt_pulse"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "207"; + var_00 = common_scripts\utility::createexploder("falling_water_wide_long_no_dist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-0.243286,203.279,2414.33),(270,180,90)); + var_00.v["fxid"] = "falling_water_wide_long_no_dist"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "205"; + var_00 = common_scripts\utility::createexploder("turretUP_effect"); + var_00 common_scripts\_createfx::set_origin_and_angles((-683.095,-745.539,2152.13),(270,39.3192,140.681)); + var_00.v["fxid"] = "turretUP_effect"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("turretUP_effect"); + var_00 common_scripts\_createfx::set_origin_and_angles((-682.456,-243.35,2151.13),(270,39.3192,140.681)); + var_00.v["fxid"] = "turretUP_effect"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "2"; + var_00 = common_scripts\utility::createexploder("turretUP_effect2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-682,-744.055,2155),(360,270,-90)); + var_00.v["fxid"] = "turretUP_effect2"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("turretUP_effect2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-676.781,-239.79,2155.13),(270,0,0)); + var_00.v["fxid"] = "turretUP_effect2"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "6"; + var_00 = common_scripts\utility::createexploder("turretUP_effect"); + var_00 common_scripts\_createfx::set_origin_and_angles((678.362,-216.108,2152.13),(270,155.172,-155.172)); + var_00.v["fxid"] = "turretUP_effect"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "3"; + var_00 = common_scripts\utility::createexploder("turretUP_effect"); + var_00 common_scripts\_createfx::set_origin_and_angles((682.515,-741.479,2151.13),(270,187.595,172.405)); + var_00.v["fxid"] = "turretUP_effect"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "4"; + var_00 = common_scripts\utility::createexploder("turretUP_effect2"); + var_00 common_scripts\_createfx::set_origin_and_angles((680.942,-736.542,2156.13),(270,0,0)); + var_00.v["fxid"] = "turretUP_effect2"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "8"; + var_00 = common_scripts\utility::createexploder("turretUP_effect2"); + var_00 common_scripts\_createfx::set_origin_and_angles((678.095,-217.238,2154.13),(270,0,0)); + var_00.v["fxid"] = "turretUP_effect2"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_descend_sparks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-168.122,-99.6384,5928.13),(270,0,0)); + var_00.v["fxid"] = "mp_ref_elev_descend_sparks"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_descend_sparks"); + var_00 common_scripts\_createfx::set_origin_and_angles((176.659,-101.641,5928.13),(270,0,0)); + var_00.v["fxid"] = "mp_ref_elev_descend_sparks"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_steam_release"); + var_00 common_scripts\_createfx::set_origin_and_angles((-157.906,-398.673,2264.13),(270,0,90)); + var_00.v["fxid"] = "mp_ref_elev_steam_release"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_steam_release"); + var_00 common_scripts\_createfx::set_origin_and_angles((159.797,-422.513,2264.13),(270,0,90)); + var_00.v["fxid"] = "mp_ref_elev_steam_release"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("electrical_sparks_runner_2sec_30x30"); + var_00 common_scripts\_createfx::set_origin_and_angles((309.379,-526.047,2495.13),(270,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner_2sec_30x30"; + var_00.v["delay"] = 0; + var_00.v["flag"] = "203"; + var_00.v["exploder"] = "203"; + var_00 = common_scripts\utility::createexploder("electrical_sparks_runner_2sec_30x30"); + var_00 common_scripts\_createfx::set_origin_and_angles((-193.503,-534.449,2478.75),(270,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner_2sec_30x30"; + var_00.v["delay"] = 1.5; + var_00.v["flag"] = "203"; + var_00.v["exploder"] = "203"; + var_00 = common_scripts\utility::createexploder("electrical_sparks_runner_2sec_30x30"); + var_00 common_scripts\_createfx::set_origin_and_angles((-443.124,-566.401,2448.13),(270,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner_2sec_30x30"; + var_00.v["delay"] = 3; + var_00.v["flag"] = "203"; + var_00.v["exploder"] = "203"; + var_00 = common_scripts\utility::createexploder("rain_splash_sm_80x6_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-597.567,325.95,2064),(270,0,-32)); + var_00.v["fxid"] = "rain_splash_sm_80x6_lp"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "205"; + var_00 = common_scripts\utility::createexploder("rain_splash_sm_80x6_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-235.218,161.898,1968.63),(270,0,-15)); + var_00.v["fxid"] = "rain_splash_sm_80x6_lp"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "205"; + var_00 = common_scripts\utility::createexploder("rain_splash_sm_80x6_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((235.138,149.148,1969.63),(270,0,14)); + var_00.v["fxid"] = "rain_splash_sm_80x6_lp"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "205"; + var_00 = common_scripts\utility::createexploder("rain_splash_sm_80x6_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((582.277,307.381,2064),(270,180,31)); + var_00.v["fxid"] = "rain_splash_sm_80x6_lp"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "205"; + var_00 = common_scripts\utility::createexploder("rain_splash_sm_80x6_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1.70345,212.174,1964.5),(270,180,90)); + var_00.v["fxid"] = "rain_splash_sm_80x6_lp"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "205"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_steam_release"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1.59952,-609.096,2180.13),(270,0,0)); + var_00.v["fxid"] = "mp_ref_elev_steam_release"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("steam_elev_landing_crawl"); + var_00 common_scripts\_createfx::set_origin_and_angles((155.791,20.8798,2281.68),(0,317,0)); + var_00.v["fxid"] = "steam_elev_landing_crawl"; + var_00.v["delay"] = 0.7; + var_00.v["exploder"] = "206"; + var_00 = common_scripts\utility::createexploder("steam_elev_landing_crawl"); + var_00 common_scripts\_createfx::set_origin_and_angles((-157.386,12.9075,2300.68),(0,221,0)); + var_00.v["fxid"] = "steam_elev_landing_crawl"; + var_00.v["delay"] = 0.7; + var_00.v["exploder"] = "206"; + var_00 = common_scripts\utility::createexploder("steam_elev_landing_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((0.514829,132.081,1965),(270,0,92)); + var_00.v["fxid"] = "steam_elev_landing_rise"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "206"; + var_00 = common_scripts\utility::createexploder("elevator_shaft_lt_pulse"); + var_00 common_scripts\_createfx::set_origin_and_angles((1030.95,122.008,2598.13),(270,0,0)); + var_00.v["fxid"] = "elevator_shaft_lt_pulse"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "207"; + var_00 = common_scripts\utility::createexploder("steam_pipe_burst_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-882.716,-546.892,2342),(324.16,292.408,76.4266)); + var_00.v["fxid"] = "steam_pipe_burst_thin"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "208"; + var_00 = common_scripts\utility::createexploder("steam_pipe_burst_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-882.079,-507.382,2342),(329.89,55.9139,-71.2492)); + var_00.v["fxid"] = "steam_pipe_burst_thin"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "208"; + var_00 = common_scripts\utility::createexploder("steam_pipe_burst_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1056.29,-538.945,2334.2),(328,270.045,89.9382)); + var_00.v["fxid"] = "steam_pipe_burst_thin"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "208"; + var_00 = common_scripts\utility::createexploder("steam_pipe_burst_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1056.99,-501.314,2334.2),(305,89.9118,-89.9089)); + var_00.v["fxid"] = "steam_pipe_burst_thin"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "208"; + var_00 = common_scripts\utility::createexploder("mp_ref_distant_lightning_bolt"); + var_00 common_scripts\_createfx::set_origin_and_angles((10000,5000,6000),(90,0,0)); + var_00.v["fxid"] = "mp_ref_distant_lightning_bolt"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "221"; + var_00 = common_scripts\utility::createexploder("mp_ref_distant_lightning_bolt"); + var_00 common_scripts\_createfx::set_origin_and_angles((10000,0,6000),(90,0,0)); + var_00.v["fxid"] = "mp_ref_distant_lightning_bolt"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "222"; + var_00 = common_scripts\utility::createexploder("mp_ref_distant_lightning_bolt"); + var_00 common_scripts\_createfx::set_origin_and_angles((10000,-5000,6000),(90,0,0)); + var_00.v["fxid"] = "mp_ref_distant_lightning_bolt"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "223"; + var_00 = common_scripts\utility::createexploder("mp_ref_distant_lightning_bolt"); + var_00 common_scripts\_createfx::set_origin_and_angles((9900.12,-11986.5,6000),(90,0,0)); + var_00.v["fxid"] = "mp_ref_distant_lightning_bolt"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "224"; + var_00 = common_scripts\utility::createexploder("mp_ref_distant_lightning_bolt"); + var_00 common_scripts\_createfx::set_origin_and_angles((4900.12,-11986.5,6000),(90,0,-90)); + var_00.v["fxid"] = "mp_ref_distant_lightning_bolt"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "225"; + var_00 = common_scripts\utility::createexploder("mp_ref_distant_lightning_bolt"); + var_00 common_scripts\_createfx::set_origin_and_angles((-99.881,-11986.5,6000),(90,0,-90)); + var_00.v["fxid"] = "mp_ref_distant_lightning_bolt"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "226"; + var_00 = common_scripts\utility::createexploder("mp_ref_distant_lightning_bolt"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5099.88,-11986.5,6000),(90,0,180)); + var_00.v["fxid"] = "mp_ref_distant_lightning_bolt"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "227"; + var_00 = common_scripts\utility::createexploder("mp_ref_distant_lightning_bolt"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11807.4,-3296.8,6037.88),(90,0,180)); + var_00.v["fxid"] = "mp_ref_distant_lightning_bolt"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "228"; + var_00 = common_scripts\utility::createexploder("mp_ref_light_fire_alarm_strobe_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2029.51,-992.458,2188.71),(270,0,0)); + var_00.v["fxid"] = "mp_ref_light_fire_alarm_strobe_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "210"; + var_00 = common_scripts\utility::createexploder("mp_ref_light_fire_alarm_strobe_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2012.3,-1036.5,2188.87),(270,0,0)); + var_00.v["fxid"] = "mp_ref_light_fire_alarm_strobe_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "210"; + var_00 = common_scripts\utility::createexploder("mp_ref_light_fire_alarm_strobe_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2028.96,-1735.46,2188.66),(270,0,0)); + var_00.v["fxid"] = "mp_ref_light_fire_alarm_strobe_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "210"; + var_00 = common_scripts\utility::createexploder("mp_ref_light_fire_alarm_strobe_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1643.55,-1559.58,2176.62),(270,0,0)); + var_00.v["fxid"] = "mp_ref_light_fire_alarm_strobe_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "210"; + var_00 = common_scripts\utility::createexploder("mp_ref_light_fire_alarm_strobe_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1268.49,-1542.83,2176.9),(270,0,0)); + var_00.v["fxid"] = "mp_ref_light_fire_alarm_strobe_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "210"; + var_00 = common_scripts\utility::createexploder("mp_ref_light_fire_alarm_strobe_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1219.45,-1057.42,2176.49),(270,0,0)); + var_00.v["fxid"] = "mp_ref_light_fire_alarm_strobe_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "210"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_frame_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((1013.17,143.108,3078.78),(0,45,0)); + var_00.v["fxid"] = "mp_ref_elev_frame_lightray"; + var_00.v["delay"] = 2.2; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_frame_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((1013.34,143.283,2991.7),(0,45,0)); + var_00.v["fxid"] = "mp_ref_elev_frame_lightray"; + var_00.v["delay"] = 2.4; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_frame_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((1012.44,142.383,2914.39),(0,45,0)); + var_00.v["fxid"] = "mp_ref_elev_frame_lightray"; + var_00.v["delay"] = 2.6; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_frame_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((1013.13,143.074,2836.31),(0,45,0)); + var_00.v["fxid"] = "mp_ref_elev_frame_lightray"; + var_00.v["delay"] = 2.8; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_frame_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((1012.54,142.482,2748.87),(0,45,0)); + var_00.v["fxid"] = "mp_ref_elev_frame_lightray"; + var_00.v["delay"] = 3; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_frame_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((1013.14,143.077,2676.83),(0,45,0)); + var_00.v["fxid"] = "mp_ref_elev_frame_lightray"; + var_00.v["delay"] = 3.2; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_frame_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((1013.42,142.959,2595.09),(0,0,0)); + var_00.v["fxid"] = "mp_ref_elev_frame_lightray"; + var_00.v["delay"] = 3.4; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_frame_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((1013.18,143.196,2514.35),(0,0,0)); + var_00.v["fxid"] = "mp_ref_elev_frame_lightray"; + var_00.v["delay"] = 3.6; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_frame_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((1010.46,139.699,2438.66),(0,0,0)); + var_00.v["fxid"] = "mp_ref_elev_frame_lightray"; + var_00.v["delay"] = 3.8; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_single_lightray_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-424.959,-20.0346,2907.23),(0,198.158,0)); + var_00.v["fxid"] = "mp_ref_elev_single_lightray_1"; + var_00.v["delay"] = 2.6; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_single_lightray_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-369.799,-116.048,2907.38),(0,225.202,0)); + var_00.v["fxid"] = "mp_ref_elev_single_lightray_1"; + var_00.v["delay"] = 2.6; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_single_lightray_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-273.679,-175.232,2908.08),(0,250.909,0)); + var_00.v["fxid"] = "mp_ref_elev_single_lightray_1"; + var_00.v["delay"] = 2.6; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_single_lightray_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-369.869,-116.274,2688.35),(0,225.202,0)); + var_00.v["fxid"] = "mp_ref_elev_single_lightray_1"; + var_00.v["delay"] = 3.2; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_single_lightray_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-423.955,-18.1594,2688.2),(0,225.202,0)); + var_00.v["fxid"] = "mp_ref_elev_single_lightray_1"; + var_00.v["delay"] = 3.2; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_single_lightray_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-275.198,-176.718,2689.06),(0,254.202,0)); + var_00.v["fxid"] = "mp_ref_elev_single_lightray_1"; + var_00.v["delay"] = 3.2; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_single_lightray_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((374.449,-112.96,2908.48),(0,314.318,0)); + var_00.v["fxid"] = "mp_ref_elev_single_lightray_1"; + var_00.v["delay"] = 2.6; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_single_lightray_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((276.851,-173.364,2907.73),(0,284,0)); + var_00.v["fxid"] = "mp_ref_elev_single_lightray_1"; + var_00.v["delay"] = 2.6; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_single_lightray_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((427.604,-17.9465,2908.87),(0,343,0)); + var_00.v["fxid"] = "mp_ref_elev_single_lightray_1"; + var_00.v["delay"] = 2.6; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_single_lightray_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((276.166,-175.272,2689.46),(0,284.318,0)); + var_00.v["fxid"] = "mp_ref_elev_single_lightray_1"; + var_00.v["delay"] = 3.2; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_single_lightray_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((373.756,-120.138,2690.21),(0,313.318,0)); + var_00.v["fxid"] = "mp_ref_elev_single_lightray_1"; + var_00.v["delay"] = 3.2; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_single_lightray_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((430.02,-17.7851,2690.6),(0,342.318,0)); + var_00.v["fxid"] = "mp_ref_elev_single_lightray_1"; + var_00.v["delay"] = 3.2; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("rain_splash_sm_80x6_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((727.942,436.704,2067),(270,0,-132)); + var_00.v["fxid"] = "rain_splash_sm_80x6_lp"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "205"; + var_00 = common_scripts\utility::createexploder("rain_splash_sm_80x6_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((394.735,212.945,2064),(270,0,-156)); + var_00.v["fxid"] = "rain_splash_sm_80x6_lp"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "205"; + var_00 = common_scripts\utility::createexploder("rain_splash_sm_80x6_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-455.051,243.445,2064),(270,0,-25)); + var_00.v["fxid"] = "rain_splash_sm_80x6_lp"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "205"; + var_00 = common_scripts\utility::createexploder("rain_splash_sm_80x6_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-764.331,483.357,2064),(270,180,134)); + var_00.v["fxid"] = "rain_splash_sm_80x6_lp"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "205"; + var_00 = common_scripts\utility::createexploder("mp_ref_panel_lightray_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-610.491,107.07,2751.72),(0,270,0)); + var_00.v["fxid"] = "mp_ref_panel_lightray_lrg"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "215"; + var_00 = common_scripts\utility::createexploder("mp_ref_panel_lightray_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1114.13,1028.47,2713.62),(0,0,0)); + var_00.v["fxid"] = "mp_ref_panel_lightray_lrg"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "215"; + var_00 = common_scripts\utility::createexploder("mp_ref_panel_lightray_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1114.13,1332.85,2711.83),(0,0,0)); + var_00.v["fxid"] = "mp_ref_panel_lightray_lrg"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "215"; + var_00 = common_scripts\utility::createexploder("mp_ref_panel_lightray_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1114.13,1636.76,2710.86),(0,0,0)); + var_00.v["fxid"] = "mp_ref_panel_lightray_lrg"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "215"; + var_00 = common_scripts\utility::createexploder("mp_ref_panel_lightray_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1114.13,1941.12,2711.34),(0,0,0)); + var_00.v["fxid"] = "mp_ref_panel_lightray_lrg"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "215"; + var_00 = common_scripts\utility::createexploder("mp_ref_panel_lightray_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((612.474,115.869,2799.11),(0,270,0)); + var_00.v["fxid"] = "mp_ref_panel_lightray_sm"; + var_00.v["delay"] = 2.8; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_panel_lightray_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1135.84,421.843,2967.91),(11.5,0,0)); + var_00.v["fxid"] = "mp_ref_panel_lightray_sm"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "215"; + var_00 = common_scripts\utility::createexploder("mp_ref_panel_lightray_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1135.84,724.517,2790.95),(11.5,0,0)); + var_00.v["fxid"] = "mp_ref_panel_lightray_sm"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "215"; + var_00 = common_scripts\utility::createexploder("mp_ref_panel_lightray_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1106.13,2048.85,2728.04),(0,180,0)); + var_00.v["fxid"] = "mp_ref_panel_lightray_lrg"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "215"; + var_00 = common_scripts\utility::createexploder("mp_ref_panel_lightray_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1106.13,1744.62,2729.8),(0,180,0)); + var_00.v["fxid"] = "mp_ref_panel_lightray_lrg"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "215"; + var_00 = common_scripts\utility::createexploder("mp_ref_panel_lightray_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1106.13,1441.59,2729.67),(0,180,0)); + var_00.v["fxid"] = "mp_ref_panel_lightray_lrg"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "215"; + var_00 = common_scripts\utility::createexploder("mp_ref_panel_lightray_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1106.13,1136.39,2730.13),(0,180,0)); + var_00.v["fxid"] = "mp_ref_panel_lightray_lrg"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "215"; + var_00 = common_scripts\utility::createexploder("mp_ref_panel_lightray_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1106.13,832.269,2728.78),(0,180,0)); + var_00.v["fxid"] = "mp_ref_panel_lightray_lrg"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "215"; + var_00 = common_scripts\utility::createexploder("mp_ref_panel_lightray_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1106.13,528.545,2728.48),(0,180,0)); + var_00.v["fxid"] = "mp_ref_panel_lightray_lrg"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "215"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_cylinderframe_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((-320.361,98.2875,3515.45),(0,251.215,0)); + var_00.v["fxid"] = "mp_ref_elev_cylinderframe_lightray"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_cylinderframe_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((-571.041,218.591,3514.76),(0,239.741,0)); + var_00.v["fxid"] = "mp_ref_elev_cylinderframe_lightray"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_cylinderframe_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((-788.893,392.336,3513.79),(0,225,0)); + var_00.v["fxid"] = "mp_ref_elev_cylinderframe_lightray"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_cylinderframe_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((-950.237,618.434,3514.33),(0,210.259,0)); + var_00.v["fxid"] = "mp_ref_elev_cylinderframe_lightray"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_cylinderframe_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1045.21,866.601,3514.75),(0,193.228,0)); + var_00.v["fxid"] = "mp_ref_elev_cylinderframe_lightray"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_cylinderframe_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1088.38,1115.64,3513.57),(0,182.578,0)); + var_00.v["fxid"] = "mp_ref_elev_cylinderframe_lightray"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_cylinderframe_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1069.57,1366.28,3514.18),(0,166.772,0)); + var_00.v["fxid"] = "mp_ref_elev_cylinderframe_lightray"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_cylinderframe_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((326.898,100.957,3513.36),(0,288.785,0)); + var_00.v["fxid"] = "mp_ref_elev_cylinderframe_lightray"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_cylinderframe_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((577.002,214.453,3513.19),(0,300.259,0)); + var_00.v["fxid"] = "mp_ref_elev_cylinderframe_lightray"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_cylinderframe_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((787.75,386.471,3512.82),(0,317.964,0)); + var_00.v["fxid"] = "mp_ref_elev_cylinderframe_lightray"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_cylinderframe_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((962.392,614.05,3512.74),(0,329.741,0)); + var_00.v["fxid"] = "mp_ref_elev_cylinderframe_lightray"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_cylinderframe_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((1052.87,870.558,3512.41),(0,346.772,0)); + var_00.v["fxid"] = "mp_ref_elev_cylinderframe_lightray"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_cylinderframe_lightray"); + var_00 common_scripts\_createfx::set_origin_and_angles((1096.68,1122.77,3515.24),(0,357.422,0)); + var_00.v["fxid"] = "mp_ref_elev_cylinderframe_lightray"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("elevator_shaft_steam_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-660.458,139.835,2138.4),(0,292,0)); + var_00.v["fxid"] = "elevator_shaft_steam_light"; + var_00.v["delay"] = 4; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_mechanism_steam_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-464.378,-530.62,2609.44),(270,0,0)); + var_00.v["fxid"] = "mp_ref_mechanism_steam_light"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "212"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_descend_sparks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-92.8701,1217.58,2055.13),(90,180,-180)); + var_00.v["fxid"] = "mp_ref_elev_descend_sparks"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "213"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_descend_sparks"); + var_00 common_scripts\_createfx::set_origin_and_angles((87.733,1225.67,2055.13),(90,180,-180)); + var_00.v["fxid"] = "mp_ref_elev_descend_sparks"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "213"; + var_00 = common_scripts\utility::createexploder("steam_wide_vent_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((1769.59,-12.5231,2065.31),(270,180,0)); + var_00.v["fxid"] = "steam_wide_vent_burst"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "214"; + var_00 = common_scripts\utility::createexploder("steam_wide_vent_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((1587.4,-14.1839,2065.82),(270,180,0)); + var_00.v["fxid"] = "steam_wide_vent_burst"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "214"; + var_00 = common_scripts\utility::createexploder("steam_wide_vent_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((2085.9,-377.167,2035.24),(270,180,0)); + var_00.v["fxid"] = "steam_wide_vent_burst"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "214"; + var_00 = common_scripts\utility::createexploder("steam_wide_vent_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((2085.5,-695.368,2035.24),(270,0,90)); + var_00.v["fxid"] = "steam_wide_vent_burst"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "214"; + var_00 = common_scripts\utility::createexploder("steam_wide_vent_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((2085.15,-814.784,2035.24),(270,0,90)); + var_00.v["fxid"] = "steam_wide_vent_burst"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "214"; + var_00 = common_scripts\utility::createexploder("steam_wide_vent_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((2083.11,-928.766,2035.24),(270,0,90)); + var_00.v["fxid"] = "steam_wide_vent_burst"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "214"; + var_00 = common_scripts\utility::createexploder("steam_wide_vent_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((2086.57,-1095.79,2035.24),(270,0,90)); + var_00.v["fxid"] = "steam_wide_vent_burst"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "214"; + var_00 = common_scripts\utility::createexploder("steam_wide_vent_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((2085.07,-1211,2035.24),(270,0,90)); + var_00.v["fxid"] = "steam_wide_vent_burst"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "214"; + var_00 = common_scripts\utility::createexploder("steam_wide_vent_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((2083.2,-1326.28,2035.24),(270,0,90)); + var_00.v["fxid"] = "steam_wide_vent_burst"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "214"; + var_00 = common_scripts\utility::createexploder("steam_wide_vent_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((852.062,-1489.15,2071.93),(270,0,90)); + var_00.v["fxid"] = "steam_wide_vent_burst"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "214"; + var_00 = common_scripts\utility::createexploder("steam_wide_vent_burst"); + var_00 common_scripts\_createfx::set_origin_and_angles((2327.22,-11.8651,2065.81),(270,180,0)); + var_00.v["fxid"] = "steam_wide_vent_burst"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "214"; + var_00 = common_scripts\utility::createexploder("mp_ref_elev_spring_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((3.17256,1122.72,1850.71),(270,0,0)); + var_00.v["fxid"] = "mp_ref_elev_spring_steam"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "216"; + var_00 = common_scripts\utility::createexploder("shutter_opening_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((866.399,-39.2239,2448.44),(356.783,270,0)); + var_00.v["fxid"] = "shutter_opening_steam"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "217"; + var_00 = common_scripts\utility::createexploder("shutter_opening_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((963.731,-39.1582,2277.61),(356.783,270,0)); + var_00.v["fxid"] = "shutter_opening_steam"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "217"; + var_00 = common_scripts\utility::createexploder("shutter_opening_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((1292.93,-55.5065,2450.88),(354.102,270,0)); + var_00.v["fxid"] = "shutter_opening_steam"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "217"; + var_00 = common_scripts\utility::createexploder("shutter_opening_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((1612.7,-54.9105,2454.01),(356.783,270,0)); + var_00.v["fxid"] = "shutter_opening_steam"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "217"; + var_00 = common_scripts\utility::createexploder("elevator_shaft_steam_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((634.115,111.339,2138.13),(0,251,0)); + var_00.v["fxid"] = "elevator_shaft_steam_light"; + var_00.v["delay"] = 4; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_ref_door_decompress"); + var_00 common_scripts\_createfx::set_origin_and_angles((-654.887,486.578,2067.84),(0,225.279,0)); + var_00.v["fxid"] = "mp_ref_door_decompress"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "218"; + var_00 = common_scripts\utility::createexploder("mp_ref_door_decompress"); + var_00 common_scripts\_createfx::set_origin_and_angles((4.98989,218.29,2276.43),(0,269.779,0)); + var_00.v["fxid"] = "mp_ref_door_decompress"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "218"; + var_00 = common_scripts\utility::createexploder("mp_ref_door_decompress"); + var_00 common_scripts\_createfx::set_origin_and_angles((661.936,490.24,2066.51),(0,314.479,0)); + var_00.v["fxid"] = "mp_ref_door_decompress"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "218"; + var_00 = common_scripts\utility::createexploder("steam_pipe_burst_near"); + var_00 common_scripts\_createfx::set_origin_and_angles((-576.531,501.535,2262.85),(90,0,0)); + var_00.v["fxid"] = "steam_pipe_burst_near"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "219"; + var_00 = common_scripts\utility::createexploder("steam_pipe_burst_near"); + var_00 common_scripts\_createfx::set_origin_and_angles((-635.309,561.929,2263.4),(90,0,0)); + var_00.v["fxid"] = "steam_pipe_burst_near"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "219"; + var_00 = common_scripts\utility::createexploder("steam_pipe_burst_near"); + var_00 common_scripts\_createfx::set_origin_and_angles((640.355,562.722,2263.36),(90,0,0)); + var_00.v["fxid"] = "steam_pipe_burst_near"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "219"; + var_00 = common_scripts\utility::createexploder("steam_pipe_burst_near"); + var_00 common_scripts\_createfx::set_origin_and_angles((584.445,507.556,2263.59),(90,0,0)); + var_00.v["fxid"] = "steam_pipe_burst_near"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "219"; + var_00 = common_scripts\utility::createexploder("steam_pipe_burst_near"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45.8575,316.431,2442.88),(90,0,0)); + var_00.v["fxid"] = "steam_pipe_burst_near"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "219"; + var_00 = common_scripts\utility::createexploder("steam_pipe_burst_near"); + var_00 common_scripts\_createfx::set_origin_and_angles((49.0616,313.474,2442.88),(90,0,0)); + var_00.v["fxid"] = "steam_pipe_burst_near"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "219"; + var_00 = common_scripts\utility::createexploder("steam_pipe_burst_near"); + var_00 common_scripts\_createfx::set_origin_and_angles((-482.262,601.218,2296.98),(90,0,0)); + var_00.v["fxid"] = "steam_pipe_burst_near"; + var_00.v["delay"] = 0.8; + var_00.v["exploder"] = "219"; + var_00 = common_scripts\utility::createexploder("steam_pipe_burst_near"); + var_00 common_scripts\_createfx::set_origin_and_angles((-542.367,656.92,2296.29),(90,0,0)); + var_00.v["fxid"] = "steam_pipe_burst_near"; + var_00.v["delay"] = 0.8; + var_00.v["exploder"] = "219"; + var_00 = common_scripts\utility::createexploder("steam_pipe_burst_near"); + var_00 common_scripts\_createfx::set_origin_and_angles((-396.143,677.188,2297.57),(90,0,0)); + var_00.v["fxid"] = "steam_pipe_burst_near"; + var_00.v["delay"] = 1.6; + var_00.v["exploder"] = "219"; + var_00 = common_scripts\utility::createexploder("steam_pipe_burst_near"); + var_00 common_scripts\_createfx::set_origin_and_angles((-464.209,744.307,2297.57),(90,0,0)); + var_00.v["fxid"] = "steam_pipe_burst_near"; + var_00.v["delay"] = 1.6; + var_00.v["exploder"] = "219"; + var_00 = common_scripts\utility::createexploder("steam_pipe_burst_near"); + var_00 common_scripts\_createfx::set_origin_and_angles((50.1443,408.872,2470.13),(90,0,0)); + var_00.v["fxid"] = "steam_pipe_burst_near"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "219"; + var_00 = common_scripts\utility::createexploder("steam_pipe_burst_near"); + var_00 common_scripts\_createfx::set_origin_and_angles((4.27017,451.037,2470.13),(90,0,0)); + var_00.v["fxid"] = "steam_pipe_burst_near"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "219"; + var_00 = common_scripts\utility::createexploder("steam_pipe_burst_near"); + var_00 common_scripts\_createfx::set_origin_and_angles((-37.8952,406.968,2470.13),(90,0,0)); + var_00.v["fxid"] = "steam_pipe_burst_near"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "219"; + var_00 = common_scripts\utility::createexploder("steam_pipe_burst_near"); + var_00 common_scripts\_createfx::set_origin_and_angles((547.458,659.147,2296.53),(90,0,0)); + var_00.v["fxid"] = "steam_pipe_burst_near"; + var_00.v["delay"] = 0.8; + var_00.v["exploder"] = "219"; + var_00 = common_scripts\utility::createexploder("steam_pipe_burst_near"); + var_00 common_scripts\_createfx::set_origin_and_angles((491.116,599.192,2295.88),(90,0,0)); + var_00.v["fxid"] = "steam_pipe_burst_near"; + var_00.v["delay"] = 0.8; + var_00.v["exploder"] = "219"; + var_00 = common_scripts\utility::createexploder("steam_pipe_burst_near"); + var_00 common_scripts\_createfx::set_origin_and_angles((468.429,746.541,2297.57),(90,0,0)); + var_00.v["fxid"] = "steam_pipe_burst_near"; + var_00.v["delay"] = 1.6; + var_00.v["exploder"] = "219"; + var_00 = common_scripts\utility::createexploder("steam_pipe_burst_near"); + var_00 common_scripts\_createfx::set_origin_and_angles((400.74,678.447,2297.59),(90,0,0)); + var_00.v["fxid"] = "steam_pipe_burst_near"; + var_00.v["delay"] = 1.6; + var_00.v["exploder"] = "219"; + var_00 = common_scripts\utility::createexploder("repulsor_bubble"); + var_00 common_scripts\_createfx::set_origin_and_angles((-602.762,-962.339,2181.13),(352.023,88.071,-0.773713)); + var_00.v["fxid"] = "repulsor_bubble"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1152.64,813.101,2138.04),(270,0,0)); + var_00.v["delay_min"] = 13; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_metal_pings_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1327.95,404.125,2140.47),(270,0,0)); + var_00.v["delay_min"] = 13; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_metal_pings_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1103.76,-1537.75,2061.52),(270,0,0)); + var_00.v["delay_min"] = 13; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_metal_pings_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-555.552,-1220.53,2050.72),(270,0,0)); + var_00.v["delay_min"] = 13; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_metal_pings_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((172.598,16.875,1979.13),(270,0,0)); + var_00.v["delay_min"] = 13; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_metal_pings_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1441.4,-381.962,2146.88),(270,0,0)); + var_00.v["delay_min"] = 13; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_metal_pings_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2179.19,689.644,2278.02),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_elec_beeps_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2124.5,741.431,2117.85),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_elec_beeps_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((251.888,597.852,1654.51),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_metal_movement_large_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((548.577,1108.75,1597),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_metal_movement_large_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-533.76,1007.24,1630.38),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_metal_movement_large_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-412.279,310.075,1774.02),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "emt_metal_movement_large_ext"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((169.99,-906.652,2020.23),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_metal_creak_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-473.768,-1244,2081.32),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_metal_creak_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-395.097,-370.698,2046.47),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_metal_creak_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((177.482,-295.148,1972.83),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_metal_creak_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3293.46,-304.144,1921.27),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_ocean_waves_roll"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2518.28,-2036.19,1851.01),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_ocean_waves_roll"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3340.3,-1523.84,1908.36),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_ocean_waves_roll"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((9.68244,-1558.04,1837.83),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_ocean_waves_roll"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-400.791,-2084.6,1836.79),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_ocean_waves_roll"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1567.48,-1961.91,1840.38),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_ocean_waves_roll"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2316.52,-1649.2,1751.92),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_ocean_waves_roll"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2636.96,-70.738,1760.92),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_ocean_waves_roll"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2065.44,925.079,1934.27),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_ocean_waves_roll"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1518.24,1262.49,1790.08),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_ocean_waves_roll"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2714.15,-1016.36,1813.29),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wave_crashes"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1617.01,-1677.78,1808.46),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wave_crashes"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1324.17,-2108.11,1784.52),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wave_crashes"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((184.812,-1552.01,1807.84),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wave_crashes"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2246.86,-1916.11,1840.56),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wave_crashes"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3211.28,-1849.88,1824.38),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wave_crashes"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2694.54,-2069.57,1810.25),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wave_crashes"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3236.59,-609.716,1874.05),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wave_crashes"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2685.15,319.627,1878.73),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wave_crashes"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2796.27,255.635,1750.59),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_wave_crashes"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2412.12,1204.92,1743.6),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_wave_crashes"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((446.566,-767.026,2036.31),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_metal_creak_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((384.548,-414.328,2135.81),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_metal_creak_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-168.181,-242.778,2157.56),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_metal_creak_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2759.28,-476.13,1698.45),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wave_crashes"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1140.47,-2015.18,1940.68),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_wave_crashes"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1474.93,-238.207,2087.36),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1557.97,374.421,2075.38),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2251.67,-766.629,1961.14),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2290.35,-860.338,2049.27),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1846.12,-283.485,2069.9),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2089.01,-1365.57,2035.24),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1350.13,-1489.26,2149.35),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_metal_creak_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1532.08,-1576.21,2122.96),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_metal_creak_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1642.65,-1114.48,2165.48),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_metal_creak_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1348.14,-859.953,2150.34),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_metal_creak_int"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2221.11,435.125,2097.8),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_sector17_fx.gsc b/AW/PC/maps/createfx/mp_sector17_fx.gsc new file mode 100644 index 0000000..a61f247 --- /dev/null +++ b/AW/PC/maps/createfx/mp_sector17_fx.gsc @@ -0,0 +1,1938 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_sector17_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 97 ms + * Timestamp: 4/22/2024 2:07:46 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((468,2931,1521),(270,0,0)); + var_00.v["soundalias"] = "emt_cicada_slow_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((841,329,1435),(270,0,0)); + var_00.v["soundalias"] = "emt_cicada_slow_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1251,2977,1603),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_wood_creak_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1702,1080,1167),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_wood_creak_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1251,2977,1603),(270,0,0)); + var_00.v["soundalias"] = "emt_cloth_flapping_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1295,2243,1440),(270,0,0)); + var_00.v["soundalias"] = "emt_cloth_flapping_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1202,1371,1529),(270,0,0)); + var_00.v["soundalias"] = "emt_cloth_flapping_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((647,423,1423),(270,0,0)); + var_00.v["soundalias"] = "emt_cloth_flapping_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((50,-592,1254),(270,0,0)); + var_00.v["soundalias"] = "emt_cloth_flapping_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-183,-591,1309),(270,0,0)); + var_00.v["soundalias"] = "emt_cloth_flapping_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-641,-598,1280),(270,0,0)); + var_00.v["soundalias"] = "emt_cloth_flapping_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-905,-510,1520),(270,0,0)); + var_00.v["soundalias"] = "emt_cloth_flapping_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1752,1077,1588),(270,0,0)); + var_00.v["soundalias"] = "emt_cloth_flapping_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1711,1961,1479),(270,0,0)); + var_00.v["soundalias"] = "emt_cloth_flapping_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1692,1963,1479),(270,0,0)); + var_00.v["soundalias"] = "emt_cloth_flapping_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-978,2582,1524),(270,0,0)); + var_00.v["soundalias"] = "emt_cloth_flapping_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((94,2897,1480),(270,0,0)); + var_00.v["soundalias"] = "emt_cloth_flapping_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((594,2880,1536),(270,0,0)); + var_00.v["soundalias"] = "emt_cloth_flapping_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-752,20,1692),(270,0,0)); + var_00.v["soundalias"] = "emt_cloth_flapping_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((322,1361,1711),(270,0,0)); + var_00.v["soundalias"] = "emt_cloth_flapping_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((792,1981,1703),(270,0,0)); + var_00.v["soundalias"] = "emt_cloth_flapping_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-475,1890,1703),(270,0,0)); + var_00.v["soundalias"] = "emt_cloth_flapping_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-304,145,1675),(270,0,0)); + var_00.v["soundalias"] = "emt_cloth_flapping_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1727,881,1200),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1621,769,1200),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1424,768,1200),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1320,657,1200),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1330,-117,1165),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1232,-222,1165),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1076,-226,1170),(270,0,0)); + var_00.v["soundalias"] = "emt_lightbulb_buzz_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((272,632,1157),(270,0,0)); + var_00.v["soundalias"] = "emt_metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-626,2459,1203),(270,0,0)); + var_00.v["soundalias"] = "emt_metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((492,609,1161),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((272,632,1157),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-626,2459,1203),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((589,947,1107),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_grass_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((794,926,1142),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_ground_muff_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((936,867,1232),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_ground_muff_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1058,785,1148),(270,0,0)); + var_00.v["soundalias"] = "emt_fire_crackle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1174,2918,1267),(270,0,0)); + var_00.v["soundalias"] = "emt_smoke_grenade_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((256,-63,1583),(270,0,0)); + var_00.v["soundalias"] = "emt_smoke_grenade_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-473,2204,1181),(270,0,0)); + var_00.v["soundalias"] = "emt_cricket_slow_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((438,1096,1159),(270,0,0)); + var_00.v["soundalias"] = "emt_cricket_slow_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((681,1502,1167),(270,0,0)); + var_00.v["soundalias"] = "emt_flies_pan"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-512,-203,1159),(270,0,0)); + var_00.v["soundalias"] = "emt_flies_annoying"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((724,1897,1167),(270,0,0)); + var_00.v["soundalias"] = "emt_flies_pan"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1318,660,1157),(270,0,0)); + var_00.v["soundalias"] = "emt_flies_annoying"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-135,1331,1187),(270,0,0)); + var_00.v["soundalias"] = "emt_flies_pan"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((252,956,1187),(270,0,0)); + var_00.v["soundalias"] = "emt_flies_annoying"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((199,-37,1168),(270,0,0)); + var_00.v["soundalias"] = "emt_flies_pan"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-701,612,1318),(270,0,0)); + var_00.v["soundalias"] = "emt_flies_annoying"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-854,1263,1318),(270,0,0)); + var_00.v["soundalias"] = "emt_flies_pan"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1509,1144,1162),(270,0,0)); + var_00.v["soundalias"] = "emt_flies_annoying"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1632,773,1188),(270,0,0)); + var_00.v["soundalias"] = "emt_flies_pan"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1067,-222,1125),(270,0,0)); + var_00.v["soundalias"] = "emt_flies_annoying"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-7,-583,1170),(270,0,0)); + var_00.v["soundalias"] = "emt_flies_pan"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((473,-241,1159),(270,0,0)); + var_00.v["soundalias"] = "emt_flies_annoying"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1056,1430,1201),(270,0,0)); + var_00.v["soundalias"] = "emt_flies_pan"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4,152,1300),(270,0,0)); + var_00.v["soundalias"] = "emt_mp_wood_creak_lp"; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1728.14,877.391,1219),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1619.32,765.59,1220.24),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1420.72,766.492,1218.61),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1319.94,655.414,1219.36),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1236.72,-222.469,1177.46),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_rays_moving_01_nosteam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1384.2,229.422,1224.69),(354.29,352.085,-39.3491)); + var_00.v["fxid"] = "light_rays_moving_01_nosteam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_l"); + var_00 common_scripts\_createfx::set_origin_and_angles((48.5154,2887.78,1583.96),(270,0,154)); + var_00.v["fxid"] = "battlefield_smoke_l"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_l"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1751.88,2067.45,1597.23),(270,0,154)); + var_00.v["fxid"] = "battlefield_smoke_l"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-386.041,2364.74,1639.88),(270,0,0)); + var_00.v["fxid"] = "bla_falling_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((228.836,1943.46,1639.88),(270,0,0)); + var_00.v["fxid"] = "bla_falling_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((407.233,2069.95,1573.91),(270,0,0)); + var_00.v["fxid"] = "bla_falling_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_l"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2349.11,942.871,1739.13),(270,0,154)); + var_00.v["fxid"] = "battlefield_smoke_l"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((358.557,1683.51,1575.67),(270,0,0)); + var_00.v["fxid"] = "bla_falling_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-760.37,531.323,1519.88),(270,0,0)); + var_00.v["fxid"] = "bla_falling_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-387.952,126.261,1577.83),(270,0,0)); + var_00.v["fxid"] = "bla_falling_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-565.56,341.993,1556.73),(270,0,0)); + var_00.v["fxid"] = "bla_falling_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-707.583,82.5452,1476.94),(270,0,0)); + var_00.v["fxid"] = "bla_falling_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-241.341,340.724,1279.88),(270,0,0)); + var_00.v["fxid"] = "bla_falling_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1429.52,479.257,1303.88),(270,0,0)); + var_00.v["fxid"] = "bla_falling_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1541.98,9.80359,1303.88),(270,0,0)); + var_00.v["fxid"] = "bla_falling_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1183.64,166.245,1303.88),(270,0,0)); + var_00.v["fxid"] = "bla_falling_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1618.29,753.696,1223.88),(270,0,90)); + var_00.v["fxid"] = "bla_falling_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45.4578,2535.79,1303.88),(270,0,90)); + var_00.v["fxid"] = "bla_falling_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((41.6319,2741.6,1303.88),(270,0,90)); + var_00.v["fxid"] = "bla_falling_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((842.939,1619.75,1287.88),(270,0,90)); + var_00.v["fxid"] = "bla_falling_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((595.131,1817.22,1279.88),(270,0,90)); + var_00.v["fxid"] = "bla_falling_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-942.277,-228.622,1255.88),(270,0,90)); + var_00.v["fxid"] = "bla_falling_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("pine_needles_blowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1594.56,2421.14,1785.71),(270,0,-132)); + var_00.v["fxid"] = "pine_needles_blowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("pine_needles_blowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1683.94,3343.95,1773.67),(306,318,-90)); + var_00.v["fxid"] = "pine_needles_blowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("pine_needles_blowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1812.15,944.166,1617.13),(270,0,-132)); + var_00.v["fxid"] = "pine_needles_blowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-641.276,965.999,1148),(270,0,152)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-896.363,969.088,1148),(270,0,152)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-168.452,899.686,1148),(270,0,152)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-75.9897,477.582,1104),(270,0,152)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((333.512,469.248,1104),(270,0,152)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-257.124,187.817,1104),(270,0,152)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1.65082,1211.04,1148),(270,0,152)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-94.7326,1486.69,1145.3),(270,0,152)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-517.093,1670.67,1148),(270,0,152)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-840.557,1649.55,1148),(270,0,152)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-825.384,2111.68,1148),(270,0,152)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((699.342,1200.05,1103.44),(270,0,152)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((456.073,943.525,1098.83),(270,0,152)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((620.773,602.332,1101.44),(270,0,152)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ground_grassdirt_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1019.45,1069.14,1102.9),(270,0,152)); + var_00.v["fxid"] = "mp_ground_grassdirt_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-315.645,1836.88,1639.88),(270,0,0)); + var_00.v["fxid"] = "bla_falling_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1634.95,1409.02,1275.23),(270,180,46)); + var_00.v["fxid"] = "dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-569.761,2631.99,1271.98),(270,180,46)); + var_00.v["fxid"] = "dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82.4642,1217.4,1768.13),(270,180,46)); + var_00.v["fxid"] = "dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((884.479,884.018,1226.65),(270,180,46)); + var_00.v["fxid"] = "dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((355.79,694.076,1228.36),(270,180,46)); + var_00.v["fxid"] = "dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-613.483,-334.634,1258.13),(270,180,46)); + var_00.v["fxid"] = "dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-813.621,97.1708,1656.63),(270,180,46)); + var_00.v["fxid"] = "dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1797.55,936.531,1814.13),(270,180,46)); + var_00.v["fxid"] = "dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-710.973,1280.02,1612.13),(270,180,46)); + var_00.v["fxid"] = "dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((714.055,1594.34,1673.13),(270,180,46)); + var_00.v["fxid"] = "dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-420.533,1869.06,1673.13),(270,180,46)); + var_00.v["fxid"] = "dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1100.75,-397.827,1814.13),(270,180,46)); + var_00.v["fxid"] = "dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_l"); + var_00 common_scripts\_createfx::set_origin_and_angles((-280.923,1281.41,1768.13),(270,0,154)); + var_00.v["fxid"] = "battlefield_smoke_l"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((831.37,1959.63,1104),(270,0,0)); + var_00.v["fxid"] = "battlefield_smoke_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((632.57,1423.1,1112.13),(270,0,0)); + var_00.v["fxid"] = "battlefield_smoke_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((723.002,30.6599,1512.13),(270,180,46)); + var_00.v["fxid"] = "dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((802.576,2777.51,1256.13),(270,180,46)); + var_00.v["fxid"] = "dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-963.968,2819.3,1148),(270,180,46)); + var_00.v["fxid"] = "dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1389.73,2185.03,1286.44),(270,180,46)); + var_00.v["fxid"] = "dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1006.16,1535.62,1148),(270,180,46)); + var_00.v["fxid"] = "dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-42.1035,1044,1148),(270,180,46)); + var_00.v["fxid"] = "dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((720.352,1339.06,1360.7),(270,180,46)); + var_00.v["fxid"] = "dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1617.12,-112.618,1636.13),(270,180,46)); + var_00.v["fxid"] = "dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2336.49,269.369,1632.13),(270,180,46)); + var_00.v["fxid"] = "dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2213.95,-241.143,1328.13),(270,180,46)); + var_00.v["fxid"] = "dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoke_red_column_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1958.76,-517.52,1480.13),(0,224,0)); + var_00.v["fxid"] = "smoke_red_column_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("poison_gas_cell_fill"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1291.21,2334.01,1148.13),(0,0,0)); + var_00.v["fxid"] = "poison_gas_cell_fill"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_vent_poison_gas_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1298.39,2085.75,1262.83),(359.034,181,0.258722)); + var_00.v["fxid"] = "mp_climate_vent_poison_gas_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_vent_poison_gas_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1135.68,2087.03,1260.9),(359.034,181,0.258722)); + var_00.v["fxid"] = "mp_climate_vent_poison_gas_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_vent_poison_gas_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1063.15,2159.57,1261.14),(359.741,271,-0.967825)); + var_00.v["fxid"] = "mp_climate_vent_poison_gas_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_vent_poison_gas_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1063.15,2442.87,1261.1),(2.54535,258.953,-0.892265)); + var_00.v["fxid"] = "mp_climate_vent_poison_gas_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoke_burnt_vehicle_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((957.838,883.305,1214.69),(0,0,0)); + var_00.v["fxid"] = "smoke_burnt_vehicle_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoke_burnt_vehicle_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((852.864,724.437,1168.64),(0,0,0)); + var_00.v["fxid"] = "smoke_burnt_vehicle_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoke_burnt_vehicle_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((528.854,366.208,1087.93),(0,0,0)); + var_00.v["fxid"] = "smoke_burnt_vehicle_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoke_yellow_column_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1172.88,2916.96,1257.13),(351.788,221.077,1.30088)); + var_00.v["fxid"] = "smoke_yellow_column_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("pine_needles_blowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46.9375,3096.41,1713.18),(294.677,297.888,-104.478)); + var_00.v["fxid"] = "pine_needles_blowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("pine_needles_blowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((181.448,2908.64,1752.39),(298.044,299.854,-107.195)); + var_00.v["fxid"] = "pine_needles_blowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_blowing_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-81.5991,3179.94,1665.33),(37,266,0)); + var_00.v["fxid"] = "leaves_blowing_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_blowing_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((379.228,3043.35,1715.72),(20,266,0)); + var_00.v["fxid"] = "leaves_blowing_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_flashlight_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1254.07,836.295,1133.37),(270,0,0)); + var_00.v["fxid"] = "light_flashlight_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_flashlight_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((453.984,-295.115,1150.3),(270,0,0)); + var_00.v["fxid"] = "light_flashlight_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_flashlight_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1999.78,235.969,1373.92),(270,0,0)); + var_00.v["fxid"] = "light_flashlight_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_vent_poison_gas_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1377.86,2092.16,1148),(359.034,181,0.258722)); + var_00.v["fxid"] = "mp_climate_vent_poison_gas_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_climate_vent_poison_gas_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1065.28,2376.44,1148),(359.034,181,0.258722)); + var_00.v["fxid"] = "mp_climate_vent_poison_gas_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-718.303,3127.71,1145.56),(274.023,66.7794,141.769)); + var_00.v["fxid"] = "dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-750.24,3578.37,1151.92),(274.023,66.7794,141.769)); + var_00.v["fxid"] = "dust_blowing_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_debris_blowing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-788.421,2884.4,1148),(0,316,0)); + var_00.v["fxid"] = "dust_debris_blowing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_debris_blowing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-941.227,2602.78,1148),(0,316,0)); + var_00.v["fxid"] = "dust_debris_blowing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_debris_blowing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1000.36,2416.54,1148),(0,316,0)); + var_00.v["fxid"] = "dust_debris_blowing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_debris_blowing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1022.31,2210.95,1148),(0,316,0)); + var_00.v["fxid"] = "dust_debris_blowing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_debris_blowing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-996.339,2045.26,1148),(0,316,0)); + var_00.v["fxid"] = "dust_debris_blowing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_debris_blowing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1164.19,2036.63,1148),(0,316,0)); + var_00.v["fxid"] = "dust_debris_blowing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_debris_blowing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1403.85,2042.1,1148),(0,316,0)); + var_00.v["fxid"] = "dust_debris_blowing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_debris_blowing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1584.03,2031.13,1148),(0,316,0)); + var_00.v["fxid"] = "dust_debris_blowing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_debris_blowing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-720.523,3420.34,1141.15),(0,316,0)); + var_00.v["fxid"] = "dust_debris_blowing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_smk_s_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((273.301,616.095,1143.67),(270,180,38)); + var_00.v["fxid"] = "fire_lp_smk_s_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bagh_sun_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((344.567,863.492,2465.04),(270,0,0)); + var_00.v["fxid"] = "bagh_sun_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_rays_moving_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-279.549,2378.95,1438.15),(306.892,336.332,77.3874)); + var_00.v["fxid"] = "light_rays_moving_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_rays_moving_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8.64116,2390.63,1432.79),(347.335,327.891,82.2795)); + var_00.v["fxid"] = "light_rays_moving_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_rays_moving_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-173.667,2074.79,1570.76),(347.335,327.891,82.2795)); + var_00.v["fxid"] = "light_rays_moving_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_debris_blowing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((125.507,2763.48,1104),(0,316,0)); + var_00.v["fxid"] = "dust_debris_blowing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_debris_blowing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((289.903,2900.98,1129.87),(0,316,0)); + var_00.v["fxid"] = "dust_debris_blowing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_debris_blowing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((613.217,2599.61,1161),(0,316,0)); + var_00.v["fxid"] = "dust_debris_blowing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_debris_blowing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((702.794,2293.03,1118.98),(1,319,17)); + var_00.v["fxid"] = "dust_debris_blowing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_debris_blowing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((827.299,2126.08,1107),(0,316,0)); + var_00.v["fxid"] = "dust_debris_blowing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_debris_blowing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((883.395,1940.32,1105),(0,316,0)); + var_00.v["fxid"] = "dust_debris_blowing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_debris_blowing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((872.849,1740.94,1106),(0,316,0)); + var_00.v["fxid"] = "dust_debris_blowing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_debris_blowing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((861.703,1542.96,1104),(0,316,0)); + var_00.v["fxid"] = "dust_debris_blowing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_debris_blowing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((866.307,1388.53,1104),(0,316,0)); + var_00.v["fxid"] = "dust_debris_blowing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_debris_blowing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((926.482,1233.45,1102.79),(0,316,0)); + var_00.v["fxid"] = "dust_debris_blowing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_debris_blowing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((656.937,1066.42,1106.65),(0,316,0)); + var_00.v["fxid"] = "dust_debris_blowing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_debris_blowing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((412.034,486.617,1109.99),(0,316,0)); + var_00.v["fxid"] = "dust_debris_blowing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_debris_blowing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((588.989,801.948,1108),(0,316,0)); + var_00.v["fxid"] = "dust_debris_blowing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_debris_blowing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-743.203,-135.505,1107),(0,316,0)); + var_00.v["fxid"] = "dust_debris_blowing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_debris_blowing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-448.084,-164.373,1105),(0,316,0)); + var_00.v["fxid"] = "dust_debris_blowing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_debris_blowing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((72.125,-578.429,1188.06),(0,316,0)); + var_00.v["fxid"] = "dust_debris_blowing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_debris_blowing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-180.854,-299.963,1105),(0,316,0)); + var_00.v["fxid"] = "dust_debris_blowing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("brg_dust_mote_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((319.521,-145.098,1151.46),(270,0,0)); + var_00.v["fxid"] = "brg_dust_mote_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("brg_dust_mote_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((-525.281,335.598,1296.98),(270,0,0)); + var_00.v["fxid"] = "brg_dust_mote_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("brg_dust_mote_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((652.888,1660.51,1157.12),(270,0,0)); + var_00.v["fxid"] = "brg_dust_mote_ambient_interior"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((653.791,1451.84,1282.88),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoke_burnt_vehicle_tall"); + var_00 common_scripts\_createfx::set_origin_and_angles((384.418,654.969,1220.77),(0,0,0)); + var_00.v["fxid"] = "smoke_burnt_vehicle_tall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoke_burnt_vehicle_tall"); + var_00 common_scripts\_createfx::set_origin_and_angles((460.823,600.357,1137.74),(0,0,0)); + var_00.v["fxid"] = "smoke_burnt_vehicle_tall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((553.724,149.186,1538.44),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((555.086,397.017,1537.5),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((796.836,635.352,1536.66),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((955.081,636.118,1537.91),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1090.46,772.222,1539.13),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1090.69,1016.24,1540.73),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1088.88,1261.23,1535.87),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1218.78,1396.6,1537.36),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1215.72,1680.58,1539.13),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1218.94,1969.05,1536.96),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1216.88,2260.47,1536.62),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1215.87,2546.79,1595.31),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1218.85,2807.8,1594.58),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1240.93,2984.45,1594.12),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((988.187,2961.7,1593.89),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((708.043,2962.48,1595.91),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((571.986,2849.65,1594.47),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((316.222,2852.56,1594.21),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((75.7936,2850.33,1595.99),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-171.519,2849.92,1594.69),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-428.585,2850.84,1595.13),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-556.359,2978.4,1595.5),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-555.976,3130.13,1594.59),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-738.952,3131.49,1594.81),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-738.925,2963.6,1595.1),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-954.931,2723.98,1595.52),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-954.951,2572.32,1595.05),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1083.04,2443.11,1594.79),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1403.55,2475.07,1595.32),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1371.09,2106.73,1595.22),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1500.33,1978.92,1595.48),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1666.95,2004.82,1594.82),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1642.84,1651.72,1594.52),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1754.89,1635.98,1594.82),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1754.92,1553.57,1594.78),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1754.96,1106.15,1595.65),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1754.97,1020.76,1594.32),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-923.228,-503.099,1539.46),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-667.742,-502.946,1540.36),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-427.464,-501.641,1539.94),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-188.573,-502.986,1539.1),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((67.8085,-502.933,1539.04),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3528.93,2928.05,3884.25),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6845.92,12802.7,5932.59),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8045.6,11852.6,5934.41),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11123.2,9677.22,4972.3),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12076.8,10879.7,4973.65),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12077.3,10817.6,4750.75),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11124.9,9741.41,4750.18),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11180.5,9676.9,4659.91),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12022,10880.6,4659.55),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7984.9,11850.9,5713.37),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8047.27,11907.5,5622.99),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6907.11,12803.6,5714.24),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6844.9,12749.2,5622.23),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5992.6,16260,4972.09),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5932.71,16261.4,4750.07),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5994.26,16317.3,4659.86),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4854.16,17213.8,4751.25),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4791.87,17158.7,4656.81),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4791.19,17213.3,4972.12),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_flare_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6628.66,11694.1,5066.31),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_flare_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_flare_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6621.6,13064,5069.33),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_flare_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_flare_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8242.99,11677.3,5069.4),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_flare_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_bright_flashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2527.3,712.433,2857.05),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_bright_flashing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_smk_s_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((483.922,612.207,1115.95),(270,180,38)); + var_00.v["fxid"] = "fire_lp_smk_s_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_smk_s_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((524.707,607.774,1133.91),(270,180,38)); + var_00.v["fxid"] = "fire_lp_smk_s_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_smk_s_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((944.717,856.01,1218.1),(270,180,38)); + var_00.v["fxid"] = "fire_lp_smk_s_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_smk_s_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((1067.14,769.671,1137.82),(270,180,38)); + var_00.v["fxid"] = "fire_lp_smk_s_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_smk_s_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((801.711,915.197,1128.34),(270,180,38)); + var_00.v["fxid"] = "fire_lp_smk_s_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_smk_s_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((590.879,942.845,1091.71),(270,180,38)); + var_00.v["fxid"] = "fire_lp_smk_s_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_smk_s_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-584.063,2441.12,1184.14),(270,180,38)); + var_00.v["fxid"] = "fire_lp_smk_s_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_smk_s_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-620.903,2451.96,1185.85),(270,180,38)); + var_00.v["fxid"] = "fire_lp_smk_s_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_smk_s_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((-641.935,2458.76,1187.73),(270,180,38)); + var_00.v["fxid"] = "fire_lp_smk_s_wide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoke_burnt_vehicle_tall"); + var_00 common_scripts\_createfx::set_origin_and_angles((-611.983,2418.36,1198.17),(0,0,0)); + var_00.v["fxid"] = "smoke_burnt_vehicle_tall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_birds_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1088.1,3773.59,2285.89),(358.9,268.639,-95.0583)); + var_00.v["fxid"] = "mp_gb_birds_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoke_green_column_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((258.766,-58.2244,1512.13),(0,210,0)); + var_00.v["fxid"] = "smoke_green_column_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("embers_low_lp_med_sector17"); + var_00 common_scripts\_createfx::set_origin_and_angles((305.019,608.368,1155.83),(285,136,90)); + var_00.v["fxid"] = "embers_low_lp_med_sector17"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("embers_low_lp_med_sector17"); + var_00 common_scripts\_createfx::set_origin_and_angles((507.615,582.094,1147.22),(285,136,90)); + var_00.v["fxid"] = "embers_low_lp_med_sector17"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("embers_low_lp_med_sector17"); + var_00 common_scripts\_createfx::set_origin_and_angles((625.962,926.781,1121.73),(285,136,90)); + var_00.v["fxid"] = "embers_low_lp_med_sector17"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("embers_low_lp_med_sector17"); + var_00 common_scripts\_createfx::set_origin_and_angles((837.113,873.694,1155.94),(285,136,90)); + var_00.v["fxid"] = "embers_low_lp_med_sector17"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("embers_low_lp_med_sector17"); + var_00 common_scripts\_createfx::set_origin_and_angles((955.544,821.727,1252.81),(285,136,90)); + var_00.v["fxid"] = "embers_low_lp_med_sector17"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1073.69,-222,1179.68),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_beacon_red_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1326.88,-115.915,1176.03),(270,0,0)); + var_00.v["fxid"] = "light_beacon_red_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("bla_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((800.262,2055.67,1287.88),(270,0,131)); + var_00.v["fxid"] = "bla_falling_debris"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-762,3127,1236),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_insect_locust"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((205,913,1162),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_insect_locust"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-466,3021,1188),(270,0,0)); + var_00.v["delay_min"] = 0.5; + var_00.v["delay_max"] = 1.5; + var_00.v["soundalias"] = "emt_insect_chatter_fast"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-762,3127,1236),(270,0,0)); + var_00.v["delay_min"] = 11; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_insect_clicky"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6,-858,1314),(270,0,0)); + var_00.v["delay_min"] = 11; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_insect_clicky"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-875,784,1175),(270,0,0)); + var_00.v["delay_min"] = 0.5; + var_00.v["delay_max"] = 1.5; + var_00.v["soundalias"] = "emt_insect_chatter_fast"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-827,1704,1190),(270,0,0)); + var_00.v["delay_min"] = 0.5; + var_00.v["delay_max"] = 1.5; + var_00.v["soundalias"] = "emt_insect_chatter_fast"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6,-858,1314),(270,0,0)); + var_00.v["delay_min"] = 0.5; + var_00.v["delay_max"] = 1.5; + var_00.v["soundalias"] = "emt_insect_chatter_fast"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((88,750,1123),(270,0,0)); + var_00.v["delay_min"] = 0.5; + var_00.v["delay_max"] = 1.5; + var_00.v["soundalias"] = "emt_insect_chatter_fast"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-548,1497,1192),(270,0,0)); + var_00.v["delay_min"] = 0.5; + var_00.v["delay_max"] = 1.5; + var_00.v["soundalias"] = "emt_insect_chatter_fast"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-762,3127,1236),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-538,3125,1236),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((401,2274,1245),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1055,2493,1245),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((62,-340,1232),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((254,156,1232),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-137,456,1232),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((588,1250,1249),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_fence_metal_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1869,1326,1231),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 13; + var_00.v["soundalias"] = "emt_metal_settling"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-620,2413,1208),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-620,2413,1208),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "emt_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((939,879,1230),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 17; + var_00.v["soundalias"] = "emt_metal_settling_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((495,644,1157),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1096,2178,1159),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_metal_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1495,1509,1227),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_metal_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1133,1731,1271),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_metal_stress_large_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-449,-344,1159),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_metal_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1746,1322,1203),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_metal_stress_large_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1748,1326,1203),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_metal_stress_large_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-523,2134,1342),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_metal_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-435,1768,1344),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_metal_stress_large_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-708,1393,1247),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_metal_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-771,1250,1451),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_metal_stress_large_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-141,1407,1206),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_metal_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5,1254,1445),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_metal_stress_large_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-82,1061,1247),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_metal_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-652,1071,1204),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "emt_metal_stress_large_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-344,1258,1598),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_metal_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-445,1246,1359),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "emt_metal_stress_large_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-259,678,1191),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_metal_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-857,702,1263),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_metal_stress_large_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1672,3643,2038),(270,0,0)); + var_00.v["delay_min"] = 12; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_bird_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((618,-1565,1754),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "emt_bird_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2345,2544,1754),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 18; + var_00.v["soundalias"] = "emt_bird_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-8,3637,1754),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 22; + var_00.v["soundalias"] = "emt_bird_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((317,3157,1628),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 19; + var_00.v["soundalias"] = "emt_bird_flutter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1612,1833,1532),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 19; + var_00.v["soundalias"] = "emt_bird_flutter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((842,187,1532),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 19; + var_00.v["soundalias"] = "emt_bird_flutter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-814,-1114,1586),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 19; + var_00.v["soundalias"] = "emt_bird_flutter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2022,2237,1636),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "emt_bird_flutter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-786,3171,1186),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_cricket_chirps_close"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((207,159,1144),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_cricket_chirps_close"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-913,1037,1159),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_cricket_chirps_close"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((152,811,1115),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-905,1120,1159),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-481,3240,1203),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_cricket_chirps_long"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-660,3224,1205),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((646,163,1144),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-614,3189,1182),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_cricket_whistle_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((841,594,1117),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_insect_chatter_slow"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-463,2275,1188),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_insect_chatter_slow"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-614,3189,1182),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_insect_chatter_slow"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-738,3155,1216),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_insect_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((575,1237,1144),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_insect_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-963,1649,1188),(270,0,0)); + var_00.v["delay_min"] = 11; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_insect_clicky"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-821,2176,1162),(270,0,0)); + var_00.v["delay_min"] = 11; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_insect_clicky"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((430,1031,1115),(270,0,0)); + var_00.v["delay_min"] = 11; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_insect_clicky"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((135,1657,1188),(270,0,0)); + var_00.v["delay_min"] = 11; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_insect_clicky"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1028,830,1122),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_insect_locust"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-913,804,1159),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_insect_locust"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((644,320,1126),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_insect_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-474,1843,1187),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_insect_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-659,1161,1188),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_insect_chirps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((137,1661,1187),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_cricket_chirps_close"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-257,640,1175),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_cricket_chirps_close"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1148,802,1115),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-288,449,1144),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-260,-842,1290),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-709,-988,1290),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_cricket_chirps_long"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((574,1311,1167),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((523,686,1146),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((57,-581,1167),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-253,609,1396),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-912,-581,1167),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-912,-63,1167),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-763,-404,1167),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1209,-143,1095),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1409,-306,1095),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1265,249,1071),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((734,1763,1163),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1609,-13,1105),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1033,2738,1210),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-855,2476,1210),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1049,2152,1212),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1809,846,1317),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1571,683,1137),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1249,847,1148),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1436,1879,1210),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1487,1891,1210),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1048,1447,1271),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1471,1294,1212),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1731,2056,1198),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1152,3055,1322),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((770,2789,1322),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1389,1665,1210),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1244,1645,1330),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((345,2287,1163),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-67,2621,1163),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1487,1891,1210),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-153,1132,1359),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((80,2627,1163),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((563,2241,1163),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((786,2730,1322),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1545,961,1391),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1132,2119,1330),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_gnb_wind_whistle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((484,2505,1225),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2,2564,1367),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_gnb_wind_whistle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((624,1288,1367),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-524,-399,1323),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_gnb_wind_whistle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-970,-217,1391),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((408,2250,1367),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-399,2995,1900),(270,0,0)); + var_00.v["delay_min"] = 1.5; + var_00.v["delay_max"] = 3.5; + var_00.v["soundalias"] = "emt_flag_flap"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1437,824,2007),(270,0,0)); + var_00.v["delay_min"] = 1.5; + var_00.v["delay_max"] = 3.5; + var_00.v["soundalias"] = "emt_flag_flap"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((291,123,1246),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((91,-53,1246),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((223,-322,1246),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((485,-123,1246),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-824,2260,1212),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-972,1643,1204),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((697,1512,1367),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1037,1522,1210),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1244,1375,1210),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1239,1377,1210),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((216,869,1152),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1237,-325,1398),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-664,421,1318),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1420,887,1391),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1604,-24,1391),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1410,474,1391),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((609,1316,1167),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1033,1711,1344),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1190,1038,1144),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1730,1068,1168),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1365,2113,1331),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-633,312,1316),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1294,835,1143),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1123,-289,1087),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-263,67,1165),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((724,1339,1368),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((403,-290,1159),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((154,95,1159),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((329,153,1165),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((432,1746,1346),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((34,1934,1367),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((33,1865,1346),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-364,2108,1365),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-108,2113,1367),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-18,1912,1367),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-638,1384,1362),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-529,1876,1357),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-386,1253,1314),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((793,1921,1351),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-98,149,1300),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 3; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-364,587,1311),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((128,2377,1375),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-798,119,1311),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "emt_wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-596,321,1319),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-489,321,1319),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-688,352,1320),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-588,75,1307),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((18,2946,1378),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-379,-764,1285),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "emt_cricket_whistle_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((242,-123,1164),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((474,104,1164),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "emt_plastic_stress_large"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((653,1451,1116),(270,0,0)); + var_00.v["delay_min"] = 0.5; + var_00.v["delay_max"] = 1.5; + var_00.v["soundalias"] = "emt_drip_puddle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((660,1414,1116),(270,0,0)); + var_00.v["delay_min"] = 0.5; + var_00.v["delay_max"] = 1.5; + var_00.v["soundalias"] = "emt_drip_puddle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((626,1453,1116),(270,0,0)); + var_00.v["delay_min"] = 0.5; + var_00.v["delay_max"] = 1.5; + var_00.v["soundalias"] = "emt_drip_puddle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((682,1441,1116),(270,0,0)); + var_00.v["delay_min"] = 0.5; + var_00.v["delay_max"] = 1.5; + var_00.v["soundalias"] = "emt_drip_puddle"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_seoul2_fx.gsc b/AW/PC/maps/createfx/mp_seoul2_fx.gsc new file mode 100644 index 0000000..9bdd521 --- /dev/null +++ b/AW/PC/maps/createfx/mp_seoul2_fx.gsc @@ -0,0 +1,1303 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_seoul2_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 85 ms + * Timestamp: 4/22/2024 2:07:47 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1435.76,-708.589,367.04),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1481.2,-324.075,191.39),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-924.883,590.289,47.2041),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((655.897,550.694,135.875),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_plastic_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((580.772,1451.4,202.375),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_plastic_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((473.22,673.75,135.875),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_plastic_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1646.74,1900.91,257.792),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_high_wind_ext_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((152.885,-734.927,364.582),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_water_hum_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3490.51,1692.44,173.42),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_high_wind_ext_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3489.24,2097.71,145.125),(270,0,0)); + var_00.v["soundalias"] = "emt_canvas_flap_high_wind_ext_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1521.84,764.401,319.102),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_plastic_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1942.31,330.573,175.369),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_rattle_plastic_small_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1687.61,1113.64,157.912),(270,0,0)); + var_00.v["soundalias"] = "emt_electric_buzz_hum_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1845.72,1401.45,300.7),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2408.69,927.044,280.575),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2907.37,-346.142,214.869),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-252.126,898.125,288.35),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3546.61,1953.54,262.522),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1782.61,-239.266,202.447),(270,0,0)); + var_00.v["soundalias"] = "emt_flourescent_buzz_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1997.37,865.381,214.988),(270,0,0)); + var_00.v["soundalias"] = "emt_vent_water_air_huge_int_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2372.54,538.273,553.875),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_upper_window_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2566.63,1168.66,600),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_upper_window_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3128.9,1486.08,437.473),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_upper_window_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2100.63,1891.88,353.959),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_upper_window_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((198.123,-396.875,235.537),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_upper_window_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((732.019,-242.457,194.625),(270,0,0)); + var_00.v["soundalias"] = "emt_wind_upper_window_lp"; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m_thick"); + var_00 common_scripts\_createfx::set_origin_and_angles((68.8785,2162.29,8.8026),(270,0,-47)); + var_00.v["fxid"] = "battlefield_smoke_m_thick"; + var_00.v["delay"] = -2; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-566.602,90.9161,-2.79649),(270,0,0)); + var_00.v["fxid"] = "battlefield_smoke_m"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1934.94,879.064,63.3984),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1954.32,948.801,141.808),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m_thick"); + var_00 common_scripts\_createfx::set_origin_and_angles((-485.041,213.375,551.082),(4.98848,274.015,177.349)); + var_00.v["fxid"] = "battlefield_smoke_m_thick"; + var_00.v["delay"] = -3; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_wind_blowing_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1291.33,1292.14,388.625),(302.652,53.9002,-70.5357)); + var_00.v["fxid"] = "mp_seo2_wind_blowing_debris"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_wind_blowing_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((24.1354,-263.836,190.053),(299,95,-90)); + var_00.v["fxid"] = "mp_seo2_wind_blowing_debris"; + var_00.v["delay"] = -4; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_wind_blowing_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2850.21,-118.141,243.195),(297,90,-114)); + var_00.v["fxid"] = "mp_seo2_wind_blowing_debris"; + var_00.v["delay"] = -5.5; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_wind_blowing_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2659.17,1373.74,226),(289.829,77.9912,-86.8299)); + var_00.v["fxid"] = "mp_seo2_wind_blowing_debris"; + var_00.v["delay"] = -4.5; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_wind_blowing_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-36.3312,1528.47,177.505),(298,100,-90)); + var_00.v["fxid"] = "mp_seo2_wind_blowing_debris"; + var_00.v["delay"] = -4; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_wind_blowing_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1717.55,1719.33,258.749),(270,0,-27)); + var_00.v["fxid"] = "mp_seo2_wind_blowing_debris"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_wind_blowing_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1179.72,-276.908,370.866),(294,82,-90)); + var_00.v["fxid"] = "mp_seo2_wind_blowing_debris"; + var_00.v["delay"] = -3.5; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_wind_blowing_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((3.25044,813.363,2),(270,0,6)); + var_00.v["fxid"] = "mp_seo2_wind_blowing_debris"; + var_00.v["delay"] = -2.5; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((-618.962,542.166,141.553),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_ambient_interior"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_ambient_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1655.4,-558.309,246.125),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_ambient_ground"; + var_00.v["delay"] = -2.25; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_ambient_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1325.63,494.85,361.125),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_ambient_ground"; + var_00.v["delay"] = -1.25; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_ambient_ground_soft"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2092.1,1333.18,249.477),(270,0,-2)); + var_00.v["fxid"] = "mp_seo2_dust_ambient_ground_soft"; + var_00.v["delay"] = -3.25; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_ambient_ground_soft"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2443.32,1107.08,255.625),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_ambient_ground_soft"; + var_00.v["delay"] = -2.25; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_ambient_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((-425.952,2119.55,221.125),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_ambient_ground"; + var_00.v["delay"] = -1.25; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_ambient_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((-421.874,2197.32,352.266),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_ambient_interior"; + var_00.v["delay"] = -2.55; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_ambient_ground_soft"); + var_00 common_scripts\_createfx::set_origin_and_angles((399.863,1398.34,24.625),(274,237,123)); + var_00.v["fxid"] = "mp_seo2_dust_ambient_ground_soft"; + var_00.v["delay"] = -1.25; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_ambient_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((455.126,1062.46,31.625),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_ambient_ground"; + var_00.v["delay"] = -1.25; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1881.68,854.152,436.7),(29,180,-180)); + var_00.v["fxid"] = "mp_seo2_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((514.714,1413.05,139.473),(306.48,80.8493,-80.8496)); + var_00.v["fxid"] = "mp_seo2_sparks_runner"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((514.714,1393.05,139.473),(306.48,80.8493,-80.8496)); + var_00.v["fxid"] = "mp_seo2_sparks_runner"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "cg"; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1057.6,146.923,318.088),(45,180,-180)); + var_00.v["fxid"] = "mp_seo2_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_steam_fan_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((1223.61,185.25,446.195),(273,180,180)); + var_00.v["fxid"] = "mp_seo2_steam_fan_small"; + var_00.v["delay"] = -2; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m_thick"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1341.57,-418.097,536.201),(2.89814,1.2527,-175.151)); + var_00.v["fxid"] = "battlefield_smoke_m_thick"; + var_00.v["delay"] = -4.5; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_wind_blowing_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3451,1816.07,147.213),(270,0,-27)); + var_00.v["fxid"] = "mp_seo2_wind_blowing_debris"; + var_00.v["delay"] = -5.25; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_ambient_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((-472.04,444.642,10.125),(270,0,-36)); + var_00.v["fxid"] = "mp_seo2_dust_ambient_ground"; + var_00.v["delay"] = -3; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_sewer_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1892.83,540.483,83.6421),(270,180,86)); + var_00.v["fxid"] = "mp_seo2_sewer_steam"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_sewer_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1151.98,988.291,29.5437),(270,0,-115)); + var_00.v["fxid"] = "mp_seo2_sewer_steam"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1410.65,81.0131,34.7233),(276,354,0)); + var_00.v["fxid"] = "battlefield_smoke_m"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((484.965,708.621,123.875),(306.48,80.8493,-83.8497)); + var_00.v["fxid"] = "mp_seo2_sparks_runner"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((400.965,689.621,123.875),(306.48,80.8493,-83.8497)); + var_00.v["fxid"] = "mp_seo2_sparks_runner"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "cg"; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m_thick"); + var_00 common_scripts\_createfx::set_origin_and_angles((-881.409,2018.93,146.846),(270,0,0)); + var_00.v["fxid"] = "battlefield_smoke_m_thick"; + var_00.v["delay"] = -1.35; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m_thick"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1654.88,2111.76,158.094),(270,0,0)); + var_00.v["fxid"] = "battlefield_smoke_m_thick"; + var_00.v["delay"] = -2.25; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_fire_lp_clocktower_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((397.925,4490.83,275.745),(325.319,140.87,31.0472)); + var_00.v["fxid"] = "mp_bigb_fire_lp_clocktower_smoke"; + var_00.v["delay"] = -6.25; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-842.466,888.993,659.596),(353.237,103.465,88.7084)); + var_00.v["fxid"] = "fire_lp_s_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((855.767,-262.13,413.265),(344.218,91.8475,102.741)); + var_00.v["fxid"] = "fire_lp_s_no_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_godray_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-974.412,-258.88,579.125),(304.89,247.941,95.0331)); + var_00.v["fxid"] = "mp_seo2_godray_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_godray_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2850.63,-284.048,630.084),(313.289,213.062,133.485)); + var_00.v["fxid"] = "mp_seo2_godray_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_godray_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2657.17,1397.96,567.858),(322.735,223.891,111.434)); + var_00.v["fxid"] = "mp_seo2_godray_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_godray_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1903.41,1951.9,582.22),(308.297,227.049,125.028)); + var_00.v["fxid"] = "mp_seo2_godray_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_godray_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1771.16,857.705,692.018),(316.778,226.044,114.498)); + var_00.v["fxid"] = "mp_seo2_godray_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_godray_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1202.02,1100.71,35.6396),(46.0289,57.2336,-119.509)); + var_00.v["fxid"] = "mp_seo2_godray_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_godray_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-587.371,1571.17,-11.4835),(48.1276,31.2718,84.9883)); + var_00.v["fxid"] = "mp_seo2_godray_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_sewer_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1750.88,932.119,75.9792),(270,0,-115)); + var_00.v["fxid"] = "mp_seo2_sewer_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_godray_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((420.733,121.237,-118),(49.5687,20.8343,133.695)); + var_00.v["fxid"] = "mp_seo2_godray_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_steam_fan_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1941.98,331.79,176.507),(0,0,0)); + var_00.v["fxid"] = "mp_seo2_steam_fan_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_steam_fan_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1524.08,762.022,322.285),(0,90,0)); + var_00.v["fxid"] = "mp_seo2_steam_fan_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_steam_fan_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((152.472,-736.632,361.953),(0,180,0)); + var_00.v["fxid"] = "mp_seo2_steam_fan_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_wind_blowing_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2812.9,704.927,207.117),(289.829,77.9912,-86.8299)); + var_00.v["fxid"] = "mp_seo2_wind_blowing_debris"; + var_00.v["delay"] = -4.5; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_wind_blowing_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2033.54,158.627,475.125),(289.829,77.9912,-86.8299)); + var_00.v["fxid"] = "mp_seo2_wind_blowing_debris"; + var_00.v["delay"] = -4.5; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((134.959,367.097,411.795),(45,180,-180)); + var_00.v["fxid"] = "mp_seo2_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2914.1,1225.54,374.183),(12,0,0)); + var_00.v["fxid"] = "mp_seo2_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_sunflare_mp_seoul2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2113.19,-506.069,1449.77),(270,0,0)); + var_00.v["fxid"] = "fx_sunflare_mp_seoul2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1739.94,1071.43,110.995),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smk_low_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((132.053,1998.78,-3),(270,0,-40)); + var_00.v["fxid"] = "smk_low_linger"; + var_00.v["delay"] = -3; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1256.32,998.013,107.33),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-641.97,347.975,236.125),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-869.486,576.385,56.125),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1035.89,346.522,225.125),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-478.536,470.761,52.125),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-628.572,521.833,283.105),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1875.64,1346.51,324.625),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2219.97,1353.84,281.037),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2464.2,1139.54,277.625),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1775.02,-388.643,270.125),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((438.601,672.69,53.526),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((532.033,1101.78,45.625),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((453.953,1527.63,55.625),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-601.381,2169.56,278.834),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-366.846,2372.57,275.007),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1163.61,1361.9,53.2466),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-870.25,1669.15,70.1433),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1939.44,1643.61,83.6554),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-343.608,637.959,239.125),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_sewer_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3041.88,1005.85,683.141),(270,180,79)); + var_00.v["fxid"] = "mp_seo2_sewer_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_light_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-265.599,1998.98,347.559),(270,0,44)); + var_00.v["fxid"] = "dust_falling_light_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m_thick"); + var_00 common_scripts\_createfx::set_origin_and_angles((-926.101,896.125,543.973),(359.012,93.9899,-0.347741)); + var_00.v["fxid"] = "battlefield_smoke_m_thick"; + var_00.v["delay"] = -3; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_falling_debris_s_rnr_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-662.45,923.844,497.819),(270,0,-174)); + var_00.v["fxid"] = "mp_seo2_dust_falling_debris_s_rnr_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_light_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1776.26,-375.697,408.875),(270,0,44)); + var_00.v["fxid"] = "dust_falling_light_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_sewer_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-608.491,1951.97,702.467),(270,180,79)); + var_00.v["fxid"] = "mp_seo2_sewer_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_godray_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-778.097,1007.45,650.742),(312.808,237.939,-44.366)); + var_00.v["fxid"] = "mp_seo2_godray_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_sewer_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-141.512,-943.572,679.681),(270,180,106)); + var_00.v["fxid"] = "mp_seo2_sewer_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_godray_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((82.6438,255.725,-109),(44.5056,33.5351,86.3405)); + var_00.v["fxid"] = "mp_seo2_godray_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_godray_dusty_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((245.188,1288.51,-44),(46.6835,42.1427,124.672)); + var_00.v["fxid"] = "mp_seo2_godray_dusty_thin"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_godray_dusty_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-965.848,1895.19,-7.95365),(53.8893,42.3775,125.062)); + var_00.v["fxid"] = "mp_seo2_godray_dusty_thin"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_godray_dusty_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-777.596,264.342,-35.875),(52.9933,35.3786,119.136)); + var_00.v["fxid"] = "mp_seo2_godray_dusty_thin"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_godray_dusty_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-340.712,289.451,139.125),(49.708,37.9365,121.569)); + var_00.v["fxid"] = "mp_seo2_godray_dusty_thin"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_godray_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3132.58,-629.174,780.347),(317.625,209.961,-106.756)); + var_00.v["fxid"] = "mp_seo2_godray_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2345.05,1352.03,386.263),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((373.711,659.18,129.005),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((603.592,375.756,125.875),(270,180,104)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2027.37,1345.21,393.457),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-106.374,435.309,359.808),(270,0,92)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1531.74,-215.881,539.593),(287,284,79)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_sheet_a_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1061.19,162.585,665.58),(275.627,28.1245,-19.7563)); + var_00.v["fxid"] = "plastic_shreds_sheet_a_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_sheet_b_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2834.39,840.662,558.339),(356.148,181.835,-162.022)); + var_00.v["fxid"] = "plastic_shreds_sheet_b_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_sheet_b_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1980.2,213.739,563.459),(345.951,86.1242,-79.565)); + var_00.v["fxid"] = "plastic_shreds_sheet_b_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_sheet_b_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((105.516,845.927,460.787),(341.109,355.25,-48.8616)); + var_00.v["fxid"] = "plastic_shreds_sheet_b_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_godray_dusty"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2462.46,-140.303,57),(40.4354,39.7049,-70.9633)); + var_00.v["fxid"] = "mp_seo2_godray_dusty"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_sheet_b_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-285.354,120.952,316.34),(354.158,308.189,-47.7283)); + var_00.v["fxid"] = "plastic_shreds_sheet_b_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2717.81,-312.967,552.165),(270,0,85)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_hanging_e_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1658.63,864.871,433.784),(270,0,80)); + var_00.v["fxid"] = "plastic_shreds_hanging_e_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_sheet_b_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1553.75,823.03,426.361),(3.23517,338.188,-59.5072)); + var_00.v["fxid"] = "plastic_shreds_sheet_b_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_sheet_a_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1653.36,1914.54,311.129),(285.93,166.205,-75.0461)); + var_00.v["fxid"] = "plastic_shreds_sheet_a_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_steam_fan_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1220.99,735.145,132.086),(270,0,-3)); + var_00.v["fxid"] = "mp_seo2_steam_fan_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1752.48,-369.73,405.875),(270,180,93)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1793.67,-642.813,405.875),(270,0,176)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_falling_light_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-524.958,2385.64,406.875),(270,0,13)); + var_00.v["fxid"] = "dust_falling_light_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((360.695,673.265,125),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((604.211,1207.88,35.2071),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((549.025,1277.7,162.375),(270,0,-160)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_ambient_ground_soft"); + var_00 common_scripts\_createfx::set_origin_and_angles((-336.02,535.814,240.125),(270,0,-87)); + var_00.v["fxid"] = "mp_seo2_dust_ambient_ground_soft"; + var_00.v["delay"] = -3; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_ambient_ground_soft"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1419.26,359.252,194.125),(270,0,-36)); + var_00.v["fxid"] = "mp_seo2_dust_ambient_ground_soft"; + var_00.v["delay"] = -3; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_ambient_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((-915.346,361.654,207.125),(270,0,-87)); + var_00.v["fxid"] = "mp_seo2_dust_ambient_ground"; + var_00.v["delay"] = -3; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_ambient_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((-256.507,1351.7,11),(270,0,-87)); + var_00.v["fxid"] = "mp_seo2_dust_ambient_ground"; + var_00.v["delay"] = -3; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_ambient_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1818.06,1077.75,98.9032),(270,0,-87)); + var_00.v["fxid"] = "mp_seo2_dust_ambient_ground"; + var_00.v["delay"] = -3; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1891.4,1121.57,376.84),(270,0,-87)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_no_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14.5897,3070,160.732),(318.584,170.092,146.123)); + var_00.v["fxid"] = "fire_lp_m_no_light"; + var_00.v["delay"] = -0.75; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_godray_dusty_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1416,290.019,161.125),(48.6315,40.5148,123.52)); + var_00.v["fxid"] = "mp_seo2_godray_dusty_thin"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-490.479,1931.8,232.5),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-449.795,1904.58,228.838),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -6; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-571.113,2187.24,240.005),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -6; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-510.625,2487.08,271.543),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-639.53,2508.91,257.527),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -6; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-570.31,2298.29,249.317),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1322.71,-407.715,23.3661),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1140.63,994.569,30.3069),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1343.35,1038.6,98.6532),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1384.67,1019.93,116.907),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_falling_debris_s_rnr_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-798.709,579.62,153.734),(270,0,-86)); + var_00.v["fxid"] = "mp_seo2_dust_falling_debris_s_rnr_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_falling_debris_s_rnr_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((391.489,772.695,131.875),(270,0,-178)); + var_00.v["fxid"] = "mp_seo2_dust_falling_debris_s_rnr_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_falling_debris_s_rnr_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((512.629,1612.88,175.375),(270,0,74)); + var_00.v["fxid"] = "mp_seo2_dust_falling_debris_s_rnr_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-131.976,1028.77,399.037),(29,180,-180)); + var_00.v["fxid"] = "mp_seo2_sparks_runner"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-131.976,1028.77,542.037),(29,180,-180)); + var_00.v["fxid"] = "mp_seo2_sparks_runner"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "cg"; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-596.922,2066.99,318.912),(29,180,-180)); + var_00.v["fxid"] = "mp_seo2_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2960.12,-698.763,453.674),(356.41,75.4259,166.459)); + var_00.v["fxid"] = "mp_seo2_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2362.19,510.062,479.445),(10.3573,222.859,-170.529)); + var_00.v["fxid"] = "mp_seo2_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1712.33,-232.409,579.602),(356.41,75.4259,166.459)); + var_00.v["fxid"] = "mp_seo2_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((153.6,-515.359,169.043),(11.9681,211.768,-172.683)); + var_00.v["fxid"] = "mp_seo2_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_godray_dusty_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-326.187,647.011,-14.875),(47.1281,35.6284,119.842)); + var_00.v["fxid"] = "mp_seo2_godray_dusty_thin"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_ambient_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1265.14,1312.95,55.544),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_ambient_ground"; + var_00.v["delay"] = -1.25; + var_00 = common_scripts\utility::createoneshoteffect("insects_light_moths_soft_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((579.306,945.953,141.446),(345.46,298.117,97.6535)); + var_00.v["fxid"] = "insects_light_moths_soft_complex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_light_moths_soft_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((549.352,1606.43,35.7154),(345.46,298.117,97.6535)); + var_00.v["fxid"] = "insects_light_moths_soft_complex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_light_moths_soft_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1879.4,1386.31,293.651),(343.524,224.875,107.014)); + var_00.v["fxid"] = "insects_light_moths_soft_complex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3062.74,1627.74,59.3094),(270,0,1)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2053.31,-251.711,96.521),(270,0,1)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1213.87,-369.403,12.8538),(270,0,1)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((71.6978,-602.976,0.379725),(270,0,1)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_leak_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((310.01,702.932,135.875),(270,0,0)); + var_00.v["fxid"] = "water_curtain_leak_thin"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((393.043,1281.96,157.375),(270,0,-160)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -8; + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_leak_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((500.534,1570.52,182.221),(270,0,0)); + var_00.v["fxid"] = "water_curtain_leak_thin"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_leak_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1998.21,1283.98,400.375),(270,0,0)); + var_00.v["fxid"] = "water_curtain_leak_thin"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_leak_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2347.11,987.226,398.154),(270,0,0)); + var_00.v["fxid"] = "water_curtain_leak_thin"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_leak_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1147.45,337.172,419.222),(270,0,0)); + var_00.v["fxid"] = "water_curtain_leak_thin"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_leak_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1795.85,-357.415,405.875),(270,0,0)); + var_00.v["fxid"] = "water_curtain_leak_thin"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_falling_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1161.05,1926.97,468.463),(281.13,238.092,178.849)); + var_00.v["fxid"] = "mp_seo2_falling_leaves_runner"; + var_00.v["delay"] = -3; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_falling_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1555.84,1935.72,467.884),(281.13,238.093,-170.152)); + var_00.v["fxid"] = "mp_seo2_falling_leaves_runner"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_falling_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3166.5,2229.45,505.373),(281.13,238.092,178.849)); + var_00.v["fxid"] = "mp_seo2_falling_leaves_runner"; + var_00.v["delay"] = -3; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_falling_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3504.03,2200.13,621.01),(281.13,238.092,178.849)); + var_00.v["fxid"] = "mp_seo2_falling_leaves_runner"; + var_00.v["delay"] = -3; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_falling_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3552.16,1620.24,609.366),(284.893,62.9524,166.862)); + var_00.v["fxid"] = "mp_seo2_falling_leaves_runner"; + var_00.v["delay"] = -3; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3155.95,1840.47,72.6687),(270,0,0)); + var_00.v["fxid"] = "battlefield_smoke_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_sewer_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3251.13,1328.57,667.12),(270,180,106)); + var_00.v["fxid"] = "mp_seo2_sewer_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_vista_lp_lrg_blacksmk_thick"); + var_00 common_scripts\_createfx::set_origin_and_angles((3423.39,-2814.57,248.893),(290,270,90)); + var_00.v["fxid"] = "fire_vista_lp_lrg_blacksmk_thick"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2948.12,-272.313,98),(270,0,1)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-91.3242,1976.26,-2.71965),(270,0,1)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_leak_thin"); + var_00 common_scripts\_createfx::set_origin_and_angles((-948.464,203.296,333.238),(277.682,48.7346,-50.138)); + var_00.v["fxid"] = "water_curtain_leak_thin"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_straight_lp_slw_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((626.163,824.052,1.92341),(0,270,-141)); + var_00.v["fxid"] = "roach_flock_straight_lp_slw_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_straight_lp_slw_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((622.704,1642.92,-0.433968),(0,180,162)); + var_00.v["fxid"] = "roach_flock_straight_lp_slw_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_straight_lp_slw_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((289.788,1202.9,170.257),(0,270,27)); + var_00.v["fxid"] = "roach_flock_straight_lp_slw_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_straight_lp_slw_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1014.87,347.736,131.208),(0,0,61)); + var_00.v["fxid"] = "roach_flock_straight_lp_slw_02"; + var_00.v["delay"] = -7; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_straight_lp_slw_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-815.313,455.026,316),(90,0,44)); + var_00.v["fxid"] = "roach_flock_straight_lp_slw_02"; + var_00.v["delay"] = -7; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_straight_lp_slw_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1105.86,788.044,149.345),(0,180,13)); + var_00.v["fxid"] = "roach_flock_straight_lp_slw_02"; + var_00.v["delay"] = -7; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_straight_lp_slw_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1997.38,899.885,250.377),(0,0,15)); + var_00.v["fxid"] = "roach_flock_straight_lp_slw_02"; + var_00.v["delay"] = -7; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_straight_lp_slw_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1418.12,1179.09,30.6153),(0,90,-154)); + var_00.v["fxid"] = "roach_flock_straight_lp_slw_02"; + var_00.v["delay"] = -7; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_straight_lp_slw_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-549.813,2287.77,403.875),(90,1.94149,61.9411)); + var_00.v["fxid"] = "roach_flock_straight_lp_slw_02"; + var_00.v["delay"] = -7; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_straight_lp_slw_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-321.162,2430.93,352.019),(0,270,0)); + var_00.v["fxid"] = "roach_flock_straight_lp_slw_02"; + var_00.v["delay"] = -7; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_straight_lp_slw_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-220.741,2272.46,405.875),(90,359.702,-14.2976)); + var_00.v["fxid"] = "roach_flock_straight_lp_slw_02"; + var_00.v["delay"] = -7; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_straight_lp_slw_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1882.61,-278.865,370.169),(0,270,47)); + var_00.v["fxid"] = "roach_flock_straight_lp_slw_02"; + var_00.v["delay"] = -7; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_straight_lp_slw_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1838.12,-498.577,404.875),(90,0.275458,175.275)); + var_00.v["fxid"] = "roach_flock_straight_lp_slw_02"; + var_00.v["delay"] = -7; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_straight_lp_slw_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-560.78,880.726,198.134),(0,270,-98)); + var_00.v["fxid"] = "roach_flock_straight_lp_slw_02"; + var_00.v["delay"] = -7; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_straight_lp_slw_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-749.498,1057.43,150.943),(0,180,32)); + var_00.v["fxid"] = "roach_flock_straight_lp_slw_02"; + var_00.v["delay"] = -7; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_ambient_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((-857.077,978.888,25),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_ambient_ground"; + var_00.v["delay"] = -3; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1897.95,1081.11,400.375),(90,0.895174,-25.1048)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1869.5,1102.67,400.375),(90,0,34)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("pigeon_flock_vista_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4825.94,3537.11,1022.63),(270,0,-45)); + var_00.v["fxid"] = "pigeon_flock_vista_runner_lp"; + var_00.v["delay"] = -2; + var_00 = common_scripts\utility::createoneshoteffect("pigeon_flock_vista_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1522.67,-1355.77,1160.63),(270,0,-36)); + var_00.v["fxid"] = "pigeon_flock_vista_runner_lp"; + var_00.v["delay"] = -2; + var_00 = common_scripts\utility::createoneshoteffect("pigeon_flock_vista_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1554.5,3123,2013.63),(270,0,42)); + var_00.v["fxid"] = "pigeon_flock_vista_runner_lp"; + var_00.v["delay"] = -2; + var_00 = common_scripts\utility::createoneshoteffect("pigeon_flock_vista_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-548.382,3128.41,2061.63),(270,0,52)); + var_00.v["fxid"] = "pigeon_flock_vista_runner_lp"; + var_00.v["delay"] = -2; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_ground_dust_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1073.3,1151.05,362.625),(270,0,-91)); + var_00.v["fxid"] = "mp_seo2_ground_dust_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("pigeon_flock_vista_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4778.25,818.263,784.095),(270.202,8.62334,-16.986)); + var_00.v["fxid"] = "pigeon_flock_vista_runner_lp"; + var_00.v["delay"] = -2; + var_00 = common_scripts\utility::createoneshoteffect("smoke_pillar_black_medium_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1897.33,7053.17,164.484),(302.453,155.215,-158.713)); + var_00.v["fxid"] = "smoke_pillar_black_medium_slow"; + var_00.v["delay"] = -6.25; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1002.08,166.704,452.025),(4.98848,274.015,177.349)); + var_00.v["fxid"] = "battlefield_smoke_m"; + var_00.v["delay"] = -3; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2529.88,107.606,99),(270,0,0)); + var_00.v["fxid"] = "battlefield_smoke_m"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("smk_stack_single_01_lp_med_unlit_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7769.39,-441.542,1634.72),(270,180,-86)); + var_00.v["fxid"] = "smk_stack_single_01_lp_med_unlit_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smk_stacks_lp_med_unlit_d_rev"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6684.69,8269.51,681.073),(270,0,0)); + var_00.v["fxid"] = "smk_stacks_lp_med_unlit_d_rev"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smk_stacks_lp_med_unlit_d_rev"); + var_00 common_scripts\_createfx::set_origin_and_angles((2599.11,7841.64,3887.97),(312,215,90)); + var_00.v["fxid"] = "smk_stacks_lp_med_unlit_d_rev"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smk_stack_single_02_lp_med_unlit_c"); + var_00 common_scripts\_createfx::set_origin_and_angles((4870.13,575.13,873.695),(270,0,-91)); + var_00.v["fxid"] = "smk_stack_single_02_lp_med_unlit_c"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_straight_lp_slw_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1066.25,697.721,311.313),(0,180,46)); + var_00.v["fxid"] = "roach_flock_straight_lp_slw_02"; + var_00.v["delay"] = -7; + var_00 = common_scripts\utility::createoneshoteffect("roach_flock_straight_lp_slw_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1575.07,734.879,201.269),(0,270,180)); + var_00.v["fxid"] = "roach_flock_straight_lp_slw_02"; + var_00.v["delay"] = -7; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_falling_debris_s_rnr_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-397.163,287.304,316.875),(90,0,-28)); + var_00.v["fxid"] = "mp_seo2_dust_falling_debris_s_rnr_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_falling_debris_s_rnr_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1511.3,427.659,382.875),(270,0,-44)); + var_00.v["fxid"] = "mp_seo2_dust_falling_debris_s_rnr_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m_thick"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1361.98,2663.38,364.783),(0,263.991,0)); + var_00.v["fxid"] = "battlefield_smoke_m_thick"; + var_00.v["delay"] = -1.35; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m_thick"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1688.04,2676.88,329.473),(0,270,0)); + var_00.v["fxid"] = "battlefield_smoke_m_thick"; + var_00.v["delay"] = -1.35; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_ground_dust_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1655.38,637.109,571.891),(1,179,90)); + var_00.v["fxid"] = "mp_seo2_ground_dust_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_ground_dust_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2853.74,792.34,87.1481),(273.602,122.693,146.464)); + var_00.v["fxid"] = "mp_seo2_ground_dust_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_ground_dust_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2150.23,1575.63,191.596),(270,0,-64)); + var_00.v["fxid"] = "mp_seo2_ground_dust_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_ground_dust_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1576.27,1572.86,181.987),(270,0,-64)); + var_00.v["fxid"] = "mp_seo2_ground_dust_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_ground_dust_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-964.799,1599.07,146.353),(270,0,-77)); + var_00.v["fxid"] = "mp_seo2_ground_dust_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_ground_dust_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-453.786,1552.37,124.369),(270,0,-70)); + var_00.v["fxid"] = "mp_seo2_ground_dust_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_ground_dust_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-786.748,1121.73,191.625),(270,0,-86)); + var_00.v["fxid"] = "mp_seo2_ground_dust_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_ground_dust_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1574.45,1131.75,222.625),(270,0,-91)); + var_00.v["fxid"] = "mp_seo2_ground_dust_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_ground_dust_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1730.25,221.362,228.125),(280,89,-180)); + var_00.v["fxid"] = "mp_seo2_ground_dust_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_ground_dust_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2243.88,218.662,272.125),(270,0,-91)); + var_00.v["fxid"] = "mp_seo2_ground_dust_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_ground_dust_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1322.35,1239.84,365.625),(270,0,-91)); + var_00.v["fxid"] = "mp_seo2_ground_dust_loop_runner"; + var_00.v["delay"] = -9; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_ground_dust_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-61.2969,260.12,-4),(270,180,77)); + var_00.v["fxid"] = "mp_seo2_ground_dust_loop_runner"; + var_00.v["delay"] = -9; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_ground_dust_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-968.344,-291.994,470.125),(273.602,122.693,142.464)); + var_00.v["fxid"] = "mp_seo2_ground_dust_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_ground_dust_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2575.12,1134.72,438.016),(0,180,92)); + var_00.v["fxid"] = "mp_seo2_ground_dust_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_ambient_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((-917.304,-224.741,77.125),(274.219,174.716,90.8398)); + var_00.v["fxid"] = "mp_seo2_dust_ambient_ground"; + var_00.v["delay"] = -3; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-763.608,-149.351,152),(90,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -8; + var_00 = common_scripts\utility::createoneshoteffect("smk_stack_single_02_lp_med_unlit_c"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8367.33,2781.29,624.58),(283.378,35.128,-153.184)); + var_00.v["fxid"] = "smk_stack_single_02_lp_med_unlit_c"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2688.67,1870.06,54.383),(270,0,0)); + var_00.v["fxid"] = "battlefield_smoke_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_ambient_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((505.409,1911.07,17),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_ambient_ground"; + var_00.v["delay"] = -1.25; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_ground_dust_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4252.77,1494.3,173.782),(270,0,-79)); + var_00.v["fxid"] = "mp_seo2_ground_dust_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_falling_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3480.97,1680.36,486.753),(281.13,238.095,117.845)); + var_00.v["fxid"] = "mp_seo2_falling_leaves_runner"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_ground_dust_thick_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3730.58,1449.88,167.566),(270,0,-70)); + var_00.v["fxid"] = "mp_seo2_ground_dust_thick_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("pigeon_flock_vista_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1532.79,-1194.01,1735.33),(275.504,81.9153,-55.0446)); + var_00.v["fxid"] = "pigeon_flock_vista_runner_lp"; + var_00.v["delay"] = -2; + var_00 = common_scripts\utility::createoneshoteffect("plastic_shreds_sheet_a_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((678.398,159.823,590.835),(274.584,29.1019,-24.7191)); + var_00.v["fxid"] = "plastic_shreds_sheet_a_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_bigb_fire_lp_clocktower_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1516.26,-5015.21,241.193),(325.319,140.87,31.0472)); + var_00.v["fxid"] = "mp_bigb_fire_lp_clocktower_smoke"; + var_00.v["delay"] = -6.25; + var_00 = common_scripts\utility::createoneshoteffect("smk_stacks_lp_med_unlit_d"); + var_00 common_scripts\_createfx::set_origin_and_angles((3152.38,-7810.05,2700.88),(282.931,87.7898,-64.6051)); + var_00.v["fxid"] = "smk_stacks_lp_med_unlit_d"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smk_stacks_lp_med_unlit_d"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2675.5,-6261.16,5176.89),(282.931,87.7897,-100.605)); + var_00.v["fxid"] = "smk_stacks_lp_med_unlit_d"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smk_stack_single_01_lp_med_unlit_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((3403.63,-5661.05,2715.62),(270,0,-149)); + var_00.v["fxid"] = "smk_stack_single_01_lp_med_unlit_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_ambient_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((601.304,682.222,6.125),(274,237,90)); + var_00.v["fxid"] = "mp_seo2_dust_ambient_ground"; + var_00.v["delay"] = -1.25; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((55.5559,-640.149,8.65983),(270,0,0)); + var_00.v["fxid"] = "battlefield_smoke_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_ambient_ground_soft"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1248.39,637.427,191.125),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_ambient_ground_soft"; + var_00.v["delay"] = -1.25; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2549.03,-637.917,425.875),(270,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2391.93,-646.337,425.875),(270,0,-25)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_ambient_ground_signs"); + var_00 common_scripts\_createfx::set_origin_and_angles((-816.049,553.532,7.55701),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_ambient_ground_signs"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_ambient_ground_signs"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1913.18,1374.9,252.625),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_ambient_ground_signs"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_ambient_ground_signs"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2445.05,945.788,248.625),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_ambient_ground_signs"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_ambient_ground_signs"); + var_00 common_scripts\_createfx::set_origin_and_angles((514.577,1607.61,10.625),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_ambient_ground_signs"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_ambient_ground_signs"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1754.4,-375.265,249.593),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_ambient_ground_signs"; + var_00.v["delay"] = -2.5; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_ambient_ground_signs"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1445.4,-647.142,254.125),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_ambient_ground_signs"; + var_00.v["delay"] = -2.5; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_ambient_ground_signs"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1936.66,-588.027,253.125),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_ambient_ground_signs"; + var_00.v["delay"] = -2.5; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_ambient_ground_signs"); + var_00 common_scripts\_createfx::set_origin_and_angles((-577.436,2511.59,255.125),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_ambient_ground_signs"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_delivery_truck_flashing_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1488,-24,34),(6.09174,10.7614,0)); + var_00.v["fxid"] = "mp_seo2_delivery_truck_flashing_light"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_ambient_ground_signs"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1416.5,-323.745,65.125),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_ambient_ground_signs"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_ground_dust_thick_loop_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3623.64,1860.22,173.903),(273,109.994,174.003)); + var_00.v["fxid"] = "mp_seo2_ground_dust_thick_loop_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_ambient_ground_soft"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2005.59,1654.83,58.174),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_dust_ambient_ground_soft"; + var_00.v["delay"] = -1.25; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_steam_wall_vent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1467.37,1197.79,312.396),(270,0,0)); + var_00.v["fxid"] = "mp_seo2_steam_wall_vent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_bushes_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3408.99,1609.86,158),(292,350,-90)); + var_00.v["fxid"] = "ambient_wind_bushes_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_bushes_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3289.98,1641.96,128.321),(291,350,-90)); + var_00.v["fxid"] = "ambient_wind_bushes_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_bushes_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3212.55,1607.65,92.7204),(284,347,-90)); + var_00.v["fxid"] = "ambient_wind_bushes_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_bushes_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3363.95,2082.88,163.604),(296.179,311.334,-75.319)); + var_00.v["fxid"] = "ambient_wind_bushes_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_bushes_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3213.59,2096.24,110.862),(296.179,311.334,-88.319)); + var_00.v["fxid"] = "ambient_wind_bushes_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_light_moths_soft_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1474.63,-315.103,171.965),(26.9955,88.8773,-66.5097)); + var_00.v["fxid"] = "insects_light_moths_soft_complex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-362.535,2406.03,404.687),(85.9118,168.293,167.762)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-275.237,2402.24,405.012),(85.8478,196.395,-164.205)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-451.864,2405.18,404.647),(85.9118,168.293,167.762)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_seo2_fluor_interior_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1851.97,1400.78,303.422),(270,0,-136)); + var_00.v["fxid"] = "fx_seo2_fluor_interior_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2210.94,-671.365,425.028),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2210.88,-605.827,424.946),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2339.99,-604.476,425.045),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2338.64,-667.971,424.973),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2464.71,-669.021,425.036),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2465.74,-604.388,425.004),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2595.5,-605.669,424.947),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2593.44,-670.289,425.069),(270,0,0)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_dust_falling_debris_s_rnr_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1590.89,-631.49,399.875),(270,0,-88)); + var_00.v["fxid"] = "mp_seo2_dust_falling_debris_s_rnr_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m_thick"); + var_00 common_scripts\_createfx::set_origin_and_angles((104.259,2426.91,68.609),(270,0,-47)); + var_00.v["fxid"] = "battlefield_smoke_m_thick"; + var_00.v["delay"] = -2; + var_00 = common_scripts\utility::createoneshoteffect("insects_light_moths_soft_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1448.88,-693.489,347.436),(36.9923,90.4339,-87.7686)); + var_00.v["fxid"] = "insects_light_moths_soft_complex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_seo2_construction_smoke_m_thick"); + var_00 common_scripts\_createfx::set_origin_and_angles((791.273,71.8797,73),(300,177,90)); + var_00.v["fxid"] = "mp_seo2_construction_smoke_m_thick"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m_thick"); + var_00 common_scripts\_createfx::set_origin_and_angles((-401.52,581.513,589.125),(276.624,86.7765,175.156)); + var_00.v["fxid"] = "battlefield_smoke_m_thick"; + var_00.v["delay"] = -3; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m_thick"); + var_00 common_scripts\_createfx::set_origin_and_angles((-927.758,604.256,621.087),(276.624,86.776,178.157)); + var_00.v["fxid"] = "battlefield_smoke_m_thick"; + var_00.v["delay"] = -3; + var_00 = common_scripts\utility::createoneshoteffect("battlefield_smoke_m_thick"); + var_00 common_scripts\_createfx::set_origin_and_angles((1152.03,95.6906,157.682),(270,0,0)); + var_00.v["fxid"] = "battlefield_smoke_m_thick"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((573.634,953.403,168.879),(85.9118,168.293,167.762)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((572.405,1144.64,168.656),(85.9118,168.293,167.762)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_hr2_light_glow_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-584.382,2544.9,406.211),(85.9118,168.293,167.762)); + var_00.v["fxid"] = "mp_hr2_light_glow_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2835.41,266.541,96),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2602.28,1215.38,52.034),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2287.45,1565.82,187.167),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-698.65,1753.25,139.121),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1223.1,148.66,8.55494),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-65.6443,-158.656,-3.91927),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((117.81,1376,-4.00002),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3054.58,-79.5402,98),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2735.78,93.7953,148.224),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((161.439,383.309,25.775),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-13.9741,2385.54,10.246),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1825.09,1918.88,176.904),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1124.81,1958.89,146.538),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-111.933,897.117,-4),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-610.666,1679.33,4.61587),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1154.59,1648.38,152.611),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_wind_debris_sand_rock"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_solar_fx.gsc b/AW/PC/maps/createfx/mp_solar_fx.gsc new file mode 100644 index 0000000..55f23ae --- /dev/null +++ b/AW/PC/maps/createfx/mp_solar_fx.gsc @@ -0,0 +1,2512 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_solar_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 164 ms + * Timestamp: 4/22/2024 2:07:48 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-426.905,1102.44,-34.2508),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_trickle_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-283.195,1104.27,-33.0354),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_trickle_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-176.051,1042.89,-33.2491),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_trickle_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-177.172,900.652,-33.9931),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_trickle_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-177.788,758.359,-34.4013),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_trickle_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-542.996,1103.16,-33.7708),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_trickle_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-345.533,475.965,-36.375),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_trickle_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-178.126,308.154,-34.626),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_trickle_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-237.465,246.046,-31.9191),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_trickle_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-380.362,246.611,-32.2936),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_trickle_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-477.941,248.921,-36.8264),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_trickle_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-98.7586,600.864,-93.5851),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_sewer_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1189.92,2167.16,433.875),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_industrial_fan_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1197.6,1575.33,433.875),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_industrial_fan_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((149.85,1826.41,248.738),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pipe_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((914.804,834.4,42.8215),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pipe_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-618.179,327.808,2.6441),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pipe_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((315.532,1721.55,144.391),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pipe_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((315.219,1655.91,143.294),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pipe_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-119.087,2152.39,104.833),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pipe_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((89.6309,2413.98,257.891),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pipe_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-163.585,1897.59,225.926),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pipe_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-744,2381,73),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pipe_sml_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((252,1665,176),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pipe_sml_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1088.84,367.665,16.1864),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pipe_sml_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1470.06,1717.08,80.625),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pipe_sml_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1299.35,1124.84,389.59),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pipe_hvy_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-939.462,1794.89,69.1423),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pipe_hvy_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1222.83,263.533,7.25347),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pipe_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1209.72,904.368,1.99998),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pipe_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((814.387,584.233,119.125),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pipe_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-549.059,224.204,47.9815),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pipe_hvy_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-934.885,1303.87,41.0836),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_data_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-96,-551,150),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_data_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((839.76,1554.84,82),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_data_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((738,-348,151),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_data_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((699.795,1485.4,91.6078),(0.170214,0,0)); + var_00.v["soundalias"] = "mp_solar_data_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-752.021,2151.62,59.0219),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_powerplant_med_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1305.98,189.284,8.125),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_wind_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-548.157,2446.34,0.468102),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_wind_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1473,1399,135),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_wind_tunnel_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1476,2171,135),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_wind_tunnel_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1213.65,1831.72,150),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_wind_tunnel_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-504,289,247),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_wind_high_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-283.016,-47.0062,555),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_wind_high_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((273.07,1031.38,250),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_wind_high_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((260,603,-91),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_drip_lt"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-20,607,-90),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_drip_med"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-274.118,-220.987,110),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_generator_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-682,1900,370),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_generator_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((299.075,3176.78,36.0285),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_generator_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((904,1552,386),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_smokestack_steam"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1247,2262,43),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_generator"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((207.987,509.749,-63),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_wind_tunnel_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-275,600,4),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_wind_tunnel_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-173.462,1721.52,227.77),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pipe_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1164.79,-594.489,96.125),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_wind_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1227.45,2553.44,89.348),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_wind_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((860.653,1695.59,72.025),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_wind_tunnel_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-141.908,-1344.67,300.024),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_wind_tunnel_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((661.72,591.73,125.293),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pipe_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((265.409,2542.49,60.9792),(0,0,0)); + var_00.v["soundalias"] = "mp_solar_data_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((24.2105,2932.55,40.028),(318.621,0,0)); + var_00.v["soundalias"] = "mp_solar_generator_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((866.796,1438,100.417),(0,90,0)); + var_00.v["soundalias"] = "mp_solar_hvac_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((248.353,368.72,170.25),(90,90.2,0)); + var_00.v["soundalias"] = "mp_solar_hvac_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((738.918,-165.5,141.615),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_screen_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((737.664,-408.762,152.974),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_screen_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1082.61,-139.25,1.21082),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_wind_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-279.838,2664.2,111.525),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_screen_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1256.5,2344.79,2.16524),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_cicada_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-614.864,50.5056,211.618),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_hvac_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1167.9,-146.975,438),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_hvac_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((152.138,602.442,-99.875),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_drip_hvy"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((562.821,-282.314,139.884),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_wind_tunnel_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1170.23,728.289,467),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_wind_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((957.851,1105.06,193.973),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pipe_hvy_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((444.334,496.375,-96.7377),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_powerplant_med_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-305.441,1766.53,579.9),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_wind_high_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((920.106,-146.467,479.184),(315,180,0)); + var_00.v["soundalias"] = "mp_solar_wind_high_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1386.81,1575.9,2.15796),(333.191,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pipe_green_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1380.61,1503.16,5.62498),(333.191,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pipe_green_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1023.05,1420.22,2),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_metal_stress_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((789.929,49.5227,8.125),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_metal_stress_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1031.7,1470.33,78.5058),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_screen_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1031.7,1343.41,75.9321),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_screen_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((758.67,834.876,453.377),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_wind_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((265.409,2513.97,64.1482),(0,0,0)); + var_00.v["soundalias"] = "mp_solar_data_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-165.337,-389.875,33.1652),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_powerplant_med_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1219.7,2267.53,94.7382),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_bubbling_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1251.52,2328.9,103.436),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_bubbling_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-290.513,-337.971,143.045),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_generator_broken_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-487.35,1789.59,242.857),(270,180,87)); + var_00.v["soundalias"] = "mp_solar_light_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-609.108,1791.51,243.438),(270,180,87)); + var_00.v["soundalias"] = "mp_solar_light_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((112.125,529.551,-11.0157),(270,180,87)); + var_00.v["soundalias"] = "mp_solar_light_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-172.619,2629,166.842),(270,180,87)); + var_00.v["soundalias"] = "mp_solar_light_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-34.1705,2704.14,166.443),(270,180,87)); + var_00.v["soundalias"] = "mp_solar_light_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-333.823,2622.53,167.875),(270,180,87)); + var_00.v["soundalias"] = "mp_solar_light_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-273.442,2568.75,171.5),(90,90.2,0)); + var_00.v["soundalias"] = "mp_solar_hvac_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-273.442,2568.75,171.5),(90,90.2,0)); + var_00.v["soundalias"] = "mp_solar_hvac_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1477.93,1481.86,213.248),(270,180,87)); + var_00.v["soundalias"] = "mp_solar_light_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((130.137,2149.89,247.864),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_generator_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-424.898,708.985,-36.375),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pool_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-478.84,886.455,-36.375),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pool_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-260.872,474.722,-42.375),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pool_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-496.924,326.124,-36),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pool_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-382.926,787.547,-36.375),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pool_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-777.116,966.332,26.6368),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_metal_stress_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1105.88,2022.58,100.109),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_powerplant_lrg_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((237.251,599.486,-127.875),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_drip_med"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((249.115,484.859,-127.875),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_drip_med"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1158.53,2122.42,-40),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_drip_med"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1299.8,2120.63,-40),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_drip_med"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-346.591,2487.74,109.992),(0.170214,0,0)); + var_00.v["soundalias"] = "mp_solar_data_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1340.16,2882.2,75.0808),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_powerplant_med_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-271.045,899.187,-36.375),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pool_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-291.466,-295.982,143.045),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_generator_06"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((484.599,1215.23,289.244),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_industrial_fan_sml_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((349.844,1346.97,286.74),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_industrial_fan_sml_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((347.383,1499.55,292.003),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_industrial_fan_sml_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((645.396,1214.97,289.48),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_industrial_fan_sml_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((399.875,301.724,-56.4567),(270,180,87)); + var_00.v["soundalias"] = "mp_solar_light_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1272.27,2416.21,-39.375),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_drip_hvy"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1233.89,2119.77,-40.375),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_drip_hvy"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((264.078,368.759,-127.875),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_drip_hvy"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-266.666,695.711,-36.375),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pool_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1409.59,1066.39,389.633),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pipe_hvy_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-258.518,-355.239,154.054),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_generator_broken_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-312.545,-354.047,153.029),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_generator_broken_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((271.395,377.409,170.25),(0,90,0)); + var_00.v["soundalias"] = "mp_solar_hvac_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1114,8.2424,61.8618),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_screen_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1114,8.2424,61.8618),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_screen_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-232.24,1815.63,1140.07),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_wind_high_06"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((286.312,509.144,1067.4),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_wind_high_06"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((237.497,7776.17,392.492),(270,0,0)); + var_00.v["soundalias"] = "amb_mp_solar_cicada"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((729.876,-2448.1,115.511),(270,0,0)); + var_00.v["soundalias"] = "amb_mp_solar_cicada_rear"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1368,660,305),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_tank_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1368,660,305),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_tank_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-495,593,-35),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_bubbling_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-408,813,-35),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_bubbling_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-366,594,-35),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_bubbling_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-364.511,429.829,-36),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_bubbling_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-980,750,36),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pipe_hvy_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1083,927,36),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pipe_hvy_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1275,1050,36),(270,0,0)); + var_00.v["soundalias"] = "mp_solar_water_pipe_hvy_04"; + var_00 = common_scripts\utility::createoneshoteffect("water_gush_pipe"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1402.98,1453.52,-9.08387),(1,90,-90)); + var_00.v["fxid"] = "water_gush_pipe"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_ground_02_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-712.881,3528.79,31.9675),(270,0,-179)); + var_00.v["fxid"] = "dust_blowing_ground_02_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_ground_02_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1166.83,2557.45,0),(270,0,-179)); + var_00.v["fxid"] = "dust_blowing_ground_02_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoke_white_column_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((913.049,1570.15,346),(270,0,-176)); + var_00.v["fxid"] = "smoke_white_column_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_column_rising"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1589.21,2868.1,296),(270,0,0)); + var_00.v["fxid"] = "steam_column_rising"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_arc"); + var_00 common_scripts\_createfx::set_origin_and_angles((-283.525,-303.082,258),(1,90,-90)); + var_00.v["fxid"] = "electrical_arc"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_arc"); + var_00 common_scripts\_createfx::set_origin_and_angles((-289.553,-331.318,156.163),(1,90,-90)); + var_00.v["fxid"] = "electrical_arc"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("low_dust_wave_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-817.645,2939.94,0),(270,180,4)); + var_00.v["fxid"] = "low_dust_wave_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("low_dust_wave_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-633.26,2474.7,-1.29118),(270,180,4)); + var_00.v["fxid"] = "low_dust_wave_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_turbine_vortex_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1238.53,1736.33,435.049),(270,0,0)); + var_00.v["fxid"] = "wind_gust_turbine_vortex_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_turbine_vortex_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1234.66,2306.96,430.875),(270,0,0)); + var_00.v["fxid"] = "wind_gust_turbine_vortex_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_turbine_vortex_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1236.89,1451.83,435.197),(270,0,0)); + var_00.v["fxid"] = "wind_gust_turbine_vortex_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_turbine_vortex_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1234.68,2017.19,430.875),(270,0,0)); + var_00.v["fxid"] = "wind_gust_turbine_vortex_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_arc_coil"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1329.62,2795.9,95.6014),(85,0,0)); + var_00.v["fxid"] = "electrical_arc_coil"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_arc_coil"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1327.84,2812.77,96.9539),(85,0,0)); + var_00.v["fxid"] = "electrical_arc_coil"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((338.836,2949.12,343.125),(87,90,-90)); + var_00.v["fxid"] = "godray_window_large_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((127.622,2936.59,365.875),(87,90,-90)); + var_00.v["fxid"] = "godray_window_large_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-101.28,2950.45,365.875),(87,90,-90)); + var_00.v["fxid"] = "godray_window_large_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((112.471,2778.29,365.875),(87,90,-90)); + var_00.v["fxid"] = "godray_window_large_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((322.165,2768.4,365.875),(87,90,-90)); + var_00.v["fxid"] = "godray_window_large_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((547.418,2765.7,289.195),(87,90,-90)); + var_00.v["fxid"] = "godray_window_large_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((541.239,2609.79,286.423),(87,90,-90)); + var_00.v["fxid"] = "godray_window_large_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((330.831,2596.62,365.875),(87,90,-90)); + var_00.v["fxid"] = "godray_window_large_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-323.653,3141.88,288.985),(87,90,-90)); + var_00.v["fxid"] = "godray_window_large_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-322.24,2955.98,290.249),(87,90,-90)); + var_00.v["fxid"] = "godray_window_large_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-96.4075,3150.51,365.875),(87,90,-90)); + var_00.v["fxid"] = "godray_window_large_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((806.09,-210.713,241.614),(87,90,-90)); + var_00.v["fxid"] = "godray_window_large_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((871.524,-221.351,235.875),(87,90,-90)); + var_00.v["fxid"] = "godray_window_large_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_small_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((862.863,1687.96,145.396),(75,270,90)); + var_00.v["fxid"] = "godray_window_small_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_small_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-403.168,79.875,111.713),(75,270,90)); + var_00.v["fxid"] = "godray_window_small_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_small_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-357.463,79.875,111.798),(75,270,90)); + var_00.v["fxid"] = "godray_window_small_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_small_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-131.158,83.1435,111.875),(75,270,90)); + var_00.v["fxid"] = "godray_window_small_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_med_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-432.782,-374.229,268.516),(55.8693,266.49,88.8962)); + var_00.v["fxid"] = "godray_window_med_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_med_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-449.409,-265.427,277.375),(55.8693,266.49,88.8962)); + var_00.v["fxid"] = "godray_window_med_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_med_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-237.627,-391.545,258),(55.8693,266.49,88.8962)); + var_00.v["fxid"] = "godray_window_med_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_med_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-131.375,-366.509,269.875),(55.8693,266.49,88.8962)); + var_00.v["fxid"] = "godray_window_med_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_med_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1452.09,2196.29,186.876),(64.8669,266.083,88.5419)); + var_00.v["fxid"] = "godray_window_med_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_sunflare_lsr2"); + var_00 common_scripts\_createfx::set_origin_and_angles((0,0,0),(0,0,0)); + var_00.v["fxid"] = "fx_sunflare_lsr2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_ground_02_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1663.93,-988.798,88.125),(270,0,-180)); + var_00.v["fxid"] = "dust_blowing_ground_02_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drips_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((-235.223,599.848,35.9861),(89,360,89)); + var_00.v["fxid"] = "water_drips_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drips_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((25.7086,606.672,-11.6122),(89,360,89)); + var_00.v["fxid"] = "water_drips_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drips_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((194.308,599.992,-7.12222),(89,360,89)); + var_00.v["fxid"] = "water_drips_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("low_dust_wave_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-918.75,195.384,0.124969),(270,0,-180)); + var_00.v["fxid"] = "low_dust_wave_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_tower_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((3000.59,1520.42,5163.35),(345.366,2.87714,0)); + var_00.v["fxid"] = "fx_tower_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_tank_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1360.36,654.846,220.732),(270,0,0)); + var_00.v["fxid"] = "water_tank_loop"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("boiling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-402.777,413.146,-36),(270,0,0)); + var_00.v["fxid"] = "boiling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_ground_02_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1309.48,627.541,642.128),(270,0,180)); + var_00.v["fxid"] = "dust_blowing_ground_02_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sol_evt_window_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-969.744,747.366,29.1814),(270,143.58,-130.58)); + var_00.v["fxid"] = "sol_evt_window_loop"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("sol_evt_window_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1009.39,849.205,26.3814),(270,180,-150.425)); + var_00.v["fxid"] = "sol_evt_window_loop"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("sol_evt_window_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1074.75,936.445,32.1957),(270,0,45.1742)); + var_00.v["fxid"] = "sol_evt_window_loop"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("sol_evt_window_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1162.76,1006.16,32.2218),(270,0,60.7747)); + var_00.v["fxid"] = "sol_evt_window_loop"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("sol_evt_window_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1266.63,1047.26,31.5695),(270,0,76.3738)); + var_00.v["fxid"] = "sol_evt_window_loop"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("low_dust_wave_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1020.4,2739.81,7.42921),(270,180,4)); + var_00.v["fxid"] = "low_dust_wave_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_ground_02_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-957.091,3280.75,47.718),(270,0,-179)); + var_00.v["fxid"] = "dust_blowing_ground_02_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1043.88,3042.56,1.59378),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-971.581,2788.24,1.48987),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-716.509,3095.95,2.23465),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-716.317,2788.61,1.5),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-328.41,1731.78,-0.328712),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-869.752,2201.53,-39.875),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((961.358,2499.37,1.32742),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((826.435,2380.74,0.377991),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((733.488,2192.55,0),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((544.744,1906.49,0),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((853.139,2105.32,0),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((863.852,2863.48,4.90149),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1028.28,2811.4,4.06502),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_ground_02_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((919.222,2943.12,6.65475),(270,0,-179)); + var_00.v["fxid"] = "dust_blowing_ground_02_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("low_dust_wave_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-765.621,2675,4.49999),(270,180,4)); + var_00.v["fxid"] = "low_dust_wave_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_arc_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1237.47,2125.81,236.101),(360,360,-90)); + var_00.v["fxid"] = "electrical_arc_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-579.44,1039.24,-36),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-573.725,927.82,-36),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-570.944,833.504,-36),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-563.676,732.885,-36),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-517.107,615.916,-36),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-566.015,337.248,-40),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-544.534,472.845,-36),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-492.013,258.134,-36),(270,0,90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-385.158,269.571,-41),(270,0,90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-261.984,255.709,-39),(270,0,90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-184.162,343.701,-36),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-196.359,746.926,-36),(270,0,166)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-200.071,864.805,-36),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-197.448,1001.97,-36),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-250.541,1077.25,-36),(270,0,-90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-377.236,1086.46,-36),(270,0,-90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-473.372,1073.72,-36),(270,0,-90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-533.499,1076.85,-36),(270,0,-90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-523.489,1088.96,-36),(270,0,-90)); + var_00.v["fxid"] = "mp_solar_water_wake_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-408.352,1089.93,-36),(270,0,-90)); + var_00.v["fxid"] = "mp_solar_water_wake_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-284.9,1072.37,-36),(270,0,-90)); + var_00.v["fxid"] = "mp_solar_water_wake_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-201.418,971.219,-36),(270,0,-180)); + var_00.v["fxid"] = "mp_solar_water_wake_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-187.04,854.556,-36),(270,0,-180)); + var_00.v["fxid"] = "mp_solar_water_wake_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-193.426,739.745,-38),(270,0,-180)); + var_00.v["fxid"] = "mp_solar_water_wake_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-197.888,443.886,-36),(270,0,-180)); + var_00.v["fxid"] = "mp_solar_water_wake_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-199.057,345.167,-36),(270,0,-180)); + var_00.v["fxid"] = "mp_solar_water_wake_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-305.269,280.331,-38),(270,0,90)); + var_00.v["fxid"] = "mp_solar_water_wake_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-407.349,264,-36),(270,0,90)); + var_00.v["fxid"] = "mp_solar_water_wake_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1188.13,-181.811,-14),(270,0,90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1182.37,-80.9209,-14),(270,0,-90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1254.61,-79.5598,-14),(270,0,-90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1371.09,-81.8626,-14),(270,0,-90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1315.6,-86.3952,-14),(270,0,-90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1256.86,-182.396,-14),(270,0,90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1357.14,-185.495,-14),(270,0,90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1424.29,-184.499,-14),(270,0,90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_fan_vortex_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((353.08,1582.05,278.586),(0,360,0)); + var_00.v["fxid"] = "wind_gust_fan_vortex_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_fan_vortex_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((353.08,1497.97,278.266),(0,360,0)); + var_00.v["fxid"] = "wind_gust_fan_vortex_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_fan_vortex_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((353.08,1370.16,278.839),(360,0,0)); + var_00.v["fxid"] = "wind_gust_fan_vortex_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_fan_vortex_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((353.08,1291.21,279.725),(0,360,0)); + var_00.v["fxid"] = "wind_gust_fan_vortex_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_fan_vortex_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-806.777,1766.08,261.523),(0,90,0)); + var_00.v["fxid"] = "wind_gust_fan_vortex_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_fan_vortex_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-985.377,1766.08,261.208),(0,90,0)); + var_00.v["fxid"] = "wind_gust_fan_vortex_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_fan_vortex_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-892.876,1766.08,259.81),(0,90,0)); + var_00.v["fxid"] = "wind_gust_fan_vortex_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_fan_vortex_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-894.261,1769.58,183.791),(0,90,0)); + var_00.v["fxid"] = "wind_gust_fan_vortex_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_fan_vortex_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-809.013,1769.58,183.231),(0,90,0)); + var_00.v["fxid"] = "wind_gust_fan_vortex_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1432.58,-1.17993,-15.875),(270,0,-180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1430.08,75.7146,-15.875),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1485.62,-73.437,-14),(270,0,-90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1581.83,-80.594,-14),(270,0,-90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1686.2,-79.8333,-14),(270,0,-90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1799,-78.6673,-14),(270,0,-90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1949.32,-77.6054,-14),(270,0,-90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1494.88,-287.64,-14),(270,0,90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1569.12,-289.766,-14),(270,0,90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1635.5,-272.019,-14),(270,0,90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1733.54,-293.647,-14),(270,0,90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1748.51,-217.36,-14),(270,0,90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-839.941,443.269,-60.875),(270,0,90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-844.148,502.083,-81.875),(270,0,90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((996.001,2815.03,210.581),(0,90,0)); + var_00.v["fxid"] = "amb_dust_wind_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((446.606,2175.37,186.58),(0,90,0)); + var_00.v["fxid"] = "amb_dust_wind_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1132.3,2974.91,399.213),(0,90,0)); + var_00.v["fxid"] = "amb_dust_wind_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((188.139,-739.858,609.509),(0,90,0)); + var_00.v["fxid"] = "amb_dust_wind_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((664.025,485.771,186.125),(0,90,0)); + var_00.v["fxid"] = "amb_dust_wind_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((948.323,756.628,213.677),(0,90,0)); + var_00.v["fxid"] = "amb_dust_wind_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((895.298,2375.32,231.282),(0,90,0)); + var_00.v["fxid"] = "amb_dust_wind_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((104.984,2239.17,396.125),(0,90,0)); + var_00.v["fxid"] = "amb_dust_wind_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((985.038,2545.38,321.77),(0,90,0)); + var_00.v["fxid"] = "amb_dust_wind_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-840.784,3356.25,349.005),(0,90,0)); + var_00.v["fxid"] = "amb_dust_wind_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_sht_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-907.657,1785.55,28.4093),(270,0,-54)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_sht_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1179.11,1278.18,-86.5484),(270,0,90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1305.49,1283.93,-80.2593),(270,0,90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-848.667,617.332,-70.5),(270,0,90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-855.197,730.714,-65.5),(270,0,90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-852.898,855.159,-56.57),(270,0,90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-936.708,939.18,-62.5),(270,0,90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_sht_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((38.5736,368.498,69.7653),(270,180,135)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_sht_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1014.77,1441.68,164.31),(0,90,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((865.464,1432,80.6831),(0,270,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((865.777,1432,105.628),(0,270,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((886.437,1564.34,47.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((1260.31,1581.1,60.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((1218.91,1589.78,60.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((1027.56,1537.53,47.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((214.453,2919.06,0.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((404.267,2808.38,0.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((377.277,2929.48,0.125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-36.018,2835.82,0.124992),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-102.258,2963.92,0.124996),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_sht_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-187.659,2890.69,498.5),(90,0,0)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_sht_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-100.11,2641.91,171.5),(90,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-273.365,2570.45,171.5),(90,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-533.096,-1462.54,109.435),(272.49,90,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-662.938,-1406.68,125),(270,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("low_dust_wave_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1315.33,96.9802,5.10336),(270,0,-180)); + var_00.v["fxid"] = "low_dust_wave_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("low_dust_wave_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3.28503,-1078.66,113.125),(270,0,-180)); + var_00.v["fxid"] = "low_dust_wave_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("low_dust_wave_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((558.113,-544.244,94.125),(270,0,-180)); + var_00.v["fxid"] = "low_dust_wave_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1040.71,-612.274,91.6206),(0,90,0)); + var_00.v["fxid"] = "amb_dust_wind_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1035.79,104.96,31.1643),(0,90,0)); + var_00.v["fxid"] = "amb_dust_wind_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1640.1,-902.258,286.047),(0,90,0)); + var_00.v["fxid"] = "amb_dust_wind_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_ground_02_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((69.2567,-1190.08,96.125),(270,0,-180)); + var_00.v["fxid"] = "dust_blowing_ground_02_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_ground_02_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1485.09,135.766,0.318878),(270,0,-180)); + var_00.v["fxid"] = "dust_blowing_ground_02_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_ground_02_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1650.2,434.301,0.125),(270,0,-180)); + var_00.v["fxid"] = "dust_blowing_ground_02_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((878.708,1209.78,2.125),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((790.957,905.027,0.125),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1020.71,1202.42,0.125),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((581.075,259.337,0.125),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((974.762,276.881,2.125),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((629.263,-551.788,100.125),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("low_dust_wave_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((908.771,241.028,1.12501),(270,0,-180)); + var_00.v["fxid"] = "low_dust_wave_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("low_dust_wave_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((862.863,897.669,1.125),(270,0,-180)); + var_00.v["fxid"] = "low_dust_wave_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("low_dust_wave_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1080.37,1239.92,3.55805),(270,0,-180)); + var_00.v["fxid"] = "low_dust_wave_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_ground_02_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1777.13,1070.09,0.124992),(270,0,-180)); + var_00.v["fxid"] = "dust_blowing_ground_02_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((492.858,1696.84,0),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1876.46,1523.61,376),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1499.4,1488.39,390),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((1739.31,1460.39,407.613),(0,90,0)); + var_00.v["fxid"] = "amb_dust_wind_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((1514.99,-615.031,319.165),(0,90,0)); + var_00.v["fxid"] = "amb_dust_wind_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-505.922,1958.14,305.5),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-606.007,1931.19,306.064),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((941.622,1136.1,257),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1101.15,830.547,185.125),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1136.71,195.408,6.125),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((799.618,-675.355,99.125),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1121.01,-634.675,97.125),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-250.896,-960.763,89.125),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-642.922,-909.715,89.125),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((924.497,2364.69,36.1927),(0,90,0)); + var_00.v["fxid"] = "amb_dust_wind_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1048.84,3281.09,80.531),(0,90,0)); + var_00.v["fxid"] = "amb_dust_wind_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-731.834,851.13,4.94401),(14,180,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-726.252,754.185,3.3321),(14,180,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-725.935,651.649,3.56511),(14,180,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-728.624,553.881,4.5),(14,180,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-590.205,790.519,2.63683),(0,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-590.681,1102.2,0.953796),(0,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-677.375,1964.17,194.787),(0,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-637.781,2007.88,192.555),(0,270,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-603.072,2007.88,195.184),(0,270,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-566.372,2007.88,194.618),(0,270,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-534.997,2007.88,192.058),(0,270,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-472.157,2007.88,192.608),(0,270,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-502.385,2007.88,192.476),(0,270,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-447.739,2007.88,193.107),(0,270,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-552.88,1727.37,5.34979),(0,270,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-396.976,1797.73,5.54667),(0,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-546.185,2015.88,-98.1725),(0,90,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-522.687,1880.25,-1.51964),(0,90,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-585.224,2066.76,-1.79613),(0,360,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-598.454,1960.25,-2.22082),(0,90,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-557.251,1811.53,119.108),(0,360,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_sht_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-637.196,2017.36,129.453),(82.4988,0,82)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_sht_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_line_lg_runner_sht_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-677.015,1915.79,144.564),(82.4988,0,82)); + var_00.v["fxid"] = "falling_water_drip_line_lg_runner_sht_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-882.04,1379.59,-1.50001),(0,90,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-953.74,1532.81,7.5),(0,90,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1136.78,508.366,119.915),(0,326.701,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1210.54,878.942,120.66),(0,61.7003,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_pipe_burst_lp_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-531.684,1920.83,-82.7728),(305,217.5,0)); + var_00.v["fxid"] = "steam_pipe_burst_lp_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((360.5,-37.1578,329.231),(0,360,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((360.5,-36.5892,353.717),(0,360,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_pipe_leak_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((1658.92,1638.18,6.125),(306.96,102.151,-105.081)); + var_00.v["fxid"] = "fire_pipe_leak_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("qn_water_leak_pipe_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1195.55,327.932,56.3554),(2.18178,276.285,0)); + var_00.v["fxid"] = "qn_water_leak_pipe_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_gush_pipe_xsm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1514.34,933.666,86.1762),(0,120,1)); + var_00.v["fxid"] = "water_gush_pipe_xsm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("qn_water_leak_pipe_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1545.59,853.703,296.746),(0,123.6,0)); + var_00.v["fxid"] = "qn_water_leak_pipe_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1424.53,240.655,-15.5691),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1568.88,952.443,-14),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1568.13,976.776,-12.3998),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1568.13,1017.15,-11.9091),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1568.13,1071.14,-11.5098),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1568.13,1126.27,-13.9857),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1568.13,1171.6,-12.8455),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1568.13,1211.83,-12.6077),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1568.13,1255.75,-11.2745),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1568.13,1306.9,-10.738),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1568.13,1354.23,-11.6455),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1568.13,1407.79,-10.927),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1568.13,1482.45,-12.4703),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1568.13,1554.35,-11.4132),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1568.13,1657.31,-13.2325),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2032.76,1046.52,-14),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2031.4,1084.38,-14),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2034.07,1129.24,-14),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2035.17,1186.44,-14),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2033.05,1261.77,-14),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2032.43,1329.8,-14),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2034.81,1380.07,-14),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1595.84,881.982,-14),(270,0,144)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1637.48,828.662,-14),(270,0,150)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1570.2,1797.51,-13.8634),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1570.2,1848.66,-13.3269),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1570.2,1895.99,-14.2344),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1570.2,1949.55,-13.516),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1570.2,2024.21,-15.0592),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1569.3,2182.83,-13.8634),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1569.3,2233.98,-13.327),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1569.3,2281.32,-14.2344),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1569.3,2334.88,-13.516),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1569.3,2409.53,-15.0592),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1568.83,2536.92,-14),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1568.83,2630.78,-14),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1568.38,2466.83,-14),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1568.13,2103.61,-14),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1568.85,1720.44,-14),(270,0,180)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1638.41,2693.38,-3.18579),(270,0,-89)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1682.48,2693.38,-1.62068),(272,180.5,89.4999)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_column_rising"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1227.84,2308.03,501.442),(270,0,0)); + var_00.v["fxid"] = "steam_column_rising"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_column_rising"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1237.77,2016.4,505.132),(270,0,0)); + var_00.v["fxid"] = "steam_column_rising"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_column_rising"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1237.93,1742.47,500.832),(270,0,0)); + var_00.v["fxid"] = "steam_column_rising"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_column_rising"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1237.9,1452.4,501.554),(270,0,0)); + var_00.v["fxid"] = "steam_column_rising"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("qn_water_leak_pipe_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((1434.03,283,13.1582),(310.814,45.9124,-38.0018)); + var_00.v["fxid"] = "qn_water_leak_pipe_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("qn_water_leak_pipe_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((1101,265.583,12.84),(316.524,198.498,124.799)); + var_00.v["fxid"] = "qn_water_leak_pipe_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-188.64,2889.53,499.5),(90,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-70.735,2733.68,499.5),(90,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((433.964,2622.86,499.667),(40.3728,33.2983,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((430.067,3105.49,499.5),(90,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((281.063,3200.64,499.5),(90,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-189.421,3374,499.5),(90,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-34.74,3354.15,503.355),(77.3476,236.468,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((279.721,2959.62,499.5),(90,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1636.66,2740.7,58.1983),(270,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1678.66,2742.77,58.1983),(270,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1187.36,2218.54,34.8387),(0,307.499,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1360.3,2257.32,80.8729),(333.435,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1209.37,2344.65,164.217),(0,241.797,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1368.86,2256.74,114.441),(333.435,0,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1359.93,2208.03,44.2858),(0,5,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1360.53,2216.54,3.94072),(0,5,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1363.24,2302.92,42.7794),(0,5,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1364.31,2312.98,-0.67231),(0,5,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1352.95,2378.02,19.2377),(0,5,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1361.09,2385.04,46.5229),(0,5,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("solar_tank_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1234.98,2291.01,94.9325),(270,0,0)); + var_00.v["fxid"] = "solar_tank_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-156.56,2394.04,12),(270,0,0)); + var_00.v["fxid"] = "sand_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1206.77,2523.31,1.59239),(270,0,0)); + var_00.v["fxid"] = "sand_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((455.282,1310.62,9.125),(270,0,0)); + var_00.v["fxid"] = "sand_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-766.809,-22.4247,8.125),(270,0,0)); + var_00.v["fxid"] = "sand_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("low_dust_wave_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1003.06,-396.843,41.2009),(284.841,87.4187,90)); + var_00.v["fxid"] = "low_dust_wave_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("low_dust_wave_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1006.91,-730.406,86.9377),(270,0,-180)); + var_00.v["fxid"] = "low_dust_wave_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("low_dust_wave_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1136.3,-1014.43,94.2614),(270,0,-180)); + var_00.v["fxid"] = "low_dust_wave_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("low_dust_wave_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1466.51,-1087.34,88.125),(270,0,-180)); + var_00.v["fxid"] = "low_dust_wave_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-998.365,-298.45,18.1387),(284.841,87.4249,0)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-624.1,2241.4,5.63181),(270,0,0)); + var_00.v["fxid"] = "sand_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-454.318,2691.43,7.5),(270,0,0)); + var_00.v["fxid"] = "sand_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sand_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-926.329,1867.51,-33.875),(270,0,0)); + var_00.v["fxid"] = "sand_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-772.399,1627.18,0.124985),(0,90,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-40.6785,-87.5,384.296),(0,90,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-44.4517,-87.5,412.197),(0,90,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-640.724,1256.29,76.5),(0,90,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((18.042,1963.12,325.125),(0,90,0)); + var_00.v["fxid"] = "amb_dust_wind_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-393.615,1002.74,388.106),(0,90,0)); + var_00.v["fxid"] = "amb_dust_wind_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("amb_dust_wind_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-629.529,2144.77,550.491),(0,90,0)); + var_00.v["fxid"] = "amb_dust_wind_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((272.695,-561.024,468.125),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("low_dust_wave_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((185.436,-577.302,468.125),(270,0,-180)); + var_00.v["fxid"] = "low_dust_wave_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("low_dust_wave_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-619.709,-567.702,468.125),(270,0,-180)); + var_00.v["fxid"] = "low_dust_wave_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_ground_02_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((102.556,2491.5,580.125),(270,0,180)); + var_00.v["fxid"] = "dust_blowing_ground_02_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_sand_drifts_flat_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-236.769,-1112.19,88.125),(270,0,90)); + var_00.v["fxid"] = "ground_sand_drifts_flat_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-638.875,1862.75,217.135),(0,0,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-568.847,2053.5,-80.5951),(292.5,270,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-497.377,2082.25,-84.3251),(337.5,270,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-541.816,1934.12,-94.5128),(0,270,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-545.093,2015.88,-97.0854),(0,90,0)); + var_00.v["fxid"] = "steam_sm_vent2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_arc_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1235.68,1853.14,239.308),(360,360,-90)); + var_00.v["fxid"] = "electrical_arc_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_arc_coil"); + var_00 common_scripts\_createfx::set_origin_and_angles((1113.55,1886.46,202.419),(270,0,0)); + var_00.v["fxid"] = "electrical_arc_coil"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_arc_coil"); + var_00 common_scripts\_createfx::set_origin_and_angles((1137.49,2030.51,200.84),(270,0,1)); + var_00.v["fxid"] = "electrical_arc_coil"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_arc_coil"); + var_00 common_scripts\_createfx::set_origin_and_angles((1231.51,1982.86,237.676),(270,0,0)); + var_00.v["fxid"] = "electrical_arc_coil"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("qn_water_leak_pipe_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((109.507,1808.48,180.836),(315,0,0)); + var_00.v["fxid"] = "qn_water_leak_pipe_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drips_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((31.5714,564.947,-26.6907),(89,360,89)); + var_00.v["fxid"] = "water_drips_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_drips_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14.9051,628.017,-19.9133),(89,360,89)); + var_00.v["fxid"] = "water_drips_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_pipe_leak_xsm"); + var_00 common_scripts\_createfx::set_origin_and_angles((828.704,445.831,-29.0885),(32.693,162.089,-9.90273)); + var_00.v["fxid"] = "fire_pipe_leak_xsm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2022.16,1683.4,-15),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2023.8,1482.84,-15),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2024.9,1540.04,-15),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2022.78,1615.37,-15),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2024.54,1733.67,-15),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2027.22,2026.14,-17),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2028.86,1825.58,-17),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2029.96,1882.78,-17),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2027.84,1958.11,-17),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2029.6,2076.41,-17),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2021.89,2362.12,-16),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2023.53,2161.56,-16),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2024.63,2218.76,-16),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2022.51,2294.09,-16),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2024.27,2412.39,-16),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2030.86,2481.71,-14),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2033.85,2553.03,-14),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2033.43,2605.51,-14),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2032.36,2827.56,-14),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2031.87,2720.74,-14),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2032.72,982.462,-14),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2030.34,932.192,-14),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2030.96,864.162,-14),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2033.08,788.832,-14),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2031.98,731.632,-14),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2029.31,686.772,-14),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2030.67,648.912,-14),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2031.73,555.183,-17),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2029.35,504.913,-17),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2029.97,436.883,-17),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2032.09,361.553,-17),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2030.99,304.353,-17),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2028.32,259.493,-17),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2029.68,221.633,-17),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2031.91,120.702,-14),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2032.59,12.8925,-14),(270,0,0)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1813.24,-299.967,-14),(270,0,90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1891.52,-300.287,-14),(270,0,90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_solar_water_wake_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1959.49,-301.984,-14),(270,0,90)); + var_00.v["fxid"] = "mp_solar_water_wake_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-120.425,-443.432,96.125),(272.49,90,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-424.394,-79.8882,8.125),(272.49,90,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((492.079,504.845,-110.875),(272.49,90,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_levity_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((315.501,410.862,-152.875),(272.49,90,0)); + var_00.v["fxid"] = "mp_levity_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_small_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((401.934,330.327,69.5076),(31.3141,170.18,7.24245)); + var_00.v["fxid"] = "godray_window_small_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("qn_water_leak_pipe_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1499.52,309.789,92.3223),(44.8013,179.997,0)); + var_00.v["fxid"] = "qn_water_leak_pipe_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_sand_separate"); + var_00 common_scripts\_createfx::set_origin_and_angles((-464.161,-692.836,525.308),(270,0,90)); + var_00.v["fxid"] = "ambient_sand_separate"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_sand_separate"); + var_00 common_scripts\_createfx::set_origin_and_angles((-741.357,-706.78,541.077),(270,0,90)); + var_00.v["fxid"] = "ambient_sand_separate"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("No FX"); + var_00 common_scripts\_createfx::set_origin_and_angles((-41.2228,2052.98,36.9727),(276.08,18.7848,0)); + var_00.v["fxid"] = "No FX"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "1"; + var_00.v["soundalias"] = "mp_solar_catwalk"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1242.72,2287.73,5),(270,0,0)); + var_00.v["delay_min"] = 15; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_water_pipe_jet_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((933,-622,151),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "mp_solar_wind_fence"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1372.33,197.443,29.125),(270,0,0)); + var_00.v["delay_min"] = 20; + var_00.v["delay_max"] = 35; + var_00.v["soundalias"] = "mp_solar_wind_fence"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((723.619,-383.65,146.937),(270,0,0)); + var_00.v["delay_min"] = 30; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "mp_solar_telemetry"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2.29999,2589.92,113.515),(270,0,0)); + var_00.v["delay_min"] = 30; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "mp_solar_telemetry"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((147.283,-219.588,732.072),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_solar_hawk"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((350.901,1179.72,751.201),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_solar_hawk"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-815.497,3225.93,605.813),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_solar_hawk"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-856.601,2195.81,848.115),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_solar_hawk"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1148.67,2833.3,25.7723),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_coyote"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1803.79,3192.63,195.41),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_coyote"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1257.81,-999.78,179.341),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_coyote"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1634.56,1298.75,132.463),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_coyote"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-647.547,-1023.91,516.691),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_solar_hawk"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1189.02,-175.432,763),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_solar_hawk"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1012.07,760.423,75.6528),(276.08,18.7848,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_catwalk"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1197.51,2938.94,52.9288),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_wind_gust_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-878.102,3132.04,41.4772),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "mp_solar_wind_gust_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-526.974,3063.54,54.2917),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_wind_gust_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((662.75,2401.9,67.3122),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_wind_gust_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((813.974,-512.331,126.886),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_wind_gust_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-255.392,-1352.64,117.322),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_wind_gust_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1208.37,-830.466,139.474),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_wind_gust_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1035.61,-1164.25,146.031),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_wind_gust_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-596.778,-815.984,122.897),(270,0,0)); + var_00.v["delay_min"] = 20; + var_00.v["delay_max"] = 30; + var_00.v["soundalias"] = "mp_solar_wind_gust_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-725.5,5.76999,52.3331),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_wind_gust_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1373.71,2308.3,91.4241),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_wind_gust_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1383.13,1583.55,89.5445),(276.08,18.7848,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_solar_catwalk"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1370.22,2380.66,84.4333),(276.08,18.7848,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_solar_catwalk"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((200.773,1080.96,134.5),(276.08,18.7848,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_catwalk"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-658.921,1467.1,125.436),(276.08,18.7848,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_catwalk"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((893.054,1564.48,346),(276.08,18.7848,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_catwalk"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1038.49,1407.34,77.8797),(270,0,0)); + var_00.v["delay_min"] = 30; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "mp_solar_telemetry"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-849.607,-174.715,48.6529),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_wind_gust_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-301.145,-287.853,164.127),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "mp_solar_spark"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-253.41,-302.353,165.431),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "mp_solar_spark"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-288.762,-243.319,96.125),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "mp_solar_spark"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1045.01,185.298,29.125),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "mp_solar_mtl_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-688.097,1946.83,35.5),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "mp_solar_mtl_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((129.98,3232.88,49.8949),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "mp_solar_mtl_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((469.056,3200.88,25.5131),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "mp_solar_mtl_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-69.7724,-1152.99,121.902),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "mp_solar_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((677.097,1731.43,4.14248),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "mp_solar_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-372.509,3435.75,0.125),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "mp_solar_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1058.65,2501.81,1.76088),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "mp_solar_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1217.58,46.1111,8.125),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "mp_solar_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-686.564,1086.66,245.736),(270,0,0)); + var_00.v["delay_min"] = 12; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "mp_solar_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-665.869,708.456,200.149),(270,0,0)); + var_00.v["delay_min"] = 12; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "mp_solar_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-110.704,2114.79,509.337),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_solar_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-109.697,2255.37,508.468),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_solar_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1375.94,1149.95,389.656),(270,0,0)); + var_00.v["delay_min"] = 12; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "mp_solar_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1297.07,1004.05,389.005),(270,0,0)); + var_00.v["delay_min"] = 12; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "mp_solar_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1144,1758.77,129.788),(270,0,0)); + var_00.v["delay_min"] = 12; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "mp_solar_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((304.137,1712.26,507.069),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_solar_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((306.755,1596.73,507.908),(270,0,0)); + var_00.v["delay_min"] = 12; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "mp_solar_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((962.026,1120.22,257),(270,0,0)); + var_00.v["delay_min"] = 12; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "mp_solar_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-116.494,2428.64,5.71161),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "mp_solar_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1164.63,1960.02,134.661),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "mp_solar_spark"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1159.88,1924,120.126),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "mp_solar_spark"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1140.17,1990.88,92.2757),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "mp_solar_spark"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1158,1922.29,107.021),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "mp_solar_spark"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1158,1922.29,107.021),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "mp_solar_spark"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1158,1852.05,111.091),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "mp_solar_spark"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((591.536,503.864,-108.875),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "mp_solar_mtl_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((384.839,296.927,-40.5808),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "mp_solar_mtl_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1326.09,2799.72,75.0576),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "mp_solar_spark"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((201.591,1554.17,135),(276.08,18.7848,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_catwalk"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-178.8,1263.94,-35.875),(276.08,18.7848,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_catwalk"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-361.97,1280.98,-35.875),(276.08,18.7848,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_catwalk"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-557.949,1686.28,75.4497),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "mp_solar_mtl_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-276.693,1326.56,-2.03239),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "mp_solar_mtl_rattle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((59.1277,387.923,32.3017),(270,0,0)); + var_00.v["delay_min"] = 45; + var_00.v["delay_max"] = 90; + var_00.v["soundalias"] = "mp_solar_water_pipe_drain_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-767.081,1042.92,120.5),(276.08,18.7848,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_catwalk"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1441.93,1170.01,80.1039),(276.08,18.7848,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_catwalk"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1392.15,634.048,177.686),(276.08,18.7848,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_catwalk"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1977.37,3290.18,94.7543),(315,180.003,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_solar_hydrolics_dist"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-717.44,3745.63,69.0572),(13.1396,85.5987,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_solar_hydrolics_dist"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1642.75,187.52,55),(277.378,313.877,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_solar_hydrolics_dist"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1519.89,164.475,28.4934),(13.4637,355.851,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_solar_hydrolics_dist"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((758.512,1482.58,87.7837),(358.863,360,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "mp_solar_console_noise"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-38.4099,2939.74,66.095),(359.963,180,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "mp_solar_console_noise"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-38.221,2939.19,43.7227),(359.963,180,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "mp_solar_console_noise"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1361.25,1536.57,6.38439),(333.663,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "mp_solar_console_noise"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1031.7,1361.67,75.0828),(0,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "mp_solar_console_noise"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1031.7,1468.23,78.7043),(0,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "mp_solar_console_noise"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1031.7,1473.48,61.6461),(0,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "mp_solar_console_beeps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1031.7,1350.53,63.8331),(0,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "mp_solar_console_beeps"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((927.827,-210.744,433.815),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_solar_wind_gust_high"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-181.915,-16.5112,535.178),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_solar_wind_gust_high"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((281.039,1001.63,460.125),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_solar_wind_gust_high"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((744.474,1571.73,454.542),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_solar_wind_gust_high"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((967.161,1532.84,512.654),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_solar_wind_gust_high"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-430.578,1845.9,614.113),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_solar_wind_gust_high"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-80.2429,-2197.91,0.125),(270,0,0)); + var_00.v["delay_min"] = 0.5; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "mp_solar_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1158.66,-508.104,96.125),(270,0,0)); + var_00.v["delay_min"] = 0.5; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "mp_solar_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((886.091,2762.76,8.22711),(270,0,0)); + var_00.v["delay_min"] = 0.5; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "mp_solar_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-806.769,3438.69,-19.8752),(270,0,0)); + var_00.v["delay_min"] = 0.5; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "mp_solar_cicada_chirp"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((320.125,1873.73,10.6468),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_wind_gust_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((422.761,1270.12,0.401947),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_wind_gust_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-159.174,-2010.45,110.199),(277.378,313.877,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_solar_hydrolics_dist"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-863.643,3320.93,35.4169),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_solar_wind_fence"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1122.97,-123.182,48.4789),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_solar_wind_fence"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1180.42,3107.1,35.6995),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "mp_solar_wind_gust_metal"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1088.25,-879.371,123.635),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "mp_solar_wind_gust_metal"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_spark_fx.gsc b/AW/PC/maps/createfx/mp_spark_fx.gsc new file mode 100644 index 0000000..b5f95d0 --- /dev/null +++ b/AW/PC/maps/createfx/mp_spark_fx.gsc @@ -0,0 +1,3370 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_spark_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 189 ms + * Timestamp: 4/22/2024 2:07:48 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-472.665,3103.73,491.807),(270,0,0)); + var_00.v["soundalias"] = "flourescent_buzz_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-832.444,2939.09,493.768),(270,0,0)); + var_00.v["soundalias"] = "flourescent_buzz_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-842.418,3100.99,496.774),(270,0,0)); + var_00.v["soundalias"] = "flourescent_buzz_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1202.29,1298.13,650.461),(270,0,0)); + var_00.v["soundalias"] = "flourescent_buzz_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1196.29,-2.125,651.639),(270,0,0)); + var_00.v["soundalias"] = "flourescent_buzz_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1184.06,1280.25,647.875),(270,0,0)); + var_00.v["soundalias"] = "flourescent_buzz_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1209.9,16.9254,649.199),(270,0,0)); + var_00.v["soundalias"] = "flourescent_buzz_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((485.484,-1605.34,475.829),(270,0,0)); + var_00.v["soundalias"] = "flourescent_buzz_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-211.895,632.693,664.31),(270,0,0)); + var_00.v["soundalias"] = "flourescent_buzz_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-151.979,633.151,662.31),(270,0,0)); + var_00.v["soundalias"] = "flourescent_buzz_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-677.027,244.288,674.948),(270,0,0)); + var_00.v["soundalias"] = "flourescent_buzz_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-510.293,405.191,674.661),(270,0,0)); + var_00.v["soundalias"] = "flourescent_buzz_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-678.046,1054.22,675.185),(270,0,0)); + var_00.v["soundalias"] = "flourescent_buzz_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-505.527,889.947,672.348),(270,0,0)); + var_00.v["soundalias"] = "flourescent_buzz_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((415.617,644.663,552.039),(270,0,0)); + var_00.v["soundalias"] = "vent_air_lrg_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((114.743,1894.41,484.51),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_pressure_high_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-34.8747,1888.73,499.283),(270,0,0)); + var_00.v["soundalias"] = "vent_hum_large_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((185.879,1894.72,473.665),(270,0,0)); + var_00.v["soundalias"] = "pipe_gas_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-615.054,2847.42,518.351),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_pressure_high_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-23.6614,-535.331,460.034),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_pressure_high_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((68.3275,-542.907,457.976),(270,0,0)); + var_00.v["soundalias"] = "vent_hum_large_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((155.378,-578.609,457.579),(270,0,0)); + var_00.v["soundalias"] = "pipe_gas_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((195.656,-1561,557.362),(270,0,0)); + var_00.v["soundalias"] = "pipe_gas_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-355.51,448.102,651.575),(270,0,0)); + var_00.v["soundalias"] = "pipe_gas_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((92.8644,839.072,644.823),(270,0,0)); + var_00.v["soundalias"] = "pipe_gas_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-397.622,1054.55,733.729),(270,0,0)); + var_00.v["soundalias"] = "pipe_gas_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((759.484,1137.04,696.04),(270,0,0)); + var_00.v["soundalias"] = "pipe_gas_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-243.416,832.125,702.222),(270,0,0)); + var_00.v["soundalias"] = "pipe_gas_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-357.618,206,725.765),(270,0,0)); + var_00.v["soundalias"] = "pipe_gas_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((377.51,171.827,667.223),(270,0,0)); + var_00.v["soundalias"] = "pipe_gas_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((377.546,171.827,667.222),(270,0,0)); + var_00.v["soundalias"] = "pipe_gas_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((254.218,1113.44,746.44),(270,0,0)); + var_00.v["soundalias"] = "pipe_gas_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((258.008,1900.29,482.548),(270,0,0)); + var_00.v["soundalias"] = "vent_hum_large_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-252.26,-2327.57,505.512),(270,0,0)); + var_00.v["soundalias"] = "vent_hum_large_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((113.619,-1461.9,485.576),(270,0,0)); + var_00.v["soundalias"] = "vent_hum_large_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-111.763,-1443.42,525.68),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_pressure_high_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((257.479,-1948.23,575.508),(270,0,0)); + var_00.v["soundalias"] = "wind_shed_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-650.865,-805.748,579.001),(270,0,0)); + var_00.v["soundalias"] = "wind_shed_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-88.9923,-333.87,440.158),(270,0,0)); + var_00.v["soundalias"] = "wind_shed_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((883.254,-666.383,593.615),(270,0,0)); + var_00.v["soundalias"] = "wind_shed_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-618.636,-94.8532,594.398),(270,0,0)); + var_00.v["soundalias"] = "wind_shed_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((834.77,1853.66,566.725),(270,0,0)); + var_00.v["soundalias"] = "wind_shed_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-444.051,1568.97,519.07),(270,0,0)); + var_00.v["soundalias"] = "wind_shed_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-16.6543,3092.2,476.147),(270,0,0)); + var_00.v["soundalias"] = "wind_shed_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((576.663,3639.64,476.995),(270,0,0)); + var_00.v["soundalias"] = "wind_shed_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((976.111,2609.33,436.144),(270,0,0)); + var_00.v["soundalias"] = "wind_shed_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-136.189,2246.73,589.377),(270,0,0)); + var_00.v["soundalias"] = "mixed_debris_light_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((9.04612,-1836.18,454.774),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((664.165,-1836.37,589.651),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((962.83,-943.981,550.022),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((493.273,-457.415,420.586),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((839.764,-482.33,473.334),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-376.743,-299.302,422.834),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((520.638,289.098,614.933),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-466.689,1474.52,461.852),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-76.1634,1606.69,417.452),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((724.569,1837.89,496.236),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((935.368,2257.15,473.334),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((495.008,2607.21,419.866),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((721.999,2932.14,421.245),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((132.072,2820.68,473.334),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((846.226,3637.67,421.229),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-873.525,3139.85,437.655),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-66.6817,3130.1,455.274),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((560.849,3639.64,425.371),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-643.044,2093.36,577.803),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((501.147,1770.36,419.866),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-67.9538,987.68,581.299),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-66.0417,340.267,580.601),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((543.32,1019.88,625.86),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((295.392,-826.875,579.453),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((507.49,-1230.74,465.158),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1005.98,-1383.83,476.967),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((847.064,-2324.45,426.075),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-625.798,-804.196,578.954),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-45.5477,-387.833,442.952),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-78.4316,-933.232,400),(270,0,0)); + var_00.v["soundalias"] = "drip_int_water_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1.87146,-929.018,397),(270,0,0)); + var_00.v["soundalias"] = "drip_int_water_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((370.42,-1394.72,464.841),(270,0,0)); + var_00.v["soundalias"] = "vent_hum_large_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((304.511,-1274.44,472.953),(270,0,0)); + var_00.v["soundalias"] = "emt_pipe_pressure_high_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1281,158.783,729.764),(270,0,0)); + var_00.v["soundalias"] = "stream_med_near_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1296.64,1055.33,734.075),(270,0,0)); + var_00.v["soundalias"] = "stream_med_near_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1193.58,829.522,611.859),(270,0,0)); + var_00.v["soundalias"] = "stream_med_close_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1209.21,477.023,611.75),(270,0,0)); + var_00.v["soundalias"] = "stream_med_close_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((42.3251,-857.136,384.125),(270,0,0)); + var_00.v["soundalias"] = "drips_cement_splatter_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-778.39,-1679.49,384.125),(270,0,0)); + var_00.v["soundalias"] = "drips_cement_splatter_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1070.01,-3012.01,943.125),(270,0,0)); + var_00.v["soundalias"] = "city_traffic_lp_spark_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-507.22,-1581.5,425.729),(270,0,0)); + var_00.v["soundalias"] = "elec_hum_sml_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-495.408,-1321.56,440.656),(270,0,0)); + var_00.v["soundalias"] = "elec_hum_med_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-885.548,-945.45,436.432),(270,0,0)); + var_00.v["soundalias"] = "elec_hum_sml_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-665.14,-1567.01,463.82),(270,0,0)); + var_00.v["soundalias"] = "small_power_box"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((705.242,-1975.86,457.147),(270,0,0)); + var_00.v["soundalias"] = "elec_hum_sml_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-114.611,-1411.15,437.303),(270,0,0)); + var_00.v["soundalias"] = "elec_hum_med_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((702.74,-1915.12,572.546),(270,0,0)); + var_00.v["soundalias"] = "elec_hum_med_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((280.278,-603.343,459.374),(270,0,0)); + var_00.v["soundalias"] = "elec_hum_sml_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((280.627,172.217,650.587),(270,0,0)); + var_00.v["soundalias"] = "small_power_box"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-409.783,234.339,651.892),(270,0,0)); + var_00.v["soundalias"] = "small_power_box"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-228.331,632.935,588.438),(270,0,0)); + var_00.v["soundalias"] = "elec_hum_med_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((274.404,1114.74,566.681),(270,0,0)); + var_00.v["soundalias"] = "elec_hum_sml_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1136.45,1762.6,600.398),(270,0,0)); + var_00.v["soundalias"] = "small_power_box"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-104.08,1904.57,433.183),(270,0,0)); + var_00.v["soundalias"] = "elec_hum_med_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-532.853,1475.9,433.906),(270,0,0)); + var_00.v["soundalias"] = "elec_hum_med_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-765.589,2138.86,588.738),(270,0,0)); + var_00.v["soundalias"] = "elec_hum_sml_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-480.916,2667.13,424.886),(270,0,0)); + var_00.v["soundalias"] = "elec_hum_sml_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-757.043,2225.22,429.736),(270,0,0)); + var_00.v["soundalias"] = "small_power_box"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-894.258,3105.36,418.677),(270,0,0)); + var_00.v["soundalias"] = "elec_hum_sml_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((779.649,3270.82,419.128),(270,0,0)); + var_00.v["soundalias"] = "elec_hum_sml_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((303.571,2703.2,385.536),(270,0,0)); + var_00.v["soundalias"] = "flies_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((445.421,2765.34,384.125),(270,0,0)); + var_00.v["soundalias"] = "flies_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-580.232,1664.11,384.125),(270,0,0)); + var_00.v["soundalias"] = "flies_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((594.766,1905.34,384.255),(270,0,0)); + var_00.v["soundalias"] = "flies_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((734.573,-529.606,387.942),(270,0,0)); + var_00.v["soundalias"] = "flies_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((817.311,-184.033,385.13),(270,0,0)); + var_00.v["soundalias"] = "flies_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((157.981,-91.4599,384.125),(270,0,0)); + var_00.v["soundalias"] = "flies_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-335.066,-1109.49,384.784),(270,0,0)); + var_00.v["soundalias"] = "flies_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-894.418,-1770.46,384.125),(270,0,0)); + var_00.v["soundalias"] = "flies_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-723.215,-1860.99,384.125),(270,0,0)); + var_00.v["soundalias"] = "flies_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((577.955,-2023.43,384.125),(270,0,0)); + var_00.v["soundalias"] = "flies_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((746.839,-2019.16,384.125),(270,0,0)); + var_00.v["soundalias"] = "cricket_slow_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-726.963,-1160.5,385.885),(270,0,0)); + var_00.v["soundalias"] = "cricket_slow_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-392.023,-139.767,386.669),(270,0,0)); + var_00.v["soundalias"] = "cricket_slow_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((847.688,-404.428,384.125),(270,0,0)); + var_00.v["soundalias"] = "cricket_slow_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((347.375,2649.85,384.125),(270,0,0)); + var_00.v["soundalias"] = "cricket_slow_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-728.715,2535.92,385.877),(270,0,0)); + var_00.v["soundalias"] = "cricket_slow_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((659.973,2144.11,605.411),(270,0,0)); + var_00.v["soundalias"] = "transmission_broken_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-125.606,2635.18,652.008),(270,0,0)); + var_00.v["soundalias"] = "comp_small_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-6.36695,2074.88,623.671),(270,0,0)); + var_00.v["soundalias"] = "emt_comp_screen_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1288.35,1635.99,629.927),(270,0,0)); + var_00.v["soundalias"] = "comp_small_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1288.24,1491.89,630.169),(270,0,0)); + var_00.v["soundalias"] = "comp_small_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1108.74,1448.74,627.098),(270,0,0)); + var_00.v["soundalias"] = "console_medium_low_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1116.74,-147.591,626.622),(270,0,0)); + var_00.v["soundalias"] = "console_medium_low_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1296.28,-199.922,630.077),(270,0,0)); + var_00.v["soundalias"] = "comp_small_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1309.01,-328.59,607.437),(270,0,0)); + var_00.v["soundalias"] = "comp_small_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-32.9147,181.255,687.608),(270,0,0)); + var_00.v["soundalias"] = "comp_small_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((447.448,174.528,698.867),(270,0,0)); + var_00.v["soundalias"] = "comp_small_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((801.56,246.59,686.375),(270,0,0)); + var_00.v["soundalias"] = "comp_small_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((993.858,508.228,679.576),(270,0,0)); + var_00.v["soundalias"] = "comp_small_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((992.916,779.525,683.469),(270,0,0)); + var_00.v["soundalias"] = "comp_small_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((786.96,1062.19,690.758),(270,0,0)); + var_00.v["soundalias"] = "comp_small_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((256.26,1122.65,693.992),(270,0,0)); + var_00.v["soundalias"] = "comp_small_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-49.0294,1093.51,690.279),(270,0,0)); + var_00.v["soundalias"] = "comp_small_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-411.974,862.819,635.797),(270,0,0)); + var_00.v["soundalias"] = "comp_small_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((284.125,-1589.56,704.9),(270,0,0)); + var_00.v["soundalias"] = "comp_small_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((529.841,-1757.7,471.739),(270,0,0)); + var_00.v["soundalias"] = "emt_comp_screen_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-935.578,-1733.6,459.568),(270,0,0)); + var_00.v["soundalias"] = "comp_small_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-935.527,-1600.84,460.004),(270,0,0)); + var_00.v["soundalias"] = "comp_small_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-358.249,-1145.72,474.049),(270,0,0)); + var_00.v["soundalias"] = "comp_small_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((542.785,804.224,636.787),(270,0,0)); + var_00.v["soundalias"] = "emt_comp_screen_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((686.363,803.873,638.956),(270,0,0)); + var_00.v["soundalias"] = "emt_comp_screen_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((650.892,508.745,634.193),(270,0,0)); + var_00.v["soundalias"] = "console_medium_low_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((306.459,-1842.48,461.84),(270,0,0)); + var_00.v["soundalias"] = "comp_holo_sml"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-33.0456,-926.943,499.19),(270,0,0)); + var_00.v["soundalias"] = "main_boiler"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((170.883,-1255.95,583.478),(270,0,0)); + var_00.v["soundalias"] = "corner_boiler_pipes"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-167.875,-1217.97,588.678),(270,0,0)); + var_00.v["soundalias"] = "boiler_power"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2.97172,-1269.38,442.513),(270,0,0)); + var_00.v["soundalias"] = "comp_small_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((832.433,-1066.96,397.935),(270,0,0)); + var_00.v["soundalias"] = "fire_sml_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((136.29,2080.04,687.898),(270,0,0)); + var_00.v["soundalias"] = "fire_med_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((170.774,2352.12,688),(270,0,0)); + var_00.v["soundalias"] = "fire_med_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-151.722,2074.4,688),(270,0,0)); + var_00.v["soundalias"] = "fire_sml_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-22.4396,2390.03,680.339),(270,0,0)); + var_00.v["soundalias"] = "fire_sml_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((53.8999,-839.196,636.985),(270,0,0)); + var_00.v["soundalias"] = "boiler_side_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((55.7618,-1014.14,640.195),(270,0,0)); + var_00.v["soundalias"] = "boiler_side_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((271.448,1915.01,384.125),(270,0,0)); + var_00.v["soundalias"] = "drips_cement_splatter_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-118.859,632.448,574.736),(270,0,0)); + var_00.v["soundalias"] = "centrifuge"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((353.734,1133.38,634.222),(270,0,0)); + var_00.v["soundalias"] = "coolant_fan"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-366.317,-613.304,618.463),(270,0,0)); + var_00.v["soundalias"] = "large_ext_fan"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((762.713,-101.552,469.039),(270,0,0)); + var_00.v["soundalias"] = "fast_sml_ext_fan"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((648.936,-101.552,468.85),(270,0,0)); + var_00.v["soundalias"] = "slow_sml_ext_fan"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((534.91,-101.879,468.604),(270,0,0)); + var_00.v["soundalias"] = "slow_sml_ext_fan"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((679.674,1397.88,464.374),(270,0,0)); + var_00.v["soundalias"] = "slow_sml_ext_fan"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((563.909,1397.55,464.139),(270,0,0)); + var_00.v["soundalias"] = "fast_sml_ext_fan"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((793.532,1397.88,464.425),(270,0,0)); + var_00.v["soundalias"] = "fast_sml_ext_fan"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-648.587,919.579,619.019),(270,0,0)); + var_00.v["soundalias"] = "fast_sml_ext_fan"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-649.036,375.973,618.781),(270,0,0)); + var_00.v["soundalias"] = "fast_sml_ext_fan"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((442.033,3118.53,384.125),(270,0,0)); + var_00.v["soundalias"] = "drips_cave_rock_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-31.8931,-1052.66,384.125),(270,0,0)); + var_00.v["soundalias"] = "drips_cave_rock_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((813.635,-1523.5,446.584),(270,0,0)); + var_00.v["soundalias"] = "fast_sml_ext_fan"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((906.822,-1523.5,444.532),(270,0,0)); + var_00.v["soundalias"] = "slow_sml_ext_fan"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((878.359,-1003.96,398.803),(270,0,0)); + var_00.v["soundalias"] = "fire_sml_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1143.01,-469.779,599.169),(270,0,0)); + var_00.v["soundalias"] = "small_power_box"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-26.4576,2373.13,623.039),(270,0,0)); + var_00.v["soundalias"] = "comp_alarm"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-13.1612,2599.57,438.722),(270,0,0)); + var_00.v["soundalias"] = "robo_arm_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-79.6086,2601.13,436.57),(270,0,0)); + var_00.v["soundalias"] = "robo_arm_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((330.953,-1835.91,682.683),(270,0,0)); + var_00.v["soundalias"] = "drone_carriage_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((551.69,-1906.35,678.901),(270,0,0)); + var_00.v["soundalias"] = "drone_carriage_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((595.14,-1916.62,468.81),(270,0,0)); + var_00.v["soundalias"] = "exo_carriage_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((669.688,-1916.47,472.612),(270,0,0)); + var_00.v["soundalias"] = "exo_carriage_02"; + var_00 = common_scripts\utility::createloopeffect("mp_spark_train_steam_low"); + var_00 common_scripts\_createfx::set_origin_and_angles((1190.75,-4831.51,115.125),(270,0,0)); + var_00.v["fxid"] = "mp_spark_train_steam_low"; + var_00.v["delay"] = 0.5; + var_00 = common_scripts\utility::createloopeffect("mp_spark_train_steam_low"); + var_00 common_scripts\_createfx::set_origin_and_angles((1159.9,-2793.27,81.612),(270,0,0)); + var_00.v["fxid"] = "mp_spark_train_steam_low"; + var_00.v["delay"] = 0.5; + var_00 = common_scripts\utility::createloopeffect("mp_spark_train_steam_low"); + var_00 common_scripts\_createfx::set_origin_and_angles((584.761,-5029.22,24.459),(270,0,0)); + var_00.v["fxid"] = "mp_spark_train_steam_low"; + var_00.v["delay"] = 0.5; + var_00 = common_scripts\utility::createloopeffect("mp_spark_train_steam_low"); + var_00 common_scripts\_createfx::set_origin_and_angles((1751.12,-3343.56,149.125),(270,0,0)); + var_00.v["fxid"] = "mp_spark_train_steam_low"; + var_00.v["delay"] = 0.5; + var_00 = common_scripts\utility::createloopeffect("mp_spark_train_steam_low"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1161.53,-4358.57,52.474),(270,0,0)); + var_00.v["fxid"] = "mp_spark_train_steam_low"; + var_00.v["delay"] = 0.5; + var_00 = common_scripts\utility::createloopeffect("mp_spark_train_steam_low"); + var_00 common_scripts\_createfx::set_origin_and_angles((-84.6586,-3676.57,251.125),(270,0,0)); + var_00.v["fxid"] = "mp_spark_train_steam_low"; + var_00.v["delay"] = 0.5; + var_00 = common_scripts\utility::createloopeffect("mp_spark_drip_boiler"); + var_00 common_scripts\_createfx::set_origin_and_angles((-833.16,-1692.74,511.875),(90,0,0)); + var_00.v["fxid"] = "mp_spark_drip_boiler"; + var_00.v["delay"] = 0.5; + var_00 = common_scripts\utility::createloopeffect("mp_spark_drip_boiler"); + var_00 common_scripts\_createfx::set_origin_and_angles((-733.676,-1686.41,508.875),(90,0,0)); + var_00.v["fxid"] = "mp_spark_drip_boiler"; + var_00.v["delay"] = 0.5; + var_00 = common_scripts\utility::createloopeffect("mp_spark_train_steam_low"); + var_00 common_scripts\_createfx::set_origin_and_angles((793.569,-3119.25,247.771),(270,0,0)); + var_00.v["fxid"] = "mp_spark_train_steam_low"; + var_00.v["delay"] = 0.5; + var_00 = common_scripts\utility::createloopeffect("mp_spark_train_steam_low"); + var_00 common_scripts\_createfx::set_origin_and_angles((2608.17,-3470.99,84.0902),(270,0,0)); + var_00.v["fxid"] = "mp_spark_train_steam_low"; + var_00.v["delay"] = 0.5; + var_00 = common_scripts\utility::createloopeffect("mp_spark_drip_boiler"); + var_00 common_scripts\_createfx::set_origin_and_angles((-703.995,-1650.05,511.875),(90,0,0)); + var_00.v["fxid"] = "mp_spark_drip_boiler"; + var_00.v["delay"] = 0.5; + var_00 = common_scripts\utility::createloopeffect("mp_spark_train_steam_low"); + var_00 common_scripts\_createfx::set_origin_and_angles((3684.64,-5117.31,186.634),(270,0,0)); + var_00.v["fxid"] = "mp_spark_train_steam_low"; + var_00.v["delay"] = 0.5; + var_00 = common_scripts\utility::createloopeffect("mp_spark_train_steam_low"); + var_00 common_scripts\_createfx::set_origin_and_angles((1616.25,-6249.38,238.662),(270,0,0)); + var_00.v["fxid"] = "mp_spark_train_steam_low"; + var_00.v["delay"] = 0.5; + var_00 = common_scripts\utility::createloopeffect("mp_spark_train_steam_low"); + var_00 common_scripts\_createfx::set_origin_and_angles((-25.1091,-6431.72,192.386),(270,0,0)); + var_00.v["fxid"] = "mp_spark_train_steam_low"; + var_00.v["delay"] = 0.5; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_fire_edge"); + var_00 common_scripts\_createfx::set_origin_and_angles((-137.488,2196.69,696.018),(276.719,181.525,171.158)); + var_00.v["fxid"] = "mp_spark_fire_edge"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_fire_edge"); + var_00 common_scripts\_createfx::set_origin_and_angles((-198.607,2371.95,714.511),(270,0,0)); + var_00.v["fxid"] = "mp_spark_fire_edge"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_fire_edge"); + var_00 common_scripts\_createfx::set_origin_and_angles((133.565,2220.04,687.24),(275,178,0)); + var_00.v["fxid"] = "mp_spark_fire_edge"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_fire_edge"); + var_00 common_scripts\_createfx::set_origin_and_angles((-175.164,2032.5,853.463),(270,0,94)); + var_00.v["fxid"] = "mp_spark_fire_edge"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_fire_edge"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21.671,2368.62,694.956),(270,0,-79)); + var_00.v["fxid"] = "mp_spark_fire_edge"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_burst_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((94.1788,840.376,667.579),(28,77.1425,0)); + var_00.v["fxid"] = "mp_spark_steam_burst_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_burst_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-261.085,856.582,734.541),(25.8035,74.5881,11.2647)); + var_00.v["fxid"] = "mp_spark_steam_burst_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_burst_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-356.472,452.34,681.023),(0,282.857,0)); + var_00.v["fxid"] = "mp_spark_steam_burst_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_burst_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-358.742,1059.52,777.813),(30.0002,270,0)); + var_00.v["fxid"] = "mp_spark_steam_burst_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_burst_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-369.589,234.352,798.698),(344.571,90,0)); + var_00.v["fxid"] = "mp_spark_steam_burst_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_burst_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((44.7291,-980.679,639.213),(349.918,23.9894,0)); + var_00.v["fxid"] = "mp_spark_steam_burst_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_burst_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-94.3041,-992.99,622.853),(36,225,0)); + var_00.v["fxid"] = "mp_spark_steam_burst_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_burst_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((28.5669,-906.962,564.493),(359.848,45.0002,0)); + var_00.v["fxid"] = "mp_spark_steam_burst_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_burst_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6.46802,-1008.78,810.257),(2.49852,0,0)); + var_00.v["fxid"] = "mp_spark_steam_burst_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_burst_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20.317,-1007.99,808.676),(52.5009,180,0)); + var_00.v["fxid"] = "mp_spark_steam_burst_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((28.3662,-1002.37,633.476),(15.0003,225.1,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-29.229,-968.448,710.434),(359.903,285,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11.6008,-894.092,710.585),(359.735,45,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-160.077,-845.868,713.091),(44.1819,48.2221,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_burst_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((61.1987,-844.58,785.147),(65.9974,0,0)); + var_00.v["fxid"] = "mp_spark_steam_burst_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((53.0127,-1439.69,532.419),(63.0059,271.585,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((27.1297,-1412.11,439.289),(336.633,229.709,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((222.321,-1591.74,557.803),(66.4535,235.559,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((214.645,-1564.53,529.95),(71.4819,233.18,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((211.946,-1501.53,595.69),(60,180,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-656.588,113.482,879.862),(0,236.692,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-600.259,112.534,891.609),(0,274.87,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-545.295,111.271,876.82),(0,280.789,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-381.853,416.699,818.601),(89.4446,326.253,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((360.724,1157.9,584.693),(339,270,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_burst_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((255.674,1113.02,753.139),(360,280,0)); + var_00.v["fxid"] = "mp_spark_steam_burst_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((530.401,492.026,560.461),(341.121,90,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((391.497,601.34,542.5),(270,0,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((451.9,674.054,536.5),(270,0,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((387.587,654.401,538.5),(270,0,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((769.413,1134.44,711.87),(75,270,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_fire_fall_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-147.376,2198.41,705.344),(270,0,0)); + var_00.v["fxid"] = "mp_spark_fire_fall_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_fire_fall_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-148.498,2139.15,692.429),(270,0,0)); + var_00.v["fxid"] = "mp_spark_fire_fall_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_fire_fall_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-30.5004,2361.47,670.875),(270,0,0)); + var_00.v["fxid"] = "mp_spark_fire_fall_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_fire_fall_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((132.295,2253.34,677.561),(270,0,0)); + var_00.v["fxid"] = "mp_spark_fire_fall_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_embers"); + var_00 common_scripts\_createfx::set_origin_and_angles((-145.384,2185.97,697.6),(325.221,78.7748,10.3602)); + var_00.v["fxid"] = "mp_spark_embers"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_embers"); + var_00 common_scripts\_createfx::set_origin_and_angles((-100.726,2336,688.574),(316.399,344.626,54.9748)); + var_00.v["fxid"] = "mp_spark_embers"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_embers"); + var_00 common_scripts\_createfx::set_origin_and_angles((103.766,2258.25,678.075),(297.47,281.421,161.324)); + var_00.v["fxid"] = "mp_spark_embers"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_embers"); + var_00 common_scripts\_createfx::set_origin_and_angles((-89.2897,2068.95,786.39),(54.865,96.9803,14.8719)); + var_00.v["fxid"] = "mp_spark_embers"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_fire_edge"); + var_00 common_scripts\_createfx::set_origin_and_angles((121.138,2090.85,689.228),(287.639,170.47,-29.808)); + var_00.v["fxid"] = "mp_spark_fire_edge"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_fire_fall_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((123.028,2092.87,679.224),(270,0,0)); + var_00.v["fxid"] = "mp_spark_fire_fall_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_embers"); + var_00 common_scripts\_createfx::set_origin_and_angles((146.558,2062.31,688),(36.6425,143.192,153.152)); + var_00.v["fxid"] = "mp_spark_embers"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_embers"); + var_00 common_scripts\_createfx::set_origin_and_angles((-104.236,2181.05,687.436),(68.5761,62.2675,82.7949)); + var_00.v["fxid"] = "mp_spark_embers"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((957,969.622,802.429),(0,180,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((959.586,899.756,809.593),(0,180,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14.1205,81.9285,796.24),(0,0,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11,69.593,804.696),(0,0,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-366.846,-622,596.414),(0,90,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-365.615,-613.291,619.308),(0.804834,89.4867,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((156.74,-576.415,428.231),(346,81,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((148.541,-587.254,485.071),(8.99965,90,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((91.6388,-521.124,441.766),(327.5,107.54,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((66.2162,-529.967,452.674),(306.469,115.317,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12.0518,-598.763,445.407),(15,90,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-62.051,-576.106,413.11),(358.047,99.0227,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_burst_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-66.9327,-596.627,463.143),(39.2288,81,0)); + var_00.v["fxid"] = "mp_spark_steam_burst_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_burst_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((165.947,-572.482,427.289),(345.867,91.5334,11.3451)); + var_00.v["fxid"] = "mp_spark_steam_burst_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_burst_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((342.159,-625.153,466.349),(345,90,0)); + var_00.v["fxid"] = "mp_spark_steam_burst_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_burst_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((263.753,-626.614,561.552),(7.63161,63.7515,7.04166)); + var_00.v["fxid"] = "mp_spark_steam_burst_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1174.94,-632.416,840.914),(80.1825,63,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-129.087,-1035.26,529.834),(44.4349,348.65,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((807.776,1851.76,425.162),(288.507,216.824,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-845.713,894.138,675.125),(86,282.5,-179.999)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-833.001,947.409,612.724),(0,193.929,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-822.48,931.437,710.955),(0,213.299,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-845.36,407.746,646.707),(55,125.016,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-838.908,348.473,606.821),(305,192.5,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11.8599,2077.97,649.905),(0,90,0)); + var_00.v["fxid"] = "mp_spark_elec_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((30.8504,2080.07,593.016),(0,90,0)); + var_00.v["fxid"] = "mp_spark_elec_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-130.93,2578.78,679.347),(0,0,0)); + var_00.v["fxid"] = "mp_spark_elec_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49.4313,2367.14,628.036),(0,270,0)); + var_00.v["fxid"] = "mp_spark_elec_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_fire_edge"); + var_00 common_scripts\_createfx::set_origin_and_angles((-128.949,2061.24,702.432),(312,75.9637,0)); + var_00.v["fxid"] = "mp_spark_fire_edge"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_fire_edge"); + var_00 common_scripts\_createfx::set_origin_and_angles((170.19,2356.19,681.139),(273.824,158.786,31)); + var_00.v["fxid"] = "mp_spark_fire_edge"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_fire_fall_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((125.9,2323.26,678.066),(342.609,164.416,0)); + var_00.v["fxid"] = "mp_spark_fire_fall_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_fire_edge"); + var_00 common_scripts\_createfx::set_origin_and_angles((-139.652,2381.48,929.307),(17.0351,247.899,0)); + var_00.v["fxid"] = "mp_spark_fire_edge"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_fire_edge"); + var_00 common_scripts\_createfx::set_origin_and_angles((-156.887,2301.66,963.983),(33.2749,0,0)); + var_00.v["fxid"] = "mp_spark_fire_edge"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_fire_edge"); + var_00 common_scripts\_createfx::set_origin_and_angles((29.4798,2435.64,961.421),(349.858,270.478,0)); + var_00.v["fxid"] = "mp_spark_fire_edge"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_fire_edge"); + var_00 common_scripts\_createfx::set_origin_and_angles((148.613,2475.06,984.743),(85.6484,81.2105,0)); + var_00.v["fxid"] = "mp_spark_fire_edge"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_fire_edge"); + var_00 common_scripts\_createfx::set_origin_and_angles((206,2237.07,855.585),(0,180,0)); + var_00.v["fxid"] = "mp_spark_fire_edge"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_fire_edge"); + var_00 common_scripts\_createfx::set_origin_and_angles((148.243,2150.16,687.518),(271.143,308.278,179.999)); + var_00.v["fxid"] = "mp_spark_fire_edge"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dest_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((143.492,2256.67,695.422),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dest_smoke"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dest_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((173.898,2367.97,698.371),(276,0,0)); + var_00.v["fxid"] = "mp_spark_dest_smoke"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dest_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((-64.0301,2348.58,682.336),(291,0,0)); + var_00.v["fxid"] = "mp_spark_dest_smoke"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dest_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((-164.041,2177.79,681.548),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dest_smoke"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dest_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((-184.931,2345.68,705.197),(301,0,0)); + var_00.v["fxid"] = "mp_spark_dest_smoke"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dest_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((-134.17,2054.41,819.747),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dest_smoke"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dest_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((-175.875,2036.36,690.762),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dest_smoke"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dest_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((104.693,2082.47,682.488),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dest_smoke"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-142.445,2308.88,681.803),(270,0,87)); + var_00.v["fxid"] = "mp_spark_dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-118.506,2341.55,680.791),(270,0,87)); + var_00.v["fxid"] = "mp_spark_dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_falling_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((51.3829,2366.34,671.804),(270,0,87)); + var_00.v["fxid"] = "mp_spark_dust_falling_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_cst_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-612.2,1017.57,936.814),(291,172,0)); + var_00.v["fxid"] = "mp_spark_steam_cst_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_cst_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((1028.37,-586.651,970.589),(291,172,0)); + var_00.v["fxid"] = "mp_spark_steam_cst_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_cst_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((132.88,618.691,951.783),(291,172,0)); + var_00.v["fxid"] = "mp_spark_steam_cst_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1024.87,-594.589,859.029),(80.1825,63,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((359.603,-1374.27,493.02),(36.4284,0,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((287.589,-1358.42,498.794),(36.4284,0,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((302.795,-1272.41,437.327),(36.4284,0,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((302.453,-1303.07,516.777),(36.4284,0,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((271.147,-1301.01,675.376),(36.4284,0,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_burst_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((316.617,-668.522,649.359),(33.3085,270,0)); + var_00.v["fxid"] = "mp_spark_steam_burst_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((73.206,2250.39,412.125),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43.8785,2411.13,384.125),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((-238.69,2471.96,387.125),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((-151.463,1868.96,384.125),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((-43.1717,2536.91,601.125),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_chim_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((2178.73,7577.02,3230.03),(270,0,90)); + var_00.v["fxid"] = "mp_spark_chim_smk"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_chim_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((2708.98,7582.49,3065.82),(270,0,90)); + var_00.v["fxid"] = "mp_spark_chim_smk"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_chim_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((3317.24,7565.18,3180.54),(270,0,90)); + var_00.v["fxid"] = "mp_spark_chim_smk"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((-732.846,1616.66,546.125),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger_walkway"); + var_00 common_scripts\_createfx::set_origin_and_angles((249.55,1087.5,535.673),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger_walkway"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((728.741,-506.621,385.507),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((846.614,-419.993,384.125),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((318.245,-525.011,384.125),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((-413.067,-187.465,384.125),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((-679.94,-762.875,534.418),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((-785.422,-1416,500.125),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((-273.6,-1836.99,434.125),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((354.734,-2041.51,430.688),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_blow_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-258.47,-169.394,390.125),(270,0,-91)); + var_00.v["fxid"] = "mp_spark_dust_blow_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_blow_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((127.913,1798.46,384.125),(270,0,-163)); + var_00.v["fxid"] = "mp_spark_dust_blow_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_blow_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-299.422,1625.13,386.282),(270,0,-115)); + var_00.v["fxid"] = "mp_spark_dust_blow_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_blow_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((360.952,2399.78,384.125),(270,0,-68)); + var_00.v["fxid"] = "mp_spark_dust_blow_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_blow_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((387.771,2691.15,384.125),(270,0,-113)); + var_00.v["fxid"] = "mp_spark_dust_blow_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_blow_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((600.366,2543.14,384.125),(270,0,-87)); + var_00.v["fxid"] = "mp_spark_dust_blow_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((851.632,-1411.68,437.125),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((359.099,-1008.02,394.125),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((81.8097,-1138.64,581.125),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((156.505,-741.128,590),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_watersplash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1663.75,1008.89,154.248),(283.15,350.404,-84.1763)); + var_00.v["fxid"] = "mp_spark_watersplash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_watersplash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1610.85,292.726,170.938),(283.15,350.404,-84.1763)); + var_00.v["fxid"] = "mp_spark_watersplash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_watersplash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1338.51,420.503,168.205),(280.994,182.901,83.048)); + var_00.v["fxid"] = "mp_spark_watersplash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_watersplash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1426.01,1013.9,55.0046),(280.994,182.901,83.048)); + var_00.v["fxid"] = "mp_spark_watersplash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((528.547,3132.06,412.125),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((445.374,2943.38,415.108),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((709.322,-1907.42,587.895),(17.7824,178.467,3.7098)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((708.405,-1912.22,731.433),(17.7824,178.467,3.7098)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((957,330.385,820.037),(17.7824,178.467,3.7098)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((957,399.376,814.849),(17.7824,178.467,3.7098)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((3.30824,1897.29,470.074),(345,270.003,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((175.898,1892.99,472.428),(345,270.003,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-243.346,1279.46,574.081),(0,83.2071,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((-822.485,3017.95,444.125),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((-407.409,3105.25,414.125),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-163.073,2033.37,515.875),(90,0,0)); + var_00.v["fxid"] = "mp_spark_elec_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((662.189,2144.88,589.503),(360,90,0)); + var_00.v["fxid"] = "mp_spark_elec_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((729.904,2141.8,638.301),(0,90,0)); + var_00.v["fxid"] = "mp_spark_elec_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_cst_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((288.797,4377.88,445.405),(346.435,0,0)); + var_00.v["fxid"] = "mp_spark_steam_cst_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1005.25,1283.44,594.083),(0,90,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1064,1502.13,669.251),(0,180,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-24.2447,2514.95,514.875),(90,0,0)); + var_00.v["fxid"] = "mp_spark_elec_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_redlight_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((-479.659,641.539,2031.42),(270,0,0)); + var_00.v["fxid"] = "mp_spark_redlight_blink"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_redlight_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((-957.444,-314.124,1233.25),(276,270,90)); + var_00.v["fxid"] = "mp_spark_redlight_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_redlight_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((-953.738,-733.112,1353.13),(276,270,90)); + var_00.v["fxid"] = "mp_spark_redlight_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_redlight_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((-474.76,647.823,2034.68),(276,270,90)); + var_00.v["fxid"] = "mp_spark_redlight_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((239.927,1797.22,614.746),(21.7399,0,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((249.253,1449.37,615.261),(21.0376,0,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((257.615,1331.98,614.166),(21.0376,0,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((218.057,1896.31,613.788),(21.7399,180,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((218.339,1847.38,613.079),(21.7399,180,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((218.318,1743.28,613.133),(21.7399,180,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((218.121,1510.55,613.626),(21.7399,180,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((218.446,1388.25,612.81),(21.7399,180,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-312.096,-619.774,719.808),(338.962,90,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-835.794,-1514.14,524.077),(21.0375,90,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-339.356,-1823.79,523.028),(21.0375,0,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((160.003,2692.03,521.67),(21.0375,90,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-32.8492,2690.87,521.596),(21.0375,90,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-208.515,2690.41,520.445),(21.0375,90,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-400.03,2691.99,521.583),(21.0375,90,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((219.727,-34.0879,613.014),(21.0376,180,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((219.651,-150.616,613.212),(21.0376,180,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((219.224,-438.19,614.32),(21.0376,180,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((219.477,-546.363,613.664),(21.0376,180,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((241.63,-494.515,614.941),(21.0376,0,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((241.371,-601.408,614.269),(21.0376,0,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((240.935,-210.317,613.136),(21.0376,0,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((241.233,-89.7269,613.91),(21.0376,0,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-942.026,-1473.07,615.035),(21.0375,0,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-941.87,-1337.77,615.441),(21.0375,0,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-942.298,-1109.6,614.328),(21.0375,0,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((815.454,-1518.61,479.309),(21.0375,90,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((513.325,-1519.01,479.573),(21.0375,90,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((954.58,-1515.43,697.777),(21.0375,90,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((390.544,-1515.07,697.43),(21.0375,90,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-998.173,-985.741,709.059),(353.649,353.61,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-617.637,2848.88,525.544),(341.388,285.753,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_drip_boiler"); + var_00 common_scripts\_createfx::set_origin_and_angles((-29.4687,-929.434,531.583),(90,360,0)); + var_00.v["fxid"] = "mp_spark_drip_boiler"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((482.028,-1468.19,442.125),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1046.68,-1227.18,510.426),(21.0375,180,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_drip_boiler"); + var_00 common_scripts\_createfx::set_origin_and_angles((482.219,3090.19,510.875),(90,0,0)); + var_00.v["fxid"] = "mp_spark_drip_boiler"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_drip_boiler"); + var_00 common_scripts\_createfx::set_origin_and_angles((431.285,3165.74,511.875),(90,0,0)); + var_00.v["fxid"] = "mp_spark_drip_boiler"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_drip_boiler"); + var_00 common_scripts\_createfx::set_origin_and_angles((544.949,2881.3,511.875),(90,0,0)); + var_00.v["fxid"] = "mp_spark_drip_boiler"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_drip_boiler"); + var_00 common_scripts\_createfx::set_origin_and_angles((569.513,3019.99,511.875),(90,0,0)); + var_00.v["fxid"] = "mp_spark_drip_boiler"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_drip_boiler"); + var_00 common_scripts\_createfx::set_origin_and_angles((667.89,2885.13,511.875),(90,0,0)); + var_00.v["fxid"] = "mp_spark_drip_boiler"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_cst_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-274.222,676.142,1275.13),(270,0,0)); + var_00.v["fxid"] = "mp_spark_steam_cst_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((90.5711,-119.023,384.125),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((-857.018,264.224,587.492),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((-866.431,1033.27,589.198),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((-508.68,2180.28,490.5),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((-440.125,2345.1,421.174),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((-470.371,2497.72,432.767),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((-829.364,2324.46,512.889),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((842.718,1576.94,440.125),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((951.604,2515.41,384.125),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((407.576,-1454.81,624.195),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((327.381,3062.62,792.376),(74.9993,270.373,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((716.106,3070.84,793.177),(75,180.011,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((757.057,3028.49,792.943),(74.9999,269.783,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((-38.7313,2224.66,573.392),(359.556,356.99,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((-908.811,-1065.72,570.219),(0,270,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((-888.569,-1390.32,561.202),(0,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((-672.953,-517.675,750.116),(0,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((-693.114,-207.085,759.394),(0,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((447.683,-31.057,705.136),(0,270,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((158.525,-140.405,589.297),(271,270,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((200.999,-507.244,579.285),(0,180,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((499.143,-165.829,445.516),(276.779,204.575,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((494.756,-1874.01,424.125),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((458.746,-1611.73,435.125),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((1009.44,-1248.43,467.902),(0,180,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((-695.407,1973.27,537),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((195.486,1416.32,601.271),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((154.908,1778.03,545.39),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((312.986,1857.97,418.125),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((1247.06,1965.7,727.755),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((1166.67,2203.76,734.05),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((1244.04,2066.74,546.125),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((274.223,1901.97,499.341),(14.7247,326.252,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((1320.97,2579.42,446.552),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((1117.08,2594.78,475.873),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1205.73,2562.53,401.86),(322,90.0027,-180)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((749.068,-173.41,405.125),(276.779,204.575,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((639.017,-1861.23,492.33),(66.4535,235.559,0)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1033.72,1918.44,954.408),(30.2753,146.252,180)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1028.95,1874.12,1035.74),(30.2753,146.252,180)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1016.47,1875.13,1080.86),(30.2753,146.252,180)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_easy_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1030.6,1915.83,1011.81),(30.2753,146.252,180)); + var_00.v["fxid"] = "mp_spark_steam_easy_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((67.1316,3505.69,441.125),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_godray_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((923.289,1638.43,469.253),(1.93103,185.952,0)); + var_00.v["fxid"] = "mp_spark_godray_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_godray_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((903.03,1642.08,425.005),(1.93103,185.952,0)); + var_00.v["fxid"] = "mp_spark_godray_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_godray_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((900.525,1577.55,472.186),(1.93103,185.952,0)); + var_00.v["fxid"] = "mp_spark_godray_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_godray_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((899.899,1566.9,416.487),(1.93103,185.952,0)); + var_00.v["fxid"] = "mp_spark_godray_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_godray_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((895.396,1505.94,418.075),(1.93103,185.952,0)); + var_00.v["fxid"] = "mp_spark_godray_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_godray_ground"); + var_00 common_scripts\_createfx::set_origin_and_angles((905.9,1508.59,473.035),(1.93103,185.952,0)); + var_00.v["fxid"] = "mp_spark_godray_ground"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_godray_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-413.159,2473.83,455.915),(26.8401,173.272,-3.04875)); + var_00.v["fxid"] = "mp_spark_godray_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_godray_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-407.004,2387.74,458.461),(27,180,0)); + var_00.v["fxid"] = "mp_spark_godray_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_godray_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-411.48,2322.09,460.045),(35.9937,181.236,0.726472)); + var_00.v["fxid"] = "mp_spark_godray_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dirtyflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1318.48,2118.95,725.289),(22.3319,171.346,-3.30983)); + var_00.v["fxid"] = "mp_spark_dirtyflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dirtyflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((187.465,1146.35,623.103),(0,224.3,0)); + var_00.v["fxid"] = "mp_spark_dirtyflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dirtyflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((792.76,1059.6,601.081),(0,224.3,0)); + var_00.v["fxid"] = "mp_spark_dirtyflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dirtyflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((520.888,1151.17,599.517),(0,316.099,0)); + var_00.v["fxid"] = "mp_spark_dirtyflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dirtyflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-35.9136,1105.95,599.971),(360,314.3,0)); + var_00.v["fxid"] = "mp_spark_dirtyflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dirtyflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-187.924,2688.13,459.946),(0,90,0)); + var_00.v["fxid"] = "mp_spark_dirtyflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dirtyflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((886.01,1560.73,448.042),(0,180,0)); + var_00.v["fxid"] = "mp_spark_dirtyflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dirtyflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-707.46,1720.18,739.515),(33,0,0)); + var_00.v["fxid"] = "mp_spark_dirtyflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dirtyflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((956.54,645.229,744.804),(31.6003,180,0)); + var_00.v["fxid"] = "mp_spark_dirtyflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dirtyflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((517.721,148.459,640.695),(0,44.2999,0)); + var_00.v["fxid"] = "mp_spark_dirtyflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dirtyflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((792.973,235.142,617.002),(0,136.1,0)); + var_00.v["fxid"] = "mp_spark_dirtyflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dirtyflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1336.51,-827.525,728.66),(36.5,180,0)); + var_00.v["fxid"] = "mp_spark_dirtyflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dirtyflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((216.307,-331.287,536.903),(359.998,180.004,0)); + var_00.v["fxid"] = "mp_spark_dirtyflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((303.742,2147.41,540.942),(21.7399,90,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((397.985,2147.47,541.1),(21.7399,90,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((516.311,2147.9,542.187),(21.7399,90,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((616.856,2147.66,541.585),(21.7399,90,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((721.809,2147.52,541.23),(21.7399,90,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((851.677,2147.54,541.287),(21.7399,90,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((989.448,2147.63,540.255),(21.7399,90,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_fire_pod_ext"); + var_00 common_scripts\_createfx::set_origin_and_angles((908.277,-992.796,381.277),(270,0,0)); + var_00.v["fxid"] = "mp_spark_fire_pod_ext"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_fire_pod_ext"); + var_00 common_scripts\_createfx::set_origin_and_angles((881.998,-1020.47,376.041),(270,0,0)); + var_00.v["fxid"] = "mp_spark_fire_pod_ext"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_podlight_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((976.287,-896.891,453.425),(270,0,0)); + var_00.v["fxid"] = "mp_spark_podlight_blink"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_trainlt_headlights"); + var_00 common_scripts\_createfx::set_origin_and_angles((467.961,-4165.55,296.089),(359.737,179.974,0)); + var_00.v["fxid"] = "mp_spark_trainlt_headlights"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_trainlt_headlights"); + var_00 common_scripts\_createfx::set_origin_and_angles((468.654,-4252.68,295.869),(358.737,179.974,0)); + var_00.v["fxid"] = "mp_spark_trainlt_headlights"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_trainlt_headlights"); + var_00 common_scripts\_createfx::set_origin_and_angles((3409.64,-3401.03,300.284),(359.737,179.974,0)); + var_00.v["fxid"] = "mp_spark_trainlt_headlights"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_trainlt_headlights"); + var_00 common_scripts\_createfx::set_origin_and_angles((3413.72,-3488.28,296.409),(359.737,179.974,0)); + var_00.v["fxid"] = "mp_spark_trainlt_headlights"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_trainlt_headlights"); + var_00 common_scripts\_createfx::set_origin_and_angles((2923.57,-4677.35,296.387),(359.737,179.974,0)); + var_00.v["fxid"] = "mp_spark_trainlt_headlights"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_trainlt_headlights"); + var_00 common_scripts\_createfx::set_origin_and_angles((2923.63,-4762.54,296.013),(359.737,179.974,0)); + var_00.v["fxid"] = "mp_spark_trainlt_headlights"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_trainlt_headlights"); + var_00 common_scripts\_createfx::set_origin_and_angles((3432.4,-3401.76,157.366),(359.737,179.974,0)); + var_00.v["fxid"] = "mp_spark_trainlt_headlights"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_trainlt_headlights"); + var_00 common_scripts\_createfx::set_origin_and_angles((3432.54,-3488.2,157.16),(359.737,179.974,0)); + var_00.v["fxid"] = "mp_spark_trainlt_headlights"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_trainlt_headlights"); + var_00 common_scripts\_createfx::set_origin_and_angles((487.515,-4166.32,156.227),(359.737,179.974,0)); + var_00.v["fxid"] = "mp_spark_trainlt_headlights"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_trainlt_headlights"); + var_00 common_scripts\_createfx::set_origin_and_angles((487.55,-4253.87,156.492),(359.737,179.974,0)); + var_00.v["fxid"] = "mp_spark_trainlt_headlights"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_trainlt_headlights"); + var_00 common_scripts\_createfx::set_origin_and_angles((-834.4,-2884.97,296.217),(359.737,179.974,0)); + var_00.v["fxid"] = "mp_spark_trainlt_headlights"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_trainlt_headlights"); + var_00 common_scripts\_createfx::set_origin_and_angles((-834.345,-2971.42,295.86),(359.737,179.974,0)); + var_00.v["fxid"] = "mp_spark_trainlt_headlights"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_cst_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((1610.15,-3558.03,140.543),(291,172,0)); + var_00.v["fxid"] = "mp_spark_steam_cst_large"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_cst_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((2283.98,-3043.25,246.125),(291,172,0)); + var_00.v["fxid"] = "mp_spark_steam_cst_large"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_steam_cst_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((681.817,-4527.4,93.4549),(291,172,0)); + var_00.v["fxid"] = "mp_spark_steam_cst_large"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger_walkway"); + var_00 common_scripts\_createfx::set_origin_and_angles((24.049,248.156,536),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger_walkway"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger_walkway"); + var_00 common_scripts\_createfx::set_origin_and_angles((756.818,365.089,536),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger_walkway"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger_walkway"); + var_00 common_scripts\_createfx::set_origin_and_angles((552.867,192.488,536),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger_walkway"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((-687.875,217.178,637.474),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger_walkway"); + var_00 common_scripts\_createfx::set_origin_and_angles((778.861,979.748,536),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger_walkway"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger_walkway"); + var_00 common_scripts\_createfx::set_origin_and_angles((575.245,1106.5,536),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger_walkway"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger_walkway"); + var_00 common_scripts\_createfx::set_origin_and_angles((-115.324,797.701,546.168),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger_walkway"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((752.595,1405.65,470.335),(0,90,0)); + var_00.v["fxid"] = "mp_spark_elec_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-766.972,1310.44,598.033),(0,7.49995,0)); + var_00.v["fxid"] = "mp_spark_elec_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-97.5193,-1403.51,484.106),(0,307.5,0)); + var_00.v["fxid"] = "mp_spark_elec_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-808.361,-1720.78,518.682),(75.5905,10.7633,0)); + var_00.v["fxid"] = "mp_spark_elec_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-286.02,-1179.68,608.633),(0,270,0)); + var_00.v["fxid"] = "mp_spark_elec_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1134.21,1760.49,617.185),(0,300,0)); + var_00.v["fxid"] = "mp_spark_elec_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-339.312,3535.98,774.442),(360,326.701,0)); + var_00.v["fxid"] = "mp_spark_elec_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-348.812,3146.54,722.321),(0,270,0)); + var_00.v["fxid"] = "mp_spark_elec_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-250.057,1308.26,869.247),(90,0,0)); + var_00.v["fxid"] = "mp_spark_elec_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((561.779,491.013,760.764),(32.6,90,0)); + var_00.v["fxid"] = "mp_spark_elec_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-830.183,-939.256,784.827),(69.0589,330.138,0)); + var_00.v["fxid"] = "mp_spark_elec_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-888.642,-945.392,443.322),(0,270,0)); + var_00.v["fxid"] = "mp_spark_elec_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((268.918,-619.12,458.825),(336,90,0)); + var_00.v["fxid"] = "mp_spark_elec_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-239.604,-17.0701,871.917),(66,337.472,0)); + var_00.v["fxid"] = "mp_spark_elec_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-890.64,3036.45,508.836),(79.1216,338.555,0)); + var_00.v["fxid"] = "mp_spark_elec_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_fence"); + var_00 common_scripts\_createfx::set_origin_and_angles((-948.941,2724.33,659.518),(0,359,0)); + var_00.v["fxid"] = "mp_spark_elec_fence"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_fence"); + var_00 common_scripts\_createfx::set_origin_and_angles((-939.085,2786.48,691.973),(0,359,0)); + var_00.v["fxid"] = "mp_spark_elec_fence"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_fence"); + var_00 common_scripts\_createfx::set_origin_and_angles((-936.939,2666.95,711.663),(0,359,0)); + var_00.v["fxid"] = "mp_spark_elec_fence"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_fence"); + var_00 common_scripts\_createfx::set_origin_and_angles((-935.864,2447.16,707.875),(0,359,0)); + var_00.v["fxid"] = "mp_spark_elec_fence"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_fence"); + var_00 common_scripts\_createfx::set_origin_and_angles((-934.828,2528.45,691.759),(0,359,0)); + var_00.v["fxid"] = "mp_spark_elec_fence"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_fence"); + var_00 common_scripts\_createfx::set_origin_and_angles((-933.077,2598.88,706.707),(0,359,0)); + var_00.v["fxid"] = "mp_spark_elec_fence"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_fence"); + var_00 common_scripts\_createfx::set_origin_and_angles((-928.945,2391.07,643.325),(0,359,0)); + var_00.v["fxid"] = "mp_spark_elec_fence"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_fence"); + var_00 common_scripts\_createfx::set_origin_and_angles((-941.076,2287.56,644.229),(0,359,0)); + var_00.v["fxid"] = "mp_spark_elec_fence"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_fence"); + var_00 common_scripts\_createfx::set_origin_and_angles((-929.737,2262.04,706.807),(0,359,0)); + var_00.v["fxid"] = "mp_spark_elec_fence"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-930.947,2333.9,730.875),(0,359,0)); + var_00.v["fxid"] = "mp_spark_elec_runner"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_fire_pod_ext"); + var_00 common_scripts\_createfx::set_origin_and_angles((845.489,-1062.79,374.796),(270,0,0)); + var_00.v["fxid"] = "mp_spark_fire_pod_ext"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((659.955,1299.61,692.644),(24.4052,86.6466,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((670.016,1299.27,692.009),(30.332,86.6737,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((664.788,1300.25,700.046),(349.626,87.1068,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-412.711,964.909,675.955),(30.5098,356.455,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-412.59,954.053,676.235),(30.332,356.674,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-411.724,959.368,683.955),(349.626,357.107,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-146.264,835.303,686.04),(30.332,93.3263,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-157.244,835.234,685.898),(30.5098,93.5447,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-151.246,836.193,694.33),(342.909,86.984,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-412.557,318.188,676.278),(30.332,356.674,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-412.468,328.859,676.372),(30.5098,356.455,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-411.848,323.363,684.482),(342.909,356.984,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-609.814,148.575,680.247),(30.332,266.674,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-599.503,148.545,680.28),(30.5098,266.455,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-604.579,147.787,688.293),(342.909,266.984,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((57.7703,-3.43665,692.308),(30.332,266.674,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((68.8371,-3.36292,692.089),(30.5098,266.455,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((63.2847,-4.22037,700.236),(349.626,267.107,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((641.978,-3.52858,692.445),(24.5928,266.843,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((652.788,-3.60457,692.527),(24.4052,266.647,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((647.395,-4.15761,700.469),(342.909,266.984,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1207.74,1301.32,658.062),(30.332,93.3263,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1197.08,1301.47,658.267),(30.5098,93.5447,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1202.46,1302.15,666.514),(342.909,86.984,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1179.89,1282.51,658.393),(30.332,266.674,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1190.92,1282.42,658.457),(24.4052,273.353,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1185.22,1281.78,666.193),(349.626,267.107,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1220.18,13.4426,658.313),(30.332,86.6737,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1208.62,13.381,658.16),(30.5098,93.5447,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1214.34,14.2378,666.194),(349.626,92.8932,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1192.17,-5.32092,658.071),(30.332,266.674,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1202.4,-5.39719,658.192),(30.5098,266.455,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1197.27,-6.13353,666.526),(342.909,266.984,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((243.324,-756.588,658.09),(30.332,3.32633,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((243.354,-746.837,658.144),(30.5098,356.455,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((244.042,-751.976,666.781),(342.909,356.984,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-294.103,-692.555,670.87),(21.7399,0,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-294.091,-709.601,670.901),(21.7399,0,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-165.789,452.621,686.165),(30.332,266.674,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-155.418,452.462,686.412),(30.5098,266.455,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-160.895,451.994,694.912),(342.909,266.984,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-860.168,2808.39,496.646),(24.5928,266.843,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-849.715,2808.51,496.354),(30.5098,266.455,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-854.534,2807.87,504.576),(342.909,266.984,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((85.867,1299.52,692.412),(30.332,86.6737,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((75.2107,1299.59,692.487),(24.4052,86.6466,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((80.461,1300.08,700.743),(342.909,86.984,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_fence"); + var_00 common_scripts\_createfx::set_origin_and_angles((-931.988,2747.06,731.443),(0.913723,336,-0.407119)); + var_00.v["fxid"] = "mp_spark_elec_fence"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-590.001,1147.47,680.335),(349.626,87.1068,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-601.235,1147.5,680.345),(349.626,87.1068,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-595.501,1147.88,689.387),(349.626,87.1068,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-344.302,3106.13,496.796),(24.5929,356.843,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-344.35,3116.94,496.616),(24.4052,3.35349,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-344.039,3111.53,505.13),(342.909,356.984,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-834.347,2227.51,492.4),(30.332,93.3263,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-844.546,2227.67,492.704),(24.4052,86.6466,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-839.81,2228.04,501.835),(342.909,86.984,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((909.499,3749.39,524.412),(30.332,183.326,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((909.736,3738.57,523.967),(30.5098,183.545,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((908.789,3744.31,532.304),(342.909,183.016,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_warm_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((454.957,-659.615,493.387),(6.65764,277.5,0)); + var_00.v["fxid"] = "mp_spark_warm_flare"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_warm_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((455.7,-828.652,492.991),(353.358,93.4724,0.466791)); + var_00.v["fxid"] = "mp_spark_warm_flare"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_godray_fl_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((528.12,2940.36,522.5),(90,356.82,84.82)); + var_00.v["fxid"] = "mp_spark_godray_fl_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_godray_fl_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((412.422,2941.63,520.5),(90,0,91)); + var_00.v["fxid"] = "mp_spark_godray_fl_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_godray_fl_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((421.48,3135.84,517.568),(89.5584,99.0755,-168.926)); + var_00.v["fxid"] = "mp_spark_godray_fl_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_godray_fl_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((535.171,3135.44,517.5),(90,0,90)); + var_00.v["fxid"] = "mp_spark_godray_fl_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_godray_fl_warm_b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-475.644,3100.56,516.793),(87.4224,270,0)); + var_00.v["fxid"] = "mp_spark_godray_fl_warm_b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_godray_fl_warm_b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-842.104,2938.67,517.894),(87.4224,270,0)); + var_00.v["fxid"] = "mp_spark_godray_fl_warm_b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_godray_fl_warm_b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-841.837,3098.09,510.904),(87.4224,270,0)); + var_00.v["fxid"] = "mp_spark_godray_fl_warm_b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_fence"); + var_00 common_scripts\_createfx::set_origin_and_angles((-946.382,-1280.92,722.837),(0,359,0)); + var_00.v["fxid"] = "mp_spark_elec_fence"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_fence"); + var_00 common_scripts\_createfx::set_origin_and_angles((-950.296,-1200.92,692.992),(0,359,0)); + var_00.v["fxid"] = "mp_spark_elec_fence"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_fence"); + var_00 common_scripts\_createfx::set_origin_and_angles((-945.588,-1442.26,659.015),(0,359,0)); + var_00.v["fxid"] = "mp_spark_elec_fence"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_fence"); + var_00 common_scripts\_createfx::set_origin_and_angles((-953.921,-1023.56,676.144),(0,359,0)); + var_00.v["fxid"] = "mp_spark_elec_fence"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_fence"); + var_00 common_scripts\_createfx::set_origin_and_angles((-944.389,-1400.01,731.832),(0,359,0)); + var_00.v["fxid"] = "mp_spark_elec_fence"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((517.619,-20.2168,834.277),(8.58117,239.242,4.50149)); + var_00.v["fxid"] = "mp_spark_elec_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((517.661,-9.87096,832.426),(20.5201,241.326,4.56306)); + var_00.v["fxid"] = "mp_spark_elec_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((74.0245,-21.273,834.368),(353.299,120.679,-19.9483)); + var_00.v["fxid"] = "mp_spark_elec_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-205.08,-615.982,504.364),(342.909,93.016,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-199.555,-616.553,495.815),(30.332,86.6737,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_small_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-209.507,-616.529,495.806),(30.5098,93.5447,0)); + var_00.v["fxid"] = "mp_spark_small_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_elec_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-944.714,-1346.93,706.211),(0,0,0)); + var_00.v["fxid"] = "mp_spark_elec_runner"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_util_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((274.324,-917.624,539.385),(335.828,309.773,0)); + var_00.v["fxid"] = "mp_spark_util_light"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_util_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((274.912,-917.196,529.061),(24.1724,309.773,0)); + var_00.v["fxid"] = "mp_spark_util_light"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_util_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((303.95,-892.526,530.229),(24.1724,309.773,0)); + var_00.v["fxid"] = "mp_spark_util_light"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_util_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((303.943,-892.78,539.696),(335.828,309.773,0)); + var_00.v["fxid"] = "mp_spark_util_light"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_fire_fall_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((167.328,2345.37,686),(90,0,0)); + var_00.v["fxid"] = "mp_spark_fire_fall_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dest_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((220.232,2010.92,866.611),(276,0,0)); + var_00.v["fxid"] = "mp_spark_dest_smoke"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dest_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((158.133,2401.29,896.883),(276,0,0)); + var_00.v["fxid"] = "mp_spark_dest_smoke"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dest_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((-184.535,2342.37,966.899),(297,0,0)); + var_00.v["fxid"] = "mp_spark_dest_smoke"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dest_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((17.1927,2138.14,943.384),(276,0,0)); + var_00.v["fxid"] = "mp_spark_dest_smoke"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_longflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-458.005,-733.649,677.943),(21.7399,180,0)); + var_00.v["fxid"] = "mp_spark_longflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_godray_fl_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((715.924,3001.02,520.5),(90,0,179)); + var_00.v["fxid"] = "mp_spark_godray_fl_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_waterpipe"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1848.16,510.655,690.461),(302.554,76.046,-97.2673)); + var_00.v["fxid"] = "mp_spark_waterpipe"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_waterpipe"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1901.32,471.994,757.217),(279.218,102.426,-102.583)); + var_00.v["fxid"] = "mp_spark_waterpipe"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1812.95,509.911,181.698),(270,0,0)); + var_00.v["fxid"] = "mp_spark_splash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1739.75,621.5,189.734),(270,0,0)); + var_00.v["fxid"] = "mp_spark_splash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1762.54,706.153,193.166),(270,0,0)); + var_00.v["fxid"] = "mp_spark_splash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1799.88,775.552,182.927),(270,0,0)); + var_00.v["fxid"] = "mp_spark_splash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1840.76,551.161,181.445),(270,0,0)); + var_00.v["fxid"] = "mp_spark_splash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1821.38,526.571,222.818),(270,0,0)); + var_00.v["fxid"] = "mp_spark_splash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_godray_fl_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((485.321,-1602.79,496.681),(86.8483,90,0)); + var_00.v["fxid"] = "mp_spark_godray_fl_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_pipedrips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-72.6665,-927.434,539.329),(270,0,0)); + var_00.v["fxid"] = "mp_spark_pipedrips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_pipedrips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6.26193,-911.174,539.385),(270,0,0)); + var_00.v["fxid"] = "mp_spark_pipedrips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_pipedrips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-61.0145,-928.166,539.385),(270,0,0)); + var_00.v["fxid"] = "mp_spark_pipedrips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_pipedrips"); + var_00 common_scripts\_createfx::set_origin_and_angles((265.78,1917.62,466.423),(270,0,0)); + var_00.v["fxid"] = "mp_spark_pipedrips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_pipedrips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-777.509,-1679.83,507.5),(270,0,0)); + var_00.v["fxid"] = "mp_spark_pipedrips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_pipedrips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-773.94,-1682.56,507.5),(270,0,0)); + var_00.v["fxid"] = "mp_spark_pipedrips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dirtyflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-27.2572,2366,522.602),(0,270,0)); + var_00.v["fxid"] = "mp_spark_dirtyflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dirtyflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((464.147,2014.63,511.875),(43.9643,272.782,-87.4727)); + var_00.v["fxid"] = "mp_spark_dirtyflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dirtyflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-517.194,414.947,676.343),(0,270,0)); + var_00.v["fxid"] = "mp_spark_dirtyflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dirtyflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-684,247.857,675.531),(0,0,0)); + var_00.v["fxid"] = "mp_spark_dirtyflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dirtyflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-747.159,-376.014,775.762),(0,0,0)); + var_00.v["fxid"] = "mp_spark_dirtyflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dirtyflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-937.608,-1213.96,558.511),(360,359.998,0)); + var_00.v["fxid"] = "mp_spark_dirtyflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dirtyflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((245.693,-325.66,540.914),(359.998,0,0)); + var_00.v["fxid"] = "mp_spark_dirtyflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dirtyflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((59.462,-785.616,524.858),(0,249,0)); + var_00.v["fxid"] = "mp_spark_dirtyflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dirtyflare"); + var_00 common_scripts\_createfx::set_origin_and_angles((67.7449,-1067.88,522.363),(0,126,0)); + var_00.v["fxid"] = "mp_spark_dirtyflare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_keyline_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-594.016,1157.25,681.072),(0,90,0)); + var_00.v["fxid"] = "mp_spark_keyline_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_keyline_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-406.847,323.108,679.171),(0,0,0)); + var_00.v["fxid"] = "mp_spark_keyline_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_keyline_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((241.939,-753.76,659.215),(0,0,0)); + var_00.v["fxid"] = "mp_spark_keyline_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_keyline_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((651.087,-0.764803,694.715),(0,270,0)); + var_00.v["fxid"] = "mp_spark_keyline_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_keyline_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-604.22,145.928,680.654),(0,270,0)); + var_00.v["fxid"] = "mp_spark_keyline_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_keyline_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-403.175,2946.96,918.656),(16.9126,348.737,2.98259)); + var_00.v["fxid"] = "mp_spark_keyline_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_keyline_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1065.89,1812.79,1188.89),(35.6361,180,0)); + var_00.v["fxid"] = "mp_spark_keyline_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_keyline_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1190.53,1285.87,659.586),(0,270,0)); + var_00.v["fxid"] = "mp_spark_keyline_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_keyline_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1210.18,16.1101,659.753),(0,90,0)); + var_00.v["fxid"] = "mp_spark_keyline_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_keyline_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-415.856,965.877,684.471),(0,0,0)); + var_00.v["fxid"] = "mp_spark_keyline_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_keyline_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((662.922,1302.12,697.442),(0,90,0)); + var_00.v["fxid"] = "mp_spark_keyline_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_keyline_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1200.09,1298.13,665.306),(0,90,0)); + var_00.v["fxid"] = "mp_spark_keyline_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_keyline_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-337.675,-1824.02,527.245),(9.73975,0,0)); + var_00.v["fxid"] = "mp_spark_keyline_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_pipedrips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-110.701,-856.286,629.46),(44.4096,56.362,0)); + var_00.v["fxid"] = "mp_spark_pipedrips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_pipedrips"); + var_00 common_scripts\_createfx::set_origin_and_angles((40.9398,-855.972,632.791),(43.0796,65.7533,0)); + var_00.v["fxid"] = "mp_spark_pipedrips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_pipedrips"); + var_00 common_scripts\_createfx::set_origin_and_angles((45.8983,-1013.4,633.482),(36.4149,254.528,0)); + var_00.v["fxid"] = "mp_spark_pipedrips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_pipedrips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-41.8408,-1050.65,808.194),(52.4994,0,0)); + var_00.v["fxid"] = "mp_spark_pipedrips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_fire_pod_ext"); + var_00 common_scripts\_createfx::set_origin_and_angles((857.806,-1046.07,376.041),(270,0,0)); + var_00.v["fxid"] = "mp_spark_fire_pod_ext"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_keyline_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-807.251,2886.23,917.861),(21.7399,270,0)); + var_00.v["fxid"] = "mp_spark_keyline_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_keyline_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((960.081,936.623,771.394),(0,180,0)); + var_00.v["fxid"] = "mp_spark_keyline_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_keyline_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((958.712,360.955,770.656),(0,180,0)); + var_00.v["fxid"] = "mp_spark_keyline_flare"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_redlight_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((6411.86,-685.251,4264.79),(357.219,351.6,0)); + var_00.v["fxid"] = "mp_spark_redlight_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_redlight_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((6423.02,-1255.53,4279.62),(356.544,350.056,0)); + var_00.v["fxid"] = "mp_spark_redlight_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_redlight_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((6368.35,-1824.22,4256.78),(356.379,346.206,0)); + var_00.v["fxid"] = "mp_spark_redlight_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_redlight_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((2182.19,7578.79,3256.21),(349.512,85.7527,0)); + var_00.v["fxid"] = "mp_spark_redlight_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_redlight_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((2745.56,7510.29,3242.19),(350.6,76.2001,0)); + var_00.v["fxid"] = "mp_spark_redlight_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_redlight_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((3348.92,7533.31,3239.85),(350.781,77.2603,0)); + var_00.v["fxid"] = "mp_spark_redlight_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_keyline_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((284.476,3202.13,719.824),(19.2702,164.046,10.2608)); + var_00.v["fxid"] = "mp_spark_keyline_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger_walkway"); + var_00 common_scripts\_createfx::set_origin_and_angles((56.9734,1024.83,536),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger_walkway"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger_walkway"); + var_00 common_scripts\_createfx::set_origin_and_angles((-149.742,493.355,542.125),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger_walkway"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_keyline_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1064.03,-97.2766,1191.48),(35.6361,180,0)); + var_00.v["fxid"] = "mp_spark_keyline_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_chim_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((6530.9,-677.749,4259.64),(273.943,53.2792,-63.6487)); + var_00.v["fxid"] = "mp_spark_chim_smk"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_chim_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((6507.53,-1253.13,4251.65),(272.448,170.628,180)); + var_00.v["fxid"] = "mp_spark_chim_smk"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_chim_smk"); + var_00 common_scripts\_createfx::set_origin_and_angles((-549.662,688.604,1968.59),(274.513,333.772,92.6842)); + var_00.v["fxid"] = "mp_spark_chim_smk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((849.971,-1103.57,421.603),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_keyline_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-856.445,2803.61,496.577),(0,270,0)); + var_00.v["fxid"] = "mp_spark_keyline_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_keyline_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-337.636,3112.3,500.649),(0,0,0)); + var_00.v["fxid"] = "mp_spark_keyline_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_keyline_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((229.085,-1735.78,723.215),(21.7399,180,0)); + var_00.v["fxid"] = "mp_spark_keyline_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_keyline_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-204.841,-610,498.327),(11.5404,90,0)); + var_00.v["fxid"] = "mp_spark_keyline_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_keyline_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((954.394,-1512.87,697.003),(21.7399,90,0)); + var_00.v["fxid"] = "mp_spark_keyline_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_keyline_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((921.035,2805.38,680.206),(21.7399,270,0)); + var_00.v["fxid"] = "mp_spark_keyline_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_keyline_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-528.064,-1574.57,878.724),(0,90,0)); + var_00.v["fxid"] = "mp_spark_keyline_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_warm_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((455.48,2124.72,490.694),(6.07945,271.645,2.71791)); + var_00.v["fxid"] = "mp_spark_warm_flare"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_warm_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((455.726,1954.53,490.681),(6.65773,82.4996,0)); + var_00.v["fxid"] = "mp_spark_warm_flare"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_podlight_blink_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-118.976,2264.09,450.721),(270,0,0)); + var_00.v["fxid"] = "mp_spark_podlight_blink_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_podlight_blink_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-127.108,2287.3,425.957),(270,0,0)); + var_00.v["fxid"] = "mp_spark_podlight_blink_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_flare_rail"); + var_00 common_scripts\_createfx::set_origin_and_angles((-352.589,-2917.32,394.502),(0,0,0)); + var_00.v["fxid"] = "mp_spark_flare_rail"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_flare_rail"); + var_00 common_scripts\_createfx::set_origin_and_angles((-353.589,-3118.19,394.038),(0,0,0)); + var_00.v["fxid"] = "mp_spark_flare_rail"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_flare_rail"); + var_00 common_scripts\_createfx::set_origin_and_angles((-352.591,-3310.37,394.223),(0,0,0)); + var_00.v["fxid"] = "mp_spark_flare_rail"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_flare_rail"); + var_00 common_scripts\_createfx::set_origin_and_angles((-352.594,-3517.77,393.975),(0,0,0)); + var_00.v["fxid"] = "mp_spark_flare_rail"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_dust_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((-146.236,3559.41,543.302),(270,0,0)); + var_00.v["fxid"] = "mp_spark_dust_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((653.562,1544.17,384.125),(270,0,0)); + var_00.v["delay_min"] = 3.5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "wind_gust_litter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((434.118,2698.88,388.194),(270,0,0)); + var_00.v["delay_min"] = 3.5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "wind_gust_litter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((848.716,2324.65,384.125),(270,0,0)); + var_00.v["delay_min"] = 3.5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "wind_gust_litter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((702.999,3553.29,386.615),(270,0,0)); + var_00.v["delay_min"] = 3.5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "wind_gust_litter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-115.216,3145.54,441.976),(270,0,0)); + var_00.v["delay_min"] = 3.5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "wind_gust_litter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-99.8203,2777.48,384.983),(270,0,0)); + var_00.v["delay_min"] = 3.5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "wind_gust_litter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-692.778,1312.01,536.125),(270,0,0)); + var_00.v["delay_min"] = 3.5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "wind_gust_litter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-71.6219,1651.71,443.291),(270,0,0)); + var_00.v["delay_min"] = 3.5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "wind_gust_litter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-342.803,1652.08,384.125),(270,0,0)); + var_00.v["delay_min"] = 3.5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "wind_gust_litter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-517.323,2073.02,539.129),(270,0,0)); + var_00.v["delay_min"] = 3.5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "wind_gust_litter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1289.89,2140.11,536.125),(270,0,0)); + var_00.v["delay_min"] = 3.5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "wind_gust_litter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-181.673,-170.58,384.125),(270,0,0)); + var_00.v["delay_min"] = 3.5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "wind_gust_litter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((118.406,-21.0598,398.034),(270,0,0)); + var_00.v["delay_min"] = 3.5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "wind_gust_litter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((302.396,-221.183,384.371),(270,0,0)); + var_00.v["delay_min"] = 3.5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "wind_gust_litter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((310.347,-935.607,384.125),(270,0,0)); + var_00.v["delay_min"] = 3.5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "wind_gust_litter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((906.289,-1448.41,384.125),(270,0,0)); + var_00.v["delay_min"] = 3.5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "wind_gust_litter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((738.19,-2314.63,384.125),(270,0,0)); + var_00.v["delay_min"] = 3.5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "wind_gust_litter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((700.228,-2092.28,384.5),(270,0,0)); + var_00.v["delay_min"] = 3.5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "wind_gust_litter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-111.891,-1789.9,447.607),(270,0,0)); + var_00.v["delay_min"] = 3.5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "wind_gust_litter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-280.347,-2313.91,384.125),(270,0,0)); + var_00.v["delay_min"] = 3.5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "wind_gust_litter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-658.697,-638.337,536.125),(270,0,0)); + var_00.v["delay_min"] = 3.5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "wind_gust_litter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-645.941,-82.3269,536.736),(270,0,0)); + var_00.v["delay_min"] = 3.5; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "wind_gust_litter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((281.331,2262.77,384.125),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-589.372,1579.37,384.125),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1025.15,2559.57,386.34),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((853.926,1618.06,384.125),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-27.1046,2329.48,386.187),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((112.352,1966.04,536.125),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-87.2422,2655.42,536.125),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((641.511,-148.296,384.125),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((274.8,-1044.29,384.125),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((977.029,-1181.53,398.823),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((837.89,-912.141,486.094),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((469.086,-2013.32,386.355),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-142.323,-1766.58,384.125),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((486.173,2751.67,384.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-62.9112,2151.76,386.11),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-206.934,2032.15,546.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-66.3307,2498.04,536.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((654.66,2178.92,384.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((627.555,2108.42,536.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((466.287,3208.51,536),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((328.265,3145.96,536.499),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((276.696,3000.86,536),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((634.524,2864.68,536.5),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((218.535,3256.88,384.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((301.709,2448.69,385.931),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1124.37,1639.59,542.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1127.54,988.47,539.275),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1127.82,-325.12,534.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((755.513,-938.882,420.956),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((251.423,-964.643,384.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((634.142,-1355.01,384.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((36.4515,-1309.2,536.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((24.8209,-677.296,536.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((577.952,-889.056,384.081),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((166.073,-109.282,384.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((29.216,12.785,512.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((60.115,1287.88,522.198),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((583.301,1872.53,384.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-709.169,2256.48,384.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-591.374,3046.73,384.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((511.242,3288.92,384.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((322.473,2755.45,396.125),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dust_rock_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((873.261,2263.34,387.399),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dust_rock_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-279.695,2587.7,384.125),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dust_rock_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((82.9161,2601.18,536.968),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dust_rock_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((279.83,3266.88,384.125),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dust_rock_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((733.439,3293.57,384.125),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dust_rock_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((46.5138,2787.3,384.519),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dust_rock_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((559.968,2866.65,539.125),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dust_rock_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1034.73,1617.55,536.125),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dust_rock_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((418.471,1474.01,384.325),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dust_rock_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((103.281,1397.83,384.125),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dust_rock_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-533.037,1782.64,384.125),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dust_rock_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-415.768,1322.02,536.125),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dust_rock_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((166.994,923.969,536),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dust_rock_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((934.221,-434.398,536.125),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dust_rock_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((421.748,-1179.85,384.125),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dust_rock_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((322.93,-2052.86,391.974),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dust_rock_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-318.528,-1988.26,384.125),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dust_rock_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-326.824,-1103.96,384.544),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dust_rock_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((816.318,-214.846,384.603),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dust_rock_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((274.361,-493.066,384.125),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dust_rock_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((72.3608,317.226,537.091),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dust_rock_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((749.412,204.497,535.625),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dust_rock_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1242.04,1477.05,535.125),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dust_rock_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-32.2869,1536.78,387.868),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dust_rock_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-383.684,2917.07,388.179),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dust_rock_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-116.085,1535.7,394.254),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-12.6097,2204.61,572.368),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mixed_debris_med"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-784.315,-1724.23,384.125),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "emt_dust_rock_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((323.552,-1827.97,536),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((680.768,-1567.14,536.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-647.336,-1720.65,384.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "glass_debris_falling_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-885.052,-1786.92,384.125),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-885.061,-1786.97,384.125),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((425.944,-1591.03,590.962),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-829.269,-1668.4,511.875),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((879.564,-2167.19,447.058),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-486.604,-173.694,472),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-469.091,-575.874,426.952),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((794.453,-535.277,473.413),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((386.748,-171.721,455.99),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1216.81,-372.146,687.875),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1193.72,1659.49,687.875),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-942,-1192.46,455.272),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-141.419,480.431,654),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((265.745,656.83,694.454),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((786.716,1776.34,492.628),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((764.23,1710.76,419.866),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-527.298,1859.63,455.132),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-413.307,1578.19,510.244),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((979.868,2311.18,471.95),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1012.78,2706.66,444.098),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((347.899,2614.68,419.866),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((556.497,3068.63,438.743),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((576.902,3074.19,583.911),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-44.476,3106.57,455.99),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-821.421,2911.67,503.875),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-19.0814,2569.88,650),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-294.105,1995.24,536.333),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((165.942,2158.59,395.284),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((948.268,-973.764,544.085),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((699.147,-2001.28,384.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((624.449,-2321.72,384.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-75.1517,-2339.93,384.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-762.9,-1134.93,385.878),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-341.404,-612.193,384.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-466.477,-206.787,384.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((137.51,-85.1723,384.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((189.503,-154.247,384.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((284.112,-546.459,384.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((837.456,-145.733,384.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((815.864,-432.225,384.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((680.217,-588.106,384.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((311.064,1748.43,384.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((311.064,1748.43,384.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-714.962,2588.33,385.886),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-571.288,2282.74,384.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-494.415,2549.98,384.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((785.522,3566.27,384.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-571.107,-498.401,384.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-320.525,-1936.05,384.125),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((649.967,508.7,602.758),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "data_random"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((546.277,809.391,604.884),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "data_random"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1108.74,1453.78,610.82),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "data_random"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1116.74,-145.299,611.121),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "data_random"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((284.125,-1586.51,702.956),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "data_random"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-937.51,-1731.82,442.892),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "data_random"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((527.282,-1760.58,455.624),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "data_random"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_terrace_fx.gsc b/AW/PC/maps/createfx/mp_terrace_fx.gsc new file mode 100644 index 0000000..f3b644a --- /dev/null +++ b/AW/PC/maps/createfx/mp_terrace_fx.gsc @@ -0,0 +1,3089 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_terrace_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 128 ms + * Timestamp: 4/22/2024 2:07:49 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-932.206,1683.66,-184.328),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_fire_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-898.052,893.16,-500),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_pool_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1157.26,903.067,-500),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_pool_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1405.61,893.242,-500),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_pool_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-543.875,845.557,-441.604),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_waterroom_falls_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-334.739,906.577,-447.375),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_waterroom_falls_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-455.408,688.125,-446.009),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_waterroom_falls_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-441.222,921.103,-447.375),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_waterroom_shower"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1115.22,1090.72,-151.875),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_hotel_neon_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1119.08,980.617,-147.875),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_hotel_neon_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1117.24,853.929,-155.875),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_hotel_neon_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1115.29,698.016,-151.875),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_hotel_neon_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((193.192,927.35,-131.484),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_music_dance"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-747.087,876.418,46.7302),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_music_hotel"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-891.744,-171.202,411.975),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_flag_lrg"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1219.09,2443.49,-338.035),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_flag_sml_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-548.765,1643.25,-420),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_tunnel_hotub"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((450.792,-166.11,265.367),(359.98,159.19,0)); + var_00.v["soundalias"] = "mp_ter_hotel_neon_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1791.4,448.371,-420.845),(279.442,9.64206,0)); + var_00.v["soundalias"] = "mp_ter_fire_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((384,880.588,117.875),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_music_gen_wide"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1294.98,2807.8,-372.719),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_wind_high_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-808.4,1197.15,-418),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_wind_high_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1661.25,2174.38,-369.605),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_wind_high_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1064.26,-1434.9,-217.106),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_wind_high_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((132.049,898.807,114.725),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_wind_high_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4659.13,781.442,-787.37),(270,0,0)); + var_00.v["soundalias"] = "amb_mp_ter_ext"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2986.61,971.604,1589.92),(270,0,0)); + var_00.v["soundalias"] = "amb_mp_ter_ext_rear"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1795.55,1153.93,-421.706),(279.442,9.64206,0)); + var_00.v["soundalias"] = "mp_ter_fire_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((153.224,501.324,-169.071),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_flies_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((154.37,1187.98,-164.262),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_flies_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-241.596,1369.06,-174.843),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_flies_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-580.717,2766.22,-201.185),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_flies_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-515.967,2228.37,-162.878),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_wind_high_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-733.983,1345.71,-431.545),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_drips_wd_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-442.876,927.665,-398.375),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_drips_wd_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-921.767,1981.27,-365.053),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_drips_wd_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-684.769,1604.88,-396.695),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_drips_wd_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1952.56,424.315,-507.806),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_tv"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((655.65,587.398,55),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_pool_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((671.522,1184.23,55),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_pool_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-543.875,1010.39,-446.936),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_waterroom_falls_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-796.925,-614.847,228.954),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_wind_high_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1301.83,1088.84,-496.156),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_pool_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-919.238,1047.88,-500),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_pool_07"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1309.28,710.991,-500),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_pool_08"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-888.67,1742.45,-392.296),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_wind_tunnel_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-613.326,2221.69,-155.875),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_wind_tunnel_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-745.203,1394.16,-423.622),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_wind_tunnel_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1103.67,72.6549,-372.5),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_wind_tunnel_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-821.92,-382.791,-243.951),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_wind_tunnel_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-325.125,-225.081,169.65),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_wind_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-287.105,-862.323,57.5),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_wind_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-887.651,1701.7,-56),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_wind_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6.73308,1962.88,43.3297),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_wind_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1317.14,2279.55,-412.603),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_woodcreak_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1156.94,2463.77,-277.807),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_woodcreak_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2630.81,824.516,-547.61),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_waves_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2111.32,1480.88,-595.902),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_waves_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2117.74,1654.09,-548.712),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_waves_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2007.65,-188.097,-546.113),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_waves_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-11.9883,904.612,-98.1103),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_light_buzz_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-568.708,2902.31,-188.683),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_light_buzz_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((187.141,1372.08,-31.0644),(22.5,180,0)); + var_00.v["soundalias"] = "mp_ter_light_buzz_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-291.51,1161.3,-141.256),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_breaker"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1764.63,1640.25,-535.526),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_breaker"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((740.499,2073.12,680.508),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_windmill_metal"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1292.57,2828.26,2149.85),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_windmill_whooshes"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((848.895,891.822,97.2405),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_pool_reverb_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-935.782,880.396,-384.969),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_pool_reverb_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-642.402,1613.17,-369.884),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_pool_reverb_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((538.151,1203.33,-760.068),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_pool_reverb_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-624.751,1620.1,-366.455),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_pool_reverb_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-926.329,2295.24,-77.4397),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_bat_nest"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1703.54,1075.59,-520.432),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_bat_nest"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-523.014,822.509,-333.804),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_spray_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-520.496,996.869,-339.613),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_spray_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1382.44,2272.62,-473.492),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_flag_sml_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-413.24,858.271,-445.375),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_shower_reverb"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((658.047,887.789,171.545),(270,0,0)); + var_00.v["soundalias"] = "mp_ter_music_gen"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1837,-595,-281),(270,0,0)); + var_00.v["platform"] = "cg"; + var_00.v["soundalias"] = "amb_cg_ocean_comp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2468.7,854.761,-411.002),(270,0,0)); + var_00.v["platform"] = "cg"; + var_00.v["soundalias"] = "amb_cg_ocean_comp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1976,2137,-283),(270,0,0)); + var_00.v["platform"] = "cg"; + var_00.v["soundalias"] = "amb_cg_ocean_comp"; + var_00 = common_scripts\utility::createoneshoteffect("fire_campfire"); + var_00 common_scripts\_createfx::set_origin_and_angles((-938.957,1689.51,-187.146),(270,0,0)); + var_00.v["fxid"] = "fire_campfire"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-881.133,895.441,-545),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_pool_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((664.857,594.478,9),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_pool_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((580.471,493,57.3047),(270,0,90)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((694.351,493.924,55.3495),(270,0,100)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((747,565.01,54.6438),(270,0,180)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((746.954,647.017,55),(270,0,180)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((746.755,745.267,55),(270,0,180)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((747,869.536,55.0135),(270,0,180)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((746.817,986.54,55),(270,0,180)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((746.584,1079.83,55),(270,0,180)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((747,1165.96,55.2227),(270,0,180)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((721.147,1294.21,55.0053),(270,180,61)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((641.5,1307,55.1641),(270,0,-90)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((551.802,1307,55.3467),(270,0,-90)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((557,1201.94,55.23),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((601.587,1164.86,55),(270,0,80)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((660.444,1107.7,55),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((661,1020.49,55.1748),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((661.285,930.298,55),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((661.222,833.454,55),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((661.579,738.126,55),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((557.207,615.057,55),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((633.366,656.878,55.3032),(270,0,-55)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-769.626,996.132,-499),(270,0,180)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-801.429,735.403,-499),(270,0,132)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-873.159,704.78,-500),(270,0,90)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-987.168,704,-499.437),(270,0,90)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1085.98,704.055,-500),(270,0,90)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1176.39,724.664,-500),(270,0,90)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1249.2,704,-499.803),(270,0,90)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1327.52,704,-499.363),(270,0,90)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1459.45,760.74,-499.083),(270,0,53)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1535.77,819.964,-500),(270,0,8)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1536,908.497,-498.963),(270,0,2)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1449.98,1046.1,-499.897),(270,0,-34)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1412.83,1087.23,-500),(270,180,90)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1335.95,1086.83,-500),(270,180,90)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1253.65,1088,-498.438),(270,180,90)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1193.46,1066.16,-498.166),(270,180,90)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1028.68,1087.63,-500),(270,180,90)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-938.076,1088,-499.703),(270,180,90)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-830.862,1086.86,-498.893),(270,0,-121)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-768,882.529,-498.447),(270,0,180)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_motes_blue"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1107.13,697.536,-122.875),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_motes_blue"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_motes_blue"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1105.84,941.885,-119.875),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_motes_blue"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_motes_blue"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1104.04,1066.36,-120.875),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_motes_blue"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("embers_constant_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1793.28,445.178,-432.656),(270,0,0)); + var_00.v["fxid"] = "embers_constant_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("embers_constant_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1794.35,1141.03,-428.086),(270,0,0)); + var_00.v["fxid"] = "embers_constant_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("embers_constant_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-921.941,1707.95,-179.414),(270,0,0)); + var_00.v["fxid"] = "embers_constant_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((152.591,510.779,-167.31),(0,0,0)); + var_00.v["fxid"] = "insects_flies_landing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_shower_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-538.908,1017.47,-309.304),(0,0,0)); + var_00.v["fxid"] = "mp_terrace_shower_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_shower_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-541.878,878.594,-306.806),(0,0,0)); + var_00.v["fxid"] = "mp_terrace_shower_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_shower_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-540.92,769.521,-307.152),(0,0,0)); + var_00.v["fxid"] = "mp_terrace_shower_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_shower_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-469.251,689.422,-312.125),(0,90,0)); + var_00.v["fxid"] = "mp_terrace_shower_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_shower_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-413.944,692.115,-311.334),(0,90,0)); + var_00.v["fxid"] = "mp_terrace_shower_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-97.5972,953.013,-110),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-125.786,808.078,-260.028),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-42.4062,1161.58,-132.762),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_dust_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1900.87,1226.79,-540),(270,0,0)); + var_00.v["fxid"] = "light_dust_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_lightning"); + var_00 common_scripts\_createfx::set_origin_and_angles((-31162.1,-16391.6,657.463),(270,0,60)); + var_00.v["fxid"] = "mp_terrace_lightning"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((1029.68,609.785,28.2997),(270,0,180)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((1029.68,696.646,28.2515),(270,0,180)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((1029.61,783.221,27.053),(270,0,180)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((1029.65,871.296,27.729),(270,0,180)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((1029.67,1007.96,28.1208),(270,0,180)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((837.768,570.263,29.2626),(270,0,100)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((942.517,570.359,27.5449),(270,0,100)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_distant_rain"); + var_00 common_scripts\_createfx::set_origin_and_angles((-31032.3,-16406.2,10153.6),(270,0,60)); + var_00.v["fxid"] = "mp_terrace_distant_rain"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_lightning"); + var_00 common_scripts\_createfx::set_origin_and_angles((-26455,-12178.6,-723.849),(270,0,39)); + var_00.v["fxid"] = "mp_terrace_lightning"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-184.43,1361.21,-156.764),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("embers_constant_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-958.062,1705.7,-169.877),(270,0,0)); + var_00.v["fxid"] = "embers_constant_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((141.14,1197.67,-164.739),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-543.875,977.264,-448.011),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-537.84,858.852,-450.375),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-540.025,783.931,-448.375),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-497.616,698.682,-447.375),(270,0,87)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_pool_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-405.649,694.929,-447.375),(270,0,87)); + var_00.v["fxid"] = "mp_terrace_pool_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("breaking_wave_large_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((127.018,-3859.8,-466.475),(270,0,0)); + var_00.v["fxid"] = "breaking_wave_large_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying_heavy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-235.915,1.21957,-136.851),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying_heavy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying_heavy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1087.65,2895.98,-340.335),(0,0,0)); + var_00.v["fxid"] = "insects_gnats_flying_heavy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying_heavy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1699.77,2137.54,-515.021),(0,0,0)); + var_00.v["fxid"] = "insects_gnats_flying_heavy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying_heavy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1708.5,2136.01,-514.42),(0,0,0)); + var_00.v["fxid"] = "insects_gnats_flying_heavy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying_heavy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1370.17,2450.42,-475.712),(0,0,0)); + var_00.v["fxid"] = "insects_gnats_flying_heavy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying_heavy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-216.382,2591.91,-165.907),(0,0,0)); + var_00.v["fxid"] = "insects_gnats_flying_heavy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying_heavy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-580.73,2766.08,-197.389),(0,0,0)); + var_00.v["fxid"] = "insects_gnats_flying_heavy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-611.425,1630.81,-400.947),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-532.929,1600.37,-444.523),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-602.622,1711.52,-395.54),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-727.471,1393.12,-383.808),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-731.522,1569.94,-380.51),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-847.638,1726.87,-359.229),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-907.263,1907.49,-331.47),(270,0,10)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-853.094,2154.35,-277.997),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-766.311,2209.48,-198.5),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-711.801,2215.48,-159),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-785.502,1266.7,-409.435),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-864.905,2157.42,-149.125),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-622.597,1576.45,-392.931),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-653.162,1634.91,-386.809),(298,180,180)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-742.069,1353.62,-295.463),(270,0,91)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-786.663,1615.53,-276.69),(270,0,91)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-916.226,1796.62,-266.791),(270,0,91)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-912.944,1965.2,-246.627),(270,0,82)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-682.654,1604.5,-299.519),(270,0,-158)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-782.818,1275.8,-327.576),(270,0,91)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-621.359,2225.93,-188.875),(270,0,10)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((570.476,536.078,94),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist_lt"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((714.877,697.137,76),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist_lt"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((721.009,901.642,100),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist_lt"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((717.908,1160.52,76),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist_lt"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((599.356,1256.1,93),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist_lt"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((893.941,1126.2,79.6184),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist_lt"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((856.677,903.396,93),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist_lt"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((842.48,654.439,85),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist_lt"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_ext"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1967.25,799.626,-537),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_ext"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_ext"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2140.34,660.505,-551),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_ext"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_ext"); + var_00 common_scripts\_createfx::set_origin_and_angles((-188.509,166.734,-155),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_ext"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_ext"); + var_00 common_scripts\_createfx::set_origin_and_angles((48.6276,478.448,-202),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_ext"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-226.553,1319.83,-186),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1640.66,1685.49,-466.807),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1831.72,997.644,-558),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1862.62,1239.84,-573),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_ext"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2078.99,412.279,-543),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_ext"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1782.54,319.806,-509.375),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1836.77,560.598,-575.375),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-983.919,-385.522,-272.428),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-761.942,-376.371,-207.158),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((176.161,-1099.58,-185.875),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_ext"); + var_00 common_scripts\_createfx::set_origin_and_angles((-743.682,1895.12,-192),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_ext"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_ext"); + var_00 common_scripts\_createfx::set_origin_and_angles((237.111,1589.36,4.72308),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_ext"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1105.21,1176.87,-191.875),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1088.93,911.154,-191.875),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1103.39,752.219,-191.875),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((-915.86,766.684,-500),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist_lt"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1449.89,1745.15,-359.5),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-193.546,506.829,-151),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_ext"); + var_00 common_scripts\_createfx::set_origin_and_angles((-126.397,-1089.92,-175.951),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_ext"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1645.16,1096.08,-448),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-427.849,708.926,-138.907),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-664.915,529.151,-184.362),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-928.36,583.002,-179),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-908.854,742.056,-150.5),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-925.584,1207.1,-150),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-668.97,1279.04,-158),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-682.838,1597.33,-192.044),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_ext"); + var_00 common_scripts\_createfx::set_origin_and_angles((-682.838,1597.33,-192.044),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_ext"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-498.986,920.347,-447.375),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((-441.603,1098.19,-448.01),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist_lt"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((-399.498,1018.94,-447.375),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist_lt"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((-407.874,816.321,-416.375),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist_lt"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((-228.392,738.002,-396.314),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist_lt"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((-134.885,824.175,-295.063),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist_lt"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((-76.7861,939.955,-195.205),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist_lt"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-519.02,917.423,-340.125),(270,0,91)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-491.388,957.657,-276),(270,0,91)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-399.36,993.829,-277),(270,0,91)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-405.69,759.847,-276),(270,0,91)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-457.91,802.151,-276),(270,0,91)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1110.82,247.128,-448),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1113.58,70.434,-331.302),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_campfire_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1795.8,448.374,-420.824),(270,0,-90)); + var_00.v["fxid"] = "fire_campfire_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_ext"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2117.19,1283.81,-570),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_ext"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wave_hit_large_mp_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18612.4,22757.8,-9840.44),(270,0,0)); + var_00.v["fxid"] = "wave_hit_large_mp_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wave_hit_large_mp_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-17501.5,22188.1,-9786.27),(270,0,0)); + var_00.v["fxid"] = "wave_hit_large_mp_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wave_hit_large_mp_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20001.2,25241,-9840.25),(270,0,0)); + var_00.v["fxid"] = "wave_hit_large_mp_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wave_hit_large_mp_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8562.12,-10655.6,-9728.77),(270,0,-95)); + var_00.v["fxid"] = "wave_hit_large_mp_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wave_hit_large_mp_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7828.1,-13556.9,-9993.97),(270,0,-95)); + var_00.v["fxid"] = "wave_hit_large_mp_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wave_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9200.23,-11842.2,-9747.57),(270,0,-88)); + var_00.v["fxid"] = "wave_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wave_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9233.23,-6976.41,-9421.16),(270,0,-79)); + var_00.v["fxid"] = "wave_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wave_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7958.75,-16066.3,-10238.8),(270,180,98)); + var_00.v["fxid"] = "wave_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wave_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10426.1,-2386.52,-9508.41),(270,0,-82)); + var_00.v["fxid"] = "wave_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wave_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11601.2,918.963,-9704.76),(270,0,-70)); + var_00.v["fxid"] = "wave_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wave_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7956.5,14378.2,-9581.91),(270,0,-88)); + var_00.v["fxid"] = "wave_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wave_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18869.8,24799.8,-9703.77),(270,0,-88)); + var_00.v["fxid"] = "wave_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wave_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8012.37,10836.5,-9313.18),(270,0,-88)); + var_00.v["fxid"] = "wave_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wave_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7781.11,-22415.4,-10228.5),(270,0,-92)); + var_00.v["fxid"] = "wave_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_ground_slow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-295.637,2601.62,-202.937),(270,0,86)); + var_00.v["fxid"] = "dust_blowing_ground_slow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_ground_slow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-617.864,2563.37,-202.15),(270,0,94)); + var_00.v["fxid"] = "dust_blowing_ground_slow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_ground_slow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1710.93,1981.73,-556.624),(276,175,-90)); + var_00.v["fxid"] = "dust_blowing_ground_slow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_ground_slow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-28.8306,3072.45,160.338),(276,175,-90)); + var_00.v["fxid"] = "dust_blowing_ground_slow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_ground_slow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((83.9382,2032.6,-55.7814),(270,0,73)); + var_00.v["fxid"] = "dust_blowing_ground_slow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1252.73,269.6,-177),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_falling_leaves_infrequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-810.811,135.178,14.4844),(270,0,0)); + var_00.v["fxid"] = "ambient_falling_leaves_infrequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_falling_leaves_infrequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((266.924,-1297.97,76.2322),(270,0,0)); + var_00.v["fxid"] = "ambient_falling_leaves_infrequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_falling_leaves_infrequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((673.776,453.074,546.578),(270,0,0)); + var_00.v["fxid"] = "ambient_falling_leaves_infrequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_ext"); + var_00 common_scripts\_createfx::set_origin_and_angles((-348.486,1877.42,-184.374),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_ext"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-86.1483,1240.92,-188.656),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-287.927,2106.63,-187.068),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((99.626,801.788,-138),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((111.028,1028.01,-155),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_ext"); + var_00 common_scripts\_createfx::set_origin_and_angles((-67.538,404.453,-120.316),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_ext"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_ext"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1692.99,-33.9845,-554.338),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_ext"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-423.744,1003.76,-183),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-736.1,570.83,-186),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_ext"); + var_00 common_scripts\_createfx::set_origin_and_angles((320.805,1220.12,100),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_ext"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_ext"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1197.86,-345.244,-285),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_ext"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-527.296,999.254,-342.25),(270,0,91)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_shower_spray"); + var_00 common_scripts\_createfx::set_origin_and_angles((-524.19,999.61,-449.5),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_shower_spray"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_shower_spray"); + var_00 common_scripts\_createfx::set_origin_and_angles((-528.847,822.039,-448.375),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_shower_spray"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-504.142,836.952,-446.375),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-486.731,740.207,-416.375),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((-438.617,990.125,-432.375),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist_lt"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_ext"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1159.07,1479.87,-180.562),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_ext"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_ext"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1225.61,503.873,-427),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_ext"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1408.77,258.231,-431.232),(0,180,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_spotlight_cone"); + var_00 common_scripts\_createfx::set_origin_and_angles((185.732,1372.53,-32.2554),(65.4998,180,0)); + var_00.v["fxid"] = "mp_terrace_spotlight_cone"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1513,710.917,-417.422),(360,225.07,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1440.77,640.753,-417.105),(360,180,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1630.78,767.233,-417.774),(0,270,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1629.11,1024.77,-419.13),(0,90,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1440.77,1170.15,-419.272),(0,180,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1510.37,1083.7,-415.665),(360,134.8,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1535.23,1714.25,-395.072),(0,0,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1535.23,1792.47,-342.803),(0,0,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1391.21,1967.23,-291.9),(0,270,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1307.77,1967.23,-237.263),(0,270,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1222.86,1967.23,-181.042),(0,270,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-592.767,1847.92,-176.289),(360,180,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-592.767,1719.83,-176.65),(360,180,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-592.767,1592.23,-176.53),(360,180,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-749.619,1967.23,-176.408),(0,270,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1391.23,1759.46,-176.989),(0,0,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1391.23,1610.55,-176.417),(0,0,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1391.23,1489.2,-176.729),(0,0,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1204.76,1360.77,-176.561),(0,90,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1069.95,1360.77,-176.725),(0,90,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1107.21,1343.23,-422.964),(360,270,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-592.384,2220.24,-43.351),(360,180,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-592.384,2197.28,-27.4297),(360,180,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1007.62,2221.74,-43.4887),(360,0,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1007.62,2197.71,-28.0001),(360,0,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-912.384,2196.65,-27.5399),(360,180,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-912.384,2220.36,-43.2051),(360,180,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-687.616,2197.92,-27.1229),(360,0,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-687.616,2221.94,-43.0349),(360,0,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-750.561,2494.62,-63.6784),(0,270,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-702.085,2495.62,-95.6503),(0,270,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-653.408,2495.62,-127.329),(0,270,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-606.102,2495.62,-159.212),(0,270,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8.22345,-627.639,-135.656),(0,135,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-98.6188,-540.204,-136.081),(360,315,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-49.6298,-490.215,-89.0588),(0,315,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((39.4906,-579.425,-88.7667),(0,135,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((242.505,392.46,80.5721),(0,90,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((322.148,392.46,80.4913),(0,90,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1058.27,367.233,-176.997),(0,270,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1271.1,367.233,-176.697),(0,270,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1366.33,335.589,-176.789),(0,315,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1391.23,165.018,-176.763),(0,0,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_spotlight_cone_purple"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11.0735,909.572,-95.9016),(42.4997,0,0)); + var_00.v["fxid"] = "mp_terrace_spotlight_cone_purple"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_spotlight_cone2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-296.519,522.345,-60.7416),(62.4993,0,0)); + var_00.v["fxid"] = "mp_terrace_spotlight_cone2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1967.23,448.745,-431.367),(360,0,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1967.23,1151.31,-430.208),(360,0,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-529.267,-642.888,-135.474),(0,180,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-529.267,-541.13,-67.2186),(0,180,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-37.866,905.623,-212.143),(0,168,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53.3596,855.635,-241.18),(0,156.3,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-79.6802,806.905,-274.795),(0,144,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-115.631,764.404,-313.722),(0,133.2,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-115.569,921.176,-212.038),(0,347.6,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-126.835,885.402,-241.558),(0,337.2,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-145.394,851.481,-275.213),(0,325.2,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-170.581,821.388,-314.077),(0,314.1,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-201.94,797.087,-351.797),(0,301.4,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-237.032,779.901,-386.691),(0,289.8,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-316.933,766.616,-437.24),(0,270,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-272.443,770.421,-417.608),(0,279.1,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-317.132,689.384,-437.166),(0,90,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-259.773,691.926,-417.247),(0,99.3,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-159.495,729.96,-351.972),(0,122.9,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-209.356,705.456,-386.543),(0,109.2,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_spotlight_cone"); + var_00 common_scripts\_createfx::set_origin_and_angles((-297.978,1327.81,-58.6713),(22.5,0,0)); + var_00.v["fxid"] = "mp_terrace_spotlight_cone"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1103.62,2065.87,-171.354),(0,0,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1103.62,2161.89,-107.13),(0,0,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1103.62,2113.73,-139.11),(0,0,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1103.62,2209.1,-75.146),(0,0,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-789.428,215.297,-169.591),(301.8,262,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-883.664,92.0794,-170.249),(301.8,26,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-730.178,73.455,-170.41),(301.8,142.1,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-338.876,1387.5,-51.9528),(316.8,225,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-869.6,1967.23,-177.282),(0,270,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_fountain_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-823.575,61.2727,-175),(270,0,-7)); + var_00.v["fxid"] = "mp_terrace_fountain_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_fountain_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-858.415,86.1956,-178),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_fountain_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_fountain_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-773.084,65.5424,-174),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_fountain_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_fountain_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-727.822,102.041,-174),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_fountain_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_fountain_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-728.396,138.329,-173),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_fountain_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_fountain_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-741.433,173.32,-173),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_fountain_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_fountain_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-766.356,192.271,-173),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_fountain_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_fountain_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-820.684,201.788,-173),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_fountain_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_fountain_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-849.067,178.438,-173),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_fountain_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_fountain_wake"); + var_00 common_scripts\_createfx::set_origin_and_angles((-873.908,130.389,-173),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_fountain_wake"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1532.34,-127.704,-442.307),(90,90,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1662.23,-0.53923,-519.43),(360,0,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1662.23,77.0677,-464.295),(360,0,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1517.23,74.0989,-349.695),(360,0,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1517.23,138.737,-397.706),(360,0,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-338.581,401.781,-52.6936),(316.8,135,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_02b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2261.55,459.373,-558.791),(358.227,4.76364,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_02b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1985.64,1167.51,-559.83),(0,180,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1985.63,1279.18,-561.221),(0,180,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_02b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1475.49,-635.609,-428.111),(358.794,90.2033,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_02b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_02b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1192.62,-635.014,-377.35),(0,90,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_02b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_02c"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1145.88,-664.533,-369.935),(0,2.71571,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_02c"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_02c"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1101.1,-859.468,-321.557),(0,22.2208,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_02c"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_02c"); + var_00 common_scripts\_createfx::set_origin_and_angles((-896.942,-1096.96,-241.366),(0,58.5863,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_02c"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_02c"); + var_00 common_scripts\_createfx::set_origin_and_angles((-633.333,-1170.05,-174.784),(0,90,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_02c"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_candle_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1015.35,-119.313,-146.375),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_candle_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_candle_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((126.229,-217.943,-28.4981),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_candle_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_candle_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-150.493,-184.062,-28.2028),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_candle_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_candle_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((36.3618,-101.691,-28.5121),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_candle_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_candle_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-95.7904,30.0453,-28.4127),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_candle_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_candle_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((24.9045,148.583,-28.5239),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_candle_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_candle_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((135.749,265.381,-28.1289),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_candle_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_candle_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((353.025,389.089,101.61),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_candle_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_candle_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((276.581,387.765,101.569),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_candle_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_candle_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((206.017,389.078,101.598),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_candle_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_candle_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((237.145,899.15,99.514),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_candle_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_candle_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((237.086,1025.92,99.5589),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_candle_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_candle_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((443.134,1027.4,111.525),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_candle_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_candle_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((443.645,938.981,111.606),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_candle_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_candle_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((465.127,1371.96,99.5363),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_candle_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_candle_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1063.19,-500.909,-248.956),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_candle_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_candle_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1162.18,-503.658,-248.599),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_candle_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_candle_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1393.22,-503.893,-253.437),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_candle_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_candle_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1524.77,-494.182,-251.792),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_candle_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_candle_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1530.83,-375.772,-250.005),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_candle_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_candle_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1531.48,-250.04,-249.912),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_candle_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_02b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2379.56,831.977,-560.045),(358.227,4.76364,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_02b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_02b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1854.83,809.958,-558.915),(0,180,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_02b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_02b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1857.12,729.472,-559.471),(0,180,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_02b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_02b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1845.61,-187.031,-561.83),(357.99,90,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_02b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_02b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1730.06,-186.978,-561.939),(357.74,90.0354,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_02b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_02b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1684.25,143.767,-558.531),(0,180,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_02b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_tv_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-714.747,835.819,-142.552),(351.5,166.9,0)); + var_00.v["fxid"] = "mp_terrace_tv_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_tv_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-797.22,704.275,-142.531),(351.5,123.4,0)); + var_00.v["fxid"] = "mp_terrace_tv_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_tv_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-714.97,970.016,-142.047),(351.5,192.3,0)); + var_00.v["fxid"] = "mp_terrace_tv_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_tv_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-800.145,1087.98,-142.919),(351.5,235.6,0)); + var_00.v["fxid"] = "mp_terrace_tv_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-196.089,794.734,-53.8208),(27.7,300,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-138.952,850.22,-52.3097),(25.6,313.5,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-268.973,765.653,-53.6994),(40.1,280.1,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-105.66,1000.71,-52.6481),(21.1,351.4,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-107.901,931.852,-53.0856),(24.3,338.2,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-317.001,1433.74,-100.657),(360,135,-90)); + var_00.v["fxid"] = "mp_terrace_wall_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-229.983,-8.00391,-101.662),(359.933,205.002,-90.9793)); + var_00.v["fxid"] = "mp_terrace_wall_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_04b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-579.486,510.254,-73.1974),(0,180,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_04b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_04b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-432.353,672.5,-74.0818),(0,90,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_04b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_04b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-433.775,1116.51,-72.8877),(0,270,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_04b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_04b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-577.497,1288.7,-73.5054),(0,180,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_04b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1004.91,1226.55,-69.0687),(0,0,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_04"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1004.9,575.588,-70.0112),(0,0,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_04"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1002.23,-436.602,-237.357),(0,90,-90)); + var_00.v["fxid"] = "mp_terrace_wall_light_04"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-815.748,-435.951,-170.975),(0,90,-90)); + var_00.v["fxid"] = "mp_terrace_wall_light_04"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-820.958,-329.036,-173.618),(360,270,-90)); + var_00.v["fxid"] = "mp_terrace_wall_light_04"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1003.34,-330.913,-236.101),(360,270,-90)); + var_00.v["fxid"] = "mp_terrace_wall_light_04"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1046.12,6.78251,-250.008),(0,180,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_04"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1041.12,216.146,-372.312),(0,180,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_04"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1198.88,214.704,-373.988),(0,0,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_04"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1198.88,6.18834,-249.433),(0,0,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_04"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_02b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1761.12,1300.43,-567.699),(340,229.4,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_02b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_standing_light2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1322.25,2157.69,-327.008),(270,227.7,0)); + var_00.v["fxid"] = "mp_terrace_standing_light2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_standing_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1365.64,2454.08,-480.008),(270,114.2,0)); + var_00.v["fxid"] = "mp_terrace_standing_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_standing_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1085.03,2895.14,-337.008),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_standing_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_standing_light2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-757.565,2699.14,-157.008),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_standing_light2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_standing_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-209.924,2588.77,-166.008),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_standing_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_standing_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-586.425,2767.62,-197.008),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_standing_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_standing_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1704.68,2136.09,-516.008),(270,26.6,0)); + var_00.v["fxid"] = "mp_terrace_standing_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_standing_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-141.106,2273.73,-72.0082),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_standing_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_standing_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((232.351,1573.43,69.4918),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_standing_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_standing_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-135.702,1758.1,4.49174),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_standing_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_standing_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1813.81,1812.35,-438.008),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_standing_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_standing_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1636.73,1863.81,-201.557),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_standing_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_hanging_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-947.209,1437.89,-81.0042),(17.0608,56.4049,0)); + var_00.v["fxid"] = "mp_terrace_hanging_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_hanging_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-650.872,1438.02,-83.4893),(34.2628,101.092,0)); + var_00.v["fxid"] = "mp_terrace_hanging_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-899.222,2177.63,-4.22683),(340,245.8,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_hanging_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((845.794,1547.53,398.322),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_hanging_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_hanging_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((845.822,1655.61,398.315),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_hanging_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_hanging_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((668.577,1303.6,355.218),(0,0,0)); + var_00.v["fxid"] = "mp_terrace_hanging_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_hanging_light2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1372.85,-13.3271,-87.3101),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_hanging_light2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_hanging_light2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1464.3,-1.46858,-176.19),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_hanging_light2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_hanging_light2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2102.18,137.798,-434.678),(69.0879,256.125,0)); + var_00.v["fxid"] = "mp_terrace_hanging_light2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_hanging_light2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1637.77,1720.95,-382.997),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_hanging_light2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_candle_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((437.362,819.216,109.247),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_candle_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_candle_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((440.164,746.12,110.24),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_candle_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((704.611,948.507,115),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist_lt"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_torch_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-609.062,2011.76,-12.6237),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_torch_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-926.294,790.756,119.233),(90,270,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-896.232,837.817,119.233),(90,270,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-888.34,893.559,119.233),(90,270,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-896.442,949.736,119.233),(90,270,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-926.433,995.129,116.233),(90,90,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_hanging_light2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-460.879,1141.54,-352.246),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_hanging_light2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_candle_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1273.11,-501.405,-252.887),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_candle_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-752.387,1549.85,-276.723),(270,0,91)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-732.138,1422.71,-285.069),(270,0,91)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-689.795,1407.87,-295.315),(270,0,91)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-757.307,1254.44,-344.05),(270,0,91)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-816.146,1248.94,-337.927),(270,0,91)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-789.277,1390.49,-321.009),(270,0,91)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-673.295,1558.28,-312.561),(270,0,91)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-706.361,1621.19,-308.375),(270,0,91)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-851.977,1807,-325.276),(270,0,91)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-964.955,1824.45,-272.933),(270,0,91)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_hanging_light2"); + var_00 common_scripts\_createfx::set_origin_and_angles((336.596,378.244,59.908),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_hanging_light2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_hanging_light2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1514.97,-525.075,-282.659),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_hanging_light2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((151.569,-175.146,54.5584),(0,270,-90)); + var_00.v["fxid"] = "mp_terrace_wall_light_03"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((127.8,-27.34,57.6366),(18,90,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_03"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((151.527,-29.2588,2.32634),(0,0,-90)); + var_00.v["fxid"] = "mp_terrace_wall_light_03"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((107.704,-170.689,59.1732),(0,270,-90)); + var_00.v["fxid"] = "mp_terrace_wall_light_03"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((120.885,-180.13,13.3347),(0,287,-90)); + var_00.v["fxid"] = "mp_terrace_wall_light_03"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((90.9177,-176.32,14.1724),(360,251,-90)); + var_00.v["fxid"] = "mp_terrace_wall_light_03"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((107.239,-162.295,19.0062),(341,270,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_03"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((106.047,-170.097,8.09579),(9,270,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_03"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((127.069,-170.372,67.1228),(341,270,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_03"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((126.29,-168.49,56.1858),(9,270,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_03"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((128.759,-32.295,56.4306),(331,90,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_03"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((126.697,-17.8186,62.818),(0,127,-90)); + var_00.v["fxid"] = "mp_terrace_wall_light_03"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((127.782,-19.9973,62.1649),(360,49,-90)); + var_00.v["fxid"] = "mp_terrace_wall_light_03"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_sign_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1109.61,936.164,-151.218),(0,0,0)); + var_00.v["fxid"] = "mp_terrace_sign_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_sign_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1034.75,-378.303,-106.841),(0,180,0)); + var_00.v["fxid"] = "mp_terrace_sign_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_sign_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-633.503,-739.297,-86.1975),(0,360,0)); + var_00.v["fxid"] = "mp_terrace_sign_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_sign_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((75.428,-1072.03,2.9804),(0,180,0)); + var_00.v["fxid"] = "mp_terrace_sign_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_spot_flare2"); + var_00 common_scripts\_createfx::set_origin_and_angles((445.748,-165.192,234.565),(360,158.472,0)); + var_00.v["fxid"] = "mp_terrace_spot_flare2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_spot_flare2"); + var_00 common_scripts\_createfx::set_origin_and_angles((502.017,495.359,234.58),(0,180,0)); + var_00.v["fxid"] = "mp_terrace_spot_flare2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_sign_flare2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11.292,946.684,154.266),(0,0,0)); + var_00.v["fxid"] = "mp_terrace_sign_flare2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_sign_flare2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18,825,134.603),(0,0,0)); + var_00.v["fxid"] = "mp_terrace_sign_flare2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_jewelry_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-648.335,-819.941,-92.2385),(88,0,0)); + var_00.v["fxid"] = "mp_terrace_jewelry_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_jewelry_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-643.472,-820.024,-131.947),(89,0,0)); + var_00.v["fxid"] = "mp_terrace_jewelry_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_candle_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-520.855,-701.218,-147.123),(303.059,30.3643,0)); + var_00.v["fxid"] = "mp_terrace_candle_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_window_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-147.596,-504.989,-131.202),(0,201.2,0)); + var_00.v["fxid"] = "mp_terrace_window_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_window_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-195.547,-410.594,-133.296),(0,180,0)); + var_00.v["fxid"] = "mp_terrace_window_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_window_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-166.627,-397.013,-132.075),(0,180,0)); + var_00.v["fxid"] = "mp_terrace_window_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_window_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((23.3804,-704.837,-135.398),(0,228.5,0)); + var_00.v["fxid"] = "mp_terrace_window_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_sign_flare2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-451.418,1427.05,-79.8767),(0,90,0)); + var_00.v["fxid"] = "mp_terrace_sign_flare2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_sign_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-323.429,883.911,-58.4143),(0,180,0)); + var_00.v["fxid"] = "mp_terrace_sign_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((-275.462,738.577,-362.875),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist_lt"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_spotlight_cone_red"); + var_00 common_scripts\_createfx::set_origin_and_angles((-879.778,-1021.6,0.460983),(87.499,56.6822,99.9848)); + var_00.v["fxid"] = "mp_terrace_spotlight_cone_red"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_spotlight_cone_red"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1053.53,-764.569,1.49724),(87.4986,14.2946,91)); + var_00.v["fxid"] = "mp_terrace_spotlight_cone_red"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_spotlight_cone3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-538.171,-1043.68,7.19512),(20.1911,321.92,77)); + var_00.v["fxid"] = "mp_terrace_spotlight_cone3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-853.283,1799.84,-312.573),(270,0,91)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-896.052,1806.22,-269.447),(270,0,91)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-911.639,1884.41,-259.001),(270,0,91)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-939.567,1948.17,-253.855),(270,0,91)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-907.21,1939.09,-252.788),(270,0,91)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-494.005,996.353,-444.375),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_ext"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1102.13,1207.71,-134.875),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_ext"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_ext"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1100.89,672.632,-162.036),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_ext"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_sign_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1118.15,777.055,-117),(0,0,0)); + var_00.v["fxid"] = "mp_terrace_sign_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_sign_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1117.65,681.582,-181),(359.673,341,-0.9463)); + var_00.v["fxid"] = "mp_terrace_sign_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_ext"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1433.87,2231.62,-467.525),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_ext"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_ext"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1569.52,1375.92,-422),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_ext"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_ext"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1011.39,133.741,-133.53),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_ext"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_ext"); + var_00 common_scripts\_createfx::set_origin_and_angles((-431.064,96.6964,-146.237),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_ext"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_ext"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1142.87,2543.8,-415.849),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_ext"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_ext"); + var_00 common_scripts\_createfx::set_origin_and_angles((-760.291,2963.86,-204.745),(276,180,180)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_ext"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_ground_slow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-753.065,2609.99,-200.797),(270,0,90)); + var_00.v["fxid"] = "dust_blowing_ground_slow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_ground_slow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1041.91,2557.29,-213.228),(270,0,86)); + var_00.v["fxid"] = "dust_blowing_ground_slow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_ground_slow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-889.954,2859.67,-300.808),(270,0,105)); + var_00.v["fxid"] = "dust_blowing_ground_slow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_ground_slow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1604.25,2203.66,-521.481),(276,175,-90)); + var_00.v["fxid"] = "dust_blowing_ground_slow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-199.728,1012.97,-176),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-133.966,822.719,-107),(90,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1090.6,1070.3,-155.875),(270,244.434,115.566)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_motes_blue"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13.181,840.743,155),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_motes_blue"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_motes_blue"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1.12785,958.571,174.359),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_motes_blue"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-496.289,1132.57,-343.559),(270,0,91)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_drip_circle_lg_runner_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-437.58,1153.27,-343.325),(270,0,91)); + var_00.v["fxid"] = "falling_water_drip_circle_lg_runner_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((130.226,1400.19,-116),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-267.982,261.62,-158.954),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-304.9,-189.888,-166.075),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-378.439,-471.883,-154.767),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52.3425,-596.322,-87.926),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((113.503,-232.346,31.5197),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((446.804,253.626,5),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((384.46,239.693,-15.1724),(0,0,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((384.46,326.248,42.8813),(0,0,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((308.574,816.128,128),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((300.402,1056.75,137),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-679.612,1479.79,-88.6765),(270,244.434,115.566)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1730.33,1791.46,-354.466),(38,336,0)); + var_00.v["fxid"] = "mp_gb_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((82.4052,1790.35,267.432),(38,336,0)); + var_00.v["fxid"] = "mp_gb_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51.2542,-999.634,-151.373),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-254.397,-555.507,-151.806),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-421.549,491.566,-21.875),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_hanging_light2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1700.04,1030.53,-471.982),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_hanging_light2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_hanging_light3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1736.04,416.364,-465.761),(90,0,0)); + var_00.v["fxid"] = "mp_terrace_hanging_light3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_04c"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1729.63,692.549,-506.391),(0,270.49,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_04c"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_04c"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1684.84,593.286,-505.98),(0,180,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_04c"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_04d"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1680,238.605,-496.865),(0,180,-90)); + var_00.v["fxid"] = "mp_terrace_wall_light_04d"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_04d"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1864.04,215.546,-498.264),(0,45,-90)); + var_00.v["fxid"] = "mp_terrace_wall_light_04d"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_04d"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1963.49,464.786,-496.29),(0,0,-90)); + var_00.v["fxid"] = "mp_terrace_wall_light_04d"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_04d"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1962.47,570.748,-496.753),(0,0,-90)); + var_00.v["fxid"] = "mp_terrace_wall_light_04d"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1754.17,103.676,-558),(270,244.434,115.566)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1634.07,1595.81,-387),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_blowing_ground_slow_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-458.731,2842.77,-200.503),(270,0,92)); + var_00.v["fxid"] = "dust_blowing_ground_slow_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1400.41,1909.76,-299.846),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wave_hit_large_mp_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8192.96,17797.8,-9833.67),(270,0,-84)); + var_00.v["fxid"] = "wave_hit_large_mp_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wave_hit_large_mp_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8660.21,12867.6,-9750.48),(270,0,-93)); + var_00.v["fxid"] = "wave_hit_large_mp_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wave_hit_large_mp_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11739,9330.71,-9703.06),(270,0,-102)); + var_00.v["fxid"] = "wave_hit_large_mp_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wave_hit_large_mp_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9749.78,9937.6,-9793.6),(270,0,-102)); + var_00.v["fxid"] = "wave_hit_large_mp_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wave_hit_large_mp_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7845.09,20175.8,-9859.53),(270,0,-102)); + var_00.v["fxid"] = "wave_hit_large_mp_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wave_hit_large_mp_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8559.29,-7947.13,-9783.21),(270,0,-95)); + var_00.v["fxid"] = "wave_hit_large_mp_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wave_hit_large_mp_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9324.5,-4033.84,-9742.21),(270,0,-70)); + var_00.v["fxid"] = "wave_hit_large_mp_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_falling_leaves_infrequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((288.445,-1325.77,28.8785),(270,0,0)); + var_00.v["fxid"] = "ambient_falling_leaves_infrequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_falling_leaves_infrequent"); + var_00 common_scripts\_createfx::set_origin_and_angles((795.84,521.002,638.528),(270,0,0)); + var_00.v["fxid"] = "ambient_falling_leaves_infrequent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-567.145,350.795,156.089),(38,336,0)); + var_00.v["fxid"] = "mp_gb_sparks_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying_heavy"); + var_00 common_scripts\_createfx::set_origin_and_angles((409.345,-1011.64,-146.875),(0,0,0)); + var_00.v["fxid"] = "insects_gnats_flying_heavy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_standing_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-662.309,-310.857,-127.527),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_standing_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_spotlight_cone"); + var_00 common_scripts\_createfx::set_origin_and_angles((-873.039,-668.398,-71.7334),(60.4994,0,0)); + var_00.v["fxid"] = "mp_terrace_spotlight_cone"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_spotlight_cone"); + var_00 common_scripts\_createfx::set_origin_and_angles((-867.647,-617.334,-68.8716),(60.4994,0,0)); + var_00.v["fxid"] = "mp_terrace_spotlight_cone"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_spotlight_cone"); + var_00 common_scripts\_createfx::set_origin_and_angles((-872.817,-577.877,-71.1976),(60.4994,0,0)); + var_00.v["fxid"] = "mp_terrace_spotlight_cone"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_spotlight_cone"); + var_00 common_scripts\_createfx::set_origin_and_angles((-872.72,-537.62,-70.9618),(60.4994,0,0)); + var_00.v["fxid"] = "mp_terrace_spotlight_cone"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_spotlight_cone"); + var_00 common_scripts\_createfx::set_origin_and_angles((-777.123,-620.099,-59.1514),(61.4997,180,0)); + var_00.v["fxid"] = "mp_terrace_spotlight_cone"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_spotlight_cone"); + var_00 common_scripts\_createfx::set_origin_and_angles((-784.601,-668.106,-61.6817),(61.4997,180,0)); + var_00.v["fxid"] = "mp_terrace_spotlight_cone"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_spotlight_cone"); + var_00 common_scripts\_createfx::set_origin_and_angles((-779.058,-573.104,-65.4224),(61.4997,180,0)); + var_00.v["fxid"] = "mp_terrace_spotlight_cone"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_spotlight_cone"); + var_00 common_scripts\_createfx::set_origin_and_angles((-780.383,-533.018,-66.4425),(61.4997,180,0)); + var_00.v["fxid"] = "mp_terrace_spotlight_cone"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying_heavy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1635.61,1718.15,-382.053),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying_heavy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_mosquitos_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1364.6,2450.84,-464.008),(270,0,0)); + var_00.v["fxid"] = "insects_mosquitos_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_mosquitos_flying"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1088.6,2892.99,-329.008),(270,0,0)); + var_00.v["fxid"] = "insects_mosquitos_flying"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_moths_area_sml"); + var_00 common_scripts\_createfx::set_origin_and_angles((-942.67,1448.11,-90.0936),(270,0,0)); + var_00.v["fxid"] = "insects_moths_area_sml"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying_heavy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-605.991,2009.37,-5.44674),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying_heavy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying_heavy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-340.857,1385.86,-48.6127),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying_heavy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wood_piece_falling_sm_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1148.94,2483.11,-294.258),(270,0,0)); + var_00.v["fxid"] = "wood_piece_falling_sm_runner"; + var_00.v["delay"] = -33; + var_00 = common_scripts\utility::createoneshoteffect("wood_piece_falling_sm_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1238.53,2360.05,-380.753),(270,0,0)); + var_00.v["fxid"] = "wood_piece_falling_sm_runner"; + var_00.v["delay"] = -11; + var_00 = common_scripts\utility::createoneshoteffect("wood_piece_falling_sm_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1365.23,2251.32,-459.528),(270,0,0)); + var_00.v["fxid"] = "wood_piece_falling_sm_runner"; + var_00.v["delay"] = -7; + var_00 = common_scripts\utility::createoneshoteffect("wood_piece_falling_sm_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1181.11,2419.88,-328.247),(270,0,0)); + var_00.v["fxid"] = "wood_piece_falling_sm_runner"; + var_00.v["delay"] = -3; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1446.63,-56.1122,-300),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_window_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-959.642,1963.04,-122.733),(0,270,0)); + var_00.v["fxid"] = "mp_terrace_window_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_window_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-839.018,1971.77,-130.278),(0,270,0)); + var_00.v["fxid"] = "mp_terrace_window_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_particles_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1147.46,1671.37,-141),(270,0,2)); + var_00.v["fxid"] = "ambient_wind_particles_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_particles_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1827.52,1253.48,-421),(270,0,2)); + var_00.v["fxid"] = "ambient_wind_particles_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_particles_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1753.54,351.017,-420),(270,0,2)); + var_00.v["fxid"] = "ambient_wind_particles_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_particles_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1328.31,-402.203,-305),(270,0,2)); + var_00.v["fxid"] = "ambient_wind_particles_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_particles_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-964.347,156.661,-148.729),(270,0,2)); + var_00.v["fxid"] = "ambient_wind_particles_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_particles_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((390.414,1583.6,83.7228),(270,0,2)); + var_00.v["fxid"] = "ambient_wind_particles_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_particles_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-579.2,1732.88,16.4),(270,0,2)); + var_00.v["fxid"] = "ambient_wind_particles_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_particles_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1015.23,2436.22,-32),(270,0,2)); + var_00.v["fxid"] = "ambient_wind_particles_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_streaks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1013.42,1247.04,134.125),(270,0,0)); + var_00.v["fxid"] = "ambient_wind_streaks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_streaks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1012.83,595.543,132.125),(270,0,0)); + var_00.v["fxid"] = "ambient_wind_streaks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_streaks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1015.26,-641.654,-21),(270,0,0)); + var_00.v["fxid"] = "ambient_wind_streaks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_streaks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-650.126,-835.862,-18),(270,0,0)); + var_00.v["fxid"] = "ambient_wind_streaks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_streaks"); + var_00 common_scripts\_createfx::set_origin_and_angles((95.3751,-1093.83,32),(270,0,0)); + var_00.v["fxid"] = "ambient_wind_streaks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_streaks"); + var_00 common_scripts\_createfx::set_origin_and_angles((107.882,-103.407,125.117),(270,0,0)); + var_00.v["fxid"] = "ambient_wind_streaks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_streaks"); + var_00 common_scripts\_createfx::set_origin_and_angles((245.907,540.33,73),(270,0,0)); + var_00.v["fxid"] = "ambient_wind_streaks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_streaks"); + var_00 common_scripts\_createfx::set_origin_and_angles((238.327,1272.3,68),(270,0,0)); + var_00.v["fxid"] = "ambient_wind_streaks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_streaks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-579.514,1622.1,-17.4976),(270,0,0)); + var_00.v["fxid"] = "ambient_wind_streaks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-450.382,1327.08,-41.875),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_particles_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((558.084,1401.78,328.482),(270,0,2)); + var_00.v["fxid"] = "ambient_wind_particles_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_streaks"); + var_00 common_scripts\_createfx::set_origin_and_angles((389.594,801.78,373.186),(270,0,0)); + var_00.v["fxid"] = "ambient_wind_streaks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_streaks"); + var_00 common_scripts\_createfx::set_origin_and_angles((566.375,1654.97,265.873),(270,0,0)); + var_00.v["fxid"] = "ambient_wind_streaks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_particles_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((849.696,1889.88,428.74),(270,0,2)); + var_00.v["fxid"] = "ambient_wind_particles_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_particles_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((380.425,2918.22,512.982),(270,180,156)); + var_00.v["fxid"] = "ambient_wind_particles_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_particles_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-215.408,-347.755,109.37),(270,0,2)); + var_00.v["fxid"] = "ambient_wind_particles_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_streaks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20.6615,951.22,392.125),(270,0,0)); + var_00.v["fxid"] = "ambient_wind_streaks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_streaks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1977.04,466.446,-411.603),(270,0,0)); + var_00.v["fxid"] = "ambient_wind_streaks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_streaks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1987.64,1055.09,-412.5),(270,0,0)); + var_00.v["fxid"] = "ambient_wind_streaks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_streaks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1670.39,1687.08,-156.54),(270,0,0)); + var_00.v["fxid"] = "ambient_wind_streaks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_streaks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1020.59,2114.22,18.8535),(270,0,0)); + var_00.v["fxid"] = "ambient_wind_streaks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_streaks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-593.867,2092.44,64.9171),(270,0,0)); + var_00.v["fxid"] = "ambient_wind_streaks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_streaks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-161.728,2084.8,-49.3339),(270,0,0)); + var_00.v["fxid"] = "ambient_wind_streaks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_streaks"); + var_00 common_scripts\_createfx::set_origin_and_angles((160.412,1491.09,116.891),(270,0,0)); + var_00.v["fxid"] = "ambient_wind_streaks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_particles_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((138.837,1572.53,333.975),(270,0,2)); + var_00.v["fxid"] = "ambient_wind_particles_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_streaks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-804.585,499.938,285.44),(270,0,0)); + var_00.v["fxid"] = "ambient_wind_streaks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_streaks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-813.703,1215.16,290.367),(270,0,0)); + var_00.v["fxid"] = "ambient_wind_streaks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_particles_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53.1396,1067.62,377.087),(270,0,2)); + var_00.v["fxid"] = "ambient_wind_particles_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_particles_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((335.146,-146.814,336.352),(270,0,2)); + var_00.v["fxid"] = "ambient_wind_particles_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_particles_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1024,-490.758,-7.22723),(270,0,2)); + var_00.v["fxid"] = "ambient_wind_particles_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_particles_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1649.78,-81.1188,-298.587),(270,0,2)); + var_00.v["fxid"] = "ambient_wind_particles_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_particles_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-684.363,-1012.46,-22.6468),(270,0,2)); + var_00.v["fxid"] = "ambient_wind_particles_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_particles_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-436.546,-143.191,291.843),(270,0,2)); + var_00.v["fxid"] = "ambient_wind_particles_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_particles_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1182.07,156.965,261.258),(270,0,2)); + var_00.v["fxid"] = "ambient_wind_particles_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_wind_particles_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1175.43,1132.7,471.59),(270,0,2)); + var_00.v["fxid"] = "ambient_wind_particles_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_candle_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((133.072,-545.352,-25.9697),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_candle_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_02b"); + var_00 common_scripts\_createfx::set_origin_and_angles((169.229,-563.177,47.9721),(86.4533,327.731,-34.3203)); + var_00.v["fxid"] = "mp_terrace_wall_light_02b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_spotlight_cone2"); + var_00 common_scripts\_createfx::set_origin_and_angles((130.512,-1080.39,-9.12561),(62.4993,0,0)); + var_00.v["fxid"] = "mp_terrace_spotlight_cone2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_standing_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((593.564,898.01,138.685),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_standing_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_steamroom_mist_lt"); + var_00 common_scripts\_createfx::set_origin_and_angles((576.589,912.478,119),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_steamroom_mist_lt"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_spotlight_cone3"); + var_00 common_scripts\_createfx::set_origin_and_angles((584.779,894.924,148.457),(89.1575,0,0)); + var_00.v["fxid"] = "mp_terrace_spotlight_cone3"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_window_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-693.322,800.842,378.389),(0,315,0)); + var_00.v["fxid"] = "mp_terrace_window_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_window_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-797.461,748.5,384.74),(0,270,0)); + var_00.v["fxid"] = "mp_terrace_window_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_window_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-884.204,804.935,380.4),(0,225,0)); + var_00.v["fxid"] = "mp_terrace_window_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_window_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-920.303,896.934,382.994),(0,180,0)); + var_00.v["fxid"] = "mp_terrace_window_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_window_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-884.264,986.891,381.078),(0,135,0)); + var_00.v["fxid"] = "mp_terrace_window_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_window_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-793.134,1025.81,377.546),(0,90,0)); + var_00.v["fxid"] = "mp_terrace_window_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_window_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-696.084,994.599,384.196),(0,45,0)); + var_00.v["fxid"] = "mp_terrace_window_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_window_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-654.486,896.278,382.266),(0,0,0)); + var_00.v["fxid"] = "mp_terrace_window_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_campfire_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1791.65,1156.24,-416.446),(270,0,-90)); + var_00.v["fxid"] = "fire_campfire_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_hanging_light2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-824.797,2234.92,-83.6396),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_hanging_light2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_sign_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1116.17,929.214,-152.875),(0,180,0)); + var_00.v["fxid"] = "mp_terrace_sign_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-824.747,877.42,-123),(270,0,0)); + var_00.v["fxid"] = "mp_terrace_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_01b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1378.35,352.236,-431.181),(360,135,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_01b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-672.936,1327.27,-364.536),(2.99779,166.199,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-987.615,1836.08,-323.246),(3.59308,8.55252,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((595.584,898.632,141.826),(43.5627,0,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_spot_flare2"); + var_00 common_scripts\_createfx::set_origin_and_angles((517.95,-17.6848,295.178),(360,149.472,0)); + var_00.v["fxid"] = "mp_terrace_spot_flare2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_spot_flare2"); + var_00 common_scripts\_createfx::set_origin_and_angles((502.017,543.511,249.435),(0,180,0)); + var_00.v["fxid"] = "mp_terrace_spot_flare2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_sign_flare2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-460.526,362.285,-83.1969),(0,270,0)); + var_00.v["fxid"] = "mp_terrace_sign_flare2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_sign_flare2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-589.995,912.354,-309.087),(0,180,0)); + var_00.v["fxid"] = "mp_terrace_sign_flare2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_sign_flare2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-333.81,938.648,-352.777),(0,180,0)); + var_00.v["fxid"] = "mp_terrace_sign_flare2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_blowing_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-210.45,3183.39,131.068),(0,210,0)); + var_00.v["fxid"] = "leaves_blowing_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_blowing_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-855.726,3493.79,-14.4451),(0,210,0)); + var_00.v["fxid"] = "leaves_blowing_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_blowing_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((347.061,2724.14,296.181),(0,210,0)); + var_00.v["fxid"] = "leaves_blowing_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_blowing_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((460.101,2418.22,443.165),(0,210,0)); + var_00.v["fxid"] = "leaves_blowing_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_blowing_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((549.16,2141.62,420.151),(0,210,0)); + var_00.v["fxid"] = "leaves_blowing_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("leaves_blowing_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((366.451,-1488.65,-141.332),(0,210,0)); + var_00.v["fxid"] = "leaves_blowing_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-543.095,723.429,-448.375),(270,0,0)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-542.311,778.386,-448.375),(270,0,0)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-542.414,822.066,-448.375),(270,0,0)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-540.028,856.393,-450.375),(270,0,0)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-541.876,918.647,-447.375),(270,0,0)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-541.478,970.872,-447.375),(270,0,0)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-540.833,1048.9,-447.375),(270,0,0)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-501.857,690.312,-450.375),(270,0,-90)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-450.253,689.822,-447.375),(270,0,-90)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_gb_water_splash_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-378.768,689.041,-447.375),(270,0,-90)); + var_00.v["fxid"] = "mp_gb_water_splash_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying_heavy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1088.47,2887.89,-352.925),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying_heavy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_gnats_flying_heavy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1360.81,2438.83,-501.722),(270,0,0)); + var_00.v["fxid"] = "insects_gnats_flying_heavy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_02b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1657.9,-253.534,-522.52),(0,0.879174,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_02b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_light_02b"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1657.88,-331.962,-466.027),(0,0.879174,0)); + var_00.v["fxid"] = "mp_terrace_wall_light_02b"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_terrace_wall_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((65.8799,-990.776,-99.2676),(0,270,0)); + var_00.v["fxid"] = "mp_terrace_wall_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((384.163,-1087.74,-50.341),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "mp_ter_dist_dog"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2579.3,971.896,-410.468),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_ter_dist_thunder"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2418.44,859.816,-480),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_ter_wind_gust_high"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-31.8725,896.604,376.69),(270,0,0)); + var_00.v["delay_min"] = 15; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "mp_ter_belltower"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((257.229,885.611,335.083),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_ter_dist_thunder"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1969.04,-159.851,-445.405),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_ter_gull"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2327.76,1336.57,-576),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_ter_gull"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1687.14,2741.46,-419.845),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_ter_gull_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2080.79,2341.45,-335.097),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_ter_gull"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((668.091,1969.51,335.725),(270,0,0)); + var_00.v["delay_min"] = 1; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "mp_ter_dist_dog"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-935.153,1679.17,-184.969),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "mp_ter_fire_flame"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1634.2,-820.231,-84.43),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_ter_battle_explo_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2142.48,-548.635,-150.159),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_ter_battle_explo_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-989.853,-1306.99,-42.004),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_ter_dist_thunder_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((218.302,-475.746,233.464),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_ter_dist_thunder_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2337.6,-13.2925,-377.67),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_ter_dist_thunder_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-859.813,2690,-194.289),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_ter_bush_foliage_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((124.505,2433.45,-30.2823),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_ter_bush_foliage_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-53.4882,2067.14,-60.8173),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_ter_bush_foliage_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-195.602,2964.38,-152.438),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_ter_bush_foliage_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1057.27,2430.29,-219.844),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_ter_bush_foliage_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1766.1,2179.97,-520.54),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_ter_bush_foliage_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((272.277,1879.98,56.8378),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_ter_tunnel_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-6.40811,2407.04,-119.24),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_ter_tunnel_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-453.09,2982.06,-165.168),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_ter_tunnel_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1063.2,2589.64,-414.499),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "mp_ter_tunnel_debris"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-597.928,405.635,-45.633),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "mp_ter_camera"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-283.219,1095.91,-40.3701),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "mp_ter_camera"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((189.648,839.327,-91.5399),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "mp_ter_camera"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-292.737,1360.34,-78.8566),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "mp_ter_camera"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-600.607,1378.57,-47.4027),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "mp_ter_camera"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-600.607,1378.57,-47.4027),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "mp_ter_camera"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-775.74,119.8,-40.686),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "mp_ter_tree_foliage"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((190,3100,350),(0,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "mp_ter_rockslide"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-492.528,3336.36,200),(0,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "mp_ter_rockslide"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((46.1207,2598.12,-99.9212),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_ter_foliage_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-376.265,2984.12,-170.403),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_ter_foliage_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1374.73,2559.66,-491.728),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_ter_foliage_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1057.91,2453.58,-221.076),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_ter_foliage_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-703.667,2541.88,-201.687),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_ter_foliage_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-178.103,2920.29,-151.749),(270,0,1)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_ter_foliage_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-709.03,3003.48,-213.449),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_ter_foliage_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-759.064,2759.18,-254.47),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_ter_foliage_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1311.17,2092.81,-354.855),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_ter_foliage_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1850.78,1964.59,-567.396),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_ter_foliage_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1850.78,1964.59,-567.396),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_ter_foliage_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2206.58,1694.86,-523.053),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_ter_bouy"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2205.93,-197.847,-536.688),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_ter_bouy"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2187.3,-87.5227,-568.47),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "mp_ter_boat"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1590.22,-774.235,-322.388),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "mp_ter_boat"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-429.575,-1398.49,-129.275),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "mp_ter_boat"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1182.24,2986.25,-335.731),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "mp_ter_boat"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1377.33,3199.21,-255.377),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_ter_bouy"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-803.999,125.162,-57.1181),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_ter_dist_owl_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((515.487,2221.75,437.96),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_ter_dist_owl_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-786.174,3540.34,42.716),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_ter_dist_owl_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1601.49,3177.04,2227.49),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "mp_ter_windmill_creak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1740,1314.08,-465.256),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "mp_ter_bat"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1743.99,848,-472.126),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "mp_ter_bat"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2378.02,159.377,-561.601),(270,0,0)); + var_00.v["delay_min"] = 15; + var_00.v["delay_max"] = 25; + var_00.v["soundalias"] = "mp_ter_speedboat"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2654.56,731.881,-588.933),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_ter_bouy"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1794.89,1148.2,-419.526),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "mp_ter_fire_flame_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1794.93,450.937,-420.965),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "mp_ter_fire_flame_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1730.13,1788.48,-355.296),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "mp_ter_gull_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1730.11,1788.48,-355.298),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "sparks_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1732.72,1797.9,-351.873),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "sparks_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((83.4934,1791.63,268.381),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "sparks_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((87.694,1789.87,191.566),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "sparks_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-563.893,344.31,168.289),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "sparks_01"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-570.933,355.486,122.423),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "sparks_02"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_torqued_fx.gsc b/AW/PC/maps/createfx/mp_torqued_fx.gsc new file mode 100644 index 0000000..c724595 --- /dev/null +++ b/AW/PC/maps/createfx/mp_torqued_fx.gsc @@ -0,0 +1,2550 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_torqued_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 121 ms + * Timestamp: 4/22/2024 2:07:50 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3119.31,-214.746,809.6),(270,0,0)); + var_00.v["soundalias"] = "stream_med_dist_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-115.398,-2236.43,770.316),(270,0,0)); + var_00.v["soundalias"] = "stream_med_dist_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3118.37,-885.761,779.438),(270,0,0)); + var_00.v["soundalias"] = "stream_med_dist_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3079.29,-1693.24,684.298),(270,0,0)); + var_00.v["soundalias"] = "stream_med_dist_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3120,-124.312,790.397),(270,0,0)); + var_00.v["soundalias"] = "stream_med_near_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3119.12,-194.606,788.548),(270,0,0)); + var_00.v["soundalias"] = "stream_med_close_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3093.46,-1321.68,726.941),(270,0,0)); + var_00.v["soundalias"] = "stream_med_close_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3118.49,-765.232,762.596),(270,0,0)); + var_00.v["soundalias"] = "stream_med_close_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3118.39,-1031.62,764.186),(270,0,0)); + var_00.v["soundalias"] = "stream_med_near_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-47.072,-2396.61,1082.63),(270,0,0)); + var_00.v["soundalias"] = "wind_door_heavy_int_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1024.39,-2015.24,876.548),(270,0,0)); + var_00.v["soundalias"] = "wind_door_heavy_int_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-653.438,-2219.53,859.875),(270,0,0)); + var_00.v["soundalias"] = "wind_tunnel_int_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1424.51,-835.299,923),(270,0,0)); + var_00.v["soundalias"] = "wind_tunnel_int_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((786.314,-1855.35,707.067),(270,0,0)); + var_00.v["soundalias"] = "wind_door_heavy_int_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((766.813,-574.031,960),(270,0,0)); + var_00.v["soundalias"] = "wind_howl_heavy_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-206.212,-810.509,1035.86),(270,0,0)); + var_00.v["soundalias"] = "wind_howl_heavy_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1231.2,-1216.06,910.92),(270,0,0)); + var_00.v["soundalias"] = "wind_howl_heavy_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1232.98,-1556.1,910.145),(270,0,0)); + var_00.v["soundalias"] = "wind_howl_light_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-898.481,-648.123,922),(270,0,0)); + var_00.v["soundalias"] = "wind_howl_light_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1451.72,-77.42,1002),(270,0,0)); + var_00.v["soundalias"] = "wind_howl_light_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1348.37,676.915,1067.68),(270,0,0)); + var_00.v["soundalias"] = "wind_howl_light_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((181.043,387.959,1120.89),(270,0,0)); + var_00.v["soundalias"] = "wind_howl_light_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((8.17131,-69.0333,905.329),(270,0,0)); + var_00.v["soundalias"] = "wind_howl_light_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-929.857,-136.32,979.875),(270,0,0)); + var_00.v["soundalias"] = "wind_howl_heavy_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-560.329,486.862,1128),(270,0,0)); + var_00.v["soundalias"] = "wind_howl_heavy_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((688.5,295.222,1045.51),(270,0,0)); + var_00.v["soundalias"] = "wind_howl_heavy_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-785.208,484.571,1020),(270,0,0)); + var_00.v["soundalias"] = "wind_tunnel_int_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((512.99,832.174,1072.28),(270,0,0)); + var_00.v["soundalias"] = "wind_tunnel_int_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1246.24,709.599,1143),(270,0,0)); + var_00.v["soundalias"] = "canvas_flap_large_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-946.047,709.519,1141.37),(270,0,0)); + var_00.v["soundalias"] = "canvas_flap_large_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((688.518,292.714,1139.25),(270,0,0)); + var_00.v["soundalias"] = "canvas_flap_large_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((91.6011,-98.7798,984.145),(270,0,0)); + var_00.v["soundalias"] = "canvas_flap_large_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-793.875,254.84,1405.14),(270,0,0)); + var_00.v["soundalias"] = "wind_whistle_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1152.08,-114.175,1224.97),(270,0,0)); + var_00.v["soundalias"] = "wind_whistle_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1691.94,-2006.39,842.844),(270,0,0)); + var_00.v["soundalias"] = "wind_whistle_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2071.68,-1430,842.009),(270,0,0)); + var_00.v["soundalias"] = "wind_whistle_med_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-172.467,-446.226,1118.2),(270,0,0)); + var_00.v["soundalias"] = "wind_whistle_med_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1985.22,168.291,1160.4),(270,0,0)); + var_00.v["soundalias"] = "wind_whistle_med_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1764.61,653.328,1203.43),(270,0,0)); + var_00.v["soundalias"] = "wind_whistle_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2069.52,512.227,997.194),(270,0,0)); + var_00.v["soundalias"] = "wind_shed_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-622.251,4.22235,1126),(270,0,0)); + var_00.v["soundalias"] = "wind_shed_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((122.893,1.24372,1123.9),(270,0,0)); + var_00.v["soundalias"] = "wind_shed_rattle_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-85.6383,-844.533,1230.42),(270,0,0)); + var_00.v["soundalias"] = "wind_shed_rattle_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-310.377,-839.754,1229.61),(270,0,0)); + var_00.v["soundalias"] = "wind_shed_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((628.848,224.336,1035.48),(270,0,0)); + var_00.v["soundalias"] = "wind_shed_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-545.601,243.364,1114),(270,0,0)); + var_00.v["soundalias"] = "wind_wood_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-198.67,-896.062,1136),(270,0,0)); + var_00.v["soundalias"] = "wind_wood_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1259.43,442.125,1202.03),(270,0,0)); + var_00.v["soundalias"] = "wind_wood_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1552.13,396.388,1052.15),(270,0,0)); + var_00.v["soundalias"] = "wind_wood_rattle_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2136.88,-242.566,1079),(270,0,0)); + var_00.v["soundalias"] = "wind_wood_rattle_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2136.88,-242.566,1079),(270,0,0)); + var_00.v["soundalias"] = "wind_wood_rattle_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1523.54,706.732,998.797),(270,0,0)); + var_00.v["soundalias"] = "wind_wood_rattle_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1586.54,461.33,1002.21),(270,0,0)); + var_00.v["soundalias"] = "wind_shed_rattle_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-532,490.234,1059.49),(270,0,0)); + var_00.v["soundalias"] = "wind_shed_rattle_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((534.709,-5.7484,919.892),(270,0,0)); + var_00.v["soundalias"] = "wood_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-305.51,-1022.66,936.681),(270,0,0)); + var_00.v["soundalias"] = "wood_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-189.605,147.037,1022),(270,0,0)); + var_00.v["soundalias"] = "wood_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2003.06,482.288,1095),(270,0,0)); + var_00.v["soundalias"] = "wood_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1199.77,430.112,1062.72),(270,0,0)); + var_00.v["soundalias"] = "wood_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-640.428,213.444,1058.5),(270,0,0)); + var_00.v["soundalias"] = "wood_creaks_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2344.36,540.032,1291.2),(270,0,0)); + var_00.v["soundalias"] = "wood_creaks_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2101.07,256.19,1190.5),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2086.52,-1044.37,819.565),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1953.96,866.296,1040.54),(270,0,0)); + var_00.v["soundalias"] = "wood_creaks_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((484.933,409.305,1026.41),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1104.33,1469.54,965.385),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2236.11,1082.77,994.902),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2178.4,1236.23,1064.45),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2400.58,856.78,960.88),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((969.189,-1976.84,688.907),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2032.55,551.016,1192.76),(270,0,0)); + var_00.v["soundalias"] = "foliage_rustling_sml_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2174,-1218.62,817.961),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2031.96,-1743.59,795.4),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_lrg_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2316.74,1035.02,1184.03),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((928.083,1465.89,1251.29),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((174.792,1144.55,1240.66),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-612.236,1507.91,1266.1),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_med_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-291.588,1253.2,1230.37),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_lrg_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((661.721,1175.45,1244.83),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_lrg_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1774.61,1634.9,1238.65),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_lrg_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1336.49,-2044.15,739.353),(270,0,0)); + var_00.v["soundalias"] = "wind_foliage_lrg_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1460.39,1377.9,1076.13),(270,0,0)); + var_00.v["soundalias"] = "mp_torqued_monitor_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1530.19,1285.49,1054.83),(270,0,0)); + var_00.v["soundalias"] = "mp_torqued_monitor_lrg_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1831.2,1271.24,1018.06),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((332.802,918.317,1057.39),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-125.569,894.539,1072.54),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1600.78,828.215,1078.03),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1932.07,44.223,934.72),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1613.66,352.557,977.508),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1940.82,-300.372,898.65),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-525.207,-1728.99,795.4),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((297.462,-1706.91,794.279),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((807.711,-1161.87,683.638),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2166.55,-1295.93,805.362),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1537.31,262.627,1006.2),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-652.527,989.249,1060.66),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1203.28,664.963,1062.13),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-750.841,-1094.64,849.625),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-825.229,-1705.29,795.4),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((180.353,-1100.62,849.625),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-980.826,668.662,1062.13),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1318.47,1342.75,991.893),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-209.824,-455.664,902.757),(270,0,0)); + var_00.v["soundalias"] = "mus_merry_go_round"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1196.05,390.669,955.383),(270,0,0)); + var_00.v["soundalias"] = "mus_deck_the_halls"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((343.875,150.523,1187.1),(270,0,0)); + var_00.v["soundalias"] = "mus_lounge_music_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((436.049,-2317.98,736.146),(270,0,0)); + var_00.v["soundalias"] = "stream_med_near_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-563.324,-2137.2,679),(270,0,0)); + var_00.v["soundalias"] = "stream_med_near_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1252.72,-179.896,911.895),(270,0,0)); + var_00.v["soundalias"] = "fire_crackle_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1988.92,-2285.03,1097.62),(270,0,0)); + var_00.v["soundalias"] = "emt_forest_birds_01_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2648.55,-1379.37,948.362),(270,0,0)); + var_00.v["soundalias"] = "emt_forest_birds_01_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1013.79,1825.31,1381.74),(270,0,0)); + var_00.v["soundalias"] = "emt_forest_birds_01_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3075.91,693.635,1067.5),(270,0,0)); + var_00.v["soundalias"] = "emt_forest_birds_01_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-155.572,985.919,1224.67),(286,268,117)); + var_00.v["soundalias"] = "mus_deck_the_halls_ext"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2335.56,-829.291,783.647),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2472.41,-400.125,869.309),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2472.41,-400.125,869.309),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2472.41,-400.125,869.309),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2472.41,-400.125,869.309),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2494.51,-449.402,846.672),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2137.89,542.762,955.405),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2879.27,-479.652,1066.47),(270,0,0)); + var_00.v["soundalias"] = "wind_wood_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1343.39,1613.27,1253.16),(270,0,0)); + var_00.v["soundalias"] = "wind_wood_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1554.13,146.593,1200.26),(270,0,0)); + var_00.v["soundalias"] = "wind_wood_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2313.62,-554.125,1044.3),(270,0,0)); + var_00.v["soundalias"] = "wind_wood_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((851.659,-1365.16,720),(270,0,0)); + var_00.v["soundalias"] = "wind_wood_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1352.44,-1290.98,1258),(270,0,0)); + var_00.v["soundalias"] = "wind_wood_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1489.14,-974.429,1106.88),(270,0,0)); + var_00.v["soundalias"] = "wind_wood_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1213.1,-1048.68,774.911),(270,0,0)); + var_00.v["soundalias"] = "mp_torqued_monitor_lrg_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1086.35,-850.104,773.433),(270,0,0)); + var_00.v["soundalias"] = "mp_torqued_monitor_lrg_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1805,-1032.77,788.428),(270,0,0)); + var_00.v["soundalias"] = "wind_door_heavy_int_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1795.38,-1253.67,761.311),(270,0,0)); + var_00.v["soundalias"] = "wind_door_heavy_int_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((791.623,-1132.82,720.5),(270,0,0)); + var_00.v["soundalias"] = "wind_door_heavy_int_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((795.362,-575.677,841),(270,0,0)); + var_00.v["soundalias"] = "wind_door_heavy_int_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1643.74,-327.517,842.5),(270,0,0)); + var_00.v["soundalias"] = "wind_door_heavy_int_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((797.335,-1259.63,923.074),(270,0,0)); + var_00.v["soundalias"] = "wind_door_heavy_int_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((801.485,-1547.88,913.258),(270,0,0)); + var_00.v["soundalias"] = "wind_door_heavy_int_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1357.29,-1272.82,1085.33),(286,268,117)); + var_00.v["soundalias"] = "mus_deck_the_halls"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1338.95,-823.683,1066.28),(286,268,117)); + var_00.v["soundalias"] = "mus_deck_the_halls"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1446.51,-1229.31,841.051),(270,0,0)); + var_00.v["soundalias"] = "emt_panel_screen_glitch_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1234.45,-1231.61,845.224),(270,0,0)); + var_00.v["soundalias"] = "emt_panel_screen_glitch_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2974.89,154.197,948.915),(270,0,0)); + var_00.v["soundalias"] = "emt_forest_birds_02_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3108.91,-1892.64,684.14),(270,0,0)); + var_00.v["soundalias"] = "emt_forest_birds_02_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-31.4,-1281.56,764.888),(270,0,0)); + var_00.v["soundalias"] = "mp_torqued_monitor_lrg_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1322.62,-132.108,917.51),(270,0,0)); + var_00.v["soundalias"] = "mp_torqued_monitor_lrg_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-625.342,-655.4,889.117),(270,0,0)); + var_00.v["soundalias"] = "mp_torqued_monitor_lrg_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-559.219,-217.357,926.6),(270,0,0)); + var_00.v["soundalias"] = "mp_torqued_monitor_lrg_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2343.93,564.479,1291.2),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2181.19,-202.148,1247.2),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2182.7,-192.047,1247.2),(270,0,0)); + var_00.v["soundalias"] = "wood_creaks_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2858.95,1079.22,1445.77),(270,0,0)); + var_00.v["soundalias"] = "wood_creaks_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2951.29,1074.32,1485.7),(270,0,0)); + var_00.v["soundalias"] = "wood_creaks_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2375.84,564.07,1291.2),(270,0,0)); + var_00.v["soundalias"] = "wood_creaks_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2183.15,-213.673,1247.2),(270,0,0)); + var_00.v["soundalias"] = "wood_creaks_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2387.09,586.268,1291.2),(270,0,0)); + var_00.v["soundalias"] = "emt_cable_stress_01_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1594.11,-157.427,1275.64),(270,0,0)); + var_00.v["soundalias"] = "emt_cable_stress_01_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1187.81,-537.125,946.741),(270,0,0)); + var_00.v["soundalias"] = "mus_tourism_funk_01"; + var_00 = common_scripts\utility::createoneshoteffect("light_glow_white_square"); + var_00 common_scripts\_createfx::set_origin_and_angles((-676.232,227.007,1029.46),(340,44.1999,0)); + var_00.v["fxid"] = "light_glow_white_square"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1602.64,-1056.18,804),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_torqued_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((1365.63,-582.965,879),(270,0,0)); + var_00.v["fxid"] = "mp_torqued_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_torqued_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((1043.97,-557.577,878),(270,0,0)); + var_00.v["fxid"] = "mp_torqued_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_torqued_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((937.255,-852.229,861),(270,0,0)); + var_00.v["fxid"] = "mp_torqued_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_torqued_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((947.588,-1068.69,843),(270,0,0)); + var_00.v["fxid"] = "mp_torqued_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_particles_sml"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1044.05,581.122,1031.13),(270,0,0)); + var_00.v["fxid"] = "dust_particles_sml"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dust_particles_sml"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1300.71,586.406,1028.13),(270,0,0)); + var_00.v["fxid"] = "dust_particles_sml"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_torqued_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-590.122,343.797,1028),(270,0,0)); + var_00.v["fxid"] = "mp_torqued_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_torqued_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-554.609,128.585,1042),(270,0,0)); + var_00.v["fxid"] = "mp_torqued_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_torqued_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1196.28,-634.737,886),(270,0,0)); + var_00.v["fxid"] = "mp_torqued_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_torqued_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-914.219,-814.063,853),(270,0,0)); + var_00.v["fxid"] = "mp_torqued_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_torqued_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1094.87,-1260.92,853),(270,0,0)); + var_00.v["fxid"] = "mp_torqued_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_torqued_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1143.96,71.437,940.801),(270,0,0)); + var_00.v["fxid"] = "mp_torqued_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_torqued_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1072,-1554.2,832),(270,0,0)); + var_00.v["fxid"] = "mp_torqued_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_torqued_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((769.961,-1131.14,840.653),(270,15.8244,0)); + var_00.v["fxid"] = "mp_torqued_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_torqued_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((1338.69,-1137.48,886),(270,0,0)); + var_00.v["fxid"] = "mp_torqued_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_torqued_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((1349.69,-927.964,955.5),(270,0,0)); + var_00.v["fxid"] = "mp_torqued_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ground_snow_drifts_flat_lp2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1254.32,1543.14,940.098),(270,0,97)); + var_00.v["fxid"] = "ground_snow_drifts_flat_lp2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_torqued_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-209.707,-924.884,1136),(270,0,0)); + var_00.v["fxid"] = "mp_torqued_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_torqued_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-206.733,-987.479,1163.41),(270,0,0)); + var_00.v["fxid"] = "mp_torqued_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_torqued_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((602.265,-345.507,839),(270,0,0)); + var_00.v["fxid"] = "mp_torqued_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_torqued_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-364,-365.772,845.336),(270,0,0)); + var_00.v["fxid"] = "mp_torqued_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1601.34,-231.491,837),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_torqued_paper_ground_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1567.39,-1055.06,800),(270,0,160)); + var_00.v["fxid"] = "mp_torqued_paper_ground_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_torqued_paper_ground_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1687.94,-1684.72,800),(270,0,160)); + var_00.v["fxid"] = "mp_torqued_paper_ground_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_torqued_paper_ground_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((2262.51,-314.964,820.125),(270,0,160)); + var_00.v["fxid"] = "mp_torqued_paper_ground_linger"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_torqued_chimney"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1011.22,41.5031,1614.75),(270,0,0)); + var_00.v["fxid"] = "mp_torqued_chimney"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_torqued_chimney"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1012.45,338.699,1614.23),(270,0,0)); + var_00.v["fxid"] = "mp_torqued_chimney"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_torqued_chimney"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1385.13,337.06,1614.75),(270,0,0)); + var_00.v["fxid"] = "mp_torqued_chimney"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_torqued_chimney"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1383.61,40.4432,1614.75),(270,0,0)); + var_00.v["fxid"] = "mp_torqued_chimney"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1582.66,-1068.96,800),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_torqued_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((109.162,175.929,1065.25),(270,0,0)); + var_00.v["fxid"] = "mp_torqued_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_torqued_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1171.49,74.5622,945.247),(270,0,0)); + var_00.v["fxid"] = "mp_torqued_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_torqued_dust_ambient_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((1055.32,-1445.15,667.125),(270,0,0)); + var_00.v["fxid"] = "mp_torqued_dust_ambient_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_street_cold"); + var_00 common_scripts\_createfx::set_origin_and_angles((597.125,110.535,985.487),(0,0,0)); + var_00.v["fxid"] = "steam_sm_street_cold"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_street_cold"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2138,-360.379,855.56),(0,0,0)); + var_00.v["fxid"] = "steam_sm_street_cold"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_fall_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1761.73,505.458,1066.21),(270,180,0)); + var_00.v["fxid"] = "snow_fall_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_fall_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-620.665,1613.61,1133.23),(270,0,134)); + var_00.v["fxid"] = "snow_fall_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_fall_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-207.469,1355.09,1308.1),(270,0,180)); + var_00.v["fxid"] = "snow_fall_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_fall_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1520.77,1220.14,1042.03),(270,0,-152)); + var_00.v["fxid"] = "snow_fall_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_fall_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((2222.31,187.329,914.125),(270,0,180)); + var_00.v["fxid"] = "snow_fall_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_fall_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((598.97,731.554,1453.36),(270,0,-158)); + var_00.v["fxid"] = "snow_fall_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_fall_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-232.435,312.741,1030.13),(270,0,-178)); + var_00.v["fxid"] = "snow_fall_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_fall_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-506.171,-282.837,885.125),(270,0,179)); + var_00.v["fxid"] = "snow_fall_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_fall_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((2477.73,-801.023,824.125),(270,0,-177)); + var_00.v["fxid"] = "snow_fall_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_fall_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((63.2905,-1217.01,730),(270,0,-176)); + var_00.v["fxid"] = "snow_fall_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_fall_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-513.714,-1238.43,737),(270,0,180)); + var_00.v["fxid"] = "snow_fall_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_fall_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1858.11,-422.496,900),(270,0,-173)); + var_00.v["fxid"] = "snow_fall_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_fall_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2583.42,-651.62,1109.13),(270,180,0)); + var_00.v["fxid"] = "snow_fall_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_fall_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((2944.05,423.28,988.225),(270,180,0)); + var_00.v["fxid"] = "snow_fall_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_fall_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((2556.26,726.454,1022.8),(270,180,0)); + var_00.v["fxid"] = "snow_fall_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_fall_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-306.816,1444.65,1340.13),(270,180,0)); + var_00.v["fxid"] = "snow_fall_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_fall_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2658.1,-1992.44,829),(270,180,0)); + var_00.v["fxid"] = "snow_fall_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_fall_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1029.63,-1891.6,807),(270,180,0)); + var_00.v["fxid"] = "snow_fall_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_fall_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((797.103,-1856.59,696),(270,180,0)); + var_00.v["fxid"] = "snow_fall_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_fall_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((3673.17,-1275.49,1016.13),(270,180,0)); + var_00.v["fxid"] = "snow_fall_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_fall_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1499.11,110.586,1306.13),(270,180,0)); + var_00.v["fxid"] = "snow_fall_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_fall_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-31.2421,109.283,1468.13),(270,180,0)); + var_00.v["fxid"] = "snow_fall_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_fall_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1142.08,-238.496,1513.59),(270,180,0)); + var_00.v["fxid"] = "snow_fall_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_fall_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-191.508,-1180.07,1132),(270,0,180)); + var_00.v["fxid"] = "snow_fall_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_fall_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1062.09,-697.005,1646.47),(270,0,180)); + var_00.v["fxid"] = "snow_fall_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((798.574,311.531,987),(270,0,124)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1814.01,842.055,1025.5),(270,0,122)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-233.398,103.206,891),(270,0,82)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2217.08,-582.52,869.046),(270,0,95)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2997.52,-1590.88,681.125),(270,0,82)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((985.495,288.555,1579.5),(270,0,109)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-767.266,217.784,1482.89),(270,0,82)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2054.37,773.206,1050.42),(270,0,168)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1089.9,1292.11,1070.11),(270,0,118)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = 0; + var_00 = common_scripts\utility::createoneshoteffect("snow_fall_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-141.726,126.845,947.996),(270,0,-178)); + var_00.v["fxid"] = "snow_fall_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_fall_particles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1576.31,275.75,972),(270,180,5)); + var_00.v["fxid"] = "snow_fall_particles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_lrg_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2319.93,494.386,1509.3),(270,0,45)); + var_00.v["fxid"] = "falling_snow_lrg_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_lrg_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2654.5,256.86,1439.84),(270,0,45)); + var_00.v["fxid"] = "falling_snow_lrg_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_lrg_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-484.842,-14.0167,1357.75),(270,0,2)); + var_00.v["fxid"] = "falling_snow_lrg_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_tor_snow_chunks_falling_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1210.27,-1317.06,1185.68),(270,0,-90)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_tor_snow_chunks_falling_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1348.59,-514.024,1267.78),(270,0,-90)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_tor_snow_chunks_falling_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2056.71,-404.894,1327.67),(270,0,-1)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_tor_snow_chunks_falling_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1433.99,-82.9643,1516.78),(306,180,90)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_tor_snow_chunks_falling_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((487.953,-52.5341,1307.73),(287,0,-90)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_tor_snow_chunks_falling_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((1141.12,146.856,1490.44),(307,208,90)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_tor_snow_chunks_falling_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2706.3,-527.006,1416.61),(304,181,90)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_snow_lrg_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2.12046,341.456,1422.74),(270,0,2)); + var_00.v["fxid"] = "falling_snow_lrg_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_tor_snow_chunks_falling_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((287.803,-1159.97,1320.43),(270,0,-90)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_tor_snow_chunks_falling_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((579.047,-1622.26,1242.36),(270,0,2)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_tor_snow_chunks_falling_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-758.651,-1180.28,1401.2),(270,0,-61)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((664.768,-1820.82,1309.17),(270,180,-90)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((79.1988,-1037.42,735.53),(270,180,-90)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-474.997,-904.912,798),(270,180,-90)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_vents_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1243.28,-1523.32,840),(270,0,108)); + var_00.v["fxid"] = "steam_ambient_vents_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lgtfix_construction_barrel_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((2723.67,-1143,825.742),(270,0,-82)); + var_00.v["fxid"] = "lgtfix_construction_barrel_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lgtfix_construction_barrel_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((2737.49,-1238.51,825.742),(270,0,-82)); + var_00.v["fxid"] = "lgtfix_construction_barrel_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lgtfix_construction_barrel_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((2599.94,91.8823,906.342),(270,0,-68)); + var_00.v["fxid"] = "lgtfix_construction_barrel_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lgtfix_construction_barrel_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((2562.92,180.93,907.342),(270,0,-67)); + var_00.v["fxid"] = "lgtfix_construction_barrel_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lgtfix_construction_barrel_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((2357.09,1045.08,1048.84),(270,180,95)); + var_00.v["fxid"] = "lgtfix_construction_barrel_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lgtfix_construction_barrel_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((2365.76,948.494,1048.84),(270,180,97)); + var_00.v["fxid"] = "lgtfix_construction_barrel_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lgtfix_construction_barrel_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2378.41,-777.527,920.642),(270,0,-82)); + var_00.v["fxid"] = "lgtfix_construction_barrel_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lgtfix_construction_barrel_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2391.19,-681.887,920.642),(270,180,96)); + var_00.v["fxid"] = "lgtfix_construction_barrel_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_tor_snow_chunks_fall_from_tree"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2173.05,-1097.35,1276.83),(270,0,0)); + var_00.v["fxid"] = "mp_tor_snow_chunks_fall_from_tree"; + var_00.v["delay"] = 1; + var_00 = common_scripts\utility::createoneshoteffect("mp_tor_snow_chunks_fall_from_tree"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2018.09,-1834.32,1387.1),(270,0,0)); + var_00.v["fxid"] = "mp_tor_snow_chunks_fall_from_tree"; + var_00.v["delay"] = 1; + var_00 = common_scripts\utility::createoneshoteffect("mp_tor_snow_chunks_fall_from_tree"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1589.75,-1789.04,1406.88),(270,0,0)); + var_00.v["fxid"] = "mp_tor_snow_chunks_fall_from_tree"; + var_00.v["delay"] = 1; + var_00 = common_scripts\utility::createoneshoteffect("mp_tor_snow_chunks_fall_from_tree"); + var_00 common_scripts\_createfx::set_origin_and_angles((2957.82,368.046,1415.39),(270,0,0)); + var_00.v["fxid"] = "mp_tor_snow_chunks_fall_from_tree"; + var_00.v["delay"] = 1; + var_00 = common_scripts\utility::createoneshoteffect("mp_tor_snow_chunks_fall_from_tree"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1033.01,-2191.01,1212.32),(270,0,0)); + var_00.v["fxid"] = "mp_tor_snow_chunks_fall_from_tree"; + var_00.v["delay"] = 1; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_base_no_embers"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1275.36,-167.961,896.297),(270,0,-180)); + var_00.v["fxid"] = "fire_lp_s_base_no_embers"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_s_base_no_embers"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1277.62,-177.46,891.633),(270,0,-180)); + var_00.v["fxid"] = "fire_lp_s_base_no_embers"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lgtfix_construction_barrel_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((2341.25,1185.62,1044.84),(270,180,95)); + var_00.v["fxid"] = "lgtfix_construction_barrel_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lgtfix_construction_barrel_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((2350.28,1090.34,1044.84),(270,180,95)); + var_00.v["fxid"] = "lgtfix_construction_barrel_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_cabin_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((2167.83,-243.415,1299.99),(270,0,0)); + var_00.v["fxid"] = "gondola_cabin_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_cabin_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((2396.6,595.341,1342.99),(270,0,0)); + var_00.v["fxid"] = "gondola_cabin_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_cabin_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((2997.24,507.507,1386.99),(270,0,0)); + var_00.v["fxid"] = "gondola_cabin_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_cabin_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((2952.09,1096.56,1539.49),(270,0,0)); + var_00.v["fxid"] = "gondola_cabin_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_cabin_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((3497.97,955.627,1726.99),(270,0,0)); + var_00.v["fxid"] = "gondola_cabin_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_cabin_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((3651.88,1723.2,1772.99),(270,0,0)); + var_00.v["fxid"] = "gondola_cabin_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_cabin_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((1661.18,-1163.27,1358.99),(270,0,0)); + var_00.v["fxid"] = "gondola_cabin_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_cabin_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((1031.93,-1054.38,1356.99),(270,0,0)); + var_00.v["fxid"] = "gondola_cabin_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_tower_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((2305.36,612.101,1693.91),(270,0,0)); + var_00.v["fxid"] = "gondola_tower_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_tower_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((2713.43,157.711,1693.56),(270,0,0)); + var_00.v["fxid"] = "gondola_tower_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_tower_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((3359.28,1560.47,2131.06),(270,0,0)); + var_00.v["fxid"] = "gondola_tower_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_tower_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((3769.91,1105.7,2132.79),(270,0,0)); + var_00.v["fxid"] = "gondola_tower_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_tower_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((2494.75,370.058,1720.33),(270,0,0)); + var_00.v["fxid"] = "gondola_tower_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_tower_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((2523.58,399.692,1721.94),(270,0,0)); + var_00.v["fxid"] = "gondola_tower_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_tower_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((3547.86,1318.79,2157.42),(270,0,0)); + var_00.v["fxid"] = "gondola_tower_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_tower_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((1716.33,-1163.97,1583.48),(270,0,0)); + var_00.v["fxid"] = "gondola_tower_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_tower_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((1716.5,-1127.31,1583.79),(270,0,0)); + var_00.v["fxid"] = "gondola_tower_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_tower_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((975.83,-1056.32,1583.64),(270,0,0)); + var_00.v["fxid"] = "gondola_tower_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_tower_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((976.403,-1092.63,1584.14),(270,0,0)); + var_00.v["fxid"] = "gondola_tower_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_tower_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((2189.53,-284.27,1530.67),(270,0,0)); + var_00.v["fxid"] = "gondola_tower_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_tower_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((2216.98,-259.392,1530.7),(270,0,0)); + var_00.v["fxid"] = "gondola_tower_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_tower_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((2374.02,643.839,1574.68),(270,0,0)); + var_00.v["fxid"] = "gondola_tower_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_tower_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((2346.63,619.359,1574.68),(270,0,0)); + var_00.v["fxid"] = "gondola_tower_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_tower_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((3008.48,449.918,1615.53),(270,0,0)); + var_00.v["fxid"] = "gondola_tower_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_tower_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((3033.21,472.664,1630.45),(270,0,0)); + var_00.v["fxid"] = "gondola_tower_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_tower_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((2894.68,1111.56,1759.28),(270,0,0)); + var_00.v["fxid"] = "gondola_tower_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_tower_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((2920.02,1134.22,1774.49),(270,0,0)); + var_00.v["fxid"] = "gondola_tower_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_tower_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((3511.4,900.027,1951.56),(270,0,0)); + var_00.v["fxid"] = "gondola_tower_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_tower_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((3536.6,922.725,1966.69),(270,0,0)); + var_00.v["fxid"] = "gondola_tower_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_tower_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((3628.28,1771.21,2001.7),(270,0,0)); + var_00.v["fxid"] = "gondola_tower_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_tower_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((3600.83,1746.3,2001.67),(270,0,0)); + var_00.v["fxid"] = "gondola_tower_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_tower_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((1495.68,-142.63,1558.65),(270,0,0)); + var_00.v["fxid"] = "gondola_tower_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("gondola_tower_sprite_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((1467.97,-168.05,1558.8),(270,0,0)); + var_00.v["fxid"] = "gondola_tower_sprite_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("street_light_basic_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2098.53,1110.59,1334.39),(78.4119,270,0)); + var_00.v["fxid"] = "street_light_basic_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("street_light_basic_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2275.7,-1467.11,1110.53),(81.469,90,0)); + var_00.v["fxid"] = "street_light_basic_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("street_light_basic_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2639.49,-1011.9,1118.61),(78.4119,180,0)); + var_00.v["fxid"] = "street_light_basic_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glow_warm_lantern_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2327.42,-198.793,1000.4),(270,0,0)); + var_00.v["fxid"] = "glow_warm_lantern_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glow_warm_lantern_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2730,-580.562,939.002),(270,0,0)); + var_00.v["fxid"] = "glow_warm_lantern_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glow_warm_lantern_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2720.62,-129.826,1020),(270,0,0)); + var_00.v["fxid"] = "glow_warm_lantern_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glow_warm_lantern_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2918.8,61.2696,1035.7),(270,0,0)); + var_00.v["fxid"] = "glow_warm_lantern_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glow_warm_lantern_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2100.74,-537.295,995.602),(270,0,0)); + var_00.v["fxid"] = "glow_warm_lantern_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glow_warm_lantern_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-343.176,459.136,1195.1),(270,0,0)); + var_00.v["fxid"] = "glow_warm_lantern_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glow_warm_lantern_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2098.48,874.802,1177.7),(270,0,0)); + var_00.v["fxid"] = "glow_warm_lantern_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glow_warm_lantern_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2129.89,136.531,1087.7),(270,0,0)); + var_00.v["fxid"] = "glow_warm_lantern_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glow_warm_lantern_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2091.85,-520.048,1015.7),(270,0,0)); + var_00.v["fxid"] = "glow_warm_lantern_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glow_warm_lantern_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1834.79,-880.51,1011.7),(270,0,0)); + var_00.v["fxid"] = "glow_warm_lantern_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glow_warm_lantern_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2136.06,-1333.95,1029.7),(270,0,0)); + var_00.v["fxid"] = "glow_warm_lantern_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glow_warm_lantern_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2097.11,-1786.52,1011.7),(270,0,0)); + var_00.v["fxid"] = "glow_warm_lantern_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glow_warm_lantern_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1583.07,216.329,1069.7),(270,0,0)); + var_00.v["fxid"] = "glow_warm_lantern_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("glow_warm_lantern_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2456.84,-988.853,1013.2),(270,0,0)); + var_00.v["fxid"] = "glow_warm_lantern_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_tor_river_ice_chunks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1523.35,-3305.51,382.991),(270,0,23)); + var_00.v["fxid"] = "mp_tor_river_ice_chunks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_vents_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((356.265,-1792.3,706.442),(0,180,114.69)); + var_00.v["fxid"] = "steam_ambient_vents_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_vents_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((625.212,-1797.07,706.937),(0,180,114.69)); + var_00.v["fxid"] = "steam_ambient_vents_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_vents_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((31.3273,-1797.07,708.013),(0,180,114.69)); + var_00.v["fxid"] = "steam_ambient_vents_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_vents_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-238.538,-1797.07,707.503),(0,180,114.69)); + var_00.v["fxid"] = "steam_ambient_vents_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_vents_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-560.878,-1797.07,707.044),(0,180,114.69)); + var_00.v["fxid"] = "steam_ambient_vents_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_ambient_vents_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((-805.597,-1797.07,706.561),(0,180,114.69)); + var_00.v["fxid"] = "steam_ambient_vents_light"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_tor_river_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((2.21463,-2715.58,383.078),(270,180,-173)); + var_00.v["fxid"] = "mp_tor_river_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("torqued_flare_light_bulb_spot2"); + var_00 common_scripts\_createfx::set_origin_and_angles((943.1,199.819,1345),(27.8467,203.496,178.41)); + var_00.v["fxid"] = "torqued_flare_light_bulb_spot2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("torqued_flare_light_bulb_spot2"); + var_00 common_scripts\_createfx::set_origin_and_angles((850.955,354.756,1346.81),(27.8467,203.496,178.41)); + var_00.v["fxid"] = "torqued_flare_light_bulb_spot2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("torqued_flare_light_bulb_spot2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8.36523,104.271,1253.1),(23.4666,181.21,177.136)); + var_00.v["fxid"] = "torqued_flare_light_bulb_spot2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("torqued_flare_light_bulb_spot2"); + var_00 common_scripts\_createfx::set_origin_and_angles((8.13453,273.391,1253.74),(22.9594,181.757,-177.848)); + var_00.v["fxid"] = "torqued_flare_light_bulb_spot2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("torqued_flare_light_bulb_spot2"); + var_00 common_scripts\_createfx::set_origin_and_angles((608.162,104.05,1253.18),(22.0083,0.112016,-2.13936)); + var_00.v["fxid"] = "torqued_flare_light_bulb_spot2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("torqued_flare_light_bulb_spot2"); + var_00 common_scripts\_createfx::set_origin_and_angles((608.173,271.249,1253.21),(26.2348,11.4534,7.83264)); + var_00.v["fxid"] = "torqued_flare_light_bulb_spot2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("torqued_flou_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1755.51,-1936.3,1009.54),(357.86,88.0345,179.005)); + var_00.v["fxid"] = "torqued_flou_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("torqued_flou_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1305.58,-1936.47,1009.12),(357.86,88.0345,179.005)); + var_00.v["fxid"] = "torqued_flou_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("torqued_flou_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((865.84,-1936.72,1008.32),(357.86,88.0345,179.005)); + var_00.v["fxid"] = "torqued_flou_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("torqued_flou_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1325.97,-1659.11,1002.34),(359.934,277.991,-178.648)); + var_00.v["fxid"] = "torqued_flou_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("torqued_flou_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1748.37,-1613.93,960.651),(3.34308,180.983,179.814)); + var_00.v["fxid"] = "torqued_flou_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_snow_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((1585.44,1355.82,1602.45),(0.994617,264,-0.104559)); + var_00.v["fxid"] = "mp_tor_avalanche_snow_linger"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "207"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_snow_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((131.962,1440.76,1449.89),(0.994617,264,-0.104559)); + var_00.v["fxid"] = "mp_tor_avalanche_snow_linger"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "207"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_snow_linger"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1146.59,1213.51,1485.53),(0.994617,264,-0.104559)); + var_00.v["fxid"] = "mp_tor_avalanche_snow_linger"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "207"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_edge_runoff_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83.672,1892.83,1449.4),(0,269,0)); + var_00.v["fxid"] = "mp_tor_avalanche_edge_runoff_2"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_edge_runoff_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((877.608,1852.85,1474.66),(0,259,0)); + var_00.v["fxid"] = "mp_tor_avalanche_edge_runoff_2"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_edge_runoff_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((313.838,1874.48,1561.71),(0,289,0)); + var_00.v["fxid"] = "mp_tor_avalanche_edge_runoff_2"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((2054.15,1649.25,1707.24),(0,272,0)); + var_00.v["fxid"] = "mp_tor_avalanche_edge_runoff"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_edge_runoff_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((2457.88,1678.44,1644),(0,261,0)); + var_00.v["fxid"] = "mp_tor_avalanche_edge_runoff_2"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((1659.9,1742.35,1642.38),(0,253,0)); + var_00.v["fxid"] = "mp_tor_avalanche_edge_runoff"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_edge_runoff"); + var_00 common_scripts\_createfx::set_origin_and_angles((-580.517,1871.06,1487.47),(360,235,0)); + var_00.v["fxid"] = "mp_tor_avalanche_edge_runoff"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_edge_runoff_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-437.693,1859.89,1454.81),(0,273,0)); + var_00.v["fxid"] = "mp_tor_avalanche_edge_runoff_2"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "202"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_ground_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1811.78,933.688,971.387),(274.611,294.943,-76.8393)); + var_00.v["fxid"] = "mp_tor_avalanche_ground_splashes_sm"; + var_00.v["delay"] = 2; + var_00.v["exploder"] = "204"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((1293.3,722.225,1561.98),(311,36,88)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((898.276,488.509,1508.53),(309,203,-85)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((119.449,442.933,1459.47),(291.118,198.713,-109.244)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((377.106,447.125,1495.62),(284.446,39.1992,50.2999)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((-508.465,445.992,1369.7),(270,0,92)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((-925.551,461.117,1456.65),(308,2,90)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1451.29,456.945,1475.02),(307,182,-90)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1956.46,1044.25,1461.19),(270,0,-44)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1560.41,1328.02,1591.72),(270,0,-44)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1272.77,1582.77,1462.43),(270,0,-44)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1972.11,574.626,1329.38),(270,0,-7)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((1104.19,607.439,1655.69),(270,0,122)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_gb_sparks_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-390.513,133.738,970.548),(0,332,0)); + var_00.v["fxid"] = "mp_gb_sparks_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "6"; + var_00 = common_scripts\utility::createexploder("birds_tree_flyout_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1615.93,3442.89,2583.82),(339.254,356.283,4.91297)); + var_00.v["fxid"] = "birds_tree_flyout_sm"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("birds_tree_flyout_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-238.474,2231.48,2165),(3.26064,17.8333,-10.8761)); + var_00.v["fxid"] = "birds_tree_flyout_sm"; + var_00.v["delay"] = 1.4; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("birds_tree_flyout_noleaves"); + var_00 common_scripts\_createfx::set_origin_and_angles((3650.03,-968.963,1224.05),(356.765,330.214,-2.84578)); + var_00.v["fxid"] = "birds_tree_flyout_noleaves"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("birds_tree_flyout_noleaves"); + var_00 common_scripts\_createfx::set_origin_and_angles((1509.8,2253.37,2181.1),(354.561,0.45696,-13.4429)); + var_00.v["fxid"] = "birds_tree_flyout_noleaves"; + var_00.v["delay"] = 0.4; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("birds_tree_flyout_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1076.57,2318.07,2007.79),(347.794,350.206,-1.00112)); + var_00.v["fxid"] = "birds_tree_flyout_sm"; + var_00.v["delay"] = 2.8; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2058.17,-57.1775,1328.15),(270,180,180)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1582.17,75.2766,1405.35),(270,180,180)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((-979.353,-82.9897,1516.77),(304,356,-90)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((-750.314,-623.45,1288.88),(280,136,-90)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((280.706,-781.142,1259.72),(270,180,90)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((914.58,204.353,1383.98),(270,0,29)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_fall_from_tree"); + var_00 common_scripts\_createfx::set_origin_and_angles((3597.26,-963.945,1198.62),(270,0,29)); + var_00.v["fxid"] = "mp_tor_snow_chunks_fall_from_tree"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_fall_from_tree"); + var_00 common_scripts\_createfx::set_origin_and_angles((2459.19,481.592,1503.58),(270,0,29)); + var_00.v["fxid"] = "mp_tor_snow_chunks_fall_from_tree"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((1498.79,698.833,1431.83),(270,0,30)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((2819.94,-237.169,1377.09),(307,91,-90)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_spill_over"); + var_00 common_scripts\_createfx::set_origin_and_angles((224.646,2203.95,1584.52),(336.465,272.148,-5.31194)); + var_00.v["fxid"] = "mp_tor_avalanche_spill_over"; + var_00.v["delay"] = 0.35; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_spill_over"); + var_00 common_scripts\_createfx::set_origin_and_angles((-273.463,2040,1427.28),(327.469,257.515,4.0507)); + var_00.v["fxid"] = "mp_tor_avalanche_spill_over"; + var_00.v["delay"] = 0.35; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_spill_over"); + var_00 common_scripts\_createfx::set_origin_and_angles((-745.097,2040.37,1415.01),(339.319,244.277,5.37585)); + var_00.v["fxid"] = "mp_tor_avalanche_spill_over"; + var_00.v["delay"] = 0.35; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_spill_over"); + var_00 common_scripts\_createfx::set_origin_and_angles((1153.93,1991.42,1580.36),(344.556,278.646,0.27658)); + var_00.v["fxid"] = "mp_tor_avalanche_spill_over"; + var_00.v["delay"] = 0.35; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_spill_over"); + var_00 common_scripts\_createfx::set_origin_and_angles((1899.52,1785.62,1875.16),(358.993,275.668,2.39189)); + var_00.v["fxid"] = "mp_tor_avalanche_spill_over"; + var_00.v["delay"] = 0.35; + var_00.v["exploder"] = "201"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((18.4428,54.4051,1275.31),(275.565,150.673,-157.018)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_fall_from_tree"); + var_00 common_scripts\_createfx::set_origin_and_angles((-164.502,976.498,1356),(270,0,29)); + var_00.v["fxid"] = "mp_tor_snow_chunks_fall_from_tree"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((238.865,1484.17,1497.32),(272.54,242.189,-150.037)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((1738.02,1317.68,1532),(271.128,209.594,-125.561)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((1789.95,1005.37,1093.19),(271.127,209.594,-161.561)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("electrical_sparks_runner_no_impact_spawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1287.89,1251.18,1136.7),(270,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner_no_impact_spawn"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "205"; + var_00 = common_scripts\utility::createexploder("electrical_sparks_runner_no_impact_spawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((-651.729,1186.15,1147.82),(270,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner_no_impact_spawn"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "205"; + var_00 = common_scripts\utility::createexploder("electrical_sparks_runner_no_impact_spawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((8.3633,269.579,1258.87),(270,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner_no_impact_spawn"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "205"; + var_00 = common_scripts\utility::createexploder("electrical_sparks_runner_no_impact_spawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((1022.17,540.348,1262.94),(270,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner_no_impact_spawn"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "205"; + var_00 = common_scripts\utility::createexploder("electrical_sparks_runner_no_impact_spawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1325.55,-270.015,858.07),(270,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner_no_impact_spawn"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "205"; + var_00 = common_scripts\utility::createexploder("electrical_sparks_runner_no_impact_spawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1249.51,491.498,1409.3),(270,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner_no_impact_spawn"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "205"; + var_00 = common_scripts\utility::createexploder("electrical_sparks_runner_no_impact_spawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((948.793,196.866,1357.52),(270,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner_no_impact_spawn"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "205"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_ground_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((631.474,557.781,991.447),(274.611,294.943,-78.8384)); + var_00.v["fxid"] = "mp_tor_avalanche_ground_splashes_sm"; + var_00.v["delay"] = 1.5; + var_00.v["exploder"] = "204"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_ground_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-139.352,640.263,1020),(274.611,294.942,-115.838)); + var_00.v["fxid"] = "mp_tor_avalanche_ground_splashes_sm"; + var_00.v["delay"] = 1.5; + var_00.v["exploder"] = "204"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_ground_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1307.62,995.118,1004.13),(274.611,294.946,175.157)); + var_00.v["fxid"] = "mp_tor_avalanche_ground_splashes_sm"; + var_00.v["delay"] = 1.5; + var_00.v["exploder"] = "204"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_ground_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((979.181,946.402,973.601),(274.611,294.946,-176.842)); + var_00.v["fxid"] = "mp_tor_avalanche_ground_splashes_sm"; + var_00.v["delay"] = 1; + var_00.v["exploder"] = "204"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_street_gust"); + var_00 common_scripts\_createfx::set_origin_and_angles((721.975,396.219,996),(0,292,0)); + var_00.v["fxid"] = "mp_tor_avalanche_street_gust"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "203"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_street_gust"); + var_00 common_scripts\_createfx::set_origin_and_angles((-175.132,220.752,908.88),(354,270,0)); + var_00.v["fxid"] = "mp_tor_avalanche_street_gust"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "203"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((-673.54,-31.0625,1397.03),(273,176,90)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((226.21,-48.1249,1361.96),(289,176,90)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((623.751,156.345,1420.21),(273,176,-177)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_falling"); + var_00 common_scripts\_createfx::set_origin_and_angles((1486.58,357.42,1511.76),(309.252,20.406,-91.8523)); + var_00.v["fxid"] = "mp_tor_snow_chunks_falling"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_edge_runoff_stop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-580.137,1872.15,1480.39),(360,235,0)); + var_00.v["fxid"] = "mp_tor_avalanche_edge_runoff_stop"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "206"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_edge_runoff_stop"); + var_00 common_scripts\_createfx::set_origin_and_angles((1660.28,1743.44,1635.3),(0,253,0)); + var_00.v["fxid"] = "mp_tor_avalanche_edge_runoff_stop"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "206"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_edge_runoff_stop"); + var_00 common_scripts\_createfx::set_origin_and_angles((2054.53,1650.34,1700.16),(0,272,0)); + var_00.v["fxid"] = "mp_tor_avalanche_edge_runoff_stop"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "206"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_edge_runoff_2_stop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-436.266,1858.92,1459.95),(0,273,0)); + var_00.v["fxid"] = "mp_tor_avalanche_edge_runoff_2_stop"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "206"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_edge_runoff_2_stop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-82.2454,1891.86,1454.54),(0,269,0)); + var_00.v["fxid"] = "mp_tor_avalanche_edge_runoff_2_stop"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "206"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_edge_runoff_2_stop"); + var_00 common_scripts\_createfx::set_origin_and_angles((315.265,1873.51,1566.85),(0,289,0)); + var_00.v["fxid"] = "mp_tor_avalanche_edge_runoff_2_stop"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "206"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_edge_runoff_2_stop"); + var_00 common_scripts\_createfx::set_origin_and_angles((879.035,1851.88,1479.8),(0,259,0)); + var_00.v["fxid"] = "mp_tor_avalanche_edge_runoff_2_stop"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "206"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_edge_runoff_2_stop"); + var_00 common_scripts\_createfx::set_origin_and_angles((2459.31,1677.47,1649.14),(0,261,0)); + var_00.v["fxid"] = "mp_tor_avalanche_edge_runoff_2_stop"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "206"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_fall_from_tree"); + var_00 common_scripts\_createfx::set_origin_and_angles((-297.487,2125.19,2315.08),(270,0,29)); + var_00.v["fxid"] = "mp_tor_snow_chunks_fall_from_tree"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_fall_from_tree"); + var_00 common_scripts\_createfx::set_origin_and_angles((1526.11,2249.38,2455.99),(270,0,29)); + var_00.v["fxid"] = "mp_tor_snow_chunks_fall_from_tree"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_snow_chunks_fall_from_tree"); + var_00 common_scripts\_createfx::set_origin_and_angles((-141.786,987.681,1360.73),(270,0,29)); + var_00.v["fxid"] = "mp_tor_snow_chunks_fall_from_tree"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_ground_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-701.92,875.507,1020),(270,0,134)); + var_00.v["fxid"] = "mp_tor_avalanche_ground_splashes_sm"; + var_00.v["delay"] = 1.5; + var_00.v["exploder"] = "204"; + var_00 = common_scripts\utility::createexploder("avalanche_snow_wall"); + var_00 common_scripts\_createfx::set_origin_and_angles((1056.12,8732.24,5307.4),(270,0,-93)); + var_00.v["fxid"] = "avalanche_snow_wall"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "199"; + var_00 = common_scripts\utility::createexploder("screen_overlay_frosted"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1419.33,922.08,1000.28),(270,0,0)); + var_00.v["fxid"] = "screen_overlay_frosted"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "208"; + var_00 = common_scripts\utility::createexploder("building_window_shatter_01_no_collision"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1416.27,434.125,1295.43),(0,90,0)); + var_00.v["fxid"] = "building_window_shatter_01_no_collision"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "209"; + var_00 = common_scripts\utility::createexploder("building_window_shatter_01_no_collision"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1149.64,434.125,1290.75),(0,90,0)); + var_00.v["fxid"] = "building_window_shatter_01_no_collision"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "209"; + var_00 = common_scripts\utility::createexploder("building_window_shatter_01_no_collision"); + var_00 common_scripts\_createfx::set_origin_and_angles((-976.38,434.125,1293.71),(0,90,0)); + var_00.v["fxid"] = "building_window_shatter_01_no_collision"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "209"; + var_00 = common_scripts\utility::createexploder("building_window_shatter_01_no_collision"); + var_00 common_scripts\_createfx::set_origin_and_angles((-510.111,420.125,1290.16),(0,90,0)); + var_00.v["fxid"] = "building_window_shatter_01_no_collision"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "209"; + var_00 = common_scripts\utility::createexploder("building_window_shatter_01_no_collision"); + var_00 common_scripts\_createfx::set_origin_and_angles((134.149,389.125,1271.29),(0,90,0)); + var_00.v["fxid"] = "building_window_shatter_01_no_collision"; + var_00.v["delay"] = 0.2; + var_00.v["exploder"] = "209"; + var_00 = common_scripts\utility::createexploder("building_window_shatter_01_no_collision"); + var_00 common_scripts\_createfx::set_origin_and_angles((305.575,389.125,1270.09),(0,90,0)); + var_00.v["fxid"] = "building_window_shatter_01_no_collision"; + var_00.v["delay"] = 0.3; + var_00.v["exploder"] = "209"; + var_00 = common_scripts\utility::createexploder("building_window_shatter_01_no_collision"); + var_00 common_scripts\_createfx::set_origin_and_angles((306.233,393.125,1442.58),(0,90,0)); + var_00.v["fxid"] = "building_window_shatter_01_no_collision"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "209"; + var_00 = common_scripts\utility::createexploder("building_window_shatter_01_no_collision"); + var_00 common_scripts\_createfx::set_origin_and_angles((1144.92,600.169,1253.21),(0,120,0)); + var_00.v["fxid"] = "building_window_shatter_01_no_collision"; + var_00.v["delay"] = 0.6; + var_00.v["exploder"] = "209"; + var_00 = common_scripts\utility::createexploder("building_window_shatter_01_no_collision"); + var_00 common_scripts\_createfx::set_origin_and_angles((1297.46,691.31,1252.29),(0,120,0)); + var_00.v["fxid"] = "building_window_shatter_01_no_collision"; + var_00.v["delay"] = 0.7; + var_00.v["exploder"] = "209"; + var_00 = common_scripts\utility::createexploder("building_window_shatter_01_no_collision"); + var_00 common_scripts\_createfx::set_origin_and_angles((1058,553.28,1472.35),(26.5651,120,0)); + var_00.v["fxid"] = "building_window_shatter_01_no_collision"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "209"; + var_00 = common_scripts\utility::createexploder("building_window_shatter_01_no_collision"); + var_00 common_scripts\_createfx::set_origin_and_angles((1183.7,625.994,1472.6),(26.5651,120,0)); + var_00.v["fxid"] = "building_window_shatter_01_no_collision"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "209"; + var_00 = common_scripts\utility::createexploder("building_window_shatter_01_no_collision"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1544.13,303.871,1291.39),(0,180,0)); + var_00.v["fxid"] = "building_window_shatter_01_no_collision"; + var_00.v["delay"] = 10.1; + var_00.v["exploder"] = "209"; + var_00 = common_scripts\utility::createexploder("building_window_shatter_01_no_collision"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1544.13,304.192,1129.11),(0,180,0)); + var_00.v["fxid"] = "building_window_shatter_01_no_collision"; + var_00.v["delay"] = 10.2; + var_00.v["exploder"] = "209"; + var_00 = common_scripts\utility::createexploder("building_window_shatter_01_no_collision"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1544.13,72.5665,1129.37),(0,180,0)); + var_00.v["fxid"] = "building_window_shatter_01_no_collision"; + var_00.v["delay"] = 10.2; + var_00.v["exploder"] = "209"; + var_00 = common_scripts\utility::createexploder("building_window_shatter_01_no_collision"); + var_00 common_scripts\_createfx::set_origin_and_angles((1525.97,559.841,1254.16),(0,30,0)); + var_00.v["fxid"] = "building_window_shatter_01_no_collision"; + var_00.v["delay"] = 12; + var_00.v["exploder"] = "209"; + var_00 = common_scripts\utility::createexploder("building_window_shatter_01_no_collision"); + var_00 common_scripts\_createfx::set_origin_and_angles((1324.89,289.05,1250.84),(0,300,0)); + var_00.v["fxid"] = "building_window_shatter_01_no_collision"; + var_00.v["delay"] = 11.7; + var_00.v["exploder"] = "209"; + var_00 = common_scripts\utility::createexploder("building_window_shatter_01_no_collision"); + var_00 common_scripts\_createfx::set_origin_and_angles((1132.42,175.425,1255.46),(0,300,0)); + var_00.v["fxid"] = "building_window_shatter_01_no_collision"; + var_00.v["delay"] = 11.6; + var_00.v["exploder"] = "209"; + var_00 = common_scripts\utility::createexploder("building_window_shatter_01_no_collision"); + var_00 common_scripts\_createfx::set_origin_and_angles((1479.09,375.576,1092.76),(0,300,0)); + var_00.v["fxid"] = "building_window_shatter_01_no_collision"; + var_00.v["delay"] = 11.8; + var_00.v["exploder"] = "209"; + var_00 = common_scripts\utility::createexploder("building_window_shatter_01_no_collision"); + var_00 common_scripts\_createfx::set_origin_and_angles((-975.683,-58.125,1290.93),(0,270,0)); + var_00.v["fxid"] = "building_window_shatter_01_no_collision"; + var_00.v["delay"] = 10.1; + var_00.v["exploder"] = "209"; + var_00 = common_scripts\utility::createexploder("building_window_shatter_01_no_collision"); + var_00 common_scripts\_createfx::set_origin_and_angles((-976.095,-58.125,1129.77),(0,270,0)); + var_00.v["fxid"] = "building_window_shatter_01_no_collision"; + var_00.v["delay"] = 10.2; + var_00.v["exploder"] = "209"; + var_00 = common_scripts\utility::createexploder("building_window_shatter_01_no_collision"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1415.67,-58.125,1132.26),(0,270,0)); + var_00.v["fxid"] = "building_window_shatter_01_no_collision"; + var_00.v["delay"] = 10.2; + var_00.v["exploder"] = "209"; + var_00 = common_scripts\utility::createexploder("building_window_shatter_01_no_collision"); + var_00 common_scripts\_createfx::set_origin_and_angles((-665.952,15.0447,1291.47),(0,270,0)); + var_00.v["fxid"] = "building_window_shatter_01_no_collision"; + var_00.v["delay"] = 10.3; + var_00.v["exploder"] = "209"; + var_00 = common_scripts\utility::createexploder("electrical_sparks_runner_no_impact_spawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((-993.177,1480.52,1182.11),(270,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner_no_impact_spawn"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "205"; + var_00 = common_scripts\utility::createexploder("building_window_shatter_01_no_collision"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1242.09,434.125,1289.03),(0,90,0)); + var_00.v["fxid"] = "building_window_shatter_01_no_collision"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "209"; + var_00 = common_scripts\utility::createexploder("building_window_shatter_01_no_collision"); + var_00 common_scripts\_createfx::set_origin_and_angles((-323.875,132.98,1127.04),(0,0,0)); + var_00.v["fxid"] = "building_window_shatter_01_no_collision"; + var_00.v["delay"] = 10.5; + var_00.v["exploder"] = "209"; + var_00 = common_scripts\utility::createexploder("building_window_shatter_01_no_collision"); + var_00 common_scripts\_createfx::set_origin_and_angles((-323.875,300.172,1124.62),(0,0,0)); + var_00.v["fxid"] = "building_window_shatter_01_no_collision"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "209"; + var_00 = common_scripts\utility::createexploder("building_window_shatter_01_no_collision"); + var_00 common_scripts\_createfx::set_origin_and_angles((905.984,307.213,1255.94),(0,210,0)); + var_00.v["fxid"] = "building_window_shatter_01_no_collision"; + var_00.v["delay"] = 0.5; + var_00.v["exploder"] = "209"; + var_00 = common_scripts\utility::createexploder("building_window_shatter_01_no_collision"); + var_00 common_scripts\_createfx::set_origin_and_angles((928.745,267.789,1091.72),(0,210,0)); + var_00.v["fxid"] = "building_window_shatter_01_no_collision"; + var_00.v["delay"] = 0.5; + var_00.v["exploder"] = "209"; + var_00 = common_scripts\utility::createexploder("electrical_sparks_runner_no_impact_spawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((1578.26,485.535,1276.01),(270,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner_no_impact_spawn"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "205"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_ground_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((1809.55,943.78,978.004),(274.611,294.943,-76.8393)); + var_00.v["fxid"] = "mp_tor_avalanche_ground_splashes"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "210"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_ground_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((756.583,778.493,1004),(274.611,294.943,-78.8396)); + var_00.v["fxid"] = "mp_tor_avalanche_ground_splashes"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "210"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_ground_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-138.321,614.031,1028.86),(274.611,294.943,-118.84)); + var_00.v["fxid"] = "mp_tor_avalanche_ground_splashes"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "210"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_ground_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-963.799,997.415,1029.93),(274.611,294.942,-164.84)); + var_00.v["fxid"] = "mp_tor_avalanche_ground_splashes"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "210"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_impact_hide_view"); + var_00 common_scripts\_createfx::set_origin_and_angles((183.224,433.482,1018.77),(274.611,294.943,-118.84)); + var_00.v["fxid"] = "mp_tor_avalanche_impact_hide_view"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_impact_hide_view"); + var_00 common_scripts\_createfx::set_origin_and_angles((878.825,641.016,975.484),(274.611,294.94,-84.8382)); + var_00.v["fxid"] = "mp_tor_avalanche_impact_hide_view"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_ground_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((871.935,662.292,985.569),(274.611,294.943,-76.8393)); + var_00.v["fxid"] = "mp_tor_avalanche_ground_splashes_sm"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("mp_tor_avalanche_impact_hide_view"); + var_00 common_scripts\_createfx::set_origin_and_angles((1106.68,687.069,985.481),(274.611,294.938,178.163)); + var_00.v["fxid"] = "mp_tor_avalanche_impact_hide_view"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "211"; + var_00 = common_scripts\utility::createexploder("building_window_shatter_01_no_collision"); + var_00 common_scripts\_createfx::set_origin_and_angles((-469.343,13.6394,1126.22),(0,270,0)); + var_00.v["fxid"] = "building_window_shatter_01_no_collision"; + var_00.v["delay"] = 10.4; + var_00.v["exploder"] = "209"; + var_00 = common_scripts\utility::createexploder("electrical_sparks_runner_no_impact_spawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((1104.07,939.064,1036.35),(270,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner_no_impact_spawn"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "205"; + var_00 = common_scripts\utility::createexploder("electrical_sparks_runner_no_impact_spawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((470.626,1330.88,1071.29),(270,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner_no_impact_spawn"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "205"; + var_00 = common_scripts\utility::createexploder("electrical_sparks_runner_no_impact_spawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((-168.799,956.59,1259.56),(270,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner_no_impact_spawn"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "205"; + var_00 = common_scripts\utility::createexploder("electrical_sparks_runner_no_impact_spawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((-116.943,853.071,1300.04),(270,0,79)); + var_00.v["fxid"] = "electrical_sparks_runner_no_impact_spawn"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "205"; + var_00 = common_scripts\utility::createexploder("electrical_sparks_runner_no_impact_spawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((1620.05,944.849,984.21),(270,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner_no_impact_spawn"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "205"; + var_00 = common_scripts\utility::createexploder("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((399.958,1201.39,1061.67),(270,180,-77)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = 7; + var_00.v["exploder"] = "205"; + var_00 = common_scripts\utility::createexploder("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-210.494,799.875,1087.84),(272,193,-106)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = 7; + var_00.v["exploder"] = "205"; + var_00 = common_scripts\utility::createexploder("snow_light_wind_gust_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-979.675,1524.74,1239.01),(292,229,178)); + var_00.v["fxid"] = "snow_light_wind_gust_runner"; + var_00.v["delay"] = 7; + var_00.v["exploder"] = "205"; + var_00 = common_scripts\utility::createexploder("electrical_sparks_runner_no_impact_spawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((2097.31,1141.57,1324.37),(270,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner_no_impact_spawn"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "205"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-305.259,-1062.49,894.625),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-109.519,-1037.06,1052.13),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-291.266,-1050,1170.63),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-631.563,16.625,1058.55),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-346.38,227.971,1022),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-577.456,418.185,1022),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1252.83,1335.23,1026),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1370.39,1139.63,1026),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2100.5,-1018.19,882.606),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1064.75,-1261,854),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1166.34,-984.201,854),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-293.045,-1183.1,686),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-146.944,-1179.14,685.922),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1734.11,-1704.22,822),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1510.43,-1897.36,822),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1254.66,-1884.19,822),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1887.4,-1421.42,822),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-72.9352,-1608.01,837.893),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-328.544,-1726.02,838),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((777.206,-1653,686),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((781.719,-1258.58,686),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1057.93,-1572.91,685),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1185.72,-1268.43,685),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1578.86,-1568.71,773.977),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1776.43,-1331.83,773.852),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1191.02,-164.189,861.763),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1470.87,-206.698,862),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1583.32,-566.627,862),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((813.522,-805.229,883.5),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((626.346,224.336,1094.44),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((349.046,-5.7484,945.841),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((71.4079,-65.8471,876.125),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2031.21,-534.677,841.757),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1594.56,973.649,1005),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1690.4,870.366,1005),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-412.125,251.48,1360.12),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-976.683,-254.761,896.22),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1143.98,-231.667,897.203),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1232.19,-74.125,1181.85),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((956.183,-341.02,883),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-349.427,1175.04,1058.1),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "rocks_dust_cliff"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-36.6731,1110.56,1057.63),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "rocks_dust_cliff"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((788.52,1190.26,999.914),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "rocks_dust_cliff"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1019.84,1493.63,1010.15),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "rocks_dust_cliff"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1910.66,1521.38,1030.4),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "rocks_dust_cliff"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2400.46,906.908,1026.41),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "rocks_dust_cliff"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((659.091,-2067.47,644.941),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "rocks_dust_cliff"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1409.74,-1772.46,685.271),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "rocks_dust_cliff"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2159.75,-1095.41,815.811),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "rocks_dust_cliff"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2030.4,-1006.88,859.484),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((833.597,-1875.77,693.309),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1057.94,-1806.34,686.889),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2309.07,1113.78,1047.85),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2049.17,1359.74,998.556),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2373.52,983.687,1174.62),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1086.83,1469.88,964.252),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1526.78,1286.4,1088.27),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "data_beep"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2160.78,122.372,913.567),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "hinge_squeak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2073.03,758.444,950.711),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "hinge_squeak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1301.32,1429.35,1016.5),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 4; + var_00.v["soundalias"] = "hinge_squeak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1885.36,1388.3,1064.74),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1377.03,1278.09,1021.31),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1736.31,812.252,1088.32),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1557.8,1014.84,1087.13),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((499.304,849.955,1214.97),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-70.1675,846.024,1078.03),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-854.42,709.894,1140.8),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((85.8187,-1621.98,786.929),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((401.643,-1105.41,849.625),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((732.304,-1117.87,840.289),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-355.399,-1618.54,707.974),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-474.362,-1094.03,849.625),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-687.775,-1624.61,790.151),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1001.2,-1230.33,831.875),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((454.734,436.981,1026),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "wind_gust_leaves"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2316.11,620.499,1305.65),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 7.5; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2168.42,-203.443,1302.2),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 7.5; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1576.64,-136.902,1302.2),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 7.5; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2853.4,1026.92,1558.2),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 7.5; + var_00.v["soundalias"] = "metal_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((913.132,1472.55,1239.89),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "dogs_bark_dist"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1014.93,2025.08,1355.54),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "dogs_bark_dist"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2123.51,803.354,1251.16),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "dogs_bark_dist"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2504.28,-1134.1,1200.03),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "dogs_bark_dist"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1758.01,-2109.07,1043.23),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "dogs_bark_dist"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-398.943,-2637.33,717.344),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "dogs_bark_dist"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((708.868,-2627.91,691.509),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "dogs_bark_dist"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((708.916,-2627.86,691.509),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "dogs_bark_dist"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2100.5,-1315.29,891.993),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1955.64,-1798,862.962),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1537.38,-1796.13,810.042),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1331.03,-1798,835.578),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1331.03,-1798,835.578),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2660.88,-1049.64,779.521),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2665,-703.897,789.708),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2665,-372.026,826.398),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2663.52,-70.6378,875.093),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2879.33,51.5184,885.66),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1873.41,1047.04,1030),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1365.01,1252.88,1031.22),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((165.267,968.719,1070.84),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-135.225,1277.45,1088.53),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-382.049,1280.13,1079.13),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-643.715,1190.88,1106.63),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1173.02,1023.85,1051.98),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1173.02,1023.78,1051.98),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1600.33,1371.98,1233.51),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2013.28,1159.8,1248.58),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2121.49,450.247,1031.84),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2077.97,256.626,1091.88),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2101.88,-373.119,1053.92),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2101.88,-373.185,1053.86),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2102,-0.597839,1070.61),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1213.1,-1027.72,800.893),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "data_beep"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1195.32,-1906.34,918.94),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "data_beep"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1195.32,-1955.87,906.852),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_server_spin"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-950.17,-1612.85,908.574),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_server_spin"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-948.847,-1859.68,887.908),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_server_hard_drive"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-979.01,-2000.35,885.337),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_server_hard_drive"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1221.15,-1872.27,887.044),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_server_hard_drive"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1131.54,-1612.85,905.526),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_server_hard_drive"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2964.83,197.657,933.208),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_coyote_distant"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2597.19,994.28,1142.02),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_coyote_distant"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3390.52,466.669,1134.06),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_coyote_distant"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1293.33,1550.05,1548.04),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_coyote_distant"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1974.54,-1457.87,1339.82),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_coyote_distant"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2439.31,-1019.3,1384.36),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_coyote_distant"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1585.12,-2052.48,1405.96),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_coyote_distant"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((756.032,1516.83,1305.85),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_coyote_distant"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-203.671,1518.05,1377.33),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_coyote_distant"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-27.6957,-1430.76,772.267),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_server_hard_drive"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-27.2699,-1373.4,771.398),(270,0,0)); + var_00.v["delay_min"] = 0.75; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "emt_server_hard_drive"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2919.02,-852.05,824.222),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_coyote_distant"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2594.4,-1945.81,679),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "emt_coyote_distant"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2049.41,953.189,1477.81),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_hawk_distant"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-741.415,1684.8,1438.48),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_hawk_distant"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((70.8347,1624.67,1457.19),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_hawk_distant"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1496.44,1533.25,1546.64),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_hawk_distant"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2470.24,1327.2,1538.15),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_hawk_distant"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3972.17,-1412.59,922.025),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_hawk_distant"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2480.39,-2124.98,1012.33),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_hawk_distant"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((798.162,-2843.78,1027.68),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_hawk_distant"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-307.53,-2088.81,839.21),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "emt_hawk_distant"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2263.75,571.973,1320.55),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_cable_creak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2191.59,-174.673,1247.2),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "emt_cable_creak"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_urban_fx.gsc b/AW/PC/maps/createfx/mp_urban_fx.gsc new file mode 100644 index 0000000..87b9cd7 --- /dev/null +++ b/AW/PC/maps/createfx/mp_urban_fx.gsc @@ -0,0 +1,1318 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_urban_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 65 ms + * Timestamp: 4/22/2024 2:07:50 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((156.831,1336.27,2048),(270,0,0)); + var_00.v["soundalias"] = "jtbk_hover"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-198.601,-9.44275,2047.63),(270,0,0)); + var_00.v["soundalias"] = "jtbk_hover"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((635.332,1520.13,2105.6),(270,0,0)); + var_00.v["soundalias"] = "veh_truck_gaz_npc_idle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-65.2216,604.514,2104.07),(270,0,0)); + var_00.v["soundalias"] = "veh_truck_gaz_npc_idle_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((784.305,1416.06,2141.47),(270,0,0)); + var_00.v["soundalias"] = "radio_chatter_generic_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-17.8418,782.722,2140.33),(270,0,0)); + var_00.v["soundalias"] = "radio_chatter_generic_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((267.764,-707.755,2142.43),(270,0,0)); + var_00.v["soundalias"] = "flourescent_buzz_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((609.395,-413.553,2110.49),(271,270,90)); + var_00.v["soundalias"] = "fluorescent_light_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((517.696,-1084.7,2156.44),(270,0,0)); + var_00.v["soundalias"] = "fluorescent_light_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((226.795,-1086.28,2155.44),(270,0,0)); + var_00.v["soundalias"] = "fluorescent_light_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((518.562,-841.218,2152.44),(270,0,0)); + var_00.v["soundalias"] = "fluorescent_light_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((135.806,-425.264,2273.25),(4.04259,358.203,0.652932)); + var_00.v["soundalias"] = "flourescent_buzz_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((201.003,-1026.31,2282.29),(270,0,0)); + var_00.v["soundalias"] = "flourescent_buzz_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((573.581,-1140.24,2290.87),(270,0,0)); + var_00.v["soundalias"] = "flourescent_buzz_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((139.754,-1087.62,2300.03),(270,0,0)); + var_00.v["soundalias"] = "flourescent_buzz_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((396.568,-168.358,2198.13),(270,0,0)); + var_00.v["soundalias"] = "vent_air_lrg_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((403.261,168.462,2198.13),(270,0,0)); + var_00.v["soundalias"] = "vent_air_lrg_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-254.268,-846.338,2127.46),(270,0,0)); + var_00.v["soundalias"] = "tv_buzz_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-503.462,-1243.33,2284.28),(270,0,0)); + var_00.v["soundalias"] = "tv_buzz_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-502.609,-795.239,2292.27),(270,0,0)); + var_00.v["soundalias"] = "tv_buzz_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-694.328,-1395.24,2274.53),(270,0,0)); + var_00.v["soundalias"] = "tv_buzz_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-421.071,-1394.85,2122.05),(270,0,0)); + var_00.v["soundalias"] = "tv_buzz_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-758.594,845.445,2124.41),(270,0,0)); + var_00.v["soundalias"] = "tv_buzz_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-502.894,1014.34,2289.6),(270,0,0)); + var_00.v["soundalias"] = "tv_buzz_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-502.762,800.389,2290.83),(270,0,0)); + var_00.v["soundalias"] = "static_offline_tv_panel_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-503.247,1247.27,2286.3),(270,0,0)); + var_00.v["soundalias"] = "static_offline_tv_panel_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-700.474,1394.2,2279.61),(270,0,0)); + var_00.v["soundalias"] = "static_offline_tv_panel_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-419.494,1395.34,2117.39),(270,0,0)); + var_00.v["soundalias"] = "static_offline_tv_panel_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-758.685,-850.126,2123.56),(270,0,0)); + var_00.v["soundalias"] = "static_offline_tv_panel_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-502.649,-1030.95,2291.9),(270,0,0)); + var_00.v["soundalias"] = "static_offline_tv_panel_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((279.445,700.16,2317.37),(270,0,0)); + var_00.v["soundalias"] = "static_offline_tv_panel_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-254.452,855.951,2125.74),(270,0,0)); + var_00.v["soundalias"] = "tv_buzz_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((311.294,1137.09,2257.76),(270,0,0)); + var_00.v["soundalias"] = "tv_buzz_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((566.094,399.094,2383.49),(270,0,0)); + var_00.v["soundalias"] = "tv_buzz_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((279.354,890.261,2317.92),(270,0,0)); + var_00.v["soundalias"] = "tv_buzz_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1010.37,-0.983411,2221.39),(270,0,0)); + var_00.v["soundalias"] = "vent_rattle_metal_large_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-599.658,1095.74,2092.86),(270,0,0)); + var_00.v["soundalias"] = "vent_rattle_plastic_small_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-599.658,-1146.77,2092.83),(270,0,0)); + var_00.v["soundalias"] = "vent_rattle_plastic_small_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-606.126,-1094.97,2092.93),(270,0,0)); + var_00.v["soundalias"] = "vent_hum_small_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-605.971,1149.5,2095.27),(270,0,0)); + var_00.v["soundalias"] = "vent_hum_small_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((667.005,-742.015,2175.5),(270,0,0)); + var_00.v["soundalias"] = "vent_hum_small_lp_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((598.766,933.424,2086.43),(270,0,0)); + var_00.v["soundalias"] = "vent_hum_small_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((510.661,1111.77,2086.28),(270,0,0)); + var_00.v["soundalias"] = "vent_hum_medium_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((622.958,788.894,2124.48),(270,0,0)); + var_00.v["soundalias"] = "tv_buzz_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((392.192,669.246,2123.7),(270,0,0)); + var_00.v["soundalias"] = "tv_buzz_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((392.288,779.011,2124.61),(270,0,0)); + var_00.v["soundalias"] = "static_offline_tv_panel_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((318.509,-1163.76,2307.71),(270,0,0)); + var_00.v["soundalias"] = "canvas_flap_high_wind_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((187.365,-1174,2314.55),(270,0,0)); + var_00.v["soundalias"] = "canvas_flap_small_lp_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((541.23,-1246.38,2143.88),(270,0,0)); + var_00.v["soundalias"] = "emt_cloths_flap_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((33.875,-504.531,2160.87),(270,0,0)); + var_00.v["soundalias"] = "emt_cloths_flap_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((515.196,-770.187,2163.88),(270,0,0)); + var_00.v["soundalias"] = "emt_cloths_flap_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((465.922,-568.556,2161.88),(270,0,0)); + var_00.v["soundalias"] = "emt_cloths_flap_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((423.992,-518.966,2277.88),(270,0,0)); + var_00.v["soundalias"] = "emt_cloths_flap_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((504.974,-383.875,2462.84),(270,0,0)); + var_00.v["soundalias"] = "canvas_flap_high_wind_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((276.68,-383.875,2455.75),(270,0,0)); + var_00.v["soundalias"] = "canvas_flap_high_wind_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((463.284,-1166.69,2313.49),(270,0,0)); + var_00.v["soundalias"] = "canvas_flap_small_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((87.875,690.824,2305.71),(270,0,0)); + var_00.v["soundalias"] = "emt_cloths_flap_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((731.458,662.749,2227.84),(270,0,0)); + var_00.v["soundalias"] = "wind_shed_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((418.955,1250.13,2142.27),(270,0,0)); + var_00.v["soundalias"] = "wind_upper_window_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((31.875,-446.119,2123.46),(270,0,0)); + var_00.v["soundalias"] = "wind_upper_window_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((393.653,-1248.13,2128.33),(270,0,0)); + var_00.v["soundalias"] = "wind_upper_window_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((21.875,445.979,2134.88),(270,0,0)); + var_00.v["soundalias"] = "wind_upper_window_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-648.285,-516.213,2140.88),(270,0,0)); + var_00.v["soundalias"] = "wind_upper_window_lp_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-659.061,508,2132.88),(270,0,0)); + var_00.v["soundalias"] = "wind_upper_window_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-189.433,-1319.35,2135.08),(270,0,0)); + var_00.v["soundalias"] = "wind_shed_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-194.138,1357.94,2153.47),(270,0,0)); + var_00.v["soundalias"] = "wind_shed_rattle_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-40.5375,-797.401,2107.41),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((696.938,-615.135,2231.67),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((243.426,1295.38,2112.27),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-203.095,1192.01,2105.2),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-26.4388,-679.483,2109.65),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((577.998,-1189.41,2082.4),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((255.768,-1312.02,2129.9),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((707.449,657.288,2236.28),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_pops_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((441.148,884.734,2453.08),(270,0,0)); + var_00.v["soundalias"] = "mus_tasty_pump"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((625.712,1056.82,2233.27),(270,0,0)); + var_00.v["soundalias"] = "liquid_tank_vent_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((626.875,862.696,2233.19),(270,0,0)); + var_00.v["soundalias"] = "liquid_tank_vent_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((626.234,962.416,2233.03),(270,0,0)); + var_00.v["soundalias"] = "liquid_tank_vent_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((136.296,-2075.02,2307.13),(270,0,0)); + var_00.v["soundalias"] = "vent_low_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-316.655,-2143.16,2356),(270,0,0)); + var_00.v["soundalias"] = "engine_huge_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-583.758,-1969.9,2425),(270,0,0)); + var_00.v["soundalias"] = "vent_hum_large_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-57.9952,-795.229,2103.24),(270,0,0)); + var_00.v["soundalias"] = "flies_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-402.213,600.713,2048.13),(270,0,0)); + var_00.v["soundalias"] = "flies_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-191.823,1181.25,2104.58),(270,0,0)); + var_00.v["soundalias"] = "flies_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-36.3099,1624.25,2094.97),(270,0,0)); + var_00.v["soundalias"] = "flies_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((692.117,1109.53,2047.63),(270,0,0)); + var_00.v["soundalias"] = "flies_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((848.342,386.782,2176.13),(270,0,0)); + var_00.v["soundalias"] = "flies_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((868.353,-329.693,2224.86),(270,0,0)); + var_00.v["soundalias"] = "flies_lp_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((703.776,-595.942,2232.96),(270,0,0)); + var_00.v["soundalias"] = "flies_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((664.956,581.593,2178.26),(270,0,0)); + var_00.v["soundalias"] = "flies_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((997.86,940.88,2048.13),(270,0,0)); + var_00.v["soundalias"] = "flies_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((986.793,-952.492,2048.13),(270,0,0)); + var_00.v["soundalias"] = "flies_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((477.676,886.932,2176),(270,0,0)); + var_00.v["soundalias"] = "flies_lp_01"; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((398.303,167.54,2184.81),(270,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((398.365,-168.915,2184.13),(270,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("hoverbike_pads_idle"); + var_00 common_scripts\_createfx::set_origin_and_angles((-184.529,-2.99627,2059.63),(65.993,29.1725,-91)); + var_00.v["fxid"] = "hoverbike_pads_idle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("hoverbike_pads_idle"); + var_00 common_scripts\_createfx::set_origin_and_angles((-206.827,-18.8789,2058.75),(50.9359,210.932,89.6968)); + var_00.v["fxid"] = "hoverbike_pads_idle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("hoverbike_pads_idle"); + var_00 common_scripts\_createfx::set_origin_and_angles((-208.43,8.59984,2063.81),(66.984,123.661,0)); + var_00.v["fxid"] = "hoverbike_pads_idle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_l"); + var_00 common_scripts\_createfx::set_origin_and_angles((-490.268,2269.36,1566.23),(270,0,0)); + var_00.v["fxid"] = "heat_distortion_l"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_blacksmk_tall"); + var_00 common_scripts\_createfx::set_origin_and_angles((-513.386,2263.86,1547),(270,0,0)); + var_00.v["fxid"] = "fire_lp_m_blacksmk_tall"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1205.2,1459.19,2054.56),(35.9566,90,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1356.26,1460.17,2055.92),(35.9566,90,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-357.409,-481.533,2585.99),(52.8416,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-357.217,-160.042,2585.75),(321.843,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-357.522,157.573,2586.14),(321.843,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-357.339,479.22,2585.91),(321.843,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-385.73,159.902,2704.61),(324.162,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-387.386,479.313,2706.9),(324.162,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-385.88,-161.832,2704.82),(324.162,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-386.177,-480.496,2705.23),(324.162,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-418.088,-481.004,2831.1),(324.162,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-452.749,-480.03,2958.02),(324.162,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-451.145,-162.347,2955.8),(324.162,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-418.476,-160.217,2831.64),(324.162,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-417.771,159.321,2830.67),(324.162,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-452.796,160.311,2958.08),(324.162,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-452.614,477.883,2957.83),(324.162,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-418.798,478.7,2832.09),(324.162,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_cloud_fog_area_local"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1360.02,-2757.41,1664.13),(28.5522,217.739,0)); + var_00.v["fxid"] = "ambient_cloud_fog_area_local"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_cloud_fog_area_local"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2090.68,-3512.4,1685.13),(270,0,0)); + var_00.v["fxid"] = "ambient_cloud_fog_area_local"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_cloud_fog_area_local"); + var_00 common_scripts\_createfx::set_origin_and_angles((144.485,-3542.09,1664.13),(270,0,0)); + var_00.v["fxid"] = "ambient_cloud_fog_area_local"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_cloud_fog_area_local"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1384.52,-2127.73,3321.38),(338.669,130.744,0)); + var_00.v["fxid"] = "ambient_cloud_fog_area_local"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("generator_steam_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((182.144,1063.37,2668.38),(270,0,25)); + var_00.v["fxid"] = "generator_steam_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_rolling_ground_leaves"); + var_00 common_scripts\_createfx::set_origin_and_angles((727.076,-98.0374,2213.64),(277.046,254.488,27.0708)); + var_00.v["fxid"] = "ambient_rolling_ground_leaves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_rolling_ground_leaves"); + var_00 common_scripts\_createfx::set_origin_and_angles((943.51,748.764,2198.82),(280.673,14.8582,-94)); + var_00.v["fxid"] = "ambient_rolling_ground_leaves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_rolling_ground_leaves"); + var_00 common_scripts\_createfx::set_origin_and_angles((916.672,977.57,2101.61),(279.02,38.2523,-97.3727)); + var_00.v["fxid"] = "ambient_rolling_ground_leaves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_rolling_ground_leaves"); + var_00 common_scripts\_createfx::set_origin_and_angles((75.6448,1565.7,2117.58),(283.814,326.436,-10.6671)); + var_00.v["fxid"] = "ambient_rolling_ground_leaves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_rolling_ground_leaves"); + var_00 common_scripts\_createfx::set_origin_and_angles((-88.3539,1524.62,2117.77),(284.483,318.021,7.49165)); + var_00.v["fxid"] = "ambient_rolling_ground_leaves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_rolling_ground_leaves"); + var_00 common_scripts\_createfx::set_origin_and_angles((-61.5059,-1557.62,2117.21),(273.994,11.6679,-83.7713)); + var_00.v["fxid"] = "ambient_rolling_ground_leaves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("generator_steam_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1207.37,1458.3,2053.34),(35.9566,90,0)); + var_00.v["fxid"] = "generator_steam_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("generator_steam_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1359.89,1458.46,2053.56),(35.9566,90,0)); + var_00.v["fxid"] = "generator_steam_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("generator_steam_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((49.3783,1779.72,2249.11),(355.911,59.2429,-6.83123)); + var_00.v["fxid"] = "generator_steam_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_cloud_fog_area_local"); + var_00 common_scripts\_createfx::set_origin_and_angles((1181.99,-70.0248,3645.82),(0,270,0)); + var_00.v["fxid"] = "ambient_cloud_fog_area_local"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_cloud_fog_area_local"); + var_00 common_scripts\_createfx::set_origin_and_angles((671.31,1619.02,2166.26),(13.1329,33.6573,0)); + var_00.v["fxid"] = "ambient_cloud_fog_area_local"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((49.3371,1779.41,2249.41),(7.95656,180,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_trash_blowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((172.676,-1733.66,2095.86),(303.999,300.839,87.2465)); + var_00.v["fxid"] = "det_trash_blowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_trash_blowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-378.653,1906.72,1787.15),(298.224,301.559,91.8789)); + var_00.v["fxid"] = "det_trash_blowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_trash_blowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((484.148,2265.59,2090.13),(270,0,81)); + var_00.v["fxid"] = "det_trash_blowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_trash_blowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1050.59,549.165,2683.13),(270,0,25)); + var_00.v["fxid"] = "det_trash_blowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_trash_blowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-42.5406,-682.722,2136.75),(271.747,338.432,24.9408)); + var_00.v["fxid"] = "det_trash_blowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_cloud_fog_area_local"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2098.28,-500.48,2841.09),(0.504142,174.172,0)); + var_00.v["fxid"] = "ambient_cloud_fog_area_local"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_cloud_fog_area_local"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1978.69,719.006,2892.75),(0,270,0)); + var_00.v["fxid"] = "ambient_cloud_fog_area_local"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_building_exhaust_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1008.42,-2156.87,1676.85),(37.7368,183.681,0)); + var_00.v["fxid"] = "steam_building_exhaust_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent"); + var_00 common_scripts\_createfx::set_origin_and_angles((442.757,174.4,2209.2),(359.06,242.013,1.23255)); + var_00.v["fxid"] = "steam_sm_vent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent"); + var_00 common_scripts\_createfx::set_origin_and_angles((440.973,-168.823,2192.13),(270,0,-136)); + var_00.v["fxid"] = "steam_sm_vent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent"); + var_00 common_scripts\_createfx::set_origin_and_angles((367.22,-173.268,2199.13),(270,0,-126)); + var_00.v["fxid"] = "steam_sm_vent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_building_exhaust_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((338.242,-2425.44,1843.13),(353.032,180.664,174.963)); + var_00.v["fxid"] = "steam_building_exhaust_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_building_exhaust_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((307.172,-2323.25,1706.12),(350.137,174.668,178.675)); + var_00.v["fxid"] = "steam_building_exhaust_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_building_exhaust_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2892.86,-3563.19,1775.3),(28.8182,188.061,3.73013)); + var_00.v["fxid"] = "steam_building_exhaust_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_building_exhaust_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3096.73,-2281.28,1770.76),(39.8467,181.311,2.20359)); + var_00.v["fxid"] = "steam_building_exhaust_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_building_exhaust_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5437.9,-5905.16,2340.93),(272.285,267.968,3.96377)); + var_00.v["fxid"] = "steam_building_exhaust_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent"); + var_00 common_scripts\_createfx::set_origin_and_angles((511.371,1545.93,2048),(295.549,337.02,-91.0833)); + var_00.v["fxid"] = "steam_sm_vent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent"); + var_00 common_scripts\_createfx::set_origin_and_angles((657.617,-753.956,2179.5),(270,0,88)); + var_00.v["fxid"] = "steam_sm_vent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_rolling_ground_leaves"); + var_00 common_scripts\_createfx::set_origin_and_angles((932.881,-800.846,2201.92),(281.891,290.023,5.70694)); + var_00.v["fxid"] = "ambient_rolling_ground_leaves"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1022.91,-0.541183,2219.72),(50.185,360,90)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1021.2,-0.694071,2288.22),(311.186,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1027.88,-0.294061,2361.01),(0,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent"); + var_00 common_scripts\_createfx::set_origin_and_angles((826.544,1410.23,2048),(272,270,-140)); + var_00.v["fxid"] = "steam_sm_vent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_trash_blowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-90.6927,1496.55,2108),(270,0,0)); + var_00.v["fxid"] = "det_trash_blowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("det_trash_blowing"); + var_00 common_scripts\_createfx::set_origin_and_angles((761.776,-114.567,2364.61),(273.859,83.9839,-40)); + var_00.v["fxid"] = "det_trash_blowing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("hoverbike_pads_idle"); + var_00 common_scripts\_createfx::set_origin_and_angles((162.522,1352.12,2058.67),(53.6738,117.385,-98.662)); + var_00.v["fxid"] = "hoverbike_pads_idle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("hoverbike_pads_idle"); + var_00 common_scripts\_createfx::set_origin_and_angles((173.818,1331.2,2058.82),(52.8785,309.092,96.1751)); + var_00.v["fxid"] = "hoverbike_pads_idle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("hoverbike_pads_idle"); + var_00 common_scripts\_createfx::set_origin_and_angles((189.517,1350.6,2062),(39.8839,21.5686,141.091)); + var_00.v["fxid"] = "hoverbike_pads_idle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_cloud_fog_area_local"); + var_00 common_scripts\_createfx::set_origin_and_angles((-347.875,1.54427,2570.74),(270,0,0)); + var_00.v["fxid"] = "ambient_cloud_fog_area_local"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fog_smog_vista_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4352.32,6848.5,2829.13),(351,294,-5)); + var_00.v["fxid"] = "fog_smog_vista_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fog_smog_vista_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((5054.59,9326.77,3648.13),(350.482,242.28,3.91852)); + var_00.v["fxid"] = "fog_smog_vista_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fog_smog_vista_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10849.5,-4100.8,2192.13),(2.0739,40.4147,1.29648)); + var_00.v["fxid"] = "fog_smog_vista_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fog_smog_vista_mp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2328.55,-5064.87,3368.4),(359.782,103.386,2.4357)); + var_00.v["fxid"] = "fog_smog_vista_mp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_hoverbike_idle"); + var_00 common_scripts\_createfx::set_origin_and_angles((-203.161,3.50413,2059.63),(270,0,0)); + var_00.v["fxid"] = "mp_ub_hoverbike_idle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_hoverbike_idle"); + var_00 common_scripts\_createfx::set_origin_and_angles((169.647,1353.05,2058),(270,0,0)); + var_00.v["fxid"] = "mp_ub_hoverbike_idle"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_drip_ledge_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((550.651,1250.46,2152.88),(90,349.992,-104.008)); + var_00.v["fxid"] = "mp_ub_drip_ledge_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_drip_ledge_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((368.992,1248.75,2156.57),(90,349.992,-104.008)); + var_00.v["fxid"] = "mp_ub_drip_ledge_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_drip_ledge_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((134.485,1248.28,2156.1),(90,349.992,-104.008)); + var_00.v["fxid"] = "mp_ub_drip_ledge_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_drip_ledge_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((23.7889,1002.69,2156.03),(90,0,0)); + var_00.v["fxid"] = "mp_ub_drip_ledge_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_sm_vent"); + var_00 common_scripts\_createfx::set_origin_and_angles((356.576,175.47,2201.13),(270,0,0)); + var_00.v["fxid"] = "steam_sm_vent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_birds_takeoff_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2842.84,3953.49,2105.72),(270,0,-17)); + var_00.v["fxid"] = "mp_ub_birds_takeoff_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_birds_takeoff_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2644.18,1501.74,1919.13),(270,0,-129)); + var_00.v["fxid"] = "mp_ub_birds_takeoff_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_birds_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2687.12,1596.46,4183.28),(357,90.0523,-91.0015)); + var_00.v["fxid"] = "mp_ub_birds_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_birds_takeoff_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1560.07,1466.62,2769.13),(270,0,176)); + var_00.v["fxid"] = "mp_ub_birds_takeoff_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_drip_ledge"); + var_00 common_scripts\_createfx::set_origin_and_angles((-357.284,-474.364,2559.88),(90,0,-3)); + var_00.v["fxid"] = "mp_ub_drip_ledge"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_drip_ledge"); + var_00 common_scripts\_createfx::set_origin_and_angles((-360.978,-171.013,2553.88),(90,0,0)); + var_00.v["fxid"] = "mp_ub_drip_ledge"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_drip_ledge"); + var_00 common_scripts\_createfx::set_origin_and_angles((-366.399,176.392,2556.88),(90,0,0)); + var_00.v["fxid"] = "mp_ub_drip_ledge"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_drip_ledge"); + var_00 common_scripts\_createfx::set_origin_and_angles((-364.602,489.486,2567.88),(90,0,0)); + var_00.v["fxid"] = "mp_ub_drip_ledge"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_flies"); + var_00 common_scripts\_createfx::set_origin_and_angles((-406.433,585.819,2063.13),(270,0,0)); + var_00.v["fxid"] = "mp_ub_flies"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_flies"); + var_00 common_scripts\_createfx::set_origin_and_angles((-184.686,1180.62,2119.09),(270,0,0)); + var_00.v["fxid"] = "mp_ub_flies"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_flies"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47.1355,1628.87,2082.81),(270,0,0)); + var_00.v["fxid"] = "mp_ub_flies"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_flies"); + var_00 common_scripts\_createfx::set_origin_and_angles((697.178,1116.17,2062.63),(270,0,0)); + var_00.v["fxid"] = "mp_ub_flies"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_flies"); + var_00 common_scripts\_createfx::set_origin_and_angles((993.329,947.13,2048.13),(270,0,0)); + var_00.v["fxid"] = "mp_ub_flies"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_flies"); + var_00 common_scripts\_createfx::set_origin_and_angles((841.623,388.751,2186.13),(270,0,0)); + var_00.v["fxid"] = "mp_ub_flies"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_flies"); + var_00 common_scripts\_createfx::set_origin_and_angles((863.56,-321.156,2224.35),(270,0,0)); + var_00.v["fxid"] = "mp_ub_flies"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_flies"); + var_00 common_scripts\_createfx::set_origin_and_angles((701.751,-586.598,2232.37),(270,0,0)); + var_00.v["fxid"] = "mp_ub_flies"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_flies"); + var_00 common_scripts\_createfx::set_origin_and_angles((992.439,-919.68,2048.13),(270,0,0)); + var_00.v["fxid"] = "mp_ub_flies"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_flies"); + var_00 common_scripts\_createfx::set_origin_and_angles((167.1,-159.735,2242.13),(270,0,0)); + var_00.v["fxid"] = "mp_ub_flies"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_flies"); + var_00 common_scripts\_createfx::set_origin_and_angles((158.145,148.463,2244.38),(334.916,332.582,0)); + var_00.v["fxid"] = "mp_ub_flies"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_flies"); + var_00 common_scripts\_createfx::set_origin_and_angles((684.085,575.275,2191.13),(270,0,0)); + var_00.v["fxid"] = "mp_ub_flies"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_flies"); + var_00 common_scripts\_createfx::set_origin_and_angles((476.029,895.583,2176),(270,0,0)); + var_00.v["fxid"] = "mp_ub_flies"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_flies"); + var_00 common_scripts\_createfx::set_origin_and_angles((325.688,543.816,2217.71),(283.207,246.627,0)); + var_00.v["fxid"] = "mp_ub_flies"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_flies"); + var_00 common_scripts\_createfx::set_origin_and_angles((609.621,1088.5,2087.83),(270.099,201.304,0)); + var_00.v["fxid"] = "mp_ub_flies"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_dust_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((440.049,-871.717,2074.04),(270,0,0)); + var_00.v["fxid"] = "mp_ub_dust_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_dust_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((530.284,-551.51,2056.3),(270,0,0)); + var_00.v["fxid"] = "mp_ub_dust_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_dust_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((328.313,-744.856,2083.48),(270,0,0)); + var_00.v["fxid"] = "mp_ub_dust_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_dust_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((427.669,-974.576,2203.63),(270,0,0)); + var_00.v["fxid"] = "mp_ub_dust_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_dust_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((429.53,-637.897,2212.13),(270,0,0)); + var_00.v["fxid"] = "mp_ub_dust_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_dust_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((474.541,489.545,2076.13),(270,0,0)); + var_00.v["fxid"] = "mp_ub_dust_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_dust_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((444.213,788.526,2056.13),(270,0,0)); + var_00.v["fxid"] = "mp_ub_dust_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_dust_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((576.847,624.096,2063.13),(270,0,0)); + var_00.v["fxid"] = "mp_ub_dust_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_dust_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((282.204,789.471,2069.13),(270,0,0)); + var_00.v["fxid"] = "mp_ub_dust_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_dust_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((258.319,1046.99,2069.13),(270,0,0)); + var_00.v["fxid"] = "mp_ub_dust_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_dust_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((518.881,1010.26,2063.13),(270,0,0)); + var_00.v["fxid"] = "mp_ub_dust_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_dust_int"); + var_00 common_scripts\_createfx::set_origin_and_angles((442.12,496.712,2304.13),(270,0,0)); + var_00.v["fxid"] = "mp_ub_dust_int"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_birds_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2974.35,-5678.77,3952.03),(1,0,0)); + var_00.v["fxid"] = "mp_ub_birds_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_birds_takeoff_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2982.98,-5024.04,2265.13),(270,0,-106)); + var_00.v["fxid"] = "mp_ub_birds_takeoff_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_birds_takeoff_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3625.5,-5131.87,2240.13),(270,0,-106)); + var_00.v["fxid"] = "mp_ub_birds_takeoff_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_birds_takeoff_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((335.083,-2264.69,2377.02),(270,0,-106)); + var_00.v["fxid"] = "mp_ub_birds_takeoff_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_drip_ledge_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((208.796,-337.375,2297.59),(90,349.992,-104.008)); + var_00.v["fxid"] = "mp_ub_drip_ledge_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_drip_ledge_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((438.77,-336.875,2294),(90,349.992,-104.008)); + var_00.v["fxid"] = "mp_ub_drip_ledge_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_drip_ledge_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((333.665,907.907,2167.88),(90,349.992,-104.008)); + var_00.v["fxid"] = "mp_ub_drip_ledge_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_drip_ledge_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((531.062,1008.09,2167.88),(90,349.992,-104.008)); + var_00.v["fxid"] = "mp_ub_drip_ledge_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_building_exhaust_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-180.043,-3792.12,1862.13),(350.137,174.668,178.675)); + var_00.v["fxid"] = "steam_building_exhaust_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_building_exhaust_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1418.22,-2284.8,1943.13),(350.137,174.668,178.675)); + var_00.v["fxid"] = "steam_building_exhaust_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_drip_ledge_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((22.3333,571.007,2157.49),(90,0,0)); + var_00.v["fxid"] = "mp_ub_drip_ledge_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_drip_ledge_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((34.8357,-974.237,2150.85),(90,0,0)); + var_00.v["fxid"] = "mp_ub_drip_ledge_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_drip_ledge_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((219.276,342.863,2287.86),(90,349.992,-104.008)); + var_00.v["fxid"] = "mp_ub_drip_ledge_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_drip_ledge_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((514.964,339.875,2289.83),(90,349.992,-104.008)); + var_00.v["fxid"] = "mp_ub_drip_ledge_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_ub_drip_ledge_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((650.134,1064.78,2176.76),(90,0,0)); + var_00.v["fxid"] = "mp_ub_drip_ledge_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_building_exhaust_windy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1073.56,-3469.55,1724.13),(350.137,174.668,178.675)); + var_00.v["fxid"] = "steam_building_exhaust_windy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_flare_blue_bright_cool_squares_dlc"); + var_00 common_scripts\_createfx::set_origin_and_angles((199.803,-1022.36,2287.32),(299.996,89.6899,-88.7009)); + var_00.v["fxid"] = "fx_flare_blue_bright_cool_squares_dlc"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_flare_bright_warm_squares_dlc"); + var_00 common_scripts\_createfx::set_origin_and_angles((154.379,1725.24,2196.77),(280,270,90)); + var_00.v["fxid"] = "fx_flare_bright_warm_squares_dlc"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_flare_blue_bright_cool_squares_dlc"); + var_00 common_scripts\_createfx::set_origin_and_angles((269.764,-708.455,2141.79),(279.996,354.398,27.4602)); + var_00.v["fxid"] = "fx_flare_blue_bright_cool_squares_dlc"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_flare_bright_warm_squares_dlc"); + var_00 common_scripts\_createfx::set_origin_and_angles((-752.428,656.924,2203.13),(280.852,30.8804,98.2827)); + var_00.v["fxid"] = "fx_flare_bright_warm_squares_dlc"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_flare_blue_bright_cool_squares_dlc"); + var_00 common_scripts\_createfx::set_origin_and_angles((-754.169,-658.573,2206.21),(273.689,294.104,96.6309)); + var_00.v["fxid"] = "fx_flare_blue_bright_cool_squares_dlc"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("light_blink_police"); + var_00 common_scripts\_createfx::set_origin_and_angles((-41,685,2138),(90,0,-110)); + var_00.v["fxid"] = "light_blink_police"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "cg"; + var_00 = common_scripts\utility::createoneshoteffect("light_blink_police"); + var_00 common_scripts\_createfx::set_origin_and_angles((697,1467,2138),(90,0,-190)); + var_00.v["fxid"] = "light_blink_police"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "cg"; + var_00 = common_scripts\utility::createexploder("mp_ub_dustvent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-274.423,-1317.21,2305.33),(288,180,-91)); + var_00.v["fxid"] = "mp_ub_dustvent"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("mp_ub_dustvent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-335.325,-1307.38,2506.62),(288,180,-91)); + var_00.v["fxid"] = "mp_ub_dustvent"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("mp_ub_dustvent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-338.77,-1112.23,2511.47),(288,180,-91)); + var_00.v["fxid"] = "mp_ub_dustvent"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("mp_ub_dustvent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-326.991,-927.242,2506.29),(288,180,-91)); + var_00.v["fxid"] = "mp_ub_dustvent"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("mp_ub_dustvent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-333.634,-739.928,2519.45),(288,180,-91)); + var_00.v["fxid"] = "mp_ub_dustvent"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("mp_ub_dustvent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-405.383,-1410.56,2498.61),(272.447,63.0981,-65.9466)); + var_00.v["fxid"] = "mp_ub_dustvent"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("mp_ub_dustvent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-301.491,739.382,2456.42),(288,180,-91)); + var_00.v["fxid"] = "mp_ub_dustvent"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("mp_ub_dustvent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-288.172,910.147,2455.96),(288,180,-91)); + var_00.v["fxid"] = "mp_ub_dustvent"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("mp_ub_dustvent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-297.275,1103.69,2451.57),(288,180,-91)); + var_00.v["fxid"] = "mp_ub_dustvent"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("mp_ub_dustvent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-295.327,1295.08,2441.93),(292,179.814,-90.8249)); + var_00.v["fxid"] = "mp_ub_dustvent"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("mp_ub_dustvent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-437.425,634.53,2526.46),(272.997,45.3531,-48.2211)); + var_00.v["fxid"] = "mp_ub_dustvent"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("mp_ub_dustvent"); + var_00 common_scripts\_createfx::set_origin_and_angles((-264.665,1316.42,2220.11),(288,180,-91)); + var_00.v["fxid"] = "mp_ub_dustvent"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "20"; + var_00 = common_scripts\utility::createexploder("No FX"); + var_00 common_scripts\_createfx::set_origin_and_angles((-283.875,1025,2307.76),(270,0,0)); + var_00.v["fxid"] = "No FX"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "50"; + var_00.v["soundalias"] = "mp_urban_shutter_close"; + var_00 = common_scripts\utility::createexploder("No FX"); + var_00 common_scripts\_createfx::set_origin_and_angles((-287.65,-1024.73,2326.17),(270,0,0)); + var_00.v["fxid"] = "No FX"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "20"; + var_00.v["soundalias"] = "mp_urban_shutter_open"; + var_00 = common_scripts\utility::createexploder("No FX"); + var_00 common_scripts\_createfx::set_origin_and_angles((-289.582,1024.63,2333.42),(270,0,0)); + var_00.v["fxid"] = "No FX"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "20"; + var_00.v["soundalias"] = "mp_urban_shutter_open"; + var_00 = common_scripts\utility::createexploder("No FX"); + var_00 common_scripts\_createfx::set_origin_and_angles((-283.875,-1025.15,2308.42),(270,0,0)); + var_00.v["fxid"] = "No FX"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "50"; + var_00.v["soundalias"] = "mp_urban_shutter_close"; + var_00 = common_scripts\utility::createexploder("No FX"); + var_00 common_scripts\_createfx::set_origin_and_angles((-267.875,-1357.37,2098.22),(270,0,0)); + var_00.v["fxid"] = "No FX"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "20"; + var_00.v["soundalias"] = "mp_urban_sml_door_open"; + var_00 = common_scripts\utility::createexploder("No FX"); + var_00 common_scripts\_createfx::set_origin_and_angles((-585.375,-160.274,2097.71),(270,0,0)); + var_00.v["fxid"] = "No FX"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "20"; + var_00.v["soundalias"] = "mp_urban_sml_door_open"; + var_00 = common_scripts\utility::createexploder("No FX"); + var_00 common_scripts\_createfx::set_origin_and_angles((-585.375,160.737,2098.48),(270,0,0)); + var_00.v["fxid"] = "No FX"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "20"; + var_00.v["soundalias"] = "mp_urban_sml_door_open"; + var_00 = common_scripts\utility::createexploder("No FX"); + var_00 common_scripts\_createfx::set_origin_and_angles((-267.875,1358.27,2098),(270,0,0)); + var_00.v["fxid"] = "No FX"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "20"; + var_00.v["soundalias"] = "mp_urban_sml_door_open"; + var_00 = common_scripts\utility::createexploder("No FX"); + var_00 common_scripts\_createfx::set_origin_and_angles((-675.003,-647.875,2087.07),(270,0,0)); + var_00.v["fxid"] = "No FX"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "20"; + var_00.v["soundalias"] = "mp_urban_big_door_open"; + var_00 = common_scripts\utility::createexploder("No FX"); + var_00 common_scripts\_createfx::set_origin_and_angles((-674.749,-376.125,2086.77),(270,0,0)); + var_00.v["fxid"] = "No FX"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "20"; + var_00.v["soundalias"] = "mp_urban_big_door_open"; + var_00 = common_scripts\utility::createexploder("No FX"); + var_00 common_scripts\_createfx::set_origin_and_angles((-674.39,376.125,2086.53),(270,0,0)); + var_00.v["fxid"] = "No FX"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "20"; + var_00.v["soundalias"] = "mp_urban_big_door_open"; + var_00 = common_scripts\utility::createexploder("No FX"); + var_00 common_scripts\_createfx::set_origin_and_angles((-674.56,647.875,2086.66),(270,0,0)); + var_00.v["fxid"] = "No FX"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "20"; + var_00.v["soundalias"] = "mp_urban_big_door_open"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((67.2497,-1732.04,2185),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "wind_gust_litter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((897.28,-284.825,2349),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "wind_gust_litter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((829.343,270.934,2221.19),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "wind_gust_litter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((460.958,-17.7786,2281.13),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "wind_gust_litter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-152.126,-682.897,2139.13),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "wind_gust_litter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-99.3096,1707.49,2118),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "wind_gust_litter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1017.74,-932.033,2049.14),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((860.461,218.605,2176.13),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((991.907,842.517,2111.73),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-218.496,1248.73,2048.13),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((199.104,-1195.27,2047.63),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "rock_debris_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((44.5466,-917.477,2176.13),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((546.858,-1230.61,2176.13),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((178.024,-1220.8,2176.13),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((37.876,-195.431,2176.13),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((38.4227,289.625,2176.13),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((162.311,1114.79,2087.8),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((586.853,423.844,2087.8),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-799.776,170.588,2196.13),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-794.333,-280.057,2169.81),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-292.125,-1024.19,2305.76),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-292.125,1021.84,2306.46),(270,0,0)); + var_00.v["delay_min"] = 7; + var_00.v["delay_max"] = 11; + var_00.v["soundalias"] = "metal_stress_sml"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-280.429,1815.98,2323),(270,0,0)); + var_00.v["delay_min"] = 23; + var_00.v["delay_max"] = 35; + var_00.v["soundalias"] = "emergency_siren_doppler"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-200.537,1173.56,2106.69),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "wind_gust_litter"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((50.4023,1562.64,2118.42),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((959.96,734.771,2200.15),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((918.394,884.469,2162.39),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((725.108,74.3235,2216.05),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((698.607,-38.9416,2214.57),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((956.076,-749.866,2198.28),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((910.418,-954.432,2138.72),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((923.563,-839.67,2197.31),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((976.591,859.485,2112.21),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((385.866,1008.33,2214.13),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((297.342,798.428,2214.13),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((396.359,413.833,2334.13),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((276.489,-938.353,2203.09),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((286.95,-542.154,2321.49),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((631,-605.358,2395.8),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((136.625,-1116.2,2103.98),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((509.464,-1143.38,2123.03),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((266.125,-867.235,2076),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((266.125,-756.392,2093.59),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((565.212,-538.258,2048.48),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((416.397,-729.595,2095.15),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((510.35,-873.294,2081.94),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((136.625,-917.194,2252.67),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((136.625,-522.971,2236.6),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((543.875,-387.36,2210.64),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-644.289,-1087.09,2306.88),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-686.435,-704.073,2306.88),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-644.614,703.657,2306.88),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-644.614,703.657,2306.88),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-603.878,1221.77,2307.88),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 5; + var_00.v["soundalias"] = "wood_creak_light"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((180.145,1233.41,2047.63),(270,0,0)); + var_00.v["delay_min"] = 0.5; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "water_drips"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-370.43,537.319,2048.13),(270,0,0)); + var_00.v["delay_min"] = 0.5; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "water_drips"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-379.827,444.269,2048.13),(270,0,0)); + var_00.v["delay_min"] = 0.5; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "water_drips"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((25.5854,563.641,2048.13),(270,0,0)); + var_00.v["delay_min"] = 0.5; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "water_drips"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-341.406,-462.137,2048.13),(270,0,0)); + var_00.v["delay_min"] = 0.5; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "water_drips"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-346.108,-564.328,2048.13),(270,0,0)); + var_00.v["delay_min"] = 0.5; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "water_drips"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((35.4073,-985.477,2048.13),(270,0,0)); + var_00.v["delay_min"] = 0.5; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "water_drips"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((532.394,1004.88,2048.13),(270,0,0)); + var_00.v["delay_min"] = 0.5; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "water_drips"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((348.199,930.565,2048.13),(270,0,0)); + var_00.v["delay_min"] = 0.5; + var_00.v["delay_max"] = 2; + var_00.v["soundalias"] = "water_drips"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-283.105,-2007.7,2325),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 7; + var_00.v["soundalias"] = "hydraulics_release"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-98.7346,-1513.03,2117.24),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "leaf_rustle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((72.7322,-1560.72,2115.72),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "leaf_rustle"; +} \ No newline at end of file diff --git a/AW/PC/MP/maps/createfx/mp_venus_fx.gsc b/AW/PC/maps/createfx/mp_venus_fx.gsc similarity index 99% rename from AW/PC/MP/maps/createfx/mp_venus_fx.gsc rename to AW/PC/maps/createfx/mp_venus_fx.gsc index 688fca6..b6fea2a 100644 --- a/AW/PC/MP/maps/createfx/mp_venus_fx.gsc +++ b/AW/PC/maps/createfx/mp_venus_fx.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/createfx/mp_venus_fx.gsc + * Decompiled File: createfx\mp_venus_fx.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 58 ms - * Timestamp: 10/27/2023 1:48:21 AM + * Decompile Time: 63 ms + * Timestamp: 4/22/2024 2:07:51 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/createfx/mp_vlobby_room_fx.gsc b/AW/PC/maps/createfx/mp_vlobby_room_fx.gsc new file mode 100644 index 0000000..e785f02 --- /dev/null +++ b/AW/PC/maps/createfx/mp_vlobby_room_fx.gsc @@ -0,0 +1,38 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_vlobby_room_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:07:51 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\utility::createoneshoteffect("vlobby_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((507.68,13.4615,423.188),(270,0,0)); + var_00.v["fxid"] = "vlobby_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("vlobby_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((231.703,276.411,413.934),(270,0,0)); + var_00.v["fxid"] = "vlobby_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("vlobby_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((2.44485,268.129,374.212),(270,0,0)); + var_00.v["fxid"] = "vlobby_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("vlobby_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-226.166,298.461,367.155),(270,0,0)); + var_00.v["fxid"] = "vlobby_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("vlobby_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-496.045,-13.0039,417.704),(270,0,0)); + var_00.v["fxid"] = "vlobby_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("vlobby_dust"); + var_00 common_scripts\_createfx::set_origin_and_angles((18.5216,-378.813,457.625),(270,0,0)); + var_00.v["fxid"] = "vlobby_dust"; + var_00.v["delay"] = -15; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_zombie_ark_fx.gsc b/AW/PC/maps/createfx/mp_zombie_ark_fx.gsc new file mode 100644 index 0000000..9aa9d7e --- /dev/null +++ b/AW/PC/maps/createfx/mp_zombie_ark_fx.gsc @@ -0,0 +1,2320 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_zombie_ark_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 128 ms + * Timestamp: 4/22/2024 2:07:51 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1610.57,2375.69,1178.46),(270,0,0)); + var_00.v["soundalias"] = "zark_engine_drone_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1769.5,322.593,1082.38),(270,0,0)); + var_00.v["soundalias"] = "zark_engine_drone_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1194.47,102.023,931.53),(270,0,0)); + var_00.v["soundalias"] = "zark_engine_drone_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-967.776,-1121.78,950.517),(270,0,0)); + var_00.v["soundalias"] = "zark_engine_drone_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((259.888,-1295.59,997.607),(270,0,0)); + var_00.v["soundalias"] = "zark_engine_drone_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((723.818,395.757,1213.99),(270,0,0)); + var_00.v["soundalias"] = "zark_engine_drone_06"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1084.6,-2069.8,1069),(270,0,0)); + var_00.v["soundalias"] = "zark_engine_drone_07"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1076.91,85.0395,877.174),(270,0,0)); + var_00.v["soundalias"] = "zark_engine_drone_08"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1084.24,743.705,857.712),(270,0,0)); + var_00.v["soundalias"] = "zark_engine_drone_09"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-410.111,379.673,915.664),(270,0,0)); + var_00.v["soundalias"] = "zark_engine_drone_10"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1666.61,1728.49,1195.88),(270,0,0)); + var_00.v["soundalias"] = "zark_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1672.63,99.6534,948.5),(270,0,0)); + var_00.v["soundalias"] = "zark_vent_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-383.46,1175.12,1071.33),(270,0,0)); + var_00.v["soundalias"] = "zark_vent_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1419.24,152.986,933.503),(270,0,0)); + var_00.v["soundalias"] = "zark_vent_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1069.44,317.025,926.487),(270,0,0)); + var_00.v["soundalias"] = "zark_vent_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-984.776,-832.313,922.5),(270,0,0)); + var_00.v["soundalias"] = "zark_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((734.189,2277.32,919),(270,0,0)); + var_00.v["soundalias"] = "zark_vent_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1293.63,798.163,1262.88),(270,0,0)); + var_00.v["soundalias"] = "zark_vent_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-576.486,821.47,1315),(270,0,0)); + var_00.v["soundalias"] = "zark_vent_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-213.948,-758.226,1192.85),(270,0,0)); + var_00.v["soundalias"] = "zark_vent_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-225.876,-1599.78,1221.64),(270,0,0)); + var_00.v["soundalias"] = "zark_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-142.786,-504.274,1153.92),(270,0,0)); + var_00.v["soundalias"] = "zark_vent_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((259.789,387.813,775.561),(270,0,0)); + var_00.v["soundalias"] = "zark_vent_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1534.17,378.231,947.589),(270,0,0)); + var_00.v["soundalias"] = "zark_vent_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((738.579,847.514,932.926),(270,0,0)); + var_00.v["soundalias"] = "zark_vent_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((137.146,-775.577,924.116),(270,0,0)); + var_00.v["soundalias"] = "zark_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((186.422,-392.967,914.613),(270,0,0)); + var_00.v["soundalias"] = "zark_vent_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((742.461,420.254,775.125),(270,0,0)); + var_00.v["soundalias"] = "zark_aquarium_water"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-13304,-704.809,832.125),(270,0,0)); + var_00.v["soundalias"] = "amb_zmb_ark_ext_01_front"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((5894.04,-764.903,826.125),(270,0,0)); + var_00.v["soundalias"] = "amb_zmb_ark_ext_01_rear"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1761.5,-113.878,844.056),(270,0,0)); + var_00.v["soundalias"] = "zark_machine_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1371.71,1135.88,1322.54),(270,0,0)); + var_00.v["soundalias"] = "zark_machine_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1261.66,336.932,901.775),(270,0,0)); + var_00.v["soundalias"] = "zark_machine_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((212.5,-704.458,885.641),(270,0,0)); + var_00.v["soundalias"] = "zark_machine_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((260.933,7.16807,935.774),(270,0,0)); + var_00.v["soundalias"] = "zark_machine_06"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((476.104,797.315,882.765),(270,0,0)); + var_00.v["soundalias"] = "zark_machine_07"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((738.469,1227.3,996.125),(270,0,0)); + var_00.v["soundalias"] = "zark_machine_08"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1198.46,-2039.25,884.467),(270,0,0)); + var_00.v["soundalias"] = "zark_machine_09"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-682.904,67.5338,1208.47),(270,0,0)); + var_00.v["soundalias"] = "zark_machine_10"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1246.16,-1437.45,836),(270,0,0)); + var_00.v["soundalias"] = "zark_rumble_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-885.007,1178.01,1080.14),(270,0,0)); + var_00.v["soundalias"] = "zark_rumble_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1698.17,1085.63,1224.38),(270,0,0)); + var_00.v["soundalias"] = "zark_light_hum_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1755.53,136.89,1082.5),(270,0,0)); + var_00.v["soundalias"] = "zark_light_hum_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1628.81,2172.03,1216.88),(270,0,0)); + var_00.v["soundalias"] = "zark_light_hum_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((749.242,984.466,849.449),(270,0,0)); + var_00.v["soundalias"] = "zark_light_hum_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1360.03,400.758,1011.91),(270,0,0)); + var_00.v["soundalias"] = "zark_light_hum_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-175.608,411.653,1011.5),(270,0,0)); + var_00.v["soundalias"] = "zark_light_hum_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((156.445,-656.079,913.84),(270,0,0)); + var_00.v["soundalias"] = "zark_light_hum_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((158.923,-783.698,916.437),(270,0,0)); + var_00.v["soundalias"] = "zark_light_hum_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-480.299,-538.625,1128.03),(270,0,0)); + var_00.v["soundalias"] = "zark_light_hum_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((829.961,1697.59,1207.5),(270,0,0)); + var_00.v["soundalias"] = "zark_light_hum_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((581.014,1713.54,1203.58),(270,0,0)); + var_00.v["soundalias"] = "zark_light_hum_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1045.84,-9.05246,917.501),(270,0,0)); + var_00.v["soundalias"] = "zark_light_hum_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1306.97,161.917,917.708),(270,0,0)); + var_00.v["soundalias"] = "zark_light_hum_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-353.27,910.519,1289.7),(270,0,0)); + var_00.v["soundalias"] = "zark_light_hum_wide_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-628.05,726.11,1296.38),(270,0,0)); + var_00.v["soundalias"] = "zark_light_hum_wide_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((471.903,1745.1,1042.82),(270,0,0)); + var_00.v["soundalias"] = "zark_aquarium_water"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1266.78,-128.299,834.466),(270,0,0)); + var_00.v["soundalias"] = "zark_computer_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1502.95,-52.4008,833.095),(270,0,0)); + var_00.v["soundalias"] = "zark_computer_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-996.852,-207.569,836.822),(270,0,0)); + var_00.v["soundalias"] = "zark_computer_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1841.44,394.616,920.036),(270,0,0)); + var_00.v["soundalias"] = "zark_computer_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-959.486,-698.395,827.927),(270,0,0)); + var_00.v["soundalias"] = "zark_electromechanical_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((692.778,1015.65,829.301),(270,0,0)); + var_00.v["soundalias"] = "zark_electromechanical_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1256.2,1175.4,1013.75),(270,0,0)); + var_00.v["soundalias"] = "zark_electromechanical_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((472.676,-132.293,901.451),(270,0,0)); + var_00.v["soundalias"] = "zark_electromechanical_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-619.084,-122.554,1028.46),(270,0,0)); + var_00.v["soundalias"] = "zark_electromechanical_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((400.73,-374.737,929.006),(270,0,0)); + var_00.v["soundalias"] = "zark_water_spray_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1909.75,-1934.08,832.5),(270,0,0)); + var_00.v["soundalias"] = "zark_ocean_waves_ship_side"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1774.73,-966.321,832.125),(270,0,0)); + var_00.v["soundalias"] = "zark_ocean_waves_ship_side"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1915.37,-478.935,797.125),(270,0,0)); + var_00.v["soundalias"] = "zark_ocean_waves_ship_side"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2099.81,-1685.66,832.125),(270,0,0)); + var_00.v["soundalias"] = "zark_ocean_waves_ship_side"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((65.1712,1704.62,1466.67),(270,0,0)); + var_00.v["soundalias"] = "zark_fire_large_ext_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-112.875,1359.65,1588.88),(270,0,0)); + var_00.v["soundalias"] = "zark_fire_large_ext_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-456.356,-1427.97,854.253),(270,0,0)); + var_00.v["soundalias"] = "zark_fire_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-825.545,-854.6,736.897),(270,0,0)); + var_00.v["soundalias"] = "zark_fire_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((697.231,1206.05,848.202),(270,0,0)); + var_00.v["soundalias"] = "zark_steam_leak_high"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1093.73,61.9139,894.924),(270,0,0)); + var_00.v["soundalias"] = "zark_steam_leak_low"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1497.83,-1456.25,998.625),(270,0,0)); + var_00.v["soundalias"] = "zark_wind_ship_side"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1553.24,-563.141,1046.13),(270,0,0)); + var_00.v["soundalias"] = "zark_wind_ship_side"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2018.56,2398.34,994.125),(270,0,0)); + var_00.v["soundalias"] = "zark_wind_ship_side"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((192.54,2275.82,1033.91),(270,0,0)); + var_00.v["soundalias"] = "zark_wind_ship_side"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-579.492,2528.68,1150.19),(270,0,0)); + var_00.v["soundalias"] = "zark_wind_ship_side"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((989.907,2459.87,1012.13),(270,0,0)); + var_00.v["soundalias"] = "zark_wind_ship_side"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((671.101,841.652,914.638),(270,0,0)); + var_00.v["soundalias"] = "zark_steam_leak_med"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((988.813,2020.16,1016.91),(270,0,0)); + var_00.v["soundalias"] = "zark_wind_ship_side"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1977.12,977.901,1020.13),(270,0,0)); + var_00.v["soundalias"] = "zark_wind_ship_side"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((11.7339,-1650.76,974.347),(270,0,0)); + var_00.v["soundalias"] = "zark_wind_ship_side"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-474.403,-1628.1,1010.16),(270,0,0)); + var_00.v["soundalias"] = "zark_wind_ship_side"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-813.206,-2203.48,1078.56),(270,0,0)); + var_00.v["soundalias"] = "zark_light_hum_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1013.84,-1970.91,1304.12),(270,0,0)); + var_00.v["soundalias"] = "zark_vent_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1407.3,-248.756,1047),(270,0,0)); + var_00.v["soundalias"] = "zark_vent_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((756.049,2292.92,1447.27),(270,0,0)); + var_00.v["soundalias"] = "zlab_alarm_loop_large_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((383.285,-393.102,912.135),(270,0,0)); + var_00.v["soundalias"] = "zark_aquarium_water"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-923.151,449.446,1708.98),(270,0,0)); + var_00.v["soundalias"] = "zlab_alarm_loop_large_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1606.03,1080.99,797.125),(270,0,0)); + var_00.v["soundalias"] = "zlab_alarm_loop_small_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1763.57,-107.202,866.343),(270,0,0)); + var_00.v["soundalias"] = "zlab_alarm_loop_small_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((21342.7,-989.021,727.241),(270,0,0)); + var_00.v["soundalias"] = "amb_zmb_ark_ext_island_front"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((20781.3,2432.96,730.078),(270,0,0)); + var_00.v["soundalias"] = "amb_zmb_ark_ext_island_rear"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-632.419,797.662,959.625),(270,0,0)); + var_00.v["soundalias"] = "zark_chem_sizzle"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1765.38,-2019.8,662.13),(270,0,0)); + var_00.v["soundalias"] = "zark_ocean_roar_ship_side"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1735.91,-947.678,666.69),(270,0,0)); + var_00.v["soundalias"] = "zark_ocean_roar_ship_side"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1954.76,-511.736,659.15),(270,0,0)); + var_00.v["soundalias"] = "zark_ocean_roar_ship_side"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((701.173,1196.03,847.351),(270,0,0)); + var_00.v["soundalias"] = "zark_steam_leak_close"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1116.65,757.683,915.624),(270,0,0)); + var_00.v["soundalias"] = "zark_steam_leak_low"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((275.05,235.896,874.409),(270,0,0)); + var_00.v["soundalias"] = "zark_water_spray_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((867.452,809.474,974.758),(270,0,0)); + var_00.v["soundalias"] = "zark_water_spray_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1227.82,356.537,876.311),(270,0,0)); + var_00.v["soundalias"] = "zark_water_spray_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1769.37,11.1321,727),(270,0,0)); + var_00.v["soundalias"] = "zark_ocean_roar_ship_side"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1769.74,258.246,715),(270,0,0)); + var_00.v["soundalias"] = "zark_ocean_roar_ship_side"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1530.2,-92.1039,892.801),(270,0,0)); + var_00.v["soundalias"] = "zark_ocean_roar_ship_side"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((133.938,-776.006,927.507),(270,0,0)); + var_00.v["soundalias"] = "zark_steam_leak_high"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((748.026,-604.527,928.569),(270,0,0)); + var_00.v["soundalias"] = "zark_aquarium_water"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((819.522,1832.54,1051.86),(270,0,0)); + var_00.v["soundalias"] = "zark_aquarium_water"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1824.05,880.397,920.391),(270,0,0)); + var_00.v["soundalias"] = "zark_steam_leak_close"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1159.07,-425.679,939.772),(270,0,0)); + var_00.v["soundalias"] = "zark_steam_leak_high"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1822.52,874.92,918.704),(270,0,0)); + var_00.v["soundalias"] = "zark_steam_leak_low"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-992.377,-635.697,945.5),(270,0,0)); + var_00.v["soundalias"] = "zark_vent_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-961.611,-796.447,1090.24),(270,0,0)); + var_00.v["soundalias"] = "zark_steam_leak_high"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2026.48,2024.31,1003.13),(270,0,0)); + var_00.v["soundalias"] = "zark_wind_ship_side"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2116.17,-1209.93,832.125),(270,0,0)); + var_00.v["soundalias"] = "zark_ocean_waves_ship_side"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2059,2021.02,961.022),(270,0,0)); + var_00.v["soundalias"] = "zark_ocean_waves_ship_side"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2038.31,2460.31,955.387),(270,0,0)); + var_00.v["soundalias"] = "zark_ocean_waves_ship_side"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((588.75,2641.98,1106.13),(270,0,0)); + var_00.v["soundalias"] = "zark_steam_leak_low"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-236.774,1080.45,968.625),(270,0,0)); + var_00.v["soundalias"] = "zark_chem_sizzle"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1249.59,-2032.63,887.751),(270,0,0)); + var_00.v["soundalias"] = "zark_monster_closet_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-953.346,-435.116,739.125),(270,0,0)); + var_00.v["soundalias"] = "zark_monster_closet_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1942.21,110.723,723.625),(270,0,0)); + var_00.v["soundalias"] = "zark_monster_closet_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1873.32,611.497,822.785),(270,0,0)); + var_00.v["soundalias"] = "zark_monster_closet_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1907.08,1058.55,814.351),(270,0,0)); + var_00.v["soundalias"] = "zark_monster_closet_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1757.72,2516.81,980.059),(270,0,0)); + var_00.v["soundalias"] = "zark_monster_closet_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((27.6275,1543.85,911.9),(270,0,0)); + var_00.v["soundalias"] = "zark_monster_closet_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((264.372,2453.9,929.9),(270,0,0)); + var_00.v["soundalias"] = "zark_monster_closet_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((952.573,2237.03,924.9),(270,0,0)); + var_00.v["soundalias"] = "zark_monster_closet_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((438.218,2688.61,980.521),(270,0,0)); + var_00.v["soundalias"] = "zark_monster_closet_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((854.484,1521.38,934.341),(270,0,0)); + var_00.v["soundalias"] = "zark_monster_closet_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-42.7219,6.23064,882.473),(270,0,0)); + var_00.v["soundalias"] = "zark_monster_closet_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1297.98,-372.748,889.528),(270,0,0)); + var_00.v["soundalias"] = "zark_monster_closet_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1406.44,652.506,885.602),(270,0,0)); + var_00.v["soundalias"] = "zark_monster_closet_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((334.966,-1050.25,887.171),(270,0,0)); + var_00.v["soundalias"] = "zark_monster_closet_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((73.2994,-1544.47,832.125),(270,0,0)); + var_00.v["soundalias"] = "zark_monster_closet_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-209.413,-925.442,832.666),(270,0,0)); + var_00.v["soundalias"] = "zark_monster_closet_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-821.79,-911.212,734.721),(270,0,0)); + var_00.v["soundalias"] = "zark_monster_closet_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-49.4979,-255.234,1021.05),(270,0,0)); + var_00.v["soundalias"] = "zark_monster_closet_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-799.667,235.561,1180.04),(270,0,0)); + var_00.v["soundalias"] = "zark_monster_closet_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-587.269,1212.56,1007.61),(270,0,0)); + var_00.v["soundalias"] = "zark_monster_closet_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1181.22,1224.21,1006.78),(270,0,0)); + var_00.v["soundalias"] = "zark_monster_closet_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((329.888,1397.12,948.125),(270,0,0)); + var_00.v["soundalias"] = "zark_monster_closet_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((202.582,1205.92,965.625),(270,0,0)); + var_00.v["soundalias"] = "zark_monster_closet_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-891.031,653.372,1056.16),(270,0,0)); + var_00.v["soundalias"] = "zark_steam_leak_close"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-891.833,662.622,1048.52),(270,0,0)); + var_00.v["soundalias"] = "zark_steam_leak_high"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((587.204,994.198,1123.17),(270,0,0)); + var_00.v["soundalias"] = "zark_vent_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-854.745,-1540.51,823.534),(270,0,0)); + var_00.v["soundalias"] = "zark_monster_closet_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1112.76,-2301.08,1020.8),(270,0,0)); + var_00.v["soundalias"] = "zark_monster_closet_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1291.83,2667.35,978.125),(270,0,0)); + var_00.v["soundalias"] = "zark_monster_closet_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((71.4292,670.877,887.625),(270,0,0)); + var_00.v["soundalias"] = "zark_monster_closet_lp"; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_pipe_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1105.15,605.148,1319.46),(270,0,0)); + var_00.v["fxid"] = "ark_steam_pipe_fall"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_pipe_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1194.99,300.784,1323.16),(270,0,0)); + var_00.v["fxid"] = "ark_steam_pipe_fall"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("ark_flare_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((1163.08,423.095,1057.86),(31.7353,180,0)); + var_00.v["fxid"] = "ark_flare_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_flare_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((1055.27,109.044,1059.18),(23.0677,135,0)); + var_00.v["fxid"] = "ark_flare_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_flare_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((748.698,-10.4178,1057.04),(31.7353,90,0)); + var_00.v["fxid"] = "ark_flare_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_flare_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((439.522,106.118,1058.95),(23.0677,45,0)); + var_00.v["fxid"] = "ark_flare_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_flare_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((321.866,413.638,1057.5),(31.7353,0,0)); + var_00.v["fxid"] = "ark_flare_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_flare_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((440.662,724.336,1059.26),(23.0677,315,0)); + var_00.v["fxid"] = "ark_flare_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_flare_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((744.049,842.18,1057.42),(31.7353,270,0)); + var_00.v["fxid"] = "ark_flare_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_flare_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((1055.15,723.189,1058.99),(23.0677,225,0)); + var_00.v["fxid"] = "ark_flare_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_dry_ice_flat"); + var_00 common_scripts\_createfx::set_origin_and_angles((-477.419,1226.42,1127.63),(270,0,-92)); + var_00.v["fxid"] = "ark_dry_ice_flat"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_pipe_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1217.94,-2120.41,929.703),(297,180,180)); + var_00.v["fxid"] = "ark_steam_pipe_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_pipe_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((1050.95,45.0281,879.44),(270,180,-138)); + var_00.v["fxid"] = "ark_steam_pipe_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_pipe_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((1109.46,108.024,884.604),(304,222,-180)); + var_00.v["fxid"] = "ark_steam_pipe_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_low"); + var_00 common_scripts\_createfx::set_origin_and_angles((348.247,70.7716,847.306),(270,180,129)); + var_00.v["fxid"] = "ark_steam_low"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_low"); + var_00 common_scripts\_createfx::set_origin_and_angles((380.158,48.6755,846.171),(270,180,129)); + var_00.v["fxid"] = "ark_steam_low"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_pipe_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((1134.39,723.556,878.801),(270,180,-138)); + var_00.v["fxid"] = "ark_steam_pipe_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_pipe_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((105.37,-472.32,965.875),(270,180,-138)); + var_00.v["fxid"] = "ark_steam_pipe_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_pipe_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((221.562,-771.799,923.054),(270,180,-138)); + var_00.v["fxid"] = "ark_steam_pipe_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_pipe_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((119.614,-768.601,933.373),(270,180,-138)); + var_00.v["fxid"] = "ark_steam_pipe_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_pipe_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((196.25,-371.072,949.875),(270,180,-138)); + var_00.v["fxid"] = "ark_steam_pipe_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((-632.01,730.298,1296.83),(270,0,0)); + var_00.v["fxid"] = "ark_light_vol_smoke"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((-604.773,901.109,1288.24),(270,0,0)); + var_00.v["fxid"] = "ark_light_vol_smoke"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((-617.398,1083.15,1293.77),(270,0,0)); + var_00.v["fxid"] = "ark_light_vol_smoke"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((-353.241,903.527,1292.72),(270,0,0)); + var_00.v["fxid"] = "ark_light_vol_smoke"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((-377.52,730.28,1292.82),(270,0,0)); + var_00.v["fxid"] = "ark_light_vol_smoke"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((-355.248,1082.73,1286.6),(270,0,0)); + var_00.v["fxid"] = "ark_light_vol_smoke"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1348.69,903.085,1302.54),(270,0,0)); + var_00.v["fxid"] = "ark_light_vol_smoke"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1197.1,733.438,1290.68),(270,0,0)); + var_00.v["fxid"] = "ark_light_vol_smoke"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1200.66,906.698,1286.58),(270,0,0)); + var_00.v["fxid"] = "ark_light_vol_smoke"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1351.76,1082.21,1287.62),(270,0,0)); + var_00.v["fxid"] = "ark_light_vol_smoke"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1191.98,1085.1,1296.88),(270,0,0)); + var_00.v["fxid"] = "ark_light_vol_smoke"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_low_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((788.4,2311.37,915.296),(270,0,0)); + var_00.v["fxid"] = "ark_steam_low_rise"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_low_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((697.552,2316.69,893.884),(270,0,0)); + var_00.v["fxid"] = "ark_steam_low_rise"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_fire_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((218.345,1468.11,1481.81),(284.547,215.736,105.454)); + var_00.v["fxid"] = "ark_fire_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_fire_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-163.42,1239.85,1661.36),(272.183,326.844,-55.084)); + var_00.v["fxid"] = "ark_fire_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_fire_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-164.644,1214.55,1561.86),(272.066,299.819,0.922075)); + var_00.v["fxid"] = "ark_fire_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_fire_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-139.646,1087.16,1880.77),(272.184,326.846,-47.0858)); + var_00.v["fxid"] = "ark_fire_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_fire_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((293.757,1606.86,1617.78),(300.203,50.2572,179.509)); + var_00.v["fxid"] = "ark_fire_m"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("ark_smoke_column"); + var_00 common_scripts\_createfx::set_origin_and_angles((-278.727,1052.23,1549.43),(270,0,-78)); + var_00.v["fxid"] = "ark_smoke_column"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_low_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((-255.994,-1833.88,786.53),(270,0,0)); + var_00.v["fxid"] = "ark_steam_low_rise"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_low_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((-326.349,-1869.63,766.416),(270,0,0)); + var_00.v["fxid"] = "ark_steam_low_rise"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_low_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((-484.628,-2030.94,777.306),(270,0,0)); + var_00.v["fxid"] = "ark_steam_low_rise"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_fall_spawn"); + var_00 common_scripts\_createfx::set_origin_and_angles((-974.323,-1278.88,1340.5),(270,0,0)); + var_00.v["fxid"] = "ark_steam_fall_spawn"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_fire_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-447.814,-1538.92,1325.61),(270,0,0)); + var_00.v["fxid"] = "ark_fire_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_fire_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-529.423,-1344.11,1344.61),(270,0,0)); + var_00.v["fxid"] = "ark_fire_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_fire_drips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-455.22,-1449.5,1216.18),(270,0,0)); + var_00.v["fxid"] = "ark_fire_drips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_fire_drips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-377.657,-1390.14,1231.05),(270,0,0)); + var_00.v["fxid"] = "ark_fire_drips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_fire_edge"); + var_00 common_scripts\_createfx::set_origin_and_angles((-460.462,-1432.79,844.686),(270,0,0)); + var_00.v["fxid"] = "mp_spark_fire_edge"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_fire_drips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-410.229,-1469.15,1224.79),(270,0,0)); + var_00.v["fxid"] = "ark_fire_drips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_zombie_watertank_gore"); + var_00 common_scripts\_createfx::set_origin_and_angles((737.609,-646.267,885.932),(359.844,98.9943,0.98783)); + var_00.v["fxid"] = "dlc_zombie_watertank_gore"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_embers_constant_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-41.4877,1285.13,1679.84),(285.075,282.762,-83.0775)); + var_00.v["fxid"] = "ark_embers_constant_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1951.67,-1317.1,871.125),(0,272,0)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2008.39,-1529.55,874.5),(0,272,0)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1939.38,-1712.68,868.5),(0,272,0)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_goo_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((-611.541,654.759,1262.2),(270,0,0)); + var_00.v["fxid"] = "bla_falling_goo_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_fire_fall_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((100.96,1637.37,1357.01),(270,0,0)); + var_00.v["fxid"] = "mp_spark_fire_fall_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("mp_spark_fire_fall_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((230.93,1716.91,1355.5),(270,0,0)); + var_00.v["fxid"] = "mp_spark_fire_fall_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_goo_pool"); + var_00 common_scripts\_createfx::set_origin_and_angles((-642.258,766.141,959.625),(270,0,0)); + var_00.v["fxid"] = "ark_steam_goo_pool"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_goo_pool"); + var_00 common_scripts\_createfx::set_origin_and_angles((-643.485,798.044,959.625),(270,0,0)); + var_00.v["fxid"] = "ark_steam_goo_pool"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("light_rays_moving_01_nosteam"); + var_00 common_scripts\_createfx::set_origin_and_angles((-352.944,-1450.57,1109.18),(330,0,0)); + var_00.v["fxid"] = "light_rays_moving_01_nosteam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_fire_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-883.347,-780.35,720.125),(270,0,0)); + var_00.v["fxid"] = "ark_fire_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_fire_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-787.476,-781.931,706.125),(270,0,0)); + var_00.v["fxid"] = "ark_fire_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_fire_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-831.592,-751.049,722.125),(270,0,3)); + var_00.v["fxid"] = "ark_fire_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_fire_falling_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((-800.828,-816.428,799.61),(270,0,0)); + var_00.v["fxid"] = "ark_fire_falling_debris"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner_slit_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1024,1082.06,1043.34),(270,0,1)); + var_00.v["fxid"] = "electrical_sparks_runner_slit_sm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner_slit_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1394.8,935.776,825.371),(270,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner_slit_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_mp_hr2_water_spray_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((273.32,230.325,874.655),(347.204,98.0228,-25.0392)); + var_00.v["fxid"] = "ark_mp_hr2_water_spray_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner_slit_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-354.462,-568.856,1063.84),(0,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner_slit_sm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner_slit_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-750.935,915.451,1065.46),(0,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner_slit_sm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_pipe_burst_lp_sm_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((677.848,845.737,911.076),(28.5208,268.336,-11.3601)); + var_00.v["fxid"] = "ark_steam_pipe_burst_lp_sm_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_water_edge_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2066.32,368.358,430.908),(273.163,251.524,-161.552)); + var_00.v["fxid"] = "ark_water_edge_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_goo_pool"); + var_00 common_scripts\_createfx::set_origin_and_angles((-256.827,1013.49,960.625),(270,0,0)); + var_00.v["fxid"] = "ark_steam_goo_pool"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_goo_pool"); + var_00 common_scripts\_createfx::set_origin_and_angles((-259.264,991.602,960.625),(270,0,0)); + var_00.v["fxid"] = "ark_steam_goo_pool"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_goo_pool"); + var_00 common_scripts\_createfx::set_origin_and_angles((-241.316,1114.62,960.625),(270,0,0)); + var_00.v["fxid"] = "ark_steam_goo_pool"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flock_large_group_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((1469.49,2188.57,2365.33),(356.015,275.012,-0.349111)); + var_00.v["fxid"] = "bird_seagull_flock_large_group_loop"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flock_large_group_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((612.892,4339.9,1949.39),(4.9513,278.029,0.698614)); + var_00.v["fxid"] = "bird_seagull_flock_large_group_loop"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flock_large_group_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1281.51,3409.31,1882.55),(355.932,21.1322,-4.94293)); + var_00.v["fxid"] = "bird_seagull_flock_large_group_loop"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flock_large_group_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1891.25,1681.02,1996.34),(8.70529,81.6293,19.5973)); + var_00.v["fxid"] = "bird_seagull_flock_large_group_loop"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flock_large_group_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1220.73,1110.65,1784.57),(359.793,156.08,-178.897)); + var_00.v["fxid"] = "bird_seagull_flock_large_group_loop"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flock_large_group_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3175.99,-2711.59,1181.03),(1.00269,92.3838,0.526502)); + var_00.v["fxid"] = "bird_seagull_flock_large_group_loop"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flock_large_group_loop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3761.48,-680.071,1251.04),(359.765,102.527,-1.62499)); + var_00.v["fxid"] = "bird_seagull_flock_large_group_loop"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_50x10_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((276.774,278.445,832.125),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_50x10_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_50x10_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((277.723,289.432,832.125),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_50x10_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_splash_sm_50x10_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((274.125,310.448,832.125),(270,0,0)); + var_00.v["fxid"] = "rain_splash_sm_50x10_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_moon_pool_water_overhead"); + var_00 common_scripts\_createfx::set_origin_and_angles((708.91,408.262,661.125),(270,344.963,15.0366)); + var_00.v["fxid"] = "ark_moon_pool_water_overhead"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_water_bubble_aquarium"); + var_00 common_scripts\_createfx::set_origin_and_angles((391.704,-515.268,902.636),(359,90.034,-92)); + var_00.v["fxid"] = "ark_water_bubble_aquarium"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_water_edge_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2109.59,-2369.87,483.174),(279.483,251.479,-158.715)); + var_00.v["fxid"] = "ark_water_edge_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_water_edge_splashes_rear"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2551.9,470.111,474.381),(283.505,76.4181,12.8582)); + var_00.v["fxid"] = "ark_water_edge_splashes_rear"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("bla_falling_goo_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((-964.059,-1366.49,1136.93),(270,0,0)); + var_00.v["fxid"] = "bla_falling_goo_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_pipe_burst_lp_sm_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1824.06,877.357,932.907),(59.4001,89.3184,-87.3758)); + var_00.v["fxid"] = "ark_steam_pipe_burst_lp_sm_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_pipe_burst_lp_sm_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((674.592,1204.6,837.317),(327.892,24.2339,28.7607)); + var_00.v["fxid"] = "ark_steam_pipe_burst_lp_sm_02"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner_slit_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((237.004,-834.983,894.825),(0.945801,120,-0.326063)); + var_00.v["fxid"] = "electrical_sparks_runner_slit_sm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("ark_water_edge_splashes_flip"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1609.05,-438.59,447.249),(272,360,90)); + var_00.v["fxid"] = "ark_water_edge_splashes_flip"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_water_edge_splashes_flip"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1623.83,153.798,432.665),(272,360,90)); + var_00.v["fxid"] = "ark_water_edge_splashes_flip"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_water_edge_splashes_flip"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1657.98,-1901.5,482.672),(272,360,90)); + var_00.v["fxid"] = "ark_water_edge_splashes_flip"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_water_edge_splashes_flip"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1588.31,-2496.58,479.518),(272,360,90)); + var_00.v["fxid"] = "ark_water_edge_splashes_flip"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_water_edge_splashes_rear"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2049.68,-242.563,470.931),(283.505,76.4181,12.8582)); + var_00.v["fxid"] = "ark_water_edge_splashes_rear"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_water_bubble_aquarium_red"); + var_00 common_scripts\_createfx::set_origin_and_angles((728.13,-752.04,914.535),(359,90.034,-92)); + var_00.v["fxid"] = "ark_water_bubble_aquarium_red"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_water_edge_splashes_flip"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1620.72,-1055.92,463.723),(272,360,90)); + var_00.v["fxid"] = "ark_water_edge_splashes_flip"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_pipe_burst_lp_sm_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-949.978,-802.902,1107.9),(39.0527,144.224,155.582)); + var_00.v["fxid"] = "ark_steam_pipe_burst_lp_sm_02"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((-208.055,-892.919,779.5),(312,273,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((309.297,-1049.35,902.125),(333,180,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((1407.17,647.414,900.125),(344,270,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_neontube_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1022.88,-232.36,945.841),(360,180,90)); + var_00.v["fxid"] = "ark_neontube_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_neontube_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((549.775,-223.59,945.825),(0,0,-90)); + var_00.v["fxid"] = "ark_neontube_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_neontube_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((141.302,189.901,945.661),(0,270,-90)); + var_00.v["fxid"] = "ark_neontube_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_neontube_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((525.552,-222.964,946.391),(360,180,-90)); + var_00.v["fxid"] = "ark_neontube_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_neontube_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1049.13,-231.154,945.794),(360,360,-90)); + var_00.v["fxid"] = "ark_neontube_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_pipe_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((-114.763,-536.995,1204.88),(270,0,0)); + var_00.v["fxid"] = "ark_steam_pipe_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_pipe_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((-114.735,-634.639,1205.88),(270,0,0)); + var_00.v["fxid"] = "ark_steam_pipe_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_pipe_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((-114.29,-407.142,1207.88),(270,0,0)); + var_00.v["fxid"] = "ark_steam_pipe_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_pipe_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((-58.0719,-408.38,1207.87),(270,0,0)); + var_00.v["fxid"] = "ark_steam_pipe_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_pipe_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((-66.6403,-570.437,1204.88),(270,0,0)); + var_00.v["fxid"] = "ark_steam_pipe_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_pipe_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((-66.6265,-536.561,1204.88),(270,0,0)); + var_00.v["fxid"] = "ark_steam_pipe_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_pipe_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((-65.897,-632.023,1204.88),(270,0,0)); + var_00.v["fxid"] = "ark_steam_pipe_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_longlight_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-685.19,-138.222,1058.64),(86.3953,236.295,146.348)); + var_00.v["fxid"] = "ark_longlight_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_pipe_burst_lp_sm_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-888.389,651.045,1052.71),(326.551,123.751,-120.973)); + var_00.v["fxid"] = "ark_steam_pipe_burst_lp_sm_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_water_bubble_shark_tank"); + var_00 common_scripts\_createfx::set_origin_and_angles((462.725,1773.75,957.21),(270,0,0)); + var_00.v["fxid"] = "ark_water_bubble_shark_tank"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_water_bubble_shark_tank"); + var_00 common_scripts\_createfx::set_origin_and_angles((758.116,1808.78,956.099),(270,0,90)); + var_00.v["fxid"] = "ark_water_bubble_shark_tank"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_water_bubble_shark_tank"); + var_00 common_scripts\_createfx::set_origin_and_angles((881.173,1803.89,954.2),(270,0,90)); + var_00.v["fxid"] = "ark_water_bubble_shark_tank"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_low_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((742.591,2342.28,915),(270,0,0)); + var_00.v["fxid"] = "ark_steam_low_rise"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_low_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((678.666,2354.16,915),(270,0,0)); + var_00.v["fxid"] = "ark_steam_low_rise"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_low_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((486.932,2478.35,931),(270,0,0)); + var_00.v["fxid"] = "ark_steam_low_rise"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_low_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((477.605,2308.56,931),(270,0,0)); + var_00.v["fxid"] = "ark_steam_low_rise"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_low_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((481.922,2183.82,931),(270,0,0)); + var_00.v["fxid"] = "ark_steam_low_rise"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_low_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((745.563,2578.18,931),(270,0,0)); + var_00.v["fxid"] = "ark_steam_low_rise"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_low_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((675.433,2577.97,931),(270,0,0)); + var_00.v["fxid"] = "ark_steam_low_rise"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_low_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((600.319,2579.99,931),(270,0,0)); + var_00.v["fxid"] = "ark_steam_low_rise"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_low_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((524.134,2578.05,931),(270,0,0)); + var_00.v["fxid"] = "ark_steam_low_rise"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_low_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((485.918,2560.45,931),(270,0,0)); + var_00.v["fxid"] = "ark_steam_low_rise"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((437.138,2680.44,1016.91),(359.978,281.996,0.207852)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1759.81,2526,1005.91),(354,270,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_mp_hr2_water_spray_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1222.68,-80.625,705.968),(312.036,267.83,92.9893)); + var_00.v["fxid"] = "ark_mp_hr2_water_spray_sm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_low_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1222.51,-115.339,644.757),(270,0,0)); + var_00.v["fxid"] = "ark_steam_low_rise"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_low_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1103.94,-129.31,635.125),(270,0,0)); + var_00.v["fxid"] = "ark_steam_low_rise"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_low_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1194.89,-26.9256,635.125),(270,0,0)); + var_00.v["fxid"] = "ark_steam_low_rise"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner_slit_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1299.04,-92.4252,695.005),(270,0,0)); + var_00.v["fxid"] = "electrical_sparks_runner_slit_sm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_low_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1226.81,282.02,635.125),(270,0,0)); + var_00.v["fxid"] = "ark_steam_low_rise"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_low_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1264.49,242.986,654.212),(270,0,0)); + var_00.v["fxid"] = "ark_steam_low_rise"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_mp_hr2_water_spray_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1551.5,248.872,694.283),(298,0,0)); + var_00.v["fxid"] = "ark_mp_hr2_water_spray_sm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("ark_mp_hr2_water_spray_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1221.93,354.661,886.048),(7.56986,226.581,70.541)); + var_00.v["fxid"] = "ark_mp_hr2_water_spray_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_low_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1307.87,128.53,635.125),(270,0,0)); + var_00.v["fxid"] = "ark_steam_low_rise"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_low_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1385.69,98.3923,635.125),(270,0,0)); + var_00.v["fxid"] = "ark_steam_low_rise"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_low_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1293.12,78.0565,635.125),(270,0,0)); + var_00.v["fxid"] = "ark_steam_low_rise"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_low_rise"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1129.4,296.878,635.125),(270,0,0)); + var_00.v["fxid"] = "ark_steam_low_rise"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_pipe_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1017.89,-782.793,939.001),(270,0,0)); + var_00.v["fxid"] = "ark_steam_pipe_fall"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_pipe_burst_lp_sm_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1159.99,-426.953,948.334),(48.8146,43.5057,146.444)); + var_00.v["fxid"] = "ark_steam_pipe_burst_lp_sm_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((1298.17,-368.461,895.725),(342,90,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13.2528,1.77724,907.125),(351,0,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_overhead_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((745.694,985.492,854.641),(87,180,-90)); + var_00.v["fxid"] = "ark_overhead_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("electrical_sparks_runner_slit_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-953.95,-617.762,836.826),(0,272,0)); + var_00.v["fxid"] = "electrical_sparks_runner_slit_sm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("ark_neontube_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1567.42,1270.69,1108.89),(0.654541,270.978,90.0916)); + var_00.v["fxid"] = "ark_neontube_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_neontube_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1565.15,324.38,922.554),(0,90,90)); + var_00.v["fxid"] = "ark_neontube_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_neontube_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-480.476,-540.314,1125.44),(0,270,90)); + var_00.v["fxid"] = "ark_neontube_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_neontube_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-669.873,-654.124,1076.76),(0,90,-90)); + var_00.v["fxid"] = "ark_neontube_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_neontube_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-671.471,-677.881,1080.56),(12.6837,270.171,-90.4728)); + var_00.v["fxid"] = "ark_neontube_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_neontube_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-383.861,-444.804,1096.87),(360,180,-90)); + var_00.v["fxid"] = "ark_neontube_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_neontube_flare_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52.1441,-699.829,1091.51),(0,90,-90)); + var_00.v["fxid"] = "ark_neontube_flare_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_longlight_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1366.15,338.288,1011.57),(90,0,90)); + var_00.v["fxid"] = "ark_longlight_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_longlight_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((1366.28,468.601,1011.55),(90,0,90)); + var_00.v["fxid"] = "ark_longlight_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_overhead_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1069.69,-135.955,1069.79),(90,358.452,88.4518)); + var_00.v["fxid"] = "ark_overhead_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_overhead_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((156.338,-797.861,920.682),(90,3.27049,94.2703)); + var_00.v["fxid"] = "ark_overhead_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_overhead_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((156.023,-749.696,921),(90,3.27049,94.2703)); + var_00.v["fxid"] = "ark_overhead_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_overhead_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((155.945,-702.13,920),(90,3.27049,94.2703)); + var_00.v["fxid"] = "ark_overhead_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_overhead_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((155.861,-655.412,919),(90,3.27049,94.2703)); + var_00.v["fxid"] = "ark_overhead_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_longlight_warm_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1198.38,730.111,1301.7),(90,180,-180)); + var_00.v["fxid"] = "ark_longlight_warm_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_longlight_warm_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1190.16,902.851,1302.55),(90,180,-180)); + var_00.v["fxid"] = "ark_longlight_warm_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_longlight_warm_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1194.11,1085.26,1304.38),(90,180,-180)); + var_00.v["fxid"] = "ark_longlight_warm_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_longlight_warm_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-883.212,973.66,1287.07),(90,0,-88)); + var_00.v["fxid"] = "ark_longlight_warm_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_longlight_warm_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-883.875,1061.63,1284.97),(90,0,-88)); + var_00.v["fxid"] = "ark_longlight_warm_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_longlight_warm_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-619.348,1082.81,1302.6),(90,180,-180)); + var_00.v["fxid"] = "ark_longlight_warm_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_longlight_warm_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-363.528,1083.21,1302.93),(90,180,-180)); + var_00.v["fxid"] = "ark_longlight_warm_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_longlight_warm_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-365.593,904.155,1302.88),(90,180,-180)); + var_00.v["fxid"] = "ark_longlight_warm_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_longlight_warm_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-362.183,730.789,1302.93),(90,180,-180)); + var_00.v["fxid"] = "ark_longlight_warm_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_longlight_warm_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-620.148,729.606,1302.54),(90,180,-180)); + var_00.v["fxid"] = "ark_longlight_warm_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_longlight_warm_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-618.225,903.49,1302.66),(90,180,-180)); + var_00.v["fxid"] = "ark_longlight_warm_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_water_edge_splashes_flip"); + var_00 common_scripts\_createfx::set_origin_and_angles((1527.69,289.43,722.588),(0,0,90)); + var_00.v["fxid"] = "ark_water_edge_splashes_flip"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_jellyfish_bubble_tanks"); + var_00 common_scripts\_createfx::set_origin_and_angles((849.816,-390.717,866.302),(270,0,0)); + var_00.v["fxid"] = "ark_jellyfish_bubble_tanks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_water_bubble_tanks"); + var_00 common_scripts\_createfx::set_origin_and_angles((849.655,-442.045,865.52),(270,0,0)); + var_00.v["fxid"] = "ark_water_bubble_tanks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_jellyfish_bubble_tanks"); + var_00 common_scripts\_createfx::set_origin_and_angles((849.133,-491.848,866),(270,0,0)); + var_00.v["fxid"] = "ark_jellyfish_bubble_tanks"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("ark_jellyfish_bubble_tanks"); + var_00 common_scripts\_createfx::set_origin_and_angles((631.415,-391.294,868.333),(270,0,0)); + var_00.v["fxid"] = "ark_jellyfish_bubble_tanks"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("ark_water_bubble_tanks"); + var_00 common_scripts\_createfx::set_origin_and_angles((631.811,-441.166,868),(270,0,0)); + var_00.v["fxid"] = "ark_water_bubble_tanks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_jellyfish_bubble_tanks"); + var_00 common_scripts\_createfx::set_origin_and_angles((631.515,-493.275,867.598),(270,0,0)); + var_00.v["fxid"] = "ark_jellyfish_bubble_tanks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_water_bubble_tanks"); + var_00 common_scripts\_createfx::set_origin_and_angles((632.267,-545.611,868),(270,0,0)); + var_00.v["fxid"] = "ark_water_bubble_tanks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_water_edge_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((1112.62,2696.33,742.125),(273.163,251.524,-161.552)); + var_00.v["fxid"] = "ark_water_edge_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((966.155,2208.3,864.5),(297.998,92.8965,-2.12978)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((854.184,1498.86,884.5),(308.965,91.9599,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((294.307,1401.66,959.493),(0,0,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((70.8615,-1570.68,784.5),(302.859,86.3304,0.333136)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((-887.239,-1537.84,791.5),(319,0,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((-800.925,270.57,1191.13),(339,90,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1046.37,-1701.74,789.5),(308,0,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47.2481,-267.366,1047.13),(0,270,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1111.97,-2306.24,1043.13),(357.637,95.3195,-1.77066)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((-574.342,1224.59,1033.13),(350,263,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_pipe_burst_lp_sm_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((39.5348,13.0756,1030.03),(53.9276,11.3721,-157.283)); + var_00.v["fxid"] = "ark_steam_pipe_burst_lp_sm_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((313.161,2445.1,884.5),(316,180,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((-0.172579,1544.05,889.5),(302,0,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1918.77,1058.03,830.882),(0,4,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1950.33,115.507,718.5),(312,0,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((-940.959,-444.958,746.5),(315,170,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1887.92,609.606,826.125),(353,0,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1288.72,2657.3,993.125),(338,270,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((242.652,1257.96,966.6),(0,273,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1182.79,1225.06,1032.13),(350.054,271.014,-0.175684)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_goo_pool"); + var_00 common_scripts\_createfx::set_origin_and_angles((-436.901,-358.633,965.125),(270,0,0)); + var_00.v["fxid"] = "ark_steam_goo_pool"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("ark_green_goo_drips_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-692.115,-893.493,1115.18),(270,0,0)); + var_00.v["fxid"] = "ark_green_goo_drips_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_ambient_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1658.86,123.597,964.897),(282,180,-89)); + var_00.v["fxid"] = "ark_steam_ambient_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_ambient_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1655.59,70.7503,967.059),(282,180,-89)); + var_00.v["fxid"] = "ark_steam_ambient_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((159.287,1253.51,967.358),(0,273,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((200.379,1256.96,965.473),(0,273,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1252.03,-1985.87,904.438),(351,79,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1437.8,-79.3817,717.125),(322,90,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((73.8423,640.623,914.717),(0,270,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_water_edge_splashes_rear"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2063.75,-2296.77,479.125),(283.505,76.4181,12.8582)); + var_00.v["fxid"] = "ark_water_edge_splashes_rear"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1654.06,-1185.83,880.875),(0,272,0)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1735.33,-1444.08,1096.25),(0,272,0)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1693.57,-1694.6,881.25),(0,272,0)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_mp_hr2_water_spray_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((407.201,-400.729,982.822),(11.8892,89.6617,-4.69005)); + var_00.v["fxid"] = "ark_mp_hr2_water_spray_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_mp_hr2_water_spray_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((318.297,-400.294,936.76),(11.8892,89.6617,-4.69005)); + var_00.v["fxid"] = "ark_mp_hr2_water_spray_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_neontube_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((135.031,225.637,942.983),(0,90,-90)); + var_00.v["fxid"] = "ark_neontube_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_moonpool_vol"); + var_00 common_scripts\_createfx::set_origin_and_angles((748.929,416.91,725.125),(270,0,0)); + var_00.v["fxid"] = "ark_moonpool_vol"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_spotlight_cone"); + var_00 common_scripts\_createfx::set_origin_and_angles((-230.238,833.403,1265.85),(45,0,0)); + var_00.v["fxid"] = "ark_light_spotlight_cone"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_neontube_flare_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-951.007,-1754.88,958.5),(0,180,90)); + var_00.v["fxid"] = "ark_neontube_flare_sm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("ark_steam_pipe_fall"); + var_00 common_scripts\_createfx::set_origin_and_angles((1066.84,788.505,884.315),(48.6213,225,0)); + var_00.v["fxid"] = "ark_steam_pipe_fall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_water_bubble_tanks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1600.03,-1507.5,840.387),(0,342.192,0)); + var_00.v["fxid"] = "ark_water_bubble_tanks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_water_bubble_tanks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1591,-1384.99,837.646),(0,5.80839,0)); + var_00.v["fxid"] = "ark_water_bubble_tanks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_water_bubble_tanks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-83.1543,-1421.77,836.613),(0,84.1902,0)); + var_00.v["fxid"] = "ark_water_bubble_tanks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_water_bubble_tanks"); + var_00 common_scripts\_createfx::set_origin_and_angles((-201.978,-1433.5,836.691),(0,107.808,0)); + var_00.v["fxid"] = "ark_water_bubble_tanks"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_spotlight_cone"); + var_00 common_scripts\_createfx::set_origin_and_angles((-231.45,775.477,1265.73),(49.7246,0,0)); + var_00.v["fxid"] = "ark_light_spotlight_cone"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_spotlight_cone_blue"); + var_00 common_scripts\_createfx::set_origin_and_angles((377.589,-481.731,798.425),(270,0,0)); + var_00.v["fxid"] = "ark_light_spotlight_cone_blue"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_neontube_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-815.938,-2205.92,1080.36),(7.79995,90.6748,-89.7)); + var_00.v["fxid"] = "ark_neontube_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_neontube_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-917.716,-2075.33,1080.12),(21.3597,180,-90.6753)); + var_00.v["fxid"] = "ark_neontube_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_neontube_flare_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-891.535,613.121,1236.14),(15,270,90)); + var_00.v["fxid"] = "ark_neontube_flare_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_neontube_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1063.77,514.061,891.216),(0,270.299,-89.7002)); + var_00.v["fxid"] = "ark_neontube_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_medbay_red_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1238.12,1129.16,835.753),(0,180,-90)); + var_00.v["fxid"] = "ark_medbay_red_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_flare_medbay"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1215.9,-823.967,1125.04),(0,0,0)); + var_00.v["fxid"] = "ark_flare_medbay"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_flare_medbay"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1220.17,-827.709,1117.76),(0,0,0)); + var_00.v["fxid"] = "ark_flare_medbay"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_flare_medbay"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1217.92,-827.467,1131.39),(0,0,0)); + var_00.v["fxid"] = "ark_flare_medbay"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_flare_medbay"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1217.06,-823.783,1123.29),(0,0,0)); + var_00.v["fxid"] = "ark_flare_medbay"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1414.64,648.684,928.625),(322.003,90.7197,-1.22426)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("ark_fire_drips"); + var_00 common_scripts\_createfx::set_origin_and_angles((-454.351,-1366.08,1230.55),(270,0,0)); + var_00.v["fxid"] = "ark_fire_drips"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("mp_spark_fire_fall_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-107.59,1321.96,1646.65),(270,0,0)); + var_00.v["fxid"] = "mp_spark_fire_fall_runner"; + var_00.v["delay"] = -15; + var_00.v["exploder"] = "1"; + var_00 = common_scripts\utility::createexploder("ark_area_den_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-35.1015,-1381.26,832.125),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "91"; + var_00 = common_scripts\utility::createexploder("ark_area_den_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-434.173,910.374,962.55),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_2"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "92"; + var_00 = common_scripts\utility::createexploder("ark_area_den_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((747.468,426.894,773.125),(270,0,1)); + var_00.v["fxid"] = "ark_area_den_2"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "93"; + var_00 = common_scripts\utility::createexploder("ark_area_den_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1701.51,2257.87,928.125),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "94"; + var_00 = common_scripts\utility::createexploder("ark_area_den_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1085.33,923.902,959.625),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_2"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "92"; + var_00 = common_scripts\utility::createexploder("ark_area_den_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((44.1448,2207.82,929.125),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_4"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "95"; + var_00 = common_scripts\utility::createexploder("ark_area_den_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((-268.814,1822.71,935.125),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_4"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "95"; + var_00 = common_scripts\utility::createexploder("ark_area_den_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((-525.893,1825.3,933.125),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_4"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "95"; + var_00 = common_scripts\utility::createexploder("ark_area_den_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((-555.938,2390.32,938.34),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_4"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "95"; + var_00 = common_scripts\utility::createexploder("ark_area_den_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((-909.607,2133.03,929.125),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_4"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "95"; + var_00 = common_scripts\utility::createexploder("ark_area_den_4"); + var_00 common_scripts\_createfx::set_origin_and_angles((-984.934,2464.28,929.125),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_4"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "95"; + var_00 = common_scripts\utility::createexploder("ark_area_den_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1702.55,1725.99,934.073),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "94"; + var_00 = common_scripts\utility::createexploder("ark_area_den_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1641.84,1557.39,768.227),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "94"; + var_00 = common_scripts\utility::createexploder("ark_area_den_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1734.52,1096.52,960.125),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "94"; + var_00 = common_scripts\utility::createexploder("ark_area_den_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1746.79,737.313,879),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "94"; + var_00 = common_scripts\utility::createexploder("ark_area_den_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1671.96,595.306,783.82),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "94"; + var_00 = common_scripts\utility::createexploder("ark_area_den_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1907.86,91.3879,760),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "94"; + var_00 = common_scripts\utility::createexploder("ark_area_den_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((152.923,-1065.94,832.125),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "91"; + var_00 = common_scripts\utility::createexploder("ark_area_den_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-627.651,-1171.28,836.625),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "91"; + var_00 = common_scripts\utility::createexploder("ark_area_den_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-565.451,-1520.89,832.125),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "91"; + var_00 = common_scripts\utility::createexploder("ark_area_den_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-681.015,-935.137,968.125),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "91"; + var_00 = common_scripts\utility::createexploder("ark_area_den_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-553.196,-553.693,965.082),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "91"; + var_00 = common_scripts\utility::createexploder("ark_area_den_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-172.309,-542.5,968.125),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "91"; + var_00 = common_scripts\utility::createexploder("ark_area_den_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-639.261,-1615.64,1023.13),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "91"; + var_00 = common_scripts\utility::createexploder("ark_area_den_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-626.253,-2009.15,986.125),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "91"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((-997.886,-2075.89,914.125),(297,180,180)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "90"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1059.11,-33.5134,1009),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "92"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1064.29,-191.924,974),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "92"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1062.82,156.854,1036),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "92"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((-682.595,-192.003,978.125),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "92"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((-673.154,146.082,1090.13),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "92"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((-683.873,28.3881,988),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "92"; + var_00 = common_scripts\utility::createexploder("ark_area_den_6"); + var_00 common_scripts\_createfx::set_origin_and_angles((162.606,-597.118,832.125),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_6"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "93"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((750.759,1158.98,748),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "96"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((746.114,1348.86,828),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "96"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((742.527,1002.48,741),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "96"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((40.3597,1083.75,959.625),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "96"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((304.916,1053.86,959.625),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "96"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((575.684,1065.37,960.5),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "96"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((472.352,1261.39,959.625),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "96"; + var_00 = common_scripts\utility::createexploder("ark_area_den_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((738.124,2206.87,921),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_2"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "96"; + var_00 = common_scripts\utility::createexploder("ark_area_den_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((762.482,1837.33,936.125),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_2"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "96"; + var_00 = common_scripts\utility::createexploder("ark_area_den_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-874.828,466.564,1144.13),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "92"; + var_00 = common_scripts\utility::createexploder("ark_area_den_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1768.42,1145.47,760),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "94"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((1190.93,441.955,777),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "93"; + var_00 = common_scripts\utility::createexploder("ark_area_den_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1234.28,-1441.32,838.125),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_1"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "90"; + var_00 = common_scripts\utility::createexploder("ark_area_den_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1215.14,-1808.58,832.125),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "90"; + var_00 = common_scripts\utility::createexploder("ark_area_den_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1228.81,-1235.75,832.125),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "90"; + var_00 = common_scripts\utility::createexploder("ark_area_den_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1560.98,-1436.92,851.127),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_1"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "90"; + var_00 = common_scripts\utility::createexploder("ark_area_den_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1228.89,-611.202,977.125),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_1"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "90"; + var_00 = common_scripts\utility::createexploder("ark_area_den_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1282.09,-1676.84,1133.88),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "90"; + var_00 = common_scripts\utility::createexploder("ark_area_den_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1216.1,-1279.52,1148.56),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "90"; + var_00 = common_scripts\utility::createexploder("ark_area_den_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1140.36,29.6356,708.914),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "97"; + var_00 = common_scripts\utility::createexploder("water_trap_bubbler"); + var_00 common_scripts\_createfx::set_origin_and_angles((595.729,261.115,771.125),(270,180,45)); + var_00.v["fxid"] = "water_trap_bubbler"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "57"; + var_00 = common_scripts\utility::createexploder("water_trap_bubbler"); + var_00 common_scripts\_createfx::set_origin_and_angles((591.727,563.833,771.125),(270,0,135)); + var_00.v["fxid"] = "water_trap_bubbler"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "57"; + var_00 = common_scripts\utility::createexploder("water_trap_bubbler"); + var_00 common_scripts\_createfx::set_origin_and_angles((896.585,568.17,771.125),(270,0,45)); + var_00.v["fxid"] = "water_trap_bubbler"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "57"; + var_00 = common_scripts\utility::createexploder("water_trap_bubbler"); + var_00 common_scripts\_createfx::set_origin_and_angles((904.648,262.579,771.125),(270,180,135)); + var_00.v["fxid"] = "water_trap_bubbler"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "57"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1060.54,-252.149,648),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "97"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1452.43,94.9737,712.5),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "97"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1551.54,97.1719,720.5),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "97"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1070.01,373.326,646),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "97"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1089.95,-472.182,657.125),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "97"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1099.22,-630.967,657.125),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "97"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1100.45,-742.123,657.125),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "97"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((1358.52,38.4031,832.125),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "93"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((1356.8,-177.01,832.125),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "93"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((1150.18,-232.424,832.125),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "93"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((859.909,-243.854,833),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "93"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((754.148,-444.212,833),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "93"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((730.075,-15.5236,788.467),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "93"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((403.189,-224.483,832),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "93"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((182.389,-218.78,832),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "93"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((143.68,-85.2351,832),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "93"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((136.455,100.786,832),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "93"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((231.371,349.19,800.125),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "93"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((222.522,509.714,804.125),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "93"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((13.1292,423.715,832.125),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "93"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((-636.671,920.612,961.646),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "92"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((1305.25,326.698,822),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "93"; + var_00 = common_scripts\utility::createexploder("ark_area_den_5"); + var_00 common_scripts\_createfx::set_origin_and_angles((1361.55,525.454,832.125),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_5"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "93"; + var_00 = common_scripts\utility::createexploder("ark_area_den_3"); + var_00 common_scripts\_createfx::set_origin_and_angles((-204.23,-990.802,832.125),(270,0,0)); + var_00.v["fxid"] = "ark_area_den_3"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "91"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((87,-1442,964),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((67,-1104,975),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1230,2548,970),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1103,2213,970),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1284,1849,970),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-998,1750,970),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-818,2161,970),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-909,2501,970),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-695,1598,970),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-605,1902,970),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-602,2544,970),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-54,2483,970),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-205,2177,970),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-67,1640,970),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((355,2205,970),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((612,2491,970),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((670,2016,970),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((647,1610,969),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((722,408,818),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((992,2289,971),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((343,378,823),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((754,-12,823),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1228,472,887),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((874,1573,970),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((460,1538,969),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((867,618,823),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((740,-17,810),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1147,483,823),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((940,641,808),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((332,405,808),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1304,-193,872),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((958,-180,872),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((752,-249,880),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((453,-169,872),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((151,-120,872),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((175,89,946),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((141,289,872),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((241,415,843),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((20,408,872),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((66,585,872),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-97,467,872),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1397,-216,872),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((745,2260,955),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1498,1031,1015),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((470,1453,995),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-695,-330,1032),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1688,113,797),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\utility::createexploder("ark_security_field_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1079,-283,1025),(270,0,0)); + var_00.v["fxid"] = "ark_security_field_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "200"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((923.303,820.7,915.834),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "zark_metal_creak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-25.174,242.726,1024.13),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "zark_metal_creak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((428.503,1919.76,1192.88),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "zark_metal_creak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((930.952,1654.09,1068.8),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "zark_metal_creak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1702.98,516.044,1092.88),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "zark_metal_creak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1179.2,-1835.97,1034.66),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "zark_metal_creak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1388.47,-1719.99,1026.03),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "zark_metal_creak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-612.454,2311.58,1427.05),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "zark_metal_creak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1062.15,2765.31,1360.98),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "zark_metal_creak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((187.311,-1252.12,1080.68),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "zark_metal_creak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-104.497,-419.262,1156.5),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "zark_metal_creak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1425.27,1022.08,1173.23),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "zark_metal_creak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-148.857,1108.37,1175.6),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "zark_metal_creak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((742.994,404.941,767.268),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "zark_whale_call"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((753.752,404.265,766.133),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 4.01; + var_00.v["soundalias"] = "zark_sonar_ping_long_02"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1583.28,-1078.77,953.481),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "zark_cable_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1830.36,-1065.7,1006.48),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "zark_cable_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1832.39,-1822.85,981.004),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "zark_cable_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1577.89,-1829.48,1009.37),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "zark_cable_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((579.301,1976.97,1054.52),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "zark_cable_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((916.647,2522.89,1045.99),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "zark_cable_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((589.078,2506.57,1049.88),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "zark_cable_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((919.335,1985.21,1045.09),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "zark_cable_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((386.262,-384.026,902.976),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "zark_glass_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1043.92,2252.82,1035.73),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "zark_metal_creak"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1089.93,-1898.18,1242.28),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 20; + var_00.v["soundalias"] = "zark_cable_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1315.3,490.961,1180.02),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "zark_glass_pane_shards"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1223.68,651.735,1012.13),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "zark_glass_pane_shards"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1562.83,1294.82,791.456),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "zark_glass_pane_shards"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1672.24,990.805,786.391),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "zark_glass_pane_shards"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1949.49,951.258,1029.45),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "zark_glass_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1955.38,1078.63,1023.28),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "zark_glass_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1036.33,2222.39,1004.91),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "zark_glass_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((690.669,1778.29,990.067),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "zark_glass_stress"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((646.887,1672.12,945.574),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "zark_glass_pane_shards"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1283.29,-75.3971,3634.56),(270,0,0)); + var_00.v["delay_min"] = 20; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "zark_ship_horn"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1875.13,2060.74,967.625),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 15; + var_00.v["soundalias"] = "zark_glass_pane_shards"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1886.5,2384.08,975.785),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "zark_glass_stress"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_zombie_brg_fx.gsc b/AW/PC/maps/createfx/mp_zombie_brg_fx.gsc new file mode 100644 index 0000000..c6ea225 --- /dev/null +++ b/AW/PC/maps/createfx/mp_zombie_brg_fx.gsc @@ -0,0 +1,2733 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_zombie_brg_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 128 ms + * Timestamp: 4/22/2024 2:07:52 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((463.263,-1890.33,137.125),(270,0,0)); + var_00.v["soundalias"] = "manhole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-95.5672,-406.122,134.613),(270,0,0)); + var_00.v["soundalias"] = "manhole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1079.95,-1111.37,133.916),(270,0,0)); + var_00.v["soundalias"] = "manhole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((935.144,-2861.03,144.778),(270,0,0)); + var_00.v["soundalias"] = "manhole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1561.44,-2600.39,139.047),(270,0,0)); + var_00.v["soundalias"] = "manhole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1558.04,-3223.74,144.894),(270,0,0)); + var_00.v["soundalias"] = "manhole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2020.62,-4122.01,145.838),(270,0,0)); + var_00.v["soundalias"] = "manhole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((280.137,-4427.6,146.727),(270,0,0)); + var_00.v["soundalias"] = "manhole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2337.98,-996.098,156.625),(270,0,0)); + var_00.v["soundalias"] = "manhole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2791.2,-1163.64,147.907),(270,0,0)); + var_00.v["soundalias"] = "manhole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2666.85,-1693.12,142.152),(270,0,0)); + var_00.v["soundalias"] = "manhole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3651.34,-1519.24,156.354),(270,0,0)); + var_00.v["soundalias"] = "manhole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((298.802,-1409.02,135.017),(270,0,0)); + var_00.v["soundalias"] = "manhole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((714.093,-1419.99,156.93),(270,0,0)); + var_00.v["soundalias"] = "car_fire_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1316.07,-2939.37,177.7),(270,0,0)); + var_00.v["soundalias"] = "car_fire_med_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2024.48,-3938.68,154.129),(270,0,0)); + var_00.v["soundalias"] = "car_fire_med_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((465.074,-4565.22,150.559),(270,0,0)); + var_00.v["soundalias"] = "car_fire_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((340.844,-3363.27,41.734),(270,0,0)); + var_00.v["soundalias"] = "car_fire_sml_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((628.177,-2966.81,239.811),(270,0,0)); + var_00.v["soundalias"] = "car_fire_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1273.11,-3531.44,180.348),(270,0,0)); + var_00.v["soundalias"] = "flies_lp_ext"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((619.737,-4704.14,177.043),(270,0,0)); + var_00.v["soundalias"] = "flies_lp_ext"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1195.76,-3919.61,207.197),(270,0,0)); + var_00.v["soundalias"] = "flies_lp_int"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((756.704,-872.065,194.107),(270,0,0)); + var_00.v["soundalias"] = "flies_lp_int"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1686.5,-2650.24,-14.125),(270,0,0)); + var_00.v["soundalias"] = "pipe_rushing"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1672.13,-2495.47,-14.125),(270,0,0)); + var_00.v["soundalias"] = "pipe_rushing"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1670.01,-2384.08,-3.62178),(270,0,0)); + var_00.v["soundalias"] = "pipe_rushing"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1671.88,-2220.96,-11.125),(270,0,0)); + var_00.v["soundalias"] = "pipe_rushing"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1859.88,-2703.88,-135.656),(270,0,0)); + var_00.v["soundalias"] = "pipe_rushing"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1876.66,-2586.51,-8.74619),(270,0,0)); + var_00.v["soundalias"] = "pipe_rushing"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2319.37,-2588.74,-284.793),(270,0,0)); + var_00.v["soundalias"] = "pipe_rushing"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2318.8,-2276.17,-282.801),(270,0,0)); + var_00.v["soundalias"] = "pipe_rushing"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2344.82,-2033.48,-280.468),(270,0,0)); + var_00.v["soundalias"] = "pipe_rushing"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2317.87,-1743.88,-286.217),(270,0,0)); + var_00.v["soundalias"] = "pipe_rushing"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1688.51,-2168.92,186.749),(270,0,0)); + var_00.v["soundalias"] = "light_generator_sml_lp_int"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2103.72,-2815.45,-180.808),(270,0,0)); + var_00.v["soundalias"] = "light_generator_sml_lp_int"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1746.22,-2654.54,-101.729),(270,0,0)); + var_00.v["soundalias"] = "light_generator_sml_lp_int"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2202.99,-2653.89,-388.23),(270,0,0)); + var_00.v["soundalias"] = "light_generator_sml_lp_int"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-31.4871,-3604.09,206.463),(270,0,0)); + var_00.v["soundalias"] = "light_generator_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-295.043,-785.667,202.494),(270,0,0)); + var_00.v["soundalias"] = "light_generator_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1228.77,-950.344,196.494),(270,0,0)); + var_00.v["soundalias"] = "light_generator_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1848.75,-470.756,209.47),(270,0,0)); + var_00.v["soundalias"] = "light_generator_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((841.908,-1983.44,202.477),(270,0,0)); + var_00.v["soundalias"] = "light_generator_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1273.34,-2641.35,-166.23),(270,0,0)); + var_00.v["soundalias"] = "light_generator_sml_lp_int"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((993.331,-1664,-165.229),(270,0,0)); + var_00.v["soundalias"] = "light_generator_sml_lp_int"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((250.727,-1688.49,-102.23),(270,0,0)); + var_00.v["soundalias"] = "light_generator_sml_lp_int"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((209.272,-2500.27,-20.854),(270,0,0)); + var_00.v["soundalias"] = "light_generator_sml_lp_int"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1522.28,-1230.41,189.03),(270,0,0)); + var_00.v["soundalias"] = "light_generator_sml_lp_int"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((715.666,-573.274,185.365),(270,0,0)); + var_00.v["soundalias"] = "vending_machine_buzz"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((804.694,-595.318,348.62),(270,0,0)); + var_00.v["soundalias"] = "small_generators_lp_ext_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-266,-2103.9,192.617),(270,0,0)); + var_00.v["soundalias"] = "small_generators_lp_ext_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((69.3755,-234.078,193.476),(270,0,0)); + var_00.v["soundalias"] = "small_generators_lp_ext_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((202.176,-506.5,210.83),(270,0,0)); + var_00.v["soundalias"] = "wall_transformers_lp_int_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((739.205,-512.4,161.504),(270,0,0)); + var_00.v["soundalias"] = "wall_transformers_lp_int_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3850.93,-1536.65,224.495),(270,0,0)); + var_00.v["soundalias"] = "light_generator_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1674.67,-2673.03,-66.3186),(270,0,0)); + var_00.v["soundalias"] = "wall_transformers_lp_int_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1340.81,-2066.15,-122.241),(270,0,0)); + var_00.v["soundalias"] = "manhole_lp_int"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((266.63,-512.4,159.947),(270,0,0)); + var_00.v["soundalias"] = "small_generators_lp_int_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((334.901,-874.99,165.009),(270,0,0)); + var_00.v["soundalias"] = "larger_generators_lp_ext_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((908.178,-555.49,166.242),(270,0,0)); + var_00.v["soundalias"] = "wall_transformers_lp_ext_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1763.8,-3803.95,152),(270,0,0)); + var_00.v["soundalias"] = "flies_lp_ext"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1122.06,-4310.1,150.764),(270,0,0)); + var_00.v["soundalias"] = "manhole_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((841.34,-4063.81,465.263),(270,0,0)); + var_00.v["soundalias"] = "larger_generators_lp_ext_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1047.73,-4064.2,475.685),(270,0,0)); + var_00.v["soundalias"] = "larger_generators_lp_ext_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2537.34,-2826.53,-214.178),(270,0,0)); + var_00.v["soundalias"] = "wall_transformers_lp_int_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2737.52,-2875.72,-239.34),(270,0,0)); + var_00.v["soundalias"] = "manhole_lp_int"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1147.16,-2673.03,-141.495),(270,0,0)); + var_00.v["soundalias"] = "wall_transformers_lp_int_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1016.98,-2639.9,-199.913),(270,0,0)); + var_00.v["soundalias"] = "manhole_lp_int"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((898.875,-1687.36,-97.4971),(270,0,0)); + var_00.v["soundalias"] = "pipe_rushing"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((893.26,-1845.55,-107.813),(270,0,0)); + var_00.v["soundalias"] = "pipe_rushing"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((891.297,-2139.17,-105.452),(270,0,0)); + var_00.v["soundalias"] = "pipe_rushing"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((889.338,-2502.61,-108.476),(270,0,0)); + var_00.v["soundalias"] = "pipe_rushing"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1000.85,-2673.03,-143.203),(270,0,0)); + var_00.v["soundalias"] = "wall_transformers_lp_int_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1160.63,-2634.64,-203.625),(270,0,0)); + var_00.v["soundalias"] = "manhole_lp_int"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2082.34,-2421.62,-207.875),(270,0,0)); + var_00.v["soundalias"] = "water_drips_slow_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2437.5,-2821.2,-263.875),(270,0,0)); + var_00.v["soundalias"] = "water_drips_big_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2686.61,-2800.15,-262.478),(270,0,0)); + var_00.v["soundalias"] = "water_drips_slow_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2524.08,-2818.15,-263.875),(270,0,0)); + var_00.v["soundalias"] = "water_drips_slow_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2456.61,-2730.32,-263.875),(270,0,0)); + var_00.v["soundalias"] = "water_drips_big_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3145.71,-2125.24,-203.224),(270,0,0)); + var_00.v["soundalias"] = "water_drips_big_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2621.03,-2133.6,-264),(270,0,0)); + var_00.v["soundalias"] = "water_drips_slow_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2779.14,-1735.98,-264),(270,0,0)); + var_00.v["soundalias"] = "water_drips_big_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2700.58,-1609.84,-264),(270,0,0)); + var_00.v["soundalias"] = "water_drips_slow_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2082.06,-1973.03,-416.535),(270,0,0)); + var_00.v["soundalias"] = "water_drips_slow_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1089.94,-2513.61,-191.875),(270,0,0)); + var_00.v["soundalias"] = "water_drips_slow_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1342.03,-1830.08,-127.875),(270,0,0)); + var_00.v["soundalias"] = "water_drips_slow_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1656.1,-2379.73,-127.875),(270,0,0)); + var_00.v["soundalias"] = "water_drips_slow_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3092.68,-1940.73,270.826),(270,0,0)); + var_00.v["soundalias"] = "panel_screen"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3791.43,-1115.31,261.552),(270,0,0)); + var_00.v["soundalias"] = "panel_glitch"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3266.93,-2450.48,256.112),(270,0,0)); + var_00.v["soundalias"] = "panel_glitch_beeps"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1896.97,-2100.02,-155.727),(270,0,0)); + var_00.v["soundalias"] = "wall_transformers_lp_int_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2008.3,-2687.03,-158.131),(270,0,0)); + var_00.v["soundalias"] = "wall_transformers_lp_int_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((90.1532,-529.445,163.657),(270,0,0)); + var_00.v["soundalias"] = "wall_transformers_lp_ext_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3231.03,-2666.12,-326.204),(270,0,0)); + var_00.v["soundalias"] = "wall_transformers_lp_int_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3106.84,-2792.04,-325.474),(270,0,0)); + var_00.v["soundalias"] = "wall_transformers_lp_int_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2260.74,-1593.61,-338.776),(270,0,0)); + var_00.v["soundalias"] = "wall_transformers_lp_int_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2781.5,-1756.18,-383.875),(270,0,0)); + var_00.v["soundalias"] = "water_drips_slow_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2617.62,-2095.6,-264),(270,0,0)); + var_00.v["soundalias"] = "water_drips_slow_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1748.08,-2147.07,-437.375),(270,0,0)); + var_00.v["soundalias"] = "water_drips_slow_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1226.87,-3906.83,325.11),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1239.84,-4040.77,336.784),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1231.28,-493.148,131),(270,0,0)); + var_00.v["soundalias"] = "crickets_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1009.3,-1612.46,140),(270,0,0)); + var_00.v["soundalias"] = "crickets_high"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((173.305,-4787.91,152.125),(270,0,0)); + var_00.v["soundalias"] = "crickets_high"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1510.85,-2487.66,149.125),(270,0,0)); + var_00.v["soundalias"] = "crickets_lp_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1865.52,-1560.05,440.82),(270,0,0)); + var_00.v["soundalias"] = "wind_howl_light"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1813.58,-1679.61,499.552),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_01_warehouse"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2000.2,-1662.07,567.699),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_02_warehouse"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2143.95,-2128.23,417.484),(270,0,0)); + var_00.v["soundalias"] = "wind_howl_light"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2101.69,-2166.57,476.529),(270,0,0)); + var_00.v["soundalias"] = "metal_creaks_01_warehouse"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2315.17,-4933.43,531.426),(270,0,0)); + var_00.v["soundalias"] = "console_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2312.32,-4749.81,530.032),(270,0,0)); + var_00.v["soundalias"] = "panel_glitch_beeps"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1006.29,-1551.74,140.125),(270,0,0)); + var_00.v["soundalias"] = "foliage_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1016.76,-1268.87,140.125),(270,0,0)); + var_00.v["soundalias"] = "foliage_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1263.62,-1041.13,140),(270,0,0)); + var_00.v["soundalias"] = "foliage_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2067.84,-4838.45,548.784),(270,0,0)); + var_00.v["soundalias"] = "broken_monitor"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2806.62,-2276.18,-161.027),(270,0,0)); + var_00.v["soundalias"] = "sewer_transformer_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2711.44,-1999.94,-147.779),(270,0,0)); + var_00.v["soundalias"] = "sewer_transformer_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1171.26,-1745.02,-30.4911),(270,0,0)); + var_00.v["soundalias"] = "pipe_rushing"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1170,-1979.03,-25.1435),(270,0,0)); + var_00.v["soundalias"] = "pipe_rushing"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1162.13,-2222.33,-24.3362),(270,0,0)); + var_00.v["soundalias"] = "pipe_rushing"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((878.625,-2625.53,-105.483),(270,0,0)); + var_00.v["soundalias"] = "pipe_rushing"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((864.125,-2297.62,-106.189),(270,0,0)); + var_00.v["soundalias"] = "pipe_rushing"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3359.68,-2196.9,-137.948),(270,0,0)); + var_00.v["soundalias"] = "sewer_waterfall_flow_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3230.98,-2035.01,-173.344),(270,0,0)); + var_00.v["soundalias"] = "sewer_waterfall_flow_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((42.8612,-1482.06,136),(270,0,0)); + var_00.v["soundalias"] = "tanker_fire_large_lp"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1185.06,-3480.78,288.225),(270,0,0)); + var_00.v["soundalias"] = "light_fluorescent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((966.792,-4420.49,284.875),(270,0,0)); + var_00.v["soundalias"] = "light_fluorescent_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((801.287,-3680.91,298.375),(270,0,0)); + var_00.v["soundalias"] = "light_fluorescent__int_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((709.325,-3833.63,267.488),(270,0,0)); + var_00.v["soundalias"] = "light_fluorescent__int_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((857.691,-4095.84,290.375),(270,0,0)); + var_00.v["soundalias"] = "light_fluorescent__int_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((937.791,-4290.26,298.375),(270,0,0)); + var_00.v["soundalias"] = "light_fluorescent__int_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1305.41,-3951.42,349.129),(270,0,0)); + var_00.v["soundalias"] = "wind_howl_light_restaurant"; + var_00 = common_scripts\utility::createexploder("brg_wind_blowing_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((3391.27,-1991.14,281),(272,90,-8)); + var_00.v["fxid"] = "brg_wind_blowing_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("brg_wind_blowing_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((3453.12,-529.154,212.398),(272,90,-8)); + var_00.v["fxid"] = "brg_wind_blowing_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("brg_wind_blowing_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((1473.47,-256.853,345.115),(272,90,-8)); + var_00.v["fxid"] = "brg_wind_blowing_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("brg_wind_blowing_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((920.842,-1371.42,267.138),(272,90,-8)); + var_00.v["fxid"] = "brg_wind_blowing_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("brg_wind_blowing_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((1623.87,-2865.28,270.41),(272,90,-8)); + var_00.v["fxid"] = "brg_wind_blowing_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("brg_wind_blowing_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((1807.34,-4170.87,310.228),(272,90,-17)); + var_00.v["fxid"] = "brg_wind_blowing_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createoneshoteffect("ambient_falling_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1133.23,-224.745,456.625),(270,180,-114)); + var_00.v["fxid"] = "ambient_falling_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_falling_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1134.82,634.829,1134.29),(270,0,0)); + var_00.v["fxid"] = "ambient_falling_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_falling_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2022.87,831.626,851.582),(270,0,0)); + var_00.v["fxid"] = "ambient_falling_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_falling_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2998.53,757.294,1075.91),(270,0,0)); + var_00.v["fxid"] = "ambient_falling_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_falling_leaves_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2699.53,-3097.11,696.043),(270,0,0)); + var_00.v["fxid"] = "ambient_falling_leaves_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("battlefield_smoke_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((1292.23,-3956.7,166.154),(270,0,0)); + var_00.v["fxid"] = "battlefield_smoke_m"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createoneshoteffect("fx_sunflare_burgertown"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1205.45,3369.35,798.811),(270,0,0)); + var_00.v["fxid"] = "fx_sunflare_burgertown"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("spark_burst_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((174.366,-304.529,190.276),(359.742,262.118,-0.774778)); + var_00.v["fxid"] = "spark_burst_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("spark_burst_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((756.429,-529.074,268.341),(323.895,85.8195,-170.285)); + var_00.v["fxid"] = "spark_burst_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("spark_burst_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((722.094,-524.15,203.26),(57.0061,89.8095,-0.178448)); + var_00.v["fxid"] = "spark_burst_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("spark_burst_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((249.069,-525.571,196.363),(29.8638,148.929,177.241)); + var_00.v["fxid"] = "spark_burst_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("spark_burst_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1087.56,-3345.35,331.563),(38.7734,144.722,-69.132)); + var_00.v["fxid"] = "spark_burst_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("brg_wind_blowing_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((692.182,-4726.43,434.478),(274.502,59.4635,-39.4858)); + var_00.v["fxid"] = "brg_wind_blowing_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createoneshoteffect("smoke_pillar_black_large_slow_lit"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1079.4,-1002.97,676.896),(270,0,0)); + var_00.v["fxid"] = "smoke_pillar_black_large_slow_lit"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("smoke_pillar_black_large_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((7160.5,-1819.06,351.965),(270,0,0)); + var_00.v["fxid"] = "smoke_pillar_black_large_slow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_blacksmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((628.023,-2960.26,227.115),(285.031,7.40478,79.5491)); + var_00.v["fxid"] = "fire_lp_m_blacksmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_m_blacksmk"); + var_00 common_scripts\_createfx::set_origin_and_angles((1312.88,-2934.45,170.962),(285.031,7.40478,79.5491)); + var_00.v["fxid"] = "fire_lp_m_blacksmk"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("battlefield_smoke_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((1761.82,-2924.92,173.293),(270,0,0)); + var_00.v["fxid"] = "battlefield_smoke_m"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createoneshoteffect("steam_med_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((468.366,-1890.39,123.439),(271,90.0158,-4.01635)); + var_00.v["fxid"] = "steam_med_slow"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("steam_med_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((278.225,-4429,135),(271,90.0158,-4.01635)); + var_00.v["fxid"] = "steam_med_slow"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("battlefield_smoke_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((3700.54,-1959.69,63.236),(270,0,0)); + var_00.v["fxid"] = "battlefield_smoke_m"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("battlefield_smoke_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((2591.11,-787.582,142.268),(270,0,0)); + var_00.v["fxid"] = "battlefield_smoke_m"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("battlefield_smoke_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((1618.81,-787.786,13.9319),(270,0,0)); + var_00.v["fxid"] = "battlefield_smoke_m"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("battlefield_smoke_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((1272.06,-1584.72,165.368),(270,0,0)); + var_00.v["fxid"] = "battlefield_smoke_m"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("battlefield_smoke_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((349.746,-3119.55,50.2283),(270,0,0)); + var_00.v["fxid"] = "battlefield_smoke_m"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1401.27,-3765.13,162.483),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1558.86,-3998.35,156.089),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1766.02,-3840.25,156.85),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1304.17,-4067.6,160.64),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1189.03,-3940.37,163.58),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1009.56,-3692.53,162.966),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((866.014,-3914.64,152),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((358.846,-4675.49,165.203),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((362.575,-3933.92,152),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1119.83,-2706.23,144.125),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1510.79,-3018.44,144.125),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1282.06,-3504.13,152),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1060.94,-3488.57,152),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1188.66,-3600.6,152),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((633.875,-4742.95,135.412),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("steam_med_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1082.48,-1102.32,125.206),(271,90.0158,-4.01635)); + var_00.v["fxid"] = "steam_med_slow"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createoneshoteffect("insects_light_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((1140.65,-914.613,355.603),(270,0,0)); + var_00.v["fxid"] = "insects_light_moths_complex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_light_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((-219.716,-814.618,372.175),(270,0,0)); + var_00.v["fxid"] = "insects_light_moths_complex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_light_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((1799.4,-553.313,369.499),(270,0,0)); + var_00.v["fxid"] = "insects_light_moths_complex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_light_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((68.9006,-3538.34,372.245),(270,0,0)); + var_00.v["fxid"] = "insects_light_moths_complex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_light_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((953.614,-4399.23,402.392),(270,0,0)); + var_00.v["fxid"] = "insects_light_moths_complex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_light_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((708.138,-862.57,177.63),(270,0,0)); + var_00.v["fxid"] = "insects_light_moths_complex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_light_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((1715.95,-2110.49,307.62),(270,0,0)); + var_00.v["fxid"] = "insects_light_moths_complex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_light_moths_complex"); + var_00 common_scripts\_createfx::set_origin_and_angles((1596.25,-1242.48,298.343),(270,0,0)); + var_00.v["fxid"] = "insects_light_moths_complex"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("battlefield_smoke_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((626.721,-1464.88,163.823),(270,0,0)); + var_00.v["fxid"] = "battlefield_smoke_m"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("steam_med_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1555.89,-3224.46,132.289),(271,90.0158,-4.01635)); + var_00.v["fxid"] = "steam_med_slow"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("steam_med_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((934.403,-2860.83,136.384),(271,90.0158,-4.01635)); + var_00.v["fxid"] = "steam_med_slow"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("steam_med_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1564.23,-2606.45,135.364),(271,90.0158,-4.01635)); + var_00.v["fxid"] = "steam_med_slow"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createoneshoteffect("fire_campfire_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((2045.62,-3938.15,159.56),(284.072,73.3601,-174.367)); + var_00.v["fxid"] = "fire_campfire_small"; + var_00.v["delay"] = -2; + var_00 = common_scripts\utility::createexploder("battlefield_smoke_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((2012.15,-4220.6,159.671),(270,0,0)); + var_00.v["fxid"] = "battlefield_smoke_m"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((486.699,-4021.99,152.125),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((849.446,-3979.69,152),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("spark_burst_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((526.667,-422.895,273.502),(61.9885,268.28,179.048)); + var_00.v["fxid"] = "spark_burst_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("spark_burst_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((668.013,-292.125,211.464),(78.372,252.348,-110.729)); + var_00.v["fxid"] = "spark_burst_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("spark_burst_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((170.92,-515.681,236.622),(29.8638,148.929,177.241)); + var_00.v["fxid"] = "spark_burst_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("steam_med_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((89.9635,-654.918,139.625),(271,90.0158,-4.01635)); + var_00.v["fxid"] = "steam_med_slow"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("steam_med_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1919.22,-942.921,-81.0148),(271,90.0158,-4.01635)); + var_00.v["fxid"] = "steam_med_slow"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("steam_med_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2331.42,-996.557,151.263),(271,90.0158,-4.01635)); + var_00.v["fxid"] = "steam_med_slow"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("steam_med_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2784.28,-1163.75,139.816),(271,90.0158,-4.01635)); + var_00.v["fxid"] = "steam_med_slow"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createoneshoteffect("spark_burst_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1426.95,-3949.08,351.875),(38.7734,144.722,-69.132)); + var_00.v["fxid"] = "spark_burst_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_campfire_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((312.978,-3357.47,44.7299),(275.531,53.6491,-154.964)); + var_00.v["fxid"] = "fire_campfire_small"; + var_00.v["delay"] = -4; + var_00 = common_scripts\utility::createoneshoteffect("fan_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((917.962,-3960.03,438.293),(270,0,0)); + var_00.v["fxid"] = "fan_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fan_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((1129.42,-4114.71,444.782),(0.681611,224.057,90.7315)); + var_00.v["fxid"] = "fan_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fan_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((1132.34,-4011.76,449.634),(357.831,166.332,-175.513)); + var_00.v["fxid"] = "fan_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fan_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((1152.88,-4092.25,448.724),(294.388,349.631,14.6427)); + var_00.v["fxid"] = "fan_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("steam_med_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1101.41,-4066.32,449.724),(271.005,262.007,-170.007)); + var_00.v["fxid"] = "steam_med_slow"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createoneshoteffect("fan_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((1149.68,-4052.57,449.152),(294.388,349.631,14.6427)); + var_00.v["fxid"] = "fan_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("spark_burst_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1053.85,-4009.19,375.414),(352.601,77.7107,-91.3044)); + var_00.v["fxid"] = "spark_burst_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((784.329,-4274.37,158.938),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("steam_med_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((358.996,-3331.52,61.2736),(339.799,76.7833,25.7839)); + var_00.v["fxid"] = "steam_med_slow"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createoneshoteffect("spark_burst_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1190.17,-4069.58,352.455),(46.2003,45.7976,-74.618)); + var_00.v["fxid"] = "spark_burst_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("spark_burst_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1187.82,-3879.15,341.297),(9.14292,277.757,-115.889)); + var_00.v["fxid"] = "spark_burst_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("brg_wind_blowing_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((498.738,-4061.65,394.606),(272,90,-17)); + var_00.v["fxid"] = "brg_wind_blowing_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("brg_wind_blowing_debris"); + var_00 common_scripts\_createfx::set_origin_and_angles((849.458,-2984.12,268.711),(272,90,-17)); + var_00.v["fxid"] = "brg_wind_blowing_debris"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((527.411,-399.273,270.5),(270,0,0)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((529.16,-454.855,270.5),(270,0,0)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((527.787,-426.922,271.042),(270,0,0)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("steam_med_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-97.0169,-406.882,131.012),(271,90.0158,-4.01635)); + var_00.v["fxid"] = "steam_med_slow"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((3156.27,-2119.24,42.1607),(270,0,0)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((2605.96,-2121.63,-37.125),(272,180,180)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_trickle_wide_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((2962.3,-2111,6.875),(270.073,314.863,46.0798)); + var_00.v["fxid"] = "falling_water_trickle_wide_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_trickle_wide_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((2931.57,-1585.7,-74.0584),(271,182.013,87.9838)); + var_00.v["fxid"] = "falling_water_trickle_wide_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((2738.42,-2858.29,-69.0976),(273.129,71.3392,-156.368)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((1721.42,-1950.47,-261.841),(272,180,89)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((1717.25,-1948.08,-172.795),(272,180,89)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((1712.21,-1944.25,-146.562),(272,180,89)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1168.35,-953.184,361.222),(30.817,170.617,3.46401)); + var_00.v["fxid"] = "lensflare_spot_1_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1180.5,-956.794,338.887),(35.8456,169.784,3.48567)); + var_00.v["fxid"] = "lensflare_spot_1a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1837.33,-532.785,350.322),(34.8967,242.58,4.33988)); + var_00.v["fxid"] = "lensflare_spot_1_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1829.34,-543.047,372.452),(32.9022,242.4,4.23934)); + var_00.v["fxid"] = "lensflare_spot_1a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1821.61,-552.588,393.634),(29.9101,242.145,4.10599)); + var_00.v["fxid"] = "lensflare_spot_1_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1816.27,-559.752,412.189),(25.9198,241.826,3.95692)); + var_00.v["fxid"] = "lensflare_spot_1a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1785.08,-539.465,411.264),(26.1806,235.154,1.02358)); + var_00.v["fxid"] = "lensflare_spot_1_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1790.56,-531.599,391.504),(29.18,235.215,1.05191)); + var_00.v["fxid"] = "lensflare_spot_1a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1797.57,-521.902,370.837),(33.1793,235.303,1.09735)); + var_00.v["fxid"] = "lensflare_spot_1_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1805.4,-512.01,349.315),(33.1794,235.303,1.09742)); + var_00.v["fxid"] = "lensflare_spot_1a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((790.15,-1997.34,345.4),(30.5325,207.938,-4.36418)); + var_00.v["fxid"] = "lensflare_spot_1_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((780.485,-2003.65,368.233),(28.5382,208.111,-4.27879)); + var_00.v["fxid"] = "lensflare_spot_1a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((771.197,-2009.11,389.805),(25.5463,208.359,-4.16605)); + var_00.v["fxid"] = "lensflare_spot_1_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((764.54,-2014.28,410.224),(22.554,208.595,-4.0699)); + var_00.v["fxid"] = "lensflare_spot_1a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((784.776,-2045.93,410.12),(21.5358,215.065,1.41314)); + var_00.v["fxid"] = "lensflare_spot_1_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((791.962,-2041.16,389.245),(23.5351,215.119,1.43376)); + var_00.v["fxid"] = "lensflare_spot_1a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((801.115,-2035.67,367.936),(29.5331,215.291,1.5107)); + var_00.v["fxid"] = "lensflare_spot_1_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((810.952,-2029.8,345.24),(30.5328,215.322,1.526)); + var_00.v["fxid"] = "lensflare_spot_1a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-245.147,-777.554,345.476),(30.9327,347.293,0.20266)); + var_00.v["fxid"] = "lensflare_spot_1a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-234.005,-780.865,368.408),(30.9326,347.292,0.202621)); + var_00.v["fxid"] = "lensflare_spot_1_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-223.525,-783.024,389.872),(25.9326,347.273,0.193236)); + var_00.v["fxid"] = "lensflare_spot_1a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-215.498,-785.053,410.035),(22.9325,347.262,0.188638)); + var_00.v["fxid"] = "lensflare_spot_1_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-223.738,-821.606,410.299),(22.8864,342.919,-1.5025)); + var_00.v["fxid"] = "lensflare_spot_1a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-232.156,-819.627,389.347),(25.8851,342.832,-1.53874)); + var_00.v["fxid"] = "lensflare_spot_1_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-242.383,-817.139,368.264),(29.8834,342.708,-1.59689)); + var_00.v["fxid"] = "lensflare_spot_1a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-253.67,-814.662,345.403),(30.8829,342.675,-1.61339)); + var_00.v["fxid"] = "lensflare_spot_1_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((8.05759,-3574.98,349.308),(29.4765,47.7384,-1.73219)); + var_00.v["fxid"] = "lensflare_spot_1_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((15.0062,-3565.71,372.227),(27.4773,47.8065,-1.69976)); + var_00.v["fxid"] = "lensflare_spot_1a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((21.373,-3557.05,393.748),(24.4785,47.9041,-1.65696)); + var_00.v["fxid"] = "lensflare_spot_1_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((26.7721,-3550.77,413.867),(21.4797,47.9971,-1.62066)); + var_00.v["fxid"] = "lensflare_spot_1a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3.58555,-3527.33,414.496),(21.4555,57.669,1.92624)); + var_00.v["fxid"] = "lensflare_spot_1_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8.45729,-3534.58,393.371),(25.4529,57.8174,1.98531)); + var_00.v["fxid"] = "lensflare_spot_1a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15.4233,-3542.68,372.04),(28.4511,57.9355,2.0389)); + var_00.v["fxid"] = "lensflare_spot_1_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22.5126,-3551.87,349.085),(31.4492,58.0607,2.10144)); + var_00.v["fxid"] = "lensflare_spot_1a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_stadium"); + var_00 common_scripts\_createfx::set_origin_and_angles((7013.76,-387.549,1189.8),(33.3475,217.733,-1.38035)); + var_00.v["fxid"] = "lensflare_stadium"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_stadium"); + var_00 common_scripts\_createfx::set_origin_and_angles((7046.04,-4076.53,1187.99),(37.7402,134.239,1.71936)); + var_00.v["fxid"] = "lensflare_stadium"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_flood_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((849.031,-3968.97,310.375),(89.219,130.58,39.5519)); + var_00.v["fxid"] = "lensflare_flood_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_flood_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((848.619,-4096.33,310.375),(89.219,130.58,39.5519)); + var_00.v["fxid"] = "lensflare_flood_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_flood_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((851.1,-3840,310.375),(89.219,130.58,39.5519)); + var_00.v["fxid"] = "lensflare_flood_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_flood_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((946.233,-4192.15,310.375),(89.219,130.58,39.5519)); + var_00.v["fxid"] = "lensflare_flood_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_flood_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((947.634,-4289.32,310.375),(89.219,130.58,39.5519)); + var_00.v["fxid"] = "lensflare_flood_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_flood_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((804.917,-3680.22,310.375),(89.219,130.58,39.5519)); + var_00.v["fxid"] = "lensflare_flood_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_flood_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((1026.07,-4392.55,290.814),(89.219,130.58,39.5519)); + var_00.v["fxid"] = "lensflare_flood_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_flood_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((960.149,-4393.28,290.735),(89.219,130.58,39.5519)); + var_00.v["fxid"] = "lensflare_flood_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_flood_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((890.5,-4393.03,291.67),(89.219,130.58,39.5519)); + var_00.v["fxid"] = "lensflare_flood_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_flood_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((1029.42,-4461.09,291.756),(89.219,130.58,39.5519)); + var_00.v["fxid"] = "lensflare_flood_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_flood_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((957.685,-4460.52,291.826),(89.219,130.58,39.5519)); + var_00.v["fxid"] = "lensflare_flood_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_flood_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((887.492,-4460.46,291.803),(89.219,130.58,39.5519)); + var_00.v["fxid"] = "lensflare_flood_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_flood_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((1252.73,-3514.28,291.795),(89.219,130.58,39.5519)); + var_00.v["fxid"] = "lensflare_flood_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_flood_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((1252.15,-3446.66,291.673),(89.219,130.58,39.5519)); + var_00.v["fxid"] = "lensflare_flood_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_flood_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((1184.48,-3446.38,291.669),(89.219,130.58,39.5519)); + var_00.v["fxid"] = "lensflare_flood_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_flood_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((1184.52,-3518.47,291.669),(89.219,130.58,39.5519)); + var_00.v["fxid"] = "lensflare_flood_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_flood_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((1116.7,-3515.24,291.671),(89.219,130.58,39.5519)); + var_00.v["fxid"] = "lensflare_flood_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_flood_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((1116.69,-3446.37,291.725),(89.219,130.58,39.5519)); + var_00.v["fxid"] = "lensflare_flood_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1703.97,-2157.85,296.464),(25.9689,65.5116,0.578149)); + var_00.v["fxid"] = "lensflare_spot_2_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1668.45,-2143.31,296.439),(25.9689,65.5116,0.578149)); + var_00.v["fxid"] = "lensflare_spot_2a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1668.11,-2142.66,306.698),(358.97,65.2486,0.519531)); + var_00.v["fxid"] = "lensflare_spot_2_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1703.93,-2158.38,306.783),(358.97,65.2486,0.519531)); + var_00.v["fxid"] = "lensflare_spot_2a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-69.6973,-3629.59,497.468),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-69.6137,-3296.97,497.553),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-69.6195,-3026.58,496.518),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((125.492,-3027.97,496.613),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((123.44,-2632.98,497.587),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((137.503,-4876.1,490.579),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((339.084,-4876.14,494.503),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((567.63,-4834.99,490.589),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((739.373,-4876.12,494.49),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((2110.44,-2822.56,562.079),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((1942.84,-2654.31,562.063),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((2148.31,-2448.43,561.742),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((2315.75,-2617.32,561.965),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-326.043,-1092.15,490.022),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1738.17,-2634.96,-18.884),(0.727615,137.391,0.169846)); + var_00.v["fxid"] = "lensflare_spot_2a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1719.75,-2655.37,-18.9441),(0.727615,137.391,0.169846)); + var_00.v["fxid"] = "lensflare_spot_2_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1719.82,-2655.38,-26.9201),(25.7272,137.471,0.188096)); + var_00.v["fxid"] = "lensflare_spot_2a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1738.17,-2635.01,-26.9328),(25.7272,137.471,0.188096)); + var_00.v["fxid"] = "lensflare_spot_2_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((258.581,-1714.82,-27.4066),(24.1676,313.632,-2.46214)); + var_00.v["fxid"] = "lensflare_spot_2_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((277.276,-1694.84,-27.3834),(24.284,320.211,0.239841)); + var_00.v["fxid"] = "lensflare_spot_2a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((277.408,-1694.76,-19.4389),(3.29951,319.32,-1.00705)); + var_00.v["fxid"] = "lensflare_spot_2_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((258.723,-1714.76,-19.4802),(5.19241,313.283,-1.03548)); + var_00.v["fxid"] = "lensflare_spot_2a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((222.32,-2470.53,58.8647),(3.90266,63.4063,0.534936)); + var_00.v["fxid"] = "lensflare_spot_2_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((244.921,-2486.2,60.5056),(5.01502,47.3951,0.265066)); + var_00.v["fxid"] = "lensflare_spot_2a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((222.402,-2471.44,50.8685),(26.8339,59.1634,2.95191)); + var_00.v["fxid"] = "lensflare_spot_2a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((244.897,-2487,52.7725),(26.6099,42.3591,-4.64791)); + var_00.v["fxid"] = "lensflare_spot_2_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1244.45,-2637.4,-91.3265),(22.6237,142.892,1.05359)); + var_00.v["fxid"] = "lensflare_spot_2_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1263.43,-2617.18,-91.4115),(22.4947,133.146,-2.69319)); + var_00.v["fxid"] = "lensflare_spot_2a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1263.39,-2617.21,-83.3381),(5.49832,130.763,-1.14921)); + var_00.v["fxid"] = "lensflare_spot_2_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1244.55,-2637.22,-83.5133),(3.71799,143.819,-0.778862)); + var_00.v["fxid"] = "lensflare_spot_2a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1005.44,-1690.4,-82.5177),(5.84639,262.947,0.883835)); + var_00.v["fxid"] = "lensflare_spot_2a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((977.835,-1686.33,-82.5834),(7.84595,262.978,0.887379)); + var_00.v["fxid"] = "lensflare_spot_2_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((977.503,-1687.2,-90.3713),(25.8436,263.283,0.976823)); + var_00.v["fxid"] = "lensflare_spot_2a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1005.05,-1690.34,-90.2559),(25.8436,263.283,0.976823)); + var_00.v["fxid"] = "lensflare_spot_2_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((1472.24,-1632.82,233.711),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((1473.73,-1596.24,473.808),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((1485.49,-1544.9,415.726),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((1500.88,-1492.1,476.815),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((1750.57,-1624.27,584.563),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((1753.32,-1489.84,568.101),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((-297.656,-1875.69,436.888),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-331.354,-1891.13,357.808),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-334.971,-1966.03,370.536),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-333.75,-1966.49,439.651),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((2266.46,-153.971,446.196),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((2274.51,-426.143,430.408),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((2332.4,-187.757,378.792),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((115.224,-2655.58,432.868),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((122.342,-2927.34,431.195),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((125.583,-2913.34,386.65),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((125.027,-2833.46,302.419),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((124.422,-2723.63,361.487),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((-67.0643,-3026.9,428.768),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((-57.9444,-3142.81,431.661),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((-42.5535,-2989.4,358.814),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((-89.8964,-3090.15,380.349),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-56.9661,-3424.36,275.295),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((-69.5594,-3314.33,428.137),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((-73.0367,-3589.83,423.017),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-62.8123,-3342.06,348.969),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-57.6621,-3588.74,312.05),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((-68.2936,-3482.99,337.427),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((905.418,-3569.34,228.713),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((988.729,-3589.39,253.055),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_5_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((873.954,-4361.78,372.302),(337.271,323.161,-4.40184)); + var_00.v["fxid"] = "lensflare_spot_5_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((1002.41,-4420.97,472.417),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((2125.67,-454.757,409.397),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((1750.34,-1567.05,534.733),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((1102.39,17.6292,454.09),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((1190.56,-28.735,375.596),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((2097.89,-384.147,568.129),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((1480.05,-1297.4,329.282),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((1607.45,-1167.07,342.403),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((54.1095,-4647.55,549.901),(74.6587,358.636,-1.62127)); + var_00.v["fxid"] = "lensflare_spot_2a_lg"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((69.5649,-4647.78,553.961),(74.6587,358.636,-1.62127)); + var_00.v["fxid"] = "lensflare_spot_2_lg"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((54.3115,-4363.71,549.954),(74.6587,358.636,-1.62127)); + var_00.v["fxid"] = "lensflare_spot_2a_lg"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((69.72,-4363.63,554.002),(74.6587,358.636,-1.62127)); + var_00.v["fxid"] = "lensflare_spot_2_lg"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((1236.51,-3876.15,363.139),(13.4993,335.717,0.949914)); + var_00.v["fxid"] = "godray_window_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1209.81,-1541.17,-40.2813),(20.9407,281.614,-0.765706)); + var_00.v["fxid"] = "lensflare_spot_2a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1182.6,-1545.83,-40.3969),(20.9407,281.614,-0.765706)); + var_00.v["fxid"] = "lensflare_spot_2_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1209.65,-1541.14,-32.3241),(7.94139,281.787,-0.722407)); + var_00.v["fxid"] = "lensflare_spot_2_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1182.47,-1545.92,-32.4893),(7.94139,281.787,-0.722407)); + var_00.v["fxid"] = "lensflare_spot_2a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((2163.76,-989.052,537.551),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((2509.67,-1126.77,549.199),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("water_pipe_gush_up"); + var_00 common_scripts\_createfx::set_origin_and_angles((1508.82,554.358,111.911),(270,0,-49)); + var_00.v["fxid"] = "water_pipe_gush_up"; + var_00.v["delay"] = 0; + var_00.v["platform"] = "ng"; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("water_pipe_gush_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((3779.86,-2059.2,131.586),(298,186,0)); + var_00.v["fxid"] = "water_pipe_gush_sm"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("water_pipe_gush_up"); + var_00 common_scripts\_createfx::set_origin_and_angles((369.869,-5355.86,125.688),(270,244.478,115.522)); + var_00.v["fxid"] = "water_pipe_gush_up"; + var_00.v["delay"] = 0; + var_00.v["platform"] = "ng"; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_trickle_wide_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((2675.85,-1590.1,-73.8262),(270,0,92)); + var_00.v["fxid"] = "falling_water_trickle_wide_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("falling_water_trickle_wide_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((2762.44,-1742.04,-75.4053),(270,0,92)); + var_00.v["fxid"] = "falling_water_trickle_wide_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((2308.27,-2425.54,-279.937),(270,0,179)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((2312.32,-1771.65,-276.652),(270,0,179)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((3168.56,-1504.86,-285.125),(270,0,179)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((2291.32,-2549.43,-277.152),(270,0,179)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((2289.44,-1977.17,-277.489),(270,0,179)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((2089.12,-1989.03,-263.125),(270,0,0)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((2070.72,-2456.99,-257.125),(270,0,0)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((1704.96,-2424.72,-262.125),(270,0,89)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((1695.96,-2159.46,-276.605),(270,0,89)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((1428.42,-2176.67,-256.125),(270,0,89)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((1428.42,-2176.67,-256.125),(270,0,89)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((2032.31,-2203.76,-260.125),(270,0,89)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createoneshoteffect("roaches_flock_scatter_radial"); + var_00 common_scripts\_createfx::set_origin_and_angles((3325.86,-1764.35,-383.875),(270,0,89)); + var_00.v["fxid"] = "roaches_flock_scatter_radial"; + var_00.v["delay"] = -12; + var_00 = common_scripts\utility::createoneshoteffect("roaches_flock_scatter_radial"); + var_00 common_scripts\_createfx::set_origin_and_angles((2723,-2183.89,-263.875),(270,0,89)); + var_00.v["fxid"] = "roaches_flock_scatter_radial"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roaches_flock_scatter_straight"); + var_00 common_scripts\_createfx::set_origin_and_angles((2585.93,-1755.32,-383.875),(270,0,4)); + var_00.v["fxid"] = "roaches_flock_scatter_straight"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("roaches_flock_scatter_straight"); + var_00 common_scripts\_createfx::set_origin_and_angles((2874.45,-1959.4,-383.875),(270,0,88)); + var_00.v["fxid"] = "roaches_flock_scatter_straight"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roaches_flock_scatter_radial"); + var_00 common_scripts\_createfx::set_origin_and_angles((1854.99,-2387.61,-207.875),(270,0,89)); + var_00.v["fxid"] = "roaches_flock_scatter_radial"; + var_00.v["delay"] = -2; + var_00 = common_scripts\utility::createoneshoteffect("roaches_flock_scatter_radial"); + var_00 common_scripts\_createfx::set_origin_and_angles((1884.54,-2582.06,-207.875),(270,0,89)); + var_00.v["fxid"] = "roaches_flock_scatter_radial"; + var_00.v["delay"] = -18; + var_00 = common_scripts\utility::createoneshoteffect("roaches_flock_scatter_radial"); + var_00 common_scripts\_createfx::set_origin_and_angles((2161.29,-2338.81,-207.875),(270,0,89)); + var_00.v["fxid"] = "roaches_flock_scatter_radial"; + var_00.v["delay"] = -8; + var_00 = common_scripts\utility::createoneshoteffect("roaches_flock_scatter_radial"); + var_00 common_scripts\_createfx::set_origin_and_angles((1602.8,-2582.39,-127.875),(270,0,89)); + var_00.v["fxid"] = "roaches_flock_scatter_radial"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("roaches_flock_scatter_radial"); + var_00 common_scripts\_createfx::set_origin_and_angles((1456.79,-1811.33,-127.875),(270,0,89)); + var_00.v["fxid"] = "roaches_flock_scatter_radial"; + var_00.v["delay"] = -3; + var_00 = common_scripts\utility::createoneshoteffect("roaches_flock_scatter_radial"); + var_00 common_scripts\_createfx::set_origin_and_angles((1430.22,-2127.24,-127.875),(270,0,89)); + var_00.v["fxid"] = "roaches_flock_scatter_radial"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("roaches_flock_scatter_radial"); + var_00 common_scripts\_createfx::set_origin_and_angles((1485.83,-2570.8,-127.875),(270,0,89)); + var_00.v["fxid"] = "roaches_flock_scatter_radial"; + var_00.v["delay"] = -11; + var_00 = common_scripts\utility::createoneshoteffect("roaches_flock_scatter_radial"); + var_00 common_scripts\_createfx::set_origin_and_angles((1411.02,-2769,-127.875),(270,0,89)); + var_00.v["fxid"] = "roaches_flock_scatter_radial"; + var_00.v["delay"] = -7; + var_00 = common_scripts\utility::createoneshoteffect("roaches_flock_scatter_radial"); + var_00 common_scripts\_createfx::set_origin_and_angles((1242.59,-2542.84,-191.875),(270,0,89)); + var_00.v["fxid"] = "roaches_flock_scatter_radial"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("roaches_flock_scatter_radial"); + var_00 common_scripts\_createfx::set_origin_and_angles((953.804,-2608.23,-191.875),(270,0,89)); + var_00.v["fxid"] = "roaches_flock_scatter_radial"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("roaches_flock_scatter_radial"); + var_00 common_scripts\_createfx::set_origin_and_angles((287.121,-1726.46,-127.493),(270,0,89)); + var_00.v["fxid"] = "roaches_flock_scatter_radial"; + var_00.v["delay"] = -17; + var_00 = common_scripts\utility::createoneshoteffect("roaches_flock_scatter_radial"); + var_00 common_scripts\_createfx::set_origin_and_angles((344.192,-2125.37,-91.1217),(276,88.9981,0)); + var_00.v["fxid"] = "roaches_flock_scatter_radial"; + var_00.v["delay"] = -12; + var_00 = common_scripts\utility::createoneshoteffect("roaches_flock_scatter_radial"); + var_00 common_scripts\_createfx::set_origin_and_angles((192.894,-2074.44,-97.9303),(276,88.9981,0)); + var_00.v["fxid"] = "roaches_flock_scatter_radial"; + var_00.v["delay"] = -25; + var_00 = common_scripts\utility::createoneshoteffect("roaches_flock_scatter_radial"); + var_00 common_scripts\_createfx::set_origin_and_angles((322.566,-2391.13,-60.0654),(276,88.9981,0)); + var_00.v["fxid"] = "roaches_flock_scatter_radial"; + var_00.v["delay"] = -11; + var_00 = common_scripts\utility::createoneshoteffect("rats_flock_runaway"); + var_00 common_scripts\_createfx::set_origin_and_angles((515.834,-2071.1,-98.3291),(0.529681,172.917,-82.1338)); + var_00.v["fxid"] = "rats_flock_runaway"; + var_00.v["delay"] = -7; + var_00 = common_scripts\utility::createoneshoteffect("rats_flock_runaway"); + var_00 common_scripts\_createfx::set_origin_and_angles((872.689,-2442.86,-190.875),(359.346,349.006,-89.0298)); + var_00.v["fxid"] = "rats_flock_runaway"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("rats_flock_runaway"); + var_00 common_scripts\_createfx::set_origin_and_angles((1773.05,-2357.36,-207.875),(359.383,6.00612,-90.2199)); + var_00.v["fxid"] = "rats_flock_runaway"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("rats_flock_runaway"); + var_00 common_scripts\_createfx::set_origin_and_angles((3315.72,-1945.69,-383.875),(358.93,69.0139,-90.4764)); + var_00.v["fxid"] = "rats_flock_runaway"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createexploder("fog_ambient_low_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((2803.19,-2480.98,-383.875),(270.528,331.53,-82.5065)); + var_00.v["fxid"] = "fog_ambient_low_tunnel"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("fog_ambient_low_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((2625.59,-2385.46,-383.875),(270.528,331.52,-150.497)); + var_00.v["fxid"] = "fog_ambient_low_tunnel"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("fog_ambient_low_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((2868.15,-1842.5,-383.875),(270.528,331.525,26.497)); + var_00.v["fxid"] = "fog_ambient_low_tunnel"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("fog_ambient_low_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((3111.21,-1310.22,-383.875),(270.528,331.523,-152.501)); + var_00.v["fxid"] = "fog_ambient_low_tunnel"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("fog_ambient_low_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((2741.53,-1363.02,-390.875),(270.528,331.526,-152.503)); + var_00.v["fxid"] = "fog_ambient_low_tunnel"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("fog_ambient_low_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((3178.99,-2734.44,-383.875),(270.528,331.525,148.497)); + var_00.v["fxid"] = "fog_ambient_low_tunnel"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("fog_ambient_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((2643.78,-1634.8,-256.875),(270.528,331.525,-61.5018)); + var_00.v["fxid"] = "fog_ambient_tunnel"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("fog_ambient_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((2674.72,-2619.12,-304.689),(270.528,331.525,-61.5018)); + var_00.v["fxid"] = "fog_ambient_tunnel"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("fog_ambient_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((3045.33,-2281.29,-339.875),(270.528,331.529,27.4935)); + var_00.v["fxid"] = "fog_ambient_tunnel"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("fog_ambient_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((2377.16,-2227.51,-362.875),(270.528,331.529,27.4935)); + var_00.v["fxid"] = "fog_ambient_tunnel"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("fog_ambient_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((1782.05,-1936.07,-366.022),(270.528,331.527,-53.5057)); + var_00.v["fxid"] = "fog_ambient_tunnel"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("fog_ambient_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((1854.72,-2483.63,-143.875),(270.528,331.53,9.49156)); + var_00.v["fxid"] = "fog_ambient_tunnel"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("fog_ambient_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((987.381,-2244.24,-179.875),(270.528,331.531,26.4899)); + var_00.v["fxid"] = "fog_ambient_tunnel"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("fog_ambient_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((374.141,-2082.54,-57.5557),(279.775,85.2755,-52.2142)); + var_00.v["fxid"] = "fog_ambient_tunnel"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("fog_ambient_low_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((357.075,-1877.09,-113.854),(276.988,93,-17.8592)); + var_00.v["fxid"] = "fog_ambient_low_tunnel"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("fog_ambient_low_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((470.65,-2334.62,-66.822),(276.988,93,-70.8589)); + var_00.v["fxid"] = "fog_ambient_low_tunnel"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("fog_ambient_low_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((882.876,-2450.42,-191.875),(270.297,75.2923,157)); + var_00.v["fxid"] = "fog_ambient_low_tunnel"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("fog_ambient_low_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((1910.58,-2618.84,-207.875),(270.297,75.2457,-163.953)); + var_00.v["fxid"] = "fog_ambient_low_tunnel"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("fog_ambient_low_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((1872.7,-2337.47,-207.875),(270.297,75.2457,-163.953)); + var_00.v["fxid"] = "fog_ambient_low_tunnel"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createoneshoteffect("fire_campfire_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((652.067,-2961.07,240.125),(272.243,17.1931,92.6392)); + var_00.v["fxid"] = "fire_campfire_small"; + var_00.v["delay"] = -6; + var_00 = common_scripts\utility::createoneshoteffect("fire_campfire_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((712.8,-1419.54,160.838),(271.177,226.321,-131.525)); + var_00.v["fxid"] = "fire_campfire_small"; + var_00.v["delay"] = -10; + var_00 = common_scripts\utility::createoneshoteffect("fire_campfire_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((647.539,-5266.73,175.623),(271.177,226.299,137.497)); + var_00.v["fxid"] = "fire_campfire_small"; + var_00.v["delay"] = -13; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("fire_campfire_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((479.467,-4578.05,147.895),(271.177,226.321,-131.525)); + var_00.v["fxid"] = "fire_campfire_small"; + var_00.v["delay"] = -14; + var_00 = common_scripts\utility::createoneshoteffect("fire_campfire_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((1312.59,-2910.43,178.125),(271.177,226.3,31.4954)); + var_00.v["fxid"] = "fire_campfire_small"; + var_00.v["delay"] = -16; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((1864.76,-1948.36,-262.125),(272,180,89)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((2680.54,-2778.39,-63.5084),(272,180,89)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((2409.77,-2772.36,-109.799),(272,180,177)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((2483.05,-2797.65,-57.9316),(272,180,89)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("fog_ambient_low_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((2880.65,-2301.63,-383.875),(270.528,331.52,-150.497)); + var_00.v["fxid"] = "fog_ambient_low_tunnel"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("fog_ambient_low_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((3201.76,-1569.44,-383.875),(270.528,331.52,-150.497)); + var_00.v["fxid"] = "fog_ambient_low_tunnel"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("fog_ambient_low_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((3352.87,-1583.41,-383.875),(270.528,331.52,-150.497)); + var_00.v["fxid"] = "fog_ambient_low_tunnel"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((2095.09,-2821.37,-98.2165),(8.12377,9.31776,0)); + var_00.v["fxid"] = "lensflare_spot_2a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((2089.38,-2794.43,-97.8824),(8.12377,9.31776,0)); + var_00.v["fxid"] = "lensflare_spot_2_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((2089.38,-2794.57,-105.906),(25.0819,14.6295,0.886487)); + var_00.v["fxid"] = "lensflare_spot_2a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((2094.87,-2821.29,-105.989),(25.0819,14.6295,0.886487)); + var_00.v["fxid"] = "lensflare_spot_2_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rats_flock_runaway"); + var_00 common_scripts\_createfx::set_origin_and_angles((1491.04,-2805.4,144.125),(359.45,107.015,-91.0338)); + var_00.v["fxid"] = "rats_flock_runaway"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createexploder("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2045.85,-3533.5,136.408),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1739.33,-4532.5,144),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1057.89,-3156.33,130.014),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((235.646,-3506.39,144.125),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((639.357,-4425.67,144.621),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1604.26,-3081.77,144.125),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1806.19,-3546.1,152),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((814.915,-2581.04,144),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1264.76,-1316,139),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((689.273,-1112.82,138.059),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((330.944,-1741.73,136),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-67.4847,-1977.75,136),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-127.603,-687.836,136),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((191.07,-1090.76,136),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((1074.58,-463.595,136.828),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((3240.52,-523.577,153.5),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2454.37,-749.456,159.5),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2669.35,-1581.37,145),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2522.14,-2474.9,153),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("trash_tornado_s_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((3158.67,-1577.44,154),(270,0,0)); + var_00.v["fxid"] = "trash_tornado_s_runner"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("dust_mote_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((1941.46,-1989.75,239.037),(270,0,0)); + var_00.v["fxid"] = "dust_mote_interior"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("dust_mote_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((2093.27,-1562.45,248.896),(270,0,0)); + var_00.v["fxid"] = "dust_mote_interior"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("dust_mote_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((1689.63,-1457,239.037),(270,0,0)); + var_00.v["fxid"] = "dust_mote_interior"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("dust_mote_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((531.178,-721.006,141.625),(270,0,0)); + var_00.v["fxid"] = "dust_mote_interior"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("dust_mote_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((503.809,-412.918,141.125),(270,0,0)); + var_00.v["fxid"] = "dust_mote_interior"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("dust_mote_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((3795.61,-974.323,222.228),(270,0,0)); + var_00.v["fxid"] = "dust_mote_interior"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("dust_mote_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((1455.94,-4115.81,152),(270,0,0)); + var_00.v["fxid"] = "dust_mote_interior"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("dust_mote_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((1219.63,-3776.38,152),(270,0,0)); + var_00.v["fxid"] = "dust_mote_interior"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("dust_mote_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((770.56,-3989.1,152.398),(270,0,0)); + var_00.v["fxid"] = "dust_mote_interior"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("fog_ambient_low_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((1778.29,-1876.42,-409.035),(278.792,267.396,-148.118)); + var_00.v["fxid"] = "fog_ambient_low_tunnel"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("fog_ambient_low_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((1928.12,-2100.19,-433.953),(270.702,340.612,82.545)); + var_00.v["fxid"] = "fog_ambient_low_tunnel"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("fog_ambient_low_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((1842.31,-2620.16,-426.903),(273.902,114.658,-143.304)); + var_00.v["fxid"] = "fog_ambient_low_tunnel"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("fog_ambient_low_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((1436.23,-2188.36,-423.547),(273.397,21.1609,-172.03)); + var_00.v["fxid"] = "fog_ambient_low_tunnel"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createoneshoteffect("fire_campfire_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((723.806,-3029.1,144.125),(284.072,73.3601,-174.367)); + var_00.v["fxid"] = "fire_campfire_small"; + var_00.v["delay"] = -6; + var_00 = common_scripts\utility::createexploder("fog_ambient_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((1766.25,-2437.11,-401.529),(270.528,331.527,-53.5057)); + var_00.v["fxid"] = "fog_ambient_tunnel"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("fog_ambient_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((1705.13,-1429.48,-92.875),(270.528,331.534,27.4863)); + var_00.v["fxid"] = "fog_ambient_tunnel"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("fog_ambient_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((1710.81,-1856.72,-105.875),(270.528,331.534,27.4863)); + var_00.v["fxid"] = "fog_ambient_tunnel"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((2079.1,-2410.22,-86.7007),(271,357.953,1.99287)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((1665.52,-2411.82,-2.74915),(271,357.953,1.99287)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((1665.52,-2411.82,-2.74915),(271,357.953,1.99287)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((1820.46,-2606.06,-12.7063),(271,357.953,1.99287)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((1485.07,-2382.5,4.37231),(271,357.953,1.99287)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((1233.44,-2007.19,2.17791),(271,357.953,1.99287)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((1337.16,-1817.05,-9.5659),(271,357.953,1.99287)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((1359.04,-2007.41,-9.62161),(271,357.953,1.99287)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((1102.06,-2553.03,-74.4341),(271,357.953,1.99287)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((918.01,-1904.61,-74.3946),(271,357.953,1.99287)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((394.971,-1739.8,-10.2649),(271,357.953,1.99287)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("steam_med_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((3655.96,-1517.39,143.723),(271,90.0158,-4.01635)); + var_00.v["fxid"] = "steam_med_slow"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createoneshoteffect("clouds_sun_overlay"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11529.6,4934.45,1917.13),(89.4078,351.454,-141.554)); + var_00.v["fxid"] = "clouds_sun_overlay"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("steam_vent_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((923.865,-1842.33,-195),(271,90.0158,-4.01635)); + var_00.v["fxid"] = "steam_vent_small"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("steam_vent_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((868.445,-2439.37,-189.875),(271,90.0518,-179.054)); + var_00.v["fxid"] = "steam_vent_small"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("steam_vent_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((1015.4,-2627.81,-196),(271,90.0702,-90.0726)); + var_00.v["fxid"] = "steam_vent_small"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("steam_vent_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((1158.62,-2628.45,-194),(271,90.0702,-90.0726)); + var_00.v["fxid"] = "steam_vent_small"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("steam_vent_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((1342.39,-2071.15,-131),(271,90.0702,-90.0726)); + var_00.v["fxid"] = "steam_vent_small"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("steam_med_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1162.43,-2087.28,-112.878),(271,90.0864,177.911)); + var_00.v["fxid"] = "steam_med_slow"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("steam_med_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1162.44,-1875.32,-122.014),(271,90.0864,177.911)); + var_00.v["fxid"] = "steam_med_slow"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("steam_vent_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((1404.3,-2486.73,-127.875),(271,90.0976,178.899)); + var_00.v["fxid"] = "steam_vent_small"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("steam_vent_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((1402.38,-2331.02,-127.875),(271,90.0976,178.899)); + var_00.v["fxid"] = "steam_vent_small"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("steam_med_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((2734.35,-2883.16,-262.027),(271,90.1194,-78.1227)); + var_00.v["fxid"] = "steam_med_slow"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_3_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((3965.34,-2122.87,-9.39972),(90,180,0)); + var_00.v["fxid"] = "lensflare_spot_3_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("fog_ambient_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((3945.43,-2129.65,-572),(270.528,331.529,27.4935)); + var_00.v["fxid"] = "fog_ambient_tunnel"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((3644.28,-2107.44,-338.125),(270,0,179)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((3937.76,-1908.68,-248),(270,0,-82)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((3948.42,-2313.76,-229),(270,0,-82)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createoneshoteffect("water_curtain"); + var_00 common_scripts\_createfx::set_origin_and_angles((3129.07,-2111.51,-220.552),(0.109048,180.367,0.947086)); + var_00.v["fxid"] = "water_curtain"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((3124.1,-2110.4,-387.35),(270.528,331.531,117.49)); + var_00.v["fxid"] = "water_curtain_splash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((3125.58,-2150.52,-387.35),(270.528,331.531,117.49)); + var_00.v["fxid"] = "water_curtain_splash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((3128.88,-2061.41,-387.35),(270.528,331.531,117.49)); + var_00.v["fxid"] = "water_curtain_splash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((2081.49,-1959.49,-273.543),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_2"); + var_00 common_scripts\_createfx::set_origin_and_angles((2082.34,-2524.43,-274.42),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_stadium2"); + var_00 common_scripts\_createfx::set_origin_and_angles((3824.1,-203.273,1177.78),(33.3475,217.733,-1.38035)); + var_00.v["fxid"] = "lensflare_stadium2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1189.51,-919.819,339.499),(30.817,170.617,3.46401)); + var_00.v["fxid"] = "lensflare_spot_1_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1179.48,-916.396,361.557),(30.817,170.617,3.46401)); + var_00.v["fxid"] = "lensflare_spot_1a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1168.49,-913.891,383.334),(27.8222,170.412,3.36351)); + var_00.v["fxid"] = "lensflare_spot_1_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1160.73,-911.221,402.446),(23.8288,170.156,3.25161)); + var_00.v["fxid"] = "lensflare_spot_1a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1150.45,-948.426,403.183),(23.8288,170.156,3.25161)); + var_00.v["fxid"] = "lensflare_spot_1_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1158.63,-950.225,382.814),(27.8222,170.412,3.36364)); + var_00.v["fxid"] = "lensflare_spot_1a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_4_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((2897.77,-1002.28,403.976),(23.6849,154.999,-5.15389)); + var_00.v["fxid"] = "lensflare_spot_4_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_4_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((2908.19,-1427.93,407.867),(22.5153,203.986,-10.0095)); + var_00.v["fxid"] = "lensflare_spot_4_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((2374.44,-472.158,570.986),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((2524.61,-366.574,571.36),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((2729.53,-368.582,500.366),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((2931.65,-907.738,505.291),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((2931.55,-1408.94,505.621),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((3337.33,-1409.38,505.667),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((3796.33,-1515.41,427.77),(19.4736,176.285,0.966122)); + var_00.v["fxid"] = "lensflare_spot_1a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((3794.06,-1553.09,427.825),(19.4736,176.285,0.966122)); + var_00.v["fxid"] = "lensflare_spot_1_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((3802.31,-1554.1,407.592),(22.4731,176.34,0.985639)); + var_00.v["fxid"] = "lensflare_spot_1a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((3804.52,-1515.79,407.739),(23.4729,176.358,0.992959)); + var_00.v["fxid"] = "lensflare_spot_1_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((3815.28,-1516.59,386.048),(29.472,176.478,1.04602)); + var_00.v["fxid"] = "lensflare_spot_1a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((3813.03,-1555.2,385.972),(29.4719,176.477,1.04536)); + var_00.v["fxid"] = "lensflare_spot_1_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((3824.5,-1554.86,363.359),(28.4721,176.457,1.03596)); + var_00.v["fxid"] = "lensflare_spot_1a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((3827.08,-1516.46,362.814),(26.4725,176.416,1.01737)); + var_00.v["fxid"] = "lensflare_spot_1_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((3711.74,-2281.69,413.772),(22.0879,121.35,-0.392448)); + var_00.v["fxid"] = "lensflare_spot_1a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((3678.97,-2301.06,414.403),(22.0879,121.35,-0.392448)); + var_00.v["fxid"] = "lensflare_spot_1_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((3682.53,-2307.79,393.472),(24.0878,121.335,-0.398367)); + var_00.v["fxid"] = "lensflare_spot_1a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((3716.03,-2288.81,393.496),(25.0878,121.327,-0.401623)); + var_00.v["fxid"] = "lensflare_spot_1_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((3720.45,-2296.24,372.103),(26.0877,121.319,-0.405017)); + var_00.v["fxid"] = "lensflare_spot_1a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((3687.95,-2316.62,372.564),(28.0876,121.303,-0.412388)); + var_00.v["fxid"] = "lensflare_spot_1_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((3694.05,-2326.56,349.591),(22.0879,121.35,-0.392448)); + var_00.v["fxid"] = "lensflare_spot_1a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_1_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((3725.79,-2307.55,348.598),(22.0879,121.35,-0.392448)); + var_00.v["fxid"] = "lensflare_spot_1_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1594.44,-1213.73,307.139),(359.502,352.393,-0.5567)); + var_00.v["fxid"] = "lensflare_spot_2_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1588.74,-1253.83,306.808),(359.502,352.393,-0.5567)); + var_00.v["fxid"] = "lensflare_spot_2a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1588.56,-1253.36,296.021),(23.5011,352.147,-0.606896)); + var_00.v["fxid"] = "lensflare_spot_2_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_2a_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1594.17,-1214.74,295.961),(23.5011,352.147,-0.606896)); + var_00.v["fxid"] = "lensflare_spot_2a_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-362.613,-726.142,488.585),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((1435.4,-457.353,485.483),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((1821.4,-457.902,493.541),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((2030.63,-463.886,615.492),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((2030.34,-131.468,615.523),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((2931.32,-378.165,504.336),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((3872.38,-1410.13,512.334),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((3539.87,-702.039,513.894),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((3872.1,-702.07,514.036),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((3872,-559.842,504.543),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((3872.02,-360.658,504.421),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((2681.96,-1811.05,497.08),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((2681.92,-2012.22,496.961),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((2733.32,-2729.2,496.413),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((3342.09,-2395.44,511.543),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((3743.75,-2400.64,512.544),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((3816.12,-2211.31,512.455),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((3873.49,-1612.3,512.432),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((3223.27,-1767.48,503.53),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((1126.15,49.7813,489.564),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((855.977,-3854.4,630.42),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((1009.66,-3854.62,630.328),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((1154.14,-3853.44,630.373),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((1153.79,-3985.6,630.308),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((1154.03,-4139.56,630.443),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((1069.85,-4139.58,630.354),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((856.01,-4139.48,630.478),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((855.935,-3986.45,630.423),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("dust_mote_interior"); + var_00 common_scripts\_createfx::set_origin_and_angles((3102.53,-2400.93,196),(270,0,0)); + var_00.v["fxid"] = "dust_mote_interior"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_4_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((3335.3,-2611.19,652.736),(34.8332,131.636,2.68184)); + var_00.v["fxid"] = "lensflare_spot_4_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((1433.03,-458.158,437.129),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((2576.44,-1076.52,156.58),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((2379.99,-821.939,163.248),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("insects_flies_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((2379.99,-821.939,163.248),(270,0,0)); + var_00.v["fxid"] = "insects_flies_landing"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-385.963,-1450.95,488.598),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-385.962,-1450.95,488.599),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("fog_ambient_low_tunnel"); + var_00 common_scripts\_createfx::set_origin_and_angles((2616.98,-1868.44,-383.875),(270.528,331.525,26.497)); + var_00.v["fxid"] = "fog_ambient_low_tunnel"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((3107.7,-2291.49,313.46),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((3158.43,-2301.42,323.461),(52.3645,120.987,146.331)); + var_00.v["fxid"] = "godray_window_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((3093.64,-2302.33,318.875),(52.3645,120.986,164.331)); + var_00.v["fxid"] = "godray_window_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((3035.65,-2309.03,322.875),(52.3645,120.986,150.331)); + var_00.v["fxid"] = "godray_window_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((3227.15,-2517.65,324.463),(58.2434,143.478,164.923)); + var_00.v["fxid"] = "godray_window_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2962.05,-2512.61,319.972),(45.3148,157.607,171.702)); + var_00.v["fxid"] = "godray_window_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2978.5,-2574.23,317.846),(48.6026,161.471,175.022)); + var_00.v["fxid"] = "godray_window_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((3616.94,-790.685,328.469),(50.6639,262.65,-160.13)); + var_00.v["fxid"] = "godray_window_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((3662.29,-791.419,329.745),(50.6639,262.65,-160.13)); + var_00.v["fxid"] = "godray_window_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((941.148,-4876.03,500.531),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((3840.74,-1020.92,927.086),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((3895.43,-1052.34,926.928),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((3841.8,-840.141,925.825),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((3899.21,-818.06,926.818),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((3903.24,-2250.46,589.914),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((3837.6,-2420.6,589.691),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_area_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((3837.6,-2420.6,589.691),(270.591,171.509,-80.4988)); + var_00.v["fxid"] = "lensflare_area_1"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2978.93,-2635.55,324.963),(48.8932,167.492,178.772)); + var_00.v["fxid"] = "godray_window_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("falling_water_trickle_wide"); + var_00 common_scripts\_createfx::set_origin_and_angles((3776.69,-2066.42,119.801),(270,0,179)); + var_00.v["fxid"] = "falling_water_trickle_wide"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((1136.35,-3918.12,579.958),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_large_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((1168.41,-3931.36,495.515),(10.4998,335.667,0.939427)); + var_00.v["fxid"] = "godray_window_large_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_tower"); + var_00 common_scripts\_createfx::set_origin_and_angles((3845.18,-2299.81,701.433),(0.319462,78.5412,0.511151)); + var_00.v["fxid"] = "lensflare_spot_tower"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_tower"); + var_00 common_scripts\_createfx::set_origin_and_angles((3827.28,-2352.15,701.407),(359.525,238.541,-0.371521)); + var_00.v["fxid"] = "lensflare_spot_tower"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_tower"); + var_00 common_scripts\_createfx::set_origin_and_angles((3962.98,-1087.92,1038.92),(359.403,190.539,0)); + var_00.v["fxid"] = "lensflare_spot_tower"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_tower"); + var_00 common_scripts\_createfx::set_origin_and_angles((3805.52,-963.906,1038.32),(359.698,260.54,-0.521595)); + var_00.v["fxid"] = "lensflare_spot_tower"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_tower"); + var_00 common_scripts\_createfx::set_origin_and_angles((3805.76,-905.654,1038.86),(0.114838,99.5397,0.591434)); + var_00.v["fxid"] = "lensflare_spot_tower"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_tower"); + var_00 common_scripts\_createfx::set_origin_and_angles((3956.24,-782.832,1038.24),(359.483,169.537,0.309712)); + var_00.v["fxid"] = "lensflare_spot_tower"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_tower"); + var_00 common_scripts\_createfx::set_origin_and_angles((2451.05,-460.991,685.761),(359.454,225.541,-0.255162)); + var_00.v["fxid"] = "lensflare_spot_tower"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_tower"); + var_00 common_scripts\_createfx::set_origin_and_angles((2497.56,-426.187,685.505),(0.600145,25.5393,0)); + var_00.v["fxid"] = "lensflare_spot_tower"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("water_curtain_slide"); + var_00 common_scripts\_createfx::set_origin_and_angles((3466.37,-2116.82,-109.924),(287.105,180,0)); + var_00.v["fxid"] = "water_curtain_slide"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sign_grid_scanning"); + var_00 common_scripts\_createfx::set_origin_and_angles((2738.41,-1269.37,353.812),(0.109048,180.367,0.947086)); + var_00.v["fxid"] = "sign_grid_scanning"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sign_grid_scanning"); + var_00 common_scripts\_createfx::set_origin_and_angles((2705.61,-1269.21,353.903),(0.109048,180.367,0.947086)); + var_00.v["fxid"] = "sign_grid_scanning"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sign_grid_scanning"); + var_00 common_scripts\_createfx::set_origin_and_angles((2480.64,-344.339,425.315),(0.845715,124.369,0.439136)); + var_00.v["fxid"] = "sign_grid_scanning"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("sign_grid_scanning"); + var_00 common_scripts\_createfx::set_origin_and_angles((2367.74,-423.255,425.013),(0.845715,124.369,0.439136)); + var_00.v["fxid"] = "sign_grid_scanning"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("steam_med_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1623.46,-1786.62,-121.875),(271,90.0864,177.911)); + var_00.v["fxid"] = "steam_med_slow"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("steam_med_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1804.22,-1360.81,-121.875),(271.388,44.0281,46.9596)); + var_00.v["fxid"] = "steam_med_slow"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createoneshoteffect("godray_window_sm2"); + var_00 common_scripts\_createfx::set_origin_and_angles((2736.57,-2894.13,-92.6683),(89.2818,209.177,-152.96)); + var_00.v["fxid"] = "godray_window_sm2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_6_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((2744.38,-1724.37,-284.381),(28.4957,89.018,-1.05677)); + var_00.v["fxid"] = "lensflare_spot_6_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("candle_flame"); + var_00 common_scripts\_createfx::set_origin_and_angles((3897.72,-2047.27,-519.033),(270.528,331.529,27.4935)); + var_00.v["fxid"] = "candle_flame"; + var_00.v["delay"] = -1; + var_00 = common_scripts\utility::createoneshoteffect("candle_flame"); + var_00 common_scripts\_createfx::set_origin_and_angles((3883.19,-2184.78,-519.207),(270.528,331.529,27.4935)); + var_00.v["fxid"] = "candle_flame"; + var_00.v["delay"] = -3; + var_00 = common_scripts\utility::createoneshoteffect("candle_flame"); + var_00 common_scripts\_createfx::set_origin_and_angles((4007.17,-2047.26,-519.359),(270.528,331.529,27.4935)); + var_00.v["fxid"] = "candle_flame"; + var_00.v["delay"] = -5; + var_00 = common_scripts\utility::createoneshoteffect("candle_flame"); + var_00 common_scripts\_createfx::set_origin_and_angles((4006.14,-2202.37,-519.19),(270.528,331.529,27.4935)); + var_00.v["fxid"] = "candle_flame"; + var_00.v["delay"] = -11; + var_00 = common_scripts\utility::createoneshoteffect("candle_flame"); + var_00 common_scripts\_createfx::set_origin_and_angles((4038.17,-2151.74,-519.383),(270.528,331.529,27.4935)); + var_00.v["fxid"] = "candle_flame"; + var_00.v["delay"] = -7; + var_00 = common_scripts\utility::createoneshoteffect("candle_flame"); + var_00 common_scripts\_createfx::set_origin_and_angles((3946.16,-2034.39,-519.099),(270.528,331.529,27.4935)); + var_00.v["fxid"] = "candle_flame"; + var_00.v["delay"] = -9; + var_00 = common_scripts\utility::createoneshoteffect("candle_flame"); + var_00 common_scripts\_createfx::set_origin_and_angles((3960.66,-2217.31,-519.279),(270.528,331.529,27.4935)); + var_00.v["fxid"] = "candle_flame"; + var_00.v["delay"] = -9; + var_00 = common_scripts\utility::createoneshoteffect("lensflare_spot_6_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((2240.02,-1965.76,-281.413),(89.1652,146.677,-31.4772)); + var_00.v["fxid"] = "lensflare_spot_6_lg"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "cg"; + var_00 = common_scripts\utility::createoneshoteffect("fire_oil_tanker_drips"); + var_00 common_scripts\_createfx::set_origin_and_angles((44.3684,-1399.08,134.418),(359,273,1)); + var_00.v["fxid"] = "fire_oil_tanker_drips"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("mist_puddles"); + var_00 common_scripts\_createfx::set_origin_and_angles((392.278,-1350.11,298.696),(270,0,88)); + var_00.v["fxid"] = "mist_puddles"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("mist_puddles"); + var_00 common_scripts\_createfx::set_origin_and_angles((185.7,-987.068,298),(270,0,88)); + var_00.v["fxid"] = "mist_puddles"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("mist_puddles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1104.33,-955.971,146.868),(270,0,88)); + var_00.v["fxid"] = "mist_puddles"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\utility::createexploder("mist_puddles"); + var_00 common_scripts\_createfx::set_origin_and_angles((517.6,-1086.67,130.125),(270,0,88)); + var_00.v["fxid"] = "mist_puddles"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "7"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2327.4,-494.065,344.106),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "perimeter_fence"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2835.66,-359.592,326.291),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 18; + var_00.v["soundalias"] = "perimeter_fence"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3868.64,-555.268,358.864),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_fence"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3215.95,-379.909,383.767),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 18; + var_00.v["soundalias"] = "perimeter_fence"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3519.17,-939.177,334.029),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_fence"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3712.33,-1626.04,406.718),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_fence"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3544.14,-2389.79,370.791),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_fence"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1726.71,-485.24,207.975),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 9; + var_00.v["soundalias"] = "perimeter_fence"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1268.48,-248.305,290.373),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_fence"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((850.255,-988.527,379.394),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_fence"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((161.32,-857.306,358.455),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_fence"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((64.5235,-271.192,339.625),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_fence"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-318.336,-1288.32,356.727),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_fence"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-318.924,-2043.21,355.332),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_fence"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((136.189,-2857.96,165.125),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_fence"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-52.3905,-3420.54,347.904),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_fence"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((247.374,-4876.68,382.786),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_fence"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2242.61,-3984.94,286.031),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_fence"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2703.96,-2005.13,327.876),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_fence"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2658.75,-2715.94,331.314),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_fence"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1006.68,-3836.62,474.263),(270,0,0)); + var_00.v["delay_min"] = 8; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "perimeter_fence"; + var_00 = common_scripts\_createfx::createdynamicambience(); + var_00 common_scripts\_createfx::set_origin_and_angles((1311.43,-3943.92,163.634),(270,0,0)); + var_00.v["ambiencename"] = "damb_int_burgertown_debris"; + var_00.v["dynamic_distance"] = 250; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3117,-2107,-347),(270,0,0)); + var_00.v["soundalias"] = "sewer_waterfall_lp"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_zombie_h2o_fx.gsc b/AW/PC/maps/createfx/mp_zombie_h2o_fx.gsc new file mode 100644 index 0000000..04c1643 --- /dev/null +++ b/AW/PC/maps/createfx/mp_zombie_h2o_fx.gsc @@ -0,0 +1,3095 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_zombie_h2o_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 143 ms + * Timestamp: 4/22/2024 2:07:53 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((7201,-25069,1710),(270,0,0)); + var_00.v["soundalias"] = "amb_zmb_h2o_ext_front"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-183,4255,1666),(270,0,0)); + var_00.v["soundalias"] = "amb_zmb_h2o_ext_rear"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((7036,-22486,20),(270,0,0)); + var_00.v["soundalias"] = "ee_fire_loop"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6778,-22775,20),(270,0,0)); + var_00.v["soundalias"] = "ee_fire_loop_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-611.001,-96.0078,763.125),(270,0,0)); + var_00.v["soundalias"] = "h2o_int_door_rain"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((352.09,-89.2213,760.625),(270,0,0)); + var_00.v["soundalias"] = "h2o_int_door_rain"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-644.909,562.819,200.903),(270,0,0)); + var_00.v["soundalias"] = "h2o_roomtone_mid_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1016.58,1285.95,200.809),(270,0,0)); + var_00.v["soundalias"] = "h2o_roomtone_mid_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1022.26,2017.1,155.809),(270,0,0)); + var_00.v["soundalias"] = "h2o_roomtone_mid_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2299.34,1678.83,160.875),(270,0,0)); + var_00.v["soundalias"] = "h2o_roomtone_mid_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1672.77,772.701,140.398),(270,0,0)); + var_00.v["soundalias"] = "h2o_roomtone_mid_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((641.915,491.952,267.875),(270,0,0)); + var_00.v["soundalias"] = "h2o_roomtone_mid_06"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1263.96,835.886,321),(270,0,0)); + var_00.v["soundalias"] = "h2o_roomtone_mid_07"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((889.75,588.678,211.875),(270,0,0)); + var_00.v["soundalias"] = "h2o_roomtone_mid_08"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1010.46,2072.61,146.875),(270,0,0)); + var_00.v["soundalias"] = "h2o_roomtone_low_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1769.69,2105.46,151.875),(270,0,0)); + var_00.v["soundalias"] = "h2o_roomtone_low_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2324.89,2831.87,169.64),(270,0,0)); + var_00.v["soundalias"] = "h2o_roomtone_low_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1880.1,3053.85,169.035),(270,0,0)); + var_00.v["soundalias"] = "h2o_roomtone_low_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1247.54,2847.76,161.875),(270,0,0)); + var_00.v["soundalias"] = "h2o_roomtone_low_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((91.1141,2927.49,284.915),(270,0,0)); + var_00.v["soundalias"] = "h2o_roomtone_low_06"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-149.577,3761.63,258),(270,0,0)); + var_00.v["soundalias"] = "h2o_roomtone_low_07"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-765.413,3913.87,349),(270,0,0)); + var_00.v["soundalias"] = "h2o_roomtone_low_08"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1085.64,4351,345.193),(270,0,0)); + var_00.v["soundalias"] = "h2o_roomtone_high_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1658.69,4895.75,624.875),(270,0,0)); + var_00.v["soundalias"] = "h2o_roomtone_high_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((892.267,1627.63,157.193),(270,0,0)); + var_00.v["soundalias"] = "h2o_roomtone_high_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2361.56,721.31,146.875),(270,0,0)); + var_00.v["soundalias"] = "h2o_roomtone_high_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-73.889,722.819,95.3505),(270,0,0)); + var_00.v["soundalias"] = "h2o_bubbles_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-71.2447,409.643,90.4404),(270,0,0)); + var_00.v["soundalias"] = "h2o_bubbles_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1482.76,174.693,231.07),(270,0,0)); + var_00.v["soundalias"] = "h2o_bubbles_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1466.56,1018.92,223.053),(270,0,0)); + var_00.v["soundalias"] = "h2o_bubbles_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1194.86,1146.97,206.81),(270,0,0)); + var_00.v["soundalias"] = "h2o_bubbles_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-841.083,1129.22,203.838),(270,0,0)); + var_00.v["soundalias"] = "h2o_bubbles_06"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1775,699,80),(270,0,0)); + var_00.v["soundalias"] = "h2o_bubbles_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1428,754,80),(270,0,0)); + var_00.v["soundalias"] = "h2o_bubbles_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1641.83,703.378,104),(270,0,0)); + var_00.v["soundalias"] = "h2o_bubbles_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2073.02,675.739,90.0292),(270,0,0)); + var_00.v["soundalias"] = "h2o_bubbles_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-13.0089,2910.85,-30),(270,0,0)); + var_00.v["soundalias"] = "h2o_bubbles_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-282.83,2936.96,-55),(270,0,0)); + var_00.v["soundalias"] = "h2o_bubbles_06"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((157.407,3207.76,59.7401),(270,0,0)); + var_00.v["soundalias"] = "h2o_bubbles_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-398.033,3249.42,72.7235),(270,0,0)); + var_00.v["soundalias"] = "h2o_bubbles_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-992.272,4448.32,294.585),(270,0,0)); + var_00.v["soundalias"] = "h2o_bubbles_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1189.78,4257,290.427),(270,0,0)); + var_00.v["soundalias"] = "h2o_bubbles_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1035.02,1584.41,100.198),(270,0,0)); + var_00.v["soundalias"] = "h2o_bubbles_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((761.281,1584.66,105.608),(270,0,0)); + var_00.v["soundalias"] = "h2o_bubbles_06"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2543.5,3097.23,31),(270,0,0)); + var_00.v["soundalias"] = "h2o_bubbles_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2500.18,2560.42,42),(270,0,0)); + var_00.v["soundalias"] = "h2o_bubbles_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2079.04,2034.34,-45.5348),(270,0,0)); + var_00.v["soundalias"] = "h2o_spa_room_water"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2426.27,953.279,-2.875),(270,0,0)); + var_00.v["soundalias"] = "h2o_spa_room_water"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1969.57,1521.95,-27.6844),(270,0,0)); + var_00.v["soundalias"] = "h2o_spa_room_water"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2557.97,1641.44,-36.8941),(270,0,0)); + var_00.v["soundalias"] = "h2o_spa_room_water"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1427.2,4794.88,754.125),(270,0,0)); + var_00.v["soundalias"] = "h2o_int_door_rain"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1080.56,466.185,93.1263),(270,0,0)); + var_00.v["soundalias"] = "h2o_waterfall"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1084.86,683.324,98.7904),(270,0,0)); + var_00.v["soundalias"] = "h2o_waterfall"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1005.21,2838.49,-48.875),(270,0,0)); + var_00.v["soundalias"] = "h2o_transit_station_amb"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-603.75,283.119,132.803),(270,0,0)); + var_00.v["soundalias"] = "h2o_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-435.577,1188.32,136),(270,0,0)); + var_00.v["soundalias"] = "h2o_vent_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-673.997,2989.54,-37.0136),(270,0,0)); + var_00.v["soundalias"] = "h2o_vent_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((412.124,3026.37,-50.125),(270,0,0)); + var_00.v["soundalias"] = "h2o_vent_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((351.91,236.149,123.413),(270,0,0)); + var_00.v["soundalias"] = "h2o_vent_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1185,571.782,312.651),(270,0,0)); + var_00.v["soundalias"] = "h2o_vent_06"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1411.52,2263.22,160.1),(270,0,0)); + var_00.v["soundalias"] = "h2o_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1165.2,2996.47,131.375),(270,0,0)); + var_00.v["soundalias"] = "h2o_vent_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2127.1,2829.87,116.586),(270,0,0)); + var_00.v["soundalias"] = "h2o_vent_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-94.0657,3890.04,309),(270,0,0)); + var_00.v["soundalias"] = "h2o_vent_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1422.33,4678.56,358.83),(270,0,0)); + var_00.v["soundalias"] = "h2o_vent_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1028.67,934.059,103.944),(270,0,0)); + var_00.v["soundalias"] = "h2o_waterfall"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2249.63,2592.81,85.9),(270,0,0)); + var_00.v["soundalias"] = "h2o_water_column"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2253.13,3058.66,89.1751),(270,0,0)); + var_00.v["soundalias"] = "h2o_water_column"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((10,96,728),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-48,-284,797),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1464,1995,36),(270,0,0)); + var_00.v["soundalias"] = "h2o_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2020,5259,435),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1268,5282,435),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((455.083,629.878,20.9973),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1056.1,-88.289,70.6553),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1631.96,577.315,230.655),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-933.129,2357.16,-108),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((660.363,2873.2,-57.1034),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1389.88,5132.44,260.897),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1459.22,2225.56,15.5827),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((603.114,1953.77,46.4923),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1834.02,2468.54,54.7469),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1758.93,1841.2,56.8975),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1931.9,3246.84,56.8975),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1575.71,3149.25,56.341),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1011.19,2588.84,75.1022),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((951.776,3227,46.8974),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1247.31,1891.7,21.125),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2285.61,662.423,59.6553),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2081.97,2238.75,-44.3447),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1432.34,3132.04,86.7478),(270,0,0)); + var_00.v["soundalias"] = "h2o_bad_tv"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1033.47,2429.69,87.2537),(270,0,0)); + var_00.v["soundalias"] = "h2o_bad_tv"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2003.6,872.94,60.8975),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1931.47,2099.16,212.503),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2439.71,771.032,-2.99997),(270,0,0)); + var_00.v["soundalias"] = "h2o_waterfall"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2537.15,892.916,-71),(270,0,0)); + var_00.v["soundalias"] = "h2o_waterfall"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-3243.41,1430.51,-56.3447),(270,0,0)); + var_00.v["soundalias"] = "h2o_ambient_water"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((351.726,82.9239,166.026),(270,0,0)); + var_00.v["soundalias"] = "h2o_dist_int_door_rain"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-608.929,76.463,168.125),(270,0,0)); + var_00.v["soundalias"] = "h2o_dist_int_door_rain"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1723.44,5118.65,609.665),(270,0,0)); + var_00.v["soundalias"] = "h2o_dist_int_door_rain"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-941.635,2835.52,27.1928),(270,0,0)); + var_00.v["soundalias"] = "h2o_shimmer"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((300.451,2669.98,-118.5),(270,0,0)); + var_00.v["soundalias"] = "h2o_bubbles_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((507.714,2550.85,-87.9181),(270,0,0)); + var_00.v["soundalias"] = "h2o_waterfall"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((384.044,2425.88,-87.9014),(270,0,0)); + var_00.v["soundalias"] = "h2o_waterfall"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((497.886,2424.97,-30.3414),(270,0,0)); + var_00.v["soundalias"] = "h2o_ambient_water"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1857,5111.46,259.882),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((269.938,-5553.64,-636.345),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((440.084,-5388.28,-635.345),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-740.094,-4382.4,-571.345),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-817.44,-5389.41,-632.345),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-652.055,-5561.94,-632.345),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((349.197,-4385.08,-584.345),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((4.83358,-5098.76,-453.749),(270,0,0)); + var_00.v["soundalias"] = "h2o_roomtone_mid_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-636.852,-4591.46,-432.875),(270,0,0)); + var_00.v["soundalias"] = "h2o_roomtone_mid_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-515.758,-5254.74,-420.875),(270,0,0)); + var_00.v["soundalias"] = "h2o_roomtone_mid_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((267.825,-4581,-420.875),(270,0,0)); + var_00.v["soundalias"] = "h2o_roomtone_mid_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((563.893,1056.83,13.7222),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2563.5,1289.62,-101),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2560.77,1665.15,-97.7947),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1628,5469,450),(270,0,0)); + var_00.v["soundalias"] = "h2o_vent_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-909.163,3786.83,288.943),(270,0,0)); + var_00.v["soundalias"] = "h2o_vent_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1796.5,1652.43,-90.5),(270,0,0)); + var_00.v["soundalias"] = "h2o_hot_tub"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1033.11,563.107,64.0004),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1481.08,2050.92,-94.5),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1291.66,1085.1,58.9223),(270,0,0)); + var_00.v["soundalias"] = "h2o_waterfall_splashy"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1160.16,872.624,99.6327),(270,0,0)); + var_00.v["soundalias"] = "h2o_waterfall_splashy"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((888,1791,22),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-988.796,4253.19,208.5),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1221.67,4476.76,211.5),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1210.96,927.387,116.515),(270,0,0)); + var_00.v["soundalias"] = "h2o_waterfall"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-281.805,566.356,17.5),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((122.987,569.25,23.5),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-441.468,2473.68,-53.4683),(270,0,0)); + var_00.v["soundalias"] = "h2o_waterfall_splashy"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-398.094,2456.41,295.56),(270,0,0)); + var_00.v["soundalias"] = "h2o_waterfall_splashy"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((899,1380,19),(270,0,0)); + var_00.v["soundalias"] = "h2o_monster_closet"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((900.11,1108.14,87.9457),(270,0,0)); + var_00.v["soundalias"] = "h2o_bubbles_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((905.831,988.754,96),(270,0,0)); + var_00.v["soundalias"] = "h2o_bubbles_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1047.83,2877.12,41.9638),(270,0,0)); + var_00.v["soundalias"] = "h2o_bubbles_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1288.48,3117.35,42.125),(270,0,0)); + var_00.v["soundalias"] = "h2o_bubbles_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1041.66,2867.13,40.7095),(270,0,0)); + var_00.v["soundalias"] = "h2o_shimmer"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1296,3122.84,61.0308),(270,0,0)); + var_00.v["soundalias"] = "h2o_shimmer"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1943.97,1484.75,-35),(270,0,0)); + var_00.v["soundalias"] = "h2o_waterfall_splashy"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1631,4887.14,216),(270,0,0)); + var_00.v["soundalias"] = "h2o_turbine"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1394.04,1086.65,120.364),(270,0,0)); + var_00.v["soundalias"] = "h2o_waterfall_splashy"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2442.12,2176.73,129.163),(270,0,0)); + var_00.v["soundalias"] = "h2o_alarm1"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2549,969,-93),(270,0,0)); + var_00.v["soundalias"] = "h2o_water_drainage_1"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1080,682,45),(270,0,0)); + var_00.v["soundalias"] = "h2o_water_drainage_1"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1087,462,45),(270,0,0)); + var_00.v["soundalias"] = "h2o_water_drainage_1"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1288,1133,83),(270,0,0)); + var_00.v["soundalias"] = "h2o_water_drainage_1"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1220,939,83),(270,0,0)); + var_00.v["soundalias"] = "h2o_water_drainage_1"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6432,-22560,160),(270,0,0)); + var_00.v["soundalias"] = "h2o_water_drips_bus_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6656,-22528,160),(270,0,0)); + var_00.v["soundalias"] = "h2o_water_drips_bus_02"; + var_00 = common_scripts\utility::createloopeffect("h2o_fire_lp_m_base_calm"); + var_00 common_scripts\_createfx::set_origin_and_angles((6932.65,-22570.8,-7.87495),(270,0,76)); + var_00.v["fxid"] = "h2o_fire_lp_m_base_calm"; + var_00.v["delay"] = 0.5; + var_00 = common_scripts\utility::createloopeffect("h2o_fire_lp_s_base_calm"); + var_00 common_scripts\_createfx::set_origin_and_angles((6737.49,-22703.9,2.2564),(270,0,76)); + var_00.v["fxid"] = "h2o_fire_lp_s_base_calm"; + var_00.v["delay"] = 0.5; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-47.8307,-135.288,719.04),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-534.967,-292.447,704.532),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((631.51,166.279,609.94),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1490.6,4572.21,707.35),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((84.3988,-664.642,536.416),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-383.868,-716.409,735.33),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_light_vol_smoke_closets_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((1055.89,-116.088,97.4216),(0,91.9965,-1)); + var_00.v["fxid"] = "h2o_light_vol_smoke_closets_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((-843.964,-5423.17,-616.666),(0,46,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((-677.488,-5587.35,-617.11),(0,46,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((452.179,-5400.5,-610.283),(0,135,0)); + var_00.v["fxid"] = "h2o_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((381.803,-4351.09,-554.646),(0,219,0)); + var_00.v["fxid"] = "h2o_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((-761.151,-4364.34,-555.489),(0,322,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_light_vol_smoke_closets_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2286.46,616.131,84.9506),(9,90,0)); + var_00.v["fxid"] = "h2o_light_vol_smoke_closets_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((431.238,630.578,-51.5688),(312,0,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_light_vol_smoke_closets_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((1793.59,2466.28,112.868),(17,0,0)); + var_00.v["fxid"] = "h2o_light_vol_smoke_closets_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_bubble_column_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-158.158,188.264,-37.5006),(270,0,0)); + var_00.v["fxid"] = "h2o_water_bubble_column_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_bubble_column_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-125.804,803.4,-18.7868),(272,3.00176,89.998)); + var_00.v["fxid"] = "h2o_water_bubble_column_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_light_vol_smoke_closets_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((1923.26,3292.75,112.954),(16,272,0)); + var_00.v["fxid"] = "h2o_light_vol_smoke_closets_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_light_vol_smoke_closets_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((1579.7,3180.94,96.1173),(0,272,0)); + var_00.v["fxid"] = "h2o_light_vol_smoke_closets_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_light_vol_smoke_closets_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((982.705,2597.61,103.271),(3,0,0)); + var_00.v["fxid"] = "h2o_light_vol_smoke_closets_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_light_vol_smoke_closets_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((1761.07,1839.36,102.058),(0,86,0)); + var_00.v["fxid"] = "h2o_light_vol_smoke_closets_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((539.992,1955.46,29.4139),(0,0,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_light_vol_smoke_closets_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((1444.96,2002.74,-31.2434),(298,0,0)); + var_00.v["fxid"] = "h2o_light_vol_smoke_closets_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_light_vol_smoke_closets_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((689.959,2879.99,-23),(6,184,0)); + var_00.v["fxid"] = "h2o_light_vol_smoke_closets_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((-967.954,2392.45,-96.9799),(0,319,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_light_vol_smoke_closets_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((949.957,3213.39,115.377),(0,319,0)); + var_00.v["fxid"] = "h2o_light_vol_smoke_closets_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_light_vol_smoke_closets_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1388.41,5135.03,306.858),(19,224,0)); + var_00.v["fxid"] = "h2o_light_vol_smoke_closets_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_light_vol_smoke_closets_xtra_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2048.97,5267.45,468.722),(12,316,0)); + var_00.v["fxid"] = "h2o_light_vol_smoke_closets_xtra_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_light_vol_smoke_closets_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-28.8412,93.0271,732.066),(0,1,0)); + var_00.v["fxid"] = "h2o_light_vol_smoke_closets_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((-288.193,-411.375,813.084),(270,0,0)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((177.418,-302.624,785.584),(270,0,0)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((560.986,-171.242,802.685),(270,0,0)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((590.798,246.044,802.125),(272,360,126)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((126.897,321.457,799.267),(271.814,256.36,-98.3913)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((-335.929,315.992,800.125),(271.814,256.36,-98.3913)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((-836.52,-67.4679,761.384),(271.814,256.367,43.6012)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((-734.664,291.182,803.125),(271.814,256.362,-82.393)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((102.154,-16.9947,802.125),(271.814,256.36,-88.3911)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_clouds_moving_fast"); + var_00 common_scripts\_createfx::set_origin_and_angles((-162.553,-613.368,19875.6),(270,0,0)); + var_00.v["fxid"] = "h2o_clouds_moving_fast"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((297.641,-5582.88,-617.016),(0,136,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((-414.619,-4292.59,-169.818),(54,90,180)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((307.101,-4435.16,-160.613),(57.5316,49.9434,-171.843)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((-690.857,-5437.96,-162.432),(70.9056,191.352,168.862)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_bubble_column_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((629.195,1491.63,-54.498),(270,0,0)); + var_00.v["fxid"] = "h2o_water_bubble_column_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_light_vol_smoke_closets_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1873.45,5124.64,308.201),(18,318,0)); + var_00.v["fxid"] = "h2o_light_vol_smoke_closets_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1021.6,952.055,77.9316),(271.965,359.998,-95.0783)); + var_00.v["fxid"] = "h2o_waterfall_splashes"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((2672.92,-4132.79,684),(270,356,82)); + var_00.v["fxid"] = "h2o_water_edge_splashes_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((2910.75,-2848.75,698.716),(271,257.942,-179.942)); + var_00.v["fxid"] = "h2o_water_edge_splashes_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((3023.89,-2069.01,684.476),(271.404,213.414,-135.215)); + var_00.v["fxid"] = "h2o_water_edge_splashes_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((3784.23,-1664.89,690.982),(270,182,171)); + var_00.v["fxid"] = "h2o_water_edge_splashes_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_bubble_column_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2821.1,2343.91,-63.977),(270,0,0)); + var_00.v["fxid"] = "h2o_water_bubble_column_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_bubble_column_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2763.94,2659.49,-76.0293),(270,0,0)); + var_00.v["fxid"] = "h2o_water_bubble_column_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_bubble_column_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2993.13,2766.92,-72.8596),(270,0,0)); + var_00.v["fxid"] = "h2o_water_bubble_column_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_bubble_column_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2780.8,3152.44,-68.6143),(270,0,0)); + var_00.v["fxid"] = "h2o_water_bubble_column_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_bubble_column_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3162.86,3134.13,-70.1484),(270,0,0)); + var_00.v["fxid"] = "h2o_water_bubble_column_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_bubble_column_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2840.29,3347.65,-67.3392),(270,0,0)); + var_00.v["fxid"] = "h2o_water_bubble_column_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_bubble_column_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2576.92,2293.27,-124.5),(270,0,0)); + var_00.v["fxid"] = "h2o_water_bubble_column_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_bubble_column_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2360.41,3556.81,-91.5),(270,0,0)); + var_00.v["fxid"] = "h2o_water_bubble_column_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_bubble_column_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2842.9,2118.99,-72.6957),(270,0,0)); + var_00.v["fxid"] = "h2o_water_bubble_column_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2003.32,917.109,96),(24,272,0)); + var_00.v["fxid"] = "h2o_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-964.176,919.77,77.7043),(271.965,359.997,-137.078)); + var_00.v["fxid"] = "h2o_waterfall_splashes"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1111.12,877.564,80.0986),(271.965,359.997,-2.07837)); + var_00.v["fxid"] = "h2o_waterfall_splashes"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1084.13,932.302,78.5367),(271.965,359.998,-50.0781)); + var_00.v["fxid"] = "h2o_waterfall_splashes"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_ripples_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1021.1,950.337,10.6943),(270,180,174)); + var_00.v["fxid"] = "h2o_waterfall_ripples_lp"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_ripples_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-966.911,921.336,12.9964),(270,0,-52)); + var_00.v["fxid"] = "h2o_waterfall_ripples_lp"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_ripples_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1082.5,932.845,12.8765),(270,0,40)); + var_00.v["fxid"] = "h2o_waterfall_ripples_lp"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_ripples_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1102.22,488.316,14.125),(270,0,77)); + var_00.v["fxid"] = "h2o_waterfall_ripples_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_ripples_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1084.21,440.861,15.722),(270,180,-107)); + var_00.v["fxid"] = "h2o_waterfall_ripples_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_ripples_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1076.64,705.022,19.9488),(272.354,47.4805,58.5019)); + var_00.v["fxid"] = "h2o_waterfall_ripples_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_ripples_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1099.19,659.967,17.9753),(272,244,-130)); + var_00.v["fxid"] = "h2o_waterfall_ripples_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((4676.21,-1810.87,708.915),(270,182,171)); + var_00.v["fxid"] = "h2o_water_edge_splashes_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((2094.29,7936.42,695),(271,259.954,-59.9544)); + var_00.v["fxid"] = "h2o_water_edge_splashes_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((3375.07,8369.39,713.939),(271,259.954,-59.9544)); + var_00.v["fxid"] = "h2o_water_edge_splashes_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((4313.32,8734.94,742.468),(271,259.954,-59.9544)); + var_00.v["fxid"] = "h2o_water_edge_splashes_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((1226.48,8136.98,662),(271,259.92,-144.92)); + var_00.v["fxid"] = "h2o_water_edge_splashes_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((833.259,9120.09,663),(271,259.92,-144.92)); + var_00.v["fxid"] = "h2o_water_edge_splashes_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1295.82,4668.75,665.591),(270,180,54)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1253.06,4809.38,667.208),(270,0,-98)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2000.6,4677.29,654.152),(270.035,129.957,-88.9573)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2031.11,4963.26,666),(270,0,59)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2014.5,4827.77,680),(270,0,91)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-386.277,532.924,709),(273,274,90)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2004.62,5147.93,651),(270,0,131)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-920.941,251.13,688.997),(270,0,93)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-911.333,65.2277,673.868),(270,0,95)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-916.805,-126.188,687.836),(270,0,93)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((98.6309,511.905,707.162),(270,180,-176)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-217.765,424.206,700),(270,180,-176)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-78.9638,443.288,714.896),(270,180,-176)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((493.019,441.708,701.878),(270,180,-176)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-747.065,627.138,737.75),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((209.457,809.217,736.81),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((507.838,-272.432,713.23),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((644.415,607.299,581.888),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-505.982,-375.424,671),(270,0,130)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-653.678,-263.519,677),(270,0,177)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-791.74,-243.29,669),(270,0,177)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-383.516,-485.991,673),(270,0,130)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-226.019,-533.834,664),(270,0,-172)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-57.6487,-531.763,664),(270,0,-172)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((187.663,-462.615,664),(270,0,-137)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((322.565,-320.7,654.843),(270,180,37)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((462.663,-242.183,664),(270,0,-172)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((670.381,-77.4597,664),(271,182,90)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((689.356,137.181,664),(271,182,90)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((648.406,323.772,692),(271,182,90)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_ocean_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-519.626,1441.5,623.752),(270,0,0)); + var_00.v["fxid"] = "h2o_ocean_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1678.35,4761.56,780.125),(270,0,-94)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1877.36,4868.99,783.125),(270,180,92)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1826.42,4553.01,673),(272,220,0)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2038.43,4479.24,653.167),(274.655,161.252,-25.3212)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1703.9,4510.81,670.742),(270,0,168)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1526.53,4498.14,676.053),(270,0,-170)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1401.49,4567.47,671.065),(270,180,38)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-730.499,446.751,698.022),(270,0,5)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-572.373,483.422,695.003),(270,0,1)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_rain_splash_sm_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((151.235,-218.74,712.125),(270,0,0)); + var_00.v["fxid"] = "h2o_rain_splash_sm_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_rain_splash_sm_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((135.551,121.325,712.125),(270,0,81)); + var_00.v["fxid"] = "h2o_rain_splash_sm_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_rain_splash_sm_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-408.102,-224.213,712.125),(270,0,42)); + var_00.v["fxid"] = "h2o_rain_splash_sm_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_rain_splash_sm_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-284.861,242.551,712.125),(270,0,0)); + var_00.v["fxid"] = "h2o_rain_splash_sm_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_rain_splash_sm_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((154.84,302.64,712.125),(270,0,0)); + var_00.v["fxid"] = "h2o_rain_splash_sm_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_rain_splash_sm_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45.3011,325.062,712.125),(270,0,0)); + var_00.v["fxid"] = "h2o_rain_splash_sm_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_rain_splash_sm_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((456.215,307.034,716.125),(270,0,0)); + var_00.v["fxid"] = "h2o_rain_splash_sm_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_rain_splash_sm_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-154.452,-122.528,712.125),(270,0,0)); + var_00.v["fxid"] = "h2o_rain_splash_sm_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_rain_splash_sm_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-499.651,287.992,712.125),(270,0,0)); + var_00.v["fxid"] = "h2o_rain_splash_sm_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_wave_hit_large_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13.5114,749.552,723),(270,0,0)); + var_00.v["fxid"] = "h2o_wave_hit_large_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_wave_hit_large_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((980.497,187.152,746),(270,0,0)); + var_00.v["fxid"] = "h2o_wave_hit_large_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_wave_hit_large_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14.292,-795.53,709),(270,0,0)); + var_00.v["fxid"] = "h2o_wave_hit_large_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_wave_hit_large_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-378.788,-707.617,664),(270,0,0)); + var_00.v["fxid"] = "h2o_wave_hit_large_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_wave_hit_large_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-841.153,-448.159,629),(270,0,0)); + var_00.v["fxid"] = "h2o_wave_hit_large_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_wave_hit_large_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1813.7,4178.43,654),(270,0,0)); + var_00.v["fxid"] = "h2o_wave_hit_large_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_rain_splash_sm_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1666.02,4875.47,691),(270,0,0)); + var_00.v["fxid"] = "h2o_rain_splash_sm_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1219.62,1563.22,520),(270,0,90)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1285.05,1571.37,74.2935),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((521.712,1554.59,-33.3982),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((2712.32,2291.46,60.1358),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((3040.33,2730.56,-93.4925),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((519.319,1469.6,520),(270,0,90)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1949.34,1462.81,520),(270,0,90)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((2714.05,2493.64,520),(270,0,90)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((2748.15,3288.31,520),(270,0,90)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((3212.93,2378.95,520),(270,0,90)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((3079.45,2881.77,520),(270,0,90)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing_calm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1093.1,2490.69,520),(270,0,0)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing_calm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing_calm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1759.01,2988.11,520),(270,0,0)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing_calm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing_calm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1177.47,2696.83,520),(270,0,0)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing_calm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((605.927,2085.88,520),(270,0,0)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((2023.63,-44.5032,520),(270,0,0)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1577.42,-528.823,520),(270,0,0)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1460.71,-805.978,520),(270,0,0)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((2002.93,940.392,520),(270,0,90)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing_calm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1081.64,2225.52,520),(270,0,0)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing_calm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing_calm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1091.28,1455.36,520),(270,0,0)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing_calm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing_calm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-862.678,958.475,520),(270,0,0)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing_calm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-965.435,3052.05,520),(270,0,0)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-484.661,4715.74,243.236),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1795.12,1279,141.343),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1908.6,988.73,200.534),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1826.66,187.425,194.444),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1694.79,-148.6,181.541),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((1452.51,-338.545,204.083),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_bubble_column_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2669.97,3640.58,-66.3968),(270,0,0)); + var_00.v["fxid"] = "h2o_water_bubble_column_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_bubble_column_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((3059.49,3545.48,-62.0703),(270,0,0)); + var_00.v["fxid"] = "h2o_water_bubble_column_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_bubble_column_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((7.08533,245.1,-39.952),(270,0,0)); + var_00.v["fxid"] = "h2o_water_bubble_column_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_bubble_column_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((611.842,1610.35,-95.099),(270,0,0)); + var_00.v["fxid"] = "h2o_water_bubble_column_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_bubble_column_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((652.463,1670.88,-67.813),(270,0,0)); + var_00.v["fxid"] = "h2o_water_bubble_column_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_bubble_column_runner_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1161.92,1466.21,-93.822),(270,0,0)); + var_00.v["fxid"] = "h2o_water_bubble_column_runner_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-163.298,1078.68,90.3036),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((19.9726,56.1966,82.729),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((72.4674,1020.23,90.9519),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((2918.02,2190.23,141.475),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((3111.07,2672.95,168.721),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((2727.2,3520.23,168.535),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_lg"); + var_00 common_scripts\_createfx::set_origin_and_angles((3092.76,3057.96,166.224),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_lg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-234.355,77.6043,79.8474),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-489.543,1359.09,383.615),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1386.29,2602.81,301.161),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((287.622,1160.13,105.446),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_stairs_splashes_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2464.16,854.915,-48),(270,180,174)); + var_00.v["fxid"] = "h2o_water_stairs_splashes_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_stairs_splashes_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2595.05,917.967,-86),(270,180,174)); + var_00.v["fxid"] = "h2o_water_stairs_splashes_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_stairs_splashes_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2507.23,784.485,-40),(270,180,174)); + var_00.v["fxid"] = "h2o_water_stairs_splashes_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_stairs_splashes_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2563.95,866.388,-72),(270,0,7)); + var_00.v["fxid"] = "h2o_water_stairs_splashes_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((2219.19,3283.1,89.8772),(0,212,0)); + var_00.v["fxid"] = "h2o_flare_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((2131.6,3044.9,45.0779),(0,326,0)); + var_00.v["fxid"] = "h2o_flare_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-769.497,339.583,131.851),(0,90,0)); + var_00.v["fxid"] = "h2o_flare_a_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-446.256,343.741,128.016),(0,90,0)); + var_00.v["fxid"] = "h2o_flare_a_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-447.052,839.723,119.67),(0,270,0)); + var_00.v["fxid"] = "h2o_flare_a_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-769.568,836.743,127.93),(0,270,0)); + var_00.v["fxid"] = "h2o_flare_a_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_c"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1311.52,2928,-29.5601),(0,305,0)); + var_00.v["fxid"] = "h2o_flare_c"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-151.493,3240.74,-138.418),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1775.86,4703,730),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1885.31,4891.85,728),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1698.01,4830.24,727),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((212.016,-289.19,713.125),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-326.032,-124.186,712.125),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-585.771,-148.91,712.125),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-812.364,-155.494,712.125),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-820.05,31.633,712.125),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-817.142,283.604,712.125),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-534.888,328.219,712.125),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-331.354,304.547,712.125),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-385.873,73.1249,712.125),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46.2215,301.405,712.125),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((210.369,422.039,712.125),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((605.87,317.475,712.125),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((750.861,36.4519,712.125),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_wave_hit_large_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-643.161,708.473,757),(270,0,0)); + var_00.v["fxid"] = "h2o_wave_hit_large_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_wave_hit_large_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((715.683,-554.024,644),(270,0,0)); + var_00.v["fxid"] = "h2o_wave_hit_large_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((276.186,460.293,704.55),(270,180,-176)); + var_00.v["fxid"] = "h2o_water_edge_splashes_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((946.28,231.696,706),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((947.551,-136.866,695),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((392.374,-620.561,696),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-569.531,-546.517,670),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-906.211,-404.92,664),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1115.17,141.665,667),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-588.25,651.801,706.648),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-237.553,618.059,679.722),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((240.227,626.935,690),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((6053.42,-22198.5,-9.875),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((6388.92,-22763.5,-9.875),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((6565.45,-22277.1,-9.8751),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((6974.83,-22347.3,-9.875),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_raindrop_rings_area"); + var_00 common_scripts\_createfx::set_origin_and_angles((6566.89,-22291.5,-9.875),(270,0,0)); + var_00.v["fxid"] = "dlc_raindrop_rings_area"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_dmg_fire_box"); + var_00 common_scripts\_createfx::set_origin_and_angles((7041.56,-22504.4,-5.288),(275.719,100.064,0)); + var_00.v["fxid"] = "h2o_dmg_fire_box"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_dmg_fire_box"); + var_00 common_scripts\_createfx::set_origin_and_angles((6759.45,-22786.1,-9.875),(270,0,0)); + var_00.v["fxid"] = "h2o_dmg_fire_box"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_courtyard_flare_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((8116.17,-22254.1,330.603),(22.0934,181.049,1.7693)); + var_00.v["fxid"] = "h2o_courtyard_flare_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_courtyard_flare_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((8143.3,-22055.5,329.452),(27.8057,193.254,-25.2814)); + var_00.v["fxid"] = "h2o_courtyard_flare_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_courtyard_flare_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((4889.03,-21829.5,330.955),(22.1392,328.329,0)); + var_00.v["fxid"] = "h2o_courtyard_flare_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_courtyard_flare_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((8143.62,-22581.2,329.714),(31.3394,162.61,16.6092)); + var_00.v["fxid"] = "h2o_courtyard_flare_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_courtyard_flare_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((6071.32,-23709,344.229),(31.5874,81,13.6961)); + var_00.v["fxid"] = "h2o_courtyard_flare_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_courtyard_flare_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((4892.79,-22528.3,361.816),(37.4049,10.9111,-14.6575)); + var_00.v["fxid"] = "h2o_courtyard_flare_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_courtyard_flare_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((5128.51,-22166.3,330.881),(27.2776,3.9422,0)); + var_00.v["fxid"] = "h2o_courtyard_flare_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_stairs_splashes_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2494.12,942.751,-99),(270,180,174)); + var_00.v["fxid"] = "h2o_water_stairs_splashes_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_stairs_splashes_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2514.85,940.884,-97),(270,180,174)); + var_00.v["fxid"] = "h2o_water_stairs_splashes_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_stairs_splashes_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2536.85,941.99,-101),(270,180,174)); + var_00.v["fxid"] = "h2o_water_stairs_splashes_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_stairs_splashes_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2561.28,943.118,-96),(270,180,174)); + var_00.v["fxid"] = "h2o_water_stairs_splashes_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_stairs_splashes_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2590.84,942.789,-101),(270,180,174)); + var_00.v["fxid"] = "h2o_water_stairs_splashes_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2561.55,1308.67,-159.875),(303.652,259.371,12.704)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2565.46,1685.69,-151.875),(303.652,259.371,12.704)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((1475.43,2223.82,-37.875),(323,180,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((314.364,2650.51,-424.5),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-147.322,2193.12,-131.628),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-448.701,1970.24,-115.089),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-197.904,2153.25,169.314),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_rain_splash_sm_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1657.05,4717.55,688),(270,0,0)); + var_00.v["fxid"] = "h2o_rain_splash_sm_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_rain_splash_sm_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1821.88,4825.12,688),(270,0,0)); + var_00.v["fxid"] = "h2o_rain_splash_sm_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_rain_splash_sm_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1304.7,5059.17,847.999),(270,0,0)); + var_00.v["fxid"] = "h2o_rain_splash_sm_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_rain_splash_sm_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1388.04,4894.6,848.005),(270,180,99)); + var_00.v["fxid"] = "h2o_rain_splash_sm_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_rain_splash_sm_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1498.41,5105.14,848),(270,0,1)); + var_00.v["fxid"] = "h2o_rain_splash_sm_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_rain_splash_sm_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1675.74,5132.37,848.005),(273,27,-90)); + var_00.v["fxid"] = "h2o_rain_splash_sm_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_rain_splash_sm_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1372.75,5268.09,862.622),(270,0,3)); + var_00.v["fxid"] = "h2o_rain_splash_sm_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1538.99,5139.99,848.005),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1322.37,4994.71,848.001),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1221.04,5125.42,847.999),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1368.04,5287.43,862.622),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-977.448,5103.22,837.265),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1367.91,5357.23,839),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1573.32,5297.54,828.6),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1767.12,5194.71,814.53),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2025.42,5161.24,850.5),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1189.63,5476.99,858.3),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1047.28,5346.87,841),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1091.26,4705.72,730),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-968.676,4857.06,839),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1913.96,5365.08,818),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2189.51,5309.3,815),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2163.42,5077.77,672),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2279.87,4695.53,596),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1806.43,4414.61,670),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1650.18,4476.05,670),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1445.22,4362.44,664),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1240.85,4545.06,664),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_beacon_light_red_blink_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((2713.07,9308.86,5013.95),(0,110,0)); + var_00.v["fxid"] = "h2o_beacon_light_red_blink_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_beacon_light_red_blink_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((3891.8,-3518.6,5025.35),(0,345,-180)); + var_00.v["fxid"] = "h2o_beacon_light_red_blink_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_beacon_light_red_blink_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7814.21,1877.44,5031.21),(0,229,-180)); + var_00.v["fxid"] = "h2o_beacon_light_red_blink_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_beacon_light_trident_tower_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((-845.149,365.268,1002.52),(270,0,0)); + var_00.v["fxid"] = "h2o_beacon_light_trident_tower_blink"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_beacon_light_trident_tower_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((596.419,366.412,998.52),(270,0,0)); + var_00.v["fxid"] = "h2o_beacon_light_trident_tower_blink"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_beacon_light_trident_tower_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((595.671,-202.493,999.52),(270,0,0)); + var_00.v["fxid"] = "h2o_beacon_light_trident_tower_blink"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_beacon_light_trident_tower_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((85.4416,-472.914,1004.52),(270,0,0)); + var_00.v["fxid"] = "h2o_beacon_light_trident_tower_blink"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_beacon_light_trident_tower_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((-345.336,-473.646,1004.52),(270,0,0)); + var_00.v["fxid"] = "h2o_beacon_light_trident_tower_blink"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_beacon_light_trident_tower_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((-852.589,-195.33,1003.52),(270,0,0)); + var_00.v["fxid"] = "h2o_beacon_light_trident_tower_blink"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_rain_splash_sm_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((312.38,310.773,712.125),(270,0,0)); + var_00.v["fxid"] = "h2o_rain_splash_sm_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_rain_splash_sm_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-725.063,312.614,712.125),(270,0,0)); + var_00.v["fxid"] = "h2o_rain_splash_sm_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_rain_splash_sm_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-800.073,100.211,712.125),(270,0,0)); + var_00.v["fxid"] = "h2o_rain_splash_sm_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_rain_splash_sm_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-798.421,-53.2112,712.125),(270,0,0)); + var_00.v["fxid"] = "h2o_rain_splash_sm_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_rain_splash_sm_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-638.615,-164.723,712.125),(270,0,0)); + var_00.v["fxid"] = "h2o_rain_splash_sm_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_rain_splash_sm_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-394.811,7.58293,712.125),(270,0,0)); + var_00.v["fxid"] = "h2o_rain_splash_sm_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_rain_splash_sm_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((36.9001,-95.9081,712.125),(270,0,0)); + var_00.v["fxid"] = "h2o_rain_splash_sm_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_rain_splash_sm_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((420.626,-165.263,712.125),(270,0,0)); + var_00.v["fxid"] = "h2o_rain_splash_sm_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_rain_splash_sm_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((559.726,135.018,712.125),(270,0,0)); + var_00.v["fxid"] = "h2o_rain_splash_sm_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_rain_splash_sm_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((566.17,-79.0129,712.125),(270,0,0)); + var_00.v["fxid"] = "h2o_rain_splash_sm_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_screen_rain"); + var_00 common_scripts\_createfx::set_origin_and_angles((-123.235,-354.301,810.753),(270,0,0)); + var_00.v["fxid"] = "h2o_screen_rain"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_screen_rain"); + var_00 common_scripts\_createfx::set_origin_and_angles((278.69,592.488,839.349),(270,0,0)); + var_00.v["fxid"] = "h2o_screen_rain"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_screen_rain"); + var_00 common_scripts\_createfx::set_origin_and_angles((-501.237,727.618,832.506),(270,0,0)); + var_00.v["fxid"] = "h2o_screen_rain"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((899.853,1351.29,-52.875),(311,87,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1043.68,562.838,94.054),(346.078,3.7134,1.14643)); + var_00.v["fxid"] = "h2o_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1477.05,372.976,43.9144),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1814.78,305.041,36.7541),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2895.89,775.881,46.7594),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2865.21,1624.78,44.9216),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2860.25,2058.64,50.9216),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2824.47,2379.75,5.99228),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2929,1185.01,47.2982),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2864.74,516.915,56.8501),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1796.08,4185.38,243.491),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((2515.91,3092.99,-179),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((2489.38,2847.71,-177.5),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_short"); + var_00 common_scripts\_createfx::set_origin_and_angles((2329.01,2551.85,-177.492),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_short"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((610.921,697.138,66.8128),(270,0,0)); + var_00.v["fxid"] = "h2o_flare_a_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_2_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1133.19,806.911,6),(273.329,132.386,-88.2414)); + var_00.v["fxid"] = "h2o_waterfall_splashes_2_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_2_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1183.47,874.39,8),(276.324,134.644,-87.4916)); + var_00.v["fxid"] = "h2o_waterfall_splashes_2_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_2_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1229.9,925.669,9.6518),(273.329,132.385,-76.2407)); + var_00.v["fxid"] = "h2o_waterfall_splashes_2_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_2_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1284.84,1056.86,10.2495),(271.551,68.1695,1.93456)); + var_00.v["fxid"] = "h2o_waterfall_splashes_2_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_2_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1296.71,1184.58,9.8829),(272.078,186.719,-90.5368)); + var_00.v["fxid"] = "h2o_waterfall_splashes_2_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_2_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1301.86,1149.4,79.6722),(271.493,315.487,143.59)); + var_00.v["fxid"] = "h2o_waterfall_splashes_2_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_2_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1285.17,1023.1,80.0388),(279.059,337.121,92.7032)); + var_00.v["fxid"] = "h2o_waterfall_splashes_2_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_2_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1235.78,917.529,82.4411),(271.331,131.291,-75.15)); + var_00.v["fxid"] = "h2o_waterfall_splashes_2_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_2_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1192.66,864.792,157.789),(271.669,176.948,-128.882)); + var_00.v["fxid"] = "h2o_waterfall_splashes_2_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_2_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1132.77,800.327,156.789),(276.299,134.784,-87.7445)); + var_00.v["fxid"] = "h2o_waterfall_splashes_2_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_2_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1250.18,925.671,155.681),(273.303,352.93,54.2893)); + var_00.v["fxid"] = "h2o_waterfall_splashes_2_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_2_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1318.96,995.619,158.47),(277.147,355.522,52.7954)); + var_00.v["fxid"] = "h2o_waterfall_splashes_2_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_2_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1399.03,1080.84,156.601),(277.8,160.075,-61.1309)); + var_00.v["fxid"] = "h2o_waterfall_splashes_2_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((891.686,1784.86,-57),(304,87,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((1827.12,3009.71,113.031),(0,0,0)); + var_00.v["fxid"] = "h2o_flare_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((1146.61,2366.96,111.681),(270,0,0)); + var_00.v["fxid"] = "h2o_flare_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((1156.29,2337.48,112.622),(270,0,0)); + var_00.v["fxid"] = "h2o_flare_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((902.534,1289.53,166.402),(270,0,0)); + var_00.v["fxid"] = "h2o_flare_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((213.583,566.857,112.007),(270,0,0)); + var_00.v["fxid"] = "h2o_flare_a_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((889.185,1888.38,166.505),(270,0,0)); + var_00.v["fxid"] = "h2o_flare_a_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((1491.31,2095.73,115.053),(270,0,0)); + var_00.v["fxid"] = "h2o_flare_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1000.4,2310.92,-112.144),(270,0,0)); + var_00.v["fxid"] = "h2o_flare_a_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-981.785,2198.22,-14.1252),(270,0,0)); + var_00.v["fxid"] = "h2o_flare_a_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1656.55,2054.73,5.41233),(270,0,0)); + var_00.v["fxid"] = "h2o_flare_a_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1214.27,2054.38,51.8473),(270,0,0)); + var_00.v["fxid"] = "h2o_flare_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1683.94,2055.6,5.89974),(270,0,0)); + var_00.v["fxid"] = "h2o_flare_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_deck_lamp_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-537.93,-287.808,850.581),(86.9887,4.60941,5.57343)); + var_00.v["fxid"] = "h2o_deck_lamp_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_deck_lamp_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-566.987,-265.35,851.464),(81.9426,60.3976,60.1528)); + var_00.v["fxid"] = "h2o_deck_lamp_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_deck_lamp_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-429.905,-399.855,851.407),(88,180,-180)); + var_00.v["fxid"] = "h2o_deck_lamp_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_deck_lamp_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-404.153,-426.224,851.945),(87.1979,315.485,-44.0281)); + var_00.v["fxid"] = "h2o_deck_lamp_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_deck_lamp_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((150.935,-425.365,847.515),(87,181.999,-180)); + var_00.v["fxid"] = "h2o_deck_lamp_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_deck_lamp_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((175.395,-398.998,847.644),(86,91.9965,89.9981)); + var_00.v["fxid"] = "h2o_deck_lamp_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_deck_lamp_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((288.194,-286.305,849.503),(80,180,-180)); + var_00.v["fxid"] = "h2o_deck_lamp_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_deck_lamp_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((312.488,-261.531,849.799),(84,0,0)); + var_00.v["fxid"] = "h2o_deck_lamp_flare"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_bubble_column_thin_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1593.78,2298.78,-225.934),(270,0,93)); + var_00.v["fxid"] = "h2o_water_bubble_column_thin_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_bubble_column_thin_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1372.96,2292.42,-218.586),(270,0,93)); + var_00.v["fxid"] = "h2o_water_bubble_column_thin_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_bubble_column_thin_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1456.97,2391.34,-250.367),(270,0,93)); + var_00.v["fxid"] = "h2o_water_bubble_column_thin_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_bubble_column_thin_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1271.46,2394.19,-243.019),(270,0,93)); + var_00.v["fxid"] = "h2o_water_bubble_column_thin_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_3_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-364.169,2477.07,286.875),(274.038,138.479,-96.6188)); + var_00.v["fxid"] = "h2o_waterfall_splashes_3_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_3_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-441.276,2402.81,229.961),(274.038,138.479,-96.6188)); + var_00.v["fxid"] = "h2o_waterfall_splashes_3_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_3_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-415.316,2432.35,165.5),(274.038,138.479,-96.6188)); + var_00.v["fxid"] = "h2o_waterfall_splashes_3_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_3_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-376.722,2470.21,165.5),(274.038,138.479,-96.6188)); + var_00.v["fxid"] = "h2o_waterfall_splashes_3_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_3_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-429.506,2417.71,102),(274.038,138.479,-96.6188)); + var_00.v["fxid"] = "h2o_waterfall_splashes_3_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_3_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-374.619,2471.48,54.3158),(274.038,138.479,-96.6188)); + var_00.v["fxid"] = "h2o_waterfall_splashes_3_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_3_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-435.864,2409.58,5.4149),(274.038,138.479,-96.6188)); + var_00.v["fxid"] = "h2o_waterfall_splashes_3_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_3_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-401.883,2443.58,4.57654),(274.038,138.479,-96.6188)); + var_00.v["fxid"] = "h2o_waterfall_splashes_3_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_3_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-361.306,2484.64,-21),(274.038,138.479,-96.6188)); + var_00.v["fxid"] = "h2o_waterfall_splashes_3_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_3_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-450.905,2399.5,-51.5),(274.038,138.479,-96.6188)); + var_00.v["fxid"] = "h2o_waterfall_splashes_3_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_3_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-404.434,2447.39,53.9697),(274.038,138.479,-96.6188)); + var_00.v["fxid"] = "h2o_waterfall_splashes_3_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_ripples_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-452.778,2408.97,-108),(270,0,0)); + var_00.v["fxid"] = "h2o_waterfall_ripples_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_ripples_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-431.088,2414.94,-115.5),(270,0,0)); + var_00.v["fxid"] = "h2o_waterfall_ripples_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_ripples_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-415.183,2426.74,-115.5),(270,0,0)); + var_00.v["fxid"] = "h2o_waterfall_ripples_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_ripples_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-402.777,2436.31,-115.5),(270,0,0)); + var_00.v["fxid"] = "h2o_waterfall_ripples_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_ripples_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-386.812,2449.18,-115.5),(270,0,0)); + var_00.v["fxid"] = "h2o_waterfall_ripples_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_ripples_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-351.9,2487.23,-109.5),(270,0,0)); + var_00.v["fxid"] = "h2o_waterfall_ripples_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_electrical_sparks_runner_slit_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1192.15,3032.19,-8.02152),(302.054,86.804,-86.1784)); + var_00.v["fxid"] = "h2o_electrical_sparks_runner_slit_sm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_electrical_sparks_runner_slit_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((411.664,2807.5,-8.11488),(270,0,0)); + var_00.v["fxid"] = "h2o_electrical_sparks_runner_slit_sm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-609.75,230.469,112.537),(270,0,0)); + var_00.v["fxid"] = "h2o_flare_a_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((984.012,353.995,116.089),(270,0,0)); + var_00.v["fxid"] = "h2o_flare_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_reef_column"); + var_00 common_scripts\_createfx::set_origin_and_angles((900.415,1055.43,25.196),(0,90,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_reef_column"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_jellyfish_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((77.8741,3140.1,37),(270,0,0)); + var_00.v["fxid"] = "h2o_jellyfish_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_jellyfish"); + var_00 common_scripts\_createfx::set_origin_and_angles((575.147,1472.87,85.9501),(270,0,0)); + var_00.v["fxid"] = "h2o_jellyfish"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_jellyfish"); + var_00 common_scripts\_createfx::set_origin_and_angles((343.783,975.193,102.667),(270,0,0)); + var_00.v["fxid"] = "h2o_jellyfish"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_jellyfish_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-62.7534,946,91.7353),(270,0,94)); + var_00.v["fxid"] = "h2o_jellyfish_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_jellyfish_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((101.497,1061.11,145.11),(270,0,94)); + var_00.v["fxid"] = "h2o_jellyfish_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_jellyfish"); + var_00 common_scripts\_createfx::set_origin_and_angles((-99.697,3042.06,-40.7991),(270,0,0)); + var_00.v["fxid"] = "h2o_jellyfish"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_jellyfish"); + var_00 common_scripts\_createfx::set_origin_and_angles((-225.836,3120.04,38.5),(270,0,0)); + var_00.v["fxid"] = "h2o_jellyfish"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_jellyfish_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-294.816,3174.67,25.229),(270,0,0)); + var_00.v["fxid"] = "h2o_jellyfish_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_jellyfish"); + var_00 common_scripts\_createfx::set_origin_and_angles((-192.712,3333.67,66.3077),(270,0,0)); + var_00.v["fxid"] = "h2o_jellyfish"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_jellyfish_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-360.963,3181.86,-26.6292),(270,0,0)); + var_00.v["fxid"] = "h2o_jellyfish_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_jellyfish_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-122.412,138,48.9986),(270,0,94)); + var_00.v["fxid"] = "h2o_jellyfish_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_jellyfish_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((22.4281,138,90.4541),(270,0,94)); + var_00.v["fxid"] = "h2o_jellyfish_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_jellyfish"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2.8991,228.726,46.9674),(270,0,0)); + var_00.v["fxid"] = "h2o_jellyfish"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_light_vol_smoke_closets_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-46.2244,-311.69,807.875),(0,90,0)); + var_00.v["fxid"] = "h2o_light_vol_smoke_closets_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_light_vol_smoke_closets_xtra_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1261.73,5301.85,475.201),(25,224,0)); + var_00.v["fxid"] = "h2o_light_vol_smoke_closets_xtra_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_light_vol_smoke_closets_white_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1626.67,5491.03,459.58),(0,273,0)); + var_00.v["fxid"] = "h2o_light_vol_smoke_closets_white_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_jellyfish_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1307.8,3107.59,52.1511),(270,0,0)); + var_00.v["fxid"] = "h2o_jellyfish_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_jellyfish_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1307.98,3128.6,35.427),(270,0,0)); + var_00.v["fxid"] = "h2o_jellyfish_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_jellyfish_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1307.98,3129.07,56.1133),(270,0,0)); + var_00.v["fxid"] = "h2o_jellyfish_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_jellyfish_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1307.98,3106.34,82.7752),(270,0,0)); + var_00.v["fxid"] = "h2o_jellyfish_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_jellyfish_02_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1307.98,3113.99,71.1738),(270,0,0)); + var_00.v["fxid"] = "h2o_jellyfish_02_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_jellyfish_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((1307.98,3106.37,35.0152),(270,0,0)); + var_00.v["fxid"] = "h2o_jellyfish_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_jellyfish_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1036.4,2842.29,35.8507),(270,358,92)); + var_00.v["fxid"] = "h2o_jellyfish_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_jellyfish_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((1058.63,2842.29,35.4388),(270,358,92)); + var_00.v["fxid"] = "h2o_jellyfish_02"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_jellyfish_02_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1039.3,2831.31,45.8166),(270,358,92)); + var_00.v["fxid"] = "h2o_jellyfish_02_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_jellyfish_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1035.92,2842.29,56.5369),(270,358,92)); + var_00.v["fxid"] = "h2o_jellyfish_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_jellyfish_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1057.41,2842.11,52.5747),(270,358,92)); + var_00.v["fxid"] = "h2o_jellyfish_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_jellyfish_02_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1051.01,2842.29,71.5974),(270,358,92)); + var_00.v["fxid"] = "h2o_jellyfish_02_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_jellyfish_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1058.66,2842.29,83.1988),(270,358,92)); + var_00.v["fxid"] = "h2o_jellyfish_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_jellyfish_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1032.01,2842.29,108.985),(270,358,92)); + var_00.v["fxid"] = "h2o_jellyfish_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((768.789,-5237.1,-536.347),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_bubble_column_narrow_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1323.94,3112.75,-0.344486),(270,0,0)); + var_00.v["fxid"] = "h2o_water_bubble_column_narrow_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_jellyfish_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1308.01,3133.15,103.561),(270,0,0)); + var_00.v["fxid"] = "h2o_jellyfish_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_jellyfish_02_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1302.88,3124.5,45.393),(270,0,0)); + var_00.v["fxid"] = "h2o_jellyfish_02_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_bubble_column_narrow_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1051.87,2836.25,-18),(270,358,92)); + var_00.v["fxid"] = "h2o_water_bubble_column_narrow_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((758.062,-5271.72,-312.306),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((775.28,-4570.78,-315.364),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((773.257,-4614.65,-538.405),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((67.7408,-3949.99,-263.179),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((55.4683,-3913.01,-487.219),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-529.015,-3926.38,-285.373),(276,270,90)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-584.081,-3900.96,-508.568),(276,270,90)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1100,-4546.88,-340.172),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1089.27,-4512.26,-564.212),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1117.13,-5222.98,-397.549),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1128.39,-5187.88,-621.589),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-494.395,-5910.62,-355.325),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-507.45,-5985.5,-579.365),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((92.7943,-5934.14,-359.471),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((81.5296,-5899.04,-583.512),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-432.966,-5216.56,520),(270,0,0)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-100.479,-5394.55,520),(270,0,0)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-191.806,-4601.59,520),(270,0,0)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((243.981,-4784.6,520),(270,0,0)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((-694.24,-4705.58,520),(270,0,0)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_blood_drip_chum"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2328.95,1216.5,-104.5),(270,0,144)); + var_00.v["fxid"] = "h2o_blood_drip_chum"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_rain_splash_xsm_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1359.34,2321.45,7.99979),(270,0,0)); + var_00.v["fxid"] = "h2o_rain_splash_xsm_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_mp_hr2_water_spray_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1344.53,2326.87,270.542),(75.7023,265.927,4.25799)); + var_00.v["fxid"] = "h2o_mp_hr2_water_spray_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_mp_hr2_water_spray_narrow"); + var_00 common_scripts\_createfx::set_origin_and_angles((1375.3,2331.14,270.369),(52.6849,264.823,3.12876)); + var_00.v["fxid"] = "h2o_mp_hr2_water_spray_narrow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_beacon_light_trident_tower_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7029.95,19308.8,5619.52),(270,0,0)); + var_00.v["fxid"] = "h2o_beacon_light_trident_tower_blink"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_beacon_light_trident_tower_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8897.65,18639.1,5621.52),(270,0,0)); + var_00.v["fxid"] = "h2o_beacon_light_trident_tower_blink"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_beacon_light_trident_tower_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10615.5,18026.6,5625.52),(270,0,0)); + var_00.v["fxid"] = "h2o_beacon_light_trident_tower_blink"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_beacon_light_trident_tower_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12485.8,17357.3,5624.52),(270,0,0)); + var_00.v["fxid"] = "h2o_beacon_light_trident_tower_blink"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_beacon_light_trident_tower_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14081.3,16785,5634.52),(270,0,0)); + var_00.v["fxid"] = "h2o_beacon_light_trident_tower_blink"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_beacon_light_trident_tower_blink"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15950.3,16117.8,5624.52),(270,0,0)); + var_00.v["fxid"] = "h2o_beacon_light_trident_tower_blink"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-57.0282,4285.61,191.625),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-970.646,4923.69,240.608),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((-990.104,-120.972,668),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((-248.528,560.929,-41),(323,177,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((93.7892,571.287,-42.875),(328,0,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1438.84,2052.09,-157),(324,178,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((741.418,2178.08,112.073),(270,0,0)); + var_00.v["fxid"] = "h2o_flare_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((723.915,2195.89,111.958),(270,0,0)); + var_00.v["fxid"] = "h2o_flare_a_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1000.09,2180.31,-13.8613),(270,0,0)); + var_00.v["fxid"] = "h2o_flare_a_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1214.94,1086.67,113.493),(270,0,0)); + var_00.v["fxid"] = "h2o_flare_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1238.67,1085.59,114.023),(270,0,0)); + var_00.v["fxid"] = "h2o_flare_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((-614.756,962.591,152.232),(274,0,0)); + var_00.v["fxid"] = "h2o_flare_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-600.357,846.886,164.138),(270,0,0)); + var_00.v["fxid"] = "h2o_flare_a_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-371.377,562.773,165.814),(270,0,0)); + var_00.v["fxid"] = "h2o_flare_a_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((239.673,567.168,112.32),(270,0,0)); + var_00.v["fxid"] = "h2o_flare_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_light_vol_smoke_closets_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1010.58,4261.49,152.125),(303,316,0)); + var_00.v["fxid"] = "h2o_light_vol_smoke_closets_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_light_vol_smoke_closets_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1197.4,4451.07,163.305),(322,134,0)); + var_00.v["fxid"] = "h2o_light_vol_smoke_closets_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_turbine_splashes"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1636.66,4886.44,-349.819),(270,0,0)); + var_00.v["fxid"] = "h2o_turbine_splashes"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_blood_drip_chum"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2455.87,1554.54,-108.5),(270,0,144)); + var_00.v["fxid"] = "h2o_blood_drip_chum"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((352.437,229.088,112.004),(270,0,0)); + var_00.v["fxid"] = "h2o_flare_a"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((521.152,1619.47,-25.7491),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1237.97,1533.85,39.6804),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing_calm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1720.7,2037.69,520),(270,0,0)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing_calm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing_calm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1513.12,1972.66,520),(270,0,0)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing_calm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing_calm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1065.17,1840.12,520),(270,0,0)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing_calm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing_calm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1039.15,2090.15,520),(270,0,0)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing_calm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing_calm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1809.36,3471.36,520),(270,0,0)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing_calm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing_calm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-467.991,1807.15,520),(270,0,0)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing_calm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing_calm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-531.416,1372.11,520),(270,0,0)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing_calm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing_calm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-540.801,2510.85,520),(270,0,0)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing_calm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-743.088,4776.11,256.75),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-723.72,4605.62,324.796),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1686.76,4211.55,307.714),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-276.792,4549.88,259.981),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-175.338,4298.56,343.738),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing"); + var_00 common_scripts\_createfx::set_origin_and_angles((0.532523,910.006,520),(270,0,0)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((5963.25,-22773.8,32.125),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((6302.89,-22928,32.125),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((6616.36,-22942.1,0.125),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((5941.7,-22457.6,3.8938),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((5930.07,-21953.4,0.125),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("rain_volume_windy_zm_h2o"); + var_00 common_scripts\_createfx::set_origin_and_angles((6288.19,-21948.6,0.124992),(270,0,0)); + var_00.v["fxid"] = "rain_volume_windy_zm_h2o"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_deck_mist_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((348.231,-102.198,1033.03),(291,90,-90)); + var_00.v["fxid"] = "h2o_deck_mist_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_deck_mist_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((349.512,162.498,1054.58),(291.023,267.397,92.788)); + var_00.v["fxid"] = "h2o_deck_mist_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_deck_mist_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((-610.098,186.803,1039.01),(287.028,266.732,93.4169)); + var_00.v["fxid"] = "h2o_deck_mist_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_deck_mist_static"); + var_00 common_scripts\_createfx::set_origin_and_angles((-610.709,-36.7457,1044.49),(290,90,-90)); + var_00.v["fxid"] = "h2o_deck_mist_static"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((537.369,991.39,738.964),(272,360,126)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((999.82,936.364,738.665),(272,360,126)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((-63.6276,1110.66,739.964),(272,360,126)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((-466.63,983.141,716.754),(272,360,126)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((-749.929,968.685,771.754),(272,360,126)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1080.76,817.224,729.994),(272,360,126)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1378.55,543.952,719.05),(272,360,126)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1424.42,121.626,749.395),(272,360,126)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1240.35,-315.31,724.33),(272,360,126)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((-960.383,-689.929,709.125),(272,360,126)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((-666.118,-812.958,736.125),(272,360,126)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((-337.985,-817.601,773.766),(272,360,126)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((21.3923,-776.254,777.893),(272,360,126)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((285.936,-836.234,748.91),(272,360,126)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((769.018,-855.2,767.897),(272,360,126)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("wind_gust_river_mist_ark"); + var_00 common_scripts\_createfx::set_origin_and_angles((446.132,-746.46,733.075),(272,360,126)); + var_00.v["fxid"] = "wind_gust_river_mist_ark"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing_calm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1307.03,319.658,520.613),(270,0,0)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing_calm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing_calm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2140.23,276.195,519.875),(270,0,0)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing_calm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing_calm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1604.72,53.6409,520.613),(270,0,0)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing_calm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("ark_light_vol_smoke_closets"); + var_00 common_scripts\_createfx::set_origin_and_angles((561.235,1061.48,-47.2323),(305,182,0)); + var_00.v["fxid"] = "ark_light_vol_smoke_closets"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((1799.24,3015.02,112.56),(270,0,0)); + var_00.v["fxid"] = "h2o_flare_a_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_flare_a_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((1518.51,2100.95,112.012),(270,0,0)); + var_00.v["fxid"] = "h2o_flare_a_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_underwater_waves_crashing_calm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-569.834,1019.9,523.163),(270,0,0)); + var_00.v["fxid"] = "h2o_underwater_waves_crashing_calm"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((2962.18,3032.22,-90.5727),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((2579.31,3592.4,-104.21),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((2885.65,3325.49,-78.1799),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((2856.53,2331.41,-93.17),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((2376.13,3629.31,-46.6791),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_dim"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_steam_ambient_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1315.53,4848.68,334.315),(0,82,0)); + var_00.v["fxid"] = "h2o_steam_ambient_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_steam_ambient_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1849.34,4664.43,489.836),(0,313,0)); + var_00.v["fxid"] = "h2o_steam_ambient_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_steam_ambient_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1944.34,4885.87,491.666),(0,268,0)); + var_00.v["fxid"] = "h2o_steam_ambient_vents"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_2_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1278.62,965.955,82.5304),(286.94,304.498,95.9582)); + var_00.v["fxid"] = "h2o_waterfall_splashes_2_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_2_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1324.98,1003.36,78.5),(282.968,302.649,97.7455)); + var_00.v["fxid"] = "h2o_waterfall_splashes_2_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_2_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1379.13,1047.87,76.7095),(287.855,311.152,89.2115)); + var_00.v["fxid"] = "h2o_waterfall_splashes_2_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_2_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1396.64,1104.9,74.5),(299.01,22.4288,90.8487)); + var_00.v["fxid"] = "h2o_waterfall_splashes_2_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_2_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1357.41,1024.6,79.7804),(282.875,306.969,93.2923)); + var_00.v["fxid"] = "h2o_waterfall_splashes_2_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1462.69,1476.09,211.637),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_particle_bubbles_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1638.08,1475.32,225.167),(270,0,0)); + var_00.v["fxid"] = "h2o_particle_bubbles_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_2_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1099.7,465.959,163.989),(312.853,162.912,-90.2325)); + var_00.v["fxid"] = "h2o_waterfall_splashes_2_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_2_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1095.9,691.796,165.181),(314.333,199.938,-91.093)); + var_00.v["fxid"] = "h2o_waterfall_splashes_2_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_2_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1096.93,695.57,111.409),(315.332,199.911,-91.0739)); + var_00.v["fxid"] = "h2o_waterfall_splashes_2_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_2_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1103.35,677.691,78.683),(318.332,199.836,-91.0226)); + var_00.v["fxid"] = "h2o_waterfall_splashes_2_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_2_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1092.8,695.701,52.8235),(310.307,196.52,-90.1467)); + var_00.v["fxid"] = "h2o_waterfall_splashes_2_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_2_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1086.63,455.386,116.064),(312.853,162.912,-90.2325)); + var_00.v["fxid"] = "h2o_waterfall_splashes_2_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_2_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1100.4,476.298,76.1623),(312.853,162.912,-90.2325)); + var_00.v["fxid"] = "h2o_waterfall_splashes_2_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_2_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1092.61,459.048,33.6307),(271.86,167.618,-94.8798)); + var_00.v["fxid"] = "h2o_waterfall_splashes_2_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_waterfall_splashes_2_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1095.01,687.731,19.2642),(294.854,23.324,84.8783)); + var_00.v["fxid"] = "h2o_waterfall_splashes_2_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5962.72,1156.38,654.987),(271,19.9144,-144.917)); + var_00.v["fxid"] = "h2o_water_edge_splashes_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6617.53,324.302,655.987),(271,19.9144,-144.917)); + var_00.v["fxid"] = "h2o_water_edge_splashes_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6222.91,2008.21,687.987),(271,19.9546,-59.9583)); + var_00.v["fxid"] = "h2o_water_edge_splashes_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7238.25,2900.94,706.926),(271,19.9546,-59.9583)); + var_00.v["fxid"] = "h2o_water_edge_splashes_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_water_edge_splashes_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8023.93,3530.73,735.455),(271,19.9546,-59.9583)); + var_00.v["fxid"] = "h2o_water_edge_splashes_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_whale_holo"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1021.73,1699.44,212.453),(358.362,245.104,5.66792)); + var_00.v["fxid"] = "h2o_whale_holo"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_whale_holo_project"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1024.47,1860.93,410.713),(330.773,213.055,-143.745)); + var_00.v["fxid"] = "h2o_whale_holo_project"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_whale_holo_project"); + var_00 common_scripts\_createfx::set_origin_and_angles((-839.738,1427.23,94.4376),(21.9379,207.736,65.6641)); + var_00.v["fxid"] = "h2o_whale_holo_project"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_whale_holo_project"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1207,1447.75,97.1091),(349.701,129.698,68.8925)); + var_00.v["fxid"] = "h2o_whale_holo_project"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_blood_drips_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-54.8853,-343.467,822.875),(270,0,0)); + var_00.v["fxid"] = "h2o_blood_drips_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_blood_drips_dark_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2344.92,2845.1,248.581),(270,0,0)); + var_00.v["fxid"] = "h2o_blood_drips_dark_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("h2o_blood_drip_splash_impact_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((2339.67,2859.27,-16),(270,180,93)); + var_00.v["fxid"] = "h2o_blood_drip_splash_impact_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("h2o_lightning_cloud_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8317.09,3470.78,6622.96),(270,0,0)); + var_00.v["fxid"] = "h2o_lightning_cloud_a"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "60"; + var_00 = common_scripts\utility::createexploder("h2o_lightning_cloud_a"); + var_00 common_scripts\_createfx::set_origin_and_angles((7818.01,8721.62,6956.57),(270,0,0)); + var_00.v["fxid"] = "h2o_lightning_cloud_a"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "60"; + var_00 = common_scripts\utility::createexploder("h2o_distant_lightning_bolt"); + var_00 common_scripts\_createfx::set_origin_and_angles((6270.19,17672,11034),(90,0,0)); + var_00.v["fxid"] = "h2o_distant_lightning_bolt"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "60"; + var_00 = common_scripts\utility::createexploder("h2o_distant_lightning_bolt"); + var_00 common_scripts\_createfx::set_origin_and_angles((17181.9,6350.61,13422),(90,0,0)); + var_00.v["fxid"] = "h2o_distant_lightning_bolt"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "60"; + var_00 = common_scripts\utility::createexploder("h2o_distant_lightning_bolt"); + var_00 common_scripts\_createfx::set_origin_and_angles((13884.8,-7714.65,11218),(90,0,0)); + var_00.v["fxid"] = "h2o_distant_lightning_bolt"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "60"; + var_00 = common_scripts\utility::createexploder("h2o_distant_lightning_bolt"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1949.74,19164.4,13422),(90,0,-90)); + var_00.v["fxid"] = "h2o_distant_lightning_bolt"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "60"; + var_00 = common_scripts\utility::createexploder("h2o_distant_lightning_bolt"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4013.49,-17879.1,9236),(90,0,-90)); + var_00.v["fxid"] = "h2o_distant_lightning_bolt"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "60"; + var_00 = common_scripts\utility::createexploder("h2o_distant_lightning_bolt"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16777.6,-15641.8,13422),(90,0,180)); + var_00.v["fxid"] = "h2o_distant_lightning_bolt"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "60"; + var_00 = common_scripts\utility::createexploder("h2o_distant_lightning_bolt"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15831.9,-1515.09,14088),(90,0,180)); + var_00.v["fxid"] = "h2o_distant_lightning_bolt"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "60"; + var_00 = common_scripts\utility::createexploder("h2o_distant_lightning_bolt"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13972.8,10738.3,13422),(90,0,180)); + var_00.v["fxid"] = "h2o_distant_lightning_bolt"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "60"; + var_00 = common_scripts\utility::createexploder("h2o_distant_lightning_bolt_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((10790.4,-132.998,3500),(90,0,0)); + var_00.v["fxid"] = "h2o_distant_lightning_bolt_sm"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "60"; + var_00 = common_scripts\utility::createexploder("h2o_distant_lightning_bolt_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-383.438,16979.3,4464.69),(90,0,0)); + var_00.v["fxid"] = "h2o_distant_lightning_bolt_sm"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "60"; + var_00 = common_scripts\utility::createexploder("h2o_distant_lightning_bolt_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6974.29,-9856.06,3538.31),(90,0,0)); + var_00.v["fxid"] = "h2o_distant_lightning_bolt_sm"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "60"; + var_00 = common_scripts\utility::createexploder("h2o_distant_lightning_bolt_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15315.6,6607.9,3611.81),(90,0,0)); + var_00.v["fxid"] = "h2o_distant_lightning_bolt_sm"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "60"; + var_00 = common_scripts\utility::createexploder("h2o_boss_contam_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((198.944,-4933.75,-626.875),(270,119.368,150.632)); + var_00.v["fxid"] = "h2o_boss_contam_1"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "90"; + var_00 = common_scripts\utility::createexploder("h2o_boss_contam_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-578.408,-4928.33,-626.875),(270,119.368,150.632)); + var_00.v["fxid"] = "h2o_boss_contam_1"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "90"; + var_00 = common_scripts\utility::createexploder("h2o_boss_laser_grid_warning"); + var_00 common_scripts\_createfx::set_origin_and_angles((-806.854,-4221.26,-402.509),(0,270,90)); + var_00.v["fxid"] = "h2o_boss_laser_grid_warning"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "91"; + var_00 = common_scripts\utility::createexploder("h2o_boss_laser_grid_active"); + var_00 common_scripts\_createfx::set_origin_and_angles((-806.995,-4221.27,-402.509),(0,270,90)); + var_00.v["fxid"] = "h2o_boss_laser_grid_active"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "92"; + var_00 = common_scripts\utility::createexploder("h2o_ee_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((2223.13,2226.42,52.9788),(341.056,270.057,-2.34385)); + var_00.v["fxid"] = "h2o_ee_steam_vents"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "30"; + var_00 = common_scripts\utility::createexploder("h2o_ee_valve_light_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1943.71,4924.97,324.902),(359.791,348,-90.9787)); + var_00.v["fxid"] = "h2o_ee_valve_light_flare"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "40"; + var_00 = common_scripts\utility::createexploder("h2o_ee_valve_light_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1471.1,4617.15,643.107),(3.11887,101.252,90.9489)); + var_00.v["fxid"] = "h2o_ee_valve_light_flare"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "42"; + var_00 = common_scripts\utility::createexploder("h2o_ee_valve_light_flare"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1408.29,5108.42,579.75),(0,215,0)); + var_00.v["fxid"] = "h2o_ee_valve_light_flare"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "41"; + var_00 = common_scripts\utility::createexploder("h2o_ee_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((2169.46,2193.94,107.994),(5,183.004,0.104881)); + var_00.v["fxid"] = "h2o_ee_steam_vents"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "30"; + var_00 = common_scripts\utility::createexploder("h2o_ee_steam_vents"); + var_00 common_scripts\_createfx::set_origin_and_angles((2180.12,2174.72,109.525),(15,196,0)); + var_00.v["fxid"] = "h2o_ee_steam_vents"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "30"; + var_00 = common_scripts\utility::createexploder("h2o_ee_capacitor_charge_complete"); + var_00 common_scripts\_createfx::set_origin_and_angles((-805.411,2619.58,-48.971),(358.944,140.033,-90.9336)); + var_00.v["fxid"] = "h2o_ee_capacitor_charge_complete"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "50"; + var_00 = common_scripts\utility::createexploder("h2o_ee_underwater_valve_flare_off"); + var_00 common_scripts\_createfx::set_origin_and_angles((2630.86,3796.72,-46.6667),(270,0,0)); + var_00.v["fxid"] = "h2o_ee_underwater_valve_flare_off"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "70"; + var_00 = common_scripts\utility::createexploder("h2o_ee_underwater_valve_flare_on"); + var_00 common_scripts\_createfx::set_origin_and_angles((2631.54,3797.05,-49.1691),(270,0,0)); + var_00.v["fxid"] = "h2o_ee_underwater_valve_flare_on"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "71"; + var_00 = common_scripts\utility::createexploder("h2o_ee_capacitor_charge_hint_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-805.477,2612.82,-51.5538),(0,0,0)); + var_00.v["fxid"] = "h2o_ee_capacitor_charge_hint_lp"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "85"; + var_00 = common_scripts\utility::createexploder("h2o_ee_capacitor_charge"); + var_00 common_scripts\_createfx::set_origin_and_angles((-806.895,2614.02,-44.5293),(358.944,140.033,-90.9336)); + var_00.v["fxid"] = "h2o_ee_capacitor_charge"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "51"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3228.82,4055.49,1700),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "h2o_thunder"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2218.55,4225.56,1732.14),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "h2o_thunder"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-5478.25,-773.26,1749.51),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "h2o_thunder"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-5823.57,3157.76,113.798),(270,0,0)); + var_00.v["delay_min"] = 15; + var_00.v["delay_max"] = 120; + var_00.v["soundalias"] = "h2o_amb_gurgle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((850.882,-941.725,43.3311),(270,0,0)); + var_00.v["delay_min"] = 15; + var_00.v["delay_max"] = 120; + var_00.v["soundalias"] = "h2o_amb_gurgle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-4798.9,-1278.51,31.3731),(270,0,0)); + var_00.v["delay_min"] = 15; + var_00.v["delay_max"] = 120; + var_00.v["soundalias"] = "h2o_amb_gurgle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((98.2018,7585.7,85.0503),(270,0,0)); + var_00.v["delay_min"] = 15; + var_00.v["delay_max"] = 120; + var_00.v["soundalias"] = "h2o_amb_gurgle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-498.625,2704.95,-78.722),(270,0,0)); + var_00.v["delay_min"] = 11; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "h2o_safetey_glass_shards"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-636.561,2697.31,-72.2557),(270,0,0)); + var_00.v["delay_min"] = 11; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "h2o_glass_pane_shards"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-421.731,2003.35,-3.52148),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 40; + var_00.v["soundalias"] = "h2o_underwater_thunder"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((561.319,373.717,778.125),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "h2o_wave_splash"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((619.921,40.9031,772.367),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "h2o_wave_surge"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((590.861,-186.118,769.875),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "h2o_wave_splash"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((408.497,-219.539,768.588),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "h2o_wave_surge"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((199.656,-359.436,771.202),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "h2o_wave_splash"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((49.7274,-491.819,773.214),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "h2o_wave_surge"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-329.603,-460.327,769.536),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "h2o_wave_splash"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-173.494,-492.014,770.423),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "h2o_wave_surge"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-474.413,-355.478,768.981),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "h2o_wave_splash"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-678.268,-219.576,769.669),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "h2o_wave_surge"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-833.691,-201.806,772.25),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "h2o_wave_splash"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-876.007,-38.4587,770.419),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "h2o_wave_surge"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-876.681,268.505,769.749),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "h2o_wave_splash"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-781.721,387.695,768.816),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "h2o_wave_surge"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-496.098,387.783,766.133),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "h2o_wave_splash"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-294.417,401.129,766.769),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "h2o_wave_surge"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-52.7298,387.573,771.664),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "h2o_wave_splash"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((168.91,400.209,765.899),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "h2o_wave_surge"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((446.962,387.595,768.169),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "h2o_wave_splash"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1935.66,4985.94,747.852),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "h2o_wave_surge"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1927.39,4764.87,745.604),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "h2o_wave_splash"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1950.95,4880.17,741.63),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "h2o_wave_surge"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1401.64,4665.57,745.594),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "h2o_wave_splash"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1559.47,4576.06,749.893),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "h2o_wave_surge"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1700.14,4573.28,742.94),(270,0,0)); + var_00.v["delay_min"] = 3; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "h2o_wave_splash"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1790.98,4610.37,742.076),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 8; + var_00.v["soundalias"] = "h2o_wave_surge"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1375.86,1264.88,86.9271),(270,0,0)); + var_00.v["delay_min"] = 11; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "h2o_falling_bottle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1634.26,1032.14,55.5521),(270,0,0)); + var_00.v["delay_min"] = 11; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "h2o_falling_bottle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2259.55,1645.68,-35.1941),(270,0,0)); + var_00.v["delay_min"] = 11; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "h2o_falling_bottle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((437.85,3084.45,-75.9044),(270,0,0)); + var_00.v["delay_min"] = 11; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "h2o_falling_bottle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2119.13,2911.95,10.7814),(270,0,0)); + var_00.v["delay_min"] = 11; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "h2o_falling_bottle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1681.23,1717.39,-71.4119),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 120; + var_00.v["soundalias"] = "h2o_dist_scream_1"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1665.45,2832.4,-64.5),(270,0,0)); + var_00.v["delay_min"] = 5; + var_00.v["delay_max"] = 120; + var_00.v["soundalias"] = "h2o_dist_scream_2"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((641.527,2768.73,319.315),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "h2o_dist_bump"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((981.785,-17.1937,351.113),(270,0,0)); + var_00.v["delay_min"] = 10; + var_00.v["delay_max"] = 60; + var_00.v["soundalias"] = "h2o_dist_bump"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1058.35,3676.42,258.125),(270,0,0)); + var_00.v["delay_min"] = 11; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "h2o_falling_bottle"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2147.15,2829.51,-3.13971),(270,0,0)); + var_00.v["delay_min"] = 11; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "h2o_safetey_glass_shards"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-633.453,1219.9,74.2762),(270,0,0)); + var_00.v["delay_min"] = 11; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "h2o_glass_pane_shards"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2097.67,2830.26,32.7886),(270,0,0)); + var_00.v["delay_min"] = 11; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "h2o_glass_pane_shards"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((987.384,2589.56,54.125),(270,0,0)); + var_00.v["delay_min"] = 11; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "h2o_glass_pane_shards"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((940.789,2331.38,35.5805),(270,0,0)); + var_00.v["delay_min"] = 11; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "h2o_safetey_glass_shards"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((977.807,2290.84,27.9384),(270,0,0)); + var_00.v["delay_min"] = 11; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "h2o_glass_pane_shards"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1283.46,2469.66,51.5805),(270,0,0)); + var_00.v["delay_min"] = 11; + var_00.v["delay_max"] = 16; + var_00.v["soundalias"] = "h2o_glass_pane_shards"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((6272,-22592,48),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 10; + var_00.v["soundalias"] = "h2o_safetey_glass_shards_bus"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/mp_zombie_lab_fx.gsc b/AW/PC/maps/createfx/mp_zombie_lab_fx.gsc new file mode 100644 index 0000000..e4ed47e --- /dev/null +++ b/AW/PC/maps/createfx/mp_zombie_lab_fx.gsc @@ -0,0 +1,1692 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\mp_zombie_lab_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 94 ms + * Timestamp: 4/22/2024 2:07:53 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1605,3034,151),(270,0,0)); + var_00.v["soundalias"] = "ee_computer_loop"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((755.746,-257.589,104),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_ext_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((930,-129,104),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_ext_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1147.35,35.0034,104),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_ext_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1520.13,2037.9,68.5),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_int_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1309.28,2010.29,68.5),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_int_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1354.86,2240.96,68.5),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_int_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1139.33,2522.72,80.8335),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_int_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1415.61,2118.85,224.347),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_int_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((545.954,-84.9515,148.828),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_ext_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-89.1964,485.647,180.554),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_ext_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1213.14,2359.91,96.554),(270,0,0)); + var_00.v["soundalias"] = "zlab_bio_tank_loop_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1210.2,2224.7,102.554),(270,0,0)); + var_00.v["soundalias"] = "zlab_bio_tank_loop_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((898.503,2227.31,108.554),(270,0,0)); + var_00.v["soundalias"] = "zlab_bio_tank_loop_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-933.207,1991.54,128.554),(270,0,0)); + var_00.v["soundalias"] = "zlab_alarm_loop_small_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((82.5345,1514.19,450.554),(270,0,0)); + var_00.v["soundalias"] = "zlab_alarm_loop_large_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1636.97,2229.6,137.554),(270,0,0)); + var_00.v["soundalias"] = "zlab_alarm_loop_large_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2001.59,1230.16,233.554),(270,0,0)); + var_00.v["soundalias"] = "zlab_alarm_loop_large_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1439.13,2464.79,78.554),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_gush_loop_small_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((901.643,2355.58,102.205),(270,0,0)); + var_00.v["soundalias"] = "zlab_bio_tank_loop_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-666.414,3489.82,87.2826),(270,0,0)); + var_00.v["soundalias"] = "zlab_bio_tank_loop_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-666.489,3567.23,91.6804),(270,0,0)); + var_00.v["soundalias"] = "zlab_bio_tank_loop_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-666.483,3647.31,92.0007),(270,0,0)); + var_00.v["soundalias"] = "zlab_bio_tank_loop_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-666.364,3729.18,93.7532),(270,0,0)); + var_00.v["soundalias"] = "zlab_bio_tank_loop_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-666.557,3811.62,95.733),(270,0,0)); + var_00.v["soundalias"] = "zlab_bio_tank_loop_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1027.84,2058.92,129.919),(270,0,0)); + var_00.v["soundalias"] = "zlab_alarm_loop_small_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1703.01,1460.63,140.568),(270,0,0)); + var_00.v["soundalias"] = "zlab_alarm_loop_small_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1093.66,1460.63,139.498),(270,0,0)); + var_00.v["soundalias"] = "zlab_alarm_loop_small_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-603.029,4007.62,122.637),(270,0,0)); + var_00.v["soundalias"] = "zlab_alarm_loop_small_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-707.781,3410.73,122.384),(270,0,0)); + var_00.v["soundalias"] = "zlab_alarm_loop_small_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-289.147,4033.51,363.254),(270,0,0)); + var_00.v["soundalias"] = "zlab_large_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((218.89,4032.96,357.83),(270,0,0)); + var_00.v["soundalias"] = "zlab_large_vent_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((355.836,2935.63,376.162),(270,0,0)); + var_00.v["soundalias"] = "zlab_large_vent_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-689.299,3219,363.2),(270,0,0)); + var_00.v["soundalias"] = "zlab_vent_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-673.088,3901.06,189.957),(270,0,0)); + var_00.v["soundalias"] = "zlab_vent_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-736,3412.23,72.3843),(270,0,0)); + var_00.v["soundalias"] = "zlab_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1093.45,1958.93,188.453),(270,0,0)); + var_00.v["soundalias"] = "zlab_large_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1524.49,2063.12,188.586),(270,0,0)); + var_00.v["soundalias"] = "zlab_large_vent_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1525.39,2485.39,187.13),(270,0,0)); + var_00.v["soundalias"] = "zlab_large_vent_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1449.66,3460.06,206.093),(270,0,0)); + var_00.v["soundalias"] = "zlab_vent_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1241.08,3191.85,205.507),(270,0,0)); + var_00.v["soundalias"] = "zlab_vent_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((796.012,2437.34,188.819),(270,0,0)); + var_00.v["soundalias"] = "zlab_vent_06"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1182.05,1786.26,224.415),(270,0,0)); + var_00.v["soundalias"] = "zlab_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((933.649,1462.71,91.4832),(270,0,0)); + var_00.v["soundalias"] = "zlab_vent_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1762.08,1996.63,91.7664),(270,0,0)); + var_00.v["soundalias"] = "zlab_vent_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1372.44,2535.17,313.694),(270,0,0)); + var_00.v["soundalias"] = "zlab_vent_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((643.125,641.723,120.807),(270,0,0)); + var_00.v["soundalias"] = "zlab_vent_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((725.061,1346.44,164.437),(270,0,0)); + var_00.v["soundalias"] = "zlab_vent_06"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((791.47,916.229,72.3828),(270,0,0)); + var_00.v["soundalias"] = "zlab_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((984.875,907.879,69.4082),(270,0,0)); + var_00.v["soundalias"] = "zlab_vent_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((30.0679,2126.93,90.976),(270,0,0)); + var_00.v["soundalias"] = "zlab_vent_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1565.48,1653.43,130.016),(270,0,0)); + var_00.v["soundalias"] = "zlab_large_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1036.13,1679.88,124.208),(270,0,0)); + var_00.v["soundalias"] = "zlab_large_vent_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((249.875,678.711,89.1278),(270,0,0)); + var_00.v["soundalias"] = "zlab_large vent_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-55.1976,964.338,98.1465),(270,0,0)); + var_00.v["soundalias"] = "zlab_machine_drone_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-100.547,3336.38,366.267),(270,0,0)); + var_00.v["soundalias"] = "zlab_machine_drone_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-450.164,4466.22,235.369),(270,0,0)); + var_00.v["soundalias"] = "zlab_machine_drone_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1069.63,2437.77,162.414),(270,0,0)); + var_00.v["soundalias"] = "zlab_machine_drone_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((131.42,1499.98,63.5),(270,0,0)); + var_00.v["soundalias"] = "zlab_machine_drone_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1183.07,1888.94,64.125),(270,0,0)); + var_00.v["soundalias"] = "zlab_machine_drone_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((794.83,1284.49,6.25147),(270,0,0)); + var_00.v["soundalias"] = "zlab_machine_drone_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((746.11,915.996,57.1872),(270,0,0)); + var_00.v["soundalias"] = "zlab_machine_drone_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1040.88,894.698,58.5004),(270,0,0)); + var_00.v["soundalias"] = "zlab_machine_drone_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1239.88,200.984,192.124),(270,0,0)); + var_00.v["soundalias"] = "zlab_machine_drone_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((888.023,2051.61,99.4378),(270,0,0)); + var_00.v["soundalias"] = "zlab_bio_tank_loop_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1862.29,972.771,201.875),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1608.03,974.45,201.875),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1450.95,1072.23,201.875),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1452.85,1290.55,201.875),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((891.043,1562.44,258.338),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1096.59,1894.51,189.095),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1248.52,1659.48,192.87),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((713.109,2269.83,189.553),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1521.88,2211.58,190.565),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((860.611,3187.95,362.388),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1184.13,3869.61,362.179),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1058.64,3996.17,362.1),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-361.086,4033,196.227),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-733,3323.66,161.356),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((98.3237,3211.55,354.948),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((57.6793,4059.19,160.586),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-494.307,4430.41,363.943),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-849.125,3751.14,378.334),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-875.639,3451.39,374.375),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-744,3122.17,166.264),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1012.01,2842.38,185.198),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-950.531,3114.4,187.458),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1593.44,2302.72,388.024),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-934.895,2156.21,190.802),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-507.694,1729.49,178.061),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-840.894,2060.88,203),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-783.055,1765.65,138.633),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-24.4618,1596,499.442),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((34.0014,1395.66,503.183),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((234.269,1461.94,502.313),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-644.046,2435.44,217.122),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1280.8,2912.51,310.244),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1665.46,2798.13,124.691),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2002.01,2931.12,308.682),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_wide_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-69.1963,-143.992,368.398),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_wide_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-89.0986,191.945,334.691),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_wide_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-75.5716,560.267,335.074),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_wide_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1212.49,358.949,337.975),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_wide_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1211.52,159.821,338.295),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_wide_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((585.16,-511.568,376.289),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_wide_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((682.059,577.672,150.5),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((988.227,1378.25,160.402),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((3.31098,4110.39,103.238),(270,0,0)); + var_00.v["soundalias"] = "zlab_bio_tank_loop_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-615.734,3212.55,138.014),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1391.12,2032,138.691),(270,0,0)); + var_00.v["soundalias"] = "zlab_computer_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1080.53,3096.65,279.125),(270,0,0)); + var_00.v["soundalias"] = "zlab_computer_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1160.37,3040.78,284.603),(270,0,0)); + var_00.v["soundalias"] = "zlab_computer_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-734,3326.78,104.535),(270,0,0)); + var_00.v["soundalias"] = "zlab_computer_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-777.648,1760.25,130.376),(270,0,0)); + var_00.v["soundalias"] = "zlab_computer_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-993.935,2061.34,112.03),(270,0,0)); + var_00.v["soundalias"] = "zlab_computer_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-589.48,4020.39,90.6383),(270,0,0)); + var_00.v["soundalias"] = "zlab_computer_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((956.147,2717.31,274.343),(270,0,0)); + var_00.v["soundalias"] = "zlab_machine_drone_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-685.017,3992.07,95.1059),(270,0,0)); + var_00.v["soundalias"] = "zlab_electromechanical_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-695.164,3433.75,85.2192),(270,0,0)); + var_00.v["soundalias"] = "zlab_electromechanical_06"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((705.537,2709.35,280.136),(270,0,0)); + var_00.v["soundalias"] = "zlab_electromechanical_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1156.24,2438,133.026),(270,0,0)); + var_00.v["soundalias"] = "zlab_electromechanical_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1619.33,2988.98,155.32),(270,0,0)); + var_00.v["soundalias"] = "zlab_electromechanical_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-208.307,2301.07,120.144),(270,0,0)); + var_00.v["soundalias"] = "zlab_electromechanical_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-619.489,3182.77,138.33),(270,0,0)); + var_00.v["soundalias"] = "zlab_electromechanical_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-717.353,2128.77,89.7),(270,0,0)); + var_00.v["soundalias"] = "zlab_electromechanical_06"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((851.711,3864.22,277.058),(270,0,0)); + var_00.v["soundalias"] = "zlab_morgue_vent_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1150.45,3099.85,299.443),(270,0,0)); + var_00.v["soundalias"] = "zlab_electromechanical_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((673,3654.76,342.732),(270,0,0)); + var_00.v["soundalias"] = "zlab_light_hum_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1095.21,3188.5,301.166),(270,0,0)); + var_00.v["soundalias"] = "zlab_electromechanical_05"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-171.145,1521.34,216),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_int_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((315.49,1525.19,217.125),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_int_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((100.936,1502.43,216.5),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_int_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-341.086,1398.64,152.125),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_int_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((91.0311,1108.99,63.6505),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_int_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((530.33,1535.2,64),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_int_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((115.218,1968.49,64),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_int_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-208.55,1842.28,64),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_int_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-222.85,1208.7,64),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_int_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-102.617,1775.34,64),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_int_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((300.037,1338.37,64),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_int_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-24.6407,1392.53,64),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_int_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((336.745,1723.54,52.1527),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_int_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((891.135,374.071,53.065),(270,0,0)); + var_00.v["soundalias"] = "zlab_int_door_rain"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((92.8328,598.656,55.0484),(270,0,0)); + var_00.v["soundalias"] = "zlab_int_door_rain"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-574.382,2165.06,64),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_int_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-704.582,2344.31,64),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_int_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-891.891,2532.01,64),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_int_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1203.01,2782.37,64.125),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_int_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1083.88,2767.59,64),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_int_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1015.01,2669.29,64),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_int_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-792.547,2428.05,64),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_int_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-620.453,2199.86,64),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_gush_loop_large_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-966.652,2577.68,64),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_gush_loop_large_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1212.58,2810.51,64.125),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_gush_loop_large_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1061.27,2760.25,64.125),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_gush_loop_large_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-313.825,3358.81,378.224),(270,0,0)); + var_00.v["soundalias"] = "zlab_machine_drone_04"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-1076.78,1782.61,128.125),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_int_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((862.511,-249.69,36.8448),(270,0,0)); + var_00.v["soundalias"] = "zlab_fire_1"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1093.12,-30.0247,39.9205),(270,0,0)); + var_00.v["soundalias"] = "zlab_fire_2"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2113.57,1529.37,95.0991),(270,0,0)); + var_00.v["soundalias"] = "zlab_fire_3"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-137.015,12.5646,131.857),(270,0,0)); + var_00.v["soundalias"] = "zlab_water_drips_loop_metal_ext_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1043.14,2727.69,263.424),(270,0,0)); + var_00.v["soundalias"] = "zlab_computer_03"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((964.107,2650.94,262.457),(270,0,0)); + var_00.v["soundalias"] = "zlab_computer_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((688.825,2600.48,300.857),(270,0,0)); + var_00.v["soundalias"] = "zlab_bio_tank_loop_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-2110.21,2853.16,199.99),(270,0,0)); + var_00.v["soundalias"] = "zlab_machine_drone_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((719.514,3279.9,279.861),(270,0,0)); + var_00.v["soundalias"] = "zlab_morgue_vent_02"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1103.55,-115.645,74.4622),(270,0,0)); + var_00.v["soundalias"] = "zlab_radio_chatter"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((712.377,-411.024,135.483),(270,0,0)); + var_00.v["soundalias"] = "zlab_broken_turbine"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((486,3272.27,304.955),(270,0,0)); + var_00.v["soundalias"] = "zlab_computer_01"; + var_00 = common_scripts\_createfx::createloopsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1154.96,898.311,197.273),(270,0,0)); + var_00.v["soundalias"] = "zlab_jungle_corner_lp"; + var_00 = common_scripts\utility::createloopeffect("fire_lp_l_base_calm"); + var_00 common_scripts\_createfx::set_origin_and_angles((869.587,-298.316,65.125),(270,0,89)); + var_00.v["fxid"] = "fire_lp_l_base_calm"; + var_00.v["delay"] = 0.5; + var_00 = common_scripts\utility::createloopeffect("fire_lp_m_base_calm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1092.19,-254.362,198.106),(270,0,76)); + var_00.v["fxid"] = "fire_lp_m_base_calm"; + var_00.v["delay"] = 0.5; + var_00 = common_scripts\utility::createloopeffect("fire_lp_s_base_calm"); + var_00 common_scripts\_createfx::set_origin_and_angles((822.834,-218.047,12.2564),(270,0,76)); + var_00.v["fxid"] = "fire_lp_s_base_calm"; + var_00.v["delay"] = 0.5; + var_00 = common_scripts\utility::createoneshoteffect("dlc_morgue_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((888.254,2338.03,92.5944),(270,0,0)); + var_00.v["fxid"] = "dlc_morgue_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_vent"); + var_00 common_scripts\_createfx::set_origin_and_angles((876.156,3863.79,335.875),(274.622,12.5709,78.5821)); + var_00.v["fxid"] = "zombie_lab_dry_ice_vent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_low"); + var_00 common_scripts\_createfx::set_origin_and_angles((1672.8,3531.26,235),(0,78,0)); + var_00.v["fxid"] = "zombie_lab_dry_ice_low"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_low"); + var_00 common_scripts\_createfx::set_origin_and_angles((1353.81,3405.82,238),(0,351,0)); + var_00.v["fxid"] = "zombie_lab_dry_ice_low"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_low"); + var_00 common_scripts\_createfx::set_origin_and_angles((1004.93,4235.23,231),(0,236,0)); + var_00.v["fxid"] = "zombie_lab_dry_ice_low"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_vent"); + var_00 common_scripts\_createfx::set_origin_and_angles((1500.68,3523.19,371.108),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_dry_ice_vent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_vent"); + var_00 common_scripts\_createfx::set_origin_and_angles((1351.74,4240.02,358),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_dry_ice_vent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_low"); + var_00 common_scripts\_createfx::set_origin_and_angles((829.426,4179.32,235.943),(0,264,0)); + var_00.v["fxid"] = "zombie_lab_dry_ice_low"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_vent"); + var_00 common_scripts\_createfx::set_origin_and_angles((943.926,4109.81,344.875),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_dry_ice_vent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_vent"); + var_00 common_scripts\_createfx::set_origin_and_angles((1044.12,4120.76,357.215),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_dry_ice_vent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_low"); + var_00 common_scripts\_createfx::set_origin_and_angles((1745.89,4037.47,325.125),(360,92,-29)); + var_00.v["fxid"] = "zombie_lab_dry_ice_low"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_low"); + var_00 common_scripts\_createfx::set_origin_and_angles((1383.07,3683.49,241.125),(0,358,0)); + var_00.v["fxid"] = "zombie_lab_dry_ice_low"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_vent"); + var_00 common_scripts\_createfx::set_origin_and_angles((1401.04,3711.97,329),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_dry_ice_vent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_vent"); + var_00 common_scripts\_createfx::set_origin_and_angles((1405.17,3948.11,368),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_dry_ice_vent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_vent"); + var_00 common_scripts\_createfx::set_origin_and_angles((1339,3535.96,370.618),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_dry_ice_vent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_particles_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((1009.55,3691.5,230),(270,0,0)); + var_00.v["fxid"] = "ambient_particles_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_particles_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((1450.12,3243.93,94.125),(270,0,0)); + var_00.v["fxid"] = "ambient_particles_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_body_tube"); + var_00 common_scripts\_createfx::set_origin_and_angles((-698.168,3808.69,66.9357),(270,0,90)); + var_00.v["fxid"] = "zombie_lab_body_tube"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_body_tube_s2"); + var_00 common_scripts\_createfx::set_origin_and_angles((-697.639,3728.74,64.4435),(270,0,90)); + var_00.v["fxid"] = "zombie_lab_body_tube_s2"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_body_tube"); + var_00 common_scripts\_createfx::set_origin_and_angles((-697.511,3648.88,67.0718),(270,0,90)); + var_00.v["fxid"] = "zombie_lab_body_tube"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_body_tube"); + var_00 common_scripts\_createfx::set_origin_and_angles((-698.255,3568.83,67.1243),(270,0,90)); + var_00.v["fxid"] = "zombie_lab_body_tube"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_body_tube_s1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-698.399,3488.94,90.9917),(270,0,90)); + var_00.v["fxid"] = "zombie_lab_body_tube_s1"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_body_tube_morgue"); + var_00 common_scripts\_createfx::set_origin_and_angles((889.513,2046.62,96.2004),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_body_tube_morgue"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_body_tube_morgue"); + var_00 common_scripts\_createfx::set_origin_and_angles((1212.83,2258.43,96.0985),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_body_tube_morgue"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_body_tube_morgue"); + var_00 common_scripts\_createfx::set_origin_and_angles((1212.17,2331.04,96.3101),(270,0,-180)); + var_00.v["fxid"] = "zombie_lab_body_tube_morgue"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_body_tube_morgue"); + var_00 common_scripts\_createfx::set_origin_and_angles((903.225,2259.31,96.3477),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_body_tube_morgue"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_body_tube_morgue"); + var_00 common_scripts\_createfx::set_origin_and_angles((904.221,2331.15,99.5258),(270,0,-180)); + var_00.v["fxid"] = "zombie_lab_body_tube_morgue"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_water_gutter_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1433.35,2462.49,90.192),(4.71186,60.1043,-89.6442)); + var_00.v["fxid"] = "dlc_water_gutter_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dripping_ceiling_holding"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1332.99,2158.47,68),(270,0,0)); + var_00.v["fxid"] = "dripping_ceiling_holding"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_flare_blue_bright_cool_squares_dlc"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21.9191,1597.98,500.904),(40.778,330.9,0)); + var_00.v["fxid"] = "fx_flare_blue_bright_cool_squares_dlc"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_flare_blue_bright_cool_squares_dlc"); + var_00 common_scripts\_createfx::set_origin_and_angles((31.8195,1390.87,503.092),(32.5219,154.9,0)); + var_00.v["fxid"] = "fx_flare_blue_bright_cool_squares_dlc"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_flare_blue_bright_cool_squares_dlc"); + var_00 common_scripts\_createfx::set_origin_and_angles((235.566,1461.08,502.851),(32.5219,248.9,0)); + var_00.v["fxid"] = "fx_flare_blue_bright_cool_squares_dlc"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("ambient_particles_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((1033.84,2229.97,106),(270,0,0)); + var_00.v["fxid"] = "ambient_particles_bright"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_rain_small_outside"); + var_00 common_scripts\_createfx::set_origin_and_angles((138.768,287.302,0.125),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_rain_small_outside"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_rain_small_outside"); + var_00 common_scripts\_createfx::set_origin_and_angles((474.265,-277.606,0.125),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_rain_small_outside"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_rain_small_outside"); + var_00 common_scripts\_createfx::set_origin_and_angles((650.801,208.746,0.124969),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_rain_small_outside"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_rain_small_outside"); + var_00 common_scripts\_createfx::set_origin_and_angles((1060.18,138.593,0.125),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_rain_small_outside"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_raindrop_rings_area"); + var_00 common_scripts\_createfx::set_origin_and_angles((147.544,291.545,0.125),(270,0,0)); + var_00.v["fxid"] = "dlc_raindrop_rings_area"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_raindrop_rings_area"); + var_00 common_scripts\_createfx::set_origin_and_angles((406.532,-267.646,0.125),(270,0,0)); + var_00.v["fxid"] = "dlc_raindrop_rings_area"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_raindrop_rings_area"); + var_00 common_scripts\_createfx::set_origin_and_angles((652.242,194.383,0.125),(270,0,0)); + var_00.v["fxid"] = "dlc_raindrop_rings_area"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_raindrop_rings_area"); + var_00 common_scripts\_createfx::set_origin_and_angles((1054.68,131.417,0.125),(270,0,0)); + var_00.v["fxid"] = "dlc_raindrop_rings_area"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fire_crawl_wall_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((1221,-291.003,58.9962),(0,180,0)); + var_00.v["fxid"] = "fire_crawl_wall_lrg"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_dmg_fire_box"); + var_00 common_scripts\_createfx::set_origin_and_angles((1128.8,-20.8687,7.712),(275.719,100.064,0)); + var_00.v["fxid"] = "dlc_dmg_fire_box"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_dmg_fire_box"); + var_00 common_scripts\_createfx::set_origin_and_angles((844.8,-300.273,0.125),(270,0,0)); + var_00.v["fxid"] = "dlc_dmg_fire_box"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_crashed_vtol"); + var_00 common_scripts\_createfx::set_origin_and_angles((1107.16,-364.179,31.125),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_crashed_vtol"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_steam_building_smoggy"); + var_00 common_scripts\_createfx::set_origin_and_angles((-686.014,391.496,324.125),(270,0,0)); + var_00.v["fxid"] = "dlc_steam_building_smoggy"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_damage_sparks_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((569.777,-440.275,191.292),(270,0,-112)); + var_00.v["fxid"] = "dlc_damage_sparks_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_damage_sparks_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-843.29,2063.41,196),(317.257,263.633,21.2861)); + var_00.v["fxid"] = "dlc_damage_sparks_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_damage_sparks_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1143.48,-35.6885,87.9519),(317.257,263.633,21.2861)); + var_00.v["fxid"] = "dlc_damage_sparks_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_body_tube"); + var_00 common_scripts\_createfx::set_origin_and_angles((-38.7979,4261.56,147.601),(270,0,90)); + var_00.v["fxid"] = "zombie_lab_body_tube"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_body_tube"); + var_00 common_scripts\_createfx::set_origin_and_angles((-39.3622,4182.31,146.402),(270,0,90)); + var_00.v["fxid"] = "zombie_lab_body_tube"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_body_tube"); + var_00 common_scripts\_createfx::set_origin_and_angles((-39.4106,4101.76,147.918),(270,0,90)); + var_00.v["fxid"] = "zombie_lab_body_tube"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_body_tube"); + var_00 common_scripts\_createfx::set_origin_and_angles((-39.3648,4421.81,146.387),(270,0,90)); + var_00.v["fxid"] = "zombie_lab_body_tube"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_courtyard_flare_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1209.66,157.821,340.603),(15.1393,177.871,0)); + var_00.v["fxid"] = "dlc_courtyard_flare_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_courtyard_flare_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1214.91,354.199,339.452),(36.8877,238.609,0)); + var_00.v["fxid"] = "dlc_courtyard_flare_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_courtyard_flare_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((378.636,354.953,339.709),(40.7459,227.898,0)); + var_00.v["fxid"] = "dlc_courtyard_flare_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_courtyard_flare_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-71.5735,558.025,340.955),(15.1393,328.329,0)); + var_00.v["fxid"] = "dlc_courtyard_flare_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_courtyard_flare_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1215.23,-171.578,339.714),(36.8877,134.191,0)); + var_00.v["fxid"] = "dlc_courtyard_flare_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_courtyard_flare_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((574.59,-503.653,371.229),(40.7459,59.8976,0)); + var_00.v["fxid"] = "dlc_courtyard_flare_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_courtyard_flare_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-67.8076,-140.773,371.816),(40.7459,33.8024,0)); + var_00.v["fxid"] = "dlc_courtyard_flare_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_courtyard_flare_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-69.6341,219.539,340.881),(18.2777,3.94224,0)); + var_00.v["fxid"] = "dlc_courtyard_flare_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_courtyard_flare_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-102.654,175.124,340.455),(18.2777,285.958,0)); + var_00.v["fxid"] = "dlc_courtyard_flare_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_courtyard_tower_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((4431.6,-834.638,1705.55),(291.803,285.232,73.6546)); + var_00.v["fxid"] = "dlc_courtyard_tower_fire"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_courtyard_tower_fire"); + var_00 common_scripts\_createfx::set_origin_and_angles((5066.71,-599.036,1887.88),(291.803,285.232,73.6546)); + var_00.v["fxid"] = "dlc_courtyard_tower_fire"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_courtyard_tower_firefall"); + var_00 common_scripts\_createfx::set_origin_and_angles((4459.32,-762.19,1543.15),(270,0,0)); + var_00.v["fxid"] = "dlc_courtyard_tower_firefall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_horizon_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((32141.7,2619.36,5184.13),(270,0,0)); + var_00.v["fxid"] = "dlc_horizon_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11.3745,170.696,291.568),(9,0,0)); + var_00.v["fxid"] = "dlc_flare_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-32.3257,-106.521,286.99),(9,0,0)); + var_00.v["fxid"] = "dlc_flare_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((1138.09,164.974,257.112),(4.75489,301.682,-7.64997)); + var_00.v["fxid"] = "dlc_flare_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((1172.46,-153.81,275.432),(4.75489,301.682,-7.64997)); + var_00.v["fxid"] = "dlc_flare_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((578.315,-441.102,318.302),(4.75489,301.682,-7.64997)); + var_00.v["fxid"] = "dlc_flare_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10.968,495.078,234.109),(34.7149,316.333,-7.02709)); + var_00.v["fxid"] = "dlc_flare_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((333.788,324.231,265.625),(37.0597,207.421,-10.4578)); + var_00.v["fxid"] = "dlc_flare_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_mist"); + var_00 common_scripts\_createfx::set_origin_and_angles((1182.07,310.332,310.484),(24.9649,229.159,4.25441)); + var_00.v["fxid"] = "dlc_flare_mist"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_horizon_glow"); + var_00 common_scripts\_createfx::set_origin_and_angles((31442.6,7854.96,7590.64),(270,0,0)); + var_00.v["fxid"] = "dlc_horizon_glow"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_tlight_blink_red"); + var_00 common_scripts\_createfx::set_origin_and_angles((4621.01,1029.54,2560.36),(270,0,0)); + var_00.v["fxid"] = "dlc_tlight_blink_red"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("dlc_tlight_blink_red"); + var_00 common_scripts\_createfx::set_origin_and_angles((4609.28,1028.12,2183.34),(270,0,0)); + var_00.v["fxid"] = "dlc_tlight_blink_red"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("dlc_tlight_blink_red"); + var_00 common_scripts\_createfx::set_origin_and_angles((1968.91,-6492.55,3076.67),(270,0,0)); + var_00.v["fxid"] = "dlc_tlight_blink_red"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("dlc_damage_sparks_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((1573.83,1668.61,152.111),(16.5923,283.172,16.1518)); + var_00.v["fxid"] = "dlc_damage_sparks_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_cor"); + var_00 common_scripts\_createfx::set_origin_and_angles((929.658,1431.7,69.5243),(358,357,28)); + var_00.v["fxid"] = "zombie_lab_dry_ice_cor"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_cor"); + var_00 common_scripts\_createfx::set_origin_and_angles((740.019,1443.44,83.9265),(3,357,-13)); + var_00.v["fxid"] = "zombie_lab_dry_ice_cor"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_cor"); + var_00 common_scripts\_createfx::set_origin_and_angles((676.225,2280.34,339.293),(2.31554,272.882,-42.091)); + var_00.v["fxid"] = "zombie_lab_dry_ice_cor"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_cor"); + var_00 common_scripts\_createfx::set_origin_and_angles((702.211,2091.02,335.216),(2.31541,272.882,-62.0913)); + var_00.v["fxid"] = "zombie_lab_dry_ice_cor"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_cor"); + var_00 common_scripts\_createfx::set_origin_and_angles((698.403,2112.05,300.493),(2.31541,272.882,-62.0913)); + var_00.v["fxid"] = "zombie_lab_dry_ice_cor"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_cor"); + var_00 common_scripts\_createfx::set_origin_and_angles((692.512,2274.39,300.796),(2.31541,272.882,-62.0913)); + var_00.v["fxid"] = "zombie_lab_dry_ice_cor"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_cor"); + var_00 common_scripts\_createfx::set_origin_and_angles((1559.61,2814.07,338.241),(320.207,183.151,-80.3628)); + var_00.v["fxid"] = "zombie_lab_dry_ice_cor"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_tube_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((907.173,2271.03,243.445),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_tube_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_tube_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((898.69,2320.01,244.649),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_tube_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_tube_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((888.63,2015.38,239.764),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_tube_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_tube_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((1209.71,2320.36,243.652),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_tube_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_tube_long"); + var_00 common_scripts\_createfx::set_origin_and_angles((1217.14,2271.06,243.679),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_tube_long"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dripping_ceiling_shaft"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1079.31,1774.67,415.125),(270,0,0)); + var_00.v["fxid"] = "dripping_ceiling_shaft"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_column_rising_thick"); + var_00 common_scripts\_createfx::set_origin_and_angles((585.717,3505.25,214.075),(270,0,0)); + var_00.v["fxid"] = "steam_column_rising_thick"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_hall_water"); + var_00 common_scripts\_createfx::set_origin_and_angles((-615.41,2192.52,329.475),(0,45,0)); + var_00.v["fxid"] = "dlc_hall_water"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_hall_water"); + var_00 common_scripts\_createfx::set_origin_and_angles((-703.826,2366.16,356.579),(0,45,0)); + var_00.v["fxid"] = "dlc_hall_water"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_hall_water"); + var_00 common_scripts\_createfx::set_origin_and_angles((-857.17,2499.61,327.063),(0,45,0)); + var_00.v["fxid"] = "dlc_hall_water"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_hall_water"); + var_00 common_scripts\_createfx::set_origin_and_angles((-978.211,2592.27,328.061),(0,45,0)); + var_00.v["fxid"] = "dlc_hall_water"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_hall_water"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1063.69,2749.19,337.505),(0,45,0)); + var_00.v["fxid"] = "dlc_hall_water"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_hall_water"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1216.86,2785.56,326.593),(0,45,0)); + var_00.v["fxid"] = "dlc_hall_water"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_hallway_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-678.01,2378.38,64.386),(270,0,0)); + var_00.v["fxid"] = "dlc_hallway_splash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_hallway_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-707.218,2355.6,63.4599),(270,0,0)); + var_00.v["fxid"] = "dlc_hallway_splash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_hallway_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-855.509,2507.7,59.9466),(270,0,0)); + var_00.v["fxid"] = "dlc_hallway_splash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_hallway_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-963.211,2594.73,53.8777),(270,0,0)); + var_00.v["fxid"] = "dlc_hallway_splash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_hallway_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-985.112,2601.02,66.9363),(270,0,0)); + var_00.v["fxid"] = "dlc_hallway_splash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_hallway_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-930.285,2547.06,63.5264),(270,0,0)); + var_00.v["fxid"] = "dlc_hallway_splash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_hallway_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1021.58,2691.94,63.6028),(270,0,0)); + var_00.v["fxid"] = "dlc_hallway_splash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_hallway_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1027.73,2661.04,63.4741),(270,0,0)); + var_00.v["fxid"] = "dlc_hallway_splash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_hallway_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1092.7,2783.68,64.5938),(270,0,0)); + var_00.v["fxid"] = "dlc_hallway_splash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_hallway_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1217.6,2788.46,64.125),(270,0,0)); + var_00.v["fxid"] = "dlc_hallway_splash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_hallway_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-590.903,2151.87,64.125),(270,0,0)); + var_00.v["fxid"] = "dlc_hallway_splash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_hallway_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-563.909,2175.32,63.4327),(270,0,0)); + var_00.v["fxid"] = "dlc_hallway_splash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_hallway_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1071.63,2741.36,44.5857),(270,0,0)); + var_00.v["fxid"] = "dlc_hallway_splash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_flare_blue_bright_cool_squares_dlc"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1500.8,2655.31,298.544),(32.5219,34.1,0)); + var_00.v["fxid"] = "fx_flare_blue_bright_cool_squares_dlc"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_flare_blue_bright_cool_squares_dlc"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1392.99,2663.37,299.6),(32.5221,170,0)); + var_00.v["fxid"] = "fx_flare_blue_bright_cool_squares_dlc"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_hallway_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1163.85,1834.1,128.125),(270,0,0)); + var_00.v["fxid"] = "dlc_hallway_splash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_hallway_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1097.87,1823.73,128.125),(270,0,0)); + var_00.v["fxid"] = "dlc_hallway_splash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_hallway_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1095.17,1883.49,128.125),(270,0,0)); + var_00.v["fxid"] = "dlc_hallway_splash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_hallway_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1070.98,1796.88,128.125),(270,0,0)); + var_00.v["fxid"] = "dlc_hallway_splash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_hallway_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1019.52,1745.27,128.125),(270,0,0)); + var_00.v["fxid"] = "dlc_hallway_splash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_hallway_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1084.39,1685.53,128.125),(270,0,0)); + var_00.v["fxid"] = "dlc_hallway_splash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_hallway_splash"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1114.06,1761.99,128.125),(270,0,0)); + var_00.v["fxid"] = "dlc_hallway_splash"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_water_gutter_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-377.659,2781.42,107.235),(356,322,0)); + var_00.v["fxid"] = "dlc_water_gutter_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_water_gutter_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-378.202,2780.94,138.477),(1,322,0)); + var_00.v["fxid"] = "dlc_water_gutter_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_water_gutter_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-304.234,2706.73,123.53),(5.00479,136.005,0.104618)); + var_00.v["fxid"] = "dlc_water_gutter_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_water_gutter_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((-304.516,2705.56,108.148),(5.00479,136.005,0.104618)); + var_00.v["fxid"] = "dlc_water_gutter_small"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_hall_water"); + var_00 common_scripts\_createfx::set_origin_and_angles((-241.804,2770.35,225.875),(0,45,0)); + var_00.v["fxid"] = "dlc_hall_water"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dripping_ceiling_shaft"); + var_00 common_scripts\_createfx::set_origin_and_angles((-80.3422,1766.57,362.916),(270,0,0)); + var_00.v["fxid"] = "dripping_ceiling_shaft"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dripping_ceiling_shaft"); + var_00 common_scripts\_createfx::set_origin_and_angles((417.2,1523.54,286.061),(270,0,0)); + var_00.v["fxid"] = "dripping_ceiling_shaft"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dripping_ceiling_shaft"); + var_00 common_scripts\_createfx::set_origin_and_angles((-124.451,1331.89,522.875),(270,0,0)); + var_00.v["fxid"] = "dripping_ceiling_shaft"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_raindrop_rings_area"); + var_00 common_scripts\_createfx::set_origin_and_angles((339.27,1281,65.3123),(270,0,0)); + var_00.v["fxid"] = "dlc_raindrop_rings_area"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_raindrop_rings_area"); + var_00 common_scripts\_createfx::set_origin_and_angles((-308.944,1522.16,33.3126),(270,0,0)); + var_00.v["fxid"] = "dlc_raindrop_rings_area"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_cor"); + var_00 common_scripts\_createfx::set_origin_and_angles((622.609,1584.21,269.657),(0,91,0)); + var_00.v["fxid"] = "zombie_lab_dry_ice_cor"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_cor"); + var_00 common_scripts\_createfx::set_origin_and_angles((625.784,1494.36,257.388),(0,91,0)); + var_00.v["fxid"] = "zombie_lab_dry_ice_cor"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_cor"); + var_00 common_scripts\_createfx::set_origin_and_angles((-380.121,1313.57,388.734),(0,293,0)); + var_00.v["fxid"] = "zombie_lab_dry_ice_cor"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_cor"); + var_00 common_scripts\_createfx::set_origin_and_angles((443.769,1124.51,423.875),(0,27,-45)); + var_00.v["fxid"] = "zombie_lab_dry_ice_cor"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_tlight_static_red"); + var_00 common_scripts\_createfx::set_origin_and_angles((195.639,-419.892,632.939),(270,0,0)); + var_00.v["fxid"] = "dlc_tlight_static_red"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_tlight_static_red"); + var_00 common_scripts\_createfx::set_origin_and_angles((297.123,-514.099,626.015),(270,0,0)); + var_00.v["fxid"] = "dlc_tlight_static_red"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_tlight_static_red"); + var_00 common_scripts\_createfx::set_origin_and_angles((306.844,-857.3,810.529),(270,0,0)); + var_00.v["fxid"] = "dlc_tlight_static_red"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("dlc_tlight_static_red"); + var_00 common_scripts\_createfx::set_origin_and_angles((-479.5,-428.23,631.144),(270,0,0)); + var_00.v["fxid"] = "dlc_tlight_static_red"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_tlight_static_red"); + var_00 common_scripts\_createfx::set_origin_and_angles((297.137,-910.677,629.106),(270,0,0)); + var_00.v["fxid"] = "dlc_tlight_static_red"; + var_00.v["delay"] = -15; + var_00.v["platform"] = "ng"; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_orange_tube"); + var_00 common_scripts\_createfx::set_origin_and_angles((684.508,2550.5,306.805),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_orange_tube"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_orange_tube"); + var_00 common_scripts\_createfx::set_origin_and_angles((685.131,2568.3,306.775),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_orange_tube"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_orange_tube"); + var_00 common_scripts\_createfx::set_origin_and_angles((686.175,2583.57,307.099),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_orange_tube"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_orange_tube"); + var_00 common_scripts\_createfx::set_origin_and_angles((685.283,2600.56,307.466),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_orange_tube"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_orange_tube"); + var_00 common_scripts\_createfx::set_origin_and_angles((685.02,2618.33,306.832),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_orange_tube"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_orange_tube"); + var_00 common_scripts\_createfx::set_origin_and_angles((686.198,2634.38,306.533),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_orange_tube"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_orange_tube"); + var_00 common_scripts\_createfx::set_origin_and_angles((686.22,2651.03,307.145),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_orange_tube"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_orange_tube"); + var_00 common_scripts\_createfx::set_origin_and_angles((686.09,2668.27,306.791),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_orange_tube"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_fire_corridor"); + var_00 common_scripts\_createfx::set_origin_and_angles((2182.48,1540.48,60.125),(270,0,0)); + var_00.v["fxid"] = "dlc_fire_corridor"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("pilot_flame_45_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2613.97,5974.12,79.4914),(0,0,0)); + var_00.v["fxid"] = "pilot_flame_45_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2426.24,6273.39,-3.46953),(270,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("pilot_flame_45_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2614.89,5846.31,79.3959),(0,0,0)); + var_00.v["fxid"] = "pilot_flame_45_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("pilot_flame_45_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2614.2,6102.11,79.3911),(0,0,0.749395)); + var_00.v["fxid"] = "pilot_flame_45_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("pilot_flame_45_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2614.15,6229.55,79.3391),(0,0,0.849341)); + var_00.v["fxid"] = "pilot_flame_45_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("pilot_flame_45_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2614.18,6358.14,79.4295),(0,0,0.749395)); + var_00.v["fxid"] = "pilot_flame_45_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("pilot_flame_45_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1856.13,6405.5,135.298),(0,0,0.749395)); + var_00.v["fxid"] = "pilot_flame_45_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("pilot_flame_45_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2249.79,6408.9,79.4889),(0,180,0)); + var_00.v["fxid"] = "pilot_flame_45_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("pilot_flame_45_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2249.81,6280.87,79.4397),(0,180,0)); + var_00.v["fxid"] = "pilot_flame_45_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("pilot_flame_45_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2249.53,6152.68,79.3504),(0,180,0)); + var_00.v["fxid"] = "pilot_flame_45_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("pilot_flame_45_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2249.67,6024.8,79.4958),(0,180,0)); + var_00.v["fxid"] = "pilot_flame_45_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("pilot_flame_45_runner"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2249.61,5896.61,79.4982),(0,180,0)); + var_00.v["fxid"] = "pilot_flame_45_runner"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2430.13,6038.14,-25.4178),(270,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2431.73,5884.99,10.9767),(270,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2533.64,5992.01,0.125002),(270,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2529.54,6157.34,0.125002),(270,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2312.83,6376.28,0.125002),(270,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2434.24,6401.17,-21.3007),(270,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2529.47,6393.64,0.124987),(270,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2301.74,5845.09,28.175),(270,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2439.91,5766.83,33.9547),(270,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2524.11,5891.03,10.3),(270,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("heat_distortion_m"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2335.34,6198.62,15.425),(270,0,0)); + var_00.v["fxid"] = "heat_distortion_m"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_damage_sparks_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((936.378,-109.022,78.3198),(270,0,-112)); + var_00.v["fxid"] = "dlc_damage_sparks_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_steam_pipe_exo"); + var_00 common_scripts\_createfx::set_origin_and_angles((-154.4,3577.18,540.205),(70,180,-180)); + var_00.v["fxid"] = "dlc_steam_pipe_exo"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_steam_pipe_exo"); + var_00 common_scripts\_createfx::set_origin_and_angles((-143.792,3400.5,543.753),(89,0,0)); + var_00.v["fxid"] = "dlc_steam_pipe_exo"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_steam_pipe_exo"); + var_00 common_scripts\_createfx::set_origin_and_angles((-255.684,3517.95,537.854),(88,180,-180)); + var_00.v["fxid"] = "dlc_steam_pipe_exo"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_steam_pipe_exo"); + var_00 common_scripts\_createfx::set_origin_and_angles((-262.047,3411.19,561.215),(58,180,-180)); + var_00.v["fxid"] = "dlc_steam_pipe_exo"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_steam_pipe_exo"); + var_00 common_scripts\_createfx::set_origin_and_angles((-217.346,3320.14,573.755),(85,180,-180)); + var_00.v["fxid"] = "dlc_steam_pipe_exo"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_steam_pipe_exo"); + var_00 common_scripts\_createfx::set_origin_and_angles((-138.79,3487.24,558.211),(52.522,129.504,136.093)); + var_00.v["fxid"] = "dlc_steam_pipe_exo"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_steam_pipe_exo"); + var_00 common_scripts\_createfx::set_origin_and_angles((55.205,1048.92,532.401),(49,90,0)); + var_00.v["fxid"] = "dlc_steam_pipe_exo"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_steam_pipe_exo"); + var_00 common_scripts\_createfx::set_origin_and_angles((110.209,1009.14,449.001),(0,90,0)); + var_00.v["fxid"] = "dlc_steam_pipe_exo"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_body_tube"); + var_00 common_scripts\_createfx::set_origin_and_angles((419.312,4196.59,147.13),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_body_tube"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_body_tube"); + var_00 common_scripts\_createfx::set_origin_and_angles((418.483,4276.66,151.164),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_body_tube"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_body_tube"); + var_00 common_scripts\_createfx::set_origin_and_angles((417.996,4357.67,153.318),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_body_tube"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_body_tube"); + var_00 common_scripts\_createfx::set_origin_and_angles((418.388,4436.8,150.812),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_body_tube"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_body_tube"); + var_00 common_scripts\_createfx::set_origin_and_angles((416.941,4517.06,192.677),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_body_tube"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_tube_long_or"); + var_00 common_scripts\_createfx::set_origin_and_angles((964.781,2730.44,258.34),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_tube_long_or"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_tube_long_or"); + var_00 common_scripts\_createfx::set_origin_and_angles((1002.34,2751.11,258.255),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_tube_long_or"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1271.4,2890.54,240.828),(24.0879,276.214,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1255.8,2905.18,241.489),(15.0155,352.289,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2008.52,2923.93,308.868),(25.6567,279.668,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1994.15,2937.78,308.788),(23.8895,345.006,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_steam_pipe_exo"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2146.43,3032.19,192.224),(0,225,0)); + var_00.v["fxid"] = "dlc_steam_pipe_exo"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_steam_pipe_exo"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2335.45,2960.89,229.773),(0,19.295,0)); + var_00.v["fxid"] = "dlc_steam_pipe_exo"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_courtyard_tower_firefall"); + var_00 common_scripts\_createfx::set_origin_and_angles((1113.88,-195.199,199.639),(270,0,0)); + var_00.v["fxid"] = "dlc_courtyard_tower_firefall"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-271.191,1917.99,241.267),(22.6457,95.0898,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-286.149,1903.36,241.157),(25.0006,166.524,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-914.365,3837.72,271.433),(25.6567,234.668,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-892.834,3838.21,271.715),(20.9531,310.48,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-539.271,4029.66,370.505),(19.1793,229.542,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-517.788,4029.07,370.029),(25.0006,301.524,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-729.932,3400.78,369.437),(17.4975,320.135,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-729.151,3421.71,368.805),(20.6817,28.4822,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_flare_bright_warm_squares_dlc"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1606.26,2285.06,392.25),(26.3532,315,0)); + var_00.v["fxid"] = "fx_flare_bright_warm_squares_dlc"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_flare_bright_warm_squares_dlc"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1578.3,2311.7,391.235),(26.3532,315,0)); + var_00.v["fxid"] = "fx_flare_bright_warm_squares_dlc"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("fx_flare_bright_warm_squares_dlc"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1591.26,2298.55,392.183),(26.3532,315,0)); + var_00.v["fxid"] = "fx_flare_bright_warm_squares_dlc"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_damage_sparks_lp"); + var_00 common_scripts\_createfx::set_origin_and_angles((-810.561,3633.95,130.137),(344,180,0)); + var_00.v["fxid"] = "dlc_damage_sparks_lp"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1233.23,1568.41,226.119),(17.4975,84.8653,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1218.08,1553.58,226.197),(14.4023,11.2774,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-535.538,2465.66,181.234),(25.0006,166.524,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-520.982,2450.26,181.408),(18.9114,253.594,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_red_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-223.585,2436.3,152.34),(0,216.081,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_red_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_cor"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1753.11,1988.39,84.8277),(357.999,314.999,0)); + var_00.v["fxid"] = "zombie_lab_dry_ice_cor"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_cor"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1707.64,2215,82.8601),(0,227,0)); + var_00.v["fxid"] = "zombie_lab_dry_ice_cor"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_cor"); + var_00 common_scripts\_createfx::set_origin_and_angles((-744.797,2774.82,248.525),(30.4165,224.2,-91)); + var_00.v["fxid"] = "zombie_lab_dry_ice_cor"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_cor"); + var_00 common_scripts\_createfx::set_origin_and_angles((-687.039,2692.42,269.875),(30.4165,224.2,-90)); + var_00.v["fxid"] = "zombie_lab_dry_ice_cor"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_cor"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1699.57,2370.8,434.4),(8.94501,319.12,-68.371)); + var_00.v["fxid"] = "zombie_lab_dry_ice_cor"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_cor"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1312.62,2594.76,313.132),(2.21443,218.838,-45.0483)); + var_00.v["fxid"] = "zombie_lab_dry_ice_cor"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_cor"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1375.49,2532.76,315.274),(356.289,219.782,-40.0607)); + var_00.v["fxid"] = "zombie_lab_dry_ice_cor"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_cor"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2123.53,2216.9,297.678),(356.289,219.782,-9.06039)); + var_00.v["fxid"] = "zombie_lab_dry_ice_cor"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-369.727,4029.2,178.5),(17.4975,230.135,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-348.612,4028.98,178.381),(20.6817,298.482,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((481.91,3644.84,380.769),(22.3985,208.962,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((482.183,3665.7,380.986),(17.4975,140.135,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_red_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((96.571,3196.96,358.345),(0,255.079,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_red_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((348.38,2925.84,320.887),(20.9531,130.48,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((369.692,2925.73,320.798),(20.9531,49.5204,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_ceiling_flare_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-202.628,3751.56,516.669),(90,180,0)); + var_00.v["fxid"] = "dlc_ceiling_flare_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_ceiling_flare_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-527.045,3747.44,523.669),(90,180,0)); + var_00.v["fxid"] = "dlc_ceiling_flare_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_ceiling_flare_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((112.495,3749.87,523.669),(90,180,0)); + var_00.v["fxid"] = "dlc_ceiling_flare_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_ceiling_flare_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((118.873,3437.55,523.669),(90,180,0)); + var_00.v["fxid"] = "dlc_ceiling_flare_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_ceiling_flare_warm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-523.676,3432.94,523.669),(90,180,0)); + var_00.v["fxid"] = "dlc_ceiling_flare_warm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("steam_column_rising_thick"); + var_00 common_scripts\_createfx::set_origin_and_angles((587.888,3883.69,168.421),(359.102,267.707,0)); + var_00.v["fxid"] = "steam_column_rising_thick"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_red_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((1695.84,1689.92,169.698),(0,252.082,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_red_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_red_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((734,1681.99,169.304),(11.2501,270,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_red_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_7_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((716.41,2257.83,190.031),(31.7325,0,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_7_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_7_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((715.433,2283.09,190.151),(31.7325,0,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_7_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_7_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((1522.02,2224.85,189.351),(31.7325,180,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_7_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_7_med"); + var_00 common_scripts\_createfx::set_origin_and_angles((1522.12,2201.91,189.185),(31.7325,180,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_7_med"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_red_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-619.119,3183.92,138.035),(270,0,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_red_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((405.668,3897.03,283.655),(25.1292,217.207,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((405.747,3918.21,283.867),(20.9531,139.52,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_cor"); + var_00 common_scripts\_createfx::set_origin_and_angles((-295.391,4069.35,360.21),(0.565691,195.99,-1.97432)); + var_00.v["fxid"] = "zombie_lab_dry_ice_cor"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_cor"); + var_00 common_scripts\_createfx::set_origin_and_angles((-39.4878,4042.93,361.039),(0,180,-23.054)); + var_00.v["fxid"] = "zombie_lab_dry_ice_cor"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_cor"); + var_00 common_scripts\_createfx::set_origin_and_angles((217.09,4049.7,363.898),(0,180,-14.054)); + var_00.v["fxid"] = "zombie_lab_dry_ice_cor"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_cor"); + var_00 common_scripts\_createfx::set_origin_and_angles((-682.628,3191.27,362.846),(359.644,9.99425,-35.9774)); + var_00.v["fxid"] = "zombie_lab_dry_ice_cor"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_red_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2105.81,1549.16,156.146),(270,0,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_red_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_red_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2357.41,1315.71,161.125),(270,0,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_red_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_red_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2088.04,994.109,128.134),(270,0,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_red_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2313.17,1303.14,201.448),(18.9114,208.594,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2313.98,1323.59,200.774),(25.1292,142.793,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2041.84,1003.82,148.379),(20.9531,139.52,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((2041.3,982.942,148.402),(20.6817,208.482,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_red_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((467.968,-565.708,128.515),(270,0,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_red_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_vent"); + var_00 common_scripts\_createfx::set_origin_and_angles((1837.24,2245.45,279.469),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_dry_ice_vent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_vent"); + var_00 common_scripts\_createfx::set_origin_and_angles((1814.97,2192.39,273.981),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_dry_ice_vent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_red_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((57.69,4065.41,162.479),(270,0,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_red_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_red_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10.8731,-499.811,142.464),(270,0,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_red_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_red_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((467.92,418.142,92.4993),(270,0,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_red_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("zombie_lab_dry_ice_vent"); + var_00 common_scripts\_createfx::set_origin_and_angles((412.568,2271.1,278.671),(270,0,0)); + var_00.v["fxid"] = "zombie_lab_dry_ice_vent"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_red_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1046.4,3368.04,167.123),(0,216.081,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_red_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_red_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-709.473,1615.04,166.243),(0,216.081,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_red_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_red_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2140.62,2881.88,244.441),(0,216.081,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_red_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_flare_light_spot_6_red_sm"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1667.76,1751.69,169.326),(0,216.081,0)); + var_00.v["fxid"] = "dlc_flare_light_spot_6_red_sm"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_courtyard_helipad"); + var_00 common_scripts\_createfx::set_origin_and_angles((1880.09,-2245.36,791.708),(30.9527,141.499,1.80101)); + var_00.v["fxid"] = "dlc_courtyard_helipad"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_courtyard_helipad"); + var_00 common_scripts\_createfx::set_origin_and_angles((1746.74,-2315.8,774.452),(25,144,0)); + var_00.v["fxid"] = "dlc_courtyard_helipad"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_morgue_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((907.051,2242.54,118),(270,0,0)); + var_00.v["fxid"] = "dlc_morgue_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_morgue_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((1208.39,2255.64,111.013),(270,0,0)); + var_00.v["fxid"] = "dlc_morgue_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createoneshoteffect("dlc_morgue_steam"); + var_00 common_scripts\_createfx::set_origin_and_angles((1202.96,2343.35,113),(270,0,0)); + var_00.v["fxid"] = "dlc_morgue_steam"; + var_00.v["delay"] = -15; + var_00 = common_scripts\utility::createexploder("dlc_exo_steam_escape"); + var_00 common_scripts\_createfx::set_origin_and_angles((-201.869,3448.88,274.949),(270,0,0)); + var_00.v["fxid"] = "dlc_exo_steam_escape"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("dlc_exo_steam_laser"); + var_00 common_scripts\_createfx::set_origin_and_angles((-233.166,3428.83,194.327),(359.988,207.799,0)); + var_00.v["fxid"] = "dlc_exo_steam_laser"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("dlc_exo_steam_laser"); + var_00 common_scripts\_createfx::set_origin_and_angles((-168.794,3429.77,192.798),(359.987,330.7,0)); + var_00.v["fxid"] = "dlc_exo_steam_laser"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("dlc_exo_steam_laser"); + var_00 common_scripts\_createfx::set_origin_and_angles((-201.76,3488.79,193.907),(359.987,89.9999,0)); + var_00.v["fxid"] = "dlc_exo_steam_laser"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\utility::createexploder("dlc_prop_exo_buy_pillar_off"); + var_00 common_scripts\_createfx::set_origin_and_angles((-201,3448,105),(0,90,0)); + var_00.v["fxid"] = "dlc_prop_exo_buy_pillar_off"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "99"; + var_00 = common_scripts\utility::createexploder("dlc_prop_exo_buy_pillar_on"); + var_00 common_scripts\_createfx::set_origin_and_angles((-201,3448,105),(0,90,0)); + var_00.v["fxid"] = "dlc_prop_exo_buy_pillar_on"; + var_00.v["delay"] = 0; + var_00.v["exploder"] = "100"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((2059.1,20.3965,546),(270,0,0)); + var_00.v["delay_min"] = 2; + var_00.v["delay_max"] = 6; + var_00.v["soundalias"] = "zlab_thunder"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1090.22,-43.9478,87.3097),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "zlab_safetey_glass_shards"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1033.78,4060.28,270),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "zlab_glass_pane_shards"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1230.13,3842.93,253.325),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "zlab_glass_pane_shards"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-619.501,3214.02,114.347),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "zlab_glass_pane_shards"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-254.324,2406.17,100.478),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "zlab_glass_pane_shards"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((-299.552,2034.12,106.125),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "zlab_glass_pane_shards"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((321.81,-115.709,32.2567),(270,0,0)); + var_00.v["delay_min"] = 4; + var_00.v["delay_max"] = 12; + var_00.v["soundalias"] = "zlab_safetey_glass_shards"; + var_00 = common_scripts\_createfx::createintervalsound(); + var_00 common_scripts\_createfx::set_origin_and_angles((1476.52,3426.42,96.8337),(270,0,0)); + var_00.v["delay_min"] = 6; + var_00.v["delay_max"] = 14; + var_00.v["soundalias"] = "zlab_glass_pane_shards"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/recovery_fx.gsc b/AW/PC/maps/createfx/recovery_fx.gsc new file mode 100644 index 0000000..ded4ad9 --- /dev/null +++ b/AW/PC/maps/createfx/recovery_fx.gsc @@ -0,0 +1,1158 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\recovery_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 67 ms + * Timestamp: 4/22/2024 2:07:54 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_outside","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1836.36,-4564.8,320.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-228.931,-3988.73,111.464),(270,180,59.9997)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1396.93,-3566.36,154.119),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1340.89,-3049.41,120.174),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1177.46,-2417.15,21.8503),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1004.61,-1783.17,39.1179),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-862.712,-1060.61,61.1405),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-159.12,-624.731,-38.6625),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((461.132,-987.463,-52.012),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((243.465,-1475.66,-127.495),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((129.185,-1804.88,-56.2422),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((401.234,-2287.93,27.4638),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-728.959,-3552.98,70.0318),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-707.344,-4281.09,136),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1407.54,-4903.2,240.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small_bright","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1138.99,-5462.14,120),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2203.22,-2588.03,268.411),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2208.22,-1652.44,401.138),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_outside","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3690.89,-3143.27,449),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_outside","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3108.64,-2871.24,369.889),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_outside","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2054.35,-3346.57,448.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-720.336,-6185.23,345.608),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((749.747,-5639.44,55.8567),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1406.07,-6549.47,22.9909),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1614.14,-5890.43,105.418),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1366.2,-5345.13,23.8271),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((640.487,-4550.66,20.0107),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((480.91,-3577.4,21),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-251.543,-3176.41,11),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1541.68,-1363.36,-66.7499),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((999.762,-566.799,-63.5828),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1634.93,-787.819,234.588),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2889.49,-1073.36,442.676),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2108.43,-4383.45,36.57),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1668.72,-3387.2,42.9468),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_amb_ground_mist","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1167.38,-2502.54,168.981),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_amb_ground_mist","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((437.968,-3543.81,225.936),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_amb_ground_mist","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((802.315,-5613.46,221.273),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_amb_ground_mist","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1288.79,-5488.5,187.006),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3058.61,-2110.55,284.072),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2732.52,-2467.12,252.609),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1369.91,-3011.28,120.61),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1283.21,-3111.11,118.014),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-816.155,-3848.88,95.6931),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((732.477,-1358.11,-155),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1210.02,-1316.98,-78.1111),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((79.7991,-3160.15,100.699),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((267.579,-3024.23,81.41),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((392.985,-2562.27,45.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1161.01,-1062.43,-72.7029),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1505.15,-663.095,-62.2032),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1395.58,-761.355,-64.5858),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1259.36,-1093.23,-575.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1907.74,-652.346,-58.5736),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2740.78,-696.451,-47.2546),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3210.21,-1168.12,-37.3543),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1907.13,-2851.02,134.836),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-74.3003,-4424.38,115.282),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12.3607,-4000.84,120.757),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-288.665,-3932.73,109.721),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52.2744,-3804.15,122),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1140.45,-3747.65,101.733),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1183.31,-3194.19,115.65),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-388.619,-3973.62,91.3528),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-360.018,-3730.05,-575.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-353.155,-3400.1,108.413),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-313.813,-3777.67,114.22),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-117.866,-3269.64,107.561),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-39.3581,-3303.32,104.201),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((202.774,-3054.97,87.5621),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((331.214,-2775,62.7018),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((420.966,-2609.47,45.4987),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((303.531,-2568.95,48.7768),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((390.671,-1973.61,6.32715),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((485.49,-1807.09,-9.7756),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((469.468,-1663.9,-21.2682),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((755.429,-1438.03,-49.8196),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2235,-489.457,-55.4961),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1551.33,-2085.29,-75.3858),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((113.276,-3306.88,104.977),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_amb_ground_mist","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1257.92,-4521.96,235.271),(270,0,0)); + var_00.v["delay"] = -515; + var_00 = common_scripts\_createfx::createexploderex("recovery_amb_ground_mist","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-231.262,-2420.19,357.997),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("recovery_amb_ground_mist","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((553.735,-6040.18,126.876),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("recovery_amb_ground_mist","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((306.416,-1060.85,97.4937),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("recovery_amb_ground_mist","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2224.83,-1510.99,177.783),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("recovery_amb_ground_mist","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((507.392,-2390.32,78.2126),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("recovery_amb_ground_mist","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((453.357,-454.5,-55.4988),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("recovery_amb_ground_mist","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1036.25,-367.479,-12.8788),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("recovery_amb_ground_mist","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1071.09,-3314.58,113.881),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((340.523,-1692.45,192.6),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((252.349,-2207.54,283.355),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((505.743,-2697.41,348.944),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((389.886,-2817.39,337.94),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((273.869,-3336.85,573.884),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((70.0555,-3362.71,459.409),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3.69868,-2886.28,325.749),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((31.8405,-3563.61,523.116),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1121.26,-4514.81,419.389),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1143.11,-4270.6,381.098),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1462.71,-4550.07,388.503),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_amb_ground_mist","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-182.125,-4755.72,117.148),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("recovery_amb_ground_mist","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-669.115,-5080.82,60.973),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1001"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2158.44,-4105.85,336.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1999.14,-4674.75,200.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1954.44,-4564.01,200.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1570.87,-5003.03,120.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2052.18,-3966.28,336.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2148.21,-3632.73,336.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2400.61,-3281.26,336.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3597.35,-3145.45,333.88),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3802.97,-2566.59,334.849),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3741.13,-1487.1,325.042),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2730.7,-2030.08,274.12),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2992.7,-2399.02,279.249),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2512.52,-1368.86,312.088),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small_bright","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-29.6948,-5708.12,120),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small_bright","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-464.905,-4983.75,120),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1931.8,-5040.25,200.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small_outside","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1926.08,-4177.71,283.387),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2938.38,-2065.63,277.021),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1026.76,-4303.65,54.8594),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-578.756,-3867.65,107.487),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((422.106,-1844.86,-10.9171),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((795.817,-1190.27,-62.7932),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1201.34,-935.133,-69.8058),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3273.42,-3281.18,336.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("petals_fall_cherry_gentlewind_no_physics","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((6781.73,-43023.1,250.986),(270,0,-149.002)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_twirl_small_no_physics","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((7970.66,-42657.1,-372.601),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_rain_floor_sheet","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((57.0299,-3211.05,107.465),(270,0,179)); + var_00 = common_scripts\_createfx::createexploderex("recovery_wind_gust_mist_distant_lrg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-471.727,-3687.5,174.338),(270,0,-165)); + var_00 = common_scripts\_createfx::createexploderex("recovery_wind_gust_mist_distant_lrg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((299.473,-4168.93,122),(271,104.972,116.027)); + var_00 = common_scripts\_createfx::createexploderex("recovery_wind_gust_mist_distant_lrg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((478.371,-1690.55,-17.1733),(270,0,-165)); + var_00 = common_scripts\_createfx::createexploderex("recovery_wind_gust_mist_distant_lrg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((478.371,-1690.55,-17.1733),(270,0,-165)); + var_00 = common_scripts\_createfx::createexploderex("recovery_wind_gust_mist_distant_lrg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1260.86,-1808.15,-73.1814),(270,0,89.9995)); + var_00 = common_scripts\_createfx::createexploderex("recovery_wind_gust_mist_distant_lrg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-855.497,-3585.92,203.362),(270,0,-165)); + var_00 = common_scripts\_createfx::createexploderex("recovery_wind_gust_mist_distant_lrg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((299.241,-4767,110.644),(270,0,-130.002)); + var_00 = common_scripts\_createfx::createexploderex("recovery_dust_falling_debris_single","officedoor_breach"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2660.75,-5261.65,436.811),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_dust_burst_round","officedoor_breach"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2673.05,-5258.74,404.155),(270,0,31.9998)); + var_00 = common_scripts\_createfx::createexploderex("recovery_wood_door_break","officedoor_breach"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2666.57,-5251.13,396.658),(270,0,39.9993)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-252.122,-3595.68,122.096),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_rain_floor_sheet","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1070.1,-4289.74,55.5337),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_rain_floor_sheet","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((407.769,-2353.25,28.6744),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2578.2,-3184.1,517.545),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3519.83,-2874,586.147),(270,0,35.9976)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3292.35,-3023.18,521.761),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2081.63,-3382.91,407.275),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("recovery_amb_ground_mist","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1419.93,-1678.55,461.031),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("recovery_amb_ground_mist","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-709.865,-2739.98,111.854),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("recovery_amb_ground_mist","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1752.37,-1933.57,313.992),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("recovery_amb_ground_mist","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1892.14,-5782.32,106),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("recovery_amb_ground_mist","1003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3639.84,-4203.08,344.953),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("recovery_amb_ground_mist","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1786.75,-2458.7,-70.6671),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_rain_floor_sheet","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((57.6531,-3992.88,121.765),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_rain_floor_sheet","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-30.6838,-3810.93,122),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_rain_floor_sheet","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-491.849,-3032.06,68.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2126.35,-1368.39,365.341),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small_outside","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2093.31,-3290.86,344),(270,338.199,-39.1989)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small_outside","1001"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1955.42,-3913.42,336.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small_bright","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2040.94,-4732.66,200.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small_bright","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1705.54,-5048.68,152.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small_bright","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1566.99,-5452.42,120.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1477.55,-4826.05,120.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1152.3,-4543.39,54.3546),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-853.711,-4156.25,81.829),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small","1001"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2144.38,-4233.27,305.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((562.451,-1533.46,-34.9203),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small_bright","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2800.09,-2819,256.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small_outside","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3577.77,-3312,402.08),(270,0,-157)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1542.83,-2448.66,-71.8044),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1113.71,-1712.53,-78.5742),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_dust_falling_debris_single","officedoor_breach"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2679.64,-5251.67,438.267),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_window","1002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3158.45,-3388.58,365.095),(272,31.9996,-90.0006)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_window","1002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2623.86,-3451,336.125),(272,31.9996,-90.0006)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_window","1002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2280.03,-3612.82,336.125),(272,31.9939,177.005)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_window","1002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2334.09,-4091.06,336.125),(271,212.009,-96.0117)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_window","1002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2195.83,-3794.89,336.125),(272,31.9939,177.005)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small_outside","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2636.32,-3159.34,336),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","1001"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2254.73,-4044.97,336.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2047.37,-5083.5,200.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1486.78,-5251.14,120.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small_bright","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1999.85,-4390.33,271.625),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3844.44,-4682.51,496.119),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5345.32,-4036.9,526.579),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6365.3,-4635.41,571.983),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2266.72,-11445.4,565.777),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_gentlewind_no_physics","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4882.27,-40064.9,649.688),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("petals_fall_cherry_gentlewind_no_physics","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((6715.11,-43746.8,270.255),(270,0,-149.002)); + var_00.v["delay"] = -10; + var_00 = common_scripts\_createfx::createexploderex("petals_fall_cherry_gentlewind_no_physics","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((5926.32,-43451,248.752),(270,0,-149.002)); + var_00.v["delay"] = -10; + var_00 = common_scripts\_createfx::createexploderex("petals_fall_cherry_gentlewind_no_physics","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((6722.66,-43608.3,1657.54),(270,0,-149.002)); + var_00.v["delay"] = -10; + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small_bright","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1301.15,-4921.58,120.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2049.9,-4382.76,271.625),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2489.23,-1805.43,282.864),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1256.1,-1534.05,-78.869),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1153.42,-1557.63,-78.8476),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1075.03,-1412.83,-78.715),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1061.25,-1209.36,-76.4815),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((928.543,-1321.33,-71.6174),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1085.56,-1523.39,-78.8687),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_wind_gust_gate_open","wind_gate_open"); + var_00 common_scripts\_createfx::set_origin_and_angles((953.574,-312.516,198.54),(274.576,239.49,-44.1748)); + var_00 = common_scripts\_createfx::createexploderex("petals_fall_cherry_gentlewind_no_physics","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2883,1953.42,-152.061),(279.563,9.50248,164.995)); + var_00.v["delay"] = -12; + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2443.54,-1170.28,301.937),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_twirl_small_no_physics","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2521.97,-1557.14,583.233),(274.766,139.826,-60.299)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2975.29,-3198.07,332),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1890.21,-5066.41,200.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1666.86,-5056.01,152.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1494.69,-4954.95,120.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1428.84,-4752.58,117.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1291.61,-4605.92,85.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-855.142,-4304.94,70.5057),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-604.971,-4117.38,90.167),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("leaves_fall_twirl_small_no_physics","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2473.26,-1144.67,500.983),(298.117,203.703,-71.1577)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1001"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2178.37,-4189.38,336.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1001"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2334.82,-4144.84,336.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small_bright","1001"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2125.65,-4382.08,344.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("petals_fall_cherry_gentlewind_physics","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((6412.58,-43225.7,143.53),(270,0,-163)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_window","1002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2811.23,-3478.19,336.125),(272,31.9973,179.002)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_window","1001"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2724.37,-3415.82,336.125),(272,31.9973,179.002)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small_bright","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2857.28,-3007.69,304),(272,31.9844,-34.9867)); + var_00 = common_scripts\_createfx::createexploderex("leaves_windblown_slw","leaves_gate_open"); + var_00 common_scripts\_createfx::set_origin_and_angles((1040.49,-1394.35,-77.4791),(270,0,-130.001)); + var_00 = common_scripts\_createfx::createexploderex("leaves_windblown_slw","leaves_gate_open"); + var_00 common_scripts\_createfx::set_origin_and_angles((1043.89,-1309.51,-75.8668),(270,0,161.998)); + var_00.v["delay"] = 444; + var_00 = common_scripts\_createfx::createexploderex("leaves_windblown_slw","leaves_gate_open"); + var_00 common_scripts\_createfx::set_origin_and_angles((1068.39,-1285.94,-61.2248),(275.987,179.124,48.3455)); + var_00 = common_scripts\_createfx::createexploderex("leaves_windblown_slw","leaves_gate_open"); + var_00 common_scripts\_createfx::set_origin_and_angles((1025.59,-1333.96,-78.3451),(270,180,94.9988)); + var_00.v["delay"] = 222; + var_00 = common_scripts\_createfx::createexploderex("recovery_dust_burst_round","patio_door_breach"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3209.46,-3640.91,424.497),(270,0,-152)); + var_00 = common_scripts\_createfx::createexploderex("recovery_wood_door_break","patio_door_breach"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3191.55,-3633.99,407.317),(270,0,-151)); + var_00 = common_scripts\_createfx::createexploderex("recovery_dust_falling_debris_single","patio_door_breach"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3188.86,-3643.33,434.594),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_dust_falling_debris_single","patio_door_breach"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3194.88,-3622.97,444.397),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14098.3,8207.28,877.997),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-24259.2,22651.4,3424.07),(1.81275,122.082,0)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((16515.4,19344.7,1258.43),(270,180,108)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21766.2,5968.18,1078.85),(327,270,90.0001)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((26824.5,7595.57,3872.66),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7887.31,27122.3,3185.56),(270,180,88.9997)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1172.5,36339.4,2719.6),(270,180,88.9997)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14461.2,32010.7,5527.2),(270,180,88.9997)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21252.2,24545.8,3391.23),(270,180,88.9997)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((25082.7,17061.4,4147.74),(270,180,88.9997)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12304,5768.16,1507.67),(270,180,88.9997)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2436.83,-1018.93,320.5),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2484.58,-972.495,321.632),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2425.72,-890.289,320.437),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2302.2,-989.859,319.625),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2381.46,-4102.34,338.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2213.69,-4121.8,336.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2161.62,-4062,336.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("cloud_bank","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((26611.7,15000.5,5825.99),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3659.48,-3306.15,335.555),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","1003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3402.02,-4014.35,340.634),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_wind_gust_mist_distant_lrg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3982.73,-4537.61,512.234),(270,0,-119)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small_outside","1003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3522.08,-3873.59,339.528),(270,338.199,-39.1989)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1892.96,-2952.87,-65.149),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2376.28,-3237.38,-66.784),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2853.95,-3622.18,-61.215),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2186.1,-2121.98,-59.8813),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2451.44,-2731.96,-15.1967),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1377.94,-1755.01,-78.6232),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1338.99,-1862.08,-77.6799),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1506.48,-2058.54,-75.8138),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1418.38,-2165.13,-75.2039),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1717.42,-2517.5,-69.8013),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1937.8,-2487.02,-58.4813),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2035.05,-2941.73,-65.3158),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2158.11,-3108.11,-66.3556),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2042.73,-3143.37,-67.529),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3316.06,-4106.32,340.21),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3172.02,-4090.87,342.259),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3238.56,-4465.12,343.151),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3091.81,-4730.88,345.437),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","1003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3408.49,-4345.08,342.473),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","1003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3324.26,-4782.79,346.656),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area","1003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3363.38,-5251.92,343.576),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_amb_ground_mist","1003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3589.76,-4803,424.362),(270,0,0)); + var_00.v["delay"] = -15; + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small_outside","1003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3205.14,-4452.78,344.905),(270,338.199,-39.1989)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small_outside","1003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3279.4,-4835.26,345.564),(270,338.199,-39.1989)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small_outside","1003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3377.5,-5149.4,346.62),(270,338.199,-39.1989)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small_outside","vfx_raindrop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2434.27,-875.133,320.625),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_single","vfx_raindrop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2408.9,-938.395,373.6),(273.548,32.635,-32.0022)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("raindrop_single","vfx_raindrop"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2408.2,-942.546,373.097),(291.09,5.56289,-5.22905)); + var_00.v["delay"] = 1; + var_00 = common_scripts\_createfx::createexploderex("heli_dust_rain_idle","helicopter_landing_small"); + var_00 common_scripts\_createfx::set_origin_and_angles((1975.19,-2704.91,-63.9925),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("heli_dust_rain_idle","helicopter_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1975.19,-2704.91,-63.9925),(270,0,0)); + var_00.v["delay"] = 6; + var_00 = common_scripts\_createfx::createexploderex("heli_dust_rain","helicopter_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1969.07,-2708.49,-64.6529),(270.006,134.658,-134.815)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-952.464,-4509.63,55.1235),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1109.15,-4500.84,58.2284),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("glass_hit_large","glass_hit"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2913.1,-5327.09,383.962),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("sparks_short_circuits_small","sparks_short_circuits"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2922.84,-5301.85,391.78),(359.078,329.389,-24.9081)); + var_00 = common_scripts\_createfx::createexploderex("sparks_short_circuits_small","sparks_short_circuits"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2910.86,-5338.86,389.06),(10.4777,330.459,174.117)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3782.71,-2232.3,335.252),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3163.61,-2249.64,292.992),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3816.62,-2003.82,334.229),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_01","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3818.4,-2887.7,335.17),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small_bright","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2011.77,-5253.69,200.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2856.7,-2656.5,247.074),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2755.84,-3178.51,336),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2459.94,-3361.37,336.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2496.63,-1217.19,305.843),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2510.22,-1311.21,303.495),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2500.53,-1569.41,296.132),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2245.99,-1944.74,243.738),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2456.76,-2166.34,229.759),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2593.77,-2251.88,248.032),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2831.21,-2781.05,256.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2835.92,-3077.23,336),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_window","1002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3360.38,-3535.52,336),(272,31.9996,-90.0006)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_window","1002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2357.22,-4079.71,336.125),(271,212.009,-96.0117)); + var_00 = common_scripts\_createfx::createexploderex("heli_dust_rain","helicopter_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1906.45,-3025.81,-66.3383),(273.004,179.767,-179.924)); + var_00 = common_scripts\_createfx::createexploderex("heli_dust_rain_idle","helicopter_landing"); + var_00 common_scripts\_createfx::set_origin_and_angles((1915.2,-3020.53,-66.296),(270,0,0)); + var_00.v["delay"] = 9; + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1153.27,-4738.87,254.6),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1279.21,-4833.72,287.614),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1539.03,-5078.11,286.593),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1623.38,-4928.59,285.345),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1824.82,-5157.73,367.378),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1824.74,-4986.23,367.725),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1326.13,-4463.2,254.931),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1475.43,-4573.2,286.869),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2177.4,-4277.01,482.899),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2080.9,-4221.19,483.115),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1941.04,-4460.76,363.485),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2037.57,-4521.55,363.284),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2811.44,-2879.44,401.64),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2941.77,-2892.46,402.483),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2798.81,-3044.84,498.871),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2928.26,-3055.51,498.722),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3331.78,-3605.22,454.496),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((269.926,-3182.15,261.012),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((61.4082,-3054.84,235.706),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((150.629,-2867.99,235.46),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((477.811,-2699.64,204.349),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((506.082,-2438.16,180.354),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((500.875,-2132.71,164.865),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((550.101,-1835.65,138.412),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((622.045,-1431.47,137.654),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((683.492,-1558.9,137.178),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1486.33,-839.545,47.6559),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1043.17,-1495.86,120.33),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1404.91,-1658.99,120.588),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1106.81,-1946.05,34.164),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1628.02,-2228.82,37.648),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_lampost_flare","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1507.16,-2559.82,41.0078),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow","2100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-955.362,2344.11,-126.583),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow","2100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-957.196,2457.09,-127.236),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow","2100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-955.831,2700.1,-130.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow","2100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-956.682,2100.74,-123.583),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_glow_flicker_rnr_lp","2101"); + var_00 common_scripts\_createfx::set_origin_and_angles((-955.362,2344.11,-126.583),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_glow_flicker_rnr_lp","2101"); + var_00 common_scripts\_createfx::set_origin_and_angles((-957.196,2457.09,-127.236),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_glow_flicker_rnr_lp","2101"); + var_00 common_scripts\_createfx::set_origin_and_angles((-955.831,2700.1,-130.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_glow_flicker_rnr_lp","2101"); + var_00 common_scripts\_createfx::set_origin_and_angles((-956.682,2100.74,-123.583),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow_off","2102"); + var_00 common_scripts\_createfx::set_origin_and_angles((-955.362,2344.11,-126.583),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow_off","2102"); + var_00 common_scripts\_createfx::set_origin_and_angles((-957.196,2457.09,-127.236),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow_off","2102"); + var_00 common_scripts\_createfx::set_origin_and_angles((-955.831,2700.1,-130.875),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow_off","2102"); + var_00 common_scripts\_createfx::set_origin_and_angles((-956.682,2100.74,-123.583),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow","2200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1146.83,2116.22,-127.592),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow","2200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1145.01,2683.2,-126.846),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow","2200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1147.59,2635.8,-127.002),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_glow_flicker_rnr_lp","2201"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1146.83,2116.22,-127.592),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_glow_flicker_rnr_lp","2201"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1145.01,2683.2,-126.846),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_glow_flicker_rnr_lp","2201"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1147.59,2635.8,-127.002),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow_off","2202"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1146.83,2116.22,-127.592),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow_off","2202"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1145.01,2683.2,-126.846),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow_off","2202"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1147.59,2635.8,-127.002),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow","2100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-955.576,2226.04,-128.62),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow","2100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-956.785,2574.26,-127.927),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_glow_flicker_rnr_lp","2101"); + var_00 common_scripts\_createfx::set_origin_and_angles((-955.576,2226.04,-128.62),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_glow_flicker_rnr_lp","2101"); + var_00 common_scripts\_createfx::set_origin_and_angles((-956.785,2574.26,-127.927),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow_off","2102"); + var_00 common_scripts\_createfx::set_origin_and_angles((-955.576,2226.04,-128.62),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow_off","2102"); + var_00 common_scripts\_createfx::set_origin_and_angles((-956.785,2574.26,-127.927),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow","2200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1144.66,2167.12,-128.156),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow","2200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1062.65,2582.34,-128.62),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow","2200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1056.11,2217.32,-133.588),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_glow_flicker_rnr_lp","2201"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1144.66,2167.12,-128.156),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_glow_flicker_rnr_lp","2201"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1062.65,2582.34,-128.62),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_glow_flicker_rnr_lp","2201"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1056.11,2217.32,-133.588),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow_off","2202"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1144.66,2167.12,-128.156),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow_off","2202"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1062.65,2582.34,-128.62),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow_off","2202"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1056.11,2217.32,-133.588),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow","2300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1456.66,2140.42,-130.583),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow","2300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1350.47,2668.34,-131.583),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow","2300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1320.26,2309.97,-129.266),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow","2300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1343.46,2538.32,-125.777),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow","2300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1404.55,2264.19,-129.484),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow","2300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1316.27,2432.45,-133.265),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_glow_flicker_rnr_lp","2301"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1456.66,2140.42,-130.583),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_glow_flicker_rnr_lp","2301"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1350.47,2668.34,-131.583),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_glow_flicker_rnr_lp","2301"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1320.26,2309.97,-129.266),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_glow_flicker_rnr_lp","2301"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1343.46,2538.32,-125.777),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_glow_flicker_rnr_lp","2301"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1404.55,2264.19,-129.484),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_glow_flicker_rnr_lp","2301"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1316.27,2432.45,-133.265),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow_off","2302"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1456.66,2140.42,-130.583),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow_off","2302"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1350.47,2668.34,-131.583),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow_off","2302"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1320.26,2309.97,-129.266),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow_off","2302"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1343.46,2538.32,-125.777),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow_off","2302"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1404.55,2264.19,-129.484),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("firing_range_edge_glow_off","2302"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1316.27,2432.45,-133.265),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_splat_on_lens_med_rnr_night","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2556.31,-933.333,322.125),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small_outside","1003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3670.12,-3583.16,337),(270,338.199,-39.1989)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small_outside","1003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3260.04,-4259.17,343.5),(270,338.199,-39.1989)); + var_00 = common_scripts\_createfx::createexploderex("rain_hvy_dense_windy_small_outside","1003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3113.3,-4879.4,345.129),(270,338.199,-39.1989)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3451.36,-3788.79,336.324),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3582.92,-3521.36,335.302),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("raindrop_rings_area_med","1003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3504.83,-3640.99,335.657),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_spotlight_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6276.59,3861.7,151.033),(36.0842,0.375873,-85.1768)); + var_00 = common_scripts\_createfx::createexploderex("recovery_spotlight_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6276.88,3908.77,150.583),(36.0842,0.375873,-85.1768)); + var_00 = common_scripts\_createfx::createexploderex("recovery_spotlight_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6280.55,3987.18,150.557),(32.0708,296.121,-86.6915)); + var_00 = common_scripts\_createfx::createexploderex("recovery_spotlight_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6276.9,4016.36,150.628),(32.7787,11.3333,-91.3231)); + var_00 = common_scripts\_createfx::createexploderex("recovery_spotlight_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6280.91,3739.63,150.638),(28.4193,33.1337,-80.62)); + var_00 = common_scripts\_createfx::createexploderex("recovery_spotlight_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6286.3,3766.78,150.822),(31.9681,91.7071,-89.0697)); + var_00 = common_scripts\_createfx::createexploderex("recovery_spotlight_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5792.84,3801.2,168.771),(32.6242,94.3602,-84.2305)); + var_00 = common_scripts\_createfx::createexploderex("recovery_spotlight_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5566.84,3800.99,168.445),(33.4533,94.5661,-82.9163)); + var_00 = common_scripts\_createfx::createexploderex("recovery_spotlight_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5568.09,3985.45,168.529),(31.3935,270.716,-90.5556)); + var_00 = common_scripts\_createfx::createexploderex("recovery_spotlight_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5795.23,3985.6,168.296),(31.3935,270.716,-90.5556)); + var_00 = common_scripts\_createfx::createexploderex("recovery_spotlight_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6583.51,4006.7,150.859),(33.1826,269.453,-87.7994)); + var_00 = common_scripts\_createfx::createexploderex("recovery_spotlight_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6589.35,4033.69,151.142),(28.1321,211.755,-87.9438)); + var_00 = common_scripts\_createfx::createexploderex("recovery_spotlight_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6586.7,3786.41,150.825),(28.3087,116.069,-87.726)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5893.24,3807.08,143.81),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5891.17,3891.94,143.797),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5892.83,3976.47,143.708),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5719.11,4106.46,195.199),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5596.55,4106.44,195.148),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5596.26,3829.91,195.125),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5718.12,3829.83,195.112),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5718.2,3954.96,195.134),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5596.63,3955.2,195.147),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5404.64,3830.6,141.665),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5475.04,3830.02,141.623),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5475.57,3958.39,141.616),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5404.14,3957.6,141.619),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5596.06,3679.68,195.095),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5717.8,3679.4,195.098),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5303.4,3942.4,144.174),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5303.5,3858.43,144.179),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3953.21,4293.36,144.176),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4039.49,4292.48,144.151),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4039.87,4208.64,144.192),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3952.37,4209.32,144.169),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4115.35,4207.62,144.251),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4164.11,4207.98,144.179),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4162.8,4292.03,144.191),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4115.19,4291.61,144.156),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4039.66,4383.92,142.192),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3953.14,4384.71,144.129),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3953.51,4469.49,144.229),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4039.2,4468.01,144.21),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3625.97,4267.48,142.678),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3681.47,4205.81,142.63),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3756.44,4205.53,142.637),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3810.66,4267.51,142.612),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3755.25,4391.15,142.645),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3682.18,4391.14,142.655),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3810.98,3534.88,142.63),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3811.41,3628.44,142.586),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3754.83,3656.82,142.646),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3680.93,3656.88,142.59),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3644.49,3627.43,142.619),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3644.1,3535.93,142.635),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3680.39,3504.33,142.64),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3754.59,3504.73,142.671),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4074.32,3519.85,144.213),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4026.45,3519.6,144.184),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4074.38,3610.7,144.196),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4025.64,3611.23,144.29),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3980.45,3519.29,144.156),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3932.5,3519.54,144.176),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3932.28,3610.48,144.157),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3979.38,3610.56,144.186),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6057.1,3897.34,151.18),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6008.56,3897.41,151.215),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6138.22,3897.39,151.197),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6137.68,3959.53,151.152),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6136.54,3831.69,151.204),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6057.24,3831.98,151.127),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6008.77,3832.93,151.223),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6058.13,3960.59,151.189),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6009.82,3960.16,151.137),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6540.06,4275.73,151.165),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6539.86,4228.33,151.15),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6539.8,4168.08,151.132),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6525.35,4116.42,181.146),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6397.67,4116.41,180.146),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6460.59,4116.34,181.218),(89.4534,279.14,101.951)); + var_00 = common_scripts\_createfx::createexploderex("recovery_spotlight_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5566.85,4036.94,168.36),(33.4532,94.5658,-90.9165)); + var_00 = common_scripts\_createfx::createexploderex("recovery_spotlight_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5792.56,4036.85,168.231),(33.9859,87.379,-91.9096)); + var_00 = common_scripts\_createfx::createexploderex("recovery_spotlight_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5794.33,3746.85,168.688),(31.3935,270.716,-90.5556)); + var_00 = common_scripts\_createfx::createexploderex("recovery_spotlight_flare_01","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5568.22,3746.77,168.813),(31.3935,270.716,-90.5556)); + var_00 = common_scripts\_createfx::createexploderex("recovery_rain_floor_sheet","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1184.54,-995.056,-71.6251),(270,0,160)); + var_00 = common_scripts\_createfx::createexploderex("recovery_rain_floor_sheet","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1169.52,-1308.58,-78.0954),(270,0,160)); + var_00 = common_scripts\_createfx::createexploderex("recovery_rain_floor_sheet","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1210.1,-950.119,-69.8884),(270,0,160)); + var_00 = common_scripts\_createfx::createexploderex("recovery_skylight_grp_flare","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4704.97,4601.5,505.875),(88.0005,89.9918,-90.0076)); + var_00 = common_scripts\_createfx::createexploderex("recovery_skylight_grp_flare","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4615.1,3155.37,519.875),(88.0005,89.9918,-90.0076)); + var_00 = common_scripts\_createfx::createexploderex("recovery_skylight_grp_flare","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5006.48,3802.72,519.875),(88.0005,89.9918,-90.0076)); + var_00 = common_scripts\_createfx::createexploderex("recovery_surgical_flare","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6429.97,4050.5,154.985),(40.9993,270,90.0002)); + var_00 = common_scripts\_createfx::createexploderex("recovery_surgical_flare","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6639.4,3959.89,152.666),(45.4863,314.383,91.1795)); + var_00 = common_scripts\_createfx::createexploderex("recovery_surgical_flare","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6300.14,3959.35,151.98),(43.5454,222.552,87.2181)); + var_00 = common_scripts\_createfx::createexploderex("recovery_surgical_flare","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6637.15,3806.48,150.95),(44.142,44.5066,-88.4524)); + var_00 = common_scripts\_createfx::createexploderex("recovery_surgical_flare","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6298.78,3809.21,153.426),(44.9826,134.902,91.5927)); + var_00 = common_scripts\_createfx::createexploderex("recovery_surgical_flare","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6435.43,3742.51,153.994),(44.1714,88.432,-86.6171)); + var_00 = common_scripts\_createfx::createexploderex("recovery_rectangle_flare","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2322.51,3388.08,199.524),(77.0004,180,-88.0005)); + var_00 = common_scripts\_createfx::createexploderex("recovery_rectangle_flare","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2224.15,2862.62,96.5241),(77.0004,180,-88.0005)); + var_00 = common_scripts\_createfx::createexploderex("recovery_rectangle_flare","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1903.22,2858.2,17.4917),(77.0004,180,-88.0005)); + var_00 = common_scripts\_createfx::createexploderex("recovery_range_flare","range_01"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1750.69,2683.71,-131),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_range_flare","range_02"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1751.01,2599.88,-131),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_range_flare","range_03"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1751.4,2516.38,-131),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_range_flare","range_04"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1749.99,2432.44,-131),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_range_flare","range_05"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1751.06,2347.81,-131),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_range_flare","range_06"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1749.92,2263.63,-131),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_range_flare","range_07"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1751.06,2179.63,-131),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_range_flare","range_08"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1749.92,2092.41,-131),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_rectangle_flare","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2697.69,-154.197,113.875),(77.0004,180,-88.0005)); + var_00 = common_scripts\_createfx::createexploderex("recovery_tv_flare","1002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2540.07,-4291.05,394.887),(0.626993,118.122,2.92249)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","1002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2976.25,-3666.15,469.542),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","1002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3031.91,-3698.29,469.542),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","1002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3087.49,-3730.22,471.542),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","1002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3167.52,-3591.25,471.542),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","1002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3110.96,-3558.45,471.542),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","1002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3055.73,-3527.25,471.542),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","1002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3000.63,-3494.22,471.542),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","1002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2944.95,-3462.93,471.542),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","1002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2864.61,-3601.77,471.542),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_01","1002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2920.86,-3634.02,471.542),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_02","1004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2565.13,-4534.16,431.081),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("recovery_tv_sm_flare","1004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2530.08,-5089.06,406.445),(7.99904,359.999,0)); + var_00 = common_scripts\_createfx::createexploderex("recovery_hanging_light_flare","1004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2494.04,-4966.07,441.519),(8.9984,1.00014,0.99964)); + var_00 = common_scripts\_createfx::createexploderex("recovery_hanging_light_flare","1004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2494.42,-5058.89,441.747),(8.9984,1.00014,0.99964)); + var_00 = common_scripts\_createfx::createexploderex("recovery_hanging_light_flare","1004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2303.23,-4630.62,441.875),(8.9984,1.00014,0.99964)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("recovery_hanging_light_flare","1004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2302.72,-4723.22,441.875),(8.9984,1.00014,0.99964)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_02","1004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2565.02,-4572.63,431.082),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_02","1004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2564.72,-4610.06,431.099),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_02","1004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2565.31,-4649.13,431.077),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_02","1004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2550.3,-4769,454.08),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_02","1004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2511.68,-4769.51,454.098),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_02","1004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2393.58,-4460.52,455.083),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_02","1004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2393.6,-4417.26,455.077),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_02","1004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2501.15,-4340.19,455.072),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_02","1004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2458.27,-4339.52,455.08),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_02","1004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2319.09,-5251.23,454.047),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_02","1004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2318.84,-5208.18,454.063),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_02","1004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2407.2,-5208.86,454.102),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_02","1004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2406.34,-5251.22,454.113),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_02","1004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2605.1,-5721.02,455.075),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_02","1004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2648.05,-5720.37,455.073),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_02","1004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2712.58,-5643.53,455.094),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_02","1004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2713.06,-5600.75,455.089),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_02","1004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2708.67,-5547.24,437.077),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_02","1004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2665.63,-5547.33,437.086),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_02","1004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2313.71,-4835.93,454.099),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("recovery_ceiling_light_flare_02","1004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2275.25,-4835.49,454.114),(89.9997,180,-180)); + var_00 = common_scripts\_createfx::createexploderex("cg_fx_light_4","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((6424.05,-43883.1,142),(6.27778,232.207,1.75461)); + var_00.v["platform"] = "cg"; + var_00 = common_scripts\_createfx::createexploderex("cg_fx_light_4a","800"); + var_00 common_scripts\_createfx::set_origin_and_angles((6329.67,-43865.8,138),(6.27778,232.207,1.75461)); + var_00.v["platform"] = "cg"; + var_00 = common_scripts\_createfx::createexploderex("cg_fx_light_5a","1004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2786.38,-5402.17,387),(7.99904,359.999,0)); + var_00.v["platform"] = "cg"; + var_00 = common_scripts\_createfx::createexploderex("cg_fx_light_5","gate_fx_light"); + var_00 common_scripts\_createfx::set_origin_and_angles((868.156,-676.257,220.622),(275.987,179.124,48.3455)); + var_00.v["platform"] = "cg"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/sanfran_b_fx.gsc b/AW/PC/maps/createfx/sanfran_b_fx.gsc new file mode 100644 index 0000000..8f0387c --- /dev/null +++ b/AW/PC/maps/createfx/sanfran_b_fx.gsc @@ -0,0 +1,1848 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\sanfran_b_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 106 ms + * Timestamp: 4/22/2024 2:07:54 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\utility::createoneshoteffect("lights_godray_beam_simple"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8632.06,64415,-1421.42),(73,90.0001,-89.9999)); + var_00 = common_scripts\utility::createoneshoteffect("lights_godray_beam_simple"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8691.6,64444.8,-1448.18),(73,90.0001,-89.9999)); + var_00 = common_scripts\utility::createoneshoteffect("lights_godray_beam_simple"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8664.53,64452.1,-1456.45),(65.3911,112.065,-69.7692)); + var_00 = common_scripts\utility::createoneshoteffect("lights_godray_beam_simple_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7312.38,66998,-1074.94),(66.0802,180.863,-5.42477)); + var_00 = common_scripts\utility::createoneshoteffect("lights_godray_beam_simple_lrg"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7562.71,66792.9,-1033.73),(53.3065,291.483,133.975)); + var_00 = common_scripts\utility::createoneshoteffect("lights_godray_beam_simple_door"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7881.44,66391.2,-1155.88),(18.4405,267.83,-21.2958)); + var_00 = common_scripts\utility::createoneshoteffect("lights_godray_beam_simple_door"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7999.65,66530.8,-1347.23),(14.5322,19.4395,24.0641)); + var_00 = common_scripts\utility::createoneshoteffect("light_fluorescent_smoke_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7867.83,66055.4,-1146.39),(88.9999,3.00019,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_fluorescent_smoke_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7816.48,65643.5,-1133.22),(88.9999,3.00019,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_fluorescent_smoke_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7536.81,65631.2,-1137.99),(88.9999,3.00019,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_fluorescent_smoke_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8686.47,67002.5,-1130.39),(88.9999,3.00019,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_fluorescent_smoke_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8575.66,67241.5,-1116.34),(88.9999,3.00019,0)); + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_l_blacksmk_thick_nonlit"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7272.25,71011.3,-1083.77),(280.865,145.295,92.0208)); + var_00 = common_scripts\utility::createoneshoteffect("fire_lp_l_blacksmk_thick_nonlit"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6021.97,72745.8,-880.955),(282.006,261.669,-25.5943)); + var_00 = common_scripts\utility::createoneshoteffect("light_fluorescent_smoke_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8358.46,66115,-873.313),(88.9999,3.00019,0)); + var_00 = common_scripts\utility::createoneshoteffect("lights_godray_beam_simple"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7858.02,66596.9,-1319.73),(25.6144,318.488,143.192)); + var_00 = common_scripts\utility::createoneshoteffect("lights_godray_beam_simple"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7922.9,66514.1,-1319.66),(45.3553,48.6985,166.435)); + var_00 = common_scripts\utility::createoneshoteffect("lights_godray_beam_simple"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8291.25,66087.8,-878.753),(20.5047,164.346,168.92)); + var_00 = common_scripts\utility::createoneshoteffect("lights_godray_beam_simple"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8183.99,66620.5,-875.856),(32.4426,299.624,-15.6957)); + var_00 = common_scripts\utility::createoneshoteffect("lights_godray_beam_simple"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8045.51,66516.5,-855.048),(33.7387,66.0579,152.812)); + var_00 = common_scripts\utility::createoneshoteffect("lights_godray_beam_simple"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7902.71,66522.7,-857.284),(32.3276,62.8997,151.09)); + var_00 = common_scripts\utility::createoneshoteffect("lights_godray_beam_simple"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8362.42,66263,-869.747),(33.2461,140.571,155.011)); + var_00 = common_scripts\utility::createoneshoteffect("lights_godray_beam_simple"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8020.51,66886.7,-996.91),(33.7387,66.0579,152.812)); + var_00 = common_scripts\utility::createoneshoteffect("lights_godray_beam_simple"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8636.5,67260.3,-1129.43),(36.1221,231.911,0.947486)); + var_00 = common_scripts\utility::createoneshoteffect("light_red_tower_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8012.19,66716.1,-893.347),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_red_tower_bright"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7942.99,66720.7,-894.313),(270,0,0)); + var_00 = common_scripts\utility::createoneshoteffect("lights_godray_beam_simple_window"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8617.07,66471.2,-1158.16),(16.3796,349.397,5.82066)); + var_00 = common_scripts\utility::createoneshoteffect("lights_godray_beam_simple_window"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8613.82,66598.1,-1163.38),(16.3796,349.397,5.82066)); + var_00 = common_scripts\utility::createoneshoteffect("lights_godray_beam_simple_window"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8635.5,66347.8,-1157.69),(16.3796,349.397,5.82066)); + var_00 = common_scripts\utility::createoneshoteffect("lights_godray_beam_simple_window"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8630.54,66287.1,-1161.52),(16.3796,349.397,5.82066)); + var_00 = common_scripts\utility::createoneshoteffect("lights_godray_beam_simple"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8354.89,66840.4,-1137.27),(32.3234,123.63,-31.05)); + var_00 = common_scripts\utility::createoneshoteffect("lights_godray_beam_simple"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8345.67,66839.7,-1136.8),(34.2505,63.6759,-5.65129)); + var_00 = common_scripts\utility::createoneshoteffect("light_fluorescent_smoke_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8512.4,65844,-1189.85),(88.9999,3.00019,0)); + var_00 = common_scripts\utility::createoneshoteffect("light_fluorescent_smoke_dim"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8079.32,65830.7,-1196.02),(88.9999,3.00019,0)); + var_00 = common_scripts\_createfx::createexploderex("light_red_strobe","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8298.49,66102.3,-741.457),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_horizon_glow_sf","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6217.24,72004.2,-1418.75),(17.7712,349.579,9.27233)); + var_00 = common_scripts\_createfx::createexploderex("fire_horizon_glow_sf","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6446.02,72252.7,-1433.47),(17.7712,349.579,9.27233)); + var_00 = common_scripts\_createfx::createexploderex("fire_horizon_glow_sf","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5893.05,72035.6,-1452.44),(17.7712,349.579,9.27233)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("amb_dust_medium","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6142.54,72057.8,-1470.09),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("godray_wide_medium","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8945.75,66069.5,-1155.96),(13.6479,358.392,99.1571)); + var_00 = common_scripts\_createfx::createexploderex("godray_wide_medium","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8945.75,66248.8,-1156.83),(13.6479,358.392,99.1571)); + var_00 = common_scripts\_createfx::createexploderex("godray_wide_medium","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8945.75,66475.7,-1158.02),(13.6479,358.392,99.1571)); + var_00 = common_scripts\_createfx::createexploderex("godray_wide_medium","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8945.75,66700,-1149.96),(13.6479,358.392,99.1571)); + var_00 = common_scripts\_createfx::createexploderex("godray_wide_medium","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9069,65134,-1118.86),(13.6479,358.392,99.1571)); + var_00 = common_scripts\_createfx::createexploderex("godray_wide_medium","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9053.87,65246.9,-1121.12),(13.6479,358.392,99.1571)); + var_00 = common_scripts\_createfx::createexploderex("godray_wide_medium","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9053.88,65376.4,-1121.7),(13.6479,358.392,99.1571)); + var_00 = common_scripts\_createfx::createexploderex("godray_wide_medium","2400"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9069,65525.2,-1112.09),(13.6479,358.392,99.1571)); + var_00 = common_scripts\_createfx::createexploderex("godray_medium_intro","4225"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5916.28,72502.8,-1163.18),(18.4678,236.949,75.0791)); + var_00 = common_scripts\_createfx::createexploderex("godray_medium_intro","4225"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6272.47,72470.4,-1174.55),(23.923,268.29,70.3501)); + var_00 = common_scripts\_createfx::createexploderex("embers_runner_loop_nosmoke","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6591.83,72029.6,-1287.77),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("embers_runner_loop_nosmoke","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6270.8,71884.4,-1476.19),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_m_blacksmk_tall","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6699.03,72257.7,-1219.05),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("embers_runner_loop_nosmoke","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6358.79,72104.7,-1478.29),(306,305,-89.9999)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_med","4001"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6430.45,72030.3,-1464.66),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("water_dissipate_linger","7008"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8088.43,67041.1,-555.995),(353.503,258.54,155.838)); + var_00 = common_scripts\_createfx::createexploderex("sfb_wind_blowing_debris","1333"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8120.93,66906.7,-619.875),(10.3234,177.591,26.9638)); + var_00 = common_scripts\_createfx::createexploderex("sf_window_shadow","1222"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8078.9,67085.2,-573.792),(1.00001,270,-179)); + var_00 = common_scripts\_createfx::createexploderex("light_fluorescent_smoke_dim","1668"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7861.76,66297.2,-1295.99),(88.9999,3.00019,0)); + var_00 = common_scripts\_createfx::createexploderex("light_white_radiosity_sim","1668"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7866.66,66297.4,-1357.99),(88.9999,3.00019,0)); + var_00 = common_scripts\_createfx::createexploderex("light_fluorescent_smoke_dim","1669"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8316.91,66571.6,-869.609),(88.9999,3.00019,0)); + var_00 = common_scripts\_createfx::createexploderex("light_smoke_dim","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7469.15,65659.2,-1178.76),(7.91409,357.753,-2.74165)); + var_00 = common_scripts\_createfx::createexploderex("water_falling_low_wide2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7251.61,66996.3,-1103.03),(274.119,255.869,103.956)); + var_00 = common_scripts\_createfx::createexploderex("water_falling_low_narrow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7355.88,66882.4,-1115.54),(275.385,248.163,111.749)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7314.37,66961.3,-1110.13),(270,75.4345,-165.435)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7565.85,66936.4,-1119.72),(270,75.4345,104.566)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7613.85,66980.7,-1119.63),(270,75.4345,104.566)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8016.87,66962.8,-1111.94),(270,75.4345,104.566)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7947.71,66890.9,-1114.38),(270,75.4345,104.566)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7935.19,67076.9,-1112.92),(270,75.4345,104.566)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8386.26,67056.1,-1121.58),(270,75.4345,104.566)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8378.26,66963.4,-1121.67),(270,75.4345,104.566)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8484.07,66392.7,-1145.99),(270,75.4345,104.566)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8539.46,66189.8,-1134.97),(270,75.4345,-165.434)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8270.85,66258.2,-1117.97),(270,75.4345,14.5655)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7728.08,66251.6,-1117.95),(270,75.4345,14.5655)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7568.6,66210.3,-1113.96),(270,75.4345,14.5655)); + var_00 = common_scripts\_createfx::createexploderex("water_falling_low_wide","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7473.6,66772.3,-1091.54),(270,75.4345,-118.435)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7562.35,66598.2,-1082.13),(270,75.4345,14.5655)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7325.09,66745.1,-1105.85),(270,75.4345,14.5655)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7485.77,66395,-1082.13),(270,75.4345,104.566)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7615.21,66391.7,-1082.13),(270,75.4345,104.566)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7090.87,66512.1,-1082.13),(270,75.4345,104.566)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7359.67,66376.9,-1082.13),(270,75.4345,104.566)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6964.31,66274,-1119.96),(270,75.4345,103.566)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7430.54,65653.8,-1105.81),(270,75.4345,104.566)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7096.03,65650.5,-1082.13),(270,75.4345,104.566)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6834.58,66552.4,-1082.13),(270,75.4345,104.566)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6851.21,66098.4,-1082.13),(270,75.4345,104.566)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6763.87,65744.4,-1082.13),(270,75.4345,104.566)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6843.61,65769.9,-1082.13),(270,75.4345,104.566)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6812.02,66164.9,-1082.13),(270,75.4345,104.566)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7562.96,65611.5,-1131.94),(270,75.4345,-165.434)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7734.76,65678,-1116.46),(270,75.4345,-165.434)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7823.54,65635.9,-1115.98),(270,75.4345,-165.434)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7812.32,65805.1,-1123.96),(270,75.4345,-75.4344)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7872.3,65737.8,-1115.96),(270,75.4345,-75.4344)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7900.02,66095,-1116),(270,75.4345,-75.4344)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7842.16,67322.3,-973.958),(270,75.4345,14.5655)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7877.5,67060.7,-949.568),(270,75.4345,-75.4344)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7870.05,66979.5,-949.709),(270,75.4345,-75.4344)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7949.86,66710.1,-874.982),(270,75.4345,-75.4344)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8362.14,66355.6,-861.981),(270,75.4345,-75.4344)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8368.04,66507.7,-853.995),(270,75.4345,-75.4344)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8290.01,66128.2,-861.998),(270,75.4345,-75.4344)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8599.5,66991.3,-1178.67),(294.408,358.324,-105.025)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_small","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7501.24,66255.7,-1164.32),(62.7574,14.3621,-100.354)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_medium","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7432.2,66198.6,-1160.25),(2.30858,329.94,-12.3179)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_small","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7825.06,65618.1,-1163.13),(358.986,24.8368,4.32789)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_small","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7925.48,65975.3,-1166.95),(355.558,346.839,-27.9008)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_wall_med","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7590.56,65811,-1219.33),(0,269.754,-0.3737)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_ceiling_med","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7591.95,65801.7,-1134.13),(89.6155,166.151,-103.603)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_smoke_filler","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7594.47,65787.5,-1149.26),(89.6154,166.151,-94.6031)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_small","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8011.18,66687.5,-847.989),(359.562,244.003,-81.8988)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_medium","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8017.12,66087.4,-674.369),(345.499,213.409,-91.0794)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_medium","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8014.39,66333.7,-676.337),(27.115,220.895,-67.6673)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_medium","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7878.05,65995.7,-672.333),(42.4881,212.181,-91.4172)); + var_00 = common_scripts\_createfx::createexploderex("water_falling_trickle_wide","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7928.3,67018.3,-1090),(276.399,218.534,140.995)); + var_00 = common_scripts\_createfx::createexploderex("water_falling_low_wide","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7727.42,67227.1,-1105.32),(279.21,220.456,139.265)); + var_00 = common_scripts\_createfx::createexploderex("water_falling_low_wide","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8029.77,67115.9,-1091),(277.068,224.885,134.774)); + var_00 = common_scripts\_createfx::createexploderex("water_sprinkler","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7739.95,67267.8,-973.376),(270,75.4345,-118.435)); + var_00 = common_scripts\_createfx::createexploderex("water_sprinkler","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8124.09,67267.9,-973.376),(274.999,232.083,126.813)); + var_00 = common_scripts\_createfx::createexploderex("water_falling_low_wide","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7716.19,66911.1,-1101.13),(278.539,200.411,159.38)); + var_00 = common_scripts\_createfx::createexploderex("water_falling_low_wide","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7912.62,67233.6,-1090),(279.217,220.496,49.3809)); + var_00 = common_scripts\_createfx::createexploderex("water_falling_trickle_wide","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8146.88,67237.5,-1089),(278.483,224.913,44.9815)); + var_00 = common_scripts\_createfx::createexploderex("water_falling_trickle_wide","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8228.27,67033.6,-1086.13),(276.467,232.545,-50.6481)); + var_00 = common_scripts\_createfx::createexploderex("water_falling_low_wide","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8230.62,66905.7,-1090.13),(277.265,237.54,-55.6755)); + var_00 = common_scripts\_createfx::createexploderex("water_falling_low_wide","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7978.87,66907.7,-1090),(276.392,218.51,50.7733)); + var_00 = common_scripts\_createfx::createexploderex("water_falling_trickle_wide","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7784.6,67071.9,-1103.84),(277.808,219.701,50.1241)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_small","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8420.81,67140,-1166.24),(330.205,44.8616,-151.839)); + var_00 = common_scripts\_createfx::createexploderex("water_leak_small","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8008.48,67175.9,-1111.78),(63.5425,307.609,-89.0428)); + var_00 = common_scripts\_createfx::createexploderex("water_leak_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7935.12,66898.9,-1112.95),(67.1672,305.723,-97.0962)); + var_00 = common_scripts\_createfx::createexploderex("water_leak_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7613.67,66853.6,-1119.55),(70.7391,112.548,72.1738)); + var_00 = common_scripts\_createfx::createexploderex("water_leak_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7557.83,67046.8,-1119.62),(30.5447,307.004,-89.5047)); + var_00 = common_scripts\_createfx::createexploderex("water_leak_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8141.63,66986.2,-949.534),(72.444,352.619,-166.455)); + var_00 = common_scripts\_createfx::createexploderex("water_leak_small","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8319.11,67268.4,-1009.68),(34.7296,239.239,-176.81)); + var_00 = common_scripts\_createfx::createexploderex("water_leak_small","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6978.01,65851.8,-1121.19),(34,136.999,-180)); + var_00 = common_scripts\_createfx::createexploderex("water_leak_small","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7417.82,65725.5,-1101.88),(41.962,309.164,135.942)); + var_00 = common_scripts\_createfx::createexploderex("water_leak_small","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7878.65,65767,-1115.88),(34,136.999,-180)); + var_00 = common_scripts\_createfx::createexploderex("water_leak_small","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7923.62,65794.5,-1181.86),(17.2017,32.8615,179.477)); + var_00 = common_scripts\_createfx::createexploderex("water_leak_small","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7928.23,65911.6,-1158.88),(17.2017,32.8615,59.4769)); + var_00 = common_scripts\_createfx::createexploderex("water_leak_small","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8326.63,64691.3,-1176.45),(70.7913,214.451,-74.481)); + var_00 = common_scripts\_createfx::createexploderex("water_leak_small","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8401.71,64743,-1162.98),(71.8626,4.1061,90.5736)); + var_00 = common_scripts\_createfx::createexploderex("water_leak_small","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8321.74,64519.4,-1172.97),(73.1357,182.972,-90.6155)); + var_00 = common_scripts\_createfx::createexploderex("water_leak_small","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8412.86,64415.3,-1305.96),(57.1171,63.4206,178.614)); + var_00 = common_scripts\_createfx::createexploderex("water_leak_small","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8590.05,64419.3,-1422.93),(66.8829,314.211,-47.7986)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_small","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8716.91,64420,-1491.94),(1.70399,74.4857,-152.43)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_small","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8256,66586.1,-862),(30.4909,212.523,-91.2128)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_small","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8290.67,66244.4,-878.893),(334.501,213.637,-91.1579)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_small","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8293.07,66060.5,-888.443),(275.275,164.501,-76.5468)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_small","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8364.64,66569.5,-892.246),(277.657,1.23136,177.796)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_small","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7866.58,66613.9,-921.413),(278.327,22.3995,150.829)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_smoke_lg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7593.84,67057.3,-959.82),(273,270,-63)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_smoke_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7678.52,67171.1,-912.9),(273,270,-63)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_smoke_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7381.19,66851,-1105.69),(292.008,203.18,82.2846)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_medium","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8133.54,67032,-1233.88),(343.236,79.5566,92.7607)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_medium","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8007.2,67030.7,-1233.88),(343.236,79.5566,92.7607)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_medium","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7874.08,67029.3,-1233.88),(343.236,79.5566,92.7607)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_medium","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7817.71,67028.7,-1232.88),(343.236,79.5566,92.7607)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_splashes","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8383.16,67026.5,-1229.88),(273,270,-88)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_splashes","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7483.69,66992.3,-1229.88),(273,270,-88)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_splashes","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7047.66,65921,-1229.88),(273,270,-88)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_splashes","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7405.56,65651.4,-1229.88),(273,270,-88)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_splashes","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7850.35,65816.2,-1229.88),(273,270,-88)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_splashes","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7899.39,65839.1,-1229.88),(273,270,-88)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_splashes","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8346.46,64725.5,-1281.88),(273,270,-88)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_splashes","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8379.13,64453.8,-1417.88),(273,270,-88)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_small","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8054.76,65765.3,-1157.43),(335.516,147.451,-84.3958)); + var_00 = common_scripts\_createfx::createexploderex("steam_pipe_small","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8642.19,65883.1,-1158.88),(10.8443,176.008,-52.029)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_smoke_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7703.31,67152.6,-1046.38),(273,270,-63)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_rubble_med_light","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7485.09,66867.4,-1199.68),(270.385,346.118,-76.3642)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_rubble_base_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7520.56,66840.7,-1230),(271.628,182.948,86.8042)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_wall_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7499.18,66828.5,-1207.45),(0,89.754,0.373699)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_wall_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7436.31,66824,-1210.36),(0,89.754,0.373699)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_splashes","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7910.68,66878.5,-1229.88),(273,270,-88)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_splashes","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7971.84,67129.9,-1232.5),(273,270,-88)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_rubble_base_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7418.31,66844.6,-1231.1),(276.637,85.0342,-113.311)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_rubble_base_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7463.48,66842.1,-1227.12),(283.388,90,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_debris_sm_no_light","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7550.43,66849.4,-1230),(270.385,346.118,88.6358)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_debris_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7233.03,67139.2,-1218.36),(270.385,346.118,-79.3642)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_debris_sm_no_light","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7314.85,66855,-1229.5),(270.385,346.118,66.6359)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_debris_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7415,67199.3,-1222.11),(270.385,346.118,88.6358)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_large","7005"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8182.17,67053.7,-559.875),(12.7695,259.755,-92.7802)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_large","7003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7685.94,67016.8,-557.413),(12.7695,259.755,-92.7802)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_large","7004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8090.67,67060.4,-556.069),(12.7695,259.755,-92.7802)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_large_cinematic","7022"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8090.67,67060.4,-556.069),(12.7695,259.755,-92.7802)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_large","7012"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8295.02,67011.3,-561.57),(12.7695,259.755,-92.7802)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_large","7002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7610.73,66933.2,-557.867),(12.7695,259.755,-92.7802)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_splashes","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7637.06,66884.1,-1229.88),(273,270,-88)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_wall_med","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7564.34,66783.5,-1190.58),(0.108751,259.755,0.616764)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_rubble_base_med","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7561.09,66763.4,-1195.01),(287.915,243.912,-1.21788)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_smoke_med","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7546.03,66838,-1101.91),(273,270,-63)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_smoke_filler2","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7535.4,66770.3,-1143.72),(89.6154,166.151,-106.603)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_smoke_med","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7420.38,66858,-1112.76),(292.008,203.18,82.2846)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_wall_med","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7469.03,66819.3,-1183.92),(0.108751,259.755,0.616764)); + var_00 = common_scripts\_createfx::createexploderex("sf_window_shadow","1221"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8173.57,67090.3,-572.193),(1.00001,270,-179)); + var_00 = common_scripts\_createfx::createexploderex("sf_window_shadow","1223"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7982.81,67093.8,-565.697),(1.00001,270,-179)); + var_00 = common_scripts\_createfx::createexploderex("sf_window_shadow","1224"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7884.02,67093.6,-570.126),(1.00001,270,-179)); + var_00 = common_scripts\_createfx::createexploderex("sf_window_shadow","1225"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7782.22,67082.9,-588.825),(1.00001,270,-179)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_large","7006"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8000.18,67062.8,-554.632),(12.7695,259.755,-92.7802)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_large","7007"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7896.27,67062,-556.751),(12.7695,259.755,-92.7802)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_large","7008"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7805.47,67060.6,-560.763),(12.7695,259.755,-92.7802)); + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6769.19,70693.4,2395.13),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12162.9,70762.4,2737.64),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-76.9351,63488.1,3315.72),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1166.81,71858.5,4408.05),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5276.94,97868.1,13309),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10837.4,57914.4,4445.96),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10920.8,77317.5,4385.57),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20829.8,68311.9,721.275),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8520.85,64573,3916.96),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7036.09,57522,3958.96),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-252.004,52266.1,1423.76),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("water_dissipate_linger","7005"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7802.5,67049.2,-566.757),(353.503,258.54,155.838)); + var_00 = common_scripts\_createfx::createexploderex("sf_window_shadow","1220"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8287.54,67097.9,-563.951),(0.997547,265.999,-178.07)); + var_00 = common_scripts\_createfx::createexploderex("sf_window_shadow","1219"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8384.71,67033.2,-564.104),(0.997547,265.999,-178.07)); + var_00 = common_scripts\_createfx::createexploderex("sf_window_shadow","1226"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7680.5,67079.3,-586.855),(1.00001,270,-179)); + var_00 = common_scripts\_createfx::createexploderex("sf_window_shadow","1227"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7613.28,67024.3,-575.018),(1.00001,270,-179)); + var_00 = common_scripts\_createfx::createexploderex("water_sprinkler","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7931.99,67267.9,-973.376),(274.999,232.083,126.813)); + var_00 = common_scripts\_createfx::createexploderex("water_sprinkler","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8028.1,67172,-973.376),(274.999,232.083,126.813)); + var_00 = common_scripts\_createfx::createexploderex("water_sprinkler","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8124,67043.8,-973.376),(275.655,223.93,134.93)); + var_00 = common_scripts\_createfx::createexploderex("water_sprinkler","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7932,67044,-973.376),(275.655,223.93,134.93)); + var_00 = common_scripts\_createfx::createexploderex("water_sprinkler","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8028.06,66915.9,-973.376),(274.999,232.083,126.813)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_smoke_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7707.68,67295.5,-944.854),(273,270,-63)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_smoke_lg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7420.61,66910.6,-965.519),(273,270,-63)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_smoke_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7161.25,67105.7,-1059.61),(273,270.001,15.9985)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_smoke_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7406.11,67268.7,-1113.46),(273,270.001,15.9985)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_smoke_filler2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7690.2,67232.4,-959.125),(89.6154,166.151,-28.6031)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_smoke_filler2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7702.37,67098.4,-1023.56),(89.6154,166.151,-28.6031)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_smoke_filler3","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7552.91,67151.4,-1126.21),(89.6154,166.151,69.3968)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_smoke_filler2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7024.28,67148.2,-1145.46),(89.6154,166.151,69.3968)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_wall_med","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7561.11,65781.3,-1220.15),(359.626,178.754,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_wall_med","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7637.84,65787.7,-1214.54),(0.373187,2.75413,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_floor_med","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7606,65792.6,-1229.88),(270.385,346.118,-76.3642)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7374.96,67212.2,-1087.46),(86.5111,50.5623,47.7079)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7285.19,66976.1,-1096.4),(86.6342,47.2829,-135.296)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_med","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7163.94,66988.8,-940.619),(86.0142,35.0914,-134.357)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_med","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7492.52,67033.3,-903.09),(86.0142,35.0914,34.6425)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7414.96,66925.2,-990.942),(86.0142,35.0914,-45.3574)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7590.59,67045.8,-968.881),(86.0142,35.0914,-69.3574)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_med","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7631.46,67169.2,-914.019),(86.0142,35.0914,34.6425)); + var_00 = common_scripts\_createfx::createexploderex("sparks_interior_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7823,66433.3,-1319.65),(355.671,192.443,-87.6999)); + var_00 = common_scripts\_createfx::createexploderex("sparks_interior_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8322.13,64450.3,-1356.76),(355.671,192.443,-87.6999)); + var_00 = common_scripts\_createfx::createexploderex("sparks_interior_runner","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7620.33,65609.5,-756.632),(355.671,192.443,-87.6999)); + var_00 = common_scripts\_createfx::createexploderex("sparks_interior_runner","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7800.75,66193.2,-836.103),(355.671,192.443,-87.6999)); + var_00 = common_scripts\_createfx::createexploderex("sparks_interior_runner","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8103.25,65938.2,-840.766),(355.671,192.443,-87.6999)); + var_00 = common_scripts\_createfx::createexploderex("sparks_interior_runner","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8395.87,66148.3,-887.345),(355.671,192.443,-87.6999)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7727.9,67093.9,-1054.95),(86.0095,35.0442,-134.509)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7722.46,67155.8,-1013.26),(86.6342,47.2831,-122.295)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7502.71,66842.6,-1106.69),(86.6342,47.2831,-122.295)); + var_00 = common_scripts\_createfx::createexploderex("smoke_flare_marker_yellow_windy","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9748.17,66633.2,-1557.88),(270.843,229.391,8.39401)); + var_00 = common_scripts\_createfx::createexploderex("smoke_flare_marker_yellow_windy","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9828.21,65290.5,-1557.88),(270.843,229.391,8.39401)); + var_00 = common_scripts\_createfx::createexploderex("smoke_flare_marker_yellow_windy","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9795.22,66067.2,-1557.88),(270.843,229.391,8.39401)); + var_00 = common_scripts\_createfx::createexploderex("water_sprinkler","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7469.91,66582,-1136.88),(274.999,232.083,126.813)); + var_00 = common_scripts\_createfx::createexploderex("water_sprinkler","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7470.1,66389.7,-1136.88),(274.999,232.083,126.813)); + var_00 = common_scripts\_createfx::createexploderex("water_sprinkler","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7374.03,66485.9,-1136.88),(274.999,232.083,126.813)); + var_00 = common_scripts\_createfx::createexploderex("water_sprinkler","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7793.96,66518,-1136.88),(274.999,232.083,126.813)); + var_00 = common_scripts\_createfx::createexploderex("water_sprinkler","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7794.08,66421.9,-1136.88),(274.999,232.083,126.813)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_rubble_base_med","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7582.96,66774.1,-1199.38),(302.54,215.964,10.0721)); + var_00 = common_scripts\_createfx::createexploderex("water_sprinkler","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7374.03,66677.9,-1136.88),(274.999,232.083,126.813)); + var_00 = common_scripts\_createfx::createexploderex("water_sprinkler","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7258.07,66389.9,-1136.88),(274.999,232.083,126.813)); + var_00 = common_scripts\_createfx::createexploderex("water_sprinkler","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7181.9,66582,-1136.88),(274.999,232.083,126.813)); + var_00 = common_scripts\_createfx::createexploderex("water_sprinkler","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7110.05,66725.9,-1136.88),(274.999,232.083,126.813)); + var_00 = common_scripts\_createfx::createexploderex("water_sprinkler","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6808.91,66614,-1136.88),(274.999,232.083,126.813)); + var_00 = common_scripts\_createfx::createexploderex("water_sprinkler","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6809.04,66365.8,-1136.88),(274.999,232.083,126.813)); + var_00 = common_scripts\_createfx::createexploderex("water_sprinkler","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6809.06,66109.9,-1136.88),(274.999,232.083,126.813)); + var_00 = common_scripts\_createfx::createexploderex("water_sprinkler","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6808.94,65853.9,-1136.88),(274.999,232.083,126.813)); + var_00 = common_scripts\_createfx::createexploderex("water_sprinkler","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7110.02,66389.9,-1136.88),(274.999,232.083,126.813)); + var_00 = common_scripts\_createfx::createexploderex("water_sprinkler","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7110,66213.9,-1136.88),(274.999,232.083,126.813)); + var_00 = common_scripts\_createfx::createexploderex("water_sprinkler","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7110.11,65797.9,-1136.88),(274.999,232.083,126.813)); + var_00 = common_scripts\_createfx::createexploderex("water_sprinkler","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7110.02,65621.9,-1136.88),(274.999,232.083,126.813)); + var_00 = common_scripts\_createfx::createexploderex("water_sprinkler","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7341.98,65989.9,-1136.88),(274.999,232.083,126.813)); + var_00 = common_scripts\_createfx::createexploderex("water_sprinkler","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7246.02,65989.9,-1136.88),(274.999,232.083,126.813)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7054.32,65752,-1115.98),(270,75.4345,104.566)); + var_00 = common_scripts\_createfx::createexploderex("water_drips_line_fast","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7054.51,66149.3,-1116),(270,75.4345,104.566)); + var_00 = common_scripts\_createfx::createexploderex("sparks_interior_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7917.83,66235.4,-1322.42),(358.014,286.608,-94.4816)); + var_00 = common_scripts\_createfx::createexploderex("sparks_interior_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7764.5,65639.9,-1166.49),(3.81078,1.42735,-93.0845)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_seabreeze_lg","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8951.65,70619.7,-1401.88),(270.843,229.391,10.394)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_mist_lg","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8615.16,69664.3,-1109.88),(270.843,229.391,19.394)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_mist_lg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6624.57,69917.2,-1237.88),(270.843,229.391,19.394)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_mist_lg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6657.97,70623.8,-1368.46),(281.308,162.767,85.9414)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_mist_lg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5724.08,69558.1,-1365.88),(270.843,229.391,19.394)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_mist_lg","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7786.07,68527.5,-1239),(270.843,229.391,19.394)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_mist_lg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6538.54,68700.2,-1365.88),(270.843,229.391,19.394)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_mist_lg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5602.38,71210.6,-1232.52),(270.843,229.391,19.394)); + var_00 = common_scripts\_createfx::createexploderex("sparks_interior_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7527.33,66939.4,-1200.5),(270.968,238.537,43.8496)); + var_00 = common_scripts\_createfx::createexploderex("sparks_interior_runner","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8172.94,66939.3,-1201.84),(270.968,238.537,43.8496)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_smoke_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7711.73,67248.1,-1016.51),(273,270,-63)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_smoke_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7674.65,67054.6,-970.461),(273,270,-63)); + var_00 = common_scripts\_createfx::createexploderex("sparks_interior_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8496.16,66720.2,-1163.29),(272.349,19.7944,-5.36954)); + var_00 = common_scripts\_createfx::createexploderex("sparks_interior_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7800.19,66295.2,-1142.03),(270.968,238.537,43.8496)); + var_00 = common_scripts\_createfx::createexploderex("sparks_interior_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7581.42,66667,-1082.13),(270.968,238.537,43.8496)); + var_00 = common_scripts\_createfx::createexploderex("sparks_interior_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7420.64,66258,-1160.83),(270.968,238.537,43.8496)); + var_00 = common_scripts\_createfx::createexploderex("sparks_interior_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6963.88,66472.2,-1192.2),(270.968,238.537,119.85)); + var_00 = common_scripts\_createfx::createexploderex("sparks_interior_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7432.43,65511.5,-1126.13),(270.968,238.537,43.8496)); + var_00 = common_scripts\_createfx::createexploderex("sparks_interior_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7018.16,65962.5,-1090.13),(270.968,238.537,43.8496)); + var_00 = common_scripts\_createfx::createexploderex("sparks_interior_runner","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8110.3,66196,-1178.35),(270.968,238.537,43.8496)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_large_dim","7020"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8287.46,67009.8,-556.303),(12.7695,259.755,-92.7802)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_large_dim","7016"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8189.13,67065.1,-559.059),(12.7695,259.755,-92.7802)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_large_cinematic","7022"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8189.13,67065.1,-559.059),(12.7695,259.755,-92.7802)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_large_dim","7015"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8094.91,67059.3,-553.067),(12.7695,259.755,-92.7802)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_large_dim","7017"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7999.3,67059.8,-552.81),(12.7695,259.755,-92.7802)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_large_dim","7018"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7902.12,67057.3,-555.975),(12.7695,259.755,-92.7802)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_large_dim","7019"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7808.23,67060.2,-557.767),(12.7695,259.755,-92.7802)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_large_dim","7014"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7699.31,67019.3,-556.469),(12.7695,259.755,-92.7802)); + var_00 = common_scripts\_createfx::createexploderex("godray_window_large_dim","7013"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7622.57,66941.2,-559.956),(12.7695,259.755,-92.7802)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7716.13,67250.2,-997.955),(86.6342,47.2831,-122.295)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_med","4001"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6421.22,72157.3,-1470.74),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_med","4001"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6361.71,72333.7,-1401.95),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_med","4001"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6615.35,72155.9,-1265.66),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_smoke_med","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6608.07,71790.4,-1185.48),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6202.82,71778.6,-1326.33),(321.798,83.2279,-136.852)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6495.42,70731.5,-1310.52),(88.5508,128.006,-44.9851)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_smoke_med","4001"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6162.93,72392.1,-1317.73),(270,0,152)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_smoke_sm","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6841.38,71961.7,-996.874),(270,0,152)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("sparks_exterior_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6179.31,71413,-1180.59),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_1","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6288.55,71742.9,-1306.43),(321.798,83.2279,-136.852)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_3","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6437.44,70762.1,-1359.15),(273.924,229.888,107.22)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_3","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6084.44,71077,-1345.78),(273.924,229.888,107.22)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_debris_small_2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5964.68,71920.4,-1480.28),(272.006,314.166,22.6182)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("fire_interior_debris_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6144.09,71883.9,-1486),(272.006,314.166,22.6182)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_debris_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5942.8,72053.7,-1482.48),(272.006,314.166,22.6182)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6159.88,72369.5,-1324.91),(88.5508,128.006,10.015)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_smoke_med","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6362.04,71406.7,-1047.84),(270,0,-138)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_3","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6214.92,71800,-1372.02),(273.924,229.888,107.22)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6234.02,71453.4,-1164.67),(86.0142,35.0914,-45.3574)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5917.45,71714.6,-1050.16),(86.0142,35.0914,-45.3574)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5818.85,71995.1,-1293.06),(86.0142,35.0914,-45.3574)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6183.54,71798.8,-1383.99),(86.0142,35.0914,-45.3574)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6463.1,72230.5,-1365.57),(86.0142,35.0914,-45.3574)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6545.59,72401.1,-982.009),(86.0142,35.0914,-45.3574)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_debris_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6496.34,70776.3,-1371.06),(277.19,162.898,173.826)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6290,70976,-1335.6),(282,157,-180)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_smoke_med","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5742.26,71919.7,-1459.48),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_smoke_sm","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6322.51,71621.7,-1356.71),(270,0,-123)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("fire_interior_debris_small_2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6255.87,71659.2,-1366),(277.19,162.898,173.826)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_debris_small_2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5990.64,71644.6,-1365.88),(277.19,162.898,173.826)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_debris_small","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5966.74,71438.9,-1361.59),(277.19,162.898,173.826)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_debris_small_2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6784.1,70685.2,-1365.88),(277.19,162.898,173.826)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_debris_small_2","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7785.89,71200.5,-1365.88),(277.19,162.898,173.826)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_debris_small_2","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8184.2,71484.9,-1309.32),(277.19,162.898,173.826)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_debris_small_2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5708.33,70129,-1365.88),(277.19,162.898,173.826)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_debris_small_2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5741.48,69349.2,-1365.88),(277.19,162.898,173.826)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_smoke_med","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5877.85,71636.5,-1203.91),(270,0,-143)); + var_00 = common_scripts\_createfx::createexploderex("smoke_column_spot_directional_lg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7491.49,66880,-821.737),(273,270,-17.9999)); + var_00 = common_scripts\_createfx::createexploderex("smoke_column_spot_directional_lg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7118,66869.7,-993.185),(282.259,328.718,-76.4429)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_med","4001"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6345.83,72387.4,-1323.24),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_windy_med","4002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6359.02,72326.2,-1399.24),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_windy_smk_med","4002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6165.13,72394.9,-1321.18),(270,0,152)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_windy_smk_med","4002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6613.81,72153.3,-1267.55),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_windy_sm","4002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6419.41,72154.2,-1471.91),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("heli_dust_kickup","4002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6237.67,72142.3,-1484.37),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_debris","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6221.25,72147.7,-1484.44),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_debris","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5835.01,72029.2,-1482.44),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_debris","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6184.23,71020.8,-1362.02),(270,0,-98)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_debris","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6804.06,70578.4,-1365.88),(270,0,-98)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_debris","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7855.27,70758.5,-1364.98),(270,0,-98)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_windy_med","4002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6431.79,72032,-1466),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_windy_smk_med","4002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6357.51,71942.2,-1399.8),(270,0,-138)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_windy_med","4002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6343.1,72385.9,-1326.6),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("fire_burst_car_crash","4003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6335.67,72045.7,-1482),(270,0,-66.9999)); + var_00 = common_scripts\_createfx::createexploderex("heli_down_draft","4004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6331.7,72130.7,-1373.64),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_blacksmk","4001"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6402.17,72250.2,-1463.21),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_blacksmk","4001"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6373.58,72037.5,-1479.73),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_s_blacksmk","4001"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6256.91,71958.2,-1479.85),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_windy_xsm","4002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6400.88,72251.8,-1463.98),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_windy_xsm","4002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6372.23,72039.3,-1479.77),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_windy_xsm","4002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6259.09,71959.4,-1479.84),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5850.05,71959.9,-1296.21),(86.0142,35.0914,-45.3574)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5968.69,71440,-1299.18),(86.0142,35.0914,-45.3574)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_smoke_med","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5923.12,72202.2,-1421.65),(270,72.7669,140.233)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("embers_runner_loop_nosmoke","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6243.74,71943.6,-1479.9),(306,305,-89.9999)); + var_00 = common_scripts\_createfx::createexploderex("embers_runner_loop_nosmoke","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6397.28,71954.2,-1483.88),(306,305,-89.9999)); + var_00 = common_scripts\_createfx::createexploderex("embers_runner_loop_nosmoke","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6507.79,72055.4,-1416.67),(306,305,-89.9999)); + var_00 = common_scripts\_createfx::createexploderex("embers_runner_loop_nosmoke","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6467.09,72151.1,-1448.46),(306,305,-89.9999)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_fast_xsm","4002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6166.69,72106.3,-1484.2),(270,0,-114)); + var_00 = common_scripts\_createfx::createexploderex("dust_blowing_ground_fast_xsm","4002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6168.57,72167.5,-1485.46),(270,0,-76.0001)); + var_00 = common_scripts\_createfx::createexploderex("boat_waves_cargoship_sfb","3200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3666.19,70544.1,-1885.38),(277.804,219.667,136.071)); + var_00 = common_scripts\_createfx::createexploderex("boat_waves_cargoship_sfb","3200"); + var_00 common_scripts\_createfx::set_origin_and_angles((344.81,70292.5,-3161.11),(277.804,219.667,136.071)); + var_00 = common_scripts\_createfx::createexploderex("boat_waves_cargoship_sfb","3200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3689.54,69096.6,-1984.76),(277.804,219.667,136.071)); + var_00 = common_scripts\_createfx::createexploderex("boat_waves_cargoship_sfb","3200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3560.4,66603,-2200.47),(277.804,219.667,136.071)); + var_00 = common_scripts\_createfx::createexploderex("boat_waves_cargoship_sfb","3200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3537.05,68050.5,-2101.09),(277.804,219.667,136.071)); + var_00 = common_scripts\_createfx::createexploderex("boat_waves_cargoship_sfb","3200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3638.79,64431.7,-2414.39),(277.804,219.667,136.071)); + var_00 = common_scripts\_createfx::createexploderex("boat_waves_cargoship_sfb","3200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3615.44,65879.2,-2315.01),(277.804,219.667,136.071)); + var_00 = common_scripts\_createfx::createexploderex("boat_waves_cargoship_sfb","3200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3444.51,61575.4,-2688.47),(277.804,219.667,136.071)); + var_00 = common_scripts\_createfx::createexploderex("boat_waves_cargoship_sfb","3200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3421.16,63022.9,-2559.09),(277.804,219.667,136.071)); + var_00 = common_scripts\_createfx::createexploderex("boat_waves_cargoship_sfb","3200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3525.28,60768.6,-2756.56),(277.804,219.667,149.071)); + var_00 = common_scripts\_createfx::createexploderex("boat_waves_cargoship_sfb","3200"); + var_00 common_scripts\_createfx::set_origin_and_angles((3775.61,59515,-2867.74),(277.804,219.667,164.071)); + var_00 = common_scripts\_createfx::createexploderex("boat_waves_cargoship_sfb","3200"); + var_00 common_scripts\_createfx::set_origin_and_angles((4433.43,57779.1,-2931.96),(277.804,219.667,179.071)); + var_00 = common_scripts\_createfx::createexploderex("boat_waves_cargoship_sfb","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16879.2,75109.7,-3300.77),(276.647,229.013,-62.293)); + var_00 = common_scripts\_createfx::createexploderex("boat_waves_cargoship_sfb","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16678.1,76158.8,-3165.84),(276.647,229.013,-62.2931)); + var_00 = common_scripts\_createfx::createexploderex("boat_waves_cargoship_sfb","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16347.7,77443.1,-3055.64),(276.723,229.388,-57.6661)); + var_00 = common_scripts\_createfx::createexploderex("boat_waves_cargoship_sfb","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16281.7,79096.3,-2878.46),(277.562,224.568,-42.8859)); + var_00 = common_scripts\_createfx::createexploderex("boat_waves_cargoship_sfb","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16226.9,81021.4,-2717.53),(276.723,229.388,-57.6661)); + var_00 = common_scripts\_createfx::createexploderex("boat_waves_cargoship_sfb","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16160.9,82674.5,-2531.34),(276.862,230.273,-48.5461)); + var_00 = common_scripts\_createfx::createexploderex("boat_waves_cargoship_sfb","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16201.9,84261.6,-2440.95),(276.862,230.273,-48.5461)); + var_00 = common_scripts\_createfx::createexploderex("boat_waves_cargoship_sfb","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16338,85662.9,-2275.06),(276.245,237.179,-45.4075)); + var_00 = common_scripts\_createfx::createexploderex("boat_waves_cargoship_sfb","3300"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16839.8,86938.3,-2213.45),(277.168,233.865,-21.1165)); + var_00 = common_scripts\_createfx::createexploderex("smoke_ambient_large","4003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6267.08,72143.9,-1468.23),(270,0,-103)); + var_00 = common_scripts\_createfx::createexploderex("smoke_column_3_spot_directional_lg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4898.67,72230.9,-423.565),(273.048,231.363,1.58766)); + var_00 = common_scripts\_createfx::createexploderex("smoke_column_4_spot_directional_lg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4289.89,71397,143.301),(273.048,231.363,1.58766)); + var_00 = common_scripts\_createfx::createexploderex("smoke_column_4_spot_directional_lg","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14256.8,71402,-394.496),(273.048,231.363,-11.4123)); + var_00 = common_scripts\_createfx::createexploderex("smoke_column_2_spot_directional_lg","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14169,72274.2,-427.958),(273.048,231.363,-4.4123)); + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","4003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6416.61,72116.5,-1423.05),(270,0,-103)); + var_00 = common_scripts\_createfx::createexploderex("smoke_column_2_spot_directional_lg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5130.35,71543.6,-1072.26),(273.048,231.363,1.58766)); + var_00 = common_scripts\_createfx::createexploderex("smoke_column_4_spot_directional_lg","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9362.73,71430.5,-960.631),(275.728,212.787,21.1145)); + var_00 = common_scripts\_createfx::createexploderex("smoke_column_4_spot_directional_lg","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8778.98,72800.3,-862.835),(273.048,231.363,52.5877)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_smoke_lg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9400.55,71438,-945.433),(273,270,-32)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_smoke_lg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8889.52,72763.5,-904.177),(273,270,6.00005)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_smoke_lg","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14347.1,71490.2,-442.712),(273,270,-41)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_smoke_lg","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14277.9,72371.9,-518.308),(273.555,46.1691,179.311)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_windy_smk_sm","4002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6039.57,72266.1,-1443.9),(270,0,152)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_med","4001"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6037.18,72265.2,-1443.61),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_lg","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14214,71977.2,-666.747),(80.973,46.3463,53.6055)); + var_00 = common_scripts\_createfx::createexploderex("smoke_column_2_spot_directional_lg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5352.47,66529.9,-1128.38),(273.048,231.363,21.5877)); + var_00 = common_scripts\_createfx::createexploderex("smoke_column_4_spot_directional_lg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8413.81,71487.6,1561.02),(273.048,231.363,1.58766)); + var_00 = common_scripts\_createfx::createexploderex("smoke_column_4_spot_directional_lg","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6136.97,72081.3,1462.76),(273.048,231.363,1.58766)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_lg","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14335,72482.9,-538.333),(80.973,46.3463,53.6055)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_lg","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14336.6,72325.9,-584.435),(80.973,46.3463,53.6055)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_lg","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14374,72573.5,-559.256),(80.973,46.3463,53.6055)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_lg","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13960.2,71607.2,-756.757),(80.973,46.3463,53.6055)); + var_00 = common_scripts\_createfx::createexploderex("smoke_disperse_directional_lg","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4734.65,72023.2,-569.752),(280.703,192.196,96.2346)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_lg","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6548.52,72674.7,-935.645),(80.973,46.3463,53.6055)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_lg","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5585.41,72731.3,-1027.18),(80.973,46.3463,53.6055)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_lg","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5136.39,72163.9,-1185.58),(80.973,46.3463,53.6055)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_smoke_med","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6712.63,72396.7,-1078),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_lg","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9526.2,71365.9,-957.445),(80.973,46.3463,53.6055)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_lg","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9459.55,71426.8,-949.345),(80.973,46.3463,53.6055)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_lg","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9188.85,72675.4,-861.274),(80.973,46.3463,53.6055)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_lg","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4925.4,72348.6,-525.514),(80.973,46.3463,53.6055)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_lg","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4631.9,71799.1,-274.876),(80.973,46.3463,53.6055)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_lg","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4257.32,71411.7,-50.4725),(80.973,46.3463,53.6055)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_lg","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4286.99,71427.8,-106.26),(80.973,46.3463,53.6055)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_lg","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4255.96,71274.8,-62.6008),(80.973,46.3463,53.6055)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_lg","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4130.86,71412.1,184.375),(80.973,46.3463,53.6055)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_lg","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4590.43,72471.7,-78.6888),(80.973,46.3463,53.6055)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_lg","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4614.8,72596.1,0),(80.973,46.3463,53.6055)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_lg","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4110.71,72398.3,512.928),(80.973,46.3463,53.6055)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_lg","4010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4140.77,72509.4,535.505),(80.973,46.3463,53.6055)); + var_00 = common_scripts\_createfx::createexploderex("smoke_column_4_spot_directional_lg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14451.2,58885.8,-3265),(273.048,231.363,52.5877)); + var_00 = common_scripts\_createfx::createexploderex("sfb_cargoship_explosion_1","0"); + var_00 common_scripts\_createfx::set_origin_and_angles((3444.58,62338.3,-1032.49),(277.804,230.334,41.9286)); + var_00.v["delay"] = 2; + var_00.v["flag"] = "first_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_cargoship_explosion_1","0"); + var_00 common_scripts\_createfx::set_origin_and_angles((3243.82,64968.6,-974.29),(277.804,230.334,38.9286)); + var_00.v["delay"] = 2.25; + var_00.v["flag"] = "first_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_cargoship_explosion_1","0"); + var_00 common_scripts\_createfx::set_origin_and_angles((3525.58,66886.8,-708.671),(277.804,230.334,41.9286)); + var_00.v["delay"] = 4.2; + var_00.v["flag"] = "first_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_cargoship_explosion_1","0"); + var_00 common_scripts\_createfx::set_origin_and_angles((3088.33,69135.8,-1084.63),(290.011,184.683,82.744)); + var_00.v["delay"] = 2.75; + var_00.v["flag"] = "first_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_cargoship_explosion_1_reflect","0"); + var_00 common_scripts\_createfx::set_origin_and_angles((3156.07,62973.5,-2586.22),(277.804,230.334,17.1285)); + var_00.v["delay"] = 2; + var_00.v["flag"] = "first_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_cargoship_explosion_1_reflect","0"); + var_00 common_scripts\_createfx::set_origin_and_angles((3489.28,65131.2,-2379.6),(277.804,230.334,27.4284)); + var_00.v["delay"] = 2.25; + var_00.v["flag"] = "first_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_cargoship_explosion_1_reflect","0"); + var_00 common_scripts\_createfx::set_origin_and_angles((3466.88,67037.8,-2216.15),(277.804,230.334,37.9283)); + var_00.v["delay"] = 4.2; + var_00.v["flag"] = "first_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_cargoship_explosion_1_reflect","0"); + var_00 common_scripts\_createfx::set_origin_and_angles((2983.82,68825.9,-2085.92),(277.804,230.334,49.6282)); + var_00.v["delay"] = 2.75; + var_00.v["flag"] = "first_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("wind_gust_seabreeze_edge_lg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9781.62,64398.8,-1796.16),(270.843,229.391,37.394)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_seabreeze_edge_lg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9094.74,64304.2,-1523.15),(270.843,229.391,37.394)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_seabreeze_edge_lg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8990.13,63580.4,-1573.65),(270.843,229.391,37.394)); + var_00 = common_scripts\_createfx::createexploderex("smoke_column_4_spot_directional_lg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22678,67487.5,-3939.03),(273.048,231.363,52.5877)); + var_00 = common_scripts\_createfx::createexploderex("smoke_column_4_spot_directional_lg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22623.7,56416.4,-4543.78),(273.048,231.363,52.5877)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_smoke_lg","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8495.7,71524.5,-919.959),(273,270,-19)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_debris_small_2","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8560.74,70393.8,-1365.88),(277.19,162.898,173.826)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_debris_small_2","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8658.58,70303.1,-1365.88),(277.19,162.898,173.826)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_debris_small_2","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8257.67,71036.1,-1373.88),(277.19,162.898,173.826)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_debris_small_2","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6823,69253.7,-1365.88),(277.19,162.898,173.826)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_med","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6341.2,71460.7,-1314.57),(86.0142,35.0914,-45.3574)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_seabreeze_edge_lg","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9663.76,69964.2,-1372.12),(270.843,229.391,37.394)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_med","4001"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6341.7,72255.4,-1469.15),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_windy_med","4002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6343.22,72256.8,-1467.86),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_windy_xsm","4002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6291.95,72250.4,-1484.08),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_debris_small_2","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7395.46,67542.8,-1362.22),(277.19,162.898,173.826)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_debris_small_2","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7151,67535.5,-1365.88),(277.19,162.898,173.826)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_seabreeze_lg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9655.57,65277.6,-1557.88),(270.843,229.391,23.3939)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_seabreeze_lg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9561.12,66216.6,-1557.88),(270.843,229.391,19.394)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_debris_small_2","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7461,67448.1,-1365.35),(277.19,162.898,173.826)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_seabreeze_edge_lg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9839.02,66575.6,-1557.88),(270.843,229.391,37.394)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_seabreeze_edge_lg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9848.7,66081.4,-1557.88),(270.843,229.391,37.394)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_seabreeze_edge_lg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9834.76,65450.7,-1557.88),(270.843,229.391,37.394)); + var_00 = common_scripts\_createfx::createexploderex("wind_gust_seabreeze_edge_lg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9815.09,65054.6,-1557.88),(270.843,229.391,37.394)); + var_00 = common_scripts\_createfx::createexploderex("sfb_ship_dripping_fire","0"); + var_00 common_scripts\_createfx::set_origin_and_angles((2820.01,65410.6,-1185.12),(275,270,1.99988)); + var_00.v["delay"] = 4.56; + var_00.v["flag"] = "first_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_cargoship_explosion_1","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15883,83067.5,-1342.12),(277.804,230.334,-140.071)); + var_00.v["delay"] = 2; + var_00.v["flag"] = "second_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_cargoship_explosion_1","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16310.9,79870.5,-1276.14),(277.804,230.334,-140.071)); + var_00.v["delay"] = 2.25; + var_00.v["flag"] = "second_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_cargoship_explosion_1","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16154.8,76604.3,-1989.06),(276.055,279.788,170.788)); + var_00.v["delay"] = 2.75; + var_00.v["flag"] = "second_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_cargoship_explosion_1","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16619.9,74492.2,-2210.21),(290.419,341.583,98.1471)); + var_00.v["delay"] = 4.2; + var_00.v["flag"] = "second_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_ship_dripping_fire","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15640.4,80015.1,-1397.22),(275,270,174)); + var_00.v["delay"] = 4.56; + var_00.v["flag"] = "second_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_cargoship_explosion_1_reflect","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13541,79403.8,-2593.81),(276.722,179.269,-147.758)); + var_00.v["delay"] = 2; + var_00.v["flag"] = "second_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_cargoship_explosion_1_reflect","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14046.7,78165.7,-2765.43),(276.722,179.269,-147.258)); + var_00.v["delay"] = 2.25; + var_00.v["flag"] = "second_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_cargoship_explosion_1_reflect","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14752.5,75834.3,-3028.91),(276.722,179.269,-135.958)); + var_00.v["delay"] = 2.75; + var_00.v["flag"] = "second_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_cargoship_explosion_1_reflect","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15481.3,73839.7,-3273.16),(276.722,179.269,-124.558)); + var_00.v["delay"] = 4.2; + var_00.v["flag"] = "second_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("boat_shockwave_cargoship_sfb","0"); + var_00 common_scripts\_createfx::set_origin_and_angles((2605.2,66486.4,-2321.34),(277.196,224.241,55.6691)); + var_00.v["delay"] = 4.3; + var_00.v["flag"] = "first_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_cargoship_explosion_1","0"); + var_00 common_scripts\_createfx::set_origin_and_angles((2545.61,66396.7,359.057),(277.804,230.334,41.9286)); + var_00.v["delay"] = 4.35; + var_00.v["flag"] = "first_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_cargoship_explosion_1_small","0"); + var_00 common_scripts\_createfx::set_origin_and_angles((3180.41,67664.8,-901.836),(5,180,0)); + var_00.v["delay"] = 3.2; + var_00.v["flag"] = "first_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_cargoship_explosion_1_small","0"); + var_00 common_scripts\_createfx::set_origin_and_angles((3277.35,66715,-509.994),(277.067,225.109,0)); + var_00.v["delay"] = 3.3; + var_00.v["flag"] = "first_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_cargoship_explosion_1_small","0"); + var_00 common_scripts\_createfx::set_origin_and_angles((3097.54,66806.2,-1206.43),(277.067,225.109,0)); + var_00.v["delay"] = 3.6; + var_00.v["flag"] = "first_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_cargoship_explosion_1_small","0"); + var_00 common_scripts\_createfx::set_origin_and_angles((3102.68,67372.3,-356.151),(314.975,156.078,169.431)); + var_00.v["delay"] = 3.75; + var_00.v["flag"] = "first_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_cargoship_explosion_1_small","0"); + var_00 common_scripts\_createfx::set_origin_and_angles((3182.57,66669.1,-926.429),(5,180,0)); + var_00.v["delay"] = 3.85; + var_00.v["flag"] = "first_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_cargoship_explosion_1_small","0"); + var_00 common_scripts\_createfx::set_origin_and_angles((3166.36,67052.5,-747.218),(342.812,164.484,-1.44094)); + var_00.v["delay"] = 3.9; + var_00.v["flag"] = "first_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_turret_mist_spray","0"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4118.28,67282.8,-925.778),(283,0,89.9998)); + var_00.v["delay"] = 4.65; + var_00.v["flag"] = "first_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_turret_mist_spray","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10075.5,70320.4,-1121.72),(280.366,163.18,62.1609)); + var_00.v["delay"] = 4.65; + var_00.v["flag"] = "second_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_cargoship_explosion_1","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15970.5,74243.8,-720.87),(290.419,341.583,98.1471)); + var_00.v["delay"] = 4.35; + var_00.v["flag"] = "second_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("boat_shockwave_cargoship_sfb","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14457.7,75134.1,-3059.07),(277.196,224.241,55.6691)); + var_00.v["delay"] = 4.3; + var_00.v["flag"] = "second_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_cargoship_explosion_1_small","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16002.8,75849.4,-2042.06),(276.055,279.788,170.788)); + var_00.v["delay"] = 3; + var_00.v["flag"] = "second_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_cargoship_explosion_1_small","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16307.4,75177.4,-1911.72),(292.73,246.474,-157.881)); + var_00.v["delay"] = 3.15; + var_00.v["flag"] = "second_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_cargoship_explosion_1_small","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16302.5,74301,-1809.42),(276.055,279.788,170.788)); + var_00.v["delay"] = 3.4; + var_00.v["flag"] = "second_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_cargoship_explosion_1_small","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16509.8,73745.6,-2225.82),(295.996,16.3443,73.848)); + var_00.v["delay"] = 3.7; + var_00.v["flag"] = "second_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_cargoship_explosion_1_small","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16128.2,74753.2,-2089.68),(343.409,350.007,0)); + var_00.v["delay"] = 3.85; + var_00.v["flag"] = "second_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("sfb_cargoship_explosion_1_small","1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16316.2,74046.1,-2047.26),(350.407,345.417,0)); + var_00.v["delay"] = 3.9; + var_00.v["flag"] = "second_cargo_ship_destroyed"; + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_windy_xsm","4002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6101.35,72244.3,-1462.63),(270,0,-172)); + var_00 = common_scripts\_createfx::createexploderex("fire_interior_rubble_med_light","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7622.03,65770.8,-1192.88),(89.6154,166.151,-100.603)); + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-12159.5,73214.8,1147.24),(270.843,229.391,19.394)); + var_00 = common_scripts\_createfx::createexploderex("aa_explosion_runner","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2943.85,68578.1,1184.27),(270.843,229.391,19.394)); + var_00 = common_scripts\_createfx::createexploderex("cloud_mist_ambient_xlarge","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10155.8,68108.9,-713.611),(276.484,304.588,-101.019)); + var_00 = common_scripts\_createfx::createexploderex("cloud_mist_ambient_xlarge","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-23635.4,70090,-3569.58),(273.712,258.05,-82.2518)); + var_00 = common_scripts\_createfx::createexploderex("cloud_mist_ambient_xlarge","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20882,79480.2,851.558),(270.843,229.391,-54.606)); + var_00 = common_scripts\_createfx::createexploderex("cloud_mist_ambient_xlarge","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-23862,76235,-3415.59),(270.843,229.391,-50.606)); + var_00 = common_scripts\_createfx::createexploderex("cloud_mist_ambient_xlarge","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13506,62438.2,-1428.4),(270.843,229.391,-24.606)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3060.27,70395.3,-1955.9),(3.33286,177.832,-4.64141)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3070.95,63669.5,-2524.35),(3.33286,177.832,-4.64141)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_bottom","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3201.83,70384.4,-1955.9),(274.824,251.91,-73.8622)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_bottom","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((3163.5,64095.7,-2524.35),(275.191,241.233,-63.2252)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16551.4,74319.5,-3324.27),(353.576,340.148,6.31796)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15626.8,78840.7,-2860.79),(353.124,355.277,6.68762)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22413.3,65012.1,-4711.28),(13.9809,357.742,6.84293)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14568.1,63102.6,-4172.94),(14.8711,6.20589,5.81532)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14514.1,56854.5,-4650.68),(355,0,5)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22057.1,75090.5,-3738.53),(8.89508,0.273805,6)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21977.7,50748.2,-5862.61),(8.97622,0.36483,6)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22147.4,54536.3,-5593.09),(8.72685,1.2593,4)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow_bottom","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16627.3,74323.2,-3324.27),(277.167,221.9,118.767)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow_bottom","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15671.8,78840.5,-2860.79),(278.259,229.397,126.398)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow_bottom","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22413.3,65012.1,-4675.28),(278.168,219.538,136.375)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow_bottom","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14707.3,62714.3,-4191.94),(276.965,224.964,142.355)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow_bottom","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14491.2,55480.6,-4783.68),(277.067,225.109,135.109)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow_bottom","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22183,75086.2,-3738.53),(277.179,234.863,124.269)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow_bottom","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22068.6,50753.1,-5862.61),(276.629,242.706,116.566)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow_bottom","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22162.3,54534.2,-5562.09),(278.149,239.161,121.455)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16548.4,74319.6,-3324.27),(353.576,340.148,6.31796)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15625.9,78840.3,-2860.79),(353.124,355.277,6.68762)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22410.3,65012.4,-4711.28),(13.9809,357.742,6.84293)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14567.2,63102.9,-4181.94),(14.8711,6.20589,5.81532)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14510.4,56856,-4650.68),(355,0,5)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22051.6,75092.8,-3738.53),(8.89508,0.273805,6)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-21974.7,50748,-5862.61),(8.97622,0.36483,6)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22146.4,54536.2,-5593.09),(8.72685,1.2593,4)); + var_00 = common_scripts\_createfx::createexploderex("cloud_mist_ambient_xxlarge","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-42806.5,58621.8,-5919.7),(270.843,229.391,-53.6059)); + var_00 = common_scripts\_createfx::createexploderex("cloud_mist_ambient_xxlarge","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53497.4,40480.5,-8779.99),(270.843,229.391,-53.6059)); + var_00 = common_scripts\_createfx::createexploderex("cloud_mist_ambient_xxlarge","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-57256.7,84147.9,-5587.59),(270.843,229.391,-53.6059)); + var_00 = common_scripts\_createfx::createexploderex("cloud_mist_ambient_xxlarge","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-52888.3,40244.7,-8739.15),(270.843,229.391,-53.6059)); + var_00 = common_scripts\_createfx::createexploderex("cloud_mist_ambient_xxlarge","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-53670.5,6562.71,-12372.9),(270.843,229.391,-53.6059)); + var_00 = common_scripts\_createfx::createexploderex("cloud_mist_ambient_xxlarge","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-42866.3,58555.4,-6027.96),(270.843,229.391,-53.6059)); + var_00 = common_scripts\_createfx::createexploderex("cloud_mist_ambient_xxlarge","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((32881.8,-14771.5,-5767),(276.754,254.395,-86.5894)); + var_00 = common_scripts\_createfx::createexploderex("cloud_mist_ambient_xxlarge","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((44022.6,31307.3,-1364.22),(277.776,243.473,-87.9409)); + var_00 = common_scripts\_createfx::createexploderex("dust_ground_residual_xsm","4005"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6155,72050.6,-1482.88),(270,0,-83)); + var_00 = common_scripts\_createfx::createexploderex("dust_ground_residual_xsm","4005"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6165.94,72134,-1484.14),(270,0,-59)); + var_00 = common_scripts\_createfx::createexploderex("embers_runner_loop_no_cull","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6080.06,72248.6,-1456.04),(0.329363,277.269,87.3264)); + var_00 = common_scripts\_createfx::createexploderex("cloud_mist_ambient_xlarge","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-23638.5,70024.9,-1866.4),(273.712,258.05,-82.2518)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_smoke_lg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15870.1,72435.9,-320.11),(280.412,176.618,35.109)); + var_00 = common_scripts\_createfx::createexploderex("smoke_column_2_spot_directional_lg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15780.3,72288.1,-229.796),(273.048,231.363,-20.4123)); + var_00 = common_scripts\_createfx::createexploderex("smoke_column_2_spot_directional_lg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14165.3,72274.4,-427.201),(273.048,231.363,-4.4123)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_smoke_lg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14281.1,72367,-517.69),(273.555,46.1691,179.311)); + var_00 = common_scripts\_createfx::createexploderex("fire_spot_directional_smoke_lg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14348,71490.8,-445.306),(273,270,-41)); + var_00 = common_scripts\_createfx::createexploderex("smoke_column_4_spot_directional_lg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14255.1,71398.9,-395.262),(273.048,231.363,-11.4123)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_lg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-13948.1,71593.9,-757.191),(80.973,46.3463,53.6055)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_lg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14196.2,71965.5,-661.73),(80.973,46.3463,53.6055)); + var_00 = common_scripts\_createfx::createexploderex("fire_molten_drip_lg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14352.3,72345.1,-579.85),(80.973,46.3463,53.6055)); + var_00 = common_scripts\_createfx::createexploderex("smoke_disperse_directional_lg","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14377.3,71556.4,-733.716),(274.509,33.143,-178.864)); + var_00 = common_scripts\_createfx::createexploderex("cloud_mist_ambient_xlarge","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10310,61579.5,-1215.04),(270.843,229.391,-25.606)); + var_00 = common_scripts\_createfx::createexploderex("sfb_bridge_debris_falling","3700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14083.8,71751.8,-715.394),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_horizon_glow_sf","4445"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6149.75,71628.2,-1359.88),(12.1275,339.34,7.17284)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6040.48,71608.1,-1363.11),(270,0,-103)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("battlefield_smoke_m","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6061.97,71536.4,-1365.88),(270,0,-103)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("smoke_ambient_dark_large","4444"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6162.05,71465.6,-1365.88),(270,0,-103)); + var_00 = common_scripts\_createfx::createexploderex("smoke_ambient_dark_large","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6175.44,71688.6,-1365.88),(270,0,-103)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("fire_interior_debris_small_2","4444"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6230.98,71516.6,-1366),(275,188,60.9998)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14996.2,46083.3,-5711.01),(8.72685,1.2593,4)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14823.4,42294.9,-5980.53),(3.0087,359.738,5.93452)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-25512.9,59539.6,-5422.33),(8.72685,1.2593,4)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14993.1,46083.3,-5711.01),(8.72685,1.2593,4)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14824.4,42294.5,-5980.53),(8.97622,0.36483,6)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-25512.9,59539.6,-5422.33),(8.72685,1.2593,4)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow_bottom","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14712.1,62717.5,-4191.18),(276.965,224.964,142.355)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow_bottom","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14666.3,56863.3,-4687.09),(276.965,224.964,142.355)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow_bottom","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14671.1,56866.5,-4686.33),(276.965,224.964,142.355)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow_bottom","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22160.1,54554.3,-5558.96),(278.149,239.161,121.455)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow_bottom","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22084.4,50767,-5865.84),(276.629,242.706,116.566)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow_bottom","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22416.7,65019.2,-4675.12),(278.168,219.538,136.375)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow_bottom","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-22195.6,75094.5,-3738.1),(277.179,234.863,124.269)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow_bottom","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14892.7,42540.2,-5940.01),(276.629,242.706,116.566)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow_bottom","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14908.5,42554.1,-5943.24),(276.629,242.706,116.566)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow_bottom","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-16629.7,74332.7,-3324.94),(277.167,221.9,118.767)); + var_00 = common_scripts\_createfx::createexploderex("boat_edge_wave_distortion_shadow_bottom","2000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15672,78837,-2860),(278.259,229.397,126.398)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf2209_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7882,67366,-1147),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf2225_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8074,67366,-1147),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf2231_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7946,67366,-1147),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7078_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7696,67018,-561),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7080_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7894,67060,-561),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7081_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7990,67060,-561),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7082_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8086,67060,-561),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7083_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8182,67060,-561),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7084_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7798,67060,-561),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7085_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7586,66752,-561),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7086_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7586,66848,-561),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7087_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8394,66848,-561),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7088_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8394,66752,-561),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7089_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7628,66950,-561),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7090_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8284,67018,-561),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7092_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8352,66950,-561),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7078_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7741.06,67033.9,-617.847),(0,315,160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7078_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7713.08,67063.3,-504.913),(0,315,-20)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7078_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7731.37,67045,-577.44),(70,225,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7078_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7723.87,67052.5,-548.31),(70,225,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7078_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7667.47,66983,-573.681),(70,225,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7078_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7678.83,66971.6,-617.847),(360,135,-160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7078_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7661.65,66989.5,-549.719),(70,225,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7078_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7650.04,67001.1,-504.614),(70,225,-90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7080_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7937,67039.6,-617.847),(0,0,160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7080_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7938,67080.2,-504.913),(0,0,-20)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7080_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7938,67054.4,-577.44),(70,270,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7080_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7938,67065,-548.31),(70,270,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7080_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7849,67055.7,-573.681),(70,270,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7080_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7849,67039.6,-617.847),(360,180,-160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7080_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7849.5,67064.4,-549.719),(70,270,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7080_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7849.5,67080.9,-504.614),(70,270,-90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7081_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8033,67039.6,-617.847),(0,0,160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7081_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8034,67080.2,-504.913),(0,0,-20)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7081_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8034,67054.4,-577.44),(70,270,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7081_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8034,67065,-548.31),(70,270,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7081_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7945,67055.7,-573.681),(70,270,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7081_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7945,67039.6,-617.847),(360,180,-160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7081_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7945.5,67064.4,-549.719),(70,270,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7081_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7945.5,67080.9,-504.614),(70,270,-90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7082_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8129,67039.6,-617.847),(0,0,160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7082_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8130,67080.2,-504.913),(0,0,-20)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7082_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8130,67054.4,-577.44),(70,270,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7082_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8130,67065,-548.31),(70,270,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7082_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8041,67055.7,-573.681),(70,270,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7082_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8041,67039.6,-617.847),(360,180,-160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7082_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8041.5,67064.4,-549.719),(70,270,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7082_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8041.5,67080.9,-504.614),(70,270,-90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7083_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8225,67039.6,-617.847),(0,0,160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7083_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8226,67080.2,-504.913),(0,0,-20)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7083_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8226,67054.4,-577.44),(70,270,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7083_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8226,67065,-548.31),(70,270,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7083_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8137,67055.7,-573.681),(70,270,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7083_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8137,67039.6,-617.847),(360,180,-160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7083_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8137.5,67064.4,-549.719),(70,270,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7083_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8137.5,67080.9,-504.614),(70,270,-90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7084_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7841,67039.6,-617.847),(0,0,160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7084_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7842,67080.2,-504.913),(0,0,-20)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7084_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7842,67054.4,-577.44),(70,270,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7084_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7842,67065,-548.31),(70,270,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7084_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7753,67055.7,-573.681),(70,270,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7084_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7753,67039.6,-617.847),(360,180,-160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7084_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7753.5,67064.4,-549.719),(70,270,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7084_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7753.5,67080.9,-504.614),(70,270,-90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7085_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7606.35,66795,-617.847),(0,270,160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7085_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7565.78,66796,-504.913),(0,270,-20)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7085_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7591.65,66796,-577.44),(70,180,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7085_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7581.05,66796,-548.31),(70,180,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7085_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7590.28,66707,-573.681),(70,180,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7085_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7606.35,66707,-617.847),(360,90,-160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7085_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7581.56,66707.5,-549.719),(70,180,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7085_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7565.14,66707.5,-504.614),(70,180,-90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7086_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7606.35,66891,-617.847),(0,270,160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7086_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7565.78,66892,-504.913),(0,270,-20)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7086_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7591.65,66892,-577.44),(70,180,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7086_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7581.05,66892,-548.31),(70,180,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7086_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7590.28,66803,-573.681),(70,180,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7086_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7606.35,66803,-617.847),(360,90,-160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7086_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7581.56,66803.5,-549.719),(70,180,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7086_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7565.14,66803.5,-504.614),(70,180,-90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7087_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8373.65,66805,-617.847),(0,90,160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7087_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8414.22,66804,-504.913),(0,90,-20)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7087_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8388.35,66804,-577.44),(70,360,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7087_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8398.96,66804,-548.31),(70,360,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7087_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8389.72,66893,-573.681),(70,0,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7087_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8373.65,66893,-617.847),(360,270,-160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7087_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8398.44,66892.5,-549.719),(70,0,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7087_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8414.86,66892.5,-504.614),(70,0,-90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7088_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8373.65,66709,-617.847),(0,90,160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7088_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8414.22,66708,-504.913),(0,90,-20)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7088_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8388.35,66708,-577.44),(70,360,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7088_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8398.96,66708,-548.31),(70,360,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7088_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8389.72,66797,-573.681),(70,0,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7088_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8373.65,66797,-617.847),(360,270,-160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7088_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8398.44,66796.5,-549.719),(70,0,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7088_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8414.86,66796.5,-504.614),(70,0,-90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7089_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7672.94,66965.8,-617.847),(0,315,160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7089_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7644.96,66995.1,-504.913),(0,315,-20)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7089_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7663.25,66976.9,-577.44),(70,225,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7089_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7655.75,66984.4,-548.31),(70,225,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7089_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7599.35,66914.9,-573.681),(70,225,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7089_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7610.71,66903.5,-617.847),(360,135,-160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7089_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7593.54,66921.4,-549.719),(70,225,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7089_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7581.93,66933,-504.614),(70,225,-90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7090_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8299.75,66973.1,-617.847),(0,45,160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7090_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8329.15,67001,-504.913),(0,45,-20)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7090_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8310.86,66982.8,-577.44),(70,315,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7090_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8318.36,66990.3,-548.31),(70,315,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7090_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8248.89,67046.6,-573.681),(70,315,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7090_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8237.53,67035.3,-617.847),(360,225,-160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7090_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8255.41,67052.5,-549.719),(70,315,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7090_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8267.02,67064.1,-504.614),(70,315,-90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7092_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8367.87,66904.9,-617.847),(0,45,160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7092_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8397.27,66932.9,-504.913),(0,45,-20)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7092_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8378.98,66914.6,-577.44),(70,315,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7092_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8386.47,66922.1,-548.31),(70,315,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7092_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8317.01,66978.5,-573.681),(70,315,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7092_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8305.64,66967.2,-617.847),(360,225,-160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7092_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8323.53,66984.3,-549.719),(70,315,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7092_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8335.14,66996,-504.614),(70,315,-90)); + var_00 = common_scripts\_createfx::createexploderex("tire_industrial_01_rubber","pf10295_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6697.9,71647.8,-1152),(346.191,353.39,51.4965)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf10295_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6697.9,71647.8,-1152),(346.191,353.39,51.4965)); + var_00 = common_scripts\_createfx::createexploderex("tire_industrial_01_rubber","pf10296_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6681.8,71753.4,-1167.5),(346.191,353.39,-70.5035)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf10296_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6681.8,71753.4,-1167.5),(346.191,353.39,-70.5035)); + var_00 = common_scripts\_createfx::createexploderex("tire_industrial_01_rubber","pf10297_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6672.3,71815.5,-1176.6),(346.191,353.39,-138.504)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf10297_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6672.3,71815.5,-1176.6),(346.191,353.39,-138.504)); + var_00 = common_scripts\_createfx::createexploderex("tire_industrial_01_rubber","pf10298_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6429.7,72328.1,-1389),(39.6265,274.912,55.3931)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf10298_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6429.7,72328.1,-1389),(39.6265,274.912,55.3931)); + var_00 = common_scripts\_createfx::createexploderex("tire_industrial_01_rubber","pf10299_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6322.9,72342.9,-1395.7),(39.6265,274.912,-66.6069)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf10299_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6322.9,72342.9,-1395.7),(39.6265,274.912,-66.6069)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","pf7078_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7699.32,67019,-564.113),(355.525,347.957,-17.2837)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","pf7080_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7897,67058.7,-564.113),(355.525,32.9575,-17.2837)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","pf7081_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7993,67058.7,-564.113),(355.525,32.9575,-17.2837)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","pf7082_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8089,67058.7,-564.113),(355.525,32.9575,-17.2837)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","pf7083_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8185,67058.7,-564.113),(355.525,32.9575,-17.2837)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","pf7084_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7801,67058.7,-564.113),(355.525,32.9575,-17.2837)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","pf7085_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7587.33,66755,-564.113),(355.525,302.957,-17.2837)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","pf7086_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7587.33,66851,-564.113),(355.525,302.957,-17.2837)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","pf7087_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8392.67,66845,-564.113),(355.525,122.957,-17.2837)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","pf7088_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8392.67,66749,-564.113),(355.525,122.957,-17.2837)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","pf7089_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7631.2,66950.9,-564.113),(355.525,347.957,-17.2837)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","pf7090_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8284.92,67014.8,-564.113),(355.525,77.9575,-17.2837)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","pf7092_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8353.04,66946.7,-564.113),(355.525,77.9575,-17.2837)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_3","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5980.7,71352.4,-1272.04),(273.924,229.888,107.22)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf2209_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7882,67366,-1147),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf2225_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8074,67366,-1147),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf2231_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7946,67366,-1147),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7078_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7696,67018,-561),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7080_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7894,67060,-561),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7081_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7990,67060,-561),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7082_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8086,67060,-561),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7083_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8182,67060,-561),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7084_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7798,67060,-561),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7085_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7586,66752,-561),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7086_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7586,66848,-561),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7087_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8394,66848,-561),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7088_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8394,66752,-561),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7089_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7628,66950,-561),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7090_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8284,67018,-561),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7092_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8352,66950,-561),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7078_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7741.06,67033.9,-617.847),(0,315,160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7078_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7713.08,67063.3,-504.913),(0,315,-20)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7078_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7731.37,67045,-577.44),(70,225,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7078_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7723.87,67052.5,-548.31),(70,225,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7078_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7667.47,66983,-573.681),(70,225,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7078_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7678.83,66971.6,-617.847),(360,135,-160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7078_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7661.65,66989.5,-549.719),(70,225,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7078_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7650.04,67001.1,-504.614),(70,225,-90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7080_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7937,67039.6,-617.847),(0,0,160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7080_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7938,67080.2,-504.913),(0,0,-20)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7080_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7938,67054.4,-577.44),(70,270,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7080_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7938,67065,-548.31),(70,270,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7080_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7849,67055.7,-573.681),(70,270,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7080_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7849,67039.6,-617.847),(360,180,-160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7080_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7849.5,67064.4,-549.719),(70,270,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7080_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7849.5,67080.9,-504.614),(70,270,-90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7081_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8033,67039.6,-617.847),(0,0,160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7081_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8034,67080.2,-504.913),(0,0,-20)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7081_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8034,67054.4,-577.44),(70,270,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7081_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8034,67065,-548.31),(70,270,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7081_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7945,67055.7,-573.681),(70,270,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7081_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7945,67039.6,-617.847),(360,180,-160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7081_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7945.5,67064.4,-549.719),(70,270,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7081_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7945.5,67080.9,-504.614),(70,270,-90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7082_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8129,67039.6,-617.847),(0,0,160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7082_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8130,67080.2,-504.913),(0,0,-20)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7082_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8130,67054.4,-577.44),(70,270,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7082_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8130,67065,-548.31),(70,270,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7082_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8041,67055.7,-573.681),(70,270,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7082_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8041,67039.6,-617.847),(360,180,-160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7082_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8041.5,67064.4,-549.719),(70,270,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7082_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8041.5,67080.9,-504.614),(70,270,-90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7083_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8225,67039.6,-617.847),(0,0,160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7083_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8226,67080.2,-504.913),(0,0,-20)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7083_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8226,67054.4,-577.44),(70,270,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7083_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8226,67065,-548.31),(70,270,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7083_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8137,67055.7,-573.681),(70,270,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7083_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8137,67039.6,-617.847),(360,180,-160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7083_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8137.5,67064.4,-549.719),(70,270,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7083_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8137.5,67080.9,-504.614),(70,270,-90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7084_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7841,67039.6,-617.847),(0,0,160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7084_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7842,67080.2,-504.913),(0,0,-20)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7084_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7842,67054.4,-577.44),(70,270,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7084_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7842,67065,-548.31),(70,270,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7084_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7753,67055.7,-573.681),(70,270,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7084_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7753,67039.6,-617.847),(360,180,-160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7084_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7753.5,67064.4,-549.719),(70,270,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7084_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7753.5,67080.9,-504.614),(70,270,-90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7085_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7606.35,66795,-617.847),(0,270,160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7085_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7565.78,66796,-504.913),(0,270,-20)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7085_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7591.65,66796,-577.44),(70,180,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7085_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7581.05,66796,-548.31),(70,180,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7085_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7590.28,66707,-573.681),(70,180,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7085_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7606.35,66707,-617.847),(360,90,-160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7085_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7581.56,66707.5,-549.719),(70,180,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7085_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7565.14,66707.5,-504.614),(70,180,-90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7086_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7606.35,66891,-617.847),(0,270,160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7086_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7565.78,66892,-504.913),(0,270,-20)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7086_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7591.65,66892,-577.44),(70,180,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7086_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7581.05,66892,-548.31),(70,180,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7086_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7590.28,66803,-573.681),(70,180,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7086_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7606.35,66803,-617.847),(360,90,-160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7086_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7581.56,66803.5,-549.719),(70,180,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7086_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7565.14,66803.5,-504.614),(70,180,-90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7087_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8373.65,66805,-617.847),(0,90,160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7087_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8414.22,66804,-504.913),(0,90,-20)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7087_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8388.35,66804,-577.44),(70,360,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7087_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8398.96,66804,-548.31),(70,360,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7087_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8389.72,66893,-573.681),(70,0,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7087_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8373.65,66893,-617.847),(360,270,-160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7087_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8398.44,66892.5,-549.719),(70,0,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7087_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8414.86,66892.5,-504.614),(70,0,-90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7088_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8373.65,66709,-617.847),(0,90,160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7088_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8414.22,66708,-504.913),(0,90,-20)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7088_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8388.35,66708,-577.44),(70,360,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7088_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8398.96,66708,-548.31),(70,360,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7088_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8389.72,66797,-573.681),(70,0,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7088_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8373.65,66797,-617.847),(360,270,-160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7088_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8398.44,66796.5,-549.719),(70,0,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7088_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8414.86,66796.5,-504.614),(70,0,-90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7089_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7672.94,66965.8,-617.847),(0,315,160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7089_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7644.96,66995.1,-504.913),(0,315,-20)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7089_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7663.25,66976.9,-577.44),(70,225,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7089_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7655.75,66984.4,-548.31),(70,225,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7089_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7599.35,66914.9,-573.681),(70,225,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7089_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7610.71,66903.5,-617.847),(360,135,-160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7089_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7593.54,66921.4,-549.719),(70,225,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7089_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7581.93,66933,-504.614),(70,225,-90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7090_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8299.75,66973.1,-617.847),(0,45,160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7090_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8329.15,67001,-504.913),(0,45,-20)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7090_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8310.86,66982.8,-577.44),(70,315,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7090_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8318.36,66990.3,-548.31),(70,315,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7090_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8248.89,67046.6,-573.681),(70,315,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7090_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8237.53,67035.3,-617.847),(360,225,-160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7090_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8255.41,67052.5,-549.719),(70,315,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7090_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8267.02,67064.1,-504.614),(70,315,-90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7092_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8367.87,66904.9,-617.847),(0,45,160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7092_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8397.27,66932.9,-504.913),(0,45,-20)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7092_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8378.98,66914.6,-577.44),(70,315,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7092_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8386.47,66922.1,-548.31),(70,315,-90.0001)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7092_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8317.01,66978.5,-573.681),(70,315,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7092_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8305.64,66967.2,-617.847),(360,225,-160)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7092_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8323.53,66984.3,-549.719),(70,315,90)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf7092_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8335.14,66996,-504.614),(70,315,-90)); + var_00 = common_scripts\_createfx::createexploderex("tire_industrial_01_rubber","pf10295_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6697.9,71647.8,-1152),(346.191,353.39,51.4965)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf10295_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6697.9,71647.8,-1152),(346.191,353.39,51.4965)); + var_00 = common_scripts\_createfx::createexploderex("tire_industrial_01_rubber","pf10296_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6681.8,71753.4,-1167.5),(346.191,353.39,-70.5035)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf10296_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6681.8,71753.4,-1167.5),(346.191,353.39,-70.5035)); + var_00 = common_scripts\_createfx::createexploderex("tire_industrial_01_rubber","pf10297_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6672.3,71815.5,-1176.6),(346.191,353.39,-138.504)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf10297_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6672.3,71815.5,-1176.6),(346.191,353.39,-138.504)); + var_00 = common_scripts\_createfx::createexploderex("tire_industrial_01_rubber","pf10298_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6429.7,72328.1,-1389),(39.6265,274.912,55.3931)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf10298_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6429.7,72328.1,-1389),(39.6265,274.912,55.3931)); + var_00 = common_scripts\_createfx::createexploderex("tire_industrial_01_rubber","pf10299_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6322.9,72342.9,-1395.7),(39.6265,274.912,-66.6069)); + var_00 = common_scripts\_createfx::createexploderex("No FX","pf10299_1"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6322.9,72342.9,-1395.7),(39.6265,274.912,-66.6069)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","pf7078_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7699.32,67019,-564.113),(355.525,347.957,-17.2837)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","pf7080_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7897,67058.7,-564.113),(355.525,32.9575,-17.2837)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","pf7081_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7993,67058.7,-564.113),(355.525,32.9575,-17.2837)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","pf7082_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8089,67058.7,-564.113),(355.525,32.9575,-17.2837)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","pf7083_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8185,67058.7,-564.113),(355.525,32.9575,-17.2837)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","pf7084_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7801,67058.7,-564.113),(355.525,32.9575,-17.2837)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","pf7085_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7587.33,66755,-564.113),(355.525,302.957,-17.2837)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","pf7086_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7587.33,66851,-564.113),(355.525,302.957,-17.2837)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","pf7087_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8392.67,66845,-564.113),(355.525,122.957,-17.2837)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","pf7088_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8392.67,66749,-564.113),(355.525,122.957,-17.2837)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","pf7089_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7631.2,66950.9,-564.113),(355.525,347.957,-17.2837)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","pf7090_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8284.92,67014.8,-564.113),(355.525,77.9575,-17.2837)); + var_00 = common_scripts\_createfx::createexploderex("func_glass_shatter_64x64","pf7092_12"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8353.04,66946.7,-564.113),(355.525,77.9575,-17.2837)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_3","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6281.66,71877.2,-1352.05),(286.178,159.663,177.315)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_1","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6265.12,71721.1,-1301.35),(348.559,57.9527,-125.8)); + var_00.v["platform"] = "ng"; + var_00 = common_scripts\_createfx::createexploderex("cg_ending_character_light","7022"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8092.74,66921.8,-592.875),(12.7695,259.755,-92.7802)); + var_00.v["platform"] = "cg"; +} \ No newline at end of file diff --git a/AW/PC/maps/createfx/sanfran_fx.gsc b/AW/PC/maps/createfx/sanfran_fx.gsc new file mode 100644 index 0000000..d7c8b70 --- /dev/null +++ b/AW/PC/maps/createfx/sanfran_fx.gsc @@ -0,0 +1,1116 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: createfx\sanfran_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 74 ms + * Timestamp: 4/22/2024 2:07:55 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = common_scripts\utility::createoneshoteffect("fog_over_hill_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-55031.3,77532.2,1338),(271.834,208.97,-160.323)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("fog_over_hill_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-54742.1,69170.1,984.062),(278.617,74.4702,29.4981)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("fog_over_hill_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-66540.1,50657.5,1332.93),(283.027,247.455,-143.152)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("fog_over_hill_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-65192.3,60588.5,2474.53),(271.834,208.97,-105.323)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("fog_over_hill_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-36805.2,80881.2,-786.473),(271.834,208.97,-105.323)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flock_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((2485.17,79222.9,7489.86),(270,0,0)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flock_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((2376.98,76720.8,6842.69),(270,0,0)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flock_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((10989.3,78885.8,8414.14),(270,0,0)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flock_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((1408.49,77642.4,5565.52),(270,0,0)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flock_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((11611,77434.1,6177.07),(270,0,0)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flock_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((12042.7,77971.6,7074.82),(270,0,0)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flock_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((5883.34,78404.8,6245.56),(270,0,0)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flock_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((8114.5,78544.4,6359.8),(270,0,0)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flock_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((9058.97,77303.7,6178.31),(270,0,0)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flock_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((10474.2,76933.8,6529.31),(270,0,-65)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flock_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((11634,78903.9,6454.9),(270,0,0)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("bird_seagull_flock_large"); + var_00 common_scripts\_createfx::set_origin_and_angles((11212.2,76703.6,6895.14),(270,0,0)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("fog_over_hill_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-51856.8,46955.7,-1395.43),(271.834,208.97,-109.323)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("fog_over_hill_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-63552.6,101065,-1026.18),(271.834,208.97,-105.323)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("fog_over_hill_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-72637.5,83933.7,1562.98),(271.834,208.97,-90.323)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("fog_over_hill_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-37359.2,69688.5,-921.287),(271.834,208.97,-173.323)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("fog_over_hill_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-25939.7,69267,-1240.4),(271.834,208.97,-105.323)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("fog_over_hill_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-45033.8,61233.1,-846.905),(271.834,208.97,-109.323)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("fog_over_hill_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-65942.2,11554,-186.872),(271.834,208.97,-84.323)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("fog_over_hill_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-67232.2,28168.4,-1402.22),(271.834,208.97,-104.323)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("fog_over_hill_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-69104.6,40810.5,-315.447),(274.815,345.185,120.509)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("fog_over_hill_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((5537.74,70097.6,-594.87),(271.834,208.97,-105.323)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("fog_over_hill_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-39314.7,102331,-223.247),(271.834,208.97,-126.323)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("fog_over_hill_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18514.5,92073.5,855.572),(271.834,208.97,-126.323)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("fog_over_hill_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-31497,61374.5,682.741),(271.834,208.97,-126.323)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("fog_over_hill_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10806.8,65507.6,-1090.92),(271.834,208.97,-105.323)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("fog_over_hill_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-20275.5,81461.7,-124.63),(271.834,208.97,-105.323)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("fog_over_hill_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-25293.5,79371.1,2765.06),(271.834,208.97,-105.323)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("fog_over_hill_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-75751.5,95389.1,-1015.95),(271.834,208.97,-105.323)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("fog_over_hill_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-37061.6,76467.3,1686.49),(271.834,208.97,-105.323)); + var_00.v["delay"] = -20; + var_00 = common_scripts\utility::createoneshoteffect("fog_over_hill_slow"); + var_00 common_scripts\_createfx::set_origin_and_angles((-31492.1,-10291.1,-615.223),(271.834,208.97,-176.323)); + var_00.v["delay"] = -20; + var_00 = common_scripts\_createfx::createexploderex("fog_over_hill_slow","50"); + var_00 common_scripts\_createfx::set_origin_and_angles((75834.4,80710,646.051),(279.214,130.722,-65.915)); + var_00 = common_scripts\_createfx::createexploderex("fog_over_hill_slow","50"); + var_00 common_scripts\_createfx::set_origin_and_angles((72879.5,98356.4,4411.24),(282.424,227.939,156.741)); + var_00 = common_scripts\_createfx::createexploderex("fog_over_hill_slow","50"); + var_00 common_scripts\_createfx::set_origin_and_angles((53542.3,97111.4,3386.06),(284.897,227.951,-162.579)); + var_00 = common_scripts\_createfx::createexploderex("fog_over_hill_slow","50"); + var_00 common_scripts\_createfx::set_origin_and_angles((71701.9,85597.6,837.706),(276.906,307.569,147.584)); + var_00 = common_scripts\_createfx::createexploderex("fog_over_hill_slow","50"); + var_00 common_scripts\_createfx::set_origin_and_angles((41167.6,87814.4,2376.14),(276.906,307.569,109.584)); + var_00 = common_scripts\_createfx::createexploderex("fog_over_hill_slow","50"); + var_00 common_scripts\_createfx::set_origin_and_angles((49760.9,77999.7,-28.582),(276.906,307.569,93.5842)); + var_00 = common_scripts\_createfx::createexploderex("fog_over_hill_slow","50"); + var_00 common_scripts\_createfx::set_origin_and_angles((31669.3,82303.6,1912.09),(285.416,260.356,-178.1)); + var_00 = common_scripts\_createfx::createexploderex("fog_over_hill_slow","50"); + var_00 common_scripts\_createfx::set_origin_and_angles((42253.2,68894.6,-93.0348),(285.844,290.042,95.5879)); + var_00 = common_scripts\_createfx::createexploderex("fog_over_hill_slow","50"); + var_00 common_scripts\_createfx::set_origin_and_angles((38969.3,72219.6,-156.119),(272.255,51.3184,-26.39)); + var_00 = common_scripts\_createfx::createexploderex("fog_over_hill_slow","50"); + var_00 common_scripts\_createfx::set_origin_and_angles((26361.8,80675.5,2531.09),(289,260.368,-179.536)); + var_00 = common_scripts\_createfx::createexploderex("fog_over_hill_slow","50"); + var_00 common_scripts\_createfx::set_origin_and_angles((21346.5,78784.1,2820.76),(280.035,265.698,175.209)); + var_00 = common_scripts\_createfx::createexploderex("fog_over_hill_slow","50"); + var_00 common_scripts\_createfx::set_origin_and_angles((15186.2,77025.4,1785.85),(280.035,265.698,151.209)); + var_00 = common_scripts\_createfx::createexploderex("fog_over_hill_slow","50"); + var_00 common_scripts\_createfx::set_origin_and_angles((84225.9,90964.5,3850.33),(287.44,280.277,132.535)); + var_00 = common_scripts\_createfx::createexploderex("fog_distant_vista_dense","200"); + var_00 common_scripts\_createfx::set_origin_and_angles((-9456.91,72156.2,461.54),(270,0,79)); + var_00 = common_scripts\_createfx::createexploderex("fog_distant_aerialview","100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8371.92,80212.4,-1554.35),(278.061,341.907,97.1981)); + var_00 = common_scripts\_createfx::createexploderex("fog_distant_aerialview","100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1199.91,79243.3,-1390.04),(278.945,322.445,116.642)); + var_00 = common_scripts\_createfx::createexploderex("fog_distant_aerialview","100"); + var_00 common_scripts\_createfx::set_origin_and_angles((5627.44,84818.7,-1779.96),(273.374,327.302,116.38)); + var_00 = common_scripts\_createfx::createexploderex("fog_close_onbridge","100"); + var_00 common_scripts\_createfx::set_origin_and_angles((5279.1,73901.4,1858.2),(270.3,192.003,-90.0036)); + var_00 = common_scripts\_createfx::createexploderex("fog_close_onbridge","100"); + var_00 common_scripts\_createfx::set_origin_and_angles((9146.39,74016.1,1371.91),(270,0,101.4)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_bridge_shake","10006"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4774.11,72728.9,424.501),(296.987,100.188,125.782)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_bridge_shake","10007"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4869.41,71555.6,398.253),(300.082,274.164,110.552)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_bridge_explo_main","10008"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6508.52,72133,438.048),(277.308,8.92368,82.7973)); + var_00 = common_scripts\_createfx::createexploderex("bird_seagull_flock_large","700"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6176.65,70824.6,980.26),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("bird_seagull_flock_large","700"); + var_00 common_scripts\_createfx::set_origin_and_angles((25491.6,70927.8,453.61),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("bird_seagull_flock_large","700"); + var_00 common_scripts\_createfx::set_origin_and_angles((4604.33,73313.3,844.42),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("bird_seagull_flock_large","700"); + var_00 common_scripts\_createfx::set_origin_and_angles((10378.1,73197.9,775.6),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fog_close_onbridge","100"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1170.91,73965.9,1994.22),(270.3,192.003,-90.0036)); + var_00 = common_scripts\_createfx::createexploderex("van_front_door_open","10001"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5174.51,72250.9,570.311),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("flesh_impact_body_fatal_exit","10002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5277,72244.6,548),(347.858,352.176,-6.38867)); + var_00 = common_scripts\_createfx::createexploderex("van_back_door_open","10003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5234.4,72090.2,540),(270,0,111)); + var_00 = common_scripts\_createfx::createexploderex("van_explosion","10004"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5296,72171,499),(270,0,-90)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_van_explo_smk_stack","10020"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5296,72171,520),(270,0,-90)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_gushingsmk","10005"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4188.42,72155.1,482.214),(270,0,90)); + var_00 = common_scripts\_createfx::createexploderex("sfa_dust_debris_fall_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3925.19,71853.2,180.008),(312.27,5.0282,94.8607)); + var_00 = common_scripts\_createfx::createexploderex("sfa_dust_debris_fall_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3923.55,71502.9,132.574),(306.149,7.54686,92.8014)); + var_00 = common_scripts\_createfx::createexploderex("sfa_dust_debris_fall_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4132.29,71785.7,-55.2945),(306.149,7.54686,92.8014)); + var_00 = common_scripts\_createfx::createexploderex("sfa_dust_debris_fall_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4327.41,72245.4,-235.015),(306.149,7.54686,92.8014)); + var_00 = common_scripts\_createfx::createexploderex("sfa_dust_debris_fall_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5165.52,71761.4,-1100.17),(278.474,353.058,106.21)); + var_00 = common_scripts\_createfx::createexploderex("sfa_dust_debris_fall_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4467.59,71495.5,-572.365),(282.227,2.161,97.8239)); + var_00 = common_scripts\_createfx::createexploderex("sfa_dust_debris_fall_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4319.87,72364.1,-222.023),(300.465,1.34227,96.0715)); + var_00 = common_scripts\_createfx::createexploderex("sfa_dust_debris_fall_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4738.35,71988,-740.692),(310.145,7.84986,92.563)); + var_00 = common_scripts\_createfx::createexploderex("sfa_dust_debris_fall_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4691.09,71721.4,-761.976),(310.145,7.84986,92.563)); + var_00 = common_scripts\_createfx::createexploderex("sfa_dust_debris_fall_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3927.45,71752.6,169.542),(312.27,5.0282,94.8607)); + var_00 = common_scripts\_createfx::createexploderex("sfa_dust_debris_fall_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4121.55,72069.9,20.4351),(285.205,3.71764,96.3112)); + var_00 = common_scripts\_createfx::createexploderex("sfa_dust_debris_fall_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4287.13,71971.7,-352.908),(274.435,347.98,111.889)); + var_00 = common_scripts\_createfx::createexploderex("plastic_bag_01_blowing","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2842.68,72413.8,482.631),(270,0,132)); + var_00 = common_scripts\_createfx::createexploderex("plastic_bag_01_blowing","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5134.78,72699.1,561.265),(274,202,-90)); + var_00.v["delay"] = 15; + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_debris_fall","12002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4553.6,72437.9,494.989),(270,0,-77.0001)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_debris_fall","12001"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3525.57,71966,482.926),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9412.79,72598.4,312),(270,0,173)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9120.56,72189.6,423.081),(276,111,90)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7122.36,71768.5,364.502),(270,0,-115)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4981.93,72314.2,478.782),(270,0,-170)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4797.57,72159.9,446.664),(270,0,-170)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2833.45,72196.1,452.887),(280,72,90)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((853.219,72558.6,450.769),(270,0,159)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((78.6076,72409.7,480.954),(270,0,-170)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2275.9,72540.2,478.57),(270,0,-170)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3393.92,72228.3,405.587),(270,0,178)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3301.16,72074.6,420.08),(276,88,90)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_ggb_part1_fall","12011"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4311.05,71759.8,311.788),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_ggb_part1_fall","12012"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4323.01,72435.7,319.997),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_ggb_part1_fall","12013"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5231.81,72022.6,352.26),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_ggb_part1_fall","12014"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4859.63,72283.3,491.56),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_ggb_part1_fall","12015"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4263.58,72112,319.56),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_ggb_part1_fall","12015"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4332.1,72311,314.055),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_ggb_part1_fall","12012"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5071.49,72060.8,395.779),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_ggb_part1_fall","12012"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4789.86,71868.3,331.63),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3839.09,72043.1,244.035),(276,88,90)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3723.84,71758.2,247.574),(276,87.9997,90.0003)); + var_00 = common_scripts\_createfx::createexploderex("sfa_dust_debris_fall_runner","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3953.03,72263.2,232.312),(306.149,7.54686,92.8014)); + var_00 = common_scripts\_createfx::createexploderex("ash_cloud_freq_lrg_loop","12010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3293.34,72133.5,498.386),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9833.77,72503.8,323),(270,0,-159)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7634.78,72222.8,363.902),(270,0,-159)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4971.3,72294,397.199),(270,0,172)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4646.79,72105.4,410.811),(283,82,90.0001)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4390.07,72381.5,422.071),(270,0,154)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4702.51,72365.6,436.937),(270,0,157)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4109.05,72465.1,486.128),(270,0,157)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3929.1,72116.3,412.959),(270,0,162)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1985.61,72626.4,454.943),(276,113,90)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1615.13,72189.3,468.815),(270,0,172)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((826.412,72053.3,487.124),(282,113,90)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-41.7931,72439.5,491.249),(276.706,49.4707,132.372)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((21.7169,71997.4,472.467),(270,0,-170)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((75.2801,71694.8,520.955),(270,0,-167)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-536.587,72421.5,464.351),(270,0,172)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1124.59,72288.6,623.82),(270,0,172)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1712.97,72366.2,488.365),(270,0,160)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1664.46,71729.4,474.045),(276,108,90)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-450.609,71878.8,480.13),(273.741,61.0694,175.637)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-672.389,72203.7,465.611),(274.612,20.6052,150.004)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_debris","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-569.351,72331.7,464.655),(274.612,20.6052,150.004)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_debris","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5085.83,72134.9,395.346),(274.612,20.6052,109.004)); + var_00 = common_scripts\_createfx::createexploderex("plastic_bag_blowing_runner_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10590.9,72164.8,376.374),(277.608,22.1867,92.4304)); + var_00 = common_scripts\_createfx::createexploderex("plastic_bag_blowing_runner_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7283.87,72404.6,356.128),(277.608,22.1867,155.43)); + var_00 = common_scripts\_createfx::createexploderex("plastic_bag_blowing_runner_lp","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2700.69,72360.3,429.593),(277.608,22.1867,119.43)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_debris","12003"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3845.84,72324.6,317.745),(270,0,130)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_debris","12011"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4561.56,72191.4,730.832),(270,0,130)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","5000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3665.03,71773.2,283.94),(276,87.9997,73.0003)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","4000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4065.74,72137.6,66.3845),(276,87.9997,75.0003)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_debris","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((11955.5,72151.1,284.017),(274.612,20.6052,115.004)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((11177.6,72353.8,296.931),(270,0,168)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10589.5,72520.6,331.245),(270,0,174)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9162.25,72147.1,315.575),(270,0,-176)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9012.78,72024.2,421.452),(280,94,72.0001)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_debris","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8757.56,72148,324.621),(274.612,20.6052,115.004)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12538.5,72346.3,272.986),(270,0,168)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12326.1,72431.7,297.157),(276,78,90)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10246.7,72430,312),(270,0,174)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9642.34,71854,339.176),(270,0,174)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9074.72,72323.6,457.151),(270,0,-148)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7318.31,71578.5,372.526),(276,95,90)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6296.62,71734.9,394.966),(276,95,90)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1823.09,71831.5,484.387),(289.233,62.9719,99.0016)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_debris_fall","12002"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4428.13,71909.4,224.689),(270,0,-62.0001)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_debris_fall","12001"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3081.95,72353.1,471.846),(270,0,61.9999)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_debris_fall","12001"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3788.14,72552.5,437.557),(270,0,148)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_debris_fall","12001"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3050.39,71882.3,466.329),(270,0,91)); + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_tanker_spark_burst_single","2003"); + var_00 common_scripts\_createfx::set_origin_and_angles((54564.8,93518.1,342.079),(273.813,259.137,40.7176)); + var_00 = common_scripts\_createfx::createexploderex("sfa_barrier_concrete_impact_med","2002"); + var_00 common_scripts\_createfx::set_origin_and_angles((54789.3,93674.1,409.311),(273.26,327.529,59.3265)); + var_00 = common_scripts\_createfx::createexploderex("sfa_barrier_concrete_impact_large","2003"); + var_00 common_scripts\_createfx::set_origin_and_angles((54399.5,93259,357.617),(273.26,327.529,72.5264)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_tanker_spark_burst_single_decal","2004"); + var_00 common_scripts\_createfx::set_origin_and_angles((56091.5,94355.7,434.272),(326.414,286.513,3.33398)); + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_tanker_spark_burst_single_decal","2005"); + var_00 common_scripts\_createfx::set_origin_and_angles((55855.9,94256.1,412.297),(350.826,287.19,6.80634)); + var_00 = common_scripts\_createfx::createexploderex("bird_seagull_flock_large","700"); + var_00 common_scripts\_createfx::set_origin_and_angles((8525.96,69617.4,1164.83),(353.938,207.388,11.5216)); + var_00 = common_scripts\_createfx::createexploderex("bird_seagull_flock_large","700"); + var_00 common_scripts\_createfx::set_origin_and_angles((13055.9,69183.6,1040.87),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("bird_seagull_flock_large","700"); + var_00 common_scripts\_createfx::set_origin_and_angles((2268.5,70628.5,1393.9),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3097.07,71653.4,459.938),(290.613,78.722,77.6678)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4494.94,71711,404.579),(276,113,126)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((3932.45,71677.5,432.091),(280,100,90)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1671.95,72156.2,452.93),(286,113,90)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1354.38,71777.7,470.208),(286,113,75.0001)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2710.65,71789.4,451.563),(286,113,103)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-18.7933,71845.4,512.197),(282,103,111)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-831.346,71670.4,467.086),(282,103,111)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-923.099,71843.6,468.194),(270,0,-122)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-930.637,72086.7,472.743),(270,0,-135)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-517.505,72133.2,470.174),(283.812,129.522,124.547)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1463.49,72051.7,492.21),(280,118,90.0001)); + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_tanker_impact_decal_runner","2003"); + var_00 common_scripts\_createfx::set_origin_and_angles((54468.5,93427,332.618),(273.651,237.423,64.3607)); + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_tanker_impact_decal_runner","2003"); + var_00 common_scripts\_createfx::set_origin_and_angles((54343.7,93344.5,324.43),(273.103,290.697,8.21194)); + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_tanker_impact_decal_runner","2003"); + var_00 common_scripts\_createfx::set_origin_and_angles((54134.2,93096.1,324.188),(273.813,259.137,35.7176)); + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_tanker_explosion","2006"); + var_00 common_scripts\_createfx::set_origin_and_angles((54506.1,93375.2,332.943),(270,0,49.0001)); + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_tanker_single_fire_lp","2007"); + var_00 common_scripts\_createfx::set_origin_and_angles((54008.1,93099,368.908),(270,0,-139)); + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_tanker_single_fire_lp","2008"); + var_00 common_scripts\_createfx::set_origin_and_angles((54714.4,93176.4,336.253),(270,0,-134)); + var_00 = common_scripts\_createfx::createexploderex("ash_cloud_freq_lrg_loop","12010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5308.26,72110.4,35.9799),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_l_blacksmk_thick_nonlit","4500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6250.39,71757,-1110.64),(282.006,261.669,-87.5951)); + var_00 = common_scripts\_createfx::createexploderex("sfa_pitbull_crash_smoke","3001"); + var_00 common_scripts\_createfx::set_origin_and_angles((12640.5,72488,270.993),(271.119,0,-10.9)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_player_hit_car","10500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2919.85,72053.9,562),(270,0,171)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_falling_dust","10201"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3843.06,71397.8,1110.6),(270,0,90)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_falling_dust","10201"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3511.84,72924.8,1108.24),(270,0,90)); + var_00 = common_scripts\_createfx::createexploderex("sfa_pitbull_crash_smoke","3001"); + var_00 common_scripts\_createfx::set_origin_and_angles((12627.7,72490.2,270.993),(271.119,0,-10.9)); + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_spill_fire_lp_low","2008"); + var_00 common_scripts\_createfx::set_origin_and_angles((54687.2,93027.3,332.813),(270,0,-65.7)); + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_spill_fire_lp_low","2006"); + var_00 common_scripts\_createfx::set_origin_and_angles((54521.3,92831.3,324.099),(270,0,-60.6999)); + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_spill_fire_lp_low","2006"); + var_00 common_scripts\_createfx::set_origin_and_angles((54670.4,93328.1,337.414),(270,0,-65.7)); + var_00 = common_scripts\_createfx::createexploderex("sfa_fire_stream_trail_single","2006"); + var_00 common_scripts\_createfx::set_origin_and_angles((54192.1,93164.7,353.492),(356.957,268.793,-168.387)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("sfa_fire_stream_trail_single","2006"); + var_00 common_scripts\_createfx::set_origin_and_angles((54678.7,93391.9,447.486),(357.356,319.821,-173.724)); + var_00.v["delay"] = 0.35; + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_spill_fire_lp_mid","2120"); + var_00 common_scripts\_createfx::set_origin_and_angles((5789.57,72134.6,383.757),(271.414,232.996,41.9956)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_spill_fire_lp_tall_smk","2110"); + var_00 common_scripts\_createfx::set_origin_and_angles((5666.88,72392.7,385.878),(270,0,-63.9998)); + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_spill_fire_lp_mid","2120"); + var_00 common_scripts\_createfx::set_origin_and_angles((5854.89,72350,383.823),(270,0,-77.9999)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_tanker_fire_stream_med","2140"); + var_00 common_scripts\_createfx::set_origin_and_angles((5343.84,71923,538.655),(312.154,46.9342,-126.647)); + var_00 = common_scripts\_createfx::createexploderex("sfa_tanker_bridge_explosion","2203"); + var_00 common_scripts\_createfx::set_origin_and_angles((5338.9,71989.7,391.791),(270,0,-174.1)); + var_00 = common_scripts\_createfx::createexploderex("sfa_tanker_bridge_fire_ignite","2150"); + var_00 common_scripts\_createfx::set_origin_and_angles((5912.24,72270.2,381.675),(270,0,82.3997)); + var_00.v["delay"] = 0.65; + var_00 = common_scripts\_createfx::createexploderex("sfa_tanker_bridge_fire_ignite","2150"); + var_00 common_scripts\_createfx::set_origin_and_angles((6024.45,71876.5,379.572),(270,0,82.3997)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_smk_grnd_linger","10205"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3562.1,72135.9,450.214),(270,0,-102)); + var_00 = common_scripts\_createfx::createexploderex("sfa_shockwave_single","2204"); + var_00 common_scripts\_createfx::set_origin_and_angles((5665.01,71839.4,391.817),(270,0,165)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_1","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2283.07,72079,455.526),(270,0,-51.9999)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_1","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2092.85,72159.3,455.747),(270,0,-150)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_1","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2207.45,72304.4,449.584),(270,0,89)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_2","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2203.98,71894.7,487.313),(270,0,100)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_2","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2192.32,72217.3,473.729),(270,0,35)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_3","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2261.4,72145.9,432.86),(274,305.001,-38.001)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_3","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2156.67,72187.7,460.41),(274,305.001,-16.001)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_2","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2181.81,72303.3,491.111),(275,173,90.0001)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_4","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2302.47,72083.5,449.228),(270,0,-51.9999)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_2","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2211.57,72131.4,467.883),(270,0,35)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_3","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2250.67,72347.4,435.374),(274,305.001,-38.001)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_1","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2231.62,71940.3,450.496),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_1","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2181.26,72340.8,453.136),(270,0,88)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_bridge_crackburst_big","10210"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3954.39,72452.7,482.214),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_bridge_crackburst_big","10211"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4128.1,71853.9,431.214),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_bridge_mob_explo1","10800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7193.1,71683.9,-774.214),(270,0,-91)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_bridge_mob_explo1_debris","10800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7534.91,71724.2,-738.214),(272.826,134.495,-133.991)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_bridge_mob_explo2","10801"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7337.9,72760.9,-560.165),(270,0,93)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12749.2,72761.2,276.871),(270,0,168)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_debris","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12913.8,72567.8,265.657),(274.612,20.6052,115.004)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_damage_smoke_1","3001"); + var_00 common_scripts\_createfx::set_origin_and_angles((12543.6,72515.8,278.979),(271.119,0,176.1)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_debris_small_2","3001"); + var_00 common_scripts\_createfx::set_origin_and_angles((12694.7,72654.8,269.935),(271.119,0,-92.9)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_debris_small_1","3001"); + var_00 common_scripts\_createfx::set_origin_and_angles((12703.3,72362.3,269.767),(271.119,0,-92.9)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_damage_smoke_1","3001"); + var_00 common_scripts\_createfx::set_origin_and_angles((12696.6,72461.3,299.928),(271.119,0,176.1)); + var_00 = common_scripts\_createfx::createexploderex("sparks_vehicle_small_1","3001"); + var_00 common_scripts\_createfx::set_origin_and_angles((12610.9,72495.4,295.488),(271.119,0,-10.9)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_debris_small_1","3001"); + var_00 common_scripts\_createfx::set_origin_and_angles((12494.8,72621.7,273.84),(271.119,0,-92.9)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_bridge_mob_explo1_debris","10801"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7577.87,72786.5,-638.165),(272.826,134.495,-133.991)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_debris_small_2","3001"); + var_00 common_scripts\_createfx::set_origin_and_angles((12431.5,72454.8,275.076),(271.119,0,-92.9)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_bridge_mob_explo2","10802"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5352.98,72312.8,-763.829),(270,0,93)); + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_explosion","fx_atlas_suv_explosion"); + var_00 common_scripts\_createfx::set_origin_and_angles((47059.8,84553.4,77.7307),(270,0,-32)); + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_mud_decal","fx_atlas_suv_mud_decals_left"); + var_00 common_scripts\_createfx::set_origin_and_angles((48007.5,85636,76.866),(0.791045,148.705,0.338319)); + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_mud_decal","fx_atlas_suv_mud_decals_left"); + var_00 common_scripts\_createfx::set_origin_and_angles((47984.2,85595.6,87.0539),(341.027,144.967,90.8727)); + var_00.v["delay"] = 0.033; + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_mud_decal","fx_atlas_suv_mud_decals_left"); + var_00 common_scripts\_createfx::set_origin_and_angles((47962.9,85557.4,76.0178),(341.027,144.967,90.8727)); + var_00.v["delay"] = 0.066; + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_mud_decal","fx_atlas_suv_mud_decals_left"); + var_00 common_scripts\_createfx::set_origin_and_angles((47906.1,85470.5,98.598),(341.027,144.967,90.8727)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_mud_decal","fx_atlas_suv_mud_decals_left"); + var_00 common_scripts\_createfx::set_origin_and_angles((47822.5,85351,91.714),(341.027,144.967,90.8727)); + var_00.v["delay"] = 0.165; + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_mud_decal","fx_atlas_suv_mud_decals_left"); + var_00 common_scripts\_createfx::set_origin_and_angles((47798.5,85307.5,87.7878),(341.027,144.967,90.8727)); + var_00.v["delay"] = 0.198; + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_mud_decal","fx_atlas_suv_mud_decals_left"); + var_00 common_scripts\_createfx::set_origin_and_angles((47762.4,85244.8,86.2621),(341.027,144.967,90.8727)); + var_00.v["delay"] = 0.231; + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_mud_decal","fx_atlas_suv_mud_decals_left"); + var_00 common_scripts\_createfx::set_origin_and_angles((47732,85195.9,82.3487),(341.027,144.967,90.8727)); + var_00.v["delay"] = 0.297; + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_mud_decal","fx_atlas_suv_mud_decals_left"); + var_00 common_scripts\_createfx::set_origin_and_angles((47714.1,85167.6,82.1051),(341.027,144.967,90.8727)); + var_00.v["delay"] = 0.33; + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_mud_decal","fx_atlas_suv_mud_decals_left"); + var_00 common_scripts\_createfx::set_origin_and_angles((47692.7,85132.6,77.5588),(341.027,144.967,90.8727)); + var_00.v["delay"] = 0.396; + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_mud_decal","fx_atlas_suv_mud_decals_left"); + var_00 common_scripts\_createfx::set_origin_and_angles((47679,85109.6,71.2022),(341.027,144.967,90.8727)); + var_00.v["delay"] = 0.429; + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_mud_decal","fx_atlas_suv_mud_decals_left"); + var_00 common_scripts\_createfx::set_origin_and_angles((47659.4,85076.7,70.3699),(341.027,144.967,90.8727)); + var_00.v["delay"] = 0.495; + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_mud_decal","fx_atlas_suv_mud_decals_left"); + var_00 common_scripts\_createfx::set_origin_and_angles((47850.1,85381.9,96.4119),(341.027,144.967,90.8727)); + var_00.v["delay"] = 0.165; + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_mud_decal","fx_atlas_suv_mud_decals_left"); + var_00 common_scripts\_createfx::set_origin_and_angles((47930.7,85505.6,83.2136),(341.027,144.967,90.8727)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_mud_decal","fx_atlas_suv_mud_decals_left"); + var_00 common_scripts\_createfx::set_origin_and_angles((47869,85419.8,80.5251),(341.027,144.967,90.8727)); + var_00.v["delay"] = 0.132; + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_mud_decal","fx_atlas_suv_mud_decals_left"); + var_00 common_scripts\_createfx::set_origin_and_angles((47835.7,85369.9,80.3734),(341.027,144.967,90.8727)); + var_00.v["delay"] = 0.165; + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_mud_decal","fx_atlas_suv_mud_decals_left"); + var_00 common_scripts\_createfx::set_origin_and_angles((47933.3,85513.8,70.0396),(341.027,144.967,90.8727)); + var_00.v["delay"] = 0.1; + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_mud_decal","fx_atlas_suv_mud_decals_left"); + var_00 common_scripts\_createfx::set_origin_and_angles((47775.2,85266.4,76.0912),(341.027,144.967,90.8727)); + var_00.v["delay"] = 0.231; + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_mud_decal","fx_atlas_suv_mud_decals_left"); + var_00 common_scripts\_createfx::set_origin_and_angles((48034.5,85679.5,78.0718),(0,149.899,0)); + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_mud_decal","fx_atlas_suv_mud_decals_right"); + var_00 common_scripts\_createfx::set_origin_and_angles((47209.4,85086.6,83.0945),(334.978,325.636,-90.9109)); + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_mud_decal","fx_atlas_suv_mud_decals_right"); + var_00 common_scripts\_createfx::set_origin_and_angles((47188.2,85047.2,79.4917),(334.978,325.636,-90.9109)); + var_00.v["delay"] = 0.33; + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_mud_decal","fx_atlas_suv_mud_decals_right"); + var_00 common_scripts\_createfx::set_origin_and_angles((47179.7,85027.9,62.2208),(334.978,325.636,-90.9109)); + var_00.v["delay"] = 0.66; + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_mud_decal","fx_atlas_suv_mud_decals_right"); + var_00 common_scripts\_createfx::set_origin_and_angles((47143.2,84968.1,77.2048),(334.978,325.636,-90.9109)); + var_00.v["delay"] = 0.132; + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_mud_decal","fx_atlas_suv_mud_decals_right"); + var_00 common_scripts\_createfx::set_origin_and_angles((47115.3,84922.5,81.0649),(334.978,325.636,-90.9109)); + var_00.v["delay"] = 0.165; + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_mud_decal","fx_atlas_suv_mud_decals_right"); + var_00 common_scripts\_createfx::set_origin_and_angles((47080.4,84860.5,65.3402),(334.978,325.636,-87.9109)); + var_00.v["delay"] = 0.231; + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_mud_decal","fx_atlas_suv_mud_decals_right"); + var_00 common_scripts\_createfx::set_origin_and_angles((47057.5,84818.6,72.1739),(334.978,325.636,-90.9109)); + var_00.v["delay"] = 0.264; + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_mud_decal","fx_atlas_suv_mud_decals_right"); + var_00 common_scripts\_createfx::set_origin_and_angles((47145.2,84970,67.2534),(334.978,325.636,-90.9109)); + var_00.v["delay"] = 0.132; + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_mud_decal","fx_atlas_suv_mud_decals_right"); + var_00 common_scripts\_createfx::set_origin_and_angles((47121.5,84927.2,69.5014),(334.978,325.636,-90.9109)); + var_00.v["delay"] = 0.165; + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_mud_decal","fx_atlas_suv_mud_decals_right"); + var_00 common_scripts\_createfx::set_origin_and_angles((47104.3,84895.9,66.5699),(334.978,325.636,-87.9109)); + var_00.v["delay"] = 0.198; + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_bridge_explo_main","10009"); + var_00 common_scripts\_createfx::set_origin_and_angles((-11755,72146,453.048),(277.814,23.6786,68.1691)); + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_mud_decal","fx_atlas_suv_mud_decals_right"); + var_00 common_scripts\_createfx::set_origin_and_angles((47069.7,84834.7,69.9749),(334.978,325.636,-90.9109)); + var_00.v["delay"] = 0.264; + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_bridge_mob_explo1_debris","10800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7623.13,71540,-496.642),(272.826,134.495,23.009)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_bridge_explo_main","10010"); + var_00 common_scripts\_createfx::set_origin_and_angles((-10259.6,72142.5,317.2),(277.541,345.616,105.915)); + var_00 = common_scripts\_createfx::createexploderex("sfa_shockwave_single","2204"); + var_00 common_scripts\_createfx::set_origin_and_angles((5547.97,72184.2,396.728),(270,0,-137)); + var_00 = common_scripts\_createfx::createexploderex("sfa_shockwave_single","2204"); + var_00 common_scripts\_createfx::set_origin_and_angles((5616.4,71969.5,390.546),(270,0,-179)); + var_00 = common_scripts\_createfx::createexploderex("sfa_shockwave_single","2204"); + var_00 common_scripts\_createfx::set_origin_and_angles((5560.53,72075.4,393.501),(270,0,-153)); + var_00 = common_scripts\_createfx::createexploderex("sfa_shockwave_single","2204"); + var_00 common_scripts\_createfx::set_origin_and_angles((5421.38,72277,389.954),(270,0,-117)); + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_spill_fire_lp_mid","2120"); + var_00 common_scripts\_createfx::set_origin_and_angles((5738.11,71767.9,384.888),(270,0,-90)); + var_00.v["delay"] = 0.5; + var_00 = common_scripts\_createfx::createexploderex("atlas_suv_mud_decal","fx_atlas_suv_mud_decals_right"); + var_00 common_scripts\_createfx::set_origin_and_angles((47174.9,85021.1,75.775),(334.978,325.636,-90.9109)); + var_00.v["delay"] = 0.66; + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_heli_slide","10501"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3163.82,72429,496),(332,360,0)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_bridge_mob_explo1_burst","10803"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6764.53,70988.8,-621.285),(294.75,291.615,-29.3816)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_bridge_mob_explo1_burst","10803"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6169.46,71185.8,-469.23),(339.508,275.109,19.3073)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_bridge_mob_explo1_burst","10803"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7202.56,72670.7,-116.612),(298.254,60.806,-159.494)); + var_00 = common_scripts\_createfx::createexploderex("fireball_lp_smk_xlrg_tall_nonlit","4501"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7662,72427.7,-665.57),(273.012,88.6094,84.4268)); + var_00 = common_scripts\_createfx::createexploderex("plastic_bag_01_blowing","4500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4172.77,72756.9,49.2821),(270,0,132)); + var_00 = common_scripts\_createfx::createexploderex("plastic_bag_01_blowing","4500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4812.67,72425.8,-680.374),(270,0,132)); + var_00 = common_scripts\_createfx::createexploderex("ash_cloud_freq_lrg_loop","4500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4517.03,72257.9,-71.0378),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("ash_cloud_freq_lrg_loop","4500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5214.59,72163.5,-790.866),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_debris","4500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5933.45,72058.6,-930.126),(274.612,20.6052,150.004)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_debris","4500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5270.81,72186.1,-138.413),(274.612,20.6052,150.004)); + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_spill_fire_edge_lp","2120"); + var_00 common_scripts\_createfx::set_origin_and_angles((5937.27,72270.1,381.236),(270,0,75.0005)); + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_spill_fire_edge_lp","2120"); + var_00 common_scripts\_createfx::set_origin_and_angles((5954.57,72325.9,380.599),(270,0,93.0005)); + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_spill_fire_edge_lp","2120"); + var_00 common_scripts\_createfx::set_origin_and_angles((5924.15,72369.1,381.466),(270,0,106.8)); + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_spill_fire_edge_lp","2120"); + var_00 common_scripts\_createfx::set_origin_and_angles((5927.4,71744.2,381.231),(270,0,83.6005)); + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_spill_fire_edge_lp","2120"); + var_00 common_scripts\_createfx::set_origin_and_angles((5997.24,71959.9,380.221),(270,0,124.001)); + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_spill_fire_lp_low","2120"); + var_00 common_scripts\_createfx::set_origin_and_angles((6020.43,71883.2,379.641),(271.414,232.996,37.9957)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_spill_fire_lp_low","2120"); + var_00 common_scripts\_createfx::set_origin_and_angles((5915.43,71956.9,381.443),(271.414,232.996,49.9957)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_spill_fire_lp_low","2120"); + var_00 common_scripts\_createfx::set_origin_and_angles((5888.84,71741.6,381.89),(271.414,232.996,28.9957)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_spill_fire_lp_tall","2110"); + var_00 common_scripts\_createfx::set_origin_and_angles((5649.24,72128.9,387.112),(270,0,-78)); + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_spill_fire_lp_tall_smk","2110"); + var_00 common_scripts\_createfx::set_origin_and_angles((5673.38,71822.6,385.164),(270,0,-94)); + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_spill_fire_lp_low","2120"); + var_00 common_scripts\_createfx::set_origin_and_angles((5898.48,72100.1,381.725),(271.414,232.996,49.9957)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("gate_crash_dust","fx_gate_crash_open"); + var_00 common_scripts\_createfx::set_origin_and_angles((77217.4,86935.5,1436.85),(271,270.004,64.9957)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((10078.9,71936.6,330.135),(270,0,174)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8297.39,71815.1,372.179),(270,0,174)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7767.93,72643.5,358.2),(270,0,-159)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5229.25,72579.3,456.687),(270,0,-159)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_2","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8390.44,71820.8,332.92),(270,0,35)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_2","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4856.97,72204.1,433.419),(270,0,35)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_2","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4762.81,72117.5,400.394),(270,0,35)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_2","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4789.38,72252.1,400.076),(270,0,35)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_s","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2281.39,72618.6,566.236),(270,0,-170)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_2","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((99.9584,72377.9,497.386),(270,0,19)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_2","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2.09314,72435.5,477.906),(270,0,19)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_2","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((191.851,72345.4,457.623),(270,0,19)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_2","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((137.212,72290.4,470.888),(270,0,19)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((71.2416,72402.8,489.795),(276.706,49.4707,132.372)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((302.798,72673.5,487.131),(276.706,49.4707,132.372)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((235.573,71964.9,457.102),(276.706,49.4707,132.372)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1191.01,72293.3,477.485),(276.706,49.4707,132.372)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1207.28,72304.3,467.279),(276.706,49.4707,132.372)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((1138.1,72616.5,460.374),(276.706,49.4707,132.372)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6914.63,72041.2,370.162),(276.706,49.4707,132.372)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((7014.3,72542.9,361.393),(276.706,49.4707,132.372)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6384.9,72565.6,400.276),(276.706,49.4707,132.372)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8286.87,72481,358.7),(276.706,49.4707,132.372)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8723.72,71592,335.5),(280,94,72.0001)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_2","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2325.87,72008.4,453.948),(270,0,100)); + var_00 = common_scripts\_createfx::createexploderex("fire_vehicle_interior_small_2","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8382.68,71907.6,374.024),(270,0,35)); + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_spill_fire_lp_low","2006"); + var_00 common_scripts\_createfx::set_origin_and_angles((54623.4,93530.8,339.312),(270,0,-65.7)); + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_spill_fire_lp_low","2006"); + var_00 common_scripts\_createfx::set_origin_and_angles((54241.9,92963.1,317.513),(270,0,-65.7)); + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_spill_fire_lp_low","2006"); + var_00 common_scripts\_createfx::set_origin_and_angles((54326.2,93191.4,324.15),(270,0,-65.7)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_obscure_smk_lrg","4550"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6338.72,74480,-601.887),(282.006,261.669,-88.5944)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_obscure_smk_lrg","4550"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4741.43,70705.1,-605.143),(282.006,261.669,-88.5944)); + var_00 = common_scripts\_createfx::createexploderex("fire_lp_l_blacksmk_thick_nonlit","4500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5448.19,73935.5,-1104.22),(282.006,261.669,-103.594)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_obscure_smk_lrg","4550"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5518.1,75061,-914.958),(282.006,261.669,-88.5944)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_obscure_smk_m","4550"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4983.4,73355,-665.865),(282.006,261.669,-98.5946)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_obscure_smk_m","4550"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2881.27,72118.8,815.966),(282.006,261.669,-88.5944)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_debris_fall","4800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3706.2,71648.8,256.981),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_debris_fall","4800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3394.03,71876,377.071),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_debris_fall","4800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3724.41,71438.2,263.473),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_debris_fall","4800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3286.06,71506.3,410.587),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_debris_fall","4800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3775.36,72824.7,385.962),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_debris_fall","4800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4130.93,71634.9,-20.8655),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_debris_fall","4800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4322.95,72743,-45.7745),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("plastic_bag_01_blowing","4500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4338.58,72173.1,-295.456),(270,0,132)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_debris","4500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5647.72,71416.7,-823.634),(274.612,20.6052,150.004)); + var_00 = common_scripts\_createfx::createexploderex("wind_blowing_debris","4500"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3891.63,72112.4,485.415),(288.245,239.96,-97.8228)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_debris_fall","4800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4447.44,71866.1,-346.919),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_debris_fall","4800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4883.96,72740.6,-659.549),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_debris_fall","4800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5357.03,71509,-1346.1),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_debris_fall","4800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5063.11,72601.1,-846.921),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_debris_fall","4800"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4772.04,71929.7,-775.001),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_heli_slide","10502"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4169.82,71766,-33),(27.3132,173.27,-8.12686)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_heli_slide","10503"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4738.82,71702,-442),(27.5381,191.293,5.27513)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_copcar_hitspark","10504"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3861.93,72385,338),(277.466,337.374,18.3541)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_heli_slide","10501"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3125.64,72430.6,496.006),(332,360,0)); + var_00.v["delay"] = 0.25; + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_heli_slide","10511"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4628.64,71707.6,-371.006),(356.7,246.147,22.8076)); + var_00 = common_scripts\_createfx::createexploderex("ambient_explosion_dirt_01","10512"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4762.57,71754.5,-454.006),(270,270,29)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_heli_slide","10512"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4750.64,71783.6,-458.006),(356.57,188.878,4.18349)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_heli_slide","10513"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4914.64,71989.6,-539.006),(358.23,142.17,4.25395)); + var_00 = common_scripts\_createfx::createexploderex("vehicle_generic_ai_explo_lrg_runner","10515"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6880.73,72180.3,-1083.01),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("vehicle_civ_ai_explo_lrg_runner","10516"); + var_00 common_scripts\_createfx::set_origin_and_angles((-7039.5,71910.5,-1025.45),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("ambient_explosion_dirt_01","10514"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4921.52,71971.3,-544.325),(270,270,0)); + var_00 = common_scripts\_createfx::createexploderex("ambient_explosion_fireball","10505"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5581.61,72427.6,-945.32),(270,270,0)); + var_00 = common_scripts\_createfx::createexploderex("ambient_explosion_fireball","10506"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5666.04,72357.4,-885.75),(270,270,76)); + var_00 = common_scripts\_createfx::createexploderex("dust_rolling_pebbles_runner","4501"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2954.2,72495.9,474.747),(282.162,188.323,-99.5338)); + var_00 = common_scripts\_createfx::createexploderex("dust_rolling_pebbles_runner","4502"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3235.52,71759.8,420.121),(288.107,185.131,-96.4476)); + var_00 = common_scripts\_createfx::createexploderex("dust_rolling_pebbles_runner","4502"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3287.02,71932.3,402.831),(287.114,185.512,-96.8112)); + var_00 = common_scripts\_createfx::createexploderex("dust_rolling_pebbles_runner","4502"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3341.88,72091.8,407.14),(288.962,197.445,-108.057)); + var_00 = common_scripts\_createfx::createexploderex("dust_rolling_pebbles_runner","4502"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3290.22,72341,432.941),(283.262,209.124,-120.583)); + var_00 = common_scripts\_createfx::createexploderex("dust_rolling_pebbles_runner","4502"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3312.46,72518.5,424.301),(283.246,195.31,-102.056)); + var_00 = common_scripts\_createfx::createexploderex("dust_rolling_pebbles_runner","4503"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3500.08,72450.5,392.847),(282.86,202.12,-101.666)); + var_00 = common_scripts\_createfx::createexploderex("dust_rolling_pebbles_runner","4503"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3472.04,72358.4,391.347),(281.615,193.367,-92.9185)); + var_00 = common_scripts\_createfx::createexploderex("dust_rolling_pebbles_runner","4503"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3554.22,72151.5,356.632),(288.654,210.095,-109.373)); + var_00 = common_scripts\_createfx::createexploderex("dust_rolling_pebbles_runner","4501"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2957.12,72214.8,474.453),(281.177,189.178,-100.37)); + var_00 = common_scripts\_createfx::createexploderex("dust_rolling_pebbles_runner","4501"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2957.89,71878.5,467.946),(281.179,189.186,-100.361)); + var_00 = common_scripts\_createfx::createexploderex("dust_rolling_pebbles_runner","4501"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2960.85,71712.5,468.367),(281.179,189.186,-100.361)); + var_00 = common_scripts\_createfx::createexploderex("dust_rolling_pebbles_runner","4503"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3642.74,72518,364.25),(285.454,210.24,-102.801)); + var_00 = common_scripts\_createfx::createexploderex("dust_rolling_pebbles_runner","4503"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3672.03,72414.3,357.066),(285.457,210.232,-102.689)); + var_00 = common_scripts\_createfx::createexploderex("dust_rolling_pebbles_runner","4503"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3672.55,71878.7,266.546),(289.37,213.861,-125.86)); + var_00 = common_scripts\_createfx::createexploderex("dust_rolling_pebbles_runner","4504"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4021.35,72364.8,70.2801),(306.325,184.689,-96.993)); + var_00 = common_scripts\_createfx::createexploderex("dust_rolling_pebbles_runner","4504"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3987.8,71835.5,95.3299),(308.206,182.69,-95.455)); + var_00 = common_scripts\_createfx::createexploderex("dust_rolling_pebbles_runner","4504"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3924.1,72062.2,219.655),(322.417,192.443,-101.541)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_bridge_explo_main","10011"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8959,72291,-101.048),(277.814,23.6786,68.1691)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","10040"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5666.09,72538.3,518.206),(270,0,-90)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","10040"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2528.1,72087.3,487.088),(270,0,-102)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_copcar_hitspark","10508"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4812.93,72426,-509),(277.466,337.374,18.3541)); + var_00 = common_scripts\_createfx::createexploderex("ambient_explosion_dirt_01","10508"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4819.52,72358.3,-559),(277.466,337.374,18.3541)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_copcar_hitspark","10507"); + var_00 common_scripts\_createfx::set_origin_and_angles((-4372.93,72286,-211),(277.466,337.374,18.3541)); + var_00 = common_scripts\_createfx::createexploderex("sfa_pitbull_flip_rail_impact","2010"); + var_00 common_scripts\_createfx::set_origin_and_angles((14936.5,72797.9,240.71),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("veh_smartcar_stop_light_blinking","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((9299.1,72273,312.5),(358.719,174.694,0.119051)); + var_00 = common_scripts\_createfx::createexploderex("veh_smartcar_stop_light_blinking","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4337.4,72346.7,407),(359.14,196.2,-0.249719)); + var_00 = common_scripts\_createfx::createexploderex("veh_civ_workvan_stop_light_blinking","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((12231.6,72390.4,279),(358.928,196.65,-0.320594)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((104753,88622.2,2515),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((104970,88664.3,2514.19),(270,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((104335,88523.6,2509.07),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((104150,88481,2514.47),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((103711,88383.2,2518.48),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((103525,88340.8,2517.08),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((103106,88240.4,2513.71),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((102923,88197.9,2512.93),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((102486,88094.6,2513.58),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((102308,88053.6,2513.9),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((101871,87953.5,2515.36),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((101688,87910.5,2516.02),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((101255,87811.3,2514.48),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((101073,87772.5,2515.62),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((100642,87666.7,2514.09),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((100456,87625.3,2516.56),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((100021,87524.2,2516.33),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((99840.8,87484.3,2513.68),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((99409.8,87384.5,2517.56),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((99228.9,87342.6,2516.51),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((98794.5,87244.4,2515.74),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((98608.1,87198.9,2515.24),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((98168.7,87096,2516.59),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((97990,87057,2515.11),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((97561.5,86958.4,2514.01),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((97375.9,86914.8,2516.62),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((96943.7,86815.8,2516.39),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((96764,86773.2,2512.41),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((96333.5,86673.3,2513.71),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((96146.6,86631.4,2514.98),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((95706.2,86528.5,2516),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((95532.8,86487.4,2515.41),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((95096.8,86386.4,2513.98),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((94913.4,86345.6,2514.34),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((94481.8,86245.5,2515.94),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((94298.9,86202.5,2515.61),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((93859.3,86100.7,2513.98),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((93675,86060.9,2515.12),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((93252.6,85963.2,2516.14),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((93067.7,85919.2,2516.56),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((92634.6,85820.7,2516.34),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((92453,85775.5,2515.47),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((92020.6,85677.2,2515.98),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((91837.1,85635.5,2514.33),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((91399.8,85534.6,2514.55),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((91219.7,85496.3,2515.75),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((90788,85392.5,2514.63),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((90604.1,85351.8,2512.27),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((90170.7,85251.5,2514.4),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((89990.6,85207.8,2514.74),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((89557.5,85105.5,2515.37),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((89373.8,85066.8,2517.57),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((103589,88929.2,2521.18),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((103402,88889.1,2516.88),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((102976,88795,2515.07),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((102796,88753.1,2510.63),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((102360,88653.7,2515.24),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((102175,88610.5,2514.15),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((101743,88512,2516.33),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((101561,88464.8,2515.54),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((101129,88370.3,2512.32),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((100945,88323.5,2515.41),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((100516,88224.4,2514.32),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((100332,88180.5,2514.14),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((99897.5,88084.1,2514.06),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((99714.5,88035.9,2514.66),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((99282.4,87939.3,2513.93),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((99103.2,87896,2515.11),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((98670,87798,2515.14),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((98483.1,87754.8,2515.41),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((98039.2,87661,2513.75),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((97855.6,87614.6,2513.64),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((97431,87515.4,2511.47),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((97252.6,87472,2515.82),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((96820.7,87369,2513.8),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((96634.5,87330,2513.72),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((96204.4,87228.3,2513.43),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((96021.3,87186.8,2515.57),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((95587.1,87089.5,2513.52),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((95408.3,87044.5,2515.72),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((94970.4,86946.6,2512.1),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((94790.9,86900.4,2514.98),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((94356.9,86803.5,2510.56),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((94173.9,86758.8,2515.45),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((93731.3,86659.9,2514.6),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((93549.1,86613.5,2512.49),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((93129.1,86511.8,2512.95),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((92939.3,86473.7,2510.35),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((92499.9,86374.4,2516.28),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((92317.9,86332.7,2515.7),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((91889.5,86231.2,2516.1),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((91704.6,86191.5,2515.21),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((91281,86092.7,2511.57),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((91094.5,86045.8,2513.84),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((90657.6,85950,2513.16),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((90477.3,85904.6,2513.64),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((90045.1,85804.7,2511.91),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((89861.4,85764.4,2511.82),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((89429,85666,2514.36),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnel_light_flare_sanfran","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((89243.8,85620.6,2513.6),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("tunnelExit_light_sunflare_sanfran","1000"); + var_00 common_scripts\_createfx::set_origin_and_angles((89090.2,85285,2375.16),(0,0,0)); + var_00 = common_scripts\_createfx::createexploderex("light_sanfran_streetlight_flare","1100"); + var_00 common_scripts\_createfx::set_origin_and_angles((105795,88779.3,2350.9),(45.9985,89.9231,-91.0533)); + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_spill_fire_edge_lp","2120"); + var_00 common_scripts\_createfx::set_origin_and_angles((5793.08,71933.5,383.527),(270,0,93.0005)); + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_spill_fire_edge_lp","2120"); + var_00 common_scripts\_createfx::set_origin_and_angles((5865.31,71919.8,382.292),(270,0,93.0005)); + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_spill_fire_edge_lp","2120"); + var_00 common_scripts\_createfx::set_origin_and_angles((5791.47,72044.9,383.554),(270,0,93.0005)); + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_spill_fire_edge_lp","2120"); + var_00 common_scripts\_createfx::set_origin_and_angles((5783.45,72185.2,383.939),(270,0,93.0005)); + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_spill_fire_edge_lp","2120"); + var_00 common_scripts\_createfx::set_origin_and_angles((5715.07,72239.5,385.078),(270,0,93.0005)); + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_spill_fire_edge_lp","2120"); + var_00 common_scripts\_createfx::set_origin_and_angles((5795.89,71722.8,383.478),(270,0,93.0005)); + var_00 = common_scripts\_createfx::createexploderex("sfa_oil_spill_fire_edge_lp","2120"); + var_00 common_scripts\_createfx::set_origin_and_angles((5741.38,71730.2,384.41),(270,0,93.0005)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_obscure_smk_m","4550"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5175.88,72161.3,-573.637),(276.005,85.8216,100.207)); + var_00 = common_scripts\_createfx::createexploderex("sfa_bigm_obscure_smk_m","4550"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6715.46,72148.6,-730.152),(276.005,85.8244,87.2042)); + var_00 = common_scripts\_createfx::createexploderex("smoldering_smk_direction_fast_m","10040"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5685.14,71863.6,453.872),(270,180,49.9997)); + var_00 = common_scripts\_createfx::createexploderex("boat_wake_vehicle_atlas_decoy_cargo_ship_side","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-14419.5,80903,-3687),(270.635,142.608,-142.992)); + var_00 = common_scripts\_createfx::createexploderex("boat_wake_vehicle_atlas_decoy_cargo_ship_side","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((2185.45,57579.7,-3633.79),(270.635,142.608,-142.992)); + var_00 = common_scripts\_createfx::createexploderex("boat_wake_vehicle_atlas_decoy_cargo_ship","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((8239.48,59304.8,651.968),(270.635,142.608,-142.992)); + var_00 = common_scripts\_createfx::createexploderex("boat_wake_vehicle_atlas_decoy_cargo_ship_side","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-3233.59,58482.9,-3938.84),(271.783,243.508,-67.8866)); + var_00 = common_scripts\_createfx::createexploderex("boat_wake_vehicle_atlas_decoy_cargo_ship_side","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-1715.21,58122.7,-3929.34),(271.783,243.507,-63.8853)); + var_00 = common_scripts\_createfx::createexploderex("boat_wake_vehicle_atlas_decoy_cargo_ship_side","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-6229.18,89809.4,-3502.75),(270.634,142.606,42.0089)); + var_00 = common_scripts\_createfx::createexploderex("boat_wake_vehicle_atlas_decoy_cargo_ship_side","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-8253.89,89892.6,-3553.29),(270.634,142.587,33.0282)); + var_00 = common_scripts\_createfx::createexploderex("boat_wake_vehicle_atlas_decoy_cargo_ship_side","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-5339.94,67449.3,-3652.65),(270.634,142.583,39.0317)); + var_00 = common_scripts\_createfx::createexploderex("boat_wake_vehicle_atlas_decoy_cargo_ship_side","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-936.371,80403.5,-4069.19),(273.654,261.666,-80.039)); + var_00 = common_scripts\_createfx::createexploderex("boat_wake_vehicle_atlas_decoy_cargo_ship_side","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-2031.47,79960.9,-4031.37),(273.654,261.664,-84.0377)); + var_00 = common_scripts\_createfx::createexploderex("boat_wake_vehicle_atlas_decoy_cargo_ship_side","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((4803.19,56254.9,-3764.88),(270.635,142.599,-144.983)); + var_00 = common_scripts\_createfx::createexploderex("boat_wake_vehicle_atlas_decoy_cargo_ship_side","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((6805.45,50225.4,-4161.61),(272.768,249.729,-67.1069)); + var_00 = common_scripts\_createfx::createexploderex("boat_wake_vehicle_atlas_decoy_cargo_ship_side","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((5386.52,50216.1,-4005.55),(272.768,249.724,-72.1019)); + var_00 = common_scripts\_createfx::createexploderex("boat_wake_vehicle_atlas_decoy_cargo_ship_side","3000"); + var_00 common_scripts\_createfx::set_origin_and_angles((-15932.4,43178.3,-3877.02),(271.783,243.507,-63.8853)); +} \ No newline at end of file diff --git a/AW/PC/SP/maps/createfx/seoul_fx.gsc b/AW/PC/maps/createfx/seoul_fx.gsc similarity index 99% rename from AW/PC/SP/maps/createfx/seoul_fx.gsc rename to AW/PC/maps/createfx/seoul_fx.gsc index 8b365fb..698d129 100644 --- a/AW/PC/SP/maps/createfx/seoul_fx.gsc +++ b/AW/PC/maps/createfx/seoul_fx.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/createfx/seoul_fx.gsc + * Decompiled File: createfx\seoul_fx.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 * Decompile Time: 152 ms - * Timestamp: 10/27/2023 2:07:02 AM + * Timestamp: 4/22/2024 2:07:55 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/credits_s1.gsc b/AW/PC/maps/credits_s1.gsc new file mode 100644 index 0000000..f1f79c8 --- /dev/null +++ b/AW/PC/maps/credits_s1.gsc @@ -0,0 +1,31 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: credits_s1.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:27:25 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.dodgeloadout = 1; + level.credits_active = 1; + maps\_utility::template_level("credits_s1"); + maps\createart\credits_s1_art::main(); + maps\credits_s1_fx::main(); + maps\credits_s1_precache::main(); + maps\_load::main(); + maps\credits_s1_lighting::main(); + maps\credits_s1_aud::main(); + maps\_credits::initcredits("all"); + level.player freezecontrols(1); + level.player takeallweapons(); + maps\_hud_util::create_client_overlay("black",1); + thread maps\_credits::allow_early_back_out(); + maps\_credits::playcredits(); + maps\_endmission::end_mission_fade_audio_and_video(1); + changelevel("",0); +} \ No newline at end of file diff --git a/AW/PC/maps/credits_s1_aud.gsc b/AW/PC/maps/credits_s1_aud.gsc new file mode 100644 index 0000000..d42d757 --- /dev/null +++ b/AW/PC/maps/credits_s1_aud.gsc @@ -0,0 +1,109 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: credits_s1_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 13 + * Decompile Time: 205 ms + * Timestamp: 4/22/2024 2:27:26 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + config_system(); + init_snd_flags(); + init_globals(); + launch_threads(); + launch_loops(); + create_level_envelop_arrays(); + precache_presets(); + register_snd_messages(); +} + +//Function Number: 2 +register_snd_messages() +{ + soundscripts\_snd::snd_register_message("snd_zone_handler",::zone_handler); + soundscripts\_snd::snd_register_message("snd_music_handler",::music_handler); + soundscripts\_snd::snd_register_message("play_credits",::play_credits); +} + +//Function Number: 3 +config_system() +{ + soundscripts\_audio::set_stringtable_mapname("shg"); + soundscripts\_snd_filters::snd_set_occlusion("med_occlusion"); +} + +//Function Number: 4 +init_snd_flags() +{ +} + +//Function Number: 5 +init_globals() +{ + level.aud = spawnstruct(); +} + +//Function Number: 6 +launch_threads() +{ + if(soundscripts\_audio::aud_is_specops()) + { + } +} + +//Function Number: 7 +launch_loops() +{ +} + +//Function Number: 8 +create_level_envelop_arrays() +{ + level.aud.envs = []; + level.aud.envs["example_envelop"] = [[0,0],[0.082,0.426],[0.238,0.736],[0.408,0.844],[0.756,0.953],[1,1]]; +} + +//Function Number: 9 +precache_presets() +{ +} + +//Function Number: 10 +zone_handler(param_00,param_01) +{ + switch(param_00) + { + } +} + +//Function Number: 11 +music(param_00,param_01) +{ + thread music_handler(param_00,param_01); +} + +//Function Number: 12 +music_handler(param_00,param_01) +{ + switch(param_00) + { + case "play_credits": + wait(0.5); + soundscripts\_audio_music::mus_play("mus_credits"); + break; + + default: + soundscripts\_audio::aud_print_warning("\tMUSIC MESSAGE NOT HANDLED: " + param_00); + break; + } +} + +//Function Number: 13 +play_credits(param_00) +{ + music("play_credits"); +} \ No newline at end of file diff --git a/AW/PC/SP/1341.gsc b/AW/PC/maps/credits_s1_fx.gsc similarity index 53% rename from AW/PC/SP/1341.gsc rename to AW/PC/maps/credits_s1_fx.gsc index 24c5790..5eb6527 100644 --- a/AW/PC/SP/1341.gsc +++ b/AW/PC/maps/credits_s1_fx.gsc @@ -1,19 +1,19 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: 1341.gsc + * Decompiled File: credits_s1_fx.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 0 ms - * Timestamp: 10/27/2023 1:57:05 AM + * Decompile Time: 36 ms + * Timestamp: 4/22/2024 2:27:26 AM *******************************************************************/ //Function Number: 1 main() { - wait(0); - if(isdefined(self)) + level._effect["test_effect"] = loadfx("vfx/test/test_fx"); + if(!getdvarint("r_reflectionProbeGenerate")) { - self delete(); + maps\createfx\credits_s1_fx::main(); } } \ No newline at end of file diff --git a/AW/PC/maps/credits_s1_lighting.gsc b/AW/PC/maps/credits_s1_lighting.gsc new file mode 100644 index 0000000..4a8a6e1 --- /dev/null +++ b/AW/PC/maps/credits_s1_lighting.gsc @@ -0,0 +1,24 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: credits_s1_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 53 ms + * Timestamp: 4/22/2024 2:27:26 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + set_level_lighting_values(); +} + +//Function Number: 2 +set_level_lighting_values() +{ + if(isusinghdr()) + { + setsaveddvar("r_disablelightsets",0); + } +} \ No newline at end of file diff --git a/AW/PC/maps/credits_s1_precache.gsc b/AW/PC/maps/credits_s1_precache.gsc new file mode 100644 index 0000000..10b6ee9 --- /dev/null +++ b/AW/PC/maps/credits_s1_precache.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: credits_s1_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 25 ms + * Timestamp: 4/22/2024 2:27:27 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/detroit.gsc b/AW/PC/maps/detroit.gsc new file mode 100644 index 0000000..771f554 --- /dev/null +++ b/AW/PC/maps/detroit.gsc @@ -0,0 +1,1833 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: detroit.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 71 + * Decompile Time: 1047 ms + * Timestamp: 4/22/2024 2:27:30 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + common_scripts\utility::flag_init("exitdrive_lights_on"); + common_scripts\utility::flag_init("player_fall"); + common_scripts\utility::flag_init("enter_night_club"); + common_scripts\utility::flag_init("drivein_player_bike_used"); + common_scripts\utility::flag_init("bike_lights_off"); + common_scripts\utility::flag_init("burke_ride_finished"); + common_scripts\utility::flag_init("2_mile_radius"); + common_scripts\utility::flag_init("begin_setup_alley"); + common_scripts\utility::flag_init("time_to_fight_outside_school"); + common_scripts\utility::flag_init("outside_school_fight_finished"); + common_scripts\utility::flag_init("player_close_to_door"); + common_scripts\utility::flag_init("flag_kva_basement_1_open_door"); + common_scripts\utility::flag_init("flag_basement_guy_1_end_idle"); + common_scripts\utility::flag_init("rendezvous"); + common_scripts\utility::flag_init("rendezvous_obj_reached"); + common_scripts\utility::flag_init("march_to_hospital"); + common_scripts\utility::flag_init("burke_nightclub_advance"); + common_scripts\utility::flag_init("hospital_wave_2"); + common_scripts\utility::flag_init("hospital_inner_fight"); + common_scripts\utility::flag_init("go_go_go"); + common_scripts\utility::flag_init("hospital_breached"); + common_scripts\utility::flag_init("school_trains"); + common_scripts\utility::flag_init("spraypaint"); + common_scripts\utility::flag_init("open_school_door"); + common_scripts\utility::flag_init("flag_stage_dialogue_start_audio"); + common_scripts\utility::flag_init("flag_stage_dialogue_end_audio"); + common_scripts\utility::flag_init("flag_stage_dialogue_end"); + common_scripts\utility::flag_init("flag_decon_ready_burke"); + common_scripts\utility::flag_init("flag_decon_ready_joker"); + common_scripts\utility::flag_init("flag_decon_ready_bones"); + common_scripts\utility::flag_init("flag_decon_ready_player"); + common_scripts\utility::flag_init("flag_scanner_doors_open"); + common_scripts\utility::flag_init("burke_cleared"); + common_scripts\utility::flag_init("joker_cleared"); + common_scripts\utility::flag_init("bones_cleared"); + common_scripts\utility::flag_init("flag_camp_visibility_04"); + common_scripts\utility::flag_init("shake_tiles"); + common_scripts\utility::flag_init("open_massive_door"); + common_scripts\utility::flag_init("massive_door_lights"); + common_scripts\utility::flag_init("massive_door_guard_in_position"); + common_scripts\utility::flag_init("show_cracked_floor"); + common_scripts\utility::flag_init("delete_cracked_floor"); + common_scripts\utility::flag_init("exit_drive_started"); + common_scripts\utility::flag_init("burke_leaving_bodies_room"); + common_scripts\utility::flag_init("begin_final_slice_moment"); + common_scripts\utility::flag_init("school_player_falling"); + common_scripts\utility::flag_init("school_jeep_delete"); + common_scripts\utility::flag_init("refugee_camp_cleanup"); + common_scripts\utility::flag_init("security_checkpoint_cleanup"); + common_scripts\utility::flag_init("massive_door_cleanup"); + common_scripts\utility::flag_init("can_burke_exit_trash"); + common_scripts\utility::flag_init("check_school"); + common_scripts\utility::flag_init("ride_over"); + common_scripts\utility::flag_init("burke_needs_to_idle"); + common_scripts\utility::flag_init("resume_100_speed"); + common_scripts\utility::flag_init("player_has_started_outside_combat"); + common_scripts\utility::flag_init("start_kva_notice_dialogue"); + common_scripts\utility::flag_init("stop_burke_asking_player_to_drop_patrol"); + common_scripts\utility::flag_init("sentinel_reveal_started"); + common_scripts\utility::flag_init("qte_success_breach"); + common_scripts\utility::flag_init("jetbike_dynfx_on"); + common_scripts\utility::flag_init("wall_grab_success"); + common_scripts\utility::flag_init("flag_send_team_to_the_truck"); + common_scripts\utility::flag_init("exo_moment_everyone_pushing"); + common_scripts\utility::flag_init("exo_moment_everyone_reaching"); + common_scripts\utility::flag_init("exo_push_should_idle"); + common_scripts\utility::flag_init("exo_push_should_push"); + common_scripts\utility::flag_init("exo_push_player_attached"); + common_scripts\utility::flag_init("exo_push_burke_attaching"); + common_scripts\utility::flag_init("aud_ambulance_pushing"); + common_scripts\utility::flag_init("flag_open_door_to_bikes"); + common_scripts\utility::flag_init("player_on_exitdrive_jetbike"); + common_scripts\utility::flag_init("doctor_on_bike"); + common_scripts\utility::flag_init("level_intro_cinematic_complete"); + common_scripts\utility::flag_init("player_has_dismounted_and_moved_ahead"); + common_scripts\utility::flag_init("onfoot_segment_complete"); + common_scripts\utility::flag_init("start_exit_trains"); + common_scripts\utility::flag_init("exo_push_phase1_complete"); + common_scripts\utility::flag_init("exo_push_phase2_complete"); + common_scripts\utility::flag_init("exo_push_phase3_complete"); + common_scripts\utility::flag_init("window_exo_guys_spawned_yet"); + common_scripts\utility::flag_init("spawn_more_hospital_roof_guys"); + common_scripts\utility::flag_init("send_exopush_guys_into_hospital"); + common_scripts\utility::flag_init("send_exopush_secondline_into_hospital"); + common_scripts\utility::flag_init("portal_grp_gate_on"); + common_scripts\utility::flag_init("squad_gestures_done_burke"); + common_scripts\utility::flag_init("squad_gestures_done_joker"); + common_scripts\utility::flag_init("send_all_teammates_upstairs"); + common_scripts\utility::flag_init("obj_acquire_bikes_give"); + common_scripts\utility::flag_init("obj_acquire_bikes_pos_bike"); + common_scripts\utility::flag_init("obj_acquire_bikes_complete"); + common_scripts\utility::flag_init("obj_check_school_give"); + common_scripts\utility::flag_init("obj_check_school_pos_door"); + common_scripts\utility::flag_init("obj_check_school_on_burke"); + common_scripts\utility::flag_init("obj_check_school_complete"); + common_scripts\utility::flag_init("obj_reunite_with_burke_give"); + common_scripts\utility::flag_init("obj_reunite_with_burke_pos_reunite"); + common_scripts\utility::flag_init("obj_reunite_with_burke_complete"); + common_scripts\utility::flag_init("obj_rendezvous_joker_complete"); + common_scripts\utility::flag_init("obj_exo_push_give"); + common_scripts\utility::flag_init("obj_exo_push_complete"); + common_scripts\utility::flag_init("obj_capture_doctor_pos_doctor"); + common_scripts\utility::flag_init("obj_capture_doctor_pos_doctor_breached"); + common_scripts\utility::flag_init("obj_capture_doctor_complete"); + common_scripts\utility::flag_init("obj_escape_detroit_give"); + common_scripts\utility::flag_init("obj_escape_detroit_pos_sentinel_reveal"); + common_scripts\utility::flag_init("obj_escape_detroit_pos_exit_stairs"); + common_scripts\utility::flag_init("obj_escape_detroit_on_player_bike"); + common_scripts\utility::flag_init("obj_escape_detroit_on_player_bike_mount"); + common_scripts\utility::flag_init("obj_escape_detroit_on_burke"); + common_scripts\utility::flag_init("obj_escape_detroit_complete"); + common_scripts\utility::flag_init("begin_kva_assault_on_sentinel"); + common_scripts\utility::flag_init("send_joker_and_doctor_to_bikes"); + common_scripts\utility::flag_init("sentinel_reveal_guy1_decloak"); + common_scripts\utility::flag_init("sentinel_reveal_guy2_decloak"); + common_scripts\utility::flag_init("sentinel_reveal_guy3_decloak"); + common_scripts\utility::flag_init("sentinel_recloak"); + common_scripts\utility::flag_init("sentinel_kva_fov_lerp_out"); + common_scripts\utility::flag_init("reveal_the_sentinels"); + common_scripts\utility::flag_init("gate_pulse_light"); + common_scripts\utility::flag_init("player_captured_doctor"); + common_scripts\utility::flag_init("joker_wait_before_reveal"); + common_scripts\utility::flag_init("joker_wait_before_doorway"); + common_scripts\utility::flag_init("send_burke_to_sentinel_reveal_spot"); + common_scripts\utility::flag_init("capture_animation_complete"); + common_scripts\utility::flag_init("sentinel_reveal_animation_complete"); + common_scripts\utility::flag_init("let_burke_reach_sentinel_reveal"); + common_scripts\utility::flag_init("joker_deliver_decon_line"); + common_scripts\utility::flag_init("knock_over_paymachine"); + common_scripts\utility::flag_init("exo_push_has_been_started"); + common_scripts\utility::flag_init("lightning_on"); + common_scripts\utility::flag_init("lightning_on_school"); + common_scripts\utility::flag_init("capture_start"); + common_scripts\utility::flag_init("flag_autofocus_on"); + common_scripts\utility::flag_init("basement_clear"); + common_scripts\utility::flag_init("show_capture_bag"); + common_scripts\utility::flag_init("show_capture_head"); + common_scripts\utility::flag_init("swap_to_head_bagged"); + common_scripts\utility::flag_init("ok_to_start_exo_push"); + common_scripts\utility::flag_init("doctor_inside_office_now"); + common_scripts\utility::flag_init("grab_the_doctor"); + common_scripts\utility::flag_init("burke_is_shimmey_halfway_can_continue"); + common_scripts\utility::flag_init("exo_push_spawner_scaffolding_trigger"); + common_scripts\utility::flag_init("burke_180_loop_end"); + common_scripts\utility::flag_init("red_dim"); + common_scripts\utility::flag_init("all_street_fighters_dead"); + common_scripts\utility::flag_init("player_has_entered_the_bar"); + common_scripts\utility::flag_init("bar_has_been_cleared"); + common_scripts\utility::flag_init("copy_that_stay_alert"); + common_scripts\utility::flag_init("player_failed_wall_grab_stop"); + common_scripts\utility::flag_init("player_is_shocked"); + common_scripts\utility::flag_init("doctor_has_run_once"); + common_scripts\utility::flag_init("flag_cg_kill_camp_chopper_loop"); + common_scripts\utility::flag_init("flag_cg_intro_cin_has_run"); + common_scripts\utility::flag_init("send_bones_joker_to_cover1"); + common_scripts\utility::flag_init("kill_the_two_guys_by_ambulance"); + common_scripts\utility::flag_init("stop_shooting_ambulance_now"); + common_scripts\utility::flag_init("start_tracking_sniper_deaths"); + common_scripts\utility::flag_init("show_grab_doctor_prompt"); + common_scripts\utility::flag_init("team_move_hospital"); + common_scripts\utility::flag_init("hospital_escape_trains_only"); + common_scripts\utility::flag_init("start_kva_window_ambush"); + common_scripts\utility::flag_init("move_to_be_killed"); + common_scripts\utility::flag_init("window_ambush_flag"); + common_scripts\utility::flag_init("gourney_guys_dead"); + common_scripts\utility::flag_init("secondline_guys_killed"); + common_scripts\utility::flag_init("backline_guys_alldead"); + common_scripts\utility::flag_init("van_pushed_atlaest_once"); + common_scripts\utility::flag_init("burke needs to stop rubber banding now"); + common_scripts\utility::flag_init("everone_motorpool_animate"); + common_scripts\utility::flag_init("begin_player_mount_bike"); + common_scripts\utility::flag_init("disable_player_jetbike_lights"); + common_scripts\utility::flag_init("bones_speed_zero"); + common_scripts\utility::flag_init("start_slowing_bones_down"); + common_scripts\utility::flag_init("begin_bike_dismount_player"); + common_scripts\utility::flag_init("kill_the_valve_anim"); + common_scripts\utility::flag_init("level_name_intro_done"); + common_scripts\utility::flag_init("fade_in_intro_screen"); + common_scripts\utility::flag_init("sitrep_dialogue_line"); + common_scripts\utility::flag_init("player_used_bodies_room_door"); + common_scripts\utility::flag_init("basement_string_objectives"); + common_scripts\utility::flag_init("open_school_basement_door"); + common_scripts\utility::flag_init("begin_objectives"); + common_scripts\utility::flag_init("joker_pickup_doctor_is_ok_now"); + common_scripts\utility::flag_init("truck_button_in_place"); + common_scripts\utility::flag_init("dont_spawn_art_room_flashlight_guy"); + common_scripts\utility::flag_init("dont_spawn_basement_troop_2"); + common_scripts\utility::flag_init("player_basement_spotted"); + common_scripts\utility::flag_init("stop_exit_drive_rumbles"); + common_scripts\utility::flag_init("kill_scare_team"); + common_scripts\utility::flag_init("show_sentinel_guys_now"); + common_scripts\utility::flag_init("one_street_guy_dead_kickoff_fight_now"); + common_scripts\utility::flag_init("begin_pa_system_dialogue"); + common_scripts\utility::flag_init("no_more_basement_alerts"); + common_scripts\utility::flag_init("third_guy_alerted"); + common_scripts\utility::flag_init("flashbang"); + common_scripts\utility::flag_init("doctor_grabbed"); + common_scripts\utility::flag_init("doctor_can_be_killed_now"); + common_scripts\utility::flag_init("connect_basement_door_clip"); + common_scripts\utility::flag_init("last_school_guy_dead"); + common_scripts\utility::flag_init("wall_grab_guy_dead"); + common_scripts\utility::flag_init("intro_animation_completed_now"); + common_scripts\utility::flag_init("level_intro_cinematic_complete_real"); + maps\_utility::add_control_based_hint_strings("jetbike_controls_controller",&"DETROIT_JETBIKE_CONTROLS_CONTROLLER",::maps\detroit_exit_drive::player_input_control_hint_off,&"DETROIT_JETBIKE_CONTROLS_PC",&"DETROIT_JETBIKE_CONTROLS_CONTROLLER_SP"); + maps\detroit_vo::init_dialogue_flags(); + level.detroit_drive_in_fov = 60; + level.detroit_spring_cam_lerp_speed = 1.1; + level.detroit_spring_cam_release_speed = 0.4; + level.exclusive_fog_tech = "dfog"; + maps\_utility::add_start("level_start",::start_refugee_camp,""); + maps\_utility::add_start("mount_bikes",::debug_start_drive_in); + maps\_utility::add_start("school_begin",::maps\detroit_refugee_camp::school_begin_onbike); + maps\_utility::add_start("school_interior_start",::debug_start_school_interior); + maps\_utility::add_start("school_before_fall",::debug_start_school_before_fall); + maps\_utility::add_start("school_basement",::debug_start_school_basement); + maps\_utility::add_start("school_wall_grab",::debug_start_school_wall_grab,""); + maps\_utility::add_start("alleyway",::debug_start_alleyway); + maps\_utility::add_start("office",::debug_start_nightclub); + maps\_utility::add_start("exo_push",::debug_start_exopush); + maps\_utility::add_start("hospital",::debug_start_hospital); + maps\_utility::add_start("hospital_capture_animation",::debug_start_hospital_capture); + maps\_utility::add_start("sentinel_reveal",::debug_start_sentinel_reveal); + maps\_utility::add_start("exit_drive",::debug_start_exit_drive); + maps\_utility::add_start("exit_drive_end",::debug_start_exit_drive_end); + maps\_utility::add_start("demo_with_itiot",::debug_start_demo_with_itiot,""); + maps\_utility::add_start("edge_magazine_turntable",::gideon_turntable_demo); + if(level.currentgen) + { + maps\_utility::set_start_transients("level_start",["detroit_intro_tr","detroit_introa_tr"]); + maps\_utility::set_start_transients("mount_bikes",["detroit_intro_tr","detroit_gatetrans_tr"]); + var_00 = ["detroit_school_interior_tr","detroit_middle_tr"]; + maps\_utility::set_start_transients("school_begin",["detroit_middle_tr","detroit_gatetrans_tr"]); + maps\_utility::set_start_transients("school_interior_start",["detroit_middle_tr","detroit_school_interior_tr"]); + maps\_utility::set_start_transients("school_before_fall",var_00); + maps\_utility::set_start_transients("school_basement",var_00); + maps\_utility::set_start_transients("school_wall_grab",var_00); + var_01 = ["detroit_middle_tr","detroit_nightclub_interior_tr"]; + maps\_utility::set_start_transients("alleyway",["detroit_middle_tr","detroit_school_interior_tr"]); + maps\_utility::set_start_transients("office",["detroit_nightclub_interior_tr","detroit_middle_tr"]); + var_02 = ["detroit_middle_tr","detroit_hospital_interior_tr"]; + maps\_utility::set_start_transients("exo_push",var_02); + maps\_utility::set_start_transients("hospital",var_02); + maps\_utility::set_start_transients("hospital_capture_animation",var_02); + maps\_utility::set_start_transients("sentinel_reveal",var_02); + maps\_utility::set_start_transients("exit_drive",var_02); + var_03 = ["detroit_middle_tr","detroit_outro_tr"]; + maps\_utility::set_start_transients("exit_drive_end",var_03); + maps\_utility::tff_sync_setup(); + } + + maps\_utility::template_level("detroit"); + maps\createart\detroit_art::main(); + maps\detroit_fx::main(); + maps\detroit_precache::main(); + maps\_load::main(); + thread maps\_player_exo::main("specialist",1); + maps\detroit_anim::main(); + maps\_patrol_extended::main(); + maps\_stealth::main(); + maps\detroit_aud::main(); + maps\detroit_lighting::main2(); + maps\_drone_civilian::init(); + maps\_drone_ai::init(); + maps\detroit_vo::main(); + maps\_variable_grenade::init_variable_grenade(); + maps\_car_door_shield::init_door_shield(); + level.spotlight_owner = undefined; + level.give_player_flashlight = 1; + level.spotlights = []; + level.player notifyonplayercommand("dpad_down","+actionslot 2"); + level.player notifyonplayercommand("dpad_left","+actionslot 3"); + level.player notifyonplayercommand("dpad_right","+actionslot 4"); + level.player notifyonplayercommand("dpad_up","+actionslot 1"); + level.player notifyonplayercommand("a_pressed","+gostand"); + level.player notifyonplayercommand("b_pressed","+stance"); + level.player notifyonplayercommand("y_pressed","weapnext"); + level.player notifyonplayercommand("x_pressed","+usereload"); + level.player notifyonplayercommand("attack_pressed","+attack"); + if(level.currentgen) + { + maps\detroit_transients_cg::detroit_cg_precache_models(); + } + + precachemodel("det_ticketmachine_damaged_rigged"); + if(level.nextgen) + { + precachemodel("body_fso_vest_a"); + } + + precachemodel("det_hospital_shelf_01"); + precachemodel("det_shimmy_panels_01_anim"); + precachemodel("ehq_baseball"); + precachemodel("ehq_baseball_glove_01"); + precachemodel("com_spray_can01"); + precachemodel("det_hospital_door_02"); + precachemodel("vehicle_xh9_warbird"); + precachemodel("vehicle_xh9_warbird_interior_only"); + precachemodel("vehicle_xh9_warbird_mp"); + precachemodel("viewbody_atlas_military"); + precachemodel("worldhands_s1_pmc"); + precachemodel("viewbody_atlas_military_detroit"); + precachemodel("viewhands_atlas_military_detroit"); + precachemodel("worldhands_atlas_military_detroit"); + precachemodel("s1_lightfluohang_double_on_dim"); + precachemodel("me_lightfluohang_double_destroyed"); + precachemodel("vehicle_mil_hoverbike_ai"); + precachemodel("vehicle_mil_hoverbike_ai_obj"); + precachemodel("vehicle_mil_hoverbike_parked_static"); + precachemodel("npc_bal_27_grey"); + precachemodel("vehicle_mil_hoverbike_vm"); + precachemodel("genericprop"); + precachemodel("det_basement_valve_01_anim"); + precachemodel("det_school_door_01_anim"); + precachemodel("body_hero_burke_sentinel_covert_cloak"); + precachemodel("sentinel_covert_body_a"); + precachemodel("kva_hazmat_head_a_damaged"); + precachemodel("det_doctor_prop_bagA"); + precachemodel("vehicle_civ_det_train_car_01"); + precachemodel("det_cargo_box_single_01"); + precachemodel("det_school_door_01_anim_obj"); + precachemodel("det_floor_collapse_01_anim"); + precachemodel("det_doctor_head_bagA"); + precachemodel("vehicle_mil_humvee_cleaner_01_ai"); + precachemodel("prop_cigarette"); + precachelaser("lag_snipper_laser"); + precachemodel("det_school_door_01_anim"); + precachemodel("kva_hazmat_body_a_stabbed"); + precacherumble("damage_light"); + precacherumble("light_1s"); + precacherumble("light_2s"); + precacherumble("light_3s"); + precacherumble("damage_heavy"); + precacherumble("heavy_1s"); + precacherumble("heavy_2s"); + precacherumble("heavy_3s"); + precacherumble("steady_rumble"); + if(level.currentgen) + { + precachemodel("civ_urban_male_dead_body_a"); + precachemodel("civ_urban_male_dead_body_b"); + precachemodel("civ_urban_male_dead_body_c"); + precachemodel("civ_urban_female_dead_body_a"); + precachemodel("civ_urban_female_dead_body_b"); + precachemodel("head_male_sp_siejak"); + precachemodel("head_male_mp_brickerson"); + precachemodel("civ_urban_male_head_kanik"); + precachemodel("head_ilana_civilian"); + } + + precacheitem("mp7_silencer"); + precacheitem("heli_minigun_so"); + precacheitem("mig_25mm_cannon"); + precacheitem("sidewinder_warhawk_aftermath"); + precacheitem("flash_grenade"); + precacheitem("flash_grenade_var"); + precacheitem("iw5_unarmed_nullattach"); + precacheitem("iw5_unarmeddetroit_nullattach"); + precacheitem("iw5_bal27_sp"); + precacheitem("iw5_bal27down_sp"); + precacheitem("iw5_bal27_sp_silencer01_variablereddot"); + precacheitem("iw5_bal27_sp_variablereddot"); + precacheitem("iw5_bal27_sp_opticsthermal"); + precacheitem("iw5_hbra3_sp_opticstargetenhancer"); + precacheshellshock("paris_scripted_flashbang"); + precacheitem("iw5_mp11_sp"); + precacheitem("iw5_arx160_sp"); + precacheshader("s1_railgun_hud_outer_shadow"); + if(level.nextgen) + { + precacheshader("m/mtl_mil_hoverbike_emissive"); + precacheshader("m/mtl_burke_sentinel_covert_headgear_a_cloak"); + precacheshader("mc/mtl_burke_sentinel_covert_headgear_a_cloak"); + precacheshader("m/cloak_generic"); + precacheshader("m/mtl_dr_pas_head_damaged"); + } + else + { + precacheshader("mq/mtl_burke_sentinel_covert_headgear_a_cloak"); + precacheshader("mqc/mtl_burke_sentinel_covert_headgear_a_cloak"); + precacheshader("mq/cloak_generic"); + precacheshader("mq/mtl_dr_pas_head_damaged"); + } + + precachestring(&"on_hoverbike_update"); + precachestring(&"DETROIT_FOUR_YEARS_LATER"); + thread setup_player(); + thread objective_manager(); + thread maps\detroit_refugee_camp::refugee_camp_main(); + thread maps\detroit_school::school_main(); + thread maps\detroit_streets::streets_main(); + thread maps\detroit_hospital::hospital_main(); + thread maps\detroit_exit_drive::exit_drive_main(); + thread debug_all(); + thread player_health_current(); + maps\_utility::add_global_spawn_function("allies",::stealth_spawn_function); + maps\_utility::add_global_spawn_function("axis",::stealth_spawn_function); + maps\_utility::add_global_spawn_function("axis",::ai_thermal); + maps\_stealth_utility::stealth_ai_event_dist_default(); + var_04["ai_eventDistFootstep"]["hidden"] = 110; + var_04["ai_eventDistFootstepWalk"]["hidden"] = 85; + thread maps\_stealth_utility::stealth_ai_event_dist_custom(var_04); + level.flashcount = 0; + setup_portal_scripting(); + maps\_load::set_player_viewhand_model("viewhands_atlas_military"); + if(level.currentgen) + { + setsaveddvar("r_gunSightColorEntityScale","7"); + setsaveddvar("r_gunSightColorNoneScale","0.8"); + } + + var_05 = getdvarint("demo_itiot",0); + if(var_05) + { + soundscripts\_snd::snd_message("e3_demo_fade_in"); + level.player.auxillary_hud = newclienthudelem(level.player); + level.player.auxillary_hud setshader("black",1280,720); + level.player.auxillary_hud.horzalign = "fullscreen"; + level.player.auxillary_hud.vertalign = "fullscreen"; + level.player.auxillary_hud.alpha = 1; + level.player.auxillary_hud fadeovertime(0.5); + level.player.auxillary_hud.alpha = 0; + level.player.auxillary_hud.foreground = 1; + } +} + +//Function Number: 2 +debug_turrets() +{ + for(;;) + { + var_00 = []; + var_01 = getentarray("misc_turret","code_classname"); + foreach(var_03 in var_01) + { + var_04 = var_03.model; + if(!isdefined(var_00[var_04])) + { + var_00[var_04] = 1; + continue; + } + + var_00[var_04]++; + } + + var_06 = "total:" + var_01.size + ", "; + foreach(var_04, var_08 in var_00) + { + var_06 = var_06 + var_04 + ":" + var_08 + ", "; + } + + wait(0.05); + } +} + +//Function Number: 3 +spawn_bikes() +{ + var_00 = getent("player_jetbike","targetname") maps\_utility::spawn_vehicle(); + var_01 = getent("burke_jetbike","targetname") maps\_utility::spawn_vehicle(); + var_02 = getent("joker_jetbike","targetname") maps\_utility::spawn_vehicle(); + var_03 = getent("bones_jetbike","targetname") maps\_utility::spawn_vehicle(); + var_00.animname = "player_bike"; + var_03.animname = "bones_bike"; + var_01.animname = "burke_bike"; + var_02.animname = "joker_bike"; + var_03 vehphys_disablecrashing(); + var_01 vehphys_disablecrashing(); + var_02 vehphys_disablecrashing(); + level.burke_bike = var_01; + level.joker_bike = var_02; + level.bones_bike = var_03; + level.player_bike = var_00; +} + +//Function Number: 4 +debug_ai_count() +{ + for(;;) + { + var_00 = getaiarray(); + var_01 = 0; + foreach(var_03 in var_00) + { + if(sighttracepassed(var_03 geteye(),level.player geteye(),0,level.player_bike)) + { + var_01++; + var_03.was_ever_visible = 1; + } + } + + var_05 = 0; + foreach(var_03 in var_00) + { + if(!isdefined(var_03.was_ever_visible)) + { + var_05++; + continue; + } + } + + wait 0.05; + } +} + +//Function Number: 5 +stealth_spawn_function() +{ + if(isdefined(self.script_stealthgroup) && self.script_stealthgroup >= 0) + { + maps\_stealth_utility::stealth_default(); + } +} + +//Function Number: 6 +ai_thermal() +{ + self thermaldrawenable(); +} + +//Function Number: 7 +debug_all() +{ + level waittill("event_awareness",var_00); +} + +//Function Number: 8 +objective_manager() +{ + waittillframeend; + set_completed_objective_flags(); + var_00 = (0,0,32); + common_scripts\utility::flag_wait("begin_objectives"); + objective_add(maps\_utility::obj("Follow Gideon"),"current",&"DETROIT_FOLLOW_GIDEON",level.burke.origin); + objective_onentity(maps\_utility::obj("Follow Gideon"),level.burke); + common_scripts\utility::flag_wait("obj_acquire_bikes_pos_bike"); + var_01 = getent("player_jetbike","targetname"); + if(isdefined(level.player_bike)) + { + var_02 = getent("use_hoverbike_xprompt","targetname"); + objective_position(maps\_utility::obj("Follow Gideon"),var_02.origin); + objective_setpointertextoverride(maps\_utility::obj("Follow Gideon"),&"DETROIT_USE"); + } + + common_scripts\utility::flag_wait("obj_check_school_give"); + if(isdefined(level.burke)) + { + objective_onentity(maps\_utility::obj("Follow Gideon"),level.burke); + } + + common_scripts\utility::flag_wait("obj_check_school_pos_door"); + var_03 = getent("obj_investigate_school_pos_door_struct","targetname"); + objective_position(maps\_utility::obj("Follow Gideon"),var_03.origin); + common_scripts\utility::flag_wait("obj_check_school_on_burke"); + if(isdefined(level.burke)) + { + objective_onentity(maps\_utility::obj("Follow Gideon"),level.burke); + } + + common_scripts\utility::flag_wait("obj_check_school_complete"); + maps\_utility::objective_complete(maps\_utility::obj("Follow Gideon")); + common_scripts\utility::flag_wait("obj_reunite_with_burke_give"); + var_04 = getent("alpha_reunite_objective_org","targetname"); + objective_add(maps\_utility::obj("Reunite with Burke"),"current",&"DETROIT_OBJECTIVE_RENDEZVOUS_BURKE",(0,0,0)); + common_scripts\utility::flag_set("basement_string_objectives"); + common_scripts\utility::flag_wait("obj_reunite_with_burke_pos_reunite"); + objective_position(maps\_utility::obj("Reunite with Burke"),var_04.origin); + common_scripts\utility::flag_wait("obj_reunite_with_burke_complete"); + maps\_utility::objective_complete(maps\_utility::obj("Reunite with Burke")); + wait(0.5); + objective_add(maps\_utility::obj("Push forward!"),"current",&"DETROIT_OBJECTIVE_PUSH_VEHICLE",common_scripts\utility::getstruct("obj_rendezvous_joker_struct","targetname").origin); + common_scripts\utility::flag_wait("obj_rendezvous_joker_pos_office_atrium"); + objective_position(maps\_utility::obj("Push forward!"),common_scripts\utility::getstruct("obj_rendezvous_joker_pos_office_atrium_struct","targetname").origin); + common_scripts\utility::flag_wait("obj_rendezvous_joker_pos_office_window"); + objective_position(maps\_utility::obj("Push forward!"),common_scripts\utility::getstruct("obj_rendezvous_joker_pos_office_window_struct","targetname").origin); + common_scripts\utility::flag_wait("obj_rendezvous_joker_pos_joker"); + objective_position(maps\_utility::obj("Push forward!"),common_scripts\utility::getstruct("obj_rendezvous_joker_pos_joker_struct","targetname").origin); + common_scripts\utility::flag_wait("obj_rendezvous_joker_complete"); + common_scripts\utility::flag_wait("obj_exo_push_give"); + var_05 = getent("exo_push_ambulance","targetname"); + if(isdefined(var_05)) + { + objective_onentity(maps\_utility::obj("Push forward!"),var_05,level.truck_org_cords); + objective_setpointertextoverride(maps\_utility::obj("Push forward!"),&"DETROIT_OBJECTIVE_POINTER_PUSH"); + } + + common_scripts\utility::flag_wait("obj_exo_push_complete"); + maps\_utility::objective_complete(maps\_utility::obj("Push forward!")); + objective_add(maps\_utility::obj("Capture the doctor"),"current",&"DETROIT_OBJECTIVE_CAPTURE_DOCTOR",common_scripts\utility::getstruct("obj_capture_doctor_pos_ground_floor_struct","targetname").origin); + common_scripts\utility::flag_wait("obj_capture_doctor_pos_stairs"); + objective_position(maps\_utility::obj("Capture the doctor"),common_scripts\utility::getstruct("obj_capture_doctor_pos_stairs_struct","targetname").origin); + common_scripts\utility::flag_wait("obj_capture_doctor_pos_2nd_floor"); + objective_position(maps\_utility::obj("Capture the doctor"),common_scripts\utility::getstruct("obj_capture_doctor_pos_2nd_floor_struct","targetname").origin); + common_scripts\utility::flag_wait("obj_capture_doctor_pos_doctor"); + objective_setpointertextoverride(maps\_utility::obj("Capture the doctor"),&"DETROIT_OBJECTIVE_CAPTURE"); + if(isdefined(level.doctor)) + { + objective_onentity(maps\_utility::obj("Capture the doctor"),level.doctor); + } + + common_scripts\utility::flag_wait("doctor_inside_office_now"); + objective_setpointertextoverride(maps\_utility::obj("Capture the doctor"),&"SCRIPT_WAYPOINT_BREACH"); + objective_position(maps\_utility::obj("Capture the doctor"),common_scripts\utility::getstruct("obj_capture_doctor_pos_door_struct","targetname").origin); + common_scripts\utility::flag_wait("obj_capture_doctor_pos_doctor_breached"); + if(isdefined(level.doctor)) + { + objective_onentity(maps\_utility::obj("Capture the doctor"),level.doctor); + } + + objective_setpointertextoverride(maps\_utility::obj("Capture the doctor"),&"DETROIT_OBJECTIVE_CAPTURE"); + common_scripts\utility::flag_wait("obj_capture_doctor_complete"); + maps\_utility::objective_complete(maps\_utility::obj("Capture the doctor")); + common_scripts\utility::flag_wait("obj_escape_detroit_give"); + objective_add(maps\_utility::obj("deliver the cargo"),"current",&"DETROIT_OBJECTIVE_ESCAPE_DETROIT",common_scripts\utility::getstruct("obj_escape_detroit_give_struct","targetname").origin); + common_scripts\utility::flag_wait("obj_escape_detroit_pos_hospital_stairs"); + objective_position(maps\_utility::obj("deliver the cargo"),common_scripts\utility::getstruct("obj_escape_detroit_pos_hospital_stairs_struct","targetname").origin); + common_scripts\utility::flag_wait("obj_escape_detroit_pos_hospital_stairs_top"); + objective_position(maps\_utility::obj("deliver the cargo"),common_scripts\utility::getstruct("obj_escape_detroit_pos_hospital_stairs_top_struct","targetname").origin); + common_scripts\utility::flag_wait("obj_escape_detroit_pos_sentinel_stairs"); + objective_position(maps\_utility::obj("deliver the cargo"),common_scripts\utility::getstruct("obj_escape_detroit_pos_sentinel_stairs_struct","targetname").origin); + common_scripts\utility::flag_wait("obj_escape_detroit_pos_sentinel_doors"); + objective_position(maps\_utility::obj("deliver the cargo"),common_scripts\utility::getstruct("obj_escape_detroit_pos_sentinel_doors_struct","targetname").origin); + common_scripts\utility::flag_wait("obj_escape_detroit_pos_sentinel_reveal"); + objective_position(maps\_utility::obj("deliver the cargo"),(0,0,0)); + common_scripts\utility::flag_wait("obj_escape_detroit_pos_exit_stairs"); + objective_position(maps\_utility::obj("deliver the cargo"),common_scripts\utility::getstruct("obj_escape_detroit_pos_exit_stairs_struct","targetname").origin); + common_scripts\utility::flag_wait("obj_escape_detroit_on_player_bike"); + if(isdefined(level.jetbike)) + { + var_02 = getent("exit_drive_starting_prompt","targetname"); + objective_setpointertextoverride(maps\_utility::obj("deliver the cargo"),&"DETROIT_USE"); + objective_position(maps\_utility::obj("deliver the cargo"),var_02.origin); + } + + common_scripts\utility::flag_wait("obj_escape_detroit_on_player_bike_mount"); + objective_position(maps\_utility::obj("deliver the cargo"),(0,0,0)); + common_scripts\utility::flag_wait("obj_escape_detroit_on_burke"); + objective_setpointertextoverride(maps\_utility::obj("deliver the cargo"),&"DETROIT_FOLLOW"); + if(isdefined(level.burke)) + { + objective_onentity(maps\_utility::obj("deliver the cargo"),level.burke); + } + + common_scripts\utility::flag_wait("obj_escape_detroit_complete"); + maps\_utility::objective_complete(maps\_utility::obj("deliver the cargo")); +} + +//Function Number: 9 +set_completed_objective_flags() +{ + if(maps\_utility::is_default_start()) + { + return; + } + + var_00 = level.start_point; + if(var_00 == "demo_with_itiot") + { + return; + } + + common_scripts\utility::flag_set("begin_objectives"); + common_scripts\utility::flag_set("obj_acquire_bikes_give"); + common_scripts\utility::flag_set("obj_acquire_bikes_pos_bike"); + common_scripts\utility::flag_set("obj_acquire_bikes_complete"); + common_scripts\utility::flag_set("flag_scanner_doors_open"); + common_scripts\utility::flag_set("flag_camp_visibility_04"); + common_scripts\utility::flag_set("flag_cg_intro_cin_has_run"); + if(var_00 == "mount_bikes") + { + return; + } + + if(var_00 == "player_controlled_drive_start") + { + return; + } + + common_scripts\utility::flag_set("portal_grp_gate_on"); + if(var_00 == "school_begin") + { + return; + } + + common_scripts\utility::flag_set("obj_check_school_give"); + if(var_00 == "school_interior_start") + { + return; + } + + common_scripts\utility::flag_set("obj_check_school_pos_door"); + common_scripts\utility::flag_set("obj_check_school_on_burke"); + if(var_00 == "school_before_fall") + { + return; + } + + common_scripts\utility::flag_set("obj_check_school_complete"); + common_scripts\utility::flag_set("obj_reunite_with_burke_give"); + common_scripts\utility::flag_set("school_jeep_delete"); + if(var_00 == "school_basement") + { + return; + } + + if(var_00 == "school_wall_grab") + { + return; + } + + common_scripts\utility::flag_set("obj_reunite_with_burke_pos_reunite"); + if(var_00 == "alleyway") + { + return; + } + + common_scripts\utility::flag_set("obj_reunite_with_burke_complete"); + if(var_00 == "office") + { + return; + } + + common_scripts\utility::flag_set("obj_rendezvous_joker_pos_office_atrium"); + common_scripts\utility::flag_set("obj_rendezvous_joker_pos_office_window"); + common_scripts\utility::flag_set("obj_rendezvous_joker_pos_joker"); + common_scripts\utility::flag_set("obj_rendezvous_joker_complete"); + common_scripts\utility::flag_set("obj_exo_push_give"); + if(var_00 == "exo_push") + { + return; + } + + common_scripts\utility::flag_set("obj_exo_push_complete"); + if(var_00 == "hospital") + { + return; + } + + common_scripts\utility::flag_set("obj_capture_doctor_pos_stairs"); + common_scripts\utility::flag_set("obj_capture_doctor_pos_2nd_floor"); + common_scripts\utility::flag_set("obj_capture_doctor_pos_doctor"); + if(var_00 == "hospital_capture_animation") + { + return; + } + + common_scripts\utility::flag_set("obj_capture_doctor_complete"); + common_scripts\utility::flag_set("obj_escape_detroit_give"); + common_scripts\utility::flag_set("obj_escape_detroit_pos_hospital_stairs"); + common_scripts\utility::flag_set("obj_escape_detroit_pos_hospital_stairs_top"); + common_scripts\utility::flag_set("obj_escape_detroit_pos_sentinel_stairs"); + if(var_00 == "sentinel_reveal") + { + return; + } + + common_scripts\utility::flag_set("doctor_inside_office_now"); + common_scripts\utility::flag_set("obj_escape_detroit_pos_sentinel_doors"); + common_scripts\utility::flag_set("obj_escape_detroit_pos_sentinel_reveal"); + common_scripts\utility::flag_set("obj_escape_detroit_pos_exit_stairs"); + if(var_00 == "exit_drive") + { + return; + } + + common_scripts\utility::flag_set("obj_escape_detroit_on_player_bike"); + common_scripts\utility::flag_set("obj_escape_detroit_on_player_bike_mount"); + common_scripts\utility::flag_set("obj_escape_detroit_on_burke"); + if(var_00 == "exit_drive_end") + { + } +} + +//Function Number: 10 +setup_team() +{ + level.bones = setup_bones(); + level.joker = setup_joker(); + level.burke = setup_burke(); +} + +//Function Number: 11 +setup_bones() +{ + var_00 = getent("bones_spawner","targetname"); + var_01 = var_00 maps\_shg_design_tools::actual_spawn(); + var_01 thread maps\_utility::deletable_magic_bullet_shield(); + var_01.animname = "bones"; + var_01 maps\_utility::set_force_color("y"); + var_01.ignoreall = 1; + var_01 maps\_utility::forceuseweapon("iw5_bal27_sp_silencer01_variablereddot","primary"); + return var_01; +} + +//Function Number: 12 +setup_joker() +{ + var_00 = getent("joker_spawner","targetname"); + var_01 = var_00 maps\_shg_design_tools::actual_spawn(); + var_01 thread maps\_utility::deletable_magic_bullet_shield(); + var_01.animname = "joker"; + var_01 maps\_utility::set_force_color("o"); + var_01.ignoreall = 1; + var_01 maps\_utility::forceuseweapon("iw5_bal27_sp_silencer01_variablereddot","primary"); + return var_01; +} + +//Function Number: 13 +setup_burke() +{ + var_00 = maps\_utility::spawn_targetname("burke_spawner",1); + var_00 thread maps\_utility::deletable_magic_bullet_shield(); + var_00.animname = "burke"; + var_00 maps\_utility::set_force_color("r"); + var_00.ignoreall = 1; + var_00 maps\_utility::forceuseweapon("iw5_bal27_sp_silencer01_variablereddot","primary"); + return var_00; +} + +//Function Number: 14 +burke_aggression() +{ + for(;;) + { + var_00 = level.burke.ignoreall; + if(var_00 == 0) + { + iprintln("Burke is Active"); + } + + if(var_00 == 1) + { + iprintln("Burke is Passive"); + } + + wait(0.05); + } +} + +//Function Number: 15 +set_patrol_anim_set(param_00,param_01,param_02) +{ + self.patrol_walk_twitch = undefined; + self.patrol_walk_anim = undefined; + self.script_animation = param_00; + maps\_patrol::set_patrol_run_anim_array(); + self.goalradius = 32; + self allowedstances("stand"); + self.disablearrivals = 1; + self.disableexits = 1; + self.allowdeath = 1; + self.oldcombatmode = self.combatmode; + self.combatmode = "no_cover"; + maps\_utility::disable_cqbwalk(); + self.patrol_anim_set = param_00; + if(isdefined(param_01) && param_01) + { + maps\_utility::ent_flag_set("_stealth_enabled"); + thread maps\detroit_school::monitor_stealth_flags(); + } +} + +//Function Number: 16 +start_refugee_camp() +{ + level.player maps\_stealth_utility::stealth_default(); + debug_start_common(); + level.player lightsetforplayer("detroit_intro_1"); + maps\_utility::vision_set_fog_changes("detroit_intro",0); + level.player setclutforplayer("clut_detroit_level_start_intro",0); + level notify("vfx_rain_intro"); + soundscripts\_snd::snd_message("start_refugee_camp"); + thread battle_chatter_off_both(); + thread maps\detroit_refugee_camp::setup_motorpool(); + thread maps\detroit_refugee_camp::setup_refugee_camp_soldiers(); + level.player thread maps\_player_exo::player_exo_deactivate(); + opening_movie_function(); + thread maps\detroit_refugee_camp::security_triggers(); + thread maps\detroit_refugee_camp::setup_civs_walkers(); + thread maps\detroit_refugee_camp::tv_movie(); + thread give_regular_grenades(); + thread maps\detroit_lighting::intro_helipad_lights(); + thread maps\detroit_lighting::intro_lighting(); + thread maps\detroit_lighting::intro_dof_physically_based(); + thread maps\detroit_refugee_camp::disable_same_side_blocking(); +} + +//Function Number: 17 +opening_movie_function() +{ + level.player disableweapons(); + level.player freezecontrols(1); + thread maps\_shg_utility::play_chyron_video("chyron_text_detroit",2,2); + common_scripts\utility::flag_wait("chyron_video_done"); + common_scripts\utility::flag_set("level_name_intro_done"); + thread maps\detroit_refugee_camp::opening_start(); + soundscripts\_snd::snd_message("start_refugee_camp"); +} + +//Function Number: 18 +debug_start_drive_in() +{ + level.player lightsetforplayer("detroit_intro"); + maps\_utility::vision_set_fog_changes("detroit_camp",0); + level.player setclutforplayer("clut_detroit_camp",0); + level.player maps\_stealth_utility::stealth_default(); + debug_start_common(); + level notify("vfx_rain_intro"); + soundscripts\_snd::snd_message("start_drive_in"); + thread battle_chatter_off_both(); + level.playerisonleft = 0; + thread maps\detroit_refugee_camp::debug_start_bike_ride_in(); + thread give_regular_grenades(); + level.player takeallweapons(); + common_scripts\utility::flag_set("vo_camp_bike_ready"); + common_scripts\utility::flag_set("vo_autopilot_engaged"); + common_scripts\utility::flag_set("flag_camp_visibility_03"); + var_00 = getnode("player_drive_in_startpoint","targetname"); + level.player maps\_utility::teleport_player(var_00); + wait 0.05; + var_01 = 1; + thread maps\detroit_refugee_camp::setup_motorpool(var_01); +} + +//Function Number: 19 +debug_start_school_begin() +{ + debug_start_common(); + spawn_bikes(); + maps\detroit_school::school_animated_fences(); + soundscripts\_snd::snd_message("start_school"); + var_00 = getent("actual_dismount_animation_origin","targetname"); + var_00 thread maps\_anim::anim_first_frame_solo(level.player_bike,"bike_dismount"); + var_00 thread maps\_anim::anim_first_frame_solo(level.burke_bike,"bike_dismount"); + var_00 thread maps\_anim::anim_first_frame_solo(level.bones_bike,"bike_dismount"); + var_00 thread maps\_anim::anim_first_frame_solo(level.joker_bike,"bike_dismount"); + level.player_bike.world_body = maps\_utility::spawn_anim_model("world_body"); + level.player_bike.world_body linkto(level.player_bike,"tag_driver",(0,0,0),(0,0,0)); + level.player_bike.world_body setanim(level.player_bike.world_body maps\_utility::getanim("jetbike_casual_drive_idle")); + thread give_regular_grenades(); + common_scripts\utility::flag_set("begin_bike_dismount_joker"); + common_scripts\utility::flag_set("begin_bike_dismount_bones"); + common_scripts\utility::flag_set("begin_bike_dismount_burke"); + common_scripts\utility::flag_set("begin_bike_dismount_player"); + maps\_utility::vision_set_fog_changes("detroit_garage",0); + level.player lightsetforplayer("garage"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","1"); + } + + wait(0.1); + level.player takeallweapons(); + level.player giveweapon("iw5_hbra3_sp_opticstargetenhancer"); + level.player switchtoweapon("iw5_hbra3_sp_opticstargetenhancer"); + thread give_regular_grenades(); +} + +//Function Number: 20 +debug_start_school_interior() +{ + level.player lightsetforplayer("city_dark"); + maps\_utility::vision_set_fog_changes("detroit_city_school",0); + level.player setclutforplayer("clut_detroit_exterior",0); + level.player maps\_stealth_utility::stealth_default(); + debug_start_common(); + soundscripts\_snd::snd_message("start_school_interior"); + level.player maps\_utility::teleport_player(common_scripts\utility::getstruct("org_start_school_exterior_player_teleport","targetname")); + thread maps\detroit_school::monitor_flashlight_burke(); + thread maps\detroit_lighting::school_jeep_light_tgl(); + thread maps\detroit_school::setup_school_stealth(); + thread maps\detroit_school::setup_school_bodies(); + thread maps\detroit_school::burke_deadroom_door(); + thread give_regular_grenades(); + thread maps\detroit_school::teleport_burke_to_alley(); + level.player takeallweapons(); + level.player giveweapon("iw5_hbra3_sp_opticstargetenhancer"); + level.player switchtoweapon("iw5_hbra3_sp_opticstargetenhancer"); + thread give_regular_grenades(); + wait 0.05; + common_scripts\utility::flag_set("vo_school_checkpoint_blue"); + level.burke maps\_utility::set_moveplaybackrate(1.5); + maps\detroit_school::burke_at_school_door(); + maps\detroit_school::burke_busted_light(); + level notify("ok_to_start_school"); + level.burke maps\_utility::set_moveplaybackrate(1); +} + +//Function Number: 21 +debug_start_school_before_fall() +{ + level.player lightsetforplayer("school_sun"); + maps\_utility::vision_set_fog_changes("detroit_school_walk",0); + level.player setclutforplayer("clut_detroit_interior",0); + level.player maps\_stealth_utility::stealth_default(); + debug_start_common(); + thread give_regular_grenades(); + soundscripts\_snd::snd_message("start_school_before_fall"); + var_00 = getnode("test_burkespot","targetname"); + var_01 = var_00 common_scripts\utility::spawn_tag_origin(); + var_01.origin = var_01 maps\_shg_design_tools::offset_position_from_tag("backward","tag_origin",100); + level.player maps\_utility::teleport_player(var_01); + var_01 delete(); + while(!isdefined(level.burke)) + { + wait 0.05; + } + + thread maps\detroit_school::setup_school_stealth(); + wait(0.1); + common_scripts\utility::flag_clear("lightning_on"); + common_scripts\utility::flag_clear("lightning_on"); + thread maps\detroit_school::begin_the_shimmey_for_burke(); + level.player takeallweapons(); + level.player giveweapon("iw5_hbra3_sp_opticstargetenhancer"); + level.player switchtoweapon("iw5_hbra3_sp_opticstargetenhancer"); + thread give_regular_grenades(); +} + +//Function Number: 22 +debug_start_school_basement() +{ + level.player lightsetforplayer("school"); + maps\_utility::vision_set_fog_changes("detroit_school_basement",0); + level.player setclutforplayer("clut_detroit_basement",0); + level.player maps\_stealth_utility::stealth_default(); + debug_start_common(); + level.player setmovespeedscale(0.6); + soundscripts\_snd::snd_message("start_school_basement"); + wait(0.05); + thread maps\detroit_school::setup_school_stealth(); + wait(0.1); + common_scripts\utility::flag_clear("lightning_on"); + level.player allowsprint(0); + level.player takeallweapons(); + level.player thread handle_unarmed_viewbob(); + level.player giveweapon("iw5_unarmeddetroit_nullattach"); + level.player switchtoweapon("iw5_unarmeddetroit_nullattach"); + level.player maps\_utility::teleport_player(common_scripts\utility::getstruct("org_checkpoint_basement_start","targetname")); + thread maps\detroit_lighting::toggle_lighting_spot01_on_checkpoint(); + thread maps\detroit_lighting::basement_fog_checkpoint(); + thread maps\detroit_school::remove_unarmed_when_pickup_new_wep(); + common_scripts\utility::flag_set("basement_string_objectives"); +} + +//Function Number: 23 +debug_start_school_wall_grab() +{ + level.player lightsetforplayer("school"); + level.player setclutforplayer("clut_detroit_interior",0); + maps\_utility::vision_set_fog_changes("detroit_school",0); + level.player maps\_stealth_utility::stealth_default(); + debug_start_common(); + soundscripts\_snd::snd_message("start_school_wall_grab"); + var_00 = getnode("guy2_hide_spot","targetname"); + level.player maps\_utility::teleport_player(var_00); + thread maps\detroit_school::setup_school_stealth(); + waittillframeend; + level.player allowsprint(0); + level.player takeallweapons(); + level.player thread handle_unarmed_viewbob(); + level.player giveweapon("iw5_unarmeddetroit_nullattach"); + level.player switchtoweapon("iw5_unarmeddetroit_nullattach"); + wait(0.1); + common_scripts\utility::flag_clear("lightning_on"); + thread maps\detroit_lighting::toggle_lighting_spot01_on_checkpoint(); + thread battle_chatter_off_both(); +} + +//Function Number: 24 +schoolfall_start() +{ + debug_start_common(); + level.player lightsetforplayer("city"); + maps\_utility::vision_set_fog_changes("detroit_city",0); + var_00 = getnode("school_fall_start","targetname"); + wait(0.05); + maps\_utility::teleport_player(var_00); +} + +//Function Number: 25 +handle_unarmed_viewbob() +{ + level.player endon("death"); + var_00 = getdvar("bg_viewBobAmplitudeStanding"); + var_01 = getdvar("bg_viewBobAmplitudeDucked"); + var_02 = getdvar("bg_viewBobMax"); + wait 0.05; + setsaveddvar("bg_viewBobAmplitudeStanding","0.005 0.01"); + setsaveddvar("bg_viewBobAmplitudeDucked","0.002 0.005"); + setsaveddvar("bg_viewBobMax",3); + level.player setbobrate(0.8); + level common_scripts\utility::waittill_any("player_no_longer_unarmed","weapon_take_no_longer_needed"); + setsaveddvar("bg_viewBobAmplitudeStanding",var_00); + setsaveddvar("bg_viewBobAmplitudeDucked",var_01); + setsaveddvar("bg_viewBobMax",var_02); + level.player setbobrate(1); +} + +//Function Number: 26 +debug_start_alleyway() +{ + level.player lightsetforplayer("city"); + maps\_utility::vision_set_fog_changes("detroit_city",0); + level.player setclutforplayer("clut_detroit_interior",0); + level.player maps\_stealth_utility::stealth_default(); + debug_start_common(); + soundscripts\_snd::snd_message("start_alleyway"); + street1_teleportplayer(); + street1_ingame(); + level.player takeallweapons(); + level.player giveweapon("iw5_hbra3_sp_opticstargetenhancer"); + level.player switchtoweapon("iw5_hbra3_sp_opticstargetenhancer"); + thread give_regular_grenades(); + var_00 = getglass("burke_street_glass"); + destroyglass(var_00); +} + +//Function Number: 27 +give_regular_grenades(param_00) +{ + if(isdefined(param_00)) + { + wait(param_00); + } + + maps\_variable_grenade::give_player_variable_grenade(); +} + +//Function Number: 28 +debug_start_nightclub() +{ + level.player lightsetforplayer("club"); + maps\_utility::vision_set_fog_changes("detroit_club",0); + level.player setclutforplayer("clut_detroit_exterior",0); + debug_start_common(); + level.burke maps\_utility::enable_careful(); + soundscripts\_snd::snd_message("start_office"); + var_00 = getnode("player_nightclub_start_inside","targetname"); + level.player maps\_utility::teleport_player(var_00); + wait(0.05); + var_01 = getnode("burke_path_onfoot_01a","targetname"); + level.burke maps\_utility::teleport_ai(var_01); + var_02 = getnode("burke_path_onfoot_01a","targetname"); + level.burke setgoalnode(var_02); + level.player takeallweapons(); + level.player giveweapon("iw5_hbra3_sp_opticstargetenhancer"); + level.player switchtoweapon("iw5_hbra3_sp_opticstargetenhancer"); + thread give_regular_grenades(); + level.burke.ignoreall = 0; +} + +//Function Number: 29 +debug_start_exopush() +{ + level.player lightsetforplayer("city"); + maps\_utility::vision_set_fog_changes("detroit_city_far_fog",0); + level.player setclutforplayer("clut_detroit_exterior",0); + debug_start_common(); + soundscripts\_snd::snd_message("start_exopush"); + thread give_regular_grenades(); + var_00 = getnode("player_exo_push_startnode","targetname"); + var_01 = getnode("burke_exo_push_startnode","targetname"); + var_02 = getnode("bones_supressed_outside_node","targetname"); + var_03 = getnode("joker_supressed_outside_node","targetname"); + level.burke maps\_utility::teleport_ai(var_01); + level.bones maps\_utility::teleport_ai(var_02); + level.joker maps\_utility::teleport_ai(var_03); + level.player maps\_utility::teleport_player(var_00); + level.player takeallweapons(); + level.player giveweapon("iw5_hbra3_sp_opticstargetenhancer"); + level.player switchtoweapon("iw5_hbra3_sp_opticstargetenhancer"); + thread maps\detroit_streets::preplaced_guys_function(); + thread maps\detroit_streets::begin_exo_push(1); + thread maps\detroit_streets::exo_push_combat_manager(); + thread maps\detroit_streets::new_kva_window_ambush(); + wait 0.05; + common_scripts\utility::flag_set("exo_push_spawner_scaffolding_trigger"); + common_scripts\utility::flag_set("vo_exo_push_start"); + common_scripts\utility::flag_set("flicker_street_lights"); + common_scripts\utility::flag_set("begin_spawning_troops_hospital"); +} + +//Function Number: 30 +debug_start_hospital() +{ + maps\_utility::vision_set_fog_changes("detroit_city_far_fog",0); + level.player lightsetforplayer("city"); + level.player setclutforplayer("clut_detroit_exterior",0); + debug_start_common(); + common_scripts\utility::flag_set("exo_push_arrived"); + soundscripts\_snd::snd_message("start_hospital"); + level.player takeallweapons(); + level.player giveweapon("iw5_hbra3_sp_opticstargetenhancer"); + level.player switchtoweapon("iw5_hbra3_sp_opticstargetenhancer"); + thread give_regular_grenades(); + var_00 = getnode("player_hospital_start","targetname"); + var_01 = getnode("burke_hospital","targetname"); + var_02 = getnode("joker_hospital","targetname"); + var_03 = getnode("bones_hospital","targetname"); + wait(0.05); + level.burke thread maps\_utility::teleport_ai(var_01); + level.joker thread maps\_utility::teleport_ai(var_02); + level.bones thread maps\_utility::teleport_ai(var_03); + level.player thread maps\_utility::teleport_player(var_00); + level.burke.ignoreall = 1; + level.bones.ignoreall = 1; + level.joker.ignoreall = 1; + thread maps\detroit_hospital::setup_hospital(); + maps\_utility::activate_trigger_with_targetname("team_move_hospital"); +} + +//Function Number: 31 +debug_start_hospital_capture() +{ + debug_start_common(); + soundscripts\_snd::snd_message("start_hospital_capture_animation"); + maps\_utility::vision_set_fog_changes("detroit_hospital_top",0); + level.player lightsetforplayer("hospital"); + level.player takeallweapons(); + level.player giveweapon("iw5_hbra3_sp_opticstargetenhancer"); + level.player switchtoweapon("iw5_hbra3_sp_opticstargetenhancer"); + thread give_regular_grenades(); + var_00 = getnode("hide_node_2","targetname"); + var_01 = getnode("burke_spot_3_hospital","targetname"); + var_02 = getnode("joker_spot_3_hospital","targetname"); + var_03 = getnode("bones_spot_3_hospital","targetname"); + wait(0.05); + common_scripts\utility::flag_set("obj_capture_doctor_pos_stairs"); + common_scripts\utility::flag_set("obj_capture_doctor_pos_2nd_floor"); + common_scripts\utility::flag_set("obj_capture_doctor_pos_doctor"); + common_scripts\utility::flag_set("doctor_inside_office_now"); + level.burke thread maps\_utility::teleport_ai(var_01); + level.joker thread maps\_utility::teleport_ai(var_02); + level.bones thread maps\_utility::teleport_ai(var_03); + level.player thread maps\_utility::teleport_player(var_00); + level.burke.ignoreall = 1; + level.bones.ignoreall = 1; + level.joker.ignoreall = 1; + wait(0.5); + thread maps\detroit_hospital::doctor_capture_new_breach_doctor_takedown(); +} + +//Function Number: 32 +debug_start_sentinel_reveal() +{ + maps\_utility::vision_set_fog_changes("detroit_city_top",0); + level.player lightsetforplayer("city_dark"); + level.player setclutforplayer("clut_detroit_hospital",0); + debug_start_common(); + soundscripts\_snd::snd_message("start_sentinel_reveal"); + level.player takeallweapons(); + level.player giveweapon("iw5_hbra3_sp_opticstargetenhancer"); + level.player switchtoweapon("iw5_hbra3_sp_opticstargetenhancer"); + thread give_regular_grenades(); + var_00 = getnode("player_sentinel_start","targetname"); + var_01 = getnode("burke_post_before_sentinel_room","targetname"); + var_02 = getnode("joker_spot_3_hospital","targetname"); + var_03 = getnode("bones_spot_3_hospital","targetname"); + var_04 = getnode("bones_guard_doctor_node","targetname"); + var_05 = getnode("joker_and_doctor_debug_node","targetname"); + var_06 = getnode("joker_escape_location","targetname"); + wait(0.05); + level.burke thread maps\_utility::teleport_ai(var_01); + level.joker thread maps\_utility::teleport_ai(var_02); + level.bones thread maps\_utility::teleport_ai(var_03); + level.player thread maps\_utility::teleport_player(var_00); + spawn_doctor(); + level.doctor thread maps\detroit_hospital::mission_fail_on_dead(); + level.burke.ignoreall = 1; + level.bones.ignoreall = 1; + level.joker.ignoreall = 1; + common_scripts\utility::flag_set("obj_capture_doctor_pos_stairs"); + common_scripts\utility::flag_set("obj_capture_doctor_pos_2nd_floor"); + common_scripts\utility::flag_set("obj_capture_doctor_pos_doctor"); + common_scripts\utility::flag_set("doctor_inside_office_now"); + common_scripts\utility::flag_set("obj_capture_doctor_pos_doctor_breached"); + common_scripts\utility::flag_set("send_burke_to_stairs_waitpoint"); + common_scripts\utility::flag_set("send_burke_to_railway_half"); + common_scripts\utility::flag_set("send_burke_fully_across"); + common_scripts\utility::flag_set("make_burke_anim_reach_sentinel"); + common_scripts\utility::flag_set("let_burke_reach_sentinel_reveal"); + common_scripts\utility::flag_set("capture_start"); + common_scripts\utility::flag_set("obj_capture_doctor_complete"); + common_scripts\utility::flag_set("obj_escape_detroit_give"); + wait(0.5); + thread maps\detroit_hospital::burke_pre_sentinel_kva_reveal(); + level.bones setgoalnode(var_04); + thread maps\detroit_lighting::jetbike_exit_pre_mount_lighting(); + common_scripts\utility::flag_set("start_exit_trains"); + var_07 = getent("breach_clip","targetname"); + var_07 delete(); + var_08 = getent("dr_pickup_placed_org","targetname"); + var_09 = getnode("joker_with_doctor_waitnode","targetname"); + maps\detroit_hospital::doctor_capture_doctor_carry(var_08,"reveal_the_sentinels",var_09); +} + +//Function Number: 33 +debug_start_exit_drive() +{ + level.player lightsetforplayer("city"); + maps\_utility::vision_set_fog_changes("detroit_city_fog_close",0); + level.player setclutforplayer("clut_detroit_exterior",0); + debug_start_common(); + level.player takeallweapons(); + level.player giveweapon("iw5_hbra3_sp_opticstargetenhancer"); + level.player switchtoweapon("iw5_hbra3_sp_opticstargetenhancer"); + thread give_regular_grenades(); + soundscripts\_snd::snd_message("start_exit_drive"); + var_00 = getent("player_spawn_exitdrive","targetname"); + var_01 = getent("burke_spawn_exitdrive","targetname"); + var_02 = getent("joker_spawn_exitdrive","targetname"); + var_03 = getent("bones_spawn_exitdrive","targetname"); + wait(0.05); + level.burke thread maps\_utility::teleport_ent(var_01); + level.joker thread maps\_utility::teleport_ent(var_02); + level.bones thread maps\_utility::teleport_ent(var_03); + level.player thread maps\_utility::teleport_player(var_00); + spawn_doctor(); + thread maps\detroit_lighting::jetbike_exit_pre_mount_lighting(); + common_scripts\utility::flag_set("obj_capture_doctor_pos_stairs"); + common_scripts\utility::flag_set("obj_capture_doctor_pos_2nd_floor"); + common_scripts\utility::flag_set("obj_capture_doctor_pos_doctor"); + common_scripts\utility::flag_set("doctor_inside_office_now"); + common_scripts\utility::flag_set("obj_capture_doctor_pos_doctor_breached"); + common_scripts\utility::flag_set("send_burke_to_stairs_waitpoint"); + common_scripts\utility::flag_set("send_burke_to_railway_half"); + common_scripts\utility::flag_set("send_burke_fully_across"); + common_scripts\utility::flag_set("make_burke_anim_reach_sentinel"); + common_scripts\utility::flag_set("let_burke_reach_sentinel_reveal"); + common_scripts\utility::flag_set("capture_start"); + common_scripts\utility::flag_set("obj_capture_doctor_complete"); + common_scripts\utility::flag_set("obj_escape_detroit_give"); + common_scripts\utility::flag_set("onfoot_segment_complete"); + common_scripts\utility::flag_set("exit_drive_cinematic_start"); +} + +//Function Number: 34 +debug_start_exit_drive_end() +{ + level.player lightsetforplayer("jetbike_gate"); + maps\_utility::vision_set_fog_changes("detroit_jetbike_end",0); + level.player setclutforplayer("clut_detroit_exterior",0); + debug_start_common(); + common_scripts\utility::flag_set("onfoot_segment_complete"); + common_scripts\utility::flag_set("exit_drive_cinematic_start"); + level.final_scripted_chopper = maps\_vehicle::spawn_vehicle_from_targetname("exitdrive_chopper_final"); + spawn_doctor(); + common_scripts\utility::flag_set("exit_drive_started"); + common_scripts\utility::flag_set("exitdrive_ending_approach"); + waittillframeend; + level.jetbike attach(level.scr_model["world_body"],"tag_driver"); + level.player mountvehicle(level.jetbike); + common_scripts\utility::flag_set("exit_drive_ending_begin_player"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + } +} + +//Function Number: 35 +debug_start_demo_with_itiot() +{ + thread itiot_logic("obj_reunite_with_burke_give","school_wall_grab"); + if(isdefined(level.introscreen) && isdefined(level.introscreen.customfunc)) + { + thread [[ level.introscreen.customfunc ]](); + } + + start_refugee_camp(); +} + +//Function Number: 36 +gideon_turntable_demo() +{ + level.player lerpfov(50,1); + level.player.auxillary_hud = newclienthudelem(level.player); + level.player.auxillary_hud setshader("black",1280,720); + level.player.auxillary_hud.horzalign = "fullscreen"; + level.player.auxillary_hud.vertalign = "fullscreen"; + level.player.auxillary_hud.alpha = 0; + level.player.auxillary_hud.alpha = 1; + level.player.auxillary_hud.foreground = 1; + level.player lerpfov(50,1); + level.player maps\_shg_utility::setup_player_for_scene(); + var_00 = getent("burke_turntable_animorg","targetname"); + var_01 = maps\_utility::spawn_anim_model("world_body"); + level.burke = maps\_utility::spawn_targetname("burke_spawner",1); + level.burke.animname = "burke"; + level.burke maps\_utility::forceuseweapon("iw5_bal27_sp_silencer01_variablereddot","primary"); + level.player playerlinktodelta(var_01,"tag_player",1,0,0,0,0,1); + var_00 thread maps\_anim::anim_loop_solo(level.burke,"burke_turntable"); + var_00 thread maps\_anim::anim_loop_solo(var_01,"player_turntable"); + setsaveddvar("objectiveHide","1"); + setsaveddvar("g_friendlyNameDist",0); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",1); + setsaveddvar("r_mbEnable","2"); + } + + wait(0.5); + level.player.auxillary_hud.alpha = 1; + level.player.auxillary_hud fadeovertime(0.5); + level.player.auxillary_hud.alpha = 0; + level.player.auxillary_hud.foreground = 0; +} + +//Function Number: 37 +debug_start_common() +{ + setup_team(); +} + +//Function Number: 38 +street1_teleportplayer() +{ + level.player lightsetforplayer("city"); + maps\_utility::vision_set_fog_changes("detroit_city_fog",0); + var_00 = getent("player_start_school_ext","targetname"); + level.player maps\_utility::teleport_player(var_00); +} + +//Function Number: 39 +street1_ingame() +{ + thread maps\detroit_streets::onfoot_start_alley_setup(); +} + +//Function Number: 40 +hasmat_kva_move_in() +{ + var_00 = getent("bridge_mid_vol","targetname"); + foreach(var_02 in level.bridge_kva_hasmat) + { + if(isalive(var_02)) + { + var_02 setgoalvolumeauto(var_00); + } + + wait(0.05); + } +} + +//Function Number: 41 +setup_cleanup_vehicle() +{ + self.sirentag = common_scripts\utility::spawn_tag_origin(); + self.sirentag.origin = self.origin + (0,0,96); + self.sirentag linkto(self,"tag_origin"); + playfxontag(common_scripts\utility::getfx("caution_light_01"),self.sirentag,"tag_origin"); + self waittill("death"); + stopfxontag(common_scripts\utility::getfx("caution_light_01"),self.sirentag,"tag_origin"); +} + +//Function Number: 42 +burke_advance() +{ + maps\_utility::trigger_wait_targetname("Burke_nightclub_advance"); + var_00 = getnode("burke_advanced","targetname"); + level.burke setgoalnode(var_00); + wait(6); + if(common_scripts\utility::flag("burke_nightclub_advance")) + { + return; + } + + var_00 = getnode("burke_advanced_2","targetname"); + level.burke setgoalnode(var_00); +} + +//Function Number: 43 +spawn_guy_and_firstframe(param_00,param_01,param_02,param_03) +{ + var_04 = param_01 maps\_utility::spawn_ai(1); + var_04.animname = "generic"; + var_04 teleport(param_00.origin,param_00.angles); + var_04 thread maps\_anim::anim_generic_first_frame(var_04,param_00.animation); + if(!isdefined(param_02)) + { + return var_04; + } + + var_04 thread play_anim_on_trigger(param_00.animation,param_02,param_03); + return var_04; +} + +//Function Number: 44 +play_anim_on_trigger(param_00,param_01,param_02) +{ + maps\_shg_design_tools::waittill_trigger_with_name(param_01); + if(isdefined(param_02)) + { + wait(param_02); + } + + thread maps\_anim::anim_generic(self,param_00); + level notify("scripted_anim_begun"); +} + +//Function Number: 45 +form_patrol_group(param_00) +{ + foreach(var_02 in param_00) + { + var_02 thread monitor_alerted(param_00); + } +} + +//Function Number: 46 +monitor_alerted(param_00) +{ + common_scripts\utility::waittill_any("alert","damage","death"); + foreach(var_02 in param_00) + { + if(isdefined(var_02) && var_02 != self) + { + var_02 notify("alert"); + } + } +} + +//Function Number: 47 +delete_me_in(param_00) +{ + wait(param_00); + self delete(); +} + +//Function Number: 48 +delete_this_on_death(param_00) +{ + self waittill("death"); + param_00 delete(); +} + +//Function Number: 49 +setup_player() +{ + if(!level.give_player_flashlight) + { + } +} + +//Function Number: 50 +force_patrol_anim_set(param_00,param_01,param_02) +{ + maps\_patrol_extended::force_patrol_anim_set(param_00,param_01,0,param_02); +} + +//Function Number: 51 +disable_grenades() +{ + if(isdefined(self.grenadeammo) && !isdefined(self.oldgrenadeammo)) + { + self.oldgrenadeammo = self.grenadeammo; + } + + self.grenadeammo = 0; +} + +//Function Number: 52 +enable_grenades() +{ + if(isdefined(self.oldgrenadeammo)) + { + self.grenadeammo = self.oldgrenadeammo; + self.oldgrenadeammo = undefined; + } +} + +//Function Number: 53 +goto_node(param_00,param_01,param_02) +{ + self endon("stop_goto_node"); + if(!isdefined(param_02)) + { + param_02 = 16; + } + + maps\_utility::set_goal_radius(param_02); + if(isstring(param_00)) + { + var_03 = getnode(param_00,"script_noteworthy"); + } + else + { + var_03 = param_01; + } + + if(isdefined(var_03)) + { + maps\_utility::set_goal_node(var_03); + } + else + { + var_03 = common_scripts\utility::getstruct(param_00,"script_noteworthy"); + maps\_utility::set_goal_pos(var_03.origin); + } + + if(param_01) + { + self waittill("goal"); + } +} + +//Function Number: 54 +setup_portal_scripting() +{ + if(level.start_point != "exit_drive_end") + { + thread maps\_shg_utility::portal_group_on("portal_grp_gate_on","portal_grp_gate"); + } +} + +//Function Number: 55 +bloody_death(param_00) +{ + self endon("death"); + if(!issentient(self) || !isalive(self)) + { + return; + } + + if(isdefined(self.bloody_death) && self.bloody_death) + { + return; + } + + self.bloody_death = 1; + if(isdefined(param_00)) + { + wait(randomfloat(param_00)); + } + + var_01 = []; + var_01[0] = "j_hip_le"; + var_01[1] = "j_hip_ri"; + var_01[2] = "j_head"; + var_01[3] = "j_spine4"; + var_01[4] = "j_elbow_le"; + var_01[5] = "j_elbow_ri"; + var_01[6] = "j_clavicle_le"; + var_01[7] = "j_clavicle_ri"; + for(var_02 = 0;var_02 < 3 + randomint(5);var_02++) + { + var_03 = randomintrange(0,var_01.size); + thread bloody_death_fx(var_01[var_03],undefined); + wait(randomfloat(0.1)); + } + + self dodamage(self.health + 50,self.origin); +} + +//Function Number: 56 +bloody_death_fx(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = level._effect["flesh_hit"]; + } + + playfxontag(param_01,self,param_00); +} + +//Function Number: 57 +battle_chatter_on_both() +{ + level endon("kill_battle_silence"); + var_00 = 0; + level notify("kill_battle_chatter"); + maps\_utility::battlechatter_on("allies"); + maps\_utility::battlechatter_on("axis"); + while(var_00 == 1) + { + wait(0.05); + } +} + +//Function Number: 58 +battle_chatter_off_both() +{ + level endon("kill_battle_chatter"); + var_00 = 0; + level notify("kill_battle_silence"); + maps\_utility::battlechatter_off("allies"); + maps\_utility::battlechatter_off("axis"); + while(var_00 == 1) + { + wait(0.05); + } +} + +//Function Number: 59 +hud_off() +{ + setsaveddvar("compass","0"); + setsaveddvar("ammoCounterHide","1"); + setsaveddvar("hud_showstance","0"); + setsaveddvar("actionSlotsHide","1"); +} + +//Function Number: 60 +hud_on() +{ + setsaveddvar("compass","1"); + setsaveddvar("ammoCounterHide","0"); + setsaveddvar("hud_showstance","1"); + setsaveddvar("actionSlotsHide","0"); +} + +//Function Number: 61 +player_health_current() +{ + level.player endon("death"); + var_00 = 0; + while(var_00 == 1) + { + wait(0.05); + } +} + +//Function Number: 62 +itiot_logic(param_00,param_01) +{ + common_scripts\utility::flag_wait(param_00); + setdvar("demo_itiot","1"); + soundscripts\_snd::snd_message("e3_demo_fade_out"); + level.player.auxillary_hud = newclienthudelem(level.player); + level.player.auxillary_hud setshader("black",1280,720); + level.player.auxillary_hud.horzalign = "fullscreen"; + level.player.auxillary_hud.vertalign = "fullscreen"; + level.player.auxillary_hud.alpha = 0; + level.player.auxillary_hud fadeovertime(0.5); + level.player.auxillary_hud.alpha = 1; + level.player.auxillary_hud.foreground = 1; + setsaveddvar("objectiveHide","1"); + wait(0.5); + level.player disableweapons(); + level.player.auxillary_hud.foreground = 0; + wait(7); + var_02 = getnode("guy2_hide_spot","targetname"); + level.player maps\_utility::teleport_player(var_02); + soundscripts\_snd::snd_message("e3_demo_clear_basement_footsteps"); + soundscripts\_snd::snd_message("e3_demo_fade_in"); + level.player.auxillary_hud.alpha = 1; + level.player.auxillary_hud fadeovertime(0.5); + level.player.auxillary_hud.alpha = 0; + level.player.auxillary_hud.foreground = 0; + setsaveddvar("objectiveHide","0"); + level.player enableweapons(); + level.player allowsprint(0); + level.player takeallweapons(); + level.player giveweapon("iw5_unarmeddetroit_nullattach"); + level.player switchtoweapon("iw5_unarmeddetroit_nullattach"); +} + +//Function Number: 63 +controller_rumble_heavy0() +{ + level.player playrumbleonentity("damage_heavy"); +} + +//Function Number: 64 +controller_rumble_heavy1() +{ + level.player playrumbleonentity("heavy_1s"); +} + +//Function Number: 65 +controller_rumble_heavy2() +{ + level.player playrumbleonentity("heavy_2s"); +} + +//Function Number: 66 +controller_rumble_heavy3() +{ + level.player playrumbleonentity("heavy_3s"); +} + +//Function Number: 67 +controller_rumble_light0() +{ + level.player playrumbleonentity("damage_light"); +} + +//Function Number: 68 +controller_rumble_light1() +{ + level.player playrumbleonentity("light_1s"); +} + +//Function Number: 69 +controller_rumble_light2() +{ + level.player playrumbleonentity("light_2s"); +} + +//Function Number: 70 +controller_rumble_light3() +{ + level.player playrumbleonentity("light_3s"); +} + +//Function Number: 71 +spawn_doctor() +{ + var_00 = getent("doctor_kva","targetname"); + var_00.count = 1; + level.doctor = var_00 maps\_utility::spawn_ai(1,1); + wait 0.05; + level.doctor.ignoresonicaoe = 1; + level.doctor.animname = "doctor"; + level.doctor.name = "Doctor"; + level.doctor maps\_utility::disable_surprise(); + level.doctor maps\_utility::disable_pain(); + level.doctor maps\_utility::disable_bulletwhizbyreaction(); + level.doctor setlookattext("Doctor",&""); +} \ No newline at end of file diff --git a/AW/PC/maps/detroit_anim.gsc b/AW/PC/maps/detroit_anim.gsc new file mode 100644 index 0000000..63bdb7f --- /dev/null +++ b/AW/PC/maps/detroit_anim.gsc @@ -0,0 +1,1083 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: detroit_anim.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 39 + * Decompile Time: 596 ms + * Timestamp: 4/22/2024 2:27:32 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.transient_zone = ""; + level.cg_noterack_delay_count = 0; + if(level.currentgen) + { + if(istransientloaded("detroit_intro_tr")) + { + level.transient_zone = "intro"; + } + else if(istransientloaded("detroit_middle_tr")) + { + level.transient_zone = "middle"; + } + + if(istransientloaded("detroit_gatetrans_tr")) + { + level.transient_zone = level.transient_zone + "_gate"; + } + else if(istransientloaded("detroit_school_interior_tr")) + { + level.transient_zone = level.transient_zone + "_school"; + } + else if(istransientloaded("detroit_nightclub_interior_tr")) + { + level.transient_zone = level.transient_zone + "_nightclub"; + } + else if(istransientloaded("detroit_hospital_interior_tr")) + { + level.transient_zone = level.transient_zone + "_hospital"; + } + else if(istransientloaded("detroit_outro_tr")) + { + level.transient_zone = level.transient_zone + "_outro"; + } + } + + if(level.nextgen) + { + anim.forced_s1_motionset = 1; + } + + aftermath_anims(); + civilian_anims(); + vehicle_anims_toload(); + dog_anims_toload(); + player_anims_toload(); + script_model_anims(); + destructible_anims(); + if(level.currentgen) + { + thread setup_outro_notetracks(); + thread setup_middle_notetracks(); + thread setup_school_notetracks(); + thread setup_nightclub_notetracks(); + thread setup_hospital_notetracks(); + } +} + +//Function Number: 2 +cg_gate_anim_notetrack_load_stall() +{ + if(level.cg_noterack_delay_count < 1) + { + level waittill("tff_post_gatetrans_entry"); + maps\_anim::addnotetrack_customfunction("burke","burke_hoverbike_land",::maps\detroit_fx::det_hoverbike_shutdown_burke,"hoverbike_meet_up"); + maps\_anim::addnotetrack_customfunction("burke","burke_hoverbike_lift",::maps\detroit_fx::det_hoverbike_startup_burke,"hoverbike_meet_up"); + maps\_anim::addnotetrack_customfunction("mech1","mech_scanner",::maps\detroit_fx::det_mech_scanner_fx,"hoverbike_meet_up"); + maps\_anim::addnotetrack_customfunction("entrance_gate","gate_open",::maps\detroit_lighting::gate_lights_off_toggle_on,"hoverbike_meet_up"); + maps\_anim::addnotetrack_customfunction("entrance_gate","gate_open",::maps\detroit_fx::gate_open_rain_fall_fx,"hoverbike_meet_up"); + maps\_anim::addnotetrack_customfunction("entrance_gate","gate_open",::maps\_utility::tff_sync_notetrack,"hoverbike_meet_up"); + } +} + +//Function Number: 3 +setup_outro_notetracks() +{ + level waittill("tff_post_remove_hospital_add_exit"); + maps\_anim::addnotetrack_customfunction("littlebird","heli_shot",::maps\detroit_fx::det_helicopter_shot,"det_exit_drive_ending"); + maps\_anim::addnotetrack_customfunction("littlebird","heli_impact",::maps\detroit_fx::det_helicopter_explo,"det_exit_drive_ending"); + maps\_anim::addnotetrack_customfunction("joker_bike","hoverbike_fx1",::maps\detroit_fx::det_joker_bike_end_fx,"det_exit_drive_ending"); + maps\_anim::addnotetrack_customfunction("bones_bike","hoverbike_fx2",::maps\detroit_fx::det_bones_bike_end_fx,"det_exit_drive_ending"); + maps\_anim::addnotetrack_notify("world_body","spotlight_off","detroit_final_chopper_hit","det_exit_drive_ending"); + maps\_anim::addnotetrack_notify("world_body","detroit_final_VO","detroit_ending_VO","det_exit_drive_ending"); + maps\_anim::addnotetrack_notify("world_body","fadeout","detroit_level_fadeout","det_exit_drive_ending"); +} + +//Function Number: 4 +setup_middle_notetracks() +{ + if(level.transient_zone == "middle") + { + return; + } + + level waittill("tff_post_intro_to_middle"); + maps\_anim::addnotetrack_customfunction("burke","finish",::begin_stealth_walk,"dismount_rollout"); + maps\_anim::addnotetrack_customfunction("world_body","fovchange",::change_fov_back_to_65,"bike_dismount"); + maps\_anim::addnotetrack_customfunction("world_body","playerbikevmswitch",::player_bike_to_ai_model,"bike_dismount"); + maps\_anim::addnotetrack_notify("world_body","off_button","intro_drive_off_button_pressed","bike_dismount"); +} + +//Function Number: 5 +setup_school_notetracks() +{ + if(issubstr(level.transient_zone,"_school")) + { + return; + } + + level waittill("tff_post_middle_add_school"); + maps\_anim::addnotetrack_customfunction("world_body","fall_school_int",::maps\detroit_fx::det_fall_through_ceiling,"school_fall"); + maps\_anim::addnotetrack_customfunction("generic","helmet_swap",::helmet_swap,"wall_pull"); + maps\_anim::addnotetrack_customfunction("generic","helmet_swap",::maps\detroit_fx::det_helmet_smash_fx,"wall_pull"); + maps\_anim::addnotetrack_customfunction("generic","stab",::maps\detroit_fx::det_knife_stab_fx,"wall_pull"); + maps\_anim::addnotetrack_customfunction("generic","Knife_fx",::maps\detroit_fx::det_knife_pull,"wall_pull"); + maps\_anim::addnotetrack_customfunction("world_body","weapon_up",::give_weapon_knife,"wall_pull"); + maps\_anim::addnotetrack_customfunction("world_body","slowmo_start",::begin_wallpull_slowmo,"wall_pull"); +} + +//Function Number: 6 +setup_nightclub_notetracks() +{ + if(issubstr(level.transient_zone,"_nightclub")) + { + return; + } + + level waittill("tff_post_middle_add_nightclub"); +} + +//Function Number: 7 +setup_hospital_notetracks() +{ + if(issubstr(level.transient_zone,"_hospital")) + { + return; + } + + level waittill("tff_post_middle_add_hospital"); + maps\_anim::addnotetrack_customfunction("guy1","decloak_1",::sentinel_reveal_guy1_decloak,"sentinel_kva_reveal"); + maps\_anim::addnotetrack_customfunction("guy2","decloak_2",::sentinel_reveal_guy2_decloak,"sentinel_kva_reveal"); + maps\_anim::addnotetrack_customfunction("guy3","decloak_3",::sentinel_reveal_guy3_decloak,"sentinel_kva_reveal"); + maps\_anim::addnotetrack_customfunction("generic","hadoken",::hospital_breach_punch,"det_hos_breach_success_guy4"); + maps\_anim::addnotetrack_customfunction("world_body","slowmo_start",::hospital_slowmo_start,"det_hos_breach_vm"); + maps\_anim::addnotetrack_customfunction("shelf","shelf_papers",::maps\detroit_fx::det_shelf_papers_fx,"det_hos_breach_success_shelf01"); + maps\_anim::addnotetrack_customfunction("doctor","swap_bag_head",::doc_capture_headswap,"carry_doc_lift"); + maps\_anim::addnotetrack_customfunction("capture_bag","spawn_bag",::doc_capture_bagspawn,"doctor_capture"); +} + +//Function Number: 8 +aftermath_anims() +{ + level.scr_anim["burke"]["burke_turntable"][0] = %edge_walk_gideon; + level.scr_anim["burke"]["det_casual_gestures_l_shakehead_burke"] = %det_casual_gestures_l_shakehead_burke; + level.scr_anim["burke"]["det_casual_gestures_r_alt_look_burke"] = %det_casual_gestures_r_alt_look_burke; + level.scr_anim["joker"]["det_casual_gestures_r_looklow_joker"] = %det_casual_gestures_r_looklow_joker; + level.scr_anim["burke"]["hoverbike_pre_mount"][0] = %det_motorpool_meet_up_idle_burke; + level.scr_anim["joker"]["hoverbike_pre_mount"][0] = %det_motorpool_meet_up_idle_joker; + level.scr_anim["bones"]["hoverbike_pre_mount"][0] = %det_motorpool_meet_up_idle_bones; + level.scr_anim["burke"]["hoverbike_mount"] = %det_hoverbike_mount_burke; + maps\_anim::addnotetrack_customfunction("burke","hoverbike_start_1",::maps\detroit_fx::det_hoverbike_mount_burke,"hoverbike_mount"); + level.scr_anim["joker"]["hoverbike_mount"] = %det_hoverbike_mount_joker; + level.scr_anim["bones"]["hoverbike_mount"] = %det_hoverbike_mount_bones; + level.scr_anim["burke"]["hoverbike_meet_up"] = %det_motorpool_meet_up_burke; + if(level.nextgen) + { + maps\_anim::addnotetrack_customfunction("burke","burke_hoverbike_land",::maps\detroit_fx::det_hoverbike_shutdown_burke,"hoverbike_meet_up"); + maps\_anim::addnotetrack_customfunction("burke","burke_hoverbike_lift",::maps\detroit_fx::det_hoverbike_startup_burke,"hoverbike_meet_up"); + } + else if(level.currentgen && level.transient_zone == "intro") + { + thread cg_gate_anim_notetrack_load_stall(); + level.cg_noterack_delay_count = level.cg_noterack_delay_count + 1; + } + + level.scr_anim["bones"]["hoverbike_meet_up"] = %det_motorpool_meet_up_joker; + level.scr_anim["joker"]["hoverbike_meet_up"] = %det_motorpool_meet_up_bones; + level.scr_anim["mech1"]["hoverbike_meet_up"] = %det_motorpool_meet_up_mech1; + if(level.nextgen) + { + maps\_anim::addnotetrack_customfunction("mech1","mech_scanner",::maps\detroit_fx::det_mech_scanner_fx,"hoverbike_meet_up"); + } + else if(level.currentgen && level.transient_zone == "intro") + { + thread cg_gate_anim_notetrack_load_stall(); + level.cg_noterack_delay_count = level.cg_noterack_delay_count + 1; + } + + level.scr_anim["mech2"]["hoverbike_meet_up"] = %det_motorpool_meet_up_mech2; + level.scr_anim["burke"]["burke_wall_walk"] = %det_school_fall_guy1; + level.scr_anim["burke"]["burke_shimmey_wait_idle"][0] = %det_school_fall_wait_idle_guy1; + level.scr_anim["burke"]["burke_shimmey_wait_idle_out"] = %det_school_fall_wait_2_idle_guy1; + level.scr_anim["burke"]["burke_wall_walk_idle"][0] = %det_school_fall_idle_guy1; + level.scr_anim["burke"]["school_fall"] = %det_school_fall_guy1_pt2; + level.scr_anim["burke"]["breach_react_blowback_v3"] = %breach_react_blowback_v3; + level.scr_anim["burke"]["grenade"] = %exposed_grenadethrowb; + level.scr_anim["burke"]["school_stair_walk"] = %det_school_gate_peek_burke; + level.scr_anim["burke"]["wall_stack_idle"][0] = %africa_stack_on_wall_idle; + level.scr_anim["burke"]["wait_by_door"] = [%det_school_enter_pt1_idle_burke]; + level.scr_anim["burke"]["go_into_deadroom"] = %det_school_enter_pt2_burke; + level.scr_anim["burke"]["deadroom_idle"][0] = %det_school_enter_pt2_idle_burke; + level.scr_anim["generic"]["touch_dead_npc"] = %det_school_enter_pt2_npc_dead_01; + level.scr_anim["burke"]["burke_school_approach"] = %det_school_wall_burke_schoolapproach; + level.scr_anim["burke"]["burke_school_approach_into"] = %det_school_wall_burke_schoolapproach_into; + level.scr_anim["burke"]["burke_school_approach_idle"][0] = %det_school_wall_burke_schoolapproach_idle; + level.scr_anim["burke"]["burke_school_approach_out"] = %det_school_wall_burke_schoolapproach_out; + level.scr_anim["burke"]["burke_wall_wait_into"] = %det_school_wall_burke_idle_into; + level.scr_anim["burke"]["burke_wall_wait_idle"][0] = %det_school_wall_burke_idle; + level.scr_anim["burke"]["burke_wall_wait_out"] = %det_school_wall_burke_idle_out; + level.scr_anim["burke"]["burke_goto_trash"] = %det_school_wall_burke_pt1; + level.scr_anim["burke"]["burke_goto_school"] = %det_school_wall_burke_pt2; + level.scr_anim["burke"]["burke_stairs_idle"][0] = %det_school_wall_burke_pt2_idle; + level.scr_anim["burke"]["burke_goto_corner"] = %det_school_enter_pt1_beforecorner_burke; + level.scr_anim["burke"]["burke_corner_idle"][0] = %det_school_enter_pt1_corner_idle_burke; + level.scr_anim["burke"]["burke_goto_bodies"] = %det_school_enter_pt1_aftercorner_burke; + level.scr_anim["burke"]["burke_corner_left_idle"][0] = %det_corner_check_left_loop; + level.scr_anim["burke"]["burke_stairs_idle_inside"][0] = %det_school_gate_peek_crouch_idle_loop_burke; + level.scr_anim["burke"]["level_intro_cinematic"] = %det_camp_intro_burke; + level.scr_anim["joker"]["level_intro_cinematic"] = %det_camp_intro_joker; + level.scr_anim["intro_guy1"]["level_intro_cinematic"] = %det_camp_intro_guy1; + level.scr_anim["intro_guy2"]["level_intro_cinematic"] = %det_camp_intro_guy2; + level.scr_anim["intro_guy3"]["level_intro_cinematic"] = %det_camp_intro_guy3; + level.scr_anim["intro_guy3"]["post_level_intro_cinematic_idle"][0] = %det_camp_intro_idle_guy3; + level.scr_anim["burke"]["exit_burke"] = %det_school_enter_pt3_exit_burke; + level.scr_anim["bones"]["corner_standr_trans_cqb_in_1"] = %corner_standr_trans_cqb_in_1; + level.scr_anim["bones"]["london_fence_drop"] = %london_fence_drop; + level.scr_anim["joker"]["africa_stack_on_wall_idle"] = %africa_stack_on_wall_idle; + level.scr_anim["joker"]["london_fence_drop"] = %london_fence_drop; + level.scr_anim["doctor"]["research"][0] = %hijack_intro_worker_checklist_loop; + level.scr_anim["doctor"]["run_away"][0] = %civilian_run_upright; + level.scr_anim["doctor"]["run_away_reaction"] = %run_react_stumble_non_loop; + level.scr_anim["burke"]["bike_dismount"] = %det_school_splitup_burke_pt1; + level.scr_anim["bones"]["bike_dismount"] = %det_school_splitup_bones; + level.scr_anim["joker"]["bike_dismount"] = %det_school_splitup_joker; + level.scr_anim["burke"]["dismount_idle"][0] = %det_school_splitup_burke_idle; + level.scr_anim["burke"]["dismount_rollout"] = %det_school_splitup_burke_pt2; + level.scr_anim["burke"]["sentinel_reveal"] = %det_meeting_sentinel_burke_part1; + level.scr_anim["doctor"]["sentinel_reveal"] = %det_meeting_sentinel_doc_part1; + level.scr_anim["joker"]["sentinel_reveal"] = %det_meeting_sentinel_joker_part1; + level.scr_anim["burke"]["sentinel_kva_reveal"] = %det_hos_sent_meet_burke; + level.scr_anim["joker"]["sentinel_kva_reveal"] = %det_hos_sent_meet_joker; + level.scr_anim["guy1"]["sentinel_kva_reveal"] = %det_hos_sent_meet_guy1; + level.scr_anim["guy2"]["sentinel_kva_reveal"] = %det_hos_sent_meet_guy2; + level.scr_anim["guy3"]["sentinel_kva_reveal"] = %det_hos_sent_meet_guy3; + level.scr_anim["guy1"]["sentinel_kva_reveal_idle"][0] = %det_hos_sent_meet_idle_guy1; + level.scr_anim["guy2"]["sentinel_kva_reveal_idle"][0] = %det_hos_sent_meet_idle_guy2; + level.scr_anim["guy3"]["sentinel_kva_reveal_idle"][0] = %det_hos_sent_meet_idle_guy3; + level.scr_anim["kva1"]["sentinel_kva_reveal"] = %det_hos_sent_meet_kva1; + maps\_anim::addnotetrack_customfunction("kva1","fx_blood01",::maps\detroit_fx::det_blood_impact_burst01,"sentinel_kva_reveal"); + level.scr_anim["kva2"]["sentinel_kva_reveal"] = %det_hos_sent_meet_kva2; + maps\_anim::addnotetrack_customfunction("kva2","fx_blood02",::maps\detroit_fx::det_blood_impact_burst02,"sentinel_kva_reveal"); + level.scr_anim["kva3"]["sentinel_kva_reveal"] = %det_hos_sent_meet_kva3; + maps\_anim::addnotetrack_customfunction("kva3","fx_blood03",::maps\detroit_fx::det_blood_impact_burst03,"sentinel_kva_reveal"); + maps\_anim::addnotetrack_customfunction("world_body","slowMo_start",::sentinel_reveal_slowmo_start,"sentinel_kva_reveal"); + maps\_anim::addnotetrack_customfunction("world_body","slowMo_stop",::sentinel_reveal_slowmo_stop,"sentinel_kva_reveal"); + maps\_anim::addnotetrack_customfunction("world_body","aud_start_aft_sentinel_meetup",::sentinel_reveal_dialogue_continue,"sentinel_kva_reveal"); + if(level.nextgen || issubstr(level.transient_zone,"_hospital")) + { + maps\_anim::addnotetrack_customfunction("guy1","decloak_1",::sentinel_reveal_guy1_decloak,"sentinel_kva_reveal"); + maps\_anim::addnotetrack_customfunction("guy2","decloak_2",::sentinel_reveal_guy2_decloak,"sentinel_kva_reveal"); + maps\_anim::addnotetrack_customfunction("guy3","decloak_3",::sentinel_reveal_guy3_decloak,"sentinel_kva_reveal"); + } + + level.scr_anim["burke"]["det_hos_cover180_burke"] = %det_hos_cover180_burke; + level.scr_anim["burke"]["det_hos_cover180_idle_burke"][0] = %det_hos_cover180_idle_burke; + if(level.nextgen || level.transient_zone == "middle") + { + maps\_anim::addnotetrack_customfunction("burke","finish",::begin_stealth_walk,"dismount_rollout"); + } + + level.scr_anim["generic"]["civilian_run_upright_turnr90"] = %civilian_run_upright_turnr90; + level.scr_anim["generic"]["civilian_run_upright_turnl90"] = %civilian_run_upright_turnl90; + level.scr_anim["generic"]["run_and_shoot_behind"] = %flee_run_shoot_behind; + level.scr_anim["generic"]["hospital_mantle"] = %traverse_mantle_over_low_cover_40_var2; + level.scr_anim["generic"]["hospital_mantle_2"] = %traverse_mantle_over_low_cover_40_var1; + level.scr_anim["generic"]["corner_standl_look_2_alert_fast_v1"] = %corner_standl_look_2_alert_fast_v1; + level.scr_anim["generic"]["covercrouch_hide_look"] = %covercrouch_hide_look; + level.scr_anim["generic"]["wall_pull"] = %det_school_wall_pull_guy1; + if(level.nextgen || issubstr(level.transient_zone,"_school")) + { + maps\_anim::addnotetrack_customfunction("generic","helmet_swap",::helmet_swap,"wall_pull"); + maps\_anim::addnotetrack_customfunction("generic","helmet_swap",::maps\detroit_fx::det_helmet_smash_fx,"wall_pull"); + maps\_anim::addnotetrack_customfunction("generic","stab",::maps\detroit_fx::det_knife_stab_fx,"wall_pull"); + maps\_anim::addnotetrack_customfunction("generic","Knife_fx",::maps\detroit_fx::det_knife_pull,"wall_pull"); + } + + level.scr_anim["kva"]["door_open_basement"] = %det_school_patrol_npc; + level.scr_anim["kva"]["search_flashlight_low_basement_loop"][0] = %so_hijack_search_flashlight_low_loop; + level.scr_anim["kva"]["so_hijack_search_flashlight_high_loop"][0] = %so_hijack_search_flashlight_high_loop; + level.scr_anim["kva"]["basement_flashlight_idle"][0] = %det_school_investigate_idle; + level.scr_anim["kva"]["school_investigate"] = %det_school_investigate; + if(level.currentgen && issubstr(level.transient_zone,"_school")) + { + } + + level.scr_anim["generic"]["paris_npc_dead_poses_v05"] = %paris_npc_dead_poses_v05; + level.scr_anim["generic"]["paris_npc_dead_poses_v08"] = %paris_npc_dead_poses_v08; + level.scr_anim["generic"]["deadpose_1"] = %det_school_enter_pt2_npc_deadbody_01; + level.scr_anim["generic"]["deadpose_2"] = %det_school_enter_pt2_npc_deadbody_02; + level.scr_anim["generic"]["deadpose_3"] = %det_school_enter_pt2_npc_deadbody_03; + level.scr_anim["generic"]["deadpose_4"] = %det_school_enter_pt2_npc_deadbody_04; + level.scr_anim["generic"]["deadpose_5"] = %det_school_enter_pt2_npc_deadbody_05; + level.scr_anim["generic"]["deadpose_6"] = %det_school_enter_pt2_npc_deadbody_06; + level.scr_anim["generic"]["deadpose_7"] = %det_school_enter_pt2_npc_deadbody_07; + level.scr_anim["generic"]["deadpose_8"] = %det_school_enter_pt2_npc_deadbody_08; + level.scr_anim["generic"]["deadpose_9"] = %det_school_enter_pt2_npc_deadbody_09; + level.scr_anim["generic"]["deadpose_10"] = %det_school_enter_pt2_npc_deadbody_10; + level.scr_anim["generic"]["deadpose_11"] = %det_school_enter_pt2_npc_deadbody_11; + level.scr_anim["generic"]["deadpose_12"] = %det_school_enter_pt2_npc_deadbody_12; + level.scr_anim["generic"]["civilian_sitting_business_lunch_a_1"][0] = %civilian_sitting_business_lunch_a_1; + level.scr_anim["generic"]["civilian_sitting_business_lunch_b_1"][0] = %civilian_sitting_business_lunch_b_1; + level.scr_anim["generic"]["civilian_sitting_talking_a_2"][0] = %civilian_sitting_talking_a_2; + level.scr_anim["generic"]["civilian_sitting_talking_b_1"][0] = %civilian_sitting_talking_b_1; + level.scr_anim["generic"]["civilian_sitting_talking_b_2"][0] = %civilian_sitting_talking_b_2; + level.scr_anim["generic"]["civilian_stand_idle"][0] = %civilian_stand_idle; + level.scr_anim["generic"]["patrol_bored_idle_cellphone"][0] = %patrol_bored_idle_cellphone; + level.scr_anim["generic"]["patrol_bored_idle"][0] = %patrol_bored_idle; + level.scr_anim["generic"]["patrol_bored_idle_smoke"][0] = %patrol_bored_idle_smoke; + level.scr_anim["generic"]["patrolstand_idle"][0] = %patrolstand_idle; + level.scr_anim["generic"]["casual_crouch_idle"][0] = %casual_crouch_idle; + level.scr_anim["generic"]["casual_stand_idle"][0] = %casual_stand_idle; + maps\_anim::addnotetrack_customfunction("generic","attach cig",::cig_hide,"patrol_bored_idle_smoke"); + maps\_anim::addnotetrack_customfunction("generic","detach cig",::cig_show,"patrol_bored_idle_smoke"); + level.scr_anim["generic"]["door_kick_in"] = %door_kick_in; + level.scr_anim["generic"]["window_smash_stop_inside"] = %window_smash_stop_inside; + level.scr_anim["generic"]["talking_guard_1"][0] = %hms_greece_cc_talking_guards_1; + level.scr_anim["generic"]["talking_guard_2"][0] = %hms_greece_cc_talking_guards_2; + level.scr_anim["generic"]["active_patrolwalk_v1"][0] = %active_patrolwalk_v1; + level.scr_anim["generic"]["active_patrolwalk_v2"][0] = %active_patrolwalk_v2; + level.scr_anim["generic"]["active_patrolwalk_v3"][0] = %active_patrolwalk_v3; + level.scr_anim["generic"]["active_patrolwalk_v4"][0] = %active_patrolwalk_v4; + level.scr_anim["generic"]["active_patrolwalk_v5"][0] = %active_patrolwalk_v5; + level.scr_anim["generic"]["crouch_up"] = %crouch2stand; + level.scr_anim["generic"]["crouch_over"] = %covercrouch_hide_2_shufflel; + level.patrol_anims = ["active_patrolwalk_v1","active_patrolwalk_v2","active_patrolwalk_v3","active_patrolwalk_v4","active_patrolwalk_v5"]; + level.scr_anim["generic"]["bored_patrolwalk_1"][0] = %patrol_bored_2_walk; + level.scr_anim["generic"]["bored_patrolwalk_2"][0] = %patrol_bored_patrolwalk_twitch; + level.scr_anim["generic"]["bored_patrolwalk_3"][0] = %patrol_boredwalk_lookcycle_a; + level.scr_anim["generic"]["bored_patrolwalk_4"][0] = %patrol_boredwalk_lookcycle_b; + level.bored_patrol_anims = ["bored_patrolwalk_1","bored_patrolwalk_2","bored_patrolwalk_3","bored_patrolwalk_4"]; + level.scr_anim["generic"]["urinate_hold"][0] = %escalator_down_briefcase_guy_idle; + level.scr_anim["crash_anim"]["crash_guy1"] = %det_finale_crash_guy1; + level.scr_anim["generic"]["det_camp_stagespeech_guy01"][0] = %det_camp_stagespeech_guy01; + level.scr_anim["Atlas_Commander"]["det_camp_stagespeech_guy01"] = %det_camp_stagespeech_guy01; + level.scr_anim["Atlas_Commander"]["det_camp_stagespeech_walk"] = %det_camp_foodtruck_civ_grab_walk_loop; + level.scr_anim["generic"]["so_hijack_search_flashlight_high_loop"][0] = %so_hijack_search_flashlight_high_loop; + level.scr_anim["generic"]["so_hijack_search_flashlight_high_loop_single"] = %so_hijack_search_flashlight_high_loop; + level.scr_anim["generic"]["so_hijack_search_flashlight_low_loop"][0] = %so_hijack_search_flashlight_low_loop; + level.scr_anim["generic"]["so_hijack_search_flashlight_low_single"] = %so_hijack_search_flashlight_low_loop; + level.scr_anim["generic"]["spraypaint_idle"][0] = %det_camp_spraypaint_civ_idle_guy01; + level.scr_anim["generic"]["spraypaint"] = %det_camp_spraypaint_civ_guy01; + level.scr_anim["generic"]["chase_away"] = %det_camp_spraypaint_civ_guy02; + level.scr_anim["generic"]["casual_killer_walk_wave"] = %casual_killer_walk_wave; + level.scr_anim["generic"]["depressed_walk"][0] = %det_camp_depressedwalk_civ_d; + level.scr_anim["generic"]["depressed_walk"][1] = %det_camp_depressedwalk_civ_pickup; + level.scr_anim["generic"]["depressed_walk"][2] = %det_depressedwalk_alt_lookl; + level.scr_anim["generic"]["depressed_walk"][3] = %det_depressedwalk_alt_lookup; + level.scr_anim["generic"]["det_school_flashlight_loop"][0] = %det_school_flashlight_loop; + level.scr_anim["generic"]["det_school_flashlight_single"] = %det_school_flashlight_loop; + level.scr_anim["generic"]["stealth_walk"][0] = %stealth_walk; + level.scr_anim["generic"]["_stealth_look_around"][0] = %det_school_flashlight_loop; + level.scr_anim["generic"]["_stealth_look_around"][1] = %so_hijack_search_flashlight_low_loop; + level.scr_anim["generic"]["exposed_death_flop"] = %exposed_death_flop; + level.scr_anim["generic"]["airport_civ_pillar_exit_death"] = %airport_civ_pillar_exit_death; + level.scr_anim["burke"]["doctor_capture"] = %det_doctor_capture_burke_hit_doc; + level.scr_anim["burke"]["doctor_capture_idle"][0] = %det_doctor_capture_burke_idle; + level.scr_anim["doctor"]["doctor_capture_idle"][0] = %det_doctor_capture_doc_idle; + level.scr_anim["doctor"]["doctor_capture"] = %det_doctor_capture_doc_react; + level.scr_anim["joker"]["doctor_capture"] = %det_doctor_capture_joker_grab_doc; + level.scr_anim["joker"]["doctor_capture_idle"][0] = %det_doctor_capture_joker_idle; + level.scr_anim["generic"]["det_hos_breach_guy1"] = %det_hos_breach_guy1; + level.scr_anim["generic"]["det_hos_breach_guy3"] = %det_hos_breach_guy3; + level.scr_anim["generic"]["det_hos_breach_guy4"] = %det_hos_breach_guy4; + level.scr_anim["doctor"]["det_hos_breach_idle_doctor"][0] = %det_hos_breach_idle_doctor; + level.scr_anim["generic"]["det_hos_breach_success_guy1"] = %det_hos_breach_success_guy1; + level.scr_anim["generic"]["det_hos_breach_success_guy3"] = %det_hos_breach_success_guy3; + level.scr_anim["generic"]["det_hos_breach_success_guy4"] = %det_hos_breach_success_guy4; + if(level.nextgen || issubstr(level.transient_zone,"_hospital")) + { + maps\_anim::addnotetrack_customfunction("generic","hadoken",::hospital_breach_punch,"det_hos_breach_success_guy4"); + } + + level.scr_goaltime["generic"]["det_hos_breach_success_guy4"] = 0; + level.scr_anim["generic"]["det_hos_breach_aim_idle_guy1"][0] = %det_hos_breach_aim_idle_guy1; + level.scr_anim["generic"]["det_hos_breach_aim_idle_guy3"][0] = %det_hos_breach_aim_idle_guy3; + level.scr_anim["generic"]["casual_walk_fast_burke"] = %det_casual_walk_fast_burke; + level.scr_anim["generic"]["casual_walk_fast_joker"] = %det_casual_walk_fast_joker; + level.scr_anim["burke"]["refugee_camp_walk_fast"] = %det_casual_walk_fast_burke; + level.scr_anim["joker"]["refugee_camp_walk_fast"] = %det_casual_walk_fast_joker; + level.scr_anim["burke"]["refugee_camp_idle"][0] = %det_casual_stopstarts_idle_burke; + level.scr_anim["joker"]["refugee_camp_idle"][0] = %det_casual_stopstarts_idle_joker; + level.scr_anim["burke"]["refugee_camp_idle_to_walk"] = %det_casual_stopstarts_idle_to_walk_burke; + level.scr_anim["joker"]["refugee_camp_idle_to_walk"] = %det_casual_stopstarts_idle_to_walk_joker; + level.scr_anim["burke"]["refugee_camp_walk_to_idle"] = %det_casual_stopstarts_walk_to_idle_burke; + level.scr_anim["joker"]["refugee_camp_walk_to_idle"] = %det_casual_stopstarts_walk_to_idle_joker; + level.scr_anim["burke"]["det_hos_breach_burke"] = %det_hos_breach_burke; + level.scr_anim["doctor"]["det_hos_breach_doctor"] = %det_hos_breach_doctor; + level.scr_anim["generic"]["det_hos_breach_fail_guy4"] = %det_hos_breach_fail_guy4; + level.scr_anim["doctor"]["carry_doc_lift"] = %det_doctor_capture_pickup_doc; + if(level.nextgen || issubstr(level.transient_zone,"_hospital")) + { + maps\_anim::addnotetrack_customfunction("doctor","swap_bag_head",::doc_capture_headswap,"carry_doc_lift"); + } + + level.scr_anim["joker"]["carry_doc_lift"] = %det_doctor_capture_pickup_joker; + level.scr_anim["doctor"]["carry_doc_downstairs_loop"] = %det_hos_carry_doc_downstairs_guy1; + level.scr_anim["joker"]["carry_doc_downstairs_loop"] = %det_hos_carry_doc_downstairs_guy2; + level.scr_anim["doctor"]["carry_doc_upstairs_loop"] = %det_hos_carry_doc_upstairs_guy1; + level.scr_anim["joker"]["carry_doc_upstairs_loop"] = %det_hos_carry_doc_upstairs_guy2; + level.scr_anim["doctor"]["carry_doc_stop"] = %det_hos_carry_doc_walkstop_idle_guy1; + level.scr_anim["joker"]["carry_doc_stop"] = %det_hos_carry_doc_walkstop_idle_guy2; + level.scr_anim["doctor"]["carry_doc_walk"] = %det_hos_carry_doc_walk_guy1; + level.scr_anim["joker"]["carry_doc_walk"] = %det_hos_carry_doc_walk_guy2; + level.scr_anim["burke"]["det_exit_drive_starting_anim_1"] = %det_exfil_droponbike_enter_burke; + level.scr_anim["burke"]["det_exit_drive_starting_idle_1"][0] = %det_exfil_droponbike_enteridle_burke; + level.scr_anim["burke"]["det_exit_drive_starting_anim_2"] = %det_exfil_droponbike_drop_burke; + level.scr_anim["joker"]["det_exit_drive_starting_anim_2"] = %det_exfil_droponbike_drop_joker; + level.scr_anim["doctor"]["det_exit_drive_starting_anim_2"] = %det_exfil_droponbike_drop_doc; + level.scr_anim["doctor"]["det_exit_drive_starting_idle_2"][0] = %det_exfil_droponbike_dropidle_doc; + level.scr_anim["joker"]["det_exit_drive_starting_idle_2"][0] = %det_exfil_droponbike_dropidle_joker; + level.scr_anim["burke"]["det_exit_drive_ending"] = %det_mech_laydown_cover_burke; + level.scr_anim["bones"]["det_exit_drive_ending"] = %det_mech_laydown_cover_bones; + level.scr_anim["joker"]["det_exit_drive_ending"] = %det_mech_laydown_cover_joker; + level.scr_anim["doctor"]["det_exit_drive_ending"] = %det_mech_laydown_cover_doc; + level.scr_anim["exitdrive_mech1"]["det_exit_drive_ending"] = %det_mech_laydown_cover_mech1; + level.scr_anim["exitdrive_mech1"]["det_exit_drive_ending_idle"][0] = %det_mech_laydown_cover_mech1_idle; + level.scr_anim["exitdrive_mech2"]["det_exit_drive_ending"] = %det_mech_laydown_cover_mech2; + level.scr_anim["exitdrive_mech2"]["det_exit_drive_ending_idle"][0] = %det_mech_laydown_cover_mech2_idle; + level.scr_anim["exitdrive_mech3"]["det_exit_drive_ending"] = %det_mech_laydown_cover_mech3; + level.scr_anim["exitdrive_mech3"]["det_exit_drive_ending_idle"][0] = %det_mech_laydown_cover_mech3_idle; + level.scr_anim["burke"]["exo_push_exit"] = %det_hos_vehicle_push_burke_push_exit; + level.scr_anim["burke"]["exo_push_burke_attach"] = %det_hos_vehicle_push_burke_push_intro; + level.scr_anim["burke"]["exo_push_burke_wait"][0] = %det_hos_vehicle_push_burke_push_intro_idle; + level.scr_anim["burke"]["exo_push_loop"][0] = %det_hos_vehicle_push_burke_push_loop; + level.scr_anim["burke"]["exo_push_idle"][0] = %det_hos_vehicle_push_burke_push_loop; + level.scr_anim["burke"]["exo_push_loop_to_idle"] = %det_hos_vehicle_push_burke_push_trans_out; + level.scr_anim["burke"]["gate_decon"] = %det_gate_decon_burke; + level.scr_anim["joker"]["gate_decon"] = %det_gate_decon_joker; + level.scr_anim["bones"]["gate_decon_b"] = %det_gate_decon_bones; + level.scr_anim["burke"]["gate_decon_idle"][0] = %det_gate_decon_wait_burke; + level.scr_anim["joker"]["gate_decon_idle"][0] = %det_gate_decon_wait_joker; + level.scr_anim["burke"]["gate_decon_b"] = %det_gate_decon_burke_b; + level.scr_anim["joker"]["gate_decon_b"] = %det_gate_decon_joker_b; + if(level.nextgen || level.transient_zone == "intro") + { + maps\_anim::addnotetrack_customfunction("bones","finish",::maps\detroit_refugee_camp::notify_guy_mounted,"gate_decon_b"); + maps\_anim::addnotetrack_customfunction("joker","finish",::maps\detroit_refugee_camp::notify_guy_mounted,"gate_decon_b"); + } + + level.scr_anim["scanner_guard_animated_spawner"]["gate_decon"] = %det_gate_decon_guard2; + level.scr_anim["scanner_guard_animated_spawner"]["gate_decon_b"] = %det_gate_decon_guard2_b; + level.scr_anim["scanner_guard_animated_spawner"]["gate_decon_idle"][0] = %casual_stand_idle; + level.scr_anim["scanner_guy_animated_spawner01"]["gate_decon"] = %det_gate_decon_guy1; + level.scr_anim["scanner_guy_animated_spawner02"]["gate_decon"] = %det_gate_decon_guy2; + level.scr_anim["scanner_guy_animated_spawner03"]["gate_decon"] = %det_gate_decon_guy3; + level.scr_anim["scanner_guy_animated_spawner04"]["gate_decon"] = %det_gate_decon_guy4; + level.scr_anim["scanner_guy_animated_spawner05"]["gate_decon"] = %det_gate_decon_guy5; + level.scr_anim["scanner_guy_animated_spawner06"]["gate_decon"] = %det_gate_decon_guy6; + level.scr_anim["scanner_guy_animated_spawner01"]["gate_decon_idle"][0] = %det_unarmed_casual_idle; + level.scr_anim["scanner_guy_animated_spawner02"]["gate_decon_idle"][0] = %det_unarmed_casual_idle; + level.scr_anim["scanner_guy_animated_spawner03"]["gate_decon_idle"][0] = %det_unarmed_casual_idle; + level.scr_anim["scanner_guy_animated_spawner04"]["gate_decon_idle"][0] = %det_unarmed_casual_idle; + level.scr_anim["scanner_guy_animated_spawner05"]["gate_decon_idle"][0] = %det_unarmed_casual_idle; + level.scr_anim["scanner_guy_animated_spawner06"]["gate_decon_idle"][0] = %det_unarmed_casual_idle; + level.scr_anim["scanner_guard_animated_spawner01"]["gate_decon_idle"][0] = %casual_stand_idle; + level.scr_anim["scanner_guard_animated_spawner01"]["gate_decon"] = %det_gate_decon_guard1; + level.scr_anim["scanner_guy_animated_spawner01"]["gate_decon_walk"] = %det_motorpool_casual_walk; + level.scr_anim["scanner_guy_animated_spawner02"]["gate_decon_walk"] = %det_motorpool_casual_walk; + level.scr_anim["scanner_guy_animated_spawner03"]["gate_decon_walk"] = %det_motorpool_casual_walk; + level.scr_anim["scanner_guy_animated_spawner04"]["gate_decon_walk"] = %det_motorpool_casual_walk; + level.scr_anim["scanner_guy_animated_spawner05"]["gate_decon_walk"] = %det_motorpool_casual_walk; + level.scr_anim["scanner_guy_animated_spawner06"]["gate_decon_walk"] = %det_motorpool_casual_walk; + level.scr_anim["generic"]["gate_decon_walk"] = %det_motorpool_casual_walk; + maps\_anim::addnotetrack_notify("scanner_guard_animated_spawner01","group1_start","decon_a","gate_decon"); + maps\_anim::addnotetrack_notify("scanner_guard_animated_spawner01","group2_start","decon_b","gate_decon"); + maps\_anim::addnotetrack_notify("scanner_guard_animated_spawner01","group2_2_start","decon_c","gate_decon"); + maps\_anim::addnotetrack_notify("scanner_guard_animated_spawner01","group3_start","decon_d","gate_decon"); + maps\_anim::addnotetrack_notify("scanner_guard_animated_spawner01","group3_2_start","decon_e","gate_decon"); +} + +//Function Number: 9 +civilian_anims() +{ + level.scr_anim["civilian_looper"]["civilian_walk"] = [%civilian_briefcase_walk,%civilian_cellphonewalk,%civilian_crazywalker_loop,%civilian_crazywalker_twitcha,%civilian_crazywalker_twitchb,%civilian_crazywalker_twitchc,%civilian_walk_coffee,%civilian_walk_cool,%civilian_walk_hurried_1,%civilian_walk_hurried_2,%civilian_walk_nervous,%civilian_walk_paper,%civilian_walk_pda,%civilian_walk_backpack]; + level.scr_anim["civilian_looper"]["civilian_stand"] = [%civilian_smoking_a,%civilian_smoking_b,%civilian_atm,%civilian_stand_idle,%london_civ_idle_checkwatch,%london_civ_idle_foldarms2,%london_civ_idle_foldarms_scratchass,%london_civ_idle_lookbehind,%london_civ_idle_lookover,%london_civ_idle_scratchnose,%london_civ_idle_sneeze]; + level.scr_anim["civilian_looper"]["civilian_sit"] = [%civilian_sitting_business_lunch_a_1,%civilian_sitting_business_lunch_b_1,%civilian_sitting_talking_a_1,%civilian_sitting_talking_a_2,%civilian_sitting_talking_b_1,%civilian_sitting_talking_b_2,%civilian_texting_sitting,%civilian_reader_1,%sitting_guard_loadak_idle,%guarda_sit_sleeper_idle,%parabolic_leaning_guy_idle,%det_camp_box_seated_civ_guy01,%det_camp_box_seated_civ_guy02,%det_camp_box_seated_civ_guy02,%civilian_reader_2]; + level.scr_animtree["drone_civs"] = #animtree; + level.scr_anim["drone_civs"]["civilian_cellphonewalk"][0] = %civilian_cellphonewalk; + level.scr_anim["drone_civs"]["civilian_crazywalker_loop"][0] = %civilian_crazywalker_loop; + level.scr_anim["drone_civs"]["civilian_walk_backpack"][0] = %civilian_walk_backpack; + level.scr_anim["drone_civs"]["civilian_walk_pda"][0] = %civilian_walk_pda; + level.scr_anim["drone_civs"]["civilian_walk_nervous"][0] = %civilian_walk_nervous; + level.scr_anim["drone_civs"]["civilian_walk_hurried_2"][0] = %civilian_walk_hurried_2; + level.scr_anim["drone_civs"]["civilian_walk_cool"][0] = %civilian_walk_cool; + level.scr_anim["drone_civs"]["civilian_walk_coffee"][0] = %civilian_walk_coffee; + level.scr_anim["drone_civs"]["civilian_walk_hurried_1"][0] = %civilian_walk_hurried_1; + level.scr_anim["drone_civs"]["civilian_smoking_a"][0] = %civilian_smoking_a; + level.scr_anim["drone_civs"]["civilian_smoking_b"][0] = %civilian_smoking_b; + level.scr_anim["drone_civs"]["civilian_atm"][0] = %civilian_atm; + level.scr_anim["drone_civs"]["civilian_stand_idle"][0] = %civilian_stand_idle; + level.scr_anim["drone_civs"]["london_civ_idle_checkwatch"][0] = %london_civ_idle_checkwatch; + level.scr_anim["drone_civs"]["london_civ_idle_foldarms2"][0] = %london_civ_idle_foldarms2; + level.scr_anim["drone_civs"]["london_civ_idle_lookbehind"][0] = %london_civ_idle_lookbehind; + level.scr_anim["drone_civs"]["london_civ_idle_foldarms_scratchass"][0] = %london_civ_idle_foldarms_scratchass; + level.scr_anim["drone_civs"]["london_civ_idle_scratchnose"][0] = %london_civ_idle_scratchnose; + level.scr_anim["drone_civs"]["civilian_sitting_business_lunch_a_1"][0] = %civilian_sitting_business_lunch_a_1; + level.scr_anim["drone_civs"]["civilian_sitting_business_lunch_b_1"][0] = %civilian_sitting_business_lunch_b_1; + level.scr_anim["drone_civs"]["civilian_sitting_talking_a_1"][0] = %civilian_sitting_talking_a_1; + level.scr_anim["drone_civs"]["civilian_sitting_talking_a_2"][0] = %civilian_sitting_talking_a_2; + level.scr_anim["drone_civs"]["civilian_sitting_talking_b_1"][0] = %civilian_sitting_talking_b_1; + level.scr_anim["drone_civs"]["civilian_sitting_talking_b_2"][0] = %civilian_sitting_talking_b_2; + level.scr_anim["drone_civs"]["civilian_texting_sitting"][0] = %civilian_texting_sitting; + level.scr_anim["drone_civs"]["civilian_reader_1"][0] = %civilian_reader_1; + level.scr_anim["drone_civs"]["civilian_reader_2"][0] = %civilian_reader_2; + level.scr_anim["drone_civs"]["sitting_guard_loadak_idle"][0] = %sitting_guard_loadak_idle; + level.scr_anim["drone_civs"]["guarda_sit_sleeper_idle"][0] = %guarda_sit_sleeper_idle; + level.scr_anim["drone_civs"]["parabolic_leaning_guy_idle"][0] = %parabolic_leaning_guy_idle; + level.scr_anim["drone_civs"]["civilian_stand_idle"][0] = %civilian_stand_idle; + level.scr_anim["drone_civs"]["det_camp_box_seated_civ_guy01"][0] = %det_camp_box_seated_civ_guy01; + level.scr_anim["drone_civs"]["det_camp_box_seated_civ_guy02"][0] = %det_camp_box_seated_civ_guy02; + level.scr_anim["drone_civs"]["det_camp_seated_civ_guy01"][0] = %det_camp_seated_civ_guy01; + level.scr_anim["drone_civs"]["det_camp_seated_civ_guy02"][0] = %det_camp_seated_civ_guy02; + level.scr_anim["drone_civs"]["fence_spawner1"][0] = %det_camp_handsonfence_guy01; + level.scr_anim["drone_civs"]["fence_spawner2"][0] = %det_camp_handsonfence_guy02; + level.scr_anim["drone_civs"]["fence_spawner3"][0] = %det_camp_leanfence_guy01; + level.scr_anim["drone_civs"]["fence_spawner4"][0] = %det_camp_leanfence_guy02_a; + level.scr_anim["drone_civs"]["fence_spawner5"][0] = %det_camp_leanfence_guy02_b; + level.scr_anim["drone_civs"]["fence_spawner6"][0] = %det_camp_sitfence_guy01; + level.scr_anim["drone_civs"]["fence_spawner7"][0] = %det_camp_leanfence_guy02_b; + level.scr_anim["drone_civs"]["fence_spawner8"][0] = %det_camp_handsonfence_guy02; + level.scr_anim["drone_civs"]["fence_spawner9_idle_start"][0] = %det_camp_leanfence_guy01; + level.scr_anim["drone_civs"]["fence_spawner9_transition"] = %det_camp_leanfence_2_sitfence; + level.scr_anim["drone_civs"]["fence_spawner9_idle_end"][0] = %det_camp_sitfence_guy01; + level.scr_anim["drone_civs"]["fence_spawner10"][0] = %det_camp_leanfence_guy01; + level.scr_anim["drone_civs"]["fence_spawner11"][0] = %det_camp_leanfence_guy01; + level.scr_anim["drone_civs"]["baseball1"][0] = %det_camp_baseball_guy01; + level.scr_anim["drone_civs"]["baseball2"][0] = %det_camp_baseball_guy02; + level.scr_anim["drone_civs"]["civtalking1"] = %det_standtalk_civ_guy1; + level.scr_anim["drone_civs"]["civtalking2"] = %det_standtalk_civ_guy2; + level.scr_anim["drone_civs"]["foodtruck1"][0] = %det_camp_foodtruck_civ_01; + level.scr_anim["drone_civs"]["foodtruck2"][0] = %det_camp_foodtruck_civ_02; + level.scr_anim["drone_civs"]["foodtruck3"][0] = %det_camp_foodtruck_civ_03; + level.scr_anim["drone_civs"]["foodtruck4"][0] = %det_camp_foodtruck_civ_04; + level.scr_anim["drone_civs"]["foodtruck5"][0] = %det_camp_foodtruck_civ_05; + level.scr_anim["drone_civs"]["foodtruck6"][0] = %det_camp_foodtruck_civ_06; + level.scr_anim["drone_civs"]["foodtruck7"][0] = %det_camp_foodtruck_civ_07; + level.scr_anim["drone_civs"]["foodtruck8"][0] = %det_camp_foodtruck_civ_08; + level.scr_anim["drone_civs"]["foodtruck9"][0] = %det_camp_foodtruck_civ_09; + level.scr_anim["drone_civs"]["foodtruck10"][0] = %det_camp_foodtruck_civ_10; + level.scr_anim["drone_civs"]["foodtruck11"][0] = %det_camp_foodtruck_civ_11; + level.scr_anim["drone_civs"]["foodtruck12"][0] = %det_camp_foodtruck_civ_12; + level.scr_anim["drone_civs"]["foodtruck13"][0] = %det_camp_foodtruck_civ_13; + level.scr_anim["drone_civs"]["foodtruck14"][0] = %det_camp_foodtruck_civ_14; + level.scr_anim["drone_civs"]["foodtruck_grab"] = %det_camp_foodtruck_civ_grab; + level.scr_anim["drone_civs"]["foodtruck_grab_left"] = %det_camp_foodtruck_civ_grab_left; + level.scr_anim["drone_civs"]["foodtruck_grab_walk"] = %det_camp_foodtruck_civ_grab_walk_loop; + level.scr_anim["drone_civs"]["foodtruck17"][0] = %det_camp_foodtruck_handoutguy_01; + level.scr_anim["drone_civs"]["foodtruck18"][0] = %det_camp_foodtruck_handoutguy_02; + maps\_anim::addnotetrack_notify("drone_civs","grab_walk","food_walker_go","foodtruck17"); + level.scr_anim["drone_civs"]["sign1_spawner"][0] = %london_civ_idle_lookover; + level.scr_anim["drone_civs"]["sign2_spawner"][0] = %det_camp_trans_alley_gawk_pair_01; + level.scr_anim["drone_civs"]["sign3_spawner"][0] = %det_camp_trans_alley_gawk_pair_02; + level.scr_anim["drone_civs"]["sign4_spawner"][0] = %london_civ_idle_foldarms2; + level.scr_animtree["hospital_drone"] = #animtree; + level.scr_anim["hospital_drone"]["paris_npc_dead_poses_v05"] = %paris_npc_dead_poses_v05; + level.scr_anim["hospital_drone"]["paris_npc_dead_poses_v08"] = %paris_npc_dead_poses_v08; + level.drone_anims["civ_team1"]["stand"]["run"] = %civilian_cellphonewalk; + level.drone_anims["civ_team2"]["stand"]["run"] = %civilian_crazywalker_loop; + level.drone_anims["civ_team3"]["stand"]["run"] = %civilian_walk_backpack; + level.drone_anims["civ_team4"]["stand"]["run"] = %civilian_walk_pda; + level.drone_anims["civ_team5"]["stand"]["run"] = %civilian_walk_nervous; + level.drone_anims["civ_team6"]["stand"]["run"] = %civilian_walk_hurried_2; + level.drone_anims["civ_team7"]["stand"]["run"] = %civilian_walk_cool; + level.drone_anims["civ_team8"]["stand"]["run"] = %civilian_walk_coffee; + level.drone_anims["civ_team9"]["stand"]["run"] = %civilian_walk_hurried_1; + level.drone_anims["civ_team1"]["stand"]["idle"] = %civilian_smoking_a; + level.drone_anims["civ_team2"]["stand"]["idle"] = %civilian_smoking_b; + level.drone_anims["civ_team3"]["stand"]["idle"] = %civilian_atm; + level.drone_anims["civ_team4"]["stand"]["idle"] = %civilian_stand_idle; + level.drone_anims["civ_team5"]["stand"]["idle"] = %london_civ_idle_checkwatch; + level.drone_anims["civ_team6"]["stand"]["idle"] = %london_civ_idle_foldarms2; + level.drone_anims["civ_team7"]["stand"]["idle"] = %london_civ_idle_lookbehind; + level.drone_anims["civ_team8"]["stand"]["idle"] = %london_civ_idle_foldarms_scratchass; + level.drone_anims["civ_team9"]["stand"]["idle"] = %london_civ_idle_scratchnose; + level.drone_anims["civ_idle1"]["stand"]["idle"] = %civilian_sitting_business_lunch_a_1; + level.drone_anims["civ_idle2"]["stand"]["idle"] = %civilian_sitting_business_lunch_b_1; + level.drone_anims["civ_idle3"]["stand"]["idle"] = %civilian_sitting_talking_a_1; + level.drone_anims["civ_idle4"]["stand"]["idle"] = %civilian_sitting_talking_a_2; + level.drone_anims["civ_idle5"]["stand"]["idle"] = %civilian_sitting_talking_b_1; + level.drone_anims["civ_idle6"]["stand"]["idle"] = %civilian_sitting_talking_b_2; + level.drone_anims["civ_idle7"]["stand"]["idle"] = %civilian_texting_sitting; + level.drone_anims["civ_idle8"]["stand"]["idle"] = %civilian_reader_1; + level.drone_anims["civ_idle9"]["stand"]["idle"] = %civilian_reader_2; +} + +//Function Number: 10 +vehicle_anims_toload() +{ + level.scr_animtree["ambulance"] = #animtree; + level.scr_model["ambulance"] = "vehicle_atlas_suv"; + level.scr_anim["ambulance"]["exo_push_path"] = %det_hos_vehicle_push_vehicle_path; + level.scr_anim["ambulance"]["exo_push_burke_attach"] = %det_hos_vehicle_push_vehicle_push_intro; + level.scr_anim["ambulance"]["exo_push_attach"] = %det_hos_vehicle_push_vehicle_rest; + level.scr_anim["ambulance"]["exo_push_loop"][0] = %det_hos_vehicle_push_vehicle_push_loop; + level.scr_anim["ambulance"]["exo_push_idle"][0] = %det_hos_vehicle_push_vehicle_rest; + level.scr_anim["ambulance"]["exo_push_idle_to_loop"] = %det_hos_vehicle_push_vehicle_trans_in; + level.scr_anim["ambulance"]["exo_push_loop_to_idle"] = %det_hos_vehicle_push_vehicle_trans_out; + level.scr_animtree["player_bike"] = #animtree; + level.scr_anim["player_bike"]["hoverbike_pre_mount"][0] = %det_motorpool_meet_up_idle_hoverbike; + level.scr_anim["burke_bike"]["hoverbike_pre_mount"][0] = %det_motorpool_meet_up_idle_hoverbike1; + level.scr_anim["bones_bike"]["hoverbike_pre_mount"][0] = %det_motorpool_meet_up_idle_hoverbike2; + level.scr_anim["joker_bike"]["hoverbike_pre_mount"][0] = %det_motorpool_meet_up_idle_hoverbike3; + level.scr_anim["bones_bike"]["hoverbike_kickstand"] = %det_hoverbike_mount_hoverbike2; + level.scr_anim["joker_bike"]["hoverbike_kickstand"] = %det_hoverbike_mount_hoverbike3; + maps\_anim::addnotetrack_customfunction("bones_bike","bike_powerup",::maps\detroit_refugee_camp::notify_bike_hover,"hoverbike_kickstand"); + maps\_anim::addnotetrack_customfunction("joker_bike","bike_powerup",::maps\detroit_refugee_camp::notify_bike_hover,"hoverbike_kickstand"); + level.scr_anim["player_bike"]["hoverbike_mount"] = %det_hoverbike_mount_hoverbike; + level.scr_anim["player_bike"]["hoverbike_mount_left"] = %det_hoverbike_mount_left_hoverbike; + level.scr_anim["burke_bike"]["hoverbike_mount"] = %det_hoverbike_mount_hoverbike1; + level.scr_anim["bones_bike"]["hoverbike_mount"] = %det_hoverbike_mount_hoverbike2; + level.scr_anim["joker_bike"]["hoverbike_mount"] = %det_hoverbike_mount_hoverbike3; + maps\_anim::addnotetrack_customfunction("player_bike","hoverbike_VM_swap",::player_bike_to_vm_model,"hoverbike_mount"); + maps\_anim::addnotetrack_customfunction("player_bike","hoverbike_VM_swap",::player_bike_to_vm_model,"hoverbike_mount_left"); + level.scr_anim["player_bike"]["hoverbike_meet_up"] = %det_motorpool_meet_up_hoverbike; + level.scr_anim["burke_bike"]["hoverbike_meet_up"] = %det_motorpool_meet_up_hoverbike1; + level.scr_anim["bones_bike"]["hoverbike_meet_up"] = %det_motorpool_meet_up_hoverbike2; + level.scr_anim["joker_bike"]["hoverbike_meet_up"] = %det_motorpool_meet_up_hoverbike3; + level.scr_animtree["warbird_ext"] = #animtree; + level.scr_model["warbird_ext"] = "vehicle_xh9_warbird_mp"; + level.scr_anim["warbird_ext"]["level_intro_cinematic"] = %det_camp_intro_warbird; + level.scr_animtree["warbird_int"] = #animtree; + level.scr_model["warbird_int"] = "vehicle_xh9_warbird_interior_only"; + level.scr_anim["warbird_int"]["level_intro_cinematic"] = %det_camp_intro_warbird; + level.scr_anim["burke_bike"]["bike_dismount"] = %det_school_splitup_burkebike; + level.scr_anim["bones_bike"]["bike_dismount"] = %det_school_splitup_bonesbike; + level.scr_anim["joker_bike"]["bike_dismount"] = %det_school_splitup_jokerbike; + level.scr_anim["player_bike"]["bike_dismount"] = %det_school_splitup_vmbike; + level.scr_anim["burke_bike"]["det_exit_drive_starting_anim_1"] = %det_exfil_droponbike_enter_burkebike; + level.scr_anim["burke_bike"]["det_exit_drive_starting_idle_1"][0] = %det_exfil_droponbike_enteridle_burkebike; + level.scr_anim["player_bike"]["det_exit_drive_starting_idle_1"][0] = %det_exfil_droponbike_enteridle_playerbike; + level.scr_anim["joker_bike"]["det_exit_drive_starting_idle_1"][0] = %det_exfil_droponbike_enteridle_jokerbike; + level.scr_anim["bones_bike"]["det_exit_drive_starting_idle_1"][0] = %det_exfil_droponbike_enteridle_bonesbike; + level.scr_anim["burke_bike"]["det_exit_drive_starting_anim_2"] = %det_exfil_droponbike_drop_burkebike; + level.scr_anim["joker_bike"]["det_exit_drive_starting_anim_2"] = %det_exfil_droponbike_drop_jokerbike; + level.scr_anim["joker_bike"]["det_exit_drive_starting_idle_2"][0] = %det_exfil_droponbike_dropidle_jokerbike; + level.scr_animtree["littlebird"] = #animtree; + level.scr_model["littlebird"] = "vehicle_mil_helicopter_littlebird_kva_ai"; + level.scr_anim["littlebird"]["det_exit_drive_ending"] = %det_mech_laydown_cover_helicopter; + if(level.nextgen || issubstr(level.transient_zone,"_outro")) + { + maps\_anim::addnotetrack_customfunction("littlebird","heli_shot",::maps\detroit_fx::det_helicopter_shot,"det_exit_drive_ending"); + maps\_anim::addnotetrack_customfunction("littlebird","heli_impact",::maps\detroit_fx::det_helicopter_explo,"det_exit_drive_ending"); + } + + level.scr_anim["player_bike"]["det_exit_drive_ending"] = %det_mech_laydown_cover_vmbike; + level.scr_anim["burke_bike"]["det_exit_drive_ending"] = %det_mech_laydown_cover_burkebike; + level.scr_anim["joker_bike"]["det_exit_drive_ending"] = %det_mech_laydown_cover_jokerbike; + if(level.nextgen && issubstr(level.transient_zone,"_outro")) + { + maps\_anim::addnotetrack_customfunction("joker_bike","hoverbike_fx1",::maps\detroit_fx::det_joker_bike_end_fx,"det_exit_drive_ending"); + } + + level.scr_anim["bones_bike"]["det_exit_drive_ending"] = %det_mech_laydown_cover_bonesbike; + if(level.nextgen && issubstr(level.transient_zone,"_outro")) + { + maps\_anim::addnotetrack_customfunction("bones_bike","hoverbike_fx2",::maps\detroit_fx::det_bones_bike_end_fx,"det_exit_drive_ending"); + } + + level.scr_animtree["foodtruck"] = #animtree; + level.scr_anim["foodtruck"]["foodtruck_door"][0] = %det_camp_foodtruck_truck; +} + +//Function Number: 11 +dog_anims_toload() +{ + level.scr_animtree["dog"] = #animtree; +} + +//Function Number: 12 +player_anims_toload() +{ + level.scr_model["world_body"] = "viewbody_atlas_military_detroit"; + level.scr_animtree["world_body"] = #animtree; + level.scr_model["player_rig"] = "viewbody_atlas_military_detroit"; + level.scr_animtree["player_rig"] = #animtree; + level.scr_model["world_hands"] = "worldhands_atlas_military_detroit"; + level.scr_animtree["world_hands"] = #animtree; + level.scr_anim["world_body"]["player_turntable"][0] = %edge_walk_vm; + level.scr_anim["world_body"]["hoverbike_mount"] = %det_hoverbike_mount_vm; + maps\_anim::addnotetrack_notify("world_body","on_button","intro_drive_on_button_pressed","hoverbike_mount"); + level.scr_anim["world_body"]["hoverbike_mount_left"] = %det_hoverbike_mount_left_vm; + maps\_anim::addnotetrack_notify("world_body","on_button","intro_drive_on_button_pressed","hoverbike_mount_left"); + level.scr_anim["world_body"]["hoverbike_meet_up"] = %det_motorpool_meet_up_vm; + level.scr_anim["world_hands"]["sentinel_reveal"] = %det_meeting_sentinel_vm; + level.scr_anim["world_body"]["sentinel_kva_reveal"] = %det_hos_sent_meet_vm; + level.scr_anim["world_body"]["doctor_capture"] = %det_doctor_capture_grab_vm; + level.scr_anim["world_body"]["school_fall_stand_2_shuffle"] = %det_school_fall_stand_2_shuffle_vm; + level.scr_anim["world_body"]["det_school_fall_stand_2_shuffle_slow_vm"] = %det_school_fall_stand_2_shuffle_slow_vm; + level.scr_anim["world_body"]["school_fall_shuffle_pt0_idle"][0] = %det_school_fall_shuffle_vm_pt0_idle; + level.scr_anim["world_body"]["school_fall_shuffle_pt1"] = %det_school_fall_shuffle_vm_pt1; + level.scr_anim["world_body"]["school_fall_shuffle_pt1_idle"][0] = %det_school_fall_shuffle_vm_pt1_idle; + level.scr_anim["world_body"]["school_fall_shuffle_pt2"] = %det_school_fall_shuffle_vm_pt2; + level.scr_anim["world_body"]["school_fall_shuffle_pt2_idle"][0] = %det_school_fall_shuffle_vm_pt2_idle; + level.scr_anim["world_body"]["school_fall_shuffle_pt3"] = %det_school_fall_shuffle_vm_pt3; + level.scr_anim["world_body"]["school_fall_shuffle_pt3_idle"][0] = %det_school_fall_shuffle_vm_pt3_idle; + level.scr_anim["world_body"]["school_fall_shuffle_pt4"] = %det_school_fall_shuffle_vm_pt4; + level.scr_anim["world_body"]["school_fall_shuffle_pt4_idle"][0] = %det_school_fall_shuffle_vm_pt4_idle; + level.scr_anim["world_body"]["school_fall"] = %det_school_fall_vm; + if(level.nextgen || issubstr(level.transient_zone,"_school")) + { + maps\_anim::addnotetrack_customfunction("world_body","fall_school_int",::maps\detroit_fx::det_fall_through_ceiling,"school_fall"); + } + + level.scr_anim["world_body"]["bike_dismount"] = %det_school_splitup_vm; + if(level.nextgen || level.transient_zone == "middle") + { + maps\_anim::addnotetrack_customfunction("world_body","fovchange",::change_fov_back_to_65,"bike_dismount"); + maps\_anim::addnotetrack_customfunction("world_body","playerbikevmswitch",::player_bike_to_ai_model,"bike_dismount"); + maps\_anim::addnotetrack_notify("world_body","off_button","intro_drive_off_button_pressed","bike_dismount"); + } + + level.scr_anim["world_body"]["wall_pull"] = %det_school_wall_pull_vm; + if(level.nextgen || issubstr(level.transient_zone,"_school")) + { + maps\_anim::addnotetrack_customfunction("world_body","weapon_up",::give_weapon_knife,"wall_pull"); + maps\_anim::addnotetrack_customfunction("world_body","slowmo_start",::begin_wallpull_slowmo,"wall_pull"); + } + + level.scr_anim["world_body"]["vm_crash_anim"] = %det_finale_crash_vm; + level.scr_anim["world_body"]["level_intro_cinematic"] = %det_camp_intro_vm; + maps\_anim::addnotetrack_notify("world_body","fovchange","opening_fovchange","level_intro_cinematic"); + level.scr_anim["world_hands"]["body_room_exit"] = %det_school_enter_vm; + level.scr_anim["world_body"]["det_hos_breach_fail_vm"] = %det_hos_breach_fail_vm; + level.scr_anim["world_body"]["det_hos_breach_success_vm"] = %det_hos_breach_success_vm; + level.scr_goaltime["world_body"]["det_hos_breach_success_vm"] = 0; + level.scr_anim["world_body"]["det_hos_breach_vm"] = %det_hos_breach_vm; + maps\_anim::addnotetrack_customfunction("world_body","gun_butt",::doctor_capture_player_melee_and_hit,"det_hos_breach_fail_vm"); + maps\_anim::addnotetrack_customfunction("world_body","player_death",::doctor_capture_player_killed,"det_hos_breach_fail_vm"); + maps\_anim::addnotetrack_customfunction("world_body","rumble",::controller_rumble_heavy_long,"det_hos_breach_vm"); + if(level.nextgen || issubstr(level.transient_zone,"_hospital")) + { + maps\_anim::addnotetrack_customfunction("world_body","slowmo_start",::hospital_slowmo_start,"det_hos_breach_vm"); + } + + level.scr_anim["world_body"]["det_exit_drive_ending"] = %det_mech_laydown_cover_vm; + if(level.nextgen || issubstr(level.transient_zone,"_outro")) + { + maps\_anim::addnotetrack_notify("world_body","spotlight_off","detroit_final_chopper_hit","det_exit_drive_ending"); + maps\_anim::addnotetrack_notify("world_body","detroit_final_VO","detroit_ending_VO","det_exit_drive_ending"); + maps\_anim::addnotetrack_notify("world_body","fadeout","detroit_level_fadeout","det_exit_drive_ending"); + } + + level.scr_anim["world_body"]["exo_push_idle"][0] = %det_hos_vehicle_push_vm_push_idle; + level.scr_anim["world_body"]["exo_push_loop"][0] = %det_hos_vehicle_push_vm_push_loop; + level.scr_anim["world_body"]["exo_push_attach"] = %det_hos_vehicle_push_vm_push_trans_in; + level.scr_anim["world_body"]["exo_push_idle_to_loop"] = %det_hos_vehicle_push_vm_push_trans_into_push; + level.scr_anim["world_body"]["exo_push_detach"] = %det_hos_vehicle_push_vm_push_trans_out; + level.scr_anim["world_body"]["exo_push_loop_to_idle"] = %det_hos_vehicle_push_vm_push_trans_out_push; +} + +//Function Number: 13 +change_fov_back_to_65(param_00) +{ + level.player lerpfov(65,2); +} + +//Function Number: 14 +begin_wallpull_slowmo(param_00) +{ + level notify("begin_slowmo_lerp_in"); +} + +//Function Number: 15 +helmet_swap(param_00) +{ + level notify("helmet_swap_time"); +} + +//Function Number: 16 +hospital_slowmo_start(param_00) +{ + maps\_utility::slowmo_lerp_in(); +} + +//Function Number: 17 +hospital_breach_punch(param_00) +{ + var_01 = earthquake(0.6,0.2,level.player.origin,1000); + level.player playrumbleonentity("light_1s"); +} + +//Function Number: 18 +doctor_capture_player_melee_and_hit(param_00) +{ + level.player dodamage(level.player.maxhealth / 4,level.player.origin); + controller_rumble_heavy_long(param_00); +} + +//Function Number: 19 +doctor_capture_player_killed(param_00) +{ + level.player dodamage(level.player.maxhealth,level.player.origin); + level.player kill(); + maps\_player_death::set_deadquote(&"DETROIT_QTE_FAIL"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 20 +controller_rumble_heavy_long(param_00) +{ + level.player playrumbleonentity("heavy_1s"); +} + +//Function Number: 21 +controller_rumble_light_long(param_00) +{ + level.player playrumbleonentity("light_1s"); +} + +//Function Number: 22 +controller_rumble_heavy(param_00) +{ + level.player playrumbleonentity("damage_heavy"); +} + +//Function Number: 23 +controller_rumble_light(param_00) +{ + level.player playrumbleonentity("damage_light"); +} + +//Function Number: 24 +give_weapon_knife(param_00) +{ + if(maps\_utility::player_has_weapon("iw5_unarmeddetroit_nullattach")) + { + level.player takeweapon("iw5_unarmeddetroit_nullattach"); + wait(1.2); + level.player giveweapon("iw5_bal27_sp_silencer01_variablereddot"); + level.player switchtoweapon("iw5_bal27_sp_silencer01_variablereddot"); + } + + maps\_variable_grenade::give_player_variable_grenade(); +} + +//Function Number: 25 +player_bike_to_ai_model(param_00) +{ + level.player_bike setmodel("vehicle_mil_hoverbike_ai"); + level notify("switch_bikes_to_ai"); +} + +//Function Number: 26 +player_bike_to_vm_model(param_00) +{ + level.player_bike setmodel("vehicle_mil_hoverbike_vm"); + level notify("switch_bikes_to_vm"); +} + +//Function Number: 27 +doc_capture_bagspawn(param_00) +{ + common_scripts\utility::flag_set("show_capture_bag"); +} + +//Function Number: 28 +doc_capture_headswap(param_00) +{ + common_scripts\utility::flag_set("show_capture_head"); +} + +//Function Number: 29 +begin_stealth_walk(param_00) +{ + level.burke maps\_utility::set_generic_run_anim("stealth_walk",0); +} + +//Function Number: 30 +sentinel_reveal_slowmo_start(param_00) +{ + wait(1.3); + setslowmotion(level.slowmo.speed_norm,level.slowmo.speed_slow,level.slowmo.lerp_time_in); +} + +//Function Number: 31 +sentinel_reveal_slowmo_stop(param_00) +{ + maps\_utility::slowmo_lerp_out(); + common_scripts\utility::flag_set("sentinel_kva_fov_lerp_out"); +} + +//Function Number: 32 +sentinel_reveal_dialogue_continue(param_00) +{ + common_scripts\utility::flag_set("vo_sentinel_reveal"); +} + +//Function Number: 33 +sentinel_reveal_guy1_decloak(param_00) +{ + common_scripts\utility::flag_set("sentinel_reveal_guy1_decloak"); +} + +//Function Number: 34 +sentinel_reveal_guy2_decloak(param_00) +{ + common_scripts\utility::flag_set("sentinel_reveal_guy2_decloak"); +} + +//Function Number: 35 +sentinel_reveal_guy3_decloak(param_00) +{ + common_scripts\utility::flag_set("sentinel_reveal_guy3_decloak"); +} + +//Function Number: 36 +script_model_anims() +{ + level.scr_animtree["floorboards"] = #animtree; + level.scr_model["floorboards"] = "det_shimmy_panels_01_anim"; + level.scr_anim["floorboards"]["det_school_fall_beams"] = %det_school_fall_beams; + level.scr_anim["floorboards"]["det_school_fall_shuffle_pt0_idle_beams"][0] = %det_school_fall_shuffle_pt0_idle_beams; + level.scr_anim["floorboards"]["det_school_fall_shuffle_pt1_beams"] = %det_school_fall_shuffle_pt1_beams; + level.scr_anim["floorboards"]["det_school_fall_shuffle_pt1_idle_beams"][0] = %det_school_fall_shuffle_pt1_idle_beams; + level.scr_anim["floorboards"]["det_school_fall_shuffle_pt2_beams"] = %det_school_fall_shuffle_pt2_beams; + level.scr_anim["floorboards"]["det_school_fall_shuffle_pt2_idle_beams"][0] = %det_school_fall_shuffle_pt2_idle_beams; + level.scr_anim["floorboards"]["det_school_fall_shuffle_pt3_beams"] = %det_school_fall_shuffle_pt3_beams; + level.scr_anim["floorboards"]["det_school_fall_shuffle_pt3_idle_beams"][0] = %det_school_fall_shuffle_pt3_idle_beams; + level.scr_anim["floorboards"]["det_school_fall_shuffle_pt4_beams"] = %det_school_fall_shuffle_pt4_beams; + level.scr_anim["floorboards"]["det_school_fall_shuffle_pt4_idle_beams"][0] = %det_school_fall_shuffle_pt4_idle_beams; + level.scr_anim["floorboards"]["det_school_fall_stand_2_shuffle_beams"] = %det_school_fall_stand_2_shuffle_beams; + level.scr_animtree["knife"] = #animtree; + level.scr_anim["knife"]["wall_pull"] = %det_school_wall_pull_knife; + level.scr_animtree["shelf"] = #animtree; + level.scr_model["shelf"] = "det_hospital_shelf_01_anim"; + level.scr_anim["shelf"]["det_hos_breach_success_shelf01"] = %det_hos_breach_success_shelf01; + if(level.nextgen || issubstr(level.transient_zone,"_hospital")) + { + maps\_anim::addnotetrack_customfunction("shelf","shelf_papers",::maps\detroit_fx::det_shelf_papers_fx,"det_hos_breach_success_shelf01"); + } + + level.scr_anim["shelf"]["det_hos_breach_success_shelf02"] = %det_hos_breach_success_shelf02; + level.scr_animtree["butress"] = #animtree; + level.scr_anim["butress"]["close"] = %det_retractable_car_barricade_close; + level.scr_anim["butress"]["open"] = %det_retractable_car_barricade_open; + level.scr_animtree["gun"] = #animtree; + level.scr_model["gun"] = "npc_bal_27_grey"; + level.scr_anim["gun"]["school_fall"] = %det_school_fall_bal27; + level.scr_animtree["brick"] = #animtree; + level.scr_model["brick"] = "det_brick_01"; + level.scr_anim["brick"]["wall_pull"] = %det_school_wall_pull_brick; + level.scr_animtree["basement_door"] = #animtree; + level.scr_model["basement_door"] = "det_school_door_01_anim"; + level.scr_anim["basement_door"]["door_open_basement"] = %det_school_patrol_door; + if(level.nextgen || issubstr(level.transient_zone,"_school")) + { + maps\_anim::addnotetrack_customfunction("brick","brick_pull",::maps\detroit_fx::det_brick_pull_fx,"wall_pull"); + } + + level.scr_animtree["valve"] = #animtree; + level.scr_model["valve"] = "det_basement_valve_01_anim"; + level.scr_anim["valve"]["school_investigate"] = %det_school_investigate_valve; + level.scr_animtree["baseball_glove"] = #animtree; + level.scr_model["baseball_glove"] = "ehq_baseball_glove_01"; + level.scr_anim["baseball_glove"]["baseball_glove1"][0] = %det_camp_baseball_glove01; + level.scr_anim["baseball_glove"]["baseball_glove2"][0] = %det_camp_baseball_glove02; + level.scr_animtree["decon_gate"] = #animtree; + level.scr_model["decon_gate"] = "det_security_checkpoint_01"; + level.scr_anim["decon_gate"]["decon_scanner_front"] = %det_gate_decon_scanner_a; + level.scr_anim["decon_gate"]["decon_scanner_back"] = %det_gate_decon_scanner_b; + level.scr_anim["decon_gate"]["det_gate_decon_station"] = %det_gate_decon_station; + if(level.nextgen) + { + maps\_anim::addnotetrack_notify("decon_gate","door_open","scanner_doors_open","decon_scanner_back"); + maps\_anim::addnotetrack_customfunction("decon_gate","scanner_start",::maps\detroit_fx::det_scanner_fx,"decon_scanner_back"); + maps\_anim::addnotetrack_customfunction("decon_gate","scan_1",::maps\detroit_fx::det_scanner_fx_bg,"det_gate_decon_station"); + maps\_anim::addnotetrack_customfunction("decon_gate","scan_2",::maps\detroit_fx::det_scanner_fx_bg,"det_gate_decon_station"); + maps\_anim::addnotetrack_customfunction("decon_gate","scan_3",::maps\detroit_fx::det_scanner_fx_bg,"det_gate_decon_station"); + } + else if(level.currentgen && level.transient_zone == "intro") + { + maps\_anim::addnotetrack_notify("decon_gate","door_open","scanner_doors_open","decon_scanner_back"); + maps\_anim::addnotetrack_customfunction("decon_gate","scanner_start",::maps\detroit_fx::det_scanner_fx,"decon_scanner_back"); + maps\_anim::addnotetrack_customfunction("decon_gate","scan_1",::maps\detroit_fx::det_scanner_fx_bg,"det_gate_decon_station"); + maps\_anim::addnotetrack_customfunction("decon_gate","scan_2",::maps\detroit_fx::det_scanner_fx_bg,"det_gate_decon_station"); + maps\_anim::addnotetrack_customfunction("decon_gate","scan_3",::maps\detroit_fx::det_scanner_fx_bg,"det_gate_decon_station"); + } + + level.scr_animtree["entrance_gate"] = #animtree; + level.scr_model["entrance_gate"] = "refugee_gate_main_rigged"; + level.scr_anim["entrance_gate"]["hoverbike_meet_up"] = %det_motorpool_meet_up_gate; + if(level.nextgen) + { + maps\_anim::addnotetrack_customfunction("entrance_gate","gate_open",::maps\detroit_lighting::gate_lights_off_toggle_on,"hoverbike_meet_up"); + maps\_anim::addnotetrack_customfunction("entrance_gate","gate_open",::maps\detroit_fx::gate_open_rain_fall_fx,"hoverbike_meet_up"); + } + else if(level.currentgen && level.transient_zone == "intro") + { + thread cg_gate_anim_notetrack_load_stall(); + level.cg_noterack_delay_count = level.cg_noterack_delay_count + 1; + } + + level.scr_animtree["school_door"] = #animtree; + level.scr_model["school_door"] = "det_school_door_01_anim"; + level.scr_anim["school_door"]["burke_school_door"] = %det_school_enter_pt2_bodies_door; + level.scr_animtree["body_room_exit_door"] = #animtree; + level.scr_model["body_room_exit_door"] = "det_school_door_01_anim"; + level.scr_anim["body_room_exit_door"]["body_room_exit"] = %det_school_enter_door_vm; + level.scr_animtree["joker_fence"] = #animtree; + level.scr_model["joker_fence"] = "det_fence_lrg_01_animated_01"; + level.scr_anim["joker_fence"]["bike_dismount"] = %det_school_splitup_joker_fence; + level.scr_animtree["bones_fence"] = #animtree; + level.scr_model["bones_fence"] = "det_fence_lrg_01_animated_01"; + level.scr_anim["bones_fence"]["bike_dismount"] = %det_school_splitup_bones_fence; + level.scr_animtree["generic_prop"] = #animtree; + level.scr_model["generic_prop"] = "genericprop"; + level.scr_anim["generic_prop"]["school_investigate"] = %det_school_investigate_door; + level.scr_animtree["animated_door"] = #animtree; + level.scr_model["animated_door"] = "det_hospital_door_02"; + level.scr_anim["animated_door"]["det_exit_drive_starting_anim_1"] = %det_exfil_droponbike_enter_door; + level.scr_animtree["gate"] = #animtree; + level.scr_model["gate"] = "refugee_gate_main_rigged"; + level.scr_anim["gate"]["det_exit_drive_ending"] = %det_mech_laydown_cover_gate; + level.scr_animtree["foodtruck_mre"] = #animtree; + level.scr_model["foodtruck_mre"] = "det_cargo_box_single_01"; + level.scr_anim["foodtruck_mre"]["foodtruck_mre1"][0] = %det_camp_foodtruck_pack_01; + level.scr_anim["foodtruck_mre"]["foodtruck_mre2"][0] = %det_camp_foodtruck_pack_02; + level.scr_animtree["school_floor"] = #animtree; + level.scr_model["school_floor"] = "det_floor_collapse_01_anim"; + level.scr_anim["school_floor"]["school_fall"] = %det_school_fall_floors; + level.scr_animtree["pay_machine"] = #animtree; + level.scr_model["pay_machine"] = "det_ticketmachine_damaged_rigged"; + level.scr_anim["pay_machine"]["sentinel_kva_reveal"] = %det_hos_sent_meet_paymachine; + level.scr_animtree["school_blockage"] = #animtree; + level.scr_model["school_blockage"] = "det_pre_shimmy_beam"; + level.scr_anim["school_blockage"]["burke_wall_walk"] = %det_school_fall_barricade; + level.scr_animtree["capture_bag"] = #animtree; + level.scr_model["capture_bag"] = "det_doctor_prop_bagA"; + level.scr_anim["capture_bag"]["doctor_capture"] = %det_doctor_capture_bag; + if(level.nextgen || issubstr(level.transient_zone,"_hospital")) + { + maps\_anim::addnotetrack_customfunction("capture_bag","spawn_bag",::doc_capture_bagspawn,"doctor_capture"); + } + + level.scr_animtree["hospital_door"] = #animtree; + level.scr_model["hospital_door"] = "det_hospital_door_02"; + level.scr_anim["hospital_door"]["hospital_breach"] = %det_hos_breach_damaged_door; +} + +//Function Number: 37 +destructible_anims() +{ + level.scr_animtree["busted_light"] = #animtree; + level.scr_model["busted_light"] = "me_lightfluohang_double_destroyed"; + level.scr_anim["busted_light"]["busted_light_gag"] = %light_fluorescent_swing_02; + level.scr_animtree["working_light"] = #animtree; + level.scr_model["working_light"] = "s1_lightfluohang_double_on_dim"; + level.scr_anim["working_light"]["busted_light_gag"] = %light_fluorescent_swing_02; +} + +//Function Number: 38 +cig_hide(param_00) +{ + level notify("show special cig"); +} + +//Function Number: 39 +cig_show(param_00) +{ + level notify("hide special cig"); +} \ No newline at end of file diff --git a/AW/PC/maps/detroit_aud.gsc b/AW/PC/maps/detroit_aud.gsc new file mode 100644 index 0000000..fab2b74 --- /dev/null +++ b/AW/PC/maps/detroit_aud.gsc @@ -0,0 +1,3723 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: detroit_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 290 + * Decompile Time: 4255 ms + * Timestamp: 4/22/2024 2:27:45 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + config_system(); + init_snd_flags(); + init_globals(); + launch_threads(); + launch_loops(); + create_level_envelop_arrays(); + precache_presets(); + register_snd_messages(); +} + +//Function Number: 2 +register_snd_messages() +{ + soundscripts\_snd::snd_register_message("snd_zone_handler",::zone_handler); + soundscripts\_snd::snd_register_message("snd_music_handler",::music_handler); + soundscripts\_snd::snd_register_message("start_refugee_camp",::start_refugee_camp); + soundscripts\_snd::snd_register_message("start_drive_in",::start_drive_in); + soundscripts\_snd::snd_register_message("start_school",::start_school); + soundscripts\_snd::snd_register_message("start_school_interior",::start_school_interior); + soundscripts\_snd::snd_register_message("start_school_before_fall",::start_school_before_fall); + soundscripts\_snd::snd_register_message("start_school_basement",::start_school_basement); + soundscripts\_snd::snd_register_message("start_school_wall_grab",::start_school_wall_grab); + soundscripts\_snd::snd_register_message("start_alleyway",::start_alleyway); + soundscripts\_snd::snd_register_message("start_office",::start_office); + soundscripts\_snd::snd_register_message("start_exopush",::start_exopush); + soundscripts\_snd::snd_register_message("start_hospital",::start_hospital); + soundscripts\_snd::snd_register_message("start_hospital_capture_animation",::start_hospital_capture_animation); + soundscripts\_snd::snd_register_message("start_sentinel_reveal",::start_sentinel_reveal); + soundscripts\_snd::snd_register_message("start_exit_drive",::start_exit_drive); + soundscripts\_snd::snd_register_message("weather_report",::weather_report); + soundscripts\_snd::snd_register_message("lightning_strike",::lightning_strike); + soundscripts\_snd::snd_register_message("play_maglev_train_path",::play_maglev_train_path); + soundscripts\_snd::snd_register_message("opening_start",::opening_start); + soundscripts\_snd::snd_register_message("level_intro_cinematic",::level_intro_cinematic); + soundscripts\_snd::snd_register_message("begin_refugee_walk",::begin_refugee_walk); + soundscripts\_snd::snd_register_message("begin_intro_conversation",::begin_intro_conversation); + soundscripts\_snd::snd_register_message("start_stage_dialog",::start_stage_dialog); + soundscripts\_snd::snd_register_message("jetbike_intro",::jetbike_intro); + soundscripts\_snd::snd_register_message("refugee_butress_down",::refugee_butress_down); + soundscripts\_snd::snd_register_message("gate_lightning",::gate_lightning); + soundscripts\_snd::snd_register_message("drive_in_done",::drive_in_done); + soundscripts\_snd::snd_register_message("begin_on_foot_segment",::begin_on_foot_segment); + soundscripts\_snd::snd_register_message("walk_to_school",::walk_to_school); + soundscripts\_snd::snd_register_message("horror_fluorescent_break",::horror_fluorescent_break); + soundscripts\_snd::snd_register_message("horror_burke_gets_up_after_tile",::horror_burke_gets_up_after_tile); + soundscripts\_snd::snd_register_message("horror_burk_opens_bodies_room_door",::horror_burk_opens_bodies_room_door); + soundscripts\_snd::snd_register_message("body_room_exit",::body_room_exit); + soundscripts\_snd::snd_register_message("finish_bodies_room_burke",::finish_bodies_room_burke); + soundscripts\_snd::snd_register_message("horror_ghost_runs_by_door",::horror_ghost_runs_by_door); + soundscripts\_snd::snd_register_message("school_upthestairs",::school_upthestairs); + soundscripts\_snd::snd_register_message("burke_startle_stairs",::burke_startle_stairs); + soundscripts\_snd::snd_register_message("player_shimmy_intro",::player_shimmy_intro); + soundscripts\_snd::snd_register_message("school_fall",::school_fall); + soundscripts\_snd::snd_register_message("school_fall_into_basement",::school_fall_into_basement); + soundscripts\_snd::snd_register_message("basement_investigate",::basement_investigate); + soundscripts\_snd::snd_register_message("kva_basement_idle_start",::kva_basement_idle_start); + soundscripts\_snd::snd_register_message("steam_burst_valve_started",::steam_burst_valve_started); + soundscripts\_snd::snd_register_message("wall_pull_animation_begin",::wall_pull_animation_begin); + soundscripts\_snd::snd_register_message("wall_pull_slowmo",::wall_pull_slowmo); + soundscripts\_snd::snd_register_message("detroit_kva_bauerdoyoureadme",::detroit_kva_bauerdoyoureadme); + soundscripts\_snd::snd_register_message("train_scare",::train_scare); + soundscripts\_snd::snd_register_message("school_lightning_strike",::school_lightning_strike); + soundscripts\_snd::snd_register_message("kva_knife_takedown_scene_begin",::kva_knife_takedown_scene_begin); + soundscripts\_snd::snd_register_message("mus_alley_combat",::mus_alley_combat); + soundscripts\_snd::snd_register_message("temp_dog_bark",::temp_dog_bark); + soundscripts\_snd::snd_register_message("office_reunion_dialogue",::office_reunion_dialogue); + soundscripts\_snd::snd_register_message("hospital_breach_gun_away",::hospital_breach_gun_away); + soundscripts\_snd::snd_register_message("hostpital_breach_start",::hostpital_breach_start); + soundscripts\_snd::snd_register_message("push_dude_into_shelves",::push_dude_into_shelves); + soundscripts\_snd::snd_register_message("breach_bad_guy2_gets_shot",::breach_bad_guy2_gets_shot); + soundscripts\_snd::snd_register_message("shoot_dude_through_window",::shoot_dude_through_window); + soundscripts\_snd::snd_register_message("breach_slo_mo_exit",::breach_slo_mo_exit); + soundscripts\_snd::snd_register_message("capture_doctor_scene_start",::capture_doctor_scene_start); + soundscripts\_snd::snd_register_message("office_skylights_breakable",::office_skylights_breakable); + soundscripts\_snd::snd_register_message("begin_exo_push",::begin_exo_push); + soundscripts\_snd::snd_register_message("ambulance_push_attach",::ambulance_push_attach); + soundscripts\_snd::snd_register_message("ambulance_push_active",::ambulance_push_active); + soundscripts\_snd::snd_register_message("ambulance_push_step_away",::ambulance_push_step_away); + soundscripts\_snd::snd_register_message("ambulance_push_idle",::ambulance_push_idle); + soundscripts\_snd::snd_register_message("ambulance_push_sequence_end",::ambulance_push_sequence_end); + soundscripts\_snd::snd_register_message("hospital_flashbang1",::hospital_flashbang1); + soundscripts\_snd::snd_register_message("hospital_flashbang2",::hospital_flashbang2); + soundscripts\_snd::snd_register_message("hospital_flashbang3",::hospital_flashbang3); + soundscripts\_snd::snd_register_message("det_hospital_gate_close",::det_hospital_gate_close); + soundscripts\_snd::snd_register_message("det_start_doctor_breathing",::det_start_doctor_breathing); + soundscripts\_snd::snd_register_message("reveal_scene_start",::reveal_scene_start); + soundscripts\_snd::snd_register_message("reveal_explosion",::reveal_explosion); + soundscripts\_snd::snd_register_message("sent_guy_1_decloak",::sent_guy_1_decloak); + soundscripts\_snd::snd_register_message("sent_guy_2_decloak",::sent_guy_2_decloak); + soundscripts\_snd::snd_register_message("sent_guy_3_decloak",::sent_guy_3_decloak); + soundscripts\_snd::snd_register_message("det_knx_thatsclassifiedmate",::det_knx_thatsclassifiedmate); + soundscripts\_snd::snd_register_message("sentinel_reveal_final_vo",::sentinel_reveal_final_vo); + soundscripts\_snd::snd_register_message("aud_impact_system_jetbike",::aud_impact_system_jetbike); + soundscripts\_snd::snd_register_message("exit_ride_jetbike_mount_player",::exit_ride_jetbike_mount_player); + soundscripts\_snd::snd_register_message("gaz_store_shootout_drive",::gaz_store_shootout_drive); + soundscripts\_snd::snd_register_message("warehouse_chase_vehicle_02",::warehouse_chase_vehicle_02); + soundscripts\_snd::snd_register_message("warehouse_chase_vehicle_03",::warehouse_chase_vehicle_03); + soundscripts\_snd::snd_register_message("warehouse_chase_vehicle_04",::warehouse_chase_vehicle_04); + soundscripts\_snd::snd_register_message("warehouse_car_shots",::warehouse_car_shots); + soundscripts\_snd::snd_register_message("gaz_water_crash_01",::gaz_water_crash_01); + soundscripts\_snd::snd_register_message("gaz_water_crash_02",::gaz_water_crash_02); + soundscripts\_snd::snd_register_message("exit_drive_rpgs",::exit_drive_rpgs); + soundscripts\_snd::snd_register_message("exitdrive_chopper_initial",::exitdrive_chopper_initial); + soundscripts\_snd::snd_register_message("exitdrive_chopper_initial_gopath",::exitdrive_chopper_initial_gopath); + soundscripts\_snd::snd_register_message("exitdrive_chopper_tracks_1",::exitdrive_chopper_tracks_1); + soundscripts\_snd::snd_register_message("exitdrive_chopper_tracks_1_gopath",::exitdrive_chopper_tracks_1_gopath); + soundscripts\_snd::snd_register_message("exitdrive_chopper_final",::exitdrive_chopper_final); + soundscripts\_snd::snd_register_message("exitdrive_chopper_final_gopath",::exitdrive_chopper_final_gopath); + soundscripts\_snd::snd_register_message("collapsing_buttress_missile",::collapsing_buttress_missile); + soundscripts\_snd::snd_register_message("collapsing_buttress_01",::collapsing_buttress_01); + soundscripts\_snd::snd_register_message("collapsing_buttress_02",::collapsing_buttress_02); + soundscripts\_snd::snd_register_message("collapsing_buttress_03",::collapsing_buttress_03); + soundscripts\_snd::snd_register_message("exit_train_by",::exit_train_by); + soundscripts\_snd::snd_register_message("exit_drive_ending_begin",::exit_drive_ending_begin); + soundscripts\_snd::snd_register_message("gaz_water_crashed",::gaz_water_crashed); + soundscripts\_snd::snd_register_message("exit_drive_rpgs",::exit_drive_rpgs); + soundscripts\_snd::snd_register_message("exitdrive_chopper_initial",::exitdrive_chopper_initial); + soundscripts\_snd::snd_register_message("exitdrive_chopper_initial_gopath",::exitdrive_chopper_initial_gopath); + soundscripts\_snd::snd_register_message("exitdrive_chopper_tracks_1",::exitdrive_chopper_tracks_1); + soundscripts\_snd::snd_register_message("exitdrive_chopper_tracks_1_gopath",::exitdrive_chopper_tracks_1_gopath); + soundscripts\_snd::snd_register_message("exitdrive_chopper_final",::exitdrive_chopper_final); + soundscripts\_snd::snd_register_message("exitdrive_chopper_final_gopath",::exitdrive_chopper_final_gopath); + soundscripts\_snd::snd_register_message("collapsing_buttress_missile",::collapsing_buttress_missile); + soundscripts\_snd::snd_register_message("collapsing_buttress_01",::collapsing_buttress_01); + soundscripts\_snd::snd_register_message("collapsing_buttress_02",::collapsing_buttress_02); + soundscripts\_snd::snd_register_message("collapsing_buttress_03",::collapsing_buttress_03); + soundscripts\_snd::snd_register_message("exit_train_by",::exit_train_by); + soundscripts\_snd::snd_register_message("exit_drive_ending_begin",::exit_drive_ending_begin); + soundscripts\_snd::snd_register_message("chopper_final_explo",::chopper_final_explo); + soundscripts\_snd::snd_register_message("det_gl_end_logo",::det_gl_end_logo); + soundscripts\_snd::snd_register_message("e3_demo_fade_out",::e3_demo_fade_out); + soundscripts\_snd::snd_register_message("e3_demo_fade_in",::e3_demo_fade_in); + soundscripts\_snd::snd_register_message("e3_demo_clear_basement_footsteps",::e3_demo_clear_basement_footsteps); +} + +//Function Number: 3 +config_system() +{ + soundscripts\_audio::set_stringtable_mapname("shg"); + soundscripts\_snd_filters::snd_set_occlusion("med_occlusion"); + soundscripts\_snd_timescale::snd_set_timescale("detroit_default"); + soundscripts\_audio_mix_manager::mm_add_submix("det_global"); +} + +//Function Number: 4 +init_snd_flags() +{ + common_scripts\utility::flag_init("aud_parking_garage_enter"); + common_scripts\utility::flag_init("aud_parking_garage_exit"); + common_scripts\utility::flag_init("aud_school_entrance"); + common_scripts\utility::flag_init("aud_school_bsmnt_stairs_start"); + common_scripts\utility::flag_init("aud_school_bsmnt_stairs_end"); + common_scripts\utility::flag_init("aud_school_exit"); + common_scripts\utility::flag_init("aud_courtyard_flood_start"); + common_scripts\utility::flag_init("aud_courtyard_flood_end"); + common_scripts\utility::flag_init("aud_horror_fluorescent_break"); + common_scripts\utility::flag_init("aud_wallpull_begin"); + common_scripts\utility::flag_init("aud_wallpull_success"); + common_scripts\utility::flag_init("aud_maglev_train_path_disabled"); +} + +//Function Number: 5 +aud_flag_handler() +{ + common_scripts\utility::flag_wait("aud_parking_garage_enter"); + common_scripts\utility::flag_wait("aud_parking_garage_exit"); + common_scripts\utility::flag_wait("aud_school_entrance"); + common_scripts\utility::flag_wait("aud_school_bsmnt_stairs_start"); + common_scripts\utility::flag_wait("aud_school_bsmnt_stairs_end"); + common_scripts\utility::flag_wait("aud_school_exit"); + common_scripts\utility::flag_wait("aud_courtyard_flood_start"); + common_scripts\utility::flag_wait("aud_courtyard_flood_end"); +} + +//Function Number: 6 +init_globals() +{ + level.aud.ams_enabled = 0; + level.aud.amb_pushing = 0; +} + +//Function Number: 7 +launch_threads() +{ + if(soundscripts\_audio::aud_is_specops()) + { + return; + } + + thread setup_gideon_intro_foley(); + thread setup_det_intro_catch_anims(); + thread setup_hoverbike_meet_up_notetracks(); + thread player_fall_zone_swap(); + thread aud_flag_handler(); + thread start_point_source_dambs(); + thread setup_decon_gate_anims(); + thread setup_entrance_gate_anims(); + thread setup_jetbike_motorpool_anims(); + thread setup_jetbike_checkpoint_anims(); + thread jetbikes_arrive_at_school(); + thread aud_det_foley_override_handler(); + thread setup_school_shimmy_anims(); + thread setup_wall_pull_anims(); + thread setup_fence_climb_anims(); + thread setup_hospital_post_breach_anims(); + thread setup_sentinel_reveal_anims(); + thread setup_exit_ride_anims(); + thread setup_ending_anims(); + thread setup_chopper_crash_anims(); + thread setup_end_gate(); +} + +//Function Number: 8 +player_fall_zone_swap() +{ + common_scripts\utility::flag_wait("flag_player_shimmy_start"); + wait(0.5); + soundscripts\_audio_zone_manager::azm_start_zone("dtrt_int_school_floor_1",1); +} + +//Function Number: 9 +launch_loops() +{ + thread launch_intro_loops(); + thread launch_intro_ride_loops(); + thread launch_school_street_loops(); + thread launch_school_interior_loops(); + thread launch_office_loops(); +} + +//Function Number: 10 +launch_intro_loops() +{ + if(level.currentgen && !issubstr(level.transient_zone,"intro")) + { + level waittill("detroit_intro_tr"); + wait(0.05); + } + + common_scripts\utility::loop_fx_sound("det_walla_start",(-14077,11309,-4),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("det_walla_fence_left",(-13471,10711,-4),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("det_walla_fence_right",(-14137,9868,-4),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("det_walla_food_truck",(-13571,9159,-4),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("det_walla_stage",(-12791,9098,-32),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_ext_tarp_rustle",(-14268,9863,78),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_ext_tarp_rustle",(-14068,9219,482),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_ext_wind_lrg",(-13840,11244,23),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_ext_wind_lrg",(-13796,10474,17),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_ext_wind_lrg",(-13714,9965,0),1,"aud_stop_intro"); + if(level.currentgen) + { + level waittill("tff_pre_intro_to_middle"); + level notify("aud_stop_intro"); + } +} + +//Function Number: 11 +launch_intro_ride_loops() +{ + if(level.currentgen && !issubstr(level.transient_zone,"_gate")) + { + level waittill("tff_post_gatetrans_entry"); + wait(0.05); + } + + common_scripts\utility::loop_fx_sound("emt_ext_wind_lrg",(-7742,6106,40),1,"aud_stop_intro_ride"); + common_scripts\utility::loop_fx_sound("emt_ext_water_on_concrete_high_01",(-7906,8496,-68),1,"aud_stop_intro_ride"); + common_scripts\utility::loop_fx_sound("emt_ext_water_on_concrete_high_02",(-7830,8072,-68),1,"aud_stop_intro_ride"); + common_scripts\utility::loop_fx_sound("emt_ext_water_on_concrete_high_02",(-5842,9796,-81),1,"aud_stop_intro_ride"); + common_scripts\utility::loop_fx_sound("emt_ext_water_on_water_high_01",(-7602,9383,-68),1,"aud_stop_intro_ride"); + common_scripts\utility::loop_fx_sound("emt_ext_water_on_water_high_02",(-7587,10017,-68),1,"aud_stop_intro_ride"); + common_scripts\utility::loop_fx_sound("emt_ext_water_on_water_low_02",(-7332,9844,-39),1,"aud_stop_intro_ride"); + common_scripts\utility::loop_fx_sound("emt_rain_into_pool_drippy_lp_01",(-7602,9383,-68),1,"aud_stop_intro_ride"); + common_scripts\utility::loop_fx_sound("emt_rain_into_pool_drippy_lp_02",(-7332,9844,-39),1,"aud_stop_intro_ride"); + common_scripts\utility::loop_fx_sound("emt_rain_into_pool_drippy_lp_01",(-4416,9518,-71),1,"aud_stop_intro_ride"); + common_scripts\utility::loop_fx_sound("emt_rain_into_pool_drippy_lp_01",(-7315,9618,-100),1,"aud_stop_intro_ride"); + common_scripts\utility::loop_fx_sound("emt_ext_water_on_water_high_02",(-5164,9688,-81),1,"aud_stop_intro_ride"); + common_scripts\utility::loop_fx_sound("emt_rain_into_pool_drippy_lp_02",(-4815,9834,-81),1,"aud_stop_intro_ride"); + common_scripts\utility::loop_fx_sound("emt_ext_water_on_water_med_02",(-7248,8942,-68),1,"aud_stop_intro_ride"); + common_scripts\utility::loop_fx_sound("emt_ext_water_on_water_high_01",(-7121,9380,-68),1,"aud_stop_intro_ride"); + common_scripts\utility::loop_fx_sound("emt_ext_water_on_water_low_03",(-7124,9052,-68),1,"aud_stop_intro_ride"); + common_scripts\utility::loop_fx_sound("emt_ext_water_on_concrete_high_03",(-6992,8929,-68),1,"aud_stop_intro_ride"); + common_scripts\utility::loop_fx_sound("emt_ext_water_on_water_high_02",(-6437,9417,-104),1,"aud_stop_intro_ride"); + common_scripts\utility::loop_fx_sound("emt_ext_water_on_concrete_high_03",(-5885,9338,-59),1,"aud_stop_intro_ride"); + common_scripts\utility::loop_fx_sound("emt_rain_into_pool_drippy_lp_01",(-6992,8929,-68),1,"aud_stop_intro_ride"); + common_scripts\utility::loop_fx_sound("emt_rain_into_pool_drippy_lp_02",(-7121,9380,-68),1,"aud_stop_intro_ride"); + if(level.currentgen) + { + level waittill("tff_pre_middle_remove_gatetrans"); + level notify("aud_stop_intro_ride"); + } +} + +//Function Number: 12 +launch_school_street_loops() +{ + if(level.currentgen && !issubstr(level.transient_zone,"middle")) + { + level waittill("tff_post_intro_to_middle"); + wait(0.05); + } + + common_scripts\utility::loop_fx_sound("emt_ext_eerie_parking_garage_wind",(-4737,8822,-232),1); + common_scripts\utility::loop_fx_sound("emt_ext_eerie_parking_garage_wind",(-4225,7158,-289),1); + common_scripts\utility::loop_fx_sound("emt_ext_eerie_parking_garage_wind",(-3570,7163,-93),1); + soundscripts\_snd_playsound::snd_play_loop_at("emt_water_garage",(-5239,8796,-248),"snd_water_garage_clear",2,2); + soundscripts\_snd_playsound::snd_play_loop_at("emt_water_garage",(-3153,7729,-249),"snd_water_garage_clear",2,2); + soundscripts\_snd_playsound::snd_play_loop_at("emt_water_garage",(-4189,7022,-199),"snd_water_garage_clear",2,2); + common_scripts\utility::loop_fx_sound("emt_rain_on_tarp_01",(-2596,9175,-68),1); + common_scripts\utility::loop_fx_sound("emt_rain_on_tarp_01",(-2670,9249,-89),1); + common_scripts\utility::loop_fx_sound("emt_rain_on_tarp_01",(-2569,9314,-89),1); + common_scripts\utility::loop_fx_sound("emt_rain_on_mailbox_01",(-2733,9206,-89),1); + common_scripts\utility::loop_fx_sound("emt_rain_on_tarp_02",(-2432,9184,-37),1); + common_scripts\utility::loop_fx_sound("emt_ext_water_on_concrete_med_01",(-3193,7032,-117),1); + common_scripts\utility::loop_fx_sound("emt_ext_water_on_concrete_low_02",(-3036,7551,-117),1); + common_scripts\utility::loop_fx_sound("emt_ext_water_on_concrete_high_03",(-2541,7071,-127),1); + common_scripts\utility::loop_fx_sound("emt_ext_water_on_concrete_low_03",(-2409,7380,-114),1); + common_scripts\utility::loop_fx_sound("emt_ext_tarp_rustle",(-2638,7461,-86),1); + common_scripts\utility::loop_fx_sound("emt_ext_tarp_rustle",(-2638,7683,-86),1); + common_scripts\utility::loop_fx_sound("emt_ext_tarp_rustle",(-2638,7787,-86),1); + common_scripts\utility::loop_fx_sound("emt_ext_tarp_rustle",(-2640,7987,-86),1); + common_scripts\utility::loop_fx_sound("emt_ext_tarp_rustle",(-2632,8233,-99),1); + common_scripts\utility::loop_fx_sound("emt_ext_tarp_rustle",(-2631,8311,-99),1); + common_scripts\utility::loop_fx_sound("emt_ext_tarp_rustle",(-2601,8744,-88),1); +} + +//Function Number: 13 +launch_school_interior_loops() +{ + if(level.currentgen && !issubstr(level.transient_zone,"_school")) + { + level waittill("tff_post_middle_add_school"); + wait(0.05); + } + + common_scripts\utility::loop_fx_sound("emt_ext_eerie_whistling_wind1",(-2287,8995,-10),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_eerie_howling_wind1",(-2029,9704,-10),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_rain_thru_roof_to_puddle",(-1399,9399,-28),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_eerie_howling_wind2",(-1520,9370,277),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_eerie_howling_wind1",(-2029,9704,-10),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_tarp_sml",(-1455,9403,4),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("corpse_room_flies",(-1038,9602,9),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("corpse_room_flies",(-844,9741,9),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_horror_wind_low",(-686,9804,-10),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_horror_wind_high",(-686,9804,-10),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_bsmnt_drips_pool_lp_01",(-1215,9382,-187),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_bsmnt_drips_pool_lp_01",(-1026,9359,-187),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_bsmnt_drips_pool_lp_02",(-802,9435,-187),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_bsmnt_drips_pool_lp_01",(-958,9141,-187),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_bsmnt_drips_pool_lp_02",(-1076,9252,-187),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_bsmnt_drips_pool_lp_01",(-878,9066,-158),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_bsmnt_drips_pool_lp_02",(-1032,9061,-158),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("corpse_room_flies",(-1049,9709,-10),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("corpse_room_flies",(-799,9432,-138),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("corpse_room_flies",(-802,9463,-145),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_horror_wind_high",(-603,9660,146),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_horror_wind_low",(-603,9660,146),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_exp_rain",(-603,9660,146),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_horror_wind_high",(-764,9984,146),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_horror_wind_low",(-764,9984,146),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_exp_rain",(-603,9660,146),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_horror_wind_high",(-970,9965,172),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_horror_wind_low",(-970,9965,172),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_exp_rain",(-603,9660,146),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_horror_wind_low",(-1420,9885,157),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_exp_rain",(-603,9660,146),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_horror_wind_low",(-2340,9474,166),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_horror_wind_high",(-2340,9474,166),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_exp_rain",(-603,9660,146),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_horror_wind_low",(-764,9807,146),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_horror_wind_high",(-764,9807,146),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_horror_wind_high",(-970,9965,172),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_exp_rain",(-603,9660,146),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_exp_rain",(-2253,9473,165),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_exp_rain",(-2253,9277,165),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_exp_rain",(-2295,9105,189),1,"aud_stop_school_interior"); + common_scripts\utility::loop_fx_sound("emt_int_exp_rain",(-2295,8864,189),1,"aud_stop_school_interior"); + if(level.currentgen) + { + level waittill("tff_pre_middle_remove_school"); + level notify("aud_stop_school_interior"); + } +} + +//Function Number: 14 +launch_office_loops() +{ + if(level.currentgen && !issubstr(level.transient_zone,"_nightclub")) + { + level waittill("tff_post_middle_add_nightclub"); + wait(0.05); + } + + common_scripts\utility::loop_fx_sound("office_skylight_rain_lp",(-1171,4342,-79),1,"aud_stop_office"); + common_scripts\utility::loop_fx_sound("emt_rain_thru_roof_to_puddle",(-1171,4342,-79),1,"aud_stop_office"); + if(level.currentgen) + { + level waittill("tff_pre_middle_remove_nightclub"); + level notify("aud_stop_office"); + } +} + +//Function Number: 15 +start_point_source_dambs() +{ + thread launch_intro_point_source_dambs(); + thread launch_school_street_point_source_dambs(); + thread launch_school_interior_point_source_dambs(); +} + +//Function Number: 16 +launch_intro_point_source_dambs() +{ +} + +//Function Number: 17 +launch_school_street_point_source_dambs() +{ + if(level.currentgen && !issubstr(level.transient_zone,"middle")) + { + level waittill("tff_post_intro_to_middle"); + wait(0.05); + } + + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("dtrt_school_chain_link_fence_tarps",(-2607,8227,-89),"outside_school1"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("dtrt_school_chain_link_fence_tarps",(-2601,8346,-89),"outside_school2"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("dtrt_school_chain_link_fence_tarps",(-2601,8443,-89),"outside_school3"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("dtrt_school_chain_link_fence_tarps",(-2601,8745,-88),"outside_school4"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("dtrt_school_chain_link_fence_tarps",(-2564,8853,-85),"outside_school5"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("dtrt_school_chain_link_fence_tarps",(-2655,7487,-97),"outside_school1"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("dtrt_school_chain_link_fence_tarps",(-2655,7646,-97),"outside_school2"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("dtrt_school_chain_link_fence_tarps",(-2656,7830,-95),"outside_school3"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("dtrt_school_chain_link_fence_tarps",(-2655,7967,-91),"outside_school4"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("dtrt_school_chain_link_fence_tarps",(-2538,8092,-89),"outside_school5"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("dtrt_school_chain_link_fence_tarps",(-2378,8092,-89),"outside_school6"); +} + +//Function Number: 18 +launch_school_interior_point_source_dambs() +{ + if(level.currentgen && !issubstr(level.transient_zone,"_school")) + { + level waittill("tff_post_middle_add_school"); + wait(0.05); + } + + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("det_int_wisp_gusts",(-686,9804,-10),"bodies"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("dtrt_school_wind_gusts",(-603,9660,146),"window_01"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("det_int_wisp_gusts",(-764,9807,146),"window_02"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("dtrt_school_wind_gusts",(-970,9965,172),"window_03"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("det_int_wisp_gusts",(-2340,9474,166),"train_01"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("det_int_wisp_gusts",(-2304,9273,166),"train_02"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("dtrt_school_wind_gusts",(-2336,8936,189),"train_03_sml"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("det_int_wisp_gusts",(-852,9335,-10),"before_staircase"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("damb_det_bsmnt",(-1215,9382,-187),"drips_01"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("damb_det_bsmnt",(-1026,9359,-187),"drips_02"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("damb_det_bsmnt",(-802,9435,-187),"drips_03"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("damb_det_bsmnt",(-958,9141,-187),"drips_04"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("damb_det_bsmnt",(-1076,9252,-187),"drips_05"); + if(level.currentgen) + { + level waittill("tff_pre_middle_remove_school"); + soundscripts\_audio_dynamic_ambi::damb_stop_preset_at_point("det_int_wisp_gusts","bodies"); + soundscripts\_audio_dynamic_ambi::damb_stop_preset_at_point("dtrt_school_wind_gusts","window_01"); + soundscripts\_audio_dynamic_ambi::damb_stop_preset_at_point("det_int_wisp_gusts","window_02"); + soundscripts\_audio_dynamic_ambi::damb_stop_preset_at_point("dtrt_school_wind_gusts","window_03"); + soundscripts\_audio_dynamic_ambi::damb_stop_preset_at_point("det_int_wisp_gusts","train_01"); + soundscripts\_audio_dynamic_ambi::damb_stop_preset_at_point("det_int_wisp_gusts","train_02"); + soundscripts\_audio_dynamic_ambi::damb_stop_preset_at_point("dtrt_school_wind_gusts","train_03_sml"); + soundscripts\_audio_dynamic_ambi::damb_stop_preset_at_point("det_int_wisp_gusts","before_staircase"); + soundscripts\_audio_dynamic_ambi::damb_stop_preset_at_point("damb_det_bsmnt","drips_01"); + soundscripts\_audio_dynamic_ambi::damb_stop_preset_at_point("damb_det_bsmnt","drips_02"); + soundscripts\_audio_dynamic_ambi::damb_stop_preset_at_point("damb_det_bsmnt","drips_03"); + soundscripts\_audio_dynamic_ambi::damb_stop_preset_at_point("damb_det_bsmnt","drips_04"); + soundscripts\_audio_dynamic_ambi::damb_stop_preset_at_point("damb_det_bsmnt","drips_05"); + } +} + +//Function Number: 19 +create_level_envelop_arrays() +{ + level.aud.envs = []; + level.aud.envs["example_envelop"] = [[0,0],[0.082,0.426],[0.238,0.736],[0.408,0.844],[0.756,0.953],[1,1]]; + level.aud.envs["gaz_strafe_whizybys"] = [[0,0],[1,1]]; +} + +//Function Number: 20 +precache_presets() +{ +} + +//Function Number: 21 +zone_handler(param_00,param_01) +{ + var_02 = ""; + var_03 = ""; + if(getsubstr(param_00,0,6) == "enter_") + { + var_02 = param_01; + } + else if(getsubstr(param_00,0,5) == "exit_") + { + var_03 = param_01; + } + + switch(param_00) + { + case "exit_dtrt_ext_deserted_street_school": + if(var_03 == "dtrt_ext_deserted_street_school") + { + level notify("snd_water_garage_clear"); + } + break; + + case "enter_dtrt_ext_deserted_street_school": + if(var_02 == "dtrt_ext_deserted_street_school") + { + soundscripts\_snd_playsound::snd_play_loop_at("emt_water_garage",(-5239,8796,-248),"snd_water_garage_clear",2,2); + soundscripts\_snd_playsound::snd_play_loop_at("emt_water_garage",(-3153,7729,-249),"snd_water_garage_clear",2,2); + soundscripts\_snd_playsound::snd_play_loop_at("emt_water_garage",(-4189,7022,-199),"snd_water_garage_clear",2,2); + } + break; + + case "enter_dtrt_int_school_floor_1": + if(var_02 == "dtrt_ext_deserted_street_school") + { + music("entering_school_from_deserted_street"); + var_04 = (-1793,9421,22); + thread start_fuorescent_light_hum(var_04); + thread monitor_fuorescent_light_dist(var_04); + soundscripts\_audio_mix_manager::mm_add_submix("det_school_fs_override"); + level.aud.in_school = 1; + } + break; + + case "exit_dtrt_int_school_floor_1": + if(var_03 == "dtrt_int_school_floor_1") + { + level notify("kill_temp_outside_school_wind_loop"); + soundscripts\_audio_mix_manager::mm_add_submix("det_school_fs_override"); + } + + if(var_03 == "dtrt_ext_deserted_street_school") + { + level.aud.in_school = 0; + soundscripts\_audio_mix_manager::mm_clear_submix("det_school_fs_override"); + } + break; + + case "exit_dtrt_int_school_floor_1_bodies_room": + if(var_03 == "dtrt_int_school_floor_1_bodies_room") + { + music("school_floor_1_bodies_room"); + } + break; + + case "exit_dtrt_int_school_exit_room": + if(var_03 == "dtrt_int_school_exit_room") + { + music("school"); + } + break; + + case "enter_dtrt_int_school_basement_stairs": + if(var_02 == "dtrt_int_school_basement") + { + level.aud.in_school = 1; + level.aud.in_basement = 0; + music("exit_basement"); + } + break; + + case "exit_dtrt_int_school_basement_stairs": + if(var_03 == "dtrt_int_school_basement") + { + level.aud.in_school = 0; + level.aud.in_basement = 1; + } + break; + + case "enter_dtrt_ext_streets_alleyway": + if(var_02 == "dtrt_int_school_exit_room") + { + level.aud.in_school = 0; + soundscripts\_audio_mix_manager::mm_clear_submix("det_school_fs_override"); + } + break; + + case "exit_dtrt_ext_streets_alleyway": + if(var_03 == "dtrt_int_school_exit_room") + { + level.aud.in_school = 1; + soundscripts\_audio_mix_manager::mm_add_submix("det_school_fs_override"); + } + break; + + case "enter_dtrt_int_abandoned_bank": + if(var_02 == "dtrt_ext_streets_alleyway") + { + soundscripts\_audio_mix_manager::mm_clear_submix("alley_combat_trains_down"); + soundscripts\_audio_mix_manager::mm_add_submix("alley_combat_trains_off"); + } + else if(var_02 == "dtrt_int_abandoned_bank") + { + soundscripts\_audio_mix_manager::mm_clear_submix("alley_combat_trains_off"); + soundscripts\_audio_mix_manager::mm_clear_submix("alley_combat_trains_down"); + } + break; + + case "enter_dtrt_ext_train_tracks": + if(var_02 == "dtrt_int_hospital_exit_stairwell") + { + soundscripts\_audio_mix_manager::mm_clear_submix("alley_combat_trains_down"); + soundscripts\_audio_mix_manager::mm_clear_submix("alley_combat_trains_off"); + } + + break; + } +} + +//Function Number: 22 +music(param_00,param_01) +{ + thread music_handler(param_00,param_01); +} + +//Function Number: 23 +music_handler(param_00,param_01) +{ + level notify("stop_current_music_thread"); + level endon("stop_current_music_thread"); + var_02 = 0.7; + var_03 = 0.2; + var_04 = 0.5; + switch(param_00) + { + case "start_refugee_camp": + music("refugee_camp"); + break; + + case "start_drive_in": + music("refugee_camp"); + break; + + case "start_school": + music("off",param_01); + break; + + case "start_school_interior": + music("off",param_01); + break; + + case "start_school_before_fall": + music("off",param_01); + break; + + case "start_school_basement": + music("off",param_01); + break; + + case "start_school_wall_grab": + music("school_floor_1_bodies_room"); + break; + + case "start_alleyway": + music("mus_pre_alley_combat"); + break; + + case "start_office": + music("mus_alley_combat"); + break; + + case "start_exopush": + music("off"); + break; + + case "start_hospital": + music("off"); + break; + + case "start_hospital_capture_animation": + music("off"); + break; + + case "start_sentinel_reveal": + music("off"); + break; + + case "start_exit_drive": + music("mus_pre_exit_drive"); + break; + + case "off": + soundscripts\_audio_music::mus_stop(param_01); + break; + + case "refugee_camp": + soundscripts\_audio::aud_set_music_submix(var_02,0); + wait(10); + soundscripts\_audio_music::mus_play("det_mus_refugee_camp",0.5); + break; + + case "begin_intro_conversation": + soundscripts\_audio::aud_set_music_submix(var_02 * 0.45,1); + break; + + case "end_intro_conversation": + soundscripts\_audio::aud_set_music_submix(var_02 * 0.8,3); + break; + + case "end_refugee_camp_civ_convo_01": + soundscripts\_audio_music::mus_stop(45); + break; + + case "jetbike_intro": + mus_auto_submixer("off",1,3); + soundscripts\_audio_music::mus_stop(3); + break; + + case "drive_in_done": + mus_auto_submixer("off",1,3); + soundscripts\_audio_music::mus_stop(5); + break; + + case "begin_on_foot_segment": + mus_auto_submixer("off",1,3); + soundscripts\_audio_music::mus_stop(5); + break; + + case "walk_to_school": + wait(3); + soundscripts\_audio::aud_set_music_submix(1,1); + soundscripts\_audio_music::mus_play("det_mus_walk_to_the_school",8); + break; + + case "entering_school_from_deserted_street": + break; + + case "horror_burke_gets_up_after_tile": + mus_auto_submixer("off",0.25,9); + soundscripts\_audio_music::mus_play("det_mus_horror_lp_01",14); + break; + + case "horror_burk_door_open_end": + soundscripts\_audio::aud_set_music_submix(0.25,0); + soundscripts\_audio_music::mus_play("det_mus_horror_lp_02_end",0,3); + break; + + case "school_floor_1_bodies_room": + mus_auto_submixer("off",var_03 * 2,3); + wait(0.5); + soundscripts\_audio_music::mus_play("det_mus_school"); + wait(10); + soundscripts\_audio::aud_set_music_submix(var_03,15); + break; + + case "finish_bodies_room_burke": + soundscripts\_audio::aud_set_music_submix(var_03 / 2,5); + break; + + case "body_room_exit": + soundscripts\_audio_music::mus_stop(4); + soundscripts\_audio::aud_set_music_submix(var_03,4); + break; + + case "school_upthestairs": + soundscripts\_audio::aud_set_music_submix(var_03,1); + soundscripts\_audio_music::mus_play("det_mus_low_tension1",5); + break; + + case "horror_ghost_runs_by_door": + break; + + case "burke_beam_bend": + soundscripts\_audio_music::mus_stop(8); + break; + + case "school_fall_into_basement": + soundscripts\_audio_music::mus_stop(1); + break; + + case "exit_basement": + mus_auto_submixer("off",var_03,0); + soundscripts\_audio_music::mus_play("det_mus_low_tension3",5); + break; + + case "wallpull": + mus_auto_submixer("off",1,0); + soundscripts\_audio_music::mus_play("det_mus_wallpull",0,0); + wait(1); + soundscripts\_audio::aud_set_music_submix(0.5,3); + break; + + case "mus_pre_alley_combat": + mus_auto_submixer("off",0.5,10); + soundscripts\_audio_music::mus_play("det_mus_am_battlecry_perc1c",10,3); + break; + + case "mus_alley_combat": + wait(1); + mus_auto_submixer("on",1,0,"npc_count"); + soundscripts\_audio_music::mus_play("det_mus_am_battlecry_lp",0,1); + break; + + case "office_reunion_dialogue": + soundscripts\_audio_music::mus_play("det_mus_am_battlecry_end",0,1); + wait(10); + mus_auto_submixer("off",1,10); + break; + + case "mus_pre_van_push": + mus_auto_submixer("off",0.6,0); + soundscripts\_audio_music::mus_play("det_mus_am_battlecry_end",0,1); + break; + + case "mus_sounddone_det_gdn_mitchellonme": + soundscripts\_audio::aud_set_music_submix(0.25,0); + wait(0.25); + soundscripts\_audio_music::mus_play("det_mus_high_tension1",0); + break; + + case "det_sent_rev_explo": + soundscripts\_audio_music::mus_stop(0.1); + break; + + case "mus_pre_exit_drive": + mus_auto_submixer("off",0.7,0); + soundscripts\_audio_music::mus_play("det_mus_high_tension1",12); + break; + + case "mus_exit_drive": + wait(1); + mus_auto_submixer("off",1.3,1); + soundscripts\_audio_music::mus_play("det_mus_exit_drive",1,3); + break; + + case "mus_end_exit_drive": + soundscripts\_audio_music::mus_stop(3); + break; + + case "mus_det_ending_win": + soundscripts\_audio::aud_set_music_submix(0.6,0.05); + wait(0.05); + soundscripts\_audio_music::mus_play("det_mus_ending_win"); + break; + + default: + soundscripts\_audio::aud_print_warning("\tMUSIC MESSAGE NOT HANDLED: " + param_00); + break; + } +} + +//Function Number: 24 +mus_auto_submixer(param_00,param_01,param_02,param_03) +{ + thread mus_auto_submixer_thread(param_00,param_01,param_02,param_03); +} + +//Function Number: 25 +mus_auto_submixer_thread(param_00,param_01,param_02,param_03) +{ + level notify("kill_mus_auto_submixer"); + level endon("kill_mus_auto_submixer"); + param_00 = soundscripts\_audio::aud_get_optional_param("on",param_00); + param_01 = soundscripts\_audio::aud_get_optional_param(1,param_01); + param_02 = soundscripts\_audio::aud_get_optional_param(1,param_02); + param_03 = soundscripts\_audio::aud_get_optional_param("plr_speed",param_03); + if(param_00 == "off") + { + soundscripts\_audio::aud_set_music_submix(param_01,param_02); + return; + } + + var_04 = 0.25; + if(param_03 == "plr_speed") + { + var_05 = [[0,0],[10,1]]; + var_06 = 0.15; + var_07 = 0.02; + var_08 = 10; + var_09 = 17.6; + for(;;) + { + var_0A = length(level.player getvelocity()) / var_09; + if(getdvarint("print_player_speed")) + { + iprintln(var_0A); + } + + if(var_0A > var_08) + { + var_0B = var_06; + } + else + { + var_0B = var_07; + } + + var_08 = var_08 + var_0B * var_0A - var_08; + var_0C = piecewiselinearlookup(var_08,var_05); + var_0C = var_0C * param_01; + soundscripts\_audio::aud_set_music_submix(var_0C,var_04); + wait(var_04); + } + + return; + } + + if(param_03 == "npc_count") + { + var_0D = [[0,0.4],[10,1]]; + var_06 = 0.3; + var_07 = 0.3; + var_0E = 0; + for(;;) + { + var_0F = 0; + var_10 = getaiarray("bad_guys"); + foreach(var_12 in var_10) + { + if(isdefined(var_12.alertlevelint) && var_12.alertlevelint >= 3) + { + var_0F++; + } + } + + if(getdvarint("snd_det_print_npc_count")) + { + iprintln(var_0F); + } + + if(var_0F > var_0E) + { + var_0B = var_06; + } + else + { + var_0B = var_07; + } + + var_0E = var_0E + var_0B * var_0F - var_0E; + var_0C = piecewiselinearlookup(var_0E,var_0D); + var_0C = var_0C * param_01; + soundscripts\_audio::aud_set_music_submix(var_0C,var_04); + wait(var_04); + } + } +} + +//Function Number: 26 +auto_combat_music(param_00) +{ + level endon("stop_current_music_thread"); + var_01 = 0.25; + var_02 = 0; + param_00 = soundscripts\_audio::aud_get_optional_param(1,param_00); + mus_auto_submixer("off",param_00,1); + for(;;) + { + var_03 = mus_get_combat_count(); + if(var_03 != var_02) + { + var_02 = var_03; + if(var_03 > 0) + { + soundscripts\_audio::aud_set_music_submix(param_00,1); + soundscripts\_audio_music::mus_play("det_mus_generic_combat",1,3); + } + else + { + soundscripts\_audio::aud_set_music_submix(param_00 * 0.66,10); + soundscripts\_audio_music::mus_play("det_mus_high_tension1",10,10); + } + } + + wait(var_01); + } +} + +//Function Number: 27 +mus_get_combat_count() +{ + var_00 = 0; + var_01 = 0; + var_02 = getaiarray("bad_guys"); + foreach(var_04 in var_02) + { + if(isdefined(var_04.alertlevelint) && var_04.alertlevelint >= 3) + { + var_01++; + } + } + + return var_01; +} + +//Function Number: 28 +start_refugee_camp(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("dtrt_ext_refugee_camp",0.5); + music("start_refugee_camp"); +} + +//Function Number: 29 +start_drive_in(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("dtrt_ext_refugee_camp",0.5); + music("start_drive_in"); +} + +//Function Number: 30 +start_school(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("dtrt_int_parking_garage",0.5); + music("start_school"); +} + +//Function Number: 31 +start_school_interior(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("dtrt_ext_deserted_street_school",0.5); + music("start_school_interior"); +} + +//Function Number: 32 +start_school_before_fall(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("dtrt_int_school_floor_3",0.5); + music("start_school_before_fall"); + level.aud.in_school = 1; + soundscripts\_audio_mix_manager::mm_add_submix("det_school_fs_override"); +} + +//Function Number: 33 +start_school_basement(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("dtrt_int_school_basement",0.5); + music("start_school_basement"); + level.aud.in_school = 0; + level.aud.in_basement = 1; + soundscripts\_audio_mix_manager::mm_add_submix("det_school_fs_override"); +} + +//Function Number: 34 +start_school_wall_grab(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("dtrt_int_school_floor_2",0.5); + music("start_school_wall_grab"); + level.aud.in_school = 1; + soundscripts\_audio_mix_manager::mm_add_submix("det_school_fs_override"); + maps\_utility::delaythread(1,::setup_wallpull); +} + +//Function Number: 35 +start_alleyway(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("dtrt_int_school_exit_room",0.5); + music("start_alleyway"); + level.aud.in_school = 1; + soundscripts\_audio_mix_manager::mm_add_submix("dtrt_school_fs_override"); +} + +//Function Number: 36 +start_office(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("dtrt_int_abandoned_bank",0.5); + music("start_office"); +} + +//Function Number: 37 +start_exopush(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("dtrt_ext_streets_clean",0.5); + music("start_exopush"); +} + +//Function Number: 38 +start_hospital(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("dtrt_ext_streets_clean",0.5); + music("start_hospital"); +} + +//Function Number: 39 +start_hospital_capture_animation(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("dtrt_int_hospital_office_hallway",0.5); + music("start_hospital_capture_animation"); +} + +//Function Number: 40 +start_sentinel_reveal(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("dtrt_ext_train_tracks",0.5); + music("start_sentinel_reveal"); +} + +//Function Number: 41 +start_exit_drive(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("dtrt_int_sent_stairs",0.5); + music("start_exit_drive"); +} + +//Function Number: 42 +opening_start() +{ + soundscripts\_audio_mix_manager::mm_add_submix("det_opening_warbird",0.05); + soundscripts\_snd_playsound::snd_play_delayed_2d("det_intro_door_mech_a",0.1); + soundscripts\_snd_playsound::snd_play_delayed_2d("det_intro_door_mech_b",0.1); + soundscripts\_snd_playsound::snd_play_delayed_2d("det_intro_door_decompress",0.1); + soundscripts\_snd_playsound::snd_play_delayed_2d("det_intro_door_wind",0.1); + soundscripts\_snd_playsound::snd_play_delayed_2d("det_intro_warbird_blades",0.1); + soundscripts\_snd_playsound::snd_play_delayed_2d("det_intro_warbird_engine",3.1); + soundscripts\_snd_playsound::snd_play_delayed_2d("det_intro_warbird_chop",6.15); + soundscripts\_snd_playsound::snd_play_delayed_2d("det_intro_warbird_flyaway",9); + wait(4); + soundscripts\_audio_mix_manager::mm_clear_submix("det_opening_warbird"); + soundscripts\_audio_mix_manager::mm_add_submix("det_opening_pcap_scene"); + wait(14); + soundscripts\_audio_mix_manager::mm_clear_submix("det_opening_pcap_scene",5); +} + +//Function Number: 43 +level_intro_cinematic(param_00) +{ +} + +//Function Number: 44 +begin_refugee_walk(param_00) +{ +} + +//Function Number: 45 +begin_intro_conversation() +{ + soundscripts\_audio_mix_manager::mm_add_submix("intro_conversation"); + music("begin_intro_conversation"); + level waittill("end_intro_conversation"); + soundscripts\_audio_mix_manager::mm_clear_submix("intro_conversation"); + music("end_intro_conversation"); +} + +//Function Number: 46 +start_stage_dialog() +{ + var_00 = ["detroit_atr_youllbewontbeable","detroit_atr_onceyourdnaisin","detroit_atr_ifyouhaveaquestion","detroit_atr_remembernothinghappensunlessyou","detroit_atr_weappreciateyourpatience","detroit_atr_sectorsathroughfwill","detroit_atr_werereopeningthesectorc","detroit_atr_iknowyouallhave","detroit_atr_werelookingatarolling"]; + var_01 = [14.07,12.19,3.18,10.25,4.21,7.27,3.29,6.09,2.2]; + var_02 = (-12584,9182,48); + common_scripts\utility::flag_set("flag_stage_dialogue_start_audio"); + for(var_03 = 0;var_03 < var_00.size;var_03++) + { + var_04 = var_00[var_03] + "_near"; + var_05 = soundscripts\_snd_playsound::snd_play_at(var_04,var_02); + var_04 = var_00[var_03] + "_far"; + var_06 = soundscripts\_snd_playsound::snd_play_delayed_2d(var_04,0.2,undefined,undefined,undefined,undefined,0.45); + var_06 thread monitor_pa_dist(var_02); + wait(var_01[var_03]); + wait(1); + } + + common_scripts\utility::flag_set("flag_stage_dialogue_end_audio"); +} + +//Function Number: 47 +monitor_pa_dist(param_00) +{ + self endon("death"); + self endon("sounddone"); + var_01 = [[360,0],[3600,1]]; + for(;;) + { + var_02 = distance2d(param_00,level.player.origin); + var_03 = soundscripts\_snd::snd_map(var_02,var_01); + self scalevolume(var_03); + wait(0.2); + } +} + +//Function Number: 48 +setup_decon_gate_anims() +{ + if(level.currentgen && !issubstr(level.transient_zone,"intro")) + { + level waittill("detroit_intro_tr"); + } + + maps\_anim::addnotetrack_customfunction("decon_gate","front_door_close",::scanner_front_door_close,"decon_scanner_front"); + maps\_anim::addnotetrack_customfunction("decon_gate","rear_door_close",::scanner_rear_door_close,"decon_scanner_back"); + maps\_anim::addnotetrack_customfunction("decon_gate","scanner_forward",::scanner_forward,"decon_scanner_back"); + maps\_anim::addnotetrack_customfunction("decon_gate","scanner_back",::scanner_return,"decon_scanner_back"); + maps\_anim::addnotetrack_customfunction("decon_gate","front_door_open",::scanner_front_door_open,"decon_scanner_back"); + maps\_anim::addnotetrack_customfunction("bones","bones_high_five",::bones_high_five,"gate_decon_b"); +} + +//Function Number: 49 +scanner_front_door_close(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("det_decon_scanner"); + soundscripts\_audio_zone_manager::azm_set_reverb_enable(0); + soundscripts\_audio_reverb::rvb_start_preset("det_decon_scanner_open",0.5); + soundscripts\_snd_playsound::snd_play_at("decon_scanner_front_door_cl",(-12341,7197,-34)); +} + +//Function Number: 50 +scanner_rear_door_close(param_00) +{ + soundscripts\_audio_reverb::rvb_start_preset("det_decon_scanner_closed",0.5); + soundscripts\_snd_playsound::snd_play_at("decon_scanner_back_door_cl",(-12354,7460,-34)); +} + +//Function Number: 51 +scanner_forward(param_00) +{ + thread scanner_beam(); + var_01 = soundscripts\_snd_playsound::snd_play_at("decon_scanner_device_front_left",(-12301,7215,-34)); + var_02 = soundscripts\_snd_playsound::snd_play_at("decon_scanner_device_front_right",(-12403,7214,-34)); + var_03 = soundscripts\_snd_playsound::snd_play_at("decon_scanner_device_rear_left",(-12302,7445,-34)); + var_04 = soundscripts\_snd_playsound::snd_play_at("decon_scanner_device_rear_right",(-12405,7452,-34)); + var_01 moveto((-12301,7308,-34),3,0.5,0.5); + var_02 moveto((-12403,7302,-34),3,0.5,0.5); + var_03 moveto((-12302,7353,-34),3,0.5,0.5); + var_04 moveto((-12403,7356,-34),3,0.5,0.5); +} + +//Function Number: 52 +scanner_return(param_00) +{ + var_01 = soundscripts\_snd_playsound::snd_play_at("decon_scanner_device_front_left_return",(-12301,7308,-34)); + var_02 = soundscripts\_snd_playsound::snd_play_at("decon_scanner_device_front_right_return",(-12403,7302,-34)); + var_03 = soundscripts\_snd_playsound::snd_play_at("decon_scanner_device_rear_left_return",(-12302,7353,-34)); + var_04 = soundscripts\_snd_playsound::snd_play_at("decon_scanner_device_rear_right_return",(-12403,7356,-34)); + var_01 moveto((-12301,7215,-34),3,0.5,0.5); + var_02 moveto((-12403,7214,-34),3,0.5,0.5); + var_03 moveto((-12302,7445,-34),3,0.5,0.5); + var_04 moveto((-12405,7452,-34),3,0.5,0.5); +} + +//Function Number: 53 +scanner_beam() +{ + var_00 = soundscripts\_snd_playsound::snd_play_at("decon_scanner_beam",(-12354,7213,-34)); + var_01 = soundscripts\_snd_playsound::snd_play_at("decon_scanner_beam",(-12352,7444,-34)); + var_00 moveto((-12354,7310,-34),3.2,0.5,0.5); + var_01 moveto((-12352,7358,-34),3.2,0.5,0.5); + wait(3.21); + if(isdefined(var_00)) + { + var_00 moveto((-12354,7213,-34),3.2,0.5,0.5); + } + + if(isdefined(var_01)) + { + var_01 moveto((-12352,7444,-34),3.2,0.5,0.5); + } +} + +//Function Number: 54 +scanner_front_door_open(param_00) +{ + var_01 = soundscripts\_snd_playsound::snd_play_at("decon_scanner_front_door_open",(-12341,7197,-34)); + maps\_utility::delaythread(3,::soundscripts\_audio_reverb::rvb_start_preset,"det_refugee_camp",4); + maps\_utility::delaythread(3.1,::soundscripts\_audio_zone_manager::azm_set_reverb_enable,1); + var_01 waittill("sounddone"); + soundscripts\_audio_mix_manager::mm_clear_submix("det_decon_scanner"); +} + +//Function Number: 55 +setup_entrance_gate_anims() +{ + if(level.currentgen && !issubstr(level.transient_zone,"_intro")) + { + level waittill("wait_forever_I_dont_care_its_already_happened"); + } + + maps\_anim::addnotetrack_customfunction("decon_gate","front_door_close",::entrance_scanner_front_door_close,"det_gate_decon_station"); + maps\_anim::addnotetrack_customfunction("decon_gate","front_door_open",::entrance_scanner_front_door_open,"det_gate_decon_station"); + maps\_anim::addnotetrack_customfunction("decon_gate","back_door_close",::entrance_scanner_back_door_close,"det_gate_decon_station"); + maps\_anim::addnotetrack_customfunction("decon_gate","back_door_open",::entrance_scanner_back_door_open,"det_gate_decon_station"); + maps\_anim::addnotetrack_customfunction("decon_gate","scanner_running",::entrance_scanner_running,"det_gate_decon_station"); +} + +//Function Number: 56 +entrance_scanner_front_door_close(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("entrance_gate_door_cl",(-12205,7204,-34)); +} + +//Function Number: 57 +entrance_scanner_front_door_open(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("entrance_gate_door_op",(-12205,7204,-34)); +} + +//Function Number: 58 +entrance_scanner_back_door_close(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("entrance_gate_door_cl",(-12200,7451,-34)); +} + +//Function Number: 59 +entrance_scanner_back_door_open(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("entrance_gate_door_op",(-12200,7451,-34)); +} + +//Function Number: 60 +entrance_scanner_running(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("entrance_gate_scanner",(-12174,7329,-34)); +} + +//Function Number: 61 +bones_high_five(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_bones_high_five"); +} + +//Function Number: 62 +setup_jetbike_motorpool_anims() +{ + maps\_anim::addnotetrack_customfunction("player_bike","player_bike_wing_flaps",::player_bike_wing_flaps,"hoverbike_mount"); + maps\_anim::addnotetrack_customfunction("player_bike","player_bike_wing_flaps_left",::player_bike_wing_flaps_left,"hoverbike_mount_left"); + maps\_anim::addnotetrack_customfunction("burke","burke_mounts_bike",::burke_mounts_bike,"hoverbike_mount"); + maps\_anim::addnotetrack_customfunction("burke","burke_powers_up_bike",::burke_powers_up_bike,"hoverbike_mount"); +} + +//Function Number: 63 +player_bike_wing_flaps(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("camp_jtbk_start_servos"); +} + +//Function Number: 64 +player_bike_wing_flaps_left(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("camp_jtbk_start_servos"); +} + +//Function Number: 65 +burke_mounts_bike(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("camp_jtbk_burke_mount"); +} + +//Function Number: 66 +burke_powers_up_bike(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("camp_jtbk_burke_start_engine"); +} + +//Function Number: 67 +jetbike_intro(param_00) +{ + music("jetbike_intro"); + maps\_utility::delaythread(1.5,::jetbike_intro_hover_npc_bikes); + soundscripts\_audio_mix_manager::mm_add_submix("det_motorpool_meet_up"); + if(param_00 == "left_anim") + { + soundscripts\_snd_playsound::snd_play_2d("det_jtbk_ridein_part1_accent_plr"); + level.joker soundscripts\_snd_playsound::snd_play_linked("det_jtbk_ridein_part1_accent_jok"); + soundscripts\_snd_playsound::snd_play_delayed_2d("camp_jtbk_mount_foley",0.2); + soundscripts\_snd_playsound::snd_play_delayed_2d("camp_jtbk_ignition_foley",4.5); + soundscripts\_snd_playsound::snd_play_delayed_2d("camp_jtbk_ignition",4.5); + maps\_utility::delaythread(4.5,::jetbike_intro_hover_player_bike); + return; + } + + if(param_00 == "right_anim") + { + soundscripts\_snd_playsound::snd_play_2d("det_jtbk_ridein_part1_accent_plr"); + level.joker soundscripts\_snd_playsound::snd_play_linked("det_jtbk_ridein_part1_accent_jok"); + soundscripts\_snd_playsound::snd_play_delayed_2d("camp_jtbk_mount_foley",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("camp_jtbk_ignition_foley",4.6); + soundscripts\_snd_playsound::snd_play_delayed_2d("camp_jtbk_ignition",4.6); + maps\_utility::delaythread(4.6,::jetbike_intro_hover_player_bike); + } +} + +//Function Number: 68 +jetbike_intro_hover_npc_bikes() +{ + soundscripts\_audio_mix_manager::mm_add_submix("det_jetbike_ridein"); + level.burke_bike maps\_utility::ent_flag_set("jetbike_is_hovering"); + level.joker_bike maps\_utility::ent_flag_set("jetbike_is_hovering"); + level.bones_bike maps\_utility::ent_flag_set("jetbike_is_hovering"); +} + +//Function Number: 69 +jetbike_intro_hover_player_bike() +{ + level.player_bike maps\_utility::ent_flag_set("jetbike_is_hovering"); +} + +//Function Number: 70 +setup_jetbike_checkpoint_anims() +{ + if(level.currentgen && !issubstr(level.transient_zone,"_gate")) + { + level waittill("tff_post_gatetrans_entry"); + } + + maps\_anim::addnotetrack_customfunction("burke","burke_hoverbike_land",::burke_gate_jtbk_land,"hoverbike_meet_up"); + maps\_anim::addnotetrack_customfunction("burke","burke_hoverbike_lift",::burke_gate_jtbk_lift,"hoverbike_meet_up"); + maps\_anim::addnotetrack_customfunction("joker","joker_hoverbike_land",::joker_gate_jtbk_land,"hoverbike_meet_up"); + maps\_anim::addnotetrack_customfunction("joker","joker_hoverbike_lift",::joker_gate_jtbk_lift,"hoverbike_meet_up"); + maps\_anim::addnotetrack_customfunction("bones","bones_hoverbike_land",::bones_gate_jtbk_land,"hoverbike_meet_up"); + maps\_anim::addnotetrack_customfunction("bones","bones_hoverbike_lift",::bones_gate_jtbk_lift,"hoverbike_meet_up"); +} + +//Function Number: 71 +burke_gate_jtbk_land(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_chkpnt_jtbk_burke_land"); +} + +//Function Number: 72 +burke_gate_jtbk_lift(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_chkpnt_jtbk_burke_lift"); +} + +//Function Number: 73 +joker_gate_jtbk_land(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_chkpnt_jtbk_joker_land"); +} + +//Function Number: 74 +joker_gate_jtbk_lift(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_chkpnt_jtbk_joker_lift"); +} + +//Function Number: 75 +bones_gate_jtbk_land(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_chkpnt_jtbk_bones_land"); +} + +//Function Number: 76 +bones_gate_jtbk_lift(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_chkpnt_jtbk_bones_lift"); +} + +//Function Number: 77 +refugee_butress_down() +{ + if(isdefined(level.aud.refugee_butress_down_time) && gettime() - level.aud.refugee_butress_down_time < 1) + { + return; + } + + level.aud.refugee_butress_down_time = gettime(); + soundscripts\_snd_playsound::snd_play_delayed_linked("barricade_lower_hydro",0); + soundscripts\_snd_playsound::snd_play_delayed_linked("barricade_lower_cmprsr",0.113); + soundscripts\_snd_playsound::snd_play_delayed_linked("barricade_lower_impact",0.7); + soundscripts\_snd_playsound::snd_play_delayed_linked("barricade_lower_lfe",0.7); + soundscripts\_snd_playsound::snd_play_delayed_linked("barricade_lower_far",0.9); +} + +//Function Number: 78 +gate_lightning() +{ + wait(0.5); + soundscripts\_audio_mix_manager::mm_add_submix("det_gate_lightning",0.5); + soundscripts\_snd_playsound::snd_play_2d("det_gate_lightning"); + wait(2); + soundscripts\_audio_mix_manager::mm_clear_submix("det_gate_lightning",4); + soundscripts\_audio_zone_manager::azm_set_zone_streamed_ambience(soundscripts\_audio_zone_manager::azm_get_current_zone(),"quad_ext_rain_mech_gate",6.5); + soundscripts\_audio_mix_manager::mm_add_submix("det_mech_gate_ambi"); +} + +//Function Number: 79 +setup_gideon_intro_foley() +{ + if(level.currentgen && level.transient_zone == "intro") + { + for(;;) + { + if(istransientloaded("detroit_introa_tr")) + { + break; + } + + wait(0.25); + } + } + + if(level.currentgen && level.transient_zone != "intro") + { + level waittill("some_bs_that_will_never_happen_used_to_deal_with_start_points"); + } + + maps\_anim::addnotetrack_customfunction("burke","det_intro_gideon_foley_pt1",::det_intro_gideon_foley_pt1,"level_intro_cinematic"); + maps\_anim::addnotetrack_customfunction("burke","det_intro_gideon_foley_pt2",::det_intro_gideon_foley_pt2,"level_intro_cinematic"); + maps\_anim::addnotetrack_customfunction("burke","det_intro_gideon_foley_pt3",::det_intro_gideon_foley_pt3,"level_intro_cinematic"); +} + +//Function Number: 80 +det_intro_gideon_foley_pt1(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("det_intro_gideon_foley_pt1"); +} + +//Function Number: 81 +det_intro_gideon_foley_pt2(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("det_intro_gideon_foley_pt2"); +} + +//Function Number: 82 +det_intro_gideon_foley_pt3(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_intro_gideon_foley_pt3"); +} + +//Function Number: 83 +setup_det_intro_catch_anims() +{ + maps\_anim::addnotetrack_customfunction("drone_civs","start_det_catch_guy_01",::start_det_catch_guy_01,"baseball1"); + maps\_anim::addnotetrack_customfunction("drone_civs","det_catch_guy_01_pt_02",::det_catch_guy_01_pt_02,"baseball1"); + maps\_anim::addnotetrack_customfunction("drone_civs","det_catch_guy_01_pt_03",::det_catch_guy_01_pt_03,"baseball1"); + maps\_anim::addnotetrack_customfunction("drone_civs","det_catch_guy_01_ball_drop",::det_catch_guy_01_ball_drop,"baseball1"); + maps\_anim::addnotetrack_customfunction("drone_civs","det_catch_guy_01_pt_04",::det_catch_guy_01_pt_04,"baseball1"); + maps\_anim::addnotetrack_customfunction("drone_civs","det_catch_guy_01_pt_05",::det_catch_guy_01_pt_05,"baseball1"); + maps\_anim::addnotetrack_customfunction("drone_civs","start_det_catch_guy_02",::start_det_catch_guy_02,"baseball2"); + maps\_anim::addnotetrack_customfunction("drone_civs","det_catch_guy_02_pt_02",::det_catch_guy_02_pt_02,"baseball2"); + maps\_anim::addnotetrack_customfunction("drone_civs","det_catch_guy_02_pt_03",::det_catch_guy_02_pt_03,"baseball2"); + maps\_anim::addnotetrack_customfunction("drone_civs","det_catch_guy_02_pt_04",::det_catch_guy_02_pt_04,"baseball2"); + maps\_anim::addnotetrack_customfunction("drone_civs","det_catch_guy_02_pt_05",::det_catch_guy_02_pt_05,"baseball2"); +} + +//Function Number: 84 +start_det_catch_guy_01(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_intro_catch_guy_01"); +} + +//Function Number: 85 +det_catch_guy_01_pt_02(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_intro_catch_guy_01_pt_02"); +} + +//Function Number: 86 +det_catch_guy_01_pt_03(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_intro_catch_guy_01_pt_03"); +} + +//Function Number: 87 +det_catch_guy_01_ball_drop(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_intro_catch_guy_01_ball_drop"); +} + +//Function Number: 88 +det_catch_guy_01_pt_04(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_intro_catch_guy_01_pt_04"); +} + +//Function Number: 89 +det_catch_guy_01_pt_05(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_intro_catch_guy_01_pt_05"); +} + +//Function Number: 90 +start_det_catch_guy_02(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_intro_catch_guy_02"); +} + +//Function Number: 91 +det_catch_guy_02_pt_02(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_intro_catch_guy_02_pt_02"); +} + +//Function Number: 92 +det_catch_guy_02_pt_03(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_intro_catch_guy_02_pt_03"); +} + +//Function Number: 93 +det_catch_guy_02_pt_04(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_intro_catch_guy_02_pt_04"); +} + +//Function Number: 94 +det_catch_guy_02_pt_05(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_intro_catch_guy_02_pt_05"); +} + +//Function Number: 95 +setup_hoverbike_meet_up_notetracks() +{ + if(level.currentgen && !issubstr(level.transient_zone,"_gate")) + { + level waittill("tff_post_gatetrans_entry"); + } + + maps\_anim::addnotetrack_customfunction("mech1","aud_mech_scanner",::aud_mech_scanner,"hoverbike_meet_up"); + maps\_anim::addnotetrack_customfunction("entrance_gate","aud_big_gate_pre_open",::aud_big_gate_pre_open,"hoverbike_meet_up"); + maps\_anim::addnotetrack_customfunction("entrance_gate","aud_big_gate_open_stage_1",::aud_big_gate_open_stage_1,"hoverbike_meet_up"); + maps\_anim::addnotetrack_customfunction("entrance_gate","aud_big_gate_stop_stage_1",::aud_big_gate_stop_stage_1,"hoverbike_meet_up"); + maps\_anim::addnotetrack_customfunction("entrance_gate","aud_big_gate_open_stage_2",::aud_big_gate_open_stage_2,"hoverbike_meet_up"); + maps\_anim::addnotetrack_customfunction("entrance_gate","aud_big_gate_stop_stage_2",::aud_big_gate_stop_stage_2,"hoverbike_meet_up"); +} + +//Function Number: 96 +aud_mech_scanner(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_mech_scanner"); +} + +//Function Number: 97 +aud_big_gate_pre_open(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("det_jtbk_ridein_part2_accent_plr"); + level.joker soundscripts\_snd_playsound::snd_play_linked("det_jtbk_ridein_part2_accent_jok"); + wait(0.1); + soundscripts\_snd_playsound::snd_play_delayed_2d("big_gate_buzzer",1.2); + soundscripts\_snd_playsound::snd_play_delayed_2d("big_gate_movement_stage_1",1.25); +} + +//Function Number: 98 +aud_big_gate_open_stage_1(param_00) +{ + wait(0.1); + soundscripts\_snd_playsound::snd_play_delayed_2d("big_gate_alarm_2x",0.05); + soundscripts\_snd_playsound::snd_play_delayed_2d("big_gate_horn",1.25); + soundscripts\_snd_playsound::snd_play_delayed_2d("big_gate_lock_stage_1",3.35); + soundscripts\_snd_playsound::snd_play_delayed_2d("big_gate_lfe_impact_1",4.35); +} + +//Function Number: 99 +aud_big_gate_stop_stage_1(param_00) +{ + wait(0.1); + soundscripts\_snd_playsound::snd_play_delayed_2d("big_gate_movement_stage_2",0.05); +} + +//Function Number: 100 +aud_big_gate_open_stage_2(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("big_gate_movement_stage_2_rear",2); + soundscripts\_snd_playsound::snd_play_delayed_2d("big_gate_lock_stage_2",5.1); + soundscripts\_snd_playsound::snd_play_delayed_2d("big_gate_lfe_impact_2",5.15); +} + +//Function Number: 101 +aud_big_gate_stop_stage_2(param_00) +{ + soundscripts\_audio_mix_manager::mm_clear_submix("det_motorpool_meet_up",5); + soundscripts\_audio_mix_manager::mm_clear_submix("det_mech_gate_ambi"); +} + +//Function Number: 102 +drive_in_done() +{ + music("drive_in_done"); +} + +//Function Number: 103 +jetbikes_arrive_at_school() +{ + common_scripts\utility::flag_wait("aud_parking_garage_exit"); + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("det_school_jtbk_burke_land",1); + level.joker soundscripts\_snd_playsound::snd_play_delayed_linked("det_school_jtbk_joker_land",1.4); + level.bones soundscripts\_snd_playsound::snd_play_delayed_linked("det_school_jtbk_bones_land",2.3); + soundscripts\_snd_playsound::snd_play_delayed_2d("det_jtbk_school_land",2.25); + wait(10); + soundscripts\_audio_mix_manager::mm_clear_submix("det_jetbike_ridein"); +} + +//Function Number: 104 +setup_fence_climb_anims() +{ + if(level.currentgen && !issubstr(level.transient_zone,"middle")) + { + level waittill("tff_post_intro_to_middle"); + } + + maps\_anim::addnotetrack_customfunction("joker","climb_fence_joker_01",::climb_fence_joker_01,"bike_dismount"); + maps\_anim::addnotetrack_customfunction("joker","climb_fence_joker_02",::climb_fence_joker_02,"bike_dismount"); + maps\_anim::addnotetrack_customfunction("joker","climb_fence_joker_03",::climb_fence_joker_03,"bike_dismount"); + maps\_anim::addnotetrack_customfunction("joker","climb_fence_joker_04",::climb_fence_joker_04,"bike_dismount"); + maps\_anim::addnotetrack_customfunction("joker","climb_fence_joker_05",::climb_fence_joker_05,"bike_dismount"); + maps\_anim::addnotetrack_customfunction("joker","climb_fence_joker_06",::climb_fence_joker_06,"bike_dismount"); + maps\_anim::addnotetrack_customfunction("joker","climb_fence_joker_07",::climb_fence_joker_07,"bike_dismount"); + maps\_anim::addnotetrack_customfunction("joker","climb_fence_joker_08",::climb_fence_joker_08,"bike_dismount"); + maps\_anim::addnotetrack_customfunction("joker","climb_fence_joker_09",::climb_fence_joker_09,"bike_dismount"); + maps\_anim::addnotetrack_customfunction("joker","climb_fence_joker_10",::climb_fence_joker_10,"bike_dismount"); + maps\_anim::addnotetrack_customfunction("bones","climb_fence_torres_01",::climb_fence_torres_01,"bike_dismount"); + maps\_anim::addnotetrack_customfunction("bones","climb_fence_torres_02",::climb_fence_torres_02,"bike_dismount"); + maps\_anim::addnotetrack_customfunction("bones","climb_fence_torres_03",::climb_fence_torres_03,"bike_dismount"); + maps\_anim::addnotetrack_customfunction("bones","climb_fence_torres_04",::climb_fence_torres_04,"bike_dismount"); + maps\_anim::addnotetrack_customfunction("bones","climb_fence_torres_05",::climb_fence_torres_05,"bike_dismount"); + maps\_anim::addnotetrack_customfunction("bones","climb_fence_torres_06",::climb_fence_torres_06,"bike_dismount"); + maps\_anim::addnotetrack_customfunction("bones","climb_fence_torres_07",::climb_fence_torres_07,"bike_dismount"); + maps\_anim::addnotetrack_customfunction("bones","climb_fence_torres_08",::climb_fence_torres_08,"bike_dismount"); + maps\_anim::addnotetrack_customfunction("bones","climb_fence_torres_09",::climb_fence_torres_09,"bike_dismount"); + maps\_anim::addnotetrack_customfunction("bones","climb_fence_torres_10",::climb_fence_torres_10,"bike_dismount"); +} + +//Function Number: 105 +climb_fence_joker_01(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("climb_fence_joker_01"); +} + +//Function Number: 106 +climb_fence_joker_02(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("climb_fence_joker_02"); +} + +//Function Number: 107 +climb_fence_joker_03(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("climb_fence_joker_03"); +} + +//Function Number: 108 +climb_fence_joker_04(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("climb_fence_joker_04"); +} + +//Function Number: 109 +climb_fence_joker_05(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("climb_fence_joker_05"); +} + +//Function Number: 110 +climb_fence_joker_06(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("climb_fence_joker_06"); +} + +//Function Number: 111 +climb_fence_joker_07(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("climb_fence_joker_07"); +} + +//Function Number: 112 +climb_fence_joker_08(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("climb_fence_joker_08"); +} + +//Function Number: 113 +climb_fence_joker_09(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("climb_fence_joker_09"); +} + +//Function Number: 114 +climb_fence_joker_10(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("climb_fence_joker_10"); +} + +//Function Number: 115 +climb_fence_torres_01(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("climb_fence_torres_01"); +} + +//Function Number: 116 +climb_fence_torres_02(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("climb_fence_torres_02"); +} + +//Function Number: 117 +climb_fence_torres_03(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("climb_fence_torres_03"); +} + +//Function Number: 118 +climb_fence_torres_04(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("climb_fence_torres_04"); +} + +//Function Number: 119 +climb_fence_torres_05(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("climb_fence_torres_05"); +} + +//Function Number: 120 +climb_fence_torres_06(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("climb_fence_torres_06"); +} + +//Function Number: 121 +climb_fence_torres_07(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("climb_fence_torres_07"); +} + +//Function Number: 122 +climb_fence_torres_08(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("climb_fence_torres_08"); +} + +//Function Number: 123 +climb_fence_torres_09(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("climb_fence_torres_09"); +} + +//Function Number: 124 +climb_fence_torres_10(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("climb_fence_torres_10"); +} + +//Function Number: 125 +begin_on_foot_segment() +{ + music("begin_on_foot_segment"); +} + +//Function Number: 126 +weather_report(param_00) +{ + switch(param_00) + { + case "drizzle": + break; + + case "med_rain": + break; + + case "heavy_rain": + break; + + case "heavy_speedy_rain": + break; + } +} + +//Function Number: 127 +lightning_strike() +{ + var_00 = self; + wait(0.5); + var_00 soundscripts\_snd_playsound::snd_play_linked("generic_lightning_strike"); + thread setup_wallpull(); +} + +//Function Number: 128 +play_maglev_train_path() +{ + if(common_scripts\utility::flag("aud_maglev_train_path_disabled")) + { + return; + } + + var_00 = self; + var_01 = 1.5; + var_02 = 4; + var_03 = soundscripts\_snd_playsound::snd_play_loop_linked("maglev_train_lp",undefined,var_01,var_02); + var_00 thread dopplerize_train(var_03); + if(!isdefined(level.aud.maglev_by_school_sweetener_num)) + { + level.aud.maglev_by_school_sweetener_num = 1; + } + + var_04 = "maglev_by_school_swt" + level.aud.maglev_by_school_sweetener_num; + level.aud.maglev_by_school_sweetener_num = level.aud.maglev_by_school_sweetener_num + 1; + if(level.aud.maglev_by_school_sweetener_num > 3) + { + level.aud.maglev_by_school_sweetener_num = 1; + } + + if(var_00 soundscripts\_snd_common::snd_waittill_within_radius(2800,0)) + { + if(isdefined(var_00)) + { + var_00 soundscripts\_snd_playsound::snd_play_delayed_linked("maglev_by_school_main",0,undefined,undefined,0,4); + var_00 soundscripts\_snd_playsound::snd_play_delayed_linked(var_04,0.4,undefined,undefined,0,4); + } + } +} + +//Function Number: 129 +dopplerize_train(param_00) +{ + var_01 = self; + var_02 = 0.05; + var_03 = 1; + var_04 = 1; + while(isdefined(param_00) && isdefined(var_01)) + { + var_05 = dopplerpitch(var_01.origin,var_01 maps\_shg_utility::get_differentiated_velocity(),level.player.origin,level.player maps\_shg_utility::get_differentiated_velocity(),var_03,var_04); + param_00 scalepitch(var_05,var_02); + wait(var_02); + waittillframeend; + } +} + +//Function Number: 130 +walk_to_school() +{ + music("walk_to_school"); +} + +//Function Number: 131 +start_fuorescent_light_hum(param_00) +{ + var_01 = spawn("script_origin",param_00); + var_01 soundscripts\_snd_playsound::snd_play_loop("school_fluorescent_hum"); + common_scripts\utility::flag_wait("aud_horror_fluorescent_break"); + var_01 scalevolume(0,0.25); + wait(0.25); + var_01 stopsounds(); + var_01 delete(); +} + +//Function Number: 132 +monitor_fuorescent_light_dist(param_00) +{ + var_01 = 0.1; + var_02 = distance2d(level.burke.origin,param_00); + var_03 = [[36,0.4],[var_02,1]]; + var_04 = soundscripts\_audio::aud_get_ambi_submix(); + var_05 = soundscripts\_audio::aud_get_music_submix(); + var_06 = distance2d(level.player.origin,param_00); + var_07 = 0; + while(!common_scripts\utility::flag("aud_horror_fluorescent_break")) + { + var_06 = distance2d(level.burke.origin,param_00); + var_08 = soundscripts\_snd::snd_map(var_06,var_03); + soundscripts\_audio::aud_set_ambi_submix(var_04 * var_08,var_01); + if(var_08 < var_07) + { + soundscripts\_audio::aud_set_music_submix(var_05 * var_08,var_01); + } + + var_07 = var_08; + wait(0.05); + } + + soundscripts\_audio_music::mus_stop(1); + wait(3); + soundscripts\_audio::aud_set_ambi_submix(var_04,30); +} + +//Function Number: 133 +horror_fluorescent_break() +{ + soundscripts\_audio_mix_manager::mm_add_submix("det_bulb_break_gag"); + var_00 = self; + var_00 soundscripts\_snd_playsound::snd_play_linked("school_fluorescent_break"); + common_scripts\utility::flag_set("aud_horror_fluorescent_break"); + var_00 waittill("sounddone"); + soundscripts\_audio_mix_manager::mm_add_submix("det_bulb_break_gag"); +} + +//Function Number: 134 +horror_burke_gets_up_after_tile() +{ + music("horror_burke_gets_up_after_tile"); +} + +//Function Number: 135 +horror_burk_opens_bodies_room_door() +{ + thread horror_burk_opens_bodies_room_door_sfx(); + thread horror_burk_opens_bodies_room_door_mus(); +} + +//Function Number: 136 +horror_burk_opens_bodies_room_door_sfx() +{ + var_00 = (-1529,9494,-10); + soundscripts\_snd_playsound::snd_play_delayed_at("enter_bodies_room_latch",var_00,2.8); + soundscripts\_snd_playsound::snd_play_delayed_at("enter_bodies_room_door0",var_00,2.8); + soundscripts\_snd_playsound::snd_play_delayed_at("enter_bodies_room_door1",var_00,5.4); + soundscripts\_snd_playsound::snd_play_delayed_at("enter_bodies_room_door2",var_00,8.8); + soundscripts\_snd_playsound::snd_play_delayed_at("enter_bodies_room_door_kick",var_00,8.8); +} + +//Function Number: 137 +horror_burk_opens_bodies_room_door_mus() +{ + var_00 = 8.75; + var_01 = spawn("script_origin",(0,0,0)); + var_01 scalevolume(0,0); + var_01 soundscripts\_snd_playsound::snd_play_loop("det_mus_horror_lp_02"); + var_01 scalevolume(0.75,var_00); + wait(var_00); + music("horror_burk_door_open_end"); + level notify("horror_burk_door_open_end"); + var_01 scalevolume(0,5); + wait(5); + var_01 stopsounds(); + var_01 delete(); +} + +//Function Number: 138 +body_room_exit() +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("exit_bodies_room_door",2); + soundscripts\_snd_playsound::snd_play_delayed_2d("exit_bodies_room_door_debris",2.5); + soundscripts\_snd_playsound::snd_play_delayed_2d("exit_bodies_room_bump",4.5); + music("body_room_exit"); +} + +//Function Number: 139 +finish_bodies_room_burke() +{ + music("finish_bodies_room_burke"); +} + +//Function Number: 140 +horror_ghost_runs_by_door() +{ + wait(3); + wait(8); + music("post_horror_ghost_runs_by_door"); +} + +//Function Number: 141 +school_upthestairs() +{ + music("school_upthestairs"); +} + +//Function Number: 142 +burke_startle_stairs() +{ + soundscripts\_snd_playsound::snd_play_at("burke_startle_stairs",(-1049,9336,278)); +} + +//Function Number: 143 +train_scare() +{ + var_00 = "stop_school_train_scare"; + var_01 = soundscripts\_snd_playsound::snd_play_2d("school_train_scare",var_00,5,6); + var_01 soundscripts\_snd_playsound::snd_play_set_cleanup_msg("Train Scare"); + wait(7); + level notify(var_00); +} + +//Function Number: 144 +school_lightning_strike() +{ + var_00 = self; + var_00 soundscripts\_snd_playsound::snd_play_linked("generic_lightning_strike"); +} + +//Function Number: 145 +setup_wallpull() +{ + var_00 = soundscripts\_audio_zone_manager::azm_get_current_zone(); + if(var_00 == "dtrt_int_school_floor_2" && !isdefined(level.aud.setup_wallpull)) + { + level.aud.setup_wallpull = 1; + } + else + { + return; + } + + var_01 = 4; + var_02 = 0.1; + var_03 = (-1778,8629,129); + var_04 = [[36,0.01],[750,1]]; + var_05 = soundscripts\_audio::aud_get_music_submix(); + var_06 = soundscripts\_audio::aud_get_ambi_submix(); + var_07 = distance2d(level.player.origin,var_03); + var_08 = soundscripts\_snd::snd_map(var_07,var_04); + soundscripts\_audio::aud_set_music_submix(var_05 * var_08,var_01); + soundscripts\_audio::aud_set_ambi_submix(var_06 * var_08,var_01); + wait(var_01); + while(!common_scripts\utility::flag("aud_wallpull_begin")) + { + var_07 = distance2d(level.player.origin,var_03); + var_08 = soundscripts\_snd::snd_map(var_07,var_04); + soundscripts\_audio::aud_set_music_submix(var_05 * var_08,var_02); + soundscripts\_audio::aud_set_ambi_submix(var_06 * var_08,var_02); + wait(0.05); + } + + soundscripts\_audio::aud_set_ambi_submix(var_06,0); +} + +//Function Number: 146 +kva_knife_takedown_scene_begin() +{ + music("mus_pre_alley_combat"); +} + +//Function Number: 147 +mus_alley_combat(param_00) +{ + music("mus_alley_combat"); + soundscripts\_audio_mix_manager::mm_add_submix("alley_combat_trains_down"); +} + +//Function Number: 148 +temp_dog_bark(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_dog_bark"); +} + +//Function Number: 149 +office_reunion_dialogue() +{ + music("office_reunion_dialogue"); +} + +//Function Number: 150 +player_shimmy_intro(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("det_school_shimmy"); + if(param_00 == "short_version") + { + soundscripts\_snd_playsound::snd_play_2d("det_school_shimmy_into_short"); + return; + } + + if(param_00 == "long_version") + { + soundscripts\_snd_playsound::snd_play_2d("det_school_shimmy_into_long"); + } +} + +//Function Number: 151 +setup_school_shimmy_anims() +{ + if(level.currentgen && !issubstr(level.transient_zone,"_school")) + { + level waittill("tff_post_middle_add_school"); + } + + maps\_anim::addnotetrack_customfunction("school_blockage","burke_beam_bend",::burke_beam_bend,"burke_wall_walk"); + maps\_anim::addnotetrack_customfunction("burke","burke_shimmy_1",::burke_shimmy_1,"burke_wall_walk"); + maps\_anim::addnotetrack_customfunction("burke","burke_shimmy_2",::burke_shimmy_2,"burke_shimmey_wait_idle_out"); + maps\_anim::addnotetrack_customfunction("burke","burke_shimmy_2b",::burke_shimmy_2b,"burke_shimmey_wait_idle_out"); + maps\_anim::addnotetrack_customfunction("world_body","shimmy_2",::player_shimmy_2,"school_fall_shuffle_pt2"); + maps\_anim::addnotetrack_customfunction("world_body","shimmy_4",::player_shimmy_4,"school_fall_shuffle_pt4"); + maps\_anim::addnotetrack_customfunction("world_body","shimmy_1",::player_shimmy_1,"school_fall_shuffle_pt1"); + maps\_anim::addnotetrack_customfunction("world_body","shimmy_3",::player_shimmy_3,"school_fall_shuffle_pt3"); +} + +//Function Number: 152 +burke_beam_bend(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_school_beam_bend"); + music("burke_beam_bend"); +} + +//Function Number: 153 +burke_shimmy_1(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_school_shimmy_burke_1",undefined,undefined,undefined,undefined,(0,0,-10)); +} + +//Function Number: 154 +burke_shimmy_2(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_school_shimmy_burke_2",undefined,undefined,undefined,undefined,(0,0,-10)); + soundscripts\_snd_playsound::snd_play_at("det_school_shimmy_burke_beam",(-1374,9388,83)); +} + +//Function Number: 155 +burke_shimmy_2b(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_school_shimmy_burke_2b",undefined,undefined,undefined,undefined,(0,0,-10)); +} + +//Function Number: 156 +player_shimmy_1(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("det_school_shimmy_1"); +} + +//Function Number: 157 +player_shimmy_2(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("det_school_shimmy_2"); +} + +//Function Number: 158 +player_shimmy_3(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("det_school_shimmy_3"); +} + +//Function Number: 159 +player_shimmy_4(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("det_school_shimmy_4"); + soundscripts\_audio_mix_manager::mm_clear_submix("det_school_shimmy"); +} + +//Function Number: 160 +school_fall() +{ + soundscripts\_audio_mix_manager::mm_add_submix("det_school_fall",2); + soundscripts\_snd_playsound::snd_play_2d("det_school_fall"); +} + +//Function Number: 161 +school_fall_into_basement() +{ + music("school_fall_into_basement"); + soundscripts\_snd_playsound::snd_play_2d("det_school_fall_into_basement"); + wait(2); + soundscripts\_audio_mix_manager::mm_clear_submix("det_school_fall",3); + wait(3); + soundscripts\_audio_mix_manager::mm_add_submix("det_school_fs_override",0.5); + level.aud.in_basement = 1; + level.aud.in_school = 0; +} + +//Function Number: 162 +basement_investigate() +{ + var_00 = self; + var_01 = (-970,9111,-143); + soundscripts\_audio_mix_manager::mm_add_submix("det_steam_guy"); + var_00 soundscripts\_snd_playsound::snd_play_delayed_linked("basement_steam_guy_fs2",0); + soundscripts\_snd_playsound::snd_play_delayed_at("basement_steam_guy_steam",var_01,0); + wait(8.409); + if(common_scripts\utility::flag("kill_the_valve_anim")) + { + soundscripts\_audio_mix_manager::mm_clear_submix("det_steam_guy"); + return; + } + + soundscripts\_snd_playsound::snd_play_at("basement_steam_guy_valve1",var_01); + wait(2.5); + if(common_scripts\utility::flag("kill_the_valve_anim")) + { + soundscripts\_audio_mix_manager::mm_clear_submix("det_steam_guy"); + return; + } + + soundscripts\_snd_playsound::snd_play_at("basement_steam_guy_valve2",var_01); + wait(2); + if(common_scripts\utility::flag("kill_the_valve_anim")) + { + soundscripts\_audio_mix_manager::mm_clear_submix("det_steam_guy"); + return; + } + + if(isalive(var_00)) + { + var_00 soundscripts\_snd_playsound::snd_play_linked("basement_steam_guy_fs3"); + } + + wait(20); + if(!common_scripts\utility::flag("kill_the_valve_anim")) + { + soundscripts\_audio_mix_manager::mm_clear_submix("det_steam_guy"); + } +} + +//Function Number: 163 +kva_basement_idle_start() +{ + soundscripts\_snd::snd_println("kva_basement_idle_start"); +} + +//Function Number: 164 +steam_burst_valve_started() +{ + soundscripts\_snd::snd_println("steam_burst_valve_started"); +} + +//Function Number: 165 +setup_wall_pull_anims() +{ + if(level.currentgen && !issubstr(level.transient_zone,"_school")) + { + level waittill("tff_post_middle_add_school"); + } + + maps\_anim::addnotetrack_customfunction("world_body","grab_n_stab_foley1_grabs_vox1",::grab_n_stab_foley1_grabs_vox1,"wall_pull"); + maps\_anim::addnotetrack_customfunction("world_body","grab_n_stab_kick_impact_vox2",::grab_n_stab_kick_impact_vox2,"wall_pull"); + maps\_anim::addnotetrack_customfunction("world_body","grab_n_stab_brick_snap",::grab_n_stab_brick_snap,"wall_pull"); + maps\_anim::addnotetrack_customfunction("world_body","grab_n_stab_brick_impact_with_lfe_glass",::grab_n_stab_brick_impact_with_lfe_glass,"wall_pull"); + maps\_anim::addnotetrack_customfunction("world_body","grab_n_stab_vox3",::grab_n_stab_vox3,"wall_pull"); + maps\_anim::addnotetrack_customfunction("world_body","grab_n_stab_body_fall_with_lfe",::grab_n_stab_body_fall_with_lfe,"wall_pull"); + maps\_anim::addnotetrack_customfunction("world_body","grab_n_stab_knife1",::grab_n_stab_knife1,"wall_pull"); + maps\_anim::addnotetrack_customfunction("world_body","grab_n_stab_foley2",::grab_n_stab_foley2,"wall_pull"); + maps\_anim::addnotetrack_customfunction("world_body","grab_n_stab_knife2",::grab_n_stab_knife2,"wall_pull"); + maps\_anim::addnotetrack_customfunction("world_body","grab_n_stab_knife3",::grab_n_stab_knife3,"wall_pull"); + maps\_anim::addnotetrack_customfunction("world_body","grab_n_stab_knife4",::grab_n_stab_knife4,"wall_pull"); + maps\_anim::addnotetrack_customfunction("world_body","grab_n_stab_knife5",::grab_n_stab_knife5,"wall_pull"); +} + +//Function Number: 166 +grab_n_stab_foley1_grabs_vox1(param_00) +{ + common_scripts\utility::flag_set("aud_wallpull_begin"); + soundscripts\_snd_playsound::snd_play_2d("grab_n_stab_foley1"); + soundscripts\_snd_playsound::snd_play_2d("grab_n_stab_grabs"); + soundscripts\_snd_playsound::snd_play_2d("grab_n_stab_vox1"); +} + +//Function Number: 167 +grab_n_stab_kick_impact_vox2(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("grab_n_stab_kick_impact"); + soundscripts\_snd_playsound::snd_play_2d("grab_n_stab_vox2"); +} + +//Function Number: 168 +grab_n_stab_brick_snap(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("grab_n_stab_brick_snap"); +} + +//Function Number: 169 +grab_n_stab_brick_impact_with_lfe_glass(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("grab_n_stab_brick_impact"); + soundscripts\_snd_playsound::snd_play_2d("grab_n_stab_brick_impact_lfe"); + soundscripts\_snd_playsound::snd_play_2d("grab_n_stab_glass"); +} + +//Function Number: 170 +grab_n_stab_vox3(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("grab_n_stab_vox3"); +} + +//Function Number: 171 +grab_n_stab_body_fall_with_lfe(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("grab_n_stab_body_fall"); + soundscripts\_snd_playsound::snd_play_2d("grab_n_stab_body_fall_lfe"); +} + +//Function Number: 172 +grab_n_stab_knife1(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("grab_n_stab_knife1"); +} + +//Function Number: 173 +grab_n_stab_foley2(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("grab_n_stab_foley2"); +} + +//Function Number: 174 +grab_n_stab_knife2(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("grab_n_stab_knife2"); +} + +//Function Number: 175 +grab_n_stab_knife3(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("grab_n_stab_knife3"); +} + +//Function Number: 176 +grab_n_stab_knife4(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("grab_n_stab_knife4"); +} + +//Function Number: 177 +grab_n_stab_knife5(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("grab_n_stab_knife5"); +} + +//Function Number: 178 +setup_hospital_post_breach_anims() +{ + if(level.currentgen && !issubstr(level.transient_zone,"_hospital")) + { + level waittill("tff_post_middle_add_hospital"); + } + + maps\_anim::addnotetrack_customfunction("doctor","hospital_post_breach_01",::hospital_post_breach_01,"doctor_capture"); + maps\_anim::addnotetrack_customfunction("doctor","hospital_post_breach_02",::hospital_post_breach_02,"doctor_capture"); + maps\_anim::addnotetrack_customfunction("doctor","hospital_post_breach_03",::hospital_post_breach_03,"doctor_capture"); + maps\_anim::addnotetrack_customfunction("doctor","hospital_post_breach_04",::hospital_post_breach_04,"doctor_capture"); + maps\_anim::addnotetrack_customfunction("doctor","hospital_post_breach_05",::hospital_post_breach_05,"doctor_capture"); + maps\_anim::addnotetrack_customfunction("doctor","det_doc_roll_over",::det_doc_roll_over,"carry_doc_lift"); + maps\_anim::addnotetrack_customfunction("doctor","det_doc_picked_up",::det_doc_picked_up,"carry_doc_lift"); +} + +//Function Number: 179 +hospital_post_breach_01(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("det_post_hospital_breach"); + det_stop_doctor_breathing(); + soundscripts\_snd_playsound::snd_play_2d("wpn_med_holster_plr"); + soundscripts\_snd_playsound::snd_play_2d("det_post_breach_01"); +} + +//Function Number: 180 +hospital_post_breach_02(param_00) +{ + wait(0.1); + soundscripts\_snd_playsound::snd_play_2d("det_post_breach_02"); + soundscripts\_snd_playsound::snd_play_2d("det_post_breach_02_punch"); + soundscripts\_snd_playsound::snd_play_2d("det_post_breach_02_punch_lfe"); +} + +//Function Number: 181 +hospital_post_breach_03(param_00) +{ + wait(0.1); + soundscripts\_snd_playsound::snd_play_2d("det_post_breach_03"); +} + +//Function Number: 182 +hospital_post_breach_04(param_00) +{ + wait(0.1); + soundscripts\_snd_playsound::snd_play_2d("det_post_breach_04"); +} + +//Function Number: 183 +hospital_post_breach_05(param_00) +{ + wait(0.1); + soundscripts\_snd_playsound::snd_play_2d("det_post_breach_05"); +} + +//Function Number: 184 +det_doc_roll_over(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_post_breach_doctor_roll"); +} + +//Function Number: 185 +det_doc_picked_up(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_post_breach_doctor_pickup"); + wait(2); + soundscripts\_audio_mix_manager::mm_clear_submix("det_post_hospital_breach",1); +} + +//Function Number: 186 +wall_pull_animation_begin() +{ + soundscripts\_audio_mix_manager::mm_add_submix("det_wallpull",0.5); + soundscripts\_snd_timescale::snd_set_timescale("wall_pull"); + music("wallpull"); + wait(20); + soundscripts\_audio_mix_manager::mm_clear_submix("det_wallpull",3); + soundscripts\_snd_timescale::snd_set_timescale("detroit_default"); +} + +//Function Number: 187 +wall_pull_slowmo(param_00) +{ + if(param_00 == "begin") + { + soundscripts\_audio_mix_manager::mm_add_submix("det_wallpull_slowmo",1); + soundscripts\_snd_playsound::snd_play_2d("wallpull_slowmo_in"); + soundscripts\_snd_playsound::snd_play_2d("wallpull_slowmo_body","wallpull_slomo_stop_notify",0,0.5,0.6); + return; + } + + if(param_00 == "end") + { + level notify("wallpull_slomo_stop_notify"); + soundscripts\_audio_mix_manager::mm_clear_submix("det_wallpull_slowmo",1); + soundscripts\_snd_playsound::snd_play_2d("wallpull_slowmo_out"); + common_scripts\utility::flag_set("aud_wallpull_success"); + return; + } + + if(param_00 == "fail") + { + soundscripts\_audio_mix_manager::mm_add_submix("mute_all",3); + return; + } +} + +//Function Number: 188 +detroit_kva_bauerdoyoureadme() +{ + soundscripts\_snd_playsound::snd_play_at("detroit_kva_bauerdoyoureadme",(-1784,8758,83)); +} + +//Function Number: 189 +hospital_breach_gun_away() +{ + soundscripts\_snd_playsound::snd_play_2d("det_breach_gun_away"); +} + +//Function Number: 190 +hostpital_breach_start() +{ + soundscripts\_snd_timescale::snd_set_timescale("detroit_breach"); + level.player enablecustomweaponcontext(); + enablesoundcontextoverride("slomo"); + soundscripts\_snd_playsound::snd_play_2d("det_breach_door"); + wait(1); + soundscripts\_audio_mix_manager::mm_add_submix("det_hospital_breach",1); + soundscripts\_snd_playsound::snd_play_loop_2d("overdrive_loop","kill_breach_loop"); +} + +//Function Number: 191 +breach_slo_mo_exit() +{ + soundscripts\_snd_playsound::snd_play_2d("slo_mo_exit"); + soundscripts\_snd_timescale::snd_set_timescale("detroit_default"); + disablesoundcontextoverride("slomo"); + level.player disablecustomweaponcontext(); + level notify("kill_breach_loop"); + soundscripts\_audio_mix_manager::mm_clear_submix("det_hospital_breach",2); +} + +//Function Number: 192 +push_dude_into_shelves() +{ + soundscripts\_snd_playsound::snd_play_2d("det_breach_punch_dude"); +} + +//Function Number: 193 +breach_bad_guy2_gets_shot() +{ + soundscripts\_snd_playsound::snd_play_linked("det_breach_shoot_dude"); +} + +//Function Number: 194 +shoot_dude_through_window() +{ + soundscripts\_snd_playsound::snd_play_delayed_linked("det_breach_window_dude",0.1); +} + +//Function Number: 195 +capture_doctor_scene_start() +{ +} + +//Function Number: 196 +office_skylights_breakable(param_00) +{ + var_01 = param_00.origin; + thread soundscripts\_snd_playsound::snd_play_at("office_skylight_break",var_01); + var_02 = bullettrace(var_01,var_01 + (0,0,-10000),0); + var_03 = var_02["position"]; + wait(0.2); + thread soundscripts\_snd_playsound::snd_play_at("office_skylight_debris",var_03); + wait(0.2); + thread soundscripts\_snd_playsound::snd_play_at("office_skylight_debris_shatters",var_03); +} + +//Function Number: 197 +begin_exo_push() +{ + changewhizbyautosimparams(0,0,0,0,-4,2); + soundscripts\_audio_mix_manager::mm_add_submix("det_ambulance_push"); + thread end_exo_push(); +} + +//Function Number: 198 +ambulance_push_attach(param_00) +{ + thread soundscripts\_snd_playsound::snd_play_2d("det_amb_push_attach"); + soundscripts\_snd_playsound::snd_play_delayed_2d("pc_exo_strength_hi",0.5); +} + +//Function Number: 199 +amb_push_oneshots() +{ + level endon("aud_amb_push_stopped"); + level waittill("aud_amb_push_active"); + for(;;) + { + var_00 = randomintrange(1,3); + wait(var_00); + thread soundscripts\_snd_playsound::snd_play_2d("det_amb_push_random_oneshot"); + } +} + +//Function Number: 200 +ambulance_push_active() +{ + var_00 = self; + if(level.aud.amb_pushing == 0) + { + level.player soundscripts\_snd_playsound::snd_play_2d("det_amb_push_start"); + thread amb_push_oneshots(); + soundscripts\_snd_common::snd_enable_soundcontextoverride("bullet_metal_vehicle"); + } + + level.aud.amb_pushing = 1; + level notify("aud_amb_push_active"); + var_00 scalevolume(1,0.1); + var_00 playloopsound("det_amb_push_body_lp"); +} + +//Function Number: 201 +ambulance_push_step_away() +{ + var_00 = self; + var_00 scalevolume(0,0.4); + thread soundscripts\_snd_playsound::snd_play_2d("det_amb_push_detach"); + level.aud.amb_pushing = 0; + level notify("aud_amb_push_stopped"); + wait(0.5); + var_00 stopsounds(); + var_00 stoploopsound(); + soundscripts\_snd_common::snd_disable_soundcontextoverride("bullet_metal_vehicle"); +} + +//Function Number: 202 +ambulance_push_idle() +{ + var_00 = self; + if(level.aud.amb_pushing == 1) + { + level.player soundscripts\_snd_playsound::snd_play_2d("det_amb_push_stop"); + } + + var_00 scalevolume(0,0.4); + level.aud.amb_pushing = 0; + level notify("aud_amb_push_stopped"); +} + +//Function Number: 203 +ambulance_push_sequence_end() +{ + var_00 = self; + thread soundscripts\_snd_playsound::snd_play_2d("det_amb_push_end"); + var_00 scalevolume(0,0.2); + level.aud.amb_pushing = 0; + level notify("aud_amb_push_stopped"); + wait(0.2); + var_00 stoploopsound(); +} + +//Function Number: 204 +end_exo_push() +{ + common_scripts\utility::flag_wait("exo_push_arrived"); + changewhizbyautosimparams(0,0,0,0,1,1); + soundscripts\_audio_mix_manager::mm_clear_submix("det_ambulance_push"); +} + +//Function Number: 205 +hospital_flashbang1(param_00,param_01) +{ + wait(param_00); + soundscripts\_snd_playsound::snd_play_at("det_hopital_flash_bang",param_01); + soundscripts\_snd::snd_slate("hospital_flashbang1"); +} + +//Function Number: 206 +hospital_flashbang2(param_00,param_01) +{ + wait(param_00); + soundscripts\_snd_playsound::snd_play_at("det_hopital_flash_bang",param_01); + soundscripts\_snd::snd_slate("hospital_flashbang2"); +} + +//Function Number: 207 +hospital_flashbang3(param_00,param_01) +{ + wait(param_00); + soundscripts\_snd_playsound::snd_play_at("det_hopital_flash_bang",param_01); + soundscripts\_snd::snd_slate("hospital_flashbang3"); +} + +//Function Number: 208 +det_hospital_gate_close() +{ + var_00 = self; + var_00 soundscripts\_snd_playsound::snd_play_linked("det_hospital_gate"); +} + +//Function Number: 209 +det_start_doctor_breathing(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_loop_linked("detroit_dcr_breathing","det_doctor_stop_breathing"); +} + +//Function Number: 210 +det_stop_doctor_breathing() +{ + level notify("det_doctor_stop_breathing"); +} + +//Function Number: 211 +reveal_scene_start() +{ + var_00 = getent("animated_bouncing_betty","targetname"); + soundscripts\_snd_timescale::snd_set_timescale("sent_reveal"); + soundscripts\_audio_mix_manager::mm_add_submix("det_sentinel_reveal",0.05); + var_00 soundscripts\_snd_playsound::snd_play_linked("det_sent_rev_betty_arm"); +} + +//Function Number: 212 +reveal_explosion() +{ + music("det_sent_rev_explo"); + soundscripts\_snd_playsound::snd_play_2d("det_sent_rev_explo"); + soundscripts\_snd_playsound::snd_play_delayed_2d("det_sent_rev_gunfire",6.8,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("det_sent_rev_bullet_hits",6.8,1); +} + +//Function Number: 213 +setup_sentinel_reveal_anims() +{ + if(level.currentgen && !issubstr(level.transient_zone,"_hospital")) + { + level waittill("tff_post_middle_add_hospital"); + } + + maps\_anim::addnotetrack_customfunction("kva1","kva_guy1_footsteps",::kva_guy1_footsteps,"sentinel_kva_reveal"); + maps\_anim::addnotetrack_customfunction("kva1","kva_guy1_gets_shot",::kva_guy1_gets_shot,"sentinel_kva_reveal"); + maps\_anim::addnotetrack_customfunction("kva2","kva_guy2_footsteps",::kva_guy2_footsteps,"sentinel_kva_reveal"); + maps\_anim::addnotetrack_customfunction("kva2","kva_guy2_gets_shot",::kva_guy2_gets_shot,"sentinel_kva_reveal"); + maps\_anim::addnotetrack_customfunction("kva3","kva_guy3_footsteps",::kva_guy3_footsteps,"sentinel_kva_reveal"); + maps\_anim::addnotetrack_customfunction("kva3","kva_guy3_gets_shot",::kva_guy3_gets_shot,"sentinel_kva_reveal"); + maps\_anim::addnotetrack_customfunction("guy1","sent_guy_1_footsteps",::sent_guy_1_footsteps,"sentinel_kva_reveal"); + maps\_anim::addnotetrack_customfunction("guy1","sent_guy1_out_of_slo_mo_foley",::sent_guy_1_footsteps_part2,"sentinel_kva_reveal"); + maps\_anim::addnotetrack_customfunction("guy1","sent_guy1_footsteps2",::sent_guy_1_footsteps_part3,"sentinel_kva_reveal"); + maps\_anim::addnotetrack_customfunction("guy2","sent_guy2_footsteps",::sent_guy_2_footsteps,"sentinel_kva_reveal"); + maps\_anim::addnotetrack_customfunction("guy3","sent_guy3_footsteps",::sent_guy_3_footsteps,"sentinel_kva_reveal"); + maps\_anim::addnotetrack_customfunction("guy1","sent_guy1_mask_up",::sent_guy1_mask_up,"sentinel_kva_reveal"); + maps\_anim::addnotetrack_customfunction("guy1","sent_guy1_mask_down",::sent_guy1_mask_down,"sentinel_kva_reveal"); + maps\_anim::addnotetrack_customfunction("guy1","sent_guy1_cloak",::sent_guy1_cloak,"sentinel_kva_reveal"); + maps\_anim::addnotetrack_customfunction("burke","burke_knocked_to_ground",::burke_knocked_to_ground,"sentinel_kva_reveal"); + maps\_anim::addnotetrack_customfunction("burke","burke_gets_up",::burke_gets_up,"sentinel_kva_reveal"); + maps\_anim::addnotetrack_customfunction("burke","burke_feet01",::burke_feet01,"sentinel_kva_reveal"); + maps\_anim::addnotetrack_customfunction("burke","burke_alert",::burke_alert,"sentinel_kva_reveal"); + maps\_anim::addnotetrack_customfunction("burke","burke_exit",::burke_exit,"sentinel_kva_reveal"); +} + +//Function Number: 214 +kva_guy1_footsteps(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_sent_rev_badguy01_feet"); +} + +//Function Number: 215 +kva_guy1_gets_shot(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("det_sent_rev_badguy01_shot"); +} + +//Function Number: 216 +kva_guy2_footsteps(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_sent_rev_badguy02_feet"); +} + +//Function Number: 217 +kva_guy2_gets_shot(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("det_sent_rev_badguy02_shot"); +} + +//Function Number: 218 +kva_guy3_footsteps(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_sent_rev_badguy03_feet"); +} + +//Function Number: 219 +kva_guy3_gets_shot(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("det_sent_rev_badguy03_shot"); +} + +//Function Number: 220 +sent_guy_1_footsteps(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_sent_rev_goodguy01_feet1"); +} + +//Function Number: 221 +sent_guy_1_footsteps_part2(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_sent_rev_goodguy01_feet2"); +} + +//Function Number: 222 +sent_guy_1_footsteps_part3(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_sent_rev_goodguy01_feet3"); +} + +//Function Number: 223 +sent_guy_2_footsteps(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_sent_rev_goodguy02_feet"); +} + +//Function Number: 224 +sent_guy_3_footsteps(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_sent_rev_goodguy03_feet"); +} + +//Function Number: 225 +sent_guy_2_decloak() +{ + soundscripts\_snd_playsound::snd_play_linked("det_sent_rev_goodguy02_uncloak"); + if(level.currentgen) + { + soundscripts\_audio_mix_manager::mm_clear_submix("det_sentinel_reveal",5); + } +} + +//Function Number: 226 +sent_guy_3_decloak() +{ + soundscripts\_audio_mix_manager::mm_clear_submix("det_sentinel_reveal",5); + soundscripts\_snd_playsound::snd_play_linked("det_sent_rev_goodguy03_uncloak"); +} + +//Function Number: 227 +det_knx_thatsclassifiedmate() +{ + soundscripts\_audio_mix_manager::mm_add_submix("det_post_sentinel_reveal",0.1); +} + +//Function Number: 228 +sentinel_reveal_final_vo() +{ + music("mus_pre_exit_drive"); +} + +//Function Number: 229 +sent_guy_1_decloak() +{ + soundscripts\_snd_playsound::snd_play_linked("det_sent_rev_goodguy01_uncloak"); + soundscripts\_snd_timescale::snd_set_timescale("detroit_default"); +} + +//Function Number: 230 +sent_guy1_mask_up(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_sent_rev_goodguy01_mask_open"); +} + +//Function Number: 231 +sent_guy1_mask_down(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_sent_rev_goodguy01_mask_close"); + surprise_attack(); +} + +//Function Number: 232 +sent_guy1_cloak(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_sent_rev_goodguy01_cloak"); +} + +//Function Number: 233 +burke_knocked_to_ground(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_sent_rev_burke_fall"); +} + +//Function Number: 234 +burke_gets_up(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_sent_rev_burke_get_up"); +} + +//Function Number: 235 +burke_feet01(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_sent_rev_burke_limp"); +} + +//Function Number: 236 +burke_alert(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_sent_rev_burke_alert"); +} + +//Function Number: 237 +burke_exit(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("det_sent_rev_burke_exit"); +} + +//Function Number: 238 +surprise_attack() +{ + soundscripts\_snd_playsound::snd_play_2d("det_sent_rev_surprise_attack"); +} + +//Function Number: 239 +aud_impact_system_jetbike(param_00) +{ + var_01 = []; + var_01["Debug"] = 0; + var_01["VehicleID"] = "jbike_impact"; + var_01["PV_MinVelocityThreshold"] = 125; + var_01["PV_MaxVelocity"] = 800; + var_01["PV_NumVelocityRanges"] = 3; + var_01["PV_MaxSmlVelocity"] = 200; + var_01["PV_MaxMedVelocity"] = 375; + var_01["PV_MaxLrgVelocity"] = 800; + var_01["NPC_MinVelocityThreshold"] = 25; + var_01["NPC_MaxVelocity"] = 800; + var_01["NPC_NumVelocityRanges"] = 3; + var_01["NPC_MaxSmlVelocity"] = 100; + var_01["NPC_MaxMedVelocity"] = 400; + var_01["NPC_MaxLrgVelocity"] = 800; + var_01["MinLFEVolumeThreshold"] = 0; + var_01["FallVelMultiplier"] = 2; + var_01["MinTimeThreshold"] = 350; + var_01["ScrapeEnabled"] = 0; + var_01["ScrapeSeperationTime"] = 0.5; + var_01["ScrapeFadeOutTime"] = 0.5; + var_01["ScrapeUpdateRate"] = 0.05; + var_01["TireSkidProbability"] = 0; + var_01["MaxDistanceThreshold"] = 6000; + var_01["MedVolMin"] = 0.7; + var_01["LrgVolMin"] = 1; + var_01["NonPlayerImpVolReduction"] = 0; + soundscripts\_snd_common::snd_play_vehicle_collision(param_00,var_01); +} + +//Function Number: 240 +setup_exit_ride_anims() +{ + if(level.currentgen && !issubstr(level.transient_zone,"middle")) + { + level waittill("tff_post_intro_to_middle"); + } + + maps\_anim::addnotetrack_customfunction("burke","aud_exitride_burke_start",::exit_ride_burke_start,"det_exit_drive_starting_anim_1"); + maps\_anim::addnotetrack_customfunction("burke","aud_exitride_burke_door_open",::exit_ride_burke_door_open,"det_exit_drive_starting_anim_1"); + maps\_anim::addnotetrack_customfunction("burke","aud_exitride_burke_mount",::exit_ride_burke_mount,"det_exit_drive_starting_anim_1"); + maps\_anim::addnotetrack_customfunction("burke","aud_exitride_burke_away",::exit_ride_burke_away,"det_exit_drive_starting_anim_2"); + maps\_anim::addnotetrack_customfunction("joker","aud_exitride_joker_start",::exit_ride_joker_start,"det_exit_drive_starting_anim_2"); +} + +//Function Number: 241 +exit_ride_burke_start(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("exit_ride_burke_feet",undefined,undefined,undefined,undefined,(0,0,-10)); + soundscripts\_audio_mix_manager::mm_clear_submix("det_post_sentinel_reveal",3); +} + +//Function Number: 242 +exit_ride_burke_door_open(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("exit_ride_burke_door"); +} + +//Function Number: 243 +exit_ride_burke_mount(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("exit_ride_burke_mount"); +} + +//Function Number: 244 +exit_ride_burke_away(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("exit_ride_burke_away"); +} + +//Function Number: 245 +exit_ride_joker_start(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("exit_ride_joker_feet",undefined,undefined,undefined,undefined,(0,0,-10)); +} + +//Function Number: 246 +exit_ride_jetbike_mount_player() +{ + soundscripts\_audio_mix_manager::mm_add_submix("det_exit_ride_intro"); + soundscripts\_snd_playsound::snd_play_2d("exit_ride_player_foley"); + wait(6); + soundscripts\_snd_playsound::snd_play_2d("exit_ride_player_ignition"); + wait(4); + soundscripts\_audio_mix_manager::mm_clear_submix("det_exit_ride_intro",2); + soundscripts\_audio_mix_manager::mm_add_submix("det_exit_ride_jetbikes",1); +} + +//Function Number: 247 +gaz_store_shootout_drive(param_00) +{ + var_01 = self; + var_01 soundscripts\_snd_playsound::snd_play_linked("det_gaz_strafe_driveby_01"); +} + +//Function Number: 248 +warehouse_chase_vehicle_02() +{ + var_00 = self; + var_00 soundscripts\_snd_playsound::snd_play_linked("det_gaz_strafe_driveby_01"); +} + +//Function Number: 249 +warehouse_chase_vehicle_03() +{ + var_00 = self; + var_00 soundscripts\_snd_playsound::snd_play_linked("det_gaz_strafe_driveby_02"); +} + +//Function Number: 250 +warehouse_chase_vehicle_04() +{ + var_00 = self; +} + +//Function Number: 251 +warehouse_car_shots(param_00) +{ + var_01 = self; + var_01 endon("death"); + var_02 = 0.05; + var_01 soundscripts\_snd_playsound::snd_play_loop_linked("wpn_wraith_turret_npc_lp",param_00); + var_03 = spawn("script_origin",level.jetbike maps\_shg_design_tools::offset_position_from_tag("forward","tag_origin",500)); + var_04 = var_03 soundscripts\_snd_playsound::snd_play_loop_linked("det_gaz_strafe_bullets_lp",param_00); + var_05 = var_03 soundscripts\_snd_playsound::snd_play_loop_linked("det_gaz_strafe_bullets_metal_lp",param_00); + thread warehouse_one_shots_glass(param_00); + thread warehouse_one_shots_rock(param_00); + while(isdefined(var_01)) + { + var_06 = distance(var_01.origin,level.player.origin); + var_07 = soundscripts\_snd::snd_map(var_06,level.aud.envs["gaz_strafe_whizybys"]); + var_08 = level.jetbike maps\_shg_design_tools::offset_position_from_tag("forward","tag_origin",500); + var_03 moveto(var_08,var_02); + if(isdefined(var_04)) + { + var_04 scalevolume(var_07,var_02); + } + + if(isdefined(var_05)) + { + var_05 scalevolume(var_07,var_02); + } + + wait(var_02); + } + + var_03 delete(); +} + +//Function Number: 252 +warehouse_one_shots_glass(param_00) +{ + level endon(param_00); + for(;;) + { + var_01 = randomintrange(1,2); + wait(var_01); + level.player thread soundscripts\_snd_playsound::snd_play_linked("det_gaz_strafe_random_shots_glass"); + wait(0.05); + } +} + +//Function Number: 253 +warehouse_one_shots_rock(param_00) +{ + level endon(param_00); + for(;;) + { + var_01 = randomintrange(2,5); + level.player thread soundscripts\_snd_playsound::snd_play_linked("det_gaz_strafe_random_shots_rock"); + wait(var_01); + } +} + +//Function Number: 254 +exit_drive_rpgs() +{ + var_00 = self; + var_00 soundscripts\_snd_playsound::snd_play_loop_linked("det_rpg_attack_lp"); + var_00 thread exit_drive_rpgs_flyby(); + var_00 waittill("explode"); + if(isdefined(var_00)) + { + thread soundscripts\_snd_playsound::snd_play_at("det_rpg_attack_exp",self.origin); + thread soundscripts\_snd_playsound::snd_play_at("det_rpg_attack_debris",self.origin); + } +} + +//Function Number: 255 +exit_drive_rpgs_flyby() +{ + var_00 = self; + var_01 = 900; + while(isdefined(var_00)) + { + var_02 = distance(var_00.origin,level.player.origin); + if(var_02 < var_01) + { + var_00 soundscripts\_snd_playsound::snd_play_linked("det_rpg_attack_flyby"); + break; + } + + wait(0.05); + } +} + +//Function Number: 256 +exitdrive_chopper_initial() +{ +} + +//Function Number: 257 +exitdrive_chopper_initial_gopath() +{ + soundscripts\_audio_mix_manager::mm_add_submix("det_exit_ride_littlebirds",1); + var_00 = self; + var_00 vehicle_turnengineoff(); + var_00 soundscripts\_snd_playsound::snd_play_linked("det_littlebird_exitride_first"); +} + +//Function Number: 258 +exitdrive_chopper_tracks_1() +{ + var_00 = "LB-track: "; + var_01 = "littlebird_flyby"; + var_02 = []; + var_02[0] = 3100; + var_03 = []; + var_03[0] = 75; + thread soundscripts\_snd_common::snd_advanced_flyby_system(var_01,undefined,var_02,var_03,1); +} + +//Function Number: 259 +exitdrive_chopper_tracks_1_gopath() +{ + var_00 = self; + var_00 soundscripts\_snd_playsound::snd_play_linked("littlebird_med_incoming",undefined,undefined,0.6); +} + +//Function Number: 260 +gaz_water_crash_01() +{ + var_00 = self; + var_00 soundscripts\_snd_playsound::snd_play_linked("det_gaz_strafe_driveby_02","aud_gaz_water_crashed"); +} + +//Function Number: 261 +gaz_water_crash_02() +{ + var_00 = self; + var_00 soundscripts\_snd_playsound::snd_play_linked("det_gaz_strafe_driveby_01","aud_gaz_water_crashed"); +} + +//Function Number: 262 +gaz_water_crashed(param_00) +{ + var_01 = self; + var_01 soundscripts\_snd_playsound::snd_play_linked("det_gaz_watercrash"); + wait(0.1); + param_00 soundscripts\_snd_playsound::snd_play_linked("det_gaz_watercrash"); + level notify("aud_gaz_water_crashed"); +} + +//Function Number: 263 +exitdrive_chopper_final() +{ +} + +//Function Number: 264 +exitdrive_chopper_final_gopath() +{ + var_00 = self; + var_00 vehicle_turnengineoff(); + var_00 soundscripts\_snd_playsound::snd_play_linked("det_littlebird_exitride_last"); + wait(25); + soundscripts\_audio_mix_manager::mm_clear_submix("det_exit_ride_littlebirds",3); +} + +//Function Number: 265 +collapsing_buttress_missile() +{ + var_00 = self; + var_00 soundscripts\_snd_playsound::snd_play_loop_linked("det_rpg_attack_lp"); + var_00 thread collapsing_buttress_missile_flyby(); + var_00 waittill("explode"); + if(isdefined(var_00)) + { + thread soundscripts\_snd_playsound::snd_play_at("det_rpg_attack_exp",self.origin); + thread soundscripts\_snd_playsound::snd_play_at("det_rpg_attack_debris",self.origin); + } +} + +//Function Number: 266 +collapsing_buttress_missile_flyby() +{ + var_00 = self; + var_01 = 900; + while(isdefined(var_00)) + { + var_02 = distance(var_00.origin,level.player.origin); + if(var_02 < var_01) + { + var_00 soundscripts\_snd_playsound::snd_play_linked("det_rpg_attack_flyby"); + break; + } + + wait(0.05); + } +} + +//Function Number: 267 +collapsing_buttress_01() +{ + var_00 = (-7808,15430,-2); + thread soundscripts\_snd_playsound::snd_play_at("det_buttress_collapse_impact",var_00); +} + +//Function Number: 268 +collapsing_buttress_02() +{ + var_00 = (-7822,14051,-11); + thread soundscripts\_snd_playsound::snd_play_at("det_buttress_collapse_impact_02",var_00); +} + +//Function Number: 269 +collapsing_buttress_03() +{ + var_00 = (-7841,12406,-11); + thread soundscripts\_snd_playsound::snd_play_at("det_buttress_collapse_impact",var_00); +} + +//Function Number: 270 +exit_train_by(param_00) +{ + var_01 = self; + common_scripts\utility::flag_set("aud_maglev_train_path_disabled"); + switch(param_00) + { + case 1: + soundscripts\_audio_mix_manager::mm_add_submix("det_exit_ride_maglev_trains"); + soundscripts\_audio_mix_manager::mm_add_submix("det_exit_ride_homestretch_bike_down1"); + soundscripts\_snd_playsound::snd_play_delayed_linked("det_exit_train1",1.66); + soundscripts\_snd_playsound::snd_play_delayed_linked("det_exit_train1_horn",1.66); + soundscripts\_snd_playsound::snd_play_delayed_linked("det_exit_train1_lfe",2.06); + break; + + case 2: + soundscripts\_snd_playsound::snd_play_delayed_linked("det_exit_train2",1.13); + soundscripts\_snd_playsound::snd_play_delayed_linked("det_exit_train2_lfe",2.13); + break; + + case 3: + var_02 = (-5636,6974,475); + thread exit_train_by_train3_loop(var_02); + thread exit_train_by_train3_whoosh(var_02); + soundscripts\_audio_mix_manager::mm_clear_submix("det_exit_ride_homestretch_bike_down1",15); + soundscripts\_audio_mix_manager::mm_add_submix("det_exit_ride_homestretch_bike_down2",15); + break; + } +} + +//Function Number: 271 +exit_train_by_train3_loop(param_00) +{ + var_01 = "exit_train3_loop"; + var_02 = [[540,1],[1080,0.1]]; + var_03 = soundscripts\_snd::snd_map(distance2d(level.player.origin,param_00),var_02); + wait(2.13); + var_04 = soundscripts\_snd_playsound::snd_play_loop_at("det_exit_train3_bart",param_00,var_01,0.5,1,var_03); + var_05 = soundscripts\_snd_playsound::snd_play_loop_at("det_exit_train3_hum",param_00,var_01,0.5,1,var_03); + var_06 = soundscripts\_snd_playsound::snd_play_loop_at("det_exit_train3_lfe",param_00,var_01,0.5,1,var_03); + var_07 = 100000; + var_08 = distance2d(level.player.origin,param_00); + for(var_09 = var_07 - var_08 > 0;var_09;var_09 = var_07 - var_08 > 0) + { + var_03 = soundscripts\_snd::snd_map(var_08,var_02); + var_04 scalevolume(var_03); + var_05 scalevolume(var_03); + var_06 scalevolume(var_03); + wait(0.1); + var_07 = var_08; + var_08 = distance2d(level.player.origin,param_00); + } + + level notify(var_01); + wait(3); + soundscripts\_audio_mix_manager::mm_clear_submix("det_exit_ride_maglev_trains"); +} + +//Function Number: 272 +exit_train_by_train3_whoosh(param_00) +{ + var_01 = 100000; + var_02 = distance2d(level.player.origin,param_00); + var_03 = var_01 - var_02 > 0; + while(var_03) + { + wait(0.1); + var_01 = var_02; + var_02 = distance2d(level.player.origin,param_00); + var_03 = var_01 - var_02 > 0; + if(var_02 < 200) + { + break; + } + } + + soundscripts\_snd_playsound::snd_play_at("det_exit_train3_whoosh",level.player.origin); +} + +//Function Number: 273 +exit_drive_ending_begin() +{ + soundscripts\_audio_mix_manager::mm_add_submix("det_final_cinematic"); + soundscripts\_snd_playsound::snd_play_2d("det_ending_bike_approach"); +} + +//Function Number: 274 +setup_ending_anims() +{ + if(level.currentgen && !issubstr(level.transient_zone,"_outro")) + { + level waittill("tff_post_remove_hospital_add_exit"); + } + + maps\_anim::addnotetrack_customfunction("player_bike","ending_player_bike_braking",::ending_player_bike_braking,"det_exit_drive_ending"); + maps\_anim::addnotetrack_customfunction("joker_bike","ending_joker_bike_flyby",::ending_joker_bike_flyby,"det_exit_drive_ending"); + maps\_anim::addnotetrack_customfunction("bones_bike","ending_bones_bike_flyby",::ending_bones_bike_flyby,"det_exit_drive_ending"); +} + +//Function Number: 275 +ending_player_bike_braking(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("det_ending_plr_bike_braking"); + music("mus_end_exit_drive"); +} + +//Function Number: 276 +ending_joker_bike_flyby(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("det_ending_squad_bikes_fly_by"); +} + +//Function Number: 277 +ending_bones_bike_flyby(param_00) +{ +} + +//Function Number: 278 +setup_chopper_crash_anims() +{ + if(level.currentgen && !issubstr(level.transient_zone,"_outro")) + { + level waittill("tff_post_remove_hospital_add_exit"); + } + + maps\_anim::addnotetrack_customfunction("littlebird","det_end_chopper_approach",::det_end_chopper_approach,"det_exit_drive_ending"); + maps\_anim::addnotetrack_customfunction("littlebird","det_end_chopper_crash_start",::det_end_chopper_crash_start,"det_exit_drive_ending"); + maps\_anim::addnotetrack_customfunction("littlebird","det_end_chopper_tumble",::det_end_chopper_tumble,"det_exit_drive_ending"); + maps\_anim::addnotetrack_customfunction("littlebird","det_end_chopper_tumble_2",::det_end_chopper_tumble_2,"det_exit_drive_ending"); +} + +//Function Number: 279 +det_end_chopper_approach(param_00) +{ +} + +//Function Number: 280 +det_end_chopper_crash_start(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("det_ending_heli_initial_explo"); +} + +//Function Number: 281 +det_end_chopper_tumble(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("det_ending_heli_tumble1"); +} + +//Function Number: 282 +det_end_chopper_tumble_2(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("det_ending_heli_tumble2"); + music("mus_det_ending_win"); +} + +//Function Number: 283 +chopper_final_explo() +{ + soundscripts\_snd_playsound::snd_play_2d("det_ending_heli_big_explo"); +} + +//Function Number: 284 +setup_end_gate() +{ + if(level.currentgen && !issubstr(level.transient_zone,"_outro")) + { + level waittill("tff_post_remove_hospital_add_exit"); + } + + maps\_anim::addnotetrack_customfunction("gate","det_end_gate_close",::det_end_gate_close,"det_exit_drive_ending"); +} + +//Function Number: 285 +det_end_gate_close(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("det_ending_big_gate_close",0); +} + +//Function Number: 286 +det_gl_end_logo() +{ + soundscripts\_snd_playsound::snd_play_2d("det_gl_end_logo"); + soundscripts\_audio_mix_manager::mm_add_submix("det_gl_end_logo"); +} + +//Function Number: 287 +e3_demo_fade_out() +{ + soundscripts\_audio_mix_manager::mm_add_submix("mute_all",3); +} + +//Function Number: 288 +e3_demo_fade_in() +{ + soundscripts\_audio_mix_manager::mm_add_submix("mute_all"); + wait(0.05); + soundscripts\_audio_mix_manager::mm_clear_submix("mute_all",2); + soundscripts\_audio_mix_manager::mm_clear_submix("alley_combat_trains_off"); +} + +//Function Number: 289 +e3_demo_clear_basement_footsteps() +{ + level.aud.in_basement = 0; +} + +//Function Number: 290 +aud_det_foley_override_handler() +{ + level.player endon("death"); + for(;;) + { + level.player waittill("foley",var_00,var_01,var_02); + switch(var_00) + { + case "stationarycrouchscuff": + if(isdefined(level.aud.in_school) && level.aud.in_school == 1) + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_school_plr_scuff"); + } + break; + + case "stationaryscuff": + if(isdefined(level.aud.in_school) && level.aud.in_school == 1) + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_school_plr_scuff"); + } + break; + + case "crouchscuff": + if(isdefined(level.aud.in_school) && level.aud.in_school == 1) + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_school_plr_scuff"); + } + break; + + case "runscuff": + if(isdefined(level.aud.in_school) && level.aud.in_school == 1) + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_school_plr_scuff"); + } + break; + + case "sprintscuff": + if(isdefined(level.aud.in_school) && level.aud.in_school == 1) + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_school_plr_scuff"); + } + break; + + case "prone": + if(isdefined(level.aud.in_school) && level.aud.in_school == 1) + { + if(var_02) + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_school_plr_prone_l"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_school_plr_prone_r"); + } + } + else if(isdefined(level.aud.in_basement) && level.aud.in_basement == 1) + { + if(var_02) + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_bsmt_wtr_plr_walk_l"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_bsmt_wtr_plr_walk_r"); + } + } + break; + + case "crouchwalk": + if(isdefined(level.aud.in_school) && level.aud.in_school == 1) + { + if(var_02) + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_school_plr_walk_l"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_school_plr_walk_r"); + } + } + else if(isdefined(level.aud.in_basement) && level.aud.in_basement == 1) + { + if(var_02) + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_bsmt_wtr_plr_walk_l"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_bsmt_wtr_plr_walk_r"); + } + } + break; + + case "crouchrun": + if(isdefined(level.aud.in_school) && level.aud.in_school == 1) + { + if(var_02) + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_school_plr_run_l"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_school_plr_run_r"); + } + } + else if(isdefined(level.aud.in_basement) && level.aud.in_basement == 1) + { + if(var_02) + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_bsmt_wtr_plr_walk_l"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_bsmt_wtr_plr_walk_r"); + } + } + break; + + case "walk": + if(isdefined(level.aud.in_school) && level.aud.in_school == 1) + { + if(var_02) + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_school_plr_walk_l"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_school_plr_walk_r"); + } + } + else if(isdefined(level.aud.in_basement) && level.aud.in_basement == 1) + { + if(var_02) + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_bsmt_wtr_plr_walk_l"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_bsmt_wtr_plr_walk_r"); + } + } + break; + + case "run": + if(isdefined(level.aud.in_school) && level.aud.in_school == 1) + { + if(var_02) + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_school_plr_run_l"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_school_plr_run_r"); + } + } + else if(isdefined(level.aud.in_basement) && level.aud.in_basement == 1) + { + if(var_02) + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_bsmt_wtr_plr_run_l"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_bsmt_wtr_plr_run_r"); + } + } + break; + + case "sprint": + if(isdefined(level.aud.in_school) && level.aud.in_school == 1) + { + if(var_02) + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_school_plr_sprint_l"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_school_plr_sprint_r"); + } + } + else if(isdefined(level.aud.in_basement) && level.aud.in_basement == 1) + { + if(var_02) + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_bsmt_wtr_plr_sprint_l"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_bsmt_wtr_plr_sprint_r"); + } + } + break; + + case "jump": + break; + + case "lightland": + if(isdefined(level.aud.in_school) && level.aud.in_school == 1) + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_school_plr_land_lt"); + } + else if(isdefined(level.aud.in_basement) && level.aud.in_basement == 1) + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_bsmt_wtr_plr_land_lt"); + } + break; + + case "mediumland": + if(isdefined(level.aud.in_school) && level.aud.in_school == 1) + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_school_plr_land_med"); + } + else if(isdefined(level.aud.in_basement) && level.aud.in_basement == 1) + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_bsmt_wtr_plr_land_med"); + } + break; + + case "heavyland": + if(isdefined(level.aud.in_school) && level.aud.in_school == 1) + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_school_plr_land_hv"); + } + else if(isdefined(level.aud.in_basement) && level.aud.in_basement == 1) + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_bsmt_wtr_plr_land_hv"); + } + break; + + case "damageland": + if(isdefined(level.aud.in_school) && level.aud.in_school == 1) + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_school_plr_land_hv_dam"); + } + else if(isdefined(level.aud.in_basement) && level.aud.in_basement == 1) + { + soundscripts\_snd_playsound::snd_play_2d("fs_det_bsmt_wtr_plr_land_hv_dam"); + } + break; + + case "mantleuphigh": + break; + + case "mantleupmedium": + break; + + case "mantleuplow": + break; + + case "mantleoverhigh": + break; + + case "mantleovermedium": + break; + + case "mantleoverlow": + break; + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/detroit_exit_drive.gsc b/AW/PC/maps/detroit_exit_drive.gsc new file mode 100644 index 0000000..57c5ecd --- /dev/null +++ b/AW/PC/maps/detroit_exit_drive.gsc @@ -0,0 +1,1650 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: detroit_exit_drive.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 76 + * Decompile Time: 1080 ms + * Timestamp: 4/22/2024 2:27:49 AM +*******************************************************************/ + +//Function Number: 1 +exit_drive_main() +{ + precacheitem("rpg_straight"); + precacheitem("rpg_player"); + precacheitem("rpg_custom_detroit_exit_drive"); + thread setup_exitdrive_starting_anims(); + thread exit_drive_objects_think(); + thread failed_to_keep_up(); + thread failed_to_avoid_buttress(); + thread setup_exitdrive_encounters(); + thread warning_box_functions(); + thread cleanup_school_cars(); +} + +//Function Number: 2 +transient_middle_remove_hospital_interior_begin() +{ + level notify("tff_pre_remove_hospital_add_exit"); + unloadtransient("detroit_hospital_interior_tr"); + wait(2.5); + loadtransient("detroit_outro_tr"); + for(;;) + { + if(istransientloaded("detroit_outro_tr")) + { + level notify("tff_post_remove_hospital_add_exit"); + break; + } + + wait(0.05); + } + + level.jetbike overridematerial("mq/mtl_mil_hoverbike_screen_center_off","mq/mtl_hoverbike_screen_ui_01"); + level.jetbike overridematerial("mq/mtl_mil_hoverbike_screen_right_off","mq/mtl_hoverbike_screen_ui_02"); + level.jetbike overridematerial("mq/mtl_mil_hoverbike_screen_top_off","mq/mtl_hoverbike_screen_ui_03"); + level.jetbike overridematerial("mq/mtl_mil_hoverbike_lights_off","mq/mtl_hoverbike_screen_ui_04"); +} + +//Function Number: 3 +warning_box_functions() +{ + var_00 = getent("exit_drive_warning_box","targetname"); + common_scripts\utility::flag_wait("exit_drive_started"); + thread mission_fail_warning_exitdrive(var_00); +} + +//Function Number: 4 +mission_fail_warning_exitdrive(param_00) +{ + level.player endon("death"); + for(;;) + { + if(level.player istouching(param_00)) + { + maps\_utility::hint(&"DETROIT_LEAVING_MISSION",3); + wait(8); + } + + wait(0.05); + } +} + +//Function Number: 5 +exit_drive_objects_think() +{ + var_00 = getentarray("exitdrive_vehicle_clip_bubble","targetname"); + foreach(var_02 in var_00) + { + var_02.origin = var_02.origin - (0,0,1000); + } + + common_scripts\utility::flag_wait("exit_drive_started"); + foreach(var_02 in var_00) + { + var_02.origin = var_02.origin + (0,0,1000); + } +} + +//Function Number: 6 +jetbike_physics() +{ + self endon("death"); + var_00 = 0; + var_01 = 0; + var_02 = 0; + var_03 = 0; + var_04 = 0.3; + if(self == level.burke_bike) + { + var_00 = 10; + var_01 = 25; + var_02 = 60; + var_03 = -20; + } + + if(self == level.jetbike) + { + var_00 = 74; + var_01 = 75; + var_02 = 100; + var_03 = -100; + var_04 = 0.06; + } + + for(;;) + { + var_05 = var_04; + if(self == level.jetbike) + { + var_06 = self vehicle_getspeed(); + var_07 = 42; + var_05 = var_05 * max(0,min(1,var_06 / var_07)); + } + + var_08 = self.origin + anglestoforward(self.angles) * var_02 + anglestoup(self.angles) * var_03; + physicsexplosionsphere(var_08,var_01,var_00,var_05,0); + wait(0.05); + } +} + +//Function Number: 7 +manage_burke_bike_behavior() +{ + wait(4); + level.burke_bike maps\detroit_jetbike::vehicle_rubberband(level.jetbike,1000,100); + level.burke_bike maps\detroit_jetbike::vehicle_rubberband_set_min_speed(30); + wait(1); + level.burke_bike maps\detroit_jetbike::vehicle_rubberband_set_fail_range(2000,8); + maps\_shg_design_tools::waittill_trigger_with_name("trigger_rail_dodge_01a"); + level.burke_bike maps\detroit_jetbike::vehicle_rubberband_set_desired_range(1200); +} + +//Function Number: 8 +failed_to_keep_up() +{ + common_scripts\utility::flag_wait("player_on_exitdrive_jetbike"); + common_scripts\utility::flag_clear("exit_drive_ending_begin_player"); + common_scripts\utility::flag_wait("flag_jetbike_fail"); + if(common_scripts\utility::flag("exit_drive_ending_begin_player")) + { + return; + } + + maps\detroit_jetbike::fail_out_of_range(); +} + +//Function Number: 9 +failed_to_avoid_buttress() +{ + common_scripts\utility::flag_wait("flag_jetbike_fail_buttress"); + level.player kill(); +} + +//Function Number: 10 +exit_drive_player_jetbike_initial_lights() +{ + var_00 = maps\_shg_utility::play_fx_with_handle("jetbike_lights",self,"tag_headlight"); + self waittill("kill_fx_to_hack_around_setmodel_fx_bug"); + maps\_shg_utility::kill_fx_with_handle(var_00); +} + +//Function Number: 11 +setup_exitdrive_control_hints() +{ + common_scripts\utility::flag_wait("player_on_exitdrive_jetbike"); + wait(8); + maps\_utility::hintdisplayhandler("jetbike_controls_controller"); +} + +//Function Number: 12 +player_input_control_hint_off() +{ + if(level.player getnormalizedmovement()[0] != 0 || level.player getnormalizedmovement()[1] != 0) + { + return 1; + } + + return 0; +} + +//Function Number: 13 +handle_name_identifiers_exit_drive() +{ + var_00 = getdvarint("g_friendlyNameDist"); + setsaveddvar("g_friendlyNameDist",0); + level waittill("detroit_level_fadeout"); + setsaveddvar("g_friendlyNameDist",var_00); +} + +//Function Number: 14 +setup_exitdrive_starting_anims() +{ + var_00 = getent("exit_drive_starting","targetname"); + thread jetbike_exitdrive_door(var_00); + common_scripts\utility::flag_wait("exit_drive_cinematic_start"); + thread maps\detroit::spawn_bikes(); + thread jetbike_exitdrive_player(var_00); + thread jetbike_exitdrive_burke(var_00); + thread jetbike_exitdrive_joker_and_doctor(var_00); + thread jetbike_exitdrive_bones(var_00); + thread exit_drive_starting_anims_ambient_danger(); + thread jetbike_exitdrive_fov_changes(); + thread stay_on_mission(); + if(level.currentgen) + { + wait(2); + level.burke_bike hide(); + level.joker_bike hide(); + level.bones_bike hide(); + if(isdefined(level.player_bike)) + { + level.player_bike hide(); + } + } +} + +//Function Number: 15 +jetbike_exitdrive_fov_changes() +{ + level waittill("exit_drive_FOV_start"); + level.player lerpfov(56,2); + level waittill("exit_drive_FOV_end"); + level.player lerpfov(65,1); +} + +//Function Number: 16 +stay_on_mission() +{ + maps\_utility::trigger_wait_targetname("play_garage_animation_sequence"); + maps\_player_death::set_deadquote(&"DETROIT_OBJECTIVE_FAIL_JETBIKE"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 17 +jetbike_exitdrive_door(param_00) +{ + if(level.currentgen && !issubstr(level.transient_zone,"middle")) + { + level waittill("tff_post_intro_to_middle"); + } + + var_01 = getent("exit_drive_animated_door","targetname"); + var_01.animname = "animated_door"; + var_01 maps\_anim::setanimtree(); + var_02 = getent(var_01.target,"targetname"); + param_00 maps\_anim::anim_first_frame_solo(var_01,"det_exit_drive_starting_anim_1"); + var_02 linkto(var_01,"doorA"); + common_scripts\utility::flag_wait("flag_open_door_to_bikes"); + param_00 thread maps\_anim::anim_single_solo(var_01,"det_exit_drive_starting_anim_1"); +} + +//Function Number: 18 +jetbike_exitdrive_player(param_00) +{ + thread setup_exitdrive_control_hints(); + if(isdefined(level.player_bike)) + { + level.player_bike delete(); + } + + level.jetbike = maps\_vehicle::spawn_vehicle_from_targetname("player_jetbike_exit"); + level.jetbike.animname = "player_bike"; + level.jetbike_obj = spawn("script_model",(0,0,0)); + level.jetbike_obj.animname = level.jetbike.animname; + level.jetbike_obj maps\_utility::assign_animtree(); + param_00 thread maps\_anim::anim_loop_solo(level.jetbike,"det_exit_drive_starting_idle_1","bike_idle_ender"); + level.jetbike jetbike_allow_player_use_detroit(undefined); + level.player thread maps\_player_exo::player_exo_deactivate(); + param_00 notify("bike_idle_ender"); + level.jetbike_obj delete(); + level notify("hide_hoverbike_exit_prompt"); + if(level.nextgen) + { + level.jetbike showallparts(); + } + + common_scripts\utility::flag_set("player_on_exitdrive_jetbike"); + common_scripts\utility::flag_clear("start_exit_trains"); + level.jetbike thread maps\detroit_jetbike::handle_glass_collisions(); + thread handle_name_identifiers_exit_drive(); + common_scripts\utility::flag_set("exitdrive_lights_on"); + level.player lightsetforplayer("jetbike_exit"); + maps\_utility::vision_set_fog_changes("detroit_jetbike_exit",2); + thread maps\detroit_lighting::exit_drive_jetbike_lighting(); + level waittill("exit_drive_on_button_pressed"); + level notify("player_progressed_to_exit_drive"); + level.jetbike vehicle_scripts\_jetbike::jetbike_speedometer_on(); + level.jetbike thread maps\detroit_refugee_camp::hoverbike_ride_in_autorumble(225,"stop_exit_drive_rumbles"); + level.player thread manage_health_rumble(); + if(level.nextgen) + { + level.burke_bike overridematerial("mtl_mil_hoverbike","m/mtl_mil_hoverbike_emissive"); + level.burke_bike overridematerial("m/mtl_mil_hoverbike_glass","m/mtl_mil_hoverbike_glass"); + } + else + { + level.burke_bike overridematerial("mtl_mil_hoverbike","mq/mtl_mil_hoverbike_emissive"); + level.burke_bike overridematerial("mq/mtl_mil_hoverbike_glass","mq/mtl_mil_hoverbike_glass"); + } + + common_scripts\utility::flag_set("exit_drive_started"); + level.player thread monitor_wheelman(); + level.player thread maps\_player_exo::player_exo_activate(); + common_scripts\utility::flag_set("obj_escape_detroit_on_burke"); + if(level.currentgen) + { + thread transient_middle_remove_hospital_interior_begin(); + } + + maps\_utility::autosave_by_name(); +} + +//Function Number: 19 +monitor_wheelman() +{ + level.player.wheelman_success = 1; + thread monitor_jetbike_wheelman(); + thread monitor_player_wheelman(); + common_scripts\utility::flag_wait("obj_escape_detroit_complete"); + if(level.player.wheelman_success) + { + maps\_utility::giveachievement_wrapper("LEVEL_5A"); + } +} + +//Function Number: 20 +monitor_jetbike_wheelman() +{ + level endon("obj_escape_detroit_complete"); + for(;;) + { + var_00 = level.jetbike common_scripts\utility::waittill_any_return_parms("veh_contact"); + if(isdefined(var_00) && isarray(var_00)) + { + var_01 = vectornormalize(var_00[3]); + if(var_01[2] < 0.8) + { + if(isdefined(level.player.wheelman_success)) + { + level.player.wheelman_success = 0; + } + } + } + } +} + +//Function Number: 21 +monitor_player_wheelman() +{ + level endon("obj_escape_detroit_complete"); + for(;;) + { + var_00 = level.player common_scripts\utility::waittill_any_return("damage","death"); + level.player.wheelman_success = 0; + } +} + +//Function Number: 22 +jetbike_allow_player_use_detroit(param_00) +{ + self makeunusable(); + var_01 = getent("hoverbike_exit_trigger_usable","targetname"); + var_01 sethintstring(&"DETROIT_PROMPT_USE"); + var_02 = var_01 maps\_shg_utility::hint_button_position("use",var_01.origin,undefined,200,undefined,var_01); + var_01 waittill("trigger"); + var_01 delete(); + var_02 maps\_shg_utility::hint_button_clear(); + soundscripts\_snd::snd_message("exit_ride_jetbike_mount_player"); + thread vehicle_scripts\_jetbike::jetbike_allow_player_use_internal(param_00); + level.doctor hide(); + level.joker hide(); + wait(1.8); + level.doctor show(); + level.joker show(); +} + +//Function Number: 23 +manage_health_rumble() +{ + self endon("death"); + var_00 = level.player.health; + var_01 = 0; + for(;;) + { + var_01 = level.player.health; + if(var_01 < var_00) + { + var_02 = var_00 - var_01; + thread health_based_rumble(var_02); + } + + var_00 = var_01; + wait(0.05); + } +} + +//Function Number: 24 +health_based_rumble(param_00) +{ + var_01 = level.player maps\_utility::get_rumble_ent("steady_rumble"); + var_01 maps\_utility::set_rumble_intensity(param_00 / 120); + wait(0.3); + var_01 stoprumble("steady_rumble"); + var_01 delete(); +} + +//Function Number: 25 +hoverbike_exit_prompt() +{ + var_00 = getent("hoverbike_exit_trigger_usable","targetname") maps\_shg_utility::hint_button_trigger("use",200); + level waittill("hide_hoverbike_exit_prompt"); + thread hospital_barrel_swap_physics(); + var_00 maps\_shg_utility::hint_button_clear(); +} + +//Function Number: 26 +hospital_barrel_swap_physics() +{ + var_00 = getentarray("static_barrel_hospital","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 physicslaunchclient(var_02.origin,(0,0,0)); + } +} + +//Function Number: 27 +jetbike_exitdrive_burke(param_00) +{ + if(isdefined(level.burke_bike)) + { + level.burke_bike delete(); + } + + level.burke_bike = maps\_vehicle::spawn_vehicle_from_targetname("npc_jetbike_burke"); + level.burke_bike.animname = "burke_bike"; + var_01 = level.burke_bike; + var_02 = [level.burke,var_01]; + param_00 maps\_anim::anim_reach_solo(level.burke,"det_exit_drive_starting_anim_1"); + maps\_utility::delaythread(2,::common_scripts\utility::flag_set,"obj_escape_detroit_on_player_bike"); + common_scripts\utility::flag_set("flag_open_door_to_bikes"); + param_00 thread maps\_anim::anim_single(var_02,"det_exit_drive_starting_anim_1"); + common_scripts\utility::waittill_any_ents(param_00,"det_exit_drive_starting_anim_1",level,"player_on_exitdrive_jetbike"); + if(!common_scripts\utility::flag("player_on_exitdrive_jetbike")) + { + param_00 thread maps\_anim::anim_loop(var_02,"det_exit_drive_starting_idle_1","burke_idle_ender"); + } + + common_scripts\utility::flag_wait("player_on_exitdrive_jetbike"); + param_00 notify("burke_idle_ender"); + var_01 maps\_utility::delaythread(getanimlength(level.burke_bike maps\_utility::getanim("det_exit_drive_starting_anim_2")) - 0.2,::maps\_vehicle::gopath); + param_00 maps\_anim::anim_single(var_02,"det_exit_drive_starting_anim_2"); + var_01 stopanimscripted(); + level.burke stopanimscripted(); + var_01 maps\_utility::guy_enter_vehicle(level.burke); + var_01.dont_clear_vehicle_anim = 1; + level notify("vfx_exit_drive_start"); + var_01 vehicle_scripts\_jetbike::jetbike_start_hovering_now(); + var_01 vehphys_disablecrashing(); + var_01 thread maps\detroit_jetbike::handle_glass_collisions(); + var_01 thread maps\detroit_jetbike::handle_contact_collisions(); + level.burke_bike thread jetbike_physics(); + level.jetbike thread jetbike_physics(); + manage_burke_bike_behavior(); +} + +//Function Number: 28 +jetbike_exitdrive_joker_and_doctor(param_00) +{ + var_01 = [level.doctor,level.joker,level.joker_bike]; + param_00 thread maps\_anim::anim_loop_solo(level.joker_bike,"det_exit_drive_starting_idle_1","jokerbike_idle_ender"); + common_scripts\utility::flag_wait("player_on_exitdrive_jetbike"); + common_scripts\utility::flag_set("obj_escape_detroit_on_player_bike_mount"); + param_00 notify("jokerbike_idle_ender"); + level.doctor unlink(); + param_00 maps\_anim::anim_single(var_01,"det_exit_drive_starting_anim_2"); + common_scripts\utility::flag_set("doctor_on_bike"); + param_00 thread maps\_anim::anim_loop(var_01,"det_exit_drive_starting_idle_2","joker_and_doctor_ender"); + wait(10); + level.joker maps\_utility::gun_recall(); + param_00 notify("joker_and_doctor_ender"); +} + +//Function Number: 29 +jetbike_exitdrive_bones(param_00) +{ + param_00 thread maps\_anim::anim_loop_solo(level.bones_bike,"det_exit_drive_starting_idle_1","bonesbike_idle_ender"); +} + +//Function Number: 30 +exit_drive_starting_anims_ambient_danger() +{ + common_scripts\utility::flag_wait("player_on_exitdrive_jetbike"); + level.player enableinvulnerability(); + wait(1); + thread exit_drive_starting_magic_bullets(); + common_scripts\utility::flag_wait("exit_drive_started"); + level.player disableinvulnerability(); + var_00 = getentarray("exit_drive_battle","targetname"); + var_01 = []; + foreach(var_03 in var_00) + { + var_04 = var_03 maps\_utility::spawn_ai(1); + var_04.fixednode = 1; + var_04.grenadeammo = 0; + var_04.baseaccuracy = 0.1; + var_01[var_01.size] = var_04; + wait(0.5); + } + + wait(10); + foreach(var_04 in var_01) + { + var_04 delete(); + } +} + +//Function Number: 31 +exit_drive_starting_magic_bullets() +{ + while(!common_scripts\utility::flag("exit_drive_started")) + { + var_00 = undefined; + switch(randomintrange(0,3)) + { + case 0: + var_00 = common_scripts\utility::getstruct("org_exitdrive_magicbullet_01","targetname"); + break; + + case 1: + var_00 = common_scripts\utility::getstruct("org_exitdrive_magicbullet_02","targetname"); + break; + + case 2: + var_00 = common_scripts\utility::getstruct("org_exitdrive_magicbullet_03","targetname"); + break; + } + + var_01 = undefined; + switch(randomintrange(0,3)) + { + case 0: + var_01 = common_scripts\utility::getstruct("dest_exitdrive_magicbullet_01","targetname"); + break; + + case 1: + var_01 = common_scripts\utility::getstruct("dest_exitdrive_magicbullet_02","targetname"); + break; + + case 2: + var_01 = common_scripts\utility::getstruct("dest_exitdrive_magicbullet_03","targetname"); + break; + } + + var_02 = randomintrange(3,9); + for(var_03 = 0;var_03 < var_02;var_03++) + { + magicbullet("iw5_bal27_sp",var_00.origin,var_01.origin); + wait(randomfloatrange(0.1,0.2)); + } + + wait(randomfloatrange(0.4,1.6)); + } +} + +//Function Number: 32 +setup_exitdrive_encounters() +{ + common_scripts\utility::flag_wait("exit_drive_started"); + thread linear_encounter_script(); + thread setup_park_rpg_barrage(); + thread setup_water_crash(); + thread setup_tracks_1(); + thread setup_tracks_2(); + thread setup_final_straightaway_missiles(); + thread setup_final_straightaway_buttresses(); + thread setup_final_straightaway_bus_jump(); + thread setup_final_chopper(); + thread setup_exitdrive_ending_anims(); + thread handle_spotlight_switch(); + thread exit_drive_script_checkpoints(); + thread exit_drive_jump_save_attempt(); + thread exit_drive_timeout_fail(); +} + +//Function Number: 33 +handle_spotlight_switch() +{ + maps\_shg_design_tools::waittill_trigger_with_name("exitdrive_ending_spot_switch"); + level notify("kill_spotlight"); +} + +//Function Number: 34 +shoot_at_chopper(param_00) +{ + self endon("death"); + var_01 = param_00.origin; + level endon("mechs_stop_shooting"); + for(;;) + { + if(self gettagindex("tag_flash") != -1) + { + var_02 = self gettagorigin("tag_flash"); + var_03 = (randomfloatrange(-200,200),randomfloatrange(-200,200),randomfloatrange(-200,200)); + if(isdefined(param_00)) + { + var_01 = param_00.origin; + } + else + { + maps\_utility::notify_delay("mechs_stop_shooting",5); + } + + var_04 = magicbullet("heli_minigun_so",var_02,var_01 + var_03); + wait 0.05; + var_05 = magicbullet("heli_minigun_so",var_02,var_01 + var_03); + wait 0.05; + continue; + } + + wait 0.05; + } +} + +//Function Number: 35 +break_glass_when_near(param_00,param_01,param_02) +{ + while(distance(level.player.origin,param_01.origin) > param_00) + { + wait 0.05; + } + + destroyglass(param_02,level.player.origin - param_01.origin); +} + +//Function Number: 36 +chopper_shoot_straight() +{ + self endon("chopper_stop_shooting"); + for(;;) + { + var_00 = self gettagorigin("TAG_MINIGUN_ATTACH_LEFT"); + var_01 = self gettagorigin("TAG_MINIGUN_ATTACH_RIGHT"); + var_02 = maps\_shg_design_tools::offset_position_from_tag("forward","TAG_MINIGUN_ATTACH_LEFT",600); + var_03 = maps\_shg_design_tools::offset_position_from_tag("forward","TAG_MINIGUN_ATTACH_RIGHT",600); + var_04 = maps\_shg_design_tools::offset_position_from_tag("forward","TAG_MINIGUN_ATTACH_LEFT",100); + var_05 = maps\_shg_design_tools::offset_position_from_tag("forward","TAG_MINIGUN_ATTACH_RIGHT",100); + var_06 = magicbullet("heli_minigun_so",var_04,var_02); + var_07 = magicbullet("heli_minigun_so",var_05,var_03); + wait 0.05; + } +} + +//Function Number: 37 +chopper_shoot_down() +{ + self endon("death"); + for(;;) + { + chopper_shoot_down_internal("TAG_MINIGUN_ATTACH_LEFT"); + chopper_shoot_down_internal("TAG_MINIGUN_ATTACH_RIGHT"); + wait 0.05; + } +} + +//Function Number: 38 +chopper_shoot_down_internal(param_00) +{ + var_01 = self gettagorigin(param_00); + var_02 = self gettagangles(param_00); + var_03 = anglestoup(var_02); + var_04 = anglestoforward(var_02); + var_05 = var_01 + var_04 * 100; + var_06 = var_01 + var_03 * -1000 + var_04 * 2500; + var_07 = "heli_minigun_so"; + if(randomint(100) > 90) + { + var_07 = "mig_25mm_cannon"; + } + + magicbullet(var_07,var_05,var_06); +} + +//Function Number: 39 +setup_park_rpg_barrage() +{ + level endon("missionfailed"); + var_00 = getent("spawner_rpg_fire_guy_01","targetname") maps\_utility::spawn_ai(1); + var_01 = getent("spawner_rpg_fire_guy_02","targetname") maps\_utility::spawn_ai(1); + var_02 = getent("spawner_rpg_fire_guy_03","targetname") maps\_utility::spawn_ai(1); + var_00 thread kill_when_player_close(); + var_01 thread kill_when_player_close(); + var_02 thread kill_when_player_close(); + var_00.ignoreall = 1; + var_01.ignoreall = 1; + var_02.ignoreall = 1; + var_03 = common_scripts\utility::getstruct("struct_rpg_fire_loc_01","targetname"); + var_04 = common_scripts\utility::getstruct("struct_rpg_fire_loc_02","targetname"); + var_05 = common_scripts\utility::getstruct("struct_rpg_fire_loc_03","targetname"); + common_scripts\utility::flag_wait("exit_drive_started"); + maps\_shg_design_tools::waittill_trigger_with_name("park_missile_01"); + var_06 = common_scripts\utility::getstruct("struct_rpg_fire_loc_03","targetname"); + var_07 = common_scripts\utility::getstruct("park_target_01","targetname"); + var_08 = magicbullet("rpg_custom_detroit_exit_drive",var_06.origin,var_07.origin); + var_08 soundscripts\_snd::snd_message("exit_drive_rpgs"); + maps\_shg_design_tools::waittill_trigger_with_name("park_missile_02"); + var_06 = common_scripts\utility::getstruct("struct_rpg_fire_loc_02","targetname"); + var_07 = common_scripts\utility::getstruct("park_target_02","targetname"); + var_08 = magicbullet("rpg_custom_detroit_exit_drive",var_06.origin,var_07.origin); + var_08 soundscripts\_snd::snd_message("exit_drive_rpgs"); + maps\_shg_design_tools::waittill_trigger_with_name("park_missile_03"); + var_06 = common_scripts\utility::getstruct("struct_rpg_fire_loc_03","targetname"); + var_07 = common_scripts\utility::getstruct("park_target_03","targetname"); + var_08 = magicbullet("rpg_custom_detroit_exit_drive",var_06.origin,var_07.origin); + var_08 soundscripts\_snd::snd_message("exit_drive_rpgs"); + maps\_shg_design_tools::waittill_trigger_with_name("park_missile_05"); + var_06 = common_scripts\utility::getstruct("struct_rpg_fire_loc_01","targetname"); + var_07 = common_scripts\utility::getstruct("park_target_05","targetname"); + var_08 = magicbullet("rpg_custom_detroit_exit_drive",var_06.origin,var_07.origin); + var_08 soundscripts\_snd::snd_message("exit_drive_rpgs"); + maps\_shg_design_tools::waittill_trigger_with_name("park_missile_07"); + var_06 = common_scripts\utility::getstruct("struct_rpg_fire_loc_03","targetname"); + var_07 = common_scripts\utility::getstruct("park_target_07","targetname"); + var_08 = magicbullet("rpg_custom_detroit_exit_drive",var_06.origin,var_07.origin); + var_08 soundscripts\_snd::snd_message("exit_drive_rpgs"); +} + +//Function Number: 40 +exit_drive_script_checkpoints() +{ + maps\_utility::trigger_wait_targetname("park_missile_02"); + maps\_utility::autosave_by_name("exit drive dealership"); +} + +//Function Number: 41 +kill_when_player_close() +{ + self endon("death"); + for(;;) + { + var_00 = distance2d(self.origin,level.player.origin); + if(var_00 < 150) + { + self kill(); + return; + } + + wait(0.05); + } +} + +//Function Number: 42 +linear_encounter_script() +{ + var_00 = getentarray("pitbull_refugee_camp","targetname"); + foreach(var_02 in var_00) + { + var_02 delete(); + } + + common_scripts\utility::flag_wait("exit_drive_started"); + level notify("ok_to_stop_sentinel_reveal_warnings"); + var_04 = maps\_vehicle::spawn_vehicle_from_targetname("exitdrive_chopper_initial"); + var_04 soundscripts\_snd::snd_message("exitdrive_chopper_initial"); + maps\_shg_design_tools::waittill_trigger_with_name("exitdrive_trigger_00a"); + var_04 soundscripts\_snd::snd_message("exitdrive_chopper_initial_gopath"); + var_04 maps\_vehicle::gopath(); + var_04 thread maps\detroit_lighting::trigger_chopper_spotlight_follow(level.burke_bike,0); + maps\_shg_design_tools::waittill_trigger_with_name("exitdrive_trigger_01a"); + var_05 = maps\_vehicle::spawn_vehicle_from_targetname("exitdrive_vehicle_warehouse_02"); + var_05 setmodel("vehicle_mil_humvee_cleaner_01_ai"); + var_05 maps\_vehicle::gopath(); + var_05 thread maps\detroit::setup_cleanup_vehicle(); + var_05 thread vehicle_matchspeed(level.jetbike,8); + var_05 soundscripts\_snd::snd_message("warehouse_chase_vehicle_01"); + maps\_shg_design_tools::waittill_trigger_with_name("exitdrive_trigger_01b"); + var_06 = maps\_vehicle::spawn_vehicle_from_targetname("exitdrive_vehicle_warehouse_03"); + var_06 setmodel("vehicle_mil_humvee_cleaner_01_ai"); + var_06 maps\_vehicle::gopath(); + var_06 thread maps\detroit::setup_cleanup_vehicle(); + var_06 thread vehicle_matchspeed(level.jetbike); + var_06 soundscripts\_snd::snd_message("warehouse_chase_vehicle_02"); + maps\_shg_design_tools::waittill_trigger_with_name("exitdrive_trigger_01c"); + var_07 = maps\_vehicle::spawn_vehicle_from_targetname("exitdrive_vehicle_warehouse_04"); + var_07 setmodel("vehicle_mil_humvee_cleaner_01_ai"); + var_07 maps\_vehicle::gopath(); + var_07 soundscripts\_snd::snd_message("gaz_store_shootout_drive"); + var_07 thread maps\detroit::setup_cleanup_vehicle(); + var_07 thread vehicle_matchspeed(level.jetbike,-5); + var_07 soundscripts\_snd::snd_message("warehouse_chase_vehicle_03"); + maps\_shg_design_tools::waittill_trigger_with_name("exitdrive_trigger_01d"); + thread trigger_store_drive_sequence(var_05,var_06,var_07); + maps\_shg_design_tools::waittill_trigger_with_name("exitdrive_trigger_02a"); + var_05 thread vehicle_matchspeed(level.jetbike,25); + var_06 thread vehicle_matchspeed(level.jetbike,25); + var_07 thread vehicle_matchspeed(level.jetbike,25); + maps\_shg_design_tools::waittill_trigger_with_name("exitdrive_trigger_02ab"); + var_05 thread vehicle_matchspeed(level.jetbike,4); + var_06 thread vehicle_matchspeed(level.jetbike,4); + var_07 thread vehicle_matchspeed(level.jetbike,4); +} + +//Function Number: 43 +trigger_store_drive_sequence(param_00,param_01,param_02) +{ + param_00.maxhealth = 30000; + param_00.health = param_00.maxhealth; + param_00 thread make_shooter_car(1); + param_01.maxhealth = 30000; + param_01.health = param_01.maxhealth; + param_01 thread make_shooter_car(); + param_02.maxhealth = 30000; + param_02.health = param_02.maxhealth; + param_02 thread make_shooter_car(); + var_03 = [param_00,param_01,param_02]; + maps\_shg_design_tools::waittill_trigger_with_name("exitdrive_trigger_02a"); + wait(2); + level notify("cars_stop_shooting"); +} + +//Function Number: 44 +make_shooter_car(param_00) +{ + self endon("death"); + level endon("cars_stop_shooting"); + soundscripts\_snd::snd_message("warehouse_car_shots","cars_stop_shooting"); + for(;;) + { + var_01 = self; + var_02 = "heli_minigun_so"; + var_03 = var_01 maps\_shg_design_tools::offset_position_from_tag("up","tag_origin",115); + var_04 = level.jetbike maps\_shg_design_tools::offset_position_from_tag("forward","tag_origin",500); + var_05 = (randomfloat(15),randomfloat(15),randomfloat(15)); + var_02 = magicbullet(var_02,var_03,var_04 + var_05); + wait 0.05; + if(level.nextgen) + { + if(maps\_shg_design_tools::percentchance(2)) + { + wait(2); + } + + continue; + } + + for(var_06 = 0;var_06 < 7;var_06++) + { + wait 0.05; + } + + if(maps\_shg_design_tools::percentchance(2)) + { + wait(2); + } + } +} + +//Function Number: 45 +setup_tracks_1() +{ + maps\_shg_design_tools::waittill_trigger_with_name("trig_exitdrive_slowmo_jump_end"); + maps\detroit_lighting::kill_spotlight(); + var_00 = maps\_vehicle::spawn_vehicle_from_targetname("exitdrive_chopper_tracks_1"); + var_00 thread maps\detroit_lighting::trigger_chopper_spotlight_straight(1); + var_00 soundscripts\_snd::snd_message("exitdrive_chopper_tracks_1"); + maps\_shg_design_tools::waittill_trigger_with_name("trigger_chopper_tracks_1"); + var_00 soundscripts\_snd::snd_message("exitdrive_chopper_tracks_1_gopath"); + var_00 maps\_vehicle::gopath(); + wait(3); + var_00 thread chopper_shoot_down(); + maps\_shg_design_tools::waittill_trigger_with_name("trigger_rail_dodge_01a"); + var_00 delete(); +} + +//Function Number: 46 +setup_tracks_2() +{ + maps\_shg_design_tools::waittill_trigger_with_name("trigger_rail_dodge_01a"); + common_scripts\utility::flag_set("lightning_on"); + var_00 = getentarray("curve_path_01","targetname"); + var_01 = getent("curve_path_01_start","targetname"); + var_02 = getentarray("curve_path_02","targetname"); + var_03 = getent("curve_path_02_start","targetname"); + var_04 = getentarray("exit_train3_path","targetname"); + var_05 = getent("exit_train3_start","targetname"); + var_06 = run_train(var_01,var_00,900,undefined,"rail_dodge_car_clip_1"); + var_06 soundscripts\_snd::snd_message("exit_train_by",1); + wait(1.5); + var_07 = run_train(var_03,var_02,600,undefined,"rail_dodge_car_clip_2"); + var_07 soundscripts\_snd::snd_message("exit_train_by",2); + var_08 = 0.52; + var_09 = 0; + for(var_0A = 3;var_0A < 13;var_0A++) + { + if(var_0A == 3) + { + var_0B = run_train(var_05,var_04,800,undefined,"rail_dodge_car_clip_" + var_0A); + } + else + { + var_0B = run_train(var_05,var_04,800,undefined,"rail_dodge_car_clip_" + var_0A); + } + + if(!var_09) + { + var_0B soundscripts\_snd::snd_message("exit_train_by",3); + var_09 = 1; + } + + wait(var_08); + } +} + +//Function Number: 47 +setup_water_crash() +{ + var_00 = maps\_vehicle::spawn_vehicle_from_targetname("gaz_water_crash_01"); + var_01 = maps\_vehicle::spawn_vehicle_from_targetname("gaz_water_crash_02"); + maps\_shg_design_tools::waittill_trigger_with_name("trig_exit_water_jeep_01"); + common_scripts\utility::flag_set("burke needs to stop rubber banding now"); + level.burke_bike notify("vehicle_rubberband_stop"); + level.burke_bike vehicle_setspeed(45,10,15); + wait(1); + var_00 setmodel("vehicle_mil_humvee_cleaner_01_ai"); + var_01 setmodel("vehicle_mil_humvee_cleaner_01_ai"); + level.player.ignoreme = 1; + var_00.mgturret[0] thread animscripts\hummer_turret\common::set_manual_target(level.burke,999,9999,"turret_stop_firing"); + var_00 maps\_vehicle::gopath(); + var_00 thread exit_drive_gaz_physics(); + var_00 soundscripts\_snd::snd_message("gaz_water_crash_01"); + var_00 maps\_vehicle::vehicle_lights_on("headlights_cheap"); + var_00 thread keep_up_with_burke(); + wait(0.25); + var_01 maps\_vehicle::gopath(); + var_01 thread exit_drive_gaz_physics(); + var_01 soundscripts\_snd::snd_message("gaz_water_crash_02"); + var_01 maps\_vehicle::vehicle_lights_on("headlights_cheap"); + var_01 thread keep_up_with_burke(); + common_scripts\utility::flag_wait("flag_fan_out"); + var_01 maps\detroit_jetbike::vehicle_rubberband(level.burke_bike,-500); + common_scripts\utility::flag_wait("flag_water_crash_1"); + level.burke_bike thread maps\detroit_jetbike::vehicle_rubberband_set_desired_range(400); + level.burke_bike thread maps\detroit_jetbike::vehicle_rubberband_think(); + var_00 soundscripts\_snd::snd_message("gaz_water_crashed",var_01); + level.burke.ignoreme = 1; + var_00.mgturret[0] notify("turret_stop_firing"); + wait(0.25); + physicsexplosionsphere(var_00.origin + (50,0,0),200,50,3); + common_scripts\utility::flag_wait("flag_water_crash_2"); + wait(0.25); + physicsexplosionsphere(var_01.origin - (50,0,0),200,50,3); + level.burke_bike maps\detroit_jetbike::vehicle_rubberband_set_desired_range(1000); +} + +//Function Number: 48 +burke_bike_speed() +{ + for(;;) + { + iprintln(level.burke_bike.speed); + wait(0.5); + } +} + +//Function Number: 49 +keep_up_with_burke() +{ + for(;;) + { + if(isdefined(self)) + { + self vehicle_setspeed(level.burke_bike.speed,15,10); + wait(0.05); + } + } +} + +//Function Number: 50 +water_crash_jeep_1(param_00) +{ + var_01 = getent("jeep_pusher_1","targetname"); + var_02 = var_01 common_scripts\utility::get_target_ent(); + var_02 linkto(var_01); + var_01 hide(); + common_scripts\utility::flag_wait("flag_water_crash_jeep_1"); + var_03 = 0.075; + var_01 moveto(var_01.origin + (0,0,50),var_03,0,0); + wait(var_03 + 0.2); + physicsexplosionsphere(param_00.origin + (50,0,0),100,80,1); + var_01 moveto(var_01.origin - (0,0,50),0.05,0,0); + var_02 notsolid(); + param_00 vehicle_setspeed(0,50,50); +} + +//Function Number: 51 +water_crash_jeep_2(param_00) +{ + var_01 = getent("jeep_pusher_2","targetname"); + var_02 = var_01 common_scripts\utility::get_target_ent(); + var_02 linkto(var_01); + var_01 hide(); + common_scripts\utility::flag_wait("flag_water_crash_jeep_2"); + var_03 = 0.085; + var_01 moveto(var_01.origin + (0,0,50),var_03,0,0); + wait(var_03 + 0.2); + physicsexplosionsphere(param_00.origin - (50,0,0),100,80,1); + var_01 moveto(var_01.origin - (0,0,50),0.05,0,0); + var_02 notsolid(); + param_00 vehicle_setspeed(0,50,50); +} + +//Function Number: 52 +exit_drive_gaz_physics() +{ + level endon("flag_water_crash_1"); + level endon("flag_water_crash_2"); + var_00 = 74; + var_01 = 200; + var_02 = 200; + var_03 = -100; + var_04 = 0.06; + for(;;) + { + var_05 = var_04; + var_06 = self.origin + anglestoforward(self.angles) * var_02 + anglestoup(self.angles) * var_03; + if(level.nextgen) + { + wakeupphysicssphere(var_06,var_01); + } + else + { + physicsexplosionsphere(var_06,var_01,var_00,var_05,0); + } + + wait(0.05); + } +} + +//Function Number: 53 +setup_final_chopper() +{ + maps\_shg_design_tools::waittill_trigger_with_name("trig_exit_water_jeep_01"); + var_00 = maps\_vehicle::spawn_vehicle_from_targetname("exitdrive_chopper_final"); + level.final_scripted_chopper = var_00; + var_00 soundscripts\_snd::snd_message("exitdrive_chopper_final"); + maps\detroit_lighting::kill_spotlight(); + maps\_shg_design_tools::waittill_trigger_with_name("trig_final_chopper"); + var_00 soundscripts\_snd::snd_message("exitdrive_chopper_final_gopath"); + var_00 maps\_vehicle::gopath(); + wait(1); + var_00 thread maps\detroit_lighting::trigger_chopper_spotlight_follow(level.burke_bike,0); + common_scripts\utility::flag_wait("flag_chopper_match_speed"); + var_00 thread maps\detroit_jetbike::vehicle_rubberband(level.jetbike,-400); +} + +//Function Number: 54 +setup_final_straightaway_missiles() +{ + maps\_shg_design_tools::waittill_trigger_with_name("final_straightaway_missile_01"); + var_00 = common_scripts\utility::getstruct("final_straightaway_org_01","targetname"); + var_01 = common_scripts\utility::getstruct("final_straightaway_target_01","targetname"); + var_02 = magicbullet("sidewinder_warhawk_aftermath",var_00.origin,var_01.origin); + var_02 soundscripts\_snd::snd_message("collapsing_buttress_missile"); + maps\_shg_design_tools::waittill_trigger_with_name("final_straightaway_missile_02"); + var_00 = common_scripts\utility::getstruct("final_straightaway_org_02","targetname"); + var_01 = common_scripts\utility::getstruct("final_straightaway_target_02","targetname"); + var_02 = magicbullet("sidewinder_warhawk_aftermath",var_00.origin,var_01.origin); + var_02 soundscripts\_snd::snd_message("collapsing_buttress_missile"); + maps\_shg_design_tools::waittill_trigger_with_name("final_straightaway_missile_03"); + var_00 = common_scripts\utility::getstruct("final_straightaway_org_03","targetname"); + var_01 = common_scripts\utility::getstruct("final_straightaway_target_03","targetname"); + var_02 = magicbullet("sidewinder_warhawk_aftermath",var_00.origin,var_01.origin); + var_02 soundscripts\_snd::snd_message("collapsing_buttress_missile"); + maps\_shg_design_tools::waittill_trigger_with_name("final_straightaway_missile_04"); + var_00 = common_scripts\utility::getstruct("final_straightaway_org_04","targetname"); + var_01 = common_scripts\utility::getstruct("final_straightaway_target_04","targetname"); + var_02 = magicbullet("sidewinder_warhawk_aftermath",var_00.origin,var_01.origin); + var_02 soundscripts\_snd::snd_message("collapsing_buttress_missile"); + maps\_shg_design_tools::waittill_trigger_with_name("final_straightaway_missile_05"); + var_00 = common_scripts\utility::getstruct("final_straightaway_org_05","targetname"); + var_01 = common_scripts\utility::getstruct("final_straightaway_target_05","targetname"); + var_02 = magicbullet("sidewinder_warhawk_aftermath",var_00.origin,var_01.origin); + var_02 soundscripts\_snd::snd_message("collapsing_buttress_missile"); + maps\_shg_design_tools::waittill_trigger_with_name("final_straightaway_missile_06"); + var_00 = common_scripts\utility::getstruct("final_straightaway_org_06","targetname"); + var_01 = common_scripts\utility::getstruct("final_straightaway_target_06","targetname"); + var_02 = magicbullet("sidewinder_warhawk_aftermath",var_00.origin,var_01.origin); + var_02 soundscripts\_snd::snd_message("collapsing_buttress_missile"); + maps\_shg_design_tools::waittill_trigger_with_name("final_straightaway_missile_07"); + var_00 = common_scripts\utility::getstruct("final_straightaway_org_07","targetname"); + var_01 = common_scripts\utility::getstruct("final_straightaway_target_07","targetname"); + var_02 = magicbullet("sidewinder_warhawk_aftermath",var_00.origin,var_01.origin); + var_02 soundscripts\_snd::snd_message("collapsing_buttress_missile"); + maps\_shg_design_tools::waittill_trigger_with_name("final_straightaway_missile_08"); + var_00 = common_scripts\utility::getstruct("final_straightaway_org_08","targetname"); + var_01 = common_scripts\utility::getstruct("final_straightaway_target_08","targetname"); + var_02 = magicbullet("sidewinder_warhawk_aftermath",var_00.origin,var_01.origin); + var_02 soundscripts\_snd::snd_message("collapsing_buttress_missile"); + maps\_shg_design_tools::waittill_trigger_with_name("final_straightaway_missile_09"); + var_00 = common_scripts\utility::getstruct("final_straightaway_org_09","targetname"); + var_01 = common_scripts\utility::getstruct("final_straightaway_target_09","targetname"); + var_02 = magicbullet("sidewinder_warhawk_aftermath",var_00.origin,var_01.origin); + var_02 soundscripts\_snd::snd_message("collapsing_buttress_missile"); + maps\_shg_design_tools::waittill_trigger_with_name("final_straightaway_missile_10"); + var_00 = common_scripts\utility::getstruct("final_straightaway_org_10","targetname"); + var_01 = common_scripts\utility::getstruct("final_straightaway_target_10","targetname"); + var_03 = common_scripts\utility::getstruct("final_straightaway_target_10b","targetname"); + var_04 = common_scripts\utility::getstruct("final_straightaway_target_10c","targetname"); + var_02 = magicbullet("sidewinder_warhawk_aftermath",var_00.origin,var_01.origin); + var_02 soundscripts\_snd::snd_message("collapsing_buttress_missile"); + wait(0.4); + var_02 = magicbullet("sidewinder_warhawk_aftermath",var_00.origin,var_04.origin); + var_02 soundscripts\_snd::snd_message("collapsing_buttress_missile"); + wait(0.3); + var_02 = magicbullet("sidewinder_warhawk_aftermath",var_00.origin,var_03.origin); + var_02 soundscripts\_snd::snd_message("collapsing_buttress_missile"); + maps\_shg_design_tools::waittill_trigger_with_name("final_straightaway_missile_14"); + var_00 = common_scripts\utility::getstruct("final_straightaway_org_14","targetname"); + var_01 = common_scripts\utility::getstruct("final_straightaway_target_14","targetname"); + var_02 = magicbullet("sidewinder_warhawk_aftermath",var_00.origin,var_01.origin); + var_02 soundscripts\_snd::snd_message("collapsing_buttress_missile"); + maps\_shg_design_tools::waittill_trigger_with_name("final_straightaway_missile_15"); + var_00 = common_scripts\utility::getstruct("final_straightaway_org_15","targetname"); + var_01 = common_scripts\utility::getstruct("final_straightaway_target_15","targetname"); + var_02 = magicbullet("sidewinder_warhawk_aftermath",var_00.origin,var_01.origin); + var_02 soundscripts\_snd::snd_message("collapsing_buttress_missile"); +} + +//Function Number: 55 +setup_final_straightaway_buttresses() +{ + common_scripts\utility::flag_wait("exit_drive_started"); + var_00 = getentarray("collapsing_buttress_04","targetname"); + foreach(var_02 in var_00) + { + var_02 delete(); + } + + wait(1); + maps\_utility::disable_trigger_with_targetname("trigger_buttress_fail_01"); + maps\_utility::disable_trigger_with_targetname("trigger_buttress_fail_03"); + var_04 = 3.25; + maps\_shg_design_tools::waittill_trigger_with_name("final_straightaway_missile_02"); + wait(0.4); + maps\_utility::delaythread(var_04 - 1,::maps\_utility::enable_trigger_with_targetname,"trigger_buttress_fail_01"); + maps\_utility::delaythread(var_04 + 1,::maps\_utility::disable_trigger_with_targetname,"trigger_buttress_fail_01"); + var_05 = getentarray("collapsing_buttress_01","targetname"); + var_05 soundscripts\_snd::snd_message("collapsing_buttress_01"); + foreach(var_02 in var_05) + { + var_02 delete(); + } + + maps\_shg_design_tools::waittill_trigger_with_name("final_straightaway_missile_04"); + wait(0.4); + var_08 = getentarray("collapsing_buttress_02","targetname"); + var_08 soundscripts\_snd::snd_message("collapsing_buttress_02"); + foreach(var_02 in var_08) + { + var_02 delete(); + } + + maps\_shg_design_tools::waittill_trigger_with_name("final_straightaway_missile_07"); + wait(0.4); + maps\_utility::delaythread(var_04 - 1,::maps\_utility::enable_trigger_with_targetname,"trigger_buttress_fail_03"); + maps\_utility::delaythread(var_04 + 1,::maps\_utility::disable_trigger_with_targetname,"trigger_buttress_fail_03"); + var_0B = getentarray("collapsing_buttress_03","targetname"); + var_0B soundscripts\_snd::snd_message("collapsing_buttress_03"); + foreach(var_02 in var_0B) + { + var_02 delete(); + } +} + +//Function Number: 56 +setup_final_straightaway_bus_jump() +{ + maps\_shg_design_tools::waittill_trigger_with_name("final_straightaway_bus_jump"); + var_00 = common_scripts\utility::getstruct("final_straightaway_org_bus_jump","targetname"); + var_01 = level.jetbike.origin + (50,0,200); + wait(0.5); + var_02 = magicbullet("sidewinder_warhawk_aftermath",var_00.origin,var_01); +} + +//Function Number: 57 +drawstringtime(param_00,param_01,param_02,param_03) +{ + var_04 = param_03 * 20; + for(var_05 = 0;var_05 < var_04;var_05++) + { + wait(0.05); + } +} + +//Function Number: 58 +setup_exitdrive_ending_anims() +{ + var_00 = getent("detroit_entrance_gate","targetname"); + var_00.animname = "gate"; + var_00 useanimtree(#animtree); + var_01 = getent("exit_drive_ending","targetname"); + var_01 maps\_anim::anim_first_frame_solo(var_00,"det_exit_drive_ending"); + common_scripts\utility::flag_wait("exitdrive_ending_approach"); + thread maps\detroit_lighting::ending_mech_lighting(); + common_scripts\utility::flag_clear("exitdrive_lights_on"); + var_02 = getent("org_mech1_final_stand","targetname"); + var_03 = getent("org_mech2_final_stand","targetname"); + var_04 = getent("org_mech3_final_stand","targetname"); + var_05 = getent("exit_drive_mech1","targetname"); + var_06 = getent("exit_drive_mech2","targetname"); + var_07 = getent("exit_drive_mech3","targetname"); + var_08 = "det_exit_drive_ending_idle"; + var_09 = "mech_cover_idle_end"; + var_0A = var_05 maps\_utility::spawn_ai(1); + var_0B = var_06 maps\_utility::spawn_ai(1); + var_0C = var_07 maps\_utility::spawn_ai(1); + thread maps\detroit_lighting::mech_exit_gate_lighting(var_0C); + var_0A.ignoreall = 1; + var_0B.ignoreall = 1; + var_0C.ignoreall = 1; + var_0D = []; + var_0D[var_0D.size] = var_0A; + var_0D[var_0D.size] = var_0B; + var_0D[var_0D.size] = var_0C; + thread maps\detroit_lighting::move_mech_origins(var_0D); + var_0A.animname = "exitdrive_mech1"; + var_0B.animname = "exitdrive_mech2"; + var_0C.animname = "exitdrive_mech3"; + var_01 thread maps\_anim::anim_loop(var_0D,var_08,var_09); + thread exitdrive_ending_anims_burke(); + level notify("vfx_player_jetbike_stops"); + common_scripts\utility::flag_clear("exit_drive_ending_begin_player"); + common_scripts\utility::flag_wait("exit_drive_ending_begin_player"); + common_scripts\utility::flag_set("obj_escape_detroit_complete"); + soundscripts\_snd::snd_message("exit_drive_ending_begin"); + prep_cinematic("fusion_endlogo"); + var_0E = level.jetbike maps\_utility::spawn_anim_model("world_body",level.player.origin); + level.jetbike thread maps\_anim::anim_first_frame_solo(var_0E,"det_exit_drive_ending","tag_passenger"); + waittillframeend; + var_0E linkto(level.jetbike,"tag_passenger"); + var_0E hide(); + level.jetbike vehicle_scripts\_jetbike::jetbike_blend_out_fake_speed(1.5); + maps\_utility::delaythread(5,::common_scripts\utility::flag_set,"stop_exit_drive_rumbles"); + vehicle_scripts\_jetbike::smooth_vehicle_animation_wait(level.jetbike,var_01,"det_exit_drive_ending",41.2365,1.5); + var_01 notify(var_09); + level.player maps\_shg_utility::setup_player_for_scene(0); + var_0F = maps\_utility::spawn_anim_model("littlebird"); + thread maps\detroit_lighting::final_chopper_lighting(var_0F); + var_0F.spotlight = level.final_scripted_chopper.spotlight; + level.final_scripted_chopper delete(); + var_0F thread maps\detroit_lighting::trigger_chopper_spotlight_follow(level.burke_bike,1); + thread exitdrive_ending_anims_player(var_01,var_0E); + var_0D[var_0D.size] = level.bones; + var_0D[var_0D.size] = level.bones_bike; + var_0D[var_0D.size] = level.joker; + var_0D[var_0D.size] = level.joker_bike; + var_0D[var_0D.size] = level.doctor; + var_0D[var_0D.size] = var_0F; + var_0D[var_0D.size] = var_00; + var_01 thread maps\_anim::anim_single(var_0D,"det_exit_drive_ending"); + level waittill("detroit_final_chopper_hit"); + level notify("kill_spotlight"); + level waittill("detroit_level_fadeout"); + var_10 = 6; + thread ending_fade_out(var_10); + maps\_player_exo::player_exo_deactivate(); + maps\_utility::delaythread(3,::maps\_utility::nextmission); + thread maps\_utility::battlechatter_off("allies"); + thread maps\_utility::battlechatter_off("axis"); + wait(var_10); +} + +//Function Number: 59 +exitdrive_ending_anims_player(param_00,param_01) +{ + thread vehicle_scripts\_jetbike::smooth_vehicle_animation_play(level.jetbike,param_00,"det_exit_drive_ending",[],0,0.5); + waittillframeend; + level.jetbike thread maps\_anim::anim_single_solo(param_01,"det_exit_drive_ending","tag_passenger"); + level.jetbike setanimtime(level.jetbike maps\_utility::getanim("det_exit_drive_ending"),0); + param_01 setanimtime(param_01 maps\_utility::getanim("det_exit_drive_ending"),0); + param_01 show(); + level.jetbike vehicle_scripts\_jetbike::jetbike_stop_player_use(); + level.jetbike vehicle_jetbikesethoverforcescale(0); + level.player playerlinktodelta(param_01,"tag_player",1,0,0,0,0,1); + wait(1.5); + maps\detroit::controller_rumble_heavy3(); + wait(2.85); + maps\detroit::controller_rumble_heavy0(); + wait(2); + maps\detroit::controller_rumble_heavy0(); + wait(0.9); + maps\detroit::controller_rumble_heavy0(); + wait(0.35); + maps\detroit::controller_rumble_heavy0(); + wait(0.35); + maps\detroit::controller_rumble_heavy0(); + wait(0.35); + maps\detroit::controller_rumble_heavy0(); + wait(0.35); + maps\detroit::controller_rumble_heavy1(); + wait(1.5); + maps\detroit::controller_rumble_light3(); + wait(1); + maps\detroit::controller_rumble_light3(); + wait(2); + maps\detroit::controller_rumble_heavy2(); + wait(1.5); + maps\detroit::controller_rumble_heavy2(); + wait(1); + maps\detroit::controller_rumble_heavy2(); + wait(1); + maps\detroit::controller_rumble_heavy3(); +} + +//Function Number: 60 +prep_cinematic(param_00) +{ + setsaveddvar("cg_cinematicFullScreen","0"); + cinematicingame(param_00,1); + level.current_cinematic = param_00; +} + +//Function Number: 61 +play_cinematic(param_00,param_01,param_02) +{ + if(isdefined(level.current_cinematic)) + { + pausecinematicingame(0); + setsaveddvar("cg_cinematicFullScreen","1"); + level.current_cinematic = undefined; + } + else + { + cinematicingame(param_00); + } + + if(!isdefined(param_02) || !param_02) + { + setsaveddvar("cg_cinematicCanPause","1"); + } + + wait(1); + while(iscinematicplaying()) + { + wait(0.05); + } + + if(!isdefined(param_02) || !param_02) + { + setsaveddvar("cg_cinematicCanPause","0"); + } +} + +//Function Number: 62 +ending_fade_out(param_00) +{ + var_01 = newhudelem(); + var_01.x = 0; + var_01.y = 0; + var_01.horzalign = "fullscreen"; + var_01.vertalign = "fullscreen"; + var_01 setshader("black",640,480); + if(isdefined(param_00) && param_00 > 0) + { + var_01.alpha = 0; + var_01 fadeovertime(param_00); + var_01.alpha = 1; + wait(param_00); + } + + waittillframeend; + var_01 destroy(); +} + +//Function Number: 63 +anim_debug(param_00,param_01) +{ + for(;;) + { + waittillframeend; + waittillframeend; + waittillframeend; + waittillframeend; + waittillframeend; + waittillframeend; + var_02 = param_01 maps\_utility::getanim("det_exit_drive_ending"); + var_03 = param_01 getanimtime(var_02); + var_04 = var_03 * getanimlength(var_02); + var_05 = param_01 getanimweight(var_02); + var_06 = param_00 maps\_utility::getanim("det_exit_drive_ending"); + var_07 = param_00 getanimtime(var_06); + var_08 = var_07 * getanimlength(var_06); + var_09 = param_00 getanimweight(var_06); + wait(0.05); + } +} + +//Function Number: 64 +exitdrive_ending_anims_burke() +{ + var_00 = getent("exit_drive_ending","targetname"); + common_scripts\utility::flag_wait("exit_drive_ending_begin_burke"); + vehicle_scripts\_jetbike::smooth_vehicle_animation_wait(level.burke_bike,var_00,"det_exit_drive_ending",53.0937); + level.burke maps\_vehicle_aianim::disassociate_guy_from_vehicle(); + level.burke unlink(); + thread vehicle_scripts\_jetbike::smooth_vehicle_animation_play(level.burke_bike,var_00,"det_exit_drive_ending",[level.burke],0,0.25); +} + +//Function Number: 65 +delete_self_on_death_of(param_00) +{ + param_00 waittill("death"); + self delete(); +} + +//Function Number: 66 +run_train(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = 650; + var_06 = 3; + if(!isdefined(param_03)) + { + var_07 = "vehicle_civ_det_train_car_01"; + param_03 = spawn("script_model",param_00.origin); + param_03 setmodel(var_07); + } + + var_08 = undefined; + if(isdefined(param_04)) + { + var_08 = getent(param_04,"targetname"); + var_08 thread delete_self_on_death_of(param_03); + } + + var_09 = common_scripts\utility::spawn_tag_origin(); + var_09 linkto(param_03,"",(300,0,80),(25,0,0)); + var_0A = common_scripts\utility::spawn_tag_origin(); + var_0A linkto(param_03,"",(300,0,80),(0,0,0)); + var_0B = common_scripts\utility::spawn_tag_origin(); + var_0B linkto(param_03,"",(200,0,15),(0,90,0)); + thread maps\detroit_lighting::train_lighting(var_09,var_0A,var_0B); + if(!isdefined(param_03.tags)) + { + param_03.tags = []; + } + + param_03.tags[param_03.tags.size] = var_09; + param_03.tags[param_03.tags.size] = var_0A; + param_03.tags[param_03.tags.size] = var_0B; + param_03.origin = param_00.origin; + param_03.angles = param_00.angles; + param_01 = sortbydistance(param_01,param_00.origin); + param_03 thread maps\detroit_streets::train_gopath(param_01,param_02,var_08); + return param_03; +} + +//Function Number: 67 +run_train_shaker(param_00,param_01) +{ + self endon("train_delete"); + self endon("train_shutdown"); + self endon("death"); + for(;;) + { + var_02 = distance(self.origin,level.player.origin); + if(var_02 < param_00) + { + earthquake(0.4,param_01,self.origin,param_00); + wait(param_01); + } + + wait 0.05; + } +} + +//Function Number: 68 +delete_on_notify(param_00,param_01) +{ + param_00 endon("death"); + self waittill(param_01); + if(isdefined(param_00)) + { + param_00 delete(); + } +} + +//Function Number: 69 +player_proximity_rumble(param_00) +{ + while(isdefined(self)) + { + if(!isdefined(param_00)) + { + param_00 = 850; + } + + when_am_i_near_player(param_00); + var_01 = level.player maps\_utility::get_rumble_ent("steady_rumble"); + var_01 thread rumble_till_out_of_range(param_00,self); + return; + } + + level notify("rumble_stop_train"); +} + +//Function Number: 70 +exit_drive_jump_save_attempt() +{ + maps\_utility::trigger_wait_targetname("attempt_to_save_by_jump"); + var_00 = distance(level.burke.origin,level.player.origin); + if(var_00 < 2000) + { + maps\_utility::autosave_by_name(); + } +} + +//Function Number: 71 +exit_drive_timeout_fail() +{ + common_scripts\utility::flag_wait("flag_gate_in_sight"); + level endon("exit_drive_ending_begin_player"); + wait(5); + common_scripts\utility::flag_set("flag_jetbike_fail"); +} + +//Function Number: 72 +rumble_till_out_of_range(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_02)) + { + param_02 = 0.8; + } + + if(!isdefined(param_03)) + { + param_03 = 150; + } + + for(;;) + { + if(isdefined(param_01)) + { + var_04 = distance(param_01.origin,level.player.origin); + if(var_04 >= param_00) + { + maps\_utility::set_rumble_intensity(0.01); + } + + if(var_04 < param_00) + { + if(var_04 == 0) + { + var_04 = 1; + } + + var_05 = param_02 / var_04 / param_03; + if(var_05 > 1) + { + var_05 = 1; + } + + maps\_utility::set_rumble_intensity(var_05); + } + } + + if(!isdefined(param_01)) + { + level notify("rumble_stop_train"); + self stoprumble("steady_rumble"); + return; + } + + wait(0.05); + } +} + +//Function Number: 73 +when_am_i_near_player(param_00) +{ + while(isdefined(self)) + { + if(distance2d(self.origin,level.player.origin) < param_00) + { + return; + } + + wait(0.05); + } +} + +//Function Number: 74 +stop_rumble_on_notify(param_00) +{ + level waittill(param_00); + self stoprumble("steady_rumble"); +} + +//Function Number: 75 +vehicle_matchspeed(param_00,param_01,param_02) +{ + self endon("death"); + self notify("kill_vehicle_matchspeed"); + self endon("kill_vehicle_matchspeed"); + param_00 endon("death"); + var_03 = 0; + if(isdefined(param_01)) + { + var_03 = randomfloat(param_01); + } + + for(;;) + { + var_04 = param_00 vehicle_getspeed(); + if(isdefined(param_02)) + { + var_04 = var_04 + param_02; + } + + var_05 = var_04 + var_03; + if(var_05 < 0) + { + var_05 = 0; + } + + self vehicle_setspeed(var_05,60,60); + wait 0.05; + } +} + +//Function Number: 76 +cleanup_school_cars() +{ + common_scripts\utility::flag_wait("school_jeep_delete"); + var_00 = getent("cleanup_vehicle_outside_school_clip","targetname"); + var_00 delete(); + var_01 = getent("cleanup_vehicle_outside_school","targetname"); + var_01 delete(); + maps\detroit_school::cg_open_close_school_entrance_doors(0); + maps\detroit_lighting::turn_off_jeep_light(); +} \ No newline at end of file diff --git a/AW/PC/maps/detroit_fx.gsc b/AW/PC/maps/detroit_fx.gsc new file mode 100644 index 0000000..fb4615f --- /dev/null +++ b/AW/PC/maps/detroit_fx.gsc @@ -0,0 +1,885 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: detroit_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 43 + * Decompile Time: 635 ms + * Timestamp: 4/22/2024 2:27:51 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + precachefx(); + maps\createfx\detroit_fx::main(); + if(!isdefined(level.createfxent)) + { + level.createfxent = []; + } + + set_lighting_values(); + maps\_shg_fx::setup_shg_fx(); + common_scripts\utility::flag_init("vfx_rain_splat_on_lens_intro"); + common_scripts\utility::flag_init("vfx_garage_under_entrance"); + common_scripts\utility::flag_init("vfx_exit_garage_door"); + common_scripts\utility::flag_init("vfx_giant_gate"); + common_scripts\utility::flag_init("vfx_before_giant_gate"); + common_scripts\utility::flag_init("vfx_front_school_sneak_approach"); + common_scripts\utility::flag_init("vfx_front_school_sneak_approach_2"); + common_scripts\utility::flag_init("vfx_school_main_entrance"); + common_scripts\utility::flag_init("vfx_school_hallway_1_enter"); + common_scripts\utility::flag_init("vfx_school_hallway_1_crater_lookat"); + common_scripts\utility::flag_init("vfx_school_room_1_enter"); + common_scripts\utility::flag_init("vfx_school_room_1b_exit"); + common_scripts\utility::flag_init("vfx_school_stairs_2_floor"); + common_scripts\utility::flag_init("vfx_school_hallway_3_enter"); + common_scripts\utility::flag_init("vfx_school_basement_fall_floor"); + common_scripts\utility::flag_init("vfx_school_basement_hallway_enter"); + common_scripts\utility::flag_init("vfx_school_hallway_2_enter_lookat"); + common_scripts\utility::flag_init("vfx_school_hallway_2_bench_lookat"); + common_scripts\utility::flag_init("vfx_school_hallway_2b_enter"); + common_scripts\utility::flag_init("vfx_school_hallway_2c_enter"); + common_scripts\utility::flag_init("vfx_school_basement_splash"); + common_scripts\utility::flag_init("level_intro_cinematic_complete"); + common_scripts\utility::flag_init("vfx_vehicle_wall_sparks"); + common_scripts\utility::flag_init("flag_water_crash_1"); + common_scripts\utility::flag_init("flag_water_crash_2"); + thread maps\_shg_fx::fx_zone_watcher(1000,"msg_vfx_zone1000_intro_ext"); + thread maps\_shg_fx::fx_zone_watcher(1010,"msg_vfx_zone1010_intro_ext"); + thread maps\_shg_fx::fx_zone_watcher(1500,"msg_vfx_zone1500_intro_ext"); + thread maps\_shg_fx::fx_zone_watcher(1510,"msg_vfx_zone1510_intro_ext"); + thread maps\_shg_fx::fx_zone_watcher(2000,"msg_vfx_zone2000_jetski"); + thread maps\_shg_fx::fx_zone_watcher(2500,"msg_vfx_zone2500_jetski"); + thread maps\_shg_fx::fx_zone_watcher(3000,"msg_vfx_zonrage"); + thread maps\_shg_fx::fx_zone_watcher(4000,"msg_vfx_zone4000_split_sneaky","msg_vfx_zone4010_split_sneaky"); + thread maps\_shg_fx::fx_zone_watcher(5000,"msg_vfx_zone5000_school_fall_int"); + thread maps\_shg_fx::fx_zone_watcher(5100,"msg_vfx_zone5100_school_1st_floor"); + thread maps\_shg_fx::fx_zone_watcher(5200,"msg_vfx_zone5200_school_2nd_floor"); + thread maps\_shg_fx::fx_zone_watcher(5300,"msg_vfx_zone5300_school_3rd_floor"); + thread maps\_shg_fx::fx_zone_watcher(5400,"msg_vfx_zone5400_school_basement"); + thread maps\_shg_fx::fx_zone_watcher(6000,"msg_vfx_zone6000_street_fight1","msg_vfx_zone6000_street_fight2"); + thread maps\_shg_fx::fx_zone_watcher(7000,"msg_vfx_zone7000_office"); + thread maps\_shg_fx::fx_zone_watcher(8000,"msg_vfx_zone8000_exocourtyard","msg_vfx_zone8001_exocourtyard"); + thread maps\_shg_fx::fx_zone_watcher(8500,"msg_vfx_zone8500_exopush","msg_vfx_zone8600_hospitaltransition"); + thread maps\_shg_fx::fx_zone_watcher(9000,"msg_vfx_zone9000_hospital"); + thread maps\_shg_fx::fx_zone_watcher(9200,"msg_vfx_zone9200_hospital","msg_vfx_zone9201_hospital"); + thread maps\_shg_fx::fx_zone_watcher(9500,"msg_vfx_zone9500_hospital_exit"); + thread maps\_shg_fx::fx_zone_watcher(10000,"msg_vfx_zone10000_reveal"); + thread maps\_shg_fx::fx_zone_watcher(11000,"msg_vfx_zone11000_exitdrive_start"); + thread maps\_shg_fx::fx_zone_watcher(12000,"msg_vfx_zone12000_exitdrive_tireshop"); + thread maps\_shg_fx::fx_zone_watcher(13000,"msg_vfx_zone13000_exitdrive_park","msg_vfx_zone13500_exitdrive_building"); + thread maps\_shg_fx::fx_zone_watcher(14000,"msg_vfx_zone14000_exitdrive_tracks","msg_vfx_zone14001_exitdrive_tracks"); + thread maps\_shg_fx::fx_zone_watcher(15000,"msg_vfx_zone15000_exitdrive_street_a"); + thread maps\_shg_fx::fx_zone_watcher(16000,"msg_vfx_zone16000_exitdrive_street_b"); + thread maps\_shg_fx::fx_zone_watcher(125,"msg_vfx_zone_splatonlens_01","msg_vfx_zone_splatonlens_02"); + thread maps\_shg_fx::fx_zone_watcher(130,"msg_vfx_zone_splatonlens_03","msg_vfx_zone_splatonlens_04"); + thread treadfx_override(); + thread hoverbike_smk_push_garage(); + thread rain_attach_player_drizzle(); + thread rain_attach_player_medium(); + thread rain_attach_player_heavy_speedy(); + thread rain_attach_player_heavy(); + thread det_water_crash_jeep_1(); + thread det_water_crash_jeep_2(); + thread exitdrive_buttress(); + thread smoke_clear_basement_bones(); +} + +//Function Number: 2 +set_lighting_values() +{ + if(isusinghdr()) + { + setsaveddvar("r_tonemap",2); + if(level.nextgen) + { + setsaveddvar("fx_cast_shadow",0); + } + } +} + +//Function Number: 3 +precachefx() +{ + level._effect["point_amber"] = loadfx("vfx/lights/light_point_amber"); + level._effect["point_amber_dim"] = loadfx("vfx/lights/light_point_amber_dim"); + level._effect["point_blue"] = loadfx("vfx/lights/detroit/light_point_blue_med2"); + level._effect["point_white_med"] = loadfx("vfx/lights/detroit/light_point_white_med"); + level._effect["point_blue_med"] = loadfx("vfx/lights/detroit/light_point_blue_med"); + level._effect["player_light"] = loadfx("vfx/lights/detroit/flashlight_spotlight_player"); + level._effect["player_light2"] = loadfx("vfx/lights/detroit/flashlight_spotlight_player2"); + level._effect["player_light_bright"] = loadfx("vfx/lights/detroit/flashlight_spotlight_player_bright"); + level._effect["player_light_med"] = loadfx("vfx/lights/detroit/flashlight_spotlight_player_med"); + level._effect["player_light_light"] = loadfx("vfx/lights/detroit/flashlight_spotlight_player_light"); + level._effect["player_light_med2"] = loadfx("vfx/lights/detroit/flashlight_spotlight_player_med2"); + level._effect["flashlight0"] = loadfx("vfx/lights/detroit/flashlight_subtle_ng"); + level._effect["flashlight_enemy"] = loadfx("vfx/lights/detroit/det_enemy_flashlight"); + level._effect["caution_light_01"] = loadfx("fx/lights/warning_light_rotating"); + level._effect["det_debris_falling"] = loadfx("vfx/map/detroit/det_debris_falling"); + level._effect["flesh_hit"] = loadfx("vfx/weaponimpact/flesh_impact_body_fatal_exit"); + level._effect["leaves_blowing"] = loadfx("vfx/wind/leaves_blowing"); + level._effect["trash_blowing"] = loadfx("vfx/wind/trash_blowing"); + level._effect["fog_low_lying_dlight"] = loadfx("vfx/fog/fog_low_lying_dlight"); + level._effect["fog_wispy_sheeting"] = loadfx("vfx/map/detroit/fog_wispy_sheeting"); + level._effect["fog_ambient_night_nonlit"] = loadfx("vfx/fog/fog_ambient_night_nonlit"); + level._effect["det_fog_ground_dense_mid_nonlit"] = loadfx("vfx/map/detroit/det_fog_ground_dense_mid_nonlit"); + level._effect["fog_ground_night"] = loadfx("vfx/lights/detroit/det_fog_ground_night"); + level._effect["dust_ground_slow"] = loadfx("vfx/map/detroit/dust_ground_slow"); + level._effect["footstep_water"] = loadfx("vfx/treadfx/footstep_water"); + level._effect["cloak_scare_papers"] = loadfx("vfx/props/cloak_scare_papers"); + level._effect["falling_dust_subtle"] = loadfx("vfx/dust/falling_dust_subtle"); + level._effect["fog_rising_patch_low"] = loadfx("vfx/map/detroit/det_fog_rising_patch_low"); + level._effect["spider_web_mesh"] = loadfx("vfx/unique/spider_web_mesh"); + level._effect["floating_trash_runner_lp"] = loadfx("vfx/water/floating_trash_runner_lp"); + level._effect["floating_foam_runner_lp"] = loadfx("vfx/water/floating_foam_runner_lp"); + level._effect["floating_foam_slow_runner_lp"] = loadfx("vfx/water/floating_foam_slow_runner_lp"); + level._effect["floating_bottles_runner_lp"] = loadfx("vfx/water/floating_bottles_runner_lp"); + level._effect["smoke_white_slow"] = loadfx("vfx/smoke/smoke_white_slow"); + level._effect["floating_trash_barrel_foam_runner"] = loadfx("vfx/water/floating_trash_barrel_foam_runner"); + level._effect["floating_trash_pallet_foam_runner"] = loadfx("vfx/water/floating_trash_pallet_foam_runner"); + level._effect["water_splash_wall_sm"] = loadfx("vfx/water/water_splash_wall_sm"); + level._effect["det_gate_open_smk_clear"] = loadfx("vfx/map/detroit/det_gate_open_smk_clear"); + level._effect["falling_dust_subtle01"] = loadfx("vfx/dust/falling_dust_subtle01"); + level._effect["dripping_ledges_heavy_splash"] = loadfx("vfx/rain/dripping_ledges_heavy_splash"); + level._effect["rain_splash_sm_25x25_infrequent_lp"] = loadfx("vfx/rain/rain_splash_sm_25x25_infrequent_lp"); + level._effect["leaves_blowing01"] = loadfx("vfx/wind/leaves_blowing01"); + level._effect["dripping_ledges_heavy"] = loadfx("vfx/rain/dripping_ledges_heavy"); + level._effect["dripping_ledges_heavy_short"] = loadfx("vfx/rain/dripping_ledges_heavy_short"); + level._effect["dripping_ledges_heavy_splash_short"] = loadfx("vfx/rain/dripping_ledges_heavy_splash_short"); + level._effect["det_track_water_splash"] = loadfx("vfx/map/detroit/det_track_water_splash"); + level._effect["rain_attach_player_drizzle"] = loadfx("vfx/rain/rain_attach_player_drizzle"); + level._effect["rain_attach_player_steady"] = loadfx("vfx/rain/rain_attach_player_steady"); + level._effect["rain_attach_player_hvy"] = loadfx("vfx/rain/rain_attach_player_hvy"); + level._effect["rain_attach_player_hvy_speedy"] = loadfx("vfx/rain/rain_attach_player_hvy_speedy"); + level._effect["rain_hvy_windy_01"] = loadfx("vfx/rain/rain_hvy_windy_01"); + level._effect["rain_hvy_windy_02"] = loadfx("vfx/rain/rain_hvy_windy_02"); + level._effect["rain_hvy_windy_window_view_nonlit"] = loadfx("vfx/rain/rain_hvy_windy_window_view_nonlit"); + level._effect["rain_hvy_ceiling_hole_nonlit"] = loadfx("vfx/rain/rain_hvy_ceiling_hole_nonlit"); + level._effect["water_drips_med"] = loadfx("vfx/rain/water_drips_med"); + level._effect["raindrop_rings_area"] = loadfx("vfx/rain/raindrop_rings_area"); + level._effect["water_drips_fat_splash"] = loadfx("vfx/rain/water_drips_fat_splash"); + level._effect["dripping_ledges_med"] = loadfx("vfx/rain/dripping_ledges_med"); + level._effect["dripping_ledges_lrg"] = loadfx("vfx/rain/dripping_ledges_lrg"); + level._effect["water_curtain_01"] = loadfx("vfx/rain/water_curtain_01"); + level._effect["water_stream_sml"] = loadfx("vfx/rain/water_stream_sml"); + level._effect["water_stream_med"] = loadfx("vfx/rain/water_stream_med"); + level._effect["water_stream_lrg"] = loadfx("vfx/rain/water_stream_lrg"); + level._effect["dripping_ceiling_hole"] = loadfx("vfx/rain/dripping_ceiling_hole"); + level._effect["dripping_ceiling_hole_2"] = loadfx("vfx/rain/dripping_ceiling_hole_2"); + level._effect["rain_splash_hvy_400x400_lp_runner"] = loadfx("vfx/rain/rain_splash_hvy_400x400_lp_runner"); + level._effect["rain_splat_on_lens_sml_rnr_night"] = loadfx("vfx/rain/rain_splat_on_lens_sml_rnr_night"); + level._effect["rain_splat_on_lens_med_rnr_night"] = loadfx("vfx/rain/rain_splat_on_lens_med_rnr_night"); + level._effect["rain_splat_on_lens_hvy_rnr_night"] = loadfx("vfx/rain/rain_splat_on_lens_hvy_rnr_night"); + level._effect["raindrop_rings_area_sm"] = loadfx("vfx/rain/raindrop_rings_area_sm"); + level._effect["raindrop_rings_area_med"] = loadfx("vfx/rain/raindrop_rings_area_med"); + level._effect["intro_point_rim"] = loadfx("vfx/lights/detroit/intro_point_rim"); + level._effect["godray_sm"] = loadfx("vfx/lights/detroit/det_godray_sm"); + level._effect["godray_sm_grp"] = loadfx("vfx/lights/detroit/det_godray_sm_grp"); + level._effect["godray_med_grp"] = loadfx("vfx/lights/detroit/det_godray_med_grp"); + level._effect["godray_med_tracks"] = loadfx("vfx/lights/detroit/det_godray_med_tracks"); + level._effect["godray_dancefloor"] = loadfx("vfx/lights/detroit/det_godray_dancefloor"); + level._effect["godray_dancefloor2"] = loadfx("vfx/lights/detroit/det_godray_dancefloor2"); + level._effect["fluorescent_smoke_dim"] = loadfx("vfx/lights/detroit/det_fluorescent_smoke_dim"); + level._effect["fluorescent_smoke_dim_sm"] = loadfx("vfx/lights/detroit/det_fluorescent_smoke_dim_sm"); + level._effect["light_white_radiosity_sim"] = loadfx("vfx/lights/light_white_radiosity_sim"); + level._effect["light_white_radiosity_sim_dim"] = loadfx("vfx/lights/light_white_radiosity_sim_dim"); + level._effect["light_white_radiosity_sim_dim_sm"] = loadfx("vfx/lights/light_white_radiosity_sim_dim_sm"); + level._effect["light_white_radiosity_sim_fade_out"] = loadfx("vfx/lights/light_white_radiosity_sim_fade_out"); + level._effect["light_white_radiosity_fade_slow"] = loadfx("vfx/lights/light_white_radiosity_fade_slow"); + level._effect["light_fluorescent_smoke_dimmer"] = loadfx("vfx/lights/light_fluorescent_smoke_dimmer"); + level._effect["det_dyn_spotlight_train"] = loadfx("vfx/lights/detroit/det_dyn_spotlight_train"); + level._effect["det_dyn_spotlight_train_lrg"] = loadfx("vfx/lights/detroit/det_dyn_spotlight_train_lrg"); + level._effect["det_dyn_spotlight_train_nolight"] = loadfx("vfx/lights/detroit/det_dyn_spotlight_train_nolight"); + level._effect["det_dyn_spotlight_jetbike"] = loadfx("vfx/lights/detroit/det_dyn_spotlight_jetbike"); + level._effect["det_dyn_spotlight_jetbike_dim"] = loadfx("vfx/lights/detroit/det_dyn_spotlight_jetbike_dim"); + level._effect["jetbike_lights"] = loadfx("vfx/lights/detroit/det_spotlight_jetbike"); + level._effect["jetbike_lights_dim"] = loadfx("vfx/lights/detroit/det_spotlight_jetbike_dim"); + level._effect["light_white_rotate"] = loadfx("vfx/lights/light_white_rotate"); + level._effect["aircraft_light_wingtip_red"] = loadfx("vfx/lights/aircraft_light_wingtip_red"); + level._effect["aircraft_light_red_blink"] = loadfx("vfx/lights/aircraft_light_red_blink"); + level._effect["aircraft_light_wingtip_red_med"] = loadfx("vfx/lights/aircraft_light_wingtip_red_med"); + level._effect["light_wingtip_red_med_point"] = loadfx("vfx/lights/light_wingtip_red_med_point"); + level._effect["det_point_blue_intro"] = loadfx("vfx/lights/detroit/det_point_blue_intro"); + level._effect["light_stadium"] = loadfx("vfx/lights/detroit/det_light_stadium"); + level._effect["light_stadium_behind"] = loadfx("vfx/lights/detroit/det_light_stadium_behind"); + level._effect["det_light_fog_blue"] = loadfx("vfx/lights/detroit/det_light_fog_blue"); + level._effect["light_stadium_nolens"] = loadfx("vfx/lights/detroit/det_light_stadium_nolens"); + level._effect["light_stadium_nolens_sm"] = loadfx("vfx/lights/detroit/det_light_stadium_nolens_sm"); + level._effect["light_stadium_nolens_blue"] = loadfx("vfx/lights/detroit/det_light_stadium_nolens_blue"); + level._effect["light_stadium_nolens_blue_sm"] = loadfx("vfx/lights/detroit/det_light_stadium_nolens_blue_sm"); + level._effect["light_trailer"] = loadfx("vfx/lights/detroit/det_light_trailer"); + level._effect["det_fire_horizon_glow"] = loadfx("vfx/lights/detroit/det_fire_horizon_glow"); + level._effect["light_spotlight_cone_haze"] = loadfx("vfx/lights/detroit/det_light_spotlight_cone_haze"); + level._effect["light_haze_distant_single"] = loadfx("vfx/lights/detroit/det_light_haze_distant_single"); + level._effect["light_point_gold"] = loadfx("vfx/lights/detroit/det_light_point_gold"); + level._effect["spotlight_occluder_train"] = loadfx("vfx/lights/detroit/spotlight_occluder_train"); + level._effect["det_steam_spray"] = loadfx("vfx/map/detroit/det_steam_spray"); + level._effect["det_steam_linger"] = loadfx("vfx/map/detroit/det_steam_linger"); + level._effect["heli_spot_flare"] = loadfx("vfx/lights/detroit/det_heli_spot_flare"); + level._effect["heli_spotlight"] = loadfx("vfx/lights/detroit/det_heli_spotlight"); + level._effect["heli_spotlight_god"] = loadfx("vfx/lights/detroit/det_heli_spotlight_god"); + level._effect["red_point"] = loadfx("vfx/lights/detroit/det_red_point"); + level._effect["open_door_point"] = loadfx("vfx/lights/detroit/det_open_door_point"); + level._effect["red_point_dim"] = loadfx("vfx/lights/detroit/det_red_point_dim"); + level._effect["red_point_med"] = loadfx("vfx/lights/detroit/det_red_point_med"); + level._effect["orange_point_med"] = loadfx("vfx/lights/detroit/det_orange_point_med"); + level._effect["red_spot_jetbike"] = loadfx("vfx/lights/detroit/det_red_spot_jetbike"); + level._effect["fog_golden_fade"] = loadfx("vfx/lights/detroit/det_fog_golden_fade"); + level._effect["godray_camp_blue"] = loadfx("vfx/lights/detroit/det_godray_camp_blue"); + level._effect["godray_camp_blue_large"] = loadfx("vfx/lights/detroit/det_godray_camp_blue_large"); + level._effect["soft_blue_omni_glow"] = loadfx("vfx/lights/detroit/det_soft_blue_omni_glow"); + level._effect["soft_blue_omni_glow_flip"] = loadfx("vfx/lights/detroit/det_soft_blue_omni_glow_flip"); + level._effect["soft_blue_omni_glow_lrg"] = loadfx("vfx/lights/detroit/det_soft_blue_omni_glow_lrg"); + level._effect["godray_fluorescent_flicker"] = loadfx("vfx/lights/detroit/det_godray_fluorescent_flicker"); + level._effect["lights_conelight_yellow"] = loadfx("vfx/lights/detroit/det_lights_conelight_yellow"); + level._effect["det_point_rim_lrg"] = loadfx("vfx/lights/detroit/det_point_rim_lrg"); + level._effect["fx_flare_med_white"] = loadfx("vfx/lensflare/detroit/fx_flare_med_white"); + level._effect["fx_flare_med_blue"] = loadfx("vfx/lensflare/detroit/fx_flare_med_blue"); + level._effect["fx_flare_med_blue_bright"] = loadfx("vfx/map/detroit/fx_flare_med_blue_bright"); + level._effect["fx_flare_med_blue_dim"] = loadfx("vfx/map/detroit/fx_flare_med_blue_dim"); + level._effect["lightning_bounce"] = loadfx("vfx/lights/lightning_bounce"); + level._effect["headlight_gaz_yellow"] = loadfx("vfx/lights/detroit/headlight_gaz_yellow"); + level._effect["sunflare"] = loadfx("vfx/lights/detroit/sunflare"); + level._effect["car_fog_med"] = loadfx("vfx/lights/detroit/car_fog_med"); + level._effect["godray_track_binders"] = loadfx("vfx/lights/detroit/godray_track_binders"); + level._effect["light_streetlight_flare"] = loadfx("vfx/lights/detroit/light_streetlight_flare"); + level._effect["red_utilitylight_flare"] = loadfx("vfx/lights/detroit/det_red_utilitylight_flare"); + level._effect["yellow_utilitylight_flare"] = loadfx("vfx/lights/detroit/det_yellow_utilitylight_flare"); + level._effect["det_godray_fluorescent"] = loadfx("vfx/lights/detroit/det_godray_fluorescent"); + level._effect["det_godray_fluorescent_flash"] = loadfx("vfx/lights/detroit/det_godray_fluorescent_flash"); + level._effect["det_greenflare_flare"] = loadfx("vfx/map/detroit/det_greenflare_flare"); + level._effect["det_barlight_flare"] = loadfx("vfx/lights/detroit/det_barlight_flare"); + level._effect["det_emergency_light_flare"] = loadfx("vfx/lights/detroit/det_emergency_light_flare"); + level._effect["det_warm_can_sm"] = loadfx("vfx/lights/detroit/det_warm_can_sm"); + level._effect["fx_flare_med_blue_strong"] = loadfx("vfx/map/detroit/fx_flare_med_blue_strong"); + level._effect["det_light_area_dim_med"] = loadfx("vfx/lights/detroit/light_area_dim_med"); + level._effect["det_light_area_intro"] = loadfx("vfx/lights/detroit/light_area_intro"); + level._effect["cg_light_intro_red_blink"] = loadfx("vfx/map/detroit/det_fill_light_red_blink_cg"); + level._effect["cg_light_gate_orange"] = loadfx("vfx/map/detroit/det_fill_light_orange_cg"); + level._effect["point_white_reveal_cg"] = loadfx("vfx/lights/detroit/light_point_white_reveal_cg"); + level._effect["dust_falling_02"] = loadfx("vfx/map/detroit/det_dust_falling_02"); + level._effect["amb_ground_dust_blue"] = loadfx("vfx/map/detroit/det_amb_ground_dust_blue"); + level._effect["amb_ground_dust_green"] = loadfx("vfx/map/detroit/det_amb_ground_dust_green"); + level._effect["amb_ground_dust_blue_dark"] = loadfx("vfx/map/detroit/det_amb_ground_dust_blue_dark"); + level._effect["amb_ground_dust_blue_med"] = loadfx("vfx/map/detroit/det_amb_ground_dust_blue_med"); + level._effect["amb_ground_dust_blue_light"] = loadfx("vfx/map/detroit/det_amb_ground_dust_blue_light"); + level._effect["amb_ground_dust_blue_shot"] = loadfx("vfx/map/detroit/det_amb_ground_dust_blue_shot"); + level._effect["light_dust_particles"] = loadfx("vfx/map/detroit/det_light_dust_particles"); + level._effect["light_dust_particles_gold"] = loadfx("vfx/map/detroit/det_light_dust_particles_gold"); + level._effect["det_fog_ground_hoverbike_clear"] = loadfx("vfx/map/detroit/det_fog_ground_hoverbike_clear"); + level._effect["det_fog_ground_hoverbike_static"] = loadfx("vfx/map/detroit/det_fog_ground_hoverbike_static"); + level._effect["fog_ground_static"] = loadfx("vfx/fog/fog_ground_static"); + level._effect["godray_golden_window"] = loadfx("vfx/lights/detroit/det_godray_golden_window"); + level._effect["godray_golden_dim"] = loadfx("vfx/lights/detroit/det_godray_golden_dim"); + level._effect["godray_golden_dimmer"] = loadfx("vfx/lights/detroit/det_godray_golden_dimmer"); + level._effect["godray_golden_basement"] = loadfx("vfx/lights/detroit/det_godray_golden_basement"); + level._effect["godray_blue_window"] = loadfx("vfx/lights/detroit/det_godray_blue_window"); + level._effect["godray_blue_blinders"] = loadfx("vfx/lights/detroit/det_godray_blue_blinders"); + level._effect["godray_golden_large"] = loadfx("vfx/lights/detroit/det_godray_golden_large"); + level._effect["det_white_godray"] = loadfx("vfx/lights/detroit/det_white_godray"); + level._effect["det_godray_blue_stairwell"] = loadfx("vfx/lights/detroit/det_godray_blue_stairwell"); + level._effect["godray_blue_rain"] = loadfx("vfx/lights/detroit/det_godray_blue_rain"); + level._effect["mosquitos"] = loadfx("vfx/animal/insects_mosquitos_flying"); + level._effect["moths"] = loadfx("vfx/animal/insects_moths"); + level._effect["moths_area_sml"] = loadfx("vfx/animal/insects_moths_area_sml"); + level._effect["flies_landing"] = loadfx("vfx/animal/insects_flies_landing"); + level._effect["flies_wall"] = loadfx("vfx/animal/insects_flies_wall"); + level._effect["heli_water_default"] = loadfx("vfx/treadfx/heli_water_default"); + level._effect["heli_dust_warbird"] = loadfx("vfx/treadfx/heli_dust_warbird"); + level._effect["no_fx"] = loadfx("vfx/unique/no_fx"); + level._effect["fluorecent_bulb_pop"] = loadfx("vfx/glass/fluorecent_bulb_pop"); + level._effect["det_fall_through_ceiling_1"] = loadfx("vfx/map/detroit/det_fall_through_ceiling_1"); + level._effect["det_fall_through_ceiling_2"] = loadfx("vfx/map/detroit/det_fall_through_ceiling_2"); + level._effect["det_fall_impact_1"] = loadfx("vfx/map/detroit/det_fall_impact_1"); + level._effect["det_fall_impact_2"] = loadfx("vfx/map/detroit/det_fall_impact_2"); + level._effect["det_screen_splash_distort_child"] = loadfx("vfx/map/detroit/det_screen_splash_distort_child"); + level._effect["det_screen_splash_distort"] = loadfx("vfx/map/detroit/det_screen_splash_distort"); + level._effect["det_screen_splash_distort_fast"] = loadfx("vfx/map/detroit/det_screen_splash_distort_fast"); + level._effect["det_helmet_smash"] = loadfx("vfx/map/detroit/det_helmet_smash"); + level._effect["det_brick_pull_dust"] = loadfx("vfx/map/detroit/det_brick_pull_dust"); + level._effect["det_helmet_smash"] = loadfx("vfx/map/detroit/det_helmet_smash"); + level._effect["det_school_stabs"] = loadfx("vfx/map/detroit/det_school_stabs"); + level._effect["det_blood_pool"] = loadfx("vfx/map/detroit/det_blood_pool"); + level._effect["det_body_scanner_beam"] = loadfx("vfx/map/detroit/det_body_scanner_beam"); + level._effect["det_scanner_pannel_glow"] = loadfx("vfx/map/detroit/det_scanner_pannel_glow"); + level._effect["det_mech_scanner_beam"] = loadfx("vfx/map/detroit/det_mech_scanner_beam"); + level._effect["paper_burst"] = loadfx("vfx/props/paper_burst"); + level._effect["det_shelf_dust"] = loadfx("vfx/map/detroit/det_shelf_dust"); + level._effect["det_exo_push_sparks_child"] = loadfx("vfx/map/detroit/det_exo_push_sparks_child"); + level._effect["det_exo_push_sparks"] = loadfx("vfx/map/detroit/det_exo_push_sparks"); + level._effect["det_buttress_collapse"] = loadfx("vfx/map/detroit/det_buttress_collapse"); + level._effect["det_buttress_wall_sparks"] = loadfx("vfx/map/detroit/det_buttress_wall_sparks"); + level._effect["det_buttress_joint_sparks"] = loadfx("vfx/map/detroit/det_buttress_joint_sparks"); + level._effect["det_heli_shot_rnr"] = loadfx("vfx/map/detroit/det_heli_shot_rnr"); + level._effect["det_heli_explosion_rnr"] = loadfx("vfx/map/detroit/det_heli_explosion_rnr"); + level._effect["det_heli_explosion_rnr_2"] = loadfx("vfx/map/detroit/det_heli_explosion_rnr_2"); + level._effect["det_heli_debris_spurt"] = loadfx("vfx/map/detroit/det_heli_debris_spurt"); + level._effect["det_heli_fire_spurt"] = loadfx("vfx/map/detroit/det_heli_fire_spurt"); + level._effect["det_heli_rotor_impact"] = loadfx("vfx/map/detroit/det_heli_rotor_impact"); + level._effect["det_water_car_impact"] = loadfx("vfx/map/detroit/det_water_car_impact"); + level._effect["det_water_heli_impact"] = loadfx("vfx/map/detroit/det_water_heli_impact"); + level._effect["det_hoverbike_startup"] = loadfx("vfx/map/detroit/det_hoverbike_startup"); + level._effect["det_hoverbike_startup_vm"] = loadfx("vfx/map/detroit/det_hoverbike_startup_vm"); + level._effect["det_blood_impact_burst"] = loadfx("vfx/map/detroit/det_blood_impact_burst"); + level._effect["bloody_knife_pull"] = loadfx("vfx/map/detroit/det_bloody_knife_pull"); + level._effect["generic_assault_flash_view_tracer"] = loadfx("vfx/muzzleflash/generic_assault_flash_view_tracer"); + level._effect["det_intro_warbird_rotorwash_idle"] = loadfx("vfx/map/detroit/det_intro_warbird_rotorwash_idle"); + level._effect["det_intro_warbird_rotorwash_fly"] = loadfx("vfx/map/detroit/det_intro_warbird_rotorwash_fly"); + level._effect["trash_tornado_s_parent_motion"] = loadfx("vfx/wind/trash_tornado_s_parent_motion"); + level._effect["det_intro_warbird_rotor_rainstreak"] = loadfx("vfx/map/detroit/det_intro_warbird_rotor_rainstreak"); + level._effect["car_contact_spark_lrg"] = loadfx("vfx/vehiclecollision/veh_collision_sparks"); + level._effect["car_contact_asphalt_lrg"] = loadfx("vfx/vehiclecollision/veh_collision_asphalt"); + level._effect["car_contact_asphalt_a"] = loadfx("vfx/vehiclecollision/veh_collision_asphalt_a"); + level._effect["car_contact_concrete_lrg"] = loadfx("vfx/vehiclecollision/veh_collision_concrete"); + level._effect["car_contact_dirt_lrg"] = loadfx("vfx/vehiclecollision/veh_collision_dirt"); + level._effect["car_contact_spark_med"] = loadfx("vfx/vehiclecollision/veh_collision_sparks_med"); + level._effect["car_contact_asphalt_med"] = loadfx("vfx/vehiclecollision/veh_collision_asphalt_med"); + level._effect["car_contact_concrete_med"] = loadfx("vfx/vehiclecollision/veh_collision_concrete_med"); + level._effect["car_contact_dirt_med"] = loadfx("vfx/vehiclecollision/veh_collision_dirt_med"); + level._effect["car_contact_asphalt_sml"] = loadfx("vfx/vehiclecollision/veh_collision_asphalt_sml"); + level._effect["car_contact_concrete_sml"] = loadfx("vfx/vehiclecollision/veh_collision_concrete_sml"); + level._effect["car_contact_dirt_sml"] = loadfx("vfx/vehiclecollision/veh_collision_dirt_sml"); + level._effect["car_contact_spark_sml"] = loadfx("vfx/vehiclecollision/veh_collision_sparks_sml"); + level._effect["veh_collision_wet_asphalt"] = loadfx("vfx/vehiclecollision/veh_collision_wet_asphalt"); + level._effect["veh_collision_water"] = loadfx("vfx/vehiclecollision/veh_collision_water"); +} + +//Function Number: 4 +treadfx_override() +{ + waittillframeend; + var_00[0] = "script_vehicle_xh9_warbird"; + var_01[0] = "script_vehicle_littlebird_kva_armed"; + level.treadfx_maxheight = 2000; + var_02 = "vfx/treadfx/heli_dust_warbird"; + var_03 = "vfx/treadfx/heli_water_default"; + var_04 = "vfx/unique/no_fx"; + foreach(var_06 in var_00) + { + maps\_vehicle::set_vehicle_effect(var_06,"brick",var_03); + maps\_vehicle::set_vehicle_effect(var_06,"bark",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"carpet",var_03); + maps\_vehicle::set_vehicle_effect(var_06,"cloth",var_03); + maps\_vehicle::set_vehicle_effect(var_06,"concrete",var_03); + maps\_vehicle::set_vehicle_effect(var_06,"dirt",var_03); + maps\_vehicle::set_vehicle_effect(var_06,"flesh",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"foliage",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"glass",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"grass",var_03); + maps\_vehicle::set_vehicle_effect(var_06,"gravel",var_03); + maps\_vehicle::set_vehicle_effect(var_06,"ice",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"metal",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"mud",var_03); + maps\_vehicle::set_vehicle_effect(var_06,"paper",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"plaster",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"rock",var_03); + maps\_vehicle::set_vehicle_effect(var_06,"sand",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"snow",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"water",var_03); + maps\_vehicle::set_vehicle_effect(var_06,"wood",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"asphalt",var_03); + maps\_vehicle::set_vehicle_effect(var_06,"ceramic",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"plastic",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"rubber",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"cushion",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"fruit",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"paintedmetal",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"riotshield",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"slush",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"default",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"none"); + } + + foreach(var_06 in var_01) + { + maps\_vehicle::set_vehicle_effect(var_06,"brick",var_03); + maps\_vehicle::set_vehicle_effect(var_06,"bark",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"carpet",var_03); + maps\_vehicle::set_vehicle_effect(var_06,"cloth",var_03); + maps\_vehicle::set_vehicle_effect(var_06,"concrete",var_03); + maps\_vehicle::set_vehicle_effect(var_06,"dirt",var_03); + maps\_vehicle::set_vehicle_effect(var_06,"flesh",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"foliage",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"glass",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"grass",var_03); + maps\_vehicle::set_vehicle_effect(var_06,"gravel",var_03); + maps\_vehicle::set_vehicle_effect(var_06,"ice",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"metal",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"mud",var_03); + maps\_vehicle::set_vehicle_effect(var_06,"paper",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"plaster",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"rock",var_03); + maps\_vehicle::set_vehicle_effect(var_06,"sand",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"snow",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"water",var_03); + maps\_vehicle::set_vehicle_effect(var_06,"wood",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"asphalt",var_03); + maps\_vehicle::set_vehicle_effect(var_06,"ceramic",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"plastic",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"rubber",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"cushion",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"fruit",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"paintedmetal",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"riotshield",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"slush",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"default",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"none"); + } +} + +//Function Number: 5 +cg_helipad_red_fx_lights() +{ + common_scripts\_exploder::exploder("cg_helipad_red_light"); +} + +//Function Number: 6 +rain_attach_player_drizzle() +{ + level waittill("vfx_rain_intro"); + wait(5); + common_scripts\_exploder::exploder(121); + soundscripts\_snd::snd_message("weather_report","drizzle"); + level waittill("med_rain_start"); + wait(2); + maps\_utility::pauseexploder(121); +} + +//Function Number: 7 +rain_attach_player_medium() +{ + common_scripts\utility::flag_wait("vfx_before_giant_gate"); + wait(5); + level notify("med_rain_start"); + common_scripts\_exploder::exploder(122); + soundscripts\_snd::snd_message("weather_report","med_rain"); + common_scripts\utility::flag_wait("vfx_garage_under_entrance"); + maps\_utility::pauseexploder(122); +} + +//Function Number: 8 +rain_attach_player_heavy_speedy() +{ + common_scripts\utility::flag_wait("vfx_exit_garage_door"); + level waittill("vfx_exit_drive_start"); + wait(2); + common_scripts\_exploder::exploder(124); + soundscripts\_snd::snd_message("weather_report","heavy_speedy_rain"); + level waittill("vfx_player_jetbike_stops"); + maps\_utility::pauseexploder(124); +} + +//Function Number: 9 +rain_attach_player_heavy() +{ + level waittill("vfx_player_jetbike_stops"); + common_scripts\_exploder::exploder(123); + common_scripts\_exploder::exploder(119); + soundscripts\_snd::snd_message("weather_report","heavy_rain"); + level waittill("detroit_level_fadeout"); + wait(5); + maps\_utility::pauseexploder(123); +} + +//Function Number: 10 +waribird_intro_vfx(param_00) +{ + thread intro_warbird_rotorwash_ground(); + thread intro_warbird_wind_debris(); + thread intro_warbird_rotor_rainstreak(param_00); + thread intro_rain_splat_onlens(); + wait(4); + thread intro_warbird_rotorwash_fly(param_00); +} + +//Function Number: 11 +intro_warbird_rotorwash_ground() +{ + common_scripts\_exploder::exploder("det_intro_warbird_rotorwash_idle"); + wait(8.5); + maps\_utility::pauseexploder("det_intro_warbird_rotorwash_idle"); +} + +//Function Number: 12 +intro_rain_splat_onlens() +{ + common_scripts\_exploder::exploder(47); + wait(10); + maps\_utility::pauseexploder(47); +} + +//Function Number: 13 +intro_warbird_rotorwash_fly(param_00) +{ + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 linkto(param_00,"tag_origin",(0,0,-300),(-90,0,0)); + playfxontag(common_scripts\utility::getfx("det_intro_warbird_rotorwash_fly"),var_01,"tag_origin"); + common_scripts\utility::flag_wait("level_intro_cinematic_complete"); + stopfxontag(common_scripts\utility::getfx("det_intro_warbird_rotorwash_fly"),var_01,"tag_origin"); + wait(0.05); + var_01 delete(); +} + +//Function Number: 14 +intro_warbird_camshake() +{ + self endon("level_intro_cinematic_complete"); + var_00 = maps\_shg_fx::get_exploder_ent("det_intro_warbird_rotorwash_idle"); + var_01 = var_00.v["origin"]; + var_02 = 0.001; + for(;;) + { + var_03 = distance2d(var_01,level.player.origin); + var_04 = 0.125 * clamp(1 - var_03 / 3000,0.01,1) * var_02 / 2; + var_05 = randomfloat(1) * 8 + 1; + earthquake(var_04,var_05 * 2,var_01,500); + var_02 = clamp(var_02 + var_05 / 20,0.01,2); + wait(var_05 / 20); + } +} + +//Function Number: 15 +intro_warbird_wind_debris() +{ + common_scripts\_exploder::exploder(45); + wait(6.5); + common_scripts\_exploder::exploder(46); + maps\_utility::pauseexploder(45); +} + +//Function Number: 16 +intro_warbird_rotor_rainstreak(param_00) +{ + wait(0.1); + playfxontag(common_scripts\utility::getfx("det_intro_warbird_rotor_rainstreak"),param_00,"TAG_SPIN_MAIN_ROTOR_R"); + playfxontag(common_scripts\utility::getfx("det_intro_warbird_rotor_rainstreak"),param_00,"TAG_SPIN_MAIN_ROTOR_L"); + common_scripts\utility::flag_wait("level_intro_cinematic_complete"); + stopfxontag(common_scripts\utility::getfx("det_intro_warbird_rotor_rainstreak"),param_00,"TAG_SPIN_MAIN_ROTOR_R"); + stopfxontag(common_scripts\utility::getfx("det_intro_warbird_rotor_rainstreak"),param_00,"TAG_SPIN_MAIN_ROTOR_L"); +} + +//Function Number: 17 +det_scanner_fx(param_00) +{ + if(!isdefined(param_00)) + { + return; + } + + param_00 endon("death"); + playfxontag(common_scripts\utility::getfx("det_body_scanner_beam"),param_00,"scanner_FR"); + playfxontag(common_scripts\utility::getfx("det_body_scanner_beam"),param_00,"scanner_KR"); + playfxontag(common_scripts\utility::getfx("det_scanner_pannel_glow"),param_00,"scanner_FR"); + playfxontag(common_scripts\utility::getfx("det_scanner_pannel_glow"),param_00,"scanner_KR"); + maps\_utility::vision_set_fog_changes("detroit_camp_scan",1); + wait(7); + maps\_utility::vision_set_fog_changes("detroit_camp",1); + stopfxontag(common_scripts\utility::getfx("det_body_scanner_beam"),param_00,"scanner_FR"); + stopfxontag(common_scripts\utility::getfx("det_body_scanner_beam"),param_00,"scanner_KR"); + wait(1); + stopfxontag(common_scripts\utility::getfx("det_scanner_pannel_glow"),param_00,"scanner_FR"); + stopfxontag(common_scripts\utility::getfx("det_scanner_pannel_glow"),param_00,"scanner_KR"); +} + +//Function Number: 18 +det_scanner_fx_bg(param_00) +{ + if(!isdefined(param_00)) + { + return; + } + + param_00 endon("death"); + playfxontag(common_scripts\utility::getfx("det_body_scanner_beam"),param_00,"scanner_FR"); + playfxontag(common_scripts\utility::getfx("det_body_scanner_beam"),param_00,"scanner_KR"); + playfxontag(common_scripts\utility::getfx("det_scanner_pannel_glow"),param_00,"scanner_FR"); + playfxontag(common_scripts\utility::getfx("det_scanner_pannel_glow"),param_00,"scanner_KR"); + wait(10); + stopfxontag(common_scripts\utility::getfx("det_body_scanner_beam"),param_00,"scanner_FR"); + stopfxontag(common_scripts\utility::getfx("det_body_scanner_beam"),param_00,"scanner_KR"); + wait(1.5); + stopfxontag(common_scripts\utility::getfx("det_scanner_pannel_glow"),param_00,"scanner_FR"); + stopfxontag(common_scripts\utility::getfx("det_scanner_pannel_glow"),param_00,"scanner_KR"); +} + +//Function Number: 19 +det_hoverbike_mount_burke(param_00) +{ + wait(0.5); + common_scripts\_exploder::exploder(1511); + wait(4); + common_scripts\_exploder::exploder(1512); +} + +//Function Number: 20 +det_hoverbike_shutdown_burke(param_00) +{ + wait(0.5); + common_scripts\_exploder::exploder(1513); + wait(1.5); + common_scripts\_exploder::exploder(1514); +} + +//Function Number: 21 +det_hoverbike_startup_burke(param_00) +{ + common_scripts\_exploder::exploder(1513); + wait(1); + common_scripts\_exploder::exploder(1514); +} + +//Function Number: 22 +det_mech_scanner_fx(param_00) +{ + playfxontag(common_scripts\utility::getfx("det_mech_scanner_beam"),param_00,"J2_WristTwist_LE"); +} + +//Function Number: 23 +gate_open_rain_fall_fx(param_00) +{ + wait(2); + common_scripts\_exploder::exploder(1165); + wait(3.9); + common_scripts\_exploder::exploder(1166); +} + +//Function Number: 24 +smoke_clear_basement_bones() +{ + common_scripts\utility::flag_wait("vfx_garage_under_entrance"); + var_00 = common_scripts\utility::spawn_tag_origin(); + var_01 = common_scripts\utility::spawn_tag_origin(); + if(isdefined(level.burke_bike)) + { + var_00 linkto(level.burke_bike,"tag_origin",(0,0,0),(0,0,180)); + } + + if(isdefined(level.joker_bike)) + { + var_01 linkto(level.joker_bike,"tag_origin",(0,0,0),(0,0,180)); + } + + playfxontag(common_scripts\utility::getfx("det_fog_ground_hoverbike_clear"),var_00,"TAG_ORIGIN"); + playfxontag(common_scripts\utility::getfx("det_fog_ground_hoverbike_clear"),var_01,"TAG_ORIGIN"); + wait(22); + stopfxontag(common_scripts\utility::getfx("det_fog_ground_hoverbike_clear"),var_00,"TAG_ORIGIN"); + stopfxontag(common_scripts\utility::getfx("det_fog_ground_hoverbike_clear"),var_01,"TAG_ORIGIN"); + wait(0.05); + var_00 delete(); + var_01 delete(); +} + +//Function Number: 25 +hoverbike_smk_push_garage() +{ + maps\_utility::wait_for_targetname_trigger("vfx_hover_bike_smk_clear_start"); + wait(0.01); + common_scripts\_exploder::exploder(3001); + common_scripts\_exploder::exploder(3002); + common_scripts\_exploder::exploder(3003); + common_scripts\_exploder::exploder(3004); + wait(2); + maps\_utility::pauseexploder(3001); + common_scripts\_exploder::exploder(3005); + wait(1.25); + common_scripts\_exploder::exploder(3006); + maps\_utility::pauseexploder(3002); + common_scripts\_exploder::kill_exploder(3001); + wait(1.25); + common_scripts\_exploder::exploder(3007); + maps\_utility::pauseexploder(3003); + common_scripts\_exploder::kill_exploder(3002); + wait(0.5); + common_scripts\_exploder::exploder(3008); + common_scripts\_exploder::exploder(3009); + maps\_utility::pauseexploder(3004); + common_scripts\_exploder::kill_exploder(3003); + wait(2); + maps\_utility::pauseexploder(3005); + common_scripts\_exploder::kill_exploder(3004); + wait(2); + maps\_utility::pauseexploder(3006); + common_scripts\_exploder::kill_exploder(3005); + wait(2.5); + maps\_utility::pauseexploder(3007); + common_scripts\_exploder::kill_exploder(3006); + wait(1); + maps\_utility::pauseexploder(3008); + common_scripts\_exploder::kill_exploder(3007); + wait(1); + maps\_utility::pauseexploder(3009); + common_scripts\_exploder::kill_exploder(3008); + wait(3); + common_scripts\_exploder::kill_exploder(3009); +} + +//Function Number: 26 +exitdrive_buttress() +{ + maps\_utility::wait_for_targetname_trigger("final_straightaway_missile_02"); + maps\_utility::delaythread(0.35,::common_scripts\_exploder::exploder,"1601"); + maps\_utility::wait_for_targetname_trigger("final_straightaway_missile_04"); + maps\_utility::delaythread(0.35,::common_scripts\_exploder::exploder,"1602"); + maps\_utility::wait_for_targetname_trigger("final_straightaway_missile_07"); + maps\_utility::delaythread(0.35,::common_scripts\_exploder::exploder,"1603"); +} + +//Function Number: 27 +steam_spray_custom_function() +{ + level endon("stop_valve_animation"); + wait(11.5); + if(common_scripts\utility::flag("kill_the_valve_anim")) + { + return; + } + + maps\_utility::stop_exploder(1759); + common_scripts\_exploder::exploder(1760); +} + +//Function Number: 28 +det_fall_through_ceiling(param_00) +{ + wait(0.05); + common_scripts\_exploder::exploder(5001); + wait(0.7); + common_scripts\_exploder::exploder(5002); + wait(10.5); + common_scripts\_exploder::exploder(5003); + wait(2.6); + common_scripts\_exploder::exploder(5004); + wait(1.2); + maps\_trigger::spawneffectonplayerview("det_screen_splash_distort",(12,0,0),(0,0,0)); +} + +//Function Number: 29 +det_brick_pull_fx(param_00) +{ + playfxontag(common_scripts\utility::getfx("det_brick_pull_dust"),param_00,"tag_origin"); + common_scripts\_exploder::exploder(5302); +} + +//Function Number: 30 +det_helmet_smash_fx(param_00) +{ + playfxontag(common_scripts\utility::getfx("det_helmet_smash"),param_00,"TAG_EYE"); + wait(2.5); + common_scripts\_exploder::exploder(5301); +} + +//Function Number: 31 +det_knife_stab_fx(param_00) +{ + playfxontag(common_scripts\utility::getfx("det_school_stabs"),param_00,"J_Clavicle_RI"); + param_00 setmodel("kva_hazmat_body_a_stabbed"); +} + +//Function Number: 32 +det_knife_pull(param_00) +{ + playfxontag(common_scripts\utility::getfx("bloody_knife_pull"),param_00,"J_knife"); +} + +//Function Number: 33 +det_shelf_papers_fx(param_00) +{ + playfxontag(common_scripts\utility::getfx("paper_burst"),param_00,"TAG_ORIGIN"); + wait(0.1); + common_scripts\_exploder::exploder(9201); +} + +//Function Number: 34 +cg_sentinel_fx_light() +{ + common_scripts\_exploder::exploder("cg_sentinel_reveal_light"); +} + +//Function Number: 35 +det_blood_impact_burst01(param_00) +{ + wait(0.9); + common_scripts\_exploder::exploder("det_blood_impact_burst01"); +} + +//Function Number: 36 +det_blood_impact_burst02(param_00) +{ + wait(0.9); + common_scripts\_exploder::exploder("det_blood_impact_burst02"); +} + +//Function Number: 37 +det_blood_impact_burst03(param_00) +{ + wait(0.9); + common_scripts\_exploder::exploder("det_blood_impact_burst03"); +} + +//Function Number: 38 +det_water_crash_jeep_1() +{ + common_scripts\utility::flag_wait("flag_water_crash_1"); + wait(0.45); + common_scripts\_exploder::exploder(15001); + wait(0.4); + maps\_trigger::spawneffectonplayerview("det_screen_splash_distort_fast",(12,0,0),(0,0,0)); +} + +//Function Number: 39 +det_water_crash_jeep_2() +{ + common_scripts\utility::flag_wait("flag_water_crash_2"); + wait(0.3); + common_scripts\_exploder::exploder(15002); +} + +//Function Number: 40 +det_joker_bike_end_fx(param_00) +{ + playfxontag(common_scripts\utility::getfx("hoverbike_pads_fast"),param_00,"tag_pad_br"); + playfxontag(common_scripts\utility::getfx("hoverbike_pads_fast"),param_00,"tag_pad_fr"); + playfxontag(common_scripts\utility::getfx("hoverbike_pads_fast"),param_00,"tag_pad_fl"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("hoverbike_exhaust_fast"),param_00,"tag_exhaust"); + playfxontag(common_scripts\utility::getfx("det_fog_ground_hoverbike_clear"),param_00,"TAG_FX_WAKE"); +} + +//Function Number: 41 +det_bones_bike_end_fx(param_00) +{ + playfxontag(common_scripts\utility::getfx("hoverbike_pads_fast"),param_00,"tag_pad_br"); + playfxontag(common_scripts\utility::getfx("hoverbike_pads_fast"),param_00,"tag_pad_fr"); + playfxontag(common_scripts\utility::getfx("hoverbike_pads_fast"),param_00,"tag_pad_fl"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("hoverbike_exhaust_fast"),param_00,"tag_exhaust"); + playfxontag(common_scripts\utility::getfx("det_fog_ground_hoverbike_clear"),param_00,"TAG_FX_WAKE"); +} + +//Function Number: 42 +det_helicopter_shot(param_00) +{ + playfxontag(common_scripts\utility::getfx("det_heli_shot_rnr"),param_00,"TAG_BODY"); +} + +//Function Number: 43 +det_helicopter_explo(param_00) +{ + common_scripts\_exploder::exploder(16001); + stopfxontag(common_scripts\utility::getfx("det_heli_shot_rnr"),param_00,"TAG_BODY"); + wait(0.2); + playfxontag(common_scripts\utility::getfx("det_heli_explosion_rnr"),param_00,"TAG_ORIGIN"); + param_00 hidepart("main_rotor_jnt"); + param_00 hidepart("main_rotor2_jnt"); + wait(1.9); + common_scripts\_exploder::exploder(16002); + wait(0.7); + common_scripts\_exploder::exploder(16006); + wait(0.2); + common_scripts\_exploder::exploder(16007); + wait(0.4); + common_scripts\_exploder::exploder(16003); + soundscripts\_snd::snd_message("chopper_final_explo"); + earthquake(0.1,7,level.player.origin,1600); +} \ No newline at end of file diff --git a/AW/PC/maps/detroit_hospital.gsc b/AW/PC/maps/detroit_hospital.gsc new file mode 100644 index 0000000..682fb98 --- /dev/null +++ b/AW/PC/maps/detroit_hospital.gsc @@ -0,0 +1,2443 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: detroit_hospital.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 132 + * Decompile Time: 1964 ms + * Timestamp: 4/22/2024 2:27:57 AM +*******************************************************************/ + +//Function Number: 1 +hospital_main() +{ + thread final_approach(); + thread doctor_capture_inner_fight(); + thread hidden_kva(); + thread grenade_ambush(); + thread magic_grenades_thrown(); + thread hospital_desk_door_open(); + thread kva_last_heavy(); + if(level.nextgen) + { + thread setup_hospital_bodies(); + } + else + { + thread maps\detroit_transients_cg::cg_setup_hospital_bodies(); + } + + thread hospital_escape_door_function(); + thread doctor_capture_dialogue(); + thread kva_sentinel_atlas_reveal_moment(); + thread maps\detroit_streets::shoot_at_sentinel_agents(); + thread disable_enable_exit_flags(); + thread doctor_capture_door_breach_anim(); + thread doctor_capture_breach_door_prompt(); + if(level.currentgen) + { + thread transient_middle_remove_nightclub_interior_begin(); + thread cg_visibility_proxy_office_interior(); + } +} + +//Function Number: 2 +cg_visibility_proxy_office_interior() +{ + if(level.currentgen && issubstr(level.transient_zone,"middle")) + { + var_00 = getent("office_interior_model","targetname"); + var_00 hide(); + var_00 setcontents(0); + } + + if(level.currentgen && issubstr(level.transient_zone,"hospital")) + { + var_00 = getent("office_interior_model","targetname"); + var_00 show(); + } +} + +//Function Number: 3 +transient_middle_remove_nightclub_interior_begin() +{ + maps\_utility::trigger_wait_targetname("CG_LoadHospitalTrigger"); + level notify("tff_pre_middle_remove_nightclub"); + unloadtransient("detroit_nightclub_interior_tr"); + var_00 = getent("office_interior_model","targetname"); + var_00 show(); + thread transient_middle_add_hospital_interior_begin(); +} + +//Function Number: 4 +transient_middle_add_hospital_interior_begin() +{ + loadtransient("detroit_hospital_interior_tr"); + for(;;) + { + if(istransientloaded("detroit_hospital_interior_tr")) + { + var_00 = getent("office_interior_model","targetname"); + var_00 show(); + level notify("tff_post_middle_add_hospital"); + break; + } + + wait(0.05); + } +} + +//Function Number: 5 +grenade_ambush() +{ + maps\_utility::trigger_wait_targetname("grenade_trigger"); + wait(0.9); + var_00 = getentarray("kva_grenade","targetname"); + foreach(var_02 in var_00) + { + var_03 = var_02 maps\_utility::spawn_ai(1); + var_03.goalradius = 15; + var_03.ignoreall = 1; + var_03 maps\_utility::magic_bullet_shield(); + thread guy_toss_grenade(var_03); + } +} + +//Function Number: 6 +guy_toss_grenade(param_00) +{ + maps\_utility::trigger_wait_targetname("kva_grenade_throw_trigger"); + param_00 maps\_utility::stop_magic_bullet_shield(); + param_00 maps\_utility::throwgrenadeatplayerasap(); + param_00.ignoreall = 0; +} + +//Function Number: 7 +magic_grenades_thrown() +{ + maps\_utility::trigger_wait_targetname("kva_grenade_throw_trigger"); + thread grenade_1(); + thread grenade_2(); + thread grenade_3(); + common_scripts\utility::flag_set("flashbang"); + wait(2.25); + level.player shellshock("paris_scripted_flashbang",4); + common_scripts\utility::flag_set("player_is_shocked"); + thread maps\_shg_design_tools::white_out(0.12,0.4); + thread flash_mob1(); + thread flash_mob2(); + thread flash_mob3(); +} + +//Function Number: 8 +hospital_desk_door_open() +{ + var_00 = getent("kva_door_buster","targetname"); + var_01 = getent("hospital_door_clip_open","targetname"); + var_02 = getent("first_hospital_door_open","targetname"); + var_01 notsolid(); + var_03 = getent("hospital_door_clip_closed","targetname"); + var_04 = getent("first_hospital_door_closed","targetname"); + var_02 hide(); + common_scripts\utility::flag_wait("player_is_shocked"); + var_04 delete(); + var_03 connectpaths(); + var_03 delete(); + var_02 show(); + var_01 solid(); + wait(0.05); + var_05 = var_00 maps\_utility::spawn_ai(1); + var_05.goalradius = 15; + var_05 maps\_utility::disable_surprise(); + var_05 maps\_utility::disable_careful(); + var_06 = getnode("kva_door_buster_goal","targetname"); + var_05 setgoalnode(var_06); +} + +//Function Number: 9 +grenade_1() +{ + var_00 = getent("magic_grenade_start","targetname"); + var_01 = getent("magic_grenade_target","targetname"); + var_02 = magicgrenade("flash_grenade_var",var_00.origin,var_01.origin,2.25,1); + soundscripts\_snd::snd_message("hospital_flashbang1",2.25,var_01.origin); +} + +//Function Number: 10 +grenade_2() +{ + var_00 = getent("magic_grenade_start2","targetname"); + var_01 = getent("magic_grenade_target2","targetname"); + var_02 = magicgrenade("flash_grenade_var",var_00.origin,var_01.origin,2.25,1); + soundscripts\_snd::snd_message("hospital_flashbang2",2.25,var_01.origin); +} + +//Function Number: 11 +grenade_3() +{ + var_00 = getent("magic_grenade_start3","targetname"); + var_01 = getent("magic_grenade_target3","targetname"); + var_02 = magicgrenade("flash_grenade_var",var_00.origin,var_01.origin,2.25,1); + soundscripts\_snd::snd_message("hospital_flashbang3",2.25,var_01.origin); +} + +//Function Number: 12 +flash_mob1() +{ + var_00 = getent("flash_mob_1","targetname"); + var_01 = var_00 maps\_utility::spawn_ai(1); + var_01.animname = "generic"; + var_01.ignoreall = 1; + var_01.allowdeath = 1; + var_02 = getent("hospital_mantle_1","targetname"); + var_02 maps\_anim::anim_single_solo(var_01,"hospital_mantle"); + var_01.ignoreall = 0; + var_03 = getnode("kva_jumper_1_goal","targetname"); + var_01 setgoalnode(var_03); +} + +//Function Number: 13 +flash_mob2() +{ + var_00 = getent("flash_mob_2","targetname"); + var_01 = var_00 maps\_utility::spawn_ai(1); + var_01.animname = "generic"; + var_01.ignoreall = 1; + var_01.allowdeath = 1; + var_02 = getent("hospital_mantle_2","targetname"); + var_02 maps\_anim::anim_single_solo(var_01,"hospital_mantle_2"); + var_01.ignoreall = 0; + var_03 = getnode("kva_jumper_2_goal","targetname"); + var_01 setgoalnode(var_03); +} + +//Function Number: 14 +flash_mob3() +{ + var_00 = getent("flash_mob_3","targetname"); + var_01 = var_00 maps\_utility::spawn_ai(); + if(isdefined(var_01)) + { + var_02 = getent("hospital_fight_goal1","targetname"); + var_01 setgoalvolumeauto(var_02); + } +} + +//Function Number: 15 +setup_hospital() +{ + thread team_move_hospital(); + thread hospital_kva_cleanup(); + thread make_gate_close_down(); + level.burke maps\_utility::enable_careful(); + level.joker maps\_utility::enable_careful(); + level.bones maps\_utility::enable_careful(); + var_00 = getent("dr_first_anim_org","targetname"); + maps\_utility::trigger_wait_targetname("kva_grenade_throw_trigger"); + var_00 notify("finish"); + thread kva_ar(); + var_01 = getent("kva_hospital_heavy_special","targetname"); + var_02 = var_01 maps\_utility::spawn_ai(1); + var_02.combatmode = "no_cover"; + var_03 = getent("hospital_fight_goal1","targetname"); + var_02 setgoalvolumeauto(var_03); + common_scripts\utility::flag_set("obj_capture_doctor_pos_doctor"); + common_scripts\utility::flag_set("doctor_inside_office_now"); +} + +//Function Number: 16 +make_gate_close_down() +{ + var_00 = getent("gate_close_clip","targetname"); + var_00 notsolid(); + var_00 connectpaths(); + maps\_utility::trigger_wait_targetname("doctor_chase_gate_close_trig"); + var_00 solid(); + var_00 disconnectpaths(); + var_01 = getent("hospital_gate_animated","targetname"); + var_02 = getent("gate_close_origin","targetname"); + var_01 soundscripts\_snd::snd_message("det_hospital_gate_close"); + var_01 moveto(var_02.origin,1,0.9,0.1); + var_03 = getent("gate_lock_kva","targetname"); + var_04 = var_03 maps\_utility::spawn_ai(0,0); + var_04 waittill("goal"); + var_04 maps\_utility::player_seek_enable(); +} + +//Function Number: 17 +hospital_kva_cleanup() +{ + var_00 = getent("kickdown","targetname"); + var_00 waittill("trigger"); + var_01 = 0; + var_02 = getentarray("killable","script_noteworthy"); + foreach(var_04 in var_02) + { + if(isalive(var_04)) + { + var_04 thread maps\detroit_streets::random_bloody_death(1.25); + var_01++; + } + } +} + +//Function Number: 18 +hidden_kva() +{ + maps\_utility::trigger_wait_targetname("kva_grenade_throw_trigger"); + var_00 = getent("special_KVA_cover_spawner","targetname"); + var_01 = var_00 maps\_utility::spawn_ai(); + var_01.ignoreall = 1; + var_01.goalradius = 15; + var_01 endon("death"); + maps\_utility::trigger_wait_targetname("trigger_hidden_kva"); + if(isalive(var_01)) + { + var_01.ignoreall = 0; + } +} + +//Function Number: 19 +check_if_hurt(param_00) +{ + while(param_00.ignoreall == 1) + { + if(param_00.health < 100) + { + param_00.ignoreall = 0; + return; + } + + wait(0.05); + } +} + +//Function Number: 20 +retreating_kva() +{ + self endon("death"); + maps\_utility::trigger_wait_targetname("team_move_hospital"); + var_00 = getentarray("hospital_retreat_troops","targetname"); + foreach(var_02 in var_00) + { + var_03 = var_02 maps\_utility::spawn_ai(1); + var_03 maps\_utility::enable_careful(); + var_03 maps\_utility::set_moveplaybackrate(0.8); + thread retreat_function(var_03); + } + + var_05 = getent("hospital_retreat_shooter","targetname"); + var_06 = var_05 maps\_utility::spawn_ai(1); + var_06.ignoreall = 1; + var_06.animname = "generic"; + var_06 disable_awareness(); + var_07 = getent("test_anim_spot","targetname"); + common_scripts\utility::flag_wait("send_hospital_runner"); + if(isalive(var_06)) + { + var_06 maps\_utility::set_allowdeath(1); + var_07 maps\_anim::anim_reach_solo(var_06,"run_and_shoot_behind"); + if(isalive(var_06)) + { + var_07 thread maps\_anim::anim_single_solo(var_06,"run_and_shoot_behind"); + } + + var_06 enable_awareness(); + var_08 = getent("hospital_fight_goal1","targetname"); + var_06 setgoalvolumeauto(var_08); + } + + if(isalive(var_06)) + { + var_06 waittill("goal"); + var_06 maps\detroit::bloody_death(0.25); + } +} + +//Function Number: 21 +retreat_function(param_00) +{ + common_scripts\utility::flag_wait("go_go_go"); + wait(randomintrange(4,8)); + if(isdefined(param_00)) + { + var_01 = getent("hospital_fight_goal1","targetname"); + param_00 setgoalvolumeauto(var_01); + } +} + +//Function Number: 22 +team_move_hospital() +{ + common_scripts\utility::flag_wait("exo_push_arrived"); + level.burke stopanimscripted(); + level.burke unlink(); + wait(0.25); + thread burke_advance_hospital(); + wait(0.25); + thread joker_advance_hospital(); + wait(0.5); + thread bones_advance_hospital(); + level.bones maps\_utility::set_force_color("y"); + level.joker maps\_utility::set_force_color("o"); +} + +//Function Number: 23 +hospital_escape_door_function() +{ + var_00 = getent("hospital_escape_door_open","targetname"); + var_01 = getent("hospital_escape_door_open_clip","targetname"); + var_02 = getent("hospital_escape_door_closed","targetname"); + var_03 = getent("hospital_escape_door_closed_clip","targetname"); + var_01 notsolid(); + var_00 hide(); + common_scripts\utility::flag_wait("player_captured_doctor"); + var_00 show(); + var_01 solid(); + var_03 connectpaths(); + var_02 delete(); + var_03 delete(); +} + +//Function Number: 24 +burke_advance_hospital() +{ + var_00 = getnode("burke_holdup_before_going_upstairs_node","targetname"); + var_01 = getnode("burke_hospital_hide","targetname"); + level.burke.ignoreall = 0; + level.burke.goalradius = 15; + wait(0.9); + thread doctor_capture_new_breach_doctor_takedown(); + common_scripts\utility::flag_set("go_go_go"); + level.burke setgoalnode(var_00); + common_scripts\utility::flag_wait("send_all_teammates_upstairs"); + wait(0.5); + level.burke setgoalnode(var_01); +} + +//Function Number: 25 +kva_sentinel_atlas_reveal_moment() +{ + var_00 = getent("kva_sentinel_squad_reveal_animnode","targetname"); + thread player_sentinel_kva_reveal(); + thread bouncing_betty_animated(); + thread maps\detroit_lighting::sentinel_reveal_lighting(); + thread pay_machine(); + maps\_utility::trigger_wait_targetname("sentinel_reveal_moment_trigger"); + maps\_utility::delaythread(6.69,::common_scripts\utility::flag_set,"show_sentinel_guys_now"); + level notify("stop_180_burke_now"); + thread player_jumped_out_vol(); + thread maps\detroit_streets::sneaky_reload(); + common_scripts\utility::flag_set("reveal_the_sentinels"); + common_scripts\utility::flag_set("joker_wait_before_reveal"); + thread sentinel_kva_fov_function(); + var_00 thread burke_sentinel_kva_reveal(); + var_00 thread guy1_sentinel_kva_reveal(); + var_00 thread guy2_sentinel_kva_reveal(); + if(level.nextgen) + { + var_00 thread guy3_sentinel_kva_reveal(); + var_00 thread kva2_sentinel_kva_reveal(); + } + + var_00 thread kva1_sentinel_kva_reveal(); + var_00 thread kva3_sentinel_kva_reveal(); + var_00 thread joker_sentinel_kva_reveal(); + thread doctor_kva_reveal(); + thread kva_ambush_last_group_reveal(); + wait(28); + common_scripts\utility::flag_set("begin_kva_assault_on_sentinel"); + wait(10.65); +} + +//Function Number: 26 +player_jumped_out_vol() +{ + level.player endon("death"); + var_00 = getent("player_jumped_out_sentinel","targetname"); + for(;;) + { + if(level.player istouching(var_00)) + { + common_scripts\utility::flag_set("exit_drive_cinematic_start"); + return; + } + + wait(0.05); + } +} + +//Function Number: 27 +pay_machine() +{ + if(level.currentgen) + { + if(!istransientloaded("detroit_hospital_interior_tr")) + { + for(;;) + { + wait(0.25); + if(istransientloaded("detroit_hospital_interior_tr")) + { + break; + } + } + } + } + + var_00 = maps\_utility::spawn_anim_model("pay_machine"); + var_01 = getent("kva_sentinel_squad_reveal_animnode","targetname"); + var_01 maps\_anim::anim_first_frame_solo(var_00,"sentinel_kva_reveal"); + common_scripts\utility::flag_wait("knock_over_paymachine"); + var_01 maps\_anim::anim_single_solo(var_00,"sentinel_kva_reveal"); +} + +//Function Number: 28 +bouncing_betty_animated() +{ + var_00 = getent("animated_destroy_box","targetname"); + var_01 = getent("animated_bouncing_betty","targetname"); + var_02 = getent("new_grenade_org","targetname"); + maps\_utility::trigger_wait_targetname("sentinel_reveal_moment_trigger"); + level notify("no_more_random_trains"); + setdemigodmode(level.player,1); + soundscripts\_snd::snd_message("reveal_scene_start"); + var_01 moveto(var_01.origin + (0,0,50),0.6,0.3,0.2); + wait(0.6); + level.player shellshock("paris_scripted_flashbang",4); + var_03 = level.player maps\_utility::get_rumble_ent("steady_rumble"); + var_03 maps\_utility::set_rumble_intensity(0.5); + var_03 maps\_utility::delaythread(0.8,::maps\_utility::set_rumble_intensity,0.01); + thread maps\detroit_fx::cg_sentinel_fx_light(); + soundscripts\_snd::snd_message("reveal_explosion"); + wait(0.3); + common_scripts\utility::flag_set("knock_over_paymachine"); + var_01 delete(); + var_00 delete(); + wait(2); + setdemigodmode(level.player,0); +} + +//Function Number: 29 +sentinel_kva_fov_function() +{ + level.player lerpfov(55,2); + common_scripts\utility::flag_wait("sentinel_kva_fov_lerp_out"); + level.player lerpfov(65,1); +} + +//Function Number: 30 +joker_sentinel_kva_reveal() +{ + level.doctor.ignoreme = 1; + level.joker hide(); + var_00 = getnode("joker_with_doctor_waitnode","targetname"); + var_01 = getnode("joker_with_doctor_goal_node","targetname"); + level.joker maps\_utility::teleport_ai(var_00); + level.joker setgoalnode(var_00); + level.joker maps\_utility::delaythread(0.25,::show_me_now); + var_02 = getent("joker_pickup_doctor_reveal_org","targetname"); + level.joker maps\_utility::gun_recall(); + thread maps\_anim::anim_single_solo(level.joker,"sentinel_kva_reveal"); + common_scripts\utility::flag_wait("send_joker_and_doctor_to_bikes"); + var_02 thread maps\_anim::anim_first_frame_solo(level.doctor,"carry_doc_lift"); + var_03 = getnode("joker_with_doctor_waitnode_beforehall","targetname"); + thread doctor_capture_doctor_carry(var_02,"player_on_exitdrive_jetbike",var_03); + wait(5); + common_scripts\utility::flag_set("sentinel_reveal_animation_complete"); + common_scripts\utility::flag_wait("exit_drive_cinematic_start"); + var_04 = getnode("joker_wait_withdoc_after_reveal","targetname"); + level.joker setgoalnode(var_04); +} + +//Function Number: 31 +doctor_kva_reveal() +{ + var_00 = getent("joker_pickup_doctor_reveal_org","targetname"); + var_00 maps\_anim::anim_first_frame_solo(level.doctor,"carry_doc_lift"); +} + +//Function Number: 32 +show_me_now() +{ + self show(); +} + +//Function Number: 33 +burke_pre_sentinel_kva_reveal() +{ + level.burke thread final_flag_wait(); + var_00 = getnode("burke_first_wait_after_capture_node","targetname"); + level.burke setgoalnode(var_00); + common_scripts\utility::flag_wait("send_burke_to_stairs_waitpoint"); + var_01 = getnode("burke_wait_by_railwaydoor_node","targetname"); + level.burke setgoalnode(var_01); + common_scripts\utility::flag_wait("send_burke_to_railway_half"); + var_02 = getnode("burke_half_railway_wait","targetname"); + level.burke setgoalnode(var_02); + common_scripts\utility::flag_wait("send_burke_fully_across"); + var_03 = getnode("burke_post_before_sentinel_room","targetname"); + level.burke setgoalnode(var_03); + level.burke.radius = 15; + maps\detroit_school::is_1_near_2(level.burke,var_03,60); + common_scripts\utility::flag_wait("make_burke_anim_reach_sentinel"); + common_scripts\utility::flag_wait("let_burke_reach_sentinel_reveal"); + var_04 = getent("burke_180_animorg","targetname"); + thread burke_180_function(); + common_scripts\utility::flag_wait("joker_wait_before_doorway"); + var_04 notify("ender"); + level.burke stopanimscripted(); + var_05 = getent("kva_sentinel_squad_reveal_animnode","targetname"); + var_06 = getnode("burke_wait_after_sentinel_moment","targetname"); + level.burke setgoalnode(var_06); +} + +//Function Number: 34 +burke_180_function() +{ + level.burke.animname = "burke"; + var_00 = getent("burke_180_animorg","targetname"); + var_01 = getnode("burke_wait_before_180","targetname"); + level.burke setgoalnode(var_01); + maps\detroit_school::is_1_near_2(level.burke,var_01,100); + var_02 = getnode("burke_wait_before_bomb","targetname"); + level.burke setgoalnode(var_02); +} + +//Function Number: 35 +final_flag_wait() +{ + var_00 = getnode("burke_post_before_sentinel_room","targetname"); + for(;;) + { + if(distance2d(level.burke.origin,var_00.origin) < 50) + { + common_scripts\utility::flag_set("let_burke_reach_sentinel_reveal"); + return; + } + + wait(0.05); + } +} + +//Function Number: 36 +burke_sentinel_kva_reveal() +{ + level.burke stopanimscripted(); + var_00 = getent("kva_sentinel_squad_reveal_animnode","targetname"); + var_00 thread maps\_anim::anim_single_solo(level.burke,"sentinel_kva_reveal"); + level.burke.ignoreall = 1; + level.burke.goalradius = 15; + var_01 = getnode("burke_wait_after_sentinel_moment","targetname"); + level.burke setgoalnode(var_01); +} + +//Function Number: 37 +kva_show_timer() +{ + self hide(); + wait(3.27); + self show(); +} + +//Function Number: 38 +kill_me(param_00) +{ + self endon("death"); + var_01 = self geteye(); + wait(param_00); + if(isalive(self)) + { + magicbullet("iw5_bal27_sp",level.sentinel_guy1 gettagorigin("tag_flash"),var_01); + magicbullet("iw5_bal27_sp",level.sentinel_guy1 gettagorigin("tag_flash"),var_01); + } + + wait(0.1); + if(isalive(self)) + { + magicbullet("iw5_bal27_sp",level.sentinel_guy1 gettagorigin("tag_flash"),var_01); + magicbullet("iw5_bal27_sp",level.sentinel_guy1 gettagorigin("tag_flash"),var_01); + } + + wait(0.1); + if(isalive(self)) + { + magicbullet("iw5_bal27_sp",level.sentinel_guy1 gettagorigin("tag_flash"),var_01); + magicbullet("iw5_bal27_sp",level.sentinel_guy1 gettagorigin("tag_flash"),var_01); + } + + wait(0.1); + if(isalive(self)) + { + magicbullet("iw5_bal27_sp",level.sentinel_guy1 gettagorigin("tag_flash"),var_01); + magicbullet("iw5_bal27_sp",level.sentinel_guy1 gettagorigin("tag_flash"),var_01); + } + + wait(0.1); + if(isalive(self)) + { + magicbullet("iw5_bal27_sp",level.sentinel_guy1 gettagorigin("tag_flash"),var_01); + magicbullet("iw5_bal27_sp",level.sentinel_guy1 gettagorigin("tag_flash"),var_01); + } +} + +//Function Number: 39 +kva1_sentinel_kva_reveal() +{ + var_00 = getent("kva_reveal_spawner1","targetname"); + var_00.count = 1; + var_01 = var_00 maps\_utility::spawn_ai(1); + var_01.animname = "kva1"; + var_01 thread kva_show_timer(); + thread maps\_anim::anim_single_solo(var_01,"sentinel_kva_reveal"); + var_01 setcontents(0); + thread maps\detroit_lighting::sentinel_reveal_lighting_origins(var_01); + wait(10); + var_02 = [var_01]; + maps\_anim::anim_set_rate(var_02,"sentinel_kva_reveal",0); + var_01.ignoreme = 1; + var_01.ignoresonicaoe = 1; + var_01 maps\_utility::pretend_to_be_dead(); +} + +//Function Number: 40 +kva2_sentinel_kva_reveal() +{ + var_00 = getent("kva_reveal_spawner2","targetname"); + var_00.count = 1; + var_01 = var_00 maps\_utility::spawn_ai(1); + var_01.animname = "kva2"; + var_01 thread kva_show_timer(); + thread maps\_anim::anim_single_solo(var_01,"sentinel_kva_reveal"); + var_01 setcontents(0); + thread maps\detroit_lighting::sentinel_reveal_lighting_origins(var_01); + wait(10); + var_02 = [var_01]; + maps\_anim::anim_set_rate(var_02,"sentinel_kva_reveal",0); + var_01.ignoreme = 1; + var_01.ignoresonicaoe = 1; + var_01 maps\_utility::pretend_to_be_dead(); +} + +//Function Number: 41 +kva3_sentinel_kva_reveal() +{ + var_00 = getent("kva_reveal_spawner3","targetname"); + var_00.count = 1; + var_01 = var_00 maps\_utility::spawn_ai(1); + var_01.animname = "kva3"; + var_01 thread kva_show_timer(); + thread maps\_anim::anim_single_solo(var_01,"sentinel_kva_reveal"); + var_01 setcontents(0); + thread maps\detroit_lighting::sentinel_reveal_lighting_origins(var_01); + wait(10); + var_02 = [var_01]; + maps\_anim::anim_set_rate(var_02,"sentinel_kva_reveal",0); + var_01.ignoreme = 1; + var_01.ignoresonicaoe = 1; + var_01 maps\_utility::pretend_to_be_dead(); +} + +//Function Number: 42 +player_sentinel_kva_reveal() +{ + var_00 = getent("kva_sentinel_squad_reveal_animnode","targetname"); + var_01 = maps\_utility::spawn_anim_model("world_body"); + var_00 maps\_anim::anim_first_frame_solo(var_01,"sentinel_kva_reveal"); + var_01 hide(); + maps\_utility::trigger_wait_targetname("sentinel_reveal_moment_trigger"); + thread maps\detroit_school::gideon_keep_up_fail_trigger("player_escaping_animation_sentreveal_beforestairs"); + maps\_utility::battlechatter_off("allies"); + maps\_utility::battlechatter_off("axis"); + common_scripts\utility::flag_set("burke_180_loop_end"); + thread maps\detroit::battle_chatter_off_both(); + thread maps\detroit::hud_off(); + common_scripts\utility::flag_set("obj_escape_detroit_pos_sentinel_reveal"); + level.player maps\_shg_utility::setup_player_for_scene(); + level.player thread maps\_player_exo::player_exo_deactivate(); + var_02 = 0.01; + level.player playerlinktoblend(var_01,"tag_player",var_02); + level.player common_scripts\utility::delaycall(var_02,::playerlinktodelta,var_01,"tag_player",1,0,0,0,0,1); + var_01 common_scripts\utility::delaycall(var_02,::show); + var_01 thread view_clamping_unlock(); + if(level.currentgen) + { + var_00.origin = var_00.origin + (0,0,1.5); + } + + var_00 thread maps\_anim::anim_single_solo(var_01,"sentinel_kva_reveal"); + wait(37); + var_03 = level.player common_scripts\utility::spawn_tag_origin(); + var_03.origin = var_03.origin + (0,0,0.268); + level.player maps\_utility::teleport_player(var_03); + level.player unlink(); + var_01 delete(); + common_scripts\utility::flag_set("obj_escape_detroit_pos_exit_stairs"); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.player thread maps\_player_exo::player_exo_activate(); + thread maps\detroit::hud_on(); + common_scripts\utility::flag_set("send_joker_and_doctor_to_bikes"); +} + +//Function Number: 43 +wait_for_trigger_set_flag() +{ + maps\_utility::trigger_wait_targetname("joker_pick_up_doctor"); + common_scripts\utility::flag_set("joker_pickup_doctor_is_ok_now"); +} + +//Function Number: 44 +view_clamping_unlock() +{ + wait(8); + level.player playerlinktodelta(self,"tag_player",1,20,20,20,20,1); +} + +//Function Number: 45 +decloak_wait_1() +{ + common_scripts\utility::flag_wait("sentinel_reveal_guy1_decloak"); + wait(1.9); + thread cloak_off(); + thread set_helmet_open(3,2.45); + soundscripts\_snd::snd_message("sent_guy_1_decloak"); + maps\_utility::gun_remove(); + maps\_utility::forceuseweapon("iw5_bal27_sp","primary"); + wait(5.2); + common_scripts\utility::flag_wait("sentinel_recloak"); + wait(2.9); + thread set_helmet_closed(1.25,1.1); + wait(1.5); + wait(1.5); + cloak_on(); +} + +//Function Number: 46 +decloak_wait_2() +{ + common_scripts\utility::flag_wait("sentinel_reveal_guy2_decloak"); + thread cloak_off(); + soundscripts\_snd::snd_message("sent_guy_2_decloak"); + common_scripts\utility::flag_wait("sentinel_recloak"); + wait(1.2); + cloak_on(); +} + +//Function Number: 47 +decloak_wait_3() +{ + common_scripts\utility::flag_wait("sentinel_reveal_guy3_decloak"); + thread cloak_off(); + soundscripts\_snd::snd_message("sent_guy_3_decloak"); + common_scripts\utility::flag_wait("sentinel_recloak"); + wait(1.7); + cloak_on(); +} + +//Function Number: 48 +unhide_me_on_flag(param_00) +{ + common_scripts\utility::flag_wait(param_00); + wait(randomfloatrange(0.2,0.6)); + self show(); +} + +//Function Number: 49 +guy1_sentinel_kva_reveal() +{ + var_00 = getnode("sentinel_cover_4","targetname"); + var_01 = getent("sentinel_revealed_spawner3","targetname"); + var_01.count = 1; + level.sentinel_guy1 = var_01 maps\_utility::spawn_ai(1); + level.sentinel_guy1 thread unhide_me_on_flag("show_sentinel_guys_now"); + level.sentinel_guy1 maps\_utility::forceuseweapon("iw5_bal27_sp","primary"); + level.sentinel_guy1 thread decloak_wait_1(); + level.sentinel_guy1 overridematerial("mtl_burke_sentinel_covert_headgear_a","mc/mtl_burke_sentinel_covert_headgear_a_cloak"); + level.sentinel_guy1 assign_cloak_model("sentinel_covert_body_a"); + level.sentinel_guy1 cloak_on(); + level.sentinel_guy1 maps\_utility::magic_bullet_shield(); + level.sentinel_guy1.ignoreall = 1; + level.sentinel_guy1.ignoreme = 1; + level.sentinel_guy1.animname = "guy1"; + maps\_anim::anim_single_solo(level.sentinel_guy1,"sentinel_kva_reveal"); + thread maps\_anim::anim_loop_solo(level.sentinel_guy1,"sentinel_kva_reveal_idle"); + level waittill("cleanup_sentinel_guys"); + level.sentinel_guy1 maps\_utility::stop_magic_bullet_shield(); + level.sentinel_guy1 delete(); +} + +//Function Number: 50 +guy2_sentinel_kva_reveal() +{ + var_00 = getnode("sentinel_cover_1","targetname"); + var_01 = getent("sentinel_revealed_spawner2","targetname"); + var_01.count = 1; + var_02 = var_01 maps\_utility::spawn_ai(1); + var_02 thread unhide_me_on_flag("show_sentinel_guys_now"); + var_02 maps\_utility::forceuseweapon("iw5_bal27_sp","primary"); + var_02 thread decloak_wait_2(); + var_02 overridematerial("mtl_burke_sentinel_covert_headgear_a","mc/mtl_burke_sentinel_covert_headgear_a_cloak"); + var_02 assign_cloak_model("body_hero_burke_sentinel_covert_cloak"); + var_02 cloak_on(); + var_02 maps\_utility::magic_bullet_shield(); + var_02.ignoreall = 1; + var_02.ignoreme = 1; + var_02.animname = "guy2"; + maps\_anim::anim_single_solo(var_02,"sentinel_kva_reveal"); + thread maps\_anim::anim_loop_solo(var_02,"sentinel_kva_reveal_idle"); + level waittill("cleanup_sentinel_guys"); + var_02 maps\_utility::stop_magic_bullet_shield(); + var_02 delete(); +} + +//Function Number: 51 +guy3_sentinel_kva_reveal() +{ + var_00 = getnode("sentinel_cover_3","targetname"); + var_01 = getent("sentinel_revealed_spawner1","targetname"); + var_01.count = 1; + var_02 = var_01 maps\_utility::spawn_ai(1); + var_02 thread unhide_me_on_flag("show_sentinel_guys_now"); + var_02 maps\_utility::forceuseweapon("iw5_bal27_sp","primary"); + var_02 thread decloak_wait_3(); + var_02 overridematerial("mtl_burke_sentinel_covert_headgear_a","mc/mtl_burke_sentinel_covert_headgear_a_cloak"); + var_02 assign_cloak_model("body_hero_burke_sentinel_covert_cloak"); + var_02 cloak_on(); + var_02 maps\_utility::magic_bullet_shield(); + var_02.ignoreall = 1; + var_02.ignoreme = 1; + var_02.animname = "guy3"; + maps\_anim::anim_single_solo(var_02,"sentinel_kva_reveal"); + thread maps\_anim::anim_loop_solo(var_02,"sentinel_kva_reveal_idle"); + maps\_utility::battlechatter_on("axis"); + level waittill("cleanup_sentinel_guys"); + var_02 maps\_utility::stop_magic_bullet_shield(); + var_02 delete(); +} + +//Function Number: 52 +reverse_cloak() +{ + common_scripts\utility::flag_wait("decloak"); +} + +//Function Number: 53 +temporary_sentinel_reveal_timing() +{ + wait(8.87); + common_scripts\utility::flag_set("vo_sentinel_reveal"); +} + +//Function Number: 54 +kva_ambush_last_group_reveal() +{ + var_00 = getentarray("sentinel_fight_kva_spawner","targetname"); + common_scripts\utility::flag_wait("begin_kva_assault_on_sentinel"); + foreach(var_02 in var_00) + { + var_03 = var_02 maps\_utility::spawn_ai(1); + var_03.accuracy = 0; + var_03.goalradius = 15; + var_03 thread maps\_utility::set_grenadeammo(0); + var_03 thread kill_me_on_sentrev_cleanup(); + } + + maps\_utility::trigger_wait_targetname("bikes_reached"); + if(level.currentgen) + { + level.burke_bike show(); + level.joker_bike show(); + level.bones_bike show(); + if(isdefined(level.player_bike)) + { + level.player_bike show(); + } + } + + var_05 = getent("player_backtracking_sentinel_warning_vol","targetname"); + common_scripts\utility::flag_set("vo_exit_drive_bikes_reached"); + level notify("cleanup_sentinel_guys"); + var_06 = getent("player_trying_to_exit_garage_warning","targetname"); + thread maps\detroit_school::player_exiting(); + thread mission_fail_warning(var_06); +} + +//Function Number: 55 +mission_fail_warning(param_00,param_01) +{ + if(!isdefined(param_01)) + { + level endon("ok_to_stop_sentinel_reveal_warnings"); + } + + level.player endon("death"); + for(;;) + { + if(level.player istouching(param_00)) + { + maps\_utility::hint(&"DETROIT_LEAVING_MISSION",3); + wait(8); + } + + wait(0.05); + } +} + +//Function Number: 56 +kill_me_on_sentrev_cleanup() +{ + level waittill("cleanup_sentinel_guys"); + wait(randomfloatrange(0.25,0.8)); + if(isdefined(self)) + { + self kill(); + } +} + +//Function Number: 57 +cloak_again() +{ + wait(21); + wait(randomfloatrange(3,8)); + if(isdefined(self)) + { + cloak_on(); + } +} + +//Function Number: 58 +run_train_with_shaking(param_00,param_01,param_02,param_03) +{ + var_04 = 650; + var_05 = 3; + if(!isdefined(param_03)) + { + var_06 = "vehicle_civ_det_train_car_01"; + param_03 = spawn("script_model",param_00.origin); + param_03 setmodel(var_06); + param_03 thread maps\detroit_exit_drive::run_train_shaker(var_04,var_05); + } + + var_07 = common_scripts\utility::spawn_tag_origin(); + var_07 linkto(param_03,"",(300,0,80),(25,0,0)); + var_08 = common_scripts\utility::spawn_tag_origin(); + var_08 linkto(param_03,"",(300,0,80),(0,0,0)); + var_09 = common_scripts\utility::spawn_tag_origin(); + var_09 linkto(param_03,"",(200,0,15),(0,90,0)); + thread maps\detroit_lighting::train_lighting(var_07,var_08,var_09); + if(!isdefined(param_03.tags)) + { + param_03.tags = []; + } + + param_03.tags[param_03.tags.size] = var_07; + param_03.tags[param_03.tags.size] = var_08; + param_03.tags[param_03.tags.size] = var_09; + param_03.origin = param_00.origin; + param_03.angles = param_00.angles; + param_01 = sortbydistance(param_01,param_00.origin); + param_03 thread maps\detroit_streets::train_gopath(param_01,param_02); + return param_03; +} + +//Function Number: 59 +delay_linkto_anim() +{ + level.player common_scripts\utility::delaycall(10.94,::playerlinktodelta,self,"tag_player",15,15,15,15,0,1); +} + +//Function Number: 60 +mission_fail_on_dead() +{ + self endon("death"); + for(;;) + { + self waittill("damage"); + if(isdefined(self.lastattacker) && self.lastattacker == level.player) + { + maps\_player_death::set_deadquote(&"DETROIT_DOCTOR_DEAD"); + maps\_utility::missionfailedwrapper(); + common_scripts\utility::flag_set("doctor_can_be_killed_now"); + } + + wait(0.05); + } +} + +//Function Number: 61 +passoja_death_wait_function() +{ + self endon("death"); + level endon("doctor_cant_die_anymore"); + common_scripts\utility::flag_wait("doctor_can_be_killed_now"); + if(isalive(self)) + { + maps\_utility::stop_magic_bullet_shield(); + self stopanimscripted(); + doimmediateragdolldeath(); + } +} + +//Function Number: 62 +doimmediateragdolldeath() +{ + animscripts\shared::dropallaiweapons(); + self.skipdeathanim = 1; + var_00 = 10; + var_01 = common_scripts\_destructible::getdamagetype(self.damagemod); + if(isdefined(self.attacker) && self.attacker == level.player && var_01 == "melee") + { + var_00 = 5; + } + + var_02 = self.damagetaken; + if(var_01 == "bullet") + { + var_02 = max(var_02,300); + } + + var_03 = var_00 * var_02; + var_04 = max(0.3,self.damagedir[2]); + var_05 = (self.damagedir[0],self.damagedir[1],var_04); + if(isdefined(self.ragdoll_directionscale)) + { + var_05 = var_05 * self.ragdoll_directionscale; + } + else + { + var_05 = var_05 * var_03; + } + + if(self.forceragdollimmediate) + { + var_05 = var_05 + self.prevanimdelta * 20 * 10; + } + + if(isdefined(self.ragdoll_start_vel)) + { + var_05 = var_05 + self.ragdoll_start_vel * 10; + } + + self startragdollfromimpact(self.damagelocation,var_05); + wait(0.05); +} + +//Function Number: 63 +doctor_capture_dialogue() +{ + level waittill("can_takedown_doctor"); + common_scripts\utility::flag_set("vo_hospital_capture"); +} + +//Function Number: 64 +doctor_capture_check_takedown() +{ + level endon("can_takedown_doctor"); + for(;;) + { + if(level.guys_to_wait == 3) + { + wait(2); + level notify("can_takedown_doctor"); + common_scripts\utility::flag_set("show_grab_doctor_prompt"); + } + + wait(0.1); + } +} + +//Function Number: 65 +doctor_capture_breach_door_prompt() +{ + var_00 = getent("kickdown","targetname") maps\_shg_utility::hint_button_trigger("use",200); + maps\_utility::trigger_wait_targetname("kickdown"); + var_00 maps\_shg_utility::hint_button_clear(); +} + +//Function Number: 66 +doctor_capture_new_breach_doctor_takedown() +{ + thread doctor_capture_stop_spawning_school_trains(); + var_00 = getent("breach_clip","targetname"); + var_01 = getent("hospital_outside_clip","targetname"); + var_02 = getent("dr_capture_pcap_animnode","targetname"); + var_03 = getent("dr_carry_animnode","targetname"); + var_04 = getent("dr_pickup_placed_org","targetname"); + var_05 = getnode("burke_first_wait_after_capture_node","targetname"); + var_06 = getent("kickdown","targetname"); + var_06 usetriggerrequirelookat(); + var_06 sethintstring(&"DETROIT_PROMPT_BREACH"); + var_06 waittill("trigger"); + thread breach_backtrack_fail(); + objective_position(maps\_utility::obj("Capture the doctor"),(0,0,0)); + maps\_player_exo::player_exo_deactivate(); + common_scripts\utility::flag_set("doctor_inside_office_now"); + level notify("player breached and survived"); + thread maps\detroit::battle_chatter_off_both(); + var_06 delete(); + maps\detroit::spawn_doctor(); + level.doctor thread mission_fail_on_dead(); + level.doctor thread passoja_death_wait_function(); + thread doctor_capture_player_breach(); + var_07 = getent("breach_kva_guard1","targetname"); + var_08 = getent("breach_kva_guard2","targetname"); + var_09 = getent("breach_kva_guard3","targetname"); + var_0A = []; + var_0A[var_0A.size] = var_07 maps\_utility::spawn_ai(1); + var_0A[var_0A.size] = var_08 maps\_utility::spawn_ai(1); + var_0A[var_0A.size] = var_09 maps\_utility::spawn_ai(1); + level.guys_to_wait = 0; + thread doctor_capture_check_takedown(); + var_0A[0] thread doctor_capture_firstguy_breach(); + var_0A[1] thread doctor_capture_thirdguy_breach(); + var_0A[1] thread doctor_capture_thirdguy_notify_when_dead(); + var_0A[2] thread doctor_capture_forthguy_breach(); + thread doctor_capture_doctor_breach(); + thread doctor_capture_bookshelf1(); + thread doctor_capture_bookshelf2(); + soundscripts\_snd::snd_message("hospital_breach_gun_away"); + level waittill("breach_begin"); + thread maps\detroit_lighting::hospital_breach_dof(); + soundscripts\_snd::snd_message("hostpital_breach_start"); + thread doctor_capture_bones_breach_functionality(); + var_00 delete(); + var_01 delete(); + level waittill("can_takedown_doctor"); + var_0B = getent("dr_capture_use_trigger","targetname"); + level.doctor thread doctor_capture_doctor_takedown_xprompt(var_0B); + objective_setpointertextoverride(maps\_utility::obj("Capture the doctor"),&"OBJECTIVE_CAPTURE"); + common_scripts\utility::flag_set("obj_capture_doctor_pos_doctor_breached"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + } + + var_0B sethintstring(&"DETROIT_DOCTOR_GRAB"); + var_0B waittill("trigger"); + common_scripts\utility::flag_set("doctor_grabbed"); + maps\_player_exo::player_exo_deactivate(); + thread clear_doctor_head(); + thread maps\detroit_streets::sneaky_reload(); + level notify("begin_takedown_animation"); + var_0B delete(); + var_0C = maps\_utility::spawn_anim_model("world_body"); + var_0C hide(); + var_02 thread maps\_anim::anim_first_frame_solo(var_0C,"doctor_capture"); + level.player maps\_shg_utility::setup_player_for_scene(1); + var_0D = 0.3; + var_0C hide(); + level.player playerlinktoblend(var_0C,"tag_player",var_0D,var_0D * 0.5,var_0D * 0.5); + level.player common_scripts\utility::delaycall(var_0D,::playerlinktodelta,var_0C,"tag_player",0,0,0,0,0,1); + level.player common_scripts\utility::delaycall(var_0D,::enableslowaim); + var_0C common_scripts\utility::delaycall(var_0D,::show); + thread maps\detroit_lighting::capture_lighting(); + common_scripts\utility::flag_set("player_captured_doctor"); + thread wait_for_trigger_set_flag(); + soundscripts\_snd::snd_message("capture_doctor_scene_start"); + maps\_utility::delaythread(2,::common_scripts\utility::flag_set,"obj_capture_doctor_complete"); + level.doctor thread doctor_capture_doctor_head_swap_function(); + var_02 notify("stop_doctor_loop"); + var_0C thread doctor_capture_player_capture_thread(); + var_0E = maps\_utility::spawn_anim_model("capture_bag"); + var_0E hide(); + var_02 thread doctor_capture_bag_capture_anim(var_0E); + level.burke stopanimscripted(); + level notify("kill_burke_loop"); + var_02 notify("no_more_door_looping_burke"); + var_0F = [level.joker,level.doctor]; + thread doctor_blood_swap(); + var_02 thread maps\_anim::anim_single_solo(level.burke,"doctor_capture"); + thread doctor_capture_set_new_objective_outside_breach(); + level.burke setgoalnode(var_05); + var_02 thread maps\_anim::anim_single_solo(var_0E,"doctor_capture"); + var_02 thread maps\_anim::anim_single(var_0F,"doctor_capture"); + wait(24); + level.player enableweapons(); + wait(6); + level.doctor setanimrate(level.doctor maps\_utility::getanim("doctor_capture"),0); + common_scripts\utility::flag_set("capture_animation_complete"); + common_scripts\utility::flag_set("obj_escape_detroit_give"); + level.burke maps\_utility::set_moveplaybackrate(1); + if(isalive(level.doctor)) + { + thread maps\_utility::autosave_by_name("seeker"); + } + + var_10 = getnode("joker_with_doctor_waitnode","targetname"); + thread doctor_carry_wait_breach(var_02,"reveal_the_sentinels",var_10); + common_scripts\utility::flag_set("swap_to_head_bagged"); + var_0E delete(); + thread escape_hospital_trains(); +} + +//Function Number: 67 +doctor_capture_set_new_objective_outside_breach() +{ + wait(26.3); + common_scripts\utility::flag_set("obj_escape_detroit_give"); +} + +//Function Number: 68 +doctor_capture_doctor_takedown_xprompt(param_00) +{ + var_01 = maps\_shg_utility::hint_button_tag("x","j_spine4",128,200,undefined,param_00); + level waittill("begin_takedown_animation"); + var_01 maps\_shg_utility::hint_button_clear(); +} + +//Function Number: 69 +doctor_capture_stop_spawning_school_trains() +{ + maps\_utility::disable_trigger_with_targetname("no_more_trains_trigger"); + common_scripts\utility::flag_wait("player_captured_doctor"); + maps\_utility::enable_trigger_with_targetname("no_more_trains_trigger"); + common_scripts\utility::flag_wait("no_more_trains"); + common_scripts\utility::flag_set("hospital_escape_trains_only"); +} + +//Function Number: 70 +doctor_blood_swap() +{ + wait(5.12); + level.doctor overridematerial("mtl_dr_pas_head","mtl_dr_pas_head_damaged"); + level.doctor maps\_utility::dialogue_queue("det_dcr_painreaction"); +} + +//Function Number: 71 +doctor_capture_hospital_breach_autosave() +{ + maps\_utility::trigger_wait_targetname("hospital_breach_autosave"); + maps\_utility::disable_trigger_with_targetname("hospital_breach_autosave"); +} + +//Function Number: 72 +doctor_capture_xprompt() +{ + common_scripts\utility::flag_wait("show_grab_doctor_prompt"); + var_00 = getent("dr_pickup_placed_prompt","targetname") maps\_shg_utility::hint_button_trigger("use",200); + level waittill("begin_takedown_animation"); + var_00 maps\_shg_utility::hint_button_clear(); +} + +//Function Number: 73 +doctor_capture_bag_capture_anim(param_00) +{ + common_scripts\utility::flag_wait("show_capture_bag"); + param_00 show(); +} + +//Function Number: 74 +doctor_capture_doctor_head_swap_function() +{ + common_scripts\utility::flag_wait("swap_to_head_bagged"); + self detach("dr_pas_head"); + self attach("det_doctor_head_bagA"); +} + +//Function Number: 75 +doctor_capture_player_capture_thread() +{ + var_00 = getent("dr_capture_pcap_animnode","targetname"); + var_00 thread maps\_anim::anim_single_solo(self,"doctor_capture"); + wait(0.8); + maps\detroit::controller_rumble_heavy0(); + wait(0.22); + maps\detroit::controller_rumble_light1(); + wait(1); + maps\detroit::controller_rumble_heavy0(); + wait(3.05); + maps\detroit::controller_rumble_light1(); + wait(13.25); + maps\detroit::controller_rumble_heavy0(); + wait(5.25); + level.player unlink(); + level.player disableslowaim(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + maps\_player_exo::player_exo_activate(); + level notify("doctor_cant_die_anymore"); + self delete(); +} + +//Function Number: 76 +doctor_carry_wait_breach(param_00,param_01,param_02) +{ + param_00 thread maps\_anim::anim_loop_solo(level.joker,"doctor_capture_idle"); + common_scripts\utility::flag_wait("joker_pickup_doctor_is_ok_now"); + level notify("pick_up_doctor_move_on"); + wait(2.3); + param_00 notify("stop_loop"); + thread doctor_capture_doctor_carry(param_00,param_01,param_02); +} + +//Function Number: 77 +keep_stair_override(param_00) +{ + while(!common_scripts\utility::flag(param_00)) + { + if(isdefined(self.a.moveanimset)) + { + self.a.moveanimset["stairs_up"] = level.scr_anim[self.animname]["carry_doc_upstairs_loop"]; + self.a.moveanimset["stairs_down"] = level.scr_anim[self.animname]["carry_doc_downstairs_loop"]; + self.a.moveanimset["stairs_down_out"] = self.a.moveanimset["stairs_down"]; + self.a.moveanimset["stairs_up_out"] = self.a.moveanimset["stairs_up"]; + self.a.moveanimset["stairs_down_in"] = self.a.moveanimset["stairs_down"]; + self.a.moveanimset["stairs_up_in"] = self.a.moveanimset["stairs_up"]; + } + + wait 0.05; + } +} + +//Function Number: 78 +doctor_capture_doctor_carry(param_00,param_01,param_02) +{ + if(isai(level.doctor)) + { + level.doctor setcontents(0); + level.doctor notify("killanimscript"); + level.doctor maps\_utility::disable_pain(); + level.doctor maps\_utility::disable_bulletwhizbyreaction(); + level.doctor maps\_utility::disable_danger_react(); + level.doctor notify("internal_stop_magic_bullet_shield"); + level.doctor notify("death"); + level.doctor stop_current_animations(param_00); + var_03 = spawn("script_model",level.doctor.origin); + var_03.angles = level.doctor.angles; + var_04 = level.doctor.animname; + var_03.animname = var_04; + var_03 useanimtree(#animtree); + var_03 setmodel(level.doctor getmodelfromentity(),0); + var_03 attach("det_doctor_head_bagA"); + var_03.name = "scriptmodelDoc"; + var_03 setcandamage(1); + var_03.health = 100; + var_03 thread mission_fail_on_dead(); + var_03 setlookattext("Doctor",&""); + level.doctor delete(); + level.doctor = var_03; + } + + level.joker stop_current_animations(param_00); + param_00 maps\_anim::anim_single([level.joker,level.doctor],"carry_doc_lift"); + param_00 maps\_anim::anim_first_frame_solo(level.doctor,"carry_doc_stop"); + level.joker maps\_utility::ai_ignore_everything(); + level.joker pushplayer(1); + level.joker maps\_utility::disable_turnanims(); + level.joker.run_overrideanim_hasstairanimarray = 1; + level.joker.disablearrivals = 1; + level.joker.disableexits = 1; + level.joker.run_overrideanim = level.scr_anim[level.joker.animname]["carry_doc_walk"]; + level.joker.walk_overrideanim = level.scr_anim[level.joker.animname]["carry_doc_walk"]; + level.joker.specialidleanim = [level.scr_anim[level.joker.animname]["carry_doc_stop"]]; + level.joker allowedstances("stand"); + level.joker animmode("gravity"); + level.joker orientmode("face default"); + level.joker thread keep_stair_override(param_01); + level.doctor setanimknob(level.scr_anim[level.doctor.animname]["carry_doc_stop"],1,0,0); + level.doctor setanimtime(level.scr_anim[level.doctor.animname]["carry_doc_stop"],0); + level.doctor linkto(level.joker,"j_spine4",(0,0,0),(0,0,0)); + level.doctor dontinterpolate(); + level.doctor thread sync_anim_times_with_carrier(level.joker,param_01); + level.joker setgoalnode(param_02); + common_scripts\utility::flag_wait(param_01); + level.doctor unlink(); + level.joker maps\_utility::ai_unignore_everything(); + level.joker pushplayer(0); + level.joker maps\_utility::enable_turnanims(); + level.joker allowedstances("stand","crouch","prone"); + level.joker.run_overrideanim_hasstairanimarray = undefined; + level.joker.disablearrivals = undefined; + level.joker.disableexits = undefined; + level.joker.run_overrideanim = undefined; + level.joker.walk_overrideanim = undefined; + level.joker.specialidleanim = undefined; +} + +//Function Number: 79 +clear_doctor_head() +{ + level.doctor clearanim(%head,0.1); +} + +//Function Number: 80 +doctor_capture_bones_breach_functionality() +{ + var_00 = getnode("bones_guard_capture_node","targetname"); + var_01 = getnode("bones_guard_doctor_node","targetname"); + var_02 = getnode("bones_guard_bikes_node","targetname"); + level.bones setgoalnode(var_00); + common_scripts\utility::flag_wait("capture_animation_complete"); + level.bones setgoalnode(var_01); + common_scripts\utility::flag_wait("sentinel_reveal_animation_complete"); + level.bones setgoalnode(var_02); +} + +//Function Number: 81 +doctor_capture_bookshelf1() +{ + var_00 = getent("dr_capture_pcap_animnode","targetname"); + var_01 = maps\_utility::spawn_anim_model("shelf"); + var_00 thread maps\_anim::anim_first_frame_solo(var_01,"det_hos_breach_success_shelf01"); + var_02 = getent("det_hos_breach_shelf_01","targetname"); + var_02 hide(); + var_02.origin = var_01.origin; + var_02.angles = var_01.angles + (0,90,0); + var_02 linkto(var_01,"TAG_ORIGIN"); + level waittill("begin_second_half_of_breach"); + var_00 maps\_anim::anim_single_solo(var_01,"det_hos_breach_success_shelf01"); + common_scripts\utility::flag_wait("player_captured_doctor"); + wait(1.25); + var_02 show(); + var_01 delete(); +} + +//Function Number: 82 +doctor_capture_bookshelf2() +{ + var_00 = getent("dr_capture_pcap_animnode","targetname"); + var_01 = maps\_utility::spawn_anim_model("shelf"); + var_00 thread maps\_anim::anim_first_frame_solo(var_01,"det_hos_breach_success_shelf02"); + var_02 = getent("det_hos_breach_shelf_02","targetname"); + var_02 hide(); + var_02.origin = var_01.origin; + var_02.angles = var_01.angles + (0,90,0); + var_02 linkto(var_01,"TAG_ORIGIN"); + level waittill("begin_second_half_of_breach"); + var_00 maps\_anim::anim_single_solo(var_01,"det_hos_breach_success_shelf02"); + common_scripts\utility::flag_wait("player_captured_doctor"); + wait(1.25); + var_02 show(); + var_01 delete(); +} + +//Function Number: 83 +doctor_capture_lerp_wait_function(param_00) +{ + wait(param_00); + iprintlnbold("this is the right slowmo function"); + maps\_utility::slowmo_lerp_in(); +} + +//Function Number: 84 +doctor_capture_door_breach_anim() +{ + if(level.currentgen) + { + if(!istransientloaded("detroit_hospital_interior_tr")) + { + for(;;) + { + wait(0.25); + if(istransientloaded("detroit_hospital_interior_tr")) + { + break; + } + } + } + } + + var_00 = getent("dr_capture_pcap_animnode","targetname"); + var_01 = maps\_utility::spawn_anim_model("hospital_door"); + var_00 thread maps\_anim::anim_first_frame_solo(var_01,"hospital_breach"); + wait(0.05); + var_02 = getent("reflection_green","targetname"); + var_01 overridereflectionprobe(var_02.origin); + var_01 overridelightingorigin(var_02.origin); + level waittill("breach_begin"); + var_00 maps\_anim::anim_single_solo(var_01,"hospital_breach"); +} + +//Function Number: 85 +doctor_capture_player_breach() +{ + var_00 = getent("dr_capture_pcap_animnode","targetname"); + var_01 = maps\_utility::spawn_anim_model("world_body",level.player.origin); + var_01.animname = "world_body"; + var_00 thread maps\_anim::anim_first_frame_solo(var_01,"det_hos_breach_vm"); + var_01 hide(); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(1.5,100); + level.player maps\_shg_utility::setup_player_for_scene(1); + var_02 = 0.3; + var_01 hide(); + level.player playerlinktoblend(var_01,"tag_player",var_02,var_02 * 0.5,var_02 * 0.5); + wait(var_02); + var_01 show(); + level.player playerlinktodelta(var_01,"tag_player",0,0,0,0,0,1); + thread doctor_capture_burke_enter_doctor_room(); + thread doctor_capture_burke_takedown_finish(); + level notify("breach_begin"); + thread maps\detroit_streets::sneaky_reload(); + var_00 maps\_anim::anim_single_solo(var_01,"det_hos_breach_vm"); + if(common_scripts\utility::flag("qte_success_breach")) + { + soundscripts\_snd::snd_message("player_exo_breach_begin"); + thread maps\_utility::slowmo_lerp_out(); + var_00 thread maps\_anim::anim_single_solo(var_01,"det_hos_breach_fail_vm"); + wait(3); + var_01 setanimrate(var_01 maps\_utility::getanim("det_hos_breach_fail_vm"),0); + return; + } + + soundscripts\_snd::snd_message("push_dude_into_shelves"); + var_00 maps\_anim::anim_single_solo(var_01,"det_hos_breach_success_vm"); + level.player unlink(); + var_01 delete(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + wait(2); + maps\_utility::slowmo_lerp_out(); + soundscripts\_snd::snd_message("breach_slo_mo_exit"); + maps\_player_exo::player_exo_activate(); +} + +//Function Number: 86 +doctor_capture_burke_enter_doctor_room() +{ + level endon("begin_takedown_animation"); + var_00 = getent("dr_capture_pcap_animnode","targetname"); + var_01 = "det_hos_breach_burke"; + var_02 = getanimlength(level.burke maps\_utility::getanim(var_01)); + var_03 = 3; + wait(var_03); + thread doctor_capture_burke_shooting(); + var_00 thread maps\_anim::anim_single_solo(level.burke,var_01); + wait(0.05); + level.burke setanimtime(level.burke maps\_utility::getanim(var_01),var_03 + 0.05 / var_02); + wait(var_02 - var_03); + doctor_capture_burke_alternate_point_anim(); +} + +//Function Number: 87 +doctor_capture_burke_alternate_point_anim() +{ + level endon("begin_takedown_animation"); + var_00 = getent("dr_capture_pcap_animnode","targetname"); + common_scripts\utility::flag_set("grab_the_doctor"); + doctor_capture_burke_doctorroom_idle(); +} + +//Function Number: 88 +doctor_capture_burke_doctorroom_idle() +{ + level endon("begin_takedown_animation"); + var_00 = getent("dr_capture_pcap_animnode","targetname"); + var_00 thread maps\_anim::anim_loop_solo(level.burke,"doctor_capture_idle","stop_burke_idling_before_capture"); +} + +//Function Number: 89 +doctor_capture_burke_takedown_finish() +{ + var_00 = getent("dr_capture_pcap_animnode","targetname"); + common_scripts\utility::flag_wait("player_captured_doctor"); + var_00 notify("stop_burke_idling_before_capture"); + level.burke notify("stop_burke_idling_before_capture"); + thread burke_pre_sentinel_kva_reveal(); +} + +//Function Number: 90 +doctor_capture_burke_shooting() +{ + wait(5); + if(!common_scripts\utility::flag("player_captured_doctor")) + { + level notify("burke_shoot_1"); + } + + wait(1.25); + if(!common_scripts\utility::flag("player_captured_doctor")) + { + level notify("burke_shoot_2"); + } +} + +//Function Number: 91 +doctor_capture_doctor_breach() +{ + wait 0.05; + var_00 = getent("dr_capture_pcap_animnode","targetname"); + level waittill("breach_begin"); + var_00 maps\_anim::anim_single_solo(level.doctor,"det_hos_breach_doctor"); + var_00 thread maps\_anim::anim_loop_solo(level.doctor,"det_hos_breach_idle_doctor","stop_doctor_loop"); +} + +//Function Number: 92 +doctor_capture_shoot_the_player() +{ + self endon("death"); + self endon("stop_shooting"); + for(;;) + { + wait(randomfloatrange(0.25,1)); + if(isalive(self)) + { + magicbullet("iw5_bal27_sp",self gettagorigin("tag_flash"),level.player.origin); + continue; + } + } +} + +//Function Number: 93 +breach_backtrack_fail() +{ + var_00 = getent("backtrack_warning_breach","targetname"); + thread mission_fail_warning(var_00); + thread player_exit_breach_fail(); +} + +//Function Number: 94 +player_exit_breach_fail() +{ + level endon("player_progressed_to_exit_drive"); + maps\_utility::trigger_wait_targetname("backtrack_breach_fail_trigger"); + maps\_player_death::set_deadquote(&"DETROIT_ABANDONED"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 95 +doctor_capture_firstguy_breach() +{ + self endon("death"); + self.animname = "generic"; + self.ignoreme = 1; + thread doctor_capture_guy1_health_check_killfunction(); + var_00 = getent("dr_capture_pcap_animnode","targetname"); + var_00 maps\_anim::anim_first_frame_solo(self,"det_hos_breach_guy1"); + level waittill("breach_begin"); + thread doctor_capture_did_burke_kill_me_1(); + var_00 maps\_anim::anim_single_solo(self,"det_hos_breach_guy1"); + if(isalive(self)) + { + thread doctor_capture_shoot_the_player(); + self.ignoreme = 0; + var_00 maps\_anim::anim_loop_solo(self,"det_hos_breach_aim_idle_guy1"); + } +} + +//Function Number: 96 +doctor_capture_guy1_health_check_killfunction() +{ + var_00 = getent("player_success_hospital_glass_clip","targetname"); + var_00 notsolid(); + var_01 = getglass("player_success_hospital_glass"); + var_02 = 0.2; + var_03 = getent("dr_capture_pcap_animnode","targetname"); + var_04 = self.health; + for(;;) + { + var_05 = self.health; + if(var_04 > var_05) + { + self notify("stop_shooting"); + level.guys_to_wait = level.guys_to_wait + 1; + self.allowdeath = 1; + soundscripts\_snd::snd_message("shoot_dude_through_window"); + self.a.nodeath = 1; + self.ignoreall = 1; + self.ignoreme = 1; + self setcontents(0); + thread doctor_capture_destroy_this_glass(var_01,var_02); + var_00 solid(); + var_03 maps\_anim::anim_single_solo(self,"det_hos_breach_success_guy1"); + self delete(); + return; + } + + wait(0.05); + } +} + +//Function Number: 97 +doctor_capture_destroy_this_glass(param_00,param_01) +{ + wait(param_01); + if(isdefined(param_00)) + { + destroyglass(param_00); + } +} + +//Function Number: 98 +doctor_capture_thirdguy_notify_when_dead() +{ + self waittill("death"); + self stopanimscripted(); +} + +//Function Number: 99 +doctor_capture_guy3_health_check_killfunction() +{ + var_00 = getent("guy3_death_animnode","targetname"); + var_01 = self.health; + for(;;) + { + if(var_01 > self.health) + { + self notify("stop_shooting"); + level.guys_to_wait = level.guys_to_wait + 1; + soundscripts\_snd::snd_message("breach_bad_guy2_gets_shot"); + self.a.nodeath = 1; + self.ignoreall = 1; + self.ignoreme = 1; + var_00 maps\_anim::anim_single_solo(self,"det_hos_breach_success_guy3"); + return; + } + + wait(0.05); + } +} + +//Function Number: 100 +doctor_capture_thirdguy_breach() +{ + self endon("death"); + self.ignoreme = 1; + self.animname = "generic"; + thread doctor_capture_guy3_health_check_killfunction(); + var_00 = getent("guy3_death_animnode","targetname"); + var_00 maps\_anim::anim_first_frame_solo(self,"det_hos_breach_guy3"); + level waittill("breach_begin"); + thread doctor_capture_did_burke_kill_me_2(); + thread doctor_capture_guy_3_kill_player(); + var_00 maps\_anim::anim_single_solo(self,"det_hos_breach_guy3"); + if(isalive(self)) + { + thread doctor_capture_shoot_the_player(); + self.ignoreme = 0; + var_00 thread maps\_anim::anim_loop_solo(self,"det_hos_breach_aim_idle_guy3"); + } +} + +//Function Number: 101 +doctor_capture_guy_3_kill_player() +{ + var_00 = self.health; + wait(6.5); + if(var_00 == self.health) + { + magicbullet("iw5_bal27_sp",self geteye(),level.player geteye()); + level.player kill(); + maps\_player_death::set_deadquote(&"DETROIT_QTE_FAIL"); + maps\_utility::missionfailedwrapper(); + } +} + +//Function Number: 102 +doctor_capture_did_burke_kill_me_2() +{ + level waittill("burke_shoot_2"); + if(isalive(self)) + { + var_00 = magicbullet("iw5_bal27_sp",level.burke gettagorigin("tag_flash"),self gettagorigin("tag_eye")); + wait(0.02); + if(isalive(self)) + { + var_00 = magicbullet("iw5_bal27_sp",level.burke gettagorigin("tag_flash"),self gettagorigin("tag_eye")); + } + + var_00 = magicbullet("iw5_bal27_sp",level.burke gettagorigin("tag_flash"),self gettagorigin("tag_eye")); + var_00 = magicbullet("iw5_bal27_sp",level.burke gettagorigin("tag_flash"),self gettagorigin("tag_eye")); + } +} + +//Function Number: 103 +doctor_capture_did_burke_kill_me_1() +{ + level waittill("burke_shoot_1"); + if(isalive(self)) + { + var_00 = magicbullet("iw5_bal27_sp",level.burke gettagorigin("tag_flash"),self gettagorigin("tag_eye")); + var_00 = magicbullet("iw5_bal27_sp",level.burke gettagorigin("tag_flash"),self gettagorigin("tag_eye")); + wait(0.02); + if(isalive(self)) + { + var_00 = magicbullet("iw5_bal27_sp",level.burke gettagorigin("tag_flash"),self gettagorigin("tag_eye")); + } + } +} + +//Function Number: 104 +doctor_capture_forthguy_breach() +{ + common_scripts\utility::flag_set("qte_success_breach"); + self endon("death"); + self.animname = "generic"; + self.ignoreme = 1; + var_00 = getent("dr_capture_pcap_animnode","targetname"); + var_00 maps\_anim::anim_first_frame_solo(self,"det_hos_breach_guy4"); + level waittill("breach_begin"); + thread doctor_capture_success_trigger(); + var_00 maps\_anim::anim_single_solo(self,"det_hos_breach_guy4"); + if(common_scripts\utility::flag("qte_success_breach")) + { + var_00 thread maps\_anim::anim_single_solo(self,"det_hos_breach_fail_guy4"); + wait(2.25); + self setanimrate(maps\_utility::getanim("det_hos_breach_fail_guy4"),0); + return; + } + + level.guys_to_wait = level.guys_to_wait + 1; + self.allowdeath = 1; + self.a.nodeath = 1; + self.ignoreall = 1; + self.ignoreme = 1; + common_scripts\utility::delaycall(3,::kill); + level notify("begin_second_half_of_breach"); + var_00 maps\_anim::anim_single_solo(self,"det_hos_breach_success_guy4"); + var_00 maps\_anim::anim_last_frame_solo(self,"det_hos_breach_success_guy4"); +} + +//Function Number: 105 +doctor_capture_success_trigger() +{ + level.player endon("death"); + level.player endon("success"); + wait(1.95); + thread doctor_capture_use_hint_blinks_melee(); + var_00 = 0; + while(var_00 < 2) + { + if(level.player meleebuttonpressed()) + { + thread fade_out_use_hint(0.1); + common_scripts\utility::flag_clear("qte_success_breach"); + level.player notify("success"); + return; + } + + wait(0.05); + var_00 = var_00 + 0.05; + } + + thread fade_out_use_hint(0.1); +} + +//Function Number: 106 +doctor_capture_draw_use_hint() +{ + var_00 = 200; + var_01 = 0; + var_02 = level.player maps\_hud_util::createclientfontstring("default",2); + var_02.x = var_01 * -1; + var_02.y = var_00; + var_02.horzalign = "center"; + var_02.alignx = "center"; + var_02 settext(&"DETROIT_FLASH_USE"); + var_03 = []; + var_03["text"] = var_02; + level.use_hint = var_03; +} + +//Function Number: 107 +doctor_capture_draw_use_hint_melee() +{ + var_00 = 200; + var_01 = 0; + var_02 = level.player maps\_hud_util::createclientfontstring("default",2); + var_02.x = var_01 * -1; + var_02.y = var_00; + var_02.horzalign = "center"; + var_02.alignx = "center"; + var_02 settext(&"DETROIT_MELEE"); + var_03 = []; + var_03["text"] = var_02; + level.use_hint = var_03; +} + +//Function Number: 108 +doctor_capture_use_hint_blinks_melee(param_00) +{ + level notify("fade_out_use_hint"); + level endon("fade_out_use_hint"); + if(!isdefined(param_00)) + { + param_00 = 3; + } + + doctor_capture_draw_use_hint_melee(); + var_01 = 0.1; + var_02 = 0.2; + level.use_hint_active = 1; + foreach(var_04 in level.use_hint) + { + var_04 fadeovertime(0.1); + var_04.alpha = 0.95; + } + + wait(0.1); + var_06 = level.use_hint["text"]; + for(;;) + { + if(isdefined(level.use_hint["icon"])) + { + level.use_hint["icon"].alpha = 0.95; + } + + var_06 fadeovertime(0.01); + var_06.alpha = 0.95; + var_06 changefontscaleovertime(0.01); + var_06.fontscale = param_00; + wait(0.1); + var_06 fadeovertime(var_01); + var_06.alpha = 0; + var_06 changefontscaleovertime(var_01); + var_06.fontscale = 0.25; + wait(var_02); + if(!isdefined(level.use_hint_active)) + { + foreach(var_04 in level.use_hint) + { + var_04.alpha = 0; + } + + return; + } + } +} + +//Function Number: 109 +doctor_capture_inner_fight() +{ + common_scripts\utility::flag_wait("hospital_inner_fight"); + var_00 = getentarray("kva_hospital_ar_special3","targetname"); + foreach(var_02 in var_00) + { + var_03 = var_02 maps\_utility::spawn_ai(); + } +} + +//Function Number: 110 +escape_hospital_trains() +{ + level endon("no_more_random_trains"); + common_scripts\utility::flag_wait("spawn_escape_train1"); + maps\detroit_school::spawn_right_hospital_train(1500); + common_scripts\utility::flag_wait("spawn_escape_train2"); + maps\detroit_school::spawn_left_hospital_train(1500); + for(;;) + { + var_00 = randomint(2) + 1; + if(var_00 == 1) + { + maps\detroit_school::spawn_right_hospital_train(1500); + } + else if(var_00 == 2) + { + maps\detroit_school::spawn_left_hospital_train(1500); + } + + wait(20); + } +} + +//Function Number: 111 +fade_out_use_hint(param_00) +{ + level notify("fade_out_use_hint"); + if(!isdefined(param_00)) + { + param_00 = 1.5; + } + + if(!isdefined(level.use_hint)) + { + doctor_capture_draw_use_hint(); + } + + foreach(var_02 in level.use_hint) + { + var_02 fadeovertime(param_00); + var_02.alpha = 0; + } + + level.use_hint_active = undefined; +} + +//Function Number: 112 +use_hint_blinks(param_00) +{ + level notify("fade_out_use_hint"); + level endon("fade_out_use_hint"); + if(!isdefined(param_00)) + { + param_00 = 3; + } + + if(!isdefined(level.use_hint)) + { + doctor_capture_draw_use_hint(); + } + + var_01 = 0.1; + var_02 = 0.2; + level.use_hint_active = 1; + foreach(var_04 in level.use_hint) + { + var_04 fadeovertime(0.1); + var_04.alpha = 0.95; + } + + wait(0.1); + var_06 = level.use_hint["text"]; + for(;;) + { + if(isdefined(level.use_hint["icon"])) + { + level.use_hint["icon"].alpha = 0.95; + } + + var_06 fadeovertime(0.01); + var_06.alpha = 0.95; + var_06 changefontscaleovertime(0.01); + var_06.fontscale = param_00; + wait(0.1); + var_06 fadeovertime(var_01); + var_06.alpha = 0; + var_06 changefontscaleovertime(var_01); + var_06.fontscale = 0.25; + wait(var_02); + if(!isdefined(level.use_hint_active)) + { + foreach(var_04 in level.use_hint) + { + var_04.alpha = 0; + } + + return; + } + } +} + +//Function Number: 113 +joker_advance_hospital() +{ + var_00 = getnode("joker_hospital","targetname"); + var_01 = getnode("joker_cover_inside_hospital","targetname"); + var_02 = getnode("joker_holdup_before_going_upstairs_node","targetname"); + level.joker.ignoreall = 0; + level.joker.goalradius = 15; + level.joker setgoalnode(var_00); + level.joker waittill("goal"); + wait(5); + level.joker setgoalnode(var_02); + common_scripts\utility::flag_wait("send_all_teammates_upstairs"); + wait(1.5); + level.joker setgoalnode(var_01); +} + +//Function Number: 114 +bones_advance_hospital() +{ + var_00 = getnode("bones_cover_outside","targetname"); + var_01 = getnode("bones_cover_inside_hospital","targetname"); + var_02 = getnode("bones_holdup_before_going_upstairs_node","targetname"); + level.bones.ignoreall = 0; + level.bones.goalradius = 15; + level.bones setgoalnode(var_00); + level.bones waittill("goal"); + wait(4); + level.bones setgoalnode(var_02); + common_scripts\utility::flag_wait("send_all_teammates_upstairs"); + wait(2); + level.bones setgoalnode(var_01); +} + +//Function Number: 115 +hospital_stairs_autosave() +{ + maps\_utility::trigger_wait_targetname("hospital_stairs_autosave"); + maps\_utility::disable_trigger_with_noteworthy("hospital_stairs_autosave"); +} + +//Function Number: 116 +stop_current_animations(param_00) +{ + self endon("death"); + self stopanimscripted(); + self notify("drone_stop"); + self notify("stop_loop"); + self notify("single anim","end"); + self notify("looping anim","end"); + if(isdefined(param_00)) + { + param_00 notify("drone_stop"); + param_00 notify("stop_loop"); + param_00 notify("single anim","end"); + param_00 notify("looping anim","end"); + } +} + +//Function Number: 117 +sync_anim_times_with_carrier(param_00,param_01) +{ + self endon("death"); + var_02 = ["carry_doc_walk","carry_doc_stop","carry_doc_downstairs_loop","carry_doc_upstairs_loop"]; + var_03 = undefined; + while(!common_scripts\utility::flag(param_01)) + { + waittillframeend; + if(common_scripts\utility::flag(param_01)) + { + return; + } + + var_04 = param_00 getactiveanimations(); + foreach(var_06 in var_04) + { + foreach(var_08 in var_02) + { + if(var_06["animation"] == level.scr_anim[param_00.animname][var_08]) + { + if(!isdefined(var_03) || var_03 != var_06["animation"]) + { + self setanimknobrestart(level.scr_anim[self.animname][var_08],1,0.2,1); + var_03 = var_06["animation"]; + } + + self setanimtime(level.scr_anim[self.animname][var_08],var_06["currentAnimTime"]); + } + } + } + + wait 0.05; + } +} + +//Function Number: 118 +kva_ar() +{ + var_00 = getent("hospital_fight_goal1","targetname"); + var_01 = getentarray("kva_hospital_ar","targetname"); + foreach(var_03 in var_01) + { + var_04 = var_03 maps\_utility::spawn_ai(1); + var_04 setgoalvolumeauto(var_00); + } + + maps\_utility::trigger_wait_targetname("doctor_chase_gate_close_trig"); + common_scripts\utility::flag_set("hospital_wave_2"); + wait(2); + var_06 = getentarray("kva_hospital_ar_wave2","targetname"); + foreach(var_03 in var_06) + { + var_04 = var_03 maps\_utility::spawn_ai(); + if(isdefined(var_04)) + { + var_04 maps\_utility::player_seek_enable(); + } + + wait(0.05); + } +} + +//Function Number: 119 +kva_heavy() +{ + var_00 = getent("hospital_fight_goal1","targetname"); + wait(6); + var_01 = getentarray("kva_hospital_heavy","targetname"); + foreach(var_03 in var_01) + { + var_04 = var_03 maps\_utility::spawn_ai(); + var_04 maps\_utility::set_moveplaybackrate(0.75); + var_04 setgoalvolumeauto(var_00); + } + + maps\_utility::trigger_wait_targetname("doctor_chase_gate_close_trig"); + var_01 = getentarray("kva_hospital_heavy","targetname"); + wait(2); + foreach(var_03 in var_01) + { + var_04 = var_03 maps\_utility::spawn_ai(); + if(isdefined(var_04)) + { + var_00 = getent("hospital_fight_goal1","targetname"); + var_04 maps\_utility::set_moveplaybackrate(0.75); + var_04.combatmode = "no_cover"; + var_04 setgoalvolumeauto(var_00); + wait(4); + } + + wait(0.05); + } +} + +//Function Number: 120 +kva_last_heavy() +{ +} + +//Function Number: 121 +special_kva() +{ + maps\_utility::trigger_wait_targetname("kva_grenade_throw_trigger"); + var_00 = getent("kva_hospital_ar_special1","targetname"); + var_01 = getent("kva_hospital_ar_special2","targetname"); + var_02 = getnode("kva_special_spot_1","targetname"); + var_03 = getnode("kva_special_spot_2","targetname"); + var_04 = var_00 maps\_utility::spawn_ai(1); + var_05 = var_01 maps\_utility::spawn_ai(1); + var_04.goalradius = 15; + var_05.goalradius = 15; + var_04 setgoalnode(var_02); + var_05 setgoalnode(var_03); +} + +//Function Number: 122 +final_approach() +{ + maps\_utility::trigger_wait_targetname("last_room_setup_trigger"); + level.burke maps\_utility::disable_careful(); + level.joker maps\_utility::disable_careful(); + level.bones maps\_utility::disable_careful(); +} + +//Function Number: 123 +disable_awareness() +{ + self.ignoreall = 1; + self.dontmelee = 1; + self.ignoresuppression = 1; + self.suppressionwait_old = self.suppressionwait; + self.suppressionwait = 0; + maps\_utility::disable_surprise(); + self.ignorerandombulletdamage = 1; + maps\_utility::disable_bulletwhizbyreaction(); + maps\_utility::disable_pain(); + self.grenadeawareness = 0; + self.ignoreme = 1; + maps\_utility::enable_dontevershoot(); + self.disablefriendlyfirereaction = 1; + maps\_utility::setflashbangimmunity(1); +} + +//Function Number: 124 +enable_awareness() +{ + self.ignoreall = 0; + self.dontmelee = undefined; + self.ignoresuppression = 0; + if(isdefined(self.suppressionwait_old)) + { + self.suppressionwait = self.suppressionwait_old; + self.suppressionwait_old = undefined; + } + + maps\_utility::enable_surprise(); + self.ignorerandombulletdamage = 0; + maps\_utility::enable_bulletwhizbyreaction(); + maps\_utility::enable_pain(); + self.grenadeawareness = 1; + self.ignoreme = 0; + maps\_utility::disable_dontevershoot(); + self.disablefriendlyfirereaction = undefined; + maps\_utility::setflashbangimmunity(0); +} + +//Function Number: 125 +cloak_off(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 0.75; + } + + var_01 = 0; + self setmaterialscriptparam(1,param_00); + wait(param_00); + self drawpostresolveoff(); + self setmodel(self.defaultmodel); + self.cloak = "off"; + self overridematerialreset(); + self overridematerial("mtl_burke_sentinel_covert_headgear_a","mc/mtl_burke_sentinel_covert_headgear_a_cloak"); +} + +//Function Number: 126 +set_cloak_material_for_npc_weapon() +{ + if(self.weapon != "iw5_unarmed") + { + self overridematerial("_base_black","m/mtl_burke_sentinel_covert_headgear_a_cloak"); + self overridematerial("_iron_sights_black","m/mtl_burke_sentinel_covert_headgear_a_cloak"); + self overridematerial("_iron_sights_color","m/mtl_burke_sentinel_covert_headgear_a_cloak"); + self overridematerial("mtl_weapon_suppressor_b","m/mtl_burke_sentinel_covert_headgear_a_cloak"); + self overridematerial("mtl_bal27_screen_a_green","m/mtl_burke_sentinel_covert_headgear_a_cloak"); + self overridematerial("mtl_bal27_magazine_out","m/mtl_burke_sentinel_covert_headgear_a_cloak"); + self overridematerial("mtl_bal27_magazine_inside","m/mtl_burke_sentinel_covert_headgear_a_cloak"); + self overridematerial("mtl_optics_variable_red_dot","m/mtl_burke_sentinel_covert_headgear_a_cloak"); + self overridematerial("mtl_optics_variable_red_dot_lens_02","m/mtl_burke_sentinel_covert_headgear_a_cloak"); + self overridematerial("mtl_bal27_iron_sights","m/mtl_burke_sentinel_covert_headgear_a_cloak"); + } +} + +//Function Number: 127 +assign_cloak_model(param_00) +{ + self.cloakedmodel = param_00; + self.defaultmodel = self.model; +} + +//Function Number: 128 +cloak_on(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 0.75; + } + + var_01 = 0; + self setmodel(self.cloakedmodel); + self drawpostresolve(); + self setmaterialscriptparam(0,param_00); + self.cloak = "on"; + wait(0.1); + set_cloak_material_for_npc_weapon(); +} + +//Function Number: 129 +disable_enable_exit_flags() +{ + maps\_utility::disable_trigger_with_targetname("send_burke_to_stairs_waitpoint"); + maps\_utility::disable_trigger_with_targetname("send_burke_to_railway_half"); + maps\_utility::disable_trigger_with_targetname("send_burke_fully_across"); + maps\_utility::disable_trigger_with_targetname("make_burke_anim_reach_sentinel"); + common_scripts\utility::flag_wait("player_captured_doctor"); + maps\_utility::enable_trigger_with_targetname("send_burke_to_stairs_waitpoint"); + maps\_utility::enable_trigger_with_targetname("send_burke_to_railway_half"); + maps\_utility::enable_trigger_with_targetname("send_burke_fully_across"); + maps\_utility::enable_trigger_with_targetname("make_burke_anim_reach_sentinel"); +} + +//Function Number: 130 +set_helmet_open(param_00,param_01) +{ + if(!isdefined(param_00)) + { + param_00 = 0.5; + } + + wait(param_01); + self setanimknobrestart(%sentinel_covert_helmet_open_idle,1,param_00); +} + +//Function Number: 131 +set_helmet_closed(param_00,param_01) +{ + if(!isdefined(param_00)) + { + param_00 = 0.5; + } + + wait(param_01); + self setanimknobrestart(%sentinel_covert_helmet_closed_idle,1,param_00); +} + +//Function Number: 132 +setup_hospital_bodies() +{ + maps\_utility::trigger_wait_targetname("hospital_start"); + var_00 = getent("dead_spot","targetname"); + var_01 = getent("civ_spawner_hospital_2","targetname"); + var_02 = maps\detroit_school::school_drone_spawn(var_01); + var_02 setcontents(0); + var_00 maps\_anim::anim_first_frame_solo(var_02,"deadpose_1"); +} \ No newline at end of file diff --git a/AW/PC/maps/detroit_jetbike.gsc b/AW/PC/maps/detroit_jetbike.gsc new file mode 100644 index 0000000..1d1f280 --- /dev/null +++ b/AW/PC/maps/detroit_jetbike.gsc @@ -0,0 +1,254 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: detroit_jetbike.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 18 + * Decompile Time: 299 ms + * Timestamp: 4/22/2024 2:27:58 AM +*******************************************************************/ + +//Function Number: 1 +spawn_exit_jetbike() +{ + level.jetbike = getent("player_jetbike_exit","targetname"); +} + +//Function Number: 2 +handle_glass_collisions() +{ + self endon("death"); + level endon("missionfailed"); + for(;;) + { + var_00 = self.origin + anglestoforward(self.angles) * 125; + glassradiusdamage(var_00,100,1000,600); + wait 0.05; + } +} + +//Function Number: 3 +handle_contact_collisions() +{ + self endon("death"); + level endon("missionfailed"); + vehicle_scripts\_jetbike::non_player_contact_watcher(); +} + +//Function Number: 4 +vehicle_rubberband(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + if(!isdefined(param_03)) + { + param_03 = 0; + } + + if(!isdefined(param_02)) + { + param_02 = param_01 * 0.5; + } + + if(!isdefined(param_04)) + { + param_04 = 1; + } + + if(!isdefined(self.rubberband_settings)) + { + self.rubberband_settings = spawnstruct(); + var_07 = 1; + } + else + { + var_07 = 0; + } + + self.rubberband_settings.target = param_00; + self.rubberband_settings.desired_range = param_01; + self.rubberband_settings.min_speed_ips = param_03 * 17.6; + self.rubberband_settings.range_slop = param_02; + self.rubberband_settings.time_constant = param_04; + self.rubberband_settings.fail_range = param_05; + self.rubberband_settings.fail_time = param_06; + if(var_07) + { + thread vehicle_rubberband_think(); + } +} + +//Function Number: 5 +vehicle_rubberband_stop() +{ + self.rubberband_settings = undefined; + self notify("vehicle_rubberband_stop"); +} + +//Function Number: 6 +vehicle_rubberband_set_min_speed(param_00) +{ + self.rubberband_settings.min_speed_ips = param_00 * 17.6; +} + +//Function Number: 7 +vehicle_rubberband_set_desired_range(param_00) +{ + self.rubberband_settings.desired_range = param_00; +} + +//Function Number: 8 +vehicle_rubberband_set_fail_range(param_00,param_01) +{ + self.rubberband_settings.fail_range = param_00; + self.rubberband_settings.fail_time = param_01; +} + +//Function Number: 9 +vehicle_rubberband_think() +{ + self endon("death"); + self endon("vehicle_rubberband_stop"); + var_00 = self.rubberband_settings.desired_range; + var_01 = 0; + var_02 = 0; + var_03 = 0; + var_04 = 0; + var_05 = self.rubberband_settings.target maps\_shg_utility::get_differentiated_speed(); + while(isdefined(self.rubberband_settings.target)) + { + var_06 = self.origin - self.rubberband_settings.target.origin; + var_07 = vectornormalize(anglestoforward(self.angles) + anglestoforward(self.rubberband_settings.target.angles) + vectornormalize(var_06)); + var_08 = vectordot(var_06,var_07); + if(abs(var_08 - self.rubberband_settings.desired_range) < self.rubberband_settings.range_slop) + { + var_00 = var_08; + } + else + { + var_00 = self.rubberband_settings.desired_range; + } + + var_09 = var_08 - var_00; + var_0A = self.rubberband_settings.time_constant; + var_0B = self.rubberband_settings.target maps\_shg_utility::get_differentiated_speed(); + var_05 = maps\_utility::linear_interpolate(0.9,var_0B,var_05); + var_0C = var_05; + var_0C = var_0C - var_09 / var_0A; + var_0C = max(var_0C,self.rubberband_settings.min_speed_ips); + var_0D = var_0C / 17.6; + self vehicle_setspeed(var_0D,60,60); + if(isdefined(self.rubberband_settings.fail_range)) + { + maps\_utility::add_extra_autosave_check("jetbike_check_trailing",::autosave_jetbike_check_trailing,"trailing too far behind the friendly jetbike."); + maps\_utility::add_extra_autosave_check("jetbike_check_too_slow",::autosave_jetbike_check_too_slow,"player\'s jetbike is moving too slowly"); + level.jetbike_too_slow = var_0B < self.rubberband_settings.min_speed_ips; + if(var_08 > self.rubberband_settings.fail_range) + { + level.jetbike_is_trailing = 1; + var_01 = var_01 + 0.05; + if(!var_02) + { + if(!var_02 && !var_03) + { + thread show_fail_range_hint_1(); + var_03 = 1; + var_02 = 1; + } + + if(!var_02 && !var_04) + { + thread show_fail_range_hint_2(); + var_04 = 1; + var_02 = 1; + } + } + } + else + { + level.jetbike_is_trailing = 0; + var_01 = 0; + var_02 = 0; + } + + if(var_01 > self.rubberband_settings.fail_time) + { + fail_out_of_range(); + } + + continue; + } + + maps\_utility::remove_extra_autosave_check("jetbike_check_trailing"); + wait 0.05; + } + + vehicle_rubberband_stop(); +} + +//Function Number: 10 +autosave_jetbike_check_trailing() +{ + return !level.jetbike_is_trailing; +} + +//Function Number: 11 +autosave_jetbike_check_too_slow() +{ + return !level.jetbike_too_slow; +} + +//Function Number: 12 +show_fail_range_hint_1() +{ + level.burke maps\_utility::dialogue_queue("det_brk_mitchellkeepup"); +} + +//Function Number: 13 +show_fail_range_hint_2() +{ + level.burke maps\_utility::dialogue_queue("det_brk_keepgoing"); +} + +//Function Number: 14 +fail_out_of_range() +{ + level notify("exit_drive_failed"); + setdvar("ui_deadquote",&"DETROIT_OBJECTIVE_FAIL_JETBIKE"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 15 +intro_drive_jetbike_lights_friendlies() +{ + thread intro_drive_jetbike_lights("jetbike_lights","jetbike_lights_dim"); +} + +//Function Number: 16 +intro_drive_jetbike_lights_player() +{ + common_scripts\utility::flag_set("jetbike_dynfx_on"); + intro_drive_jetbike_lights("det_dyn_spotlight_jetbike","det_dyn_spotlight_jetbike_dim"); +} + +//Function Number: 17 +intro_drive_jetbike_lights(param_00,param_01) +{ + if(common_scripts\utility::flag("exit_drive_started") == 1) + { + var_02 = maps\_shg_utility::play_fx_with_handle(param_00,self,"tag_headlight"); + } + + common_scripts\utility::flag_wait("open_massive_door"); + var_02 = maps\_shg_utility::play_fx_with_handle(param_00,self,"tag_headlight"); + maps\_shg_design_tools::waittill_trigger_with_name("jetbike_lights_off1"); + maps\_shg_utility::kill_fx_with_handle(var_02); + common_scripts\utility::flag_clear("jetbike_dynfx_on"); + thread maps\detroit_lighting::turn_off_light_bright(); +} + +//Function Number: 18 +intro_drive_jetbike_lights_red(param_00) +{ + var_01 = maps\_shg_utility::play_fx_with_handle(param_00,self,"TAG_LIGHT_BACK_MID"); + maps\_shg_design_tools::waittill_trigger_with_name("move_burke_ahead"); + maps\_shg_utility::kill_fx_with_handle(var_01); +} \ No newline at end of file diff --git a/AW/PC/maps/detroit_lighting.gsc b/AW/PC/maps/detroit_lighting.gsc new file mode 100644 index 0000000..72b3660 --- /dev/null +++ b/AW/PC/maps/detroit_lighting.gsc @@ -0,0 +1,2402 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: detroit_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 120 + * Decompile Time: 1875 ms + * Timestamp: 4/22/2024 2:28:04 AM +*******************************************************************/ + +//Function Number: 1 +main2() +{ + waittillframeend; + thread set_level_lighting_values(); + thread setup_dof_presets(); + thread setup_dof_viewmodel_presets(); + thread sunflare(); + thread setup_flickerlight_presets(); + thread lightning_call_single("detroit_lightning_max",0.3,0.7,1675); + thread toggle_lighting_spot01_on(); + thread manage_staircase_lights(); + thread toogle_burke_fall_light(); + thread gate_lights_off(); + thread train_spotlight_lerp(); + thread setup_player_fall_fog(); + thread hospital_flicker_lights(); + thread show_hidden_rail(); + thread outerspacelighting(); + thread setup_vfx_sunflare(); + thread main_camp_spot(); + thread gate_pulse_on(); + thread exo_flicker_lighting(); + thread clut_manage(); + thread clut_manage_school(); + thread butress_origin_fix(); + thread det_vignette(); + if(level.currentgen) + { + common_scripts\utility::flag_init("school_spotlight_off"); + thread cg_car_light_shadowstate_on(); + thread cg_car_light_shadowstate_reset(); + } + + precacheshader("ac130_overlay_pip_bottom_vignette"); + precachemodel("com_flashlight_on_physics"); + precacherumble("heavy_1s"); + precacherumble("heavy_2s"); + precacherumble("heavy_3s"); + precacherumble("light_1s"); + precacherumble("light_2s"); + precacherumble("light_3s"); +} + +//Function Number: 2 +set_level_lighting_values() +{ + if(level.nextgen) + { + setsaveddvar("r_hemiAoEnable",1); + } + + if(isusinghdr()) + { + setsaveddvar("r_disableLightSets",0); + setsaveddvar("r_tonemapMinExposureAdjust",-7.4919); + setsaveddvar("sm_usedSunCascadeCount",2); + setsaveddvar("sm_sunSampleSizeNear",0.2); + setsaveddvar("r_fog_ev_adjust",1); + if(level.nextgen) + { + setsaveddvar("r_dynamicOpl",1); + setsaveddvar("r_gunSightColorEntityScale",0.3); + setsaveddvar("r_gunSightColorNoneScale",0.3); + } + } +} + +//Function Number: 3 +setup_dof_presets() +{ + maps\_lighting::create_dof_preset("fall",10,18,10,25,150,4,0.5); + maps\_lighting::create_dof_preset("detroit_grab",1,2,4,50,150,2.7,0.5); + maps\_lighting::create_dof_preset("schoolextdof",10,60,6,100,5000,2.3,0.5); + maps\_lighting::create_dof_preset("huddle",10,18,5,100,200,3,0.5); + maps\_lighting::create_dof_preset("breach",1,2,5,40,120,3,0.5); + maps\_lighting::create_dof_preset("breach_back",1,2,5,90,220,3,0.5); + maps\_lighting::create_dof_preset("introdof",10,18,10,30,100,2.5,0.5); + maps\_lighting::create_dof_preset("capture",10,40,4,30,300,2.5,0.5); + maps\_lighting::create_dof_preset("camp",5,35,5,1000,7000,0.5,0.5); + maps\_lighting::create_dof_preset("detroit_med_blur",1,2,6,30,40,2,0.5); +} + +//Function Number: 4 +setup_dof_viewmodel_presets() +{ + maps\_lighting::create_dof_viewmodel_preset("bike_vm_dof",10,90); +} + +//Function Number: 5 +setup_flickerlight_presets() +{ + maps\_lighting::create_flickerlight_preset("fire2",(0.972549,0.62451,1),(0.2,0.1462746,1),0.005,0.2,80000); + maps\_lighting::create_flickerlight_preset("hallway",(1,1,1),(0,0,0),0.005,0.2,80000); + maps\_lighting::create_flickerlight_preset("hallway2",(1,1,1),(0,0,0),0.005,0.2,80000); + maps\_lighting::create_flickerlight_preset("hallway3",(1,1,1),(0,0,0),0.005,0.2,80000); + maps\_lighting::create_flickerlight_preset("red_pulse",(1,0,0),(0.3,0,0),0.2,1,80000); +} + +//Function Number: 6 +sunflare() +{ + maps\_art::sunflare_changes("default",0); +} + +//Function Number: 7 +play_flickering_light_school_01() +{ + level endon("console_guy_spawn"); + for(;;) + { + thread maps\_lighting::model_flicker_preset("model_flicker_01",0,5000,5000,undefined,1660,0.2,1.5,0.05,0.2,"endlight"); + common_scripts\utility::flag_wait("exploder1660"); + level notify("endlight"); + common_scripts\utility::flag_waitopen("exploder1660"); + } +} + +//Function Number: 8 +manage_staircase_lights() +{ + common_scripts\utility::flag_init("staircase_lights"); + for(;;) + { + common_scripts\utility::flag_wait("staircase_lights"); + common_scripts\_exploder::exploder(5193); + if(level.nextgen) + { + var_00 = 100; + var_01 = 100; + } + else + { + var_00 = 70; + var_01 = 70; + } + + var_02 = 0.005; + var_03 = 0.4; + var_04 = 0.005; + var_05 = 0.4; + var_06["on"] = "school_flickering_light_on"; + var_06["off"] = "school_flickering_light_off"; + var_06["loop"] = "school_flickering_light_lp"; + var_06["vol_env"] = [[var_00,0.25],[var_01,1]]; + thread maps\_lighting::model_flicker_preset("model_flicker_02",0,var_00,var_01,1661,undefined,var_02,var_03,var_04,var_05,"flickering_light_02_off",var_06,500); + common_scripts\utility::flag_waitopen("staircase_lights"); + } +} + +//Function Number: 9 +play_flickering_light_school_03() +{ + thread maps\_lighting::model_flicker_preset("model_flicker_03",0,500,500,undefined,undefined,0.2,0.5,0.05,1); +} + +//Function Number: 10 +hallway_light_scare() +{ + var_00 = getent("light_scare_flicker","targetname"); + var_01 = getent("light_scare_flicker_bounce","targetname"); + if(level.nextgen) + { + maps\_lighting::play_flickerlight_preset("white_fire","light_scare_flicker",160); + maps\_lighting::play_flickerlight_preset("white_fire_dim","light_scare_flicker_bounce",1.5); + } + else + { + maps\_lighting::play_flickerlight_preset("white_fire","light_scare_flicker",2000); + } + + common_scripts\_exploder::exploder(5145); + maps\_utility::trigger_wait_targetname("tile_fall"); + maps\_lighting::stop_flickerlight("white_fire","light_scare_flicker",0); + maps\_lighting::stop_flickerlight("white_fire","light_scare_flicker_bounce",0); + wait(0.05); + wait(0.05); + if(isdefined(var_00)) + { + var_00 setlightintensity(4000000); + } + + var_01 setlightintensity(500000); + common_scripts\_exploder::exploder(2321); + wait(0.1); + if(isdefined(var_00)) + { + var_00 setlightintensity(0); + } + + if(isdefined(var_01)) + { + var_01 setlightintensity(0); + } + + wait(0.15); + common_scripts\_exploder::kill_exploder(2321); + common_scripts\_exploder::kill_exploder(5145); +} + +//Function Number: 11 +burke_walk_lighting() +{ + var_00 = getent("burke_walk_light","targetname"); + if(isdefined(var_00)) + { + var_00 setlightintensity(0); + } +} + +//Function Number: 12 +player_fall_lighting() +{ + common_scripts\_exploder::kill_exploder(5193); + level notify("flashlight_off"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","1"); + } + + wait(4); + common_scripts\_exploder::exploder(1669); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + } + + setblur(10,0.5); + wait(0.5); + setblur(0,1); + wait(10); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + } + + wait(2); + common_scripts\_exploder::exploder(1670); + maps\_utility::set_blur(2,0.3); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + } + + maps\_utility::set_blur(8,0.2); + maps\_utility::set_blur(0,2); + common_scripts\utility::flag_wait("flag_start_kva_2_basement"); + common_scripts\_exploder::kill_exploder(1669); +} + +//Function Number: 13 +toogle_burke_fall_light() +{ + if(level.nextgen) + { + var_00 = getent("burke_fall_light","targetname"); + var_01 = getent("burke_fall_light2","targetname"); + var_02 = getent("player_fall_light","targetname"); + var_03 = getent("burke_fall_light3","targetname"); + common_scripts\utility::flag_wait("school_player_falling"); + var_04 = getent("burke_fx_footdrop","targetname"); + level.burke overridelightingorigin(var_04.origin); + wait(1); + maps\_utility::vision_set_fog_changes("detroit_school_walk_nofog",0.5); + if(isdefined(var_00)) + { + var_00 setlightintensity(50); + } + + var_00 setlightcolor((0.2,0.4,0.8)); + if(isdefined(var_01)) + { + var_01 setlightintensity(80); + } + + var_01 setlightcolor((0.2,0.4,0.8)); + if(isdefined(var_03)) + { + var_03 setlightintensity(5); + } + + var_03 setlightcolor((0.2,0.4,0.8)); + wait(3.1); + if(isdefined(var_02)) + { + var_02 setlightintensity(700); + } + + var_02 setlightcolor((0.2,0.4,0.8)); + wait(10); + level.burke defaultlightingorigin(); + } +} + +//Function Number: 14 +setup_player_fall_fog() +{ + maps\_shg_design_tools::waittill_trigger_with_name("player_fall_fog"); + common_scripts\_exploder::exploder(5571); + maps\_shg_design_tools::waittill_trigger_with_name("lightning_single"); + common_scripts\_exploder::kill_exploder(5571); +} + +//Function Number: 15 +toggle_school_exterior_light_on() +{ + wait(0.05); + var_00 = getentarray("toggle_school_exterior_light","targetname"); + foreach(var_02 in var_00) + { + if(level.nextgen) + { + var_02 setlightintensity(5000); + continue; + } + + var_02 setlightintensity(10000); + } + + common_scripts\_exploder::exploder(2663); + common_scripts\utility::flag_wait("hide_and_seek"); + common_scripts\_exploder::kill_exploder(2663); +} + +//Function Number: 16 +toggle_school_exterior_light_off() +{ + common_scripts\utility::flag_wait("school_spotlight_off"); + var_00 = getent("toggle_school_exterior_light","targetname"); + if(isdefined(var_00)) + { + var_00 setlightintensity(0.01); + return; + } +} + +//Function Number: 17 +intro_lighting() +{ + common_scripts\utility::flag_wait("level_intro_cinematic_complete_real"); + wait(0.05); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","1.25"); + } + + if(level.nextgen) + { + setsaveddvar("r_lightgridenabletweaks",1); + maps\_utility::lerp_saveddvar("r_lightgridintensity",0.2,0.1); + } + + wait(5.5); + wait(1); + if(level.nextgen) + { + thread intro_lerp_sun(); + } + + wait(2.3); + level.player lightsetforplayer("detroit_intro_2"); + if(level.nextgen) + { + wait(13.5); + level.player lightsetforplayer("detroit_intro_1"); + wait(3); + setsaveddvar("r_mbEnable","0"); + maps\_utility::lerp_saveddvar("r_lightgridintensity",1,2); + level.player setclutforplayer("clut_detroit_camp",20); + return; + } + + wait(11); + level.player lightsetforplayer("detroit_intro_1"); + wait(3); + level.player lightsetforplayer("detroit_camp"); +} + +//Function Number: 18 +intro_dof_physically_based() +{ + common_scripts\utility::flag_wait("level_intro_cinematic_complete_real"); + level.player setphysicalviewmodeldepthoffield(9,25); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(4,35); + wait(17); + level.player setphysicaldepthoffield(4,25); + if(level.nextgen) + { + wait(4.5); + level.player setphysicaldepthoffield(4.5,16); + wait(1.5); + level.player setphysicaldepthoffield(9,80); + } + else + { + wait(4.5); + level.player setphysicaldepthoffield(2.375,18.5); + wait(1.5); + level.player setphysicaldepthoffield(9,80,2.5,3.5); + } + + wait(3); + common_scripts\utility::flag_set("flag_autofocus_on"); + if(level.currentgen) + { + common_scripts\utility::flag_init("bike_mount_dof_cg"); + } + + thread autofocus_hipenable(); +} + +//Function Number: 19 +autofocus_hipenable() +{ + common_scripts\utility::flag_wait("flag_autofocus_on"); + if(level.nextgen) + { + } + + level.player disablephysicaldepthoffieldscripting(); + setsaveddvar("r_dof_physical_hipEnable",1); + setsaveddvar("r_dof_physical_hipFstop",3.5); + setsaveddvar("r_dof_physical_hipSharpCocDiameter",0.03); + common_scripts\utility::flag_waitopen("flag_autofocus_on"); + setsaveddvar("r_dof_physical_hipEnable",0); + thread mount_bike_dof(); +} + +//Function Number: 20 +mount_bike_dof() +{ + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(1.5,40,30,30); + wait(2.5); + level.player setphysicaldepthoffield(1.5,77,30,30); + wait(2.8); + level.player setphysicaldepthoffield(1.5,20,30,30); + wait(3); + level.player setphysicaldepthoffield(5,200,30,30); + wait(2); + level.player disablephysicaldepthoffieldscripting(); + wait(3); + level.player setclutforplayer("clut_detroit_exterior_drive_1",3); +} + +//Function Number: 21 +autofocus_hipenable_bike() +{ + setsaveddvar("r_dof_physical_hipEnable",1); + setsaveddvar("r_dof_physical_hipSharpCocDiameter",0.03); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_hipFstop",3.5); + return; + } + + setsaveddvar("r_dof_physical_hipFstop",5.5); +} + +//Function Number: 22 +bike_mount_dof() +{ + common_scripts\utility::flag_clear("flag_autofocus_on"); + if(level.nextgen) + { + var_00 = level.burke; + if(isdefined(var_00.helmet_tag)) + { + var_00.helmet_tag delete(); + } + + var_00.helmet_tag = common_scripts\utility::spawn_tag_origin(); + var_01 = var_00.helmet_tag; + var_01 linkto(var_00,"J_Head",(3,10,0),(0,0,0),0); + playfxontag(common_scripts\utility::getfx("intro_point_rim"),var_01,"tag_origin"); + wait(1); + wait(5); + wait(2); + wait(2); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","1"); + } + + var_02 = getentarray("gate_top_lights1","targetname"); + foreach(var_04 in var_02) + { + var_04 setlightintensity(0); + } + + stopfxontag(common_scripts\utility::getfx("intro_point_rim"),var_01,"tag_origin"); + if(isdefined(var_00.helmet_tag)) + { + var_00.helmet_tag delete(); + } + + wait(4); + level.player setclutforplayer("clut_detroit_exterior_drive_1",2); + wait(14); + level.player setclutforplayer("",2); + return; + } + + common_scripts\utility::flag_set("bike_mount_dof_cg"); +} + +//Function Number: 23 +jetbike_dismount_red_light() +{ + level.player setclutforplayer("clut_detroit_exterior",3); + if(level.currentgen) + { + if(common_scripts\utility::flag_exist("bike_mount_dof_cg")) + { + common_scripts\utility::flag_clear("bike_mount_dof_cg"); + } + } + + thread school_jeep_light_tgl(); + common_scripts\_exploder::exploder(9405); + wait(4); + wait(7); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + } + + wait(0.05); +} + +//Function Number: 24 +hospital_breach_dof() +{ + if(level.nextgen) + { + maps\_utility::vision_set_fog_changes("detroit_hospital_capture1",2); + } + else + { + maps\_utility::vision_set_fog_changes("detroit_hospital_capture",2); + } + + level.player disablephysicaldepthoffieldscripting(); + wait(0.5); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","1.5"); + } +} + +//Function Number: 25 +intro_helipad_lights() +{ + var_00 = getentarray("det_helipad_light_on","targetname"); + var_01 = getentarray("det_helipad_light_off","targetname"); + foreach(var_03 in var_00) + { + var_03 hide(); + } + + wait(6); + thread maps\detroit_fx::cg_helipad_red_fx_lights(); + for(var_05 = 0;var_05 < 6;var_05++) + { + wait(0.75); + foreach(var_07 in var_01) + { + var_07 hide(); + } + + foreach(var_03 in var_00) + { + var_03 show(); + } + + common_scripts\_exploder::exploder(1112); + wait(0.75); + foreach(var_03 in var_00) + { + var_03 hide(); + } + + common_scripts\_exploder::kill_exploder(1112); + foreach(var_07 in var_01) + { + var_07 show(); + } + } +} + +//Function Number: 26 +gate_lights_on() +{ + var_00 = getent("door_right_rigged","targetname"); + var_01 = common_scripts\utility::getstruct("door_right_rigged_origin","targetname"); + var_00 overridelightingorigin(var_01.origin); + common_scripts\_exploder::exploder(1124); + wait(2); + level.player lightsetforplayer("jetbike_gate"); + var_02 = getent("door_lights_script2","targetname"); + if(isdefined(var_02)) + { + var_02 setlightintensity(1118200); + } + + wait(0.05); + var_03 = getent("door_lights_script1","targetname"); + if(isdefined(var_02)) + { + var_03 setlightintensity(422000); + } + + wait(0.05); + wait(0.05); +} + +//Function Number: 27 +gate_lights_off() +{ + var_00 = getentarray("gate_light_models","targetname"); + var_01 = getentarray("gate_light_models_off","targetname"); + foreach(var_03 in var_00) + { + var_03 show(); + } + + foreach(var_06 in var_01) + { + var_06 hide(); + } +} + +//Function Number: 28 +gate_lights_off_toggle_on(param_00) +{ + maps\_utility::stop_exploder(1124); + common_scripts\utility::flag_set("gate_pulse_light"); + wait(0.05); + thread gate_fx(); + wait(1); + wait(0.05); + wait(0.05); + wait(0.05); + level.player lightsetforplayer("detroit_intro_dark"); + wait(11); + common_scripts\utility::flag_set("open_massive_door"); + common_scripts\utility::flag_set("vo_drive_in"); + level.player setclutforplayer("clut_detroit_exterior_drive_2",3); +} + +//Function Number: 29 +gate_pulse_on() +{ + var_00 = getentarray("siren_white_on","targetname"); + var_01 = getentarray("siren_white_off","targetname"); + foreach(var_03 in var_00) + { + var_03 hide(); + } + + common_scripts\utility::flag_wait("gate_pulse_light"); + common_scripts\_exploder::exploder(1125); + for(var_05 = 0;var_05 < 12;var_05++) + { + foreach(var_03 in var_00) + { + var_03 show(); + } + + foreach(var_09 in var_01) + { + var_09 hide(); + } + + wait(0.15); + foreach(var_03 in var_00) + { + var_03 hide(); + } + + foreach(var_09 in var_01) + { + var_09 show(); + } + + wait(0.85); + } + + if(level.nextgen) + { + setsaveddvar("r_mbVelocityScalar","1.5"); + } + + maps\_utility::stop_exploder(1125); +} + +//Function Number: 30 +gate_model_spin() +{ + var_00 = getentarray("siren_orange_model","targetname"); + var_01 = getentarray("siren_light","targetname"); + var_02 = 0; + foreach(var_04 in var_01) + { + var_04 setlightintensity(3000000); + var_04 setlightcolor((1,1,1)); + } + + while(var_02 < 15) + { + foreach(var_07 in var_00) + { + var_07 rotateby((360,0,0),1); + } + + foreach(var_04 in var_01) + { + var_04 rotateby((360,0,0),1); + } + + wait(1); + var_02++; + } +} + +//Function Number: 31 +gate_earthquake() +{ + earthquake(0.1,7,level.player.origin,1600); + wait(4); + earthquake(0.4,1,level.player.origin,1600); +} + +//Function Number: 32 +gate_fx() +{ + thread gate_rumble(); + wait(3); +} + +//Function Number: 33 +turn_on_helmet_light_bright() +{ + wait(7); + var_00 = level.player; + if(isdefined(var_00.helmet_tag)) + { + var_00.helmet_tag delete(); + } + + if(isdefined(var_00.flashlight_tag)) + { + var_00.flashlight_tag delete(); + } + + var_00.helmet_tag = common_scripts\utility::spawn_tag_origin(); + var_01 = var_00.helmet_tag; + var_01 linktoplayerview(var_00,"tag_origin",(0,0,2),(0,0,0),0); + playfxontag(common_scripts\utility::getfx("player_light_bright"),var_01,"tag_origin"); +} + +//Function Number: 34 +turn_off_light_bright() +{ + var_00 = level.player; + if(isdefined(var_00.helmet_tag)) + { + var_00.helmet_tag delete(); + } + + if(isdefined(var_00.flashlight_tag)) + { + var_00.flashlight_tag delete(); + } +} + +//Function Number: 35 +turn_on_helmet_light() +{ + var_00 = level.player; + if(isdefined(var_00.helmet_tag)) + { + var_00.helmet_tag delete(); + } + + if(isdefined(var_00.flashlight_tag)) + { + var_00.flashlight_tag delete(); + } + + var_00.helmet_tag = common_scripts\utility::spawn_tag_origin(); + var_01 = var_00.helmet_tag; + var_01 linktoplayerview(var_00,"tag_origin",(0,0,2),(0,0,0),0); + playfxontag(common_scripts\utility::getfx("player_light"),var_01,"tag_origin"); +} + +//Function Number: 36 +turn_off_light() +{ + var_00 = level.player; + if(isdefined(var_00.helmet_tag)) + { + var_00.helmet_tag delete(); + } + + if(isdefined(var_00.flashlight_tag)) + { + var_00.flashlight_tag delete(); + } +} + +//Function Number: 37 +turn_on_weapon_light() +{ + var_00 = level.player; + if(isdefined(var_00.helmet_tag)) + { + var_00.helmet_tag delete(); + } + + if(isdefined(var_00.flashlight_tag)) + { + var_00.flashlight_tag delete(); + } + + var_00.flashlight_tag = common_scripts\utility::spawn_tag_origin(); + var_01 = var_00.flashlight_tag; + var_01 linktoplayerview(var_00,"tag_flash",(0,0,-2),(0,0,0),0); + playfxontag(common_scripts\utility::getfx("player_light2"),var_01,"tag_origin"); +} + +//Function Number: 38 +turn_on_cheap_flashlight() +{ + self endon("death"); + var_00 = ["flashlight_enemy"]; + self.flashfx = var_00[randomint(var_00.size)]; + playfxontag(common_scripts\utility::getfx(self.flashfx),self,"tag_flash"); +} + +//Function Number: 39 +train_bridge_light_on() +{ + var_00 = getent("train_bridge_light","targetname"); + if(isdefined(var_00)) + { + var_00 setlightintensity(100000000); + } +} + +//Function Number: 40 +lightning_call(param_00,param_01,param_02) +{ + common_scripts\utility::flag_init("lightning_on"); + wait(0.05); + common_scripts\utility::flag_set("lightning_on"); +} + +//Function Number: 41 +lightning_call_single(param_00,param_01,param_02,param_03) +{ + for(;;) + { + maps\_shg_design_tools::waittill_trigger_with_name("lightning_single"); + thread toggle_lighting_spot01_lightning(); + level.player playrumbleonentity("heavy_1s"); + var_04 = getdvar("vision_set_current"); + var_05 = getmapsundirection(); + setsundirection(var_05); + level.lite_settings = vectortoangles(var_05); + level.new_lite_settings = level.lite_settings; + var_06 = (randomfloatrange(20,30) * -1,randomfloatrange(20,25),0); + var_07 = (-59.4,105.5,0); + var_08 = level.new_lite_settings + var_06; + var_09 = anglestoforward(var_08); + setsundirection(var_09); + setsunlight(0.05,0.05,0.05); + wait(0.05); + setblur(0.5,param_01); + if(isdefined(param_03)) + { + common_scripts\_exploder::exploder(param_03); + } + + wait(randomfloatrange(0.1,0.4)); + resetsunlight(); + resetsundirection(); + setblur(0,param_02); + wait(40); + } +} + +//Function Number: 42 +lightning_call_gate(param_00,param_01,param_02,param_03) +{ + var_04 = getdvar("vision_set_current"); + var_05 = getmapsundirection(); + setsundirection(var_05); + level.lite_settings = vectortoangles(var_05); + level.new_lite_settings = level.lite_settings; + var_06 = (randomfloatrange(20,30) * -1,randomfloatrange(20,25),0); + var_07 = (-59.4,105.5,0); + var_08 = level.new_lite_settings + var_06; + var_09 = anglestoforward(var_08); + setsundirection(var_09); + setsunlight(0.05,0.05,0.05); + wait(0.05); + setblur(0.3,param_01); + if(isdefined(param_03)) + { + common_scripts\_exploder::exploder(param_03); + } + + wait(randomfloatrange(0.2,0.5)); + if(isdefined(param_03)) + { + maps\_utility::stop_exploder(param_03); + } + + resetsunlight(); + resetsundirection(); + setblur(0,param_02); + wait(40); +} + +//Function Number: 43 +lightning_call_traversal(param_00,param_01,param_02,param_03) +{ + for(;;) + { + wait(1); + while(common_scripts\utility::flag("start_exit_trains") == 1) + { + var_04 = getdvar("vision_set_current"); + var_05 = getmapsundirection(); + setsundirection(var_05); + level.lite_settings = vectortoangles(var_05); + level.new_lite_settings = level.lite_settings; + var_06 = (randomfloatrange(20,30) * -1,randomfloatrange(20,25),0); + var_07 = (-59.4,105.5,0); + var_08 = level.new_lite_settings + var_06; + var_09 = anglestoforward(var_08); + setsundirection(var_09); + setsunlight(0.05,0.05,0.05); + setblur(0.1,param_01); + if(isdefined(param_03)) + { + common_scripts\_exploder::exploder(param_03); + } + + wait(randomfloatrange(0.2,0.5)); + if(isdefined(param_03)) + { + maps\_utility::stop_exploder(param_03); + } + + resetsunlight(); + resetsundirection(); + setblur(0,param_02); + wait(8); + } + } +} + +//Function Number: 44 +toggle_lighting_spot01_on() +{ + if(level.nextgen) + { + var_00 = getent("lightning_spot_01","targetname"); + var_01 = getent("lightning_spot_02","targetname"); + common_scripts\utility::flag_wait("flag_player_shimmy_start"); + if(isdefined(var_00)) + { + var_00 setlightintensity(2000); + } + + var_00 setlightcolor((0.8,0.9,1)); + var_01 setlightintensity(800); + var_01 setlightcolor((0.8,0.9,1)); + return; + } + + common_scripts\utility::flag_wait("flag_player_shimmy_start"); + var_00 = getent("lightning_spot_01","targetname"); + if(isdefined(var_00)) + { + var_00 setlightintensity(1); + var_00 setlightcolor((0.8,0.9,1)); + } +} + +//Function Number: 45 +toggle_lighting_spot01_on_checkpoint() +{ + if(level.nextgen) + { + var_00 = getent("lightning_spot_01","targetname"); + var_01 = getent("lightning_spot_02","targetname"); + if(isdefined(var_00)) + { + var_00 setlightintensity(2000); + } + + var_00 setlightcolor((0.5,0.7,1)); + var_01 setlightintensity(800); + var_01 setlightcolor((0.5,0.7,1)); + return; + } + + var_00 = getent("lightning_spot_01","targetname"); + if(isdefined(var_00)) + { + var_00 setlightintensity(1); + var_00 setlightcolor((0.5,0.7,1)); + } +} + +//Function Number: 46 +basement_fog_checkpoint() +{ + common_scripts\_exploder::exploder(5571); + maps\_shg_design_tools::waittill_trigger_with_name("lightning_single"); + common_scripts\_exploder::kill_exploder(5571); +} + +//Function Number: 47 +toggle_lighting_spot01_lightning() +{ + var_00 = getent("lightning_spot_01","targetname"); + var_01 = common_scripts\utility::getstruct("old_origin","targetname"); + var_02 = common_scripts\utility::getstruct("new_origin","targetname"); + if(isdefined(var_00)) + { + var_00 setlightintensity(randomfloatrange(10055,50050)); + var_00.origin = var_02.origin; + var_00 soundscripts\_snd::snd_message("lightning_strike"); + wait(1); + if(level.nextgen) + { + var_00 setlightintensity(1000); + } + else + { + var_00 setlightintensity(1); + } + + var_00.origin = var_01.origin; + } +} + +//Function Number: 48 +burke_intro_lighting() +{ + common_scripts\utility::flag_wait("level_intro_cinematic_complete_real"); + wait(1); + var_00 = level.burke; + if(isdefined(var_00.helmet_tag)) + { + var_00.helmet_tag delete(); + } + + if(isdefined(var_00.flashlight_tag)) + { + var_00.flashlight_tag delete(); + } + + var_00.helmet_tag = common_scripts\utility::spawn_tag_origin(); + var_01 = var_00.helmet_tag; + var_00.helmet_tag2 = common_scripts\utility::spawn_tag_origin(); + var_02 = var_00.helmet_tag2; + var_01 linkto(var_00,"TAG_ORIGIN",(-9,5,65),(0,0,0),0); + var_02 linkto(var_00,"J_Head",(0,20,0),(0,0,0),0); + level waittill("end_burke_intro_talk"); +} + +//Function Number: 49 +guy_outside_school(param_00) +{ + wait(7); + param_00 add_enemy_flashlight("flashlight","bright"); + param_00 maps\_utility::notify_delay("flashlight_off",21); + maps\_utility::stop_exploder(9405); +} + +//Function Number: 50 +lerp_origin_function(param_00,param_01,param_02) +{ + param_00 notify("stop lerp"); + param_00 endon("stop lerp"); + param_00 endon("death"); + var_03 = param_00.origin; + var_04 = 0; + while(var_04 < param_01) + { + param_00.origin = vectorlerp(var_03,param_02,var_04 / param_01); + var_04 = var_04 + 0.05; + wait(0.05); + } + + param_00.origin = param_02; +} + +//Function Number: 51 +train_spotlight_lerp() +{ + var_00 = getent("lerp_light","targetname"); + var_01 = common_scripts\utility::getstruct("origin_final","targetname"); + var_02 = common_scripts\utility::getstruct("origin_start","targetname"); + var_03 = common_scripts\utility::spawn_tag_origin(); + var_03.origin = var_00.origin; + var_03.angles = var_00.angles; + maps\_shg_design_tools::waittill_trigger_with_name("train_scare"); + var_00 setlightshadowstate("force_on"); + soundscripts\_snd::snd_message("train_scare"); + thread train_rumble(); + earthquake(0.05,1,level.player.origin,1600); + wait(0.5); + earthquake(0.12,1,level.player.origin,1600); + var_00 moveto(var_02.origin,0.15,0.05,0.05); + wait(0.5); + earthquake(0.2,5,level.player.origin,1600); + var_00 setlightintensity(8000); + thread lerp_origin_function(var_00,9,var_01.origin); + var_03 linkto(var_00,"",(0,0,0),(0,0,0)); + wait(1); + earthquake(0.12,4,level.player.origin,1600); + wait(2); + earthquake(0.05,4,level.player.origin,1600); + thread maps\_lighting::lerp_spot_intensity("lerp_light",2,1); + wait(6.5); + var_00 setlightshadowstate("force_off"); +} + +//Function Number: 52 +train_rumble() +{ + level.player playrumbleonentity("light_2s"); + wait(0.5); + level.player playrumbleonentity("light_2s"); + wait(0.5); + level.player playrumbleonentity("light_2s"); + wait(0.5); + level.player playrumbleonentity("heavy_2s"); + wait(0.5); + level.player playrumbleonentity("heavy_2s"); + wait(0.5); + level.player playrumbleonentity("heavy_2s"); + wait(0.5); + level.player playrumbleonentity("light_2s"); + wait(0.5); + level.player playrumbleonentity("light_2s"); + wait(0.5); + level.player playrumbleonentity("light_2s"); +} + +//Function Number: 53 +gate_rumble() +{ + level.player playrumbleonentity("light_3s"); + wait(1); + level.player playrumbleonentity("light_3s"); + wait(1); + level.player playrumbleonentity("light_2s"); + wait(2); + level.player playrumbleonentity("heavy_1s"); +} + +//Function Number: 54 +train_radiosity() +{ +} + +//Function Number: 55 +player_school_flashlight() +{ + maps\_utility::trigger_wait_targetname("jetbike_lights_off"); + level.player add_player_flashlight(); + level waittill("player_door_open"); + level notify("all_flashlights_off"); + wait(4); + level.burke add_burke_flashlight("flashlight",1); + common_scripts\_exploder::kill_exploder(5622); + common_scripts\utility::flag_wait("flag_player_shimmy_start"); + level.player notify("flashlight_off"); +} + +//Function Number: 56 +add_player_flashlight(param_00,param_01,param_02) +{ + var_03 = level.player common_scripts\utility::spawn_tag_origin(); + var_03 linktoplayerview(level.player,"tag_flash",(0,-10,10),(0,0,0),0); + playfxontag(common_scripts\utility::getfx("player_light_med2"),var_03,"tag_origin"); + level.player.tag_weapon = var_03; + thread monitor_player_light_off(); +} + +//Function Number: 57 +player_spotlight(param_00,param_01,param_02,param_03) +{ + self endon("death"); + self endon("flashlight_off"); + thread monitor_player_light_off(); + self.roaming_light = param_00 common_scripts\utility::spawn_tag_origin(); + target_set(self.roaming_light); + playfxontag(common_scripts\utility::getfx("player_light_med2"),self.roaming_light,"tag_origin"); + while(isalive(self)) + { + var_04 = param_00.origin; + var_05 = param_00.angles; + var_06 = anglestoforward(var_05) * 400; + var_07 = anglestoforward(var_05) * -20; + var_08 = bullettrace(var_04,var_04 + var_06,1,param_00,0); + var_09 = bullettrace(var_08["position"],var_08["position"] + var_07,1,self,0); + self.roaming_light.origin = var_09["position"]; + wait 0.05; + } +} + +//Function Number: 58 +attach_light_to_face(param_00,param_01) +{ + self.facelight = common_scripts\utility::spawn_tag_origin(); + if(!isdefined(param_00) || !param_00) + { + if(!isdefined(param_01) || !param_01) + { + playfxontag(common_scripts\utility::getfx("point_amber"),self.facelight,"tag_origin"); + } + else if(isdefined(param_01) && param_01) + { + playfxontag(common_scripts\utility::getfx("point_amber_dim"),self.facelight,"tag_origin"); + } + } + else + { + playfxontag(common_scripts\utility::getfx("point_blue_med"),self.facelight,"tag_origin"); + } + + var_02 = maps\_shg_design_tools::offset_position_from_tag("forward","tag_eye",20); + self.facelight.origin = var_02; + self.facelight linkto(self,"tag_eye"); + common_scripts\utility::waittill_any("death","facelight_off"); + if(isdefined(self) && isdefined(self.facelight)) + { + self.facelight delete(); + } +} + +//Function Number: 59 +remove_light_from_face() +{ + self notify("facelight_off"); +} + +//Function Number: 60 +add_enemy_flashlight(param_00,param_01,param_02,param_03) +{ + var_04 = cheap_flashlight_setup(param_00,param_01,param_02,param_03); + thread fake_spotlight(var_04,param_01,param_02,0); + self.flashlight_on = 1; + self.flashlight_parm_type = param_00; + self.flashlight_parm_spotlight = param_01; + self.flashlight_parm_point_light = param_02; + self.flashlight_parm_offset = param_03; +} + +//Function Number: 61 +add_basement_enemy_flashlight(param_00,param_01,param_02) +{ + var_03 = basement_enemy_flashlight_setup(param_00,param_01,param_02); + thread fake_spotlight("tag_light",param_01,param_02,0); +} + +//Function Number: 62 +add_burke_flashlight(param_00,param_01,param_02) +{ + var_03 = burke_cheap_flashlight_setup(param_00,param_01,param_02); + level.burke thread fake_spotlight(var_03,param_01,param_02,1); +} + +//Function Number: 63 +cheap_flashlight_setup(param_00,param_01,param_02,param_03) +{ + var_04 = self; + var_05 = "tag_eye"; + if(isdefined(param_00) && param_00 == "flashlight") + { + var_06 = self gettagorigin("tag_inhand"); + var_07 = self gettagangles("tag_inhand"); + self.flashlight = spawn("script_model",var_06); + self.flashlight setmodel("com_flashlight_on_physics"); + if(isdefined(param_03)) + { + self.flashlight.angles = anglestoforward(var_07) * param_03; + } + else + { + self.flashlight.angles = var_07; + } + + self.flashlight linkto(self,"tag_inhand"); + var_04 = self.flashlight; + var_05 = "tag_light"; + thread flashlight_off_think(); + } + + return var_05; +} + +//Function Number: 64 +basement_enemy_flashlight_setup(param_00,param_01,param_02) +{ + var_03 = self; + var_04 = "tag_weapon_left"; + if(isdefined(param_00) && param_00 == "flashlight") + { + var_05 = self gettagorigin("tag_inhand"); + var_06 = self gettagangles("tag_inhand"); + self.flashlight = spawn("script_model",var_05); + self.flashlight setmodel("com_flashlight_on_physics"); + self.flashlight.angles = var_06; + self.flashlight linkto(self,"tag_inhand"); + var_03 = self.flashlight; + var_04 = "tag_weapon_left"; + thread flashlight_off_think(); + } + + return var_04; +} + +//Function Number: 65 +burke_cheap_flashlight_setup(param_00,param_01,param_02) +{ + var_03 = "tag_flash"; + return var_03; +} + +//Function Number: 66 +flashlight_off_think() +{ + var_00 = self.flashlight; + var_01 = common_scripts\utility::waittill_any_return("death","damage","alert","flashlight_off"); + stopfxontag(common_scripts\utility::getfx(self.fx_type),var_00,"tag_light"); + var_00 notify("flashlight_off"); + var_00.light_tag delete(); + var_00 delete(); +} + +//Function Number: 67 +monitor_player_light_off() +{ + common_scripts\utility::waittill_any("flashlight_off","death"); + if(!isdefined(self)) + { + return; + } + + stopfxontag(common_scripts\utility::getfx("player_light_med2"),self.tag_weapon,"tag_origin"); + self.tag_weapon delete(); +} + +//Function Number: 68 +monitor_turn_light_off() +{ + common_scripts\utility::waittill_any_ents(self,"flashlight_off",self,"death",level,"all_flashlights_off"); + if(!isdefined(self)) + { + return; + } + + if(isdefined(self.light_tag)) + { + stopfxontag(common_scripts\utility::getfx("point_amber"),self.light_tag,"tag_origin"); + } + + if(isdefined(self.fx_tag) && isdefined(self.fx_type)) + { + stopfxontag(common_scripts\utility::getfx(self.fx_type),self,self.fx_tag); + } +} + +//Function Number: 69 +fake_spotlight(param_00,param_01,param_02,param_03) +{ + self endon("death"); + self endon("damage"); + self endon("alert"); + level endon("all_flashlights_off"); + if(param_00 == "tag_light") + { + var_04 = self.flashlight; + } + else + { + var_04 = self; + } + + var_04 endon("flashlight_off"); + var_04 thread monitor_turn_light_off(); + self.disablelongdeath = 1; + var_04.light_tag = common_scripts\utility::spawn_tag_origin(); + var_05 = "flashlight_enemy"; + if(isdefined(param_01)) + { + if(isstring(param_01)) + { + if(param_01 == "bright") + { + var_05 = "player_light_bright"; + } + + if(param_01 == "med") + { + var_05 = "player_light_med"; + } + + if(param_01 == "light") + { + var_05 = "player_light_light"; + } + } + else + { + var_05 = "player_light"; + } + + if(isdefined(param_02) && param_02) + { + playfxontag(common_scripts\utility::getfx("point_amber"),var_04.light_tag,"tag_origin"); + } + } + else if(isdefined(param_03) && param_03) + { + playfxontag(common_scripts\utility::getfx("point_blue"),var_04.light_tag,"tag_origin"); + } + else + { + playfxontag(common_scripts\utility::getfx("point_amber"),var_04.light_tag,"tag_origin"); + } + + playfxontag(common_scripts\utility::getfx(var_05),var_04,param_00); + thread kill_flashlight_fx(common_scripts\utility::getfx(var_05),var_04,param_00); + var_04.fx_tag = param_00; + self.fx_type = var_05; + var_04.fx_type = var_05; + while(isalive(self)) + { + var_06 = var_04 gettagorigin(param_00); + var_07 = var_04 gettagangles(param_00); + var_08 = anglestoforward(var_07) * 400; + var_09 = anglestoforward(var_07) * -20; + var_0A = bullettrace(var_06,var_06 + var_08,1,var_04,0); + var_0B = bullettrace(var_0A["position"],var_0A["position"] + var_09,1,var_04,0); + var_04.light_tag.origin = var_0B["position"]; + wait 0.05; + } +} + +//Function Number: 70 +kill_flashlight_fx(param_00,param_01,param_02) +{ + level waittill("all_flashlights_off"); + if(isdefined(param_01)) + { + killfxontag(param_00,param_01,param_02); + } +} + +//Function Number: 71 +attach_pointlight_to_beam(param_00) +{ + var_01 = common_scripts\utility::spawn_tag_origin(); + playfxontag(common_scripts\utility::getfx("point_amber"),var_01,"tag_origin"); + for(;;) + { + var_02 = self gettagorigin(param_00); + var_03 = self gettagangles(param_00); + var_04 = anglestoforward(var_03) * 800; + var_05 = anglestoforward(var_03) * -20; + var_06 = bullettrace(var_02,var_02 + var_04,1,self,0); + var_07 = bullettrace(var_06["position"],var_06["position"] + var_05,1,self,0); + thread common_scripts\utility::draw_line_for_time(self.origin,var_07["position"],0,0,1,0.05); + var_01.origin = var_07["position"]; + wait 0.05; + } +} + +//Function Number: 72 +sundark_manage() +{ + for(;;) + { + common_scripts\utility::flag_waitopen("lightning_on"); + setsunlight(0,0,0); + common_scripts\utility::flag_wait("lightning_on"); + resetsunlight(); + } +} + +//Function Number: 73 +debug_flashlight_basement_switch() +{ + self endon("death"); + for(;;) + { + var_00 = ""; + if(self.has_expensive_flashlight == 1) + { + var_00 = "expensive"; + } + else + { + var_00 = "cheap"; + } + + wait(0.05); + } +} + +//Function Number: 74 +guy_basement_flashlight_monitor() +{ + self endon("death"); + for(;;) + { + level waittill("update_basement_flashlights"); + self notify("flashlight_off"); + if(isdefined(self.give_expensive_flashlight)) + { + self.give_expensive_flashlight = undefined; + self.has_expensive_flashlight = 1; + add_basement_enemy_flashlight("flashlight","med"); + continue; + } + + add_enemy_flashlight("flashlight","med"); + self.has_expensive_flashlight = 0; + } +} + +//Function Number: 75 +guy_flashlight_basement_switch(param_00,param_01) +{ + self endon("death"); + thread guy_basement_flashlight_monitor(); + self.has_expensive_flashlight = 0; + if(param_01) + { + self.give_expensive_flashlight = 1; + level notify("update_basement_flashlights"); + } + else + { + add_enemy_flashlight("flashlight","med"); + } + + thread debug_flashlight_basement_switch(); + for(;;) + { + maps\_shg_design_tools::waittill_trigger_with_name(param_00); + if(!self.has_expensive_flashlight) + { + self.give_expensive_flashlight = 1; + level notify("update_basement_flashlights"); + } + } +} + +//Function Number: 76 +enemy_flashlight_think_on(param_00) +{ + self endon("death"); + for(;;) + { + maps\_shg_design_tools::waittill_trigger_with_name(param_00); + if(!isdefined(self.flashlight_on) || self.flashlight_on == 0) + { + add_enemy_flashlight(self.flashlight_parm_type,self.flashlight_parm_spotlight,self.flashlight_parm_point_light,self.flashlight_parm_offset); + self.flashlight_on = 1; + } + } +} + +//Function Number: 77 +enemy_flashlight_think_off(param_00) +{ + self endon("death"); + for(;;) + { + maps\_shg_design_tools::waittill_trigger_with_name(param_00); + if(isdefined(self.flashlight_on) && self.flashlight_on == 1) + { + self notify("flashlight_off"); + self.flashlight_on = undefined; + } + } +} + +//Function Number: 78 +enemy_flashlight_toggle_think(param_00,param_01) +{ + thread enemy_flashlight_think_on(param_00); + thread enemy_flashlight_think_off(param_01); +} + +//Function Number: 79 +grab_lighting() +{ + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar",".5"); + } + + common_scripts\_exploder::exploder(1685); + wait(11); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + common_scripts\_exploder::kill_exploder(1685); + } +} + +//Function Number: 80 +hospital_flicker_lights() +{ + if(level.nextgen) + { + maps\_utility::trigger_wait_targetname("team_move_hospital"); + maps\_lighting::play_flickerlight_preset("white_fire","hospital_pulse_01",290000); + maps\_lighting::play_flickerlight_preset("white_fire","hospital_pulse_02",80000); + } +} + +//Function Number: 81 +burke_red_arm_light() +{ + maps\_shg_design_tools::waittill_trigger_with_name("move_burke_ahead"); + level.burke.red_point = common_scripts\utility::spawn_tag_origin(); + var_00 = level.burke.red_point; + var_00 linkto(level.burke,"J_Elbow_LE",(4,-6,0),(0,0,0),0); + playfxontag(common_scripts\utility::getfx("red_point"),var_00,"tag_origin"); +} + +//Function Number: 82 +burke_red_arm_light_checkpoint() +{ + level.burke.red_point = common_scripts\utility::spawn_tag_origin(); + var_00 = level.burke.red_point; + var_00 linkto(level.burke,"J_Elbow_LE",(4,-6,0),(160,90,90),0); + if(common_scripts\utility::flag("red_dim") == 1) + { + playfxontag(common_scripts\utility::getfx("red_point_dim"),var_00,"tag_origin"); + } + else + { + playfxontag(common_scripts\utility::getfx("red_point"),var_00,"tag_origin"); + } + + level waittill("kill_burke_red_light"); + if(isdefined(level.burke.red_point)) + { + level.burke.red_point delete(); + } +} + +//Function Number: 83 +joker_red_arm_light_checkpoint() +{ + level.joker.red_point = common_scripts\utility::spawn_tag_origin(); + var_00 = level.joker.red_point; + var_00 linkto(level.joker,"J_Elbow_LE",(4,-6,0),(160,90,90),0); + playfxontag(common_scripts\utility::getfx("red_point_dim"),var_00,"tag_origin"); + level waittill("kill_joker_red_light"); + if(isdefined(level.joker.red_point)) + { + level.joker.red_point delete(); + } +} + +//Function Number: 84 +train_lighting(param_00,param_01,param_02) +{ + param_00 endon("death"); + param_01 endon("death"); + param_02 endon("death"); + wait(0.1); + if(common_scripts\utility::flag("jetbike_dynfx_on") == 1) + { + for(;;) + { + common_scripts\utility::flag_wait("lightning_on"); + playfxontag(common_scripts\utility::getfx("det_dyn_spotlight_train_nolight"),param_01,"tag_origin"); + playfxontag(common_scripts\utility::getfx("det_track_water_splash"),param_02,"tag_origin"); + common_scripts\utility::flag_waitopen("lightning_on"); + killfxontag(common_scripts\utility::getfx("det_dyn_spotlight_train_nolight"),param_01,"tag_origin"); + killfxontag(common_scripts\utility::getfx("det_track_water_splash"),param_02,"tag_origin"); + } + + return; + } + + for(;;) + { + common_scripts\utility::flag_wait("lightning_on"); + if(common_scripts\utility::flag("alleyway_train") == 1) + { + playfxontag(common_scripts\utility::getfx("det_dyn_spotlight_train_lrg"),param_00,"tag_origin"); + playfxontag(common_scripts\utility::getfx("det_track_water_splash"),param_02,"tag_origin"); + common_scripts\utility::flag_waitopen("alleyway_train"); + killfxontag(common_scripts\utility::getfx("det_dyn_spotlight_train_lrg"),param_00,"tag_origin"); + killfxontag(common_scripts\utility::getfx("det_track_water_splash"),param_02,"tag_origin"); + continue; + } + + playfxontag(common_scripts\utility::getfx("det_dyn_spotlight_train"),param_00,"tag_origin"); + playfxontag(common_scripts\utility::getfx("det_track_water_splash"),param_02,"tag_origin"); + common_scripts\utility::flag_waitopen("lightning_on"); + killfxontag(common_scripts\utility::getfx("det_dyn_spotlight_train"),param_00,"tag_origin"); + killfxontag(common_scripts\utility::getfx("det_track_water_splash"),param_02,"tag_origin"); + } +} + +//Function Number: 85 +trigger_chopper_spotlight_follow(param_00,param_01) +{ + self endon("death"); + level endon("kill_spotlight"); + if(!isdefined(self.spotlight)) + { + self.spotlight = common_scripts\utility::spawn_tag_origin(); + self.spotlight thread handle_spotlight_fx(param_01); + } + + for(;;) + { + self.spotlight.origin = maps\_shg_design_tools::offset_position_from_tag("down","tag_light_nose",0); + var_02 = param_00.origin + param_00 maps\_shg_utility::get_differentiated_velocity() * 0.3; + var_03 = (randomfloatrange(-20,20),randomfloatrange(-20,20),0); + var_04 = vectortoangles(var_02 + var_03 - self.spotlight.origin); + self.spotlight.angles = var_04; + wait(randomfloat(0.05)); + } +} + +//Function Number: 86 +handle_spotlight_fx(param_00) +{ + if(param_00) + { + var_01 = ["heli_spotlight_god","heli_spot_flare"]; + } + else + { + var_01 = ["heli_spotlight","heli_spot_flare"]; + } + + foreach(var_03 in var_01) + { + playfxontag(common_scripts\utility::getfx(var_03),self,"tag_origin"); + } + + level waittill("kill_spotlight"); + foreach(var_03 in var_01) + { + killfxontag(common_scripts\utility::getfx(var_03),self,"tag_origin"); + } + + wait 0.05; + self delete(); +} + +//Function Number: 87 +kill_spotlight() +{ + level notify("kill_spotlight"); + wait(0.5); +} + +//Function Number: 88 +trigger_chopper_spotlight_straight(param_00) +{ + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 linkto(self,"tag_light_nose",(0,0,0),(28,0,0)); + var_01 thread handle_spotlight_fx(param_00); +} + +//Function Number: 89 +show_hidden_rail() +{ + if(level.nextgen) + { + var_00 = getent("hidden_rail_01","targetname"); + var_01 = getent("hidden_rail_02","targetname"); + var_02 = getent("hidden_rail_03","targetname"); + var_03 = getent("hidden_rail_04","targetname"); + var_04 = getent("hidden_rail_11","targetname"); + var_05 = getent("hidden_rail_12","targetname"); + var_06 = getent("hidden_rail_13","targetname"); + var_07 = getent("hidden_rail_14","targetname"); + var_08 = getent("hidden_rail_15","targetname"); + var_09 = getent("hidden_rail_16","targetname"); + var_0A = getent("hidden_rail_17","targetname"); + var_0B = getent("track_model_01","targetname"); + var_0C = getent("track_model_02","targetname"); + var_0D = common_scripts\utility::getstruct("rail_pos_01","targetname"); + var_0E = common_scripts\utility::getstruct("rail_pos_02","targetname"); + var_0F = common_scripts\utility::getstruct("rail_pos_03","targetname"); + var_10 = common_scripts\utility::getstruct("rail_pos_04","targetname"); + var_11 = common_scripts\utility::getstruct("rail_pos_11","targetname"); + var_12 = common_scripts\utility::getstruct("rail_pos_12","targetname"); + var_13 = common_scripts\utility::getstruct("rail_pos_13","targetname"); + var_14 = common_scripts\utility::getstruct("rail_pos_14","targetname"); + var_15 = common_scripts\utility::getstruct("rail_pos_15","targetname"); + var_16 = common_scripts\utility::getstruct("rail_pos_16","targetname"); + var_17 = common_scripts\utility::getstruct("rail_pos_17","targetname"); + var_18 = common_scripts\utility::getstruct("track_model_org_01","targetname"); + var_19 = common_scripts\utility::getstruct("track_model_org_02","targetname"); + var_00 hide(); + var_01 hide(); + var_02 hide(); + var_03 hide(); + var_04 hide(); + var_05 hide(); + var_06 hide(); + var_07 hide(); + var_08 hide(); + var_09 hide(); + var_0A hide(); + var_0B hide(); + var_0C hide(); + common_scripts\utility::flag_wait("capture_start"); + var_00 show(); + var_01 show(); + var_02 show(); + var_03 show(); + var_04 show(); + var_05 show(); + var_06 show(); + var_07 show(); + var_08 show(); + var_09 show(); + var_0A show(); + var_0B show(); + var_0C show(); + var_00.origin = var_0D.origin; + var_01.origin = var_0E.origin; + var_02.origin = var_0F.origin; + var_03.origin = var_10.origin; + var_04.origin = var_11.origin; + var_05.origin = var_12.origin; + var_06.origin = var_13.origin; + var_07.origin = var_14.origin; + var_08.origin = var_15.origin; + var_09.origin = var_16.origin; + var_0A.origin = var_17.origin; + var_0B.origin = var_18.origin; + var_0C.origin = var_19.origin; + } +} + +//Function Number: 90 +exit_drive_jetbike_lighting() +{ + level.jetbike thread exit_drive_jetbike_lights_player(); + level.jetbike thread maps\detroit_exit_drive::exit_drive_player_jetbike_initial_lights(); + level.burke_bike thread exit_drive_jetbike_lights_ai(); +} + +//Function Number: 91 +exit_drive_jetbike_lights_player() +{ + for(;;) + { + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","1.25"); + } + + common_scripts\utility::flag_wait("exitdrive_lights_on"); + common_scripts\utility::flag_set("jetbike_dynfx_on"); + var_00 = maps\_shg_utility::play_fx_with_handle("det_dyn_spotlight_jetbike",self,"tag_headlight"); + common_scripts\utility::flag_waitopen("exitdrive_lights_on"); + maps\_shg_utility::kill_fx_with_handle(var_00); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + } + + wait(0.05); + } +} + +//Function Number: 92 +exit_drive_jetbike_lights_ai() +{ + level.burke_bike thread maps\detroit_jetbike::intro_drive_jetbike_lights_friendlies(); +} + +//Function Number: 93 +ending_mech_lighting() +{ + var_00 = getentarray("gate_light_02_models","targetname"); + var_01 = getentarray("gate_light_02_models_off","targetname"); + foreach(var_03 in var_00) + { + var_03 show(); + } + + foreach(var_06 in var_01) + { + var_06 hide(); + } + + common_scripts\_exploder::exploder(9125); + var_08 = common_scripts\utility::getstruct("light_ending_rim","targetname"); + var_09 = common_scripts\utility::getstruct("light_ending_key","targetname"); + var_0A = getent("door_lights_script1","targetname"); + var_0B = getent("heli_light_02","targetname"); + var_0C = getent("ending_light_02","targetname"); + if(isdefined(var_0A)) + { + var_0A.origin = var_08.origin; + var_0A setlightintensity(320000); + var_0A setlightcolor((1,1,1)); + var_0A rotateby((0,-45,0),0.1); + } + + if(isdefined(var_0B)) + { + var_0B setlightintensity(600000); + var_0B setlightcolor((1,0.5,0.25)); + } + + if(isdefined(var_0C)) + { + var_0C setlightintensity(190000); + var_0C setlightcolor((1,0.5,0.25)); + } +} + +//Function Number: 94 +move_mech_origins(param_00) +{ + level waittill("vfx_player_jetbike_stops"); + wait(3); + var_01 = common_scripts\utility::getstruct("mech_new_origin2","targetname"); +} + +//Function Number: 95 +final_chopper_lighting(param_00) +{ + var_01 = getent("heli_light","targetname"); + wait(0.05); + if(isdefined(var_01)) + { + var_01 setlightintensity(28200000); + var_01 setlightcolor((1,0.9,0.6)); + } + + level.bones_bike maps\detroit_jetbike::intro_drive_jetbike_lights_friendlies(); + level.joker_bike maps\detroit_jetbike::intro_drive_jetbike_lights_friendlies(); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(15.5,400); + if(level.nextgen) + { + maps\_utility::lerp_saveddvar("r_mbVelocityScalar",1,1); + wait(5); + var_02 = getent("reflection_white_bottom","targetname"); + param_00 overridereflectionprobe(var_02.origin); + } + else + { + wait(5); + } + + maps\_utility::vision_set_fog_changes("detroit_jetbike_end",2); + var_03 = common_scripts\utility::spawn_tag_origin(); + var_03 linkto(param_00,"tag_light_nose",(60,40,0),(0,0,0)); + playfxontag(common_scripts\utility::getfx("aircraft_light_wingtip_red_med"),param_00,"tag_light_nose"); + wait(5); + if(level.nextgen) + { + maps\_utility::lerp_saveddvar("r_mbVelocityScalar",2,1); + } + + wait(1); + maps\_utility::vision_set_fog_changes("detroit_jetbike_end_fire",0.4); + wait(0.5); + maps\_utility::vision_set_fog_changes("detroit_jetbike_end",0.5); + wait(1.4); + maps\_utility::vision_set_fog_changes("detroit_jetbike_end_fire",0.25); + wait(1); + maps\_utility::vision_set_fog_changes("detroit_jetbike_end",0.5); + wait(0.65); + maps\_utility::vision_set_fog_changes("detroit_jetbike_end_fire",0.1); + wait(1.5); + maps\_utility::vision_set_fog_changes("detroit_jetbike_end",1.5); + level.player setphysicaldepthoffield(2.5,50); + wait(10); + level.player setphysicaldepthoffield(2.5,60); +} + +//Function Number: 96 +gate_origin_change() +{ + var_00 = getent("gate_lighting_origin","targetname"); + var_01 = getent("detroit_entrance_gate","targetname"); + var_01 overridelightingorigin(var_00.origin); +} + +//Function Number: 97 +jetbike_exit_pre_mount_lighting() +{ + common_scripts\_exploder::exploder(9405); + var_00 = getentarray("gate_top_lights1","targetname"); + foreach(var_02 in var_00) + { + if(level.nextgen) + { + var_02 setlightintensity(10000); + } + } + + common_scripts\utility::flag_wait("player_on_exitdrive_jetbike"); + maps\_shg_design_tools::waittill_trigger_with_name("exitdrive_trigger_lightsoff"); + maps\_utility::stop_exploder(9405); +} + +//Function Number: 98 +sentinel_reveal_lighting() +{ + common_scripts\utility::flag_wait("reveal_the_sentinels"); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(1.5,300); + wait(1); + setblur(1,1); + if(level.nextgen) + { + maps\_utility::vision_set_fog_changes("detroit_sentinal",3); + } + + wait(2); + setblur(0,1); + level.player setphysicaldepthoffield(5,300); + thread maps\_lighting::lerp_spot_intensity("sent_reveal_spot_blue",4,10000); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("sentkeylight",4,1000); + } + + setblur(0,3); + if(level.nextgen) + { + var_00 = getent("sentkeylight","targetname"); + var_00 setlightfovrange(60,50); + } + + wait(10); + thread maps\_lighting::lerp_spot_intensity("sent_reveal_spot_blue",8,200000); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("sentkeylight",4,500); + thread maps\_lighting::lerp_spot_color("sentkeylight",0.15,(1,1,1)); + } + + thread maps\_lighting::lerp_spot_radius("sent_reveal_spot_blue",3,400); + wait(2); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",1); + } + + wait(2); + level.player setphysicaldepthoffield(3,32); + wait(4); + level.player setphysicaldepthoffield(3,38); + wait(2); + thread maps\_lighting::lerp_spot_intensity("sent_reveal_spot_blue",4,50000); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("sentkeylight",4,1000); + } + + wait(8); + thread maps\_lighting::lerp_spot_intensity("sent_reveal_spot_blue",2.5,4000); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("sentkeylight",2.5,0); + } + + maps\_utility::vision_set_fog_changes("detroit_city",5); + level.player disablephysicaldepthoffieldscripting(); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",0); + } +} + +//Function Number: 99 +sentinel_reveal_lighting_origins(param_00) +{ + var_01 = getent("new_grenade_org","targetname"); + param_00 overridelightingorigin(var_01.origin); +} + +//Function Number: 100 +outerspacelighting() +{ + if(level.nextgen) + { + setsaveddvar("r_useLightGridDefaultFXLightingLookup",1); + setsaveddvar("r_useLightGridDefaultModelLightingLookup",1); + setsaveddvar("r_lightGridDefaultFXLightingLookup",(-1493.99,7192.58,-96.875)); + setsaveddvar("r_lightGridDefaultModelLightingLookup",(-1493.99,7192.58,-96.875)); + } +} + +//Function Number: 101 +mech_intro_gate_lighting(param_00) +{ + if(isdefined(param_00.helmet_tag)) + { + param_00.helmet_tag delete(); + } + + param_00.helmet_tag = common_scripts\utility::spawn_tag_origin(); + var_01 = param_00.helmet_tag; + var_01 linkto(param_00,"J_Head",(0,5,-5),(0,0,0),0); + playfxontag(common_scripts\utility::getfx("det_point_rim_lrg"),var_01,"tag_origin"); + wait(20); + wait(4); + soundscripts\_snd::snd_message("gate_lightning"); +} + +//Function Number: 102 +mech_exit_gate_lighting(param_00) +{ + if(isdefined(param_00.helmet_tag)) + { + param_00.helmet_tag delete(); + } + + param_00.helmet_tag = common_scripts\utility::spawn_tag_origin(); + var_01 = param_00.helmet_tag; + var_01 linkto(param_00,"J_Head",(0,5,-5),(0,0,0),0); + playfxontag(common_scripts\utility::getfx("det_point_rim_lrg"),var_01,"tag_origin"); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("door_lights_script2",10,6000); + thread maps\_lighting::lerp_spot_intensity("door_lights_script1",10,100000); + } +} + +//Function Number: 103 +setup_vfx_sunflare() +{ + thread maps\_shg_fx::fx_spot_lens_flare_dir("sunflare",(-30,85.5,0),10000); +} + +//Function Number: 104 +main_camp_spot() +{ + if(level.nextgen) + { + wait(0.05); + var_00 = getent("courtyard_light_force","targetname"); + for(;;) + { + common_scripts\utility::flag_wait("main_camp_spot_on"); + var_00 setlightshadowstate("force_on"); + common_scripts\utility::flag_waitopen("main_camp_spot_on"); + var_00 setlightshadowstate("force_off"); + } + } +} + +//Function Number: 105 +warbird_intro_lighting(param_00) +{ + param_00.interior_light = common_scripts\utility::spawn_tag_origin(); + var_01 = param_00.interior_light; + var_01 linkto(param_00,"TAG_burke_key_light",(0,0,-35),(0,0,0),0); + playfxontag(common_scripts\utility::getfx("point_white_med"),var_01,"tag_origin"); + wait(8); + killfxontag(common_scripts\utility::getfx("point_white_med"),var_01,"tag_origin"); +} + +//Function Number: 106 +vinette_overlay() +{ + level.player thread maps\_lighting::screen_effect_base(0,"s1_railgun_hud_outer_shadow",0,0,0.1,0,0,3); + level waittill("end_screen_effect"); + level.overlay destroy(); +} + +//Function Number: 107 +turn_off_gold_light() +{ + var_00 = getent("turn_off_gold_light","targetname"); + wait(8.75); + var_00 setlightintensity(0); +} + +//Function Number: 108 +school_jeep_light_tgl() +{ + common_scripts\_exploder::exploder(4123); + var_00 = getent("car_light","targetname"); + common_scripts\utility::flag_wait("school_player_falling"); + var_00 setlightintensity(0); + common_scripts\_exploder::kill_exploder(4123); +} + +//Function Number: 109 +turn_off_jeep_light() +{ + var_00 = getent("car_light","targetname"); + var_00 setlightintensity(0); +} + +//Function Number: 110 +intro_lerp_sun() +{ + if(level.nextgen) + { + wait(2); + var_00 = anglestoforward((-33.942,180,0)); + var_01 = anglestoforward((-65.942,162,0)); + var_02 = vectornormalize(var_00); + var_03 = vectornormalize(var_01); + wait(3); + lerpsundirection(var_02,var_03,7); + wait(80); + lerpsundirection(var_03,var_02,17); + common_scripts\utility::flag_wait("open_massive_door"); + resetsundirection(); + } +} + +//Function Number: 111 +capture_lighting() +{ + common_scripts\utility::flag_set("capture_start"); + maps\_utility::vision_set_fog_changes("detroit_hospital_capture",6); + wait(2); + common_scripts\utility::flag_set("red_dim"); + common_scripts\_exploder::exploder(9211); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("officelamp",1,50); + thread maps\_lighting::lerp_spot_intensity("bluemoon",1,2500); + thread maps\_lighting::lerp_spot_intensity("bluemoonrim",1,1000); + } + + wait(1); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(5.6,100); + wait(1.2); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","2.5"); + } + + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("officelamp",1,100); + thread maps\_lighting::lerp_spot_intensity("bluemoon",1,500); + thread maps\_lighting::lerp_spot_intensity("rim_capture",1,2500); + thread maps\_lighting::lerp_spot_intensity("bluemoonrim",1,2500); + } + + wait(2.2); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + } + + wait(15); + maps\_utility::lerp_saveddvar("r_ssaoStrength",0.45,1); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("rim_capture",1,0); + thread maps\_lighting::lerp_spot_intensity("bluemoonrim",1,0); + } + + wait(1); + common_scripts\utility::flag_clear("red_dim"); + level notify("kill_burke_red_light"); + level notify("kill_joker_red_light"); + maps\_utility::lerp_saveddvar("r_ssaoStrength",0.45,1); + level.player disablephysicaldepthoffieldscripting(); + maps\_utility::vision_set_fog_changes("detroit_hospital_top",4); +} + +//Function Number: 112 +exo_flicker_lighting() +{ + common_scripts\utility::flag_wait("flicker_street_lights"); + if(level.nextgen) + { + maps\_lighting::play_flickerlight_preset("street_light","streetlight_01",8000); + maps\_lighting::play_flickerlight_preset("street_light","streetlight_02",9500); + return; + } + + maps\_lighting::play_flickerlight_preset("street_light","streetlight_01",100); + maps\_lighting::play_flickerlight_preset("street_light","streetlight_02",500); +} + +//Function Number: 113 +handshake_lighting() +{ + common_scripts\utility::flag_wait("flag_scanner_doors_open"); + wait(13); + thread maps\_lighting::lerp_spot_intensity("handshake_light",1,10); +} + +//Function Number: 114 +clut_manage() +{ + for(;;) + { + common_scripts\utility::flag_wait("lightning_on"); + level.player setclutforplayer("clut_detroit_exterior",1); + common_scripts\utility::flag_waitopen("lightning_on"); + level.player setclutforplayer("clut_detroit_interior",1); + } +} + +//Function Number: 115 +clut_manage_school() +{ + for(;;) + { + common_scripts\utility::flag_wait("lightning_on_school"); + level.player setclutforplayer("clut_detroit_exterior",1); + common_scripts\utility::flag_waitopen("lightning_on_school"); + level.player setclutforplayer("clut_detroit_interior",1); + } +} + +//Function Number: 116 +butress_origin_fix() +{ + var_00 = common_scripts\utility::getstruct("low_walls_origin","targetname"); + var_01 = getent("butress2","targetname"); + var_01 overridelightingorigin(var_00.origin); +} + +//Function Number: 117 +blockage_lighting(param_00) +{ + var_01 = getent("burke_third_floor_corner_check_wait","targetname"); + param_00 overridelightingorigin(var_01.origin); +} + +//Function Number: 118 +det_vignette() +{ + level.player thread maps\_lighting::screen_effect_base(0,"ac130_overlay_pip_bottom_vignette",0,0,1,0,3); +} + +//Function Number: 119 +cg_car_light_shadowstate_reset() +{ + var_00 = getent("car_light","targetname"); + for(;;) + { + level maps\_utility::wait_for_targetname_trigger("car_light_ssoff"); + var_00 setlightshadowstate("normal"); + } +} + +//Function Number: 120 +cg_car_light_shadowstate_on() +{ + var_00 = getent("car_light","targetname"); + for(;;) + { + level maps\_utility::wait_for_targetname_trigger("car_light_ssoon"); + var_00 setlightshadowstate("force_on"); + } +} \ No newline at end of file diff --git a/AW/PC/maps/detroit_precache.gsc b/AW/PC/maps/detroit_precache.gsc new file mode 100644 index 0000000..f88151b --- /dev/null +++ b/AW/PC/maps/detroit_precache.gsc @@ -0,0 +1,23 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: detroit_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 38 ms + * Timestamp: 4/22/2024 2:28:04 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + vehicle_scripts\_gaz::main("vehicle_gaz_tigr_cleanup","gaz_tigr_cleanup","script_vehicle_gaz_tigr_cleanup"); + vehicle_scripts\_gaz::main("vehicle_gaz_tigr_paris","gaz_tigr_turret_physics_paris","script_vehicle_gaz_tigr_turret_physics_paris"); + vehicle_scripts\_jetbike::main("vehicle_mil_hoverbike_ai","jetbike_npc_physics","script_vehicle_jetbike_npc_physics"); + vehicle_scripts\_jetbike::main("vehicle_mil_hoverbike_ai","jetbike_npc_slow_physics","script_vehicle_jetbike_npc_slow_physics"); + vehicle_scripts\_jetbike::main("vehicle_mil_hoverbike_ai","jetbike_player_physics","script_vehicle_jetbike_player_physics"); + vehicle_scripts\_jetbike::main("vehicle_mil_hoverbike_ai","jetbike_rail_physics","script_vehicle_jetbike_rail_physics"); + vehicle_scripts\_littlebird::main("vehicle_mil_helicopter_littlebird_kva_ai",undefined,"script_vehicle_littlebird_kva_armed"); + vehicle_scripts\_xh9_warbird::main("vehicle_xh9_warbird",undefined,"script_vehicle_xh9_warbird"); + vehicle_scripts\_xh9_warbird::main("vehicle_xh9_warbird_low",undefined,"script_vehicle_xh9_warbird_low_no_turret_no_zipline"); +} \ No newline at end of file diff --git a/AW/PC/maps/detroit_refugee_camp.gsc b/AW/PC/maps/detroit_refugee_camp.gsc new file mode 100644 index 0000000..8e4bd7e --- /dev/null +++ b/AW/PC/maps/detroit_refugee_camp.gsc @@ -0,0 +1,2774 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: detroit_refugee_camp.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 128 + * Decompile Time: 1974 ms + * Timestamp: 4/22/2024 2:28:11 AM +*******************************************************************/ + +//Function Number: 1 +refugee_camp_main() +{ + common_scripts\utility::flag_init("bikes_enter_detroit"); + level.refugee_camp_ai = []; + level.downtown_ambient_guys = []; + if(level.nextgen) + { + precachemodel("character_arab_civilian_lowres_a"); + precachemodel("character_arab_civilian_lowres_b"); + precachemodel("character_arab_civilian_lowres_c"); + precachemodel("character_arab_civilian_lowres_d"); + precachemodel("character_arab_civilian_lowres_e"); + precachemodel("character_arab_civilian_lowres_f"); + } + + thread setup_civs(); + thread gate_decon_player_side(); + thread gate_decon_opposite_side(); + if(level.nextgen) + { + thread spraypaint_gag(); + thread setup_refugee_stage_audience(); + } + else + { + thread maps\detroit_transients_cg::cg_spraypaint_gag(); + thread maps\detroit_transients_cg::cg_setup_refugee_stage_audience(); + } + + thread buttress_function(); + thread ambient_dialogue_manager(); + thread refugee_camp_cleanup(); + thread left_mount_trigger_function(); + thread middle_civ_manager(); +} + +//Function Number: 2 +unload_intro_cinematic_assets() +{ + if(istransientloaded("detroit_introA_tr")) + { + wait(6); + unloadtransient("detroit_introA_tr"); + for(;;) + { + if(istransientloaded("detroit_introa_tr")) + { + common_scripts\utility::flag_set("flag_cg_intro_cin_has_run"); + level notify("tff_post_shed_intro_cin"); + break; + } + + wait(0.05); + } + } +} + +//Function Number: 3 +delay_show_bones() +{ + level.bones hide(); + common_scripts\utility::flag_wait("flag_camp_visibility_03"); + level.bones show(); +} + +//Function Number: 4 +refugee_walk() +{ + soundscripts\_snd::snd_message("begin_refugee_walk"); + thread player_speed_control(); + level.squad_gestures_wait_count = []; + level.squad_gestures_idle_count = []; + level.burke thread squad_gestures_burke(); + level.joker thread squad_gestures_joker(); + if(level.currentgen && !issubstr(level.transient_zone,"middle")) + { + common_scripts\utility::array_thread(getentarray("joker_lookat_trigger","targetname"),::det_camp_lookat_trigger_think,level.joker); + common_scripts\utility::array_thread(getentarray("burke_lookat_trigger","targetname"),::det_camp_lookat_trigger_think,level.burke); + } + + level.bones maps\_utility::set_moveplaybackrate(1); + level.bones.ignoreall = 1; +} + +//Function Number: 5 +squad_gestures_burke() +{ + level.burke set_refugee_camp_walk_anims(); + level.burke maps\_utility::set_moveplaybackrate(1); + level.burke.ignoreall = 1; + goto_squad_node("post_gesture_01_burke","flag_post_gesture_01"); + goto_squad_node("pre_gesture_02_burke","flag_gesture_spray_paint"); + play_squad_gesture("org_gesture_02_burke","det_casual_gestures_l_shakehead_burke"); + goto_squad_node("post_gesture_02_burke","flag_post_gesture_02"); + goto_squad_node("pre_gesture_03_burke","flag_gesture_food_truck"); + goto_squad_node("post_gesture_03_burke","flag_gesture_stage_speaker"); + goto_squad_node("post_gesture_04_burke","flag_post_gesture_04"); + goto_squad_node("pre_gesture_05_burke","flag_gesture_last_guard"); + goto_squad_node("post_gesture_05_burke","flag_enter_scanner"); + self.turnrate = self.old_turnrate; + self.old_turnrate = undefined; + common_scripts\utility::flag_wait("flag_enter_scanner"); + common_scripts\utility::flag_set("squad_gestures_done_burke"); +} + +//Function Number: 6 +squad_gestures_joker() +{ + level.joker set_refugee_camp_walk_anims(); + level.joker maps\_utility::set_moveplaybackrate(1); + level.joker.ignoreall = 1; + goto_squad_node("post_gesture_01_joker","flag_post_gesture_01",0.5); + goto_squad_node("pre_gesture_02_joker","flag_gesture_spray_paint",0.5); + goto_squad_node("post_gesture_02_joker","flag_post_gesture_02",0.75); + goto_squad_node("pre_gesture_03_joker","flag_gesture_food_truck",0.5); + goto_squad_node("post_gesture_03_joker","flag_gesture_stage_speaker",0.5); + goto_squad_node("post_gesture_04_joker","flag_post_gesture_04"); + goto_squad_node("pre_gesture_05_joker","flag_gesture_last_guard",0.5); + goto_squad_node("post_gesture_05_joker","flag_enter_scanner"); + self.turnrate = self.old_turnrate; + self.old_turnrate = undefined; + common_scripts\utility::flag_wait("flag_enter_scanner"); + common_scripts\utility::flag_set("squad_gestures_done_joker"); +} + +//Function Number: 7 +play_doctor_pip() +{ + wait(7); + wait(1); + maps\_shg_utility::play_videolog("detroit_videolog","screen_add"); +} + +//Function Number: 8 +play_squad_gesture(param_00,param_01) +{ + var_02 = getent(param_00,"targetname"); + var_02 maps\_anim::anim_reach_solo(self,param_01); + var_02 maps\_anim::anim_single_solo_run(self,param_01); +} + +//Function Number: 9 +goto_squad_node(param_00,param_01,param_02) +{ + var_03 = getnode(param_00,"targetname"); + var_04 = level.scr_anim[self.animname]["refugee_camp_walk_to_idle"]; + var_05 = transformmove(var_03.origin,var_03.angles,getmovedelta(var_04),getangledelta3d(var_04),(0,0,0),(0,0,0)); + var_06 = spawnstruct(); + var_06.origin = var_05["origin"]; + var_06.angles = var_05["angles"]; + self setgoalpos(var_06.origin); + self.goalradius = 4; + var_07 = 128; + if(param_00 == "pre_gesture_02_burke") + { + var_07 = 32; + } + + while(distance(self.origin,var_06.origin) > var_07) + { + wait 0.05; + } + + if(isdefined(param_01)) + { + if(!isdefined(level.squad_gestures_wait_count[param_01])) + { + level.squad_gestures_wait_count[param_01] = 0; + } + + if(!isdefined(level.squad_gestures_idle_count[param_01])) + { + level.squad_gestures_idle_count[param_01] = 0; + } + + if(!common_scripts\utility::flag(param_01) || level.squad_gestures_wait_count[param_01] > 0) + { + level.squad_gestures_wait_count[param_01]++; + var_06 maps\_anim::anim_reach_solo(self,"refugee_camp_walk_to_idle"); + var_06 maps\_anim::anim_custom_animmode_solo(self,"gravity","refugee_camp_walk_to_idle"); + thread maps\_anim::anim_loop_solo(self,"refugee_camp_idle","refugee_camp_idle_ender"); + level.squad_gestures_idle_count[param_01]++; + common_scripts\utility::flag_wait(param_01); + while(level.squad_gestures_idle_count[param_01] < 2) + { + wait 0.05; + } + + if(isdefined(param_02)) + { + wait(param_02); + } + + self notify("refugee_camp_idle_ender"); + maps\_anim::anim_custom_animmode_solo(self,"gravity","refugee_camp_idle_to_walk"); + return; + } + } +} + +//Function Number: 10 +det_camp_lookat_trigger_think(param_00) +{ + if(level.currentgen) + { + level endon("flag_camp_visibility_04"); + } + + var_01 = getent(self.target,"targetname"); + var_02 = self.radius; + while(distancesquared(self.origin,param_00.origin) > var_02 * var_02) + { + wait(0.1); + } + + param_00 setlookatentity(var_01); + wait(1); + while(distancesquared(self.origin,param_00.origin) < var_02 * var_02) + { + wait(0.1); + } + + param_00 setlookatentity(); +} + +//Function Number: 11 +signed_distance_to_plane(param_00,param_01,param_02) +{ + return vectordot(param_02 - param_00,param_01); +} + +//Function Number: 12 +player_speed_control() +{ + var_00 = 0.05; + var_01 = 1; + var_02 = 0; + var_03 = 220; + var_04 = 500; + var_05 = 200; + level.player setmovespeedscale(0.3); + level.player allowsprint(0); + common_scripts\utility::flag_wait("flag_player_off_helipad"); + var_06 = 1; + while(!common_scripts\utility::flag("flag_camp_visibility_04")) + { + var_07 = vectornormalize(anglestoforward(level.burke.angles) + anglestoforward(level.joker.angles) + vectornormalize(level.burke.origin + level.joker.origin * 0.5 - level.player.origin)); + var_08 = 0 - signed_distance_to_plane(level.burke.origin,var_07,level.player.origin); + var_09 = 0 - signed_distance_to_plane(level.joker.origin,var_07,level.player.origin); + var_0A = min(var_08,var_09); + var_06 = maps\_shg_utility::linear_map_clamp(var_0A,var_02,var_03,var_00,var_01); + waittillframeend; + level.player setmovespeedscale(var_06); + if(var_0A > var_04) + { + } + + if(var_0A < var_05) + { + level.player allowsprint(0); + } + + wait 0.05; + } + + var_0B = 1 - var_06 / 50; + while(var_06 < 1) + { + var_06 = var_06 + var_0B; + level.player setmovespeedscale(var_06); + wait(0.1); + } + + level.player setmovespeedscale(1); +} + +//Function Number: 13 +decon_guy_walk_to(param_00,param_01) +{ + param_00 maps\_anim::anim_reach_solo(param_01,"gate_decon"); + param_01 thread maps\_anim::anim_loop_solo(param_01,"gate_decon_idle"); +} + +//Function Number: 14 +decon_guy_walk_away(param_00,param_01) +{ + param_00 maps\_anim::anim_single_solo(self,"gate_decon"); + if(param_01 == 1 || param_01 == 6) + { + self delete(); + return; + } + + var_02 = getnode("node_decon_delete_pass","targetname"); + if(param_01 == 4) + { + var_02 = getnode("node_decon_delete_pass_b","targetname"); + } + + self setgoalnode(var_02); + self.goalradius = 8; + self waittill("goal"); + self delete(); +} + +//Function Number: 15 +gate_decon_opposite_side() +{ + var_00 = getent("scanner_intro_anim_node","targetname"); + thread gate_decon_opposite_side_guard(var_00); + common_scripts\utility::flag_wait("flag_camp_visibility_03"); + var_01 = []; + for(var_02 = 0;var_02 < 2;var_02++) + { + var_01[var_02] = getent("scanner_guy_animated_spawner0" + var_02 + 1,"targetname") maps\_utility::spawn_ai(1); + var_01[var_02].animname = "scanner_guy_animated_spawner0" + var_02 + 1; + var_01[var_02].ignoreall = 1; + var_01[var_02].ignoreme = 1; + var_01[var_02].team = level.player.team; + var_01[var_02].disableexits = 1; + var_01[var_02] maps\_utility::gun_remove(); + var_01[var_02] maps\_utility::set_run_anim("gate_decon_walk"); + } + + var_00 maps\_anim::anim_first_frame_solo(var_01[0],"gate_decon"); + var_01[0] thread maps\_anim::anim_loop_solo(var_01[0],"gate_decon_idle","stop_idle_guy1"); + var_00 maps\_anim::anim_first_frame_solo(var_01[1],"gate_decon"); + var_01[1] thread maps\_anim::anim_loop_solo(var_01[1],"gate_decon_idle","stop_idle_guy2"); + maps\_utility::trigger_wait_targetname("gate_decon_opposite_side"); + for(var_02 = 2;var_02 < 4;var_02++) + { + var_01[var_02] = getent("scanner_guy_animated_spawner0" + var_02 + 1,"targetname") maps\_utility::spawn_ai(1); + var_01[var_02].animname = "scanner_guy_animated_spawner0" + var_02 + 1; + var_01[var_02] maps\_utility::gun_remove(); + var_01[var_02] maps\_utility::set_run_anim("gate_decon_walk"); + var_01[var_02].team = level.player.team; + var_01[var_02].ignoreall = 1; + var_01[var_02].ignoreme = 1; + var_01[var_02].alwaysrunforward = undefined; + } + + thread decon_guy_walk_to(var_00,var_01[2]); + maps\_utility::delaythread(0.75,::decon_guy_walk_to,var_00,var_01[3]); + level waittill("decon_a"); + var_01[0] thread decon_guy_walk_away(var_00,1); + var_01[1] thread decon_guy_walk_away(var_00,2); + level waittill("decon_b"); + var_01[2] thread decon_guy_walk_away(var_00,3); + level waittill("decon_c"); + var_01[3] thread decon_guy_walk_away(var_00,4); + level waittill("decon_d"); + level waittill("decon_e"); +} + +//Function Number: 16 +gate_decon_opposite_side_guard(param_00) +{ + var_01 = getent("det_security_checkpoint_b","targetname"); + var_01 hide(); + thread decon_reverse_blocking(); + common_scripts\utility::flag_wait("flag_camp_visibility_03"); + var_02 = getent("scanner_guard_animated_spawner01","targetname") maps\_utility::spawn_ai(1); + var_02.animname = "scanner_guard_animated_spawner01"; + var_03 = getent("scanner_guard_animated_spawner01","targetname"); + var_02.ignoreall = 1; + var_02.ignoreme = 1; + var_01 show(); + var_01.animname = "decon_gate"; + var_01 maps\_anim::setanimtree(); + param_00 thread maps\_anim::anim_first_frame_solo(var_01,"det_gate_decon_station"); + param_00 thread maps\_anim::anim_first_frame_solo(var_02,"gate_decon"); + var_02 thread maps\_anim::anim_loop_solo(var_02,"gate_decon_idle","decon_guard_opposite_side_idle_ender"); + maps\_utility::trigger_wait_targetname("gate_decon_opposite_side"); + var_02 notify("decon_guard_opposite_side_idle_ender"); + param_00 thread maps\_anim::anim_single_solo(var_01,"det_gate_decon_station"); + param_00 maps\_anim::anim_single_solo(var_02,"gate_decon"); + var_02 thread maps\_anim::anim_loop_solo(var_02,"gate_decon_idle","decon_guard_opposite_side_idle_ender"); +} + +//Function Number: 17 +decon_reverse_blocking() +{ + var_00 = getent("player_camp_scan_reverse_blockage","targetname"); + var_00 notsolid(); + var_00 connectpaths(); + maps\_utility::trigger_wait_targetname("gate_decon_opposite_side"); + wait(38.76); + var_00 solid(); + var_00 disconnectpaths(); +} + +//Function Number: 18 +gate_decon_player_side() +{ + var_00 = getent("det_security_checkpoint_a","targetname"); + var_00 hide(); + thread gate_decon_player_side_cinematic_screens(); + common_scripts\utility::flag_wait("flag_camp_visibility_03"); + var_01 = getent("scanner_intro_anim_node","targetname"); + var_02 = getent("decon_gate_clip_01","targetname"); + var_02 notsolid(); + var_02 thread solidify_on_player_decon(); + var_00 show(); + var_00.animname = "decon_gate"; + var_00 maps\_anim::setanimtree(); + var_01 thread maps\_anim::anim_first_frame_solo(var_00,"decon_scanner_front"); + var_03 = getent("scanner_guard_animated_spawner","targetname") maps\_utility::spawn_ai(1); + var_03.animname = "scanner_guard_animated_spawner"; + var_04 = getent("scanner_guard_animated_spawner","targetname"); + var_03.ignoreall = 1; + var_03.ignoreme = 1; + level.camp_scanner_guy = var_03; + var_01 thread maps\_anim::anim_first_frame_solo(var_03,"gate_decon"); + var_03 thread maps\_anim::anim_loop_solo(var_03,"gate_decon_idle","decon_guard_gate_decon_idle_ender"); + thread gate_decon_player_side_burke(var_01); + thread gate_decon_player_side_joker(var_01); + thread gate_decon_player_side_bones(var_01); + level waittill("start_decon_guard"); + common_scripts\utility::flag_set("vo_refugee_camp_security_checkpoint"); + var_01 thread maps\_anim::anim_single_solo(var_03,"gate_decon"); + var_01 thread maps\_anim::anim_single_solo(var_00,"decon_scanner_front"); + common_scripts\utility::flag_wait_all("flag_decon_ready_burke","flag_decon_ready_joker","flag_decon_ready_player"); + common_scripts\utility::flag_set("vo_refugee_camp_scanner"); + common_scripts\utility::flag_set("flag_camp_visibility_04"); + var_01 notify("decon_guard_gate_decon_idle_ender"); + var_01 thread maps\_anim::anim_single_solo(var_00,"decon_scanner_back"); + level maps\_utility::notify_delay("enable_decon_cinematic_screens",1); + thread scanner_rumble(); + var_02 solid(); + thread decon_finish(); + var_03 notify("decon_guard_gate_decon_idle_ender"); + var_01 maps\_anim::anim_single_solo(var_03,"gate_decon_b"); + var_05 = getent("decon_guard_casual_idle_org","targetname"); + var_05 maps\_anim::anim_loop_solo(var_03,"gate_decon_idle"); +} + +//Function Number: 19 +decon_finish() +{ + level waittill("scanner_doors_open"); + common_scripts\utility::flag_set("flag_scanner_doors_open"); + if(level.currentgen) + { + var_00 = getent("decon_gate_clip_02","targetname"); + var_00 notsolid(); + } +} + +//Function Number: 20 +scanner_rumble() +{ + wait(0.5); + var_00 = level.player maps\_utility::get_rumble_ent("steady_rumble"); + var_00 maps\_utility::set_rumble_intensity(0.01); + var_00 maps\_utility::rumble_ramp_to(0.15,1); + wait(5.2); + var_00 stoprumble("steady_rumble"); + var_00 delete(); +} + +//Function Number: 21 +hoverbike_rumble() +{ + wait(3); + var_00 = level.player maps\_utility::get_rumble_ent("steady_rumble"); + var_00 maps\_utility::set_rumble_intensity(0.1); + var_00 maps\_utility::delaythread(2,::maps\_utility::set_rumble_intensity,0.35); + var_00 maps\_utility::delaythread(3.1,::maps\_utility::set_rumble_intensity,0.17); + var_00 maps\_utility::delaythread(7.1,::maps\_utility::set_rumble_intensity,0.22); + var_00 maps\_utility::delaythread(9.1,::maps\_utility::set_rumble_intensity,0.08); + var_00 maps\_utility::delaythread(11.1,::maps\_utility::set_rumble_intensity,0.22); + var_00 maps\_utility::delaythread(16,::maps\_utility::set_rumble_intensity,0.18); + var_00 maps\_utility::delaythread(20,::maps\_utility::set_rumble_intensity,0.26); + var_00 maps\_utility::delaythread(23,::maps\_utility::set_rumble_intensity,0.2); + var_00 maps\_utility::delaythread(24.5,::maps\_utility::set_rumble_intensity,0.15); + var_00 maps\_utility::delaythread(25,::maps\_utility::set_rumble_intensity,0.13); + var_00 maps\_utility::delaythread(35,::maps\_utility::set_rumble_intensity,0.25); + var_00 maps\_utility::delaythread(36,::maps\_utility::set_rumble_intensity,0.06); + var_00 maps\_utility::delaythread(52,::maps\_utility::set_rumble_intensity,0.18); + var_00 maps\_utility::delaythread(55,::maps\_utility::set_rumble_intensity,0.23); + var_00 maps\_utility::delaythread(59,::maps\_utility::set_rumble_intensity,0.18); + thread hoverbike_ride_in_autorumble(undefined,"ride_over"); + wait(65); + var_00 stoprumble("steady_rumble"); + var_00 delete(); +} + +//Function Number: 22 +hoverbike_ride_in_autorumble(param_00,param_01) +{ + var_02 = level.player maps\_utility::get_rumble_ent("steady_rumble"); + var_02 maps\_utility::set_rumble_intensity(0.01); + if(!isdefined(param_00)) + { + param_00 = 90; + } + + for(;;) + { + if(!isdefined(self)) + { + var_02 stoprumble("steady_rumble"); + var_02 delete(); + return; + } + + var_03 = self.veh_speed / param_00; + if(var_03 > 0) + { + var_02 maps\_utility::set_rumble_intensity(var_03); + } + + if(var_03 == 0) + { + var_02 maps\_utility::set_rumble_intensity(0.01); + } + + if(common_scripts\utility::flag(param_01)) + { + if(isdefined(var_02)) + { + var_02 stoprumble("steady_rumble"); + var_02 delete(); + } + + return; + } + + wait(randomfloatrange(0.3,0.6)); + } +} + +//Function Number: 23 +speed_display() +{ + for(;;) + { + if(!isdefined(self)) + { + return; + } + + if(isdefined(self.veh_speed)) + { + iprintln(self.veh_speed); + } + + wait(0.05); + if(common_scripts\utility::flag("ride_over")) + { + return; + } + } +} + +//Function Number: 24 +solidify_on_player_decon() +{ + common_scripts\utility::flag_wait("flag_decon_ready_player"); + self solid(); +} + +//Function Number: 25 +gate_decon_player_side_cinematic_screens() +{ + var_00 = getentarray("scanner_cinematic_panels","targetname"); + foreach(var_02 in var_00) + { + var_02 hide(); + var_02 notsolid(); + } + + level waittill("enable_decon_cinematic_screens"); + foreach(var_02 in var_00) + { + var_02 show(); + } + + setsaveddvar("cg_cinematicFullScreen","0"); + cinematicingameloop("detroit_body_scan"); + common_scripts\utility::flag_wait("flag_scanner_doors_open"); + foreach(var_02 in var_00) + { + var_02 delete(); + } + + stopcinematicingame(); +} + +//Function Number: 26 +gate_decon_player_side_burke(param_00) +{ + level endon("player_has_used_bike"); + common_scripts\utility::flag_wait("squad_gestures_done_burke"); + common_scripts\utility::flag_set("obj_acquire_bikes_pos_bike"); + param_00 maps\_anim::anim_reach_solo(level.burke,"gate_decon"); + level notify("start_decon_guard"); + param_00 maps\_anim::anim_single_solo(level.burke,"gate_decon"); + param_00 thread maps\_anim::anim_loop_solo(level.burke,"gate_decon_idle","burke_gate_decon_idle_ender"); + common_scripts\utility::flag_set("flag_decon_ready_burke"); + common_scripts\utility::flag_wait_all("flag_decon_ready_burke","flag_decon_ready_joker","flag_decon_ready_player"); + param_00 notify("burke_gate_decon_idle_ender"); + param_00 thread maps\_anim::anim_single_solo(level.burke,"gate_decon_b"); + thread bike_reach_function(level.burke,param_00); +} + +//Function Number: 27 +gate_decon_player_side_joker(param_00) +{ + level endon("player_has_used_bike"); + common_scripts\utility::flag_wait("squad_gestures_done_joker"); + param_00 maps\_anim::anim_reach_solo(level.joker,"gate_decon"); + level notify("start_decon_guard"); + param_00 maps\_anim::anim_single_solo(level.joker,"gate_decon"); + param_00 thread maps\_anim::anim_loop_solo(level.joker,"gate_decon_idle","joker_gate_decon_idle_ender"); + common_scripts\utility::flag_set("flag_decon_ready_joker"); + common_scripts\utility::flag_wait_all("flag_decon_ready_burke","flag_decon_ready_joker","flag_decon_ready_player"); + param_00 notify("joker_gate_decon_idle_ender"); + common_scripts\utility::flag_set("joker_deliver_decon_line"); + param_00 thread maps\_anim::anim_single_solo(level.joker,"gate_decon_b"); + thread bike_reach_function(level.joker,param_00); +} + +//Function Number: 28 +gate_decon_player_side_bones(param_00) +{ + level endon("player_has_used_bike"); + common_scripts\utility::flag_wait_all("flag_decon_ready_burke","flag_decon_ready_joker","flag_decon_ready_player"); + param_00 thread maps\_anim::anim_single_solo(level.bones,"gate_decon_b"); + thread bike_reach_function(level.bones,param_00); +} + +//Function Number: 29 +refugee_debug() +{ + wait(1); + if(isdefined(level.bones)) + { + level.bones thread color_debug("bones","y"); + } + + if(isdefined(level.joker)) + { + level.joker thread color_debug("joker","o"); + } +} + +//Function Number: 30 +color_debug(param_00,param_01) +{ + if(!isdefined(self)) + { + return; + } + + maps\_utility::is_default_start(); + if(!maps\_utility::is_default_start()) + { + return; + } + + self endon("color_force_off"); + while(maps\_utility::is_default_start()) + { + if(isdefined(self.script_forcecolor)) + { + wait 0.05; + continue; + } + + maps\_utility::set_force_color(param_01); + if(isdefined(self.patrol_anim_set)) + { + maps\detroit::set_patrol_anim_set(self.patrol_anim_set); + } + + wait(1); + } +} + +//Function Number: 31 +refugee_camp_cleanup() +{ + common_scripts\utility::flag_wait("flag_camp_visibility_04"); + common_scripts\utility::array_thread(level.refugee_camp_ai,::maps\_shg_design_tools::delete_auto); + common_scripts\utility::flag_wait("refugee_camp_cleanup"); + var_00 = getent("det_security_checkpoint_a","targetname"); + var_01 = getent("det_security_checkpoint_b","targetname"); + var_00 delete(); + var_01 delete(); +} + +//Function Number: 32 +player_ads_disable_manager() +{ + wait 0.05; + level.player allowads(0); + common_scripts\utility::flag_wait("drivein_player_bike_used"); + level.player allowads(1); +} + +//Function Number: 33 +left_mount_trigger_function() +{ + level endon("player_has_used_bike"); + level.playerisonleft = 0; + var_00 = getent("player_left_mount_vol","targetname"); + for(;;) + { + if(level.player istouching(var_00)) + { + level.playerisonleft = 1; + } + else + { + level.playerisonleft = 0; + } + + wait(0.05); + } +} + +//Function Number: 34 +middle_civ_manager() +{ + wait 0.05; + maps\_utility::stop_exploder("1501"); + thread disable_middle_civs(); + thread show_middle_civs_now(); + thread disable_middle_civs_now(); +} + +//Function Number: 35 +disable_middle_civs() +{ + level endon("No more civs ever"); + for(;;) + { + common_scripts\utility::flag_wait("hide_middle_civs_trigger"); + maps\_utility::stop_exploder("1501"); + wait(0.1); + common_scripts\utility::flag_clear("hide_middle_civs_trigger"); + } +} + +//Function Number: 36 +disable_middle_civs_now() +{ + common_scripts\utility::flag_wait("begin_player_mount_bike"); + maps\_utility::stop_exploder("1501"); + level notify("No more civs ever"); +} + +//Function Number: 37 +show_middle_civs_now() +{ + level endon("No more civs ever"); + for(;;) + { + common_scripts\utility::flag_wait("show_middle_civs_trigger"); + common_scripts\_exploder::exploder("1501"); + wait(0.1); + common_scripts\utility::flag_clear("show_middle_civs_trigger"); + } +} + +//Function Number: 38 +spraypaint_gag() +{ + var_00 = getent("sparaypaint_animspot","targetname"); + var_01 = getent("spraypaint_artist_spawner","targetname"); + var_02 = var_01 maps\_utility::spawn_ai(1); + var_02.animname = "generic"; + var_02.goalradius = 15; + var_00 thread maps\_anim::anim_loop_solo(var_02,"spraypaint_idle"); + var_02 attach("com_spray_can01","tag_weapon_right"); + common_scripts\utility::flag_wait("flag_gesture_spray_paint"); + var_03 = getent("spraypaint_guard","targetname"); + var_04 = var_03 maps\_utility::spawn_ai(1); + var_04.ignoreall = 1; + var_04.ignoreme = 1; + var_04.goalradius = 15; + var_04.animname = "generic"; + var_00 thread maps\_anim::anim_first_frame_solo(var_04,"chase_away"); + thread spraypaint_runner(var_02,var_00); + thread spraypaint_chaser(var_04,var_00); + wait(7.31); + var_04 maps\_utility::dialogue_queue("detroit_atd_heyhey"); +} + +//Function Number: 39 +spraypaint_chaser(param_00,param_01) +{ + param_01 maps\_anim::anim_single_solo(param_00,"chase_away"); + var_02 = getnode("chaser_goal","targetname"); + param_00 setgoalnode(var_02); + param_00 delete(); +} + +//Function Number: 40 +spraypaint_runner(param_00,param_01) +{ + param_01 maps\_anim::anim_single_solo(param_00,"spraypaint"); + var_02 = getnode("artist_goal","targetname"); + param_00 setgoalnode(var_02); + param_00 delete(); +} + +//Function Number: 41 +make_smart_floor_effect(param_00) +{ + while(!maps\_utility::ent_flag("security_passed")) + { + param_00.origin = self.origin + (0,0,2); + wait 0.05; + } + + param_00.origin = param_00.oldorigin; +} + +//Function Number: 42 +setup_civs() +{ + if(level.nextgen) + { + thread setup_civs_foodtruck(); + thread setup_civs_infosign(); + thread setup_civs_fence(); + thread setup_civs_baseball(); + thread setup_social_groups(); + } + else + { + thread maps\detroit_transients_cg::cg_setup_civs_foodtruck(); + thread maps\detroit_transients_cg::cg_setup_civs_infosign(); + thread maps\detroit_transients_cg::cg_setup_civs_fence(); + thread maps\detroit_transients_cg::cg_setup_civs_baseball(); + thread maps\detroit_transients_cg::cg_setup_social_groups(); + } + + thread setup_food_line_and_guards(); + thread setup_choppers(); +} + +//Function Number: 43 +setup_civs_foodtruck() +{ + common_scripts\utility::flag_wait("show_middle_civs_trigger"); + var_00 = getent("civilian_foodtruck1_spawner","targetname") spawndrone(); + var_01 = undefined; + var_02 = getent("civilian_foodtruck3_spawner","targetname") spawndrone(); + var_03 = undefined; + var_04 = getent("civilian_foodtruck5_spawner","targetname") spawndrone(); + var_05 = getent("civilian_foodtruck6_spawner","targetname") spawndrone(); + var_06 = undefined; + var_07 = getent("civilian_foodtruck8_spawner","targetname") spawndrone(); + var_08 = getent("civilian_foodtruck9_spawner","targetname") spawndrone(); + var_09 = getent("civilian_foodtruck10_spawner","targetname") spawndrone(); + var_0A = getent("civilian_foodtruck11_spawner","targetname") spawndrone(); + var_0B = undefined; + var_0C = getent("civilian_foodtruck13_spawner","targetname") spawndrone(); + var_0D = getent("civilian_foodtruck14_spawner","targetname") spawndrone(); + var_0E = undefined; + var_0F = getent("atlas_guard_foodtruck2_spawner","targetname") spawndrone(); + var_10 = getent("foodtruck","targetname"); + var_00.animname = "drone_civs"; + var_02.animname = "drone_civs"; + var_04.animname = "drone_civs"; + var_05.animname = "drone_civs"; + var_07.animname = "drone_civs"; + var_08.animname = "drone_civs"; + var_09.animname = "drone_civs"; + var_0A.animname = "drone_civs"; + var_0C.animname = "drone_civs"; + var_0D.animname = "drone_civs"; + var_0F.animname = "drone_civs"; + var_10.animname = "foodtruck"; + var_00 maps\_anim::setanimtree(); + var_02 maps\_anim::setanimtree(); + var_04 maps\_anim::setanimtree(); + var_05 maps\_anim::setanimtree(); + var_07 maps\_anim::setanimtree(); + var_08 maps\_anim::setanimtree(); + var_09 maps\_anim::setanimtree(); + var_0A maps\_anim::setanimtree(); + var_0C maps\_anim::setanimtree(); + var_0D maps\_anim::setanimtree(); + var_0F maps\_anim::setanimtree(); + var_10 maps\_anim::setanimtree(); + var_11 = getent("org_foodtruck","targetname"); + var_12 = spawn("script_model",var_11.origin); + var_12 setmodel("det_cargo_box_single_01"); + var_12.animname = "foodtruck_mre"; + var_12 maps\_anim::setanimtree(); + var_13 = spawn("script_model",var_11.origin); + var_13 setmodel("det_cargo_box_single_01"); + var_13.animname = "foodtruck_mre"; + var_13 maps\_anim::setanimtree(); + var_11 thread maps\_anim::anim_loop_solo(var_00,"foodtruck1"); + var_11 thread maps\_anim::anim_loop_solo(var_02,"foodtruck3"); + var_11 thread maps\_anim::anim_loop_solo(var_04,"foodtruck5"); + var_11 thread maps\_anim::anim_loop_solo(var_05,"foodtruck6"); + var_11 thread maps\_anim::anim_loop_solo(var_07,"foodtruck8"); + var_11 thread maps\_anim::anim_loop_solo(var_08,"foodtruck9"); + var_11 thread maps\_anim::anim_loop_solo(var_09,"foodtruck10"); + var_11 thread maps\_anim::anim_loop_solo(var_0A,"foodtruck11"); + var_11 thread maps\_anim::anim_loop_solo(var_0C,"foodtruck13"); + var_11 thread maps\_anim::anim_loop_solo(var_0D,"foodtruck14"); + var_11 thread maps\_anim::anim_loop_solo(var_0F,"foodtruck18"); + var_11 thread maps\_anim::anim_loop_solo(var_10,"foodtruck_door"); + thread mre_loop(var_12); + thread mre_loop(var_13); + var_11 thread maps\_anim::anim_loop_solo(var_12,"foodtruck_mre1"); + var_11 thread maps\_anim::anim_loop_solo(var_13,"foodtruck_mre2"); + if(level.nextgen) + { + var_01 = getent("civilian_foodtruck2_spawner","targetname") spawndrone(); + var_01.animname = "drone_civs"; + var_01 maps\_anim::setanimtree(); + var_11 thread maps\_anim::anim_loop_solo(var_01,"foodtruck2"); + var_03 = getent("civilian_foodtruck4_spawner","targetname") spawndrone(); + var_03.animname = "drone_civs"; + var_03 maps\_anim::setanimtree(); + var_11 thread maps\_anim::anim_loop_solo(var_03,"foodtruck4"); + var_06 = getent("civilian_foodtruck7_spawner","targetname") spawndrone(); + var_06.animname = "drone_civs"; + var_06 maps\_anim::setanimtree(); + var_11 thread maps\_anim::anim_loop_solo(var_06,"foodtruck7"); + var_0B = getent("civilian_foodtruck12_spawner","targetname") spawndrone(); + var_0B.animname = "drone_civs"; + var_0B maps\_anim::setanimtree(); + var_11 thread maps\_anim::anim_loop_solo(var_0B,"foodtruck12"); + var_0E = getent("atlas_guard_foodtruck1_spawner","targetname") spawndrone(); + var_0E.animname = "drone_civs"; + var_0E maps\_anim::setanimtree(); + var_11 thread maps\_anim::anim_loop_solo(var_0E,"foodtruck17"); + } + + while(!common_scripts\utility::flag("flag_camp_visibility_04")) + { + if(randomint(100) > 50) + { + var_14 = getent("civilian_foodtruck_grab_spawner_right","targetname") spawndrone(); + var_14 hide(); + var_14.animname = "drone_civs"; + var_14 maps\_anim::setanimtree(); + var_14.runanim = level.scr_anim[var_14.animname]["foodtruck_grab_walk"]; + level waittill("food_walker_go"); + var_14 show(); + var_14 thread foodtruck_drone_walk_away_right(var_11); + continue; + } + + var_14 = getent("civilian_foodtruck_grab_spawner_left","targetname") spawndrone(); + var_14 hide(); + var_14.animname = "drone_civs"; + var_14 maps\_anim::setanimtree(); + var_14.runanim = level.scr_anim[var_14.animname]["foodtruck_grab_walk"]; + level waittill("food_walker_go"); + var_14 show(); + var_14 thread foodtruck_drone_walk_away_left(var_11); + } + + common_scripts\utility::flag_wait("flag_camp_visibility_04"); + var_00 delete(); + var_02 delete(); + var_04 delete(); + var_05 delete(); + var_07 delete(); + var_08 delete(); + var_09 delete(); + var_0A delete(); + var_0C delete(); + var_0D delete(); + var_0F delete(); + var_10 delete(); + if(level.nextgen) + { + var_01 delete(); + var_03 delete(); + var_06 delete(); + var_0B delete(); + var_0E delete(); + } +} + +//Function Number: 44 +mre_loop(param_00) +{ + level waittill("No more civs ever"); + if(isdefined(param_00)) + { + param_00 stopanimscripted(); + param_00 delete(); + } +} + +//Function Number: 45 +foodtruck_drone_walk_away_right(param_00) +{ + param_00 maps\_anim::anim_single_solo(self,"foodtruck_grab"); + self.moveplaybackrate = 1; + thread maps\_drone::drone_move(); +} + +//Function Number: 46 +foodtruck_drone_walk_away_left(param_00) +{ + param_00 maps\_anim::anim_single_solo(self,"foodtruck_grab_left"); + self.moveplaybackrate = 1; + thread maps\_drone::drone_move(); +} + +//Function Number: 47 +setup_civs_infosign() +{ + common_scripts\utility::flag_wait("flag_camp_visibility_01"); + var_00 = undefined; + var_01 = getent("civilian_sign2_spawner","targetname") spawndrone(); + var_02 = getent("civilian_sign3_spawner","targetname") spawndrone(); + var_03 = undefined; + var_01.animname = "drone_civs"; + var_02.animname = "drone_civs"; + var_01 maps\_anim::setanimtree(); + var_02 maps\_anim::setanimtree(); + var_01 thread maps\_anim::anim_loop_solo(var_01,"sign2_spawner"); + var_02 thread maps\_anim::anim_loop_solo(var_02,"sign3_spawner"); + if(level.nextgen) + { + var_00 = getent("civilian_sign1_spawner","targetname") spawndrone(); + var_00.animname = "drone_civs"; + var_00 maps\_anim::setanimtree(); + var_00 thread maps\_anim::anim_loop_solo(var_00,"sign1_spawner"); + var_03 = getent("civilian_sign4_spawner","targetname") spawndrone(); + var_03.animname = "drone_civs"; + var_03 maps\_anim::setanimtree(); + var_03 thread maps\_anim::anim_loop_solo(var_03,"sign4_spawner"); + } + + common_scripts\utility::flag_wait("flag_camp_visibility_04"); + var_01 delete(); + var_02 delete(); + if(level.nextgen) + { + var_00 delete(); + var_03 delete(); + } +} + +//Function Number: 48 +setup_civ_fence_special() +{ + var_00 = getent("civilian_fence9_spawner","targetname") spawndrone(); + var_00.animname = "drone_civs"; + var_00 maps\_anim::setanimtree(); + var_00 thread maps\_anim::anim_loop_solo(var_00,"fence_spawner9_idle_start"); + common_scripts\utility::flag_wait("flag_civ_fence_sit"); + var_00 notify("stop_loop"); + var_00 maps\_anim::anim_single_solo(var_00,"fence_spawner9_transition"); + var_00 thread maps\_anim::anim_loop_solo(var_00,"fence_spawner9_idle_end"); + while(!common_scripts\utility::flag("flag_camp_visibility_04")) + { + common_scripts\utility::flag_wait("flag_camp_visibility_03b"); + var_00 delete(); + common_scripts\utility::flag_clear("flag_camp_visibility_03a"); + common_scripts\utility::flag_wait("flag_camp_visibility_03a"); + var_00 = getent("civilian_fence9_spawner","targetname") spawndrone(); + var_00.animname = "drone_civs"; + var_00 maps\_anim::setanimtree(); + var_00 thread maps\_anim::anim_loop_solo(var_00,"fence_spawner9_idle_end"); + common_scripts\utility::flag_clear("flag_camp_visibility_03b"); + } +} + +//Function Number: 49 +setup_civs_fence() +{ + thread setup_civ_fence_special(); + while(!common_scripts\utility::flag("flag_camp_visibility_04")) + { + var_00 = getent("civilian_fence1_spawner","targetname") spawndrone(); + var_01 = undefined; + var_02 = getent("civilian_fence3_spawner","targetname") spawndrone(); + var_03 = getent("civilian_fence4_spawner","targetname") spawndrone(); + var_04 = getent("civilian_fence5_spawner","targetname") spawndrone(); + var_05 = getent("civilian_fence6_spawner","targetname") spawndrone(); + var_06 = getent("civilian_fence7_spawner","targetname") spawndrone(); + var_07 = getent("civilian_fence8_spawner","targetname") spawndrone(); + var_08 = undefined; + var_09 = undefined; + var_00.animname = "drone_civs"; + var_02.animname = "drone_civs"; + var_03.animname = "drone_civs"; + var_04.animname = "drone_civs"; + var_05.animname = "drone_civs"; + var_06.animname = "drone_civs"; + var_07.animname = "drone_civs"; + var_00 maps\_anim::setanimtree(); + var_02 maps\_anim::setanimtree(); + var_03 maps\_anim::setanimtree(); + var_04 maps\_anim::setanimtree(); + var_05 maps\_anim::setanimtree(); + var_06 maps\_anim::setanimtree(); + var_07 maps\_anim::setanimtree(); + var_00 thread maps\_anim::anim_loop_solo(var_00,"fence_spawner1"); + var_02 thread maps\_anim::anim_loop_solo(var_02,"fence_spawner3"); + var_03 thread maps\_anim::anim_loop_solo(var_03,"fence_spawner4"); + var_04 thread maps\_anim::anim_loop_solo(var_04,"fence_spawner5"); + var_05 thread maps\_anim::anim_loop_solo(var_05,"fence_spawner6"); + var_06 thread maps\_anim::anim_loop_solo(var_06,"fence_spawner7"); + var_07 thread maps\_anim::anim_loop_solo(var_07,"fence_spawner8"); + if(level.nextgen) + { + var_01 = getent("civilian_fence2_spawner","targetname") spawndrone(); + var_01.animname = "drone_civs"; + var_01 maps\_anim::setanimtree(); + var_01 thread maps\_anim::anim_loop_solo(var_01,"fence_spawner2"); + var_08 = getent("civilian_fence10_spawner","targetname") spawndrone(); + var_08.animname = "drone_civs"; + var_08 maps\_anim::setanimtree(); + var_09 = getent("civilian_fence11_spawner","targetname") spawndrone(); + var_09.animname = "drone_civs"; + var_09 maps\_anim::setanimtree(); + } + + wait(1); + if(level.nextgen) + { + var_08 thread maps\_anim::anim_loop_solo(var_08,"fence_spawner10"); + var_09 thread maps\_anim::anim_loop_solo(var_09,"fence_spawner11"); + } + + common_scripts\utility::flag_wait("flag_camp_visibility_03b"); + common_scripts\utility::flag_clear("flag_camp_visibility_03a"); + var_00 delete(); + var_02 delete(); + var_03 delete(); + var_04 delete(); + var_05 delete(); + var_06 delete(); + var_07 delete(); + if(level.nextgen) + { + var_01 delete(); + var_08 delete(); + var_09 delete(); + } + + common_scripts\utility::flag_wait("flag_camp_visibility_03a"); + common_scripts\utility::flag_clear("flag_camp_visibility_03b"); + } +} + +//Function Number: 50 +setup_civs_baseball() +{ + common_scripts\utility::flag_wait("flag_camp_visibility_01"); + var_00 = getent("org_baseball","targetname"); + var_01 = getent("civilian_baseball1_spawner","targetname") spawndrone(); + var_01.animname = "drone_civs"; + var_01 maps\_anim::setanimtree(); + var_02 = getent("civilian_baseball2_spawner","targetname") spawndrone(); + var_02.animname = "drone_civs"; + var_02 maps\_anim::setanimtree(); + var_03 = getent("baseball_glove1","targetname"); + var_03.animname = "baseball_glove"; + var_03 maps\_anim::setanimtree(); + var_04 = getent("baseball_glove2","targetname"); + var_04.animname = "baseball_glove"; + var_04 maps\_anim::setanimtree(); + var_00 thread maps\_anim::anim_loop_solo(var_01,"baseball1"); + var_00 thread maps\_anim::anim_loop_solo(var_02,"baseball2"); + var_00 thread maps\_anim::anim_loop_solo(var_03,"baseball_glove1"); + var_00 thread maps\_anim::anim_loop_solo(var_04,"baseball_glove2"); + var_01 attach("ehq_baseball","tag_weapon_chest"); + common_scripts\utility::flag_wait("flag_camp_visibility_04"); + var_01 delete(); + var_02 delete(); + var_03 delete(); + var_04 delete(); +} + +//Function Number: 51 +setup_civs_talking() +{ + var_00 = getent("civilian_talking1_spawner","targetname") spawndrone(); + var_01 = getent("civilian_talking2_spawner","targetname") spawndrone(); + var_00.animname = "drone_civs"; + var_01.animname = "drone_civs"; + var_00 maps\_anim::setanimtree(); + var_01 maps\_anim::setanimtree(); + var_02 = getent("org_civtalking","targetname"); + var_02 thread maps\_anim::anim_single_solo(var_00,"civtalking1"); + var_02 thread maps\_anim::anim_single_solo(var_01,"civtalking2"); + common_scripts\utility::flag_wait("flag_camp_visibility_04"); + var_00 delete(); + var_01 delete(); +} + +//Function Number: 52 +setup_choppers() +{ + level endon("flag_camp_visibility_04"); + if(level.currentgen) + { + level endon("flag_cg_kill_camp_chopper_loop"); + } + + if(level.currentgen) + { + for(;;) + { + if(istransientloaded("detroit_intro_tr")) + { + break; + } + + wait(0.5); + } + } + + var_00 = getentarray("cargo_chopper_01","targetname"); + var_01 = "com_prague_rope_animated"; + var_02 = "mob_cargo_pallet_long"; + var_03 = 464; + wait(1); + while(!common_scripts\utility::flag("flag_camp_visibility_04")) + { + var_04 = var_00; + for(var_05 = 0;var_05 < 2;var_05++) + { + var_06 = var_04[randomint(var_04.size)]; + var_04 = common_scripts\utility::array_remove(var_04,var_06); + var_07 = var_06 maps\_vehicle::spawn_vehicle_and_gopath(); + var_07.targetname = "refugee_camp_looping_choppers"; + playfxontag(common_scripts\utility::getfx("aircraft_light_wingtip_red_med"),var_07,"TAG_light_L_wing"); + wait(0.05); + playfxontag(common_scripts\utility::getfx("aircraft_light_wingtip_red_med"),var_07,"TAG_light_R_wing"); + playfxontag(common_scripts\utility::getfx("aircraft_light_wingtip_red_med"),var_07,"TAG_light_tail"); + var_08 = getent("reflection_golden_bottom","targetname"); + var_07 overridereflectionprobe(var_08.origin); + if(level.currentgen) + { + if(common_scripts\utility::flag("flag_cg_kill_camp_chopper_loop")) + { + break; + } + } + + wait(randomintrange(2,10)); + } + + wait(30); + } +} + +//Function Number: 53 +setup_social_groups() +{ + var_00 = ["civilian_smoking_a","civilian_smoking_b","civilian_atm","civilian_stand_idle","london_civ_idle_checkwatch","london_civ_idle_foldarms2","london_civ_idle_lookbehind","london_civ_idle_foldarms_scratchass","london_civ_idle_scratchnose"]; + var_01 = ["civilian_sitting_business_lunch_a_1","civilian_sitting_business_lunch_b_1","civilian_sitting_talking_a_1","civilian_sitting_talking_a_2","civilian_sitting_talking_b_1","civilian_sitting_talking_b_2","civilian_texting_sitting","civilian_reader_1","sitting_guard_loadak_idle","guarda_sit_sleeper_idle","parabolic_leaning_guy_idle","civilian_stand_idle","det_camp_box_seated_civ_guy01","det_camp_box_seated_civ_guy02","det_camp_box_seated_civ_guy02","sitting_guard_loadak_idle","civilian_reader_2"]; + var_02 = getentarray("civ_life_scene_01","targetname"); + var_03 = getentarray("civ_life_scene_02","targetname"); + var_04 = common_scripts\utility::getstructarray("civ_life_scene_01","targetname"); + var_05 = common_scripts\utility::getstructarray("civ_life_scene_02","targetname"); + var_06 = common_scripts\utility::array_combine(var_04,var_05); + var_07 = getentarray("spawner_civs_food_herd_01","targetname"); + var_08 = getentarray("civ_life_scene_01_orgs","targetname"); + var_06 = common_scripts\utility::array_combine(var_06,var_08); + level.section_1_civilians = []; + level.tent_scene_civilians_01 = []; + level.tent_scene_civilians_02 = []; + foreach(var_0A in var_06) + { + var_0B = common_scripts\utility::random(var_07) spawndrone(); + var_0B.animname = "drone_civs"; + var_0B maps\_anim::setanimtree(); + var_0B.origin = var_0A.origin; + var_0B.angles = var_0A.angles; + var_0B thread delete_me_on_notify(); + level.section_1_civilians[level.section_1_civilians.size] = var_0B; + if(isdefined(var_0A.script_noteworthy) && var_0A.script_noteworthy == "civ_sitting") + { + var_0A thread maps\_shg_design_tools::anim_simple(var_0B,common_scripts\utility::random(var_01)); + continue; + } + + var_0A thread maps\_shg_design_tools::anim_simple(var_0B,common_scripts\utility::random(var_00)); + } + + var_0D = common_scripts\utility::getstructarray("civ_tent_scene_01","targetname"); + var_0E = common_scripts\utility::getstructarray("civ_tent_scene_02","targetname"); + foreach(var_0A in var_0E) + { + var_0B = common_scripts\utility::random(var_07) spawndrone(); + var_0B.animname = "drone_civs"; + var_0B maps\_anim::setanimtree(); + var_0B.origin = var_0A.origin; + var_0B.angles = var_0A.angles; + var_0B thread delete_me_on_notify(); + level.tent_scene_civilians_02[level.tent_scene_civilians_02.size] = var_0B; + if(var_0A.animation == "civilian_smoking_b" || var_0A.animation == "civilian_smoking_a") + { + var_0B attach("prop_cigarette","tag_inhand",1); + var_0A thread maps\_shg_design_tools::anim_simple(var_0B,var_0A.animation); + continue; + } + + var_0A thread maps\_shg_design_tools::anim_simple(var_0B,var_0A.animation); + } + + while(!common_scripts\utility::flag("flag_camp_visibility_04")) + { + foreach(var_0A in var_0D) + { + var_0B = common_scripts\utility::random(var_07) spawndrone(); + var_0B.animname = "drone_civs"; + var_0B maps\_anim::setanimtree(); + var_0B.origin = var_0A.origin; + var_0B.angles = var_0A.angles; + var_0B thread delete_me_on_notify(); + level.tent_scene_civilians_01[level.tent_scene_civilians_01.size] = var_0B; + if(var_0A.animation == "civilian_smoking_b" || var_0A.animation == "civilian_smoking_a") + { + var_0B attach("prop_cigarette","tag_inhand",1); + var_0A thread maps\_shg_design_tools::anim_simple(var_0B,var_0A.animation); + continue; + } + + var_0A thread maps\_shg_design_tools::anim_simple(var_0B,var_0A.animation); + } + + common_scripts\utility::flag_wait("flag_camp_visibility_03b"); + common_scripts\utility::flag_clear("flag_camp_visibility_03a"); + common_scripts\utility::array_thread(level.tent_scene_civilians_01,::maps\_shg_design_tools::delete_auto); + common_scripts\utility::flag_wait("flag_camp_visibility_03a"); + common_scripts\utility::flag_clear("flag_camp_visibility_03b"); + wait(0.2); + } + + common_scripts\utility::array_thread(level.section_1_civilians,::maps\_shg_design_tools::delete_auto); + common_scripts\utility::array_thread(level.tent_scene_civilians_01,::maps\_shg_design_tools::delete_auto); + common_scripts\utility::array_thread(level.tent_scene_civilians_02,::maps\_shg_design_tools::delete_auto); +} + +//Function Number: 54 +delete_me_on_notify() +{ + common_scripts\utility::flag_wait("begin_player_mount_bike"); + if(isdefined(self)) + { + self stopanimscripted(); + self delete(); + } +} + +//Function Number: 55 +setup_food_line_and_guards() +{ + common_scripts\utility::flag_wait("level_intro_cinematic_complete"); + level endon("flag_camp_visibility_04"); + var_00 = getentarray("spawner_civs_food_herd_01","targetname"); + common_scripts\utility::array_thread(var_00,::looping_civilian_path_foodwalkers); + wait(randomfloatrange(10,15)); + common_scripts\utility::array_thread(var_00,::looping_civilian_path_foodwalkers); + wait(randomfloatrange(10,15)); + common_scripts\utility::array_thread(var_00,::looping_civilian_path_foodwalkers); +} + +//Function Number: 56 +looping_civilian_path_foodwalkers() +{ + level endon("flag_camp_visibility_04"); + var_00 = ["civ_team1","civ_team2","civ_team3","civ_team4","civ_team5","civ_team6","civ_team7","civ_team8","civ_team9"]; + for(;;) + { + var_01 = common_scripts\utility::random(maps\_utility::getgenericanim("depressed_walk")); + wait(randomfloatrange(5,10)); + var_02 = maps\_utility::dronespawn(self); + thread setup_civ_animations(var_02,var_01); + if(!isdefined(var_02.target)) + { + var_02 delete(); + continue; + } + + var_02.team = common_scripts\utility::random(var_00); + var_02 waittill("goal"); + var_02 delete(); + } +} + +//Function Number: 57 +setup_civ_animations(param_00,param_01) +{ + if(isdefined(param_00)) + { + param_00.animname = "generic"; + param_00.runanim = param_01; + } +} + +//Function Number: 58 +set_refugee_camp_walk_anims() +{ + maps\_utility::set_run_anim("refugee_camp_walk_fast"); + maps\_utility::set_idle_anim("refugee_camp_idle"); + self.old_turnrate = self.turnrate; + self.turnrate = 0.05; + self orientmode("face motion"); + self.usepathsmoothingvalues = 1; + self.maxturnspeed = 3; + self.old_pathlookaheaddist = self.pathlookaheaddist; + self.pathlookaheaddist = 160; + self.sharpturn = 0.2; + self.stand_to_run_overrideanim = maps\_utility::getanim("refugee_camp_idle_to_walk"); + self notify("move_loop_restart"); + self allowedstances("stand"); + self.disablearrivals = 1; + self.disableexits = 1; + thread clear_refugee_camp_walk_anims(); +} + +//Function Number: 59 +clear_refugee_camp_walk_anims() +{ + common_scripts\utility::flag_wait("refugee_camp_cleanup"); + self.usepathsmoothingvalues = 0; + self.old_disablearrivals = undefined; + self.pathlookaheaddist = self.old_pathlookaheaddist; + self.old_pathlookaheaddist = undefined; + self.disablearrivals = 0; + self.disableexits = 0; + self allowedstances("stand","crouch","prone"); +} + +//Function Number: 60 +setup_civs_walkers() +{ + maps\_utility::trigger_wait_targetname("spawn_walking_civs"); + var_00 = getent("walker","targetname"); + var_01 = var_00 maps\_utility::spawn_ai(1); + wait(5); +} + +//Function Number: 61 +security_triggers() +{ + thread sec_trig1(); + thread sec_trig2(); + thread sec_trig3(); + thread sec_trig4(); +} + +//Function Number: 62 +sec_trig1() +{ + maps\_utility::trigger_wait_targetname("invalid_1"); +} + +//Function Number: 63 +sec_trig2() +{ + maps\_utility::trigger_wait_targetname("invalid_2"); +} + +//Function Number: 64 +sec_trig3() +{ + maps\_utility::trigger_wait_targetname("access_granted"); +} + +//Function Number: 65 +sec_trig4() +{ +} + +//Function Number: 66 +tv_movie() +{ + common_scripts\utility::array_call(getentarray("propaganda_screens_static","targetname"),::hide); + setsaveddvar("cg_cinematicFullScreen","0"); + cinematicingameloop("detroit_stage_display"); + common_scripts\utility::flag_wait("flag_camp_visibility_04"); + stopcinematicingame(); + common_scripts\utility::array_call(getentarray("propaganda_screens","targetname"),::delete); + common_scripts\utility::array_call(getentarray("propaganda_screens_static","targetname"),::show); +} + +//Function Number: 67 +debug_start_bike_ride_in() +{ + var_00 = getent("player_bike_node","targetname"); + wait(0.05); + level.player maps\_utility::teleport_player(var_00); +} + +//Function Number: 68 +opening_start() +{ + thread delay_show_bones(); + common_scripts\utility::flag_set("level_intro_cinematic_complete_real"); + thread opening_start_fov_changes(); + soundscripts\_snd::snd_message("opening_start"); + var_00 = getdvarint("g_friendlyNameDist"); + setsaveddvar("compass","0"); + setsaveddvar("ammoCounterHide","1"); + setsaveddvar("hud_showstance","0"); + setsaveddvar("actionSlotsHide","1"); + setsaveddvar("g_friendlyNameDist",0); + common_scripts\utility::flag_wait("level_name_intro_done"); + level.player allowjump(0); + var_01 = maps\_utility::spawn_anim_model("world_body"); + level.player maps\_shg_utility::setup_player_for_scene(); + thread player_ads_disable_manager(); + level.player playerlinktodelta(var_01,"tag_player",1,0,0,0,0,1); + var_02 = getent("burke_level_intro_animnode","targetname"); + var_03 = maps\_utility::spawn_anim_model("warbird_int"); + var_04 = maps\_utility::spawn_anim_model("warbird_ext"); + thread maps\detroit_fx::waribird_intro_vfx(var_04); + var_05 = getent("reflection_golden_bottom","targetname"); + var_06 = getent("reflection_dark_bottom","targetname"); + var_07 = getent("reflection_dark_bottom2","targetname"); + var_08 = getent("reflection_white_bottom","targetname"); + var_03 overridereflectionprobe(var_06.origin); + var_04 overridereflectionprobe(var_05.origin); + playfxontag(common_scripts\utility::getfx("light_wingtip_red_med_point"),var_04,"TAG_light_L_wing"); + playfxontag(common_scripts\utility::getfx("light_wingtip_red_med_point"),var_04,"TAG_light_R_wing"); + playfxontag(common_scripts\utility::getfx("light_wingtip_red_med_point"),var_04,"TAG_light_tail"); + common_scripts\utility::flag_set("vo_refugee_camp_intro"); + var_09 = getent("intro_guy1","targetname"); + var_0A = getent("intro_guy2","targetname"); + var_0B = getent("intro_guy3","targetname"); + var_0C = var_09 maps\_utility::spawn_ai(1); + var_0D = var_0A maps\_utility::spawn_ai(1); + var_0E = var_0B maps\_utility::spawn_ai(1); + if(level.nextgen) + { + var_0C overridereflectionprobe(var_07.origin); + var_0D overridereflectionprobe(var_07.origin); + } + + var_0C.animname = "intro_guy1"; + var_0D.animname = "intro_guy2"; + var_0E.animname = "intro_guy3"; + soundscripts\_snd::snd_message("level_intro_cinematic",var_04); + var_03 common_scripts\utility::delaycall(9,::delete); + var_0C common_scripts\utility::delaycall(9,::delete); + var_0D common_scripts\utility::delaycall(9,::delete); + thread play_jump_out_of_heli_rumble(); + var_02 thread maps\_anim::anim_single_run([level.burke],"level_intro_cinematic"); + var_02 thread maps\_anim::anim_single_run([level.joker],"level_intro_cinematic"); + var_02 maps\_anim::anim_single_run([var_03,var_04,var_01,var_0C,var_0D,var_0E],"level_intro_cinematic"); + common_scripts\utility::flag_set("level_intro_cinematic_complete"); + var_0E thread guard_the_gate(var_02); + var_01 delete(); + level.player unlink(); + level notify("end_burke_intro_talk"); + common_scripts\utility::flag_set("intro_animation_completed_now"); + level.player maps\_shg_utility::setup_player_for_gameplay(); + maps\_utility::delaythread(2,::maps\_utility::center_screen_text,&"DETROIT_FOUR_YEARS_LATER"); + maps\_utility::delaythread(2,::common_scripts\utility::flag_set,"begin_objectives"); + level.player allowprone(0); + level.player takeallweapons(); + level.player giveweapon("iw5_bal27down_sp_silencer01_variablereddot"); + level.player switchtoweapon("iw5_bal27down_sp_silencer01_variablereddot"); + level.player allowfire(0); + level.player allowmelee(0); + level.player allowsprint(0); + level.player disableoffhandweapons(); + level.player maps\_player_exo::unsetboostdash(); + setsaveddvar("r_hudOutlineEnable",0); + setsaveddvar("compass","1"); + setsaveddvar("hud_showstance","1"); + setsaveddvar("actionSlotsHide","0"); + setsaveddvar("g_friendlyNameDist",var_00); + common_scripts\utility::flag_set("obj_acquire_bikes_give"); + thread refugee_walk(); + wait(0.05); + var_04 delete(); + wait(9.25); + common_scripts\utility::flag_set("vo_refugee_camp_meet_joker"); +} + +//Function Number: 69 +play_jump_out_of_heli_rumble() +{ + wait(3.92); + level.player playrumbleonentity("damage_light"); +} + +//Function Number: 70 +guard_the_gate(param_00) +{ + param_00 thread maps\_anim::anim_loop_solo(self,"post_level_intro_cinematic_idle"); + level waittill("player_has_used_bike"); + param_00 notify("stop_loop"); + self delete(); +} + +//Function Number: 71 +opening_start_fov_changes() +{ + level waittill("opening_fovchange"); + level.player lerpfov(65,1); +} + +//Function Number: 72 +setup_refugee_camp_soldiers_group_1() +{ + var_00 = getent("refugee_soldier_spawner","targetname"); + var_01 = getentarray("refugee_vignette_soldier_loop_01","targetname"); + while(!common_scripts\utility::flag("flag_camp_visibility_04")) + { + var_02 = []; + foreach(var_04 in var_01) + { + var_00.count = 1; + var_05 = var_00 maps\_utility::spawn_ai(1); + var_02[var_02.size] = var_05; + var_05 maps\_utility::deletable_magic_bullet_shield(); + if(var_04.animation != "casual_stand_idle") + { + var_04 thread maps\_shg_design_tools::anim_simple(var_05,var_04.animation); + } + else + { + var_05.origin = var_04.origin; + var_05.angles = var_04.angles; + if(maps\_utility::s1_motionset_avaliable()) + { + var_05 maps\_drone::drone_set_archetype_idle("s1_soldier"); + } + else + { + var_05 maps\_drone::drone_set_archetype_idle("soldier"); + } + } + + wait(0.05); + } + + common_scripts\utility::flag_wait("flag_camp_visibility_03b"); + common_scripts\utility::array_call(var_02,::delete); + common_scripts\utility::flag_clear("flag_camp_visibility_03a"); + common_scripts\utility::flag_wait("flag_camp_visibility_03a"); + common_scripts\utility::flag_clear("flag_camp_visibility_03b"); + } +} + +//Function Number: 73 +player_bike_shutoff(param_00) +{ + common_scripts\utility::flag_wait("shutoff_player_bike"); + level.player takeallweapons(); + param_00 notify("stop_jetbike_handle_viewmodel_anims"); + param_00 vehicle_jetbikesethoverforcescale(0); + level.player giveweapon("iw5_bal27_sp_silencer01_variablereddot"); + level.player switchtoweapon("iw5_bal27_sp_silencer01_variablereddot"); + level.player allowfire(1); + level.player allowmelee(1); + level.player allowdodge(1); + setsaveddvar("r_hudOutlineEnable",1); +} + +//Function Number: 74 +player_bike_lower() +{ + level endon("stop_lowering_bike"); + level endon("time to raise bike up"); + maps\_utility::trigger_wait_targetname("enter_garage"); + for(;;) + { + level.player_hover_height = 0.6; + wait(0.05); + } +} + +//Function Number: 75 +mechs_motorpool_animation() +{ + var_00 = getent("scanner_intro_anim_node","targetname"); + maps\_shg_design_tools::waittill_trigger_with_name("access_granted"); + if(level.currentgen) + { + thread transient_intro_to_middle_begin(); + for(;;) + { + if(istransientloaded("detroit_gatetrans_tr")) + { + break; + } + + wait(0.5); + } + } + + common_scripts\utility::flag_wait("everone_motorpool_animate"); + var_01 = [level.mech1,level.mech2]; + var_00 thread maps\_anim::anim_single(var_01,"hoverbike_meet_up"); +} + +//Function Number: 76 +ai_motorpool_animation() +{ + var_00 = getent("scanner_intro_anim_node","targetname"); + var_01 = getent("detroit_entrance_gate","targetname"); + var_01.animname = "entrance_gate"; + var_01 maps\_anim::setanimtree(); + var_02 = [level.bones,level.joker,level.burke,var_01]; + var_03 = [level.burke_bike,level.joker_bike,level.bones_bike]; + common_scripts\utility::flag_wait("everone_motorpool_animate"); + var_00 thread maps\_anim::anim_single_solo(var_01,"hoverbike_meet_up"); +} + +//Function Number: 77 +setup_refugee_camp_soldiers() +{ + maps\_drone_ai::init(); + if(level.nextgen) + { + thread setup_refugee_stage_speaker(); + } + else + { + thread maps\detroit_transients_cg::cg_setup_refugee_stage_speaker(); + } + + thread setup_refugee_camp_soldiers_group_1(); + var_00 = getent("refugee_soldier_spawner","targetname"); + common_scripts\utility::flag_wait("flag_camp_visibility_01"); + var_01 = []; + var_02 = getentarray("refugee_vignette_soldier_loop_02","targetname"); + foreach(var_04 in var_02) + { + var_00.count = 1; + var_05 = var_00 maps\_utility::spawn_ai(1); + var_05.friendname = "soldier 2"; + var_01[var_01.size] = var_05; + var_05 maps\_utility::deletable_magic_bullet_shield(); + var_04 thread maps\_shg_design_tools::anim_simple(var_05,var_04.animation); + wait(0.05); + } + + common_scripts\utility::flag_wait("flag_camp_visibility_02"); + var_07 = []; + var_02 = getentarray("refugee_vignette_soldier_loop_03","targetname"); + foreach(var_04 in var_02) + { + var_00.count = 1; + var_05 = var_00 maps\_utility::spawn_ai(1); + var_07[var_07.size] = var_05; + var_05 maps\_utility::deletable_magic_bullet_shield(); + var_04 thread maps\_shg_design_tools::anim_simple(var_05,var_04.animation); + wait(0.05); + } + + if(level.currentgen) + { + var_0A = []; + var_02 = getentarray("refugee_vignette_soldier_loop_03_pre_scanners","targetname"); + foreach(var_04 in var_02) + { + var_00.count = 1; + var_05 = var_00 maps\_utility::spawn_ai(1); + var_05 maps\_utility::deletable_magic_bullet_shield(); + var_04 thread maps\_shg_design_tools::anim_simple(var_05,var_04.animation); + thread maps\detroit_transients_cg::cg_kill_entity_on_flag(var_05,"flag_camp_visibility_04"); + wait(0.05); + } + } + + common_scripts\utility::flag_wait("flag_camp_visibility_04"); + var_0D = []; + var_02 = getentarray("refugee_vignette_soldier_loop_04","targetname"); + foreach(var_04 in var_02) + { + var_00.count = 1; + var_05 = var_00 maps\_utility::spawn_ai(1); + var_0D[var_0D.size] = var_05; + var_05 maps\_utility::deletable_magic_bullet_shield(); + var_04 thread maps\_shg_design_tools::anim_simple(var_05,var_04.animation); + wait(0.05); + } + + common_scripts\utility::array_call(var_01,::delete); + common_scripts\utility::flag_wait("refugee_camp_cleanup"); + common_scripts\utility::array_call(var_07,::delete); + common_scripts\utility::flag_wait("open_massive_door"); + common_scripts\utility::array_call(var_0D,::delete); +} + +//Function Number: 78 +setup_refugee_stage_speaker() +{ + common_scripts\utility::flag_wait("flag_stage_dialogue_start_audio"); + var_00 = getent("refugee_stage_speaker","targetname") maps\_utility::dronespawn(); + var_00.animname = "Atlas_Commander"; + var_00.runanim = level.scr_anim[var_00.animname]["det_camp_stagespeech_walk"]; + var_01 = getent("org_stage_speaker","targetname"); + var_01 maps\_anim::anim_single_solo(var_00,"det_camp_stagespeech_guy01"); + var_00.target = "stage_talker_exit"; + var_00.moveplaybackrate = 1; + var_00 thread maps\_drone::drone_move(); +} + +//Function Number: 79 +setup_refugee_stage_audience() +{ + common_scripts\utility::flag_wait("flag_camp_visibility_01"); + var_00 = []; + var_01 = getentarray("civilian_orgs_sitting","targetname"); + var_02 = getentarray("civilian_spawner","targetname"); + foreach(var_04 in var_01) + { + if(maps\_shg_design_tools::percentchance(30)) + { + var_05 = common_scripts\utility::random(var_02); + var_05.count = 1; + var_06 = maps\_utility::dronespawn(var_05); + var_04 thread maps\_shg_design_tools::anim_simple(var_06,var_04.animation); + var_00[var_00.size] = var_06; + level.refugee_camp_ai[level.refugee_camp_ai.size] = var_06; + } + + wait(randomfloat(0.25)); + } + + common_scripts\utility::flag_wait("flag_camp_visibility_04"); + common_scripts\utility::array_call(var_00,::delete); +} + +//Function Number: 80 +sighting_think(param_00) +{ + var_01 = common_scripts\utility::spawn_tag_origin(); + target_set(var_01); + target_hidefromplayer(var_01,level.player); + param_00.count = 1; + var_02 = param_00 maps\_utility::spawn_ai(1); + if(!isdefined(var_02)) + { + return; + } + + var_02.ignoreall = 1; + var_02.animname = "generic"; + var_02 teleport(self.origin,self.angles); + var_02 thread maps\_anim::anim_generic_first_frame(var_02,self.animation); + var_01.origin = var_02 gettagorigin("tag_eye"); + while(isdefined(var_02)) + { + if(target_isincircle(var_01,level.player,65,100) && bullettracepassed(level.player geteye(),var_02 geteye(),0,var_02)) + { + break; + } + + wait 0.05; + } + + if(isdefined(var_02)) + { + var_02 maps\_anim::anim_generic(var_02,self.animation); + var_02 delete(); + } + + var_01 delete(); +} + +//Function Number: 81 +debug_vehicle_node() +{ + for(;;) + { + self waittill("trigger"); + thread draw_vehicle_node_triggered(); + } +} + +//Function Number: 82 +draw_vehicle_node_triggered() +{ + for(var_00 = 0;var_00 < 20;var_00++) + { + wait 0.05; + } +} + +//Function Number: 83 +debug_tag(param_00,param_01,param_02,param_03) +{ + thread debug_tag_internal(param_00,param_01,param_02,param_03); +} + +//Function Number: 84 +debug_tag_internal(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_02)) + { + param_02 = param_01; + } + + if(!isdefined(param_03)) + { + param_03 = 10; + } + + param_00 endon("death"); + for(;;) + { + var_04 = param_00 gettagorigin(param_01); + var_05 = param_00 gettagangles(param_01); + wait 0.05; + } +} + +//Function Number: 85 +handle_ambient_cleanup_vehicles() +{ + wait(1); + var_00 = getent("spawner_ambient_car_guys","targetname"); + var_01 = getent("ambient_cleanup_vehicle_01","targetname"); + var_02 = 3; + for(var_03 = 0;var_03 < var_02;var_03++) + { + var_04 = var_00 maps\_shg_design_tools::actual_spawn(); + var_04.ignoreall = 1; + thread maps\_utility::guy_runtovehicle_load(var_04,var_01); + var_04 thread turn_self_into_level_notify("enteredvehicle"); + wait(1.5); + } + + for(var_03 = 0;var_03 < var_02;var_03++) + { + level waittill("enteredvehicle"); + } + + wait(1); + var_01 maps\_vehicle::gopath(); + level waittill("stop_busses"); +} + +//Function Number: 86 +turn_self_into_level_notify(param_00) +{ + self waittill(param_00); + level notify(param_00); +} + +//Function Number: 87 +handle_name_identifiers_intro_drive() +{ + var_00 = getdvarint("g_friendlyNameDist"); + setsaveddvar("g_friendlyNameDist",0); + common_scripts\utility::flag_wait("obj_check_school_give"); + setsaveddvar("g_friendlyNameDist",var_00); +} + +//Function Number: 88 +handle_guage_textures_intro_drive() +{ + level waittill("intro_drive_on_button_pressed"); + level.player_bike vehicle_scripts\_jetbike::jetbike_speedometer_on(); + level waittill("intro_drive_off_button_pressed"); + level.player_bike vehicle_scripts\_jetbike::jetbike_speedometer_off(); +} + +//Function Number: 89 +handle_guage_textures_intro_drive_newbike() +{ + level waittill("intro_drive_on_button_pressed"); + level.player_bikenew vehicle_scripts\_jetbike::jetbike_speedometer_on(); + level waittill("intro_drive_off_button_pressed"); + level.player_bikenew vehicle_scripts\_jetbike::jetbike_speedometer_off(); +} + +//Function Number: 90 +notify_bike_hover(param_00) +{ + param_00 notify("powerup"); +} + +//Function Number: 91 +notify_guy_mounted(param_00) +{ + param_00 notify("bike_mounted"); +} + +//Function Number: 92 +joker_bones_bike_start(param_00) +{ + common_scripts\utility::flag_wait("flag_decon_ready_joker"); + var_01 = [level.joker_bike,level.bones_bike]; + param_00 thread maps\_anim::anim_single(var_01,"hoverbike_kickstand"); + thread joker_bike_idle_wait(param_00); + thread bones_bike_idle_wait(param_00); +} + +//Function Number: 93 +joker_bike_idle_wait(param_00) +{ + level.joker_bike waittill("powerup"); + param_00 thread maps\_anim::anim_loop([level.joker_bike],"hoverbike_pre_mount","hoverbike_pre_mount_ender"); +} + +//Function Number: 94 +bones_bike_idle_wait(param_00) +{ + level.bones_bike waittill("powerup"); + param_00 thread maps\_anim::anim_loop([level.bones_bike],"hoverbike_pre_mount","hoverbike_pre_mount_ender"); +} + +//Function Number: 95 +setup_mechs() +{ + level.mech1 = getent("big_door_mech_spawner_left","targetname") maps\_shg_design_tools::actual_spawn(); + level.mech1.animname = "mech1"; + level.mech1.ignoreall = 1; + level.mech1.ignoreme = 1; + level.mech2 = getent("big_door_mech_spawner_right","targetname") maps\_shg_design_tools::actual_spawn(); + level.mech2.animname = "mech2"; + level.mech2.ignoreall = 1; + level.mech2.ignoreme = 1; + level.hoverbike_meet_up_mech1 = level.mech1; + var_00 = getent("detroit_entrance_gate","targetname"); + var_00.animname = "entrance_gate"; + var_00 maps\_anim::setanimtree(); +} + +//Function Number: 96 +setup_motorpool(param_00) +{ + var_01 = getent("scanner_intro_anim_node","targetname"); + var_02 = []; + foreach(var_04 in ["burke_bike","joker_bike","bones_bike","player_bike"]) + { + var_05 = getstartorigin(var_01.origin,var_01.angles,level.scr_anim[var_04]["hoverbike_pre_mount"][0]); + var_06 = getstartangles(var_01.origin,var_01.angles,level.scr_anim[var_04]["hoverbike_pre_mount"][0]); + var_07 = spawn("script_model",var_05); + var_07.angles = var_06; + var_07 setmodel("vehicle_mil_hoverbike_parked_static"); + var_02[var_02.size] = var_07; + } + + common_scripts\utility::flag_wait("flag_camp_visibility_03"); + maps\detroit::spawn_bikes(); + foreach(var_0A in var_02) + { + var_0A delete(); + } + + level.player_bike_obj = spawn("script_model",(0,0,0)); + level.player_bike_obj.animname = level.player_bike.animname; + level.player_bike_obj maps\_utility::assign_animtree(); + level.player_bike_obj setmodel("vehicle_mil_hoverbike_ai_obj"); + var_0C = [level.player_bike,level.burke_bike,level.joker_bike,level.bones_bike]; + var_0D = [level.player_bike_obj,level.player_bike,level.burke_bike]; + var_01 thread maps\_anim::anim_loop(var_0D,"hoverbike_pre_mount","hoverbike_pre_mount_ender"); + thread joker_bones_bike_start(var_01); + level.player_bike showallparts(); + level.player_bike_obj hideallparts(); + common_scripts\utility::flag_wait("flag_scanner_doors_open"); + if(level.nextgen) + { + } + + if(!isdefined(param_00)) + { + param_00 = 0; + } + + if(param_00 == 0) + { + maps\_shg_design_tools::waittill_trigger_with_name("access_granted"); + } + + if(level.currentgen) + { + thread transient_intro_to_middle_begin(); + for(;;) + { + if(istransientloaded("detroit_gatetrans_tr")) + { + break; + } + + wait(0.5); + } + } + + level.mech1 = getent("big_door_mech_spawner_left","targetname") maps\_shg_design_tools::actual_spawn(); + level.mech1.animname = "mech1"; + level.mech1.ignoreall = 1; + level.mech1.ignoreme = 1; + level.mech2 = getent("big_door_mech_spawner_right","targetname") maps\_shg_design_tools::actual_spawn(); + level.mech2.animname = "mech2"; + level.mech2.ignoreall = 1; + level.mech2.ignoreme = 1; + level.hoverbike_meet_up_mech1 = level.mech1; + var_0E = getent("detroit_entrance_gate","targetname"); + var_0E.animname = "entrance_gate"; + var_0E maps\_anim::setanimtree(); + var_0F = [level.burke,level.bones,level.joker]; + var_10 = getent("use_hoverbike_opening_trigger","targetname"); + var_10 sethintstring(&"DETROIT_PROMPT_USE"); + var_11 = getent("use_hoverbike_opening_trigger","targetname") maps\_shg_utility::hint_button_trigger("use",200); + if(level.start_point != "mount_bikes") + { + var_10 waittill("trigger"); + } + + thread play_doctor_pip(); + level notify("player_has_used_bike"); + common_scripts\utility::flag_set("begin_player_mount_bike"); + var_10 delete(); + var_11 maps\_shg_utility::hint_button_clear(); + objective_position(maps\_utility::obj("Follow Gideon"),(0,0,0)); + objective_setpointertextoverride(maps\_utility::obj("Follow Gideon"),&"DETROIT_FOLLOW"); + level.player maps\_shg_utility::setup_player_for_scene(1); + common_scripts\utility::flag_set("vo_autopilot_engaged"); + common_scripts\utility::flag_set("refugee_camp_cleanup"); + common_scripts\utility::flag_set("security_checkpoint_cleanup"); + common_scripts\utility::flag_set("drivein_player_bike_used"); + common_scripts\utility::flag_set("obj_acquire_bikes_complete"); + if(level.nextgen) + { + level.burke_bike overridematerial("mtl_mil_hoverbike","m/mtl_mil_hoverbike_emissive"); + level.burke_bike overridematerial("m/mtl_mil_hoverbike_glass","m/mtl_mil_hoverbike_glass"); + level.joker_bike overridematerial("mtl_mil_hoverbike","m/mtl_mil_hoverbike_emissive"); + level.joker_bike overridematerial("m/mtl_mil_hoverbike_glass","m/mtl_mil_hoverbike_glass"); + level.bones_bike overridematerial("mtl_mil_hoverbike","m/mtl_mil_hoverbike_emissive"); + level.bones_bike overridematerial("m/mtl_mil_hoverbike_glass","m/mtl_mil_hoverbike_glass"); + } + else + { + level.burke_bike overridematerial("mtl_mil_hoverbike","mq/mtl_mil_hoverbike_emissive"); + level.burke_bike overridematerial("mq/mtl_mil_hoverbike_glass","mq/mtl_mil_hoverbike_glass"); + level.joker_bike overridematerial("mtl_mil_hoverbike","mq/mtl_mil_hoverbike_emissive"); + level.joker_bike overridematerial("mq/mtl_mil_hoverbike_glass","mq/mtl_mil_hoverbike_glass"); + level.bones_bike overridematerial("mtl_mil_hoverbike","mq/mtl_mil_hoverbike_emissive"); + level.bones_bike overridematerial("mq/mtl_mil_hoverbike_glass","mq/mtl_mil_hoverbike_glass"); + } + + level.player_bike_obj delete(); + if(level.nextgen) + { + level.player_bike showallparts(); + } + + level.player takeallweapons(); + level.player giveweapon("iw5_bal27_sp_silencer01_variablereddot"); + level.player switchtoweapon("iw5_bal27_sp_silencer01_variablereddot"); + level.player allowfire(1); + level.player allowmelee(1); + level.player allowsprint(1); + level.player maps\_player_exo::setboostdash(); + setsaveddvar("r_hudOutlineEnable",1); + thread handle_name_identifiers_intro_drive(); + thread handle_guage_textures_intro_drive(); + thread maps\detroit_lighting::bike_mount_dof(); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","1"); + } + + level.player lerpfov(level.detroit_drive_in_fov,2); + thread maps\detroit_lighting::gate_lights_on(); + level.player setmovespeedscale(1); + level.player allowjump(1); + var_12 = maps\_utility::spawn_anim_model("world_body",level.player.origin); + if(isdefined(level.playerisonleft) && level.playerisonleft) + { + var_13 = "hoverbike_mount_left"; + } + else + { + var_13 = "hoverbike_mount"; + } + + var_01 maps\_anim::anim_first_frame_solo(var_12,var_13); + var_12 hide(); + var_14 = 0.5; + level.player playerlinktoblend(var_12,"tag_player",var_14,var_14 * 0.3,var_14 * 0.3); + wait(var_14); + level.player playerlinktodelta(var_12,"tag_player",1,70,70,30,30,1); + level.player springcamenabled(0,level.detroit_spring_cam_lerp_speed,level.detroit_spring_cam_release_speed); + var_12 show(); + var_01 notify("hoverbike_pre_mount_ender"); + if(level.playerisonleft) + { + var_15 = [level.burke_bike,level.joker_bike,level.bones_bike,level.burke,level.joker,level.bones]; + soundscripts\_snd::snd_message("jetbike_intro","left_anim"); + level.player_bike thread hoverbike_rumble(); + var_01 thread maps\_anim::anim_single_solo(var_12,"hoverbike_mount_left"); + var_01 thread maps\_anim::anim_single_solo(level.player_bike,"hoverbike_mount_left"); + var_01 maps\_anim::anim_single(var_15,"hoverbike_mount",undefined,0.05); + } + else + { + var_15 = [level.player_bike,level.burke_bike,level.joker_bike,level.bones_bike,var_13,level.burke,level.joker,level.bones]; + soundscripts\_snd::snd_message("jetbike_intro","right_anim"); + level.player_bike thread hoverbike_rumble(); + var_01 maps\_anim::anim_single(var_15,"hoverbike_mount",undefined,0.05); + } + + level.hoverbike_meet_up_mech1 = level.mech1; + var_16 = [level.player_bike,level.burke_bike,level.joker_bike,level.bones_bike,var_12,level.burke,level.joker,level.bones,level.mech1,level.mech2,var_0E]; + thread maps\detroit_lighting::mech_intro_gate_lighting(level.mech2); + level.ride_in_mech = level.mech1; + foreach(var_0A in var_0C) + { + var_0A maps\_utility::delaythread(getanimlength(var_12 maps\_utility::getanim("hoverbike_meet_up")) - 0.35,::maps\_vehicle::gopath); + } + + level.player_bike vehicle_jetbikesethoverforcescale(0.8); + level.burke_bike vehicle_jetbikesethoverforcescale(1.1); + level.bones_bike vehicle_jetbikesethoverforcescale(0.8); + level.joker_bike vehicle_jetbikesethoverforcescale(0.5); + common_scripts\utility::flag_set("vo_drive_in_mech_scene"); + var_01 maps\_anim::anim_single(var_16,"hoverbike_meet_up",undefined,0.05); + level.player_bike setanim(level.player_bike maps\_utility::getanim("jetbike_casual_drive_idle")); + level.player_bike.world_body = var_12; + var_12 linkto(level.player_bike,"tag_driver",(0,0,0),(0,0,0)); + level.player_bike thread maps\_anim::anim_single_solo(var_12,"jetbike_casual_drive_idle","tag_driver"); + level.player_bike stopanimscripted(); + level.player_bike vehicle_jetbikesethoverforcescale(1,2); + level.player_bike setanim(level.player_bike maps\_utility::getanim("jetbike_casual_drive_idle")); + level.burke_bike thread intro_drive_scripted_bike_burke(); + level.bones_bike thread intro_drive_scripted_bike_bones(); + level.joker_bike thread intro_drive_scripted_bike_joker(); + level.mech1 delete(); + level.mech2 delete(); + maps\_utility::delaythread(2,::camera_rotator_begin); + thread maps\detroit_school::play_garage_bike_dismount(level.burke_bike,level.bones_bike,level.joker_bike,level.player_bike); +} + +//Function Number: 97 +school_begin_onbike() +{ + maps\_utility::vision_set_fog_changes("detroit_garage",0); + level.player lightsetforplayer("garage"); + level.player setclutforplayer("clut_detroit_exterior",0); + level.player maps\_stealth_utility::stealth_default(); + maps\detroit::debug_start_common(); + maps\detroit_school::school_animated_fences(); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","1"); + } + + var_00 = getent("player_jetbike","targetname"); + level.player_onbike = var_00 maps\_utility::spawn_vehicle(); + level.player_onbike.animname = "player_bike"; + var_01 = getent("bones_jetbike","targetname"); + level.bones_onbike = var_01 maps\_utility::spawn_vehicle(); + level.bones_onbike.animname = "bones_bike"; + var_02 = getent("joker_jetbike","targetname"); + level.joker_onbike = var_02 maps\_utility::spawn_vehicle(); + level.joker_onbike.animname = "joker_bike"; + var_03 = getent("burke_jetbike","targetname"); + level.burke_onbike = var_03 maps\_utility::spawn_vehicle(); + level.burke_onbike.animname = "burke_bike"; + var_04 = getent("actual_dismount_animation_origin","targetname"); + var_05 = [level.burke_onbike,level.player_onbike,level.bones_onbike,level.joker_onbike]; + var_04 maps\_anim::anim_first_frame(var_05,"bike_dismount"); + level.player_hover_height = 0.8; + level.player_onbike stopanimscripted(); + level.player_onbike setmodel("vehicle_mil_hoverbike_vm"); + level.player_onbike vehicle_jetbikesethoverforcescale(level.player_hover_height); + level.player_onbike attach(level.scr_model["world_body"],"tag_driver"); + level.player lerpfov(level.detroit_drive_in_fov,2); + level.smooth_veh_play = 0; + thread maps\detroit_school::play_garage_bike_dismount(level.burke_onbike,level.bones_onbike,level.joker_onbike,level.player_onbike); + thread player_bike_shutoff(level.player_onbike); + thread player_bike_lower(); + level.player_onbike detach(level.scr_model["world_body"],"tag_driver"); + common_scripts\utility::flag_set("begin_bike_dismount_burke"); + common_scripts\utility::flag_set("begin_bike_dismount_bones"); + common_scripts\utility::flag_set("begin_bike_dismount_joker"); + common_scripts\utility::flag_set("begin_playing_player_dismount_anim"); + common_scripts\utility::flag_wait("shutoff_player_bike"); + level notify("stop hovering player bike"); + level.player_onbike vehicle_jetbikesethoverforcescale(0); + level.player_onbike notify("stop_jetbike_handle_viewmodel_anims"); +} + +//Function Number: 98 +hint_hoverbike() +{ + maps\_utility::hint(&"DETROIT_JETBIKE_CONTROLS",4,-80); +} + +//Function Number: 99 +debug_tag_camera() +{ + wait 0.05; +} + +//Function Number: 100 +transient_hide_intro_vista_buildings() +{ + var_00 = getentarray("intro_vista_buildings","targetname"); + for(var_01 = 0;var_01 < var_00.size;var_01++) + { + var_00[var_01] hide(); + } +} + +//Function Number: 101 +transient_intro_to_middle_begin() +{ + common_scripts\utility::flag_set("flag_cg_kill_camp_chopper_loop"); + var_00 = getentarray("cargo_chopper_01","targetname"); + var_01 = getentarray("refugee_camp_looping_choppers","targetname"); + var_00 = common_scripts\utility::array_combine(var_00,var_01); + for(var_02 = 0;var_02 < var_00.size;var_02++) + { + var_00[var_02] delete(); + } + + thread transient_add_gatetrans_entry(); + level notify("tff_pre_intro_to_middle"); + level waittill("player_has_used_bike"); + for(var_02 = 0;var_02 < 35;var_02++) + { + wait(1); + } + + unloadtransient("detroit_intro_tr"); + loadtransient("detroit_middle_tr"); + for(;;) + { + if(istransientloaded("detroit_middle_tr")) + { + level notify("tff_post_intro_to_middle"); + break; + } + + wait(0.05); + } +} + +//Function Number: 102 +transient_add_gatetrans_entry() +{ + if(!istransientloaded("detroit_gatetrans_tr")) + { + loadtransient("detroit_gatetrans_tr"); + for(;;) + { + if(istransientloaded("detroit_gatetrans_tr")) + { + level notify("tff_post_gatetrans_entry"); + break; + } + + wait(0.05); + } + } +} + +//Function Number: 103 +camera_rotator_begin() +{ + var_00 = common_scripts\utility::spawn_tag_origin(); + var_00 thread camera_rotator_think(level.player_bike.world_body,level.joker_bike); + wait 0.05; + level.player playerlinktodelta(var_00,"tag_origin",1,50,50,30,30,1); + level.player springcamenabled(0,level.detroit_spring_cam_lerp_speed,level.detroit_spring_cam_release_speed); +} + +//Function Number: 104 +smooth_limit(param_00,param_01) +{ + return atan(param_00 / param_01) * 0.01745329 * param_01; +} + +//Function Number: 105 +camera_rotator_think(param_00,param_01) +{ + var_02 = 0.8; + var_03 = 45; + var_04 = 0; + var_05 = 1; + var_06 = 0; + while(isdefined(param_01) && isdefined(param_00) && isdefined(self)) + { + var_07 = transformmove((0,0,0),(0,0,0),param_00.origin,param_00.angles,param_01.origin,param_01.angles)["origin"]; + var_08 = angleclamp180(vectortoangles(var_07)[1]); + var_06 = maps\_utility::linear_interpolate(var_02,smooth_limit(var_08,var_03),var_06); + if(common_scripts\utility::flag("begin_bike_dismount_player")) + { + var_05 = 0; + var_04 = 0; + } + + if(var_05) + { + var_09 = maps\_shg_utility::linear_map_clamp(var_04,0,5,0,1); + } + else + { + var_09 = maps\_shg_utility::linear_map_clamp(var_04,0,1,1,0); + } + + self linkto(param_00,"tag_player",(0,0,0),(0,var_06 * var_09,0)); + var_04 = var_04 + 0.05; + wait(0.05); + } + + self delete(); +} + +//Function Number: 106 +draw_trail(param_00,param_01) +{ + var_02 = 10; + self endon("death"); + var_03 = self gettagorigin(param_00); + for(;;) + { + waittillframeend; + waittillframeend; + thread common_scripts\utility::draw_line_for_time(var_03,self gettagorigin(param_00),param_01[0],param_01[1],param_01[2],var_02); + var_03 = self gettagorigin(param_00); + wait 0.05; + } +} + +//Function Number: 107 +play_bike_gesture(param_00,param_01) +{ + var_02 = maps\_vehicle::vehicle_ai_event(param_00); + if(isdefined(param_01)) + { + wait(param_01); + return; + } + + var_02[0] waittill("anim_on_tag_done"); +} + +//Function Number: 108 +intro_drive_scripted_bike_burke() +{ + intro_drive_start_scripted_bike(level.burke,level.burke_bike); + level.burke_bike maps\detroit_jetbike::vehicle_rubberband(level.player_bike,780,0,4,6); + thread intro_drive_scripted_bike_burke_gestures(); + wait(23); + level.burke_bike maps\detroit_jetbike::vehicle_rubberband_set_desired_range(39); +} + +//Function Number: 109 +intro_drive_scripted_bike_burke_gestures() +{ + play_bike_gesture("hoverbike_driving_gesture_lft_2"); + wait(2); + play_bike_gesture("hoverbike_driving_lean_right_into_2"); + play_bike_gesture("hoverbike_driving_lean_right_out_2"); + play_bike_gesture("hoverbike_driving_gesture_lft_2"); + wait(3.5); + play_bike_gesture("hoverbike_driving_lean_right_into_2"); + play_bike_gesture("hoverbike_driving_lean_right_out_2"); + wait(3); + level.burke maps\detroit_lighting::add_enemy_flashlight("flashlight","bright"); + level.burke maps\_utility::delaythread(8,::notify_method,"flashlight_off"); + play_bike_gesture("hoverbike_driving_flashlight_left_1"); + level.burke maps\_utility::gun_recall(); +} + +//Function Number: 110 +notify_method(param_00) +{ + self notify(param_00); +} + +//Function Number: 111 +intro_drive_scripted_bike_bones() +{ + intro_drive_start_scripted_bike(level.bones,level.bones_bike); + level.bones_bike maps\detroit_jetbike::vehicle_rubberband(level.player_bike,390,0,4,6); + thread intro_drive_scripted_bike_bones_gestures(); + wait(23); + level.bones_bike maps\detroit_jetbike::vehicle_rubberband_set_desired_range(-273); +} + +//Function Number: 112 +intro_drive_scripted_bike_bones_gestures() +{ + wait(1); + play_bike_gesture("hoverbike_driving_look_over_lft_shoulder_1"); + play_bike_gesture("hoverbike_driving_look_over_rt_shoulder_1"); + play_bike_gesture("hoverbike_driving_lean_right_into_1"); + play_bike_gesture("hoverbike_driving_lean_right_out_1"); + play_bike_gesture("hoverbike_driving_gesture_rt_1"); + play_bike_gesture("hoverbike_driving_lean_right_into_1"); + play_bike_gesture("hoverbike_driving_lean_right_out_1"); + play_bike_gesture("hoverbike_driving_lean_left_into_1"); + play_bike_gesture("hoverbike_driving_lean_left_out_1"); + level.bones maps\_utility::gun_recall(); +} + +//Function Number: 113 +intro_drive_scripted_bike_joker() +{ + intro_drive_start_scripted_bike(level.joker,level.joker_bike); + level.joker_bike maps\detroit_jetbike::vehicle_rubberband(level.player_bike,585,0,4,6); + thread intro_drive_scripted_bike_joker_gestures(); + wait(23); + level.joker_bike maps\detroit_jetbike::vehicle_rubberband_set_desired_range(19.5); +} + +//Function Number: 114 +intro_drive_scripted_bike_joker_gestures() +{ + wait(5); + level.joker maps\detroit_lighting::add_enemy_flashlight("flashlight","bright"); + level.joker maps\_utility::delaythread(8,::notify_method,"flashlight_off"); + play_bike_gesture("hoverbike_driving_flashlight_right_1"); + wait(4); + play_bike_gesture("hoverbike_driving_lean_right_into_1"); + play_bike_gesture("hoverbike_driving_lean_right_out_1"); + wait(4); + play_bike_gesture("hoverbike_driving_lean_right_into_1"); + play_bike_gesture("hoverbike_driving_lean_right_out_1"); + play_bike_gesture("hoverbike_driving_lean_right_into_1"); + play_bike_gesture("hoverbike_driving_lean_right_out_1"); + play_bike_gesture("hoverbike_driving_lean_left_into_1"); + play_bike_gesture("hoverbike_driving_lean_left_idle_1"); + play_bike_gesture("hoverbike_driving_lean_left_out_1"); + wait(10); + level.joker maps\_utility::gun_recall(); +} + +//Function Number: 115 +bike_reach_function(param_00,param_01) +{ + param_01 endon("hoverbike_pre_mount_ender"); + param_01 maps\_anim::anim_reach_solo(param_00,"hoverbike_pre_mount"); + if(param_00 == level.joker || param_00 == level.bones) + { + param_00 waittill("bike_mounted"); + } + + param_01 maps\_anim::anim_loop_solo(param_00,"hoverbike_pre_mount","hoverbike_pre_mount_ender"); +} + +//Function Number: 116 +intro_drive_start_scripted_bike(param_00,param_01) +{ + param_01 stopanimscripted(); + param_01 vehicle_jetbikesethoverforcescale(1,3); + param_00 stopanimscripted(); + param_01 maps\_utility::guy_enter_vehicle(param_00); + param_01.dont_clear_vehicle_anim = 1; + param_00 dontinterpolate(); +} + +//Function Number: 117 +open_big_door() +{ + var_00 = getent("right_main_door","targetname"); + var_01 = getent("right_inner_door","targetname"); + var_02 = getent("left_main_door","targetname"); + var_03 = getent("left_inner_door","targetname"); + var_04 = getent("right_door_inner_org1","targetname"); + var_05 = getent("left_door_inner_org1","targetname"); + var_06 = getent("right_door_inner_org2","targetname"); + var_07 = getent("left_door_inner_org2","targetname"); + var_08 = getent("right_door_main_org1","targetname"); + var_09 = getent("left_door_main_org1","targetname"); + var_01 moveto(var_04.origin,2,0.75,1.25); + var_03 moveto(var_05.origin,2,0.75,1.25); + wait(2.05); + var_01 moveto(var_06.origin,2,0.75,1.25); + var_03 moveto(var_07.origin,2,0.75,1.25); + var_00 moveto(var_08.origin,2,0.75,1.25); + var_02 moveto(var_09.origin,2,0.75,1.25); +} + +//Function Number: 118 +setup_door_anim_leader(param_00,param_01,param_02,param_03) +{ + var_04 = [param_00,param_01,param_02,param_03]; + var_05 = getent(var_04[0],"targetname"); + var_05 thread maps\_anim::anim_generic_loop(self,var_05.animation); + self.ignoreall = 1; + maps\detroit::set_patrol_anim_set("gundown"); + maps\_shg_design_tools::waittill_trigger_with_name("open_radiation_doors_trigger"); + maps\_shg_design_tools::anim_stop(var_05); + var_06 = getent(var_04[1],"targetname"); + var_06 maps\_anim::anim_generic_reach(self,var_06.animation); + maps\_utility::set_moveplaybackrate(0.6); + var_06 maps\_anim::anim_generic(self,var_06.animation); + maps\_utility::set_moveplaybackrate(1); + common_scripts\utility::flag_set("massive_door_guard_in_position"); + var_06 = getent(var_04[2],"targetname"); + var_06 maps\_anim::anim_generic_reach(self,var_06.animation); + var_06 thread maps\_anim::anim_generic_loop(self,var_06.animation); + level notify("finished_door_scan"); + maps\_shg_design_tools::anim_stop(var_06); + var_06 = getent(var_04[3],"targetname"); + var_06 maps\_anim::anim_generic_reach(self,var_06.animation); + var_06 maps\_anim::anim_generic(self,var_06.animation); + thread maps\_anim::anim_generic_loop(self,"patrol_bored_idle_cellphone"); + wait(30); + common_scripts\utility::flag_set("massive_door_cleanup"); +} + +//Function Number: 119 +setup_door_anim(param_00,param_01,param_02,param_03) +{ + var_04 = [param_00,param_01,param_02,param_03]; + var_05 = getent(var_04[0],"targetname"); + var_05 thread maps\_anim::anim_generic_loop(self,var_05.animation); + self.ignoreall = 1; + maps\detroit::set_patrol_anim_set("gundown"); + maps\_shg_design_tools::waittill_trigger_with_name("open_radiation_doors_trigger"); + wait(randomfloat(3)); + maps\_shg_design_tools::anim_stop(var_05); + var_06 = getent(var_04[1],"targetname"); + var_06 maps\_anim::anim_generic_reach(self,var_06.animation); + var_06 thread maps\_anim::anim_generic_loop(self,var_06.animation); + level waittill("finished_door_scan"); + wait(randomfloat(1)); + maps\_shg_design_tools::anim_stop(var_06); + var_06 = getent(var_04[2],"targetname"); + var_06 maps\_anim::anim_generic_reach(self,var_06.animation); + var_06 thread maps\_anim::anim_generic_loop(self,var_06.animation); +} + +//Function Number: 120 +ambient_dialogue_manager() +{ + thread atlas_guard_dialogue_line1(); + if(level.nextgen) + { + thread civ_conversation_gag1(); + } + else + { + thread maps\detroit_transients_cg::cg_civ_conversation_gag1(); + } + + thread security_check_1_dialogue(); +} + +//Function Number: 121 +security_check_1_dialogue() +{ + common_scripts\utility::flag_wait("flag_camp_visibility_03"); + var_00 = getent("org_security_gate_guards_dialogue","targetname"); + var_01 = getent("dialogue_guard_at_first_gate","targetname"); + var_02 = var_01 maps\_utility::spawn_ai(1); + var_02.animname = "generic"; + var_00 thread maps\_shg_design_tools::anim_simple(var_02,var_00.animation); + level.camp_security_greeter = var_02; +} + +//Function Number: 122 +player_dist_to_speaker(param_00) +{ + wait(0.1); +} + +//Function Number: 123 +civ_conversation_gag1() +{ + var_00 = getent("civilian_1_spawner","targetname"); + var_01 = getent("civilian_2_spawner","targetname"); + var_02 = getent("civilian_3_spawner","targetname"); + var_03 = getent("civilian_4_spawner","targetname"); + level.civ1 = var_00 spawndrone(); + level.civ1.animname = "drone_civs"; + level.civ1 maps\_anim::setanimtree(); + level.civ2 = var_01 spawndrone(); + level.civ2.animname = "drone_civs"; + level.civ2 maps\_anim::setanimtree(); + level.civ3 = var_02 spawndrone(); + level.civ3.animname = "drone_civs"; + level.civ3 maps\_anim::setanimtree(); + level.civ4 = var_03 spawndrone(); + level.civ4.animname = "drone_civs"; + level.civ4 maps\_anim::setanimtree(); + level.civ1 thread maps\_anim::anim_loop_solo(level.civ1,"sign1_spawner"); + level.civ2 thread maps\_anim::anim_loop_solo(level.civ2,"sign2_spawner"); + level.civ3 thread maps\_anim::anim_loop_solo(level.civ3,"sign3_spawner"); + level.civ4 thread maps\_anim::anim_loop_solo(level.civ4,"sign4_spawner"); + maps\detroit_school::continue_when_player_near_entity(level.civ1,250); + common_scripts\utility::flag_set("vo_civ_convo_01"); + common_scripts\utility::flag_wait("flag_camp_visibility_04"); + level.civ1 delete(); + level.civ2 delete(); + level.civ3 delete(); + level.civ4 delete(); +} + +//Function Number: 124 +atlas_guard_dialogue_line1() +{ + common_scripts\utility::flag_wait("flag_camp_visibility_01"); + var_00 = getent("atlas_guard_dialogue_line_spawner","targetname"); + var_01 = var_00 maps\_utility::spawn_ai(1); + var_01.animname = "generic"; + var_02 = getent("refugee_vignette_soldier_loop_dialogue","targetname"); + var_01 thread guy_cig_manager(); + var_02 thread maps\_anim::anim_loop_solo(var_01,"patrol_bored_idle_smoke"); + maps\detroit_school::continue_when_player_near_entity(var_01,300); + var_01 maps\_utility::dialogue_queue("detroit_atd_rememberonepacketpersector"); + common_scripts\utility::flag_wait("flag_camp_visibility_04"); + var_01 delete(); +} + +//Function Number: 125 +guy_cig_manager() +{ + while(isalive(self)) + { + level waittill("show special cig"); + self attach("prop_cigarette","tag_inhand",1); + level waittill("hide special cig"); + self detach("prop_cigarette","tag_inhand"); + } +} + +//Function Number: 126 +buttress_function() +{ + var_00 = getent("butress1_origin","targetname"); + var_01 = getent("butress2_origin","targetname"); + var_02 = getent("butress3_origin","targetname"); + var_03 = getent("butress1","targetname"); + var_04 = getent("butress2","targetname"); + var_05 = getent("butress3","targetname"); + var_06 = getent("butress1_trigger","targetname"); + var_07 = getent("butress3_trigger","targetname"); + thread butress_animate(var_03,var_00,var_06); + thread butress_animate(var_04,var_01,var_06); + thread butress_animate(var_05,var_02,var_07); +} + +//Function Number: 127 +butress_animate(param_00,param_01,param_02) +{ + param_00.animname = "butress"; + param_00 maps\_anim::setanimtree(); + param_01 maps\_anim::anim_first_frame_solo(param_00,"close"); + maps\_utility::trigger_wait_targetname(param_02.targetname); + param_01 soundscripts\_snd::snd_message("refugee_butress_down"); + param_01 thread maps\_anim::anim_single_solo(param_00,"close"); + maps\_anim::anim_set_rate_single(param_00,"close",0.5); +} + +//Function Number: 128 +disable_same_side_blocking() +{ + var_00 = getent("player_same_side_blocking","targetname"); + level waittill("scanner_doors_open"); + wait(3); + var_00 notsolid(); +} \ No newline at end of file diff --git a/AW/PC/maps/detroit_school.gsc b/AW/PC/maps/detroit_school.gsc new file mode 100644 index 0000000..0649ee8 --- /dev/null +++ b/AW/PC/maps/detroit_school.gsc @@ -0,0 +1,2906 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: detroit_school.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 171 + * Decompile Time: 2592 ms + * Timestamp: 4/22/2024 2:28:19 AM +*******************************************************************/ + +//Function Number: 1 +school_main() +{ + common_scripts\utility::flag_init("hazmat_creeps_reload_ok"); + common_scripts\utility::flag_init("ok_to_wall_pull"); + common_scripts\utility::flag_init("_stealth_enabled"); + common_scripts\utility::flag_init("special_kva_alerted"); + school_animated_fences(); + thread setup_school(); + thread audio_stingers_school_bodies_room(); + thread enable_school_trains(); + if(level.currentgen) + { + cg_school_entrance_doors_init(); + thread transient_middle_remove_school_interior_begin(); + thread cg_setup_school_entrance_doors_startpoints(); + } +} + +//Function Number: 2 +cg_school_entrance_doors_init() +{ + var_00 = getent("det_school_entrance_door_r","targetname"); + var_00.coll = getent("det_school_entrance_door_r_coll","targetname"); + var_00.coll linkto(var_00); + var_00.closed_angles = var_00.angles; + var_00.open_angles = var_00.closed_angles + (0,90,0); + var_01 = getent("det_school_entrance_door_l","targetname"); + var_01.coll = getent("det_school_entrance_door_l_coll","targetname"); + var_01.coll linkto(var_01); + var_01.closed_angles = var_01.angles; + var_01.open_angles = var_01.closed_angles - (0,90,0); +} + +//Function Number: 3 +cg_open_close_school_entrance_doors(param_00) +{ + if(level.currentgen) + { + var_01 = getent("det_school_entrance_door_r","targetname"); + var_02 = getent("det_school_entrance_door_l","targetname"); + if(param_00) + { + var_01.coll connectpaths(); + var_01 rotateto(var_01.open_angles,1,0.5,0.25); + var_02.coll connectpaths(); + var_02 rotateto(var_02.open_angles,1,0.5,0.25); + return; + } + + var_01 rotateto(var_01.closed_angles,1,0.5,0.25); + var_01.coll disconnectpaths(); + var_02 rotateto(var_02.closed_angles,1,0.5,0.25); + var_02.coll disconnectpaths(); + } +} + +//Function Number: 4 +cg_setup_school_entrance_doors_startpoints() +{ + if(level.currentgen && issubstr(level.transient_zone,"school")) + { + cg_open_close_school_entrance_doors(1); + return; + } + + if(level.currentgen && issubstr(level.transient_zone,"hospital")) + { + cg_open_close_school_entrance_doors(0); + } +} + +//Function Number: 5 +transient_middle_add_school_interior_begin() +{ + level notify("tff_pre_middle_remove_gatetrans"); + if(!istransientloaded("detroit_school_interior_tr")) + { + unloadtransient("detroit_gatetrans_tr"); + loadtransient("detroit_school_interior_tr"); + } + + for(;;) + { + if(istransientloaded("detroit_school_interior_tr")) + { + level notify("tff_post_middle_add_school"); + break; + } + + wait(0.05); + } + + cg_open_close_school_entrance_doors(1); +} + +//Function Number: 6 +transient_middle_remove_school_interior_begin() +{ + maps\_utility::trigger_wait_targetname("CG_UnloadSchoolInteriorTrigger"); + level notify("tff_pre_middle_remove_school"); + unloadtransient("detroit_school_interior_tr"); + for(;;) + { + if(!istransientloaded("detroit_school_interior_tr")) + { + level notify("tff_post_middle_remove_school"); + break; + } + + wait(0.05); + } + + thread transient_middle_add_nighclub_interior_begin(); +} + +//Function Number: 7 +transient_middle_add_nighclub_interior_begin() +{ + loadtransient("detroit_nightclub_interior_tr"); + for(;;) + { + if(istransientloaded("detroit_nightclub_interior_tr")) + { + var_00 = getent("office_interior_model","targetname"); + var_00 setcontents(0); + var_00 hide(); + level notify("tff_post_middle_add_nightclub"); + break; + } + + wait(0.05); + } +} + +//Function Number: 8 +school_animated_fences() +{ + if(!isdefined(level.bones_fence)) + { + var_00 = getent("actual_dismount_animation_origin","targetname"); + level.bones_fence = maps\_utility::spawn_anim_model("bones_fence"); + level.joker_fence = maps\_utility::spawn_anim_model("joker_fence"); + level.bones_fence.animname = "bones_fence"; + level.joker_fence.animname = "joker_fence"; + var_00 thread maps\_anim::anim_first_frame_solo(level.bones_fence,"bike_dismount"); + var_00 thread maps\_anim::anim_first_frame_solo(level.joker_fence,"bike_dismount"); + var_01 = common_scripts\utility::getstruct("school_origin_02","targetname"); + level.bones_fence overridelightingorigin(var_01.origin); + level.joker_fence overridelightingorigin(var_01.origin); + } +} + +//Function Number: 9 +player_exiting() +{ + level endon("player_linked"); + maps\_utility::trigger_wait_targetname("player_trying_to_exit_garage"); + maps\_player_death::set_deadquote(&"DETROIT_OBJECTIVE_FAIL_JETBIKE"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 10 +debug_stealth_type() +{ + level waittill("event_awareness",var_00); +} + +//Function Number: 11 +setup_school_stealth() +{ + while(!isdefined(level.burke)) + { + wait 0.05; + } + + level.burke.ignoreme = 1; + stealth_reset_awareness(); +} + +//Function Number: 12 +stealth_reset_awareness() +{ + var_00 = level._stealth.group.groups; + foreach(var_07, var_02 in var_00) + { + var_03 = maps\_stealth_shared_utilities::group_get_ai_in_group(var_07); + foreach(var_05 in var_03) + { + if(var_05 maps\_utility::ent_flag_exist("_stealth_normal") && !var_05 maps\_utility::ent_flag("_stealth_normal")) + { + var_05 maps\_utility::ent_flag_set("_stealth_normal"); + } + } + } +} + +//Function Number: 13 +school_funtions_to_load() +{ + thread burke_path_to_school(); + thread setup_school_bodies(); + thread burke_deadroom_door(); + thread teleport_burke_to_alley(); +} + +//Function Number: 14 +busted_light_gag() +{ + var_00 = getent("busted_light_gag_animorg","targetname"); + var_01 = maps\_utility::spawn_anim_model("working_light",var_00.origin); + var_02 = maps\_utility::spawn_anim_model("busted_light",var_00.origin); + var_02 hide(); + var_00 maps\_anim::anim_first_frame_solo(var_01,"busted_light_gag"); + var_00 maps\_anim::anim_first_frame_solo(var_02,"busted_light_gag"); + thread maps\detroit_lighting::hallway_light_scare(); + maps\_utility::trigger_wait_targetname("tile_fall"); + var_01 delete(); + var_02 show(); + var_00 thread maps\_anim::anim_single_solo(var_02,"busted_light_gag"); + playfxontag(common_scripts\utility::getfx("fluorecent_bulb_pop"),var_02,"tag_fx"); + var_02 soundscripts\_snd::snd_message("horror_fluorescent_break"); + wait(0.5); + common_scripts\utility::flag_set("vo_school_light_burst_dialogue"); +} + +//Function Number: 15 +play_garage_bike_dismount(param_00,param_01,param_02,param_03) +{ + var_04 = [param_00,param_01,param_02]; + foreach(var_06 in var_04) + { + var_06 vehphys_disablecrashing(); + } + + thread burke_dismount(param_00,param_01,param_02); + thread bones_dismount(param_01); + thread joker_dismount(param_02); + thread player_dismount_newbike(param_03); +} + +//Function Number: 16 +flag_wait_bones() +{ + common_scripts\utility::flag_wait("begin_bike_dismount_bones"); + iprintlnbold("bones dismount flag called"); +} + +//Function Number: 17 +flag_wait_joker() +{ + common_scripts\utility::flag_wait("begin_bike_dismount_joker"); + iprintlnbold("joker dismount flag called"); +} + +//Function Number: 18 +flag_wait_burke() +{ + common_scripts\utility::flag_wait("begin_bike_dismount_burke"); + iprintlnbold("burke dismount flag called"); +} + +//Function Number: 19 +swap_bike_to_static() +{ + common_scripts\utility::flag_wait("school_player_falling"); + level notify("stop_tracking_backtrack"); + var_00 = spawn("script_model",self.origin); + var_00.angles = self.angles; + var_00 setmodel("vehicle_mil_hoverbike_parked_static"); + self delete(); + common_scripts\utility::flag_wait("exit_drive_cinematic_start"); + var_00 delete(); +} + +//Function Number: 20 +burke_dismount(param_00,param_01,param_02) +{ + common_scripts\utility::flag_wait("begin_bike_dismount_burke"); + param_00 maps\detroit_jetbike::vehicle_rubberband_stop(); + var_03 = getent("actual_dismount_animation_origin","targetname"); + thread intro_dialogue(); + thread maps\detroit_lighting::jetbike_dismount_red_light(); + thread burke_move_ahead_wait_function(); + param_00.animname = "burke_bike"; + param_00 maps\detroit_jetbike::vehicle_rubberband_stop(); + vehicle_scripts\_jetbike::smooth_vehicle_animation_wait(param_00,var_03,"bike_dismount",13.1695); + level.burke unlink(); + level.burke maps\_vehicle_aianim::disassociate_guy_from_vehicle(); + param_00 maps\_utility::delaythread(5,::vehicle_scripts\_jetbike::jetbike_stop_hovering_now); + maps\_utility::delaythread(7.5,::common_scripts\utility::flag_set,"school_trains"); + param_00 overridematerialreset(); + param_01 overridematerialreset(); + param_02 overridematerialreset(); + thread vehicle_scripts\_jetbike::smooth_vehicle_animation_play(param_00,var_03,"bike_dismount",[level.burke],1,2); + thread burke_dismount_timing_fix(); + wait(getanimlength(level.scr_anim["burke"]["bike_dismount"])); + var_03 thread maps\_anim::anim_loop_solo(level.burke,"dismount_idle","burke_stop_idle"); + param_00 thread swap_bike_to_static(); + var_03 notify("burke_stop_idle"); + if(level.nextgen) + { + } + + var_03 maps\_anim::anim_single_solo(level.burke,"dismount_rollout"); + level.burke maps\_utility::set_generic_run_anim("stealth_walk",0); + school_funtions_to_load(); +} + +//Function Number: 21 +burke_dismount_timing_fix() +{ + wait(7.9); + common_scripts\utility::flag_set("vo_school_exterior"); +} + +//Function Number: 22 +burke_move_ahead_wait_function() +{ + maps\_shg_design_tools::waittill_trigger_with_name("ride_finished"); + common_scripts\utility::flag_set("player_has_dismounted_and_moved_ahead"); +} + +//Function Number: 23 +bones_dismount(param_00) +{ + common_scripts\utility::flag_wait_any("begin_bike_dismount_bones","begin_playing_player_dismount_anim"); + param_00 maps\detroit_jetbike::vehicle_rubberband_stop(); + var_01 = getent("actual_dismount_animation_origin","targetname"); + param_00.animname = "bones_bike"; + param_00 maps\detroit_jetbike::vehicle_rubberband_stop(); + vehicle_scripts\_jetbike::smooth_vehicle_animation_wait(param_00,var_01,"bike_dismount",7.51324); + level.bones unlink(); + level.bones maps\_vehicle_aianim::disassociate_guy_from_vehicle(); + param_00 maps\_utility::delaythread(5,::vehicle_scripts\_jetbike::jetbike_stop_hovering_now); + vehicle_scripts\_jetbike::smooth_vehicle_animation_play(param_00,var_01,"bike_dismount",[level.bones,level.bones_fence],1,2); + param_00 thread swap_bike_to_static(); + var_02 = getnode("bones_hide_spot","targetname"); + level.bones setgoalnode(var_02); + level.bones.goalradius = 15; + level.bones waittill("goal"); + level.bones delete(); +} + +//Function Number: 24 +joker_dismount(param_00) +{ + common_scripts\utility::flag_wait("begin_bike_dismount_joker"); + param_00 maps\detroit_jetbike::vehicle_rubberband_stop(); + var_01 = getent("actual_dismount_animation_origin","targetname"); + param_00.animname = "joker_bike"; + param_00 maps\detroit_jetbike::vehicle_rubberband_stop(); + vehicle_scripts\_jetbike::smooth_vehicle_animation_wait(param_00,var_01,"bike_dismount",12.7558); + level.joker unlink(); + level.joker maps\_vehicle_aianim::disassociate_guy_from_vehicle(); + param_00 maps\_utility::delaythread(5,::vehicle_scripts\_jetbike::jetbike_stop_hovering_now); + vehicle_scripts\_jetbike::smooth_vehicle_animation_play(param_00,var_01,"bike_dismount",[level.joker,level.joker_fence],1,2); + param_00 thread swap_bike_to_static(); + var_02 = getnode("joker_hide_spot","targetname"); + level.joker setgoalnode(var_02); + level.joker.goalradius = 15; + level.joker waittill("goal"); + level.joker delete(); +} + +//Function Number: 25 +player_dismount() +{ + common_scripts\utility::flag_wait("begin_bike_dismount_player"); + var_00 = getent("actual_dismount_animation_origin","targetname"); + level.player_bike.animname = "player_bike"; + vehicle_scripts\_jetbike::smooth_vehicle_animation_wait(level.player_bike,var_00,"bike_dismount",11.1633); + if(isdefined(level.player_bike.world_body)) + { + var_01 = level.player_bike.world_body; + var_01 unlink(); + } + else + { + var_01 = maps\_utility::spawn_anim_model("world_body",level.player.origin); + } + + level.player_bike maps\_utility::delaythread(5,::vehicle_scripts\_jetbike::jetbike_stop_hovering_now); + thread player_dismount_link_player_end_of_frame(var_01); + vehicle_scripts\_jetbike::smooth_vehicle_animation_play(level.player_bike,var_00,"bike_dismount",[var_01],1,2); + maps\detroit_anim::player_bike_to_ai_model(); + common_scripts\utility::flag_set("obj_check_school_give"); + common_scripts\utility::flag_set("ride_over"); + var_01 delete(); + level.player unlink(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.player enablehybridsight("iw5_bal27_sp_silencer01_variablereddot",1); + setsaveddvar("ammoCounterHide","0"); + thread maps\_utility::autosave_by_name("seeker"); + if(level.currentgen) + { + thread transient_middle_add_school_interior_begin(); + } + + level.player_bike thread swap_bike_to_static(); +} + +//Function Number: 26 +checking_for_flag() +{ + iprintlnbold("checking for flag is called"); + common_scripts\utility::flag_wait("begin_playing_player_dismount_anim"); + iprintlnbold("the flag has been set"); +} + +//Function Number: 27 +player_dismount_newbike(param_00) +{ + level endon("dont_do_old_dismount"); + common_scripts\utility::flag_wait("begin_playing_player_dismount_anim"); + thread player_school_disable_values(); + var_01 = getent("actual_dismount_animation_origin","targetname"); + param_00.animname = "player_bike"; + vehicle_scripts\_jetbike::smooth_vehicle_animation_wait(param_00,var_01,"bike_dismount",11.1633); + if(isdefined(param_00.world_body)) + { + var_02 = param_00.world_body; + var_02 unlink(); + } + else + { + var_02 = maps\_utility::spawn_anim_model("world_body",level.player.origin); + } + + param_00 maps\_utility::delaythread(5,::vehicle_scripts\_jetbike::jetbike_stop_hovering_now); + thread rumble_killer(7.6); + thread player_dismount_link_player_end_of_frame(var_02); + vehicle_scripts\_jetbike::smooth_vehicle_animation_play(param_00,var_01,"bike_dismount",[var_02],1,2); + param_00 setmodel("vehicle_mil_hoverbike_ai"); + level notify("switch_bikes_to_ai"); + common_scripts\utility::flag_set("obj_check_school_give"); + common_scripts\utility::flag_set("vo_school_exterior"); + common_scripts\utility::flag_set("ride_over"); + var_02 delete(); + level.player unlink(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.player thread maps\detroit::give_regular_grenades(); + thread block_from_going_back(); + level.player enablehybridsight("iw5_bal27_sp_silencer01_variablereddot",1); + setsaveddvar("ammoCounterHide","0"); + level.player thread maps\_player_exo::player_exo_activate(); + level.player enableoffhandweapons(); + thread maps\_utility::autosave_by_name("seeker"); + if(level.currentgen) + { + thread transient_middle_add_school_interior_begin(); + } + + param_00 thread swap_bike_to_static(); + var_03 = getent("player_trying_to_exit_garage_warning","targetname"); + thread player_exiting(); + thread maps\detroit_hospital::mission_fail_warning(var_03); +} + +//Function Number: 28 +rumble_killer(param_00) +{ + wait(param_00); + stopallrumbles(); +} + +//Function Number: 29 +block_from_going_back() +{ + level endon("stop_tracking_backtrack"); + maps\_utility::trigger_wait_targetname("play_garage_animation_sequence"); + maps\_player_death::set_deadquote(&"DETROIT_OBJECTIVE_FAIL_JETBIKE"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 30 +player_school_disable_values() +{ + maps\_utility::trigger_wait_targetname("move_burke_ahead"); + level.player allowdodge(0); + level.player allowsprint(0); +} + +//Function Number: 31 +player_dismount_link_player_end_of_frame(param_00) +{ + waittillframeend; + level.player maps\_shg_utility::setup_player_for_scene(0); + level.player playerlinktodelta(param_00,"tag_player",1,70,70,60,20,1); + level.player lerpviewangleclamp(2,0,0,0,0,0,0); +} + +//Function Number: 32 +intro_dialogue() +{ + level endon("player_has_started_outside_combat"); + wait(7.5); + wait(2.5); + maps\_utility::stop_exploder("4011"); + maps\_utility::delaythread(5,::common_scripts\utility::flag_set,"bike_lights_off"); + level notify("huddle_dof_off"); +} + +//Function Number: 33 +enable_school_trains() +{ + common_scripts\utility::flag_wait("school_trains"); + var_00 = 15; + var_01 = 25; + var_02 = 1400; + var_03 = 2200; + wait(5); + thread spawn_reverse_school_train(var_02 + var_03 - var_03 / 2); + thread spawn_trains_track1(var_00,var_01,var_02,var_03); + thread spawn_trains_track2(var_00,var_01,var_02,var_03); +} + +//Function Number: 34 +spawn_trains_track1(param_00,param_01,param_02,param_03) +{ + while(!common_scripts\utility::flag("school_player_falling")) + { + wait(randomintrange(param_00,param_01)); + thread spawn_a_school_train(randomintrange(param_02,param_03)); + } + + common_scripts\utility::flag_wait("flag_reenable_school_trains"); + while(!common_scripts\utility::flag("hospital_escape_trains_only")) + { + wait(randomintrange(param_00,param_01)); + thread spawn_a_school_train(randomintrange(param_02,param_03)); + } +} + +//Function Number: 35 +spawn_trains_track2(param_00,param_01,param_02,param_03) +{ + while(!common_scripts\utility::flag("school_player_falling")) + { + wait(randomintrange(param_00,param_01)); + thread spawn_reverse_school_train(randomintrange(param_02,param_03)); + } + + common_scripts\utility::flag_wait("flag_reenable_school_trains"); + while(!common_scripts\utility::flag("hospital_escape_trains_only")) + { + wait(randomintrange(param_00,param_01)); + thread spawn_reverse_school_train(randomintrange(param_02,param_03)); + } +} + +//Function Number: 36 +spawn_a_school_train(param_00) +{ + if(!common_scripts\utility::flag("hospital_escape_trains_only")) + { + var_01 = getent("school_train_path_start","targetname"); + var_02 = getentarray("school_train_path","targetname"); + var_03 = maps\detroit_exit_drive::run_train(var_01,var_02,param_00); + var_03 thread maps\detroit_exit_drive::player_proximity_rumble(1500); + var_03 waittill("death"); + } +} + +//Function Number: 37 +spawn_right_hospital_train(param_00) +{ + var_01 = getent("train_path_special_right_start","targetname"); + var_02 = getentarray("train_path_special_right","targetname"); + var_03 = maps\detroit_hospital::run_train_with_shaking(var_01,var_02,param_00); + var_03 thread maps\detroit_exit_drive::player_proximity_rumble(850); + var_03 waittill("death"); +} + +//Function Number: 38 +spawn_left_hospital_train(param_00) +{ + var_01 = getent("train_path_special_left_start","targetname"); + var_02 = getentarray("train_path_special_left","targetname"); + var_03 = maps\detroit_hospital::run_train_with_shaking(var_01,var_02,param_00); + var_03 thread maps\detroit_exit_drive::player_proximity_rumble(850); + var_03 waittill("death"); +} + +//Function Number: 39 +spawn_reverse_school_train(param_00) +{ + if(!common_scripts\utility::flag("hospital_escape_trains_only")) + { + var_01 = getent("school_train2_path_start","targetname"); + var_02 = getentarray("school_train2_path","targetname"); + var_03 = maps\detroit_exit_drive::run_train(var_01,var_02,param_00); + var_03 thread maps\detroit_exit_drive::player_proximity_rumble(1500); + var_03 waittill("death"); + } +} + +//Function Number: 40 +monitor_flashlight_burke() +{ + maps\_shg_design_tools::waittill_trigger_with_name("move_burke_ahead"); + level.burke maps\detroit_lighting::add_burke_flashlight("flashlight",1); +} + +//Function Number: 41 +burke_path_to_school() +{ + thread monitor_flashlight_burke(); + var_00 = getent("burke_outside_hide","targetname"); + thread school_objective(); + var_00 maps\_anim::anim_single_solo(level.burke,"burke_school_approach"); + thread maps\detroit::battle_chatter_off_both(); + if(maps\_utility::players_within_distance(300,level.burke.origin)) + { + level.burke burke_school_approach_idle_skip(var_00); + } + else + { + level.burke burke_school_approach_idle(var_00); + } + + common_scripts\utility::flag_set("vo_school_cleaning_crew_ahead"); + thread maps\_utility::autosave_by_name(); + if(maps\_utility::players_within_distance(300,level.burke.origin)) + { + level.burke burke_wall_idle_skip(var_00); + } + else + { + level.burke burke_wall_idle(var_00); + } + + common_scripts\utility::flag_set("vo_school_checkpoint_blue"); + thread maps\_utility::autosave_by_name(); + burke_at_school_door(); + burke_busted_light(); + level notify("ok_to_start_school"); + level.burke maps\_utility::set_moveplaybackrate(1); +} + +//Function Number: 42 +burke_school_approach_idle_skip(param_00) +{ + param_00 maps\_anim::anim_single_solo(self,"burke_goto_trash"); +} + +//Function Number: 43 +burke_school_approach_idle(param_00) +{ + param_00 maps\_anim::anim_single_solo(self,"burke_school_approach_into"); + param_00 thread maps\_anim::anim_loop_solo(self,"burke_school_approach_idle","ender"); + is_player_near_burke_or_flag(450,"to_school_player_02"); + param_00 notify("ender"); + param_00 maps\_anim::anim_single_solo(self,"burke_school_approach_out"); +} + +//Function Number: 44 +burke_wall_idle_skip(param_00) +{ + param_00 maps\_anim::anim_single_solo(self,"burke_goto_school"); + param_00 thread maps\_anim::anim_loop_solo(self,"burke_stairs_idle","ender"); + is_player_near_burke_or_flag(undefined,"to_school_player_02"); + param_00 notify("ender"); +} + +//Function Number: 45 +burke_wall_idle(param_00) +{ + param_00 maps\_anim::anim_single_solo(self,"burke_wall_wait_into"); + param_00 thread maps\_anim::anim_loop_solo(self,"burke_wall_wait_idle","ender"); + is_player_near_burke_or_flag(300,"to_school_player_02"); + param_00 notify("ender"); + param_00 maps\_anim::anim_single_solo(self,"burke_wall_wait_out"); + param_00 thread maps\_anim::anim_loop_solo(self,"burke_stairs_idle","ender_stairs_idle"); + is_player_near_burke_or_flag(undefined,"flag_player_entering_school"); + param_00 notify("ender_stairs_idle"); +} + +//Function Number: 46 +burke_at_school_door() +{ + thread busted_light_gag(); + var_00 = getent("burke_bodies_anim_origin","targetname"); + var_00 maps\_anim::anim_single_solo(level.burke,"burke_goto_corner"); + var_00 thread maps\_anim::anim_loop_solo(level.burke,"burke_corner_idle","ender_school_door_idle"); + common_scripts\utility::flag_wait("player_near_burke_school_corner"); + thread maps\_utility::autosave_by_name(); + var_00 notify("ender_school_door_idle"); +} + +//Function Number: 47 +burke_busted_light() +{ + var_00 = getent("burke_bodies_anim_origin","targetname"); + var_00 maps\_anim::anim_single_solo(level.burke,"burke_goto_bodies"); +} + +//Function Number: 48 +school_objective() +{ + wait(19.03); + common_scripts\utility::flag_set("check_school"); +} + +//Function Number: 49 +is_player_near_burke(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 150; + } + + var_01 = 0; + for(;;) + { + if(isdefined(level.burke)) + { + var_01 = distance2d(level.burke.origin,level.player.origin); + if(var_01 < param_00) + { + return; + } + } + + wait(0.05); + } + + wait(1.5); +} + +//Function Number: 50 +is_1_near_2(param_00,param_01,param_02) +{ + for(;;) + { + if(distance2d(param_00.origin,param_01.origin) < param_02) + { + return; + } + + wait(0.05); + } +} + +//Function Number: 51 +is_player_near_burke_or_flag(param_00,param_01) +{ + level endon(param_01); + if(!isdefined(param_00)) + { + param_00 = 150; + } + + if(common_scripts\utility::flag(param_01)) + { + return; + } + + var_02 = 0; + for(;;) + { + if(isdefined(level.burke)) + { + var_02 = distance2d(level.burke.origin,level.player.origin); + if(var_02 < param_00) + { + return; + } + } + + wait(0.05); + } +} + +//Function Number: 52 +continue_when_player_near_entity(param_00,param_01,param_02) +{ + if(!isdefined(param_01)) + { + param_01 = 150; + } + + var_03 = 0; + for(;;) + { + if(isdefined(param_00)) + { + var_04 = distance2d(param_00.origin,level.player.origin); + if(var_04 < param_01) + { + return; + } + } + + if(isdefined(param_02)) + { + var_04 = distance2d(param_00.origin,param_02.origin); + if(var_04 < param_01) + { + return; + } + } + + wait(0.05); + } + + wait(1.5); +} + +//Function Number: 53 +teleport_burke_to_alley() +{ + var_00 = getnode("ally_burke_start_onfoot","targetname"); + common_scripts\utility::flag_wait("flag_reenable_school_trains"); + level.burke delete(); + common_scripts\utility::flag_wait("vo_school_burke_external"); + var_01 = getent("burke_spawner","targetname"); + var_01.count = 1; + level.burke = maps\detroit::setup_burke(); + level.burke maps\_utility::teleport_ai(var_00); +} + +//Function Number: 54 +player_basement_objective_mover() +{ + var_00 = getent("basement_objective_org1","targetname"); + var_01 = getent("basement_objective_org2","targetname"); + var_02 = getent("basement_objective_org3","targetname"); + var_03 = getent("basement_objective_org4","targetname"); + maps\_utility::trigger_wait_targetname("player_fall_basement_trigger"); + common_scripts\utility::flag_wait("basement_string_objectives"); + objective_position(maps\_utility::obj("Reunite with Burke"),var_00.origin); + is_1_near_2(level.player,var_00,90); + objective_position(maps\_utility::obj("Reunite with Burke"),var_01.origin); + is_1_near_2(level.player,var_01,225); + objective_position(maps\_utility::obj("Reunite with Burke"),var_02.origin); + is_1_near_2(level.player,var_02,225); + objective_position(maps\_utility::obj("Reunite with Burke"),var_03.origin); +} + +//Function Number: 55 +distance_check_loop(param_00,param_01) +{ + level endon("stop_loop_check"); + wait(2); + for(;;) + { + var_02 = distance2d(param_00.origin,param_01.origin); + iprintln(var_02); + wait(0.05); + } +} + +//Function Number: 56 +return_boost_dash() +{ + common_scripts\utility::flag_wait("rendezvous_obj_reached"); + maps\_player_exo::player_exo_activate(); +} + +//Function Number: 57 +gideon_keep_up_fail_trigger(param_00) +{ + maps\_utility::trigger_wait_targetname(param_00); + wait(randomfloatrange(1.1,2.4)); + maps\_player_death::set_deadquote(&"DETROIT_OBJECTIVE_FAIL_JETBIKE"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 58 +brick_smash_setup() +{ + thread wall_pull_animation(); +} + +//Function Number: 59 +basement_jump_awareness() +{ + self endon("death"); + for(;;) + { + if(level.player isjumping()) + { + if(distance2d(self.origin,level.player.origin) < 400) + { + wait(0.4); + self notify("make_me_alert_now"); + return; + } + } + + wait(0.05); + } +} + +//Function Number: 60 +audio_stingers_school_bodies_room() +{ + maps\_utility::trigger_wait_targetname("tile_fall"); + wait(7.73); + soundscripts\_snd::snd_message("horror_burke_gets_up_after_tile"); + common_scripts\utility::flag_wait("open_school_door"); + soundscripts\_snd::snd_message("horror_burk_opens_bodies_room_door"); + common_scripts\utility::flag_wait("burke_leaving_bodies_room"); + soundscripts\_snd::snd_message("horror_ghost_runs_by_door"); + maps\_utility::trigger_wait_targetname("end_lightning_buildup_trigger"); + soundscripts\_snd::snd_message("end_lightning_buildup"); +} + +//Function Number: 61 +animate_dead_body(param_00,param_01) +{ + wait(38.5); + param_01 maps\_anim::anim_single_solo(param_00,"touch_dead_npc"); + param_01 maps\_anim::anim_last_frame_solo(param_00,"touch_dead_npc"); +} + +//Function Number: 62 +bodies_gag_door_trigger() +{ + common_scripts\utility::flag_wait("burke_needs_to_idle"); + var_00 = getent("bodies_room_gag_used","targetname"); + var_00 usetriggerrequirelookat(); + maps\_utility::enable_trigger_with_targetname("bodies_room_gag_used"); + objective_setpointertextoverride(maps\_utility::obj("Follow Gideon"),&"DETROIT_OPEN"); + var_01 = getent("bodies_room_gag_used","targetname") maps\_shg_utility::hint_button_trigger("use",200); + common_scripts\utility::flag_set("obj_check_school_pos_door"); + level notify("show_glowing_door"); + var_00 sethintstring(&"DETROIT_PROMPT_OPEN"); + maps\_utility::trigger_wait_targetname("bodies_room_gag_used"); + objective_setpointertextoverride(maps\_utility::obj("Follow Gideon"),&"DETROIT_FOLLOW"); + objective_position(maps\_utility::obj("Follow Gideon"),(0,0,0)); + var_01 maps\_shg_utility::hint_button_clear(); + var_00 delete(); +} + +//Function Number: 63 +burke_path_through_school() +{ + level waittill("ok_to_start_school"); + common_scripts\utility::flag_wait("flag_player_entering_school"); + level.burke get_burke_to_deadroom(); + maps\_utility::trigger_wait_targetname("start_kva_gag"); + level.player setmovespeedscale(0.6); + level.burke.ignoreme = 1; + level.player.ignoreme = 1; + maps\_utility::trigger_wait_targetname("player_fall_basement_trigger"); + level.player.ignoreme = 0; + maps\_utility::trigger_wait_targetname("disable_burke_ignoreme"); + level.burke.ignoreme = 0; +} + +//Function Number: 64 +school_fall_rumble() +{ + wait(1.41); + var_00 = level.player maps\_utility::get_rumble_ent("steady_rumble"); + var_00 maps\_utility::set_rumble_intensity(0.29); + var_00 maps\_utility::delaythread(0.14,::maps\_utility::set_rumble_intensity,0.01); + var_00 maps\_utility::delaythread(1.75,::maps\_utility::set_rumble_intensity,0.81); + var_00 maps\_utility::delaythread(2.2,::maps\_utility::set_rumble_intensity,0.01); + var_00 maps\_utility::delaythread(12.36,::maps\_utility::set_rumble_intensity,0.09); + var_00 maps\_utility::delaythread(12.82,::maps\_utility::set_rumble_intensity,0.41); + var_00 maps\_utility::delaythread(13.3,::maps\_utility::set_rumble_intensity,0.09); + var_00 maps\_utility::delaythread(14.49,::maps\_utility::set_rumble_intensity,0.03); + var_00 maps\_utility::delaythread(14.64,::maps\_utility::set_rumble_intensity,0.54); + var_00 maps\_utility::delaythread(15.24,::maps\_utility::set_rumble_intensity,0.01); + wait(17); + var_00 stoprumble("steady_rumble"); + var_00 delete(); +} + +//Function Number: 65 +stop_all_rumble_on_time(param_00,param_01) +{ + wait(param_00); + self stoprumble(param_01); +} + +//Function Number: 66 +lightning_gag() +{ + maps\_utility::trigger_wait_targetname("lightning_gag"); + maps\detroit_lighting::lightning_call_single("detroit_lightning_max",0.3,0.7); +} + +//Function Number: 67 +spawn_kva_downstairs() +{ + var_00 = getent("soldiers_downstairs_team1","targetname"); + var_01 = getent("soldiers_downstairs_team2","targetname"); + var_02 = getent("soldiers_downstairs_team3","targetname"); + var_03 = getent("soldiers_downstairs_team4","targetname"); + var_04 = []; + var_04[var_04.size] = var_00 maps\_utility::spawn_ai(1); + var_04[var_04.size] = var_02 maps\_utility::spawn_ai(1); + foreach(var_09, var_06 in var_04) + { + var_06.ignoreall = 1; + if(var_06 == var_04[0]) + { + var_06 thread maps\detroit_lighting::add_enemy_flashlight("flashlight","med"); + } + + if(var_06 == var_04[1]) + { + var_06 thread maps\detroit_lighting::add_enemy_flashlight("flashlight","med"); + } + else + { + var_06 thread maps\detroit_lighting::add_enemy_flashlight("flashlight"); + } + + var_06.old_fovcosine = var_06.fovcosine; + var_06.fovcosine = 0.95; + var_06.combatmode = "no_cover"; + var_06.goalradius = 15; + var_06 maps\detroit::set_patrol_anim_set("active",1); + var_07 = var_09 + 1; + var_08 = getnode("guy" + var_07 + "_goal","targetname"); + var_06 setgoalnode(var_08); + var_06 thread stealth_delete_at_goal(); + var_06 thread alert_check_function(); + var_06 thread kill_me_on_notify(); + var_06 thread maps\_utility::set_moveplaybackrate(1.05); + } + + level.school_kva_fall_notice_guy = var_04[1]; + common_scripts\utility::flag_set("vo_school_shimmy"); + maps\_shg_design_tools::waittill_trigger_with_name("trigger_shimmey_ok"); + return_stealth_distances(); +} + +//Function Number: 68 +alert_check_function() +{ + self endon("death"); + maps\_stealth_utility::stealth_enemy_waittill_alert(); +} + +//Function Number: 69 +youre_dead_functon() +{ + wait(3); + maps\_player_death::set_deadquote("You\'ve blown your cover!"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 70 +youre_spoted_functon() +{ + wait(3); + maps\_player_death::set_deadquote("You\'ve been spotted!"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 71 +enable_check_health() +{ + self endon("death"); + self endon("alert"); + var_00 = self.health; + for(;;) + { + if(self.health < var_00) + { + level.player.ignoreme = 0; + level.burke.ignoreme = 0; + self.ignoreall = 0; + thread youre_dead_functon(); + return; + } + + wait(0.05); + } +} + +//Function Number: 72 +enable_doorway_blocking() +{ + maps\_utility::trigger_wait_targetname("player_fall_basement_trigger"); + var_00 = getent("door_blocker_1","targetname"); + var_01 = getent("door_blocker_2","targetname"); + var_02 = getent("door_blocker_3","targetname"); + var_03 = getent("door_blocker_4","targetname"); + var_00 connectpaths(); + var_01 connectpaths(); + var_02 connectpaths(); + var_03 connectpaths(); + var_00 delete(); + var_01 delete(); + var_02 delete(); + var_03 delete(); +} + +//Function Number: 73 +override_stealth_distances() +{ + level.old_stealth_numbers = []; + level.old_stealth_numbers["prone"] = level._stealth.logic.detect_range["hidden"]["prone"]; + level.old_stealth_numbers["crouch"] = level._stealth.logic.detect_range["hidden"]["crouch"]; + level.old_stealth_numbers["stand"] = level._stealth.logic.detect_range["hidden"]["stand"]; + level._stealth.logic.detect_range["hidden"]["prone"] = level.old_stealth_numbers["prone"] / 5; + level._stealth.logic.detect_range["hidden"]["crouch"] = level.old_stealth_numbers["crouch"] / 5; + level._stealth.logic.detect_range["hidden"]["stand"] = level.old_stealth_numbers["stand"] / 5; +} + +//Function Number: 74 +return_stealth_distances() +{ + level._stealth.logic.detect_range["hidden"]["prone"] = level.old_stealth_numbers["prone"]; + level._stealth.logic.detect_range["hidden"]["crouch"] = level.old_stealth_numbers["crouch"]; + level._stealth.logic.detect_range["hidden"]["stand"] = level.old_stealth_numbers["stand"]; +} + +//Function Number: 75 +stealth_delete_at_goal() +{ + self endon("alert"); + self waittill("goal"); + wait 0.05; + self delete(); +} + +//Function Number: 76 +basement_hide_setup() +{ + thread basement_door_school_anim(); + common_scripts\utility::flag_wait("flag_start_kva_basement"); + level thread exo_dodge_stealth_watcher(); + common_scripts\utility::flag_clear("school_trains"); + level.firstguy = maps\_utility::spawn_targetname("kva_basement_troop",1); + level.firstguy maps\detroit::force_patrol_anim_set("active_right"); + level.firstguy thread make_me_alert("player_basement_spotted"); + level.firstguy thread bump_into_awareness(); + level.firstguy thread seek_player_on_detection(); + level.firstguy thread new_kva_basement_1(); + level.firstguy thread call_in_assistance(); + level.firstguy thread i_have_seen_the_player(); + level.firstguy.fovcosine = cos(45); + level.firstguy waittill("enemy"); + common_scripts\utility::flag_set("vo_school_basement_sawsomething",level.firstguy); +} + +//Function Number: 77 +exo_dodge_stealth_watcher() +{ + level.player endon("death"); + while(level.player maps\_utility::ent_flag("_stealth_enabled")) + { + level.player waittill("exo_dodge"); + var_00 = maps\_utility::get_within_range(level.player.origin,getaiarray("axis"),500); + foreach(var_02 in var_00) + { + if(isdefined(var_02._stealth)) + { + var_02 notify("ai_event","gunshot"); + var_02 maps\_utility::set_favoriteenemy(level.player); + } + } + } +} + +//Function Number: 78 +call_in_assistance() +{ + self endon("death"); + common_scripts\utility::waittill_any_ents(level,"_stealth_spotted",self,"shooting"); + hide1_shelf_delete(); + if(!common_scripts\utility::flag("flag_start_kva_2_basement")) + { + var_00 = getent("kva_basement_troop_2","targetname"); + var_01 = var_00 maps\_utility::spawn_ai(1); + self.goalradius = 10; + var_01.goalradius = 10; + var_01 setgoalentity(level.player); + var_01 notify("alert"); + var_01 notify("player_spotted"); + var_01 thread maps\_utility::player_seek(); + common_scripts\utility::flag_set("dont_spawn_basement_troop_2"); + level.player allowsprint(1); + } +} + +//Function Number: 79 +hide1_shelf_delete() +{ + var_00 = getentarray("hide_1_shelf","targetname"); + foreach(var_02 in var_00) + { + var_02 delete(); + } +} + +//Function Number: 80 +hide2_shelf_delete() +{ + var_00 = getentarray("hide_2_shelf","targetname"); + foreach(var_02 in var_00) + { + var_02 delete(); + } +} + +//Function Number: 81 +spawn_third_floor_guy_for_assistance() +{ + var_00 = getent("spawner_school_f2_patroller_1","targetname"); + var_01 = var_00 maps\_utility::spawn_ai(1); + var_01 thread maps\_utility::player_seek(); + common_scripts\utility::flag_set("dont_spawn_art_room_flashlight_guy"); + var_00.count = 1; +} + +//Function Number: 82 +walking_awareness() +{ + self endon("death"); + self endon("damage"); + for(;;) + { + var_00 = distance(self.origin,level.player.origin); + if(var_00 < 300) + { + var_01 = length(level.player getvelocity()); + if(var_01 > 80) + { + if(level.player getstance() == "stand") + { + wait(0.4); + self notify("make_me_alert_now"); + return; + } + } + } + + wait(0.05); + } +} + +//Function Number: 83 +bump_into_awareness() +{ + self endon("death"); + self endon("damage"); + for(;;) + { + var_00 = distance(self.origin,level.player.origin); + if(var_00 < 45) + { + self notify("ai_event","gunshot"); + maps\_utility::set_favoriteenemy(level.player); + return; + } + + wait(0.05); + } +} + +//Function Number: 84 +player_velocity_display(param_00) +{ + self endon("death"); + for(;;) + { + var_01 = length(param_00 getvelocity()); + iprintln(var_01); + wait(0.05); + } +} + +//Function Number: 85 +notify_spotted_player() +{ + self endon("death"); + self waittill("spotted_player"); + self stopanimscripted(); + maps\_utility::clear_run_anim(); +} + +//Function Number: 86 +monitor_my_health() +{ + while(isalive(self)) + { + iprintln(self.health); + wait(1); + } +} + +//Function Number: 87 +new_kva_basement_1() +{ + self.animname = "kva"; + self endon("death"); + self endon("_stealth_spotted"); + self endon("alert"); + level endon("player_has_been_spotted"); + self endon("enemy"); + maps\detroit_lighting::add_enemy_flashlight("flashlight","med"); + maps\detroit_lighting::enemy_flashlight_toggle_think("trig_flashlight_basement_on","trig_flashlight_basement_off"); + thread delete_guy_on_trigger_stealth("new_hall_troops_trigger"); + var_00 = getent("basement_door_open_anim_org","targetname"); + thread dont_animate_basement_door_on_death(var_00); + var_01 = getnode("test_goal_node","targetname"); + var_02 = getent("kva_check_3_org","targetname"); + var_02 thread break_me_out_if_player_found(); + self setgoalnode(var_01); + self waittill("goal"); + if(!common_scripts\utility::flag("player_basement_spotted")) + { + var_00 maps\_anim::anim_reach_solo(self,"door_open_basement",undefined,1); + } + + if(!common_scripts\utility::flag("player_basement_spotted")) + { + common_scripts\utility::flag_set("open_school_basement_door"); + var_00 maps\_anim::anim_single_solo(self,"door_open_basement",undefined,1); + common_scripts\utility::flag_set("connect_basement_door_clip"); + } + + if(!common_scripts\utility::flag("player_basement_spotted")) + { + var_02 maps\_anim::anim_reach_solo(self,"search_flashlight_low_basement_loop",undefined,1); + } + + if(!common_scripts\utility::flag("player_basement_spotted")) + { + var_02 thread maps\_anim::anim_loop_solo(self,"search_flashlight_low_basement_loop"); + thread maps\_shg_design_tools::notify_relay(self,"enemy",var_02,"stop_loop"); + } +} + +//Function Number: 88 +break_me_out_if_player_found() +{ + level.firstguy endon("death"); + level.firstguy waittill("enemy"); + level.firstguy notify("end_patrol"); + level.firstguy notify("flashlight_off"); + level.firstguy.alwaysrunforward = undefined; +} + +//Function Number: 89 +dont_animate_basement_door_on_death(param_00) +{ + self waittill("death"); + level notify("stop_animating_the_basement_door"); +} + +//Function Number: 90 +basement_door_school_anim() +{ + level endon("stop_animating_the_basement_door"); + var_00 = maps\_utility::spawn_anim_model("basement_door"); + var_00 thread dont_animate_on_kva_death(); + var_01 = getent("basement_door_open_anim_org","targetname"); + var_01 thread maps\_anim::anim_first_frame_solo(var_00,"door_open_basement"); + var_00 thread basement_door_clip_function(); + common_scripts\utility::flag_wait("open_school_basement_door"); + var_01 thread maps\_anim::anim_single_solo(var_00,"door_open_basement"); + wait(2.84); + level notify("too_late_to_close_door"); +} + +//Function Number: 91 +dont_animate_on_kva_death() +{ + level endon("too_late_to_close_door"); + level waittill("stop_animating_the_basement_door"); + self stopanimscripted(); +} + +//Function Number: 92 +basement_troop_2() +{ + common_scripts\utility::flag_wait("flag_start_kva_2_basement"); + if(!common_scripts\utility::flag("dont_spawn_basement_troop_2")) + { + soundscripts\_snd::snd_message("kva_basement_idle_start"); + var_00 = getent("basement_investigate_origin","targetname"); + level.flashlight_guy = maps\_utility::spawn_targetname("kva_basement_troop_2",1); + level.flashlight_guy endon("death"); + level.flashlight_guy thread bump_into_awareness(); + level.flashlight_guy maps\detroit::force_patrol_anim_set("active"); + level.flashlight_guy thread delete_guy_on_trigger_stealth("new_hall_troops_trigger"); + level.flashlight_guy maps\detroit_lighting::add_enemy_flashlight("flashlight","med"); + level.flashlight_guy maps\detroit_lighting::enemy_flashlight_toggle_think("trig_flashlight_basement_on","trig_flashlight_basement_off"); + level.flashlight_guy.animname = "kva"; + level.flashlight_guy thread se_kva_basement_2(var_00); + level.flashlight_guy thread seek_player_on_detection(); + level.flashlight_guy thread i_have_seen_the_player(); + level.flashlight_guy waittill("enemy"); + common_scripts\utility::flag_set("vo_school_basement_sawsomething",level.flashlight_guy); + level.flashlight_guy notify("end_patrol"); + level.flashlight_guy notify("flashlight_off"); + level.flashlight_guy maps\_utility::anim_stopanimscripted(); + getent("kva_2_flashlight_loop_org","targetname") maps\_utility::anim_stopanimscripted(); + var_00 notify("stop_searching_now"); + } +} + +//Function Number: 93 +delete_notify() +{ + self waittill("death"); +} + +//Function Number: 94 +se_kva_basement_2(param_00) +{ + self endon("death"); + self endon("_spotted_player"); + self endon("enemy"); + self.fovcosine = cos(30); + thread notify_valve_on_death(); + var_01 = maps\_utility::spawn_anim_model("valve"); + var_02 = maps\_utility::spawn_anim_model("generic_prop"); + thread steam_burst_function(); + self.animname = "kva"; + thread alert_stop_animating(param_00); + param_00 thread maps\_anim::anim_first_frame_solo(var_01,"school_investigate"); + param_00 thread maps\_anim::anim_first_frame_solo(var_02,"school_investigate"); + var_03 = getent("kva_basement_gate_open","targetname"); + var_03 linkto(var_02,"tag_origin_animated"); + param_00 thread maps\_anim::anim_loop_solo(self,"basement_flashlight_idle","stop_searching_now"); + common_scripts\utility::flag_wait("steam_startle_flag"); + self.fovcosine = cos(60); + if(!isalive(self)) + { + return; + } + + if(maps\_utility::ent_flag("_stealth_attack")) + { + return; + } + + param_00 notify("stop_searching_now"); + soundscripts\_snd::snd_message("steam_burst_valve_started"); + soundscripts\_snd::snd_message("basement_investigate"); + level thread maps\detroit_fx::steam_spray_custom_function(); + level.kva_basement_guy = self; + common_scripts\utility::flag_set("vo_school_basement_rats"); + var_04 = [var_01,var_02]; + param_00 thread basement_valve_and_door_stop_early(self,var_04,var_03,"school_investigate"); + param_00 maps\_anim::anim_single_solo(self,"school_investigate"); + var_05 = getent("kva_2_flashlight_loop_org","targetname"); + thread se_kva_basement_2_idle(var_05); +} + +//Function Number: 95 +basement_valve_and_door_stop_early(param_00,param_01,param_02,param_03) +{ + thread maps\_anim::anim_single(param_01,param_03); + var_04 = 23.5; + var_05 = param_00 common_scripts\utility::waittill_any_timeout(var_04,"enemy","death"); + if(var_05 == "timeout") + { + param_02 connectpaths(); + return; + } + + foreach(var_07 in param_01) + { + var_07 setanimrate(var_07 maps\_utility::getanim(param_03),0); + } + + maps\_utility::anim_stopanimscripted(); +} + +//Function Number: 96 +seek_player_on_detection() +{ + self endon("death"); + self waittill("enemy"); + self notify("end_patrol"); + self.combatmode = "no_cover"; + for(;;) + { + self setgoalentity(level.player); + self.goalradius = 4; + wait(0.5); + } +} + +//Function Number: 97 +stop_animating_when_kva2_dead() +{ + level waittill("stop_valve_animation"); + self stopanimscripted(); +} + +//Function Number: 98 +notify_valve_on_death() +{ + self waittill("death"); + level notify("stop_valve_animation"); +} + +//Function Number: 99 +valve_stop_animating() +{ + level waittill("stop_valve_animation"); + self stopanimscripted(); +} + +//Function Number: 100 +steam_burst_function() +{ + common_scripts\utility::flag_wait("steam_startle_flag"); + common_scripts\_exploder::exploder(1759); +} + +//Function Number: 101 +alert_stop_animating(param_00) +{ + self endon("death"); + maps\_utility::ent_flag_wait("_stealth_attack"); + self stopanimscripted(); + param_00 stopanimscripted(); + common_scripts\utility::flag_set("kill_the_valve_anim"); + self notify("stop_searching_now"); + param_00 notify("stop_searching_now"); + level notify("stop_valve_animation"); +} + +//Function Number: 102 +se_kva_basement_2_idle(param_00) +{ + self endon("death"); + self endon("enemy"); + if(!maps\_utility::ent_flag("_stealth_attack")) + { + param_00 maps\_anim::anim_reach_solo(self,"search_flashlight_low_basement_loop",undefined,1); + param_00 thread maps\_anim::anim_loop_solo(self,"so_hijack_search_flashlight_high_loop"); + } +} + +//Function Number: 103 +stealth_guy_think() +{ + self endon("death"); + if(isai(self)) + { + thread maps\detroit::disable_grenades(); + maps\_utility::ent_flag_init("spotted_player"); + self.fovcosine = 0.9; + self.combatmode = "no_cover"; + common_scripts\utility::waittill_any_ents(self,"damage",self,"_stealth_spotted",self,"stealth_event",self,"enemy"); + } + + maps\_utility::ent_flag_set("spotted_player"); + if(isdefined(level.firstguy) && self == level.firstguy) + { + level notify("stop_animating_the_basement_door"); + } + + self notify("end_patrol"); + self stopanimscripted(); + self notify("flashlight_off"); + var_00 = level.player getweaponslist("primary"); + var_01 = 0; + if(!isdefined(var_00)) + { + var_01 = 1; + } + + if(isarray(var_00)) + { + foreach(var_03 in var_00) + { + if(issubstr(var_03,"unarmed")) + { + var_01 = 1; + } + } + } + + if(var_01) + { + common_scripts\utility::flag_set("vo_school_basement_sawsomething",self); + } +} + +//Function Number: 104 +i_have_seen_the_player() +{ + level endon("group_spotted_already"); + var_00 = common_scripts\utility::flag_wait("vo_school_basement_sawsomething"); + if(!isdefined(var_00)) + { + return; + } + + if(var_00.targetname == "kva_basement_troop_AI") + { + if(common_scripts\utility::flag("no_more_basement_alerts")) + { + return; + } + + var_00 thread maps\_utility::dialogue_queue("det_kva_contact"); + common_scripts\utility::flag_set("no_more_basement_alerts"); + return; + } + + if(var_00.targetname == "kva_basement_troop_2_AI") + { + if(common_scripts\utility::flag("no_more_basement_alerts")) + { + return; + } + + var_00 thread maps\_utility::dialogue_queue("det_kva_huh"); + common_scripts\utility::flag_set("no_more_basement_alerts"); + return; + } + + if(var_00.targetname == "spawner_school_f2_patroller_1_AI") + { + if(common_scripts\utility::flag("third_guy_alerted")) + { + return; + } + + var_00 thread maps\_utility::dialogue_queue("det_kva_ivegotcontact"); + common_scripts\utility::flag_set("no_more_basement_alerts"); + common_scripts\utility::flag_set("third_guy_alerted"); + return; + } +} + +//Function Number: 105 +delete_guy_on_trigger_stealth(param_00) +{ + self endon("alert"); + self endon("death"); + maps\_shg_design_tools::waittill_trigger_with_name(param_00); + maps\_shg_design_tools::delete_auto(); +} + +//Function Number: 106 +hall_troop_scare_moment() +{ + maps\_utility::trigger_wait_targetname("new_hall_troops_trigger"); + var_00 = getent("new_hall_troop_1","targetname"); + var_01 = getent("new_hall_troop_2","targetname"); + var_02 = getent("new_hall_troop_3","targetname"); + var_03 = var_00 maps\_utility::spawn_ai(1); + var_04 = var_01 maps\_utility::spawn_ai(1); + var_05 = var_02 maps\_utility::spawn_ai(1); + var_06 = getnode("new_hall_troop_die_spot1","targetname"); + var_07 = getnode("new_hall_troop_die_spot2","targetname"); + var_08 = getnode("new_hall_troop_die_spot3","targetname"); + var_09 = [var_03,var_04,var_05]; + foreach(var_0B in var_09) + { + var_0B.ignoreall = 1; + var_0B maps\detroit_lighting::add_enemy_flashlight("flashlight",1); + var_0B thread nearby_shot_alert(); + var_0B thread maps\detroit_lighting::enemy_flashlight_toggle_think("trig_flashlight_patroller_on","trig_flashlight_patroller_off"); + var_0B.goalradius = 15; + var_0B maps\_utility::enable_cqbwalk(); + var_0B thread break_ignore_all_on_damage(); + var_0B thread alert_when_another_is_hurt(); + var_0B thread kill_me_if_player_escapes(); + } + + var_03 setgoalnode(var_06); + var_04 setgoalnode(var_07); + var_05 setgoalnode(var_08); + wait(1); +} + +//Function Number: 107 +kill_me_if_player_escapes() +{ + maps\_utility::trigger_wait_targetname("train_scare"); + if(isalive(self)) + { + self delete(); + } +} + +//Function Number: 108 +nearby_shot_alert() +{ + self endon("death"); + for(;;) + { + if(level.player attackbuttonpressed()) + { + if(distance(level.player.origin,self.origin) < 1000) + { + level notify("alert_stairs_team"); + return; + } + } + + wait(0.05); + } +} + +//Function Number: 109 +delete_me_on_flag(param_00) +{ + common_scripts\utility::flag_wait(param_00); + if(isalive(self)) + { + self delete(); + } +} + +//Function Number: 110 +delete_me_on_goal() +{ + self waittill("goal"); + self delete(); +} + +//Function Number: 111 +break_ignore_all_on_damage() +{ + self endon("death"); + self waittill("damage"); + level notify("alert_stairs_team"); + self.ignoreall = 0; +} + +//Function Number: 112 +alert_when_another_is_hurt() +{ + self endon("death"); + var_00 = getent("new_hall_troop_combat_vol","targetname"); + level waittill("alert_stairs_team"); + maps\_utility::battlechatter_on("axis"); + wait(randomfloatrange(0.1,0.3)); + if(isalive(self)) + { + self.ignoreall = 0; + self setgoalvolumeauto(var_00); + } + + maps\_utility::trigger_wait_targetname("lightning_gag"); + maps\_utility::battlechatter_off("axis"); + if(isalive(self)) + { + self delete(); + } +} + +//Function Number: 113 +debug_stealth() +{ + thread maps\_stealth_debug::last_known_position_monitor(); +} + +//Function Number: 114 +monitor_stealth_flags() +{ + maps\_utility::ent_flag_wait("_stealth_enemy_alert_level_action"); + maps\_utility::ent_flag_clear("_stealth_enemy_alert_level_action"); + maps\_utility::ent_flag_wait("_stealth_enemy_alert_level_action"); + self endon("death"); + for(;;) + { + level waittill("event_awareness",var_00); + if(var_00 == "warning") + { + self notify("new_anim_reach"); + continue; + } + + if(var_00 == "attack") + { + break; + } + } + + if(isdefined(self.old_fovcosine)) + { + self.fovcosine = self.old_fovcosine; + } + + remove_patrol_anim_set(); +} + +//Function Number: 115 +remove_patrol_anim_set() +{ + self.patrol_walk_twitch = undefined; + self.patrol_walk_anim = undefined; + self.script_animation = undefined; + maps\_utility::clear_generic_run_anim(); + self.goalradius = 512; + self allowedstances("stand","crouch","prone"); + self.disablearrivals = 0; + self.disableexits = 0; + self.allowdeath = 1; + self.alwaysrunforward = undefined; + if(isdefined(self.oldcombatmode)) + { + self.combatmode = self.oldcombatmode; + } + + if(isdefined(level.patroller) && self == level.patroller) + { + return; + } + + maps\_utility::enable_cqbwalk(); +} + +//Function Number: 116 +kill_me_on_notify() +{ + level waittill("delete_walkthrough_guys"); + if(isdefined(self)) + { + self delete(); + } +} + +//Function Number: 117 +setup_school() +{ + thread maps\detroit_lighting::player_school_flashlight(); + thread enable_doorway_blocking(); + thread burke_path_through_school(); + thread burke_shimmey_setup(); + thread take_every_grenade_now(); + thread setup_player_fall(); + thread basement_hide_setup(); + thread basement_troop_2(); + thread setup_hazmant_suit_room(); + thread hall_troop_scare_moment(); + thread brick_smash_setup(); + thread player_basement_objective_mover(); + thread return_boost_dash(); + common_scripts\utility::flag_wait("flag_player_shimmy_start"); + level notify("flickering_light_02_off"); + common_scripts\utility::flag_set("rendezvous"); +} + +//Function Number: 118 +lerp_time_function_wallpull() +{ + thread wait_for_success_press(); + thread maps\detroit_hospital::use_hint_blinks(); + var_00 = 0; + while(var_00 < 1.6) + { + if(level.player usebuttonpressed()) + { + thread maps\detroit_hospital::fade_out_use_hint(0.1); + common_scripts\utility::flag_clear("wall_grab_success"); + level notify("player_grabbed_brick"); + maps\_utility::slowmo_lerp_out(); + soundscripts\_snd::snd_message("wall_pull_slowmo","end"); + return; + } + + wait(0.05); + var_00 = var_00 + 0.05; + } + + soundscripts\_snd::snd_message("wall_pull_slowmo","fail"); + thread maps\detroit_hospital::fade_out_use_hint(0.1); +} + +//Function Number: 119 +wait_for_success_press() +{ + level endon("player_grabbed_brick"); + wait(1); + level.player stopanimscripted(); + common_scripts\utility::flag_set("player_failed_wall_grab_stop"); + maps\_player_death::set_deadquote(&"DETROIT_QTE_FAIL"); +} + +//Function Number: 120 +helmet_swap_wait_function() +{ + level waittill("helmet_swap_time"); + self detach("kva_hazmat_head_a"); + self attach("kva_hazmat_head_a_damaged"); + wait(2); + maps\_utility::pretend_to_be_dead(); +} + +//Function Number: 121 +wall_pull_animation() +{ + var_00 = getent("choke_gag_spawner","targetname"); + var_01 = getent("test_anim_origin","targetname"); + var_02 = maps\_utility::spawn_anim_model("brick"); + var_03 = maps\_utility::spawn_anim_model("world_body"); + var_03 hide(); + var_04 = [var_03,var_02]; + var_01 maps\_anim::anim_first_frame(var_04,"wall_pull"); + level.brick = var_02; + maps\_utility::trigger_wait_targetname("wall_pull_animation"); + common_scripts\utility::flag_set("kill_scare_team"); + level notify("weapon_take_no_longer_needed"); + thread maps\detroit::battle_chatter_off_both(); + level.player maps\_shg_utility::setup_player_for_scene(); + var_00.count = 1; + var_05 = var_00 maps\_utility::spawn_ai(1); + var_05.ignoresonicaoe = 1; + var_05.dropweapon = 0; + var_05.ignoreall = 1; + var_05.ignoreme = 1; + var_05.allowdeath = 1; + var_05.a.nodeath = 1; + maps\_utility::spawn_failed(var_05); + var_05.animname = "generic"; + var_06 = 0.05; + var_07 = 0.2; + level.player setstance("stand"); + level.player allowcrouch(0); + var_03 common_scripts\utility::delaycall(var_07,::show); + level.player playerlinktoblend(var_03,"tag_player",var_06); + level.player common_scripts\utility::delaycall(var_06,::playerlinktodelta,var_03,"tag_player",0,0,0,0,0,1); + var_04 = [var_05,var_03,var_02]; + var_05 maps\_utility::gun_remove(); + var_05 showallparts(); + var_05 thread helmet_swap_wait_function(); + thread wall_pull_animation_dialogue(); + thread maps\detroit_lighting::grab_lighting(); + soundscripts\_snd::snd_message("wall_pull_animation_begin"); + thread slowmo_in_wait_function(); + var_03 thread stop_animating_player_rig_on_flag(); + thread school_wall_grab_rumble(); + var_01 maps\_anim::anim_single(var_04,"wall_pull"); + level notify("takedown_over"); + var_08 = var_05 maps\_utility::getanim("wall_pull"); + var_05 setanimrate(var_08,0); + var_05 setanimtime(var_08,0.99); + level.player allowcrouch(1); + var_03 delete(); + common_scripts\utility::flag_set("wall_grab_guy_dead"); + level.player unlink(); + level.player givemaxammo("frag_grenade_var"); + level.player givemaxammo("contact_grenade_var"); + level.player givemaxammo("tracking_grenade_var"); + level.player givemaxammo("flash_grenade_var"); + level.player givemaxammo("emp_grenade_var"); + level.player givemaxammo("paint_grenade_var"); + level.player maps\_shg_utility::setup_player_for_gameplay(); + thread kva_knife_takedown(); + thread window_hint(); +} + +//Function Number: 122 +window_hint() +{ + var_00 = getent("window_origin","targetname"); + objective_position(maps\_utility::obj("Reunite with Burke"),var_00.origin); +} + +//Function Number: 123 +xprompt_on_brick() +{ + var_00 = getent("brick_xprompt_org","targetname"); + var_01 = var_00 common_scripts\utility::spawn_tag_origin(); + var_02 = var_01 maps\_shg_utility::hint_button_tag("x","tag_origin",128); + level waittill("player_grabbed_brick"); + var_02 maps\_shg_utility::hint_button_clear(); +} + +//Function Number: 124 +stop_animating_player_rig_on_flag() +{ + level endon("takedown_over"); + var_00 = getent("test_anim_death_origin","targetname"); + common_scripts\utility::flag_wait("player_failed_wall_grab_stop"); + level.player playerlinktodelta(self,"tag_player",0,0,0,0,0,1); + var_00 thread maps\_anim::anim_single_solo(self,"det_hos_breach_fail_vm"); + maps\_utility::missionfailedwrapper(); + thread maps\detroit_hospital::fade_out_use_hint(0.1); +} + +//Function Number: 125 +kva_knife_takedown() +{ + soundscripts\_snd::snd_message("kva_knife_takedown_scene_begin"); + var_00 = getent("test_anim_origin","targetname"); + var_01 = getent("last_kva_guy_inside_school_spawner","targetname"); + var_02 = var_01 maps\_shg_design_tools::actual_spawn(); + var_02 thread maps\detroit_lighting::add_enemy_flashlight("flashlight","med"); + var_02 thread maps\detroit::force_patrol_anim_set("active_right"); + var_02 thread stealth_guy_think(); + var_02 setgoalpos(var_00.origin); + var_02 thread last_burke_external_dialogue(); + var_02 thread remove_flashlight_on_goal(); + var_02 thread set_this_flag_when_im_dead("last_school_guy_dead"); + var_02 endon("death"); + var_02 maps\_utility::ent_flag_wait("spotted_player"); + var_02 maps\_utility::enable_cqbwalk(); + var_02 notify("goal"); +} + +//Function Number: 126 +set_this_flag_when_im_dead(param_00) +{ + self waittill("death"); + common_scripts\utility::flag_set(param_00); +} + +//Function Number: 127 +school_wall_grab_rumble() +{ + wait(0.1); + var_00 = level.player maps\_utility::get_rumble_ent("steady_rumble"); + var_00 maps\_utility::set_rumble_intensity(0.3); + var_00 maps\_utility::delaythread(0.35,::maps\_utility::set_rumble_intensity,0.01); + var_00 maps\_utility::delaythread(0.65,::maps\_utility::set_rumble_intensity,0.19); + var_00 maps\_utility::delaythread(0.95,::maps\_utility::set_rumble_intensity,0.01); + var_00 maps\_utility::delaythread(1.4,::maps\_utility::set_rumble_intensity,0.12); + var_00 maps\_utility::delaythread(1.55,::maps\_utility::set_rumble_intensity,0.01); + var_00 maps\_utility::delaythread(2.7,::maps\_utility::set_rumble_intensity,0.12); + var_00 maps\_utility::delaythread(2.9,::maps\_utility::set_rumble_intensity,0.01); + var_00 maps\_utility::delaythread(4.7,::maps\_utility::set_rumble_intensity,0.6); + var_00 maps\_utility::delaythread(4.9,::maps\_utility::set_rumble_intensity,0.01); + var_00 maps\_utility::delaythread(6.8,::maps\_utility::set_rumble_intensity,0.25); + var_00 maps\_utility::delaythread(7,::maps\_utility::set_rumble_intensity,0.01); + var_00 maps\_utility::delaythread(7.8,::maps\_utility::set_rumble_intensity,0.7); + var_00 maps\_utility::delaythread(8,::maps\_utility::set_rumble_intensity,0.01); + var_00 maps\_utility::delaythread(9.8,::maps\_utility::set_rumble_intensity,0.2); + var_00 maps\_utility::delaythread(10.06,::maps\_utility::set_rumble_intensity,0.01); + var_00 maps\_utility::delaythread(11.28,::maps\_utility::set_rumble_intensity,0.55); + var_00 maps\_utility::delaythread(11.46,::maps\_utility::set_rumble_intensity,0.01); + var_00 maps\_utility::delaythread(12.58,::maps\_utility::set_rumble_intensity,0.55); + var_00 maps\_utility::delaythread(12.76,::maps\_utility::set_rumble_intensity,0.13); + var_00 maps\_utility::delaythread(12.96,::maps\_utility::set_rumble_intensity,0.29); + var_00 maps\_utility::delaythread(13.7,::maps\_utility::set_rumble_intensity,0.11); + var_00 maps\_utility::delaythread(16.7,::maps\_utility::set_rumble_intensity,0.01); + var_00 maps\_utility::delaythread(18.2,::maps\_utility::set_rumble_intensity,0.11); + var_00 maps\_utility::delaythread(18.65,::maps\_utility::set_rumble_intensity,0.01); + wait(20); + var_00 stoprumble("steady_rumble"); + var_00 delete(); +} + +//Function Number: 128 +remove_flashlight_on_goal() +{ + self waittill("goal"); + self notify("flashlight_off"); + self setgoalpos(level.player.origin); + thread maps\_utility::player_seek(); +} + +//Function Number: 129 +last_burke_external_dialogue() +{ + common_scripts\utility::waittill_any_ents(self,"death",level,"spawn_ally_burke_backup"); + common_scripts\utility::flag_set("vo_school_burke_external"); + var_00 = getglass("burke_street_glass"); + destroyglass(var_00); +} + +//Function Number: 130 +take_knife_when_done() +{ + self endon("death"); + self waittill("weapon_switch_started"); + level.player giveweapon("iw5_hbra3_sp_opticstargetenhancer"); + level.player switchtoweapon("iw5_hbra3_sp_opticstargetenhancer"); +} + +//Function Number: 131 +save_game_when_dead(param_00) +{ + for(;;) + { + if(!isalive(param_00)) + { + wait(4); + thread maps\_utility::autosave_by_name("seeker"); + return; + } + + wait(0.05); + } +} + +//Function Number: 132 +check_to_activate(param_00,param_01) +{ + for(;;) + { + if(distance2d(level.window_guy.origin,level.player.origin) < 250) + { + param_00.ignoreall = 0; + level.window_guy notify("flashlight_off"); + level.player.ignoreme = 0; + return; + } + + wait(0.05); + } +} + +//Function Number: 133 +wall_pull_animation_dialogue() +{ + wait(6); + wait(3); + wait(4.5); + common_scripts\utility::flag_set("begin_final_slice_moment"); + wait(3); + soundscripts\_snd::snd_message("detroit_kva_bauerdoyoureadme"); + wait(7); +} + +//Function Number: 134 +burke_shimmey_setup() +{ + if(level.currentgen) + { + for(;;) + { + if(istransientloaded("detroit_school_interior_tr")) + { + break; + } + + wait(0.2); + } + } + + var_00 = maps\_utility::spawn_anim_model("school_blockage"); + thread maps\detroit_lighting::blockage_lighting(var_00); + var_01 = getent("school_player_fall_first_floor","targetname"); + var_01 thread maps\_anim::anim_first_frame_solo(var_00,"burke_wall_walk"); + var_02 = getent("placed_beam_clip","targetname"); + var_03 = getent("placed_beam_clip_final","targetname"); + maps\_utility::disable_trigger_with_targetname("trigger_shimmey_ok"); + maps\_utility::trigger_wait_targetname("start_burke_shimmey"); + thread maps\detroit::battle_chatter_off_both(); + maps\_utility::enable_trigger_with_targetname("trigger_shimmey_ok"); + common_scripts\utility::flag_set("resume_100_speed"); + thread det_debris_falling(); + var_04 = [var_00,level.burke]; + thread beam_clip_disable_function(); + var_01 maps\_anim::anim_single(var_04,"burke_wall_walk"); + common_scripts\utility::flag_set("burke_is_shimmey_halfway_can_continue"); + if(!common_scripts\utility::flag("flag_burke_stop_idle_at_shimmy")) + { + var_01 thread maps\_anim::anim_loop_solo(level.burke,"burke_shimmey_wait_idle","ender"); + } + + common_scripts\utility::flag_wait("flag_burke_stop_idle_at_shimmy"); + var_01 notify("ender"); + level.burke maps\_utility::anim_stopanimscripted(); + var_01 maps\_anim::anim_single_solo(level.burke,"burke_shimmey_wait_idle_out"); + var_01 thread maps\_anim::anim_loop_solo(level.burke,"burke_wall_walk_idle","ender"); + common_scripts\utility::flag_wait("school_player_falling"); + thread maps\detroit_lighting::player_fall_lighting(); + var_01 notify("ender"); + var_01 thread maps\_anim::anim_single_solo(level.burke,"school_fall"); + maps\_utility::activate_trigger_with_targetname("burke_finished_walk"); +} + +//Function Number: 135 +take_every_grenade_now() +{ + common_scripts\utility::flag_wait("flag_player_shimmy_start"); +} + +//Function Number: 136 +beam_clip_disable_function() +{ + var_00 = getent("placed_beam_clip","targetname"); + var_01 = getent("placed_beam_clip_final","targetname"); + wait(2.45); + var_00 delete(); + var_01 solid(); +} + +//Function Number: 137 +det_debris_falling() +{ + common_scripts\utility::flag_wait("burke_is_shimmey_halfway_can_continue"); + common_scripts\utility::flag_wait("flag_burke_stop_idle_at_shimmy"); + var_00 = getent("burke_fx_footdrop","targetname"); + var_01 = anglestoforward(var_00.origin); + playfx(common_scripts\utility::getfx("det_debris_falling"),var_00.origin,var_01); + wait(0.6); + wait(1); + thread spawn_kva_downstairs(); +} + +//Function Number: 138 +setup_player_fall() +{ + if(level.currentgen) + { + for(;;) + { + if(istransientloaded("detroit_school_interior_tr")) + { + break; + } + + wait(0.2); + } + } + + var_00 = getent("school_player_fall_first_floor","targetname"); + var_01 = maps\_utility::spawn_anim_model("floorboards"); + var_02 = maps\_utility::spawn_anim_model("school_floor"); + wait 0.05; + var_00 thread maps\_anim::anim_loop_solo(var_01,"det_school_fall_shuffle_pt0_idle_beams","stop_player_shuffle_loop"); + var_00 thread maps\_anim::anim_first_frame_solo(var_02,"school_fall"); + var_03 = getent("basement_clip_block","targetname"); + var_03 notsolid(); + var_03 connectpaths(); + common_scripts\utility::flag_wait("flag_player_shimmy_start"); + var_00 notify("stop_player_shuffle_loop"); + var_04 = maps\_utility::spawn_anim_model("world_body"); + var_04 hide(); + var_00 maps\_anim::anim_first_frame_solo(var_04,"school_fall_stand_2_shuffle"); + level.player maps\_shg_utility::setup_player_for_scene(1); + var_05 = 0.5; + level.player stopanimscripted(); + level.player allowmelee(0); + level.player playerlinktoblend(var_04,"tag_player",var_05,var_05 / 3,var_05 / 3); + var_04 common_scripts\utility::delaycall(var_05,::show); + wait(var_05); + level.player playerlinktodelta(var_04,"tag_player",1,80,20,20,20,1); + var_06 = distance2d(level.burke.origin,level.player.origin); + if(var_06 > 70) + { + soundscripts\_snd::snd_message("player_shimmy_intro","short_version"); + var_00 thread maps\_anim::anim_single_solo(var_01,"det_school_fall_stand_2_shuffle_beams"); + var_00 maps\_anim::anim_single_solo(var_04,"school_fall_stand_2_shuffle"); + } + else + { + soundscripts\_snd::snd_message("player_shimmy_intro","long_version"); + var_00 thread maps\_anim::anim_single_solo(var_01,"det_school_fall_stand_2_shuffle_beams"); + var_00 maps\_anim::anim_single_solo(var_04,"det_school_fall_stand_2_shuffle_slow_vm"); + } + + var_00 thread maps\_anim::anim_loop_solo(var_04,"school_fall_shuffle_pt0_idle","stop_player_shuffle_loop"); + var_00 thread maps\_anim::anim_loop_solo(var_01,"det_school_fall_shuffle_pt0_idle_beams","stop_player_shuffle_loop"); + waittill_player_tries_to_advance(); + var_00 notify("stop_player_shuffle_loop"); + level notify("player_linked"); + thread maps\detroit_lighting::burke_walk_lighting(); + var_00 thread maps\_anim::anim_single_solo(var_01,"det_school_fall_shuffle_pt1_beams"); + var_00 maps\_anim::anim_single_solo(var_04,"school_fall_shuffle_pt1"); + var_00 thread maps\_anim::anim_loop_solo(var_01,"det_school_fall_shuffle_pt1_idle_beams","stop_player_shuffle_loop"); + var_00 thread maps\_anim::anim_loop_solo(var_04,"school_fall_shuffle_pt1_idle","stop_player_shuffle_loop"); + waittill_player_tries_to_advance(); + var_00 notify("stop_player_shuffle_loop"); + var_00 thread maps\_anim::anim_single_solo(var_01,"det_school_fall_shuffle_pt2_beams"); + var_00 maps\_anim::anim_single_solo(var_04,"school_fall_shuffle_pt2"); + var_00 thread maps\_anim::anim_loop_solo(var_01,"det_school_fall_shuffle_pt2_idle_beams","stop_player_shuffle_loop"); + var_00 thread maps\_anim::anim_loop_solo(var_04,"school_fall_shuffle_pt2_idle","stop_player_shuffle_loop"); + waittill_player_tries_to_advance(); + var_00 notify("stop_player_shuffle_loop"); + var_00 thread maps\_anim::anim_single_solo(var_01,"det_school_fall_shuffle_pt3_beams"); + var_00 maps\_anim::anim_single_solo(var_04,"school_fall_shuffle_pt3"); + var_00 thread maps\_anim::anim_loop_solo(var_01,"det_school_fall_shuffle_pt3_idle_beams","stop_player_shuffle_loop"); + var_00 thread maps\_anim::anim_loop_solo(var_04,"school_fall_shuffle_pt3_idle","stop_player_shuffle_loop"); + waittill_player_tries_to_advance(); + var_00 notify("stop_player_shuffle_loop"); + level.player springcamenabled(0,level.detroit_spring_cam_lerp_speed,level.detroit_spring_cam_release_speed); + var_00 thread maps\_anim::anim_single_solo(var_01,"det_school_fall_shuffle_pt4_beams"); + var_00 maps\_anim::anim_single_solo(var_04,"school_fall_shuffle_pt4"); + var_00 thread maps\_anim::anim_loop_solo(var_01,"det_school_fall_shuffle_pt4_idle_beams","stop_player_shuffle_loop"); + var_00 thread maps\_anim::anim_loop_solo(var_04,"school_fall_shuffle_pt4_idle","stop_player_shuffle_loop"); + waittill_player_tries_to_advance(); + var_00 notify("stop_player_shuffle_loop"); + common_scripts\utility::flag_set("school_player_falling"); + common_scripts\utility::flag_set("school_jeep_delete"); + soundscripts\_snd::snd_message("school_fall"); + common_scripts\utility::flag_set("obj_check_school_complete"); + common_scripts\utility::flag_set("vo_school_holdtight"); + level.player lerpviewangleclamp(1,0.25,0.25,0,0,0,0); + var_07 = maps\_utility::spawn_anim_model("gun"); + var_00 thread maps\_anim::anim_single_solo(var_07,"school_fall"); + thread cracked_floor_function(); + thread kva_spot_player_durring_fall(); + var_00 thread maps\_anim::anim_single_solo(var_01,"det_school_fall_beams"); + thread school_fall_frame_hide(); + var_00 thread maps\_anim::anim_single_solo(var_02,"school_fall"); + level.player playerlinktodelta(var_04,"tag_player",1,80,20,20,20,1); + thread school_fall_rumble(); + var_00 maps\_anim::anim_single_solo(var_04,"school_fall"); + level.player maps\_shg_utility::setup_player_for_gameplay(); + var_01 hide(); + level.player unlink(); + var_04 delete(); + var_07 delete(); + common_scripts\utility::flag_set("obj_reunite_with_burke_give"); + level.player setmovespeedscale(0.7); + level.player enableweapons(); + setsaveddvar("ammoCounterHide",0); + foreach(var_09 in level.player getweaponslistprimaries()) + { + level.player takeweapon(var_09); + } + + foreach(var_0C in level.player getweaponslistoffhands()) + { + level.player setweaponammostock(var_0C,0); + } + + level.player allowsprint(0); + level.player allowcrouch(1); + level.player allowmelee(1); + level.player allowprone(1); + level.player thread maps\detroit::handle_unarmed_viewbob(); + level.player giveweapon("iw5_unarmeddetroit_nullattach"); + level.player switchtoweapon("iw5_unarmeddetroit_nullattach"); + level.player thread remove_unarmed_when_pickup_new_wep(); + thread maps\_utility::autosave_by_name("seeker"); + common_scripts\utility::flag_wait("basement_clear"); + var_02 delete(); +} + +//Function Number: 139 +remove_unarmed_when_pickup_new_wep() +{ + level endon("weapon_take_no_longer_needed"); + for(;;) + { + var_00 = level.player maps\_utility::get_storable_weapons_list_primaries(); + if(var_00.size == 2) + { + level.player takeweapon("iw5_unarmeddetroit_nullattach"); + level.player allowsprint(1); + maps\_player_exo::player_exo_activate(); + level notify("player_no_longer_unarmed"); + return; + } + + wait(0.05); + } +} + +//Function Number: 140 +school_fall_slowmo_lerp() +{ + wait(2.05); + maps\_utility::slowmo_lerp_in(); + wait(0.5); + maps\_utility::slowmo_lerp_out(); +} + +//Function Number: 141 +school_fall_frame_hide() +{ + var_00 = getentarray("school_fall_frame","targetname"); + foreach(var_02 in var_00) + { + var_02 delete(); + } +} + +//Function Number: 142 +slowmo_in_wait_function() +{ + level waittill("begin_slowmo_lerp_in"); + wait(1.5); + soundscripts\_snd::snd_message("wall_pull_slowmo","begin"); + setslowmotion(level.slowmo.speed_norm,level.slowmo.speed_slow,level.slowmo.lerp_time_in); + wait(level.slowmo.lerp_time_in); + thread lerp_time_function_wallpull(); +} + +//Function Number: 143 +kva_spot_player_durring_fall() +{ + var_00 = getnode("player_fall_kva_animated_moment_org","targetname"); + var_01 = getent("player_fall_kva_animated_moment_spawner","targetname"); + var_02 = getent("kva_animated_moment_org_new","targetname"); + var_03 = getent("kva_animated_moment_org","targetname"); + wait(2.66); + level notify("delete_walkthrough_guys"); + wait(8.95); + var_04 = var_01 maps\_utility::spawn_ai(1); + var_04 maps\detroit_lighting::add_enemy_flashlight("flashlight","med"); + var_04 maps\detroit::set_patrol_anim_set("active",1); + var_04.ignoreall = 1; + var_04.ignoreme = 1; + var_04.goalradius = 15; + var_04.animname = "kva"; + var_03 maps\_anim::anim_reach_solo(var_04,"so_hijack_search_flashlight_high_loop"); + level.school_kva_spot_guy = var_04; + maps\_utility::delaythread(2,::common_scripts\utility::flag_set,"vo_school_kva_checkcomms"); + var_02 thread maps\_anim::anim_loop_solo(var_04,"so_hijack_search_flashlight_high_loop"); + common_scripts\utility::flag_set("vo_school_burke_post_fall"); + common_scripts\utility::flag_wait("flag_start_kva_basement"); + var_04 delete(); +} + +//Function Number: 144 +cracked_floor_function() +{ + wait(2.2); + common_scripts\utility::flag_set("show_cracked_floor"); + wait(11.6); + common_scripts\utility::flag_set("delete_cracked_floor"); + soundscripts\_snd::snd_message("school_fall_into_basement"); +} + +//Function Number: 145 +basement_door_clip_function() +{ + var_00 = getent("basement_door_ai_clip_extra","targetname"); + var_01 = getent("basement_door_clip","targetname"); + var_00 linkto(self,"jo_door_l"); + var_01 linkto(self,"jo_door_l"); + common_scripts\utility::flag_wait("connect_basement_door_clip"); + var_01 connectpaths(); + var_00 connectpaths(); +} + +//Function Number: 146 +waittill_player_tries_to_advance() +{ + while(level.player getnormalizedmovement()[1] > -0.25 || distance2d(level.player.origin,level.burke.origin) < 64) + { + wait 0.05; + } +} + +//Function Number: 147 +spawn_patroller_guide_floor2() +{ + var_00 = getent("spawner_school_f2_patroller_1","targetname"); + var_01 = getent("guy2_hide_spot_origin","targetname"); + maps\_shg_design_tools::waittill_trigger_with_name("trigger_floor2_patroller_1"); + common_scripts\utility::flag_set("basement_clear"); + var_02 = getent("basement_clip_block","targetname"); + var_02 solid(); + var_02 disconnectpaths(); + level.patroller = var_00 maps\_shg_design_tools::actual_spawn(); + level.patroller maps\_utility::disable_surprise(); + level.patroller maps\_utility::disable_pain(); + level.patroller.goalradius = 15; + level.patroller setgoalentity(var_01); + level.patroller.animname = "kva"; + level.patroller thread make_me_alert(); + level.patroller thread bump_into_awareness(); + level.patroller thread change_to_run_after_time(18); + level.patroller thread maps\detroit::set_patrol_anim_set("active_forward",1); + level.patroller thread maps\detroit_lighting::add_enemy_flashlight("flashlight","med"); + level.patroller thread maps\detroit_lighting::enemy_flashlight_toggle_think("trig_flashlight_patroller_on","trig_flashlight_patroller_off"); + level.patroller thread delete_me_on_goal_special(var_01); + level.patroller thread stealth_guy_think(); + level.patroller thread ambush_wait(); + level.patroller thread call_for_backup(); + level.patroller thread i_have_seen_the_player(); + level.patroller endon("death"); + level.patroller waittill("_stealth_spotted"); + level.patroller maps\_utility::player_seek(); +} + +//Function Number: 148 +call_for_backup() +{ + self endon("death"); + self waittill("damage"); + var_00 = common_scripts\_destructible::getdamagetype(self.damagemod); + if(isdefined(self.attacker) && self.attacker == level.player && var_00 == "bullet") + { + } + + common_scripts\utility::flag_set("kill_scare_team"); + maps\_utility::activate_trigger_with_targetname("new_hall_troops_trigger"); +} + +//Function Number: 149 +pursue_player() +{ + self endon("death"); + common_scripts\utility::waittill_any("make_me_alert_now"); + for(;;) + { + wait(randomfloatrange(1.1,3.3)); + var_00 = distance(self.origin,level.player.origin); + if(var_00 > 70) + { + self setgoalpos(level.player.origin); + } + } +} + +//Function Number: 150 +make_me_alert(param_00) +{ + self endon("death"); + common_scripts\utility::waittill_any("make_me_alert_now","damage","alert"); + if(isdefined(param_00)) + { + common_scripts\utility::flag_set(param_00); + } + + self setgoalpos(level.player.origin); + level notify("stop_animating_the_basement_door"); + self notify("_stealth_spotted"); + self notify("end_patrol"); + remove_patrol_anim_set(); + self notify("flashlight_off"); + maps\_utility::enable_pain(); + maps\_utility::disable_careful(); + thread maps\_utility::player_seek(); + maps\_utility::anim_stopanimscripted(); +} + +//Function Number: 151 +delete_me_on_goal_special(param_00) +{ + self endon("death"); + self endon("alert"); + self endon("damage"); + self endon("_stealth_spotted"); + is_1_near_2(self,param_00,40); + self delete(); +} + +//Function Number: 152 +damage_change_goal() +{ + self endon("death"); + self waittill("damage"); + self setgoalpos(level.player.origin); + thread maps\_utility::player_seek(); + maps\_utility::enable_pain(); +} + +//Function Number: 153 +ambush_wait() +{ + self endon("death"); + level waittill("alert_stairs_team"); + self notify("make_me_alert_now"); +} + +//Function Number: 154 +goal_and_interupt() +{ + self endon("death"); + self endon("alert"); + self endon("damage"); + self endon("_stealth_spotted"); + var_00 = getnode("node_searcher_goto1","targetname"); + level.patroller setgoalnode(var_00); + level.patroller waittill("goal"); + wait(1); + level.patroller delete(); +} + +//Function Number: 155 +break_out_and_fight() +{ + common_scripts\utility::waittill_any("alert","damage","_stealth_spotted"); + remove_patrol_anim_set(); + self notify("end_patrol"); + self notify("flashlight_off"); + maps\_utility::player_seek(); +} + +//Function Number: 156 +change_to_run_after_time(param_00) +{ + self endon("death"); + self endon("alert"); + self endon("damage"); + self endon("_stealth_spotted"); + self endon("make_me_alert_now"); + wait(param_00); + remove_patrol_anim_set(); + self notify("end_patrol"); + self notify("flashlight_off"); +} + +//Function Number: 157 +change_to_run_now() +{ + common_scripts\utility::waittill_any("alert","damage","_stealth_spotted"); + remove_patrol_anim_set(); + self notify("end_patrol"); + self notify("flashlight_off"); +} + +//Function Number: 158 +player_kill_function() +{ + self endon("death"); + level.player endon("death"); + var_00 = level.player.health; + for(;;) + { + if(level.player.health < var_00) + { + var_01 = level.player.health; + for(;;) + { + if(level.player.health < var_01) + { + level.player kill(); + } + + wait(0.05); + } + } + + wait(0.1); + } +} + +//Function Number: 159 +setup_hazmant_suit_room() +{ + thread spawn_patroller_guide_floor2(); +} + +//Function Number: 160 +school_bodies_room_no_crouching() +{ + level endon("stop_tracking_backtrack"); + var_00 = getent("no_player_crouch_here","targetname"); + var_01 = getent("no_player_crouch_here_2","targetname"); + var_02 = getent("no_player_crouch_here_3","targetname"); + for(;;) + { + if(level.player istouching(var_00)) + { + level.player allowprone(0); + } + else if(level.player istouching(var_01)) + { + level.player allowprone(0); + } + else if(level.player istouching(var_02)) + { + level.player allowprone(0); + } + else + { + level.player allowprone(1); + } + + wait(0.05); + } +} + +//Function Number: 161 +player_leaving_bodyroom_gag() +{ + var_00 = getent("bodies_room_gag_used","targetname"); + var_00 makeusable(); + var_01 = getent("player_viewmodel_door_animorg","targetname"); + var_02 = maps\_utility::spawn_anim_model("body_room_exit_door"); + var_03 = spawn("script_model",(0,0,0)); + var_03.animname = var_02.animname; + var_03 maps\_utility::assign_animtree(); + var_03 setmodel("det_school_door_01_anim_obj"); + if(level.currentgen) + { + if(!istransientloaded("detroit_school_interior_tr")) + { + for(;;) + { + wait(0.25); + if(istransientloaded("detroit_school_interior_tr")) + { + break; + } + } + } + } + + var_01 maps\_anim::anim_first_frame_solo(var_02,"body_room_exit"); + var_01 maps\_anim::anim_first_frame_solo(var_03,"body_room_exit"); + var_04 = getent("bodies_room_door2_clip","targetname"); + var_04 linkto(var_02,"jo_door_l"); + var_02 showallparts(); + var_03 hideallparts(); + var_05 = maps\_utility::spawn_anim_model("world_hands"); + var_05 hide(); + level waittill("show_glowing_door"); + thread nag_player_get_door(); + var_00 waittill("trigger",var_06); + common_scripts\_exploder::exploder(5622); + common_scripts\utility::flag_set("player_used_bodies_room_door"); + var_00 makeunusable(); + var_02 setmodel("det_school_door_01_anim"); + var_02 showallparts(); + var_03 delete(); + level.player maps\_shg_utility::setup_player_for_scene(1); + var_07 = 0.5; + soundscripts\_snd::snd_message("body_room_exit"); + var_01 maps\_anim::anim_first_frame_solo(var_05,"body_room_exit"); + level.player playerlinktoblend(var_05,"tag_player",var_07); + level.player common_scripts\utility::delaycall(var_07,::playerlinktodelta,var_05,"tag_player",0,0,0,0,0,1); + wait(var_07); + level notify("player_door_open"); + level.burke notify("stop_idling_in_deadroom"); + thread bodyroom_gag_ghost_function(); + common_scripts\_exploder::exploder(5612); + var_05 show(); + var_08 = [var_05,var_02]; + thread finish_bodies_room_burke(); + thread bodyroom_gag_support_function(); + var_01 maps\_anim::anim_single(var_08,"body_room_exit"); + var_09 = level.player common_scripts\utility::spawn_tag_origin(); + var_09.origin = var_09.origin + (0,0,0.167); + level.player maps\_utility::teleport_player(var_09); + level.player unlink(); + var_05 delete(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.player allowsprint(0); + maps\_player_exo::player_exo_deactivate(); +} + +//Function Number: 162 +nag_player_get_door() +{ + for(;;) + { + wait(randomintrange(4,7)); + if(common_scripts\utility::flag("player_used_bodies_room_door")) + { + return; + } + + var_00 = randomint(2); + if(var_00 == 0) + { + level.burke maps\_utility::dialogue_queue("det_gdn_thedoormitchell"); + continue; + } + + level.burke maps\_utility::dialogue_queue("det_gdn_getthedoor"); + } +} + +//Function Number: 163 +bodyroom_gag_support_function() +{ + common_scripts\utility::flag_set("burke_leaving_bodies_room"); + level notify("disable_burke_bodiesroom_idle"); +} + +//Function Number: 164 +bodyroom_gag_ghost_function() +{ + var_00 = getent("bodies_room_gag_spawner","targetname"); + var_01 = getent("bodies_room_gag_anim_org_new","targetname"); + wait(2.7); + soundscripts\_snd::snd_message("new_ghost_gag_stinger"); +} + +//Function Number: 165 +burke_deadroom_door() +{ + var_00 = getent("burke_bodies_anim_origin","targetname"); + var_01 = maps\_utility::spawn_anim_model("school_door",var_00.origin); + var_00 maps\_anim::anim_first_frame_solo(var_01,"burke_school_door"); + var_02 = getent("bodies_room_door1_clip","targetname"); + var_02 linkto(var_01,"jo_door_l"); + common_scripts\utility::flag_wait("open_school_door"); + wait(2.95); + var_00 maps\_anim::anim_single_solo(var_01,"burke_school_door"); + thread player_leaving_bodyroom_gag(); +} + +//Function Number: 166 +get_burke_to_deadroom() +{ + level endon("disable_burke_bodiesroom_idle"); + level.burke.animname = "burke"; + var_00 = getent("burke_bodies_anim_origin","targetname"); + if(distance(level.player.origin,level.burke.origin) > 200) + { + var_00 thread maps\_anim::anim_loop_solo(level.burke,"wait_by_door"); + } + + while(distance(level.player.origin,level.burke.origin) > 200) + { + wait 0.05; + } + + level.burke maps\_shg_design_tools::anim_stop(var_00); + level.burke maps\_shg_design_tools::anim_stop(level.burke); + common_scripts\_exploder::exploder(5568); + var_01 = undefined; + if(level.nextgen) + { + var_02 = getent("school_deadbody_burke_look","targetname"); + var_03 = var_02 spawndrone(); + var_03 setcontents(0); + } + else + { + var_03 = spawn("script_model",var_01.origin); + var_03 setmodel("civ_urban_male_dead_body_a"); + var_01 = "head_male_sp_siejak"; + var_03 attach(var_01,"",1); + } + + var_03 useanimtree(#animtree); + var_03.animname = "generic"; + var_00 thread maps\_anim::anim_first_frame_solo(var_03,"touch_dead_npc"); + thread animate_dead_body(var_03,var_00); + maps\_utility::disable_trigger_with_targetname("bodies_room_gag_used"); + thread bodies_gag_door_trigger(); + maps\_utility::delaythread(20,::common_scripts\utility::flag_set,"vo_school_deadroom"); + common_scripts\utility::flag_set("open_school_door"); + thread school_bodies_room_no_crouching(); + var_00 maps\_anim::anim_single_solo(level.burke,"go_into_deadroom"); + if(common_scripts\utility::flag_exist("burke_needs_to_idle")) + { + var_00 thread maps\_anim::anim_loop_solo(level.burke,"deadroom_idle","stop_idling_in_deadroom"); + } + + common_scripts\utility::flag_wait("player_used_bodies_room_door"); + var_00 notify("stop_idling_in_deadroom"); +} + +//Function Number: 167 +finish_bodies_room_burke() +{ + common_scripts\utility::flag_clear("burke_needs_to_idle"); + level.burke maps\_utility::set_generic_run_anim("stealth_walk",0); + soundscripts\_snd::snd_message("finish_bodies_room_burke"); + common_scripts\utility::flag_wait("burke_leaving_bodies_room"); + thread maps\_utility::autosave_by_name(); + var_00 = getent("burke_bodies_anim_origin_updated","targetname"); + var_00 notify("stop_idling_in_deadroom"); + level.burke notify("stop_idling_in_deadroom"); + common_scripts\utility::flag_set("obj_check_school_on_burke"); + var_00 maps\_anim::anim_single_solo(level.burke,"exit_burke"); + level.burke notify("facelight_off"); + level.burke.animname = "burke"; + var_01 = getent("new_burke_stairs_check_animorg","targetname"); + var_01 thread maps\_anim::anim_loop_solo(level.burke,"burke_stairs_idle_inside","stop_stairs_inside_idle"); + common_scripts\utility::flag_set("vo_school_stairs"); + common_scripts\utility::flag_wait("player_near_burke_school_bottom_stairs"); + wait 0.05; + thread gideon_keep_up_fail_trigger("player_escaping_the_school"); + thread maps\_utility::autosave_by_name(); + var_01 notify("stop_stairs_inside_idle"); + level.burke notify("stop_stairs_inside_idle"); + thread shit_blocked_upstairs(); + level.burke stopanimscripted(); + var_01 stopanimscripted(); + var_01 maps\_anim::anim_single_solo(level.burke,"school_stair_walk"); + begin_the_shimmey_for_burke(); +} + +//Function Number: 168 +begin_the_shimmey_for_burke() +{ + var_00 = getent("burke_third_floor_corner_check_wait","targetname"); + var_00 thread maps\_anim::anim_loop_solo(level.burke,"burke_corner_left_idle","burke_stop_left_idle"); + is_player_near_burke(400); + thread maps\_utility::autosave_by_name(); + var_00 notify("burke_stop_left_idle"); + level.burke notify("flashlight_off"); + maps\_utility::activate_trigger_with_targetname("start_burke_shimmey"); + common_scripts\utility::flag_wait("flag_player_shimmy_start"); + level.player maps\_utility::notify_delay("flashlight_off",2); +} + +//Function Number: 169 +shit_blocked_upstairs() +{ + wait(12.88); + wait(6.4); + soundscripts\_snd::snd_message("burke_startle_stairs"); + wait(1.6); + common_scripts\utility::flag_set("vo_school_thisway"); +} + +//Function Number: 170 +setup_school_bodies() +{ +} + +//Function Number: 171 +school_drone_spawn(param_00) +{ + var_01 = maps\_spawner::spawner_dronespawn(param_00); + var_01.animname = "generic"; + return var_01; +} \ No newline at end of file diff --git a/AW/PC/maps/detroit_streets.gsc b/AW/PC/maps/detroit_streets.gsc new file mode 100644 index 0000000..011101b --- /dev/null +++ b/AW/PC/maps/detroit_streets.gsc @@ -0,0 +1,3665 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: detroit_streets.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 206 + * Decompile Time: 3054 ms + * Timestamp: 4/22/2024 2:28:28 AM +*******************************************************************/ + +//Function Number: 1 +streets_main() +{ + level.truck_org_cords = (117,65,64); + thread alley_setup(); + thread bar_setup(); + thread second_room_nightclub_setup(); + thread setup_hospital_transition(); + thread streets_dialogue_manager(); + thread spawn_few_nightclub_guys(); + thread first_nightclub_room_setup(); + thread second_nightclub_room_setup(); + thread ambulance_firstframe_function(); + thread ambulance_objective_update(); +} + +//Function Number: 2 +streets_dialogue_manager() +{ + thread mitchell_over_here_dialogue(); +} + +//Function Number: 3 +setup_hospital_transition() +{ + maps\_utility::trigger_wait_targetname("prepare_the_hospital"); + maps\detroit_hospital::setup_hospital(); +} + +//Function Number: 4 +onfoot_start_alley_setup() +{ + var_00 = getnode("ally_burke_start_onfoot","targetname"); + level.burke maps\_utility::clear_run_anim(); + level.burke maps\_utility::clear_generic_idle_anim(); + level.burke maps\_utility::teleport_ai(var_00); + level.burke.ignoreall = 0; + level.burke thread blink_flashlight(); + common_scripts\utility::flag_set("begin_setup_alley"); + common_scripts\utility::flag_wait("burke_alley_flashlight_off"); + level.burke notify("flashlight_off"); +} + +//Function Number: 5 +blink_flashlight() +{ + level.burke maps\detroit_lighting::add_enemy_flashlight("flashlight","light"); +} + +//Function Number: 6 +alley_setup() +{ + level.player thread return_full_mobility("begin_onfoot_street_section"); + common_scripts\utility::flag_wait("begin_setup_alley"); + level.burke maps\_utility::set_force_color("r"); + var_00 = getnode("burke_door_kick_spot","targetname"); + level.burke maps\_utility::teleport_ai(var_00); + level.burke.goalradius = 75; + level.burke.disablearrivals = 0; + level.burke.disableexits = 0; + thread setup_hazmat_intro_allies(); + thread exterior_street_kickoff(); + thread street_fight_after_snipe(); + thread battle_chatter_check_alley(); +} + +//Function Number: 7 +return_full_mobility(param_00) +{ + maps\_shg_design_tools::waittill_trigger_with_name(param_00); + self setmovespeedscale(1); + self allowsprint(1); +} + +//Function Number: 8 +destroy_the_window_exit() +{ + wait 0.05; + var_00 = getent("reunite_objective_node","targetname"); + var_01 = getentarray("shoot_at_me_node","targetname"); + foreach(var_03 in var_01) + { + var_04 = magicbullet("iw5_bal27_sp",var_00.origin,var_03.origin); + } +} + +//Function Number: 9 +shoot_at_ambulance() +{ + var_00 = getentarray("shoot_at_ambulance_node","targetname"); + var_01 = getentarray("shoot_at_me_origin","targetname"); + maps\_utility::trigger_wait_targetname("regroup_kva_spawner_trigger"); + foreach(var_03 in var_01) + { + var_03 thread fake_gunfire_shooter_ambulance(var_00); + } +} + +//Function Number: 10 +move_bones_and_joker_up() +{ + maps\_utility::trigger_wait_targetname("spawn_few_nightclub_guys_trigger"); + var_00 = getnode("bones_supressed_outside_node","targetname"); + var_01 = getnode("joker_supressed_outside_node","targetname"); + if(!isdefined(level.bones)) + { + var_02 = getent("bones_spawner_2","targetname"); + level.bones = var_02 maps\_utility::spawn_ai(1); + level.bones maps\_utility::magic_bullet_shield(); + } + + level.bones.script_friendname = "Torres"; + level.bones.animname = "bones"; + var_03 = getnode("bones_supressed_outside_node_startpoint","targetname"); + level.bones maps\_utility::clear_run_anim(); + level.bones maps\_utility::clear_generic_idle_anim(); + level.bones maps\_utility::teleport_ai(var_03); + level.bones.goalradius = 15; + level.bones.accuracy = 15; + if(!isdefined(level.joker)) + { + var_02 = getent("joker_spawner_2","targetname"); + level.joker = var_02 maps\_utility::spawn_ai(1); + level.joker maps\_utility::magic_bullet_shield(); + } + + level.joker.script_friendname = "Joker"; + level.joker.animname = "joker"; + var_04 = getnode("joker_supressed_outside_node_startpoint","targetname"); + level.joker maps\_utility::clear_run_anim(); + level.joker maps\_utility::clear_generic_idle_anim(); + level.joker maps\_utility::teleport_ai(var_04); + level.joker.goalradius = 15; + level.joker.accuracy = 0; +} + +//Function Number: 11 +advance_bones_and_joker_intro() +{ + var_00 = getnode("bones_supressed_outside_node","targetname"); + var_01 = getnode("joker_supressed_outside_node","targetname"); + common_scripts\utility::flag_wait("move_burke_down"); + level.joker setgoalnode(var_01); + level.bones setgoalnode(var_00); + level.joker maps\_utility::disable_careful(); + level.bones maps\_utility::disable_careful(); +} + +//Function Number: 12 +distance_to_last_stage(param_00) +{ + for(;;) + { + var_01 = distance2d(param_00.origin,level.player.origin); + wait(0.05); + } +} + +//Function Number: 13 +exopush_stage_manager() +{ + common_scripts\utility::flag_wait("exo_push_spawner_scaffolding_trigger"); + var_00 = getent("exo_push_stage2_org","targetname"); + var_01 = getent("exo_push_stage3_org","targetname"); + var_02 = 1; + var_03 = 1; + thread exopush_distance_debug_ui(var_02,var_03,var_00,var_01); + while(var_02) + { + var_04 = distance2d(self.origin,var_00.origin); + if(var_04 < 40) + { + common_scripts\utility::flag_set("exo_push_phase1_complete"); + thread maps\_utility::autosave_by_name("seeker"); + var_02 = 0; + } + + wait(0.05); + } + + while(var_03) + { + var_04 = distance2d(self.origin,var_01.origin); + if(var_04 < 40) + { + common_scripts\utility::flag_set("exo_push_phase2_complete"); + thread maps\_utility::autosave_by_name("seeker"); + thread spawn_hospital_roof_guys(); + var_03 = 0; + } + + wait(0.05); + } +} + +//Function Number: 14 +exopush_distance_debug_ui(param_00,param_01,param_02,param_03) +{ + while(param_00 == 1) + { + var_04 = distance2d(self.origin,param_02.origin); + if(var_04 < 40) + { + param_00 = 0; + } + + wait(0.1); + } + + while(param_01 == 1) + { + var_04 = distance2d(self.origin,param_03.origin); + if(var_04 < 40) + { + param_01 = 0; + } + + wait(0.1); + } +} + +//Function Number: 15 +exopush_start() +{ + maps\_utility::trigger_wait_targetname("runto_exo_start_trigger"); + common_scripts\utility::flag_set("vo_office_reunion_doctor"); + common_scripts\utility::flag_wait("flag_send_team_to_the_truck"); + common_scripts\utility::flag_set("obj_rendezvous_joker_complete"); + thread begin_exo_push(); + wait(3); + common_scripts\utility::flag_set("vo_exo_push_start"); + thread maps\_utility::autosave_by_name("seeker"); +} + +//Function Number: 16 +preplaced_guys_function() +{ + common_scripts\utility::flag_wait("exo_push_spawner_scaffolding_trigger"); + thread spawn_preplaced_guys(); +} + +//Function Number: 17 +exo_push_combat_manager() +{ + level endon("stop_exo_street_combat"); + level.max_exo_guysalive = 2; + level.current_exo_guys_alive = 0; + common_scripts\utility::flag_wait("window_ambush_flag"); + thread new_kva_window_ambush(4); + common_scripts\utility::flag_wait("exo_push_spawner_scaffolding_trigger"); + for(;;) + { + if(level.max_exo_guysalive > level.current_exo_guys_alive) + { + wait(randomintrange(3,5)); + spawn_a_guy(); + } + + wait(0.05); + } +} + +//Function Number: 18 +bones_rollout_manager() +{ + var_00 = getnode("bones_cover_left_push_1","targetname"); + var_01 = getnode("bones_cover_left_push_2","targetname"); + var_02 = getnode("joker_cover_left_push_1","targetname"); + var_03 = getnode("joker_cover_left_push_2","targetname"); + var_04 = getnode("bones_hospital","targetname"); + var_05 = getnode("joker_hospital","targetname"); + common_scripts\utility::flag_wait("send_bones_joker_to_cover1"); + level.bones thread maps\_utility::disable_careful(); + level.joker thread maps\_utility::disable_careful(); + level.bones.ignoreall = 1; + level.joker.ignoreall = 1; + level.bones.ignoreme = 1; + level.joker.ignoreme = 1; + level.bones setgoalnode(var_00); + level.joker setgoalnode(var_02); + level.bones thread enable_ai_on_goal(); + level.joker thread enable_ai_on_goal(); + level.bones.ignoreme = 0; + level.joker.ignoreme = 0; + common_scripts\utility::flag_wait("exo_push_phase2_complete"); + level.bones maps\_utility::disable_careful(); + level.joker maps\_utility::disable_careful(); + level.bones.ignoreall = 1; + level.joker.ignoreall = 1; + level.bones.ignoreme = 1; + level.joker.ignoreme = 1; + level.bones thread ignore_me_till_goal(); + level.joker thread ignore_me_till_goal(); + level.bones thread maps\_utility::disable_cqbwalk(); + level.joker thread maps\_utility::disable_cqbwalk(); + level.bones setgoalnode(var_01); + level.joker setgoalnode(var_03); + level.bones thread enable_ai_on_goal(); + level.joker thread enable_ai_on_goal(); + common_scripts\utility::flag_wait("send_exopush_guys_into_hospital"); + level.bones setgoalnode(var_04); + level.joker setgoalnode(var_05); +} + +//Function Number: 19 +surprise_ambush_kva_team() +{ + var_00 = getentarray("surprise_ambush_kva_spawner","targetname"); + var_01 = getent("surprise_ambush_kva_vol","targetname"); + maps\_utility::trigger_wait_targetname("runto_exo_start_trigger"); + foreach(var_03 in var_00) + { + var_04 = var_03 maps\_utility::spawn_ai(1); + if(isdefined(var_04)) + { + var_04 setgoalvolumeauto(var_01); + var_04.goalradius = 30; + var_04 thread maps\detroit_lighting::add_enemy_flashlight(); + var_04 thread ignore_me_till_goal(); + var_04 thread kill_me_on_truck_pushover(); + } + } +} + +//Function Number: 20 +kill_off_inside_guy() +{ + self endon("death"); + common_scripts\utility::flag_wait("begin_spawning_troops_hospital"); + thread maps\detroit::bloody_death(); +} + +//Function Number: 21 +new_kva_window_ambush(param_00) +{ + common_scripts\utility::flag_wait("begin_spawning_troops_hospital"); + if(isdefined(param_00)) + { + wait(param_00); + } + + var_01 = getent("scaffold_1_windowshoot_org","targetname"); + var_02 = getent("scaffold_2_windowshoot_org","targetname"); + var_03 = getentarray("scaffold_1_windowshoot_target","targetname"); + var_04 = getentarray("scaffold_2_windowshoot_target","targetname"); + var_05 = getent("exo_push_spawner_scaffold","targetname"); + var_06 = getent("exo_push_spawner_scaffold_start","targetname"); + var_07 = getnode("shoot_ambulance_org1","targetname"); + var_08 = getnode("shoot_ambulance_org2","targetname"); + var_09 = getent("surprise_ambush_kva_vol","targetname"); + thread shoot_out_windows(var_01,var_03); + wait(0.2); + shoot_out_windows(var_02,var_04); + var_0A = var_05 maps\_utility::spawn_ai(1); + if(isalive(var_0A)) + { + var_0A setgoalnode(var_07); + } + + wait(2.4); + var_0B = var_06 maps\_utility::spawn_ai(1); + if(isalive(var_0B)) + { + var_0B setgoalnode(var_08); + } +} + +//Function Number: 22 +enable_ai_after_time(param_00) +{ + wait(param_00); + self.ignoreall = 0; +} + +//Function Number: 23 +exo_push_gourney() +{ + level endon("gourney_stop"); + thread gourney_stop(); + var_00 = 0; + var_01 = getent("exo_push_gourney_spawner","targetname"); + for(;;) + { + if(common_scripts\utility::flag("exo_push_arrived")) + { + return; + } + + var_01.count = 1; + var_02 = var_01 maps\_utility::spawn_ai(1); + var_00++; + if(var_00 == 3) + { + common_scripts\utility::flag_set("gourney_guys_dead"); + return; + } + + var_02 waittill("death"); + wait(randomintrange(2,6)); + } +} + +//Function Number: 24 +all_exopush_enemies_dead() +{ + common_scripts\utility::flag_wait("gourney_guys_dead"); + common_scripts\utility::flag_wait("secondline_guys_killed"); + common_scripts\utility::flag_wait("backline_guys_alldead"); + common_scripts\utility::flag_set("exo_push_arrived"); +} + +//Function Number: 25 +gourney_stop() +{ + common_scripts\utility::flag_wait("exo_push_arrived"); + level notify("gourney_stop"); +} + +//Function Number: 26 +enable_ai_on_goal() +{ + self endon("death"); + self.goalradius = 15; + self waittill("goal"); + self.ignoreall = 0; +} + +//Function Number: 27 +ignore_me_till_goal() +{ + self endon("death"); + self.ignoreme = 1; + self waittill("goal"); + self.ignoreme = 0; +} + +//Function Number: 28 +kill_me_on_truck_pushover() +{ + self endon("death"); + var_00 = randomfloatrange(4.6,5.1); + for(;;) + { + if(common_scripts\utility::flag("kill_the_two_guys_by_ambulance")) + { + maps\detroit::bloody_death(var_00); + } + + wait(0.05); + } +} + +//Function Number: 29 +fake_gunfire_sniper_moment() +{ + var_00 = getentarray("shoot_at_me_origin","targetname"); + var_01 = getentarray("shoot_at_me_node","targetname"); + maps\_utility::trigger_wait_targetname("regroup_kva_spawner_trigger"); + foreach(var_03 in var_00) + { + var_03 thread fake_gunfire_shooter(var_01); + } +} + +//Function Number: 30 +fake_gunfire_shooter(param_00) +{ + level endon("time to stop shooting the roof"); + for(;;) + { + if(common_scripts\utility::flag("obj_rendezvous_joker_pos_joker")) + { + thread stop_shooting_timer(); + } + + var_01 = randomint(param_00.size); + var_02 = magicbullet("iw5_bal27_sp",self.origin,param_00[var_01].origin); + wait(randomfloatrange(0.2,0.4)); + } +} + +//Function Number: 31 +fake_gunfire_shooter_ambulance(param_00) +{ + level endon("time to stop shooting the ambulance"); + thread stop_shooting_ambulance_timer(); + for(;;) + { + var_01 = randomint(param_00.size); + var_02 = magicbullet("iw5_bal27_sp",self.origin,param_00[var_01].origin); + wait(randomfloatrange(0.2,0.4)); + } +} + +//Function Number: 32 +stop_shooting_ambulance_timer() +{ + maps\_utility::trigger_wait_targetname("runto_exo_start_trigger"); + level notify("time to stop shooting the ambulance"); +} + +//Function Number: 33 +stop_shooting_timer() +{ + wait(0.6); + level notify("time to stop shooting the roof"); +} + +//Function Number: 34 +bloody_death_all_survivors() +{ + common_scripts\utility::flag_wait("exo_push_arrived"); + common_scripts\utility::flag_set("obj_exo_push_complete"); + var_00 = getentarray("killable_exopush_guy","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 thread random_bloody_death(3); + } +} + +//Function Number: 35 +back_fake_bullets() +{ + var_00 = getentarray("exopush_shooter_org_back","targetname"); + var_01 = getentarray("exopush_shooter_org_mid","targetname"); + var_02 = getentarray("exopush_shooter_org_front","targetname"); + var_03 = getentarray("exopush_shooter_org_target","targetname"); + common_scripts\utility::flag_wait("send_bones_joker_to_cover1"); + foreach(var_05 in var_00) + { + var_05 thread fake_gunfire_shooter_exopush_back(var_03); + } + + foreach(var_05 in var_02) + { + var_05 thread fake_gunfire_shooter_exopush_front(var_03); + } + + foreach(var_05 in var_01) + { + var_05 thread fake_gunfire_shooter_exopush_mid(var_03); + } + + common_scripts\utility::flag_wait("exo_push_arrived"); + level notify("stop_all_fake_bullets"); +} + +//Function Number: 36 +fake_gunfire_shooter_exopush_back(param_00) +{ + level endon("stop_back_shooting"); + level endon("stop_all_fake_bullets"); + var_01 = getent("exo_push_ambulance","targetname"); + thread back_gunfire_timer(); + var_02 = getent("exo_push_street_vol3","targetname"); + for(;;) + { + if(distance2d(level.player.origin,var_01.origin) < 260) + { + if(!level.player istouching(var_02)) + { + var_03 = randomint(param_00.size); + var_04 = magicbullet("iw5_bal27_sp",self.origin,param_00[var_03].origin); + } + } + else if(!level.player istouching(var_02)) + { + var_05 = level.player.origin + (randomfloatrange(-70,70),randomfloatrange(-70,70),randomfloatrange(-70,70)); + var_04 = magicbullet("iw5_bal27_sp",self.origin,var_05); + } + + wait(randomfloatrange(0.1,0.4)); + } +} + +//Function Number: 37 +fake_gunfire_shooter_exopush_mid(param_00) +{ + level endon("stop_mid_shooting"); + level endon("stop_all_fake_bullets"); + var_01 = getent("exo_push_ambulance","targetname"); + thread mid_gunfire_timer(); + var_02 = getent("exo_push_street_vol3","targetname"); + for(;;) + { + if(distance2d(level.player.origin,var_01.origin) < 260) + { + if(!level.player istouching(var_02)) + { + var_03 = randomint(param_00.size); + var_04 = magicbullet("iw5_bal27_sp",self.origin,param_00[var_03].origin); + } + } + else if(!level.player istouching(var_02)) + { + var_05 = level.player.origin + (randomfloatrange(-70,70),randomfloatrange(-70,70),randomfloatrange(-70,70)); + var_04 = magicbullet("iw5_bal27_sp",self.origin,var_05); + } + + wait(randomfloatrange(0.1,0.4)); + } +} + +//Function Number: 38 +fake_gunfire_shooter_exopush_front(param_00) +{ + level endon("stop_front_shooting"); + level endon("stop_all_fake_bullets"); + var_01 = getent("exo_push_ambulance","targetname"); + thread front_gunfire_timer(); + var_02 = getent("exo_push_street_vol3","targetname"); + for(;;) + { + if(distance2d(level.player.origin,var_01.origin) < 260) + { + if(!level.player istouching(var_02)) + { + var_03 = randomint(param_00.size); + var_04 = magicbullet("iw5_bal27_sp",self.origin,param_00[var_03].origin); + } + } + else if(!level.player istouching(var_02)) + { + var_05 = level.player.origin + (randomfloatrange(-70,70),randomfloatrange(-70,70),randomfloatrange(-70,70)); + var_04 = magicbullet("iw5_bal27_sp",self.origin,var_05); + } + + wait(randomfloatrange(0.1,0.4)); + } +} + +//Function Number: 39 +back_gunfire_timer() +{ + common_scripts\utility::flag_wait("exo_push_phase2_complete"); + level notify("stop_back_shooting"); +} + +//Function Number: 40 +mid_gunfire_timer() +{ + common_scripts\utility::flag_wait("exo_push_phase1_complete"); + level notify("stop_mid_shooting"); +} + +//Function Number: 41 +front_gunfire_timer() +{ + common_scripts\utility::flag_wait("exo_push_phase1_complete"); + level notify("stop_front_shooting"); +} + +//Function Number: 42 +random_bloody_death(param_00) +{ + wait(randomfloatrange(0.3,param_00)); + if(isalive(self)) + { + maps\detroit::bloody_death(); + } +} + +//Function Number: 43 +spawn_a_guy() +{ + if(!common_scripts\utility::flag("exo_push_arrived")) + { + var_00 = randomintrange(1,4); + if(var_00 == 1) + { + if(!common_scripts\utility::flag("window_exo_guys_spawned_yet")) + { + common_scripts\utility::flag_set("window_exo_guys_spawned_yet"); + thread shoot_out_exo_windows_scaffolding_think(); + thread exo_scaffolding_enemy(); + return; + } + + thread exo_scaffolding_enemy(); + return; + } + + if(var_00 == 2) + { + if(!common_scripts\utility::flag("window_exo_guys_spawned_yet")) + { + common_scripts\utility::flag_set("window_exo_guys_spawned_yet"); + thread spawn_scaffolding_to_floor_right(); + return; + } + + thread spawn_scaffolding_to_floor_right(); + return; + } + + if(var_00 == 3) + { + thread spawn_left_building_scaffolding_guy(); + return; + } + + return; + } +} + +//Function Number: 44 +spawn_left_building_scaffolding_guy() +{ + var_00 = getent("left_building_scaffolding1","targetname"); + var_01 = getent("exo_push_leftbuilding_spawner_bottom","targetname"); + var_01.count = 1; + var_02 = randomint(12); + var_03 = var_01 maps\_utility::spawn_ai(1); + if(isdefined(var_03)) + { + level.current_exo_guys_alive++; + var_03.goalradius = 15; + var_03.grenadeammo = 0; + var_03.meleeattackdist = 0; + var_03 thread exo_guy_cleanup_think(); + var_03 maps\detroit_lighting::add_enemy_flashlight("flashlight",undefined,undefined,25); + var_03 setgoalvolumeauto(var_00); + var_03.ignoreall = 1; + var_03 waittill("goal"); + var_03.ignoreall = 0; + } +} + +//Function Number: 45 +spawn_scaffolding_to_floor_right() +{ + var_00 = getent("exo_push_spawner_scaffold","targetname"); + var_00.count = 1; + var_01 = var_00 maps\_utility::spawn_ai(1); + if(isdefined(var_01)) + { + level.current_exo_guys_alive++; + var_01.goalradius = 15; + var_01.grenadeammo = 0; + var_01.meleeattackdist = 0; + var_01 maps\detroit_lighting::add_enemy_flashlight("flashlight",undefined,undefined,25); + var_01 thread move_into_place_right(); + var_01 thread exo_guy_cleanup_think(); + var_01 thread street_update_my_volume_think(); + } +} + +//Function Number: 46 +move_into_place_right() +{ + self.ignoreall = 1; + level.burke.ignoreme = 1; + level.bones.ignoreme = 1; + self waittill("goal"); + self.ignoreall = 0; + level.burke.ignoreme = 0; + level.bones.ignoreme = 0; +} + +//Function Number: 47 +street_update_my_volume_think() +{ + self endon("death"); + for(;;) + { + if(!common_scripts\utility::flag("exo_push_phase1_complete")) + { + var_00 = getent("exo_push_street_vol1","targetname"); + } + else if(!common_scripts\utility::flag("exo_push_phase2_complete")) + { + var_00 = getent("exo_push_street_vol2","targetname"); + } + else + { + var_00 = getent("exo_push_street_vol3","targetname"); + } + + if(isalive(self)) + { + self setgoalvolumeauto(var_00); + } + + wait(3); + } +} + +//Function Number: 48 +shoot_out_exo_windows_scaffolding_think() +{ + var_00 = getglass("hospital_jumpout_glass1"); + var_01 = getglass("hospital_jumpout_glass2"); + var_02 = getent("scaffold_1_windowshoot_org","targetname"); + var_03 = getent("scaffold_2_windowshoot_org","targetname"); + var_04 = getentarray("scaffold_1_windowshoot_target","targetname"); + var_05 = getentarray("scaffold_2_windowshoot_target","targetname"); + thread shoot_out_windows(var_02,var_04); + destroyglass(var_00); + wait(0.4); + thread shoot_out_windows(var_03,var_05); + destroyglass(var_01); +} + +//Function Number: 49 +exo_scaffolding_enemies() +{ + common_scripts\utility::flag_wait("exo_push_spawner_scaffolding_trigger"); + var_00 = getentarray("exo_push_spawner_scaffold","targetname"); + var_01 = getent("scaffolding_1_vol","targetname"); + var_02 = getent("scaffolding_2_vol","targetname"); + var_03 = getent("scaffolding_3_vol","targetname"); + if(!common_scripts\utility::flag("exo_push_phase1_complete")) + { + foreach(var_05 in var_00) + { + var_06 = var_05 maps\_utility::spawn_ai(1); + if(isdefined(var_06)) + { + var_06 setgoalvolumeauto(var_01); + var_06.goalradius = 15; + var_06.grenadeammo = 0; + var_06.meleeattackdist = 0; + var_06 maps\detroit_lighting::add_enemy_flashlight("flashlight",undefined,undefined,25); + var_06 thread move_right_scaffolding_guy(); + wait(randomintrange(3,5)); + } + } + } +} + +//Function Number: 50 +exo_guy_cleanup_think() +{ + self waittill("death"); + level.current_exo_guys_alive--; +} + +//Function Number: 51 +exo_scaffolding_enemy() +{ + var_00 = randomint(12); + var_01 = getent("exo_push_spawner_scaffold","targetname"); + var_02 = var_01 maps\_utility::spawn_ai(1); + var_01.count = 1; + if(isdefined(var_02)) + { + var_02 endon("death"); + var_02.grenadeammo = 0; + var_02.meleeattackdist = 0; + level.current_exo_guys_alive++; + var_02 thread exo_guy_cleanup_think(); + var_02.goalradius = 15; + var_02 maps\detroit_lighting::add_enemy_flashlight("flashlight",undefined,undefined,25); + var_02 thread move_right_scaffolding_guy(); + wait(randomintrange(1,4)); + if(var_00 > 9) + { + var_02 thread scaffolding_update_my_volume_think(); + return; + } + } +} + +//Function Number: 52 +scaffolding_update_my_volume_think() +{ + self endon("death"); + var_00 = getent("scaffolding_1_vol","targetname"); + var_01 = getent("scaffolding_2_vol","targetname"); + var_02 = getent("scaffolding_3_vol","targetname"); + for(;;) + { + if(!common_scripts\utility::flag("exo_push_phase1_complete")) + { + var_03 = var_00; + } + else if(!common_scripts\utility::flag("exo_push_phase2_complete")) + { + var_03 = var_01; + } + else + { + var_03 = var_02; + } + + if(isalive(self)) + { + self setgoalvolumeauto(var_03); + } + + wait(3); + } +} + +//Function Number: 53 +shoot_out_windows(param_00,param_01) +{ + foreach(var_03 in param_01) + { + var_04 = magicbullet("iw5_bal27_sp",param_00.origin,var_03.origin); + wait(randomfloatrange(0.1,0.2)); + var_04 = magicbullet("iw5_bal27_sp",param_00.origin,var_03.origin); + wait(randomfloatrange(0.25,0.4)); + } +} + +//Function Number: 54 +move_right_scaffolding_guy() +{ + self endon("death"); + self.ignoreall = 1; + level.burke.ignoreme = 1; + level.bones.ignoreme = 1; + self waittill("goal"); + self.ignoreall = 0; + level.burke.ignoreme = 0; + level.bones.ignoreme = 0; +} + +//Function Number: 55 +setup_street_reunion_spawners() +{ + maps\_utility::trigger_wait_targetname("regroup_kva_spawner_trigger"); + thread setup_sniper_spawns(); + common_scripts\utility::flag_set("vo_office_reunion_start"); + common_scripts\utility::flag_set("flicker_street_lights"); + var_00 = getentarray("regroup_kva_spawner","targetname"); + foreach(var_02 in var_00) + { + var_03 = var_02 maps\_utility::spawn_ai(1); + var_03.accuracy = 0; + var_03 maps\detroit_lighting::add_enemy_flashlight("flashlight",undefined,undefined,25); + } +} + +//Function Number: 56 +setup_sniper_spawns() +{ + var_00 = getent("snipe_setup_vol_1","targetname"); + var_01 = getent("snipe_setup_vol_2","targetname"); + var_02 = getent("snipe_setup_vol_3","targetname"); + var_03 = getent("snipe_setup_vol_4","targetname"); + var_04 = getent("sniper_setup_spawner_1","targetname"); + var_05 = getent("sniper_setup_spawner_2","targetname"); + var_06 = getent("sniper_setup_spawner_3","targetname"); + var_07 = getent("sniper_setup_spawner_4","targetname"); + var_08 = getent("sniper_setup_spawner_6","targetname"); + thread spawn_sniper_guy(var_04,var_00); + thread spawn_sniper_guy(var_05,var_01,0); + thread spawn_sniper_guy(var_06,var_02); + thread spawn_sniper_guy(var_07,var_03,0); + thread spawn_sniper_guy(var_08,var_03,0); + wait(0.25); + common_scripts\utility::flag_set("start_tracking_sniper_deaths"); +} + +//Function Number: 57 +ambush_player_if_alive_exopush() +{ + common_scripts\utility::flag_wait("exo_push_spawner_scaffolding_trigger"); + if(isalive(self)) + { + maps\_utility::player_seek(); + } +} + +//Function Number: 58 +spawn_sniper_guy(param_00,param_01,param_02) +{ + var_03 = param_00 maps\_utility::spawn_ai(1); + var_03.accuracy = 0; + var_03 maps\detroit_lighting::add_enemy_flashlight("flashlight",undefined,undefined,25); + var_03 thread ambush_player_if_alive_exopush(); + if(!isdefined(param_02)) + { + var_03 cleargoalvolume(); + var_03 setgoalvolumeauto(param_01); + } +} + +//Function Number: 59 +push_right_after_flag() +{ + self endon("death"); + var_00 = getent("snipe_setup_vol_4","targetname"); + maps\_utility::trigger_wait_targetname("runto_exo_start_trigger"); + wait(randomintrange(1,4)); + if(isalive(self)) + { + self setgoalvolumeauto(var_00); + } +} + +//Function Number: 60 +angles_clamp_180(param_00) +{ + return (angleclamp180(param_00[0]),angleclamp180(param_00[1]),angleclamp180(param_00[2])); +} + +//Function Number: 61 +angle_lerp(param_00,param_01,param_02) +{ + return angleclamp(param_00 + angleclamp180(param_01 - param_00) * param_02); +} + +//Function Number: 62 +euler_lerp(param_00,param_01,param_02) +{ + return (angle_lerp(param_00[0],param_01[0],param_02),angle_lerp(param_00[1],param_01[1],param_02),angle_lerp(param_00[2],param_01[2],param_02)); +} + +//Function Number: 63 +train_gopath(param_00,param_01,param_02) +{ + var_03 = 0.052; + var_04 = spawnstruct(); + var_04.origin = self.origin; + var_04.angles = self.angles; + param_00 = common_scripts\utility::array_combine([var_04],param_00); + if(!isdefined(param_01)) + { + param_01 = 1200; + } + + soundscripts\_snd::snd_message("play_maglev_train_path"); + var_05 = 0; + for(var_06 = 0;var_06 < param_00.size - 1;var_06++) + { + var_07 = param_00[var_06]; + var_08 = param_00[var_06 + 1]; + var_09 = vectornormalize(var_08.origin - var_07.origin); + var_0A = distance(var_08.origin,var_07.origin); + while(var_05 < var_0A) + { + var_0B = var_07.origin + var_05 * var_09; + var_0C = euler_lerp(var_07.angles,var_08.angles,var_05 / var_0A); + self moveto(var_0B,var_03,0,0); + self rotateto(var_0C,var_03,0,0); + if(isdefined(param_02)) + { + var_0D = transformmove(var_0B,var_0C,(0,0,0),(0,0,0),(0,0,48),(0,90,0)); + var_0E = var_0D["origin"]; + var_0F = var_0D["angles"]; + param_02 moveto(var_0E,var_03,0,0); + param_02 rotateto(var_0F,var_03,0,0); + } + + wait 0.05; + var_05 = var_05 + param_01 * 0.05; + } + + var_05 = var_05 - var_0A; + } + + if(isdefined(self.tags)) + { + common_scripts\utility::array_call(self.tags,::delete); + } + + self delete(); +} + +//Function Number: 64 +get_door(param_00) +{ + var_01 = getent(param_00 + "org","targetname"); + var_02 = getent(param_00 + "brush","targetname"); + var_03 = getent(param_00 + "clip","targetname"); + var_04 = var_01 common_scripts\utility::spawn_tag_origin(); + var_02 linkto(var_04,"tag_origin"); + var_03 linkto(var_04,"tag_origin"); + var_05 = spawnstruct(); + var_05.org = var_01; + var_05.brush = var_02; + var_05.hasclip = var_03; + var_05.tag = var_04; + return var_05; +} + +//Function Number: 65 +second_room_nightclub_setup() +{ + thread destroy_the_window_exit(); + thread move_bones_and_joker_up(); + thread exopush_start(); + thread preplaced_guys_function(); + thread advance_bones_and_joker_intro(); + thread setup_street_reunion_spawners(); + thread move_burke_outside_office(); + thread destroy_office_snipe_glass(); + thread temp_clip_delete(); + thread office_2guys_ambush(); + thread break_office_glass_ahead_of_time(); + thread initiate_exo_push_on_sniperguys_dead(); + thread initiate_exo_push_on_player_advance(); + thread last_guy_in_group(); + thread second_floor_snipers(); + thread kill_all_inside_guys_now(); + thread exo_push_combat_manager(); + thread bones_rollout_manager(); + thread exo_push_gourney(); + thread all_exopush_enemies_dead(); +} + +//Function Number: 66 +dead_guy_for_moors() +{ + var_00 = getent("dead_sniper_spawner","targetname"); + var_01 = getent("dead_sniper_animorg","targetname"); + var_02 = var_00 maps\_utility::spawn_ai(1); + var_02.animname = "generic"; + var_01 thread maps\_anim::anim_last_frame_solo(var_02,"airport_civ_pillar_exit_death"); +} + +//Function Number: 67 +destroy_office_snipe_glass() +{ + var_00 = getglass("snipe_glass"); + var_01 = getglass("left_snipe_glass"); + destroyglass(var_00); + destroyglass(var_01); +} + +//Function Number: 68 +temp_clip_delete() +{ + var_00 = getent("temp_window_clip","targetname"); + maps\_utility::trigger_wait_targetname("jump_window_clip_delete"); + if(isdefined(var_00)) + { + var_00 connectpaths(); + var_00 delete(); + } +} + +//Function Number: 69 +bullets_break_office_glass_gag() +{ + var_00 = getentarray("office_shooter_org","targetname"); + var_01 = getentarray("office_shooter_target_org","targetname"); + maps\_utility::disable_trigger_with_targetname("office_first_enemy_intro_trigger"); + maps\_utility::trigger_wait_targetname("office_shooter_org_moment_trigger"); + wait(2.3); + thread bullet_break_glass_gag_timer(); + foreach(var_03 in var_00) + { + var_03 thread shoot_at_these_targets(var_01); + } + + common_scripts\utility::flag_wait("stop_shoot_org_moment"); + level notify("stop_shooting_fake_shots"); +} + +//Function Number: 70 +shoot_at_these_targets(param_00) +{ + level endon("stop_shooting_fake_shots"); + for(;;) + { + var_01 = randomint(param_00.size); + var_02 = magicbullet("iw5_bal27_sp",self.origin,param_00[var_01].origin); + wait(randomfloatrange(0.1,0.3)); + } +} + +//Function Number: 71 +sneaky_reload() +{ + var_00 = level.player getcurrentweapon(); + var_01 = level.player getammocount(var_00); + var_02 = level.player getcurrentweaponclipammo(); + var_03 = weaponclipsize(var_00); + var_04 = var_03 - var_02; + level.player setweaponammoclip(var_00,var_03); + level.player setweaponammostock(var_00,var_01 - var_04); +} + +//Function Number: 72 +break_office_glass_ahead_of_time() +{ + var_00 = getglass("office_glass_break1"); + var_01 = getglass("office_glass_break2"); + destroyglass(var_00); + destroyglass(var_01); +} + +//Function Number: 73 +office_2guys_ambush() +{ + var_00 = getentarray("office_spawner_guys_shootingfrom_office","targetname"); + maps\_utility::trigger_wait_targetname("office_shooter_org_moment_trigger"); + var_01 = getent("office_ambush_waitvol","targetname"); + foreach(var_03 in var_00) + { + var_04 = var_03 maps\_utility::spawn_ai(1); + var_04.goalradius = 15; + var_04 thread seek_player_on_trigger(); + } +} + +//Function Number: 74 +seek_player_on_trigger() +{ + self endon("death"); + maps\_utility::trigger_wait_targetname("player_moving_out_area1"); + wait(randomintrange(1,3)); + if(isalive(self)) + { + maps\_utility::player_seek(); + } +} + +//Function Number: 75 +office_support_after_ambush() +{ + var_00 = getentarray("office_first_enemy_intro_spawner_DISABLED","targetname"); + maps\_utility::trigger_wait_targetname("office_first_enemy_intro_spawner_zone_trigger"); + foreach(var_02 in var_00) + { + var_03 = var_02 maps\_utility::spawn_ai(); + } +} + +//Function Number: 76 +wait_then_movetogoalvol(param_00) +{ + common_scripts\utility::flag_wait("stop_shoot_org_moment"); + wait(randomfloatrange(0.8,1.5)); + if(isalive(self)) + { + self setgoalvolumeauto(param_00); + } +} + +//Function Number: 77 +bullet_break_glass_gag_timer() +{ + wait(4.5); + common_scripts\utility::flag_set("stop_shoot_org_moment"); +} + +//Function Number: 78 +move_burke_outside_office() +{ + common_scripts\utility::flag_wait("move_burke_down"); + thread kill_last_sniper_guys(); + level.burke maps\_utility::disable_careful(); + level.burke.goalradius = 15; + level.burke.ignoreall = 1; + level.burke maps\_utility::disable_pain(); + var_00 = getnode("player_parkinglot_startorg","targetname"); + level.burke setgoalpos(var_00.origin); + level.burke waittill("goal"); + level.burke.ignoreall = 0; + level.burke maps\_utility::enable_pain(); +} + +//Function Number: 79 +kill_last_sniper_guys() +{ + var_00 = getentarray("sniper_setup_guy","script_noteworthy"); + maps\_utility::trigger_wait_targetname("runto_exo_start_trigger"); + foreach(var_02 in var_00) + { + if(isalive(var_02)) + { + var_03 = randomint(3); + var_02 maps\detroit::bloody_death(var_03); + } + + wait(randomintrange(1,2)); + } +} + +//Function Number: 80 +teleport_bones_and_joker() +{ + maps\_utility::trigger_wait_targetname("spawn_few_nightclub_guys_trigger"); + var_00 = getnode("bones_supressed_outside_node_startpoint","targetname"); + level.bones maps\_utility::teleport_ai(var_00); + level.bones.goalradius = 15; + wait(0.05); + var_01 = getnode("joker_supressed_outside_node_startpoint","targetname"); + level.joker maps\_utility::teleport_ai(var_01); + level.joker.goalradius = 15; + level.joker.accuracy = 0; + level.bones.accuracy = 0; + level.joker.accuracy = 1; + level.bones.accuracy = 1; +} + +//Function Number: 81 +sniper_kva_dead_body() +{ + var_00 = getent("kva_at_window_spawner_2","targetname"); + var_01 = var_00 maps\_utility::spawn_ai(1); + wait(0.05); + var_01.nodrop = 1; + var_01.ignoreall = 1; + var_01.ignoreme = 1; + var_01 kill(); +} + +//Function Number: 82 +waittill_enemy_group_size_is(param_00,param_01) +{ + thread maps\_shg_design_tools::trigger_to_notify(param_01); + level endon(param_01); + var_02 = self; + while(var_02.size > param_00) + { + var_02 = maps\_utility::array_removedead_or_dying(var_02); + wait 0.05; + } +} + +//Function Number: 83 +monitor_death_and_reinforce(param_00,param_01) +{ + var_02 = self; + for(var_03 = 0;var_03 < param_01;var_03++) + { + var_02 waittill("death"); + var_04 = common_scripts\utility::random(param_00); + var_04.count = 1; + var_02 = var_04 maps\_utility::spawn_ai(1); + level.alleyway_fight_enemies[level.alleyway_fight_enemies.size] = var_02; + wait(0.1); + } + + foreach(var_04 in param_00) + { + var_04.count = 0; + } +} + +//Function Number: 84 +setup_hazmat_intro_allies() +{ + thread burke_reunite_with_player_alley(); +} + +//Function Number: 85 +burke_reunite_with_player_alley() +{ + thread burke_move_into_office(); + var_00 = getent("intro_alley_hide_spot3","targetname"); + var_00 thread maps\_anim::anim_loop_solo(level.burke,"wall_stack_idle","move ahead"); + var_01 = getnode("burke_take_a_shot_spot","targetname"); + common_scripts\utility::flag_wait("burke_alley_flashlight_off"); + level notify("burke_and_player_reunited"); + var_00 notify("move ahead"); + maps\_utility::battlechatter_off("allies"); + level.burke stopanimscripted(); + level.burke.ignoreall = 0; + level.burke maps\_utility::enable_dontevershoot(); + level.burke maps\_utility::enable_cqbwalk(); + level.burke setgoalnode(var_01); + common_scripts\utility::flag_set("vo_alley_burke_reunite"); + thread spawn_placed_alleyway_guys(); + thread dog_attack_enemies(); + level.burke waittill("goal"); + level.burke maps\_utility::disable_cqbwalk(); + common_scripts\utility::flag_set("vo_alley_burke_patrol"); + level common_scripts\utility::waittill_any_timeout(13,"move_allies_up_street1","second_street_alley_r2"); + if(isdefined(getent("move_allies_up_street1","targetname"))) + { + maps\_utility::disable_trigger_with_targetname("move_allies_up_street1"); + } + + if(common_scripts\utility::flag("stop_burke_asking_player_to_drop_patrol") == 0) + { + common_scripts\utility::flag_set("vo_alley_burke_too_slow"); + wait 0.05; + level.burke.ignoreall = 0; + level.burke maps\_utility::clear_generic_run_anim(); + level.burke maps\_utility::enable_careful(); + level.burke maps\_utility::disable_dontevershoot(); + var_02 = getaiarray("axis"); + var_03 = 0; + if(isdefined(level.burke.enemy) && isdefined(level.burke.a.aimidlethread) && level.burke animscripts\utility::canseeenemy(0)) + { + level.burke shoot(1000,level.burke.enemy geteye()); + level.burke.enemy kill(level.burke geteye(),level.burke); + } + + common_scripts\utility::flag_set("_stealth_spotted"); + if(isdefined(getent("move_allies_up_street1","targetname")) && !isdefined(getent("move_allies_up_street1","targetname").trigger_off)) + { + maps\_utility::activate_trigger_with_targetname("move_allies_up_street1"); + } + + common_scripts\utility::flag_set("move_allies_up_street1"); + level notify("snipe_ambush_fail"); + common_scripts\utility::flag_set("stop_burke_asking_player_to_drop_patrol"); + level.burke.accuracy = 1; + wait(2); + level.burke.accuracy = 0.25; + level notify("kickoff_street_fight"); + } + + common_scripts\utility::flag_set("vo_alley_combat"); +} + +//Function Number: 86 +burke_move_into_office() +{ + var_00 = getnode("burke_path_onfoot_bar","targetname"); + var_01 = getnode("burke_path_onfoot_01a","targetname"); + common_scripts\utility::flag_wait("send_burke_to_office_wait_point"); + common_scripts\utility::flag_wait("all_street_fighters_dead"); + common_scripts\utility::flag_set("sitrep_dialogue_line"); + level.burke maps\_utility::enable_careful(); + level.burke setgoalnode(var_00); + common_scripts\utility::flag_wait("bar_has_been_cleared"); + level.burke setgoalnode(var_01); +} + +//Function Number: 87 +bar_guy_check_function() +{ + common_scripts\utility::flag_wait("player_has_entered_the_bar"); + for(;;) + { + var_00 = getentarray("bar_fighter","script_noteworthy"); + var_00 = maps\_utility::remove_dead_from_array(var_00); + if(var_00.size == 0) + { + common_scripts\utility::flag_set("bar_has_been_cleared"); + thread barfighters_notify(); + return; + } + + wait(0.05); + } +} + +//Function Number: 88 +street_fighter_check_function() +{ + for(;;) + { + var_00 = getentarray("street_fighters","script_noteworthy"); + var_00 = maps\_utility::remove_dead_from_array(var_00); + if(var_00.size == 0) + { + common_scripts\utility::flag_set("all_street_fighters_dead"); + return; + } + + wait(0.05); + } +} + +//Function Number: 89 +mitchell_over_here_dialogue() +{ + level endon("burke_and_player_reunited"); + maps\_utility::trigger_wait_targetname("begin_onfoot_street_section"); + thread onfoot_start_alley_setup(); + common_scripts\utility::flag_set("obj_reunite_with_burke_pos_reunite"); + maps\detroit_school::is_player_near_burke(600); + common_scripts\utility::flag_set("vo_alley_burke_downhere"); + wait(4); + if(distance2d(level.burke.origin,level.player.origin) > 500) + { + common_scripts\utility::flag_set("vo_alley_burke_overhere"); + } +} + +//Function Number: 90 +first_nightclub_room_setup() +{ + maps\_utility::trigger_wait_targetname("office_first_enemy_intro_trigger"); + level notify("nightclub_started"); + var_00 = getglass("skylight_glass_01"); + var_01 = getent("skylight_glass_01_org","targetname"); + var_02 = getglass("skylight_glass_02"); + var_03 = getent("skylight_glass_02_org","targetname"); + var_04 = getglass("skylight_glass_03"); + var_05 = getent("skylight_glass_03_org","targetname"); + var_06 = getglass("skylight_glass_04"); + var_07 = getent("skylight_glass_04_org","targetname"); + var_08 = getglass("skylight_glass_05"); + var_09 = getent("skylight_glass_05_org","targetname"); + var_0A = getglass("skylight_glass_06"); + var_0B = getent("skylight_glass_06_org","targetname"); + var_0C = getglass("skylight_glass_07"); + var_0D = getent("skylight_glass_07_org","targetname"); + var_0E = getglass("skylight_glass_08"); + var_0F = getent("skylight_glass_08_org","targetname"); + var_10 = getglass("skylight_glass_09"); + var_11 = getent("skylight_glass_09_org","targetname"); + var_12 = getglass("skylight_glass_10"); + var_13 = getent("skylight_glass_10_org","targetname"); + var_14 = getglass("skylight_glass_11"); + var_15 = getent("skylight_glass_11_org","targetname"); + var_16 = getglass("skylight_glass_12"); + var_17 = getent("skylight_glass_12_org","targetname"); + var_18 = getglass("skylight_glass_13"); + var_19 = getent("skylight_glass_13_org","targetname"); + var_1A = getglass("skylight_glass_14"); + var_1B = getent("skylight_glass_14_org","targetname"); + var_1C = getglass("skylight_glass_15"); + var_1D = getent("skylight_glass_15_org","targetname"); + thread office_glass(var_00,var_01); + thread office_glass(var_02,var_03); + thread office_glass(var_04,var_05); + thread office_glass(var_06,var_07); + thread office_glass(var_08,var_09); + thread office_glass(var_0A,var_0B); + thread office_glass(var_0C,var_0D); + thread office_glass(var_0E,var_0F); + thread office_glass(var_10,var_11); + thread office_glass(var_12,var_13); + thread office_glass(var_14,var_15); + thread office_glass(var_16,var_17); + thread office_glass(var_18,var_19); + thread office_glass(var_1A,var_1B); + thread office_glass(var_1C,var_1D); +} + +//Function Number: 91 +office_glass(param_00,param_01) +{ + level waittillmatch(param_00,"glass_destroyed"); + soundscripts\_snd::snd_message("office_skylights_breakable",param_01); +} + +//Function Number: 92 +second_nightclub_room_setup() +{ + maps\_utility::trigger_wait_targetname("office_first_enemy_intro_trigger"); + thread sniper_kva_dead_body(); +} + +//Function Number: 93 +self_tracking_functions() +{ + thread are_we_close(500,"begin_first_office_room_fight"); + am_i_hit(); + i_am_hit_engage(); +} + +//Function Number: 94 +are_we_close(param_00,param_01) +{ + level endon(param_01); + for(;;) + { + if(distance2d(self.origin,level.player.origin) <= param_00) + { + level notify(param_01); + } + + wait(0.05); + } +} + +//Function Number: 95 +am_i_hit() +{ + level endon("begin_first_office_room_fight"); + var_00 = self.health; + for(;;) + { + if(var_00 > self.health) + { + level notify("begin_first_office_room_fight"); + } + + wait(0.1); + } +} + +//Function Number: 96 +i_am_hit_engage() +{ + level.player.ignoreme = 0; + level.burke.ignoreme = 0; + level.burke.ignoreall = 0; + maps\detroit_school::remove_patrol_anim_set(); + self.ignoreall = 0; + self.ignoreme = 0; +} + +//Function Number: 97 +spawn_few_nightclub_guys() +{ + maps\_utility::trigger_wait_targetname("spawn_few_nightclub_guys_trigger"); + thread maps\_utility::autosave_by_name("seeker"); + var_00 = getentarray("office_firstroom_wave1_spawner","targetname"); + foreach(var_02 in var_00) + { + var_03 = var_02 maps\_utility::spawn_ai(1); + if(isalive(var_03)) + { + var_03 maps\detroit_lighting::add_enemy_flashlight("flashlight",undefined,undefined,25); + } + + wait(0.05); + } +} + +//Function Number: 98 +goto_goal() +{ + self.ignoreall = 1; + self waittill("goal"); + self.ignreall = 0; +} + +//Function Number: 99 +exterior_street_kickoff() +{ + thread top_level_kva_guys(); + var_00 = getent("kva_outside_kickoff_spawner1","targetname"); + var_01 = getent("kva_outside_kickoff_spawner2","targetname"); + var_02 = getnode("guy_1_break_hidenode","targetname"); + var_03 = getnode("guy_2_break_hidenode","targetname"); + var_04 = getent("soldiers_outside_kickoff_talking","targetname"); + var_05 = getent("soldiers_outside_kickoff_talking_2","targetname"); + common_scripts\utility::flag_wait("rendezvous_obj_reached"); + common_scripts\utility::flag_set("obj_reunite_with_burke_complete"); + var_06 = var_00 maps\_utility::spawn_ai(1); + var_07 = var_01 maps\_utility::spawn_ai(1); + var_06.health = 10; + var_07.health = 10; + var_06.fovcosine = 0.95; + var_07.fovcosine = 0.95; + var_06 setgoalpos(var_04.origin); + var_07 setgoalpos(var_05.origin); + var_06 maps\_utility::disable_surprise(); + var_07 maps\_utility::disable_surprise(); + level.burke.ignoreme = 1; + level.burke maps\_utility::disable_surprise(); + var_06.animname = "generic"; + var_07.animname = "generic"; + var_06 thread maps\detroit::force_patrol_anim_set("active_right"); + var_07 thread maps\detroit::force_patrol_anim_set("active"); + var_06 thread maps\detroit_lighting::add_enemy_flashlight("flashlight",undefined,undefined,25); + var_07 thread maps\detroit_lighting::add_enemy_flashlight("flashlight",undefined,undefined,25); + var_06 thread begin_the_street_fight(); + var_07 thread begin_the_street_fight(); + var_06 thread wake_me_up_if_still_alive(); + var_07 thread wake_me_up_if_still_alive(); + var_06 thread combat_state(); + var_07 thread combat_state(); + level.burke thread re_enable_combat(); +} + +//Function Number: 100 +re_enable_combat() +{ + common_scripts\utility::flag_wait("one_street_guy_dead_kickoff_fight_now"); + level.burke maps\_utility::disable_dontevershoot(); + level notify("kickoff_street_fight"); + maps\_stealth_utility::disable_stealth_system(); +} + +//Function Number: 101 +combat_state() +{ + level endon("stop_all_combat_state"); + self endon("death"); + for(;;) + { + if(isdefined(self.enemy) || common_scripts\utility::flag("_stealth_spotted")) + { + maps\_utility::ent_flag_clear("_stealth_enabled"); + common_scripts\utility::flag_set("one_street_guy_dead_kickoff_fight_now"); + common_scripts\utility::flag_set("vo_alley_combat"); + level notify("stop_burke_asking_player_to_drop_patrol"); + level notify("kickoff_street_fight"); + maps\_utility::disable_careful(); + maps\detroit_school::remove_patrol_anim_set(); + self notify("flashlight_off"); + self notify("end_patrol"); + self.alwaysrunforward = undefined; + level notify("patrol_alerted"); + common_scripts\utility::flag_set("_stealth_spotted"); + return; + } + + wait(0.05); + } +} + +//Function Number: 102 +wake_me_up_if_still_alive() +{ + while(isalive(self)) + { + common_scripts\utility::flag_wait("one_street_guy_dead_kickoff_fight_now"); + self setgoalpos(self.origin); + return; + } +} + +//Function Number: 103 +begin_the_street_fight() +{ + for(;;) + { + common_scripts\utility::waittill_any("death","alert","_stealth_spotted","damage"); + level notify("kickoff_street_fight"); + if(!common_scripts\utility::flag("one_street_guy_dead_kickoff_fight_now")) + { + if(isdefined(getent("move_allies_up_street1","targetname")) && !isdefined(getent("move_allies_up_street1","targetname").trigger_off)) + { + maps\_utility::activate_trigger_with_targetname("move_allies_up_street1"); + maps\_utility::disable_trigger_with_targetname("move_allies_up_street1"); + } + + level.burke maps\_utility::disable_dontevershoot(); + common_scripts\utility::flag_set("one_street_guy_dead_kickoff_fight_now"); + common_scripts\utility::flag_set("move_allies_up_street1"); + level notify("kickoff_street_fight"); + common_scripts\utility::flag_set("stop_burke_asking_player_to_drop_patrol"); + common_scripts\utility::flag_set("vo_alley_combat"); + } + } +} + +//Function Number: 104 +notify_spotted_player_alleyway() +{ + self endon("death"); + common_scripts\utility::waittill_any("_stealth_spotted","alert","spotted_player"); + maps\detroit_school::remove_patrol_anim_set(); + self notify("flashlight_off"); + level notify("kickoff_street_fight"); +} + +//Function Number: 105 +seek_player_on_fail() +{ + self endon("death"); + level waittill("snipe_ambush_fail"); + maps\_utility::set_goal_pos(level.player.origin); + wait(randomfloatrange(0.1,0.4)); + thread maps\_utility::player_seek(); +} + +//Function Number: 106 +player_health_check() +{ + level.player endon("death"); + level endon("kickoff_street_fight"); + level endon("snipe_ambush_fail"); + level endon("snipe_ambush_success"); + var_00 = level.player.health; + for(;;) + { + if(var_00 > level.player.health) + { + level notify("kickoff_street_fight"); + } + + wait(0.05); + } +} + +//Function Number: 107 +kickoff_modify() +{ + level waittill("kickoff_street_fight"); + maps\_stealth_utility::disable_stealth_system(); + common_scripts\utility::flag_set("vo_alley_combat"); + level.burke maps\_utility::disable_cqbwalk(); + level.burke maps\_utility::clear_generic_run_anim(); +} + +//Function Number: 108 +health_track() +{ + var_00 = self.health; + for(;;) + { + if(self.health < var_00) + { + self stopanimscripted(); + maps\detroit_school::remove_patrol_anim_set(); + return; + } + + wait(0.05); + } +} + +//Function Number: 109 +fail_enable(param_00,param_01) +{ + level waittill("snipe_ambush_fail"); + if(isalive(self)) + { + self.ignoreall = 0; + self.ignoreme = 0; + self notify("stop_loop"); + param_00 notify("stop_loop"); + maps\_utility::set_moveplaybackrate(1); + self stopanimscripted(); + self setgoalnode(param_01); + } +} + +//Function Number: 110 +top_level_kva_guys() +{ + level waittill("kickoff_street_fight"); + wait(7); + var_00 = getent("alley_fight_top_rpg_spawner","targetname"); + var_01 = getent("alley_fight_top_ar_spawner","targetname"); + var_02 = var_00 maps\_utility::spawn_ai(1); + var_02 maps\detroit_lighting::add_enemy_flashlight("flashlight",undefined,undefined,25); + var_02.goalradius = 15; + var_02.fixednode = 1; + var_02.combatmode = "no_cover"; + var_03 = var_01 maps\_utility::spawn_ai(1); + var_03 maps\detroit_lighting::add_enemy_flashlight("flashlight",undefined,undefined,25); + var_03.fixednode = 1; + var_03.goalradius = 15; +} + +//Function Number: 111 +street_train_function() +{ + level endon("nightclub_started"); + var_00 = randomintrange(900,1700); + for(;;) + { + spawn_street_train(var_00); + wait(randomintrange(8,16)); + if(common_scripts\utility::flag("hospital_escape_trains_only")) + { + return; + } + } +} + +//Function Number: 112 +reverse_street_train_function() +{ + level endon("nightclub_started"); + var_00 = randomintrange(900,1700); + for(;;) + { + spawn_reverse_street_train(var_00); + wait(randomintrange(8,16)); + if(common_scripts\utility::flag("hospital_escape_trains_only")) + { + return; + } + } +} + +//Function Number: 113 +street_fight_after_snipe() +{ + level waittill("kickoff_street_fight"); + level.burke maps\_utility::disable_cqbwalk(); + thread first_guy_looking(); + wait(6); + thread outside_group_1(); + thread maps\_utility::autosave_by_name("seeker"); +} + +//Function Number: 114 +spawn_placed_alleyway_guys() +{ + var_00 = getentarray("enemyspawn_onfoot_intro_placed","targetname"); + foreach(var_02 in var_00) + { + var_03 = var_02 maps\_utility::spawn_ai(1); + var_04 = var_03.combatmode; + var_03.combatmode = "no_cover"; + var_03 thread activate_guy(); + var_03 thread kickoff_notify(); + var_03 thread break_from_ignoreall(); + var_03 thread stealth_guy_think_on_flag(); + } + + street_fighter_check_function(); +} + +//Function Number: 115 +stealth_guy_think_on_flag() +{ + self endon("death"); + maps\detroit_school::stealth_guy_think(); + common_scripts\utility::flag_wait("rendezvous_obj_reached"); +} + +//Function Number: 116 +kickoff_notify() +{ + common_scripts\utility::waittill_any("damage","_stealth_spotted","spotted_player","death"); + level notify("kickoff_street_fight"); + common_scripts\utility::flag_set("_stealth_spotted"); +} + +//Function Number: 117 +break_from_ignoreall() +{ + self endon("death"); + level waittill("kickoff_street_fight"); + self.ignoreall = 0; +} + +//Function Number: 118 +dog_attack_enemies() +{ + level waittill("kickoff_street_fight"); + var_00 = getent("dog_spawner_1","targetname"); + var_01 = getentarray("dog_spawner_2","targetname"); + var_02 = var_00 maps\_utility::spawn_ai(1); + var_02 thread maps\_utility::player_seek(); + wait(3); + foreach(var_04 in var_01) + { + var_05 = var_04 maps\_utility::spawn_ai(1); + var_05 thread maps\_utility::player_seek(); + } + + common_scripts\utility::flag_wait("hide_and_seek"); + var_07 = getent("last_dog_spawner","targetname"); + var_08 = var_07 maps\_utility::spawn_ai(1); + var_08 thread maps\_utility::player_seek(); +} + +//Function Number: 119 +temp_dog_sfx() +{ + self endon("death"); + for(;;) + { + wait(randomintrange(0,3)); + soundscripts\_snd::snd_message("temp_dog_bark",self); + wait(randomintrange(3,5)); + } +} + +//Function Number: 120 +activate_guy() +{ + self endon("death"); + level waittill("kickoff_street_fight"); + self stopanimscripted(); + self.ignoreall = 0; + self.ignoreme = 0; + self.combatmode = "cover"; + group_wait_seek_player(2,"street_fighters"); +} + +//Function Number: 121 +group_wait_seek_player(param_00,param_01) +{ + for(;;) + { + var_02 = getentarray(param_01,"script_noteworthy"); + if(var_02.size < param_00) + { + maps\_utility::player_seek(); + } + + wait(0.05); + } +} + +//Function Number: 122 +bar_setup() +{ + thread bar_guys_waiting(); + var_00 = getentarray("kva_barcombat_spawner_group","targetname"); + var_01 = getent("nighthawks_vol","targetname"); + common_scripts\utility::flag_wait("move_allies_up_street1"); + foreach(var_03 in var_00) + { + var_04 = var_03 maps\_utility::spawn_ai(); + var_04 setgoalvolumeauto(var_01); + var_04 maps\detroit_lighting::add_enemy_flashlight("flashlight",undefined,undefined,25); + } + + thread bar_guy_check_function(); +} + +//Function Number: 123 +bar_guys_waiting() +{ + common_scripts\utility::flag_wait("move_allies_up_street1"); + thread burke_move_through_alley_cover(); + thread maps\detroit::battle_chatter_on_both(); + var_00 = getent("kva_barcombat_animspawn1","targetname"); + var_01 = getent("kva_barcombat_animspawn2","targetname"); + var_02 = getnode("burke_path_onfoot_01a","targetname"); + var_03 = var_00 maps\_utility::spawn_ai(1); + var_03 maps\detroit_lighting::add_enemy_flashlight("flashlight",undefined,undefined,25); + var_04 = var_01 maps\_utility::spawn_ai(1); + var_04 maps\detroit_lighting::add_enemy_flashlight("flashlight",undefined,undefined,25); + var_03.ignoreall = 1; + var_03.ignoreme = 1; + var_04.ignoreall = 1; + var_04.ignoreme = 1; + common_scripts\utility::flag_wait("hide_and_seek"); + if(isalive(var_03)) + { + var_03.ignoreall = 0; + var_03.ignoreme = 0; + } + + if(isalive(var_04)) + { + var_04.ignoreall = 0; + var_04.ignoreme = 0; + } +} + +//Function Number: 124 +first_guy_looking() +{ + var_00 = getent("alley_spotlight_guy_vol","targetname"); + var_01 = getent("first_cover_streetfight_spotlighter","targetname"); + wait(0.3); + var_02 = var_01 maps\_utility::spawn_ai(1); + var_02 setgoalvolumeauto(var_00); + var_02 endon("death"); + var_02 maps\detroit_lighting::add_enemy_flashlight("flashlight","med"); + var_02 maps\detroit::set_patrol_anim_set("active"); + var_02 maps\_utility::set_moveplaybackrate(1.5); + wait(4); + var_02 thread return_to_normal(); + var_02.ignoreall = 0; + level notify("flashlight_off"); +} + +//Function Number: 125 +return_to_normal() +{ + maps\_utility::clear_generic_idle_anim(); + maps\_utility::set_moveplaybackrate(1); + maps\_utility::clear_run_anim(); + self allowedstances("stand","crouch","prone"); + self.disablearrivals = 0; + self.disableexits = 0; + self stopanimscripted(); + self notify("stop_animmode"); + self notify("flashlight_off"); + self.script_nobark = undefined; +} + +//Function Number: 126 +top_guy_spawn() +{ + level endon("AI_broken_out"); + level endon("searching_alleyway_guy_is_dead"); + var_00 = getent("exterior_investigate_animorg","targetname"); + var_01 = getent("investigation spawner","targetname"); + var_02 = var_01 maps\_utility::spawn_ai(1); + wait 0.05; + var_02.animname = "generic"; + var_02.ignoreall = 1; + var_00 maps\_anim::anim_reach_solo(var_02,"so_hijack_search_flashlight_high_loop_single"); + thread break_out_if_damaged(var_02); + var_02 maps\detroit_lighting::add_enemy_flashlight("flashlight","med"); + var_00 thread maps\_anim::anim_single_solo(var_02,"so_hijack_search_flashlight_high_loop_single"); + wait(2); + if(isalive(var_02)) + { + var_02 notify("flashlight_off"); + var_02.ignoreall = 0; + var_02 stopanimscripted(); + thread spawn_the_rest(); + } +} + +//Function Number: 127 +break_out_if_damaged(param_00) +{ + param_00 endon("death"); + var_01 = param_00.health; + for(;;) + { + if(param_00.health < var_01) + { + wait(0.4); + param_00.ignoreall = 0; + param_00 stopanimscripted(); + level notify("AI_broken_out"); + level notify("searching_alleyway_guy_is_dead"); + self notify("flashlight_off"); + return; + } + + wait(0.05); + } +} + +//Function Number: 128 +spawn_the_rest() +{ +} + +//Function Number: 129 +outside_group_1() +{ + var_00 = getentarray("kva_streetcombat_spawner_group","targetname"); + foreach(var_02 in var_00) + { + var_03 = var_02 maps\_utility::spawn_ai(1); + var_03.goalradius = 15; + var_03 maps\detroit_lighting::add_enemy_flashlight("flashlight",undefined,undefined,25); + } +} + +//Function Number: 130 +outside_group_start_fighting() +{ + level waittill("kickoff_street_fight"); + self stopanimscripted(); + self.ignoreall = 0; + self.ignoreme = 0; +} + +//Function Number: 131 +battle_chatter_check_alley() +{ + level waittill("partner_shot"); + thread maps\detroit::battle_chatter_on_both(); +} + +//Function Number: 132 +burke_move_through_alley_cover() +{ + common_scripts\utility::flag_wait("second_street_alley_r2"); + wait(0.05); + if(isdefined(getent("second_street_alley_r2","targetname"))) + { + maps\_utility::disable_trigger_with_targetname("second_street_alley_r2"); + } + + common_scripts\utility::flag_wait("path_trigger_05"); + wait(0.05); + if(isdefined(getent("path_trigger_05","targetname"))) + { + maps\_utility::disable_trigger_with_targetname("path_trigger_05"); + } + + common_scripts\utility::flag_wait("hide_and_seek"); + thread street_fighters_gone_yet(); + wait(0.05); + if(isdefined(getent("hide_and_seek","targetname"))) + { + maps\_utility::disable_trigger_with_targetname("hide_and_seek"); + } + + common_scripts\utility::flag_wait("bar_interior_trigger"); + common_scripts\utility::flag_set("player_has_entered_the_bar"); + level notify("street_fighting_over"); + thread kill_all_streetfighters(); + wait(0.05); +} + +//Function Number: 133 +street_fighters_gone_yet() +{ + level endon("street_fighting_over"); + for(;;) + { + var_00 = getentarray("street_fighters","script_noteworthy"); + var_00 = maps\_utility::remove_dead_from_array(var_00); + if(var_00.size == 0) + { + var_01 = getnode("burke_inner_barnode","targetname"); + level.burke setgoalnode(var_01); + thread streetfighters_notify(); + return; + } + + wait(0.05); + } +} + +//Function Number: 134 +kill_all_streetfighters() +{ + var_00 = getentarray("street_fighters","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 thread random_bloody_death(0.5); + } +} + +//Function Number: 135 +streetfighters_notify() +{ + common_scripts\utility::flag_set("move_allies_up_street1"); + common_scripts\utility::flag_set("second_street_alley_r2"); + common_scripts\utility::flag_set("path_trigger_05"); + common_scripts\utility::flag_set("hide_and_seek"); +} + +//Function Number: 136 +barfighters_notify() +{ + common_scripts\utility::flag_set("move_allies_up_street1"); + common_scripts\utility::flag_set("second_street_alley_r2"); + common_scripts\utility::flag_set("path_trigger_05"); + common_scripts\utility::flag_set("hide_and_seek"); + if(isdefined(getent("bar_interior_trigger","targetname")) && !isdefined(getent("bar_interior_trigger","targetname").trigger_off)) + { + maps\_utility::activate_trigger_with_targetname("bar_interior_trigger"); + } + + common_scripts\utility::flag_set("bar_interior_trigger"); + wait(0.05); +} + +//Function Number: 137 +guy1_reach_wait() +{ + self endon("death"); + level endon("partner_shot"); + var_00 = getent("soldiers_outside_kickoff_talking","targetname"); + self waittill("goal"); + self notify("flashlight_off"); + self.allowdeath = 1; + var_00 thread maps\_anim::anim_loop_solo(self,"talking_guard_1","guards_stop_talking"); +} + +//Function Number: 138 +guy2_reach_wait() +{ + self endon("death"); + level endon("partner_shot"); + var_00 = getent("soldiers_outside_kickoff_talking_2","targetname"); + self waittill("goal"); + self notify("flashlight_off"); + var_00 thread maps\_anim::anim_loop_solo(self,"talking_guard_2","guards_stop_talking"); +} + +//Function Number: 139 +setup_guy_for_animation(param_00,param_01,param_02,param_03) +{ + if(isdefined(self)) + { + self.animname = "generic"; + if(param_00 == 1) + { + self.ignoreall = 1; + } + + if(param_01 == 1) + { + self.ignoreme = 1; + } + + self.goalradius = 15; + if(param_02 == 1) + { + maps\detroit_lighting::add_enemy_flashlight("flashlight","med"); + } + + if(param_03 == 1) + { + maps\detroit::set_patrol_anim_set("active"); + } + + if(param_03 == 0) + { + maps\detroit::set_patrol_anim_set("gundown"); + } + } +} + +//Function Number: 140 +setup_animated_guy() +{ + if(isdefined(self)) + { + self.animname = "generic"; + self.ignoreall = 1; + self.goalradius = 15; + maps\_utility::set_moveplaybackrate(0.8); + } +} + +//Function Number: 141 +spawn_street_train(param_00) +{ + if(!common_scripts\utility::flag("hospital_escape_trains_only")) + { + var_01 = getent("street_train1_path_start","targetname"); + var_02 = getentarray("street_train1_path","targetname"); + var_03 = maps\detroit_exit_drive::run_train(var_01,var_02,param_00); + var_03 waittill("death"); + } +} + +//Function Number: 142 +spawn_reverse_street_train(param_00) +{ + if(!common_scripts\utility::flag("hospital_escape_trains_only")) + { + var_01 = getent("street_train2_path_start","targetname"); + var_02 = getentarray("school_train2_path","targetname"); + var_03 = maps\detroit_exit_drive::run_train(var_01,var_02,param_00); + var_03 waittill("death"); + } +} + +//Function Number: 143 +initiate_exo_push_on_sniperguys_dead() +{ + level endon("stop_tracking_sniperguys"); + common_scripts\utility::flag_wait("start_tracking_sniper_deaths"); + var_00 = getentarray("sniper_setup_guy","script_noteworthy"); + maps\_utility::waittill_dead_or_dying(var_00); + maps\_utility::activate_trigger_with_targetname("runto_exo_start_trigger"); + level notify("time to stop shooting the roof"); + level notify("time to stop shooting the ambulance"); + common_scripts\utility::flag_set("window_ambush_flag"); +} + +//Function Number: 144 +initiate_exo_push_on_player_advance() +{ + common_scripts\utility::flag_wait("exo_push_spawner_scaffolding_trigger"); + level notify("stop_tracking_sniperguys"); + maps\_utility::activate_trigger_with_targetname("runto_exo_start_trigger"); + level notify("time to stop shooting the roof"); + level notify("time to stop shooting the ambulance"); + common_scripts\utility::flag_set("window_ambush_flag"); +} + +//Function Number: 145 +second_floor_snipers() +{ + var_00 = getentarray("sniper_setup_spawner","targetname"); + common_scripts\utility::flag_wait("spawn_second_floor_spawners"); + foreach(var_02 in var_00) + { + var_03 = var_02 maps\_utility::spawn_ai(); + if(isalive(var_03)) + { + var_03.custom_laser_function = ::detroit_laser; + var_03 thread maps\_utility::disable_long_death(); + var_03 thread kill_when_player_reaches_overhang(); + var_03 thread kill_off_inside_guy(); + } + } +} + +//Function Number: 146 +kill_all_inside_guys_now() +{ + common_scripts\utility::flag_wait("begin_spawning_troops_hospital"); + var_00 = getentarray("inside_guy_killme","script_noteworthy"); + var_00 = maps\_utility::array_removedead(var_00); + foreach(var_02 in var_00) + { + if(isalive(var_02)) + { + var_02 kill(); + } + } + + var_04 = getnode("gideon_cheat_teleport_spot","targetname"); + var_05 = getnode("kva_at_window_guy1_cover1","targetname"); + var_06 = getent("gideon_outside_check_vol","targetname"); + if(distance2d(level.burke.origin,var_05.origin) > 400) + { + if(level.burke istouching(var_06)) + { + return; + } + + level.burke maps\_utility::teleport_ai(var_04); + var_07 = getnode("burke_rendezvous_animnode","targetname"); + level.burke setgoalnode(var_07); + } +} + +//Function Number: 147 +kill_when_player_reaches_overhang() +{ + self endon("death"); + common_scripts\utility::flag_wait("move_burke_down"); + wait(randomfloatrange(1.2,2.4)); + maps\detroit::bloody_death(); +} + +//Function Number: 148 +detroit_laser() +{ + self laseron("lag_snipper_laser"); +} + +//Function Number: 149 +last_guy_in_group() +{ + common_scripts\utility::flag_wait("start_tracking_sniper_deaths"); + var_00 = getentarray("sniper_setup_guy","script_noteworthy"); + var_01 = []; + for(;;) + { + foreach(var_03 in var_00) + { + if(isalive(var_03)) + { + var_01[var_01.size] = var_03; + } + } + + if(var_01.size == 1) + { + common_scripts\utility::flag_set("move_to_be_killed"); + var_01 = maps\_utility::remove_dead_from_array(var_01); + var_01[0] thread move_to_death_spot(); + return; + } + + var_01 = []; + wait(0.5); + } +} + +//Function Number: 150 +move_to_death_spot() +{ + self endon("death"); + wait(randomfloatrange(0.2,0.8)); + var_00 = getnode("last_node_to_hide","targetname"); + self.ignoreall = 1; + self.goalradius = 15; + thread kill_me_in_x_seconds(5); + self setgoalnode(var_00); + self waittill("goal"); + self.ignoreall = 0; +} + +//Function Number: 151 +kill_me_in_x_seconds(param_00) +{ + wait(param_00); + if(isalive(self)) + { + maps\detroit::bloody_death(); + } +} + +//Function Number: 152 +begin_exo_push(param_00) +{ + common_scripts\utility::flag_wait_any("ok_to_start_exo_push","exo_push_spawner_scaffolding_trigger"); + level.burke thread maps\_utility::disable_cqbwalk(); + if(!isdefined(param_00)) + { + param_00 = 0; + } + + soundscripts\_snd::snd_message("begin_exo_push"); + thread begin_spawnning_exo_spawners(); + thread back_line_of_fire(); + thread second_line_of_fire(); + thread stage1_ambush(); + thread stage2_ambush(); + thread bloody_death_all_survivors(); + thread back_fake_bullets(); + thread end_ambulance_anim_early(); + thread exo_push_hospital_callout(); + thread player_is_pushing_rumble(); + common_scripts\utility::flag_set("obj_exo_push_give"); + var_01 = getent("exo_push_ambulance","targetname"); + level.truck = var_01; + var_02 = getent("exo_push_first_animorg","targetname"); + playfxontag(common_scripts\utility::getfx("det_exo_push_sparks"),var_01,"TAG_WHEEL_FRONT_RIGHT"); + var_01 thread truck_distance_to_end(); + var_03 = getent("exo_push_player_trigger","targetname"); + var_04 = getent("exo_push_team_goalorg_joker","targetname"); + var_05 = getent("exo_push_team_goalorg_bones","targetname"); + var_06 = getent("exo_push_team_goalorg_burke","targetname"); + var_03 enablelinkto(); + var_03 linkto(var_01,"tag_origin",(-140,-40,30),(0,0,0)); + thread exo_push_think_burke(var_01,var_02,param_00); + thread exo_push_think_truck(var_01,var_02); + var_07 = maps\_utility::spawn_anim_model("world_body",level.player.origin); + var_01 maps\_anim::anim_first_frame_solo(var_07,"exo_push_attach","tag_driver"); + var_07 linkto(var_01,"tag_driver"); + var_07 hide(); + level.burke maps\_utility::set_ignoresuppression(1); + level.burke maps\_utility::disable_pain(); + level.joker maps\_utility::set_ignoresuppression(1); + level.joker maps\_utility::disable_pain(); + level.bones maps\_utility::set_ignoresuppression(1); + level.bones maps\_utility::disable_pain(); + var_08 = 1; + while(!common_scripts\utility::flag("exo_push_arrived")) + { + if(!common_scripts\utility::flag("exo_push_burke_attaching")) + { + common_scripts\utility::flag_wait("exo_push_burke_attaching"); + wait(3.5); + } + + var_03 sethintstring(&"DETROIT_PROMPT_PUSH"); + var_03 makeusable(); + var_03 thread disable_me_when_exopush_finished(); + var_03 waittill("trigger"); + common_scripts\utility::flag_set("exo_push_has_been_started"); + var_09 = 0.5; + var_07 hide(); + level.player playerlinktoblend(var_07,"tag_player",var_09,0.25,0.25); + var_03 makeunusable(); + var_03 sethintstring(""); + level.player maps\_shg_utility::setup_player_for_scene(1); + var_07 show(); + common_scripts\utility::flag_set("exo_push_player_attached"); + soundscripts\_snd::snd_message("ambulance_push_attach","exo_push_player_attached"); + var_01 setanimrestart(var_01 maps\_utility::getanim("exo_push_attach")); + var_01 maps\_anim::anim_single_solo(var_07,"exo_push_attach","tag_driver"); + var_01 clearanim(var_01 maps\_utility::getanim("exo_push_attach"),0.2); + var_01 setanimrestart(var_01 maps\_utility::getanim("exo_push_idle")[0]); + common_scripts\utility::flag_set("exo_push_should_idle"); + thread exo_push_think_player_attached(var_01,var_07); + while(common_scripts\utility::flag("exo_push_should_idle") || common_scripts\utility::flag("exo_push_should_push")) + { + var_0A = level.player getnormalizedmovement()[0]; + if(level.player usebuttonpressed()) + { + common_scripts\utility::flag_set("exo_push_should_push"); + common_scripts\utility::flag_set("van_pushed_atlaest_once"); + common_scripts\utility::flag_clear("exo_push_should_idle"); + var_01 soundscripts\_snd::snd_message("ambulance_push_active"); + } + else + { + common_scripts\utility::flag_clear("exo_push_should_push"); + common_scripts\utility::flag_clear("exo_push_should_idle"); + var_01 soundscripts\_snd::snd_message("ambulance_push_step_away"); + common_scripts\utility::flag_clear("aud_ambulance_pushing"); + } + + if(common_scripts\utility::flag("exo_push_arrived") || !isalive(level.player)) + { + common_scripts\utility::flag_clear("exo_push_should_push"); + common_scripts\utility::flag_clear("exo_push_should_idle"); + var_01 soundscripts\_snd::snd_message("ambulance_push_sequence_end"); + common_scripts\utility::flag_clear("aud_ambulance_pushing"); + break; + } + + wait(0.05); + } + + common_scripts\utility::flag_clear("exo_push_player_attached"); + level.player common_scripts\utility::delaycall(0.25,::enableweapons); + var_01 maps\_anim::anim_single_solo(var_07,"exo_push_detach","tag_driver"); + level.player unlink(); + var_0B = getgroundposition(level.player.origin,16)[2] - level.player.origin[2]; + if(var_0B > 1) + { + level.player setorigin(level.player.origin + (0,0,var_0B)); + } + + level.player maps\_shg_utility::setup_player_for_gameplay(); + var_07 hide(); + } + + common_scripts\utility::flag_set("vo_exo_push_entry_point"); + level.burke maps\_utility::set_ignoresuppression(0); + level.burke maps\_utility::enable_pain(); + level.joker maps\_utility::set_ignoresuppression(0); + level.joker maps\_utility::enable_pain(); + level.bones maps\_utility::set_ignoresuppression(0); + level.bones maps\_utility::enable_pain(); + var_03 delete(); + var_07 delete(); +} + +//Function Number: 153 +disable_me_when_exopush_finished() +{ + while(isdefined(self)) + { + common_scripts\utility::flag_wait("exo_push_arrived"); + self makeunusable(); + return; + } +} + +//Function Number: 154 +on_alert_chase_player() +{ + while(isalive(self)) + { + level waittill("chase_the_player_now"); + iprintlnbold("Time to fight the player nowc"); + self setgoalpos(level.player.origin); + return; + } +} + +//Function Number: 155 +on_alert_notify_level() +{ + while(isalive(self)) + { + common_scripts\utility::waittill_any("_stealth_spotted","damage","alert"); + level notify("chase_the_player_now"); + iprintlnbold("I am alert"); + return; + } +} + +//Function Number: 156 +player_is_pushing_rumble() +{ + for(;;) + { + if(common_scripts\utility::flag("exo_push_arrived")) + { + return; + } + + if(common_scripts\utility::flag("exo_push_should_push")) + { + var_00 = level.player maps\_utility::get_rumble_ent("steady_rumble"); + var_00 maps\_utility::set_rumble_intensity(0.24); + while(common_scripts\utility::flag("exo_push_should_push")) + { + wait(0.05); + } + + var_00 stoprumble("steady_rumble"); + var_00 delete(); + } + + wait(0.05); + } +} + +//Function Number: 157 +exo_push_hospital_callout() +{ + common_scripts\utility::flag_wait("exo_push_arrived"); + common_scripts\utility::flag_set("vo_exo_push_entry_point"); +} + +//Function Number: 158 +end_the_exopush_even_if_never_pushed() +{ + common_scripts\utility::flag_wait("exo_push_arrived"); + if(!common_scripts\utility::flag("van_pushed_atlaest_once")) + { + level.burke stopanimscripted(); + } +} + +//Function Number: 159 +ambulance_objective_update() +{ + common_scripts\utility::flag_wait("office_ambulance_reached"); + common_scripts\utility::flag_set("obj_rendezvous_joker_complete"); +} + +//Function Number: 160 +ambulance_firstframe_function() +{ + if(level.currentgen && !issubstr(level.transient_zone,"middle")) + { + level waittill("tff_post_intro_to_middle"); + } + + var_00 = getent("exo_push_ambulance","targetname"); + var_01 = ["tag_rooflight_tkl","tag_rooflight_tkr","tag_rooflight_tl","tag_rooflight_tr","tag_siren_f","tag_roof"]; + var_02 = ["tag_rooflight_tkl_d","tag_rooflight_tkr_d","tag_rooflight_tl_d","tag_rooflight_tr_d","tag_siren_f_d","tag_roof_d"]; + foreach(var_04 in var_02) + { + var_00 hidepart(var_04); + } + + var_06 = getent("exo_push_first_animorg","targetname"); + var_00.animname = "ambulance"; + var_00 maps\_utility::assign_animtree(); + var_00 setcandamage(1); + for(var_07 = 0;var_07 < 4;var_07++) + { + var_00 thread ambulance_part_monitor(var_01[var_07],var_02[var_07],100); + } + + var_00 thread ambulance_part_monitor(var_01[4],var_02[4],200); + var_00 thread ambulance_part_monitor(var_01[5],var_02[5],500,1); + var_00 thread ambulance_max_health(); + var_00.health = 10000; + var_08 = getent("exo_brush_clip_nosight","targetname"); + var_08 linkto(var_00,"tag_driver"); + var_09 = getent("exo_push_team_goalorg_joker","targetname"); + var_0A = getent("exo_push_team_goalorg_bones","targetname"); + var_0B = getent("exo_push_team_goalorg_burke","targetname"); + var_00 thread exo_objective_use_prompt(); + var_0A linkto(var_00,"tag_origin"); + var_09 linkto(var_00,"tag_origin"); + var_0B linkto(var_00,"tag_origin"); + var_0C = getentarray("exopush_shooter_org_target","targetname"); + foreach(var_0E in var_0C) + { + var_0E linkto(var_00,"tag_origin"); + } + + var_06 thread maps\_anim::anim_first_frame_solo(var_00,"exo_push_burke_attach"); + common_scripts\utility::flag_set("ok_to_start_exo_push"); +} + +//Function Number: 161 +exo_objective_use_prompt() +{ + common_scripts\utility::flag_wait("send_bones_joker_to_cover1"); + var_00 = getent("exo_push_player_trigger","targetname"); + var_01 = level.truck.origin; + var_01 = var_01 + level.truck_org_cords; + var_00.origin = var_01; + var_02 = getent("exo_push_ambulance","targetname"); + var_03 = var_02.origin + level.truck_org_cords; + var_04 = var_00 maps\_shg_utility::hint_button_position("use",var_03,undefined,200,undefined,var_00); + var_04 thread close_me_when_exopush_over(); + maps\_shg_design_tools::waittill_trigger_with_name("exo_push_player_trigger"); + if(isdefined(var_04)) + { + var_04 maps\_shg_utility::hint_button_clear(); + } +} + +//Function Number: 162 +close_me_when_exopush_over() +{ + while(isdefined(self)) + { + common_scripts\utility::flag_wait("exo_push_arrived"); + if(isdefined(self)) + { + maps\_shg_utility::hint_button_clear(); + } + } +} + +//Function Number: 163 +ambulance_part_monitor(param_00,param_01,param_02,param_03) +{ + self endon("death"); + for(;;) + { + self waittill("damage",var_04,var_05,var_06,var_07,var_08,var_09,var_0A,var_0B); + if(isdefined(param_03) && param_03) + { + if(damage_is_explosive(var_08)) + { + ambulance_damage_part(param_00,param_01); + return; + } + + continue; + } + + if(var_0B == param_00 || var_0B == param_01) + { + param_02 = param_02 - var_04; + } + + if(param_02 <= 0) + { + ambulance_damage_part(param_00,param_01); + return; + } + } +} + +//Function Number: 164 +ambulance_max_health() +{ + for(;;) + { + self waittill("damage",var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07); + self.health = self.maxhealth; + } +} + +//Function Number: 165 +damage_is_explosive(param_00) +{ + param_00 = tolower(param_00); + switch(param_00) + { + case "splash": + case "mod_explosive": + case "mod_projectile_splash": + case "mod_projectile": + case "mod_grenade_splash": + case "mod_grenade": + return 1; + + default: + return 0; + } +} + +//Function Number: 166 +ambulance_damage_part(param_00,param_01) +{ + self hidepart(param_00); + self showpart(param_01); +} + +//Function Number: 167 +second_line_of_fire() +{ + common_scripts\utility::flag_wait("begin_spawning_troops_hospital"); + level endon("stop_spawning_second_line_guys"); + var_00 = "second_line_of_fire"; + level.secondguysalive = 0; + level.secondguys_total = 9; + for(var_01 = 0;var_01 < 2;var_01++) + { + wait(randomfloat(3)); + spawn_a_second_line_guy(var_00); + } +} + +//Function Number: 168 +spawn_a_second_line_guy(param_00) +{ + level endon("stop_second_line_spawner"); + if(common_scripts\utility::flag("exo_push_arrived")) + { + return; + } + + if(level.secondguys_total <= 0) + { + common_scripts\utility::flag_set("secondline_guys_killed"); + level notify("stop_second_line_spawner"); + return; + } + + if(!common_scripts\utility::flag("send_bones_joker_to_cover1")) + { + var_01 = getent("exo_push_spawner_hospital","targetname"); + var_01.count = 1; + var_02 = getent("exo_push_secondline_vol","targetname"); + wait(randomfloat(1.1)); + var_03 = var_01 maps\_utility::spawn_ai(1); + if(isalive(var_03)) + { + level.secondguysalive++; + level.secondguys_total--; + var_03.radius = 15; + var_03 thread accuracy_fake_function(); + var_03.grenadeammo = 0; + var_03.meleeattackdist = 0; + var_03 setgoalvolumeauto(var_02); + var_03 thread secondline_alive_check(param_00); + var_03 thread seekplayercheck(); + var_03 thread secondline_flee_check(); + var_03 maps\detroit_lighting::add_enemy_flashlight("flashlight",undefined,undefined,25); + var_03 thread kill_me_on_flag("exo_push_phase1_complete"); + } + } + + if(common_scripts\utility::flag("send_bones_joker_to_cover1")) + { + var_01 = getent("exo_push_spawner_hospital","targetname"); + var_01.count = 1; + var_02 = getent("secondline_last_volume","targetname"); + wait(randomfloat(1.1)); + var_03 = var_01 maps\_utility::spawn_ai(1); + if(isalive(var_03)) + { + level.secondguysalive++; + level.secondguys_total--; + var_03.radius = 15; + var_03 thread accuracy_fake_function(); + var_03.grenadeammo = 0; + var_03.meleeattackdist = 0; + var_03 setgoalvolumeauto(var_02); + var_03 thread secondline_alive_check(param_00); + var_03 thread seekplayercheck(); + var_03 thread secondline_flee_check(); + var_03 maps\detroit_lighting::add_enemy_flashlight("flashlight",undefined,undefined,25); + var_03 thread kill_me_on_flag("exo_push_phase1_complete"); + } + } +} + +//Function Number: 169 +kill_me_on_flag(param_00) +{ + self endon("death"); + common_scripts\utility::flag_wait(param_00); + wait(randomfloatrange(0.3,0.8)); + if(isalive(self)) + { + maps\detroit::bloody_death(); + } +} + +//Function Number: 170 +truck_distance_to_end() +{ + var_00 = getnode("joker_hospital","targetname"); + var_01 = 1; + var_02 = 1; + while(var_01 == 1) + { + var_03 = distance2d(self.origin,var_00.origin); + if(var_03 < 900) + { + common_scripts\utility::flag_set("send_exopush_secondline_into_hospital"); + var_01 = 0; + } + + wait(1); + } + + while(var_02 == 1) + { + var_03 = distance2d(self.origin,var_00.origin); + if(var_03 < 600) + { + common_scripts\utility::flag_set("send_exopush_guys_into_hospital"); + var_02 = 0; + return; + } + + wait(1); + } +} + +//Function Number: 171 +seekplayercheck() +{ + wait(randomfloatrange(12,18)); + if(isalive(self)) + { + var_00 = randomint(3); + if(var_00 > 1) + { + maps\_utility::player_seek(); + } + } +} + +//Function Number: 172 +secondline_alive_check(param_00) +{ + level endon("stop_spawning_second_line_guys"); + self waittill("death"); + level.secondguysalive--; + if(!common_scripts\utility::flag("exo_push_phase2_complete")) + { + wait(randomfloat(4)); + if(!common_scripts\utility::flag("exo_push_phase2_complete")) + { + thread spawn_a_second_line_guy(param_00); + } + } +} + +//Function Number: 173 +back_line_of_fire() +{ + common_scripts\utility::flag_wait("begin_spawning_troops_hospital"); + level endon("stop_spawning_backline_guys"); + var_00 = "back_line_of_fire"; + level.backlineguysalive = 0; + level.backlineguys_total = 11; + for(var_01 = 0;var_01 < 5;var_01++) + { + spawn_a_backline_guy(var_00); + } +} + +//Function Number: 174 +spawn_a_backline_guy(param_00) +{ + if(!common_scripts\utility::flag("exo_push_arrived")) + { + var_01 = getent("exo_push_spawner_hospital","targetname"); + var_01.count = 1; + var_02 = getent("back_lineoffire_vol","targetname"); + wait(randomfloat(1.1)); + var_03 = var_01 maps\_utility::spawn_ai(1); + if(level.backlineguys_total <= 0) + { + common_scripts\utility::flag_set("backline_guys_alldead"); + return; + } + + if(isalive(var_03)) + { + level.backlineguysalive++; + level.backlineguys_total--; + var_03.grenadeammo = 0; + var_03.meleeattackdist = 0; + var_03 thread accuracy_fake_function(); + var_03.radius = 15; + var_03 setgoalvolumeauto(var_02); + var_03 maps\detroit_lighting::add_enemy_flashlight("flashlight",undefined,undefined,25); + var_03 thread backline_alive_check(param_00); + var_03 thread backline_flee_check(); + } + } +} + +//Function Number: 175 +stage1_ambush() +{ + var_00 = getent("exo_push_spawner_hospital_ambush_ar","targetname"); + common_scripts\utility::flag_wait("exo_push_phase1_complete"); + for(var_01 = 0;var_01 < 1;var_01++) + { + var_00.count = 1; + var_02 = var_00 maps\_utility::spawn_ai(1); + if(isalive(var_02)) + { + var_02.grenadeammo = 0; + var_02.meleeattackdist = 0; + var_02 thread accuracy_fake_function(); + var_02 thread maps\_utility::player_seek(); + var_02 maps\detroit_lighting::add_enemy_flashlight("flashlight",undefined,undefined,25); + wait(randomfloatrange(0.5,2)); + } + } +} + +//Function Number: 176 +stage2_ambush() +{ + var_00 = getent("exo_push_spawner_hospital_alcove","targetname"); + common_scripts\utility::flag_wait("exo_push_phase2_complete"); + for(var_01 = 0;var_01 < 2;var_01++) + { + var_00.count = 1; + var_02 = var_00 maps\_utility::spawn_ai(1); + var_02 thread maps\_utility::player_seek(); + var_02 thread accuracy_fake_function(); + var_02 maps\detroit_lighting::add_enemy_flashlight("flashlight",undefined,undefined,25); + wait(randomfloatrange(0.5,2)); + } +} + +//Function Number: 177 +backline_flee_check() +{ + self endon("death"); + var_00 = getent("hospital_fight_goal1","targetname"); + common_scripts\utility::flag_wait_any("exo_push_arrived","send_exopush_guys_into_hospital"); + if(isalive(self)) + { + self setgoalvolumeauto(var_00); + thread exopush_end_flee(); + self waittill("goal"); + } + + if(isdefined(self)) + { + maps\detroit::bloody_death(randomint(2)); + } +} + +//Function Number: 178 +secondline_flee_check() +{ + self endon("death"); + var_00 = getent("hospital_fight_goal1","targetname"); + for(;;) + { + if(common_scripts\utility::flag("send_exopush_secondline_into_hospital")) + { + if(isdefined(self)) + { + var_01 = randomint(3); + self cleargoalvolume(); + self setgoalvolumeauto(var_00); + self.ignoreall = 1; + thread player_close_disable_ignore_check(); + thread exopush_end_flee(); + self waittill("goal"); + if(isdefined(self)) + { + maps\detroit::bloody_death(var_01); + } + } + } + + wait(0.05); + } +} + +//Function Number: 179 +player_close_disable_ignore_check() +{ + while(isalive(self)) + { + if(distance(level.player.origin,self.origin) < 400) + { + self.ignoreall = 0; + return; + } + + wait(0.05); + } +} + +//Function Number: 180 +exopush_end_fight() +{ + wait(randomfloat(2)); + var_00 = randomint(3); + if(isdefined(self)) + { + maps\detroit::bloody_death(var_00); + } +} + +//Function Number: 181 +exopush_end_flee() +{ + wait(randomfloat(2)); + if(isdefined(self)) + { + thread player_close_disable_ignore_check(); + self.ignoreall = 1; + } +} + +//Function Number: 182 +backline_alive_check(param_00) +{ + self waittill("death"); + level.backlineguysalive--; + if(!common_scripts\utility::flag("exo_push_phase2_complete")) + { + wait(randomfloat(4)); + if(!common_scripts\utility::flag("exo_push_phase2_complete")) + { + thread spawn_a_backline_guy(param_00); + } + } +} + +//Function Number: 183 +spawn_preplaced_guys() +{ + thread spawn_hospital_roof_guys(); + thread spawn_back_left_scaffold_guys(); +} + +//Function Number: 184 +spawn_hospital_roof_guys() +{ + level.hospitalroofguys = 0; + var_00 = getentarray("exo_push_spawner_roof","targetname"); + var_01 = getent("roof_1_vol","targetname"); + var_02 = getent("roof_2_vol","targetname"); + foreach(var_04 in var_00) + { + var_04.count = 1; + var_05 = var_04 maps\_utility::spawn_ai(1); + if(isalive(var_05)) + { + var_05.radius = 15; + var_05 thread accuracy_fake_function(); + var_05.grenadeammo = 0; + var_05.meleeattackdist = 0; + level.hospitalroofguys++; + var_05 setgoalvolumeauto(var_01); + var_05 maps\detroit_lighting::add_enemy_flashlight("flashlight",undefined,undefined,25); + wait(randomint(4)); + } + } +} + +//Function Number: 185 +spawn_back_left_scaffold_guys() +{ + var_00 = getentarray("exo_push_inplace_spawner_scaffold_left_back","targetname"); + foreach(var_02 in var_00) + { + var_03 = var_02 maps\_utility::spawn_ai(1); + if(isalive(var_03)) + { + var_03.radius = 15; + var_03 maps\detroit_lighting::add_enemy_flashlight("flashlight",undefined,undefined,25); + var_03.grenadeammo = 0; + var_03.meleeattackdist = 0; + var_03 thread accuracy_fake_function(); + } + } +} + +//Function Number: 186 +accuracy_fake_function() +{ + self endon("death"); + var_00 = self.accuracy; + for(;;) + { + if(common_scripts\utility::flag("exo_push_should_push")) + { + if(self.accuracy <= 0.5) + { + break; + } + + var_01 = var_00 - randomfloatrange(0.1,0.3); + if(var_01 <= 0) + { + var_01 = 0.1; + } + + self.accuracy = var_01; + } + else if(common_scripts\utility::flag("exo_push_should_idle")) + { + self.accuracy = var_00; + } + + if(distance2d(self.origin,level.player.origin) > 400) + { + self.accuracy = 0.02; + } + + if(distance2d(self.origin,level.player.origin) < 400) + { + self.accuracy = 0.6; + } + + wait(0.05); + } +} + +//Function Number: 187 +exo_push_think_joker(param_00,param_01) +{ + var_02 = getnode("joker_cover_exo_wait spot","targetname"); + level.joker setgoalnode(var_02); + common_scripts\utility::flag_wait("exo_push_has_been_started"); + level.joker thread maps\_utility::set_grenadeammo(0); + var_03 = getent("exo_push_team_goalorg_joker","targetname"); + level.joker.goalradius = 5; + level.joker setgoalpos(var_03.origin); + for(;;) + { + if(common_scripts\utility::flag("exo_push_phase1_complete")) + { + return; + } + + if(distance2d(level.joker.origin,var_03.origin) > 30) + { + level.joker setgoalpos(var_03.origin); + level.joker.ignoreme = 1; + } + + wait(1); + } +} + +//Function Number: 188 +stop_animating_when_exopush_over() +{ + common_scripts\utility::flag_wait("exo_push_arrived"); + level notify("stop_vo_for_exo_push"); + self notify("exo_push_burke_wait_ender"); +} + +//Function Number: 189 +burke_exo_push_wait() +{ + thread maps\_anim::anim_loop_solo(level.burke,"exo_push_burke_wait","exo_push_burke_wait_ender","tag_walker3"); + common_scripts\utility::flag_wait("exo_push_arrived"); + self notify("exo_push_burke_wait_ender"); +} + +//Function Number: 190 +exo_push_think_burke(param_00,param_01,param_02) +{ + level endon("stop_vo_for_exo_push"); + if(!isdefined(param_02)) + { + param_02 = 0; + } + + var_03 = getent("exo_push_team_goalorg_burke","targetname"); + thread move_team_towards_hospital(); + thread exo_push_over_default_values(); + thread burke_exo_push_end_early(param_00); + var_03 thread stop_animating_when_exopush_over(); + common_scripts\utility::flag_set("kill_the_two_guys_by_ambulance"); + if(param_02 == 0) + { + param_01 maps\_anim::anim_reach_solo(level.burke,"exo_push_burke_attach"); + } + + common_scripts\utility::flag_set("exo_push_burke_attaching"); + thread set_flag_on_burke_wave_to_ambulance(); + param_01 maps\_anim::anim_single_solo(level.burke,"exo_push_burke_attach"); + level.burke linkto(param_00,"tag_walker3"); + param_00 thread burke_exo_push_wait(); + common_scripts\utility::flag_wait("exo_push_player_attached"); + level.burke thread maps\_utility::set_grenadeammo(0); + param_00 notify("exo_push_burke_wait_ender"); + for(;;) + { + common_scripts\utility::flag_wait_any("exo_push_should_push","exo_push_should_idle","exo_push_arrived"); + if(common_scripts\utility::flag("exo_push_arrived")) + { + break; + } + + level.burke linkto(param_00,"tag_walker3"); + for(;;) + { + if(common_scripts\utility::flag("exo_push_should_push")) + { + level.joker allowedstances("crouch","stand","prone"); + level.bones allowedstances("crouch","stand","prone"); + param_00 thread maps\_anim::anim_loop_solo(level.burke,"exo_push_loop","burke_ender","tag_walker3"); + common_scripts\utility::flag_waitopen("exo_push_should_push"); + param_00 notify("burke_ender"); + continue; + } + + if(common_scripts\utility::flag("exo_push_should_idle")) + { + param_00 thread maps\_anim::anim_loop_solo(level.burke,"exo_push_idle","burke_ender","tag_walker3"); + common_scripts\utility::flag_waitopen("exo_push_should_idle"); + param_00 notify("burke_ender"); + continue; + } + + level.burke.goalradius = 40; + level.burke setgoalpos(var_03.origin); + level.bones.ignoreme = 0; + level.joker.ignoreme = 0; + level.joker allowedstances("crouch"); + level.bones allowedstances("crouch"); + break; + } + + level.burke unlink(); + level.burke stopanimscripted(); + } + + var_04 = getent("burke_grenade_location","targetname"); +} + +//Function Number: 191 +burke_exo_push_end_early(param_00) +{ + common_scripts\utility::flag_wait("exo_push_arrived"); + level.burke unlink(); + level.burke stopanimscripted(); + param_00 notify("burke_ender"); +} + +//Function Number: 192 +exo_push_over_default_values() +{ + common_scripts\utility::flag_wait("exo_push_arrived"); + level.joker allowedstances("crouch","stand","prone"); + level.bones allowedstances("crouch","stand","prone"); +} + +//Function Number: 193 +set_flag_on_burke_wave_to_ambulance() +{ + wait(6.4); + common_scripts\utility::flag_set("send_bones_joker_to_cover1"); +} + +//Function Number: 194 +exo_push_think_bones(param_00,param_01) +{ + common_scripts\utility::flag_wait("exo_push_has_been_started"); + thread maps\_utility::set_grenadeammo(0); + var_02 = getent("exo_push_team_goalorg_bones","targetname"); + var_03 = getent("exo_push_team_goalorg_joker","targetname"); + level.bones.goalradius = 5; + for(;;) + { + if(common_scripts\utility::flag("exo_push_phase1_complete")) + { + return; + } + + wait(1); + level.bones setgoalpos(var_02.origin); + level.bones.ignoreme = 1; + } +} + +//Function Number: 195 +exo_push_think_player_attached(param_00,param_01) +{ + for(;;) + { + if(common_scripts\utility::flag("exo_push_should_push")) + { + param_00 clearanim(param_00 maps\_utility::getanim("exo_push_idle")[0],0.2); + param_00 setanimrestart(param_00 maps\_utility::getanim("exo_push_idle_to_loop")); + param_00 maps\_anim::anim_single_solo(param_01,"exo_push_idle_to_loop","tag_driver"); + param_00 clearanim(param_00 maps\_utility::getanim("exo_push_idle_to_loop"),0.2); + param_00 setanimrestart(param_00 maps\_utility::getanim("exo_push_loop")[0]); + param_00 thread maps\_anim::anim_loop_solo(param_01,"exo_push_loop","player_ender","tag_driver"); + common_scripts\utility::flag_waitopen("exo_push_should_push"); + param_00 notify("player_ender"); + param_00 clearanim(param_00 maps\_utility::getanim("exo_push_loop")[0],0.2); + param_00 setanimrestart(param_00 maps\_utility::getanim("exo_push_loop_to_idle")); + if(isdefined(param_01)) + { + param_00 maps\_anim::anim_single_solo(param_01,"exo_push_loop_to_idle","tag_driver"); + } + + param_00 clearanim(param_00 maps\_utility::getanim("exo_push_loop_to_idle"),0.2); + param_00 setanimrestart(param_00 maps\_utility::getanim("exo_push_idle")[0]); + continue; + } + + if(common_scripts\utility::flag("exo_push_should_idle")) + { + param_00 thread maps\_anim::anim_loop_solo(param_01,"exo_push_idle","player_ender","tag_driver"); + common_scripts\utility::flag_waitopen("exo_push_should_idle"); + param_00 notify("player_ender"); + continue; + } + + break; + } +} + +//Function Number: 196 +end_ambulance_anim_early() +{ + common_scripts\utility::flag_wait("exo_push_arrived"); + level notify("stop_moving_ambulance_now"); + wait(0.3); + level.truck stopanimscripted(); +} + +//Function Number: 197 +exo_push_think_truck(param_00,param_01) +{ + level endon("stop_moving_ambulance_now"); + param_00.animname = "ambulance"; + param_00 maps\_utility::assign_animtree(); + var_02 = getent("exo_brush_clip_nosight","targetname"); + param_00 thread exopush_stage_manager(); + common_scripts\utility::flag_wait("exo_push_burke_attaching"); + param_01 maps\_anim::anim_single_solo(param_00,"exo_push_burke_attach"); + param_00 thread exo_push_play_truck_idle_at_end_of_frame(); + param_00 thread exo_push_truck_handle_speed(param_00,param_01); + param_00 thread exo_push_truck_handle_path_disconnect(var_02); + param_01 maps\_anim::anim_single_solo(param_00,"exo_push_path"); + common_scripts\utility::flag_set("exo_push_arrived"); + common_scripts\utility::flag_set("team_move_hospital"); + level notify("stop_second_line_spawner"); +} + +//Function Number: 198 +exo_push_play_truck_idle_at_end_of_frame() +{ + waittillframeend; + self setanimrestart(maps\_utility::getanim("exo_push_idle")[0]); +} + +//Function Number: 199 +exo_push_truck_handle_speed(param_00,param_01) +{ + var_02 = getanimlength(level.scr_anim["world_body"]["exo_push_idle_to_loop"]); + var_03 = getanimlength(level.scr_anim["world_body"]["exo_push_loop_to_idle"]); + var_04 = 0; + var_05 = 0; + var_06 = 0; + while(!common_scripts\utility::flag("exo_push_arrived")) + { + if(common_scripts\utility::flag("exo_push_should_push")) + { + var_04 = 0; + var_05 = var_05 + 0.05; + } + else + { + var_04 = var_04 + 0.05; + var_05 = 0; + } + + if(var_05 > var_02) + { + var_06 = 1; + } + else if(var_04 > var_03) + { + var_06 = 0; + } + + param_01 maps\_anim::anim_set_rate([param_00],"exo_push_path",var_06); + wait(0.05); + } + + maps\_utility::autosave_by_name("Hospital start"); +} + +//Function Number: 200 +exo_push_truck_handle_path_disconnect(param_00) +{ + var_01 = (0,0,0); + while(!common_scripts\utility::flag("exo_push_arrived")) + { + if(distancesquared(self.origin,var_01) > 1024) + { + param_00 connectpaths(); + badplace_delete("ambulance_badplace"); + param_00 disconnectpaths(); + if(common_scripts\utility::flag("exo_push_player_attached")) + { + badplace_cylinder("ambulance_badplace",0,self.origin,150,100,"axis","allies"); + } + } + + wait 0.05; + } + + badplace_delete("ambulance_badplace"); +} + +//Function Number: 201 +move_team_towards_hospital() +{ + common_scripts\utility::flag_wait("exo_push_arrived"); + var_00 = getnode("burke_hospital_hide_outside","targetname"); + var_01 = getnode("bones_hospital","targetname"); + var_02 = getnode("joker_hospital","targetname"); + level.burke setgoalnode(var_00); + level.bones setgoalnode(var_01); + level.joker setgoalnode(var_02); + maps\_utility::activate_trigger_with_targetname("team_move_hospital"); +} + +//Function Number: 202 +begin_spawnning_exo_spawners() +{ + common_scripts\utility::flag_wait("exo_push_player_attached"); + level.burke.ignoreall = 0; + var_00 = getentarray("exo_push_spawner","targetname"); + foreach(var_02 in var_00) + { + var_03 = var_02 maps\_utility::spawn_ai(1); + var_03 thread accuracy_fake_function(); + var_03 maps\detroit_lighting::add_enemy_flashlight("flashlight",undefined,undefined,25); + var_03.accuracy = 0; + var_04 = randomfloatrange(0.3,0.8); + wait(var_04); + } +} + +//Function Number: 203 +shoot_at_sentinel_agents() +{ + var_00 = getent("sentinel_rocket_start_org","targetname"); + var_01 = getent("sentinel_rocket_end_org","targetname"); + common_scripts\utility::flag_wait("begin_kva_assault_on_sentinel"); + var_02 = getentarray("sentinel_shoot_window_1_org","targetname"); + var_03 = getentarray("sentinel_shoot_window_2_org","targetname"); + var_04 = getentarray("sentinel_shoot_window_3_org","targetname"); + var_05 = [var_02,var_03,var_04]; + var_06 = getentarray("sentinel_bullet_start_org","targetname"); + foreach(var_08 in var_06) + { + var_08 thread shoot_at_spots(var_05); + wait(randomfloatrange(0.3,1.2)); + } +} + +//Function Number: 204 +shoot_at_spots(param_00) +{ + level endon("cleanup_sentinel_guys"); + var_01 = randomint(4); + for(;;) + { + var_02 = randomfloatrange(-10,10); + var_03 = randomfloatrange(-10,10); + var_04 = randomfloatrange(-10,10); + var_05 = (var_02,var_03,var_04); + var_06 = ""; + var_07 = undefined; + var_08 = 0; + var_09 = param_00[randomintrange(0,param_00.size)]; + var_0A = randomintrange(1,8); + var_0B = randomfloatrange(0.25,1.15); + switch(var_01) + { + case 0: + var_06 = "iw5_arx160_sp"; + var_07 = 0.1; + break; + + case 1: + var_06 = "iw5_mp11_sp"; + var_07 = 0.05; + break; + + case 2: + var_06 = "iw5_arx160_sp"; + var_07 = randomfloatrange(0.1,0.5); + break; + + case 3: + var_06 = "iw5_mp11_sp"; + var_07 = randomfloatrange(0.05,0.2); + break; + + default: + break; + } + + fire_loop_at_target_with_delay(var_06,var_0A,var_08,var_05,var_09,var_07,var_0B); + } +} + +//Function Number: 205 +fire_loop_at_target_with_delay(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + while(param_01 > param_02) + { + param_04 = param_04 if_array_choose_random_target(); + var_07 = magicbullet(param_00,self.origin,param_04.origin + param_03); + param_02++; + wait(param_05); + } + + wait(param_06); +} + +//Function Number: 206 +if_array_choose_random_target() +{ + if(isdefined(self) && isarray(self)) + { + var_00 = self[randomintrange(0,self.size)]; + return var_00; + } + + return self; +} \ No newline at end of file diff --git a/AW/PC/maps/detroit_tools.gsc b/AW/PC/maps/detroit_tools.gsc new file mode 100644 index 0000000..7392016 --- /dev/null +++ b/AW/PC/maps/detroit_tools.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: detroit_tools.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 38 ms + * Timestamp: 4/22/2024 2:28:28 AM +*******************************************************************/ + +//Function Number: 1 +nothing_for_now() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/detroit_transients_cg.gsc b/AW/PC/maps/detroit_transients_cg.gsc new file mode 100644 index 0000000..585c935 --- /dev/null +++ b/AW/PC/maps/detroit_transients_cg.gsc @@ -0,0 +1,625 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: detroit_transients_cg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 15 + * Decompile Time: 255 ms + * Timestamp: 4/22/2024 2:28:29 AM +*******************************************************************/ + +//Function Number: 1 +cg_setup_civs_foodtruck() +{ + common_scripts\utility::flag_wait("show_middle_civs_trigger"); + var_00 = []; + var_01 = getent("org_foodtruck","targetname"); + var_02 = getent("atlas_guard_foodtruck2_spawner","targetname") spawndrone(); + var_00[var_00.size] = var_02; + var_02.animname = "drone_civs"; + var_02 maps\_anim::setanimtree(); + var_01 thread maps\_anim::anim_loop_solo(var_02,"foodtruck18"); + var_03 = spawn("script_model",var_01.origin); + var_03 setmodel("det_cargo_box_single_01"); + var_03.animname = "foodtruck_mre"; + var_03 maps\_anim::setanimtree(); + var_00[var_00.size] = var_03; + thread maps\detroit_refugee_camp::mre_loop(var_03); + var_01 thread maps\_anim::anim_loop_solo(var_03,"foodtruck_mre2"); + var_04 = ["civ_urban_male_body_b_green_afr_dark","civ_urban_male_body_c_blue_mde","civ_urban_male_body_f_black_pants","civ_urban_male_body_e_solid_red","civ_urban_male_body_b_green_mde","civ_urban_male_body_c_solid_yellow_afr_light","civ_urban_male_body_f_black_pants","civ_urban_male_body_c_solid_yellow","civ_urban_male_body_e","civ_urban_male_body_b_red_afr_light"]; + var_05 = ["head_m_gen_afr_davis","head_m_gen_mde_urena","head_m_act_cau_kanik_base","head_m_gen_cau_anderson","head_m_gen_mde_azzam","head_m_act_afr_brickerson_base","head_m_act_cau_manasi_base","head_m_act_cau_ramsay_base","head_m_gen_cau_anderson","head_m_gen_afr_rice"]; + var_06 = ["civ_foodtruck1_spawner","civ_foodtruck3_spawner","civ_foodtruck5_spawner","civ_foodtruck6_spawner","civ_foodtruck8_spawner","civ_foodtruck9_spawner","civ_foodtruck10_spawner","civ_foodtruck11_spawner","civ_foodtruck13_spawner","civ_foodtruck14_spawner"]; + var_07 = ["foodtruck11","foodtruck1","foodtruck3","foodtruck13","foodtruck9","foodtruck5","foodtruck8","foodtruck10","foodtruck6","foodtruck14"]; + var_08 = []; + for(var_09 = 0;var_09 < var_04.size;var_09++) + { + if(var_09 == 5 || var_09 == 3) + { + continue; + } + + var_0A = common_scripts\utility::getstruct(var_06[var_09],"targetname"); + var_08[var_09] = spawn("script_model",var_0A.origin); + var_08[var_09] setmodel(var_04[var_09]); + var_08[var_09] attach(var_05[var_09]); + var_08[var_09] setcontents(0); + var_08[var_09].angles = var_0A.angles; + var_08[var_09].animname = "drone_civs"; + var_08[var_09] maps\_anim::setanimtree(); + var_01 thread maps\_anim::anim_loop_solo(var_08[var_09],var_07[var_09]); + if(var_09 == 0) + { + wait(0.05); + var_08[var_09] setanimtime(%det_camp_foodtruck_civ_11,0.0331); + } + + var_00[var_00.size] = var_08[var_09]; + } + + var_0B = getent("foodtruck","targetname"); + var_00[var_00.size] = var_0B; + var_0B.animname = "foodtruck"; + var_0B maps\_anim::setanimtree(); + var_01 thread maps\_anim::anim_loop_solo(var_0B,"foodtruck_door"); + for(var_09 = 0;var_09 < var_00.size;var_09++) + { + if(isdefined(var_00[var_09])) + { + thread cg_kill_entity_on_transition(var_00[var_09],"tff_pre_intro_to_middle"); + } + } + + common_scripts\utility::flag_wait("flag_camp_visibility_04"); + for(var_09 = 0;var_09 < var_08.size;var_09++) + { + var_08[var_09] delete(); + } + + var_02 delete(); + var_0B delete(); +} + +//Function Number: 2 +cg_setup_civs_infosign() +{ + common_scripts\utility::flag_wait("flag_camp_visibility_01"); + var_00 = []; + var_01 = ["civ_urban_male_body_e_solid_teal_afr_light","body_india_female_b"]; + var_02 = ["head_m_act_afr_sykes_base","head_india_female_b"]; + var_03 = ["civ_sign2_spawner","civ_sign3_spawner"]; + var_04 = ["sign2_spawner","sign3_spawner"]; + var_05 = []; + for(var_06 = 0;var_06 < var_01.size;var_06++) + { + var_07 = common_scripts\utility::getstruct(var_03[var_06],"targetname"); + var_05[var_06] = spawn("script_model",var_07.origin); + var_05[var_06] setmodel(var_01[var_06]); + var_05[var_06] attach(var_02[var_06]); + var_05[var_06] setcontents(0); + var_05[var_06].angles = var_07.angles; + var_05[var_06].animname = "drone_civs"; + var_05[var_06] maps\_anim::setanimtree(); + var_07 thread maps\_anim::anim_loop_solo(var_05[var_06],var_04[var_06]); + var_00[var_00.size] = var_05[var_06]; + } + + for(var_06 = 0;var_06 < var_00.size;var_06++) + { + if(isdefined(var_00[var_06])) + { + thread cg_kill_entity_on_transition(var_00[var_06],"tff_pre_intro_to_middle"); + } + } + + common_scripts\utility::flag_wait("flag_camp_visibility_04"); + var_05[0] delete(); + var_05[1] delete(); +} + +//Function Number: 3 +cg_setup_civs_fence() +{ + thread cg_setup_civ_fence_special(); + while(!common_scripts\utility::flag("flag_camp_visibility_04")) + { + var_00 = []; + var_01 = ["civ_urban_male_body_c_green_afr_dark","civ_urban_male_body_b_green_asi","civ_urban_male_body_c_solid_teal_afr_light","civ_urban_male_body_b","civ_urban_male_body_f_black_pants","civ_urban_male_body_e_solid_brown_mde","civ_urban_male_body_e_solid_yellow"]; + var_02 = ["head_m_gen_afr_bowman","head_m_act_asi_chen_base","head_m_gen_afr_rice","head_m_act_cau_ramsay_base","head_m_gen_cau_anderson","head_m_gen_mde_urena","head_m_gen_cau_anderson"]; + var_03 = ["civ_fence1_spawner","civ_fence3_spawner","civ_fence4_spawner","civ_fence5_spawner","civ_fence6_spawner","civ_fence7_spawner","civ_fence8_spawner"]; + var_04 = ["fence_spawner1","fence_spawner3","fence_spawner4","fence_spawner5","fence_spawner6","fence_spawner7","fence_spawner8"]; + var_05 = []; + for(var_06 = 0;var_06 < var_01.size;var_06++) + { + var_07 = common_scripts\utility::getstruct(var_03[var_06],"targetname"); + var_05[var_06] = spawn("script_model",var_07.origin); + var_05[var_06] setmodel(var_01[var_06]); + var_05[var_06] attach(var_02[var_06]); + var_05[var_06] setcontents(0); + var_05[var_06].angles = var_07.angles; + var_05[var_06].animname = "drone_civs"; + var_05[var_06] maps\_anim::setanimtree(); + var_07 thread maps\_anim::anim_loop_solo(var_05[var_06],var_04[var_06]); + var_00[var_00.size] = var_05[var_06]; + } + + wait(1); + for(var_06 = 0;var_06 < var_00.size;var_06++) + { + if(isdefined(var_00[var_06])) + { + thread cg_kill_entity_on_transition(var_00[var_06],"tff_pre_intro_to_middle"); + } + } + + common_scripts\utility::flag_wait("flag_camp_visibility_03b"); + common_scripts\utility::flag_clear("flag_camp_visibility_03a"); + for(var_06 = 0;var_06 < var_05.size;var_06++) + { + var_05[var_06] delete(); + } + + common_scripts\utility::flag_wait("flag_camp_visibility_03a"); + common_scripts\utility::flag_clear("flag_camp_visibility_03b"); + } +} + +//Function Number: 4 +cg_setup_civ_fence_special() +{ + var_00 = common_scripts\utility::getstruct("civ_fence9_spawner","targetname"); + var_01 = spawn("script_model",var_00.origin); + var_01 setmodel("civ_urban_male_body_c_mde"); + var_01 attach("head_m_gen_mde_urena"); + var_01 setcontents(0); + var_01.angles = var_00.angles; + var_01.animname = "drone_civs"; + var_01 maps\_anim::setanimtree(); + var_01 thread maps\_anim::anim_loop_solo(var_01,"fence_spawner9_idle_start"); + common_scripts\utility::flag_wait("flag_civ_fence_sit"); + var_01 notify("stop_loop"); + var_01 maps\_anim::anim_single_solo(var_01,"fence_spawner9_transition"); + var_01 thread maps\_anim::anim_loop_solo(var_01,"fence_spawner9_idle_end"); + if(isdefined(var_01)) + { + thread cg_kill_entity_on_transition(var_01,"tff_pre_intro_to_middle"); + } + + while(!common_scripts\utility::flag("flag_camp_visibility_04")) + { + common_scripts\utility::flag_wait("flag_camp_visibility_03b"); + var_01 delete(); + common_scripts\utility::flag_clear("flag_camp_visibility_03a"); + common_scripts\utility::flag_wait("flag_camp_visibility_03a"); + var_01 = spawn("script_model",var_00.origin); + var_01 setmodel("civ_urban_male_body_c_mde"); + var_01 attach("head_m_gen_mde_urena"); + var_01 setcontents(0); + var_01.angles = var_00.angles; + var_01.animname = "drone_civs"; + var_01 maps\_anim::setanimtree(); + var_01 thread maps\_anim::anim_loop_solo(var_01,"fence_spawner9_idle_end"); + common_scripts\utility::flag_clear("flag_camp_visibility_03b"); + } +} + +//Function Number: 5 +cg_setup_civs_baseball() +{ + common_scripts\utility::flag_wait("flag_camp_visibility_01"); + var_00 = getent("org_baseball","targetname"); + var_01 = []; + var_02 = ["civ_urban_male_body_g","civ_urban_male_body_e_solid_brown","ehq_baseball_glove_01","ehq_baseball_glove_01"]; + var_03 = ["head_m_act_cau_ramsay_base","head_m_act_cau_manasi_base"]; + var_04 = ["civ_baseball1_spawner","civ_baseball2_spawner","baseball_glove1","baseball_glove2"]; + var_05 = ["baseball2","baseball1","baseball_glove1","baseball_glove2"]; + var_06 = []; + for(var_07 = 0;var_07 < var_02.size;var_07++) + { + var_08 = common_scripts\utility::getstruct(var_04[var_07],"targetname"); + var_06[var_07] = spawn("script_model",var_08.origin); + var_06[var_07] setmodel(var_02[var_07]); + if(var_07 < 2) + { + var_06[var_07] attach(var_03[var_07]); + var_06[var_07].animname = "drone_civs"; + } + + if(var_07 >= 2) + { + var_06[var_07].animname = "baseball_glove"; + } + + var_06[var_07] setcontents(0); + var_06[var_07].angles = var_08.angles; + var_06[var_07] maps\_anim::setanimtree(); + var_00 thread maps\_anim::anim_loop_solo(var_06[var_07],var_05[var_07]); + var_01[var_01.size] = var_06[var_07]; + } + + var_06[1] attach("ehq_baseball","tag_weapon_chest"); + for(var_07 = 0;var_07 < var_01.size;var_07++) + { + if(isdefined(var_01[var_07])) + { + thread cg_kill_entity_on_transition(var_01[var_07],"tff_pre_intro_to_middle"); + } + } + + common_scripts\utility::flag_wait("flag_camp_visibility_04"); + for(var_07 = 0;var_07 < var_06.size;var_07++) + { + var_06[var_07] delete(); + } +} + +//Function Number: 6 +cg_setup_social_groups() +{ + var_00 = []; + var_01 = ["civilian_smoking_a","civilian_smoking_b","civilian_atm","civilian_stand_idle","london_civ_idle_checkwatch","london_civ_idle_foldarms2","london_civ_idle_lookbehind","london_civ_idle_foldarms_scratchass","london_civ_idle_scratchnose"]; + var_02 = ["civilian_sitting_business_lunch_a_1","civilian_sitting_business_lunch_b_1","civilian_sitting_talking_a_1","civilian_sitting_talking_a_2","civilian_sitting_talking_b_1","civilian_sitting_talking_b_2","civilian_texting_sitting","civilian_reader_1","sitting_guard_loadak_idle","guarda_sit_sleeper_idle","parabolic_leaning_guy_idle","civilian_stand_idle","det_camp_box_seated_civ_guy01","det_camp_box_seated_civ_guy02","det_camp_box_seated_civ_guy02","sitting_guard_loadak_idle","civilian_reader_2"]; + var_03 = ["civ_urban_male_body_c_blue_afr_light","civ_urban_male_body_c_solid_teal_mde","civ_urban_male_body_e_solid_yellow_mde","civ_urban_male_body_e_solid_red","civ_urban_male_body_e_solid_brown_mde","civ_urban_male_body_c_blue_shirt","civ_urban_male_body_c_blue_mde","civ_urban_male_body_c_gray_shirt","civ_urban_male_body_e_solid_brown_mde","civ_urban_male_body_d_afr_light","civ_urban_male_body_e","civ_urban_male_body_c_solid_red_mde","civ_urban_male_body_c_green_afr_dark","civ_urban_male_body_b_green_asi","civ_urban_male_body_c_solid_teal_afr_light","civ_urban_male_body_b","civ_urban_male_body_a_mde","civ_urban_male_body_e_solid_brown_mde","civ_urban_male_body_e_solid_yellow","civ_urban_male_body_e_solid_teal_afr_light"]; + var_04 = ["head_m_act_afr_brickerson_base","head_m_gen_mde_smith","head_m_gen_cau_clark","head_m_gen_cau_barton","head_m_gen_mde_hanks","head_m_gen_cau_young","head_m_gen_mde_smith","head_m_gen_cau_anderson","head_m_gen_mde_hanks","head_m_gen_afr_rice","head_m_act_cau_manasi_base","head_m_gen_mde_urena","head_m_gen_afr_bowman","head_m_act_asi_chen_base","head_m_gen_afr_rice","head_m_act_cau_ramsay_base","head_m_gen_mde_smith","head_m_gen_mde_urena","head_m_gen_cau_anderson","head_m_act_afr_sykes_base"]; + var_05 = getentarray("civ_life_scene_01","targetname"); + var_06 = getentarray("civ_life_scene_02","targetname"); + var_07 = common_scripts\utility::getstructarray("civ_life_scene_01","targetname"); + var_08 = common_scripts\utility::getstructarray("civ_life_scene_02","targetname"); + var_09 = common_scripts\utility::array_combine(var_07,var_08); + var_0A = getentarray("spnr_civs_food_herd_01","targetname"); + var_0B = getentarray("civ_life_scene_01_orgs","targetname"); + var_09 = common_scripts\utility::array_combine(var_09,var_0B); + level.section_1_civilians = []; + var_0C = 0; + foreach(var_0E in var_09) + { + var_0F = spawn("script_model",var_0E.origin); + if(var_0C >= var_03.size) + { + var_0C = 0; + } + + var_0F setmodel(var_03[var_0C]); + var_0F attach(var_04[var_0C]); + var_0F setcontents(0); + var_0F.origin = var_0E.origin; + var_0F.angles = var_0E.angles; + var_0F.animname = "drone_civs"; + var_0F maps\_anim::setanimtree(); + var_0F thread maps\detroit_refugee_camp::delete_me_on_notify(); + level.section_1_civilians[level.section_1_civilians.size] = var_0F; + if(isdefined(var_0E.script_noteworthy) && var_0E.script_noteworthy == "civ_sitting") + { + var_0E thread maps\_anim::anim_loop_solo(var_0F,common_scripts\utility::random(var_02)); + } + else + { + var_0E thread maps\_anim::anim_loop_solo(var_0F,common_scripts\utility::random(var_01)); + } + + var_00[var_00.size] = var_0F; + var_0C = var_0C + 1; + } + + level.tent_scene_civilians_01 = []; + level.tent_scene_civilians_02 = []; + var_11 = common_scripts\utility::getstructarray("civ_tent_scene_01","targetname"); + var_12 = common_scripts\utility::getstructarray("civ_tent_scene_02","targetname"); + var_0C = 0; + foreach(var_0E in var_12) + { + if(var_0C >= var_03.size) + { + var_0C = 0; + } + + if(maps\_shg_design_tools::percentchance(50)) + { + var_0F = spawn("script_model",var_0E.origin); + var_0F setmodel(var_03[var_0C]); + var_0F attach(var_04[var_0C]); + var_0F setcontents(0); + var_0F.origin = var_0E.origin; + var_0F.angles = var_0E.angles; + var_0F.animname = "drone_civs"; + var_0F maps\_anim::setanimtree(); + var_0F thread maps\detroit_refugee_camp::delete_me_on_notify(); + level.tent_scene_civilians_02[level.tent_scene_civilians_02.size] = var_0F; + if(var_0E.animation == "civilian_smoking_b" || var_0E.animation == "civilian_smoking_a") + { + var_0F attach("prop_cigarette","tag_inhand",1); + } + + var_0E thread maps\_anim::anim_loop_solo(var_0F,var_0E.animation); + var_0C = var_0C + 1; + var_00[var_00.size] = var_0F; + } + } + + while(!common_scripts\utility::flag("flag_camp_visibility_04")) + { + var_0C = 0; + foreach(var_0E in var_11) + { + if(var_0C >= var_03.size) + { + var_0C = 0; + } + + if(maps\_shg_design_tools::percentchance(50)) + { + var_0F = spawn("script_model",var_0E.origin); + var_0F setmodel(var_03[var_0C]); + var_0F attach(var_04[var_0C]); + var_0F setcontents(0); + var_0F.origin = var_0E.origin; + var_0F.angles = var_0E.angles; + var_0F.animname = "drone_civs"; + var_0F maps\_anim::setanimtree(); + var_0F thread maps\detroit_refugee_camp::delete_me_on_notify(); + level.tent_scene_civilians_01[level.tent_scene_civilians_01.size] = var_0F; + if(var_0E.animation == "civilian_smoking_b" || var_0E.animation == "civilian_smoking_a") + { + var_0F attach("prop_cigarette","tag_inhand",1); + } + + var_0E thread maps\_anim::anim_loop_solo(var_0F,var_0E.animation); + var_0C = var_0C + 1; + var_00[var_00.size] = var_0F; + } + } + + for(var_0C = 0;var_0C < var_00.size;var_0C++) + { + if(isdefined(var_00[var_0C])) + { + thread cg_kill_entity_on_transition(var_00[var_0C],"tff_pre_intro_to_middle"); + } + } + + common_scripts\utility::flag_wait("flag_camp_visibility_03b"); + common_scripts\utility::flag_clear("flag_camp_visibility_03a"); + common_scripts\utility::array_thread(level.tent_scene_civilians_01,::maps\_shg_design_tools::delete_auto); + common_scripts\utility::flag_wait("flag_camp_visibility_03a"); + common_scripts\utility::flag_clear("flag_camp_visibility_03b"); + wait(0.2); + } + + for(var_0C = 0;var_0C < var_00.size;var_0C++) + { + if(isdefined(var_00[var_0C])) + { + thread cg_kill_entity_on_transition(var_00[var_0C],"tff_pre_intro_to_middle"); + } + } + + common_scripts\utility::array_thread(level.section_1_civilians,::maps\_shg_design_tools::delete_auto); + common_scripts\utility::array_thread(level.tent_scene_civilians_01,::maps\_shg_design_tools::delete_auto); + common_scripts\utility::array_thread(level.tent_scene_civilians_02,::maps\_shg_design_tools::delete_auto); +} + +//Function Number: 7 +cg_civ_conversation_gag1() +{ + var_00 = []; + var_01 = ["civ_urban_female_body_g_afr_light","civ_african_male_body_d","civ_urban_male_body_c_gray_afr_light","civ_urban_female_body_e_asi"]; + var_02 = ["head_f_gen_afr_rice","head_m_gen_cau_clark","head_m_gen_afr_rice","head_f_gen_asi_lee_base"]; + var_03 = ["sign1_spawner","sign2_spawner","sign3_spawner","sign4_spawner"]; + for(var_04 = 1;var_04 < 5;var_04++) + { + var_05 = getent("civ_" + var_04 + "_spawner","targetname"); + var_06 = spawn("script_model",var_05.origin); + var_06 setmodel(var_01[var_04 - 1]); + var_06 attach(var_02[var_04 - 1]); + var_06 setcontents(0); + var_06.angles = var_05.angles; + var_06.animname = "drone_civs"; + var_06 maps\_anim::setanimtree(); + var_05 thread maps\_anim::anim_loop_solo(var_06,var_03[var_04 - 1]); + if(var_04 == 1) + { + level.civ1 = var_06; + } + + if(var_04 == 2) + { + level.civ2 = var_06; + } + + if(var_04 == 3) + { + level.civ3 = var_06; + } + + if(var_04 == 4) + { + level.civ4 = var_06; + } + + var_00[var_00.size] = var_06; + } + + for(var_04 = 0;var_04 < var_00.size;var_04++) + { + if(isdefined(var_00[var_04])) + { + thread cg_kill_entity_on_transition(var_00[var_04],"tff_pre_intro_to_middle"); + } + } + + maps\detroit_school::continue_when_player_near_entity(level.civ1,250); + common_scripts\utility::flag_set("vo_civ_convo_01"); + common_scripts\utility::flag_wait("flag_camp_visibility_04"); + level.civ1 delete(); + level.civ2 delete(); + level.civ3 delete(); + level.civ4 delete(); +} + +//Function Number: 8 +cg_spraypaint_gag() +{ + if(!istransientloaded("detroit_intro_tr")) + { + return; + } + + var_00 = []; + var_01 = getent("cg_grafitti_gag_model_clip","targetname"); + var_02 = getent("sparaypaint_animspot","targetname"); + var_03 = common_scripts\utility::getstruct("spraypaint_artist_spawner","targetname"); + var_04 = spawn("script_model",var_03.origin); + var_04 setmodel("civ_urban_female_body_e_asi"); + var_04 attach("head_f_gen_asi_lee_base"); + var_04 setcontents(0); + var_04 attach("com_spray_can01","tag_weapon_right"); + var_01.origin = var_04.origin + (0,0,40); + var_01 linkto(var_04,"J_MainRoot"); + var_04.animname = "generic"; + var_04 useanimtree(#animtree); + var_02 thread maps\_anim::anim_loop_solo(var_04,"spraypaint_idle"); + var_00[var_00.size] = var_04; + var_04.goalradius = 15; + if(isdefined(var_04)) + { + thread cg_kill_entity_on_transition(var_04,"tff_pre_intro_to_middle"); + } + + common_scripts\utility::flag_wait("flag_gesture_spray_paint"); + var_05 = getent("spraypaint_guard","targetname"); + var_06 = var_05 maps\_utility::spawn_ai(1); + var_06.ignoreall = 1; + var_06.ignoreme = 1; + var_06.goalradius = 15; + var_06.animname = "generic"; + var_02 thread maps\_anim::anim_first_frame_solo(var_06,"chase_away"); + var_00[var_00.size] = var_05; + for(var_07 = 0;var_07 < var_00.size;var_07++) + { + if(isdefined(var_00[var_07])) + { + thread cg_kill_entity_on_transition(var_00[var_07],"tff_pre_intro_to_middle"); + } + } + + thread cg_spraypaint_runner(var_04,var_02); + thread maps\detroit_refugee_camp::spraypaint_chaser(var_06,var_02); + wait(7.31); + var_06 maps\_utility::dialogue_queue("detroit_atd_heyhey"); + thread maps\detroit_refugee_camp::unload_intro_cinematic_assets(); +} + +//Function Number: 9 +cg_spraypaint_runner(param_00,param_01) +{ + param_01 maps\_anim::anim_single_solo(param_00,"spraypaint"); + param_00 delete(); +} + +//Function Number: 10 +cg_setup_refugee_stage_audience() +{ + var_00 = []; + common_scripts\utility::flag_wait("flag_camp_visibility_01"); + var_01 = []; + var_02 = getentarray("civilian_orgs_sitting","targetname"); + var_03 = ["body_india_female_a","body_india_male_b","body_india_female_b","civ_urban_female_body_g_afr_light","civ_urban_male_body_e_solid_red_asi","civ_urban_male_body_e_solid_brown_mde","civ_urban_female_body_e_asi","civ_urban_male_body_c_solid_yellow","civ_urban_male_body_b_green_asi"]; + var_04 = ["head_india_female_a","head_india_male_b","head_india_female_b","head_f_gen_afr_rice","head_m_gen_asi_lee","head_m_gen_mde_hanks","head_f_gen_asi_lee_base","head_m_act_cau_ramsay_base","head_m_act_asi_chen_base"]; + var_05 = ["civilian_sitting_talking_b_1","civilian_sitting_business_lunch_b_1","civilian_sitting_business_lunch_a_1","civilian_sitting_talking_a_2","civilian_stand_idle","civilian_sitting_talking_b_2","civilian_stand_idle","civilian_sitting_talking_a_1","civilian_sitting_talking_b_2"]; + var_06 = 0; + foreach(var_08 in var_02) + { + if(var_06 > var_03.size) + { + var_06 = 0; + } + + if(maps\_shg_design_tools::percentchance(15)) + { + var_09 = spawn("script_model",var_08.origin); + var_09 setmodel(var_03[var_06]); + var_09 attach(var_04[var_06]); + var_09 setcontents(0); + var_09.angles = var_08.angles; + var_09.animname = "drone_civs"; + var_09 maps\_anim::setanimtree(); + var_08 thread maps\_anim::anim_loop_solo(var_09,var_08.animation); + var_01[var_01.size] = var_09; + level.refugee_camp_ai[level.refugee_camp_ai.size] = var_09; + var_06 = var_06 + 1; + var_00[var_00.size] = var_09; + } + + wait(randomfloat(0.25)); + } + + for(var_06 = 0;var_06 < var_00.size;var_06++) + { + if(isdefined(var_00[var_06])) + { + thread cg_kill_entity_on_transition(var_00[var_06],"tff_pre_intro_to_middle"); + } + } + + common_scripts\utility::flag_wait("flag_camp_visibility_04"); + common_scripts\utility::array_call(var_01,::delete); +} + +//Function Number: 11 +cg_setup_refugee_stage_speaker() +{ + common_scripts\utility::flag_wait("flag_stage_dialogue_start_audio"); + var_00 = getent("refugee_stage_speaker","targetname"); + var_01 = spawn("script_model",var_00.origin); + var_01 setmodel("civ_urban_female_body_g_afr_light"); + var_01 attach("head_f_gen_afr_rice"); + var_01 setcontents(0); + var_01.angles = var_00.angles; + var_01.animname = "Atlas_Commander"; + var_01 useanimtree(#animtree); + var_00 = getent("org_stage_speaker","targetname"); + var_00 maps\_anim::anim_single_solo(var_01,"det_camp_stagespeech_guy01"); + var_01 delete(); +} + +//Function Number: 12 +cg_setup_hospital_bodies() +{ + maps\_utility::trigger_wait_targetname("hospital_start"); + var_00 = getent("dead_spot","targetname"); + var_01 = spawn("script_model",(-4738,7089,39.5)); + var_01 setmodel("body_civ_sf_male_b"); + var_01 attach("head_civ_sf_male_b","J_Spine4"); + var_01.animname = "generic"; + var_01 useanimtree(#animtree); + var_00 maps\_anim::anim_first_frame_solo(var_01,"deadpose_1"); +} + +//Function Number: 13 +cg_kill_entity_on_transition(param_00,param_01) +{ + level waittill(param_01); + if(isdefined(param_00)) + { + param_00 delete(); + } +} + +//Function Number: 14 +cg_kill_entity_on_flag(param_00,param_01) +{ + common_scripts\utility::flag_wait(param_01); + if(isdefined(param_00)) + { + param_00 delete(); + } +} + +//Function Number: 15 +detroit_cg_precache_models() +{ + var_00 = ["civ_urban_male_body_b_green_afr_dark","civ_urban_male_body_c_blue_mde","civ_urban_male_body_f_black_pants","civ_urban_male_body_e_solid_red","civ_urban_male_body_b_green_mde","civ_urban_male_body_c_solid_yellow_afr_light","civ_urban_male_body_c_solid_yellow","civ_urban_male_body_e","civ_urban_male_body_b_red_afr_light","civ_urban_male_body_e_solid_teal_afr_light","civ_urban_male_body_e_solid_yellow_mde","civ_urban_male_body_c_green_afr_dark","civ_urban_male_body_b_green_asi","civ_urban_male_body_c_solid_teal_afr_light","civ_urban_male_body_b","civ_urban_male_body_a_mde","civ_urban_male_body_e_solid_brown_mde","civ_urban_male_body_e_solid_yellow","civ_urban_male_body_c_mde","civ_urban_male_body_g","civ_urban_male_body_e_solid_brown","civ_urban_male_body_c_blue_afr_light","civ_urban_male_body_c_solid_teal_mde","civ_urban_male_body_c_blue_shirt","civ_urban_male_body_d_afr_light","civ_urban_male_body_c_solid_red_mde","civ_urban_male_body_c_gray_shirt","civ_urban_female_body_g_afr_light","civ_african_male_body_d","civ_urban_male_body_c_gray_afr_light","body_india_female_a","body_india_male_b","body_india_female_b","civ_urban_male_body_e_solid_red_asi","civ_urban_female_body_e_asi","head_m_act_cau_kanik_base","head_m_gen_cau_anderson","head_m_gen_mde_azzam","head_m_gen_afr_davis","head_m_gen_mde_urena","head_m_act_afr_brickerson_base","head_m_act_cau_manasi_base","head_m_act_cau_ramsay_base","head_m_gen_afr_rice","head_m_act_afr_sykes_base","head_m_gen_afr_bowman","head_m_act_asi_chen_base","head_m_gen_mde_smith","head_m_gen_cau_clark","head_m_gen_cau_barton","head_m_gen_mde_hanks","head_m_gen_cau_young","head_india_female_a","head_india_male_b","head_india_female_b","head_m_gen_asi_lee","head_f_gen_afr_rice","head_f_gen_asi_lee_base","ehq_baseball","ehq_baseball_glove_01","prop_cigarette","body_civ_sf_male_b","head_civ_sf_male_b"]; + for(var_01 = 0;var_01 < var_00.size;var_01++) + { + precachemodel(var_00[var_01]); + } +} \ No newline at end of file diff --git a/AW/PC/maps/detroit_vo.gsc b/AW/PC/maps/detroit_vo.gsc new file mode 100644 index 0000000..8b585c8 --- /dev/null +++ b/AW/PC/maps/detroit_vo.gsc @@ -0,0 +1,1110 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: detroit_vo.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 62 + * Decompile Time: 971 ms + * Timestamp: 4/22/2024 2:28:33 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setup_vo(); + thread start_dialogue_threads(); + thread init_pcap_vo(); + thread init_plr_vo(); +} + +//Function Number: 2 +setup_vo() +{ + var_00 = "burke"; + var_00 = "burke"; + var_01 = "joker"; + var_01 = "joker"; + var_02 = "bones"; + var_02 = "bones"; + var_03 = "bones"; + var_03 = "bones"; + var_04 = "PA"; + var_05 = "drone_civs"; + var_06 = "drone_civs"; + var_07 = "drone_civs"; + var_08 = "drone_civs"; + var_09 = "generic"; + var_0A = "generic"; + var_0B = "bones"; + var_0C = "prophet"; + var_0D = "kva"; + var_0D = "kva"; + var_0E = "kva"; + var_0F = "soldier"; + var_10 = "Mech"; + var_11 = "doctor"; + var_0A = "Atlas_Commander"; + var_12 = "mech1"; + var_12 = "mech1"; + var_13 = "decon_gate"; + level.scr_sound[var_00]["detroit_brk_twoandahalfmillion"] = "detroit_brk_twoandahalfmillion"; + level.scr_sound[var_01]["detroit_jkr_burkeyoulooklikeshit"] = "detroit_jkr_burkeyoulooklikeshit"; + level.scr_sound[var_00]["detroit_brk_beengoingtwentytwodaysstraight"] = "detroit_brk_beengoingtwentytwodaysstraight"; + level.scr_sound[var_01]["detroit_jkr_copythat"] = "detroit_jkr_copythat"; + level.scr_sound[var_01]["detroit_jkr_theyweregoingtostart"] = "detroit_jkr_theyweregoingtostart"; + level.scr_sound[var_00]["detroit_brk_theyreprotectingourtargetdr"] = "detroit_brk_theyreprotectingourtargetdr"; + level.scr_sound[var_01]["detroit_jkr_midtownhospitalweregreen"] = "detroit_jkr_midtownhospitalweregreen"; + level.scr_sound[var_00]["det_gdn_letsgetitdone"] = "det_gdn_letsgetitdone"; + level.scr_sound[var_04]["detroit_pa_attentioncurfewisinone"] = "detroit_pa_attentioncurfewisinone"; + level.scr_sound[var_04]["detroit_pa_remembertohaveyouridentification"] = "detroit_pa_remembertohaveyouridentification"; + level.scr_sound[var_04]["detroit_pa_reportanysuspiciousactivityto"] = "detroit_pa_reportanysuspiciousactivityto"; + level.scr_sound[var_04]["detroit_pa_noncompliancewithyoursecurityprotocol"] = "detroit_pa_noncompliancewithyoursecurityprotocol"; + level.scr_sound[var_04]["det_cmr1_scanningforisotopespleasewait"] = "det_cmr1_scanningforisotopespleasewait"; + level.scr_sound[var_04]["detroit_pa_curfewisnowineffect"] = "detroit_pa_curfewisnowineffect"; + level.scr_sound[var_04]["detroit_pa_thisissafetyreminder"] = "detroit_pa_thisissafetyreminder"; + level.scr_sound[var_05]["detroit_cv1_istillhaventbeenable"] = "detroit_cv1_istillhaventbeenable"; + level.scr_sound[var_06]["detroit_cv2_imsurehesfine"] = "detroit_cv2_imsurehesfine"; + level.scr_sound[var_07]["detroit_cv3_theysayitsgoingto"] = "detroit_cv3_theysayitsgoingto"; + level.scr_sound[var_08]["detroit_cv4_andyoutrustthem"] = "detroit_cv4_andyoutrustthem"; + level.scr_sound[var_07]["detroit_cv3_doihaveachoice"] = "detroit_cv3_doihaveachoice"; + level.scr_sound[var_09]["detroit_atd_heyhey"] = "detroit_atd_heyhey"; + level.scr_sound[var_09]["detroit_atd_rememberonepacketpersector"] = "detroit_atd_rememberonepacketpersector"; + level.scr_sound[var_0A]["detroit_atr_youllbewontbeable"] = "detroit_atr_youllbewontbeable"; + level.scr_sound[var_0A]["detroit_atr_onceyourdnaisin"] = "detroit_atr_onceyourdnaisin"; + level.scr_sound[var_0A]["detroit_atr_ifyouhaveaquestion"] = "detroit_atr_ifyouhaveaquestion"; + level.scr_sound[var_0A]["detroit_atr_remembernothinghappensunlessyou"] = "detroit_atr_remembernothinghappensunlessyou"; + level.scr_sound[var_0A]["detroit_atr_weappreciateyourpatience"] = "detroit_atr_weappreciateyourpatience"; + level.scr_sound[var_0A]["detroit_atr_sectorsathroughfwill"] = "detroit_atr_sectorsathroughfwill"; + level.scr_sound[var_0A]["detroit_atr_werereopeningthesectorc"] = "detroit_atr_werereopeningthesectorc"; + level.scr_sound[var_0A]["detroit_atr_iknowyouallhave"] = "detroit_atr_iknowyouallhave"; + level.scr_sound[var_0A]["detroit_atr_werelookingatarolling"] = "detroit_atr_werelookingatarolling"; + level.scr_sound[var_04]["detroit_pa_attentioncurfewisinone"] = "detroit_pa_attentioncurfewisinone"; + level.scr_sound[var_04]["detroit_pa_remembertohaveyouridentification"] = "detroit_pa_remembertohaveyouridentification"; + level.scr_sound[var_04]["detroit_pa_reportanysuspiciousactivityto"] = "detroit_pa_reportanysuspiciousactivityto"; + level.scr_sound[var_04]["detroit_pa_noncompliancewithyoursecurityprotocol"] = "detroit_pa_noncompliancewithyoursecurityprotocol"; + level.scr_sound["scanner_guard_animated_spawner"]["detroit_atd_captain"] = "detroit_atd_captain"; + level.scr_sound[var_01]["detroit_jkr_whatthehellarethe"] = "detroit_jkr_whatthehellarethe"; + level.scr_sound[var_00]["detroit_brk_anemptycitywithoutpolice"] = "detroit_brk_anemptycitywithoutpolice"; + level.scr_sound["scanner_guard_animated_spawner"]["detroit_atd_cleargoodluckoutthere"] = "detroit_atd_cleargoodluckoutthere"; + level.scr_sound[var_0B]["detroit_trs_gideon"] = "detroit_trs_gideon"; + level.scr_sound[var_00]["detroit_brk_torresbikesready"] = "detroit_brk_torresbikesready"; + level.scr_sound[var_0B]["detroit_trs_rogergoodtogo"] = "detroit_trs_rogergoodtogo"; + level.scr_sound[var_00]["detroit_brk_saddleupmitchell"] = "detroit_brk_saddleupmitchell"; + level.scr_sound[var_00]["detroit_brk_letshititmitchell"] = "detroit_brk_letshititmitchell"; + level.scr_sound[var_00]["detroit_brk_getonthebike"] = "detroit_brk_getonthebike"; + level.scr_sound[var_00]["det_gdn_moveitforfuckssake"] = "det_gdn_moveitforfuckssake"; + level.scr_sound[var_00]["detroit_brk_keepitonautopilotfor"] = "detroit_brk_keepitonautopilotfor"; + level.scr_radio["detroit_prt_bravotwooneweveisolatedthe"] = "detroit_prt_bravotwooneweveisolatedthe"; + level.scr_sound[var_00]["detroit_brk_copyprophet"] = "detroit_brk_copyprophet"; + level.scr_radio["detroit_prt_thedoctorsnogoodto"] = "detroit_prt_thedoctorsnogoodto"; + level.scr_sound[var_00]["detroit_brk_rogerbravoout"] = "detroit_brk_rogerbravoout"; + level.scr_sound[var_12]["detroit_mch_nameandordernumber"] = "detroit_mch_nameandordernumber"; + level.scr_sound[var_00]["detroit_brk_burkeorder5527"] = "detroit_brk_burkeorder5527"; + level.scr_sound[var_12]["detroit_mch_holdon"] = "detroit_mch_holdon"; + level.scr_sound[var_12]["det_mch_gotfouroperativesonbikes"] = "det_mch_gotfouroperativesonbikes"; + level.scr_sound[var_12]["detroit_mch_okyouregood"] = "detroit_mch_okyouregood"; + level.scr_sound[var_00]["detroit_brk_prophetbravotwoone"] = "detroit_brk_prophetbravotwoone"; + level.scr_sound[var_00]["detroit_brk_staylockedon"] = "detroit_brk_staylockedon"; + level.scr_sound[var_0B]["detroit_trs_cantbelievethisisdetroit"] = "detroit_trs_cantbelievethisisdetroit"; + level.scr_sound[var_01]["detroit_jkr_hasntchangedthatmuch"] = "detroit_jkr_hasntchangedthatmuch"; + level.scr_sound[var_00]["detroit_brk_linkuppointupahead"] = "detroit_brk_linkuppointupahead"; + level.scr_sound[var_00]["detroit_brk_prophetbravotwooneatlinkuppoint"] = "detroit_brk_prophetbravotwooneatlinkuppoint"; + level.scr_radio["detroit_prt_rogerthatbravotwoone"] = "detroit_prt_rogerthatbravotwoone"; + level.scr_sound[var_00]["detroit_brk_jokerparkeryouknowyour"] = "detroit_brk_jokerparkeryouknowyour"; + level.scr_sound[var_01]["detroit_jkr_rogerthat"] = "detroit_jkr_rogerthat"; + level.scr_radio["detroit_prt_isrdetectingmovementnorthwest"] = "detroit_prt_isrdetectingmovementnorthwest"; + level.scr_sound[var_00]["detroit_brk_wellkeepourheadson"] = "detroit_brk_wellkeepourheadson"; + level.scr_sound[var_00]["detroit_brk_cleanupcrewupahead"] = "detroit_brk_cleanupcrewupahead"; + level.scr_sound[var_00]["detroit_brk_watchyourroemaintainstealth"] = "detroit_brk_watchyourroemaintainstealth"; + level.scr_sound[var_00]["detroit_brk_prophetwereatcheckpointblue"] = "detroit_brk_prophetwereatcheckpointblue"; + level.scr_radio["detroit_prt_copyweretrackingyou"] = "detroit_prt_copyweretrackingyou"; + level.scr_sound[var_00]["detroit_brk_shit"] = "detroit_brk_shit"; + level.scr_sound[var_00]["det_gdn_scoff"] = "det_gdn_scoff"; + level.scr_sound[var_00]["detroit_brk_fuckme"] = "detroit_brk_fuckme"; + level.scr_sound[var_00]["detroit_brk_jokerivegotbodies"] = "detroit_brk_jokerivegotbodies"; + level.scr_sound[var_00]["detroit_brk_ifthekvahavebeen"] = "detroit_brk_ifthekvahavebeen"; + level.scr_radio["detroit_jkr_copy3"] = "detroit_jkr_copy3"; + level.scr_sound[var_00]["det_gdn_thedoormitchell"] = "det_gdn_thedoormitchell"; + level.scr_sound[var_00]["det_gdn_getthedoor"] = "det_gdn_getthedoor"; + level.scr_sound[var_00]["detroit_brk_mitchelltakepoint"] = "detroit_brk_mitchelltakepoint"; + level.scr_sound[var_00]["detroit_brk_upthestairs"] = "detroit_brk_upthestairs"; + level.scr_sound[var_00]["detroit_brk_thisway"] = "detroit_brk_thisway"; + level.scr_sound[var_00]["detroit_brk_easy"] = "detroit_brk_easy"; + level.scr_sound[var_00]["detroit_brk_letthempass"] = "detroit_brk_letthempass"; + level.scr_radio["detroit_kva_whatwasthat"] = "detroit_kva_whatwasthat"; + level.scr_sound[var_0D]["detroit_kva_overhere"] = "detroit_kva_overhere"; + level.scr_sound[var_0D]["detroit_kva_checkcomms"] = "detroit_kva_checkcomms"; + level.scr_sound[var_00]["detroit_brk_mitchellmitchell2"] = "detroit_brk_mitchellmitchell2"; + level.scr_sound[var_00]["detroit_brk_mitchellmitchell"] = "detroit_brk_mitchellmitchell"; + level.scr_sound[var_00]["detroit_brk_mitchellimseeingalot"] = "detroit_brk_mitchellimseeingalot"; + level.scr_sound[var_0D]["detroit_kva_thoughtisawsomething"] = "detroit_kva_thoughtisawsomething"; + level.scr_sound[var_0D]["det_kva_contact"] = "det_kva_contact"; + level.scr_sound[var_0D]["det_kva_huh"] = "det_kva_huh"; + level.scr_sound[var_0D]["det_kva_ivegotcontact"] = "det_kva_ivegotcontact"; + level.scr_sound[var_0D]["detroit_kva_nothindownherebutrats"] = "detroit_kva_nothindownherebutrats"; + level.scr_sound[var_0D]["detroit_kva_copystayalert"] = "detroit_kva_copystayalert"; + level.scr_radio["detroit_kva_bauerdoyoureadme"] = "detroit_kva_bauerdoyoureadme"; + level.scr_sound[var_00]["detroit_brk_imexternal"] = "detroit_brk_imexternal"; + level.scr_sound[var_00]["detroit_brk_mitchelldownhere"] = "detroit_brk_mitchelldownhere"; + level.scr_sound[var_00]["detroit_brk_overheremitchell"] = "detroit_brk_overheremitchell"; + level.scr_sound[var_00]["detroit_brk_thoughtyouwerecompromised"] = "detroit_brk_thoughtyouwerecompromised"; + level.scr_sound[var_00]["detroit_brk_patrolupahead"] = "detroit_brk_patrolupahead"; + level.scr_sound[var_00]["detroit_brk_needtoaccelerateourtimeline"] = "detroit_brk_needtoaccelerateourtimeline"; + level.scr_sound[var_00]["detroit_brk_onyou"] = "detroit_brk_onyou"; + level.scr_sound[var_00]["detroit_brk_dropthemnow"] = "detroit_brk_dropthemnow"; + level.scr_sound[var_00]["detroit_brk_tooslow"] = "detroit_brk_tooslow"; + level.scr_sound[var_00]["detroit_brk_moreontheway"] = "detroit_brk_moreontheway"; + level.scr_sound[var_00]["detroit_brk_jokerineedasitrep"] = "detroit_brk_jokerineedasitrep"; + level.scr_radio["detroit_jkr_wereatthecheckpointon"] = "detroit_jkr_wereatthecheckpointon"; + level.scr_sound[var_00]["detroit_brk_engageatwill"] = "detroit_brk_engageatwill"; + level.scr_sound[var_00]["det_gdn_useyouroverdrive"] = "det_gdn_useyouroverdrive"; + level.scr_sound[var_00]["detroit_brk_theretheyareletsmove"] = "detroit_brk_theretheyareletsmove"; + level.scr_sound[var_00]["detroit_brk_statusonthedoctor"] = "detroit_brk_statusonthedoctor"; + level.scr_sound[var_01]["detroit_jkr_biometrictracehasalock"] = "detroit_jkr_biometrictracehasalock"; + level.scr_sound[var_00]["detroit_brk_good"] = "detroit_brk_good"; + level.scr_sound[var_01]["detroit_jkr_go"] = "detroit_jkr_go"; + level.scr_sound[var_00]["detroit_brk_drones"] = "detroit_brk_drones"; + level.scr_sound[var_00]["detroit_brk_hospitalonehundredmeters"] = "detroit_brk_hospitalonehundredmeters"; + level.scr_sound[var_01]["det_jkr_wegotnocoveron"] = "det_jkr_wegotnocoveron"; + level.scr_sound[var_00]["detroit_brk_thetruck"] = "detroit_brk_thetruck"; + level.scr_sound[var_00]["detroit_brk_useyourexo"] = "detroit_brk_useyourexo"; + level.scr_sound[var_00]["detroit_brk_parkercoverus"] = "detroit_brk_parkercoverus"; + level.scr_sound[var_00]["detroit_brk_push"] = "detroit_brk_push"; + level.scr_sound[var_00]["detroit_brk_mitchellpush"] = "detroit_brk_mitchellpush"; + level.scr_sound[var_00]["detroit_brk_entrypointtotheright"] = "detroit_brk_entrypointtotheright"; + level.scr_sound[var_00]["detroit_brk_movemove"] = "detroit_brk_movemove"; + level.scr_sound[var_01]["detroit_jkr_doctorsclose"] = "detroit_jkr_doctorsclose"; + level.scr_sound[var_00]["detroit_brk_aliveatallcosts"] = "detroit_brk_aliveatallcosts"; + level.scr_sound[var_00]["det_gdn_flashbang"] = "det_gdn_flashbang"; + level.scr_sound[var_00]["detroit_brk_setthebreach"] = "detroit_brk_setthebreach"; + level.scr_sound[var_00]["detroit_brk_mitchellsetthebreachcharge"] = "detroit_brk_mitchellsetthebreachcharge"; + level.scr_sound[var_00]["detroit_brk_securethedoor"] = "detroit_brk_securethedoor"; + level.scr_sound[var_11]["det_dcr_painreaction"] = "det_dcr_painreaction"; + level.scr_sound[var_11]["detroit_dcr_dontshoot"] = "detroit_dcr_dontshoot"; + level.scr_sound[var_00]["det_gdn_mitchellgrabhim"] = "det_gdn_mitchellgrabhim"; + level.scr_sound[var_00]["det_gdn_getthedoctormitchell"] = "det_gdn_getthedoctormitchell"; + level.scr_sound[var_00]["det_gdn_grabhimmitchell"] = "det_gdn_grabhimmitchell"; + level.scr_sound[var_00]["detroit_brk_seenyourpalhadesrecently"] = "detroit_brk_seenyourpalhadesrecently"; + level.scr_sound[var_11]["detroit_dcr_iwonttellyouanything"] = "detroit_dcr_iwonttellyouanything"; + level.scr_sound[var_00]["detroit_brk_thatswhattheyallsay"] = "detroit_brk_thatswhattheyallsay"; + level.scr_sound[var_11]["detroit_dcr_youthinkthischangesanything"] = "detroit_dcr_youthinkthischangesanything"; + level.scr_sound[var_01]["detroit_jkr_nottoday"] = "detroit_jkr_nottoday"; + level.scr_sound[var_00]["detroit_brk_baganddraghim"] = "detroit_brk_baganddraghim"; + level.scr_sound[var_01]["detroit_brk_withpleasure"] = "detroit_brk_withpleasure"; + level.scr_sound[var_00]["detroit_brk_prophetwehavethepackage"] = "detroit_brk_prophetwehavethepackage"; + level.scr_radio["detroit_prt_copythatbravotwoone"] = "detroit_prt_copythatbravotwoone"; + level.scr_sound[var_00]["detroit_brk_movingtotherv"] = "detroit_brk_movingtotherv"; + level.scr_sound[var_00]["detroit_brk_clear"] = "detroit_brk_clear"; + level.scr_sound[var_00]["detroit_brk_move2"] = "detroit_brk_move2"; + level.scr_sound[var_00]["detroit_brk_lockedmitchellhitit"] = "detroit_brk_lockedmitchellhitit"; + level.scr_sound[var_00]["detroit_brk_hitthedoormitchell"] = "detroit_brk_hitthedoormitchell"; + level.scr_radio["detroit_slr_freezenobodymove"] = "detroit_slr_freezenobodymove"; + level.scr_sound[var_00]["detroit_brk_notplanningtomate"] = "detroit_brk_notplanningtomate"; + level.scr_sound[var_01]["detroit_jkr_boss"] = "detroit_jkr_boss"; + level.scr_sound[var_00]["detroit_brk_easyjokerwerejusttalking"] = "detroit_brk_easyjokerwerejusttalking"; + level.scr_radio["detroit_slr_whosyourcatch"] = "detroit_slr_whosyourcatch"; + level.scr_sound[var_00]["detroit_brk_thatsclassified"] = "detroit_brk_thatsclassified"; + level.scr_radio["detroit_slr_reactionaryforcesareinbound"] = "detroit_slr_reactionaryforcesareinbound"; + level.scr_sound[var_00]["detroit_brk_iliketoknowwhos"] = "detroit_brk_iliketoknowwhos"; + level.scr_radio["detroit_slr_thatsclassifiedmate"] = "detroit_slr_thatsclassifiedmate"; + level.scr_sound[var_00]["detroit_brk_alrightletsmove"] = "detroit_brk_alrightletsmove"; + level.scr_sound[var_01]["detroit_jkr_thehellwasthat"] = "detroit_jkr_thehellwasthat"; + level.scr_sound[var_00]["detroit_brk_fuckknows"] = "detroit_brk_fuckknows"; + level.scr_sound[var_00]["detroit_brk_onthebikesmove"] = "detroit_brk_onthebikesmove"; + level.scr_sound[var_00]["detroit_brk_mitchellgetonthebike"] = "detroit_brk_mitchellgetonthebike"; + level.scr_sound[var_00]["det_brk_lookout"] = "det_brk_lookout"; + level.scr_sound[var_00]["detroit_brk_watchit"] = "detroit_brk_watchit"; + level.scr_sound[var_00]["detroit_brk_gogogo"] = "detroit_brk_gogogo"; + level.scr_sound[var_00]["det_brk_mitchellilostyou"] = "det_brk_mitchellilostyou"; + level.scr_sound[var_00]["det_brk_mitchellkeepup"] = "det_brk_mitchellkeepup"; + level.scr_sound[var_00]["det_brk_keepgoing"] = "det_brk_keepgoing"; + level.scr_sound[var_00]["detroit_brk_theresthegate"] = "detroit_brk_theresthegate"; + level.scr_sound[var_00]["det_brk_prophettargetissecured"] = "det_brk_prophettargetissecured"; + level.scr_sound[var_01]["detroit_jkr_hopethisassholeisworth"] = "detroit_jkr_hopethisassholeisworth"; + level.scr_sound[var_00]["detroit_brk_hewillbe"] = "detroit_brk_hewillbe"; +} + +//Function Number: 3 +init_dialogue_flags() +{ + common_scripts\utility::flag_init("vo_refugee_camp_intro"); + common_scripts\utility::flag_init("vo_refugee_camp_meet_joker"); + common_scripts\utility::flag_init("vo_civ_convo_01"); + common_scripts\utility::flag_init("vo_refugee_camp_scanner"); + common_scripts\utility::flag_init("vo_refugee_camp_security_checkpoint"); + common_scripts\utility::flag_init("vo_camp_bike_ready"); + common_scripts\utility::flag_init("vo_autopilot_engaged"); + common_scripts\utility::flag_init("vo_drive_in"); + common_scripts\utility::flag_init("vo_drive_in_mech_scene"); + common_scripts\utility::flag_init("vo_school_exterior"); + common_scripts\utility::flag_init("vo_school_cleaning_crew_ahead"); + common_scripts\utility::flag_init("vo_school_checkpoint_blue"); + common_scripts\utility::flag_init("vo_school_light_burst_dialogue"); + common_scripts\utility::flag_init("vo_school_deadroom"); + common_scripts\utility::flag_init("vo_school_stairs"); + common_scripts\utility::flag_init("vo_school_thisway"); + common_scripts\utility::flag_init("vo_school_shimmy"); + common_scripts\utility::flag_init("vo_school_holdtight"); + common_scripts\utility::flag_init("vo_school_kva_checkcomms"); + common_scripts\utility::flag_init("vo_school_burke_post_fall"); + common_scripts\utility::flag_init("vo_school_basement_sawsomething"); + common_scripts\utility::flag_init("vo_school_basement_rats"); + common_scripts\utility::flag_init("vo_school_kva_copyalert"); + common_scripts\utility::flag_init("vo_school_burke_external"); + common_scripts\utility::flag_init("vo_alley_burke_downhere"); + common_scripts\utility::flag_init("vo_alley_burke_overhere"); + common_scripts\utility::flag_init("vo_alley_burke_reunite"); + common_scripts\utility::flag_init("vo_alley_burke_patrol"); + common_scripts\utility::flag_init("vo_alley_burke_too_slow"); + common_scripts\utility::flag_init("vo_alley_combat"); + common_scripts\utility::flag_init("vo_office_reunion_start"); + common_scripts\utility::flag_init("flicker_street_lights"); + common_scripts\utility::flag_init("vo_office_reunion_doctor"); + common_scripts\utility::flag_init("vo_exo_push_start"); + common_scripts\utility::flag_init("vo_exo_push_entry_point"); + common_scripts\utility::flag_init("vo_hospital_capture"); + common_scripts\utility::flag_init("vo_sentinel_reveal"); + common_scripts\utility::flag_init("vo_exit_drive_bikes_reached"); + common_scripts\utility::flag_init("vo_exit_drive_chopper_1"); + common_scripts\utility::flag_init("vo_exit_drive_dealership"); + common_scripts\utility::flag_init("vo_exit_drive_park_barrage"); + common_scripts\utility::flag_init("vo_exit_drive_building_interior"); + common_scripts\utility::flag_init("vo_exit_drive_trains_1"); + common_scripts\utility::flag_init("vo_exit_drive_jeeps_1"); + common_scripts\utility::flag_init("vo_exit_drive_jeeps_2"); + common_scripts\utility::flag_init("vo_exit_drive_chopper_3"); + common_scripts\utility::flag_init("vo_exit_drive_final_straightaway_1"); +} + +//Function Number: 4 +start_dialogue_threads() +{ + thread refugee_camp_dialogue(); + thread drive_in_mech_checkpoint_dialogue(); + thread drive_in_dialogue(); + thread school_dialogue(); + thread alley_dialogue(); + thread office_dialogue(); + thread exo_push_dialogue(); + thread exo_push_exit_enter_hospital_dialogue(); + thread hospital_dialogue(); + thread sentintel_reveal_dialogue(); + thread exit_drive_prepare_dialogue(); + thread exit_drive_dialogue(); + thread exit_drive_failed_dialogue(); +} + +//Function Number: 5 +refugee_camp_dialogue() +{ + thread refugee_camp_intro_dialogue(); + thread refugee_camp_civ_convo_01(); + thread refugee_camp_security_checkpoint_dialogue(); + thread refugee_camp_autopilot_engaged(); + thread scanner_pa_vo(); +} + +//Function Number: 6 +refugee_camp_intro_dialogue() +{ + common_scripts\utility::flag_wait("vo_refugee_camp_intro"); + wait(7.8); + common_scripts\utility::flag_wait("vo_refugee_camp_meet_joker"); + soundscripts\_snd::snd_message("begin_intro_conversation"); + level.joker maps\_utility::dialogue_queue("detroit_jkr_burkeyoulooklikeshit"); + wait(0.5); + level.burke maps\_utility::dialogue_queue("detroit_brk_beengoingtwentytwodaysstraight"); + wait(0.5); + level.joker maps\_utility::dialogue_queue("detroit_jkr_copythat"); + level.joker maps\_utility::dialogue_queue("detroit_jkr_theyweregoingtostart"); + level.burke maps\_utility::dialogue_queue("detroit_brk_theyreprotectingourtargetdr"); + level.joker maps\_utility::dialogue_queue("detroit_jkr_midtownhospitalweregreen"); + level.burke maps\_utility::dialogue_queue("det_gdn_letsgetitdone"); + level notify("end_intro_conversation"); + common_scripts\utility::flag_set("begin_pa_system_dialogue"); + wait(10); + soundscripts\_snd::snd_message("start_stage_dialog"); +} + +//Function Number: 7 +refugee_camp_civ_convo_01() +{ + common_scripts\utility::flag_wait("vo_civ_convo_01"); + level.civ1 maps\_utility::dialogue_queue("detroit_cv1_istillhaventbeenable"); + level.civ2 maps\_utility::dialogue_queue("detroit_cv2_imsurehesfine"); + level.civ3 maps\_utility::dialogue_queue("detroit_cv3_theysayitsgoingto"); + level.civ4 maps\_utility::dialogue_queue("detroit_cv4_andyoutrustthem"); + level.civ3 maps\_utility::dialogue_queue("detroit_cv3_doihaveachoice"); + soundscripts\_snd::snd_music_message("end_refugee_camp_civ_convo_01"); +} + +//Function Number: 8 +refugee_camp_security_checkpoint_dialogue() +{ + common_scripts\utility::flag_wait("vo_refugee_camp_security_checkpoint"); + wait(6); + level.camp_scanner_guy maps\_utility::dialogue_queue("detroit_atd_captain"); + common_scripts\utility::flag_wait("joker_deliver_decon_line"); + wait(5.94); + level.joker maps\_utility::dialogue_queue("detroit_jkr_whatthehellarethe"); + wait(1); + level.burke maps\_utility::dialogue_queue("detroit_brk_anemptycitywithoutpolice"); + level.camp_scanner_guy maps\_utility::dialogue_queue("detroit_atd_cleargoodluckoutthere"); + wait(3); + level.bones maps\_utility::dialogue_queue("detroit_trs_gideon"); + level.burke maps\_utility::dialogue_queue("detroit_brk_torresbikesready"); + level.bones maps\_utility::dialogue_queue("detroit_trs_rogergoodtogo"); + wait(0.35); + level.burke maps\_utility::dialogue_queue("detroit_brk_saddleupmitchell"); + wait(1.5); + common_scripts\utility::flag_set("vo_camp_bike_ready"); +} + +//Function Number: 9 +refugee_camp_autopilot_engaged() +{ + common_scripts\utility::flag_wait("vo_camp_bike_ready"); + thread burke_ask_player_to_use_bike(); + common_scripts\utility::flag_wait("vo_autopilot_engaged"); + wait(4); + level.burke maps\_utility::dialogue_queue("detroit_brk_keepitonautopilotfor"); + wait(4.5); + level maps\_utility::dialogue_queue("detroit_prt_bravotwooneweveisolatedthe"); + wait(2); + level.burke maps\_utility::dialogue_queue("detroit_brk_copyprophet"); + level maps\_utility::dialogue_queue("detroit_prt_thedoctorsnogoodto"); + wait(0.25); + level.burke maps\_utility::dialogue_queue("detroit_brk_rogerbravoout"); +} + +//Function Number: 10 +pa_system_filler_after_joker() +{ + common_scripts\utility::flag_wait("begin_pa_system_dialogue"); + wait(3.25); + maps\_utility::dialogue_queue("detroit_pa_attentioncurfewisinone2"); + wait(0.82); + maps\_utility::dialogue_queue("detroit_pa_remembertohaveyouridentification2"); + wait(1.16); + maps\_utility::dialogue_queue("detroit_pa_reportanysuspiciousactivityto2"); + wait(1.62); + maps\_utility::dialogue_queue("detroit_pa_noncompliancewithyoursecurityprotocol2"); +} + +//Function Number: 11 +scanner_pa_vo() +{ + common_scripts\utility::flag_wait("vo_refugee_camp_scanner"); + wait(0.5); + maps\_utility::dialogue_queue("det_cmr1_scanningforisotopespleasewait"); +} + +//Function Number: 12 +burke_ask_player_to_use_bike() +{ + level endon("player_has_used_bike"); + var_00 = 0; + var_01 = 0; + for(;;) + { + wait(randomfloatrange(4,7)); + if(var_00 == 0) + { + if(common_scripts\utility::flag("begin_player_mount_bike")) + { + return; + } + + level.burke maps\_utility::dialogue_queue("detroit_brk_getonthebike"); + var_00++; + } + + wait(randomfloatrange(4,7)); + if(var_00 == 1) + { + if(common_scripts\utility::flag("begin_player_mount_bike")) + { + return; + } + + level.burke maps\_utility::dialogue_queue("detroit_brk_letshititmitchell"); + var_00++; + } + + wait(randomfloatrange(4,7)); + if(var_00 == 2) + { + var_02 = randomint(3); + if(var_02 < 2) + { + if(common_scripts\utility::flag("begin_player_mount_bike")) + { + return; + } + + level.burke maps\_utility::dialogue_queue("det_gdn_moveitforfuckssake"); + var_00 = 0; + } + else + { + var_00 = 0; + } + } + } +} + +//Function Number: 13 +drive_in_mech_checkpoint_dialogue() +{ + common_scripts\utility::flag_wait("vo_drive_in_mech_scene"); + wait(28); + level.hoverbike_meet_up_mech1 maps\_utility::dialogue_queue("detroit_mch_nameandordernumber"); + wait(0.5); + level.burke maps\_utility::dialogue_queue("detroit_brk_burkeorder5527"); + wait(1.5); + level.hoverbike_meet_up_mech1 maps\_utility::dialogue_queue("detroit_mch_holdon"); + wait(2); + level.hoverbike_meet_up_mech1 maps\_utility::dialogue_queue("det_mch_gotfouroperativesonbikes"); + common_scripts\utility::flag_set("portal_grp_gate_on"); + wait(2); + level.hoverbike_meet_up_mech1 maps\_utility::dialogue_queue("detroit_mch_okyouregood"); +} + +//Function Number: 14 +drive_in_dialogue() +{ + common_scripts\utility::flag_wait("vo_drive_in"); + wait(3.6); + level.burke maps\_utility::dialogue_queue("detroit_brk_prophetbravotwoone"); + level.burke maps\_utility::dialogue_queue("detroit_brk_staylockedon"); + wait(7); + level.bones maps\_utility::dialogue_queue("detroit_trs_cantbelievethisisdetroit"); + wait(1); + level.joker maps\_utility::dialogue_queue("detroit_jkr_hasntchangedthatmuch"); + wait(18); + level.burke maps\_utility::dialogue_queue("detroit_brk_linkuppointupahead"); + wait(2); + level.burke maps\_utility::dialogue_queue("detroit_brk_prophetbravotwooneatlinkuppoint"); + level maps\_utility::dialogue_queue("detroit_prt_rogerthatbravotwoone"); +} + +//Function Number: 15 +school_dialogue() +{ + thread school_exterior_dialogue(); + thread school_exterior_cleaning_crew_dialogue(); + thread school_enter_dialogue(); + thread school_light_burst_dialogue(); + thread school_deadroom_dialogue(); + thread school_stairs_dialogue(); + thread school_thisway_dialogue(); + thread school_shimmy_dialogue(); + thread school_kva_basement_rats_dialogue(); + thread school_burke_external(); +} + +//Function Number: 16 +school_exterior_dialogue() +{ + common_scripts\utility::flag_wait("vo_school_exterior"); + soundscripts\_snd::snd_message("walk_to_school"); + level.burke maps\_utility::dialogue_queue("detroit_brk_jokerparkeryouknowyour"); + level.joker maps\_utility::dialogue_queue("detroit_jkr_rogerthat"); + wait(5); + level maps\_utility::dialogue_queue("detroit_prt_isrdetectingmovementnorthwest"); + level.burke maps\_utility::dialogue_queue("detroit_brk_wellkeepourheadson"); +} + +//Function Number: 17 +school_exterior_cleaning_crew_dialogue() +{ + common_scripts\utility::flag_wait("vo_school_cleaning_crew_ahead"); + wait(2); + level.burke maps\_utility::dialogue_queue("detroit_brk_cleanupcrewupahead"); + wait(2); + level.burke maps\_utility::dialogue_queue("detroit_brk_watchyourroemaintainstealth"); +} + +//Function Number: 18 +school_enter_dialogue() +{ + common_scripts\utility::flag_wait("vo_school_checkpoint_blue"); + wait(8); + level.burke maps\_utility::dialogue_queue("detroit_brk_prophetwereatcheckpointblue"); + level maps\_utility::dialogue_queue("detroit_prt_copyweretrackingyou"); +} + +//Function Number: 19 +school_light_burst_dialogue() +{ + common_scripts\utility::flag_wait("vo_school_light_burst_dialogue"); + level.burke maps\_utility::dialogue_queue("detroit_brk_shit"); + wait(3.2); + level.burke maps\_utility::dialogue_queue("det_gdn_scoff"); +} + +//Function Number: 20 +school_deadroom_dialogue() +{ + common_scripts\utility::flag_wait("vo_school_deadroom"); + level.burke maps\_utility::dialogue_queue("detroit_brk_fuckme"); + wait(5); + level.burke maps\_utility::dialogue_queue("detroit_brk_jokerivegotbodies"); + level maps\_utility::dialogue_queue("detroit_jkr_copy3"); + wait(1); + level.burke maps\_utility::dialogue_queue("detroit_brk_ifthekvahavebeen"); + wait(6); + common_scripts\utility::flag_set("burke_needs_to_idle"); + level.burke maps\_utility::dialogue_queue("detroit_brk_mitchelltakepoint"); +} + +//Function Number: 21 +school_stairs_dialogue() +{ + common_scripts\utility::flag_wait("vo_school_stairs"); + level.burke maps\_utility::dialogue_queue("detroit_brk_upthestairs"); + soundscripts\_snd::snd_message("school_upthestairs"); +} + +//Function Number: 22 +school_thisway_dialogue() +{ + common_scripts\utility::flag_wait("vo_school_thisway"); + level.burke maps\_utility::dialogue_queue("detroit_brk_thisway"); +} + +//Function Number: 23 +school_shimmy_dialogue() +{ + common_scripts\utility::flag_wait("vo_school_shimmy"); + level.school_kva_fall_notice_guy.animname = "kva"; + level maps\_utility::dialogue_queue("detroit_kva_whatwasthat"); + wait(0.5); + level.burke maps\_utility::dialogue_queue("detroit_brk_easy"); + wait(1); + level.school_kva_fall_notice_guy maps\_utility::dialogue_queue("detroit_kva_overhere"); + wait(1.5); + level.burke maps\_utility::dialogue_queue("detroit_brk_letthempass"); + common_scripts\utility::flag_wait("vo_school_holdtight"); + wait(8); + level.burke maps\_utility::dialogue_queue("detroit_brk_mitchellmitchell2"); + common_scripts\utility::flag_wait("vo_school_kva_checkcomms"); + common_scripts\utility::flag_wait("vo_school_burke_post_fall"); + wait(4); + level.burke maps\_utility::dialogue_queue("detroit_brk_mitchellmitchell"); + wait(5); + level.burke maps\_utility::dialogue_queue("detroit_brk_mitchellimseeingalot"); +} + +//Function Number: 24 +school_kva_basement_dialogue() +{ + level endon("kva_thoughtisawsomething"); + var_00 = common_scripts\utility::flag_wait("vo_school_basement_sawsomething"); + if(isdefined(var_00)) + { + if(!isdefined(var_00.animname)) + { + var_00.animname = "kva"; + } + else if(var_00.animname != "kva") + { + return; + } + + var_00 thread maps\_utility::dialogue_queue("detroit_kva_thoughtisawsomething"); + level notify("kva_thoughtisawsomething"); + } +} + +//Function Number: 25 +school_kva_basement_rats_dialogue() +{ + common_scripts\utility::flag_wait("vo_school_basement_rats"); + wait(27.03); + level.kva_basement_guy endon("spotted_player"); + level.flashlight_guy endon("spotted_player"); + common_scripts\utility::flag_wait("copy_that_stay_alert"); + wait(2.5); +} + +//Function Number: 26 +school_burke_external() +{ + level endon("vo_alley_burke_downhere"); + common_scripts\utility::flag_wait("vo_school_burke_external"); + wait(4); + level.burke maps\_utility::dialogue_queue("detroit_brk_imexternal"); +} + +//Function Number: 27 +alley_dialogue() +{ + thread alley_beckon(); + thread alley_meetup_dialogue(); +} + +//Function Number: 28 +alley_beckon() +{ + common_scripts\utility::flag_wait("vo_alley_burke_downhere"); + level.burke maps\_utility::dialogue_queue("detroit_brk_mitchelldownhere"); + common_scripts\utility::flag_wait("vo_alley_burke_overhere"); + level.burke maps\_utility::dialogue_queue("detroit_brk_overheremitchell"); +} + +//Function Number: 29 +alley_meetup_dialogue() +{ + level endon("stop_burke_asking_player_to_drop_patrol"); + common_scripts\utility::flag_wait("vo_alley_burke_reunite"); + thread alley_fail_dialogue(); + thread alley_combat_dialogue(); + level.burke maps\_utility::dialogue_queue("detroit_brk_thoughtyouwerecompromised"); + common_scripts\utility::flag_wait("vo_alley_burke_patrol"); + level.burke maps\_utility::dialogue_queue("detroit_brk_patrolupahead"); + if(common_scripts\utility::flag("stop_burke_asking_player_to_drop_patrol") == 0) + { + level.burke maps\_utility::dialogue_queue("detroit_brk_needtoaccelerateourtimeline"); + wait(2); + } + + if(common_scripts\utility::flag("stop_burke_asking_player_to_drop_patrol") == 0) + { + level.burke maps\_utility::dialogue_queue("detroit_brk_onyou"); + wait(2); + } + + if(common_scripts\utility::flag("stop_burke_asking_player_to_drop_patrol") == 0) + { + level.burke maps\_utility::dialogue_queue("detroit_brk_dropthemnow"); + wait(3); + } +} + +//Function Number: 30 +alley_fail_dialogue() +{ + common_scripts\utility::flag_wait("vo_alley_burke_too_slow"); + if(!common_scripts\utility::flag("one_street_guy_dead_kickoff_fight_now")) + { + level.burke maps\_utility::dialogue_queue("detroit_brk_tooslow"); + } +} + +//Function Number: 31 +alley_combat_dialogue() +{ + common_scripts\utility::flag_wait("vo_alley_combat"); + level notify("stop_burke_asking_player_to_drop_patrol"); + if(!common_scripts\utility::flag("vo_alley_burke_too_slow")) + { + if(isdefined(level.burke.function_stack)) + { + level.burke maps\_utility::function_stack_clear(); + } + + level.burke stopsounds(); + maps\_utility::radio_dialogue_stop(); + } + + soundscripts\_snd::snd_message("mus_alley_combat"); + wait(2); + level.burke maps\_utility::dialogue_queue("detroit_brk_moreontheway"); +} + +//Function Number: 32 +office_dialogue() +{ + thread office_interior_dialogue(); + thread office_atrium_dialogue(); + thread player_reached_window(); + thread office_reunion_dialogue(); +} + +//Function Number: 33 +office_interior_dialogue() +{ + common_scripts\utility::flag_wait("sitrep_dialogue_line"); + wait(1); + level.burke maps\_utility::dialogue_queue("detroit_brk_jokerineedasitrep"); + wait(1); + level maps\_utility::dialogue_queue("detroit_jkr_wereatthecheckpointon"); + wait(1); + level.burke maps\_utility::dialogue_queue("detroit_brk_engageatwill"); +} + +//Function Number: 34 +office_atrium_dialogue() +{ + common_scripts\utility::flag_wait("spawn_second_floor_spawners"); + wait(2.3); + level.burke maps\_utility::dialogue_queue("det_gdn_useyouroverdrive"); +} + +//Function Number: 35 +player_reached_window() +{ + common_scripts\utility::flag_wait("move_burke_down"); + level.burke maps\_utility::dialogue_queue("detroit_brk_theretheyareletsmove"); +} + +//Function Number: 36 +office_reunion_dialogue() +{ + common_scripts\utility::flag_wait("vo_office_reunion_start"); + var_00 = 1; + while(var_00 == 1) + { + if(!isdefined(level.joker)) + { + wait(0.05); + } + + if(isdefined(level.joker)) + { + var_00 = 0; + } + } + + while(!level.burke cansee(level.joker)) + { + wait(0.1); + } + + soundscripts\_snd::snd_message("office_reunion_dialogue"); + common_scripts\utility::flag_wait("vo_office_reunion_doctor"); + level.burke maps\_utility::dialogue_queue("detroit_brk_statusonthedoctor"); + level.joker maps\_utility::dialogue_queue("detroit_jkr_biometrictracehasalock"); + level.burke maps\_utility::dialogue_queue("detroit_brk_good"); + common_scripts\utility::flag_set("flag_send_team_to_the_truck"); +} + +//Function Number: 37 +exo_push_dialogue() +{ + level endon("stop_vo_for_exo_push"); + common_scripts\utility::flag_wait_any("vo_exo_push_start","flag_send_team_to_the_truck"); + level.joker maps\_utility::dialogue_queue("det_jkr_wegotnocoveron"); + wait(0.5); + level.burke maps\_utility::dialogue_queue("detroit_brk_thetruck"); + wait(3); + level.burke maps\_utility::dialogue_queue("detroit_brk_hospitalonehundredmeters"); + wait(0.5); + level.joker maps\_utility::dialogue_queue("detroit_jkr_go"); + common_scripts\utility::flag_set("send_bones_joker_to_cover1"); + wait(2); + level.burke maps\_utility::dialogue_queue("detroit_brk_parkercoverus"); + exo_push_begin_nag_loop(); +} + +//Function Number: 38 +exo_push_begin_nag_loop() +{ + for(;;) + { + wait(4); + if(!common_scripts\utility::flag("exo_push_has_been_started")) + { + level.burke maps\_utility::dialogue_queue("detroit_brk_push"); + } + else if(common_scripts\utility::flag("exo_push_has_been_started")) + { + return; + } + + wait(6); + if(!common_scripts\utility::flag("exo_push_has_been_started")) + { + level.burke maps\_utility::dialogue_queue("detroit_brk_mitchellpush"); + continue; + } + + if(common_scripts\utility::flag("exo_push_has_been_started")) + { + return; + } + } +} + +//Function Number: 39 +exo_push_exit_enter_hospital_dialogue() +{ + common_scripts\utility::flag_wait("vo_exo_push_entry_point"); + level.burke maps\_utility::dialogue_queue("detroit_brk_entrypointtotheright"); + level.burke maps\_utility::dialogue_queue("detroit_brk_movemove"); +} + +//Function Number: 40 +hospital_dialogue() +{ + thread hospital_entry_dialogue(); + thread hospital_breach_prep_dialogue(); + thread hospital_capture_dialogue(); +} + +//Function Number: 41 +hospital_entry_dialogue() +{ + common_scripts\utility::flag_wait("vo_hospital_entry"); + level.joker maps\_utility::dialogue_queue("detroit_jkr_doctorsclose"); + level.burke maps\_utility::dialogue_queue("detroit_brk_aliveatallcosts"); + common_scripts\utility::flag_wait("flashbang"); + wait(0.4); + level.burke maps\_utility::dialogue_queue("det_gdn_flashbang"); +} + +//Function Number: 42 +hospital_breach_prep_dialogue() +{ + level endon("player breached and survived"); + common_scripts\utility::flag_wait("vo_hospital_breach_prep"); + level.burke maps\_utility::dialogue_queue("detroit_brk_setthebreach"); + wait(5); + level.burke maps\_utility::dialogue_queue("detroit_brk_mitchellsetthebreachcharge"); + wait(3); + level.burke maps\_utility::dialogue_queue("detroit_brk_securethedoor"); + for(;;) + { + wait(randomintrange(3,7)); + var_00 = randomint(2); + if(var_00 == 0) + { + level.burke maps\_utility::dialogue_queue("detroit_brk_mitchellsetthebreachcharge"); + continue; + } + + level.burke maps\_utility::dialogue_queue("detroit_brk_securethedoor"); + } +} + +//Function Number: 43 +hospital_capture_dialogue() +{ + common_scripts\utility::flag_wait("grab_the_doctor"); + level.doctor thread maps\_utility::dialogue_queue("detroit_dcr_dontshoot"); + soundscripts\_snd::snd_message("det_start_doctor_breathing",level.doctor); + common_scripts\utility::flag_set("show_grab_doctor_prompt"); + wait(0.8); + level.burke maps\_utility::dialogue_queue("det_gdn_mitchellgrabhim"); + thread grab_doctor_loop(); +} + +//Function Number: 44 +grab_doctor_loop() +{ + for(;;) + { + wait(randomintrange(5,8)); + if(common_scripts\utility::flag("doctor_grabbed")) + { + return; + } + else if(!common_scripts\utility::flag("doctor_grabbed")) + { + level.burke maps\_utility::dialogue_queue("det_gdn_getthedoctormitchell"); + } + + wait(randomintrange(4,6)); + if(common_scripts\utility::flag("doctor_grabbed")) + { + return; + } + else if(!common_scripts\utility::flag("doctor_grabbed")) + { + level.burke maps\_utility::dialogue_queue("det_gdn_grabhimmitchell"); + } + } +} + +//Function Number: 45 +sentintel_reveal_dialogue() +{ + thread sentinel_reveal_moment_dialogue(); +} + +//Function Number: 46 +sentintel_reveal_door_dialogue() +{ + level endon("vo_sentinel_reveal"); + common_scripts\utility::flag_wait("vo_sentinel_reveal_door"); + wait(5); +} + +//Function Number: 47 +sentinel_reveal_moment_dialogue() +{ + level endon("reached_the_bikes"); + common_scripts\utility::flag_wait("vo_sentinel_reveal"); + wait(6); + wait(9.25); + common_scripts\utility::flag_set("sentinel_recloak"); + wait(2); +} + +//Function Number: 48 +exit_drive_prepare_dialogue() +{ + common_scripts\utility::flag_wait("exit_drive_cinematic_start"); + wait(1); + level.joker maps\_utility::dialogue_queue("detroit_jkr_thehellwasthat"); + wait(0.3); + level.burke maps\_utility::dialogue_queue("detroit_brk_fuckknows"); + wait(2.8); + if(common_scripts\utility::flag("player_on_exitdrive_jetbike") == 0) + { + level.burke maps\_utility::dialogue_queue("detroit_brk_onthebikesmove"); + thread exit_drive_prepare_dialogue_nag(); + } +} + +//Function Number: 49 +exit_drive_prepare_dialogue_nag() +{ + for(;;) + { + wait(randomintrange(5,8)); + if(common_scripts\utility::flag("player_on_exitdrive_jetbike")) + { + return; + } + + if(!common_scripts\utility::flag("player_on_exitdrive_jetbike")) + { + level.burke maps\_utility::dialogue_queue("detroit_brk_mitchellgetonthebike"); + } + + wait(randomintrange(5,8)); + if(common_scripts\utility::flag("player_on_exitdrive_jetbike")) + { + return; + } + + if(!common_scripts\utility::flag("player_on_exitdrive_jetbike")) + { + level.burke maps\_utility::dialogue_queue("detroit_brk_onthebikesmove"); + } + } +} + +//Function Number: 50 +exit_drive_dialogue() +{ + common_scripts\utility::flag_wait("exit_drive_started"); + wait(1); + level.burke maps\_utility::dialogue_queue("detroit_brk_gogogo"); + soundscripts\_snd::snd_music_message("mus_exit_drive"); + common_scripts\utility::flag_wait("vo_exit_drive_chopper_1"); + common_scripts\utility::flag_wait("vo_exit_drive_dealership"); + common_scripts\utility::flag_wait("vo_exit_drive_park_barrage"); + level.burke maps\_utility::dialogue_queue("detroit_brk_watchit"); + common_scripts\utility::flag_wait("vo_exit_drive_building_interior"); + common_scripts\utility::flag_wait("vo_exit_drive_trains_1"); + level.burke maps\_utility::dialogue_queue("det_brk_lookout"); + common_scripts\utility::flag_wait("vo_exit_drive_jeeps_1"); + common_scripts\utility::flag_wait("vo_exit_drive_jeeps_2"); + common_scripts\utility::flag_wait("vo_exit_drive_chopper_3"); + common_scripts\utility::flag_wait("vo_exit_drive_final_straightaway_1"); + common_scripts\utility::flag_wait("flag_gate_in_sight"); + level.burke maps\_utility::dialogue_queue("detroit_brk_theresthegate"); + level waittill("detroit_ending_VO"); + wait(4); + level.burke maps\_utility::dialogue_queue("det_brk_prophettargetissecured"); +} + +//Function Number: 51 +exit_drive_failed_dialogue() +{ + level waittill("exit_drive_failed"); + level.burke maps\_utility::dialogue_queue("det_brk_mitchellilostyou"); +} + +//Function Number: 52 +init_pcap_vo() +{ + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%det_camp_intro_burke,"aud_det_camp_intro_burke_start",::det_intro_gdn); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%det_doctor_capture_burke_hit_doc,"aud_start_aft_doctor_capture_guy1",::det_doc_cap_gdn); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%det_doctor_capture_doc_react,"aud_start_aft_doctor_capture_guy1",::det_doc_cap_doc); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%det_doctor_capture_joker_grab_doc,"aud_start_aft_doctor_capture_guy1",::det_doc_cap_jkr); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%det_hos_sent_meet_burke,"aud_start_aft_sentinel_meetup",::det_sent_meet_brk); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%det_hos_sent_meet_guy1,"aud_start_aft_sentinel_meetup",::det_sent_meet_knx); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%det_hos_sent_meet_joker,"aud_start_aft_sentinel_meetup",::det_sent_meet_jkr); +} + +//Function Number: 53 +det_intro_gdn(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("det_gdn_welcometodetroit",4.15); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("det_gdn_twoandahalfmillion",7.09); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("det_gdn_nofuckinholidaybutthey",10.24); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("det_gdn_nowthekvahavethe",15.12); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("det_gdn_fuckme",19.12); +} + +//Function Number: 54 +det_doc_cap_gdn(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("detroit_brk_seenyourpalhadesrecently",2.27); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("detroit_brk_thatswhattheyallsay",8.29); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("detroit_brk_baganddraghim",21.15); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("det_gdn_mitchellonme",24.06,"sounddone_det_gdn_mitchellonme"); + thread wait_for_sounddone_det_gdn_mitchellonme(); +} + +//Function Number: 55 +wait_for_sounddone_det_gdn_mitchellonme() +{ + level waittill("sounddone_det_gdn_mitchellonme"); + soundscripts\_snd::snd_music_message("mus_sounddone_det_gdn_mitchellonme"); +} + +//Function Number: 56 +det_doc_cap_doc(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("detroit_dcr_iwonttellyouanything",8); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("detroit_dcr_youthinkthischangesanything",12.09); +} + +//Function Number: 57 +det_doc_cap_jkr(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("detroit_jkr_nottoday",18); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("detroit_brk_withpleasure",22.21); +} + +//Function Number: 58 +det_sent_meet_brk(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("det_gdn_iliketoknowwhose",14.12); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("det_gdn_notsurewehavea",24.18); +} + +//Function Number: 59 +det_sent_meet_knx(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("det_knx_reactionaryforcesareinboundwe",7.21); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("det_knx_thatsclassifiedmate",16.27); + wait(17); + soundscripts\_snd::snd_message("det_knx_thatsclassifiedmate"); +} + +//Function Number: 60 +det_sent_meet_jkr(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("det_jkr_yousurewereokaywith",22.18); + wait(23); + soundscripts\_snd::snd_message("sentinel_reveal_final_vo"); +} + +//Function Number: 61 +init_plr_vo() +{ + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%det_school_fall_vm,"aud_det_school_fall_start",::det_school_fall_plr); +} + +//Function Number: 62 +det_school_fall_plr(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("det_plr_fall_01",0); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("det_plr_fall_02",13.18); +} \ No newline at end of file diff --git a/AW/PC/maps/df_canyon_script.gsc b/AW/PC/maps/df_canyon_script.gsc new file mode 100644 index 0000000..fd5307c --- /dev/null +++ b/AW/PC/maps/df_canyon_script.gsc @@ -0,0 +1,1797 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: df_canyon_script.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 89 + * Decompile Time: 1319 ms + * Timestamp: 4/22/2024 2:28:37 AM +*******************************************************************/ + +//Function Number: 1 +setup_canyon() +{ + maps\df_fly::setup_common(); + common_scripts\utility::flag_set("intro_finished"); + level.player thread maps\_hud_util::fade_out(0.1,"white"); + maps\df_fly_flight_code::flight_code_start("canyon_run_start"); + soundscripts\_snd::snd_message("snd_start_canyon"); + thread maps\df_fly::handle_gun_hint(); +} + +//Function Number: 2 +setup_canyon_old_controls() +{ + level.old_controls = 1; + setup_canyon(); +} + +//Function Number: 3 +setup_canyon2_old_controls() +{ + level.old_controls = 1; + setup_canyon2(); +} + +//Function Number: 4 +setup_canyon_dam_old_controls() +{ + level.old_controls = 1; + setup_canyon_dam(); +} + +//Function Number: 5 +setup_canyon3_old_controls() +{ + level.old_controls = 1; + setup_canyon3(); +} + +//Function Number: 6 +setup_canyon2() +{ + maps\df_fly::setup_common(); + common_scripts\utility::flag_set("intro_finished"); + thread maps\df_fly_flight_code::process_flight_path("canyon_run_start2_path"); + maps\df_fly_flight_code::flight_code_start("canyon_run_start2"); + common_canyon_funcs("canyon_ally_start2"); + soundscripts\_snd::snd_message("snd_start_canyon2"); +} + +//Function Number: 7 +setup_canyon_dam() +{ + maps\df_fly::setup_common(); + common_scripts\utility::flag_set("intro_finished"); + thread maps\df_fly_flight_code::process_flight_path("pre_dam_path"); + maps\df_fly_flight_code::flight_code_start("canyon_run_start_dam"); + common_canyon_funcs("canyon_ally_start_dam"); + common_scripts\utility::flag_set("turrets2"); + thread maps\df_fly_code::handle_turrets("enemy_turret_dam","turrets2","enemies6"); + soundscripts\_snd::snd_message("snd_start_canyon_dam"); +} + +//Function Number: 8 +setup_canyon3() +{ + maps\df_fly::setup_common(); + common_scripts\utility::flag_set("intro_finished"); + thread maps\df_fly_flight_code::process_flight_path("canyon_run_start3_path"); + maps\df_fly_flight_code::flight_code_start("canyon_run_start3"); + common_canyon_funcs("canyon_ally_start3"); + common_scripts\utility::flag_set("dam_cracks1"); + level.allies[2] thread redshirt_death_vo(); + soundscripts\_snd::snd_message("snd_start_canyon3"); +} + +//Function Number: 9 +setup_canyon_exit() +{ + maps\df_fly::setup_common(); + common_scripts\utility::flag_set("intro_finished"); + maps\df_fly_flight_code::flight_code_start("canyon_run_exit"); + soundscripts\_snd::snd_message("snd_start_canyon_exit"); +} + +//Function Number: 10 +spawn_allies(param_00) +{ + level.ally_ai_active = 1; + var_01 = [1,2,3]; + level.allies = []; + var_02 = getentarray(param_00,"targetname"); + foreach(var_04 in var_02) + { + var_05 = var_04 maps\df_fly_flight_code::make_ally_jet(level.plane); + switch(var_04.script_noteworthy) + { + case "canyon_ally1": + var_01[0] = var_05; + break; + + case "canyon_ally2": + var_01[1] = var_05; + break; + + case "canyon_ally3": + var_01[2] = var_05; + break; + } + } + + level.allies = var_01; + return var_01; +} + +//Function Number: 11 +common_canyon_funcs(param_00) +{ + level.base_agl = 0; + spawn_allies(param_00); + if(!isdefined(level.enemy_units)) + { + level.enemy_units = []; + } + + thread stay_low_nags(); + thread ambient_combat_vo(); + thread maps\df_fly_code::setup_destructibles(); + soundscripts\_snd::snd_music_message("df_fly_jet_combat"); + thread maps\df_fly::handle_gun_hint(); + thread bump_nag_vo(); +} + +//Function Number: 12 +hide_mountains(param_00) +{ + var_01 = getentarray("intro_mountain","targetname"); + if(maps\df_fly_flight_code::is_true(param_00)) + { + common_scripts\utility::array_call(var_01,::show); + return; + } + + common_scripts\utility::array_call(var_01,::hide); +} + +//Function Number: 13 +begin_canyon() +{ + thread maps\df_fly_flight_code::process_flight_path("canyon_run_start_path"); + var_00 = maps\_utility::obj("reach_obj"); + objective_add(var_00,"current",&"PLAYERPLANE_REACH_NEW_BAGHDAD"); + level.enemy_units = []; + level.base_agl = 0; + common_scripts\utility::flag_clear("target_player"); + wait(0.1); + thread maps\df_fly_flight_code::steering_hack(); + var_01 = getent("canyon_run_start","targetname"); + level.plane vehicle_teleport(var_01.origin,var_01.angles,1); + spawn_allies("canyon_ally"); + level.player thread maps\df_fly::wait_for_stick_press(); + var_02 = 0; + var_03 = getentarray("canyon_ally_redshirt","targetname"); + common_scripts\utility::array_thread(var_03,::maps\df_fly_flight_code::make_ally_jet,level.plane,0); + thread tanker_crash(); + wait(0.5); + level.player maps\_hud_util::fade_in(1,"white"); + maps\_utility::autosave_by_name("canyon_start"); + thread stay_low_nags(); + thread canyon_ally_vo(); + thread left_canyon1(); + thread maps\df_fly_code::handle_turrets("enemy_turret0","intro_finished","canyon_enemy2a"); + thread maps\df_fly_code::handle_turrets("canyon_turrets0","ally_fire1","canyon_enemy3_warning"); + thread maps\df_fly_code::setup_destructibles(); + thread handle_flak("flak_origin00","start_flak00"); + thread amb_sky_combat_setup(); + common_scripts\utility::flag_set("trig_amb_enemywave_starters"); + soundscripts\_snd::snd_message("snd_start_canyon"); + level.player thread maps\_utility::hintdisplayhandler("climb_hint",5); + level.next_obj_pos = 0; + var_04 = maps\df_fly_flight_code::spawn_enemy_jets("canyon_enemy_tut","targetname"); + thread ambient_combat_vo("control_check"); + thread handle_missile_hint(); + thread bump_nag_vo(); + var_05 = maps\df_fly_flight_code::spawn_enemy_jets("canyon_enemy1","targetname"); + thread invert_controls_prompt(); + thread maps\df_fly_code::fake_missile_from_behind_player("fake_missiles1","fake_missile_target1",undefined,undefined,3); + common_scripts\utility::flag_wait("enemy_ambush"); + thread maps\df_fly_code::handle_missile_jet("explode_wall_hoodoo_jet","missile_jet_exploding_hoodoo","explode_wall_hoodoo"); + wait 0.05; + var_06 = maps\_utility::remove_dead_from_array(var_05); + var_07 = maps\df_fly_flight_code::get_jet_array("canyon_ally3"); + common_scripts\utility::array_thread(var_07,::redshirt_death_vo); + if(var_06.size > 0) + { + level.player thread maps\df_fly_code::radio_dialog_add_and_go("df_mag_ambush"); + thread ambush_ambushed_vo(var_07,var_06); + wait(1); + thread maps\df_fly_flight_code::engage_enemies(var_06,var_07,0.5,3,1); + if(var_06.size > 0) + { + level.player thread maps\df_fly_code::radio_dialog_add_and_go("df_mag_painted"); + } + } + + common_scripts\utility::flag_wait("speed_boost1"); + thread handle_flak("flak_origin0","start_flak0"); + common_scripts\utility::flag_wait("enemies1b"); + maps\df_fly_flight_code::spawn_enemy_jets("canyon_enemy1b","targetname"); + level.allies = maps\_utility::remove_dead_from_array(level.allies); + var_06 = maps\_utility::remove_dead_from_array(var_06); + var_08 = var_06; + common_scripts\utility::array_thread(var_06,::maps\df_fly_flight_code::set_optimal_flight_dist,5000); + var_09 = 0; + foreach(var_0B in var_06) + { + var_0B.has_flares = 4; + var_0B maps\df_fly_flight_code::change_optimal_flight_distance(var_09); + var_09 = var_09 + 1000; + } + + common_scripts\utility::array_thread(level.allies,::maps\df_fly_flight_code::set_optimal_flight_dist,-5000); + common_scripts\utility::array_thread(var_06,::player_catch_up_on_boost,1500,1,7000); + common_scripts\utility::array_thread(var_06,::player_catch_up_on_boost,1500,0,5000); + common_scripts\utility::flag_wait("brake_hint"); + show_brake_hint(); + common_scripts\utility::flag_wait("canyon_enemy2a"); + thread maps\_utility::autosave_by_name("first corner"); + common_scripts\utility::flag_clear("target_player"); + var_06 = maps\df_fly_flight_code::spawn_enemy_jets("canyon_enemy2a"); + foreach(var_0B in var_06) + { + var_0B.has_flares = 2; + } + + common_scripts\utility::flag_wait("target_player"); + thread flare_warning(); + common_scripts\utility::flag_set("target_player"); + common_scripts\utility::flag_wait("ally_fire1"); + level.allies = maps\_utility::remove_dead_from_array(level.allies); + var_08 = maps\_utility::remove_dead_from_array(var_08); + if(var_08.size > 0) + { + foreach(var_0B in var_08) + { + var_0B.has_flares = 0; + } + + thread maps\df_fly_flight_code::engage_enemies(level.allies,var_08,2,3,1,2); + } + + level common_scripts\utility::waittill_any("autosave","pop_flares"); + var_06 = maps\_utility::remove_dead_from_array(var_06); + thread maps\df_fly_flight_code::engage_enemies(var_06,level.allies,0.25,2,2,1); + common_scripts\utility::flag_wait("autosave"); + maps\_utility::autosave_by_name("first_corner_done"); + maps\_utility::delaythread(3,::common_scripts\utility::flag_clear,"autosave"); + level.enemies = var_06; +} + +//Function Number: 14 +show_brake_hint() +{ + if(level.player usinggamepad()) + { + level.player thread maps\_utility::display_hint_timeout("airbrake_hint",5); + return; + } + + if(maps\_utility::is_command_bound("toggleprone")) + { + level.player thread maps\_utility::display_hint_timeout("airbrake_hint_pc_toggle",5); + return; + } + + if(maps\_utility::is_command_bound("+prone")) + { + level.player thread maps\_utility::display_hint_timeout("airbrake_hint_pc_hold",5); + return; + } +} + +//Function Number: 15 +handle_dying_player_brake_hint() +{ + setdvarifuninitialized("df_fly_deaths",0); + setdvar("df_fly_deaths",0); + var_00 = 0; + thread watch_for_deaths(); + for(;;) + { + wait(2); + var_01 = getdvarint("df_fly_deaths"); + if(var_00 != var_01) + { + var_00 = var_01; + if(var_01 >= 5) + { + thread show_brake_hint(); + var_01 = 0; + setdvar("df_fly_deaths",var_01); + } + } + } +} + +//Function Number: 16 +watch_for_deaths() +{ + for(;;) + { + level maps\_utility::add_wait(::common_scripts\utility::flag_wait,"missionfailed"); + level.player maps\_utility::add_wait(::maps\_utility::waittill_msg,"death"); + maps\_utility::do_wait_any(); + var_00 = getdvarint("df_fly_deaths"); + var_00++; + setdvar("df_fly_deaths",var_00); + wait(1); + } +} + +//Function Number: 17 +handle_missile_hint() +{ + common_scripts\utility::flag_wait("player_steered"); + level.player maps\_utility::display_hint_timeout("missile_hint",5); +} + +//Function Number: 18 +invert_controls_prompt() +{ + common_scripts\utility::flag_wait("hint_time"); + wait(0.05); + level.player luiopenmenu(&"flight_controls_setting_popmenu"); + wait(0.5); + maps\_utility::autosave_now(1); +} + +//Function Number: 19 +tanker_crash() +{ + var_00 = getent("crashing_tanker","targetname"); + var_01 = var_00 thread maps\_vehicle::spawn_vehicle_and_gopath(); + var_02 = maps\_utility::spawn_anim_model("refueler"); + var_02.origin = var_01.origin; + var_02.angles = var_01.angles; + var_02 linkto(var_01,"tag_origin",(0,0,0),(0,0,0)); + var_01 hide(); + playfxontag(common_scripts\utility::getfx("bagh_tanker_crash"),var_02,"TAG_ORIGIN"); + wait 0.05; + var_01 maps\_utility::ent_flag_clear("engineeffects"); + wait(0.25); + var_01 notify("stop_engineeffects"); + common_scripts\utility::flag_wait("tanker_impact"); + playfx(common_scripts\utility::getfx("canyon_jet_impact"),var_02.origin,anglestoforward(var_02.angles) * -1); + playfxontag(common_scripts\utility::getfx("bagh_tanker_dust_trail"),var_02,"TAG_ORIGIN"); + wait(7); + playfx(common_scripts\utility::getfx("bagh_dam_explosion"),var_02.origin); + stopfxontag(common_scripts\utility::getfx("bagh_tanker_crash"),var_02,"TAG_ORIGIN"); + stopfxontag(common_scripts\utility::getfx("bagh_hoodoo_dust_trail"),var_02,"TAG_ORIGIN"); + var_01 waittill("death"); + var_02 unlink(); + var_02 delete(); +} + +//Function Number: 20 +player_catch_up_on_boost(param_00,param_01,param_02) +{ + self endon("death"); + if(!level.player_boosting) + { + level waittill("player_boost_start"); + } + + maps\df_fly_flight_code::set_optimal_flight_dist(param_00); + if(isdefined(param_01)) + { + if(isdefined(param_02)) + { + while(isalive(self) && distance(level.player.origin,self.origin) > param_02) + { + wait(0.1); + } + } + + if(isdefined(self)) + { + self.has_flares = param_01; + } + } +} + +//Function Number: 21 +left_canyon1() +{ + var_00 = []; + common_scripts\utility::flag_wait("enemy_ambush"); + var_01 = maps\df_fly_flight_code::get_jet_array("canyon_enemy1_left","script_noteworthy"); + var_02 = maps\df_fly_flight_code::get_jet_array("canyon_enemy1_right","script_noteworthy"); + if(common_scripts\utility::flag("left_canyon1") && var_01.size > 1) + { + var_00 = var_02; + } + + if(!common_scripts\utility::flag("left_canyon1") && var_02.size > 1) + { + var_00 = var_01; + } + + foreach(var_04 in var_00) + { + var_04 delete(); + } +} + +//Function Number: 22 +begin_canyon2() +{ + hide_mountains(); + thread canyon_ally_vo2(); + thread flak_scenario1(); + thread maps\df_fly_code::handle_turrets("enemy_turret_b","the_peak","allies_split_vo"); + common_scripts\utility::flag_wait("canyon_enemy3_warning"); + common_scripts\utility::flag_clear("target_player"); + thread maps\df_fly_code::handle_turrets("enemy_turret","canyon_enemy3_warning","allies_split_vo"); + if(!isdefined(level.enemies)) + { + level.enemies = []; + } + + var_00 = level.enemies; + var_00 = common_scripts\utility::array_combine(var_00,maps\df_fly_flight_code::get_jet_array("canyon_enemy2","script_noteworthy")); + var_00 = maps\_utility::remove_dead_from_array(var_00); + level.allies = maps\_utility::remove_dead_from_array(level.allies); + thread maps\df_fly_flight_code::engage_enemies(level.allies,var_00,1,1,2,1); + common_scripts\utility::array_thread(level.allies,::maps\df_fly_flight_code::set_optimal_flight_dist,-5000); + common_scripts\utility::flag_wait("canyon_enemy4"); + var_01 = maps\df_fly_flight_code::spawn_enemy_jets("canyon_enemy4"); + common_scripts\utility::array_thread(var_00,::player_catch_up_on_boost,5000,1,7000); + common_scripts\utility::flag_wait("allies_drop_back"); + common_scripts\utility::array_thread(level.allies,::maps\df_fly_flight_code::set_optimal_flight_dist,-5000); + common_scripts\utility::flag_wait("autosave"); + maps\_utility::autosave_by_name("second_corner"); + maps\_utility::delaythread(3,::common_scripts\utility::flag_clear,"autosave"); + thread maps\df_fly_code::handle_missile_jet("hoodoo_w1_missile","missile_jet_hoodoo_w1","hoodoo_w1"); + common_scripts\utility::flag_wait("enemies_drop_back"); + level.enemy_units = maps\_utility::remove_dead_from_array(level.enemy_units); + common_scripts\utility::flag_wait("split_reinforcements"); + var_02 = maps\_utility::make_array("rs1","rs2","ls1","ls2"); + foreach(var_04 in var_02) + { + if(common_scripts\utility::flag(var_04)) + { + maps\df_fly_flight_code::spawn_enemy_jets(var_04); + } + } + + thread white_hoodoos(); + var_06 = []; + foreach(var_08 in level.enemy_units) + { + if(!maps\df_fly_flight_code::is_true(var_08.ground_target)) + { + var_06[var_06.size] = var_08; + } + } + + level.enemy_units = var_06; + var_0A = 2000; + foreach(var_0C in level.enemy_units) + { + var_0C maps\df_fly_flight_code::set_optimal_flight_dist(var_0A); + var_0A = var_0A + 1000; + } + + level.allies = maps\_utility::remove_dead_from_array(level.allies); + thread maps\df_fly_code::adjust_bounce_lookahead(0.25,"tighten_up","loosen_up"); + common_scripts\utility::flag_wait_any("canyon_left2","canyon_right2"); + maps\_utility::delaythread(0.5,::maps\df_fly_code::handle_missile_jet,"canyon_right2","missile_jet_arch_r","arch_r",1); + maps\_utility::delaythread(0.5,::maps\df_fly_code::fake_missile_from_behind_player,"canyon_left2","left_arch_missile_targ","arch_l","left_arch_missile_start"); + thread maps\df_fly_code::fake_missile_from_behind_player("canyon_left2","left_arch_missile_targ","arch_l","left_arch_missile_start"); + thread maps\df_fly_code::fake_missile_from_behind_player("canyon_left2","left_hoodoo_missile_targ","hoodoo_w2","left_arch_missile_start"); + thread maps\df_fly_code::fake_missile_from_behind_player("hoodoo_w5_missile","left_hoodoo_missile_targ3","hoodoo_w5","left_hoodoo_missile_source3"); + thread maps\df_fly_code::fake_missile_from_behind_player("hoodoo_w3_missile","right_hoodoo_missile_targ3","hoodoo_w3","right_hoodoo_missile_source3"); + thread maps\df_fly_code::fake_missile_from_behind_player("shoot_hoodoo_w4","hoodoo_w4_targ","hoodoo_w4","hoodoo_w4_start"); + common_scripts\utility::array_thread(level.allies,::maps\df_fly_flight_code::set_optimal_flight_dist,-5000); + if(common_scripts\utility::flag("canyon_left2")) + { + var_0E = maps\df_fly_flight_code::get_jet_array("righty2","script_noteworthy"); + thread maps\df_fly_flight_code::process_flight_path("left_canyon_path"); + } + else + { + var_0E = maps\df_fly_flight_code::get_jet_array("lefty2","script_noteworthy"); + thread maps\df_fly_flight_code::process_flight_path("right_canyon_path"); + } + + foreach(var_0C in var_0E) + { + var_0C delete(); + } + + level.enemy_units = maps\_utility::remove_dead_from_array(level.enemy_units); + if(level.enemy_units.size < 2) + { + if(common_scripts\utility::flag("canyon_left2")) + { + var_11 = "lefty3"; + } + else + { + var_11 = "righty3"; + } + + maps\df_fly_flight_code::spawn_enemy_jets(var_11); + } + + common_scripts\utility::flag_wait("turrets2"); + level.enemy_units = maps\_utility::remove_dead_from_array(level.enemy_units); + common_scripts\utility::array_thread(level.enemy_units,::maps\df_fly_flight_code::set_optimal_flight_dist,3000); + thread maps\df_fly_code::handle_turrets("enemy_turret_dam","turrets2","enemies6"); + thread maps\df_fly_code::handle_turrets("enemy_turret2","turrets2","start_dam_run"); + level.enemy_units = maps\_utility::remove_dead_from_array(level.enemy_units); + var_12 = level.enemy_units; + common_scripts\utility::flag_wait("canyon_merge1"); + var_12 = maps\_utility::remove_dead_from_array(var_12); + if(var_12.size > 0) + { + thread maps\df_fly_flight_code::engage_enemies(level.allies,var_12,0.5,2,1,2); + } +} + +//Function Number: 23 +begin_canyon_dam() +{ + maps\_utility::autosave_by_name("dam_area"); + var_00 = getentarray("terrain_shadow_fix","targetname"); + common_scripts\utility::array_call(var_00,::hide); + common_scripts\utility::array_thread(level.allies,::maps\df_fly_flight_code::set_optimal_flight_dist,2000); + thread maps\df_fly_code::handle_turrets("enemy_turret3","allies_fire_dam_missile","narrows_flyby"); + thread dam_enemies(); + thread dam_objective(); + thread canyon_ally_vo_dam(); + var_01 = gettime(); + var_02 = var_01 + 1000; + common_scripts\utility::array_thread(level.allies,::switch_path,"switch_paths"); + for(var_03 = 0;var_03 < level.friend_jets.size;var_03++) + { + level.friend_jets[var_03].script_noteworthy = common_scripts\utility::tostring(var_03 + 1); + } + + common_scripts\utility::array_thread(level.friend_jets,::switch_path,"switch_paths"); + common_scripts\utility::flag_wait_any("ally_tailer_dead","enemies6"); + common_scripts\utility::flag_wait("start_dam"); + maps\_utility::autosave_by_name("dam_start"); + common_scripts\utility::flag_wait("dam_cracks1"); +} + +//Function Number: 24 +dam_objective() +{ + common_scripts\utility::flag_wait("start_dam_run"); + level.dam_targ = getent("dam_target","script_noteworthy"); + thread handle_dam_targets(); + var_00 = getent("allly_dam_trigger","targetname"); + common_scripts\utility::array_thread(level.allies,::ally_fire_on_dam,var_00); + wait(0.5); + thread maps\df_fly_fx::vfx_dam_setup(); + common_scripts\utility::flag_wait("dam_cracks1"); + wait(0.75); + common_scripts\utility::flag_set("dam_cracks2"); +} + +//Function Number: 25 +ally_fire_on_dam(param_00) +{ + var_01 = level.player; + while(var_01 != self) + { + param_00 waittill("trigger",var_01); + } + + if(isalive(level.dam_targ)) + { + thread maps\df_fly_flight_code::ai_shoot_missile_salvo(level.dam_targ,1); + } +} + +//Function Number: 26 +handle_dam_targets() +{ + if(!isdefined(level.enemy_units)) + { + level.enemy_units = []; + } + + level.dam_targ setcandamage(1); + level.dam_targ setcanradiusdamage(1); + level.dam_targ.default_hud = "hud_fofbox_hostile_obstructed"; + level.dam_targ.health = 100; + level.dam_targ.ground_target = 1; + level.enemy_units[level.enemy_units.size] = level.dam_targ; + level.dam_targ thread maps\df_fly_flight_code::hud_target_think(); + level.dam_targ thread dam_target_death(); + common_scripts\utility::flag_wait("dam_destroyed"); + if(isdefined(level.dam_targ)) + { + level.enemy_units = common_scripts\utility::array_remove(level.enemy_units,level.dam_targ); + level.dam_targ delete(); + } +} + +//Function Number: 27 +dam_target_death() +{ + var_00 = self.origin; + self waittill("death"); + if(!maps\df_fly_flight_code::is_true(level.dam_destroyed)) + { + level.dam_destroyed = 1; + common_scripts\_exploder::exploder(10); + soundscripts\_snd::snd_message("dam_explode"); + } + + if(isdefined(self)) + { + level.enemy_units = common_scripts\utility::array_remove(level.enemy_units,self); + self delete(); + } + + wait(1); + common_scripts\utility::flag_set("dam_destroyed"); +} + +//Function Number: 28 +dam_enemies() +{ + common_scripts\utility::flag_wait("dam_cracks1"); + common_scripts\utility::flag_set("dam_destroyed"); + maps\_utility::autosave_by_name("dam_enemies"); + var_00 = maps\df_fly_flight_code::spawn_enemy_jets("canyon_enemy5b"); +} + +//Function Number: 29 +begin_canyon3() +{ + while(!isdefined(level.allies) || !isdefined(level.allies[1])) + { + wait 0.05; + } + + level.allies[0].has_flares = 9999; + level.allies[1].has_flares = 9999; + if(isdefined(level.allies[2]) && isalive(level.allies[2])) + { + level.allies[2].has_flares = 2; + } + + maps\_utility::autosave_by_name("canyon3"); + thread canyon_ally_vo3(); + common_scripts\utility::flag_wait("dam_cracks1"); + common_scripts\utility::array_thread(level.allies,::maps\df_fly_flight_code::set_optimal_flight_dist,-5000); + common_scripts\utility::flag_wait("enemies6"); + common_scripts\utility::flag_set("target_player"); + thread maps\df_fly_flight_code::process_flight_path("canyon_run_start3_path"); + maps\_utility::stop_exploder(10); + thread handle_train_bridge(); + var_00 = maps\df_fly_flight_code::spawn_enemy_jets("canyon_enemy6","targetname",1); + thread monitor_airbrake(var_00); + thread maps\df_fly_flight_code::engage_enemies(var_00,level.allies,1,3,1,1); + wait(2); + common_scripts\utility::flag_set("airbrake_hint"); + common_scripts\utility::flag_wait_any("narrows_flyby","player_braking"); + foreach(var_02 in var_00) + { + var_02 notify("stop_engaging"); + } + + level.allies = maps\_utility::remove_dead_from_array(level.allies); + common_scripts\utility::flag_set("player_braking"); + wait(2); + var_00 = maps\_utility::remove_dead_from_array(var_00); + common_scripts\utility::array_thread(var_00,::maps\_vehicle::godoff); + common_scripts\utility::flag_wait("enemies7"); + maps\_utility::autosave_by_name("through_narrows"); + var_00 = maps\_utility::remove_dead_from_array(var_00); + thread maps\df_fly_flight_code::engage_enemies(level.allies,var_00,1,1,2,1); + common_scripts\utility::flag_clear("target_player"); + var_00 = maps\df_fly_flight_code::spawn_enemy_jets("canyon_enemy7"); + foreach(var_02 in var_00) + { + var_02.has_flares = 5; + } + + level.allies = maps\_utility::remove_dead_from_array(level.allies); + thread maps\df_fly_code::adjust_bounce_lookahead(0.25,"tighten_up2","enemies9"); + common_scripts\utility::flag_wait("chicken_run"); + common_scripts\utility::flag_set("target_player"); + common_scripts\utility::array_thread(var_00,::pop_flares_when_fired_on); + common_scripts\utility::array_thread(var_00,::fire_on_allies,"enemy_chicken_fire"); + thread maps\df_fly_flight_code::engage_enemies(level.allies,var_00,1,3,1,1); + thread maps\df_fly_code::handle_missile_jet("enemies8","missile_jet8","hoodoo1",1,1); + thread red_hoodoos(); + common_scripts\utility::flag_wait("enemies8"); + thread maps\df_fly_code::handle_turrets("enemy_turret4","5miles","canyon_finished"); + thread maps\df_fly_code::fake_missile_from_behind_player("red_hoodoo_missile1","hoodoo_missile_target1","red_hoodoo1"); + thread domino_hoodoos(); + maps\_utility::autosave_by_name("past_chicken"); + common_scripts\utility::array_thread(level.allies,::maps\df_fly_flight_code::set_optimal_flight_dist,-5000); + var_00 = maps\df_fly_flight_code::spawn_enemy_jets("canyon_enemy8"); + foreach(var_02 in var_00) + { + var_02.has_flares = 5; + } + + common_scripts\utility::flag_wait("enemies9"); + maps\_utility::autosave_by_name("near_end"); + var_08 = maps\_utility::remove_dead_from_array(level.enemy_units); + foreach(var_02 in var_08) + { + var_02.has_flares = 0; + } + + thread maps\df_fly_flight_code::engage_enemies(level.allies,var_08,0.5,2,1,1); + thread maps\df_fly_code::handle_turrets("enemy_turret4b","enemies9","canyon_finished"); + common_scripts\utility::flag_wait("clean_up_enemies"); + var_08 = maps\_utility::remove_dead_from_array(level.enemy_units); + thread maps\df_fly_flight_code::engage_enemies(level.allies,var_08,0.5,2,1,1); +} + +//Function Number: 30 +domino_hoodoos() +{ + thread maps\df_fly_code::handle_missile_jet("red_hoodoo_missile3","red_hoodoo_domino_crasher","red_hoodoo3",1,0); + common_scripts\utility::flag_wait("red_hoodoo3"); + wait(0.9); + var_00 = getent("domino_hoodoo_hit1","targetname"); + playfx(common_scripts\utility::getfx("bagh_hoodoo_impact1_crack_large"),var_00.origin,anglestoforward(var_00.angles)); + common_scripts\utility::flag_set("red_hoodoo3b"); + wait(1.3); + var_00 = getent("domino_hoodoo_hit2","targetname"); + playfx(common_scripts\utility::getfx("bagh_hoodoo_domino_impact1"),var_00.origin,anglestoforward(var_00.angles)); + common_scripts\utility::flag_set("red_hoodoo3c"); +} + +//Function Number: 31 +handle_train_bridge() +{ + thread maps\df_fly_code::handle_missile_jet("train_missile","train_missile_jet","bridge_fall",1); + var_00 = getentarray("trainbridge","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02.animname = var_02.animation; + var_02 useanimtree(level.scr_animtree[var_02.animation]); + } + + common_scripts\utility::flag_wait("bridge_fall"); + soundscripts\_snd::snd_message("bridge_fall"); + common_scripts\_exploder::exploder(20); + foreach(var_02 in var_00) + { + var_02 thread maps\_anim::anim_single_solo(var_02,"destroy"); + var_02 setanimrate(var_02 maps\_utility::getanim("destroy"),1.5); + } + + wait(0.5); + maps\df_fly_code::radio_dialog_add_and_go("df_nox_bridgeout3"); + maps\df_fly_code::radio_dialog_add_and_go("df_gid_heavydebris"); + wait(1); + maps\df_fly_code::radio_dialog_add_and_go("df_gid_acp5"); +} + +//Function Number: 32 +white_hoodoos() +{ + var_00 = []; + for(var_01 = 1;var_01 <= 5;var_01++) + { + var_02 = "hoodoo_w" + var_01; + var_00[var_00.size] = getent(var_02,"targetname"); + } + + common_scripts\utility::array_thread(var_00,::white_hoodoo_fx); +} + +//Function Number: 33 +white_hoodoo_fx() +{ + self waittill("fall_down"); + var_00 = common_scripts\utility::getfx("bagh_hoodoo_dust_trail"); + playfxontag(var_00,self,"Tag_fx_top"); + playfxontag(var_00,self,"Tag_fx_mid"); + self waittillmatch("end","single anim"); + stopfxontag(var_00,self,"Tag_fx_top"); + stopfxontag(var_00,self,"Tag_fx_mid"); +} + +//Function Number: 34 +red_hoodoos() +{ + var_00 = getentarray("crumble_hoodoo","targetname"); + var_01 = getentarray("wall_hoodoo","targetname"); + var_00 = common_scripts\utility::array_combine(var_00,var_01); + common_scripts\utility::array_thread(var_00,::crumble_hoodoo_fx); + var_00 = getentarray("red_hoodoo2","targetname"); + common_scripts\utility::array_thread(var_00,::red_hoodoo_fx); +} + +//Function Number: 35 +crumble_hoodoo_fx() +{ + self waittill("fall_down"); + var_00 = common_scripts\utility::getfx("bagh_hoodoo_dust_trail"); + playfxontag(var_00,self,"tag_fx_1"); + playfxontag(var_00,self,"tag_fx_2"); + playfxontag(var_00,self,"tag_fx_4"); + self waittillmatch("end","single anim"); + stopfxontag(var_00,self,"tag_fx_1"); + stopfxontag(var_00,self,"tag_fx_2"); + stopfxontag(var_00,self,"tag_fx_4"); +} + +//Function Number: 36 +red_hoodoo_fx() +{ + self waittill("fall_down"); + var_00 = common_scripts\utility::getfx("bagh_hoodoo_dust_trail"); + playfxontag(var_00,self,"tag_fx_1"); + playfxontag(var_00,self,"tag_fx_2"); + self waittillmatch("end","single anim"); + stopfxontag(var_00,self,"tag_fx_1"); + stopfxontag(var_00,self,"tag_fx_2"); +} + +//Function Number: 37 +red_hoodoo1() +{ + common_scripts\utility::flag_wait("hoodoo1"); + var_00 = getent("hoodoo1","targetname"); + var_01 = common_scripts\utility::getfx("bagh_hoodoo_dust_trail"); + playfxontag(var_01,var_00,"TAG_FX_TOP_1"); + playfxontag(var_01,var_00,"TAG_FX_TOP_2"); + playfxontag(var_01,var_00,"TAG_FX_TOP_3"); + playfxontag(var_01,var_00,"TAG_FX_TOP_4"); + wait(5); + stopfxontag(var_01,var_00,"TAG_FX_TOP_1"); + stopfxontag(var_01,var_00,"TAG_FX_TOP_2"); + stopfxontag(var_01,var_00,"TAG_FX_TOP_3"); + stopfxontag(var_01,var_00,"TAG_FX_TOP_4"); +} + +//Function Number: 38 +pop_flares_when_fired_on() +{ + self endon("death"); + while(isalive(self)) + { + self waittill("missile_fired_at"); + wait(randomfloat(0.5)); + playfx(common_scripts\utility::getfx("missile_repel"),self.origin); + } +} + +//Function Number: 39 +fire_on_allies(param_00) +{ + self endon("death"); + var_01 = getent(param_00,"targetname"); + var_02 = level.player; + while(var_02 != self) + { + var_01 waittill("trigger",var_02); + } + + var_03 = randomint(level.allies.size); + maps\df_fly_flight_code::engage_enemies(maps\_utility::make_array(self),maps\_utility::make_array(level.allies[var_03]),0,2,1,1); +} + +//Function Number: 40 +airbrake_hint() +{ + if(level.player_airbraked) + { + return 1; + } + + return 0; +} + +//Function Number: 41 +monitor_airbrake(param_00) +{ + thread trailing_jets_move_up_on_airbrake(param_00); + common_scripts\utility::flag_wait("airbrake_hint"); + level.player_airbraked = 0; + thread maps\df_fly_code::radio_dialog_add_and_go("df_gid_yourtail"); + level.player_airbraked = 1; + common_scripts\utility::flag_set("player_braking"); + common_scripts\utility::flag_wait_or_timeout("player_braking",5); + if(!common_scripts\utility::flag("player_braking")) + { + thread maps\df_fly_code::radio_dialog_add_and_go("df_gid_airbrake"); + } +} + +//Function Number: 42 +trailing_jets_move_up_on_airbrake(param_00) +{ + common_scripts\utility::flag_wait("player_braking"); + param_00 = maps\_utility::remove_dead_from_array(param_00); + level.allies = maps\_utility::remove_dead_from_array(level.allies); + common_scripts\utility::array_thread(param_00,::maps\df_fly_flight_code::set_optimal_flight_dist,2000); + common_scripts\utility::array_thread(level.allies,::maps\df_fly_flight_code::set_optimal_flight_dist,-5000); +} + +//Function Number: 43 +switch_path(param_00) +{ + var_01 = getent(param_00,"targetname"); + var_02 = level.player; + while(var_02 != self) + { + var_01 waittill("trigger",var_02); + } + + var_03 = var_02.script_noteworthy[var_02.script_noteworthy.size - 1]; + var_04 = var_01.script_parameters + var_03; + var_05 = getvehiclenode(var_04,"targetname"); + var_02 thread maps\_vehicle::vehicle_paths(var_05); + var_02 startpath(var_05); +} + +//Function Number: 44 +flare_warning() +{ + level.player waittill("enemy_lock_on"); + maps\_utility::radio_dialogue_stop(); + maps\df_fly_code::radio_dialog_add_and_go("df_gid_lockonyou"); +} + +//Function Number: 45 +flares_hint() +{ + if(level.player_popped_flares) + { + return 1; + } + + return 0; +} + +//Function Number: 46 +handle_flak(param_00,param_01) +{ + common_scripts\utility::flag_wait(param_01); + var_02 = getentarray(param_00,"targetname"); + common_scripts\utility::array_thread(var_02,::flak_explode); +} + +//Function Number: 47 +flak_scenario1() +{ + thread maps\df_fly_code::handle_flak_cannons("flak_cannon","the_peak","allies_drop_back"); + thread flak_nag_vo(); + common_scripts\utility::flag_wait("canyon_enemy3_warning"); + handle_flak("flak_origin1","canyon_enemy3_warning"); + common_scripts\utility::flag_wait("flak2"); + var_00 = getentarray("flak_origin2","targetname"); + common_scripts\utility::array_thread(var_00,::flak_explode); + common_scripts\utility::flag_wait("flak3"); + var_00 = getentarray("flak_origin3","targetname"); + common_scripts\utility::array_thread(var_00,::flak_explode); + common_scripts\utility::flag_wait("flak4"); + var_00 = getentarray("flak_origin4","targetname"); + common_scripts\utility::array_thread(var_00,::flak_explode); + common_scripts\utility::flag_wait("flak5"); + var_00 = getentarray("flak_origin5","targetname"); + common_scripts\utility::array_thread(var_00,::flak_explode); +} + +//Function Number: 48 +flak_explode() +{ + if(isdefined(self.script_parameters)) + { + wait(float(self.script_parameters)); + } + + wait(randomfloat(0.2)); + playfx(common_scripts\utility::getfx("flak_explosion"),self.origin); + self playsound("flak_expl"); + var_00 = vectornormalize(level.plane.origin - self.origin); + if(distancesquared(level.plane.origin,self.origin) <= 6250000) + { + level.player playsound("plr_jet_hit_by_missile_lyr1"); + if(level.player_boosting) + { + level.plane notify("damage",100,undefined,var_00,level.plane.origin,"flak_pepper"); + level.plane vehicle_teleport(level.plane.origin,level.plane.angles + (0,0,25)); + return; + } + + level.plane notify("damage",100,undefined,var_00,level.plane.origin,"flak_hit"); + level.plane vehicle_teleport(level.plane.origin,level.plane.angles + (0,0,45)); + return; + } + + var_01 = spawn("trigger_radius",self.origin - (0,0,2500),1,2500,5000); + var_01 thread flak_pepper_player(self.origin); + var_01 common_scripts\utility::waittill_notify_or_timeout("trigger",2); + var_01 delete(); +} + +//Function Number: 49 +flak_pepper_player(param_00) +{ + self waittill("trigger"); + var_01 = vectornormalize(level.plane.origin - param_00); + level.plane notify("damage",100,undefined,var_01,param_00,"flak_pepper"); +} + +//Function Number: 50 +flak_nag_vo() +{ + level endon("finale"); + var_00 = []; + var_00[0] = "df_gid_watchflak"; + var_00[1] = "df_gid_chrewedup"; + var_00[2] = "df_gid_dropdown"; + var_01 = 0; + for(;;) + { + level.plane waittill("damage",var_02,var_03,var_04,var_05,var_06); + if(var_06 == "flak_pepper" || var_06 == "flak_hit") + { + maps\df_fly_code::radio_dialog_add_and_go(var_00[var_01]); + wait(1); + var_01++; + if(var_01 >= var_00.size) + { + var_01 = 0; + } + } + } +} + +//Function Number: 51 +bump_nag_vo() +{ + level endon("finale"); + var_00 = []; + var_00[0] = "df_gid_watchwings"; + var_00[1] = "df_nox_tooclose1"; + var_00[2] = "df_gid_headsup11"; + var_00[3] = "df_gid_steerclear"; + var_00[4] = "df_nox_damn4"; + var_01 = 0; + for(;;) + { + level.plane waittill("plane_bump"); + maps\df_fly_code::radio_dialog_add_and_go(var_00[var_01]); + wait(5); + var_01++; + if(var_01 >= var_00.size) + { + var_01 = 0; + } + } +} + +//Function Number: 52 +begin_canyon_intro() +{ + thread maps\df_fly::intro_movie(); + common_scripts\utility::flag_wait("intro_screen_done"); + common_scripts\utility::flag_wait("intro_screen_done"); + level.player freezecontrols(0); + common_scripts\utility::flag_set("intro_finished"); + maps\df_fly_flight_code::flight_code_start("canyon_run_start"); + thread maps\df_fly::handle_gun_hint(); +} + +//Function Number: 53 +canyon_intro_vo() +{ + soundscripts\_snd::snd_music_message("df_fly_intro"); + soundscripts\_snd::snd_message("fly_fade_in_intro"); + level.player maps\df_fly_code::radio_dialog_add_and_go("df_gid_nought"); + level.player maps\df_fly_code::radio_dialog_add_and_go("df_kp_rogerthat10"); + level.player maps\df_fly_code::radio_dialog_add_and_go("df_kp_lowlevel10"); + level.player maps\df_fly_code::radio_dialog_add_and_go("df_kp_kingpinout"); + level.player maps\df_fly_code::radio_dialog_add_and_go("df_gid_fencein10"); + level.player maps\df_fly_code::radio_dialog_add_and_go("df_gid_engageanything"); + common_scripts\utility::flag_set("intro_vo_done"); +} + +//Function Number: 54 +canyon_ally_vo() +{ + common_scripts\utility::flag_set("hint_time"); + wait(0.5); + level.player thread maps\df_fly_code::radio_dialog_add_and_go("ds_gid_3bandits"); + level.player thread maps\df_fly_code::radio_dialog_add_and_go("ds_gid_12oclocklow3"); + level.player maps\df_fly_code::radio_dialog_add_and_go("ds_gid_timetobump"); + common_scripts\utility::flag_wait("speed_boost1"); + maps\df_fly_code::radio_dialog_add_and_go("df_gid_trancers"); + common_scripts\utility::flag_wait("canyon_enemy2"); + maps\df_fly_code::radio_dialog_add_and_go("df_gid_acp3"); + common_scripts\utility::flag_wait("canyon_enemy2a"); + thread maps\df_fly_code::radio_dialog_add_and_go("df_nox_overridge"); + thread maps\df_fly_code::radio_dialog_add_and_go("df_gid_tapem"); + wait(1.5); + common_scripts\utility::flag_set("target_player"); +} + +//Function Number: 55 +canyon_ally_vo2() +{ + common_scripts\utility::flag_wait("canyon_enemy3_warning"); + level.player thread maps\_utility::display_hint_timeout("boost_hint",5); + thread maps\df_fly_code::radio_dialog_add_and_go("df_nox_flakahead"); + maps\df_fly_code::radio_dialog_add_and_go("df_gid_useblower"); + common_scripts\utility::flag_wait("flak3"); + maps\df_fly_code::radio_dialog_add_and_go("df_knox_phallanx"); + common_scripts\utility::flag_wait("canyon_enemy4"); + wait(1); + thread maps\df_fly_code::radio_dialog_add_and_go("df_nox_4birds"); + maps\df_fly_code::radio_dialog_add_and_go("df_gid_engage2"); + common_scripts\utility::flag_wait("acp4"); + maps\df_fly_code::radio_dialog_add_and_go("df_gid_acp4"); + common_scripts\utility::flag_wait("allies_split_vo"); + maps\df_fly_code::radio_dialog_add_and_go("df_gid_rightcanyon"); + maps\df_fly_code::radio_dialog_add_and_go("df_nox_takingleft1"); + common_scripts\utility::flag_wait_any("canyon_left2","canyon_right2"); + maps\df_fly_code::radio_dialog_add_and_go("df_nox_watchyoursix"); + wait(0.5); + thread maps\df_fly_code::radio_dialog_add_and_go("df_nox_rockfall"); + maps\df_fly_code::radio_dialog_add_and_go("df_gid_watchdebris55"); + common_scripts\utility::flag_wait("close_call"); + maps\df_fly_code::radio_dialog_add_and_go("df_nox_watchhead2"); +} + +//Function Number: 56 +canyon_ally_vo_dam() +{ + maps\df_fly_code::radio_dialog_add_and_go("df_nox_approachingdam"); + maps\df_fly_code::radio_dialog_add_and_go("df_gid_hardpoints"); + common_scripts\utility::flag_wait("dam_destroyed"); + maps\df_fly_code::radio_dialog_add_and_go("df_gid_directhit"); + maps\df_fly_code::radio_dialog_add_and_go("df_gid_watchdebris"); +} + +//Function Number: 57 +canyon_ally_vo3() +{ + common_scripts\utility::flag_wait("enemies6"); + maps\df_fly_code::radio_dialog_add_and_go("df_gid_closingin"); + common_scripts\utility::flag_wait("enemies7"); + maps\df_fly_code::radio_dialog_add_and_go("df_nox_4bandits"); + common_scripts\utility::flag_wait("chicken_run"); + common_scripts\utility::flag_wait("enemies8"); + maps\df_fly_code::radio_dialog_add_and_go("df_nox_backaround"); + wait(3); + maps\df_fly_code::radio_dialog_add_and_go("df_gid_getinclose"); + common_scripts\utility::flag_wait("5miles"); + maps\df_fly_code::radio_dialog_add_and_go("df_nox_5miles"); + common_scripts\utility::flag_wait("almost_done"); + maps\df_fly_code::radio_dialog_add_and_go("df_gid_stayfocused"); +} + +//Function Number: 58 +ambush_ambushed_vo(param_00,param_01) +{ + thread maps\df_fly_code::ai_array_killcount_flag_set(param_01,param_01.size,"ambush_dead"); + common_scripts\utility::flag_wait("ambush_dead"); + param_00 = maps\_utility::remove_dead_from_array(param_00); + if(param_00.size > 0) + { + maps\df_fly_code::radio_dialog_add_and_go("df_mag_savedtail"); + } +} + +//Function Number: 59 +redshirt_death_vo() +{ + level endon("finale"); + self waittill("death"); + maps\_utility::radio_dialogue_stop(); + thread maps\df_fly_code::radio_dialog_add_and_go("df_mag_i\'mhit"); + maps\df_fly_code::radio_dialog_add_and_go("df_mag_aaaaah"); +} + +//Function Number: 60 +begin_canyon_exit() +{ + setsaveddvar("vehPlanePathAllowance",20); + thread maps\df_fly_flight_code::process_flight_path("canyon_end_close"); + thread jet_shakes(); + common_scripts\utility::flag_wait("canyon_finished"); + soundscripts\_snd::snd_music_message("df_fly_ending"); + soundscripts\_snd::snd_message("fly_ending_mix"); + level notify("finale"); + level.plane notify("finale"); + thread deploy_sequence(); + common_scripts\utility::flag_wait("black_out"); + thread maps\_hud_util::fade_out(0.5); + common_scripts\utility::flag_wait("finale_vo_done"); + maps\_utility::nextmission(); +} + +//Function Number: 61 +jet_shakes() +{ + maps\df_fly_flight_code::fighter_jet_set_shake(3,1.5); + wait(2); + maps\df_fly_flight_code::fighter_jet_set_shake(2,1); +} + +//Function Number: 62 +ambient_combat_vo(param_00) +{ + level endon("death"); + var_01 = 8; + var_02 = []; + var_02[0] = "df_gid_boola"; + var_02[1] = "df_nox_trgtdestroyed"; + var_02[2] = "df_gid_bravozulu"; + var_02[3] = "df_nox_gotone1"; + var_03 = []; + var_03[0] = "df_gid_niceshot"; + var_03[1] = "df_gid_sierrahotel"; + var_03[2] = "df_nox_niceshootin"; + var_03[3] = "df_gid_goodshot"; + var_03[4] = "df_nox_goodone"; + var_03[5] = "df_gid_bravozulu"; + var_04 = []; + var_04[0] = "df_gid_onedown"; + var_04[1] = "df_gid_thatstwo1"; + var_04[2] = "df_gid_thatsall"; + var_05 = []; + var_05[0] = "df_gid_inmysights"; + var_05[1] = "df_nox_gotthisone"; + var_05[2] = "df_gid_onim"; + var_05[3] = "df_nox_thatonesmine"; + var_06 = ""; + var_07 = 0; + var_08 = 0; + var_09 = 0; + var_0A = 0; + for(;;) + { + var_0B = level common_scripts\utility::waittill_any_return("enemy_dead","enemy_dead_by_player","ally_targeting_enemy"); + if(isdefined(param_00) && !common_scripts\utility::flag(param_00) && var_0A < var_04.size) + { + var_06 = var_04[var_0A]; + var_0A++; + } + else if(var_0B == "ally_targeting_enemy") + { + var_06 = var_05[var_09]; + var_09++; + if(var_09 >= var_05.size) + { + var_09 = 0; + } + } + else if(var_0B == "enemy_dead_by_player") + { + var_06 = var_03[var_08]; + var_08++; + if(var_08 >= var_03.size) + { + var_08 = 0; + } + } + else + { + var_06 = var_02[var_07]; + var_07++; + if(var_07 >= var_02.size) + { + var_07 = 0; + } + } + + if(maps\_utility::radio_dialogue_safe(var_06) && !isdefined(param_00) || !common_scripts\utility::flag(param_00)) + { + wait(var_01); + } + } +} + +//Function Number: 63 +stay_low_nags() +{ + level endon("death"); + var_00 = []; + var_00[0] = "df_gid_incanyon"; + var_00[1] = "df_gid_headdown"; + var_00[2] = "df_gid_staylow2"; + var_00[3] = "df_gid_2000agl"; + var_01 = 0; + common_scripts\utility::flag_waitopen_or_timeout("stay_low",20); + for(;;) + { + common_scripts\utility::flag_wait("stay_low"); + maps\df_fly_code::radio_dialog_add_and_go(var_00[var_01]); + var_01++; + if(var_01 > var_00.size) + { + var_01 = 0; + } + + common_scripts\utility::flag_waitopen_or_timeout("stay_low",10); + } +} + +//Function Number: 64 +canopy_fade_in_cinematic() +{ + cinematicingame("df_canopy_transition"); + while(cinematicgetframe() < 2) + { + wait 0.05; + } + + pausecinematicingame(1); +} + +//Function Number: 65 +deploy_sequence() +{ + var_00 = level.plane vehicle_getspeed(); + maps\df_fly_flight_code::fighter_jet_set_shake(4,0.25); + level.player notify("toggle_chase_cam"); + level notify("end_canyon"); + level.plane notify("end_canyon"); + level.player notify("remove_jet_hud"); + level.player notify("end_canyon"); + setsaveddvar("cg_cinematicFullScreen","0"); + thread canopy_fade_in_cinematic(); + luinotifyevent(&"plane_hud_fade_out",1,5000); + var_01 = maps\_utility::spawn_anim_model("pod"); + level.finale_pod = var_01; + level.finale_pod hidepart("TAG_TRANSFER_AR"); + var_02 = maps\_utility::spawn_anim_model("pod_l"); + var_03 = maps\_utility::spawn_anim_model("pod_r"); + var_04 = maps\_utility::spawn_anim_model("jet"); + var_04 hide(); + level.finale_jet = var_04; + var_05 = maps\_utility::spawn_anim_model("jet_l"); + var_06 = maps\_utility::spawn_anim_model("jet_r"); + var_07 = maps\_utility::spawn_anim_model("player_rig"); + var_08 = maps\_utility::spawn_anim_model("finale_genProp"); + level.fake_plane unlinkfromplayerview(level.player); + var_01.origin = level.fake_plane.origin; + var_01.angles = level.fake_plane.angles; + var_01 thread maps\_anim::anim_loop_solo(var_01,"idle","stop_loop"); + level.plane maps\_utility::ent_flag_clear("engineeffects"); + var_09 = [var_07,var_02,var_03,var_04,var_05,var_06]; + common_scripts\utility::array_call(var_09,::hide); + var_0A = common_scripts\utility::getstruct("finale_struct","targetname"); + level.player dismountvehicle(); + level.player unlink(); + level.player disableweapons(); + level.player allowcrouch(0); + level.player disableoffhandweapons(); + level.player disableweaponswitch(); + level.plane hide(); + if(isdefined(level.allies)) + { + foreach(var_0C in level.allies) + { + if(isdefined(var_0C)) + { + var_0C delete(); + } + } + } + + thread deploy_vo(); + var_09 = common_scripts\utility::array_add(var_09,var_01); + var_0A maps\_anim::anim_first_frame_solo(var_08,"deploy"); + level.player playerlinktoabsolute(var_01,"tag_player"); + setsaveddvar("sv_znear","1"); + var_0E = maps\_utility::make_array(var_01); + var_0F = spawn("script_model",var_01.origin); + var_0F.angles = var_01.angles; + var_0F.origin = var_01.origin; + var_01 linkto(var_0F); + var_10 = var_08 maps\_anim::get_anim_position("j_prop_1"); + var_11 = var_10["origin"]; + var_12 = var_10["angles"]; + var_13 = getstartorigin(var_11,var_12,level.scr_anim[var_01.animname]["deploy"]); + var_14 = getstartangles(var_11,var_12,level.scr_anim[var_01.animname]["deploy"]); + var_15 = distance(var_13,var_0F.origin) / 12 / 5280; + var_16 = var_15 / var_00 * 60 * 60; + var_17 = vectortoangles(var_13 - var_0F.origin); + thread fake_cockpit_jitter(var_01,var_16); + var_0F moveto(var_13,var_16,0,0); + var_0F rotateto(var_17,var_16 / 4,var_16 / 16,var_16 / 4 - var_16 / 16); + var_01 dontinterpolate(); + var_08 dontinterpolate(); + var_0A maps\_anim::anim_first_frame_solo(var_08,"deploy"); + var_08 maps\_anim::anim_first_frame(var_09,"deploy","j_prop_1"); + wait(var_16 / 2); + var_0F rotateto(var_14,var_16 / 2,var_16 / 4,var_16 / 4); + wait(var_16 / 2); + level.plane delete(); + foreach(var_19 in var_09) + { + var_19 linkto(var_08,"j_prop_1",(0,0,0),(0,0,0)); + if(var_19 != level.finale_jet) + { + var_19 show(); + } + } + + level.player playerlinktodelta(var_07,"tag_player",0.9,10,10,10,10,1); + var_1B = common_scripts\utility::getfx("s19_engineeffect"); + playfxontag(var_1B,var_05,"tag_engine_left"); + playfxontag(var_1B,var_06,"tag_engine_left"); + playfxontag(var_1B,var_04,"tag_engine_left"); + var_02 thread maps\df_fly_fx::pod_engine_fx(1); + var_03 thread maps\df_fly_fx::pod_engine_fx(1); + var_0A thread maps\_anim::anim_single_solo(var_08,"deploy"); + var_01 notify("stop_loop"); + var_08 maps\_anim::anim_single(var_09,"deploy","j_prop_1"); + var_02 thread maps\df_fly_fx::pod_engine_fx(0); + var_03 thread maps\df_fly_fx::pod_engine_fx(0); +} + +//Function Number: 66 +fake_cockpit_jitter(param_00,param_01) +{ + wait(0.1); + param_01 = param_01 - 0.1; + var_02 = 0; + var_03 = gettime(); + for(var_04 = var_03;var_02 < param_01;var_04 = var_06) + { + var_05 = randomfloatrange(0.05,0.1); + level.player playerlinktodelta(param_00,"tag_player",0.9,10,10,10,10,1); + wait(var_05); + var_06 = gettime(); + var_02 = var_02 + var_06 - var_04 / 1000; + } +} + +//Function Number: 67 +deploy_vo() +{ + maps\df_fly_code::radio_dialog_add_and_go("df_gid_finalapproach"); + maps\df_fly_code::radio_dialog_add_and_go("df_so_flakperimeter"); + wait(0.5); + maps\df_fly_code::radio_dialog_add_and_go("df_gid_dropsequence"); + maps\df_fly_code::radio_dialog_add_and_go("df_nox_autopilot"); + wait(2); + maps\df_fly_code::radio_dialog_add_and_go("df_gid_deploymentsuccessful"); + maps\df_fly_code::radio_dialog_add_and_go("df_so_offradar"); + common_scripts\utility::flag_set("black_out"); + common_scripts\utility::flag_set("finale_vo_done"); +} + +//Function Number: 68 +do_fly_screen() +{ + var_00 = getent("fly_screen_start","targetname"); + var_01 = getent("fly_screen_mid","targetname"); + var_02 = getent("fly_screen_end","targetname"); + level.player disableweapons(); + level.player freezecontrols(1); + level.player maps\_utility::teleport_player(var_00); + wait 0.05; + level.player maps\_utility::lerp_player_view_to_position(var_02.origin,level.player.angles,18,1,0,0,0,0); +} + +//Function Number: 69 +do_hoodoo_voodoo() +{ + var_00 = getentarray("canyon_destructible","script_noteworthy"); + common_scripts\utility::array_thread(var_00,::maps\df_fly_code::handle_canyon_destructible); + foreach(var_02 in var_00) + { + var_02 notify("fall_down"); + } +} + +//Function Number: 70 +deathspin() +{ + var_00 = maps\_utility::spawn_anim_model("enemy_jet"); + var_00 linkto(self,"tag_origin",(0,0,0),(0,0,0)); + self hide(); + var_00 maps\_anim::anim_single_solo(var_00,"deathspin"); +} + +//Function Number: 71 +amb_sky_combat_setup() +{ + thread amb_sky_combat(); + thread sky_booms(); + thread mothership_fly(); + thread mothership_fly2(); + thread mothership_fly3(); + thread mothership_fly4(); + thread mothership_fly5(); + thread tanker_mountain_crash(); + thread tanker_mountain_crash2(); +} + +//Function Number: 72 +amb_sky_combat() +{ + thread jet_spawn_loop("trig_amb_enemywave_starters","trig_amb_enemywave0","amb_jets_starters"); + thread jet_spawn_loop("trig_amb_enemywave0","trig_amb_enemywave1","amb_jets0"); + thread jet_spawn_loop("trig_amb_enemywave1","trig_amb_enemywave2","amb_jets1"); + thread jet_spawn_loop("trig_amb_enemywave2","trig_amb_enemywave3","amb_jets2"); + thread jet_spawn_loop("trig_amb_enemywave3","trig_amb_enemywave4","amb_jets3"); + thread jet_spawn_loop("trig_amb_enemywave4","trig_amb_enemywave5","amb_jets4"); + thread jet_spawn_loop("trig_amb_enemywave5","trig_amb_enemywave6","amb_jets5"); + thread jet_spawn_loop("trig_amb_enemywave6","trig_amb_enemywave7","amb_jets6"); + thread jet_spawn_loop("trig_amb_enemywave7","trig_amb_enemywave8","amb_jets7"); + thread jet_spawn_loop("trig_amb_enemywave8a","trig_amb_enemywave9a","amb_jets8a"); + thread jet_spawn_loop("trig_amb_enemywave8b","trig_amb_enemywave9b","amb_jets8b"); + thread jet_spawn_loop("trig_amb_enemywave9a","trig_amb_enemywave10","amb_jets9a"); + thread jet_spawn_loop("trig_amb_enemywave9b","trig_amb_enemywave10","amb_jets9b"); + thread jet_spawn_loop("trig_amb_enemywave10","trig_amb_enemywave11","amb_jets10"); + thread jet_spawn_loop("trig_amb_enemywave11","trig_amb_enemywave12","amb_jets11"); + thread jet_spawn_loop("trig_amb_enemywave12","trig_amb_enemywave13","amb_jets12"); + thread jet_spawn_loop("trig_amb_enemywave13","trig_amb_enemywave14","amb_jets13"); + thread jet_spawn_loop("trig_amb_enemywave14","trig_amb_enemywave15","amb_jets14"); + thread jet_spawn_loop("trig_amb_enemywave15","trig_amb_enemywave16","amb_jets15"); + thread jet_spawn_loop("trig_amb_enemywave16","trig_amb_enemywave17","amb_jets16"); + thread jet_spawn_loop("trig_amb_enemywave17","trig_amb_enemywave18","amb_jets17"); +} + +//Function Number: 73 +sky_booms() +{ +} + +//Function Number: 74 +jet_spawn_loop(param_00,param_01,param_02) +{ + common_scripts\utility::flag_wait(param_00); + while(!common_scripts\utility::flag(param_01)) + { + var_03 = maps\_vehicle::spawn_vehicles_from_targetname_and_drive(param_02); + common_scripts\utility::array_thread(var_03,::setup_jet_waits); + while(var_03.size > 0) + { + wait(1.5); + var_03 = maps\_utility::remove_dead_from_array(var_03); + } + + wait 0.05; + } +} + +//Function Number: 75 +setup_jet_waits() +{ + if(isdefined(self.script_noteworthy)) + { + if(self.script_noteworthy == "jet_fire") + { + thread jet_wait_start_firing(); + thread jet_wait_stop_firing(); + return; + } + + if(self.script_noteworthy == "jet_missile") + { + thread jet_wait_fire_missile(); + return; + } + + if(self.script_noteworthy == "jet_boom") + { + thread jet_wait_boom(); + return; + } + + return; + } +} + +//Function Number: 76 +jet_wait_start_firing() +{ + self endon("death"); + maps\_utility::ent_flag_init("start_firing"); + maps\_utility::ent_flag_wait("start_firing"); + maps\_utility::ent_flag_clear("start_firing"); + thread jet_fire_guns(); +} + +//Function Number: 77 +jet_wait_stop_firing() +{ + self endon("death"); + maps\_utility::ent_flag_init("stop_firing"); + maps\_utility::ent_flag_wait("stop_firing"); + maps\_utility::ent_flag_clear("stop_firing"); +} + +//Function Number: 78 +jet_wait_fire_missile() +{ + self endon("death"); + maps\_utility::ent_flag_init("fire_missile"); + maps\_utility::ent_flag_wait("fire_missile"); + thread jet_launch_missile(); +} + +//Function Number: 79 +jet_wait_boom() +{ + self endon("death"); + maps\_utility::ent_flag_init("jet_explode"); + maps\_utility::ent_flag_wait("jet_explode"); + thread jet_boom(); +} + +//Function Number: 80 +jet_fire_guns() +{ + self endon("death"); + self endon("stop_firing"); + self.firing_sound_ent = spawn("script_origin",(0,0,0)); + for(;;) + { + var_00 = anglestoforward(self.angles); + var_01 = 1000; + var_02 = self gettagorigin("tag_flash") + var_00 * var_01; + var_03 = var_02 + var_00 * 999999999; + magicbullet("s19_cannon_AI",var_02 + var_00,var_03); + wait(0.1); + } +} + +//Function Number: 81 +jet_launch_missile() +{ + var_00 = anglestoforward(self.angles); + var_01 = maps\df_fly_flight_code::offset_position_from_tag("forward","tag_origin",1000); + var_02 = magicbullet("sidewinder_atlas_jet",var_01,var_00); +} + +//Function Number: 82 +jet_boom() +{ + var_00 = playfx(common_scripts\utility::getfx("bagh_aircraft_explosion_midair"),self.origin); + self delete(); +} + +//Function Number: 83 +tanker_mountain_crash() +{ + common_scripts\utility::flag_wait("trig_amb_enemywave5"); + var_00 = getent("crashing_tanker2","targetname"); + var_01 = var_00 thread maps\_vehicle::spawn_vehicle_and_gopath(); + var_02 = maps\_utility::spawn_anim_model("refueler"); + var_02.origin = var_01.origin; + var_02.angles = var_01.angles; + var_02 linkto(var_01,"tag_origin",(0,0,0),(0,0,0)); + var_01 hide(); + playfxontag(common_scripts\utility::getfx("bagh_tanker_crash"),var_02,"TAG_ORIGIN"); + wait 0.05; + var_01 maps\_utility::ent_flag_clear("engineeffects"); + wait(0.25); + var_01 notify("stop_engineeffects"); + wait(6); + playfx(common_scripts\utility::getfx("canyon_jet_impact"),var_02.origin,anglestoforward(var_02.angles) * -1); + playfxontag(common_scripts\utility::getfx("bagh_tanker_dust_trail"),var_02,"TAG_ORIGIN"); + wait(7); + playfx(common_scripts\utility::getfx("bagh_dam_explosion"),var_02.origin); + stopfxontag(common_scripts\utility::getfx("bagh_tanker_crash"),var_02,"TAG_ORIGIN"); + stopfxontag(common_scripts\utility::getfx("bagh_hoodoo_dust_trail"),var_02,"TAG_ORIGIN"); + var_01 waittill("death"); + var_02 unlink(); + var_02 delete(); +} + +//Function Number: 84 +tanker_mountain_crash2() +{ + common_scripts\utility::flag_wait("trig_amb_enemywave12"); + var_00 = getent("crashing_tanker3","targetname"); + var_01 = var_00 thread maps\_vehicle::spawn_vehicle_and_gopath(); + var_02 = maps\_utility::spawn_anim_model("refueler"); + var_02.origin = var_01.origin; + var_02.angles = var_01.angles; + var_02 linkto(var_01,"tag_origin",(0,0,0),(0,0,0)); + var_01 hide(); + playfxontag(common_scripts\utility::getfx("bagh_tanker_crash"),var_02,"TAG_ORIGIN"); + wait 0.05; + var_01 maps\_utility::ent_flag_clear("engineeffects"); + wait(0.25); + var_01 notify("stop_engineeffects"); + wait(4); + playfx(common_scripts\utility::getfx("canyon_jet_impact"),var_02.origin,anglestoforward(var_02.angles) * -1); + playfxontag(common_scripts\utility::getfx("bagh_tanker_dust_trail"),var_02,"TAG_ORIGIN"); + wait(7); + playfx(common_scripts\utility::getfx("bagh_dam_explosion"),var_02.origin); + stopfxontag(common_scripts\utility::getfx("bagh_tanker_crash"),var_02,"TAG_ORIGIN"); + stopfxontag(common_scripts\utility::getfx("bagh_hoodoo_dust_trail"),var_02,"TAG_ORIGIN"); + var_01 waittill("death"); + var_02 unlink(); + var_02 delete(); +} + +//Function Number: 85 +mothership_fly() +{ + common_scripts\utility::flag_wait("trig_amb_enemywave1"); + var_00 = getent("osp_fly","targetname"); + var_01 = var_00 thread maps\_vehicle::spawn_vehicle_and_gopath(); + var_02 = maps\_utility::spawn_anim_model("osp"); + var_02.origin = var_01.origin; + var_02.angles = var_01.angles; + var_02 linkto(var_01,"tag_origin",(0,0,0),(0,0,0)); + var_01 hide(); + var_01 waittill("death"); + var_02 unlink(); +} + +//Function Number: 86 +mothership_fly2() +{ + common_scripts\utility::flag_wait("trig_amb_enemywave1"); + var_00 = getent("osp_fly2","targetname"); + var_01 = var_00 thread maps\_vehicle::spawn_vehicle_and_gopath(); + var_02 = maps\_utility::spawn_anim_model("osp"); + var_02.origin = var_01.origin; + var_02.angles = var_01.angles; + var_02 linkto(var_01,"tag_origin",(0,0,0),(0,0,0)); + var_01 hide(); + var_01 waittill("death"); + var_02 unlink(); +} + +//Function Number: 87 +mothership_fly3() +{ + common_scripts\utility::flag_wait("trig_amb_enemywave1"); + var_00 = getent("osp_fly3","targetname"); + var_01 = var_00 thread maps\_vehicle::spawn_vehicle_and_gopath(); + var_02 = maps\_utility::spawn_anim_model("osp"); + var_02.origin = var_01.origin; + var_02.angles = var_01.angles; + var_02 linkto(var_01,"tag_origin",(0,0,0),(0,0,0)); + var_01 hide(); + var_01 waittill("death"); + var_02 unlink(); +} + +//Function Number: 88 +mothership_fly4() +{ + common_scripts\utility::flag_wait("trig_amb_enemywave1"); + var_00 = getent("osp_fly4","targetname"); + var_01 = var_00 thread maps\_vehicle::spawn_vehicle_and_gopath(); + var_02 = maps\_utility::spawn_anim_model("osp"); + var_02.origin = var_01.origin; + var_02.angles = var_01.angles; + var_02 linkto(var_01,"tag_origin",(0,0,0),(0,0,0)); + var_01 hide(); + var_01 waittill("death"); + var_02 unlink(); +} + +//Function Number: 89 +mothership_fly5() +{ + common_scripts\utility::flag_wait("trig_amb_enemywave11"); + var_00 = getent("osp_fly5","targetname"); + var_01 = var_00 thread maps\_vehicle::spawn_vehicle_and_gopath(); + var_02 = maps\_utility::spawn_anim_model("osp"); + var_02.origin = var_01.origin; + var_02.angles = var_01.angles; + var_02 linkto(var_01,"tag_origin",(0,0,0),(0,0,0)); + var_01 hide(); + var_01 waittill("death"); + var_02 unlink(); +} \ No newline at end of file diff --git a/AW/PC/maps/df_fly.gsc b/AW/PC/maps/df_fly.gsc new file mode 100644 index 0000000..c7ec4b7 --- /dev/null +++ b/AW/PC/maps/df_fly.gsc @@ -0,0 +1,870 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: df_fly.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 45 + * Decompile Time: 658 ms + * Timestamp: 4/22/2024 2:28:39 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\_utility::template_level("df_fly"); + setsaveddvar("vehPlaneSwapSticks","0"); + maps\_utility::add_control_based_hint_strings("climb_hint",&"PLAYERPLANE_MOVEMENT_HINT",::climb_hint,&"PLAYERPLANE_MOVEMENT_HINT_PC",&"PLAYERPLANE_MOVEMENT_HINT_SP"); + maps\_utility::add_hint_string("boost_hint",&"PLAYERPLANE_AFTERBURNERS_HINT",::boost_hint); + maps\_utility::add_hint_string("missile_hint",&"PLAYERPLANE_MISSILES_HINT",::missile_hint); + maps\_utility::add_hint_string("airbrake_hint",&"PLAYERPLANE_BRAKE_HINT",::maps\df_canyon_script::airbrake_hint); + maps\_utility::add_hint_string("airbrake_hint_pc_toggle",&"PLAYERPLANE_BRAKE_HINT_PC_TOGGLE",::maps\df_canyon_script::airbrake_hint); + maps\_utility::add_hint_string("airbrake_hint_pc_hold",&"PLAYERPLANE_BRAKE_HINT_PC_HOLD",::maps\df_canyon_script::airbrake_hint); + maps\_utility::add_hint_string("gun_hint",&"PLAYERPLANE_GUNS_HINT",::gun_hint); + df_fly_precache(); + df_fly_pre_load(); + level.custom_no_game_setupfunc = ::canyon_no_game_start_setupfunc; + maps\createart\df_fly_art::main(); + maps\df_fly_code::precache_code(); + maps\df_fly_fx::main(); + maps\df_fly_precache::main(); + maps\df_fly_anim::main(); + maps\createfx\df_fly_fx::main(); + df_fly_starts(); + maps\_load::main(); + maps\df_fly_lighting::main(); + maps\df_fly_aud::main(); + level thread maps\_upgrade_system::init(); + maps\df_fly_flight_code::flight_code_main(); +} + +//Function Number: 2 +canyon_no_game_start_setupfunc() +{ + level.player lightsetforplayer("df_fly_canyon",0); + maps\_utility::vision_set_fog_changes("df_fly_canyon",0); + thread maps\df_fly_lighting::set_sun_flare(); +} + +//Function Number: 3 +df_fly_starts() +{ + maps\_utility::add_start("canyon_intro",::setup_intro_canyon,"canyon_intro",::maps\df_canyon_script::begin_canyon_intro); + maps\_utility::add_start("canyon",::maps\df_canyon_script::setup_canyon,"canyon",::maps\df_canyon_script::begin_canyon); + maps\_utility::add_start("canyon2",::maps\df_canyon_script::setup_canyon2,"canyon2",::maps\df_canyon_script::begin_canyon2); + maps\_utility::add_start("canyon_dam",::maps\df_canyon_script::setup_canyon_dam,"canyon_dam",::maps\df_canyon_script::begin_canyon_dam); + maps\_utility::add_start("canyon3",::maps\df_canyon_script::setup_canyon3,"canyon3",::maps\df_canyon_script::begin_canyon3); + maps\_utility::add_start("canyon_exit",::maps\df_canyon_script::setup_canyon_exit,"canyon_exit",::maps\df_canyon_script::begin_canyon_exit); +} + +//Function Number: 4 +setup_nothing() +{ +} + +//Function Number: 5 +df_fly_precache() +{ + precachemodel("generic_prop_raven"); + precachemodel("viewbody_sentinel_pilot_mitchell"); + precachemodel("vehicle_sentinel_drop_pod_jet"); + precachemodel("sentinel_drop_pod"); + precachemodel("sentinel_drop_pod_vm"); + precachemodel("atlas_vtol_cargo_plane_ext_ai"); + precachemodel("atlas_vtol_cargo_plane_fuel_rod"); + precacheshader("overlay_static_digital"); + precacheshader("s1_railgun_hud_outer_shadow"); + precachemodel("vehicle_mig29"); + precacherumble("steady_rumble"); + precachestring(&"invert_flight_controls_popmenu"); + precachestring(&"flight_controls_setting_popmenu"); + precachestring(&"plane_hud_fade_out"); + precachestring(&"plane_hud_fade_in"); + precachestring(&"PLAYERPLANE_MOVEMENT_HINT"); + precachestring(&"PLAYERPLANE_AFTERBURNERS_HINT"); + precachestring(&"PLAYERPLANE_BRAKES_HINT"); + precachestring(&"PLAYERPLANE_MISSILES_HINT"); + precachestring(&"PLAYERPLANE_GUNS_HINT"); + precachestring(&"DF_BAGHDAD_YOU_CRASHED"); +} + +//Function Number: 6 +df_fly_pre_load() +{ + common_scripts\utility::flag_init("finale_vo_done"); + common_scripts\utility::flag_init("hint_time"); + common_scripts\utility::flag_init("fuel_contact"); + common_scripts\utility::flag_init("fuel_complete"); + common_scripts\utility::flag_init("intro_scene_done"); + common_scripts\utility::flag_init("player_braking"); + common_scripts\utility::flag_init("intro_screen_done"); + common_scripts\utility::flag_init("intro_vo_done"); + common_scripts\utility::flag_init("controls_set"); + common_scripts\utility::flag_init("player_steered"); + common_scripts\utility::flag_init("boost_hint"); + common_scripts\utility::flag_init("intro_ally_enemies_dead"); + common_scripts\utility::flag_init("intro_enemies_dead"); + common_scripts\utility::flag_init("intro_regrouped"); + common_scripts\utility::flag_init("intro_finished"); + common_scripts\utility::flag_init("canyon_finished"); + common_scripts\utility::flag_init("end_fighter_jet_sequence"); + common_scripts\utility::flag_init("final_hit"); + common_scripts\utility::flag_init("finale"); + common_scripts\utility::flag_init("playerPlaneNoDeath"); + common_scripts\utility::flag_init("ambush_dead"); + common_scripts\utility::flag_init("ally_tailer_dead"); + common_scripts\utility::flag_init("airbrake_hint"); + common_scripts\utility::flag_init("dam_destroyed"); + common_scripts\utility::flag_init("hoodoo1"); + common_scripts\utility::flag_init("bridge_fall"); + common_scripts\utility::flag_init("red_hoodoo1"); + common_scripts\utility::flag_init("red_hoodoo2"); + common_scripts\utility::flag_init("red_hoodoo3"); + common_scripts\utility::flag_init("red_hoodoo3b"); + common_scripts\utility::flag_init("red_hoodoo3c"); + common_scripts\utility::flag_init("arch_r"); + common_scripts\utility::flag_init("arch_l"); + common_scripts\utility::flag_init("hoodoo_w1"); + common_scripts\utility::flag_init("hoodoo_w2"); + common_scripts\utility::flag_init("hoodoo_w3"); + common_scripts\utility::flag_init("hoodoo_w4"); + common_scripts\utility::flag_init("hoodoo_w5"); + common_scripts\utility::flag_init("dam_cracks2"); + common_scripts\utility::flag_init("explode_wall_hoodoo"); + common_scripts\utility::flag_init("trig_amb_enemywave_starters"); + common_scripts\utility::flag_init("trig_amb_enemywave1"); + common_scripts\utility::flag_init("trig_amb_enemywave2"); + common_scripts\utility::flag_init("trig_amb_enemywave3"); + common_scripts\utility::flag_init("trig_amb_enemywave4"); + common_scripts\utility::flag_init("trig_amb_enemywave5"); + common_scripts\utility::flag_init("trig_amb_enemywave6"); + common_scripts\utility::flag_init("trig_amb_enemywave7"); + common_scripts\utility::flag_init("trig_amb_enemywave8"); + common_scripts\utility::flag_init("trig_amb_enemywave9"); + common_scripts\utility::flag_init("trig_amb_enemywave10"); +} + +//Function Number: 7 +setup_common() +{ + level.mini_version = 0; + level.current_median_speed = 0.5; + level.current_objective = 1; + level.player_fired_missiles = 0; + level.base_agl = 62000; + level.ally_ai_active = 0; + level.allies = []; + maps\_utility::add_extra_autosave_check("fly_check",::autosave_fly_check,"can\'t autosave when about to crash"); + thread maps\df_canyon_script::handle_dying_player_brake_hint(); +} + +//Function Number: 8 +autosave_fly_check() +{ + var_00 = 3; + var_01 = 0.1; + var_02 = 20; + var_03 = 3; + var_04 = 2; + var_05 = level.plane; + var_06 = var_05 maps\_shg_utility::get_differentiated_acceleration(); + var_07 = var_05 vehicle_getvelocity(); + var_08 = length(var_07); + if(var_08 > 0) + { + var_09 = var_07 + var_06 * var_01 * 0.5; + var_0A = var_05.origin; + var_0B = var_05.origin + var_09 * var_00; + var_0C = bullettrace(var_0A,var_0B,0,var_05); + if(var_0C["fraction"] < 1 && !isdefined(var_0C["entity"]) || !isdefined(var_0C["entity"].targetname) || var_0C["entity"].targetname != "turnaround_vol") + { + var_0D = distance(var_05.origin,var_0C["position"]); + var_0E = var_0D / var_08; + if(var_0E > var_01 + 0.01) + { + var_0F = vectorlerp(var_05.origin + var_09 * var_01,var_0C["position"],0.5); + var_10 = var_0E - var_01 * var_02; + var_11 = var_0E; + var_12 = randomfloat(90); + foreach(var_14 in [0,90,180,270]) + { + var_15 = anglestoforward(combineangles(var_05.angles,combineangles((0,0,var_14 + var_12),(var_10,0,0)))); + var_16 = var_0F + var_15 * var_08 * var_00; + var_17 = bullettrace(var_0F,var_16,0,var_05); + var_18 = distance(var_05.origin,var_17["position"]) / var_08 + var_0E; + var_11 = max(var_11,var_18); + } + } + else + { + var_11 = var_0E; + } + } + else + { + var_11 = var_00; + } + } + else + { + var_11 = var_01; + } + + return var_11 >= var_00; +} + +//Function Number: 9 +intro_movie() +{ + level.player disableweapons(); + level.player freezecontrols(1); + var_00 = newclienthudelem(level.player); + var_00 setshader("black",1280,720); + var_00.horzalign = "fullscreen"; + var_00.vertalign = "fullscreen"; + var_00.alpha = 1; + var_00.foreground = 0; + maps\_shg_utility::play_chyron_video("chyron_text_df_fly"); + thread maps\df_canyon_script::canyon_intro_vo(); + common_scripts\utility::flag_wait("intro_vo_done"); + wait(1); + common_scripts\utility::flag_set("intro_screen_done"); + var_00 fadeovertime(2); + var_00.alpha = 0; + wait(2); + var_00 destroy(); +} + +//Function Number: 10 +setup_intro() +{ + setup_common(); + level.player freezecontrols(1); +} + +//Function Number: 11 +setup_intro_old_controls() +{ + level.old_controls = 1; + setup_intro(); +} + +//Function Number: 12 +setup_intro_canyon() +{ + setup_common(); + level.player freezecontrols(1); + soundscripts\_snd::snd_message("snd_start_canyon_intro"); +} + +//Function Number: 13 +setup_intro_canyon_old_controls() +{ + level.old_controls = 1; + setup_intro_canyon(); +} + +//Function Number: 14 +setup_post_refuel() +{ + setup_common(); + level.player freezecontrols(1); + common_scripts\utility::flag_set("intro_screen_done"); + common_scripts\utility::flag_set("intro_scene_done"); +} + +//Function Number: 15 +setup_post_refuel_old_controls() +{ + level.old_controls = 1; + setup_post_refuel(); +} + +//Function Number: 16 +post_refuel() +{ + level.old_gravity = getdvarfloat("vehPlaneGravityVelocity"); + setsaveddvar("vehPlaneGravityVelocity",0); + thread intro_vo(); + thread handle_intro_clip(); + maps\df_fly_flight_code::flight_code_start("intro_player_jet",1); + thread handle_gun_hint(); + for(var_00 = 1;var_00 <= 3;var_00++) + { + var_01 = "ally" + var_00; + var_02 = getent(var_01,"script_noteworthy"); + var_02 maps\df_fly_flight_code::make_ally_jet(level.plane,1,1); + } + + thread handle_clouds(level.plane,"intro_finished"); + var_03 = maps\_utility::obj("intro_follow"); + objective_add(var_03,"current","Stay in formation"); + objective_onentity(var_03,level.allies[0],(0,0,0)); + objective_setpointertextoverride(var_03,"Follow"); + for(var_00 = 1;var_00 < level.allies.size;var_00++) + { + objective_additionalentity(var_03,var_00,level.allies[var_00],(0,0,0)); + } + + wait(1); + maps\_utility::delaythread(2,::handle_formation_nags); + level.player freezecontrols(0); + level.player thread maps\_utility::display_hint_timeout("climb_hint",5); + var_04 = 0; + common_scripts\utility::flag_set("controls_set"); + common_scripts\utility::flag_wait("set_waypoint"); + level.player luiopenmenu(&"invert_flight_controls_popmenu"); + var_05 = getent("waypoint1","targetname"); + var_06 = maps\_utility::obj("intro_waypoint"); + objective_add(var_06,"current","Proceed to waypoint"); + objective_onentity(var_06,var_05,(0,0,0)); + objective_setpointertextoverride(var_06,"Reach"); + common_scripts\utility::flag_wait("waypoint1_reached"); + maps\_utility::objective_complete(var_06); + common_scripts\utility::flag_wait("intro_bogeys"); + level notify("ignore_formation"); + soundscripts\_snd::snd_music_message("df_fly_jet_combat"); + common_scripts\utility::array_thread(level.allies,::maps\df_fly_flight_code::set_optimal_flight_dist,10000,1); + maps\_utility::objective_complete(var_03); + level.enemy_units = []; + level.next_obj_pos = 0; + var_07 = maps\_vehicle::spawn_vehicles_from_targetname_and_drive("intro_enemy"); + thread maps\df_fly_code::ai_array_killcount_flag_set(var_07,var_07.size,"intro_enemies_dead"); + thread maps\df_fly_code::ai_array_killcount_flag_set(var_07,var_07.size - 1,"intro_ally_enemies_dead"); + common_scripts\utility::array_thread(var_07,::maps\df_fly_flight_code::make_enemy_jet,"dogfight_enemies"); + var_08 = maps\_utility::obj("dogfight_enemies"); + level.enemy_objectives = var_07; + initmultiobjectives("dogfight_enemies",var_07); + thread multiple_objectives("dogfight_enemies"); + common_scripts\utility::flag_wait("boost_hint"); + level.player thread maps\_utility::display_hint_timeout("boost_hint",5); + common_scripts\utility::flag_wait("shoot_missiles"); + level.player thread maps\_utility::display_hint_timeout("missile_hint",5); + var_07 = maps\_utility::remove_dead_from_array(var_07); + thread dogfight_vo(var_07); + var_09 = maps\df_fly_flight_code::get_jet_array("player_enemy"); + common_scripts\utility::array_thread(var_09,::maps\df_fly_flight_code::set_optimal_flight_dist,1000,1); + thread enemies_move_away(); + var_0A = maps\df_fly_flight_code::get_jet_array("ally_enemy"); + maps\df_fly_flight_code::engage_enemies(level.allies,var_0A,5,10); + common_scripts\utility::array_thread(level.allies,::maps\df_fly_flight_code::set_optimal_flight_dist,1500,1); + thread nag_player_to_shoot_target(var_09); + common_scripts\utility::flag_wait("intro_ally_enemies_dead"); + common_scripts\utility::array_thread(level.allies,::maps\df_fly_flight_code::set_optimal_flight_dist,1000,1); + common_scripts\utility::flag_wait("intro_enemies_dead"); + common_scripts\utility::array_thread(level.allies,::maps\df_fly_flight_code::set_optimal_flight_dist,4000,1); + level.allies[2] maps\df_fly_flight_code::set_optimal_flight_dist(6000,1); + maps\_utility::objective_complete(maps\_utility::obj("dogfight_enemies")); + thread setup_regroup_obj(); + wait(0.5); + level.plane maps\df_fly_code::wait_for_formation(level.allies,7000,2); + common_scripts\utility::array_thread(level.allies,::maps\df_fly_flight_code::set_optimal_flight_dist,8000,1); + common_scripts\utility::flag_set("intro_regrouped"); + common_scripts\utility::flag_wait("drop_down"); + maps\_utility::objective_complete(maps\_utility::obj("intro_regroup")); + common_scripts\utility::flag_set("intro_finished"); + common_scripts\utility::flag_wait("intro_finished"); + level.player maps\_hud_util::fade_out(1,"white"); + wait(1); + setsaveddvar("vehPlaneGravityVelocity",level.old_gravity); + foreach(var_0C in level.allies) + { + var_0C delete(); + } + + level.allies = []; +} + +//Function Number: 17 +multiple_objectives(param_00) +{ + foreach(var_02 in level.enemy_objectives) + { + var_02 thread objectivedeathdetection(param_00); + } +} + +//Function Number: 18 +objectivedeathdetection(param_00) +{ + self endon("removed"); + self waittill("death"); + level.enemy_objectives = common_scripts\utility::array_remove(level.enemy_objectives,self); + objective_delete(maps\_utility::obj(param_00)); + initmultiobjectives(param_00,level.enemy_objectives); +} + +//Function Number: 19 +initmultiobjectives(param_00,param_01) +{ + objective_add(maps\_utility::obj(param_00),"current","Dogfight enemy aircraft"); + objective_setpointertextoverride(maps\_utility::obj(param_00),"Destroy"); + var_02 = 0; + foreach(var_04 in param_01) + { + objective_additionalentity(maps\_utility::obj(param_00),var_02,param_01[var_02]); + var_02++; + } +} + +//Function Number: 20 +handle_gun_hint() +{ + level.player_shot_guns = 0; + while(!level.player_shot_guns && !isdefined(level.plane.lock_target)) + { + wait(0.2); + if(isdefined(level.plane.lock_target)) + { + level.player thread maps\_utility::display_hint_timeout("gun_hint",5); + wait(10); + } + } +} + +//Function Number: 21 +enemies_move_away() +{ + wait(3); + var_00 = maps\_utility::remove_dead_from_array(level.enemy_units); + common_scripts\utility::array_thread(var_00,::maps\df_fly_flight_code::set_optimal_flight_dist,15000,1); +} + +//Function Number: 22 +handle_clouds(param_00,param_01) +{ + playfxontag(common_scripts\utility::getfx("bagh_flight_cloud_volume"),param_00,"tag_origin"); + var_02 = common_scripts\utility::getstructarray("large_cloud","targetname"); + foreach(var_04 in var_02) + { + playfx(common_scripts\utility::getfx("large_cloud"),var_04.origin,anglestoforward(var_04.angles)); + } + + common_scripts\utility::flag_wait(param_01); + stopfxontag(common_scripts\utility::getfx("bagh_flight_cloud_volume"),param_00,"tag_origin"); +} + +//Function Number: 23 +handle_intro_clip() +{ + var_00 = getent("intro_clip","script_noteworthy"); + var_00 notsolid(); + common_scripts\utility::flag_wait("in_the_sky"); + var_00 solid(); +} + +//Function Number: 24 +nag_player_to_shoot_target(param_00) +{ + level endon("intro_enemies_dead"); + wait(10); + var_01 = param_00[0]; + if(isalive(var_01)) + { + level.player maps\df_fly_code::radio_dialog_add_and_go("df_gid_getonthat"); + var_02 = undefined; + var_03 = 0; + foreach(var_05 in level.allies) + { + var_06 = distance2dsquared(var_05.origin,var_01.origin); + if(var_03 == 0 || var_06 < var_03) + { + var_02 = var_05; + } + } + + var_02 thread maps\df_fly_flight_code::shoot_target_till_dead(var_01,3,10); + } +} + +//Function Number: 25 +setup_regroup_obj() +{ + var_00 = maps\_utility::obj("intro_regroup"); + objective_add(var_00,"current","Regroup with flight wing."); + objective_onentity(var_00,level.allies[0],(0,0,0)); + objective_setpointertextoverride(var_00,"Follow"); + for(var_01 = 1;var_01 < level.allies.size;var_01++) + { + objective_additionalentity(var_00,var_01,level.allies[var_01],(0,0,0)); + } +} + +//Function Number: 26 +dogfight_vo(param_00) +{ + var_01 = []; + var_01[0] = "df_gid_onedown"; + var_01[1] = "df_nox_scratchone"; + var_01[2] = "df_nox_spanked"; + var_02[3] = "df_nox_trgtdestroyed"; + var_03 = []; + var_03[0] = "df_gid_niceshot"; + var_03[1] = "df_gid_goodshot"; + var_03[2] = "df_gid_sierrahotel"; + var_03[3] = "df_nox_niceshootin"; + var_04 = ""; + var_05 = 0; + var_06 = 0; + for(var_07 = 0;var_07 < param_00.size - 1;var_07++) + { + var_08 = level common_scripts\utility::waittill_any_return("enemy_dead","enemy_dead_by_player"); + if(var_08 == "enemy_dead_by_player") + { + var_04 = var_03[var_06]; + var_06++; + } + else + { + var_04 = var_01[var_05]; + var_05++; + } + + maps\df_fly_code::radio_dialog_add_and_go(var_04); + } +} + +//Function Number: 27 +intro_vo() +{ + common_scripts\utility::flag_wait("intro_scene_done"); + level.player maps\df_fly_code::radio_dialog_add_and_go("df_gid_refuelcomp"); + wait(0.5); + level.player maps\df_fly_code::radio_dialog_add_and_go("df_so_unwantedattention"); + common_scripts\utility::flag_wait_or_timeout("set_waypoint",11); + common_scripts\utility::flag_set("set_waypoint"); + level.player maps\df_fly_code::radio_dialog_add_and_go("df_so_alphnovember"); + level.player maps\df_fly_code::radio_dialog_add_and_go("df_gid_eyespeeled"); + common_scripts\utility::flag_wait("waypoint1_reached"); + level.player maps\df_fly_code::radio_dialog_add_and_go("df_so_runposition"); + level.player maps\df_fly_code::radio_dialog_add_and_go("df_gid_fencein"); + level.player maps\df_fly_code::radio_dialog_add_and_go("df_nox_active"); + level.player maps\df_fly_code::radio_dialog_add_and_go("df_mag_online"); + common_scripts\utility::flag_wait("intro_bogeys"); + level.player maps\df_fly_code::radio_dialog_add_and_go("df_nox_4bogies"); + common_scripts\utility::flag_set("boost_hint"); + level.player maps\df_fly_code::radio_dialog_add_and_go("df_gid_burnerson"); + common_scripts\utility::flag_set("shoot_missiles"); + level.player maps\df_fly_code::radio_dialog_add_and_go("df_gid_bumpingheads"); + level.ally_ai_active = 1; + common_scripts\utility::flag_wait("intro_enemies_dead"); + level.player maps\df_fly_code::radio_dialog_add_and_go("df_gid_thatsall"); + level.player maps\df_fly_code::radio_dialog_add_and_go("df_gid_regroup"); + common_scripts\utility::flag_wait("intro_regrouped"); + level.player thread maps\df_fly_code::radio_dialog_add_and_go("df_gid_chereubsnine"); + thread drop_down(); +} + +//Function Number: 28 +handle_formation_nags() +{ + level endon("ignore_formation"); + var_00 = 8000; + var_01 = []; + var_01[0] = "df_gid_stayinformation"; + var_01[1] = "df_gid_return"; + var_01[2] = "df_gid_return"; + var_02 = 0; + for(;;) + { + level.plane maps\df_fly_code::wait_for_formation_break(level.allies,var_00,1); + level.player maps\df_fly_code::radio_dialog_add_and_go(var_01[var_02]); + var_02++; + if(var_02 > var_01.size) + { + var_02 = 0; + } + + wait(5); + if(!maps\df_fly_code::plane_in_formation(level.plane,level.allies,var_00)) + { + level.player thread maps\df_fly_code::radio_dialog_add_and_go("df_gid_jeopardizing"); + } + } +} + +//Function Number: 29 +intro_screen() +{ + var_00 = 20; + thread maps\_introscreen::introscreen(1,var_00); + wait(var_00); + common_scripts\utility::flag_set("intro_screen_done"); +} + +//Function Number: 30 +gun_hint() +{ + if(level.player_shot_guns) + { + return 1; + } + + return 0; +} + +//Function Number: 31 +missile_hint() +{ + if(level.player_fired_missiles) + { + return 1; + } + + return 0; +} + +//Function Number: 32 +boost_hint() +{ + if(level.player_boosting) + { + return 1; + } + + return 0; +} + +//Function Number: 33 +climb_hint() +{ + if(common_scripts\utility::flag("player_steered")) + { + return 1; + } + + return 0; +} + +//Function Number: 34 +wait_for_stick_press() +{ + var_00 = 0.1; + var_01 = maps\_utility::make_array(0,0); + var_02 = 0; + var_03 = 7; + while(var_02 < var_03) + { + if(level.player common_scripts\utility::is_player_gamepad_enabled()) + { + var_01 = self getnormalizedmovement(); + if(abs(var_01[0]) > var_00) + { + var_02 = var_02 + 0.05; + } + + if(var_02 > 1) + { + common_scripts\utility::flag_set("player_steered"); + } + + continue; + } + + var_02 = var_02 + 0.05; + if(var_02 > 3) + { + common_scripts\utility::flag_set("player_steered"); + } + + wait(0.05); + } + + common_scripts\utility::flag_set("controls_set"); +} + +//Function Number: 35 +drop_down() +{ + var_00 = 1; + var_01 = "a"; + foreach(var_03 in level.allies) + { + var_03 maps\df_fly_flight_code::set_optimal_flight_dist(5000); + if(var_00 == 1) + { + var_01 = var_03 find_drop_path(); + } + + var_04 = "ally_drop_path" + var_00 + var_01; + var_05 = getvehiclenode(var_04,"targetname"); + var_03 thread maps\_vehicle::vehicle_paths(var_05); + var_03 startpath(var_05); + var_00++; + } +} + +//Function Number: 36 +find_drop_path() +{ + var_00 = getvehiclenodearray("drop_down_start","script_noteworthy"); + var_01 = -1; + var_02 = "z"; + foreach(var_04 in var_00) + { + var_05 = var_04.targetname[var_04.targetname.size - 1]; + if(var_05 != var_02) + { + if(maps\_utility::get_dot(self.origin,self.angles,var_04.origin) > 0.93) + { + var_06 = distance2dsquared(self.origin,var_04.origin); + if(var_01 == -1 || var_06 < var_01) + { + var_01 = var_06; + var_02 = var_05; + } + } + } + } + + return var_02; +} + +//Function Number: 37 +intro_scene(param_00) +{ + var_01 = []; + foreach(var_03 in param_00) + { + var_04 = var_03 maps\_utility::spawn_vehicle(); + var_01[var_01.size] = var_04; + var_04.animname = "ally" + var_04.script_noteworthy[var_04.script_noteworthy.size - 1]; + var_04 useanimtree(level.scr_animtree[var_04.animname]); + } + + common_scripts\utility::array_thread(var_01,::playfakecontrail); + var_06 = maps\_utility::spawn_anim_model("refueler"); + var_07 = maps\_utility::spawn_anim_model("fuel_rod"); + var_08 = maps\_utility::spawn_anim_model("cockpit"); + level.intro_arms = maps\_utility::spawn_anim_model("player_rig"); + playfxontag(level._effect["cloud_vtol_wing_wispy"],var_06,"TAG_BODY"); + var_09 = maps\_utility::make_array(level.intro_arms,var_06,var_08); + var_09 = common_scripts\utility::array_combine(var_09,var_01); + var_0A = common_scripts\utility::getstruct("intro_struct","targetname"); + var_07 linkto(var_06,"TAG_FUEL_ROD"); + level.player playerlinktoabsolute(level.intro_arms,"tag_player"); + level.player disableweapons(); + level.player allowcrouch(0); + level.player disableoffhandweapons(); + level.player disableweaponswitch(); + thread setup_generic_allies(); + thread refuel_vo(); + thread refuel_timings(); + var_06 thread maps\_anim::anim_single_solo(var_07,"intro","TAG_FUEL_ROD"); + var_0A maps\_anim::anim_single(var_09,"intro"); + level.player unlink(); + common_scripts\utility::array_call(var_09,::delete); + common_scripts\utility::flag_set("intro_scene_done"); +} + +//Function Number: 38 +refuel_timings() +{ + wait(8.55); + common_scripts\utility::flag_set("fuel_contact"); + wait(14); + common_scripts\utility::flag_set("fuel_complete"); +} + +//Function Number: 39 +refuel_vo() +{ + level.player maps\df_fly_code::radio_dialog_add_and_go("df_atc_clearedastern"); + wait(0.5); + level.player maps\df_fly_code::radio_dialog_add_and_go("df_rp_clearedcontact"); + common_scripts\utility::flag_wait("fuel_contact"); + level.player maps\df_fly_code::radio_dialog_add_and_go("df_rp_takinggas"); + common_scripts\utility::flag_wait("fuel_complete"); + level.player maps\df_fly_code::radio_dialog_add_and_go("df_atc_offloadcomp"); + wait(0.5); + level.player maps\df_fly_code::radio_dialog_add_and_go("df_gid_thanksforgas"); +} + +//Function Number: 40 +unlimit_player_view(param_00) +{ + level.player playerlinktodelta(level.intro_arms,"tag_player",0.9,70,70,20,20,1); +} + +//Function Number: 41 +limit_player_view(param_00) +{ + level.player playerlinktoblend(level.intro_arms,"tag_player",0.5); +} + +//Function Number: 42 +setup_generic_allies() +{ + var_00 = common_scripts\utility::getstructarray("generic_allies_struct","targetname"); + var_01 = common_scripts\utility::getstructarray("generic_allies_no_tanker_struct","targetname"); + var_02 = common_scripts\utility::getstructarray("generic_allies_squad2","targetname"); + var_03 = common_scripts\utility::getstructarray("generic_allies_squad3","targetname"); + var_00 = maps\df_fly_flight_code::array_combine_all(var_00,var_01,var_02,var_03); + var_04 = []; + foreach(var_06 in var_00) + { + var_07 = ""; + switch(var_06.targetname) + { + case "generic_allies_squad2": + var_07 = "_s2"; + break; + + case "generic_allies_squad3": + var_07 = "_s3"; + break; + } + + var_08 = maps\_utility::spawn_anim_model("ally1" + var_07 + "_generic"); + var_09 = maps\_utility::spawn_anim_model("ally2" + var_07 + "_generic"); + var_0A = maps\_utility::spawn_anim_model("ally3" + var_07 + "_generic"); + var_0B = maps\_utility::spawn_anim_model("ally4" + var_07 + "_generic"); + var_0C = maps\_utility::make_array(var_08,var_09,var_0A,var_0B); + if(var_06.targetname == "generic_allies_struct") + { + var_0D = maps\_utility::spawn_anim_model("refueler_generic"); + var_0C = common_scripts\utility::array_add(var_0C,var_0D); + } + + var_04[var_04.size] = var_0C; + var_06 thread maps\_anim::anim_loop(var_0C,"intro_idle","exit"); + var_0E = randomfloat(1); + wait 0.05; + foreach(var_10 in var_0C) + { + var_10 setanimtime(level.scr_anim[var_10.animname]["intro_idle"][0],var_0E); + } + } + + wait(10); + for(var_13 = 0;var_13 < var_04.size;var_13++) + { + var_14 = var_04[var_13]; + var_06 = var_00[var_13]; + var_06 thread generic_squadron_deploy(var_14); + wait(randomfloatrange(0.8,1.5)); + } +} + +//Function Number: 43 +generic_squadron_deploy(param_00) +{ + foreach(var_02 in param_00) + { + var_02 notify("exit"); + } + + common_scripts\utility::array_thread(param_00,::fly_away_be_free,self); +} + +//Function Number: 44 +fly_away_be_free(param_00) +{ + param_00 maps\_anim::anim_single_solo(self,"intro_exit"); + self delete(); +} + +//Function Number: 45 +playfakecontrail() +{ + playfxontag(level._effect["cloud_wing_wispy"],self,"tag_origin"); +} \ No newline at end of file diff --git a/AW/PC/maps/df_fly_anim.gsc b/AW/PC/maps/df_fly_anim.gsc new file mode 100644 index 0000000..e8cc38f --- /dev/null +++ b/AW/PC/maps/df_fly_anim.gsc @@ -0,0 +1,209 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: df_fly_anim.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 8 + * Decompile Time: 123 ms + * Timestamp: 4/22/2024 2:28:40 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + player_anims(); + vehicle_anims(); + animated_prop_anims(); +} + +//Function Number: 2 +player_anims() +{ + level.scr_animtree["player_rig"] = #animtree; + level.scr_model["player_rig"] = "viewbody_sentinel_pilot_mitchell"; + level.scr_anim["player_rig"]["intro"] = %dogfight_fly_intro_player; + maps\_anim::addnotetrack_customfunction("player_rig","player_free_look",::maps\df_fly::unlimit_player_view,"intro"); + maps\_anim::addnotetrack_customfunction("player_rig","player_no_look",::maps\df_fly::limit_player_view,"intro"); + level.scr_anim["player_rig"]["deploy"] = %dogfight_deploy_main_player; + maps\_anim::addnotetrack_customfunction("player_rig","canopy_fully_closed",::play_canopy_closed_bink,"deploy"); + maps\_anim::addnotetrack_customfunction("player_rig","start_canopy_bink",::play_canopy_bink,"deploy"); + maps\_anim::addnotetrack_customfunction("player_rig","show_player_jet",::show_finale_jet,"deploy"); + maps\_anim::addnotetrack_customfunction("player_rig","start_uplink",::show_uplink,"deploy"); + maps\_anim::addnotetrack_flag("player_rig","black_out_player","black_out","deploy"); +} + +//Function Number: 3 +animated_prop_anims() +{ + level.scr_animtree["Dogfight_canyon_small_bridge"] = #animtree; + level.scr_anim["Dogfight_canyon_small_bridge"]["destroy"] = %dogfight_canyon_small_bridge; + level.scr_animtree["dogfight_canyon_hoodoo1"] = #animtree; + level.scr_anim["dogfight_canyon_hoodoo1"]["destroy"] = %dogfight_canyon_hoodoo1; + level.scr_animtree["dogfight_canyon_hoodoo2"] = #animtree; + level.scr_anim["dogfight_canyon_hoodoo2"]["destroy"] = %dogfight_canyon_hoodoo2; + level.scr_animtree["dogfight_canyon_hoodoo3"] = #animtree; + level.scr_anim["dogfight_canyon_hoodoo3"]["destroy"] = %dogfight_canyon_hoodoo3; + level.scr_animtree["dogfight_canyon_train_bridge"] = #animtree; + level.scr_anim["dogfight_canyon_train_bridge"]["destroy"] = %dogfight_canyon_train_bridge; + level.scr_animtree["dogfight_canyon_l_train"] = #animtree; + level.scr_anim["dogfight_canyon_l_train"]["destroy"] = %dogfight_canyon_l_train; + level.scr_animtree["dogfight_canyon_r_train"] = #animtree; + level.scr_anim["dogfight_canyon_r_train"]["destroy"] = %dogfight_canyon_r_train; + level.scr_animtree["dogfight_canyon_stone_arch"] = #animtree; + level.scr_anim["dogfight_canyon_stone_arch"]["destroy"] = %dogfight_canyon_stone_arch; + level.scr_animtree["dogfight_canyon_hoodoo_crumble"] = #animtree; + level.scr_anim["dogfight_canyon_hoodoo_crumble"]["destroy"] = %dogfight_canyon_hoodoo_crumble; + level.scr_animtree["dogfight_canyon_hoodoo_crumble_generic"] = #animtree; + level.scr_anim["dogfight_canyon_hoodoo_crumble_generic"]["destroy"] = %dogfight_canyon_hoodoo_crumble_generic; + level.scr_animtree["dogfight_canyon_dam_version1"] = #animtree; + level.scr_anim["dogfight_canyon_dam_version1"]["destroy"] = %dogfight_canyon_dam_version1; + level.scr_animtree["finale_genProp"] = #animtree; + level.scr_model["finale_genProp"] = "generic_prop_raven"; + level.scr_anim["finale_genProp"]["deploy"] = %dogfight_deploy_genprop; + level.scr_animtree["turret"] = #animtree; + level.scr_anim["turret"]["dogfight_canyon_mwp_takeoff1"] = %dogfight_canyon_mwp_takeoff1; + level.scr_anim["turret"]["dogfight_canyon_mwp_takeoff2"] = %dogfight_canyon_mwp_takeoff2; + level.scr_anim["turret"]["dogfight_canyon_mwp_takeoff3"] = %dogfight_canyon_mwp_takeoff3; + level.scr_anim["turret"]["dogfight_canyon_mwp_takeoff4"] = %dogfight_canyon_mwp_takeoff4; + level.scr_anim["turret"]["dogfight_canyon_mwp_hover"] = %dogfight_canyon_mwp_hover; + level.scr_anim["turret"]["crash"] = %dogfight_canyon_mwp_crash; + level.scr_anim["turret"]["dogfight_canyon_laser_turret_pose"][0] = %dogfight_canyon_laser_turret_pose; +} + +//Function Number: 4 +vehicle_anims() +{ + level.scr_animtree["player_jet"] = #animtree; + level.scr_model["player_jet"] = "vehicle_sentinel_fighter_jet"; + level.scr_anim["player_jet"]["intro"] = %dogfight_fly_intro_playerjet; + level.scr_animtree["ally1"] = #animtree; + level.scr_anim["ally1"]["intro"] = %dogfight_fly_intro_ally1; + level.scr_animtree["ally2"] = #animtree; + level.scr_anim["ally2"]["intro"] = %dogfight_fly_intro_ally2; + level.scr_animtree["ally3"] = #animtree; + level.scr_anim["ally3"]["intro"] = %dogfight_fly_intro_ally3; + level.scr_animtree["refueler"] = #animtree; + level.scr_model["refueler"] = "atlas_vtol_cargo_plane_ext_ai"; + level.scr_anim["refueler"]["intro"] = %dogfight_fly_intro_refueler; + level.scr_animtree["fuel_rod"] = #animtree; + level.scr_model["fuel_rod"] = "atlas_vtol_cargo_plane_fuel_rod"; + level.scr_anim["fuel_rod"]["intro"] = %dogfight_fly_intro_fuelrod; + level.scr_animtree["cockpit"] = #animtree; + level.scr_model["cockpit"] = "sentinel_drop_pod_vm"; + level.scr_anim["cockpit"]["intro"] = %dogfight_fly_intro_cockpit; + level.scr_anim["cockpit"]["idle"][0] = %sentinel_fighter_jet_cockpit_idle; + level.scr_animtree["osp"] = #animtree; + level.scr_model["osp"] = "vehicle_mil_blimp_orbital_platform_01_static"; + level.scr_animtree["refueler_generic"] = #animtree; + level.scr_model["refueler_generic"] = "atlas_vtol_cargo_plane_ext_ai"; + level.scr_anim["refueler_generic"]["intro_idle"][0] = %dogfight_fly_intro_generic_squad_refueler_idle; + level.scr_anim["refueler_generic"]["intro_exit"] = %dogfight_fly_intro_generic_squad_refueler_exit; + level.scr_animtree["ally1_generic"] = #animtree; + level.scr_model["ally1_generic"] = "vehicle_sentinel_fighter_jet"; + level.scr_anim["ally1_generic"]["intro_idle"][0] = %dogfight_fly_intro_generic_squad_ally1_idle; + level.scr_anim["ally1_generic"]["intro_exit"] = %dogfight_fly_intro_generic_squad_ally1_exit; + level.scr_animtree["ally2_generic"] = #animtree; + level.scr_model["ally2_generic"] = "vehicle_sentinel_fighter_jet"; + level.scr_anim["ally2_generic"]["intro_idle"][0] = %dogfight_fly_intro_generic_squad_ally2_idle; + level.scr_anim["ally2_generic"]["intro_exit"] = %dogfight_fly_intro_generic_squad_ally2_exit; + level.scr_animtree["ally3_generic"] = #animtree; + level.scr_model["ally3_generic"] = "vehicle_sentinel_fighter_jet"; + level.scr_anim["ally3_generic"]["intro_idle"][0] = %dogfight_fly_intro_generic_squad_ally3_idle; + level.scr_anim["ally3_generic"]["intro_exit"] = %dogfight_fly_intro_generic_squad_ally3_exit; + level.scr_animtree["ally4_generic"] = #animtree; + level.scr_model["ally4_generic"] = "vehicle_sentinel_fighter_jet"; + level.scr_anim["ally4_generic"]["intro_idle"][0] = %dogfight_fly_intro_generic_squad_ally4_idle; + level.scr_anim["ally4_generic"]["intro_exit"] = %dogfight_fly_intro_generic_squad_ally4_exit; + level.scr_animtree["ally1_s2_generic"] = #animtree; + level.scr_model["ally1_s2_generic"] = "vehicle_sentinel_fighter_jet"; + level.scr_anim["ally1_s2_generic"]["intro_idle"][0] = %dogfight_fly_intro_generic_squad2_ally1_idle; + level.scr_anim["ally1_s2_generic"]["intro_exit"] = %dogfight_fly_intro_generic_squad2_ally1_exit; + level.scr_animtree["ally2_s2_generic"] = #animtree; + level.scr_model["ally2_s2_generic"] = "vehicle_sentinel_fighter_jet"; + level.scr_anim["ally2_s2_generic"]["intro_idle"][0] = %dogfight_fly_intro_generic_squad2_ally2_idle; + level.scr_anim["ally2_s2_generic"]["intro_exit"] = %dogfight_fly_intro_generic_squad2_ally2_exit; + level.scr_animtree["ally3_s2_generic"] = #animtree; + level.scr_model["ally3_s2_generic"] = "vehicle_sentinel_fighter_jet"; + level.scr_anim["ally3_s2_generic"]["intro_idle"][0] = %dogfight_fly_intro_generic_squad2_ally3_idle; + level.scr_anim["ally3_s2_generic"]["intro_exit"] = %dogfight_fly_intro_generic_squad2_ally3_exit; + level.scr_animtree["ally4_s2_generic"] = #animtree; + level.scr_model["ally4_s2_generic"] = "vehicle_sentinel_fighter_jet"; + level.scr_anim["ally4_s2_generic"]["intro_idle"][0] = %dogfight_fly_intro_generic_squad2_ally4_idle; + level.scr_anim["ally4_s2_generic"]["intro_exit"] = %dogfight_fly_intro_generic_squad2_ally4_exit; + level.scr_animtree["ally1_s3_generic"] = #animtree; + level.scr_model["ally1_s3_generic"] = "vehicle_sentinel_fighter_jet"; + level.scr_anim["ally1_s3_generic"]["intro_idle"][0] = %dogfight_fly_intro_generic_squad3_ally1_idle; + level.scr_anim["ally1_s3_generic"]["intro_exit"] = %dogfight_fly_intro_generic_squad3_ally1_exit; + level.scr_animtree["ally2_s3_generic"] = #animtree; + level.scr_model["ally2_s3_generic"] = "vehicle_sentinel_fighter_jet"; + level.scr_anim["ally2_s3_generic"]["intro_idle"][0] = %dogfight_fly_intro_generic_squad3_ally2_idle; + level.scr_anim["ally2_s3_generic"]["intro_exit"] = %dogfight_fly_intro_generic_squad3_ally2_exit; + level.scr_animtree["ally3_s3_generic"] = #animtree; + level.scr_model["ally3_s3_generic"] = "vehicle_sentinel_fighter_jet"; + level.scr_anim["ally3_s3_generic"]["intro_idle"][0] = %dogfight_fly_intro_generic_squad3_ally3_idle; + level.scr_anim["ally3_s3_generic"]["intro_exit"] = %dogfight_fly_intro_generic_squad3_ally3_exit; + level.scr_animtree["ally4_s3_generic"] = #animtree; + level.scr_model["ally4_s3_generic"] = "vehicle_sentinel_fighter_jet"; + level.scr_anim["ally4_s3_generic"]["intro_idle"][0] = %dogfight_fly_intro_generic_squad3_ally4_idle; + level.scr_anim["ally4_s3_generic"]["intro_exit"] = %dogfight_fly_intro_generic_squad3_ally4_exit; + level.scr_animtree["jet"] = #animtree; + level.scr_model["jet"] = "vehicle_sentinel_fighter_jet"; + level.scr_anim["jet"]["deploy"] = %dogfight_deploy_main_jet; + level.scr_animtree["jet_l"] = #animtree; + level.scr_model["jet_l"] = "vehicle_sentinel_fighter_jet"; + level.scr_anim["jet_l"]["deploy"] = %dogfight_deploy_l_jet; + level.scr_animtree["jet_r"] = #animtree; + level.scr_model["jet_r"] = "vehicle_sentinel_fighter_jet"; + level.scr_anim["jet_r"]["deploy"] = %dogfight_deploy_r_jet; + level.scr_animtree["pod"] = #animtree; + level.scr_model["pod"] = "sentinel_drop_pod_vm"; + level.scr_anim["pod"]["deploy"] = %dogfight_deploy_main_pod; + level.scr_anim["pod"]["idle"][0] = %sentinel_fighter_jet_cockpit_idle; + level.scr_animtree["pod_l"] = #animtree; + level.scr_model["pod_l"] = "sentinel_drop_pod"; + level.scr_anim["pod_l"]["deploy"] = %dogfight_deploy_l_pod; + level.scr_animtree["pod_r"] = #animtree; + level.scr_model["pod_r"] = "sentinel_drop_pod"; + level.scr_anim["pod_r"]["deploy"] = %dogfight_deploy_r_pod; + level.scr_animtree["enemy_jet"] = #animtree; + level.scr_model["enemy_jet"] = "atlas_fighter_jet"; + level.scr_anim["enemy_jet"]["deathspin"] = %dogfight_jet_fighter_death_corkscrew; +} + +//Function Number: 5 +play_canopy_closed_bink(param_00) +{ + level.finale_pod showpart("TAG_SCREEN_JOINT_LOAD"); + pausecinematicingame(0); + wait(4); +} + +//Function Number: 6 +play_canopy_bink(param_00) +{ + level.finale_pod showpart("TAG_SCREEN_JOINT_LOAD"); +} + +//Function Number: 7 +show_uplink(param_00) +{ + level.finale_pod showpart("TAG_TRANSFER_AR"); + wait(0.1); + level.finale_pod hidepart("TAG_TRANSFER_AR"); + wait(0.1); + level.finale_pod showpart("TAG_TRANSFER_AR"); + wait(0.2); + level.finale_pod hidepart("TAG_TRANSFER_AR"); + wait(0.2); + level.finale_pod showpart("TAG_TRANSFER_AR"); + wait(0.8); + level.finale_pod hidepart("TAG_TRANSFER_AR"); + wait(0.1); + level.finale_pod showpart("TAG_TRANSFER_AR"); +} + +//Function Number: 8 +show_finale_jet(param_00) +{ + level.finale_jet show(); +} \ No newline at end of file diff --git a/AW/PC/maps/df_fly_aud.gsc b/AW/PC/maps/df_fly_aud.gsc new file mode 100644 index 0000000..2fe2f21 --- /dev/null +++ b/AW/PC/maps/df_fly_aud.gsc @@ -0,0 +1,262 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: df_fly_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 26 + * Decompile Time: 382 ms + * Timestamp: 4/22/2024 2:28:41 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + config_system(); + init_snd_flags(); + init_globals(); + create_conversation_arrays(); + launch_threads(); + launch_loops(); + create_level_envelop_arrays(); + precache_presets(); + register_snd_messages(); +} + +//Function Number: 2 +config_system() +{ + soundscripts\_audio::set_stringtable_mapname("shg"); + soundscripts\_snd_filters::snd_set_occlusion("med_occlusion"); +} + +//Function Number: 3 +init_snd_flags() +{ +} + +//Function Number: 4 +init_globals() +{ + level.aud.convoactive = 0; + level.aud.convogate = 1; +} + +//Function Number: 5 +launch_threads() +{ + if(soundscripts\_audio::aud_is_specops()) + { + return; + } + + thread setup_pod_eject_anims(); + thread soundscripts\_audio_mix_manager::mm_add_submix("master_mix"); +} + +//Function Number: 6 +setup_pod_eject_anims() +{ + maps\_anim::addnotetrack_customfunction("player_rig","start",::start_pod_sequence,"deploy"); +} + +//Function Number: 7 +launch_loops() +{ + thread aud_background_chatter(); +} + +//Function Number: 8 +create_level_envelop_arrays() +{ + level.aud.envs = []; + level.aud.envs["example_envelop"] = [[0,0],[0.082,0.426],[0.238,0.736],[0.408,0.844],[0.756,0.953],[1,1]]; +} + +//Function Number: 9 +create_conversation_arrays() +{ + level.aud.convos = []; + level.aud.convos[0] = ["df_ss2_artsupport1","df_ss1_position1","df_ss1_landmark1","df_ss2_finbuilding1","df_ss1_payloadinbound"]; + level.aud.convos[1] = ["df_ss3_multcontacts","df_so_clearengage2","df_ss3_solidcopy3","df_so_unable2","df_ss3_harddcopy3"]; + level.aud.convos[2] = ["df_ss3_positionaldata3","df_ss4_goahead3","df_ss3_gridsupp3","df_ss4_proceed3"]; + level.aud.convos[3] = ["df_ss1_maintainpos4","df_ss2_copyall4","df_ss3_hardcopy4"]; + level.aud.convos[4] = ["df_ss1_movement6","df_ss4_confirmation6","df_ss4_thisapollo6","df_ss1_goforathena6","df_ss4_clearengage6","df_ss1_engaging6"]; + level.aud.convos[5] = ["df_ss3_immstrike7","df_jp1_proceed7","df_ss3_mapgrid7","df_jp1_ordinance7","df_jp1_inair7"]; + level.aud.convos[6] = ["df_jp1_commencing8","df_ss3_ceasedrops8","df_jp1_canceldrop8","df_ss3_cancelrun8","df_jp1_cancelingrun8","df_ss3_posdata8"]; + level.aud.convos[7] = ["df_ss4_notinbound11","df_ss1_flankposition11","df_ss4_out11"]; + level.aud.convos[8] = ["df_ss1_thisis12","df_ss3_gofor12","df_ss1_fortified12","df_ss3_sitrep12","df_ss1_wounded12"]; + level.aud.convos[9] = ["df_ss3_hold13","df_ss1_copy13"]; + level.aud.convos[10] = ["df_ss4_approach14","df_ss3_ceasefire14","df_ss3_advance14","df_ss4_moving14"]; + level.aud.convos[11] = ["df_ss4_sitrepd23","df_ss1_send23","df_ss4_howcopy23","df_ss1_solidcopy23","df_ss4_end23"]; + level.aud.convos[12] = ["df_ss4_thisis24","df_so_send24","df_ss4_support24"]; +} + +//Function Number: 10 +precache_presets() +{ +} + +//Function Number: 11 +register_snd_messages() +{ + soundscripts\_snd::snd_register_message("snd_zone_handler",::zone_handler); + soundscripts\_snd::snd_register_message("snd_music_handler",::music_handler); + soundscripts\_snd::snd_register_message("snd_start_canyon_intro",::snd_start_canyon_intro); + soundscripts\_snd::snd_register_message("snd_start_canyon",::snd_start_canyon); + soundscripts\_snd::snd_register_message("snd_start_canyon2",::snd_start_canyon2); + soundscripts\_snd::snd_register_message("snd_start_canyon_dam",::snd_start_canyon_dam); + soundscripts\_snd::snd_register_message("snd_start_canyon3",::snd_start_canyon3); + soundscripts\_snd::snd_register_message("snd_start_canyon_exit",::snd_start_canyon_exit); + soundscripts\_snd::snd_register_message("fly_fade_in_intro",::fly_fade_in_intro); + soundscripts\_snd::snd_register_message("destructable_destroyed",::destructable_destroyed); + soundscripts\_snd::snd_register_message("dam_explode",::dam_explode); + soundscripts\_snd::snd_register_message("bridge_fall",::bridge_fall); + soundscripts\_snd::snd_register_message("fly_ending_mix",::fly_ending_mix); +} + +//Function Number: 12 +zone_handler(param_00,param_01) +{ + switch(param_00) + { + } +} + +//Function Number: 13 +music_handler(param_00,param_01) +{ + switch(param_00) + { + case "df_fly_jet_combat": + break; + + case "df_fly_intro": + soundscripts\_audio_music::mus_play("mus_df_fly_intro"); + soundscripts\_audio::aud_set_music_submix(0.7); + break; + + case "df_fly_ending": + soundscripts\_audio_music::mus_play("mus_df_fly_ending"); + soundscripts\_audio::aud_set_music_submix(0.9); + break; + + default: + soundscripts\_audio::aud_print_warning("\tMUSIC MESSAGE NOT HANDLED: " + param_00); + break; + } +} + +//Function Number: 14 +snd_start_canyon_intro() +{ +} + +//Function Number: 15 +snd_start_canyon() +{ + soundscripts\_audio_zone_manager::azm_start_zone("sky_combat",1); +} + +//Function Number: 16 +snd_start_canyon2() +{ + soundscripts\_audio_zone_manager::azm_start_zone("sky_combat",1); +} + +//Function Number: 17 +snd_start_canyon_dam() +{ + soundscripts\_audio_zone_manager::azm_start_zone("sky_combat",1); +} + +//Function Number: 18 +snd_start_canyon3() +{ + soundscripts\_audio_zone_manager::azm_start_zone("sky_combat",1); +} + +//Function Number: 19 +snd_start_canyon_exit() +{ + soundscripts\_audio_zone_manager::azm_start_zone("sky_combat",1); +} + +//Function Number: 20 +fly_fade_in_intro() +{ + soundscripts\_audio_zone_manager::azm_start_zone("sky_combat",16); + soundscripts\_audio_mix_manager::mm_add_submix("intro"); + wait(2); + soundscripts\_audio_mix_manager::mm_clear_submix("intro",14); + wait(15.5); + soundscripts\_snd_playsound::snd_play_2d("canyon_intro_jet"); +} + +//Function Number: 21 +destructable_destroyed(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked(param_00.animname); + soundscripts\_audio_mix_manager::mm_add_submix("destruct_event",0.1); + wait(1); + soundscripts\_audio_mix_manager::mm_clear_submix("destruct_event",3); +} + +//Function Number: 22 +dam_explode() +{ + soundscripts\_snd_playsound::snd_play_at("dogfight_canyon_dam_explosion",(-34891,-99910,-24830)); + soundscripts\_audio_mix_manager::mm_add_submix("dam_destruct_event",0.1); + wait(1); + soundscripts\_audio_mix_manager::mm_clear_submix("dam_destruct_event",3); +} + +//Function Number: 23 +bridge_fall() +{ + soundscripts\_snd_playsound::snd_play_at("dogfight_canyon_metal_bridge",(91267,-23114,-33707)); + soundscripts\_audio_mix_manager::mm_add_submix("destruct_event",0.1); + wait(1); + soundscripts\_audio_mix_manager::mm_clear_submix("destruct_event",3); +} + +//Function Number: 24 +start_pod_sequence(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("drop_pod_eject_fly_1",4.7); + soundscripts\_snd_playsound::snd_play_delayed_2d("drop_pod_eject_begin_front",6); + soundscripts\_snd_playsound::snd_play_delayed_2d("drop_pod_graphics_front",13); + soundscripts\_snd_playsound::snd_play_delayed_2d("drop_pod_eject_fly_2",15.65); + soundscripts\_snd_playsound::snd_play_delayed_2d("pod_release",9.85); +} + +//Function Number: 25 +fly_ending_mix() +{ + soundscripts\_snd_playsound::snd_play_2d("canyon_end_jet"); + soundscripts\_audio_mix_manager::mm_add_submix("exit",2); + wait(13.3); + soundscripts\_audio_zone_manager::azm_start_zone("pod_eject",0.5); +} + +//Function Number: 26 +aud_background_chatter() +{ + common_scripts\utility::flag_wait("intro_finished"); + wait(5); + for(;;) + { + var_00 = randomint(12); + var_01 = level.aud.convos[var_00]; + foreach(var_03 in var_01) + { + var_04 = soundscripts\_snd_playsound::snd_play_2d(var_03); + if(!isdefined(var_04)) + { + continue; + } + + var_04 waittill("sounddone"); + wait(randomfloatrange(1,3.5)); + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/df_fly_code.gsc b/AW/PC/maps/df_fly_code.gsc new file mode 100644 index 0000000..1190185 --- /dev/null +++ b/AW/PC/maps/df_fly_code.gsc @@ -0,0 +1,678 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: df_fly_code.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 25 + * Decompile Time: 363 ms + * Timestamp: 4/22/2024 2:28:42 AM +*******************************************************************/ + +//Function Number: 1 +precache_code() +{ + precacheitem("sam_dogfight"); + precacheitem("s19_cannon_ground_turret"); +} + +//Function Number: 2 +radio_dialog_add_and_go(param_00,param_01) +{ + maps\_utility::radio_add(param_00); + maps\_utility::radio_dialogue(param_00,param_01); +} + +//Function Number: 3 +char_dialog_add_and_go(param_00) +{ + level.scr_sound[self.animname][param_00] = param_00; + maps\_utility::dialogue_queue(param_00); +} + +//Function Number: 4 +ai_array_killcount_flag_set(param_00,param_01,param_02,param_03) +{ + waittill_vehicles_dead(param_00,param_01,param_03); + common_scripts\utility::flag_set(param_02); +} + +//Function Number: 5 +waittill_vehicles_dead(param_00,param_01,param_02) +{ + var_03 = []; + foreach(var_05 in param_00) + { + if(isalive(var_05)) + { + var_03[var_03.size] = var_05; + } + } + + param_00 = var_03; + var_07 = spawnstruct(); + if(isdefined(param_02)) + { + var_07 endon("thread_timed_out"); + var_07 thread maps\_utility::waittill_dead_timeout(param_02); + } + + var_07.count = param_00.size; + if(isdefined(param_01) && param_01 < var_07.count) + { + var_07.count = param_01; + } + + common_scripts\utility::array_thread(param_00,::maps\_utility::waittill_dead_thread,var_07); + while(var_07.count > 0) + { + var_07 waittill("waittill_dead guy died"); + } +} + +//Function Number: 6 +plane_in_formation(param_00,param_01,param_02) +{ + param_02 = param_02 * param_02; + for(var_03 = 0;var_03 < param_01.size;var_03++) + { + var_04 = distancesquared(param_00.origin,param_01[var_03].origin); + if(var_04 < param_02) + { + if(vectordot(anglestoforward(param_00.angles),anglestoforward(param_01[var_03].angles)) > 0) + { + return 1; + } + } + } + + return 0; +} + +//Function Number: 7 +wait_for_formation(param_00,param_01,param_02) +{ + var_03 = gettime() + param_02 * 1000; + var_04 = plane_in_formation(self,param_00,param_01); + while(gettime() < var_03 || !var_04) + { + wait(0.1); + var_04 = plane_in_formation(self,param_00,param_01); + if(!var_04) + { + var_03 = gettime() + param_02 * 1000; + } + } + + self notify("in_formation"); +} + +//Function Number: 8 +wait_for_formation_break(param_00,param_01,param_02) +{ + level endon("ignore_formation"); + var_03 = gettime() + param_02 * 1000; + var_04 = plane_in_formation(self,param_00,param_01); + while(gettime() < var_03 || var_04) + { + wait(0.1); + var_04 = plane_in_formation(self,param_00,param_01); + if(var_04) + { + var_03 = gettime() + param_02 * 1000; + } + } + + self notify("broke_formation"); +} + +//Function Number: 9 +shoot_sam_missiles(param_00) +{ + foreach(var_02 in param_00) + { + thread shoot_sam_missile(var_02); + wait(0.2); + } +} + +//Function Number: 10 +shoot_sam_missile(param_00,param_01) +{ + if(maps\_utility::hastag(self.model,"tag_flash")) + { + var_02 = self gettagorigin("tag_flash"); + var_03 = var_02 + (0,0,100); + } + else + { + var_03 = maps\df_fly_flight_code::offset_position_from_tag("forward","tag_origin",200); + var_03 = var_03 + (0,0,100); + var_02 = maps\df_fly_flight_code::offset_position_from_tag("forward","tag_origin",50); + } + + if(!isdefined(param_01)) + { + param_01 = self.origin + (0,0,12000); + param_01 = param_01 + param_00.origin; + param_01 = param_01 / 2; + } + + var_04 = vectornormalize(param_01 - self.origin); + var_05 = self.origin + var_04 * 2000; + var_06 = magicbullet("sam_dogfight",var_03,param_01 + (randomfloatrange(-1000,1000),randomfloatrange(-1000,1000),randomfloatrange(-1000,1000))); + playfx(common_scripts\utility::getfx("turret_gun_muzzle"),var_02,vectornormalize(param_01 - var_02)); + self playsound("canyon_missile_fire_npc"); + wait(0.25); + if(isdefined(var_06) && isvalidmissile(var_06) && isdefined(param_00)) + { + var_06 missile_settargetent(param_00); + var_06 thread maps\df_fly_flight_code::monitor_missile_death(1,self,undefined,param_00); + wait(2); + return; + } + + var_07 = 1; +} + +//Function Number: 11 +turret_ai() +{ + var_00 = 3; + var_01 = 0.4; + var_02 = 3; + var_03 = 50000; + self endon("death"); + var_04 = isdefined(self.script_parameters) && self.script_parameters == "missiles"; + var_05 = isdefined(self.script_parameters) && self.script_parameters == "missiles_only"; + var_06 = isdefined(self.script_parameters) && self.script_parameters == "none"; + if(var_06) + { + return; + } + + if(var_05) + { + var_04 = 1; + } + + if(!isdefined(level.last_turret_missile_time)) + { + level.last_turret_missile_time = 0; + } + + while(isalive(self)) + { + var_07 = gettime(); + if(var_04 && var_07 >= level.last_turret_missile_time + var_02 * 1000) + { + var_08 = turret_choose_targets(5000,var_03); + } + else + { + var_08 = turret_choose_targets(0,var_03); + } + + if(var_08.size > 0 && !isremovedentity(var_08[0])) + { + var_09 = var_08[0]; + if(var_04 && var_07 >= level.last_turret_missile_time + var_02 * 1000 && var_08.size >= 2) + { + if(var_05) + { + var_0A = []; + for(var_0B = 0;var_0B < var_08.size && var_0B <= 4;var_0B++) + { + var_0A[var_0A.size] = var_08[var_0B]; + } + + shoot_sam_missiles(var_0A); + } + else + { + shoot_sam_missiles(maps\_utility::make_array(var_08[0])); + } + + level.last_turret_missile_time = var_07; + wait(0.2); + } + + if(var_05) + { + wait(0.05); + continue; + } + + var_0C = var_07 + var_00 + randomfloatrange(-0.5,0.5) * 1000; + var_0D = vectortoangles(var_09.origin - self.origin); + self playloopsound("ground_turret_mgun_lp_npc"); + self rotateto(var_0D,var_0C - 1); + while(var_07 < var_0C && !isremovedentity(var_09)) + { + var_0E = var_09.origin; + if(maps\_utility::hastag(self.model,"tag_flash")) + { + var_0F = self gettagorigin("tag_flash"); + var_10 = var_0F; + var_11 = undefined; + var_12 = vectornormalize(var_0E - var_0F); + var_10 = var_10 + var_12 * 100; + } + else + { + var_10 = maps\df_fly_flight_code::offset_position_from_tag("right","tag_origin",100) + (0,0,100); + var_11 = maps\df_fly_flight_code::offset_position_from_tag("left","tag_origin",100) + (0,0,100); + var_0F = maps\df_fly_flight_code::offset_position_from_tag("forward","tag_origin",50) + (0,0,100); + var_12 = vectornormalize(var_0E - var_0F); + } + + playfx(common_scripts\utility::getfx("turret_gun_muzzle"),var_0F,var_12); + var_13 = magicbullet("s19_cannon_ground_turret",var_10,var_0E); + if(isdefined(var_11)) + { + wait(0.1); + var_13 = magicbullet("s19_cannon_ground_turret",var_11,var_0E); + } + + wait(0.2); + var_07 = gettime(); + } + + self stoploopsound(); + self playsound("ground_turret_mgun_end_npc"); + wait(randomfloatrange(0.2,0.4)); + continue; + } + + wait(0.2); + } +} + +//Function Number: 12 +turret_choose_targets(param_00,param_01) +{ + param_00 = float(param_00 * param_00); + param_01 = float(param_01 * param_01); + var_02 = level.plane; + var_03 = distancesquared(self.origin,level.plane.origin); + var_04 = [var_02]; + var_05 = common_scripts\utility::array_combine(level.allies,level.friend_jets); + foreach(var_07 in var_05) + { + if(isalive(var_07)) + { + var_08 = distancesquared(self.origin,var_07.origin); + if(var_08 <= param_01 && var_08 >= param_00) + { + if(var_08 < var_03) + { + var_03 = var_08; + var_02 = var_07; + var_04 = common_scripts\utility::array_insert(var_04,var_02,0); + } + else + { + var_04 = common_scripts\utility::array_add(var_04,var_02); + } + } + } + } + + if(var_03 > param_01) + { + var_02 = undefined; + var_04 = []; + } + + return var_04; +} + +//Function Number: 13 +handle_turrets(param_00,param_01,param_02) +{ + common_scripts\utility::flag_wait(param_01); + var_03 = getentarray(param_00,"targetname"); + if(!isdefined(level.enemy_units)) + { + level.enemy_units = []; + } + + foreach(var_05 in var_03) + { + var_05 setcandamage(1); + var_05 setcanradiusdamage(1); + var_05.default_hud = "hud_fofbox_hostile_obstructed"; + var_05.health = 10000; + var_05.ground_target = 1; + level.enemy_units[level.enemy_units.size] = var_05; + var_05 thread maps\df_fly_flight_code::hud_target_think(500); + var_05 thread turret_ai(); + var_05 thread wait_for_damage(); + if(isdefined(var_05.animation)) + { + var_05.animname = "turret"; + var_05 useanimtree(level.scr_animtree[var_05.animname]); + if(isarray(level.scr_anim["turret"][var_05.animation])) + { + var_05 thread maps\_anim::anim_loop_solo(var_05,var_05.animation); + continue; + } + + var_05 playloopsound("canyon_hover_drone_lp"); + if(isdefined(var_05.script_delay)) + { + var_05 maps\_utility::delaythread(var_05.script_delay,::maps\_anim::anim_single_solo,var_05,var_05.animation); + continue; + } + + var_05 thread maps\_anim::anim_single_solo(var_05,var_05.animation); + } + } + + common_scripts\utility::flag_wait(param_02); + level.enemy_units = common_scripts\utility::array_remove_array(level.enemy_units,var_03); + array_safe_delete(var_03); +} + +//Function Number: 14 +handle_flak_cannons(param_00,param_01,param_02) +{ + common_scripts\utility::flag_wait(param_01); + var_03 = getentarray(param_00,"targetname"); + if(!isdefined(level.enemy_units)) + { + level.enemy_units = []; + } + + foreach(var_05 in var_03) + { + var_05.default_hud = "hud_fofbox_hostile_obstructed"; + var_05 setcandamage(1); + var_05 setcanradiusdamage(1); + var_05.health = 10000; + var_05.ground_target = 1; + level.enemy_units[level.enemy_units.size] = var_05; + var_05 thread maps\df_fly_flight_code::hud_target_think(); + var_05 thread wait_for_damage(); + } + + common_scripts\utility::flag_wait(param_02); + var_03 = maps\_utility::remove_dead_from_array(var_03); + level.enemy_units = common_scripts\utility::array_remove_array(level.enemy_units,var_03); + array_safe_delete(var_03); +} + +//Function Number: 15 +wait_for_damage() +{ + var_00 = 0; + var_01 = self; + while(var_00 < 10 && var_01 != level.player) + { + self waittill("damage",var_00,var_01,var_02,var_03,var_04); + } + + if(var_01 == level.player) + { + level.player maps\_upgrade_challenge::give_player_challenge_kill(1); + } + + if(!isdefined(self)) + { + return; + } + + self notify("kill_target_think"); + if(target_istarget(self)) + { + target_hidefromplayer(self,level.player); + target_remove(self); + } + + if(isdefined(self.animation) && self.animation == "dogfight_canyon_mwp_hover" || !isarray(level.scr_anim["turret"][self.animation])) + { + playfx(common_scripts\utility::getfx("bagh_aircraft_explosion_midair"),self.origin); + self stoploopsound(); + if(maps\_utility::hastag(self.model,"tag_origin")) + { + var_05 = playfxontag(common_scripts\utility::getfx("bagh_aircraft_damage_trail_huge"),self,"tag_origin"); + } + else + { + var_05 = playfx(common_scripts\utility::getfx("bagh_aircraft_damage_trail_huge"),self.origin); + } + + maps\_anim::anim_single_solo(self,"crash"); + if(isdefined(self) && maps\_utility::hastag(self.model,"tag_origin")) + { + stopfxontag(common_scripts\utility::getfx("bagh_aircraft_damage_trail_huge"),self,"tag_origin"); + } + } + else + { + playfx(common_scripts\utility::getfx("canyon_jet_impact"),self.origin); + } + + if(isdefined(self)) + { + self delete(); + } +} + +//Function Number: 16 +setup_destructibles() +{ + var_00 = getentarray("canyon_destructible","script_noteworthy"); + common_scripts\utility::array_thread(var_00,::handle_canyon_destructible); + var_00 = getentarray("canyon_destructible_clip","targetname"); + common_scripts\utility::array_thread(var_00,::handle_canyon_destructible_clips); + var_00 = getentarray("canyon_turret_clip","targetname"); + common_scripts\utility::array_thread(var_00,::handle_canyon_turret_clips); +} + +//Function Number: 17 +handle_canyon_turret_clips() +{ + if(isdefined(self.target) && isdefined(self.script_noteworthy)) + { + var_00 = getent(self.target,"script_noteworthy"); + self linkto(var_00,self.script_noteworthy); + } +} + +//Function Number: 18 +handle_canyon_destructible_clips() +{ + if(isdefined(self.target) && isdefined(self.script_parameters)) + { + var_00 = getent(self.target,"targetname"); + self linkto(var_00,self.script_parameters); + } +} + +//Function Number: 19 +handle_canyon_destructible(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 1; + } + + var_01 = undefined; + if(isdefined(self.script_parameters)) + { + var_02 = strtok(self.script_parameters," "); + var_01 = int(var_02[0]); + if(var_02.size > 1) + { + var_03 = var_02[1]; + thread waitforhoodooflag(var_03); + } + + if(var_02.size > 2) + { + param_00 = var_02[2] != "noshoot"; + } + } + + self.animname = self.animation; + self useanimtree(level.scr_animtree[self.animation]); + if(param_00) + { + self setcandamage(1); + self setcanradiusdamage(1); + self.health = 100; + self.maxhealth = 100; + thread waitforhoodoodamage(); + } + + self waittill("fall_down"); + if(isdefined(var_01) && var_01 > 0) + { + common_scripts\_exploder::exploder(var_01); + } + + soundscripts\_snd::snd_message("destructable_destroyed",self); + thread maps\_anim::anim_single_solo(self,"destroy"); +} + +//Function Number: 20 +waitforhoodooflag(param_00) +{ + common_scripts\utility::flag_wait(param_00); + self notify("fall_down"); +} + +//Function Number: 21 +waitforhoodoodamage() +{ + for(;;) + { + self waittill("damage",var_00,var_01,var_02,var_03,var_04); + self.health = self.maxhealth; + if(var_04 == "mod_projectile" || var_04 == "mod_projectile_splash") + { + continue; + } + + self notify("fall_down"); + break; + } +} + +//Function Number: 22 +handle_missile_jet(param_00,param_01,param_02,param_03,param_04) +{ + common_scripts\utility::flag_wait(param_00); + var_05 = getent(param_01,"targetname"); + var_06 = var_05 thread maps\_vehicle::spawn_vehicle_and_gopath(); + var_07 = var_06; + var_08 = "tag_left_wingtip"; + var_09 = undefined; + var_0A = common_scripts\utility::getfx("bagh_aircraft_damage_fire_trail"); + if(maps\df_fly_flight_code::is_true(param_04)) + { + var_09 = maps\_utility::spawn_anim_model("refueler"); + var_09.origin = var_06.origin; + var_09.angles = var_06.angles; + var_09 linkto(var_06,"tag_origin",(0,0,0),(0,0,0)); + var_06 hide(); + var_07 = var_09; + var_08 = "TAG_LT_WING_LIGHT_FX"; + var_0A = common_scripts\utility::getfx("bagh_tanker_crash"); + } + + playfxontag(var_0A,var_07,var_08); + var_06 waittill("death"); + var_06 maps\_utility::ent_flag_clear("engineeffects"); + stopfxontag(common_scripts\utility::getfx("bagh_aircraft_damage_fire_trail"),var_07,var_08); + if(isdefined(var_09)) + { + var_09 delete(); + } + + if(maps\df_fly_flight_code::is_true(param_03)) + { + playfx(common_scripts\utility::getfx("canyon_jet_impact"),var_06.origin,anglestoforward(var_06.angles) * -1); + } + + if(isdefined(var_06)) + { + var_06 delete(); + } + + if(isdefined(param_02)) + { + common_scripts\utility::flag_set(param_02); + } +} + +//Function Number: 23 +fake_missile_from_behind_player(param_00,param_01,param_02,param_03,param_04) +{ + common_scripts\utility::flag_wait(param_00); + if(randomfloat(1) > 0.5) + { + maps\_utility::delaythread(0.25,::fake_missile_from_behind_player,param_00,param_01,param_02,param_03); + } + + var_05 = getent(param_01,"targetname"); + if(!isdefined(var_05)) + { + return; + } + + var_06 = undefined; + if(isdefined(param_03)) + { + var_07 = getent(param_03,"targetname"); + var_06 = var_07.origin; + } + else + { + var_06 = level.plane maps\df_fly_flight_code::offset_position_from_tag("backward","tag_origin",500); + var_06 = var_06 + (0,0,200); + } + + if(!isdefined(param_04)) + { + param_04 = 1; + } + + var_08 = var_05.origin; + var_09 = undefined; + for(var_0A = 0;var_0A < param_04;var_0A++) + { + var_09 = magicbullet("sidewinder_atlas_jet",var_06,var_08); + var_09 missile_settargetent(var_05); + var_09 thread maps\df_fly_flight_code::monitor_missile_death(1,self,undefined,var_05); + var_08 = var_05.origin + (randomintrange(-500,500),randomintrange(-500,500),randomintrange(-500,500)); + } + + var_09 waittill("explode",var_0B); + if(isdefined(param_02)) + { + common_scripts\utility::flag_set(param_02); + } +} + +//Function Number: 24 +array_safe_delete(param_00) +{ + foreach(var_02 in param_00) + { + if(!isremovedentity(var_02)) + { + var_02 delete(); + } + } +} + +//Function Number: 25 +adjust_bounce_lookahead(param_00,param_01,param_02) +{ + var_03 = getdvarfloat("vehPlaneCollisionLookAheadTime"); + common_scripts\utility::flag_wait(param_01); + setsaveddvar("vehPlaneCollisionLookAheadTime",param_00); + common_scripts\utility::flag_wait(param_02); + setsaveddvar("vehPlaneCollisionLookAheadTime",var_03); +} \ No newline at end of file diff --git a/AW/PC/maps/df_fly_flight_code.gsc b/AW/PC/maps/df_fly_flight_code.gsc new file mode 100644 index 0000000..41b800e --- /dev/null +++ b/AW/PC/maps/df_fly_flight_code.gsc @@ -0,0 +1,4915 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: df_fly_flight_code.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 161 + * Decompile Time: 2283 ms + * Timestamp: 4/22/2024 2:28:49 AM +*******************************************************************/ + +//Function Number: 1 +flight_code_main() +{ + level.user_controlled_plane = 1; + level.fps_controls = 1; + level.plane_intialized = 0; + level.num_objectives_visable = 0; + level.player_boosting = 0; + level.player_braking = 0; + level.enemy_locking_on_to_player = 0; + level.last_missile_fired_at_player = 0; + level.default_player_dist = 2000; + level.flares_active = 0; + level.friend_jets = []; + precacheitem("s19_cannon_player_test"); + precacheitem("s19_cannon_AI"); + precacheitem("sidewinder_atlas_jet"); + precachemodel("vehicle_s19"); + precachemodel("vfx_atlas_fighter_jet_dest_body_01"); + precachemodel("vfx_atlas_fighter_jet_dest_wing_lt"); + precachemodel("vfx_atlas_fighter_jet_dest_wing_rt"); + precacheshader("jet_HUD_hex_blue"); + precacheshader("jet_HUD_hex_orange"); + precacheshader("jet_hud_target_bullet_lock"); + precacheshader("jet_HUD_diamond_green"); + precacheshader("jet_HUD_ground_target"); + precacheshader("coop_class_icon_vangard"); + precacheshader("veh_hud_target"); + precacheshader("jet_hud_overlay_cannon_1"); + precacheshader("jet_hud_overlay_cannon_boresight"); + precacheshader("jet_hud_overlay_cannon_boresight_lockon"); + precacheshader("jet_hud_overlay_cannon_reticle"); + precacheshader("jet_hud_overlay_cannon_reticle_lockon"); + precacheshader("jet_hud_overlay_missile_1"); + precacheshader("jet_hud_missile_circle"); + precacheshader("jet_hud_red_doublecircle"); + precacheshader("jet_hud_overlay_bomb_1"); + precacheshader("jet_hud_incoming_missile"); + precacheshader("jet_hud_locking_on"); + precacheshader("jet_hud_locking_on_small"); + precacheshader("jet_hud_lockon_missile"); + precacheshader("jet_hud_overlay_missile_lockon"); + precacheshader("jet_hud_overlay_cannon_lockon"); + precacheshader("jet_hud_overlay_bomb_lockon"); + precacheshader("jet_hud_ground_target_lockon"); + precacheshader("jet_hud_pip_missile_1"); + precacheshader("jet_hud_overlay_bomb_flight"); + precacheshader("jet_hud_follow"); + precacheshader("jet_hud_missile_indicator"); + precacheshader("jet_hud_ammo_missile_0"); + precacheshader("jet_hud_ammo_missile_1"); + precacheshader("jet_hud_follow_white"); + precacheshader("jet_hud_lockon_bomb_1"); + precacheshader("jet_hud_lockon_bomb_2"); + precacheshader("jet_hud_overlay_reentry"); + precacheshader("jet_reentry_target"); + precacheshader("jet_hud_locking_on_1"); + precacheshader("jet_hud_locking_on_2"); + precacheshader("jet_hud_locking_on_3"); + precacheshader("jet_hud_locking_on_4"); + precacheshader("jet_hud_locking_on_5"); + precacheshader("jet_hud_locking_on_6"); + precacheshader("jet_hud_locking_on_7"); + precacheshader("jet_hud_locking_on_8"); + precacheshader("jet_hud_locking_on_9"); + precacheshader("jet_hud_locking_on_10"); + precacheshader("jet_hud_locking_on_11"); + precacheshader("jet_hud_locking_on_12"); + precacheshader("jet_hud_locking_on_13"); + precacheshader("jet_hud_locking_on_14"); + precacheshader("jet_hud_locking_on_15"); + precacheshader("jet_hud_locking_on_16"); + precacheshader("jet_hud_bomb_locking_on_1"); + precacheshader("jet_hud_bomb_locking_on_2"); + precacheshader("jet_hud_bomb_locking_on_3"); + precacheshader("jet_hud_bomb_locking_on_4"); + precacheshader("jet_hud_bomb_locking_on_5"); + precacheshader("jet_hud_bomb_locking_on_6"); + precacheshader("jet_hud_bomb_locking_on_7"); + precacheshader("jet_hud_bomb_locking_on_8"); + precacheshader("jet_hud_bomb_locking_on_9"); + precacheshader("jet_hud_bomb_locking_on_10"); + precacheshader("jet_hud_bomb_locking_on_11"); + precacheshader("jet_hud_bomb_locking_on_12"); + precacheshader("jet_hud_bomb_locking_on_13"); + precacheshader("jet_hud_bomb_locking_on_14"); + precacheshader("jet_hud_bomb_locking_on_15"); + precacheshader("jet_hud_bomb_locking_on_16"); + precacheshader("jet_hud_hex_blue_distort_1"); + precacheshader("jet_hud_hex_blue_distort_2"); + precacheshader("hud_plane_enemy"); + precacheshader("hud_fofbox_hostile_obstructed"); + precacheshader("hud_plane_horizon"); + precacheshader("hud_plane_mg"); + precacheshader("hud_plane_missile"); + precacheshader("hud_plane_reticle"); + precacheshader("hud_plane_controls_button"); + precacheshader("hud_plane_mg_button"); + precacheshader("hud_plane_missile_button"); + precacheshader("hud_plane_thrust_button"); + precachedigitaldistortcodeassets(); +} + +//Function Number: 2 +change_optimal_flight_distance(param_00) +{ + self.default_player_dist = self.default_player_dist + param_00; + self.infront_dist_min = self.infront_dist_min + param_00; + self.infront_dist_max = self.infront_dist_max + param_00; +} + +//Function Number: 3 +set_optimal_flight_dist(param_00,param_01) +{ + if(isdefined(self)) + { + self.default_player_dist = param_00; + self.infront_dist_min = param_00 - 500; + self.infront_dist_max = param_00 + 500; + } +} + +//Function Number: 4 +steering_hack() +{ + setsaveddvar("vehPlanePathAllowance",45); + common_scripts\utility::flag_wait("go_wide"); + setsaveddvar("vehPlanePathAllowance",60); +} + +//Function Number: 5 +flight_code_start(param_00,param_01) +{ + if(!isdefined(param_00)) + { + param_00 = "player_mig"; + } + + setsaveddvar("vehPlanePathAllowance",60); + level.plane = getent(param_00,"targetname"); + level.plane maps\_vehicle::godon(); + level.plane maps\_utility::ent_flag_clear("engineeffects"); + level.plane.lock_targets = []; + level.plane.bomb_tag = level.plane common_scripts\utility::spawn_tag_origin(); + level.plane.bomb_tag linkto(level.plane,"tag_origin"); + thread init_jet_crash_points(); + var_02 = getentarray("player_vehicle","script_noteworthy"); + foreach(var_04 in var_02) + { + if(var_04 != level.plane) + { + var_04 delete(); + } + } + + if(level.mini_version) + { + level.plane plane_test(50); + return; + } + + level.plane plane_test(undefined,undefined,param_01); +} + +//Function Number: 6 +debug_friendly_death() +{ + while(isdefined(self) && self.health > 1) + { + wait(0.05); + } + + if(isdefined(self) && isdefined(self.targetname)) + { + var_00 = self.targetname; + iprintlnbold("friendly dead",var_00); + } +} + +//Function Number: 7 +target_cycleshader(param_00,param_01,param_02,param_03) +{ + param_00 endon("death"); + param_00 endon("stop_target_cycle"); + if(!isdefined(param_03)) + { + param_03 = 0.5; + } + + while(target_istarget(param_00)) + { + target_setshadersafe(param_00,param_01); + wait(param_03); + target_setshadersafe(param_00,param_02); + wait(param_03); + } +} + +//Function Number: 8 +make_ally_jet(param_00,param_01,param_02) +{ + if(!isdefined(param_01)) + { + param_01 = 1; + } + + var_03 = self; + var_04 = var_03 maps\_vehicle::spawn_vehicle_and_gopath(); + if(isdefined(var_03.script_parameters)) + { + var_05 = int(var_03.script_parameters); + } + else + { + var_05 = 3000; + } + + var_04 set_optimal_flight_dist(var_05,is_true(param_02) || !is_true(param_01)); + var_04.missiletags_right = ["tag_right_wingtip"]; + var_04.missiletags_left = ["tag_left_wingtip"]; + var_04.salvo_ammo = []; + var_04.salvo_ammo[0] = 4; + var_04.mgun_left = "tag_left_wingtip"; + var_04.mgun_right = "tag_right_wingtip"; + var_04.has_flares = 999; + var_04 thread fly_think(param_00,1,1,0); + if(param_01) + { + level.allies[level.allies.size] = var_04; + var_04 thread ally_jet_shoot_think(); + } + else + { + var_04 hide(); + var_04 maps\_utility::ent_flag_clear("engineeffects"); + level.friend_jets[level.friend_jets.size] = var_04; + var_04 maps\_vehicle::godon(); + } + + return var_04; +} + +//Function Number: 9 +spawn_enemy_jets(param_00,param_01,param_02) +{ + if(!isdefined(param_01)) + { + param_01 = "targetname"; + } + + var_03 = getentarray(param_00,param_01); + var_04 = []; + foreach(var_06 in var_03) + { + var_07 = var_06 maps\_vehicle::spawn_vehicle_and_gopath(); + if(is_true(param_02)) + { + var_07 maps\_vehicle::godon(); + } + + if(isdefined(var_06.script_parameters)) + { + var_08 = int(var_06.script_parameters); + } + else + { + var_08 = 3000; + } + + var_07 set_optimal_flight_dist(var_08); + var_07 thread make_enemy_jet(); + var_04[var_04.size] = var_07; + } + + return var_04; +} + +//Function Number: 10 +make_enemy_jet(param_00,param_01,param_02) +{ + if(!isdefined(level.vehicle_death_jolt)) + { + level.vehicle_death_jolt = []; + } + + var_03 = spawnstruct(); + var_03.delay = 9999; + level.vehicle_death_jolt["script_vehicle_mig29"] = var_03; + self.salvo_ammo = []; + self.salvo_ammo[0] = 4; + self.mgun_left = "tag_gun_left"; + self.mgun_right = "tag_gun_right"; + self.has_flares = 1; + self.last_flare_time = 0; + self.ignore_death_fx = 1; + self.script_ai_invulnerable = 1; + level.enemy_units[level.enemy_units.size] = self; + thread monitor_enemy_jet_health(); + self.default_hud = "hud_fofbox_hostile_obstructed"; + thread hud_target_think(); + thread fly_think(level.plane,1,1,param_01); + if(isdefined(param_02)) + { + if(level.next_obj_pos == 0) + { + objective_onentity(maps\_utility::obj(param_02),self); + } + + objective_additionalentity(maps\_utility::obj(param_02),level.next_obj_pos,self); + level.next_obj_pos++; + } + + thread wait_for_death(); + thread enemy_jet_shoot_think(); +} + +//Function Number: 11 +wait_for_death() +{ + self waittill("death",var_00); + if(isdefined(var_00) && var_00 == level.player) + { + level notify("enemy_dead_by_player"); + return; + } + + level notify("enemy_dead"); +} + +//Function Number: 12 +make_enemy_jet_special(param_00,param_01) +{ + target_setsafe(self); + thread target_cycleshader(self,"jet_hud_hex_blue_distort_1","jet_hud_hex_blue_distort_2",0.1); + var_02 = [level.plane]; + thread monitor_enemy_jet_health(); + thread fly_think(level.plane,1,1,param_01); +} + +//Function Number: 13 +monitor_enemy_jet_health() +{ + level endon("end_canyon"); + self.script_crashtypeoverride = "none"; + var_00 = check_health(); + burn_and_crash(var_00); +} + +//Function Number: 14 +physics_crash(param_00) +{ + if(isdefined(self)) + { + self delete(); + } + + var_01 = spawn("script_model",param_00["org"]); + var_01.angles = param_00["ang"]; + var_01 setmodel("vehicle_mig29"); + var_01 thread add_damage_fx(); + var_02 = 10; + var_03 = param_00["velocity"] * var_02; + var_04 = vectorlerp(param_00["org"],param_00["point"],0.5); + var_01 physicslaunchserver(var_04,var_03); + delete_on_crash(var_01); +} + +//Function Number: 15 +burn_and_crash(param_00) +{ + if(!isdefined(self) || isremovedentity(self)) + { + return; + } + + if(target_istarget(self)) + { + target_remove(self); + } + + level.enemy_units = common_scripts\utility::array_remove(level.enemy_units,self); + var_01 = vectornormalize(self.origin - param_00["point"]); + var_02 = var_01 * 50 * 17.6; + var_03 = (0,0,100); + self vehicle_addvelocity(var_02,var_03); + var_04 = choose_crash_path(); + var_05 = 0; + maps\_utility::ent_flag_clear("engineeffects"); + if(isdefined(var_04)) + { + var_06 = playfxontag(common_scripts\utility::getfx("bagh_aircraft_damage_fire_trail"),self,"tag_origin"); + playfx(common_scripts\utility::getfx("missile_explode"),self.origin,anglestoforward(self.angles) * -1); + var_04.claimed = 1; + self notify("newpath"); + self vehicledriveto(var_04.origin,self.veh_pathspeed); + if(isdefined(var_04.target)) + { + follow_crash_path(var_04); + } + } + else + { + maps\df_fly_fx::vfx_handle_disintegrating_jet(); + var_05 = 1; + } + + if(!var_05) + { + var_07 = gettime(); + var_08 = self.origin; + var_09 = var_07 + randomfloatrange(2,3) * 1000; + var_0A = 0; + while(isdefined(self) && isdefined(var_04) || gettime() < var_09) + { + if(isdefined(self.dragging) && self.dragging) + { + return; + } + + if(!bullettracepassed(var_08,self.origin,0,self)) + { + var_0A = 1; + break; + } + + var_08 = self.origin; + wait 0.05; + } + + if(isdefined(self) && !var_0A) + { + var_0B = []; + var_0B["org"] = self.origin; + var_0B["ang"] = self.angles; + var_0B["velocity"] = param_00["velocity"]; + var_0B["point"] = self.origin; + var_0B["direction_vec"] = self.angles; + physics_crash(var_0B); + } + + if(isdefined(self)) + { + stopfxontag(common_scripts\utility::getfx("bagh_aircraft_damage_fire_trail"),self,"tag_origin"); + playfx(level._effect["canyon_jet_impact"],self.origin); + self delete(); + } + } +} + +//Function Number: 16 +follow_crash_path(param_00) +{ + while(isdefined(self) && isdefined(param_00.target)) + { + if(distancesquared(self.origin,param_00.origin) < 62500) + { + if(isdefined(param_00.script_noteworthy) && param_00.script_noteworthy == "drag" && !is_true(self.dragging)) + { + self.dragging = 1; + self cancelaimove(); + self hide(); + var_01 = spawn("script_model",self.origin); + var_01.angles = self.angles; + var_01 setmodel(self.model); + var_01 show(); + stopfxontag(common_scripts\utility::getfx("bagh_aircraft_damage_fire_trail"),self,"tag_origin"); + playfx(common_scripts\utility::getfx("canyon_jet_impact"),var_01.origin,anglestoforward(var_01.angles) * -1); + playfxontag(common_scripts\utility::getfx("bagh_tanker_dust_trail_small"),var_01,"tag_origin"); + var_02 = self.veh_pathspeed; + while(isdefined(param_00.target)) + { + param_00 = getvehiclenode(param_00.target,"targetname"); + var_03 = distance(var_01.origin,param_00.origin) / var_02 * 17.6; + var_01 moveto(param_00.origin,var_03); + var_01 rotateto(param_00.angles,var_03); + wait(var_03); + } + + playfx(level._effect["canyon_jet_impact"],var_01.origin); + var_01 delete(); + if(isdefined(self)) + { + self delete(); + } + + return; + } + + var_03 = getvehiclenode(var_03.target,"targetname"); + if(isdefined(var_03)) + { + self vehicledriveto(var_03.origin,self.veh_pathspeed); + continue; + } + + break; + } + + wait(0.05); + } +} + +//Function Number: 17 +delete_on_crash(param_00) +{ + var_01 = 0; + while(isdefined(param_00) && length(param_00 maps\_shg_utility::get_differentiated_acceleration()) < 1000 || var_01 < 3 && var_01 < 100) + { + var_01++; + wait 0.05; + } + + var_02 = param_00.differentiated_last_velocity; + if(var_02 == (0,0,0)) + { + var_02 = -1 * anglestoforward(param_00.angles); + } + + playfx(level._effect["canyon_jet_impact"],param_00.origin,param_00.differentiated_last_velocity); + param_00 delete(); +} + +//Function Number: 18 +add_damage_fx() +{ + level endon("finale"); + var_00 = ["tag_right_wingtip","tag_left_wingtip"]; + var_01 = randomint(var_00.size); + var_02 = playfxontag(common_scripts\utility::getfx("bagh_aircraft_damage_trail"),self,"tag_origin"); + while(isalive(self) && self.health > self.healthbuffer) + { + if(!isdefined(self)) + { + break; + } + + wait(0.05); + } + + if(isdefined(self)) + { + stopfxontag(common_scripts\utility::getfx("bagh_aircraft_damage_trail"),self,"tag_origin"); + } +} + +//Function Number: 19 +check_health(param_00) +{ + level endon("end_canyon"); + maps\_vehicle::vehicle_set_health(3000); + self.script_bulletshield = undefined; + self.script_explosive_bullet_shield = undefined; + self.script_ai_invulnerable = undefined; + self.script_grenadeshield = undefined; + self.vehicle_stays_alive = 1; + var_01 = []; + var_01["org"] = self.origin; + var_01["ang"] = self.angles; + var_01["velocity"] = self vehicle_getvelocity(); + var_01["point"] = self.origin; + var_01["direction_vec"] = self.angles; + var_02 = 0; + var_03 = self.health - self.healthbuffer; + var_04 = undefined; + var_05 = undefined; + var_06 = undefined; + while(isalive(self) && self.health > self.healthbuffer) + { + self waittill("damage",var_07,var_08,var_09,var_0A,var_0B,var_0C,var_0D,var_0E,var_0F,var_10); + var_04 = var_08; + var_05 = var_0B; + var_06 = var_10; + if(isalive(self)) + { + if(var_08 == level.player) + { + if(var_0B == "MOD_EXPLOSIVE") + { + self dodamage(var_07,var_0A,var_08); + } + else + { + self dodamage(self.maxhealth / 100,var_0A,var_08); + } + + self playsound("enemy_jet_mid_air_damage"); + } + + var_01["direction_vec"] = var_09; + var_01["point"] = var_0A; + var_01["org"] = self.origin; + var_01["ang"] = self.angles; + var_01["velocity"] = self vehicle_getvelocity(); + if(!var_02 && self.health > self.healthbuffer) + { + thread add_damage_fx(); + var_02 = 1; + } + } + } + + if(var_04 == level.player) + { + level.player maps\_upgrade_challenge::give_player_challenge_kill(1); + if(isdefined(var_06) && var_06 == "s19_cannon_player_test") + { + if(!isdefined(level.maverick_counter)) + { + level.maverick_counter = 0; + } + + level.maverick_counter++; + if(level.maverick_counter == 10) + { + maps\_utility::giveachievement_wrapper("LEVEL_13A"); + } + } + } + + var_11 = self.origin; + var_12 = self.angles; + if(isdefined(var_11)) + { + var_01["org"] = var_11; + } + + if(isdefined(var_12)) + { + var_01["ang"] = var_12; + } + + return var_01; +} + +//Function Number: 20 +fly_think(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_03)) + { + param_03 = 0; + } + + if(!isdefined(param_01)) + { + param_01 = 1; + } + + if(!isdefined(param_02)) + { + param_02 = 1; + } + + if(common_scripts\utility::flag("end_fighter_jet_sequence")) + { + return; + } + + if(!param_03) + { + thread fly_think_constrained(param_00,param_01,param_02); + return; + } + + thread fly_think_autopilot(param_00,param_01,param_02); +} + +//Function Number: 21 +check_flight_distances() +{ + if(!isdefined(self.default_player_dist)) + { + self.default_player_dist = level.default_player_dist; + } + + self.infront_dist_min = self.default_player_dist - 500; + self.infront_dist_max = self.default_player_dist + 500; +} + +//Function Number: 22 +fly_think_constrained(param_00,param_01,param_02) +{ + level endon("end_canyon"); + self endon("death"); + if(isdefined(self.no_path)) + { + thread fly_think_formation(param_00); + return; + } + + check_flight_distances(); + if(self.default_player_dist != 0) + { + var_03 = level.plane vehicle_getspeed(); + self vehicle_setspeedimmediate(var_03 * 0.75,100,50); + } + + for(;;) + { + if(!isdefined(self)) + { + break; + } + + if(self.default_player_dist == 0) + { + wait(0.1); + continue; + } + + var_04 = maps\_utility::get_dot(self.origin,self.angles,param_00.origin); + var_05 = anglestoforward(param_00.angles) * self.default_player_dist; + var_06 = distance(param_00.missile_target.origin,self.origin); + var_07 = distance(param_00.origin,self.origin); + var_08 = var_07; + if(var_04 > 0) + { + var_08 = self.default_player_dist + var_07; + } + else + { + var_08 = var_07 - self.default_player_dist; + } + + var_03 = param_00 vehicle_getspeed(); + var_03 = var_03 + randomfloatrange(-5,5); + var_09 = 1; + var_0A = 1; + if(level.player_boosting && self.default_player_dist > 0) + { + var_0B = 10; + var_0C = gettime() - level.player_boost_time + 1; + var_0D = clamp(var_0C / var_0B * 1000,0.5,1); + var_09 = var_0D - 1 * self.default_player_dist; + if(self.script_team == "allies") + { + var_0A = var_0A * var_0D; + } + else + { + var_0A = var_0A * var_0D; + } + } + + if(level.player_braking) + { + var_09 = 10000; + var_0A = var_0A * 10; + if(self.default_player_dist < 0) + { + var_0A = var_0A * 10; + } + } + + if(var_04 > 0 && self.default_player_dist > 0) + { + var_0A = var_0A * 2; + } + + var_0E = 5000; + var_0F = 1 / abs(var_04); + var_0F = var_0F * var_08 / 1000; + var_0F = var_0F * var_0A; + var_0F = clamp(var_0F,0.5,100); + var_10 = self.default_player_dist + var_09; + if(var_10 < 0) + { + if(var_04 < 0) + { + var_03 = var_03 + var_0F * randomfloatrange(-65,-40); + } + else if(var_08 > abs(self.infront_dist_min + var_09) * param_01) + { + var_03 = var_03 + var_0F * randomfloatrange(100,300); + } + else + { + var_03 = var_03 - var_0F * randomfloatrange(6,9); + } + } + else if(var_04 > 0 || var_07 < var_09 + self.infront_dist_min * param_01) + { + var_03 = var_03 + var_0F * randomfloatrange(20,25); + } + else if(var_04 < 0) + { + if(var_08 < var_09 + self.infront_dist_max * param_02) + { + var_03 = var_03 + var_0F * randomfloatrange(6,9); + } + else + { + var_03 = var_03 + var_0F * randomfloatrange(-20,-15); + } + } + + var_03 = clamp(var_03,300,800); + self vehicle_setspeed(var_03,100,50); + wait(0.25); + } +} + +//Function Number: 23 +fly_think_autopilot(param_00,param_01,param_02) +{ + level endon("end_canyon"); + self endon("death"); + self.is_autopilot = 1; + if(isdefined(self.no_path)) + { + thread fly_think_formation(param_00); + return; + } + + setsaveddvar("vehPlaneAiRollResponseRate",0.1); + setsaveddvar("vehPlaneAiPitchResponseRate",0.1); + setsaveddvar("vehPlaneAiYawResponseRate",0.2); + var_03 = 1; + var_04 = 1; + var_05 = getvehiclenode(self.target,"targetname"); + var_06 = 0; + var_07 = self.origin; + var_08 = 1; + var_09 = var_05.origin; + var_0A = var_05.speed; + check_flight_distances(); + while(isdefined(var_05.target)) + { + var_0B = getvehiclenodearray(var_05.target,"targetname"); + var_0C = var_0B[0]; + if(!isdefined(var_0C)) + { + break; + } + + var_06 = 0; + var_0D = 0; + while(var_06 < 1) + { + while(var_06 < 1) + { + var_0E = vectorlerp(var_05.origin,var_0C.origin,var_06); + var_0A = maps\_utility::linear_interpolate(var_06,var_05.speed,var_0C.speed); + var_08 = maps\_utility::linear_interpolate(var_06,var_05.lookahead,var_0C.lookahead) * var_04; + var_0D = var_08 * var_0A; + if(vectordot(var_0E - self.origin,vectornormalize(var_0C.origin - var_05.origin)) > var_0D) + { + break; + } + + var_07 = var_0E; + var_06 = var_06 + 0.01; + } + + if(var_06 < 1) + { + if(!isdefined(self)) + { + break; + } + + if(var_03) + { + var_0F = vectornormalize(var_07 - self.origin); + var_10 = vectortoangles(var_0F); + var_10 = (var_10[0],var_10[1],var_05.angles[2]); + self vehicle_teleport(self.origin,var_10); + self vehicle_setvelocity(var_0F * var_0C.speed,(0,0,0)); + var_03 = 0; + } + + var_11 = vectordot(anglestoforward(param_00.angles),self.origin - param_00.origin); + var_12 = clamp(var_11,self.infront_dist_min * param_01,self.infront_dist_max * param_02); + var_13 = var_11 - var_12; + if(var_13 > 0) + { + var_14 = -87.5; + } + else + { + var_14 = 55; + } + + var_15 = param_00 vehicle_getspeed() + var_14; + var_15 = clamp(var_15,50,800); + var_16 = var_09; + var_09 = var_07 + vectornormalize(var_09 - var_07) * var_0D; + var_17 = project_perpendicular(var_09 - self.origin,self vehicle_getvelocity()); + var_18 = var_17 * 2; + var_19 = var_07; + var_1A = vectorlerp(anglestoup(var_05.angles),anglestoup(var_0C.angles),var_06); + self vehicledriveto(var_19,var_15,var_1A); + wait 0.05; + } + } + + var_05 = var_0C; + } +} + +//Function Number: 24 +project_perpendicular(param_00,param_01) +{ + param_01 = vectornormalize(param_01); + return param_00 - param_01 * vectordot(param_00,vectornormalize(param_01)); +} + +//Function Number: 25 +debug_graph(param_00,param_01,param_02) +{ + debug_graph_init(); + debug_graph_init_key(param_00,param_01); + level.debug_graph.graphs[param_00].cur_point = level.debug_graph.graphs[param_00].cur_point + 1 % level.debug_graph.graphs[param_00].num_points; + level.debug_graph.graphs[param_00].values[level.debug_graph.graphs[param_00].cur_point] = param_02; + debug_graph_draw(level.debug_graph.graphs[param_00]); +} + +//Function Number: 26 +debug_graph_init() +{ + if(!isdefined(level.debug_graph)) + { + level.debug_graph = spawnstruct(); + level.debug_graph.graphs = []; + } +} + +//Function Number: 27 +debug_graph_init_key(param_00,param_01) +{ + if(!isdefined(level.debug_graph.graphs[param_00])) + { + level.debug_graph.graphs[param_00] = spawnstruct(); + level.debug_graph.graphs[param_00].values = []; + level.debug_graph.graphs[param_00].values[0] = 0; + level.debug_graph.graphs[param_00].cur = 0; + level.debug_graph.graphs[param_00].num_points = 20; + level.debug_graph.graphs[param_00].cur_point = 0; + level.debug_graph.graphs[param_00].color = param_01; + } +} + +//Function Number: 28 +debug_graph_draw(param_00) +{ + var_01 = 50000; + var_02 = undefined; + var_03 = undefined; + for(var_04 = 0;var_04 < param_00.num_points;var_04++) + { + var_03 = var_02; + var_02 = param_00.values[param_00.cur_point + 1 + var_04 % param_00.num_points]; + if(isdefined(var_03) && isdefined(var_02)) + { + var_05 = level.player getplayerangles(); + var_06 = anglestoforward(var_05); + var_07 = anglestoright(var_05) * var_01 * 0.01; + var_08 = anglestoup(var_05) * var_01 * 0.25; + var_09 = level.player geteye() + var_06 * var_01; + } + } +} + +//Function Number: 29 +fly_think_autopilot_player(param_00) +{ + level endon("end_canyon"); + self endon("death"); + setsaveddvar("vehPlaneAiRollResponseRate",0.05); + setsaveddvar("vehPlaneAiPitchResponseRate",0.05); + setsaveddvar("vehPlaneAiYawResponseRate",0.1); + var_01 = self; + var_02 = 0; + var_03 = self.origin; + var_04 = 1; + while(isdefined(var_01.target)) + { + var_05 = getvehiclenode(var_01.target,"targetname"); + if(!isdefined(var_05)) + { + break; + } + + var_02 = 0; + var_06 = var_04 * self vehicle_getspeed() * 17.6; + var_06 = clamp(var_06,1950,7800); + while(var_02 < 1) + { + while(var_02 < 1) + { + var_07 = vectorlerp(var_01.origin,var_05.origin,var_02); + if(vectordot(var_07 - self.origin,anglestoforward(self.angles)) > var_06) + { + break; + } + + var_03 = var_07; + var_02 = var_02 + 0.1; + } + + if(var_02 < 1) + { + var_08 = param_00; + self vehicledriveto(var_03,var_08); + wait 0.05; + } + } + + var_01 = var_05; + } +} + +//Function Number: 30 +fly_think_formation(param_00) +{ + level endon("end_canyon"); + self endon("death"); + setsaveddvar("vehPlaneAiRollResponseRate",0.05); + setsaveddvar("vehPlaneAiPitchResponseRate",0.05); + setsaveddvar("vehPlaneAiYawResponseRate",0.1); + var_01 = self.formation_pos; + for(;;) + { + var_02 = level.plane vehicle_getspeed(); + var_03 = distance(var_01.origin,self.origin); + if(target_is_in_front(var_01) && var_03 > 1000) + { + var_02 = var_02 - 15; + while(target_is_in_front(var_01)) + { + wait(0.05); + } + } + else if(target_is_in_front(var_01) && var_03 < 500) + { + var_02 = var_02 - 5; + while(target_is_in_front(var_01)) + { + wait(0.05); + } + } + else if(!target_is_in_front(var_01) && var_03 > 500) + { + var_02 = var_02 + 10; + } + else if(!target_is_in_front(var_01) && var_03 < 500) + { + var_02 = var_02; + } + + self vehicledriveto(var_01.origin,var_02); + wait(0.1); + } +} + +//Function Number: 31 +target_is_in_front(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = 50; + } + + var_02 = offset_position_from_tag("forward","tag_origin",param_01); + var_03 = distance(var_02,param_00.origin); + var_04 = distance(self.origin,param_00.origin); + if(var_03 < var_04) + { + return 0; + } + + return 1; +} + +//Function Number: 32 +is_in_lockon_bounds(param_00) +{ + if(target_istarget(param_00) && target_isincircle(param_00,level.player,65,level.plane.lockon_fov)) + { + return 1; + } + + return 0; +} + +//Function Number: 33 +try_to_lock_on(param_00) +{ + param_00 endon("death"); + var_01 = 10; + var_02 = cos(var_01); + if(level.plane islockedonto(param_00)) + { + return 0; + } + + if(is_true(param_00.ground_target)) + { + var_03 = 1; + } + + var_03 = 1; + level.plane.acquiring_lock_target = param_00; + for(var_04 = 0;var_04 < var_03;var_04++) + { + var_05 = maps\_utility::get_dot(level.player.eye_origin,vectortoangles(level.player.reticle_origin - level.player.eye_origin),param_00.origin); + if(target_istarget(param_00) && distancesquared(param_00.origin,level.player.origin) <= 1600000000 && var_05 > var_02) + { + wait(0.05); + continue; + } + + level.plane.acquiring_lock_target = undefined; + return 0; + } + + return 1; +} + +//Function Number: 34 +try_to_dogfight(param_00) +{ + if(!isdefined(level.plane.acquiring_dogfight_target) || level.plane.acquiring_dogfight_target == param_00) + { + var_01 = distance(level.plane.origin,param_00.origin) * 0.0254; + if(var_01 <= 150) + { + if(target_istarget(param_00) && target_isincircle(param_00,level.player,65,130)) + { + var_02 = gettime(); + if(!isdefined(level.plane.acquiring_dogfight_target)) + { + level.plane.acquiring_dogfight_target = param_00; + level.plane.dogfight_time = var_02 + 3000; + } + + if(var_02 >= level.plane.dogfight_time) + { + level.plane.dogfight_engaged_target = param_00; + return 1; + } + } + else + { + level.plane.acquiring_dogfight_target = undefined; + } + } + else + { + level.plane.acquiring_dogfight_target = undefined; + } + } + + return 0; +} + +//Function Number: 35 +switch_node_now(param_00,param_01) +{ + param_00 endon("death"); + if(!isdefined(param_01)) + { + return; + } + + param_00.attachedpath = undefined; + param_00 notify("newpath"); + param_00 thread maps\_vehicle::vehicle_paths(param_01); + param_00 startpath(param_01); +} + +//Function Number: 36 +has_los(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 0; + } + + if(bullettracepassed(level.player geteye() + anglestoforward(level.player getgunangles()) * 100,self.origin + (0,0,param_00),0,self)) + { + return 1; + } + + return 0; +} + +//Function Number: 37 +player_targeting_think() +{ + level notify("kill_player_targeting_think"); + level endon("kill_player_targeting_think"); + level endon("controlling_missile"); + level endon("finale"); + while(!isdefined(level.enemy_units)) + { + wait(0.05); + } + + while(isdefined(self)) + { + foreach(var_01 in level.enemy_units) + { + if(!isdefined(var_01.classname)) + { + level.enemy_units common_scripts\utility::array_remove(level.enemy_units,var_01); + } + } + + var_03 = []; + foreach(var_01 in level.enemy_units) + { + if(!isdefined(var_01)) + { + continue; + } + + if(isdefined(var_01.ground_target)) + { + var_05 = var_01; + } + else + { + var_05 = var_01; + } + + if(isdefined(var_05) && !isremovedentity(var_05)) + { + var_06 = try_to_lock_on(var_05); + if(isdefined(var_06) && var_06) + { + self.lock_targets[self.lock_targets.size] = var_05; + thread monitor_lockon(var_05); + var_05 thread lockon_behavior(); + } + } + } + + wait(0.05); + } +} + +//Function Number: 38 +lockon_behavior() +{ + set_optimal_flight_dist(3500 + randomfloatrange(-1000,500)); + self.player_locked_on = 1; +} + +//Function Number: 39 +islockedonto(param_00) +{ + foreach(var_02 in self.lock_targets) + { + if(var_02 == param_00) + { + return 1; + } + } + + return 0; +} + +//Function Number: 40 +hud_target_think(param_00) +{ + self notify("kill_target_think"); + self endon("kill_target_think"); + self endon("death"); + if(!isdefined(param_00)) + { + param_00 = 0; + } + + var_01 = 0; + var_02 = 0; + var_03 = 0; + for(;;) + { + waittillframeend; + if(should_show_hud_element(param_00)) + { + var_02 = 0; + if(is_true(self.player_shooting_at)) + { + var_04 = level.plane.locked_guns_hud; + var_03 = 0; + var_05 = (1,0,0); + var_02 = 1; + } + else if(level.plane islockedonto(self)) + { + var_04 = self.default_hud; + var_04 = 0; + var_05 = (1,0,0); + var_02 = 1; + } + else if(isdefined(level.plane.acquiring_lock_target) && level.plane.acquiring_lock_target == self) + { + var_05 = var_05 % 16; + var_04 = level.plane.in_sights_hud + var_05 + 1; + var_04++; + var_05 = (1,1,0); + } + else + { + var_04 = self.default_hud; + var_05 = (0,1,1); + var_03 = 0; + } + + if(!var_01) + { + target_setsafe(self); + target_hidefromplayer(self,level.player); + var_01 = 1; + } + + if(target_istarget(self)) + { + if(var_02) + { + target_showtoplayer(self,level.player); + } + + target_setshadersafe(self,var_04); + } + } + else + { + if(target_istarget(self)) + { + target_hidefromplayer(self,level.player); + target_remove(self); + var_01 = 0; + var_02 = 0; + } + + var_03 = 0; + } + + wait 0.05; + } +} + +//Function Number: 41 +monitor_lockon(param_00) +{ + level.player notify("locked_on"); + var_01 = level.plane.currentweapon; + while(isdefined(param_00) && islockedonto(param_00) && is_in_lockon_bounds(param_00)) + { + wait(0.05); + } + + level.player.jethud["LockOn_Overlay"].alpha = 0; + level.player notify("locked_on_off"); + if(islockedonto(param_00)) + { + self.lock_targets = common_scripts\utility::array_remove(self.lock_targets,param_00); + } +} + +//Function Number: 42 +should_show_hud_element(param_00) +{ + if(!isalive(self)) + { + return 0; + } + + if(!has_los(param_00)) + { + return 0; + } + + return 1; +} + +//Function Number: 43 +plane_init() +{ + self.missiletags_right = ["tag_weapon_pod_right"]; + self.missiletags_left = ["tag_weapon_pod_left"]; + self.last_missile_side = 0; + self.mgun_left = "tag_gun_left"; + self.mgun_right = "tag_gun_right"; + self.salvo_ammo = []; + self.salvo_ammo[0] = 2; + self.salvo_ammo[1] = 2; + var_00 = self gettagangles("tag_origin"); + var_01 = anglestoforward(var_00); + var_02 = self gettagorigin("tag_origin"); + var_03 = var_02 + var_01 * 1500; + self.missile_target = common_scripts\utility::spawn_tag_origin(); + self.missile_target.origin = var_03; + self.missile_target linkto(self,"tag_origin"); + var_03 = var_02 + var_01 * 5000; + self.fake_missile_target = common_scripts\utility::spawn_tag_origin(); + self.fake_missile_target.origin = var_03; + self.fake_missile_target linkto(self,"tag_origin"); + var_03 = var_02 + var_01 * -3000; + self.fake_enemy_missile_spawn = common_scripts\utility::spawn_tag_origin(); + self.fake_enemy_missile_spawn.origin = var_03; + self.fake_enemy_missile_spawn linkto(self,"tag_origin"); + level.player notifyonplayercommand("dpad_down","+actionslot 2"); + level.player notifyonplayercommand("dpad_left","+actionslot 3"); + level.player notifyonplayercommand("dpad_right","+actionslot 4"); + level.player notifyonplayercommand("dpad_up","+actionslot 1"); + level.player notifyonplayercommand("a_pressed","+gostand"); + level.player notifyonplayercommand("b_pressed","+stance"); + level.player notifyonplayercommand("b_pressed","+prone"); + level.player notifyonplayercommand("b_pressed","toggleprone"); + level.player notifyonplayercommand("y_pressed","weapnext"); + level.player notifyonplayercommand("fire_guns","+speed_throw"); + level.player notifyonplayercommand("fire_guns","+toggleads_throw"); + level.player notifyonplayercommand("fire_guns","+ads_akimbo_accessible"); +} + +//Function Number: 44 +debug_enemy_jets_die() +{ +} + +//Function Number: 45 +handle_evasive_controls() +{ + level.player notifyonplayercommand("pop_flares","+smoke"); + wait 0.05; + for(;;) + { + level.player waittill("pop_flares"); + level.plane playsound("plr_jet_deploy_flares"); + var_00 = level.plane offset_position_from_tag("backward","tag_origin",120); + playfx(common_scripts\utility::getfx("missile_repel"),var_00); + level.player_popped_flares = 1; + level.flares_active = 1; + thread turn_off_flares(); + wait(3); + } +} + +//Function Number: 46 +turn_off_flares() +{ + wait(2); + level.flares_active = 0; +} + +//Function Number: 47 +monitor_player_shooting() +{ + level notify("kill_monitor_player_shooting"); + level endon("kill_monitor_player_shooting"); + level endon("controlling_missile"); + level endon("missionfailed"); + level endon("end_canyon"); + thread player_shooting_logic(level.player); + self.currentweapon = "none"; + self.on_radar_hud = "hud_fofbox_hostile_obstructed"; + self.in_sights_hud = "jet_hud_locking_on_"; + self.lock_on_hud = "jet_hud_lockon_missile"; + self.locked_guns_hud = "jet_hud_target_bullet_lock"; + self.target_fov = 30; + self.lockon_fov = 240; + self.lockon_time = 1; + level waittill("jetHUD_init"); + level.player.jethud["weaponOverlay"].alpha = 0; + level.player.jethud["weapon_boresight"].alpha = 0; + level.player.jethud["weapon_reticle"].alpha = 0; + while(!common_scripts\utility::flag("canyon_finished")) + { + level.player waittill("fire_guns"); + if(common_scripts\utility::flag("canyon_finished")) + { + return; + } + + level.player playrumblelooponentity("damage_light"); + level.player.jethud["weapon_boresight"].alpha = 0.8; + while(level.player adsbuttonpressed(1) && !common_scripts\utility::flag("canyon_finished")) + { + wait(0.05); + } + + level.player stoprumble("damage_light"); + level.player.jethud["weapon_boresight"].alpha = 0; + } +} + +//Function Number: 48 +thermaloff_vianotify(param_00) +{ + self waittill(param_00); + self thermalvisionoff(); +} + +//Function Number: 49 +can_shoot_weapons(param_00) +{ + if(level.plane.currentweapon == "missiles") + { + return 1; + } + else if(level.plane.currentweapon == "guns" && level.plane can_shoot_guns(param_00)) + { + return 1; + } + else if(level.plane.currentweapon == "bombs") + { + return 1; + } + + return 0; +} + +//Function Number: 50 +check_missile_ammo() +{ + if(self.salvo_ammo[0] > 0 || self.salvo_ammo[1] > 0) + { + return self.salvo_ammo[1] > self.salvo_ammo[0]; + } + + return -1; +} + +//Function Number: 51 +can_shoot_missiles(param_00) +{ + if(param_00 == 0 && self.salvo0) + { + return 1; + } + else if(param_00 == 1 && self.salvo1) + { + return 1; + } + + return 0; +} + +//Function Number: 52 +can_shoot_guns(param_00) +{ + if(!isdefined(param_00)) + { + return 0; + } + + if(distance(self.origin,param_00.origin) < 8100) + { + return 1; + } + + return 0; +} + +//Function Number: 53 +player_guns_cooldown_think() +{ + self endon("death"); + self.guns_max_fire_time = 8; + self.guns_complete_cooldown_time = 1; + self.guns_last_fire_time = 0; + self.guns_fire_time = 0; + for(;;) + { + if(gettime() - self.guns_last_fire_time <= 50) + { + self.guns_fire_time = self.guns_fire_time + 0.05; + } + else + { + self.guns_fire_time = max(0,self.guns_fire_time - self.guns_max_fire_time / self.guns_complete_cooldown_time * 0.05); + } + + wait 0.05; + } +} + +//Function Number: 54 +player_guns_cooldown_shoot_notify() +{ + self.guns_last_fire_time = gettime(); +} + +//Function Number: 55 +player_guns_cooldown_can_shoot() +{ + return self.guns_fire_time < self.guns_max_fire_time; +} + +//Function Number: 56 +player_guns_cooldown_get_heat() +{ + return clamp(self.guns_fire_time / self.guns_max_fire_time,0,1); +} + +//Function Number: 57 +player_shooting_logic(param_00) +{ + level notify("kill_player_shooting_logic"); + level endon("kill_player_shooting_logic"); + level endon("controlling_missile"); + self endon("death"); + var_01 = gettime() * 0.001; + self.salvo0 = 1; + self.salvo1 = 1; + var_02 = 0; + var_03 = 0; + var_04 = 0; + childthread player_missile_firing_logic(param_00); + while(!common_scripts\utility::flag("canyon_finished")) + { + param_00 waittill("fire_guns"); + if(common_scripts\utility::flag("canyon_finished")) + { + return; + } + + if(param_00 adsbuttonpressed(1)) + { + level.player_shot_guns = 1; + thread gun_sound(); + while(param_00 adsbuttonpressed(1) && !common_scripts\utility::flag("canyon_finished")) + { + jet_shoot_gun(var_04); + var_04 = !var_04; + wait(0.05); + } + + self notify("gun_sound_stop"); + } + } +} + +//Function Number: 58 +player_missile_firing_logic(param_00) +{ + level endon("finale"); + param_00 notifyonplayercommand("fire_missile","+attack"); + param_00 notifyonplayercommand("fire_missile","+attack_akimbo_accessible"); + for(;;) + { + param_00 waittill("fire_missile"); + var_01 = check_missile_ammo(); + if(var_01 > -1) + { + level.player_fired_missiles = 1; + var_02 = undefined; + if(level.plane.lock_targets.size > 0) + { + foreach(var_04 in level.plane.lock_targets) + { + if(!is_true(var_04.player_shooting_at)) + { + var_02 = var_04; + break; + } + } + } + + if(isdefined(var_02)) + { + var_01 = check_missile_ammo(); + if(var_01 > -1) + { + var_02.player_shooting_at = 1; + level.plane spawn_cbdr_missile(var_02,undefined,var_01); + var_02 notify("missile_fired_at"); + } + } + else + { + level.plane spawn_cbdr_missile(undefined,undefined,var_01); + } + + continue; + } + + level.plane playsound("plr_jet_missile_ammo_out"); + } +} + +//Function Number: 59 +re_target(param_00) +{ + param_00.player_shooting_at = 0; +} + +//Function Number: 60 +gun_sound() +{ + var_00 = common_scripts\utility::spawn_tag_origin(); + var_00 linkto(self,"tag_origin",(0,0,0),(0,0,0)); + level.plane playsound("s19_mgun_trigger_plr"); + var_00 playloopsound("s19_mgun_shot_lp_plr"); + common_scripts\utility::waittill_any("gun_sound_stop","finale"); + var_00 stoploopsound(); + if(isdefined(level.plane)) + { + level.plane playsound("s19_mgun_shot_lp_end_plr"); + } + + var_00 delete(); +} + +//Function Number: 61 +print_distance_on_ent(param_00) +{ + var_01 = (0.1,0.2,1); + var_02 = 0.7; + var_03 = 1; + if(!isdefined(param_00)) + { + return; + } + + param_00 endon("death"); + if(!isdefined(param_00.is_objective) || !param_00.is_objective) + { + param_00.hudelements = []; + param_00.is_objective = 1; + param_00.hudelements[0] = newclienthudelem(self); + param_00.hudelements[0].positioninworld = 1; + param_00.hudelements[0] settargetent(param_00); + param_00.hudelements[0].color = var_01; + param_00.hudelements[0].alpha = var_02; + param_00.hudelements[0].alignx = "center"; + param_00.hudelements[0].aligny = "top"; + param_00.hudelements[0].fontscale = var_03; + param_00.hudelements[1] = newclienthudelem(self); + param_00.hudelements[1].positioninworld = 1; + param_00.hudelements[1] settargetent(param_00); + param_00.hudelements[1].color = var_01; + param_00.hudelements[1].alpha = var_02; + param_00.hudelements[1].alignx = "center"; + param_00.hudelements[1].aligny = "middle"; + param_00.hudelements[1].fontscale = var_03; + param_00 thread keep_active_distance_text(param_00.hudelements); + } +} + +//Function Number: 62 +keep_active_distance_text(param_00) +{ + var_01 = (0.2,1,0.2); + while(isdefined(self)) + { + var_02 = int(distance(self.origin,level.player.origin)); + var_03 = int(var_02 / 12); + if(!level.player can_see_ent(self,self)) + { + param_00[0].alpha = 0; + wait(0.1); + continue; + } + + if((level.plane.currentweapon == "guns" && var_02 < 8100) || level.plane islockedonto(self)) + { + param_00[0].alpha = 0; + } + else if(level.plane.currentweapon != "guns") + { + param_00[0].alpha = 0.7; + param_00[0].color = (0.1,1,0.1); + } + else if(level.plane.currentweapon == "guns" && var_02 > 8100) + { + param_00[0].alpha = 0.7; + param_00[0].color = (1,0.9,0.1); + var_03 = int(8100 - var_02 / 12); + } + else + { + param_00[0].alpha = 0.7; + param_00[0].color = (0.1,1,0.1); + } + + param_00[0] settext(var_03); + wait(0.05); + } + + param_00[0] destroy(); + param_00[1] destroy(); +} + +//Function Number: 63 +can_see_ent(param_00,param_01) +{ + if(bullettracepassed(self.origin,param_00.origin,0,param_01)) + { + return 1; + } + + return 0; +} + +//Function Number: 64 +monitor_missile_target(param_00) +{ + self endon("death"); + while(isdefined(self.missiletag)) + { + wait(0.05); + } + + if(isdefined(self) && isdefined(param_00)) + { + self missile_settargetent(param_00); + } +} + +//Function Number: 65 +offset_debug(param_00,param_01) +{ + param_00 endon("death"); + self endon("death"); + param_00.tags = []; + param_00.tags[0] = common_scripts\utility::spawn_tag_origin(); + param_00.tags[1] = common_scripts\utility::spawn_tag_origin(); + param_00.tags[2] = common_scripts\utility::spawn_tag_origin(); + param_00.tags[3] = common_scripts\utility::spawn_tag_origin(); + param_00.tags[1].origin = param_00 offset_position_from_tag("up","tag_origin",256); + param_00.tags[2].origin = param_00 offset_position_from_tag("down","tag_origin",256); + param_00.tags[3].origin = param_00 offset_position_from_tag("left","tag_origin",256); + param_00.tags[1] linkto(param_00.tags[0],"tag_origin"); + param_00.tags[2] linkto(param_00.tags[0],"tag_origin"); + param_00.tags[3] linkto(param_00.tags[0],"tag_origin"); + param_00 thread rotate_missile_targets(); + return param_00; +} + +//Function Number: 66 +rotate_missile_targets() +{ + var_00 = self.tags[0]; + var_01 = self.tags; + for(;;) + { + if(!isdefined(self)) + { + break; + } + + var_00.origin = self.origin; + var_02 = var_00.angles; + var_00.angles = (var_02[0],var_02[1] + 5,var_02[2]); + wait(0.05); + } + + foreach(var_00 in var_01) + { + if(isdefined(var_00)) + { + var_00 delete(); + } + } +} + +//Function Number: 67 +player_chooses_manual_control() +{ + return 1; +} + +//Function Number: 68 +move_target_for_squirly_effect(param_00) +{ + self endon("death"); + var_01 = param_00 common_scripts\utility::spawn_tag_origin(); + self.tag_targ = var_01; + self.bomb_target = param_00; + self missile_settargetent(var_01); + thread make_squirly_path(var_01,param_00); + var_02 = (param_00.origin[0],param_00.origin[1],level.player.origin[2]); + var_03 = param_00.origin; + var_04 = distance(self.origin,var_01.origin); + var_05 = var_04; + while(var_05 > var_04 * 0.2) + { + var_05 = distance(self.origin,var_02); + wait(0.05); + } + + self notify("end_squirel"); + var_01.origin = var_03; +} + +//Function Number: 69 +make_squirly_path(param_00,param_01) +{ + self endon("end_squirel"); + var_02 = max(param_01.origin[2] + 2000,level.player.origin[2]); + var_03 = (param_01.origin[0],param_01.origin[1],var_02); + var_04 = param_01.origin; + var_05 = 0.1; + var_06 = distance(self.origin,param_00.origin); + var_07 = var_06; + for(;;) + { + var_08 = randomfloatrange(var_07 * var_05 * -1,var_07 * var_05); + var_09 = randomfloatrange(var_07 * var_05 * -1,var_07 * var_05); + var_0A = randomfloatrange(var_07 * var_05 * -1,var_07 * var_05); + param_00 moveto(var_03 + (var_08,var_09,var_0A),0.25); + var_07 = distance(self.origin,var_03); + wait(0.25); + } +} + +//Function Number: 70 +monitor_missile_death(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_01)) + { + param_01 = level.player; + } + + self waittill("explode",var_04); + if(isdefined(param_03) && param_03 != level.plane && distance(param_03.origin,var_04) < 500) + { + if(param_03 trytorepelmissile(self,2,3000,1)) + { + return; + } + + param_03 delete(); + } + + if(param_00 && isalive(param_01)) + { + radiusdamage(var_04,1500,3000,1500,param_01); + } + + if(isdefined(param_02)) + { + param_02 delete(); + } +} + +//Function Number: 71 +get_plane_gun_origin(param_00) +{ + if(!isdefined(self)) + { + return; + } + + var_01 = self gettagangles(self.mgun_left); + if(isdefined(param_00)) + { + if(param_00) + { + var_02 = offset_position_from_tag("forward",self.mgun_left,500); + var_03 = anglestoright(var_01); + } + else + { + var_02 = offset_position_from_tag("forward",self.mgun_right,500); + var_03 = anglestoright(var_02) * -1; + } + } + else + { + var_02 = self gettagorigin(self.mgun_left) + self gettagorigin(self.mgun_right) * 0.5; + var_03 = (0,0,0); + } + + var_04 = anglestoforward(var_01); + var_05 = anglestoup(var_01) * -1; + if(getdvar("vehCam_mode") == "chase") + { + var_02 = var_02 + var_05 * 0 + var_04 * 500 + var_03 * 16; + } + else + { + var_02 = var_02 + var_05 * 150 + var_04 * 500 + var_03 * -50; + } + + return var_02; +} + +//Function Number: 72 +get_plane_gun_angles(param_00) +{ + var_01 = self gettagangles(self.mgun_left); + if(getdvar("vehCam_mode") != "chase") + { + var_01 = var_01 + (6,0,0); + } + + return var_01; +} + +//Function Number: 73 +jet_shoot_gun(param_00) +{ + var_01 = 0.05; + var_02 = get_plane_gun_origin(param_00); + waittillframeend; + if(isdefined(self.player_gun_lock_target_origin)) + { + var_03 = self.player_gun_lock_target_origin; + } + else + { + var_03 = level.player.jethud["hud_tag"].origin; + } + + var_03 = var_03 + common_scripts\utility::randomvector(2 * tan(var_01) * distance(var_02,var_03)); + var_04 = magicbullet("s19_cannon_player_test",var_02,var_03,level.player); +} + +//Function Number: 74 +jet_shoot_missile_cbdr(param_00,param_01,param_02) +{ + for(var_03 = 0;var_03 < param_01;var_03++) + { + spawn_cbdr_missile(param_00,param_02,0); + } +} + +//Function Number: 75 +spawn_cbdr_missile(param_00,param_01,param_02) +{ + self notify("salvo" + param_02 + "_fired"); + self.salvo_ammo[param_02]--; + var_03 = spawn("script_model",(0,0,0)); + var_03 playsound("s19_missile_fire_plr"); + var_03 hide(); + self.last_missile_side++; + if(self.last_missile_side > 1) + { + self.last_missile_side = 0; + } + + var_03.origin = offset_position_from_tag("right",self.missiletags_right[0],1000); + if(self.last_missile_side == 1) + { + var_03.origin = offset_position_from_tag("left",self.missiletags_left[0],1000); + } + + var_03.origin = var_03.origin - (0,0,50); + var_03.angles = get_plane_gun_angles(); + var_03.velocity = self vehicle_getvelocity(); + var_03.target_entity = param_00; + var_03 setmodel("projectile_sidewinder_missile"); + playfxontag(common_scripts\utility::getfx("missile_trail"),var_03,"tag_origin"); + var_03 thread cbdr_missile_think(param_01); + thread reload_ammo(param_02,3); +} + +//Function Number: 76 +reload_ammo(param_00,param_01) +{ + self endon("death"); + wait(param_01); + self.salvo_ammo[param_00]++; +} + +//Function Number: 77 +cbdr_missile_think(param_00) +{ + var_01 = 17600; + var_02 = 0.05; + var_03 = 40500; + var_04 = 17280; + var_05 = 0.5; + var_06 = 0.1; + if(!isdefined(param_00)) + { + param_00 = 10; + } + + var_07 = 1950; + var_08 = (0,0,0); + var_09 = 1.5; + var_0A = 600; + var_0B = cos(30); + var_0C = 4000; + self.velocity = self.velocity * 3; + var_0D = 0; + while(var_0D < 0.5) + { + self.origin = self.origin + self.velocity * 0.05; + self.angles = vectortoangles(self.velocity); + self.velocity = self.velocity * 0.9; + wait(0.05); + self show(); + if(isdefined(self.target_entity) && isdefined(self.target_entity.origin)) + { + var_0E = distancesquared(self.origin,self.target_entity.origin); + var_0F = vectordot(vectornormalize(self.velocity),vectornormalize(self.target_entity.origin - self.origin)); + if(var_0E < 144000000 || var_0F < var_0B) + { + break; + } + } + + var_0D = var_0D + 0.05; + } + + var_10 = vectornormalize(self.velocity); + var_11 = length(self.velocity); + self.velocity = var_10 + common_scripts\utility::randomvector(var_02) * var_11 + var_01; + var_12 = self.origin + vectornormalize(self.velocity) * 10000; + var_13 = vectornormalize(self.velocity); + var_14 = var_13; + var_15 = 0; + var_16 = 0; + var_17 = 0; + var_18 = 0; + while(var_15 < param_00 && !common_scripts\utility::flag("canyon_finished")) + { + var_19 = 0; + if(isdefined(self.target_entity) && isdefined(self.target_entity.origin)) + { + var_19 = 1; + var_16 = 1; + } + + if(var_19) + { + var_12 = self.target_entity.origin; + } + else if(!var_16) + { + var_12 = var_12 + length(self.velocity) * var_10 * 0.05; + } + + var_1A = var_12 - self.origin; + var_13 = vectornormalize(var_1A); + var_1B = var_13 - var_14 * 20 + var_08 + common_scripts\utility::randomvector(var_09); + var_14 = var_13; + if(!var_17 && var_19 && self.target_entity trytorepelmissile(self,var_15,length(var_1A),undefined,1)) + { + var_17 = 1; + self.player_shooting_at = 0; + var_08 = common_scripts\utility::randomvector(100); + } + + if(var_17) + { + var_1B = var_1B * -1; + } + + var_1C = length(self.velocity); + var_1D = vectornormalize(self.velocity); + if(var_1C < var_03) + { + var_1E = min(var_1C + var_04 * 0.05,var_03); + } + else + { + var_1E = max(var_1C - var_04 * 0.05,var_03); + } + + var_1F = var_06; + var_20 = vector_clamp(var_1B * var_1F,var_05); + var_21 = vectornormalize(var_1D + var_20); + self.velocity = var_21 * var_1E; + var_22 = self.origin + self.velocity * 0.05; + if(!var_17 && distance(var_22,var_12) < var_0A) + { + var_18 = 1; + break; + } + + if(!bullettracepassed(self.origin,var_22,0,self)) + { + break; + } + + self.origin = var_22; + self.angles = vectortoangles(self.velocity); + if(!var_17 && vectordot(self.velocity,var_12 - var_22) < 0) + { + break; + } + + var_15 = var_15 + 0.05; + wait 0.05; + } + + if(!var_17) + { + if(var_18) + { + self.target_entity notify("damage",var_0C,level.player,(0,0,0),(0,0,0),"MOD_EXPLOSIVE","",""); + } + + radiusdamage(self.origin,var_0A * 3,var_0C,var_0C,level.player); + } + + if(var_18 && isdefined(self.target_entity)) + { + if(!is_true(self.target_entity.ground_target)) + { + } + } + else if(var_15 >= param_00) + { + playfx(common_scripts\utility::getfx("missile_explode"),self.origin,vectornormalize(self.velocity) * -1); + } + else + { + playfx(common_scripts\utility::getfx("canyon_impact"),self.origin,vectornormalize(self.velocity) * -1); + } + + if(isdefined(self.target_entity) && !var_18) + { + re_target(self.target_entity); + } + + self delete(); +} + +//Function Number: 78 +trytorepelmissile(param_00,param_01,param_02,param_03,param_04) +{ + if(!is_true(param_04) && is_true(self.player_shooting_at)) + { + return 0; + } + + if(!isdefined(self.has_flares) || self.has_flares < 1) + { + return 0; + } + + if(param_01 < 0.5) + { + return 0; + } + + if(param_02 > 3000) + { + return 0; + } + + if(is_true(param_03) == 0 && isdefined(self.last_flare_time) && self.last_flare_time + 2000 > gettime()) + { + return 0; + } + + if(is_true(param_04)) + { + var_05 = 20000; + var_06 = maps\_utility::getdifficulty(); + switch(var_06) + { + case "medium": + var_05 = 18000; + break; + + case "hard": + var_05 = 15000; + break; + + case "fu": + var_05 = 10000; + break; + } + + var_05 = var_05 * var_05; + if(!common_scripts\utility::flag("ai_repel_missiles_ok") || distancesquared(level.plane.origin,self.origin) < var_05) + { + return 0; + } + + if(is_true(level.repel_player_missile)) + { + level.repel_player_missile = 0; + return 0; + } + else + { + level.repel_player_missile = 1; + } + } + + playfx(common_scripts\utility::getfx("missile_repel"),param_00.origin); + self.has_flares--; + self.last_flare_time = gettime(); + return 1; +} + +//Function Number: 79 +vector_clamp(param_00,param_01) +{ + var_02 = length(param_00); + if(var_02 > param_01) + { + return param_00 * param_01 / var_02; + } + + return param_00; +} + +//Function Number: 80 +monitor_plane_speed() +{ + level notify("kill_monitor_plane_speed"); + level endon("kill_monitor_plane_speed"); + level endon("controlling_missile"); + self endon("death"); + var_00 = 35; + var_01 = 45; + for(;;) + { + var_02 = self vehicle_getspeed(); + setsaveddvar("vehPlaneControlForceReferenceSpeed",var_02); + setsaveddvar("vehPlaneMaxControlForceScale",150); + setsaveddvar("vehPlaneMaxControlForcePitch",0.8); + setsaveddvar("vehPlaneMaxControlForceRoll",1); + setsaveddvar("vehPlaneMaxControlForceYaw",0.8); + var_03 = var_00 + var_02 / 50; + var_04 = var_01 + var_02 / 50; + setsaveddvar("vehPlaneWingLoading",var_03); + setsaveddvar("vehPlaneFuselageLoading",var_01); + wait(0.1); + } +} + +//Function Number: 81 +standard_plane_controls() +{ + regular_plane_controls(); + if(getdvarint("vehPlaneControlScheme") >= 2) + { + self vehicle_setspeedimmediate(333,10); + arcade_plane_controls(); + return; + } + + if(level.mini_version) + { + self vehicle_setspeedimmediate(500,50); + mini_plane_controls(); + return; + } + + self vehicle_setspeedimmediate(500,50); + regular_plane_controls(); +} + +//Function Number: 82 +regular_plane_controls() +{ + setsaveddvar("vehPlaneGravity",386); + setsaveddvar("vehPlaneMass",15000); + setsaveddvar("vehPlaneWingLoading",85); + setsaveddvar("vehPlaneFuselageLoading",105); + setsaveddvar("vehPlaneThrustToWeightRatio",2.5); + setsaveddvar("vehPlaneParasiticDragCoeff",0.03); + setsaveddvar("vehPlaneMaxControlForceScale",40); + setsaveddvar("vehPlaneMaxControlForceRoll",1); + setsaveddvar("vehPlaneMaxControlForcePitch",0.5); + setsaveddvar("vehPlaneMaxControlForceYaw",0.5); + setsaveddvar("vehPlaneControlForceReferenceSpeed",200); + setsaveddvar("vehPlaneMaxRightingForceScale",3); + setsaveddvar("vehPlaneRightingForceReferenceSpeed",450); + setsaveddvar("vehPlaneDihedralCoeff",3); + setsaveddvar("vehPlaneDampingRoll",0.15); + setsaveddvar("vehPlaneDampingYaw",0.4); + setsaveddvar("vehPlaneDampingPitch",0.2); + setsaveddvar("vehPlaneControlSquaring",0.1); + setsaveddvar("vehPlaneControlExponent",1.5); + setsaveddvar("vehPlaneControlYawRollCoupling",0); + setsaveddvar("vehPlaneControlRollYawCoupling",0.2); + setsaveddvar("vehPlaneControlLowpassCoeff",0); + setsaveddvar("vehPlaneTurbulenceStrength",0); + setsaveddvar("vehPlaneWingLeveling",0.15); +} + +//Function Number: 83 +mini_plane_controls() +{ + setsaveddvar("vehPlaneGravity",77); + setsaveddvar("vehPlaneMass",3000); + setsaveddvar("vehPlaneWingLoading",17); + setsaveddvar("vehPlaneFuselageLoading",20); + setsaveddvar("vehPlaneThrustToWeightRatio",3); + setsaveddvar("vehPlaneParasiticDragCoeff",0.03); + setsaveddvar("vehPlaneMaxControlForceScale",20); + setsaveddvar("vehPlaneMaxControlForceRoll",1); + setsaveddvar("vehPlaneMaxControlForcePitch",1); + setsaveddvar("vehPlaneMaxControlForceYaw",0.5); + setsaveddvar("vehPlaneControlForceReferenceSpeed",40); + setsaveddvar("vehPlaneMaxRightingForceScale",3); + setsaveddvar("vehPlaneRightingForceReferenceSpeed",200); + setsaveddvar("vehPlaneDihedralCoeff",3); + setsaveddvar("vehPlaneDampingRoll",0.15); + setsaveddvar("vehPlaneDampingYaw",0.4); + setsaveddvar("vehPlaneDampingPitch",0.2); + setsaveddvar("vehPlaneControlSquaring",0.1); + setsaveddvar("vehPlaneControlExponent",1.5); + setsaveddvar("vehPlaneControlYawRollCoupling",0); + setsaveddvar("vehPlaneControlRollYawCoupling",0.2); + setsaveddvar("vehPlaneControlLowpassCoeff",0); + setsaveddvar("vehPlaneTurbulenceStrength",0); + setsaveddvar("vehPlaneWingLeveling",0.15); +} + +//Function Number: 84 +boost_plane_controls() +{ + setsaveddvar("vehPlaneGravity",386); + setsaveddvar("vehPlaneMass",15000); + setsaveddvar("vehPlaneWingLoading",105); + setsaveddvar("vehPlaneFuselageLoading",125); + setsaveddvar("vehPlaneThrustToWeightRatio",8.5); + setsaveddvar("vehPlaneParasiticDragCoeff",0.03); + setsaveddvar("vehPlaneMaxControlForceScale",50); + setsaveddvar("vehPlaneMaxControlForceRoll",1); + setsaveddvar("vehPlaneMaxControlForcePitch",0.5); + setsaveddvar("vehPlaneMaxControlForceYaw",0.5); + setsaveddvar("vehPlaneControlForceReferenceSpeed",800); + setsaveddvar("vehPlaneMaxRightingForceScale",3); + setsaveddvar("vehPlaneRightingForceReferenceSpeed",650); + setsaveddvar("vehPlaneDihedralCoeff",3); + setsaveddvar("vehPlaneDampingRoll",0.15); + setsaveddvar("vehPlaneDampingYaw",0.4); + setsaveddvar("vehPlaneDampingPitch",0.2); + setsaveddvar("vehPlaneControlSquaring",0.1); + setsaveddvar("vehPlaneControlExponent",1.5); + setsaveddvar("vehPlaneControlYawRollCoupling",0); + setsaveddvar("vehPlaneControlRollYawCoupling",0.2); + setsaveddvar("vehPlaneControlLowpassCoeff",0); + setsaveddvar("vehPlaneTurbulenceStrength",0); + setsaveddvar("vehPlaneWingLeveling",0.15); +} + +//Function Number: 85 +slow_plane_controls() +{ + setsaveddvar("vehPlaneGravity",386); + setsaveddvar("vehPlaneMass",15000); + setsaveddvar("vehPlaneWingLoading",65); + setsaveddvar("vehPlaneFuselageLoading",105); + setsaveddvar("vehPlaneThrustToWeightRatio",1.3); + setsaveddvar("vehPlaneParasiticDragCoeff",0.03); + setsaveddvar("vehPlaneMaxControlForceScale",40); + setsaveddvar("vehPlaneMaxControlForceRoll",1); + setsaveddvar("vehPlaneMaxControlForcePitch",0.5); + setsaveddvar("vehPlaneMaxControlForceYaw",0.5); + setsaveddvar("vehPlaneControlForceReferenceSpeed",160); + setsaveddvar("vehPlaneMaxRightingForceScale",3); + setsaveddvar("vehPlaneRightingForceReferenceSpeed",300); + setsaveddvar("vehPlaneDihedralCoeff",3); + setsaveddvar("vehPlaneDampingRoll",0.15); + setsaveddvar("vehPlaneDampingYaw",0.4); + setsaveddvar("vehPlaneDampingPitch",0.2); + setsaveddvar("vehPlaneControlSquaring",0.1); + setsaveddvar("vehPlaneControlExponent",1.5); + setsaveddvar("vehPlaneControlYawRollCoupling",0); + setsaveddvar("vehPlaneControlRollYawCoupling",0.2); + setsaveddvar("vehPlaneControlLowpassCoeff",0); + setsaveddvar("vehPlaneTurbulenceStrength",0); + setsaveddvar("vehPlaneWingLeveling",0.15); +} + +//Function Number: 86 +arcade_plane_controls() +{ + setsaveddvar("vehPlaneControlSquaring",0.1); + setsaveddvar("vehPlaneControlYawRollCoupling",0); + setsaveddvar("vehPlaneControlRollYawCoupling",0); + setsaveddvar("vehPlaneControlLowpassCoeff",0.8); + setsaveddvar("vehPlanePitchDeadZoneWhileRolling",0.3); + setsaveddvar("vehPlaneRollLerpRate",0.1); + setsaveddvar("vehPlaneControlExponent",3); + setsaveddvar("vehPlaneMaxYawRatePerSec",330); + setsaveddvar("vehPlaneMaxPitchDiffPerSec",45); + setsaveddvar("vehPlaneCollisionLookAheadTime",0); +} + +//Function Number: 87 +plane_test(param_00,param_01,param_02) +{ + if(!isdefined(param_01)) + { + param_01 = 1; + } + + level notify("reset_plane_monitoring"); + common_scripts\utility::flag_set("playerPlaneNoDeath"); + level.player enableinvulnerability(); + level.fake_plane = maps\_utility::spawn_anim_model("cockpit"); + level.fake_plane hidepart("TAG_SCREEN_JOINT_LOAD"); + level.fake_plane hidepart("TAG_TRANSFER_AR"); + thread maps\_anim::anim_loop_solo(level.fake_plane,"idle"); + self.healthbuffer = 0; + self.maxhealth = 100000; + self.health = 100000; + level.player.ads_on = 0; + level.repel_player_missile = 0; + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar",2); + setsaveddvar("r_mbCameraRotationInfluence","0"); + } + + if(!isdefined(self.plane_intialized) || isdefined(self.plane_intialized) && !self.plane_intialized) + { + plane_init(); + self.plane_intialized = 1; + } + + thread plane_health_monitor(); + thread monitor_player_shooting(); + wait 0.05; + thread player_targeting_think(); + if(param_01) + { + self makeunusable(); + level.player mountvehicle(self); + setsaveddvar("vehCam_mode","1"); + setsaveddvar("sv_znear","16"); + } + + setomnvar("ui_playerplane_hud",1); + thread fighter_jet_hud(level.player,self); + thread fighter_jet_sounds(level.player,self); + thread fighter_jet_crash_detection(level.player,self); + thread fighter_jet_gun_hud(); + setdvar("cockpit_offset",(0,0,0)); + setdvar("cockpit_angles",(0,0,0)); + thread fighter_jet_handle_cockpit(level.player,self); + thread fighter_jet_handle_throttle(level.player,self,param_02); + if(!isdefined(param_00)) + { + param_00 = 333; + } + + self vehicle_setspeedimmediate(param_00,10); + if(is_true(level.old_controls)) + { + setsaveddvar("vehPlaneControlScheme",1); + } + else + { + setsaveddvar("vehPlaneControlScheme",3); + } + + standard_plane_controls(); +} + +//Function Number: 88 +handle_chase_cam_toggle() +{ + self notifyonplayercommand("toggle_chase_cam","+actionslot 1"); + for(;;) + { + self waittill("toggle_chase_cam"); + toggle_chase_cam(); + } +} + +//Function Number: 89 +toggle_chase_cam() +{ + if(!isdefined(level.plane_chase_cam)) + { + level.plane_chase_cam = getdvar("vehCam_mode") == "chase"; + } + + var_00 = anglestoforward((6,0,0)) * 10000; + if(level.plane_chase_cam) + { + setsaveddvar("vehCam_mode","1"); + level.fake_plane show(); + level.plane hide(); + setsaveddvar("vehPlaneRollLerpRate",0.1); + thread fighter_jet_handle_cockpit(level.player,level.plane); + } + else + { + setsaveddvar("vehCam_mode","3"); + level.fake_plane hide(); + level.plane show(); + setsaveddvar("vehPlaneRollLerpRate",0.25); + var_00 = getdvarvector("vehCam_chaseOffset"); + var_00 = var_00 + anglestoforward(getdvarvector("vehCam_chaseAngleOffset")) * 10000; + } + + level.player.jethud["hud_tag"] unlink(); + level.player.jethud["hud_tag"] linkto(level.plane,"tag_origin",var_00,(0,0,0)); + level.player.jethud["hud_tag"] dontinterpolate(); + level.plane_chase_cam = !level.plane_chase_cam; +} + +//Function Number: 90 +fighter_jet_max_altitude(param_00,param_01) +{ + var_02 = -1000; + var_03 = 1000; + var_04 = 0.05; + for(;;) + { + var_05 = (0,0,var_02); + var_06 = (0,0,-1); + var_07 = param_01.origin - var_05; + var_08 = vectordot(var_07,var_06); + if(var_08 < var_03) + { + var_09 = maps\_shg_utility::linear_map_clamp(var_08,var_03,0 - var_03,0,2); + var_0A = param_01 vehicle_getvelocity(); + var_0B = vectornormalize(var_0A); + var_0C = vectordot(var_0B,var_06); + if(var_0C < var_04) + { + var_0D = length(var_0A); + var_0E = vectordot(var_0A,var_06) * var_09 - var_04 * var_0D; + var_0F = vectornormalize(var_0A - var_0E * var_06) * var_0D; + param_01 vehicle_setvelocity(var_0F); + } + } + + wait 0.05; + } +} + +//Function Number: 91 +fighter_jet_handle_cockpit(param_00,param_01) +{ + param_01 hide(); + var_02 = level.fake_plane; + var_02 notsolid(); + var_03 = getdvarvector("cockpit_offset"); + var_04 = getdvarvector("cockpit_angles"); + var_02 linktoplayerview(param_00,"tag_origin",var_03,var_04,1); + fighter_jet_handle_cockpit_motion(param_00,param_01,var_02,var_03,var_04); +} + +//Function Number: 92 +remove_cockpit_from_view(param_00,param_01,param_02) +{ + level endon("finale"); + level.player common_scripts\utility::waittill_any("player_eject","toggle_chase_cam"); + param_02 unlinkfromplayerview(param_00); +} + +//Function Number: 93 +fighter_jet_set_shake(param_00,param_01) +{ + level notify("jet_shake"); + level endon("jet_shake"); + level.jet_shake = param_00; + var_02 = param_00 / param_01 / 0.05; + while(param_01 > 0) + { + wait(0.05); + level.jet_shake = level.jet_shake - var_02; + param_01 = param_01 - 0.05; + } + + level.jet_shake = 0; +} + +//Function Number: 94 +fighter_jet_handle_cockpit_motion(param_00,param_01,param_02,param_03,param_04) +{ + level.player endon("toggle_chase_cam"); + thread remove_cockpit_from_view(param_00,param_01,param_02); + var_05 = 0.1; + var_06 = 0.1; + var_07 = 0.975; + var_08 = 0.002; + var_09 = 0.005; + var_0A = 0.002; + var_0B = 10; + var_0C = 5; + var_0D = 5; + var_0E = 6E-05; + var_0F = 0.006; + for(var_10 = 1;var_10 < 8;var_10++) + { + if(isdefined(param_01)) + { + param_01 maps\_shg_utility::get_differentiated_acceleration(); + } + + wait 0.05; + } + + var_11 = param_01.angles; + var_12 = (0,0,0); + var_13 = (0,0,0); + var_14 = (0,0,0); + var_15 = (0,0,0); + var_16 = (0,0,0); + while(isalive(level.player)) + { + if(isdefined(param_01)) + { + var_17 = param_01 maps\_shg_utility::get_differentiated_acceleration() + (0,0,386); + var_18 = transformmove((0,0,0),(0,0,0),(0,0,0),param_01.angles,var_17,(0,0,0))["origin"]; + var_19 = angles_clamp_180(transformmove((0,0,0),(0,0,0),(0,0,0),var_11,(0,0,0),param_01.angles)["angles"]) * 20; + var_11 = param_01.angles; + var_1A = var_19 - var_12 * 20; + var_12 = var_19; + var_13 = vectorlerp(var_13,var_18,var_05); + var_1B = var_18 - var_13; + var_14 = vectorlerp(var_14,var_19,var_05); + var_1C = var_19 - var_14; + var_1D = (var_1B[0] * var_06 * var_08,var_1B[1] * var_06 * var_09,var_1B[2] * var_06 * var_0A); + if(level.player_boosting) + { + var_1D = var_1D * 1.25; + } + + var_15 = vectorlerp(var_1D,var_15,var_07); + var_1E = (var_1C[0] * var_06 * var_0C,var_1C[1] * var_06 * var_0D,var_1C[2] * var_06 * var_0B); + var_16 = euler_lerp(var_1E,var_16,var_07); + var_1F = var_15 + common_scripts\utility::randomvector(var_0E * length(var_18)); + var_20 = var_16 + common_scripts\utility::randomvector(var_0F * length(var_19)); + if(isdefined(level.jet_shake) && level.jet_shake > 0) + { + var_1F = var_1F + common_scripts\utility::randomvector(level.jet_shake); + } + + var_21 = transformmove(var_1F,var_20,(0,0,0),(0,0,0),param_03,param_04); + param_02 unlinkfromplayerview(param_00); + param_02 linktoplayerview(param_00,"tag_origin",var_21["origin"],var_21["angles"],1); + } + + wait 0.05; + } +} + +//Function Number: 95 +fighter_jet_handle_throttle(param_00,param_01,param_02) +{ + param_01 endon("death"); + if(!isdefined(param_02)) + { + param_01 vehicle_planethrottleoverride(level.current_median_speed); + } + else + { + var_03 = 0; + while(var_03 < level.current_median_speed) + { + param_01 vehicle_planethrottleoverride(var_03); + wait(0.2); + var_03 = var_03 + 0.05; + } + } + + param_00 notifyonplayercommand("boost_start","+gostand"); + param_00 notifyonplayercommand("boost_stop","-gostand"); + param_00 notifyonplayercommand("brake_click","+stance"); + param_00 notifyonplayercommand("brake_click","+prone"); + param_00 notifyonplayercommand("brake_click","toggleprone"); + thread handle_jet_brake(param_00,param_01); + thread handle_jet_boost(param_00,param_01); +} + +//Function Number: 96 +watch_player_braking(param_00) +{ + common_scripts\utility::flag_set("player_braking"); + wait(2); + param_00 notify("brake_abort"); + common_scripts\utility::flag_clear("player_braking"); +} + +//Function Number: 97 +process_flight_path(param_00) +{ + level notify("new_flight_path"); + level endon("new_flight_path"); + var_01 = 0; + var_02 = []; + var_03 = 0; + var_04 = undefined; + var_05 = common_scripts\utility::getstruct(param_00,"targetname"); + for(var_02[var_01] = var_05;isdefined(var_05.target);var_02[var_01] = var_05) + { + var_05 = common_scripts\utility::getstruct(var_05.target,"targetname"); + var_01++; + } + + var_06 = var_02[var_03 + 1].origin - var_02[var_03].origin; + var_06 = (var_06[0],var_06[1],0); + var_07 = vectortoangles(var_06)[1]; + setsaveddvar("vehPlanePathAngle",var_07); + if(var_03 + 2 < var_02.size) + { + var_04 = var_02[var_03 + 2].origin - var_02[var_03 + 1].origin; + } + else + { + var_04 = var_06; + } + + for(;;) + { + wait(0.5); + var_08 = level.player.origin - var_02[var_03 + 1].origin; + var_09 = vectordot(var_04,var_08); + if(var_09 > 0) + { + var_03++; + if(var_03 == var_02.size - 1) + { + break; + } + + var_06 = var_04; + var_06 = (var_06[0],var_06[1],0); + var_07 = vectortoangles(var_06)[1]; + setsaveddvar("vehPlanePathAngle",var_07); + if(var_03 + 2 < var_02.size) + { + var_04 = var_02[var_03 + 2].origin - var_02[var_03 + 1].origin; + } + else + { + var_04 = var_06; + } + } + + if(common_scripts\utility::flag("canyon_finished")) + { + break; + } + } + + setsaveddvar("vehPlanePathAngle",-1); + setsaveddvar("vehPlanePathAllowance",0); +} + +//Function Number: 98 +handle_jet_brake(param_00,param_01) +{ + level.player_airbraked = 0; + while(!common_scripts\utility::flag("canyon_finished")) + { + param_00 waittill("brake_click"); + if(common_scripts\utility::flag("canyon_finished")) + { + return; + } + + level.player_airbraked = 1; + thread watch_player_braking(param_00); + param_01 playsound("plr_jet_airbrake"); + if(level.nextgen) + { + setsaveddvar("r_mbVelocityScalar",1.1); + } + + param_01 vehicle_planethrottleoverride(0.01); + level.player_braking = 1; + param_00 playrumblelooponentity("damage_heavy"); + if(!level.player.ads_on) + { + param_00 lerpfov(60,1); + } + + if(level.player_boosting) + { + param_00 notify("boost_stop"); + wait 0.05; + } + + param_00 common_scripts\utility::waittill_notify_or_timeout("brake_abort",2); + param_01 vehicle_planethrottleoverride(0.25); + common_scripts\utility::flag_waitopen("player_braking"); + level.player_braking = 0; + param_00 stoprumble("damage_heavy"); + if(!level.player.ads_on) + { + param_00 lerpfov(65,1); + } + + if(level.nextgen) + { + setsaveddvar("r_mbVelocityScalar",2); + } + + param_01 vehicle_planethrottleoverride(level.current_median_speed); + wait(0); + wait 0.05; + } +} + +//Function Number: 99 +handle_jet_boost(param_00,param_01) +{ + level endon("death"); + var_02 = common_scripts\utility::spawn_tag_origin(); + var_02 linkto(param_00,"",(0,0,0),(0,0,0)); + while(!common_scripts\utility::flag("canyon_finished")) + { + param_00 waittill("boost_start"); + if(common_scripts\utility::flag("canyon_finished")) + { + return; + } + + param_01 playsound("plr_jet_boost_start"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar",10); + setsaveddvar("r_mbCameraRotationInfluence","0"); + } + + param_01 vehicle_planethrottleoverride(1); + level.player_boosting = 1; + level.player_boost_time = gettime(); + level notify("player_boost_start"); + param_00 playrumblelooponentity("damage_heavy"); + earthquake(0.5,1,level.player.origin,512); + if(!level.player.ads_on) + { + param_00 lerpfov(75,1); + } + + var_02 playloopsound("plr_jet_boost_loop"); + if(level.player_braking) + { + param_00 notify("brake_abort"); + wait 0.05; + } + + while(level.player jumpbuttonpressed() && !common_scripts\utility::flag("canyon_finished")) + { + thread fighter_jet_set_shake(0.25,0.25); + wait(0.05); + } + + level.player_boosting = 0; + param_00 stoprumble("damage_heavy"); + if(!level.player.ads_on) + { + param_00 lerpfov(65,1); + } + + if(level.nextgen) + { + setsaveddvar("r_mbVelocityScalar",2); + } + + param_01 vehicle_planethrottleoverride(level.current_median_speed); + var_02 stoploopsound(); + param_01 playsound("plr_jet_boost_stop"); + wait 0.05; + } +} + +//Function Number: 100 +handle_ads() +{ + level endon("death"); + while(!common_scripts\utility::flag("finale")) + { + var_00 = level.player adsbuttonpressed(); + var_01 = undefined; + if(var_00 && !level.player.ads_on) + { + level.player.ads_on = 1; + var_01 = 30; + } + else if(!var_00 && level.player.ads_on) + { + level.player.ads_on = 0; + var_01 = 65; + if(level.player_braking) + { + var_01 = 60; + } + + if(level.player_boosting) + { + var_01 = 75; + } + } + + if(isdefined(var_01)) + { + level.player lerpfov(var_01,0.25); + } + + wait(0.05); + } +} + +//Function Number: 101 +angles_clamp_180(param_00) +{ + return (angleclamp180(param_00[0]),angleclamp180(param_00[1]),angleclamp180(param_00[2])); +} + +//Function Number: 102 +angle_lerp(param_00,param_01,param_02) +{ + return angleclamp(param_00 + angleclamp180(param_01 - param_00) * param_02); +} + +//Function Number: 103 +euler_lerp(param_00,param_01,param_02) +{ + return (angle_lerp(param_00[0],param_01[0],param_02),angle_lerp(param_00[1],param_01[1],param_02),angle_lerp(param_00[2],param_01[2],param_02)); +} + +//Function Number: 104 +remove_fighter_jet_hud() +{ + self waittill("remove_jet_hud"); + foreach(var_01 in self.jethud) + { + if(isarray(var_01)) + { + foreach(var_03 in var_01) + { + if(!isarray(var_03)) + { + var_03.alpha = 0; + } + } + + continue; + } + + var_01.alpha = 0; + } +} + +//Function Number: 105 +fighter_jet_hud(param_00,param_01) +{ + param_00 thread remove_fighter_jet_hud(); + self endon("end_canyon"); + var_02 = 600; + var_03 = (0.2,1,0.2); + var_04 = (0.4,1,0.4); + var_05 = 0.5; + var_06 = 1.5; + var_07 = 0.868976; + var_08 = 9; + var_09 = 10; + var_0A = 5; + var_0B = 25; + var_0C = 10; + var_0D = 5; + var_0E = 2; + var_0F = 5; + var_10 = 0.5; + if(!isdefined(param_00.jethud)) + { + param_00.jethud = []; + } + else + { + level notify("jetHUD_init"); + return; + } + + var_11 = anglestoforward((6,0,0)) * 10000; + if(getdvar("vehCam_mode") == "chase") + { + var_11 = getdvarvector("vehCam_chaseOffset"); + var_11 = var_11 + anglestoforward(getdvarvector("vehCam_chaseAngleOffset")) * 10000; + } + + param_00.jethud["hud_tag"] = common_scripts\utility::spawn_tag_origin(); + param_00.jethud["hud_tag"] linkto(param_01,"tag_origin",var_11,(0,0,0)); + param_00.jethud["weapon_bore_tag"] = common_scripts\utility::spawn_tag_origin(); + param_00.jethud["weapon_bore_tag"] linkto(param_01,"tag_origin",var_11,(0,0,0)); + param_00.jethud["weapon_reticle_tag"] = common_scripts\utility::spawn_tag_origin(); + param_00.jethud["weapon_reticle_tag"] linkto(param_01,"tag_origin",var_11,(0,0,0)); + param_00.jethud["boresight"] = newclienthudelem(param_00); + param_00.jethud["boresight"].positioninworld = 1; + param_00.jethud["boresight"] settargetent(param_00.jethud["hud_tag"]); + param_00.jethud["boresight"].alignx = "center"; + param_00.jethud["boresight"].aligny = "middle"; + param_00.jethud["boresight"] setshader("hud_plane_reticle",40,40); + param_00.jethud["boresight"].alpha = var_05; + param_00.jethud["lockon_warning"] = newclienthudelem(param_00); + param_00.jethud["lockon_warning"].hidewheninmenu = 1; + param_00.jethud["lockon_warning"].hidewhendead = 1; + param_00.jethud["lockon_warning"].alignx = "center"; + param_00.jethud["lockon_warning"].aligny = "middle"; + param_00.jethud["lockon_warning"].x = 320; + param_00.jethud["lockon_warning"].y = 320; + param_00.jethud["lockon_warning"] settext("ENEMY LOCK"); + param_00.jethud["lockon_warning"].color = (1,0.2,0.2); + param_00.jethud["lockon_warning"].alpha = 0; + param_00.jethud["lockon_warning"].fontscale = 3; + param_00.jethud["speed_indicator"] = newclienthudelem(param_00); + param_00.jethud["speed_indicator"].positioninworld = 1; + param_00.jethud["speed_indicator"] settargetent(param_00.jethud["hud_tag"]); + param_00.jethud["speed_indicator"].alignx = "right"; + param_00.jethud["speed_indicator"].aligny = "middle"; + param_00.jethud["speed_indicator"].x = -300; + param_00.jethud["speed_indicator"].y = 0; + param_00.jethud["speed_indicator"].color = var_03; + param_00.jethud["speed_indicator"].alpha = 0; + param_00.jethud["speed_indicator"].fontscale = var_06; + param_00.jethud["jetWeapons"] = newclienthudelem(param_00); + param_00.jethud["jetWeapons"].positioninworld = 1; + param_00.jethud["jetWeapons"] settargetent(param_00.jethud["hud_tag"]); + param_00.jethud["jetWeapons"].alignx = "center"; + param_00.jethud["jetWeapons"].aligny = "top"; + param_00.jethud["jetWeapons"].y = -50; + param_00.jethud["jetWeapons"].color = var_03; + param_00.jethud["jetWeapons"].glowcolor = var_04; + param_00.jethud["jetWeapons"].alpha = 0; + param_00.jethud["jetWeapons"].fontscale = var_06; + param_00.jethud["weaponOverlay"] = newclienthudelem(param_00); + param_00.jethud["weaponOverlay"].positioninworld = 1; + param_00.jethud["weaponOverlay"] settargetent(param_00.jethud["hud_tag"]); + param_00.jethud["weaponOverlay"] setshader("jet_hud_overlay_cannon_1",640,480); + param_00.jethud["weaponOverlay"].alignx = "center"; + param_00.jethud["weaponOverlay"].aligny = "middle"; + param_00.jethud["weaponOverlay"].alpha = 0.35; + param_00.jethud["weaponOverlay"].fontscale = var_06; + param_00.jethud["weapon_boresight"] = newclienthudelem(param_00); + param_00.jethud["weapon_boresight"].positioninworld = 1; + param_00.jethud["weapon_boresight"] settargetent(param_00.jethud["weapon_bore_tag"]); + param_00.jethud["weapon_boresight"] setshader("jet_hud_overlay_cannon_boresight",640,480); + param_00.jethud["weapon_boresight"].alignx = "center"; + param_00.jethud["weapon_boresight"].aligny = "middle"; + param_00.jethud["weapon_boresight"].alpha = 0.8; + param_00.jethud["weapon_boresight"].fontscale = var_06; + param_00.jethud["weapon_reticle"] = newclienthudelem(param_00); + param_00.jethud["weapon_reticle"].positioninworld = 1; + param_00.jethud["weapon_reticle"] settargetent(param_00.jethud["weapon_reticle_tag"]); + param_00.jethud["weapon_reticle"] setshader("jet_hud_overlay_cannon_boresight",640,480); + param_00.jethud["weapon_reticle"].alignx = "center"; + param_00.jethud["weapon_reticle"].aligny = "middle"; + param_00.jethud["weapon_reticle"].alpha = 0.8; + param_00.jethud["weapon_reticle"].fontscale = var_06; + var_12 = 4; + var_13 = -325; + var_14 = 325; + var_15 = -120; + var_16 = 35; + var_17 = []; + var_17[0] = make_missile_ammo_hud(0,level.plane.salvo_ammo[0],var_13,var_15,param_00.jethud["hud_tag"]); + var_17[1] = make_missile_ammo_hud(1,level.plane.salvo_ammo[1],var_13,var_16,param_00.jethud["hud_tag"]); + param_00.jethud["missile_ammo"] = array_combine_all(var_17[0],var_17[1]); + param_00.jethud["weapon_bore"] = newclienthudelem(param_00); + param_00.jethud["weapon_bore"].positioninworld = 1; + param_00.jethud["weapon_bore"] settargetent(param_00.jethud["weapon_bore_tag"]); + param_00.jethud["weapon_bore"].alignx = "center"; + param_00.jethud["weapon_bore"].aligny = "middle"; + param_00.jethud["weapon_bore"].alpha = 0; + param_00.jethud["weapon_bore"].fontscale = var_06; + param_00.jethud["LockOn_Overlay"] = newclienthudelem(param_00); + param_00.jethud["LockOn_Overlay"].positioninworld = 1; + param_00.jethud["LockOn_Overlay"] settargetent(param_00.jethud["weapon_bore_tag"]); + param_00.jethud["LockOn_Overlay"].alignx = "center"; + param_00.jethud["LockOn_Overlay"].aligny = "middle"; + param_00.jethud["LockOn_Overlay"].alpha = 0; + param_00.jethud["LockOn_Overlay"].fontscale = var_06; + param_00.jethud["altitude_indicator"] = newclienthudelem(param_00); + param_00.jethud["altitude_indicator"].positioninworld = 1; + param_00.jethud["altitude_indicator"] settargetent(param_00.jethud["hud_tag"]); + param_00.jethud["altitude_indicator"].alignx = "left"; + param_00.jethud["altitude_indicator"].aligny = "middle"; + param_00.jethud["altitude_indicator"].x = 300; + param_00.jethud["altitude_indicator"].y = 0; + param_00.jethud["altitude_indicator"].color = var_03; + param_00.jethud["altitude_indicator"].alpha = 0; + param_00.jethud["altitude_indicator"].fontscale = var_06; + level notify("jetHUD_init"); + var_18 = 0; + if(!isdefined(level.base_agl)) + { + level.base_agl = 0; + } + + for(;;) + { + if(!isdefined(param_01)) + { + break; + } + + var_19 = param_01 vehicle_getvelocity(); + var_1A = transformmove((0,0,0),(0,0,0),(0,0,0),param_01.angles,var_19,(0,0,0))["origin"]; + var_1B = param_01 vehicle_getspeed(); + if(level.mini_version) + { + var_1B = var_1B * 5; + } + + param_00.jethud["speed_indicator"] settext("" + var_1B + " mph"); + var_1C = bullettrace(param_01.origin,param_01.origin + (0,0,-66000),0,param_01,0); + if(isdefined(var_1C["position"])) + { + var_1D = param_01.origin[2] - var_1C["position"][2]; + } + else + { + var_1D = 119988; + } + + param_00.jethud["altitude_indicator"] settext("" + int(level.base_agl + var_1D / 12) + " ft agl"); + var_1E = param_01 gettagorigin("tag_player") + anglestoup(param_01 gettagangles("tag_player")) * var_02; + for(var_1F = 0;var_1F < var_17.size;var_1F++) + { + var_20 = var_17[var_1F]; + var_12 = level.plane.salvo_ammo[var_1F]; + foreach(var_22 in var_20) + { + var_22.alpha = 0; + var_12--; + } + } + + wait 0.05; + } +} + +//Function Number: 106 +fighter_jet_sounds(param_00,param_01) +{ + level endon("finale"); + thread canyon_whizby_sounds(param_00,param_01); + thread missile_lock_sounds(param_00,param_01); + thread gun_lock_sounds(param_00,param_01); + var_02 = common_scripts\utility::spawn_tag_origin(); + var_02 linkto(param_00,"",(0,0,0),(0,0,0)); + var_02 playloopsound("dogfight_player_plane_low"); + var_03 = common_scripts\utility::spawn_tag_origin(); + var_03 linkto(param_00,"",(0,0,0),(0,0,0)); + var_03 playloopsound("dogfight_player_plane_turbulence"); + var_04 = 2; + var_05 = 0.05 / var_04; + var_06 = 0; + while(isalive(param_00) && isdefined(param_01)) + { + var_07 = param_01 vehicle_getthrottle(); + var_06 = clamp(var_07,var_06 - var_05,var_06 + var_05); + var_08 = vectordot(param_01 maps\_shg_utility::get_differentiated_acceleration() + (0,0,384),anglestoup(param_01.angles)) / 384; + var_02 scalepitch(maps\_shg_utility::linear_map_clamp(var_06,0,1,0.8,1.2),0.05); + var_02 scalevolume(maps\_shg_utility::linear_map_clamp(var_07,0,1,0.5,1),0.05); + var_09 = maps\_shg_utility::linear_map_clamp(abs(var_08),0,8,0.2,1); + var_03 scalevolume(var_09,0.05); + wait 0.05; + } + + var_02 stoploopsound(); + var_03 stoploopsound(); + level.player playsound("dogfight_player_plane_death"); +} + +//Function Number: 107 +missile_lock_sounds(param_00,param_01) +{ + level endon("finale"); + var_02 = common_scripts\utility::spawn_tag_origin(); + var_02 linkto(param_00,"",(0,0,0),(0,0,0)); + var_03 = 0; + var_04 = common_scripts\utility::spawn_tag_origin(); + var_04 linkto(param_00,"",(0,0,0),(0,0,0)); + var_05 = 0; + var_06 = param_01.lock_targets.size; + while(isalive(level.player)) + { + var_07 = "none"; + if(isdefined(param_01.lock_targets)) + { + if(param_01.lock_targets.size > 0) + { + var_07 = "locked"; + if(param_01.lock_targets.size > var_06) + { + param_01 playsound("dogfight_player_guns_locked"); + } + } + + var_06 = param_01.lock_targets.size; + var_07 = "locking"; + } + + var_08 = var_07 == "locked"; + var_09 = var_07 == "locking"; + wait 0.05; + } +} + +//Function Number: 108 +gun_lock_sounds(param_00,param_01) +{ + level endon("finale"); + var_02 = 0; + var_03 = 0; + while(isalive(level.player)) + { + var_04 = "none"; + if(isdefined(param_01.lock_target)) + { + var_04 = "locked"; + } + + var_05 = var_04 == "locked"; + var_06 = var_04 == "locking"; + if(var_06 && !var_02) + { + param_01 playsound("dogfight_player_guns_targeting"); + var_02 = 1; + } + else if(!var_06 && var_02) + { + var_02 = 0; + } + + if(var_05 && !var_03) + { + param_01 playsound("dogfight_player_guns_locked"); + var_03 = 1; + continue; + } + + if(!var_05 && var_03) + { + var_03 = 0; + } + + wait 0.05; + } +} + +//Function Number: 109 +canyon_whizby_sounds(param_00,param_01) +{ + foreach(var_03 in [-1,0,1]) + { + foreach(var_05 in [-1,0,1]) + { + if(var_03 != 0 || var_05 != 0) + { + thread canyon_whizby_sound(param_00,param_01,vectornormalize((0,var_03,var_05))); + } + } + } +} + +//Function Number: 110 +canyon_whizby_sound(param_00,param_01,param_02) +{ + level endon("end_canyon"); + var_03 = common_scripts\utility::spawn_tag_origin(); + var_03 playloopsound("dogfight_player_plane_canyon_reflection"); + var_04 = 3000; + var_05 = 0.1; + var_06 = var_04; + var_07 = param_01.origin; + for(;;) + { + var_08 = param_01.origin + param_01 maps\_shg_utility::get_differentiated_velocity() * var_05; + var_09 = transformmove(var_08,param_01.angles,(0,0,0),(0,0,0),param_02 * var_04,(0,0,0))["origin"]; + var_0A = bullettrace(var_08,var_09,0,param_01); + if(var_0A["fraction"] < 1) + { + var_03.origin = var_0A["position"]; + } + + var_0B = soundscripts\_audio_vehicle_manager::avm_compute_doppler_pitch(var_03.origin,(0,0,0),param_00.origin,param_00 maps\_shg_utility::get_differentiated_velocity(),1,1); + var_03 scalepitch(var_0B,0.05); + wait 0.05; + } +} + +//Function Number: 111 +get_crash_deflection_angle() +{ + var_00 = 30; + var_01 = maps\_utility::getdifficulty(); + switch(var_01) + { + case "medium": + var_00 = 25; + break; + + case "hard": + var_00 = 20; + break; + + case "fu": + var_00 = 10; + break; + } + + return var_00; +} + +//Function Number: 112 +fighter_jet_crash_detection(param_00,param_01) +{ + param_00 endon("death"); + param_01 endon("death"); + var_02 = 7744; + var_03 = param_01.origin; + var_04 = 1; + var_05 = -30; + var_06 = 50; + var_07 = -1; + var_08 = 20; + var_09 = 0 - var_08; + var_0A = 0; + var_0B = 0; + var_0C = 0; + var_0D = 0; + var_0E = maps\_utility::getdifficulty(); + var_0F = get_crash_deflection_angle(); + var_10 = cos(var_0F); + for(;;) + { + if(maps\_utility::getdifficulty() != var_0E) + { + var_0E = maps\_utility::getdifficulty(); + var_0F = get_crash_deflection_angle(); + var_10 = cos(var_0F); + } + + param_01 waittill("veh_collision",var_11,var_12,var_13); + var_14 = vectordot(vectornormalize(var_11),vectornormalize(param_01 vehicle_getvelocity())); + var_15 = 0; + var_16 = var_14 < var_10; + var_17 = gettime(); + if(isdefined(var_13) && var_13 maps\_vehicle::isvehicle()) + { + continue; + } + + if((!isdefined(var_13) || isdefined(var_13) && isdefined(var_13.targetname) && var_13.targetname != "turnaround_vol") && getdvarfloat("vehPlanePathAngle") >= 0 && getdvarfloat("vehPlanePathAllowance") > 0) + { + var_18 = angleclamp(level.player.angles[1]); + var_19 = angleclamp180(var_18 - getdvarfloat("vehPlanePathAngle")); + if(abs(var_19) >= 60) + { + if(var_17 - var_0B >= 500) + { + var_0A = 0; + var_0B = gettime(); + } + + var_0A++; + if(var_0A >= 3) + { + var_15 = 1; + } + } + } + + if(distancesquared(param_01.origin,var_03) < var_02) + { + var_15 = 1; + } + + var_03 = param_01.origin; + if(!var_15 && isdefined(var_13) && isdefined(var_13.targetname) && var_13.targetname == "turnaround_vol" && var_0A < 3) + { + continue; + } + + var_1A = getbumpallowancebasedondifficulty(); + if(!var_15) + { + if(isdefined(var_13) && var_13.targetname == "floor_clip") + { + thread reversegravity(1); + var_0C++; + var_1B = gettimeallowancebasedondifficulty(); + if(var_1B > 0 && var_17 > var_0D + var_1B) + { + var_0D = var_17; + var_0C = 1; + } + else if(var_1A > 0 && var_0C > var_1A) + { + var_15 = 1; + } + + if(var_16 && maps\_utility::getdifficulty() == "fu") + { + var_15 = 1; + } + + if(var_1A > 0 && var_0C > var_1A - 15) + { + thread fake_damage_indicator((0,0,-1),var_1B - var_17 - var_0D / 1000,0,undefined,1); + } + } + else if(var_16) + { + var_15 = 1; + } + } + + if((isdefined(var_13) && var_13.targetname != "floor_clip") || var_1A > 0) + { + param_01 notify("damage",1,level,undefined,param_01.origin,"COLLISION","",""); + } + + thread fighter_jet_set_shake(5,1); + param_01 playsound("plr_jet_bounce_hit"); + if(var_15) + { + thread common_scripts\utility::play_sound_in_space("plr_jet_crash_hit",level.player.origin); + level.player digitaldistortsetparams(1,1); + thread fadeupstatic(0.05,1); + level notify("kill_player_targeting_think"); + var_1C = target_getarray(); + foreach(var_1E in var_1C) + { + target_hidefromplayer(var_1E,level.player); + target_remove(var_1E); + } + + level.plane.lock_targets = []; + wait(0.05); + param_00 dismountvehicle(); + wait(0.25); + setdvar("ui_deadquote",&"PLAYERPLANE_YOU_CRASHED"); + maps\_utility::missionfailedwrapper(); + continue; + } + + param_01 notify("plane_bump"); + } +} + +//Function Number: 113 +reversegravity(param_00) +{ + level notify("reverse_gravity"); + level endon("reverse_gravity"); + if(!isdefined(level.old_gravity)) + { + level.old_gravity = getdvarfloat("vehPlaneGravityVelocity"); + } + + setsaveddvar("vehPlaneGravityVelocity",level.old_gravity * -0.5); + wait(param_00); + setsaveddvar("vehPlaneGravityVelocity",level.old_gravity); +} + +//Function Number: 114 +gettimeallowancebasedondifficulty() +{ + var_00 = maps\_utility::getdifficulty(); + var_01 = -1; + switch(var_00) + { + case "medium": + var_01 = 3; + break; + + case "hard": + var_01 = 1.5; + break; + + case "fu": + var_01 = 3; + break; + } + + return var_01 * 1000; +} + +//Function Number: 115 +getbumpallowancebasedondifficulty() +{ + var_00 = maps\_utility::getdifficulty(); + var_01 = -1; + switch(var_00) + { + case "medium": + var_01 = 50; + break; + + case "hard": + var_01 = 15; + break; + + case "fu": + var_01 = 15; + break; + } + + return var_01; +} + +//Function Number: 116 +monitor_missile_firing() +{ + self.depleted = 0; + for(;;) + { + level.player waittill("missile_shot",var_00,var_01); + if(self.salvo_idx == var_00 && self.missile_idx == var_01) + { + self setshader("jet_hud_ammo_missile_0",self.dimensionsx,self.dimensionsy); + self.depleted = 1; + wait(12); + self setshader("jet_hud_ammo_missile_1",self.dimensionsx,self.dimensionsy); + self.depleted = 0; + } + } +} + +//Function Number: 117 +monitor_missile_indication() +{ + level.player endon("death"); + level endon("end_canyon"); + for(;;) + { + var_00 = level.player common_scripts\utility::waittill_any_return("lock_on","locked_on_off","y_pressed"); + if(isdefined(var_00) && var_00 == "locked_on") + { + self.alpha = 0.75; + self.color = (1,0.2,0.2); + } + + if(var_00 == "locked_on_off" || var_00 == "y_pressed") + { + self.alpha = 0.75; + self.color = (0.2,0.3,1); + } + } +} + +//Function Number: 118 +make_missile_ammo_hud(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = []; + var_06 = 5; + var_07 = 20; + for(var_08 = 0;var_08 < param_01;var_08++) + { + var_09 = newclienthudelem(level.player); + var_09.positioninworld = 1; + var_09 settargetent(param_04); + var_09 setshader("jet_hud_ammo_missile_1",var_07,var_06); + var_09.alignx = "center"; + var_09.aligny = "middle"; + var_09.x = param_02; + var_09.y = param_03 + var_06 * var_05.size + 20 * var_05.size; + var_09.alpha = 0.1; + var_09.salvo_idx = param_00; + var_09.missile_idx = var_08; + var_09.dimensionsx = var_07; + var_09.dimensionsy = var_06; + var_09 thread monitor_missile_firing(); + var_05[var_05.size] = var_09; + } + + return var_05; +} + +//Function Number: 119 +rotate_axis_angle(param_00,param_01,param_02) +{ + var_03 = vectortoangles(param_00); + return transformmove((0,0,0),var_03 + (0,0,param_01),(0,0,0),var_03,param_02,(0,0,0))["origin"]; +} + +//Function Number: 120 +fighter_jet_gun_hud() +{ + level.player endon("death"); + level endon("end_canyon"); + var_00 = 0; + var_01 = 0; + var_02 = 0.99; + var_03 = 0; + var_04 = 10; + var_05 = cos(5); + var_06 = 50000; + var_07 = 250000; + var_08 = 13000; + var_09 = get_plane_gun_angles(); + var_0A = anglestoforward(get_plane_gun_angles()); + var_0B = var_0A; + var_0C = var_0A; + while(isdefined(level.plane)) + { + var_0D = get_plane_gun_origin(); + var_0E = level.player geteye(); + level.player.eye_origin = var_0E; + var_0F = get_plane_gun_angles(); + var_10 = anglestoforward(var_0F); + var_11 = anglestoup(var_0F); + var_12 = anglestoright(var_0F); + var_0C = vectornormalize(transformmove((0,0,0),var_0F,(0,0,0),var_09,var_0C,(0,0,0))["origin"]); + var_13 = var_10 - anglestoforward(var_09) * 20; + var_09 = var_0F; + var_14 = undefined; + var_15 = vectornormalize(var_10 + var_13 * var_00); + var_0B = vectornormalize(vectorlerp(var_15,var_0B,var_01)); + var_16 = undefined; + var_16 = compute_best_gun_target(var_10,var_0E,var_0D,var_06,level.plane.lock_target); + if(isdefined(var_16)) + { + compute_target_lead_origin(var_16,var_0D,var_06); + var_17 = vectornormalize(var_16.lead_origin - var_0E); + var_18 = vectornormalize(vectorlerp(var_10,var_17,var_02)); + var_19 = 1; + } + else + { + var_18 = vectornormalize(level.player.jethud["hud_tag"].origin - var_0D); + var_19 = 0; + } + + var_1A = constrain_vector_to_cone(var_18,var_0B,var_04); + var_0C = vectornormalize(vectorlerp(var_1A,var_0C,var_03)); + if(isdefined(var_16)) + { + var_1B = distance(var_16.lead_origin,var_0E); + } + else + { + var_1B = 25000; + } + + level.plane.player_gun_lock_target_origin = var_0E + var_1B * var_0C; + var_1C = 0; + if(isdefined(var_16)) + { + if(vectordot(vectornormalize(var_16.lead_origin - var_0E),var_0C) > var_05) + { + var_1C = 1; + } + } + + level.player.jethud["weapon_reticle"] setshader("jet_hud_overlay_cannon_reticle_lockon",640,480); + level.plane.lock_target = var_16; + var_1D = var_0E + var_0C * var_07; + level.player.jethud["weapon_bore_tag"] unlink(); + level.player.jethud["weapon_bore_tag"].origin = var_1D; + level.player.jethud["weapon_bore_tag"] linkto(level.plane,"tag_player"); + var_1E = var_0E + var_0B * var_07; + level.player.reticle_origin = var_1E; + level.player.jethud["weapon_reticle_tag"] unlink(); + level.player.jethud["weapon_reticle_tag"].origin = var_1E; + level.player.jethud["weapon_reticle_tag"] linkto(level.plane,"tag_player"); + wait 0.05; + } +} + +//Function Number: 121 +compute_best_gun_target(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = cos(25); + var_06 = cos(25); + var_07 = 15000; + var_08 = 0; + var_09 = 10; + var_0A = 0; + if(level.player adsbuttonpressed(1)) + { + var_0A = 0; + } + + var_0B = undefined; + var_0C = 0; + if(isdefined(level.enemy_units)) + { + foreach(var_0E in level.enemy_units) + { + if(!isdefined(var_0E) || !isdefined(var_0E.origin)) + { + continue; + } + + compute_target_lead_origin(var_0E,param_02,param_03); + if(!isdefined(var_0E.lead_origin)) + { + continue; + } + + var_0F = distance(var_0E.origin,param_01); + if(var_0F > var_07) + { + continue; + } + + var_10 = isdefined(param_04) && var_0E == param_04; + var_11 = vectordot(vectornormalize(var_0E.origin - param_01),param_00); + if(var_10 && var_11 < var_06) + { + continue; + } + else if(!var_10 && var_11 < var_05) + { + continue; + } + + if(!var_0E has_los()) + { + continue; + } + + var_12 = 0; + var_12 = var_12 + maps\_shg_utility::linear_map_clamp(var_11,1,var_05,var_09,0); + var_12 = var_12 + maps\_shg_utility::linear_map_clamp(var_0F,0,var_07,var_08,0); + if(var_10) + { + var_12 = var_12 + var_0A; + } + + if(var_12 > var_0C) + { + var_0B = var_0E; + } + } + } + + return var_0B; +} + +//Function Number: 122 +compute_target_lead_origin(param_00,param_01,param_02) +{ + var_03 = param_00 maps\_shg_utility::get_differentiated_velocity(); + var_04 = param_00.origin - param_01; + var_05 = lengthsquared(var_03) - squared(param_02); + var_06 = 2 * vectordot(var_03,var_04); + var_07 = lengthsquared(var_04); + var_08 = squared(var_06) - 4 * var_05 * var_07; + if(var_08 > 0) + { + var_09 = 2 * var_07 / sqrt(var_08) - var_06; + var_09 = var_09 + 0.05; + param_00.lead_origin = param_00.origin + param_00 maps\_shg_utility::get_differentiated_velocity() * var_09; + return; + } + + param_00.lead_origin = undefined; +} + +//Function Number: 123 +constrain_vector_to_cone(param_00,param_01,param_02) +{ + var_03 = vectordot(param_01,param_00); + if(var_03 < cos(param_02)) + { + var_04 = param_00 - param_01 * var_03; + var_05 = length(var_04); + var_06 = var_05 / tan(param_02); + return vectornormalize(param_00 + param_01 * var_06 - var_03); + } + + return var_03; +} + +//Function Number: 124 +is_true(param_00) +{ + return isdefined(param_00) && param_00; +} + +//Function Number: 125 +waittill_any_trigger(param_00,param_01,param_02,param_03,param_04,param_05) +{ + var_06 = spawnstruct(); + var_07 = [param_00,param_01,param_02,param_03,param_04,param_05]; + foreach(var_0A, var_09 in var_07) + { + if(isdefined(var_09)) + { + var_06 thread notify_on_trigger("trig" + var_0A,var_09); + } + } + + var_06 common_scripts\utility::waittill_any("trig0","trig1","trig2","trig3","trig4","trig5"); +} + +//Function Number: 126 +waittill_trigger_with_name(param_00) +{ + var_01 = getent(param_00,"targetname"); + if(!isdefined(var_01)) + { + var_01 = getent(param_00,"script_noteworthy"); + } + + if(!isdefined(var_01)) + { + return; + } + + var_01 waittill("trigger"); +} + +//Function Number: 127 +sortbydistanceauto(param_00,param_01,param_02) +{ + return sortbydistance(param_00,param_01,param_02,1); +} + +//Function Number: 128 +target_setsafe(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = 0; + } + + var_02 = getentarray(); + var_03 = 0; + var_04 = 60; + var_05 = []; + foreach(var_07 in var_02) + { + if(target_istarget(var_07)) + { + var_03++; + var_05[var_05.size] = var_07; + } + } + + if(var_03 < var_04) + { + target_set(param_00); + return; + } + + if(param_01) + { + var_05 = sortbydistanceauto(var_05,param_00.origin); + var_05 = common_scripts\utility::array_reverse(var_05); + param_00.forcetarget = 1; + foreach(var_0A in var_05) + { + if(!isdefined(var_0A.forcetarget) || !var_0A.forcetarget) + { + target_remove(var_0A); + target_set(param_00); + break; + } + } + } +} + +//Function Number: 129 +notify_on_trigger_with_name(param_00,param_01) +{ + waittill_trigger_with_name(param_01); + if(isdefined(self)) + { + self notify(param_00); + return; + } + + level notify(param_00); +} + +//Function Number: 130 +notify_on_trigger(param_00,param_01) +{ + param_01 waittill("trigger"); + if(isdefined(self)) + { + self notify(param_00); + return; + } + + level notify(param_00); +} + +//Function Number: 131 +notify_on_use_trigger(param_00,param_01) +{ + param_01 waittill("trigger"); + self notify(param_00); +} + +//Function Number: 132 +target_setshadersafe(param_00,param_01) +{ + if(target_istarget(param_00)) + { + target_setshader(param_00,param_01); + } +} + +//Function Number: 133 +offset_position_from_tag(param_00,param_01,param_02) +{ + var_03 = self gettagangles(param_01); + var_04 = self gettagorigin(param_01); + if(param_00 == "up") + { + return var_04 + anglestoup(var_03) * param_02; + } + + if(param_00 == "down") + { + return var_04 + anglestoup(var_03) * param_02 * -1; + } + + if(param_00 == "right") + { + return var_04 + anglestoright(var_03) * param_02; + } + + if(param_00 == "left") + { + return var_04 + anglestoright(var_03) * param_02 * -1; + } + + if(param_00 == "forward") + { + return var_04 + anglestoforward(var_03) * param_02; + } + + if(param_00 == "backward") + { + return var_04 + anglestoforward(var_03) * param_02 * -1; + } +} + +//Function Number: 134 +is_ground_enemy(param_00) +{ + if(isdefined(param_00.ground_target)) + { + return 1; + } + + return 0; +} + +//Function Number: 135 +generic_human() +{ +} + +//Function Number: 136 +fx_init() +{ +} + +//Function Number: 137 +array_combine_all(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + var_09 = [param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08]; + var_0A = []; + foreach(var_0C in var_09) + { + if(isdefined(var_0C)) + { + var_0A = common_scripts\utility::array_combine(var_0A,var_0C); + } + } + + return var_0A; +} + +//Function Number: 138 +shoot_target_till_dead(param_00,param_01,param_02) +{ + self endon("death"); + self endon("stop_engaging"); + while(isdefined(self) && isalive(param_00) && isalive(self)) + { + var_03 = maps\_utility::get_dot(self.origin,self.angles,param_00.origin); + if(var_03 > 0.15) + { + thread ai_shoot_missile_salvo(param_00,param_01); + param_00 notify("missile_fired_at"); + } + + wait(param_02); + } +} + +//Function Number: 139 +ai_shoot_missile_salvo(param_00,param_01) +{ + if(isalive(param_00)) + { + for(var_02 = 0;var_02 < param_01;var_02++) + { + thread ai_shoot_missile(param_00); + } + } +} + +//Function Number: 140 +ai_shoot_missile(param_00) +{ + var_01 = offset_position_from_tag("forward","tag_origin",1000); + self playsound("canyon_missile_fire_npc"); + var_02 = magicbullet("sidewinder_atlas_jet",var_01,param_00.origin); + var_02 missile_settargetent(param_00); + var_02 thread monitor_missile_death(1,self,undefined,param_00); + return var_02; +} + +//Function Number: 141 +get_jet_array(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = "script_noteworthy"; + } + + var_02 = getentarray(param_00,param_01); + var_03 = []; + foreach(var_05 in var_02) + { + if(isalive(var_05)) + { + var_03[var_03.size] = var_05; + } + } + + return var_03; +} + +//Function Number: 142 +engage_enemies(param_00,param_01,param_02,param_03,param_04,param_05) +{ + level endon("finale"); + if(!isdefined(param_05)) + { + param_05 = 1; + } + + if(!isdefined(param_04)) + { + param_04 = 1; + } + + param_00 = maps\_utility::remove_dead_from_array(param_00); + var_06 = param_00; + if(param_00.size < 1 || param_01.size < 1) + { + return; + } + + while(param_00.size < param_01.size * param_04) + { + param_00 = common_scripts\utility::array_combine(param_00,var_06); + } + + if(!isdefined(param_02)) + { + param_02 = 0; + } + + if(!isdefined(param_03)) + { + param_03 = 10; + } + + var_07 = 0; + foreach(var_09 in param_01) + { + if(is_true(var_09.ground_target)) + { + continue; + } + + if(param_00.size <= 0) + { + break; + } + + for(var_0A = 0;var_0A < param_04;var_0A++) + { + if(param_00.size <= 0) + { + continue; + } + + if(param_00[var_07].script_team == "allies") + { + level notify("ally_targeting_enemy"); + } + + param_00[var_07] thread shoot_target_till_dead(var_09,param_05,param_03); + wait(param_02); + param_00 = maps\_utility::remove_dead_from_array(param_00); + var_07++; + if(var_07 >= param_00.size) + { + var_07 = 0; + } + } + } +} + +//Function Number: 143 +rake_with_bullets(param_00,param_01,param_02) +{ + self endon("death"); + if(!isdefined(param_02)) + { + param_02 = 1; + } + + if(!isdefined(param_01)) + { + param_01 = 0.5; + } + + var_03 = gettime(); + var_04 = var_03 + randomfloatrange(param_01,param_02) * 1000; + var_05 = maps\_utility::get_dot(self.origin,self.angles,param_00.origin); + self playloopsound("s19_mgun_shot_lp_npc"); + while(var_03 < var_04 && var_05 > 0 && isdefined(param_00) && isalive(param_00)) + { + if(!isdefined(param_00.model) || param_00.model == "") + { + break; + } + + var_06 = offset_position_from_tag("forward",self.mgun_left,1000); + var_07 = param_00.origin; + if(maps\_utility::hastag(param_00.model,"tag_origin")) + { + var_07 = param_00 offset_position_from_tag("forward","tag_origin",1200); + } + + var_08 = magicbullet("s19_cannon_AI",var_06,var_07); + wait(0.1); + var_09 = offset_position_from_tag("forward",self.mgun_right,1000); + var_08 = magicbullet("s19_cannon_AI",var_09,var_07); + wait(0.2); + if(isdefined(param_00) && isalive(param_00)) + { + var_05 = maps\_utility::get_dot(self.origin,self.angles,param_00.origin); + var_03 = gettime(); + } + } + + self stoploopsound("s19_mgun_shot_lp_npc"); + self playsound("s19_mgun_shot_lp_end_npc"); + wait(randomfloatrange(0.3,1)); +} + +//Function Number: 144 +lock_on_warning(param_00) +{ + level.player.jethud["lockon_warning"].color = (1,0.2,0.2); + level.player.jethud["lockon_warning"] settext("ENEMY LOCK"); + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 linkto(self,"",(0,0,0),(0,0,0)); + level.player.jethud["lockon_warning"].alpha = 1; + var_01 playloopsound("dogfight_player_missile_locked_lp"); + param_00 common_scripts\utility::waittill_any("stop_lock_on_warning","death"); + level.player.jethud["lockon_warning"].alpha = 0; + var_01 stoploopsound(); + wait 0.05; + var_01 delete(); +} + +//Function Number: 145 +lock_on_to_player() +{ + if(1) + { + if(gettime() > level.last_missile_fired_at_player + 2500) + { + level.plane thread fake_damage_indicator(vectornormalize(level.plane.origin - self.origin)); + thread missile_miss_player(); + level.last_missile_fired_at_player = gettime(); + return; + } + + return; + } + + if(common_scripts\utility::flag("target_player") && !level.enemy_locking_on_to_player && gettime() >= level.last_missile_fired_at_player + 5000) + { + level.player notify("enemy_lock_on"); + level.enemy_locking_on_to_player = 1; + level.player_popped_flares = 0; + level.player thread maps\_utility::display_hint_timeout("flares_hint",2); + level.player thread lock_on_warning(self); + var_00 = level common_scripts\utility::waittill_notify_or_timeout_return("pop_flares",1); + wait 0.05; + if(level.flares_active) + { + thread missile_miss_player(); + } + else if(isalive(self)) + { + var_01 = maps\_utility::get_dot(self.origin,self.angles,level.player.origin); + if(var_00 == "timeout" && var_01 > 0) + { + level.player.jethud["lockon_warning"].color = (1,0,0); + level.player.jethud["lockon_warning"] settext("FIRING"); + level common_scripts\utility::waittill_notify_or_timeout("pop_flares",1); + if(level.flares_active) + { + thread missile_miss_player(); + } + else + { + level.player playsound("plr_jet_hit_by_missile_lyr1"); + var_02 = magicbullet("sidewinder_atlas_jet",level.plane.fake_enemy_missile_spawn.origin,level.plane.missile_target.origin); + var_02 missile_settargetent(level.plane.missile_target); + wait(0.25); + playfxontag(level._effect["explosion"],level.plane,"tag_origin"); + level.plane dodamage(10,level.plane.origin,self,self,"MOD_EXPLOSIVE","sidewinder_atlas_jet"); + level.plane vehicle_teleport(level.plane.origin,level.plane.angles + (0,0,45)); + } + } + } + + self notify("stop_lock_on_warning"); + level.last_missile_fired_at_player = gettime(); + level.enemy_locking_on_to_player = 0; + wait(5); + } +} + +//Function Number: 146 +missile_miss_player(param_00) +{ + var_01 = maps\_utility::get_dot(level.player.origin,level.player.angles,self.origin); + var_02 = level.plane offset_position_from_tag("forward","tag_origin",10000) + (0,0,200); + var_03 = self.origin; + if(var_01 > 0) + { + var_03 = offset_position_from_tag("forward","tag_origin",1000); + } + else + { + var_03 = level.plane offset_position_from_tag("backward","tag_origin",500); + if(level.plane.angles[0] > 0 && level.plane.angles[0] < 180) + { + var_03 = var_03 + (0,0,500); + } + else + { + var_03 = var_03 - (0,0,500); + } + + var_03 = var_03 + (randomintrange(-256,256),randomintrange(-256,256),randomintrange(-256,256)); + } + + var_04 = magicbullet("sidewinder_atlas_jet",var_03,var_02); + var_04 thread monitor_missile_death(1,self); + if(!is_true(param_00) && randomint(100) > 25) + { + maps\_utility::delaythread(0.25,::missile_miss_player,1); + } +} + +//Function Number: 147 +enemy_jet_shoot_think() +{ + self endon("death"); + var_00 = 225000000; + var_01 = 36000000; + var_02 = 100000000; + var_03 = 0; + for(;;) + { + if(common_scripts\utility::flag("target_player")) + { + var_04 = maps\_utility::get_dot(self.origin,self.angles,level.player.origin); + if(var_04 > 0) + { + var_05 = distancesquared(self.origin,level.player.origin); + if(var_05 < var_01 || !common_scripts\utility::flag("target_player")) + { + rake_with_bullets(level.plane); + } + else + { + lock_on_to_player(); + } + } + } + + var_06 = level.friend_jets; + foreach(var_08 in var_06) + { + if(isremovedentity(var_08)) + { + level.friend_jets = common_scripts\utility::array_remove(level.friend_jets,var_08); + wait(0.1); + break; + } + + var_09 = gettime(); + var_04 = maps\_utility::get_dot(self.origin,self.angles,var_08.origin); + if(var_04 > 0.93) + { + var_05 = distancesquared(self.origin,level.player.origin); + if(var_05 < var_02) + { + rake_with_bullets(var_08); + break; + } + else if(var_09 >= var_03) + { + thread ai_shoot_missile(var_08); + var_03 = var_09 + 5000; + break; + } + } + + wait(0.05); + } + + wait(0.1); + } +} + +//Function Number: 148 +ally_jet_shoot_think() +{ + self endon("death"); + var_00 = 225000000; + var_01 = 36000000; + var_02 = 100000000; + var_03 = 0; + if(!isdefined(level.enemy_units)) + { + level.enemy_units = []; + } + + for(;;) + { + if(level.ally_ai_active) + { + var_04 = 0; + var_05 = maps\_utility::get_dot(self.origin,self.angles,level.player.origin); + if(var_05 > 0) + { + var_04 = 1; + } + + var_06 = level.enemy_units; + foreach(var_08 in var_06) + { + if(!isdefined(var_08)) + { + level.enemy_units = common_scripts\utility::array_remove(level.enemy_units,var_08); + wait(0.1); + break; + } + + var_09 = gettime(); + var_05 = maps\_utility::get_dot(self.origin,self.angles,var_08.origin); + if(var_05 > 0.93) + { + var_0A = distancesquared(self.origin,level.player.origin); + if(var_0A < var_02) + { + rake_with_bullets(var_08,0.3,0.6); + wait(randomfloatrange(0.2,1)); + break; + } + } + + wait(0.05); + } + } + + wait(0.1); + } +} + +//Function Number: 149 +plane_health_monitor() +{ + level endon("finale"); + self.almost_dead = 0; + self.current_hit_count = 0; + self.invulnerabletime = 0; + self.lasthit = 0; + if(level.gameskill == 3) + { + self.max_hit_count = 1; + } + else if(level.gameskill == 2) + { + self.max_hit_count = 2; + } + else + { + self.max_hit_count = 2; + } + + self.max_health = self.health; + while(!common_scripts\utility::flag("final_hit")) + { + self waittill("damage",var_00,var_01,var_02,var_03,var_04); + var_04 = tolower(var_04); + self.health = self.max_health; + if(isdefined(var_01) && (isdefined(var_01.script_team) && var_01.script_team == "allies") || var_01 == level.player) + { + continue; + } + + if(var_04 == "collision") + { + thread fake_damage_indicator(var_02,undefined,0); + } + else + { + thread fake_damage_indicator(var_02); + } + + if(var_04 == "mod_impact") + { + thread fake_bullet_damage_sounds(); + thread fighter_jet_set_shake(2,0.5); + continue; + } + + var_05 = 1; + if(var_04 == "flak_hit") + { + var_05 = 0.5; + } + + if(var_04 == "flak_pepper") + { + thread fake_bullet_damage_sounds(); + var_05 = 0.05; + } + + if(var_04 == "mod_projectile" || var_04 == "mod_projectile_splash" || var_04 == "flak_hit") + { + thread fighter_jet_set_shake(4,1.5); + if(self.current_hit_count / self.max_hit_count < 0.5) + { + var_05 = 0.1; + } + else + { + var_05 = 0; + } + } + + var_06 = gettime(); + if(var_06 <= self.invulnerabletime && var_05 < 1) + { + continue; + } + + if(!common_scripts\utility::flag("playerPlaneNoDeath")) + { + self.current_hit_count = self.current_hit_count + var_05; + } + else if(self.current_hit_count < self.max_hit_count - 1) + { + self.current_hit_count = self.current_hit_count + var_05; + } + else + { + self.current_hit_count = self.max_hit_count - 1; + } + + if(self.current_hit_count < 0) + { + self.current_hit_count = 0; + } + + earthquake(0.5,1,self.origin,512); + level.player playrumbleonentity("damage_heavy"); + level.player viewkick(1,var_03); + self.lasthit = var_06; + if(self.current_hit_count >= self.max_hit_count) + { + if(!self.almost_dead || var_04 == "mod_projectile" || var_04 == "mod_projectile_splash" || var_04 == "flak_hit") + { + self.current_hit_count = self.max_hit_count - 0.1; + continue; + } + + self makeusable(); + self useby(level.player); + level.player disableinvulnerability(); + level.player kill(); + self kill(); + return; + } + } +} + +//Function Number: 150 +fake_bullet_damage_sounds() +{ + var_00 = randomintrange(3,7); + for(var_01 = 1;var_01 <= var_00;var_01++) + { + level.player playsound("plr_jet_bullet_imp"); + wait(randomfloatrange(0.1,0.22)); + } +} + +//Function Number: 151 +fake_damage_indicator(param_00,param_01,param_02,param_03,param_04) +{ + if(!isdefined(param_01)) + { + param_01 = 0.5; + } + + if(!isdefined(param_02)) + { + param_02 = 3; + } + + if(!isdefined(param_03)) + { + param_03 = 0.5; + } + + if(!is_true(param_04) && is_true(self.showing_damage)) + { + return; + } + + if(is_true(param_04)) + { + self notify("fake_damage_indicator"); + self endon("fake_damage_indicator"); + } + + self.showing_damage = 1; + level.player playsound("plr_jet_missile_imp_snap"); + if(isdefined(param_00) && param_00 != (0,0,0)) + { + var_05 = 0.5; + var_06 = anglestoforward(self.angles) + param_00 * var_05; + var_06 = vectortoangles(var_06); + var_06 = self.angles + (0,0,var_06[2]); + level.plane vehicle_teleport(level.plane.origin,var_06); + } + + earthquake(0.5,1,self.origin,512); + level.player playrumbleonentity("damage_heavy"); + level.player viewkick(1,level.player.origin); + level.player digitaldistortsetparams(param_03,1.5); + thread chromo_anim2(param_01,0.5); + wait(param_01); + level.player digitaldistortsetparams(0,1); + wait(param_02); + self.showing_damage = 0; +} + +//Function Number: 152 +chromo_anim2(param_00,param_01) +{ + level notify("chromo_anim"); + level endon("chromo_anim"); + setsaveddvar("r_chromaticAberrationTweaks",1); + var_02 = 1; + if(param_01) + { + var_02 = param_01; + } + + setsaveddvar("r_chromaticAberration",1); + var_03 = param_00 * 20; + var_04 = 0; + level.chromo_offset = 20 * var_02; + var_05 = level.chromo_offset; + for(var_04 = 0;var_04 < var_03;var_04++) + { + var_06 = 1 / var_03 * var_05; + level.chromo_offset = level.chromo_offset - var_06; + setsaveddvar("r_chromaticSeparationG",level.chromo_offset * -1); + setsaveddvar("r_chromaticSeparationR",level.chromo_offset); + wait(0.05); + } + + level.chromo_offset = 0; + setsaveddvar("r_chromaticSeparationG",0); + setsaveddvar("r_chromaticSeparationR",0); +} + +//Function Number: 153 +plane_health_regen() +{ + level endon("finale"); + for(;;) + { + wait(0.05); + waittillframeend; + var_00 = gettime(); + if(self.current_hit_count > 0 && var_00 >= self.lasthit + level.player.gs.playerhealth_regularregendelay / 2) + { + self.current_hit_count = self.current_hit_count - 1; + if(self.current_hit_count < 0) + { + self.current_hit_count = 0; + } + + self notify("regen"); + } + + var_01 = clamp(self.current_hit_count / self.max_hit_count,0,0.5); + level.player digitaldistortsetparams(var_01,1.5); + if(var_01 >= 0.5 && !self.almost_dead) + { + self.almost_dead = 1; + fadeupstatic(0.25); + self.invulnerabletime = var_00 + level.player.gs.invultime_onshield * 5; + } + + if(var_01 == 0 && self.almost_dead) + { + thread fadedownstatic(1); + level.player digitaldistortsetparams(0,1); + self.current_hit_count = 0; + self.almost_dead = 0; + } + } + + level.player painvisionoff(); +} + +//Function Number: 154 +fadeupstatic(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = 0.05; + } + + if(!isdefined(level.overlaystatic)) + { + level.overlaystatic = newhudelem(level.player); + level.overlaystatic.x = 0; + level.overlaystatic.y = 0; + level.overlaystatic.alpha = 0; + level.overlaystatic.horzalign = "fullscreen"; + level.overlaystatic.vertalign = "fullscreen"; + level.overlaystatic.sort = 4; + level.overlaystatic setshader("overlay_static_digital",640,480); + var_02 = param_01 / param_00 / 0.05; + while(level.overlaystatic.alpha < param_01) + { + level.overlaystatic.alpha = level.overlaystatic.alpha + var_02; + wait(0.05); + } + + level.overlaystatic.alpha = param_01; + } +} + +//Function Number: 155 +fadedownstatic(param_00) +{ + if(isdefined(level.overlaystatic)) + { + var_01 = 0.05 / param_00; + while(isdefined(level.overlaystatic) && level.overlaystatic.alpha > 0) + { + level.overlaystatic.alpha = level.overlaystatic.alpha - var_01; + wait(0.05); + } + + level.overlaystatic destroy(); + level.overlaystatic = undefined; + } +} + +//Function Number: 156 +init_jet_crash_points() +{ + level.jet_crash_points = getvehiclenodearray("jet_crash_location","targetname"); +} + +//Function Number: 157 +available_crash_paths() +{ + var_00 = []; + foreach(var_02 in level.jet_crash_points) + { + if(!isdefined(var_02.claimed)) + { + var_00[var_00.size] = var_02; + } + } + + return var_00; +} + +//Function Number: 158 +choose_crash_path() +{ + var_00 = available_crash_paths(); + var_01 = getclosest_in_front(self.origin,var_00); + return var_01; +} + +//Function Number: 159 +getclosest_in_front(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_02)) + { + param_02 = 20000; + } + + if(!isdefined(param_03)) + { + param_03 = 0.94; + } + + var_04 = undefined; + foreach(var_06 in param_01) + { + if(!isdefined(var_06)) + { + continue; + } + + var_07 = distance(var_06.origin,param_00); + if(var_07 >= param_02) + { + continue; + } + + var_08 = maps\_utility::get_dot(self.origin,self.angles,var_06.origin); + if(var_08 < param_03) + { + continue; + } + + param_02 = var_07; + var_04 = var_06; + } + + return var_04; +} + +//Function Number: 160 +jet_crash_move(param_00,param_01,param_02) +{ + self endon("in_air_explosion"); + param_00.claimed = 1; + self notify("newpath"); + self notify("deathspin"); + if(!isdefined(param_01)) + { + param_01 = 0; + } + + if(!isdefined(param_02)) + { + param_02 = 2400; + } + + var_03 = self.origin[2] + param_02; + var_04 = gettime(); + var_05 = var_04 + param_01 * 1000; + while(isdefined(self) && var_04 < var_05 && self.origin[2] < var_03) + { + wait(0.05); + var_04 = gettime(); + } + + var_06 = 700; + self setneargoalnotifydist(param_00.radius); + thread maps\_vehicle::vehicle_paths(param_00); + self startpath(param_00); + self vehicle_setspeed(var_06,50,50); + common_scripts\utility::waittill_any("goal","near_goal"); + jet_crash_path(param_00); + param_00.claimed = undefined; + self notify("stop_crash_loop_sound"); + self notify("crash_done"); +} + +//Function Number: 161 +jet_crash_path(param_00) +{ + self endon("death"); + while(isdefined(param_00.target)) + { + param_00 = common_scripts\utility::getstruct(param_00.target,"targetname"); + var_01 = 512; + if(isdefined(param_00.radius)) + { + var_01 = param_00.radius; + } + + var_02 = self vehicle_getspeed(); + if(isdefined(param_00.script_parameters)) + { + self vehicle_setspeed(param_00.script_parameters,50,60); + var_02 = param_00.script_parameters; + } + + self setneargoalnotifydist(var_01); + thread maps\_vehicle::vehicle_paths(param_00); + self startpath(param_00); + common_scripts\utility::waittill_any("goal","near_goal"); + } +} \ No newline at end of file diff --git a/AW/PC/maps/df_fly_fx.gsc b/AW/PC/maps/df_fly_fx.gsc new file mode 100644 index 0000000..637a166 --- /dev/null +++ b/AW/PC/maps/df_fly_fx.gsc @@ -0,0 +1,223 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: df_fly_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 6 + * Decompile Time: 94 ms + * Timestamp: 4/22/2024 2:28:50 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["bagh_dam_waterfall_impact"] = loadfx("vfx/map/baghdad/bagh_dam_waterfall_impact"); + level._effect["bagh_vista_explosion_runner"] = loadfx("vfx/map/baghdad/bagh_vista_explosion_runner"); + level._effect["bagh_vista_explosion"] = loadfx("vfx/map/baghdad/bagh_vista_explosion"); + level._effect["bagh_dam_canopy_drops"] = loadfx("vfx/map/baghdad/bagh_dam_canopy_drops"); + level._effect["bagh_atlas_jet_disintegrate02"] = loadfx("vfx/map/baghdad/bagh_atlas_jet_disintegrate02"); + level._effect["bagh_tanker_dust_trail_small"] = loadfx("vfx/map/baghdad/bagh_tanker_dust_trail_small"); + level._effect["bagh_atlas_jet_disintegrate01"] = loadfx("vfx/map/baghdad/bagh_atlas_jet_disintegrate01"); + level._effect["bagh_dam_burst01"] = loadfx("vfx/water/bagh_dam_burst01"); + level._effect["bagh_hoodoo_cliff_collapse"] = loadfx("vfx/map/baghdad/bagh_hoodoo_cliff_collapse"); + level._effect["bagh_flight_cloud_volume"] = loadfx("vfx/map/baghdad/bagh_flight_cloud_volume"); + level._effect["bagh_hoodoo_impact1_atlas"] = loadfx("vfx/map/baghdad/bagh_hoodoo_impact1_atlas"); + level._effect["bagh_aircraft_explosion_midair_atlas"] = loadfx("vfx/map/baghdad/bagh_aircraft_explosion_midair_atlas"); + level._effect["bagh_groundtarget_muzzleflash"] = loadfx("vfx/map/baghdad/bagh_groundtarget_muzzleflash"); + level._effect["bagh_tanker_dust_trail"] = loadfx("vfx/map/baghdad/bagh_tanker_dust_trail"); + level._effect["bagh_aircraft_damage_fire_trail"] = loadfx("vfx/map/baghdad/bagh_aircraft_damage_fire_trail"); + level._effect["bagh_aircraft_damage_trail_huge"] = loadfx("vfx/map/baghdad/bagh_aircraft_damage_trail_huge"); + level._effect["bagh_tanker_crash"] = loadfx("vfx/map/baghdad/bagh_tanker_crash"); + level._effect["bagh_aircraft_flares"] = loadfx("vfx/map/baghdad/bagh_aircraft_flares"); + level._effect["pod_exhaust_strong"] = loadfx("vfx/vehicle/pod_exhaust_strong"); + level._effect["df_fly_sun_flare"] = loadfx("vfx/map/fly/df_fly_sun_flare"); + level._effect["bagh_trench_dust"] = loadfx("vfx/map/baghdad/bagh_trench_dust"); + level._effect["bagh_hoodoo_dust_trail"] = loadfx("vfx/map/baghdad/bagh_hoodoo_dust_trail"); + level._effect["bagh_hoodoo_domino_impact1"] = loadfx("vfx/map/baghdad/bagh_hoodoo_domino_impact1"); + level._effect["bagh_hoodoo_impact1_crack_large"] = loadfx("vfx/map/baghdad/bagh_hoodoo_impact1_crack_large"); + level._effect["bagh_hoodoo_impact1_crack"] = loadfx("vfx/map/baghdad/bagh_hoodoo_impact1_crack"); + level._effect["bagh_hoodoo_impact1_dust"] = loadfx("vfx/map/baghdad/bagh_hoodoo_impact1_dust"); + level._effect["bagh_hoodoo_impact1_dust_small"] = loadfx("vfx/map/baghdad/bagh_hoodoo_impact1_dust_small"); + level._effect["bagh_hoodoo_impact1"] = loadfx("vfx/map/baghdad/bagh_hoodoo_impact1"); + level._effect["bagh_metal_bridge_dust"] = loadfx("vfx/map/baghdad/bagh_metal_bridge_dust"); + level._effect["bagh_dam_water_burst"] = loadfx("vfx/map/baghdad/bagh_dam_water_burst"); + level._effect["bagh_dam_explosion"] = loadfx("vfx/map/baghdad/bagh_dam_explosion"); + level._effect["bagh_aircraft_gun_tracer"] = loadfx("vfx/map/baghdad/bagh_aircraft_gun_tracer"); + level._effect["tracer_ricochet"] = loadfx("vfx/map/baghdad/bagh_aircraft_gun_tracer"); + level._effect["missile_trail"] = loadfx("vfx/map/baghdad/bagh_aircraft_missile_trail_player"); + level._effect["missile_explode"] = loadfx("vfx/map/baghdad/bagh_missile_explode_midair"); + level._effect["canyon_impact"] = loadfx("vfx/map/baghdad/bagh_canyon_impact"); + level._effect["canyon_jet_impact"] = loadfx("vfx/map/baghdad/bagh_hoodoo_impact1_atlas"); + level._effect["bagh_aircraft_explosion_midair"] = loadfx("vfx/map/baghdad/bagh_aircraft_explosion_midair"); + level._effect["bagh_aircraft_damage_trail"] = loadfx("vfx/map/baghdad/bagh_aircraft_damage_trail"); + level._effect["explosion_small"] = loadfx("vfx/explosion/fire_spurt_runner_a"); + level._effect["flak_cannon_explode"] = loadfx("vfx/explosion/vehicle_x4walker_explosion"); + level._effect["turret_gun_muzzle"] = loadfx("vfx/map/baghdad/bagh_groundtarget_muzzleflash"); + level._effect["flak_explosion"] = loadfx("vfx/explosion/flak_explosion_far"); + level._effect["explosion"] = loadfx("vfx/explosion/vehicle_warbird_explosion_a"); + level._effect["missile_repel"] = loadfx("vfx/map/baghdad/bagh_aircraft_flares"); + level._effect["large_cloud"] = loadfx("vfx/cloud/cloud_oriented_large"); + level._effect["medium_cloud"] = loadfx("vfx/cloud/cloud_oriented_med"); + level._effect["thin_cloud_vol"] = loadfx("vfx/cloud/clouds_thin_volume"); + level._effect["cloud_vtol_wing_wispy"] = loadfx("vfx/cloud/cloud_vtol_wing_wispy"); + level._effect["cloud_wing_wispy"] = loadfx("vfx/cloud/cloud_wing_wispy"); +} + +//Function Number: 2 +vfx_dam_setup() +{ + var_00 = getent("dam_cracks1","targetname"); + var_01 = getent("dam_cracks2","targetname"); + var_00 thread vfx_dam_burst("dam_cracks1"); + var_01 thread vfx_dam_burst("dam_cracks2"); +} + +//Function Number: 3 +vfx_dam_burst(param_00) +{ + if(isdefined(param_00)) + { + common_scripts\utility::flag_wait(param_00); + } + + wait(0.5); + playfxontag(common_scripts\utility::getfx("bagh_dam_burst01"),self,"tag_fx_01"); + wait(0.5); + playfxontag(common_scripts\utility::getfx("bagh_dam_burst01"),self,"tag_fx_02"); + wait(0.35); + playfxontag(common_scripts\utility::getfx("bagh_dam_burst01"),self,"tag_fx_03"); + wait(0.25); + playfxontag(common_scripts\utility::getfx("bagh_dam_burst01"),self,"tag_fx_04"); + common_scripts\utility::flag_wait("airbrake_hint"); + stopfxontag(common_scripts\utility::getfx("bagh_dam_burst01"),self,"tag_fx_01"); + stopfxontag(common_scripts\utility::getfx("bagh_dam_burst01"),self,"tag_fx_02"); + stopfxontag(common_scripts\utility::getfx("bagh_dam_burst01"),self,"tag_fx_03"); + stopfxontag(common_scripts\utility::getfx("bagh_dam_burst01"),self,"tag_fx_04"); +} + +//Function Number: 4 +vfx_handle_disintegrating_jet() +{ + self hide(); + maps\_utility::ent_flag_clear("engineeffects"); + var_00 = randomintrange(1,5); + var_01 = undefined; + switch(var_00) + { + case 1: + playfx(common_scripts\utility::getfx("bagh_aircraft_explosion_midair"),self.origin); + break; + + case 2: + var_01 = "bagh_atlas_jet_disintegrate01"; + break; + + case 3: + var_01 = "bagh_atlas_jet_disintegrate02"; + break; + + case 4: + var_01 = "bagh_atlas_jet_disintegrate01"; + break; + } + + if(var_00 > 1) + { + var_02 = spawn("script_model",self.origin); + var_02.angles = self.angles; + var_02 setmodel("tag_origin"); + var_02 linkto(self,"tag_origin",(0,0,5),(0,5,0)); + var_03 = spawn("script_model",self.origin); + var_03.angles = self.angles; + var_03 setmodel("vfx_atlas_fighter_jet_dest_body_01"); + var_03 linkto(var_02,"tag_origin",(0,0,0),(0,0,0)); + var_03 show(); + playfxontag(common_scripts\utility::getfx(var_01),var_02,"tag_origin"); + var_04 = playfxontag(common_scripts\utility::getfx("bagh_aircraft_damage_fire_trail"),var_02,"tag_origin"); + if(var_00 == 4) + { + var_05 = 1; + if(randomfloat(100) > 50) + { + var_05 = -1; + } + + var_02 rotate_roll_link(self,"tag_origin",-1440 * var_05,0,randomintrange(2,5)); + } + else if(isdefined(self)) + { + var_06 = spawn("script_model",self.origin); + if(isdefined(var_06)) + { + var_06.angles = self.angles; + var_06 linkto(var_02,"tag_origin",(0,0,0),(0,0,0)); + if(var_00 == 2) + { + var_06 setmodel("vfx_atlas_fighter_jet_dest_wing_rt"); + var_02 rotate_roll_link(self,"tag_origin",-1 * randomintrange(360,1080),randomintrange(0,2000),randomintrange(2,5)); + } + else + { + var_06 setmodel("vfx_atlas_fighter_jet_dest_wing_lt"); + var_02 rotate_roll_link(self,"tag_origin",randomintrange(360,1080),randomintrange(0,2000),randomintrange(2,5)); + } + + var_06 delete(); + } + } + + wait 0.05; + if(isdefined(self)) + { + killfxontag(common_scripts\utility::getfx(var_01),var_02,"tag_origin"); + playfx(common_scripts\utility::getfx("bagh_aircraft_explosion_midair"),self.origin); + } + + var_03 delete(); + var_02 delete(); + } + + if(isdefined(self)) + { + self delete(); + } +} + +//Function Number: 5 +rotate_roll_link(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = 0; + var_06 = param_02 / param_04 / 0.05; + var_07 = 0; + if(param_03 != 0) + { + var_07 = param_03 / param_04 / 0.05; + } + + while(var_05 < param_04 && isalive(param_00)) + { + self unlink(); + self.angles = self.angles + (0,0,var_06); + if(var_07 > 0) + { + self.origin = maps\df_fly_flight_code::offset_position_from_tag("down","tag_origin",var_07); + } + + self linkto(param_00,param_01); + wait(0.05); + var_05 = var_05 + 0.05; + } +} + +//Function Number: 6 +pod_engine_fx(param_00) +{ + var_01 = common_scripts\utility::getfx("pod_exhaust_strong"); + if(param_00) + { + playfxontag(var_01,self,"tag_exhaust"); + return; + } + + stopfxontag(var_01,self,"tag_exhaust"); +} \ No newline at end of file diff --git a/AW/PC/maps/df_fly_lighting.gsc b/AW/PC/maps/df_fly_lighting.gsc new file mode 100644 index 0000000..2acb338 --- /dev/null +++ b/AW/PC/maps/df_fly_lighting.gsc @@ -0,0 +1,184 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: df_fly_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 12 + * Decompile Time: 177 ms + * Timestamp: 4/22/2024 2:28:51 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(level.currentgen) + { + thread df_fly_dof_presets(); + } + + thread df_fly_set_level_lighting_values(); + thread df_fly_lighting(); + thread df_fly_lighting_canyon(); + thread df_fly_lighting_canyon_finale(); + thread df_fly_lighting_end_pod(); + thread set_sun_flare(); + thread setup_vignette(); +} + +//Function Number: 2 +df_fly_dof_presets() +{ + if(level.nextgen) + { + maps\_lighting::create_dof_preset("df_fly",10,60,0,0,7500,1,0.5); + maps\_lighting::create_dof_preset("df_fly_intro",10,60,0,0,7500,1,0.5); + maps\_lighting::create_dof_preset("df_fly_canyon",10,60,0,0,7500,1,0.5); + maps\_lighting::create_dof_preset("df_fly_canyon_finale",10,60,0,0,7500,1,0.5); + return; + } + + setsaveddvar("r_dof_physical_enable",0); + maps\_lighting::create_dof_preset("df_fly",0,100,0,18000,29000,1.1,0.5); + maps\_lighting::create_dof_preset("df_fly_intro",0,100,0,18000,29000,1.1,0.5); + maps\_lighting::create_dof_preset("df_fly_canyon",0,100,0,18000,29000,1.1,0.5); + maps\_lighting::create_dof_preset("df_fly_canyon_finale",0,100,0,18000,29000,1.1,0.5); +} + +//Function Number: 3 +retarget_lighting() +{ + var_00 = getent("terrain_no_light","targetname"); + var_01 = getent("terrain_light","targetname"); + var_00 retargetscriptmodellighting(var_01); +} + +//Function Number: 4 +df_fly_set_level_lighting_values() +{ + if(isusinghdr()) + { + setsaveddvar("r_disableLightSets",0); + } + + if(level.nextgen) + { + setsaveddvar("r_hemiAoEnable",1); + } +} + +//Function Number: 5 +df_fly_lighting() +{ + level.player lightsetforplayer("df_fly_canyon"); + if(level.nextgen) + { + level.player setclutforplayer("clut_df_fly",0); + } + + maps\_utility::vision_set_fog_changes("df_fly_canyon",0); + if(level.currentgen) + { + maps\_lighting::blend_dof_presets("default","df_fly",0); + } +} + +//Function Number: 6 +df_fly_lighting_canyon() +{ + level.player lightsetforplayer("df_fly_canyon"); + maps\_utility::vision_set_fog_changes("df_fly_canyon",0); + if(level.currentgen) + { + maps\_lighting::blend_dof_presets("df_fly_intro","df_fly_canyon",0); + } + + if(level.nextgen) + { + thread set_canyon_dof(); + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + setsaveddvar("r_mbVelocityScalar","1"); + } +} + +//Function Number: 7 +set_canyon_dof() +{ + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(1.5,7000,50,50); + level.player setphysicalviewmodeldepthoffield(1.25,30); + common_scripts\utility::flag_wait("canyon_finished"); + wait(5); + level.player setphysicaldepthoffield(5,660); + wait(3); + level.player setphysicaldepthoffield(5,28.8); +} + +//Function Number: 8 +set_sun_flare() +{ + thread maps\_shg_fx::vfx_sunflare("df_fly_sun_flare"); +} + +//Function Number: 9 +setup_vignette() +{ + level.flyvignette = newhudelem(level.player); + level.flyvignette.x = 0; + level.flyvignette.y = 0; + level.flyvignette.alpha = 1; + level.flyvignette.horzalign = "fullscreen"; + level.flyvignette.vertalign = "fullscreen"; + level.flyvignette.sort = 3; + level.flyvignette setshader("s1_railgun_hud_outer_shadow",640,480); +} + +//Function Number: 10 +df_fly_lighting_canyon_finale() +{ + common_scripts\utility::flag_wait("canyon_finished"); + level.player lightsetforplayer("df_fly_canyon"); + maps\_utility::vision_set_fog_changes("df_fly_canyon_finale",2); + if(level.currentgen) + { + maps\_lighting::blend_dof_presets("df_fly_canyon","df_fly_canyon_finale",1); + } + + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + setsaveddvar("r_mbVelocityScalar","1"); + } +} + +//Function Number: 11 +df_fly_lighting_end_pod() +{ + common_scripts\utility::flag_wait("canyon_finished"); + wait(12); + level.player lightsetforplayer("df_fly_canyon"); + maps\_utility::vision_set_fog_changes("df_fly_canyon_finale",2); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + setsaveddvar("r_mbVelocityScalar","1"); + } +} + +//Function Number: 12 +ambient_model_fix() +{ + wait(1); + var_00 = getent("red_hoodoo2b","targetname"); + var_01 = getent("crumble_hoodoo_b","targetname"); + var_02 = getent("red_hoodoo2c","targetname"); + var_03 = getent("crumble_hoodoo_a","targetname"); + var_04 = getent("cliff_01_origin","targetname"); + var_05 = common_scripts\utility::getstruct("cliff_02_origin","targetname"); + var_00 overridelightingorigin(var_04.origin); + var_01 overridelightingorigin(var_05.origin); + var_02 overridelightingorigin(var_05.origin); + var_03 overridelightingorigin(var_05.origin); +} \ No newline at end of file diff --git a/AW/PC/maps/df_fly_precache.gsc b/AW/PC/maps/df_fly_precache.gsc new file mode 100644 index 0000000..5339d48 --- /dev/null +++ b/AW/PC/maps/df_fly_precache.gsc @@ -0,0 +1,19 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: df_fly_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:28:51 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + common_scripts\utility::add_destructible_type_function("powerbox_112x64_01_green_destp",::destructible_scripts\powerbox_112x64_01_green_destp::main); + common_scripts\utility::add_destructible_type_function("toy_electricbox4",::destructible_scripts\toy_electricbox4::main); + destructible_scripts\powerbox_112x64_01_green_destp::main(); + vehicle_scripts\_atlas_jet::main("atlas_fighter_jet",undefined,"script_vehicle_atlas_jet"); + vehicle_scripts\_s19::main("vehicle_sentinel_fighter_jet",undefined,"script_vehicle_s19_player"); +} \ No newline at end of file diff --git a/AW/PC/maps/finale.gsc b/AW/PC/maps/finale.gsc new file mode 100644 index 0000000..cf86513 --- /dev/null +++ b/AW/PC/maps/finale.gsc @@ -0,0 +1,921 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: finale.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 46 + * Decompile Time: 693 ms + * Timestamp: 4/22/2024 2:28:53 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\_utility::template_level("finale"); + maps\_utility::add_start("intro",::debug_start_intro,"Intro",::intro_logic); + maps\_utility::add_start("intro_skip",::debug_start_intro_skip,"Intro skip",::intro_logic); + maps\_utility::add_start("canal",::debug_canal_start,"Canal",::canal_logic); + maps\_utility::add_start("canal_breach",::debug_canal_breach_start,"Canal Breach",::canal_breach_logic); + maps\_utility::add_start("silo_approach",::debug_silo_approach_start,"Silo Approach",::silo_approach_logic); + maps\_utility::add_start("silo_floor_03",::debug_silo_floor_03_start,"Silo Floor 3",::silo_floor_03_logic); + maps\_utility::add_start("silo_door_kick",::debug_door_kick_start,"Silo Door Kick",::silo_door_kick_logic); + maps\_utility::add_start("silo_exhaust_entrance",::debug_silo_exhaust_entrance_start,"Silo Exhaust Entrance",::silo_exhaust_entrance_logic); + maps\_utility::add_start("lobby",::debug_lobby_start,"Lobby",::silo_lobby_logic); + maps\_utility::add_start("sky_bridge",::debug_sky_bridge_start,"Sky Bridge",::silo_sky_bridge_logic); + maps\_utility::add_start("will_room",::debug_will_room_start,"Will Room",::will_room_logic); + maps\_utility::add_start("irons_chase",::debug_irons_chase,"Irons Chase",::irons_chase_logic); + maps\_utility::add_start("roof",::debug_roof_start,"Roof",::roof_logic); + if(level.currentgen) + { + setup_cg_start_points(); + maps\_utility::tff_sync_setup(); + } + + common_scripts\utility::flag_init("flag_exhaust_hatch_open"); + maps\createart\finale_art::main(); + maps\finale_fx::main(); + maps\finale_precache::main(); + maps\_load::main(); + thread maps\_player_exo::main(undefined,undefined,0); + maps\_credits::initcredits("all"); + maps\finale_lighting::main2(); + maps\finale_aud::main(); + maps\finale_anim::main(); + maps\_water::init(); + maps\_utility::add_control_based_hint_strings("takedown_hint",&"FINALE_ACTION_MELEE",::maps\finale_utility::takedown_hint_off); + maps\_utility::add_control_based_hint_strings("player_input_shaft_buttons",&"FINALE_SHAFT_BUTTONS",::maps\finale_shaft::player_input_shaft_buttons_off); + maps\_utility::add_control_based_hint_strings("player_input_shaft_buttons_pc_alt",&"FINALE_SHAFT_BUTTONS_PC_ALT",::maps\finale_shaft::player_input_shaft_buttons_off); + maps\_utility::add_control_based_hint_strings("player_input_sprint_hint",&"FINALE_SPRINT_BUTTON_HINT",::maps\finale_utility::player_input_sprint); + maps\_utility::add_control_based_hint_strings("player_input_slide_button",&"FINALE_SLIDE_BUTTON_HINT",::maps\finale_utility::player_input_slide_under_door,&"FINALE_SLIDE_BUTTON_HINT_KB"); + maps\_utility::add_control_based_hint_strings("release_hint",&"FINALE_HELO_RELEASE_HINT",::maps\finale_code::release_hint_off); + maps\_utility::add_control_based_hint_strings("player_input_tackle_hint",&"FINALE_ACTION_TACKLE",::maps\finale_utility::tackle_handle_hint_display); + maps\_utility::add_control_based_hint_strings("break_free_buttonmash_hint",&"FINALE_ACTION_TAP_FREE",::maps\finale_utility::process_buttonmash_handle_hint); + maps\_utility::add_control_based_hint_strings("final_scene_melee_hint",&"FINALE_ACTION_MELEE_FINAL",::maps\finale_utility::final_scene_handle_melee_hint); + maps\_utility::add_control_based_hint_strings("final_scene_buttonmash_hint",&"FINALE_ACTION_TAP_STRUGGLE",::maps\finale_utility::process_buttonmash_handle_hint); + precacheturret("heli_spotlight_so_castle"); + precachemodel("com_blackhawk_spotlight_on_mg_setup"); + precachemodel("npc_titan45_base"); + precachemodel("npc_titan45_cutscene"); + precachemodel("npc_titan45_base_nocamo"); + precachemodel("vm_world_body_mech"); + precachemodel("semx_explosive_mech"); + precachemodel("fin_silo_floor_hatch_piston_l"); + precachemodel("fin_silo_floor_hatch_piston_r"); + precachemodel("fin_silo_floor_hatch"); + precacheitem("iw5_titan45finalelobby_sp_xmags"); + precacheitem("iw5_unarmedfinale_nullattach"); + precacheitem("iw5_unarmedfinaleknife"); + precacheitem("iw5_hbra3_sp"); + precachemodel("genericprop"); + precachemodel("npc_exo_armor_bigfin"); + precachemodel("fin_body_scanner_door"); + precachemodel("body_sentinel_exo_ingress"); + precachemodel("viewhands_sentinel_mitchell_prosthetic_smashed"); + precachemodel("viewhands_noexo_mitchell_prosthetic_smashed"); + precachemodel("viewbody_sentinel_pilot_mitchell_nub_fullarm"); + precachemodel("viewbody_sentinel_pilot_mitchell_nub"); + precachemodel("viewbody_sentinel_mitchell_egress_custom"); + precacheitem("playermech_auto_cannon_finale_exhaust"); + precacheitem("playermech_rocket_swarm_finale_exhaust"); + precacheitem("playermech_rocket_finale_exhaust"); + precachemodel("fin_side_missile_02"); + precachemodel("fin_side_missile_white_panel_top_r_01"); + precachemodel("fin_side_missile_white_panel_top_l_01"); + precachemodel("fin_side_missile_white_panel_bottom_r_01"); + precachemodel("fin_side_missile_white_panel_bottom_l_01"); + precachemodel("fin_side_missile_engine_nozzel_piece_01"); + precachemodel("fin_side_missile_engine_nozzel_piece_02"); + precachemodel("fin_side_missile_engine_brace_piece_01"); + precachemodel("fin_side_missile_side_box_piece_r_01"); + precachemodel("fin_side_missile_side_box_piece_l_01"); + precachemodel("vm_exo_armor_minigun_base"); + precachemodel("vm_mitchell_finale_knife"); + precachemodel("fin_railing_roof_03_anim"); + precachemodel("rope1ft_2j"); + precacherumble("damage_light"); + precacherumble("light_1s"); + precacherumble("damage_heavy"); + precacherumble("heavy_1s"); + precacherumble("pistol_fire"); + precacheshader("bls_end_credits_b1"); + if(level.currentgen) + { + precacheshader("fullscreen_lit_bloodsplat_01"); + } + + common_scripts\utility::flag_init("flag_chyron_finale_complete"); + common_scripts\utility::flag_init("flag_release_hint_off"); + common_scripts\utility::flag_init("flag_intro_screen_complete"); + common_scripts\utility::flag_init("flag_canal_combat_start"); + common_scripts\utility::flag_init("flag_se_intro_flyin_start"); + common_scripts\utility::flag_init("flag_intro_flyin_start"); + common_scripts\utility::flag_init("flag_boat_single_dead"); + common_scripts\utility::flag_init("flag_boat_canal_dead"); + common_scripts\utility::flag_init("flag_intro_flyin_release"); + common_scripts\utility::flag_init("flag_ai_silo_floor_01_end"); + common_scripts\utility::flag_init("flag_missile_seated"); + common_scripts\utility::flag_init("flag_silo_watwalks_open"); + common_scripts\utility::flag_init("flag_silo_combat_complete"); + common_scripts\utility::flag_init("flag_se_door_kick_complete"); + common_scripts\utility::flag_init("flag_countdown_complete_mission_fail"); + common_scripts\utility::flag_init("flag_obj_exhaust_hatch_open"); + common_scripts\utility::flag_init("flag_obj_exhaust_hatch_position"); + common_scripts\utility::flag_init("flag_exhaust_hatch_complete"); + common_scripts\utility::flag_init("flag_missile_ignition_start"); + common_scripts\utility::flag_init("flag_player_shoot_missile"); + common_scripts\utility::flag_init("flag_exhaust_corridor_timer_fail"); + common_scripts\utility::flag_init("flag_missile_hit"); + common_scripts\utility::flag_init("flag_missile_failed"); + common_scripts\utility::flag_init("flag_missile_damaged"); + common_scripts\utility::flag_init("flag_obj_escape"); + common_scripts\utility::flag_init("flag_obj_stop_missile_launch_complete"); + common_scripts\utility::flag_init("flag_se_mech_exit_init"); + common_scripts\utility::flag_init("flag_se_mech_exit_start"); + common_scripts\utility::flag_init("flag_lobby_combat_start"); + common_scripts\utility::flag_init("flag_lobby_seek_player"); + common_scripts\utility::flag_init("flag_lobby_player_can_shoot"); + common_scripts\utility::flag_init("flag_lobby_clear"); + common_scripts\utility::flag_init("flag_se_will_reveal"); + common_scripts\utility::flag_init("flag_will_reveal_complete"); + common_scripts\utility::flag_init("flag_will_reveal_irons_complete"); + common_scripts\utility::flag_init("flag_obj_escape_complete"); + common_scripts\utility::flag_init("flag_bridge_takedown_jump_complete"); + common_scripts\utility::flag_init("flag_se_bridge_takedown_success"); + common_scripts\utility::flag_init("flag_balcony_tackle_fake_okay"); + common_scripts\utility::flag_init("flag_balcony_tackle_okay"); + common_scripts\utility::flag_init("flag_balcony_tackle_too_late"); + common_scripts\utility::flag_init("flag_balcony_tackle_started"); + common_scripts\utility::flag_init("flag_balcony_tackle_success"); + common_scripts\utility::flag_init("flag_balcony_pt2_start"); + common_scripts\utility::flag_init("flag_button_melee_success"); + common_scripts\utility::flag_init("flag_stop_display_melee_hint"); + common_scripts\utility::flag_init("flag_buttonmash_success"); + common_scripts\utility::flag_init("flag_irons_escaped"); + common_scripts\utility::flag_init("flag_se_irons_end"); + common_scripts\utility::flag_init("flag_player_speed_control_on"); + common_scripts\utility::flag_init("flag_obj_irons_complete"); + common_scripts\utility::flag_init("flag_balcony_finale_success"); + common_scripts\utility::flag_init("underwater_flashlight"); + common_scripts\utility::flag_init("lighting_missile_fail"); + common_scripts\utility::flag_init("flag_lighting_fall_blur"); + common_scripts\utility::flag_init("lighting_flag_obj_stop_missile_complete"); + common_scripts\utility::flag_init("arm_off"); + common_scripts\utility::flag_init("flag_sit_down"); + if(level.currentgen) + { + common_scripts\utility::flag_init("load_middle_transient"); + common_scripts\utility::flag_init("middle_loaded_successfully"); + common_scripts\utility::flag_init("load_outro_transient"); + common_scripts\utility::flag_init("outro_loaded_successfully"); + thread load_middle_transient(); + thread load_missile_area_transient(); + thread load_outro_transient(); + } + + maps\finale_utility::load_mech(); + var_00["mech_base_weapon"] = "playermech_auto_cannon_finale"; + var_00["mech_lethal_weapon"] = "playermech_rocket_finale"; + var_00["mech_tactical_weapon"] = "playermech_rocket_swarm_finale"; + var_00["mech_swarm_rocket"] = "playermech_rocket_projectile"; + var_00["mech_swarm_rocket_deploy"] = "playermech_rocket_deploy_projectile"; + var_00["mech_base_no_weapon"] = "playermech_auto_cannon_noweap"; + var_00["mech_dmg1_weapon"] = "playermech_auto_cannon_dmg1"; + var_00["mech_dmg2_weapon"] = "playermech_auto_cannon_dmg2"; + level.player maps\_playermech_code::playermech_init(var_00); + level.player maps\_playermech_code::playermech_disable_badplace(); + common_scripts\utility::flag_set("flag_mech_vo_active"); + thread maps\finale_utility::mech_setup(); + thread global_spawn_functions(); + thread delete_wills_room_clip(); + thread lightingstate(); + level.friendlyfire_damage_modifier = 0.05; + maps\finale_vo::main(); + maps\finale_utility::spawn_metrics_init(); + level.player enablealternatemelee(); + animscripts\traverse\boost::precache_boost_fx_npc(); + level.underwater_lightset = "underwater_lightset"; + level.visionset_default = "finale_interior"; + level.visionset_underwater = "finale_underwater"; + level.use_two_stage_swarm = 1; + level.clut_underwater = "clut_finale_underwater"; + level.clut_previous = "clut_finale_intro"; + if(level.currentgen) + { + setsaveddvar("r_gunSightColorEntityScale","7"); + setsaveddvar("r_gunSightColorNoneScale","0.8"); + } + + common_scripts\utility::flag_wait("flag_balcony_finale_success"); + thread maps\_credits::allow_early_back_out(); + maps\_credits::playcredits(); + post_credits_still_image(); + maps\_utility::nextmission(); + changelevel("",0); +} + +//Function Number: 2 +post_credits_still_image() +{ + var_00 = 2; + var_01 = 2; + var_02 = maps\_hud_util::create_client_overlay("black",0,level.player); + var_02.sort = 100; + var_02 fadeovertime(1); + var_02.alpha = 1; + wait(var_00 + var_01); + var_03 = maps\_hud_util::create_client_overlay("bls_end_credits_b1",0,level.player); + var_03.sort = 101; + var_04 = 3; + var_01 = 5; + var_05 = 3; + var_03 fadeovertime(var_04); + var_03.alpha = 1; + wait(var_04 + var_01); + var_03 fadeovertime(var_05); + var_03.alpha = 0; + wait(2); +} + +//Function Number: 3 +delete_wills_room_clip() +{ + var_00 = getent("clip_wills_room","targetname"); + var_00 delete(); +} + +//Function Number: 4 +setup_cg_start_points() +{ + var_00 = ["finale_intro_tr"]; + maps\_utility::set_start_transients("intro",var_00); + maps\_utility::set_start_transients("intro_skip",var_00); + maps\_utility::set_start_transients("canal",var_00); + maps\_utility::set_start_transients("canal_breach",var_00); + var_00 = ["finale_middle_tr"]; + maps\_utility::set_start_transients("silo_approach",var_00); + maps\_utility::set_start_transients("silo_floor_03",var_00); + maps\_utility::set_start_transients("silo_exhaust_entrance",var_00); + var_00 = ["finale_outro_tr"]; + maps\_utility::set_start_transients("lobby",var_00); + maps\_utility::set_start_transients("sky_bridge",var_00); + maps\_utility::set_start_transients("will_room",var_00); + maps\_utility::set_start_transients("roof",var_00); +} + +//Function Number: 5 +load_middle_transient() +{ + maps\_utility::trigger_wait_targetname("load_finale_middle_tr"); + common_scripts\utility::flag_set("load_middle_transient"); + unload_load_transients("finale_intro_tr","finale_middle_tr","middle_loaded_successfully"); +} + +//Function Number: 6 +load_missile_area_transient() +{ + maps\_utility::trigger_wait_targetname("player_is_falling_down_the_exhaust_shaft"); + unload_load_transients("finale_middle_tr","finale_missile_area_tr","missile_area_loaded_successfully"); +} + +//Function Number: 7 +load_outro_transient() +{ + common_scripts\utility::flag_wait("load_outro_transient"); + unload_load_transients("finale_missile_area_tr","finale_outro_tr","outro_loaded_successfully"); +} + +//Function Number: 8 +unload_load_transients(param_00,param_01,param_02) +{ + if(istransientloaded(param_00)) + { + unloadtransient(param_00); + } + + loadtransient(param_01); + for(;;) + { + if(istransientloaded(param_01)) + { + if(common_scripts\utility::flag_exist(param_02)) + { + common_scripts\utility::flag_set(param_02); + } + + break; + } + + wait(0.1); + } +} + +//Function Number: 9 +global_spawn_functions() +{ + maps\_utility::add_global_spawn_function("axis",::enable_jump_jet_pathing); + maps\_utility::add_global_spawn_function("axis",::maps\finale_code::player_mech_melee_modifier); +} + +//Function Number: 10 +enable_jump_jet_pathing() +{ + if(issubstr(self.classname,"jump")) + { + self.canjumppath = 1; + } +} + +//Function Number: 11 +set_completed_flags() +{ + if(maps\_utility::is_default_start()) + { + return; + } + + var_00 = level.start_point; + if(var_00 == "intro") + { + return; + } + + if(var_00 == "intro_skip") + { + return; + } + + common_scripts\utility::flag_set("flag_intro_screen_complete"); + common_scripts\utility::flag_set("flag_intro_flyin_release"); + if(var_00 == "canal") + { + return; + } + + common_scripts\utility::flag_set("flag_obj_enter_silo_update"); + if(var_00 == "canal_breach") + { + return; + } + + common_scripts\utility::flag_set("flag_obj_enter_silo_complete"); + if(var_00 == "silo_approach") + { + return; + } + + if(var_00 == "silo_floor_03") + { + return; + } + + common_scripts\utility::flag_set("flag_silo_combat_stop"); + common_scripts\utility::flag_set("flag_silo_combat_complete"); + if(var_00 == "silo_door_kick") + { + return; + } + + common_scripts\utility::flag_set("flag_dialogue_exhaust_hatch"); + common_scripts\utility::flag_set("flag_obj_exhaust_hatch_position"); + common_scripts\utility::flag_set("flag_missile_seated"); + common_scripts\utility::flag_set("flag_se_exhaust_hatch_init"); + if(var_00 == "silo_exhaust_entrance") + { + return; + } + + common_scripts\utility::flag_set("flag_obj_exhaust_hatch_open"); + common_scripts\utility::flag_set("flag_exhaust_hatch_grab"); + common_scripts\utility::flag_set("flag_exhaust_hatch_open"); + common_scripts\utility::flag_set("flag_missile_launch_stop"); + common_scripts\utility::flag_set("flag_obj_escape"); + common_scripts\utility::flag_set("flag_obj_stop_missile_launch_complete"); + if(var_00 == "lobby") + { + return; + } + + if(var_00 == "sky_bridge") + { + return; + } + + common_scripts\utility::flag_set("flag_dialogue_carry_scene_02_complete"); + if(var_00 == "will_room") + { + return; + } + + common_scripts\utility::flag_set("flag_start_irons_chase"); + common_scripts\utility::flag_set("flag_obj_escape_complete"); + if(var_00 == "irons_chase") + { + return; + } + + common_scripts\utility::flag_set("flag_irons_rooftop"); + if(var_00 == "roof") + { + } +} + +//Function Number: 12 +spawn_gideon_mech() +{ + level.gideon = maps\_utility::spawn_targetname("gideon_mech"); + level.gideon thread maps\_utility::deletable_magic_bullet_shield(); + maps\_playermech_code::add_swarm_repulsor_for_ally(level.gideon,level.player); + level.gideon.animname = "gideon_mech"; + level.gideon maps\finale_utility::setstencilstate(); + thread maps\finale_lighting::gideon_mech_light(); + level.gideon.forcealtmeleedeaths = 1; + level.gideon thread dont_tread_on_me(); + if(common_scripts\utility::flag("flag_obj_enter_silo_complete")) + { + level.gideon maps\_mech::mech_start_rockets(512,undefined,undefined,undefined,83.33334,undefined,undefined); + } +} + +//Function Number: 13 +dont_tread_on_me() +{ + var_00 = squared(36); + self endon("death"); + for(;;) + { + foreach(var_02 in getaiarray("axis")) + { + if(distancesquared(var_02.origin,self.origin) < var_00) + { + var_02 dodamage(999999999,self.origin,self,self,"MOD_MELEE"); + } + } + + wait 0.05; + } +} + +//Function Number: 14 +spawn_gideon() +{ + if(!isdefined(level.gideon)) + { + level.gideon = maps\_utility::spawn_targetname("gideon"); + level.gideon thread maps\_utility::magic_bullet_shield(); + level.gideon.animname = "gideon"; + level.gideon maps\finale_utility::disable_grenades(); + } +} + +//Function Number: 15 +obj_init() +{ + obj_enter_atlas_silo(); + obj_stop_missile_launch(); + obj_escape(); + obj_irons(); +} + +//Function Number: 16 +debug_start_intro_skip() +{ + level.debugskip_intro = 1; + debug_start_intro(); +} + +//Function Number: 17 +debug_start_intro() +{ + soundscripts\_snd::snd_message("start_intro"); + common_scripts\utility::flag_set("first_half_lighting"); + thread maps\finale_lighting::enable_physical_dof(); + thread maps\finale_lighting::dof_intro(); + set_completed_flags(); + spawn_gideon_mech(); + thread maps\finale_code::setup_combat(); + thread maps\finale_code::setup_se(); + thread obj_init(); + level.player lightsetforplayer("finale"); + maps\_utility::vision_set_fog_changes("finale",0); + level.player setclutforplayer("clut_finale_intro",0); +} + +//Function Number: 18 +intro_logic() +{ + common_scripts\utility::flag_set("flag_intro_flyin_start"); + common_scripts\utility::flag_set("flyin_mb"); + level.player setclutforplayer("clut_finale_intro",0); +} + +//Function Number: 19 +debug_canal_start() +{ + soundscripts\_snd::snd_message("start_canal"); + common_scripts\utility::flag_set("first_half_lighting"); + common_scripts\utility::flag_set("underwater_flashlight"); + set_completed_flags(); + spawn_gideon_mech(); + thread maps\finale_code::setup_combat(); + thread maps\finale_code::setup_se(); + thread obj_init(); + maps\finale_utility::teleport_to_scriptstruct("checkpoint_canal_start"); + level.player maps\finale_utility::mech_enable(undefined,1); + level.player thread maps\finale_code::threat_bias_silo_think(); + maps\_utility::vision_set_fog_changes("finale_underwater",0); + level.player setclutforplayer("clut_finale_underwater",0); + wait(0.05); + level.player.inwater = 1; + var_00 = getent("trigger_underwater","targetname"); + level.player thread maps\_water::playerinwater(var_00); + level.gideon thread maps\_water::aiinwater(var_00); + thread maps\finale_code::player_speed_control_underwater(); + maps\_utility::activate_trigger_with_targetname("trig_color_canal_land"); +} + +//Function Number: 20 +canal_logic() +{ +} + +//Function Number: 21 +debug_canal_breach_start() +{ + soundscripts\_snd::snd_message("start_canal"); + common_scripts\utility::flag_set("first_half_lighting"); + set_completed_flags(); + spawn_gideon_mech(); + thread maps\finale_code::setup_combat(); + thread maps\finale_code::setup_se(); + thread obj_init(); + maps\finale_utility::teleport_to_scriptstruct("checkpoint_canal_breach_start"); + level.player maps\finale_utility::mech_enable(undefined,1); + level.player thread maps\finale_code::threat_bias_canal_think(); + maps\_utility::vision_set_fog_changes("finale_underwater",0); + level.player setclutforplayer("clut_finale_underwater",0); + wait(0.05); + level.player.inwater = 1; + var_00 = getent("trigger_underwater","targetname"); + level.player thread maps\_water::playerinwater(var_00); + level.gideon thread maps\_water::aiinwater(var_00); + thread maps\finale_code::player_speed_control_underwater(); +} + +//Function Number: 22 +canal_breach_logic() +{ +} + +//Function Number: 23 +debug_silo_approach_start() +{ + soundscripts\_snd::snd_message("start_silo_approach"); + common_scripts\utility::flag_set("first_half_lighting"); + thread maps\finale_lighting::debug_silo_approach_clut(); + level.player lightsetforplayer("finale_silo_orange"); + maps\_utility::vision_set_fog_changes("finale_silo_orange",0); + set_completed_flags(); + spawn_gideon_mech(); + thread maps\finale_code::setup_combat(); + thread maps\finale_code::setup_se(); + thread obj_init(); + maps\finale_utility::teleport_to_scriptstruct("checkpoint_silo_approach_start"); + level.player maps\finale_utility::mech_enable(undefined,1); + level.player thread maps\finale_code::threat_bias_silo_think(); + level.player thread maps\finale_utility::mech_glass_damage_think("flag_obj_escape"); + thread maps\finale_lighting::main_missle_lighting_silotop(); +} + +//Function Number: 24 +silo_approach_logic() +{ +} + +//Function Number: 25 +debug_silo_floor_03_start() +{ + soundscripts\_snd::snd_message("start_silo_floor_03"); + common_scripts\utility::flag_set("first_half_lighting"); + thread maps\finale_lighting::debug_silo_floor_03_clut(); + level.player lightsetforplayer("finale_silo_blue"); + maps\_utility::vision_set_fog_changes("finale_silo_blue",1); + set_completed_flags(); + spawn_gideon_mech(); + thread maps\finale_code::setup_combat(); + thread maps\finale_code::setup_se(); + thread obj_init(); + maps\finale_utility::teleport_to_scriptstruct("checkpoint_silo_floor_03"); + level.player maps\finale_utility::mech_enable(undefined,1); + level.player thread maps\finale_code::threat_bias_silo_think(); + level.player thread maps\finale_utility::mech_glass_damage_think("flag_obj_escape"); + thread maps\finale_lighting::main_missle_lighting_floor3(); +} + +//Function Number: 26 +silo_floor_03_logic() +{ + level.player thread maps\finale_utility::player_follow_volume_think(); + thread maps\finale_code::se_missile_load(); +} + +//Function Number: 27 +debug_door_kick_start() +{ + soundscripts\_snd::snd_message("start_silo_floor_03"); + common_scripts\utility::flag_set("first_half_lighting"); + thread maps\finale_lighting::debug_silo_door_kick_clut(); + level.player lightsetforplayer("finale_silo_orange"); + maps\_utility::vision_set_fog_changes("finale_silo_orange",0); + set_completed_flags(); + spawn_gideon_mech(); + thread maps\finale_code::setup_combat(); + thread maps\finale_code::setup_se(); + thread obj_init(); + maps\finale_utility::teleport_to_scriptstruct("checkpoint_silo_door_kick"); + level.player maps\finale_utility::mech_enable(undefined,1); + level.player thread maps\finale_utility::mech_glass_damage_think("flag_obj_escape"); +} + +//Function Number: 28 +silo_door_kick_logic() +{ + soundscripts\_snd::snd_message("start_door_kick"); + maps\finale_code::se_door_kick(); +} + +//Function Number: 29 +debug_silo_exhaust_entrance_start() +{ + soundscripts\_snd::snd_message("start_silo_exhaust_entrance"); + common_scripts\utility::flag_set("first_half_lighting"); + level.player lightsetforplayer("finale_silo_blue"); + maps\_utility::vision_set_fog_changes("finale_silo_blue",0); + thread maps\finale_lighting::debug_silo_exhaust_entrance_clut(); + set_completed_flags(); + spawn_gideon_mech(); + thread maps\finale_code::setup_combat(); + thread maps\finale_code::setup_se(); + thread obj_init(); + maps\finale_utility::teleport_to_scriptstruct("checkpoint_silo_exhaust_entrance"); + level.player maps\finale_utility::mech_enable(undefined,1); +} + +//Function Number: 30 +silo_exhaust_entrance_logic() +{ + thread maps\finale_code::se_exhaust_hatch(); + thread maps\finale_code::se_exhaust_land(); + maps\finale_code::player_exhaust_corridor(); + maps\finale_code::se_mech_exit(); +} + +//Function Number: 31 +debug_lobby_start() +{ + soundscripts\_snd::snd_message("start_lobby"); + common_scripts\utility::flag_set("second_half_lighting"); + level.player lightsetforplayer("finale_lobby_2"); + maps\_utility::vision_set_fog_changes("finale_lobby",0); + set_completed_flags(); + spawn_gideon(); + setsaveddvar("g_friendlyNameDist",0); + thread maps\finale_code::setup_combat(); + thread maps\finale_code::setup_se(); + thread obj_init(); +} + +//Function Number: 32 +silo_lobby_logic() +{ + if(level.currentgen) + { + common_scripts\utility::flag_set("load_outro_transient"); + common_scripts\utility::flag_wait("outro_loaded_successfully"); + } + + maps\finale_code::lobby_protect(); +} + +//Function Number: 33 +debug_sky_bridge_start() +{ + soundscripts\_snd::snd_message("start_sky_bridge"); + common_scripts\utility::flag_set("second_half_lighting"); + level.player lightsetforplayer("finale_lobby"); + maps\_utility::vision_set_fog_changes("finale_sky_bridge",0); + set_completed_flags(); + spawn_gideon(); + thread maps\finale_code::setup_combat(); + thread maps\finale_code::setup_se(); + thread obj_init(); + setsaveddvar("g_friendlyNameDist",0); + maps\finale_utility::teleport_to_scriptstruct("checkpoint_sky_bridge"); +} + +//Function Number: 34 +silo_sky_bridge_logic() +{ + maps\finale_code::player_carried_skybridge(); +} + +//Function Number: 35 +debug_will_room_start() +{ + soundscripts\_snd::snd_message("start_will_room"); + common_scripts\utility::flag_set("second_half_lighting"); + level.player lightsetforplayer("finale_will"); + maps\_utility::vision_set_fog_changes("finale_cinematic_nofog",0); + level.player setclutforplayer("clut_finale_irons",0); + set_completed_flags(); + spawn_gideon(); + thread maps\finale_code::setup_combat(); + thread maps\finale_code::setup_se(); + thread obj_init(); + setsaveddvar("g_friendlyNameDist",0); + maps\finale_utility::teleport_to_scriptstruct("checkpoint_will_room_start"); +} + +//Function Number: 36 +will_room_logic() +{ + maps\finale_code::se_irons_reveal(); +} + +//Function Number: 37 +debug_irons_chase() +{ + soundscripts\_snd::snd_message("start_roof"); + common_scripts\utility::flag_set("second_half_lighting"); + level.player lightsetforplayer("finale_night"); + maps\_utility::vision_set_fog_changes("finale_roof",0); + level.player setclutforplayer("clut_finale_roof",0); + thread maps\finale_lighting::light_strip_checkpoint(); + set_completed_flags(); + spawn_gideon(); + thread maps\finale_code::setup_combat(); + thread maps\finale_code::setup_se(); + thread obj_init(); + level.gideon maps\_utility::enable_cqbwalk(); + setsaveddvar("ai_friendlyFireBlockDuration",0); + setsaveddvar("g_friendlyNameDist",0); + maps\finale_utility::teleport_to_scriptstruct("checkpoint_chase_start"); + maps\_utility::battlechatter_off("allies"); + maps\_utility::battlechatter_off("axis"); + thread maps\finale_lighting::setup_final_lighting(); + setsaveddvar("player_sprintSpeedScale",1.6); + level.player setviewmodel("viewhands_noexo_mitchell_prosthetic_smashed"); +} + +//Function Number: 38 +irons_chase_logic() +{ + soundscripts\_snd::snd_message("start_irons_chase"); + maps\finale_code::se_irons_chase(); +} + +//Function Number: 39 +debug_roof_start() +{ + soundscripts\_snd::snd_message("start_roof"); + common_scripts\utility::flag_set("second_half_lighting"); + maps\_utility::vision_set_fog_changes("finale_roof",0); + level.player setclutforplayer("clut_finale_roof",0); + level.player lightsetforplayer("finale_will_litend"); + set_completed_flags(); + spawn_gideon(); + thread maps\finale_code::setup_combat(); + thread maps\finale_code::setup_se(); + thread obj_init(); + level.gideon maps\_utility::enable_cqbwalk(); + setsaveddvar("ai_friendlyFireBlockDuration",0); + setsaveddvar("g_friendlyNameDist",0); + maps\finale_utility::teleport_to_scriptstruct("checkpoint_roof_start"); + maps\_utility::battlechatter_off("allies"); + maps\_utility::battlechatter_off("axis"); + level.player allowmelee(0); + thread maps\finale_lighting::setup_final_lighting(); + setsaveddvar("player_sprintSpeedScale",1.6); + level.player setviewmodel("viewhands_noexo_mitchell_prosthetic_smashed"); + while(!isdefined(level.irons)) + { + wait 0.05; + } + + if(!common_scripts\utility::flag("flag_player_speed_control_on")) + { + thread maps\finale_utility::player_chase_speed_control(); + } +} + +//Function Number: 40 +roof_logic() +{ + thread maps\finale_code::se_bridge_takedown(); + maps\finale_code::se_balcony_finale(); +} + +//Function Number: 41 +lightingstate() +{ + var_00 = getent("tube_off","targetname"); + var_00 hide(); +} + +//Function Number: 42 +obj_enter_atlas_silo() +{ + common_scripts\utility::flag_wait("flag_intro_screen_complete"); + objective_add(1,"current",&"FINALE_OBJ_REACH_ATLAS"); + var_00 = getent("obj_canal_breach","targetname"); + common_scripts\utility::flag_wait("flag_intro_flyin_release"); + level.player setclutforplayer("",2); + objective_position(1,var_00.origin); + common_scripts\utility::flag_wait("flag_obj_enter_silo_update"); + objective_onentity(1,level.gideon); + common_scripts\utility::flag_wait("flag_obj_enter_silo_complete"); + common_scripts\utility::flag_set("flag_dialogue_canal_breach_complete"); + maps\_utility::objective_complete(1); +} + +//Function Number: 43 +obj_stop_missile_launch() +{ + thread maps\finale_lighting::rocket_success_lighting_pre_cine(); + objective_add(2,"current",&"FINALE_OBJ_STOP_LAUNCH"); + objective_onentity(2,level.gideon); + common_scripts\utility::flag_wait("flag_obj_exhaust_hatch_position"); + var_00 = getent("org_obj_exhaust_hatch","targetname"); + var_01 = getent("trig_exhaust_hatch","targetname"); + objective_position(2,var_00.origin); + common_scripts\utility::flag_wait("flag_obj_exhaust_hatch_open"); + if(level.player usinggamepad()) + { + var_01 sethintstring(&"FINALE_PISTON_HINT"); + } + else + { + var_01 sethintstring(&"FINALE_PISTON_HINT_PC"); + } + + var_02 = var_01 maps\_shg_utility::hint_button_trigger("x"); + common_scripts\utility::flag_wait("flag_exhaust_hatch_grab"); + var_01 sethintstring(""); + var_02 maps\_shg_utility::hint_button_clear(); + objective_position(2,(0,0,0)); + common_scripts\utility::flag_wait("flag_exhaust_hatch_open"); + objective_onentity(2,level.gideon); + common_scripts\utility::flag_wait("flag_missile_launch_stop"); + var_03 = getent("org_missile","targetname"); + objective_position(2,var_03.origin); + objective_setpointertextoverride(2,&"FINALE_OBJECTIVE_DESTROY"); + common_scripts\utility::flag_wait("flag_obj_stop_missile_launch_complete"); + maps\_utility::objective_complete(2); +} + +//Function Number: 44 +obj_escape() +{ + common_scripts\utility::flag_wait("flag_obj_escape"); + objective_add(3,"current",&"FINALE_OBJ_ESCAPE"); + objective_position(3,(0,0,0)); + common_scripts\utility::flag_wait("flag_obj_escape_complete"); + maps\_utility::objective_complete(3); +} + +//Function Number: 45 +obj_irons() +{ + common_scripts\utility::flag_wait("flag_obj_escape_complete"); + objective_add(4,"current",&"FINALE_OBJ_IRONS"); + common_scripts\utility::flag_wait("flag_obj_irons_complete"); + maps\_utility::objective_complete(4); +} + +//Function Number: 46 +ending_on_off_think() +{ + var_00 = 0; + var_01 = 5; + for(;;) + { + if(self buttonpressed("BUTTON_Y")) + { + var_00 = var_00 + 0.05; + wait(0.05); + } + else + { + var_00 = 0; + wait(0.05); + } + + if(var_00 >= var_01) + { + iprintlnbold("Ending Off"); + self playsound("wpn_exo_launcher_raise_plr_mech"); + break; + } + } + + wait(0.05); +} \ No newline at end of file diff --git a/AW/PC/maps/finale_anim.gsc b/AW/PC/maps/finale_anim.gsc new file mode 100644 index 0000000..561e994 --- /dev/null +++ b/AW/PC/maps/finale_anim.gsc @@ -0,0 +1,787 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: finale_anim.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 47 + * Decompile Time: 678 ms + * Timestamp: 4/22/2024 2:28:56 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(level.nextgen) + { + anim.forced_s1_motionset = 1; + } + + load_player_anims(); + load_actor_anims(); + load_prop_anims(); + load_vehicles_anims(); +} + +//Function Number: 2 +load_player_anims() +{ + level.scr_anim_vm_index["blast_idle_handsblocking"] = 3; + level.scr_anim_vm["blast_idle_handsblocking"] = %s1_playermech_blast_idle_vm; + level.scr_anim_vm_index["blast_walk_handsblocking"] = 4; + level.scr_anim_vm["blast_walk_handsblocking"] = %s1_playermech_blast_walk_vm; + level.scr_anim_vm_index["blast_idle_nogun"] = 5; + level.scr_anim_vm["blast_idle_nogun"] = %s1_playermech_blast_no_gun_idle; + level.scr_anim_vm_index["blast_walk_nogun"] = 6; + level.scr_anim_vm["blast_walk_nogun"] = %s1_playermech_blast_no_gun_walk; + level.scr_anim_vm_index["blast_idle_nohands"] = 7; + level.scr_anim_vm["blast_idle_nohands"] = %s1_playermech_blast_nohands_idle; + level.scr_anim_vm_index["blast_walk_nohands"] = 8; + level.scr_anim_vm["blast_walk_nohands"] = %s1_playermech_blast_nohands_walk; + level.scr_anim_vm_index["gun_up_vm_takeout"] = 9; + level.scr_anim_vm["gun_up_vm_takeout"] = %fin_blast_gun_up_mech_vm; + level.scr_anim_vm_index["gun_limp"] = 11; + level.scr_anim_vm["gun_limp"] = %fin_drag_shoot_aim_limp_vm; + level.scr_anim_vm_index["s1_playermech_putaway"] = 12; + level.scr_anim_vm["s1_playermech_putaway"] = %s1_playermech_putaway; + level.scr_animtree["world_body"] = #animtree; + level.scr_model["world_body"] = "viewbody_sentinel_covert"; + level.scr_animtree["world_body_mech"] = #animtree; + level.scr_model["world_body_mech"] = "vm_world_body_mech"; + level.scr_animtree["world_body_damaged"] = #animtree; + level.scr_model["world_body_damaged"] = "viewbody_sentinel_pilot_mitchell_smashed"; + level.scr_animtree["world_body_damaged_no_exo"] = #animtree; + level.scr_model["world_body_damaged_no_exo"] = "viewbody_sentinel_pilot_mitchell_nub_fullarm"; + level.scr_animtree["world_body_damaged_no_exo_no_arm"] = #animtree; + level.scr_model["world_body_damaged_no_exo_no_arm"] = "viewbody_sentinel_pilot_mitchell_nub"; + level.scr_animtree["world_hands"] = #animtree; + level.scr_model["world_hands"] = "worldhands_player_sentinel"; + level.scr_anim["world_body_mech"]["intro_flyin"] = %fin_mech_flyin_vm; + level.scr_anim["world_body_mech"]["intro_flyin_release_vm"] = %fin_mech_flyin_release_vm; + maps\_anim::addnotetrack_customfunction("world_body_mech","vfx_mech_vm_water_splash",::maps\finale_fx::player_canal_drop,"intro_flyin_release_vm"); + maps\_anim::addnotetrack_customfunction("world_body_mech","rumble_moderate",::notetrack_rumble_moderate,"intro_flyin_release_vm"); + maps\_anim::addnotetrack_customfunction("world_body_mech","rumble_intense",::notetrack_rumble_intense,"intro_flyin_release_vm"); + level.scr_anim["world_body_mech"]["canal_breach"] = %fin_canal_breach_vm; + level.scr_anim["world_body_mech"]["exhaust_hatch_vm_approach"] = %fin_silo_exhaust_hatch_breach_intro_mech_vm; + maps\_anim::addnotetrack_customfunction("world_body_mech","rumble_moderate",::notetrack_rumble_moderate,"exhaust_hatch_vm_approach"); + level.scr_anim["world_body_mech"]["exhaust_hatch_vm_idle_noinput"][0] = %fin_silo_exhaust_hatch_breach_intro_mech_hold_idle_vm; + level.scr_anim["world_body_mech"]["exhaust_hatch_vm_noinput_to_input"] = %fin_silo_exhaust_hatch_breach_intro_mech_idle_in_vm; + level.scr_anim["world_body_mech"]["exhaust_hatch_vm_idle_input"][0] = %fin_silo_exhaust_hatch_breach_intro_mech_idle_vm; + level.scr_anim["world_body_mech"]["exhaust_hatch_vm_input_to_noinput"] = %fin_silo_exhaust_hatch_breach_intro_mech_idle_out_vm; + level.scr_anim["world_body_mech"]["exhaust_hatch_open"] = %fin_silo_exhaust_hatch_breach_intro_mech_break_vm; + maps\_anim::addnotetrack_customfunction("world_body_mech","break_bar",::maps\finale_shaft::notetrack_break_bar,"exhaust_hatch_open"); + maps\_anim::addnotetrack_customfunction("world_body_mech","break_bar",::maps\finale_fx::exhaust_hatch_break_player,"exhaust_hatch_open"); + maps\_anim::addnotetrack_customfunction("world_body_mech","break_bar",::notetrack_rumble_heavy,"exhaust_hatch_open"); + level.scr_anim["world_body_mech"]["exhaust_hatch_jumpdown"] = %fin_silo_exhaust_hatch_breach_intro_mech_jumpdown_vm; + level.scr_anim["world_body_mech"]["shaft_both_hands"][0] = %fin_shaft_fall_idle_both_hands_mech_vm; + level.scr_anim["world_body_mech"]["shaft_left_hand"][0] = %fin_shaft_fall_idle_left_hand_mech_vm; + level.scr_anim["world_body_mech"]["shaft_no_hands"][0] = %fin_shaft_fall_idle_no_hands_mech_vm; + level.scr_anim["world_body_mech"]["shaft_right_hand"][0] = %fin_shaft_fall_idle_right_hand_mech_vm; + level.scr_anim["world_body_mech"]["shaft_both_hands_to_left"] = %fin_shaft_both_to_left_mech_vm; + level.scr_anim["world_body_mech"]["shaft_both_hands_to_no"] = %fin_shaft_both_to_no_hands_mech_vm; + level.scr_anim["world_body_mech"]["shaft_both_hands_to_right"] = %fin_shaft_both_to_right_mech_vm; + level.scr_anim["world_body_mech"]["shaft_no_hands_to_both"] = %fin_shaft_fall_idle_no_hands_to_both_mech_vm; + level.scr_anim["world_body_mech"]["shaft_no_hands_to_left"] = %fin_shaft_fall_idle_no_hands_to_left_mech_vm; + level.scr_anim["world_body_mech"]["shaft_no_hands_to_right"] = %fin_shaft_fall_idle_no_hands_to_right_mech_vm; + level.scr_anim["world_body_mech"]["shaft_left_hand_to_both"] = %fin_shaft_left_to_both_mech_vm; + level.scr_anim["world_body_mech"]["shaft_left_hand_to_no"] = %fin_shaft_left_to_no_hands_mech_vm; + level.scr_anim["world_body_mech"]["shaft_left_hand_to_right"] = %fin_shaft_left_to_right_mech_vm; + level.scr_anim["world_body_mech"]["shaft_right_hand_to_both"] = %fin_shaft_right_to_both_mech_vm; + level.scr_anim["world_body_mech"]["shaft_right_hand_to_left"] = %fin_shaft_right_to_left_mech_vm; + level.scr_anim["world_body_mech"]["shaft_right_hand_to_no"] = %fin_shaft_right_to_no_hands_mech_vm; + level.scr_anim["world_body_mech"]["exhaust_land_vm"] = %fin_silo_exhaust_shaft_land_mech_vm; + maps\_anim::addnotetrack_customfunction("world_body_mech","gideon_start",::notetrack_gideon_start,"exhaust_land_vm"); + maps\_anim::addnotetrack_customfunction("world_body_mech","vfx_mech_land_vm",::maps\finale_fx::exhaust_hatch_land_player,"exhaust_land_vm"); + maps\_anim::addnotetrack_customfunction("world_body_mech","rumble_heavy",::notetrack_rumble_heavy,"exhaust_land_vm"); + level.scr_anim["world_body_mech"]["exhaust_blast_react"] = %fin_silo_blast_react_mech_vm; + maps\_anim::addnotetrack_customfunction("world_body_mech","rumble_intense",::notetrack_rumble_intense,"exhaust_blast_react"); + level.scr_anim["world_body_mech"]["missile_stopped_vm"] = %fin_silo_missle_launch_stopped_vm; + maps\_anim::addnotetrack_customfunction("world_body_mech","fade_out",::notetrack_missile_stopped_vm_fade_out,"missile_stopped_vm"); + level.scr_anim["world_body_mech"]["missile_launch"] = %fin_silo_missle_launch_stopped_vm; + maps\_anim::addnotetrack_customfunction("world_body_mech","vfx_vm_damage_sparks",::maps\finale_fx::vfx_vm_mech_sparks); + maps\_anim::addnotetrack_customfunction("world_body_mech","vfx_vm_stop_effects",::maps\finale_fx::vfx_vm_mech_stop_effects); + maps\_anim::addnotetrack_customfunction("world_body_mech","rumble_heavy",::notetrack_rumble_heavy); + maps\_anim::addnotetrack_customfunction("world_body_mech","rumble_intense",::notetrack_rumble_intense); + level.scr_anim["world_body_mech"]["missile_launch_far_fail"] = %fin_silo_missle_launch_stopped_vm_rel; + level.scr_anim["world_body_mech"]["mech_exit"] = %fin_exhaust_mech_exit_vm_mech; + maps\_anim::addnotetrack_customfunction("world_body_mech","vfx_vm_mech_damaged_smk",::maps\finale_fx::vfx_vm_mech_dmg_sparks,"mech_exit"); + maps\_anim::addnotetrack_customfunction("world_body_mech","vfx_vm_mech_smk_stop",::maps\finale_fx::vfx_vm_mech_dmg_stop,"mech_exit"); + level.scr_anim["world_body"]["mech_exit"] = %fin_exhaust_mech_exit_vm; + maps\_anim::addnotetrack_customfunction("world_body","fade_out",::mech_exit_fade_out,"mech_exit"); + maps\_anim::addnotetrack_customfunction("world_body","fov_change",::notetrack_mech_exit_fov_change,"mech_exit"); + maps\_anim::addnotetrack_customfunction("world_body","fade_in",::maps\finale_lighting::rocket_success_pt2_lighting_debugging); + level.scr_anim["world_body_damaged"]["drag_pickup01"] = %fin_drag_pickup01_vm; + level.scr_anim["world_body_damaged"]["drag_pickup02"] = %fin_drag_pickup02_vm; + maps\_anim::addnotetrack_customfunction("world_body_damaged","fade_out",::notetrack_pickup02_fade_out,"drag_pickup02"); + maps\_anim::addnotetrack_customfunction("world_body_damaged","fade_in",::notetrack_pickup02_fade_in,"drag_pickup02"); + maps\_anim::addnotetrack_customfunction("world_body_damaged","rumble_light",::notetrack_rumble_light); + maps\_anim::addnotetrack_customfunction("world_body_damaged","rumble_moderate",::notetrack_rumble_moderate); + maps\_anim::addnotetrack_customfunction("world_body_damaged","rumble_heavy",::notetrack_rumble_heavy); + maps\_anim::addnotetrack_customfunction("world_body_damaged","rumble_intense",::notetrack_rumble_intense); + level.scr_anim["world_body_damaged"]["drag_putdown"] = %fin_drag_putdown_vm; + level.scr_anim["world_body_damaged"]["drag_run01"] = %fin_drag_run01_vm; + level.scr_anim["world_body_damaged"]["drag_run02"] = %fin_drag_run02_vm; + level.scr_anim["world_body_damaged"]["drag_run03"] = %fin_drag_run03_vm; + level.scr_anim["world_body_damaged"]["drag_run04"] = %fin_drag_run04_vm; + maps\_anim::addnotetrack_customfunction("world_body_damaged","fade_out",::notetrack_run01_fade_out,"drag_run01"); + maps\_anim::addnotetrack_customfunction("world_body_damaged","fade_in",::notetrack_run01_fade_in,"drag_run01"); + maps\_anim::addnotetrack_customfunction("world_body_damaged","fade_out",::notetrack_run02_fade_out,"drag_run02"); + maps\_anim::addnotetrack_customfunction("world_body_damaged","fade_in",::notetrack_run02_fade_in,"drag_run02"); + maps\_anim::addnotetrack_customfunction("world_body_damaged","fade_out",::notetrack_run03_fade_out,"drag_run03"); + maps\_anim::addnotetrack_customfunction("world_body_damaged","fade_in",::notetrack_run03_fade_in,"drag_run03"); + maps\_anim::addnotetrack_customfunction("world_body_damaged","fade_out",::notetrack_run04_fade_out,"drag_run04"); + maps\_anim::addnotetrack_customfunction("world_body_damaged","fade_in",::notetrack_run04_fade_in,"drag_run04"); + level.scr_anim["world_body"]["will_reveal"] = %fin_will_reveal_vm; + level.scr_anim["world_hands"]["will_reveal_irons"] = %fin_will_reveal_cam; + maps\_anim::addnotetrack_customfunction("world_body","fov_default",::will_reveal_fov_default,"will_reveal"); + level.scr_anim["world_body_damaged"]["irons_reveal"] = %fin_irons_reveal_player_vm; + level.scr_anim["world_body_damaged"]["irons_reveal_fire_add"] = %fin_will_reveal_vm_fire_add; + level.scr_anim["world_body_damaged"]["irons_reveal_button_press"] = %fin_irons_reveal_button_press_vm; + level.scr_anim["world_body_damaged"]["fin_irons_reveal_button_press_finger_loop_vm"] = %fin_irons_reveal_button_press_finger_loop_vm; + level.scr_anim["world_body_damaged"]["irons_reveal_part2"] = %fin_irons_reveal_part2_player_vm; + maps\_anim::addnotetrack_flag("world_body_damaged","turn_on_light","turn_on_lights"); + maps\_anim::addnotetrack_customfunction("world_body_damaged","fx_arm_glow",::maps\finale_fx::exo_release_vm_error_glow,"irons_reveal"); + maps\_anim::addnotetrack_customfunction("world_body_damaged","import_empty_fullbody_exo_skel",::maps\finale_code::se_irons_reveal_exo,"irons_reveal_part2"); + maps\_anim::addnotetrack_customfunction("world_body_damaged","building_explosion",::maps\finale_fx::vfx_explosion_rumble_dust,"irons_reveal_part2"); + maps\_anim::addnotetrack_customfunction("world_body_damaged","sit_down",::maps\finale_lighting::animated_lights,"irons_reveal"); + maps\_anim::addnotetrack_flag("world_body_damaged","sit_down","flag_sit_down","irons_reveal"); + maps\_anim::addnotetrack_flag("world_body_damaged","detach_exo","flag_material_swap_detach_exo","irons_reveal_part2"); + maps\_anim::addnotetrack_flag("world_body_damaged","confirm_button","flag_material_swap_confirm_button","irons_reveal_part2"); + maps\_anim::addnotetrack_flag("world_body_damaged","gideon_error","flag_material_swap_gideon_error","irons_reveal_part2"); + maps\_anim::addnotetrack_customfunction("world_body_damaged","fov_out",::notetrack_irons_reveal_lerp_fov_out,"irons_reveal_part2"); + maps\_anim::addnotetrack_customfunction("world_body_damaged_no_exo","rumble_light",::notetrack_rumble_light); + maps\_anim::addnotetrack_customfunction("world_body_damaged_no_exo","rumble_moderate",::notetrack_rumble_moderate); + maps\_anim::addnotetrack_customfunction("world_body_damaged_no_exo","rumble_heavy",::notetrack_rumble_heavy); + maps\_anim::addnotetrack_customfunction("world_body_damaged_no_exo","rumble_intense",::notetrack_rumble_intense); + level.scr_anim["world_body_damaged_no_exo"]["bridge_takedown"] = %fin_bridge_takedown_start_vm; + maps\_anim::addnotetrack_customfunction("world_body_damaged_no_exo","start_window",::notetrack_takedown_start_window,"bridge_takedown"); + maps\_anim::addnotetrack_customfunction("world_body_damaged_no_exo","start_slo_mo",::ending_slowmo_start,"bridge_takedown"); + level.scr_anim["world_body_damaged_no_exo"]["bridge_takedown_fail"] = %fin_bridge_takedown_fail_vm; + maps\_anim::addnotetrack_customfunction("world_body_damaged_no_exo","fade_black",::bridge_takedown_fail_fade,"bridge_takedown_fail"); + level.scr_anim["world_body_damaged_no_exo"]["bridge_takedown_success"] = %fin_bridge_takedown_success_vm; + maps\_anim::addnotetrack_customfunction("world_body_damaged_no_exo","end_slo_mo",::ending_slowmo_end,"bridge_takedown_success"); + level.scr_anim["world_body"]["irons_end"] = %fin_final_vm; + level.scr_anim["world_body"]["irons_end_pt2"] = %fin_final_pt2_vm; + level.scr_anim["world_body"]["rocket_body"] = %finale_rocket_pushback; + level.scr_anim["world_hands"]["rocket_hands"] = %finale_rocket_pushback_hands; + level.scr_animtree["world_body_mech"] = #animtree; + level.scr_model["world_body_mech"] = "vm_world_body_mech"; + level.scr_anim["world_body_mech"]["shaft_both_hands"][0] = %fin_shaft_fall_idle_both_hands_mech_vm; + level.scr_anim["world_body_mech"]["shaft_left_hand"][0] = %fin_shaft_fall_idle_left_hand_mech_vm; + level.scr_anim["world_body_mech"]["shaft_no_hands"][0] = %fin_shaft_fall_idle_no_hands_mech_vm; + level.scr_anim["world_body_mech"]["shaft_no_hands_noloop"] = %fin_shaft_fall_idle_no_hands_mech_vm_noloop; + level.scr_anim["world_body_mech"]["shaft_right_hand"][0] = %fin_shaft_fall_idle_right_hand_mech_vm; + level.scr_anim["world_body_damaged_no_exo"]["balcony_finale_pt1"] = %fin_balcony_finale_pt1_vm; + level.scr_anim["world_body_damaged_no_exo"]["balcony_finale_pt2"] = %fin_balcony_finale_pt2_vm; + level.scr_anim["world_body_damaged_no_exo"]["balcony_finale_pt2b_idle"] = %fin_balcony_finale_pt3_idle_vm; + level.scr_anim["world_body_damaged_no_exo"]["balcony_finale_pt2b_success"] = %fin_balcony_finale_pt3_mash_vm; + level.scr_anim["world_body_damaged_no_exo"]["balcony_finale_pt3_combined"] = %fin_balcony_finale_pt3_combined_vm; + level.scr_anim["world_body_damaged_no_exo"]["balcony_finale_pt5"] = %fin_balcony_finale_pt5_vm; + level.scr_goaltime["world_body_damaged_no_exo"]["balcony_finale_pt5"] = 0; + maps\_anim::addnotetrack_flag("world_body_damaged_no_exo","finale_xbutton_mash_start","flag_xbutton_mash_start","balcony_finale_pt3_combined"); + maps\_anim::addnotetrack_flag("world_body_damaged_no_exo","finale_xbutton_mash_end","flag_xbutton_mash_end","balcony_finale_pt3_combined"); + maps\_anim::addnotetrack_flag("world_body_damaged_no_exo","fin_stab_mash_button","flag_stab_mash_button_start","balcony_finale_pt3_combined"); + maps\_anim::addnotetrack_customfunction("world_body_damaged_no_exo","vfx_vm_stab_arm",::maps\finale_fx::vfx_vm_arm_stab,"balcony_finale_pt5"); + maps\_anim::addnotetrack_customfunction("world_body_damaged_no_exo","vfx_vm_sever_arm",::maps\finale_fx::vfx_vm_arm_sever,"balcony_finale_pt5"); + level.scr_anim["world_body_damaged_no_exo"]["balcony_finale_pt6"] = %fin_balcony_finale_pt6_vm; + maps\_anim::addnotetrack_flag("world_body_damaged_no_exo","swap_vm_arm","flag_arm_severed","balcony_finale_pt5"); + maps\_anim::addnotetrack_customfunction("world_body_damaged_no_exo","start_slomo",::notetrack_final_part5_success_slomo,"balcony_finale_pt5"); + maps\_anim::addnotetrack_flag("world_body_damaged_no_exo","end_slomo","flag_part5_success_slomo_stop","balcony_finale_pt5"); + maps\_anim::addnotetrack_customfunction("world_body_damaged_no_exo","swap_vm_arm",::notrack_final_part5_body_swap,"balcony_finale_pt5"); + level.scr_anim["world_body_damaged_no_exo"]["balcony_finale_pt1_fail"] = %fin_balcony_finale_pt1_fail_vm; + level.scr_anim["world_body_damaged_no_exo"]["balcony_finale_pt2_fail"] = %fin_balcony_finale_pt2_fail_vm; + level.scr_anim["world_body_damaged_no_exo"]["balcony_finale_pt3_fail"] = %fin_balcony_finale_pt3_fail_vm; + level.scr_anim["world_body_damaged_no_exo"]["balcony_finale_pt4_fail"] = %fin_balcony_finale_pt4_fail_vm; + level.scr_goaltime["world_body_damaged_no_exo"]["balcony_finale_pt1_fail"] = 0; + level.scr_goaltime["world_body_damaged_no_exo"]["balcony_finale_pt2_fail"] = 0; + level.scr_goaltime["world_body_damaged_no_exo"]["balcony_finale_pt3_fail"] = 0; + level.scr_goaltime["world_body_damaged_no_exo"]["balcony_finale_pt4_fail"] = 0; + maps\_anim::addnotetrack_customfunction("world_body_damaged_no_exo","slo_mo_start",::notetrack_final_fail_slowmo,"balcony_finale_pt2_fail"); + maps\_anim::addnotetrack_customfunction("world_body_damaged_no_exo","slo_mo_start",::notetrack_final_fail_slowmo,"balcony_finale_pt3_fail"); + maps\_anim::addnotetrack_customfunction("world_body_damaged_no_exo","slo_mo_start",::notetrack_final_fail_slowmo,"balcony_finale_pt4_fail"); + maps\_anim::addnotetrack_customfunction("world_body_damaged_no_exo","fade_white",::notetrack_fade_to_white_fail,"balcony_finale_pt2_fail"); + maps\_anim::addnotetrack_customfunction("world_body_damaged_no_exo","fade_white",::notetrack_fade_to_white_fail,"balcony_finale_pt3_fail"); + maps\_anim::addnotetrack_customfunction("world_body_damaged_no_exo","fade_white",::notetrack_fade_to_white_fail,"balcony_finale_pt4_fail"); + level.scr_anim["world_body_damaged_no_exo"]["balcony_finale_end"] = %fin_balcony_finale_end_vm; + maps\_anim::addnotetrack_customfunction("world_body_damaged_no_exo","fov_change",::notetrack_fov_end,"balcony_finale_end"); + maps\_anim::addnotetrack_flag("world_body_damaged_no_exo","start_fade","flag_ending_start_fade"); +} + +//Function Number: 3 +load_actor_anims() +{ + level.scr_anim["generic"]["patrol_walk_casual_urgent"][0] = %bet_unarmed_casual_walk01_gideon; + level.scr_anim["generic"]["patrol_walk_casual_urgent"][1] = %bet_casual_gestures_talk01_gideon; + level.scr_anim["generic"]["patrol_walk_casual_urgent"][2] = %bet_casual_gestures_talk02_gideon; + level.scr_anim["generic"]["patrol_walk_casual_urgent"][3] = %bet_casual_gestures_talk03_gideon; + var_00 = []; + var_00[0] = 7; + var_00[1] = 1; + var_00[2] = 1; + var_00[3] = 1; + level.scr_anim["generic"]["patrol_walk_weights_casual_urgent"] = common_scripts\utility::get_cumulative_weights(var_00); + level.scr_anim["generic"]["patrol_transin_casual_urgent"] = %bet_casual_startstop_walk_to_idle_gideon; + level.scr_anim["generic"]["patrol_transout_casual_urgent"] = %bet_casual_startstop_idle_to_walk_gideon; + level.scr_anim["generic"]["patrol_idle_casual_urgent"][0] = %bet_casual_startstop_idle_gideon; + level.scr_anim["generic"]["patrol_walk_gunsearch"][0] = %payback_search_walk_1; + level.scr_anim["generic"]["patrol_walk_gunsearch"][1] = %payback_search_walk_2; + level.scr_anim["generic"]["patrol_walk_casual"][0] = %patrol_bored_patrolwalk; + level.scr_anim["generic"]["patrol_walk_unaware"][0] = %civilian_walk_cool; + level.scr_anim["generic"]["patrol_idle_unaware"][0] = %civilian_stand_idle; + level.scr_anim["generic"]["patrol_walk_panic"][0] = %civilian_run_hunched_a; + level.scr_anim["generic"]["patrol_walk_panic"][1] = %civilian_run_hunched_c; + level.scr_anim["generic"]["patrol_walk_panic"][2] = %civilian_run_upright; + level.scr_anim["generic"]["patrol_idle_panic"][0] = %unarmed_crouch_idle1; + level.scr_anim["generic"]["patrol_idle_panic"][1] = %unarmed_cowercrouch_idle_duck; + level.scr_anim["generic"]["patrol_idle_panic"][2] = %unarmed_crouch_twitch1; + level.scr_anim["generic"]["patrol_idle_panic"][3] = %unarmed_cowerstand_pointidle; + level.scr_animtree["gideon_mech"] = #animtree; + level.scr_model["gideon_mech"] = "npc_exo_armor_base"; + level.scr_anim["gideon_mech"]["intro_flyin"] = %fin_mech_flyin_mech; + level.scr_anim["gideon_mech"]["intro_flyin_idle"][0] = %fin_mech_flyin_wait_idle_mech; + level.scr_anim["gideon_mech"]["intro_flyin_release"] = %fin_mech_flyin_release_mech; + level.scr_anim["gideon_mech"]["intro_flyin_idle_test"] = %fin_mech_flyin_wait_idle_mech_rel; + if(level.nextgen) + { + maps\_anim::addnotetrack_customfunction("gideon_mech","vfx_gideon_splash_water",::maps\finale_fx::gideon_water_splash,"intro_flyin_release"); + } + else + { + maps\_anim::addnotetrack_customfunction("gideon_mech","vfx_gideon_splash_water",::maps\finale_fx::gideon_water_splash_cg,"intro_flyin_release"); + } + + maps\_anim::addnotetrack_customfunction("gideon_mech","vfx_gideon_hit_canal_bottom",::maps\finale_fx::gideon_canal_bottom,"intro_flyin_release"); + level.scr_anim["gideon_mech"]["canal_breach"] = %fin_canal_breach_mech01; + level.scr_anim["gideon_mech"]["kick_door_enter_mech"] = %fin_kick_door_enter_mech; + level.scr_anim["gideon_mech"]["kick_door_idle_mech"][0] = %fin_kick_door_idle_mech; + level.scr_anim["gideon_mech"]["kick_door"] = %fin_kick_door_mech; + maps\_anim::addnotetrack_customfunction("gideon_mech","fx_mech_kick",::maps\finale_fx::gideon_door_mech_kick,"kick_door"); + maps\_anim::addnotetrack_customfunction("gideon_mech","rumble_moderate",::notetrack_rumble_moderate_on_gideon,"kick_door"); + level.scr_anim["gideon_mech"]["exhaust_hatch_enter"] = %fin_silo_exhaust_hatch_breach_intro_mech; + level.scr_anim["gideon_mech"]["exhaust_hatch_idle"][0] = %fin_silo_exhaust_hatch_breach_idle_mech; + level.scr_anim["gideon_mech"]["exhaust_hatch_idle_noloop"] = %fin_silo_exhaust_hatch_breach_idle_mech_noloop; + level.scr_anim["gideon_mech"]["exhaust_hatch_idle_wave"][0] = %fin_silo_exhaust_hatch_breach_wave_idle_mech; + level.scr_anim["gideon_mech"]["exhaust_hatch_idle_wave_noloop"] = %fin_silo_exhaust_hatch_breach_wave_idle_mech_noloop; + level.scr_anim["gideon_mech"]["exhaust_hatch_open"] = %fin_silo_exhaust_hatch_breach_mech; + maps\_anim::addnotetrack_customfunction("gideon_mech","bar_break_gideon",::maps\finale_fx::exhaust_hatch_break_gideon,"exhaust_hatch_open"); + maps\_anim::addnotetrack_customfunction("gideon_mech","hatch_open_vfx",::maps\finale_fx::exhaust_hatch_open,"exhaust_hatch_open"); + level.scr_anim["gideon_mech"]["exhaust_hatch_end_idle"][0] = %fin_silo_exhaust_hatch_breach_standing_idle_mech; + level.scr_anim["gideon_mech"]["exhaust_land"] = %fin_silo_exhaust_shaft_land_mech; + maps\_anim::addnotetrack_customfunction("gideon_mech","vfx_mech_land",::maps\finale_fx::exhaust_hatch_land_gideon,"exhaust_land"); + maps\_anim::addnotetrack_customfunction("gideon_mech","aud_countdown_start",::notetrack_aud_countdown_start,"exhaust_land"); + maps\_anim::addnotetrack_customfunction("gideon_mech","player_control",::notetrack_player_control,"exhaust_land"); + maps\_anim::addnotetrack_customfunction("gideon_mech","player_blast_react",::notetrack_player_blast_react,"exhaust_land"); + maps\_anim::addnotetrack_customfunction("gideon_mech","vfx_blast",::notetrack_vfx_blast,"exhaust_land"); + maps\_anim::addnotetrack_customfunction("gideon_mech","vfx_ignition",::notetrack_vfx_ignition,"exhaust_land"); + level.scr_anim["gideon_mech"]["missile_stopped"] = %fin_silo_missle_launch_stopped_gideon; + level.scr_goaltime["gideon_mech"]["missile_stopped"] = 1; + maps\_anim::addnotetrack_customfunction("gideon_mech","rocket_launch_start",::notetrack_rocket_launch_start,"missile_stopped"); + maps\_anim::addnotetrack_customfunction("gideon_mech","aud_shoot_missile_start",::notetrack_aud_shoot_missile_start,"missile_stopped"); + level.scr_anim["gideon_mech"]["missile_stopped_idle"][0] = %fin_silo_missle_launch_stopped_gideon_idle; + level.scr_anim["gideon_mech"]["missile_launch"] = %fin_silo_missle_launch_stopped_gideon_death; + level.scr_anim["gideon_mech"]["missile_stopped_vm"] = %fin_silo_missle_launch_stopped_gideon_death; + maps\_anim::addnotetrack_customfunction("gideon_mech","vfx_gideon_mech_sparks",::maps\finale_fx::vfx_gideon_mech_sparks); + maps\_anim::addnotetrack_customfunction("gideon_mech","vfx_gideon_rolls_over",::maps\finale_fx::vfx_gideon_mech_rolls_over); + maps\_anim::addnotetrack_customfunction("gideon_mech","notetrack_rocket_success_start",::maps\finale_lighting::rocket_cine_dof); + level.scr_anim["gideon"]["mech_exit"] = %fin_exhaust_mech_exit_gideon; + maps\_anim::addnotetrack_customfunction("gideon","gideon_in_frame",::maps\finale_lighting::rocket_success_pt2_gideon_in_frame); + level.scr_anim["gideon"]["drag_pickup01"] = %fin_drag_pickup01_gideon; + level.scr_anim["gideon"]["drag_pickup02"] = %fin_drag_pickup02_gideon; + level.scr_anim["gideon"]["drag_putdown"] = %fin_drag_putdown_gideon; + level.scr_anim["gideon"]["drag_run01"] = %fin_drag_run01_gideon; + level.scr_anim["gideon"]["drag_run02"] = %fin_drag_run02_gideon; + level.scr_anim["gideon"]["drag_run03"] = %fin_drag_run03_gideon; + level.scr_anim["gideon"]["drag_run04"] = %fin_drag_run04_gideon; + level.scr_anim["gideon"]["drag_cover"][0] = %fin_drag_cover_idle_gideon; + maps\_anim::addnotetrack_customfunction("gideon","pickup",::maps\finale_drag::notetrack_drag_cover_pickup,"drag_cover"); + maps\_anim::addnotetrack_customfunction("gideon","dont_pickup",::maps\finale_drag::notetrack_drag_cover_dont_pickup,"drag_cover"); + level.scr_anim["gideon"]["will_reveal"] = %fin_will_reveal_gideon; + level.scr_anim["irons"]["will_reveal_irons"] = %fin_will_reveal_irons; + level.scr_anim["guy_bridge_takedown"]["bridge_takedown"] = %fin_bridge_takedown_start_npc; + level.scr_anim["guy_bridge_takedown"]["bridge_takedown_fail"] = %fin_bridge_takedown_fail_npc; + level.scr_anim["guy_bridge_takedown"]["bridge_takedown_success"] = %fin_bridge_takedown_success_npc; + maps\_anim::addnotetrack_customfunction("guy_bridge_takedown","vfx_dust_landing_npc",::maps\finale_fx::vfx_landing_dust_npc,"bridge_takedown"); + maps\_anim::addnotetrack_customfunction("guy_bridge_takedown","jump_complete",::bridge_takedown_jump_complete,"bridge_takedown"); + level.scr_anim["gideon"]["irons_reveal"] = %fin_irons_reveal_npc_gideon; + level.scr_anim["gideon"]["irons_reveal_part2"] = %fin_irons_reveal_part2_npc_gideon; + level.scr_anim["gideon"]["irons_reveal_idle"][0] = %fin_irons_reveal_npc_idle_gideon; + level.scr_anim["gideon"]["irons_reveal_button_idle"][0] = %fin_irons_reveal_npc_button_press_loop_gideon; + level.scr_anim["irons"]["irons_reveal"] = %fin_irons_reveal_npc_irons; + maps\_anim::addnotetrack_customfunction("irons","press01",::maps\finale_code::irons_exo_hack,"irons_reveal"); + maps\_anim::addnotetrack_customfunction("irons","open_glass_door",::maps\finale_code::door_irons_reveal_open,"irons_reveal"); + level.scr_anim["irons"]["irons_run_left_turn_up_stairs"] = %fin_irons_run_left_turn_up_stairs; + level.scr_anim["irons"]["irons_run_takedown_to_elevator"] = %fin_irons_run_takedown_to_elevator; + level.scr_anim["irons"]["irons_run_takedown_to_elevator_fail"] = %fin_irons_run_takedown_to_elevator_fail; + level.scr_anim["irons"]["irons_run_to_elevator_full"] = %fin_irons_run_to_elevator_full; + maps\_anim::addnotetrack_customfunction("irons","close_elevator",::notetrack_close_elevator_doors,"irons_run_to_elevator_full"); + level.scr_anim["irons"]["irons_end_idle"][0] = %fin_final_irons_idle; + level.scr_anim["irons"]["irons_end_look_r"] = %fin_final_irons_look_r; + level.scr_anim["irons"]["irons_end_look_l"] = %fin_final_irons_look_l; + level.scr_anim["irons"]["irons_end"] = %fin_final_irons; + level.scr_goaltime["irons"]["irons_end"] = 1; + level.scr_anim["gideon"]["irons_end"] = %fin_final_gideon; + level.scr_anim["knox"]["irons_end"] = %fin_final_knox; + level.scr_anim["irons"]["irons_end_pt2"] = %fin_final_pt2_irons; + maps\_anim::addnotetrack_customfunction("irons","slowMo_start",::ending_slowmo_start,"irons_end_pt2"); + maps\_anim::addnotetrack_customfunction("irons","slowMo_end",::ending_slowmo_end,"irons_end_pt2"); + maps\_anim::addnotetrack_customfunction("irons","fade_out_start",::ending_fade_out,"irons_end_pt2"); + level.scr_anim["gideon"]["irons_end_pt2"] = %fin_final_pt2_gideon; + level.scr_anim["knox"]["irons_end_pt2"] = %fin_final_pt2_knox; + level.scr_anim["irons"]["balcony_finale_pt1"] = %fin_balcony_finale_pt1_npc; + level.scr_anim["irons"]["balcony_finale_pt2"] = %fin_balcony_finale_pt2_npc; + maps\_anim::addnotetrack_customfunction("irons","vfx_irons_tackle",::maps\finale_fx::vfx_irons_tackle,"balcony_finale_pt2"); + maps\_anim::addnotetrack_customfunction("irons","vfx_balcony_break_through",::maps\finale_fx::vfx_balcony_break_through,"balcony_finale_pt2"); + level.scr_anim["irons"]["balcony_finale_pt3_combined"] = %fin_balcony_finale_pt3_combined_npc; + level.scr_anim["irons"]["balcony_finale_pt5"] = %fin_balcony_finale_pt5_npc; + level.scr_goaltime["irons"]["balcony_finale_pt5"] = 0; + maps\_anim::addnotetrack_customfunction("irons","vfx_irons_fall",::maps\finale_fx::vfx_irons_fall_death,"balcony_finale_pt5"); + level.scr_anim["irons"]["balcony_finale_pt6"] = %fin_balcony_finale_pt6_npc; + level.scr_anim["irons"]["balcony_finale_pt1_fail"] = %fin_balcony_finale_pt1_fail_npc; + level.scr_anim["irons"]["balcony_finale_pt2_fail"] = %fin_balcony_finale_pt2_fail_npc; + level.scr_anim["irons"]["balcony_finale_pt3_fail"] = %fin_balcony_finale_pt3_fail_npc; + level.scr_anim["irons"]["balcony_finale_pt4_fail"] = %fin_balcony_finale_pt4_fail_npc; + level.scr_goaltime["irons"]["balcony_finale_pt1_fail"] = 0; + level.scr_goaltime["irons"]["balcony_finale_pt2_fail"] = 0; + level.scr_goaltime["irons"]["balcony_finale_pt3_fail"] = 0; + level.scr_goaltime["irons"]["balcony_finale_pt4_fail"] = 0; + level.scr_anim["gideon"]["balcony_finale_end"] = %fin_balcony_finale_end_gideon; +} + +//Function Number: 4 +load_prop_anims(param_00) +{ + level.scr_animtree["locator"] = #animtree; + level.scr_model["locator"] = "genericprop"; + level.scr_anim["locator"]["shaft_drop"] = %locator_shaft_falling_anim; + level.scr_animtree["catwalk_narrow_01"] = #animtree; + level.scr_model["catwalk_narrow_01"] = "fin_folding_catwalk_01_a"; + level.scr_anim["catwalk_narrow_01"]["catwalk"] = %fin_drawbridge_clamp; + level.scr_animtree["catwalk_narrow_02"] = #animtree; + level.scr_model["catwalk_narrow_02"] = "fin_folding_catwalk_01_b"; + level.scr_anim["catwalk_narrow_02"]["catwalk"] = %fin_drawbridge_bar; + level.scr_animtree["catwalk_wide_01"] = #animtree; + level.scr_model["catwalk_wide_01"] = "fin_folding_catwalk_02_a"; + level.scr_anim["catwalk_wide_01"]["catwalk"] = %fin_drawbridge_clamp; + level.scr_animtree["catwalk_wide_02"] = #animtree; + level.scr_model["catwalk_wide_02"] = "fin_folding_catwalk_02_b"; + level.scr_anim["catwalk_wide_02"]["catwalk"] = %fin_drawbridge_bar; + level.scr_animtree["missile_main"] = #animtree; + level.scr_model["missile_main"] = "fin_missile_main_engine_01"; + level.scr_anim["missile_main"]["missile_load"] = %fin_silo_missile_loading_mainmissile; + level.scr_anim["missile_main"]["missile_launch"] = %fin_silo_missile_launch_fail_mainmissile; + level.scr_animtree["minigun"] = #animtree; + level.scr_model["minigun"] = "vm_exo_armor_minigun_base"; + level.scr_anim["minigun"]["missile_stopped_vm"] = %fin_silo_missle_launch_stopped_vm_gun; + level.scr_anim["minigun"]["missile_launch"] = %fin_silo_missle_launch_stopped_vm_gun; + level.scr_animtree["missile_01"] = #animtree; + level.scr_animtree["missile_02"] = #animtree; + level.scr_animtree["missile_03"] = #animtree; + level.scr_animtree["missile_04"] = #animtree; + level.scr_animtree["missile_05"] = #animtree; + level.scr_animtree["missile_06"] = #animtree; + level.scr_model["missile_01"] = "fin_side_missile_01"; + level.scr_model["missile_02"] = "fin_side_missile_01"; + level.scr_model["missile_03"] = "fin_side_missile_01"; + level.scr_model["missile_04"] = "fin_side_missile_01"; + level.scr_model["missile_05"] = "fin_side_missile_01"; + level.scr_model["missile_06"] = "fin_side_missile_01"; + level.scr_anim["missile_01"]["missile_load"] = %fin_silo_missile_loading_sidemissile01; + maps\_anim::addnotetrack_customfunction("missile_01","vfx_missile_load_01",::maps\finale_fx::vfx_missile_loading,"missile_load"); + level.scr_anim["missile_02"]["missile_load"] = %fin_silo_missile_loading_sidemissile02; + level.scr_anim["missile_03"]["missile_load"] = %fin_silo_missile_loading_sidemissile03; + level.scr_anim["missile_04"]["missile_load"] = %fin_silo_missile_loading_sidemissile04; + level.scr_anim["missile_05"]["missile_load"] = %fin_silo_missile_loading_sidemissile05; + level.scr_anim["missile_06"]["missile_load"] = %fin_silo_missile_loading_sidemissile06; + maps\_anim::addnotetrack_customfunction("missile_06","vfx_missile_lock_06",::maps\finale_fx::vfx_missile_docking_end,"missile_load"); + maps\_anim::addnotetrack_customfunction("missile_06","catwalk_open",::silo_catwalks_open,"missile_load"); + level.scr_animtree["kick_door_l"] = #animtree; + level.scr_animtree["kick_door_r"] = #animtree; + level.scr_model["kick_door_l"] = "genericprop"; + level.scr_model["kick_door_r"] = "genericprop"; + level.scr_anim["kick_door_l"]["kick_door"] = %fin_kick_door_door_l; + level.scr_anim["kick_door_r"]["kick_door"] = %fin_kick_door_door_r; + maps\_anim::addnotetrack_customfunction("kick_door_l","fx_l_door_kick",::maps\finale_fx::door_kick_smoke,"kick_door"); + level.scr_animtree["hatch"] = #animtree; + level.scr_model["hatch"] = "fin_silo_floor_hatch"; + level.scr_anim["hatch"]["exhaust_hatch_enter"] = %fin_silo_exhaust_hatch_breach_intro_piston_hatch; + level.scr_anim["hatch"]["exhaust_hatch_idle"][0] = %fin_silo_exhaust_hatch_breach_idle_piston_hatch; + level.scr_anim["hatch"]["exhaust_hatch_open"] = %fin_silo_exhaust_hatch_breach_breach_piston_hatch; + level.scr_animtree["piston_r"] = #animtree; + level.scr_model["piston_r"] = "fin_silo_floor_hatch_piston_r"; + level.scr_anim["piston_r"]["exhaust_hatch_vm_approach"] = %fin_silo_exhaust_hatch_breach_intro_piston_r; + level.scr_anim["piston_r"]["exhaust_hatch_vm_idle"][0] = %fin_silo_exhaust_hatch_breach_idle_piston_r; + level.scr_anim["piston_r"]["exhaust_hatch_open"] = %fin_silo_exhaust_hatch_breach_breach_piston_r; + level.scr_animtree["piston_l"] = #animtree; + level.scr_model["piston_l"] = "fin_silo_floor_hatch_piston_l"; + level.scr_anim["piston_l"]["exhaust_hatch_enter"] = %fin_silo_exhaust_hatch_breach_intro_piston_l; + level.scr_anim["piston_l"]["exhaust_hatch_idle"][0] = %fin_silo_exhaust_hatch_breach_idle_piston_l; + level.scr_anim["piston_l"]["exhaust_hatch_open"] = %fin_silo_exhaust_hatch_breach_breach_piston_l; + level.scr_animtree["vents"] = #animtree; + level.scr_model["vents"] = "fin_ventilation_01"; + level.scr_anim["vents"]["exhaust_land_vm"] = %fin_silo_exhaust_shaft_land_mech_vents; + maps\_anim::addnotetrack_customfunction("vents","vfx_open_vent",::maps\finale_fx::vfx_open_vent,"exhaust_land_vm"); + level.scr_animtree["pistol"] = #animtree; + level.scr_model["pistol"] = "npc_titan45_cutscene"; + level.scr_anim["pistol"]["irons_reveal"] = %fin_irons_reveal_pistol; + level.scr_animtree["exo"] = #animtree; + level.scr_model["exo"] = "body_sentinel_exo_ingress"; + level.scr_anim["exo"]["irons_reveal_exo"] = %fin_irons_reveal_npc_empty_exo_fall; + level.scr_anim["exo"]["irons_reveal_exo_idle"][0] = %fin_irons_reveal_npc_empty_exo_idle; + level.scr_animtree["irons_pistol"] = #animtree; + level.scr_model["irons_pistol"] = "npc_titan45_cutscene"; + level.scr_anim["irons_pistol"]["irons_end"] = %fin_final_pistol; + level.scr_anim["irons_pistol"]["irons_end_pt2"] = %fin_final_pt2_pistol; + level.scr_animtree["irons_phone"] = #animtree; + level.scr_model["irons_phone"] = "ironsphone"; + level.scr_animtree["door"] = #animtree; + level.scr_model["door"] = "fin_body_scanner_door"; + level.scr_anim["door"]["irons_reveal_exit_door"] = %fin_will_room_open_scanner_doors; + level.scr_animtree["drag_pistol"] = #animtree; + level.scr_model["drag_pistol"] = "vm_titan45_base_loot"; + level.scr_anim["drag_pistol"]["drag_pickup02"] = %fin_drag_pickup02_gun; + level.scr_animtree["breach_bomb"] = #animtree; + level.scr_model["breach_bomb"] = "semx_explosive_mech"; + level.scr_anim["breach_bomb"]["canal_breach"] = %fin_canal_breach_bomb; + level.scr_animtree["keypad_door"] = #animtree; + level.scr_model["keypad_door"] = "fin_irons_security_door"; + level.scr_anim["keypad_door"]["irons_run_to_keypad_door"] = %fin_irons_run_to_keypad_door; + level.scr_animtree["player_knife"] = #animtree; + level.scr_model["player_knife"] = "npc_mitchell_finale_knife"; + level.scr_anim["player_knife"]["bridge_takedown_success"] = %fin_bridge_takedown_success_knife; + maps\_anim::addnotetrack_customfunction("player_knife","knife_vis_on",::notetrack_show_takedown_knife); + level.scr_animtree["balcony"] = #animtree; + level.scr_model["balcony"] = "fin_railing_roof_03_anim"; + level.scr_anim["balcony"]["balcony_finale_pt2"] = %fin_balcony_finale_pt2_balcony; + level.scr_animtree["elevator_doors"] = #animtree; + level.scr_model["elevator_doors"] = "fin_balcony_elevator_door_01"; + level.scr_anim["elevator_doors"]["balcony_finale_pt1_fail_elevator_close"] = %fin_balcony_finale_pt1_fail_elevator_close; + level.scr_animtree["severed_arm"] = #animtree; + level.scr_model["severed_arm"] = "prop_sentinel_mitchel_prosthetic_arm"; + level.scr_anim["severed_arm"]["balcony_finale_pt5"] = %fin_balcony_finale_pt5_vm_arm; + maps\_anim::addnotetrack_flag("severed_arm","vfx_vm_arm_piece_fall","arm_off"); + maps\_anim::addnotetrack_customfunction("severed_arm","vfx_vm_arm_piece_fall",::maps\finale_fx::vfx_arm_piece_fall,"balcony_finale_pt5"); +} + +//Function Number: 5 +load_vehicles_anims(param_00) +{ + level.scr_animtree["helo_intro_gideon"] = #animtree; + level.scr_model["helo_intro_gideon"] = "vehicle_mil_helicopter_littlebird_drone_ai"; + level.scr_anim["helo_intro_gideon"]["intro_flyin"] = %fin_mech_flyin_littlebird; + level.scr_anim["helo_intro_gideon"]["intro_flyin_idle"][0] = %fin_mech_flyin_wait_idle_littlebird; + level.scr_anim["helo_intro_gideon"]["intro_flyin_release"] = %fin_mech_flyin_release_littlebird; + level.scr_anim["helo_ending_01"]["irons_end"] = %fin_final_razor1; + level.scr_anim["helo_ending_01"]["irons_end_idle"][0] = %fin_final_razor1_idle; + level.scr_anim["helo_ending_02"]["irons_end"] = %fin_final_razor2; + level.scr_anim["helo_ending_02"]["irons_end_idle"][0] = %fin_final_razor2_idle; +} + +//Function Number: 6 +silo_catwalks_open(param_00) +{ + common_scripts\utility::flag_set("flag_silo_watwalks_open"); +} + +//Function Number: 7 +notetrack_mech_exit_fov_change(param_00) +{ + param_00.fov_original = getdvarint("cg_fov"); + maps\_utility::lerp_fov_overtime(0.5,50); +} + +//Function Number: 8 +mech_exit_fade_out(param_00) +{ + param_00 maps\finale_utility::screen_fade_out(1); +} + +//Function Number: 9 +will_reveal_fov_default(param_00) +{ + level.player lerpfov(65,2.5); +} + +//Function Number: 10 +bridge_takedown_fail_fade(param_00) +{ + maps\finale_utility::screen_fade_out(0); +} + +//Function Number: 11 +bridge_takedown_jump_complete(param_00) +{ + common_scripts\utility::flag_set("flag_bridge_takedown_jump_complete"); +} + +//Function Number: 12 +notetrack_takedown_start_window(param_00) +{ + level notify("noteworthy_start_window"); +} + +//Function Number: 13 +ending_slowmo_start(param_00) +{ + param_00 maps\_utility::slowmo_lerp_in(); + soundscripts\_snd::snd_message("fin_skybridge_slo_mo_start"); +} + +//Function Number: 14 +ending_slowmo_end(param_00) +{ + param_00 maps\_utility::slowmo_lerp_out(); + soundscripts\_snd::snd_message("fin_skybridge_slo_mo_stop"); +} + +//Function Number: 15 +ending_fade_out(param_00) +{ + param_00 maps\finale_utility::screen_fade_out(3.5); +} + +//Function Number: 16 +notetrack_gideon_start(param_00) +{ + level.player notify("notetrack_gideon_start"); +} + +//Function Number: 17 +notetrack_player_blast_react(param_00) +{ + level.player notify("notetrack_player_blast_react"); +} + +//Function Number: 18 +notetrack_player_control(param_00) +{ + level.player notify("notetrack_player_control"); +} + +//Function Number: 19 +notetrack_vfx_blast(param_00) +{ + level.player notify("notetrack_vfx_blast"); + soundscripts\_snd::snd_slate("notetrack_vfx_blast"); +} + +//Function Number: 20 +notetrack_vfx_ignition(param_00) +{ + level.player notify("notetrack_vfx_ignition"); + soundscripts\_snd::snd_slate("notetrack_vfx_ignition"); +} + +//Function Number: 21 +notetrack_pickup02_fade_in(param_00) +{ + maps\finale_utility::screen_fade_in(0.5); +} + +//Function Number: 22 +notetrack_pickup02_fade_out(param_00) +{ + maps\finale_utility::screen_fade_out(0.5); +} + +//Function Number: 23 +notetrack_run01_fade_in(param_00) +{ + maps\finale_utility::screen_fade_in(0.5); +} + +//Function Number: 24 +notetrack_run01_fade_out(param_00) +{ + maps\finale_utility::screen_fade_out(0.5); +} + +//Function Number: 25 +notetrack_run02_fade_in(param_00) +{ + maps\finale_utility::screen_fade_in(0.5); +} + +//Function Number: 26 +notetrack_run02_fade_out(param_00) +{ + maps\finale_utility::screen_fade_out(0.5); +} + +//Function Number: 27 +notetrack_run03_fade_in(param_00) +{ + maps\finale_utility::screen_fade_in(0.5); +} + +//Function Number: 28 +notetrack_run03_fade_out(param_00) +{ + maps\finale_utility::screen_fade_out(0.5); +} + +//Function Number: 29 +notetrack_run04_fade_in(param_00) +{ + maps\finale_utility::screen_fade_in(0.5); +} + +//Function Number: 30 +notetrack_run04_fade_out(param_00) +{ + maps\finale_utility::screen_fade_out(0.5); +} + +//Function Number: 31 +notetrack_missile_stopped_vm_fade_out(param_00) +{ + maps\finale_utility::screen_fade_out(3); +} + +//Function Number: 32 +notetrack_rocket_launch_start(param_00) +{ + level.player notify("notetrack_rocket_launch_start"); + soundscripts\_snd::snd_slate("notetrack_rocket_launch_start"); +} + +//Function Number: 33 +notetrack_aud_countdown_start(param_00) +{ + level.player notify("notetrack_aud_countdown_start"); +} + +//Function Number: 34 +notetrack_aud_shoot_missile_start(param_00) +{ + level.player notify("notetrack_aud_shoot_missile_start"); +} + +//Function Number: 35 +notetrack_irons_reveal_lerp_fov_out(param_00) +{ + level.player lerpfov(65,1); +} + +//Function Number: 36 +notetrack_close_elevator_doors(param_00) +{ + var_01 = getent("fin_balcony_elevator_door_01","targetname"); + var_01.animname = "elevator_doors"; + var_01 maps\_utility::assign_animtree(); + var_02 = common_scripts\utility::getstruct("se_balcony_finale","script_noteworthy"); + maps\finale_utility::chase_timer_cancel(); + setdvar("ui_deadquote",&"FINALE_FAILED_IRONS_CHASE"); + maps\_utility::missionfailedwrapper(); + var_02 maps\_anim::anim_single_solo(var_01,"balcony_finale_pt1_fail_elevator_close"); +} + +//Function Number: 37 +notetrack_show_takedown_knife(param_00) +{ + soundscripts\_snd::snd_message("bridge_takedown_success"); + if(isdefined(level.player_knife)) + { + level.player_knife show(); + } +} + +//Function Number: 38 +notetrack_final_part5_success_slomo(param_00) +{ + soundscripts\_snd::snd_message("fin_ending_slo_mo_override"); + maps\_utility::slowmo_start(); + maps\_utility::slowmo_setspeed_slow(0.5); + maps\_utility::slowmo_setlerptime_in(0.5); + maps\_utility::slowmo_lerp_in(); + common_scripts\utility::flag_wait("flag_part5_success_slomo_stop"); + maps\_utility::slowmo_lerp_out(); +} + +//Function Number: 39 +notrack_final_part5_body_swap(param_00) +{ + level.player_rig setmodel("viewbody_sentinel_pilot_mitchell_nub"); +} + +//Function Number: 40 +notetrack_final_fail_slowmo(param_00) +{ + maps\_utility::slowmo_start(); + maps\_utility::slowmo_setspeed_slow(0.5); + maps\_utility::slowmo_setlerptime_in(0.5); + maps\_utility::slowmo_lerp_in(); +} + +//Function Number: 41 +notetrack_fade_to_white_fail(param_00) +{ + level.player.strikewhitefade = newclienthudelem(level.player); + level.player.strikewhitefade.x = 0; + level.player.strikewhitefade.y = 0; + level.player.strikewhitefade setshader("white",640,480); + level.player.strikewhitefade.alignx = "left"; + level.player.strikewhitefade.aligny = "top"; + level.player.strikewhitefade.horzalign = "fullscreen"; + level.player.strikewhitefade.vertalign = "fullscreen"; + level.player.strikewhitefade.alpha = 0; + level.player.strikewhitefade fadeovertime(1.5); + level.player.strikewhitefade.alpha = 1; +} + +//Function Number: 42 +notetrack_fov_end(param_00) +{ + level.player lerpfov(50,1); +} + +//Function Number: 43 +notetrack_rumble_light(param_00) +{ + level.player playrumbleonentity("damage_light"); +} + +//Function Number: 44 +notetrack_rumble_moderate(param_00) +{ + level.player playrumbleonentity("damage_heavy"); +} + +//Function Number: 45 +notetrack_rumble_heavy(param_00) +{ + level.player playrumbleonentity("light_1s"); +} + +//Function Number: 46 +notetrack_rumble_intense(param_00) +{ + level.player playrumbleonentity("heavy_1s"); +} + +//Function Number: 47 +notetrack_rumble_moderate_on_gideon(param_00) +{ + var_01 = distance(level.player.origin,level.gideon.origin); + if(var_01 < 75) + { + level.player playrumbleonentity("heavy_1s"); + return; + } + + if(var_01 < 125) + { + level.player playrumbleonentity("light_1s"); + return; + } + + if(var_01 < 175) + { + level.player playrumbleonentity("damage_heavy"); + return; + } + + if(var_01 < 225) + { + level.player playrumbleonentity("damage_light"); + return; + } +} \ No newline at end of file diff --git a/AW/PC/maps/finale_anim_vm.gsc b/AW/PC/maps/finale_anim_vm.gsc new file mode 100644 index 0000000..e1ab92d --- /dev/null +++ b/AW/PC/maps/finale_anim_vm.gsc @@ -0,0 +1,123 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: finale_anim_vm.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 7 + * Decompile Time: 115 ms + * Timestamp: 4/22/2024 2:28:56 AM +*******************************************************************/ + +//Function Number: 1 +anim_single_solo_vm(param_00,param_01,param_02) +{ + param_00 notify("kill_duplicate_anim_single_solo_vm"); + param_00 endon("kill_duplicate_anim_single_solo_vm"); + param_00 endon("die"); + if(!isdefined(param_02)) + { + param_02 = "stop_nonloop"; + } + + if(!assert_existance_of_anim_vm(param_01)) + { + return; + } + + var_03 = getanimlength(param_00 getanim_vm(param_01)) - 0.05; + var_04 = gettime() + var_03 * 1000; + thread anim_single_solo_internal_vm(param_00,param_01,param_02); + param_00 common_scripts\utility::waittill_any_timeout(var_03,param_02); + if(gettime() < var_04 - 50) + { + param_00 setviewmodelanimtime(1); + } +} + +//Function Number: 2 +anim_single_solo_internal_vm(param_00,param_01,param_02) +{ + if(!isdefined(param_02)) + { + param_02 = "stop_nonloop"; + } + + param_00 endon("kill_duplicate_anim_single_solo_vm"); + param_00 endon(param_02); + var_03 = getanimlength(param_00 getanim_vm(param_01)); + param_00 setviewmodelanim(getanim_vm_index(param_01)); + wait(var_03 - 0.05); +} + +//Function Number: 3 +anim_loop_solo_vm(param_00,param_01,param_02,param_03) +{ + param_00 notify("kill_duplicate_anim_loop_solo_vm"); + param_00 endon("kill_duplicate_anim_loop_solo_vm"); + if(!isdefined(param_02)) + { + param_02 = "stop_loop"; + } + + if(!assert_existance_of_anim_vm(param_01)) + { + return; + } + + thread hack_fake_loop_because_you_cant_play_looping_vm_anims(param_00,param_01,param_02); + for(;;) + { + if(isdefined(param_03)) + { + param_00 common_scripts\utility::waittill_any_timeout(param_03,param_02); + } + else + { + param_00 waittill(param_02); + } + + if(!isdefined(param_00.viewmodel_hidden) || !param_00.viewmodel_hidden) + { + param_00 setviewmodelanimtime(1); + } + + break; + } +} + +//Function Number: 4 +getanim_vm(param_00) +{ + return level.scr_anim_vm[param_00]; +} + +//Function Number: 5 +getanim_vm_index(param_00) +{ + return level.scr_anim_vm_index[param_00]; +} + +//Function Number: 6 +hack_fake_loop_because_you_cant_play_looping_vm_anims(param_00,param_01,param_02) +{ + param_00 endon("kill_duplicate_anim_loop_solo_vm"); + param_00 endon(param_02); + var_03 = getanimlength(param_00 getanim_vm(param_01)); + for(;;) + { + param_00 setviewmodelanim(getanim_vm_index(param_01)); + wait(var_03 - 0.05); + param_00 setviewmodelanimtime(1); + } +} + +//Function Number: 7 +assert_existance_of_anim_vm(param_00) +{ + if(!isdefined(level.scr_anim_vm_index) || !isdefined(level.scr_anim_vm_index[param_00])) + { + return 0; + } + + return 1; +} \ No newline at end of file diff --git a/AW/PC/maps/finale_aud.gsc b/AW/PC/maps/finale_aud.gsc new file mode 100644 index 0000000..d80182d --- /dev/null +++ b/AW/PC/maps/finale_aud.gsc @@ -0,0 +1,1410 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: finale_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 129 + * Decompile Time: 1853 ms + * Timestamp: 4/22/2024 2:29:02 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + config_system(); + init_snd_flags(); + init_globals(); + launch_threads(); + launch_loops(); + create_level_envelop_arrays(); + precache_presets(); + register_snd_messages(); + init_notetracks(); +} + +//Function Number: 2 +register_snd_messages() +{ + soundscripts\_snd::snd_register_message("snd_zone_handler",::zone_handler); + soundscripts\_snd::snd_register_message("snd_music_handler",::music_handler); + soundscripts\_snd::snd_register_message("enter_water_override",::enter_water_override); + soundscripts\_snd::snd_register_message("exit_water_override",::exit_water_override); + soundscripts\_snd::snd_register_message("start_intro",::start_intro); + soundscripts\_snd::snd_register_message("start_intro_skip",::start_intro_skip); + soundscripts\_snd::snd_register_message("start_canal",::start_canal); + soundscripts\_snd::snd_register_message("start_silo_approach",::start_silo_approach); + soundscripts\_snd::snd_register_message("start_silo_floor_03",::start_silo_floor_03); + soundscripts\_snd::snd_register_message("start_door_kick",::start_door_kick); + soundscripts\_snd::snd_register_message("start_silo_exhaust_entrance",::start_silo_exhaust_entrance); + soundscripts\_snd::snd_register_message("start_lobby",::start_lobby); + soundscripts\_snd::snd_register_message("start_sky_bridge",::start_sky_bridge); + soundscripts\_snd::snd_register_message("start_will_room",::start_will_room); + soundscripts\_snd::snd_register_message("start_irons_chase",::start_irons_chase); + soundscripts\_snd::snd_register_message("start_roof",::start_roof); + soundscripts\_snd::snd_register_message("fin_flyin_start",::fin_flyin_start); + soundscripts\_snd::snd_register_message("fin_flyin_drop",::fin_flyin_drop); + soundscripts\_snd::snd_register_message("fin_flyin_splash",::fin_flyin_splash); + soundscripts\_snd::snd_register_message("fin_flyin_gideon_splash",::fin_flyin_gideon_splash); + soundscripts\_snd::snd_register_message("find_npc_dive_boat_handler",::find_npc_dive_boat_handler); + soundscripts\_snd::snd_register_message("fin_midair_exp_audio",::fin_midair_exp_audio); + soundscripts\_snd::snd_register_message("fin_bldg_exp_audio",::fin_bldg_exp_audio); + soundscripts\_snd::snd_register_message("fin_water_exp_audio",::fin_water_exp_audio); + soundscripts\_snd::snd_register_message("fin_glass_exp_audio",::fin_glass_exp_audio); + soundscripts\_snd::snd_register_message("vrap_explode",::vrap_explode); + soundscripts\_snd::snd_register_message("fin_bullet_trails",::fin_bullet_trails); + soundscripts\_snd::snd_register_message("fin_gid_exit_water",::fin_gid_exit_water); + soundscripts\_snd::snd_register_message("silo_door_kick",::silo_door_kick); + soundscripts\_snd::snd_register_message("shaft_descent_start",::shaft_descent_start); + soundscripts\_snd::snd_register_message("shaft_descent_state_change",::shaft_descent_state_change); + soundscripts\_snd::snd_register_message("shaft_descent_speed_update",::shaft_descent_speed_update); + soundscripts\_snd::snd_register_message("shaft_descent_end",::shaft_descent_end); + soundscripts\_snd::snd_register_message("exhaust_shaft_land",::exhaust_shaft_land); + soundscripts\_snd::snd_register_message("exhaust_shaft_land_gideon",::exhaust_shaft_land_gideon); + soundscripts\_snd::snd_register_message("aud_rocket_launch_start",::aud_rocket_launch_start); + soundscripts\_snd::snd_register_message("aud_fin_rocket_damage_vfx",::aud_fin_rocket_damage_vfx); + soundscripts\_snd::snd_register_message("fin_silo_success",::fin_silo_success); + soundscripts\_snd::snd_register_message("missile_small_thrusters_off",::missile_small_thrusters_off); + soundscripts\_snd::snd_register_message("missile_large_thrusters_off",::missile_large_thrusters_off); + soundscripts\_snd::snd_register_message("gid_release_plr_mech_suit",::gid_release_plr_mech_suit); + soundscripts\_snd::snd_register_message("fin_lobby_gun_limp",::fin_lobby_gun_limp); + soundscripts\_snd::snd_register_message("aud_irons_says_hello",::aud_irons_says_hello); + soundscripts\_snd::snd_register_message("aud_irons_reveal_star_trek_door",::aud_irons_reveal_star_trek_door); + soundscripts\_snd::snd_register_message("aud_irons_reveal_bomb_shake",::aud_irons_reveal_bomb_shake); + soundscripts\_snd::snd_register_message("fin_irons_reveal_mash_start",::fin_irons_reveal_mash_start); + soundscripts\_snd::snd_register_message("fin_irons_reveal_mash",::fin_irons_reveal_mash); + soundscripts\_snd::snd_register_message("fin_irons_reveal_mash_finish",::fin_irons_reveal_mash_finish); + soundscripts\_snd::snd_register_message("aud_irons_reveal_bomb_shake_02",::aud_irons_reveal_bomb_shake_02); + soundscripts\_snd::snd_register_message("irons_reveal_exit_door_open",::irons_reveal_exit_door_open); + soundscripts\_snd::snd_register_message("irons_keypad_door_open",::irons_keypad_door_open); + soundscripts\_snd::snd_register_message("irons_chase_door_close",::irons_chase_door_close); + soundscripts\_snd::snd_register_message("fin_skybridge_takedown_start",::fin_skybridge_takedown_start); + soundscripts\_snd::snd_register_message("fin_skybridge_slo_mo_start",::fin_skybridge_slo_mo_start); + soundscripts\_snd::snd_register_message("fin_skybridge_slo_mo_stop",::fin_skybridge_slo_mo_stop); + soundscripts\_snd::snd_register_message("fin_skybridge_glass_explo",::fin_skybridge_glass_explo); + soundscripts\_snd::snd_register_message("fin_irons_takedown_start",::fin_irons_takedown_start); + soundscripts\_snd::snd_register_message("fin_irons_tackle",::fin_irons_tackle); + soundscripts\_snd::snd_register_message("fin_ending_slo_mo_override",::fin_ending_slo_mo_override); + soundscripts\_snd::snd_register_message("bridge_takedown_success",::bridge_takedown_success); + soundscripts\_snd::snd_register_message("bridge_takedown_fail",::bridge_takedown_fail); + soundscripts\_snd::snd_register_message("finale_qte_show_knife",::finale_qte_show_knife); + soundscripts\_snd::snd_register_message("finale_ending_qte1_success",::finale_ending_qte1_success); + soundscripts\_snd::snd_register_message("finale_ending_qte1_timeout",::finale_ending_qte1_timeout); + soundscripts\_snd::snd_register_message("finale_ending_buttonmash_start",::finale_ending_buttonmash_start); + soundscripts\_snd::snd_register_message("finale_ending_buttonmash_fail",::finale_ending_buttonmash_fail); + soundscripts\_snd::snd_register_message("finale_ending_qte2_success",::finale_ending_qte2_success); + soundscripts\_snd::snd_register_message("finale_ending_qte2_timeout",::finale_ending_qte2_timeout); +} + +//Function Number: 3 +init_notetracks() +{ + maps\_anim::addnotetrack_customfunction("gideon_mech","slate_fin_gideon_hatch_grab",::slate_fin_gideon_hatch_grab,"exhaust_hatch_enter"); + maps\_anim::addnotetrack_customfunction("gideon_mech","slate_finale_gideon_hatch_pull_1",::slate_finale_gideon_hatch_pull_1,"exhaust_hatch_idle_noloop"); + maps\_anim::addnotetrack_customfunction("gideon_mech","slate_finale_gideon_hatch_regrip_1",::slate_finale_gideon_hatch_regrip_1,"exhaust_hatch_idle_noloop"); + maps\_anim::addnotetrack_customfunction("gideon_mech","slate_finale_gideon_hatch_pull_2",::slate_finale_gideon_hatch_pull_2,"exhaust_hatch_idle_noloop"); + maps\_anim::addnotetrack_customfunction("gideon_mech","slate_finale_gideon_hatch_regrip_2",::slate_finale_gideon_hatch_regrip_2,"exhaust_hatch_idle_noloop"); + maps\_anim::addnotetrack_customfunction("gideon_mech","slate_finale_gideon_hatch_pull_3",::slate_finale_gideon_hatch_pull_3,"exhaust_hatch_idle_noloop"); + maps\_anim::addnotetrack_customfunction("gideon_mech","slate_finale_gideon_hatch_regrip_3",::slate_finale_gideon_hatch_regrip_3,"exhaust_hatch_idle_noloop"); + maps\_anim::addnotetrack_customfunction("gideon_mech","slate_gideon_wave_hand_raise",::slate_gideon_wave_hand_raise,"exhaust_hatch_idle_wave_noloop"); + maps\_anim::addnotetrack_customfunction("gideon_mech","slate_gideon_wave_hand_plant",::slate_gideon_wave_hand_plant,"exhaust_hatch_idle_wave_noloop"); + maps\_anim::addnotetrack_customfunction("gideon_mech","slate_gideon_wave_hand_regrip",::slate_gideon_wave_hand_regrip,"exhaust_hatch_idle_wave_noloop"); + maps\_anim::addnotetrack_customfunction("world_body_mech","slate_fin_vm_hatch_grab",::slate_fin_vm_hatch_grab,"exhaust_hatch_vm_approach"); + maps\_anim::addnotetrack_customfunction("world_body_mech","slate_fin_vm_hatch_pull",::slate_fin_vm_hatch_pull,"exhaust_hatch_vm_noinput_to_input"); + maps\_anim::addnotetrack_customfunction("world_body_mech","slate_fin_vm_hatch_pull_loop",::slate_fin_vm_hatch_pull_loop,"exhaust_hatch_vm_idle_input"); + maps\_anim::addnotetrack_customfunction("world_body_mech","slate_fin_vm_pull_relax",::slate_fin_vm_pull_relax,"exhaust_hatch_vm_input_to_noinput"); + maps\_anim::addnotetrack_customfunction("gideon_mech","slate_fin_gideon_bar_break",::slate_fin_gideon_bar_break,"exhaust_hatch_open"); + maps\_anim::addnotetrack_customfunction("gideon_mech","slate_fin_vm_bar_break",::slate_fin_vm_bar_break,"exhaust_hatch_open"); + maps\_anim::addnotetrack_customfunction("gideon_mech","slate_fin_gideon_hatch_open",::slate_fin_gideon_hatch_open,"exhaust_hatch_open"); + maps\_anim::addnotetrack_customfunction("gideon_mech","slate_fin_gideon_hatch_push",::slate_fin_gideon_hatch_push,"exhaust_hatch_open"); + maps\_anim::addnotetrack_customfunction("piston_r","slate_fin_piston_r_break",::slate_fin_piston_r_break,"exhaust_hatch_open"); + maps\_anim::addnotetrack_customfunction("piston_l","slate_fin_piston_l_break",::slate_fin_piston_l_break,"exhaust_hatch_open"); + maps\_anim::addnotetrack_customfunction("missile_main","fin_silo_fail_launch",::fin_silo_fail_launch,"missile_launch"); + maps\_anim::addnotetrack_customfunction("gideon","fin_post_silo_gid_foley",::fin_post_silo_gid_foley,"mech_exit"); + maps\_anim::addnotetrack_customfunction("gideon","fin_post_silo_switch_to_plr",::fin_post_silo_switch_to_plr,"mech_exit"); + maps\_anim::addnotetrack_customfunction("gideon","fin_gid_carry_pickup_1",::fin_gid_carry_pickup_1,"drag_pickup01"); + maps\_anim::addnotetrack_customfunction("plr","fin_silo_plr_picked_up",::fin_silo_plr_picked_up,"drag_pickup01"); + maps\_anim::addnotetrack_customfunction("gideon","fin_gid_carry_plr_1",::fin_gid_carry_plr_1,"drag_run01"); + maps\_anim::addnotetrack_customfunction("gideon","fin_gid_carry_plr_2",::fin_gid_carry_plr_2,"drag_run02"); + maps\_anim::addnotetrack_customfunction("world_body_damaged","fin_gid_plr_putdown",::fin_gid_plr_putdown,"drag_putdown"); + maps\_anim::addnotetrack_customfunction("gideon","fin_gid_carry_pickup_2",::fin_gid_carry_pickup_2,"drag_pickup02"); + maps\_anim::addnotetrack_customfunction("gideon","fin_gid_carry_plr_3",::fin_gid_carry_plr_3,"drag_run03"); + maps\_anim::addnotetrack_customfunction("gideon","fin_gid_carry_plr_4",::fin_gid_carry_plr_4,"drag_run04"); + maps\_anim::addnotetrack_customfunction("world_body_damaged","fin_irons_reveal_plr_start",::fin_irons_reveal_plr_start,"irons_reveal"); + maps\_anim::addnotetrack_customfunction("world_body_damaged","fin_irons_reveal_plr_stand",::fin_irons_reveal_plr_stand,"irons_reveal"); + maps\_anim::addnotetrack_customfunction("irons","fin_irons_reveal_irons_start",::fin_irons_reveal_irons_start,"irons_reveal"); + maps\_anim::addnotetrack_customfunction("irons","fin_irons_reveal_irons_takes_gun",::fin_irons_reveal_irons_takes_gun,"irons_reveal"); + maps\_anim::addnotetrack_customfunction("irons","fin_irons_reveal_irons_quake",::fin_irons_reveal_irons_quake,"irons_reveal"); + maps\_anim::addnotetrack_customfunction("irons","fin_irons_reveal_irons_points_gun",::fin_irons_reveal_irons_points_gun,"irons_reveal"); + maps\_anim::addnotetrack_customfunction("irons","fin_irons_reveal_gun_away_exit",::fin_irons_reveal_gun_away_exit,"irons_reveal"); + maps\_anim::addnotetrack_customfunction("gideon","fin_reveal_gid_drops_plr",::fin_reveal_gid_drops_plr,"irons_reveal"); + maps\_anim::addnotetrack_customfunction("gideon","fin_irons_reveal_scene_gid_start",::fin_irons_reveal_scene_gid_start,"irons_reveal"); + maps\_anim::addnotetrack_customfunction("gideon","fin_irons_reveal_scene_gid_exo_freeze",::fin_irons_reveal_scene_gid_exo_freeze,"irons_reveal"); + maps\_anim::addnotetrack_customfunction("world_body_damaged_no_exo","fin_ending_qte_stab",::fin_ending_qte_stab,"balcony_finale_pt5"); + maps\_anim::addnotetrack_customfunction("world_body_damaged_no_exo","fin_ending_knife_drop",::fin_ending_knife_drop,"balcony_finale_pt5"); + maps\_anim::addnotetrack_customfunction("world_body_damaged_no_exo","fin_ending_plr_foley_1",::fin_ending_plr_foley_1,"balcony_finale_end"); + maps\_anim::addnotetrack_customfunction("world_body_damaged_no_exo","fin_ending_plr_foley_2",::fin_ending_plr_foley_2,"balcony_finale_end"); + maps\_anim::addnotetrack_customfunction("gideon","fin_ending_gideon_foley_1",::fin_ending_gideon_foley_1,"balcony_finale_end"); + maps\_anim::addnotetrack_customfunction("gideon","fin_ending_gideon_foley_2",::fin_ending_gideon_foley_2,"balcony_finale_end"); +} + +//Function Number: 4 +config_system() +{ + soundscripts\_audio::set_stringtable_mapname("shg"); + soundscripts\_snd_filters::snd_set_occlusion("med_occlusion"); + soundscripts\_audio_mix_manager::mm_add_submix("finale_global_mix"); + soundscripts\_audio_mix_manager::mm_add_submix("temp_vo_premix"); +} + +//Function Number: 5 +init_snd_flags() +{ +} + +//Function Number: 6 +init_globals() +{ + level.aud.water = spawnstruct(); + level.aud.water.enter_water_override = "enter_water_override"; + level.aud.water.exit_water_override = "exit_water_override"; + level.aud.underwater = 0; +} + +//Function Number: 7 +launch_threads() +{ + if(soundscripts\_audio::aud_is_specops()) + { + return; + } + + thread aud_rocket_stage_01_start(); +} + +//Function Number: 8 +launch_loops() +{ +} + +//Function Number: 9 +create_level_envelop_arrays() +{ + level.aud.envs = []; + level.aud.envs["speed_to_volume"] = [[0,0.1],[200,0.2],[400,0.5],[600,0.75],[800,0.8],[1000,0.9],[1100,1]]; +} + +//Function Number: 10 +precache_presets() +{ +} + +//Function Number: 11 +zone_handler(param_00,param_01) +{ + switch(param_00) + { + } +} + +//Function Number: 12 +music(param_00,param_01) +{ + thread music_handler(param_00,param_01); +} + +//Function Number: 13 +music_handler(param_00,param_01) +{ + switch(param_00) + { + case "mitchell_vo_intro": + soundscripts\_audio::aud_set_music_submix(0.9,0); + soundscripts\_audio_music::mus_play("mus_mitchell_vo_intro",0); + break; + + case "game_play_begin": + soundscripts\_audio::aud_set_music_submix(0.85,0); + soundscripts\_audio_music::mus_play("mus_game_play_begin",0); + break; + + case "weapons_free": + soundscripts\_audio::aud_set_music_submix(1,0); + soundscripts\_audio_music::mus_play("mus_weapons_free",3); + break; + + case "underwater_begin": + soundscripts\_audio_music::mus_stop(0.5); + break; + + case "underwater_end": + soundscripts\_audio::aud_set_music_submix(1,0); + soundscripts\_audio_music::mus_play("mus_underwater_end",0); + break; + + case "post_underwater_combat_begin": + soundscripts\_audio::aud_set_music_submix(1,0); + soundscripts\_audio_music::mus_play("mus_weapons_free",3); + break; + + case "post_underwater_combat_end": + soundscripts\_audio::aud_set_music_submix(1,0); + soundscripts\_audio_music::mus_play("mus_post_underwater_combat_end",0,1); + break; + + case "timer_begin": + soundscripts\_audio::aud_set_music_submix(1,0); + soundscripts\_audio_music::mus_play("mus_timer_begin",0,6); + break; + + case "ast_combat_begin": + soundscripts\_audio::aud_set_music_submix(1,0); + level.aud.ast_mus_on = 0; + for(;;) + { + var_02 = soundscripts\_snd_common::snd_get_num_enemies_aware(); + if(var_02 && !level.aud.ast_mus_on) + { + soundscripts\_audio_music::mus_play("mus_ast_combat_begin",1,2); + level.aud.ast_mus_on = 1; + } + else if(!var_02 && level.aud.ast_mus_on) + { + soundscripts\_audio_music::mus_play("mus_ast_combat_end",0,1); + level.aud.ast_mus_on = 0; + } + + wait(1); + } + break; + + case "ast_combat_end": + if(!isdefined(level.aud.ast_mus_on)) + { + level.aud.ast_mus_on = 0; + } + + if(level.aud.ast_mus_on) + { + soundscripts\_audio_music::mus_play("mus_ast_combat_end",0,1); + } + else + { + soundscripts\_audio_music::mus_stop(3); + } + break; + + case "post_door_kick": + soundscripts\_audio::aud_set_music_submix(0,0); + wait(0.1); + soundscripts\_audio_music::mus_play("mus_post_door_kick",3); + soundscripts\_audio::aud_set_music_submix(0.25,10); + break; + + case "hatch_scene_begin": + soundscripts\_audio::aud_set_music_submix(0.25,0); + soundscripts\_audio_music::mus_play("mus_hatch_scene_begin",3); + break; + + case "hatch_jump_begin": + soundscripts\_audio_music::mus_stop(5); + break; + + case "hatch_jump_end": + soundscripts\_audio::aud_set_music_submix(1,0); + wait(0.5); + soundscripts\_audio_music::mus_play("mus_hatch_jump_end",0); + break; + + case "missile_disabled": + soundscripts\_audio::aud_set_music_submix(1,0); + soundscripts\_audio_music::mus_play("mus_dazed_and_confused2",0); + break; + + case "mitchellhangon": + soundscripts\_audio_music::mus_stop(5); + break; + + case "dazed_and_confused1": + soundscripts\_audio::aud_set_music_submix(1,0); + soundscripts\_audio_music::mus_play("mus_dazed_and_confused1",0); + break; + + case "lobby_combat_begin": + soundscripts\_audio_music::mus_play("mus_hatch_scene_begin",4); + break; + + case "dazed_and_confused2": + soundscripts\_audio::aud_set_music_submix(1,0); + soundscripts\_audio_music::mus_play("mus_dazed_and_confused2",3); + break; + + case "gideon_sets_mitchell_down": + soundscripts\_audio::aud_set_music_submix(1,0); + soundscripts\_audio_music::mus_play("mus_gideon_sets_mitchell_down",3); + break; + + case "fin_irs_hellomitchell": + soundscripts\_audio::aud_set_music_submix(1,0); + soundscripts\_audio_music::mus_play("mus_irons_enters",4); + wait(35); + soundscripts\_audio_music::mus_play("mus_gideon_sets_mitchell_down",3); + level waittill("sounddone_fin_gdn_theresnotime"); + soundscripts\_audio::aud_set_music_submix(1,0); + soundscripts\_audio_music::mus_play("mus_irons_chase_being",3); + break; + + case "irons_chase_being_checkpoint": + soundscripts\_audio::aud_set_music_submix(1,0); + soundscripts\_audio_music::mus_play("mus_irons_chase_being",3); + break; + + case "irons_tackle": + soundscripts\_audio::aud_set_music_submix(0.4,7); + level waittill("sounddone_fin_irs_aaahhhhmitchell"); + soundscripts\_audio::aud_set_music_submix(1,2); + soundscripts\_audio_music::mus_play("mus_finale_finale",0,2); + level waittill("sounddone_fin_gdn_ivegotyamate"); + wait(3); + soundscripts\_audio_mix_manager::mm_add_submix("finale_finale",45); + soundscripts\_audio_mix_manager::mm_clear_submix("temp_vo_premix",5); + break; + + default: + soundscripts\_audio::aud_print_warning("\tMUSIC MESSAGE NOT HANDLED: " + param_00); + break; + } +} + +//Function Number: 14 +enter_water_override() +{ + level.aud.underwater = 1; + soundscripts\_audio_zone_manager::azm_set_filter_bypass(1); + soundscripts\_snd_filters::snd_fade_in_filter("underwater",0.05); + soundscripts\_audio_mix_manager::mm_add_submix("underwater"); + soundscripts\_audio_mix_manager::mm_add_submix("fin_underwater"); + soundscripts\_snd_common::snd_enable_soundcontextoverride("underwater"); + soundscripts\_snd_playsound::snd_play_2d("bet_swim_plr_submerge"); + soundscripts\_snd_playsound::snd_play_loop_2d("underwater_main_lp","kill_underwater_loop"); + soundscripts\_snd_playsound::snd_play_loop_2d("fin_mech_respirator","kill_underwater_loop",undefined,1); + level.gideon soundscripts\_snd_playsound::snd_play_loop_linked("underwater_bubble_lp_sm_01","kill_underwater_loop",undefined,undefined,0.5); + music("underwater_begin"); +} + +//Function Number: 15 +exit_water_override() +{ + level.aud.underwater = 0; + level notify("kill_underwater_loop"); + soundscripts\_snd_filters::snd_fade_out_filter(0.05); + soundscripts\_audio_mix_manager::mm_clear_submix("underwater"); + soundscripts\_audio_mix_manager::mm_clear_submix("fin_underwater"); + soundscripts\_audio_zone_manager::azm_set_filter_bypass(0); + soundscripts\_snd_common::snd_disable_soundcontextoverride("underwater"); + soundscripts\_audio_mix_manager::mm_add_submix("fin_mech_exit_water"); + soundscripts\_snd_playsound::snd_play_2d("fin_mech_exit_water"); + wait(2); + soundscripts\_audio_mix_manager::mm_clear_submix("fin_mech_exit_water"); + music("underwater_end"); +} + +//Function Number: 16 +start_intro() +{ + soundscripts\_audio_mix_manager::mm_add_submix("fin_intro"); +} + +//Function Number: 17 +start_intro_skip() +{ + music("game_play_begin"); +} + +//Function Number: 18 +start_canal() +{ + soundscripts\_audio_mix_manager::mm_clear_submix("fin_intro"); + music("weapons_free"); +} + +//Function Number: 19 +start_silo_approach() +{ + music("underwater_end"); + soundscripts\_audio_zone_manager::azm_start_zone("int_silo_med"); +} + +//Function Number: 20 +start_silo_floor_03() +{ + music("post_underwater_combat_begin"); + soundscripts\_audio_zone_manager::azm_start_zone("int_silo_med"); +} + +//Function Number: 21 +start_door_kick() +{ + soundscripts\_audio_zone_manager::azm_start_zone("int_silo_large"); +} + +//Function Number: 22 +start_silo_exhaust_entrance() +{ + music("hatch_scene_begin"); + soundscripts\_audio_zone_manager::azm_start_zone("int_silo_tunnel"); +} + +//Function Number: 23 +start_lobby() +{ + music("lobby_combat_begin"); +} + +//Function Number: 24 +start_sky_bridge() +{ +} + +//Function Number: 25 +start_will_room() +{ + music("gideon_sets_mitchell_down"); + soundscripts\_audio_mix_manager::mm_clear_submix("fin_black_out_seq"); + thread irons_reveal_scene(); +} + +//Function Number: 26 +start_irons_chase() +{ + music("irons_chase_being_checkpoint"); +} + +//Function Number: 27 +start_roof() +{ + music("irons_chase_being_checkpoint"); +} + +//Function Number: 28 +fin_midair_exp_audio(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("exp_amb_mid_air",param_00); +} + +//Function Number: 29 +fin_bldg_exp_audio(param_00) +{ +} + +//Function Number: 30 +fin_water_exp_audio(param_00) +{ +} + +//Function Number: 31 +fin_glass_exp_audio(param_00) +{ +} + +//Function Number: 32 +fin_flyin_start() +{ + soundscripts\_snd::snd_slate("fin_flyin_start"); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_intro_flight_jets_fronts",0.1); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_intro_flight_littlebird_path"); + level waittill("aud_intro_flight_arrive_hover"); + soundscripts\_snd_playsound::snd_play_delayed_loop_2d("fin_intro_flight_littlebird_lp",14.5,1,"fin_intro_flight_helicopter_stop",3,3); +} + +//Function Number: 33 +fin_flyin_drop() +{ + soundscripts\_snd::snd_slate("fin_flyin_drop"); + soundscripts\_snd_playsound::snd_play_2d("fin_mech_release_chain"); + level notify("fin_intro_flight_helicopter_stop"); +} + +//Function Number: 34 +fin_flyin_splash() +{ + soundscripts\_snd::snd_slate("fin_flyin_splash"); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_water_player_pre_splash",0.01,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_water_player_splash_fronts",0.1,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_water_player_hit_underwater",0.2,1); +} + +//Function Number: 35 +fin_flyin_gideon_splash() +{ + soundscripts\_snd_playsound::snd_play_2d("fin_water_gideon_hit_underwater"); +} + +//Function Number: 36 +find_npc_dive_boat_handler() +{ + var_00 = "fin_npc_boats_flyby"; + var_01 = []; + var_01[0] = 800; + var_02 = []; + var_02[0] = 20; + var_02[1] = 5; + thread soundscripts\_snd_common::snd_advanced_flyby_system(var_00,undefined,var_01,var_02,1,undefined,undefined,3,2); +} + +//Function Number: 37 +vrap_explode() +{ + self waittill("explode"); + self playsound("fin_vrap_explo"); + var_00 = spawnstruct(); + var_00.explo_shot_array_ = [["rocket_explode_metal",0],["rocket_explode_paintedmetal",0]]; + var_00.pos = self.origin; + var_00.explo_delay_chance_ = 100; + var_00.shake_dist_threshold_ = 1500; + var_00.ground_zero_dist_threshold_ = 500; + soundscripts\_snd_common::snd_ambient_explosion(var_00); +} + +//Function Number: 38 +fin_bullet_trails(param_00) +{ + if(level.aud.underwater == 1) + { + var_01 = soundscripts\_audio::aud_find_exploder(param_00); + if(isdefined(var_01)) + { + var_02 = var_01.v["origin"]; + soundscripts\_snd_playsound::snd_play_at("fin_canal_bullet_trail",var_02); + } + } +} + +//Function Number: 39 +fin_gid_exit_water() +{ + var_00 = self; + var_00 soundscripts\_snd_playsound::snd_play_linked("fin_gideon_mech_exit_water"); +} + +//Function Number: 40 +slate_fin_gideon_hatch_grab(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("fin_mech_hatch_rips"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("fin_gideon_hatch_grab",0); +} + +//Function Number: 41 +slate_finale_gideon_hatch_pull_1(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("fin_gideon_hatch_pull_01",0); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("fin_gideon_hatch_pull_pipe_01",0); +} + +//Function Number: 42 +slate_finale_gideon_hatch_regrip_1(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("fin_gideon_hatch_regrip_01",0); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("fin_gideon_hatch_regrip_01_lfe",0); +} + +//Function Number: 43 +slate_finale_gideon_hatch_pull_2(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("fin_gideon_hatch_pull_02",0); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("fin_gideon_hatch_pull_pipe_02",0); +} + +//Function Number: 44 +slate_finale_gideon_hatch_regrip_2(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("fin_gideon_hatch_regrip_02",0); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("fin_gideon_hatch_regrip_02_lfe",0); +} + +//Function Number: 45 +slate_finale_gideon_hatch_pull_3(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("fin_gideon_hatch_pull_03",0); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("fin_gideon_hatch_pull_pipe_03",0); +} + +//Function Number: 46 +slate_finale_gideon_hatch_regrip_3(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("fin_gideon_hatch_nag_hplant",0); +} + +//Function Number: 47 +slate_gideon_wave_hand_raise(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("fin_gideon_hatch_nag_hraise",0); +} + +//Function Number: 48 +slate_gideon_wave_hand_plant(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("fin_gideon_hatch_nag_hplant",0); +} + +//Function Number: 49 +slate_gideon_wave_hand_regrip(param_00) +{ +} + +//Function Number: 50 +slate_fin_vm_hatch_grab(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_plr_hatch_grab_pipe_high",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_plr_hatch_grab_pops",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_plr_hatch_grab_mech",0); +} + +//Function Number: 51 +slate_fin_vm_hatch_pull(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_plr_hatch_pull_pipe_high",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_plr_hatch_pull_pops",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_plr_hatch_pull_mech",0); +} + +//Function Number: 52 +slate_fin_vm_hatch_pull_loop(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_loop_2d("fin_plr_hatch_strain_mech_lp",0,undefined,"stop_mech_strain_loop"); +} + +//Function Number: 53 +slate_fin_vm_pull_relax(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_plr_pull_relax_mech",0); +} + +//Function Number: 54 +slate_fin_gideon_bar_break(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_gideon_pipe_break",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_gideon_pipe_break_sweet",0); +} + +//Function Number: 55 +slate_fin_piston_r_break(param_00) +{ + level notify("stop_mech_strain_loop"); + wait(5); + soundscripts\_audio_mix_manager::mm_clear_submix("fin_mech_hatch_rips"); +} + +//Function Number: 56 +slate_fin_piston_l_break(param_00) +{ +} + +//Function Number: 57 +slate_fin_vm_bar_break(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_plr_pipe_bar_break",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_plr_bar_break_mech",0); +} + +//Function Number: 58 +slate_fin_gideon_hatch_open(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_gideon_hatch_open",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_gideon_hatch_open_sweet",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_gideon_hatch_open_mech",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("mech_jump_plr",7.75); +} + +//Function Number: 59 +slate_fin_gideon_hatch_push(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_gideon_hatch_push",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_gideon_hatch_push_sweet",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_gideon_hatch_push_mech",0); +} + +//Function Number: 60 +shaft_descent_start() +{ + soundscripts\_audio_mix_manager::mm_add_submix("fin_shaft_descent"); + soundscripts\_snd_playsound::snd_play_loop_2d("fin_shaft_free_fall","kill_free_fall",0.25); + level.aud.wind_lp = soundscripts\_snd_playsound::snd_play_loop_2d("fin_shaft_free_fall_speed_wind","kill_free_fall_wind"); +} + +//Function Number: 61 +shaft_descent_state_change(param_00,param_01) +{ + var_02 = 0.05; + var_03 = 0.2; + if(param_00 == "shaft_no_hands" && param_01 == "shaft_right_hand") + { + soundscripts\_snd_playsound::snd_play_2d("fin_shaft_impact_right"); + soundscripts\_snd_playsound::snd_play_loop_2d("fin_shaft_descent_right","kill_right_loop",var_02,var_03); + soundscripts\_snd_playsound::snd_play_loop_2d("fin_shaft_descent_lfe","kill_lfe_loop",var_02,var_03); + level notify("kill_free_fall"); + return; + } + + if(param_00 == "shaft_no_hands" && param_01 == "shaft_left_hand") + { + soundscripts\_snd_playsound::snd_play_2d("fin_shaft_impact_left"); + soundscripts\_snd_playsound::snd_play_loop_2d("fin_shaft_descent_left","kill_left_loop",var_02,var_03); + soundscripts\_snd_playsound::snd_play_loop_2d("fin_shaft_descent_lfe","kill_lfe_loop",var_02,var_03); + level notify("kill_free_fall"); + return; + } + + if(param_00 == "shaft_left_hand" && param_01 == "shaft_no_hands") + { + soundscripts\_snd_playsound::snd_play_2d("fin_shaft_release_left"); + level notify("kill_left_loop"); + level notify("kill_lfe_loop"); + soundscripts\_snd_playsound::snd_play_loop_2d("fin_shaft_free_fall","kill_free_fall",0.05,var_03); + return; + } + + if(param_00 == "shaft_right_hand" && param_01 == "shaft_no_hands") + { + soundscripts\_snd_playsound::snd_play_2d("fin_shaft_release_right"); + level notify("kill_right_loop"); + level notify("kill_lfe_loop"); + soundscripts\_snd_playsound::snd_play_loop_2d("fin_shaft_free_fall","kill_free_fall",0.05,var_03); + return; + } + + if(param_00 == "shaft_right_hand" && param_01 == "shaft_both_hands") + { + soundscripts\_snd_playsound::snd_play_2d("fin_shaft_impact_left"); + soundscripts\_snd_playsound::snd_play_loop_2d("fin_shaft_descent_left","kill_left_loop",var_02,var_03); + return; + } + + if(param_00 == "shaft_left_hand" && param_01 == "shaft_both_hands") + { + soundscripts\_snd_playsound::snd_play_2d("fin_shaft_impact_right"); + soundscripts\_snd_playsound::snd_play_loop_2d("fin_shaft_descent_right","kill_right_loop",var_02,var_03); + return; + } + + if(param_00 == "shaft_no_hands" && param_01 == "shaft_both_hands") + { + soundscripts\_snd_playsound::snd_play_2d("fin_shaft_impact_right"); + soundscripts\_snd_playsound::snd_play_2d("fin_shaft_impact_left"); + soundscripts\_snd_playsound::snd_play_loop_2d("fin_shaft_descent_left","kill_left_loop",var_02,var_03); + soundscripts\_snd_playsound::snd_play_loop_2d("fin_shaft_descent_right","kill_right_loop",var_02,var_03); + soundscripts\_snd_playsound::snd_play_loop_2d("fin_shaft_descent_lfe","kill_lfe_loop",var_02,var_03); + level notify("kill_free_fall"); + return; + } + + if(param_00 == "shaft_both_hands" && param_01 == "shaft_no_hands") + { + soundscripts\_snd_playsound::snd_play_2d("fin_shaft_release_right"); + soundscripts\_snd_playsound::snd_play_2d("fin_shaft_release_left"); + soundscripts\_snd_playsound::snd_play_loop_2d("fin_shaft_free_fall","kill_free_fall",0.05,var_03); + level notify("kill_right_loop"); + level notify("kill_left_loop"); + level notify("kill_lfe_loop"); + return; + } + + if(param_00 == "shaft_both_hands" && param_01 == "shaft_left_hand") + { + level notify("kill_right_loop"); + return; + } + + if(param_00 == "shaft_both_hands" && param_01 == "shaft_right_hand") + { + level notify("kill_left_loop"); + } +} + +//Function Number: 62 +shaft_descent_speed_update(param_00) +{ + param_00 = abs(param_00); + var_01 = soundscripts\_snd::snd_map(param_00,level.aud.envs["speed_to_volume"]); + level.aud.wind_lp scalevolume(var_01,0.05); +} + +//Function Number: 63 +shaft_descent_end() +{ + soundscripts\_audio_mix_manager::mm_clear_submix("fin_shaft_descent"); + soundscripts\_snd::snd_slate("shaft_descent_end"); + level notify("kill_right_loop"); + level notify("kill_left_loop"); + level notify("kill_lfe_loop"); + wait(2); + level notify("kill_free_fall"); + level notify("kill_free_fall_wind"); +} + +//Function Number: 64 +silo_door_kick(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("fin_gideon_blast_door_kick"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("fin_gideon_silo_door_kick_debris",0); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("fin_gideon_silo_door_kick_mech",0); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("fin_gideon_silo_door_kick_metal",0); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("fin_gideon_silo_door_kick_thud",0); + wait(6); + soundscripts\_audio_mix_manager::mm_clear_submix("fin_gideon_blast_door_kick"); +} + +//Function Number: 65 +exhaust_shaft_land() +{ + soundscripts\_audio_mix_manager::mm_add_submix("fin_mech_shaft_lands"); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_plr_shaft_land_impact",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_plr_shaft_land_mech",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_plr_shaft_land_sweet",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_shaft_land_vent",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_shaft_land_debris",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_shaft_land_debris_rain",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_shaft_land_wind",0); + wait(10); + soundscripts\_audio_mix_manager::mm_clear_submix("fin_mech_shaft_lands"); +} + +//Function Number: 66 +exhaust_shaft_land_gideon(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("fin_gideon_shaft_land_impact",0); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("fin_gideon_shaft_land_mech",0); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("fin_gideon_shaft_land_sweet",0); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("fin_gideon_mech_shields_up",2.25); + level.player soundscripts\_snd_playsound::snd_play_delayed_linked("fin_player_mech_shields_up",3); + level notify("aud_begin_rocket_ignition"); +} + +//Function Number: 67 +aud_rocket_stage_01_start() +{ + level waittill("aud_begin_rocket_ignition"); + soundscripts\_audio_mix_manager::mm_add_submix("fin_rocket_tunnel"); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_silo_rocket_ignition",7.5); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_silo_fire_blast",11.5); + var_00 = 13.6; + var_01 = 10; + soundscripts\_snd_playsound::snd_play_delayed_loop_2d("fin_launch_stage_01_lp",var_00,undefined,"aud_stop_stage_01_loops",undefined,var_01); + soundscripts\_snd_playsound::snd_play_delayed_loop_2d("fin_launch_stage_01_lp_lfe",var_00,undefined,"aud_stop_stage_01_loops",undefined,var_01); + soundscripts\_snd_playsound::snd_play_delayed_loop_2d("fin_launch_stage_01_lp_rears",var_00,undefined,"aud_stop_stage_01_loops",undefined,var_01); +} + +//Function Number: 68 +aud_rocket_launch_start() +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_launch_stage_02_startup_whine",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_launch_stage_02_startup_thruster",3.1); + var_00 = 0; + var_01 = 5; + var_02 = 2.5; + soundscripts\_snd_playsound::snd_play_delayed_loop_2d("fin_launch_stage_02_lp",var_00,undefined,"aud_stop_stage_02_loops",var_01,var_02); + soundscripts\_snd_playsound::snd_play_delayed_loop_2d("fin_launch_stage_02_lp_body",var_00,undefined,"aud_stop_stage_02_loops",var_01,var_02); + soundscripts\_snd_playsound::snd_play_delayed_loop_2d("fin_launch_stage_02_lp_whine",var_00,undefined,"aud_stop_stage_02_loops",var_01,var_02); + level notify("aud_stop_stage_01_loops"); +} + +//Function Number: 69 +fin_silo_fail_launch(param_00) +{ + var_01 = 0.8; + wait(var_01); + level notify("aud_stop_stage_02_loops"); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_silo_launch_fail",0); +} + +//Function Number: 70 +fin_silo_success() +{ + soundscripts\_snd::snd_slate("fin_silo_success"); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_launch_win_turbine",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_launch_win_mech",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_launch_win_debris",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_launch_win_sparks",0); + wait(0.5); + level notify("aud_stop_stage_01_loops"); + level notify("aud_stop_stage_02_loops"); +} + +//Function Number: 71 +aud_fin_rocket_damage_vfx() +{ + soundscripts\_audio_mix_manager::mm_add_submix("fin_rocket_win_explosion",0.05); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_launch_win_thrust_off",0.05); + wait(1); + soundscripts\_audio_mix_manager::mm_clear_submix("fin_rocket_win_explosion",2); +} + +//Function Number: 72 +missile_small_thrusters_off() +{ + soundscripts\_snd::snd_slate("missile_small_thrusters_off"); +} + +//Function Number: 73 +missile_large_thrusters_off() +{ + soundscripts\_snd::snd_slate("missile_large_thrusters_off"); +} + +//Function Number: 74 +gid_release_plr_mech_suit() +{ + soundscripts\_snd::snd_slate("gid_release_plr_mech_suit"); + soundscripts\_snd_playsound::snd_play_delayed_2d("gid_release_plr_mech_suit",5.5); +} + +//Function Number: 75 +fin_post_silo_gid_foley(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("fin_post_launch_foley"); + soundscripts\_snd::snd_slate("post silo_gid foley"); + param_00 soundscripts\_snd_playsound::snd_play_linked("fin_post_launch_gid_foley"); + soundscripts\_snd_playsound::snd_play_2d("fin_post_launch_plr_breaths"); +} + +//Function Number: 76 +fin_post_silo_switch_to_plr(param_00) +{ + soundscripts\_snd::snd_slate("switch_to_plr"); + soundscripts\_snd_playsound::snd_play_2d("fin_post_launch_plr_foley"); + wait(10); + soundscripts\_audio_mix_manager::mm_add_submix("fin_black_out_seq",3); + wait(2); + soundscripts\_audio_mix_manager::mm_clear_submix("fin_post_launch_foley"); +} + +//Function Number: 77 +fin_gid_carry_pickup_1(param_00) +{ + soundscripts\_audio_mix_manager::mm_clear_submix("fin_rocket_tunnel"); +} + +//Function Number: 78 +fin_silo_plr_picked_up(param_00) +{ + soundscripts\_snd::snd_slate("pickup"); +} + +//Function Number: 79 +fin_gid_carry_plr_1(param_00) +{ + if(!isdefined(level.aud.carry_first_done)) + { + level.aud.carry_first_done = 1; + soundscripts\_snd_playsound::snd_play_2d("fin_blackout_carry_1"); + return; + } + + if(level.aud.carry_first_done == 1) + { + level.aud.carry_first_done = 2; + soundscripts\_audio_mix_manager::mm_add_submix("fin_black_out_seq"); + soundscripts\_snd_playsound::snd_play_2d("fin_blackout_carry_2"); + return; + } +} + +//Function Number: 80 +fin_gid_carry_plr_2(param_00) +{ +} + +//Function Number: 81 +fin_gid_plr_putdown(param_00) +{ + soundscripts\_snd_common::snd_enable_soundcontextoverride("finale_handgun"); + soundscripts\_snd_playsound::snd_play_2d("fin_blackout_gid_drops_plr"); + wait(4); + soundscripts\_audio_mix_manager::mm_clear_submix("fin_black_out_seq"); + soundscripts\_audio_mix_manager::mm_add_submix("fin_lobby_shootout"); +} + +//Function Number: 82 +fin_lobby_gun_limp() +{ + soundscripts\_snd_playsound::snd_play_2d("fin_lobby_plr_arm_goes_limp"); +} + +//Function Number: 83 +fin_gid_carry_pickup_2(param_00) +{ + soundscripts\_snd_common::snd_disable_soundcontextoverride("finale_handgun"); + param_00 soundscripts\_snd_playsound::snd_play_linked("fin_lobby_gid_picksup_plr"); + soundscripts\_snd_playsound::snd_play_2d("fin_lobby_plr_picked_up"); + wait(4); + soundscripts\_audio_mix_manager::mm_clear_submix("fin_lobby_shootout"); +} + +//Function Number: 84 +fin_gid_carry_plr_3(param_00) +{ +} + +//Function Number: 85 +fin_gid_carry_plr_4(param_00) +{ +} + +//Function Number: 86 +irons_reveal_scene() +{ + soundscripts\_audio_mix_manager::mm_clear_submix("fin_black_out_seq"); +} + +//Function Number: 87 +aud_irons_says_hello() +{ + wait(8.8); + soundscripts\_audio_mix_manager::mm_add_submix("fin_irons_lights"); + soundscripts\_snd_playsound::snd_play_2d("fin_irons_reveal_light_on"); + wait(3); + soundscripts\_audio_mix_manager::mm_clear_submix("fin_irons_lights"); +} + +//Function Number: 88 +aud_irons_reveal_star_trek_door() +{ + var_00 = self; + var_00 soundscripts\_snd_playsound::snd_play_linked("fin_irons_reveal_door_slide"); +} + +//Function Number: 89 +fin_reveal_gid_drops_plr(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("fin_irons_reveal"); + soundscripts\_snd::snd_slate("drop player"); + param_00 soundscripts\_snd_playsound::snd_play_linked("fin_reveal_gid_drop_plr"); + soundscripts\_snd_playsound::snd_play_2d("fin_reveal_plr_dropped"); +} + +//Function Number: 90 +fin_irons_reveal_plr_start(param_00) +{ +} + +//Function Number: 91 +fin_irons_reveal_plr_stand(param_00) +{ + if(!isdefined(level.aud.reveal_scene)) + { + level.aud.reveal_scene = 1; + soundscripts\_snd::snd_slate("plr_stands"); + soundscripts\_snd_playsound::snd_play_2d("fin_reveal_plr_gets_up"); + } +} + +//Function Number: 92 +fin_irons_reveal_irons_start(param_00) +{ + soundscripts\_snd::snd_slate("irons_start"); + param_00 soundscripts\_snd_playsound::snd_play_linked("fin_reveal_irons_part_1"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("fin_irons_phone_pullout",6.1); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("fin_irons_reveal_phone_beep_occluded",7.35); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("fin_irons_reveal_phone_beep",11.72); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("fin_irons_phone_putaway",15.4); +} + +//Function Number: 93 +fin_irons_reveal_irons_takes_gun(param_00) +{ + soundscripts\_snd::snd_slate("irons_takes gun"); + param_00 soundscripts\_snd_playsound::snd_play_linked("fin_reveal_irons_part_2"); +} + +//Function Number: 94 +fin_irons_reveal_irons_quake(param_00) +{ + soundscripts\_snd::snd_slate("irons quake"); + param_00 soundscripts\_snd_playsound::snd_play_linked("fin_reveal_irons_part_3"); +} + +//Function Number: 95 +aud_irons_reveal_bomb_shake(param_00) +{ + var_01 = 3.9; + var_02 = param_00 + var_01; + wait(var_02); + soundscripts\_audio_mix_manager::mm_add_submix("fin_irons_reveal_bomb"); + soundscripts\_snd_playsound::snd_play_2d("fin_irons_reveal_bomb"); + wait(7); + soundscripts\_audio_mix_manager::mm_clear_submix("fin_irons_reveal_bomb"); +} + +//Function Number: 96 +fin_irons_reveal_irons_points_gun(param_00) +{ +} + +//Function Number: 97 +fin_irons_reveal_gun_away_exit(param_00) +{ + soundscripts\_snd::snd_slate("irons exits"); + param_00 soundscripts\_snd_playsound::snd_play_linked("fin_reveal_irons_part_4"); +} + +//Function Number: 98 +fin_irons_reveal_scene_gid_start(param_00) +{ +} + +//Function Number: 99 +fin_irons_reveal_scene_gid_exo_freeze(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("fin_exo_scramble"); +} + +//Function Number: 100 +fin_irons_reveal_mash_start() +{ + level.aud.irons_reveal_mash_state = "stopped"; + level.aud.irons_reveal_mash_loop_stopped = 1; +} + +//Function Number: 101 +fin_irons_reveal_mash(param_00) +{ + if(level.aud.irons_reveal_mash_state != param_00) + { + switch(param_00) + { + case "peak": + break; + + case "speedup": + if(level.aud.irons_reveal_mash_loop_stopped == 1) + { + soundscripts\_snd::snd_slate("start"); + level notify("irons_reveal_mash_loop_start"); + level.aud.irons_reveal_mash_loop_stopped = 0; + soundscripts\_snd_playsound::snd_play_loop_2d("fin_exo_release_lp","kill_release_lp"); + } + break; + + case "stopped": + soundscripts\_snd::snd_slate("stopped"); + thread fin_irons_reveal_mash_try_stop(); + break; + + case "slowdown": + break; + } + + level.aud.irons_reveal_mash_state = param_00; + } +} + +//Function Number: 102 +fin_irons_reveal_mash_try_stop() +{ + level endon("irons_reveal_mash_loop_start"); + wait(0.25); + level.aud.irons_reveal_mash_loop_stopped = 1; + level notify("kill_release_lp"); +} + +//Function Number: 103 +fin_irons_reveal_mash_finish() +{ + soundscripts\_snd::snd_slate("finished"); + level notify("kill_release_lp"); + soundscripts\_snd_playsound::snd_play_2d("fin_exo_release_finished"); + soundscripts\_snd_playsound::snd_play_2d("fin_exo_release_suit_falls_off"); + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_exo_release_eject",2); +} + +//Function Number: 104 +aud_irons_reveal_bomb_shake_02(param_00) +{ + var_01 = 5.2; + var_02 = param_00 + var_01; + wait(var_02); + soundscripts\_audio_mix_manager::mm_add_submix("fin_irons_reveal_bomb"); + soundscripts\_snd_playsound::snd_play_2d("fin_irons_reveal_bomb_02"); + wait(7); + soundscripts\_audio_mix_manager::mm_clear_submix("fin_irons_reveal_bomb"); +} + +//Function Number: 105 +irons_reveal_exit_door_open(param_00) +{ + soundscripts\_snd::snd_slate("irons_reveal_exit_door_open"); + param_00 soundscripts\_snd_playsound::snd_play_linked("fin_chase_irons_first_door"); +} + +//Function Number: 106 +irons_keypad_door_open(param_00) +{ + soundscripts\_snd::snd_slate("irons_keypad_door_open"); + param_00 soundscripts\_snd_playsound::snd_play_linked("fin_chase_irons_door_open"); +} + +//Function Number: 107 +irons_chase_door_close(param_00) +{ + soundscripts\_snd::snd_slate("irons_chase_door_close"); + param_00 soundscripts\_snd_playsound::snd_play_linked("fin_chase_irons_door_close"); + wait(5); + soundscripts\_audio_mix_manager::mm_clear_submix("fin_irons_reveal"); +} + +//Function Number: 108 +fin_skybridge_takedown_start() +{ + soundscripts\_audio_mix_manager::mm_add_submix("skybridge_takedown",1); + soundscripts\_snd_timescale::snd_set_timescale("slomo_timescale"); + soundscripts\_snd_playsound::snd_play_2d("fin_skybridge_takedown","kill_takedown",undefined,1.1); +} + +//Function Number: 109 +fin_skybridge_slo_mo_start() +{ + soundscripts\_audio_mix_manager::mm_add_submix("skybridge_takedown_slomo"); +} + +//Function Number: 110 +fin_skybridge_slo_mo_stop() +{ + soundscripts\_audio_mix_manager::mm_clear_submix("skybridge_takedown_slomo",0.25); + wait(1); + soundscripts\_audio_mix_manager::mm_clear_submix("skybridge_takedown"); + soundscripts\_snd_timescale::snd_set_timescale("all_on"); +} + +//Function Number: 111 +bridge_takedown_success() +{ + soundscripts\_audio_mix_manager::mm_add_submix("skybridge_knife"); + soundscripts\_snd_playsound::snd_play_2d("fin_skybridge_knife_out"); +} + +//Function Number: 112 +bridge_takedown_fail() +{ + level notify("kill_takedown"); + soundscripts\_snd_playsound::snd_play_2d("fin_skybridge_takedown_fail"); +} + +//Function Number: 113 +fin_skybridge_glass_explo() +{ + soundscripts\_snd_playsound::snd_play_2d("fin_skybridge_explo"); + soundscripts\_snd_playsound::snd_play_2d("exp_generic_explo_shot_22"); + soundscripts\_snd_playsound::snd_play_2d("glass_pane_blowout"); + soundscripts\_snd_playsound::snd_play_2d("exp_debris_glass"); + wait(3); + soundscripts\_audio_mix_manager::mm_clear_submix("skybridge_knife"); +} + +//Function Number: 114 +fin_irons_takedown_start() +{ + soundscripts\_snd_playsound::snd_play_2d("fin_balcony_irons_tackle_intro"); + soundscripts\_snd_playsound::snd_play_loop_2d("fin_ending_fire_loop_lfe","kill_fire_lp",0.5,0.5); + soundscripts\_snd_playsound::snd_play_2d("fin_ending_fire_explos"); +} + +//Function Number: 115 +fin_irons_tackle() +{ + soundscripts\_audio_mix_manager::mm_add_submix("fin_irons_tackle"); + var_00 = (16596,-86850,6998); + soundscripts\_snd_playsound::snd_play_loop_at("fin_ending_fire_loop",var_00,undefined,2); + soundscripts\_snd_playsound::snd_play_2d("fin_balcony_irons_tackle"); + wait(6); + soundscripts\_audio_mix_manager::mm_clear_submix("fin_irons_tackle",1); +} + +//Function Number: 116 +fin_ending_slo_mo_override() +{ + soundscripts\_snd_timescale::snd_set_timescale("all_off"); +} + +//Function Number: 117 +finale_qte_show_knife() +{ + soundscripts\_snd_timescale::snd_set_timescale("all_off"); + soundscripts\_audio_mix_manager::mm_add_submix("fin_end_qte"); + soundscripts\_snd_playsound::snd_play_2d("fin_ending_show_knife"); +} + +//Function Number: 118 +finale_ending_qte1_success() +{ + soundscripts\_snd_playsound::snd_play_2d("fin_ending_flex_hand"); +} + +//Function Number: 119 +finale_ending_qte1_timeout() +{ +} + +//Function Number: 120 +finale_ending_buttonmash_start() +{ + soundscripts\_snd_playsound::snd_play_2d("fin_ending_qte_drag"); +} + +//Function Number: 121 +finale_ending_buttonmash_fail() +{ + soundscripts\_snd_playsound::snd_play_2d("fin_ending_qte_fail_fall"); +} + +//Function Number: 122 +finale_ending_qte2_success() +{ + wait(0.5); + soundscripts\_audio_mix_manager::mm_add_submix("fin_end_kill_irons",0.5); + wait(2.5); + soundscripts\_audio_mix_manager::mm_clear_submix("fin_end_kill_irons",1); +} + +//Function Number: 123 +fin_ending_qte_stab(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("fin_ending_qte_stab"); + soundscripts\_snd::snd_slate("stab"); +} + +//Function Number: 124 +finale_ending_qte2_timeout() +{ + soundscripts\_snd::snd_slate("finale_ending_qte2_timeout"); +} + +//Function Number: 125 +fin_ending_knife_drop(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("fin_ending_knife_drop",0.1); + soundscripts\_audio_mix_manager::mm_add_submix("fin_end_gid_rescue",20); +} + +//Function Number: 126 +fin_ending_plr_foley_1(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("fin_end_rescue_foley"); + soundscripts\_snd_playsound::snd_play_2d("fin_ending_gid_rescue_foley_1"); +} + +//Function Number: 127 +fin_ending_plr_foley_2(param_00) +{ + var_01 = soundscripts\_snd_playsound::snd_play_2d("fin_ending_gid_rescue_foley_2"); + wait(7.25); + var_01 scalevolume(0,13); +} + +//Function Number: 128 +fin_ending_gideon_foley_1(param_00) +{ +} + +//Function Number: 129 +fin_ending_gideon_foley_2(param_00) +{ +} \ No newline at end of file diff --git a/AW/PC/maps/finale_code.gsc b/AW/PC/maps/finale_code.gsc new file mode 100644 index 0000000..33f088b --- /dev/null +++ b/AW/PC/maps/finale_code.gsc @@ -0,0 +1,3272 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: finale_code.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 139 + * Decompile Time: 2088 ms + * Timestamp: 4/22/2024 2:29:09 AM +*******************************************************************/ + +//Function Number: 1 +finale_intro_screen() +{ + level.intro_offset = -1; + soundscripts\_snd::snd_message("start_intro"); + var_00 = 8; + setsaveddvar("cg_cinematicfullscreen","1"); + level.player disableweapons(); + level.player freezecontrols(1); + level.player takeallweapons(); + thread maps\_shg_utility::play_chyron_video("chyron_text_finale",14,2); + common_scripts\utility::flag_wait("chyron_video_done"); + common_scripts\utility::flag_set("flag_chyron_finale_complete"); + common_scripts\utility::flag_wait("flag_dialogue_intro_black_complete"); + level.player maps\finale_utility::mech_enable(undefined,1); + level.player enableweapons(); + common_scripts\utility::flag_set("flag_intro_screen_complete"); + common_scripts\utility::flag_set("flag_canal_combat_start"); +} + +//Function Number: 2 +spawn_function() +{ + maps\_utility::array_spawn_function_noteworthy("enemy_flyin_01",::ai_canal_combat_01_accuracy_think); + maps\_utility::array_spawn_function_noteworthy("enemy_flyin_bridge_01",::ai_canal_combat_02_accuracy_think); + maps\_utility::array_spawn_function_noteworthy("enemy_flyin_bridge_02",::ai_canal_combat_03_accuracy_think); + maps\_utility::array_spawn_function_noteworthy("enemy_flyin_04",::ai_canal_combat_04_accuracy_think); + maps\_utility::array_spawn_function_noteworthy("enemy_flyin_05",::ai_canal_combat_05_accuracy_think); + maps\_utility::array_spawn_function_noteworthy("ai_silo_entrance",::ai_silo_think); + maps\_utility::array_spawn_function_noteworthy("ai_silo_floor_01",::ai_silo_think); + maps\_utility::array_spawn_function_noteworthy("ai_silo_floor_01_balcony",::ai_silo_floor_01_balcony); + maps\_utility::array_spawn_function_noteworthy("ai_silo_floor_01_wave_2",::ai_silo_floor_01_wave_2_think); + maps\_utility::array_spawn_function_noteworthy("ai_silo_floor_02",::ai_silo_floor_01_wave_3_think); + maps\_utility::array_spawn_function_noteworthy("enemy_boost_silo_01",::maps\finale_utility::follow_volume_think); + maps\_utility::array_spawn_function_noteworthy("enemy_boost_silo_01_b",::maps\finale_utility::follow_volume_think); + maps\_utility::array_spawn_function_noteworthy("enemy_boost_silo_01_flood",::maps\finale_utility::follow_volume_think); + maps\_utility::array_spawn_function_noteworthy("enemy_boost_silo_02",::maps\finale_utility::follow_volume_think); + maps\_utility::array_spawn_function_noteworthy("enemy_boost_silo_03",::maps\finale_utility::follow_volume_think); + maps\_utility::array_spawn_function_noteworthy("enemy_boost_silo_03_flood",::maps\finale_utility::follow_volume_think); + maps\_utility::array_spawn_function_noteworthy("enemy_lobby",::ai_lobby_think); + maps\_utility::array_spawn_function_noteworthy("rpg_vehicle",::maps\finale_utility::postspawn_rpg_vehicle); + maps\_utility::array_spawn_function_noteworthy("mech_silo",::mech_behavior_init); + maps\_utility::array_spawn_function_noteworthy("boat_canal",::boat_death_think); + maps\_utility::add_global_spawn_function("axis",::tweak_enemy_hp); + createthreatbiasgroup("enemy_canal"); + createthreatbiasgroup("enemy_silo"); + createthreatbiasgroup("player"); +} + +//Function Number: 3 +setup_combat() +{ + spawn_function(); + level.player thread threat_bias_canal_think(); + level.player thread threat_bias_silo_think(); + thread canal_chase_boats(); + thread combat_canal_01(); + thread combat_flyin_bridge(); + thread combat_silo(); + thread combat_silo_mech(); + thread combat_silo_boost(); +} + +//Function Number: 4 +setup_se() +{ + thread intro_flyin(); +} + +//Function Number: 5 +tweak_enemy_hp() +{ + if(issubstr(self.classname,"elite")) + { + self.health = 650; + } + + if(issubstr(self.classname,"mech")) + { + self.health = 7000; + } +} + +//Function Number: 6 +player_mech_melee_modifier() +{ + if(issubstr(self.classname,"mech")) + { + return; + } + + maps\_utility::add_damage_function(::player_mech_melee_modifier_damage_function); +} + +//Function Number: 7 +player_mech_melee_modifier_damage_function(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + if((param_04 == "MOD_MELEE" || param_04 == "MOD_MELEE_ALT") && isplayer(param_01)) + { + self dodamage(self.health + 1000,param_01 geteye(),param_01,param_01,"MOD_MELEE_ALT"); + } +} + +//Function Number: 8 +ai_silo_think() +{ + self endon("death"); + self cleargoalvolume(); + self setgoalvolumeauto(getent("info_v_silo_entrance","targetname")); + common_scripts\utility::flag_wait("flag_combat_silo_entrance_retreat"); + self cleargoalvolume(); + self setgoalvolumeauto(getent("info_v_silo_room_01","targetname")); + common_scripts\utility::flag_wait("flag_combat_silo_floor_01_ware_02"); + self cleargoalvolume(); + self setgoalvolumeauto(getent("info_v_silo_room_01_wave_2","targetname")); + common_scripts\utility::flag_wait("flag_combat_silo"); + self cleargoalvolume(); + self setgoalvolumeauto(getent("info_v_silo_room_01","targetname")); + maps\finale_utility::spawn_metrics_waittill_count_reaches(2,["ai_silo_floor_01"],1); + common_scripts\utility::flag_set("flag_ai_silo_floor_01_end"); + common_scripts\utility::flag_set("flag_combat_silo_floor_02"); + self cleargoalvolume(); + maps\_utility::player_seek(); +} + +//Function Number: 9 +ai_silo_floor_01_balcony() +{ + self endon("death"); + self cleargoalvolume(); + self setgoalvolumeauto(getent("info_v_silo_room_01_balcony","targetname")); + maps\finale_utility::spawn_metrics_waittill_count_reaches(6,["ai_silo_floor_01_wave_2","ai_silo_floor_01","ai_silo_floor_01_balcony"],1); + self cleargoalvolume(); + self setgoalvolumeauto(getent("info_v_silo_room_02","targetname")); + common_scripts\utility::flag_wait("flag_combat_silo_floor_02_retreat"); + self cleargoalvolume(); + self setgoalvolumeauto(getent("info_v_silo_room_02_retreat","targetname")); +} + +//Function Number: 10 +ai_silo_floor_01_wave_2_think() +{ + self endon("death"); + self cleargoalvolume(); + self setgoalvolumeauto(getent("info_v_silo_room_01_wave_2","targetname")); + maps\finale_utility::spawn_metrics_waittill_count_reaches(2,["ai_silo_floor_01_wave_2","ai_silo_floor_01"],1); + common_scripts\utility::flag_set("flag_ai_silo_floor_01_end"); + self cleargoalvolume(); + self setgoalvolumeauto(getent("info_v_silo_room_02","targetname")); + common_scripts\utility::flag_wait("flag_combat_silo_floor_02_retreat"); + self cleargoalvolume(); + self setgoalvolumeauto(getent("info_v_silo_room_02_retreat","targetname")); +} + +//Function Number: 11 +ai_silo_floor_01_wave_3_think() +{ + self endon("death"); + self cleargoalvolume(); + self setgoalvolumeauto(getent("info_v_silo_room_02","targetname")); + common_scripts\utility::flag_wait("flag_combat_silo_floor_02_retreat"); + self cleargoalvolume(); + self setgoalvolumeauto(getent("info_v_silo_room_02_retreat","targetname")); +} + +//Function Number: 12 +ai_lobby_think() +{ + self endon("death"); + maps\_utility::set_baseaccuracy(0.01); + common_scripts\utility::flag_wait("flag_lobby_player_can_shoot"); + wait(1); + self.health = 40; + maps\_utility::disable_long_death(); + maps\_utility::set_baseaccuracy(0.5); + maps\finale_utility::disable_grenades(); + common_scripts\utility::flag_wait("flag_lobby_seek_player"); + self cleargoalvolume(); + maps\_utility::player_seek(); +} + +//Function Number: 13 +mech_behavior_init() +{ + self endon("death"); + if(!isdefined(self)) + { + return; + } + + self.paindamagestart = 300; + self.paindamagemin = 150; + thread badplace_on_entity(195,100,"allies"); + maps\_utility::ent_flag_init("mech_should_attack_player"); + for(;;) + { + var_00 = mech_get_closest_node(); + if(isdefined(var_00)) + { + var_00.mech_using_this_node = self; + maps\_mech::mech_set_goal_node(var_00); + } + + maps\_utility::ent_flag_wait("mech_should_attack_player"); + thread maps\_mech::mech_rocket_launcher_behavior(); + maps\_utility::ent_flag_waitopen("mech_should_attack_player"); + maps\_mech::mech_stop_rockets(); + } +} + +//Function Number: 14 +badplace_on_entity(param_00,param_01,param_02) +{ + self endon("death"); + var_03 = 0.5; + for(;;) + { + badplace_cylinder("",var_03,self.origin,param_00,param_01,param_02); + wait(var_03); + } +} + +//Function Number: 15 +mech_get_closest_node() +{ + var_00 = getnodearray("node_mech","script_noteworthy"); + var_01 = undefined; + var_02 = undefined; + foreach(var_04 in var_00) + { + if(isalive(var_04.mech_using_this_node)) + { + continue; + } + + var_05 = distancesquared(self.origin,var_04.origin); + if(!isdefined(var_01) || var_05 < var_02) + { + var_01 = var_04; + var_02 = var_05; + } + } + + return var_01; +} + +//Function Number: 16 +combat_silo() +{ + common_scripts\utility::flag_wait("flag_combat_silo_entrance"); + thread maps\_utility::autosave_now(); + level.player thread maps\finale_utility::mech_glass_damage_think("flag_obj_escape"); + level.gideon thread maps\finale_utility::mech_glass_damage_think("flag_obj_escape"); + level.gideon maps\_mech::mech_start_rockets(512,undefined,undefined,undefined,83.33334,undefined,undefined); + soundscripts\_snd::snd_message("start_silo_approach"); + var_00 = getentarray("ai_silo_entrance","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 maps\_utility::spawn_ai(1); + } + + common_scripts\utility::flag_wait("flag_combat_silo"); + var_00 = getentarray("ai_silo_floor_01","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 maps\_utility::spawn_ai(1); + } + + common_scripts\utility::flag_wait("flag_combat_silo_floor_01_ware_02"); + var_00 = getentarray("ai_silo_floor_01_balcony","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 maps\_utility::spawn_ai(1); + } + + var_00 = getentarray("ai_silo_floor_01_wave_2","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 maps\_utility::spawn_ai(1); + } + + common_scripts\utility::flag_wait("flag_combat_silo_floor_02"); + var_00 = getentarray("ai_silo_floor_02","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 maps\_utility::spawn_ai(1); + } + + common_scripts\utility::flag_wait("flag_combat_silo_floor_02_retreat"); + var_00 = getentarray("ai_silo_floor_02_wave_02","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 maps\_utility::spawn_ai(1); + } +} + +//Function Number: 17 +combat_silo_mech() +{ + common_scripts\utility::flag_wait_all("flag_silo_watwalks_open","flag_lower_missile_loader"); + wait(6); + var_00 = getentarray("mech_silo","script_noteworthy"); + thread control_mech_attacks(); + foreach(var_02 in var_00) + { + var_02 maps\_utility::spawn_ai(1); + } + + thread maps\finale_utility::combat_silo_seeker_ai(); +} + +//Function Number: 18 +control_mech_attacks() +{ + var_00 = 1; + level.player.mechs_attacking_me = []; + for(;;) + { + wait(5); + var_01 = []; + foreach(var_03 in getentarray("mech_silo","script_noteworthy")) + { + if(!var_03 maps\_utility::ent_flag_exist("mech_should_attack_player")) + { + continue; + } + + if(!isdefined(var_03.enemy) || var_03.enemy != level.player) + { + continue; + } + + var_01[var_01.size] = var_03; + var_03 maps\_utility::ent_flag_clear("mech_should_attack_player"); + } + + var_01 = sortbydistance(var_01,level.player.origin); + for(var_05 = 0;var_05 < var_01.size && var_05 < var_00;var_05++) + { + var_01[var_05] maps\_utility::ent_flag_set("mech_should_attack_player"); + } + } +} + +//Function Number: 19 +combat_silo_boost() +{ + common_scripts\utility::flag_wait("flag_missile_move_start"); + var_00 = getentarray("enemy_boost_silo_01","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 maps\_utility::spawn_ai(1); + } + + common_scripts\utility::flag_wait("flag_silo_combat_01_b"); + var_00 = getentarray("enemy_boost_silo_01_b","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 maps\_utility::spawn_ai(1); + } + + var_00 = getentarray("enemy_boost_silo_01_flood","script_noteworthy"); + if(var_00.size > 0) + { + maps\_spawner::flood_spawner_scripted(var_00); + } + + common_scripts\utility::flag_wait_any("flag_silo_combat_02","flag_kill_spawners_silo_01"); + maps\finale_utility::delete_spawners("enemy_boost_silo_01_flood"); + common_scripts\utility::flag_wait("flag_silo_combat_02"); + var_00 = getentarray("enemy_boost_silo_02","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 maps\_utility::spawn_ai(1); + } + + common_scripts\utility::flag_wait("flag_silo_combat_03"); + var_00 = getentarray("enemy_boost_silo_03","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 maps\_utility::spawn_ai(1); + } + + var_00 = getentarray("enemy_boost_silo_03_flood","script_noteworthy"); + if(var_00.size > 0) + { + maps\_spawner::flood_spawner_scripted(var_00); + } + + common_scripts\utility::flag_wait("flag_silo_combat_stop"); + thread combat_silo_complete(); + maps\finale_utility::delete_spawners("enemy_boost_silo_03_flood"); +} + +//Function Number: 20 +combat_silo_complete() +{ + var_00 = ["mech_silo","enemy_boost_silo_01","enemy_boost_silo_01_b","enemy_boost_silo_01_flood","enemy_boost_silo_02","enemy_boost_silo_03","enemy_boost_silo_03_flood"]; + maps\finale_utility::spawn_metrics_waittill_count_reaches(0,[var_00],1); + common_scripts\utility::flag_set("flag_silo_combat_complete"); +} + +//Function Number: 21 +combat_lobby() +{ + common_scripts\utility::flag_wait("flag_lobby_combat_start"); + var_00 = getentarray("enemy_lobby","script_noteworthy"); + if(var_00.size > 0) + { + foreach(var_02 in var_00) + { + var_02.script_forcespawn = 1; + } + + maps\_spawner::flood_spawner_scripted(var_00); + } + + maps\finale_utility::spawn_metrics_waittill_deaths_reach(4,["enemy_lobby"],1); + common_scripts\utility::flag_set("flag_lobby_seek_player"); + maps\finale_utility::spawn_metrics_waittill_deaths_reach(6,["enemy_lobby"],1); + maps\finale_utility::delete_spawners("enemy_lobby"); + common_scripts\utility::flag_set("flag_lobby_clear"); +} + +//Function Number: 22 +intro_flyin() +{ + if(!common_scripts\utility::flag("flag_intro_screen_complete")) + { + thread finale_intro_screen(); + } + + common_scripts\utility::flag_wait("flag_intro_flyin_start"); + common_scripts\utility::flag_wait("flag_intro_screen_complete"); + common_scripts\utility::flag_set("flag_se_intro_flyin_start"); + thread maps\_utility::autosave_now(); + level.littlebird_player = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("littlebird_player"); + level.littlebird_player maps\_vehicle::godon(); + var_00 = getent("org_player_attach","targetname"); + var_00.angles = level.littlebird_player.angles; + var_00 linkto(level.littlebird_player); + var_01 = maps\_utility::spawn_anim_model("world_body_mech"); + var_01.angles = var_00.angles; + var_01.origin = var_00.origin; + var_01 linkto(level.littlebird_player); + var_01 hide(); + level.player.player_rig_heli = var_01; + thread se_intro_flyin_gideon(); + thread intro_player(level.littlebird_player,var_01); + thread intro_bobbing_boats(); + thread se_intro_ambient_warbirds(); + thread se_intro_ambient_jets(); + thread se_intro_missiles(); + thread flyin_handle_steady_rumble(); +} + +//Function Number: 23 +intro_player(param_00,param_01) +{ + level.player playerlinkto(param_01,"tag_player",1,20,20,20,20,0); + level.player.drivingvehicle = param_00; + var_02 = getanimlength(param_01 maps\_utility::getanim("intro_flyin")); + param_01 setanim(param_01 maps\_utility::getanim("intro_flyin"),1,0,1); + wait(var_02); + level.player playerlinkto(param_01,"tag_player",0.2,90,90,25,40,0); + common_scripts\utility::flag_wait("flag_intro_flyin_release"); + soundscripts\_snd::snd_message("start_canal"); +} + +//Function Number: 24 +threat_bias_canal_think() +{ + self setthreatbiasgroup("player"); + setthreatbias("player","enemy_canal",5000); +} + +//Function Number: 25 +threat_bias_silo_think() +{ + self setthreatbiasgroup("player"); + setthreatbias("player","enemy_silo",7000); +} + +//Function Number: 26 +se_intro_flyin_gideon() +{ + common_scripts\utility::flag_wait("flag_se_intro_flyin_start"); + var_00 = getent("org_intro_flying","targetname"); + level.littlebird_gideon = maps\_vehicle::spawn_vehicle_from_targetname("littlebird_gideon"); + level.littlebird_gideon maps\_vehicle::godon(); + level.littlebird_gideon.animname = "helo_intro_gideon"; + level.gideon setmodel("npc_exo_armor_bigfin"); + var_01 = [level.littlebird_gideon,level.gideon]; + thread player_helo_release(var_00); + thread gideon_helo_release(var_00,var_01); + level.gideon thread maps\finale_heli_custom_aim::start_heli_custom_aim("kill_start_heli_custom_aim"); + soundscripts\_snd::snd_message("fin_flyin_start"); + thread rope_link(level.littlebird_gideon,"ropeAttach_KL",level.gideon,"J2_exoShoulder_L"); + thread rope_link(level.littlebird_gideon,"ropeAttach_KR",level.gideon,"J2_exoShoulder_R"); + thread rope_link(level.littlebird_gideon,"ropeAttach_KM",level.gideon,"J_plate_TKR"); + var_00 maps\_anim::anim_single(var_01,"intro_flyin"); + if(!common_scripts\utility::flag("flag_intro_flyin_release")) + { + var_00 thread maps\_anim::anim_loop(var_01,"intro_flyin_idle","ender"); + } +} + +//Function Number: 27 +flyin_handle_steady_rumble() +{ + level.flyin_steady_rumble_intensity = 0.08; + maps\finale_utility::set_level_player_rumble_ent_intensity(level.flyin_steady_rumble_intensity); + level.player waittill("player_released_from_drone"); + maps\finale_utility::set_level_player_rumble_ent_intensity(0); +} + +//Function Number: 28 +gideon_helo_release(param_00,param_01) +{ + common_scripts\utility::flag_wait("flag_intro_flyin_release"); + level.gideon notify("kill_start_heli_custom_aim"); + wait(0.75); + param_00 notify("ender"); + level.littlebird_gideon maps\_utility::anim_stopanimscripted(); + level.gideon maps\_utility::anim_stopanimscripted(); + level.gideon common_scripts\utility::delaycall(2,::setmodel,"npc_exo_armor_base"); + param_00 maps\_anim::anim_single(param_01,"intro_flyin_release"); + var_02 = common_scripts\utility::getstruct("path_helo_intro_gideon_end","targetname"); + level.littlebird_gideon thread maps\_utility::vehicle_dynamicpath(var_02,0); + maps\_utility::activate_trigger_with_targetname("trig_color_canal_land"); +} + +//Function Number: 29 +intro_gideon(param_00,param_01) +{ + level.gideon maps\_utility::teleport_to_ent_tag(param_01,"tag_origin"); + level.gideon linkto(param_01,"tag_origin"); + common_scripts\utility::flag_wait("flag_intro_flyin_release"); + level.gideon unlink(); + param_01 = getent("org_gideon_canal_floor","targetname"); + var_02 = getent("clip_gideon_down_exhaust","targetname"); + var_02.origin = level.gideon.origin; + level.gideon linkto(var_02); + var_02 moveto(param_01.origin,1.75,1.65,0.1); + wait(1.75); + level.gideon unlink(); +} + +//Function Number: 30 +intro_bobbing_boats() +{ + var_00 = getentarray("civilian_yacht_01","targetname"); + var_01 = getentarray("civilian_yacht_02","targetname"); + var_02 = getentarray("civilian_yacht_03","targetname"); + var_03 = getentarray("civilian_barge_01","targetname"); + common_scripts\utility::array_thread(var_00,::maps\finale_utility::boat_bobbing_think); + common_scripts\utility::array_thread(var_00,::maps\finale_fx::boat_small_static_foam); + common_scripts\utility::array_thread(var_01,::maps\finale_utility::boat_bobbing_think); + common_scripts\utility::array_thread(var_01,::maps\finale_fx::boat_small_static_foam); + common_scripts\utility::array_thread(var_02,::maps\finale_utility::boat_bobbing_think); + common_scripts\utility::array_thread(var_02,::maps\finale_fx::boat_small_static_foam); + common_scripts\utility::array_thread(var_03,::maps\finale_utility::boat_bobbing_think); + common_scripts\utility::array_thread(var_03,::maps\finale_fx::boat_large_static_foam); + common_scripts\utility::flag_wait("flag_intro_flyin_release"); + level notify("boat_scene_cleanup"); +} + +//Function Number: 31 +se_intro_missiles() +{ + maps\_utility::delaythread(15,::maps\_vehicle::spawn_vehicle_from_targetname_and_drive,"rpg_at_gideon_01"); + maps\_utility::delaythread(27.6,::maps\_vehicle::spawn_vehicle_from_targetname_and_drive,"rpg_at_gideon_02"); + maps\_utility::delaythread(26.5,::maps\_vehicle::spawn_vehicle_from_targetname_and_drive,"rpg_at_gideon_02b"); + maps\_utility::delaythread(57.5,::maps\_vehicle::spawn_vehicle_from_targetname_and_drive,"rpg_at_gideon_04"); + maps\_utility::delaythread(57.5,::maps\_vehicle::spawn_vehicle_from_targetname_and_drive,"rpg_at_gideon_04b"); + maps\_utility::delaythread(57.5,::maps\_vehicle::spawn_vehicle_from_targetname_and_drive,"rpg_at_gideon_04c"); +} + +//Function Number: 32 +se_intro_ambient_warbirds() +{ + maps\_utility::delaythread(1,::maps\_vehicle::spawn_vehicles_from_targetname_and_drive,"warbird_flyby01"); + maps\_utility::delaythread(9,::maps\_vehicle::spawn_vehicles_from_targetname_and_drive,"warbird_flyby03"); + maps\_utility::delaythread(28,::maps\_vehicle::spawn_vehicles_from_targetname_and_drive,"warbird_flyby05"); + maps\_utility::delaythread(80,::spawn_looping_ambient_vehicles,"warbird_flyby02"); +} + +//Function Number: 33 +se_intro_ambient_jets() +{ + if(level.nextgen) + { + thread spawn_looping_ambient_vehicles("f15_01"); + } + + maps\_vehicle::spawn_vehicles_from_targetname_and_drive("f15_03"); + maps\_utility::delaythread(55,::maps\_vehicle::spawn_vehicle_from_targetname_and_drive,"f15_06"); + maps\_utility::delaythread(55,::maps\_vehicle::spawn_vehicle_from_targetname_and_drive,"shrike_06"); + maps\_utility::delaythread(75,::maps\_vehicle::spawn_vehicle_from_targetname_and_drive,"f15_05"); + maps\_utility::delaythread(75,::maps\_vehicle::spawn_vehicle_from_targetname_and_drive,"shrike_05"); +} + +//Function Number: 34 +spawn_looping_ambient_vehicles(param_00) +{ + common_scripts\utility::array_thread(getentarray(param_00,"targetname"),::spawn_looping_ambient_vehicle_single); +} + +//Function Number: 35 +spawn_looping_ambient_vehicle_single() +{ + while(!common_scripts\utility::flag("flag_intro_flyin_release")) + { + var_00 = maps\_vehicle::spawn_vehicle_and_gopath(); + var_00 waittill("death"); + wait 0.05; + } +} + +//Function Number: 36 +se_canal_breach() +{ + thread gideon_goto_canal_breach(); + var_00 = getent("org_canal_breach","targetname"); + var_01 = maps\_utility::spawn_anim_model("world_body_mech"); + var_01 hide(); + var_02 = maps\_utility::spawn_anim_model("breach_bomb"); + var_02.animname = "breach_bomb"; + var_02 hide(); + var_03 = [var_01,var_02]; + var_00 thread maps\_anim::anim_first_frame(var_03,"canal_breach"); + maps\_playermech_code::hide_mech_glass_static_overlay(var_01); + var_04 = getent("trig_canal_breach","targetname"); + var_05 = var_04 maps\_shg_utility::hint_button_trigger("x"); + common_scripts\utility::flag_wait("flag_canal_breach_start"); + if(level.currentgen) + { + common_scripts\utility::flag_set("load_middle_transient"); + } + + var_04 sethintstring(""); + var_05 maps\_shg_utility::hint_button_clear(); + maps\_utility::activate_trigger_with_targetname("trig_color_canal_breach"); + thread wall_canal_breach(); + level.player freezecontrols(1); + var_03 = [var_01,level.gideon,var_02]; + var_06 = getdvarint("g_friendlyNameDist"); + setsaveddvar("g_friendlyNameDist",0); + var_07 = 0.5; + level.player playerlinktoblend(var_01,"tag_player",var_07); + wait(var_07); + level.player maps\_playermech_code::mech_setup_player_for_scene(); + var_01 show(); + var_02 show(); + var_00 maps\_anim::anim_single_run(var_03,"canal_breach"); + common_scripts\utility::flag_set("flag_obj_enter_silo_complete"); + common_scripts\utility::flag_set("flag_dialogue_canal_breach_complete"); + level.player unlink(); + var_01 delete(); + var_02 delete(); + level.player maps\_playermech_code::mech_setup_player_for_gameplay(); + level.player freezecontrols(0); + level.player setorigin(level.player.origin + (0,0,-12)); + setsaveddvar("g_friendlyNameDist",var_06); +} + +//Function Number: 37 +gideon_goto_canal_breach() +{ + common_scripts\utility::flag_wait("flag_gideon_approach_canal_breach"); + var_00 = getnode("node_gideon_canal_breach","targetname"); + level.gideon maps\_utility::disable_ai_color(); + level.gideon maps\finale_utility::goto_node(var_00,1,64); + level.gideon maps\_utility::enable_ai_color_dontmove(); + common_scripts\utility::flag_set("flag_dialogue_gideon_canal_breach_ready"); +} + +//Function Number: 38 +wall_canal_breach() +{ + var_00 = getent("brush_wall_canal_breach","targetname"); + wait(9); + var_00 connectpaths(); + var_00 delete(); +} + +//Function Number: 39 +combat_canal_01() +{ + common_scripts\utility::flag_wait("flag_canal_combat_start"); + wait(15); + var_00 = maps\_vehicle::spawn_vehicles_from_targetname_and_drive("vrap_canal_01"); + if(level.currentgen) + { + foreach(var_02 in var_00) + { + var_02 thread tff_cleanup_vehicle("intro"); + } + } + + var_04 = getentarray("enemy_flyin_01","script_noteworthy"); + foreach(var_06 in var_04) + { + var_06 maps\_utility::spawn_ai(1); + } + + common_scripts\utility::flag_wait("flag_chase_boats_path_02"); + maps\finale_utility::cleanup_ai_with_script_noteworthy("enemy_flyin_01",256); + var_04 = getentarray("enemy_flyin_04","script_noteworthy"); + foreach(var_06 in var_04) + { + var_06 maps\_utility::spawn_ai(1); + } + + common_scripts\utility::flag_wait("flag_canal_comabt_post_highway"); + wait(3); + var_02 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("vrap_canal_03"); + if(level.currentgen) + { + var_02 thread tff_cleanup_vehicle("intro"); + } + + wait(2); + var_02 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("vrap_canal_04"); + if(level.currentgen) + { + var_02 thread tff_cleanup_vehicle("intro"); + } + + var_04 = getentarray("enemy_flyin_05","script_noteworthy"); + foreach(var_06 in var_04) + { + var_06 maps\_utility::spawn_ai(1); + } + + common_scripts\utility::flag_wait("flag_canal_combat_end"); + var_00 = maps\_vehicle::spawn_vehicles_from_targetname_and_drive("vrap_canal_05"); + if(level.currentgen) + { + foreach(var_02 in var_00) + { + var_02 thread tff_cleanup_vehicle("intro"); + } + } + + var_04 = getentarray("enemy_flyin_06","script_noteworthy"); + foreach(var_06 in var_04) + { + var_06 maps\_utility::spawn_ai(1); + } + + common_scripts\utility::flag_wait("flag_intro_flyin_done"); + maps\finale_utility::cleanup_ai_with_script_noteworthy("enemy_flyin_04",256); + maps\finale_utility::cleanup_ai_with_script_noteworthy("enemy_flyin_05",256); + common_scripts\utility::flag_wait("flag_intro_flyin_release"); + wait(3); + maps\finale_utility::cleanup_ai_with_script_noteworthy("enemy_flyin_06",256); +} + +//Function Number: 40 +combat_flyin_bridge() +{ + common_scripts\utility::flag_wait("flag_combat_flyin_bridge_01"); + var_00 = maps\_vehicle::spawn_vehicles_from_targetname_and_drive("vrap_canal_02"); + var_01 = []; + foreach(var_03 in var_00) + { + var_01 = common_scripts\utility::array_combine(var_01,var_03.riders); + } + + if(level.currentgen) + { + foreach(var_03 in var_00) + { + var_03 thread tff_cleanup_vehicle("intro"); + } + } + + wait(3); + var_07 = getentarray("enemy_flyin_bridge_01","script_noteworthy"); + foreach(var_09 in var_07) + { + var_09 maps\_utility::spawn_ai(1); + } + + var_07 = getentarray("enemy_flyin_bridge_02","script_noteworthy"); + foreach(var_09 in var_07) + { + var_09 maps\_utility::spawn_ai(1); + } + + common_scripts\utility::flag_wait("flag_canal_highway_ai_cleanup"); + maps\finale_utility::cleanup_ai_with_script_noteworthy("enemy_flyin_bridge_01",256); + foreach(var_0E in var_01) + { + if(isdefined(var_0E)) + { + var_0E delete(); + } + } + + foreach(var_11 in var_00) + { + if(isdefined(var_11)) + { + var_11 delete(); + } + } +} + +//Function Number: 41 +canal_chase_boats() +{ + common_scripts\utility::create_dvar("vehicle_free_path_debug",0); + common_scripts\utility::flag_wait("flag_canal_combat_start"); + var_00 = [level.player,level.gideon]; + level.freedrive_playermatch_catchup_ramp_start_dist = -125; + level.freedrive_playermatch_catchup_ramp_end_dist = 500; + level.freedrive_playermatch_catchup_multiplier = 2.2; + level.freedrive_playermatch_slowdown_ramp_start_dist = 650; + level.freedrive_playermatch_slowdown_ramp_end_dist = 600; + level.freedrive_vehicle_min_allowed_speed = 0; + level.freedrive_dodge_static_early_distance = 1000; + level.freedrive_stay_within_percent_of_edge = 0.9; + level.freedrive_progress_mod_step = 600; + wait(4); + maps\_vehicle_free_drive::init_vehicle_free_path("road_path_left_01"); + var_01 = getentarray("enemy_boat_01","targetname"); + foreach(var_03 in var_01) + { + var_04 = var_03 maps\_vehicle_free_drive::spawn_vehicle_and_attach_to_free_path(45,0,0,0); + var_04 thread vehicle_scripts\_diveboat::setup_and_fire_missles_at_guys_repeated(var_00); + } + + common_scripts\utility::flag_wait("flag_chase_boats_path_02"); + maps\_vehicle_free_drive::init_vehicle_free_path("road_path_left_02"); + var_01 = getentarray("enemy_boat_03","targetname"); + foreach(var_03 in var_01) + { + var_04 = var_03 maps\_vehicle_free_drive::spawn_vehicle_and_attach_to_free_path(30,0,0,0); + var_04 thread vehicle_scripts\_diveboat::setup_and_fire_missles_at_guys_repeated(var_00); + } +} + +//Function Number: 42 +ai_canal_combat_01_accuracy_think() +{ + self endon("death"); + common_scripts\utility::flag_wait("flag_combat_flyin_bridge_01"); + maps\_utility::set_baseaccuracy(0.1); +} + +//Function Number: 43 +ai_canal_combat_02_accuracy_think() +{ + self endon("death"); + common_scripts\utility::flag_wait("flag_chase_boats_path_02"); + maps\_utility::set_baseaccuracy(0.1); +} + +//Function Number: 44 +ai_canal_combat_03_accuracy_think() +{ + self endon("death"); + common_scripts\utility::flag_wait("flag_canal_accuracy_tweak_bridge_02"); + maps\_utility::set_baseaccuracy(0.1); +} + +//Function Number: 45 +ai_canal_combat_04_accuracy_think() +{ + self endon("death"); + common_scripts\utility::flag_wait("flag_canal_accuracy_tweak_combat_04"); + maps\_utility::set_baseaccuracy(0.1); +} + +//Function Number: 46 +ai_canal_combat_05_accuracy_think() +{ + self endon("death"); + common_scripts\utility::flag_wait("flag_canal_combat_end"); + maps\_utility::set_baseaccuracy(0.1); +} + +//Function Number: 47 +boat_death_think() +{ + if(!isdefined(level.boat_canal)) + { + level.boat_canal = 0; + } + + level.boat_canal++; + self waittill("death",var_00); + thread flyin_scene_handle_vehicle_destroyed_rumbles(self); + level.boat_canal--; + if(level.boat_canal == 0) + { + common_scripts\utility::flag_set("flag_boat_canal_dead"); + return; + } + + if(var_00 == level.player) + { + common_scripts\utility::flag_set("flag_boat_single_dead"); + } +} + +//Function Number: 48 +flyin_scene_handle_vehicle_destroyed_rumbles(param_00) +{ + var_01 = distance(level.player.origin,param_00.origin); + var_02 = 2500; + var_03 = 0.8; + var_04 = var_02 - var_01 / var_02 / var_03; + if(var_04 > 0.2) + { + maps\finale_utility::set_level_player_rumble_ent_intensity_for_time(var_04,0.25); + } +} + +//Function Number: 49 +estimate_player_speed() +{ + var_00 = level.player.origin; + while(!level.player isonground()) + { + level.player.velocity_scripted = level.player.origin - var_00 / 0.05; + var_00 = level.player.origin; + wait 0.05; + } + + earthquake(0.3,1,level.player.origin,128); +} + +//Function Number: 50 +player_helo_release(param_00) +{ + common_scripts\utility::flag_wait("flag_intro_flyin_done"); + wait_for_player_release(); + thread maps\_water::watchaienterwater(level.gideon); + thread player_speed_control_underwater(); + var_01 = level.player.player_rig_heli; + var_02 = 2; + level.player lerpviewangleclamp(var_02,1,0.3,0,0,0,0); + thread estimate_player_speed(); + soundscripts\_snd::snd_message("fin_flyin_drop"); + var_01 maps\_anim::anim_single_solo(var_01,"intro_flyin_release_vm"); + level.player unlink(); + level.player setvelocity((0,0,level.player.velocity_scripted[2])); + common_scripts\utility::flag_set("flag_intro_flyin_release"); + common_scripts\utility::flag_set("underwater_flashlight"); + common_scripts\utility::flag_clear("flyin_mb"); + maps\_utility::delaythread(5,::maps\_utility::autosave_by_name,"canal"); +} + +//Function Number: 51 +wait_for_player_release() +{ + thread maps\_utility::hintdisplayhandler("release_hint"); + var_00 = 0; + while(var_00 < 1) + { + var_00 = 0; + while(level.player usebuttonpressed() && var_00 < 1) + { + var_00 = var_00 + 0.1; + wait 0.05; + } + + wait 0.05; + } + + common_scripts\utility::flag_set("flag_release_hint_off"); + level.player notify("player_released_from_drone"); +} + +//Function Number: 52 +release_hint_off() +{ + return common_scripts\utility::flag("flag_release_hint_off"); +} + +//Function Number: 53 +signed_distance_to_plane(param_00,param_01,param_02) +{ + return vectordot(param_02 - param_00,param_01); +} + +//Function Number: 54 +player_speed_control_rocket_blast() +{ + level.origacceleration = getdvarfloat("mechAcceleration"); + setsaveddvar("mechAcceleration",5); + level.gideon.goalradius = 64; + player_speed_control(0.12,0.6,0,124,64,0.8,1.2,1.5,::is_player_in_rocket_blast,"start_node_exhaust","gideon_rocket_idle_node",1); + setsaveddvar("mechAcceleration",level.origacceleration); +} + +//Function Number: 55 +player_speed_control_underwater() +{ + for(;;) + { + for(;;) + { + if(isdefined(level.player.underwater) && level.player.underwater) + { + break; + } + + wait 0.05; + } + + level.player maps\_playermech_code::disable_mech_rocket(); + level.player maps\_playermech_code::disable_mech_chaingun(); + level.player maps\_playermech_code::disable_mech_swarm(); + level.player hidehud(); + player_speed_control(0.25,maps\_swim_player::get_underwater_walk_speed_scale_default() * 1.5,0,300,128,maps\_water::get_underwater_walk_speed_scale_ai(),maps\_water::get_underwater_walk_speed_scale_ai() * 1.4,1.5,::is_player_underwater,"start_node_underwater","end_node_underwater",0); + level.player maps\_playermech_code::enable_mech_chaingun(); + level.player maps\_playermech_code::enable_mech_rocket(); + level.player maps\_playermech_code::enable_mech_swarm(); + level.player showhud(); + wait 0.05; + } +} + +//Function Number: 56 +is_player_underwater() +{ + return isdefined(level.player.underwater) && level.player.underwater; +} + +//Function Number: 57 +custom_distance_along_path_think(param_00) +{ + var_01 = 0; + while([[ param_00 ]]()) + { + var_02 = get_custom_distance_on_path(var_01); + var_01 = var_02[0]; + var_03 = var_02[1]; + self.distance_on_path = var_03; + wait 0.05; + } +} + +//Function Number: 58 +get_custom_distance_on_path(param_00) +{ + var_01 = (0,0,16); + var_02 = 130; + var_03 = undefined; + var_04 = undefined; + if(!isdefined(level.speed_control_pathnodes) || level.speed_control_pathnodes.size == 0) + { + return [0,0]; + } + + if(isai(self)) + { + var_03 = self getnearestnode(); + } + else + { + var_05 = getnodesinradiussorted(self.origin,1000,0); + var_03 = var_05[0]; + } + + if(!isdefined(var_03)) + { + return [0,0]; + } + + var_04 = getnodesinradius(var_03.origin,var_02,0); + if(isdefined(var_03.target)) + { + var_06 = getnode(var_03.target,"targetname"); + } + + if(isdefined(var_03.targetname)) + { + var_07 = getnode(var_03.targetname,"target"); + } + + var_08 = undefined; + var_09 = undefined; + var_0A = 0; + var_0B = 0; + var_0C = undefined; + for(var_0D = param_00;var_0D < level.speed_control_pathnodes.size;var_0D++) + { + var_0E = level.speed_control_pathnodes[var_0D]; + foreach(var_10 in var_04) + { + if(var_10 == var_0E) + { + var_11 = -1; + var_12 = -1; + if(var_0D >= 1) + { + var_13 = maps\finale_utility::get_closest_point_on_segment(self.origin,level.speed_control_pathnodes[var_0D - 1].origin,var_0E.origin); + var_11 = var_13[0]; + var_14 = var_13[1]; + var_08 = var_13[2]; + var_09 = var_13[3]; + if(var_11 > 0 && var_11 < 1) + { + var_0B = 1; + param_00 = var_0D - 1; + var_0A = var_11; + break; + } + } + + if(var_0D < level.speed_control_pathnodes.size - 2) + { + var_15 = maps\finale_utility::get_closest_point_on_segment(self.origin,var_0E.origin,level.speed_control_pathnodes[var_0D + 1].origin); + var_12 = var_15[0]; + var_14 = var_15[1]; + var_08 = var_15[2]; + var_09 = var_15[3]; + if(var_12 > 0 && var_12 < 1) + { + var_0B = 1; + param_00 = var_0D; + var_0A = var_12; + break; + } + } + + if(var_11 == 1 && var_12 == 0) + { + var_0B = 1; + var_08 = self.origin; + var_09 = level.speed_control_pathnodes[var_0D].origin; + param_00 = var_0D; + var_0A = 0; + break; + } + } + } + + if(var_0B) + { + break; + } + } + + var_17 = 0; + var_18 = level.speed_control_pathnodes_dist[param_00]; + if(!var_0B && param_00 == 0 && var_17 == 0) + { + var_19 = level.speed_control_pathnodes[1].origin - level.speed_control_pathnodes[0].origin; + var_19 = (var_19[0],var_19[1],0); + var_19 = vectornormalize(var_19); + var_1A = self.origin - level.speed_control_pathnodes[0].origin; + var_1A = (var_1A[0],var_1A[1],0); + var_1B = vectordot(var_1A,var_19); + var_18 = var_1B; + var_0B = 1; + } + + if(var_0B) + { + var_17 = level.speed_control_pathnodes_dist[param_00 + 1] - level.speed_control_pathnodes_dist[param_00] * var_0A; + } + + return [param_00,var_18 + var_17]; +} + +//Function Number: 59 +calculatedistances(param_00) +{ + var_01 = []; + var_01[0] = 0; + if(!isdefined(param_00)) + { + return; + } + + for(var_02 = 1;var_02 < param_00.size;var_02++) + { + var_01[var_02] = var_01[var_02 - 1] + distance2d(param_00[var_02 - 1].origin,param_00[var_02].origin); + } + + return var_01; +} + +//Function Number: 60 +player_speed_control(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B) +{ + var_0C = 1; + var_0D = 0; + var_0E = 0; + var_0F = undefined; + if(!isdefined(param_0B)) + { + param_0B = 1; + } + + maps\_utility_code::movespeed_ramp_over_time(level.gideon,level.gideon.moveplaybackrate,param_05,0.05); + if(isdefined(param_09)) + { + var_10 = getnode(param_09,"targetname"); + var_11 = getnode(param_0A,"targetname"); + level.speed_control_pathnodes = getnodesonpath(var_10.origin,var_11.origin,1,var_10,var_11); + level.speed_control_pathnodes_dist = calculatedistances(level.speed_control_pathnodes); + } + + level.gideon thread custom_distance_along_path_think(param_08); + level.player thread custom_distance_along_path_think(param_08); + while([[ param_08 ]]()) + { + var_12 = level.gideon.distance_on_path - level.player.distance_on_path; + waittillframeend; + if(gettime() > var_0E) + { + var_0C = maps\_shg_utility::linear_map_clamp(var_12,param_02,param_03,param_00,param_01); + level.player setmovespeedscale(var_0C); + if(var_12 < param_04) + { + var_0D = gettime() + 3000; + var_0E = gettime() + param_07 * 1000; + thread maps\_utility_code::movespeed_ramp_over_time(level.gideon,level.gideon.moveplaybackrate,param_06,param_07); + } + + if(gettime() > var_0D && var_0D != 0) + { + var_0E = gettime() + param_07 * 1000; + thread maps\_utility_code::movespeed_ramp_over_time(level.gideon,level.gideon.moveplaybackrate,param_05,param_07); + var_0D = 0; + } + } + + if(param_0B && var_12 < 20) + { + level.player setmovespeedscale(0); + } + + wait 0.05; + } + + thread maps\_utility_code::movespeed_ramp_over_time(level.gideon,level.gideon.moveplaybackrate,1,1); + thread maps\_utility_code::movespeed_ramp_over_time(level.player,var_0C,1,1); +} + +//Function Number: 61 +anim_loop_hatch_anims_solo(param_00,param_01,param_02,param_03) +{ + param_00 endon("ender_gideon"); + var_04 = 0; + while(!common_scripts\utility::flag("flag_exhaust_hatch_open")) + { + param_00 maps\_anim::anim_single_solo(level.gideon,param_02); + if(isdefined(level.player.debug_skip_button_press)) + { + return; + } + + param_00 maps\_anim::anim_single_solo(level.gideon,param_03); + if(isdefined(level.player.debug_skip_button_press)) + { + return; + } + } +} + +//Function Number: 62 +se_missile_load() +{ + var_00 = getent("org_missile_load","targetname"); + var_01 = getent("missile_bottom","targetname"); + var_01.animname = "missile_main"; + var_01 maps\_utility::assign_animtree(); + for(var_02 = var_01;isdefined(var_02.target);var_02 = var_03) + { + var_03 = getent(var_02.target,"targetname"); + var_03 linkto(var_01,"missile"); + } + + var_04 = maps\_utility::spawn_anim_model("missile_01"); + var_05 = maps\_utility::spawn_anim_model("missile_02"); + var_06 = maps\_utility::spawn_anim_model("missile_03"); + var_07 = maps\_utility::spawn_anim_model("missile_04"); + var_08 = maps\_utility::spawn_anim_model("missile_05"); + var_09 = maps\_utility::spawn_anim_model("missile_06"); + var_0A = [var_01,var_04,var_05,var_06,var_07,var_08,var_09]; + var_00 thread maps\_anim::anim_first_frame(var_0A,"missile_load"); + thread maps\finale_lighting::missle_lighting(var_0A); + thread silo_catwalks(); + common_scripts\utility::flag_wait("flag_missile_move_start"); + thread silo_autosaves(); + thread countdown_missile_launch(); + thread close_silo_doors(); + var_0B = getnodearray("node_silo","targetname"); + foreach(var_0D in var_0B) + { + var_0D disconnectnode(); + } + + thread speed_up_missile_load(var_0A); + var_00 maps\_anim::anim_single(var_0A,"missile_load"); + common_scripts\utility::flag_set("flag_missile_seated"); +} + +//Function Number: 63 +countdown_missile_launch() +{ + common_scripts\utility::flag_wait("flag_dialogue_launch_coundown_complete"); + if(!common_scripts\utility::flag("flag_gideon_down_exhaust")) + { + common_scripts\utility::flag_set("flag_countdown_complete_mission_fail"); + maps\finale_vo::dialogue_primary_ignitionin(); + thread handle_failstate_primary_ignition_rumbles(1); + thread maps\finale_utility::chase_timer_countdown(2,&"FINALE_FAILED_MISSILE_LAUNCH"); + return; + } + + wait(25); + if(!common_scripts\utility::flag("flag_exhaust_hatch_open")) + { + common_scripts\utility::flag_set("flag_countdown_complete_mission_fail"); + maps\finale_vo::dialogue_primary_ignitionin(); + thread handle_failstate_primary_ignition_rumbles(1); + thread maps\finale_utility::chase_timer_countdown(2,&"FINALE_FAILED_MISSILE_LAUNCH"); + } +} + +//Function Number: 64 +handle_failstate_primary_ignition_rumbles(param_00) +{ + var_01 = 0; + for(;;) + { + var_02 = 0.2 + var_01 / 50; + var_03 = 0.01 + var_01 / 80; + maps\finale_utility::set_level_player_rumble_ent_intensity(var_02); + if(isdefined(param_00) && param_00) + { + earthquake(var_03,0.1,level.player.origin,1000); + } + + var_01++; + if(var_01 > 40) + { + break; + } + + wait(0.1); + } +} + +//Function Number: 65 +speed_up_missile_load(param_00) +{ + wait 0.05; + thread maps\_anim::anim_set_rate(param_00,"missile_load",1.75); +} + +//Function Number: 66 +close_silo_doors() +{ + common_scripts\utility::flag_wait("flag_silo_watwalks_open"); + var_00 = getent("door_silo_right","targetname"); + var_01 = getent("door_silo_left","targetname"); + var_00 rotateby((0,-90,0),2,1,0.5); + var_01 rotateby((0,90,0),2,1,0.5); +} + +//Function Number: 67 +silo_catwalks() +{ + var_00 = getent("silo_catwalk","targetname"); + var_00 common_scripts\utility::hide_notsolid(); + var_01 = getnodearray("node_silo_01","targetname"); + foreach(var_03 in var_01) + { + var_03 disconnectnode(); + } + + var_05 = getnodearray("node_silo_02","targetname"); + foreach(var_03 in var_05) + { + var_03 disconnectnode(); + } + + var_08 = getnodearray("node_silo_03","targetname"); + foreach(var_03 in var_08) + { + var_03 disconnectnode(); + } + + common_scripts\utility::flag_wait("flag_missile_move_start"); + thread maps\finale_lighting::s_flicker_catwalk_alarm(); + var_0B = getent("org_silo_catwalk_narrow","targetname"); + var_0C = getent("org_silo_catwalk_wide","targetname"); + var_0D = maps\_utility::spawn_anim_model("catwalk_narrow_01"); + var_0E = maps\_utility::spawn_anim_model("catwalk_narrow_02"); + var_0F = maps\_utility::spawn_anim_model("catwalk_wide_01"); + var_10 = maps\_utility::spawn_anim_model("catwalk_wide_02"); + var_11 = [var_0D,var_0E]; + var_12 = [var_0F,var_10]; + var_0B thread maps\_anim::anim_first_frame(var_11,"catwalk"); + var_0C thread maps\_anim::anim_first_frame(var_12,"catwalk"); + common_scripts\utility::flag_wait("flag_silo_watwalks_open"); + common_scripts\utility::flag_wait("flag_lower_missile_loader"); + common_scripts\utility::flag_set("flag_dialogue_ast_ahead"); + level notify("lighting_kill_catwalk_s_flicker_red"); + common_scripts\utility::flag_set("flag_silo_combat_02"); + var_13 = getent("org_missile_corridor_lower","targetname"); + var_14 = getent("org_missile_corridor_origin","targetname"); + var_15 = getent("missle_corridor","targetname"); + var_16 = getent("missle_corridor_glass","targetname"); + var_16 linkto(var_15); + var_15 overridelightingorigin(var_14.origin); + var_15 thread maps\finale_fx::vfx_silo_corridor_lowering(); + var_15 moveto(var_13.origin,6,2,1); + wait(3); + var_0B thread maps\_anim::anim_single(var_11,"catwalk"); + var_0C thread maps\_anim::anim_single(var_12,"catwalk"); + thread maps\finale_fx::vfx_catwalk_lowering(); + wait(3); + level notify("lighting_kill_catwalk_s_flicker_white"); + silo_catwalk_clip(var_00); + maps\_utility::activate_trigger_with_targetname("trig_color_missile_in_position"); +} + +//Function Number: 68 +se_door_kick() +{ + common_scripts\utility::flag_wait_all("flag_silo_combat_stop","flag_silo_combat_complete"); + soundscripts\_snd::snd_music_message("ast_combat_end"); + level.gideon maps\_utility::disable_ai_color(); + var_00 = getent("org_silo_door_kick","targetname"); + var_00 maps\_anim::anim_reach_solo(level.gideon,"kick_door_enter_mech"); + var_00 maps\_anim::anim_single_solo(level.gideon,"kick_door_enter_mech"); + if(!common_scripts\utility::flag("flag_player_close_to_kick_doors")) + { + var_00 thread maps\_anim::anim_loop_solo(level.gideon,"kick_door_idle_mech"); + } + + common_scripts\utility::flag_wait("flag_player_close_to_kick_doors"); + level.player notify("kill_player_follow_volume_think"); + level.gideon maps\_utility::anim_stopanimscripted(); + var_00 maps\_utility::anim_stopanimscripted(); + var_01 = getent("sliding_door_l","targetname"); + var_02 = getent("sliding_door_r","targetname"); + var_03 = var_01 common_scripts\utility::get_target_ent(); + var_04 = var_02 common_scripts\utility::get_target_ent(); + var_03 linkto(var_01); + var_04 linkto(var_02); + var_05 = [var_03,var_04]; + var_06 = maps\_utility::spawn_anim_model("kick_door_r"); + var_07 = maps\_utility::spawn_anim_model("kick_door_l"); + var_08 = [level.gideon,var_07,var_06]; + var_00 maps\_anim::anim_first_frame(var_08,"kick_door"); + var_01.origin = var_07 gettagorigin("tag_origin_animated"); + var_02.origin = var_06 gettagorigin("tag_origin_animated"); + var_01 linkto(var_07,"tag_origin_animated"); + var_02 linkto(var_06,"tag_origin_animated"); + foreach(var_0A in var_05) + { + var_0A connectpaths(); + } + + level.gideon maps\_utility::walkdist_force_walk(); + soundscripts\_snd::snd_message("silo_door_kick",level.gideon); + var_00 maps\_anim::anim_single(var_08,"kick_door"); + level.gideon maps\_utility::anim_stopanimscripted(); + var_00 maps\_utility::anim_stopanimscripted(); + maps\_utility::activate_trigger_with_targetname("trig_color_exit_main_silo"); + level.gideon maps\_utility::enable_ai_color(); + level.gideon maps\_utility::delaythread(5,::maps\_utility::walkdist_reset); + common_scripts\utility::flag_set("flag_se_door_kick_complete"); + var_03 delete(); +} + +//Function Number: 69 +se_exhaust_hatch() +{ + var_00 = getent("org_exhaust_hatch","targetname"); + common_scripts\utility::flag_wait("flag_se_exhaust_hatch_init"); + level.gideon maps\_mech::mech_stop_rockets(); + var_01 = maps\_utility::spawn_anim_model("hatch"); + var_02 = maps\_utility::spawn_anim_model("piston_r"); + var_03 = maps\_utility::spawn_anim_model("piston_l"); + var_01.animname = "hatch"; + var_02.animname = "piston_r"; + var_03.animname = "piston_l"; + var_04 = [var_01,var_03]; + thread se_exhaust_hatch_player(var_00,var_02); + var_00 thread maps\_anim::anim_first_frame(var_04,"exhaust_hatch_enter"); + common_scripts\utility::flag_wait("flag_gideon_down_exhaust"); + var_04 = [level.gideon,var_01,var_03]; + var_00 maps\_anim::anim_reach_solo(level.gideon,"exhaust_hatch_enter"); + var_00 maps\_anim::anim_single(var_04,"exhaust_hatch_enter"); + soundscripts\_snd::snd_music_message("hatch_scene_being"); + common_scripts\utility::flag_set("flag_obj_exhaust_hatch_open"); + var_00 thread anim_loop_hatch_anims_solo(var_00,level.gideon,"exhaust_hatch_idle_noloop","exhaust_hatch_idle_wave_noloop"); + common_scripts\utility::flag_wait("flag_exhaust_hatch_open"); + maps\_utility::delaythread(7,::save_exhaust_hatch); + if(!isdefined(level.player.debug_skip_button_press)) + { + var_00 notify("ender_gideon"); + level.gideon maps\_utility::anim_stopanimscripted(); + var_00 maps\_anim::anim_single(var_04,"exhaust_hatch_open"); + } + + thread maps\finale_lighting::hatch_lighting(); + common_scripts\utility::flag_set("flag_exhaust_hatch_complete"); + var_05 = getent("clip_exhaust_hatch","targetname"); + var_05 delete(); + if(!isdefined(level.player.debug_skip_button_press)) + { + var_00 thread maps\_anim::anim_loop_solo(level.gideon,"exhaust_hatch_end_idle","ender_gideon"); + common_scripts\utility::flag_wait("flag_player_exhaust_corridor"); + var_00 notify("ender_gideon"); + } +} + +//Function Number: 70 +save_exhaust_hatch() +{ + if(!common_scripts\utility::flag("flag_countdown_complete_mission_fail")) + { + maps\_utility::autosave_by_name("exhaust_hatch"); + } +} + +//Function Number: 71 +se_exhaust_hatch_player(param_00,param_01) +{ + var_02 = 0.25; + var_03 = maps\_utility::spawn_anim_model("world_body_mech"); + var_03 hide(); + level.player.player_rig = var_03; + var_04 = [var_03,param_01]; + maps\_playermech_code::hide_mech_glass_static_overlay(var_03); + param_00 thread maps\_anim::anim_first_frame(var_04,"exhaust_hatch_vm_approach"); + common_scripts\utility::flag_wait("flag_exhaust_hatch_grab"); + setsaveddvar("g_friendlyNameDist",0); + level.player maps\_playermech_code::mech_setup_player_for_scene(undefined,1); + level.player allowads(0); + var_05 = getanimlength(maps\finale_anim_vm::getanim_vm("s1_playermech_putaway")); + var_05 = var_05 / 2; + level.player playerlinktoblend(var_03,"tag_player",0.5); + thread playerlinktodeltadelayed(2,var_03); + thread maps\finale_anim_vm::anim_single_solo_vm(level.player,"s1_playermech_putaway"); + wait(0.55); + var_03 show(); + level.player maps\_playermech_code::mech_setup_player_for_scene(); + thread maps\finale_shaft::do_shaft_gameplay_setup(param_00); + if(!isdefined(level.player.debug_skip_button_press)) + { + param_00 maps\_anim::anim_single(var_04,"exhaust_hatch_vm_approach"); + maps\finale_shaft::hatch_button_gameplay(param_00,var_04,var_03,param_01); + } + else + { + } + + common_scripts\utility::flag_set("flag_exhaust_hatch_open"); + if(!isdefined(level.player.debug_skip_button_press)) + { + param_00 notify("ender_player"); + thread maps\finale_shaft::store_speed(var_03); + param_00 maps\_anim::anim_single(var_04,"exhaust_hatch_open"); + } + + soundscripts\_snd::snd_message("start_silo_exhaust_entrance"); + soundscripts\_snd::snd_music_message("hatch_jump_begin"); + level.player maps\finale_shaft::do_shaft_gameplay(); + common_scripts\utility::flag_wait("flag_player_exhaust_corridor"); + maps\_utility::delaythread(7,::maps\_utility::autosave_by_name,"exhaust_corridor"); +} + +//Function Number: 72 +playerlinktodeltadelayed(param_00,param_01) +{ + wait(param_00); + level.player playerlinktodelta(param_01,"tag_player",0.75,5,5,5,5,1); +} + +//Function Number: 73 +anim_single_solo_with_special_walk(param_00,param_01) +{ + var_02 = getent("vents","targetname"); + var_02.animname = "vents"; + var_02 maps\_utility::assign_animtree(); + var_03 = [var_02,param_00]; + maps\_anim::anim_first_frame(var_03,param_01); + var_04 = getanimlength(param_00 maps\_utility::getanim(param_01)); + var_05 = 2.7; + thread maps\_anim::anim_single(var_03,param_01); + wait(var_04 - var_05); + level.player lerpviewangleclamp(1,0.1,0.1,0,0,0,0); + wait(var_05); + thread maps\finale_shaft::think_player_blast_walk_anims("nohands"); + wait 0.05; + param_00 hide(); + level.player unlink(); + level.player maps\_playermech_code::mech_setup_player_for_forced_walk_scene(); +} + +//Function Number: 74 +se_exhaust_land() +{ + common_scripts\utility::trigger_off("trig_exhaust_corridor","targetname"); + common_scripts\utility::flag_wait("flag_player_exhaust_corridor"); + if(isdefined(level.player.player_failed_drop) && level.player.player_failed_drop) + { + return; + } + + var_00 = getent("org_exhaust_hatch","targetname"); + soundscripts\_snd::snd_message("exhaust_shaft_land"); + var_00 thread anim_single_solo_with_special_walk(level.player.player_rig,"exhaust_land_vm"); + common_scripts\utility::flag_set("flag_lighting_fall_blur"); + soundscripts\_snd::snd_music_message("hatch_jump_end"); + level.player waittill("notetrack_gideon_start"); + soundscripts\_snd::snd_message("exhaust_shaft_land_gideon",level.gideon); + var_00 thread maps\_anim::anim_single_run_solo(level.gideon,"exhaust_land"); + level.gideon set_blast_walk_anims(); + maps\_utility::activate_trigger_with_targetname("trig_color_exhaust_corridor_01"); +} + +//Function Number: 75 +gideon_play_scripted_anim_when_reaching_goal(param_00) +{ + level.gideon endon("gideon_ender"); + var_01 = getnode("gideon_missile_stopped","targetname"); + for(;;) + { + if(distance2d(var_01.origin,level.gideon.origin) < 30) + { + break; + } + + wait 0.05; + } + + level.gideon maps\_utility::disable_ai_color(); + level.gideon maps\finale_utility::goto_node(var_01,1,64); + param_00 maps\_anim::anim_reach_solo(level.gideon,"missile_stopped"); + for(;;) + { + if(abs(level.player.origin[0] - level.gideon.origin[0]) < 200) + { + break; + } + + wait 0.05; + } + + maps\_utility::delaythread(8,::common_scripts\utility::flag_set,"flag_player_shoot_missile"); + param_00 maps\_anim::anim_single_solo(level.gideon,"missile_stopped"); + param_00 maps\_anim::anim_loop_solo(level.gideon,"missile_stopped_idle","gideon_ender"); +} + +//Function Number: 76 +player_exhaust_corridor() +{ + common_scripts\utility::flag_wait("flag_player_exhaust_corridor"); + level.player thread player_exhaust_corridor_rumbles(); + level.player waittill("notetrack_player_control"); + level.player setmovespeedscale(0.5); + level.player waittill("notetrack_player_blast_react"); + maps\finale_shaft::anim_single_solo_with_lerp(level.player.player_rig,"exhaust_blast_react"); + common_scripts\utility::trigger_on("trig_exhaust_corridor","targetname"); + thread player_speed_control_rocket_blast(); + thread missile_damage_think(); + var_00 = getent("org_missile_damaged","targetname"); + thread gideon_play_scripted_anim_when_reaching_goal(var_00); + level.player waittill("notetrack_rocket_launch_start"); + soundscripts\_snd::snd_message("aud_rocket_launch_start"); + common_scripts\utility::flag_set("flag_vfx_missile_liftoff_start"); + common_scripts\utility::flag_set("flag_missile_launch_stop"); + common_scripts\utility::flag_wait("flag_player_shoot_missile"); + if(!common_scripts\utility::flag("flag_exhaust_corridor_timer_fail")) + { + level.player maps\finale_utility::mech_enable_switch_exhaust_version(); + level.player maps\_playermech_code::mech_setup_player_for_gameplay(); + } + + common_scripts\utility::flag_wait("flag_missile_damaged"); + common_scripts\utility::flag_set("flag_obj_stop_missile_launch_complete"); + common_scripts\utility::flag_set("lighting_flag_obj_stop_missile_complete"); + common_scripts\utility::flag_set("flag_obj_escape"); + level.player.player_rig show(); + level.player playerlinktoabsolute(level.player.player_rig,"TAG_PLAYER"); + level.player maps\_playermech_code::mech_setup_player_for_scene(); + var_01 = maps\_utility::spawn_anim_model("minigun"); + var_02 = [var_01,level.player.player_rig,level.gideon]; + var_00 maps\_anim::anim_first_frame(var_02,"missile_stopped_vm"); + soundscripts\_snd::snd_message("fin_silo_success"); + var_00 maps\_anim::anim_single(var_02,"missile_stopped_vm"); + var_01 delete(); + thread missile_stopped(); + wait(2); + common_scripts\utility::flag_set("flag_se_mech_exit_start"); + level.gideon clear_blast_walk_anims(); +} + +//Function Number: 77 +player_exhaust_corridor_rumbles() +{ + level.player waittill("notetrack_vfx_blast"); + wait(1.5); + maps\finale_utility::set_level_player_rumble_ent_intensity(0.2); + common_scripts\utility::flag_wait("flag_player_shoot_missile"); + maps\finale_utility::set_level_player_rumble_ent_intensity(0.12); + common_scripts\utility::flag_wait_either("flag_missile_failed","flag_missile_damaged"); + if(common_scripts\utility::flag("flag_missile_damaged")) + { + maps\finale_utility::set_level_player_rumble_ent_intensity(0); + return; + } + + thread handle_failstate_primary_ignition_rumbles(); +} + +//Function Number: 78 +exhaust_corridor_timer() +{ + wait(55); + if(!common_scripts\utility::flag("flag_player_shoot_missile")) + { + common_scripts\utility::flag_set("flag_exhaust_corridor_timer_fail"); + thread maps\finale_utility::chase_timer_countdown(2,&"FINALE_FAILED_MISSILE_LAUNCH"); + } +} + +//Function Number: 79 +missile_stopped() +{ + var_00 = getent("missile","targetname"); + var_01 = getent("org_missile_stopped","targetname"); +} + +//Function Number: 80 +fail_missile_damage_think(param_00) +{ + var_01 = getent("org_missile_damaged","targetname"); + var_02 = getent("org_far_fail","targetname"); + common_scripts\utility::flag_wait("flag_player_shoot_missile"); + wait(2.2); + wait(18); + if(common_scripts\utility::flag("flag_missile_damaged")) + { + return; + } + + common_scripts\utility::flag_set("flag_missile_failed"); + common_scripts\utility::flag_set("lighting_missile_fail"); + thread maps\finale_missile::restore_thrusters_all(param_00,param_00.damage_accumulation_clip); + level.player maps\_playermech_code::mech_setup_player_for_scene(); + var_03 = level.player.player_rig; + if(!isdefined(var_03)) + { + var_03 = maps\_utility::spawn_anim_model("world_body_mech"); + } + + var_03 show(); + level.player playerlinktoabsolute(var_03,"TAG_PLAYER"); + level.player.ignore_fade_notetrack = 1; + level.player takeallweapons(); + level.gideon notify("gideon_ender"); + var_04 = maps\_utility::spawn_anim_model("minigun"); + var_05 = [var_03,param_00,var_04,level.gideon]; + level.gideon thread freeze_anim_at_end("missile_launch"); + if(level.player.origin[0] > var_02.origin[0]) + { + var_03.origin = (level.player.origin[0],level.player.origin[1],var_02.origin[2]); + var_03.angles = var_02.angles; + var_04 hide(); + var_03 maps\_anim::anim_first_frame_solo(var_03,"missile_launch_far_fail"); + var_03 thread maps\finale_shaft::anim_single_solo_in_place(var_03,"missile_launch_far_fail"); + var_05 = common_scripts\utility::array_remove(var_05,var_03); + } + + var_01 maps\_anim::anim_first_frame(var_05,"missile_launch"); + var_01 maps\_anim::anim_single(var_05,"missile_launch"); + level.player showhud(); + level.player setclientomnvar("ui_playermech_hud",0); + setsaveddvar("cg_drawCrosshair",0); + setdvar("ui_deadquote",&"FINALE_FAILED_MISSILE_LAUNCH"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 81 +freeze_anim_at_end(param_00) +{ + var_01 = maps\_utility::getanim(param_00); + var_02 = getanimlength(var_01); + var_03 = var_02 - 0.1 / var_02; + for(;;) + { + if(self getanimtime(var_01) >= var_03) + { + break; + } + + wait 0.05; + } + + self setanimrate(var_01,0); +} + +//Function Number: 82 +missile_damage_think() +{ + level endon("flag_missile_failed"); + common_scripts\utility::flag_wait("flag_missile_launch_stop"); + var_00 = getent("damage_accumulation_clip","targetname"); + var_01 = getent("missile_main_02","targetname"); + maps\finale_missile::setup_complete_missile_prefab(var_01,var_00); + var_01.damage_accumulation_clip = var_00; + thread fail_missile_damage_think(var_01); + var_00 waittill("damage",var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A,var_0B); + common_scripts\utility::flag_set("flag_missile_hit"); + playfx(common_scripts\utility::getfx("fin_rocket_silo_explosion"),var_00.origin); + soundscripts\_snd::snd_message("aud_fin_rocket_damage_vfx"); + var_00 waittill("death",var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A,var_0B); + common_scripts\utility::flag_set("flag_missile_damaged"); + level.gideon notify("gideon_ender"); +} + +//Function Number: 83 +is_player_in_rocket_blast() +{ + return !common_scripts\utility::flag("flag_obj_stop_missile_launch_complete"); +} + +//Function Number: 84 +se_mech_exit() +{ + thread maps\finale_lighting::play_finale_silo_end_cine(); + var_00 = getent("org_mech_exit","targetname"); + var_01 = undefined; + if(isdefined(level.player.player_rig)) + { + var_01 = level.player.player_rig; + } + else + { + var_01 = maps\_utility::spawn_anim_model("world_body_mech"); + } + + var_02 = maps\_utility::spawn_anim_model("world_body"); + var_01 hide(); + var_02 hide(); + var_01 thread maps\_playermech_code::scripted_screen_flicker_loop(); + var_03 = [var_01,var_02]; + var_00 thread maps\_anim::anim_first_frame(var_03,"mech_exit"); + level.gideon maps\_utility::disable_ai_color(); + level.gideon maps\finale_utility::clearstencilstate(); + level.gideon delete(); + maps\finale::spawn_gideon(); + level.gideon maps\_utility::gun_remove(); + var_03 = [var_01,var_02,level.gideon]; + common_scripts\utility::flag_wait("flag_se_mech_exit_start"); + if(level.player hasweapon("playermech_auto_cannon_finale") || level.player hasweapon("playermech_auto_cannon_finale_exhaust")) + { + level.player maps\_playermech_code::playermech_end(); + level.player takeweapon("iw5_unarmedfinale_nullattach"); + level.player setviewmodel("viewhands_sentinel_mitchell_prosthetic_smashed"); + level.player giveweapon("iw5_titan45finalelobby_sp_xmags"); + level.player setweaponammostock("iw5_titan45finalelobby_sp_xmags",0); + level.player switchtoweapon("iw5_titan45finalelobby_sp_xmags"); + level.player setadditiveviewmodelanim(0); + } + else + { + level.player takeweapon("iw5_unarmedfinale_nullattach"); + level.player giveweapon("iw5_titan45finalelobby_sp_xmags"); + level.player setweaponammostock("iw5_titan45finalelobby_sp_xmags",0); + level.player switchtoweapon("iw5_titan45finalelobby_sp_xmags"); + level.player disableweapons(); + } + + level.player maps\_shg_utility::setup_player_for_scene(1); + thread maps\finale_utility::screen_fade_in(2); + level.player maps\_playermech_code::mech_setup_player_for_scene(); + var_01 show(); + var_02 show(); + level.player playerlinktodelta(var_02,"tag_player",0.75,5,5,5,5,1); + level.player enableslowaim(0.3,0.15); + soundscripts\_snd::snd_message("gid_release_plr_mech_suit"); + var_00 maps\_anim::anim_single(var_03,"mech_exit"); + thread maps\_utility::lerp_fov_overtime(0.5,var_02.fov_original); + soundscripts\_snd::snd_music_message("dazed_and_confused1"); + wait(3); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.gideon maps\_utility::gun_recall(); + level.player maps\_playermech_code::mech_setup_player_for_gameplay(); + level.player disableslowaim(); + level.player unlink(); + var_01 delete(); + var_02 delete(); + level.gideon maps\_utility::anim_stopanimscripted(); +} + +//Function Number: 85 +se_will_reveal() +{ + soundscripts\_snd::snd_message("start_will_room"); + common_scripts\utility::flag_wait("flag_dialogue_carry_scene_02_complete"); + common_scripts\utility::flag_set("second_half_lighting"); + level.player lightsetforplayer("finale_will"); + maps\_utility::vision_set_fog_changes("finale_cinematic_nofog",0); + maps\_utility::delaythread(10,::maps\finale_utility::screen_fade_in,4); + var_00 = getent("org_will_reveal","targetname"); + level.player maps\_shg_utility::setup_player_for_scene(1); + var_01 = maps\_utility::spawn_anim_model("world_body"); + var_01 hide(); + var_02 = [var_01,level.gideon]; + level.player playerlinktodelta(var_01,"tag_player",0.75,5,15,15,15,1); + level.player enableslowaim(0.3,0.15); + var_01 show(); + level.player lerpfov(50,0); + var_00 thread maps\_anim::anim_first_frame(var_02,"will_reveal"); + common_scripts\utility::flag_wait("flag_dialogue_se_will_reveal"); + var_00 thread maps\_anim::anim_single_run_solo(level.gideon,"will_reveal"); + level.gideon maps\_utility::enable_cqbwalk(); + var_00 maps\_anim::anim_single_solo(var_01,"will_reveal"); + level.player unlink(); + var_01 delete(); + level.player setorigin(level.player.origin + (0,4,0)); + level.player disableslowaim(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + setsaveddvar("player_sprintSpeedScale",1.4); + common_scripts\utility::flag_set("flag_will_reveal_complete"); +} + +//Function Number: 86 +se_irons_reveal_head_sway() +{ + for(;;) + { + screenshake(level.player.origin,2.1,2.25,1.9,2,0.2,0.2,0,0.2,0.34,0.3); + wait(1); + } +} + +//Function Number: 87 +se_irons_reveal_head_jolt() +{ + screenshake(level.player.origin,4,1,1,0.25,0.1,0.1,0,0.1,0.1,0.1); +} + +//Function Number: 88 +se_irons_reveal_handle_button_prompts_on_arm(param_00) +{ + self hide(); + param_00 maps\_anim::anim_first_frame_solo(self,"irons_reveal_button_press"); + common_scripts\utility::delaycall(0.05,::show); + common_scripts\utility::flag_clear("flag_buttonmash_success"); + var_01 = level.scr_anim["world_body_damaged"]["irons_reveal_button_press"]; + self setflaggedanim("prompt_start",var_01); + var_02 = level.scr_anim["world_body_damaged"]["fin_irons_reveal_button_press_finger_loop_vm"]; + self waittillmatch("start_button_press","prompt_start"); + var_03 = common_scripts\utility::spawn_tag_origin(); + var_03.origin = self gettagorigin("J_Wrist_RI"); + var_03 linkto(self,"J_Wrist_RI",(-2.5,0,1),(0,0,0)); + var_04 = var_03 maps\_shg_utility::hint_button_tag("x","tag_origin",64,128,1,1); + var_04.fontscale = 2; + var_04 thread maps\_shg_utility::hint_button_flash(0.15,0.1); + maps\_utility::hintdisplayhandler("break_free_buttonmash_hint"); + level.player notifyonplayercommand("x_pressed","+usereload"); + level.player notifyonplayercommand("x_pressed","+activate"); + childthread se_irons_reveal_monitor_button_on_arm(); + childthread se_irons_reveal_head_sway(); + thread maps\finale_utility::chase_timer_countdown(15,&"FINALE_FAILED_IRONS_CHASE"); + var_05 = self getanimtime(var_01); + self.button_presses = 0; + var_06 = 1; + self setanimrate(var_01,0); + var_07 = 0; + soundscripts\_snd::snd_message("fin_irons_reveal_mash_start"); + while(var_05 < 1) + { + self.button_presses = 0; + wait(0.2); + if(self.button_presses >= 1) + { + var_07 = var_07 + 0.2; + if(var_07 >= 1) + { + soundscripts\_snd::snd_message("fin_irons_reveal_mash","peak"); + var_07 = 1; + } + else + { + soundscripts\_snd::snd_message("fin_irons_reveal_mash","speedup"); + } + + self setanimrate(var_01,var_07); + var_06 = 0; + self setanim(var_02); + continue; + } + + var_07 = var_07 - 0.33; + if(var_07 <= 0) + { + soundscripts\_snd::snd_message("fin_irons_reveal_mash","stopped"); + var_07 = 0; + } + else + { + soundscripts\_snd::snd_message("fin_irons_reveal_mash","slowdown"); + } + + self setanimrate(var_01,var_07); + if(!var_06) + { + var_06 = 1; + } + + var_05 = self getanimtime(var_01); + } + + self setanimtime(var_01,1); + var_04 maps\_shg_utility::hint_button_clear(); + var_03 delete(); + common_scripts\utility::flag_set("flag_buttonmash_success"); + soundscripts\_snd::snd_message("fin_irons_reveal_mash_finish"); + level.player notifyonplayercommandremove("x_pressed","+usereload"); + level.player notifyonplayercommandremove("x_pressed","+activate"); + common_scripts\utility::flag_set("stair_lights_on"); + level notify("chase_timer_countdown_stop"); +} + +//Function Number: 89 +se_irons_reveal_monitor_button_on_arm() +{ + level endon("flag_buttonmash_success"); + while(!common_scripts\utility::flag("flag_buttonmash_success")) + { + level.player common_scripts\utility::waittill_any("x_pressed"); + self.button_presses = self.button_presses + 1; + level.player playrumbleonentity("damage_light"); + } +} + +//Function Number: 90 +se_irons_reveal() +{ + soundscripts\_snd::snd_message("start_will_room"); + common_scripts\utility::flag_wait("flag_dialogue_carry_scene_02_complete"); + common_scripts\utility::flag_set("second_half_lighting"); + level.player lightsetforplayer("finale_will"); + maps\_utility::vision_set_fog_changes("finale_cinematic_nofog",0); + var_00 = maps\_utility::spawn_targetname("irons_will_reveal",1); + var_00.animname = "irons"; + var_00 maps\_utility::gun_remove(); + var_00.ignoreall = 1; + level.irons = var_00; + thread maps\finale_lighting::lighting_will_reveal(); + thread maps\finale_lighting::will_room_speech_end(); + if(level.nextgen) + { + thread maps\finale_lighting::setup_eye_highlights(var_00); + thread maps\finale_lighting::dof_irons_meet(var_00); + } + + thread will_room_door_exit(); + maps\_utility::delaythread(10,::maps\finale_utility::screen_fade_in,4); + var_01 = getent("org_irons_reveal","targetname"); + level.player maps\_shg_utility::setup_player_for_scene(1); + var_02 = maps\_utility::spawn_anim_model("world_body_damaged"); + var_02 hide(); + var_03 = maps\_utility::spawn_anim_model("pistol"); + var_03 hidepart("tag_rail_master_on"); + var_03 hide(); + var_04 = [var_02,level.gideon,var_03]; + level.player playerlinktodelta(var_02,"tag_player",1,0,0,0,0,1); + level.player enableslowaim(0.3,0.15); + var_02 show(); + var_03 show(); + var_02 thread se_irons_reveal_handle_material_swap(); + level.player lerpfov(50,0); + var_01 thread maps\_anim::anim_first_frame(var_04,"irons_reveal"); + var_01 thread maps\_anim::anim_first_frame_solo(var_00,"irons_reveal"); + var_05 = maps\_utility::spawn_anim_model("irons_phone"); + var_05.origin = var_00 gettagorigin("TAG_WEAPON_CHEST"); + var_05.angles = var_00 gettagangles("TAG_WEAPON_CHEST"); + var_05 linkto(var_00,"TAG_WEAPON_CHEST"); + common_scripts\utility::flag_wait("flag_dialogue_se_will_reveal"); + maps\_utility::delaythread(123,::common_scripts\utility::flag_set,"flag_will_room_door_exit_open"); + level thread maps\finale_fx::vfx_irons_reveal_scene(); + level.player common_scripts\utility::delaycall(2.6,::playrumbleonentity,"damage_heavy"); + var_06 = getanimlength(maps\_utility::getanim_from_animname("irons_reveal","irons")); + var_00 maps\_utility::delaythread(var_06,::maps\_utility::_delete); + var_05 maps\_utility::delaythread(var_06,::maps\_utility::_delete); + var_03 maps\_utility::delaythread(var_06,::maps\_utility::_delete); + var_01 thread maps\_anim::anim_single_solo(var_00,"irons_reveal"); + var_01 maps\finale_ending::anim_single_with_gameplay(var_04,"irons_reveal"); + thread maps\_utility::autosave_by_name("free_from_exo"); + var_01 thread maps\_anim::anim_loop_solo(level.gideon,"irons_reveal_button_idle","ender"); + var_02 se_irons_reveal_handle_button_prompts_on_arm(var_01); + var_02 setmodel("viewbody_sentinel_mitchell_egress_custom"); + level.player notify("exo_released"); + var_01 notify("ender"); + level.player common_scripts\utility::delaycall(5,::playrumbleonentity,"damage_heavy"); + level.gideon thread se_irons_reveal_pt2_gideon(var_01); + var_01 thread maps\_anim::anim_single([var_02],"irons_reveal_part2"); + var_07 = var_02 maps\_utility::getanim("irons_reveal_part2"); + var_08 = getanimlength(var_07); + var_09 = getnotetracktimes(var_07,"ease_out")[0] * var_08; + var_0A = 0; + while(var_0A < var_08) + { + if(var_0A >= var_09 && level.player getnormalizedmovement()[0] > 0.5) + { + break; + } + + wait 0.05; + var_0A = var_0A + 0.05; + } + + level.player unlink(); + var_02 delete(); + level notify("release"); + level.player disableslowaim(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.player disableoffhandweapons(); + setsaveddvar("player_sprintSpeedScale",1.6); + common_scripts\utility::flag_set("flag_will_reveal_complete"); + common_scripts\utility::flag_set("flag_obj_escape_complete"); + common_scripts\utility::flag_set("flag_start_irons_chase"); + maps\_utility::battlechatter_off("allies"); + maps\_utility::battlechatter_off("axis"); + thread maps\finale_lighting::will_room_speech_end(); +} + +//Function Number: 91 +se_irons_reveal_pt2_gideon(param_00) +{ + param_00 maps\_anim::anim_single([self],"irons_reveal_part2"); + param_00 thread maps\_anim::anim_loop_solo(self,"irons_reveal_idle","ender"); +} + +//Function Number: 92 +irons_exo_hack(param_00) +{ + maps\_shg_utility::play_videolog("finale_hud_reboot","screen_add",0,0,0,0,0); +} + +//Function Number: 93 +se_irons_reveal_handle_material_swap() +{ + self overridematerial("mtl_arm_band_ui_glass","m/mtl_arm_band_ui_offline"); + level.gideon overridematerial("mtl_arm_band_ui_glass","m/mtl_arm_band_ui_offline"); + common_scripts\utility::flag_wait("flag_material_swap_detach_exo"); + self overridematerialreset(); + self overridematerial("mtl_arm_band_ui_glass","m/mtl_arm_band_ui_reboot"); + common_scripts\utility::flag_wait("flag_material_swap_confirm_button"); + self overridematerialreset(); + common_scripts\utility::flag_wait("flag_material_swap_gideon_error"); + level.gideon thread maps\finale_fx::exo_release_gideon_error_glow(); + level.gideon overridematerialreset(); + level.gideon overridematerial("mtl_arm_band_ui_glass","m/mtl_arm_band_ui_failure"); +} + +//Function Number: 94 +door_irons_reveal_open(param_00) +{ + var_01 = getent("door_irons_reveal","targetname"); + var_01 soundscripts\_snd::snd_message("aud_irons_reveal_star_trek_door"); + var_02 = getent("org_door_irons_reveal_open","targetname"); + var_01 moveto(var_02.origin,1,0.25,0.25); +} + +//Function Number: 95 +se_irons_reveal_exo(param_00) +{ + level.player setviewmodel("viewhands_noexo_mitchell_prosthetic_smashed"); + var_01 = getent("org_irons_reveal","targetname"); + var_02 = maps\_utility::spawn_anim_model("exo"); + var_01 maps\_anim::anim_single_solo(var_02,"irons_reveal_exo"); + var_01 thread maps\_anim::anim_loop_solo(var_02,"irons_reveal_exo_idle"); +} + +//Function Number: 96 +se_will_reveal_irons() +{ + common_scripts\utility::flag_wait("flag_se_will_reveal_irons"); + var_00 = getent("org_will_reveal_irons","targetname"); + level.player maps\_shg_utility::setup_player_for_scene(1); + var_01 = maps\_utility::spawn_anim_model("world_hands"); + var_01 hide(); + var_02 = maps\_utility::spawn_targetname("irons_will_reveal",1); + var_02.animname = "irons"; + var_02 maps\_utility::gun_remove(); + var_03 = [var_01,var_02]; + level.player playerlinktodelta(var_01,"tag_player",0.1,0,0,0,0,1); + var_00 thread maps\_anim::anim_first_frame(var_03,"will_reveal_irons"); + var_00 maps\_anim::anim_single(var_03,"will_reveal_irons"); + level.player unlink(); + var_02 delete(); + var_01 delete(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + maps\_utility::activate_trigger_with_targetname("trig_color_wills_room_exit"); + common_scripts\utility::flag_set("flag_will_reveal_irons_complete"); + level.player lerpfov(65,0); + level.player setorigin((11608,-85516,7600)); + level.player setplayerangles((0,-90,0)); +} + +//Function Number: 97 +se_irons_chase() +{ + thread se_irons_elevator_doors(); + common_scripts\utility::flag_set("second_half_lighting"); + common_scripts\utility::flag_wait("flag_start_irons_chase"); + level.player allowmelee(0); + maps\_utility::delaythread(2,::maps\_utility::autosave_by_name,"chase_begin"); + if(!isdefined(level.irons)) + { + level.irons = maps\_utility::spawn_targetname("irons",1); + level.irons.animname = "irons"; + level.irons.name = ""; + level.irons maps\finale_utility::set_custom_patrol_anim_set("unaware"); + level.irons maps\_utility::gun_remove(); + level.irons thread maps\_utility::deletable_magic_bullet_shield(); + } + + level.irons.team = "axis"; + thread maps\finale_utility::sprint_hint_reminder(); + thread maps\finale_utility::chase_timer_countdown(15,&"FINALE_FAILED_IRONS_CHASE"); + thread maps\finale_utility::player_chase_speed_control(); + setsaveddvar("player_sprintUnlimited",1); + var_00 = getent("org_irons_run","targetname"); + var_00 maps\_anim::anim_first_frame_solo(level.irons,"irons_run_left_turn_up_stairs"); + common_scripts\utility::flag_wait("flag_irons_start_running_01"); + thread maps\finale_utility::chase_timer_countdown(8,&"FINALE_FAILED_IRONS_CHASE"); + var_00 maps\_anim::anim_single_solo(level.irons,"irons_run_left_turn_up_stairs"); + var_01 = getent("org_irons_end","targetname"); + var_00 stopanimscripted(); + var_01 stopanimscripted(); + var_02 = getent("door_irons_chase_se","targetname"); + var_02.animname = "keypad_door"; + var_02 maps\_utility::assign_animtree(); + var_03 = getent("clip_door_irons_chase_se","targetname"); + var_00 maps\_anim::anim_first_frame_solo(var_02,"irons_run_to_keypad_door"); + var_00 maps\_anim::anim_first_frame_solo(level.irons,"irons_run_to_elevator_full"); + common_scripts\utility::flag_wait("flag_irons_start_running_02"); + thread maps\finale_utility::chase_timer_countdown(15,&"FINALE_FAILED_IRONS_CHASE"); + thread maps\finale_utility::lowering_door_think(23,"door_irons_chase","clip_door_irons_chase","origin_door_irons_chase","flag_start_door_lowering","trig_door_path_check"); + soundscripts\_snd::snd_message("irons_keypad_door_open",var_02); + var_00 thread maps\_anim::anim_single_solo(var_02,"irons_run_to_keypad_door"); + var_00 thread maps\_anim::anim_single_solo(level.irons,"irons_run_to_elevator_full"); + wait(9); + if(!common_scripts\utility::flag("flag_se_bridge_takedown")) + { + common_scripts\utility::flag_set("flag_irons_passed_final_run_start"); + } +} + +//Function Number: 98 +se_irons_elevator_doors() +{ + var_00 = getent("fin_balcony_elevator_door_01","targetname"); + var_00.animname = "elevator_doors"; + var_00 maps\_utility::assign_animtree(); + var_01 = common_scripts\utility::getstruct("se_balcony_finale","script_noteworthy"); + var_01 maps\_anim::anim_first_frame_solo(var_00,"balcony_finale_pt1_fail_elevator_close"); +} + +//Function Number: 99 +se_bridge_takedown() +{ + common_scripts\utility::flag_wait("flag_irons_rooftop"); + var_00 = getent("org_bridge_takedown","targetname"); + var_01 = maps\_utility::spawn_targetname("guy_bridge_takedown",1); + var_01.animname = "guy_bridge_takedown"; + var_01.ignoreme = 1; + var_01.ignoreall = 1; + self.allowdeath = 1; + var_01 maps\_utility::place_weapon_on("iw5_hbra3_sp","right"); + var_01 laseroff(); + var_02 = maps\_utility::spawn_anim_model("world_body_damaged_no_exo"); + var_02 hide(); + var_03 = [var_02,var_01]; + var_00 thread maps\_anim::anim_first_frame(var_03,"bridge_takedown"); + common_scripts\utility::flag_wait("flag_se_bridge_takedown"); + soundscripts\_snd::snd_message("fin_skybridge_takedown_start"); + var_04 = getent("trig_irons_passed_final_run_start","targetname"); + var_04 common_scripts\utility::trigger_off(); + maps\finale_utility::chase_timer_cancel(); + var_05 = 0.31; + level.player maps\_shg_utility::setup_player_for_scene(0); + level.player playerlinktoblend(var_02,"tag_player",var_05); + level.player common_scripts\utility::delaycall(var_05,::playerlinktodelta,var_02,"tag_player",1,0,0,0,0,1); + var_02 common_scripts\utility::delaycall(var_05,::show); + var_00 thread maps\_anim::anim_single(var_03,"bridge_takedown"); + wait(0.5); + thread maps\finale_utility::enable_takedown_hint(var_01,175,1,"flag_se_bridge_takedown_success",2); + common_scripts\utility::flag_wait("flag_bridge_takedown_jump_complete"); + if(common_scripts\utility::flag("flag_se_bridge_takedown_success")) + { + common_scripts\utility::flag_set("flag_disable_takedown_hint"); + if(isdefined(level.takedown_button)) + { + level.takedown_button maps\_shg_utility::hint_button_clear(); + } + + level.player_knife = maps\_utility::spawn_anim_model("player_knife"); + level.player_knife hide(); + var_03 = common_scripts\utility::array_add(var_03,level.player_knife); + var_00 thread maps\_anim::anim_single(var_03,"bridge_takedown_success"); + var_06 = var_02 maps\_utility::getanim("bridge_takedown_success"); + var_07 = getanimlength(var_06); + var_08 = getnotetracktimes(var_06,"ease_out")[0] * var_07; + var_09 = 0; + while(var_09 < var_07) + { + if(var_09 >= var_08 && level.player getnormalizedmovement()[0] > 0.5) + { + break; + } + + wait 0.05; + var_09 = var_09 + 0.05; + } + + level.player forcesprint(); + var_01 delete(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.player disableoffhandweapons(); + level.player takeweapon("iw5_unarmedfinale_nullattach"); + level.player giveweapon("iw5_unarmedfinaleknife"); + level.player switchtoweapon("iw5_unarmedfinaleknife"); + level.player unlink(); + level.player show(); + var_02 delete(); + level.player_knife delete(); + thread rooftop_glass_explode(); + wait(0.5); + common_scripts\utility::flag_clear("flag_player_speed_control_on"); + thread se_balcony_finale_player_speed(); + return; + } + + common_scripts\utility::flag_set("flag_disable_takedown_hint"); + if(isdefined(level.takedown_button)) + { + level.takedown_button maps\_shg_utility::hint_button_clear(); + } + + maps\_utility::delaythread(1,::maps\_utility::slowmo_lerp_out); + soundscripts\_snd::snd_message("bridge_takedown_fail"); + var_00 maps\_anim::anim_single(var_03,"bridge_takedown_fail"); + setdvar("ui_deadquote",""); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 100 +rooftop_glass_explode() +{ + var_00 = getentarray("org_rooftop_glass_explode","targetname"); + wait(0.25); + level notify("vfx_rooftop_glass_explode"); + soundscripts\_snd::snd_message("fin_skybridge_glass_explo"); + earthquake(0.4,1.5,level.player.origin,1000); + foreach(var_02 in var_00) + { + glassradiusdamage(var_02.origin,256,110,25); + } +} + +//Function Number: 101 +se_balcony_finale() +{ + thread se_balcony_finale_balcony(); + common_scripts\utility::flag_wait("flag_se_bridge_takedown"); + thread maps\finale_lighting::mb_surprise(); + if(!common_scripts\utility::flag("flag_irons_passed_final_run_start")) + { + thread se_balcony_finale_player(); + thread se_balcony_finale_irons(); + } +} + +//Function Number: 102 +se_link_player_to_rig(param_00,param_01) +{ + level.player playerlinktodelta(param_00,"tag_player",1,10,10,5,0,0,0); + level.player springcamenabled(2.2,0.5); + level.ground_ref = spawn("script_origin",(0,0,0)); + level.ground_ref.angles = level.player getplayerangles(); + level.ground_ref linkto(level.player_rig,"tag_player"); + level.player playersetgroundreferenceent(level.ground_ref); + level.player enableslowaim(0.5,0.5); +} + +//Function Number: 103 +se_balcony_reveal_head_sway() +{ + level endon("dofpart5"); + level waittill("dofpart3"); + for(;;) + { + screenshake(level.player.origin,5,7,4,2,0.2,0.2,0,0.3,0.375,0.225); + wait(1); + } +} + +//Function Number: 104 +se_player_rig_move_to_irons(param_00,param_01) +{ + var_02 = self.origin; + var_03 = param_00 - self.origin; + var_04 = 0.05; + while(var_04 < param_01) + { + self.origin = var_02 + level.irons.origin - param_00 + var_03 * var_04 / param_01; + var_05 = level.irons.origin - self.origin; + if(length2d(var_05) > 20) + { + var_06 = angleclamp360(var_05[1],var_05[0]); + var_07 = var_06 - self.angles[1]; + var_08 = self.angles[1] + var_07 / 4; + self.angles = (self.angles[0],var_08,self.angles[2]); + } + + var_04 = var_04 + 0.05; + wait 0.05; + } +} + +//Function Number: 105 +se_balcony_finale_player() +{ + var_00 = 200; + common_scripts\utility::flag_wait("flag_bridge_takedown_jump_complete"); + var_01 = common_scripts\utility::getstruct("se_balcony_finale","script_noteworthy"); + level.player_rig = maps\_utility::spawn_anim_model("world_body_damaged_no_exo"); + level.player_rig hide(); + soundscripts\_snd::snd_message("fin_skybridge_takedown_plr_attack"); + var_01 maps\_anim::anim_first_frame_solo(level.player_rig,"balcony_finale_pt2"); + common_scripts\utility::flag_wait("flag_balcony_tackle_fake_okay"); + while(distance(level.player.origin,level.irons.origin) > var_00 && !common_scripts\utility::flag("flag_balcony_tackle_too_late")) + { + wait 0.05; + } + + var_02 = level.irons maps\_shg_utility::hint_button_tag("x","J_SpineUpper",72,1000,1); + var_02.fontscale = 2; + while(!level.player usebuttonpressed() && !common_scripts\utility::flag("flag_balcony_tackle_too_late")) + { + wait 0.05; + } + + var_02 maps\_shg_utility::hint_button_clear(); + if(common_scripts\utility::flag("flag_balcony_tackle_too_late")) + { + var_03 = getent("fin_balcony_elevator_door_01","targetname"); + var_03.animname = "elevator_doors"; + var_03 maps\_utility::assign_animtree(); + var_04 = common_scripts\utility::getstruct("se_balcony_finale","script_noteworthy"); + var_04 thread maps\_anim::anim_single_solo(var_03,"balcony_finale_pt1_fail_elevator_close"); + setdvar("ui_deadquote",&"FINALE_FAILED_IRONS_CHASE"); + maps\_utility::missionfailedwrapper(); + return; + } + + common_scripts\utility::flag_set("flag_balcony_tackle_started"); + soundscripts\_snd::snd_message("fin_irons_takedown_start"); + soundscripts\_snd::snd_music_message("irons_tackle"); + maps\_utility::delaythread(0.5,::maps\_utility::autosave_now); + level.player_rig.origin = level.player.origin; + level.player_rig.angles = level.player.angles; + thread se_link_player_to_rig(level.player_rig,0.05); + level.player_rig common_scripts\utility::delaycall(0.3,::show); + level.player maps\_shg_utility::setup_player_for_scene(0); + var_05 = level.scr_anim["world_body_damaged_no_exo"]["balcony_finale_pt1"]; + level.player_rig setanim(var_05); + var_06 = getanimlength(var_05); + var_07 = level.irons maps\_utility::getanim("balcony_finale_pt1"); + var_08 = getanimlength(var_07); + var_09 = var_08 - level.irons getanimtime(var_07) * var_08 / 3; + level.player_rig setanimrate(var_05,var_06 / var_09); + var_06 = var_09; + level.player_rig thread se_player_rig_move_to_irons(level.irons.origin,var_06); + thread maps\_anim::start_notetrack_wait(level.player_rig,"single anim","balcony_finale_pt1","world_body_damaged_no_exo",var_05); + thread maps\_anim::animscriptdonotetracksthread(level.player_rig,"single anim","balcony_finale_pt1"); + wait(var_06 - 0.1); + level.player_rig notify("balcony_finale_pt1"); + level.player_rig unlink(); + common_scripts\utility::flag_set("flag_balcony_tackle_success"); + level.player lerpfov(55,2); + level.player_rig attach("vm_mitchell_finale_knife","tag_weapon_left"); + level notify("dofpart2"); + soundscripts\_snd::snd_message("fin_irons_tackle"); + var_03 maps\_anim::anim_single_solo(level.player_rig,"balcony_finale_pt2"); + soundscripts\_snd::snd_message("finale_qte_show_knife"); + level.player_rig detach("vm_mitchell_finale_knife","tag_weapon_left"); + level.player_rig attach("vm_mitchell_finale_knife","tag_weapon_right"); + var_0A = getanimlength(level.player_rig maps\_utility::getanim("balcony_finale_pt2b_idle")); + thread maps\finale_utility::process_stab_finale_scene(level.player_rig,"J_Wrist_RI",var_0A,0,var_03); + var_03 maps\_anim::anim_single_solo(level.player_rig,"balcony_finale_pt2b_idle"); + common_scripts\utility::flag_set("flag_stop_display_melee_hint"); + if(common_scripts\utility::flag("flag_button_melee_success")) + { + var_03 maps\_anim::anim_single_solo(level.player_rig,"balcony_finale_pt2b_success"); + } + + level notify("dofpart3"); + level notify("dofpart4"); + maps\_utility::flagwaitthread("flag_xbutton_mash_start",::maps\finale_utility::process_buttonmash_finale_scene,level.player_rig,"J_Wrist_LE",8,var_03); + maps\_utility::flagwaitthread("flag_stab_mash_button_start",::maps\finale_utility::process_stab_finale_scene,level.player_rig,"J_Wrist_LE",5,0); + level notify("dof_look_down"); + var_0A = getanimlength(level.player_rig maps\_utility::getanim("balcony_finale_pt3_combined")); + var_03 maps\_anim::anim_single_solo(level.player_rig,"balcony_finale_pt3_combined"); + level.player_rig detach("vm_mitchell_finale_knife","tag_weapon_right"); + level.player_rig attach("vm_mitchell_finale_knife","tag_weapon_left"); + common_scripts\utility::flag_set("flag_stop_display_melee_hint"); + if(!common_scripts\utility::flag("flag_button_melee_success") && common_scripts\utility::flag("flag_xbutton_mash_end")) + { + level.player lightsetforplayer("finale_hang_fail"); + level notify("audio_finale_qte_fail"); + maps\_utility::vision_set_fog_changes("finale_roof_hang_fail",1.5); + var_03 maps\_anim::anim_single_solo(level.player_rig,"balcony_finale_pt4_fail"); + setdvar("ui_deadquote",""); + maps\_utility::missionfailedwrapper(); + return; + } + + level notify("dofpart5"); + var_03 thread severed_arm_anim(); + var_03 maps\_anim::anim_single_solo(level.player_rig,"balcony_finale_pt5"); + common_scripts\utility::flag_set("flag_obj_irons_complete"); + level notify("irons_dead"); + level.gideon.ignoreall = 1; + level.gideon maps\_utility::gun_remove(); + level.player_rig detach("vm_mitchell_finale_knife","tag_weapon_left",0); + var_0B = [level.player_rig,level.gideon]; + var_0A = getanimlength(level.player_rig maps\_utility::getanim("balcony_finale_end")); + level.player lerpviewangleclamp(1,0.25,0.5,0,5,5,0); + level.player enableslowaim(0.2,0.2); + var_03 thread maps\_anim::anim_single(var_0B,"balcony_finale_end"); + thread balcony_finale_end_camera_control(var_0A); + maps\_utility::flagwaitthread("flag_ending_start_fade",::maps\finale_utility::screen_fade_out,5); + wait(var_0A); + level.gideon maps\_utility::stop_magic_bullet_shield(); + level.gideon delete(); + wait(2); + common_scripts\utility::flag_set("flag_balcony_finale_success"); +} + +//Function Number: 106 +severed_arm_anim() +{ + var_00 = maps\_utility::spawn_anim_model("severed_arm"); + var_00 hide(); + var_00 setcontents(0); + thread maps\_anim::anim_single_solo(var_00,"balcony_finale_pt5"); + common_scripts\utility::flag_wait("flag_arm_severed"); + var_00 show(); + common_scripts\utility::flag_wait("flag_obj_irons_complete"); + var_00 delete(); +} + +//Function Number: 107 +balcony_finale_end_camera_control(param_00) +{ + wait(15); + level.player lerpviewangleclamp(1,0.25,0.5,15,15,15,15); + wait(16); + level.player lerpviewangleclamp(5,0.25,0.5,5,5,5,5); +} + +//Function Number: 108 +se_balcony_finale_player_speed() +{ + while(!common_scripts\utility::flag("flag_balcony_tackle_too_late")) + { + var_00 = level.irons.origin[0] - level.player.origin[0]; + if(level.player issprinting()) + { + var_01 = maps\_shg_utility::linear_map_clamp(var_00,50,250,0.6,1.1); + } + else + { + var_01 = maps\_shg_utility::linear_map_clamp(var_00,50,250,0.6,1.2); + } + + level.player setmovespeedscale(var_01); + wait 0.05; + } +} + +//Function Number: 109 +mash_x() +{ +} + +//Function Number: 110 +se_balcony_part1_up_to_tackle(param_00) +{ + level endon("flag_balcony_tackle_started"); + param_00 maps\_anim::anim_single_solo(level.irons,"balcony_finale_pt1"); +} + +//Function Number: 111 +set_when_time_flag_balcony_tackle_fake_okay() +{ + var_00 = getanimlength(level.irons maps\_utility::getanim("balcony_finale_pt1")) - 2.1; + wait(var_00); + common_scripts\utility::flag_set("flag_balcony_tackle_fake_okay"); +} + +//Function Number: 112 +set_when_time_flag_balcony_tackle_okay() +{ + var_00 = getanimlength(level.irons maps\_utility::getanim("balcony_finale_pt1")) - 1.3; + wait(var_00); + common_scripts\utility::flag_set("flag_balcony_tackle_okay"); +} + +//Function Number: 113 +set_when_time_flag_balcony_tackle_too_late() +{ + var_00 = getanimlength(level.irons maps\_utility::getanim("balcony_finale_pt1")) - 0.1; + wait(var_00); + common_scripts\utility::flag_set("flag_balcony_tackle_too_late"); +} + +//Function Number: 114 +se_balcony_finale_irons() +{ + level waittill("noteworthy_start_window"); + if(!isdefined(level.irons)) + { + level.irons = maps\_utility::spawn_targetname("irons",1); + level.irons.animname = "irons"; + level.irons.name = ""; + level.irons maps\finale_utility::set_custom_patrol_anim_set("unaware"); + level.irons maps\_utility::gun_remove(); + level.irons thread maps\_utility::deletable_magic_bullet_shield(); + level.irons.ignoreall = 1; + } + + var_00 = common_scripts\utility::getstruct("se_balcony_finale","script_noteworthy"); + var_00 maps\_anim::anim_first_frame_solo(level.irons,"balcony_finale_pt1"); + thread set_when_time_flag_balcony_tackle_fake_okay(); + thread set_when_time_flag_balcony_tackle_okay(); + thread set_when_time_flag_balcony_tackle_too_late(); + thread maps\finale_lighting::mb_tackle(); + se_balcony_part1_up_to_tackle(var_00); + if(!common_scripts\utility::flag("flag_balcony_tackle_started")) + { + var_00 maps\_anim::anim_single_solo(level.irons,"balcony_finale_pt1_fail"); + level.irons delete(); + return; + } + else + { + common_scripts\utility::flag_wait("flag_balcony_tackle_success"); + } + + common_scripts\utility::flag_set("flag_balcony_pt2_start"); + var_00 maps\_anim::anim_single_solo(level.irons,"balcony_finale_pt2"); + var_00 maps\_anim::anim_first_frame_solo(level.irons,"balcony_finale_pt3_combined"); + level waittill("dofpart3"); + var_00 maps\_anim::anim_single_solo(level.irons,"balcony_finale_pt3_combined"); + if(!common_scripts\utility::flag("flag_button_melee_success")) + { + thread maps\finale_fx::vfx_irons_fail_fall(); + var_00 maps\_anim::anim_single_solo(level.irons,"balcony_finale_pt4_fail"); + level.player lightsetforplayer("finale_hang_fail"); + return; + } + + var_00 maps\_anim::anim_single_solo(level.irons,"balcony_finale_pt5"); + level.irons delete(); +} + +//Function Number: 115 +se_balcony_finale_balcony() +{ + var_00 = maps\_utility::spawn_anim_model("balcony"); + thread maps\finale_lighting::balcony_lighting(var_00); + var_01 = common_scripts\utility::getstruct("se_balcony_finale","script_noteworthy"); + var_01 maps\_anim::anim_first_frame_solo(var_00,"balcony_finale_pt2"); + common_scripts\utility::flag_wait("flag_balcony_pt2_start"); + var_01 maps\_anim::anim_single_solo(var_00,"balcony_finale_pt2"); + var_01 maps\_anim::anim_last_frame_solo(var_00,"balcony_finale_pt2"); +} + +//Function Number: 116 +se_irons_end_helo(param_00,param_01,param_02) +{ + param_00 maps\_anim::anim_single_solo(self,param_01); + param_00 maps\_anim::anim_loop_solo(self,param_02); +} + +//Function Number: 117 +silo_catwalk_clip(param_00) +{ + var_01 = getentarray("silo_catwalk_blocker_02","targetname"); + foreach(var_03 in var_01) + { + var_03 connectpaths(); + var_03 delete(); + } + + var_01 = getentarray("silo_catwalk_blocker_02","targetname"); + foreach(var_03 in var_01) + { + var_03 connectpaths(); + var_03 delete(); + } + + var_07 = getnodearray("node_silo_01","targetname"); + foreach(var_09 in var_07) + { + var_09 connectnode(); + } + + param_00 common_scripts\utility::show_solid(); +} + +//Function Number: 118 +set_blast_walk_anims() +{ + self.disableexits = 0; + self.alwaysrunforward = undefined; + var_00 = ["exposed","exposed_crouch"]; + var_01[1] = %fin_mech_blast_no_shield_react; + var_01[2] = %fin_mech_blast_no_shield_react; + var_01[3] = %fin_mech_blast_no_shield_react; + var_01[4] = %fin_mech_blast_no_shield_react; + var_01[6] = %fin_mech_blast_no_shield_react; + var_01[7] = %fin_mech_blast_no_shield_react; + var_01[8] = %fin_mech_blast_no_shield_react; + var_01[9] = %fin_mech_blast_no_shield_react; + var_02[1] = %fin_mech_blast_no_shield_react_idle_to_walk; + var_02[2] = %fin_mech_blast_no_shield_react_idle_to_walk; + var_02[3] = %fin_mech_blast_no_shield_react_idle_to_walk; + var_02[4] = %fin_mech_blast_no_shield_react_idle_to_walk; + var_02[6] = %fin_mech_blast_no_shield_react_idle_to_walk; + var_02[7] = %fin_mech_blast_no_shield_react_idle_to_walk; + var_02[8] = %fin_mech_blast_no_shield_react_idle_to_walk; + var_02[9] = %fin_mech_blast_no_shield_react_idle_to_walk; + var_03 = level.archetypes["mech"]["run_turn"]; + var_04["stairs_down"] = %mech_run_stairs_down; + var_05 = level.archetypes[level.gideon.animarchetype]["start_stop"]; + maps\_utility::set_npc_anims("mech_blastwalk",%fin_mech_blast_no_shield_walk,%fin_mech_blast_no_shield_walk,[%fin_mech_blast_no_shield_react_idle],var_01,var_02,var_00,var_03,var_03,var_04); + level.archetypes[level.gideon.animarchetype]["start_stop"] = var_05; +} + +//Function Number: 119 +clear_blast_walk_anims() +{ + maps\_utility::clear_npc_anims("mech_blastwalk"); + self.disableexits = 1; +} + +//Function Number: 120 +lobby_protect() +{ + if(level.currentgen) + { + common_scripts\utility::flag_wait("outro_loaded_successfully"); + } + + common_scripts\utility::flag_clear("first_half_lighting"); + common_scripts\utility::flag_set("second_half_lighting"); + level.player lightsetforplayer("finale_lobby_2"); + maps\_utility::vision_set_fog_changes("finale_lobby",0); + maps\finale_utility::teleport_to_scriptstruct("checkpoint_lobby"); + thread player_blur_think("flag_lobby_clear"); + var_00 = getnode("node_gideon_lobby_01","targetname"); + level.gideon thread maps\finale_utility::goto_node(var_00,0); + level.gideon maps\_utility::disable_ai_color(); + level.gideon maps\_utility::set_baseaccuracy(100); + level.gideon maps\_utility::set_ignoresuppression(1); + level.player giveweapon("iw5_titan45finalelobby_sp_xmags"); + level.player switchtoweapon("iw5_titan45finalelobby_sp_xmags"); + level.player givestartammo("iw5_titan45finalelobby_sp_xmags"); + level.player setweaponammostock("iw5_titan45finalelobby_sp_xmags",0); + level.player disableweaponswitch(); + level.player setstance("prone"); + var_01 = getent("org_player_carried_lobby_01","targetname"); + var_02 = getent("org_player_carried_lobby_02","targetname"); + var_03 = getent("org_player_carried_lobby_03","targetname"); + thread maps\_utility::autosave_now(); + thread combat_lobby(); + thread player_accuracy_think(); + maps\_utility::delaythread(2,::common_scripts\utility::flag_set,"flag_lobby_combat_start"); + maps\_utility::delaythread(1,::common_scripts\utility::flag_set,"flag_dialogue_carry_scene_01"); + var_04 = undefined; + var_05 = getent("org_run_and_putdown","targetname"); + var_06 = undefined; + var_07 = 0.5; + level.player thread maps\finale_utility::screen_fade(0,1,0.5); + var_04 = maps\_utility::spawn_anim_model("world_body_damaged"); + maps\finale_drag::drag_player_from_start_to_end(var_01,var_02,level.gideon,var_04,"drag_run01",var_07); + level.player thread maps\finale_utility::screen_fade(var_07,2,0.5); + maps\finale_drag::drag_player_from_start_to_end(var_02,var_03,level.gideon,var_04,"drag_run02",var_07); + level.player thread maps\finale_utility::screen_fade(var_07,1,0.5); + wait(var_07); + wait 0.05; + level.player maps\_shg_utility::setup_player_for_scene(); + var_06 = [level.gideon,var_04]; + var_05 maps\_anim::anim_single(var_06,"drag_putdown"); + level.player playerlinktodelta(var_04,"TAG_PLAYER",1,40,45,30,10,1,0); + level.player maps\_shg_utility::setup_player_for_gameplay(); + var_05 thread maps\_anim::anim_loop_solo(level.gideon,"drag_cover","gideon_ender"); + level.player enableweapons(); + level.player allowsprint(0); + level.player allowprone(1); + level.player allowcrouch(0); + level.player allowstand(0); + level.player allowmelee(0); + level.player disableoffhandweapons(); + level.player disableoffhandsecondaryweapons(); + level.player disableweaponpickup(); + level.player thread maps\_player_exo::setoverdrive(); + common_scripts\utility::flag_set("flag_lobby_player_can_shoot"); + thread maps\finale_drag::shooting_head_sway(); + common_scripts\utility::flag_wait("flag_lobby_clear"); + level.player maps\_player_exo::unsetoverdrive(); + while(isdefined(level.gideon.pickup_allowed) && !level.gideon.pickup_allowed) + { + wait 0.05; + } + + var_05 notify("gideon_ender"); + soundscripts\_snd::snd_message("fin_lobby_gun_limp"); + maps\finale_anim_vm::anim_single_solo_vm(level.player,"gun_limp"); + soundscripts\_snd::snd_music_message("dazed_and_confused2"); + level.player notify("end_head_sway"); + level.player playerlinktoblend(var_04,"TAG_PLAYER",1.2); + level.player common_scripts\utility::delaycall(4,::playerlinktodelta,var_04,"TAG_PLAYER",1,10,10,10,10,1,0); + level.player maps\_shg_utility::setup_player_for_scene(); + level.player giveweapon("iw5_unarmedfinale_nullattach"); + level.player takeweapon("iw5_titan45finalelobby_sp_xmags"); + var_08 = maps\_utility::spawn_anim_model("drag_pistol"); + var_06 = [level.gideon,var_04,var_08]; + var_05 maps\_anim::anim_single(var_06,"drag_pickup02"); + if(isdefined(var_04)) + { + var_04 delete(); + } +} + +//Function Number: 121 +player_accuracy_think() +{ + level endon("flag_lobby_clear"); + for(;;) + { + var_00 = level.player getcurrentweapon(); + var_01 = level.player getammocount(var_00); + if(var_01 <= 2 && var_00 != "none") + { + var_02 = getaiarray("axis"); + foreach(var_04 in var_02) + { + if(isdefined(var_04.script_noteworthy) && var_04.script_noteworthy == "enemy_lobby") + { + var_04 thread maps\finale_utility::murder_player_seek(); + } + } + } + + wait 0.05; + } +} + +//Function Number: 122 +player_blur_think(param_00) +{ + if(isdefined(param_00)) + { + level endon(param_00); + thread player_blur_reset(param_00); + } + + var_01 = randomfloatrange(2,4); + var_02 = randomfloatrange(0.5,5); + for(;;) + { + if(!level.player maps\_utility::isads()) + { + thread player_blur_monitor_ads(); + player_blur_non_ads(var_01,var_02); + continue; + } + + thread player_blur_monitor_non_ads(); + player_blur_ads(); + } + + wait(0.05); +} + +//Function Number: 123 +player_blur_non_ads(param_00,param_01) +{ + level endon("player_ads"); + setblur(param_00,param_01); + wait(param_01); + setblur(0.5,param_01); + wait(param_01); +} + +//Function Number: 124 +player_blur_ads() +{ + level endon("player_ads"); + setblur(0,0.75); + wait(0.75); +} + +//Function Number: 125 +player_blur_monitor_non_ads() +{ + level notify("player_ads_end"); + level endon("player_ads_end"); + while(level.player maps\_utility::isads()) + { + wait(0.05); + } + + level notify("player_ads"); +} + +//Function Number: 126 +player_blur_monitor_ads() +{ + level notify("player_ads_end"); + level endon("player_ads_end"); + while(!level.player maps\_utility::isads()) + { + wait(0.05); + } + + level notify("player_ads"); +} + +//Function Number: 127 +player_blur_reset(param_00) +{ + common_scripts\utility::flag_wait(param_00); + setblur(0,2); +} + +//Function Number: 128 +player_carried_skybridge() +{ + level.player lightsetforplayer("finale_lobby"); + maps\_utility::vision_set_fog_changes("finale_sky_bridge",0); + thread maps\finale_lighting::sky_bridge_dof(); + common_scripts\utility::flag_set("second_half_lighting"); + level.player disableweapons(); + level.player setstance("prone"); + level.player allowstand(0); + level.player allowcrouch(0); + level.player takeweapon("iw5_titan45finalelobby_sp_xmags"); + level.player giveweapon("iw5_unarmedfinale_nullattach"); + level.player switchtoweapon("iw5_unarmedfinale_nullattach"); + maps\_utility::delaythread(2,::common_scripts\utility::flag_set,"flag_dialogue_carry_scene_02"); + level.gideon maps\_utility::enable_ai_color(); + level notify("sky_bridge_vfx"); + maps\finale_utility::teleport_to_scriptstruct("checkpoint_sky_bridge"); + var_00 = getent("org_player_carried_01","targetname"); + var_01 = getent("org_player_carried_02","targetname"); + var_02 = getent("org_player_carried_03","targetname"); + var_03 = getent("org_player_carried_04","targetname"); + var_04 = getent("org_player_carried_05","targetname"); + var_05 = getent("org_player_carried_06","targetname"); + thread maps\finale_utility::screen_fade_in(1); + var_06 = 0.5; + level.player thread maps\finale_utility::screen_fade(1,1,1); + var_07 = maps\_utility::spawn_anim_model("world_body_damaged"); + maps\finale_drag::drag_player_from_start_to_end(var_00,var_01,level.gideon,var_07,"drag_run01",1); + level.player maps\finale_utility::screen_fade(1,1,1); + maps\finale_drag::drag_player_from_start_to_end(var_02,var_03,level.gideon,var_07,"drag_run01",2); + level.player maps\finale_utility::screen_fade(2,0.5,2); + maps\finale_drag::drag_player_from_start_to_end(var_00,var_01,level.gideon,var_07,"drag_run04",0.5); + level.player maps\finale_utility::screen_fade(0.5,1,1); + maps\finale_drag::drag_player_from_start_to_end(var_02,var_03,level.gideon,var_07,"drag_run02",2); + level.player maps\finale_utility::screen_fade(2,1,4); + maps\finale_drag::drag_player_from_start_to_end(var_02,var_03,level.gideon,var_07,"drag_run01",2); + maps\finale_utility::screen_fade_out(2); + var_07 delete(); +} + +//Function Number: 129 +will_room_door_exit() +{ + var_00 = getent("org_irons_reveal_exit_door","targetname"); + var_01 = maps\_utility::spawn_anim_model("door"); + var_00 thread maps\_anim::anim_first_frame_solo(var_01,"irons_reveal_exit_door"); + common_scripts\utility::flag_wait("flag_will_room_door_exit_open"); + soundscripts\_snd::snd_message("irons_reveal_exit_door_open",var_01); + var_00 thread maps\_anim::anim_single_solo(var_01,"irons_reveal_exit_door"); +} + +//Function Number: 130 +irons_rooftop() +{ + common_scripts\utility::flag_wait("flag_irons_rooftop"); + level.irons = maps\_utility::spawn_targetname("irons",1); + level.irons.animname = "irons"; + level.irons.name = ""; + level.irons maps\finale_utility::set_custom_patrol_anim_set("unaware"); + level.irons maps\_utility::gun_remove(); + level.irons thread maps\_utility::magic_bullet_shield(); + common_scripts\utility::flag_set("flag_se_irons_end"); +} + +//Function Number: 131 +razorback_spotlight_init() +{ + maps\_vehicle::godon(); + maps\_vehicle::mgoff(); + maps\_utility::ent_flag_init("spotlight_on"); + self.spotlight = spawnturret("misc_turret",self gettagorigin("tag_flash"),"heli_spotlight_so_castle"); + self.spotlight setmode("manual"); + self.spotlight setmodel("com_blackhawk_spotlight_on_mg_setup"); + self.spotlight maketurretinoperable(); + self.spotlight makeunusable(); + self.spotlight.angles = self gettagangles("tag_flash"); + self.spotlight linkto(self,"tag_flash",(-16,-119,-28),(-45,0,0)); + thread spotlight_think(); + self setlookatent(level.irons); + thread razorback_spotlight(); +} + +//Function Number: 132 +razorback_spotlight() +{ + common_scripts\utility::flag_wait("flag_razorback_spotlight_on"); + maps\_utility::ent_flag_set("spotlight_on"); +} + +//Function Number: 133 +spotlight_think() +{ + self endon("death"); + self notify("stop_helo_spotlight"); + self endon("stop_helo_spotlight"); + thread spotlight_light_motion(); + var_00 = 0; + for(;;) + { + if(!maps\_utility::ent_flag("spotlight_on")) + { + if(var_00) + { + var_00 = 0; + stopfxontag(common_scripts\utility::getfx("docks_heli_spotlight"),self.spotlight,"tag_flash"); + stopfxontag(common_scripts\utility::getfx("lab_heli_spot_flare"),self.spotlight,"tag_flash"); + } + + var_01 = level.player; + if(isdefined(var_01)) + { + self.spotlight settargetentity_smoothtracking(var_01); + } + + wait(0.2); + continue; + } + + wait(0.5); + if(!var_00) + { + var_00 = 1; + playfxontag(common_scripts\utility::getfx("docks_heli_spotlight"),self.spotlight,"tag_flash"); + playfxontag(common_scripts\utility::getfx("lab_heli_spot_flare"),self.spotlight,"tag_flash"); + } + } +} + +//Function Number: 134 +spotlight_light_motion() +{ + self endon("stop_helo_spotlight"); + self endon("death"); + for(;;) + { + var_00 = undefined; + if(isdefined(self.override_target)) + { + self.spotlight settargetentity_smoothtracking(self.override_target); + while(isdefined(self.override_target)) + { + wait(0.5); + } + + continue; + } + else + { + var_01 = [level.player,level.irons]; + var_00 = level.irons; + if(isdefined(var_00)) + { + self.spotlight settargetentity_smoothtracking(var_00); + } + } + + if(isdefined(var_00) && isai(var_00)) + { + if(!isdefined(var_00) || !isalive(var_00)) + { + break; + } + + wait(0.1); + continue; + } + + wait(randomfloatrange(3,5)); + } +} + +//Function Number: 135 +settargetentity_smoothtracking(param_00) +{ + self.real_target = param_00; + if(isdefined(param_00)) + { + if(!isdefined(self.spotlight_target)) + { + self.spotlight_target = common_scripts\utility::spawn_tag_origin(); + } + + self.spotlight_target.origin = param_00.origin; + self.spotlight_target linkto(self); + self settargetentity(self.spotlight_target); + } +} + +//Function Number: 136 +tff_cleanup_vehicle(param_00) +{ + var_01 = ""; + switch(param_00) + { + case "intro": + var_01 = "load_middle_transient"; + break; + + case "middle": + var_01 = "load_outro_transient"; + break; + } + + if(var_01 == "") + { + return; + } + + common_scripts\utility::flag_wait(var_01); + if(!isdefined(self)) + { + return; + } + + if(isremovedentity(self)) + { + return; + } + + if(!common_scripts\utility::string_find(self.classname,"corpse")) + { + maps\_vehicle_code::_freevehicle(); + } + + self delete(); +} + +//Function Number: 137 +silo_autosaves() +{ + level endon("flag_exhaust_hatch_open"); + level.stopwatch = 240; + var_00 = level.stopwatch * 1000; + var_01 = gettime(); + var_02 = gettime() - var_01 / 1000; + var_03 = level.stopwatch - 180; + thread silo_autosaves_safety(var_02,var_03); + common_scripts\utility::flag_wait("flag_lower_missile_loader"); + var_02 = gettime() - var_01 / 1000; + var_03 = level.stopwatch - 120; + thread silo_autosaves_safety(var_02,var_03); + common_scripts\utility::flag_wait("flag_se_door_kick_complete"); + var_02 = gettime() - var_01 / 1000; + var_03 = level.stopwatch - 30; + thread silo_autosaves_safety(var_02,var_03); +} + +//Function Number: 138 +silo_autosaves_safety(param_00,param_01,param_02) +{ + if(!isdefined(param_02)) + { + param_02 = 0; + } + + if(param_00 < param_01) + { + maps\_utility::autosave_or_timeout("silo_clear",param_01 - param_00); + if(param_02) + { + wait(3); + } + else + { + wait(10); + } + + common_scripts\utility::flag_clear("can_save"); + wait(2); + common_scripts\utility::flag_set("can_save"); + } +} + +//Function Number: 139 +rope_link(param_00,param_01,param_02,param_03) +{ + var_04 = param_00 gettagorigin(param_01); + var_05 = spawn("script_model",var_04); + var_05 setmodel("rope1ft_2j"); + var_05 useanimtree(#animtree); + var_05 setanim(%rope_base,1,0); + var_05 setanim(%rope_length,1,0); + var_05 linkto(param_00,param_01); + var_05 setlookattarget(param_02,"bone",param_03); + for(;;) + { + var_06 = param_00 gettagorigin(param_01); + var_07 = param_02 gettagorigin(param_03); + var_08 = var_07 - var_06; + var_09 = length(var_08); + var_0A = var_09 - 12 / 88; + if(var_0A < 0) + { + var_0A = 0; + } + + var_05 setanim(%rope_length_add,var_0A,0); + if(level common_scripts\utility::flag("flag_intro_flyin_release")) + { + var_05 clearlookattarget(); + var_05 delete(); + return; + } + + wait 0.05; + } +} \ No newline at end of file diff --git a/AW/PC/maps/finale_drag.gsc b/AW/PC/maps/finale_drag.gsc new file mode 100644 index 0000000..23792d6 --- /dev/null +++ b/AW/PC/maps/finale_drag.gsc @@ -0,0 +1,276 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: finale_drag.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 13 + * Decompile Time: 218 ms + * Timestamp: 4/22/2024 2:29:10 AM +*******************************************************************/ + +//Function Number: 1 +get_starting_offset_from_org(param_00,param_01) +{ + var_02 = spawnstruct(); + var_02.origin = param_00.origin; + var_02.angles = param_00.angles; + var_03 = spawn_new_ally(param_00); + var_02 maps\_anim::anim_first_frame_solo(var_03,"drag_putdown"); + var_04 = var_03.origin - var_02.origin; + var_05 = var_03.angles - var_02.angles; + var_06 = rotatevector(var_04,-1 * var_05); + var_03 delete(); + return [var_06,var_05]; +} + +//Function Number: 2 +drag_player_from_current_position(param_00,param_01,param_02,param_03,param_04,param_05) +{ + if(!isdefined(param_05)) + { + param_05 = 0; + } + + var_06 = undefined; + if(param_05) + { + var_06 = "drag_pickup02"; + } + else + { + var_06 = param_02; + } + + var_07 = get_starting_offset_from_org(param_00,var_06); + var_08 = var_07[0]; + var_09 = var_07[1]; + var_0A = spawnstruct(); + var_0A.origin = param_00.origin - var_08; + var_0A.angles = param_00.angles - var_09; + return drag_player_internal(var_0A,param_00,param_01,param_02,undefined,param_03,param_04,param_05,"drag_pickup02"); +} + +//Function Number: 3 +spawn_new_ally(param_00) +{ + var_01 = spawn("script_model",param_00.origin); + var_01 setmodel(param_00.model); + var_01.angles = param_00.angles; + var_01.animname = "gideon"; + var_01 useanimtree(#animtree); + return var_01; +} + +//Function Number: 4 +drag_player_from_start_to_end(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + var_08 = spawnstruct(); + var_08.origin = param_00.origin; + var_09 = param_01.origin - param_00.origin; + var_09 = (var_09[0],var_09[1],var_09[2]); + var_0A = vectortoangles(var_09); + var_08.angles = (0,var_0A[1] + 90,0); + return drag_player_internal(var_08,param_02,param_03,param_04,param_01.origin,param_05,param_06,param_07); +} + +//Function Number: 5 +drag_player_until_time_or_pos(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + return drag_player_internal(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07); +} + +//Function Number: 6 +drag_player_internal(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + while(isdefined(param_02.wait_ref_count) && param_02.wait_ref_count > 0) + { + wait 0.05; + } + + if(!isdefined(param_07)) + { + param_07 = 0; + } + + if(!isdefined(param_06)) + { + param_06 = 0; + } + + if(!isdefined(param_03)) + { + param_03 = "drag_run01"; + } + + if(!isdefined(param_08)) + { + param_08 = "drag_pickup01"; + } + + param_00 maps\_anim::anim_first_frame_solo(param_01,"drag_putdown"); + var_09 = param_01.origin; + if(!isdefined(param_02)) + { + param_02 = maps\_utility::spawn_anim_model("world_body_damaged"); + } + + level.player playerlinktodelta(param_02,"TAG_PLAYER",1,0,0,0,0,1,1); + level.player common_scripts\utility::delaycall(1,::playerlinktodelta,param_02,"TAG_PLAYER",1,30,30,30,10,1,1); + level.player maps\_shg_utility::setup_player_for_scene(); + var_0A = [param_01,param_02]; + if(param_07) + { + param_00 maps\_anim::anim_single(var_0A,param_08); + } + + if(param_03 == "none") + { + return finish_drag_player_internal(param_00,var_09,param_01,param_02,var_0A,param_06); + } + + param_00 thread maps\_anim::anim_single(var_0A,param_03); + waituntil_stop_time_or_posreached(param_04,param_00,param_01,param_03); + if(isdefined(param_05) && param_05 != 0) + { + if(!isdefined(param_02.wait_ref_count)) + { + param_02.wait_ref_count = 0; + } + + param_02.wait_ref_count++; + thread finish_drag_player_internal_delayed(param_05,param_00,var_09,param_01,param_02,var_0A,param_06); + return param_02; + } + + finish_drag_player_internal(param_00,var_09,param_01,param_02,var_0A,param_06); + return param_02; +} + +//Function Number: 7 +finish_drag_player_internal_delayed(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + param_04 endon("death"); + wait(param_00); + finish_drag_player_internal(param_01,param_02,param_03,param_04,param_05,param_06); + param_04.wait_ref_count--; +} + +//Function Number: 8 +finish_drag_player_internal(param_00,param_01,param_02,param_03,param_04,param_05) +{ + if(param_05) + { + var_06 = param_01 - param_02.origin; + var_07 = param_00.origin - var_06; + var_08 = spawn("script_origin",var_07); + var_08.angles = param_00.angles; + param_00 = var_08; + param_00 maps\_anim::anim_first_frame(param_04,"drag_putdown"); + param_00 maps\_anim::anim_single(param_04,"drag_putdown"); + var_08 delete(); + } + else + { + foreach(var_0A in param_04) + { + if(isdefined(var_0A)) + { + var_0A maps\_utility::anim_stopanimscripted(); + } + } + } + + if(isdefined(param_03)) + { + level.player playerlinktodelta(param_03,"TAG_PLAYER",1,30,30,30,5,1,0); + } + + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.player disableoffhandweapons(); + return param_03; +} + +//Function Number: 9 +waituntil_stop_time_or_posreached(param_00,param_01,param_02,param_03) +{ + param_02 endon("death"); + if(!isdefined(param_00)) + { + if(isdefined(param_01.target)) + { + var_04 = maps\_utility::getent_or_struct(param_01.target,"targetname"); + waittill_marker_passed(var_04.origin,param_01,param_02,param_03); + return; + } + + param_00 = getanimlength(param_02 maps\_utility::getanim(param_03)); + wait(param_00); + return; + } + + if(isnumber(param_00)) + { + wait(param_00); + return; + } + + waittill_marker_passed(param_00,param_01,param_02,param_03); +} + +//Function Number: 10 +waittill_marker_passed(param_00,param_01,param_02,param_03) +{ + param_02 endon("death"); + wait 0.05; + var_04 = param_00 - param_01.origin; + var_04 = (var_04[0],var_04[1],0); + var_05 = vectornormalize(var_04); + var_06 = length2dsquared(var_04); + var_07 = 0; + var_08 = param_02.origin; + for(;;) + { + var_09 = param_02.origin - param_01.origin; + var_0A = vectordot(var_09,var_05); + if(squared(var_0A) > var_06) + { + break; + } + + if(param_02.origin == var_08) + { + var_07++; + if(var_07 > 100) + { + break; + } + } + + var_08 = param_02.origin; + wait 0.05; + } +} + +//Function Number: 11 +notetrack_drag_cover_pickup(param_00) +{ + param_00.pickup_allowed = 1; +} + +//Function Number: 12 +notetrack_drag_cover_dont_pickup(param_00) +{ + param_00.pickup_allowed = 0; +} + +//Function Number: 13 +shooting_head_sway() +{ + level.player endon("death"); + level.player endon("end_head_sway"); + for(;;) + { + screenshake(level.player.origin,2,3,1,2,0.2,0.2,0,0.3,0.375,0.225); + wait(1); + } +} \ No newline at end of file diff --git a/AW/PC/maps/finale_ending.gsc b/AW/PC/maps/finale_ending.gsc new file mode 100644 index 0000000..ddc3fdd --- /dev/null +++ b/AW/PC/maps/finale_ending.gsc @@ -0,0 +1,456 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: finale_ending.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 11 + * Decompile Time: 184 ms + * Timestamp: 4/22/2024 2:29:10 AM +*******************************************************************/ + +//Function Number: 1 +se_irons_react_to_gunfire(param_00) +{ + var_01 = (0,0,0); + var_02 = 2; + var_03 = 6; + for(;;) + { + level.player waittill("weapon_fired"); + if(common_scripts\utility::flag("flag_se_irons_end_start")) + { + return; + } + + var_04 = getdvarfloat("cg_fov"); + var_05 = level.player worldpointtoscreenpos(level.irons.origin,var_04); + if(isdefined(var_05)) + { + param_00 notify("ender"); + if(var_05[0] > var_01[0]) + { + param_00 maps\_anim::anim_single_solo(level.irons,"irons_end_look_l"); + } + else + { + param_00 maps\_anim::anim_single_solo(level.irons,"irons_end_look_r"); + } + + if(common_scripts\utility::flag("flag_se_irons_end_start")) + { + return; + } + + param_00 thread maps\_anim::anim_loop_solo(level.irons,"irons_end_idle","ender"); + wait(randomfloatrange(var_02,var_03)); + } + } +} + +//Function Number: 2 +anim_first_frame_with_finale_gameplay(param_00,param_01,param_02,param_03,param_04,param_05) +{ + var_06 = undefined; + maps\_anim::anim_first_frame(param_00,param_01); + if(1) + { + maps\_anim::anim_first_frame_solo(param_02,param_01); + var_07 = getanimlength(param_02 maps\_utility::getanim(param_01)); + param_02 maps\_anim::anim_set_time([param_02],param_01,6.8333 / var_07); + } + + var_06 = create_pivot(param_02,"tag_origin",0); + var_08 = gettime() + 34700; + wait(13.3333); + level.player notifyonplayercommand("trigger_pulled","+attack"); + thread allow_fake_shooting(param_02,param_03,7.0666); + move_pivot_process(var_06,param_02,"TAG_WEAPON_LEFT",level.irons,"TAG_EYE",param_01,32.1333,1,param_04); + if(1) + { + while(gettime() < var_08) + { + wait 0.05; + } + + param_03 hide(); + param_05 show(); + param_02 hide(); + param_04 show(); + } +} + +//Function Number: 3 +allow_fake_shooting(param_00,param_01,param_02) +{ + level.player endon("end_fake_shooting"); + var_03 = gettime() + param_02 * 1000; + var_04 = "tag_rail_master_on"; + var_05 = 0; + for(;;) + { + level.player waittill("trigger_pulled"); + var_06 = param_01 gettagorigin(var_04); + var_07 = anglestoforward(param_01 gettagangles(var_04)); + var_08 = var_06 + var_07 * 50; + var_09 = bullettrace(var_06,var_08,1,param_01,1,1); + if(gettime() > var_03) + { + soundscripts\_snd_playsound::snd_play_2d("wpn_dryfire_pistol_plr"); + var_05++; + if(var_05 > 4) + { + return; + } + + continue; + } + + if(isdefined(var_09["entity"]) && var_09["entity"] == level.irons) + { + soundscripts\_snd_playsound::snd_play_2d("wpn_dryfire_pistol_plr"); + continue; + } + + magicbullet("iw5_titan45_sp",var_06,var_08,level.player); + playfxontag(common_scripts\utility::getfx("titan45_muzzle"),param_01,var_04); + level.player playrumbleonentity("pistol_fire"); + if(0) + { + var_0A = param_00 maps\_utility::getanim("irons_reveal_fire_add"); + param_00 setanim(var_0A,1,0.05); + wait(getanimlength(var_0A)); + var_0B = 0.05; + param_00 setanim(var_0A,0,var_0B); + wait(var_0B); + } + else + { + var_0A = param_01 maps\_utility::getanim("irons_reveal_fire_add"); + wait(getanimlength(var_0A)); + } + } +} + +//Function Number: 4 +anim_single_with_gameplay(param_00,param_01) +{ + var_02 = undefined; + var_03 = undefined; + var_04 = undefined; + var_05 = undefined; + foreach(var_07 in param_00) + { + if(var_07.animname == "world_body_damaged") + { + var_05 = var_07; + } + + if(var_07.animname == "pistol") + { + var_03 = var_07; + } + } + + if(1) + { + var_04 = maps\_anim::anim_spawn_model(var_05.model,var_05.animname,param_01); + var_04.animname = var_05.animname; + var_04 useanimtree(level.scr_animtree[var_04.animname]); + var_05 hide(); + var_02 = maps\_anim::anim_spawn_model(var_03.model,var_03.animname,param_01); + var_02.animname = var_03.animname; + var_02 useanimtree(level.scr_animtree[var_03.animname]); + var_09 = (11.6,0,3.7); + var_02 linkto(var_04,"TAG_WEAPON_RIGHT",var_09,(0,0,0)); + var_03 hide(); + } + else + { + var_04 = var_05; + var_02 = var_03; + } + + if(0) + { + param_00 = common_scripts\utility::array_remove(param_00,var_03); + var_02 linkto(var_04,"TAG_WEAPON_RIGHT",(0,0,0),(0,0,0)); + } + + thread anim_first_frame_with_finale_gameplay(param_00,param_01,var_04,var_02,var_05,var_03); + if(1) + { + thread maps\_anim::anim_single_solo(var_04,param_01); + } + + maps\_anim::anim_single(param_00,param_01); + if(0) + { + var_02 unlink(); + } +} + +//Function Number: 5 +create_pivot(param_00,param_01,param_02) +{ + if(!isdefined(param_02)) + { + param_02 = 0; + } + + var_03 = spawn("script_origin",(0,0,0)); + var_03.origin = param_00 gettagorigin(param_01); + if(param_02) + { + var_03.angles = param_00 gettagangles(param_01); + } + + param_00 unlink(); + param_00 linkto(var_03); + return var_03; +} + +//Function Number: 6 +set_pivot_pos(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_03)) + { + param_03 = 0; + } + + param_00 unlink(); + param_01.origin = param_00 gettagorigin(param_02); + if(param_03) + { + param_01.angles = param_00 gettagangles(param_02); + } + + param_00 linkto(param_01); + return param_01; +} + +//Function Number: 7 +move_pivot_process(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + param_00 endon("death"); + param_03 endon("death"); + param_01 endon("death"); + set_pivot_pos(param_01,param_00,"J_Shoulder_RI"); + var_09 = param_00.angles; + var_0A = param_00.origin; + var_0B = param_01 maps\_utility::getanim(param_05); + var_0C = param_06 / getanimlength(var_0B); + var_0D = param_07 / getanimlength(var_0B); + param_01.return_to_position = 0; + thread check_on_target_process(param_03,param_04,param_01,param_02,2.5); + var_0E = (0,0,0); + var_0F = (0,0,0); + var_10 = 1; + for(;;) + { + if(param_01.return_to_position) + { + var_11 = 0.5; + param_00 rotateto(var_09,var_11,0.025,0.025); + var_0E = (0,0,0); + wait(var_11 * 2); + param_01.return_to_position = 0; + break; + } + else + { + var_12 = 0; + var_13 = randomfloatrange(0.4,1.2); + var_14 = level.player getnormalizedcameramovements(); + if(abs(var_14[0]) > 0.01 && abs(var_14[1]) > 0.01) + { + var_0E = var_0E - (0,var_14[1] * var_13,var_14[0] * var_13); + var_12 = 1; + } + + if(var_12) + { + var_15 = var_0E[2]; + var_16 = var_0E[1]; + if(var_16 > 7) + { + var_16 = 7; + } + + if(var_16 < -7) + { + var_16 = -7; + } + + if(var_15 > 4) + { + var_15 = 4; + } + + if(var_15 < -4) + { + var_15 = -4; + } + + var_0E = (var_0E[0],var_16,var_15); + } + + if(!var_12) + { + var_15 = var_0E[2] - 1 * common_scripts\utility::sign(var_0E[2]); + var_16 = var_0E[1] - 1 * common_scripts\utility::sign(var_0E[1]); + if(abs(var_15) <= 1) + { + var_15 = 0; + } + + if(abs(var_16) <= 1) + { + var_16 = 0; + } + + var_0E = (var_0E[0],var_16,var_15); + } + + var_17 = ""; + if(var_12) + { + var_18 = undefined; + var_19 = undefined; + if(1) + { + var_1A = sqrt(squared(var_0E[2]) + squared(var_0E[1])); + var_1B = undefined; + if(var_1A > 4) + { + var_1B = 1; + } + else + { + var_1B = var_1A / 4; + } + + var_1C = gettime() * 0.001 * 10; + var_19 = var_1B * perlinnoise2d(0,var_1C,2,2,1) * 7; + var_18 = var_1B * perlinnoise2d(10,var_1C,2,2,1) * 4; + } + else if((abs(var_14[1]) > 0.01 && abs(var_14[1]) < 0.5) || abs(var_14[0]) > 0.01 && abs(var_14[0]) < 0.5) + { + var_1C = gettime() * 0.001 * 10; + var_19 = perlinnoise2d(0,var_1C,2,2,1) * 7; + var_18 = perlinnoise2d(10,var_1C,2,2,1) * 4; + var_18 = var_18 * abs(var_14[0]) + 0.2; + var_19 = var_19 * abs(var_14[1]) + 0.2; + } + + var_0E = (var_0E[0],var_0E[1] + var_18,var_0E[2] + var_19); + } + + var_1D = param_01 getanimtime(var_0B); + if(var_1D >= var_0C) + { + var_10 = 1 - var_1D - var_0C / var_0D; + if(var_10 < 0) + { + var_10 = 0; + } + + level.player notify("end_fake_shooting"); + } + + var_0F = combineangles(var_09,var_0E); + var_0F = angles_clamp_180(var_0F); + var_1E = var_09 * 1 - var_10 + var_0F * var_10; + param_00 rotateto(var_1E,0.05,0.025,0.025); + if(var_10 == 0) + { + break; + } + } + + wait 0.05; + var_1F = 0; + } + + wait 0.05; + param_01.angles = param_08.angles; + param_01.origin = param_08.origin; +} + +//Function Number: 8 +angles_clamp_180(param_00) +{ + return (angleclamp180(param_00[0]),angleclamp180(param_00[1]),angleclamp180(param_00[2])); +} + +//Function Number: 9 +check_on_target_process(param_00,param_01,param_02,param_03,param_04) +{ + param_00 endon("death"); + param_02 endon("death"); + var_05 = 1; + for(;;) + { + var_06 = getdvarfloat("cg_fov"); + var_07 = 0; + var_08 = param_00 gettagorigin(param_01); + var_09 = param_02 gettagorigin(param_03); + var_0A = var_08 + anglestoright(level.player getplayerangles()) * param_04; + if(var_05) + { + var_0B = level.player worldpointtoscreenpos(var_08,var_06); + var_0C = level.player worldpointtoscreenpos(var_09,var_06); + var_0D = level.player worldpointtoscreenpos(var_0A,var_06); + if(isdefined(var_0B) && isdefined(var_0C) && isdefined(var_0D)) + { + var_0E = distance2dsquared((var_0B[0],var_0B[1],0),(var_0C[0],var_0C[1],0)); + var_0F = distance2dsquared((var_0B[0],var_0B[1],0),(var_0D[0],var_0D[1],0)); + if(var_0E < var_0F) + { + var_07 = 1; + } + } + } + else + { + var_0E = distancesquared(var_09,var_08); + if(var_0E < squared(param_04)) + { + var_07 = 1; + } + } + + if(level.player buttonpressed("BUTTON_LTRIG") || level.player buttonpressed("BUTTON_X")) + { + if(var_07) + { + param_02.return_to_position = 1; + return; + } + } + + wait 0.05; + } +} + +//Function Number: 10 +player_input_ending_aim_button_off() +{ + var_00 = level.player getnormalizedcameramovements(); + if(isdefined(var_00) && length2d(var_00) > 0) + { + return 1; + } + + return 0; +} + +//Function Number: 11 +player_input_ending_shoot_button_off() +{ + if(isdefined(level.player.finale_trigger_pulled) && level.player.finale_trigger_pulled) + { + return 1; + } + + return 0; +} \ No newline at end of file diff --git a/AW/PC/maps/finale_fx.gsc b/AW/PC/maps/finale_fx.gsc new file mode 100644 index 0000000..4a5af2d --- /dev/null +++ b/AW/PC/maps/finale_fx.gsc @@ -0,0 +1,1452 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: finale_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 97 + * Decompile Time: 1397 ms + * Timestamp: 4/22/2024 2:29:15 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + precachefx(); + maps\createfx\finale_fx::main(); + set_lighting_values(); + maps\_shg_fx::setup_shg_fx(); + common_scripts\utility::flag_init("flag_intro_flyin_start"); + common_scripts\utility::flag_init("vfx_finale_flyin_start"); + common_scripts\utility::flag_init("fx_underwater_bullets_02"); + common_scripts\utility::flag_init("fx_underwater_bullets_03"); + common_scripts\utility::flag_init("fx_silo_breached"); + common_scripts\utility::flag_init("fx_silo_stairs"); + common_scripts\utility::flag_init("fx_stairs_drips"); + common_scripts\utility::flag_init("fx_stairs_mech"); + common_scripts\utility::flag_init("flag_vfx_missile_ignition_start"); + common_scripts\utility::flag_init("flag_vfx_missile_liftoff_start"); + common_scripts\utility::flag_init("flag_missile_ignition_start"); + common_scripts\utility::flag_init("flag_bridge_takedown_jump_complete"); + common_scripts\utility::flag_init("flag_balcony_tackle_success"); + common_scripts\utility::flag_init("flag_countdown_complete_mission_fail"); + thread maps\_shg_fx::fx_zone_watcher(500,"msg_fx_zone500_Underwater"); + thread maps\_shg_fx::fx_zone_watcher(800,"msg_fx_zone800_silo_intro"); + thread maps\_shg_fx::fx_zone_watcher(1000,"msg_fx_zone1000_inside_silo_area"); + thread maps\_shg_fx::fx_zone_watcher(1200,"msg_fx_zone1200_lobby"); + thread maps\_shg_fx::fx_zone_watcher(1500,"msg_fx_zone1500_will_room"); + thread maps\_shg_fx::fx_zone_watcher(2000,"msg_fx_zone2000_finale_roof"); + thread intro_flyin_ambient_aa_explosions(); + thread intro_flyin_ambient_window_glass_explosions(); + thread intro_ambient_aa_explosion_far(); + thread intro_flyin_ambient_explosion_midair_runner_single(); + thread dazed_sky_bridge_explosions(); + thread skybridge_ambient_explosions(); + thread skybridge_ambient_aa_explosions(); + thread end_roof_ambient_aa_explosions(); + thread end_roof_ambient_midair_runner_explosion_single(); + thread intro_city_ambient_fx(); + thread city_ambient_fx(); + thread underwater_ambient_fx(); + thread underwater_mech_footsteps(); + thread underwater_bullets(); + thread rooftop_bombshakes(); + thread ambient_smk_walkway(); + thread grand_finale_fx(); + thread rocket_fail_smoke(); + thread player_rocket(); +} + +//Function Number: 2 +set_lighting_values() +{ + if(isusinghdr()) + { + setsaveddvar("r_tonemap",2); + } +} + +//Function Number: 3 +precachefx() +{ + level._effect["light_underwater_godray_beam_moving_med"] = loadfx("vfx/lights/finale/light_underwater_gdry_beam_move_med"); + level._effect["caustic_b_pa"] = loadfx("vfx/caustic/caustic_b_pa"); + level._effect["trash_underwater_current_rnr_lp"] = loadfx("vfx/water/trash_underwater_current_rnr_lp"); + level._effect["underwater_bubbles_canal"] = loadfx("vfx/map/betrayal/underwater_bubbles_canal"); + level._effect["underwater_bubbles_canal_fewer"] = loadfx("vfx/map/betrayal/underwater_bubbles_canal_fewer"); + level._effect["boat_edge_foam_sml"] = loadfx("vfx/water/boat_edge_foam_sml"); + level._effect["boat_edge_foam_lrg"] = loadfx("vfx/water/boat_edge_foam_lrg"); + level._effect["underwater_particulates_river"] = loadfx("vfx/map/betrayal/underwater_particulates_river"); + level._effect["underwater_murky_cloud"] = loadfx("vfx/map/finale/fin_underwater_murky_cloud"); + level._effect["underwater_bubbles_canal_angled"] = loadfx("vfx/map/finale/fin_underwater_bubbles_canal_angled"); + level._effect["underwater_concrete_falling_m"] = loadfx("vfx/map/finale/fin_underwater_concrete_falling_m"); + level._effect["underwater_concrete_falling_sml"] = loadfx("vfx/map/finale/fin_underwater_concrete_falling_sml"); + level._effect["underwater_murky_smk_linger"] = loadfx("vfx/map/finale/fin_underwater_murky_smk_linger"); + level._effect["water_edge_splashes_rnr"] = loadfx("vfx/water/water_edge_splashes_rnr"); + level._effect["water_object_impact_splash_large_cheap"] = loadfx("vfx/water/water_object_impact_splash_large_cheap"); + level._effect["mech_vm_water_splash"] = loadfx("vfx/water/mech_vm_water_splash"); + level._effect["underwater_bubble_vm_transition_fast"] = loadfx("vfx/water/underwater_bubble_vm_transition_fast"); + level._effect["bubble_trail_mech_runner_lp"] = loadfx("vfx/water/bubble_trail_mech_runner_lp"); + level._effect["underwater_surface_splash"] = loadfx("vfx/water/underwater_surface_splash"); + level._effect["bubble_geotrail_thick_xsml"] = loadfx("vfx/water/bubble_geotrail_thick_xsml"); + level._effect["bubble_trail_runner_lp"] = loadfx("vfx/water/bubble_trail_runner_lp"); + level._effect["bubble_geotrail_thick_med"] = loadfx("vfx/water/bubble_geotrail_thick_med"); + level._effect["underwater_bottom_impact_dirt"] = loadfx("vfx/water/underwater_bottom_impact_dirt"); + level._effect["underwater_bullet_trail_long_nofog"] = loadfx("vfx/water/underwater_bullet_trail_long_nofog"); + level._effect["fin_vm_underwater_hit_bottom"] = loadfx("vfx/map/finale/fin_vm_underwater_hit_bottom"); + level._effect["fin_gideon_mech_water_drip"] = loadfx("vfx/map/finale/fin_gideon_mech_water_drip"); + level._effect["fin_gideon_mech_water_drip_gun"] = loadfx("vfx/map/finale/fin_gideon_mech_water_drip_gun"); + level._effect["fin_gideon_mech_water_drip_rshoulder"] = loadfx("vfx/map/finale/fin_gideon_mech_water_drip_rshoulder"); + level._effect["fin_gideon_mech_water_drip_lshoulder"] = loadfx("vfx/map/finale/fin_gideon_mech_water_drip_lshoulder"); + level._effect["finale_sun_flare"] = loadfx("vfx/map/finale/finale_sun_flare"); + level._effect["finale_god_willroom"] = loadfx("vfx/lights/finale/finale_god_willroom"); + level._effect["finale_god_willroom_bright"] = loadfx("vfx/lights/finale/finale_god_willroom_bright"); + level._effect["finale_screen_god_willroom"] = loadfx("vfx/lights/finale/finale_screen_god_willroom"); + level._effect["fin_sconce_lens_sm"] = loadfx("vfx/lights/finale/fin_sconce_lens_sm"); + level._effect["fin_sconce_lens_sm2"] = loadfx("vfx/lights/finale/fin_sconce_lens_sm2"); + level._effect["fin_sconce_lens_sm3"] = loadfx("vfx/lights/finale/fin_sconce_lens_sm3"); + level._effect["finale_screen_god_willroom"] = loadfx("vfx/lights/finale/finale_screen_god_willroom"); + level._effect["fin_alarm_godray"] = loadfx("vfx/lights/finale/fin_alarm_godray"); + level._effect["fin_alarm_godray_red"] = loadfx("vfx/lights/finale/fin_alarm_godray_red"); + level._effect["fin_alarm_spot_red"] = loadfx("vfx/lights/finale/fin_alarm_spot_red"); + level._effect["fin_alarm_source_red"] = loadfx("vfx/lights/finale/fin_alarm_source_red"); + level._effect["fin_alarm_source_white"] = loadfx("vfx/lights/finale/fin_alarm_source_white"); + level._effect["smk_stacks_lp_sml_a"] = loadfx("vfx/smoke/smk_stacks_lp_sml_a"); + level._effect["smk_stacks_lp_med_a"] = loadfx("vfx/smoke/smk_stacks_lp_med_a"); + level._effect["smk_stacks_lp_lrg_a"] = loadfx("vfx/smoke/smk_stacks_lp_lrg_a"); + level._effect["smk_stacks_lp_lrg_unlit_a"] = loadfx("vfx/smoke/smk_stacks_lp_lrg_unlit_a"); + level._effect["fin_smk_stacks_lp_lrg_unlit_a"] = loadfx("vfx/map/finale/fin_smk_stacks_lp_lrg_unlit_a"); + level._effect["fire_vista_glow_lp_lrg_unlit"] = loadfx("vfx/fire/fire_vista_glow_lp_lrg_unlit"); + level._effect["fire_lp_m_blacksmk_tall"] = loadfx("vfx/fire/fire_lp_m_blacksmk_tall"); + level._effect["fire_lp_m_no_light"] = loadfx("vfx/fire/fire_lp_m_no_light"); + level._effect["fire_lp_l_blacksmk_thick_nonlit"] = loadfx("vfx/fire/fire_lp_l_blacksmk_thick_nonlit"); + level._effect["smoke_pillar_black_large_fast"] = loadfx("vfx/smoke/smoke_pillar_black_large_fast"); + level._effect["window_smk_dark_m"] = loadfx("vfx/smoke/window_smk_dark_m"); + level._effect["poison_gas_green_m"] = loadfx("vfx/smoke/poison_gas_green_m"); + level._effect["smoke_white_slow"] = loadfx("vfx/smoke/smoke_white_slow"); + level._effect["battlefield_smoke_m"] = loadfx("vfx/smoke/battlefield_smoke_m"); + level._effect["footstep_mech_underwater"] = loadfx("vfx/treadfx/footstep_mech_underwater"); + level._effect["footstep_mech_underwater_concrete"] = loadfx("vfx/treadfx/footstep_mech_underwater_concrete"); + level._effect["footstep_mech_water"] = loadfx("vfx/treadfx/footstep_mech_water"); + level._effect["wind_blowing_debris"] = loadfx("vfx/wind/wind_blowing_debris"); + level._effect["ash_ember_cloud_freq_lrg_loop"] = loadfx("vfx/ash/ash_ember_cloud_freq_lrg_loop"); + level._effect["steam_fall_slow_lp"] = loadfx("vfx/steam/steam_fall_slow_lp"); + level._effect["fin_silo_rocket_loading_steam_lp"] = loadfx("vfx/map/finale/fin_silo_rocket_loading_steam_lp"); + level._effect["fin_silo_edge_steam_bursts_lp"] = loadfx("vfx/map/finale/fin_silo_edge_steam_bursts_lp"); + level._effect["fin_silo_low_steam"] = loadfx("vfx/map/finale/fin_silo_low_steam"); + level._effect["fin_silo_catwalk_low_steam"] = loadfx("vfx/map/finale/fin_silo_catwalk_low_steam"); + level._effect["fin_fire_tunnel"] = loadfx("vfx/map/finale/fin_fire_tunnel"); + level._effect["fin_smoke_vent"] = loadfx("vfx/map/finale/fin_smoke_vent"); + level._effect["fin_fire_tunnel_constant"] = loadfx("vfx/map/finale/fin_fire_tunnel_constant"); + level._effect["fin_fireblast_tunnel_constant"] = loadfx("vfx/map/finale/fin_fireblast_tunnel_constant"); + level._effect["fin_fire_tunnel_constant_blue"] = loadfx("vfx/map/finale/fin_fire_tunnel_constant_blue"); + level._effect["fin_smoke_tunnel"] = loadfx("vfx/map/finale/fin_smoke_tunnel"); + level._effect["fin_smoke_tunnel_slow"] = loadfx("vfx/map/finale/fin_smoke_tunnel_slow"); + level._effect["fin_liquid_hydrogen_tunnel"] = loadfx("vfx/map/finale/fin_liquid_hydrogen_tunnel"); + level._effect["fin_rocket_thruster"] = loadfx("vfx/map/finale/fin_rocket_thruster"); + level._effect["fin_rocket_thruster_smoke"] = loadfx("vfx/map/finale/fin_rocket_thruster_smoke"); + level._effect["fin_rocket_thruster_sml"] = loadfx("vfx/map/finale/fin_rocket_thruster_sml"); + level._effect["fin_rocket_thruster_sml_idle"] = loadfx("vfx/map/finale/fin_rocket_thruster_sml_idle"); + level._effect["fin_rocket_thruster_blue_idle"] = loadfx("vfx/map/finale/fin_rocket_thruster_blue_idle"); + level._effect["fin_rocket_thruster_blue"] = loadfx("vfx/map/finale/fin_rocket_thruster_blue"); + level._effect["fin_rocket_ignition"] = loadfx("vfx/map/finale/fin_rocket_ignition"); + level._effect["fin_rocket_ignition_fire"] = loadfx("vfx/map/finale/fin_rocket_ignition_fire"); + level._effect["fin_rocket_ignition_spark"] = loadfx("vfx/map/finale/fin_rocket_ignition_spark"); + level._effect["fin_rocket_silo_explosion"] = loadfx("vfx/map/finale/fin_rocket_silo_explosion"); + level._effect["fin_metal_falling"] = loadfx("vfx/map/finale/fin_metal_falling"); + level._effect["electrical_sparks_runner"] = loadfx("vfx/explosion/electrical_sparks_runner"); + level._effect["fin_metal_falling_panel"] = loadfx("vfx/map/finale/fin_metal_falling_panel"); + level._effect["fin_metal_falling_close"] = loadfx("vfx/map/finale/fin_metal_falling_close"); + level._effect["steam_pipe_burst_sml"] = loadfx("vfx/steam/steam_pipe_burst_sml"); + level._effect["steam_pipe_leak_lrg"] = loadfx("vfx/steam/steam_pipe_leak_lrg"); + level._effect["fin_rocket_fail_smoke"] = loadfx("vfx/map/finale/fin_rocket_fail_smoke"); + level._effect["fin_rocket_fail_ember_burst"] = loadfx("vfx/map/finale/fin_rocket_fail_ember_burst"); + level._effect["fin_rocket_fail_sparks"] = loadfx("vfx/map/finale/fin_rocket_fail_sparks"); + level._effect["fin_rocket_fail_top_smoke"] = loadfx("vfx/map/finale/fin_rocket_fail_top_smoke"); + level._effect["fin_rocket_fail_damage"] = loadfx("vfx/map/finale/fin_rocket_fail_damage"); + level._effect["aa_explosion_runner_single"] = loadfx("vfx/explosion/aa_explosion_runner_single"); + level._effect["ambient_explosion_midair_runner_single"] = loadfx("vfx/explosion/ambient_explosion_midair_runner_single"); + level._effect["ambient_explosion_windowglass"] = loadfx("vfx/explosion/ambient_explosion_windowglass"); + level._effect["aa_flash_tracer_far_freq_rnr_lp"] = loadfx("vfx/explosion/aa_flash_tracer_far_freq_rnr_lp"); + level._effect["sparks_runner_lp_sml"] = loadfx("vfx/sparks/sparks_runner_lp_sml"); + level._effect["fin_door_kick_spark_burst_rnr"] = loadfx("vfx/map/finale/fin_door_kick_spark_burst_rnr"); + level._effect["sparks_burst_sm_d"] = loadfx("vfx/explosion/sparks_burst_sm_d"); + level._effect["fin_door_kick_dust"] = loadfx("vfx/map/finale/fin_door_kick_dust"); + level._effect["fin_door_kick_slide_sparks"] = loadfx("vfx/map/finale/fin_door_kick_slide_sparks"); + level._effect["fin_door_kick_lrg_dust"] = loadfx("vfx/map/finale/fin_door_kick_lrg_dust"); + level._effect["fin_door_kick_foot_dust"] = loadfx("vfx/map/finale/fin_door_kick_foot_dust"); + level._effect["mech_damage_sparks_lp"] = loadfx("vfx/sparks/mech_damage_sparks_lp"); + level._effect["fin_exhaust_hatch_open"] = loadfx("vfx/map/finale/fin_exhaust_hatch_open"); + level._effect["fin_exhaust_hatch_break"] = loadfx("vfx/map/finale/fin_exhaust_hatch_break"); + level._effect["fin_hatch_exhaust"] = loadfx("vfx/map/finale/fin_hatch_exhaust"); + level._effect["fin_hatch_exhaust_mech_land"] = loadfx("vfx/map/finale/fin_exhaust_hatch_mech_land"); + level._effect["fin_bar_hit_sparks"] = loadfx("vfx/map/finale/fin_bar_hit_sparks"); + level._effect["rpg_trail"] = loadfx("vfx/trail/smoketrail_rpg_sp"); + level._effect["rpg_muzzle"] = loadfx("vfx/muzzleflash/x4walker_wheels_rpg_fv"); + level._effect["rpg_explode"] = loadfx("vfx/explosion/ambient_explosion_midair_runner_single"); + level._effect["titan45_muzzle"] = loadfx("vfx/muzzleflash/generic_pistol_flash_view"); + level._effect["docks_heli_spotlight"] = loadfx("vfx/lights/finale/spotlight_heli_hdr"); + level._effect["lab_heli_spot_flare"] = loadfx("vfx/lensflare/finale/lab_heli_spot_flare"); + level._effect["player_light_med2"] = loadfx("vfx/lights/detroit/flashlight_spotlight_player_med2"); + level._effect["fin_exo_exit_glow_gideon"] = loadfx("vfx/map/finale/fin_exo_exit_glow_gideon"); + level._effect["fin_exo_exit_glow_vm"] = loadfx("vfx/map/finale/fin_exo_exit_glow_vm"); + level._effect["no_fx"] = loadfx("vfx/unique/no_fx"); + level._effect["dust_falling_light_sml_01"] = loadfx("vfx/dust/dust_falling_light_sml_01"); + level._effect["npc_dust_landing"] = loadfx("vfx/dust/npc_dust_landing"); + level._effect["fin_balcony_break_dust"] = loadfx("vfx/map/finale/fin_balcony_break_dust"); + level._effect["fin_balcony_falling_debris"] = loadfx("vfx/map/finale/fin_balcony_falling_debris"); + level._effect["fin_balcony_irons_tackle"] = loadfx("vfx/map/finale/fin_balcony_irons_tackle"); + level._effect["battlefield_smoke_m"] = loadfx("vfx/smoke/battlefield_smoke_m"); + level._effect["smk_obscure_low_thick_far_m"] = loadfx("vfx/smoke/smk_obscure_low_thick_far_m"); + level._effect["fin_roof_hang_fire_wide"] = loadfx("vfx/map/finale/fin_roof_hang_fire_wide"); + level._effect["fin_roof_hang_fire_xlrg"] = loadfx("vfx/map/finale/fin_roof_hang_fire_xlrg"); + level._effect["fin_roof_hang_fire_sm"] = loadfx("vfx/map/finale/fin_roof_hang_fire_sm"); + level._effect["func_glass_shatter_64x64"] = loadfx("vfx/code/func_glass_shatter_64x64"); + level._effect["glass_shatter_xlarge"] = loadfx("vfx/glass/glass_shatter_xlarge"); + level._effect["fin_falling_debris_01_lrg"] = loadfx("vfx/map/finale/fin_falling_debris_01_lrg"); + level._effect["fin_falling_debris_01_sml"] = loadfx("vfx/map/finale/fin_falling_debris_01_sml"); + level._effect["fin_irons_vector_field_lp"] = loadfx("vfx/map/finale/fin_irons_vector_field_lp"); + level._effect["embers_lp_lrg_vf"] = loadfx("vfx/fire/embers_lp_lrg_vf"); + level._effect["fin_player_arm_cut_sparks"] = loadfx("vfx/map/finale/fin_player_arm_cut_sparks"); + level._effect["fin_player_arm_cut_sparks_trail"] = loadfx("vfx/map/finale/fin_player_arm_cut_sparks_trail"); + level._effect["fin_player_arm_cut_spark_burst_single"] = loadfx("vfx/map/finale/fin_player_arm_cut_spark_burst_single"); + level._effect["fin_roof_building_explo"] = loadfx("vfx/map/finale/fin_roof_building_explo"); + level._effect["ambient_explosion_fireball_a_no_decal"] = loadfx("vfx/explosion/ambient_explosion_fireball_a_no_decal"); + level._effect["paper_sheet_explosion_blown_1"] = loadfx("vfx/wind/paper_sheet_explosion_blown_1"); + level._effect["paper_burst"] = loadfx("vfx/props/paper_burst"); + level._effect["paper_sheet_01_blowing"] = loadfx("vfx/wind/paper_sheet_01_blowing"); + level._effect["paper_scrap_windblown_runner_light"] = loadfx("vfx/wind/paper_scrap_windblown_runner_light"); + level._effect["fin_multi2_white_godray"] = loadfx("vfx/lights/finale/fin_multi2_white_godray"); + level._effect["fin_square_godray"] = loadfx("vfx/lights/finale/fin_square_godray"); + level._effect["fin_longlight_flare"] = loadfx("vfx/lights/finale/fin_longlight_flare"); + level._effect["fin_cool_can_sm"] = loadfx("vfx/lights/finale/fin_cool_can_sm"); + level._effect["fin_cool_can_norainbow_sm"] = loadfx("vfx/lights/finale/fin_cool_can_norainbow_sm"); + level._effect["fin_warm_can_sm"] = loadfx("vfx/lights/finale/fin_warm_can_sm"); + level._effect["fin_warm_can_norainbow_sm"] = loadfx("vfx/lights/finale/fin_warm_can_norainbow_sm"); + level._effect["fin_strips_flare"] = loadfx("vfx/lights/finale/fin_strips_flare"); + level._effect["fin_falldecal_flare"] = loadfx("vfx/lights/finale/fin_falldecal_flare"); + level._effect["fin_strips_orange_flare"] = loadfx("vfx/lights/finale/fin_strips_orange_flare"); + level._effect["fin_rectangle_flare"] = loadfx("vfx/lights/finale/fin_rectangle_flare"); + level._effect["fin_rectangle_blue_flare"] = loadfx("vfx/lights/finale/fin_rectangle_blue_flare"); + level._effect["fin_godray_bluewall_light"] = loadfx("vfx/lights/finale/fin_godray_bluewall_light"); + level._effect["fin_light_mech"] = loadfx("vfx/lights/finale/fin_light_mech"); + level._effect["fin_frame_light"] = loadfx("vfx/lights/finale/fin_frame_light"); + level._effect["fin_frame_light_rainbow"] = loadfx("vfx/lights/finale/fin_frame_light_rainbow"); + level._effect["fin_frame_light_sm"] = loadfx("vfx/lights/finale/fin_frame_light_sm"); + level._effect["fin_frame_light_corner"] = loadfx("vfx/lights/finale/fin_frame_light_corner"); + level._effect["fin_frame_light_xtra_sm"] = loadfx("vfx/lights/finale/fin_frame_light_xtra_sm"); +} + +//Function Number: 4 +fx_cam_view_test() +{ + thread maps\_shg_fx::exploder_to_array(11); +} + +//Function Number: 5 +intro_city_ambient_fx() +{ + common_scripts\utility::flag_wait("flag_intro_flyin_start"); + common_scripts\_exploder::exploder(200); + level waittill("msg_fx_zone500_Underwater"); + maps\_utility::stop_exploder(200); +} + +//Function Number: 6 +boat_small_static_foam() +{ + wait(0.1); + playfxontag(common_scripts\utility::getfx("boat_edge_foam_sml"),self,"tag_origin"); +} + +//Function Number: 7 +boat_large_static_foam() +{ + wait(0.1); + playfxontag(common_scripts\utility::getfx("boat_edge_foam_lrg"),self,"tag_origin"); +} + +//Function Number: 8 +intro_flyin_ambient_aa_explosions() +{ + common_scripts\utility::flag_wait("flag_intro_flyin_start"); + var_00 = [(-2454.92,-7780.1,4958.1),(-5471.64,-2899.99,5073.51),(4799.08,-12381,4792.19),(4474.52,-5322.62,6666.92),(-1198,980.487,5543.19),(5206.16,850.314,3753.17),(719.521,4879.09,3999.02),(3180.19,-7005.66,5725.13),(8415.42,-5756.05,6784.86),(13563.5,3264.46,6905.7),(8083.48,10718.6,6292.91),(10237,921.735,7455.87),(-2920.17,-9182.69,3185.09),(-6380.17,-7124.84,5415.17),(-10318.9,-3209.96,6495.42),(-9922.38,-4991.3,3478.46),(-8807.42,1650.15,4981.61),(-4780.44,4040.07,4967.68),(-255.872,9515.52,4520.4),(-1997.23,3363.41,5181.27),(7875.85,4622.89,5116.1),(8144.37,7460.45,4598.42),(835.423,-7068.41,3669.92),(-1745.43,-7102.71,4320.16),(8846.59,-11978.3,5640.06),(-4719.19,-6982.12,2304.75),(147.078,-8776.68,4122.01),(-1006.5,-10855,2850.71),(-1778.03,-4880.55,4015.16),(-2528.28,-2269.13,3771.46),(-4185.88,-1083.29,3323.03),(-8567.06,-2871.12,2920.15),(1948.42,3531.77,4921.3),(7505.36,-143.317,4331.95),(3702.64,-351.159,2336.68),(4255.83,-9032.68,6911.64),(4068.39,-9400.96,3404.24),(6515.71,-4612.6,5057.96),(-5689.55,136.262,3440.72),(5474.33,5218.2,5910.09),(1784.56,5763.77,3057.07),(-152.377,-5020.26,4705.18),(2778.77,-3205.19,3861.42),(-6306.18,-7763.11,2204.21),(-6995.58,2310.19,1484.51),(-5424.44,2234.91,2162.11)]; + var_01 = [(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0)]; + thread maps\_shg_fx::start_fx_by_view("aa_explosion_runner_single",var_00,0.5,5,"msg_fx_zone500_Underwater",0,var_01,"fin_bldg_exp_audio"); +} + +//Function Number: 9 +intro_flyin_ambient_window_glass_explosions() +{ + common_scripts\utility::flag_wait("flag_intro_flyin_start"); + var_00 = [(2596.99,-8758.04,2083.16),(2571.24,-8791.01,1292.81),(2220.96,-8421.4,2298.6),(2240.07,-8431.33,1864.59),(5824.01,-9430.1,2911.5),(5691.65,-9485.05,2031.57),(5704.9,-9095.88,2435.54),(6961.25,-1642.83,2867.18),(6848.9,-777.202,3413.06),(7031.78,-1627.55,4046.94),(5773.96,-9081.06,1664.41),(-2341.32,-5626.44,3921.22),(6876.43,-562.218,2523.21),(-2515.2,-5793.97,2743.38),(-2334.34,-5193.08,3764.78),(-2356.22,-5567.57,3066.44),(-2358.34,-5197.77,4415.58),(3333.42,-8293.94,2315.27),(3292.68,-8371.5,1099.53),(-3486.26,-5832.53,3149.84),(-3167.81,-5919.42,2905.31),(2494.89,-8709.73,843.746),(5638.69,-9460.83,1417.38),(15623.5,4382.07,7285.68),(14516.8,-463.132,5529.97),(15578.3,2843.49,7169.2),(5323.83,-9489.94,1629.53),(-3625.12,-5703.24,2881.11),(-3616.28,-5161.99,2705.71),(14082.8,-687.374,5353.75),(15711,4434.88,6743.12),(16168.7,4533.86,7064.46)]; + var_01 = [(359.976,234.966,-179.9),(359.976,234.966,-179.9),(359.976,234.966,-179.9),(359.976,234.966,-179.9),(0,172.966,179.069),(0,172.966,179.069),(0,172.966,179.069),(0,172.966,179.069),(0,172.966,179.069),(7.72224,206.664,179.373),(0,172.966,179.069),(6.63368,359.434,-178.763),(354.781,147.287,179.171),(352.601,271.617,-179.578),(6.63368,359.434,-178.763),(6.63368,359.434,-178.763),(6.63368,359.434,-178.763),(327.995,325.323,-178.754),(328.337,320.396,-174.436),(352.601,271.617,-179.578),(352.601,271.617,-179.578),(359.976,234.966,-179.9),(0,172.966,179.069),(354.781,147.287,179.171),(354.781,147.287,179.171),(354.781,147.287,179.171),(0,172.966,179.069),(359.777,192.403,178.688),(359.777,192.403,178.688),(354.781,147.287,179.171),(354.781,147.287,179.171),(354.781,147.287,179.171)]; + thread maps\_shg_fx::start_fx_by_view("ambient_explosion_windowglass",var_00,1,3,"msg_fx_zone500_Underwater",0,var_01,"fin_glass_exp_aud"); +} + +//Function Number: 10 +intro_flyin_ambient_explosion_midair_runner_single() +{ + common_scripts\utility::flag_wait("flag_intro_flyin_start"); + var_00 = [(2920.83,-12265.8,2733),(1807.56,-8186.17,3532.09),(5509.28,-7666.14,3714.36),(6201.14,-5691.79,2912.37),(4464.12,-5306.28,2174.13),(671.234,-7742.76,2219.7),(1440.25,-3785.91,2383.25),(-2624.45,-6585.79,2504.79),(-1696.04,-4395.29,3631.62),(-403.643,-2634.1,2630.86),(-6264.27,-7924.32,1903.38),(-7444.25,-2493.92,2652.64),(-6933.7,-4804,2866.51),(-3213.63,-1806.94,2863.91),(-4341.29,1353.27,2281.2),(-1627.81,3125.24,2793.1),(1652.44,-1047.18,2778.87),(3774.67,4866.04,2467.46),(7819.92,3528.87,3325.75),(8720.83,523.385,3213.65),(4878.87,-1781.28,2995.37),(4498.28,2488.85,3845.6),(6448.84,4859.83,2230.1),(5538.96,-10278.3,3738.66),(-2955.24,-10177.9,3359.71),(-2555.68,-11494.6,2525.14),(-8231.62,-6225.31,1949.88),(-6083.02,-686.309,1585.94),(-2412.96,1180.56,3428.81),(574.686,4431.86,3203.09),(7160.62,1537.08,3796.52),(3489.61,-3890.96,2793.97)]; + var_01 = [(359.976,234.966,-179.9),(359.976,234.966,-179.9),(359.976,234.966,-179.9),(359.976,234.966,-179.9),(359.976,234.966,-179.9),(359.976,234.966,-179.9),(359.976,234.966,-179.9),(359.976,234.966,-179.9),(353.976,234.955,-179.899),(353.976,234.955,-179.899),(353.976,234.955,-179.899),(353.976,234.955,-179.899),(353.976,234.955,-179.899),(353.976,234.955,-179.899),(353.976,234.955,-179.899),(353.976,234.955,-179.899),(353.976,234.955,-179.899),(353.976,234.955,-179.899),(353.976,234.955,-179.899),(353.976,234.955,-179.899),(353.976,234.955,-179.899),(353.976,234.955,-179.899),(353.976,234.955,-179.899),(353.976,234.955,-179.899),(353.976,234.955,-179.899),(359.976,234.966,-179.9),(359.976,234.966,-179.9),(353.976,234.955,-179.899),(353.976,234.955,-179.899),(353.976,234.955,-179.899),(353.976,234.955,-179.899),(359.976,234.966,-179.9)]; + thread maps\_shg_fx::start_fx_by_view("ambient_explosion_midair_runner_single",var_00,1,2,"msg_fx_zone500_Underwater",0,var_01,"fin_midair_exp_audio"); +} + +//Function Number: 11 +intro_ambient_aa_explosion_far() +{ + common_scripts\utility::flag_wait("flag_intro_flyin_start"); + var_00 = [(-20709.7,7006.51,7384.32),(-12155.5,14574.4,7615.49),(-4746.41,33595.7,11458.9),(2171.17,23253.6,9135.3),(12542.7,21663.9,10294),(23052.2,29759.6,12262.1),(32476,29647.6,12340.9),(38176.2,21824.1,12351.2),(37434.6,5625.69,10649.5),(41133.5,-5095.2,8974.48),(32580.4,-7671.7,10405.1),(22666.6,-6058.22,7478.42),(14850.4,-5689.28,7780.63),(988.2,-5674.36,9147.01),(-8762.06,-13417.1,10163.2),(-16110,5320.32,9811.13),(6574.95,22482.6,15576.5),(-10984.4,25494.8,12167.5),(4192.07,35443.7,9076.95),(28466,41490.8,8472.42),(44751.3,31845.3,9327.56),(20759.5,-16059.6,10103.6),(-20709.7,7006.51,7384.32),(-12155.5,14574.4,7615.49),(-5816.52,22586.1,8252.17),(2171.17,23253.6,9135.3),(17983.3,34778.7,9581.79),(23052.2,29759.6,12262.1),(34944.1,38037.2,11943.4),(38176.2,21824.1,12351.2),(37434.6,5625.69,10649.5),(41133.5,-5095.2,8974.48),(32580.4,-7671.7,10405.1),(22666.6,-6058.22,7478.42),(14850.4,-5689.28,7780.63),(988.2,-5674.36,9147.01),(-8762.06,-13417.1,10163.2),(-16110,5320.32,9811.13),(-10984.4,25494.8,12167.5),(37378.4,10894,13417.7),(28466,41490.8,8472.42),(24797.1,21409.1,15903),(29166.1,13755.1,16104.9),(29935.2,5882.7,15755.8),(32882.9,4249.55,13377.9),(23348.9,-254.11,7077.4),(25453.5,4725.14,9915.49),(30701.7,-17608.1,10685.7),(24723.7,-5059.06,13512.3),(8949.99,-8142.81,10692),(13269,-18520,10405.5),(15535.9,-10212.5,12864.4),(8724.67,15363.3,21172.9),(20147.6,-11755.8,12842.8),(9796.33,-21568.3,3109.93),(13719.8,-22135.6,6617.46),(18560.3,-20030.6,8239.99),(17485.1,-18090.1,11821.6),(-12859.2,8230.77,12719.1),(-12908.6,11890.6,11377.3),(-2537.33,13181.9,15471.9),(-6837.14,-22935.2,5232.3),(-8759.47,-17350.7,4237.26),(-17303.1,-6264.24,5189.9),(-18414.6,-9516.75,6737.15),(-25115,-6355.32,11686.5),(-16123.4,-21915.4,5807.76),(-26736.4,3637.52,6931.8),(-13151.6,-24452.6,9545.35),(-16823.8,-16120.8,8461.8),(-16413.3,-1328.68,8614.96),(370.593,21368.5,14948.5)]; + var_01 = [(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0)]; + thread maps\_shg_fx::start_fx_by_view("aa_explosion_runner_single",var_00,0.5,2,"msg_fx_zone500_Underwater",0,var_01,"fin_water_exp_audio"); +} + +//Function Number: 12 +player_canal_drop(param_00) +{ + soundscripts\_snd::snd_message("fin_flyin_splash"); + common_scripts\_exploder::exploder("mech_drop_canal_splash"); + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 linktoplayerview(level.player,"tag_origin",(0,0,-5),(0,0,0),1); + playfxontag(common_scripts\utility::getfx("underwater_bubble_vm_transition_fast"),var_01,"tag_origin"); + wait(1.85); + playfxontag(common_scripts\utility::getfx("fin_vm_underwater_hit_bottom"),var_01,"tag_origin"); + wait(2); + var_01 delete(); +} + +//Function Number: 13 +gideon_water_splash(param_00) +{ + wait(1.5); + soundscripts\_snd::snd_message("fin_flyin_gideon_splash"); + common_scripts\_exploder::exploder("gideon_water_splash"); + playfxontag(common_scripts\utility::getfx("bubble_trail_runner_lp"),param_00,"j_SpineUpper"); + playfxontag(common_scripts\utility::getfx("bubble_geotrail_thick_med"),param_00,"J_ankle_ri"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("bubble_geotrail_thick_xsml"),param_00,"j_elbow_le"); + playfxontag(common_scripts\utility::getfx("bubble_geotrail_thick_xsml"),param_00,"j_elbow_ri"); + level waittill("gideon_hit_bottom"); + stopfxontag(common_scripts\utility::getfx("bubble_trail_runner_lp"),param_00,"j_SpineUpper"); + stopfxontag(common_scripts\utility::getfx("bubble_geotrail_thick_med"),param_00,"J_ankle_ri"); + wait 0.05; + stopfxontag(common_scripts\utility::getfx("bubble_geotrail_thick_xsml"),param_00,"j_elbow_le"); + stopfxontag(common_scripts\utility::getfx("bubble_geotrail_thick_xsml"),param_00,"j_elbow_ri"); +} + +//Function Number: 14 +gideon_water_splash_cg(param_00) +{ + wait(1.5); + soundscripts\_snd::snd_message("fin_flyin_gideon_splash"); + common_scripts\_exploder::exploder("gideon_water_splash"); + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 linkto(param_00,"j_SpineUpper"); + var_02 = common_scripts\utility::spawn_tag_origin(); + var_02 linkto(param_00,"J_ankle_ri"); + var_03 = common_scripts\utility::spawn_tag_origin(); + var_03 linkto(param_00,"j_elbow_le"); + var_04 = common_scripts\utility::spawn_tag_origin(); + var_04 linkto(param_00,"j_elbow_ri"); + playfxontag(common_scripts\utility::getfx("bubble_trail_runner_lp"),var_01,"tag_origin"); + playfxontag(common_scripts\utility::getfx("bubble_geotrail_thick_med"),var_02,"tag_origin"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("bubble_geotrail_thick_xsml"),var_03,"tag_origin"); + playfxontag(common_scripts\utility::getfx("bubble_geotrail_thick_xsml"),var_04,"tag_origin"); + level waittill("gideon_hit_bottom"); + var_01 delete(); + var_02 delete(); + wait 0.05; + var_03 delete(); + var_04 delete(); +} + +//Function Number: 15 +gideon_canal_bottom(param_00) +{ + level notify("gideon_hit_bottom"); + common_scripts\_exploder::exploder("gideon_hit_bottom"); +} + +//Function Number: 16 +underwater_ambient_fx() +{ + level waittill("msg_fx_zone500_Underwater"); + common_scripts\_exploder::exploder(500); + common_scripts\_exploder::exploder(525); + wait(10); + common_scripts\_exploder::exploder(520); + wait(15); + maps\_utility::stop_exploder(520); + maps\_utility::stop_exploder(525); + level waittill("msg_fx_zone1000_inside_silo_area"); + maps\_utility::stop_exploder(500); +} + +//Function Number: 17 +underwater_bullets() +{ + level waittill("msg_fx_zone500_Underwater"); + thread underwater_bullets_vm(); + wait(0.75); + thread underwater_bullets_500(); + thread underwater_bullets_530(); + thread underwater_bullets_540(); +} + +//Function Number: 18 +underwater_bullets_vm() +{ + wait(0.45); + wait(0.25); + wait(0.5); + common_scripts\_exploder::exploder(552); + soundscripts\_snd::snd_message("fin_bullet_trails",552); +} + +//Function Number: 19 +underwater_bullets_500() +{ + var_00 = randomfloatrange(0.65,1.15); + wait(1.5); + common_scripts\_exploder::exploder(501); + soundscripts\_snd::snd_message("fin_bullet_trails",501); + thread bullet_cluster_01(); + wait(var_00); + common_scripts\_exploder::exploder(502); + soundscripts\_snd::snd_message("fin_bullet_trails",502); + thread bullet_cluster_02(); + wait(var_00); + common_scripts\_exploder::exploder(503); + soundscripts\_snd::snd_message("fin_bullet_trails",503); + thread bullet_cluster_03(); + wait(var_00); + common_scripts\_exploder::exploder(504); + soundscripts\_snd::snd_message("fin_bullet_trails",504); + thread bullet_cluster_04(); + wait(var_00); + common_scripts\_exploder::exploder(505); + soundscripts\_snd::snd_message("fin_bullet_trails",505); + wait(var_00); + common_scripts\_exploder::exploder(506); + soundscripts\_snd::snd_message("fin_bullet_trails",506); + thread bullet_cluster_06(); + wait(var_00); + common_scripts\_exploder::exploder(507); + soundscripts\_snd::snd_message("fin_bullet_trails",507); + thread bullet_cluster_07(); + wait(var_00); + common_scripts\_exploder::exploder(508); + soundscripts\_snd::snd_message("fin_bullet_trails",508); + wait(var_00); + common_scripts\_exploder::exploder(509); + soundscripts\_snd::snd_message("fin_bullet_trails",509); + wait(var_00); + common_scripts\_exploder::exploder(510); + soundscripts\_snd::snd_message("fin_bullet_trails",510); + wait(var_00); + common_scripts\_exploder::exploder(511); + soundscripts\_snd::snd_message("fin_bullet_trails",511); + wait(var_00); + common_scripts\_exploder::exploder(512); + soundscripts\_snd::snd_message("fin_bullet_trails",512); + thread bullet_cluster_12(); + wait(var_00); + common_scripts\_exploder::exploder(513); + soundscripts\_snd::snd_message("fin_bullet_trails",513); + wait(var_00); + common_scripts\_exploder::exploder(514); + soundscripts\_snd::snd_message("fin_bullet_trails",514); + wait(var_00); + common_scripts\_exploder::exploder(515); + soundscripts\_snd::snd_message("fin_bullet_trails",515); + thread bullet_cluster_15(); + wait(var_00); + common_scripts\_exploder::exploder(516); + soundscripts\_snd::snd_message("fin_bullet_trails",516); + wait(var_00); + common_scripts\_exploder::exploder(517); + soundscripts\_snd::snd_message("fin_bullet_trails",517); +} + +//Function Number: 20 +bullet_cluster_01() +{ + var_00 = randomfloatrange(0.15,0.3); + wait(var_00); + common_scripts\_exploder::exploder("501a"); + soundscripts\_snd::snd_message("fin_bullet_trails","501a"); + wait(var_00); + common_scripts\_exploder::exploder("501b"); + soundscripts\_snd::snd_message("fin_bullet_trails","501b"); +} + +//Function Number: 21 +bullet_cluster_02() +{ + var_00 = randomfloatrange(0.15,0.3); + wait(var_00); + common_scripts\_exploder::exploder("502a"); + soundscripts\_snd::snd_message("fin_bullet_trails","502a"); + wait(var_00); + common_scripts\_exploder::exploder("502b"); + soundscripts\_snd::snd_message("fin_bullet_trails","502b"); +} + +//Function Number: 22 +bullet_cluster_03() +{ + var_00 = randomfloatrange(0.15,0.3); + wait(var_00); + common_scripts\_exploder::exploder("503a"); + soundscripts\_snd::snd_message("fin_bullet_trails","503a"); + wait(var_00); + common_scripts\_exploder::exploder("503b"); + soundscripts\_snd::snd_message("fin_bullet_trails","503b"); +} + +//Function Number: 23 +bullet_cluster_04() +{ + var_00 = randomfloatrange(0.15,0.3); + wait(var_00); + common_scripts\_exploder::exploder("504a"); + soundscripts\_snd::snd_message("fin_bullet_trails","504a"); +} + +//Function Number: 24 +bullet_cluster_06() +{ + var_00 = randomfloatrange(0.15,0.3); + wait(var_00); + common_scripts\_exploder::exploder("506a"); + soundscripts\_snd::snd_message("fin_bullet_trails","506a"); + wait(var_00); + common_scripts\_exploder::exploder("506b"); + soundscripts\_snd::snd_message("fin_bullet_trails","506b"); +} + +//Function Number: 25 +bullet_cluster_07() +{ + var_00 = randomfloatrange(0.15,0.3); + wait(var_00); + common_scripts\_exploder::exploder("507a"); + soundscripts\_snd::snd_message("fin_bullet_trails","507a"); + wait(var_00); + common_scripts\_exploder::exploder("507b"); + soundscripts\_snd::snd_message("fin_bullet_trails","507b"); +} + +//Function Number: 26 +bullet_cluster_12() +{ + var_00 = randomfloatrange(0.15,0.3); + wait(var_00); + common_scripts\_exploder::exploder("512a"); + soundscripts\_snd::snd_message("fin_bullet_trails","512a"); + wait(var_00); + common_scripts\_exploder::exploder("512b"); + soundscripts\_snd::snd_message("fin_bullet_trails","512b"); +} + +//Function Number: 27 +bullet_cluster_15() +{ + var_00 = randomfloatrange(0.15,0.3); + wait(var_00); + common_scripts\_exploder::exploder("515a"); + soundscripts\_snd::snd_message("fin_bullet_trails","515a"); + wait(var_00); + common_scripts\_exploder::exploder("515b"); + soundscripts\_snd::snd_message("fin_bullet_trails","515b"); +} + +//Function Number: 28 +underwater_bullets_530() +{ + var_00 = randomfloatrange(0.5,1.5); + common_scripts\utility::flag_wait("fx_underwater_bullets_02"); + common_scripts\_exploder::exploder(530); + soundscripts\_snd::snd_message("fin_bullet_trails",530); + wait(var_00); + common_scripts\_exploder::exploder(531); + soundscripts\_snd::snd_message("fin_bullet_trails",531); + wait(var_00); + common_scripts\_exploder::exploder(532); + soundscripts\_snd::snd_message("fin_bullet_trails",532); + thread bullet_cluster_32(); + wait(var_00); + common_scripts\_exploder::exploder(533); + soundscripts\_snd::snd_message("fin_bullet_trails",533); + thread bullet_cluster_33(); + wait(var_00); + common_scripts\_exploder::exploder(534); + soundscripts\_snd::snd_message("fin_bullet_trails",534); + wait(var_00); + common_scripts\_exploder::exploder(535); + soundscripts\_snd::snd_message("fin_bullet_trails",535); + wait(var_00); + common_scripts\_exploder::exploder(536); + soundscripts\_snd::snd_message("fin_bullet_trails",536); + thread bullet_cluster_36(); + wait(var_00); + common_scripts\_exploder::exploder(537); + soundscripts\_snd::snd_message("fin_bullet_trails",537); + thread bullet_cluster_37(); +} + +//Function Number: 29 +bullet_cluster_32() +{ + var_00 = randomfloatrange(0.15,0.3); + wait(var_00); + common_scripts\_exploder::exploder("532a"); + soundscripts\_snd::snd_message("fin_bullet_trails","532a"); + wait(var_00); + common_scripts\_exploder::exploder("532b"); + soundscripts\_snd::snd_message("fin_bullet_trails","532b"); +} + +//Function Number: 30 +bullet_cluster_33() +{ + var_00 = randomfloatrange(0.15,0.3); + wait(var_00); + common_scripts\_exploder::exploder("533a"); + soundscripts\_snd::snd_message("fin_bullet_trails","533a"); + wait(var_00); + common_scripts\_exploder::exploder("533b"); + soundscripts\_snd::snd_message("fin_bullet_trails","533b"); +} + +//Function Number: 31 +bullet_cluster_36() +{ + var_00 = randomfloatrange(0.15,0.3); + wait(var_00); + common_scripts\_exploder::exploder("536a"); + soundscripts\_snd::snd_message("fin_bullet_trails","536a"); + wait(var_00); + common_scripts\_exploder::exploder("536b"); + soundscripts\_snd::snd_message("fin_bullet_trails","536b"); +} + +//Function Number: 32 +bullet_cluster_37() +{ + var_00 = randomfloatrange(0.15,0.3); + wait(var_00); + common_scripts\_exploder::exploder("537a"); + soundscripts\_snd::snd_message("fin_bullet_trails","537a"); + wait(var_00); + common_scripts\_exploder::exploder("537b"); + soundscripts\_snd::snd_message("fin_bullet_trails","537b"); +} + +//Function Number: 33 +underwater_bullets_540() +{ + var_00 = randomfloatrange(2.25,3.5); + common_scripts\utility::flag_wait("fx_underwater_bullets_03"); + common_scripts\_exploder::exploder(540); + soundscripts\_snd::snd_message("fin_bullet_trails",540); + thread bullet_cluster_40(); + wait(var_00); + common_scripts\_exploder::exploder(541); + soundscripts\_snd::snd_message("fin_bullet_trails",541); + thread bullet_cluster_41(); + wait(var_00); + common_scripts\_exploder::exploder(542); + soundscripts\_snd::snd_message("fin_bullet_trails",542); + wait(var_00); + common_scripts\_exploder::exploder(543); + soundscripts\_snd::snd_message("fin_bullet_trails",543); + thread bullet_cluster_43(); + wait(var_00); + common_scripts\_exploder::exploder(544); + soundscripts\_snd::snd_message("fin_bullet_trails",544); + wait(var_00); + common_scripts\_exploder::exploder(545); + soundscripts\_snd::snd_message("fin_bullet_trails",545); + thread bullet_cluster_45(); +} + +//Function Number: 34 +bullet_cluster_40() +{ + var_00 = randomfloatrange(0.15,0.3); + wait(var_00); + common_scripts\_exploder::exploder("540a"); + soundscripts\_snd::snd_message("fin_bullet_trails","540a"); + wait(var_00); + common_scripts\_exploder::exploder("540b"); + soundscripts\_snd::snd_message("fin_bullet_trails","540b"); +} + +//Function Number: 35 +bullet_cluster_41() +{ + var_00 = randomfloatrange(0.15,0.3); + wait(var_00); + common_scripts\_exploder::exploder("541a"); + soundscripts\_snd::snd_message("fin_bullet_trails","541a"); + wait(var_00); + common_scripts\_exploder::exploder("541b"); + soundscripts\_snd::snd_message("fin_bullet_trails","541b"); +} + +//Function Number: 36 +bullet_cluster_43() +{ + var_00 = randomfloatrange(0.15,0.3); + wait(var_00); + common_scripts\_exploder::exploder("543a"); + soundscripts\_snd::snd_message("fin_bullet_trails","543a"); + wait(var_00); + common_scripts\_exploder::exploder("543b"); + soundscripts\_snd::snd_message("fin_bullet_trails","543b"); +} + +//Function Number: 37 +bullet_cluster_45() +{ + var_00 = randomfloatrange(0.15,0.3); + wait(var_00); + common_scripts\_exploder::exploder("545a"); + soundscripts\_snd::snd_message("fin_bullet_trails","545a"); + wait(var_00); + common_scripts\_exploder::exploder("545b"); + soundscripts\_snd::snd_message("fin_bullet_trails","545b"); +} + +//Function Number: 38 +underwater_mech_footsteps() +{ + level waittill("msg_fx_zone500_Underwater"); + animscripts\utility::setnotetrackeffect("vfx_mech_footstepfx_rf","J_Ball_RI",undefined,common_scripts\utility::getfx("footstep_mech_underwater")); + animscripts\utility::setnotetrackeffect("vfx_mech_footstepfx_lf","J_Ball_LE",undefined,common_scripts\utility::getfx("footstep_mech_underwater")); + level.gideon thread gideon_mech_water_drips(); + if(level.nextgen) + { + level.gideon thread gideon_bubble_trail(); + } + else + { + level.gideon thread gideon_bubble_trail_cg(); + } + + common_scripts\utility::flag_wait("fx_silo_breached"); + animscripts\utility::setnotetrackeffect("vfx_mech_footstepfx_rf","J_Ball_RI",undefined,common_scripts\utility::getfx("footstep_mech_underwater_concrete")); + animscripts\utility::setnotetrackeffect("vfx_mech_footstepfx_lf","J_Ball_LE",undefined,common_scripts\utility::getfx("footstep_mech_underwater_concrete")); + common_scripts\utility::flag_wait("fx_stairs_mech"); + animscripts\utility::setnotetrackeffect("vfx_mech_footstepfx_rf","J_Ball_RI",undefined,common_scripts\utility::getfx("no_fx")); + animscripts\utility::setnotetrackeffect("vfx_mech_footstepfx_lf","J_Ball_LE",undefined,common_scripts\utility::getfx("no_fx")); + common_scripts\utility::flag_wait("fx_silo_stairs"); + if(level.nextgen) + { + level.gideon thread kill_gideon_bubble_trail(); + return; + } + + level.gideon thread kill_gideon_bubble_trail_cg(); +} + +//Function Number: 39 +gideon_mech_water_drips() +{ + common_scripts\utility::flag_wait("fx_stairs_drips"); + level.gideon thread gideon_mech_footstep_splashes(); + soundscripts\_snd::snd_message("fin_gid_exit_water"); + wait(0.2); + wait 0.05; + playfxontag(common_scripts\utility::getfx("fin_gideon_mech_water_drip_rshoulder"),self,"J2_shoulderAmmo_R"); + playfxontag(common_scripts\utility::getfx("fin_gideon_mech_water_drip_lshoulder"),self,"J2_exoShoulderArmor_L1"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("fin_gideon_mech_water_drip_gun"),self,"TAG_BARREL"); + playfxontag(common_scripts\utility::getfx("fin_gideon_mech_water_drip"),self,"J_SpineLower"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("fin_gideon_mech_water_drip"),self,"J_Knee_LE"); + playfxontag(common_scripts\utility::getfx("fin_gideon_mech_water_drip"),self,"J_Elbow_RI"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("fin_gideon_mech_water_drip"),self,"J_Wrist_LE"); + playfxontag(common_scripts\utility::getfx("fin_gideon_mech_water_drip"),self,"J_Shoulder_RI"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("fin_gideon_mech_water_drip"),self,"J_Shoulder_LE"); +} + +//Function Number: 40 +gideon_mech_footstep_splashes() +{ + wait(1); + animscripts\utility::setnotetrackeffect("vfx_mech_footstepfx_rf","J_Ball_RI",undefined,common_scripts\utility::getfx("footstep_mech_water")); + animscripts\utility::setnotetrackeffect("vfx_mech_footstepfx_lf","J_Ball_LE",undefined,common_scripts\utility::getfx("footstep_mech_water")); + wait(3); + animscripts\utility::setnotetrackeffect("vfx_mech_footstepfx_rf","J_Ball_RI",undefined,common_scripts\utility::getfx("no_fx")); + animscripts\utility::setnotetrackeffect("vfx_mech_footstepfx_lf","J_Ball_LE",undefined,common_scripts\utility::getfx("no_fx")); +} + +//Function Number: 41 +gideon_bubble_trail() +{ + playfxontag(common_scripts\utility::getfx("bubble_trail_mech_runner_lp"),self,"J_Neck"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("bubble_trail_mech_runner_lp"),self,"J_Knee_LE"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("bubble_trail_mech_runner_lp"),self,"J_Elbow_LE"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("bubble_trail_mech_runner_lp"),self,"J_Elbow_RI"); +} + +//Function Number: 42 +gideon_bubble_trail_cg() +{ + var_00 = common_scripts\utility::spawn_tag_origin(); + var_00 linkto(self,"J_Neck"); + self.neck_org = var_00; + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 linkto(self,"J_Knee_LE"); + self.knee_l_org = var_01; + var_02 = common_scripts\utility::spawn_tag_origin(); + var_02 linkto(self,"J_Elbow_LE"); + self.elbow_l_org = var_02; + var_03 = common_scripts\utility::spawn_tag_origin(); + var_03 linkto(self,"J_Elbow_RI"); + self.elbow_r_org = var_03; + playfxontag(common_scripts\utility::getfx("bubble_trail_mech_runner_lp"),var_00,"tag_origin"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("bubble_trail_mech_runner_lp"),var_01,"tag_origin"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("bubble_trail_mech_runner_lp"),var_02,"tag_origin"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("bubble_trail_mech_runner_lp"),var_03,"tag_origin"); +} + +//Function Number: 43 +kill_gideon_bubble_trail() +{ + stopfxontag(common_scripts\utility::getfx("bubble_trail_mech_runner_lp"),self,"J_Neck"); + wait 0.05; + stopfxontag(common_scripts\utility::getfx("bubble_trail_mech_runner_lp"),self,"J_Knee_LE"); + wait 0.05; + stopfxontag(common_scripts\utility::getfx("bubble_trail_mech_runner_lp"),self,"J_Elbow_LE"); + wait 0.05; + stopfxontag(common_scripts\utility::getfx("bubble_trail_mech_runner_lp"),self,"J_Elbow_RI"); +} + +//Function Number: 44 +kill_gideon_bubble_trail_cg() +{ + self.neck_org delete(); + wait 0.05; + self.knee_l_org delete(); + wait 0.05; + self.elbow_l_org delete(); + wait 0.05; + self.elbow_r_org delete(); +} + +//Function Number: 45 +vfx_missile_loading(param_00) +{ + common_scripts\_exploder::exploder("missile_loading_steam"); + level waittill("missile_docking"); + maps\_utility::pauseexploder("missile_loading_steam"); +} + +//Function Number: 46 +vfx_missile_docking_end(param_00) +{ + level notify("missile_docking"); +} + +//Function Number: 47 +vfx_silo_corridor_lowering() +{ + common_scripts\_exploder::exploder("corridor_lower_steam"); + common_scripts\_exploder::exploder("ceiling_steam_bursts"); + wait(3.5); + maps\_utility::pauseexploder("ceiling_steam_bursts"); + wait(3.5); + maps\_utility::pauseexploder("corridor_lower_steam"); +} + +//Function Number: 48 +vfx_catwalk_lowering() +{ + common_scripts\_exploder::exploder("steam_catwalk_dissipate"); + wait(1); + common_scripts\_exploder::exploder("steam_catwalk_low"); + wait(6); + maps\_utility::pauseexploder("steam_catwalk_dissipate"); + wait(2); + maps\_utility::pauseexploder("steam_catwalk_low"); +} + +//Function Number: 49 +rocket_fail_smoke() +{ + common_scripts\utility::flag_wait("flag_countdown_complete_mission_fail"); + wait(4); + common_scripts\_exploder::exploder("rocket_fail_sparks_start"); + wait(4); + common_scripts\_exploder::exploder("rocket_fail_start"); + maps\_utility::pauseexploder("rocket_fail_sparks_start"); + wait(0.3); + common_scripts\_exploder::exploder("rocket_fail_smk"); +} + +//Function Number: 50 +gideon_door_mech_kick(param_00) +{ + wait(0.05); + common_scripts\_exploder::exploder("door_kick_01"); + wait(0.15); + common_scripts\_exploder::exploder("door_kick_02"); + wait(0.2); + common_scripts\_exploder::exploder("door_kick_03"); + common_scripts\_exploder::exploder("door_kick_04"); + wait(1); + common_scripts\_exploder::exploder("door_kick_04"); +} + +//Function Number: 51 +door_kick_smoke(param_00) +{ + playfxontag(common_scripts\utility::getfx("fin_door_kick_slide_sparks"),param_00,"TAG_ORIGIN_ANIMATED"); +} + +//Function Number: 52 +exhaust_hatch_break_gideon(param_00) +{ + common_scripts\_exploder::exploder("bar_break_gid"); + wait(0.8); + common_scripts\_exploder::exploder("bar_hit_ground_gid"); +} + +//Function Number: 53 +exhaust_hatch_break_player(param_00) +{ + common_scripts\_exploder::exploder("bar_break_player"); + wait(1.7); + common_scripts\_exploder::exploder("bar_hit_ground"); +} + +//Function Number: 54 +exhaust_hatch_open(param_00) +{ + common_scripts\_exploder::exploder("hatch_open"); + wait(0.5); + common_scripts\_exploder::exploder("hatch_exhaust"); + wait(5); + maps\_utility::stop_exploder("hatch_exhaust"); +} + +//Function Number: 55 +exhaust_hatch_land_player(param_00) +{ + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 linkto(param_00,"tag_origin",(0,0,0),(270,0,0)); + playfxontag(common_scripts\utility::getfx("fin_hatch_exhaust_mech_land"),var_01,"tag_origin"); + wait(2); + var_01 delete(); +} + +//Function Number: 56 +exhaust_hatch_land_gideon(param_00) +{ + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 linkto(param_00,"tag_origin",(0,0,0),(270,0,0)); + playfxontag(common_scripts\utility::getfx("fin_hatch_exhaust_mech_land"),var_01,"tag_origin"); + wait(3); + var_01 delete(); +} + +//Function Number: 57 +vfx_open_vent(param_00) +{ + wait(2); + common_scripts\_exploder::exploder("vfx_open_vent"); + wait(1.6); + maps\_utility::pauseexploder("vfx_open_vent"); +} + +//Function Number: 58 +player_rocket() +{ + wait 0.05; + common_scripts\utility::flag_wait("flag_exhaust_hatch_open"); + common_scripts\_exploder::exploder("liquid_hydrogen"); + level.player waittill("notetrack_vfx_ignition"); + common_scripts\_exploder::exploder("ignition_sparks"); + wait(1); + common_scripts\_exploder::exploder("ignition_fire"); + wait(1.5); + common_scripts\_exploder::exploder("fin_tunnel_smoke"); + maps\_utility::pauseexploder("liquid_hydrogen"); + maps\_utility::stop_exploder("ignition_sparks"); + var_00 = getent("missile_main_02","targetname"); + earthquake(0.3,2,var_00.origin,3000); + level.player waittill("notetrack_vfx_blast"); + thread maps\finale_lighting::red_burn_lighting_fog(); + maps\_utility::stop_exploder("fin_tunnel_smoke"); + wait(0.1); + common_scripts\_exploder::exploder("fin_red_thruster"); + wait(0.55); + common_scripts\_exploder::exploder("red_thruster_constant"); + wait(0.5); + maps\_utility::pauseexploder("fin_red_thruster"); + var_00 = getent("missile_main_02","targetname"); + earthquake(1,4,var_00.origin,3000); + wait(0.5); + common_scripts\_exploder::exploder("fin_yellow_thruster"); + maps\_utility::pauseexploder("red_thruster_constant"); + var_00 = getent("missile_main_02","targetname"); + earthquake(0.3,80,var_00.origin,3000); + level.player waittill("notetrack_rocket_launch_start"); + maps\_utility::pauseexploder("fin_yellow_thruster"); + maps\_utility::pauseexploder("ignition_fire"); + common_scripts\_exploder::exploder("fire_tunnel_blue"); + thread maps\finale_lighting::cold_burn_lighting_fog(); + playfxontag(common_scripts\utility::getfx("fin_rocket_thruster_blue"),var_00,"missile"); + earthquake(0.4,3,var_00.origin,2000); + wait(0.8); + playfxontag(common_scripts\utility::getfx("fin_rocket_thruster_sml"),var_00,"tag_attach1"); + earthquake(0.3,2,var_00.origin,2000); + wait(0.6); + playfxontag(common_scripts\utility::getfx("fin_rocket_thruster_sml"),var_00,"tag_attach2"); + earthquake(0.3,2,var_00.origin,2000); + wait(0.6); + playfxontag(common_scripts\utility::getfx("fin_rocket_thruster_sml"),var_00,"tag_attach3"); + earthquake(0.3,2,var_00.origin,2000); + wait(0.5); + playfxontag(common_scripts\utility::getfx("fin_rocket_thruster_sml"),var_00,"tag_attach4"); + earthquake(0.3,2,var_00.origin,2000); + wait(0.4); + playfxontag(common_scripts\utility::getfx("fin_rocket_thruster_sml"),var_00,"tag_attach5"); + earthquake(0.3,3,var_00.origin,2000); + wait(0.3); + playfxontag(common_scripts\utility::getfx("fin_rocket_thruster_sml"),var_00,"tag_attach6"); + earthquake(0.2,40,var_00.origin,2000); + common_scripts\utility::flag_wait("flag_obj_stop_missile_launch_complete"); + maps\_utility::pauseexploder("fire_tunnel_blue"); + common_scripts\_exploder::exploder("thruster_idle_smoke"); + playfxontag(common_scripts\utility::getfx("fin_rocket_thruster_blue_idle"),var_00,"missile"); + stopfxontag(common_scripts\utility::getfx("fin_rocket_thruster_blue"),var_00,"missile"); + wait(0.3); + playfxontag(common_scripts\utility::getfx("fin_rocket_thruster_sml_idle"),var_00,"tag_attach1"); + stopfxontag(common_scripts\utility::getfx("fin_rocket_thruster_sml"),var_00,"tag_attach1"); + wait(0.3); + playfxontag(common_scripts\utility::getfx("fin_rocket_thruster_sml_idle"),var_00,"tag_attach2"); + stopfxontag(common_scripts\utility::getfx("fin_rocket_thruster_sml"),var_00,"tag_attach2"); + wait(0.2); + playfxontag(common_scripts\utility::getfx("fin_rocket_thruster_sml_idle"),var_00,"tag_attach3"); + stopfxontag(common_scripts\utility::getfx("fin_rocket_thruster_sml"),var_00,"tag_attach3"); + wait(0.2); + playfxontag(common_scripts\utility::getfx("fin_rocket_thruster_sml_idle"),var_00,"tag_attach4"); + stopfxontag(common_scripts\utility::getfx("fin_rocket_thruster_sml"),var_00,"tag_attach4"); + wait(0.2); + playfxontag(common_scripts\utility::getfx("fin_rocket_thruster_sml_idle"),var_00,"tag_attach5"); + stopfxontag(common_scripts\utility::getfx("fin_rocket_thruster_sml"),var_00,"tag_attach5"); + wait(0.2); + playfxontag(common_scripts\utility::getfx("fin_rocket_thruster_sml_idle"),var_00,"tag_attach6"); + stopfxontag(common_scripts\utility::getfx("fin_rocket_thruster_sml"),var_00,"tag_attach6"); + thread silo_rocket_blowup(); +} + +//Function Number: 59 +silo_rocket_blowup() +{ + common_scripts\utility::flag_wait("flag_obj_stop_missile_launch_complete"); + common_scripts\_exploder::exploder("silo_sparks"); + common_scripts\_exploder::exploder("metal_falling3"); + common_scripts\_exploder::exploder("steam_pipe_break1"); + common_scripts\_exploder::exploder("metal_close"); + wait(0.5); + common_scripts\_exploder::exploder("metal_falling2"); + wait(2); + common_scripts\_exploder::exploder("metal_falling1"); + common_scripts\_exploder::exploder("steam_leak"); + wait(0.5); + common_scripts\_exploder::exploder("falling_panel_1"); + common_scripts\_exploder::exploder("steam_pipe_break1"); + wait(1); + common_scripts\_exploder::exploder("falling_panel_2"); + common_scripts\_exploder::exploder("steam_pipe_break2"); + common_scripts\_exploder::exploder("metal_falling2"); + wait(0.5); + common_scripts\_exploder::exploder("steam_pipe_break_3"); + common_scripts\_exploder::exploder("metal_falling3"); + wait(0.5); + common_scripts\_exploder::exploder("steam_pipe_break1"); + wait(0.5); + common_scripts\_exploder::exploder("steam_pipe_break2"); + wait(0.5); + common_scripts\_exploder::exploder("steam_pipe_break_3"); + common_scripts\_exploder::exploder("metal_falling3"); + wait(0.3); + common_scripts\_exploder::exploder("metal_falling1"); + common_scripts\_exploder::exploder("falling_panel_1"); + wait(5); + maps\_utility::pauseexploder("steam_leak"); + wait(7); + maps\_utility::pauseexploder("silo_sparks"); + common_scripts\_exploder::exploder("silo_fire"); + wait(3); + common_scripts\_exploder::exploder("metal_falling4"); +} + +//Function Number: 60 +view_clamping_unlock() +{ + wait(5); + level.player playerlinktodelta(self,"tag_player",1,20,20,20,20,1); +} + +//Function Number: 61 +vfx_gideon_mech_sparks(param_00) +{ + playfxontag(common_scripts\utility::getfx("mech_damage_sparks_lp"),param_00,"j_elbow_ri"); + wait(0.5); + playfxontag(common_scripts\utility::getfx("mech_damage_sparks_lp"),param_00,"j_SpineUpper"); + level waittill("stop_mech_effects"); + stopfxontag(common_scripts\utility::getfx("mech_damage_sparks_lp"),param_00,"j_elbow_ri"); + stopfxontag(common_scripts\utility::getfx("mech_damage_sparks_lp"),param_00,"j_SpineUpper"); +} + +//Function Number: 62 +vfx_gideon_mech_rolls_over(param_00) +{ +} + +//Function Number: 63 +vfx_vm_mech_sparks(param_00) +{ +} + +//Function Number: 64 +vfx_vm_mech_stop_effects(param_00) +{ + level notify("stop_mech_effects"); +} + +//Function Number: 65 +vfx_vm_mech_dmg_sparks(param_00) +{ + playfxontag(common_scripts\utility::getfx("mech_damage_sparks_lp"),param_00,"j_elbow_ri"); + level waittill("stop_vm_mech_dmg_exit_effects"); + stopfxontag(common_scripts\utility::getfx("mech_damage_sparks_lp"),param_00,"j_elbow_ri"); +} + +//Function Number: 66 +vfx_vm_mech_dmg_stop(param_00) +{ + level notify("stop_vm_mech_dmg_exit_effects"); +} + +//Function Number: 67 +city_ambient_fx() +{ + level waittill("sky_bridge_vfx"); + common_scripts\_exploder::exploder("1250"); + level waittill("msg_fx_zone1500_will_room"); + maps\_utility::stop_exploder("1250"); +} + +//Function Number: 68 +lobby_ambient_aa_explosions() +{ + level waittill("msg_fx_zone1200_lobby"); + var_00 = [(19736.3,-81201.1,6196.13),(20326.3,-79994,6168.28),(20242.2,-81596,7343.56),(22233.2,-76351,6777.65),(20011.2,-78193.8,6131.02),(12361.5,-91154.7,9126.11),(8435.29,-90739,8148.44),(10200.3,-88663.2,6542.32),(12048.4,-87566,6595.51),(9218.16,-88224,8567.6),(12797.4,-89343.2,9535.41),(22749.1,-82353.5,6832.5),(13236.1,-87067,7096.58),(22476.3,-79821.1,7969.65),(10947.5,-86478.5,7118.63),(10868.1,-85830.2,7855.8)]; + var_01 = [(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0)]; + thread maps\_shg_fx::start_fx_by_view("aa_explosion_runner_single",var_00,1,4,"sky_bridge_vfx",0,var_01); +} + +//Function Number: 69 +lobby_ambient_explosion_midair_runner_single() +{ + level waittill("msg_fx_zone1200_lobby"); + var_00 = [(19877.2,-79864.8,6888.36),(19678.5,-77684.2,6791.43),(9107.69,-89243.1,6073.12),(12487.5,-92650.9,8446.7),(9298.35,-89098.5,9392.02),(14205.4,-85589.7,6770.85),(12860.9,-86394.9,6118.32),(13143.9,-88688.8,8805.71),(24161,-81664.9,6585.47),(20303.4,-82089.7,7262.87),(10241.6,-87617.2,7091.35),(19590.2,-77617.1,6095.31),(11175.6,-87714.1,6193.76),(11340.4,-86181.1,7414.02),(20793.7,-80326.9,5903.01),(20724.3,-78300,5931.67)]; + var_01 = [(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0)]; + thread maps\_shg_fx::start_fx_by_view("ambient_explosion_midair_runner_single",var_00,3,6,"msg_fx_zone1500_will_room",0,var_01); +} + +//Function Number: 70 +dazed_sky_bridge_explosions() +{ + level waittill("sky_bridge_vfx"); + wait(2.5); + common_scripts\_exploder::exploder("1400"); + wait(0.3); + common_scripts\_exploder::exploder("1445"); + wait(1.2); + common_scripts\_exploder::exploder("1410"); + wait(1.4); + common_scripts\_exploder::exploder("1400"); + common_scripts\_exploder::exploder("1440"); + wait(0.5); + common_scripts\_exploder::exploder("1445"); + wait(0.8); + common_scripts\_exploder::exploder("1440"); +} + +//Function Number: 71 +skybridge_ambient_explosions() +{ + level waittill("sky_bridge_vfx"); + var_00 = [(4654.03,-102993,10692.7),(13108.2,-101759,9690.11),(736.915,-101098,9018.34),(15751.2,-102791,11452.8),(10144.1,-106871,11625.6),(2581.71,-100424,12561.6),(17300,-97559.2,8630.33),(9033.09,-97071.9,12803.7),(15428.6,-98442.5,13594.4),(5523.56,-104965,14269.9)]; + var_01 = [(7.85488,241.093,-174.052),(7.85488,241.093,-174.052),(7.85488,241.093,-174.052),(7.85488,241.093,-174.052),(7.85488,241.093,-174.052),(7.85488,241.093,-174.052),(7.85488,241.093,-174.052),(7.85488,241.093,-174.052),(7.85488,241.093,-174.052),(7.85488,241.093,-174.052)]; + thread maps\_shg_fx::start_fx_by_view("ambient_explosion_midair_runner_single",var_00,0.5,4,"msg_fx_zone1500_will_room",0,var_01); +} + +//Function Number: 72 +skybridge_ambient_aa_explosions() +{ + level waittill("sky_bridge_vfx"); + var_00 = [(2891.15,-103482,14244.9),(8019.56,-104272,15480),(3658.89,-90765.2,9855.59),(10137.5,-100169,16460.7),(15199.7,-108507,13215.5),(1598.96,-101172,16679.1),(14825.9,-100589,14981.1),(4983.57,-106438,20693.1),(20345.4,-104944,13060.4),(13528.8,-100043,18455.4),(1970.3,-110849,19329.2)]; + var_01 = [(7.85488,241.093,-174.052),(7.85488,241.093,-174.052),(7.85488,241.093,-174.052),(7.85488,241.093,-174.052),(7.85488,241.093,-174.052),(7.85488,241.093,-174.052),(7.85488,241.093,-174.052),(7.85488,241.093,-174.052),(7.85488,241.093,-174.052),(7.85488,241.093,-174.052),(7.85488,241.093,-174.052)]; + thread maps\_shg_fx::start_fx_by_view("aa_explosion_runner_single",var_00,1,3,"msg_fx_zone1500_will_room",0,var_01); +} + +//Function Number: 73 +vfx_irons_reveal_scene() +{ + level.player common_scripts\utility::delaycall(57.5,::playrumbleonentity,"artillery_rumble"); + wait(57); + common_scripts\_exploder::exploder("falling_dust_irons"); + wait(0.55); + for(var_00 = 0;var_00 < 3;var_00++) + { + level.player lightsetforplayer("finale_will_lit_dark"); + common_scripts\_exploder::kill_exploder("lighton"); + wait(randomfloatrange(0.05,0.1)); + common_scripts\_exploder::exploder("lighton"); + level.player lightsetforplayer("finale_will_lit"); + wait(randomfloatrange(0.05,0.1)); + } +} + +//Function Number: 74 +vfx_explosion_rumble_dust(param_00) +{ + level.player playrumbleonentity("artillery_rumble"); + common_scripts\_exploder::exploder("falling_dust_irons"); + wait(0.5); + common_scripts\_exploder::exploder("falling_dust_irons_2"); +} + +//Function Number: 75 +exo_release_vm_error_glow(param_00) +{ + playfxontag(common_scripts\utility::getfx("fin_exo_exit_glow_vm"),param_00,"J_Elbow_LE"); + wait(7); + common_scripts\_exploder::kill_exploder("lighton"); +} + +//Function Number: 76 +exo_release_gideon_error_glow() +{ + playfxontag(common_scripts\utility::getfx("fin_exo_exit_glow_gideon"),self,"J_Elbow_LE"); +} + +//Function Number: 77 +rooftop_bombshakes() +{ + common_scripts\utility::flag_wait("msg_fx_zone2000_finale_roof"); + var_00 = common_scripts\utility::spawn_tag_origin(); + var_00.origin = self.player getorigin(); + var_00.angles = (270,0,-30); + if(!isdefined(level.bombshake_interval)) + { + level.bombshake_interval = 3; + level.bombshake_interval_rand = 2; + } + + for(;;) + { + common_scripts\utility::flag_waitopen("flag_bridge_takedown_jump_complete"); + if(common_scripts\utility::flag("msg_fx_zone2000_finale_roof")) + { + var_01 = 1008; + var_00.origin = self.player getorigin(); + var_02 = bullettrace(self.player.origin + (0,0,12),self.player.origin + (0,0,1200),0,undefined); + var_03 = distance(var_00.origin,var_02["position"]); + if(var_03 < 200) + { + maps\_shg_fx::fx_bombshakes("dust_falling_light_sml_01","viewmodel_medium",0.127,2,0.3,0.53); + level.player playrumbleonentity("artillery_rumble"); + } + } + + var_04 = randomfloatrange(level.bombshake_interval_rand * -1,level.bombshake_interval_rand) + level.bombshake_interval; + wait(var_04); + } +} + +//Function Number: 78 +end_roof_ambient_aa_explosions() +{ + level waittill("msg_fx_zone2000_finale_roof"); + var_00 = [(28703.9,-88023.5,11551),(25077.8,-84256.8,12100.7),(28887.8,-79686.6,9774.34),(24696.7,-81974,12089.4),(22728,-80444.8,10428.3),(31915.3,-84699.8,14781.3),(25735.8,-88644.5,10002.1),(27265.4,-89793.7,11532.1),(24224,-91568,11330.7),(25254.6,-91533.8,10644.4),(24560.8,-92454.8,13595.9),(28707.7,-95667.6,10299.2),(23550.3,-79951.1,12258.5),(21190.7,-80163.7,11070.2),(19338.8,-79769.9,11707.2),(21419,-75094.7,10657),(17673.9,-76488.6,10542),(16869.9,-80385.9,11332.6),(26806.4,-91364.5,14506.9),(25643.1,-88129,12719.4),(14173.2,-78073.8,12742.2),(15887.1,-78018.1,13130.5),(14944.6,-75276.4,10847.7),(19736.1,-82553,11637.7),(17740.4,-80421,12633.4),(24259.9,-81211.7,14150.9),(27089.1,-95804.8,12968.9),(22356.6,-93927.5,12621.6),(30944.8,-79806.1,8693.74),(28123.8,-71647,9182.44),(31380.5,-74470.8,9871.97),(25359.1,-80539.9,10515.7),(36674.8,-93126.5,9679.31),(31733.7,-95108,9175.21),(25619.9,-86854,14161.5),(22226.9,-94309.3,10330.2),(21923.2,-95930.2,12235.1),(20882.5,-99521.3,14230.7),(19706.3,-90424.1,11999.8),(23950,-98925.1,9814.04),(17665,-94561.3,13209),(19034.6,-98377.5,10083.2),(16737.9,-97170.3,12966.1),(15529.7,-97697.8,14274.2),(14298.2,-97084.1,11167.8),(13709,-101641,13791.6),(15771.5,-95331.8,11045),(18642.5,-98693.9,12202.7),(12463.6,-99664.3,8967.25),(13636.4,-97820,10217.7),(10947.2,-97552.8,8803.92),(11118.4,-95462.6,10422)]; + var_01 = [(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0)]; + thread maps\_shg_fx::start_fx_by_view("aa_explosion_runner_single",var_00,1.2,4,"sky_bridge_vfx",0,var_01); +} + +//Function Number: 79 +end_roof_ambient_midair_runner_explosion_single() +{ + level waittill("msg_fx_zone2000_finale_roof"); + var_00 = [(32939.7,-89510,9355),(34815.8,-74121.7,8237.19),(28000.8,-92981.9,8373.73),(28787.3,-88340.4,12277.6),(24359.2,-95049.5,9609.53),(27131,-90919.9,10099.8),(20258.8,-98544.3,10971.9),(30443.6,-65642.4,12367.8),(43590.4,-95567.2,9375.89),(28369.5,-75757.4,11107.3),(18073,-104800,11254.5),(13845.2,-98679.2,9980.36),(19738.5,-75864,11766.2),(19040.4,-77124.1,8839.73),(22193.8,-98347.2,9323.64),(15987.4,-79446.2,8981.93),(15322.9,-74888.5,11718.7),(24732.2,-75238.4,8334.43),(11081.9,-96884.3,8672.88),(14884.7,-97183.7,8020.07),(12432,-98050.2,7523.47),(25484.1,-92778.2,11690.8)]; + var_01 = [(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0),(270,0,0)]; + thread maps\_shg_fx::start_fx_by_view("ambient_explosion_midair_runner_single",var_00,1.8,6,"sky_bridge_vfx",0,var_01); +} + +//Function Number: 80 +ambient_smk_walkway() +{ + common_scripts\utility::flag_wait("msg_fx_zone2000_finale_roof"); + common_scripts\_exploder::exploder("smk_walkway"); + common_scripts\utility::flag_wait("flag_balcony_tackle_success"); + maps\_utility::pauseexploder("smk_walkway"); +} + +//Function Number: 81 +vfx_landing_dust_npc(param_00) +{ + wait(0.15); + common_scripts\_exploder::exploder("dust_poof_landing"); +} + +//Function Number: 82 +vfx_push_over_ledge(param_00) +{ +} + +//Function Number: 83 +vfx_irons_tackle(param_00) +{ + common_scripts\_exploder::exploder("irons_tackle_dust"); + wait(3); + maps\_utility::pauseexploder("irons_tackle_dust"); +} + +//Function Number: 84 +vfx_balcony_break_through(param_00) +{ + common_scripts\_exploder::exploder("balcony_break_dust"); + level notify("balcony_break_through_complete"); + common_scripts\utility::flag_wait("flag_obj_irons_complete"); + maps\_utility::pauseexploder("balcony_break_dust"); +} + +//Function Number: 85 +grand_finale_fx() +{ + common_scripts\utility::flag_wait("flag_bridge_takedown_jump_complete"); + thread grand_finale_fire_pool_fx(); + thread grand_finale_rooftop_explode(); + thread grand_finale_building_explosion_smk(); + if(level.nextgen) + { + thread grand_finale_iron_head_skin_override(); + } + + thread grand_finale_building_window_explosion_roofhang(); + thread grand_fianle_paper_blowing(); + thread grand_finale_ambientfx_atlas_logo(); +} + +//Function Number: 86 +grand_finale_rooftop_explode() +{ + level waittill("vfx_rooftop_glass_explode"); + var_00 = randomfloatrange(0.05,0.15); + wait(var_00); + common_scripts\_exploder::exploder("roof_glass_shatter"); +} + +//Function Number: 87 +grand_finale_building_explosion_smk() +{ + level waittill("vfx_rooftop_glass_explode"); + common_scripts\_exploder::exploder("building_explo"); +} + +//Function Number: 88 +grand_fianle_paper_blowing() +{ + level waittill("balcony_break_through_complete"); + wait(1); + common_scripts\_exploder::exploder("roofhang_paper_blowing_1"); + wait(1); + common_scripts\_exploder::exploder("roofhang_paper_blowing_2"); +} + +//Function Number: 89 +grand_finale_building_window_explosion_roofhang() +{ + level waittill("balcony_break_through_complete"); + wait(5.8); + common_scripts\_exploder::exploder("roofhang_window_explo_1"); + wait(2.5); + common_scripts\_exploder::exploder("roofhang_window_explo_2"); +} + +//Function Number: 90 +grand_finale_fire_pool_fx() +{ + common_scripts\_exploder::exploder(3000); +} + +//Function Number: 91 +vfx_irons_fail_fall() +{ + common_scripts\_exploder::exploder("fail_falling_debris"); + playfxontag(common_scripts\utility::getfx("fin_irons_vector_field_lp"),level.irons,"j_SpineUpper"); + wait(4); + common_scripts\_exploder::kill_exploder("fail_falling_debris"); + stopfxontag(common_scripts\utility::getfx("fin_irons_vector_field_lp"),level.irons,"j_SpineUpper"); +} + +//Function Number: 92 +grand_finale_iron_head_skin_override() +{ + common_scripts\utility::flag_wait("flag_balcony_tackle_success"); + level.irons overridematerial("mtl_irons_head_wrinkle_tns","mtl_irons_head_wrinkle_finalehang_tns"); +} + +//Function Number: 93 +grand_finale_ambientfx_atlas_logo() +{ + common_scripts\utility::flag_wait("flag_balcony_tackle_success"); + common_scripts\_exploder::exploder("3510"); +} + +//Function Number: 94 +vfx_vm_arm_stab(param_00) +{ + wait(0.1); + playfxontag(common_scripts\utility::getfx("fin_player_arm_cut_sparks"),param_00,"J_Elbow_LE"); + level waittill("kill_looping_arm_fx"); + stopfxontag(common_scripts\utility::getfx("fin_player_arm_cut_sparks"),param_00,"J_Elbow_LE"); +} + +//Function Number: 95 +vfx_vm_arm_sever(param_00) +{ + playfxontag(common_scripts\utility::getfx("fin_player_arm_cut_spark_burst_single"),param_00,"J_Elbow_LE"); +} + +//Function Number: 96 +vfx_arm_piece_fall(param_00) +{ + level notify("kill_looping_arm_fx"); + playfxontag(common_scripts\utility::getfx("fin_player_arm_cut_sparks_trail"),param_00,"J_Elbow_LE"); + wait(2); + stopfxontag(common_scripts\utility::getfx("fin_player_arm_cut_sparks_trail"),param_00,"J_Elbow_LE"); +} + +//Function Number: 97 +vfx_irons_fall_death(param_00) +{ +} \ No newline at end of file diff --git a/AW/PC/maps/finale_heli_custom_aim.gsc b/AW/PC/maps/finale_heli_custom_aim.gsc new file mode 100644 index 0000000..a3c6430 --- /dev/null +++ b/AW/PC/maps/finale_heli_custom_aim.gsc @@ -0,0 +1,584 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: finale_heli_custom_aim.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 21 + * Decompile Time: 338 ms + * Timestamp: 4/22/2024 2:29:16 AM +*******************************************************************/ + +//Function Number: 1 +start_heli_custom_aim(param_00) +{ + thread select_target_think(param_00); + thread aim_additives_think(param_00); +} + +//Function Number: 2 +select_target_think(param_00) +{ + self endon("death"); + self endon(param_00); + var_01 = getaiarray("axis"); + var_02 = 0; + self.enemy_custom = var_01[var_02]; + var_03 = 0.25; + var_04 = self.enemy_custom; + for(;;) + { + if(!isalive(var_04)) + { + self.enemy_custom = undefined; + self.enemy_custom_fire_ok_time = gettime() + randomfloatrange(0.15,0.35) * 1000; + } + + var_05 = getaiarray("axis"); + var_06 = maps\_utility::getvehiclearray(); + foreach(var_08 in var_06) + { + if(isdefined(var_08.script_team) && var_08.script_team == "axis") + { + var_05[var_05.size] = var_08; + } + } + + var_05 = maps\_utility::array_removedead(var_05); + var_0A = []; + for(var_0B = 0;var_0B < var_05.size;var_0B++) + { + var_0C = var_05[var_0B]; + if(isdefined(var_0C.vehicle_position)) + { + continue; + } + + if(distancesquared(self.origin,var_0C.origin) > 5000000) + { + continue; + } + + if(!self canshoot(var_0C getcentroid())) + { + continue; + } + + if(!within_angle(var_0C,self.rightaimlimit,self.leftaimlimit,self.upaimlimit,self.downaimlimit)) + { + continue; + } + + var_0A[var_0A.size] = var_0C; + } + + var_0D = -1; + var_0E = 9999999; + for(var_0B = 0;var_0B < var_0A.size;var_0B++) + { + if(length(self.origin - var_0A[var_0B].origin) < var_0E) + { + var_0D = var_0B; + var_0E = length(self.origin - var_0A[var_0B].origin); + } + } + + if(var_0D > -1) + { + self.enemy_custom = var_0A[var_0D]; + } + + var_04 = self.enemy_custom; + wait(var_03); + } +} + +//Function Number: 3 +within_angle(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = get_diff_angles_from_facing(param_00); + var_06 = var_05[0]; + var_07 = var_05[1]; + if(var_07 >= param_01 && var_07 <= param_02 && var_06 >= param_03 && var_06 <= param_04) + { + return 1; + } + + return 0; +} + +//Function Number: 4 +gettagangles_c(param_00) +{ + var_01 = self gettagangles(param_00); + if(param_00 == "TAG_SYNC") + { + var_01 = combineangles(var_01,(0,180,0)); + } + + return var_01; +} + +//Function Number: 5 +get_world_pitch_yaw_between_vectors(param_00,param_01) +{ + param_00 = vectornormalize(param_00); + var_02 = angleclamp360(param_00[0],param_00[1]); + var_03 = asin(param_00[2]); + param_01 = vectornormalize(param_01); + var_04 = angleclamp360(param_01[0],param_01[1]); + var_05 = asin(param_01[2]); + var_06 = param_01 - param_00; + var_07 = angleclamp360(var_06[0],var_06[1]); + var_08 = asin(var_06[2]); + return [var_05 - var_03,var_04 - var_02]; +} + +//Function Number: 6 +get_diff_angles_from_facing(param_00,param_01) +{ + return get_diff_angles_from_tag_to_guy("J_gun","TAG_SYNC",param_00,param_01); +} + +//Function Number: 7 +get_diff_angles_from_gun(param_00,param_01) +{ + return get_diff_angles_from_tag_to_guy("TAG_FLASH","TAG_FLASH",param_00,param_01); +} + +//Function Number: 8 +get_diff_angles_from_tag_to_guy(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_03)) + { + param_03 = 1; + } + + var_04 = (0.3,0,0); + var_05 = (1,0,0); + var_06 = param_02 quarter_up_position(); + var_07 = self gettagorigin(param_00); + var_08 = gettagangles_c(param_01); + var_09 = anglestoforward(var_08); + var_0A = var_06 - var_07; + var_0B = vectortoangles(var_0A); + var_0C = rotatevectorinverted(var_09,var_0B); + var_0D = anglestoforward((0,0,0)); + var_0E = get_world_pitch_yaw_between_vectors(var_0D,var_0C); + var_0F = var_0E[0]; + var_10 = var_0E[1]; + return [var_0F,var_10]; +} + +//Function Number: 9 +ender_cleanup(param_00,param_01,param_02,param_03,param_04,param_05) +{ + self waittill(param_05); + self clearanim(param_00,0); + self clearanim(param_01,0); + self clearanim(param_02,0); + self clearanim(param_03,0); + self clearanim(param_04,0); +} + +//Function Number: 10 +rotate_to_goal(param_00,param_01,param_02,param_03) +{ + if(param_01 > param_00 + 0.5) + { + param_00 = param_00 + 0.5; + } + else if(param_01 < param_00 - 0.5) + { + param_00 = param_00 - 0.5; + } + else + { + param_00 = param_01; + } + + if(param_03 > param_02 + 0.5) + { + param_02 = param_02 + 0.5; + } + else if(param_03 < param_02 - 0.5) + { + param_02 = param_02 - 0.5; + } + else + { + param_02 = param_03; + } + + return [param_00,param_02]; +} + +//Function Number: 11 +rotate_until_no_diff(param_00,param_01,param_02,param_03) +{ + var_04 = 0; + var_05 = 0; + if(abs(param_03) < 5) + { + if(param_01 > 0) + { + var_04 = param_01 * 0.1; + } + else + { + var_04 = param_01 * 0.1; + } + + param_00 = param_00 + var_04; + } + + if(param_03 > 0) + { + var_05 = param_03 * 0.1; + } + else + { + var_05 = param_03 * 0.1; + } + + param_02 = param_02 + var_05; + if(param_00 < self.upaimlimit) + { + param_00 = self.upaimlimit; + } + + if(param_00 > self.downaimlimit) + { + param_00 = self.downaimlimit; + } + + if(param_02 > self.leftaimlimit) + { + param_02 = self.leftaimlimit; + } + + if(param_02 < self.rightaimlimit) + { + param_02 = self.rightaimlimit; + } + + return [param_00,param_02]; +} + +//Function Number: 12 +quarter_up_position() +{ + var_00 = self getcentroid()[2] - self.origin[2]; + return (self.origin[0],self.origin[1],self.origin[2] + var_00 * 0.5); +} + +//Function Number: 13 +get_shoot_pos_with_offset() +{ + var_00 = quarter_up_position(); + if(isdefined(self.vehicletype) && self.vehicletype == "diveboat_ai") + { + var_01 = randomfloatrange(-70,-50); + var_02 = randomfloatrange(-70,-50); + var_03 = 0; + var_00 = var_00 + (var_01,var_02,var_03); + } + + return var_00; +} + +//Function Number: 14 +heli_custom_fireuntiloutofammo(param_00,param_01,param_02) +{ + self.heli_action_status = 1; + self setanimlimited(param_00,1,0); + self.shootstyle = "full"; + self.shootpos = self.enemy_custom get_shoot_pos_with_offset(); + self.fastburst = 0; + self.shootent = undefined; + animscripts\combat_utility::fireuntiloutofammo(param_01,0,100); + self clearanim(param_01,0); + if(need_to_reload()) + { + heli_custom_reload(param_00,param_02); + } + + self.heli_action_status = 0; +} + +//Function Number: 15 +need_to_reload() +{ + if(self.bulletsinclip <= 0) + { + return 1; + } + + var_00 = self.bulletsinclip / weaponclipsize(self.weapon); + var_01 = weaponclipsize(self.weapon) - self.bulletsinclip; + var_02 = getdvarfloat("cg_fov"); + if(var_00 < 0.75 || var_01 > 50 && randomfloat(100) < 100 - min(100,var_01) && level.player worldpointinreticle_circle(self.origin,var_02,250)) + { + return 1; + } + + return 0; +} + +//Function Number: 16 +heli_custom_reload(param_00,param_01) +{ + self.heli_action_status = 2; + self setanimlimited(param_00,1,0); + var_02 = "reload_" + animscripts\combat_utility::getuniqueflagnameindex(); + self setflaggedanimknobrestart(var_02,param_01,1,0.2); + animscripts\shared::donotetracks(var_02); + self notify("abort_reload"); + animscripts\weaponlist::refillclip(); + self clearanim(param_01,0); + self.heli_action_status = 0; +} + +//Function Number: 17 +aim_additives_think(param_00) +{ + self endon("death"); + self endon(param_00); + var_01 = %fin_flying_mech_aim_6; + var_02 = %fin_flying_mech_firing_right; + var_03 = %fin_flying_mech_aim_4; + var_04 = %fin_flying_mech_firing_left; + var_05 = %fin_flying_mech_aim_8; + var_06 = %fin_flying_mech_firing_aim_up; + var_07 = %fin_flying_mech_aim_2; + var_08 = %fin_flying_mech_firing_down; + var_09 = %fin_flying_mech_action_root; + var_0A = %fin_flying_mech_firing_fire_auto; + var_0B = %fin_flying_mech_firing_reload; + var_0C = get_aim_limits(var_01,var_03,var_05,var_07,var_02,var_04,var_06,var_08,1); + var_0D = var_0C[0]; + var_0E = var_0C[1]; + var_0F = var_0C[2]; + var_10 = var_0C[3]; + self.rightaimlimit = var_0D; + self.leftaimlimit = var_0E; + self.upaimlimit = var_0F; + self.downaimlimit = var_10; + thread ender_cleanup(var_01,var_03,var_05,var_07,var_09,param_00); + self setanim(var_03,0.01,0); + self setanim(var_04,1,0); + self setanimtime(var_04,1); + self setanim(var_01,0.01,0); + self setanim(var_02,1,0); + self setanimtime(var_02,1); + self setanim(var_07,0.01,0); + self setanim(var_08,1,0); + self setanimtime(var_08,1); + self setanim(var_05,0.01,0); + self setanim(var_06,1,0); + self setanimtime(var_06,1); + var_11 = 0; + var_12 = 0; + var_13 = 0; + var_14 = 0; + var_15 = 999; + var_16 = 999; + self.heli_action_status = 0; + self.enemy_custom_fire_ok_time = 0; + var_17 = 0.1; + if(isdefined(self.aimblendtime)) + { + var_17 = self.aimblendtime; + } + + for(;;) + { + if(isdefined(self.enemy_custom)) + { + var_18 = get_diff_angles_from_gun(self.enemy_custom,0); + var_15 = var_18[0]; + var_16 = var_18[1]; + } + else + { + var_15 = 0; + var_16 = 0; + } + + if(isdefined(self.enemy_custom) && gettime() > self.enemy_custom_fire_ok_time && abs(var_15) < 10 && abs(var_16) < 10) + { + if(self.heli_action_status == 0) + { + childthread heli_custom_fireuntiloutofammo(var_09,var_0A,var_0B); + } + } + else if(self.heli_action_status == 1) + { + self notify("enemy"); + if(self getanimweight(var_0A) > 0) + { + self clearanim(var_0A,0); + } + + self.heli_action_status = 0; + } + + if(self.heli_action_status != 2) + { + if(abs(var_15) > 0 || abs(var_16) > 0) + { + var_19 = rotate_until_no_diff(var_14,var_15,var_13,var_16); + var_14 = var_19[0]; + var_13 = var_19[1]; + } + + if(isdefined(var_14)) + { + if(var_14 == 0) + { + self setanim(var_07,0.001,0.05,1,1); + self setanim(var_05,0.001,0.05,1,1); + } + else if(var_14 < 0) + { + self setanim(var_07,0.001,0.05,1,1); + self setanim(var_05,absz(var_14 / self.upaimlimit),0.05,1,1); + } + else + { + self setanim(var_07,absz(var_14 / self.downaimlimit),0.05,1,1); + self setanim(var_05,0.001,0.05,1,1); + } + } + + if(isdefined(var_13)) + { + if(var_13 == 0) + { + self setanim(var_03,0.001,0.05,1,1); + self setanim(var_01,0.001,0.05,1,1); + } + else if(var_13 > 0) + { + self setanim(var_03,absz(var_13 / self.leftaimlimit),0.05,1,1); + self setanim(var_01,0.001,0.05,1,1); + } + else + { + self setanim(var_03,0.001,0.05,1,1); + self setanim(var_01,absz(var_13 / self.rightaimlimit),0.05,1,1); + } + } + } + + self setanimtime(var_02,1); + self setanimtime(var_04,1); + self setanimtime(var_06,1); + self setanimtime(var_08,1); + wait 0.05; + } +} + +//Function Number: 18 +absz(param_00) +{ + param_00 = abs(param_00); + if(param_00 > 1) + { + param_00 = 1; + } + + if(param_00 == 0) + { + return 0.001; + } + + return param_00; +} + +//Function Number: 19 +get_aim_limits(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + var_09 = 1; + var_0A = get_limit_table(param_00,param_04,1,param_08,var_09); + var_0B = get_limit_table(param_01,param_05,1,param_08,var_09); + var_0C = get_limit_table(param_02,param_06,0,param_08,var_09); + var_0D = get_limit_table(param_03,param_07,0,param_08,var_09); + var_0E = float(getfirstarraykey(var_0A)); + var_0F = float(getfirstarraykey(var_0B)); + var_10 = float(getfirstarraykey(var_0C)); + var_11 = float(getfirstarraykey(var_0D)); + self.dummy_model delete(); + return [var_0E,var_0F,var_10,var_11]; +} + +//Function Number: 20 +get_limit(param_00,param_01,param_02,param_03,param_04) +{ + return get_limit_table(param_00,param_01,param_02,param_03,1); +} + +//Function Number: 21 +get_limit_table(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = undefined; + if(!isdefined(param_03) || param_03) + { + if(!isdefined(self.dummy_model)) + { + self.dummy_model = maps\_utility::spawn_anim_model(self.animname,(0,-300,0),(0,0,0)); + if(isdefined(self.weapon)) + { + var_06 = getweaponmodel(self.weapon); + self.dummy_model attach(var_06,"tag_weapon_right"); + self.dummy_model maps\_utility::update_weapon_tag_visibility(self.weapon); + } + + if(param_04) + { + self.dummy_model hide(); + } + + self.dummy_model thread maps\_anim::anim_first_frame_solo(self.dummy_model,"intro_flyin_idle_test"); + } + + var_05 = self.dummy_model; + } + else + { + var_05 = self; + } + + var_07 = 0.025; + var_08 = []; + var_09 = 0; + var_0A = 1; + if(!isdefined(param_01) || !isdefined(param_00)) + { + var_08["0"] = 0; + var_08["1"] = 0; + return var_08; + } + + var_05 setanimlimited(param_00,1,0); + var_05 setanimknoblimited(param_01,1,0); + var_05 setanimtime(param_01,1); + while(var_0A >= 0) + { + var_05 setanimlimited(param_00,var_0A,0); + wait 0.05; + var_0B = var_05 gettagangles("TAG_FLASH"); + var_0C = var_05.angles; + var_0D = invertangles(var_0C); + var_0E = combineangles(var_0B,var_0D); + var_08[maps\_utility::string(angleclamp180(var_0E[param_02]))] = var_0A; + var_0A = 1 - var_09 * var_07; + var_09++; + if(param_04) + { + break; + } + } + + var_05 clearanim(param_00,0); + return var_08; +} \ No newline at end of file diff --git a/AW/PC/maps/finale_lighting.gsc b/AW/PC/maps/finale_lighting.gsc new file mode 100644 index 0000000..7c1a77e --- /dev/null +++ b/AW/PC/maps/finale_lighting.gsc @@ -0,0 +1,1725 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: finale_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 114 + * Decompile Time: 1605 ms + * Timestamp: 4/22/2024 2:29:21 AM +*******************************************************************/ + +//Function Number: 1 +main2() +{ + thread set_level_lighting_values(); + thread manage_day_night(); + thread manage_dof(); + thread underwater_sunrays(); + thread init_level_lighting_flags(); + thread hide_on_models(); + thread motion_manage(); + thread trigger_canal_p1(); + thread trigger_canal_p2(); + thread trigger_silo_p1(); + thread trigger_enter_finale_silo_orange_approach(); + thread trigger_flashlight_off(); + thread trigger_enter_finale_silo_orange(); + thread trigger_enter_finale_silo_blue(); + thread cg_trigger_enter_finale_silo_yellow(); + thread cg_trigger_enter_finale_silo_neutral(); + thread trigger_enter_finale_silo_round_tunnel(); + thread trigger_enter_finale_silo_center(); + thread trigger_enter_vision_light_fog_normal(); + thread trigger_enter_finale_low_burn(); + thread trigger_science_room(); + thread trigger_ending(); + thread trigger_ending2(); + precacheshader("ac130_overlay_pip_vignette"); + thread setup_flickerlight_motion_presets(); + thread setup_flickerlight_presets2(); + thread trigger_silo_centroid_switch_floor3(); + thread trigger_silo_centroid_switch_top(); + thread atlas_sign_flicker(); +} + +//Function Number: 2 +init_level_lighting_flags() +{ + common_scripts\utility::flag_init("first_half_lighting"); + common_scripts\utility::flag_init("second_half_lighting"); + common_scripts\utility::flag_init("turn_on_lights"); + common_scripts\utility::flag_init("flyin_mb"); + common_scripts\utility::flag_init("underwater_lighting"); + common_scripts\utility::flag_init("stair_lights_on"); + common_scripts\utility::flag_init("flag_dof_rocket_success_pt2_start"); + common_scripts\utility::flag_init("flag_lighting_rocket_success_pt2_gideon_run"); + common_scripts\utility::flag_init("flag_autofocus_on"); + common_scripts\utility::flag_init("lighting_target_dof"); +} + +//Function Number: 3 +set_level_lighting_values() +{ + if(level.nextgen) + { + setsaveddvar("r_hemiAoEnable",1); + } + + if(isusinghdr()) + { + setsaveddvar("r_disableLightSets",0); + setsaveddvar("r_tonemapMinExposureAdjust",-7.4919); + setsaveddvar("sm_usedSunCascadeCount",2); + setsaveddvar("sm_sunSampleSizeNear",0.2); + setsaveddvar("r_fog_ev_adjust",1); + } +} + +//Function Number: 4 +lerp_origin_function(param_00,param_01,param_02) +{ + param_00 notify("stop lerp"); + param_00 endon("stop lerp"); + param_00 endon("death"); + var_03 = param_00.origin; + var_04 = 0; + while(var_04 < param_01) + { + param_00.origin = vectorlerp(var_03,param_02,var_04 / param_01); + var_04 = var_04 + 0.05; + wait(0.05); + } + + param_00.origin = param_02; +} + +//Function Number: 5 +lerp_angles_function(param_00,param_01,param_02) +{ + param_00 notify("stop lerp"); + param_00 endon("stop lerp"); + param_00 endon("death"); + var_03 = param_00.angles; + var_04 = 0; + while(var_04 < param_01) + { + param_00.angles = vectorlerp(var_03,param_02,var_04 / param_01); + var_04 = var_04 + 0.05; + wait(0.05); + } + + param_00.angles = param_02; +} + +//Function Number: 6 +enable_motion_blur() +{ + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + } +} + +//Function Number: 7 +enable_motion_blur_rotation() +{ + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + } +} + +//Function Number: 8 +disable_motion_blur() +{ + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + } +} + +//Function Number: 9 +setup_dof_presets() +{ + maps\_lighting::create_dof_preset("fall",10,18,10,25,150,4,0.5); +} + +//Function Number: 10 +setup_dof_viewmodel_presets() +{ + maps\_lighting::create_dof_viewmodel_preset("bike_vm_dof",10,90); +} + +//Function Number: 11 +setup_flickerlight_presets() +{ + maps\_lighting::create_flickerlight_preset("fire2",(0.972549,0.62451,1),(0.2,0.1462746,1),0.2,1,80000); +} + +//Function Number: 12 +setup_flickerlight_motion_presets() +{ + maps\_lighting::create_flickerlight_motion_preset("firelight_motion_red_burn",(1,0.2246,0),32000,20,0.05,0.2); + maps\_lighting::create_flickerlight_motion_preset("firelight_motion_red_burn_exhaust",(1,0.2246,0),800000,20,0.05,0.2); + maps\_lighting::create_flickerlight_motion_preset("firelight_motion_cold_burn",(1,1,1),320000,10,0.03,0.1); + maps\_lighting::create_flickerlight_motion_preset("firelight_motion_large_ending",(1,0.3,0),1400000,7,0.05,0.2); + maps\_lighting::create_flickerlight_motion_preset("firelight_motion_large_atlas",(1,0.3,0),100000,7,0.05,0.2); + maps\_lighting::create_flickerlight_motion_preset("firelight_motion_large_ending2",(1,0.3,0),10000,7,0.05,0.2); + maps\_lighting::create_flickerlight_motion_preset("firelight_motion_large_ending3",(1,0.3,0),5000,7,0.05,0.2); + maps\_lighting::create_flickerlight_motion_preset("firelight_motion_med_ending",(1,0.3,0),30000,7,0.05,0.2); + maps\_lighting::create_flickerlight_motion_preset("firelight_motion_med_ending2",(1,0.3,0),6000,7,0.05,0.2); + maps\_lighting::create_flickerlight_motion_preset("firelight_motion_med_ending3",(1,0.2,0.05),5000,7,0.05,0.2); +} + +//Function Number: 13 +setup_flickerlight_presets2() +{ + maps\_lighting::create_flickerlight_preset("firelight_med_ending",(1,0.2246,0),(0.46,0.16,0.06),0.005,0.2,8); + maps\_lighting::create_flickerlight_preset("firelight_large_ending3",(1,0.2246,0),(0.46,0.16,0.06),0.005,0.2,8); + maps\_lighting::create_flickerlight_preset("firelight_med_ending2",(1,0.2246,0),(0.46,0.16,0.06),0.005,0.2,8); +} + +//Function Number: 14 +manage_dof() +{ + if(level.nextgen) + { + level.player enablephysicaldepthoffieldscripting(); + level.player_dof_aperture = 4.5; + level.player_dof_distance = 30; + } +} + +//Function Number: 15 +trigger_canal_p1() +{ + common_scripts\utility::run_thread_on_targetname("canal_p1",::canal_p1); +} + +//Function Number: 16 +canal_p1() +{ + for(;;) + { + self waittill("trigger"); + if(level.nextgen) + { + maps\_utility::vision_set_fog_changes("finale_underwater",3); + level.player setclutforplayer("clut_finale_underwater",0); + level.player lightsetforplayer("underwater_lightset"); + } + else if(level.currentgen) + { + maps\_utility::vision_set_fog_changes("finale_underwater",0.1); + level.player lightsetforplayer("underwater_lightset"); + } + + while(level.player istouching(self)) + { + wait(0.1); + } + } +} + +//Function Number: 17 +trigger_canal_p2() +{ + common_scripts\utility::run_thread_on_targetname("canal_p2",::canal_p2); +} + +//Function Number: 18 +canal_p2() +{ + for(;;) + { + self waittill("trigger"); + maps\_utility::vision_set_fog_changes("finale_underwater_darkfog",3); + level.player lightsetforplayer("canal_p2"); + while(level.player istouching(self)) + { + wait(0.1); + } + } +} + +//Function Number: 19 +trigger_silo_p1() +{ + common_scripts\utility::run_thread_on_targetname("silo_p1",::silo_p1); +} + +//Function Number: 20 +silo_p1() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("finale_silo_orange"); + maps\_utility::vision_set_fog_changes("finale_silo_orange",0); + while(level.player istouching(self)) + { + wait(0.1); + } + } +} + +//Function Number: 21 +trigger_flashlight_off() +{ + common_scripts\utility::run_thread_on_targetname("trig_flashlight_off",::play_trigger_flashlight_off); +} + +//Function Number: 22 +play_trigger_flashlight_off() +{ + for(;;) + { + self waittill("trigger"); + common_scripts\utility::flag_clear("underwater_flashlight"); + while(level.player istouching(self)) + { + wait(0.1); + } + } +} + +//Function Number: 23 +trigger_enter_finale_silo_orange_approach() +{ + common_scripts\utility::run_thread_on_targetname("trig_fog_silo_orange_approach",::play_finale_silo_orange_approach); +} + +//Function Number: 24 +play_finale_silo_orange_approach() +{ + for(;;) + { + self waittill("trigger"); + level.player setclutforplayer("clut_finale_orange_silo_approach_density",2); + level.player lightsetforplayer("finale_silo_orange"); + maps\_utility::vision_set_fog_changes("finale_silo_orange",1); + while(level.player istouching(self)) + { + wait(0.1); + } + } +} + +//Function Number: 25 +trigger_enter_finale_silo_orange() +{ + common_scripts\utility::run_thread_on_targetname("trig_fog_silo_orange",::play_finale_silo_orange); +} + +//Function Number: 26 +play_finale_silo_orange() +{ + for(;;) + { + self waittill("trigger"); + level.player setclutforplayer("",2); + level.player lightsetforplayer("finale_silo_orange"); + maps\_utility::vision_set_fog_changes("finale_silo_orange",1); + while(level.player istouching(self)) + { + wait(0.1); + } + } +} + +//Function Number: 27 +trigger_enter_finale_silo_blue() +{ + common_scripts\utility::run_thread_on_targetname("trig_fog_silo_blue",::play_finale_silo_blue); +} + +//Function Number: 28 +play_finale_silo_blue() +{ + for(;;) + { + self waittill("trigger"); + level.player setclutforplayer("clut_finale_silo_blue",2); + level.player lightsetforplayer("finale_silo_blue"); + maps\_utility::vision_set_fog_changes("finale_silo_blue",1); + while(level.player istouching(self)) + { + wait(0.1); + } + } +} + +//Function Number: 29 +cg_trigger_enter_finale_silo_yellow() +{ + common_scripts\utility::run_thread_on_targetname("trig_fog_silo_yellow",::play_finale_silo_yellow); +} + +//Function Number: 30 +play_finale_silo_yellow() +{ + for(;;) + { + self waittill("trigger"); + level.player setclutforplayer("",2); + level.player lightsetforplayer("finale_silo_orange"); + maps\_utility::vision_set_fog_changes("finale_silo_yellow",1); + while(level.player istouching(self)) + { + wait(0.1); + } + } +} + +//Function Number: 31 +cg_trigger_enter_finale_silo_neutral() +{ + common_scripts\utility::run_thread_on_targetname("trig_fog_silo_neutral",::play_finale_silo_neutral); +} + +//Function Number: 32 +play_finale_silo_neutral() +{ + for(;;) + { + self waittill("trigger"); + level.player setclutforplayer("",2); + level.player lightsetforplayer("finale_silo_orange"); + maps\_utility::vision_set_fog_changes("finale_silo_neutral",1); + while(level.player istouching(self)) + { + wait(0.1); + } + } +} + +//Function Number: 33 +trigger_enter_finale_silo_round_tunnel() +{ + common_scripts\utility::run_thread_on_targetname("trig_fog_silo_round_tunnel",::play_finale_silo_round_tunnel); +} + +//Function Number: 34 +play_finale_silo_round_tunnel() +{ + for(;;) + { + self waittill("trigger"); + level.player setclutforplayer("clut_finale_round_tunnel",2); + level.player lightsetforplayer("finale_silo_blue"); + maps\_utility::vision_set_fog_changes("finale_silo_blue",1); + while(level.player istouching(self)) + { + wait(0.1); + } + } +} + +//Function Number: 35 +trigger_enter_finale_silo_center() +{ + common_scripts\utility::run_thread_on_targetname("trig_fog_silo_center",::play_finale_silo_center); +} + +//Function Number: 36 +play_finale_silo_center() +{ + for(;;) + { + self waittill("trigger"); + level.player setclutforplayer("",2); + setsunflareposition((-64.7,29.9,0)); + level.player lightsetforplayer("finale_silo_center"); + maps\_utility::vision_set_fog_changes("finale_silo_center",1); + while(level.player istouching(self)) + { + wait(0.1); + } + } +} + +//Function Number: 37 +trigger_enter_vision_light_fog_normal() +{ + common_scripts\utility::run_thread_on_targetname("trig_fog_normal",::play_vision_light_fog_normal); +} + +//Function Number: 38 +play_vision_light_fog_normal() +{ + for(;;) + { + self waittill("trigger"); + while(level.player istouching(self)) + { + wait(0.1); + } + } +} + +//Function Number: 39 +trigger_enter_finale_low_burn() +{ + common_scripts\utility::run_thread_on_targetname("trig_fog_low_burn",::play_finale_low_burn); +} + +//Function Number: 40 +trigger_science_room() +{ + common_scripts\utility::run_thread_on_targetname("science_room",::science_room); +} + +//Function Number: 41 +science_room() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("finale_will_litend"); + while(level.player istouching(self)) + { + wait(0.1); + } + } +} + +//Function Number: 42 +trigger_ending() +{ + common_scripts\utility::run_thread_on_targetname("ending",::ending); +} + +//Function Number: 43 +ending() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("finale_night"); + level notify("leave_will_room"); + while(level.player istouching(self)) + { + wait(0.1); + } + } +} + +//Function Number: 44 +trigger_ending2() +{ + common_scripts\utility::run_thread_on_targetname("ending2",::ending2); +} + +//Function Number: 45 +ending2() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("finale_night2"); + while(level.player istouching(self)) + { + wait(0.1); + } + } +} + +//Function Number: 46 +trigger_silo_centroid_switch_floor3() +{ + common_scripts\utility::run_thread_on_targetname("trig_silo_centroid_switch_floor3",::play_centroid_switch_floor3); +} + +//Function Number: 47 +play_centroid_switch_floor3() +{ + for(;;) + { + self waittill("trigger"); + thread main_missle_lighting_floor3(); + while(level.player istouching(self)) + { + wait(0.1); + } + } +} + +//Function Number: 48 +trigger_silo_centroid_switch_top() +{ + common_scripts\utility::run_thread_on_targetname("trig_silo_centroid_switch_top",::play_centroid_switch_top); +} + +//Function Number: 49 +play_centroid_switch_top() +{ + for(;;) + { + self waittill("trigger"); + thread main_missle_lighting_silotop(); + while(level.player istouching(self)) + { + wait(0.1); + } + } +} + +//Function Number: 50 +debug_silo_approach_clut() +{ + wait(0.05); + level.player setclutforplayer("clut_finale_orange_silo_approach_density",1); +} + +//Function Number: 51 +debug_silo_floor_03_clut() +{ + wait(0.05); + level.player setclutforplayer("clut_finale_silo_blue",1); +} + +//Function Number: 52 +debug_silo_door_kick_clut() +{ + wait(0.05); + level.player setclutforplayer("",2); +} + +//Function Number: 53 +debug_silo_exhaust_entrance_clut() +{ + wait(0.05); + level.player setclutforplayer("clut_finale_round_tunnel",1); +} + +//Function Number: 54 +hatch_lighting() +{ + enable_motion_blur(); + thread hatch_dof(); + level.player lightsetforplayer("finale_hatch"); + maps\_utility::vision_set_fog_changes("finale_hatch",2); + common_scripts\_exploder::exploder("4000"); + wait(1.5); + level.player setclutforplayer("clut_finale_silo_shaft",2); +} + +//Function Number: 55 +hatch_dof() +{ + thread hatch_land_blur(); + level.player enablephysicaldepthoffieldscripting(); + setsaveddvar("r_dof_physical_bokehEnable",1); + level.player setphysicaldepthoffield(12,33); + wait(1); + level.player setphysicaldepthoffield(1.5,33,1,2); +} + +//Function Number: 56 +hatch_land_blur() +{ + common_scripts\utility::flag_wait("flag_lighting_fall_blur"); + wait(0.5); + setblur(40,0.5); + wait(0.1); + setblur(0,0.8); +} + +//Function Number: 57 +play_finale_low_burn() +{ + for(;;) + { + self waittill("trigger"); + level.player setphysicaldepthoffield(12,33,1,2); + setsaveddvar("r_dof_physical_bokehEnable",0); + setsunflareposition((0,180,0)); + level.player setclutforplayer("clut_finale_burn_pre",4); + var_00 = getent("light_rocket_exhaust","targetname"); + maps\_lighting::set_spot_intensity("light_rocket_exhaust",4000); + maps\_lighting::set_spot_color("light_rocket_exhaust",(0.156863,0.313726,0.847059)); + level.player lightsetforplayer("finale_low_burn"); + maps\_utility::vision_set_fog_changes("finale_low_burn",2); + var_01 = common_scripts\utility::getstruct("struct_light_silo_cine_low_burn_rim","targetname"); + var_02 = getent("light_rocket_rim","targetname"); + maps\_lighting::set_spot_intensity("light_rocket_rim",300000); + maps\_lighting::set_spot_color("light_rocket_rim",(0.255,0.376,1)); + var_02 maps\_lighting::lerp_light_fov_range(30,5,30,1,0.05); + var_02 setlightradius(285); + wait(5); + lerp_origin_function(var_02,0.05,var_01.origin); + lerp_angles_function(var_02,0.05,var_01.angles); + common_scripts\_exploder::kill_exploder("4000"); + while(level.player istouching(self)) + { + wait(0.1); + } + } +} + +//Function Number: 58 +red_burn_lighting_fog() +{ + var_00 = getent("light_rocket_exhaust","targetname"); + level.player setclutforplayer("clut_finale_burn_red",2.6); + level.player lightsetforplayer("finale_red_burn"); + maps\_utility::vision_set_fog_changes("finale_red_burn",2.6); + var_00 maps\_lighting::lerp_light_fov_range(90,60,30,5,0.05); + maps\_lighting::play_flickerlight_motion_preset("firelight_motion_red_burn_exhaust","light_rocket_exhaust"); + maps\_lighting::play_flickerlight_motion_preset("firelight_motion_red_burn","light_rocket_thrusters"); +} + +//Function Number: 59 +cold_burn_lighting_fog() +{ + level.player setclutforplayer("",1); + level.player lightsetforplayer("finale_cold_burn"); + maps\_utility::vision_set_fog_changes("finale_cold_burn",8); + maps\_lighting::stop_flickerlight("firelight_motion_red_burn","light_rocket_exhaust",0); + maps\_lighting::stop_flickerlight("firelight_motion_red_burn","light_rocket_thrusters",0); + maps\_lighting::play_flickerlight_motion_preset("firelight_motion_cold_burn","light_rocket_exhaust"); + maps\_lighting::play_flickerlight_motion_preset("firelight_motion_cold_burn","light_rocket_thrusters"); + thread rocket_fail_lighting(); +} + +//Function Number: 60 +rocket_success_lighting_pre_cine() +{ + common_scripts\utility::flag_wait("lighting_flag_obj_stop_missile_complete"); + level.player lightsetforplayer("finale_silo_end_cine"); + maps\_utility::vision_set_fog_changes("finale_silo_end_cine",10); + maps\_lighting::pause_flickerlight("firelight_motion_cold_burn","light_rocket_exhaust"); + maps\_lighting::pause_flickerlight("firelight_motion_cold_burn","light_rocket_thrusters"); + maps\_lighting::lerp_spot_intensity("light_rocket_thrusters",2,8000); + maps\_lighting::lerp_spot_color("light_rocket_thrusters",2,(1,0.608,0.459)); + wait(0.5); + setsunflareposition((278.8,602,0)); +} + +//Function Number: 61 +rocket_success_dof_debugging(param_00) +{ + iprintlnbold("dof timing debug START"); + wait(1.65); + iprintlnbold("ground hit"); + wait(3.75); + iprintlnbold("rocket left direction switch"); + wait(10.2); + iprintlnbold("Gideon enter (whole head just in frame"); +} + +//Function Number: 62 +rocket_success_pt2_lighting_debugging(param_00) +{ + common_scripts\utility::flag_set("flag_dof_rocket_success_pt2_start"); +} + +//Function Number: 63 +rocket_success_pt2_gideon_in_frame(param_00) +{ + common_scripts\utility::flag_set("flag_lighting_rocket_success_pt2_gideon_run"); +} + +//Function Number: 64 +rocket_cine_dof(param_00) +{ + level.player enablephysicaldepthoffieldscripting(); + setsaveddvar("r_dof_physical_bokehEnable",1); + enable_motion_blur_rotation(); + level.player setphysicaldepthoffield(12,100); + wait(2); + level.player setphysicaldepthoffield(1.5,36,5,2); + wait(2); + level.player setphysicaldepthoffield(1.5,500,5,2); + wait(1); + level.player setphysicaldepthoffield(0.3,72,5,2); + wait(1); + level.player setphysicaldepthoffield(1.5,600,5,2); + wait(2.5); + level.player setphysicaldepthoffield(0.5,72,5,2); + common_scripts\utility::flag_wait("flag_dof_rocket_success_pt2_start"); + level.player setphysicaldepthoffield(2.5,22,5,2); + wait(3); + level.player setphysicaldepthoffield(4,85,10,10); + wait(0.5); + level.player setphysicaldepthoffield(1.5,43,2,4); + wait(1); + level.player setphysicaldepthoffield(1,21,1,2); + wait(1); + level.player setphysicaldepthoffield(2.5,22,5,2); + wait(4.25); + level.player setphysicaldepthoffield(2,21.5,5,2); + wait(1.25); + level.player setphysicaldepthoffield(2.5,23,5,2); + wait(2); + level.player setphysicaldepthoffield(2.5,27.2,5,2); + wait(1.75); + level.player setphysicaldepthoffield(2.5,23.8,5,2); + wait(2); + level.player setphysicaldepthoffield(2.5,27.3,5,2); + wait(1); + level.player setphysicaldepthoffield(2.5,13.6,5,2); + wait(4); + setsaveddvar("r_dof_physical_bokehEnable",0); + level.player disablephysicaldepthoffieldscripting(); + disable_motion_blur(); +} + +//Function Number: 65 +play_finale_silo_end_cine() +{ + level.player lightsetforplayer("finale_silo_end_cine"); + maps\_utility::vision_set_fog_changes("finale_silo_end_cine",1); + var_00 = getent("light_rocket_exhaust","targetname"); + var_01 = getent("light_rocket_thrusters","targetname"); + var_02 = getent("light_rocket_rim","targetname"); + var_00 setlightshadowstate("force_on"); + var_01 setlightshadowstate("force_on"); + var_02 setlightshadowstate("force_on"); + var_03 = common_scripts\utility::getstruct("struct_light_silo_cine_key_1","targetname"); + var_04 = common_scripts\utility::getstruct("struct_light_silo_cine_key_2_alt3","targetname"); + var_05 = common_scripts\utility::getstruct("struct_light_silo_cine_key_2","targetname"); + var_06 = common_scripts\utility::getstruct("struct_light_silo_cine_key_2_alt2","targetname"); + var_07 = common_scripts\utility::getstruct("struct_light_silo_cine_fill_1","targetname"); + var_08 = common_scripts\utility::getstruct("struct_light_silo_cine_fill_2","targetname"); + var_09 = common_scripts\utility::getstruct("struct_light_silo_cine_rim_1","targetname"); + var_0A = common_scripts\utility::getstruct("struct_light_silo_cine_rim_2","targetname"); + var_0B = common_scripts\utility::getstruct("struct_light_silo_cine_rim_2_alt1","targetname"); + var_0C = common_scripts\utility::getstruct("struct_light_silo_cine_rim_2_alt2","targetname"); + level.player lightsetforplayer("finale_silo_end_cine"); + maps\_utility::vision_set_fog_changes("finale_silo_end_cine",1); + maps\_lighting::stop_flickerlight("firelight_motion_cold_burn","light_rocket_thrusters",0); + maps\_lighting::stop_flickerlight("firelight_motion_cold_burn","light_rocket_exhaust",0); + maps\_lighting::set_spot_intensity("light_rocket_exhaust",240000); + maps\_lighting::set_spot_color("light_rocket_exhaust",(0.352,0.541,1)); + var_00 maps\_lighting::lerp_light_fov_range(30,5,85,15,0.05); + lerp_origin_function(var_00,0.05,var_04.origin); + lerp_angles_function(var_00,0.05,var_04.angles); + maps\_lighting::set_spot_intensity("light_rocket_thrusters",10000); + maps\_lighting::set_spot_color("light_rocket_thrusters",(0.565,0.643,0.937)); + var_01 maps\_lighting::lerp_light_fov_range(90,60,35,1,0.05); + lerp_origin_function(var_01,0.05,var_07.origin); + lerp_angles_function(var_01,0.05,var_07.angles); + maps\_lighting::set_spot_intensity("light_rocket_rim",20000); + maps\_lighting::set_spot_color("light_rocket_rim",(0.75,0.5,0.4)); + var_02 maps\_lighting::lerp_light_fov_range(90,60,25,5,0.05); + lerp_origin_function(var_02,0.05,var_09.origin); + lerp_angles_function(var_02,0.05,var_09.angles); + common_scripts\utility::flag_wait("flag_lighting_rocket_success_pt2_gideon_run"); + wait(5); + maps\_lighting::set_spot_intensity("light_rocket_rim",250000); + maps\_lighting::set_spot_color("light_rocket_rim",(0.352,0.541,1)); + var_02 maps\_lighting::lerp_light_fov_range(25,5,40,18,0.05); + lerp_origin_function(var_02,0.05,var_0A.origin); + lerp_angles_function(var_02,0.05,var_0A.angles); + maps\_lighting::lerp_spot_intensity("light_rocket_exhaust",0.3,1); + maps\_lighting::set_spot_color("light_rocket_exhaust",(0.92,0.729,0.698)); + var_00 maps\_lighting::lerp_light_fov_range(85,15,35,1,0.05); + lerp_origin_function(var_00,0.05,var_06.origin); + lerp_angles_function(var_00,0.05,var_06.angles); + maps\_lighting::set_spot_intensity("light_rocket_thrusters",4000); + maps\_lighting::set_spot_color("light_rocket_thrusters",(0.447,0.572,1)); + var_01 maps\_lighting::lerp_light_fov_range(90,60,35,1,0.05); + lerp_origin_function(var_01,0.05,var_08.origin); + lerp_angles_function(var_01,0.05,var_08.angles); + wait(0.7); + wait(0.5); + maps\_lighting::lerp_spot_intensity("light_rocket_rim",0.1,0); + wait(0.1); + thread maps\_lighting::set_spot_color("light_rocket_rim",(0.1607,0.3921,1)); + var_02 maps\_lighting::lerp_light_fov_range(25,5,10,1,0.05); + thread maps\_lighting::lerp_spot_radius("light_rocket_rim",0.05,170); + lerp_origin_function(var_02,0.05,var_0C.origin); + lerp_angles_function(var_02,0.05,var_0C.angles); + thread maps\_lighting::lerp_spot_intensity("light_rocket_rim",0.3,2000000); + thread maps\_lighting::lerp_spot_intensity("light_rocket_exhaust",0.3,1500); + wait(2); + wait(4); + var_00 setlightshadowstate("normal"); + var_01 setlightshadowstate("normal"); + var_02 setlightshadowstate("normal"); +} + +//Function Number: 66 +rocket_fail_lighting() +{ + common_scripts\utility::flag_wait("lighting_missile_fail"); + maps\_lighting::pause_flickerlight("firelight_motion_cold_burn","light_rocket_exhaust"); + maps\_lighting::pause_flickerlight("firelight_motion_cold_burn","light_rocket_thrusters"); + var_00 = getent("light_rocket_exhaust","targetname"); + var_01 = getent("light_rocket_thrusters","targetname"); + var_02 = common_scripts\utility::getstruct("struct_light_silo_cine_fail_highdown","targetname"); + maps\_lighting::set_spot_intensity("light_rocket_thrusters",320000); + maps\_lighting::set_spot_color("light_rocket_thrusters",(1,1,1)); + maps\_lighting::set_spot_intensity("light_rocket_thrusters",320000); + maps\_lighting::set_spot_color("light_rocket_thrusters",(1,1,1)); + maps\_lighting::lerp_spot_intensity("light_rocket_exhaust",4.5,0); + var_00 maps\_lighting::lerp_light_fov_range(30,5,90,15,0.05); + thread move_god_rays_rocket_fail(); + maps\_lighting::lerp_spot_intensity("light_rocket_exhaust",1,1300000); + thread spot_exhaust_fail_orig(); + lerp_angles_function(var_01,0.05,var_02.angles); + lerp_origin_function(var_01,5,var_02.origin); +} + +//Function Number: 67 +move_god_rays_rocket_fail() +{ + var_00 = (0,180,0); + var_01 = (-90,180,0); + var_02 = 5; + var_03 = 0; + while(var_03 < var_02) + { + var_04 = var_03 / var_02; + var_05 = vectorlerp(var_00,var_01,var_04); + thread maps\_shg_fx::set_sun_flare_position(var_05); + wait(0.05); + var_03 = var_03 + 0.05; + } +} + +//Function Number: 68 +spot_exhaust_fail_angles() +{ + var_00 = common_scripts\utility::getstruct("struct_light_silo_cine_fail_highdown","targetname"); + var_01 = getent("light_rocket_exhaust","targetname"); + lerp_angles_function(var_01,0.05,var_00.angles); +} + +//Function Number: 69 +spot_exhaust_fail_orig() +{ + var_00 = common_scripts\utility::getstruct("struct_light_silo_cine_fail_highdown","targetname"); + var_01 = getent("light_rocket_exhaust","targetname"); + lerp_origin_function(var_01,5,var_00.origin); +} + +//Function Number: 70 +test_sun_flare() +{ + thread maps\_shg_fx::vfx_sunflare("finale_sun_flare"); +} + +//Function Number: 71 +manage_day_night() +{ + wait(0.05); + if(common_scripts\utility::flag("first_half_lighting") == 1) + { + setsaveddvar("r_useLightGridDefaultFXLightingLookup",1); + setsaveddvar("r_useLightGridDefaultModelLightingLookup",1); + setsaveddvar("r_lightGridDefaultFXLightingLookup",(-702,-7842,202)); + setsaveddvar("r_lightGridDefaultModelLightingLookup",(-702,-7842,202)); + common_scripts\utility::flag_waitopen("first_half_lighting"); + setsaveddvar("r_useLightGridDefaultFXLightingLookup",1); + setsaveddvar("r_useLightGridDefaultModelLightingLookup",1); + setsaveddvar("r_lightGridDefaultFXLightingLookup",(15286.3,-87020.1,7820.69)); + setsaveddvar("r_lightGridDefaultModelLightingLookup",(15286.3,-87020.1,7820.69)); + return; + } + + setsaveddvar("r_useLightGridDefaultFXLightingLookup",1); + setsaveddvar("r_useLightGridDefaultModelLightingLookup",1); + setsaveddvar("r_lightGridDefaultFXLightingLookup",(15286.3,-87020.1,7820.69)); + setsaveddvar("r_lightGridDefaultModelLightingLookup",(15286.3,-87020.1,7820.69)); +} + +//Function Number: 72 +hide_on_models() +{ + wait(0.05); + var_00 = ["will_room_model_on_03_bright","will_room_model_on_07_bright","will_room_model_on_06_bright","will_room_model_on_09_bright"]; + foreach(var_02 in var_00) + { + foreach(var_04 in getentarray(var_02,"targetname")) + { + var_04 hide(); + } + } + + for(var_07 = 1;var_07 <= 9;var_07++) + { + var_08[var_07] = getentarray("will_room_model_on_0" + var_07,"targetname"); + foreach(var_0A in var_08[var_07]) + { + var_0A hide(); + } + + wait(0.05); + } +} + +//Function Number: 73 +turn_on_lab_lights_scriptable() +{ + level.player thread maps\_lighting::screen_effect_base(0,"ac130_overlay_pip_vignette",0,0,1,0,0); + level.lighting_origin = getent("tube_on","targetname"); + setsaveddvar("r_adaptivesubdiv",0); + var_00 = getentarray("light_strips_on","targetname"); + var_01 = getentarray("light_strips_off","targetname"); + foreach(var_03 in var_00) + { + var_03 hide(); + } + + foreach(var_03 in var_01) + { + var_03 show(); + } + + common_scripts\utility::flag_wait("turn_on_lights"); + foreach(var_03 in var_00) + { + var_03 show(); + } + + foreach(var_03 in var_01) + { + var_03 hide(); + } + + maps\_lighting::set_spot_intensity("light_will_room_exit",100000); + maps\_lighting::set_spot_intensity("door_bright",600000); + common_scripts\_exploder::exploder("lighton"); + wait(70); + maps\_utility::vision_set_fog_changes("finale_roof",5); + setsaveddvar("r_adaptivesubdiv",1); + level.player lightsetforplayer("finale_will_litend"); +} + +//Function Number: 74 +animated_lights(param_00) +{ + var_01 = maps\_lighting::setup_scriptable_primary_light("will_key_light",0,(141.1,-204,-24.78),(25.9,85,0),3000,(0.4,0.7,1),70,120,level.lighting_origin,"tag_origin",250); + var_02 = maps\_lighting::setup_scriptable_primary_light("will_rim_light",2,(206.5,-179.112,-36.9),(4.4,170,0),5000,(0.55,0.8,1),30,80,level.lighting_origin,"tag_origin",150); + var_03 = maps\_lighting::setup_scriptable_primary_light("will_back_light",3,(109.12,-76.21,-2.06),(20,-69,0),10500,(0.26,0.54,1),30,80,level.lighting_origin,"tag_origin",150); + maps\_lighting::execute_scriptable_primary_light(var_01); + maps\_lighting::execute_scriptable_primary_light(var_02); + maps\_lighting::execute_scriptable_primary_light(var_03); + wait(1.9); + maps\_lighting::stop_scriptable_primary_light(var_01); + maps\_lighting::stop_scriptable_primary_light(var_02); + maps\_lighting::stop_scriptable_primary_light(var_03); + wait(0.9); + thread maps\_lighting::lerp_spot_intensity("will_back_light",0.5,420000); + wait(0.45); + thread maps\_lighting::lerp_spot_intensity("will_back_light",1,0); + common_scripts\utility::flag_wait("turn_on_lights"); + thread maps\_lighting::lerp_spot_intensity("will_fill_light",1,45000); + thread maps\_lighting::lerp_spot_color("will_fill_light",1,(0.68,0.8,1)); + maps\_utility::vision_set_fog_changes("finale_cinematic",0); + level.player lightsetforplayer("finale_will_lit_bright"); + wait(0.05); + level.player lightsetforplayer("finale_will_lit"); + var_04 = maps\_lighting::setup_scriptable_primary_light("will_key_light",0,(93.6,-142.9,24.08),(31.6,-8,0),5000,(1,0.9,0.85),70,120,level.lighting_origin,"tag_origin",200); + var_05 = maps\_lighting::setup_scriptable_primary_light("will_rim_light",2,(136.95,-265.679,54.899),(21.24,82.3,0),60000.5,(1,0.95,0.95),30,80,level.lighting_origin,"tag_origin",250); + var_06 = maps\_lighting::setup_scriptable_primary_light("will_back_light",3,(220.99,-112.189,-17.25),(13,-162,0),250700,(0.45,0.6,1),30,80,level.lighting_origin,"tag_origin",150); + maps\_lighting::execute_scriptable_primary_light(var_04); + maps\_lighting::execute_scriptable_primary_light(var_05); + maps\_lighting::execute_scriptable_primary_light(var_06); + wait(1); + maps\_lighting::stop_scriptable_primary_light(var_04); + maps\_lighting::stop_scriptable_primary_light(var_05); + maps\_lighting::stop_scriptable_primary_light(var_06); + wait(5); + wait(12.5); + thread maps\_lighting::lerp_spot_intensity("will_back_light",7,25700); + wait(13.5); + thread maps\_lighting::lerp_spot_intensity("will_back_light",6,70700); + wait(7); + thread maps\_lighting::lerp_spot_intensity("will_back_light",6,25700); +} + +//Function Number: 75 +turn_on_lab_lights() +{ + wait(8); + var_00 = getent("will_key_light","targetname"); + var_00 setlightintensity(100000); + var_00 setlightcolor((0.4,0.7,1)); + var_01 = getent("will_fill_light","targetname"); + var_01 setlightintensity(5000); + var_01 setlightcolor((0.4,0.7,1)); + var_02 = getent("will_rim_light","targetname"); + var_02 setlightintensity(100000); + var_02 setlightcolor((0.55,0.8,1)); + var_02 setlightradius(250); + for(var_03 = 1;var_03 <= 9;var_03++) + { + var_04[var_03] = getentarray("will_room_model_on_0" + var_03,"targetname"); + foreach(var_06 in var_04[var_03]) + { + var_06 hide(); + } + } + + for(var_03 = 1;var_03 <= 8;var_03++) + { + var_08[var_03] = getentarray("will_room_model_off_0" + var_03,"targetname"); + foreach(var_0A in var_08[var_03]) + { + var_0A hide(); + } + + var_04[var_03] = getentarray("will_room_model_on_0" + var_03,"targetname"); + foreach(var_0D in var_04[var_03]) + { + var_0D show(); + } + + var_0F = "811" + var_03; + common_scripts\_exploder::exploder(var_0F); + wait(1); + } + + wait(15); + thread maps\_lighting::lerp_spot_intensity("will_rim_light",6,700000); + wait(5); + thread maps\_lighting::lerp_spot_radius("will_key_light",8,240); + thread maps\_lighting::lerp_spot_radius("will_fill_light",8,240); + wait(90); + common_scripts\utility::flag_wait("stair_lights_on"); + thread maps\_lighting::lerp_spot_intensity("will_key_light",3,500000); + thread maps\_lighting::lerp_spot_intensity("will_fill_light",3,10000); + wait(15); + maps\_utility::vision_set_fog_changes("finale_roof",2); +} + +//Function Number: 76 +underwater_reflection() +{ + var_00 = getent("reflection_underwater_green","targetname"); +} + +//Function Number: 77 +underwater_sunrays() +{ + for(;;) + { + thread maps\_lighting::lerp_spot_intensity_array("sun_ray",3,1000000); + wait(3); + thread maps\_lighting::lerp_spot_intensity_array("sun_ray",3,500000); + wait(3); + thread maps\_lighting::lerp_spot_intensity_array("sun_ray",1,200000); + wait(2); + } +} + +//Function Number: 78 +motion_manage() +{ + if(level.nextgen) + { + wait(0.05); + if(common_scripts\utility::flag("flyin_mb") == 1) + { + setsaveddvar("r_mbEnable","3"); + setsaveddvar("r_mbvelocityscalar",".5"); + common_scripts\utility::flag_waitopen("flyin_mb"); + setsaveddvar("r_mbEnable","0"); + return; + } + + setsaveddvar("r_mbEnable","0"); + } +} + +//Function Number: 79 +setup_final_lighting() +{ + var_00 = getent("key","targetname"); + var_01 = getent("rim","targetname"); + var_02 = getent("fill","targetname"); +} + +//Function Number: 80 +enable_physical_dof() +{ +} + +//Function Number: 81 +disable_physical_dof() +{ +} + +//Function Number: 82 +enable_physical_dof_hip() +{ + setsaveddvar("r_dof_physical_hipEnable",1); + setsaveddvar("r_dof_physical_hipFstop",0.125); + setsaveddvar("r_dof_physical_hipSharpCocDiameter",0.1); +} + +//Function Number: 83 +dof_intro() +{ + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(1.5,200); + common_scripts\utility::flag_wait("flag_intro_flyin_done"); + level.player disablephysicaldepthoffieldscripting(); +} + +//Function Number: 84 +dof_outro() +{ + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(0.5,50); +} + +//Function Number: 85 +light_ending_cinematic() +{ + var_00 = getent("will_lighting_org","targetname"); + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01.origin = var_00.origin; + level.player thread maps\_lighting::screen_effect_base(0,"ac130_overlay_pip_vignette",0,0,1,0,0); + thread light_ending_cinematic_dof(); + wait(10); + wait(0.05); +} + +//Function Number: 86 +light_ending_cinematic_dof() +{ + level.player enablephysicaldepthoffieldscripting(); + wait(0.5); + level.player setphysicaldepthoffield(4.5,4); + wait(0.5); + level.player setphysicaldepthoffield(5.5,60); + wait(1); + level.player setphysicaldepthoffield(2.5,40); + level.player lightsetforplayer("finale_night_cinematic"); + wait(10.3); + if(level.nextgen) + { + level.player disablephysicaldepthoffieldscripting(); + } + + level waittill("dof_look_down"); + if(level.nextgen) + { + level.player enablephysicaldepthoffieldscripting(); + } + + level.player setphysicaldepthoffield(2.5,40); + common_scripts\utility::flag_wait("arm_off"); + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbvelocityscalar","3"); + level.player setphysicaldepthoffield(4.5,1290); + level waittill("irons_dead"); + setsaveddvar("r_mbEnable","0"); + wait(3.5); + level.player setphysicaldepthoffield(8.5,16.5); + wait(5.5); + level.player setphysicaldepthoffield(8.5,16.5); + wait(6); + level.player setphysicaldepthoffield(4.5,1290); + wait(4); + level.player setphysicaldepthoffield(4.5,1290); + wait(15.25); + level.player setphysicaldepthoffield(8,16); + wait(3); + level.player setphysicaldepthoffield(5,300); +} + +//Function Number: 87 +will_room_speech_end() +{ + common_scripts\utility::flag_wait("turn_on_lights"); + var_00 = getentarray("will_room_model_on_03","targetname"); + var_01 = ["will_room_model_on_03","will_room_model_on_07","will_room_model_on_06","will_room_model_on_09"]; + foreach(var_03 in var_01) + { + foreach(var_05 in getentarray(var_03,"targetname")) + { + var_05 hide(); + } + } + + var_08 = ["will_room_model_on_03_bright","will_room_model_on_07_bright","will_room_model_on_06_bright","will_room_model_on_09_bright"]; + foreach(var_03 in var_08) + { + foreach(var_05 in getentarray(var_03,"targetname")) + { + var_05 show(); + } + } + + common_scripts\_exploder::kill_exploder(8113); + common_scripts\utility::flag_wait("stair_lights_on"); +} + +//Function Number: 88 +lighting_will_reveal() +{ + level.player lightsetforplayer("finale_will"); + maps\_utility::vision_set_fog_changes("finale_cinematic_nofog",2); + thread turn_on_lab_lights_scriptable(); +} + +//Function Number: 89 +missle_lighting(param_00) +{ + var_01 = getent("org_missile_corridor_origin","targetname"); + var_02 = getent("script_origin_rocket_top","targetname"); + foreach(var_04 in param_00) + { + var_04 overridelightingorigin(var_01.origin); + } +} + +//Function Number: 90 +main_missle_lighting_silotop() +{ + var_00 = getent("org_missile_corridor_origin","targetname"); + var_01 = getent("script_origin_rocket_top","targetname"); + var_02 = getent("missile_top","targetname"); + var_03 = getent("missile_mid_01","targetname"); + var_04 = getent("missile_mid_02","targetname"); + var_05 = getent("missile_bottom","targetname"); + var_02 overridelightingorigin(var_01.origin); + var_03 overridelightingorigin(var_01.origin); + var_04 overridelightingorigin(var_01.origin); + var_05 overridelightingorigin(var_01.origin); +} + +//Function Number: 91 +main_missle_lighting_floor3() +{ + var_00 = getent("org_missile_corridor_origin","targetname"); + var_01 = getent("script_origin_rocket_top","targetname"); + var_02 = getent("missile_top","targetname"); + var_03 = getent("missile_mid_01","targetname"); + var_04 = getent("missile_mid_02","targetname"); + var_05 = getent("missile_bottom","targetname"); + var_02 overridelightingorigin(var_00.origin); + var_03 overridelightingorigin(var_00.origin); + var_04 overridelightingorigin(var_00.origin); + var_05 overridelightingorigin(var_00.origin); +} + +//Function Number: 92 +s_flicker_catwalk_alarm() +{ + thread main_missle_lighting_floor3(); + var_00 = getent("alarm_catwalk_01","targetname"); + var_01 = getent("alarm_catwalk_02","targetname"); + var_02 = getent("alarm_catwalk_03","targetname"); + var_03 = getent("alarm_catwalk_04","targetname"); + var_00 hide(); + var_01 hide(); + var_02 hide(); + var_03 hide(); + maps\_lighting::model_flicker_preset("undefined",0,0,undefined,undefined,"9543spot",0.15,0.151,1,1.001,"lighting_kill_catwalk_s_flicker_red"); + maps\_lighting::model_flicker_preset("undefined",0,0,undefined,undefined,9542,0.15,0.151,1,1.001,"lighting_kill_catwalk_s_flicker_white"); +} + +//Function Number: 93 +setup_eye_highlights_gideon() +{ + if(level.nextgen) + { + level.gideon overridematerial("mtl_gideon_eye_shader_l","mc/mtl_gideon_eye_shader_end_l"); + level.gideon overridematerial("mtl_gideon_eye_shader_r","mc/mtl_gideon_eye_shader_end_r"); + } +} + +//Function Number: 94 +setup_eye_highlights_02() +{ + if(level.nextgen) + { + level.irons overridematerial("mtl_irons_eye_shader_l","mc/mtl_irons_eye_shader_finale_fire_l"); + level.irons overridematerial("mtl_irons_eye_shader_r","mc/mtl_irons_eye_shader_finale_fire_r"); + } +} + +//Function Number: 95 +setup_eye_highlights(param_00) +{ + if(level.nextgen) + { + wait(20); + param_00 overridematerial("mtl_irons_eye_shader_l","mc/mtl_irons_eye_shader_finale_l"); + param_00 overridematerial("mtl_irons_eye_shader_r","mc/mtl_irons_eye_shader_finale_r"); + } +} + +//Function Number: 96 +mb_surprise() +{ + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbvelocityscalar","3"); + wait(5); + setsaveddvar("r_mbEnable","0"); + } +} + +//Function Number: 97 +mb_tackle() +{ + if(level.nextgen) + { + common_scripts\utility::flag_wait("flag_balcony_tackle_success"); + thread light_ending_cinematic(); + thread fire_ending_light(); + setsaveddvar("r_adaptivesubdiv",0); + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbvelocityscalar","2.5"); + wait(3.2); + maps\_utility::vision_set_fog_changes("finale_roof_hang",1); + level.player setclutforplayer("clut_finale_fire",0.5); + level.player lightsetforplayer("finale_night3"); + thread setup_eye_highlights_02(); + wait(3); + setsaveddvar("r_mbvelocityscalar",".5"); + } + + if(level.currentgen) + { + common_scripts\utility::flag_wait("flag_balcony_tackle_success"); + thread light_ending_cinematic(); + thread fire_ending_light(); + wait(3.2); + maps\_utility::vision_set_fog_changes("finale_roof_hang",1); + level.player lightsetforplayer("finale_night3"); + thread setup_eye_highlights_02(); + wait(3); + } +} + +//Function Number: 98 +star(param_00) +{ + wait(0.05); +} + +//Function Number: 99 +dof_irons_meet(param_00) +{ + if(level.nextgen) + { + common_scripts\utility::flag_wait("flag_sit_down"); + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 linkto(param_00,"J_Head",(0,3,0),(0,0,0),0); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(3.5,60); + wait(2.5); + level.player setphysicaldepthoffield(3.5,15); + wait(2); + level.player setphysicaldepthoffield(0.5,120); + common_scripts\utility::flag_wait("turn_on_lights"); + level.player setclutforplayer("clut_finale_chase",0); + common_scripts\utility::flag_set("lighting_target_dof"); + thread lighting_target_dof_ender(level.player,var_01,3.5); + thread autofocus_loop(); + wait(12); + common_scripts\utility::flag_clear("lighting_target_dof"); + wait(0.05); + common_scripts\utility::flag_set("lighting_target_dof"); + thread lighting_target_dof_ender(level.player,var_01,15); + wait(9); + common_scripts\utility::flag_clear("lighting_target_dof"); + wait(0.05); + common_scripts\utility::flag_set("lighting_target_dof"); + thread lighting_target_dof_ender(level.player,var_01,3.5); + wait(15); + common_scripts\utility::flag_clear("lighting_target_dof"); + wait(0.05); + common_scripts\utility::flag_set("lighting_target_dof"); + thread lighting_target_dof_ender(level.player,var_01,15); + wait(18); + common_scripts\utility::flag_clear("lighting_target_dof"); + level.player waittill("exo_released"); + level notify("end_screen_effect"); + common_scripts\_exploder::exploder(2000); + } +} + +//Function Number: 100 +gideon_mech_light() +{ + common_scripts\utility::flag_wait("underwater_flashlight"); + wait(6); + var_00 = level.gideon; + if(isdefined(var_00.light_tag)) + { + var_00.light_tag delete(); + } + + var_00.light_tag = common_scripts\utility::spawn_tag_origin(); + var_01 = var_00.light_tag; + var_01 linkto(var_00,"J_Head",(0,20,0),(180,-105,0),0); + playfxontag(common_scripts\utility::getfx("fin_light_mech"),var_01,"tag_origin"); + wait(0.1); + killfxontag(common_scripts\utility::getfx("fin_light_mech"),var_01,"tag_origin"); + wait(0.1); + playfxontag(common_scripts\utility::getfx("fin_light_mech"),var_01,"tag_origin"); + wait(0.2); + killfxontag(common_scripts\utility::getfx("fin_light_mech"),var_01,"tag_origin"); + wait(0.1); + playfxontag(common_scripts\utility::getfx("fin_light_mech"),var_01,"tag_origin"); + wait(0.15); + killfxontag(common_scripts\utility::getfx("fin_light_mech"),var_01,"tag_origin"); + wait(0.5); + playfxontag(common_scripts\utility::getfx("fin_light_mech"),var_01,"tag_origin"); + common_scripts\utility::flag_waitopen("underwater_flashlight"); + killfxontag(common_scripts\utility::getfx("fin_light_mech"),var_01,"tag_origin"); +} + +//Function Number: 101 +add_player_flashlight(param_00,param_01,param_02) +{ + var_03 = level.player common_scripts\utility::spawn_tag_origin(); + var_03 linktoplayerview(level.player,"tag_origin",(0,-10,10),(0,0,0),0); + playfxontag(common_scripts\utility::getfx("player_light_med2"),var_03,"tag_origin"); + level.player.tag_weapon = var_03; + thread monitor_player_light_off(); +} + +//Function Number: 102 +monitor_player_light_off() +{ + common_scripts\utility::waittill_any("flashlight_off","death"); + if(!isdefined(self)) + { + return; + } + + stopfxontag(common_scripts\utility::getfx("player_light_med2"),self.tag_weapon,"tag_origin"); + self.tag_weapon delete(); +} + +//Function Number: 103 +light_strip_checkpoint() +{ + var_00 = getentarray("light_strips_on","targetname"); + var_01 = getentarray("light_strips_off","targetname"); + foreach(var_03 in var_00) + { + var_03 show(); + } + + foreach(var_03 in var_01) + { + var_03 hide(); + } +} + +//Function Number: 104 +fire_ending_light() +{ + wait(1.5); + maps\_lighting::play_flickerlight_motion_preset("firelight_motion_med_ending","light_spot_irons_key_02"); + maps\_lighting::play_flickerlight_motion_preset("firelight_motion_large_ending","light_spot_irons_fill_02"); + setsunflareposition((81,62,0)); + level waittill("irons_dead"); + wait(2); + maps\_utility::vision_set_fog_changes("finale_roof_hang_end",1.5); + maps\_lighting::stop_flickerlight("firelight_motion_med_ending","light_spot_irons_key_02",0); + maps\_lighting::stop_flickerlight("firelight_motion_large_ending","light_spot_irons_fill_02",0); + wait(0.25); + var_00 = getent("gideon_lighting_org","targetname"); + wait(0.5); +} + +//Function Number: 105 +atlas_sign_flicker() +{ + var_00 = getent("atlas_off","script_noteworthy"); + var_01 = getent("atlas_halfoff","script_noteworthy"); + var_02 = getent("atlas_on","script_noteworthy"); + var_03 = getent("light_spot_irons_rim","targetname"); + var_04 = common_scripts\utility::getstruct("finale_rim_org_02","targetname"); + var_00 show(); + var_01 hide(); + var_02 hide(); + level waittill("irons_dead"); + wait(3.9); + var_03 moveto(var_04.origin,0.1,0.05,0.05); + wait(0.15); + level.player setclutforplayer("clut_finale_roof",0); + thread maps\_utility::vision_set_fog_changes("finale_roof_hang_end",1); + maps\_lighting::play_flickerlight_motion_preset("firelight_motion_large_atlas","fire_ending_shot"); + maps\_lighting::play_flickerlight_motion_preset("firelight_motion_med_ending3","light_spot_irons_rim_02"); + maps\_lighting::play_flickerlight_preset("firelight_med_ending2","light_spot_irons_rim",7000); + wait(0.05); + thread setup_eye_highlights_gideon(); +} + +//Function Number: 106 +lighting_target_dof(param_00,param_01,param_02,param_03) +{ + var_04 = level.player_dof_aperture; + level.player_dof_aperture = param_02; + var_05 = param_03 * 10; + common_scripts\utility::flag_clear("flag_autofocus_on"); + while(var_05 > 0) + { + var_06 = distance2d(param_00.origin,param_01.origin); + level.player_dof_distance = var_06; + wait(0.1); + var_05--; + } + + common_scripts\utility::flag_set("flag_autofocus_on"); + level.player_dof_aperture = var_04; +} + +//Function Number: 107 +lighting_target_dof_ender(param_00,param_01,param_02) +{ + var_03 = level.player_dof_aperture; + level.player_dof_aperture = param_02; + common_scripts\utility::flag_clear("flag_autofocus_on"); + while(common_scripts\utility::flag("lighting_target_dof") == 1) + { + var_04 = distance2d(param_00.origin,param_01.origin); + level.player_dof_distance = var_04; + wait(0.1); + } + + common_scripts\utility::flag_set("flag_autofocus_on"); + level.player_dof_aperture = var_03; +} + +//Function Number: 108 +autofocus_loop() +{ + level.player enablephysicaldepthoffieldscripting(); + var_00 = level.player_dof_aperture; + while(common_scripts\utility::flag("flag_autofocus_on") == 0) + { + wait 0.05; + var_01 = level.player_dof_distance; + var_00 = level.player_dof_aperture; + if(var_01 < 60) + { + var_00 = var_00 + abs(60 - var_01) * 0.1; + } + + if(level.nextgen) + { + level.player setphysicaldepthoffield(var_00,var_01,4,2); + } + } + + level.player disablephysicaldepthoffieldscripting(); +} + +//Function Number: 109 +trace_distance() +{ + var_00 = 4096; + var_01 = level.player geteye(); + var_02 = level.player getplayerangles(); + if(isdefined(level.player.dof_ref_ent)) + { + var_03 = combineangles(level.player.dof_ref_ent.angles,var_02); + } + else + { + var_03 = var_03; + } + + var_04 = vectornormalize(anglestoforward(var_03)); + var_05 = bullettrace(var_01,var_01 + var_04 * var_00,1,level.player,1,1,0,0,0); + return distance(var_01,var_05["position"]); +} + +//Function Number: 110 +player_rig_lighting_org_willroom(param_00) +{ + param_00 defaultlightingorigin(); + wait(0.05); + var_01 = common_scripts\utility::getstruct("will_room_lighting_origin","targetname"); + param_00 overridelightingorigin(level.gideon.origin); + level.player waittill("exo_released"); + param_00 defaultlightingorigin(); +} + +//Function Number: 111 +player_rig_lighting_org(param_00) +{ + param_00 defaultlightingorigin(); + wait(0.05); + var_01 = getent("org_player_carried_lobby_03_lighting","targetname"); + param_00 overridelightingorigin(level.irons.origin); + level.player waittill("exo_released"); + param_00 defaultlightingorigin(); +} + +//Function Number: 112 +clut_rotate() +{ + wait(15); + for(;;) + { + level.player setclutforplayer("clut_finale_fire",0); + wait(1); + level.player setclutforplayer("clut_finale_intro",0); + wait(1); + level.player setclutforplayer("clut_finale_chase",0); + wait(1); + level.player setclutforplayer("clut_finale_irons",0); + wait(1); + level.player setclutforplayer("clut_finale_lobby",0); + wait(1); + level.player setclutforplayer("clut_finale_roof",0); + wait(1); + level.player setclutforplayer("clut_finale_walkway",0); + wait(1); + level.player setclutforplayer("clut_finale_burn_pre",0); + wait(1); + level.player setclutforplayer("clut_finale_burn_red",0); + wait(1); + level.player setclutforplayer("clut_finale_orange_silo_approach",0); + wait(1); + level.player setclutforplayer("clut_finale_round_tunnel",0); + wait(1); + level.player setclutforplayer("clut_finale_silo_blue",0); + wait(1); + level.player setclutforplayer("clut_finale_silo_center",0); + wait(1); + level.player setclutforplayer("clut_finale_silo_shaft",0); + wait(1); + level.player setclutforplayer("clut_finale_floor3_density",0); + wait(1); + level.player setclutforplayer("clut_finale_orange_silo_approach_density",0); + wait(1); + level.player setclutforplayer("clut_finale_round_tunnel",0); + wait(1); + level.player setclutforplayer("",0); + } +} + +//Function Number: 113 +balcony_lighting(param_00) +{ + common_scripts\utility::flag_wait("flag_balcony_tackle_success"); + wait(3); + var_01 = getent("gideon_lighting_org","targetname"); + param_00 overridelightingorigin(level.gideon.origin); +} + +//Function Number: 114 +sky_bridge_dof() +{ + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbvelocityscalar","1"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + level.player enablephysicaldepthoffieldscripting(); + wait(5); + level.player setphysicaldepthoffield(1.5,30); + wait(4); + level.player setphysicaldepthoffield(2.5,3000); + wait(10); + level.player setphysicaldepthoffield(1.5,30); + wait(8); + level.player disablephysicaldepthoffieldscripting(); + disable_motion_blur(); +} \ No newline at end of file diff --git a/AW/PC/maps/finale_missile.gsc b/AW/PC/maps/finale_missile.gsc new file mode 100644 index 0000000..1281037 --- /dev/null +++ b/AW/PC/maps/finale_missile.gsc @@ -0,0 +1,403 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: finale_missile.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 12 + * Decompile Time: 207 ms + * Timestamp: 4/22/2024 2:29:22 AM +*******************************************************************/ + +//Function Number: 1 +setup_complete_missile_prefab(param_00,param_01) +{ + var_02 = []; + setup_main_missile(param_00,param_01); + for(var_03 = 1;var_03 <= 6;var_03++) + { + var_04 = "side_missile_breakable_0" + var_03; + var_05 = getentarray(var_04,"targetname"); + var_06 = setup_side_missile_prefab(var_05,param_01); + var_02[var_02.size] = var_06; + } + + wait 0.05; + foreach(var_06 in var_02) + { + var_06 linkto(param_00,"missile"); + } + + thread custom_health_think(param_01,param_00); +} + +//Function Number: 2 +setup_complete_missile_not_prefab(param_00,param_01) +{ + setup_main_missile(param_00); + var_02 = getentarray("side_missile_01","targetname"); + foreach(var_04 in var_02) + { + var_04 setmodel("fin_side_missile_02"); + var_04 attach_or_link("fin_side_missile_white_panel_top_r_01","dyna_White_panel_top_R_01"); + var_04 attach_or_link("fin_side_missile_white_panel_top_l_01","dyna_White_panel_top_L_01"); + var_04 attach_or_link("fin_side_missile_white_panel_bottom_r_01","dyna_White_panel_bottom_R_01"); + var_04 attach_or_link("fin_side_missile_white_panel_bottom_l_01","dyna_White_panel_bottom_L_01"); + var_04 attach_or_link("fin_side_missile_engine_nozzel_piece_01","dyna_Engine_nozzel_piece_01"); + var_04 attach_or_link("fin_side_missile_engine_nozzel_piece_02","dyna_Engine_nozzel_piece_02"); + var_04 attach_or_link("fin_side_missile_engine_brace_piece_01","dyna_Engine_brace_piece_01"); + var_04 attach_or_link("fin_side_missile_side_box_piece_r_01","dyna_Black_R_side_box_piece_01"); + var_04 attach_or_link("fin_side_missile_side_box_piece_l_01","dyna_Black_L_side_box_piece_02"); + var_04 linkto(param_00,"missile"); + var_05 = undefined; + thread clip_missle_damage_think(var_05,4000,param_01); + } +} + +//Function Number: 3 +clip_missle_damage_think(param_00,param_01,param_02) +{ + param_00 setcandamage(1); + param_00.maxhealth = param_01; + param_00 setnormalhealth(param_00.maxhealth); + var_03 = param_00.maxhealth * 0.5; + var_04 = 0; + var_05 = 0; + while(param_00.health > 0) + { + param_00 waittill("damage",var_06,var_07,var_08,var_09,var_0A,var_0B,var_0C,var_0D,var_0E,var_0F); + if(param_00.health < var_03) + { + if(isdefined(param_00.assigned_model_b) && param_00.assigned_model_b != param_00.assigned_parent && !var_04) + { + playfx(common_scripts\utility::getfx("fin_rocket_silo_explosion"),var_09); + soundscripts\_snd::snd_message("aud_fin_rocket_damage_vfx"); + param_00.assigned_model_b hide(); + var_04 = 1; + } + } + + if(isdefined(param_02)) + { + param_02 dodamage(1,var_09,var_07,var_07,var_0A,var_0F); + } + + if(param_00.health < 0) + { + if(isdefined(param_00.assigned_model) && param_00.assigned_model != param_00.assigned_parent && !var_05) + { + param_00.assigned_model hide(); + playfx(common_scripts\utility::getfx("fin_rocket_silo_explosion"),var_09); + soundscripts\_snd::snd_message("aud_fin_rocket_damage_vfx"); + var_05 = 1; + if(param_00.classname == "script_brushmodel") + { + param_00 notsolid(); + return; + } + } + + param_00 setnormalhealth(99999); + } + + wait 0.05; + } +} + +//Function Number: 4 +setup_side_missile(param_00) +{ + param_00 attach_or_link("fin_side_missile_white_panel_top_r_01","dyna_White_panel_top_R_01"); + param_00 attach_or_link("fin_side_missile_white_panel_top_l_01","dyna_White_panel_top_L_01"); + param_00 attach_or_link("fin_side_missile_white_panel_bottom_r_01","dyna_White_panel_bottom_R_01"); + param_00 attach_or_link("fin_side_missile_white_panel_bottom_l_01","dyna_White_panel_bottom_L_01"); + param_00 attach_or_link("fin_side_missile_engine_nozzel_piece_01","dyna_Engine_nozzel_piece_01"); + param_00 attach_or_link("fin_side_missile_engine_nozzel_piece_02","dyna_Engine_nozzel_piece_02"); + param_00 attach_or_link("fin_side_missile_engine_brace_piece_01","dyna_Engine_brace_piece_01"); + param_00 attach_or_link("fin_side_missile_side_box_piece_r_01","dyna_Black_R_side_box_piece_01"); + param_00 attach_or_link("fin_side_missile_side_box_piece_l_01","dyna_Black_L_side_box_piece_02"); +} + +//Function Number: 5 +attach_or_link(param_00,param_01,param_02) +{ + if(!isdefined(param_02)) + { + param_02 = 0; + } + + if(param_02) + { + self attach(param_00,param_01); + return; + } + + var_03 = self gettagorigin(param_01); + var_04 = spawn("script_model",var_03); + var_05 = self gettagangles(param_01); + var_04.angles = var_05; + var_04.target = self.targetname; +} + +//Function Number: 6 +setup_main_missile(param_00,param_01) +{ + if(isdefined(param_01)) + { + param_01 setcandamage(1); + param_01.maxhealth = 40000; + param_01 setnormalhealth(param_01.maxhealth); + param_01.healthcustom = 20; + param_01.count_swarm = 0; + param_01.count_rocket = 0; + param_01.count_bullet = 0; + } + + param_00.animname = "missile_main"; + param_00 maps\_utility::assign_animtree(); + var_02 = getentarray(param_00.targetname,"target"); + foreach(var_04 in var_02) + { + var_04 linkto(param_00,"missile"); + thread clip_missle_damage_think(var_04,9999999,param_01); + } + + thread clip_missle_damage_think(param_00,9999999,param_01); +} + +//Function Number: 7 +setup_side_missile_prefab(param_00,param_01) +{ + var_02 = undefined; + var_03 = []; + var_04 = []; + foreach(var_06 in param_00) + { + if(var_06.classname == "script_brushmodel") + { + var_03[var_03.size] = var_06; + } + } + + foreach(var_06 in param_00) + { + if(var_06.classname == "script_model") + { + var_04[var_04.size] = var_06; + } + + if(var_06.model == "fin_side_missile_02") + { + var_02 = var_06; + } + } + + foreach(var_0B in var_03) + { + foreach(var_0D in var_04) + { + if(isdefined(var_0B.script_noteworthy) && var_0B.script_noteworthy == var_0D.model) + { + var_0B.assigned_model = var_0D; + var_0D.assigned_brush = var_0B; + } + + if(isdefined(var_0B.script_parameters) && var_0B.script_parameters == var_0D.model) + { + var_0B.assigned_model_b = var_0D; + var_0D.assigned_brush = var_0B; + } + } + } + + foreach(var_0B in var_03) + { + var_0B.assigned_parent = var_02; + var_11 = 4000; + if(var_0B.assigned_model == var_02) + { + var_11 = 99999999; + } + + thread clip_missle_damage_think(var_0B,var_11,param_01); + } + + foreach(var_0D in var_04) + { + if(!isdefined(var_0D.assigned_brush)) + { + var_0D.assigned_model = var_0D; + var_11 = 4000; + if(var_0D.assigned_model == var_02) + { + var_11 = 99999999; + } + + thread clip_missle_damage_think(var_0D,var_11,param_01); + } + + if(var_0D != var_02) + { + var_0D.assigned_parent = var_02; + var_0D linkto(var_02); + } + } + + return var_02; +} + +//Function Number: 8 +fx_engine_off(param_00,param_01) +{ + if(param_00 == 0) + { + soundscripts\_snd::snd_message("missile_large_thrusters_off"); + playfxontag(common_scripts\utility::getfx("fin_rocket_thruster_blue_idle"),param_01,"missile"); + stopfxontag(common_scripts\utility::getfx("fin_rocket_thruster_blue"),param_01,"missile"); + return; + } + + soundscripts\_snd::snd_message("missile_small_thrusters_off"); + var_02 = "TAG_ATTACH" + param_00; + playfxontag(common_scripts\utility::getfx("fin_rocket_thruster_sml_idle"),param_01,var_02); + stopfxontag(common_scripts\utility::getfx("fin_rocket_thruster_sml"),param_01,var_02); +} + +//Function Number: 9 +fx_engine_on(param_00,param_01) +{ + if(param_00 == 0) + { + stopfxontag(common_scripts\utility::getfx("fin_rocket_thruster_blue_idle"),param_01,"missile"); + playfxontag(common_scripts\utility::getfx("fin_rocket_thruster_blue"),param_01,"missile"); + return; + } + + var_02 = "TAG_ATTACH" + param_00; + stopfxontag(common_scripts\utility::getfx("fin_rocket_thruster_sml_idle"),param_01,var_02); + playfxontag(common_scripts\utility::getfx("fin_rocket_thruster_sml"),param_01,var_02); +} + +//Function Number: 10 +custom_regen_think(param_00,param_01) +{ + param_00 endon("fakedamage"); + param_00 endon("death"); + param_01 endon("death"); + if(common_scripts\utility::flag("flag_missile_failed") || common_scripts\utility::flag("flag_missile_damaged")) + { + return; + } + + if(0) + { + return; + } + + var_02 = gettime() + 1000; + while(gettime() < var_02) + { + wait 0.05; + } + + while(param_00.healthcustom < 20) + { + if(common_scripts\utility::flag("flag_missile_failed") || common_scripts\utility::flag("flag_missile_damaged")) + { + return; + } + + param_00.healthcustom = param_00.healthcustom + 0.05; + if(0) + { + while(param_00.tag_current > 0 && param_00.healthcustom > param_00.tag_shutdown_hp_threshold_array[param_00.tag_current]) + { + var_03 = param_00.tag_shutdown_order_array[param_00.tag_current]; + if(isdefined(var_03)) + { + fx_engine_on(var_03,param_01); + } + + param_00.tag_current--; + } + } + + wait 0.05; + } + + param_00.healthcustom = 20; +} + +//Function Number: 11 +restore_thrusters_all(param_00,param_01) +{ + while(param_01.tag_current >= 0) + { + var_02 = param_01.tag_shutdown_order_array[param_01.tag_current]; + if(isdefined(var_02)) + { + fx_engine_on(var_02,param_00); + wait 0.05; + } + + param_01.tag_current--; + } +} + +//Function Number: 12 +custom_health_think(param_00,param_01) +{ + param_00 endon("death"); + param_01 endon("death"); + var_02 = 0; + param_00.tag_shutdown_order_array = [4,3,5,2,6,1,0]; + var_03 = 20 / param_00.tag_shutdown_order_array.size - 1; + param_00.tag_shutdown_hp_threshold_array = [var_03 * 6,var_03 * 5,var_03 * 4,var_03 * 3,var_03 * 2,var_03 * 1,0]; + param_00.tag_current = 0; + for(;;) + { + param_00 waittill("damage",var_04,var_05,var_06,var_07,var_08,var_09,var_0A,var_0B,var_0C,var_0D); + if(gettime() == var_02) + { + continue; + } + + var_02 = gettime(); + var_0E = 0; + if(var_0D == "playermech_rocket_projectile" || var_0D == "playermech_rocket_swarm_finale") + { + param_00.count_swarm++; + var_0E = 0.5; + } + else if(var_0D == "playermech_rocket_finale") + { + param_00.count_rocket++; + var_0E = 4; + } + else + { + param_00.count_bullet++; + var_0E = 0.1428571; + } + + param_00.healthcustom = param_00.healthcustom - var_0E; + param_00 notify("fakedamage"); + while(param_00.tag_current < param_00.tag_shutdown_hp_threshold_array.size && param_00.healthcustom < param_00.tag_shutdown_hp_threshold_array[param_00.tag_current]) + { + var_0F = param_00.tag_shutdown_order_array[param_00.tag_current]; + if(isdefined(var_0F)) + { + fx_engine_off(var_0F,param_01); + } + + param_00.tag_current++; + } + + if(param_00.healthcustom < 0) + { + param_00 kill(); + continue; + } + + thread custom_regen_think(param_00,param_01); + } +} \ No newline at end of file diff --git a/AW/PC/maps/finale_precache.gsc b/AW/PC/maps/finale_precache.gsc new file mode 100644 index 0000000..2f14b73 --- /dev/null +++ b/AW/PC/maps/finale_precache.gsc @@ -0,0 +1,22 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: finale_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:29:22 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + vehicle_scripts\_atlas_jet::main("atlas_fighter_jet",undefined,"script_vehicle_atlas_jet"); + vehicle_scripts\_diveboat::main("vehicle_mil_atlas_speedboat_ai","diveboat_ai","script_vehicle_diveboat_ai"); + vehicle_scripts\_littlebird::main("vehicle_mil_helicopter_littlebird_drone_ai",undefined,"script_vehicle_littlebird_drone_ai"); + vehicle_scripts\_razorback::main("vehicle_razorback",undefined,"script_vehicle_razorback"); + vehicle_scripts\_shrike::main("vehicle_airplane_shrike",undefined,"script_vehicle_shrike"); + vehicle_scripts\_vrap::main("vehicle_mil_humvee",undefined,"script_vehicle_vrap_turret"); + vehicle_scripts\_vrap::main("vehicle_mil_humvee","vrap_physics","script_vehicle_vrap_turret_physics"); + vehicle_scripts\_xh9_warbird::main("vehicle_xh9_warbird_low",undefined,"script_vehicle_xh9_warbird_cheap"); +} \ No newline at end of file diff --git a/AW/PC/maps/finale_shaft.gsc b/AW/PC/maps/finale_shaft.gsc new file mode 100644 index 0000000..4eebdce --- /dev/null +++ b/AW/PC/maps/finale_shaft.gsc @@ -0,0 +1,1195 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: finale_shaft.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 48 + * Decompile Time: 693 ms + * Timestamp: 4/22/2024 2:29:25 AM +*******************************************************************/ + +//Function Number: 1 +set_cam_shake(param_00) +{ + var_01 = param_00 / 40; + if(var_01 < 0.001) + { + var_01 = 0.001; + } + + var_01 = var_01 * 0.7; + var_02 = self getactiveanimations(); + if(var_02.size < 4) + { + self setanimknobrestart(%fin_silo_exhaust_hatch_breach_camshake_vm,1,0,3); + } + + self setanimlimited(%fin_silo_exhaust_hatch_breach_camshake_root,var_01,0.05); +} + +//Function Number: 2 +hatch_open_se_update_rumble_intensity(param_00) +{ + var_01 = 0.05 + param_00 / 100; + maps\finale_utility::set_level_player_rumble_ent_intensity(var_01); +} + +//Function Number: 3 +button_pressed_think(param_00,param_01,param_02) +{ + level.player.button_pressed = 0; + level.player notifyonplayercommand("hatch_action",param_00); + if(isdefined(param_02)) + { + level.player notifyonplayercommand("hatch_action",param_02); + } + + while(param_01.state != 4) + { + level.player waittill("hatch_action"); + level.player.button_pressed = 1; + wait 0.05; + level.player.button_pressed = 0; + } + + level.player notifyonplayercommandremove("hatch_action",param_00); + if(isdefined(param_02)) + { + level.player notifyonplayercommandremove("hatch_action",param_02); + } +} + +//Function Number: 4 +hatch_button_gameplay(param_00,param_01,param_02,param_03) +{ + var_04 = 0; + var_05 = 0; + var_06 = 0; + var_07 = 0; + var_08 = "+usereload"; + var_09 = "+activate"; + param_00 thread maps\_anim::anim_loop(param_01,"exhaust_hatch_vm_idle_noinput","ender_player"); + param_00.state = 0; + level.player thread maps\_shg_utility::button_mash_dynamic_hint(&"FINALE_PISTON_BREAK_BUTTON",var_08,"notetrack_break_bar",var_09); + param_03 thread maps\_shg_utility::hint_button_create_flashing("piston5_r","x","notetrack_break_bar",(0,-12,12)); + level.player thread button_pressed_think(var_08,param_00,var_09); + param_02 set_cam_shake(0); + while(var_04 < 40) + { + waittillframeend; + if(level.player.button_pressed) + { + var_07++; + } + else + { + var_07 = 0; + } + + if(var_07 > 0 && var_07 < 30) + { + if(var_04 < 40) + { + var_04 = var_04 + 1; + } + + var_06 = 0; + var_07++; + } + else + { + var_06++; + if(var_06 >= 6 && var_04 > 0) + { + var_04 = var_04 - 1; + } + } + + param_02 set_cam_shake(var_04); + hatch_open_se_update_rumble_intensity(var_04); + switch(param_00.state) + { + case 0: + if(var_04 > 0) + { + change_state(param_00,1,param_02); + } + break; + + case 1: + if(!isdefined(param_00.wait_for_anim)) + { + if(var_04 > var_05) + { + change_state(param_00,2,param_02); + } + else + { + change_state(param_00,3,param_02); + } + } + break; + + case 2: + if(var_04 < var_05) + { + change_state(param_00,3,param_02); + } + else if(var_04 == 40) + { + thread change_state(param_00,4,param_02); + } + break; + + case 3: + if(!isdefined(param_00.wait_for_anim)) + { + if(var_04 > var_05) + { + thread change_state(param_00,1,param_02); + } + else + { + thread change_state(param_00,0,param_02); + } + } + break; + } + + var_05 = var_04; + wait 0.05; + } + + thread post_win_camshake(param_00,param_02,var_04,gettime() + 3000); + thread post_win_disable_rumbles(); +} + +//Function Number: 5 +post_win_camshake(param_00,param_01,param_02,param_03) +{ + for(;;) + { + if(isdefined(param_01.stop_camshake) && param_01.stop_camshake) + { + break; + } + + if(gettime() > param_03) + { + break; + } + + param_01 set_cam_shake(param_02); + wait 0.05; + } + + param_01 setanimknobrestart(%fin_silo_exhaust_hatch_breach_camshake_vm,0,0.2,3); + param_01 setanimlimited(%fin_silo_exhaust_hatch_breach_camshake_root,0,0.2); +} + +//Function Number: 6 +post_win_disable_rumbles() +{ + wait(2); + maps\finale_utility::set_level_player_rumble_ent_intensity(0); +} + +//Function Number: 7 +notetrack_break_bar(param_00) +{ + level.player notify("notetrack_break_bar"); + param_00.stop_camshake = 1; +} + +//Function Number: 8 +change_state(param_00,param_01,param_02) +{ + var_03 = param_00.state; + param_00.state = param_01; + if(param_01 != var_03) + { + param_00 notify("ender_player"); + if(param_00.state == 0) + { + param_00 thread maps\_anim::anim_loop_solo(param_02,"exhaust_hatch_vm_idle_noinput","ender_player"); + return; + } + + if(param_00.state == 1) + { + param_00.wait_for_anim = 1; + param_00 thread anim_single_solo_custom(param_00,param_02,"exhaust_hatch_vm_noinput_to_input"); + return; + } + + if(param_00.state == 2) + { + param_00 thread maps\_anim::anim_loop_solo(param_02,"exhaust_hatch_vm_idle_input","ender_player"); + return; + } + + if(param_00.state == 3) + { + param_00.wait_for_anim = 1; + param_00 thread anim_single_solo_custom(param_00,param_02,"exhaust_hatch_vm_input_to_noinput"); + return; + } + + return; + } +} + +//Function Number: 9 +anim_single_solo_custom(param_00,param_01,param_02) +{ + param_00.wait_for_anim = 1; + param_00 notify("ender"); + param_00 maps\_anim::anim_single_solo(param_01,param_02); + param_00.wait_for_anim = undefined; +} + +//Function Number: 10 +do_shaft_gameplay_setup(param_00) +{ + level.drop_locator = maps\_utility::spawn_anim_model("locator"); + level.drop_locator.anim_speed = calculate_locator_anim_speed(param_00); + level.drop_locator.drop_started_status = 0; + param_00 maps\_anim::anim_first_frame_solo(level.drop_locator,"shaft_drop"); +} + +//Function Number: 11 +setup_mech_for_drop(param_00) +{ + var_01 = level.player.player_rig; + if(!isdefined(level.player.player_rig)) + { + var_01 = maps\_utility::spawn_anim_model("world_body_mech",level.player.origin + (0,0,30),level.player.angles); + maps\_playermech_code::hide_mech_glass_static_overlay(var_01); + } + + if(isdefined(param_00) && param_00) + { + if(0) + { + var_02 = -38.6; + var_03 = -10.6; + var_04 = -105.8; + var_01 linktoplayerviewignoreparentrot(level.player,"TAG_ORIGIN",(var_04,var_03,var_02),(0,0,0),1,0,0,1); + level.player hideviewmodel(); + } + else + { + if(!isdefined(level.player getlinkedparent()) || !level.player getlinkedparent() == var_01) + { + level.player playerlinktoblend(var_01,"TAG_PLAYER",1); + level.player maps\_playermech_code::mech_setup_player_for_scene(); + } + + var_01 linkto(level.drop_locator,"TAG_ORIGIN_ANIMATED"); + } + } + + return var_01; +} + +//Function Number: 12 +set_player_link_angles_tag_relative(param_00,param_01) +{ + level.ground_ref = spawn("script_origin",param_00.origin); + level.ground_ref.angles = param_00 gettagangles("TAG_PLAYER"); + level.player playersetgroundreferenceent(level.ground_ref); +} + +//Function Number: 13 +calculate_locator_anim_speed(param_00) +{ + var_01 = maps\_utility::spawn_anim_model("locator"); + param_00 maps\_anim::anim_first_frame_solo(var_01,"shaft_drop"); + wait 0.05; + maps\_anim::anim_set_time([var_01],"shaft_drop",1); + var_02 = var_01 gettagorigin("TAG_ORIGIN_ANIMATED"); + var_03 = distance(var_01.origin,var_02); + var_04 = getanimlength(var_01 maps\_utility::getanim("shaft_drop")); + var_01 delete(); + return var_03 / var_04; +} + +//Function Number: 14 +speed_to_anim_rate(param_00) +{ + var_01 = param_00 / level.drop_locator.anim_speed; + return var_01; +} + +//Function Number: 15 +anim_rate_to_speed(param_00) +{ + var_01 = param_00 * level.drop_locator.anim_speed; + return var_01; +} + +//Function Number: 16 +rigsetvelocity(param_00,param_01) +{ + if(0) + { + self setvelocity((0,0,param_00)); + return; + } + + if(level.drop_locator.drop_started_status == 0) + { + level.drop_locator.drop_started_status = 1; + } + + level.drop_locator.speed = param_00; + if(!isdefined(param_01)) + { + param_01 = 0.05; + } + + var_02 = speed_to_anim_rate(-1 * param_00); + level.drop_locator setflaggedanim("single anim",level.drop_locator maps\_utility::getanim("shaft_drop"),1,param_01,var_02); +} + +//Function Number: 17 +riggetvelocity() +{ + if(0) + { + return self getvelocity()[2]; + } + + return level.drop_locator.speed; +} + +//Function Number: 18 +riggetgravity() +{ + if(0) + { + return level.player getgravity(); + } + + return level.drop_locator.gravity; +} + +//Function Number: 19 +rigsetgravity(param_00) +{ + if(0) + { + self setgravityoverride(int(param_00)); + return; + } + + level.drop_locator.gravity = param_00; +} + +//Function Number: 20 +rigprocessvelocity() +{ + if(level.drop_locator.drop_started_status == 0) + { + return; + } + + var_00 = 0.05; + var_01 = level.drop_locator.speed + -1 * level.drop_locator.gravity * var_00; + if(-1 * var_01 < 0) + { + var_01 = 0; + } + + var_02 = speed_to_anim_rate(-1 * var_01); + if(level.drop_locator.drop_started_status == 2) + { + level.drop_locator setanimrate(level.drop_locator maps\_utility::getanim("shaft_drop"),var_02); + } + + level.drop_locator.drop_started_status = 2; + wait(var_00); + level.drop_locator.speed = var_01; +} + +//Function Number: 21 +set_cam_shake_drop(param_00) +{ + switch(param_00) + { + case "shaft_both_hands": + case "shaft_right_hand_to_both": + case "shaft_left_hand_to_both": + case "shaft_no_hands_to_both": + self setanimknobrestart(%fin_shaft_fall_idle_both_hands_mech_cam_vm,1,0,1); + self setanimlimited(%fin_shaft_fall_idle_both_hands_mech_cam_root,1,0.05); + break; + + case "shaft_left_hand": + case "shaft_right_hand_to_left": + case "shaft_no_hands_to_left": + case "shaft_both_hands_to_left": + self setanimknobrestart(%fin_shaft_fall_idle_left_hand_mech_cam_vm,1,0,1); + self setanimlimited(%fin_shaft_fall_idle_left_hand_mech_cam_root,1,0.05); + break; + + case "shaft_right_hand": + case "shaft_left_hand_to_right": + case "shaft_no_hands_to_right": + case "shaft_both_hands_to_right": + self setanimknobrestart(%fin_shaft_fall_idle_right_hand_mech_cam_vm,1,0,1); + self setanimlimited(%fin_shaft_fall_idle_right_hand_mech_cam_root,1,0.05); + break; + + case "shaft_no_hands": + case "shaft_right_hand_to_no": + case "shaft_left_hand_to_no": + case "shaft_both_hands_to_no": + self setanimknobrestart(%fin_shaft_fall_idle_no_hands_mech_cam_vm,1,0,1); + self setanimlimited(%fin_shaft_fall_idle_no_hands_mech_cam_root,1,0.05); + break; + } +} + +//Function Number: 22 +store_speed(param_00) +{ + var_01 = param_00.origin; + while(!common_scripts\utility::flag("flag_player_exhaust_corridor")) + { + var_02 = param_00 gettagorigin("TAG_PLAYER"); + var_03 = var_02 - var_01 / 0.05; + param_00.speed = var_03; + var_01 = var_02; + wait 0.05; + } +} + +//Function Number: 23 +do_shaft_gameplay() +{ + var_00 = undefined; + var_01 = 0; + var_02 = undefined; + var_03 = "none"; + var_04 = "none"; + var_05 = 400; + var_06 = maps\_utility::getent_or_struct("org_shaft_drop_controls_start","targetname"); + var_07 = maps\_utility::getent_or_struct("org_shaft_drop_controls_end","targetname"); + level.player.hint_allow_hide_time = gettime() + 2000; + var_08 = getkeybinding("+toggleads_throw"); + if(level.player common_scripts\utility::is_player_gamepad_enabled() || var_08["count"] == 0) + { + thread maps\_utility::hintdisplaymintimehandler("player_input_shaft_buttons",30); + } + else + { + thread maps\_utility::hintdisplaymintimehandler("player_input_shaft_buttons_pc_alt",30); + } + + var_09 = setup_mech_for_drop(1); + var_0A = 0; + if(isdefined(var_09.speed)) + { + var_0A = var_09.speed[2]; + } + + level.player rigsetvelocity(var_0A,0); + level.player rigsetgravity(level.player getgravity()); + var_0B = var_0A; + var_0C = undefined; + var_09.anim_state = ""; + var_09.wait_for_anim = 0; + thread process_animation(var_09,level.drop_locator); + thread process_fov(var_09); + maps\finale_utility::set_level_player_rumble_ent_intensity(0.1); + soundscripts\_snd::snd_message("shaft_descent_start"); + while(level.player.origin[2] > var_07.origin[2] + 2) + { + var_0A = level.player riggetvelocity(); + soundscripts\_snd::snd_message("shaft_descent_speed_update",var_0A); + var_0D = level.player attackbuttonpressed(); + var_0E = level.player adsbuttonpressed(1); + if(var_0D && var_0E) + { + var_09.anim_state = "shaft_both_hands"; + } + else if(var_0D) + { + var_09.anim_state = "shaft_right_hand"; + } + else if(var_0E) + { + var_09.anim_state = "shaft_left_hand"; + } + else + { + var_09.anim_state = "shaft_no_hands"; + } + + if(var_09.anim_state != var_04) + { + soundscripts\_snd::snd_message("shaft_descent_state_change",var_04,var_09.anim_state); + switch(var_09.anim_state) + { + case "shaft_both_hands": + case "shaft_right_hand_to_both": + case "shaft_left_hand_to_both": + case "shaft_no_hands_to_both": + var_01 = -400; + if(isdefined(var_01) && var_0A < var_01) + { + var_00 = -400; + } + else + { + var_00 = var_05 * 0.5; + } + + var_02 = "less"; + maps\finale_utility::set_level_player_rumble_ent_intensity(0.8); + break; + + case "shaft_right_hand": + case "shaft_left_hand_to_right": + case "shaft_no_hands_to_right": + case "shaft_both_hands_to_right": + var_01 = -700; + if(isdefined(var_01) && var_0A < var_01) + { + var_00 = -200; + } + else + { + var_00 = var_05 * 0.5; + } + + var_02 = "more"; + maps\finale_utility::set_level_player_rumble_ent_intensity(0.4); + break; + + case "shaft_left_hand": + case "shaft_right_hand_to_left": + case "shaft_no_hands_to_left": + case "shaft_both_hands_to_left": + var_01 = -700; + if(isdefined(var_01) && var_0A < var_01) + { + var_00 = -200; + } + else + { + var_00 = var_05 * 0.5; + } + + var_02 = "more"; + maps\finale_utility::set_level_player_rumble_ent_intensity(0.4); + break; + + case "shaft_no_hands": + case "shaft_right_hand_to_no": + case "shaft_left_hand_to_no": + case "shaft_both_hands_to_no": + var_01 = -1200; + var_00 = var_05; + var_02 = "none"; + maps\finale_utility::set_level_player_rumble_ent_intensity(0.1); + break; + } + + if(!isdefined(var_01)) + { + var_03 = "speedup"; + } + else if(var_01 > var_0A) + { + var_03 = "slowdown"; + } + else if(var_01 < var_0A) + { + var_03 = "speedup"; + } + } + + if(var_03 != "constantspeed" && level.player riggetgravity() != var_00) + { + level.player rigsetgravity(var_00); + } + + if(isdefined(var_01)) + { + if(is_speed_target_just_reached(var_03,var_0B,var_0A,var_01)) + { + level.player rigsetvelocity(var_01); + level.player rigsetgravity(0); + var_03 = "constantspeed"; + if(var_0A == 0) + { + var_02 = "strong"; + } + } + else if(var_0A == 0) + { + var_02 = "none"; + } + } + + var_0B = var_0A; + var_04 = var_09.anim_state; + level.player rigprocessvelocity(); + } + + maps\finale_utility::set_level_player_rumble_ent_intensity(0); + soundscripts\_snd::snd_message("shaft_descent_end"); + level.player notify("free_fall_done"); + if(0) + { + level.player resetgravityoverride(); + } + + var_09.anim_state = "drop_finished"; + var_09 unlink(); + level notify("kill_drop_fx_thread"); + var_0F = level.player.health; + var_10 = level.player riggetvelocity(); + var_11 = getgroundposition(level.player.origin,5); + var_12 = animscripts\utility::get_trajectory_v_given_x(level.player.origin[2],var_11[2],var_10,-1 * level.player getgravity()); + if(var_12 < -1200) + { + var_12 = -1200; + } + + var_13 = maps\_player_land_assist::do_custom_fall_damage(var_12,0); + if(var_13 > 50) + { + var_09 thread maps\_playermech_code::scripted_screen_flicker_loop(5); + } + + if(var_0B <= -1200 || var_13 >= var_0F) + { + level.player.player_failed_drop = 1; + level.player maps\_playermech_code::mech_setup_player_for_gameplay(); + var_09 hide(); + var_09 unlink(); + level.player unlink(); + level.player setvelocity((0,0,level.drop_locator.speed)); + var_14 = level.player dodamage(999999,level.player.origin); + maps\_utility::missionfailedwrapper(); + wait(1111); + return; + } + + common_scripts\utility::flag_set("flag_player_exhaust_corridor"); +} + +//Function Number: 24 +is_speed_target_just_reached(param_00,param_01,param_02,param_03) +{ + if(param_01 != param_02) + { + if(param_00 == "slowdown" && param_02 >= param_03 - 10) + { + return 1; + } + + if(param_00 == "speedup" && param_02 <= param_03 + 10) + { + return 1; + } + } + + return 0; +} + +//Function Number: 25 +do_shake(param_00) +{ + level.player endon("free_fall_done"); + level.player endon("death"); + if(isdefined(level.player.shake_in_progress) && level.player.shake_in_progress == param_00) + { + return; + } + + if(param_00 == "none") + { + return; + } + + level.player.shake_in_progress = param_00; + var_01 = level.player getgravity(); + if(param_00 == "less") + { + var_02 = 0.4 + randomfloat(100) * 0.01 * 0.25; + var_03 = 0.2 + randomfloat(100) * 0.01 * 0.5; + var_02 = var_02 * 0.5; + earthquake(var_02,var_03,level.player.origin,100); + wait(var_03 * 0.5); + } + else if(param_00 == "more") + { + var_02 = 0.4 + randomfloat(100) * 0.01 * 0.25; + var_03 = 0.2 + randomfloat(100) * 0.01 * 0.5; + earthquake(var_02,var_03,level.player.origin,100); + wait(var_03 * 0.5); + } + else if(param_00 == "strong") + { + var_02 = 0.4 + randomfloat(100) * 0.01 * 0.25; + var_03 = 0.2 + randomfloat(100) * 0.01 * 0.5; + var_02 = var_02 * 1.5; + earthquake(var_02,var_03,level.player.origin,100); + wait(var_03 * 0.5); + } + + level.player.shake_in_progress = undefined; +} + +//Function Number: 26 +process_fov(param_00) +{ + var_01 = getdvarint("cg_fov"); + var_02 = 1; + var_03 = 1.25; + var_04 = 0; + var_05 = var_02; + var_06 = var_03 - var_05 / squared(-1200 - var_04); + while(isdefined(param_00) && param_00.anim_state != "drop_finished") + { + var_07 = level.player riggetvelocity(); + var_08 = var_06 * squared(var_07 - var_04) + var_05; + level.player lerpfovscale(var_08,0.05); + wait 0.05; + } + + level.player lerpfovscale(1,1); +} + +//Function Number: 27 +get_fx_count_for_speed(param_00) +{ + for(var_01 = self.drop_thresholds.size - 1;var_01 >= 0;var_01--) + { + if(param_00 < self.drop_thresholds[var_01]) + { + return self.drop_fx_count[var_01]; + } + } + + return 1; +} + +//Function Number: 28 +drop_fx_thread(param_00,param_01) +{ + level notify("kill_drop_fx_thread"); + level endon("kill_drop_fx_thread"); + for(;;) + { + wait 0.05; + waittillframeend; + waittillframeend; + waittillframeend; + if(param_01.fx_current < param_01.fx_goal_count) + { + param_01.fx_current++; + playfx_fordrop(param_00,param_01); + continue; + } + + if(param_01.fx_current > param_01.fx_goal_count) + { + param_01.fx_current = 0; + stopfx_fordrop(param_00,param_01); + } + } +} + +//Function Number: 29 +process_animation(param_00,param_01) +{ + param_00 endon("death"); + if(!isdefined(self.drop_thresholds)) + { + param_00.drop_thresholds = [0,-200,-400,-600,-800,-1000]; + param_00.drop_fx_count = [1,1,2,3,4,6]; + } + + if(!isdefined(param_00.anim_state)) + { + param_00.anim_state = "shaft_no_hands"; + } + + var_02 = ""; + var_03 = 1000; + param_00.tag_left_hand = "j_wrist_le"; + param_00.tag_right_hand = "j_wrist_ri"; + param_00.tag_left_foot = "j_ball_le"; + param_00.tag_right_foot = "j_ball_ri"; + param_00.fx_goal_count = 0; + param_00.fx_current = 0; + for(;;) + { + waittillframeend; + var_04 = param_00.anim_state; + var_05 = level.player riggetvelocity(); + if(var_02 != var_04) + { + if(var_04 == "drop_finished") + { + stopfx_fordrop(var_02,param_00); + return; + } + + param_00 notify("stop_anim_state"); + param_01 notify("stop_anim_state"); + if(0) + { + var_06 = param_00 getlinkedparent(); + if(isdefined(var_06)) + { + var_06 setviewmodelanim(level.scr_anim_viewmodel[var_04]); + } + } + + if(is_transition(var_04)) + { + param_00.wait_for_anim = 1; + param_01 thread anim_single_solo_with_wait_flag(param_00,var_04,"TAG_ORIGIN_ANIMATED"); + param_00 set_cam_shake_drop(var_04); + } + else + { + param_00.wait_for_anim = 0; + param_01 thread maps\_anim::anim_loop_solo(param_00,var_04,"stop_anim_state","TAG_ORIGIN_ANIMATED"); + param_00 set_cam_shake_drop(var_04); + } + + param_00.fx_current = 0; + param_00.fx_goal_count = 0; + stopfx_fordrop(var_02,param_00); + thread drop_fx_thread(var_04,param_00); + var_02 = var_04; + } + + if(var_04 == "shaft_no_hands") + { + param_00.fx_goal_count = 0; + } + else + { + param_00.fx_goal_count = param_00 get_fx_count_for_speed(var_05); + } + + var_03 = var_05; + wait 0.05; + } +} + +//Function Number: 30 +anim_single_solo_with_wait_flag(param_00,param_01,param_02) +{ + param_00 endon("death"); + maps\_anim::anim_single_solo(param_00,param_01,param_02); + param_00.wait_for_anim = 0; +} + +//Function Number: 31 +is_transition_to_right(param_00) +{ + if(issubstr(param_00,"_to_right")) + { + return 1; + } + + return 0; +} + +//Function Number: 32 +is_transition_to_no(param_00) +{ + if(issubstr(param_00,"_to_no")) + { + return 1; + } + + return 0; +} + +//Function Number: 33 +is_transition_to_both(param_00) +{ + if(issubstr(param_00,"_to_both")) + { + return 1; + } + + return 0; +} + +//Function Number: 34 +is_transition_to_left(param_00) +{ + if(issubstr(param_00,"_to_left")) + { + return 1; + } + + return 0; +} + +//Function Number: 35 +is_transition(param_00) +{ + if(issubstr(param_00,"_to_")) + { + return 1; + } + + return 0; +} + +//Function Number: 36 +playfx_fordrop(param_00,param_01) +{ + playorstopfx_fordrop(1,param_00,param_01); +} + +//Function Number: 37 +stopfx_fordrop(param_00,param_01) +{ + playorstopfx_fordrop(0,param_00,param_01); +} + +//Function Number: 38 +playfxontag_functionhack(param_00,param_01,param_02) +{ + playfxontag(param_00,param_01,param_02); +} + +//Function Number: 39 +stopfxontag_functionhack(param_00,param_01,param_02) +{ + stopfxontag(param_00,param_01,param_02); +} + +//Function Number: 40 +playorstopfx_fordrop(param_00,param_01,param_02) +{ + var_03 = undefined; + if(param_00 == 1) + { + var_03 = ::playfxontag_functionhack; + } + else + { + var_03 = ::stopfxontag_functionhack; + } + + switch(param_01) + { + case "shaft_both_hands": + case "shaft_right_hand_to_both": + case "shaft_left_hand_to_both": + case "shaft_no_hands_to_both": + [[ var_03 ]](common_scripts\utility::getfx("sparks_runner_lp_sml"),param_02,param_02.tag_right_hand); + [[ var_03 ]](common_scripts\utility::getfx("sparks_runner_lp_sml"),param_02,param_02.tag_left_hand); + [[ var_03 ]](common_scripts\utility::getfx("sparks_runner_lp_sml"),param_02,param_02.tag_left_foot); + [[ var_03 ]](common_scripts\utility::getfx("sparks_runner_lp_sml"),param_02,param_02.tag_right_foot); + break; + + case "shaft_left_hand": + case "shaft_right_hand_to_left": + case "shaft_no_hands_to_left": + case "shaft_both_hands_to_left": + [[ var_03 ]](common_scripts\utility::getfx("sparks_runner_lp_sml"),param_02,param_02.tag_right_hand); + [[ var_03 ]](common_scripts\utility::getfx("sparks_runner_lp_sml"),param_02,param_02.tag_left_foot); + break; + + case "shaft_right_hand": + case "shaft_left_hand_to_right": + case "shaft_no_hands_to_right": + case "shaft_both_hands_to_right": + [[ var_03 ]](common_scripts\utility::getfx("sparks_runner_lp_sml"),param_02,param_02.tag_left_hand); + [[ var_03 ]](common_scripts\utility::getfx("sparks_runner_lp_sml"),param_02,param_02.tag_right_foot); + break; + + case "shaft_no_hands": + case "shaft_right_hand_to_no": + case "shaft_left_hand_to_no": + case "shaft_both_hands_to_no": + break; + } +} + +//Function Number: 41 +player_input_shaft_buttons_off() +{ + if(gettime() > level.player.hint_allow_hide_time && level.player buttonpressed("BUTTON_LTRIG") || level.player buttonpressed("BUTTON_RTRIG")) + { + return 1; + } + + if(common_scripts\utility::flag("flag_player_exhaust_corridor")) + { + return 1; + } + + return 0; +} + +//Function Number: 42 +get_walk_anim(param_00) +{ + if(param_00 == "handsblocking") + { + return "blast_walk"; + } + + if(param_00 == "nohands") + { + return "blast_walk_nohands"; + } + + if(param_00 == "noguns") + { + return "blast_walk_nogun"; + } +} + +//Function Number: 43 +get_idle_anim(param_00) +{ + if(param_00 == "handsblocking") + { + return "blast_idle"; + } + + if(param_00 == "nohands") + { + return "blast_idle_nohands"; + } + + if(param_00 == "noguns") + { + return "blast_idle_nogun"; + } +} + +//Function Number: 44 +think_player_blast_walk_anims(param_00) +{ + var_01 = "none"; + var_02 = ""; + level.player notify("kill_think_player_blast_walk_anims"); + level.player endon("kill_think_player_blast_walk_anims"); + thread maps\finale_anim_vm::anim_loop_solo_vm(level.player,get_idle_anim(param_00),"kill_think_player_blast_walk_anims"); + for(;;) + { + var_03 = level.player getnormalizedmovement()[0]; + if(var_03 > 0.1 || var_03 < -0.5) + { + var_02 = get_walk_anim(param_00); + if(var_02 != var_01) + { + level.player setadditiveviewmodelanim(maps\finale_anim_vm::getanim_vm_index(var_02)); + } + } + else + { + var_02 = get_idle_anim(param_00); + if(var_02 != var_01) + { + level.player setadditiveviewmodelanim(0); + } + } + + wait 0.05; + } +} + +//Function Number: 45 +anim_single_solo_with_lerp(param_00,param_01) +{ + var_02 = 360; + var_03 = 500; + var_04 = var_02 / var_03; + var_05 = getent("org_player_knockback_limit","targetname"); + var_06 = spawn("script_origin",var_05.origin); + var_06.angles = (0,180,0); + var_07 = 0; + if(level.player.origin[0] < level.gideon.origin[0]) + { + var_07 = 1; + } + + if(var_07) + { + var_06.origin = (level.gideon.origin[0] + var_02,var_06.origin[1],var_06.origin[2]); + } + else + { + var_06.origin = (level.player.origin[0] + var_02,var_06.origin[1],var_06.origin[2]); + } + + if(var_06.origin[0] > var_05.origin[0]) + { + var_06.origin = (var_05.origin[0],var_06.origin[1],var_06.origin[2]); + } + + var_04 = var_02 / var_03; + param_00 = level.player.player_rig; + if(!isdefined(param_00)) + { + param_00 = maps\_utility::spawn_anim_model("world_body_mech",level.player.origin + (0,0,30),level.player.angles); + maps\_playermech_code::hide_mech_glass_static_overlay(param_00); + } + + level.player thread maps\_playermech_code::scripted_screen_flicker_loop(); + param_00 thread maps\_playermech_code::scripted_screen_flicker_loop(); + level.player notify("kill_think_player_blast_walk_anims"); + do_player_explode_react(param_00,var_06); +} + +//Function Number: 46 +do_player_explode_react(param_00,param_01) +{ + level.player maps\_anim::anim_first_frame_solo(param_00,"exhaust_blast_react"); + param_00.origin = level.player.origin; + param_00.angles = param_01.angles; + param_00 show(); + level.player maps\_playermech_code::mech_setup_player_for_scene(); + param_00 thread lerp_to_target(param_01.origin,param_01.angles,1,0.25); + level.player thread anim_single_solo_in_place(param_00,"exhaust_blast_react"); + level.player playerlinktoabsolute(param_00,"TAG_PLAYER"); + var_02 = getanimlength(param_00 maps\_utility::getanim("exhaust_blast_react")); + wait(var_02); + thread think_player_blast_walk_anims("noguns"); + level.player maps\_playermech_code::mech_setup_player_for_forced_walk_scene(); + wait 0.05; + level.player unlink(); + param_00 hide(); + thread maps\finale_code::exhaust_corridor_timer(); +} + +//Function Number: 47 +lerp_to_target(param_00,param_01,param_02,param_03) +{ + var_04 = level.player.origin; + var_05 = level.player.angles; + var_06 = spawn("Script_origin",(var_04[0],var_04[1],param_00[2])); + var_06.angles = var_05; + self linkto(var_06); + var_06 moveto(param_00,param_02,param_02 * 0.25); + var_06 rotateto(param_01,param_03,param_03 * 0.25); + wait(param_02); + self unlink(); + var_06 delete(); +} + +//Function Number: 48 +anim_single_solo_in_place(param_00,param_01) +{ + param_00 maps\_anim::anim_single_solo(param_00,param_01); + param_00 notify("anim_done"); +} \ No newline at end of file diff --git a/AW/PC/maps/finale_utility.gsc b/AW/PC/maps/finale_utility.gsc new file mode 100644 index 0000000..4d1120c --- /dev/null +++ b/AW/PC/maps/finale_utility.gsc @@ -0,0 +1,2055 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: finale_utility.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 87 + * Decompile Time: 1283 ms + * Timestamp: 4/22/2024 2:29:29 AM +*******************************************************************/ + +//Function Number: 1 +teleport_to_scriptstruct(param_00) +{ + var_01 = common_scripts\utility::getstruct(param_00,"script_noteworthy"); + level.player setorigin(var_01.origin); + if(isdefined(var_01.angles)) + { + level.player setplayerangles(var_01.angles); + } + + var_02 = getentarray("hero","script_noteworthy"); + foreach(var_04 in var_02) + { + if(isspawner(var_04)) + { + var_02 = common_scripts\utility::array_remove(var_02,var_04); + } + } + + var_06 = common_scripts\utility::getstructarray(var_01.target,"targetname"); + for(var_07 = 0;var_07 < var_02.size;var_07++) + { + if(var_07 < var_06.size) + { + var_02[var_07] forceteleport(var_06[var_07].origin,var_06[var_07].angles); + var_02[var_07] setgoalpos(var_06[var_07].origin); + continue; + } + + var_02[var_07] forceteleport(level.player.origin,level.player.angles); + var_02[var_07] setgoalpos(level.player.origin); + } +} + +//Function Number: 2 +spawn_metrics_init() +{ + level.spawn_metrics_spawn_count = []; + level.spawn_metrics_death_count = []; + maps\_utility::add_global_spawn_function("axis",::spawn_metrics_spawn_func); + foreach(var_01 in getaiarray("axis")) + { + if(!isspawner(var_01) && isalive(var_01)) + { + var_01 spawn_metrics_spawn_func(); + } + } +} + +//Function Number: 3 +spawn_metrics_spawn_func() +{ + if(!isai(self)) + { + return; + } + + if(isdefined(self.script_noteworthy)) + { + if(isdefined(level.spawn_metrics_spawn_count[self.script_noteworthy])) + { + level.spawn_metrics_spawn_count[self.script_noteworthy] = level.spawn_metrics_spawn_count[self.script_noteworthy] + 1; + } + else + { + level.spawn_metrics_spawn_count[self.script_noteworthy] = 1; + } + + thread spawn_metrics_death_watcher(); + } +} + +//Function Number: 4 +spawn_metrics_death_watcher() +{ + var_00 = self.script_noteworthy; + self waittill("death"); + if(isdefined(level.spawn_metrics_death_count[var_00])) + { + level.spawn_metrics_death_count[var_00] = level.spawn_metrics_death_count[var_00] + 1; + return; + } + + level.spawn_metrics_death_count[var_00] = 1; +} + +//Function Number: 5 +spawn_metrics_number_spawned(param_00) +{ + if(isarray(param_00)) + { + var_01 = 0; + foreach(var_03 in param_00) + { + var_01 = var_01 + spawn_metrics_number_spawned(var_03); + } + + return var_01; + } + + if(isdefined(level.spawn_metrics_spawn_count[var_04])) + { + return level.spawn_metrics_spawn_count[var_04]; + } + + return 0; +} + +//Function Number: 6 +spawn_metrics_number_died(param_00) +{ + if(isarray(param_00)) + { + var_01 = 0; + foreach(var_03 in param_00) + { + var_01 = var_01 + spawn_metrics_number_died(var_03); + } + + return var_01; + } + + if(isdefined(level.spawn_metrics_death_count[var_04])) + { + return level.spawn_metrics_death_count[var_04]; + } + + return 0; +} + +//Function Number: 7 +spawn_metrics_number_alive(param_00) +{ + return spawn_metrics_number_spawned(param_00) - spawn_metrics_number_died(param_00); +} + +//Function Number: 8 +spawn_metrics_waittill_count_reaches(param_00,param_01,param_02) +{ + if(!isarray(param_01)) + { + param_01 = [param_01]; + } + + waittillframeend; + for(;;) + { + var_03 = 0; + foreach(var_05 in param_01) + { + var_03 = var_03 + spawn_metrics_number_alive(var_05); + } + + if(var_03 <= param_00) + { + break; + } + + wait(1); + } +} + +//Function Number: 9 +spawn_metrics_waittill_deaths_reach(param_00,param_01,param_02) +{ + if(!isarray(param_01)) + { + param_01 = [param_01]; + } + + for(;;) + { + var_03 = 0; + foreach(var_05 in param_01) + { + var_03 = var_03 + spawn_metrics_number_died(var_05); + } + + if(var_03 >= param_00) + { + break; + } + + wait(1); + } +} + +//Function Number: 10 +delete_spawners(param_00) +{ + if(!isarray(param_00)) + { + param_00 = [param_00]; + } + + foreach(var_02 in param_00) + { + foreach(var_04 in getentarray(var_02,"script_noteworthy")) + { + if(isspawner(var_04)) + { + var_04 delete(); + } + } + } +} + +//Function Number: 11 +cleanup_ai_with_script_noteworthy(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = 512; + } + + var_02 = []; + foreach(var_04 in getentarray(param_00,"script_noteworthy")) + { + if(isspawner(var_04)) + { + var_04 delete(); + continue; + } + + var_02[var_02.size] = var_04; + } + + thread maps\_utility::ai_delete_when_out_of_sight(var_02,param_01); +} + +//Function Number: 12 +waittill_notify_func(param_00,param_01,param_02,param_03) +{ + self waittill(param_00); + if(isdefined(param_03)) + { + self [[ param_01 ]](param_02,param_03); + return; + } + + if(isdefined(param_02)) + { + self [[ param_01 ]](param_02); + return; + } + + self [[ param_01 ]](); +} + +//Function Number: 13 +player_animated_sequence_restrictions(param_00) +{ + if(isdefined(param_00) && param_00) + { + level.player waittill("notify_player_animated_sequence_restrictions"); + } + + level.player.disablereload = 1; + level.player disableweapons(); + level.player disableoffhandweapons(); + level.player disableweaponswitch(); + level.player allowcrouch(0); + level.player allowjump(0); + level.player allowmelee(0); + level.player allowprone(0); + level.player allowsprint(0); +} + +//Function Number: 14 +load_mech() +{ + mech_player_anims(); + mech_generic_human(); + mech_script_models(); + mech_fx(); +} + +//Function Number: 15 +mech_player_anims() +{ + level.scr_animtree["mech_viewmodel"] = #animtree; + level.scr_model["mech_viewmodel"] = "viewhands_player_pmc"; + level.scr_anim["mech_viewmodel"]["mech_enable"] = %cap_playermech_getinto_mech_vm; + maps\_anim::addnotetrack_notify("mech_viewmodel","enable_mech","notify_mech_enable","mech_enable"); +} + +//Function Number: 16 +mech_generic_human() +{ + level.scr_animtree["mech_player_rig"] = #animtree; + level.scr_anim["mech_player_rig"]["mech_run_through"] = %cap_playermech_run_through_mech_short; + level.scr_model["mech_player_rig"] = "worldhands_playermech"; + level.scr_animtree["mech_suit_top"] = #animtree; + level.scr_model["mech_suit_top"] = "playermech_animated_model_top"; + level.scr_anim["mech_suit_top"]["mech_enable"] = %cap_playermech_getinto_mech_mech; + level.scr_animtree["mech_suit_bottom"] = #animtree; + level.scr_model["mech_suit_bottom"] = "playermech_animated_model_btm"; + level.scr_anim["mech_suit_bottom"]["mech_enable"] = %cap_playermech_getinto_mech_mech; + level.scr_anim["generic"]["explode_death"] = %death_explosion_run_f_v2; +} + +//Function Number: 17 +mech_script_models() +{ + level.scr_animtree["mb_wall_1"] = #animtree; + level.scr_anim["mb_wall_1"]["mech_run_through"] = %cap_playermech_run_through_prop_short; + level.scr_model["mb_wall_1"] = "cap_playermech_breakable_wall"; +} + +//Function Number: 18 +mech_fx() +{ +} + +//Function Number: 19 +mech_setup() +{ + setsaveddvar("mechSpeed",350); + setsaveddvar("mechAcceleration",3.25); + setsaveddvar("mechAirAcceleration",0.23); + setsaveddvar("player_sprintSpeedScale",1.6); + if(level.player adsbuttonpressed() || getdvar("quickmech") == "1") + { + thread mech_enable(); + } +} + +//Function Number: 20 +mech_enable(param_00,param_01) +{ + level.damage_multiplier_mod = 0.13; + level.mech_swarm_rocket_max_targets = 6; + level.mech_swarm_rocket_dud_min_count = 2; + level.mech_swarm_rocket_dud_max_count = 3; + level.mech_swarm_skip_line_of_sight_obstruction_test = 0; + level.player maps\_playermech_code::playermech_start("base",param_01,param_00,"vm_view_arms_mech","vm_view_arms_mech"); + setsaveddvar("mechStandHeight",71); + setsaveddvar("mechBarrelSpinAnim","s1_playermech_barrel_spin"); +} + +//Function Number: 21 +mech_enable_switch_exhaust_version(param_00,param_01) +{ + level.player notify("kill_think_player_blast_walk_anims"); + level.player.blast_anim_set = undefined; + level.player takeweapon("playermech_auto_cannon_finale"); + level.player giveweapon("playermech_auto_cannon_finale_exhaust"); + level.player switchtoweaponimmediate("playermech_auto_cannon_finale_exhaust"); + setsaveddvar("mechBarrelSpinAnim","s1_blast_gun_up_playermech_barrel_spin"); + level.player.mechdata.weapon_names["mech_base_weapon"] = "playermech_auto_cannon_finale_exhaust"; + level.player maps\_playermech_code::playermech_start("base",param_00,param_01,"vm_view_arms_mech","vm_view_arms_mech"); +} + +//Function Number: 22 +goto_node(param_00,param_01,param_02) +{ + self endon("stop_goto_node"); + if(!isdefined(param_02)) + { + param_02 = 16; + } + + maps\_utility::set_goal_radius(param_02); + if(isstring(param_00)) + { + var_03 = getnode(param_00,"script_noteworthy"); + } + else + { + var_03 = param_01; + } + + if(isdefined(var_03)) + { + maps\_utility::set_goal_node(var_03); + } + else + { + var_03 = common_scripts\utility::getstruct(param_00,"script_noteworthy"); + maps\_utility::set_goal_pos(var_03.origin); + } + + if(param_01) + { + self waittill("goal"); + } +} + +//Function Number: 23 +screen_fade_out(param_00) +{ + level notify("new_screen_fade"); + level endon("new_screen_fade"); + if(!isdefined(param_00)) + { + param_00 = 1; + } + + if(!isdefined(level.black_screen)) + { + create_black_screen(); + } + + setblur(10,param_00); + if(param_00 > 0) + { + level.black_screen.alpha = 0; + level.black_screen fadeovertime(param_00); + } + + level.black_screen.alpha = 1; + wait(param_00); +} + +//Function Number: 24 +screen_fade_in(param_00) +{ + level notify("new_screen_fade"); + level endon("new_screen_fade"); + if(!isdefined(param_00)) + { + param_00 = 1; + } + + if(!isdefined(level.black_screen)) + { + create_black_screen(); + } + + setblur(0,param_00); + if(param_00 > 0) + { + level.black_screen.alpha = 1; + level.black_screen fadeovertime(param_00); + } + + level.black_screen.alpha = 0; + wait(param_00); +} + +//Function Number: 25 +create_black_screen() +{ + level.black_screen = newhudelem(); + level.black_screen.x = 0; + level.black_screen.y = 0; + level.black_screen.alpha = 0; + level.black_screen.horzalign = "fullscreen"; + level.black_screen.vertalign = "fullscreen"; + level.black_screen.foreground = 1; + level.black_screen setshader("black",640,480); +} + +//Function Number: 26 +screen_fade(param_00,param_01,param_02) +{ + if(!isdefined(param_00)) + { + param_00 = 1; + } + + if(!isdefined(param_01)) + { + param_01 = 1; + } + + if(!isdefined(param_02)) + { + param_02 = 0; + } + + thread screen_fade_out(param_00); + wait(param_02 + param_00); + thread screen_fade_in(param_01); +} + +//Function Number: 27 +set_custom_patrol_anim_set(param_00) +{ + set_custom_run_anim(param_00); + self allowedstances("stand"); + self.oldcombatmode = self.combatmode; + self.combatmode = "no_cover"; + maps\_utility::disable_cqbwalk(); +} + +//Function Number: 28 +set_custom_run_anim(param_00) +{ + var_01 = undefined; + var_02 = undefined; + if(isdefined(level.scr_anim["generic"]["patrol_walk_" + param_00])) + { + var_01 = "patrol_walk_" + param_00; + } + + if(isdefined(level.scr_anim["generic"]["patrol_walk_weights_" + param_00])) + { + var_02 = "patrol_walk_weights_" + param_00; + } + + maps\_utility::set_generic_run_anim_array(var_01,var_02,1); + if(isdefined(level.scr_anim["generic"]["patrol_idle_" + param_00])) + { + var_03 = "patrol_idle_" + param_00; + maps\_utility::set_generic_idle_anim(var_03); + } + + if(isdefined(level.scr_anim["generic"]["patrol_transin_" + param_00])) + { + self.customarrivalfunc = ::custom_idle_trans_function; + self.startidletransitionanim = level.scr_anim["generic"]["patrol_transin_" + param_00]; + } + + if(isdefined(level.scr_anim["generic"]["patrol_transout_" + param_00])) + { + self.permanentcustommovetransition = 1; + self.custommovetransition = ::animscripts\cover_arrival::custommovetransitionfunc; + self.startmovetransitionanim = level.scr_anim["generic"]["patrol_transout_" + param_00]; + } +} + +//Function Number: 29 +custom_idle_trans_function() +{ + if(!isdefined(self.startidletransitionanim)) + { + return; + } + + var_00 = self.approachnumber; + var_01 = self.startidletransitionanim; + if(!isdefined(self.heat)) + { + thread animscripts\cover_arrival::abortapproachifthreatened(); + } + + self clearanim(%body,0.2); + self setflaggedanimrestart("coverArrival",var_01,1,0.2,self.movetransitionrate); + animscripts\face::playfacialanim(var_01,"run"); + animscripts\shared::donotetracks("coverArrival",::animscripts\cover_arrival::handlestartaim); + var_02 = level.arrivalendstance[self.approachtype]; + if(isdefined(var_02)) + { + self.a.pose = var_02; + } + + self.a.movement = "stop"; + self.a.arrivaltype = self.approachtype; + self clearanim(%root,0.3); + self.lastapproachaborttime = undefined; + var_03 = self.origin - self.goalpos; +} + +//Function Number: 30 +disable_grenades() +{ + if(isdefined(self.grenadeammo) && !isdefined(self.oldgrenadeammo)) + { + self.oldgrenadeammo = self.grenadeammo; + } + + self.grenadeammo = 0; +} + +//Function Number: 31 +enable_grenades() +{ + if(isdefined(self.oldgrenadeammo)) + { + self.grenadeammo = self.oldgrenadeammo; + self.oldgrenadeammo = undefined; + } +} + +//Function Number: 32 +angles_and_origin(param_00) +{ + if(isdefined(param_00.origin)) + { + self.origin = param_00.origin; + } + + if(isdefined(param_00.angles)) + { + self.angles = param_00.angles; + } +} + +//Function Number: 33 +spawn_tag_origin_monitor(param_00) +{ + if(!isdefined(level.monitored_tag_origins)) + { + level.monitored_tag_origins = []; + } + + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 angles_and_origin(self); + if(isdefined(param_00)) + { + var_01.tag_idx = param_00; + } + + level.monitored_tag_origins[level.monitored_tag_origins.size] = var_01; + level.monitored_tag_origins = common_scripts\utility::array_removeundefined(level.monitored_tag_origins); + iprintln(level.monitored_tag_origins.size); + return var_01; +} + +//Function Number: 34 +mech_glass_damage_think(param_00) +{ + level endon(param_00); + for(;;) + { + if(isdefined(self)) + { + glassradiusdamage(self.origin,72,1000,100); + } + + wait(0.05); + } +} + +//Function Number: 35 +setstencilstate(param_00) +{ + self hudoutlineenable(6,1); +} + +//Function Number: 36 +clearstencilstate() +{ + if(isdefined(self)) + { + self hudoutlinedisable(); + self hudoutlineenable(0,0); + self hudoutlinedisable(); + setsaveddvar("r_hudoutlinewidth",1); + } +} + +//Function Number: 37 +player_looking_in_direction_2d(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_01)) + { + param_01 = 0.8; + } + + var_04 = maps\_utility::get_player_from_self(); + var_05 = var_04 geteye(); + var_06 = vectortoangles(param_00 - var_05); + var_07 = anglestoforward(var_06); + var_08 = var_04 getplayerangles(); + var_09 = anglestoforward(var_08); + var_07 = vectornormalize((var_07[0],var_07[1],0)); + var_09 = vectornormalize((var_09[0],var_09[1],0)); + var_0A = vectordot(var_07,var_09); + if(var_0A < param_01) + { + return 0; + } + + if(isdefined(param_02)) + { + return 1; + } + + var_0B = bullettrace(param_00,var_05,0,param_03); + return var_0B["fraction"] == 1; +} + +//Function Number: 38 +enable_takedown_hint(param_00,param_01,param_02,param_03,param_04) +{ + self notify("enable_takedown_hint_called"); + self endon("enable_takedown_hint_called"); + var_05 = undefined; + var_06 = undefined; + if(isdefined(param_04)) + { + var_06 = gettime() + param_04 * 1000; + } + + if(isdefined(param_01)) + { + var_05 = param_01 * param_01; + } + + if(!isdefined(level.melee_hint_displayed)) + { + level.melee_hint_displayed = 0; + } + + if(!common_scripts\utility::flag_exist("flag_disable_takedown_hint")) + { + common_scripts\utility::flag_init("flag_disable_takedown_hint"); + } + else + { + common_scripts\utility::flag_clear("flag_disable_takedown_hint"); + } + + level.melee_pressed = 0; + level.should_display_melee_hint = 0; + while(!level.melee_pressed) + { + if(common_scripts\utility::flag("flag_disable_takedown_hint") || isdefined(var_06) && gettime() > var_06) + { + if(level.melee_hint_displayed) + { + level.should_display_melee_hint = 0; + } + + common_scripts\utility::flag_clear("flag_disable_takedown_hint"); + return; + } + + var_07 = distance2dsquared(param_00.origin,level.player.origin); + if(level.melee_hint_displayed) + { + if(isdefined(var_05) && var_07 > var_05 + 10) + { + level.should_display_melee_hint = 0; + } + + if(isdefined(level._cloaked_stealth_settings) && isdefined(level._cloaked_stealth_settings.playing_view_model_cloak_toggle_anim) && level._cloaked_stealth_settings.playing_view_model_cloak_toggle_anim == 1) + { + level.should_display_melee_hint = 0; + } + + if(isdefined(param_02) && param_02) + { + var_08 = param_00 geteye(); + var_09 = 0.9; + if(!level.player player_looking_in_direction_2d(var_08,var_09,1)) + { + level.should_display_melee_hint = 0; + } + } + + continue; + } + + if(!isdefined(var_05) || var_07 <= var_05) + { + var_0A = 1; + if(isdefined(level._cloaked_stealth_settings) && isdefined(level._cloaked_stealth_settings.playing_view_model_cloak_toggle_anim) && level._cloaked_stealth_settings.playing_view_model_cloak_toggle_anim == 1) + { + var_0A = 0; + } + + if(isdefined(param_02) && param_02) + { + var_08 = param_00 geteye(); + var_09 = 0.9; + if(!level.player player_looking_in_direction_2d(var_08,var_09,1)) + { + var_0A = 0; + } + } + + if(var_0A) + { + level.should_display_melee_hint = 1; + level.melee_hint_displayed = 1; + level.player allowmelee(0); + level.takedown_button = param_00 maps\_shg_utility::hint_button_tag("melee","J_SpineUpper"); + maps\_utility::hintdisplaymintimehandler("takedown_hint",undefined); + } + } + + wait(0.05); + } + + self notify("player_completed_takedown"); + common_scripts\utility::flag_set(param_03); +} + +//Function Number: 39 +takedown_hint_off() +{ + var_00 = 0; + if(level.player meleebuttonpressed()) + { + level.melee_pressed = 1; + var_00 = 1; + } + + if(!level.should_display_melee_hint) + { + if(!isdefined(level.player.disable_melee)) + { + level.player allowmelee(1); + } + + var_00 = 1; + } + + if(var_00) + { + level.melee_hint_displayed = 0; + if(isdefined(level.takedown_button)) + { + level.takedown_button maps\_shg_utility::hint_button_clear(); + } + + return 1; + } + + return 0; +} + +//Function Number: 40 +tackle_handle_hint_display() +{ + if(common_scripts\utility::flag("flag_balcony_tackle_too_late") || common_scripts\utility::flag("flag_balcony_tackle_started")) + { + return 1; + } + + return 0; +} + +//Function Number: 41 +process_stab_finale_scene(param_00,param_01,param_02,param_03,param_04) +{ + common_scripts\utility::flag_clear("flag_stop_display_melee_hint"); + level.player endon("flag_stop_display_melee_hint"); + common_scripts\utility::flag_clear("flag_button_melee_success"); + if(!common_scripts\utility::flag_exist("flag_final_melee_pressed")) + { + common_scripts\utility::flag_init("flag_final_melee_pressed"); + } + + common_scripts\utility::flag_clear("flag_final_melee_pressed"); + var_05 = 0; + if(isdefined(param_03)) + { + wait(param_03); + } + + var_06 = param_00 maps\_shg_utility::hint_button_tag("melee",param_01); + var_06.fontscale = 2; + var_06 thread final_scene_handle_melee_hint(); + common_scripts\utility::flag_wait_or_timeout("flag_final_melee_pressed",param_02); + if(common_scripts\utility::flag("flag_final_melee_pressed")) + { + if(param_01 == "J_Wrist_RI") + { + soundscripts\_snd::snd_message("finale_ending_qte1_success"); + } + else + { + soundscripts\_snd::snd_message("finale_ending_qte2_success"); + } + + common_scripts\utility::flag_set("flag_button_melee_success"); + if(isdefined(param_04)) + { + param_00 maps\_utility::anim_stopanimscripted(); + level.irons maps\_utility::anim_stopanimscripted(); + return; + } + + return; + } + + if(param_01 == "J_Wrist_RI") + { + soundscripts\_snd::snd_message("finale_ending_qte1_timeout"); + return; + } + + soundscripts\_snd::snd_message("finale_ending_qte2_timeout"); +} + +//Function Number: 42 +final_scene_handle_melee_hint() +{ + var_00 = 0; + common_scripts\utility::flag_clear("flag_final_melee_pressed"); + while(!common_scripts\utility::flag("flag_stop_display_melee_hint")) + { + if(level.player meleebuttonpressed()) + { + if(!common_scripts\utility::flag("flag_stop_display_melee_hint")) + { + common_scripts\utility::flag_set("flag_final_melee_pressed"); + } + + break; + } + + wait 0.05; + } + + var_00 = 1; + level.melee_hint_displayed = 0; + if(isdefined(self)) + { + maps\_shg_utility::hint_button_clear(); + } +} + +//Function Number: 43 +process_buttonmash_finale_scene(param_00,param_01,param_02,param_03) +{ + param_00 endon("end_process_buttonmash"); + common_scripts\utility::flag_clear("flag_xbutton_mash_end"); + level.player.buttonmash_decay_per_frame = 0.1; + level.player.buttonmash_value = 0; + level.player.buttonmash_add_per_press = 0.2; + level.player notifyonplayercommand("x_pressed","+usereload"); + level.player notifyonplayercommand("x_pressed","+activate"); + param_00 thread maps\_shg_utility::hint_button_create_flashing(param_01,"x","end_process_buttonmash",(0,0,0),35,300,2); + var_04 = 0; + var_05 = 30; + while(var_04 < var_05) + { + if(level.player usebuttonpressed()) + { + soundscripts\_snd::snd_message("finale_ending_buttonmash_start"); + break; + } + + var_04 = var_04 + 1; + wait 0.05; + } + + if(var_04 >= var_05) + { + param_00 thread process_buttonmash_handle_fail(param_03); + } + + childthread buttonmash_monitor(param_03,param_00); + common_scripts\utility::flag_wait("flag_xbutton_mash_end"); + level.player notifyonplayercommandremove("x_pressed","+usereload"); + level.player notifyonplayercommandremove("x_pressed","+activate"); + param_00 notify("end_process_buttonmash"); +} + +//Function Number: 44 +buttonmash_monitor(param_00,param_01) +{ + level notify("notify_buttonmash_monitor_reset"); + level endon("notify_buttonmash_monitor_reset"); + level.player.buttonmash_value = 0; + while(!common_scripts\utility::flag("flag_xbutton_mash_end")) + { + childthread buttonmash_decay(param_00,param_01); + level.player common_scripts\utility::waittill_any("x_pressed","b_pressed","a_pressed"); + level.player.buttonmash_value = level.player.buttonmash_value + level.player.buttonmash_add_per_press; + wait 0.05; + } + + level notify("notify_buttonmash_decay_stop"); +} + +//Function Number: 45 +buttonmash_decay(param_00,param_01) +{ + level notify("notify_buttonmash_decay_stop"); + level endon("notify_buttonmash_decay_stop"); + var_02 = 0; + var_03 = 30; + while(var_02 < var_03) + { + if(level.player.buttonmash_value > 0) + { + level.player.buttonmash_value = level.player.buttonmash_value - level.player.buttonmash_decay_per_frame; + } + + var_02 = var_02 + 1; + wait 0.05; + } + + param_01 thread process_buttonmash_handle_fail(param_00); +} + +//Function Number: 46 +process_buttonmash_handle_hint() +{ + if(common_scripts\utility::flag("flag_xbutton_mash_end") || common_scripts\utility::flag("missionfailed") || level.player usebuttonpressed()) + { + return 1; + } + + return 0; +} + +//Function Number: 47 +process_buttonmash_handle_fail(param_00) +{ + soundscripts\_snd::snd_message("finale_ending_buttonmash_fail"); + common_scripts\utility::flag_set("flag_xbutton_mash_end"); + level.player lightsetforplayer("finale_hang_fail"); + self notify("end_process_buttonmash"); + level notify("audio_finale_qte_fail"); + thread maps\finale_fx::vfx_irons_fail_fall(); + var_01 = [self,level.irons]; + param_00 maps\_anim::anim_single(var_01,"balcony_finale_pt3_fail"); + setdvar("ui_deadquote",""); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 48 +chase_timer_countdown(param_00,param_01) +{ + level notify("chase_timer_countdown_stop"); + level endon("chase_timer_countdown_stop"); + common_scripts\utility::flag_wait_or_timeout("flag_irons_escaped",param_00); + if(param_01 == &"FINALE_FAILED_MISSILE_LAUNCH") + { + level.player showhud(); + level.player setclientomnvar("ui_playermech_hud",0); + setsaveddvar("cg_drawCrosshair",0); + } + + setdvar("ui_deadquote",param_01); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 49 +chase_timer_cancel() +{ + level notify("chase_timer_countdown_stop"); +} + +//Function Number: 50 +sprint_hint_reminder() +{ + while(!common_scripts\utility::flag("flag_player_passed_door")) + { + if(!level.player issprinting()) + { + thread maps\_utility::hintdisplayhandler("player_input_sprint_hint"); + } + + wait 0.05; + } +} + +//Function Number: 51 +player_input_sprint() +{ + if(level.player issprinting() || level.player issprintsliding() || common_scripts\utility::flag("missionfailed")) + { + return 1; + } + + return 0; +} + +//Function Number: 52 +player_chase_speed_control() +{ + level endon("missionfailed"); + var_00 = 1; + var_01 = 0.8; + var_02 = 0.5; + level.too_close_distance = 180; + var_03 = level.too_close_distance + 80; + common_scripts\utility::flag_set("flag_player_speed_control_on"); + level.player setmovespeedscale(var_00); + while(common_scripts\utility::flag("flag_player_speed_control_on")) + { + if(distance(level.player.origin,level.irons.origin) < level.too_close_distance) + { + while(var_00 >= var_01 && distance(level.player.origin,level.irons.origin) < level.too_close_distance && common_scripts\utility::flag("flag_player_speed_control_on")) + { + var_00 = var_00 - 0.05; + level.player setmovespeedscale(var_00); + wait(var_02); + } + + while(distance(level.player.origin,level.irons.origin) < var_03 && common_scripts\utility::flag("flag_player_speed_control_on")) + { + wait 0.05; + } + + while(var_00 < 1 && distance(level.player.origin,level.irons.origin) < level.too_close_distance & common_scripts\utility::flag("flag_player_speed_control_on")) + { + var_00 = var_00 + 0.05; + level.player setmovespeedscale(var_00); + wait(var_02); + } + + if(var_00 > 1) + { + var_00 = 1; + level.player setmovespeedscale(var_00); + } + } + + wait 0.05; + } + + level.player setmovespeedscale(1); +} + +//Function Number: 53 +lowering_door_think(param_00,param_01,param_02,param_03,param_04,param_05) +{ + var_06 = getent(param_01,"targetname"); + var_07 = getent(param_02,"targetname"); + param_03 = getent(param_03,"targetname"); + thread lowering_door_slide_hint(); + if(isdefined(param_04)) + { + common_scripts\utility::flag_wait(param_04); + } + + var_07 linkto(var_06); + soundscripts\_snd::snd_message("irons_chase_door_close",var_06); + var_06 move_door_to_position(param_03.origin,param_00,undefined,undefined,param_05); + if(!common_scripts\utility::flag("flag_player_passed_door")) + { + chase_timer_cancel(); + setdvar("ui_deadquote",&"FINALE_FAILED_IRONS_CHASE"); + maps\_utility::missionfailedwrapper(); + } +} + +//Function Number: 54 +move_door_to_position(param_00,param_01,param_02,param_03,param_04) +{ + self endon("death"); + if(isdefined(param_04)) + { + param_04 = getent(param_04,"targetname"); + } + + var_05 = distance(param_00,self.origin); + var_06 = 0; + var_07 = self.origin; + while(var_06 < var_05) + { + var_08 = getlerpfraction(self.origin,param_00,param_01,param_02); + if(var_08 == 0) + { + break; + } + + self.origin = vectorlerp(self.origin,param_00,var_08); + if(isdefined(param_03)) + { + self.angles = self.angles + param_03; + } + + var_06 = distance(self.origin,var_07); + if(isdefined(param_04)) + { + var_09 = 0; + while(level.player istouching(param_04)) + { + var_09 = var_09 + 1; + if(var_09 == 30) + { + level.player kill(); + break; + } + + wait 0.05; + } + } + + wait(0.05); + } + + level notify("lerp_complete"); +} + +//Function Number: 55 +getlerpfraction(param_00,param_01,param_02,param_03) +{ + var_04 = distance(param_00,param_01); + if(param_02 == 0 || var_04 == 0) + { + return 0; + } + + var_05 = param_02 / var_04 * 0.05; + if(var_05 > 0) + { + return var_05; + } + + return 0; +} + +//Function Number: 56 +lowering_door_slide_hint() +{ + self notify("slide_hint"); + self endon("slide_hint"); + var_00 = getent("vol_door_slide_reminder","targetname"); + while(!common_scripts\utility::flag("flag_player_passed_door")) + { + if(level.player istouching(var_00)) + { + thread maps\_utility::hintdisplayhandler("player_input_slide_button"); + } + + wait 0.05; + } +} + +//Function Number: 57 +player_input_slide_under_door() +{ + if(common_scripts\utility::flag("flag_player_passed_door") || common_scripts\utility::flag("missionfailed")) + { + return 1; + } + + return 0; +} + +//Function Number: 58 +build_new_view_matrix(param_00) +{ + var_01 = anglestoright(self.angles); + var_02 = vectorcross(param_00,var_01); + var_03 = axistoangles(param_00,var_01,var_02); + return var_03; +} + +//Function Number: 59 +get_goal_angles_ramped_given_viewdir(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = anglestoforward(param_00); + var_06 = 1; + if(gettime() < param_03) + { + var_06 = gettime() - param_02 / param_03 - param_02; + } + + if(isdefined(param_04) && var_06 > param_04) + { + var_06 = param_04; + } + + var_07 = 1 - var_06; + param_01 = var_06 * param_01 + var_07 * var_05; + var_08 = build_new_view_matrix(param_01); + return var_08; +} + +//Function Number: 60 +rotate_camera_to_see_ent(param_00,param_01,param_02,param_03) +{ + self.target_entity = param_00; + var_04 = self.target_entity.origin - self.origin; + var_05 = vectornormalize(var_04); + rotate_camera_to_internal(var_05,param_01,param_02,1,param_03); +} + +//Function Number: 61 +rotate_camera_to_offset_angles(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = (param_00,param_01,param_02); + var_06 = combineangles(self.angles,var_05); + var_07 = anglestoforward(var_06); + var_07 = vectornormalize(var_07); + rotate_camera_to_internal(var_07,param_03,param_04); +} + +//Function Number: 62 +rotate_camera_to_match_ent(param_00,param_01,param_02) +{ + var_03 = anglestoforward(param_00.angles); + var_04 = vectornormalize(var_03); + rotate_camera_to_internal(var_04,param_01,param_02,1); +} + +//Function Number: 63 +rotate_camera_to_internal(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = self.angles; + var_06 = gettime(); + var_07 = gettime() + param_02 * 1000; + var_08 = gettime() + param_01 * 1000; + if(!isdefined(param_03)) + { + param_03 = 0; + } + + while(gettime() <= var_08) + { + var_09 = get_goal_angles_ramped_given_viewdir(var_05,param_00,var_06,var_07,param_04); + iprintln(var_09); + self unlink(); + self.angles = var_09; + self linkto(level.player.drivingvehicle); + thread maps\_shg_debug::draw_axis(self.origin,var_09,10); + wait 0.05; + if(param_03) + { + var_0A = self.target_entity.origin - self.origin; + param_00 = vectornormalize(var_0A); + } + } +} + +//Function Number: 64 +camera_sway_tuning() +{ + level.values[0] = 0.2; + level.values[1] = 4.1; + level.values[2] = 0.56; + level.values[3] = 2; + level.values[4] = 0.95; + level.values[5] = 0; + level.values[6] = 0; + level.values[7] = 0.4; + level.values[8] = 0.1; + level.values[9] = 0.1; + var_00[0] = "scalePitch"; + var_00[1] = "scaleyaw"; + var_00[2] = "scaleroll"; + var_00[3] = "duration"; + var_00[4] = "durationfadeup"; + var_00[5] = "durationfadedown"; + var_00[6] = "radius"; + var_00[7] = "frequencypitch"; + var_00[8] = "frequencyyaw"; + var_00[9] = "frequencyroll"; + var_01 = 0; + var_02 = 0; + for(;;) + { + if(level.player buttonpressed("DPAD_LEFT")) + { + var_01++; + if(var_01 >= var_00.size) + { + var_01 = 0; + } + + var_02 = 1; + wait(0.5); + } + else if(level.player buttonpressed("DPAD_RIGHT")) + { + var_01--; + if(var_01 < 0) + { + var_01 = var_00.size - 1; + } + + var_02 = 1; + wait(0.5); + } + else if(level.player buttonpressed("DPAD_UP")) + { + level.values[var_01] = level.values[var_01] + 0.05; + var_02 = 1; + } + else if(level.player buttonpressed("DPAD_DOWN")) + { + level.values[var_01] = level.values[var_01] - 0.05; + var_02 = 1; + } + + if(var_02) + { + var_03 = var_00[var_01] + "(" + level.values[var_01] + ") "; + iprintln(var_03); + var_02 = 0; + } + + wait 0.05; + } +} + +//Function Number: 65 +boat_bobbing_think(param_00) +{ + level endon("boat_scene_cleanup"); + self endon("death"); + if(!isdefined(param_00)) + { + param_00 = common_scripts\utility::get_target_ent(); + param_00 linkto(self); + } + + maps\_utility::ent_flag_init("flag_big_bobbing"); + for(;;) + { + var_01 = boat_scene_small_bob_settings(); + maps\_bobbing_boats::prep_bobbing([self],::maps\_bobbing_boats::bobbingobject,var_01,0); + thread maps\_bobbing_boats::start_bobbing_single(randomfloatrange(0,1)); + maps\_utility::ent_flag_wait("flag_big_bobbing"); + var_01 = boat_scene_big_bob_settings(); + maps\_bobbing_boats::prep_bobbing([self],::maps\_bobbing_boats::bobbingobject,var_01,0); + thread maps\_bobbing_boats::start_bobbing_single(randomfloatrange(0,1)); + maps\_utility::ent_flag_waitopen("flag_big_bobbing"); + } +} + +//Function Number: 66 +boat_scene_small_bob_settings() +{ + var_00 = spawnstruct(); + var_00.max_pitch = 3; + var_00.min_pitch_period = 3; + var_00.max_pitch_period = 6; + var_00.max_yaw = 6; + var_00.min_yaw_period = 3; + var_00.max_yaw_period = 6; + var_00.max_roll = 6; + var_00.min_roll_period = 3; + var_00.max_roll_period = 6; + var_00.max_sink = 4; + var_00.max_float = 6; + var_00.min_bob_period = 2; + var_00.max_bob_period = 4; + return var_00; +} + +//Function Number: 67 +boat_scene_big_bob_settings() +{ + var_00 = spawnstruct(); + var_00.max_pitch = 3; + var_00.min_pitch_period = 3; + var_00.max_pitch_period = 6; + var_00.max_yaw = 0; + var_00.min_yaw_period = 3; + var_00.max_yaw_period = 6; + var_00.max_roll = 6; + var_00.min_roll_period = 3; + var_00.max_roll_period = 6; + var_00.max_sink = 36; + var_00.max_float = 24; + var_00.min_bob_period = 3; + var_00.max_bob_period = 6; + return var_00; +} + +//Function Number: 68 +postspawn_rpg_vehicle() +{ + self setmodel("projectile_rpg7"); + var_00 = common_scripts\utility::getfx("rpg_trail"); + playfxontag(var_00,self,"tag_origin"); + var_00 = common_scripts\utility::getfx("rpg_muzzle"); + playfxontag(var_00,self,"tag_origin"); + self playsound("weap_rpg_fire_npc"); + if(isdefined(self.script_sound)) + { + if(isdefined(self.script_wait)) + { + common_scripts\utility::delaycall(self.script_wait,::playsound,self.script_sound); + } + else + { + self playsound(self.script_sound); + } + } + else + { + self playloopsound("weap_rpg_loop"); + } + + self waittill("reached_end_node"); + self notify("explode",self.origin); + var_01 = 0; + if(isdefined(self.currentnode)) + { + var_02 = undefined; + var_03 = self.currentnode; + while(isdefined(var_03)) + { + var_02 = var_03; + if(!isdefined(var_03.target)) + { + break; + } + + var_03 = getvehiclenode(var_03.target,"targetname"); + } + + if(isdefined(var_02.target)) + { + var_04 = common_scripts\utility::getstruct(var_02.target,"targetname"); + if(isdefined(var_04)) + { + level thread rpg_explosion(var_04.origin,var_04.angles); + var_01 = 1; + } + } + } + + if(!var_01) + { + var_04 = spawnstruct(); + var_04.origin = self.origin; + var_04.angles = (-90,0,0); + level thread rpg_explosion(var_04.origin,var_04.angles); + } + + self delete(); +} + +//Function Number: 69 +rpg_explosion(param_00,param_01) +{ + var_02 = common_scripts\utility::getfx("rpg_explode"); + playfx(var_02,param_00,anglestoforward(param_01),anglestoup(param_01)); + radiusdamage(param_00,200,150,50); + thread common_scripts\utility::play_sound_in_space("null",param_00); +} + +//Function Number: 70 +combat_silo_seeker_ai() +{ + var_00 = 2; + var_01 = []; + for(;;) + { + var_02 = getaiarray("axis"); + var_03 = []; + foreach(var_05 in var_02) + { + if(issubstr(var_05.classname,"mech")) + { + var_03[var_03.size] = var_05; + } + } + + wait 0.05; + var_01 = []; + for(var_07 = 0;var_07 < var_00;var_07++) + { + if(var_03.size > var_07) + { + var_05 = maps\_utility::get_closest_living(level.player.origin,var_03); + if(isalive(var_05)) + { + if(isdefined(var_05.magic_bullet_shield)) + { + var_05 maps\_utility::stop_magic_bullet_shield(); + } + + var_05.playerseeker = 1; + var_05 cleargoalvolume(); + var_05 thread maps\_utility::player_seek(); + var_05.favoriteenemy = level.player; + var_01[var_01.size] = var_05; + } + } + } + + if(var_01.size > 0) + { + maps\_utility::array_wait(var_01,"death"); + } + + wait(2); + } + + foreach(var_09 in var_01) + { + if(isalive(var_09)) + { + var_09 notify("goal"); + } + } +} + +//Function Number: 71 +murder_player_seek() +{ + self cleargoalvolume(); + self.favoriteenemy = level.player; + maps\_utility::set_baseaccuracy(999); + self setgoalentity(level.player); + self.goalradius = 20; + self.combatmode = "no_cover"; + self notify("end_patrol"); + level.player enablehealthshield(0); +} + +//Function Number: 72 +get_follow_volume_array() +{ + var_00 = getent("info_v_silo_top","targetname"); + var_01 = getent("info_v_silo_bottom","targetname"); + var_02 = [var_00,var_01]; + level.player.follow_volume_designated_head_top = var_00; + level.player.follow_volume_designated_head_bottom = var_01; + var_03 = var_02; + foreach(var_05 in var_02) + { + for(var_06 = var_05;isdefined(var_06.target) && isdefined(getent(var_06.target,"targetname"));var_06 = var_07) + { + var_07 = getent(var_06.target,"targetname"); + var_03[var_03.size] = var_07; + } + } + + return var_03; +} + +//Function Number: 73 +get_opposite_volume(param_00) +{ + var_01 = undefined; + if(isdefined(param_00.script_linkto)) + { + var_01 = getent(param_00.script_linkto,"script_linkname"); + } + else if(isdefined(param_00.script_linkname)) + { + foreach(var_03 in level.player.follow_volume_array) + { + if(isdefined(var_03.script_linkto) && var_03.script_linkto == param_00.script_linkname) + { + var_01 = var_03; + break; + } + } + } + + if(!isdefined(var_01)) + { + var_01 = "opposite not found"; + } + + return var_01; +} + +//Function Number: 74 +player_follow_volume_think() +{ + self endon("kill_player_follow_volume_think"); + self endon("death"); + self.match_player_floor_percent = 0.75; + self.follow_volume_array = get_follow_volume_array(); + level.player.follow_volume_maintain_count = 0; + var_00 = 0; + for(;;) + { + var_01 = get_non_mech_enemies(); + var_02 = 0; + var_03 = 0; + if(var_00 != var_01.size) + { + if(var_01.size <= 3) + { + var_02 = 1; + } + + if(var_00 <= 3 && var_01.size > 3) + { + var_03 = 1; + } + } + + foreach(var_05 in self.follow_volume_array) + { + if((!isdefined(self.follow_volume) || var_02 || var_03 || self.follow_volume != var_05) && self istouching(var_05)) + { + if(var_02) + { + self.match_player_floor_percent = 1; + } + else if(!isdefined(self.follow_volume)) + { + self.match_player_floor_percent = 0.75; + } + else + { + self.match_player_floor_percent = 0.75; + } + + self.follow_volume = var_05; + if(!isdefined(var_05.target)) + { + self.follow_volume_target = self.follow_volume; + } + else + { + self.follow_volume_target = getent(var_05.target,"targetname"); + } + + self.follow_volume_target_opposite = get_opposite_volume(self.follow_volume_target); + foreach(var_07 in var_01) + { + var_07.follow_volume = undefined; + } + + level.player.follow_volume_maintain_count = 0; + if(!isdefined(self.follow_volume_target)) + { + self.follow_volume_target = self.follow_volume; + } + + break; + } + } + + var_00 = var_01.size; + wait 0.05; + } +} + +//Function Number: 75 +get_non_mech_enemies() +{ + var_00 = getaiarray("axis"); + var_01 = []; + foreach(var_03 in var_00) + { + if(var_03.classname != "actor_enemy_mech") + { + var_01[var_01.size] = var_03; + } + } + + return var_01; +} + +//Function Number: 76 +is_goal_blocked(param_00) +{ + if(isdefined(param_00.script_flag_true) && !common_scripts\utility::flag(param_00.script_flag_true)) + { + return 1; + } + + return 0; +} + +//Function Number: 77 +move_guy(param_00,param_01,param_02) +{ + if(!isdefined(param_02)) + { + param_02 = undefined; + param_00 = level.player.follow_volume_designated_head_top; + param_01 = level.player.follow_volume_designated_head_bottom; + } + + var_03 = get_floor_count_array(); + var_04 = var_03[0]; + var_05 = var_03[1]; + var_06 = 0; + if(var_04 + var_05 > 0) + { + var_06 = var_04 / var_04 + var_05; + } + + var_07 = undefined; + var_08 = undefined; + if(var_06 <= level.player.match_player_floor_percent) + { + var_07 = param_00; + var_08 = 1; + } + else + { + var_07 = param_01; + var_08 = 2; + } + + if(is_goal_blocked(var_07)) + { + if(isstring(var_07) || !isdefined(var_07)) + { + self.follow_volume = "opposite not found"; + return 0; + } + + if(var_07 == param_00) + { + var_07 = param_02; + var_08 = 3; + } + else + { + var_07 = get_opposite_volume(param_02); + var_08 = 4; + } + } + + self cleargoalvolume(); + self.goalradius = 256; + self setgoalvolumeauto(var_07); + self.follow_volume = var_07; + return var_08; +} + +//Function Number: 78 +follow_volume_think() +{ + self endon("death"); + if(self.classname == "actor_enemy_mech") + { + return; + } + + thread death_watcher(); + self.follow_volume_status = 0; + if(1) + { + self.follow_volume_status = move_guy(level.player.follow_volume_target,level.player.follow_volume_target_opposite,level.player.follow_volume); + } + + for(;;) + { + if(!has_target_volume()) + { + self.follow_volume_status = move_guy(level.player.follow_volume_target,level.player.follow_volume_target_opposite,level.player.follow_volume); + } + else if(1 && level.player.follow_volume_maintain_count > 0 && check_move_me_to_maintain_ratio()) + { + level.player.follow_volume_maintain_count--; + self.follow_volume_status = move_guy(level.player.follow_volume_target,level.player.follow_volume_target_opposite,level.player.follow_volume); + } + else if(is_guy_follow_status_blocked()) + { + if(!is_goal_blocked(self.follow_volume)) + { + var_00 = getent(self.follow_volume.target,"targetname"); + var_01 = get_opposite_volume(var_00); + self.follow_volume_status = move_guy(var_00,var_01,self.follow_volume); + } + } + + wait(randomfloatrange(1,5)); + } +} + +//Function Number: 79 +death_watcher() +{ + self waittill("death"); + if(isdefined(self.follow_volume) && !isstring(self.follow_volume)) + { + level.player.follow_volume_maintain_count++; + } +} + +//Function Number: 80 +check_move_me_to_maintain_ratio() +{ + if(!1) + { + return 0; + } + + var_00 = get_floor_count_array(); + var_01 = var_00[0]; + var_02 = var_00[1]; + var_03 = 0; + if(var_01 + var_02 > 0) + { + var_03 = var_01 / var_01 + var_02; + } + + if(var_03 <= level.player.match_player_floor_percent) + { + if(self.follow_volume_status != 1 && self.follow_volume_status != 3) + { + return 1; + } + } + else if(self.follow_volume_status != 2 && self.follow_volume_status != 4) + { + return 1; + } + + return 0; +} + +//Function Number: 81 +has_target_volume() +{ + if(isdefined(self.follow_volume)) + { + return 1; + } + + return 0; +} + +//Function Number: 82 +is_guy_follow_status_blocked() +{ + return self.follow_volume_status == 3 || self.follow_volume_status == 4; +} + +//Function Number: 83 +get_floor_count_array() +{ + var_00 = 0; + var_01 = 0; + var_02 = getaiarray("axis"); + foreach(var_04 in var_02) + { + if(isdefined(var_04.follow_volume) && isdefined(var_04.follow_volume_status) && var_04.follow_volume_status == 1 || var_04.follow_volume_status == 3) + { + var_00++; + } + + if(isdefined(var_04.follow_volume) && isdefined(var_04.follow_volume_status) && var_04.follow_volume_status == 2 || var_04.follow_volume_status == 4) + { + var_01++; + } + } + + return [var_00,var_01]; +} + +//Function Number: 84 +set_level_player_rumble_ent_intensity(param_00) +{ + if(!isdefined(level.rumble_ent)) + { + level.rumble_ent = maps\_utility::get_rumble_ent("steady_rumble",0); + } + + if(isdefined(param_00)) + { + level.rumble_ent.intensity = param_00; + } + else + { + level.rumble_ent.intensity = 0; + } + + level.rumble_ent.base_intensity = level.rumble_ent.intensity; +} + +//Function Number: 85 +set_level_player_rumble_ent_intensity_for_time(param_00,param_01) +{ + if(!isdefined(level.rumble_ent)) + { + level.rumble_ent = maps\_utility::get_rumble_ent("steady_rumble",0); + } + + if(!isdefined(level.rumble_ent.base_intensity)) + { + level.rumble_ent.base_intensity = 0; + } + + if(isdefined(param_00)) + { + level.rumble_ent.intensity = param_00; + } + else + { + level.rumble_ent.intensity = 0; + } + + if(isdefined(param_01)) + { + wait(param_01); + } + else + { + wait(0.25); + } + + level.rumble_ent.intensity = level.rumble_ent.base_intensity; +} + +//Function Number: 86 +get_closest_point_on_segment(param_00,param_01,param_02) +{ + return get_closest_point_from_segment_to_segment(param_00,param_00,param_01,param_02); +} + +//Function Number: 87 +get_closest_point_from_segment_to_segment(param_00,param_01,param_02,param_03) +{ + var_04 = 0.001; + var_05 = undefined; + var_06 = param_01 - param_00; + var_07 = param_03 - param_02; + var_08 = param_00 - param_02; + var_09 = vectordot(var_06,var_06); + var_0A = vectordot(var_07,var_07); + var_0B = vectordot(var_07,var_08); + var_0C = 0; + if(var_09 <= var_04 && var_0A <= var_04) + { + var_05 = 0; + var_0D = 0; + var_0E = param_00; + var_0F = param_02; + return [var_05,vectordot(var_0E - var_0F,var_0E - var_0F),var_0E,var_0F]; + } + + if(var_0C <= var_07) + { + var_08 = 0; + var_0D = var_0E / var_0D; + var_0F = clamp(var_0F,0,1); + } + else + { + var_10 = vectordot(var_09,var_0B); + if(var_0C <= var_06) + { + var_0F = 0; + var_07 = clamp(-1 * var_10 / var_0B,0,1); + } + else + { + var_11 = vectordot(var_08,var_09); + var_12 = var_0B * var_0C - var_11 * var_11; + if(var_12 != 0) + { + var_07 = clamp(var_11 * var_0D - var_10 * var_0C / var_12,0,1); + } + else + { + var_07 = 0; + } + + var_0F = var_11 * var_07 + var_0D / var_0C; + if(var_0F < 0) + { + var_0F = 0; + var_07 = clamp(-1 * var_10 / var_0B,0,1); + } + else if(var_0F > 1) + { + var_0F = 1; + var_07 = clamp(var_11 - var_10 / var_0B,0,1); + } + } + } + + var_0E = param_02 + var_08 * var_07; + var_0F = param_03 + var_08 * var_0E; + return [var_0D,vectordot(var_0E - var_0F,var_0E - var_0F),var_0E,var_0F]; +} \ No newline at end of file diff --git a/AW/PC/maps/finale_vo.gsc b/AW/PC/maps/finale_vo.gsc new file mode 100644 index 0000000..47974c9 --- /dev/null +++ b/AW/PC/maps/finale_vo.gsc @@ -0,0 +1,642 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: finale_vo.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 42 + * Decompile Time: 633 ms + * Timestamp: 4/22/2024 2:29:31 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setup_vo(); + init_dialogue_flags(); + thread start_dialogue_threads(); + thread init_pcap_vo(); +} + +//Function Number: 2 +setup_vo() +{ + var_00 = "gideon_mech"; + var_01 = "gideon"; + level.scr_radio["fin_mchl_itwasaplanonlygideon"] = "fin_mchl_itwasaplanonlygideon"; + level.scr_radio["fin_kgn_sentineltwoonewearestill"] = "fin_kgn_sentineltwoonewearestill"; + level.scr_sound[var_00]["fin_gdn_copythatkingpin2"] = "fin_gdn_copythatkingpin2"; + level.scr_sound[var_00]["fin_gdn_whataboutdronesupport"] = "fin_gdn_whataboutdronesupport"; + level.scr_radio["fin_kgn_negativetwooneallunmannedassets"] = "fin_kgn_negativetwooneallunmannedassets"; + level.scr_sound[var_00]["fin_gdn_copythat"] = "fin_gdn_copythat"; + level.scr_radio["fin_iln1_youvegotattackboatsclosing"] = "fin_iln1_youvegotattackboatsclosing"; + level.scr_sound[var_00]["fin_gdn_iseeem"] = "fin_gdn_iseeem"; + level.scr_sound[var_00]["fin_gdn_enemiesontheoverpass"] = "fin_gdn_enemiesontheoverpass"; + level.scr_sound[var_00]["fin_gdn_moreboatsbelowus"] = "fin_gdn_moreboatsbelowus"; + level.scr_sound[var_00]["fin_gdn_goodhit"] = "fin_gdn_goodhit"; + level.scr_sound[var_00]["fin_gdn_moreboatsinbound"] = "fin_gdn_moreboatsinbound"; + level.scr_sound[var_00]["fin_gdn_keepfiring"] = "fin_gdn_keepfiring"; + level.scr_sound[var_00]["fin_gdn_mitchellhitthosedamnboats"] = "fin_gdn_mitchellhitthosedamnboats"; + level.scr_radio["fin_iln1_meterstodroppoint"] = "fin_iln1_meterstodroppoint"; + level.scr_sound[var_00]["fin_gdn_watersclear"] = "fin_gdn_watersclear"; + level.scr_sound[var_00]["fin_iln1_thisitisdetachnow"] = "fin_iln1_thisitisdetachnow"; + level.scr_sound[var_00]["fin_iln1_michelldetach"] = "fin_iln1_michelldetach"; + level.scr_sound[var_00]["fin_iln1_dropnowmitchell"] = "fin_iln1_dropnowmitchell"; + level.scr_sound[var_00]["fin_gdn_breachpointisupahead"] = "fin_gdn_breachpointisupahead"; + level.scr_radio["fin_iln1_gideonthermalreadingsarespiking"] = "fin_iln1_gideonthermalreadingsarespiking"; + level.scr_sound[var_00]["fin_gdn_wellmakeit"] = "fin_gdn_wellmakeit"; + level.scr_sound[var_00]["fin_gdn_mitchellonme"] = "fin_gdn_mitchellonme"; + level.scr_sound[var_00]["fin_gdn_ilonawereinside"] = "fin_gdn_ilonawereinside"; + level.scr_radio["fin_iln1_youshouldberightnext"] = "fin_iln1_youshouldberightnext"; + level.scr_radio["fin_pa_securitybreachinthesilo"] = "fin_pa_securitybreachinthesilo"; + level.scr_radio["fin_pa_intrudersinsectorfour"] = "fin_pa_intrudersinsectorfour"; + level.scr_sound[var_00]["fin_gdn_contact"] = "fin_gdn_contact"; + level.scr_sound[var_00]["fin_gdn_ilonathemissilesshielded"] = "fin_gdn_ilonathemissilesshielded"; + level.scr_radio["fin_iln1_headdown"] = "fin_iln1_headdown"; + level.scr_sound[var_00]["fin_gdn_copy2"] = "fin_gdn_copy2"; + level.scr_sound[var_00]["fin_gdn_downthestairs"] = "fin_gdn_downthestairs"; + level.scr_sound[var_00]["fin_gdn_keepmovingforward"] = "fin_gdn_keepmovingforward"; + level.scr_sound[var_00]["fin_gdn_theyregoingtolaunch"] = "fin_gdn_theyregoingtolaunch"; + level.scr_sound[var_00]["fin_gdn_astsaheadtargetthemfirst"] = "fin_gdn_astsaheadtargetthemfirst"; + level.scr_radio["fin_iln1_theresanaccesspointto"] = "fin_iln1_theresanaccesspointto"; + level.scr_sound[var_00]["fin_gdn_gotitkeeppushingforward"] = "fin_gdn_gotitkeeppushingforward"; + level.scr_radio["fin_pa_launchintminus5minutes"] = "fin_pa_launchintminus5minutes"; + level.scr_radio["fin_pa_launchintminus4minutes"] = "fin_pa_launchintminus4minutes"; + level.scr_radio["fin_pa_launchintminus3minutes"] = "fin_pa_launchintminus3minutes"; + level.scr_radio["fin_pa_launchintminus2minutes"] = "fin_pa_launchintminus2minutes"; + level.scr_radio["fin_pa_launchintminus1minute"] = "fin_pa_launchintminus1minute"; + level.scr_radio["fin_pa_stage3boosterscheckcomplete"] = "fin_pa_stage3boosterscheckcomplete"; + level.scr_radio["fin_pa_cargoloadinginprogress"] = "fin_pa_cargoloadinginprogress"; + level.scr_radio["fin_pa_cargoloadingcomplete"] = "fin_pa_cargoloadingcomplete"; + level.scr_sound[var_00]["fin_gdn_theresthehatch"] = "fin_gdn_theresthehatch"; + level.scr_sound[var_00]["fin_gdn_mitchellopenthehatch"] = "fin_gdn_mitchellopenthehatch"; + level.scr_sound[var_00]["fin_gdn_needyourhelpmitchell"] = "fin_gdn_needyourhelpmitchell"; + level.scr_sound[var_00]["fin_gdn_go3"] = "fin_gdn_go3"; + level.scr_radio["fin_iln1_gideonthelaunchisstarting"] = "fin_iln1_gideonthelaunchisstarting"; + level.scr_radio["fin_pa_beginprimaryignitionin5"] = "fin_pa_beginprimaryignitionin5"; + level.scr_sound[var_00]["fin_gdn_braceyourself"] = "fin_gdn_braceyourself"; + level.scr_sound[var_00]["fin_gdn_keepgoing"] = "fin_gdn_keepgoing"; + level.scr_sound[var_00]["fin_gdn_hititwitheverythingyouve"] = "fin_gdn_hititwitheverythingyouve"; + level.scr_sound[var_00]["fin_gdn_shoottheengines"] = "fin_gdn_shoottheengines"; + level.scr_sound[var_00]["fin_gdn_shootitmitchell"] = "fin_gdn_shootitmitchell"; + level.scr_sound[var_00]["fin_gdn_hittheenginesmitchell"] = "fin_gdn_hittheenginesmitchell"; + level.scr_sound[var_00]["fin_gdn_thatsitkeepshooting"] = "fin_gdn_thatsitkeepshooting"; + level.scr_sound[var_00]["fin_gdn_takeoutthemissilesengines"] = "fin_gdn_takeoutthemissilesengines"; + level.scr_sound[var_00]["fin_gdn_thatsit"] = "fin_gdn_thatsit"; + level.scr_sound[var_01]["fin_gdn_holdthemoff"] = "fin_gdn_holdthemoff"; + level.scr_sound[var_01]["fin_gdn_morecomingin"] = "fin_gdn_morecomingin"; + level.scr_sound[var_01]["fin_gdn_gottakeepmoving"] = "fin_gdn_gottakeepmoving"; + level.scr_radio["fin_kgn_sentineltwoonecitydefensesare"] = "fin_kgn_sentineltwoonecitydefensesare"; + level.scr_sound[var_01]["fin_gdn_copythatkingpin"] = "fin_gdn_copythatkingpin"; + level.scr_radio["fin_kgn_static"] = "fin_kgn_static"; + level.scr_sound[var_01]["fin_gdn_ilonaareyoureceiving"] = "fin_gdn_ilonaareyoureceiving"; + level.scr_radio["fin_iln1_static"] = "fin_iln1_static"; + level.scr_sound[var_01]["fin_gdn_damnwerecutoff"] = "fin_gdn_damnwerecutoff"; + level.scr_sound[var_01]["fin_gdn_imsettingyoudown"] = "fin_gdn_imsettingyoudown"; + level.scr_sound[var_01]["fin_gdn_needtofindsomelight"] = "fin_gdn_needtofindsomelight"; + level.scr_sound[var_01]["fin_gdn_dontletironsgetaway"] = "fin_gdn_dontletironsgetaway"; + level.scr_sound[var_01]["fin_gdn_hurrymitchell"] = "fin_gdn_hurrymitchell"; + level.scr_sound[var_01]["fin_gdn_keepgoing2"] = "fin_gdn_keepgoing2"; +} + +//Function Number: 3 +init_dialogue_flags() +{ + common_scripts\utility::flag_init("flag_dialogue_intro_black_complete"); + common_scripts\utility::flag_init("flag_dialogue_se_will_reveal"); + common_scripts\utility::flag_init("flag_dialogue_gideon_canal_breach_ready"); + common_scripts\utility::flag_init("flag_dialogue_canal_breach_complete"); + common_scripts\utility::flag_init("flag_dialogue_ast_ahead"); + common_scripts\utility::flag_init("flag_dialogue_launch_coundown_complete"); + common_scripts\utility::flag_init("flag_dialogue_exhaust_hatch"); + common_scripts\utility::flag_init("flag_dialogue_carry_scene_01"); + common_scripts\utility::flag_init("flag_dialogue_carry_scene_02"); + common_scripts\utility::flag_init("flag_dialogue_carry_scene_02_complete"); +} + +//Function Number: 4 +start_dialogue_threads() +{ + switch(level.start_point) + { + case "default": + case "intro": + dialogue_intro_black(); + break; + + case "intro_skip": + dialogue_intro(); + dialogue_overpass(); + dialogue_more_boats(); + thread dialogue_boat_destroyed(); + thread dialogue_water_clear(); + dialogue_approaching_drop_point(); + dialogue_ready_to_drop(); + break; + + case "canal": + dialogue_canal_start(); + dialogue_breach_ahead(); + break; + + case "canal_breach": + dialogue_breach_complete(); + break; + + case "silo_approach": + thread dialogue_pa_security_breach(); + dialogue_silo_contact(); + dialogue_head_to_exhaust_vent(); + dialogue_keep_moving(); + break; + + case "silo_floor_03": + thread dialogue_pa_launch_coundown(); + dialogue_ast_ahead(); + break; + + case "silo_door_kick": + dialogue_hatch_position(); + break; + + case "silo_exhaust_entrance": + dialogue_exhaust_hatch(); + dialogue_into_exhaust_hatch(); + dialogue_missile_launch(); + dialogue_missile_damage(); + break; + + case "lobby": + dialogue_carry_scene_01(); + break; + + case "sky_bridge": + dialogue_carry_scene_02(); + break; + + case "will_room": + dialogue_will_revael(); + break; + + case "irons_chase": + dialogue_chase_irons(); + break; + + case "roof": + dialogue_irons_ending(); + break; + + default: + break; + } +} + +//Function Number: 5 +dialogue_intro_black() +{ + common_scripts\utility::flag_wait("flag_chyron_finale_complete"); + wait(1); + soundscripts\_snd::snd_music_message("mitchell_vo_intro"); + level maps\_utility::dialogue_queue("fin_mchl_itwasaplanonlygideon"); + wait(0.25); + common_scripts\utility::flag_set("flag_dialogue_intro_black_complete"); + soundscripts\_snd::snd_music_message("game_play_begin"); +} + +//Function Number: 6 +dialogue_intro() +{ + common_scripts\utility::flag_wait("flag_intro_screen_complete"); + level maps\_utility::dialogue_queue("fin_kgn_sentineltwoonewearestill"); + level.gideon maps\_utility::dialogue_queue("fin_gdn_copythatkingpin2"); + level maps\_utility::dialogue_queue("fin_iln1_youvegotattackboatsclosing"); + level.gideon maps\_utility::dialogue_queue("fin_gdn_iseeem"); + soundscripts\_snd::snd_music_message("weapons_free"); +} + +//Function Number: 7 +dialogue_overpass() +{ + common_scripts\utility::flag_wait("flag_combat_flyin_bridge_01"); + wait(3); + level.gideon maps\_utility::dialogue_queue("fin_gdn_enemiesontheoverpass"); +} + +//Function Number: 8 +dialogue_more_boats() +{ + common_scripts\utility::flag_wait("flag_chase_boats_path_02"); + level.gideon maps\_utility::dialogue_queue("fin_gdn_moreboatsbelowus"); + level.gideon maps\_utility::dialogue_queue("fin_gdn_keepfiring"); + wait(4); + if(!common_scripts\utility::flag("flag_boat_single_dead")) + { + level.gideon maps\_utility::dialogue_queue("fin_gdn_mitchellhitthosedamnboats"); + } +} + +//Function Number: 9 +dialogue_boat_destroyed() +{ + common_scripts\utility::flag_wait("flag_boat_single_dead"); + wait(1); + if(!common_scripts\utility::flag("flag_intro_flyin_release")) + { + level.gideon maps\_utility::dialogue_queue("fin_gdn_goodhit"); + } +} + +//Function Number: 10 +dialogue_water_clear() +{ + common_scripts\utility::flag_wait_all("flag_boat_canal_dead","flag_intro_flyin_200_to_drop","flag_intro_flyin_approaching_drop"); + wait(2); + if(!common_scripts\utility::flag("flag_intro_flyin_release")) + { + level.gideon maps\_utility::dialogue_queue("fin_gdn_watersclear"); + } +} + +//Function Number: 11 +dialogue_approaching_drop_point() +{ + common_scripts\utility::flag_wait("flag_intro_flyin_200_to_drop"); + level notify("aud_intro_flight_arrive_hover"); + level maps\_utility::dialogue_queue("fin_iln1_meterstodroppoint"); +} + +//Function Number: 12 +dialogue_ready_to_drop() +{ + level endon("flag_intro_flyin_release"); + common_scripts\utility::flag_wait("flag_intro_flyin_done"); + if(!common_scripts\utility::flag("flag_intro_flyin_release")) + { + level.gideon maps\_utility::dialogue_queue("fin_iln1_thisitisdetachnow"); + } + + wait(2); + if(!common_scripts\utility::flag("flag_intro_flyin_release")) + { + level.gideon maps\_utility::dialogue_queue("fin_iln1_michelldetach"); + } + + wait(2); + if(!common_scripts\utility::flag("flag_intro_flyin_release")) + { + level.gideon maps\_utility::dialogue_queue("fin_iln1_dropnowmitchell"); + } +} + +//Function Number: 13 +dialogue_canal_start() +{ + common_scripts\utility::flag_wait("flag_intro_flyin_release"); + wait(8); + level.gideon maps\_utility::dialogue_queue("fin_gdn_whataboutdronesupport"); + level maps\_utility::dialogue_queue("fin_kgn_negativetwooneallunmannedassets"); + level maps\_utility::dialogue_queue("fin_kgn_ifyoudontthinkyou"); + level.gideon maps\_utility::dialogue_queue("fin_gdn_copythat"); +} + +//Function Number: 14 +dialogue_breach_ahead() +{ + common_scripts\utility::flag_wait("flag_dialogue_breach_ahead"); + level.gideon maps\_utility::dialogue_queue("fin_gdn_breachpointisupahead"); + level maps\_utility::dialogue_queue("fin_iln1_gideonthermalreadingsarespiking"); + level.gideon maps\_utility::dialogue_queue("fin_gdn_wellmakeit"); +} + +//Function Number: 15 +dialogue_breach_complete() +{ + common_scripts\utility::flag_wait("flag_obj_enter_silo_update"); + level.gideon maps\_utility::dialogue_queue("fin_gdn_mitchellonme"); + common_scripts\utility::flag_wait("flag_dialogue_canal_breach_complete"); + wait(3); + level.gideon maps\_utility::dialogue_queue("fin_gdn_ilonawereinside"); + level maps\_utility::dialogue_queue("fin_iln1_youshouldberightnext"); +} + +//Function Number: 16 +dialogue_pa_security_breach() +{ + wait(3); + while(!common_scripts\utility::flag("flag_combat_silo_floor_02")) + { + level maps\_utility::dialogue_queue("fin_pa_securitybreachinthesilo"); + wait(8); + level maps\_utility::dialogue_queue("fin_pa_intrudersinsectorfour"); + wait(8); + } + + wait(0.05); +} + +//Function Number: 17 +dialogue_silo_contact() +{ + common_scripts\utility::flag_wait("flag_combat_silo_entrance"); + wait(1); + level.gideon maps\_utility::dialogue_queue("fin_gdn_contact"); + soundscripts\_snd::snd_music_message("post_underwater_combat_begin"); +} + +//Function Number: 18 +dialogue_head_to_exhaust_vent() +{ + common_scripts\utility::flag_wait("flag_combat_silo_floor_02"); + level.gideon maps\_utility::dialogue_queue("fin_gdn_ilonathemissilesshielded"); + level maps\_utility::dialogue_queue("fin_iln1_headdown"); + level.gideon maps\_utility::dialogue_queue("fin_gdn_copy2"); + level.gideon maps\_utility::dialogue_queue("fin_gdn_downthestairs"); + wait(0.5); + level.gideon maps\_utility::dialogue_queue("fin_gdn_keepmovingforward"); +} + +//Function Number: 19 +dialogue_keep_moving() +{ + common_scripts\utility::flag_wait("flag_combat_silo_floor_02_retreat"); + level.gideon maps\_utility::dialogue_queue("fin_gdn_theyregoingtolaunch"); +} + +//Function Number: 20 +dialogue_pa_launch_coundown() +{ + level endon("flag_exhaust_hatch_open"); + common_scripts\utility::flag_wait("flag_missile_move_start"); + soundscripts\_snd::snd_music_message("timer_begin"); + level thread maps\_utility::dialogue_queue("fin_pa_launchintminus4minutes"); + wait(15); + level thread maps\_utility::dialogue_queue("fin_pa_cargoloadinginprogress"); + wait(45); + level thread maps\_utility::dialogue_queue("fin_pa_launchintminus3minutes"); + wait(5); + level thread maps\_utility::dialogue_queue("fin_pa_cargoloadingcomplete"); + wait(55); + level thread maps\_utility::dialogue_queue("fin_pa_launchintminus2minutes"); + wait(10); + level thread maps\_utility::dialogue_queue("fin_pa_stage3boosterscheckcomplete"); + wait(50); + level thread maps\_utility::dialogue_queue("fin_pa_launchintminus1minute"); + wait(60); + common_scripts\utility::flag_set("flag_dialogue_launch_coundown_complete"); +} + +//Function Number: 21 +dialogue_ast_ahead() +{ + common_scripts\utility::flag_wait("flag_dialogue_ast_ahead"); + wait(3); + if(!common_scripts\utility::flag("flag_countdown_complete_mission_fail")) + { + level.gideon maps\_utility::dialogue_queue("fin_gdn_astsaheadtargetthemfirst"); + soundscripts\_snd::snd_music_message("ast_combat_begin"); + } +} + +//Function Number: 22 +dialogue_hatch_position() +{ + common_scripts\utility::flag_wait("flag_silo_exit"); + if(!common_scripts\utility::flag("flag_countdown_complete_mission_fail")) + { + soundscripts\_snd::snd_music_message("post_door_kick"); + level maps\_utility::dialogue_queue("fin_iln1_theresanaccesspointto"); + } + + common_scripts\utility::flag_set("flag_obj_exhaust_hatch_position"); + if(!common_scripts\utility::flag("flag_countdown_complete_mission_fail")) + { + level.gideon maps\_utility::dialogue_queue("fin_gdn_gotitkeeppushingforward"); + } +} + +//Function Number: 23 +dialogue_exhaust_hatch() +{ + level endon("flag_exhaust_hatch_grab"); + level endon("flag_countdown_complete_mission_fail"); + common_scripts\utility::flag_wait("flag_dialogue_exhaust_hatch"); + level.gideon maps\_utility::dialogue_queue("fin_gdn_theresthehatch"); + soundscripts\_snd::snd_music_message("hatch_scene_begin"); + common_scripts\utility::flag_wait("flag_obj_exhaust_hatch_open"); + while(!common_scripts\utility::flag("flag_exhaust_hatch_grab")) + { + wait(4); + level.gideon maps\_utility::dialogue_queue("fin_gdn_mitchellopenthehatch"); + wait(8); + level.gideon maps\_utility::dialogue_queue("fin_gdn_needyourhelpmitchell"); + wait(4); + } + + wait(0.05); +} + +//Function Number: 24 +dialogue_into_exhaust_hatch() +{ + level.player endon("free_fall_done"); + common_scripts\utility::flag_wait("flag_exhaust_hatch_open"); + wait(10.5); + if(!common_scripts\utility::flag("flag_countdown_complete_mission_fail")) + { + level.gideon maps\_utility::dialogue_queue("fin_gdn_go3"); + } +} + +//Function Number: 25 +dialogue_missile_launch() +{ + common_scripts\utility::flag_wait("flag_player_exhaust_corridor"); + level.player waittill("notetrack_aud_countdown_start"); + level maps\_utility::dialogue_queue("fin_iln1_gideonthelaunchisstarting"); + dialogue_primary_ignitionin(); + wait(18); + level.gideon maps\_utility::dialogue_queue("fin_gdn_keepgoing"); +} + +//Function Number: 26 +dialogue_primary_ignitionin() +{ + level maps\_utility::dialogue_queue("fin_pa_beginprimaryignitionin5"); + if(!common_scripts\utility::flag("flag_countdown_complete_mission_fail")) + { + level.gideon maps\_utility::dialogue_queue("fin_gdn_braceyourself"); + } +} + +//Function Number: 27 +dialogue_missile_damage() +{ + level endon("flag_missile_failed"); + level endon("flag_exhaust_corridor_timer_fail"); + common_scripts\utility::flag_wait("flag_player_shoot_missile"); + level.gideon maps\_utility::dialogue_queue("fin_gdn_hititwitheverythingyouve"); + var_00 = ["fin_gdn_shoottheengines","fin_gdn_shootitmitchell","fin_gdn_hittheenginesmitchell","fin_gdn_takeoutthemissilesengines"]; + maps\_shg_utility::dialogue_reminder(level.gideon,"flag_missile_hit",var_00,1.5,3); + common_scripts\utility::flag_wait("flag_missile_hit"); + level.gideon maps\_utility::dialogue_queue("fin_gdn_thatsitkeepshooting"); + maps\_shg_utility::dialogue_reminder(level.gideon,"flag_missile_damaged",var_00,1.5,3); + common_scripts\utility::flag_wait("flag_missile_damaged"); + if(!common_scripts\utility::flag("flag_missile_failed")) + { + level.gideon maps\_utility::dialogue_queue("fin_gdn_thatsit"); + soundscripts\_snd::snd_music_message("missile_disabled"); + } +} + +//Function Number: 28 +dialogue_carry_scene_01() +{ + common_scripts\utility::flag_wait("flag_dialogue_carry_scene_01"); + wait(5); + level.gideon maps\_utility::dialogue_queue("fin_gdn_morecomingin"); + level.gideon maps\_utility::dialogue_queue("fin_gdn_holdthemoff"); + soundscripts\_snd::snd_music_message("lobby_combat_begin"); + common_scripts\utility::flag_wait("flag_lobby_clear"); + wait(2.5); + level.gideon maps\_utility::dialogue_queue("fin_gdn_gottakeepmoving"); +} + +//Function Number: 29 +dialogue_carry_scene_02() +{ + common_scripts\utility::flag_wait("flag_dialogue_carry_scene_02"); + level maps\_utility::dialogue_queue("fin_kgn_sentineltwoonecitydefensesare"); + level.gideon maps\_utility::dialogue_queue("fin_gdn_copythatkingpin"); + level maps\_utility::dialogue_queue("fin_kgn_static"); + level.gideon maps\_utility::dialogue_queue("fin_gdn_ilonaareyoureceiving"); + level maps\_utility::dialogue_queue("fin_iln1_static"); + wait(1); + level.gideon maps\_utility::dialogue_queue("fin_gdn_damnwerecutoff"); + common_scripts\utility::flag_set("flag_dialogue_carry_scene_02_complete"); +} + +//Function Number: 30 +dialogue_will_revael() +{ + wait(5); + soundscripts\_snd::snd_music_message("gideon_sets_mitchell_down"); + level.gideon maps\_utility::dialogue_queue("fin_gdn_imsettingyoudown"); + level.gideon maps\_utility::dialogue_queue("fin_gdn_needtofindsomelight"); + common_scripts\utility::flag_set("flag_dialogue_se_will_reveal"); + soundscripts\_snd::snd_message("aud_irons_says_hello"); +} + +//Function Number: 31 +dialogue_chase_irons() +{ + common_scripts\utility::flag_wait("flag_will_room_door_exit_open"); + if(!common_scripts\utility::flag("missionfailed")) + { + level.gideon maps\_utility::dialogue_queue("fin_gdn_dontletironsgetaway"); + } + + common_scripts\utility::flag_wait("flag_irons_start_running_01"); + wait(2); + if(!common_scripts\utility::flag("missionfailed")) + { + level.gideon maps\_utility::dialogue_queue("fin_gdn_hurrymitchell"); + } + + wait(1); + if(!common_scripts\utility::flag("missionfailed")) + { + level.gideon maps\_utility::dialogue_queue("fin_gdn_keepgoing2"); + } +} + +//Function Number: 32 +dialogue_irons_ending() +{ + common_scripts\utility::flag_wait("flag_se_irons_end_start"); +} + +//Function Number: 33 +init_pcap_vo() +{ + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%fin_exhaust_mech_exit_gideon,"aud_start_fin_exhaust_mech_exit_gideon",::fin_mech_exit_gideon); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%fin_irons_reveal_npc_irons,"aud_start_finale_pt1_irons",::fin_ending1_1_irs); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%fin_irons_reveal_npc_gideon,"aud_start_finale_pt1_gideon",::fin_ending1_1_gdn); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%fin_irons_reveal_part2_npc_gideon,"aud_start_finale_pt1_2_gideon",::fin_ending1_2_gdn); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%fin_balcony_finale_pt2_npc,"aud_start_Fin_Part2_1_001",::fin_ending2_1_irs); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%fin_balcony_finale_pt3_combined_npc,"fin_finale_drop_part3_irs",::fin_ending2_3combined_irs); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%fin_balcony_finale_pt5_npc,"aud_start_fin_irons_fail_fall",::fin_ending2_5_irs); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%fin_balcony_finale_end_gideon,"aud_start_Fin_Part2_2_001",::fin_ending2_2_gdn); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%fin_balcony_finale_end_gideon,"aud_start_fin_900_900_mtl",::fin_mitchel_vo); +} + +//Function Number: 34 +fin_mech_exit_gideon(param_00) +{ + soundscripts\_snd::snd_music_message("mitchellhangon"); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fin_gdn_mitchellhangon",1.12); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fin_gdn_westoppeditwestopped",7.24); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fin_gdn_imgonnagetyouout",13.21); +} + +//Function Number: 35 +fin_ending1_1_irs(param_00) +{ + soundscripts\_snd::snd_music_message("fin_irs_hellomitchell"); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fin_irs_hellomitchell",2.18); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fin_irs_idaskthesameof",6.09); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fin_irs_yourelytoomuchon2",13.18); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fin_irs_whativestartedwontend2",18.18); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fin_irs_youthinkimamonster",26.03); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fin_irs_imsavingtheworldfrom",37.03); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fin_irs_icouldhavekilledyou",55); +} + +//Function Number: 36 +fin_ending1_1_gdn(param_00) +{ + soundscripts\_snd::snd_message("aud_irons_reveal_bomb_shake",45.21); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fin_gdn_dontfuckingmove",4.21); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fin_gdn_heshackingourexos",9); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fin_gdn_thecitysfallingitsover2",16.06); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fin_gdn_necessary",31.28); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fin_gdn_yeah",45.21); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fin_gdn_mitchell5",73.27); +} + +//Function Number: 37 +fin_ending1_2_gdn(param_00) +{ + soundscripts\_snd::snd_message("aud_irons_reveal_bomb_shake_02",0); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fin_gdn_nowmine",0); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fin_gdn_theresnotime",7.08,"sounddone_fin_gdn_theresnotime"); +} + +//Function Number: 38 +fin_ending2_1_irs(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fin_irs_mitchellpullmeup",4,undefined,"audio_finale_qte_fail"); +} + +//Function Number: 39 +fin_ending2_3combined_irs(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fin_irs_theresonlytwochoices",0,undefined,"audio_finale_qte_fail"); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fin_irs_mitchellwhatareyoudoing",11,undefined,"audio_finale_qte_fail"); +} + +//Function Number: 40 +fin_ending2_5_irs(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fin_irs_aaahhhhmitchell",3.18,"sounddone_fin_irs_aaahhhhmitchell"); +} + +//Function Number: 41 +fin_ending2_2_gdn(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fin_gdn_ivegotyamate",2.18,"sounddone_fin_gdn_ivegotyamate"); +} + +//Function Number: 42 +fin_mitchel_vo(param_00) +{ + soundscripts\_snd_pcap::snd_pcap_play_radio_vo_30fps("fin_mtl_endingmonologue",0.01); +} \ No newline at end of file diff --git a/AW/PC/maps/fusion.gsc b/AW/PC/maps/fusion.gsc new file mode 100644 index 0000000..ed4e7cd --- /dev/null +++ b/AW/PC/maps/fusion.gsc @@ -0,0 +1,918 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: fusion.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 38 + * Decompile Time: 591 ms + * Timestamp: 4/22/2024 2:29:33 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\_utility::template_level("fusion"); + maps\_utility::set_console_status(); + setup_precache(); + maps\_utility::intro_screen_create("","",""); + maps\_utility::intro_screen_custom_func(::maps\fusion_code::fusion_intro_screen); + level.intro_hades_video_length = 30.7; + setup_start_points(); + init_level_flags(); + createthreatbiasgroup("player"); + createthreatbiasgroup("axis_street"); + maps\_player_fastzip::main(); + maps\createart\fusion_art::main(); + maps\fusion_fx::main(); + maps\_weapon_pdrone::initialize(); + if(level.currentgen) + { + maps\_utility::tff_sync_setup(); + } + + maps\fusion_precache::main(); + maps\_load::main(); + thread maps\_player_exo::main("assault",1); + maps\fusion_anim::main(); + maps\fusion_aud::main(); + thread maps\fusion_lighting::main(); + maps\_drone_ai::init(); + maps\_chargeable_weapon::setup_charged_shot(); + maps\_microwave_grenade::main(); + maps\_microdronelauncher::init(); + maps\sanfran_b_sonar_vision::main(); + maps\fusion_utility::spawn_metrics_init_for_noteworthy("enemy_street_zip_rooftop"); + maps\fusion_utility::spawn_metrics_init_for_noteworthy("enemy_street_zip_rooftop_strafe"); + if(level.currentgen) + { + maps\fusion_utility::spawn_metrics_init_for_noteworthy("enemy_street_zip_rooftop_left"); + maps\fusion_utility::spawn_metrics_init_for_noteworthy("enemy_street_zip_rooftop_right"); + } + + maps\_utility::add_control_based_hint_strings("hint_use_boost",&"FUSION_BOOST_HINT",::maps\fusion_code::boost_use_hint); + maps\_utility::add_control_based_hint_strings("hint_mt_fire_gun",&"FUSION_HINT_FIRE_GUN",::should_break_use_mt_fire); + maps\_utility::add_control_based_hint_strings("hint_mt_fire_missiles",&"FUSION_HINT_FIRE_MISSILES",::should_break_use_mt_missiles); + maps\_utility::add_control_based_hint_strings("hint_mt_fire_missiles_release",&"FUSION_HINT_FIRE_MISSILES_RELEASE",::should_break_release_mt_missiles); + maps\_utility::add_control_based_hint_strings("hint_use_sonar",&"FUSION_SONAR_HINT",::maps\fusion_utility::should_end_sonar_hint); + maps\_utility::add_control_based_hint_strings("drone_deploy_prompt",&"FUSION_PROMPT_DEPLOY_DRONE",::maps\fusion_utility::should_end_pdrone_hint); + maps\_utility::add_control_based_hint_strings("drone_deploy_fail_prompt",&"FUSION_PROMPT_DEPLOY_DRONE_FAIL",::maps\fusion_utility::should_end_pdrone_fail_hint); + maps\_utility::add_control_based_hint_strings("hint_sonics",&"FUSION_SONICS_HINT",::sonics_use_hint); + maps\_utility::add_control_based_hint_strings("hint_boost_slam",&"FUSION_BOOST_SLAM_HINT",::boost_slam_use_hint,&"FUSION_BOOST_SLAM_HINT_PC"); + thread maps\fusion_code::gameplay_setup(); + maps\fusion_vo::main(); + thread handle_objectives(); + thread boost_slam_hint(); + thread sonics_hint(); + level.player_rig = maps\_utility::spawn_anim_model("player_rig"); + level.player_rig hide(); + maps\_car_door_shield::init_door_shield(); + setdvarifuninitialized("demo_itiot",0); + var_00 = getent("armapshade","targetname"); + var_00 setmaterialscriptparam(0,0); + setup_portal_scripting(); + common_scripts\_pipes::main(); + if(level.currentgen) + { + setsaveddvar("ai_corpseCount",8); + } + + if(level.currentgen) + { + setsaveddvar("r_gunSightColorEntityScale","7"); + setsaveddvar("r_gunSightColorNoneScale","0.8"); + } +} + +//Function Number: 2 +setup_precache() +{ + precachemodel("fus_cooling_tower_b_vista_dmg"); + precachemodel("fus_cooling_tower_collapse_chunks"); + precachemodel("fus_cooling_tower_collapse_concrete_shattered"); + precachemodel("fus_cooling_tower_collapse_concrete_shattered2"); + precachemodel("fus_cooling_tower_collapse_street_collapse"); + precachemodel("vehicle_xh9_warbird_cloaked"); + precachemodel("vehicle_mobile_cover"); + precachemodel("npc_zipline101ft"); + precachemodel("vehicle_ind_utility_tractor_01_dstrypv"); + precachemodel("fus_sever_debris"); + precachemodel("fus_sever_debris_02"); + precachemodel("fus_pipes_elec_set_01_piece_01"); + precachemodel("fus_end_scene_rubble"); + precachemodel("vb_pmc"); + precachemodel("vb_pmc_dismember"); + precachemodel("rubble_combo_01"); + precachemodel("rubble_rock_chunk_01"); + precachemodel("viewhands_s1_pmc"); + precachemodel("worldhands_s1_pmc"); + precachemodel("vehicle_mobile_cover_dstrypv"); + precachemodel("vehicle_xh9_warbird"); + precachemodel("fus_control_monitor_02_cinematic"); + precacheshader("cinematic"); + precacheshellshock("fusion_pre_collapse"); + precacheshellshock("fusion_collapse"); + precacheshellshock("slowview"); + precacheshellshock("fusion_slowview"); + precacheshellshock("zipline"); + precachenightvisioncodeassets(); + precachestring(&"FUSION_HINT_FIRE_GUN"); + precachestring(&"FUSION_HINT_FIRE_MISSILES"); + precachemodel("ind_streetlight_single_off_rig"); + precachemodel("npc_m160"); + precachemodel("genericProp"); + precachemodel("fus_shelving_robot_01"); + precachemodel("fus_shelving_unit_cage_01"); + precachemodel("fus_shelving_unit_item_01"); + precachemodel("vehicle_v22_osprey_damaged_static_bladepiece_left"); + precachemodel("deployable_cover"); + precachemodel("fus_elevator_button_02"); + precacheshader("mtl_fus_elevator_button_02"); + precachemodel("door_double_01_rigged"); + precachemodel("furniture_metal_door02_handleright"); + precachemodel("furniture_metal_door02_handleright_destroyed"); + precachemodel("breach_door_metal_right"); + precachemodel("door_controlroom_01_rig"); + precachemodel("door_controlroom_01_damage_rig"); + precacherumble("steady_rumble"); + precacherumble("subtle_tank_rumble"); + precacheshader("dpad_icon_drone"); + precacheshader("dpad_icon_drone_off"); + precachesonarvisioncodeassets(); + if(level.currentgen) + { + precachemodel("fus_tower_lower_panel_01_dark"); + } + + precacheitem("iw5_ak12_sp"); + precacheitem("iw5_stingerm7_sp"); + precacheitem("iw5_bal27_sp_variablereddot"); + precacheitem("iw5_hmr9_sp"); + animscripts\traverse\boost::precache_boost_fx_npc(); +} + +//Function Number: 3 +setup_start_points() +{ + maps\_utility::add_start("fly_in_animated",::start_intro_fly_in,"",::intro_fly_in_animated); + maps\_utility::add_start("courtyard",::start_courtyard,"",::courtyard); + maps\_utility::add_start("security_room",::start_security_room,"",undefined); + maps\_utility::add_start("lab",::start_lab,"",undefined); + maps\_utility::add_start("reactor_room",::start_reactor,"",undefined); + maps\_utility::add_start("reactor_room_exit",::start_reactor_exit,"",undefined); + maps\_utility::add_start("turbine_room",::start_turbine_room,"",undefined); + maps\_utility::add_start("control_room_entrance",::start_control_room_entrance,"",undefined); + maps\_utility::add_start("control_room",::start_control_room,"",undefined); + maps\_utility::add_start("control_room_exit",::start_control_room_exit,"",::control_room_exit); + maps\_utility::add_start("cooling_tower",::start_cooling_tower,"",::cooling_tower); + if(level.currentgen) + { + var_00 = ["fusion_intro_tr"]; + maps\_utility::set_start_transients("fly_in_animated",var_00); + maps\_utility::set_start_transients("courtyard",var_00); + maps\_utility::set_start_transients("security_room",var_00); + var_00 = ["fusion_middle_tr"]; + maps\_utility::set_start_transients("lab",var_00); + maps\_utility::set_start_transients("reactor_room",var_00); + maps\_utility::set_start_transients("reactor_room_exit",var_00); + var_00 = ["fusion_outro_tr"]; + maps\_utility::set_start_transients("turbine_room",var_00); + maps\_utility::set_start_transients("control_room_entrance",var_00); + maps\_utility::set_start_transients("control_room",var_00); + maps\_utility::set_start_transients("control_room_exit",var_00); + maps\_utility::set_start_transients("cooling_tower",var_00); + } +} + +//Function Number: 4 +init_level_flags() +{ + common_scripts\utility::flag_init("intro_text_cinematic_over"); + common_scripts\utility::flag_init("intro_screen_done"); + common_scripts\utility::flag_init("flag_intro_objective_given"); + common_scripts\utility::flag_init("flag_show_boost_slam_hint"); + common_scripts\utility::flag_init("flag_show_sonic_hint"); + common_scripts\utility::flag_init("flag_player_used_boost_slam"); + common_scripts\utility::flag_init("flag_player_used_sonics"); + common_scripts\utility::flag_init("intro_squad_helis_start"); + common_scripts\utility::flag_init("start_heli_fly"); + common_scripts\utility::flag_init("ready_zip"); + common_scripts\utility::flag_init("flag_player_zip_started"); + common_scripts\utility::flag_init("flag_combat_zip_rooftop_start"); + common_scripts\utility::flag_init("flag_burke_zip"); + common_scripts\utility::flag_init("player_participated_in_rooftop_fight"); + common_scripts\utility::flag_init("flag_combat_zip_rooftop_complete"); + common_scripts\utility::flag_init("player_can_zip"); + common_scripts\utility::flag_init("street_combat_start"); + common_scripts\utility::flag_init("flag_rooftop_strafe"); + common_scripts\utility::flag_init("flag_player_cleared_rooftop"); + common_scripts\utility::flag_init("sun_shad_off_zip"); + common_scripts\utility::flag_init("player_fly_in_done"); + common_scripts\utility::flag_init("flag_mcd_vo_done"); + common_scripts\utility::flag_init("burke_fastzip_done"); + common_scripts\utility::flag_init("courtyard_start_lighting"); + common_scripts\utility::flag_init("flag_squad_heli_2_unload"); + common_scripts\utility::flag_init("flag_squad_heli_01_zip_complete"); + common_scripts\utility::flag_init("flag_rpg_at_heli"); + common_scripts\utility::flag_init("flag_player_enters_mobile_turret"); + common_scripts\utility::flag_init("flag_player_starts_entering_mobile_turret"); + common_scripts\utility::flag_init("flag_m_turret_dead"); + common_scripts\utility::flag_init("flag_walker_tank_on_mount"); + common_scripts\utility::flag_init("flag_player_picked_up_smaw"); + common_scripts\utility::flag_init("flag_launcher_out_of_ammo"); + common_scripts\utility::flag_init("flag_launcher_ammo_gathered"); + common_scripts\utility::flag_init("flag_walker_death_anim_start"); + common_scripts\utility::flag_init("flag_walker_destroyed"); + common_scripts\utility::flag_init("walker_trophy_1"); + common_scripts\utility::flag_init("walker_trophy_2"); + common_scripts\utility::flag_init("walker_damaged"); + common_scripts\utility::flag_init("security_room_player_start"); + common_scripts\utility::flag_init("lab_player_start"); + common_scripts\utility::flag_init("reactor_player_start"); + common_scripts\utility::flag_init("reactor_exit_player_start"); + common_scripts\utility::flag_init("joker_placing_turbine_elevator_cover"); + common_scripts\utility::flag_init("turbine_room_player_start"); + common_scripts\utility::flag_init("control_room_entrance_player_start"); + common_scripts\utility::flag_init("start_itiot"); + common_scripts\utility::flag_init("evacuation_started"); + common_scripts\utility::flag_init("flag_shut_down_reactor_failed"); + common_scripts\utility::flag_init("tower_debris"); + common_scripts\utility::flag_init("hangar_retreat_done"); + common_scripts\utility::flag_init("evacuation_first_drones_down"); + common_scripts\utility::flag_init("player_start_control_room"); + common_scripts\utility::flag_init("start_control_room_exit_lighting"); + common_scripts\utility::flag_init("cooling_tower_cart_explosion_lighting"); + common_scripts\utility::flag_init("player_start_cooling_tower"); + common_scripts\utility::flag_init("sun_shad_fly_in"); + common_scripts\utility::flag_init("tower_knockback"); + common_scripts\utility::flag_init("extraction_chopper_move_from_explosion"); + common_scripts\utility::flag_init("objective_on_extraction_chopper"); + common_scripts\utility::flag_init("off_fire_light"); + common_scripts\utility::flag_init("hangar_exit_explosion"); + common_scripts\utility::flag_init("mobile_turret_health_1"); + common_scripts\utility::flag_init("mobile_turret_health_2"); + common_scripts\utility::flag_init("mobile_turret_health_3"); + common_scripts\utility::flag_init("mobile_turret_health_4"); + common_scripts\utility::flag_init("play_ending"); + common_scripts\utility::flag_init("flag_hint_mt_control_fire_missiles_press"); + common_scripts\utility::flag_init("flag_reactor_room_combat_seek_player"); + common_scripts\utility::flag_init("flag_turbine_room_combat_seek_player"); + common_scripts\utility::flag_init("flag_autofocus_on"); + common_scripts\utility::flag_init("flag_anim_elevator_button_pressed"); + common_scripts\utility::flag_init("flag_end_sonar_vision"); + common_scripts\utility::flag_init("update_obj_pos_walker"); + common_scripts\utility::flag_init("update_obj_pos_security_entrance_1"); + common_scripts\utility::flag_init("update_obj_pos_security_entrance_2"); + common_scripts\utility::flag_init("update_obj_pos_security_elevator"); + common_scripts\utility::flag_init("update_obj_pos_elevator_descent"); + common_scripts\utility::flag_init("update_obj_pos_lab_follow_joker"); + common_scripts\utility::flag_init("update_obj_pos_lab_follow_burke"); + common_scripts\utility::flag_init("update_obj_pos_lab_follow_carter"); + common_scripts\utility::flag_init("update_obj_pos_reactor_1"); + common_scripts\utility::flag_init("update_obj_pos_turbine_elevator_button"); + common_scripts\utility::flag_init("update_obj_pos_turbine_elevator_ascent"); + common_scripts\utility::flag_init("update_obj_pos_turbine_room_1"); + common_scripts\utility::flag_init("update_obj_pos_control_room_door"); + common_scripts\utility::flag_init("update_obj_pos_control_room_explosion"); + common_scripts\utility::flag_init("update_obj_pos_control_room_console"); + common_scripts\utility::flag_init("update_obj_pos_control_room_using_console"); + common_scripts\utility::flag_init("update_obj_pos_control_room_exit_1"); + common_scripts\utility::flag_init("flag_road_combat_mid_save_1"); + common_scripts\utility::flag_init("flag_road_combat_mid_save_2"); + common_scripts\utility::flag_init("flag_turbine_combat_mid_save_1"); + common_scripts\utility::flag_init("reactor_room_combat_mid_save_1"); + common_scripts\utility::flag_init("player_drone_start"); + common_scripts\utility::flag_init("flag_player_using_drone"); + common_scripts\utility::flag_init("player_drone_attack_done"); + common_scripts\utility::flag_init("drone_deploy_prompt_displayed"); + common_scripts\utility::flag_init("turbine_room_all_enemies"); + common_scripts\utility::flag_init("flag_turbine_pdrone_combat_complete"); + common_scripts\utility::flag_init("player_is_in_turbine_room"); + interior_init_level_flags(); +} + +//Function Number: 5 +interior_init_level_flags() +{ + common_scripts\utility::flag_init("interior_allies"); + common_scripts\utility::flag_init("burke_facing_elevator"); + common_scripts\utility::flag_init("lab_cqb"); + common_scripts\utility::flag_init("start_lab_traversals"); + common_scripts\utility::flag_init("reactor_room_reveal_burke_ready"); + common_scripts\utility::flag_init("reactor_room_reveal_allies_advance"); + common_scripts\utility::flag_init("joker_place_elevator_cover"); + common_scripts\utility::flag_init("turbine_room_initial_combat_retreat"); + common_scripts\utility::flag_init("control_room_run_prep"); + common_scripts\utility::flag_init("control_room_explosion"); + common_scripts\utility::flag_init("control_room_player_start"); + common_scripts\utility::flag_init("control_room_console_enable"); + common_scripts\utility::flag_init("control_room_scene_ready"); + common_scripts\utility::flag_init("control_room_scene"); + common_scripts\utility::flag_init("shutdown_reactor_failed"); + common_scripts\utility::flag_init("vo_security_room_elevator_access"); + common_scripts\utility::flag_init("vo_security_room_elevator_open"); + common_scripts\utility::flag_init("vo_lab_elevator_slide_complete"); + common_scripts\utility::flag_init("vo_reactor_gogogo"); + common_scripts\utility::flag_init("vo_reactor_open_airlock"); + common_scripts\utility::flag_init("vo_reactor_entrance"); + common_scripts\utility::flag_init("vo_turbine_elevator_near"); + common_scripts\utility::flag_init("vo_turbine_elevator_ready"); + common_scripts\utility::flag_init("vo_turbine_elevator"); + common_scripts\utility::flag_init("vo_turbine_room_entrance"); + common_scripts\utility::flag_init("vo_turbine_explosion"); + common_scripts\utility::flag_init("vo_control_hall_door_stack"); + common_scripts\utility::flag_init("vo_control_hall_door_kicked"); + common_scripts\utility::flag_init("vo_control_room_explosion"); + common_scripts\utility::flag_init("vo_control_room_scene"); +} + +//Function Number: 6 +should_break_use_mt_fire() +{ + if(!isdefined(level.player.drivingvehicleandturret) || level.player attackbuttonpressed()) + { + return 1; + } + + return 0; +} + +//Function Number: 7 +should_break_use_mt_missiles() +{ + if(!isdefined(level.player.drivingvehicleandturret) || level.player fragbuttonpressed()) + { + common_scripts\utility::flag_set("flag_hint_mt_control_fire_missiles_press"); + return 1; + } + + return 0; +} + +//Function Number: 8 +should_break_release_mt_missiles() +{ + if(!isdefined(level.player.drivingvehicleandturret) || !level.player fragbuttonpressed()) + { + if(isdefined(level.player.drivingvehicleandturret)) + { + wait(1); + } + + return 1; + } + + return 0; +} + +//Function Number: 9 +start_intro_fly_in() +{ + setup_allies(); + wait(level.intro_hades_video_length); + soundscripts\_snd::snd_message("start_intro_fly_in"); + soundscripts\_snd::snd_music_message("mus_fusion_intro"); +} + +//Function Number: 10 +intro_fly_in_animated() +{ + thread maps\fusion_code::show_hide_plant_vista_intro(); + thread maps\fusion_code::setup_ally_squad(); + thread maps\fusion_code::road_battle_setup(); + maps\fusion_code::fly_in_sequence(); +} + +//Function Number: 11 +start_intro_fly_in_part2() +{ + soundscripts\_snd::snd_message("start_intro_fly_in_part2"); + thread maps\fusion_code::setup_ally_squad(); + thread maps\fusion_code::road_battle_setup(); + common_scripts\utility::flag_set("sun_shad_fly_in"); + common_scripts\utility::flag_set("intro_squad_helis_start"); + level notify("hatch_door_open"); + thread maps\fusion_lighting::hatch_door_lightgrid_off(); + thread maps\fusion_lighting::fusion_intro_dof(); + thread maps\fusion_lighting::hatch_door_vision(); + thread maps\fusion_lighting::hatch_door_veil(); + thread maps\fusion_lighting::hatch_door_push_fog_out(); + thread maps\_utility::flag_set_delayed("street_combat_start",20); + thread maps\fusion_code::squad_heli_zip(); + thread maps\fusion_code::fly_in_ambient_heli_squad(); + level.warbird_a = maps\_vehicle::spawn_vehicle_from_targetname("blackhawk"); + level.warbird_a.animname = "warbird_a"; + level.warbird_a.no_anim_rotors = 1; + maps\fusion_code::spawn_intro_heroes(); + maps\fusion_code::spawn_intro_pilots(); + var_00 = maps\fusion_code::spawn_player_anim_rig(); + level.player maps\_shg_utility::setup_player_for_scene(); + level.player playerlinktodelta(var_00,"tag_player",0.75,50,30,15,45,1); + var_01 = common_scripts\utility::getstruct("org_flyin","targetname"); + var_01 maps\_anim::anim_first_frame_solo(level.warbird_a,"fly_in_part2"); + var_02 = [var_00,level.burke,level.joker,level.carter,level.copilot_intro,level.pilot_intro]; + level.warbird_a maps\_anim::anim_first_frame(var_02,"fly_in_part2","tag_guy0"); + foreach(var_04 in var_02) + { + var_04 linkto(level.warbird_a,"tag_guy0"); + } + + wait(2.5); + thread maps\fusion_code::finish_fly_in_sequence(var_01,level.warbird_a,var_00); + wait(54); + common_scripts\utility::flag_set("flag_combat_zip_rooftop_start"); + common_scripts\utility::flag_wait("flag_combat_zip_rooftop_complete"); + common_scripts\utility::flag_set("ready_zip"); + maps\_utility::activate_trigger_with_targetname("trig_move_squad_from_heli"); +} + +//Function Number: 12 +intro_fly_in_animated_part2() +{ + common_scripts\utility::flag_wait("player_fly_in_done"); + maps\_utility::delaythread(3,::maps\_utility::autosave_by_name); +} + +//Function Number: 13 +start_courtyard() +{ + soundscripts\_snd::snd_message("start_courtyard"); + setup_allies("checkpoint_courtyard"); + maps\fusion_utility::teleport_to_scriptstruct("checkpoint_courtyard"); + level.carter maps\_utility::disable_ai_color(); + level.carter maps\fusion_utility::goto_node("node_carter_zip_rally",0); + thread maps\fusion_code::rooftop_slide(); + thread maps\fusion_code::allies_rally_init(); + thread maps\fusion_code::burke_rally_init(); + thread maps\fusion_code::setup_ally_squad(); + thread maps\fusion_code::road_battle_setup(); + thread maps\fusion_code::street_hanging_pipes_anim(); + thread maps\fusion_code::show_hide_plant_vista(); + thread maps\fusion_code::fly_in_ambient_street_jets(); + waittillframeend; + common_scripts\utility::flag_set("ready_zip"); + common_scripts\utility::flag_set("burke_fastzip_done"); + common_scripts\utility::flag_set("player_fly_in_done"); + common_scripts\utility::flag_set("flag_ambient_explosions_start"); + common_scripts\utility::flag_set("flag_player_zip_started"); + common_scripts\utility::flag_set("flag_rooftop_strafe"); + common_scripts\utility::flag_set("flag_player_cleared_rooftop"); + common_scripts\utility::flag_set("sun_shad_off_zip"); + common_scripts\utility::flag_set("street_combat_start"); + common_scripts\utility::flag_set("courtyard_start_lighting"); +} + +//Function Number: 14 +courtyard() +{ + thread maps\fusion_code::courtyard_ambient_explosions(); + if(level.nextgen) + { + thread maps\fusion_code::evacuation_kiosk_movie(); + } + + maps\fusion_code::enemy_walker(); + thread maps\fusion_code::demo_skip_forward(); + wait(0.05); + maps\_utility::autosave_by_name(); +} + +//Function Number: 15 +start_security_room() +{ + soundscripts\_snd::snd_message("start_security_room"); + maps\_shg_utility::move_player_to_start("security_room_player_start"); + setup_allies("security_room_player_start"); + common_scripts\utility::flag_set("security_room_player_start"); + common_scripts\utility::flag_set("interior_allies"); +} + +//Function Number: 16 +start_lab() +{ + soundscripts\_snd::snd_message("start_lab"); + maps\_shg_utility::move_player_to_start("lab_player_start"); + common_scripts\utility::flag_set("vo_lab_elevator_slide_complete"); + setup_allies("lab_player_start"); + common_scripts\utility::flag_set("lab_player_start"); + common_scripts\utility::flag_set("interior_allies"); + common_scripts\utility::flag_set("lab_cqb"); + common_scripts\utility::flag_set("start_lab_traversals"); +} + +//Function Number: 17 +start_reactor() +{ + soundscripts\_snd::snd_message("start_reactor"); + maps\_shg_utility::move_player_to_start("reactor_player_start"); + setup_allies("reactor_player_start"); + common_scripts\utility::flag_set("interior_allies"); + common_scripts\utility::flag_set("lab_cqb"); + common_scripts\utility::flag_set("reactor_player_start"); + maps\_utility::activate_trigger_with_targetname("airlock_color_trigger"); +} + +//Function Number: 18 +start_reactor_exit() +{ + soundscripts\_snd::snd_message("start_reactor_exit"); + maps\_shg_utility::move_player_to_start("reactor_exit_player_start"); + setup_allies("reactor_exit_player_start"); + common_scripts\utility::flag_set("interior_allies"); + common_scripts\utility::flag_set("reactor_exit_player_start"); +} + +//Function Number: 19 +start_turbine_room() +{ + soundscripts\_snd::snd_message("start_turbine_room"); + maps\_shg_utility::move_player_to_start("turbine_room_player_start"); + setup_allies("turbine_room_player_start"); + level.turbine_room_elevator_ascent_time = 0; + common_scripts\utility::flag_set("interior_allies"); + common_scripts\utility::flag_set("elevator_ascend"); + common_scripts\utility::flag_set("turbine_room_player_start"); + common_scripts\utility::flag_set("turbine_elevator_enter"); + common_scripts\utility::flag_set("portal_on_turbine_room_flag"); + wait(0.05); + common_scripts\utility::flag_clear("portal_on_turbine_room_flag"); +} + +//Function Number: 20 +start_control_room_entrance() +{ + soundscripts\_snd::snd_message("start_control_room_entrance"); + maps\_shg_utility::move_player_to_start("control_room_entrance_player_start"); + common_scripts\utility::flag_set("control_room_entrance_player_start"); + setup_allies("control_room_entrance_player_start"); + common_scripts\utility::flag_set("interior_allies"); + common_scripts\utility::flag_set("control_room_run_prep"); + common_scripts\utility::flag_set("control_room_run_approach"); + maps\_utility::vision_set_fog_changes("fusion_control_room_dark",0.5); +} + +//Function Number: 21 +start_control_room() +{ + soundscripts\_snd::snd_message("start_control_room"); + maps\_shg_utility::move_player_to_start("control_room_player_start"); + common_scripts\utility::flag_set("control_room_player_start"); + setup_allies("control_room_player_start"); + common_scripts\utility::flag_set("interior_allies"); + maps\_utility::vision_set_fog_changes("fusion_control_room_dark",0.5); + setsaveddvar("r_disablelightsets",0); + level.player lightsetforplayer("fusion_screen_control_room_lightset"); + thread maps\fusion_code::control_room_scene_player(common_scripts\utility::getstruct("control_room_burke_position","targetname")); + thread maps\fusion_code::control_room_scene(); + thread maps\fusion_code::control_room_screens(); + common_scripts\utility::flag_set("control_room_explosion"); + common_scripts\utility::flag_set("control_room_console_enable"); + common_scripts\utility::array_call(getentarray("control_room_doors","targetname"),::delete); + var_00 = getent("control_room_door_clip","targetname"); + if(isdefined(var_00)) + { + var_00 delete(); + } +} + +//Function Number: 22 +start_control_room_exit() +{ + soundscripts\_snd::snd_message("start_control_room_exit"); + maps\_shg_utility::move_player_to_start("itiot_player_start"); + setup_allies("itiot_player_start"); + level.player setplayerangles(level.player.angles + (7,0,0)); + if(level.nextgen) + { + thread maps\fusion_code::evacuation_kiosk_movie(); + } + + common_scripts\utility::flag_set("flag_obj_01_pos_update_02"); + common_scripts\utility::flag_set("player_start_control_room"); + common_scripts\utility::flag_set("evacuation_started"); + common_scripts\utility::flag_set("start_control_room_exit_lighting"); + common_scripts\utility::flag_set("portal_on_control_room_flag"); + wait(0.05); + common_scripts\utility::flag_clear("portal_on_control_room_flag"); +} + +//Function Number: 23 +control_room_exit() +{ + common_scripts\utility::flag_wait("flag_shut_down_reactor_failed"); + soundscripts\_snd::snd_message("start_pre_loading_bay"); + common_scripts\utility::flag_set("player_start_control_room"); + thread maps\fusion_code::dialog_meltdown(); + thread maps\fusion_code::reaction_explosions(); + thread maps\fusion_code::reaction_ai(); + wait(0.5); + thread maps\fusion_code::combat_hangar(); + maps\_utility::autosave_by_name(); +} + +//Function Number: 24 +start_cooling_tower() +{ + soundscripts\_snd::snd_message("start_cooling_tower"); + maps\_shg_utility::move_player_to_start(); + setup_allies("cooling_tower_playerstart"); + common_scripts\utility::flag_set("player_start_cooling_tower"); + common_scripts\utility::flag_set("evacuation_started"); + common_scripts\utility::flag_set("show_collapse_tower"); + common_scripts\utility::flag_set("stop_ambient_explosions"); + common_scripts\utility::flag_set("ct_final_retreat"); + getent("retreat_gaz_01","targetname") delete(); + thread maps\_utility::vision_set_fog_changes("fusion_cooling_towers",0); + thread maps\fusion_code::dialog_collapse(); + maps\_utility::activate_trigger_with_targetname("allies_move_to_tower"); +} + +//Function Number: 25 +cooling_tower() +{ +} + +//Function Number: 26 +setup_allies(param_00) +{ + level.burke = getent("hero_burke","targetname") maps\_utility::spawn_ai(1,1); + level.burke.animname = "burke"; + level.joker = getent("hero_joker","targetname") maps\_utility::spawn_ai(1,1); + level.joker.animname = "joker"; + level.carter = getent("hero_carter","targetname") maps\_utility::spawn_ai(1,1); + level.carter.animname = "carter"; + if(isdefined(param_00)) + { + var_01 = common_scripts\utility::getstruct(param_00,"targetname"); + if(!isdefined(var_01)) + { + var_01 = common_scripts\utility::getstruct(param_00,"script_noteworthy"); + } + + level.burke maps\_utility::teleport_ent(var_01); + level.joker maps\_utility::teleport_ent(var_01); + level.carter maps\_utility::teleport_ent(var_01); + if(param_00 == "lab_player_start") + { + level.burke thread maps\fusion_code::laboratory_start_idle(); + level.joker thread maps\fusion_code::laboratory_start_idle(); + level.carter thread maps\fusion_code::laboratory_start_idle(); + } + + if(param_00 == "reactor_player_start") + { + level.burke maps\_utility::enable_cqbwalk(); + level.joker maps\_utility::enable_cqbwalk(); + level.carter maps\_utility::enable_cqbwalk(); + level.burke.moveplaybackrate = 1.1; + level.joker.moveplaybackrate = 1.1; + level.carter.moveplaybackrate = 1.1; + } + + if(param_00 != "turbine_room_player_start" && param_00 != "control_room_entrance_player_start" && param_00 != "control_room_player_start" && param_00 != "control_room_exit_player_start" && param_00 != "cooling_tower_player_start") + { + thread deployable_cover_think(); + } + + if(param_00 == "itiot_player_start" || param_00 == "cooling_tower_playerstart") + { + level.burke maps\_utility::set_force_color("r"); + level.joker maps\_utility::set_force_color("o"); + level.carter maps\_utility::set_force_color("o"); + return; + } + + return; + } + + thread deployable_cover_think(); +} + +//Function Number: 27 +deployable_cover_think() +{ + level.deployable_cover = spawn("script_model",level.joker gettagorigin("j_SpineUpper") + (0,0,0)); + level.deployable_cover.angles = level.joker gettagangles("j_SpineUpper") + (0,0,0); + level.deployable_cover.animname = "deployable_cover"; + level.deployable_cover setmodel("deployable_cover"); + level.deployable_cover maps\_anim::setanimtree(); + level.deployable_cover maps\_anim::anim_first_frame_solo(level.deployable_cover,"deployable_cover_closed_idle"); + level.deployable_cover linkto(level.joker,"j_SpineUpper"); + common_scripts\utility::flag_wait("joker_placing_turbine_elevator_cover"); + level.deployable_cover delete(); +} + +//Function Number: 28 +handle_objectives() +{ + waittillframeend; + set_completed_objective_flags(); + maps\fusion_code::objectives(); +} + +//Function Number: 29 +boost_slam_hint() +{ + level endon("flag_player_used_boost_slam"); + thread boost_slam_use_monitor(); + common_scripts\utility::flag_wait("flag_show_boost_slam_hint"); + maps\_utility::hintdisplaymintimehandler("hint_boost_slam",5); +} + +//Function Number: 30 +boost_slam_use_monitor() +{ + level.player waittill("ground_slam"); + common_scripts\utility::flag_set("flag_player_used_boost_slam"); +} + +//Function Number: 31 +sonics_hint() +{ + level endon("flag_player_used_sonics"); + thread sonics_use_monitor(); + common_scripts\utility::flag_wait("flag_show_sonic_hint"); + level.burke maps\_utility::dialogue_queue("fin_gdn_usesonics"); + maps\_utility::hintdisplaymintimehandler("hint_sonics",5); +} + +//Function Number: 32 +sonics_use_monitor() +{ + level waittill("SonicAoEStarted"); + common_scripts\utility::flag_set("flag_player_used_sonics"); +} + +//Function Number: 33 +boost_slam_use_hint() +{ + if(common_scripts\utility::flag("flag_player_used_boost_slam")) + { + return 1; + } + + return 0; +} + +//Function Number: 34 +sonics_use_hint() +{ + if(common_scripts\utility::flag("flag_player_used_sonics")) + { + return 1; + } + + return 0; +} + +//Function Number: 35 +set_completed_objective_flags() +{ + if(maps\_utility::is_default_start()) + { + return; + } + + var_00 = level.start_point; + if(var_00 == "fly_in_animated") + { + return; + } + + common_scripts\utility::flag_set("flag_intro_objective_given"); + if(var_00 == "fly_in_animated_part2") + { + return; + } + + if(var_00 == "courtyard") + { + return; + } + + common_scripts\utility::flag_set("update_obj_pos_walker"); + common_scripts\utility::flag_set("update_obj_pos_security_entrance_1"); + common_scripts\utility::flag_set("update_obj_pos_security_entrance_2"); + if(var_00 == "security_room") + { + return; + } + + common_scripts\utility::flag_set("update_obj_pos_security_room"); + common_scripts\utility::flag_set("update_obj_pos_security_elevator_burke"); + common_scripts\utility::flag_set("update_obj_pos_security_elevator"); + common_scripts\utility::flag_set("update_obj_pos_elevator_descent"); + common_scripts\utility::flag_set("update_obj_pos_lab_follow_joker"); + if(var_00 == "lab") + { + return; + } + + common_scripts\utility::flag_set("update_obj_pos_lab_follow_burke"); + common_scripts\utility::flag_set("update_obj_pos_lab_follow_carter"); + if(var_00 == "reactor_room") + { + return; + } + + common_scripts\utility::flag_set("update_obj_pos_reactor_1"); + common_scripts\utility::flag_set("update_obj_pos_reactor_2"); + common_scripts\utility::flag_set("update_obj_pos_reactor_exit"); + common_scripts\utility::flag_set("update_obj_pos_reactor_storage_1"); + common_scripts\utility::flag_set("update_obj_pos_reactor_storage_2"); + common_scripts\utility::flag_set("update_obj_pos_turbine_elevator"); + if(var_00 == "reactor_room_exit") + { + return; + } + + common_scripts\utility::flag_set("update_obj_pos_turbine_elevator_button"); + common_scripts\utility::flag_set("update_obj_pos_turbine_elevator_ascent"); + if(var_00 == "turbine_room") + { + return; + } + + common_scripts\utility::flag_set("update_obj_pos_turbine_room_1"); + common_scripts\utility::flag_set("update_obj_pos_turbine_room_exit"); + if(var_00 == "control_room_entrance") + { + return; + } + + common_scripts\utility::flag_set("update_obj_pos_control_room_door"); + common_scripts\utility::flag_set("update_obj_pos_control_room_explosion"); + common_scripts\utility::flag_set("update_obj_pos_control_room_console"); + if(var_00 == "control_room") + { + return; + } + + common_scripts\utility::flag_set("flag_shut_down_reactor_failed"); + common_scripts\utility::flag_set("update_obj_pos_control_room_using_console"); + common_scripts\utility::flag_set("update_obj_pos_control_room_exit_1"); + common_scripts\utility::flag_set("update_obj_pos_control_room_exit_2"); + common_scripts\utility::flag_set("update_obj_pos_hangar_entrance"); + if(var_00 == "control_room_exit") + { + return; + } + + common_scripts\utility::flag_set("flag_obj_02_pos_update_02"); + common_scripts\utility::flag_set("flag_obj_02_pos_update_03"); + common_scripts\utility::flag_set("objective_on_extraction_chopper"); + if(var_00 == "cooling_tower") + { + } +} + +//Function Number: 36 +setup_portal_scripting() +{ + thread handle_fusion_portal_groups_toggle("portal_grp_reactor_room","portal_on_reactor_room_flag","portal_off_reactor_room_flag"); + common_scripts\utility::flag_init("portal_on_turbine_room_flag"); + thread handle_fusion_portal_groups_on("portal_grp_turbine_room","portal_on_turbine_room_flag","endPortalTurbineRoom","turbine_room"); + common_scripts\utility::flag_init("portal_on_control_room_flag"); + thread handle_fusion_portal_groups_toggle("portal_grp_control_room","portal_on_control_room_flag","portal_off_control_room_flag"); +} + +//Function Number: 37 +handle_fusion_portal_groups_on(param_00,param_01,param_02,param_03) +{ + level.player endon("death"); + level endon("missionfailed"); + if(isdefined(param_02) && isstring(param_02)) + { + level endon(param_02); + } + + var_04 = getent(param_00,"targetname"); + var_04 enableportalgroup(0); + for(;;) + { + common_scripts\utility::flag_wait(param_01); + var_04 enableportalgroup(1); + wait(0.05); + if(isdefined(param_02)) + { + level notify(param_02); + } + } +} + +//Function Number: 38 +handle_fusion_portal_groups_toggle(param_00,param_01,param_02) +{ + level.player endon("death"); + level endon("missionfailed"); + var_03 = getent(param_00,"targetname"); + var_03 enableportalgroup(0); + for(;;) + { + common_scripts\utility::flag_wait(param_01); + var_03 enableportalgroup(1); + wait(0.05); + common_scripts\utility::flag_wait(param_02); + var_03 enableportalgroup(0); + wait(0.05); + } +} \ No newline at end of file diff --git a/AW/PC/maps/fusion_anim.gsc b/AW/PC/maps/fusion_anim.gsc new file mode 100644 index 0000000..b753181 --- /dev/null +++ b/AW/PC/maps/fusion_anim.gsc @@ -0,0 +1,731 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: fusion_anim.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 33 + * Decompile Time: 485 ms + * Timestamp: 4/22/2024 2:29:35 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = "none"; + if(level.currentgen) + { + if(istransientloaded("fusion_intro_tr")) + { + var_00 = "intro"; + } + else if(istransientloaded("fusion_middle_tr")) + { + var_00 = "middle"; + } + else if(istransientloaded("fusion_outro_tr")) + { + var_00 = "outro"; + } + } + + if(level.nextgen) + { + anim.forced_s1_motionset = 1; + } + + thread load_anims(var_00); + thread load_actor_anims(var_00); + thread load_script_model_anims(var_00); + thread load_vehicle_anims(var_00); + interior_setup_anims(var_00); + if(level.currentgen) + { + if(var_00 == "intro") + { + thread notetrack_setup_middle(); + } + + if(var_00 == "intro" || var_00 == "middle") + { + thread notetrack_setup_outro(); + } + } +} + +//Function Number: 2 +interior_setup_anims(param_00) +{ + interior_player_anims(param_00); + interior_npc_anims(param_00); +} + +//Function Number: 3 +load_anims(param_00) +{ + level.scr_animtree["player_rig"] = #animtree; + level.scr_model["player_rig"] = "viewbody_atlas_pmc_smp_custom"; + level.scr_animtree["player_arms"] = #animtree; + level.scr_model["player_arms"] = "worldhands_atlas_pmc_smp"; + level.scr_anim["player_rig"]["fly_in_intro"] = %fusion_fly_in_intro_view_model; + level.scr_anim["player_rig"]["fly_in_part2"] = %fusion_fly_in_pt2_view_model; + level.scr_anim["player_rig"]["enter_left"] = %x4walker_wheels_cockpit_in_l_vm; + level.scr_anim["player_rig"]["enter_right"] = %x4walker_wheels_cockpit_in_r_vm; + level.scr_anim["player_rig"]["exit_left"] = %x4walker_wheels_cockpit_out_l_vm; + level.scr_anim["player_rig"]["exit_right"] = %x4walker_wheels_cockpit_out_r_vm; + level.scr_anim["player_arms"]["elevator_button_scene"] = %fusion_elevator_button_push_vm; + maps\_anim::addnotetrack_notify("player_arms","button_push","flag_anim_elevator_button_pressed","elevator_button_scene"); + maps\_anim::addnotetrack_customfunction("player_rig","cockpit_swap",::swap_cockpit_model); + level.scr_anim["player_rig"]["fusion_silo_collapse_vm_pt01"] = %fusion_silo_collapse_vm_pt01; + level.scr_anim["player_rig"]["fusion_silo_collapse_vm_pt02"] = %fusion_silo_collapse_vm_pt02; + level.scr_anim["player_rig"]["fusion_silo_collapse_finale"] = %fusion_silo_collapse_vm_pt03; + maps\_anim::addnotetrack_customfunction("player_rig","fov_55",::fov_snap_to_55,"fusion_silo_collapse_vm_pt02"); + maps\_anim::addnotetrack_customfunction("player_rig","fov_45",::fov_set_to_35,"fusion_silo_collapse_finale"); + maps\_anim::addnotetrack_customfunction("player_rig","rumble_small",::rumble_small,"fusion_silo_collapse_vm_pt01"); + maps\_anim::addnotetrack_customfunction("player_rig","rumble_small",::rumble_small,"fusion_silo_collapse_vm_pt02"); + maps\_anim::addnotetrack_customfunction("player_rig","rumble_small",::rumble_small,"fusion_silo_collapse_finale"); + maps\_anim::addnotetrack_customfunction("player_rig","rumble_medium",::rumble_medium,"fusion_silo_collapse_vm_pt01"); + maps\_anim::addnotetrack_customfunction("player_rig","rumble_medium",::rumble_medium,"fusion_silo_collapse_vm_pt02"); + maps\_anim::addnotetrack_customfunction("player_rig","rumble_medium",::rumble_medium,"fusion_silo_collapse_finale"); + maps\_anim::addnotetrack_customfunction("player_rig","rumble_large",::rumble_large,"fusion_silo_collapse_vm_pt01"); + maps\_anim::addnotetrack_customfunction("player_rig","rumble_large",::rumble_large,"fusion_silo_collapse_vm_pt02"); + maps\_anim::addnotetrack_customfunction("player_rig","rumble_large",::rumble_large,"fusion_silo_collapse_finale"); + maps\_anim::addnotetrack_flag("player_rig","fade_out","play_ending"); + if(level.nextgen || param_00 == "outro") + { + maps\_anim::addnotetrack_customfunction("player_rig","drag_sand_begin",::end_drag_dust,"fusion_silo_collapse_finale"); + } + + level.scr_animtree["player_dismembered_arm"] = #animtree; + level.scr_model["player_dismembered_arm"] = "vb_pmc_dismember"; + level.scr_anim["player_dismembered_arm"]["fusion_silo_collapse_finale"] = %fusion_silo_collapse_vm_arm; +} + +//Function Number: 4 +fov_snap_to_55(param_00) +{ + param_00 maps\_utility::lerp_fov_overtime(0.5,55); +} + +//Function Number: 5 +fov_set_to_35(param_00) +{ + param_00 maps\_utility::lerp_fov_overtime(8,35); +} + +//Function Number: 6 +rumble_small(param_00) +{ + level.player playrumbleonentity("damage_light"); +} + +//Function Number: 7 +rumble_medium(param_00) +{ + level.player playrumbleonentity("damage_heavy"); +} + +//Function Number: 8 +rumble_large(param_00) +{ + level.player playrumbleonentity("artillery_rumble"); +} + +//Function Number: 9 +fov_lerp_to_50_blendtime(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = 1; + } + + param_00 maps\_utility::lerp_fov_overtime(param_01,50); +} + +//Function Number: 10 +fov_reset_previous(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = 65; + } + + param_00 maps\_utility::lerp_fov_overtime(1,param_01); +} + +//Function Number: 11 +interior_player_anims(param_00) +{ + level.scr_animtree["player_arms"] = #animtree; + level.scr_model["player_arms"] = "worldhands_atlas_pmc_smp"; + level.scr_animtree["player_rig"] = #animtree; + level.scr_model["player_rig"] = "viewbody_atlas_pmc_smp_custom"; + level.scr_anim["player_rig"]["elevator_descent"] = %fusion_elevator_shaft_vm; + maps\_anim::addnotetrack_notify("player_rig","burke_elevator_landing","burke_elevator_landing","elevator_descent"); + level.scr_anim["player_rig"]["control_room_scene"] = %fusion_control_room_vm; +} + +//Function Number: 12 +clear_player_anim(param_00) +{ + self clearanim(%root,param_00); +} + +//Function Number: 13 +load_actor_anims(param_00) +{ + level.scr_anim["burke"]["reactor_talk"] = %fusion_controlroom_guy3; + level.scr_anim["burke"]["fly_in_intro"] = %fusion_fly_in_intro_burke; + level.scr_anim["joker"]["fly_in_intro"] = %fusion_fly_in_intro_npc_a; + level.scr_anim["carter"]["fly_in_intro"] = %fusion_fly_in_intro_npc_a2; + level.scr_anim["npc_f"]["fly_in_intro"] = %fusion_fly_in_intro_npc_f; + level.scr_anim["npc_g"]["fly_in_intro"] = %fusion_fly_in_intro_npc_g; + level.scr_anim["npc_h"]["fly_in_intro"] = %fusion_fly_in_intro_npc_h; + level.scr_anim["burke"]["fly_in_part2"] = %fusion_fly_in_pt2_burke; + level.scr_anim["joker"]["fly_in_part2"] = %fusion_fly_in_pt2_npc_a; + level.scr_anim["carter"]["fly_in_part2"] = %fusion_fly_in_pt2_npc_a; + level.scr_anim["npc_b"]["fly_in_part2"] = %fusion_fly_in_pt2_npc_b; + level.scr_anim["npc_c"]["fly_in_part2"] = %fusion_fly_in_pt2_npc_c; + level.scr_anim["npc_d"]["fly_in_part2"] = %fusion_fly_in_pt2_npc_d; + level.scr_anim["npc_e"]["fly_in_part2"] = %fusion_fly_in_pt2_npc_e; + level.scr_anim["npc_f"]["fly_in_part2"] = %fusion_fly_in_pt2_npc_f; + level.scr_anim["npc_g"]["fly_in_part2"] = %fusion_fly_in_pt2_npc_g; + level.scr_anim["npc_h"]["fly_in_part2"] = %fusion_fly_in_intro_npc_h_2; + level.scr_anim["burke"]["fly_in_end_idle"][0] = %fusion_fly_in_pt2_burke_idle; + level.scr_anim["burke"]["burke_rooftop_shoot_enter"] = %fusion_fly_in_intro_zip_burke_shoot_enter; + level.scr_anim["burke"]["burke_intro_zip"] = %fusion_fly_in_intro_zip_burke; + level.scr_anim["npc_zip_1"]["npc_zip"] = %fusion_zipline_guy1; + level.scr_anim["npc_zip_2"]["npc_zip"] = %fusion_zipline_guy2; + level.scr_anim["npc_zip_3"]["npc_zip"] = %fusion_zipline_guy3; + level.scr_anim["npc_zip_4"]["npc_zip"] = %fusion_zipline_guy4; + level.scr_anim["burke"]["street_burke_rally"] = %fusion_burke_run_rally_up_guy1; + level.scr_anim["joker"]["street_burke_rally_in"] = %fusion_burke_run_rally_up_runup_guy2; + level.scr_anim["joker"]["street_burke_rally_idle"] = [%fusion_burke_run_rally_up_idle_guy2]; + level.scr_anim["joker"]["street_burke_rally_out"] = %fusion_burke_run_rally_up_runout_guy2; + level.scr_anim["joker"]["reactor_entrance_st"] = %paris_bookstore_exit_guy1_st; + level.scr_anim["joker"]["reactor_entrance_idle"] = [%paris_bookstore_exit_guy1_idle]; + level.scr_anim["burke"]["reactor_entrance_st"] = %paris_bookstore_exit_guy2_st; + level.scr_anim["burke"]["reactor_entrance_idle"] = [%paris_bookstore_exit_guy2_idle]; + level.scr_anim["burke"]["fusion_silo_stumble_npc"] = %fusion_silo_stumble_npc; + level.scr_anim["burke"]["fusion_silo_collapse_finale"] = %fusion_silo_collapse_npc; + level.scr_anim["guy1"]["fusion_mobile_cover"] = %fusion_mobile_cover_fire_guy1; + level.scr_anim["guy2"]["fusion_mobile_cover"] = %fusion_mobile_cover_fire_guy2; + level.scr_anim["guy1"]["fusion_mobile_cover_2"] = %mobile_cover_crouch_walk_guy1; + level.scr_anim["guy2"]["fusion_mobile_cover_2"] = %mobile_cover_crouch_walk_guy2; + level.scr_anim["guy1"]["fusion_rooftop_slide"] = %fusion_rubble_slide_guy1; + level.scr_anim["guy2"]["fusion_rooftop_slide"] = %fusion_rubble_slide_guy2; + level.scr_anim["guy1"]["guy_enter_mobile_turret"] = %x4walker_wheels_enter_right_npc; + level.scr_anim["carter"]["fus_control_room_in"] = %fusion_controlroom_guy1_a; + level.scr_anim["carter"]["fus_control_room_loop"][0] = %fusion_controlroom_guy1_b; + level.scr_anim["carter"]["fus_control_room_out"] = %fusion_controlroom_guy1_c; + level.scr_anim["joker"]["fus_control_room_in"] = %fusion_controlroom_guy2_a; + level.scr_anim["joker"]["fus_control_room_loop"][0] = %fusion_controlroom_guy2_b; + level.scr_anim["joker"]["fus_control_room_out"] = %fusion_controlroom_guy2_c; + level.scr_anim["pickup_event_guy1"]["fusion_reaction_pickup_event"] = %fusion_vehicle_explode_guy1; + level.scr_anim["pickup_event_guy2"]["fusion_reaction_pickup_event"] = %fusion_vehicle_explode_guy2; + if(level.nextgen || param_00 == "outro") + { + maps\_anim::addnotetrack_customfunction("pickup_event_guy1","dead",::ai_kill,"fusion_reaction_pickup_event"); + } + + level.scr_anim["generic"]["payback_comp_balcony_kick_enemy"] = %payback_comp_balcony_kick_enemy; + level.scr_anim["civilian"]["dubai_restaurant_rolling_soldier"] = %dubai_restaurant_rolling_soldier; + level.scr_anim["generic"]["corner_standR_deathA"] = %corner_standr_deatha; + level.scr_anim["generic"]["corner_standR_deathB"] = %corner_standr_deathb; + level.scr_anim["generic"]["coverstand_death_left"] = %coverstand_death_left; + level.scr_anim["generic"]["coverstand_death_right"] = %coverstand_death_right; + level.scr_anim["generic"]["covercrouch_death_1"] = %covercrouch_death_1; + level.scr_anim["generic"]["prone_death_quickdeath"] = %prone_death_quickdeath; + level.scr_anim["generic"]["death_shotgun_back_v1"] = %death_shotgun_back_v1; + level.scr_anim["generic"]["arcadia_ending_sceneA_dead_civilian"] = %arcadia_ending_scenea_dead_civilian; + level.scr_anim["generic"]["civilian_leaning_death"] = %civilian_leaning_death; + level.scr_anim["generic"]["dcburning_elevator_corpse_idle_A"] = %dcburning_elevator_corpse_idle_a; +} + +//Function Number: 14 +interior_npc_anims(param_00) +{ + level.scr_anim["carter"]["fusion_security_doors_approach"] = %fusion_security_doors_approach_guy1; + level.scr_anim["burke"]["fusion_security_doors_approach"] = %fusion_security_doors_approach_guy2; + level.scr_anim["carter"]["fusion_security_doors_idle"][0] = %fusion_security_doors_idle_guy1; + level.scr_anim["burke"]["fusion_security_doors_idle"][0] = %fusion_security_doors_idle_guy2; + level.scr_anim["carter"]["fusion_security_doors_open"] = %fusion_security_doors_open_guy1; + level.scr_anim["burke"]["fusion_security_doors_open"] = %fusion_security_doors_open_guy2; + maps\_anim::addnotetrack_customfunction("burke","vfx_door_open_rt",::maps\fusion_fx::control_room_door_open_rt,"fusion_security_doors_open"); + maps\_anim::addnotetrack_customfunction("burke","vfx_door_open_lt",::maps\fusion_fx::control_room_door_open_lt,"fusion_security_doors_open"); + level.scr_anim["burke"]["security_room_check_corpse"] = %fusion_security_room_corpse_fall_npc_burke; + level.scr_anim["generic"]["security_room_check_corpse"] = %fusion_security_room_corpse_fall_npc; + level.scr_anim["burke"]["security_room_check_corpse_idle"][0] = %fusion_security_room_corpse_fall_npc_burke_idle; + level.scr_anim["burke"]["security_room_turn_to_elevator"] = %fusion_security_room_corpse_fall_2_burke_idle; + level.scr_anim["joker"]["security_room_approach_elevator"] = %fusion_elevator_door_open_guy1; + level.scr_anim["carter"]["security_room_approach_elevator"] = %fusion_elevator_door_open_guy2; + level.scr_anim["joker"]["security_room_open_elevator_idle"][0] = %fusion_elevator_door_open_guy1_idle; + level.scr_anim["carter"]["security_room_open_elevator_idle"][0] = %fusion_elevator_door_open_guy2_idle; + level.scr_anim["joker"]["security_room_open_elevator"] = %fusion_elevator_door_open_guy1_open; + level.scr_anim["carter"]["security_room_open_elevator"] = %fusion_elevator_door_open_guy2_open; + level.scr_anim["joker"]["security_room_elevator_opened_idle"][0] = %fusion_elevator_door_open_guy1_open_idle; + level.scr_anim["carter"]["security_room_elevator_opened_idle"][0] = %fusion_elevator_door_open_guy2_open_idle; + maps\_anim::addnotetrack_notify("joker","elevator_attach","elevator_attach_joker","security_room_open_elevator"); + maps\_anim::addnotetrack_notify("carter","elevator_attach","elevator_attach_carter","security_room_open_elevator"); + maps\_anim::addnotetrack_notify("joker","elevator_detach","elevator_detach_joker","security_room_open_elevator"); + maps\_anim::addnotetrack_notify("carter","elevator_detach","elevator_detach_carter","security_room_open_elevator"); + level.scr_anim["burke"]["elevator_descent_start_idle"][0] = %fusion_elevator_shaft_npc_burke_idle; + level.scr_anim["burke"]["elevator_descent"] = %fusion_elevator_shaft_burke; + maps\_anim::addnotetrack_customfunction("burke","elevator_slide",::maps\fusion_fx::fx_elevator_descent_burke,"elevator_descent"); + level.scr_anim["joker"]["elevator_descent"] = %fusion_elevator_shaft_npc1; + level.scr_anim["carter"]["elevator_descent"] = %fusion_elevator_shaft_npc2; + level.scr_anim["burke"]["elevator_descent_exit"] = %fusion_elevator_shaft_burke_exit; + level.scr_anim["burke"]["elevator_descent_end_idle"][0] = %fusion_elevator_shaft_npc_burke_exit_idle; + level.scr_anim["burke"]["elevator_descent_end_idle_2_cqb"] = %fusion_elevator_shaft_npc_burke_exit_idle_2_cqb; + level.scr_anim["joker"]["elevator_descent_end_idle"][0] = %fusion_elevator_shaft_npc1_exit_idle; + level.scr_anim["carter"]["elevator_descent_end_idle"][0] = %fusion_elevator_shaft_npc2_exit_idle; + level.scr_anim["joker"]["elevator_descent_end_idle_2_cqb"] = %fusion_elevator_shaft_npc1_exit_idle_2_cqb; + level.scr_anim["carter"]["elevator_descent_end_idle_2_cqb"] = %fusion_elevator_shaft_npc2_exit_idle_2_cqb; + level.scr_anim["joker"]["negotiation_elevator_to_hall"] = %fusion_movingf_checkl_turnr; + level.scr_anim["burke"]["negotiation_hall_to_lab"] = %fusion_movingf_checkr_continuef; + level.scr_anim["burke"]["negotiation_curved_hall"] = %fusion_movingf_checkf_checkl_turnr; + level.scr_anim["carter"]["negotiation_locker_room_entrance"] = %fusion_movingf_crouch_checkl_turnl; + level.scr_anim["burke"]["fusion_airlock_opening_approach"] = %fusion_airlock_opening_burke; + level.scr_anim["carter"]["fusion_airlock_opening_approach"] = %fusion_airlock_opening_guy2; + level.scr_anim["burke"]["fusion_airlock_opening_idle"][0] = %fusion_airlock_opening_idle_burke; + level.scr_anim["carter"]["fusion_airlock_opening_idle"][0] = %fusion_airlock_opening_idle_guy2; + level.scr_anim["burke"]["fusion_airlock_opening"] = %fusion_airlock_opening_pt2_burke; + level.scr_anim["generic"]["fusion_airlock_opening"] = %fusion_airlock_opening_pt2_guy1; + level.scr_anim["carter"]["fusion_airlock_opening"] = %fusion_airlock_opening_pt2_guy2; + if(level.nextgen || param_00 == "middle") + { + maps\_anim::addnotetrack_customfunction("generic","start_ragdoll",::ai_kill_no_ragdoll,"fusion_airlock_opening"); + } + + level.scr_anim["generic"]["reactor_room_catwalk_death"] = %ny_harbor_davora_side_fall_death; + level.scr_anim["burke"]["turbine_elevator_enter"] = %fusion_lift_deploy_cover_right_enter; + level.scr_anim["joker"]["turbine_elevator_enter"] = %fusion_lift_deploy_cover_carter_enter; + level.scr_anim["carter"]["turbine_elevator_enter"] = %fusion_lift_deploy_cover_left_enter; + level.scr_anim["burke"]["turbine_elevator_idle"][0] = %fusion_lift_deploy_cover_right_idle; + level.scr_anim["joker"]["turbine_elevator_idle"][0] = %fusion_lift_deploy_cover_carter_idle; + level.scr_anim["carter"]["turbine_elevator_idle"][0] = %fusion_lift_deploy_cover_left_idle; + level.scr_anim["burke"]["turbine_elevator_exit"] = %fusion_lift_deploy_cover_right_exit; + level.scr_anim["joker"]["turbine_elevator_exit"] = %fusion_lift_deploy_cover_carter_exit; + level.scr_anim["carter"]["turbine_elevator_exit"] = %fusion_lift_deploy_cover_left_exit; + level.scr_anim["burke"]["fusion_door_explosion_postup"] = %fusion_door_open_postup_burke; + level.scr_anim["carter"]["fusion_door_explosion_postup"] = %fusion_door_open_postup_npc_a; + level.scr_anim["burke"]["fusion_door_explosion_postup_loop"][0] = %fusion_door_open_postup_loop_burke; + level.scr_anim["carter"]["fusion_door_explosion_postup_loop"][0] = %fusion_door_open_postup_loop_npc_a; + level.scr_anim["burke"]["fusion_door_explosion"] = %fusion_door_explosion_burke; + level.scr_anim["carter"]["fusion_door_explosion"] = %fusion_door_explosion_npc_a; + level.scr_anim["joker"]["fusion_door_explosion"] = %fusion_door_explosion_npc_b; + level.scr_anim["burke"]["control_room_idle"][0] = %fusion_control_room_idle_burke; + level.scr_anim["carter"]["control_room_idle"][0] = %fusion_control_room_idle_npc_a; + level.scr_anim["joker"]["control_room_idle"][0] = %fusion_control_room_idle_npc_b; + level.scr_anim["burke"]["control_room_scene"] = %fusion_control_room_burke; + level.scr_anim["carter"]["control_room_scene"] = %fusion_control_room_npc_a; + level.scr_anim["joker"]["control_room_scene"] = %fusion_control_room_npc_b; + level.scr_anim["generic"]["paris_npc_dead_poses_v02"] = %paris_npc_dead_poses_v02; + level.scr_anim["generic"]["paris_npc_dead_poses_v03"] = %paris_npc_dead_poses_v03; + level.scr_anim["generic"]["paris_npc_dead_poses_v09"] = %paris_npc_dead_poses_v09; + level.scr_anim["generic"]["paris_npc_dead_poses_v11"] = %paris_npc_dead_poses_v11; + level.scr_anim["generic"]["paris_npc_dead_poses_v15"] = %paris_npc_dead_poses_v15; + level.scr_anim["generic"]["paris_npc_dead_poses_v16"] = %paris_npc_dead_poses_v16; + level.scr_anim["generic"]["paris_npc_dead_poses_v18"] = %paris_npc_dead_poses_v18; + level.scr_anim["generic"]["paris_npc_dead_poses_v20"] = %paris_npc_dead_poses_v20; + level.scr_anim["generic"]["paris_npc_dead_poses_v21"] = %paris_npc_dead_poses_v21; + level.scr_anim["generic"]["paris_npc_dead_poses_v22"] = %paris_npc_dead_poses_v22; + level.scr_anim["generic"]["dead_body_floating_1"][0] = %dead_body_floating_1; + level.scr_anim["generic"]["dead_body_floating_2"][0] = %dead_body_floating_2; + level.scr_anim["generic"]["dead_body_floating_3"][0] = %dead_body_floating_3; +} + +//Function Number: 15 +ai_kill(param_00) +{ + if(!isalive(param_00)) + { + return; + } + + param_00.allowdeath = 1; + param_00.a.nodeath = 1; + param_00 maps\_utility::set_battlechatter(0); + wait(0.05); + param_00 kill(); +} + +//Function Number: 16 +ai_kill_no_ragdoll(param_00) +{ + param_00.allowdeath = 1; + param_00.skipdeathanim = 1; + param_00.noragdoll = 1; + param_00.a.nodeath = 1; + wait(0.05); + param_00 kill(); +} + +//Function Number: 17 +clear_npc_anim(param_00) +{ + self clearanim(%root,param_00); +} + +//Function Number: 18 +load_vehicle_anims(param_00) +{ + level.scr_anim["warbird_a"]["fly_in_intro"] = %fusion_fly_in_intro_warbird_a; + maps\_anim::addnotetrack_flag("warbird_a","map_open","fusion_map_open"); + maps\_anim::addnotetrack_flag("warbird_a","map_anim_start","fusion_start_map_anim"); + maps\_anim::addnotetrack_flag("warbird_a","map_anim_end","fusion_stop_map_anim"); + maps\_anim::addnotetrack_flag("warbird_a","map_target_01","fusion_map_target_01"); + maps\_anim::addnotetrack_flag("warbird_a","map_target_02","fusion_map_target_02"); + level.scr_anim["warbird_a"]["fly_in_part2"] = %fusion_fly_in_pt2_warbird_a; + if(level.nextgen || param_00 == "intro") + { + maps\_anim::addnotetrack_customfunction("warbird_a","VFX_missile_launch_00",::spawn_fly_in_missile_00,"fly_in_part2"); + maps\_anim::addnotetrack_customfunction("warbird_a","VFX_missile_launch_01",::spawn_fly_in_missile_01,"fly_in_part2"); + maps\_anim::addnotetrack_customfunction("warbird_a","VFX_missile_launch_02",::spawn_fly_in_missile_02,"fly_in_part2"); + maps\_anim::addnotetrack_customfunction("warbird_a","VFX_missile_launch_03",::spawn_fly_in_missile_03,"fly_in_part2"); + maps\_anim::addnotetrack_customfunction("warbird_a","VFX_missile_launch_04",::spawn_fly_in_missile_04,"fly_in_part2"); + maps\_anim::addnotetrack_customfunction("warbird_a","VFX_missile_launch_05",::spawn_fly_in_missile_05,"fly_in_part2"); + maps\_anim::addnotetrack_customfunction("warbird_a","VFX_missile_launch_06",::spawn_fly_in_missile_06,"fly_in_part2"); + } + + level.scr_anim["warbird_b"]["fly_in_part2"] = %fusion_fly_in_pt2_warbird_b; + if(level.nextgen || param_00 == "intro") + { + maps\_anim::addnotetrack_customfunction("warbird_b","VFX_missile_hit",::maps\fusion_fx::intro_fly_in_missile_hit_warbird); + maps\_anim::addnotetrack_customfunction("warbird_b","VFX_missile_hit",::maps\fusion_code::intro_missile_hit); + maps\_anim::addnotetrack_customfunction("warbird_b","VFX_heli_crash_tower",::maps\fusion_fx::intro_fly_in_missile_hit_warbird_tower); + maps\_anim::addnotetrack_customfunction("warbird_b","VFX_rotorsmoke_start",::maps\fusion_fx::intro_fly_in_missile_hit_warbird_rotorsmoke); + maps\_anim::addnotetrack_customfunction("warbird_b","VFX_rotorsmoke_stop",::maps\fusion_fx::intro_fly_in_missile_hit_warbird_rotorsmoke_stop); + } + + level.scr_anim["warbird_c"]["fly_in_part2"] = %fusion_fly_in_pt2_warbird_c; + level.scr_anim["warbird_d"]["fly_in_part2"] = %fusion_fly_in_pt2_warbird_d; + level.scr_anim["warbird_e"]["fly_in_part2"] = %fusion_fly_in_pt2_warbird_e; + level.scr_anim["warbird_a"]["hatch_door_veil"] = %fusion_fly_in_intro_warbird_a; + if(level.nextgen || param_00 == "intro") + { + maps\_anim::addnotetrack_customfunction("warbird_a","open_door",::maps\fusion_lighting::hatch_door_veil); + maps\_anim::addnotetrack_customfunction("warbird_a","open_door",::maps\fusion_lighting::hatch_door_vision); + maps\_anim::addnotetrack_customfunction("warbird_a","open_door",::maps\fusion_lighting::hatch_door_lightgrid_off); + maps\_anim::addnotetrack_customfunction("warbird_a","open_door",::maps\fusion_code::play_dust); + maps\_anim::addnotetrack_customfunction("warbird_a","open_door",::maps\fusion_lighting::hatch_door_push_fog_out); + } + + level.scr_anim["warbird_a"]["fusion_fly_in_warbird_a_idle"] = %fusion_fly_in_warbird_a_idle; + level.scr_anim["npc_zip_warbird"]["npc_zip"] = %fusion_zipline_warbird; + level.scr_anim["warbird_a"]["burke_intro_zip"] = %fusion_fly_in_intro_zip_warbird_a; + level.scr_anim["warbird_a"]["burke_intro_zip_loop"][0] = %fusion_fly_in_intro_zip_warbird_a_loop; + level.scr_animtree["mobile_cover"] = #animtree; + level.scr_model["mobile_cover"] = "vehicle_mobile_cover"; + level.scr_anim["mobile_cover"]["fusion_mobile_cover"] = %fusion_mobile_cover; + level.scr_anim["mobile_cover"]["fusion_mobile_cover_2"] = %mobile_cover_crouch_walk; + level.scr_animtree["cart"] = #animtree; + level.scr_anim["cart"]["fusion_utility_cart_explode_cart"] = %fusion_utility_cart_explode_cart; + level.scr_animtree["pickup"] = #animtree; + level.scr_anim["pickup"]["fusion_reaction_pickup_event"] = %fusion_vehicle_explode_truck; + level.scr_anim["warbird_deploy"]["mobile_turret_deploy"] = %mobile_turret_deploy_warbird; + level.scr_anim["mobile_turret"]["guy_enter_mobile_turret"] = %x4walker_wheels_enter_right; + level.scr_anim["walker_tank"]["fusion_walker_tank_enter"] = %fusion_walker_tank_enter; + level.scr_anim["walker_tank"]["fusion_walker_tank_fwd_2_left"] = %fusion_walker_tank_fwd_2_left; + level.scr_anim["walker_tank"]["fusion_walker_tank_fwd_2_right"] = %fusion_walker_tank_fwd_2_right; + level.scr_anim["walker_tank"]["fusion_walker_tank_fwd_idle"][0] = %fusion_walker_tank_fwd_idle; + level.scr_anim["walker_tank"]["fusion_walker_tank_left_2_fwd"] = %fusion_walker_tank_left_2_fwd; + level.scr_anim["walker_tank"]["fusion_walker_tank_left_idle"][0] = %fusion_walker_tank_left_idle; + level.scr_anim["walker_tank"]["fusion_walker_tank_right_2_fwd"] = %fusion_walker_tank_right_2_fwd; + level.scr_anim["walker_tank"]["fusion_walker_tank_right_idle"][0] = %fusion_walker_tank_right_idle; + level.scr_anim["walker_tank"]["fusion_walker_tank_fwd_idle_death"] = %fusion_walker_tank_fwd_idle_death; + maps\_anim::addnotetrack_customfunction("walker_tank","walker_death",::maps\fusion_code::destroy_walker_tank,"fusion_walker_tank_fwd_idle_death"); + level.scr_anim["walker_tank"]["fusion_walker_tank_left_idle_death"] = %fusion_walker_tank_left_idle_death; + maps\_anim::addnotetrack_customfunction("walker_tank","walker_death",::maps\fusion_code::destroy_walker_tank,"fusion_walker_tank_left_idle_death"); + level.scr_anim["walker_tank"]["fusion_walker_tank_right_idle_death"] = %fusion_walker_tank_right_idle_death; + maps\_anim::addnotetrack_customfunction("walker_tank","walker_death",::maps\fusion_code::destroy_walker_tank,"fusion_walker_tank_right_idle_death"); + maps\_anim::addnotetrack_customfunction("walker_tank","footstep_left_large",::maps\fusion_fx::walker_tank_footstep_left); + maps\_anim::addnotetrack_customfunction("walker_tank","footstep_right_large",::maps\fusion_fx::walker_tank_footstep_right); + maps\_anim::addnotetrack_customfunction("walker_tank","footstep_left_rear_large",::maps\fusion_fx::walker_tank_footstep_left_rear); + maps\_anim::addnotetrack_customfunction("walker_tank","footstep_right_rear_large",::maps\fusion_fx::walker_tank_footstep_right_rear); + level.scr_animtree["vehicle_xh9_warbird"] = #animtree; + level.scr_model["vehicle_xh9_warbird"] = "vehicle_xh9_warbird"; + level.scr_anim["vehicle_xh9_warbird"]["fusion_silo_collapse_warbird"] = %fusion_silo_collapse_warbird; +} + +//Function Number: 19 +clear_vehicle_anim(param_00) +{ + self clearanim(%root,param_00); +} + +//Function Number: 20 +load_script_model_anims(param_00) +{ + level.scr_animtree["ar_map"] = #animtree; + level.scr_anim["ar_map"]["fly_in_intro"] = %fusion_fly_in_armap; + level.scr_animtree["missile_0"] = #animtree; + level.scr_model["missile_0"] = "projectile_missile_javelin"; + level.scr_anim["missile_0"]["fly_in_part2"] = %fusion_fly_in_pt2_missile_00; + level.scr_animtree["missile_1"] = #animtree; + level.scr_model["missile_1"] = "projectile_missile_stinger"; + level.scr_anim["missile_1"]["fly_in_part2"] = %fusion_fly_in_pt2_missile_01; + level.scr_animtree["missile_2"] = #animtree; + level.scr_model["missile_2"] = "projectile_missile_stinger"; + level.scr_anim["missile_2"]["fly_in_part2"] = %fusion_fly_in_pt2_missile_02; + level.scr_animtree["missile_3"] = #animtree; + level.scr_model["missile_3"] = "projectile_missile_stinger"; + level.scr_anim["missile_3"]["fly_in_part2"] = %fusion_fly_in_pt2_missile_03; + level.scr_animtree["missile_4"] = #animtree; + level.scr_model["missile_4"] = "projectile_missile_stinger"; + level.scr_anim["missile_4"]["fly_in_part2"] = %fusion_fly_in_pt2_missile_04; + level.scr_animtree["missile_5"] = #animtree; + level.scr_model["missile_5"] = "projectile_missile_stinger"; + level.scr_anim["missile_5"]["fly_in_part2"] = %fusion_fly_in_pt2_missile_05; + level.scr_animtree["missile_6"] = #animtree; + level.scr_model["missile_6"] = "projectile_missile_stinger"; + level.scr_anim["missile_6"]["fly_in_part2"] = %fusion_fly_in_pt2_missile_06; + level.scr_animtree["warbird_pulley_c"] = #animtree; + level.scr_model["warbird_pulley_c"] = "vehicle_xh9_warbird_pulley"; + level.scr_anim["warbird_pulley_c"]["fly_in_part2"] = %fusion_fly_in_pt2_warbird_pulley_c; + level.scr_animtree["warbird_pulley_d"] = #animtree; + level.scr_model["warbird_pulley_d"] = "vehicle_xh9_warbird_pulley"; + level.scr_anim["warbird_pulley_d"]["fly_in_part2"] = %fusion_fly_in_pt2_warbird_pulley_d; + level.scr_animtree["warbird_pulley_e"] = #animtree; + level.scr_model["warbird_pulley_e"] = "vehicle_xh9_warbird_pulley"; + level.scr_anim["warbird_pulley_e"]["fly_in_part2"] = %fusion_fly_in_pt2_warbird_pulley_e; + level.scr_animtree["warbird_walker_c"] = #animtree; + level.scr_model["warbird_walker_c"] = "vehicle_x4walker_wheels"; + level.scr_anim["warbird_walker_c"]["fly_in_part2"] = %fusion_fly_in_pt2_warbird_x4walker_c; + level.scr_animtree["warbird_walker_d"] = #animtree; + level.scr_model["warbird_walker_d"] = "vehicle_x4walker_wheels"; + level.scr_anim["warbird_walker_d"]["fly_in_part2"] = %fusion_fly_in_pt2_warbird_x4walker_d; + level.scr_animtree["warbird_walker_e"] = #animtree; + level.scr_model["warbird_walker_e"] = "vehicle_x4walker_wheels"; + level.scr_anim["warbird_walker_e"]["fly_in_part2"] = %fusion_fly_in_pt2_warbird_x4walker_e; + level.scr_animtree["zipline_1"] = #animtree; + level.scr_model["zipline_1"] = "npc_zipline101ft"; + level.scr_anim["zipline_1"]["npc_zip"] = %zipline_rope1; + level.scr_animtree["zipline_2"] = #animtree; + level.scr_model["zipline_2"] = "npc_zipline101ft"; + level.scr_anim["zipline_2"]["npc_zip"] = %zipline_rope2; + level.scr_animtree["zipline_3"] = #animtree; + level.scr_model["zipline_3"] = "npc_zipline101ft"; + level.scr_anim["zipline_3"]["npc_zip"] = %zipline_rope3; + level.scr_animtree["zipline_4"] = #animtree; + level.scr_model["zipline_4"] = "npc_zipline101ft"; + level.scr_anim["zipline_4"]["npc_zip"] = %zipline_rope4; + level.scr_anim["_zipline_gun_fl"]["burke_intro_zip"] = %fusion_fly_in_intro_zip_zipgun; + level.scr_anim["_zipline_gun_fl"]["burke_intro_zip_loop"][0] = %fusion_fly_in_intro_zip_zipgun_loop; + maps\_anim::addnotetrack_customfunction("_zipline_gun_fl","VFX_burke_zipline_fire",::maps\fusion_fx::vfx_zipgun_fire); + level.scr_animtree["zip_debris_01"] = #animtree; + level.scr_model["zip_debris_01"] = "fus_arch_pipe_piece_01"; + level.scr_anim["zip_debris_01"]["zip_falling_debris"] = %fusion_zip_falling_pipes_piece_01; + level.scr_animtree["zip_debris_02"] = #animtree; + level.scr_model["zip_debris_02"] = "fus_arch_pipe_piece_02"; + level.scr_anim["zip_debris_02"]["zip_falling_debris"] = %fusion_zip_falling_pipes_piece_02; + level.scr_animtree["street_pipes_01"] = #animtree; + level.scr_model["street_pipes_01"] = "fus_pipes_elec_set_01_piece_01"; + level.scr_anim["street_pipes_01"]["street_hanging_pipes"][0] = %fusion_arch_pipes_elec_set; + level.scr_animtree["pulley_deploy"] = #animtree; + level.scr_model["pulley_deploy"] = "vehicle_xh9_warbird_pulley"; + level.scr_anim["pulley_deploy"]["mobile_turret_deploy"] = %mobile_turret_deploy_pulley; + level.scr_animtree["walker_deploy"] = #animtree; + level.scr_model["walker_deploy"] = "vehicle_x4walker_wheels"; + level.scr_anim["walker_deploy"]["mobile_turret_deploy"] = %mobile_turret_deploy_mobileturret; + maps\_anim::addnotetrack_customfunction("walker_deploy","vfx_mobile_turret_landing",::maps\fusion_fx::mobile_turret_landing); + level.scr_animtree["security_door_left"] = #animtree; + level.scr_model["security_door_left"] = "genericProp"; + level.scr_anim["security_door_left"]["fusion_security_doors_open"] = %fusion_security_doors_open_left; + level.scr_animtree["security_door_right"] = #animtree; + level.scr_model["security_door_right"] = "genericProp"; + level.scr_anim["security_door_right"]["fusion_security_doors_open"] = %fusion_security_doors_open_right; + level.scr_animtree["tower_debris"] = #animtree; + level.scr_model["tower_debris"] = "fus_cooling_tower_b_vista_dmg"; + level.scr_anim["tower_debris"]["tower_debris_collision"] = %fusion_fly_in_pt2_tower_debris; + level.scr_animtree["security_room_elevator_doors"] = #animtree; + level.scr_anim["security_room_elevator_doors"]["security_room_open_elevator"] = %fusion_elevator_doors_opening; + level.scr_animtree["reactor_crane"] = #animtree; + level.scr_anim["reactor_crane"]["crane_grab"] = %fusion_bridge_crane_pickup; + level.scr_anim["reactor_crane"]["crane_closed"] = %fusion_bridge_crane_closed_loop; + level.scr_anim["reactor_crane"]["crane_opened"] = %fusion_bridge_crane_open_loop; + level.scr_animtree["fusion_airlock_door"] = #animtree; + level.scr_anim["fusion_airlock_door"]["fusion_airlock_opening"] = %fusion_airlock_opening_door; + level.scr_animtree["deployable_cover"] = #animtree; + level.scr_model["deployable_cover"] = "deployable_cover"; + level.scr_anim["deployable_cover"]["deployable_cover_deploy"] = %fusion_lift_deploy_cover_deployable_cover_prop_enter; + level.scr_anim["deployable_cover"]["deployable_cover_closed_idle"] = %fusion_lift_deploy_cover_idle_closed; + level.scr_anim["deployable_cover"]["deployable_cover_open_idle"] = %fusion_lift_deploy_cover_idle_opened; + level.scr_animtree["fusion_door_open_postup_doors"] = #animtree; + level.scr_anim["fusion_door_open_postup_doors"]["fusion_door_explosion"] = %fusion_door_open_postup_doors; + level.scr_animtree["fusion_door_explosion_door_a"] = #animtree; + level.scr_model["fusion_door_explosion_door_a"] = "door_controlroom_01_rig"; + level.scr_anim["fusion_door_explosion_door_a"]["fusion_door_explosion"] = %fusion_door_explosion_door_a; + maps\_anim::addnotetrack_notify("fusion_door_explosion_door_a","doors_explode","doors_explode","fusion_door_explosion"); + maps\_anim::addnotetrack_customfunction("fusion_door_explosion_door_a","doors_explode",::fusion_door_explosion_swap,"fusion_door_explosion"); + level.scr_animtree["fusion_door_explosion_door_b"] = #animtree; + level.scr_model["fusion_door_explosion_door_b"] = "door_controlroom_01_rig"; + level.scr_anim["fusion_door_explosion_door_b"]["fusion_door_explosion"] = %fusion_door_explosion_door_a; + level.scr_animtree["fus_cooling_tower_collapse_chunks"] = #animtree; + level.scr_anim["fus_cooling_tower_collapse_chunks"]["fusion_collapse_ground_tower"] = %fus_cooling_tower_collapse_chunks; + maps\_anim::addnotetrack_flag("fus_cooling_tower_collapse_chunks","knockback","tower_knockback","fusion_collapse_ground_tower"); + maps\_anim::addnotetrack_flag("fus_cooling_tower_collapse_chunks","debris","tower_debris","fusion_collapse_ground_tower"); + maps\_anim::addnotetrack_flag("fus_cooling_tower_collapse_chunks","drag_begin","drag_begin","fusion_collapse_ground_tower"); + level.scr_animtree["fus_cooling_tower_collapse_concrete_shattered"] = #animtree; + level.scr_anim["fus_cooling_tower_collapse_concrete_shattered"]["fusion_collapse_ground_tower"] = %fus_cooling_tower_collapse_concrete_shattered; + level.scr_animtree["fus_cooling_tower_collapse_concrete_shattered2"] = #animtree; + level.scr_anim["fus_cooling_tower_collapse_concrete_shattered2"]["fusion_collapse_ground_tower"] = %fus_cooling_tower_collapse_concrete_shattered2; + level.scr_animtree["fus_cooling_tower_collapse_street_collapse"] = #animtree; + level.scr_anim["fus_cooling_tower_collapse_street_collapse"]["fusion_collapse_ground_tower"] = %fus_cooling_tower_collapse_street_collapse; + level.scr_animtree["collapse_debris_arm"] = #animtree; + level.scr_anim["collapse_debris_arm"]["fusion_silo_collapse_finale"] = %fusion_sever_debris; + level.scr_animtree["fus_sever_debris_02"] = #animtree; + level.scr_model["fus_sever_debris_02"] = "fus_sever_debris_02"; + level.scr_anim["fus_sever_debris_02"]["fusion_silo_collapse_finale"] = %fusion_sever_debris_02; + level.scr_animtree["fus_end_scene_rubble"] = #animtree; + level.scr_anim["fus_end_scene_rubble"]["fusion_silo_collapse_finale"] = %fusion_silo_burke_debris; + level.scr_animtree["fusion_chunk_combo"] = #animtree; + level.scr_model["fusion_chunk_combo"] = "rubble_combo_01"; + level.scr_anim["fusion_chunk_combo"]["fusion_silo_collapse_finale"] = %fusion_chunk_combo; + level.scr_animtree["fusion_rock_chunk01"] = #animtree; + level.scr_model["fusion_rock_chunk01"] = "rubble_rock_chunk_01"; + level.scr_anim["fusion_rock_chunk01"]["fusion_silo_collapse_finale"] = %fusion_rock_chunk01; + level.scr_animtree["fusion_rock_chunk02"] = #animtree; + level.scr_model["fusion_rock_chunk02"] = "rubble_rock_chunk_01"; + level.scr_anim["fusion_rock_chunk02"]["fusion_silo_collapse_finale"] = %fusion_rock_chunk02; + level.scr_animtree["fusion_silo_lamp01"] = #animtree; + level.scr_model["fusion_silo_lamp01"] = "ind_streetlight_single_off_rig"; + level.scr_anim["fusion_silo_lamp01"]["fusion_collapse_ground_tower"] = %fusion_silo_lamp01; + level.scr_animtree["fusion_silo_lamp02"] = #animtree; + level.scr_model["fusion_silo_lamp02"] = "ind_streetlight_single_off_rig"; + level.scr_anim["fusion_silo_lamp02"]["fusion_collapse_ground_tower"] = %fusion_silo_lamp02; + level.scr_animtree["fusion_silo_lamp03"] = #animtree; + level.scr_model["fusion_silo_lamp03"] = "ind_streetlight_single_off_rig"; + level.scr_anim["fusion_silo_lamp03"]["fusion_collapse_ground_tower"] = %fusion_silo_lamp03; + level.scr_animtree["fusion_silo_lamp04"] = #animtree; + level.scr_model["fusion_silo_lamp04"] = "ind_streetlight_single_off_rig"; + level.scr_anim["fusion_silo_lamp04"]["fusion_collapse_ground_tower"] = %fusion_silo_lamp04; + level.scr_animtree["fusion_silo_lamp05"] = #animtree; + level.scr_model["fusion_silo_lamp05"] = "ind_streetlight_single_off_rig"; + level.scr_anim["fusion_silo_lamp05"]["fusion_collapse_ground_tower"] = %fusion_silo_lamp05; + level.scr_animtree["fusion_silo_lamp06"] = #animtree; + level.scr_model["fusion_silo_lamp06"] = "ind_streetlight_single_off_rig"; + level.scr_anim["fusion_silo_lamp06"]["fusion_collapse_ground_tower"] = %fusion_silo_lamp06; + level.scr_animtree["fusion_silo_lamp07"] = #animtree; + level.scr_model["fusion_silo_lamp07"] = "ind_streetlight_single_off_rig"; + level.scr_anim["fusion_silo_lamp07"]["fusion_collapse_ground_tower"] = %fusion_silo_lamp07; + level.scr_animtree["fusion_silo_lamp08"] = #animtree; + level.scr_model["fusion_silo_lamp08"] = "ind_streetlight_single_off_rig"; + level.scr_anim["fusion_silo_lamp08"]["fusion_collapse_ground_tower"] = %fusion_silo_lamp08; + level.scr_animtree["fusion_silo_lamp09"] = #animtree; + level.scr_model["fusion_silo_lamp09"] = "ind_streetlight_single_off_rig"; + level.scr_anim["fusion_silo_lamp09"]["fusion_collapse_ground_tower"] = %fusion_silo_lamp09; + level.scr_animtree["fusion_silo_lamp10"] = #animtree; + level.scr_model["fusion_silo_lamp10"] = "ind_streetlight_single_off_rig"; + level.scr_anim["fusion_silo_lamp10"]["fusion_collapse_ground_tower"] = %fusion_silo_lamp10; + level.scr_animtree["fusion_silo_lamp11"] = #animtree; + level.scr_model["fusion_silo_lamp11"] = "ind_streetlight_single_off_rig"; + level.scr_anim["fusion_silo_lamp11"]["fusion_collapse_ground_tower"] = %fusion_silo_lamp11; + level.scr_animtree["fusion_silo_lamp12"] = #animtree; + level.scr_model["fusion_silo_lamp12"] = "ind_streetlight_single_off_rig"; + level.scr_anim["fusion_silo_lamp12"]["fusion_collapse_ground_tower"] = %fusion_silo_lamp12; + level.scr_animtree["fusion_silo_lamp13"] = #animtree; + level.scr_model["fusion_silo_lamp13"] = "ind_streetlight_single_off_rig"; + level.scr_anim["fusion_silo_lamp13"]["fusion_collapse_ground_tower"] = %fusion_silo_lamp13; + level.scr_animtree["fusion_silo_lamp14"] = #animtree; + level.scr_model["fusion_silo_lamp14"] = "ind_streetlight_single_off_rig"; + level.scr_anim["fusion_silo_lamp14"]["fusion_collapse_ground_tower"] = %fusion_silo_lamp14; + level.scr_animtree["fusion_silo_lamp15"] = #animtree; + level.scr_model["fusion_silo_lamp15"] = "ind_streetlight_single_off_rig"; + level.scr_anim["fusion_silo_lamp15"]["fusion_collapse_ground_tower"] = %fusion_silo_lamp15; +} + +//Function Number: 21 +swap_cockpit_model(param_00) +{ + if(isdefined(param_00) && isdefined(param_00.vehicle_to_swap)) + { + param_00.vehicle_to_swap setmodel("vehicle_vm_x4walker_wheels"); + } +} + +//Function Number: 22 +notetrack_setup_middle() +{ + level waittill("tff_post_transition_intro_to_middle"); + maps\_anim::addnotetrack_customfunction("generic","start_ragdoll",::ai_kill_no_ragdoll,"fusion_airlock_opening"); +} + +//Function Number: 23 +notetrack_setup_outro() +{ + level waittill("tff_post_transition_middle_to_outro"); + maps\_anim::addnotetrack_customfunction("player_rig","drag_sand_begin",::end_drag_dust,"fusion_silo_collapse_finale"); + maps\_anim::addnotetrack_customfunction("pickup_event_guy1","dead",::ai_kill,"fusion_reaction_pickup_event"); +} + +//Function Number: 24 +spawn_fly_in_missile_00(param_00) +{ + if(isdefined(param_00.missile_org)) + { + var_01 = param_00.missile_org thread maps\fusion_code::launch_missile("missile_0"); + soundscripts\_snd::snd_message("intro_flight_missiles_fire"); + wait(0.1); + common_scripts\_exploder::exploder(1080); + } +} + +//Function Number: 25 +spawn_fly_in_missile_01(param_00) +{ + spawn_fly_in_missile(param_00,"missile_1"); +} + +//Function Number: 26 +spawn_fly_in_missile_02(param_00) +{ + spawn_fly_in_missile(param_00,"missile_2"); +} + +//Function Number: 27 +spawn_fly_in_missile_03(param_00) +{ + spawn_fly_in_missile(param_00,"missile_3"); +} + +//Function Number: 28 +spawn_fly_in_missile_04(param_00) +{ + spawn_fly_in_missile(param_00,"missile_4"); +} + +//Function Number: 29 +spawn_fly_in_missile_05(param_00) +{ + spawn_fly_in_missile(param_00,"missile_5"); +} + +//Function Number: 30 +spawn_fly_in_missile_06(param_00) +{ + spawn_fly_in_missile(param_00,"missile_6"); + level notify("fly_in_missiles_scene_end"); +} + +//Function Number: 31 +spawn_fly_in_missile(param_00,param_01) +{ + if(isdefined(param_00.missile_org)) + { + var_02 = param_00.missile_org thread maps\fusion_code::launch_missile(param_01); + playfxontag(common_scripts\utility::getfx("missile_launch_smoke"),var_02,"tag_origin"); + } +} + +//Function Number: 32 +end_drag_dust(param_00) +{ + playfxontag(common_scripts\utility::getfx("fusion_drag_dust"),level.player_rig,"J_Ankle_LE"); + playfxontag(common_scripts\utility::getfx("fusion_drag_dust"),level.player_rig,"J_Ankle_RI"); +} + +//Function Number: 33 +fusion_door_explosion_swap(param_00) +{ + param_00 setmodel("door_controlroom_01_damage_rig"); +} \ No newline at end of file diff --git a/AW/PC/maps/fusion_aud.gsc b/AW/PC/maps/fusion_aud.gsc new file mode 100644 index 0000000..606d0e0 --- /dev/null +++ b/AW/PC/maps/fusion_aud.gsc @@ -0,0 +1,2988 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: fusion_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 214 + * Decompile Time: 3043 ms + * Timestamp: 4/22/2024 2:29:44 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + config_system(); + init_audio_flags(); + init_globals(); + launch_threads(); + launch_loops(); + create_level_envelop_arrays(); + register_trigger_callbacks(); + add_note_track_data(); + precache_presets(); + thread maps\fusion_vo::init_pcap_vo(); + register_snd_messages(); +} + +//Function Number: 2 +register_snd_messages() +{ + soundscripts\_snd::snd_register_message("start_intro_fly_in",::start_intro_fly_in); + soundscripts\_snd::snd_register_message("start_intro_fly_in_part2",::start_intro_fly_in_part2); + soundscripts\_snd::snd_register_message("start_courtyard",::start_courtyard); + soundscripts\_snd::snd_register_message("start_security_room",::start_security_room); + soundscripts\_snd::snd_register_message("start_lab",::start_lab); + soundscripts\_snd::snd_register_message("start_reactor",::start_reactor); + soundscripts\_snd::snd_register_message("start_reactor_exit",::start_reactor_exit); + soundscripts\_snd::snd_register_message("start_turbine_room",::start_turbine_room); + soundscripts\_snd::snd_register_message("start_control_room_entrance",::start_control_room_entrance); + soundscripts\_snd::snd_register_message("start_control_room",::start_control_room); + soundscripts\_snd::snd_register_message("start_control_room_exit",::start_control_room_exit); + soundscripts\_snd::snd_register_message("start_cooling_tower",::start_cooling_tower); + soundscripts\_snd::snd_register_message("snd_zone_handler",::snd_zone_handler); + soundscripts\_snd::snd_register_message("snd_music_handler",::snd_music_handler); + soundscripts\_snd::snd_register_message("player_warbird_spawn",::player_warbird_spawn); + soundscripts\_snd::snd_register_message("start_hologram_audio",::start_hologram_audio); + soundscripts\_snd::snd_register_message("start_burke_foley",::start_burke_foley); + soundscripts\_snd::snd_register_message("start_intro_npc_foley",::start_intro_npc_foley); + soundscripts\_snd::snd_register_message("decloak_intro_helicopter",::decloak_intro_helicopter); + soundscripts\_snd::snd_register_message("intro_flight_missiles_fire",::intro_flight_missiles_fire); + soundscripts\_snd::snd_register_message("missile_hit_warbird_b",::missile_hit_warbird_b); + soundscripts\_snd::snd_register_message("warbird_b_crash_tower",::warbird_b_crash_tower); + soundscripts\_snd::snd_register_message("rooftop_strafe_start",::rooftop_strafe_start); + soundscripts\_snd::snd_register_message("fastzip_turret_switch_to",::fastzip_turret_switch_to); + soundscripts\_snd::snd_register_message("fastzip_turret_switch_complete",::fastzip_turret_switch_complete); + soundscripts\_snd::snd_register_message("fastzip_turret_fire",::fastzip_turret_fire); + soundscripts\_snd::snd_register_message("fastzip_turret_putaway",::fastzip_turret_putaway); + soundscripts\_snd::snd_register_message("fastzip_hit_the_ground",::fastzip_hit_the_ground); + soundscripts\_snd::snd_register_message("fastzip_rappel",::fastzip_rappel); + soundscripts\_snd::snd_register_message("snd_start_ambient_jet",::start_ambient_jet); + soundscripts\_snd::snd_register_message("courtyard_ambient_bullet_impact",::courtyard_ambient_bullet_impact); + soundscripts\_snd::snd_register_message("warbird_mobile_turret_dropoff",::warbird_mobile_turret_dropoff); + soundscripts\_snd::snd_register_message("walker_mobile_turret_dropoff",::walker_mobile_turret_dropoff); + soundscripts\_snd::snd_register_message("player_warbird_flyout",::player_warbird_flyout); + soundscripts\_snd::snd_register_message("cvrdrn_paired_anim_start",::cvrdrn_paired_anim_start); + soundscripts\_snd::snd_register_message("cvrdrn_paired_anim_explo",::cvrdrn_paired_anim_explo); + soundscripts\_snd::snd_register_message("building_explode",::building_explode); + soundscripts\_snd::snd_register_message("spawn_walker_mobile_turret_deploy",::spawn_walker_mobile_turret_deploy); + soundscripts\_snd::snd_register_message("spawn_ally_walker_02",::spawn_ally_walker_02); + soundscripts\_snd::snd_register_message("street_wall_1_explode",::street_wall_1_explode); + soundscripts\_snd::snd_register_message("player_enter_walker",::player_enter_walker); + soundscripts\_snd::snd_register_message("player_exit_walker",::player_exit_walker); + soundscripts\_snd::snd_register_message("player_enter_walker_anim",::player_enter_walker_anim); + soundscripts\_snd::snd_register_message("player_exit_walker_anim",::player_exit_walker_anim); + soundscripts\_snd::snd_register_message("player_mobile_turret_warning",::player_mobile_turret_warning); + soundscripts\_snd::snd_register_message("player_mobile_turret_explo",::player_mobile_turret_explo); + soundscripts\_snd::snd_register_message("x4_walker_hud_target_aquired",::x4_walker_hud_target_aquired); + soundscripts\_snd::snd_register_message("x4_walker_hud_missile_launched",::x4_walker_hud_missile_launched); + soundscripts\_snd::snd_register_message("x4_walker_fire_missile",::x4_walker_fire_missile); + soundscripts\_snd::snd_register_message("mobile_turret_missile",::mobile_turret_missile); + soundscripts\_snd::snd_register_message("courtyard_mi17_spawn_01",::courtyard_mi17_spawn_01); + soundscripts\_snd::snd_register_message("courtyard_mi17_spawn_02",::courtyard_mi17_spawn_02); + soundscripts\_snd::snd_register_message("titan_init",::titan_init); + soundscripts\_snd::snd_register_message("titan_enter",::titan_enter); + soundscripts\_snd::snd_register_message("titan_missile",::titan_missile); + soundscripts\_snd::snd_register_message("trophy_system_explosion",::trophy_system_explosion); + soundscripts\_snd::snd_register_message("titan_take_damage_from_smaw",::titan_take_damage_from_smaw); + soundscripts\_snd::snd_register_message("titan_death",::titan_death); + soundscripts\_snd::snd_register_message("itiot_fade_out",::itiot_fade_out); + soundscripts\_snd::snd_register_message("itiot_fade_in",::itiot_fade_in); + soundscripts\_snd::snd_register_message("start_elevator_zone_audio",::start_elevator_zone_audio); + soundscripts\_snd::snd_register_message("start_dead_guy_foley",::start_dead_guy_foley); + soundscripts\_snd::snd_register_message("Sec_Room_Move_To_Elevator",::sec_room_move_to_elevator); + soundscripts\_snd::snd_register_message("Sec_Room_Attach_To_Elevator",::sec_room_attach_to_elevator); + soundscripts\_snd::snd_register_message("Sec_Room_Elevator_Open",::sec_room_elevator_open); + soundscripts\_snd::snd_register_message("start_burke_elevator_slide",::start_burke_elevator_slide); + soundscripts\_snd::snd_register_message("start_player_elevator_jump",::start_player_elevator_jump); + soundscripts\_snd::snd_register_message("start_player_elevator_slide",::start_player_elevator_slide); + soundscripts\_snd::snd_register_message("start_airlock_anim_notetracks",::start_airlock_anim_notetracks); + soundscripts\_snd::snd_register_message("start_reactor_airlock_open",::start_reactor_airlock_open); + soundscripts\_snd::snd_register_message("start_reactor_burke_attack",::start_reactor_burke_attack); + soundscripts\_snd::snd_register_message("crane_mach_mvmnt_start",::crane_mach_mvmnt_start); + soundscripts\_snd::snd_register_message("crane_mach_mvmnt_stop",::crane_mach_mvmnt_stop); + soundscripts\_snd::snd_register_message("crane_claw_mvmnt_start",::crane_claw_mvmnt_start); + soundscripts\_snd::snd_register_message("crane_claw_mvmnt_stop",::crane_claw_mvmnt_stop); + soundscripts\_snd::snd_register_message("crane_claw_drop_start",::crane_claw_drop_start); + soundscripts\_snd::snd_register_message("crane_claw_drop_stop",::crane_claw_drop_stop); + soundscripts\_snd::snd_register_message("crane_claw_rise_start",::crane_claw_rise_start); + soundscripts\_snd::snd_register_message("crane_claw_rise_stop",::crane_claw_rise_stop); + soundscripts\_snd::snd_register_message("crane_claw_crate_grab",::crane_claw_crate_grab); + soundscripts\_snd::snd_register_message("crane_claw_crate_release",::crane_claw_crate_release); + soundscripts\_snd::snd_register_message("reactor_bot_drive_shelf_start",::reactor_bot_drive_shelf_start); + soundscripts\_snd::snd_register_message("reactor_bot_drive_shelf_stop",::reactor_bot_drive_shelf_stop); + soundscripts\_snd::snd_register_message("reactor_bot_drive_self_start",::reactor_bot_drive_shelf_stop); + soundscripts\_snd::snd_register_message("reactor_bot_drive_self_stop",::reactor_bot_drive_shelf_stop); + soundscripts\_snd::snd_register_message("reactor_bot_turn_shelf",::reactor_bot_turn_shelf); + soundscripts\_snd::snd_register_message("reactor_bot_turn_self",::reactor_bot_turn_shelf); + soundscripts\_snd::snd_register_message("reactor_bot_shelf_pickup",::reactor_bot_shelf_pickup); + soundscripts\_snd::snd_register_message("reactor_bot_shelf_drop",::reactor_bot_shelf_drop); + soundscripts\_snd::snd_register_message("reactor_bot_elevator_start_lp",::reactor_bot_elevator_start_lp); + soundscripts\_snd::snd_register_message("reactor_bot_elevator_stop_lp",::reactor_bot_elevator_stop_lp); + soundscripts\_snd::snd_register_message("reactor_bot_initial_elevator_start",::reactor_bot_initial_elevator_start); + soundscripts\_snd::snd_register_message("reactor_bot_initial_elevator_stop",::reactor_bot_initial_elevator_stop); + soundscripts\_snd::snd_register_message("reactor_bot_final_elevator_start",::reactor_bot_final_elevator_start); + soundscripts\_snd::snd_register_message("reactor_bot_final_elevator_stop",::reactor_bot_final_elevator_stop); + soundscripts\_snd::snd_register_message("reactor_bot_elevator_open",::reactor_bot_elevator_open); + soundscripts\_snd::snd_register_message("start_reactor_zone_audio",::start_reactor_zone_audio); + soundscripts\_snd::snd_register_message("turbine_room_elevator_button",::turbine_room_elevator_button); + soundscripts\_snd::snd_register_message("disable_turbine_elevator_trigger",::disable_turbine_elevator_trigger); + soundscripts\_snd::snd_register_message("start_turbine_elevator",::start_turbine_elevator); + soundscripts\_snd::snd_register_message("stop_turbine_elevator",::stop_turbine_elevator); + soundscripts\_snd::snd_register_message("start_turbine_loop",::start_turbine_loop); + soundscripts\_snd::snd_register_message("rec_player_drone_start",::rec_player_drone_start); + soundscripts\_snd::snd_register_message("rec_player_drone_end",::rec_player_drone_end); + soundscripts\_snd::snd_register_message("snd_player_drone_deploy",::snd_player_drone_deploy); + soundscripts\_snd::snd_register_message("snd_player_drone_wrist_panel",::snd_player_drone_wrist_panel); + soundscripts\_snd::snd_register_message("snd_player_drone_enter_drone_pov",::snd_player_drone_enter_drone_pov); + soundscripts\_snd::snd_register_message("turbine_pre_explo",::turbine_pre_explo); + soundscripts\_snd::snd_register_message("turbine_explo_audio",::turbine_explo); + soundscripts\_snd::snd_register_message("start_pa_emergency_turbine",::start_pa_emergency_turbine); + soundscripts\_snd::snd_register_message("start_turbine_door_breach",::start_turbine_door_breach); + soundscripts\_snd::snd_register_message("start_turbine_door_impt",::start_turbine_door_impt); + soundscripts\_snd::snd_register_message("start_control_room_explo",::start_control_room_explo); + soundscripts\_snd::snd_register_message("start_pre_loading_bay",::start_pre_loading_bay); + soundscripts\_snd::snd_register_message("snd_start_fire_steam",::start_fire_steam_loops); + soundscripts\_snd::snd_register_message("hangar_explo_and_debris_01",::hangar_explo_and_debris_01); + soundscripts\_snd::snd_register_message("hangar_explo_and_debris_02",::hangar_explo_and_debris_02); + soundscripts\_snd::snd_register_message("hangar_transport_01_away",::hangar_transport_01_away); + soundscripts\_snd::snd_register_message("hangar_transport_flying_01_away",::hangar_transport_flying_01_away); + soundscripts\_snd::snd_register_message("hangar_transport_flying_02_away",::hangar_transport_flying_02_away); + soundscripts\_snd::snd_register_message("pressure_explosion",::pressure_explosion); + soundscripts\_snd::snd_register_message("fus_truck_flip_01",::fus_truck_flip_01); + soundscripts\_snd::snd_register_message("fus_truck_flip_02",::fus_truck_flip_02); + soundscripts\_snd::snd_register_message("extraction_chopper_spawn",::extraction_chopper_spawn); + soundscripts\_snd::snd_register_message("extraction_chopper_move",::extraction_chopper_move); + soundscripts\_snd::snd_register_message("start_gaz_02_retreat",::start_gaz_02_retreat); + soundscripts\_snd::snd_register_message("start_gaz_03_retreat",::start_gaz_03_retreat); + soundscripts\_snd::snd_register_message("tower_collapse_prep",::tower_collapse_prep); + soundscripts\_snd::snd_register_message("tower_collapse_start",::tower_collapse_start); + soundscripts\_snd::snd_register_message("tower_collapse_player_stumble",::tower_collapse_player_stumble); + soundscripts\_snd::snd_register_message("tower_collapse_player_knockback",::tower_collapse_player_knockback); + soundscripts\_snd::snd_register_message("silo_collapse_plr_stunned",::silo_collapse_plr_stunned); + soundscripts\_snd::snd_register_message("fus_outro_burke_foley",::fus_outro_burke_foley); + soundscripts\_snd::snd_register_message("fusion_silo_collapse_warbird",::fusion_silo_collapse_warbird); + soundscripts\_snd::snd_register_message("ending_fade_out",::ending_fade_out); + soundscripts\_snd::snd_register_message("fusion_endlogo",::fusion_endlogo); +} + +//Function Number: 3 +precache_presets() +{ +} + +//Function Number: 4 +config_system() +{ + soundscripts\_audio::set_stringtable_mapname("shg"); + level.player deactivateocclusion("voices_critical"); + soundscripts\_audio_whizby::whiz_set_radii(50,100,5000); + soundscripts\_audio_whizby::whiz_set_offset(15); + soundscripts\_audio_whizby::whiz_set_probabilities(50,50,100); + soundscripts\_audio_whizby::whiz_set_spreads(200,300,400); +} + +//Function Number: 5 +init_audio_flags() +{ + common_scripts\utility::flag_init("aud_alarm_outside_started"); + common_scripts\utility::flag_init("aud_alarm_outside_enabled"); + common_scripts\utility::flag_set("aud_alarm_outside_enabled"); + common_scripts\utility::flag_init("flag_player_zip_started"); +} + +//Function Number: 6 +init_globals() +{ + level.aud.reverb_alarm_volume = 1; + level.aud.reverb_alarm_volume_update_rate = 0.1; + level.aud.bomb_shakes = 0; + level.aud.control_room_buzzer_started = 0; + maps\_utility::disable_trigger_with_targetname("audio_reactor_entrance"); + maps\_utility::disable_trigger_with_targetname("audio_elevator_entrance"); + soundscripts\_audio_mix_manager::mm_add_submix("fusion_level_global_mix"); +} + +//Function Number: 7 +launch_threads() +{ + if(soundscripts\_audio::aud_is_specops()) + { + return; + } + + thread intro_fly_in_part2_vo(); + thread fastzip_explosion_seq(); + thread trigger_alarm_on_street_combat_started(); + thread sec_door_breach_anim(); + thread trigger_control_room_gas_leak(); + var_00 = getent("audio_security_checkpoint_01","targetname"); + var_01 = getent("audio_security_checkpoint_02","targetname"); + var_00 thread security_checkpoint_trigger_think(); + var_01 thread security_checkpoint_trigger_think(); +} + +//Function Number: 8 +launch_loops() +{ + thread start_looping_intro_alarm_sounds(); + thread start_looping_outro_alarm_sounds(); + thread launch_intro_loops(); + thread launch_middle_loops(); + thread launch_outro_loops(); +} + +//Function Number: 9 +launch_intro_loops() +{ + if(level.currentgen && !istransientloaded("fusion_intro_tr")) + { + return; + } + + common_scripts\utility::loop_fx_sound("metal_detector_hum_lp",(657,3291,60),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("metal_detector_hum_lp",(657,2721,60),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("amb_elec_comp_smart_glass_lp",(697,3251,30),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("amb_elec_comp_smart_glass_lp",(699,2754,30),1,"aud_stop_intro"); + if(level.currentgen) + { + level waittill("tff_pre_transition_intro_to_middle"); + level notify("aud_stop_intro"); + } +} + +//Function Number: 10 +launch_middle_loops() +{ + if(level.currentgen && !istransientloaded("fusion_middle_tr")) + { + level waittill("tff_post_transition_intro_to_middle"); + } + + common_scripts\utility::loop_fx_sound("computer_main_frame_lp",(1105,2566,-484),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("computer_main_frame_lp",(987,2566,-484),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("computer_main_frame_lp",(865,2566,-484),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("computer_main_frame_lp",(1546,2949,-484),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("alarm_computer_warning_01",(1545,2959,-484),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("alarm_computer_warning_04",(865,2566,-484),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("computer_main_frame_lp",(42,3362,-484),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("computer_main_frame_lp",(42,3483,-484),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("computer_main_frame_lp",(42,3600,-484),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("static_offline_tv_panel_lp",(1020,3212,-400),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("static_offline_tv_panel_lp",(1020,3450,-400),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("static_offline_tv_panel_lp",(1190,3543,-400),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("static_offline_tv_panel_lp",(637,3697,-400),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("alarm_computer_warning_01",(596,3168,-484),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("alarm_computer_warning_02",(959,3670,-484),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("alarm_computer_warning_04",(822,3527,-484),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("alarm_computer_warning_03",(1111,3420,-484),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("alarm_computer_warning_01",(1028,3899,-484),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("electrical_transformer_hum_lp",(1309,3108,-479),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("electrical_transformer_hum_lp",(577,3091,-479),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("amb_elec_comp_smart_glass_lp",(1986,4147,-400),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("amb_elec_comp_smart_glass_lp",(1719,4405,-400),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("amb_elec_comp_smart_glass_lp",(2129,4268,-400),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("amb_elec_comp_smart_glass_lp",(1861,4547,-400),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("amb_elec_comp_smart_glass_lp",(1872,4809,-400),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("amb_elec_comp_smart_glass_lp",(2162,5089,-400),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("amb_elec_comp_smart_glass_lp",(1739,4945,-400),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("amb_elec_comp_smart_glass_lp",(1989,5186,-400),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("electrical_transformer_hum_lp",(1941,4645,-479),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("electrical_transformer_hum_lp",(2263,5011,-479),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("mach_industrial_steam_lp",(3367,4382,-485),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("mach_industrial_generator_lp",(3947,4478,-485),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("computer_main_frame_lp",(3777,4568,-484),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("alarm_computer_warning_01",(3307,4059,-484),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("amb_elec_comp_hard_drive_lp",(3136,3983,-484),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("amb_elec_comp_hard_drive_lp",(3302,4076,-484),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("amb_elec_comp_hard_drive_lp",(3487,4142,-484),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("amb_elec_comp_hard_drive_lp",(3707,4203,-484),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("alarm_computer_warning_03",(4289,4106,-484),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("liquid_coolant_pool_lp",(3558,3794,-509),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("liquid_coolant_pool_lp",(4795,3197,-509),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("computer_main_frame_lp",(4259,4029,-541),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("computer_main_frame_lp",(4539,3903,-541),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("computer_main_frame_lp",(4343,4484,-485),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("computer_main_frame_lp",(4677,4394,-485),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("electrical_transformer_hum_lp",(4186,4244,-485),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("amb_elec_comp_hard_drive_lp",(4486,3251,-543),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("amb_elec_comp_hard_drive_lp",(5242,3051,-485),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("alarm_computer_warning_04",(5177,2166,-484),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("mach_industrial_steam_lp",(5500,2698,-485),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("amb_elec_comp_hard_drive_lp",(5186,2446,-485),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("amb_elec_comp_hard_drive_lp",(5051,2153,-485),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("electrical_transformer_hum_lp",(5377,2160,-454),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("electrical_transformer_hum_lp",(5288,2017,-454),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("computer_main_frame_lp",(5040,2497,-541),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("computer_main_frame_lp",(4918,2221,-541),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("mach_industrial_steam_lp",(4076,1214,-485),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("mach_industrial_steam_lp",(3485,1939,-541),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("amb_elec_comp_hard_drive_lp",(4078,1538,-485),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("amb_elec_comp_hard_drive_lp",(3448,1590,-485),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("mach_industrial_steam_lp",(3409,1339,-485),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("computer_main_frame_lp",(4507,4416,-357),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("computer_main_frame_lp",(4685,4333,-357),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("alarm_computer_warning_02",(4724,4363,-357),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("alarm_computer_warning_03",(4329,4531,-357),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("electrical_transformer_hum_lp",(4021,608,-479),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("electrical_transformer_hum_lp",(4013,23,-484),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("electrical_transformer_hum_lp",(3548,31,-484),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("amb_elec_comp_smart_glass_lp",(3958,-139,-450),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("amb_elec_comp_smart_glass_lp",(3585,-143,-450),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("amb_elec_comp_smart_glass_lp",(3962,-324,-450),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("amb_elec_comp_smart_glass_lp",(3579,-329,-450),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("electrical_transformer_hum_lp",(4563,7,-482),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("electrical_transformer_hum_lp",(4563,449,-482),1,"aud_stop_middle"); + common_scripts\utility::loop_fx_sound("electrical_transformer_hum_lp",(4563,595,-482),1,"aud_stop_middle"); + if(level.currentgen) + { + level waittill("tff_pre_transition_middle_to_outro"); + level notify("aud_stop_middle"); + } +} + +//Function Number: 11 +launch_outro_loops() +{ + if(level.currentgen && !istransientloaded("fusion_outro_tr")) + { + level waittill("tff_post_transition_middle_to_outro"); + } + + common_scripts\utility::loop_fx_sound("steam_broken_pipe_lp",(5295,1252,-36),1); + common_scripts\utility::loop_fx_sound("steam_broken_pipe_lp",(5870,719,-36),1); + common_scripts\utility::loop_fx_sound("steam_broken_pipe_lp",(5830,721,93),1); + common_scripts\utility::loop_fx_sound("steam_broken_pipe_lp",(6554,1065,108),1); + common_scripts\utility::loop_fx_sound("steam_broken_pipe_lp",(5735,528,228),1); + common_scripts\utility::loop_fx_sound("steam_broken_pipe_lp",(6146,437,228),1); + common_scripts\utility::loop_fx_sound("steam_broken_pipe_lp",(6251,523,238),1); + common_scripts\utility::loop_fx_sound("steam_broken_pipe_lp",(6257,927,268),1); + common_scripts\utility::loop_fx_sound("steam_broken_pipe_lp",(6460,1103,228),1); + common_scripts\utility::loop_fx_sound("steam_broken_pipe_lp",(6536,1016,268),1); + common_scripts\utility::loop_fx_sound("steam_broken_pipe_lp",(7206,1604,230),1); + common_scripts\utility::loop_fx_sound("mach_industrial_boiler_lp",(6149,534,350),1); + common_scripts\utility::loop_fx_sound("mach_industrial_boiler_lp",(6891,1266,350),1); + common_scripts\utility::loop_fx_sound("mach_industrial_boiler_lp",(7274,2228,350),1); + common_scripts\utility::loop_fx_sound("steam_broken_pipe_lp",(6721,1801,164),1); + common_scripts\utility::loop_fx_sound("steam_broken_pipe_lp",(6621,2086,147),1); + common_scripts\utility::loop_fx_sound("steam_broken_pipe_sml_lp_01",(6550,3171,250),1); + common_scripts\utility::loop_fx_sound("steam_broken_pipe_sml_lp_02",(6165,3408,250),1); + common_scripts\utility::loop_fx_sound("steam_broken_pipe_sml_lp_01",(6347,3656,250),1); +} + +//Function Number: 12 +create_level_envelop_arrays() +{ + level.aud.envs["alarm_verb_level_over_distance"] = [[0,0.75],[700,1],[1200,0.5],[2500,0.1],[3500,0]]; + level.aud.envs["alarm_verb_level_flyin_over_distance"] = [[0,0],[500,0.2],[1000,1],[4000,0.6],[7000,0]]; + level.aud.envs["turret_drop_shake_over_distance"] = [[0,0.5],[1000,0.1],[1200,0.1]]; + level.aud.envs["titan_tank_cannon"] = [[0,1],[1500,0.75],[3000,0.4],[4500,0.1]]; +} + +//Function Number: 13 +register_trigger_callbacks() +{ +} + +//Function Number: 14 +add_note_track_data() +{ +} + +//Function Number: 15 +start_intro_fly_in(param_00) +{ + thread intro_flight_start(); + wait(5.2); + thread intro_fly_in_vo(); + level notify("heli_intro_burke_foley"); +} + +//Function Number: 16 +start_intro_fly_in_part2(param_00) +{ + level notify("aud_start_fusion_fly_in_intro_vo_done"); +} + +//Function Number: 17 +start_courtyard(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("fusion_courtyard_battle"); +} + +//Function Number: 18 +start_security_room(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("fusion_courtyard_battle"); +} + +//Function Number: 19 +start_lab(param_00) +{ + if(isdefined(level.aud.security_building_entrance)) + { + level.aud.security_building_entrance aud_fade_out(0.1); + level.aud.security_building_entrance = undefined; + } + + thread start_lab_alarms(); + soundscripts\_audio_zone_manager::azm_start_zone("fusion_airlock_lab_hallway"); +} + +//Function Number: 20 +start_reactor(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("fusion_pre_reactor_hallway"); + thread start_lab_alarms(); + thread start_pre_reactor_alarms(); +} + +//Function Number: 21 +start_reactor_exit(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("fusion_post_reactor_hallway"); + thread start_alarm_post_reactor(); + thread start_pa_codered(); +} + +//Function Number: 22 +start_turbine_room(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("fusion_turbine_elevator"); +} + +//Function Number: 23 +start_control_room_entrance(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("fusion_turbine_room"); + level endon("stop_pa_turbine"); + if(isdefined(level.aud.pa_emergency_turbine) && level.aud.pa_emergency_turbine) + { + return; + } + + level.aud.pa_emergency_turbine = 1; + for(;;) + { + thread common_scripts\utility::play_sound_in_space("fus_prg_pleaseproceedtothenearest",(7231,2847,267)); + wait(9); + } +} + +//Function Number: 24 +start_control_room(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("fusion_control_room"); +} + +//Function Number: 25 +start_control_room_exit(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("fusion_pre_loading_bay"); + thread start_loading_bay_alarms(); + thread start_control_room_alarms(); + thread trigger_bomb_shake(); + if(!common_scripts\utility::flag("aud_alarm_outside_started")) + { + thread start_outside_alarm(); + } +} + +//Function Number: 26 +start_cooling_tower(param_00) +{ + soundscripts\_snd::snd_music_message("mus_fusion_pressure_readings_critical"); + soundscripts\_audio_zone_manager::azm_start_zone("fusion_battle_retreat"); + if(!common_scripts\utility::flag("aud_alarm_outside_started")) + { + thread start_outside_alarm(); + } +} + +//Function Number: 27 +snd_zone_handler(param_00,param_01) +{ + switch(param_00) + { + case "enter_fusion_elevator_shaft": + thread start_lab_alarms(); + break; + + case "enter_fusion_airlock_lab_hallway": + if(isdefined(level.aud.security_building_entrance)) + { + level.aud.security_building_entrance aud_fade_out(1); + level.aud.security_building_entrance = undefined; + } + break; + + case "enter_fusion_airlock_lab": + thread start_pa_emergency_exit(); + thread start_pa_airlockclosing(); + thread start_pre_reactor_alarms(); + break; + + case "enter_fusion_post_reactor_hallway": + thread start_pa_codered(); + thread start_alarm_post_reactor(); + break; + + case "enter_fusion_turbine_elevator_quiet": + level notify("stop_lab_alarms"); + level notify("stop_all_crane_audio"); + soundscripts\_audio_mix_manager::mm_clear_submix("fusion_post_reactor_room"); + break; + + case "enter_fusion_pre_loading_bay": + level notify("stop_pa_turbine"); + break; + + case "enter_fusion_loading_bay": + var_02 = param_01; + break; + + case "exit_fusion_control_room": + var_03 = param_01; + if(var_03 == "fusion_control_room") + { + common_scripts\utility::flag_clear("aud_alarm_outside_enabled"); + thread trigger_bomb_shake(); + } + else if(var_03 == "fusion_loading_bay") + { + common_scripts\utility::flag_set("aud_alarm_outside_enabled"); + level notify("notify_out_of_control_room"); + level.aud.bomb_shakes = 0; + } + break; + + case "exit_fusion_loading_bay": + var_03 = param_01; + if(var_03 == "fusion_control_room") + { + common_scripts\utility::flag_clear("aud_alarm_outside_enabled"); + thread trigger_bomb_shake(); + } + else if(var_03 == "fusion_loading_bay") + { + common_scripts\utility::flag_set("aud_alarm_outside_enabled"); + level notify("notify_out_of_control_room"); + level.aud.bomb_shakes = 0; + } + break; + + case "enter_fusion_battle_retreat": + var_02 = param_01; + break; + + case "exit_fusion_battle_retreat": + var_03 = param_01; + if(var_03 == "fusion_battle_retreat") + { + level notify("notify_out_of_loading_bay"); + level.aud.control_room_buzzer_started = 0; + } + else if(var_03 == "fusion_loading_bay") + { + thread start_control_room_alarms(); + } + break; + } +} + +//Function Number: 28 +intro_flight_start() +{ + soundscripts\_audio_mix_manager::mm_add_submix("fusion_intro_flight",0.05); + wait(0.45); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_intro_helo_interior",0.05); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_intro_helo_controls",0.05); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_intro_door_mech_a",34); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_intro_door_mech_b",34); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_intro_door_decompress",34); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_intro_door_wind",34); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_intro_warbird_b_flyin",37.25); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_intro_warbird_b_decloak",40.5); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_intro_warbird_b_chop",40.75); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_intro_warbird_b_engine",40.75); + wait(35); + soundscripts\_audio::aud_set_music_submix(0.75,5); +} + +//Function Number: 29 +start_hologram_audio() +{ +} + +//Function Number: 30 +start_burke_foley(param_00) +{ + level waittill("heli_intro_burke_foley"); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_intro_gideon_foley",7.6); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_intro_gideon_hologram",9.8); + common_scripts\utility::flag_wait("flag_burke_zip"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("fus_intro_burke_jump_zipline",7.7); +} + +//Function Number: 31 +start_intro_npc_foley(param_00) +{ +} + +//Function Number: 32 +decloak_intro_helicopter() +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_intro_warbird_b_bank",6.43); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_intro_warbirds_engine",8.25); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_intro_warbirds_flyby",8.25); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_intro_warbirds_flyby_rear",8.25); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_intro_warbird_cliff_engine",12.97); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_intro_warbird_cliff_chop",12.97); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_intro_fighter_jets",18.29); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_intro_anti_air_explo",19); + wait(14); + soundscripts\_snd::snd_music_message("mus_fusion_crest_hill"); +} + +//Function Number: 33 +intro_flight_missiles_fire() +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_intro_rockets_miss",1.67); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_intro_rockets_hit",5.47); + wait(3.16); + soundscripts\_snd::snd_music_message("mus_fusion_first_contact"); +} + +//Function Number: 34 +missile_hit_warbird_b() +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_intro_warbird_hit",0.05); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_intro_warbird_hit_debris",0.05); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_intro_warbird_hit_chop",0.05); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_intro_warbird_hit_broke",0.05); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_intro_warbird_engine_hit",1.52); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_intro_warbird_crash",2.7); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_intro_warbird_crash_mtl",2.7); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_intro_warbird_a_hover",4); + wait(2.7); + maps\_utility::radio_dialogue_stop(); + wait(2); + thread intro_fly_in_post_crash_vo(); +} + +//Function Number: 35 +warbird_b_crash_tower() +{ + wait(8); + soundscripts\_audio_mix_manager::mm_clear_submix("fusion_intro_flight",4); + soundscripts\_audio_mix_manager::mm_add_submix("fusion_courtyard_battle_flyin",5); + soundscripts\_audio_zone_manager::azm_start_zone("fusion_courtyard_battle",5); + soundscripts\_snd_common::snd_enable_soundcontextoverride("bullet_metal_vehicle"); +} + +//Function Number: 36 +rooftop_strafe_start() +{ + soundscripts\_audio_mix_manager::mm_add_submix("fusion_courtyard_warbirds",2); + var_00 = self; + var_00 thread soundscripts\_snd_common::snd_air_vehicle_smart_flyby("fus_warbird_roof_strafe_by",1700); + wait(5); + var_01 = var_00 soundscripts\_snd_playsound::snd_play_loop_linked("fus_warbird_plr_chop_lp","stop_warbird_chop",undefined,undefined,0,(0,0,0)); + var_01 scalevolume(0); + var_01 thread common_scripts\utility::delaycall(0.05,::scalevolume,1,4); + common_scripts\utility::flag_wait("flag_squad_heli_01_zip_complete"); + var_00 thread soundscripts\_snd_common::snd_air_vehicle_smart_flyby("fus_warbird_roof_strafe_depart",1000); + var_01 scalevolume(0,5); + wait(5.05); + level notify("stop_warbird_chop"); +} + +//Function Number: 37 +player_warbird_spawn() +{ + level waittill("aud_roof_combat_complete"); + var_00 = self; + var_01 = var_00 soundscripts\_snd_playsound::snd_play_loop_linked("fus_warbird_plr_blades_lp","stop_warbird_plr_blades",undefined,undefined,0,(-50,200,100)); + var_01 scalevolume(0); + var_01 thread common_scripts\utility::delaycall(0.05,::scalevolume,0.75,2); + var_02 = var_00 soundscripts\_snd_playsound::snd_play_loop_linked("fus_warbird_plr_interior_lp","stop_warbird_plr_interior",undefined,undefined,0,(-50,-200,100)); + var_02 scalevolume(0); + var_02 thread common_scripts\utility::delaycall(0.05,::scalevolume,0.75,2); + level waittill("aud_fastzip_end"); + var_01 thread common_scripts\utility::delaycall(0.05,::scalevolume,0,5); + var_02 thread common_scripts\utility::delaycall(0.05,::scalevolume,0,5); + wait(5.05); + level notify("stop_warbird_plr_blades"); + level notify("stop_warbird_plr_interior"); +} + +//Function Number: 38 +fastzip_turret_switch_to() +{ + soundscripts\_snd_playsound::snd_play_2d("tac_fastzip_start"); +} + +//Function Number: 39 +fastzip_turret_switch_complete() +{ +} + +//Function Number: 40 +fastzip_turret_fire() +{ + soundscripts\_snd_playsound::snd_play_2d("tac_fastzip_fire_plr"); +} + +//Function Number: 41 +fastzip_turret_putaway() +{ + soundscripts\_snd_playsound::snd_play_2d("tac_fastzip_turret_putaway"); +} + +//Function Number: 42 +fastzip_rappel() +{ + wait(0.3); + var_00 = soundscripts\_snd_playsound::snd_play_2d("tac_fastzip_slide"); + level waittill("aud_fastzip_end"); + soundscripts\_snd_playsound::snd_play_2d("tac_fastzip_land"); + if(isdefined(var_00)) + { + var_00 scalevolume(0,0.01); + } +} + +//Function Number: 43 +fastzip_explosion_seq() +{ + common_scripts\utility::flag_wait("flag_player_zip_started"); + wait(1.2); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_fastzip_explo",0.05); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_fastzip_explode_hit_chunks",0.05); +} + +//Function Number: 44 +fastzip_hit_the_ground() +{ + level notify("aud_fastzip_end"); + soundscripts\_audio_mix_manager::mm_clear_submix("fusion_courtyard_battle_flyin",1); + soundscripts\_snd_common::snd_disable_soundcontextoverride("bullet_metal_vehicle"); +} + +//Function Number: 45 +player_warbird_flyout() +{ + thread soundscripts\_snd_common::snd_air_vehicle_smart_flyby("fus_warbird_plr_depart_flyby",900); +} + +//Function Number: 46 +warbird_mobile_turret_dropoff() +{ + var_00 = self; + wait(0.05); + var_00 thread soundscripts\_snd_playsound::snd_play_linked("fus_warbird_turret_drop_chop"); + wait(2.95); + var_00 thread soundscripts\_snd_playsound::snd_play_linked("fus_warbird_turret_drop_engine"); + wait(7.5); + var_00 thread soundscripts\_snd_playsound::snd_play_linked("fus_warbird_turret_drop_depart"); + wait(5); + soundscripts\_audio_mix_manager::mm_clear_submix("fusion_courtyard_warbirds",8); +} + +//Function Number: 47 +walker_mobile_turret_dropoff() +{ + var_00 = 1000; + var_01 = self; + wait(8.35); + var_01 thread soundscripts\_snd_playsound::snd_play_linked("fus_warbird_turret_drop_chain"); + var_01 thread soundscripts\_snd_playsound::snd_play_linked("fus_warbird_turret_drop_mech"); + wait(0.4); + var_02 = distance(level.player.origin,var_01.origin); + if(var_02 < var_00) + { + var_03 = soundscripts\_snd::snd_map(var_02,level.aud.envs["turret_drop_shake_over_distance"]); + earthquake(var_03,0.5,level.player.origin,var_00); + } +} + +//Function Number: 48 +cvrdrn_paired_anim_start() +{ + wait 0.05; + thread soundscripts\_snd_playsound::snd_play_linked("fus_cvrdrn_paired_anim"); +} + +//Function Number: 49 +cvrdrn_paired_anim_explo() +{ + thread soundscripts\_snd_playsound::snd_play_linked("cvrdrn_explode_hit"); + thread soundscripts\_snd_playsound::snd_play_linked("cvrdrn_explode_hit_debris"); +} + +//Function Number: 50 +start_ambient_jet() +{ + thread soundscripts\_snd_common::snd_air_vehicle_smart_flyby("veh_fa18_flyby_rand",6000); +} + +//Function Number: 51 +courtyard_ambient_bullet_impact(param_00,param_01,param_02) +{ + thread common_scripts\utility::play_sound_in_space("bullet_large_default",param_02); +} + +//Function Number: 52 +street_wall_1_explode(param_00) +{ + thread common_scripts\utility::play_sound_in_space("wall_explode",param_00); + thread common_scripts\utility::play_sound_in_space("wall_explode_mtl",param_00); +} + +//Function Number: 53 +spawn_walker_mobile_turret_deploy() +{ + if(level.currentgen) + { + level endon("tff_pre_transition_intro_to_middle"); + } + + self waittill("death"); + var_00 = spawnstruct(); + var_00.pos = self.origin; + var_00.speed_of_sound_ = 1; + var_00.duck_alias_ = "exp_generic_explo_sub_kick"; + var_00.duck_dist_threshold_ = 1000; + var_00.explo_delay_chance_ = 40; + var_00.explo_tail_alias_ = "exp_generic_explo_tail"; + var_00.shake_dist_threshold_ = 1800; + var_00.explo_debris_alias_ = "exp_debris_mixed"; + var_00.ground_zero_alias_ = "exp_grnd_zero_rock_tear"; + var_00.ground_zero_dist_threshold_ = 500; + soundscripts\_snd_common::snd_ambient_explosion(var_00); +} + +//Function Number: 54 +spawn_ally_walker_02() +{ + if(level.currentgen) + { + level endon("tff_pre_transition_intro_to_middle"); + } + + self waittill("death"); + thread common_scripts\utility::play_sound_in_space("fus_walker_explode_hit",self.origin); +} + +//Function Number: 55 +player_enter_walker(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("fusion_inside_xwalker",0.1); + soundscripts\_snd_common::snd_enable_soundcontextoverride("bullet_metal_vehicle"); +} + +//Function Number: 56 +player_exit_walker(param_00) +{ + soundscripts\_audio_mix_manager::mm_clear_submix("fusion_inside_xwalker",1); + soundscripts\_snd_common::snd_disable_soundcontextoverride("bullet_metal_vehicle"); +} + +//Function Number: 57 +player_enter_walker_anim() +{ + soundscripts\_audio_mix_manager::mm_add_submix("fusion_enter_exit_walker",0); + var_00 = soundscripts\_snd_playsound::snd_play_2d("x4walker_player_enter"); + var_00 waittill("sounddone"); + soundscripts\_audio_mix_manager::mm_clear_submix("fusion_enter_exit_walker",0.1); +} + +//Function Number: 58 +player_exit_walker_anim() +{ + soundscripts\_audio_mix_manager::mm_add_submix("fusion_enter_exit_walker",0); + var_00 = soundscripts\_snd_playsound::snd_play_2d("x4walker_player_exit"); + var_00 waittill("sounddone"); + soundscripts\_audio_mix_manager::mm_clear_submix("fusion_enter_exit_walker",0.1); +} + +//Function Number: 59 +x4_walker_hud_missile_launched(param_00) +{ +} + +//Function Number: 60 +x4_walker_hud_target_aquired(param_00) +{ + thread soundscripts\_snd_playsound::snd_play_2d("x4_walker_missile_lock"); +} + +//Function Number: 61 +x4_walker_fire_missile(param_00) +{ + if(isdefined(self)) + { + var_01 = param_00; + var_02 = self; + thread soundscripts\_snd_playsound::snd_play_2d("x4_walker_missile_fire"); + var_02 playloopsound("x4_walker_missile_loop"); + var_02 waittill("explode",var_03); + var_04 = spawnstruct(); + var_04.pos = var_03; + var_04.speed_of_sound_ = 1; + var_04.duck_alias_ = "exp_generic_explo_sub_kick"; + var_04.duck_dist_threshold_ = 1000; + var_04.explo_delay_chance_ = 40; + var_04.explo_tail_alias_ = "exp_generic_explo_tail"; + var_04.shake_dist_threshold_ = 1800; + var_04.explo_debris_alias_ = "exp_debris_mixed"; + var_04.ground_zero_alias_ = "exp_grnd_zero_rock_tear"; + var_04.ground_zero_dist_threshold_ = 500; + soundscripts\_snd_common::snd_ambient_explosion(var_04); + } +} + +//Function Number: 62 +player_mobile_turret_warning() +{ + soundscripts\_snd_playsound::snd_play_loop_linked("x4walker_warning_beep_loop","snd_stop_mt_alert"); + level waittill("street_cleanup"); + level notify("snd_stop_mt_alert"); +} + +//Function Number: 63 +player_mobile_turret_explo() +{ + level notify("snd_stop_mt_alert"); + thread soundscripts\_snd_playsound::snd_play_linked("cvrdrn_explode_hit"); + thread soundscripts\_snd_playsound::snd_play_linked("cvrdrn_explode_hit_debris"); +} + +//Function Number: 64 +mobile_turret_missile(param_00) +{ + if(isdefined(self)) + { + var_01 = param_00; + var_02 = self; + thread soundscripts\_snd_playsound::snd_play_2d("x4_walker_missile_fire_npc"); + var_02 playloopsound("x4_walker_missile_loop"); + var_02 waittill("explode",var_03); + var_04 = spawnstruct(); + var_04.pos = var_03; + var_04.speed_of_sound_ = 1; + var_04.duck_alias_ = "exp_generic_explo_sub_kick"; + var_04.duck_dist_threshold_ = 1000; + var_04.explo_delay_chance_ = 40; + var_04.explo_tail_alias_ = "exp_generic_explo_tail"; + var_04.shake_dist_threshold_ = 1800; + var_04.explo_debris_alias_ = "exp_debris_mixed"; + var_04.ground_zero_alias_ = "exp_grnd_zero_rock_tear"; + var_04.ground_zero_dist_threshold_ = 500; + soundscripts\_snd_common::snd_ambient_explosion(var_04); + } +} + +//Function Number: 65 +courtyard_mi17_spawn_01(param_00) +{ + param_00 endon("death"); + param_00.snd_disable_vehicle_system = 1; + param_00 thread audio_monitor_chopper01_death(); + level.aud.chopper_01_dist_lp = aud_create_linked_entity(param_00); + level.aud.chopper_01_dist_lp aud_fade_in("mi17_dist_towards_lp",1,1); + wait(7.5); + level.aud.chopper_01_by_in = aud_create_linked_entity(param_00); + level.aud.chopper_01_by_in aud_play("mi17_by_in_01"); + level.aud.chopper_01_dist_lp aud_fade_out(0.35); + level.aud.chopper_01_dist_lp = undefined; + wait(4); + level.aud.chopper_01_close_lp = aud_create_linked_entity(param_00); + level.aud.chopper_01_close_lp aud_fade_in("mi17_close_towards_lp",0.75,1); + wait(15); + level.aud.chopper_01_wind_up = aud_create_linked_entity(param_00); + level.aud.chopper_01_wind_up aud_play("mi17_by_windup_01"); + level.aud.chopper_01_close_lp aud_fade_out(1); + level.aud.chopper_01_close_lp = undefined; + wait(2); + level.aud.chopper_01_away_by = aud_create_linked_entity(param_00); + level.aud.chopper_01_away_by aud_play("mi17_by_out_01"); +} + +//Function Number: 66 +courtyard_mi17_spawn_02(param_00) +{ + param_00 endon("death"); + param_00.snd_disable_vehicle_system = 1; + param_00 thread audio_monitor_chopper02_death(); + level.aud.chopper_02_dist_lp = aud_create_linked_entity(param_00); + level.aud.chopper_02_dist_lp aud_fade_in("mi17_dist_towards_lp",1,1); + wait(7.5); + level.aud.chopper_02_by_in = aud_create_linked_entity(param_00); + level.aud.chopper_02_by_in aud_play("mi17_by_in_02"); + level.aud.chopper_02_dist_lp aud_fade_out(0.35); + level.aud.chopper_02_dist_lp = undefined; + wait(4); + level.aud.chopper_02_close_lp = aud_create_linked_entity(param_00); + level.aud.chopper_02_close_lp aud_fade_in("mi17_close_towards_lp",0.75,1); + wait(15); + level.aud.chopper_02_wind_up = aud_create_linked_entity(param_00); + level.aud.chopper_02_wind_up aud_play("mi17_by_windup_02"); + level.aud.chopper_02_close_lp aud_fade_out(1); + level.aud.chopper_02_close_lp = undefined; + wait(2); + level.aud.chopper_02_away_by = aud_create_linked_entity(param_00); + level.aud.chopper_02_away_by aud_play("mi17_by_out_02"); +} + +//Function Number: 67 +titan_init(param_00) +{ + maps\_anim::addnotetrack_customfunction("walker_tank","footstep_left_large",::titan_footstep_front_left); + maps\_anim::addnotetrack_customfunction("walker_tank","footstep_right_large",::titan_footstep_front_right); + maps\_anim::addnotetrack_customfunction("walker_tank","footstep_left_rear_large",::titan_footstep_rear_left); + maps\_anim::addnotetrack_customfunction("walker_tank","footstep_right_rear_large",::titan_footstep_rear_right); + maps\_anim::addnotetrack_customfunction("walker_tank","aud_titan_siege_mode_adj_left_side",::aud_titan_siege_mode_adj_left_side); + maps\_anim::addnotetrack_customfunction("walker_tank","aud_titan_siege_mode_adj_right_side",::aud_titan_siege_mode_adj_right_side); + maps\_anim::addnotetrack_customfunction("walker_tank","aud_titan_siege_mode_adj_left_side_back",::aud_titan_siege_mode_adj_left_side_back); + maps\_anim::addnotetrack_customfunction("walker_tank","aud_titan_siege_mode_adj_right_side_back",::aud_titan_siege_mode_adj_right_side_back); + thread titan_engine(); + thread titan_fire_wait(); +} + +//Function Number: 68 +titan_enter() +{ + thread soundscripts\_snd_playsound::snd_play_delayed_linked("titan_enter_transform",5); + thread soundscripts\_snd_playsound::snd_play_delayed_linked("titan_servo_move",9.5); + thread soundscripts\_snd_playsound::snd_play_delayed_linked("titan_servo_move",8); + thread soundscripts\_snd_playsound::snd_play_delayed_linked("titan_servo_move",7); + thread soundscripts\_snd_playsound::snd_play_delayed_linked("titan_footstep",9); + thread soundscripts\_snd_playsound::snd_play_delayed_linked("titan_footstep",11); + wait(9); + thread maps\_utility::play_sound_on_tag("titan_servo_move","frontWheelTread01_FL"); + wait(1); + thread maps\_utility::play_sound_on_tag("titan_footstep","frontWheelTread01_FR"); +} + +//Function Number: 69 +titan_missile(param_00) +{ + if(isdefined(self)) + { + thread common_scripts\utility::play_sound_in_space("wpn_rpg_npc",self.origin); + var_01 = soundscripts\_snd_playsound::snd_play_loop_linked("wpn_rpg_loop","titan_rpg_loop_stop"); + self waittill("explode",var_02); + var_03 = spawnstruct(); + var_03.pos = var_02; + var_03.duck_alias_ = "exp_generic_explo_sub_kick"; + var_03.duck_dist_threshold_ = 1000; + var_03.explo_delay_chance_ = 100; + var_03.shake_dist_threshold_ = 2000; + var_03.explo_debris_alias_ = "exp_debris_dirt_chunks"; + var_03.shake_duration = 1.5; + thread soundscripts\_snd_common::snd_ambient_explosion(var_03); + } +} + +//Function Number: 70 +titan_engine() +{ + if(isdefined(self)) + { + soundscripts\_snd_playsound::snd_play_loop_linked("titan_engine_lp","stop_titan_engine_loop"); + self waittill("death"); + level notify("stop_titan_engine_loop"); + } +} + +//Function Number: 71 +titan_fire_wait() +{ + self endon("death"); + while(isdefined(self)) + { + self waittill("weapon_fired"); + var_00 = distance(self.origin,level.player.origin); + var_01 = soundscripts\_snd::snd_map(var_00,level.aud.envs["titan_tank_cannon"]); + var_02 = soundscripts\_snd_playsound::snd_play_linked("titan_cannon_shot_main"); + var_03 = soundscripts\_snd_playsound::snd_play_linked("titan_cannon_shot_low"); + var_04 = soundscripts\_snd_playsound::snd_play_linked("titan_cannon_shot_crunch"); + var_05 = soundscripts\_snd_playsound::snd_play_linked("titan_cannon_shot_tail"); + var_06 = soundscripts\_snd_playsound::snd_play_linked("titan_cannon_shot_lfe"); + var_07 = soundscripts\_snd_playsound::snd_play_linked("titan_cannon_hydraulics"); + if(var_00 > 2500) + { + var_08 = soundscripts\_snd_playsound::snd_play_linked("titan_cannon_shot_tail_dist"); + } + else + { + var_09 = soundscripts\_snd_playsound::snd_play_delayed_linked("titan_cannon_shot_tail_dist",0.5); + } + + var_0A = [var_02,var_03,var_04,var_06,var_05]; + foreach(var_0C in var_0A) + { + var_0C setvolume(var_01,0); + } + + wait(0.05); + } +} + +//Function Number: 72 +trophy_system_explosion(param_00) +{ + var_01 = distance(self.origin,level.player.origin); + var_02 = soundscripts\_snd::snd_map(var_01,level.aud.envs["titan_tank_cannon"]); + var_03 = level.player soundscripts\_snd_playsound::snd_play_linked("titan_trophy_system_explode"); + var_04 = level.player soundscripts\_snd_playsound::snd_play_linked("titan_trophy_system_explode_impact"); + var_03 scalevolume(var_02,0); + var_04 scalevolume(var_02,0); +} + +//Function Number: 73 +titan_take_damage_from_smaw(param_00) +{ + var_01 = distance(self.origin,level.player.origin); + var_02 = soundscripts\_snd::snd_map(var_01,level.aud.envs["titan_tank_cannon"]); + var_03 = soundscripts\_snd_playsound::snd_play_linked("titan_take_smaw_dmg"); + var_03 scalevolume(var_02 * 2,0); + var_04 = self.origin + (500,0,0); + var_05 = spawnstruct(); + var_05.pos = var_04; + var_05.duck_alias_ = "exp_generic_explo_sub_kick"; + var_05.duck_dist_threshold_ = 1000; + var_05.explo_delay_chance_ = 100; + var_05.shake_dist_threshold_ = 3000; + var_05.explo_debris_alias_ = "exp_debris_dirt_chunks"; + soundscripts\_snd_common::snd_ambient_explosion(var_05); +} + +//Function Number: 74 +titan_death(param_00) +{ + wait(1); + var_01 = soundscripts\_snd_playsound::snd_play_linked("titan_death_whine"); + var_02 = soundscripts\_snd_playsound::snd_play_linked("titan_take_smaw_dmg_sparks"); + var_03 = soundscripts\_snd_playsound::snd_play_linked("titan_servo_move"); + var_04 = soundscripts\_snd_playsound::snd_play_linked("titan_cannon_hydraulics"); + var_05 = soundscripts\_snd_playsound::snd_play_delayed_linked("titan_servo_move",3); + wait(3.5); + soundscripts\_snd_playsound::snd_play_delayed_2d("titan_explode"); + soundscripts\_snd_playsound::snd_play_delayed_2d("titan_explode_mtl"); + var_06 = soundscripts\_snd_playsound::snd_play_delayed_linked("exp_debris_dirt_chunks",1.5); + var_07 = soundscripts\_snd_playsound::snd_play_delayed_linked("exp_debris_dirt_chunks",2); +} + +//Function Number: 75 +titan_footstep_front_left(param_00) +{ + param_00 thread maps\_utility::play_sound_on_tag("titan_footstep","frontWheelTread01_FL"); +} + +//Function Number: 76 +titan_footstep_front_right(param_00) +{ + param_00 thread maps\_utility::play_sound_on_tag("titan_footstep","frontWheelTread01_FR"); +} + +//Function Number: 77 +titan_footstep_rear_left(param_00) +{ + param_00 thread maps\_utility::play_sound_on_tag("titan_footstep_rear","frontWheelTread05_KL"); +} + +//Function Number: 78 +titan_footstep_rear_right(param_00) +{ + param_00 thread maps\_utility::play_sound_on_tag("titan_footstep_rear","frontWheelTread05_KR"); +} + +//Function Number: 79 +aud_titan_siege_mode_adj_left_side(param_00) +{ + param_00 thread maps\_utility::play_sound_on_tag("titan_servo_move","frontWheelTread01_FL"); +} + +//Function Number: 80 +aud_titan_siege_mode_adj_right_side(param_00) +{ + param_00 thread maps\_utility::play_sound_on_tag("titan_servo_move","frontWheelTread01_FR"); +} + +//Function Number: 81 +aud_titan_siege_mode_adj_left_side_back(param_00) +{ + param_00 thread maps\_utility::play_sound_on_tag("titan_servo_move","frontWheelTread01_FL"); +} + +//Function Number: 82 +aud_titan_siege_mode_adj_right_side_back(param_00) +{ + param_00 thread maps\_utility::play_sound_on_tag("titan_servo_move","frontWheelTread01_FR"); +} + +//Function Number: 83 +itiot_fade_out() +{ + var_00 = 2; + soundscripts\_audio_mix_manager::mm_add_submix("mute_all",var_00); +} + +//Function Number: 84 +itiot_fade_in() +{ + var_00 = 2; + soundscripts\_audio_mix_manager::mm_clear_submix("mute_all",var_00); +} + +//Function Number: 85 +security_checkpoint_trigger_think() +{ + for(;;) + { + self waittill("trigger",var_00); + thread security_checkpoint_trigger_play_beep(var_00); + wait(0.05); + } +} + +//Function Number: 86 +security_checkpoint_trigger_play_beep(param_00) +{ + if(isdefined(self.instigators)) + { + if(common_scripts\utility::array_contains(self.instigators,param_00)) + { + return; + } + } + else + { + self.instigators = []; + } + + self.instigators[self.instigators.size] = param_00; + var_01 = aud_create_linked_entity(self); + var_01 aud_play("beep_metal_detector_alert"); + while(param_00 istouching(self)) + { + wait(0.1); + } + + self.instigators = common_scripts\utility::array_remove(self.instigators,param_00); + self.instigators = common_scripts\utility::array_removeundefined(self.instigators); +} + +//Function Number: 87 +sec_door_breach_anim() +{ + maps\_anim::addnotetrack_customfunction("burke","fus_gideon_bust_open_sec_door",::fus_gideon_bust_open_sec_door,"fusion_security_doors_open"); +} + +//Function Number: 88 +fus_gideon_bust_open_sec_door(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("fus_sec_door_breach",(304,3011,28)); +} + +//Function Number: 89 +start_elevator_zone_audio() +{ + maps\_utility::enable_trigger_with_targetname("audio_elevator_entrance"); +} + +//Function Number: 90 +start_dead_guy_foley(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("fusion_security_dead_guy"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("fus_sec_dead_guy_drop",0.6); + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("fus_sec_dead_guy_brk_spin",0.96); + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("fus_sec_dead_guy_brk_leave",5.15); + wait(10); + soundscripts\_audio_mix_manager::mm_clear_submix("fusion_security_dead_guy"); +} + +//Function Number: 91 +sec_room_move_to_elevator() +{ + level.joker soundscripts\_snd_playsound::snd_play_delayed_linked("fus_sec_room_joker_foley_01",0); + level.carter soundscripts\_snd_playsound::snd_play_delayed_linked("fus_sec_room_carter_foley_01",0); + level.joker soundscripts\_snd_playsound::snd_play_delayed_linked("fus_sec_room_joker_foley_02",2.58); +} + +//Function Number: 92 +sec_room_attach_to_elevator() +{ + level.carter soundscripts\_snd_playsound::snd_play_delayed_linked("fus_sec_room_carter_foley_02",2.87); +} + +//Function Number: 93 +sec_room_elevator_open() +{ + var_00 = getent("security_room_elevator_doors","targetname"); + var_00 soundscripts\_snd_playsound::snd_play_delayed_linked("fus_sec_room_elev_pry_open",2.4); + level.carter soundscripts\_snd_playsound::snd_play_delayed_linked("fus_sec_room_carter_foley_03",2.67); + level.joker soundscripts\_snd_playsound::snd_play_delayed_linked("fus_sec_room_joker_foley_03",2.8); +} + +//Function Number: 94 +start_burke_elevator_slide() +{ + soundscripts\_audio_mix_manager::mm_add_submix("fusion_security_elevator_burke"); + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("fus_elev_slide_burke_look",2.4); + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("fus_elev_slide_burke_run",3.6); + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("fus_elev_slide_burke_jump",5.1); + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("fus_elev_slide_burke_grab",5.4); + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("fus_elev_slide_burke_slide",5.9); + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("fus_elev_slide_burke_land",7.9); + wait(10); + soundscripts\_audio_mix_manager::mm_clear_submix("fusion_security_elevator_burke"); +} + +//Function Number: 95 +start_player_elevator_jump() +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_elev_slide_plr_jump",0); +} + +//Function Number: 96 +start_player_elevator_slide() +{ + soundscripts\_audio_mix_manager::mm_add_submix("fusion_security_elevator_player"); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_elev_slide_plr_slide",1.05); + wait(6); + soundscripts\_audio_mix_manager::mm_clear_submix("fusion_security_elevator_player"); +} + +//Function Number: 97 +start_lab_alarms() +{ + level endon("stop_lab_alarms"); + if(isdefined(level.aud.lab_alarms) && level.aud.lab_alarms) + { + return; + } + + level.aud.lab_alarms = 1; + for(;;) + { + thread common_scripts\utility::play_sound_in_space("alarm_interior_hallway_verb",(1730,3044,-445)); + thread common_scripts\utility::play_sound_in_space("alarm_interior_hallway_verb",(1145,2883,-445)); + thread common_scripts\utility::play_sound_in_space("alarm_interior_hallway_verb",(794,4173,-445)); + thread common_scripts\utility::play_sound_in_space("alarm_interior_hallway_verb",(1051,4847,-445)); + wait(2.5); + } +} + +//Function Number: 98 +start_pa_emergency_exit() +{ + level endon("stop_lab_alarms"); + if(isdefined(level.aud.pa_emergency) && level.aud.pa_emergency) + { + return; + } + + level.aud.pa_emergency = 1; + for(;;) + { + thread common_scripts\utility::play_sound_in_space("fus_prg_pleaseproceedtothenearest",(789,3596,-445)); + wait(11); + } +} + +//Function Number: 99 +start_pa_airlockclosing() +{ + level endon("stop_lab_alarms"); + if(isdefined(level.aud.pa_airlock) && level.aud.pa_airlock) + { + return; + } + + level.aud.pa_airlock = 1; + for(;;) + { + thread common_scripts\utility::play_sound_in_space("fus_prg_warningcontainmentairlockclosing",(1438,4445,-445)); + wait(8); + } +} + +//Function Number: 100 +start_pre_reactor_alarms() +{ + level endon("stop_lab_alarms"); + if(isdefined(level.aud.pre_reactor_alarms) && level.aud.pre_reactor_alarms) + { + return; + } + + level.aud.pre_reactor_alarms = 1; + for(;;) + { + thread common_scripts\utility::play_sound_in_space("alarm_interior_hallway_siren_verb",(2080,4817,-445)); + wait(2.5); + } +} + +//Function Number: 101 +start_reactor_zone_audio() +{ + wait(6); + maps\_utility::enable_trigger_with_targetname("audio_reactor_entrance"); + level endon("stop_lab_alarms"); + if(isdefined(level.aud.reactor_alarm) && level.aud.reactor_alarm) + { + return; + } + + level.aud.reactor_alarm = 1; + for(;;) + { + soundscripts\_snd_playsound::snd_play_at("alarm_interior_hall_dist_verb",(3358,3350,-300)); + soundscripts\_snd_playsound::snd_play_at("alarm_interior_hall_dist_verb",(4474,3302,-300)); + soundscripts\_snd_playsound::snd_play_at("alarm_interior_hall_dist_verb",(3707,2198,-300)); + wait(3.5); + } +} + +//Function Number: 102 +start_airlock_anim_notetracks() +{ + maps\_anim::addnotetrack_animsound("carter","fusion_airlock_opening_approach","fus_airlock_carter_comp_strt","fus_airlock_carter_comp_strt"); + maps\_anim::addnotetrack_animsound("carter","fusion_airlock_opening_approach","fus_airlock_comp_beep_01","fus_airlock_comp_beep_01"); + maps\_anim::addnotetrack_animsound("carter","fusion_airlock_opening_idle","fus_airlock_comp_beep_02","fus_airlock_comp_beep_02"); + maps\_anim::addnotetrack_animsound("carter","fusion_airlock_opening_idle","fus_airlock_comp_beep_03","fus_airlock_comp_beep_03"); + maps\_anim::addnotetrack_animsound("carter","fusion_airlock_opening_idle","fus_airlock_comp_beep_04","fus_airlock_comp_beep_04"); + maps\_anim::addnotetrack_animsound("carter","fusion_airlock_opening_idle","fus_airlock_comp_beep_05","fus_airlock_comp_beep_05"); + maps\_anim::addnotetrack_animsound("carter","fusion_airlock_opening_idle","fus_airlock_comp_beep_06","fus_airlock_comp_beep_06"); + maps\_anim::addnotetrack_animsound("carter","fusion_airlock_opening_idle","fus_airlock_comp_beep_07","fus_airlock_comp_beep_07"); + maps\_anim::addnotetrack_animsound("carter","fusion_airlock_opening_idle","fus_airlock_comp_beep_08","fus_airlock_comp_beep_02"); + maps\_anim::addnotetrack_animsound("carter","fusion_airlock_opening_idle","fus_airlock_comp_beep_09","fus_airlock_comp_beep_03"); + maps\_anim::addnotetrack_animsound("carter","fusion_airlock_opening","fus_airlock_comp_beep_10","fus_airlock_comp_beep_04"); +} + +//Function Number: 103 +start_reactor_airlock_open(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("fusion_reactor_airlock_open"); + param_00 soundscripts\_snd_playsound::snd_play_linked("fus_reactor_airlock_open"); + wait(4); + var_01 = param_00 soundscripts\_snd_playsound::snd_play_loop_linked("fus_reactor_airlock_servo_lp","stop_airlock_door_loop"); + var_01 scalevolume(0); + var_01 thread common_scripts\utility::delaycall(0.05,::scalevolume,1,4); + wait(21); + param_00 soundscripts\_snd_playsound::snd_play_linked("fus_reactor_airlock_stop"); + wait(0.5); + level notify("stop_airlock_door_loop"); + soundscripts\_audio_mix_manager::mm_clear_submix("fusion_reactor_airlock_open"); +} + +//Function Number: 104 +start_reactor_burke_attack() +{ + wait(8.4); + level.burke soundscripts\_snd_playsound::snd_play_linked("fus_airlock_burke_grab"); + wait(0.7); + level.burke soundscripts\_snd_playsound::snd_play_linked("fus_airlock_burke_gun_butt"); + wait(0.4); + level.burke soundscripts\_snd_playsound::snd_play_linked("fus_airlock_burke_exo_throw"); + wait(1.9); + level.burke soundscripts\_snd_playsound::snd_play_linked("fus_airlock_burke_gun_up"); +} + +//Function Number: 105 +crane_mach_mvmnt_start(param_00,param_01) +{ + param_00.snd_ent = aud_create_linked_entity(param_00); + param_00.snd_ent aud_play("crane_rctr_mach_start_01"); + param_00.snd_ent thread crane_check_for_stop_command(); + param_00.snd_ent thread crane_force_stop_command(); + param_01.snd_ent = aud_create_linked_entity(param_01); + param_01.snd_ent aud_play("crane_rctr_mach_start_02"); + param_01.snd_ent thread crane_check_for_stop_command(); + param_01.snd_ent thread crane_force_stop_command(); +} + +//Function Number: 106 +crane_mach_mvmnt_stop(param_00,param_01) +{ + if(isdefined(param_00.snd_ent)) + { + param_00.snd_ent aud_fade_out(0.5); + param_00.snd_ent = undefined; + } + + if(isdefined(param_01.snd_ent)) + { + param_01.snd_ent aud_fade_out(0.5); + param_01.snd_ent = undefined; + } + + param_00.snd_ent = aud_create_linked_entity(param_00); + param_00.snd_ent aud_play("crane_rctr_mach_stop_01"); + param_00.snd_ent thread crane_check_for_stop_command(); + param_00.snd_ent thread crane_force_stop_command(); + param_01.snd_ent = aud_create_linked_entity(param_01); + param_01.snd_ent aud_play("crane_rctr_mach_stop_02"); + param_01.snd_ent thread crane_check_for_stop_command(); + param_01.snd_ent thread crane_force_stop_command(); +} + +//Function Number: 107 +crane_claw_mvmnt_start(param_00) +{ + param_00.snd_ent = aud_create_linked_entity(param_00); + param_00.snd_ent aud_play("crane_rctr_claw_mvmnt_start"); + param_00.snd_ent thread crane_check_for_stop_command(); + param_00.snd_ent thread crane_force_stop_command(); +} + +//Function Number: 108 +crane_claw_mvmnt_stop(param_00) +{ + if(isdefined(param_00.snd_ent)) + { + param_00.snd_ent aud_fade_out(0.5); + param_00.snd_ent = undefined; + } + + param_00.snd_ent = aud_create_linked_entity(param_00); + param_00.snd_ent aud_play("crane_rctr_claw_mvmnt_stop"); + param_00.snd_ent thread crane_check_for_stop_command(); + param_00.snd_ent thread crane_force_stop_command(); +} + +//Function Number: 109 +crane_claw_drop_start(param_00) +{ + param_00 endon("stop_claw_beep"); + param_00 playsound("crane_rctr_claw_drop_start"); + param_00 playloopsound("crane_rctr_claw_drop_lp"); + param_00 thread crane_check_for_stop_command(); + param_00 thread crane_force_stop_command(); + for(;;) + { + param_00 playsound("crane_rctr_claw_drop_beep"); + wait(1); + } +} + +//Function Number: 110 +crane_claw_drop_stop(param_00) +{ + param_00 notify("stop_claw_beep"); + param_00 stoploopsound("crane_rctr_claw_drop_lp"); + param_00 playsound("crane_rctr_claw_drop_stop"); + param_00 thread crane_check_for_stop_command(); + param_00 thread crane_force_stop_command(); +} + +//Function Number: 111 +crane_claw_rise_start(param_00) +{ + param_00 playsound("crane_rctr_claw_rise_start"); + param_00 playloopsound("crane_rctr_claw_rise_lp"); + param_00 thread crane_check_for_stop_command(); + param_00 thread crane_force_stop_command(); +} + +//Function Number: 112 +crane_claw_rise_stop(param_00) +{ + param_00 stoploopsound("crane_rctr_claw_rise_lp"); + param_00 playsound("crane_rctr_claw_rise_stop"); + param_00 thread crane_check_for_stop_command(); + param_00 thread crane_force_stop_command(); +} + +//Function Number: 113 +crane_claw_crate_grab(param_00) +{ + param_00 playsound("crane_rctr_claw_grab"); + param_00 thread crane_check_for_stop_command(); + param_00 thread crane_force_stop_command(); +} + +//Function Number: 114 +crane_claw_crate_release(param_00) +{ + param_00 playsound("crane_rctr_claw_release"); + param_00 thread crane_check_for_stop_command(); + param_00 thread crane_force_stop_command(); +} + +//Function Number: 115 +crane_check_for_stop_command() +{ + self endon("death"); + if(isdefined(self.hasaudiocheck)) + { + return; + } + + self.hasaudiocheck = 1; + level waittill("stop_all_crane_audio"); + if(!isdefined(self)) + { + return; + } + + self stopsounds(); +} + +//Function Number: 116 +crane_force_stop_command() +{ + self endon("death"); + if(level.currentgen) + { + if(isdefined(self.hasaudiocheck)) + { + return; + } + + self.hasaudiocheck = 1; + level waittill("tff_pre_transition_middle_to_outro"); + self notify("stop_claw_beep"); + if(!isdefined(self)) + { + return; + } + + self stopsounds(); + } +} + +//Function Number: 117 +reactor_bot_drive_shelf_start(param_00) +{ + param_00 playloopsound("fus_reactor_robot_drive_with_shelf"); +} + +//Function Number: 118 +reactor_bot_drive_shelf_stop(param_00) +{ + param_00 stoploopsound("fus_reactor_robot_drive_with_shelf"); + param_00 playsound("fus_reactor_robot_stop_with_shelf"); +} + +//Function Number: 119 +reactor_bot_drive_self_start(param_00) +{ + param_00 playloopsound("fus_reactor_robot_drive_no_shelf"); +} + +//Function Number: 120 +reactor_bot_drive_self_stop(param_00) +{ + param_00 stoploopsound("fus_reactor_robot_drive_no_shelf"); + param_00 playsound("fus_reactor_robot_stop_with_shelf"); +} + +//Function Number: 121 +reactor_bot_turn_shelf(param_00) +{ + param_00 playsound("fus_reactor_robot_turn_with_shelf"); + wait(0.85); + param_00 playsound("fus_reactor_robot_lock_in"); +} + +//Function Number: 122 +reactor_bot_turn_self(param_00) +{ + param_00 playsound("fus_reactor_robot_turn_no_shelf"); + wait(0.85); + param_00 playsound("fus_reactor_robot_lock_in"); +} + +//Function Number: 123 +reactor_bot_shelf_pickup(param_00) +{ + param_00 playsound("fus_reactor_robot_shelf_pickup"); +} + +//Function Number: 124 +reactor_bot_shelf_drop(param_00) +{ + param_00 playsound("fus_reactor_robot_shelf_drop"); +} + +//Function Number: 125 +reactor_bot_elevator_start_lp(param_00) +{ + param_00 scalevolume(0,0); + param_00 playloopsound("fus_reactor_robot_elevator_lp"); + param_00 scalevolume(1,1); +} + +//Function Number: 126 +reactor_bot_elevator_stop_lp(param_00,param_01) +{ + if(isdefined(param_01)) + { + wait(param_01); + } + + param_00 stoploopsound("fus_reactor_robot_elevator_lp"); +} + +//Function Number: 127 +reactor_bot_initial_elevator_start(param_00,param_01) +{ + if(isdefined(param_01)) + { + wait(param_01); + } + + param_00 playsound("fus_reactor_robot_elevator_start"); +} + +//Function Number: 128 +reactor_bot_initial_elevator_stop(param_00,param_01) +{ + if(isdefined(param_01)) + { + wait(param_01); + } + + param_00 playsound("fus_reactor_robot_elevator_stop"); +} + +//Function Number: 129 +reactor_bot_final_elevator_start(param_00,param_01) +{ + if(isdefined(param_01)) + { + wait(param_01); + } + + param_00 playsound("fus_reactor_robot_elevator_door_close"); +} + +//Function Number: 130 +reactor_bot_final_elevator_stop(param_00,param_01) +{ + if(isdefined(param_01)) + { + wait(param_01); + } +} + +//Function Number: 131 +reactor_bot_elevator_open(param_00) +{ + param_00 playsound("fus_reactor_robot_elevator_door_open"); +} + +//Function Number: 132 +start_pa_codered() +{ + level endon("stop_lab_alarms"); + if(isdefined(level.aud.pa_codered) && level.aud.pa_codered) + { + return; + } + + level.aud.pa_codered = 1; + for(;;) + { + thread common_scripts\utility::play_sound_in_space("fus_prg_coderedcoderedwarning",(3798,331,-430)); + wait(12); + } +} + +//Function Number: 133 +start_alarm_post_reactor() +{ + level endon("stop_lab_alarms"); + if(isdefined(level.aud.post_reactor_alarm) && level.aud.post_reactor_alarm) + { + return; + } + + level.aud.post_reactor_alarm = 1; + for(;;) + { + thread common_scripts\utility::play_sound_in_space("alarm_interior_hallway_siren_verb",(4670,106,-445)); + wait(2.5); + } +} + +//Function Number: 134 +turbine_room_elevator_button() +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_reactor_elevator_button",0.5); +} + +//Function Number: 135 +disable_turbine_elevator_trigger() +{ + maps\_utility::disable_trigger_with_targetname("audio_turbine_elevator_top"); +} + +//Function Number: 136 +start_turbine_elevator() +{ + thread start_turbine_elevator_alarm(); + soundscripts\_audio_mix_manager::mm_add_submix("fusion_turbine_elevator"); + wait(0.2); + thread common_scripts\utility::play_sound_in_space("fus_elev_door_close",(4676,787,-445)); + wait(5.1); + level.aud.elev_ride = aud_create_entity((0,0,0)); + level.aud.elev_ride aud_fade_in("fus_elev_ride_lp",0.35,1); +} + +//Function Number: 137 +stop_turbine_elevator() +{ + thread common_scripts\utility::play_sound_in_space("fus_elev_door_open",(4862,960,-95)); + if(isdefined(level.aud.elev_ride)) + { + level.aud.elev_ride aud_fade_out(0.5); + level.aud.elev_ride = undefined; + } + + wait(2.5); + soundscripts\_audio_mix_manager::mm_clear_submix("fusion_turbine_elevator",1); +} + +//Function Number: 138 +start_turbine_elevator_alarm() +{ + wait(1.1); + soundscripts\_snd_playsound::snd_play_2d("fus_elev_door_alarm"); + wait(0.83); + soundscripts\_snd_playsound::snd_play_2d("fus_elev_door_alarm"); + wait(0.83); + soundscripts\_snd_playsound::snd_play_2d("fus_elev_door_alarm"); +} + +//Function Number: 139 +start_turbine_loop() +{ + wait(0.5); + var_00 = common_scripts\utility::getstruct("turbine_1_sound_source_upper","targetname"); + thread common_scripts\utility::play_loopsound_in_space("fus_turbine_upper_01",var_00.origin); + var_01 = common_scripts\utility::getstruct("turbine_1_sound_source_lower","targetname"); + thread common_scripts\utility::play_loopsound_in_space("fus_turbine_01",var_01.origin); + thread common_scripts\utility::play_loopsound_in_space("fus_turbine_mech_parts_close",(5393,960,3)); + var_02 = common_scripts\utility::getstruct("turbine_2_sound_source_upper","targetname"); + thread common_scripts\utility::play_loopsound_in_space("fus_turbine_upper_02",var_02.origin); + var_03 = common_scripts\utility::getstruct("turbine_2_sound_source_lower","targetname"); + thread common_scripts\utility::play_loopsound_in_space("fus_turbine_02",var_03.origin); + thread common_scripts\utility::play_loopsound_in_space("fus_turbine_mech_parts_close",(6020,1398,3)); + var_04 = common_scripts\utility::getstruct("turbine_3_sound_source_upper","targetname"); + level.aud.damaged_turbine_1 = common_scripts\utility::play_loopsound_in_space("fus_turbine_damaged",var_04.origin); + var_05 = common_scripts\utility::getstruct("turbine_3_sound_source_lower","targetname"); + level.aud.damaged_turbine_2 = common_scripts\utility::play_loopsound_in_space("fus_turbine_damaged",var_05.origin); + common_scripts\utility::play_loopsound_in_space("fus_turbine_upper_02",(6967,1920,140)); + soundscripts\_audio_zone_manager::azm_start_zone("fusion_turbine_elevator_loud",0.5); + maps\_utility::enable_trigger_with_targetname("audio_turbine_elevator_top"); +} + +//Function Number: 140 +rec_player_drone_start(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("fusion_playable_drone",0.25); + level endon("pdrone_end"); + var_01 = param_00.origin; + var_02 = level.player playerads(); + var_03 = 0; + for(;;) + { + var_04 = param_00.origin; + var_05 = level.player playerads(); + var_06 = abs(length(var_04 - var_01)); + var_07 = var_05 - var_02; + if(var_07 > 0) + { + if(var_03 != -1) + { + soundscripts\_snd_playsound::snd_play_2d("wpn_wasp_scope_zoom_out"); + var_03 = -1; + } + } + else if(var_07 < 0) + { + if(var_03 != 1) + { + level.aud.zoominsound = soundscripts\_snd_playsound::snd_play_2d("wpn_wasp_scope_zoom_in","stop_zoominsound",0,0.25); + var_03 = 1; + } + } + else if(var_03 != 0) + { + level notify("stop_zoominsound"); + var_03 = 0; + } + + var_01 = var_04; + var_02 = var_05; + wait 0.05; + } +} + +//Function Number: 141 +rec_player_drone_end() +{ + level notify("pdrone_end"); + soundscripts\_audio_mix_manager::mm_clear_submix("fusion_playable_drone"); + soundscripts\_audio_mix_manager::mm_clear_submix("fusion_playable_drone_deploy"); +} + +//Function Number: 142 +snd_player_drone_deploy(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("fusion_playable_drone_deploy"); + soundscripts\_snd_playsound::snd_play_delayed_2d("assault_drone_deploy",0.2); + soundscripts\_snd_playsound::snd_play_delayed_2d("assault_drone_wrist_panel",3.63); + wait(4.25); + soundscripts\_snd_playsound::snd_play_at("assault_drone_start",param_00.origin,"kill_player_op_drone_ext_loop",undefined,1.5); + soundscripts\_snd_playsound::snd_play_2d("assault_drone_start_pov"); +} + +//Function Number: 143 +snd_player_drone_wrist_panel() +{ +} + +//Function Number: 144 +snd_player_drone_enter_drone_pov() +{ +} + +//Function Number: 145 +turbine_pre_explo() +{ + soundscripts\_audio_mix_manager::mm_add_submix("fusion_turbine_room_expl"); + thread soundscripts\_snd_playsound::snd_play_2d("turbine_pre_expl_2d_lr"); + thread common_scripts\utility::play_sound_in_space("turbine_pre_expl_3d_01",(6701.75,1845.58,115.563)); + soundscripts\_audio_mix_manager::mm_clear_submix("fusion_turbine_room_expl",0.35); + wait(0.4); + soundscripts\_audio_mix_manager::mm_add_submix("fusion_turbine_room_expl"); + thread common_scripts\utility::play_sound_in_space("turbine_pre_expl_3d_02",(7000.59,1638,91.9606)); + soundscripts\_audio_mix_manager::mm_clear_submix("fusion_turbine_room_expl",0.35); +} + +//Function Number: 146 +turbine_explo() +{ + soundscripts\_audio_mix_manager::mm_add_submix("fusion_turbine_room_expl"); + thread soundscripts\_snd_playsound::snd_play_2d("turbine_expl_2d_lr"); + wait(0.2); + thread soundscripts\_snd_playsound::snd_play_2d("turbine_expl_2d_lfe"); + thread common_scripts\utility::play_sound_in_space("turbine_expl_3d_01",(6701.75,1845.58,115.563)); + wait(0.1); + thread common_scripts\utility::play_sound_in_space("turbine_expl_3d_02",(7000.59,1638,91.9606)); + wait(0.5); + soundscripts\_audio_mix_manager::mm_clear_submix("fusion_turbine_room_expl",1); + wait(0.75); + var_00 = common_scripts\utility::getstruct("turbine_3_sound_source_upper","targetname"); + var_01 = common_scripts\utility::getstruct("turbine_3_sound_source_lower","targetname"); + thread common_scripts\utility::play_sound_in_space("turbine_expl_windup",var_01.origin); + level.aud.damaged_turbine_1 stoploopsound(); + level.aud.damaged_turbine_2 stoploopsound(); + level.aud.damaged_turbine_1 delete(); + level.aud.damaged_turbine_2 delete(); + wait(4); + common_scripts\utility::play_loopsound_in_space("turbine_expl_post_lp",var_01.origin); + common_scripts\utility::play_loopsound_in_space("turbine_expl_post_lp_top",var_00.origin); +} + +//Function Number: 147 +start_pa_emergency_turbine() +{ + level endon("stop_pa_turbine"); + if(isdefined(level.aud.pa_emergency_turbine) && level.aud.pa_emergency_turbine) + { + return; + } + + level.aud.pa_emergency_turbine = 1; + for(;;) + { + thread common_scripts\utility::play_sound_in_space("fus_prg_pleaseproceedtothenearest",(7231,2847,267)); + wait(9); + } +} + +//Function Number: 148 +start_turbine_door_breach() +{ + thread control_room_foley_notetracks(); + soundscripts\_audio_mix_manager::mm_add_submix("fusion_turbine_door_breach"); + wait(1.45); + level.carter soundscripts\_snd_playsound::snd_play_linked("door_trbn_rm_exo_pnch"); + common_scripts\utility::play_sound_in_space("door_trbn_rm_breach",(7234,2736,228)); +} + +//Function Number: 149 +start_turbine_door_impt(param_00,param_01) +{ + wait(2.2); + param_00 soundscripts\_snd_playsound::snd_play_linked("door_trbn_rm_impt_left"); + wait(0.25); + param_01 soundscripts\_snd_playsound::snd_play_linked("door_trbn_rm_impt_right"); + soundscripts\_audio_mix_manager::mm_clear_submix("fusion_turbine_door_breach",1); +} + +//Function Number: 150 +control_room_foley_notetracks() +{ + maps\_anim::addnotetrack_customfunction("burke","aud_start_burke_ctrl_rm_start",::burke_cr_foley_start,"fusion_door_explosion"); + maps\_anim::addnotetrack_customfunction("burke","aud_start_burke_ctrl_rm_enter",::burke_cr_foley_enter,"fusion_door_explosion"); + maps\_anim::addnotetrack_customfunction("burke","aud_start_burke_ctrl_rm_idle",::burke_cr_foley_idle,"control_room_idle"); + maps\_anim::addnotetrack_customfunction("burke","aud_start_burke_ctrl_rm_console",::burke_cr_foley_console,"control_room_scene"); + maps\_anim::addnotetrack_customfunction("carter","aud_start_carter_ctrl_rm_start",::carter_cr_foley_start,"fusion_door_explosion"); + maps\_anim::addnotetrack_customfunction("carter","aud_start_carter_ctrl_rm_idle",::carter_cr_foley_idle,"control_room_idle"); + maps\_anim::addnotetrack_customfunction("burke","fus_burke_ctrl_rm_shoulder_ram",::fus_burke_ctrl_rm_shoulder_ram,"control_room_scene"); +} + +//Function Number: 151 +burke_cr_foley_start(param_00) +{ + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("fus_cr_burke_explo_foley",3.07); +} + +//Function Number: 152 +burke_cr_foley_enter(param_00) +{ + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("fus_cr_burke_to_console_foley",0.75); +} + +//Function Number: 153 +burke_cr_foley_idle(param_00) +{ + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("fus_cr_burke_idle_foley_lp",0); +} + +//Function Number: 154 +burke_cr_foley_console(param_00) +{ + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("fus_cr_burke_console_foley",0.075); + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("fus_cr_burke_away_foley",35.163); + level.carter soundscripts\_snd_playsound::snd_play_delayed_linked("fus_cr_carter_end_walk_foley",26.191); + level.carter soundscripts\_snd_playsound::snd_play_delayed_linked("fus_cr_carter_leave_foley",42.172); + level.joker soundscripts\_snd_playsound::snd_play_delayed_linked("fus_cr_joker_console_foley",2.581); + level.joker soundscripts\_snd_playsound::snd_play_delayed_linked("fus_cr_joker_grab_foley",25.581); + level.joker soundscripts\_snd_playsound::snd_play_delayed_linked("fus_cr_joker_leave_foley",21.662); +} + +//Function Number: 155 +carter_cr_foley_start(param_00) +{ + level.carter soundscripts\_snd_playsound::snd_play_delayed_linked("fus_cr_carter_explo_run_foley",3.485); + level.carter soundscripts\_snd_playsound::snd_play_delayed_linked("fus_cr_carter_bodyfall_foley",9.776); + level.carter soundscripts\_snd_playsound::snd_play_delayed_linked("fus_cr_carter_get_up_foley",14.061); + level.carter soundscripts\_snd_playsound::snd_play_delayed_linked("fus_cr_carter_to_console_foley",16.465); + level.carter soundscripts\_snd_playsound::snd_play_delayed_linked("fus_cr_carter_pre_idle_foley",29.162); +} + +//Function Number: 156 +carter_cr_foley_idle(param_00) +{ + level.carter soundscripts\_snd_playsound::snd_play_delayed_linked("fus_cr_carter_idle_foley_01",1.103); + level.carter soundscripts\_snd_playsound::snd_play_delayed_linked("fus_cr_carter_idle_foley_02",4.974); +} + +//Function Number: 157 +start_control_room_explo() +{ + soundscripts\_audio_mix_manager::mm_add_submix("fusion_control_rm_explo"); + var_00 = aud_create_entity((7000,3540,168)); + var_00.angles = vectortoangles(var_00.origin - level.player.origin); + var_00 aud_play("fus_cntrl_rm_door_explo"); + soundscripts\_snd_playsound::snd_play_2d("fus_cntrl_rm_door_explo"); + soundscripts\_snd_playsound::snd_play_2d("cntrl_rm_door_explode_hit_chunks"); + var_00 waittill("sounddone"); + soundscripts\_audio_mix_manager::mm_clear_submix("fusion_control_rm_explo"); +} + +//Function Number: 158 +fus_burke_ctrl_rm_shoulder_ram(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("fus_control_room_exit"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("fus_burke_ctrl_rm_shoulder_ram",0.05); + wait(5); + soundscripts\_audio_mix_manager::mm_clear_submix("fus_control_room_exit"); +} + +//Function Number: 159 +start_pre_loading_bay(param_00) +{ + thread start_loading_bay_alarms(); + thread start_control_room_alarms(); + thread trigger_bomb_shake(); + if(!common_scripts\utility::flag("aud_alarm_outside_started")) + { + thread start_outside_alarm(); + } +} + +//Function Number: 160 +hangar_explo_and_debris_01() +{ + var_00 = (6564,5343,61); + var_01 = spawnstruct(); + var_01.pos = var_00; + var_01.speed_of_sound_ = 1; + var_01.duck_alias_ = "exp_generic_explo_sub_kick"; + var_01.duck_dist_threshold_ = 1000; + var_01.explo_delay_chance_ = 50; + var_01.shake_dist_threshold_ = 2000; + soundscripts\_snd_common::snd_ambient_explosion(var_01); + thread common_scripts\utility::play_sound_in_space("hangar_glass_shatter_rain",var_00); + wait(0.4); + thread common_scripts\utility::play_sound_in_space("hangar_glass_shatter_01",var_00); +} + +//Function Number: 161 +hangar_explo_and_debris_02(param_00) +{ + var_01 = param_00; + var_02 = soundscripts\_audio::aud_find_exploder(var_01); + if(isdefined(var_02)) + { + var_03 = var_02.v["origin"]; + } + + var_04 = (6480,5522,94); + var_05 = (6302,5684,-49); + var_06 = (6442,5347,4); + var_07 = (6564,5343,61); + var_08 = (6682,5600,-59); + var_09 = spawnstruct(); + var_09.pos = var_04; + var_09.speed_of_sound_ = 1; + var_09.duck_alias_ = "exp_generic_explo_sub_kick"; + var_09.duck_dist_threshold_ = 1000; + var_09.explo_delay_chance_ = 50; + var_09.shake_dist_threshold_ = 2000; + soundscripts\_snd_common::snd_ambient_explosion(var_09); + thread common_scripts\utility::play_sound_in_space("hangar_glass_shatter_rain",var_04); + wait(0.4); + thread common_scripts\utility::play_sound_in_space("hangar_glass_shatter_01",var_05); + thread common_scripts\utility::play_sound_in_space("hangar_glass_shatter_02",var_06); + wait(1.2); + thread common_scripts\utility::play_sound_in_space("hangar_glass_shatter_03",var_07); + thread common_scripts\utility::play_sound_in_space("hangar_glass_shatter_01",var_08); + thread common_scripts\utility::play_sound_in_space("hangar_glass_shatter_02",var_07); +} + +//Function Number: 162 +hangar_transport_01_away(param_00) +{ + param_00.snd_disable_vehicle_system = 1; + soundscripts\_audio_mix_manager::mm_add_submix("fusion_hangar_exit_helos",0); + param_00 soundscripts\_snd_playsound::snd_play_linked("mi17_hangar_transport_01_away"); + soundscripts\_snd_playsound::snd_play_2d("mi17_hangar_transport_01_away_2d"); + wait(6.5); + soundscripts\_audio_mix_manager::mm_clear_submix("fusion_hangar_exit_helos",0.1); + wait(1.5); + param_00.snd_disable_vehicle_system = 0; +} + +//Function Number: 163 +hangar_transport_flying_01_away(param_00) +{ + param_00.snd_disable_vehicle_system = 1; + wait(0.3); + param_00 soundscripts\_snd_playsound::snd_play_linked("mi17_hangar_transport_flying_01_away"); + wait(4.5); + param_00.snd_disable_vehicle_system = 0; +} + +//Function Number: 164 +hangar_transport_flying_02_away(param_00) +{ + param_00.snd_disable_vehicle_system = 1; + wait(0.75); + param_00 soundscripts\_snd_playsound::snd_play_linked("mi17_hangar_transport_flying_02_away"); + wait(3.7); + param_00.snd_disable_vehicle_system = 0; +} + +//Function Number: 165 +extraction_chopper_spawn() +{ + var_00 = self; + soundscripts\_audio_mix_manager::mm_add_submix("fusion_extraction_warbird",2); + var_00 thread soundscripts\_snd_common::snd_air_vehicle_smart_flyby("fus_warbird_extract_flyby",4000); + var_00 soundscripts\_snd_playsound::snd_play_linked("fus_warbird_extract_engine"); + var_00 soundscripts\_snd_playsound::snd_play_delayed_linked("fus_warbird_extract_turn",5.2); + wait(12); + var_01 = var_00 soundscripts\_snd_playsound::snd_play_loop_linked("fus_warbird_extract_chop_lp","stop_warbird_chop",undefined,undefined,0,(0,0,0)); + var_01 scalevolume(0); + var_01 thread common_scripts\utility::delaycall(0.05,::scalevolume,1,4); + level waittill("aud_extract_warbird_move"); + var_00 soundscripts\_snd_playsound::snd_play_linked("fus_warbird_extract_move"); + var_01 scalevolume(0,5); + wait(5.05); + level notify("stop_warbird_chop"); +} + +//Function Number: 166 +extraction_chopper_move() +{ + level notify("aud_extract_warbird_move"); + soundscripts\_snd::snd_music_message("mus_pre_tower_collapse_build"); +} + +//Function Number: 167 +building_explode(param_00) +{ + thread common_scripts\utility::play_sound_in_space("building_explode",param_00); + var_01 = spawnstruct(); + var_01.pos = param_00; + var_01.speed_of_sound_ = 1; + var_01.duck_alias_ = "exp_generic_explo_sub_kick"; + var_01.duck_dist_threshold_ = 1000; + var_01.explo_delay_chance_ = 40; + var_01.explo_tail_alias_ = "exp_generic_explo_tail"; + var_01.shake_dist_threshold_ = 1800; + var_01.explo_debris_alias_ = "exp_debris_mixed"; + var_01.ground_zero_alias_ = "exp_grnd_zero_rock_tear"; + var_01.ground_zero_dist_threshold_ = 500; + soundscripts\_snd_common::snd_ambient_explosion(var_01); +} + +//Function Number: 168 +pressure_explosion(param_00) +{ + var_01 = param_00; + var_02 = soundscripts\_audio::aud_find_exploder(var_01); + if(isdefined(var_02)) + { + var_03 = var_02.v["origin"]; + var_04 = spawnstruct(); + var_04.pos = var_03; + var_04.speed_of_sound_ = 1; + var_04.duck_alias_ = "exp_generic_explo_sub_kick"; + var_04.duck_dist_threshold_ = 1000; + var_04.explo_delay_chance_ = 40; + var_04.explo_tail_alias_ = "exp_generic_explo_tail"; + var_04.shake_dist_threshold_ = 1800; + var_04.explo_debris_alias_ = "exp_debris_mixed"; + var_04.ground_zero_alias_ = "exp_grnd_zero_rock_tear"; + var_04.ground_zero_dist_threshold_ = 500; + soundscripts\_snd_common::snd_ambient_explosion(var_04); + } +} + +//Function Number: 169 +fus_truck_flip_01(param_00) +{ + var_01 = param_00; + var_02 = soundscripts\_audio::aud_find_exploder(var_01); + if(isdefined(var_02)) + { + var_03 = var_02.v["origin"]; + var_04 = soundscripts\_snd_playsound::snd_play_2d("fus_truck_flip_exp"); + var_05 = soundscripts\_snd_playsound::snd_play_2d("fus_truck_flip_exp_lfe_big"); + thread common_scripts\utility::play_sound_in_space("fus_truck_flip_exp_debris",var_03); + var_06 = (9681,9270,-12); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("air_pressure_leak_large",var_06,"air_pressure_truck_flip_01"); + wait(0.65); + var_07 = (10201,8959,75); + thread common_scripts\utility::play_sound_in_space("fus_truck_flip_impact",var_07); + } +} + +//Function Number: 170 +fus_truck_flip_02(param_00) +{ + var_01 = param_00; + var_02 = soundscripts\_audio::aud_find_exploder(var_01); + if(isdefined(var_02)) + { + var_03 = var_02.v["origin"]; + thread common_scripts\utility::play_sound_in_space("fus_truck_flip_02_exp",var_03); + var_04 = soundscripts\_snd_playsound::snd_play_2d("fus_truck_flip_exp_lfe_big"); + thread common_scripts\utility::play_sound_in_space("fus_truck_flip_exp_debris",var_03); + var_05 = (11578,9038,-52); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("air_pressure_leak_large",var_03,"air_pressure_truck_flip_02"); + wait(0.8); + var_06 = (11544,8868,18); + thread common_scripts\utility::play_sound_in_space("fus_truck_flip_02_impact",var_06); + } +} + +//Function Number: 171 +start_gaz_02_retreat(param_00) +{ + param_00.snd_disable_vehicle_system = 1; + level.aud.gaz_02 = aud_create_linked_entity(param_00); + level.aud.gaz_02 aud_play("veh_gaz_tigr_pull_away_fusion_01"); + wait(4.5); + param_00.snd_disable_vehicle_system = 0; +} + +//Function Number: 172 +start_gaz_03_retreat(param_00) +{ + param_00.snd_disable_vehicle_system = 1; + level.aud.gaz_03 = aud_create_linked_entity(param_00); + level.aud.gaz_03 aud_play("veh_gaz_tigr_pull_away_fusion_02"); + wait(5); + param_00.snd_disable_vehicle_system = 0; +} + +//Function Number: 173 +tower_collapse_prep() +{ + soundscripts\_audio_mix_manager::mm_add_submix("fusion_tower_collapse",0.05); + soundscripts\_snd::snd_music_message("mus_tower_collapse_start"); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_tower_explo_shot_12",0.104); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_tower_explo_shot_08",0.382); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_tower_explo_shot_06",0.687); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_tower_explo_shot_07",0.837); +} + +//Function Number: 174 +tower_collapse_start() +{ + soundscripts\_snd_playsound::snd_play_2d("fus_tower_explo_sweet_lfe"); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_tower_big_boom",0.13); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_tower_bass_dive",0.394); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_tower_1st_wave_rubble",1.445); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_tower_rip_whoosh_front",1.888); +} + +//Function Number: 175 +tower_collapse_player_stumble() +{ + thread tower_collapse_dialog(); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_tower_1st_wave_debris_front",0.538); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_tower_chunk_impacts",6.138); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_tower_chunk_impact_left",8.458); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_tower_chunk_impact_right",11.612); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_tower_2nd_wave_rvrs_rubble",14.946); + wait(3.616); + var_00 = spawn("script_origin",level.player.origin); + var_00 playsound("fus_tower_rock_rips_front"); + wait(4); + wait(3.565); + var_01 = spawn("script_origin",level.player.origin); + var_01 playsound("fus_tower_2nd_wave_debris_front"); +} + +//Function Number: 176 +tower_collapse_dialog() +{ + soundscripts\_snd_filters::snd_fade_in_filter("fus_tower_collapse_800",3); + wait(1.733); + maps\fusion_vo::radio_dialogue_queue_global("fus_ch1_bravodoyoucopy"); + soundscripts\_snd_filters::snd_fade_out_filter(2.35); + level.burke maps\fusion_vo::dialogue_queue_global("fus_gdn_keepmovingkeepmoving"); + soundscripts\_snd_filters::snd_fade_in_filter("fus_tower_collapse_800",0.05); + wait(0.5); + wait(3.9); + soundscripts\_snd_filters::snd_fade_out_filter(0.05); + wait(0.6); + maps\fusion_vo::radio_dialogue_queue_global("fus_jkr_itscomingdown"); + soundscripts\_snd_filters::snd_fade_in_filter("fus_tower_collapse_800",0.05); + wait(1.1); + maps\fusion_vo::radio_dialogue_queue_global("fus_jkr_wherescarterwherescarter"); + soundscripts\_snd_filters::snd_fade_out_filter(0.05); + wait(0.15); + soundscripts\_snd_filters::snd_fade_in_filter("fus_tower_collapse_1000",0.05); + maps\fusion_vo::radio_dialogue_queue_global("fus_ch1_bravotakecover"); + soundscripts\_snd::snd_music_message("mus_pre_ending"); + soundscripts\_snd_filters::snd_fade_out_filter(0.05); +} + +//Function Number: 177 +tower_collapse_player_knockback() +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_tower_teleport_impact",4.102); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_tower_end_burk_debris",14.965); + wait(1.178); + thread soundscripts\_snd::snd_music_message("mus_tower_collapse_ending_guitar"); + wait(10); + soundscripts\_audio_mix_manager::mm_clear_submix("fusion_tower_collapse",4); + wait(3.822); + wait(2.818); + var_00 = spawn("script_origin",level.player.origin); + var_00 playsound("fus_tower_filtered_warbird_front"); +} + +//Function Number: 178 +silo_collapse_plr_stunned() +{ + var_00 = 6; + soundscripts\_snd_filters::snd_fade_in_filter("fus_silo_collapse_plr_stunned",var_00); + wait(3); + var_01 = spawn("script_origin",(0,0,0)); + var_01 soundscripts\_snd_playsound::snd_play_loop_linked("fus_end_heartbeat",undefined,4,undefined,1); + wait(3); + soundscripts\_audio_mix_manager::mm_add_submix("fusion_silo_collapse_plr_stunned",6); +} + +//Function Number: 179 +fusion_silo_collapse_warbird() +{ + wait(13.75); + soundscripts\_snd_playsound::snd_play_2d("fus_tower_warbird_flyover"); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_tower_warbird_landing",1.05); +} + +//Function Number: 180 +fus_outro_burke_foley() +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_out_burke_foley_01",10.8); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_out_burke_foley_02",16.2); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_out_burke_foley_03",20); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_out_burke_foley_04",22.15); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_out_burke_foley_05",22.8); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_out_burke_foley_06",26.87); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_out_burke_foley_07",31.93); + soundscripts\_snd_playsound::snd_play_delayed_2d("fus_out_burke_foley_08",38.52); +} + +//Function Number: 181 +ending_fade_out(param_00) +{ +} + +//Function Number: 182 +fusion_endlogo() +{ + soundscripts\_snd_playsound::snd_play_2d("fus_end_logo"); + soundscripts\_audio_mix_manager::mm_add_submix("fusion_end_logo",12); +} + +//Function Number: 183 +snd_music_handler(param_00) +{ + switch(param_00) + { + case "mus_fusion_intro": + wait(3); + soundscripts\_audio::aud_set_music_submix(0.9,0); + soundscripts\_audio_music::mus_play("mus_fus_fly_in_intro",0); + wait(2); + soundscripts\_audio::aud_set_music_submix(0.65,6); + break; + + case "mus_fusion_crest_hill": + soundscripts\_audio::aud_set_music_submix(0,4); + break; + + case "mus_fusion_first_contact": + soundscripts\_audio::aud_set_music_submix(1,0); + soundscripts\_audio_music::mus_play("mus_fus_fly_in_first_contact",0,3); + wait(15); + soundscripts\_audio::aud_set_music_submix(0.75,10); + wait(15); + soundscripts\_audio::aud_set_music_submix(0.5,10); + break; + + case "mus_combat_zip_rooftop_complete": + soundscripts\_audio_music::mus_stop(15); + level notify("aud_roof_combat_complete"); + wait(15); + soundscripts\_audio::aud_set_music_submix(1,0); + break; + + case "mus_fusion_welcome_to_the_party": + soundscripts\_audio::aud_set_music_submix(1,0); + break; + + case "mus_fusion_pressure_readings_critical": + soundscripts\_audio::aud_set_music_submix(0.3,0.05); + wait(0.1); + soundscripts\_audio_music::mus_play("mus_fus_pressure_readings_critical",0,3); + soundscripts\_audio::aud_set_music_submix(1,30); + break; + + case "mus_tower_collapse_start": + soundscripts\_audio_music::mus_stop(0.5); + break; + + case "mus_pre_ending": + wait(2); + soundscripts\_audio::aud_set_music_submix(1.2,0.05); + soundscripts\_audio_music::mus_play("mus_fus_pre_outro",3); + break; + + case "mus_ending": + wait(14); + soundscripts\_audio::aud_set_music_submix(1,0.05); + soundscripts\_audio_music::mus_play("mus_fus_outro",0.5); + break; + + default: + soundscripts\_audio::aud_print_warning("\tMUSIC MESSAGE NOT HANDLED: " + param_00); + break; + } +} + +//Function Number: 184 +intro_fly_in_vo() +{ + wait(2.5); + maps\_utility::radio_dialogue_queue("fus_ch2_copytwothreewehavea"); +} + +//Function Number: 185 +intro_fly_in_part2_vo() +{ + level waittill("aud_start_fusion_fly_in_intro_vo_done"); + wait(6.8); + maps\_utility::radio_dialogue_queue("fus_ch3_disengagingstealth"); + wait(2.25); + maps\_utility::radio_dialogue_queue("fus_ch3_twothreeunderstandwearestill"); + maps\_utility::radio_dialogue_queue("fus_ch1_negativeonthatrestrictedroe"); + level waittill("aud_start_fusion_fly_in_pt2_vo_done"); + wait(7.12); + maps\_utility::radio_dialogue_queue("fus_ch1_twofourwevegotasam"); + wait(0.37); + thread maps\_utility::radio_dialogue("fus_ch1_contactcontactdeployingswarmcountermeasures"); + wait(2.34); + level.burke thread maps\_utility::dialogue_queue("fus_gdn_holdon"); + wait(1); + maps\_utility::radio_dialogue_queue("fus_ch3_wraithtwothreewerehitwere"); +} + +//Function Number: 186 +intro_fly_in_post_crash_vo() +{ + maps\_utility::radio_dialogue_queue("fus_ch1_twofourisdowntwofouris"); + maps\_utility::radio_dialogue_queue("fus_ch1_twofivebreakpositionandprovide"); + wait(0.15); + maps\_utility::radio_dialogue_queue("fus_ch4_copythattwothree"); + wait(0.58); + common_scripts\utility::flag_set("flag_rooftop_combat_dialogue"); +} + +//Function Number: 187 +monitor_2d_reverb_volume() +{ + self endon("sounddone"); + for(;;) + { + self scalevolume(level.aud.reverb_alarm_volume,level.aud.reverb_alarm_volume_update_rate); + wait(level.aud.reverb_alarm_volume_update_rate); + } +} + +//Function Number: 188 +play_2d_reverb_alarm_sound() +{ + var_00 = spawn("script_origin",(0,0,0)); + var_00 playsound("alarm_horn_1shot_verb_ver_04","sounddone"); + var_00 thread monitor_2d_reverb_volume(); + var_00 waittill("sounddone"); + var_00 stopsounds(); + wait(0.05); + var_00 delete(); +} + +//Function Number: 189 +trigger_alarm_on_street_combat_started() +{ + wait(1); + common_scripts\utility::flag_wait("street_combat_start"); + start_outside_alarm(); +} + +//Function Number: 190 +start_outside_alarm() +{ + common_scripts\utility::flag_set("aud_alarm_outside_started"); + var_00 = 3; + var_01 = [(-505,-3395,0),(-1408,608,1),(7984,8323,48)]; + thread alarm_reverb_distance_mix(var_01); + for(;;) + { + if(common_scripts\utility::flag("aud_alarm_outside_enabled")) + { + for(var_02 = 0;var_02 < var_01.size;var_02++) + { + thread common_scripts\utility::play_sound_in_space("alarm_horn_1shot_ver_04",var_01[var_02]); + } + + thread play_2d_reverb_alarm_sound(); + } + + wait(var_00); + } +} + +//Function Number: 191 +alarm_reverb_distance_mix(param_00) +{ + wait(0.05); + var_01 = param_00[0]; + for(;;) + { + if(common_scripts\utility::flag("aud_alarm_outside_enabled")) + { + var_02 = distance(level.player.origin,var_01); + for(var_03 = 0;var_03 < param_00.size;var_03++) + { + var_04 = distance(level.player.origin,param_00[var_03]); + if(var_04 < var_02) + { + var_01 = param_00[var_03]; + var_02 = var_04; + } + } + + var_05 = distance(level.player.origin,var_01); + level.aud.reverb_alarm_volume = soundscripts\_snd::snd_map(var_05,level.aud.envs["alarm_verb_level_over_distance"]); + } + + wait(level.aud.reverb_alarm_volume_update_rate); + } +} + +//Function Number: 192 +trigger_courtyard_point_sounds() +{ +} + +//Function Number: 193 +start_control_room_alarms() +{ + level endon("notify_out_of_loading_bay"); + if(!level.aud.control_room_buzzer_started) + { + level.aud.control_room_buzzer_started = 1; + for(;;) + { + thread common_scripts\utility::play_sound_in_space("alarm_buzzer_control_room_3",(5444,4390,220)); + thread common_scripts\utility::play_sound_in_space("alarm_buzzer_control_room_3",(5144,4641,220)); + wait(1.2); + } + } +} + +//Function Number: 194 +trigger_control_room_gas_leak() +{ + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("air_pressure_leak_large",(5002,4713,400),"air_pressure_control_room",600,1); +} + +//Function Number: 195 +start_fire_steam_loops() +{ + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("fire_gas_large",(6604,6221,80),"gas_fire_loading_bay_left",600,1); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("air_pressure_leak_large",(6212,5834,50),"air_pressure_leak_left1",600,1); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("air_pressure_leak_large",(6844,6428,50),"air_pressure_leak_left2",600,1); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("air_pressure_leak_large",(6922,5828,0),"air_pressure_leak_middle",600,1); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("air_pressure_leak_large",(7124,5602,260),"air_pressure_leak_right_high",600,1); +} + +//Function Number: 196 +start_loading_bay_alarms() +{ + for(;;) + { + thread common_scripts\utility::play_sound_in_space("alarm_buzzer_inside_1shot_ver_02",(6372,5827,100)); + thread common_scripts\utility::play_sound_in_space("alarm_buzzer_inside_1shot_ver_02",(7576,6047,100)); + wait(2); + } +} + +//Function Number: 197 +start_looping_intro_alarm_sounds() +{ + if(level.currentgen && !istransientloaded("fusion_intro_tr")) + { + return; + } + + common_scripts\utility::loop_fx_sound("alarm_small_outside_loop_ver_05",(-2733,-219,60),1,"aud_stop_intro_alarms"); + common_scripts\utility::loop_fx_sound("alarm_small_outside_loop_ver_03",(-2827,-3112,61),1,"aud_stop_intro_alarms"); + common_scripts\utility::loop_fx_sound("alarm_small_outside_loop_ver_01",(-3192,1426,61),1,"aud_stop_intro_alarms"); + level.aud.security_building_entrance = aud_create_entity((-200,3012,154)); + level.aud.security_building_entrance aud_fade_in("alarm_small_outside_loop_ver_05",1,1); + if(level.currentgen) + { + level waittill("tff_pre_transition_intro_to_middle"); + level notify("aud_stop_intro_alarms"); + } +} + +//Function Number: 198 +start_looping_outro_alarm_sounds() +{ + if(level.currentgen && !istransientloaded("fusion_outro_tr")) + { + level waittill("tff_post_transition_middle_to_outro"); + } + + common_scripts\utility::loop_fx_sound("alarm_inside_ver_02",(5574,4255,406),1); + common_scripts\utility::loop_fx_sound("alarm_inside_ver_02",(5156,4634,406),1); + common_scripts\utility::loop_fx_sound("alarm_inside_ver_02",(5879,4882,406),1); +} + +//Function Number: 199 +do_inside_bombshake() +{ + var_00 = spawn("script_origin",level.player.origin); + var_00 playsound("bomb_explo_shakes","sounddone"); + level thread maps\fusion_fx::dust_falling_control_room(); + earthquake(0.3,3,level.player.origin,850); + var_00 waittill("sounddone"); + var_00 stopsounds(); + wait(0.05); + var_00 delete(); +} + +//Function Number: 200 +trigger_bomb_shake() +{ + level endon("notify_out_of_control_room"); + if(level.aud.bomb_shakes) + { + return; + } + + level.aud.bomb_shakes = 1; + var_00 = randomintrange(10,11); + for(;;) + { + wait(var_00); + var_00 = randomintrange(10,20); + thread do_inside_bombshake(); + } +} + +//Function Number: 201 +audio_monitor_chopper01_death() +{ + self waittill("death"); + if(isdefined(level.aud.chopper_01_dist_lp)) + { + level.aud.chopper_01_dist_lp aud_fade_out(0.1); + level.aud.chopper_01_dist_lp = undefined; + } + + if(isdefined(level.aud.chopper_01_by_in)) + { + level.aud.chopper_01_by_in aud_fade_out(0.1); + level.aud.chopper_01_by_in = undefined; + } + + if(isdefined(level.aud.chopper_01_close_lp)) + { + level.aud.chopper_01_close_lp aud_fade_out(0.1); + level.aud.chopper_01_close_lp = undefined; + } + + if(isdefined(level.aud.chopper_01_wind_up)) + { + level.aud.chopper_01_wind_up aud_fade_out(0.1); + level.aud.chopper_01_wind_up = undefined; + } + + if(isdefined(level.aud.chopper_01_away_by)) + { + level.aud.chopper_01_away_by aud_fade_out(0.1); + level.aud.chopper_01_away_by = undefined; + } +} + +//Function Number: 202 +audio_monitor_chopper02_death(param_00) +{ + self waittill("death"); + if(isdefined(level.aud.chopper_02_dist_lp)) + { + level.aud.chopper_02_dist_lp aud_fade_out(0.1); + level.aud.chopper_02_dist_lp = undefined; + } + + if(isdefined(level.aud.chopper_02_by_in)) + { + level.aud.chopper_02_by_in aud_fade_out(0.1); + level.aud.chopper_02_by_in = undefined; + } + + if(isdefined(level.aud.chopper_02_close_lp)) + { + level.aud.chopper_02_close_lp aud_fade_out(0.1); + level.aud.chopper_02_close_lp = undefined; + } + + if(isdefined(level.aud.chopper_02_wind_up)) + { + level.aud.chopper_02_wind_up aud_fade_out(0.1); + level.aud.chopper_02_wind_up = undefined; + } + + if(isdefined(level.aud.chopper_02_away_by)) + { + level.aud.chopper_02_away_by aud_fade_out(0.1); + level.aud.chopper_02_away_by = undefined; + } +} + +//Function Number: 203 +aud_play(param_00,param_01) +{ + var_02 = 0; + if(isdefined(param_01)) + { + var_02 = param_01; + } + + if(var_02) + { + self playloopsound(param_00); + return; + } + + self playsound(param_00,"sounddone"); + aud_delete_on_sounddone(); +} + +//Function Number: 204 +aud_fade_in(param_00,param_01,param_02) +{ + var_03 = 0; + if(isdefined(param_02)) + { + var_03 = param_02; + } + + if(var_03) + { + self playloopsound(param_00); + } + else + { + self playsound(param_00,"sounddone"); + aud_delete_on_sounddone(); + } + + if(param_01 > 0) + { + thread audx_fade_in_internal(param_01); + } +} + +//Function Number: 205 +audx_fade_in_internal(param_00) +{ + self scalevolume(0); + wait(0.05); + if(!isdefined(self)) + { + return; + } + + self scalevolume(1,param_00); +} + +//Function Number: 206 +aud_fade_out(param_00) +{ + thread audx_fade_out_internal(param_00); +} + +//Function Number: 207 +audx_fade_out_internal(param_00) +{ + self scalevolume(0,param_00); + wait(param_00 + 0.05); + if(!isdefined(self)) + { + return; + } + + self stopsounds(); + self stoploopsound(); + wait(0.05); + if(!isdefined(self)) + { + return; + } + + self delete(); +} + +//Function Number: 208 +aud_delete_on_sounddone() +{ + thread audx_delete_on_sounddone_internal(); +} + +//Function Number: 209 +audx_delete_on_sounddone_internal() +{ + self endon("death"); + self waittill("sounddone"); + if(!isdefined(self)) + { + return; + } + + self delete(); +} + +//Function Number: 210 +aud_play_distance_attenuated_2d(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = 1; + if(isdefined(param_03)) + { + var_05 = param_03; + } + + aud_play(param_00,param_04); + thread audx_play_distance_attenuated_2d_internal(param_01,param_02,var_05); +} + +//Function Number: 211 +audx_play_distance_attenuated_2d_internal(param_00,param_01,param_02) +{ + self endon("death"); + self endon("aud_stop_distance_attenuation"); + while(isdefined(self)) + { + var_03 = distance(self.origin,level.player.origin); + var_04 = audx_attenuate(var_03,param_00,param_01,param_02); + self scalevolume(var_04); + wait(0.05); + } +} + +//Function Number: 212 +audx_attenuate(param_00,param_01,param_02,param_03) +{ + param_00 = max(param_00,param_01); + if(param_00 > param_02) + { + return 0; + } + + var_04 = param_01 / param_01 + param_03 * param_00 - param_01; + return var_04; +} + +//Function Number: 213 +aud_create_entity(param_00) +{ + return spawn("script_origin",param_00); +} + +//Function Number: 214 +aud_create_linked_entity(param_00,param_01) +{ + var_02 = spawn("script_origin",param_00.origin); + if(isdefined(param_01)) + { + var_02 linkto(param_00,"",param_01,(0,0,0)); + } + else + { + var_02 linkto(param_00); + } + + return var_02; +} \ No newline at end of file diff --git a/AW/PC/maps/fusion_code.gsc b/AW/PC/maps/fusion_code.gsc new file mode 100644 index 0000000..ead48a0 --- /dev/null +++ b/AW/PC/maps/fusion_code.gsc @@ -0,0 +1,9949 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: fusion_code.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 399 + * Decompile Time: 5965 ms + * Timestamp: 4/22/2024 2:30:02 AM +*******************************************************************/ + +//Function Number: 1 +fusion_intro_screen() +{ + level.player freezecontrols(1); + thread fusion_intro_background(8.3 + level.intro_hades_video_length,5); + thread fusion_intro_title_text(); + common_scripts\utility::flag_set("intro_screen_done"); + common_scripts\utility::flag_set("introscreen_complete"); + wait(11 + level.intro_hades_video_length); + level.player freezecontrols(0); +} + +//Function Number: 2 +fusion_intro_title_text() +{ + setsaveddvar("cg_cinematicfullscreen","1"); + maps\_shg_utility::play_chyron_video("chyron_text_fusion"); + var_00 = getdvarint("cg_cinematicCanPause",0); + setsaveddvar("cg_cinematicCanPause",1); + cinematicingame("fusion_videolog02"); + wait 0.05; + while(!iscinematicplaying()) + { + wait 0.05; + } + + fusion_intro_hades_videolog_vo(); + setsaveddvar("cg_cinematicCanPause",var_00); + common_scripts\utility::flag_set("intro_text_cinematic_over"); +} + +//Function Number: 3 +fusion_intro_hades_videolog_vo() +{ + var_00 = spawn("script_origin",level.player.origin); + var_00 playscheduledcinematicsound(106,"fus_hade_peopleoftheworldyou"); + var_00 playscheduledcinematicsound(269,"fus_hade_technologyisacancerrotting"); + var_00 playscheduledcinematicsound(595,"fus_hade_todaywestrikeatthe"); + wait(1); + while(iscinematicplaying()) + { + wait 0.05; + } + + var_00 delete(); +} + +//Function Number: 4 +fusion_intro_background(param_00,param_01) +{ + var_02 = newclienthudelem(level.player); + var_02 setshader("black",1280,720); + var_02.horzalign = "fullscreen"; + var_02.vertalign = "fullscreen"; + var_02.alpha = 1; + var_02.foreground = 0; + wait(param_00); + var_02 fadeovertime(param_01); + var_02.alpha = 0; + wait(param_01); + var_02 destroy(); +} + +//Function Number: 5 +gameplay_setup() +{ + maps\_variable_grenade::main(); + vehicle_scripts\_pdrone_tactical_picker::main(); + maps\_stingerm7::init(); + maps\_player_exo::player_exo_add_single("high_jump"); + if(level.nextgen) + { + thread hide_water(); + } + + thread setup_m_turret(); + thread setup_spawn_functions(); + thread finale_enemy_transports(); + thread finale_enemy_gaz(); + thread reactor_entrance_rally(); + thread interior_gameplay(); + thread evacuation_setup(); + thread setup_evacuation_scene(); + thread extraction_chopper(); + thread cooling_tower_collapse(); + if(level.currentgen) + { + thread mobile_cover_drones_cg(); + } + + thread setup_dont_leave_failure(); + thread setup_dont_leave_hint(); + maps\_utility::add_hint_string("hint_dont_leave_mission",&"FUSION_DONT_LEAVE",::should_break_dont_leave); +} + +//Function Number: 6 +setup_spawn_functions() +{ + maps\_utility::array_spawn_function_noteworthy("enemy_street_wave_01",::street_enemy_think); + maps\_utility::array_spawn_function_noteworthy("enemy_street_wave_02",::street_enemy_think); + maps\_utility::array_spawn_function_noteworthy("enemy_street_turret_wave_2",::street_enemy_think); + maps\_utility::array_spawn_function_noteworthy("enemy_street_wave_rear_mi17_01",::street_enemy_think); + if(level.nextgen) + { + maps\_utility::array_spawn_function_noteworthy("enemy_street_wave_03",::street_enemy_building_east_think); + } + + maps\_utility::array_spawn_function_noteworthy("enemy_street_wave_04",::street_enemy_building_west_think); + maps\_utility::array_spawn_function_noteworthy("enemy_street_zip_rooftop",::rooftop_enemy_think); + maps\_utility::array_spawn_function_noteworthy("enemy_street_zip_rooftop_strafe",::rooftop_enemy_think); + maps\_utility::array_spawn_function_noteworthy("enemy_street_tank_stage_01",::street_enemy_tank_battle_think); + maps\_utility::array_spawn_function_noteworthy("enemy_street_tank_stage_02",::street_enemy_tank_battle_think); + maps\_utility::array_spawn_function_noteworthy("enemy_street_tank_stage_03",::street_enemy_tank_battle_think); + maps\_utility::array_spawn_function_noteworthy("enemy_street_turret_wave_1",::street_enemy_tank_damaged_think); + maps\_utility::array_spawn_function_noteworthy("enemy_street_turret_wave_2",::street_enemy_tank_damaged_think); + maps\_utility::array_spawn_function_noteworthy("enemy_street_blown_building",::street_enemy_blown_building_think); + if(level.currentgen) + { + maps\_utility::array_spawn_function_noteworthy("enemy_street_zip_rooftop_left",::rooftop_enemy_think_left); + maps\_utility::array_spawn_function_noteworthy("enemy_street_zip_rooftop_right",::rooftop_enemy_think_right); + } + + maps\_utility::array_spawn_function_noteworthy("turbine_room_enemy",::turbine_room_enemy_think); + common_scripts\utility::array_thread(getentarray("corpse_trigger","targetname"),::corpse_trigger_think); + maps\_utility::array_spawn_function_noteworthy("enemy_street_wave_rear",::street_enemy_think); + maps\_utility::array_spawn_function_noteworthy("rpg_vehicle",::postspawn_rpg_vehicle); + maps\_utility::array_spawn_function_targetname("hangar_enemies_01",::hangar_enemy_think); + maps\_utility::add_global_spawn_function("allies",::disable_badplace_for_red_guys); + maps\_utility::add_global_spawn_function("allies",::ally_enable_boost_traversals); + maps\_utility::array_spawn_function_noteworthy("evacuation_first_drones",::evacuation_first_drones_think); + thread enemy_combat_equip_microwave_grenades(); + maps\_utility::add_global_spawn_function("axis",::detect_turret_death); + maps\_utility::add_global_spawn_function("axis",::maps\_chargeable_weapon::ai_detect_charged_damage); +} + +//Function Number: 7 +tff_cleanup_vehicle(param_00) +{ + switch(param_00) + { + case "intro": + level waittill("tff_pre_transition_intro_to_middle"); + break; + + case "middle": + level waittill("tff_pre_transition_middle_to_outro"); + break; + } + + if(isdefined(self)) + { + if(maps\_vehicle::isvehicle()) + { + self freevehicle(); + } + + self delete(); + } +} + +//Function Number: 8 +setup_dont_leave_failure() +{ + common_scripts\utility::flag_wait("player_left_map"); + level notify("mission failed"); + setdvar("ui_deadquote",&"FUSION_DONT_LEAVE_FAILURE"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 9 +setup_dont_leave_hint() +{ + level endon("mission failed"); + for(;;) + { + common_scripts\utility::flag_wait("player_leaving_map"); + maps\_utility::display_hint("hint_dont_leave_mission"); + common_scripts\utility::flag_wait_either("player_leaving_map","player_returning_to_map"); + wait 0.05; + } +} + +//Function Number: 10 +should_break_dont_leave() +{ + if(common_scripts\utility::flag("missionfailed")) + { + return 1; + } + + if(common_scripts\utility::flag("player_returning_to_map")) + { + return 1; + } + + return 0; +} + +//Function Number: 11 +mobile_cover_drones_cg() +{ + if(level.start_point != "fly_in_animated" && level.start_point != "fly_in_animated_part2" && level.start_point != "courtyard") + { + return; + } + + var_00 = getentarray("mobile_cover_drones","targetname"); + var_01 = []; + foreach(var_03 in var_00) + { + var_01[var_01.size] = var_03 maps\_utility::spawn_vehicle(); + } + + level waittill("tff_pre_transition_intro_to_middle"); + common_scripts\utility::array_call(var_01,::delete); +} + +//Function Number: 12 +heroes_post_zip() +{ + if(level.nextgen) + { + var_00 = getent("hero_alpha_leader","script_noteworthy"); + var_00 maps\_utility::add_spawn_function(::alpha_leader_think); + level.alpha_leader = var_00 maps\_utility::spawn_ai(1); + level.alpha_leader.animname = "alpha_leader"; + level.alpha_leader maps\_utility::magic_bullet_shield(1); + } + + level.carter unlink(); + level.carter maps\_utility::teleport_ent(common_scripts\utility::getstruct("carter_zip_dest","targetname")); + level.carter maps\_utility::disable_ai_color(); + level.carter maps\_utility::enable_sprint(); + level.carter maps\_utility::gun_recall(); + level.carter show(); + level.joker unlink(); + level.joker maps\_utility::teleport_ent(common_scripts\utility::getstruct("joker_zip_dest","targetname")); + level.joker maps\_utility::gun_recall(); + level.joker show(); +} + +//Function Number: 13 +alpha_leader_think() +{ + common_scripts\utility::flag_wait("flag_walker_destroyed"); + level.alpha_leader maps\_utility::set_force_color("y"); +} + +//Function Number: 14 +ally_enable_boost_traversals() +{ + self.canjumppath = 1; +} + +//Function Number: 15 +disable_badplace_for_red_guys() +{ + if(!isdefined(self.script_forcecolor) || self.script_forcecolor != "r") + { + return; + } + + thread maps\fusion_utility::ignore_badplace(undefined,"flag_mt_wall_rpg_impact"); +} + +//Function Number: 16 +objectives() +{ + thread set_obj_markers_current(); + obj_shut_down_reactor(); + obj_escape(); +} + +//Function Number: 17 +obj_shut_down_reactor() +{ + if(!common_scripts\utility::flag("flag_intro_objective_given")) + { + maps\_utility::flag_set_delayed("flag_intro_objective_given",33 + level.intro_hades_video_length); + common_scripts\utility::flag_wait("flag_intro_objective_given"); + } + + objective_add(maps\_utility::obj("shutdown_reactor"),"active",&"FUSION_OBJECTIVE_REACTOR"); + objective_current(maps\_utility::obj("shutdown_reactor")); + objective_position(maps\_utility::obj("shutdown_reactor"),getent("obj_reactor_01","targetname").origin); + common_scripts\utility::flag_wait("update_obj_pos_walker"); + if(isdefined(level.walker)) + { + objective_setpointertextoverride(maps\_utility::obj("shutdown_reactor"),&"FUSION_OBJECTIVE_WALKER"); + var_00 = common_scripts\utility::spawn_tag_origin(); + var_00 linkto(level.walker,"tag_camera",(0,0,-24),(0,0,0)); + objective_onentity(maps\_utility::obj("shutdown_reactor"),var_00,(0,0,0)); + common_scripts\utility::flag_wait("flag_walker_destroyed"); + objective_setpointertextoverride(maps\_utility::obj("shutdown_reactor"),""); + var_00 delete(); + } + + common_scripts\utility::flag_wait("update_obj_pos_security_entrance_1"); + objective_position(maps\_utility::obj("shutdown_reactor"),common_scripts\utility::getstruct("obj_pos_security_entrance_1","targetname").origin); + common_scripts\utility::flag_wait("update_obj_pos_security_entrance_2"); + objective_position(maps\_utility::obj("shutdown_reactor"),common_scripts\utility::getstruct("obj_pos_security_entrance_2","targetname").origin); + common_scripts\utility::flag_wait("update_obj_pos_security_room"); + objective_position(maps\_utility::obj("shutdown_reactor"),common_scripts\utility::getstruct("obj_pos_security_room","targetname").origin); + common_scripts\utility::flag_wait("update_obj_pos_security_elevator_burke"); + if(isdefined(level.burke)) + { + objective_onentity(maps\_utility::obj("shutdown_reactor"),level.burke); + } + + common_scripts\utility::flag_wait("update_obj_pos_security_elevator"); + objective_position(maps\_utility::obj("shutdown_reactor"),common_scripts\utility::getstruct("obj_pos_security_elevator","targetname").origin); + common_scripts\utility::flag_wait("update_obj_pos_elevator_descent"); + objective_position(maps\_utility::obj("shutdown_reactor"),(0,0,0)); + common_scripts\utility::flag_wait("update_obj_pos_lab_follow_joker"); + if(isdefined(level.joker)) + { + objective_onentity(maps\_utility::obj("shutdown_reactor"),level.joker); + } + + common_scripts\utility::flag_wait("update_obj_pos_lab_follow_burke"); + if(isdefined(level.burke)) + { + objective_onentity(maps\_utility::obj("shutdown_reactor"),level.burke); + } + + common_scripts\utility::flag_wait("update_obj_pos_lab_follow_carter"); + if(isdefined(level.carter)) + { + objective_onentity(maps\_utility::obj("shutdown_reactor"),level.carter); + } + + common_scripts\utility::flag_wait("update_obj_pos_reactor_1"); + objective_position(maps\_utility::obj("shutdown_reactor"),common_scripts\utility::getstruct("obj_pos_reactor_1","targetname").origin); + common_scripts\utility::flag_wait("update_obj_pos_reactor_2"); + objective_position(maps\_utility::obj("shutdown_reactor"),common_scripts\utility::getstruct("obj_pos_reactor_2","targetname").origin); + common_scripts\utility::flag_wait("update_obj_pos_reactor_exit"); + objective_position(maps\_utility::obj("shutdown_reactor"),common_scripts\utility::getstruct("obj_pos_reactor_exit","targetname").origin); + common_scripts\utility::flag_wait("update_obj_pos_reactor_storage_1"); + objective_position(maps\_utility::obj("shutdown_reactor"),common_scripts\utility::getstruct("obj_pos_reactor_storage_1","targetname").origin); + common_scripts\utility::flag_wait("update_obj_pos_reactor_storage_2"); + objective_position(maps\_utility::obj("shutdown_reactor"),common_scripts\utility::getstruct("obj_pos_reactor_storage_2","targetname").origin); + common_scripts\utility::flag_wait("update_obj_pos_turbine_elevator"); + objective_position(maps\_utility::obj("shutdown_reactor"),common_scripts\utility::getstruct("obj_pos_turbine_elevator","targetname").origin); + common_scripts\utility::flag_wait("update_obj_pos_turbine_elevator_button"); + objective_position(maps\_utility::obj("shutdown_reactor"),getent("elevator_button","targetname").origin); + objective_setpointertextoverride(maps\_utility::obj("shutdown_reactor"),&"FUSION_OBJ_POINTER_USE"); + common_scripts\utility::flag_wait("update_obj_pos_turbine_elevator_ascent"); + objective_position(maps\_utility::obj("shutdown_reactor"),(0,0,0)); + objective_setpointertextoverride(maps\_utility::obj("shutdown_reactor"),""); + common_scripts\utility::flag_wait("update_obj_pos_turbine_room_1"); + objective_position(maps\_utility::obj("shutdown_reactor"),common_scripts\utility::getstruct("obj_pos_turbine_room_1","targetname").origin); + common_scripts\utility::flag_wait("update_obj_pos_turbine_room_exit"); + objective_position(maps\_utility::obj("shutdown_reactor"),common_scripts\utility::getstruct("obj_pos_turbine_room_exit","targetname").origin); + common_scripts\utility::flag_wait("update_obj_pos_control_room_door"); + objective_position(maps\_utility::obj("shutdown_reactor"),common_scripts\utility::getstruct("obj_pos_control_room_door","targetname").origin); + common_scripts\utility::flag_wait("update_obj_pos_control_room_explosion"); + objective_position(maps\_utility::obj("shutdown_reactor"),(0,0,0)); + common_scripts\utility::flag_wait("update_obj_pos_control_room_console"); + objective_position(maps\_utility::obj("shutdown_reactor"),common_scripts\utility::getstruct("obj_pos_control_room_console","targetname").origin); + objective_setpointertextoverride(maps\_utility::obj("shutdown_reactor"),&"FUSION_OBJ_POINTER_USE"); + common_scripts\utility::flag_wait("update_obj_pos_control_room_using_console"); + objective_position(maps\_utility::obj("shutdown_reactor"),(0,0,0)); + objective_setpointertextoverride(maps\_utility::obj("shutdown_reactor"),""); + common_scripts\utility::flag_wait("flag_shut_down_reactor_failed"); + wait(2); + objective_state(maps\_utility::obj("shutdown_reactor"),"failed"); + wait(2); +} + +//Function Number: 18 +set_obj_markers_current() +{ + common_scripts\utility::flag_wait_all("flag_obj_markers","flag_burke_rally_street_dialogue_complete"); + objective_add(maps\_utility::obj("use_mobile_cover"),"invisible",""); + objective_add(maps\_utility::obj("enter_mobile_turret"),"invisible",""); + objective_add(maps\_utility::obj("use_smaw"),"invisible",""); + thread obj_use_mobile_cover(); + thread obj_enter_mobile_turret(); + thread obj_use_smaw(); +} + +//Function Number: 19 +obj_use_mobile_cover() +{ + common_scripts\utility::flag_wait("flag_mcd_vo_done"); + objective_state_nomessage(maps\_utility::obj("use_mobile_cover"),"active"); + objective_current_nomessage(maps\_utility::obj("use_mobile_cover"),maps\_utility::obj("shutdown_reactor"),maps\_utility::obj("enter_mobile_turret")); + objective_setpointertextoverride(maps\_utility::obj("use_mobile_cover"),&"FUSION_OBJ_POINTER_USE"); + objective_position(maps\_utility::obj("use_mobile_cover"),getent("org_obj_use_mobile_cover","targetname").origin); + objective_additionalposition(maps\_utility::obj("use_mobile_cover"),1,getent("org_obj_use_mobile_cover2","targetname").origin); + level.player waittill("player_linked_to_cover"); + objective_state_nomessage(maps\_utility::obj("use_mobile_cover"),"done"); +} + +//Function Number: 20 +obj_enter_mobile_turret() +{ + common_scripts\utility::flag_wait("flag_mt_move_up_03"); + objective_state_nomessage(maps\_utility::obj("enter_mobile_turret"),"active"); + objective_current_nomessage(maps\_utility::obj("enter_mobile_turret"),maps\_utility::obj("shutdown_reactor")); + objective_setpointertextoverride(maps\_utility::obj("enter_mobile_turret"),&"FUSION_OBJ_POINTER_ENTER"); + objective_position(maps\_utility::obj("enter_mobile_turret"),getent("org_obj_enter_mobile_turret","targetname").origin); + level.player waittill("player_starts_entering_mobile_turret"); + objective_state_nomessage(maps\_utility::obj("enter_mobile_turret"),"done"); +} + +//Function Number: 21 +obj_use_smaw() +{ + common_scripts\utility::flag_wait("flag_enemy_walker"); + thread track_smaw(); + objective_state_nomessage(maps\_utility::obj("use_smaw"),"active"); + objective_current_nomessage(maps\_utility::obj("use_smaw"),maps\_utility::obj("shutdown_reactor")); + objective_setpointertextoverride(maps\_utility::obj("use_smaw"),&"FUSION_OBJ_POINTER_USE"); + common_scripts\utility::flag_wait("flag_walker_reveal_dialogue_complete"); + var_00 = 0; + while(!common_scripts\utility::flag("flag_walker_destroyed") || !common_scripts\utility::flag("flag_walker_death_anim_start")) + { + if(does_player_have_smaw()) + { + if(var_00) + { + objective_state_nomessage(maps\_utility::obj("use_smaw"),"done"); + var_00 = 0; + } + + continue; + } + + if(!var_00) + { + objective_state_nomessage(maps\_utility::obj("use_smaw"),"active"); + objective_current_nomessage(maps\_utility::obj("use_smaw"),maps\_utility::obj("shutdown_reactor")); + objective_setpointertextoverride(maps\_utility::obj("use_smaw"),&"FUSION_OBJ_POINTER_USE"); + objective_onentity(maps\_utility::obj("use_smaw"),level.smaw_location); + var_00 = 1; + } + + wait 0.05; + } + + if(var_00) + { + objective_state_nomessage(maps\_utility::obj("use_smaw"),"done"); + var_00 = 0; + } + + level notify("stop_track_smaw"); + level.smaw_location delete(); + level.smaw_location = undefined; +} + +//Function Number: 22 +track_smaw() +{ + level endon("stop_track_smaw"); + level.smaw_location = common_scripts\utility::spawn_tag_origin(); + level.smaw_location.origin = getent("org_obj_use_smaw","targetname").origin; + for(;;) + { + level.player waittill("pickup",var_00,var_01); + if(isdefined(var_01) && issubstr(var_01.classname,"iw5_stingerm7_sp")) + { + level.smaw_location linkto(var_01,"",(-10,8,1),(0,0,0)); + } + } +} + +//Function Number: 23 +does_player_have_smaw() +{ + var_00 = level.player getweaponslistall(); + foreach(var_02 in var_00) + { + if(var_02 == "iw5_stingerm7_sp") + { + return 1; + } + } + + return 0; +} + +//Function Number: 24 +obj_escape() +{ + var_00 = maps\_utility::obj("obj_escape_power_plant"); + objective_add(var_00,"active",&"FUSION_OBJECTIVE_ESCAPE"); + objective_current(var_00); + objective_position(var_00,getent("obj_escape_01","targetname").origin); + common_scripts\utility::flag_wait("update_obj_pos_control_room_exit_1"); + objective_position(var_00,common_scripts\utility::getstruct("obj_pos_control_room_exit_1","targetname").origin); + common_scripts\utility::flag_wait("update_obj_pos_control_room_exit_2"); + objective_position(var_00,common_scripts\utility::getstruct("obj_pos_control_room_exit_2","targetname").origin); + common_scripts\utility::flag_wait("update_obj_pos_hangar_entrance"); + objective_position(var_00,common_scripts\utility::getstruct("obj_pos_hangar_entrance","targetname").origin); + common_scripts\utility::flag_wait("flag_obj_02_pos_update_02"); + objective_position(var_00,getent("obj_escape_02","targetname").origin); + common_scripts\utility::flag_wait("flag_obj_02_pos_update_03"); + objective_position(var_00,getent("obj_escape_03","targetname").origin); + common_scripts\utility::flag_wait("objective_on_extraction_chopper"); + if(isdefined(level.extraction_chopper)) + { + objective_onentity(var_00,level.extraction_chopper); + } + + common_scripts\utility::flag_wait("tower_knockback"); + wait(5); + objective_position(var_00,(0,0,0)); + common_scripts\utility::flag_wait("play_ending"); + objective_state(var_00,"done"); +} + +//Function Number: 25 +squad_heli_zip() +{ + common_scripts\utility::flag_wait("intro_squad_helis_start"); + wait(0.05); + level.heli_squad_01.animname = "npc_zip_warbird"; + level.heli_squad_01.goalradius = 1; + var_00 = spawn("script_origin",(-80,-2480,752)); + var_00.angles = (0,265,0); + common_scripts\utility::flag_wait("flag_squad_heli_2_unload"); + if(level.nextgen) + { + level.heli_squad_01 setvehgoalpos(var_00.origin,1); + level.heli_squad_01 waittill("goal"); + level.heli_squad_01 vehicle_setspeedimmediate(0,0.05,0.05); + level.heli_squad_01 sethoverparams(0,0,0); + level.heli_squad_01 notify("stop_handle_rotors"); + var_00 maps\_anim::anim_first_frame_solo(level.heli_squad_01,"npc_zip"); + var_01 = getent("npc_zip_guy_1","targetname"); + var_02 = getent("npc_zip_guy_2","targetname"); + var_03 = getent("npc_zip_guy_3","targetname"); + var_04 = getent("npc_zip_guy_4","targetname"); + level.guy_1 = var_01 maps\_utility::spawn_ai(1); + level.guy_1.animname = "npc_zip_1"; + level.guy_1.ignoreme = 1; + level.guy_2 = var_02 maps\_utility::spawn_ai(1); + level.guy_2.animname = "npc_zip_2"; + level.guy_2.ignoreme = 1; + var_05 = var_03 maps\_utility::spawn_ai(1); + var_05.animname = "npc_zip_3"; + var_05.ignoreme = 1; + var_06 = var_04 maps\_utility::spawn_ai(1); + var_06.animname = "npc_zip_4"; + var_06.ignoreme = 1; + var_07 = maps\_utility::spawn_anim_model("zipline_1"); + var_08 = maps\_utility::spawn_anim_model("zipline_2"); + var_09 = maps\_utility::spawn_anim_model("zipline_3"); + var_0A = maps\_utility::spawn_anim_model("zipline_4"); + var_0B = [level.guy_1,level.guy_2,var_05,var_06,var_07,var_08,var_09,var_0A]; + level.heli_squad_01 maps\_anim::anim_first_frame(var_0B,"npc_zip","TAG_GUY0"); + foreach(var_0D in var_0B) + { + var_0D linkto(level.heli_squad_01,"TAG_GUY0"); + } + + var_00 thread maps\_anim::anim_single_solo(level.heli_squad_01,"npc_zip"); + level.heli_squad_01 maps\_anim::anim_single(var_0B,"npc_zip","TAG_GUY0"); + foreach(var_0D in var_0B) + { + var_0D unlink(); + } + + var_07 delete(); + var_08 delete(); + var_09 delete(); + var_0A delete(); + level.guy_1 maps\fusion_utility::goto_node("node_squad_zip_guard_01",0); + level.guy_2 maps\fusion_utility::goto_node("node_squad_zip_guard_02",0); + var_05 delete(); + var_06 delete(); + wait(2); + } + + if(level.currentgen) + { + wait(10); + } + + common_scripts\utility::flag_set("flag_rpg_at_heli"); + common_scripts\utility::flag_set("flag_squad_heli_01_zip_complete"); + level.heli_squad_01 sethoverparams(50,10,10); + level.heli_squad_01 setmaxpitchroll(15,40); + level.heli_squad_01 thread vehicle_scripts\_xh9_warbird::handle_rotors(); + level.heli_squad_01.script_vehicle_selfremove = 1; + common_scripts\utility::flag_wait("flag_player_zip_started"); + if(level.nextgen) + { + level.guy_1 delete(); + level.guy_2 delete(); + var_00 delete(); + } +} + +//Function Number: 26 +fly_in_scene_part1(param_00,param_01,param_02) +{ + var_03 = getanimlength(%fusion_fly_in_intro_warbird_a); + level.player shellshock("fusion_slowview",var_03); + level.joker maps\_utility::gun_remove(); + level.carter maps\_utility::gun_remove(); + var_04 = []; + var_04[0] = param_01; + param_00 maps\_anim::anim_first_frame(var_04,"fly_in_intro"); + var_05 = []; + var_05[0] = param_02; + var_05[1] = level.burke; + var_05[2] = level.joker; + var_05[3] = level.carter; + var_05[4] = level.copilot_intro; + var_05[5] = level.pilot_intro; + var_05[6] = level.guy_facing_player_intro; + foreach(var_07 in var_05) + { + var_07 thread maps\fusion_utility::hide_friendname_until_flag_or_notify("warbird_fly_in_arrived"); + } + + param_01 maps\_anim::anim_first_frame(var_05,"fly_in_intro","tag_guy0"); + foreach(var_07 in var_05) + { + var_07 linkto(param_01,"tag_guy0"); + } + + level.player playerlinktodelta(param_02,"tag_player",1,0,0,0,0,1); + wait(level.intro_hades_video_length); + soundscripts\_snd::snd_message("start_hologram_audio"); + soundscripts\_snd::snd_message("start_burke_foley",level.burke); + soundscripts\_snd::snd_message("start_intro_npc_foley",level.guy_facing_player_intro); + common_scripts\utility::flag_wait("intro_screen_done"); + thread intro_heli_movies(); + thread fly_in_rumble(); + level.player thread widen_player_view(param_02); + param_00 thread maps\_anim::anim_single(var_04,"fly_in_intro"); + param_01 maps\_anim::anim_single(var_05,"fly_in_intro","tag_guy0"); + var_0B = common_scripts\utility::spawn_tag_origin(); + var_0B linkto(param_01,"TAG_ORIGIN",(0,0,0),(270,0,0)); + playfxontag(common_scripts\utility::getfx("warbird_rotor"),var_0B,"TAG_ORIGIN"); +} + +//Function Number: 27 +fly_in_rumble() +{ + common_scripts\utility::flag_wait("intro_text_cinematic_over"); + var_00 = maps\_utility::get_rumble_ent("steady_rumble"); + var_00.intensity = 0.08; + level.burke waittillmatch("start_video_3","single anim"); + level.player playrumblelooponentity("tank_rumble"); + wait(3.5); + level.player stoprumble("tank_rumble"); + level waittill("intro_missile_hit"); + level.player playrumbleonentity("damage_heavy"); + level.player waittill("fastzip_landed"); + stopallrumbles(); +} + +//Function Number: 28 +intro_missile_hit(param_00) +{ + level notify("intro_missile_hit"); +} + +//Function Number: 29 +widen_player_view(param_00) +{ + wait(0.2); + self playerlinktodelta(param_00,"tag_player",0.75,35,0,15,25,1); + common_scripts\utility::flag_wait("flag_combat_zip_rooftop_start"); + self lerpviewangleclamp(4,2,2,50,40,15,45); +} + +//Function Number: 30 +lerp_wind(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = param_02 - param_00 / param_04 / 0.05; + var_06 = param_03 - param_01 / param_04 / 0.05; + while(param_04 > 0) + { + param_00 = param_00 + var_05; + param_01 = param_01 + var_06; + setsaveddvar("r_reactiveMotionWindAmplitudeScale",param_00); + setsaveddvar("r_reactiveMotionWindFrequencyScale",param_01); + param_04 = param_04 - 0.05; + wait(0.05); + } +} + +//Function Number: 31 +wind_over_trees() +{ + wait(20); + lerp_wind(0.3,1,15,1.5,1.5); + wait(1.75); + lerp_wind(15,1.5,10,1,1); + wait(3); + lerp_wind(10,1,20,2,2); + wait(5); + setsaveddvar("r_reactiveMotionWindAmplitudeScale","0.3"); + setsaveddvar("r_reactiveMotionWindFrequencyScale","0.5"); +} + +//Function Number: 32 +fly_in_scene_part2(param_00,param_01,param_02) +{ + thread wind_over_trees(); + level.player shellshock("fusion_slowview",50); + var_03 = maps\_vehicle::spawn_vehicle_from_targetname("squad_blackhawk"); + var_03.animname = "warbird_b"; + var_03.no_anim_rotors = 1; + var_03 vehicle_turnengineoff(); + var_04 = maps\_vehicle::spawn_vehicle_from_targetname("warbird_c"); + var_04.animname = "warbird_c"; + var_04.no_anim_rotors = 1; + var_04 vehicle_turnengineoff(); + var_05 = maps\_vehicle::spawn_vehicle_from_targetname("warbird_d"); + var_05.animname = "warbird_d"; + var_05.no_anim_rotors = 1; + var_05 vehicle_turnengineoff(); + var_06 = maps\_vehicle::spawn_vehicle_from_targetname("warbird_e"); + var_06.animname = "warbird_e"; + var_06.no_anim_rotors = 1; + var_06 vehicle_turnengineoff(); + var_07 = getent("npc_b","targetname"); + var_08 = var_07 maps\_utility::spawn_ai(1); + var_08.animname = "npc_b"; + var_09 = getent("npc_c","targetname"); + var_0A = var_09 maps\_utility::spawn_ai(1); + var_0A.animname = "npc_c"; + var_0B = getent("npc_d","targetname"); + var_0C = var_0B maps\_utility::spawn_ai(1); + var_0C.animname = "npc_d"; + var_0D = getent("npc_e","targetname"); + var_0E = var_0D maps\_utility::spawn_ai(1); + var_0E.animname = "npc_e"; + waittillframeend; + waittillframeend; + var_03 vehicle_scripts\_xh9_warbird::cloak_warbird(); + var_08 hide(); + var_0A hide(); + var_0C hide(); + var_0E hide(); + var_03 thread wait_to_decloak_helicopter(4.25,var_08,var_0A,var_0C,var_0E); + thread fly_in_squad_uncloak(); + var_0F = maps\_utility::spawn_anim_model("tower_debris"); + if(level.currentgen) + { + var_0F overridelightingorigin((890,-11485,2280)); + } + + var_10 = common_scripts\utility::getstruct("tower_debris_part","targetname"); + var_11 = []; + var_11[0] = param_01; + var_11[1] = var_03; + var_11[2] = var_04; + var_11[3] = var_05; + var_11[4] = var_06; + var_12 = []; + var_12[0] = param_02; + var_12[1] = level.burke; + var_12[2] = level.joker; + var_12[3] = level.carter; + var_12[4] = level.copilot_intro; + var_12[5] = level.pilot_intro; + var_12[6] = level.guy_facing_player_intro; + param_00 maps\_anim::anim_first_frame([var_03,var_04,var_05,var_06],"fly_in_part2"); + var_13 = []; + var_13[0] = var_08; + var_13[1] = var_0A; + var_13[2] = var_0C; + var_13[3] = var_0E; + playfxontag(common_scripts\utility::getfx("distortion_warbird"),var_03,"TAG_STATIC_MAIN_ROTOR_R"); + var_03 maps\_anim::anim_first_frame(var_13,"fly_in_part2","tag_guy0"); + foreach(var_15 in var_13) + { + var_15 linkto(var_03,"tag_guy0"); + } + + var_04 thread play_warbird_carrying_walker("warbird_pulley_c","warbird_walker_c","fly_in_part2","tag_guy0","TAG_ATTACH"); + var_05 thread play_warbird_carrying_walker("warbird_pulley_d","warbird_walker_d","fly_in_part2","tag_guy0","TAG_ATTACH"); + var_06 thread play_warbird_carrying_walker("warbird_pulley_e","warbird_walker_e","fly_in_part2","tag_guy0","TAG_ATTACH"); + var_04 thread custom_dust_kickup(); + var_05 thread custom_dust_kickup(); + var_06 thread custom_dust_kickup(); + param_01 maps\fusion_anim::clear_vehicle_anim(0); + var_03 maps\fusion_anim::clear_vehicle_anim(0); + param_02 maps\fusion_anim::clear_player_anim(0); + level.burke maps\fusion_anim::clear_npc_anim(0); + level.joker maps\fusion_anim::clear_npc_anim(0); + level.carter maps\fusion_anim::clear_npc_anim(0); + level.copilot_intro maps\fusion_anim::clear_npc_anim(0); + level.pilot_intro maps\fusion_anim::clear_npc_anim(0); + param_00 thread maps\_anim::anim_single(var_11,"fly_in_part2"); + var_10 thread maps\_anim::anim_single_solo(var_0F,"tower_debris_collision"); + var_10 thread maps\fusion_fx::play_tower_debris_fx(var_0F); + var_03 thread maps\_anim::anim_single(var_13,"fly_in_part2","tag_guy0"); + level.guy_facing_player_intro common_scripts\utility::delaycall(3,::delete); + param_01 maps\_anim::anim_single(var_12,"fly_in_part2","tag_guy0"); + param_00 thread maps\_anim::anim_loop_solo(param_01,"burke_intro_zip_loop","stop_idle"); + if(!isremovedentity(var_08)) + { + var_08 delete(); + } + + if(!isremovedentity(var_0A)) + { + var_0A delete(); + } + + if(!isremovedentity(var_0C)) + { + var_0C delete(); + } + + if(!isremovedentity(var_0E)) + { + var_0E delete(); + } + + var_04 delete(); + var_05 delete(); + var_06 delete(); + level notify("warbird_fly_in_arrived"); + thread rooftop_strafe(); + thread delete_guys_in_heli_when_vo_complete(); + thread delete_tower_debris(var_0F); +} + +//Function Number: 33 +delete_tower_debris(param_00) +{ + common_scripts\utility::flag_wait("player_fly_in_done"); + param_00 stopanimscripted(); + param_00 delete(); +} + +//Function Number: 34 +play_warbird_carrying_walker(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = maps\_utility::spawn_anim_model(param_00); + maps\_anim::anim_first_frame_solo(var_05,param_02,param_03); + var_05 linkto(self,param_03); + var_06 = maps\_utility::spawn_anim_model(param_01); + var_05 maps\_anim::anim_first_frame_solo(var_06,param_02,param_04); + var_06 linkto(var_05,"TAG_ATTACH"); + var_07 = common_scripts\utility::spawn_tag_origin(); + var_07 linkto(self,"tag_origin",(0,0,0),(-90,0,0)); + playfxontag(common_scripts\utility::getfx("warbird_shadow"),var_07,"tag_origin"); + thread maps\_anim::anim_single_solo(var_05,param_02,param_03); + var_05 thread maps\_anim::anim_single_solo(var_06,param_02,param_04); + level waittill("warbird_fly_in_arrived"); + stopfxontag(common_scripts\utility::getfx("warbird_shadow"),var_07,"tag_origin"); + var_07 delete(); + var_05 delete(); + var_06 delete(); +} + +//Function Number: 35 +delete_guys_in_heli_when_vo_complete() +{ + common_scripts\utility::flag_wait("squad_out_dialogue_complete"); +} + +//Function Number: 36 +launch_missile(param_00) +{ + var_01 = maps\_utility::spawn_anim_model(param_00); + var_01.animname = param_00; + var_01 thread missile_fly(self,param_00); + return var_01; +} + +//Function Number: 37 +missile_fly(param_00,param_01) +{ + if(param_01 == "missile_0") + { + var_02 = common_scripts\utility::getfx("smoketrail_groundtoair_large"); + } + else + { + var_02 = common_scripts\utility::getfx("smoketrail_groundtoair"); + } + + playfxontag(var_02,self,"TAG_FX"); + param_00 maps\_anim::anim_single_solo(self,"fly_in_part2"); + if(param_01 == "missile_0") + { + var_02 = common_scripts\utility::getfx("smoketrail_groundtoair_large"); + } + else + { + var_02 = common_scripts\utility::getfx("smoketrail_groundtoair"); + } + + stopfxontag(var_02,self,"TAG_FX"); + self delete(); +} + +//Function Number: 38 +spawn_intro_pilots() +{ + var_00 = getent("npc_f","targetname"); + level.copilot_intro = var_00 maps\_utility::spawn_ai(1); + level.copilot_intro.animname = "npc_f"; + level.copilot_intro maps\_utility::gun_remove(); + var_01 = getent("npc_g","targetname"); + level.pilot_intro = var_01 maps\_utility::spawn_ai(1); + level.pilot_intro.animname = "npc_g"; + level.pilot_intro maps\_utility::gun_remove(); + thread clean_up_intro_pilots(); +} + +//Function Number: 39 +clean_up_intro_pilots() +{ + level waittill("warbird_fly_in_arrived"); + level.copilot_intro delete(); + level.pilot_intro delete(); +} + +//Function Number: 40 +spawn_intro_heroes() +{ + var_00 = getent("npc_h","targetname"); + level.guy_facing_player_intro = var_00 maps\_utility::spawn_ai(1); + level.guy_facing_player_intro.animname = "npc_h"; +} + +//Function Number: 41 +fly_in_sequence() +{ + common_scripts\utility::flag_set("sun_shad_fly_in"); + maps\_utility::battlechatter_off("allies"); + thread maps\_utility::flag_set_delayed("intro_squad_helis_start",37 + level.intro_hades_video_length); + thread maps\_utility::flag_set_delayed("street_combat_start",77 + level.intro_hades_video_length); + thread move_squad_and_walkers(); + thread squad_heli_zip(); + thread fly_in_ambient_heli_squad(); + maps\_utility::delaythread(27 + level.intro_hades_video_length,::fly_in_ambient_jets); + thread fly_in_ambient_street_jets(); + thread hide_objective_during_fly_in(); + level.warbird_a = maps\_vehicle::spawn_vehicle_from_targetname("blackhawk"); + level.warbird_a.animname = "warbird_a"; + level.warbird_a.no_anim_rotors = 1; + level.warbird_a vehicle_turnengineoff(); + level.warbird_a soundscripts\_snd::snd_message("player_warbird_spawn"); + spawn_intro_heroes(); + spawn_intro_pilots(); + var_00 = spawn_player_anim_rig(); + var_00 hide(); + level.player maps\_shg_utility::setup_player_for_scene(); + maps\_player_exo::player_exo_deactivate(); + var_01 = common_scripts\utility::getstruct("org_flyin","targetname"); + fly_in_scene_part1(var_01,level.warbird_a,var_00); + finish_fly_in_sequence(var_01,level.warbird_a,var_00); +} + +//Function Number: 42 +play_dust(param_00) +{ + level notify("warbird_door_open"); + common_scripts\utility::noself_delaycall(1,::playfxontag,common_scripts\utility::getfx("fast_blowing_dust"),level.warbird_a,"TAG_outside_door"); +} + +//Function Number: 43 +hide_objective_during_fly_in() +{ + setsaveddvar("objectiveHide",1); + common_scripts\utility::flag_wait("player_fly_in_done"); + setsaveddvar("objectiveHide",0); +} + +//Function Number: 44 +finish_fly_in_sequence(param_00,param_01,param_02) +{ + maps\_utility::delaythread(50,::start_rooftop_combat); + param_01.missile_org = param_00; + fly_in_scene_part2(param_00,param_01,param_02); + level.burke maps\_utility::gun_recall(); + thread burke_rooftop_combat(param_00,param_01); + common_scripts\utility::noself_delaycall(0,::stopfxontag,common_scripts\utility::getfx("fast_blowing_dust"),level.warbird_a,"TAG_outside_door"); + thread burke_fastzip_scene(param_00,level.warbird_a); + common_scripts\utility::flag_wait("player_can_zip"); + wait(0.5); + common_scripts\utility::flag_set("ready_zip"); + maps\_utility::activate_trigger_with_targetname("trig_move_squad_from_heli"); + param_02 hide(); + var_03 = maps\_utility::spawn_anim_model("player_arms",param_02.origin); + var_03.angles = param_02.angles; + var_03 hide(); + thread rooftop_slide(); + level.player thread maps\_player_fastzip::fastzip_turret_think(level.warbird_a,"tag_turret_zipline_kl",var_03,2.7); + level.player waittill("fastzip_start"); + thread zip_debris_anim(); + thread street_hanging_pipes_anim(); + common_scripts\utility::flag_set("flag_player_zip_started"); + level.player waittill("fastzip_arrived"); + common_scripts\utility::flag_set("sun_shad_off_zip"); + maps\_player_exo::player_exo_activate(); + param_02 delete(); + var_03 delete(); + wait(0.05); + common_scripts\utility::flag_set("player_fly_in_done"); + maps\_utility::delaythread(3,::maps\_utility::autosave_by_name); + thread delete_rooftop_los_blockers(); + thread show_hide_plant_vista(); + maps\_utility::battlechatter_on("allies"); + level.warbird_a vehicle_setspeed(60,15,5); + var_04 = common_scripts\utility::getstruct("heli_path_leave","targetname"); + level.warbird_a thread maps\_utility::vehicle_dynamicpath(var_04,0); + level.warbird_a soundscripts\_snd::snd_message("player_warbird_flyout"); + level.warbird_a.script_vehicle_selfremove = 1; +} + +//Function Number: 45 +show_hide_plant_vista() +{ + var_00 = getentarray("brushmodel_vista_plant","targetname"); + if(isdefined(var_00)) + { + var_00 thread hide_plant_vista_via_trigger(); + var_00 thread show_plant_vista_via_trigger(); + } +} + +//Function Number: 46 +show_hide_plant_vista_intro() +{ + var_00 = getentarray("brushmodel_vista_plant","targetname"); + if(isdefined(var_00)) + { + var_00 thread hide_plant_vista_intro(); + var_00 thread show_plant_vista_intro(); + } +} + +//Function Number: 47 +hide_plant_vista_intro() +{ + foreach(var_01 in self) + { + var_01 hide(); + } +} + +//Function Number: 48 +show_plant_vista_intro() +{ + level.player endon("death"); + wait(71); + foreach(var_01 in self) + { + var_01 show(); + } +} + +//Function Number: 49 +hide_plant_vista_via_trigger() +{ + level endon("street_cleanup"); + for(;;) + { + maps\_utility::trigger_wait_targetname("trig_hide_plant_vista"); + foreach(var_01 in self) + { + var_01 hide(); + } + } +} + +//Function Number: 50 +show_plant_vista_via_trigger() +{ + level endon("street_cleanup"); + for(;;) + { + maps\_utility::trigger_wait_targetname("trig_show_plant_vista"); + foreach(var_01 in self) + { + var_01 show(); + } + } +} + +//Function Number: 51 +zip_debris_anim() +{ + wait(1); + var_00 = common_scripts\utility::getstruct("org_zip_debris","targetname"); + var_01 = maps\_utility::spawn_anim_model("zip_debris_01"); + var_02 = maps\_utility::spawn_anim_model("zip_debris_02"); + var_03 = [var_01,var_02]; + var_00 maps\_anim::anim_single(var_03,"zip_falling_debris"); + maps\_utility::array_delete(var_03); +} + +//Function Number: 52 +street_hanging_pipes_anim() +{ + var_00 = common_scripts\utility::getstruct("org_hanging_pipes_01","targetname"); + var_01 = maps\_utility::spawn_anim_model("street_pipes_01"); + var_00 maps\_anim::anim_loop_solo(var_01,"street_hanging_pipes"); + if(level.currentgen) + { + level waittill("tff_pre_transition_intro_to_middle"); + var_00 maps\_utility::anim_stopanimscripted(); + var_01 delete(); + } +} + +//Function Number: 53 +fly_in_ambient_heli_squad() +{ + common_scripts\utility::flag_wait("intro_squad_helis_start"); + level.heli_squad_01 = spawn_ambient_warbird("squad_warbird_01",25,45); + level.heli_squad_02 = spawn_ambient_warbird("squad_warbird_02",25,45,1); + level.heli_squad_03 = spawn_ambient_warbird("squad_warbird_03",20,50,1); + level.heli_squad_05 = spawn_ambient_warbird("squad_warbird_05",25,50,1); + level.heli_squad_06 = spawn_ambient_warbird("squad_warbird_06",25,50,1); + level.heli_squad_07 = spawn_ambient_warbird("squad_warbird_07",25,50,1); + level.heli_squad_08 = spawn_ambient_warbird("squad_warbird_08",10,25,1); + level.heli_squad_09 = spawn_ambient_warbird("squad_warbird_09",10,25,1); + level.heli_squad_11 = spawn_ambient_warbird("squad_warbird_cargo11",10,25,1); + level.heli_squad_11 thread add_warbird_cargo("cargo_walker11","cargo_pully11"); + level.heli_squad_08 thread add_warbird_cargo("cargo_walker12","cargo_pully12"); + level.heli_squad_05 thread add_warbird_cargo("cargo_walker13","cargo_pully13"); + level.heli_squad_01 vehicle_turnengineoff(); + level.heli_squad_02 vehicle_turnengineoff(); + level.heli_squad_03 vehicle_turnengineoff(); + level.heli_squad_05 vehicle_turnengineoff(); + level.heli_squad_06 vehicle_turnengineoff(); + level.heli_squad_07 vehicle_turnengineoff(); + level.heli_squad_08 vehicle_turnengineoff(); + level.heli_squad_09 vehicle_turnengineoff(); + level.heli_squad_11 vehicle_turnengineoff(); + if(level.currentgen) + { + level.heli_squad_01 thread tff_cleanup_vehicle("intro"); + } +} + +//Function Number: 54 +spawn_ambient_warbird(param_00,param_01,param_02,param_03) +{ + var_04 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive(param_00); + var_04 vehicle_scripts\_xh9_warbird::cloak_warbird(); + var_04 setmaxpitchroll(param_01,param_02); + var_04 vehicle_scripts\_xh9_warbird::set_cloak_parameter(0,0); + if(isdefined(param_03)) + { + var_04.script_vehicle_selfremove = param_03; + } + + var_04.shadow_tag = common_scripts\utility::spawn_tag_origin(); + var_04.shadow_tag linkto(var_04,"tag_origin",(0,0,0),(-90,0,0)); + playfxontag(common_scripts\utility::getfx("warbird_shadow_cloaked"),var_04.shadow_tag,"tag_origin"); + return var_04; +} + +//Function Number: 55 +add_warbird_cargo(param_00,param_01) +{ + var_02 = getent(param_00,"targetname"); + var_02 linkto(self); + var_03 = getent(param_01,"targetname"); + var_03 linkto(self); + self waittill("death"); + var_02 unlink(); + var_02 delete(); + var_03 unlink(); + var_03 delete(); +} + +//Function Number: 56 +fly_in_squad_uncloak() +{ + wait(3.5); + level.heli_squad_01 thread uncloak_ambient_warbird(level.shadow_tag_01,3.3); + wait(0.15); + level.heli_squad_09 thread uncloak_ambient_warbird(level.shadow_tag_09,3.3); + wait(0.15); + level.heli_squad_11 thread uncloak_ambient_warbird(level.shadow_tag_11,3.3); + wait(0.15); + level.heli_squad_06 thread uncloak_ambient_warbird(level.shadow_tag_06,3.3); + wait(0.15); + level.heli_squad_07 thread uncloak_ambient_warbird(level.shadow_tag_07,3.3); + wait(0.15); + level.heli_squad_08 thread uncloak_ambient_warbird(level.shadow_tag_08,3.3); + wait(0.15); + level.heli_squad_05 thread uncloak_ambient_warbird(level.shadow_tag_05,3.3); + wait(0.15); + wait(0.15); + level.heli_squad_03 thread uncloak_ambient_warbird(level.shadow_tag_03,3.3); + wait(1.25); + level.heli_squad_02 thread uncloak_ambient_warbird(level.shadow_tag_02,3.3); + common_scripts\utility::flag_wait("fx_flak_intro"); + level.heli_squad_01 clean_up_shadow_tag(); + level.heli_squad_02 clean_up_shadow_tag(); + level.heli_squad_03 clean_up_shadow_tag(); + level.heli_squad_05 clean_up_shadow_tag(); + level.heli_squad_06 clean_up_shadow_tag(); + level.heli_squad_07 clean_up_shadow_tag(); + level.heli_squad_08 clean_up_shadow_tag(); + level.heli_squad_09 clean_up_shadow_tag(); + level.heli_squad_11 clean_up_shadow_tag(); +} + +//Function Number: 57 +uncloak_ambient_warbird(param_00,param_01) +{ + var_02 = 3.3; + if(isdefined(param_01)) + { + param_01 = var_02; + } + + vehicle_scripts\_xh9_warbird::uncloak_warbird(param_01); + if(isdefined(self.shadow_tag)) + { + stopfxontag(common_scripts\utility::getfx("warbird_shadow_cloaked"),self.shadow_tag,"tag_origin"); + playfxontag(common_scripts\utility::getfx("warbird_shadow"),self.shadow_tag,"tag_origin"); + } +} + +//Function Number: 58 +clean_up_shadow_tag() +{ + if(isdefined(self.shadow_tag)) + { + stopfxontag(common_scripts\utility::getfx("warbird_shadow"),self.shadow_tag,"tag_origin"); + self.shadow_tag delete(); + } +} + +//Function Number: 59 +fly_in_ambient_jets() +{ + level.jets = []; + thread spawn_looping_jets("f15_01"); + thread spawn_looping_jets("f15_03"); + thread spawn_looping_jets("f15_06"); + wait(1); + thread spawn_looping_jets("f15_05"); +} + +//Function Number: 60 +spawn_looping_jets(param_00) +{ + while(!common_scripts\utility::flag("flag_combat_zip_rooftop_complete")) + { + var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive(param_00); + level.jets = common_scripts\utility::array_removeundefined(level.jets); + level.jets[level.jets.size] = var_01; + var_01 waittill("death"); + } +} + +//Function Number: 61 +fly_in_ambient_street_jets() +{ + common_scripts\utility::flag_wait("player_fly_in_done"); + if(!isdefined(level.jets)) + { + level.jets = []; + } + + while(level.jets.size > 0) + { + level.jets = common_scripts\utility::array_removeundefined(level.jets); + wait 0.05; + } + + thread spawn_looping_street_jets("f15_street01"); + wait(0.5); + thread spawn_looping_street_jets("f15_street03"); + wait(0.5); + thread spawn_looping_street_jets("f15_street05"); + wait(0.5); + thread spawn_looping_street_jets("f15_street07"); +} + +//Function Number: 62 +spawn_looping_street_jets(param_00) +{ + while(!common_scripts\utility::flag("flag_player_at_reactor_entrance")) + { + var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive(param_00); + level.jets = common_scripts\utility::array_removeundefined(level.jets); + level.jets[level.jets.size] = var_01; + var_01 soundscripts\_snd::snd_message("snd_start_ambient_jet"); + var_01 waittill("death"); + } + + level.jets = common_scripts\utility::array_removeundefined(level.jets); +} + +//Function Number: 63 +wait_to_decloak_helicopter(param_00,param_01,param_02,param_03,param_04) +{ + level.player endon("death"); + wait(param_00); + soundscripts\_snd::snd_message("decloak_intro_helicopter"); + thread vehicle_scripts\_xh9_warbird::uncloak_warbird(3); + wait(1.5); + param_01 show(); + param_02 show(); + param_03 show(); + param_04 show(); + param_01 stopusingheroonlylighting(); + param_02 stopusingheroonlylighting(); + param_03 stopusingheroonlylighting(); + param_04 stopusingheroonlylighting(); +} + +//Function Number: 64 +burke_rooftop_combat(param_00,param_01) +{ + if(common_scripts\utility::flag("flag_burke_zip")) + { + return; + } + + param_00 maps\_anim::anim_single_solo(level.burke,"burke_rooftop_shoot_enter"); + level.burke.face_direction = anglestoforward(level.burke.angles); + level.burke notify("killanimscript"); + level.burke.custom_animscript["combat"] = ::burke_rooftop_combat_animscript; + level.burke.custom_animscript["stop"] = ::burke_rooftop_combat_animscript; + common_scripts\utility::flag_wait("flag_burke_zip"); + level.burke.custom_animscript["combat"] = undefined; + level.burke.custom_animscript["stop"] = undefined; + level.burke notify("killanimscript"); + level.burke clearanim(%burke_aiming,0.2); + level.burke clearanim(%burke_add_fire,0.2); + level.burke.last_pitch_aim = undefined; + level.burke.last_yaw_aim = undefined; + level.burke.face_direction = undefined; +} + +//Function Number: 65 +burke_rooftop_combat_animscript() +{ + self notify("killanimscript"); + self endon("killanimscript"); + level.burke orientmode("face direction",level.burke.face_direction); + setup_burke_aim_anims(); + var_00 = undefined; + for(;;) + { + if(!isdefined(var_00) || !isalive(var_00)) + { + if(isdefined(self.enemy) && self cansee(self.enemy) && isalive(self.enemy)) + { + var_00 = self.enemy; + } + } + + if(isdefined(var_00)) + { + var_01 = animscripts\shared::getshootfrompos(); + var_02 = var_00 getshootatpos(); + var_03 = var_02 - var_01; + var_04 = vectortoangles(var_03); + var_05 = aim_burke_at_angles(var_04,48); + if(var_05) + { + var_06 = randomintrange(2,4); + for(var_07 = 0;var_07 < var_06;var_07++) + { + burke_burst_shoot(var_00); + wait(randomfloatrange(0.2,0.4)); + } + + wait(randomfloatrange(3,5)); + } + } + + if(common_scripts\utility::cointoss()) + { + var_00 = undefined; + } + + wait(0.05); + } +} + +//Function Number: 66 +setup_burke_aim_anims() +{ + self clearanim(%root,0.2); + self setanim(%fusion_fly_in_burke_aim_5,1,0.2,1); + self setanimlimited(%fusion_fly_in_burke_aim_4,1,0,1); + self setanimlimited(%fusion_fly_in_burke_aim_6,1,0,1); + self setanimlimited(%fusion_fly_in_burke_aim_2,1,0,1); + self setanimlimited(%fusion_fly_in_burke_aim_8,1,0,1); + self setanimlimited(%burke_aim_4,0,0,1); + self setanimlimited(%burke_aim_6,0,0,1); + self setanimlimited(%burke_aim_2,0,0,1); + self setanimlimited(%burke_aim_8,0,0,1); + self setanim(%fusion_fly_in_burke_aim_idle,1,0,1); +} + +//Function Number: 67 +aim_burke_at_angles(param_00,param_01) +{ + var_02 = 1; + if(!isdefined(self.last_pitch_aim)) + { + self.last_pitch_aim = 0; + } + + if(!isdefined(self.last_yaw_aim)) + { + self.last_yaw_aim = 0; + } + + var_03 = angleclamp180(param_00[0] - self.angles[0]); + if(abs(var_03) > param_01) + { + var_03 = 0; + } + + var_04 = var_03 / param_01; + var_05 = var_04 - self.last_pitch_aim; + if(abs(var_05) > 0.2) + { + var_02 = 0; + var_05 = clamp(var_05,-0.2,0.2); + var_04 = self.last_pitch_aim + var_05; + } + + if(var_04 < 0) + { + self setanimlimited(%burke_aim_8,abs(var_04),0.2,1); + self setanimlimited(%burke_aim_2,0,0.2,1); + } + else + { + self setanimlimited(%burke_aim_8,0,0.2,1); + self setanimlimited(%burke_aim_2,var_04,0.2,1); + } + + var_06 = angleclamp180(param_00[1] - self.angles[1]); + if(abs(var_06) > param_01) + { + var_06 = 0; + } + + var_07 = var_06 / param_01; + var_08 = var_07 - self.last_yaw_aim; + if(abs(var_08) > 0.2) + { + var_02 = 0; + var_08 = clamp(var_08,-0.2,0.2); + var_07 = self.last_yaw_aim + var_08; + } + + if(var_07 < 0) + { + self setanimlimited(%burke_aim_6,abs(var_07),0.2,1); + self setanimlimited(%burke_aim_4,0,0.2,1); + } + else + { + self setanimlimited(%burke_aim_6,0,0.2,1); + self setanimlimited(%burke_aim_4,var_07,0.2,1); + } + + self.last_pitch_aim = var_04; + self.last_yaw_aim = var_07; + return var_02; +} + +//Function Number: 68 +burke_burst_shoot(param_00) +{ + var_01 = randomintrange(2,4); + for(var_02 = 0;var_02 < var_01;var_02++) + { + self shoot(); + self setanimrestart(%fusion_fly_in_burke_fire,1,0,1); + wait(0.1); + } +} + +//Function Number: 69 +start_rooftop_combat() +{ + common_scripts\utility::flag_set("flag_combat_zip_rooftop_start"); + maps\_utility::autosave_by_name(); + wait(2); + level.player enableweapons(); + level.player enablehybridsight("iw5_bal27_sp_variablereddot",1); + level.player enableoffhandweapons(); + level maps\_utility::_setsaveddvar("ammoCounterHide",0); + maps\_player_exo::player_exo_activate(); + thread handle_disabling_sonic_blast(); +} + +//Function Number: 70 +handle_disabling_sonic_blast() +{ + var_00 = maps\_player_exo::player_exo_get_owned_array(["sonic_blast"]); + if(var_00.size > 0) + { + maps\_player_exo::player_exo_remove_array(var_00); + common_scripts\utility::flag_wait("player_fly_in_done"); + maps\_player_exo::player_exo_add_single("sonic_blast"); + } +} + +//Function Number: 71 +rooftop_strafe() +{ + var_00 = common_scripts\utility::getstruct("path_rooftop_strafe","targetname"); + level.heli_squad_01 thread maps\_utility::vehicle_dynamicpath(var_00,0); + level.heli_squad_01 setmaxpitchroll(10,10); + common_scripts\utility::flag_wait_or_timeout("flag_player_cleared_rooftop",15); + common_scripts\utility::flag_set("flag_rooftop_strafe"); + level.heli_squad_01 soundscripts\_snd::snd_message("rooftop_strafe_start"); + level.heli_squad_01 thread warbird_shooting_think(1); + wait(1); + level.heli_squad_01 notify("warbird_fire"); + common_scripts\utility::flag_wait("flag_combat_zip_rooftop_complete"); + level.heli_squad_01 notify("warbird_stop_firing"); +} + +//Function Number: 72 +delete_rooftop_los_blockers() +{ + var_00 = getentarray("street_rooftop_los_blocker","targetname"); + foreach(var_02 in var_00) + { + var_02 delete(); + } +} + +//Function Number: 73 +allow_player_zip() +{ + wait(8.9); + common_scripts\utility::flag_wait("flag_combat_zip_rooftop_complete"); + common_scripts\utility::flag_set("player_can_zip"); +} + +//Function Number: 74 +burke_fastzip_scene(param_00,param_01) +{ + common_scripts\utility::flag_wait("flag_burke_zip"); + param_01 notify("stop_idle"); + param_00 notify("stop_idle"); + thread burke_fastzip_aim_turret(param_01,"tag_turret_zipline_fl"); + var_02 = param_01.zipline_gun_model["tag_turret_zipline_fl"]; + var_02 unlink(); + level.burke unlink(); + thread burke_rally_init(); + thread allow_player_zip(); + level.burke maps\_utility::anim_stopanimscripted(); + param_00 thread maps\_anim::anim_single_solo_run(level.burke,"burke_intro_zip"); + var_03 = [param_01,var_02]; + param_00 maps\_anim::anim_single(var_03,"burke_intro_zip"); + common_scripts\utility::flag_set("burke_fastzip_done"); + var_04 = [param_01,var_02]; + param_00 thread maps\_anim::anim_loop(var_04,"burke_intro_zip_loop","stop_loop"); + thread heroes_post_zip(); + thread allies_rally_init(); + common_scripts\utility::flag_wait("player_fly_in_done"); + param_00 notify("stop_loop"); + var_02 linkto(param_01,"tag_turret_zipline_fl",(0,0,0),(0,0,0)); +} + +//Function Number: 75 +burke_fastzip_aim_turret(param_00,param_01) +{ + var_02 = param_00.zipline_gun_model[param_01]; + var_03 = param_00 vehicle_scripts\_xh9_warbird::spawn_zipline_turret("zipline_gun_rope",param_01,var_02.rope_model,"_turret_fastzip"); + var_03 hide(); + var_04 = common_scripts\utility::spawn_tag_origin(); + var_04.origin = var_02 gettagorigin("jnt_harpoon"); + var_03 settargetentity(var_04); + while(!common_scripts\utility::flag("burke_fastzip_done")) + { + var_04.origin = var_02 gettagorigin("jnt_harpoon"); + wait(0.1); + } + + var_04.origin = var_02 gettagorigin("jnt_harpoon"); + var_05 = var_02 gettagorigin("tag_flash"); + var_06 = distance(var_05,var_04.origin) / 12; + var_07 = var_06 / 200; + var_08 = %fastzip_launcher_fire_right; + var_03 setanimknob(var_08,1,0,0); + var_03 setanimtime(var_08,var_07); + if(isdefined(var_02.rope_model)) + { + var_02 detach(var_02.rope_model); + } + + var_03 show(); + var_03 maps\_player_fastzip::retract_rope(var_06,"right"); + var_04 delete(); + var_03 delete(); +} + +//Function Number: 76 +burke_rally_init() +{ + level.burke maps\_utility::set_force_color("g"); + level.burke maps\_utility::disable_ai_color(); + var_00 = getnode("node_cover_burke_after_zip","targetname"); + level.burke maps\fusion_utility::goto_node(var_00,0); + thread courtyard_burke_rally(); +} + +//Function Number: 77 +allies_rally_init() +{ + level.joker maps\_utility::disable_ai_color(); + var_00 = getnode("node_cover_joker_after_zip","targetname"); + level.joker maps\fusion_utility::goto_node(var_00,0); +} + +//Function Number: 78 +move_squad_and_walkers() +{ + level.player endon("death"); + common_scripts\utility::flag_wait("ready_zip"); + maps\_utility::activate_trigger_with_targetname("trig_move_squad_from_heli"); +} + +//Function Number: 79 +setup_m_turret() +{ + maps\_vehicle_shg::set_player_rig_spawn_function(::spawn_player_anim_rig); + if(level.currentgen) + { + if(level.start_point != "fly_in_animated" && level.start_point != "fly_in_animated_part2" && level.start_point != "courtyard" && level.start_point != "security_room") + { + return; + } + } + + level.x4walker_wheels_fusion_turret = 1; + var_00 = getentarray("mobile_turret","targetname"); + var_01 = []; + foreach(var_03 in var_00) + { + var_04 = var_03 maps\_utility::spawn_vehicle(); + var_04 thread monitor_mobile_turret_health(); + var_04 thread disable_cover_drone_on_mobile_turret_mount(); + var_04 thread close_enemy_check_on_mt_exit(); + var_04 thread disable_mobile_turret_if_not_destroyed(); + var_04.godmode = 1; + var_01[var_01.size] = var_04; + } + + if(level.currentgen) + { + level waittill("tff_pre_transition_intro_to_middle"); + common_scripts\utility::array_call(var_01,::delete); + } +} + +//Function Number: 80 +disable_cover_drone_on_mobile_turret_mount() +{ + level.player endon("death"); + for(;;) + { + level.player waittill("player_starts_entering_mobile_turret"); + thread maps\fusion_lighting::setup_dof_enter_turret(); + level.player.disable_cover_drone = 1; + level.player waittill("player_exited_mobile_turret"); + thread maps\fusion_lighting::setup_dof_exit_turret(); + level.player.disable_cover_drone = undefined; + } +} + +//Function Number: 81 +wait_for_drone_message_or_death(param_00) +{ + param_00 endon("death"); + level.player waittill("hiding_cover_drone_hint",var_01); + return var_01; +} + +//Function Number: 82 +close_enemy_check_on_mt_exit() +{ + for(;;) + { + level.player waittill("player_exited_mobile_turret"); + var_00 = getaiarray("axis"); + var_00 = maps\_utility::array_removedead_or_dying(var_00); + foreach(var_02 in var_00) + { + if(isdefined(var_02) && isalive(var_02)) + { + if(distancesquared(level.player.origin,var_02.origin) < squared(100)) + { + var_02 maps\fusion_utility::bloody_death(0); + continue; + } + + if(distancesquared(level.player.origin,var_02.origin) < squared(250)) + { + var_02 maps\fusion_utility::bloody_death(randomfloatrange(0.5,1)); + } + } + } + } +} + +//Function Number: 83 +setup_personal_drone() +{ + var_00 = getent("player_pdrone","targetname"); + level.player thread maps\_weapon_pdrone::give_player_pdrone(var_00); +} + +//Function Number: 84 +setup_ally_squad() +{ + if(level.currentgen) + { + return; + } + + common_scripts\utility::flag_wait("street_combat_start"); + var_00 = getentarray("allies_street","script_noteworthy"); + foreach(var_02 in var_00) + { + if(isdefined(var_02)) + { + var_02 maps\_utility::spawn_ai(1); + } + } + + var_04 = getaiarray("allies"); + foreach(var_06 in var_04) + { + if(isdefined(var_06)) + { + if(!isdefined(var_06.magic_bullet_shield)) + { + var_06 thread maps\_utility::deletable_magic_bullet_shield(); + } + } + } +} + +//Function Number: 85 +road_battle_setup() +{ + thread setup_triggers_street_battle(); + thread setup_cover_nodes_street(); + thread combat_zip_rooftop(); + common_scripts\utility::flag_wait("street_combat_start"); + thread biasgroup_think(); + if(level.nextgen) + { + thread moblie_turrets_intro(); + } + + thread street_volume_manager(); + thread combat_street_wave_01(); + thread combat_street_wave_02(); + thread combat_street_wave_03(); + thread combat_street_mid_checkpoint_1(); + thread combat_street_mid_checkpoint_2(); + thread combat_street_blown_building(); + thread combat_player_in_m_turret(); + thread combat_street_wave_04(); + thread combat_street_initial(); + thread combat_street_wave_rear(); + thread combat_enemy_trans_heli_wave_01(); + thread combat_enemy_tank(); + thread rpg_at_heli(); + thread wall_explosion_01(); + thread building_explosion_01(); + thread courtyard_mobile_cover_guys(); + thread courtyard_ally_mcd_safeguard_init(); + thread boost_jump_hint(); + if(level.nextgen) + { + thread street_mobile_cover_guys(); + } + + thread mobile_turret_dropoff(); + thread smaw_laser_think(); +} + +//Function Number: 86 +boost_jump_hint() +{ + level.player endon("player_starts_entering_mobile_turret"); + common_scripts\utility::flag_wait("flag_obj_markers"); + wait(1); + common_scripts\utility::flag_wait("flag_boost_jump_reminder_dialogue_done"); + maps\_utility::hintdisplaymintimehandler("hint_use_boost",5); +} + +//Function Number: 87 +boost_use_hint() +{ + if(isdefined(level.player.drivingvehicleandturret) || level.player ishighjumping()) + { + return 1; + } + + return 0; +} + +//Function Number: 88 +biasgroup_think() +{ + level.player setthreatbiasgroup("player"); + createthreatbiasgroup("drones"); + setthreatbias("drones","axis_street",-20000); + common_scripts\utility::flag_wait("flag_enemy_bullet_shield_off"); + setthreatbias("player","axis_street",8000); + common_scripts\utility::flag_wait("flag_enemy_walker"); + setthreatbias("player","axis_street",0); + while(!common_scripts\utility::flag("elevator_descent_player")) + { + if(common_scripts\utility::flag("flag_player_at_reactor_door")) + { + setthreatbias("player","axis_street",-20000); + continue; + } + + setthreatbias("player","axis_street",0); + wait(1); + } + + setthreatbias("player","axis_street",0); +} + +//Function Number: 89 +setup_triggers_street_battle() +{ + var_00 = getent("color_t_street_end","targetname"); + var_00 common_scripts\utility::trigger_off(); + var_01 = getent("color_t_walker_destroyed","targetname"); + var_01 common_scripts\utility::trigger_off(); + var_02 = getent("color_t_mt_destroyed","targetname"); + var_02 common_scripts\utility::trigger_off(); + common_scripts\utility::flag_wait_all("flag_mt_wall_rpg_impact","flag_mt_move_up_02"); + wait(1); + var_02 common_scripts\utility::trigger_on(); + maps\_utility::activate_trigger_with_targetname("color_t_mt_destroyed"); + var_03 = getentarray("bcs_titan","targetname"); + foreach(var_05 in var_03) + { + var_05 common_scripts\utility::trigger_off(); + } + + common_scripts\utility::flag_wait("flag_enemy_walker"); + if(isdefined(var_02)) + { + var_02 common_scripts\utility::trigger_off(); + } + + wait(3); + foreach(var_05 in var_03) + { + var_05 common_scripts\utility::trigger_on(); + } + + var_09 = getentarray("bcs_hill","targetname"); + foreach(var_05 in var_09) + { + var_05 common_scripts\utility::trigger_off(); + } +} + +//Function Number: 90 +setup_cover_nodes_street() +{ + var_00 = getnodearray("cover_node_walker_hill","targetname"); + foreach(var_02 in var_00) + { + var_02 disconnectnode(); + } + + common_scripts\utility::flag_wait("flag_enemy_walker"); + foreach(var_02 in var_00) + { + var_02 connectnode(); + } +} + +//Function Number: 91 +moblie_turrets_intro() +{ + var_00 = maps\_vehicle::spawn_vehicle_from_targetname("ally_walker_02"); + var_00 thread maps\fusion_utility::kill_path_on_death(); + var_00 soundscripts\_snd::snd_message("spawn_ally_walker_02"); + var_00 maps\_vehicle::godon(); + var_01 = getent("clip_mobile_turret_player","targetname"); + var_01 linkto(var_00); + common_scripts\utility::flag_wait("ready_zip"); + var_02 = [var_00]; + foreach(var_04 in var_02) + { + if(isdefined(var_04.riders)) + { + foreach(var_06 in var_04.riders) + { + if(isdefined(var_06.deletable_magic_bullet_shield)) + { + var_06 maps\_utility::stop_magic_bullet_shield(); + } + } + } + } + + var_00 maps\_utility::delaythread(2,::mobile_turret_gopath); + common_scripts\utility::flag_wait("flag_mt_move_up_03"); + var_00 maps\_vehicle::godoff(); + if(level.currentgen) + { + level waittill("tff_pre_transition_intro_to_middle"); + var_00 delete(); + } +} + +//Function Number: 92 +mobile_turret_gopath() +{ + self endon("death"); + maps\_vehicle::gopath(); + wait(0.1); + for(;;) + { + level.player waittill_pushed_by(self); + self vehicle_setspeed(0,60,60); + var_00 = distancesquared(level.player.origin,self.origin); + var_01 = var_00 * 2; + while(var_00 < var_01) + { + wait(0.1); + var_00 = distancesquared(level.player.origin,self.origin); + } + + self resumespeed(1); + } +} + +//Function Number: 93 +waittill_pushed_by(param_00) +{ + thread monitor_player_pushed(param_00); + thread monitor_player_unresolved(param_00); + thread monitor_player_pushed_while_linked(param_00); + for(;;) + { + self waittill("notify_push",var_01); + if(param_00 == var_01) + { + break; + } + } + + self notify("kill_push_monitor"); +} + +//Function Number: 94 +monitor_player_pushed(param_00) +{ + self endon("kill_push_monitor"); + param_00 endon("death"); + for(;;) + { + self waittill("player_pushed",var_01,var_02); + self notify("notify_push",var_02); + } +} + +//Function Number: 95 +monitor_player_unresolved(param_00) +{ + self endon("kill_push_monitor"); + param_00 endon("death"); + for(;;) + { + self waittill("unresolved_collision",var_01); + self notify("notify_push",var_01); + } +} + +//Function Number: 96 +monitor_player_pushed_while_linked(param_00) +{ + self endon("kill_push_monitor"); + param_00 endon("death"); + for(;;) + { + var_01 = 200; + var_02 = 80; + var_03 = cos(var_02); + while(self islinked()) + { + var_04 = anglestoforward(param_00.angles); + var_05 = vectornormalize(level.player.origin - param_00.origin); + if(vectordot(var_04,var_05) >= var_03 && distance(self.origin,param_00.origin) < var_01) + { + self notify("notify_push",param_00); + return; + } + + wait(0.1); + } + + wait(0.05); + } +} + +//Function Number: 97 +monitor_turret_2_death() +{ + self waittill("death"); + common_scripts\utility::flag_set("flag_m_turret_dead"); +} + +//Function Number: 98 +rooftop_enemy_think() +{ + thread rooftop_enemy_counter(); + self endon("death"); + maps\_utility::set_baseaccuracy(0.5); + maps\fusion_utility::disable_grenades(); + maps\_utility::disable_long_death(); + common_scripts\utility::flag_wait("flag_combat_zip_rooftop_complete"); + maps\fusion_utility::bloody_death(2); +} + +//Function Number: 99 +rooftop_enemy_think_left() +{ + thread rooftop_enemy_counter(); + self endon("death"); + maps\_utility::set_baseaccuracy(0.5); + maps\fusion_utility::disable_grenades(); + maps\_utility::disable_long_death(); + if(level.currentgen) + { + wait(3); + var_00 = getnode("enemy_street_zip_rooftop_goal_node_left","script_noteworthy"); + maps\_utility::set_goal_node(var_00); + maps\_utility::set_goal_radius(256); + } + + common_scripts\utility::flag_wait("flag_combat_zip_rooftop_complete"); + maps\fusion_utility::bloody_death(2); +} + +//Function Number: 100 +rooftop_enemy_think_right() +{ + thread rooftop_enemy_counter(); + self endon("death"); + maps\_utility::set_baseaccuracy(0.5); + maps\fusion_utility::disable_grenades(); + maps\_utility::disable_long_death(); + if(level.currentgen) + { + wait(3); + var_00 = getnode("enemy_street_zip_rooftop_goal_node_right","script_noteworthy"); + maps\_utility::set_goal_node(var_00); + maps\_utility::set_goal_radius(256); + } + + common_scripts\utility::flag_wait("flag_combat_zip_rooftop_complete"); + maps\fusion_utility::bloody_death(2); +} + +//Function Number: 101 +rooftop_enemy_counter() +{ + level endon("flag_combat_zip_rooftop_complete"); + level endon("player_participated_in_rooftop_fight"); + self waittill("death",var_00); + if(var_00 == level.player) + { + common_scripts\utility::flag_set("player_participated_in_rooftop_fight"); + } +} + +//Function Number: 102 +street_enemy_think() +{ + self endon("death"); + self setthreatbiasgroup("axis_street"); + var_00 = getent("vol_street_battle_01_left","targetname"); + var_01 = getent("vol_street_battle_01_right","targetname"); + var_02 = [var_00,var_01]; + street_set_volume_from_pair(var_02); + common_scripts\utility::flag_wait("flag_mt_move_up_03"); + var_00 = getent("vol_street_battle_02_left","targetname"); + var_01 = getent("vol_street_battle_02_right","targetname"); + var_02 = [var_00,var_01]; + street_set_volume_from_pair(var_02); + common_scripts\utility::flag_wait("flag_mt_move_up_05"); + var_00 = getent("vol_street_battle_03_left","targetname"); + var_01 = getent("vol_street_battle_03_right","targetname"); + var_02 = [var_00,var_01]; + street_set_volume_from_pair(var_02); + common_scripts\utility::flag_wait("flag_obj_01_pos_update_02"); + var_00 = getent("vol_street_battle_reactor_entrance_left","targetname"); + var_01 = getent("vol_street_battle_reactor_entrance_right","targetname"); + var_02 = [var_00,var_01]; + street_set_volume_from_pair(var_02); + common_scripts\utility::flag_wait("flag_enemy_walker"); + self.grenadeammo = 0; + thread walker_death_courtyard_kva_cleanup(); + common_scripts\utility::flag_wait("flag_walker_destroyed"); + if(!isdefined(self.playerseeker)) + { + self cleargoalvolume(); + self setgoalvolumeauto(getent("vol_street_battle_reactor_entrance","targetname")); + } + + common_scripts\utility::flag_wait("flag_player_at_reactor_entrance"); + if(!isdefined(self.playerseeker)) + { + self cleargoalvolume(); + self setgoalvolumeauto(getent("vol_street_battle_reactor_entrance_end","targetname")); + } +} + +//Function Number: 103 +street_enemy_blown_building_think() +{ + self endon("death"); + self setthreatbiasgroup("axis_street"); + if(!isdefined(self.playerseeker)) + { + self cleargoalvolume(); + self setgoalvolumeauto(getent("vol_street_battle_02_left","targetname")); + } + + common_scripts\utility::flag_wait("flag_spawn_gaz_01"); + var_00 = getent("vol_street_battle_03_left","targetname"); + var_01 = getent("vol_street_battle_03_right","targetname"); + var_02 = [var_00,var_01]; + street_set_volume_from_pair(var_02); + common_scripts\utility::flag_wait("flag_obj_01_pos_update_02"); + var_00 = getent("vol_street_battle_reactor_entrance_left","targetname"); + var_01 = getent("vol_street_battle_reactor_entrance_right","targetname"); + var_02 = [var_00,var_01]; + street_set_volume_from_pair(var_02); + thread walker_death_courtyard_kva_cleanup(); + common_scripts\utility::flag_wait("flag_walker_destroyed"); + if(!isdefined(self.playerseeker)) + { + self cleargoalvolume(); + self setgoalvolumeauto(getent("vol_street_battle_reactor_entrance","targetname")); + } + + common_scripts\utility::flag_wait("flag_player_at_reactor_entrance"); + if(!isdefined(self.playerseeker)) + { + self cleargoalvolume(); + self setgoalvolumeauto(getent("vol_street_battle_reactor_entrance_end","targetname")); + } +} + +//Function Number: 104 +street_volume_manager() +{ + var_00 = getent("vol_street_battle_01_left","targetname"); + var_01 = getent("vol_street_battle_01_right","targetname"); + var_02 = [var_00,var_01]; + street_enemy_movement("flag_mt_move_up_03",2,5,var_02); + var_00 = getent("vol_street_battle_02_left","targetname"); + var_01 = getent("vol_street_battle_02_right","targetname"); + var_02 = [var_00,var_01]; + street_enemy_movement("flag_mt_move_up_05",2,5,var_02); + var_00 = getent("vol_street_battle_03_left","targetname"); + var_01 = getent("vol_street_battle_03_right","targetname"); + var_02 = [var_00,var_01]; + street_enemy_movement("flag_obj_01_pos_update_02",2,5,var_02); + var_00 = getent("vol_street_battle_reactor_entrance_left","targetname"); + var_01 = getent("vol_street_battle_reactor_entrance_right","targetname"); + var_02 = [var_00,var_01]; + street_enemy_movement("flag_walker_destroyed",8,20,var_02); +} + +//Function Number: 105 +walker_death_courtyard_kva_cleanup() +{ + self endon("death"); + common_scripts\utility::flag_wait("flag_walker_destroyed"); + var_00 = getnodearray("walker_retreat_point","targetname"); + if(level.nextgen) + { + maps\fusion_utility::bloody_death(10); + return; + } + + thread walker_death_courtyard_kva_cleanup_cg(var_00); +} + +//Function Number: 106 +walker_death_courtyard_kva_cleanup_cg(param_00) +{ + self endon("death"); + var_01 = 200; + var_02 = distance2d(self.origin,level.player.origin); + if(var_02 < var_01) + { + thread maps\_utility::player_seek_enable(); + return; + } + + param_00 = common_scripts\utility::array_randomize(param_00); + self setgoalnode(param_00[0]); + self waittill("goal"); + self kill(); +} + +//Function Number: 107 +street_set_volume_from_pair(param_00) +{ + if(!isdefined(param_00)) + { + return; + } + + var_01 = undefined; + if(isarray(param_00)) + { + if(common_scripts\utility::cointoss()) + { + var_01 = param_00[0]; + if(self istouching(var_01)) + { + var_01 = param_00[1]; + } + } + else + { + var_01 = param_00[1]; + if(self istouching(var_01)) + { + var_01 = param_00[0]; + } + } + } + + if(!isdefined(self.playerseeker)) + { + if(isdefined(var_01)) + { + self cleargoalvolume(); + self setgoalvolumeauto(var_01); + } + } +} + +//Function Number: 108 +street_enemy_movement(param_00,param_01,param_02,param_03) +{ + level.player endon("death"); + level endon(param_00); + if(!isdefined(param_01)) + { + param_01 = 5; + } + + if(!isdefined(param_02)) + { + param_02 = 15; + } + + while(!common_scripts\utility::flag(param_00)) + { + wait(randomfloatrange(param_01,param_02)); + var_04 = []; + foreach(var_06 in param_03) + { + var_07 = var_06 maps\_utility::get_ai_touching_volume("axis"); + if(var_07.size > 0) + { + var_04 = common_scripts\utility::array_combine(var_04,var_07); + } + } + + if(var_04.size > 0) + { + var_09 = var_04[randomint(var_04.size)]; + var_09 street_set_volume_from_pair(param_03); + } + } +} + +//Function Number: 109 +mover_debug_text() +{ + self endon("death"); + var_00 = 5; + while(var_00 > 0) + { + var_00 = var_00 - 0.05; + wait(0.05); + } +} + +//Function Number: 110 +street_enemy_tank_battle_think() +{ + self endon("death"); + if(!isdefined(self.playerseeker)) + { + self setgoalvolumeauto(getent("vol_street_tank_stage_01","targetname")); + } + + common_scripts\utility::flag_wait("flag_enemy_walker"); + self.grenadeammo = 0; + thread walker_death_courtyard_kva_cleanup(); + common_scripts\utility::flag_wait("flag_walker_destroyed"); + if(!isdefined(self.playerseeker)) + { + self cleargoalvolume(); + self setgoalvolumeauto(getent("vol_street_battle_reactor_entrance","targetname")); + } + + common_scripts\utility::flag_wait("flag_player_at_reactor_entrance"); + if(!isdefined(self.playerseeker)) + { + self cleargoalvolume(); + self setgoalvolumeauto(getent("vol_street_battle_reactor_entrance_end","targetname")); + } +} + +//Function Number: 111 +street_enemy_tank_damaged_think() +{ + self endon("death"); + self.grenadeammo = 0; + common_scripts\utility::flag_wait("walker_damaged"); + if(!isdefined(self.playerseeker)) + { + self cleargoalvolume(); + self setgoalvolumeauto(getent("vol_street_battle_reactor_entrance","targetname")); + } + + thread walker_death_courtyard_kva_cleanup(); + common_scripts\utility::flag_wait("flag_player_at_reactor_entrance"); + if(!isdefined(self.playerseeker)) + { + self cleargoalvolume(); + self setgoalvolumeauto(getent("vol_street_battle_reactor_entrance_end","targetname")); + } +} + +//Function Number: 112 +street_enemy_building_east_think() +{ + self endon("death"); + if(!isdefined(self.playerseeker)) + { + self setgoalvolumeauto(getent("vol_street_battle_rear_building_east","targetname")); + } + + common_scripts\utility::flag_wait("flag_obj_01_pos_update_02"); + if(!isdefined(self.playerseeker)) + { + self cleargoalvolume(); + self setgoalvolumeauto(getent("vol_street_battle_reactor_entrance","targetname")); + } + + common_scripts\utility::flag_wait("flag_enemy_walker"); + self.grenadeammo = 0; + thread walker_death_courtyard_kva_cleanup(); + common_scripts\utility::flag_wait("flag_player_at_reactor_entrance"); + if(!isdefined(self.playerseeker)) + { + self cleargoalvolume(); + self setgoalvolumeauto(getent("vol_street_battle_reactor_entrance_end","targetname")); + } +} + +//Function Number: 113 +street_enemy_building_west_think() +{ + self endon("death"); + if(!isdefined(self.playerseeker)) + { + self setgoalvolumeauto(getent("vol_street_battle_rear_building_west","targetname")); + } + + common_scripts\utility::flag_wait("flag_obj_01_pos_update_02"); + if(!isdefined(self.playerseeker)) + { + self cleargoalvolume(); + self setgoalvolumeauto(getent("vol_street_battle_reactor_entrance","targetname")); + } + + thread walker_death_courtyard_kva_cleanup(); + common_scripts\utility::flag_wait("flag_player_at_reactor_entrance"); + if(!isdefined(self.playerseeker)) + { + self cleargoalvolume(); + self setgoalvolumeauto(getent("vol_street_battle_reactor_entrance_end","targetname")); + } +} + +//Function Number: 114 +combat_street_wave_01() +{ + if(level.currentgen) + { + common_scripts\utility::flag_wait("ready_zip"); + if(level.currentgen) + { + var_00 = ["enemy_street_wave_01","enemy_street_wave_02","enemy_street_wave_mobile_cover_a","enemy_street_wave_mobile_cover_b","enemy_street_blown_building","enemy_street_wave_04","enemy_street_wave_rear","enemy_street_tank_stage_01","enemy_street_tank_stage_02","enemy_street_reactor_entrance","enemy_street_turret_wave_1","enemy_street_turret_wave_2"]; + thread maps\_cg_encounter_perf_monitor::cg_spawn_perf_monitor("elevator_descent_player",var_00,15,0); + } + } + + var_01 = getentarray("enemy_street_wave_01","script_noteworthy"); + if(var_01.size > 0) + { + maps\_spawner::flood_spawner_scripted(var_01); + } + + foreach(var_03 in getentarray("enemy_street_wave_01","script_noteworthy")) + { + if(isalive(var_03)) + { + var_03 maps\_utility::deletable_magic_bullet_shield(); + } + } + + common_scripts\utility::flag_wait("flag_enemy_bullet_shield_off"); + foreach(var_03 in getentarray("enemy_street_wave_01","script_noteworthy")) + { + if(isalive(var_03) && isdefined(var_03.magic_bullet_shield)) + { + var_03 maps\_utility::stop_magic_bullet_shield(); + } + } + + common_scripts\utility::flag_wait("flag_mt_move_up_03"); + var_01 = ["enemy_street_wave_01"]; + maps\fusion_utility::delete_spawners(var_01); +} + +//Function Number: 115 +combat_street_wave_02() +{ + common_scripts\utility::flag_wait("flag_mt_move_up_01"); + var_00 = getentarray("enemy_street_wave_02","script_noteworthy"); + if(var_00.size > 0) + { + maps\_spawner::flood_spawner_scripted(var_00); + } + + var_00 = getentarray("enemy_street_wave_mobile_cover_a","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 maps\_utility::spawn_ai(1); + } + + common_scripts\utility::flag_wait("flag_mt_move_up_02"); + var_00 = getentarray("enemy_street_wave_mobile_cover_b","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 maps\_utility::spawn_ai(1); + } + + common_scripts\utility::flag_wait("flag_delete_spawners_wave_02"); + var_00 = ["enemy_street_wave_02"]; + maps\fusion_utility::delete_spawners(var_00); +} + +//Function Number: 116 +combat_street_wave_03() +{ + common_scripts\utility::flag_wait("flag_delete_spawners_wave_02"); + var_00 = getentarray("enemy_street_wave_03","script_noteworthy"); + if(var_00.size > 0) + { + maps\_spawner::flood_spawner_scripted(var_00); + } + + common_scripts\utility::flag_wait("flag_enemy_reinforcements_big_wave"); + var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("enemy_trans_street_01"); + var_01 thread heli_turret_death_think(); + soundscripts\_snd::snd_message("courtyard_mi17_spawn_01",var_01); + var_02 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("enemy_trans_street_02"); + var_02 thread heli_turret_death_think(); + soundscripts\_snd::snd_message("courtyard_mi17_spawn_02",var_02); + common_scripts\utility::flag_wait("flag_mt_move_up_03"); + var_00 = ["enemy_street_wave_03"]; + maps\fusion_utility::delete_spawners(var_00); +} + +//Function Number: 117 +combat_street_mid_checkpoint_1() +{ + level endon("flag_enemy_walker"); + common_scripts\utility::flag_wait("flag_road_combat_mid_save_1"); + maps\_utility::autosave_by_name(); +} + +//Function Number: 118 +combat_street_mid_checkpoint_2() +{ + level endon("flag_walker_destroyed"); + common_scripts\utility::flag_wait("flag_road_combat_mid_save_2"); + maps\_utility::autosave_by_name(); +} + +//Function Number: 119 +combat_street_blown_building() +{ + common_scripts\utility::flag_wait("flag_combat_blown_building"); + if(!common_scripts\utility::flag("flag_delete_spawners_wave_02")) + { + var_00 = getentarray("enemy_street_blown_building","script_noteworthy"); + if(var_00.size > 0) + { + maps\_spawner::flood_spawner_scripted(var_00); + } + } + + common_scripts\utility::flag_wait("flag_slow_explosions_2"); + var_00 = ["enemy_street_blown_building"]; + maps\fusion_utility::delete_spawners(var_00); +} + +//Function Number: 120 +heli_turret_death_think() +{ + level.player endon("death"); + level endon("street_cleanup"); + self waittill("death",var_00); + wait(0.05); + self notify("crash_done"); +} + +//Function Number: 121 +combat_player_in_m_turret() +{ + level endon("street_cleanup"); + level.player waittill("player_enters_mobile_turret"); + thread hint_mt_controls(); + maps\_utility::delaythread(2,::maps\_utility::autosave_now); + var_00 = getentarray("enemy_street_turret_wave_1","script_noteworthy"); + if(var_00.size > 0) + { + maps\_spawner::flood_spawner_scripted(var_00); + } + + var_01 = getentarray("enemy_street_turret_wave_2","script_noteworthy"); + if(var_01.size > 0) + { + maps\_spawner::flood_spawner_scripted(var_01); + } + + common_scripts\utility::flag_wait("walker_damaged"); + var_00 = ["enemy_street_turret_wave_1"]; + maps\fusion_utility::delete_spawners(var_00); + var_01 = ["enemy_street_turret_wave_2"]; + maps\fusion_utility::delete_spawners(var_01); +} + +//Function Number: 122 +hint_mt_controls() +{ + level.player endon("player_exited_mobile_turret"); + wait(1); + maps\_utility::hintdisplayhandler("hint_mt_fire_missiles"); + common_scripts\utility::flag_wait("flag_hint_mt_control_fire_missiles_press"); + maps\_utility::hintdisplaymintimehandler("hint_mt_fire_missiles_release"); +} + +//Function Number: 123 +monitor_mobile_turret_health() +{ + level.player endon("death"); + level endon("street_cleanup"); + level.player waittill("player_starts_entering_mobile_turret"); + common_scripts\utility::flag_set("flag_player_starts_entering_mobile_turret"); + level.player waittill("player_enters_mobile_turret"); + common_scripts\utility::flag_set("flag_player_enters_mobile_turret"); + thread mobile_turret_tutorial_hints(); + var_00 = getentarray("mobile_turret_damage","targetname"); + foreach(var_02 in var_00) + { + var_02 linkto(self); + } + + var_04 = getent("trig_mobile_turret_health_1","targetname"); + var_04 mobile_turret_health_think(self,::mobile_turret_health_1); + var_04 = getent("trig_mobile_turret_health_2","targetname"); + var_04 mobile_turret_health_think(self,::mobile_turret_health_2); + var_04 = getent("trig_mobile_turret_health_3","targetname"); + var_04 mobile_turret_health_think(self,::mobile_turret_health_3); + var_04 = getent("trig_mobile_turret_missile","targetname"); + var_04 mobile_turret_health_think(self,::mobile_turret_missile); +} + +//Function Number: 124 +mobile_turret_tutorial_hints() +{ +} + +//Function Number: 125 +mobile_turret_health_think(param_00,param_01) +{ + level.player endon("death"); + param_00 endon("death"); + level endon("street_cleanup"); + for(;;) + { + self waittill("trigger",var_02); + if(var_02 == level.player && isdefined(param_00.player_driver) && param_00.player_driver == level.player) + { + param_00 thread [[ param_01 ]](); + break; + } + } +} + +//Function Number: 126 +mobile_turret_health_1() +{ + self endon("death"); + self endon("stop_mobile_turret_health_1"); +} + +//Function Number: 127 +mobile_turret_health_2() +{ + self endon("death"); + self endon("stop_mobile_turret_health_2"); + var_00 = "mobile_turret_sparks"; + var_01 = "TAG_SPARKS_1"; + var_02 = "TAG_SPARKS_2"; + play_and_store_fx_on_tag(var_00,self,var_01); + wait(0.1); + play_and_store_fx_on_tag(var_00,self,var_02); +} + +//Function Number: 128 +mobile_turret_health_3() +{ + self endon("death"); + self endon("stop_mobile_turret_health_3"); +} + +//Function Number: 129 +mobile_turret_missile() +{ + self endon("death"); + var_00 = common_scripts\utility::getstruct("org_missile_disable_mt","targetname"); + var_01 = var_00.origin + anglestoforward(var_00.angles) * 256; + var_02 = magicbullet("mobile_turret_missile",var_00.origin,var_01); + var_02 missile_settargetpos(self.mgturret[0] gettagorigin("tag_flash") + anglestoforward(self.mgturret[0].angles) * 64); + var_02 missile_setflightmodedirect(); + var_02 waittill("death"); + playfx(common_scripts\utility::getfx("rpg_explode"),self.mgturret[0].origin); + var_03 = self.mgturret[0].origin; + if(isdefined(self.player_driver)) + { + soundscripts\_snd::snd_message("player_mobile_turret_warning"); + var_03 = self.player_driver.origin; + thread maps\_utility::flag_set_delayed("flag_bailout_vo",0.5); + } + + earthquake(2,1,var_03,256); + thread mobile_turret_health_4(); +} + +//Function Number: 130 +mobile_turret_health_4() +{ + maps\_utility::ent_flag_waitopen("player_in_transition"); + if(isdefined(level.player.drivingvehicleandturret)) + { + var_00 = self.mgturret[0]; + level.player drivevehicleandcontrolturretoff(self); + thread mobile_turret_burning_limit_controls(var_00); + thread mobile_turret_burning(); + self.burning = 1; + var_01 = "mobile_turret_fire_large"; + var_02 = "TAG_FIRE_2"; + play_and_store_fx_on_tag(var_01,self,var_02); + return; + } + + self.burning = 1; + destroy_mobile_turret(); +} + +//Function Number: 131 +mobile_turret_burning_limit_controls(param_00) +{ + level.player enableslowaim(0.005,0.005); + level.player maps\_utility::set_ignoreme(1); + param_00 turretfiredisable(); + self notify("end_rocket_think"); + self notify("fire_missile_system"); + self notify("disable_missile_input"); + self notify("force_clear_all_turret_locks"); + self.reticle vehicle_scripts\_x4walker_wheels_turret::reticle_hide(); + self waittill("dismount_vehicle_and_turret"); + level.player maps\_utility::set_ignoreme(0); + level.player disableslowaim(); +} + +//Function Number: 132 +mobile_turret_burning() +{ + thread destroy_turret_when_player_leaves(); + level.player endon("death"); + level endon("street_cleanup"); + self endon("dismount_vehicle_and_turret"); + self notify("play_damage_warning"); + var_00 = 20; + wait(var_00 - 1); + var_01 = self.angles + (-90,90,0); + playfx(common_scripts\utility::getfx("fusion_vehicle_mobile_cover_explosion"),level.player geteye() + (0,-50,20)); + earthquake(1,1.6,level.player.origin,625); + wait(1); + level.player disableinvulnerability(); + level notify("mission failed"); + setdvar("ui_deadquote",&"FUSION_MOBILE_TURRET_DETROYED"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 133 +destroy_turret_when_player_leaves() +{ + level.player endon("death"); + level endon("street_cleanup"); + self waittill("player_exited_mobile_turret"); + destroy_mobile_turret(); +} + +//Function Number: 134 +destroy_mobile_turret() +{ + level.player endon("death"); + level endon("street_cleanup"); + vehicle_scripts\_x4walker_wheels_turret::make_mobile_turret_unusable(); + var_00 = 256; + var_01 = 20; + while(distance(self.origin,level.player.origin) < var_00 && var_01 >= 0) + { + var_01 = var_01 - 0.05; + wait(0.05); + } + + self.mgturret[0] hide(); + self setmodel("vehicle_x4walker_wheels_dstrypv"); + playfxontag(common_scripts\utility::getfx("mobile_turret_explosion"),self,"tag_death_fx"); + earthquake(1,1.6,self.origin,625); + soundscripts\_snd::snd_message("player_mobile_turret_explo"); + self notify("stop_mobile_turret_health_1"); + self notify("stop_mobile_turret_health_2"); + self notify("stop_mobile_turret_health_3"); + self notify("stop_mobile_turret_health_4"); + wait(0.5); + playfxontag(common_scripts\utility::getfx("mobile_turret_ground_smoke"),self,"tag_death_fx"); +} + +//Function Number: 135 +disable_mobile_turret_if_not_destroyed() +{ + level.player endon("death"); + self endon("stop_mobile_turret_health_4"); + var_00 = getent("trig_mobile_turret_missile","targetname"); + var_00 waittill("trigger"); + if(!isdefined(level.player.drivingvehicleandturret)) + { + vehicle_scripts\_x4walker_wheels_turret::make_mobile_turret_unusable(); + } +} + +//Function Number: 136 +play_and_store_fx_on_tag(param_00,param_01,param_02) +{ + playfxontag(common_scripts\utility::getfx(param_00),param_01.mgturret[0],param_02); + var_03 = spawnstruct(); + var_03.name = param_00; + var_03.tag = param_02; + if(!isdefined(param_01.damage_fx)) + { + param_01.damage_fx = []; + } + + param_01.damage_fx[self.damage_fx.size] = var_03; +} + +//Function Number: 137 +combat_street_wave_04() +{ + common_scripts\utility::flag_wait("flag_delete_spawners_wave_02"); + var_00 = getentarray("enemy_street_wave_04","script_noteworthy"); + if(var_00.size > 0) + { + maps\_spawner::flood_spawner_scripted(var_00); + } + + common_scripts\utility::flag_wait("flag_enemy_walker"); + var_00 = ["enemy_street_wave_04"]; + maps\fusion_utility::delete_spawners(var_00); +} + +//Function Number: 138 +combat_street_wave_rear() +{ + common_scripts\utility::flag_wait("flag_mt_move_up_05"); + var_00 = getentarray("enemy_street_wave_rear","script_noteworthy"); + if(var_00.size > 0) + { + maps\_spawner::flood_spawner_scripted(var_00); + } + + foreach(var_02 in getentarray("enemy_street_wave_rear","script_noteworthy")) + { + if(isalive(var_02)) + { + var_02 maps\_utility::deletable_magic_bullet_shield(); + } + } + + foreach(var_02 in getentarray("enemy_street_wave_rear","script_noteworthy")) + { + if(isalive(var_02) && isdefined(var_02.magic_bullet_shield)) + { + var_02 maps\_utility::stop_magic_bullet_shield(); + } + } + + if(level.currentgen) + { + common_scripts\utility::flag_wait("flag_walker_destroyed"); + } + else + { + common_scripts\utility::flag_wait("flag_mt_move_up_05"); + } + + var_00 = ["enemy_street_wave_rear"]; + maps\fusion_utility::delete_spawners(var_00); +} + +//Function Number: 139 +combat_enemy_tank() +{ + common_scripts\utility::flag_wait("walker_trophy_1"); + var_00 = getentarray("enemy_street_tank_stage_01","script_noteworthy"); + if(var_00.size > 0) + { + maps\_spawner::flood_spawner_scripted(var_00); + } + + common_scripts\utility::flag_wait("walker_trophy_2"); + thread rpg_at_squad_01(); + var_00 = getentarray("enemy_street_tank_stage_02","script_noteworthy"); + if(var_00.size > 0) + { + maps\_spawner::flood_spawner_scripted(var_00); + } + + common_scripts\utility::flag_wait("walker_damaged"); + var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("enemy_m_turret_03"); + var_01 thread gaz_turret_guy_think(); + common_scripts\utility::flag_wait("flag_walker_destroyed"); + var_00 = ["enemy_street_tank_stage_01","enemy_street_tank_stage_02"]; + maps\fusion_utility::delete_spawners(var_00); + if(!level.nextgen) + { + level waittill("tff_pre_transition_intro_to_middle"); + var_01 delete(); + } +} + +//Function Number: 140 +gaz_turret_guy_think() +{ + var_00 = undefined; + foreach(var_02 in self.riders) + { + if(isdefined(var_02.vehicle_position) && var_02.vehicle_position == 3) + { + var_00 = var_02; + var_00 endon("death"); + } + + var_02 thread walker_death_courtyard_kva_cleanup(); + } + + if(!isdefined(var_00)) + { + return; + } + + common_scripts\utility::flag_wait("flag_walker_destroyed"); + var_00.health = 1; + var_00.ignoreme = 0; +} + +//Function Number: 141 +combat_enemy_trans_heli_wave_01() +{ + common_scripts\utility::flag_wait("flag_mt_move_up_05"); +} + +//Function Number: 142 +combat_zip_rooftop() +{ + common_scripts\utility::flag_wait("flag_combat_zip_rooftop_start"); + var_00 = missile_createrepulsorent(level.warbird_a,5000,1000); + var_01 = getentarray("enemy_street_zip_rooftop","script_noteworthy"); + foreach(var_03 in var_01) + { + var_03 maps\_utility::spawn_ai(1); + } + + if(level.currentgen) + { + var_01 = getentarray("enemy_street_zip_rooftop_left","script_noteworthy"); + var_05 = getentarray("enemy_street_zip_rooftop_right","script_noteworthy"); + var_01 = common_scripts\utility::array_combine(var_01,var_05); + foreach(var_03 in var_01) + { + var_03 maps\_utility::spawn_ai(1); + } + } + + if(level.nextgen) + { + maps\fusion_utility::spawn_metrics_waittill_deaths_reach(4,["enemy_street_zip_rooftop"],1); + } + else + { + maps\fusion_utility::spawn_metrics_waittill_deaths_reach(4,["enemy_street_zip_rooftop","enemy_street_zip_rooftop_left","enemy_street_zip_rooftop_right"],1); + } + + common_scripts\utility::flag_set("flag_burke_zip"); + if(level.nextgen) + { + maps\fusion_utility::spawn_metrics_waittill_deaths_reach(6,["enemy_street_zip_rooftop"],1); + } + else + { + maps\fusion_utility::spawn_metrics_waittill_deaths_reach(6,["enemy_street_zip_rooftop","enemy_street_zip_rooftop_left","enemy_street_zip_rooftop_right"],1); + } + + var_01 = getentarray("enemy_street_zip_rooftop_strafe","script_noteworthy"); + foreach(var_03 in var_01) + { + var_03 maps\_utility::spawn_ai(1); + } + + waittillframeend; + if(!common_scripts\utility::flag("flag_rooftop_strafe")) + { + common_scripts\utility::flag_set("flag_player_cleared_rooftop"); + } + + if(level.nextgen) + { + maps\fusion_utility::spawn_metrics_waittill_deaths_reach(9,["enemy_street_zip_rooftop","enemy_street_zip_rooftop_strafe"],1); + } + else + { + maps\fusion_utility::spawn_metrics_waittill_deaths_reach(9,["enemy_street_zip_rooftop","enemy_street_zip_rooftop_left","enemy_street_zip_rooftop_right","enemy_street_zip_rooftop_strafe"],1); + } + + common_scripts\utility::flag_set("flag_combat_zip_rooftop_complete"); + soundscripts\_snd::snd_music_message("mus_combat_zip_rooftop_complete"); +} + +//Function Number: 143 +combat_street_initial() +{ + if(level.currentgen) + { + common_scripts\utility::flag_wait("flag_spawn_gaz_01"); + } + + var_00 = getentarray("enemy_street_reactor_entrance","script_noteworthy"); + foreach(var_02 in var_00) + { + if(isdefined(var_02)) + { + var_02 maps\_utility::spawn_ai(1); + } + } + + if(level.nextgen) + { + common_scripts\utility::flag_wait("flag_spawn_gaz_01"); + } + + var_04 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("enemy_m_turret_02"); + var_05 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("enemy_m_turret_01"); + var_04 thread gaz_turret_guy_think(); + var_05 thread gaz_turret_guy_think(); + var_06 = getent("titan_friendly_badplace","targetname"); + badplace_brush("titan_hill_friendly_bad",-1,var_06,"allies"); + common_scripts\utility::flag_wait("flag_obj_01_pos_update_02"); + var_00 = ["enemy_street_reactor_entrance"]; + maps\fusion_utility::delete_spawners(var_00); + if(level.currentgen) + { + level waittill("tff_pre_transition_intro_to_middle"); + var_04 delete(); + var_05 delete(); + } +} + +//Function Number: 144 +rpg_at_heli() +{ + common_scripts\utility::flag_wait("flag_rpg_at_heli"); + wait(2.5); + maps\_vehicle::spawn_vehicle_from_targetname_and_drive("rpg_at_heli"); +} + +//Function Number: 145 +rpg_at_squad_01() +{ + maps\_vehicle::spawn_vehicle_from_targetname_and_drive("rpg_at_squad_01"); + wait(1); + maps\_vehicle::spawn_vehicle_from_targetname_and_drive("rpg_at_squad_02"); +} + +//Function Number: 146 +wall_explosion_01() +{ + var_00 = getentarray("street_wall_1_decal","targetname"); + foreach(var_02 in var_00) + { + var_02 hide(); + } + + common_scripts\utility::flag_wait("flag_mt_wall_rpg_fire"); + var_04 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("rpg_at_wall_01"); + common_scripts\utility::flag_wait("flag_mt_wall_rpg_impact"); + var_05 = getent("blocker_wall_1_explode","targetname"); + var_05 delete(); + foreach(var_02 in var_00) + { + var_02 show(); + } + + maps\_utility::activate_trigger_with_targetname("street_wall_1_explode"); + var_08 = common_scripts\utility::getstruct("vfx_street_wall_1_explode","targetname"); + thread maps\fusion_lighting::firelight_volume(); + thread maps\fusion_lighting::firelight_volume2(); + soundscripts\_snd::snd_message("street_wall_1_explode",var_08.origin); + radiusdamage(var_08.origin,200,200,100,undefined,"MOD_EXPLOSIVE"); + physicsexplosionsphere(var_08.origin,200,10,1); +} + +//Function Number: 147 +building_explosion_01() +{ + common_scripts\utility::flag_wait("flag_mt_move_up_05"); + maps\_utility::activate_trigger_with_targetname("street_building_top_1_explode"); + var_00 = common_scripts\utility::getstruct("vfx_street_building_1_explode","targetname"); + soundscripts\_snd::snd_message("building_explode",var_00.origin); + radiusdamage(var_00.origin,200,200,100,undefined,"MOD_EXPLOSIVE"); + physicsexplosionsphere(var_00.origin,200,10,1); +} + +//Function Number: 148 +spawn_player_anim_rig() +{ + return maps\_utility::spawn_anim_model("player_rig",(0,0,0)); +} + +//Function Number: 149 +courtyard_ambient_explosions() +{ + level.player endon("death"); + level endon("start_itiot"); + level endon("street_cleanup"); + level endon("flag_walker_destroyed"); + common_scripts\utility::flag_wait("flag_ambient_explosions_start"); + childthread courtyard_ambient_bullet_impacts(); +} + +//Function Number: 150 +courtyard_ambient_bullet_impacts() +{ + var_00 = common_scripts\utility::getstructarray("ambient_bullet_origins","targetname"); + var_01 = 0.05; + if(level.currentgen) + { + var_01 = 0.5; + } + + for(;;) + { + var_02 = 0.25; + var_03 = 0.5; + if(common_scripts\utility::flag("flag_slow_explosions_1")) + { + var_02 = 1.25; + var_03 = 1.5; + } + + if(common_scripts\utility::flag("flag_slow_explosions_2")) + { + var_02 = 2.25; + var_03 = 2.5; + } + + if(level.currentgen) + { + var_02 = var_02 * 2; + var_03 = var_03 * 2; + } + + wait(randomfloatrange(var_02,var_03)); + var_04 = anglestoforward(level.player.angles); + var_05 = anglestoright(level.player.angles); + var_06 = spawn("script_origin",(0,0,0)); + var_04 = var_04 * randomintrange(256,512); + var_05 = var_05 * randomintrange(-256,256); + var_07 = randomint(360); + var_06.angles = (0,var_07,0); + var_08 = var_00[randomint(var_00.size)]; + var_09 = 0; + var_0A = level.player.origin + var_04 + var_05; + var_0B = randomintrange(64,256); + if(level.currentgen) + { + var_0C = randomintrange(2,8); + } + else + { + var_0C = randomintrange(4,15); + } + + var_0D = var_0A + anglestoforward(var_06.angles) * var_0B; + var_0E = var_0D - var_0A; + var_0F = var_0C * var_01; + while(var_09 < var_0F) + { + var_10 = randomfloat(1); + if(var_10 < 0.8) + { + var_06.origin = var_0A + var_0E * var_09 / var_0F; + var_11 = randomintrange(-40,40); + var_12 = randomintrange(-40,40); + var_13 = randomintrange(-5,5); + var_06.origin = var_06.origin + (var_11,var_12,var_13); + if(!maps\_utility::shot_endangers_any_player(var_08.origin,var_06.origin)) + { + magicbullet("iw5_ak12_sp",var_08.origin,var_06.origin); + soundscripts\_snd::snd_message("courtyard_ambient_bullet_impact","iw5_ak12_sp",var_08.origin,var_06.origin); + } + } + + var_09 = var_09 + var_01; + wait(var_01); + } + + var_06 delete(); + } +} + +//Function Number: 151 +rooftop_slide() +{ + common_scripts\utility::flag_wait("flag_player_zip_started"); + var_00 = getent("rooftop_slide_guy_1","targetname"); + var_00.count++; + var_01 = var_00 maps\_utility::spawn_ai(1); + level.get_in_mobile_turret_guy = var_01; + var_01.animname = "guy1"; + var_01 maps\_utility::deletable_magic_bullet_shield(); + var_02 = [var_01]; + var_03 = undefined; + if(level.nextgen) + { + var_04 = getent("rooftop_slide_guy_2","targetname"); + var_04.count++; + var_03 = var_04 maps\_utility::spawn_ai(1); + var_03.animname = "guy2"; + var_03 maps\_utility::deletable_magic_bullet_shield(); + var_02 = common_scripts\utility::array_add(var_02,var_03); + } + + var_05 = common_scripts\utility::getstruct("struct_rooftop_slide","script_noteworthy"); + var_05 maps\_anim::anim_first_frame(var_02,"fusion_rooftop_slide"); + var_05 maps\_anim::anim_single(var_02,"fusion_rooftop_slide"); + if(isdefined(var_03)) + { + var_03 maps\_utility::stop_magic_bullet_shield(); + } + + var_06 = getnode("node_mt_guy_after_zip","targetname"); + var_01 thread maps\fusion_utility::goto_node(var_06,0); + var_01 maps\fusion_utility::disable_awareness(); + var_01 maps\_utility::delaythread(5.5,::guy_approach_mobile_turret); + if(isdefined(var_03)) + { + var_07 = getnode("node_cover_joker_after_zip","targetname"); + var_03 maps\fusion_utility::goto_node(var_07,1); + } + + common_scripts\utility::flag_wait("player_fly_in_done"); + wait(4.5); + if(isdefined(var_03)) + { + var_03 maps\_utility::set_force_color("p"); + } +} + +//Function Number: 152 +hide_water() +{ + if(level.start_point == "fly_in_animated" || level.start_point == "courtyard") + { + common_scripts\utility::flag_wait("player_fly_in_done"); + } + + var_00 = getent("water_on","targetname"); + var_00 delete(); +} + +//Function Number: 153 +courtyard_burke_rally() +{ + common_scripts\utility::flag_wait("flag_player_zip_started"); + common_scripts\utility::flag_set("flag_boots_on_ground_dialogue"); + common_scripts\utility::flag_wait("burke_fastzip_done"); + common_scripts\utility::flag_wait("player_fly_in_done"); + waittillframeend; + level.burke.animname = "burke"; + level.joker.animname = "joker"; + level.carter.animname = "carter"; + level.burke maps\_utility::set_ignoreall(1); + level.joker maps\_utility::set_ignoreall(1); + var_00 = common_scripts\utility::getstruct("struct_courtyard_burke_rally","script_noteworthy"); + maps\_utility::delaythread(6,::color_activate_post_burk_rally); + var_00 maps\_anim::anim_reach_solo(level.burke,"street_burke_rally"); + level.burke maps\_utility::set_ignoreall(0); + var_00 thread maps\_anim::anim_single_solo_run(level.burke,"street_burke_rally"); + level.burke maps\_utility::enable_ai_color(); + common_scripts\utility::flag_set("flag_burke_rally_street_dialogue"); + level.carter maps\_utility::delaythread(9,::maps\_utility::enable_ai_color); + level.joker maps\_utility::set_ignoreall(0); + var_00 maps\_anim::anim_reach_solo(level.joker,"street_burke_rally_in"); + var_00 maps\_anim::anim_single_solo(level.joker,"street_burke_rally_in"); + var_00 thread maps\_anim::anim_loop_solo(level.joker,"street_burke_rally_idle","ender_string"); + wait(2.75); + var_00 notify("ender_string"); + var_00 maps\_anim::anim_single_solo_run(level.joker,"street_burke_rally_out"); + level.joker maps\_utility::enable_ai_color(); +} + +//Function Number: 154 +color_activate_post_burk_rally() +{ + var_00 = getent("color_t_fastzip_landing","targetname"); + if(isdefined(var_00)) + { + maps\_utility::activate_trigger_with_targetname("color_t_fastzip_landing"); + } + + level.carter maps\_utility::disable_sprint(); + if(isdefined(var_00)) + { + var_00 common_scripts\utility::trigger_off(); + } +} + +//Function Number: 155 +courtyard_mobile_cover_guys() +{ + var_00 = getent("mobile_cover_guy_2","targetname"); + var_00.count++; + var_01 = var_00 maps\_utility::spawn_ai(1); + var_01.animname = "guy2"; + var_01 maps\_utility::deletable_magic_bullet_shield(); + var_02 = [var_01]; + var_03 = undefined; + if(level.nextgen) + { + var_04 = getent("mobile_cover_guy_1","targetname"); + var_04.count++; + var_03 = var_04 maps\_utility::spawn_ai(1); + var_03.animname = "guy1"; + var_03 maps\_utility::deletable_magic_bullet_shield(); + var_02 = common_scripts\utility::array_add(var_02,var_03); + } + + var_05 = common_scripts\utility::spawn_tag_origin(); + var_05.origin = (-960.107,-3213.48,-72); + var_05.angles = (0,11,0); + var_06 = spawn("script_model",var_05.origin); + var_06 setmodel("vehicle_mobile_cover"); + var_06 maps\_utility::assign_animtree("mobile_cover"); + var_07 = getent("mobile_cover_courtyard_clip","targetname"); + var_07 connectpaths(); + var_05 thread maps\_anim::anim_first_frame(var_02,"fusion_mobile_cover"); + var_05 thread maps\_anim::anim_first_frame_solo(var_06,"fusion_mobile_cover"); + var_07.origin = var_06.origin; + var_07 linkto(var_06); + common_scripts\utility::flag_wait("flag_ambient_explosions_start"); + var_06 thread mobile_cover_badplace(); + var_06 thread mobile_cover_courtyard_start(var_07,var_05); + var_05 maps\_anim::anim_single_run(var_02,"fusion_mobile_cover"); + var_01 maps\_utility::stop_magic_bullet_shield(); + var_01 kill(); + var_01 startragdoll(); + var_08 = getnode("node_mobile_cover_courtyard","targetname"); + if(isdefined(var_03)) + { + var_03 maps\fusion_utility::goto_node(var_08,1); + var_03 maps\_utility::set_force_color("y"); + var_03 maps\_utility::stop_magic_bullet_shield(); + } + + if(level.nextgen) + { + level waittill("street_cleanup"); + } + else + { + level waittill("tff_pre_transition_intro_to_middle"); + } + + var_05 delete(); + var_06 delete(); +} + +//Function Number: 156 +mobile_cover_courtyard_start(param_00,param_01) +{ + soundscripts\_snd::snd_message("cvrdrn_paired_anim_start"); + param_01 maps\_anim::anim_single_solo(self,"fusion_mobile_cover"); + soundscripts\_snd::snd_message("cvrdrn_paired_anim_explo"); + mobile_cover_explosion(param_00); +} + +//Function Number: 157 +mobile_cover_badplace() +{ + self endon("stop_mobile_cover_badplace"); + for(;;) + { + badplace_cylinder("mobile_cover_badplace",0.25,self.origin,96,96,"axis","allies"); + wait(0.25); + } +} + +//Function Number: 158 +street_mobile_cover_guys() +{ + level.player endon("death"); + common_scripts\utility::flag_wait("flag_mobile_cover_se_2"); + var_00 = common_scripts\utility::getstruct("street_mobile_cover_guys_node","script_noteworthy"); + while(distance(level.player.origin,var_00.origin) < 195 || maps\_utility::player_looking_at(var_00.origin,cos(60),1)) + { + wait(0.5); + } + + var_01 = getent("mobile_cover_2_guy_1","targetname"); + var_02 = getent("mobile_cover_2_guy_2","targetname"); + var_01.count++; + var_02.count++; + var_03 = var_01 maps\_utility::spawn_ai(1); + var_04 = var_02 maps\_utility::spawn_ai(1); + var_03.animname = "guy1"; + var_04.animname = "guy2"; + var_03 maps\_utility::deletable_magic_bullet_shield(); + var_04 maps\_utility::deletable_magic_bullet_shield(); + var_05 = getent("street_mobile_cover_guys_cover","script_noteworthy"); + var_06 = var_05 maps\_utility::spawn_vehicle(); + var_06 maps\_utility::assign_animtree("mobile_cover"); + var_06 vehicle_scripts\_cover_drone::cover_drone_disable(); + var_07 = [var_03,var_04,var_06]; + var_00 thread maps\_anim::anim_first_frame(var_07,"fusion_mobile_cover_2"); + var_00 maps\_anim::anim_single(var_07,"fusion_mobile_cover_2"); + var_06 stopanimscripted(); + var_06 vehicle_scripts\_cover_drone::cover_drone_enable(); + var_03 maps\fusion_utility::disable_awareness(); + var_04 maps\fusion_utility::disable_awareness(); + var_04 maps\fusion_utility::goto_node("node_cover_mb_guy_01",0); + var_03 maps\fusion_utility::goto_node("node_cover_mb_guy_02",0); + var_03 maps\fusion_utility::enable_awareness(); + var_04 maps\fusion_utility::enable_awareness(); + var_03 maps\_utility::stop_magic_bullet_shield(); + var_04 maps\_utility::stop_magic_bullet_shield(); + var_07 = [var_03,var_04]; + common_scripts\utility::flag_wait("flag_walker_destroyed"); + foreach(var_09 in var_07) + { + if(isalive(var_09)) + { + var_09 maps\_utility::set_force_color("y"); + } + } +} + +//Function Number: 159 +mobile_cover_explosion(param_00) +{ + self notify("stop_mobile_cover_badplace"); + var_01 = spawn("script_origin",(0,0,0)); + var_01.origin = self.origin; + var_02 = self.angles + (-90,90,0); + param_00 delete(); + self setmodel("vehicle_mobile_cover_dstrypv"); + playfx(common_scripts\utility::getfx("fusion_vehicle_mobile_cover_explosion"),var_01.origin,anglestoforward(var_02),anglestoup(var_02)); + earthquake(1,1.6,var_01.origin,625); + radiusdamage(var_01.origin,100,200,100,undefined,"MOD_EXPLOSIVE"); + physicsexplosionsphere(var_01.origin,200,10,1); + common_scripts\utility::play_sound_in_space("mortar_explosion",var_01.origin); + var_01 delete(); +} + +//Function Number: 160 +mobile_turret_dropoff() +{ + level.player endon("death"); + common_scripts\utility::flag_wait("flag_player_zip_started"); + wait(3); + common_scripts\utility::flag_set("cam_shake_start"); + var_00 = common_scripts\utility::getstruct("org_mobile_turret_warbird_deploy","targetname"); + var_01 = maps\_vehicle::spawn_vehicle_from_targetname("warbird_mobile_turret_deploy"); + var_01 soundscripts\_snd::snd_message("warbird_mobile_turret_dropoff"); + var_01.animname = "warbird_deploy"; + var_01 maps\_vehicle::godon(); + var_01 maps\_vehicle::vehicle_lights_on("running"); + var_01 vehicle_turnengineoff(); + var_02 = maps\_utility::spawn_anim_model("walker_deploy"); + var_02.animname = "walker_deploy"; + var_02 soundscripts\_snd::snd_message("walker_mobile_turret_dropoff"); + var_03 = maps\_utility::spawn_anim_model("pulley_deploy"); + var_03.animname = "pulley_deploy"; + var_01 thread custom_dust_kickup(); + var_00 maps\_anim::anim_first_frame([var_01,var_03,var_02],"mobile_turret_deploy"); + var_00 thread play_warbird_mobile_turret_dropoff(var_01,var_03); + var_00 maps\_anim::anim_single_solo(var_02,"mobile_turret_deploy"); + var_04 = maps\_vehicle::spawn_vehicle_from_targetname("walker_mobile_turret_deploy"); + var_04 soundscripts\_snd::snd_message("spawn_walker_mobile_turret_deploy"); + var_04.animname = "mobile_turret"; + var_04 maps\_vehicle::godon(); + var_04 vehicle_teleport(var_02.origin,var_02.angles); + var_02 delete(); + common_scripts\utility::flag_set("cam_shake_stop"); + var_05 = getent("clip_mobile_turret_warbird_deploy","targetname"); + var_05 connectpaths(); + var_05 delete(); + var_06 = getent("clip_mobile_turret_warbird_deploy_player","targetname"); + var_06 linkto(var_04); + thread guy_get_in_mobile_turret(var_04); + if(level.currentgen) + { + level waittill("tff_pre_transition_intro_to_middle"); + var_04 delete(); + } +} + +//Function Number: 161 +guy_approach_mobile_turret() +{ +} + +//Function Number: 162 +custom_dust_kickup() +{ + wait(0.05); + self notify("stop_kicking_up_dust"); + var_00 = common_scripts\utility::spawn_tag_origin(); + var_00 linkto(self,"tag_origin",(0,-150,-100),(0,0,0)); + thread maps\_vehicle::aircraft_wash(var_00); + self waittill("death"); + self notify("stop_kicking_up_dust"); + var_00 delete(); +} + +//Function Number: 163 +courtyard_ally_mcd_safeguard_init() +{ + common_scripts\utility::array_thread(getentarray("courtyard_trig_ally_mcd_safeguard","targetname"),::courtyard_ally_mcd_safeguard); +} + +//Function Number: 164 +courtyard_ally_mcd_safeguard() +{ + level endon("flag_walker_destroyed"); + var_00 = getent(self.target,"targetname"); + var_01 = common_scripts\utility::getstructarray("courtyard_pos_ally_mcd_safeguard","targetname"); + for(;;) + { + self waittill("trigger",var_02); + var_03 = [level.carter,level.joker,level.burke]; + foreach(var_07, var_05 in var_03) + { + var_06 = var_01[var_07]; + if(var_05 istouching(var_00) && !maps\_utility::player_can_see_ai(var_05) && !maps\_utility::player_looking_at(var_06.origin,undefined,1)) + { + var_05 forceteleport(var_06.origin,var_06.angles); + } + } + } +} + +//Function Number: 165 +play_warbird_mobile_turret_dropoff(param_00,param_01) +{ + maps\_anim::anim_single([param_00,param_01],"mobile_turret_deploy"); + param_01 linkto(param_00); + param_00 maps\_utility::vehicle_detachfrompath(); + param_00 vehicle_setspeed(60,15,5); + var_02 = common_scripts\utility::getstruct("warbird_path_after_turret_deploy","targetname"); + param_00 thread maps\_utility::vehicle_dynamicpath(var_02,0); + common_scripts\utility::flag_wait("warbird_turret_deploy_delete"); + param_01 delete(); + param_00 delete(); +} + +//Function Number: 166 +guy_get_in_mobile_turret(param_00) +{ + level.player endon("death"); + if(level.nextgen) + { + level endon("street_cleanup"); + } + else + { + level endon("tff_pre_transition_intro_to_middle"); + } + + var_01 = level.get_in_mobile_turret_guy; + var_01 notify("guy_getting_in_mobile_turret"); + var_02 = getdvarint("ai_friendlySuppression"); + setsaveddvar("ai_friendlySuppression",0); + var_01 maps\fusion_utility::disable_awareness(); + var_01 pushplayer(1); + var_01 maps\_utility::delaythread(2,::maps\_utility::enable_sprint); + param_00 maps\_anim::anim_reach_solo(var_01,"guy_enter_mobile_turret","tag_guy"); + param_00 thread maps\_anim::anim_single_solo(var_01,"guy_enter_mobile_turret","tag_guy"); + param_00 maps\_anim::anim_single_solo(param_00,"guy_enter_mobile_turret"); + setsaveddvar("ai_friendlySuppression",var_02); + param_00 thread maps\_vehicle_aianim::guy_enter(var_01); + level.get_in_mobile_turret_guy = undefined; + var_03 = getvehiclenode("deployed_turret_path","targetname"); + param_00.target = "deployed_turret_path"; + param_00 thread maps\_vehicle_code::getonpath(); + param_00 thread mobile_turret_gopath(); + param_00 thread monitor_turret_2_death(); + param_00 thread maps\fusion_utility::kill_path_on_death(); + common_scripts\utility::flag_wait("flag_mt_wall_rpg_fire"); + param_00 notify("stop_vehicle_turret_ai"); + var_04 = common_scripts\utility::spawn_tag_origin(); + var_04 linkto(param_00,"tag_body",(10000,0,0),(0,0,0)); + param_00 setturrettargetent(var_04); + common_scripts\utility::flag_wait("flag_mt_wall_rpg_impact"); + wait(0.25); + param_00 maps\_vehicle::godoff(); + param_00 dodamage(param_00.health + 200,(0,0,0)); + param_00 thread walker_guy_death(var_01); + var_04 delete(); +} + +//Function Number: 167 +walker_guy_death(param_00) +{ + var_01 = %x4walker_wheels_destructed_death_right_npc; + param_00 = maps\_vehicle_aianim::convert_guy_to_drone(param_00,0,0); + [[ level.global_kill_func ]]("MOD_RIFLE_BULLET","torso_upper",param_00.origin); + param_00 linkto(self,"tag_guy",(0,0,0),(0,0,0)); + param_00 notsolid(); + param_00 setflaggedanim("death",var_01); + param_00 thread maps\fusion_fx::set_guy_on_fire(); + var_02 = getanimlength(var_01); + var_03 = getnotetracktimes(var_01,"start_ragdoll"); + if(isdefined(var_03) && var_03.size > 0) + { + var_02 = var_02 * var_03[0]; + } + else + { + var_02 = var_02 - 0.15; + } + + wait(var_02); + param_00 unlink(); +} + +//Function Number: 168 +enemy_walker() +{ + common_scripts\utility::flag_wait("flag_enemy_walker"); + level.walker = maps\_vehicle::spawn_vehicle_from_targetname("enemy_walker"); + level.walker thread enemy_walker_set_launcher_targets(); + level.walker soundscripts\_snd::snd_message("titan_init"); + common_scripts\utility::flag_set("update_obj_pos_walker"); + level.walker.mobile_turret_rocket_target = 0; + level.walker thread walker_anims(); + level.walker thread manage_walker_health(); + level.walker thread walker_trophy_system(); + level.walker thread walker_badplace(); + level.walker thread enemy_walker_kill_player_if_too_close(); + thread launcher_out_of_ammo_think(); + thread enemy_walker_target_player_if_targeted(); + if(isalive(level.walker)) + { + level.walker waittill("death"); + } + + level.walker setcontents(0); + common_scripts\utility::flag_set("flag_walker_destroyed"); + common_scripts\utility::flag_set("update_obj_pos_security_entrance_1"); + if(level.nextgen) + { + thread spawn_more_allies(); + } + + maps\_utility::delaythread(2,::maps\_utility::autosave_now); + var_00 = getent("color_t_street_end","targetname"); + var_00 common_scripts\utility::trigger_on(); + wait(1); + if(isdefined(var_00)) + { + maps\_utility::activate_trigger_with_targetname("color_t_street_end"); + } +} + +//Function Number: 169 +launcher_out_of_ammo_think() +{ + level endon("flag_walker_destroyed"); + level.active_objective = []; + level.inactive_objective = []; + var_00 = getent("org_obj_get_launcher_ammo","targetname"); + objective_add(maps\_utility::obj("obj_launcher_ammo"),"invisible","",var_00.origin); + maps\_utility::set_objective_inactive("obj_launcher_ammo"); + for(;;) + { + wait(0.5); + if(isalive(level.walker)) + { + var_01 = level.player getweaponslist("primary"); + if(!common_scripts\utility::array_contains(var_01,"iw5_stingerm7_sp")) + { + launcher_out_of_ammo_obj_clear(var_00); + continue; + } + + foreach(var_03 in var_01) + { + if(issubstr(var_03,"iw5_stingerm7_sp")) + { + if(level.player getammocount("iw5_stingerm7_sp") > 0) + { + launcher_out_of_ammo_obj_clear(var_00); + common_scripts\utility::flag_clear("flag_launcher_out_of_ammo"); + common_scripts\utility::flag_set("flag_launcher_ammo_gathered"); + } + + if(level.player getammocount("iw5_stingerm7_sp") == 0) + { + launcher_out_of_ammo_obj(var_00,var_01); + common_scripts\utility::flag_set("flag_launcher_out_of_ammo"); + common_scripts\utility::flag_clear("flag_launcher_ammo_gathered"); + } + } + } + } + } +} + +//Function Number: 170 +launcher_out_of_ammo_obj(param_00,param_01) +{ + wait(0.5); + foreach(var_03 in param_01) + { + if(issubstr(var_03,"iw5_stingerm7_sp")) + { + if(level.player getammocount("iw5_stingerm7_sp") == 0) + { + if(maps\_utility::objective_is_inactive("obj_launcher_ammo")) + { + objective_state_nomessage(maps\_utility::obj("obj_launcher_ammo"),"active"); + objective_current_nomessage(maps\_utility::obj("obj_launcher_ammo"),maps\_utility::obj("shutdown_reactor")); + objective_setpointertextoverride(maps\_utility::obj("obj_launcher_ammo"),&"FUSION_OBJ_AMMO_CRATE"); + maps\_utility::set_objective_active("obj_launcher_ammo"); + } + } + } + } +} + +//Function Number: 171 +launcher_out_of_ammo_obj_clear(param_00) +{ + if(maps\_utility::objective_is_active("obj_launcher_ammo")) + { + objective_delete(maps\_utility::obj("obj_launcher_ammo")); + } +} + +//Function Number: 172 +enemy_walker_set_launcher_targets() +{ + while(!thread does_player_have_smaw()) + { + wait 0.05; + } + + level.scripttargets = []; + var_00 = ["kneeb_fr","kneeb_fl","kneeb_kr","kneeb_kl","shoulder_fl","shoulder_fr","launcher_left","launcher_right","tag_sparks2","tag_sparks3"]; + foreach(var_04, var_02 in var_00) + { + var_03[var_04] = common_scripts\utility::spawn_tag_origin(); + var_03[var_04].origin = self gettagorigin(var_02); + var_03[var_04].stinger_override_tags = ["tag_origin"]; + var_03[var_04].script_team = "axis"; + var_03[var_04] linkto(level.walker,var_02); + var_03[var_04].health = 100; + var_03[var_04].walkernode = 1; + level.scripttargets[level.scripttargets.size] = var_03[var_04]; + } +} + +//Function Number: 173 +enemy_walker_kill_player_if_too_close() +{ + self endon("death"); + common_scripts\utility::flag_wait("player_too_close_to_walker"); + maps\_vehicle::godon(); + level.player endon("death"); + level.player enablehealthshield(0); + foreach(var_01 in self.mgturret) + { + var_01 notify("stop_vehicle_turret_ai"); + var_01 thread walker_tank_turret_fire_at_player(level.player); + } + + for(;;) + { + level.player dodamage(15 / level.player.damagemultiplier,self.origin,self); + var_03 = randomfloatrange(0.1,0.3); + wait(var_03); + } +} + +//Function Number: 174 +enemy_walker_target_player_if_targeted() +{ + self endon("flag_walker_destroyed"); + var_00 = 0; + var_01 = 0; + if(isdefined(level.player.stingerm7_info) && isdefined(level.player.stingerm7_info.locked_targets)) + { + var_01 = level.player.stingerm7_info.locked_targets.size; + } + + var_00 = var_01; + for(;;) + { + if(isdefined(level.player.stingerm7_info) && isdefined(level.player.stingerm7_info.locked_targets)) + { + var_01 = level.player.stingerm7_info.locked_targets.size; + } + + if(var_00 != var_01) + { + if(var_01 == 0) + { + walker_tank_turret_fire_at_player_clear(); + } + + if(isdefined(level.player.stingerm7_info) && isdefined(level.player.stingerm7_info.locked_targets)) + { + var_02 = level.player.stingerm7_info.locked_targets; + foreach(var_04 in var_02) + { + if(isdefined(var_04.ent.walkernode) && var_04.ent.walkernode == 1) + { + thread walker_tank_turret_fire_at_player_think(); + } + } + } + } + + var_00 = var_01; + wait 0.05; + } +} + +//Function Number: 175 +walker_tank_turret_fire_at_player_think() +{ + self notify("walker_hit"); + self endon("walker_hit"); + level endon("flag_walker_death_anim_start"); + level.walker vehicle_scripts\_vehicle_turret_ai::vehicle_set_forced_target(level.player); +} + +//Function Number: 176 +walker_tank_turret_fire_at_player_clear() +{ + level.walker.ai_target_force_scripted = undefined; +} + +//Function Number: 177 +walker_tank_turret_fire_at_player(param_00) +{ + self endon("death"); + self endon("stop_vehicle_turret_ai"); + self setturretteam("axis"); + self setmode("manual"); + self settargetentity(param_00); + self turretfireenable(); + self startfiring(); +} + +//Function Number: 178 +spawn_more_allies() +{ + var_00 = getentarray("allies_street_end","script_noteworthy"); + foreach(var_02 in var_00) + { + if(isdefined(var_02)) + { + var_02 maps\_utility::spawn_ai(1); + } + } +} + +//Function Number: 179 +combat_street_seeker_ai() +{ + var_00 = 1; + var_01 = []; + while(!common_scripts\utility::flag("flag_enemy_walker")) + { + var_02 = getaiarray("axis"); + wait 0.05; + var_01 = []; + for(var_03 = 0;var_03 < var_00;var_03++) + { + if(var_02.size > var_03) + { + var_04 = var_02[var_03]; + if(isalive(var_04)) + { + if(isdefined(var_04.magic_bullet_shield)) + { + var_04 maps\_utility::stop_magic_bullet_shield(); + } + + var_04.playerseeker = 1; + var_04 cleargoalvolume(); + var_04 thread maps\_utility::player_seek(); + var_04.favoriteenemy = level.player; + var_01[var_01.size] = var_04; + } + } + } + + if(var_01.size > 0) + { + maps\_utility::array_wait(var_01,"death"); + } + + if(common_scripts\utility::flag("player_in_x4walker")) + { + common_scripts\utility::flag_waitopen("player_in_x4walker"); + } + + wait(5); + } + + foreach(var_06 in var_01) + { + if(isalive(var_06)) + { + var_06 notify("goal"); + } + } +} + +//Function Number: 180 +walker_badplace() +{ + while(!common_scripts\utility::flag("flag_walker_tank_on_mount")) + { + badplace_cylinder("walker_tank_badplace",0.5,self.origin,280,300,"axis","team3","allies"); + wait(0.55); + } +} + +//Function Number: 181 +walker_missile_barrage() +{ + wait(0.25); + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("tank_missile_01"); + playfxontag(common_scripts\utility::getfx("walker_tank_rocket_wv"),var_00,"tag_origin"); + var_00 soundscripts\_snd::snd_message("titan_missile"); + wait(0.15); + var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("tank_missile_02"); + playfxontag(common_scripts\utility::getfx("walker_tank_rocket_wv"),var_01,"tag_origin"); + var_01 soundscripts\_snd::snd_message("titan_missile"); + wait(0.15); + var_02 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("tank_missile_03"); + playfxontag(common_scripts\utility::getfx("walker_tank_rocket_wv"),var_02,"tag_origin"); + var_02 soundscripts\_snd::snd_message("titan_missile"); + wait(1.15); + var_03 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("tank_missile_04"); + playfxontag(common_scripts\utility::getfx("walker_tank_rocket_wv"),var_03,"tag_origin"); + var_03 soundscripts\_snd::snd_message("titan_missile"); + wait(0.15); + var_04 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("tank_missile_05"); + playfxontag(common_scripts\utility::getfx("walker_tank_rocket_wv"),var_04,"tag_origin"); + var_04 soundscripts\_snd::snd_message("titan_missile"); + wait(0.15); + var_05 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("tank_missile_06"); + playfxontag(common_scripts\utility::getfx("walker_tank_rocket_wv"),var_05,"tag_origin"); + var_05 soundscripts\_snd::snd_message("titan_missile"); + wait(0.15); + var_06 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("tank_missile_07"); + playfxontag(common_scripts\utility::getfx("walker_tank_rocket_wv"),var_06,"tag_origin"); + var_06 soundscripts\_snd::snd_message("titan_missile"); +} + +//Function Number: 182 +walker_anims() +{ + self endon("stop_walker_tank_anims"); + level.player endon("death"); + self.animname = "walker_tank"; + var_00 = common_scripts\utility::getstruct("org_enemy_walker","targetname"); + soundscripts\_snd::snd_message("titan_enter"); + var_00 maps\_anim::anim_single_solo(self,"fusion_walker_tank_enter"); + self.state = "forward"; + self.death_state = "forward"; + self.prev_state = "forward"; + common_scripts\utility::flag_set("flag_walker_tank_on_mount"); + var_00 thread maps\_anim::anim_loop_solo(self,"fusion_walker_tank_fwd_idle","walker_stop_idle"); + self disconnectpaths(); + for(;;) + { + wait(randomfloatrange(5,10)); + var_01 = []; + switch(self.state) + { + case "forward": + var_01 = ["left","right"]; + break; + + case "left": + var_01 = ["forward","right"]; + break; + + case "right": + var_01 = ["forward","left"]; + break; + } + + self.prev_state = self.state; + if(common_scripts\utility::cointoss()) + { + self.state = var_01[0]; + } + else + { + self.state = var_01[1]; + } + + var_00 notify("walker_stop_idle"); + if(self.state == "left") + { + if(self.prev_state == "right") + { + self.death_state = "right"; + var_00 maps\_anim::anim_single_solo(self,"fusion_walker_tank_right_2_fwd"); + self.death_state = "forward"; + } + + var_00 maps\_anim::anim_single_solo(self,"fusion_walker_tank_fwd_2_left"); + self.death_state = "left"; + var_00 thread maps\_anim::anim_loop_solo(self,"fusion_walker_tank_left_idle","walker_stop_idle"); + } + + if(self.state == "right") + { + if(self.prev_state == "left") + { + self.death_state = "left"; + var_00 maps\_anim::anim_single_solo(self,"fusion_walker_tank_left_2_fwd"); + self.death_state = "forward"; + } + + var_00 maps\_anim::anim_single_solo(self,"fusion_walker_tank_fwd_2_right"); + self.death_state = "right"; + var_00 thread maps\_anim::anim_loop_solo(self,"fusion_walker_tank_right_idle","walker_stop_idle"); + } + + if(self.state == "forward") + { + if(self.prev_state == "left") + { + self.death_state = "left"; + var_00 maps\_anim::anim_single_solo(self,"fusion_walker_tank_left_2_fwd"); + } + + if(self.prev_state == "right") + { + self.death_state = "right"; + var_00 maps\_anim::anim_single_solo(self,"fusion_walker_tank_right_2_fwd"); + } + + self.death_state = "forward"; + var_00 thread maps\_anim::anim_loop_solo(self,"fusion_walker_tank_fwd_idle","walker_stop_idle"); + } + } +} + +//Function Number: 183 +walker_trophy_system() +{ + self endon("death"); + level.player endon("death"); + self.trophy_count = 5; + self.current_projectile = 1; + while(self.trophy_count >= 0) + { + level waittill("stinger_fired",var_00,var_01); + foreach(var_03 in var_01) + { + thread player_projectile_think(var_03,self); + } + } +} + +//Function Number: 184 +player_projectile_think(param_00,param_01) +{ + level.player endon("projectile_impact"); + param_00 endon("death"); + param_01 endon("death"); + level.player endon("death"); + var_02 = 512; + if(param_01.trophy_count <= 0) + { + return; + } + + while(isdefined(param_00)) + { + var_03 = distance(param_00.origin,param_01.origin); + if(var_03 <= var_02) + { + playfx(common_scripts\utility::getfx("trophy_ignition_smoke"),param_01.origin + (0,0,96)); + playfx(common_scripts\utility::getfx("trophy_explosion"),param_00.origin); + soundscripts\_snd::snd_message("trophy_system_explosion",param_00.origin); + param_01.trophy_count--; + if(param_01.current_projectile <= 2) + { + common_scripts\utility::flag_set("walker_trophy_" + param_01.current_projectile); + } + + param_01.current_projectile++; + param_00 delete(); + } + + wait(0.05); + } +} + +//Function Number: 185 +manage_walker_health() +{ + self endon("death"); + level.player endon("death"); + maps\_vehicle::godon(); + thread walker_damage_fx(); + wait_for_walker_to_be_hit_by_smaw(); + common_scripts\utility::flag_set("walker_damaged"); + wait(1); + wait_for_walker_to_be_hit_by_smaw(); + objective_state_nomessage(maps\_utility::obj("use_smaw"),"done"); + objective_state_nomessage(maps\_utility::obj("obj_launcher_ammo"),"done"); + self notify("stop_vehicle_turret_ai"); + self notify("stop_walker_tank_anims"); + foreach(var_01 in level.scripttargets) + { + if(isdefined(var_01) && var_01.health > 0) + { + var_01 kill(); + } + } + + level.stinger_targets = common_scripts\utility::array_remove_array(level.stinger_targets,level.scripttargets); + maps\_utility::array_delete(level.scripttargets); + level.scripttargets = undefined; + walker_play_death_anim(); +} + +//Function Number: 186 +wait_for_walker_to_be_hit_by_smaw() +{ + level.player endon("death"); + for(;;) + { + self waittill("damage",var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09); + if(isplayer(var_01) && var_04 == "MOD_PROJECTILE" && var_09 == "iw5_stingerm7_sp") + { + soundscripts\_snd::snd_message("titan_take_damage_from_smaw"); + break; + } + } +} + +//Function Number: 187 +walker_damage_fx() +{ + common_scripts\utility::flag_wait("walker_damaged"); + playfxontag(common_scripts\utility::getfx("vehicle_damaged_sparks_l"),self,"TAG_SPARKS1"); + thread maps\_utility::play_sound_on_tag("titan_take_smaw_dmg_sparks","TAG_SPARKS1",1); + wait 0.05; + playfxontag(common_scripts\utility::getfx("vehicle_damaged_sparks_l"),self,"TAG_SPARKS2"); + thread maps\_utility::play_sound_on_tag("titan_take_smaw_dmg_sparks","TAG_SPARKS1",1); + wait 0.05; + playfxontag(common_scripts\utility::getfx("vehicle_damaged_sparks_l"),self,"TAG_SPARKS3"); + thread maps\_utility::play_sound_on_tag("titan_take_smaw_dmg_sparks","TAG_SPARKS1",1); + wait 0.05; + playfxontag(common_scripts\utility::getfx("vehicle_damaged_sparks_l"),self,"TAG_SPARKS4"); + thread maps\_utility::play_sound_on_tag("titan_take_smaw_dmg_sparks","TAG_SPARKS1",1); + wait 0.05; +} + +//Function Number: 188 +walker_play_death_anim() +{ + common_scripts\utility::flag_set("flag_walker_death_anim_start"); + var_00 = ""; + switch(self.death_state) + { + case "forward": + var_00 = "fusion_walker_tank_fwd_idle_death"; + break; + + case "left": + var_00 = "fusion_walker_tank_left_idle_death"; + break; + + case "right": + var_00 = "fusion_walker_tank_right_idle_death"; + break; + } + + var_01 = common_scripts\utility::getstruct("org_enemy_walker","targetname"); + thread maps\fusion_fx::walker_dying_fx(); + soundscripts\_snd::snd_message("titan_death"); + var_01 maps\_anim::anim_single_solo(self,var_00); +} + +//Function Number: 189 +destroy_walker_tank(param_00) +{ + param_00 vehicle_teleport(param_00.origin,param_00.angles - (0,28.225,0)); + param_00 setmodel("vehicle_walker_tank_dstrypv"); + playfxontag(common_scripts\utility::getfx("walker_explosion"),param_00,"TAG_DEATH_FX"); + var_01 = param_00.origin; + var_02 = param_00 gettagorigin("TAG_FIRE"); + var_03 = param_00 gettagangles("TAG_FIRE"); + var_04 = param_00 gettagorigin("TAG_FIRE2"); + var_05 = param_00 gettagangles("TAG_FIRE2"); + var_06 = param_00 gettagorigin("TAG_SPARKS"); + var_07 = param_00 gettagorigin("TAG_SPARKS"); + param_00 kill(param_00.origin,level.player); + wait(0.1); + earthquake(1,1.6,var_01,1350); + radiusdamage(var_01,400,200,100,undefined,"MOD_EXPLOSIVE"); + physicsexplosionsphere(var_01,400,10,1); + wait(1); + playfx(common_scripts\utility::getfx("vehicle_destroyed_fire_m"),var_02,anglestoforward(var_03),anglestoup(var_03)); + playfx(common_scripts\utility::getfx("vehicle_destroyed_fire_m"),var_04,anglestoforward(var_05),anglestoup(var_05)); + playfx(common_scripts\utility::getfx("electrical_sparks_runner"),var_06,anglestoforward(var_07),anglestoup(var_07)); +} + +//Function Number: 190 +add_to_javelin_targeting() +{ + target_set(self,(0,0,56)); + target_setjavelinonly(self,1); + if(isalive(level.walker)) + { + self waittill("death"); + } + + target_remove(self); +} + +//Function Number: 191 +btr_turret_think() +{ + self endon("death"); + self endon("kill_btr_turret_think"); + thread maps\_vehicle::vehicle_turret_scan_on(); + for(;;) + { + wait(randomfloatrange(0.3,0.8)); + var_00 = btr_get_target(); + if(isdefined(var_00)) + { + btr_fire_at_target(var_00); + wait(0.3); + } + } +} + +//Function Number: 192 +btr_fire_at_target(param_00) +{ + param_00 endon("death"); + level endon("walker_death_anim_started"); + self setturrettargetent(param_00,(0,0,32)); + if(common_scripts\utility::cointoss()) + { + if(isdefined(self.mgturret)) + { + foreach(var_02 in self.mgturret) + { + if(isdefined(var_02)) + { + var_02 setturretteam("axis"); + var_02 setmode("manual"); + var_02 settargetentity(param_00); + var_02 startfiring(); + } + } + } + + wait(randomfloatrange(3,5)); + if(isdefined(self.mgturret)) + { + foreach(var_02 in self.mgturret) + { + if(isdefined(var_02)) + { + var_02 cleartargetentity(); + var_02 stopfiring(); + } + } + + return; + } + + return; + } + + for(var_06 = 0;var_06 < randomintrange(1,3);var_06++) + { + burst_fire_weapon(); + wait(0.5); + } +} + +//Function Number: 193 +burst_fire_weapon() +{ + for(var_00 = 0;var_00 < randomintrange(2,4);var_00++) + { + self fireweapon(); + wait(0.2); + } +} + +//Function Number: 194 +btr_get_target() +{ + var_00 = 4; + var_01 = getaiarray("allies"); + for(var_02 = 0;var_02 < var_00;var_02++) + { + var_01[var_01.size] = level.player; + } + + return common_scripts\utility::random(var_01); +} + +//Function Number: 195 +reactor_entrance_rally() +{ + var_00 = getentarray("security_door_right","targetname"); + var_01 = getentarray("security_door_left","targetname"); + foreach(var_03 in var_00) + { + if(var_03.classname == "script_brushmodel") + { + var_03 disconnectpaths(); + } + } + + foreach(var_03 in var_01) + { + if(var_03.classname == "script_brushmodel") + { + var_03 disconnectpaths(); + } + } + + common_scripts\utility::flag_wait("flag_walker_destroyed"); + var_07 = common_scripts\utility::getstruct("security_doors_animnode","targetname"); + var_08 = spawn("script_origin",var_07.origin); + var_08.angles = var_07.angles; + var_09 = "fusion_security_doors_approach"; + var_0A = "fusion_security_doors_idle"; + var_0B = "fusion_security_doors_open"; + var_0C = "security_door_ender"; + var_0D = []; + var_0D[var_0D.size] = level.burke; + var_0D[var_0D.size] = level.carter; + var_0E = maps\_utility::spawn_anim_model("security_door_right"); + var_0F = maps\_utility::spawn_anim_model("security_door_left"); + var_10 = []; + var_10[var_10.size] = var_0E; + var_10[var_10.size] = var_0F; + var_08 maps\_anim::anim_first_frame(var_10,var_0B); + foreach(var_03 in var_00) + { + var_03 linkto(var_0E,"tag_origin_animated"); + } + + foreach(var_03 in var_01) + { + var_03 linkto(var_0F,"tag_origin_animated"); + } + + level.burke thread security_doors_approach(var_08,var_09,var_0A,var_0C); + level.carter thread security_doors_approach(var_08,var_09,var_0A,var_0C); + level waittill("security_door_npc_ready"); + level waittill("security_door_npc_ready"); + common_scripts\utility::flag_wait("flag_player_at_reactor_door"); + var_08 notify(var_0C); + var_08 thread maps\_anim::anim_single_solo_run(level.burke,var_0B); + var_08 thread maps\_anim::anim_single_solo(var_0E,var_0B); + wait(0.5); + var_08 thread maps\_anim::anim_single_solo_run(level.carter,var_0B); + var_08 thread maps\_anim::anim_single_solo(var_0F,var_0B); + foreach(var_03 in var_00) + { + if(var_03.classname == "script_brushmodel") + { + var_03 connectpaths(); + } + } + + foreach(var_03 in var_01) + { + if(var_03.classname == "script_brushmodel") + { + var_03 connectpaths(); + } + } + + maps\_utility::activate_trigger_with_targetname("security_room_doors_open"); +} + +//Function Number: 196 +security_doors_approach(param_00,param_01,param_02,param_03) +{ + maps\_utility::disable_ai_color(); + self notify("stop_goto_node"); + self notify("goal"); + param_00 maps\_anim::anim_reach_solo(self,param_01); + param_00 maps\_anim::anim_single_solo(self,param_01); + maps\_utility::enable_cqbwalk(); + level notify("security_door_npc_ready"); + maps\_utility::enable_ai_color(); + param_00 maps\_anim::anim_loop_solo(self,param_02,param_03); +} + +//Function Number: 197 +reactor_entrance_rally_anim(param_00) +{ + self endon("death"); + var_01 = self.animname + "_ender"; + maps\_utility::disable_ai_color(); + param_00 maps\_anim::anim_reach_solo(self,"reactor_entrance_st"); + maps\_utility::ent_flag_set("flag_reactor_entrance_ready"); + param_00 maps\_anim::anim_single_solo(self,"reactor_entrance_st"); + param_00 thread maps\_anim::anim_loop_solo(self,"reactor_entrance_idle",var_01); + common_scripts\utility::flag_wait("interior_allies"); + param_00 notify(var_01); +} + +//Function Number: 198 +postspawn_rpg_vehicle() +{ + self setmodel("projectile_rpg7"); + var_00 = common_scripts\utility::getfx("rpg_trail"); + playfxontag(var_00,self,"tag_origin"); + var_00 = common_scripts\utility::getfx("rpg_muzzle"); + playfxontag(var_00,self,"tag_origin"); + self playsound("weap_rpg_fire_npc"); + if(isdefined(self.script_sound)) + { + if(isdefined(self.script_wait)) + { + common_scripts\utility::delaycall(self.script_wait,::playsound,self.script_sound); + } + else + { + self playsound(self.script_sound); + } + } + else + { + self playloopsound("weap_rpg_loop"); + } + + self waittill("reached_end_node"); + self notify("explode",self.origin); + var_01 = 0; + if(isdefined(self.script_exploder)) + { + common_scripts\_exploder::exploder(self.script_exploder); + var_01 = 1; + } + else if(isdefined(self.currentnode)) + { + var_02 = undefined; + var_03 = self.currentnode; + while(isdefined(var_03)) + { + var_02 = var_03; + if(!isdefined(var_03.target)) + { + break; + } + + var_03 = getvehiclenode(var_03.target,"targetname"); + } + + if(isdefined(var_02.target)) + { + var_04 = common_scripts\utility::getstruct(var_02.target,"targetname"); + if(isdefined(var_04)) + { + level thread rpg_explosion(var_04.origin,var_04.angles); + var_01 = 1; + } + } + } + + if(!var_01) + { + var_04 = spawnstruct(); + var_04.origin = self.origin; + var_04.angles = (-90,0,0); + level thread rpg_explosion(var_04.origin,var_04.angles); + } + + self delete(); +} + +//Function Number: 199 +rpg_explosion(param_00,param_01) +{ + var_02 = common_scripts\utility::getfx("rpg_explode"); + playfx(var_02,param_00,anglestoforward(param_01),anglestoup(param_01)); + radiusdamage(param_00,200,150,50); + thread common_scripts\utility::play_sound_in_space("null",param_00); +} + +//Function Number: 200 +interior_gameplay() +{ + thread interior_allies(); + thread security_room(); + thread laboratory(); + thread reactor_room(); + thread turbine_room(); + thread control_room(); + level.pipesdamage = 0; +} + +//Function Number: 201 +interior_allies() +{ + waittillframeend; + common_scripts\utility::flag_wait_any("interior_allies","flag_walker_destroyed"); + level.burke maps\_utility::set_force_color("r"); + level.joker maps\_utility::set_force_color("g"); + level.carter maps\_utility::set_force_color("o"); +} + +//Function Number: 202 +security_room() +{ + if(level.start_point != "fly_in_animated" && level.start_point != "fly_in_animated_part2" && level.start_point != "courtyard" && level.start_point != "security_room") + { + return; + } + + common_scripts\utility::flag_wait_any("interior_allies","flag_walker_destroyed"); + var_00 = "security_room_check_corpse"; + var_01 = "security_room_check_corpse_idle"; + var_02 = "security_room_check_corpse_idle_stop"; + var_03 = getent("fusion_security_room_corpse","targetname") maps\_utility::spawn_ai(1); + var_03 setcontents(0); + var_03.animname = "generic"; + var_04 = common_scripts\utility::getstruct("fusion_security_room_corpse_fall_npc","targetname"); + var_05 = spawn("script_origin",var_04.origin); + var_06 = (0,0,0); + if(isdefined(var_04.angles)) + { + var_06 = var_04.angles; + var_05.angles = var_04.angles; + } + + var_03 clearanim(%body,0.2); + var_03 stopanimscripted(); + var_05 maps\_anim::anim_first_frame_solo(var_03,var_00); + wait(0.05); + var_07 = spawn("script_model",var_03 gettagorigin("TAG_WEAPON_RIGHT")); + var_07.angles = var_03 gettagangles("TAG_WEAPON_RIGHT"); + var_07 setmodel("npc_m160"); + var_07 linkto(var_03,"TAG_WEAPON_RIGHT"); + var_08 = getent("security_room_elevator_doors","targetname"); + var_08 maps\_utility::assign_animtree("security_room_elevator_doors"); + var_05 maps\_anim::anim_first_frame_solo(var_08,"security_room_open_elevator"); + var_09 = getent("security_elevator_door_left","targetname"); + var_0A = getent("security_elevator_door_right","targetname"); + var_09 linkto(var_08,"elevator_back_left_jnt"); + var_0A linkto(var_08,"elevator_back_right_jnt"); + common_scripts\utility::flag_wait("security_room_check_corpse"); + maps\_utility::battlechatter_off("allies"); + level.burke thread start_cqb_when_near(getstartorigin(var_05.origin,var_06,level.scr_anim["burke"][var_00])); + var_05 maps\_anim::anim_reach_solo(level.burke,var_00); + maps\_utility::delaythread(3,::common_scripts\utility::flag_set,"vo_security_room_elevator_access"); + thread security_elevator_open(); + soundscripts\_snd::snd_message("start_dead_guy_foley",var_03); + var_05 thread maps\_anim::anim_generic(var_03,var_00); + var_05 maps\_anim::anim_single_solo(level.burke,var_00); + if(!common_scripts\utility::flag("elevator_door_open")) + { + var_05 thread maps\_anim::anim_loop_solo(level.burke,var_01,var_02); + common_scripts\utility::flag_wait("elevator_door_open"); + var_05 notify(var_02); + } + + var_0B = "security_room_turn_to_elevator"; + var_0C = "elevator_descent_start_idle"; + var_05 maps\_anim::anim_single_solo(level.burke,var_0B); + common_scripts\utility::flag_set("burke_facing_elevator"); + var_05 thread maps\_anim::anim_loop_solo(level.burke,var_0C,var_0C); + wait(2); + common_scripts\utility::flag_wait("elevator_descent"); + var_05 notify(var_0C); + var_05 delete(); + if(level.currentgen) + { + level waittill("tff_pre_transition_intro_to_middle"); + var_09 delete(); + var_0A delete(); + var_07 delete(); + var_03 delete(); + } +} + +//Function Number: 203 +start_cqb_when_near(param_00) +{ + var_01 = 40000; + while(distancesquared(self.origin,param_00) > var_01) + { + wait(0.1); + } + + maps\_utility::enable_cqbwalk(); +} + +//Function Number: 204 +security_elevator_open() +{ + var_00 = common_scripts\utility::getstruct("fusion_security_room_corpse_fall_npc","targetname"); + var_01 = spawn("script_origin",var_00.origin); + if(isdefined(var_00.angles)) + { + var_01.angles = var_00.angles; + } + + var_02 = "security_room_approach_elevator"; + var_03 = "security_room_open_elevator_idle"; + var_04 = "end_approach_idle"; + var_05 = "security_room_open_elevator"; + var_06 = "security_room_elevator_opened_idle"; + soundscripts\_snd::snd_message("start_elevator_zone_audio"); + var_07 = []; + var_07[var_07.size] = level.joker; + var_07[var_07.size] = level.carter; + level.joker maps\_utility::disable_ai_color(); + level.carter maps\_utility::disable_ai_color(); + level.burke maps\_utility::disable_ai_color(); + common_scripts\utility::array_thread(var_07,::security_elevator_approach,var_01,var_02,var_03,var_04); + level waittill("elevator_open_guy_ready"); + level waittill("elevator_open_guy_ready"); + common_scripts\utility::flag_wait("elevator_door_open"); + var_01 notify(var_04); + common_scripts\_exploder::exploder("elevator_door_open_fx"); + var_08 = getent("security_room_elevator_doors","targetname"); + var_08 maps\_utility::assign_animtree("security_room_elevator_doors"); + common_scripts\utility::flag_set("vo_security_room_elevator_open"); + level.joker thread security_elevator_open_anim(var_01,1,var_05,var_06); + level.carter thread security_elevator_open_anim(var_01,0,var_05,var_06); + var_01 thread maps\_anim::anim_single_solo(var_08,var_05); + soundscripts\_snd::snd_message("Sec_Room_Elevator_Open"); + security_elevator_descent(var_01); + var_01 delete(); +} + +//Function Number: 205 +security_elevator_approach(param_00,param_01,param_02,param_03) +{ + if(self == level.joker) + { + wait(4); + } + + param_00 maps\_anim::anim_reach_solo(self,param_01); + if(self == level.joker) + { + soundscripts\_snd::snd_message("Sec_Room_Move_To_Elevator"); + } + + param_00 maps\_anim::anim_single_solo(self,param_01); + if(self == level.joker) + { + soundscripts\_snd::snd_message("Sec_Room_Attach_To_Elevator"); + } + + param_00 thread maps\_anim::anim_loop_solo(self,param_02,param_03); + level notify("elevator_open_guy_ready"); +} + +//Function Number: 206 +security_elevator_open_anim(param_00,param_01,param_02,param_03) +{ + var_04 = "stop_opened_idle"; + var_05 = spawn("script_origin",param_00.origin); + var_05 maps\_anim::anim_single_solo(self,param_02); + if(!common_scripts\utility::flag("elevator_descent_player")) + { + var_05 thread maps\_anim::anim_loop_solo(self,param_03,var_04); + common_scripts\utility::flag_wait("elevator_descent_player"); + var_05 notify(var_04); + } +} + +//Function Number: 207 +security_elevator_descent(param_00) +{ + thread security_elevator_descent_player(); + common_scripts\utility::flag_wait("burke_facing_elevator"); + wait(2); + common_scripts\utility::flag_wait("elevator_descent"); + level.guys_down_elevator = 0; + level.burke thread security_elevator_descent_ai(param_00); + thread security_elevator_prompt(); + common_scripts\utility::flag_wait("elevator_descent_player"); + wait(1); + level.joker thread security_elevator_descent_ai(param_00); + level.carter security_elevator_descent_ai(param_00); +} + +//Function Number: 208 +security_elevator_prompt() +{ + wait(4); + if(common_scripts\utility::flag("elevator_descent_player")) + { + return; + } + + var_00 = maps\_shg_utility::hint_button_position("jump",common_scripts\utility::getstruct("obj_pos_security_elevator","targetname").origin,128,512); + common_scripts\utility::flag_wait("elevator_descent_player"); + var_00 maps\fusion_utility::hint_button_clear_fus(); +} + +//Function Number: 209 +transient_transition_intro_to_middle() +{ + if(level.currentgen) + { + level notify("tff_pre_transition_intro_to_middle"); + unloadtransient("fusion_intro_tr"); + loadtransient("fusion_middle_tr"); + while(!istransientloaded("fusion_middle_tr")) + { + wait(0.05); + } + + level notify("tff_post_transition_intro_to_middle"); + } +} + +//Function Number: 210 +security_elevator_descent_player() +{ + var_00 = common_scripts\utility::getstruct("elevator_descent_org","targetname"); + var_01 = maps\_utility::spawn_anim_model("player_rig",level.player.origin); + var_00 thread maps\_anim::anim_first_frame_solo(var_01,"elevator_descent"); + var_01 hide(); + common_scripts\utility::flag_wait("elevator_descent_player"); + thread transient_transition_intro_to_middle(); + level.player maps\_utility::blend_movespeedscale_percent(0); + soundscripts\_snd::snd_message("start_player_elevator_slide"); + common_scripts\utility::flag_set("update_obj_pos_elevator_descent"); + level.player maps\_utility::add_wait(::maps\_shg_utility::setup_player_for_scene,1); + var_01 maps\_utility::add_call(::show); + thread maps\_utility::do_wait(); + var_02 = 0.3; + level.player playerlinktoblend(var_01,"tag_player",var_02); + level.player common_scripts\utility::delaycall(var_02,::playerlinktodelta,var_01,"tag_player",0,20,20,20,20); + var_03 = 3.25; + if(level.currentgen) + { + var_03 = var_03 * 1.35; + } + + level.player common_scripts\utility::delaycall(var_03,::enableweapons); + level.player common_scripts\utility::delaycall(1.5,::givemaxammo,"iw5_bal27_sp_variablereddot"); + common_scripts\utility::noself_delaycall(1,::playfxontag,common_scripts\utility::getfx("elevator_player_slide_dust"),var_01,"J_MainRoot"); + level.player thread elevator_rumble(); + soundscripts\_snd::snd_message("start_player_elevator_jump"); + var_00 maps\_anim::anim_single_solo(var_01,"elevator_descent"); + level.player unlink(); + var_01 delete(); + level.player enableweapons(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + common_scripts\utility::flag_set("lab_cqb"); + common_scripts\utility::flag_set("vo_lab_elevator_slide_complete"); + thread street_cleanup(); + maps\_utility::autosave_by_name("elevator_slide_complete"); +} + +//Function Number: 211 +elevator_rumble() +{ + wait(0.5); + var_00 = maps\_utility::get_rumble_ent("steady_rumble"); + var_00.intensity = 0.2; + wait(2.3); + stopallrumbles(); +} + +//Function Number: 212 +play_lab_reactor_pip() +{ + level notify("stop_evacuation_kiosk_movie"); + wait(0.5); + common_scripts\utility::flag_wait("vo_lab_elevator_slide_complete"); + setsaveddvar("cg_cinematicfullscreen","0"); + maps\_shg_utility::play_videolog("fusion_videolog","screen_add"); + wait(0.5); + evacuation_kiosk_movie(); +} + +//Function Number: 213 +sync_transients_after_time(param_00) +{ + wait(param_00); + synctransients(); +} + +//Function Number: 214 +corpse_trigger_think() +{ + self waittill("trigger"); + var_00 = getentarray(self.target,"targetname"); + var_01 = maps\_utility::getstructarray_delete(var_00[0].script_noteworthy,"script_noteworthy"); + foreach(var_03 in var_01) + { + var_04 = var_00[randomintrange(0,var_00.size)]; + var_05 = var_04 maps\_utility::spawn_ai(); + var_05.origin = var_03.origin; + var_05.angles = var_03.angles; + var_05 setcandamage(0); + if(isdefined(var_05.weapon) && var_05.weapon != "none") + { + var_05 maps\_utility::gun_remove(); + } + + var_06 = level.scr_anim["generic"][var_03.animation]; + if(isarray(var_06)) + { + var_06 = var_06[0]; + } + + var_05 animscripted("endanim",var_03.origin,var_03.angles,var_06); + if(isdefined(var_03.script_parameters)) + { + if(var_03.script_parameters == "notsolid") + { + var_05 notsolid(); + } + + if(var_03.script_parameters == "ripples") + { + var_05 thread ripples_on_body(var_03); + } + } + + if(issubstr(var_03.animation,"death")) + { + var_05 common_scripts\utility::delaycall(0.05,::setanimtime,var_06,1); + } + } + + if(isdefined(self.script_flag)) + { + common_scripts\utility::flag_wait(self.script_flag); + common_scripts\utility::array_call(getentarray(var_00[0].script_noteworthy,"script_noteworthy"),::delete); + } +} + +//Function Number: 215 +ripples_on_body(param_00) +{ + self endon("death"); + wait(0.1); + var_01 = common_scripts\utility::get_target_ent(param_00.target); + var_02 = (self.origin[0],self.origin[1],var_01.origin[2] - 1); + for(;;) + { + playfx(common_scripts\utility::getfx("water_movement"),var_02); + wait(randomfloatrange(0.5,1)); + } +} + +//Function Number: 216 +street_cleanup() +{ + level notify("street_cleanup"); + waittillframeend; + var_00 = getaiarray(); + var_00 = common_scripts\utility::array_remove(var_00,level.burke); + var_00 = common_scripts\utility::array_remove(var_00,level.joker); + var_00 = common_scripts\utility::array_remove(var_00,level.carter); + common_scripts\utility::array_call(var_00,::delete); + common_scripts\utility::array_call(getentarray("script_vehicle_x4walker_wheels_turret","classname"),::delete); + common_scripts\utility::array_call(getentarray("script_vehicle_x4walker_wheels_turret_explosive","classname"),::delete); + if(isdefined(level.player.linked_to_cover)) + { + level.player.linked_to_cover vehicle_scripts\_cover_drone::player_unlink_from_cover(); + } + + common_scripts\utility::array_call(getentarray("script_vehicle_cover_drone","classname"),::delete); + common_scripts\utility::array_call(getentarray("mobile_turret","targetname"),::delete); + common_scripts\utility::array_call(getentarray("script_vehicle_pdrone","classname"),::delete); + if(isdefined(level.walker)) + { + level.walker connectpaths(); + } +} + +//Function Number: 217 +security_elevator_descent_ai(param_00) +{ + var_01 = "elevator_descent"; + if(self == level.burke) + { + soundscripts\_snd::snd_message("start_burke_elevator_slide"); + param_00 thread maps\_anim::anim_single_solo(self,var_01); + maps\_utility::delaythread(3,::common_scripts\utility::flag_set,"update_obj_pos_security_elevator"); + common_scripts\utility::waittill_any_ents(param_00,var_01,level,"burke_elevator_landing"); + var_01 = "elevator_descent_exit"; + param_00 maps\_anim::anim_single_solo(self,var_01); + } + else + { + self stopanimscripted(); + param_00 maps\_anim::anim_single_solo(self,var_01); + } + + laboratory_start_idle(); +} + +//Function Number: 218 +laboratory_start_idle() +{ + var_00 = "elevator_descent_end_idle"; + var_01 = "elevator_descent_end_idle_2_cqb"; + var_02 = "elevator_descent_end_idle_stop"; + var_03 = common_scripts\utility::getstruct("fusion_security_room_corpse_fall_npc","targetname"); + var_04 = spawn("script_origin",var_03.origin); + if(isdefined(var_03.angles)) + { + var_04.angles = var_03.angles; + } + + var_04 thread maps\_anim::anim_loop_solo(self,var_00,var_02); + if(!isdefined(level.guys_down_elevator)) + { + level.guys_down_elevator = 0; + } + + level.guys_down_elevator++; + level notify("guy_down_elevator"); + while(level.guys_down_elevator < 3) + { + level waittill("guy_down_elevator"); + } + + common_scripts\utility::flag_wait("negotiation_elevator_to_hall"); + if(self == level.burke) + { + wait(4); + } + else if(self == level.carter) + { + wait(1); + } + + var_04 notify(var_02); + maps\_utility::enable_cqbwalk(); + maps\_utility::enable_ai_color(); + self.moveplaybackrate = 1.1; + if(self == level.joker) + { + common_scripts\utility::flag_set("start_lab_traversals"); + } + else + { + var_04 maps\_anim::anim_single_solo_run(self,var_01); + } + + var_04 delete(); +} + +//Function Number: 219 +laboratory() +{ + level endon("airlock_scene_prep"); + thread laboratory_cqb(); + thread play_lab_reactor_pip(); + common_scripts\utility::flag_wait("start_lab_traversals"); + thread lab_doorway_dyn_path(); + thread color_group_enter_lab_trigger(); + laboratory_traversal("negotiation_elevator_to_hall",level.joker); + laboratory_traversal("negotiation_hall_to_lab",level.burke,"negotiation_curved_hall"); + wait 0.05; + laboratory_traversal("negotiation_curved_hall",level.burke,"negotiation_locker_room_entrance"); + wait 0.05; + laboratory_traversal("negotiation_locker_room_entrance",level.carter,"airlock_scene_prep"); +} + +//Function Number: 220 +color_group_enter_lab_trigger() +{ + var_00 = getent("color_group_enter_lab","targetname"); + if(isdefined(var_00)) + { + var_00 waittill("trigger"); + } + + var_01 = getent("negotiation_hall_to_lab_carter","targetname"); + var_01 delete(); + var_02 = getent("negotiation_hall_to_lab_joker","targetname"); + var_02 delete(); +} + +//Function Number: 221 +lab_doorway_dyn_path() +{ + var_00 = getent("lab_doorway_dyn_path","targetname"); + var_00 disconnectpaths(); + level waittill("negotiation_hall_to_lab_dyn_path"); + wait(5); + var_00 connectpaths(); + var_00 delete(); +} + +//Function Number: 222 +laboratory_traversal(param_00,param_01,param_02) +{ + if(isdefined(param_02)) + { + level endon(param_02); + } + + common_scripts\utility::flag_wait(param_00); + var_03 = param_00; + switch(param_00) + { + case "negotiation_elevator_to_hall": + thread laboratory_elevator_to_hall(param_00,param_02); + var_03 = "elevator_descent_end_idle_2_cqb"; + common_scripts\utility::flag_set("update_obj_pos_lab_follow_joker"); + break; + + case "negotiation_hall_to_lab": + thread negotiation_hall_to_lab(param_00,param_02); + maps\_utility::delaythread(3,::common_scripts\utility::flag_set,"update_obj_pos_lab_follow_burke"); + break; + + case "negotiation_curved_hall": + break; + + case "negotiation_locker_room_entrance": + maps\_utility::delaythread(3,::common_scripts\utility::flag_set,"update_obj_pos_lab_follow_carter"); + break; + + default: + break; + } + + var_04 = common_scripts\utility::getstruct(param_00,"targetname"); + param_01 notify("stop_color_move"); + if(param_00 != "negotiation_elevator_to_hall") + { + wait 0.05; + var_04 maps\_anim::anim_reach_solo(param_01,var_03,undefined,1); + if(param_00 == "negotiation_hall_to_lab") + { + level notify("negotiation_hall_to_lab_dyn_path"); + } + } + else + { + var_04 = common_scripts\utility::getstruct("fusion_security_room_corpse_fall_npc","targetname"); + } + + var_05 = param_00 + "_exit"; + var_06 = getent(var_05,"targetname"); + if(isdefined(var_06)) + { + maps\_utility::activate_trigger_with_targetname(param_00 + "_exit"); + } + + var_04 maps\_anim::anim_single_solo_run(param_01,var_03); +} + +//Function Number: 223 +laboratory_elevator_to_hall(param_00,param_01) +{ + wait(1); + maps\_utility::activate_trigger_with_targetname(param_00 + "_carter"); + if(isdefined(level.carter.node)) + { + level.carter.node.script_delay = undefined; + } + + wait(1); + if(!common_scripts\utility::flag("negotiation_hall_to_lab")) + { + maps\_utility::activate_trigger_with_targetname(param_00 + "_burke"); + } + + if(isdefined(level.burke.node)) + { + level.burke.node.script_delay = undefined; + } +} + +//Function Number: 224 +negotiation_hall_to_lab(param_00,param_01) +{ + level endon(param_01); + wait(1); + if(isdefined(getent(param_00 + "_carter","targetname"))) + { + maps\_utility::activate_trigger_with_targetname(param_00 + "_carter"); + } + + if(isdefined(level.carter.node)) + { + level.carter.node.script_delay = undefined; + } + + wait(3); + if(isdefined(getent(param_00 + "_carter","targetname"))) + { + maps\_utility::activate_trigger_with_targetname(param_00 + "_joker"); + } + + if(isdefined(level.joker.node)) + { + level.joker.node.script_delay = undefined; + } +} + +//Function Number: 225 +laboratory_cqb() +{ + common_scripts\utility::flag_wait("lab_cqb"); + level.player maps\_utility::blend_movespeedscale_percent(75); + setsaveddvar("ai_friendlyFireBlockDuration",0); + common_scripts\utility::flag_wait("reactor_room_reveal_scene"); + level.player maps\_utility::blend_movespeedscale_percent(100,5); + common_scripts\utility::flag_wait("reactor_room_reveal_allies_advance"); + setsaveddvar("ai_friendlyFireBlockDuration",2000); +} + +//Function Number: 226 +reactor_room() +{ + thread reactor_room_reveal_scene(); + thread reactor_room_drones(); + thread reactor_room_crane(); + thread handle_outline_on_grenade_launcher(); + if(level.nextgen) + { + thread reactor_room_robots(); + } +} + +//Function Number: 227 +handle_outline_on_grenade_launcher() +{ + var_00 = getent("weapon_iw5_microdronelauncher_sp","classname"); + while(isdefined(var_00)) + { + var_00 hudoutlinedisable(6,1); + while(isdefined(var_00) && distance(var_00.origin,level.player.origin) > 300) + { + wait 0.05; + } + + if(!isdefined(var_00)) + { + break; + } + + var_00 hudoutlineenable(6,1); + while(isdefined(var_00) && distance(var_00.origin,level.player.origin) <= 300) + { + wait 0.05; + } + + wait 0.05; + } +} + +//Function Number: 228 +reactor_room_reveal_scene() +{ + common_scripts\utility::flag_wait("airlock_scene_prep"); + if(level.currentgen) + { + var_00 = ["reactor_room_enemies"]; + thread maps\_cg_encounter_perf_monitor::cg_spawn_perf_monitor("reactor_room_cleanup",var_00,15,0); + } + + soundscripts\_snd::snd_message("start_airlock_anim_notetracks"); + var_01 = "fusion_airlock_opening_approach"; + var_02 = "fusion_airlock_opening_idle"; + var_03 = common_scripts\utility::getstruct("airlock_anim_node","targetname"); + var_04 = "reactor_room_reveal_scene"; + thread reactor_room_reveal_door(var_03,"fusion_airlock_opening"); + thread reactor_room_reveal_ally_vo_close_check(); + var_05 = []; + var_05[var_05.size] = level.burke; + var_05[var_05.size] = level.carter; + level.reactor_room_reveal_scene_guys_ready = 0; + common_scripts\utility::array_thread(var_05,::reactor_room_reveal_scene_approach,var_03,var_01,var_02,var_04); + level waittill("reactor_room_reveal_scene_prepped"); + var_01 = "fusion_airlock_opening"; + common_scripts\utility::flag_wait("reactor_room_reveal_scene"); + level notify("reactor_room_reveal_scene_started"); + var_03 notify(var_04); + maps\_utility::array_notify(var_05,"reactor_room_reveal_scene"); + if(level.nextgen) + { + common_scripts\utility::array_thread(getentarray("reactor_redshirts","script_noteworthy"),::reactor_room_redshirts); + thread reactor_room_redshirt_cleanup(); + } + + var_06 = getent("reactor_room_airlock_enemy","targetname") maps\_utility::spawn_ai(1); + var_06 notify("handle_detection"); + var_06 setcontents(0); + var_06.ignoresonicaoe = 1; + var_06.animname = "generic"; + var_05[var_05.size] = var_06; + var_06 setcontents(0); + var_03 thread maps\_anim::anim_single_run(var_05,var_01); + level.burke maps\_utility::disable_cqbwalk(); + level.joker maps\_utility::disable_cqbwalk(); + level.carter maps\_utility::disable_cqbwalk(); + level.burke.moveplaybackrate = 1; + level.joker.moveplaybackrate = 1; + level.carter.moveplaybackrate = 1; + maps\_utility::battlechatter_off("allies"); + maps\_utility::battlechatter_off("axis"); + maps\_utility::delaythread(15,::maps\_utility::battlechatter_on,"allies"); + maps\_utility::delaythread(15,::maps\_utility::battlechatter_on,"axis"); + level.burke thread reactor_room_reveal_scene_ally_think(); + level.joker thread reactor_room_reveal_scene_ally_think(); + level.carter thread reactor_room_reveal_scene_ally_think(); + common_scripts\utility::flag_set("vo_reactor_entrance"); + maps\_utility::delaythread(12,::maps\_utility::activate_trigger_with_noteworthy,"reactor_room_first_spawn_trigger"); + common_scripts\utility::array_thread(getentarray("reactor_room_robot_grid_safeguard","targetname"),::reactor_room_robot_grid_ally_safeguard); + maps\_utility::delaythread(12,::maps\_utility::activate_trigger_with_targetname,"reactor_room_door_open_color_trigger"); + common_scripts\utility::flag_wait("reactor_room_reveal_allies_advance"); + level.burke maps\_utility::enable_ai_color(); + level.carter maps\_utility::enable_ai_color(); + if(!common_scripts\utility::flag("reactor_redshirts_enable")) + { + maps\_utility::activate_trigger_with_targetname("reactor_room_door_open_color_trigger"); + } + + common_scripts\utility::flag_set("update_obj_pos_reactor_1"); + maps\_utility::autosave_by_name(); + thread reactor_room_combat(); + thread reactor_room_sonic_hint_use_check(); + wait(10); + common_scripts\utility::flag_set("flag_show_boost_slam_hint"); +} + +//Function Number: 229 +reactor_room_sonic_hint_use_check() +{ + level endon("SonicAoEStarted"); + var_00 = 512; + wait(35); + while(!common_scripts\utility::flag("flag_show_sonic_hint")) + { + var_01 = getaiarray("axis"); + var_01 = maps\_utility::array_removedead_or_dying(var_01); + var_02 = maps\_utility::get_within_range(level.player.origin,var_01,var_00); + if(var_02.size > 0) + { + common_scripts\utility::flag_set("flag_show_sonic_hint"); + } + + wait 0.05; + } +} + +//Function Number: 230 +reactor_room_reveal_scene_approach(param_00,param_01,param_02,param_03) +{ + if(self == level.carter) + { + common_scripts\utility::flag_wait("reactor_room_reveal_burke_ready"); + } + + maps\_utility::disable_ai_color(); + self notify("stop_goto_node"); + self notify("goal"); + param_00 maps\_anim::anim_reach_solo(self,param_01); + if(self == level.burke) + { + common_scripts\utility::flag_set("reactor_room_reveal_burke_ready"); + } + + param_00 maps\_anim::anim_single_solo(self,param_01); + param_00 thread maps\_anim::anim_loop_solo(self,param_02,param_03); + level.reactor_room_reveal_scene_guys_ready++; + if(level.reactor_room_reveal_scene_guys_ready >= 2) + { + level notify("reactor_room_reveal_scene_prepped"); + } +} + +//Function Number: 231 +reactor_room_reveal_ally_vo_close_check() +{ + var_00 = getent("airlock_vo_start_check","targetname"); + while(!level.burke istouching(var_00)) + { + wait(0.3); + } + + common_scripts\utility::flag_set("vo_reactor_open_airlock"); +} + +//Function Number: 232 +reactor_room_reveal_scene_ally_think() +{ + var_00 = self.grenadeawareness; + self.grenadeawareness = 0; + self.ignoreall = 1; + common_scripts\utility::flag_wait("reactor_room_reveal_allies_advance"); + self.disablebulletwhizbyreaction = 1; + self.nogrenadereturnthrow = 1; + var_01 = self.goalradius; + self.goalradius = 64; + waittillframeend; + common_scripts\utility::waittill_notify_or_timeout("goal",5); + self.ignoreall = 0; + self.grenadeawareness = var_00; + self.disablebulletwhizbyreaction = 0; + self.nogrenadereturnthrow = 0; + self.goalradius = var_01; +} + +//Function Number: 233 +reactor_room_reveal_enemies_think() +{ + self endon("death"); + self.grenadeammo = 0; + if(isdefined(self.target)) + { + self.goalradius = 16; + } + + var_00 = 40000; + while(distancesquared(self.origin,level.burke.origin) > var_00) + { + wait(0.1); + } +} + +//Function Number: 234 +reactor_room_reveal_door(param_00,param_01) +{ + var_02 = getent("reactor_airlock_door_1","targetname"); + var_03 = getent(var_02.target,"targetname"); + var_03 disconnectpaths(); + var_02.animname = "fusion_airlock_door"; + var_02 maps\_anim::setanimtree(); + param_00 thread maps\_anim::anim_first_frame_solo(var_02,param_01); + level waittill("reactor_room_reveal_scene_prepped"); + var_03 linkto(var_02,"door"); + common_scripts\utility::flag_wait("reactor_room_reveal_scene"); + soundscripts\_snd::snd_message("start_reactor_airlock_open",var_02); + soundscripts\_snd::snd_message("start_reactor_zone_audio"); + soundscripts\_snd::snd_message("start_reactor_burke_attack"); + var_04 = 45; + var_02 playrumblelooponentity("subtle_tank_rumble"); + earthquake(0.1,var_04,var_02.origin,1000); + common_scripts\_exploder::exploder(3301); + common_scripts\_exploder::exploder(3302); + common_scripts\_exploder::exploder(3303); + common_scripts\_exploder::exploder(3304); + common_scripts\_exploder::exploder(3201); + common_scripts\_exploder::exploder(3202); + param_00 thread maps\_anim::anim_single_solo(var_02,param_01); + var_05 = getanimlength(var_02 maps\_utility::getanim(param_01)); + common_scripts\utility::noself_delaycall(var_05,::stopallrumbles); + wait(15.5); + common_scripts\utility::flag_set("reactor_room_reveal_allies_advance"); + var_03 connectpaths(); + waittillframeend; + var_03 disconnectpaths(); + common_scripts\utility::flag_set("vo_reactor_gogogo"); +} + +//Function Number: 235 +reactor_room_reveal_squibs(param_00,param_01) +{ + level endon("intro_truck_left"); + var_02 = common_scripts\utility::getstruct("reactor_reveal_bullet_org","targetname"); + var_03 = common_scripts\utility::getstructarray(var_02.target,"targetname"); + var_03 = common_scripts\utility::array_randomize(var_03); + var_04 = -5; + var_05 = 5; + var_06 = 0; + for(var_07 = 0;var_07 < param_00;var_07++) + { + magicbullet("iw5_ak12_sp",var_02.origin,var_03[var_06].origin + (randomfloatrange(var_04,var_05),randomfloatrange(var_04,var_05),randomfloatrange(var_04,var_05))); + if(randomint(100) < 10) + { + level.player playrumbleonentity("damage_light"); + } + + var_06++; + if(var_06 >= var_03.size) + { + var_03 = common_scripts\utility::array_randomize(var_03); + var_06 = 0; + } + + wait(0.1); + } +} + +//Function Number: 236 +reactor_room_robot_grid_ally_safeguard() +{ + level endon("elevator_ascend"); + var_00 = getent(self.target,"targetname"); + var_01 = common_scripts\utility::getstruct(var_00.target,"targetname"); + for(;;) + { + self waittill("trigger",var_02); + var_03 = getaiarray("allies"); + foreach(var_05 in var_03) + { + if(var_05 istouching(var_00) && !maps\_utility::player_can_see_ai(var_05) && !maps\_utility::player_looking_at(var_01.origin,undefined,1)) + { + var_05 forceteleport(var_01.origin,var_01.angles); + } + } + } +} + +//Function Number: 237 +reactor_room_drones() +{ + common_scripts\utility::flag_wait("reactor_drones_1"); + var_00 = []; + var_00[var_00.size] = thread vehicle_scripts\_pdrone::start_flying_attack_drone("reactor_drone_1"); + foreach(var_02 in var_00) + { + var_02 thread maps\_shg_utility::make_emp_vulnerable(); + var_02 laseron(); + var_02 thread reactor_room_drone_cleanup(); + } + + common_scripts\utility::flag_wait("reactor_drones_2"); + var_04 = []; + var_04[var_04.size] = thread vehicle_scripts\_pdrone::start_flying_attack_drone("reactor_drone_3"); + var_04[var_04.size] = thread vehicle_scripts\_pdrone::start_flying_attack_drone("reactor_drone_4"); + foreach(var_02 in var_04) + { + var_02 thread maps\_shg_utility::make_emp_vulnerable(); + var_02 laseron(); + var_02 thread reactor_room_drone_cleanup(); + } +} + +//Function Number: 238 +reactor_room_drone_cleanup() +{ + self endon("death"); + common_scripts\utility::flag_wait("reactor_room_end_combat"); + wait(randomfloatrange(1,3)); + self kill(); +} + +//Function Number: 239 +reactor_room_crane() +{ + level waittill("reactor_room_reveal_scene_started"); + var_00 = getentarray("reactor_crane_track","targetname"); + var_01 = []; + var_02 = common_scripts\utility::getstruct("reactor_crane_track_inner","targetname"); + var_03 = common_scripts\utility::getstruct(var_02.target,"targetname"); + var_01["min_dist"] = int(distance(var_00[0].origin,var_02.origin)); + var_01["max_dist"] = int(distance(var_00[0].origin,var_03.origin)); + var_04 = common_scripts\utility::getstruct("reactor_crane_height_top","targetname"); + var_05 = common_scripts\utility::getstruct(var_04.target,"targetname"); + var_01["crane_height_delta"] = distance(var_04.origin,var_05.origin); + var_01["rot_speed"] = 30; + var_01["rot_delay"] = 0.1; + var_01["crane_housing_move_speed"] = 75; + var_01["crane_housing_move_delay"] = 1; + var_01["height_time"] = 2.5; + var_01["height_acc"] = 0.5; + var_01["height_dec"] = 1.5; + var_01["lower_delay"] = 1; + var_01["raise_delay"] = 1; + var_01["crate_height"] = 72; + var_01["cable_height"] = 40; + level.reactor_room_crate_tracking = []; + level.reactor_room_crate_tracking["scripted_crate"] = 0; + level.reactor_room_crate_tracking["near_player"] = 0; + level.reactor_room_crate_tracking["near_enemies"] = 0; + var_06 = getentarray("reactor_cover_crate","script_noteworthy"); + common_scripts\utility::array_thread(var_06,::reactor_room_crate_think); + var_00 = getentarray("reactor_crane_track","targetname"); + var_00[0] thread reactor_room_crane_think(var_01,"north",var_06); + var_00[1] thread reactor_room_crane_think(var_01,"south",var_06); +} + +//Function Number: 240 +crane_cable(param_00,param_01) +{ + for(var_02 = self;isdefined(var_02.target);var_02 hide()) + { + var_02 = getent(var_02.target,"targetname"); + } + + var_03 = param_01["cable_height"]; + thread stop_crane_audio(param_00); + for(;;) + { + param_00 reactor_room_link_cables(self,1); + param_00 waittill("crane_moving"); + param_00 reactor_room_link_cables(self,0); + soundscripts\_snd::snd_message("crane_claw_drop_start",param_00); + param_00 crane_animated_down(self,param_00,param_01); + param_00 waittill("crane_stopped"); + soundscripts\_snd::snd_message("crane_claw_drop_stop",param_00); + param_00 waittill("crane_moving"); + soundscripts\_snd::snd_message("crane_claw_rise_start",param_00); + param_00 crane_animated_up(self,param_00,param_01); + param_00 waittill("crane_stopped"); + soundscripts\_snd::snd_message("crane_claw_rise_stop",param_00); + } +} + +//Function Number: 241 +stop_crane_audio(param_00) +{ + if(level.currentgen) + { + level waittill("tff_pre_transition_middle_to_outro"); + param_00 notify("stop_claw_beep"); + param_00 stoploopsound("crane_rctr_claw_drop_lp"); + param_00 stoploopsound("crane_rctr_claw_rise_lp"); + } +} + +//Function Number: 242 +crane_animated_down(param_00,param_01,param_02) +{ + param_00 thread crane_cable_down(param_01,param_02); +} + +//Function Number: 243 +crane_animated_up(param_00,param_01,param_02) +{ + param_01.last_cable thread crane_cable_up(param_01); +} + +//Function Number: 244 +crane_cable_down(param_00,param_01) +{ + attach_housing(param_00); + param_00 endon("crane_stopped"); + while(distancesquared(self.og,self getorigin()) < squared(param_01["cable_height"])) + { + wait(0.05); + } + + if(!isdefined(self.target)) + { + return; + } + + var_02 = getent(self.target,"targetname"); + var_02 thread crane_cable_down(param_00,param_01); +} + +//Function Number: 245 +attach_housing(param_00) +{ + self.og = self getorigin(); + self linkto(param_00); + param_00.last_cable = self; + if(!isdefined(self.target)) + { + return; + } + + var_01 = getent(self.target,"targetname"); + var_01 show(); +} + +//Function Number: 246 +crane_cable_up(param_00) +{ + param_00 endon("crane_stopped"); + while(distancesquared(self.og,self getorigin()) > squared(10)) + { + wait(0.05); + } + + thread detach_housing(param_00); + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "crane_cable") + { + return; + } + + var_01 = getent(self.targetname,"target"); + var_01 thread crane_cable_up(param_00); +} + +//Function Number: 247 +detach_housing(param_00) +{ + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "crane_cable") + { + return; + } + + self unlink(); + var_01 = 0.5; + self moveto(self.og,var_01); + wait(var_01); + self hide(); +} + +//Function Number: 248 +reactor_room_crane_think(param_00,param_01,param_02) +{ + level endon("elevator_ascend"); + var_03 = self; + var_04 = getent(var_03.target,"targetname"); + var_05 = getentarray(var_04.target,"targetname"); + var_06 = undefined; + var_07 = undefined; + var_08 = undefined; + var_09 = undefined; + foreach(var_0B in var_05) + { + if(var_0B.classname == "script_model") + { + var_06 = var_0B; + continue; + } + + if(var_0B.classname == "script_brushmodel") + { + var_08 = var_0B; + continue; + } + + if(var_0B.classname == "trigger_multiple") + { + var_09 = var_0B; + continue; + } + + var_07 = var_0B; + } + + var_08 linkto(var_06); + var_09 enablelinkto(); + var_09 linkto(var_06); + var_06.animname = "reactor_crane"; + var_06 maps\_anim::setanimtree(); + var_06 thread maps\_anim::anim_first_frame_solo(var_06,"crane_opened"); + var_0D = getent(var_06.target,"targetname"); + var_0D thread crane_cable(var_06,param_00); + var_06 linkto(var_04); + var_04 linkto(var_03); + var_03.track_inner = common_scripts\utility::spawn_tag_origin(); + var_03.track_inner.origin = var_03.origin + (742,0,0); + var_03.track_inner linkto(var_03); + var_03.track_inner thread maps\fusion_utility::delete_on_notify("reactor_room_cleanup"); + var_03.track_outer = common_scripts\utility::spawn_tag_origin(); + var_03.track_outer.origin = var_03.origin + (1354,0,0); + var_03.track_outer linkto(var_03); + var_03.track_outer thread maps\fusion_utility::delete_on_notify("reactor_room_cleanup"); + var_0E = common_scripts\utility::spawn_tag_origin(); + var_0E.origin = var_04.origin; + var_0E linkto(var_04); + var_0E thread maps\fusion_utility::delete_on_notify("reactor_room_cleanup"); + var_0F = common_scripts\utility::spawn_tag_origin(); + var_0F.origin = var_06.origin; + var_0F linkto(var_06); + var_0F thread maps\fusion_utility::delete_on_notify("reactor_room_cleanup"); + var_07 enablelinkto(); + var_07 linkto(var_06); + var_06 thread reactor_room_crane_light(); + var_10 = []; + foreach(var_12 in param_02) + { + var_13 = vectortoangles(var_12.origin - var_03.origin)[1]; + if(var_13 < 20) + { + var_13 = var_13 + 360; + } + + if(var_13 < 200 && param_01 == "south") + { + continue; + } + + if(var_13 >= 200 && param_01 == "north") + { + continue; + } + + var_10[var_10.size] = var_12; + } + + var_15 = 175; + if(param_01 == "south") + { + var_15 = 200; + reactor_room_crane_rotate_to_angle(var_03,200,param_00["rot_speed"],param_00["rot_delay"]); + common_scripts\utility::flag_wait("reactor_room_crane_south_start"); + } + else + { + wait(15); + } + + for(;;) + { + if(param_01 == "north" && common_scripts\utility::flag("reactor_room_crane_south_start")) + { + break; + } + + if(var_10.size == 0) + { + break; + } + + var_12 = reactor_room_get_best_crate(var_10,param_01); + var_10 = common_scripts\utility::array_remove(var_10,var_12); + var_13 = vectortoangles(var_12.origin - var_03.origin)[1]; + reactor_room_crane_rotate_to_angle(var_03,var_13,param_00["rot_speed"],param_00["rot_delay"]); + var_16 = distance2d(var_03.origin,var_12.origin); + var_04 unlink(); + playfxontag(common_scripts\utility::getfx("fus_crane_housing_dust_fall"),var_0E,"tag_origin"); + reactor_room_crane_adjust_housing(var_03,var_04,var_13,var_16,param_00["crane_housing_move_speed"],param_00["crane_housing_move_delay"]); + var_04 linkto(var_03); + var_06 unlink(); + var_17 = var_06.origin; + var_06 notify("crane_moving"); + thread reactor_room_crane_murderplayer_think(var_09,var_06,var_12,param_00); + playfxontag(common_scripts\utility::getfx("fus_crane_housing_dust"),var_0F,"tag_origin"); + var_06 moveto(var_12.origin + (0,0,param_00["crate_height"]),param_00["height_time"],param_00["height_acc"],param_00["height_dec"]); + wait(param_00["height_time"]); + var_06 notify("crane_stopped"); + thread reactor_room_crane_grab_crate(var_06,var_12,param_00); + var_06 waittill("crate_grabbed"); + var_18 = common_scripts\utility::spawn_tag_origin(); + var_18.origin = var_12.origin; + var_18 linkto(var_12); + playfxontag(common_scripts\utility::getfx("fus_crate_dust_lift"),var_18,"tag_origin"); + var_12 notify("crate_raised"); + level notify("crate_raising"); + var_06 notify("crane_moving"); + var_06 moveto(var_17,param_00["height_time"],param_00["height_acc"],param_00["height_dec"]); + wait(param_00["height_time"]); + var_06 notify("crane_stopped"); + wait(param_00["raise_delay"]); + var_06 linkto(var_04); + var_13 = var_15; + reactor_room_crane_rotate_to_angle(var_03,var_13,param_00["rot_speed"],param_00["rot_delay"]); + var_16 = randomintrange(param_00["min_dist"],param_00["max_dist"]); + var_04 unlink(); + reactor_room_crane_adjust_housing(var_03,var_04,var_13,var_16,param_00["crane_housing_move_speed"],param_00["crane_housing_move_delay"]); + var_04 linkto(var_03); + var_06 notify("crane_moving"); + var_06 unlink(); + var_06 moveto(var_06.origin - (0,0,param_00["crane_height_delta"]),param_00["height_time"],param_00["height_acc"],param_00["height_dec"]); + wait(param_00["height_time"]); + var_06 notify("crane_stopped"); + wait(param_00["lower_delay"]); + var_06 notify("crate_release"); + var_18 delete(); + wait(0.05); + var_06 notify("crane_moving"); + var_06 moveto(var_06.origin + (0,0,param_00["crane_height_delta"]),param_00["height_time"],param_00["height_acc"],param_00["height_dec"]); + wait(param_00["height_time"]); + var_06 notify("crane_stopped"); + wait(param_00["raise_delay"]); + var_06 linkto(var_04); + } + + for(;;) + { + switch(param_01) + { + case "north": + var_13 = randomintrange(25,180); + break; + + case "south": + default: + var_13 = randomintrange(180,360); + break; + } + + var_16 = randomintrange(param_00["min_dist"],param_00["max_dist"]); + reactor_room_crane_rotate_to_angle(var_03,var_13,param_00["rot_speed"],param_00["rot_delay"]); + var_04 unlink(); + playfxontag(common_scripts\utility::getfx("fus_crane_housing_dust_fall"),var_0E,"tag_origin"); + reactor_room_crane_adjust_housing(var_03,var_04,var_13,var_16,param_00["crane_housing_move_speed"],param_00["crane_housing_move_delay"]); + var_04 linkto(var_03); + wait(randomfloatrange(3,7)); + } +} + +//Function Number: 249 +reactor_room_crane_murderplayer_think(param_00,param_01,param_02,param_03) +{ + param_01 endon("crane_stopped"); + self endon("murderbox_activate"); + for(;;) + { + if(distance(param_00.origin,param_02.origin) < 85) + { + if(level.player istouching(param_00)) + { + var_04 = level.player.health / level.player.damagemultiplier; + level.player dodamage(var_04,param_01.origin); + self notify("murderbox_activate"); + } + } + + wait 0.05; + } +} + +//Function Number: 250 +reactor_room_crane_grab_crate(param_00,param_01,param_02) +{ + param_00 maps\_anim::anim_single_solo(param_00,"crane_grab"); + param_00 thread maps\_anim::anim_first_frame_solo(param_00,"crane_closed"); + soundscripts\_snd::snd_message("crane_claw_crate_grab",param_00); + param_01 linkto(param_00); + wait(0.05); + param_00 notify("crate_grabbed"); + param_00 waittill("crate_release"); + param_00 thread maps\_anim::anim_first_frame_solo(param_00,"crane_opened"); + soundscripts\_snd::snd_message("crane_claw_crate_release",param_00); + param_01 delete(); +} + +//Function Number: 251 +reactor_room_crane_light() +{ + level endon("elevator_ascend"); + var_00 = common_scripts\utility::spawn_tag_origin(); + var_00.origin = self.origin; + var_00.angles = self.angles; + var_00 linkto(self); + var_00 thread maps\fusion_utility::delete_on_notify("reactor_room_cleanup"); + while(!common_scripts\utility::flag("elevator_ascend")) + { + playfxontag(common_scripts\utility::getfx("fus_crane_light_red"),var_00,"tag_origin"); + self waittill("crate_grabbed"); + stopfxontag(common_scripts\utility::getfx("fus_crane_light_red"),var_00,"tag_origin"); + playfxontag(common_scripts\utility::getfx("fus_crane_light_green"),var_00,"tag_origin"); + self waittill("crate_release"); + stopfxontag(common_scripts\utility::getfx("fus_crane_light_green"),var_00,"tag_origin"); + } +} + +//Function Number: 252 +reactor_room_link_cables(param_00,param_01) +{ + var_02 = param_00; + if(param_01) + { + var_02 linkto(self); + } + else + { + var_02 unlink(); + } + + while(isdefined(var_02.target)) + { + var_02 = getent(var_02.target,"targetname"); + if(param_01) + { + var_02 linkto(self); + continue; + } + + var_02 unlink(); + } +} + +//Function Number: 253 +reactor_room_get_best_crate(param_00,param_01) +{ + var_02 = 10000; + var_03 = 10000; + var_04 = 1000000; + var_05 = (0,0,32); + var_06 = 65; + if(level.reactor_room_crate_tracking["scripted_crate"] < 1) + { + level.reactor_room_crate_tracking["scripted_crate"]++; + thread reactor_room_allies_run_from_crate(); + return common_scripts\utility::getclosest((3290,3676,-601),param_00,200); + } + + if(level.reactor_room_crate_tracking["near_player"] < 1) + { + foreach(var_08 in param_00) + { + if(distancesquared(var_08.origin,level.player.origin) < var_02) + { + level.reactor_room_crate_tracking["near_player"]++; + return var_08; + } + } + } + + if(level.reactor_room_crate_tracking["near_enemies"] < 3) + { + foreach(var_08 in param_00) + { + foreach(var_0C in getaiarray("axis")) + { + if(distancesquared(var_08.origin,var_0C.origin) < var_03) + { + if(distancesquared(level.player.origin,var_08.origin) < var_04) + { + level.reactor_room_crate_tracking["near_enemies"]++; + return var_08; + } + } + } + } + } + + foreach(var_08 in param_00) + { + if(level.player worldpointinreticle_circle(var_08.origin + var_05,var_06,500)) + { + if(distancesquared(level.player.origin,var_08.origin) > var_02) + { + if(distancesquared(level.player.origin,var_08.origin) < var_04) + { + return var_08; + } + } + } + } + + return param_00[randomint(param_00.size)]; +} + +//Function Number: 254 +reactor_room_crane_rotate_to_angle(param_00,param_01,param_02,param_03) +{ + if(param_01 >= 360) + { + param_01 = param_01 - 360; + } + + var_04 = abs(param_00.angles[1] - param_01) / param_02; + var_05 = 2; + var_06 = 2; + if(var_04 < 2) + { + var_04 = 2; + } + + if(var_04 < 4) + { + var_05 = var_04 / 2; + var_06 = var_04 / 2; + } + + if(var_04 > 0) + { + playfxontag(common_scripts\utility::getfx("fus_crane_track_sparks"),param_00.track_inner,"tag_origin"); + playfxontag(common_scripts\utility::getfx("fus_crane_track_sparks"),param_00.track_outer,"tag_origin"); + soundscripts\_snd::snd_message("crane_mach_mvmnt_start",param_00.track_inner,param_00.track_outer); + param_00 rotateto((0,param_01,0),var_04,var_05,var_06); + wait(var_04); + stopfxontag(common_scripts\utility::getfx("fus_crane_track_sparks"),param_00.track_inner,"tag_origin"); + stopfxontag(common_scripts\utility::getfx("fus_crane_track_sparks"),param_00.track_outer,"tag_origin"); + soundscripts\_snd::snd_message("crane_mach_mvmnt_stop",param_00.track_inner,param_00.track_outer); + } + + wait(param_03); +} + +//Function Number: 255 +reactor_room_crane_adjust_housing(param_00,param_01,param_02,param_03,param_04,param_05) +{ + var_06 = cos(param_02) * param_03; + var_07 = sin(param_02) * param_03; + var_08 = (param_00.origin[0] + var_06,param_00.origin[1] + var_07,param_01.origin[2]); + var_09 = distance(var_08,param_01.origin) / param_04; + if(var_09 > 0) + { + soundscripts\_snd::snd_message("crane_claw_mvmnt_start",param_01); + param_01 moveto(var_08,var_09,var_09 / 2,var_09 / 2); + wait(var_09); + soundscripts\_snd::snd_message("crane_claw_mvmnt_stop",param_01); + } + + wait(param_05); +} + +//Function Number: 256 +reactor_room_crate_think() +{ + self disconnectpaths(); + var_00 = common_scripts\utility::get_target_ent(); + var_00 linkto(self); + self waittill("crate_raised"); + var_01 = self.origin; + badplace_cylinder("",3,var_01,80,64,"axis","allies"); + var_02 = getnodesinradius(var_01,80,0,128,"Cover"); + foreach(var_04 in var_02) + { + var_04 disconnectnode(); + } + + wait(3); + self connectpaths(); + self waittill("death"); + var_00 delete(); +} + +//Function Number: 257 +get_angle_from_center(param_00,param_01) +{ + return vectortoangles(param_01 - param_00)[1]; +} + +//Function Number: 258 +reactor_room_robots() +{ + common_scripts\utility::flag_wait("reactor_room_reveal_scene"); + var_00 = getentarray("reactor_bot","targetname"); + common_scripts\utility::array_thread(getentarray("reactor_bot","targetname"),::reactor_room_robot_think); + common_scripts\utility::array_thread(getentarray("reactor_bot_scripted","targetname"),::reactor_room_robot_scripted_think); +} + +//Function Number: 259 +reactor_room_robot_think() +{ + level endon("elevator_ascend"); + self endon("death"); + self endon("stop_movement"); + self.health = 100; + self setcandamage(1); + thread reactor_room_robot_monitor_death(); + thread maps\_shg_utility::make_emp_vulnerable(); + self.emp_death_function = ::reactor_room_robot_emp_death; + self.facing = 1; + var_00 = common_scripts\utility::getstruct(self.target,"targetname"); + var_01 = common_scripts\utility::getstruct(var_00.target,"targetname"); + var_02 = common_scripts\utility::getstruct(var_01.target,"targetname"); + self.collision = getent(self.target,"targetname"); + self.collision linkto(self); + var_03 = 32; + var_04 = 0.5; + var_05 = distance(var_00.origin,var_01.origin) / var_03 + 1; + var_06 = distance(var_01.origin,var_02.origin) / var_03 + 1; + if(var_05 - int(var_05) > 0.5) + { + var_05 = int(var_05); + var_05++; + } + else + { + var_05 = int(var_05); + } + + if(var_06 - int(var_06) > 0.5) + { + var_06 = int(var_06); + var_06++; + } + else + { + var_06 = int(var_06); + } + + var_07 = vectortoangles(var_01.origin - var_00.origin); + var_08 = vectortoangles(var_02.origin - var_01.origin); + var_09 = getentarray(var_02.target,"targetname"); + self.collision thread reactor_robots_badplace_think(); + common_scripts\utility::array_thread(var_09,::reactor_robots_shelf_think); + var_0A = []; + for(var_0B = 0;var_0B < var_05;var_0B++) + { + for(var_0C = 0;var_0C < var_06;var_0C++) + { + var_0A[var_0B][var_0C] = spawnstruct(); + var_0D = var_03 * var_0B * cos(var_07[1]) + var_03 * var_0C * sin(-1 * var_07[1]); + var_0E = -1 * var_03 * var_0B * cos(var_08[1]) + var_03 * var_0C * sin(var_08[1]); + var_0A[var_0B][var_0C].origin = (var_0D,var_0E,0) + var_00.origin; + var_0F = 0; + foreach(var_11 in var_09) + { + var_12 = var_0A[var_0B][var_0C].origin; + if(distance(var_0A[var_0B][var_0C].origin,var_11.origin) < 16) + { + var_0A[var_0B][var_0C].shelf = 1; + var_11.x = var_0B; + var_11.y = var_0C; + } + } + + if(distance(var_0A[var_0B][var_0C].origin,self.origin) < 10) + { + var_0A[var_0B][var_0C].robot = 1; + self.x = var_0B; + self.y = var_0C; + } + } + } + + for(;;) + { + foreach(var_11 in var_09) + { + var_0A = clear_path_weights(var_0A); + var_0A = add_path_weights(var_0A,var_11.x,var_11.y,0,0); + if(!isdefined(var_11.starting_origin)) + { + var_11.starting_origin = var_11.origin; + } + + self notify("update_path_weights"); + move_to_dest(var_0A,var_11.x,var_11.y); + var_0A = clear_path_weights(var_0A); + var_15 = 0; + var_16 = 10; + var_17 = 0; + var_18 = 0; + while(var_15 <= var_16 && !isdefined(var_0A[var_17][var_18].path_weight) && isdefined(var_0A[self.x][self.y].path_weight) && var_17 != self.x || var_18 != self.y) + { + var_17 = randomint(var_05); + var_18 = randomint(var_06); + var_0A = clear_path_weights(var_0A); + var_0A = add_path_weights(var_0A,var_17,var_18,0,1); + var_15++; + wait(0.05); + } + + if(var_15 > var_16) + { + wait(2); + continue; + } + + soundscripts\_snd::snd_message("reactor_bot_shelf_pickup",self); + var_11 moveto((var_11.origin[0],var_11.origin[1],var_11.starting_origin[2] + var_04),0.2,0.1,0.1); + wait(0.2); + var_11 linkto(self); + self.shelf = var_11; + self notify("update_path_weights"); + move_to_dest(var_0A,var_17,var_18); + var_11.x = var_17; + var_11.y = var_18; + var_11 unlink(); + self.shelf = undefined; + soundscripts\_snd::snd_message("reactor_bot_shelf_drop",self); + var_11 moveto((var_11.origin[0],var_11.origin[1],var_11.starting_origin[2] + var_04),0.2,0.1,0.1); + wait(0.2); + } + } +} + +//Function Number: 260 +reactor_room_robot_emp_death() +{ + self endon("death"); + self notify("stop_movement"); + self notify("emp"); + playfxontag(common_scripts\utility::getfx("emp_reactor_robot_damage"),self,"tag_origin"); + self moveto(self.origin,0.05); + self rotateto(self.angles,0.05); + wait(randomfloatrange(0.5,1.5)); + stopfxontag(common_scripts\utility::getfx("emp_reactor_robot_damage"),self,"tag_origin"); + self notify("death"); +} + +//Function Number: 261 +reactor_room_robot_monitor_death() +{ + self endon("emp"); + self endon("robot_lowered"); + self waittill("death"); + self notify("stop_movement"); + playfx(common_scripts\utility::getfx("reactor_robot_death"),self.origin); +} + +//Function Number: 262 +move_to_dest(param_00,param_01,param_02) +{ + self endon("stop_movement"); + var_03 = 1; + var_04 = 1; + var_05 = 0.05; + var_06 = isdefined(self.shelf); + while(!self.x == param_01 && self.y == param_02) + { + var_07 = get_next_grid_position(param_00,self.x,self.y); + if(var_06) + { + param_00[self.x][self.y].shelf = undefined; + } + + if(self.facing_goal != self.facing) + { + if(var_06) + { + self.shelf unlink(); + } + + self.collision unlink(); + self rotateto(self.angles + (0,90 * self.facing_goal - self.facing,0),var_04); + self.facing = self.facing_goal; + if(var_06) + { + soundscripts\_snd::snd_message("reactor_bot_turn_shelf",self); + } + else + { + soundscripts\_snd::snd_message("reactor_bot_turn_self",self); + } + + wait(var_04 + var_05); + if(var_06) + { + self.shelf linkto(self); + } + + self.collision linkto(self); + } + + wait_until_path_safe(); + if(var_06) + { + soundscripts\_snd::snd_message("reactor_bot_drive_shelf_start",self); + } + else + { + soundscripts\_snd::snd_message("reactor_bot_drive_self_start",self); + } + + self moveto(param_00[var_07[0]][var_07[1]].origin,var_03); + wait(var_03 + var_05); + if(var_06) + { + soundscripts\_snd::snd_message("reactor_bot_drive_shelf_stop",self); + } + else + { + soundscripts\_snd::snd_message("reactor_bot_drive_self_stop",self); + } + + if(var_06) + { + param_00[var_07[0]][var_07[1]].shelf = 1; + } + + self.x = var_07[0]; + self.y = var_07[1]; + } +} + +//Function Number: 263 +wait_until_path_safe() +{ + var_00 = 0; + while(!var_00) + { + var_00 = 1; + if(distance(self.origin,level.player.origin) < 200) + { + var_00 = 0; + wait(0.5); + continue; + } + + foreach(var_02 in getaiarray()) + { + if(distancesquared(self.origin,var_02.origin) < 9216) + { + var_00 = 0; + wait(0.5); + break; + } + } + } +} + +//Function Number: 264 +get_next_grid_position(param_00,param_01,param_02) +{ + var_03 = param_00[param_01][param_02].path_weight; + var_04 = param_00.size; + var_05 = param_00[0].size; + var_06 = 999; + var_07 = undefined; + if(param_01 > 0) + { + var_08 = param_00[param_01 - 1][param_02].path_weight; + if(isdefined(var_08)) + { + if(var_08 < var_06) + { + var_06 = var_08; + var_07 = "left"; + } + } + } + + if(param_01 < var_04 - 1) + { + var_08 = param_00[param_01 + 1][param_02].path_weight; + if(isdefined(var_08)) + { + if(var_08 < var_06) + { + var_06 = var_08; + var_07 = "right"; + } + } + } + + if(param_02 > 0) + { + var_08 = param_00[param_01][param_02 - 1].path_weight; + if(isdefined(var_08)) + { + if(var_08 < var_06) + { + var_06 = var_08; + var_07 = "down"; + } + } + } + + if(param_02 < var_05 - 1) + { + var_08 = param_00[param_01][param_02 + 1].path_weight; + if(isdefined(var_08)) + { + if(var_08 < var_06) + { + var_06 = var_08; + var_07 = "up"; + } + } + } + + var_09 = []; + switch(var_07) + { + case "left": + var_09 = [param_01 - 1,param_02]; + self.facing_goal = 1; + break; + + case "right": + var_09 = [param_01 + 1,param_02]; + self.facing_goal = 3; + break; + + case "down": + var_09 = [param_01,param_02 - 1]; + self.facing_goal = 2; + break; + + case "up": + var_09 = [param_01,param_02 + 1]; + self.facing_goal = 0; + break; + + default: + break; + } + + return var_09; +} + +//Function Number: 265 +clear_path_weights(param_00) +{ + for(var_01 = 0;var_01 < param_00.size;var_01++) + { + for(var_02 = 0;var_02 < param_00[var_01].size;var_02++) + { + param_00[var_01][var_02].path_weight = undefined; + } + } + + return param_00; +} + +//Function Number: 266 +add_path_weights(param_00,param_01,param_02,param_03,param_04) +{ + if(param_04 && isdefined(param_00[param_01][param_02].shelf) && param_00[param_01][param_02].shelf && !self.x == param_01 && self.y == param_02) + { + param_00[param_01][param_02].path_weight = undefined; + return param_00; + } + + var_05 = param_00[param_01][param_02].path_weight; + var_06 = param_00.size; + var_07 = param_00[0].size; + if(param_03 > 25) + { + return param_00; + } + + if(!isdefined(var_05) || var_05 > param_03) + { + param_00[param_01][param_02].path_weight = param_03; + param_03++; + if(param_01 > 0) + { + param_00 = add_path_weights(param_00,param_01 - 1,param_02,param_03,param_04); + } + + if(param_01 < var_06 - 1) + { + param_00 = add_path_weights(param_00,param_01 + 1,param_02,param_03,param_04); + } + + if(param_02 > 0) + { + param_00 = add_path_weights(param_00,param_01,param_02 - 1,param_03,param_04); + } + + if(param_02 < var_07 - 1) + { + param_00 = add_path_weights(param_00,param_01,param_02 + 1,param_03,param_04); + } + } + + return param_00; +} + +//Function Number: 267 +reactor_robots_shelf_think() +{ + var_00 = getentarray(self.target,"targetname"); + foreach(var_02 in var_00) + { + var_02 linkto(self); + } + + reactor_robots_badplace_think(); +} + +//Function Number: 268 +reactor_robots_badplace_think() +{ + var_00 = 0.1; + if(level.currentgen) + { + var_00 = 0.3; + } + + var_01 = 31; + var_02 = 128; + while(!common_scripts\utility::flag("elevator_ascend")) + { + self connectpaths(); + self disconnectpaths(); + wait(var_00); + } + + self connectpaths(); +} + +//Function Number: 269 +reactor_room_robot_scripted_think() +{ + level endon("elevator_ascend"); + var_00 = getentarray(self.target,"targetname"); + var_00 = common_scripts\utility::array_combine(var_00,common_scripts\utility::getstructarray(self.target,"targetname")); + var_01 = undefined; + var_02 = undefined; + var_03 = undefined; + var_04 = undefined; + var_05 = undefined; + var_06 = undefined; + var_07 = 1; + var_08 = []; + var_08[var_08.size] = 18; + var_08[var_08.size] = 36; + var_08[var_08.size] = 54; + foreach(var_0A in var_00) + { + switch(var_0A.script_parameters) + { + case "start_node": + var_01 = var_0A; + break; + + case "initial_lift": + var_0B = getentarray("reactor_robot_lift","script_noteworthy"); + foreach(var_0D in var_0B) + { + if(distance(var_0D.origin,var_0A.origin) < 10) + { + var_03 = var_0D; + break; + } + } + break; + + case "initial_lift_gate": + var_0F = getentarray("bot_lift_gate","script_noteworthy"); + foreach(var_11 in var_0F) + { + if(distance(var_11.origin,var_0A.origin) < 10) + { + var_02 = var_11; + break; + } + } + break; + + case "final_lift": + var_0B = getentarray("reactor_robot_lift","script_noteworthy"); + foreach(var_0D in var_0B) + { + if(distance(var_0D.origin,var_0A.origin) < 10) + { + var_04 = var_0D; + break; + } + } + break; + + case "final_gate": + var_15 = getentarray("reactor_robot_final_gate","script_noteworthy"); + foreach(var_11 in var_15) + { + if(distance(var_11.origin,var_0A.origin) < 10) + { + var_05 = var_11; + break; + } + } + break; + + case "shelf": + var_06 = var_0A; + var_06 thread reactor_robots_badplace_think(); + break; + + default: + break; + } + } + + if(!isdefined(var_01)) + { + return; + } + + if(!isdefined(var_03)) + { + return; + } + + if(!isdefined(var_02)) + { + return; + } + + if(!isdefined(var_04)) + { + return; + } + + if(!isdefined(var_05)) + { + return; + } + + if(!isdefined(var_06)) + { + return; + } + + var_19 = var_06.origin; + var_1A = 1; + var_1B = 32; + var_1C = 4; + var_1D = 64; + var_1E = 3; + var_1F = 1; + var_20 = 1; + var_21 = 3; + var_22 = 1; + var_23 = 1; + var_24 = 1; + var_1D = 44; + var_25 = var_21; + var_1E = var_21 / 2; + var_1F = var_1E / 2; + var_20 = var_1E / 2; + var_26 = 1; + var_27 = 0.5; + var_28 = 0.5; + var_29 = common_scripts\utility::getstruct(var_05.target,"targetname").origin; + var_2A = var_05.origin; + var_2B = 128; + var_2C = 3; + var_2D = 1; + var_2E = 1; + var_03.bars = []; + var_04.bars = []; + var_2F = common_scripts\utility::getstructarray("lift_bars","targetname"); + foreach(var_31 in var_2F) + { + if(distance(var_31.origin,var_03.origin) < 64) + { + var_03.bars[var_03.bars.size] = var_31; + var_32 = getentarray(var_31.target,"targetname"); + foreach(var_34 in var_32) + { + var_34 linkto(var_03); + } + + continue; + } + + if(distance(var_31.origin,var_04.origin) < 64) + { + var_04.bars[var_04.bars.size] = var_31; + var_32 = getentarray(var_31.target,"targetname"); + foreach(var_34 in var_32) + { + var_34 linkto(var_04); + } + } + } + + for(;;) + { + reactor_room_robots_lift_adjust_bars(var_03,"lower","initial"); + wait(randomfloatrange(1,10)); + var_06.origin = var_19; + var_06 linkto(self); + wait(0.05); + var_39 = var_01.angles; + var_3A = var_39; + if(self.angles != var_01.angles) + { + self rotateto(var_01.angles,0.05); + wait(0.1); + } + + var_3B = spawn("script_model",self.origin); + var_3B setmodel("fus_shelving_robot_01"); + var_3B.angles = self.angles; + var_3B linkto(self); + var_3B endon("stop_movement"); + var_3B.health = 100; + var_3B setcandamage(1); + var_3B thread maps\_shg_utility::make_emp_vulnerable(); + var_3B.emp_death_function = ::reactor_room_robot_emp_death; + var_3B thread reactor_room_robot_monitor_death(); + var_3C = spawn("script_model",self.origin); + var_3C setmodel("fus_shelving_unit_cage_01"); + var_3C.angles = self.angles; + var_3C linkto(var_06); + var_06.models = []; + var_06.models[var_06.models.size] = var_3B; + var_06.models[var_06.models.size] = var_3C; + for(var_3D = 0;var_3D < 3;var_3D++) + { + if(common_scripts\utility::cointoss()) + { + var_3E = spawn("script_model",self.origin + (0,0,var_08[var_3D])); + var_3E setmodel("fus_shelving_unit_item_01"); + var_3E.angles = self.angles + (0,90,0); + var_3E linkto(var_06); + var_06.models[var_06.models.size] = var_3E; + } + } + + self linkto(var_03); + var_3F = common_scripts\utility::getstruct(var_01.target,"targetname"); + var_40 = self.origin[2] - var_3F.origin[2]; + soundscripts\_snd::snd_message("reactor_bot_elevator_start_lp",var_03); + var_03 moveto(var_03.origin - (0,0,var_40),var_21,var_22,var_23); + var_02 common_scripts\utility::delaycall(var_25,::moveto,var_02.origin - (0,0,var_1D),var_1E,var_1F,var_20); + wait(var_21); + soundscripts\_snd::snd_message("reactor_bot_initial_elevator_stop",var_03); + soundscripts\_snd::snd_message("reactor_bot_elevator_stop_lp",var_03); + reactor_room_robots_lift_adjust_bars(var_03,"raise","initial"); + self unlink(); + var_41 = common_scripts\utility::getstruct(var_3F.target,"targetname"); + var_42 = vectortoangles(var_41.origin - self.origin); + if(abs(var_42[1] - var_39[1]) > 2) + { + wait(0.1); + self rotateto(var_42,var_07); + soundscripts\_snd::snd_message("reactor_bot_turn_self",self); + wait(var_07 + 0.1); + var_39 = var_42; + wait(0.1); + } + + var_43 = 0; + while(isdefined(var_3F.target)) + { + var_3F = common_scripts\utility::getstruct(var_3F.target,"targetname"); + var_42 = vectortoangles(var_3F.origin - self.origin); + if(abs(var_42[1] - var_39[1]) > 2) + { + var_06 unlink(); + wait(0.1); + self rotateto(var_42,var_07); + soundscripts\_snd::snd_message("reactor_bot_turn_shelf",self); + wait(var_07 + 0.1); + var_39 = var_42; + var_06 linkto(self); + wait(0.1); + } + + while(distance(self.origin,var_3F.origin) > var_1B + 4) + { + wait_until_path_safe(); + soundscripts\_snd::snd_message("reactor_bot_drive_shelf_start",self); + self moveto(vectornormalize(var_3F.origin - self.origin) * 32 + self.origin,var_1A); + var_43++; + wait(var_1A); + soundscripts\_snd::snd_message("reactor_bot_drive_shelf_stop",self); + if(var_43 == 2) + { + soundscripts\_snd::snd_message("reactor_bot_initial_elevator_start",var_03,var_24); + var_03 common_scripts\utility::delaycall(var_24,::moveto,var_03.origin + (0,0,var_40),var_21,var_22,var_23); + var_02 moveto(var_02.origin + (0,0,var_1D),var_1E,var_1F,var_20); + } + } + + wait_until_path_safe(); + soundscripts\_snd::snd_message("reactor_bot_drive_shelf_start",self); + var_44 = var_1A * distance(self.origin,var_3F.origin) / var_1B; + self moveto(var_3F.origin,var_44); + wait(var_44); + soundscripts\_snd::snd_message("reactor_bot_drive_shelf_stop",self); + } + + reactor_room_robots_lift_adjust_bars(var_04,"lower","final"); + self linkto(var_04); + soundscripts\_snd::snd_message("reactor_bot_final_elevator_start",var_04); + var_04 moveto(var_04.origin - (0,0,var_2B),var_2C,var_2D,var_2E); + var_05 common_scripts\utility::delaycall(2,::moveto,var_29,var_26,var_27,var_28); + wait(var_2C); + self unlink(); + var_45 = self setcontents(0); + var_3B notify("robot_lowered"); + foreach(var_47 in var_06.models) + { + var_47 delete(); + } + + self hide(); + wait(0.5); + self.origin = var_01.origin; + wait(0.5); + self setcontents(var_45); + self show(); + reactor_room_robots_lift_adjust_bars(var_04,"raise","final"); + soundscripts\_snd::snd_message("reactor_bot_elevator_start_lp",var_04); + var_04 moveto(var_04.origin + (0,0,var_2B),var_2C,var_2D,var_2E); + soundscripts\_snd::snd_message("reactor_bot_final_elevator_stop",var_04,var_2C); + soundscripts\_snd::snd_message("reactor_bot_elevator_stop_lp",var_04,var_2C); + var_05 moveto(var_2A,var_26,var_27,var_28); + soundscripts\_snd::snd_message("reactor_bot_elevator_open",var_05); + } +} + +//Function Number: 270 +reactor_room_robots_lift_adjust_bars(param_00,param_01,param_02) +{ + if(param_02 == "initial") + { + var_03 = "start_bars"; + } + else + { + var_03 = "end_bars"; + } + + var_04 = undefined; + var_05 = undefined; + foreach(var_07 in param_00.bars) + { + if(var_07.script_noteworthy == var_03) + { + var_05 = var_07; + } + } + + var_09 = 45; + var_0A = 1; + var_0B = 0.5; + var_0C = 0.5; + if(param_01 == "raise") + { + var_09 = var_09 * -1; + } + + var_05 = getentarray(var_05.target,"targetname"); + var_0D = undefined; + var_0E = undefined; + foreach(var_10 in var_05) + { + if(var_10.script_noteworthy == "roll_down_bar_left") + { + var_0D = var_10; + } + else + { + var_0E = var_10; + } + + var_10 unlink(); + } + + var_0E rotateroll(var_09,var_0A,var_0B,var_0C); + var_0D rotateroll(var_09,var_0A,var_0B,var_0C); + wait(var_0A); + foreach(var_10 in var_05) + { + var_10 unlink(); + var_10 linkto(param_00); + } + + wait(0.05); +} + +//Function Number: 271 +reactor_room_allies_run_from_crate() +{ + level waittill("crate_raising"); + var_00 = getent("reveal_crate_color_trigger","targetname"); + if(isdefined(var_00)) + { + var_00 maps\_utility::activate_trigger(); + } +} + +//Function Number: 272 +reactor_room_redshirts() +{ + level endon("turbine_elevator_reached_top"); + for(;;) + { + common_scripts\utility::flag_wait("reactor_redshirts_enable"); + self.count++; + var_00 = maps\_utility::spawn_ai(); + var_00 waittill("death"); + wait(randomfloatrange(1,5)); + } +} + +//Function Number: 273 +reactor_room_redshirt_cleanup() +{ + level waittill("turbine_elevator_reached_top"); + waittillframeend; + common_scripts\utility::array_call(getentarray("reactor_redshirts","script_noteworthy"),::delete); +} + +//Function Number: 274 +reactor_room_combat() +{ + thread reactor_room_catwalk_combat(); + thread reactor_room_combat_seek_player(); + thread reactor_room_combat_mid_checkpoint(); + common_scripts\utility::flag_wait("reactor_room_end_combat"); + level.burke maps\_utility::disable_careful(); + level.joker maps\_utility::disable_careful(); + level.carter maps\_utility::disable_careful(); +} + +//Function Number: 275 +enemy_combat_equip_microwave_grenades() +{ + var_00 = getaiarray("axis"); + foreach(var_02 in var_00) + { + if(isdefined(var_02.script_parameters) && var_02.script_parameters == "microwave_equipped") + { + var_02 maps\_utility::add_spawn_function(::reactor_room_microwave_grenade_equip); + } + } +} + +//Function Number: 276 +reactor_room_combat_mid_checkpoint() +{ + level endon("elevator_ascend"); + common_scripts\utility::flag_wait("reactor_room_combat_mid_save_1"); + maps\_utility::autosave_by_name(); +} + +//Function Number: 277 +reactor_room_combat_seek_player() +{ + common_scripts\utility::flag_wait("flag_reactor_room_combat_seek_player"); + level.burke maps\_utility::disable_careful(); + level.joker maps\_utility::disable_careful(); + level.carter maps\_utility::disable_careful(); + var_00 = getaiarray("axis"); + foreach(var_02 in var_00) + { + var_02 thread maps\_utility::player_seek_enable(); + } +} + +//Function Number: 278 +reactor_room_microwave_grenade_equip() +{ + maps\fusion_utility::equip_microwave_grenade(); +} + +//Function Number: 279 +reactor_room_catwalk_death() +{ + level endon("elevator_ascend"); + common_scripts\utility::flag_wait("reactor_room_catwalk_death"); + var_00 = common_scripts\utility::getstruct("reactor_room_catwalk_death","targetname"); + var_01 = getdvarint("cg_fov"); + if(!level.player worldpointinreticle_circle(var_00.origin,var_01,250)) + { + var_02 = var_00 common_scripts\utility::get_target_ent() maps\_utility::spawn_ai(); + var_02.deathfunction = undefined; + var_02.animname = "generic"; + var_02 maps\_utility::set_deathanim("reactor_room_catwalk_death"); + var_02 kill(); + } +} + +//Function Number: 280 +reactor_room_catwalk_combat() +{ + level endon("elevator_ascend"); + var_00 = getent("reactor_room_below_catwalk","targetname"); + var_01 = common_scripts\utility::getstruct("reactor_room_catwalk_struct","targetname"); + var_02 = getentarray("reactor_catwalk_spawner_test","script_noteworthy"); + common_scripts\utility::array_thread(var_02,::reactor_catwalk_spawner_trigger_think); + for(;;) + { + level waittill("reactor_catwalk_spawner_trigger_hit"); + if(level.player istouching(var_00)) + { + wait(0.1); + var_03 = getaiarray("axis"); + foreach(var_05 in var_03) + { + if(isalive(var_05) && var_05.origin[2] >= var_01.origin[2] && distance2dsquared(var_05.origin,var_01.origin) < var_01.radius * var_01.radius) + { + var_05 thread maps\fusion_utility::bloody_death(); + } + } + } + } +} + +//Function Number: 281 +reactor_catwalk_spawner_trigger_think() +{ + self waittill("trigger"); + level notify("reactor_catwalk_spawner_trigger_hit"); +} + +//Function Number: 282 +turbine_room() +{ + thread turbine_room_elevator(); + thread turbine_room_explosion(); + thread turbine_room_entrance_steam(); + thread turbine_room_turbines(); + thread turbine_room_atmosphere(); + thread turbine_room_combat(); + thread turbine_combat_mid_checkpoint_1(); + thread turbine_room_pre_explosion(); + thread pdrone_activate("turbine_room_combat_start"); + thread pdrone_deactivate_think(); + thread pdrone_deploy_hint(); +} + +//Function Number: 283 +turbine_room_elevator() +{ + var_00 = getent("turbine_elevator_badplace","targetname"); + badplace_brush("turbine_elevator_badplace",0,var_00,"axis"); + var_01 = getent("elevator_ascend_use_trigger","targetname"); + if(level.player usinggamepad()) + { + var_01 sethintstring(&"FUSION_OPERATE_ELEVATOR"); + } + else + { + var_01 sethintstring(&"FUSION_OPERATE_ELEVATOR_PC"); + } + + var_02 = getent("elevator_cover_col","targetname"); + var_03 = getent("elevator_door_col","targetname"); + var_02 notsolid(); + var_03 notsolid(); + var_04 = getent("deployable_cover_final_model","targetname"); + var_04.contents = var_04 setcontents(0); + var_04 hide(); + common_scripts\utility::flag_wait("turbine_elevator_enter"); + if(level.nextgen) + { + common_scripts\utility::array_thread(getaiarray("axis"),::maps\fusion_utility::bloody_death,5); + } + else + { + thread turbine_enemy_elevator_removal(); + } + + var_05 = getent("elevator_control","targetname"); + var_06 = getent("elevator_button","targetname"); + var_07 = 6; + var_08 = 4; + var_09 = getent("turbine_elevator_animnode","targetname"); + var_09 linkto(var_05); + var_04 linkto(var_05); + var_0A = "elevator_button_scene"; + level.player_rig = maps\_utility::spawn_anim_model("player_arms"); + level.player_rig hide(); + var_09 maps\_anim::anim_first_frame_solo(level.player_rig,var_0A); + if(!isdefined(level.turbine_room_elevator_ascent_time)) + { + common_scripts\utility::flag_set("vo_turbine_elevator_near"); + var_0B = "stop_elevator_idle"; + level.burke thread turbine_room_elevator_think(var_09,var_0B); + level.carter thread turbine_room_elevator_think(var_09,var_0B); + var_0C = level.joker.goalradius; + level.joker.goalradius = 16; + var_0D = [level.burke,level.carter,level.joker,level.player]; + var_0E = getent("inside_elevator_trigger","targetname"); + while(!var_0E check_if_multiple_ents_inside(var_0D)) + { + wait(1); + } + + level.burke maps\_utility::disable_ai_color(); + level.joker maps\_utility::disable_ai_color(); + level.carter maps\_utility::disable_ai_color(); + common_scripts\utility::flag_set("update_obj_pos_turbine_elevator_button"); + common_scripts\utility::flag_set("vo_turbine_elevator_ready"); + var_0F = maps\_shg_utility::hint_button_position("use",var_06.origin,40,512); + level.joker.goalradius = var_0C; + common_scripts\utility::flag_set("elevator_ascend_ready"); + common_scripts\utility::flag_wait("elevator_ascend"); + var_0F maps\_shg_utility::hint_button_clear(); + common_scripts\utility::flag_set("update_obj_pos_turbine_elevator_ascent"); + thread turbine_room_elevator_button_pressed_anim(var_0A,var_09); + common_scripts\utility::array_thread(getaiarray("axis"),::maps\_vehicle::force_kill); + var_01 delete(); + level waittill("flag_anim_elevator_button_pressed"); + var_06 setmodel("fus_elevator_button_02"); + var_10 = getent("joker_elevator_cover","targetname"); + level.joker forceteleport(var_10.origin,var_10.angles); + level.joker thread turbine_room_elevator_think(var_09,var_0B,var_04); + soundscripts\_snd::snd_message("start_turbine_elevator"); + level.turbine_room_elevator_ascent_time = 10; + if(level.currentgen) + { + level.turbine_room_elevator_ascent_time = 15; + } + + var_11 = getent("elevator_door_bottom_1","script_noteworthy"); + var_12 = getent("elevator_door_bottom_2","script_noteworthy"); + var_13 = getent("elevator_door_bottom_3","script_noteworthy"); + var_14 = getent("elevator_door_bottom_4","script_noteworthy"); + var_11 moveto(var_11.origin + (0,0,-51),var_07 / 2,var_07 / 6,var_07 / 6); + var_12 moveto(var_12.origin + (0,0,-93),var_07 * 2 / 3,var_07 / 12,var_07 / 12); + var_13 moveto(var_13.origin + (0,0,-140),var_07,var_07 / 18,var_07 / 18); + var_14 common_scripts\utility::delaycall(var_07 * 3 / 4,::moveto,var_14.origin + (0,0,8),var_07 / 4,var_07 / 8,var_07 / 8); + var_15 = getentarray("elevator_inner_door_upper","targetname"); + var_16 = getentarray("elevator_inner_door_lower","targetname"); + foreach(var_18 in var_15) + { + var_18 moveto(var_18.origin + (0,0,-80),var_08,var_08 / 6,var_08 / 6); + } + + foreach(var_18 in var_16) + { + var_18 moveto(var_18.origin + (0,0,48),var_08,var_08 / 6,var_08 / 6); + } + + maps\_utility::delaythread(0.5,::common_scripts\utility::flag_set,"vo_turbine_elevator"); + maps\_utility::delaythread(3,::common_scripts\utility::flag_set,"joker_place_elevator_cover"); + var_02 solid(); + var_02 linkto(var_05); + var_03 solid(); + wait(var_07); + if(level.currentgen) + { + level notify("tff_pre_transition_middle_to_outro"); + unloadtransient("fusion_middle_tr"); + loadtransient("fusion_outro_tr"); + } + } + else + { + var_02 solid(); + var_02 linkto(var_05); + var_03 solid(); + var_04 show(); + var_04 setcontents(var_04.contents); + common_scripts\utility::flag_set("update_obj_pos_turbine_elevator_button"); + } + + level notify("reactor_room_cleanup"); + soundscripts\_snd::snd_message("disable_turbine_elevator_trigger"); + common_scripts\utility::array_call(getentarray("reactor_room_enemies","script_noteworthy"),::delete); + var_1C = getentarray("turbine_room_elevator","script_noteworthy"); + foreach(var_18 in var_1C) + { + var_18 linkto(var_05); + } + + var_1F = getent("elevator_destination","targetname"); + var_20 = getent("elevator_door_top_1","script_noteworthy"); + var_21 = getent("elevator_door_top_2","script_noteworthy"); + var_22 = getent("elevator_door_top_3","script_noteworthy"); + var_23 = getent("elevator_door_top_4","script_noteworthy"); + var_21 disconnectpaths(); + var_22 disconnectpaths(); + if(level.turbine_room_elevator_ascent_time) + { + common_scripts\utility::flag_wait("joker_placing_turbine_elevator_cover"); + var_24 = maps\_utility::get_rumble_ent(); + var_24.intensity = 0.1; + common_scripts\utility::noself_delaycall(level.turbine_room_elevator_ascent_time,::stopallrumbles); + var_05 moveto(var_1F.origin,level.turbine_room_elevator_ascent_time,2,2); + wait(level.turbine_room_elevator_ascent_time); + if(level.currentgen) + { + while(!istransientloaded("fusion_outro_tr")) + { + wait(0.1); + } + + level notify("tff_post_transition_middle_to_outro"); + } + } + else + { + var_25 = var_1F.origin - var_05.origin; + var_05.origin = var_05.origin + var_25; + var_02.origin = var_02.origin + var_25; + var_09.origin = var_09.origin + var_25; + var_0A = "turbine_elevator_exit"; + var_26 = "turbine_elevator_idle"; + var_0B = "stop_elevator_idle"; + var_09 thread maps\_anim::anim_single_solo_run(level.burke,var_0A); + var_09 thread maps\_anim::anim_single_solo_run(level.carter,var_0A); + var_09 thread maps\_anim::anim_loop_solo(level.joker,var_26,var_0B); + var_09 thread maps\_utility::notify_delay(var_0B,5.5); + var_09 maps\_utility::delaythread(5.5,::maps\_anim::anim_single_solo_run,level.joker,var_0A); + } + + var_02 disconnectpaths(); + var_27 = getentarray("elevator_inner_exit_door_upper","targetname"); + var_28 = getentarray("elevator_inner_exit_door_lower","targetname"); + if(isdefined(var_20)) + { + var_20 moveto(var_20.origin + (0,0,51),var_07 / 2,var_07 / 6,var_07 / 6); + var_21 moveto(var_21.origin + (0,0,93),var_07 * 2 / 3,var_07 / 12,var_07 / 12); + var_22 moveto(var_22.origin + (0,0,140),var_07,var_07 / 18,var_07 / 18); + var_23 common_scripts\utility::delaycall(var_07 * 3 / 4,::moveto,var_23.origin + (0,0,-8),var_07 / 4,var_07 / 8,var_07 / 8); + var_15 = getentarray("elevator_inner_door_upper","targetname"); + var_16 = getentarray("elevator_inner_door_lower","targetname"); + foreach(var_18 in var_15) + { + var_18 moveto(var_18.origin + (0,0,-80),var_08,var_08 / 6,var_08 / 6); + } + + foreach(var_18 in var_16) + { + var_18 moveto(var_18.origin + (0,0,48),var_08,var_08 / 6,var_08 / 6); + } + } + + foreach(var_18 in var_27) + { + var_18 unlink(); + var_18 moveto(var_18.origin + (0,0,80),var_08,var_08 / 6,var_08 / 6); + } + + foreach(var_18 in var_28) + { + var_18 unlink(); + var_18 moveto(var_18.origin + (0,0,-48),var_08,var_08 / 6,var_08 / 6); + } + + common_scripts\_exploder::exploder(3501); + common_scripts\_exploder::exploder(3502); + level notify("turbine_elevator_reached_top"); + if(level.currentgen) + { + var_31 = ["turbine_room_enemy"]; + thread maps\_cg_encounter_perf_monitor::cg_spawn_perf_monitor("turbine_room_stop_combat",var_31,15,0); + common_scripts\utility::flag_set("portal_on_turbine_room_flag"); + } + + soundscripts\_snd::snd_message("stop_turbine_elevator"); + common_scripts\utility::flag_set("control_room_run_prep"); + soundscripts\_snd::snd_message("start_turbine_loop"); + common_scripts\utility::flag_set("update_obj_pos_turbine_room_1"); + common_scripts\utility::flag_set("turbine_room_combat_start"); + maps\_utility::delaythread(10,::common_scripts\utility::flag_set,"vo_turbine_room_entrance"); + maps\_utility::autosave_by_name("turbine_elevator_complete"); + wait(1); + var_21 connectpaths(); + var_22 connectpaths(); +} + +//Function Number: 284 +turbine_enemy_elevator_removal() +{ + var_00 = getaiarray("axis"); + foreach(var_02 in var_00) + { + var_02 thread maps\_utility::player_seek_enable(); + } + + thread maps\_utility::ai_delete_when_out_of_sight(var_00,500); +} + +//Function Number: 285 +check_if_multiple_ents_inside(param_00) +{ + foreach(var_02 in param_00) + { + if(!var_02 istouching(self)) + { + return 0; + } + } + + return 1; +} + +//Function Number: 286 +turbine_room_elevator_button_pressed_anim(param_00,param_01) +{ + level.player maps\_shg_utility::setup_player_for_scene(); + thread maps\_player_exo::player_exo_deactivate(); + var_02 = 0.4; + level.player playerlinktoblend(level.player_rig,"tag_player",var_02); + level.player common_scripts\utility::delaycall(var_02,::playerlinktodelta,level.player_rig,"tag_player",1,7,7,5,5,1); + level.player take_car_door_shields(); + wait(var_02); + level.player_rig show(); + level.player soundscripts\_snd::snd_message("turbine_room_elevator_button"); + param_01 maps\_anim::anim_single_solo(level.player_rig,param_00); + level.player_rig delete(); + level.player unlink(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + thread maps\_player_exo::player_exo_activate(); +} + +//Function Number: 287 +turbine_room_elevator_think(param_00,param_01,param_02) +{ + var_03 = "turbine_elevator_enter"; + var_04 = "turbine_elevator_idle"; + var_05 = "turbine_elevator_exit"; + if(self == level.joker) + { + common_scripts\utility::flag_wait("joker_place_elevator_cover"); + } + + if(self == level.burke) + { + wait(2); + } + + param_00 maps\_anim::anim_reach_solo(self,var_03); + if(self == level.joker) + { + common_scripts\utility::flag_set("joker_placing_turbine_elevator_cover"); + var_06 = spawn("script_model",(0,0,0)); + var_06.animname = "deployable_cover"; + var_06 setmodel("deployable_cover"); + var_06 maps\_anim::setanimtree(); + var_06 linkto(param_00); + param_00 thread maps\_anim::anim_single_solo(var_06,"deployable_cover_deploy"); + maps\_utility::delaythread(2.1,::common_scripts\_exploder::exploder,"fx_cover_deploy_impact"); + maps\_utility::delaythread(5,::common_scripts\_exploder::exploder,"fx_cover_deploy_impact_delay"); + var_07 = 5.4; + param_02 common_scripts\utility::delaycall(var_07,::setcontents,param_02.contents); + param_02 common_scripts\utility::delaycall(var_07,::show); + var_06 common_scripts\utility::delaycall(var_07,::delete); + } + + self linkto(param_00); + param_00 maps\_anim::anim_single_solo(self,var_03); + param_00 thread maps\_anim::anim_loop_solo(self,var_04,param_01); + if(self == level.joker) + { + if(level.currentgen) + { + level waittill("tff_post_transition_middle_to_outro"); + } + else + { + wait(5.5); + } + } + else if(level.currentgen) + { + level waittill("tff_post_transition_middle_to_outro"); + } + else + { + level waittill("turbine_elevator_reached_top"); + } + + self unlink(); + param_00 notify(param_01); + param_00 thread maps\_anim::anim_single_solo_run(self,var_05); + maps\_utility::disable_surprise(); + maps\_utility::disable_bulletwhizbyreaction(); + wait(10); + maps\_utility::enable_surprise(); + maps\_utility::enable_bulletwhizbyreaction(); +} + +//Function Number: 288 +turbine_room_combat() +{ + common_scripts\utility::flag_wait("player_in_turbine_room"); + level.burke maps\_utility::enable_careful(); + level.joker maps\_utility::enable_careful(); + level.carter maps\_utility::enable_careful(); + level.turbine_room_goal_volume = getent("turbine_room_initial_goal","script_noteworthy"); + common_scripts\utility::array_thread(getentarray("turbine_room_goal_volume_trigger","targetname"),::turbine_room_goal_volume_trigger_think); + common_scripts\utility::flag_wait("turbine_room_combat_start"); + level.burke maps\_utility::enable_ai_color(); + level.joker maps\_utility::enable_ai_color(); + level.carter maps\_utility::enable_ai_color(); + thread turbine_room_combat_initial(); + thread turbine_room_combat_seek_player(); + common_scripts\utility::flag_wait("turbine_room_stop_combat"); + foreach(var_01 in getaiarray("axis")) + { + var_01 thread maps\fusion_utility::bloody_death(randomfloatrange(0,3)); + } +} + +//Function Number: 289 +turbine_combat_mid_checkpoint_1() +{ + level endon("turbine_room_stop_combat"); + common_scripts\utility::flag_wait("flag_turbine_combat_mid_save_1"); + maps\_utility::autosave_by_name(); +} + +//Function Number: 290 +turbine_room_combat_initial() +{ + thread turbine_room_squibs(); + var_00 = getaiarray("axis"); + foreach(var_02 in var_00) + { + if(randomfloat(1) < 0.25) + { + var_02.favoriteenemy = level.player; + } + } + + wait(5); + common_scripts\utility::flag_set("turbine_room_initial_combat_retreat"); +} + +//Function Number: 291 +turbine_room_combat_seek_player() +{ + common_scripts\utility::flag_wait("flag_turbine_room_combat_seek_player"); + level.burke maps\_utility::disable_careful(); + level.joker maps\_utility::disable_careful(); + level.carter maps\_utility::disable_careful(); + var_00 = getaiarray("axis"); + foreach(var_02 in var_00) + { + var_02 thread maps\_utility::player_seek_enable(); + } +} + +//Function Number: 292 +turbine_room_squibs() +{ + level endon("turbine_room_initial_combat_retreat"); + var_00 = common_scripts\utility::getstructarray("turbine_room_squib_source","targetname"); + var_01 = common_scripts\utility::getstructarray("turbine_room_squib_dest","targetname"); + wait(1); + for(;;) + { + var_02 = randomintrange(1,var_00.size); + for(var_03 = 0;var_03 < var_02;var_03++) + { + var_04 = var_00[randomint(var_00.size)]; + var_05 = var_01[randomint(var_01.size)]; + magicbullet("iw5_ak12_sp",var_04.origin,var_05.origin); + wait(randomfloat(0.2)); + } + + wait(randomfloat(0.2)); + } +} + +//Function Number: 293 +turbine_room_goal_volume_trigger_think() +{ + var_00 = common_scripts\utility::get_target_ent(); + level endon("turbine_room_stop_combat"); + for(;;) + { + self waittill("trigger"); + if(var_00 != level.turbine_room_goal_volume) + { + level.turbine_room_goal_volume = var_00; + level notify("turbine_room_update_goal"); + } + + wait(0.5); + } +} + +//Function Number: 294 +turbine_room_enemy_think() +{ + self endon("death"); + while(!isdefined(level.turbine_room_goal_volume)) + { + wait(1); + } + + for(;;) + { + level waittill("turbine_room_update_goal"); + self setgoalvolumeauto(level.turbine_room_goal_volume); + wait(1); + } +} + +//Function Number: 295 +turbine_room_turbines() +{ + common_scripts\utility::flag_wait("elevator_ascend"); + common_scripts\utility::array_thread(getentarray("turbine_fan","targetname"),::turbine_fan_think); +} + +//Function Number: 296 +turbine_fan_think() +{ + var_00 = 10; + var_01 = 360; + if(isdefined(self.script_parameters)) + { + if(self.script_parameters == "ccw") + { + var_01 = -1 * var_01; + } + } + + for(;;) + { + self rotateroll(var_01 * var_00,var_00,0,0); + wait(var_00); + } +} + +//Function Number: 297 +turbine_room_entrance_steam() +{ + common_scripts\utility::flag_wait("turbine_room_entrance_steam"); + common_scripts\_exploder::exploder("turbine_looping_steam_fx"); +} + +//Function Number: 298 +turbine_room_pre_explosion() +{ + common_scripts\utility::flag_wait("turbine_room_pre_explosion"); + maps\_utility::pauseexploder("turbine_looping_steam_fx"); + wait(2.2); + common_scripts\_exploder::exploder("turbine_room_spark_steam"); + soundscripts\_snd::snd_message("turbine_pre_explo"); + wait(0.4); + common_scripts\_exploder::exploder("turbine_room_spark_steam_2"); + common_scripts\_exploder::exploder("turbine_looping_steam_fx_2"); + common_scripts\_exploder::exploder("turbine_looping_steam_fx"); +} + +//Function Number: 299 +turbine_room_explosion() +{ + var_00 = getent("turbine_explosion_volume","targetname"); + badplace_brush("turbine_explosion_volume",0,var_00,"allies"); + var_01 = getentarray("turbine_damaged","targetname"); + common_scripts\utility::array_call(var_01,::hide); + var_02 = getentarray("turbine_fan_damaged","targetname"); + common_scripts\utility::array_call(var_02,::hide); + common_scripts\utility::flag_wait("turbine_room_explosion"); + soundscripts\_snd::snd_message("turbine_explo_audio"); + wait(0.2); + var_03 = common_scripts\utility::getstructarray("turbine_explosion_damage_source","targetname"); + foreach(var_05 in var_03) + { + radiusdamage(var_05.origin,var_05.radius,200,100); + } + + maps\_utility::pauseexploder("turbine_looping_steam_fx"); + maps\_utility::pauseexploder("turbine_looping_steam_fx_2"); + common_scripts\_exploder::exploder("turbine_explosion_fx"); + var_07 = getent("turbine_explosion_catwalk_source","targetname"); + var_07 playsound("detpack_explo_metal"); + earthquake(0.5,0.5,var_07.origin,3000); + badplace_delete("turbine_explosion_volume"); + badplace_brush("turbine_explosion_volume",0,var_00,"axis","allies"); + var_08 = getentarray("turbine_intact","targetname"); + common_scripts\utility::array_call(var_08,::delete); + common_scripts\utility::array_call(var_01,::show); + common_scripts\utility::array_call(var_02,::show); + common_scripts\utility::array_thread(var_02,::turbine_fan_think); + wait(1.5); + common_scripts\_exploder::exploder("turbine_explosion_steam_fx"); + common_scripts\_exploder::exploder("turbine_damage_sparks"); + common_scripts\utility::flag_set("vo_turbine_explosion"); + soundscripts\_snd::snd_message("start_pa_emergency_turbine"); + if(level.currentgen) + { + level waittill("notify_out_of_control_room"); + maps\_utility::stop_exploder("turbine_explosion_fx"); + } +} + +//Function Number: 300 +turbine_room_explosion_flying_blades() +{ + var_00 = common_scripts\utility::getstructarray("turbine_blade_flying_start","targetname"); + foreach(var_02 in var_00) + { + thread turbine_room_explosion_launch_blade(var_02); + } +} + +//Function Number: 301 +turbine_room_explosion_launch_blade(param_00) +{ + if(isdefined(param_00.script_delay)) + { + wait(param_00.script_delay); + } + + var_01 = common_scripts\utility::getstruct(param_00.target,"targetname"); + var_02 = distance(param_00.origin,var_01.origin); + var_03 = 3000; + var_04 = var_02 / var_03; + var_05 = spawn("script_model",param_00.origin); + var_05 setmodel("vehicle_v22_osprey_damaged_static_bladepiece_left"); + var_05.angles = param_00.angles; + var_05 moveto(var_01.origin,var_04,0,0); + var_05 rotatepitch(1080,var_04,0,0); + wait(var_04); + var_05.angles = var_01.angles; + var_05 thread maps\fusion_utility::delete_on_notify("turbine_room_cleanup"); +} + +//Function Number: 302 +turbine_room_atmosphere() +{ + level endon("flag_shut_down_reactor_failed"); + level.player endon("death"); + var_00 = common_scripts\utility::getstructarray("turbine_center","script_noteworthy"); + var_01 = 0.07; + var_02 = 0.12; + var_03 = var_02 - var_01; + var_04 = 0.08; + var_05 = 0.12; + var_06 = var_05 - var_04; + for(;;) + { + common_scripts\utility::flag_wait("player_in_turbine_room"); + var_07 = maps\_utility::get_rumble_ent("steady_rumble"); + var_07.intensity = 0.08; + var_08 = 1; + while(common_scripts\utility::flag("player_in_turbine_room")) + { + var_09 = common_scripts\utility::getclosest(level.player.origin,var_00); + var_0A = get_turbine_shake_value(var_09); + var_07.intensity = var_01 + var_0A * var_03; + earthquake(var_04 + var_0A * var_06,var_08,level.player.origin,1000); + wait(randomfloatrange(var_08 / 4,var_08 / 2)); + } + + stopallrumbles(); + } +} + +//Function Number: 303 +get_turbine_shake_value(param_00) +{ + var_01 = 300; + var_02 = 600; + var_03 = var_02 - var_01; + var_04 = distance(level.player.origin,param_00.origin); + if(var_04 < var_01) + { + return 1; + } + + if(var_04 > var_02) + { + return 0; + } + + return 1 - var_04 - var_01 / var_03; +} + +//Function Number: 304 +turbine_room_steam_player() +{ + level endon("flag_shut_down_reactor_failed"); + while(common_scripts\utility::flag("player_in_turbine_room")) + { + playfx(common_scripts\utility::getfx("steam_player"),level.player.origin + (0,0,0)); + wait(0.3); + } +} + +//Function Number: 305 +control_room() +{ + thread control_room_run(); + thread control_room_explosion(); +} + +//Function Number: 306 +control_room_run() +{ + common_scripts\utility::flag_wait("control_room_run_prep"); + var_00 = getent("clip_explosion_door","targetname"); + var_00 hide(); + var_01 = common_scripts\utility::getstruct("control_room_burke_position","targetname"); + var_02 = "fusion_door_explosion"; + var_03 = getent("fusion_door_open_postup_doors","targetname"); + var_03.animname = "fusion_door_open_postup_doors"; + var_03 maps\_anim::setanimtree(); + var_01 maps\_anim::anim_first_frame_solo(var_03,var_02); + var_04 = getent("fusion_door_open_postup_door_left","targetname"); + var_04 linkto(var_03,"door_R"); + var_05 = getent("fusion_door_open_postup_door_right","targetname"); + var_05 linkto(var_03,"door_L"); + common_scripts\utility::flag_wait("control_room_run_approach"); + var_06 = getaiarray("axis"); + var_06 = maps\_utility::array_removedead_or_dying(var_06); + while(var_06.size >= 4) + { + var_06 = getaiarray("axis"); + var_06 = maps\_utility::array_removedead_or_dying(var_06); + wait 0.05; + } + + var_06 = getaiarray("axis"); + var_06 = maps\_utility::array_removedead_or_dying(var_06); + foreach(var_08 in var_06) + { + maps\fusion_utility::bloody_death(randomfloatrange(1,2)); + } + + level.burke maps\_utility::disable_careful(); + level.joker maps\_utility::disable_careful(); + level.carter maps\_utility::disable_careful(); + wait 0.05; + var_0A = []; + var_0A[var_0A.size] = level.burke; + var_0A[var_0A.size] = level.carter; + var_0B = "fusion_door_explosion_postup"; + var_0C = "fusion_door_explosion_postup_loop"; + var_0D = spawn("script_origin",var_01.origin); + var_0D.angles = var_01.angles; + var_0E = "control_room_run"; + level.burke thread start_cqb_when_near(getstartorigin(var_0D.origin,var_0D.angles,level.scr_anim["burke"][var_0B])); + level.carter thread start_cqb_when_near(getstartorigin(var_0D.origin,var_0D.angles,level.scr_anim["carter"][var_0B])); + var_0A = []; + var_0A[var_0A.size] = level.burke; + var_0A[var_0A.size] = level.carter; + common_scripts\utility::array_thread(var_0A,::control_room_run_approach,var_0D,var_0B,var_0C,var_0E); + level waittill("control_room_run_guy_ready"); + level waittill("control_room_run_guy_ready"); + common_scripts\utility::flag_wait("control_room_run"); + thread control_room_run_player(); + thread control_room_screens(); + level.burke maps\_utility::disable_cqbwalk(); + level.carter maps\_utility::disable_cqbwalk(); + var_0D notify("control_room_run"); + thread control_room_run_joker(); + maps\_utility::delaythread(2.5,::common_scripts\utility::flag_set,"update_obj_pos_control_room_door"); + var_0A[var_0A.size] = var_03; + common_scripts\utility::array_call(getentarray("control_room_doors","targetname"),::delete); + var_0F = maps\_utility::spawn_anim_model("fusion_door_explosion_door_a",(0,0,0)); + var_10 = []; + var_10[var_10.size] = var_0F; + soundscripts\_snd::snd_message("start_turbine_door_breach"); + soundscripts\_snd::snd_message("start_turbine_door_impt",var_04,var_05); + thread control_room_scene_player(var_01); + maps\_utility::delaythread(5,::common_scripts\utility::flag_set,"vo_control_hall_door_stack"); + maps\_utility::delaythread(6,::common_scripts\utility::flag_set,"vo_control_hall_door_kicked"); + var_0A[var_0A.size] = var_0F; + var_11 = getanimlength(level.burke maps\_utility::getanim(var_02)); + var_01 thread maps\_anim::anim_single(var_0A,var_02); + var_12 = 24; + maps\_utility::delaythread(var_12,::control_room_scene,var_11 - var_12); + wait(var_11); + var_00 show(); + var_0D delete(); +} + +//Function Number: 307 +control_room_run_approach(param_00,param_01,param_02,param_03) +{ + param_00 maps\_anim::anim_reach_solo(self,param_01); + param_00 maps\_anim::anim_single_solo(self,param_01); + param_00 thread maps\_anim::anim_loop_solo(self,param_02,param_03); + level notify("control_room_run_guy_ready"); +} + +//Function Number: 308 +control_room_run_player() +{ + var_00 = common_scripts\utility::getstruct("control_room_door_explosion_dmg_org","targetname"); + var_01 = var_00.radius; + common_scripts\utility::flag_wait("control_room_explosion"); + playrumbleonposition("grenade_rumble",var_00.origin); + var_02 = getent("control_room_door_clip","targetname"); + if(isdefined(var_02)) + { + var_02 delete(); + } + + var_03 = distance2d(var_00.origin,level.player.origin); + if(var_03 < var_01) + { + var_04 = level.player.health * 0.9 / level.player.damagemultiplier; + var_05 = var_01 - var_03 / var_01 * var_04; + level.player dodamage(var_05,var_00.origin); + var_06 = common_scripts\utility::getstructarray("control_room_door_explosion_dmg_dest","targetname"); + var_07 = []; + foreach(var_09 in var_06) + { + var_07[var_07.size] = length(vectorfromlinetopoint(var_00.origin,var_09.origin,level.player.origin)); + } + + var_0B = 0; + var_0C = 1000; + for(var_0D = 0;var_0D < var_07.size;var_0D++) + { + if(var_07[var_0D] < var_0C) + { + var_0B = var_0D; + var_0C = var_07[var_0D]; + } + } + + var_0E = var_06[var_0B]; + var_0F = common_scripts\utility::spawn_tag_origin(); + var_0F.origin = level.player.origin; + var_0F.angles = level.player.angles; + var_10 = 0.5; + level.player playerlinktoblend(var_0F,"tag_origin",var_10); + var_0F moveto(var_0E.origin,var_10,0.05,0.05); + var_11 = common_scripts\utility::getstruct("control_room_door_explosion_view_org","targetname"); + var_0F rotateto((0,vectortoangles(var_11.origin - var_0E.origin)[1],0),var_10,0.05,0.05); + level.player playrumbleonentity("damage_heavy"); + wait(var_10); + level.player unlink(); + var_0F delete(); + return; + } + + level.player playrumbleonentity("damage_light"); +} + +//Function Number: 309 +control_room_run_joker() +{ + wait(6); + getent("fusion_door_open_postup_door_left","targetname") connectpaths(); + getent("fusion_door_open_postup_door_right","targetname") connectpaths(); + wait(1); + var_00 = getnode("pre_control_room_joker_position","targetname"); + var_01 = level.joker.goalradius; + level.joker.goalradius = 64; + level.joker maps\_utility::enable_cqbwalk(); + level.joker setgoalnode(var_00); + level.joker waittill("goal"); + level.joker allowedstances("crouch"); + maps\_utility::trigger_wait_targetname("cover_allies_complete"); + wait(1); + var_02 = common_scripts\utility::getstruct("control_room_joker_position","targetname"); + var_01 = level.joker.goalradius; + level.joker.goalradius = 64; + level.joker maps\_utility::enable_cqbwalk(); + level.joker setgoalpos(var_02.origin); + level.joker waittill("goal"); + level.joker allowedstances("crouch"); + level waittill("control_room_scene_complete"); + level.joker allowedstances("prone","crouch","stand"); + level.joker maps\_utility::disable_cqbwalk(); + level.joker.goalradius = var_01; +} + +//Function Number: 310 +control_room_explosion() +{ + var_00 = getentarray("control_room_hall_intact","targetname"); + var_01 = getentarray("control_room_hall_destroyed","targetname"); + foreach(var_03 in var_01) + { + var_03 hide(); + } + + level waittill("doors_explode"); + foreach(var_03 in var_01) + { + var_03 show(); + } + + foreach(var_03 in var_00) + { + var_03 delete(); + } + + common_scripts\utility::flag_set("control_room_explosion"); + common_scripts\utility::flag_set("update_obj_pos_control_room_explosion"); + common_scripts\utility::flag_set("vo_control_room_explosion"); + level thread maps\fusion_fx::vfx_control_room_explo(); + soundscripts\_snd::snd_message("start_control_room_explo"); +} + +//Function Number: 311 +control_room_scene_player(param_00) +{ + common_scripts\utility::flag_wait("control_room_console_enable"); + var_01 = getent("control_room_console_use_trigger","targetname"); + var_02 = common_scripts\utility::getstruct("obj_pos_control_room_console","targetname"); + if(level.player usinggamepad()) + { + var_01 sethintstring(&"FUSION_USE_CONSOLE"); + } + else + { + var_01 sethintstring(&"FUSION_USE_CONSOLE_PC"); + } + + var_03 = var_01 maps\_shg_utility::hint_button_trigger("use"); + common_scripts\utility::flag_wait("control_room_console_used"); + level.burke thread maps\fusion_utility::hide_friendname_until_flag_or_notify("control_room_scene_complete"); + level.joker thread maps\fusion_utility::hide_friendname_until_flag_or_notify("control_room_scene_complete"); + level.carter thread maps\fusion_utility::hide_friendname_until_flag_or_notify("control_room_scene_complete"); + var_01 delete(); + var_03 maps\fusion_utility::hint_button_clear_fus(); + common_scripts\utility::flag_set("update_obj_pos_control_room_using_console"); + var_04 = getdvarint("cg_fov"); + var_05 = maps\_utility::spawn_anim_model("player_rig",level.player.origin); + var_05 hide(); + param_00 thread maps\_anim::anim_first_frame_solo(var_05,"control_room_scene"); + level.player disableweapons(); + maps\_player_exo::player_exo_deactivate(); + var_06 = 1; + level.player playerlinktoblend(var_05,"tag_player",var_06); + thread maps\fusion_anim::fov_lerp_to_50_blendtime(level.player,var_06); + var_05 common_scripts\utility::delaycall(var_06,::show); + level.player common_scripts\utility::delaycall(var_06,::playerlinktodelta,var_05,"tag_player",0,30,30,30,30); + level.player allowcrouch(0); + level.player allowprone(0); + level.player disableweapons(); + level.player maps\_utility::blend_movespeedscale_percent(0); + wait(var_06); + common_scripts\utility::flag_wait("control_room_scene_ready"); + common_scripts\utility::flag_set("control_room_scene"); + level.player playerlinktodelta(var_05,"tag_player",0,60,60,70,65); + param_00 thread maps\_anim::anim_single_solo(var_05,"control_room_scene"); + var_07 = getanimlength(var_05 maps\_utility::getanim("control_room_scene")); + wait(var_07 - 1); + level.player allowcrouch(1); + level.player allowprone(1); + level.player enableweapons(); + maps\_player_exo::player_exo_activate(); + wait(1); + var_05 delete(); + level.player unlink(); + level.player maps\_utility::blend_movespeedscale_percent(100,1); + thread maps\fusion_anim::fov_reset_previous(level.player,var_04); +} + +//Function Number: 312 +control_room_scene(param_00) +{ + common_scripts\utility::flag_set("control_room_scene_ready"); + thread control_room_scene_actors(param_00); + level waittill("control_room_event_1"); + thread maps\fusion_aud::do_inside_bombshake(); + level waittill("control_room_event_2"); + thread maps\fusion_aud::do_inside_bombshake(); + level waittill("control_room_event_3"); + thread maps\fusion_aud::do_inside_bombshake(); +} + +//Function Number: 313 +control_room_scene_actors(param_00) +{ + var_01 = common_scripts\utility::getstruct("control_room_burke_position","targetname"); + var_02 = spawn("script_origin",var_01.origin); + var_02.angles = var_01.angles; + var_03 = spawn("script_origin",var_01.origin); + var_03.angles = var_01.angles; + var_04 = spawn("script_origin",var_01.origin); + var_04.angles = var_01.angles; + var_05 = "control_room_idle"; + var_06 = []; + var_06[var_06.size] = level.burke; + var_06[var_06.size] = level.carter; + if(isdefined(param_00)) + { + common_scripts\utility::flag_wait_or_timeout("control_room_scene",param_00); + } + + var_02 thread maps\_anim::anim_loop_solo(level.burke,var_05,"control_room_scene"); + var_04 thread maps\_anim::anim_loop_solo(level.carter,var_05,"control_room_scene"); + var_05 = "control_room_scene"; + var_06[var_06.size] = level.joker; + common_scripts\utility::flag_wait("control_room_scene"); + level notify("turbine_room_cleanup"); + var_02 notify("control_room_scene"); + var_04 notify("control_room_scene"); + var_04 delete(); + maps\_utility::clear_all_color_orders("allies"); + level.burke maps\_utility::enable_ai_color(); + level.joker maps\_utility::enable_ai_color(); + level.carter maps\_utility::enable_ai_color(); + level.joker maps\_utility::set_force_color("o"); + level.carter maps\_utility::set_force_color("o"); + maps\_utility::delaythread(1,::maps\_utility::activate_trigger_with_targetname,"control_room_scene_complete_color_trigger"); + common_scripts\utility::flag_set("vo_control_room_scene"); + var_02 maps\_anim::anim_single_run(var_06,var_05); + var_02 delete(); + common_scripts\utility::flag_set("flag_shut_down_reactor_failed"); + common_scripts\utility::flag_set("evacuation_started"); + common_scripts\utility::flag_set("update_obj_pos_control_room_exit_1"); + control_room_scene_exit(); +} + +//Function Number: 314 +control_room_screens() +{ + level notify("stop_evacuation_kiosk_movie"); + setsaveddvar("cg_cinematicFullScreen","0"); + cinematicingameloop("fusion_control_room_loop"); + common_scripts\utility::flag_wait("control_room_scene"); + wait(12); + cinematicingameloop("fusion_control_room_loop_red"); + common_scripts\utility::flag_wait("evacuation_started"); + if(level.nextgen) + { + thread evacuation_kiosk_movie(); + } +} + +//Function Number: 315 +control_room_scene_exit() +{ + wait(0.45); + var_00 = getent("control_room_exit_door","targetname"); + getent(var_00.target,"targetname") linkto(var_00); + var_01 = 0.5; + var_00 rotateto(var_00.angles - (0,120,0),var_01,0,0); + wait(var_01 + 0.05); + var_00 rotateto(var_00.angles - (0,-10,0),1,0,1); + common_scripts\utility::flag_wait("raise_control_room_emergency_exit_door"); + common_scripts\utility::flag_set("update_obj_pos_control_room_exit_2"); +} + +//Function Number: 316 +scene_control_room_ai() +{ + maps\_utility::disable_surprise(); + maps\_utility::disable_bulletwhizbyreaction(); + maps\_utility::disable_pain(); + level waittill("control_room_scene_complete"); + maps\_utility::enable_surprise(); + maps\_utility::enable_bulletwhizbyreaction(); + maps\_utility::enable_pain(); +} + +//Function Number: 317 +scene_control_room_fade_up() +{ + if(!isdefined(level.overlay)) + { + level.overlay = maps\_hud_util::create_client_overlay("black",1,level.player); + level.overlay.sort = -1; + level.overlay.foreground = 1; + level.overlay.color = (0,0,0); + } + + wait(1); + var_00 = 1; + level.overlay fadeovertime(var_00); + level.overlay.alpha = 0; + wait(var_00); + level.overlay destroy(); +} + +//Function Number: 318 +evacuation_setup() +{ + common_scripts\utility::flag_wait("evacuation_started"); + thread evacuation_corpses(); +} + +//Function Number: 319 +dialog_meltdown() +{ + thread dialog_collapse(); + level endon("collapse_start"); + common_scripts\utility::flag_wait("hangar_enemies"); + level.joker maps\fusion_vo::dialogue_queue_global("fus_jkr_gideontangosarebailinout"); + level.burke maps\fusion_vo::dialogue_queue_global("fus_gdn_soarewekeepmoving"); + common_scripts\utility::flag_wait("hangar_combat_retreat"); + level.carter maps\fusion_vo::dialogue_queue_global("fus_ctr_jokerwhatsyourgeigerreading"); + level.joker maps\fusion_vo::dialogue_queue_global("fus_jkr_weregoodjustkeepshooting"); + common_scripts\utility::flag_wait("hangar_combat_retreat_02"); + level.burke maps\fusion_vo::dialogue_queue_global("fus_gdn_prophetwevegotkvaextraction"); + maps\fusion_vo::radio_dialogue_queue_global("fus_prt_affirmativebravoone"); + common_scripts\utility::flag_wait("hangar_exit_retreat"); + level.burke maps\fusion_vo::dialogue_queue_global("fus_gdn_wraithtwothreeweneedimmediate"); + maps\fusion_vo::radio_dialogue_queue_global("fus_ch1_copybravooneinboundinthirty"); + maps\fusion_vo::radio_dialogue_queue_global("fus_prt_bravopressurereadingsarecritical"); + soundscripts\_snd::snd_music_message("mus_fusion_pressure_readings_critical"); + level.joker maps\fusion_vo::dialogue_queue_global("fus_jkr_youheardtheman"); + common_scripts\utility::flag_wait("reaction_explo01a"); + wait(0.75); + level.joker maps\fusion_vo::dialogue_queue_global("fus_jkr_goddamn2"); + level.carter maps\fusion_vo::dialogue_queue_global("fus_ctr_whatthehellwasthat"); + level.burke maps\fusion_vo::dialogue_queue_global("fus_gdn_pressureexplosions"); + common_scripts\utility::flag_wait("ct_combat_retreat"); + wait(2); + common_scripts\utility::flag_wait("reaction_explo01"); + wait(2); + if(level.nextgen) + { + maps\fusion_vo::radio_dialogue_queue_global("fus_ch1_bravothisiswraithtwothree"); + level.burke maps\fusion_vo::dialogue_queue_global("fus_gdn_youreadamnwelcomesight"); + } + + common_scripts\utility::flag_wait("reaction_explo02"); + wait(4); + common_scripts\utility::flag_set("extraction_chopper_move_from_explosion"); + maps\fusion_vo::radio_dialogue_queue_global("fus_ch1_bravowecantgetnear"); + level.burke maps\fusion_vo::dialogue_queue_global("fus_gdn_copythattwothree"); + level.joker maps\fusion_vo::dialogue_queue_global("fus_jkr_comeon"); + level.carter maps\fusion_vo::dialogue_queue_global("fus_ctr_gogo"); + common_scripts\utility::flag_wait("ct_final_retreat"); + level.joker maps\fusion_vo::dialogue_queue_global("fus_jkr_theresourexfil"); +} + +//Function Number: 320 +dialog_monitor_drones_down() +{ + common_scripts\utility::flag_wait("evacuation_first_drones_down"); + if(!common_scripts\utility::flag("reaction_explo01") && !common_scripts\utility::flag("collapse_start")) + { + level.joker maps\fusion_vo::dialogue_queue_global("fus_jkr_dronesaredown"); + } +} + +//Function Number: 321 +dialog_collapse() +{ + common_scripts\utility::flag_wait("tower_debris"); +} + +//Function Number: 322 +outro_newscast() +{ +} + +//Function Number: 323 +combat_hangar() +{ + var_00 = getentarray("hangar_enemies_01","targetname"); + var_01 = getentarray("ct_enemies_01","targetname"); + var_02 = getentarray("hangar_runaway","targetname"); + var_03 = getentarray("hangar_runaway_02","targetname"); + common_scripts\utility::array_thread(var_00,::maps\_utility::add_spawn_function,::maps\_utility::disable_long_death); + common_scripts\utility::array_thread(var_01,::maps\_utility::add_spawn_function,::maps\_utility::disable_long_death); + common_scripts\utility::array_thread(var_02,::maps\_utility::add_spawn_function,::maps\_utility::disable_long_death); + common_scripts\utility::array_thread(var_03,::maps\_utility::add_spawn_function,::maps\_utility::disable_long_death); + level.hangar_enemies = []; + common_scripts\utility::flag_wait("hangar_combat_start"); + if(level.currentgen) + { + var_04 = ["hanger_enemies"]; + thread maps\_cg_encounter_perf_monitor::cg_spawn_perf_monitor("collapse_start",var_04,12,0); + } + + var_05 = maps\_utility::array_spawn(var_02,1,1); + common_scripts\utility::array_thread(var_05,::runaway_guy_delete); + common_scripts\utility::flag_wait("hangar_enemies"); + level.carter.dontmelee = 1; + level.joker.dontmelee = 1; + maps\_spawner::flood_spawner_scripted(var_00); + common_scripts\utility::flag_wait("hangar_combat_retreat"); + level.carter.dontmelee = undefined; + level.joker.dontmelee = undefined; + common_scripts\utility::flag_set("hangar_retreat_done"); + common_scripts\utility::array_thread(level.hangar_enemies,::enemy_run_away,"vol_final_runaway",1); + common_scripts\utility::flag_wait("hangar_combat_retreat_02"); + level.ct_enemies = maps\_utility::array_spawn(var_01,1,1); + var_06 = maps\_utility::array_spawn(var_03,1,1); + common_scripts\utility::array_thread(level.ct_enemies,::maps\_utility::flagwaitthread,"reaction_explo01a",::enemy_run_away,"vol_ct_02",0); + common_scripts\utility::flag_wait("ct_combat_retreat"); + common_scripts\utility::flag_wait("reaction_explo01"); + maps\_utility::autosave_by_name(); + if(level.nextgen) + { + var_07 = getentarray("ct_runaway_drones","targetname"); + common_scripts\utility::array_thread(var_07,::runaway_drone_think); + } + + var_08 = getentarray("final_collapse_enemies","targetname"); + maps\_utility::flood_spawn(var_08); + common_scripts\utility::flag_wait("ct_final_retreat"); + common_scripts\utility::array_thread(var_08,::maps\_spawner::flood_spawner_stop); +} + +//Function Number: 324 +extraction_chopper() +{ + common_scripts\utility::flag_wait("reaction_explo01"); + if(level.nextgen) + { + level.extraction_chopper = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("ct_extraction_chopper"); + level.extraction_chopper soundscripts\_snd::snd_message("extraction_chopper_spawn"); + level.extraction_chopper thread warbird_shooting_think(); + level.extraction_chopper setmaxpitchroll(20,60); + level.extraction_chopper maps\_vehicle::vehicle_lights_on("running"); + level.extraction_chopper vehicle_turnengineoff(); + } + + wait(2); + if(level.nextgen) + { + level.extraction_chopper notify("warbird_fire"); + } + + wait(8); + common_scripts\utility::flag_set("objective_on_extraction_chopper"); + if(level.nextgen) + { + level.extraction_chopper setgoalyaw(330); + level.extraction_chopper sethoverparams(50,50,25); + common_scripts\utility::flag_wait("extraction_chopper_move_from_explosion"); + level.extraction_chopper notify("warbird_stop_firing"); + level.extraction_chopper soundscripts\_snd::snd_message("extraction_chopper_move"); + level.extraction_chopper cleargoalyaw(); + level.extraction_chopper maps\_vehicle::vehicle_paths(common_scripts\utility::getstruct("extraction_chopper_move_from_explosion","targetname")); + } +} + +//Function Number: 325 +extraction_chopper_collapse() +{ + common_scripts\utility::flag_wait("tower_debris"); + wait(5); + var_00 = common_scripts\utility::getstruct("extraction_chopper_final_path","targetname"); + if(!isdefined(level.extraction_chopper)) + { + level.extraction_chopper = maps\_vehicle::spawn_vehicle_from_targetname("ct_extraction_chopper"); + level.extraction_chopper vehicle_turnengineoff(); + } + + level.extraction_chopper vehicle_setspeedimmediate(0); + level.extraction_chopper vehicle_teleport(var_00.origin,var_00.angles); + level.extraction_chopper maps\_vehicle::vehicle_paths(var_00); +} + +//Function Number: 326 +enemy_run_away(param_00,param_01) +{ + if(!isdefined(self)) + { + return; + } + + if(distance(self.origin,level.player.origin) <= 600) + { + return; + } + + self notify("enemy_run_away"); + self endon("enemy_run_away"); + self endon("death"); + self.ignoreall = 1; + var_02 = getent(param_00,"targetname"); + self cleargoalvolume(); + self setgoalvolumeauto(var_02); + if(isdefined(param_01) && param_01) + { + thread enemy_delete_at_goal(); + } + + var_03 = 10000; + for(;;) + { + common_scripts\utility::waittill_any("damage","bad_path"); + level notify("ct_enemies_runaway_damage"); + } +} + +//Function Number: 327 +enemy_delete_at_goal() +{ + self notify("enemy_delete_at_goal"); + self endon("enemy_delete_at_goal"); + self endon("death"); + self waittill("goal"); + if(isdefined(self) && isalive(self)) + { + self delete(); + } +} + +//Function Number: 328 +hangar_enemy_think() +{ + level.hangar_enemies[level.hangar_enemies.size] = self; + self cleargoalvolume(); + if(!common_scripts\utility::flag("hangar_retreat_done")) + { + self setgoalvolumeauto(getent("vol_enemy_hangar","targetname")); + return; + } + + self setgoalvolumeauto(getent("vol_ct_01","targetname")); +} + +//Function Number: 329 +runaway_guy_delete() +{ + self endon("death"); + self waittill("goal"); + if(isdefined(self) && isalive(self)) + { + self delete(); + } +} + +//Function Number: 330 +runaway_drone_think() +{ + var_00 = maps\_utility::spawn_ai(1); + var_00 thread runaway_guy_delete(); + var_00 endon("death"); + common_scripts\utility::flag_wait("collapse_start"); + var_00 kill(); +} + +//Function Number: 331 +add_drone_to_squad() +{ + if(isdefined(self.script_parameters) && self.script_parameters == "personal_drone") + { + var_00 = getent("squad_drone_spawner","targetname"); + maps\_weapon_pdrone::pdrone_launch(var_00); + if(isdefined(self.pdrone)) + { + self.pdrone setthreatbiasgroup("drones"); + self.pdrone thread cleanup_squad_drone(); + } + } +} + +//Function Number: 332 +cleanup_squad_drone() +{ + if(level.nextgen) + { + level waittill("street_cleanup"); + } + else + { + level waittill("tff_pre_transition_intro_to_middle"); + } + + self delete(); +} + +//Function Number: 333 +reaction_explosions() +{ + if(level.currentgen) + { + common_scripts\utility::flag_wait("hangar_enemies"); + } + + var_00 = getentarray("pressure_explosion_1_before","targetname"); + var_01 = getentarray("pressure_explosion_1_after","targetname"); + var_02 = getentarray("pressure_explosion_2_before","targetname"); + var_03 = getentarray("pressure_explosion_2_after","targetname"); + common_scripts\utility::array_call(var_01,::hide); + common_scripts\utility::array_call(var_01,::notsolid); + common_scripts\utility::array_call(var_03,::hide); + common_scripts\utility::array_call(var_03,::notsolid); + var_04 = getent("explosion_cart","targetname"); + var_04.animname = "cart"; + var_04 maps\_anim::setanimtree(); + var_05 = getent("fusion_utility_cart_collision","targetname"); + var_05 linkto(var_04,"TAG_ORIGIN"); + var_06 = getent("org_reaction_pickup_event","targetname"); + var_07 = "fusion_utility_cart_explode_cart"; + thread reaction_pickup_event(); + if(level.nextgen) + { + common_scripts\utility::flag_wait("hangar_enemies"); + } + + wait(1.5); + common_scripts\utility::flag_wait("reaction_explo01a"); + common_scripts\utility::array_call(var_00,::delete); + common_scripts\utility::array_call(var_01,::show); + common_scripts\utility::array_call(var_01,::solid); + thread pressure_explosion_damage(1); + level thread maps\fusion_fx::big_pipe_explosion_vfx_after_hangar(); + wait(0.5); + common_scripts\utility::flag_wait("reaction_explo01"); + wait(0.5); + common_scripts\utility::array_call(var_02,::delete); + common_scripts\utility::array_call(var_03,::show); + common_scripts\utility::array_call(var_03,::solid); + thread pressure_explosion_damage(2); + var_04 setmodel("vehicle_ind_utility_tractor_01_dstrypv"); + var_06 thread maps\_anim::anim_single_solo(var_04,var_07); + thread explosion_cart_kill_trigger(); + var_04 thread maps\fusion_fx::underground_pipe_explosion_utility_truck_vfx(); + var_06 waittill(var_07); + var_05 disconnectpaths(); +} + +//Function Number: 334 +explosion_cart_kill_trigger() +{ + wait(0.75); + var_00 = common_scripts\utility::getstruct("explosion_cart_kill_struct","targetname"); + radiusdamage(var_00.origin,var_00.radius,300,300,undefined); +} + +//Function Number: 335 +pressure_explosion_damage(param_00) +{ + var_01 = common_scripts\utility::getstruct("pressure_explosion_" + param_00 + "_damage","targetname"); + playrumbleonposition("grenade_rumble",var_01.origin); + radiusdamage(var_01.origin,var_01.radius,300,300,undefined,"MOD_EXPLOSIVE"); +} + +//Function Number: 336 +reaction_pickup_event() +{ + var_00 = getentarray("crater_models","targetname"); + var_00 = common_scripts\utility::array_add(var_00,getent("crater_brush","targetname")); + var_01 = getent("crater_brush_surface","targetname"); + var_02 = getent("crater_connectpaths","targetname"); + var_03 = getent("explosion_pickup_intact","targetname"); + var_04 = getent("explosion_pickup","targetname"); + var_04.animname = "pickup"; + var_04 maps\_anim::setanimtree(); + var_04 hide(); + foreach(var_06 in var_00) + { + var_06 hide(); + } + + var_08 = getent("truck_flip_collision","targetname"); + var_08 disconnectpaths(); + var_09 = []; + var_09[var_09.size] = var_04; + var_0A = getent("org_reaction_pickup_event","targetname"); + var_0A maps\_anim::anim_first_frame(var_09,"fusion_reaction_pickup_event"); + common_scripts\utility::flag_wait("reaction_explo02"); + var_08 connectpaths(); + var_08 delete(); + var_0A thread maps\_anim::anim_single(var_09,"fusion_reaction_pickup_event"); + var_04 thread reaction_pickup_queue_explosion(); + var_04 thread reaction_pickup_player_proximity(); + level waittill("truck_explosion"); + var_03 hide(); + var_04 show(); + var_01 hide(); + var_01 notsolid(); + var_02 solid(); + var_02 disconnectpaths(); + common_scripts\utility::array_call(var_00,::show); + var_04 thread maps\fusion_fx::underground_pipe_explosion_pickup_truck_vfx(); + thread pressure_explosion_damage(3); + wait(0.8); + radiusdamage(var_04.origin,220,200,100,undefined,"MOD_EXPLOSIVE"); + wait(0.3); + radiusdamage(var_04.origin,180,200,100,undefined,"MOD_EXPLOSIVE"); +} + +//Function Number: 337 +reaction_pickup_queue_explosion() +{ + level endon("truck_explosion"); + self waittillmatch("truck_explosion","single anim"); + level notify("truck_explosion"); +} + +//Function Number: 338 +reaction_pickup_player_proximity() +{ + level endon("truck_explosion"); + var_00 = 202500; + for(;;) + { + if(distancesquared(self.origin,level.player.origin) < var_00) + { + var_01 = []; + var_01[0] = self; + maps\_anim::anim_set_time(var_01,"fusion_reaction_pickup_event",0.43); + level notify("truck_explosion"); + } + + wait(0.05); + } +} + +//Function Number: 339 +reaction_ai() +{ + var_00 = getentarray("ct_enemies_runaway","targetname"); + common_scripts\utility::flag_wait("ct_combat_retreat"); + common_scripts\utility::array_thread(var_00,::maps\_utility::add_spawn_function,::maps\_utility::disable_long_death); + var_01 = maps\_utility::array_spawn(var_00); + common_scripts\utility::flag_wait("reaction_explo01"); + common_scripts\utility::array_thread(level.ct_enemies,::enemy_run_away,"vol_final_runaway",1); + common_scripts\utility::array_thread(var_01,::enemy_run_away,"vol_final_runaway",1); + var_02 = getentarray("ct_runaway_enemies","targetname"); + common_scripts\utility::array_thread(var_02,::maps\_utility::add_spawn_function,::maps\_utility::disable_long_death); + var_02 = maps\_utility::array_spawn(var_02); + common_scripts\utility::flag_wait("reaction_explo02"); + thread ct_enemies_final_runaway_faceplayer(var_00); + var_03 = getentarray("ct_enemies_final_runaway","targetname"); + common_scripts\utility::array_thread(var_03,::maps\_utility::add_spawn_function,::maps\_utility::disable_long_death); + var_04 = maps\_utility::array_spawn(var_03,1,1); + common_scripts\utility::flag_wait("ct_final_retreat"); + var_05 = getaiarray("axis"); + common_scripts\utility::array_thread(var_05,::enemy_run_away,"vol_final_runaway",1); +} + +//Function Number: 340 +ct_enemies_runaway_faceplayer() +{ + common_scripts\utility::flag_wait("kva_retreat_faceplayer"); + var_00 = getentarray("ct_runaway_enemies_backup","script_noteworthy"); + foreach(var_02 in var_00) + { + if(isalive(var_02)) + { + var_02 thread maps\_utility::player_seek_enable(); + } + } +} + +//Function Number: 341 +ct_enemies_final_runaway_faceplayer(param_00) +{ + self notify("enemy_aggro"); + self endon("enemy_aggro"); + sortbydistance(param_00,level.player.origin); + level waittill("ct_enemies_runaway_damage"); +} + +//Function Number: 342 +finale_enemy_transports() +{ + if(isdefined(level.start_point) && level.start_point == "cooling_tower") + { + return; + } + + common_scripts\utility::flag_wait("evacuation_started"); + var_00 = maps\_vehicle::spawn_vehicle_from_targetname("ct_enemy_transport_01"); + var_00 maps\_vehicle::godon(); + var_00 thread tigger_hurt_rotor(); + var_00 setmaxpitchroll(30,30); + var_00 maps\_vehicle::vehicle_lights_on("running"); + var_00.snd_disable_vehicle_system = 1; + var_01 = maps\_vehicle::spawn_vehicle_from_targetname("ct_enemy_transport_02"); + var_01 maps\_vehicle::godon(); + var_01 setmaxpitchroll(30,40); + var_00 maps\_vehicle::vehicle_lights_on("running"); + var_01.snd_disable_vehicle_system = 1; + common_scripts\utility::flag_wait("hangar_enemies"); + var_00.snd_disable_vehicle_system = 0; + var_01.snd_disable_vehicle_system = 0; + common_scripts\utility::flag_wait("hangar_combat_retreat_02"); + if(level.nextgen) + { + maps\_utility::delaythread(1,::spawn_transport_flying_01); + } + + common_scripts\utility::flag_wait("hangar_exit_retreat"); + maps\_utility::autosave_by_name(); + if(level.nextgen) + { + maps\_utility::delaythread(1,::spawn_transport_flying_02); + } + + level.get_pdrone_crash_location_override = ::get_pdrone_crash_location_override; + var_02 = vehicle_scripts\_pdrone::start_flying_attack_drones("kva_retreat_drones"); + foreach(var_04 in var_02) + { + var_04 thread maps\_shg_utility::make_emp_vulnerable(); + var_04 thread drone_delete_at_goal(); + } + + maps\_vehicle::gopath(var_00); + soundscripts\_snd::snd_message("hangar_transport_01_away",var_00); + common_scripts\utility::flag_wait("ct_combat_retreat"); + var_06 = vehicle_scripts\_pdrone::start_flying_attack_drones("kva_retreat_drones_02"); + foreach(var_04 in var_06) + { + var_04 thread maps\_shg_utility::make_emp_vulnerable(); + var_04 thread drone_delete_at_goal(); + } + + maps\_vehicle::gopath(var_01); + common_scripts\utility::flag_wait("reaction_explo01"); + var_09 = vehicle_scripts\_pdrone::start_flying_attack_drones("kva_retreat_drones_03"); + foreach(var_04 in var_09) + { + var_04 thread maps\_shg_utility::make_emp_vulnerable(); + var_04 thread drone_delete_at_goal(); + } + + common_scripts\utility::flag_wait("reaction_explo02"); + foreach(var_04 in var_02) + { + if(isdefined(var_04) && isalive(var_04)) + { + var_04 common_scripts\utility::delaycall(randomfloatrange(0.05,10),::kill); + } + } + + level waittill("truck_explosion"); + foreach(var_04 in var_06) + { + if(isdefined(var_04) && isalive(var_04)) + { + var_04 common_scripts\utility::delaycall(randomfloatrange(0.05,1),::kill); + } + } + + foreach(var_04 in var_09) + { + if(isdefined(var_04) && isalive(var_04)) + { + var_04 common_scripts\utility::delaycall(randomfloatrange(0.05,1),::kill); + } + } +} + +//Function Number: 343 +tigger_hurt_rotor() +{ + var_00 = getent("trig_hurt_transport_01","targetname"); + var_00 enablelinkto(); + var_00 linkto(self); + self waittill("death"); + var_00 unlink(); + var_00 delete(); +} + +//Function Number: 344 +spawn_transport_flying_01() +{ + var_00 = maps\_vehicle::spawn_vehicles_from_targetname_and_drive("ct_enemy_transport_flying_01"); + foreach(var_02 in var_00) + { + var_02 maps\_vehicle::godon(); + } + + soundscripts\_snd::snd_message("hangar_transport_flying_01_away",var_00[0]); +} + +//Function Number: 345 +spawn_transport_flying_02() +{ + var_00 = maps\_vehicle::spawn_vehicles_from_targetname_and_drive("ct_enemy_transport_flying_02"); + foreach(var_02 in var_00) + { + var_02 maps\_vehicle::godon(); + } + + soundscripts\_snd::snd_message("hangar_transport_flying_02_away",var_00[0]); +} + +//Function Number: 346 +evacuation_first_drones_think() +{ + level endon("collapse_start"); + self waittill("death"); + if(!isdefined(level.evacuation_first_drones_dead)) + { + level.evacuation_first_drones_dead = 0; + } + + level.evacuation_first_drones_dead++; + if(level.evacuation_first_drones_dead >= 5) + { + common_scripts\utility::flag_set("evacuation_first_drones_down"); + } +} + +//Function Number: 347 +kva_retreat_drones_animated() +{ + var_00 = getent("drone_deploy_run_npc","targetname"); + var_01 = getent("drone_deploy_crouch_npc","targetname"); + thread kva_retreat_drone_think(var_00,0); + thread kva_retreat_drone_think(var_01,0,"Cover Crouch"); +} + +//Function Number: 348 +kva_retreat_drone_think(param_00,param_01,param_02) +{ + var_03 = param_00 maps\_utility::spawn_ai(1); + var_03.animname = "generic"; + var_04 = common_scripts\utility::getstruct(param_00.target,"targetname"); + var_05 = spawn("script_origin",var_04.origin); + var_05.angles = var_04.angles; + var_06 = getent(var_04.target,"targetname"); + var_07 = getsubstr(var_04.animation,0,var_04.animation.size - 4); + var_08 = spawn("script_model",var_03 gettagorigin("TAG_STOWED_BACK")); + var_08 setmodel(var_06.model); + var_08.angles = var_03 gettagangles("TAG_STOWED_BACK"); + var_08 linkto(var_03,"TAG_STOWED_BACK"); + var_08.animname = "personal_drone"; + var_08 useanimtree(level.scr_animtree["personal_drone"]); + var_08 thread maps\_anim::anim_loop_solo(var_08,"personal_drone_folded_idle"); + if(isdefined(param_02)) + { + var_05 maps\_anim::anim_reach_and_approach_solo(var_03,var_07,undefined,"Cover Crouch"); + } + else + { + var_05 maps\_anim::anim_generic_reach(var_03,var_07); + } + + var_05 maps\_anim::anim_generic_reach(var_03,var_07); + if(param_01) + { + var_05 thread maps\_anim::anim_generic_run(var_03,var_07); + } + else + { + var_05 thread maps\_anim::anim_generic(var_03,var_07); + } + + var_06.origin = var_08.origin; + var_06.angles = var_08.angles; + var_09 = var_06 maps\_utility::spawn_vehicle(); + var_08 delete(); + var_09.animname = "personal_drone"; + var_05 maps\_anim::anim_single_solo(var_09,var_07); + if(isdefined(var_09.target)) + { + var_09 maps\_vehicle::gopath(); + } + + if(var_09.script_team == "axis") + { + var_09 thread maps\_shg_utility::make_emp_vulnerable(); + } +} + +//Function Number: 349 +get_pdrone_crash_location_override() +{ + level.get_pdrone_crash_location_override = undefined; + return level.player.origin + 200 * anglestoforward(level.player.angles); +} + +//Function Number: 350 +finale_enemy_gaz() +{ + common_scripts\utility::flag_wait("evacuation_started"); + if(isdefined(level.start_point) && level.start_point != "cooling_tower") + { + if(level.nextgen) + { + thread finale_enemy_gaz_1(); + } + } + + var_00 = maps\_vehicle::spawn_vehicle_from_targetname("retreat_gaz_02"); + var_01 = maps\_vehicle::spawn_vehicle_from_targetname("retreat_gaz_03"); + var_00 maps\_vehicle::godon(); + var_01 maps\_vehicle::godon(); + common_scripts\utility::flag_wait("ct_final_retreat"); + wait(1); + soundscripts\_snd::snd_message("start_gaz_02_retreat",var_00); + maps\_vehicle::gopath(var_00); + wait(1.5); + soundscripts\_snd::snd_message("start_gaz_03_retreat",var_01); + maps\_vehicle::gopath(var_01); +} + +//Function Number: 351 +finale_enemy_gaz_1() +{ + var_00 = maps\_vehicle::spawn_vehicle_from_targetname("retreat_gaz_01"); + var_00 maps\_vehicle::godon(); + var_00.snd_disable_vehicle_system = 1; + common_scripts\utility::flag_wait("hangar_enemies"); + var_00.snd_disable_vehicle_system = 0; + common_scripts\utility::flag_wait("stop_ambient_explosions"); + wait(5); + maps\_vehicle::gopath(var_00); +} + +//Function Number: 352 +cooling_tower_collapse() +{ + var_00 = getentarray("collapse_geo_before","targetname"); + var_01 = getentarray("collapse_geo_after","targetname"); + common_scripts\utility::array_call(var_01,::hide); + common_scripts\utility::array_call(var_01,::notsolid); + var_02 = getentarray("cooling_tower_static","targetname"); + thread cooling_tower_collapse_visibility(var_02); + common_scripts\utility::flag_wait("collapse_start"); + soundscripts\_snd::snd_message("tower_collapse_prep"); + if(!isdefined(level.player_rig)) + { + level.player_rig = maps\_utility::spawn_anim_model("player_rig"); + } + + var_03 = maps\_utility::spawn_anim_model("player_rig",(0,0,0)); + var_03 hide(); + var_04 = spawn("script_model",(0,0,0)); + var_04 setmodel("fus_sever_debris"); + var_04 hide(); + var_04.animname = "collapse_debris_arm"; + var_04 maps\_anim::setanimtree(); + var_05 = maps\_utility::spawn_anim_model("fus_sever_debris_02"); + var_05 hide(); + var_06 = spawn("script_model",(0,0,0)); + var_06 setmodel("fus_end_scene_rubble"); + var_06 hide(); + var_06.animname = "fus_end_scene_rubble"; + var_06 maps\_anim::setanimtree(); + var_07 = maps\_utility::spawn_anim_model("vehicle_xh9_warbird"); + var_07 hide(); + var_08 = maps\_utility::spawn_anim_model("fusion_chunk_combo"); + var_09 = maps\_utility::spawn_anim_model("fusion_rock_chunk01"); + var_0A = maps\_utility::spawn_anim_model("fusion_rock_chunk02"); + var_0B = maps\_utility::spawn_anim_model("player_dismembered_arm"); + var_0B hide(); + var_0C = []; + var_0C[0] = level.burke; + var_0C[1] = level.player_rig; + var_0C[2] = var_04; + var_0C[3] = var_0B; + var_0C[4] = var_06; + var_0C[5] = var_05; + var_0C[6] = var_08; + var_0C[7] = var_09; + var_0C[8] = var_0A; + var_0D = []; + var_0E = spawn("script_model",(0,0,0)); + var_0E setmodel("fus_cooling_tower_collapse_chunks"); + var_0E.animname = "fus_cooling_tower_collapse_chunks"; + var_0E maps\_anim::setanimtree(); + var_0D["chunks"] = var_0E; + var_0E = spawn("script_model",(0,0,0)); + var_0E setmodel("fus_cooling_tower_collapse_concrete_shattered"); + var_0E.animname = "fus_cooling_tower_collapse_concrete_shattered"; + var_0E maps\_anim::setanimtree(); + var_0D["concrete_shattered"] = var_0E; + var_0E = spawn("script_model",(0,0,0)); + var_0E setmodel("fus_cooling_tower_collapse_concrete_shattered2"); + var_0E.animname = "fus_cooling_tower_collapse_concrete_shattered2"; + var_0E maps\_anim::setanimtree(); + var_0D["concrete_shattered2"] = var_0E; + var_0E = spawn("script_model",(0,0,0)); + var_0E setmodel("fus_cooling_tower_collapse_street_collapse"); + var_0E.animname = "fus_cooling_tower_collapse_street_collapse"; + var_0E maps\_anim::setanimtree(); + var_0D["street"] = var_0E; + common_scripts\utility::array_call(var_0D,::hide); + var_0F = maps\_utility::getanim_from_animname("fusion_silo_collapse_vm_pt02",level.player_rig.animname); + var_10 = getanimlength(var_0F); + var_11 = getangledelta(level.scr_anim["player_rig"]["fusion_silo_collapse_vm_pt02"],0,1); + var_12 = getmovedelta(level.scr_anim["player_rig"]["fusion_silo_collapse_vm_pt02"],0,1); + var_13 = getent("org_collapse_new","targetname"); + level.player thread collapse_player_dynamic_speed(var_13); + var_13 maps\_anim::anim_first_frame(var_0D,"fusion_collapse_ground_tower"); + thread collapse_player_disable_exo_and_weapons(); + level thread maps\fusion_fx::pressure_explosion_lead_up(); + wait(1.1); + level notify("collapse_animation_started"); + soundscripts\_snd::snd_message("tower_collapse_start"); + var_13 thread collapse_animate_lamps("fusion_collapse_ground_tower"); + level thread maps\fusion_fx::big_moment_ending_vfx(var_0D); + common_scripts\utility::array_call(var_02,::hide); + common_scripts\utility::array_call(var_0D,::show); + var_14 = getaiarray("axis"); + foreach(var_16 in var_14) + { + var_16 kill(); + } + + common_scripts\utility::array_thread(getentarray("collapse_stop_signs","targetname"),::collapse_stop_sign_think,var_13); + common_scripts\utility::array_thread(getaiarray("allies"),::collapse_friendly_think,var_13); + var_13 thread maps\_anim::anim_single(var_0D,"fusion_collapse_ground_tower"); + common_scripts\utility::flag_wait("tower_knockback"); + thread tower_collapse_knockback_disable_sonar(); + thread collapse_shellshock(); + soundscripts\_snd::snd_message("tower_collapse_player_stumble"); + var_13 maps\_utility::delaythread(1,::maps\_anim::anim_first_frame_solo,level.burke,"fusion_silo_stumble_npc"); + level.burke common_scripts\utility::delaycall(1,::hide); + common_scripts\utility::noself_delaycall(1,::setsaveddvar,"g_friendlynamedist",0); + level.burke common_scripts\utility::delaycall(1,::setcontents,0); + level.player thread maps\_shg_utility::setup_player_for_scene(); + level.player maps\_anim::anim_first_frame_solo(level.player_rig,"fusion_silo_collapse_vm_pt01"); + var_18 = 0.5; + level.player playerlinktoblend(level.player_rig,"tag_player",var_18); + level.player common_scripts\utility::delaycall(var_18,::playerlinktodelta,level.player_rig,"tag_player",1,5,5,5,5,1); + level.player_rig common_scripts\utility::delaycall(var_18,::show); + var_19 = "fusion_silo_collapse_vm_pt01"; + maps\_utility::delaythread(1,::common_scripts\utility::array_call,var_00,::delete); + maps\_utility::delaythread(1,::common_scripts\utility::array_call,var_01,::show); + maps\_utility::delaythread(1,::common_scripts\utility::array_call,var_01,::solid); + thread maps\_utility::lerp_fov_overtime(3,75); + var_1A = getanimlength(level.player_rig maps\_utility::getanim(var_19)); + level.player common_scripts\utility::delaycall(var_1A - 0.5,::enableweapons); + level.player thread collapse_player_look_at_tower(var_19,var_13.origin); + level.player maps\_anim::anim_single_solo(level.player_rig,var_19); + level.player thread maps\_shg_utility::setup_player_for_gameplay(); + level.player_rig hide(); + level.player unlink(); + thread collapse_player_disable_exo_and_weapons(); + common_scripts\utility::flag_wait("tower_debris"); + soundscripts\_snd::snd_message("tower_collapse_player_knockback"); + wait(0.3); + level.player disableweapons(); + thread maps\_utility::lerp_fov_overtime(3,65); + level.player thread maps\_shg_utility::setup_player_for_scene(); + level.player maps\_anim::anim_first_frame_solo(level.player_rig,"fusion_silo_collapse_vm_pt02"); + var_13 maps\_anim::anim_first_frame_solo(level.burke,"fusion_silo_collapse_finale"); + var_13 maps\_anim::anim_first_frame_solo(var_07,"fusion_silo_collapse_warbird"); + var_1B = combineangles(level.player_rig.angles,(0,0,var_11)); + var_1C = level.player_rig.origin + var_12[0] * anglestoforward(level.player_rig.angles) + var_12[1] * anglestoright(level.player_rig.angles) + var_12[2] * anglestoup(level.player_rig.angles); + var_1D = var_03.origin - var_1C; + var_1E = var_03.angles - var_1B; + level.player_rig.angles = (0,vectortoangles(var_13.origin - level.player.origin)[1],0); + level.player_rig.origin = level.player.origin; + var_18 = 0.5; + level.player playerlinktoblend(level.player_rig,"tag_player",var_18); + level.player common_scripts\utility::delaycall(var_18,::playerlinktodelta,level.player_rig,"tag_player",1,20,20,20,0,1); + level.player_rig common_scripts\utility::delaycall(var_18,::show); + level.player freezecontrols(1); + level.player_rig maps\_anim::anim_single_solo(level.player_rig,"fusion_silo_collapse_vm_pt02"); + level notify("stop_player_pos_update"); + soundscripts\_snd::snd_message("silo_collapse_plr_stunned"); + var_06 show(); + soundscripts\_snd::snd_message("fus_outro_burke_foley"); + var_07 show(); + level.burke show(); + var_1F = common_scripts\utility::spawn_tag_origin(); + var_1F linkto(var_07,"TAG_light_body_l",(10,0,-20),(14,110,0)); + playfxontag(common_scripts\utility::getfx("fusion_light_heli_strobe_outro"),var_1F,"TAG_ORIGIN"); + var_07 soundscripts\_snd::snd_message("fusion_silo_collapse_warbird"); + var_13 thread maps\_anim::anim_single_solo(level.burke,"fusion_silo_collapse_finale"); + var_13 thread maps\_anim::anim_single_solo(var_07,"fusion_silo_collapse_warbird"); + var_13 thread maps\_anim::anim_single(var_0C,"fusion_silo_collapse_finale"); + var_20 = maps\_utility::getanim_from_animname("fusion_silo_collapse_finale",level.player_rig.animname); + level notify("stop_evacuation_kiosk_movie"); + var_21 = getanimlength(var_20); + wait(var_21 - 2); + common_scripts\utility::flag_set("play_ending"); + var_22 = 2; + soundscripts\_snd::snd_message("ending_fade_out",var_22); + maps\_utility::nextmission(); +} + +//Function Number: 353 +ending_fade_out(param_00) +{ + setblur(10,param_00); + var_01 = newhudelem(); + var_01.x = 0; + var_01.y = 0; + var_01.horzalign = "fullscreen"; + var_01.vertalign = "fullscreen"; + var_01 setshader("black",640,480); + if(isdefined(param_00) && param_00 > 0) + { + var_01.alpha = 0; + var_01 fadeovertime(param_00); + var_01.alpha = 1; + wait(param_00); + } + + waittillframeend; + var_01 destroy(); +} + +//Function Number: 354 +collapse_shellshock() +{ + var_00 = 10; + level.player shellshock("fusion_pre_collapse",var_00); + common_scripts\utility::flag_wait("tower_debris"); + wait(1); + var_00 = 7; + level.player shellshock("fusion_collapse",var_00); + wait(8); + var_00 = 60; + level.player shellshock("fusion_pre_collapse",var_00); +} + +//Function Number: 355 +collapse_friendly_think(param_00) +{ + var_01 = 0.0005; + var_02 = distance(self.origin,param_00.origin) * var_01 - 0.97; + wait(var_02); + maps\_utility::flashbangstart(4); + if(self != level.burke) + { + common_scripts\utility::flag_wait("tower_knockback"); + wait(3); + maps\_utility::stop_magic_bullet_shield(); + self delete(); + } +} + +//Function Number: 356 +collapse_stop_sign_think(param_00) +{ + var_01 = 0.0005; + var_02 = distance(self.origin,param_00.origin) * var_01 - 0.97; + wait(var_02); + var_03 = getent(self.target,"targetname"); + var_03 linkto(self); + var_04 = vectortoangles(param_00.origin - self.origin); + if(self.angles[1] - var_04[1] > -180) + { + var_05 = var_04 + (0,-90,90); + } + else + { + var_05 = var_05 + (0,90,-90); + } + + var_06 = 0.3; + self rotateto(var_05,var_06,0.1,0); + wait(var_06); + var_03 delete(); + self delete(); +} + +//Function Number: 357 +collapse_animate_lamps(param_00) +{ + var_01 = getentarray("collapse_streetlight","targetname"); + foreach(var_03 in var_01) + { + if(isdefined(var_03)) + { + var_03 delete(); + } + } + + var_05 = []; + for(var_06 = 1;var_06 < 10;var_06++) + { + var_05[var_05.size] = maps\_utility::spawn_anim_model("fusion_silo_lamp0" + var_06); + } + + for(var_06 = 0;var_06 <= 5;var_06++) + { + var_05[var_05.size] = maps\_utility::spawn_anim_model("fusion_silo_lamp1" + var_06); + } + + maps\_anim::anim_single(var_05,param_00); +} + +//Function Number: 358 +cooling_tower_collapse_visibility(param_00) +{ + level endon("collapse_start"); + common_scripts\utility::array_call(param_00,::hide); + for(;;) + { + common_scripts\utility::flag_wait("show_collapse_tower"); + common_scripts\utility::array_call(param_00,::show); + common_scripts\utility::flag_waitopen("show_collapse_tower"); + common_scripts\utility::array_call(param_00,::hide); + } +} + +//Function Number: 359 +grey_out_player() +{ + var_00 = maps\_hud_util::create_client_overlay("white",0,level.player); + var_00.sort = -1; + var_00.foreground = 1; + var_00.color = (0.6,0.6,0.6); + var_01 = 0.1; + var_02 = 1; + var_00 fadeovertime(var_01); + var_00.alpha = var_02; + wait(var_01); + var_01 = 0.05; + wait(var_01); + var_01 = 0.1; + var_02 = 0; + var_00 fadeovertime(var_01); + var_00.alpha = var_02; + wait(var_01); + var_00 destroy(); +} + +//Function Number: 360 +collapse_player_dynamic_speed(param_00) +{ + level endon("stop_player_pos_update"); + var_01 = 2636; + var_02 = 4000; + var_03 = var_02 - var_01; + var_04 = 0.05; + var_05 = 1; + for(;;) + { + var_06 = distance(level.player.origin,param_00.origin) - var_01 / var_03; + if(var_06 < var_04) + { + var_06 = var_04; + } + else if(var_06 > var_05) + { + var_06 = var_05; + } + + level.player setmovespeedscale(var_06); + wait(0.05); + } + + level.player maps\_utility::blend_movespeedscale_percent(50,3); +} + +//Function Number: 361 +collapse_player_disable_exo_and_weapons() +{ + maps\_player_exo::player_exo_deactivate(); + level.player disableweaponswitch(); + level.player disableoffhandweapons(); + level.player enableinvulnerability(); + level.player allowjump(0); + level.player.ignoreme = 1; +} + +//Function Number: 362 +collapse_player_look_at_tower(param_00,param_01) +{ + var_02 = maps\_utility::getanim_from_animname(param_00,level.player_rig.animname); + var_03 = getanimlength(var_02); + var_04 = vectortoangles(param_01 - level.player.origin); + level.player setplayerangles((0,var_04[1],0)); +} + +//Function Number: 363 +collapse_cleanup() +{ + wait(1); + var_00 = getaiarray(); + foreach(var_02 in var_00) + { + if(isdefined(var_02.magic_bullet_shield) && var_02.magic_bullet_shield) + { + var_02 maps\_utility::stop_magic_bullet_shield(); + } + } + + common_scripts\utility::array_call(var_00,::delete); +} + +//Function Number: 364 +play_fullscreen_blood_splatter(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = newclienthudelem(self); + var_05.x = 0; + var_05.y = 0; + var_05 setshader(param_00,640,480); + var_05.splatter = 1; + var_05.alignx = "left"; + var_05.aligny = "top"; + var_05.sort = 1; + var_05.foreground = 0; + var_05.horzalign = "fullscreen"; + var_05.vertalign = "fullscreen"; + var_05.alpha = 0; + var_05.enablehudlighting = 1; + var_06 = 0; + if(!isdefined(param_02)) + { + param_02 = 1; + } + + if(!isdefined(param_03)) + { + param_03 = 1; + } + + if(!isdefined(param_04)) + { + param_04 = 1; + } + + var_07 = 0.05; + if(param_02 > 0) + { + var_08 = 0; + var_09 = param_04 / param_02 / var_07; + while(var_08 < param_04) + { + var_05.alpha = var_08; + var_08 = var_08 + var_09; + wait(var_07); + } + } + + var_05.alpha = param_04; + wait(param_01 - param_02 + param_03); + if(param_03 > 0) + { + var_08 = param_04; + var_0A = param_04 / param_03 / var_07; + while(var_08 > 0) + { + var_05.alpha = var_08; + var_08 = var_08 - var_0A; + wait(var_07); + } + } + + var_05.alpha = 0; + var_05 destroy(); +} + +//Function Number: 365 +warbird_shooting_think(param_00) +{ + level.player endon("death"); + self endon("death"); + self.mgturret[0] setmode("manual"); + self.mgturret[1] setmode("manual"); + if(!maps\_utility::ent_flag_exist("fire_turrets")) + { + maps\_utility::ent_flag_init("fire_turrets"); + } + + maps\_utility::ent_flag_set("fire_turrets"); + thread warbird_fire_monitor(); + for(;;) + { + self waittill("warbird_fire"); + thread warbird_fire(param_00); + } +} + +//Function Number: 366 +warbird_fire(param_00) +{ + self endon("death"); + var_01 = self.mgturret[0]; + var_02 = self.mgturret[1]; + while(maps\_utility::ent_flag("fire_turrets")) + { + var_03 = getaiarray("axis"); + if(isdefined(level.flying_attack_drones)) + { + var_04 = level.flying_attack_drones; + } + else + { + var_04 = []; + } + + if(isdefined(level.drones) && isdefined(level.drones["axis"].array)) + { + var_03 = common_scripts\utility::array_combine(var_03,level.drones["axis"].array); + } + + var_03 = common_scripts\utility::array_combine(var_03,var_04); + var_05 = []; + foreach(var_07 in var_03) + { + if(isdefined(var_07.ignoreme) && var_07.ignoreme) + { + continue; + } + else + { + var_05[var_05.size] = var_07; + } + } + + var_05 = sortbydistance(var_05,self.origin); + var_09 = undefined; + foreach(var_07 in var_05) + { + if(!isdefined(var_07)) + { + continue; + } + + if(!isalive(var_07)) + { + continue; + } + + if(isdefined(param_00) && param_00) + { + var_0B = self.mgturret[0] gettagorigin("tag_flash"); + var_0C = var_07 geteye(); + var_0D = vectornormalize(var_0C - var_0B); + var_0E = var_0B + var_0D * 20; + if(!sighttracepassed(var_0E,var_0C,0,var_07,self.mgturret[0])) + { + continue; + } + } + + var_09 = var_07; + break; + } + + if(isdefined(var_09)) + { + var_01 settargetentity(var_09); + var_02 settargetentity(var_09); + var_01 turretfireenable(); + var_02 turretfireenable(); + var_01 startfiring(); + var_02 startfiring(); + wait_for_warbird_fire_target_done(var_09,param_00); + var_01 cleartargetentity(); + var_02 cleartargetentity(); + var_01 turretfiredisable(); + var_02 turretfiredisable(); + } + + wait(0.05); + } + + var_01 turretfiredisable(); + var_02 turretfiredisable(); +} + +//Function Number: 367 +wait_for_warbird_fire_target_done(param_00,param_01) +{ + param_00 endon("death"); + if(!maps\_utility::ent_flag("fire_turrets")) + { + return; + } + + self endon("fire_turrets"); + for(;;) + { + if(isdefined(param_01) && param_01) + { + var_02 = self.mgturret[0] gettagorigin("tag_flash"); + var_03 = param_00 geteye(); + var_04 = vectornormalize(var_03 - var_02); + var_05 = var_02 + var_04 * 20; + if(!sighttracepassed(var_05,var_03,0,param_00,self.mgturret[0])) + { + return; + } + } + + wait(0.3); + } +} + +//Function Number: 368 +warbird_fire_monitor() +{ + self endon("death"); + self waittill("warbird_stop_firing"); + maps\_utility::ent_flag_clear("fire_turrets"); +} + +//Function Number: 369 +heli_looking_at_target(param_00) +{ + var_01 = 45; + var_02 = cos(var_01); + var_03 = anglestoforward(self.angles); + var_04 = vectornormalize(param_00.origin - self.origin); + if(vectordot(var_03,var_04) >= var_02) + { + return 1; + } + + return 0; +} + +//Function Number: 370 +demo_skip_forward() +{ + common_scripts\utility::flag_wait("start_itiot"); + if(getdvarint("demo_itiot") == 1) + { + wait(0.5); + level.overlay = maps\_hud_util::create_client_overlay("black",0,level.player); + level.overlay.sort = -1; + level.overlay.foreground = 1; + level.overlay.color = (0,0,0); + level.overlay fadeovertime(1); + level.overlay.alpha = 1; + soundscripts\_snd::snd_message("itiot_fade_out"); + var_00 = []; + var_00[0] = "In the interest of time..."; + thread demo_feed_lines(var_00,1); + wait(1); + if(isdefined(level.player.drivingvehicle)) + { + level.player.drivingvehicle notify("exit_vehicle_dof"); + level.player maps\_utility::player_dismount_vehicle(); + } + else if(isdefined(level.player.drivingvehicleandturret)) + { + level.player.drivingvehicleandturret notify("exit_vehicle_dof"); + level.player.drivingvehicleandturret notify("dismount_vehicle_and_turret"); + level.player.drivingvehicleandturret = undefined; + } + + if(isdefined(level.alpha_leader)) + { + level.alpha_leader maps\_utility::stop_magic_bullet_shield(); + } + + if(isdefined(level.joker)) + { + level.joker maps\_utility::stop_magic_bullet_shield(); + } + + if(isdefined(level.carter)) + { + level.carter maps\_utility::stop_magic_bullet_shield(); + } + + if(isdefined(level.burke)) + { + level.burke maps\_utility::stop_magic_bullet_shield(); + } + + level.burke maps\_utility::anim_stopanimscripted(); + level.joker maps\_utility::anim_stopanimscripted(); + level notify("itiot_cleanup"); + common_scripts\utility::array_call(getaiarray(),::delete); + common_scripts\utility::array_call(getentarray("script_vehicle_x4walker_wheels_turret","classname"),::delete); + if(isdefined(level.player.linked_to_cover)) + { + level.player.linked_to_cover vehicle_scripts\_cover_drone::player_unlink_from_cover(); + } + + common_scripts\utility::array_call(getentarray("script_vehicle_cover_drone","classname"),::delete); + common_scripts\utility::array_call(getentarray("mobile_turret","targetname"),::delete); + common_scripts\utility::array_call(getentarray("script_vehicle_pdrone","classname"),::delete); + level.player setstance("stand"); + level.player freezecontrols(1); + level.player maps\_utility::teleport_player(common_scripts\utility::getstruct("itiot_player_start","targetname")); + level.player setplayerangles(level.player.angles + (7,0,0)); + wait(4); + soundscripts\_snd::snd_message("itiot_fade_in"); + level.player freezecontrols(0); + common_scripts\utility::flag_set("flag_shut_down_reactor_failed"); + common_scripts\utility::flag_set("evacuation_started"); + } +} + +//Function Number: 371 +demo_feed_lines(param_00,param_01) +{ + var_02 = getarraykeys(param_00); + for(var_03 = 0;var_03 < var_02.size;var_03++) + { + var_04 = var_02[var_03]; + var_05 = var_03 * param_01 + 1; + maps\_utility::delaythread(var_05,::centerlinethread,param_00[var_04],param_00.size - var_03 - 1,param_01,var_04); + } +} + +//Function Number: 372 +centerlinethread(param_00,param_01,param_02,param_03) +{ + level notify("new_introscreen_element"); + var_04 = newhudelem(); + var_04.x = 0; + var_04.y = 0; + var_04.alignx = "center"; + var_04.aligny = "middle"; + var_04.horzalign = "center"; + var_04.vertalign = "middle_adjustable"; + var_04.sort = 1; + var_04.foreground = 1; + var_04 settext(param_00); + var_04.alpha = 0; + var_04 fadeovertime(0.2); + var_04.alpha = 1; + var_04.hidewheninmenu = 1; + var_04.fontscale = 2.4; + var_04.color = (0.8,1,0.8); + var_04.font = "objective"; + var_04.glowcolor = (0.3,0.6,0.3); + var_04.glowalpha = 1; + var_05 = int(param_02 * 1000 + 4000); + var_04 setpulsefx(30,var_05,700); + thread maps\_introscreen::hudelem_destroy(var_04); + if(!isdefined(param_03)) + { + return; + } + + if(!isstring(param_03)) + { + return; + } + + if(param_03 != "date") + { + } +} + +//Function Number: 373 +introscreen_generic_fade_out(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_02)) + { + param_02 = 1.5; + } + + var_04 = newhudelem(); + var_04.x = 0; + var_04.y = 0; + var_04.horzalign = "fullscreen"; + var_04.vertalign = "fullscreen"; + var_04.foreground = 1; + var_04 setshader(param_00,640,480); + if(isdefined(param_03) && param_03 > 0) + { + var_04.alpha = 0; + var_04 fadeovertime(param_03); + var_04.alpha = 1; + wait(param_03); + } + + wait(param_01); + if(isdefined(param_02) && param_02 > 0) + { + var_04.alpha = 1; + var_04 fadeovertime(param_02); + var_04.alpha = 0; + } + + var_04 destroy(); +} + +//Function Number: 374 +prep_cinematic(param_00) +{ + setsaveddvar("cg_cinematicFullScreen","0"); + cinematicingame(param_00,1); + level.current_cinematic = param_00; +} + +//Function Number: 375 +play_cinematic(param_00,param_01,param_02) +{ + if(!isdefined(param_01)) + { + soundscripts\_audio::deprecated_aud_send_msg("begin_cinematic",param_00); + } + + if(isdefined(level.current_cinematic)) + { + pausecinematicingame(0); + setsaveddvar("cg_cinematicFullScreen","1"); + level.current_cinematic = undefined; + } + else + { + cinematicingame(param_00); + } + + if(!isdefined(param_02) || !param_02) + { + setsaveddvar("cg_cinematicCanPause","1"); + } + + wait(1); + while(iscinematicplaying()) + { + wait(0.05); + } + + if(!isdefined(param_02) || !param_02) + { + setsaveddvar("cg_cinematicCanPause","0"); + } + + if(!isdefined(param_01)) + { + soundscripts\_audio::deprecated_aud_send_msg("end_cinematic",param_00); + } +} + +//Function Number: 376 +setup_evacuation_scene() +{ + maps\_drone_civilian::init(); + maps\_drone_ai::init(); + level.evacuation_scene_spawners = []; + level.evacuation_scene_spawners["civilian"] = getentarray("evacuation_scene_spawners_civilians","targetname"); + level.evacuation_scene_spawners["axis"] = getentarray("evacuation_scene_spawners_axis","targetname"); + level.evacuation_scene_index = []; + level.evacuation_scene_index["civilian"] = 0; + level.evacuation_scene_index["axis"] = 0; + level.scr_anim["civilian"]["civilian_run_hunched_A_relative"] = %civilian_run_hunched_a_relative; + level.scr_anim["civilian"]["civilian_run_upright_relative"] = %civilian_run_upright_relative; + level.scr_anim["civilian"]["unarmed_scared_run"] = %unarmed_scared_run; + level.scr_anim["civilian"]["civilian_leaning_death"] = %civilian_leaning_death; + level.scr_anim["civilian"]["DC_Burning_bunker_stumble"] = %dc_burning_bunker_stumble; + level.scr_anim["civilian"]["civilian_run_upright_turnL90"] = %civilian_run_upright_turnl90; + level.scr_anim["civilian"]["civilian_run_hunched_turnL90_slide"] = %civilian_run_hunched_turnl90_slide; + thread handle_evacuation_scene_triggers(); +} + +//Function Number: 377 +handle_evacuation_scene_triggers() +{ + var_00 = getentarray("evacuation_scene_trigger","script_noteworthy"); + common_scripts\utility::array_thread(var_00,::evacuation_scene_trigger_think); +} + +//Function Number: 378 +evacuation_scene_trigger_think() +{ + var_00 = common_scripts\utility::getstructarray(self.target,"targetname"); + self waittill("trigger",var_01); + common_scripts\utility::flag_set("hangar_exit_explosion"); + foreach(var_03 in var_00) + { + var_03 thread evacuation_scene_think(); + } +} + +//Function Number: 379 +evacuation_scene_think() +{ + var_00 = get_evacuation_scene_spawner(self.script_parameters); + if(isdefined(self.script_delay)) + { + wait(self.script_delay); + } + + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "runner") + { + var_00.target = self.target; + var_01 = var_00 maps\_utility::spawn_ai(1); + var_00.target = undefined; + var_01.origin = self.origin; + var_01.no_friendly_fire_penalty = 1; + var_01 thread evacuation_scene_run_actor(self.animation,self.script_parameters); + return; + } + + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "run_and_die") + { + var_01.target = self.target; + var_01 = var_01 maps\_utility::spawn_ai(1); + var_00.target = undefined; + var_01.origin = self.origin; + var_01.no_friendly_fire_penalty = 1; + var_01 thread evacuation_scene_run_actor_and_die(self.animation,self.script_parameters); + return; + } + + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "anim_then_run") + { + var_01.target = self.target; + var_01.script_moveoverride = 1; + var_01 = var_01 maps\_utility::spawn_ai(1); + var_01.no_friendly_fire_penalty = 1; + var_00.script_moveoverride = undefined; + var_01.animname = self.script_parameters; + var_02 = var_01 evacuation_scene_determine_run_cycle(self.animation); + var_01 maps\_utility::set_run_anim_array(var_02,undefined,1); + evacuation_scene_animate_actor(var_01); + var_01 notify("move"); + var_01 waittill("goal"); + var_01 kill(); + return; + } + + var_01 = var_01 maps\_utility::spawn_ai(1); + var_01.no_friendly_fire_penalty = 1; + var_01.animname = self.script_parameters; + thread evacuation_scene_animate_actor(var_01); +} + +//Function Number: 380 +get_evacuation_scene_spawner(param_00) +{ + var_01 = level.evacuation_scene_spawners[param_00][level.evacuation_scene_index[param_00]]; + level.evacuation_scene_index[param_00]++; + if(level.evacuation_scene_index[param_00] >= level.evacuation_scene_spawners[param_00].size) + { + level.evacuation_scene_index[param_00] = 0; + } + + return var_01; +} + +//Function Number: 381 +evacuation_scene_animate_actor(param_00) +{ + param_00 endon("death"); + param_00.allowdeath = 1; + var_01 = self.animation; + if(isarray(level.scr_anim[param_00.animname][var_01])) + { + var_02 = 1; + thread maps\_anim::anim_generic_loop(param_00,var_01,"stop_idle"); + return; + } + + var_03 = issubstr(var_01,"death"); + if(var_03) + { + param_00.skipdeathanim = 1; + param_00.noragdoll = 1; + } + + if(var_01 == "dubai_restaurant_rolling_soldier") + { + param_00 common_scripts\utility::delaycall(1.8,::startragdoll); + } + + if(issubstr(var_01,"run")) + { + maps\_anim::anim_single_solo_run(param_00,var_01); + } + else + { + maps\_anim::anim_single_solo(param_00,var_01); + } + + if(var_03) + { + param_00 kill(); + } + + var_04 = var_01 + "_idle"; + if(isdefined(level.scr_anim[param_00.animname][var_04])) + { + thread maps\_anim::anim_loop_solo(param_00,var_04,"stop_idle"); + } +} + +//Function Number: 382 +evacuation_scene_run_actor(param_00,param_01) +{ + self.runanim = level.scr_anim[param_01][param_00]; + self waittill("goal"); + self delete(); +} + +//Function Number: 383 +evacuation_scene_run_actor_and_die(param_00,param_01) +{ + self waittill("goal"); + self.animation = param_00; + self.animname = param_01; + var_02 = common_scripts\utility::getstruct(self.target,"targetname"); + var_02 evacuation_scene_animate_actor(self); +} + +//Function Number: 384 +evacuation_scene_determine_run_cycle(param_00) +{ + if(issubstr(param_00,"civilian_run_hunched")) + { + param_00 = "civilian_run_hunched_A_relative"; + } + else if(issubstr(param_00,"civilian_run_upright")) + { + param_00 = "civilian_run_upright_relative"; + } + else + { + } + + self.runanim = level.scr_anim[self.animname][param_00]; + return param_00; +} + +//Function Number: 385 +evacuation_balcony_death() +{ + common_scripts\utility::flag_wait("reaction_explo01"); + var_00 = getent("evacuation_scene_civilian_balcony_death","targetname"); + var_01 = common_scripts\utility::getstruct(var_00.target,"targetname"); + var_02 = var_00 maps\_utility::spawn_ai(1); + var_02.no_friendly_fire_penalty = 1; + var_02.origin = var_01.origin; + var_02.angles = var_01.angles; + var_01 maps\_anim::anim_generic(var_02,"payback_comp_balcony_kick_enemy"); + var_02 kill(level.player.origin); + var_02 startragdoll(); +} + +//Function Number: 386 +evacuation_corpses() +{ + var_00 = getent("evacuation_corpse_civilian","targetname"); + var_01 = common_scripts\utility::getstructarray("evacuation_corpse","targetname"); + foreach(var_03 in var_01) + { + if(!isdefined(var_03.script_parameters)) + { + continue; + } + + var_04 = undefined; + switch(var_03.script_parameters) + { + case "civilian": + var_04 = var_00 maps\_utility::spawn_ai(); + break; + + case "allies": + case "axis": + default: + break; + } + + if(!isdefined(var_04)) + { + continue; + } + + var_04.origin = var_03.origin; + var_04.angles = var_03.angles; + var_04 setcandamage(0); + var_05 = level.scr_anim["generic"][var_03.animation]; + if(isarray(var_05)) + { + var_05 = var_05[0]; + } + + var_04 animscripted("endanim",var_03.origin,var_03.angles,var_05); + var_04 notsolid(); + if(issubstr(var_03.animation,"death")) + { + var_04 common_scripts\utility::delaycall(0.05,::setanimtime,var_05,1); + } + } +} + +//Function Number: 387 +detect_turret_death() +{ + self.deathfunction = ::set_turret_death_anim; +} + +//Function Number: 388 +set_turret_death_anim() +{ + if(self.damageweapon == "none" && self.damagetaken > 100) + { + var_00 = animscripts\death::getstrongbulletdamagedeathanim(); + if(isdefined(var_00)) + { + self.deathanim = var_00; + } + } + + return 0; +} + +//Function Number: 389 +smaw_laser_think() +{ + for(;;) + { + level.player waittill("weaponchange"); + if(level.player getcurrentweapon() == "smaw_nolock_fusion") + { + level.player laseron(); + continue; + } + + level.player laseroff(); + } +} + +//Function Number: 390 +intro_heli_movies() +{ + common_scripts\utility::flag_wait("intro_text_cinematic_over"); + setsaveddvar("cg_cinematicFullScreen","0"); + cinematicingameloop("fusion_heliscreen01"); + level.burke waittillmatch("start_video_2","single anim"); + stopcinematicingame(); + cinematicingameloop("fusion_heliscreen02"); + level.burke waittillmatch("start_video_3","single anim"); + stopcinematicingame(); + cinematicingame("fusion_heliscreen03"); + wait(1.9); + stopcinematicingame(); + cinematicingameloop("fusion_heliscreen01"); + wait(90); + stopcinematicingame(); +} + +//Function Number: 391 +evacuation_kiosk_movie() +{ + level endon("stop_evacuation_kiosk_movie"); + setsaveddvar("cg_cinematicFullScreen","0"); + var_00 = 0; + for(;;) + { + var_01 = level.player.origin[0] < 7200; + var_00 = var_00 && iscinematicplaying(); + if(!var_00 && var_01) + { + cinematicingameloop("fusion_evacuation"); + var_00 = 1; + } + else if(var_00 && !var_01) + { + stopcinematicingame(); + var_00 = 0; + } + + wait(0.5); + } +} + +//Function Number: 392 +take_car_door_shields() +{ + self notify("remove_car_doors"); +} + +//Function Number: 393 +drone_delete_at_goal() +{ + self waittill("reached_path_end"); + self delete(); +} + +//Function Number: 394 +give_night_vision(param_00) +{ + level endon("flag_end_sonar_vision"); + if(isdefined(param_00)) + { + common_scripts\utility::flag_wait(param_00); + } + + level.player setweaponhudiconoverride("actionslot1","dpad_icon_nvg"); + level.player notifyonplayercommand("sonar_vision","+actionslot 1"); + level.player thread maps\fusion_utility::thermal_with_nvg(); +} + +//Function Number: 395 +sonar_hint() +{ + level.player endon("death"); + common_scripts\utility::flag_wait("turbine_room_combat_start"); + wait(7); + if(!maps\_nightvision::nightvision_check(level.player)) + { + maps\_utility::hintdisplaymintimehandler("hint_use_sonar",8); + } +} + +//Function Number: 396 +tower_collapse_knockback_disable_sonar() +{ + wait(1); + maps\sanfran_b_sonar_vision::sonar_vision_off(); + maps\fusion_utility::sonar_off(); + common_scripts\utility::flag_set("flag_end_sonar_vision"); +} + +//Function Number: 397 +pdrone_deploy_hint() +{ + level.player endon("death"); + common_scripts\utility::flag_wait("turbine_room_combat_start"); + wait(7); + if(!common_scripts\utility::flag("flag_player_using_drone")) + { + maps\_utility::hintdisplaymintimehandler("drone_deploy_prompt",8); + common_scripts\utility::flag_set("drone_deploy_prompt_displayed"); + } +} + +//Function Number: 398 +pdrone_activate(param_00) +{ + if(isdefined(param_00)) + { + common_scripts\utility::flag_wait(param_00); + } + + level.player setweaponhudiconoverride("actionslot1","dpad_icon_drone"); + level.player notifyonplayercommand("use_drone","-actionslot 1"); + thread maps\fusion_utility::spawn_player_drone_think(); +} + +//Function Number: 399 +pdrone_deactivate_think() +{ + common_scripts\utility::flag_wait("turbine_room_stop_combat"); + if(!common_scripts\utility::flag("player_drone_attack_done")) + { + level.player setweaponhudiconoverride("actionslot1","dpad_icon_drone_off"); + common_scripts\utility::flag_clear("flag_player_using_drone"); + common_scripts\utility::flag_set("player_drone_attack_done"); + } +} \ No newline at end of file diff --git a/AW/PC/maps/fusion_fx.gsc b/AW/PC/maps/fusion_fx.gsc new file mode 100644 index 0000000..b4612ca --- /dev/null +++ b/AW/PC/maps/fusion_fx.gsc @@ -0,0 +1,1859 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: fusion_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 92 + * Decompile Time: 1306 ms + * Timestamp: 4/22/2024 2:30:06 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + precachefx(); + maps\createfx\fusion_fx::main(); + if(!isdefined(level.createfxent)) + { + level.createfxent = []; + } + + set_lighting_values(); + set_reactive_motion_values(); + maps\_shg_fx::setup_shg_fx(); + common_scripts\utility::flag_init("fx_flak_intro"); + common_scripts\utility::flag_init("fx_cliff_heli_dust"); + common_scripts\utility::flag_init("fx_heli_rotorsmoke_start"); + common_scripts\utility::flag_init("fx_heli_rotorsmoke_stop"); + common_scripts\utility::flag_init("fx_warbird_hoverdust"); + common_scripts\utility::flag_init("fx_warbird_hit_tower"); + common_scripts\utility::flag_init("hangar_enemies"); + common_scripts\utility::flag_init("fx_ar_start"); + common_scripts\utility::flag_init("fx_ar_stop"); + common_scripts\utility::flag_init("cam_shake_start"); + common_scripts\utility::flag_init("cam_shake_stop"); + common_scripts\utility::flag_init("walker_death_anim_started"); + common_scripts\utility::flag_init("turbine_room_pre_explosion"); + common_scripts\utility::flag_init("reactor_light_rays"); + thread maps\_shg_fx::fx_zone_watcher(1000,"msg_vfx_zone1_intro"); + thread maps\_shg_fx::fx_zone_watcher(1100,"msg_vfx_zone1_zip_line"); + thread maps\_shg_fx::fx_zone_watcher(2000,"msg_vfx_zone2_courtyard"); + thread maps\_shg_fx::fx_zone_watcher(3000,"msg_vfx_zone3_interior_lobby"); + thread maps\_shg_fx::fx_zone_watcher(3100,"msg_vfx_zone3_lab_room_section_1"); + thread maps\_shg_fx::fx_zone_watcher(3200,"msg_vfx_zone3_lab_room_section_2"); + thread maps\_shg_fx::fx_zone_watcher(3300,"msg_vfx_zone3_reactor_room"); + thread maps\_shg_fx::fx_zone_watcher(3310,"msg_vfx_zone3_reactor_control_room"); + thread maps\_shg_fx::fx_zone_watcher(3400,"msg_vfx_zone3_elevator_ride"); + thread maps\_shg_fx::fx_zone_watcher(3500,"msg_vfx_zone3_turbine_room"); + thread maps\_shg_fx::fx_zone_watcher(3600,"msg_vfx_zone3_main_control_room"); + thread maps\_shg_fx::fx_zone_watcher(4000,"msg_vfx_zone4_control_room"); + thread maps\_shg_fx::fx_zone_watcher(5000,"msg_vfx_zone5_loading_zone"); + thread maps\_shg_fx::fx_zone_watcher(6000,"msg_vfx_zone6_cooling_towers"); + thread maps\_shg_fx::fx_zone_watcher(6900,"msg_vfx_zone6_9_pressure_explosion"); + thread maps\_shg_fx::fx_zone_watcher(7000,"msg_vfx_zone7_cooling_tower_explosion"); + thread treadfx_override(); + thread ambient_explosion_before_landing(); + thread ambient_large_pipe_effects_courtyard(); + thread ambient_explosion_courtyard(); + thread flak_intro_sequence(); + thread vfx_control_room_explo(); + thread dust_falling_control_room(); + thread ambient_gas_explosion_loading_zone(); + thread ambient_explosion_dirt_cooling_towers(); + thread ambient_explosion_fireball_cooling_towers(); + thread warbird_hoverdust(); + thread kill_all_env_fx(); + thread init_smvals(); + thread warbird_dropping_mobile_tuerret_camshake(); + thread intro_armap_moment(); + thread reactor_light_rays(); + thread kill_exterior_vfx(); + thread restart_exterior_vfx(); + thread start_smoke_pillar_black_large_fast_fx(); + thread start_smoke_pillar_gray_large_fast_fx(); + thread start_smoke_pillar_black_large_slow_fx(); +} + +//Function Number: 2 +set_lighting_values() +{ + if(isusinghdr()) + { + setsaveddvar("r_tonemap","1"); + if(isusingssao()) + { + } + } +} + +//Function Number: 3 +set_reactive_motion_values() +{ + setsaveddvar("r_reactiveMotionWindAmplitudeScale","0.3"); +} + +//Function Number: 4 +precachefx() +{ + precacheshader("qr_mask"); + precacheshader("qr_noise"); + precacheshader("qr_anchor"); + precacheshader("qr_sledgehammer"); + precacheshader("ar_loadtext"); + level._effect["emp_reactor_robot_damage"] = loadfx("vfx/sparks/emp_drone_damage"); + level._effect["reactor_robot_death"] = loadfx("vfx/explosion/vehicle_pdrone_explosion"); + level._effect["rpg_trail"] = loadfx("vfx/trail/smoketrail_rpg_sp"); + level._effect["rpg_muzzle"] = loadfx("vfx/muzzleflash/x4walker_wheels_rpg_fv"); + level._effect["rpg_explode"] = loadfx("vfx/explosion/rocket_explosion_default"); + level._effect["mortar_explosion"] = loadfx("vfx/explosion/ambient_explosion_fireball"); + level._effect["ar_map"] = loadfx("vfx/map/fusion/fusion_intro_ar_map"); + level._effect["ar_map_dis"] = loadfx("vfx/map/fusion/fusion_intro_ar_map_dis"); + level._effect["ar_pathA"] = loadfx("vfx/map/fusion/fusion_intro_map_pathA"); + level._effect["ar_pathB"] = loadfx("vfx/map/fusion/fusion_intro_map_pathB"); + level._effect["ar_pathC"] = loadfx("vfx/map/fusion/fusion_intro_map_pathC"); + level._effect["ar_pathD"] = loadfx("vfx/map/fusion/fusion_intro_map_pathD"); + level._effect["wave_hit_large_runner"] = loadfx("vfx/water/wave_hit_large_runner"); + level._effect["wave_hit_large"] = loadfx("vfx/water/wave_hit_large"); + level._effect["wave_hit_large_02"] = loadfx("vfx/water/wave_hit_large_02"); + level._effect["wave_hit_large_03"] = loadfx("vfx/water/wave_hit_large_03"); + level._effect["wave_hit_mist_runner"] = loadfx("vfx/water/wave_hit_mist_runner"); + level._effect["wave_hit_mist_01"] = loadfx("vfx/water/wave_hit_mist_01"); + level._effect["wave_ocean_runner"] = loadfx("vfx/map/fusion/fusion_ocean_wave_runner"); + level._effect["missile_launch_smoke"] = loadfx("vfx/muzzleflash/missile_launch_smoke"); + level._effect["missile_launch_smoke_large"] = loadfx("vfx/muzzleflash/missile_launch_smoke_large"); + level._effect["smoketrail_groundtoair"] = loadfx("vfx/trail/smoketrail_groundtoair"); + level._effect["smoketrail_groundtoair_large"] = loadfx("vfx/trail/smoketrail_groundtoair_large"); + level._effect["aerial_explosion_heli_large"] = loadfx("vfx/explosion/vehicle_warbird_explosion_a"); + level._effect["heli_impact_concrete_large"] = loadfx("vfx/explosion/heli_concrete_impact_large"); + level._effect["vehicle_damaged_fire_m"] = loadfx("vfx/fire/vehicle_damaged_fire_m"); + level._effect["vehicle_damaged_rotorsmoke"] = loadfx("vfx/smoke/vehicle_damaged_rotorsmoke"); + level._effect["fusion_heli_hover_dust"] = loadfx("vfx/map/fusion/fusion_heli_hover_dust"); + level._effect["heli_dust_warbird_placed"] = loadfx("vfx/map/fusion/fusion_heli_dust_warbird_placed"); + level._effect["trail_concrete_dust_m"] = loadfx("vfx/trail/trail_concrete_dust_m"); + level._effect["fusion_warbird_interior_fire"] = loadfx("vfx/map/fusion/fusion_warbird_interior_fire"); + level._effect["flesh_hit"] = loadfx("vfx/weaponimpact/flesh_impact_body_fatal_exit"); + level._effect["fire_smoke_trail_verysmall"] = loadfx("vfx/fire/fire_smoke_trail_verysmall"); + level._effect["cooling_tower_smoke"] = loadfx("vfx/smoke/cooling_tower_smoke"); + level._effect["x4walker_drop_in_dust"] = loadfx("vfx/dust/x4walker_drop_in_dust"); + level._effect["walker_tank_rocket_wv"] = loadfx("vfx/muzzleflash/walker_tank_rocket_wv"); + level._effect["walker_tank_dying_fire"] = loadfx("vfx/fire/vehicle_walker_tank_dying_fire"); + level._effect["walker_tank_dying_fire_small"] = loadfx("vfx/fire/vehicle_walker_tank_dying_fire_small"); + level._effect["walker_footstep"] = loadfx("vfx/treadfx/footstep_walker_tank"); + level._effect["walker_explosion"] = loadfx("vfx/explosion/vehicle_walker_tank_explosion"); + level._effect["vehicle_destroyed_fire_m"] = loadfx("vfx/fire/vehicle_destroyed_fire_m"); + level._effect["vehicle_destroyed_smoke_white_m"] = loadfx("vfx/smoke/vehicle_destroyed_smoke_white_m"); + level._effect["vehicle_damaged_sparks_l"] = loadfx("vfx/sparks/vehicle_damaged_sparks_l"); + level._effect["mobile_turret_sparks"] = loadfx("vfx/sparks/vehicle_damaged_sparks_interior_small"); + level._effect["mobile_turret_fire_small"] = loadfx("vfx/fire/vehicle_damaged_fire_interior_small"); + level._effect["mobile_turret_fire_large"] = loadfx("vfx/fire/vehicle_damaged_fire_x4walker_vm"); + level._effect["mobile_turret_explosion"] = loadfx("vfx/explosion/vehicle_x4walker_explosion"); + level._effect["mobile_turret_ground_smoke"] = loadfx("vfx/map/fusion/fusion_mobile_turret_base_smoke"); + level._effect["fusion_vehicle_mobile_cover_explosion"] = loadfx("vfx/explosion/vehicle_mobile_cover_explosion"); + level._effect["fusion_vehicle_mobile_cover_explosion_01"] = loadfx("vfx/explosion/vehicle_mobile_cover_explosion_01"); + level._effect["tire_industrial_01_rubber"] = loadfx("vfx/destructible/tire_industrial_01_rubber"); + level._effect["concrete_impact_large_chunks"] = loadfx("vfx/explosion/concrete_impact_large_chunks"); + level._effect["parking_garage_chunk_impacts"] = loadfx("vfx/map/fusion/parking_garage_chunk_impacts"); + level._effect["fusion_garage_explosion_arms"] = loadfx("vfx/explosion/fusion_garage_explosion_arms"); + level._effect["trophy_explosion"] = loadfx("vfx/explosion/trophy_explosion"); + level._effect["trophy_ignition_smoke"] = loadfx("vfx/muzzleflash/x4walker_wheels_rpg_fv"); + level._effect["wind_blowing_debris"] = loadfx("vfx/wind/wind_blowing_debris"); + level._effect["fireball_smk_M"] = loadfx("vfx/fire/fireball_lp_smk_M"); + level._effect["fire_lp_m"] = loadfx("vfx/fire/fire_lp_m"); + level._effect["fire_lp_m_no_light"] = loadfx("vfx/fire/fire_lp_m_no_light"); + level._effect["fire_lp_s"] = loadfx("vfx/fire/fire_lp_s"); + level._effect["fire_lp_s_no_light"] = loadfx("vfx/fire/fire_lp_s_no_light"); + level._effect["fire_lp_xs_no_light"] = loadfx("vfx/fire/fire_lp_xs_no_light"); + level._effect["fire_lp_smk_s"] = loadfx("vfx/fire/fire_lp_smk_s"); + level._effect["battlefield_smoke_m"] = loadfx("vfx/smoke/battlefield_smoke_m"); + level._effect["battlefield_smoke_l"] = loadfx("vfx/smoke/battlefield_smoke_l"); + level._effect["battlefield_smoke_l_ground"] = loadfx("vfx/smoke/battlefield_smoke_l_ground"); + level._effect["amb_dust_verylight"] = loadfx("vfx/dust/amb_dust_verylight"); + level._effect["amb_dust_verylight_far"] = loadfx("vfx/dust/amb_dust_verylight_far"); + level._effect["amb_dust_dark"] = loadfx("vfx/dust/amb_dust_dark"); + level._effect["smoke_pillar_white_01"] = loadfx("vfx/smoke/smoke_pillar_white_01"); + level._effect["smoke_pillar_black_large_fast"] = loadfx("vfx/smoke/smoke_pillar_black_large_fast"); + level._effect["smoke_pillar_gray_large_fast"] = loadfx("vfx/smoke/smoke_pillar_gray_large_fast"); + level._effect["smoke_pillar_black_large_slow"] = loadfx("vfx/smoke/smoke_pillar_black_large_slow"); + level._effect["smoke_pillar_black_medium_slow"] = loadfx("vfx/smoke/smoke_pillar_black_medium_slow"); + level._effect["smoke_cloud_black_large"] = loadfx("vfx/smoke/smoke_cloud_black_large"); + level._effect["ambient_explosion_dirt_runner"] = loadfx("vfx/explosion/ambient_explosion_dirt_runner"); + level._effect["ambient_explosion_dirt_02"] = loadfx("vfx/explosion/ambient_explosion_dirt_02"); + level._effect["ambient_explosion_fireball"] = loadfx("vfx/explosion/ambient_explosion_fireball"); + level._effect["ambient_explosion_fireball_a_no_decal"] = loadfx("vfx/explosion/ambient_explosion_fireball_a_no_decal"); + level._effect["fast_blowing_dust"] = loadfx("vfx/dust/fast_blowing_dust"); + level._effect["distortion_warbird"] = loadfx("vfx/distortion/distortion_warbird"); + level._effect["warbird_rotor"] = loadfx("vfx/unique/warbird_rotor"); + level._effect["warbird_rotor_sm"] = loadfx("vfx/unique/warbird_rotor_sm"); + level._effect["aa_explosion_runner"] = loadfx("vfx/explosion/aa_explosion_runner"); + level._effect["aa_explosion_runner_single"] = loadfx("vfx/explosion/aa_explosion_runner_single"); + level._effect["aa_explosion_generic_01"] = loadfx("vfx/explosion/aa_explosion_generic_01"); + level._effect["aa_explosion_generic_02"] = loadfx("vfx/explosion/aa_explosion_generic_02"); + level._effect["fireball_smk_S"] = loadfx("vfx/fire/fireball_lp_smk_S"); + level._effect["cloud_bank"] = loadfx("vfx/wind/cloud_bank_ocean"); + level._effect["cloud_bank_large"] = loadfx("vfx/wind/cloud_bank_ocean_large"); + level._effect["cloud_bank_cliffedge_thin"] = loadfx("vfx/wind/cloud_bank_cliffedge_thin"); + level._effect["fog_distant_vista"] = loadfx("vfx/fog/fog_distant_vista"); + level._effect["electrical_sparks"] = loadfx("vfx/explosion/electrical_sparks"); + level._effect["electrical_sparks_runner"] = loadfx("vfx/explosion/electrical_sparks_runner"); + level._effect["electrical_sparks_runner_single_burst"] = loadfx("vfx/explosion/electrical_sparks_runner_single_burst"); + level._effect["dust_falling_light_runner"] = loadfx("vfx/dust/dust_falling_light_runner"); + level._effect["dust_falling_debris_runner"] = loadfx("vfx/dust/dust_falling_debris_runner"); + level._effect["dust_blowing_ground_fast_runner"] = loadfx("vfx/dust/dust_blowing_ground_fast_runner"); + level._effect["dust_blowing_ground_fast_01"] = loadfx("vfx/dust/dust_blowing_ground_fast_01"); + level._effect["dust_blowing_ground_fast_02"] = loadfx("vfx/dust/dust_blowing_ground_fast_02"); + level._effect["dust_falling_light_01"] = loadfx("vfx/dust/dust_falling_light_01"); + level._effect["dust_falling_light_02"] = loadfx("vfx/dust/dust_falling_light_02"); + level._effect["dust_falling_light_03"] = loadfx("vfx/dust/dust_falling_light_03"); + level._effect["dust_falling_debris_01_s"] = loadfx("vfx/dust/dust_falling_debris_01_s"); + level._effect["dust_falling_debris_02_s"] = loadfx("vfx/dust/dust_falling_debris_02_s"); + level._effect["dust_falling_debris_03_s"] = loadfx("vfx/dust/dust_falling_debris_03_s"); + level._effect["dust_falling_debris_04_s"] = loadfx("vfx/dust/dust_falling_debris_04_s"); + level._effect["dust_falling_debris_05"] = loadfx("vfx/dust/dust_falling_debris_05"); + level._effect["dust_falling_debris_s_runner"] = loadfx("vfx/dust/dust_falling_debris_s_runner"); + level._effect["firelp_med"] = loadfx("vfx/fire/firelp_med"); + level._effect["fire_pipe_large"] = loadfx("vfx/fire/fire_pipe_large"); + level._effect["fire_pipe_leak_med"] = loadfx("vfx/fire/fire_pipe_leak_med"); + level._effect["fire_pipe_leak_med_single"] = loadfx("vfx/fire/fire_pipe_leak_med_single"); + level._effect["steam_pipe_leak_sml"] = loadfx("vfx/steam/steam_pipe_leak_sml"); + level._effect["steam_pipe_leak_lrg"] = loadfx("vfx/steam/steam_pipe_leak_lrg"); + level._effect["steam_pipe_burst"] = loadfx("vfx/steam/steam_pipe_burst"); + level._effect["steam_fill_ground"] = loadfx("vfx/steam/steam_fill_ground"); + level._effect["steam_fill_area"] = loadfx("vfx/steam/steam_fill_area"); + level._effect["steam_fill_area_med"] = loadfx("vfx/steam/steam_fill_area_med"); + level._effect["ambient_explosion_gas_01"] = loadfx("vfx/explosion/ambient_explosion_gas_01"); + level._effect["ambient_explosion_gas_02"] = loadfx("vfx/explosion/ambient_explosion_gas_02"); + level._effect["window_smoke_very_large"] = loadfx("vfx/smoke/window_smoke_very_large"); + level._effect["room_smoke_black_ember_lrg"] = loadfx("vfx/smoke/room_smoke_black_ember_lrg"); + level._effect["glass_falling_debris_01"] = loadfx("vfx/glass/glass_falling_debris_01"); + level._effect["fusion_battlefield_smoke_l_shadow"] = loadfx("vfx/map/fusion/fusion_battlefield_smoke_l_shadow"); + level._effect["fusion_battlefield_smoke_l_light"] = loadfx("vfx/map/fusion/fusion_battlefield_smoke_l_light"); + level._effect["steam_surface_add"] = loadfx("vfx/steam/steam_surface_add"); + level._effect["amb_dust_patch_light"] = loadfx("vfx/dust/amb_dust_patch_light"); + level._effect["light_godray_beam_3"] = loadfx("vfx/lights/light_godray_beam_3"); + level._effect["dust_falling_light_06"] = loadfx("vfx/dust/dust_falling_light_06"); + level._effect["dust_impact_ground_sm"] = loadfx("vfx/dust/dust_impact_ground_sm"); + level._effect["light_dust_particles_small"] = loadfx("vfx/dust/light_dust_particles_sm"); + level._effect["amb_ground_dust"] = loadfx("vfx/dust/amb_ground_dust"); + level._effect["amb_ground_dust_sml"] = loadfx("vfx/dust/amb_ground_dust_sml"); + level._effect["fus_vent_air_flow"] = loadfx("vfx/map/fusion/fus_vent_air_flow"); + level._effect["fus_vent_streamers"] = loadfx("vfx/map/fusion/fus_vent_streamers"); + level._effect["fus_turbine_steam_volume_sm_lp"] = loadfx("vfx/map/fusion/fus_turbine_steam_volume_sm_lp"); + level._effect["fus_door_dust_ground"] = loadfx("vfx/map/fusion/fus_door_dust_ground"); + level._effect["fus_door_dust_top"] = loadfx("vfx/map/fusion/fus_door_dust_top"); + level._effect["pressure_explosion_ground_lrg_01"] = loadfx("vfx/explosion/pressure_explosion_ground_lrg_01"); + level._effect["pressure_explosion_ground_lrg_02"] = loadfx("vfx/explosion/pressure_explosion_ground_lrg_02"); + level._effect["steam_pipe_burst_looping_lrg_01"] = loadfx("vfx/steam/steam_pipe_burst_looping_lrg_01"); + level._effect["pressure_explosion_metal_lrg_01"] = loadfx("vfx/explosion/pressure_explosion_metal_lrg_01"); + level._effect["steam_pipe_burst_looping_lrg_02"] = loadfx("vfx/steam/steam_pipe_burst_looping_lrg_02"); + level._effect["dust_impact_ground_lrg"] = loadfx("vfx/dust/dust_impact_ground_lrg"); + level._effect["trail_steam_round_lrg"] = loadfx("vfx/trail/trail_steam_round_lrg"); + level._effect["trail_steam_round_lrg_runner"] = loadfx("vfx/trail/trail_steam_round_lrg_runner"); + level._effect["trail_spark_burst_explosion"] = loadfx("vfx/trail/trail_spark_burst_explosion"); + level._effect["impact_scorchmark_med"] = loadfx("vfx/fire/impact_scorchmark_med"); + level._effect["impact_scorchmark_sml"] = loadfx("vfx/fire/impact_scorchmark_sml"); + level._effect["impact_sparks_01"] = loadfx("vfx/explosion/impact_sparks_01"); + level._effect["fireball_explosion_directional_01"] = loadfx("vfx/explosion/fireball_explosion_directional_01"); + level._effect["vehicle_fireball_explosion_01"] = loadfx("vfx/explosion/vehicle_fireball_explosion_01"); + level._effect["fusion_end_armblood_init"] = loadfx("vfx/map/fusion/fusion_end_armblood_init"); + level._effect["fusion_end_armblood_bloodsquirts"] = loadfx("vfx/map/fusion/fusion_end_armblood_bloodsquirts"); + level._effect["blood_smear_oriented"] = loadfx("vfx/map/fusion/fusion_blood_smear_oriented"); + level._effect["fusion_end_rollingsmk"] = loadfx("vfx/map/fusion/fusion_end_rollingsmk"); + level._effect["fusion_end_rollingsmk_slow"] = loadfx("vfx/map/fusion/fusion_end_rollingsmk_slow"); + level._effect["fusion_end_rollingsmk_slow1"] = loadfx("vfx/map/fusion/fusion_end_rollingsmk_slow1"); + level._effect["fusion_end_rollingsmk_thick"] = loadfx("vfx/map/fusion/fusion_end_rollingsmk_thick"); + level._effect["fusion_end_grnd_init_explosion"] = loadfx("vfx/map/fusion/fusion_end_grnd_init_explo"); + level._effect["fusion_end_grnd_init_shkwv"] = loadfx("vfx/map/fusion/fusion_end_grnd_init_shkwv"); + level._effect["fusion_end_lingering_smk"] = loadfx("vfx/map/fusion/fusion_end_lingering_smk"); + level._effect["fusion_pressure_explo_leadup"] = loadfx("vfx/map/fusion/fusion_pressure_explo_leadup"); + level._effect["fusion_end_tower_explo"] = loadfx("vfx/map/fusion/fusion_end_tower_explo"); + level._effect["fusion_end_smk_emit"] = loadfx("vfx/map/fusion/fusion_end_smk_emit"); + level._effect["fusion_end_smk_lrg_emit"] = loadfx("vfx/map/fusion/fusion_end_smk_lrg_emit"); + level._effect["fusion_end_smk_med_emit"] = loadfx("vfx/map/fusion/fusion_end_smk_med_emit"); + level._effect["fusion_end_thick_smk_up"] = loadfx("vfx/map/fusion/fusion_end_thick_smk_up"); + level._effect["fusion_end_thick_smk_up_tall"] = loadfx("vfx/map/fusion/fusion_end_thick_smk_up_tall"); + level._effect["fusion_end_smk_donut"] = loadfx("vfx/map/fusion/fusion_end_smk_donut"); + level._effect["fusion_end_smk_donut_looping"] = loadfx("vfx/map/fusion/fusion_end_smk_donut_looping"); + level._effect["fusion_end_grnd_splinters_up"] = loadfx("vfx/map/fusion/fusion_end_grnd_splinters_up"); + level._effect["fusion_end_falling_rocks"] = loadfx("vfx/map/fusion/fusion_end_falling_rocks"); + level._effect["ash_cloud_freq_lrg_loop"] = loadfx("vfx/ash/ash_cloud_freq_lrg_loop"); + level._effect["fusion_end_tower_falling_dust"] = loadfx("vfx/map/fusion/fusion_end_tower_falling_dust"); + level._effect["fusion_end_tower_inital_crack"] = loadfx("vfx/map/fusion/fusion_end_tower_inital_crack"); + level._effect["fusion_end_thick_smk_vm"] = loadfx("vfx/map/fusion/fusion_end_thick_smk_vm"); + level._effect["fusion_end_falling_debris"] = loadfx("vfx/map/fusion/fusion_end_falling_debris"); + level._effect["fusion_end_falling_rock_sparkfoun"] = loadfx("vfx/map/fusion/fusion_end_falling_rock_sparkfoun"); + level._effect["fusion_end_smk_xlrg_emit"] = loadfx("vfx/map/fusion/fusion_end_smk_xlrg_emit"); + level._effect["fusion_end_smk_xxlrg_emit"] = loadfx("vfx/map/fusion/fusion_end_smk_xxlrg_emit"); + level._effect["fusion_end_pillar_burst"] = loadfx("vfx/map/fusion/fusion_end_pillar_burst"); + level._effect["fusion_drag_dust"] = loadfx("vfx/map/fusion/fusion_drag_dust"); + level._effect["fusion_falling_debris_tower"] = loadfx("vfx/map/fusion/fusion_falling_debris_tower"); + level._effect["fusion_end_bouncing_rocks"] = loadfx("vfx/map/fusion/fusion_end_bouncing_rocks"); + level._effect["concrete_impact_xl_chunks_smoky"] = loadfx("vfx/explosion/concrete_impact_xl_chunks_smoky"); + level._effect["light_spot_rim_burke_dopl"] = loadfx("vfx/lights/light_spot_rim_burke_dopl"); + level._effect["light_spot_key_burke_dopl"] = loadfx("vfx/lights/light_spot_key_burke_dopl"); + level._effect["light_spot_fill_burke_dopl"] = loadfx("vfx/lights/light_spot_fill_burke_dopl"); + level._effect["light_spot_fill_burke_fade_dopl"] = loadfx("vfx/lights/light_spot_fill_burke_fade_dopl"); + level._effect["lights_conelight_smokey"] = loadfx("vfx/lights/lights_conelight_smokey"); + level._effect["light_glow_teal"] = loadfx("vfx/lights/light_glow_teal"); + level._effect["light_glow_single_large"] = loadfx("vfx/lights/light_glow_single_large"); + level._effect["light_glow_single_large_offscreen"] = loadfx("vfx/lights/light_glow_single_large_offscreen"); + level._effect["light_firelight_lrg"] = loadfx("vfx/lights/light_firelight_lrg"); + level._effect["light_firelight_orange_lrg"] = loadfx("vfx/lights/light_firelight_orange_lrg"); + level._effect["light_godray_01"] = loadfx("vfx/lights/light_godray_beam_1"); + level._effect["light_godray_transp_lrg_01"] = loadfx("vfx/lights/light_godray_beam_transp_lrg_1"); + level._effect["light_godray_transp_lrg_03"] = loadfx("vfx/lights/light_godray_beam_transp_lrg_3"); + level._effect["light_godray_lrg_01"] = loadfx("vfx/lights/light_godray_beam_lrg_1"); + level._effect["light_godray_xtra_lrg_01"] = loadfx("vfx/lights/light_godray_beam_xtra_lrg_1"); + level._effect["light_godray_lrg_02"] = loadfx("vfx/lights/light_godray_beam_lrg_02"); + level._effect["light_godray_lrg_03"] = loadfx("vfx/lights/light_godray_beam_lrg_03"); + level._effect["light_dust_particles"] = loadfx("vfx/dust/light_dust_particles"); + level._effect["light_red_rotate"] = loadfx("vfx/lights/light_red_rotate_02"); + level._effect["light_red_strobe"] = loadfx("vfx/map/fusion/fus_light_red_strobe"); + level._effect["light_white_strobe"] = loadfx("vfx/lights/light_white_strobe"); + level._effect["light_godray_02"] = loadfx("vfx/lights/light_godray_beam_2"); + level._effect["light_godray_02_warbird"] = loadfx("vfx/lights/light_godray_beam_2_warbird_cg"); + level._effect["light_spot_blue"] = loadfx("vfx/lights/light_spot_blue"); + level._effect["light_point_blue"] = loadfx("vfx/lights/light_point_blue"); + level._effect["light_point_teal"] = loadfx("vfx/lights/light_point_teal"); + level._effect["light_spot_rim_burke"] = loadfx("vfx/lights/light_spot_rim_burke"); + level._effect["light_spot_rim_burke_fadeout"] = loadfx("vfx/lights/light_spot_rim_burke_fadeout"); + level._effect["light_spot_key_burke"] = loadfx("vfx/lights/light_spot_key_burke"); + level._effect["light_point_amber"] = loadfx("vfx/lights/light_point_amber"); + level._effect["fusion_light_point_amber_control"] = loadfx("vfx/map/fusion/fusion_light_point_amber_control"); + level._effect["fusion_light_point_blue_kiosk"] = loadfx("vfx/map/fusion/fusion_light_point_blue_kiosk"); + level._effect["fusion_light_fill_blue_kiosk"] = loadfx("vfx/lights/fusion/fusion_light_fill_blue_kiosk"); + level._effect["fusion_light_ctrl_room_monitor"] = loadfx("vfx/lights/fusion/fusion_light_ctrl_room_monitor"); + level._effect["fusion_light_ctrl_room_fill"] = loadfx("vfx/lights/fusion/fusion_light_ctrl_room_fill"); + level._effect["light_fire_alarm_strobe"] = loadfx("vfx/lights/light_fire_alarm_strobe"); + level._effect["fusion_light_fill_generic_glows"] = loadfx("vfx/lights/fusion/fusion_light_fill_generic_glows"); + level._effect["fusion_light_teal_security_cam"] = loadfx("vfx/lights/fusion/fusion_light_teal_security_cam"); + level._effect["fusion_light_point_blue_monitors"] = loadfx("vfx/map/fusion/fusion_light_point_blue_monitors"); + level._effect["fusion_light_white_monitor_lrg"] = loadfx("vfx/map/fusion/fusion_light_white_monitor_lrg"); + level._effect["fusion_reactor_light_glow_white"] = loadfx("vfx/map/fusion/fusion_reactor_light_glow_white"); + level._effect["fusion_reactor_light_glow_amber"] = loadfx("vfx/map/fusion/fusion_reactor_light_glow_amber"); + level._effect["fusion_light_yellow_rotate"] = loadfx("vfx/map/fusion/fusion_light_yellow_rotate"); + level._effect["fus_light_elevator_monitor"] = loadfx("vfx/lights/fusion/fus_light_elevator_monitor"); + level._effect["fusion_light_point_amber_finale"] = loadfx("vfx/map/fusion/fusion_light_point_amber_finale"); + level._effect["fusion_light_point_fill_finale"] = loadfx("vfx/map/fusion/fusion_light_point_fill_finale"); + level._effect["fusion_light_point_red_control"] = loadfx("vfx/map/fusion/fusion_light_point_red_control"); + level._effect["fusion_light_point_streetlamp_flicker"] = loadfx("vfx/map/fusion/fusion_light_point_streetlamp_flicker"); + level._effect["light_point_open_door"] = loadfx("vfx/lights/light_point_open_door"); + level._effect["light_point_cockpit"] = loadfx("vfx/lights/light_point_cockpit"); + level._effect["light_point_blue_sm"] = loadfx("vfx/lights/light_point_blue_sm"); + level._effect["light_point_blue_sm_far"] = loadfx("vfx/lights/light_point_blue_sm_far"); + level._effect["light_point_heli_interior_blink"] = loadfx("vfx/lights/light_point_heli_interior_blink"); + level._effect["light_haze_distant"] = loadfx("vfx/lights/light_haze_distant"); + level._effect["light_sunflare"] = loadfx("vfx/lights/fusion/fusion_light_sunflare"); + level._effect["warbird_shadow"] = loadfx("vfx/unique/warbird_shadow"); + level._effect["warbird_shadow_cloaked"] = loadfx("vfx/unique/warbird_shadow_cloaked"); + level._effect["light_streetlight_flare"] = loadfx("vfx/lights/light_streetlight_flare"); + level._effect["light_rays_moving_01"] = loadfx("vfx/lights/light_rays_moving_01"); + level._effect["light_rays_moving_02"] = loadfx("vfx/lights/light_rays_moving_02"); + level._effect["light_point_blue_mon_mid"] = loadfx("vfx/lights/light_point_blue_mon_mid"); + level._effect["light_point_blue_mon_left"] = loadfx("vfx/lights/light_point_blue_mon_left"); + level._effect["light_point_blue_mon_right"] = loadfx("vfx/lights/light_point_blue_mon_right"); + level._effect["light_explosion_flash"] = loadfx("vfx/lights/light_explosion_flash"); + level._effect["fus_turbine_floodlight_flare_01"] = loadfx("vfx/map/fusion/fus_turbine_floodlight_flare_01"); + level._effect["fus_hangar_floodlight_flare_01"] = loadfx("vfx/map/fusion/fus_hangar_floodlight_flare_01"); + level._effect["fus_lab_flourescent_flare"] = loadfx("vfx/map/fusion/fus_lab_flourescent_flare"); + level._effect["fusion_sun_flare"] = loadfx("vfx/map/fusion/fus_sun_flare"); + level._effect["fusion_light_heli_strobe_outro"] = loadfx("vfx/lights/fusion/fusion_light_heli_strobe_outro"); + level._effect["fus_light_red_strobe_02"] = loadfx("vfx/map/fusion/fus_light_red_strobe_02"); + level._effect["water_movement"] = loadfx("fx/water/player_water_wake"); + level._effect["steam_pipe_leak_sml"] = loadfx("vfx/steam/steam_pipe_leak_sml"); + level._effect["steam_pipe_leak_lrg"] = loadfx("vfx/steam/steam_pipe_leak_lrg"); + level._effect["steam_pipe_burst"] = loadfx("vfx/steam/steam_pipe_burst"); + level._effect["steam_fill_ground"] = loadfx("vfx/steam/steam_fill_ground"); + level._effect["steam_fill_area"] = loadfx("vfx/steam/steam_fill_area"); + level._effect["steam_fill_area_med"] = loadfx("vfx/steam/steam_fill_area_med"); + level._effect["door_explosion"] = loadfx("vfx/map/fusion/fusion_cntrl_rm_door_explosion"); + level._effect["control_room_glass_shatter"] = loadfx("vfx/map/fusion/fusion_cntrl_rm_glass_shatter"); + level._effect["control_room_fire_residual"] = loadfx("vfx/map/fusion/fusion_cntrl_rm_fire_residual"); + level._effect["turbine_explosion"] = loadfx("vfx/map/fusion/fus_turbine_explo_01"); + level._effect["turbine_explosion_initial_burst"] = loadfx("vfx/map/fusion/fus_turbine_explo_init_burst"); + level._effect["turbine_explosion_initial_burst_l"] = loadfx("vfx/map/fusion/fus_turbine_explo_init_burst_lp"); + level._effect["turbine_explosion_initial_burst_short"] = loadfx("vfx/map/fusion/fus_turbine_explo_init_burst_short"); + level._effect["turbine_explosion_initital_burst_short_2"] = loadfx("vfx/map/fusion/fus_turbine_explo_init_burst_short_2"); + level._effect["turbine_explosion_rear_blast"] = loadfx("vfx/map/fusion/fus_turbine_explo_rear_blast"); + level._effect["turbine_explosion_rear_blast_l"] = loadfx("vfx/map/fusion/fus_turbine_explo_rear_blast_lp"); + level._effect["turbine_explosion_rear_blast_small"] = loadfx("vfx/map/fusion/fus_turbine_explo_rear_blast_sm"); + level._effect["turbine_explosion_rear_blast_small_l"] = loadfx("vfx/map/fusion/fus_turbine_explo_rear_blast_sm_lp"); + level._effect["turbine_explosion_steam_volume_loop"] = loadfx("vfx/map/fusion/fus_turbine_explo_steam_volume_lp"); + level._effect["turbine_explosion_init_burst_spurt_r"] = loadfx("vfx/map/fusion/fus_turbine_explo_init_burst_spurt_r"); + level._effect["turbine_explo_damage"] = loadfx("vfx/map/fusion/fus_turbine_explo_damage"); + level._effect["light_dust_particles_far"] = loadfx("vfx/dust/light_dust_particles_far"); + level._effect["reactor_cntrl_rm_light_ray_1"] = loadfx("vfx/map/fusion/fus_reactor_cntrl_rm_light_ray_1"); + level._effect["turbine_rm_grnd_steam_lp"] = loadfx("vfx/map/fusion/fus_turbine_rm_grnd_steam_lp"); + level._effect["turbine_door_grnd_steam"] = loadfx("vfx/map/fusion/fus_turbine_door_grnd_steam"); + level._effect["dust_falling_light_05_runner"] = loadfx("vfx/dust/dust_falling_light_05_runner"); + level._effect["reactor_rm_reveal_dust"] = loadfx("vfx/map/fusion/fus_reactor_rm_reveal_dust"); + level._effect["reactor_rm_reveal_light_rays"] = loadfx("vfx/map/fusion/fus_reactor_rm_reveal_light_rays"); + level._effect["reactor_rm_reveal_light_rays_a"] = loadfx("vfx/map/fusion/fus_reactor_rm_reveal_light_rays_a"); + level._effect["reactor_rm_reveal_light_rays_b"] = loadfx("vfx/map/fusion/fus_reactor_rm_reveal_light_rays_b"); + level._effect["fus_crate_dust_fall"] = loadfx("vfx/map/fusion/fus_crate_dust_fall"); + level._effect["fus_crane_housing_dust"] = loadfx("vfx/map/fusion/fus_crane_housing_dust_a"); + level._effect["fus_crane_housing_dust_2"] = loadfx("vfx/map/fusion/fus_crane_housing_dust_b"); + level._effect["fus_crane_housing_dust_fall"] = loadfx("vfx/map/fusion/fus_crane_housing_dust_fall"); + level._effect["fus_crate_dust_lift"] = loadfx("vfx/map/fusion/fus_crate_dust_lift"); + level._effect["fus_crane_track_sparks"] = loadfx("vfx/map/fusion/fus_crane_track_sparks"); + level._effect["water_crawl"] = loadfx("vfx/water/water_crawl_runner"); + level._effect["turbine_steam_spray_lp"] = loadfx("vfx/map/fusion/fus_turbine_steam_spray_lp"); + level._effect["turbine_steam_volume_lp"] = loadfx("vfx/map/fusion/fus_turbine_steam_volume_lp"); + level._effect["lobby_screen_distort"] = loadfx("vfx/map/fusion/fus_lobby_screen_distort"); + level._effect["elevator_open_light_rays"] = loadfx("vfx/map/fusion/fus_elevator_open_light_rays"); + level._effect["fus_crane_light_red"] = loadfx("vfx/map/fusion/fus_crane_light_red"); + level._effect["fus_crane_light_green"] = loadfx("vfx/map/fusion/fus_crane_light_green"); + level._effect["elevator_player_slide_dust"] = loadfx("vfx/map/fusion/fus_elevator_player_slide_dust"); + level._effect["elevator_burke_slide_dust"] = loadfx("vfx/map/fusion/fus_elevator_burke_slide_dust"); + level._effect["fus_cover_deploy_impact"] = loadfx("vfx/map/fusion/fus_cover_deploy_impact"); + level._effect["amb_dust_verylight_fade"] = loadfx("vfx/dust/amb_dust_verylight_fade"); + level._effect["fus_amb_dust_reactor"] = loadfx("vfx/map/fusion/fus_amb_dust_reactor"); + level._effect["fus_turbine_dmg_smk"] = loadfx("vfx/map/fusion/fus_turbine_dmg_smk"); + level._effect["dust_falling_column_lp"] = loadfx("vfx/dust/dust_falling_column_lp"); +} + +//Function Number: 5 +treadfx_override() +{ + waittillframeend; + level.treadfx_maxheight = 2500; + var_00[0] = "script_vehicle_xh9_warbird_no_turret"; + var_00[1] = "script_vehicle_xh9_warbird_stealth"; + var_00[2] = "script_vehicle_xh9_warbird_stealth_no_turret"; + var_00[3] = "script_vehicle_xh9_warbird_low"; + var_00[4] = "script_vehicle_xh9_warbird_low_no_zipline"; + var_00[5] = "script_vehicle_xh9_warbird_low_no_turret_no_zipline"; + var_01 = "vfx/treadfx/heli_dust_warbird"; + var_02 = "vfx/treadfx/heli_sand_wet_warbird"; + var_03 = "vfx/treadfx/heli_water_warbird"; + var_04 = "vfx/unique/no_fx"; + foreach(var_06 in var_00) + { + maps\_vehicle::set_vehicle_effect(var_06,"brick",var_01); + maps\_vehicle::set_vehicle_effect(var_06,"bark",var_01); + maps\_vehicle::set_vehicle_effect(var_06,"carpet",var_01); + maps\_vehicle::set_vehicle_effect(var_06,"cloth",var_01); + maps\_vehicle::set_vehicle_effect(var_06,"concrete",var_01); + maps\_vehicle::set_vehicle_effect(var_06,"dirt",var_01); + maps\_vehicle::set_vehicle_effect(var_06,"flesh",var_01); + maps\_vehicle::set_vehicle_effect(var_06,"foliage",var_01); + maps\_vehicle::set_vehicle_effect(var_06,"glass",var_01); + maps\_vehicle::set_vehicle_effect(var_06,"grass",var_01); + maps\_vehicle::set_vehicle_effect(var_06,"gravel",var_01); + maps\_vehicle::set_vehicle_effect(var_06,"ice",var_01); + maps\_vehicle::set_vehicle_effect(var_06,"metal",var_01); + maps\_vehicle::set_vehicle_effect(var_06,"mud",var_02); + maps\_vehicle::set_vehicle_effect(var_06,"paper",var_01); + maps\_vehicle::set_vehicle_effect(var_06,"plaster",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"rock",var_01); + maps\_vehicle::set_vehicle_effect(var_06,"sand",var_02); + maps\_vehicle::set_vehicle_effect(var_06,"snow",var_01); + maps\_vehicle::set_vehicle_effect(var_06,"water",var_03); + maps\_vehicle::set_vehicle_effect(var_06,"wood",var_01); + maps\_vehicle::set_vehicle_effect(var_06,"asphalt",var_01); + maps\_vehicle::set_vehicle_effect(var_06,"ceramic",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"plastic",var_01); + maps\_vehicle::set_vehicle_effect(var_06,"rubber",var_01); + maps\_vehicle::set_vehicle_effect(var_06,"cushion",var_01); + maps\_vehicle::set_vehicle_effect(var_06,"fruit",var_01); + maps\_vehicle::set_vehicle_effect(var_06,"paintedmetal",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"riotshield",var_01); + maps\_vehicle::set_vehicle_effect(var_06,"slush",var_01); + maps\_vehicle::set_vehicle_effect(var_06,"default",var_01); + maps\_vehicle::set_vehicle_effect(var_06,"none"); + } + + var_08[0] = "script_vehicle_xh9_warbird"; + foreach(var_06 in var_08) + { + maps\_vehicle::set_vehicle_effect(var_06,"brick",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"bark",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"carpet",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"cloth",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"concrete",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"dirt",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"flesh",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"foliage",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"glass",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"grass",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"gravel",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"ice",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"metal",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"mud",var_02); + maps\_vehicle::set_vehicle_effect(var_06,"paper",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"asphalt",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"plaster",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"rock",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"sand",var_02); + maps\_vehicle::set_vehicle_effect(var_06,"snow",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"water",var_03); + maps\_vehicle::set_vehicle_effect(var_06,"wood",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"asphalt",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"ceramic",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"plastic",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"rubber",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"cushion",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"fruit",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"paintedmetal",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"riotshield",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"slush",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"default",var_04); + maps\_vehicle::set_vehicle_effect(var_06,"none"); + } + + var_01 = "vfx/treadfx/x4walker_dust"; + maps\_vehicle::build_all_treadfx("script_vehicle_x4walker_wheels",var_01); + maps\_vehicle::build_all_treadfx("script_vehicle_x4walker_wheels_physics",var_01); + var_01 = "vfx/treadfx/heli_dust_warbird"; + maps\_vehicle::build_all_treadfx("script_vehicle_mi17_woodland_fly",var_01); +} + +//Function Number: 6 +intro_ar_sethud() +{ + self.x = 0; + self.y = 0; + self.splatter = 1; + self.alignx = "center"; + self.aligny = "middle"; + self.foreground = 0; + self.horzalign = "center"; + self.vertalign = "middle"; + self.alpha = 1; +} + +//Function Number: 7 +intro_ar_anchor_anim(param_00) +{ + var_01[0] = newclienthudelem(level.player); + var_01[0] setshader("qr_anchor",30,30); + var_01[0] intro_ar_sethud(); + var_01[0].sort = 9; + var_01[0].x = -49; + var_01[0].y = 49; + var_01[1] = newclienthudelem(level.player); + var_01[1] setshader("qr_anchor",30,30); + var_01[1] intro_ar_sethud(); + var_01[1].sort = 9; + var_01[1].x = -49; + var_01[1].y = -49; + var_01[2] = newclienthudelem(level.player); + var_01[2] setshader("qr_anchor",30,30); + var_01[2] intro_ar_sethud(); + var_01[2].sort = 9; + var_01[2].x = 49; + var_01[2].y = -49; + var_01[3] = newclienthudelem(level.player); + var_01[3] setshader("qr_anchor",30,30); + var_01[3] intro_ar_sethud(); + var_01[3].sort = 9; + var_01[3].x = 49; + var_01[3].y = 49; + for(var_02 = 0;var_02 < param_00 * 20;var_02++) + { + var_03 = float(var_02) / 20 - int(float(var_02) / 20); + var_01[0].alpha = var_03; + var_01[1].alpha = max(var_03 - 0.35,0) / 0.65; + var_01[2].alpha = max(var_03 - 0.6,0) / 0.4; + var_01[3].alpha = max(var_03 - 0.85,0) / 0.15; + wait 0.05; + } + + var_01[0] destroy(); + var_01[1] destroy(); + var_01[2] destroy(); + var_01[3] destroy(); +} + +//Function Number: 8 +intro_ar_loadtext(param_00) +{ + var_01 = newclienthudelem(level.player); + var_01 setshader("ar_loadtext",128,32); + var_01 intro_ar_sethud(); + var_01.sort = 9; + var_01.y = -96; + for(var_02 = 0;var_02 < param_00 * 20;var_02++) + { + var_03 = float(var_02) / 20 - int(float(var_02) / 20); + var_01.alpha = var_03; + wait 0.05; + } + + var_01 destroy(); +} + +//Function Number: 9 +intro_ar_anim_shg(param_00) +{ + for(var_01 = 0;var_01 < 10;var_01++) + { + var_02 = float(var_01) / 10 - int(float(var_01) / 10); + param_00.x = -380 * var_02; + param_00.y = 186 * var_02; + wait 0.05; + } + + wait(20); + for(var_01 = 0;var_01 < 20;var_01++) + { + var_02 = float(var_01) / 20 - int(float(var_01) / 20); + param_00.alpha = 1 - var_02; + wait 0.05; + } + + param_00 destroy(); +} + +//Function Number: 10 +intro_ar_load_screen() +{ +} + +//Function Number: 11 +intro_ar_path_anim(param_00,param_01,param_02,param_03,param_04) +{ + wait(7); + playfxontag(common_scripts\utility::getfx("ar_pathA"),param_01,"tag_origin"); + wait(1); + playfxontag(common_scripts\utility::getfx("ar_pathB"),param_02,"tag_origin"); + wait(1); + playfxontag(common_scripts\utility::getfx("ar_pathC"),param_03,"tag_origin"); + wait(1); + playfxontag(common_scripts\utility::getfx("ar_pathD"),param_04,"tag_origin"); +} + +//Function Number: 12 +intro_ar_scale_ssao(param_00,param_01) +{ + var_02 = getdvarfloat("r_ssaoStrength"); + var_03 = param_00 - var_02; + var_04 = param_01 * 20; + for(var_05 = 0;var_05 < var_04;var_05++) + { + var_06 = var_02 + var_03 * var_05 / var_04; + setsaveddvar("r_ssaoStrength",var_06); + wait 0.05; + } + + setsaveddvar("r_ssaoStrength",param_00); +} + +//Function Number: 13 +intro_armap_moment() +{ + wait(1); + if(!isdefined(level.start_point) || level.start_point != "fly_in_animated" && level.start_point != "fly_in_animated_part2") + { + return; + } + + var_00 = getent("armap","targetname"); + var_01 = getent("armapshade","targetname"); + var_02 = getent("armapdist","targetname"); + var_03 = getent("armaplow","targetname"); + var_04 = common_scripts\utility::spawn_tag_origin(); + var_04.origin = var_01 gettagorigin("tag_fx"); + var_04.angles = var_01 gettagangles("tag_fx"); + var_04 linkto(var_01,"tag_fx"); + var_05 = common_scripts\utility::spawn_tag_origin(); + var_05.origin = var_01 gettagorigin("tag_pathA"); + var_05.angles = var_01 gettagangles("tag_pathA"); + var_05 linkto(var_01,"tag_pathA"); + var_06 = common_scripts\utility::spawn_tag_origin(); + var_06.origin = var_01 gettagorigin("tag_pathA1"); + var_06.angles = var_01 gettagangles("tag_pathA1"); + var_06 linkto(var_01,"tag_pathA1"); + var_07 = common_scripts\utility::spawn_tag_origin(); + var_07.origin = var_01 gettagorigin("tag_pathA2"); + var_07.angles = var_01 gettagangles("tag_pathA2"); + var_07 linkto(var_01,"tag_pathA2"); + var_08 = common_scripts\utility::spawn_tag_origin(); + var_08.origin = var_01 gettagorigin("tag_pathA3"); + var_08.angles = var_01 gettagangles("tag_pathA3"); + var_08 linkto(var_01,"tag_pathA3"); + var_01 overridereflectionprobe((10960,-112640,1912)); + var_03 overridereflectionprobe((10960,-112640,1912)); + var_00 overridereflectionprobe((10960,-112640,1912)); + var_01 setmaterialscriptparam(0,0); + var_09 = getent("armapbox","targetname"); + var_0A = []; + var_0A[0] = var_00; + var_0A[0].animname = "ar_map"; + var_0A[0] maps\_utility::assign_animtree(); + var_0A[1] = var_01; + var_0A[1].animname = "ar_map"; + var_0A[1] maps\_utility::assign_animtree(); + var_0A[2] = var_02; + var_0A[2].animname = "ar_map"; + var_0A[2] maps\_utility::assign_animtree(); + var_0A[3] = var_03; + var_0A[3].animname = "ar_map"; + var_0A[3] maps\_utility::assign_animtree(); + var_00 hide(); + var_01 hide(); + var_02 hide(); + var_03 hide(); + if(!isdefined("fusion_map_open")) + { + common_scripts\utility::flag_init("fusion_map_open"); + } + + common_scripts\utility::flag_wait("fusion_map_open"); + var_0B = level.warbird_a; + var_0B maps\_anim::anim_first_frame(var_0A,"fly_in_intro","tag_ar_map"); + common_scripts\utility::flag_set("fx_ar_start"); + playfxontag(common_scripts\utility::getfx("ar_map"),var_04,"tag_origin"); + var_00 linkto(var_0B,"tag_ar_map"); + var_01 linkto(var_0B,"tag_ar_map"); + var_02 linkto(var_0B,"tag_ar_map"); + var_03 linkto(var_0B,"tag_ar_map"); + if(!isdefined("fusion_start_map_anim")) + { + common_scripts\utility::flag_init("fusion_start_map_anim"); + } + + if(!isdefined("fusion_stop_map_anim")) + { + common_scripts\utility::flag_init("fusion_stop_map_anim"); + } + + common_scripts\utility::flag_wait("fusion_start_map_anim"); + var_01 show(); + var_02 show(); + var_03 show(); + var_03 hidepart("body_4"); + var_03 hidepart("body_6"); + thread intro_ar_path_anim(var_00,var_05,var_06,var_07,var_08); + thread intro_play_ar_anim(var_0B,var_0A); + common_scripts\utility::flag_wait("fusion_map_target_01"); + var_03 showpart("body_4"); + common_scripts\utility::flag_wait("fusion_map_target_02"); + var_03 showpart("body_6"); + common_scripts\utility::flag_wait("fusion_stop_map_anim"); + var_00 hide(); + var_01 delete(); + var_02 delete(); + var_03 delete(); + var_04.origin = (0,0,0); + var_05.origin = (0,0,0); + var_06.origin = (0,0,0); + var_07.origin = (0,0,0); + var_08.origin = (0,0,0); + stopfxontag(common_scripts\utility::getfx("ar_map"),var_04,"tag_origin"); + playfxontag(common_scripts\utility::getfx("ar_map_dis"),var_00,"tag_fx"); + wait(1); + var_00 delete(); + var_04 delete(); + var_05 delete(); + var_06 delete(); + var_07 delete(); + var_08 delete(); + common_scripts\utility::flag_set("fx_ar_stop"); +} + +//Function Number: 14 +intro_play_ar_anim(param_00,param_01) +{ + param_00 maps\_anim::anim_single(param_01,"fly_in_intro","tag_ar_map"); +} + +//Function Number: 15 +flak_intro_sequence() +{ + common_scripts\utility::flag_wait("fx_flak_intro"); + common_scripts\_exploder::exploder(1019); + common_scripts\_exploder::exploder(1028); + common_scripts\_exploder::exploder(1023); + wait(1); + common_scripts\_exploder::exploder(1024); + wait(1.5); + common_scripts\_exploder::exploder(1025); + wait(0.5); + common_scripts\_exploder::exploder(1026); + wait(3); + common_scripts\_exploder::exploder(1027); + wait(3); + maps\_utility::pauseexploder(1019); + maps\_utility::pauseexploder(1023); + maps\_utility::pauseexploder(1024); + maps\_utility::pauseexploder(1025); + maps\_utility::pauseexploder(1026); + maps\_utility::pauseexploder(1027); + wait(12); + maps\_utility::pauseexploder(1028); +} + +//Function Number: 16 +intro_fly_in_missile_hit_warbird(param_00) +{ + soundscripts\_snd::snd_message("missile_hit_warbird_b"); + var_01 = param_00 gettagorigin("jnt_wingSocket_L"); + playfx(common_scripts\utility::getfx("aerial_explosion_heli_large"),var_01); + playfxontag(common_scripts\utility::getfx("light_explosion_flash"),level.warbird_a,"TAG_open_door"); + var_02 = common_scripts\utility::spawn_tag_origin(); + var_03 = (-18.957,66.128,-7.108); + var_02 linkto(param_00,"body_animate_jnt",var_03,(0,0,0)); + playfxontag(common_scripts\utility::getfx("vehicle_damaged_fire_m"),var_02,"tag_origin"); + playfxontag(common_scripts\utility::getfx("vehicle_damaged_fire_m"),param_00,"TAG_STATIC_TAIL_ROTOR"); + playfxontag(common_scripts\utility::getfx("fusion_warbird_interior_fire"),param_00,"body_animate_jnt"); + common_scripts\utility::flag_wait("fx_heli_rotorsmoke_start"); + playfxontag(common_scripts\utility::getfx("vehicle_damaged_rotorsmoke"),param_00,"TAG_STATIC_MAIN_ROTOR_R"); + wait(0.4); + stopfxontag(common_scripts\utility::getfx("vehicle_damaged_fire_m"),var_02,"tag_origin"); + common_scripts\utility::flag_wait("fx_warbird_hit_tower"); + stopfxontag(common_scripts\utility::getfx("vehicle_damaged_rotorsmoke"),param_00,"TAG_STATIC_MAIN_ROTOR_R"); + stopfxontag(common_scripts\utility::getfx("vehicle_damaged_fire_m"),param_00,"TAG_STATIC_TAIL_ROTOR"); + stopfxontag(common_scripts\utility::getfx("fusion_warbird_interior_fire"),param_00,"tag_origin"); + stopfxontag(common_scripts\utility::getfx("light_explosion_flash"),level.warbird_a,"TAG_open_door"); + if(level.currentgen) + { + level waittill("tff_pre_transition_intro_to_middle"); + var_02 delete(); + param_00 delete(); + } +} + +//Function Number: 17 +intro_fly_in_missile_hit_warbird_tower(param_00) +{ + soundscripts\_snd::snd_message("warbird_b_crash_tower"); + common_scripts\_exploder::exploder(5); + common_scripts\utility::flag_set("fx_warbird_hit_tower"); +} + +//Function Number: 18 +play_tower_debris_fx(param_00) +{ + common_scripts\utility::flag_wait("fx_warbird_hit_tower"); + wait(0.2); + playfxontag(common_scripts\utility::getfx("trail_concrete_dust_m"),param_00,"jo_fus_tower_concrete_chunk_07"); + playfxontag(common_scripts\utility::getfx("trail_concrete_dust_m"),param_00,"jo_fus_tower_concrete_chunk_20"); + playfxontag(common_scripts\utility::getfx("trail_concrete_dust_m"),param_00,"jo_fus_tower_concrete_chunk_11"); + wait(4); + stopfxontag(common_scripts\utility::getfx("trail_concrete_dust_m"),param_00,"jo_fus_tower_concrete_chunk_07"); + stopfxontag(common_scripts\utility::getfx("trail_concrete_dust_m"),param_00,"jo_fus_tower_concrete_chunk_20"); + stopfxontag(common_scripts\utility::getfx("trail_concrete_dust_m"),param_00,"jo_fus_tower_concrete_chunk_11"); +} + +//Function Number: 19 +intro_fly_in_missile_hit_warbird_rotorsmoke(param_00) +{ + common_scripts\utility::flag_set("fx_heli_rotorsmoke_start"); +} + +//Function Number: 20 +intro_fly_in_missile_hit_warbird_rotorsmoke_stop(param_00) +{ + common_scripts\utility::flag_set("fx_heli_rotorsmoke_stop"); +} + +//Function Number: 21 +ambient_explosion_before_landing() +{ + level waittill("fly_in_missiles_scene_end"); + maps\_utility::delaythread(6.35,::common_scripts\_exploder::exploder,1111); + maps\_utility::delaythread(11.25,::common_scripts\_exploder::exploder,1112); + maps\_utility::delaythread(10.8,::common_scripts\_exploder::exploder,1113); + maps\_utility::delaythread(12.35,::common_scripts\_exploder::exploder,1114); + maps\_utility::delaythread(15.2,::common_scripts\_exploder::exploder,1115); + maps\_utility::delaythread(17.7,::common_scripts\_exploder::exploder,1116); + maps\_utility::delaythread(20.7,::common_scripts\_exploder::exploder,1117); + maps\_utility::delaythread(26.5,::common_scripts\_exploder::exploder,1118); + maps\_utility::delaythread(25.5,::common_scripts\_exploder::exploder,1119); + maps\_utility::delaythread(26.5,::common_scripts\_exploder::exploder,1120); + maps\_utility::delaythread(27,::common_scripts\_exploder::exploder,1121); + maps\_utility::delaythread(27,::maps\_utility::pauseexploder,1119); + maps\_utility::delaythread(27.75,::maps\_utility::pauseexploder,1120); + maps\_utility::delaythread(27.75,::maps\_utility::pauseexploder,1121); +} + +//Function Number: 22 +mobile_turret_landing(param_00) +{ + common_scripts\_exploder::exploder("x4walker_landing"); +} + +//Function Number: 23 +warbird_dropping_mobile_tuerret_camshake() +{ + common_scripts\utility::flag_wait("cam_shake_start"); + self endon("cam_shake_stop"); + var_00 = maps\_shg_fx::get_exploder_ent("x4walker_landing"); + var_01 = var_00.v["origin"]; + var_02 = 0.01; + var_03 = 0; + for(;;) + { + var_04 = distance2d(var_01,level.player.origin); + var_05 = 0.2 * clamp(1 - var_04 / 3000,0.01,1) * var_02 / 2; + var_06 = randomfloat(1) * 8 + 1; + earthquake(var_05,var_06 / 10,var_01,5000); + var_02 = clamp(var_02 + var_06 / 20,0.01,2); + wait(var_06 / 20); + } +} + +//Function Number: 24 +ambient_large_pipe_effects_courtyard() +{ + common_scripts\utility::flag_wait("fx_flak_intro"); + common_scripts\_exploder::exploder(1122); + common_scripts\utility::flag_wait("msg_vfx_zone4_control_room"); + maps\_utility::pauseexploder(1122); +} + +//Function Number: 25 +ambient_explosion_courtyard() +{ + level endon("flag_walker_tank_on_mount"); + wait(0.75); + if(level.currentgen) + { + var_00 = [(-2135.1,-3698.59,-64),(-738.545,-3005.74,-50),(-795.404,585.719,-64),(-1022.7,902.717,-62.1685),(-1479.69,606.371,-66.4426),(-2218.7,-1756.35,-64),(-1931.62,-1732.27,-72),(-2143.91,-1378.41,-67.8419),(-3106.98,-1156.51,-64.2818),(-1948.84,-3207.7,-60.2125),(-1723.4,-3073.26,-76.9196),(-601.993,-2740.76,73.8904),(-955.833,-2414.59,-72),(-800.89,-372.677,64.125),(-1101.12,-866.911,-72),(-1539.22,-988.012,-72),(-2390.12,356.47,-57.4423),(-2439.9,-660.093,-47.8124),(-1948.8,198.326,-72),(-1099.36,1027.41,-60.2436),(-2129.62,1400.37,-46.2778),(-2170.44,2009.04,-51.2272),(-1196.03,2478.15,-55.2367),(-832.627,-3001.28,-58),(-824.68,-4585.95,-69),(-1874.07,-2645.55,-72)]; + } + else + { + var_00 = [(-2135.1,-3698.59,-64),(-1181.94,-3841.46,-72),(-738.545,-3005.74,-50),(-2049.48,-653.422,-64),(-795.404,585.719,-64),(-1022.7,902.717,-62.1685),(-917.762,761.175,-64),(-1479.69,606.371,-66.4426),(-2464.02,-1118.15,-64),(-2218.7,-1756.35,-64),(-2094.02,-1687.31,-63.8713),(-1931.62,-1732.27,-72),(-1957.58,-1154.64,-75.0965),(-2143.91,-1378.41,-67.8419),(-3387.4,-1368.2,-72),(-3106.98,-1156.51,-64.2818),(-1927.16,-3345.66,-42.5959),(-1948.84,-3207.7,-60.2125),(-1717.67,-3271.47,-94.9994),(-1723.4,-3073.26,-76.9196),(-1307.31,-2911.27,-61),(-601.993,-2740.76,73.8904),(-1038.27,-2213.41,-70.8464),(-955.833,-2414.59,-72),(-800.89,-372.677,64.125),(-1323.77,-1042.5,-61.2828),(-1101.12,-866.911,-72),(-1539.22,-988.012,-72),(-2506.34,669.644,-16.9688),(-2390.12,356.47,-57.4423),(-2194.72,-379.348,-64),(-2439.9,-660.093,-47.8124),(-1253.71,1533.15,-66.6647),(-1948.8,198.326,-72),(-1099.36,1027.41,-60.2436),(-2139.53,1605.81,-47.8953),(-2129.62,1400.37,-46.2778),(-2004.05,1230.47,-71.0872),(-2170.44,2009.04,-51.2272),(-1423.78,2737.93,-41.1722),(-1196.03,2478.15,-55.2367),(-1373.31,2350.54,14.5669),(-832.627,-3001.28,-58),(-2227.74,2582.45,-64),(-824.68,-4585.95,-69),(-750.72,-4358.39,-51),(-1874.07,-2645.55,-72)]; + } + + for(;;) + { + common_scripts\utility::flag_wait("msg_vfx_zone2_courtyard"); + if(level.currentgen) + { + var_01 = randomfloatrange(2.5,8.5) + 1; + } + else + { + var_01 = randomfloatrange(0.5,1.5) + 1; + } + + wait(var_01); + var_02 = []; + var_03 = level.player getplayerangles(); + var_04 = vectornormalize(anglestoforward(var_03)); + var_05 = maps\_shg_fx::get_exploder_ent(2011); + var_06 = -1; + var_07 = []; + for(var_08 = 0;var_08 < var_00.size;var_08++) + { + if(!isdefined(var_05)) + { + continue; + } + + if(distancesquared(level.player.origin,var_00[var_08]) < 262144) + { + continue; + } + + var_09 = vectornormalize(var_00[var_08] - level.player.origin); + if(vectordot(var_04,var_09) > 0.6) + { + var_06 = 1; + var_07[var_07.size] = var_00[var_08]; + break; + } + } + + if(var_06 > 0) + { + var_0A = randomint(var_07.size); + if(isdefined(var_0A)) + { + var_05.v["origin"] = var_07[var_0A]; + if(isdefined(var_05.v["origin"]) && isdefined(var_05)) + { + var_0B = 2011; + ambient_explosion_play(var_07[var_0A],"explo_ambientExp_dirt",var_0B); + } + } + + wait(0.75); + } + } +} + +//Function Number: 26 +control_room_door_open_rt(param_00) +{ + common_scripts\_exploder::exploder(2800); + wait(1.5); + common_scripts\_exploder::exploder(2801); +} + +//Function Number: 27 +control_room_door_open_lt(param_00) +{ + common_scripts\_exploder::exploder(2801); +} + +//Function Number: 28 +vfx_control_room_explo() +{ + common_scripts\utility::flag_wait("control_room_explosion"); + var_00 = common_scripts\utility::getstruct("control_room_door_explosion_fx_org","targetname"); + playfx(common_scripts\utility::getfx("door_explosion"),var_00.origin); + earthquake(2,0.5,var_00.origin,500); + thread control_room_interior_vfx_on(); +} + +//Function Number: 29 +control_room_interior_vfx_on() +{ + common_scripts\_exploder::exploder(4005); +} + +//Function Number: 30 +dust_falling_control_room() +{ + common_scripts\utility::flag_wait("control_room_explosion"); + common_scripts\_exploder::exploder(4010); +} + +//Function Number: 31 +ambient_gas_explosion_loading_zone() +{ + common_scripts\utility::flag_wait("hangar_enemies"); + common_scripts\utility::flag_waitopen("dialogue_playing"); + common_scripts\_exploder::exploder(5101); + soundscripts\_snd::snd_message("pressure_explosion",5101); + common_scripts\_exploder::exploder(5104); + wait(0.5); + common_scripts\utility::flag_waitopen("dialogue_playing"); + common_scripts\_exploder::exploder(5102); + soundscripts\_snd::snd_message("hangar_explo_and_debris_01"); + wait(1); + common_scripts\_exploder::exploder(5010); + soundscripts\_snd::snd_message("snd_start_fire_steam"); + common_scripts\utility::flag_waitopen("dialogue_playing"); + common_scripts\_exploder::exploder(5103); + soundscripts\_snd::snd_message("hangar_explo_and_debris_02",5103); + common_scripts\utility::flag_wait("msg_vfx_zone7_cooling_tower_explosion"); + maps\_utility::pauseexploder(5010); +} + +//Function Number: 32 +ambient_explosion_dirt_cooling_towers() +{ + level endon("player_start_cooling_tower"); + if(level.currentgen) + { + var_00 = [(8957.59,7017.06,26.9421),(9834.7,8370.35,114.27),(11390,9530.37,-132.036),(9168.17,7216.31,85.8958),(7803.14,7801.35,-8),(10379.7,8239.65,306.156),(10309.8,9759.41,-35.0003),(10449.3,10832.8,-127.599),(10046.7,10779.7,-63.9351)]; + } + else + { + var_00 = [(8957.59,7017.06,26.9421),(9659.96,8226.08,117.914),(9834.7,8370.35,114.27),(10194.9,9516.71,-8),(11390,9530.37,-132.036),(8927.76,6878.92,0.810944),(9168.17,7216.31,85.8958),(8937.92,7296.15,52.2326),(7803.14,7801.35,-8),(10356.8,8449.89,213.607),(10379.7,8239.65,306.156),(10596.6,8707.56,89.2881),(10309.8,9759.41,-35.0003),(10422.3,10575.1,-112.38),(10449.3,10832.8,-127.599),(9950.04,11151.1,-109.244),(10046.7,10779.7,-63.9351)]; + } + + for(;;) + { + common_scripts\utility::flag_wait("msg_vfx_zone6_cooling_towers"); + var_01 = randomfloatrange(1.5,3) + 1; + wait(var_01); + var_02 = []; + var_03 = level.player getplayerangles(); + var_04 = vectornormalize(anglestoforward(var_03)); + var_05 = maps\_shg_fx::get_exploder_ent(2011); + var_06 = -1; + var_07 = []; + for(var_08 = 0;var_08 < var_00.size;var_08++) + { + if(!isdefined(var_05)) + { + continue; + } + + if(distancesquared(level.player.origin,var_00[var_08]) < 262144) + { + continue; + } + + var_09 = vectornormalize(var_00[var_08] - level.player.origin); + if(vectordot(var_04,var_09) > 0.6) + { + var_06 = 1; + var_07[var_07.size] = var_00[var_08]; + break; + } + } + + if(var_06 > 0) + { + var_0A = randomint(var_07.size); + if(isdefined(var_0A)) + { + var_05.v["origin"] = var_07[var_0A]; + if(isdefined(var_05.v["origin"]) && isdefined(var_05)) + { + var_0B = 2011; + ambient_explosion_play(var_07[var_0A],"explo_ambientExp_dirt",var_0B); + } + } + + wait(0.75); + } + } +} + +//Function Number: 33 +ambient_explosion_fireball_cooling_towers() +{ + level endon("player_start_cooling_tower"); + var_00 = [(7266.51,7360.84,-87.284),(9549.09,6211.15,5.91302),(8878.34,6721.48,-8),(10943.5,10231.7,-136),(10507.7,10992.2,-136),(10252.2,10559.4,-35.253),(10329,9553.58,-21.2638)]; + for(;;) + { + common_scripts\utility::flag_wait("msg_vfx_zone6_cooling_towers"); + var_01 = randomfloatrange(3,5) + 1; + wait(var_01); + var_02 = []; + var_03 = level.player getplayerangles(); + var_04 = vectornormalize(anglestoforward(var_03)); + var_05 = maps\_shg_fx::get_exploder_ent(1111); + var_06 = -1; + var_07 = []; + for(var_08 = 0;var_08 < var_00.size;var_08++) + { + if(!isdefined(var_05)) + { + continue; + } + + if(distancesquared(level.player.origin,var_00[var_08]) < 262144) + { + continue; + } + + var_09 = vectornormalize(var_00[var_08] - level.player.origin); + if(vectordot(var_04,var_09) > 0.6) + { + var_06 = 1; + var_07[var_07.size] = var_00[var_08]; + break; + } + } + + if(var_06 > 0) + { + var_0A = randomint(var_07.size); + if(isdefined(var_0A)) + { + var_05.v["origin"] = var_07[var_0A]; + if(isdefined(var_05.v["origin"]) && isdefined(var_05)) + { + var_0B = 1111; + ambient_explosion_play(var_07[var_0A],"explo_ambientExp_fireball",var_0B); + } + } + + wait(0.75); + } + } +} + +//Function Number: 34 +ambient_explosion_play(param_00,param_01,param_02) +{ + switch(param_01) + { + case "explo_ambientExp_dirt": + if(distance(param_00,level.player.origin) < 1800) + { + common_scripts\utility::flag_waitopen("dialogue_playing"); + } + + soundscripts\_snd::snd_message(param_01,param_00,param_02); + break; + + case "explo_ambientExp_fireball": + common_scripts\_exploder::exploder(param_02); + soundscripts\_snd::snd_message(param_01,param_00); + break; + + default: + break; + } +} + +//Function Number: 35 +warbird_hoverdust() +{ + common_scripts\utility::flag_wait("fx_flak_intro"); + stopfxontag(common_scripts\utility::getfx("fast_blowing_dust"),level.warbird_a,"TAG_outside_door"); + common_scripts\utility::flag_wait("fx_warbird_hoverdust"); + common_scripts\_exploder::exploder(1090); + common_scripts\utility::flag_waitopen("fx_warbird_hoverdust"); + wait(8.5); + maps\_utility::stop_exploder(1090); +} + +//Function Number: 36 +vfx_zipgun_fire(param_00) +{ + playfxontag(common_scripts\utility::getfx("harpoon_dust"),param_00,"jnt_harpoon"); + playfxontag(common_scripts\utility::getfx("zipline_flash_view"),param_00,"TAG_FLASH"); +} + +//Function Number: 37 +kill_exterior_vfx() +{ + common_scripts\utility::flag_wait("msg_vfx_zone3_lab_room_section_1"); + thread stop_smoke_pillar_black_large_fast_fx(); + thread stop_smoke_pillar_gray_large_fast_fx(); + thread stop_smoke_pillar_black_large_slow_fx(); + foreach(var_01 in level.createfxent) + { + if(var_01.v["fxid"] == "fog_distant_vista" || var_01.v["type"] == "oneshotfx") + { + var_01 common_scripts\utility::pauseeffect(); + } + } +} + +//Function Number: 38 +fx_elevator_descent_burke(param_00) +{ + common_scripts\_exploder::exploder(3350); + playfxontag(common_scripts\utility::getfx("elevator_burke_slide_dust"),param_00,"j_wrist_le"); +} + +//Function Number: 39 +reactor_light_rays() +{ + if(level.nextgen) + { + common_scripts\utility::flag_wait("reactor_light_rays"); + maps\_utility::pauseexploder(3302); + maps\_utility::pauseexploder(3303); + maps\_utility::pauseexploder(3304); + } +} + +//Function Number: 40 +restart_exterior_vfx() +{ + common_scripts\utility::flag_wait("msg_vfx_zone4_control_room"); + thread start_smoke_pillar_black_large_fast_fx(); + thread start_smoke_pillar_gray_large_fast_fx(); + thread start_smoke_pillar_black_large_slow_fx(); +} + +//Function Number: 41 +big_pipe_explosion_vfx_after_hangar() +{ + if(level.nextgen) + { + thread maps\fusion_lighting::enable_motion_blur_cooling_tower_explosions(); + } + + common_scripts\_exploder::exploder(6500); + soundscripts\_snd::snd_message("pressure_explosion",6500); + level.player playrumbleonentity("damage_heavy"); + earthquake(0.4,1,level.player.origin,200); + wait(0.75); + common_scripts\_exploder::exploder(6501); + wait(0.15); + common_scripts\_exploder::exploder(6502); + common_scripts\_exploder::exploder(6503); +} + +//Function Number: 42 +underground_pipe_explosion_utility_truck_vfx(param_00) +{ + if(level.nextgen) + { + thread maps\fusion_lighting::enable_motion_blur_cooling_tower_explosions(); + } + + common_scripts\_exploder::exploder(6510); + var_01 = 6510; + common_scripts\utility::flag_set("cooling_tower_cart_explosion_lighting"); + level.player playrumbleonentity("damage_heavy"); + earthquake(0.55,1,level.player.origin,200); + soundscripts\_snd::snd_message("fus_truck_flip_01",var_01); + playfxontag(common_scripts\utility::getfx("trail_steam_round_lrg_runner"),self,"tag_origin"); + playfxontag(common_scripts\utility::getfx("trail_spark_burst_explosion"),self,"tag_origin"); + common_scripts\_exploder::exploder(6512); + wait(1.75); + common_scripts\_exploder::exploder(6511); +} + +//Function Number: 43 +underground_pipe_explosion_pickup_truck_vfx(param_00) +{ + if(level.nextgen) + { + thread maps\fusion_lighting::enable_motion_blur_cooling_tower_explosions(); + } + + common_scripts\_exploder::exploder(6520); + var_01 = 6520; + level.player playrumbleonentity("damage_heavy"); + earthquake(1,1,level.player.origin,200); + soundscripts\_snd::snd_message("fus_truck_flip_02",var_01); + playfxontag(common_scripts\utility::getfx("trail_steam_round_lrg_runner"),self,"tag_origin"); + common_scripts\_exploder::exploder(6522); + wait(2.65); + common_scripts\_exploder::exploder(6521); +} + +//Function Number: 44 +init_smvals() +{ + setsaveddvar("fx_alphathreshold",5); + level waittill("big_moment_vfx_start"); + setsaveddvar("fx_alphathreshold",12); +} + +//Function Number: 45 +kill_all_env_fx() +{ + level waittill("big_moment_vfx_start"); + foreach(var_01 in level.createfxent) + { + if(var_01.v["type"] == "oneshotfx" || var_01.v["type"] == "exploder") + { + var_01 common_scripts\utility::pauseeffect(); + } + } +} + +//Function Number: 46 +pressure_explosion_lead_up() +{ + maps\_utility::delaythread(0.05,::pressure_explosion_leadup_1); + maps\_utility::delaythread(0.4,::pressure_explosion_leadup_4); + maps\_utility::delaythread(0.75,::pressure_explosion_leadup_5); + maps\_utility::delaythread(0.8,::pressure_explosion_leadup_6); + maps\_utility::delaythread(0.95,::pressure_explosion_leadup_7); + maps\_utility::delaythread(0.85,::big_moment_ending_vfx_tower_initial_crack); +} + +//Function Number: 47 +pressure_explosion_leadup_1() +{ + common_scripts\_exploder::exploder(7001); + soundscripts\_snd::snd_message("pressure_explosion",7001); + level.player playrumbleonentity("damage_heavy"); + earthquake(0.3,0.5,level.player.origin,500); +} + +//Function Number: 48 +pressure_explosion_leadup_2() +{ + common_scripts\_exploder::exploder(7002); + soundscripts\_snd::snd_message("pressure_explosion",7002); + level.player playrumbleonentity("damage_heavy"); + earthquake(0.3,0.5,level.player.origin,500); +} + +//Function Number: 49 +pressure_explosion_leadup_3() +{ + common_scripts\_exploder::exploder(7003); + soundscripts\_snd::snd_message("pressure_explosion",7003); + level.player playrumbleonentity("damage_heavy"); + earthquake(0.3,0.5,level.player.origin,500); +} + +//Function Number: 50 +pressure_explosion_leadup_4() +{ + common_scripts\_exploder::exploder(7004); + soundscripts\_snd::snd_message("pressure_explosion",7004); + level.player playrumbleonentity("damage_heavy"); + earthquake(0.3,0.5,level.player.origin,500); +} + +//Function Number: 51 +pressure_explosion_leadup_5() +{ + common_scripts\_exploder::exploder(7005); + soundscripts\_snd::snd_message("pressure_explosion",7005); + level.player playrumbleonentity("damage_heavy"); + earthquake(0.3,0.5,level.player.origin,500); +} + +//Function Number: 52 +pressure_explosion_leadup_6() +{ + common_scripts\_exploder::exploder(7006); + soundscripts\_snd::snd_message("pressure_explosion",7006); + level.player playrumbleonentity("damage_heavy"); + earthquake(0.3,0.5,level.player.origin,500); +} + +//Function Number: 53 +pressure_explosion_leadup_7() +{ + common_scripts\_exploder::exploder(7007); + soundscripts\_snd::snd_message("pressure_explosion",7007); + level.player playrumbleonentity("damage_heavy"); + earthquake(0.3,0.5,level.player.origin,500); +} + +//Function Number: 54 +big_moment_ending_vfx_tower_initial_crack() +{ + common_scripts\_exploder::exploder(7100); +} + +//Function Number: 55 +big_moment_ending_vfx(param_00) +{ + level notify("big_moment_vfx_start"); + maps\_utility::delaythread(0.05,::big_moment_ending_vfx_shockwave); + maps\_utility::delaythread(0.1,::big_moment_ending_vfx_ground_buckling); + maps\_utility::delaythread(1.75,::big_moment_ending_vfx_tower_explode); + maps\_utility::delaythread(0.1,::big_moment_ending_vfx_trailing_dust,param_00); + maps\_utility::delaythread(1,::big_moment_ending_vfx_tower_smoke_up); + maps\_utility::delaythread(0.7,::big_moment_ending_vfx_ground_splinter_up); + maps\_utility::delaythread(0.3,::big_moment_ending_vfx_falling_rock); + maps\_utility::delaythread(1,::big_moment_ending_vfx_ash_fall); + maps\_utility::delaythread(1,::big_moment_ending_vfx_rolling_smk); + maps\_utility::delaythread(2,::big_moment_ending_vfx_thick_smk_vm); + maps\_utility::delaythread(22,::big_moment_ending_vfx_falling_debris); + maps\_utility::delaythread(26,::big_moment_ending_vfx_bouncing_rocks); + maps\_utility::delaythread(6.3,::big_moment_ending_vfx_falling_debris_tower); + maps\_utility::delaythread(6.7,::big_moment_ending_vfx_tower_pillar_left_burst); + maps\_utility::delaythread(8.5,::big_moment_ending_vfx_tower_pillar_right_burst); + maps\_utility::delaythread(10.5,::big_moment_ending_vfx_tower_middle_top_burst); + maps\_utility::delaythread(13.5,::big_moment_ending_vfx_tower_top_left_burst); + maps\_utility::delaythread(14.15,::big_moment_ending_vfx_tower_lower_left_burst); + maps\_utility::delaythread(10.25,::big_moment_ending_vfx_tower_lower_right_burst); + maps\_utility::delaythread(7.2,::big_moment_ending_vfx_tower_chunk_trailing_smk,param_00); + maps\_utility::delaythread(6.1,::big_moment_ending_vfx_tower_fall_camshake); + maps\_utility::delaythread(16.5,::big_moment_ending_vfx_tower_base_smk_looping); + maps\_utility::delaythread(13.5,::big_moment_ending_vfx_tower_smoke_up_tall); +} + +//Function Number: 56 +big_moment_ending_vfx_shockwave() +{ + earthquake(0.2,0.2,level.player.origin,1000); + common_scripts\_exploder::exploder(7101); +} + +//Function Number: 57 +big_moment_ending_vfx_ground_buckling() +{ + common_scripts\_exploder::exploder(7102); + earthquake(0.9,0.2,level.player.origin,1000); + wait(0.2); + earthquake(0.4,0.2,level.player.origin,1000); + wait(0.2); + earthquake(0.15,5,level.player.origin,1000); +} + +//Function Number: 58 +big_moment_ending_vfx_tower_explode() +{ + common_scripts\_exploder::exploder(7103); + earthquake(0.3,0.5,level.player.origin,1000); + wait(0.5); +} + +//Function Number: 59 +big_moment_ending_vfx_trailing_dust(param_00) +{ + playfxontag(common_scripts\utility::getfx("fusion_end_smk_lrg_emit"),param_00["street"],"jo_street_shattered_37"); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_emit"),param_00["street"],"jo_street_shattered_34"); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_emit"),param_00["street"],"jo_street_shattered_35"); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_lrg_emit"),param_00["street"],"jo_street_shattered_63"); + wait(0.05); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_lrg_emit"),param_00["street"],"jo_street_shattered_98"); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_lrg_emit"),param_00["street"],"jo_street_shattered_44"); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_emit"),param_00["street"],"jo_street_shattered_59"); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_lrg_emit"),param_00["street"],"jo_street_shattered_69"); + wait(0.05); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_emit"),param_00["street"],"jo_street_shattered_70"); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_emit"),param_00["street"],"jo_street_shattered_43"); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_emit"),param_00["street"],"jo_street_shattered_14"); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_lrg_emit"),param_00["street"],"jo_street_shattered_47"); + wait(0.05); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_lrg_emit"),param_00["street"],"jo_street_shattered_67"); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_lrg_emit"),param_00["street"],"jo_street_shattered_55"); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_lrg_emit"),param_00["street"],"jo_street_shattered_45"); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_lrg_emit"),param_00["street"],"jo_street_shattered_37"); + wait(0.05); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_lrg_emit"),param_00["street"],"jo_street_shattered_84"); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_lrg_emit"),param_00["street"],"jo_street_shattered_97"); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_lrg_emit"),param_00["street"],"jo_street_shattered_60"); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_lrg_emit"),param_00["street"],"jo_street_shattered_46"); + wait(0.05); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_lrg_emit"),param_00["street"],"jo_street_shattered_48"); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_emit"),param_00["concrete_shattered"],"jo_concrete_shattered_piece_20"); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_emit"),param_00["concrete_shattered"],"jo_concrete_shattered_piece_21"); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_lrg_emit"),param_00["concrete_shattered"],"jo_concrete_shattered_piece_18"); + wait(0.05); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_emit"),param_00["concrete_shattered"],"jo_concrete_shattered_piece_8"); + wait(1); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_med_emit"),param_00["chunks"],"jo_lower_front_panel_section_4"); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_med_emit"),param_00["chunks"],"jo_lower_front_panel_section_5"); +} + +//Function Number: 60 +big_moment_ending_vfx_tower_smoke_up() +{ + common_scripts\_exploder::exploder(7104); +} + +//Function Number: 61 +big_moment_ending_vfx_tower_smoke_up_tall() +{ + maps\_utility::stop_exploder(7104); + common_scripts\_exploder::exploder(7401); +} + +//Function Number: 62 +big_moment_ending_vfx_donut_smk() +{ + common_scripts\_exploder::exploder(7105); +} + +//Function Number: 63 +big_moment_ending_vfx_ground_splinter_up() +{ + common_scripts\_exploder::exploder(7106); + wait(0.1); + common_scripts\_exploder::exploder(7108); + wait(0.15); + common_scripts\_exploder::exploder(7109); + wait(0.15); + common_scripts\_exploder::exploder(7110); + wait(0.15); + common_scripts\_exploder::exploder(7111); + wait(0.2); + common_scripts\_exploder::exploder(7112); +} + +//Function Number: 64 +big_moment_ending_vfx_falling_rock() +{ + common_scripts\_exploder::exploder(7201); +} + +//Function Number: 65 +big_moment_ending_vfx_ash_fall() +{ + common_scripts\_exploder::exploder(7202); +} + +//Function Number: 66 +big_moment_ending_vfx_rolling_smk() +{ + common_scripts\_exploder::exploder(7203); + wait(3); + common_scripts\_exploder::exploder(7204); + wait(0.5); + maps\_utility::stop_exploder(7203); + wait(12.6); + common_scripts\_exploder::exploder(7211); + maps\_utility::stop_exploder(7204); + wait(5); + common_scripts\_exploder::exploder(7204); + wait(9.25); + common_scripts\_exploder::exploder(7299); + maps\_utility::stop_exploder(7204); + thread big_moment_ending_vfx_warbird_dust(); +} + +//Function Number: 67 +big_moment_ending_vfx_thick_smk_vm() +{ + var_00 = spawn("script_model",level.player.origin); + var_00 setmodel("tag_origin"); + var_00 linkto(level.player); + playfxontag(common_scripts\utility::getfx("fusion_end_thick_smk_vm"),var_00,"tag_origin"); + wait(4.5); + stopfxontag(common_scripts\utility::getfx("fusion_end_thick_smk_vm"),var_00,"tag_origin"); + wait(11.5); + playfxontag(common_scripts\utility::getfx("fusion_end_thick_smk_vm"),var_00,"tag_origin"); + wait(3); + stopfxontag(common_scripts\utility::getfx("fusion_end_thick_smk_vm"),var_00,"tag_origin"); + var_00 delete(); +} + +//Function Number: 68 +big_moment_ending_vfx_falling_debris() +{ + common_scripts\_exploder::exploder(7205); + wait(8); + common_scripts\_exploder::exploder(7206); +} + +//Function Number: 69 +big_moment_ending_vfx_bouncing_rocks() +{ + common_scripts\_exploder::exploder(7209); +} + +//Function Number: 70 +big_moment_ending_vfx_falling_debris_tower() +{ + common_scripts\_exploder::exploder(7207); + wait(5); + common_scripts\_exploder::exploder(7208); +} + +//Function Number: 71 +big_moment_ending_vfx_tower_pillar_left_burst() +{ + common_scripts\_exploder::exploder(7300); + wait(3.6); + common_scripts\_exploder::exploder(7402); +} + +//Function Number: 72 +big_moment_ending_vfx_tower_pillar_right_burst() +{ + common_scripts\_exploder::exploder(7301); +} + +//Function Number: 73 +big_moment_ending_vfx_tower_middle_top_burst() +{ + common_scripts\_exploder::exploder(7302); +} + +//Function Number: 74 +big_moment_ending_vfx_tower_top_left_burst() +{ + common_scripts\_exploder::exploder(7303); +} + +//Function Number: 75 +big_moment_ending_vfx_tower_lower_left_burst() +{ + common_scripts\_exploder::exploder(7304); +} + +//Function Number: 76 +big_moment_ending_vfx_tower_lower_right_burst() +{ + common_scripts\_exploder::exploder(7305); +} + +//Function Number: 77 +big_moment_ending_vfx_tower_base_smk_looping() +{ + common_scripts\_exploder::exploder(7400); +} + +//Function Number: 78 +big_moment_ending_vfx_tower_chunk_trailing_smk(param_00) +{ + playfxontag(common_scripts\utility::getfx("fusion_end_smk_xlrg_emit"),param_00["concrete_shattered"],"jo_concrete_shattered_piece_37a"); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_xlrg_emit"),param_00["concrete_shattered2"],"jo_concrete_shattered_piece_60c"); + wait(2.7); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_xlrg_emit"),param_00["concrete_shattered"],"jo_concrete_shattered_piece_43a"); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_xlrg_emit"),param_00["concrete_shattered2"],"jo_concrete_shattered_piece_68"); + wait(1); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_xlrg_emit"),param_00["concrete_shattered"],"jo_concrete_shattered_piece_35"); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_xxlrg_emit"),param_00["concrete_shattered"],"jo_concrete_shattered_piece_36"); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_xlrg_emit"),param_00["concrete_shattered"],"jo_concrete_shattered_piece_36a"); + wait(2.55); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_xlrg_emit"),param_00["concrete_shattered"],"jo_concrete_shattered_piece_37"); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_xlrg_emit"),param_00["concrete_shattered"],"jo_concrete_shattered_piece_38a"); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_xlrg_emit"),param_00["concrete_shattered"],"jo_concrete_shattered_piece_38b"); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_xlrg_emit"),param_00["concrete_shattered2"],"jo_concrete_shattered_piece_73a"); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_xlrg_emit"),param_00["concrete_shattered"],"jo_concrete_shattered_piece_37c"); + wait(0.25); + playfxontag(common_scripts\utility::getfx("fusion_end_smk_xlrg_emit"),param_00["concrete_shattered2"],"jo_concrete_shattered_piece_72"); +} + +//Function Number: 79 +big_moment_ending_vfx_tower_fall_camshake() +{ + earthquake(0.15,3.2,level.player.origin,1000); + wait(3.1); + earthquake(0.3,4.8,level.player.origin,1000); + common_scripts\_exploder::exploder(7403); + wait(4.7); + earthquake(0.4,3,level.player.origin,1000); + common_scripts\_exploder::exploder(7404); + wait(2.9); + earthquake(0.6,2.2,level.player.origin,1000); + common_scripts\_exploder::exploder(7405); +} + +//Function Number: 80 +big_moment_ending_vfx_warbird_dust() +{ + common_scripts\_exploder::exploder("outro_warbird_dust"); +} + +//Function Number: 81 +set_guy_on_fire() +{ + var_00 = spawnstruct(); + var_00.v["ent"] = self; + var_00.v["fx"] = common_scripts\utility::getfx("fire_smoke_trail_verysmall"); + var_00.v["chain"] = "all"; + var_01 = 0.04; + if(level.currentgen) + { + var_01 = 0.2; + } + + var_00.v["looptime"] = var_01; + maps\_shg_fx::play_fx_on_actor(var_00); + if(level.nextgen) + { + level waittill("street_cleanup"); + } + else + { + level waittill("tff_pre_transition_intro_to_middle"); + } + + level notify(self.model + "kill_fx_onactor"); +} + +//Function Number: 82 +walker_dying_fx() +{ + common_scripts\utility::flag_set("walker_death_anim_started"); + self endon("death"); + for(var_00 = 0;var_00 < 37;var_00++) + { + playfxontag(common_scripts\utility::getfx("walker_tank_dying_fire_small"),self,"tag_fire"); + wait(0.1); + } + + stopfxontag(common_scripts\utility::getfx("vehicle_damaged_sparks_l"),self,"TAG_SPARKS1"); + stopfxontag(common_scripts\utility::getfx("vehicle_damaged_sparks_l"),self,"TAG_SPARKS2"); + stopfxontag(common_scripts\utility::getfx("vehicle_damaged_sparks_l"),self,"TAG_SPARKS3"); + stopfxontag(common_scripts\utility::getfx("vehicle_damaged_sparks_l"),self,"TAG_SPARKS4"); + for(;;) + { + playfxontag(common_scripts\utility::getfx("walker_tank_dying_fire"),self,"tag_fire"); + wait(0.1); + } +} + +//Function Number: 83 +walker_tank_footstep_left(param_00) +{ + playfxontag(common_scripts\utility::getfx("walker_footstep"),param_00,"frontWheelTread01_FL"); +} + +//Function Number: 84 +walker_tank_footstep_right(param_00) +{ + playfxontag(common_scripts\utility::getfx("walker_footstep"),param_00,"frontWheelTread01_FR"); +} + +//Function Number: 85 +walker_tank_footstep_left_rear(param_00) +{ + playfxontag(common_scripts\utility::getfx("walker_footstep"),param_00,"frontWheelTread05_KL"); +} + +//Function Number: 86 +walker_tank_footstep_right_rear(param_00) +{ + playfxontag(common_scripts\utility::getfx("walker_footstep"),param_00,"frontWheelTread05_KR"); +} + +//Function Number: 87 +start_smoke_pillar_black_large_fast_fx() +{ + if(level.currentgen) + { + var_00 = [(-1066.52,29042.7,3254.14),(13777.4,45770.1,2900.88)]; + var_01 = [(300,24,-90),(323.204,3.74876,84.8169)]; + } + else + { + var_00 = [(-1066.52,29042.7,3254.14),(18709.6,32551.6,1771.69),(13777.4,45770.1,2900.88),(24840.4,25515.1,3500.52)]; + var_01 = [(300,24,-90),(286,26,-90),(323.204,3.74876,84.8169),(294.312,29.0954,-80.2449)]; + } + + level.smokepillar1 = []; + for(var_02 = 0;var_02 < var_00.size;var_02++) + { + var_03 = anglestoforward(var_01[var_02]); + var_04 = anglestoup(var_01[var_02]); + level.smokepillar1[level.smokepillar1.size] = spawnfx(common_scripts\utility::getfx("smoke_pillar_black_large_fast"),var_00[var_02],var_03,var_04); + } + + foreach(var_06 in level.smokepillar1) + { + triggerfx(var_06,55); + } +} + +//Function Number: 88 +stop_smoke_pillar_black_large_fast_fx() +{ + foreach(var_01 in level.smokepillar1) + { + var_01 delete(); + } +} + +//Function Number: 89 +start_smoke_pillar_gray_large_fast_fx() +{ + var_00 = [(7442.65,34328.6,3101.13)]; + var_01 = [(294.312,29.0954,-80.2449)]; + level.smokepillar2 = []; + for(var_02 = 0;var_02 < var_00.size;var_02++) + { + var_03 = anglestoforward(var_01[var_02]); + var_04 = anglestoup(var_01[var_02]); + level.smokepillar2[level.smokepillar2.size] = spawnfx(common_scripts\utility::getfx("smoke_pillar_gray_large_fast"),var_00[var_02],var_03,var_04); + } + + foreach(var_06 in level.smokepillar2) + { + triggerfx(var_06,55); + } +} + +//Function Number: 90 +stop_smoke_pillar_gray_large_fast_fx() +{ + foreach(var_01 in level.smokepillar2) + { + var_01 delete(); + } +} + +//Function Number: 91 +start_smoke_pillar_black_large_slow_fx() +{ + if(level.currentgen) + { + var_00 = [(5331.64,27346.8,2860.05)]; + var_01 = [(294,26,-90)]; + } + else + { + var_00 = [(5331.64,27346.8,2860.05),(26342.9,15259.3,1438.33)]; + var_01 = [(294,26,-90),(294.312,29.0954,-168.245)]; + } + + level.smokepillar3 = []; + for(var_02 = 0;var_02 < var_00.size;var_02++) + { + var_03 = anglestoforward(var_01[var_02]); + var_04 = anglestoup(var_01[var_02]); + level.smokepillar3[level.smokepillar3.size] = spawnfx(common_scripts\utility::getfx("smoke_pillar_black_large_slow"),var_00[var_02],var_03,var_04); + } + + foreach(var_06 in level.smokepillar3) + { + triggerfx(var_06,55); + } +} + +//Function Number: 92 +stop_smoke_pillar_black_large_slow_fx() +{ + foreach(var_01 in level.smokepillar3) + { + var_01 delete(); + } +} \ No newline at end of file diff --git a/AW/PC/maps/fusion_lighting.gsc b/AW/PC/maps/fusion_lighting.gsc new file mode 100644 index 0000000..58bfc3b --- /dev/null +++ b/AW/PC/maps/fusion_lighting.gsc @@ -0,0 +1,1768 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: fusion_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 96 + * Decompile Time: 1442 ms + * Timestamp: 4/22/2024 2:30:11 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + waittillframeend; + precacheshader("overlay_rain_blur"); + precacheshader("overlay_film_grain"); + thread set_level_lighting_values(); + thread setup_dof_presets(); + thread setup_dof_viewmodel_presets(); + thread setup_flickerlight_presets(); + thread setup_flickerlight_motion_presets(); + thread fusion_intro_dof(); + thread sun_shad_vision_fly_in(); + thread lighting_setup_off_zip(); + thread setup_lighting_courtyard_start(); + thread exposure_adjust_courtyard_room(); + thread sun_shad_exposure_control_room(); + thread sun_shad_cooling_tower_area(); + thread sun_shad_cooling_tower_start(); + thread tonemapkey_call(); + thread tonemapkey_call_control_room(); + thread setup_fusion_finale_arm_rimlight(); + thread setup_fusion_finale_light_flicker(); + thread setup_fusion_finale_lightgrid(); + thread setup_fusion_finale_light_rim(); + thread setup_fusion_finale_helicopter_light(); + thread setup_fusion_finale_arm_fx(); + thread setup_fusion_light_model_flicker(); + thread setup_fusion_light_model_flicker2(); + thread setup_fusion_light_model_flicker3(); + thread setup_dof_security(); + thread setup_elevator_security_light(); + thread elevator_fall_dof_tweaks(); + thread setup_lighting_lab_start(); + thread setup_lab_script_volume(); + thread setup_lab_script_exit_volume(); + thread setup_lighting_reactor_start(); + thread setup_lighting_reactor_exit_start(); + thread setup_lights_pre_elevator(); + thread lighting_setup_turbine_elevator(); + thread setup_lighting_turbine_start(); + thread setup_turbine_room_pulsing_lights(); + thread setup_lighting_control_room_start(); + thread setup_control_room_door_explosion_light(); + thread setup_control_room_screen_light(); + thread setup_control_room_player_start(); + thread setup_control_room_scene_dof(); + thread setup_firelight_explosion_hangar(); + thread reactor_reveal_lighting(); + thread lighting_setup_reactor_door(); + thread test_sun_flare(); + thread setup_lighting_security_start(); + if(level.currentgen) + { + thread setup_lighting_security_start(); + } + + var_00 = getent("cooling_towers_fire_light","targetname"); + if(isdefined(var_00)) + { + var_00 setlightintensity(0); + } + + level.player thread fusion_zip_dof(); +} + +//Function Number: 2 +linearlerp(param_00,param_01,param_02) +{ + return abs(param_00 * 1 - param_02 + param_01 * param_02); +} + +//Function Number: 3 +simcurrentgendynamicexpossure() +{ + for(;;) + { + var_00 = 5000; + var_01 = level.player getplayerangles(); + var_02 = anglestoforward(var_01); + var_03 = anglestoforward(var_01 + (-15,0,0)); + var_04 = anglestoforward(var_01 + (15,45,0)); + var_05 = anglestoforward(var_01 + (15,45,0)); + var_06 = level.player.origin + (0,0,64); + var_07 = var_06 + var_02 * var_00; + var_08 = var_06 + var_03 * var_00; + var_09 = var_06 + var_04 * var_00; + var_0A = var_06 + var_05 * var_00; + var_0B = getmapsundirection(); + var_0C = bullettrace(var_06 + var_02 * 3,var_07,0,undefined); + var_0D = bullettrace(var_06 + var_03 * 3,var_08,0,undefined); + var_0E = bullettrace(var_06 + var_04 * 3,var_09,0,undefined); + var_0F = bullettrace(var_06 + var_05 * 3,var_0A,0,undefined); + var_10 = distance(var_06,var_0C["position"]); + var_11 = distance(var_06,var_0D["position"]); + var_12 = distance(var_06,var_0E["position"]); + var_13 = distance(var_06,var_0F["position"]); + var_14 = var_10 + var_11 + var_12 + var_13 / 4; + var_15 = max(vectordot(var_0B,var_02),0); + var_16 = var_14 / var_00 * var_15; + var_17 = linearlerp(9.5,11,var_16); + setsaveddvar("r_tonemapexposure",var_17); + wait(0.55); + } +} + +//Function Number: 4 +test_sun_flare() +{ + thread maps\_shg_fx::vfx_sunflare("fusion_sun_flare"); +} + +//Function Number: 5 +set_level_lighting_values() +{ + if(level.nextgen) + { + setsaveddvar("r_hemiAoEnable",1); + } + + setsaveddvar("r_disablelightsets",0); + if(isusinghdr()) + { + if(maps\_utility::is_gen4()) + { + } + else + { + setsaveddvar("r_tonemapExposureMultiplier",0.3); + } + + if(level.ps4) + { + level.player lightsetforplayer("fusion"); + } + } +} + +//Function Number: 6 +setup_dof_presets() +{ + maps\_lighting::create_dof_preset("fusion_intro",10,18,10,25,150,4.5,0.5); + maps\_lighting::create_dof_preset("fusion_pre_zip",0,0,4.5,0,140,3,0.5); + maps\_lighting::create_dof_preset("fusion_fly",10,50,4,3500,9000,1.5,0.5); + maps\_lighting::create_dof_preset("fusion_fly_rack_nblur",1,310,4,3500,9000,1.5,0.5); + maps\_lighting::create_dof_preset("fusion_ready_zip",1,2,4,300,9000,2,2.75); + maps\_lighting::create_dof_preset("fusion_zip",100,585,4.5,810,16000,4.5,0.5); +} + +//Function Number: 7 +setup_dof_viewmodel_presets() +{ + maps\_lighting::create_dof_viewmodel_preset("fusion_vm_fly_rack_nblur",2,10); + maps\_lighting::create_dof_viewmodel_preset("fusion_vm_off",0,0); +} + +//Function Number: 8 +setup_flickerlight_presets() +{ + maps\_lighting::create_flickerlight_preset("fusion_fire",(0.972549,0.62451,1),(0.2,0.1462746,1),0.005,0.2,5); + maps\_lighting::create_flickerlight_preset("finale_heli_light",(0.9,0.8,0.7),(0.2,0.15,0.1),0.005,0.2,8); +} + +//Function Number: 9 +setup_flickerlight_motion_presets() +{ + maps\_lighting::create_flickerlight_motion_preset("fusion_hangar_fire",(1,0.2246,0),100000,2,0.05,0.2); +} + +//Function Number: 10 +fusion_intro_dof() +{ + common_scripts\utility::flag_wait("sun_shad_fly_in"); + if(level.nextgen) + { + wait(35); + setsunlight(0,0,0); + thread fly_in_vfx_dopl_light_setup(); + maps\_utility::vision_set_fog_changes("fusion_helicopter_closed",0); + level.player setclutforplayer("clut_fusion_heli_interior",0.1); + thread motion_blur_rotation_enable(); + setsaveddvar("r_dof_physical_bokehEnable",1); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(1.1,64); + wait(15); + level.player setphysicaldepthoffield(1.5,45); + wait(12); + level.player setphysicaldepthoffield(1.1,62); + } + else + { + wait(35); + thread fly_in_vfx_dopl_light_setup(); + maps\_utility::vision_set_fog_changes("fusion_helicopter",0); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(1.1,64); + wait(15); + level.player setphysicaldepthoffield(2.25,32); + wait(12); + level.player setphysicaldepthoffield(1.1,64); + level.player disablephysicaldepthoffieldscripting(); + } + + level waittill("hatch_door_open"); + if(level.nextgen) + { + level.player setclutforplayer("clut_fusion_fly_in",1); + maps\_utility::vision_set_fog_changes("fusion_neutral",0); + } + + thread maps\_shg_fx::screenshakefade(0.15,20,1,5); + wait(1); + thread script_probe_heli_open(); + thread heli_fly_vfx_dopl_fill_light_setup(); + wait(1); + if(level.nextgen) + { + resetsunlight(); + } + + if(level.nextgen) + { + level.player disablephysicaldepthoffieldscripting(); + } + else + { + } + + thread frame_rate_tune_shadows_up_over_cliff(); + thread frame_rate_tune_shadows_heli_crash(); + thread frame_rate_tune_shadows_turn_to_right(); + thread frame_rate_tune_shadows_roof_top(); + wait(45); + if(level.nextgen) + { + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(2,3500); + } + else + { + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(2,3500); + maps\_lighting::blend_dof_presets("default","default",0.1); + } + + wait(3); + maps\_utility::lerp_saveddvar("r_lightgridintensity",1,3); + common_scripts\utility::flag_wait("ready_zip"); + if(level.nextgen) + { + level.player setclutforplayer("clut_fusion_zipline",1); + } + + if(level.nextgen) + { + } + else + { + maps\_lighting::blend_dof_presets("default","default",0.1); + } + + common_scripts\utility::flag_wait("flag_player_zip_started"); + if(level.nextgen) + { + common_scripts\utility::flag_set("flag_autofocus_on"); + thread autofocus_hipenable(); + wait(5.5); + common_scripts\utility::flag_clear("flag_autofocus_on"); + wait(1); + setsaveddvar("r_mbEnable","0"); + setsaveddvar("r_dof_physical_bokehEnable",0); + } + + thread script_probe_heli_default(); +} + +//Function Number: 11 +fly_in_primary_light_setup() +{ + var_00 = maps\_lighting::setup_scriptable_primary_light("heli_intro_rim",0,(-20,35.8,-11),(-43,-44,0),8500,(0.654,0.619,0.576),20,47,level.warbird_a,"TAG_monitor_top_light",170); + maps\_lighting::execute_scriptable_primary_light(var_00); + var_01 = maps\_lighting::setup_scriptable_primary_light("heli_intro_key",1,(87.9,95.8,10.8),(6.2,-97,0),2300,(0.49,0.59,0.678),10,40,level.warbird_a,"TAG_monitor_right_light",256); + maps\_lighting::execute_scriptable_primary_light(var_01); +} + +//Function Number: 12 +fly_in_vfx_dopl_light_setup() +{ + var_00 = common_scripts\utility::spawn_tag_origin(); + var_00 linkto(level.warbird_a,"TAG_light_body_l",(10,0,-20),(14,110,0)); + playfxontag(common_scripts\utility::getfx("light_spot_key_burke_dopl"),var_00,"TAG_ORIGIN"); + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 linkto(level.warbird_a,"TAG_burke_rim_light",(-5,20,-2),(-10,-20,0)); + playfxontag(common_scripts\utility::getfx("light_spot_rim_burke_dopl"),var_01,"TAG_ORIGIN"); + level waittill("hatch_door_open"); + wait(4); + stopfxontag(common_scripts\utility::getfx("light_spot_key_burke_dopl"),var_00,"TAG_ORIGIN"); + stopfxontag(common_scripts\utility::getfx("light_spot_rim_burke_dopl"),var_01,"TAG_ORIGIN"); + var_00 delete(); + var_01 delete(); +} + +//Function Number: 13 +heli_fly_vfx_dopl_fill_light_setup() +{ + wait(3.5); + var_00 = common_scripts\utility::spawn_tag_origin(); + var_00 linkto(level.warbird_a,"TAG_light_body_l",(10,0,-20),(6,112,0)); + playfxontag(common_scripts\utility::getfx("light_spot_fill_burke_dopl"),var_00,"TAG_ORIGIN"); + wait(20); + stopfxontag(common_scripts\utility::getfx("light_spot_fill_burke_dopl"),var_00,"TAG_ORIGIN"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("light_spot_fill_burke_fade_dopl"),var_00,"TAG_ORIGIN"); + wait(10); + var_00 delete(); +} + +//Function Number: 14 +frame_rate_tune_shadows_up_over_cliff() +{ + wait(22); + level.player lightsetforplayer("fusion_helicopter_cliff"); +} + +//Function Number: 15 +frame_rate_tune_shadows_heli_crash() +{ + wait(33); + level.player lightsetforplayer("fusion_helicopter_crash"); +} + +//Function Number: 16 +frame_rate_tune_shadows_turn_to_right() +{ + wait(39); + level.player lightsetforplayer("fusion_helicopter_turn_right"); +} + +//Function Number: 17 +frame_rate_tune_shadows_roof_top() +{ + wait(55); + level.player lightsetforplayer("fusion_helicopter_roof_top"); +} + +//Function Number: 18 +ar_moment() +{ + common_scripts\utility::flag_wait("fx_ar_start"); + maps\_utility::vision_set_fog_changes("fusion_helicopter_ar",1); + common_scripts\utility::flag_wait("fx_ar_stop"); + maps\_utility::vision_set_fog_changes("fusion_helicopter",1); +} + +//Function Number: 19 +fusion_zip_dof() +{ + level.player waittill("using_zip"); + if(level.nextgen == 1) + { + } + else + { + } + + if(isusingssao()) + { + level.player lightsetforplayer("fusion_helicopter_zip_grab"); + } + + if(level.nextgen) + { + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(2.5,22,2,2); + } + else + { + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(2.5,22,2,2); + level.player disablephysicaldepthoffieldscripting(); + } + + wait(2.5); + if(level.nextgen == 1) + { + wait(0.5); + level.player setphysicaldepthoffield(9,800,2,2); + } + else + { + } + + if(isusingssao()) + { + level.player lightsetforplayer("fusion_helicopter_roof_top"); + } + + self waittill("fastzip_start"); +} + +//Function Number: 20 +sun_shad_vision_fly_in() +{ + common_scripts\utility::flag_wait("sun_shad_fly_in"); + thread set_grid_color_dark(); + thread script_probe_heli_closed(); + level.player lightsetforplayer("fusion_helicopter_intro"); + if(level.currentgen) + { + maps\_utility::vision_set_fog_changes("fusion_helicopter",0); + } +} + +//Function Number: 21 +setup_vfx_lighting() +{ + if(level.currentgen) + { + setsaveddvar("r_dlightLimit",4); + } + + playfxontag(common_scripts\utility::getfx("light_godray_02"),level.warbird_a,"TAG_godray"); + playfxontag(common_scripts\utility::getfx("light_point_blue_mon_left"),level.warbird_a,"TAG_monitor_left_light"); + playfxontag(common_scripts\utility::getfx("light_point_blue_mon_right"),level.warbird_a,"TAG_monitor_right_light"); + if(level.currentgen) + { + level waittill("hatch_door_open"); + } +} + +//Function Number: 22 +burke_spot_lighting() +{ + wait(11); + playfxontag(common_scripts\utility::getfx("light_spot_rim_burke_fadeout"),level.warbird_a,"TAG_burke_rim_light"); + wait(10.05); + stopfxontag(common_scripts\utility::getfx("light_spot_rim_burke_fadeout"),level.warbird_a,"TAG_burke_rim_light"); + wait(0.1); + var_00 = common_scripts\utility::spawn_tag_origin(); + var_00 linkto(level.warbird_a,"TAG_burke_key_light",(-8,-35,5),(0,40,0)); + playfxontag(common_scripts\utility::getfx("light_spot_key_burke"),var_00,"TAG_ORIGIN"); + var_01 = common_scripts\utility::spawn_tag_origin(); + wait(10); + var_01 linkto(level.warbird_a,"TAG_burke_key_light",(25,25,-10),(0,0,0)); + playfxontag(common_scripts\utility::getfx("light_point_blue_mon_mid"),var_01,"TAG_ORIGIN"); + wait(15); + wait(1.8); + stopfxontag(common_scripts\utility::getfx("light_point_blue_mon_mid"),var_01,"TAG_ORIGIN"); +} + +//Function Number: 23 +fusion_fly_player_mist() +{ + var_00 = randomfloatrange(0.2,3); + level.player maps\_utility::delaythread(var_00,::play_fullscreen_mist,3,0.1,1.5,0.6,0,0); + var_01 = randomfloatrange(0.2,3); + level.player maps\_utility::delaythread(var_01,::play_fullscreen_mist,3.5,0.1,1.5,0.6,50,-50); + var_02 = randomfloatrange(0.2,3); + level.player maps\_utility::delaythread(var_02,::play_fullscreen_mist,4,0.1,1.5,0.6,-50,50); + var_03 = randomfloatrange(0.2,3); + level.player maps\_utility::delaythread(var_03,::play_fullscreen_mist,4.5,0.1,1.5,0.6,20,20); +} + +//Function Number: 24 +set_grid_color_dark() +{ + if(level.nextgen) + { + wait(4); + level.warbird_a startusingheroonlylighting(); + foreach(var_01 in level.warbird_a.zipline_gun_model) + { + var_01 startusingheroonlylighting(); + } + } + + if(level.nextgen == 1) + { + setsaveddvar("r_lightgridenabletweaks","1"); + setsaveddvar("r_lightgridintensity",".4"); + } +} + +//Function Number: 25 +script_probe_heli_closed() +{ + wait(5); + var_00 = getent("refl_probe_heli_closed","targetname"); + level.warbird_a overridereflectionprobe(var_00.origin); + level.burke overridereflectionprobe(var_00.origin); + level.guy_facing_player_intro overridereflectionprobe(var_00.origin); + level.copilot_intro overridereflectionprobe(var_00.origin); + level.pilot_intro overridereflectionprobe(var_00.origin); + level.carter hide(); + level.deployable_cover hide(); + level.joker hide(); + foreach(var_02 in level.warbird_a.zipline_gun_model) + { + var_02 overridereflectionprobe(var_00.origin); + } +} + +//Function Number: 26 +hide_all_chars() +{ + level.burke hide(); + level.joker hide(); + level.guy_facing_player_intro hide(); + level.copilot_intro hide(); + level.pilot_intro hide(); +} + +//Function Number: 27 +script_probe_heli_open() +{ + wait(3.5); + var_00 = getent("refl_probe_heli_open","targetname"); + level.warbird_a overridereflectionprobe(var_00.origin); + level.burke overridereflectionprobe(var_00.origin); + level.copilot_intro overridereflectionprobe(var_00.origin); + level.pilot_intro overridereflectionprobe(var_00.origin); + if(level.nextgen) + { + foreach(var_02 in level.warbird_a.zipline_gun_model) + { + var_02 overridereflectionprobe(var_00.origin); + } + + return; + } + + maps\_utility::vision_set_fog_changes("fusion_helicopter_open",2); +} + +//Function Number: 28 +script_probe_heli_default() +{ + level.warbird_a defaultreflectionprobe(); + level.burke defaultreflectionprobe(); + level.joker defaultreflectionprobe(); +} + +//Function Number: 29 +hatch_door_veil(param_00) +{ + level notify("hatch_door_open"); + wait(3); + common_scripts\_exploder::exploder(1020); + wait(4); + common_scripts\_exploder::exploder(1021); + wait(8); + common_scripts\_exploder::exploder(1022); +} + +//Function Number: 30 +hatch_door_vision(param_00) +{ + wait(0.05); + if(level.currentgen == 1) + { + setsaveddvar("r_dlightLimit",2); + } + + level.player lightsetforplayer("fusion_helicopter_door"); + if(level.nextgen) + { + wait(0.5); + } + else + { + wait(0.5); + } + + level.player lightsetforplayer("fusion_helicopter_ride"); + wait(2); + thread fusion_fly_player_mist(); + if(level.currentgen == 1) + { + setsaveddvar("r_dlightLimit",2); + maps\_utility::vision_set_fog_changes("fusion_helicopter_open",1.5); + } + + wait(12); + maps\_utility::delaythread(21.8,::fusion_fly_player_mist); +} + +//Function Number: 31 +hatch_door_lightgrid_off(param_00) +{ + if(level.nextgen == 1) + { + maps\_utility::lerp_saveddvar("r_lightgridintensity",0.75,2); + } +} + +//Function Number: 32 +hatch_door_push_fog_out(param_00) +{ + wait(24); + if(level.nextgen) + { + maps\_utility::fog_set_changes("fusion_helicopter_closeup",3); + } + else + { + maps\_utility::vision_set_fog_changes("fusion_helicopter_closeup",3); + } + + if(level.nextgen) + { + wait(14); + return; + } + + wait(18); + maps\_utility::vision_set_fog_changes("fusion_zipline",3); +} + +//Function Number: 33 +hill_sunflare() +{ + thread maps\_shg_fx::fx_spot_lens_flare_dir("light_sunflare",(-20,110,0),8000); +} + +//Function Number: 34 +battle_exterior_sunflare() +{ + thread maps\_shg_fx::fx_spot_lens_flare_dir("light_sunflare",(-20,110,0),8000); +} + +//Function Number: 35 +play_fullscreen_mist(param_00,param_01,param_02,param_03,param_04,param_05) +{ + var_06 = newclienthudelem(self); + var_06.x = param_04; + var_06.y = param_05; + var_06 setshader("overlay_rain_blur",640,480); + var_06.splatter = 1; + var_06.alignx = "left"; + var_06.aligny = "top"; + var_06.sort = 1; + var_06.foreground = 0; + var_06.horzalign = "fullscreen"; + var_06.vertalign = "fullscreen"; + var_06.alpha = 0; + var_07 = 0; + if(!isdefined(param_01)) + { + param_01 = 1; + } + + if(!isdefined(param_02)) + { + param_02 = 1; + } + + if(!isdefined(param_03)) + { + param_03 = 1; + } + + var_08 = 0.05; + if(param_01 > 0) + { + var_09 = 0; + var_0A = param_03 / param_01 / var_08; + while(var_09 < param_03) + { + var_06.alpha = var_09; + var_09 = var_09 + var_0A; + wait(var_08); + } + } + + var_06.alpha = param_03; + wait(param_00 - param_01 + param_02); + if(param_02 > 0) + { + var_09 = param_03; + var_0B = param_03 / param_02 / var_08; + while(var_09 > 0) + { + var_06.alpha = var_09; + var_09 = var_09 - var_0B; + wait(var_08); + } + } + + var_06.alpha = 0; + var_06 destroy(); +} + +//Function Number: 36 +lighting_setup_off_zip() +{ + common_scripts\utility::flag_wait("sun_shad_off_zip"); + if(level.nextgen) + { + level.player setclutforplayer("clut_fusion_street",1); + } + + if(isusinghdr()) + { + level.player lightsetforplayer("fusion_default_exterior_lightset"); + } + + if(level.currentgen) + { + maps\_utility::vision_set_fog_changes("fusion_battle_exterior_golden",10); + } + + thread fusion_fastzip_quake(); +} + +//Function Number: 37 +fusion_fastzip_quake() +{ + earthquake(0.2,1,level.player.origin,1600); +} + +//Function Number: 38 +setup_lighting_courtyard_start() +{ + if(level.nextgen) + { + common_scripts\utility::flag_wait("courtyard_start_lighting"); + maps\_utility::vision_set_fog_changes("fusion_neutral",0.25); + level.player setclutforplayer("clut_fusion_street",0.1); + } +} + +//Function Number: 39 +exposure_adjust_courtyard_room() +{ + if(level.nextgen) + { + var_00 = getentarray("exposure_adjust_courtyard_room_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread exposure_adjust_courtyard_room_volume(); + } + } +} + +//Function Number: 40 +exposure_adjust_courtyard_room_volume() +{ + if(level.nextgen) + { + for(;;) + { + self waittill("trigger"); + if(isusinghdr()) + { + level.player lightsetforplayer("fusion_courtyard"); + } + + maps\_utility::vision_set_fog_changes("fusion_neutral_fogfar",5); + while(level.player istouching(self)) + { + wait(0.1); + } + + if(isusinghdr()) + { + level.player lightsetforplayer("fusion_default_exterior_lightset"); + } + + maps\_utility::vision_set_fog_changes("fusion_neutral",5); + } + } +} + +//Function Number: 41 +setup_dof_enter_turret() +{ + setsaveddvar("r_dof_physical_bokehenable",1); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + } + + setsaveddvar("r_mbCameraRotationInfluence","1"); +} + +//Function Number: 42 +setup_dof_exit_turret() +{ + setsaveddvar("r_dof_physical_bokehenable",0); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + } + + setsaveddvar("r_mbCameraRotationInfluence","0"); +} + +//Function Number: 43 +setup_lighting_security_start() +{ + common_scripts\utility::flag_wait("security_room_player_start"); + wait(0.5); + level.player lightsetforplayer("fusion_security_lightset"); + maps\_utility::vision_set_fog_changes("fusion_security",0.05); + level.player setclutforplayer("clut_fusion_security",0.1); + thread maps\_lighting::lerp_spot_intensity("fusion_security_elevator_light",1,150000); + thread setup_turbine_room_outerspace_lighting(); + if(level.currentgen == 1) + { + setsaveddvar("r_dlightLimit",2); + } +} + +//Function Number: 44 +setup_dof_security() +{ + if(level.currentgen == 1) + { + setsaveddvar("r_dlightLimit",2); + } + + var_00 = getentarray("security_area_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_dof_security_volume(); + } +} + +//Function Number: 45 +setup_dof_security_volume() +{ + for(;;) + { + self waittill("trigger"); + var_00 = getent("fusion_security_elevator_light","targetname"); + var_00 setlightshadowstate("force_on"); + thread setup_turbine_room_outerspace_lighting(); + while(level.player istouching(self)) + { + wait(0.1); + } + + var_00 setlightshadowstate("normal"); + } +} + +//Function Number: 46 +setup_elevator_security_light() +{ + common_scripts\utility::flag_wait("burke_facing_elevator"); + thread maps\_lighting::lerp_spot_intensity("fusion_security_elevator_light",1,85000); +} + +//Function Number: 47 +elevator_fall_dof_tweaks() +{ + common_scripts\utility::flag_wait("elevator_descent_player"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + } + + wait(2.5); + wait(2.5); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + setsaveddvar("r_mbCameraRotationInfluence","0"); + } +} + +//Function Number: 48 +setup_lighting_lab_start() +{ + common_scripts\utility::flag_wait("lab_player_start"); + wait(0.5); + level.player lightsetforplayer("fusion_lab_lightset"); + maps\_utility::vision_set_fog_changes("fusion_lab",0.05); + level.player setclutforplayer("clut_fusion_lab",0.1); + thread setup_turbine_room_outerspace_lighting(); +} + +//Function Number: 49 +setup_lab_script_volume() +{ + var_00 = getentarray("lab_entrance_lighting_script_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread lab_script_volume(); + } +} + +//Function Number: 50 +lab_script_volume() +{ + for(;;) + { + self waittill("trigger"); + setsaveddvar("Sm_spotlightscoreradiuspower",0.8); + var_00 = getent("lab_warm_light_01","targetname"); + var_00 setlightshadowstate("force_on"); + } +} + +//Function Number: 51 +setup_lab_script_exit_volume() +{ + var_00 = getentarray("lab_exit_lighting_script_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread lab_script_exit_volume(); + } +} + +//Function Number: 52 +lab_script_exit_volume() +{ + for(;;) + { + self waittill("trigger"); + setsaveddvar("Sm_spotlightscoreradiuspower",0.6); + var_00 = getent("lab_warm_light_01","targetname"); + var_00 setlightshadowstate("normal"); + } +} + +//Function Number: 53 +setup_lighting_reactor_start() +{ + if(level.nextgen) + { + common_scripts\utility::flag_wait("reactor_player_start"); + wait(0.5); + level.player lightsetforplayer("fusion_locker_room_lightset"); + maps\_utility::vision_set_fog_changes("fusion_locker_room",0.05); + level.player setclutforplayer("clut_fusion_lab",0.1); + } + + thread setup_turbine_room_outerspace_lighting(); +} + +//Function Number: 54 +lighting_setup_reactor_door() +{ + var_00 = getentarray("reactor_door_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread lighting_setup_reactor_door_volume(); + } +} + +//Function Number: 55 +lighting_setup_reactor_door_volume() +{ + for(;;) + { + self waittill("trigger"); + thread maps\_lighting::lerp_spot_intensity("fusion_airlock_open_light",1,0); + thread maps\_lighting::lerp_spot_intensity("fusion_reactor_airlock_screen_light",1,20); + var_00 = getent("fusion_airlock_open_light","targetname"); + var_00 setlightshadowstate("force_on"); + while(level.player istouching(self)) + { + wait(0.1); + } + + var_00 setlightshadowstate("normal"); + } +} + +//Function Number: 56 +reactor_reveal_lighting() +{ + common_scripts\utility::flag_wait("reactor_room_reveal_scene"); + thread maps\_lighting::lerp_spot_intensity("fusion_airlock_open_light",1,45000); + wait(8); + level.player lightsetforplayer("fusion_reactor_door_lightset"); + if(level.nextgen) + { + wait(8); + level.player lightsetforplayer("fusion_reactor_lightset"); + maps\_utility::vision_set_fog_changes("fusion_reactor",8); + } +} + +//Function Number: 57 +setup_lighting_reactor_exit_start() +{ + common_scripts\utility::flag_wait("reactor_exit_player_start"); + wait(0.5); + if(level.currentgen == 1) + { + setsaveddvar("r_dlightLimit",2); + } + + level.player lightsetforplayer("fusion_pre_elevator_lightset"); + maps\_utility::vision_set_fog_changes("fusion_loading_area",0.5); + level.player setclutforplayer("clut_fusion_reactor",0.1); + thread setup_turbine_room_outerspace_lighting(); +} + +//Function Number: 58 +setup_lights_pre_elevator() +{ + wait(0.5); + var_00 = getent("elevator_control","targetname"); + var_01 = getent("pre_elevator_omni_teal","targetname"); + var_02 = getent("pre_elevator_omni_white","targetname"); + var_01 setlightshadowstate("force_off"); + var_02 setlightshadowstate("force_off"); + thread maps\_lighting::lerp_spot_intensity("elevator_start_fill_light",1,1000); + thread maps\_lighting::lerp_spot_color("elevator_start_fill_light",1,(0.9,0.6,0.3)); + common_scripts\utility::flag_wait("elevator_ascend"); + thread maps\_lighting::lerp_spot_intensity("elevator_start_fill_light",0.25,0); + thread scripted_fx_on_struct("turbine_room_elevator_monitor_01_fx","fus_light_elevator_monitor",var_00,"turbine_room_combat_start"); +} + +//Function Number: 59 +lighting_setup_turbine_elevator() +{ + var_00 = getentarray("turbine_elevator_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread lighting_setup_turbine_elevator_volume(); + } +} + +//Function Number: 60 +lighting_setup_turbine_elevator_volume() +{ + for(;;) + { + self waittill("trigger"); + var_00 = getent("elevator_control","targetname"); + if(level.nextgen == 1) + { + } + + common_scripts\utility::flag_wait("elevator_ascend"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + } + + level.player lightsetforplayer("fusion_elevator_dark_lightset"); + if(level.nextgen) + { + common_scripts\_exploder::exploder(3466); + } + + if(level.currentgen == 1) + { + setsaveddvar("r_dlightLimit",2); + } + + common_scripts\utility::flag_wait("turbine_room_combat_start"); + if(level.nextgen) + { + common_scripts\_exploder::kill_exploder(3466); + } + + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + } + } +} + +//Function Number: 61 +setup_lighting_turbine_start() +{ + common_scripts\utility::flag_wait("turbine_room_player_start"); + wait(0.5); + if(level.currentgen == 1) + { + setsaveddvar("r_dlightLimit",2); + } + + level.player lightsetforplayer("fusion_elevator_to_turbine_lightset"); + maps\_utility::vision_set_fog_changes("fusion_turbines_reveal",3); + if(level.nextgen) + { + level.player setclutforplayer("clut_fusion_turbine",0.1); + } + + thread maps\_lighting::lerp_spot_intensity("turbine_main_key_01",1,1200000); + thread maps\_lighting::lerp_spot_intensity("turbine_main_key_02",1,1200000); + thread maps\_lighting::lerp_spot_intensity("turbine_main_key_03",1,1200000); + thread maps\_lighting::lerp_spot_intensity("turbine_back_problem_light_01",3,70000); + thread maps\_lighting::lerp_spot_intensity("turbine_back_problem_light_02",3,70000); + thread setup_turbine_room_outerspace_lighting(); +} + +//Function Number: 62 +setup_turbine_room_outerspace_lighting() +{ + var_00 = common_scripts\utility::getstruct("outerspace_lighting_dark","targetname"); + enableouterspacemodellighting(var_00.origin,(1E-06,1E-06,1E-06)); +} + +//Function Number: 63 +setup_turbine_room_pulsing_lights() +{ + common_scripts\utility::flag_wait("turbine_room_combat_start"); + thread maps\_lighting::play_pulse_preset("turbine_pulse","turbine_emergency_light_01"); + thread maps\_lighting::play_pulse_preset("turbine_pulse","turbine_emergency_light_02"); + thread maps\_lighting::play_pulse_preset("turbine_pulse","turbine_emergency_light_03"); + thread maps\_lighting::play_pulse_preset("turbine_pulse","turbine_emergency_light_04"); + thread maps\_lighting::play_pulse_preset("turbine_pulse","turbine_emergency_light_05"); + thread maps\_lighting::play_pulse_preset("turbine_pulse","turbine_emergency_light_06"); + thread maps\_lighting::play_pulse_preset("turbine_pulse","turbine_emergency_light_07"); + thread maps\_lighting::play_pulse_preset("turbine_pulse","turbine_emergency_light_08"); + thread maps\_lighting::play_pulse_preset("turbine_pulse","turbine_emergency_light_09"); + thread maps\_lighting::play_pulse_preset("turbine_pulse","turbine_emergency_light_10"); + thread maps\_lighting::play_pulse_preset("turbine_pulse","turbine_emergency_light_11"); + thread maps\_lighting::play_pulse_preset("turbine_pulse","turbine_emergency_light_12"); +} + +//Function Number: 64 +setup_lighting_fly_drone_turbine() +{ + wait(0.5); + maps\_utility::vision_set_fog_changes("fusion_turbines_drone",0.1); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + setsaveddvar("r_dof_physical_bokehenable",1); + } +} + +//Function Number: 65 +setup_lighting_fly_drone_off_turbine() +{ + wait(0.5); + maps\_utility::vision_set_fog_changes("fusion_turbines",0.1); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + setsaveddvar("r_mbCameraRotationInfluence","0"); + setsaveddvar("r_dof_physical_bokehenable",0); + } +} + +//Function Number: 66 +setup_lighting_control_room_start() +{ + common_scripts\utility::flag_wait("control_room_entrance_player_start"); + wait(1); + maps\_utility::vision_set_fog_changes("fusion_offices",0.5); + if(level.nextgen) + { + level.player setclutforplayer("clut_fusion_lab",0.1); + } + + if(level.currentgen) + { + setsaveddvar("r_dlightLimit",2); + } + + level.player lightsetforplayer("fusion_default_interior_lightset"); + thread setup_turbine_room_outerspace_lighting(); +} + +//Function Number: 67 +setup_control_room_door_explosion_light() +{ + common_scripts\utility::flag_wait("control_room_explosion"); + var_00 = getentarray("control_room_door_explosion_light","script_noteworthy"); + foreach(var_02 in var_00) + { + if(level.nextgen == 1) + { + var_02 setlightintensity(40000); + continue; + } + + var_02 setlightintensity(4000); + } +} + +//Function Number: 68 +setup_control_room_screen_light() +{ + self endon("death"); + common_scripts\utility::flag_wait("control_room_explosion"); + maps\_lighting::play_flickerlight_preset("static_screen","control_room_static_screen",300000); +} + +//Function Number: 69 +setup_control_room_player_start() +{ + common_scripts\utility::flag_wait("control_room_player_start"); + level.player lightsetforplayer("fusion_screen_control_room_lightset"); + maps\_utility::vision_set_fog_changes("fusion_control_room_dark",0.5); + level.player setclutforplayer("clut_fusion_control_room",0.1); +} + +//Function Number: 70 +setup_control_room_scene_dof() +{ + common_scripts\utility::flag_wait("control_room_console_used"); + if(level.nextgen) + { + var_00 = getent("control_room_static_screen","targetname"); + var_00 setlightfovrange(60,30); + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + setsaveddvar("r_dof_physical_bokehenable",1); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(3,61); + } + + common_scripts\utility::flag_wait("flag_shut_down_reactor_failed"); + if(level.nextgen) + { + var_00 = getent("control_room_static_screen","targetname"); + var_00 setlightfovrange(110,40); + setsaveddvar("r_mbEnable","0"); + setsaveddvar("r_mbCameraRotationInfluence","0"); + setsaveddvar("r_dof_physical_bokehenable",0); + level.player disablephysicaldepthoffieldscripting(); + } +} + +//Function Number: 71 +sun_shad_exposure_control_room() +{ + common_scripts\utility::flag_wait("start_control_room_exit_lighting"); + maps\_utility::vision_set_fog_changes("fusion_control_room",0.5); + level.player setclutforplayer("clut_fusion_hangar",0.1); + if(level.currentgen == 1) + { + setsaveddvar("r_dlightLimit",2); + } + + level.player lightsetforplayer("fusion_control_room_exit_lightset"); + thread setup_fusion_finale_light_flicker(); +} + +//Function Number: 72 +tonemapkey_call_control_room() +{ + var_00 = getentarray("tonemapkey_control_room_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread tonemapkey_control_room_volume(); + } +} + +//Function Number: 73 +tonemapkey_control_room_volume() +{ + for(;;) + { + self waittill("trigger"); + disableouterspacemodellighting(); + while(level.player istouching(self)) + { + wait(0.1); + } + } +} + +//Function Number: 74 +setup_firelight_explosion_hangar() +{ + common_scripts\utility::flag_wait("hangar_enemies"); + common_scripts\utility::flag_waitopen("dialogue_playing"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + } + + wait(1); + maps\_lighting::play_flickerlight_motion_preset("fusion_hangar_fire","fusion_hangar_firelight"); + wait(3); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + setsaveddvar("r_mbCameraRotationInfluence","0"); + } +} + +//Function Number: 75 +enable_motion_blur_cooling_tower_explosions() +{ + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + } + + wait(4.5); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + setsaveddvar("r_mbCameraRotationInfluence","0"); + } +} + +//Function Number: 76 +tonemapkey_call() +{ + var_00 = getentarray("tonemapkey_cooling_towers_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread tonemapkey_cooling_towers_volume(); + } +} + +//Function Number: 77 +tonemapkey_cooling_towers_volume() +{ + for(;;) + { + self waittill("trigger"); + while(level.player istouching(self)) + { + wait(0.1); + } + } +} + +//Function Number: 78 +sun_shad_cooling_tower_area() +{ + common_scripts\utility::flag_wait("cooling_tower_cart_explosion_lighting"); + wait(1.25); + level.player lightsetforplayer("fusion_cooling_towers_post_lightset"); +} + +//Function Number: 79 +sun_shad_cooling_tower_start() +{ + common_scripts\utility::flag_wait("player_start_cooling_tower"); + if(level.currentgen == 0) + { + level.player lightsetforplayer("fusion_cooling_towers_start_lightset"); + } + else + { + setsaveddvar("sm_sunsamplesizenear",0.38); + } + + level.player setclutforplayer("clut_fusion_cooling_towers",0.1); + thread setup_fusion_finale_light_flicker(); +} + +//Function Number: 80 +setup_fusion_finale_arm_rimlight() +{ + common_scripts\utility::flag_wait("collapse_start"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + } + + level.player setclutforplayer("clut_fusion_collapse",0.1); + level.player lightsetforplayer("fusion_cooling_towers_collapse_lightset"); + setsaveddvar("sm_spotlightscoremodelscale",1); + maps\_utility::vision_set_fog_changes("fusion_cooling_towers_collapse",5); + common_scripts\utility::flag_wait("tower_knockback"); + if(isusinghdr()) + { + level.player lightsetforplayer("fusion_cooling_towers_collapse_lightset"); + } + + wait(2); + wait(12); + maps\_utility::vision_set_fog_changes("fusion_cooling_towers_collapse_after",5); + wait(5); + wait(16.5); + if(isusinghdr()) + { + level.player lightsetforplayer("fusion_arm_sequence_lightset"); + } + + wait(1); + wait(1); + wait(14); + if(isusinghdr()) + { + level.player lightsetforplayer("fusion_cooling_towers_collapse_veil_off_lightset"); + } +} + +//Function Number: 81 +setup_fusion_finale_arm_fx() +{ + common_scripts\utility::flag_wait("tower_knockback"); + wait(34); + common_scripts\_exploder::exploder(6036); + wait(23); + maps\_utility::pauseexploder(6036); +} + +//Function Number: 82 +firelight_volume() +{ + maps\_lighting::play_flickerlight_preset("fire","fire_flicker"); +} + +//Function Number: 83 +firelight_volume2() +{ + maps\_lighting::play_flickerlight_preset("fire","fire_flicker"); +} + +//Function Number: 84 +hide_fusion_street_lights_off() +{ + self endon("death"); + common_scripts\utility::flag_wait("evacuation_started"); + var_00 = getentarray("fusion_light_flicker_off","script_noteworthy"); + var_01 = getentarray("fusion_light_flicker_off1","script_noteworthy"); + var_02 = getentarray("fusion_light_flicker_off2","script_noteworthy"); + var_00 hide(); + var_01 hide(); + var_02 hide(); +} + +//Function Number: 85 +setup_fusion_finale_light_flicker() +{ + self endon("death"); + var_00 = getentarray("fusion_finale_light_flicker","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 setlightintensity(200000); + } + + common_scripts\utility::flag_wait("collapse_start"); + var_04 = 5; + var_05 = 0; + var_06 = randomfloatrange(0.05,0.1); + while(var_05 < var_04) + { + common_scripts\_exploder::exploder(6026); + foreach(var_02 in var_00) + { + var_02 setlightintensity(200000); + } + + wait(var_06); + foreach(var_02 in var_00) + { + var_02 setlightintensity(0.5); + } + + var_05++; + wait(var_06); + } + + maps\_utility::pauseexploder(6026); +} + +//Function Number: 86 +setup_fusion_finale_lightgrid() +{ + common_scripts\utility::flag_wait("tower_knockback"); + wait(30); + setsaveddvar("r_lightgridenabletweaks","1"); + if(level.nextgen == 1) + { + maps\_utility::lerp_saveddvar("r_lightgridintensity",0.15,4); + } +} + +//Function Number: 87 +setup_fusion_finale_light_rim_fov() +{ + common_scripts\utility::flag_wait("tower_knockback"); + var_00 = getentarray("fusion_finale_light_rim","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 setlightfovrange(45,25); + wait(36); + var_02 setlightfovrange(30,20); + wait(18); + var_02 setlightfovrange(65,55); + } +} + +//Function Number: 88 +setup_fusion_finale_light_rim() +{ + self endon("death"); + thread setup_fusion_finale_light_rim_fov(); + common_scripts\utility::flag_wait("tower_knockback"); + var_00 = getentarray("fusion_finale_light_rim","script_noteworthy"); + foreach(var_02 in var_00) + { + wait(18); + var_02 setlightintensity(300000); + } + + var_04 = 999; + var_05 = 0; + var_06 = randomfloatrange(0.05,1.5); + while(var_05 < var_04) + { + foreach(var_02 in var_00) + { + var_02 thread maps\_lights::changelightcolorto((30.1,28.81,25.51),0.5,0.05,0.35); + } + + wait(var_06); + foreach(var_02 in var_00) + { + var_02 thread maps\_lights::changelightcolorto((0.5,0.5,0.5),0.65,0.45,0.05); + } + + wait(var_06); + foreach(var_02 in var_00) + { + var_02 thread maps\_lights::changelightcolorto((0.75,0.75,0.75),0.5,0.05,0.35); + } + + var_05++; + wait(var_06); + } +} + +//Function Number: 89 +setup_fusion_finale_helicopter_light() +{ + common_scripts\utility::flag_wait("tower_knockback"); + wait(10); + thread maps\_lighting::lerp_spot_intensity("fusion_finale_helicopter_light",1,20000000); + maps\_lighting::play_flickerlight_preset("finale_heli_light","fusion_finale_helicopter_light",20000000); +} + +//Function Number: 90 +setup_fusion_light_model_flicker() +{ + self endon("death"); + level endon("collapse_animation_started"); + common_scripts\utility::flag_wait("evacuation_started"); + var_00 = getentarray("fusion_light_flicker_off","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 hide(); + } + + common_scripts\_exploder::exploder(1666); + common_scripts\_exploder::exploder(1668); + common_scripts\_exploder::exploder(1669); + common_scripts\utility::flag_wait("collapse_start"); + var_04 = getentarray("fusion_light_flicker_on","script_noteworthy"); + var_05 = 3; + var_06 = 0; + var_07 = randomfloatrange(0.1,0.25); + common_scripts\_exploder::exploder(1667); + while(var_06 < var_05) + { + common_scripts\_exploder::exploder(1666); + foreach(var_02 in var_04) + { + var_02 show(); + } + + foreach(var_0B in var_00) + { + var_0B hide(); + } + + wait(var_07); + maps\_utility::stop_exploder(1666); + foreach(var_02 in var_04) + { + var_02 hide(); + } + + foreach(var_0B in var_00) + { + var_0B show(); + } + + var_06++; + wait(var_07); + } +} + +//Function Number: 91 +setup_fusion_light_model_flicker2() +{ + self endon("death"); + level endon("collapse_animation_started"); + common_scripts\utility::flag_wait("evacuation_started"); + var_00 = getentarray("fusion_light_flicker_off2","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 hide(); + } + + common_scripts\utility::flag_wait("collapse_start"); + var_04 = getentarray("fusion_light_flicker_on2","script_noteworthy"); + var_05 = 5; + var_06 = 0; + var_07 = randomfloatrange(0.1,0.25); + common_scripts\_exploder::exploder(1667); + while(var_06 < var_05) + { + common_scripts\_exploder::exploder(1668); + foreach(var_02 in var_04) + { + var_02 show(); + } + + foreach(var_0B in var_00) + { + var_0B hide(); + } + + wait(var_07); + maps\_utility::stop_exploder(1668); + foreach(var_02 in var_04) + { + var_02 hide(); + } + + foreach(var_0B in var_00) + { + var_0B show(); + } + + var_06++; + wait(var_07); + } +} + +//Function Number: 92 +setup_fusion_light_model_flicker3() +{ + self endon("death"); + level endon("collapse_animation_started"); + common_scripts\utility::flag_wait("evacuation_started"); + var_00 = getentarray("fusion_light_flicker_off3","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 hide(); + } + + common_scripts\utility::flag_wait("collapse_start"); + var_04 = getentarray("fusion_light_flicker_on3","script_noteworthy"); + var_05 = 4; + var_06 = 0; + var_07 = randomfloatrange(0.1,0.25); + common_scripts\_exploder::exploder(1667); + while(var_06 < var_05) + { + common_scripts\_exploder::exploder(1669); + foreach(var_02 in var_04) + { + var_02 show(); + } + + foreach(var_0B in var_00) + { + var_0B hide(); + } + + wait(var_07); + maps\_utility::stop_exploder(1669); + foreach(var_02 in var_04) + { + var_02 hide(); + } + + foreach(var_0B in var_00) + { + var_0B show(); + } + + var_06++; + wait(var_07); + } +} + +//Function Number: 93 +scripted_fx_on_struct(param_00,param_01,param_02,param_03) +{ + var_04 = common_scripts\utility::getstruct(param_00,"targetname"); + if(!isdefined(param_03) && !isdefined(param_02)) + { + if(isdefined(var_04.angles)) + { + playfx(common_scripts\utility::getfx(param_01),var_04.origin,anglestoforward(var_04.angles),anglestoup(var_04.angles)); + return; + } + + playfx(common_scripts\utility::getfx(param_01),var_04.origin); + return; + } + + var_05 = common_scripts\utility::spawn_tag_origin(); + var_05.origin = var_04.origin; + if(isdefined(var_04.angles)) + { + var_05.angles = var_04.angles; + } + + if(isdefined(param_02)) + { + var_05 linkto(param_02); + } + + playfxontag(common_scripts\utility::getfx(param_01),var_05,"tag_origin"); + if(isdefined(param_03)) + { + common_scripts\utility::flag_wait(param_03); + stopfxontag(common_scripts\utility::getfx(param_01),var_05,"tag_origin"); + var_05 delete(); + } +} + +//Function Number: 94 +debug_show_org() +{ + self endon("death"); + wait 0.05; +} + +//Function Number: 95 +motion_blur_rotation_enable() +{ + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + } + + setsaveddvar("r_mbCameraRotationInfluence","1"); +} + +//Function Number: 96 +autofocus_hipenable() +{ + common_scripts\utility::flag_wait("flag_autofocus_on"); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",1); + } + + level.player disablephysicaldepthoffieldscripting(); + setsaveddvar("r_dof_physical_hipEnable",1); + setsaveddvar("r_dof_physical_hipFstop",0.2); + setsaveddvar("r_dof_physical_hipSharpCocDiameter",0.03); + common_scripts\utility::flag_waitopen("flag_autofocus_on"); + setsaveddvar("r_dof_physical_hipEnable",0); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",0); + } +} \ No newline at end of file diff --git a/AW/PC/maps/fusion_precache.gsc b/AW/PC/maps/fusion_precache.gsc new file mode 100644 index 0000000..72adc79 --- /dev/null +++ b/AW/PC/maps/fusion_precache.gsc @@ -0,0 +1,33 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: fusion_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:30:11 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + common_scripts\utility::add_destructible_type_function("computer_01_destp",::destructible_scripts\computer_01_destp::main); + common_scripts\utility::add_destructible_type_function("powerbox_112x64_01_green_destp",::destructible_scripts\powerbox_112x64_01_green_destp::main); + destructible_scripts\computer_01_destp::main(); + destructible_scripts\powerbox_112x64_01_green_destp::main(); + vehicle_scripts\_atlas_jet::main("atlas_fighter_jet",undefined,"script_vehicle_atlas_jet"); + vehicle_scripts\_cover_drone::main("vehicle_mobile_cover",undefined,"script_vehicle_cover_drone"); + vehicle_scripts\_gaz::main("vehicle_mil_gaz_ai",undefined,"script_vehicle_mil_gaz_ai_turret"); + vehicle_scripts\_mi17::main("vehicle_mil_mi17",undefined,"script_vehicle_mil_mi17"); + vehicle_scripts\_pdrone::main("vehicle_pdrone",undefined,"script_vehicle_pdrone"); + vehicle_scripts\_pdrone::main("vehicle_pdrone_kva",undefined,"script_vehicle_pdrone_kva"); + vehicle_scripts\_pdrone_player::main("vehicle_atlas_assault_drone",undefined,"script_vehicle_pdrone_player"); + vehicle_scripts\_walker_tank::main("vehicle_walker_tank",undefined,"script_vehicle_walker_tank"); + vehicle_scripts\_x4walker_wheels::main("vehicle_x4walker_wheels",undefined,"script_vehicle_x4walker_wheels"); + vehicle_scripts\_x4walker_wheels_turret::main("vehicle_npc_x4walkerSplit_wheels",undefined,"script_vehicle_x4walker_wheels_turret_explosive"); + vehicle_scripts\_xh9_warbird::main("vehicle_xh9_warbird",undefined,"script_vehicle_xh9_warbird"); + vehicle_scripts\_xh9_warbird::main("vehicle_xh9_warbird_low",undefined,"script_vehicle_xh9_warbird_low"); + vehicle_scripts\_xh9_warbird::main("vehicle_xh9_warbird_low",undefined,"script_vehicle_xh9_warbird_low_no_turret_no_zipline"); + vehicle_scripts\_xh9_warbird::main("vehicle_xh9_warbird",undefined,"script_vehicle_xh9_warbird_no_turret"); + vehicle_scripts\_xh9_warbird::main("vehicle_xh9_warbird_stealth",undefined,"script_vehicle_xh9_warbird_stealth"); +} \ No newline at end of file diff --git a/AW/PC/maps/fusion_utility.gsc b/AW/PC/maps/fusion_utility.gsc new file mode 100644 index 0000000..370a25b --- /dev/null +++ b/AW/PC/maps/fusion_utility.gsc @@ -0,0 +1,837 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: fusion_utility.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 48 + * Decompile Time: 736 ms + * Timestamp: 4/22/2024 2:30:14 AM +*******************************************************************/ + +//Function Number: 1 +delete_spawners(param_00) +{ + if(!isarray(param_00)) + { + param_00 = [param_00]; + } + + foreach(var_02 in param_00) + { + foreach(var_04 in getentarray(var_02,"script_noteworthy")) + { + if(isspawner(var_04)) + { + var_04 delete(); + } + } + } +} + +//Function Number: 2 +spawn_metrics_init_for_noteworthy(param_00) +{ + if(!isdefined(level.spawn_metrics_spawn_count)) + { + level.spawn_metrics_spawn_count = []; + } + + if(!isdefined(level.spawn_metrics_death_count)) + { + level.spawn_metrics_death_count = []; + } + + maps\_utility::array_spawn_function_noteworthy(param_00,::spawn_metrics_spawn_func); + foreach(var_02 in getentarray(param_00,"script_noteworthy")) + { + if(!isspawner(var_02) && isalive(var_02)) + { + var_02 spawn_metrics_spawn_func(); + } + } +} + +//Function Number: 3 +spawn_metrics_spawn_func() +{ + if(isdefined(self.script_noteworthy)) + { + if(isdefined(level.spawn_metrics_spawn_count[self.script_noteworthy])) + { + level.spawn_metrics_spawn_count[self.script_noteworthy] = level.spawn_metrics_spawn_count[self.script_noteworthy] + 1; + } + else + { + level.spawn_metrics_spawn_count[self.script_noteworthy] = 1; + } + + thread spawn_metrics_death_watcher(); + } +} + +//Function Number: 4 +spawn_metrics_death_watcher() +{ + var_00 = self.script_noteworthy; + self waittill("death"); + if(isdefined(level.spawn_metrics_death_count[var_00])) + { + level.spawn_metrics_death_count[var_00] = level.spawn_metrics_death_count[var_00] + 1; + return; + } + + level.spawn_metrics_death_count[var_00] = 1; +} + +//Function Number: 5 +spawn_metrics_number_spawned(param_00) +{ + if(isarray(param_00)) + { + var_01 = 0; + foreach(var_03 in param_00) + { + var_01 = var_01 + spawn_metrics_number_spawned(var_03); + } + + return var_01; + } + + if(isdefined(level.spawn_metrics_spawn_count[var_04])) + { + return level.spawn_metrics_spawn_count[var_04]; + } + + return 0; +} + +//Function Number: 6 +spawn_metrics_number_died(param_00) +{ + if(isarray(param_00)) + { + var_01 = 0; + foreach(var_03 in param_00) + { + var_01 = var_01 + spawn_metrics_number_died(var_03); + } + + return var_01; + } + + if(isdefined(level.spawn_metrics_death_count[var_04])) + { + return level.spawn_metrics_death_count[var_04]; + } + + return 0; +} + +//Function Number: 7 +spawn_metrics_number_alive(param_00) +{ + return spawn_metrics_number_spawned(param_00) - spawn_metrics_number_died(param_00); +} + +//Function Number: 8 +spawn_metrics_waittill_count_reaches(param_00,param_01,param_02) +{ + if(!isarray(param_01)) + { + param_01 = [param_01]; + } + + waittillframeend; + for(;;) + { + var_03 = 0; + foreach(var_05 in param_01) + { + var_03 = var_03 + spawn_metrics_number_alive(var_05); + } + + if(var_03 <= param_00) + { + break; + } + + wait(1); + } +} + +//Function Number: 9 +spawn_metrics_waittill_deaths_reach(param_00,param_01,param_02) +{ + if(!isarray(param_01)) + { + param_01 = [param_01]; + } + + for(;;) + { + var_03 = 0; + foreach(var_05 in param_01) + { + var_03 = var_03 + spawn_metrics_number_died(var_05); + } + + if(var_03 >= param_00) + { + break; + } + + wait(1); + } +} + +//Function Number: 10 +goto_node(param_00,param_01,param_02) +{ + self endon("stop_goto_node"); + if(!isdefined(param_02)) + { + param_02 = 16; + } + + maps\_utility::set_goal_radius(param_02); + if(isstring(param_00)) + { + var_03 = getnode(param_00,"script_noteworthy"); + } + else + { + var_03 = param_01; + } + + if(isdefined(var_03)) + { + maps\_utility::set_goal_node(var_03); + } + else + { + var_03 = common_scripts\utility::getstruct(param_00,"script_noteworthy"); + maps\_utility::set_goal_pos(var_03.origin); + } + + if(param_01) + { + self waittill("goal"); + } +} + +//Function Number: 11 +disable_grenades() +{ + if(isdefined(self.grenadeammo) && !isdefined(self.oldgrenadeammo)) + { + self.oldgrenadeammo = self.grenadeammo; + } + + self.grenadeammo = 0; +} + +//Function Number: 12 +enable_grenades() +{ + if(isdefined(self.oldgrenadeammo)) + { + self.grenadeammo = self.oldgrenadeammo; + self.oldgrenadeammo = undefined; + } +} + +//Function Number: 13 +equip_microwave_grenade() +{ + self.grenadeweapon = "microwave_grenade"; + self.grenadeammo = 2; +} + +//Function Number: 14 +bloody_death(param_00) +{ + self endon("death"); + if(!issentient(self) || !isalive(self)) + { + return; + } + + if(isdefined(self.bloody_death) && self.bloody_death) + { + return; + } + + self.bloody_death = 1; + if(isdefined(param_00)) + { + wait(randomfloat(param_00)); + } + + var_01 = []; + var_01[0] = "j_hip_le"; + var_01[1] = "j_hip_ri"; + var_01[2] = "j_head"; + var_01[3] = "j_spine4"; + var_01[4] = "j_elbow_le"; + var_01[5] = "j_elbow_ri"; + var_01[6] = "j_clavicle_le"; + var_01[7] = "j_clavicle_ri"; + for(var_02 = 0;var_02 < 3 + randomint(5);var_02++) + { + var_03 = randomintrange(0,var_01.size); + thread bloody_death_fx(var_01[var_03],undefined); + wait(randomfloat(0.1)); + } + + self dodamage(self.health + 50,self.origin); +} + +//Function Number: 15 +bloody_death_fx(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = level._effect["flesh_hit"]; + } + + playfxontag(param_01,self,param_00); +} + +//Function Number: 16 +teleport_to_scriptstruct(param_00) +{ + var_01 = common_scripts\utility::getstruct(param_00,"script_noteworthy"); + level.player setorigin(var_01.origin); + if(isdefined(var_01.angles)) + { + level.player setplayerangles(var_01.angles); + } + + var_02 = getentarray("hero","script_noteworthy"); + foreach(var_04 in var_02) + { + if(isspawner(var_04)) + { + var_02 = common_scripts\utility::array_remove(var_02,var_04); + } + } + + var_06 = common_scripts\utility::getstructarray(var_01.target,"targetname"); + for(var_07 = 0;var_07 < var_02.size;var_07++) + { + if(var_07 < var_06.size) + { + var_02[var_07] forceteleport(var_06[var_07].origin,var_06[var_07].angles); + var_02[var_07] setgoalpos(var_06[var_07].origin); + continue; + } + + var_02[var_07] forceteleport(level.player.origin,level.player.angles); + var_02[var_07] setgoalpos(level.player.origin); + } +} + +//Function Number: 17 +kill_path_on_death() +{ + wait_to_kill_path(); + self notify("newpath"); +} + +//Function Number: 18 +wait_to_kill_path() +{ + self endon("death"); + self endon("driver dead"); + level waittill("eternity"); +} + +//Function Number: 19 +disable_awareness() +{ + self.ignoreall = 1; + self.dontmelee = 1; + self.ignoresuppression = 1; + self.suppressionwait_old = self.suppressionwait; + self.suppressionwait = 0; + maps\_utility::disable_surprise(); + self.ignorerandombulletdamage = 1; + maps\_utility::disable_bulletwhizbyreaction(); + maps\_utility::disable_pain(); + self.grenadeawareness = 0; + self.ignoreme = 1; + maps\_utility::enable_dontevershoot(); + self.disablefriendlyfirereaction = 1; + self.dodangerreact = 0; +} + +//Function Number: 20 +enable_awareness() +{ + self.ignoreall = 0; + self.dontmelee = undefined; + self.ignoresuppression = 0; + self.suppressionwait = self.suppressionwait_old; + self.suppressionwait_old = undefined; + maps\_utility::enable_surprise(); + self.ignorerandombulletdamage = 0; + maps\_utility::enable_bulletwhizbyreaction(); + maps\_utility::enable_pain(); + self.grenadeawareness = 1; + self.ignoreme = 0; + maps\_utility::disable_dontevershoot(); + self.disablefriendlyfirereaction = undefined; + self.dodangerreact = 1; +} + +//Function Number: 21 +hide_friendname_until_flag_or_notify(param_00) +{ + if(!isdefined(self.name)) + { + return; + } + + level.player endon("death"); + self endon("death"); + self.old_name = self.name; + self.name = " "; + level waittill(param_00); + self.name = self.old_name; +} + +//Function Number: 22 +ignore_badplace(param_00,param_01) +{ + self endon("death"); + if(isdefined(param_00)) + { + common_scripts\utility::flag_wait(param_00); + } + + self.old_bp_awareness = self.badplaceawareness; + self.badplaceawareness = 0; + if(isdefined(param_01)) + { + common_scripts\utility::flag_wait(param_01); + self.badplaceawareness = self.old_bp_awareness; + } +} + +//Function Number: 23 +print3duntilnotify(param_00,param_01,param_02,param_03,param_04,param_05) +{ + self endon(param_05); + wait(0.05); +} + +//Function Number: 24 +printorigin3duntilnotify(param_00,param_01,param_02,param_03,param_04) +{ + self endon(param_04); + wait(0.05); +} + +//Function Number: 25 +delete_on_notify(param_00) +{ + level waittill(param_00); + self delete(); +} + +//Function Number: 26 +run_thread_on_notify(param_00,param_01,param_02) +{ + if(isdefined(param_02)) + { + self endon(param_02); + } + + self waittill(param_01); + self thread [[ param_00 ]](); +} + +//Function Number: 27 +hint_button_string_lookup_fus(param_00) +{ + switch(param_00) + { + case "activate": + case "usereload": + case "use": + case "reload": + case "x": + return "^3[{+activate}]^7"; + + case "gostand": + case "jump": + case "a": + return "^3[{+gostand}]^7"; + + case "weapnext": + case "y": + return "^3[{weapnext}]^7"; + + case "stance": + case "crouch": + case "b": + return "^3[{+stance}]^7"; + + case "melee": + return "^3[{+melee}]^7"; + + case "pause": + case "start": + return "^3[{pause}]^7"; + + default: + break; + } +} + +//Function Number: 28 +hint_button_clear_fus() +{ + if(isdefined(self.deleteobjectwhendone) && self.deleteobjectwhendone) + { + self.object delete(); + } + + self destroy(); +} + +//Function Number: 29 +point_is_in_screen_circle(param_00,param_01,param_02) +{ + return vectordot(vectornormalize(param_00 - param_01 geteye()),anglestoforward(param_01 getplayerangles())) > cos(param_02); +} + +//Function Number: 30 +player_in_mt() +{ + return isdefined(level.player.drivingvehicleandturret); +} + +//Function Number: 31 +is_sonar_vision_allowed() +{ + var_00 = level.player getcurrentweapon(); + if(weaponhasthermalscope(var_00) && level.player playerads() > 0) + { + return 0; + } + + return 1; +} + +//Function Number: 32 +disable_sonar_when_not_allowed() +{ + level.player endon("sonar_vision_off"); + for(;;) + { + if(!is_sonar_vision_allowed()) + { + break; + } + + wait 0.05; + } + + sonar_off(); +} + +//Function Number: 33 +thermal_with_nvg() +{ + level endon("flag_end_sonar_vision"); + var_00 = undefined; + var_01 = undefined; + var_02 = undefined; + for(;;) + { + self waittill("sonar_vision"); + if(!is_sonar_vision_allowed()) + { + continue; + } + + if(!isdefined(level.player.sonar_vision) || !level.player.sonar_vision) + { + sonar_on(); + childthread disable_sonar_when_not_allowed(); + continue; + } + + sonar_off(); + } +} + +//Function Number: 34 +sonar_save_and_set_dvars() +{ + if(!isdefined(level.player.sonarvisionsaveddvars)) + { + level.player.sonarvisionsaveddvars = []; + } + + level.player.sonarvisionsaveddvars["r_hudoutlineenable"] = getdvarint("r_hudoutlineenable",1); + level.player.sonarvisionsaveddvars["r_hudoutlinepostmode"] = getdvar("r_hudoutlinepostmode",0); + level.player.sonarvisionsaveddvars["r_hudoutlinehaloblurradius"] = getdvarfloat("r_hudoutlinehaloblurradius",1); + level.player.sonarvisionsaveddvars["r_hudoutlinehalolumscale"] = getdvarfloat("r_hudoutlinehalolumscale",1); + level.player.sonarvisionsaveddvars["r_hudoutlinehalowhen"] = getdvar("r_hudoutlinehalowhen",1); + setsaveddvar("r_hudoutlineenable",1); + setsaveddvar("r_hudoutlinepostmode",2); + setsaveddvar("r_hudoutlinehaloblurradius",0.7); + setsaveddvar("r_hudoutlinehalolumscale",2); + setsaveddvar("r_hudoutlinehalowhen",0); + level.player.sonarvisionsaveddvars["r_ssrBlendScale"] = getdvarfloat("r_ssrBlendScale",1); + setsaveddvar("r_ssrBlendScale",0); +} + +//Function Number: 35 +sonar_reset_dvars() +{ + if(isdefined(level.player.sonarvisionsaveddvars)) + { + setsaveddvar("r_hudoutlineenable",level.player.sonarvisionsaveddvars["r_hudoutlineenable"]); + setsaveddvar("r_hudoutlinepostmode",level.player.sonarvisionsaveddvars["r_hudoutlinepostmode"]); + setsaveddvar("r_hudoutlinehaloblurradius",level.player.sonarvisionsaveddvars["r_hudoutlinehaloblurradius"]); + setsaveddvar("r_hudoutlinehalolumscale",level.player.sonarvisionsaveddvars["r_hudoutlinehalolumscale"]); + setsaveddvar("r_hudoutlinehalowhen",level.player.sonarvisionsaveddvars["r_hudoutlinehalowhen"]); + setsaveddvar("r_ssrBlendScale",level.player.sonarvisionsaveddvars["r_ssrBlendScale"]); + } +} + +//Function Number: 36 +sonar_on() +{ + level.overlaysonar = create_hud_sonar_overlay(0,1); + sonar_save_and_set_dvars(); + thread mark_enemies(); + var_00 = 0.05; + level.player lightsetoverrideenableforplayer("sanfran_b_sonar_vision",var_00); + level.player setclutoverrideenableforplayer("clut_sonar",var_00); + soundscripts\_snd::snd_message("aud_sonar_vision_on"); + level.player.sonar_vision = 1; + level notify("sonar_update"); +} + +//Function Number: 37 +sonar_off() +{ + var_00 = 0.05; + level.player lightsetoverrideenableforplayer(var_00); + level.player setclutoverridedisableforplayer(var_00); + soundscripts\_snd::snd_message("aud_sonar_vision_off"); + level.player.sonar_vision = 0; + level notify("sonar_update"); + if(isdefined(level.overlay)) + { + level.overlay destroy(); + } + + if(isdefined(level.overlaythreat)) + { + level.overlaythreat destroy(); + } + + if(isdefined(level.overlaysonar)) + { + level.overlaysonar destroy(); + } + + sonar_reset_dvars(); + foreach(var_02 in getaiarray("axis","allies")) + { + if(isdefined(var_02.hudoutlineenabledbysonarvision)) + { + var_02 hudoutlinedisable(); + var_02.hudoutlineenabledbysonarvision = undefined; + } + } + + level.player notify("sonar_vision_off"); +} + +//Function Number: 38 +mark_enemies() +{ + level.player endon("sonar_vision_off"); + for(;;) + { + foreach(var_01 in getaiarray("axis")) + { + var_01 hudoutlineenable(1,1,0); + var_01.hudoutlineenabledbysonarvision = 1; + } + + foreach(var_04 in getaiarray("allies")) + { + var_04 hudoutlineenable(2,1,0); + var_04.hudoutlineenabledbysonarvision = 1; + } + + wait(0.1); + } +} + +//Function Number: 39 +create_hud_sonar_overlay(param_00,param_01) +{ + var_02 = newhudelem(); + var_02.x = 0; + var_02.y = 0; + if(level.currentgen) + { + var_02.color = (1,0.6,0.2); + } + else + { + var_02.color = (0.1,0.1,1); + } + + var_02.sort = param_00; + var_02.horzalign = "fullscreen"; + var_02.vertalign = "fullscreen"; + var_02.alpha = param_01; + var_02 setsonarvision(10); + return var_02; +} + +//Function Number: 40 +should_end_sonar_hint() +{ + return isdefined(level.player.sonar_vision) && level.player.sonar_vision; +} + +//Function Number: 41 +should_end_pdrone_hint() +{ + if(common_scripts\utility::flag("turbine_room_stop_combat") || common_scripts\utility::flag("flag_player_using_drone")) + { + return 1; + } + + return 0; +} + +//Function Number: 42 +should_end_pdrone_fail_hint() +{ + if(common_scripts\utility::flag("turbine_room_stop_combat") || common_scripts\utility::flag("flag_player_using_drone")) + { + return 1; + } + + return 0; +} + +//Function Number: 43 +spawn_player_drone_think() +{ + level endon("turbine_room_stop_combat"); + for(;;) + { + level.player waittill("use_drone"); + while(level.player isjumping()) + { + wait 0.05; + } + + if(deploy_check_player_in_elevator_think()) + { + break; + } + else + { + wait(0.25); + maps\_utility::hintdisplaymintimehandler("drone_deploy_fail_prompt",2); + wait(1); + if(common_scripts\utility::flag("drone_deploy_prompt_displayed")) + { + maps\_utility::hintdisplaymintimehandler("drone_deploy_prompt",8); + } + } + } + + if(common_scripts\utility::flag("player_drone_attack_done") == 0) + { + common_scripts\utility::flag_set("player_drone_start"); + level notify("player_drone_start"); + thread spawn_turbine_enemies_tidal_wave(); + thread force_exit_turbine_combat_complete(); + common_scripts\utility::flag_set("flag_player_using_drone"); + thread player_drone_manager(); + } +} + +//Function Number: 44 +deploy_check_player_in_elevator_think() +{ + var_00 = undefined; + if(common_scripts\utility::flag("player_is_in_turbine_room")) + { + return vehicle_scripts\_pdrone_player::pdrone_deploy_check(70,undefined,10); + } + + return vehicle_scripts\_pdrone_player::pdrone_deploy_check(180,undefined,40); +} + +//Function Number: 45 +spawn_turbine_enemies_tidal_wave() +{ + maps\_utility::activate_trigger("turbine_room_combat_spawn_trigger","script_noteworthy"); + common_scripts\utility::flag_set("turbine_room_all_enemies"); +} + +//Function Number: 46 +player_drone_manager() +{ + common_scripts\utility::flag_set("player_drone_start"); + level notify("player_drone_start"); + level.player setweaponhudiconoverride("actionslot1","dpad_icon_drone_off"); + maps\_player_exo::player_exo_deactivate(); + player_drone_control(); + maps\_player_exo::player_exo_activate(); + common_scripts\utility::flag_clear("flag_player_using_drone"); + common_scripts\utility::flag_set("player_drone_attack_done"); +} + +//Function Number: 47 +player_drone_control() +{ + var_00 = getent("pdrone_player_spawner","targetname"); + var_01 = common_scripts\utility::getstruct("pdrone_turbine_in_elevator_safe_spawn","targetname"); + if(common_scripts\utility::flag("player_is_in_turbine_room")) + { + var_02 = vehicle_scripts\_pdrone_player::pdrone_deploy(var_00,0,var_01); + } + else + { + var_02 = vehicle_scripts\_pdrone_player::pdrone_deploy(var_01,0); + } + + vehicle_scripts\_pdrone_player::pdrone_player_use(var_02,"player_drone_airspace_turbine",undefined,undefined); + var_02 vehicle_scripts\_pdrone_player::pdrone_player_add_vehicle_target("script_noteworthy","training_s2_patio_vehicles"); + thread maps\fusion_lighting::setup_lighting_fly_drone_turbine(); + level.player.drone = var_02; + var_02 vehicle_scripts\_pdrone_player::pdrone_player_enter(1); + soundscripts\_snd::snd_message("rec_player_drone_start",var_02); + var_02 vehicle_scripts\_pdrone_player::pdrone_player_loop(); + soundscripts\_snd::snd_message("rec_player_drone_end"); + thread maps\fusion_lighting::setup_lighting_fly_drone_off_turbine(); + var_02 vehicle_scripts\_pdrone_player::pdrone_player_exit(1); + var_02 delete(); +} + +//Function Number: 48 +force_exit_turbine_combat_complete() +{ + waittillframeend; + var_00 = getaiarray("axis"); + maps\_utility::waittill_dead_or_dying(var_00); + common_scripts\utility::flag_set("flag_turbine_pdrone_combat_complete"); + wait(2); + level.player.drone vehicle_scripts\_pdrone_player::pdrone_player_force_exit(); +} \ No newline at end of file diff --git a/AW/PC/maps/fusion_vo.gsc b/AW/PC/maps/fusion_vo.gsc new file mode 100644 index 0000000..e55494c --- /dev/null +++ b/AW/PC/maps/fusion_vo.gsc @@ -0,0 +1,925 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: fusion_vo.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 51 + * Decompile Time: 727 ms + * Timestamp: 4/22/2024 2:30:16 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setup_vo(); + init_dialogue_flags(); + thread start_dialogue_threads(); +} + +//Function Number: 2 +setup_vo() +{ + level.scr_radio["fus_prt_werepickingupsignaldistortion"] = "fus_prt_werepickingupsignaldistortion"; + level.scr_radio["fus_prt_bravoteambeadvised"] = "fus_prt_bravoteambeadvised"; + level.scr_radio["fus_prt_mtoperatorzuluisdown"] = "fus_prt_mtoperatorzuluisdown"; + level.scr_radio["fus_prt_twentyplusfootmobilesinboundfrom"] = "fus_prt_twentyplusfootmobilesinboundfrom"; + level.scr_radio["fus_prt_copythatbravowevegot"] = "fus_prt_copythatbravowevegot"; + level.scr_radio["fus_prt_bravowehaveanimminet"] = "fus_prt_bravowehaveanimminet"; + level.scr_radio["fus_prt_affirmativebravoone"] = "fus_prt_affirmativebravoone"; + level.scr_radio["fus_prt_bravopressurereadingsarecritical"] = "fus_prt_bravopressurereadingsarecritical"; + level.scr_radio["fus_prt_imseeingamassiveexplosion"] = "fus_prt_imseeingamassiveexplosion"; + level.scr_radio["fus_prt_allunitsgetrotorson"] = "fus_prt_allunitsgetrotorson"; + level.scr_radio["fus_prg_coderedcoderedwarning"] = "fus_prg_coderedcoderedwarning"; + level.scr_radio["fus_prg_pleaseproceedtothenearest"] = "fus_prg_pleaseproceedtothenearest"; + level.scr_radio["fus_prg_warningcontainmentairlockclosing"] = "fus_prg_warningcontainmentairlockclosing"; + level.scr_radio["fus_ch1_twoonewerebearingthreeone"] = "fus_ch1_twoonewerebearingthreeone"; + level.scr_radio["fus_ch1_negativeonthatrestrictedroe"] = "fus_ch1_negativeonthatrestrictedroe"; + level.scr_radio["fus_ch1_twofourwevegotasam"] = "fus_ch1_twofourwevegotasam"; + level.scr_radio["fus_ch1_contactcontactdeployingswarmcountermeasures"] = "fus_ch1_contactcontactdeployingswarmcountermeasures"; + level.scr_radio["fus_ch1_twofourisdowntwofouris"] = "fus_ch1_twofourisdowntwofouris"; + level.scr_radio["fus_ch1_twofivebreakpositionandprovide"] = "fus_ch1_twofivebreakpositionandprovide"; + level.scr_radio["fus_ch1_wevegothostilesinour"] = "fus_ch1_wevegothostilesinour"; + level.scr_radio["fus_ch1_goodeffectontarget"] = "fus_ch1_goodeffectontarget"; + level.scr_radio["fus_ch1_lzisclear"] = "fus_ch1_lzisclear"; + level.scr_radio["fus_ch1_weareinpositionbravo"] = "fus_ch1_weareinpositionbravo"; + level.scr_radio["fus_ch1_teamoneisondeck"] = "fus_ch1_teamoneisondeck"; + level.scr_radio["fus_ch1_bravothisiswraithtwothree"] = "fus_ch1_bravothisiswraithtwothree"; + level.scr_radio["fus_ch1_copybravooneinboundinthirty"] = "fus_ch1_copybravooneinboundinthirty"; + level.scr_radio["fus_ch1_bravowecantgetnear"] = "fus_ch1_bravowecantgetnear"; + level.scr_radio["fus_ch1_bravodoyoucopy"] = "fus_ch1_bravodoyoucopy"; + level.scr_radio["fus_ch1_bravotakecover"] = "fus_ch1_bravotakecover"; + level.scr_radio["fus_ch1_wraithtwofiveisdown"] = "fus_ch1_wraithtwofiveisdown"; + level.scr_radio["fus_ch1_ineedcasevacunitsby"] = "fus_ch1_ineedcasevacunitsby"; + level.scr_radio["fus_ch2_copytwothreewehavea"] = "fus_ch2_copytwothreewehavea"; + level.scr_radio["fus_ch3_twothreeunderstandwearestill"] = "fus_ch3_twothreeunderstandwearestill"; + level.scr_radio["fus_ch3_disengagingstealth"] = "fus_ch3_disengagingstealth"; + level.scr_radio["fus_ch3_wraithtwothreewerehitwere"] = "fus_ch3_wraithtwothreewerehitwere"; + level.scr_radio["fus_ch4_copythattwothree"] = "fus_ch4_copythattwothree"; + level.scr_radio["fus_ch4_teamtwoisdeployingover"] = "fus_ch4_teamtwoisdeployingover"; + level.scr_radio["fus_ch4_cominginhot"] = "fus_ch4_cominginhot"; + level.scr_sound["alpha_leader"]["fus_alr_welcometothepartybravo"] = "fus_alr_welcometothepartybravo"; + level.scr_radio["fus_alr_ivegottencasualtiesand"] = "fus_alr_ivegottencasualtiesand"; + level.scr_radio["fus_alr_wheresourgoddamnairsupport"] = "fus_alr_wheresourgoddamnairsupport"; + level.scr_radio["fus_alr_wevelostcontactwithbravo"] = "fus_alr_wevelostcontactwithbravo"; + level.scr_sound["burke"]["fus_gdn_prophetimgettingalot"] = "fus_gdn_prophetimgettingalot"; + level.scr_sound["burke"]["fus_gdn_rogerthateveryoneseeingthis"] = "fus_gdn_rogerthateveryoneseeingthis"; + level.scr_sound["burke"]["fus_gdn_alphateamsgotthekva"] = "fus_gdn_alphateamsgotthekva"; + level.scr_sound["burke"]["fus_gdn_thisshitendsinthe"] = "fus_gdn_thisshitendsinthe"; + level.scr_sound["burke"]["fus_gdn_getinposition"] = "fus_gdn_getinposition"; + level.scr_sound["burke"]["fus_gdn_gonnabeagoodone"] = "fus_gdn_gonnabeagoodone"; + level.scr_sound["burke"]["fus_gdn_holdon"] = "fus_gdn_holdon"; + level.scr_sound["burke"]["fus_gdn_eyesforwardnothingwecan"] = "fus_gdn_eyesforwardnothingwecan"; + level.scr_sound["burke"]["fus_gdn_letsdothis"] = "fus_gdn_letsdothis"; + level.scr_sound["burke"]["fus_gdn_roger2"] = "fus_gdn_roger2"; + level.scr_sound["burke"]["fus_gdn_mitchellhitthosetangoson"] = "fus_gdn_mitchellhitthosetangoson"; + level.scr_sound["burke"]["fus_gdn_niceshot"] = "fus_gdn_niceshot"; + level.scr_sound["burke"]["fus_gdn_tangodown"] = "fus_gdn_tangodown"; + level.scr_sound["burke"]["fus_gdn_nexttimetrytokeep"] = "fus_gdn_nexttimetrytokeep"; + level.scr_sound["burke"]["fus_gdn_zerooneout"] = "fus_gdn_zerooneout"; + level.scr_sound["burke"]["fus_gdn_mitchelldeployyourzipline"] = "fus_gdn_mitchelldeployyourzipline"; + level.scr_sound["burke"]["fus_gdn_fireyourziplinemitchell"] = "fus_gdn_fireyourziplinemitchell"; + level.scr_sound["burke"]["fus_gdn_getthehelldownhere"] = "fus_gdn_getthehelldownhere"; + level.scr_sound["burke"]["fus_gdn_rallyup"] = "fus_gdn_rallyup"; + level.scr_sound["burke"]["fus_gdn_mitchellonme"] = "fus_gdn_mitchellonme"; + level.scr_sound["burke"]["fus_gdn_mitchelloverhere"] = "fus_gdn_mitchelloverhere"; + level.scr_sound["burke"]["fus_gdn_lookslikealphaisknee"] = "fus_gdn_lookslikealphaisknee"; + level.scr_sound["burke"]["fus_gdn_moveout"] = "fus_gdn_moveout"; + level.scr_sound["burke"]["fus_gdn_copythatprophet"] = "fus_gdn_copythatprophet"; + level.scr_sound["burke"]["fus_gdn_weaponsfree"] = "fus_gdn_weaponsfree"; + level.scr_sound["burke"]["fus_gdn_alphawearebootson"] = "fus_gdn_alphawearebootson"; + level.scr_sound["burke"]["fus_gdn_mitchellparkitbehindthose"] = "fus_gdn_mitchellparkitbehindthose"; + level.scr_sound["burke"]["fus_gdn_keeppushingforward"] = "fus_gdn_keeppushingforward"; + level.scr_sound["burke"]["fus_gdn_mitchellswitchovertoyour"] = "fus_gdn_mitchellswitchovertoyour"; + level.scr_sound["burke"]["fus_gdn_switchtoyourde"] = "fus_gdn_switchtoyourde"; + level.scr_sound["burke"]["fus_gdn_prophetthekvajustrolled"] = "fus_gdn_prophetthekvajustrolled"; + level.scr_sound["burke"]["fus_gdn_thensomeonegettheirass"] = "fus_gdn_thensomeonegettheirass"; + level.scr_sound["burke"]["fus_gdn_youvegot100mmroundson"] = "fus_gdn_youvegot100mmroundson"; + level.scr_sound["burke"]["fus_gdn_yourmtisdown"] = "fus_gdn_yourmtisdown"; + level.scr_sound["burke"]["fus_gdn_takeoutthetitanwith"] = "fus_gdn_takeoutthetitanwith"; + level.scr_sound["burke"]["fus_gdn_hitthetitanwiththe"] = "fus_gdn_hitthetitanwiththe"; + level.scr_sound["burke"]["fus_gdn_mitchellgrabthatlauncherand"] = "fus_gdn_mitchellgrabthatlauncherand"; + level.scr_sound["burke"]["fus_gdn_titansdowngoodjobmitchell"] = "fus_gdn_titansdowngoodjobmitchell"; + level.scr_sound["burke"]["fus_gdn_wegottalegitto"] = "fus_gdn_wegottalegitto"; + level.scr_sound["burke"]["fus_gdn_copythat3"] = "fus_gdn_copythat3"; + level.scr_sound["burke"]["fus_gdn_soarewekeepmoving"] = "fus_gdn_soarewekeepmoving"; + level.scr_sound["burke"]["fus_gdn_moveit"] = "fus_gdn_moveit"; + level.scr_sound["burke"]["fus_gdn_contactloadingbay"] = "fus_gdn_contactloadingbay"; + level.scr_sound["burke"]["fus_gdn_mitchelltossathreatgrenade"] = "fus_gdn_mitchelltossathreatgrenade"; + level.scr_sound["burke"]["fus_gdn_theyrerabbiting"] = "fus_gdn_theyrerabbiting"; + level.scr_sound["burke"]["fus_gdn_prophetwevegotkvaextraction"] = "fus_gdn_prophetwevegotkvaextraction"; + level.scr_sound["burke"]["fus_gdn_useyouremps"] = "fus_gdn_useyouremps"; + level.scr_sound["burke"]["fus_gdn_letsgoletsgo"] = "fus_gdn_letsgoletsgo"; + level.scr_sound["burke"]["fus_gdn_wraithtwothreeweneedimmediate"] = "fus_gdn_wraithtwothreeweneedimmediate"; + level.scr_sound["burke"]["fus_gdn_pressureexplosions"] = "fus_gdn_pressureexplosions"; + level.scr_sound["burke"]["fus_gdn_headsupmoredronesincoming"] = "fus_gdn_headsupmoredronesincoming"; + level.scr_sound["burke"]["fus_gdn_youreadamnwelcomesight"] = "fus_gdn_youreadamnwelcomesight"; + level.scr_sound["burke"]["fus_gdn_copythattwothree"] = "fus_gdn_copythattwothree"; + level.scr_sound["burke"]["fus_gdn_keepmovingkeepmoving"] = "fus_gdn_keepmovingkeepmoving"; + level.scr_sound["burke"]["fus_gdn_mitchellmitchell"] = "fus_gdn_mitchellmitchell"; + level.scr_sound["burke"]["fus_gdn_wraithtwothreebravotwoisdown"] = "fus_gdn_wraithtwothreebravotwoisdown"; + level.scr_sound["burke"]["fus_gdn_holdonman"] = "fus_gdn_holdonman"; + level.scr_sound["burke"]["fus_gdn_youregoingtobealright"] = "fus_gdn_youregoingtobealright"; + level.scr_sound["burke"]["fus_gdn_weregettingyouhome"] = "fus_gdn_weregettingyouhome"; + level.scr_sound["burke"]["fus_gdn_mitchelluseyourassaultdrone"] = "fus_gdn_mitchelluseyourassaultdrone"; + level.scr_sound["burke"]["fus_gdn_keepmovingwerealmostthere"] = "fus_gdn_keepmovingwerealmostthere"; + level.scr_sound["burke"]["fus_gdn_areaclearletsmove"] = "fus_gdn_areaclearletsmove"; + level.scr_sound["burke"]["fus_gdn_wevegottogetto"] = "fus_gdn_wevegottogetto"; + level.scr_sound["carter"]["fus_ctr_zerothreeout"] = "fus_ctr_zerothreeout"; + level.scr_sound["carter"]["fus_ctr_ourdroneoperatorjusttook"] = "fus_ctr_ourdroneoperatorjusttook"; + level.scr_sound["carter"]["fus_ctr_jokerwhatsyourgeigerreading"] = "fus_ctr_jokerwhatsyourgeigerreading"; + level.scr_sound["carter"]["fus_ctr_whatthehellwasthat"] = "fus_ctr_whatthehellwasthat"; + level.scr_sound["carter"]["fus_ctr_gogo"] = "fus_ctr_gogo"; + level.scr_sound["joker"]["fus_jkr_gotit"] = "fus_jkr_gotit"; + level.scr_sound["joker"]["fus_jkr_shit"] = "fus_jkr_shit"; + level.scr_sound["joker"]["fus_jkr_theymakeit"] = "fus_jkr_theymakeit"; + level.scr_sound["joker"]["fus_jkr_yessir"] = "fus_jkr_yessir"; + level.scr_sound["joker"]["fus_jkr_grabsomecoverbehindthose"] = "fus_jkr_grabsomecoverbehindthose"; + level.scr_sound["joker"]["fus_jkr_youvegot25mmroundson"] = "fus_jkr_youvegot25mmroundson"; + level.scr_sound["joker"]["fus_jkr_tangosduginbehindthose"] = "fus_jkr_tangosduginbehindthose"; + level.scr_sound["joker"]["fus_jkr_bastardsgotatrophysystem"] = "fus_jkr_bastardsgotatrophysystem"; + level.scr_sound["joker"]["fus_jkr_gideonthatmtisstill"] = "fus_jkr_gideonthatmtisstill"; + level.scr_sound["joker"]["fus_jkr_gogogo"] = "fus_jkr_gogogo"; + level.scr_sound["joker"]["fus_jkr_gideontangosarebailinout"] = "fus_jkr_gideontangosarebailinout"; + level.scr_sound["joker"]["fus_jkr_gotalotofsmoke"] = "fus_jkr_gotalotofsmoke"; + level.scr_sound["joker"]["fus_jkr_doorsclosin"] = "fus_jkr_doorsclosin"; + level.scr_sound["joker"]["fus_jkr_weregoodjustkeepshooting"] = "fus_jkr_weregoodjustkeepshooting"; + level.scr_sound["joker"]["fus_jkr_theyreusingdronestocover"] = "fus_jkr_theyreusingdronestocover"; + level.scr_sound["joker"]["fus_jkr_dronesaredown"] = "fus_jkr_dronesaredown"; + level.scr_sound["joker"]["fus_jkr_youheardtheman"] = "fus_jkr_youheardtheman"; + level.scr_sound["joker"]["fus_jkr_goddamn2"] = "fus_jkr_goddamn2"; + level.scr_sound["joker"]["fus_jkr_theresourexfil"] = "fus_jkr_theresourexfil"; + level.scr_sound["joker"]["fus_jkr_comeon"] = "fus_jkr_comeon"; + level.scr_sound["joker"]["fus_jkr_ohshit"] = "fus_jkr_ohshit"; + level.scr_radio["fus_jkr_wherescarterwherescarter"] = "fus_jkr_wherescarterwherescarter"; + level.scr_radio["fus_jkr_itscomingdown"] = "fus_jkr_itscomingdown"; + level.scr_radio["fus_jkr_hesdeadcartersdead"] = "fus_jkr_hesdeadcartersdead"; + level.scr_sound["burke"]["fus_gdn_activateboostjump"] = "fus_gdn_activateboostjump"; + level.scr_sound["burke"]["fus_gdn_wehaveeyesonan2"] = "fus_gdn_wehaveeyesonan2"; + level.scr_sound["burke"]["fus_gdn_thereisanammocrate2"] = "fus_gdn_thereisanammocrate2"; + level.scr_sound["burke"]["fus_gdn_getmoreammoforthat2"] = "fus_gdn_getmoreammoforthat2"; + level.scr_sound["burke"]["fus_gdn_useyouroverdrive"] = "fus_gdn_useyouroverdrive"; + level.scr_sound["burke"]["fus_gdn_tossasmartgrenade"] = "fus_gdn_tossasmartgrenade"; + level.scr_sound["burke"]["fin_gdn_usesonics"] = "fin_gdn_usesonics"; + level.scr_sound["joker"]["fus_jkr_dronesaboveus"] = "fus_jkr_dronesaboveus"; + level.scr_sound["burke"]["fus_gdn_letsmove"] = "fus_gdn_letsmove"; + level.scr_sound["burke"]["fus_gdn_carteryoualright"] = "fus_gdn_carteryoualright"; + level.scr_sound["pa"]["fus_pa_warningreactorcritical"] = "fus_pa_warningreactorcritical"; + level.scr_sound["burke"]["fus_gdn_thereheis"] = "fus_gdn_thereheis"; + level.scr_sound["burke"]["fus_gdn_prophetatlasteamisevacuating"] = "fus_gdn_prophetatlasteamisevacuating"; + level.scr_sound["burke"]["fus_gdn_mitchellgetonboard"] = "fus_gdn_mitchellgetonboard"; + level.scr_sound["burke"]["fus_gdn_mitchelltheareaiscompromised"] = "fus_gdn_mitchelltheareaiscompromised"; + level.scr_sound["burke"]["fus_gdn_mitchellcomeon"] = "fus_gdn_mitchellcomeon"; + interior_prepare_dialogue(); +} + +//Function Number: 3 +interior_prepare_dialogue() +{ + var_00 = "burke"; + var_01 = "joker"; + var_02 = "carter"; + level.scr_sound[var_01]["fus_jkr_whistles"] = "fus_jkr_whistles"; + level.scr_sound[var_00]["fus_gdn_staysharp"] = "fus_gdn_staysharp"; + level.scr_radio["fus_prt_fastestaccesstothelower"] = "fus_prt_fastestaccesstothelower"; + level.scr_sound[var_00]["fus_gdn_roger3"] = "fus_gdn_roger3"; + level.scr_sound[var_01]["fus_jkr_grunt"] = "fus_jkr_grunt"; + level.scr_sound[var_00]["fus_gdn_oneatatimelets"] = "fus_gdn_oneatatimelets"; + level.scr_sound[var_01]["fus_jkr_afteryou"] = "fus_jkr_afteryou"; + level.scr_sound[var_01]["fus_jkr_youreupmitchell"] = "fus_jkr_youreupmitchell"; + level.scr_sound[var_01]["fus_jkr_letsgomitchell"] = "fus_jkr_letsgomitchell"; + level.scr_sound[var_00]["fus_gdn_clear"] = "fus_gdn_clear"; + level.scr_sound[var_00]["fus_gdn_thisway"] = "fus_gdn_thisway"; + level.scr_radio["fus_prt_bravoreactorcoretemperatureis"] = "fus_prt_bravoreactorcoretemperatureis"; + level.scr_sound[var_01]["fus_jkr_thatsbadnewsright"] = "fus_jkr_thatsbadnewsright"; + level.scr_radio["fus_prt_indicatorsarebelownormalrate"] = "fus_prt_indicatorsarebelownormalrate"; + level.scr_sound[var_00]["fus_gdn_thenwecanstillmake"] = "fus_gdn_thenwecanstillmake"; + level.scr_sound[var_01]["fus_jkr_poorbastardsdidntstanda"] = "fus_jkr_poorbastardsdidntstanda"; + level.scr_sound[var_01]["fus_jkr_goddamnmassacreinhere"] = "fus_jkr_goddamnmassacreinhere"; + level.scr_sound[var_00]["fus_gdn_keepmoving"] = "fus_gdn_keepmoving"; + level.scr_sound[var_00]["fus_gdn_junction"] = "fus_gdn_junction"; + level.scr_radio["fus_prt_headright"] = "fus_prt_headright"; + level.scr_sound[var_00]["fus_gdn_staytogether"] = "fus_gdn_staytogether"; + level.scr_sound[var_00]["fus_gdn_cartergetthisdooropen"] = "fus_gdn_cartergetthisdooropen"; + level.scr_sound[var_02]["fus_ctr_copy"] = "fus_ctr_copy"; + level.scr_sound[var_00]["fus_ctr_exertion"] = "fus_ctr_exertion"; + level.scr_sound[var_00]["fus_gdn_contact"] = "fus_gdn_contact"; + level.scr_sound[var_00]["fus_gdn_gogogo"] = "fus_gdn_gogogo"; + level.scr_radio["fus_prt_bravogetthroughthereactor"] = "fus_prt_bravogetthroughthereactor"; + level.scr_sound[var_00]["fus_gdn_tangosonthebalcony"] = "fus_gdn_tangosonthebalcony"; + level.scr_radio["fus_prt_youre300metersfromthe"] = "fus_prt_youre300metersfromthe"; + level.scr_sound[var_00]["fus_gdn_copythat2"] = "fus_gdn_copythat2"; + level.scr_radio["fus_prt_understood"] = "fus_prt_understood"; + level.scr_sound[var_02]["fus_ctr_thesedoorsarentsupposedto"] = "fus_ctr_thesedoorsarentsupposedto"; + level.scr_sound[var_01]["fus_jkr_thisaintanormalbusiness"] = "fus_jkr_thisaintanormalbusiness"; + level.scr_sound[var_00]["fus_gdn_prophetwereatthecargo"] = "fus_gdn_prophetwereatthecargo"; + level.scr_radio["fus_prt_uponefloortothe"] = "fus_prt_uponefloortothe"; + level.scr_sound[var_00]["fus_gdn_mitchellhittheswitch"] = "fus_gdn_mitchellhittheswitch"; + level.scr_sound[var_00]["fus_gdn_hitthebuttonmitchell"] = "fus_gdn_hitthebuttonmitchell"; + level.scr_sound[var_01]["fus_jkr_isthisthescenicroute"] = "fus_jkr_isthisthescenicroute"; + level.scr_radio["fus_prt_onlyavailablepath"] = "fus_prt_onlyavailablepath"; + level.scr_sound[var_01]["fus_jkr_thisisadamnkillbox"] = "fus_jkr_thisisadamnkillbox"; + level.scr_sound[var_00]["fus_gdn_deploycoveratthedoor"] = "fus_gdn_deploycoveratthedoor"; + level.scr_sound[var_01]["fus_jkr_copythat"] = "fus_jkr_copythat"; + level.scr_sound[var_00]["fus_gdn_exitsontheupperwalkway"] = "fus_gdn_exitsontheupperwalkway"; + level.scr_sound[var_01]["fus_jkr_what"] = "fus_jkr_what"; + level.scr_sound[var_00]["fus_gdn_upperwalkwaymove"] = "fus_gdn_upperwalkwaymove"; + level.scr_sound[var_01]["fus_jkr_icanthearagoddamn"] = "fus_jkr_icanthearagoddamn"; + level.scr_sound[var_00]["fus_gdn_keepmoving2"] = "fus_gdn_keepmoving2"; + level.scr_radio["fus_prt_bravooutputjustspiked"] = "fus_prt_bravooutputjustspiked"; + level.scr_sound[var_00]["fus_gdn_werealmostthere"] = "fus_gdn_werealmostthere"; + level.scr_radio["fus_prt_controlroomdeadahead"] = "fus_prt_controlroomdeadahead"; + level.scr_sound[var_00]["fus_gdn_thereitis"] = "fus_gdn_thereitis"; + level.scr_sound[var_02]["fus_ctr_painexertion"] = "fus_ctr_painexertion"; + level.scr_sound[var_01]["fus_jkr_thehelljusthappened"] = "fus_jkr_thehelljusthappened"; + level.scr_sound[var_00]["fus_gdn_theyriggedthedoor"] = "fus_gdn_theyriggedthedoor"; + level.scr_sound[var_02]["fus_ctr_imgood"] = "fus_ctr_imgood"; + level.scr_sound[var_02]["fus_gdn_thisconsoleisstilllive"] = "fus_gdn_thisconsoleisstilllive"; + level.scr_radio["fus_prt_patchinandrundiagnostics"] = "fus_prt_patchinandrundiagnostics"; + level.scr_sound[var_00]["fus_gdn_mitchellgetonthatconsole"] = "fus_gdn_mitchellgetonthatconsole"; + level.scr_sound[var_00]["fus_gdn_mitchellgetontheconsole"] = "fus_gdn_mitchellgetontheconsole"; + level.scr_sound[var_00]["fus_gdn_checkthecoolantlevelsmitchell"] = "fus_gdn_checkthecoolantlevelsmitchell"; + level.scr_sound[var_00]["fus_gdn_prophetyougotthis"] = "fus_gdn_prophetyougotthis"; + level.scr_radio["fus_prt_copy2"] = "fus_prt_copy2"; + level.scr_sound[var_00]["fus_gdn_okcoretempismaintaining"] = "fus_gdn_okcoretempismaintaining"; + level.scr_radio["fus_prt_thesteamreleaselineshave"] = "fus_prt_thesteamreleaselineshave"; + level.scr_sound[var_01]["fus_jkr_boss"] = "fus_jkr_boss"; + level.scr_sound[var_00]["fus_gdn_damnitwasstablea"] = "fus_gdn_damnitwasstablea"; + level.scr_radio["fus_prt_burkecoretemperatureiscritical"] = "fus_prt_burkecoretemperatureiscritical"; + level.scr_sound[var_00]["fus_gdn_icandothis"] = "fus_gdn_icandothis"; + level.scr_sound[var_01]["fus_jkr_burke"] = "fus_jkr_burke"; + level.scr_sound[var_00]["fus_gdn_shit"] = "fus_gdn_shit"; + level.scr_radio["fus_prt_wehavealevel7"] = "fus_prt_wehavealevel7"; + level.scr_sound[var_00]["fus_gdn_copythat3"] = "fus_gdn_copythat3"; + thread play_interior_dialogue(); +} + +//Function Number: 4 +init_dialogue_flags() +{ + common_scripts\utility::flag_init("flag_rooftop_combat_dialogue"); + common_scripts\utility::flag_init("flag_boots_on_ground_dialogue"); + common_scripts\utility::flag_init("flag_burke_rally_street_dialogue"); + common_scripts\utility::flag_init("flag_burke_rally_street_dialogue_complete"); + common_scripts\utility::flag_init("flag_launcher_ammo_gathered"); + common_scripts\utility::flag_init("flag_boost_jump_reminder_dialogue_done"); + common_scripts\utility::flag_init("flag_mcd_vo_done"); + common_scripts\utility::flag_init("squad_out_dialogue_complete"); + common_scripts\utility::flag_init("flag_bailout_vo"); + common_scripts\utility::flag_init("flag_walker_reveal_dialogue_complete"); + common_scripts\utility::flag_init("dialogue_playing"); +} + +//Function Number: 5 +start_dialogue_threads() +{ + switch(level.start_point) + { + case "default": + case "fly_in_animated": + fly_in_dialogue(); + break; + + case "fly_in_animated_part2": + fly_in_dialogue_part2(); + fly_in_rooftop_combat_dialogue(); + zip_rooftop_dialogue(); + break; + + case "courtyard": + thread burke_rally_street_dialogue(); + thread use_mobile_cover_dialogue(); + thread use_boost_jump_dialogue(); + thread m_turret_1_dead_dialogue(); + thread street_battle_dialogue(); + thread use_m_turret_dialogue(); + thread drone_guy_down_dialogue(); + thread player_enters_mobile_turret_dialogue(); + thread bail_out_of_turret_dialogue(); + thread enemy_walker_reveal_dialogue(); + break; + + case "cooling_tower": + case "control_room": + break; + + default: + break; + } +} + +//Function Number: 6 +fly_in_dialogue() +{ + wait(3.5); + wait(1); +} + +//Function Number: 7 +fly_in_dialogue_part2() +{ +} + +//Function Number: 8 +fly_in_rooftop_combat_dialogue() +{ + common_scripts\utility::flag_wait("flag_rooftop_combat_dialogue"); + radio_dialogue_queue_global("fus_ch1_wevegothostilesinour"); + level.burke dialogue_queue_global("fus_gdn_roger2"); + level.burke dialogue_queue_global("fus_gdn_mitchellhitthosetangoson"); + common_scripts\utility::flag_wait("flag_combat_zip_rooftop_complete"); + if(!common_scripts\utility::flag("player_participated_in_rooftop_fight")) + { + level.burke dialogue_queue_global("fus_gdn_nexttimetrytokeep"); + return; + } + + radio_dialogue_queue_global("fus_ch1_goodeffectontarget"); +} + +//Function Number: 9 +zip_rooftop_dialogue() +{ + common_scripts\utility::flag_wait("flag_combat_zip_rooftop_complete"); + thread zip_team_two_deployed_dialogue(); + radio_dialogue_queue_global("fus_ch1_lzisclear"); + radio_dialogue_queue_global("fus_ch1_weareinpositionbravo"); + if(!common_scripts\utility::flag("flag_player_zip_started")) + { + level.burke dialogue_queue_global("fus_gdn_letsdothis"); + } + + common_scripts\utility::flag_set("squad_out_dialogue_complete"); + thread burke_greets_alpha_dialogue(); + wait(5); + if(!common_scripts\utility::flag("flag_player_zip_started")) + { + level.burke dialogue_queue_global("fus_gdn_mitchelldeployyourzipline"); + } +} + +//Function Number: 10 +zip_team_two_deployed_dialogue() +{ + common_scripts\utility::flag_wait("flag_squad_heli_2_unload"); + radio_dialogue_queue_global("fus_ch4_teamtwoisdeployingover"); +} + +//Function Number: 11 +burke_greets_alpha_dialogue() +{ + common_scripts\utility::flag_wait("flag_boots_on_ground_dialogue"); + level.burke dialogue_queue_global("fus_gdn_alphawearebootson"); + soundscripts\_snd::snd_music_message("mus_fusion_welcome_to_the_party"); + if(level.nextgen) + { + level.alpha_leader dialogue_queue_global("fus_alr_welcometothepartybravo"); + } +} + +//Function Number: 12 +burke_rally_street_dialogue() +{ + common_scripts\utility::flag_wait("flag_burke_rally_street_dialogue"); + level.burke dialogue_queue_global("fus_gdn_rallyup"); + level.burke dialogue_queue_global("fus_gdn_lookslikealphaisknee"); + level.joker dialogue_queue_global("fus_jkr_yessir"); + level.burke dialogue_queue_global("fus_gdn_moveout"); + level.burke dialogue_queue_global("fus_gdn_weaponsfree"); + common_scripts\utility::flag_set("flag_burke_rally_street_dialogue_complete"); +} + +//Function Number: 13 +use_mobile_cover_dialogue() +{ + level.player endon("player_linked_to_cover"); + common_scripts\utility::flag_wait_all("flag_street_wall_1_explode","flag_burke_rally_street_dialogue_complete","flag_boost_jump_reminder_dialogue_done"); + if(!common_scripts\utility::flag("flag_mt_move_up_03")) + { + level.burke dialogue_queue_global("fus_gdn_mitchellparkitbehindthose"); + } + + common_scripts\utility::flag_set("flag_mcd_vo_done"); + wait(4); + if(!common_scripts\utility::flag("flag_mt_move_up_03")) + { + level.joker dialogue_queue_global("fus_jkr_grabsomecoverbehindthose"); + } +} + +//Function Number: 14 +use_boost_jump_dialogue() +{ + common_scripts\utility::flag_wait_all("flag_obj_markers","flag_burke_rally_street_dialogue_complete"); + wait(4); + level.burke dialogue_queue_global("fus_gdn_activateboostjump"); + common_scripts\utility::flag_set("flag_boost_jump_reminder_dialogue_done"); +} + +//Function Number: 15 +drone_guy_down_dialogue() +{ + common_scripts\utility::flag_wait("flag_player_enters_mobile_turret"); + if(!common_scripts\utility::flag("flag_enemy_walker")) + { + common_scripts\utility::flag_wait_or_timeout("flag_spawn_gaz_01",10); + level.carter dialogue_queue_global("fus_ctr_ourdroneoperatorjusttook"); + } +} + +//Function Number: 16 +m_turret_1_dead_dialogue() +{ + common_scripts\utility::flag_wait("flag_m_turret_dead"); + wait(2); + radio_dialogue_queue_global("fus_prt_mtoperatorzuluisdown"); +} + +//Function Number: 17 +street_battle_dialogue() +{ + common_scripts\utility::flag_wait("flag_enemy_reinforcements_big_wave"); + radio_dialogue_queue_global("fus_prt_twentyplusfootmobilesinboundfrom"); + common_scripts\utility::flag_wait_or_timeout("flag_slow_explosions_1",20); + level.burke dialogue_queue_global("fus_gdn_keeppushingforward"); +} + +//Function Number: 18 +use_m_turret_dialogue() +{ + common_scripts\utility::flag_wait("flag_mt_move_up_03"); + level endon("flag_player_starts_entering_mobile_turret"); + level.joker maps\_utility::dialogue_queue("fus_jkr_gideonthatmtisstill"); + level.burke maps\_utility::dialogue_queue("fus_gdn_thensomeonegettheirass"); +} + +//Function Number: 19 +player_enters_mobile_turret_dialogue() +{ + common_scripts\utility::flag_wait("flag_player_enters_mobile_turret"); +} + +//Function Number: 20 +bail_out_of_turret_dialogue() +{ + level endon("street_cleanup"); + common_scripts\utility::flag_wait("flag_bailout_vo"); + level.burke dialogue_queue_global("fus_gdn_yourmtisdown"); + common_scripts\utility::flag_clear("flag_bailout_vo"); +} + +//Function Number: 21 +enemy_walker_reveal_dialogue() +{ + common_scripts\utility::flag_wait("flag_enemy_walker"); + wait(3); + if(common_scripts\utility::flag("player_in_x4walker")) + { + common_scripts\utility::flag_waitopen("flag_bailout_vo"); + wait(1); + } + + level.burke dialogue_queue_global("fus_gdn_prophetthekvajustrolled"); + maps\_utility::delaythread(2,::common_scripts\utility::flag_set,"flag_walker_reveal_dialogue_complete"); + radio_dialogue_queue_global("fus_prt_copythatbravowevegot"); + if(!maps\_utility::player_has_weapon("smaw_nolock_fusion")) + { + level.burke dialogue_queue_global("fus_gdn_mitchellgrabthatlauncherand"); + } + + thread hit_enemy_walker_nag(); + thread walker_trophy_system_dialogue(); + thread enemy_walker_destroyed_dialogue(); + common_scripts\utility::flag_wait("flag_launcher_out_of_ammo"); + if(!common_scripts\utility::flag("flag_walker_destroyed")) + { + thread walker_ammo_crate_nag(); + } +} + +//Function Number: 22 +walker_trophy_system_dialogue() +{ + common_scripts\utility::flag_wait("walker_trophy_1"); + wait(0.5); + level.joker dialogue_queue_global("fus_jkr_bastardsgotatrophysystem"); +} + +//Function Number: 23 +walker_ammo_crate_nag() +{ + level endon("flag_walker_death_anim_start"); + wait(4); + level.burke maps\_utility::dialogue_queue("fus_gdn_wehaveeyesonan2"); + var_00 = ["fus_gdn_thereisanammocrate2","fus_gdn_getmoreammoforthat2"]; + thread maps\_shg_utility::dialogue_reminder(level.burke,"flag_launcher_ammo_gathered",var_00,5,10); +} + +//Function Number: 24 +hit_enemy_walker_nag() +{ + level endon("flag_walker_death_anim_start"); + var_00 = ["fus_gdn_takeoutthetitanwith","fus_gdn_hitthetitanwiththe"]; + maps\_shg_utility::dialogue_reminder(level.burke,"flag_launcher_out_of_ammo",var_00,20,30); + common_scripts\utility::flag_wait("flag_launcher_ammo_gathered"); + maps\_shg_utility::dialogue_reminder(level.burke,"flag_walker_death_anim_start",var_00,20,30); +} + +//Function Number: 25 +enemy_walker_destroyed_dialogue() +{ + common_scripts\utility::flag_wait("flag_walker_destroyed"); + wait(1); + level.burke dialogue_queue_global("fus_gdn_titansdowngoodjobmitchell"); + wait(1); + radio_dialogue_queue_global("fus_prt_bravoteambeadvised"); + level.burke dialogue_queue_global("fus_gdn_copythatprophet"); + level.burke dialogue_queue_global("fus_gdn_wegottalegitto"); +} + +//Function Number: 26 +play_interior_dialogue() +{ + thread vo_interior_security_room(); + thread vo_interior_lab(); + thread vo_interior_reactor(); + thread vo_interior_turbine_elevator(); + thread vo_interior_turbine_room(); + thread vo_interior_control_room_explosion(); + thread vo_interior_control_room(); + thread vo_tower_debris_radio_chatter(); + thread vo_fus_silo_collapse_burke(); +} + +//Function Number: 27 +vo_interior_security_room() +{ + common_scripts\utility::flag_wait("vo_security_room"); + wait(1); + level.burke maps\_utility::dialogue_queue("fus_gdn_staysharp"); + common_scripts\utility::flag_wait("vo_security_room_elevator_access"); + level maps\_utility::dialogue_queue("fus_prt_fastestaccesstothelower"); + level.burke maps\_utility::dialogue_queue("fus_gdn_roger3"); + common_scripts\utility::flag_wait("vo_security_room_elevator_open"); + wait(1.5); + level.joker maps\_utility::dialogue_queue("fus_jkr_grunt"); + wait(1); + if(!common_scripts\utility::flag("elevator_descent_player")) + { + level.burke maps\_utility::dialogue_queue("fus_gdn_oneatatimelets"); + thread vo_elevator_descent_nag(); + } +} + +//Function Number: 28 +vo_elevator_descent_nag() +{ + level endon("elevator_descent_player"); + while(!common_scripts\utility::flag("elevator_descent_player")) + { + wait(10); + level.joker maps\_utility::dialogue_queue("fus_jkr_afteryou"); + wait(10); + level.joker maps\_utility::dialogue_queue("fus_jkr_youreupmitchell"); + wait(10); + level.joker maps\_utility::dialogue_queue("fus_jkr_letsgomitchell"); + } +} + +//Function Number: 29 +vo_interior_lab() +{ + common_scripts\utility::flag_wait("vo_lab_elevator_slide_complete"); + level.burke maps\_utility::dialogue_queue("fus_gdn_clear"); + wait(1); + level.burke maps\_utility::dialogue_queue("fus_gdn_thisway"); + wait(1); + level maps\_utility::dialogue_queue("fus_prt_bravoreactorcoretemperatureis"); + level.joker maps\_utility::dialogue_queue("fus_jkr_thatsbadnewsright"); + level maps\_utility::dialogue_queue("fus_prt_indicatorsarebelownormalrate"); + level.burke maps\_utility::dialogue_queue("fus_gdn_thenwecanstillmake"); + common_scripts\utility::flag_wait("vo_lab_entered"); + if(common_scripts\utility::cointoss()) + { + level.joker maps\_utility::dialogue_queue("fus_jkr_poorbastardsdidntstanda"); + } + else + { + level.joker maps\_utility::dialogue_queue("fus_jkr_goddamnmassacreinhere"); + } + + level.burke maps\_utility::dialogue_queue("fus_gdn_keepmoving"); + common_scripts\utility::flag_wait("vo_lab_junction"); + level.burke maps\_utility::dialogue_queue("fus_gdn_junction"); + level maps\_utility::dialogue_queue("fus_prt_headright"); + level.burke maps\_utility::dialogue_queue("fus_gdn_staytogether"); +} + +//Function Number: 30 +vo_interior_reactor() +{ + common_scripts\utility::flag_wait("vo_reactor_open_airlock"); + level.burke maps\_utility::dialogue_queue("fus_gdn_cartergetthisdooropen"); + level.carter maps\_utility::dialogue_queue("fus_ctr_copy"); + common_scripts\utility::flag_wait("vo_reactor_entrance"); + wait(9); + level.burke maps\_utility::dialogue_queue("fus_ctr_exertion"); + wait(3); + level.burke maps\_utility::dialogue_queue("fus_gdn_contact"); + common_scripts\utility::flag_wait("vo_reactor_gogogo"); + level.burke maps\_utility::dialogue_queue("fus_gdn_gogogo"); + common_scripts\utility::flag_wait("vo_reactor_quickly"); + level maps\_utility::dialogue_queue("fus_prt_bravogetthroughthereactor"); + level.burke maps\_utility::dialogue_queue("fus_gdn_tangosonthebalcony"); + common_scripts\utility::flag_wait("reactor_drones_1"); + wait(2); + level.joker maps\_utility::dialogue_queue("fus_jkr_dronesaboveus"); + common_scripts\utility::flag_wait("vo_reactor_300m"); + level maps\_utility::dialogue_queue("fus_prt_youre300metersfromthe"); + level.burke maps\_utility::dialogue_queue("fus_gdn_copythat2"); + level maps\_utility::dialogue_queue("fus_prt_understood"); + common_scripts\utility::flag_wait("vo_reactor_exit"); +} + +//Function Number: 31 +vo_interior_turbine_elevator() +{ + common_scripts\utility::flag_wait("vo_turbine_elevator_near"); + level.burke maps\_utility::dialogue_queue("fus_gdn_prophetwereatthecargo"); + level maps\_utility::dialogue_queue("fus_prt_uponefloortothe"); + common_scripts\utility::flag_wait("vo_turbine_elevator_ready"); + thread vo_interior_turbine_elevator_nag(); + common_scripts\utility::flag_wait("vo_turbine_elevator"); + wait(1); + level.burke maps\_utility::dialogue_queue("fus_gdn_deploycoveratthedoor"); + common_scripts\utility::flag_set("joker_place_elevator_cover"); + level.joker maps\_utility::dialogue_queue("fus_jkr_copythat"); + common_scripts\utility::flag_wait("turbine_room_combat_start"); + level.burke maps\_utility::dialogue_queue("fus_gdn_mitchelluseyourassaultdrone"); +} + +//Function Number: 32 +vo_interior_turbine_elevator_nag() +{ + level endon("vo_turbine_elevator"); + for(;;) + { + level.burke maps\_utility::dialogue_queue("fus_gdn_mitchellhittheswitch"); + wait(randomintrange(5,10)); + level.burke maps\_utility::dialogue_queue("fus_gdn_hitthebuttonmitchell"); + wait(randomintrange(5,10)); + } +} + +//Function Number: 33 +vo_interior_turbine_room() +{ + common_scripts\utility::flag_wait("vo_turbine_room_entrance"); + thread vo_turbine_room_clear(); + level.burke maps\_utility::dialogue_queue("fus_gdn_exitsontheupperwalkway"); + level.joker maps\_utility::dialogue_queue("fus_jkr_what"); + level.burke maps\_utility::dialogue_queue("fus_gdn_upperwalkwaymove"); + level.joker maps\_utility::dialogue_queue("fus_jkr_icanthearagoddamn"); + common_scripts\utility::flag_wait("vo_turbine_keep_moving"); + level.burke maps\_utility::dialogue_queue("fus_gdn_keepmovingwerealmostthere"); + common_scripts\utility::flag_wait("vo_turbine_explosion"); + level maps\_utility::dialogue_queue("fus_prt_bravooutputjustspiked"); + level.burke maps\_utility::dialogue_queue("fus_gdn_werealmostthere"); +} + +//Function Number: 34 +vo_turbine_room_clear() +{ + level endon("player_drone_attack_done"); + common_scripts\utility::flag_wait("flag_turbine_pdrone_combat_complete"); + wait(1); + level.burke maps\_utility::dialogue_queue("fus_gdn_areaclearletsmove"); + wait(1); + level.burke maps\_utility::dialogue_queue("fus_gdn_wevegottogetto"); +} + +//Function Number: 35 +vo_interior_control_room_explosion() +{ + common_scripts\utility::flag_wait("vo_control_hall_door_stack"); + maps\_utility::autosave_by_name("control_room_start"); + level maps\_utility::dialogue_queue("fus_prt_controlroomdeadahead"); + common_scripts\utility::flag_wait("vo_control_hall_door_kicked"); + level.burke maps\_utility::dialogue_queue("fus_gdn_thereitis"); + common_scripts\utility::flag_wait("vo_control_room_explosion"); + wait(0.1); + level.carter maps\_utility::dialogue_queue("fus_ctr_painexertion"); + wait(1.2); + level.burke maps\_utility::dialogue_queue("fus_gdn_carteryoualright"); + level.carter maps\_utility::dialogue_queue("fus_ctr_imgood"); + level.joker maps\_utility::dialogue_queue("fus_jkr_thehelljusthappened"); + level.burke maps\_utility::dialogue_queue("fus_gdn_theyriggedthedoor"); + wait(0.5); + wait(4); + level.carter maps\_utility::dialogue_queue("fus_gdn_thisconsoleisstilllive"); + level maps\_utility::dialogue_queue("fus_prt_patchinandrundiagnostics"); + common_scripts\utility::flag_set("update_obj_pos_control_room_console"); + common_scripts\utility::flag_set("control_room_console_enable"); + thread vo_interior_control_room_nag(); +} + +//Function Number: 36 +vo_interior_control_room_nag() +{ + level endon("vo_control_room_scene"); + for(;;) + { + level.burke maps\_utility::dialogue_queue("fus_gdn_mitchellgetonthatconsole"); + common_scripts\utility::flag_wait("control_room_scene_ready"); + wait(randomintrange(5,10)); + level.burke maps\_utility::dialogue_queue("fus_gdn_mitchellgetontheconsole"); + wait(randomintrange(5,10)); + level.burke maps\_utility::dialogue_queue("fus_gdn_checkthecoolantlevelsmitchell"); + wait(randomintrange(5,10)); + } +} + +//Function Number: 37 +vo_interior_control_room() +{ + common_scripts\utility::flag_wait("vo_control_room_scene"); + wait(16.5); + level notify("control_room_event_1"); + wait(3.4); + level notify("control_room_event_2"); + wait(3.4); + level notify("control_room_event_3"); + wait(1.7); + maps\_utility::autosave_by_name("control_room_complete"); + wait(3); + level waittill("fusion_controlroom_dialog_done"); + common_scripts\utility::flag_set("shutdown_reactor_failed"); + self notify("control_room_scene_complete"); + common_scripts\utility::flag_wait("raise_control_room_emergency_exit_door"); + wait(1); + level maps\_utility::dialogue_queue("fus_pa_warningreactorcritical"); +} + +//Function Number: 38 +vo_tower_debris_radio_chatter() +{ + common_scripts\utility::flag_wait("tower_debris"); + soundscripts\_snd::snd_music_message("mus_ending"); + level maps\_utility::delaythread(4,::maps\_utility::dialogue_queue,"fus_alr_ivegottencasualtiesand"); + level maps\_utility::delaythread(10,::maps\_utility::dialogue_queue,"fus_ch1_wraithtwofiveisdown"); + level maps\_utility::delaythread(14,::maps\_utility::dialogue_queue,"fus_prt_allunitsgetrotorson"); + level maps\_utility::delaythread(20,::maps\_utility::dialogue_queue,"fus_jkr_hesdeadcartersdead"); + level maps\_utility::delaythread(25,::maps\_utility::dialogue_queue,"fus_alr_wheresourgoddamnairsupport"); + level maps\_utility::delaythread(28,::maps\_utility::dialogue_queue,"fus_alr_wevelostcontactwithbravo"); + level maps\_utility::delaythread(31,::maps\_utility::dialogue_queue,"fus_ch1_ineedcasevacunitsby"); +} + +//Function Number: 39 +vo_fus_silo_collapse_burke() +{ + common_scripts\utility::flag_wait("tower_debris"); + level.burke maps\_utility::delaythread(16,::maps\_utility::dialogue_queue,"fus_gdn_thereheis"); + level.burke maps\_utility::delaythread(21,::maps\_utility::dialogue_queue,"fus_gdn_prophetatlasteamisevacuating"); + level.burke maps\_utility::delaythread(27,::maps\_utility::dialogue_queue,"fus_gdn_mitchellcomeon"); +} + +//Function Number: 40 +init_pcap_vo() +{ + if(level.nextgen) + { + init_pcap_vo_intro(); + init_pcap_vo_outro(); + return; + } + + if(istransientloaded("fusion_intro_tr")) + { + init_pcap_vo_intro(); + level waittill("tff_post_transition_middle_to_outro"); + init_pcap_vo_outro(); + return; + } + + if(istransientloaded("fusion_outro_tr")) + { + init_pcap_vo_outro(); + return; + } +} + +//Function Number: 41 +init_pcap_vo_intro() +{ + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%fusion_fly_in_intro_burke,"aud_fusion_fly_in_intro_burke_start",::pcap_vo_fus_intro_burke); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%fusion_fly_in_pt2_burke,"aud_start_fusion_fly_in_pt2",::pcap_vo_fus_intro_panama_burke); +} + +//Function Number: 42 +init_pcap_vo_outro() +{ + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%fusion_control_room_burke,"aud_start_fusion_controlroom_dialog",::pcap_vo_fus_control_room_burke); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%fusion_control_room_npc_b,"aud_start_fusion_controlroom_dialog",::pcap_vo_fus_control_room_joker); +} + +//Function Number: 43 +pcap_vo_fus_intro_burke(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fus_gdn_everyoneseeingthisalright",7.24); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fus_gdn_wereinsertinginthesouth",15.09); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fus_gdn_getinposition2",21.18,"aud_start_fusion_fly_in_intro_vo_done"); +} + +//Function Number: 44 +pcap_vo_fus_intro_panama_burke(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fus_gdn_gonnabeagoodone",4.03,"aud_start_fusion_fly_in_pt2_vo_done"); +} + +//Function Number: 45 +pcap_vo_fus_control_room_burke(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fus_gdn_prophetyougotthis",0.06); + level soundscripts\_snd_pcap::snd_pcap_play_radio_vo_60fps("fus_prt_copy2",1.36); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fus_gdn_okcoretempismaintaining",3.24); + level soundscripts\_snd_pcap::snd_pcap_play_radio_vo_60fps("fus_prt_thesteamreleaselineshave",12.3); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fus_gdn_damnitwasstablea",16.27); + level soundscripts\_snd_pcap::snd_pcap_play_radio_vo_60fps("fus_prt_burkecoretemperatureiscritical",19.23); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fus_gdn_ivegotthis",24.04); + level soundscripts\_snd_pcap::snd_pcap_play_radio_vo_60fps("fus_prt_wehavealevel7",25); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fus_gdn_shit",29.06); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("fus_gdn_copythat3",32.12,"fusion_controlroom_dialog_done"); +} + +//Function Number: 46 +pcap_vo_fus_control_room_joker(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo("fus_jkr_boss",16); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo("fus_jkr_burke",23.36); +} + +//Function Number: 47 +dialogue_queue_global(param_00,param_01) +{ + if(isdefined(level.scr_sound[self.animname][param_00])) + { + global_dialogue_internal(param_00,self,param_01); + } +} + +//Function Number: 48 +radio_dialogue_queue_global(param_00,param_01) +{ + if(isdefined(level.scr_radio[param_00])) + { + global_dialogue_internal(param_00,undefined,param_01); + } +} + +//Function Number: 49 +global_dialogue_internal(param_00,param_01,param_02) +{ + if(!isdefined(level.global_dialogue_function_stack)) + { + level.global_dialogue_function_stack = spawnstruct(); + } + + if(isdefined(param_01)) + { + if(isdefined(param_02)) + { + level.global_dialogue_function_stack maps\_utility::function_stack_timeout(param_02,::global_dialogue_internal_play_dialogue,param_00,param_01); + return; + } + + level.global_dialogue_function_stack maps\_utility::function_stack(::global_dialogue_internal_play_dialogue,param_00,param_01); + return; + } + + if(isdefined(param_02)) + { + level.global_dialogue_function_stack maps\_utility::function_stack_timeout(param_02,::global_dialogue_internal_play_radio,param_00); + return; + } + + level.global_dialogue_function_stack maps\_utility::function_stack(::global_dialogue_internal_play_radio,param_00); +} + +//Function Number: 50 +global_dialogue_internal_play_dialogue(param_00,param_01) +{ + if(isdefined(param_01)) + { + common_scripts\utility::flag_set("dialogue_playing"); + maps\_utility::bcs_scripted_dialogue_start(); + param_01 maps\_anim::anim_single_queue(param_01,param_00); + common_scripts\utility::flag_clear("dialogue_playing"); + } +} + +//Function Number: 51 +global_dialogue_internal_play_radio(param_00) +{ + common_scripts\utility::flag_set("dialogue_playing"); + level maps\_utility::dialogue_queue(param_00); + common_scripts\utility::flag_clear("dialogue_playing"); +} \ No newline at end of file diff --git a/AW/PC/maps/greece.gsc b/AW/PC/maps/greece.gsc new file mode 100644 index 0000000..7886b20 --- /dev/null +++ b/AW/PC/maps/greece.gsc @@ -0,0 +1,110 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: greece.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 6 + * Decompile Time: 96 ms + * Timestamp: 4/22/2024 2:30:17 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\_utility::template_level("greece"); + levelflaginit(); + levelstartpoints(); + levelprecacheassets(); + levelglobalvars(); + levelglobalsetup(); + if(level.currentgen) + { + setsaveddvar("r_gunSightColorEntityScale","7"); + setsaveddvar("r_gunSightColorNoneScale","0.8"); + maps\_utility::tff_sync_setup(); + } + + maps\createart\greece_art::main(); + maps\greece_fx::main(); + maps\greece_precache::main(); + maps\_rambo::main(); + maps\_load::main(); + thread maps\_player_exo::main("specialist",1,0); + maps\greece_lighting::main(); + maps\greece_aud::main(); + maps\greece_anim::main(); + maps\greece_safehouse::main(); + maps\greece_conf_center::main(); + maps\greece_alleys::main(); + maps\greece_sniper_scramble::main(); + maps\greece_ending::main(); + maps\greece_vo::main(); + maps\_variable_grenade::init_variable_grenade(); + maps\_compass::setupminimap("compass_map_greece"); + thread maps\_hms_utility::_glass_physics_wakeup(); + thread maps\greece_alleys::trans2alleysmagicdisappearingworldevent(); +} + +//Function Number: 2 +levelprecacheassets() +{ + precachestring(&"GREECE_INTRO_SCREEN_TITLE_TXT"); + precachestring(&"GREECE_INTRO_SCREEN_DATE_TXT"); + precachestring(&"GREECE_INTRO_SCREEN_WHO_TXT"); + precachestring(&"GREECE_INTRO_SCREEN_SQUAD_TXT"); + precachestring(&"GREECE_INTRO_SCREEN_WHERE_TXT"); + precacheitem("iw5_hmr9_sp"); + precacheitem("iw5_hmr9_sp_variablereddot"); + precacheitem("iw5_bal27_sp"); + precacheitem("iw5_bal27_sp_silencer01_variablereddot"); + precacheitem("iw5_sn6_sp"); + precacheitem("fraggrenade"); + precacheitem("flash_grenade"); + precacherumble("steady_rumble"); + precacherumble("silencer_fire"); + precacherumble("damage_light"); + precacherumble("damage_heavy"); +} + +//Function Number: 3 +levelflaginit() +{ + common_scripts\utility::flag_init("FlagSafeHouseStart"); + common_scripts\utility::flag_init("FlagConfCenterStart"); + common_scripts\utility::flag_init("FlagAlleysTransitionStart"); + common_scripts\utility::flag_init("FlagAlleysStart"); + common_scripts\utility::flag_init("FlagAlleysArtStart"); + common_scripts\utility::flag_init("FlagAlleysEndStart"); + common_scripts\utility::flag_init("FlagSniperScrambleStart"); + common_scripts\utility::flag_init("FlagEndingStart"); +} + +//Function Number: 4 +levelglobalvars() +{ + level.showdebugtoggle = 0; +} + +//Function Number: 5 +levelglobalsetup() +{ + maps\_utility::battlechatter_on("allies"); + maps\_utility::battlechatter_on("axis"); + maps\greece_code::initfanprops(); + maps\greece_code::setdefaulthudoutlinedvars(); +} + +//Function Number: 6 +levelstartpoints() +{ + maps\greece_safehouse::safehousestartpoints(); + maps\greece_conf_center::confcenterstartpoints(); + maps\greece_safehouse::safehousestartpointsfinal(); + maps\greece_alleys::alleysstartpoints(); + maps\greece_sniper_scramble::sniperscramblestartpoints(); + maps\greece_ending::endingstartpoints(); + if(level.currentgen) + { + maps\greece_transients_cg::setup_start_points_for_transients(); + } +} \ No newline at end of file diff --git a/AW/PC/maps/greece_alleys.gsc b/AW/PC/maps/greece_alleys.gsc new file mode 100644 index 0000000..c9cb0b1 --- /dev/null +++ b/AW/PC/maps/greece_alleys.gsc @@ -0,0 +1,1771 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: greece_alleys.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 88 + * Decompile Time: 1333 ms + * Timestamp: 4/22/2024 2:30:21 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + alleysprecache(); + alleysflaginit(); + alleysglobalvars(); + alleysglobalsetup(); + maps\greece_alleys_anim::main(); + maps\greece_alleys_vo::main(); + maps\_drone_civilian::init(); +} + +//Function Number: 2 +alleysprecache() +{ + precachemodel("viewhands_atlas_military"); + precachemodel("vb_civilian_mitchell"); + precachemodel("viewbody_atlas_military"); + precacheitem("iw5_hmr9_sp"); + precacheitem("iw5_hmr9_sp_variablereddot"); + precacheitem("iw5_bal27_sp"); + precacheitem("iw5_bal27_sp_silencer01_variablereddot"); + precacheitem("iw5_sn6_sp"); + precacheitem("fraggrenade"); + precacheitem("flash_grenade"); + precacheitem("iw5_kf5_sp"); + precacheitem("iw5_kf5_sp_opticsthermal"); + precacheitem("iw5_maul_sp"); + precacheitem("iw5_maul_sp_opticsreddot"); + precacheitem("iw5_ak12_sp"); + precacheitem("iw5_ak12_sp_opticstargetenhancer"); + precacheitem("iw5_hbra3_sp"); + precacheitem("iw5_hbra3_sp_opticsacog2"); + precacheitem("iw5_mahemstraight_sp"); + precacheitem("iw5_titan45_sp"); + precacheitem("iw5_titan45_sp_opticsreddot_silencerpistol"); + precacheitem("iw5_arx160_sp"); + precacherumble("silencer_fire"); + precacheshellshock("greece_drone_slowview"); + precachestring(&"GREECE_OBJ_SAFEHOUSE_FOLLOW"); + precachestring(&"GREECE_OBJ_ENDING_HADESVEHICLE"); + precachestring(&"GREECE_OBJ_INTERCEPT_HADES"); + precachestring(&"GREECE_ALLEYS_GATERIP_PROMPT"); + precachestring(&"GREECE_ALLEYS_GATERIP_PROMPT_KB"); + precachemodel("kva_heavy_head"); + precachemodel("kva_heavy_body"); + precacheitem("iw5_maul_sp"); + maps\_hms_door_interact::precachedooranimations(); +} + +//Function Number: 3 +alleysflaginit() +{ + common_scripts\utility::flag_init("FlagSetObjRooftops"); + common_scripts\utility::flag_init("FlagSafehouseGapJumpCompleted"); + common_scripts\utility::flag_init("FlagSafehouseExitGateOpen"); + common_scripts\utility::flag_init("FlagDeleteAlleyCivilians"); + common_scripts\utility::flag_init("FlagStartMantoss"); + common_scripts\utility::flag_init("FlagTrans2AlleysAllExecutionersDead"); + common_scripts\utility::flag_init("Trans2AlleysSquadADead"); + common_scripts\utility::flag_init("FlagAlleysDeleteAI"); + common_scripts\utility::flag_init("FlagAlleysCombatBeginEnemyRetreat"); + common_scripts\utility::flag_init("FlagAlleysFinalBldgClear"); + common_scripts\utility::flag_init("FlagSniperScrambleStart"); + common_scripts\utility::flag_init("FlagAlleysPipComplete"); + common_scripts\utility::flag_init("AlleysVisitorGateIsOpen"); + common_scripts\utility::flag_init("AlleysGateRipStarted"); + common_scripts\utility::flag_init("FlagAlleysIlanaReadyToExit"); + common_scripts\utility::flag_init("FlagAlleysEnemySpawnsVO"); + common_scripts\utility::flag_init("FlagAlleysIlanaMoveToExit"); + common_scripts\utility::flag_init("FlagAlleysAllEnemiesDead"); +} + +//Function Number: 4 +alleysglobalvars() +{ + level.dialogtable = "sp/greece_dialog.csv"; +} + +//Function Number: 5 +alleysglobalsetup() +{ + maps\_utility::battlechatter_on("allies"); + maps\_utility::battlechatter_on("axis"); + thread trans2alleysbegin(); + thread alleysbegin(); +} + +//Function Number: 6 +alleysstartpoints() +{ + maps\_utility::add_start("start_alleys_transition",::initalleystransition); + maps\_utility::add_start("start_alleys",::initalleys); + maps\_utility::add_start("start_alleys_art",::initalleysart); + maps\_utility::add_start("start_alleys_end",::initalleysend); + maps\greece_starts::add_greece_starts("alley"); +} + +//Function Number: 7 +initalleystransition() +{ + maps\_utility::teleport_player(common_scripts\utility::getstruct("PlayerStartAlleysTransition","targetname")); + maps\_hms_utility::setupplayerinventory("iw5_titan45_sp_opticsreddot_silencerpistol","iw5_hmr9_sp_variablereddot","fraggrenade","flash_grenade","iw5_hmr9_sp_variablereddot"); + maps\_variable_grenade::give_player_variable_grenade(); + thread maps\_player_exo::player_exo_activate(); + thread maps\greece_code::sunflareswap("sunflare_dim"); + if(!isdefined(level.map_without_loadout) || level.map_without_loadout == 0) + { + thread maps\greece_code::blimp_animation("blimpOrg","market_intro_blimp"); + maps\greece_conf_center_fx::confcenterresidualsmoke(); + maps\greece_safehouse_fx::ambientcloudskill(); + } + + maps\_hms_utility::spawnandinitnamedally("Ilona","AllyStartAlleysTransition",1,1,"IlanaAlleysTransition"); + common_scripts\utility::flag_set("FlagAlleysTransitionStart"); + common_scripts\utility::flag_set("init_alleys_transition_start_lighting"); + thread maps\greece_safehouse::safehousetranstoalleygatesetup(); + soundscripts\_snd::snd_message("start_alleys_transition_checkpoint"); + common_scripts\utility::flag_set("FlagKickSafehouseExitGate"); +} + +//Function Number: 8 +initalleys() +{ + maps\_utility::teleport_player(common_scripts\utility::getstruct("PlayerStartAlleys","targetname")); + maps\_hms_utility::setupplayerinventory("iw5_titan45_sp_opticsreddot_silencerpistol","iw5_hmr9_sp_variablereddot","fraggrenade","flash_grenade","iw5_hmr9_sp_variablereddot"); + maps\_variable_grenade::give_player_variable_grenade(); + thread maps\_player_exo::player_exo_activate(); + thread maps\greece_code::sunflareswap("sunflare_dim"); + if(!isdefined(level.map_without_loadout) || level.map_without_loadout == 0) + { + thread maps\greece_code::blimp_animation("blimpOrg","market_intro_blimp"); + maps\greece_conf_center_fx::confcenterresidualsmoke(); + maps\greece_safehouse_fx::ambientcloudskill(); + } + + maps\_hms_utility::spawnandinitnamedally("Ilona","AllyStartAlleys",1,1,"IlanaAlleys"); + thread ilanaalleybehavior(); + soundscripts\_snd::snd_message("start_alleys_checkpoint"); + common_scripts\utility::flag_set("FlagAlleysStart"); + common_scripts\utility::flag_set("init_alleys_lighting"); +} + +//Function Number: 9 +initalleysart() +{ + maps\_utility::teleport_player(common_scripts\utility::getstruct("PlayerStartAlleysArt","targetname")); + maps\_hms_utility::setupplayerinventory("iw5_titan45_sp_opticsreddot_silencerpistol","iw5_hmr9_sp_variablereddot","fraggrenade","flash_grenade","iw5_hmr9_sp_variablereddot"); + maps\_variable_grenade::give_player_variable_grenade(); + thread maps\_player_exo::player_exo_activate(); + thread maps\greece_code::sunflareswap("sunflare_dim"); + if(!isdefined(level.map_without_loadout) || level.map_without_loadout == 0) + { + thread maps\greece_code::blimp_animation("blimpOrg","market_intro_blimp"); + maps\greece_conf_center_fx::confcenterresidualsmoke(); + maps\greece_safehouse_fx::ambientcloudskill(); + } + + soundscripts\_snd::snd_message("start_alleys_checkpoint"); + common_scripts\utility::flag_set("FlagAlleysArtStart"); + common_scripts\utility::flag_set("init_alleys_lighting"); +} + +//Function Number: 10 +initalleysend() +{ + var_00 = common_scripts\utility::getstructarray("PlayerStartAlleysEnd","targetname"); + var_01 = common_scripts\utility::random(var_00); + maps\_utility::teleport_player(var_01); + maps\_hms_utility::setupplayerinventory("iw5_titan45_sp_opticsreddot_silencerpistol","iw5_hmr9_sp_variablereddot","fraggrenade","flash_grenade","iw5_hmr9_sp_variablereddot"); + maps\_variable_grenade::give_player_variable_grenade(); + thread maps\_player_exo::player_exo_activate(); + thread maps\greece_code::sunflareswap("sunflare_dim"); + if(!isdefined(level.map_without_loadout) || level.map_without_loadout == 0) + { + thread maps\greece_code::blimp_animation("blimpOrg","market_intro_blimp"); + maps\greece_conf_center_fx::confcenterresidualsmoke(); + maps\greece_safehouse_fx::ambientcloudskill(); + } + + maps\_hms_utility::spawnandinitnamedally("Ilona",var_01.target,1,1,"IlanaAlleys"); + thread ilanaalleybehavior(); + soundscripts\_snd::snd_message("start_alleys_checkpoint"); + common_scripts\utility::flag_set("FlagAlleysEndStart"); +} + +//Function Number: 11 +trans2alleysobjectivesetup() +{ + waittillframeend; + thread objtransitiontoalleys(); + alleyssetcompletedobjflags(); +} + +//Function Number: 12 +alleysobjectivesetup() +{ + waittillframeend; + alleyssetcompletedobjflags(); +} + +//Function Number: 13 +alleyssetcompletedobjflags() +{ + var_00 = level.start_point; + if(!common_scripts\utility::string_starts_with(var_00,"start_alleys")) + { + return; + } + + if(var_00 == "start_alleys_transition") + { + return; + } + + if(var_00 == "start_alleys") + { + common_scripts\utility::flag_set("FlagAlleysTransitionStart"); + common_scripts\utility::flag_set("FlagTrans2AlleysAllExecutionersDead"); + common_scripts\utility::flag_set("ObjTriggerFlagTransitionToAlleys"); + return; + } + + if(var_00 == "start_alleys_end") + { + common_scripts\utility::flag_set("FlagAlleysTransitionStart"); + common_scripts\utility::flag_set("ObjTriggerFlagTransitionToAlleys"); + } +} + +//Function Number: 14 +objtransitiontoalleys() +{ + common_scripts\utility::flag_wait("FlagAlleysTransitionStart"); + objective_add(maps\_utility::obj("InterceptHades"),"active",&"GREECE_OBJ_INTERCEPT_HADES"); + objective_onentity(maps\_utility::obj("InterceptHades"),level.allies["Ilona"]); + objective_setpointertextoverride(maps\_utility::obj("InterceptHades"),&"GREECE_OBJ_SAFEHOUSE_FOLLOW"); + objective_current(maps\_utility::obj("InterceptHades")); + common_scripts\utility::flag_wait("ObjTriggerFlagTransitionToAlleys"); + var_00 = getent("AlleysVisitorCenterGateObj","targetname"); + objective_position(maps\_utility::obj("InterceptHades"),var_00.origin); + objective_setpointertextoverride(maps\_utility::obj("InterceptHades"),""); + common_scripts\utility::flag_set("FlagAlleysStart"); + level waittill("AlleysAllEnemiesDead"); + objective_setpointertextoverride(maps\_utility::obj("InterceptHades"),&"GREECE_OBJ_ENDING_HADESVEHICLE"); + common_scripts\utility::flag_wait("AlleysGateRipStarted"); + var_01 = getent("ObjMarkerRooftopsStart","targetname"); + objective_position(maps\_utility::obj("InterceptHades"),(0,0,0)); + objective_setpointertextoverride(maps\_utility::obj("InterceptHades"),""); + common_scripts\utility::flag_wait("AlleysVisitorGateIsOpen"); + objective_onentity(maps\_utility::obj("InterceptHades"),level.allies["Ilona"]); + objective_setpointertextoverride(maps\_utility::obj("InterceptHades"),&"GREECE_OBJ_SAFEHOUSE_FOLLOW"); + common_scripts\utility::flag_wait("FlagTriggerSniperScrambleStart"); + objective_position(maps\_utility::obj("InterceptHades"),(0,0,0)); + objective_setpointertextoverride(maps\_utility::obj("InterceptHades")," "); +} + +//Function Number: 15 +trans2alleysbegin() +{ + common_scripts\utility::flag_wait("FlagAlleysTransitionStart"); + trans2alleysobjectivesetup(); + thread trans2alleyscivilians(); + thread trans2alleysilanagatebash(); + thread alleysallymovement(); + thread trans2alleyscombat(); +} + +//Function Number: 16 +alleysbegin() +{ + common_scripts\utility::flag_wait_any("FlagAlleysStart","FlagAlleysArtStart","FlagAlleysEndStart"); + alleysobjectivesetup(); + thread alleysspawnrpgenemies(); + thread alleyscombat(); + thread alleysvisitorcentergate(); + thread alleysvideolog(); + thread alleysvehiclemonitor(); + if(!isdefined(level.map_without_loadout) || level.map_without_loadout == 0) + { + thread maps\greece_code::blimp_animation("blimpOrg","market_intro_blimp"); + } +} + +//Function Number: 17 +monitormantlevols() +{ + while(!common_scripts\utility::flag("FlagSniperScrambleStart")) + { + if(level.player ismantling()) + { + glassradiusdamage(level.player.origin,32,1000,100); + wait(1); + } + + wait(0.05); + } +} + +//Function Number: 18 +alleysallymovement() +{ + common_scripts\utility::flag_wait("FlagSafehouseExitGateOpen"); + thread ilanaalleytransbehavior(); +} + +//Function Number: 19 +trans2alleysilanagatebash() +{ + var_00 = getent("alley_gate_collision","targetname"); + var_01 = common_scripts\utility::getstruct("gateOrg","targetname"); + var_02 = getent("greece_alley_gate","targetname"); + var_02 maps\_utility::assign_animtree("alley_gate"); + var_02.animname = "alley_gate"; + var_03 = level.allies["Ilona"]; + var_03.animname = "Ilona"; + common_scripts\utility::flag_wait("FlagKickSafehouseExitGate"); + var_01 maps\_anim::anim_reach_solo(var_03,"safehouse_gate_bash"); + var_01 thread maps\_anim::anim_single_solo_run(var_03,"safehouse_gate_bash"); + level waittill("GateAnimStart"); + thread trans2alleysunblockplayer(); + var_01 thread maps\_anim::anim_single_solo(var_02,"safehouse_gate_bash"); + var_00 movez(-128,0.1); + var_00 connectpaths(); + common_scripts\utility::flag_set("FlagSafehouseExitGateOpen"); + maps\greece_safehouse_fx::safehousegatebashfx(); + soundscripts\_snd::snd_music_message("start_safehouse_gate_bash"); + soundscripts\_snd::snd_message("start_trans_to_alleys_panic"); + if(level.currentgen) + { + thread trans2alleysslowplayer(); + } +} + +//Function Number: 20 +trans2alleysunblockplayer() +{ + var_00 = getent("alley_gate_collision_player","targetname"); + wait(1); + if(level.currentgen) + { + wait(1); + } + + var_00 movez(-128,0.1); + var_00 connectpaths(); +} + +//Function Number: 21 +trans2alleysslowplayer() +{ + level.player allowsprint(0); + level.player allowdodge(0); + common_scripts\utility::flag_wait("FlagTrigTrans2AlleyIlanaAdvance"); + level.player allowsprint(1); + level.player allowdodge(1); +} + +//Function Number: 22 +ilanaalleytransbehavior() +{ + var_00 = maps\_hms_utility::getnamedally("Ilona"); + var_00 endon("ContinueToAlleys"); + var_01 = getnode("Trans2AlleysStartNode","targetname"); + var_02 = getnode("AlleyTransCover1","targetname"); + var_00 maps\_utility::set_run_anim("trans_alley_sprint_wpn_ilana",0); + var_00 maps\_hms_ai_utility::gototogoal(var_02,"default"); + var_00 maps\_utility::clear_run_anim(); + common_scripts\utility::flag_wait("FlagTrigTrans2AlleyIlanaAdvance"); + thread maps\_hms_utility::allyredirectgotonode("Ilona","AlleyTransCover2"); + if(level.currentgen) + { + setculldist(3000); + var_03 = ["AlleysCannotRetreat"]; + thread maps\_cg_encounter_perf_monitor::cg_spawn_perf_monitor("FlagTrigAlleysFinalBldgInteriorLastRoom",var_03,18,0); + } + + common_scripts\utility::flag_wait("FlagTrigTrans2AlleyCivBattle"); + thread maps\_hms_utility::allyredirectgotonode("Ilona","AlleyTransCover3"); + thread ilanaalleybehavior(); +} + +//Function Number: 23 +ilanaalleybehavior() +{ + var_00 = level.start_point; + if(var_00 != "start_alleys_end") + { + thread maps\_hms_utility::allyredirectgotonode("Ilona","AlleyStartCover"); + common_scripts\utility::flag_wait("FlagTrans2AlleysCivCleanup"); + } + + level.player thread maps\_hms_ai_utility::assistplayer(); + var_01 = maps\_hms_utility::getnamedally("Ilona"); + var_01 thread _initalliedaialleycombatbehavior(); + var_01 thread alleyscheckifplayerretreated(); + level waittill("AlleysShotgunnersAllDead"); + common_scripts\utility::flag_wait("FlagTrigAlleysIlanaMoveToCourtyard"); + var_01 maps\_hms_ai_utility::playerleashdisable(); + wait 0.05; + var_02 = getnode("AlleysIlanaFinalBldgCourtyardNode","targetname"); + var_01 maps\_hms_ai_utility::gototogoal(var_02,"default",1); + wait 0.05; + common_scripts\utility::flag_set("FlagAlleysCombatBeginEnemyRetreat"); + while(level.alleysremainingenemies.size > 0) + { + level.alleysremainingenemies = maps\_utility::remove_dead_from_array(level.alleysremainingenemies); + wait(0.1); + } + + common_scripts\utility::flag_set("FlagAlleysAllEnemiesDead"); + level notify("AlleysAllEnemiesDead"); + common_scripts\utility::flag_wait("FlagTrigAlleysFinalBldgUpperRetreat"); + var_01 maps\_utility::set_goal_radius(64); + var_03 = getnode("AlleysIlanaFinalBldgStairsNode","targetname"); + var_01 maps\_hms_ai_utility::gototogoal(var_03,"default",1); + common_scripts\utility::flag_wait("FlagAlleysIlanaMoveToExit"); + var_04 = getnode("AlleysIlanaFinalBldgNearExitNode","targetname"); + var_01 maps\_hms_ai_utility::gototogoal(var_04,"default",1); + common_scripts\utility::flag_wait("FlagTrigAlleysFinalBldgInteriorNearExit"); + common_scripts\utility::flag_set("FlagAlleysIlanaReadyToExit"); +} + +//Function Number: 24 +alleyscheckifplayerretreated() +{ + var_00 = getent("TrigAlleysPlayerHasRetreated","targetname"); + var_01 = getnode("AlleyTransCover1","targetname"); + thread maps\_hms_ai_utility::playerleashbehavior(); + var_02 = 1; + while(!common_scripts\utility::flag("FlagAlleysAllEnemiesDead")) + { + if(var_02 == 1 && level.player istouching(var_00)) + { + maps\_hms_ai_utility::playerleashdisable(); + wait 0.05; + maps\_hms_ai_utility::gototogoal(var_01,"default",1); + var_02 = 0; + continue; + } + + if(var_02 == 0) + { + thread maps\_hms_ai_utility::playerleashbehavior(); + var_02 = 1; + } + + wait(5); + } + + maps\_hms_ai_utility::playerleashdisable(); +} + +//Function Number: 25 +_initalliedaialleycombatbehavior() +{ + var_00 = self.maxsightdistsqrd; + self.maxsightdistsqrd = 67108864; + self.disablebulletwhizbyreaction = 1; + self.ignoresuppression = 1; + maps\_utility::disable_surprise(); + var_01 = self.minpaindamage; + thread maps\_hms_ai_utility::adjustallyaccuracyovertime(); + thread maps\_hms_ai_utility::painmanagement(); + common_scripts\utility::flag_wait_either("FlagSniperScrambleStart","FlagAlleysFinalBldgClear"); + self notify("disable_accuracy_adjust"); + self notify("disable_pain_management"); + self.maxsightdistsqrd = var_00; + self.disablebulletwhizbyreaction = 0; + self.ignoresuppression = 0; + maps\_utility::enable_surprise(); + self.minpaindamage = var_01; +} + +//Function Number: 26 +trans2alleyscombat() +{ + var_00 = getentarray("Trans2AlleysSquadASpawner","targetname"); + common_scripts\utility::flag_wait_either("FlagTrigTrans2AlleysCombat","FlagTrans2AlleysAllExecutionersDead"); + var_01 = maps\_utility::array_spawn(var_00); + foreach(var_03 in var_01) + { + level.alleysremainingenemies = common_scripts\utility::add_to_array(level.alleysremainingenemies,var_03); + } + + maps\_utility::waittill_dead_or_dying(var_01); + common_scripts\utility::flag_set("Trans2AlleysSquadADead"); +} + +//Function Number: 27 +alleyscombat() +{ + level.alleysremainingenemies = []; + thread alleyscombatenemyorders(); + thread alleyscombatfrontlinefloodspawns(); + thread alleyscombatfrontlineleftside(); + thread alleyscombatfrontlineleftbackstairs(); + thread alleyscombatfrontlineleftsideinteriorfloor1(); + thread alleyscombatfrontlinerightside(); + thread alleyscombatfrontlinerightbackatm(); + thread alleyscombatmidlineleftside(); + thread alleyscombatmidlinerightside(); + thread alleyscombatmidlinerightsideinterior(); + thread alleyscombatbacklineleftside(); + thread alleyscombatbacklineleftinteriorfloor1(); + thread alleyscombatbacklinerightside(); + thread alleyscombatbacklinerightinteriorfloor1(); + thread alleyscombatbacklinerightinteriorfloor2(); + thread alleyscombatfinalbuilding(); + thread alleyscombatfinalbuildinginterior(); + thread alleyscombatfinalbuildingshotgunners(); + thread alleyscombattriggertoggles(); + thread alleyscombatinteriorfakebulletssetup(); +} + +//Function Number: 28 +alleysvisitorcentergate() +{ + var_00 = getent("AlleysVisitorCenterGate","targetname"); + var_00.animname = "visitorgate"; + var_00 maps\_utility::assign_animtree("visitorgate"); + var_01 = getent("AlleysVisitorCenterGateCollision","targetname"); + var_02 = getent("AlleysVisitorCenterGateUseTrigger","targetname"); + var_02 makeunusable(); + var_03 = common_scripts\utility::getstruct("AlleysVisitorCenterGateRipOrg","targetname"); + var_04 = "alleys_gate_rip"; + wait(0.5); + var_03 maps\_anim::anim_first_frame_solo(var_00,var_04); + level waittill("AlleysAllEnemiesDead"); + var_02 makeusable(); + var_02 setcursorhint("HINT_NOICON"); + var_02 maps\_utility::addhinttrigger(&"GREECE_ALLEYS_GATERIP_PROMPT",&"GREECE_ALLEYS_GATERIP_PROMPT_KB"); + thread alleysmonitorgateriphint(); + var_02 waittill("trigger",var_05); + var_02 delete(); + common_scripts\utility::flag_set("AlleysGateRipStarted"); + level notify("NotifyAlleysGateRipStarted"); + maps\greece_fx::visitorcentergatebashfx(); + thread maps\greece_sniper_scramble::scramblestartdoorinit(); + level.player allowcrouch(0); + level.player disableweapons(); + var_06 = maps\_utility::spawn_anim_model("player_alleys_rig",level.player.origin,level.player.angles); + var_06 hide(); + var_07 = [var_06,var_00]; + var_03 maps\_anim::anim_first_frame_solo(var_06,var_04); + level.player playerlinktoblend(var_06,"tag_player",0.4); + wait(0.4); + var_06 show(); + var_03 maps\_anim::anim_single(var_07,var_04); + level.player unlink(); + var_06 delete(); + level.player enableweapons(); + level.player allowcrouch(1); + thread maps\_utility::autosave_now(); + common_scripts\utility::flag_set("AlleysVisitorGateIsOpen"); +} + +//Function Number: 29 +alleysgateripunblockpath() +{ + var_00 = getent("AlleysVisitorCenterGateCollision","targetname"); + wait(1); + var_00 notsolid(); + var_00 connectpaths(); + var_00 delete(); + wait(1); + common_scripts\utility::flag_set("FlagAlleysIlanaMoveToExit"); +} + +//Function Number: 30 +alleysmonitorgateriphint() +{ + var_00 = getent("AlleysVisitorCenterGateObj","targetname"); + var_01 = maps\_shg_utility::hint_button_position("use",var_00.origin,128); + common_scripts\utility::flag_wait("AlleysGateRipStarted"); + var_01 maps\_shg_utility::hint_button_clear(); +} + +//Function Number: 31 +alleyscombatinteriorfakebulletssetup() +{ + var_00 = getentarray("InteriorFakeBulletsTrig","targetname"); + foreach(var_02 in var_00) + { + var_02 thread alleyscombatinteriorfakebulletsactivate(); + } +} + +//Function Number: 32 +alleyscombatinteriorfakebulletsactivate() +{ + var_00 = getent(self.target,"targetname"); + var_01 = getentarray(var_00.target,"targetname"); + self waittill("trigger",var_02); + var_03 = randomintrange(17,23); + for(var_04 = 0;var_04 < var_03;var_04++) + { + var_05 = common_scripts\utility::random(var_01); + magicbullet("iw5_arx160_sp",var_00.origin,var_05.origin); + wait(randomfloatrange(0.09,0.18)); + } +} + +//Function Number: 33 +alleyscombattriggertoggles() +{ + common_scripts\utility::flag_wait("FlagTrigAlleysMidLineRightSideSpawns"); + var_00 = getentarray("AlleysFrontLineUniqueTrig","targetname"); + foreach(var_02 in var_00) + { + var_02 common_scripts\utility::trigger_off(); + } + + common_scripts\utility::flag_wait("FlagTrigAlleysMidLineRetreat"); + var_04 = getentarray("AlleysMidLineUniqueTrig","targetname"); + foreach(var_02 in var_04) + { + var_02 common_scripts\utility::trigger_off(); + } + + common_scripts\utility::flag_wait("FlagTriggerAlleysEnemyRPGs"); + var_07 = getentarray("AlleysBackLineUniqueTrig","targetname"); + foreach(var_02 in var_07) + { + var_02 common_scripts\utility::trigger_off(); + } +} + +//Function Number: 34 +alleyscombatenemyorders() +{ + common_scripts\utility::flag_wait_any("FlagTrigAlleysFrontLineBackSpawns","FlagAlleysCombatBeginEnemyRetreat","FlagAlleysEndStart"); + common_scripts\utility::flag_set("FlagAlleysDeleteAI"); + var_00 = getent("AlleysFrontLineBadPlaceVolume","targetname"); + badplace_brush("",5,var_00,"axis"); + level.alleysremainingenemies = maps\_utility::remove_dead_from_array(level.alleysremainingenemies); + level.alleysremainingenemies alleyscombatenemyretreat("AlleysGoalVolumeMidPlusBack"); + wait(0.5); + common_scripts\utility::flag_clear("FlagAlleysCombatBeginEnemyRetreat"); + common_scripts\utility::flag_clear("FlagAlleysDeleteAI"); + common_scripts\utility::flag_wait_any("FlagTrigAlleysMidLineCafeSpawns","FlagAlleysCombatBeginEnemyRetreat","FlagAlleysEndStart"); + common_scripts\utility::flag_set("FlagAlleysDeleteAI"); + level.alleysremainingenemies = maps\_utility::remove_dead_from_array(level.alleysremainingenemies); + level.alleysremainingenemies alleyscombatenemyretreat("AlleysGoalVolumeMidPlusBack"); + thread maps\greece_alleys_vo::alleysenemyretreat(); + thread maps\greece_alleys_vo::alleysdialogtimer(); + wait(0.5); + common_scripts\utility::flag_clear("FlagAlleysCombatBeginEnemyRetreat"); + common_scripts\utility::flag_clear("FlagAlleysDeleteAI"); + common_scripts\utility::flag_wait_any("FlagTrigAlleysMidLineRetreat","FlagAlleysCombatBeginEnemyRetreat","FlagAlleysEndStart"); + common_scripts\utility::flag_set("FlagAlleysDeleteAI"); + level.alleysremainingenemies = maps\_utility::remove_dead_from_array(level.alleysremainingenemies); + level.alleysremainingenemies alleyscombatenemyretreat("AlleysGoalVolumeBackBothBldgs"); + thread maps\greece_alleys_vo::alleysenemyretreat(); + thread maps\greece_alleys_vo::alleysdialogtimer(); + wait(0.5); + common_scripts\utility::flag_clear("FlagAlleysCombatBeginEnemyRetreat"); + common_scripts\utility::flag_clear("FlagAlleysDeleteAI"); + common_scripts\utility::flag_wait_any("FlagTrigAlleysBackLineRetreat","FlagAlleysCombatBeginEnemyRetreat","FlagAlleysEndStart"); + common_scripts\utility::flag_set("FlagAlleysDeleteAI"); + level.alleysremainingenemies = maps\_utility::remove_dead_from_array(level.alleysremainingenemies); + level.alleysremainingenemies alleyscombatenemyretreat("AlleysGoalVolumeFinalBldgBottomFloor"); + thread maps\greece_alleys_vo::alleysenemyretreat(); + thread maps\greece_alleys_vo::alleysdialogtimer(); + wait(0.5); + common_scripts\utility::flag_clear("FlagAlleysCombatBeginEnemyRetreat"); + common_scripts\utility::flag_clear("FlagAlleysDeleteAI"); + alleyscombatbacklinefloodspawns(); + common_scripts\utility::flag_wait_any("FlagTrigAlleysRPGSpawnedRetreat","FlagAlleysCombatBeginEnemyRetreat","FlagAlleysEndStart"); + common_scripts\utility::flag_set("FlagAlleysDeleteAI"); + level.alleysremainingenemies = maps\_utility::remove_dead_from_array(level.alleysremainingenemies); + level.alleysremainingenemies alleyscombatenemyretreat("AlleysGoalVolumeFinalBldgBottomFloor"); + thread maps\greece_alleys_vo::alleysenemyretreat(); + thread maps\greece_alleys_vo::alleysdialogtimer(); + wait(0.5); + common_scripts\utility::flag_clear("FlagAlleysCombatBeginEnemyRetreat"); + common_scripts\utility::flag_clear("FlagAlleysDeleteAI"); + common_scripts\utility::flag_wait_any("FlagTrigAlleysFinalBldgUpperRetreat","FlagAlleysCombatBeginEnemyRetreat","FlagAlleysEndStart"); + common_scripts\utility::flag_set("FlagAlleysDeleteAI"); + level.alleysremainingenemies = maps\_utility::remove_dead_from_array(level.alleysremainingenemies); + level.alleysremainingenemies alleyscombatenemyretreat("AlleysGoalVolumeFinalBldgStairs"); + thread maps\greece_alleys_vo::alleysenemyretreat(); + thread maps\greece_alleys_vo::alleysdialogtimer(); + wait(0.5); + common_scripts\utility::flag_clear("FlagAlleysCombatBeginEnemyRetreat"); + common_scripts\utility::flag_clear("FlagAlleysDeleteAI"); + common_scripts\utility::flag_wait("FlagTrigAlleysFinalBldgInteriorFirstRoom"); + common_scripts\utility::flag_set("FlagAlleysDeleteAI"); + common_scripts\utility::flag_wait("FlagTrigAlleysFinalBldgKillAll"); + var_01 = getaiarray("axis"); + thread maps\greece_code::sunflareswap("sunflare"); + common_scripts\utility::flag_set("FlagAlleysFinalBldgClear"); + common_scripts\utility::flag_wait("FlagAlleysIlanaReadyToExit"); + wait 0.05; + common_scripts\utility::flag_set("FlagSniperScrambleStart"); +} + +//Function Number: 35 +alleyscombatenemycountmonitor(param_00) +{ + while(level.alleysremainingenemies.size > param_00) + { + level.alleysremainingenemies = maps\_utility::remove_dead_from_array(level.alleysremainingenemies); + wait(1); + } + + common_scripts\utility::flag_set("FlagAlleysCombatBeginEnemyRetreat"); +} + +//Function Number: 36 +alleyscombatenemyretreat(param_00) +{ + var_01 = getent(param_00,"targetname"); + var_02 = []; + foreach(var_04 in self) + { + if(var_04.classname == "actor_enemy_kva_shotgun") + { + continue; + } + + if(maps\_hms_utility::cointossweighted(66)) + { + var_04 cleargoalvolume(); + var_04 setgoalvolumeauto(var_01); + continue; + } + + var_02 = common_scripts\utility::add_to_array(var_02,var_04); + thread maps\_utility::ai_delete_when_out_of_sight(var_02,100); + } +} + +//Function Number: 37 +alleyscombatfrontlinefloodspawns() +{ + var_00 = getentarray("AlleysFrontLineLeftFloodSpawner","targetname"); + maps\_utility::array_spawn_function(var_00,::alleyscombatenemysetup,"AlleysGoalVolumeFrontLeftBldgBothFloors"); + var_01 = getentarray("AlleysFrontLineRightUpperFloodSpawner","targetname"); + maps\_utility::array_spawn_function(var_01,::alleyscombatenemysetup,"AlleysGoalVolumeFrontRightBldgTopFloors"); + var_02 = getentarray("AlleysFrontLineRightBottomFloodSpawner","targetname"); + maps\_utility::array_spawn_function(var_02,::alleyscombatenemysetup,"AlleysGoalVolumeFrontRightBldgJewelryStore"); + var_03 = maps\_utility::array_merge(var_01,var_02); + var_04 = maps\_utility::array_merge(var_03,var_00); + common_scripts\utility::flag_wait("FlagAlleysCombatBeginEnemyRetreat"); + if(!common_scripts\utility::flag("FlagTrigAlleysFrontLineBackSpawns") && !common_scripts\utility::flag("FlagAlleysEndStart")) + { + wait(1); + thread maps\_utility::flood_spawn(var_04); + thread maps\greece_code::killfloodspawnersonflag(74,"FlagTrigAlleysFrontLineBackSpawns"); + } +} + +//Function Number: 38 +alleyscombatfrontlineleftside() +{ + var_00 = getentarray("AlleysFrontLineTacSquadASpawner","targetname"); + maps\_utility::array_spawn_function(var_00,::alleyscombatenemysetup,"AlleysGoalVolumeFrontLeftBldgFloor1"); + var_01 = getentarray("AlleysFrontLineAssSquadASpawner","targetname"); + maps\_utility::array_spawn_function(var_01,::alleyscombatenemysetup,"AlleysGoalVolumeFrontLeftBldgFloor1"); + var_02 = getentarray("AlleysFrontLineInteriorSquadASpawner","targetname"); + maps\_utility::array_spawn_function(var_02,::alleyscombatenemysetup,"AlleysGoalVolumeFrontBothBldgs"); + var_03 = getent("AlleysFrontLineBalconyJumperASpawner","targetname"); + var_03 maps\_utility::add_spawn_function(::alleyscombatenemysetup,"AlleysGoalVolumeFrontLeftBldgFloor2"); + var_04 = getent("AlleysFrontLineBalconyJumperBSpawner","targetname"); + var_04 maps\_utility::add_spawn_function(::alleyscombatenemysetup,"AlleysGoalVolumeFrontLeftBldgFloor1"); + var_05 = getent("AlleysFrontLineLeftCornerSpawner","targetname"); + var_05 maps\_utility::add_spawn_function(::alleyscombatenemysetup,"AlleysGoalVolumeFrontLeftBldgFloor1"); + var_06 = getent("AlleysFrontLineLeftRooftopSpawner","targetname"); + var_06 maps\_utility::add_spawn_function(::alleyscombatenemysetup,"AlleysGoalVolumeFrontLeftBldgFloor3"); + common_scripts\utility::flag_wait("FlagTrigAlleysFrontLineSpawns"); + var_07 = maps\_utility::array_spawn(var_00,0,1); + var_08 = maps\_utility::array_spawn(var_01,0,1); + common_scripts\utility::flag_wait("FlagTrigAlleysFrontLineShowySpawns"); + var_09 = var_03 maps\_utility::spawn_ai(); + var_0A = var_04 maps\_utility::spawn_ai(); + thread alleyscombatenemycountmonitor(5); + common_scripts\utility::flag_wait_either("FlagTrigAlleysFrontLineLeftCenterStairs","FlagTrigAlleysFrontLineLeftBackStairs"); + var_0B = maps\_utility::array_spawn(var_02,0,1); +} + +//Function Number: 39 +alleyscombatfrontlineleftbackstairs() +{ + var_00 = getent("AlleysFrontLineLeftBackStairsSpawner","targetname"); + var_00 maps\_utility::add_spawn_function(::alleyscombatenemysetup,"AlleysGoalVolumeFrontLeftBldgFloor1"); + common_scripts\utility::flag_wait("FlagTrigAlleysFrontLeftBackStairsSpawn"); + var_01 = var_00 maps\_utility::spawn_ai(); +} + +//Function Number: 40 +alleyscombatfrontlineleftsideinteriorfloor1() +{ + var_00 = getentarray("AlleysFrontLineLeftInteriorSpawner","targetname"); + maps\_utility::array_spawn_function(var_00,::alleyscombatenemysetup,"AlleysGoalVolumeFrontLeftBldgFloor1"); + common_scripts\utility::flag_wait("FlagTrigAlleysFrontLineLeftInterior"); + var_01 = maps\_utility::array_spawn(var_00,0,1); +} + +//Function Number: 41 +alleyscombatfrontlinerightside() +{ + var_00 = getentarray("AlleysFrontLineTacSquadBSpawner","targetname"); + maps\_utility::array_spawn_function(var_00,::alleyscombatenemysetup,"AlleysGoalVolumeFrontRightBldgJewelryStore"); + var_01 = getentarray("AlleysFrontLineAssSquadBSpawner","targetname"); + maps\_utility::array_spawn_function(var_01,::alleyscombatenemysetup,"AlleysGoalVolumeFrontRightBldgTopFloors"); + var_02 = getentarray("AlleysFrontLineInteriorSquadBSpawner","targetname"); + maps\_utility::array_spawn_function(var_02,::alleyscombatenemysetup,"AlleysGoalVolumeFrontRightBldgFloor2"); + var_03 = getent("AlleysFrontLineBalconyJumperCSpawner","targetname"); + var_03 maps\_utility::add_spawn_function(::alleyscombatenemysetup,"AlleysGoalVolumeFrontRightBldgTopFloors"); + var_04 = getent("AlleysFrontLineRightBackStoreSpawner","targetname"); + var_04 maps\_utility::add_spawn_function(::alleyscombatenemysetup,"AlleysGoalVolumeFrontRightBldgFloor1"); + common_scripts\utility::flag_wait("FlagTrigAlleysFrontLineSpawns"); + var_05 = maps\_utility::array_spawn(var_00,0,1); + var_06 = maps\_utility::array_spawn(var_01,0,1); + var_07 = var_04 maps\_utility::spawn_ai(); + common_scripts\utility::flag_wait("FlagTrigAlleysFrontLineShowySpawns"); + var_08 = var_03 maps\_utility::spawn_ai(); + common_scripts\utility::flag_wait("FlagTrigAlleysFrontLineBackSpawns"); + var_09 = maps\_utility::array_spawn(var_02,0,1); +} + +//Function Number: 42 +alleyscombatfrontlinerightbackatm() +{ + var_00 = getent("AlleysFrontLineRightBackATMSpawner","targetname"); + var_00 maps\_utility::add_spawn_function(::alleyscombatenemysetup,"AlleysGoalVolumeFrontRightBackATM"); + common_scripts\utility::flag_wait("FlagTrigAlleysFrontLineRightBackATMSpawn"); + var_01 = var_00 maps\_utility::spawn_ai(); +} + +//Function Number: 43 +alleyscombatmidlineleftside() +{ + var_00 = getentarray("AlleysMidLineTacSquadASpawner","targetname"); + maps\_utility::array_spawn_function(var_00,::alleyscombatenemysetup,"AlleysGoalVolumeMarket"); + var_01 = getentarray("AlleysMidLineAssSquadASpawner","targetname"); + maps\_utility::array_spawn_function(var_01,::alleyscombatenemysetup,"AlleysGoalVolumeMarket"); + common_scripts\utility::flag_wait("FlagTrigAlleysMidLineCafeSpawns"); + var_02 = maps\_utility::array_spawn(var_00,0,1); + var_03 = maps\_utility::array_spawn(var_01,0,1); + common_scripts\utility::flag_set("FlagAlleysEnemySpawnsVO"); + thread alleyscombatenemycountmonitor(3); +} + +//Function Number: 44 +alleyscombatmidlinerightside() +{ + var_00 = getentarray("AlleysMidLineTacSquadBSpawner","targetname"); + maps\_utility::array_spawn_function(var_00,::alleyscombatenemysetup,"AlleysGoalVolumeJewelryStoreFloor1"); + var_01 = getent("AlleysMidLineJewelryStoreRoofSpawner","targetname"); + var_01 maps\_utility::add_spawn_function(::alleyscombatenemysetup,"AlleysGoalVolumeJewelryStoreRoof"); + common_scripts\utility::flag_wait("FlagTrigAlleysMidLineRightSideSpawns"); + var_02 = maps\_utility::array_spawn(var_00,0,1); + var_03 = var_01 maps\_utility::spawn_ai(); +} + +//Function Number: 45 +alleyscombatmidlinerightsideinterior() +{ + var_00 = getentarray("AlleysMidLineRightSideInteriorSpawner","targetname"); + maps\_utility::array_spawn_function(var_00,::alleyscombatenemysetup,"AlleysGoalVolumeBackRightBldgBottomFloors"); + common_scripts\utility::flag_wait("FlagTrigAlleysMidLineRightInteriorSpawns"); + var_01 = maps\_utility::array_spawn(var_00,0,1); +} + +//Function Number: 46 +alleyscombatbacklinefloodspawns() +{ + var_00 = getentarray("AlleysBackLineLeftFloodSpawner","targetname"); + maps\_utility::array_spawn_function(var_00,::alleyscombatenemysetup,"AlleysGoalVolumeBackLeftBldgBottomFloors"); + var_01 = getentarray("AlleysBackLineRightFloodSpawner","targetname"); + maps\_utility::array_spawn_function(var_01,::alleyscombatenemysetup,"AlleysGoalVolumeBackRightBldgBottomFloors"); + var_02 = maps\_utility::array_merge(var_00,var_01); + thread maps\_utility::flood_spawn(var_02); + thread maps\greece_code::killfloodspawnersonflag(75,"FlagTrigAlleysBackLineRetreat"); +} + +//Function Number: 47 +alleyscombatbacklineleftside() +{ + var_00 = getentarray("AlleysBackLineTacSquadASpawner","targetname"); + maps\_utility::array_spawn_function(var_00,::alleyscombatenemysetup,"AlleysGoalVolumeBackLeftBldgFloor1"); + var_01 = getentarray("AlleysBackLineAssSquadASpawner","targetname"); + maps\_utility::array_spawn_function(var_01,::alleyscombatenemysetup,"AlleysGoalVolumeBackLeftBldgFloor2"); + var_02 = getent("AlleysBackLineTowerSpawner","targetname"); + var_02 maps\_utility::add_spawn_function(::alleyscombatenemysetup,"AlleysGoalVolumeBackLeftBldgFloor3"); + common_scripts\utility::flag_wait("FlagTrigAlleysBackLineSpawns"); + var_03 = maps\_utility::array_spawn(var_00,0,1); + var_04 = maps\_utility::array_spawn(var_01,0,1); + var_05 = var_02 maps\_utility::spawn_ai(1); + common_scripts\utility::flag_set("FlagAlleysEnemySpawnsVO"); + thread alleyscombatenemycountmonitor(5); +} + +//Function Number: 48 +alleyscombatbacklineleftinteriorfloor1() +{ + var_00 = getentarray("AlleysBackLineLeftInteriorSpawner","targetname"); + maps\_utility::array_spawn_function(var_00,::alleyscombatenemysetup,"AlleysGoalVolumeBackLeftBldgFloor1"); + common_scripts\utility::flag_wait("FlagTrigAlleysBackLineLeftInterior"); + var_01 = maps\_utility::array_spawn(var_00,0,1); +} + +//Function Number: 49 +alleyscombatbacklinerightside() +{ + var_00 = getentarray("AlleysBackLineTacSquadBSpawner","targetname"); + maps\_utility::array_spawn_function(var_00,::alleyscombatenemysetup,"AlleysGoalVolumeBackRightBldgFloor1"); + var_01 = getentarray("AlleysBackLineAssSquadBSpawner","targetname"); + maps\_utility::array_spawn_function(var_01,::alleyscombatenemysetup,"AlleysGoalVolumeBackRightBldgFloor2"); + var_02 = getent("AlleysBackLinePotteryRooftopSpawner","targetname"); + var_02 maps\_utility::add_spawn_function(::alleyscombatenemysetup,"AlleysGoalVolumeBackRightBldgFloor3"); + common_scripts\utility::flag_wait("FlagTrigAlleysBackLineSpawns"); + var_03 = maps\_utility::array_spawn(var_00,0,1); + var_04 = maps\_utility::array_spawn(var_01,0,1); + var_05 = var_02 maps\_utility::spawn_ai(1); +} + +//Function Number: 50 +alleyscombatbacklinerightinteriorfloor1() +{ + var_00 = getentarray("AlleysBackLineRightInteriorSpawner","targetname"); + maps\_utility::array_spawn_function(var_00,::alleyscombatenemysetup,"AlleysGoalVolumeBackRightBldgFloor1"); + common_scripts\utility::flag_wait("FlagTrigAlleysBackLineRightInterior"); + var_01 = maps\_utility::array_spawn(var_00,0,1); +} + +//Function Number: 51 +alleyscombatbacklinerightinteriorfloor2() +{ + var_00 = getentarray("AlleysBackLineRightInteriorUpperSpawner","targetname"); + maps\_utility::array_spawn_function(var_00,::alleyscombatenemysetup,"AlleysGoalVolumeBackRightBldgFloor2"); + common_scripts\utility::flag_wait_either("FlagTrigAlleysBackLineRightUpperBackInterior","FlagTrigAlleysBackLineRightUpperFrontInterior"); + var_01 = maps\_utility::array_spawn(var_00,0,1); +} + +//Function Number: 52 +alleyscombatfinalbldgfloodspawns() +{ + var_00 = getentarray("AlleysFinalBldgFloodSpawner","targetname"); + maps\_utility::array_spawn_function(var_00,::alleyscombatenemysetup,"AlleysGoalVolumeFinalBldgFloor2"); + thread maps\_utility::flood_spawn(var_00); + thread maps\greece_code::killfloodspawnersonflag(76,"FlagTrigAlleysFinalBldgInteriorFirstRoom"); +} + +//Function Number: 53 +alleyscombatfinalbuilding() +{ + var_00 = getentarray("AlleysFinalBldgAssSquadSpawner","targetname"); + maps\_utility::array_spawn_function(var_00,::alleyscombatenemysetup,"AlleysGoalVolumeFinalBldgTotal"); + common_scripts\utility::flag_wait("FlagTriggerAlleysEnemyRPGs"); + var_01 = maps\_utility::array_spawn(var_00,0,1); +} + +//Function Number: 54 +alleyscombatfinalbuildingshotgunners() +{ + var_00 = getentarray("AlleysShotgunnerSpawnTrigs","targetname"); + var_01 = getentarray("AlleysShotgunnerSpawnerLeft","targetname"); + maps\_utility::array_spawn_function(var_01,::alleyscombatenemysetup); + var_02 = getentarray("AlleysShotgunnerSpawnerMiddle","targetname"); + maps\_utility::array_spawn_function(var_02,::alleyscombatenemysetup); + var_03 = getentarray("AlleysShotgunnerSpawnerRight","targetname"); + maps\_utility::array_spawn_function(var_03,::alleyscombatenemysetup); + common_scripts\utility::flag_wait_any("TrigShotgunnerSpawnLeft","TrigShotgunnerSpawnMiddle","TrigShotgunnerSpawnRight"); + foreach(var_05 in var_00) + { + var_05 common_scripts\utility::trigger_off(); + } + + if(common_scripts\utility::flag("TrigShotgunnerSpawnLeft")) + { + var_07 = maps\_utility::array_spawn(var_01,0,1); + } + else if(common_scripts\utility::flag("TrigShotgunnerSpawnMiddle")) + { + var_07 = maps\_utility::array_spawn(var_03,0,1); + } + else + { + var_07 = maps\_utility::array_spawn(var_04,0,1); + } + + maps\_utility::waittill_dead(var_07); + level notify("AlleysShotgunnersAllDead"); +} + +//Function Number: 55 +alleyscombatfinalbuildinginterior() +{ + var_00 = getentarray("AlleysFinalBldgInteriorFirstRoomSpawner","targetname"); + maps\_utility::array_spawn_function(var_00,::alleyscombatenemysetup,"AlleysGoalVolumeFinalBldgFloor2Left"); + var_01 = getentarray("AlleysFinalBldgInteriorLastRoomSpawner","targetname"); + maps\_utility::array_spawn_function(var_01,::alleyscombatenemysetup,"AlleysGoalVolumeFinalBldgBalcony"); + common_scripts\utility::flag_wait("FlagTrigAlleysFinalBldgInteriorFirstRoom"); + common_scripts\utility::flag_wait("FlagTrigAlleysFinalBldgInteriorLastRoom"); + thread alleyscombatenemycountmonitor(0); +} + +//Function Number: 56 +alleyscombatenemysetup(param_00,param_01) +{ + level.alleysremainingenemies = common_scripts\utility::add_to_array(level.alleysremainingenemies,self); + if(!isdefined(self.script_noteworthy)) + { + self.script_noteworthy = "AlleysCanRetreat"; + } + else if(self.script_noteworthy == "AlleysCannotRetreat") + { + maps\_hms_utility::aideleteonflag("FlagAlleysDeleteAI",100,1); + } + + if(self.classname == "actor_enemy_kva_civ_smg") + { + thread maps\_rambo::enable_militia_behavior(); + } + + if(self.classname == "actor_enemy_kva_shotgun") + { + thread maps\_hms_ai_utility::setupshotgunkva(param_00); + } + + if(self.classname == "actor_enemy_kva_civ_lmg" || self.classname == "actor_enemy_kva_civ_rpg") + { + self.grenadeammo = 0; + } + + if(self.classname != "actor_enemy_kva_shotgun" && isdefined(param_00)) + { + var_02 = getent(param_00,"targetname"); + self setgoalvolumeauto(var_02); + } +} + +//Function Number: 57 +alleysspawnrpgenemies() +{ + if(level.start_point == "start_alleys_art") + { + return; + } + + common_scripts\utility::flag_wait("FlagTriggerAlleysEnemyRPGs"); + var_00 = maps\_utility::array_spawn_targetname("AlleysEnemyRPGguySpawner",0,1); + level.alleysremainingenemies = common_scripts\utility::add_to_array(level.alleysremainingenemies,self); + foreach(var_02 in var_00) + { + var_02.dropweapon = 0; + level.alleysremainingenemies = common_scripts\utility::add_to_array(level.alleysremainingenemies,var_02); + } + + var_04 = getent("AlleysRPGtriggerLeft","targetname"); + var_05 = getent("AlleysRPGtriggerRight","targetname"); + if(level.player istouching(var_04)) + { + var_06 = "RPGleft"; + } + else if(level.player istouching(var_06)) + { + var_06 = "RPGright"; + } + else + { + var_06 = "RPGcenter"; + } + + var_07 = getnodearray("RPGguyNode","targetname"); + foreach(var_09 in var_07) + { + if(var_09.script_noteworthy != var_06) + { + var_07 = common_scripts\utility::array_remove(var_07,var_09); + } + } + + var_0B = common_scripts\utility::get_array_of_farthest(level.player.origin,var_07); + var_0C = undefined; + for(var_0D = 0;var_0D < var_00.size;var_0D++) + { + var_0C = var_0B[var_0D]; + var_02 = var_00[var_0D]; + if(isdefined(var_0C)) + { + var_02 maps\_utility::set_goal_radius(64); + var_02 maps\_utility::set_goal_node(var_0C); + maps\_hms_utility::printlnscreenandconsole(var_02.script_noteworthy + " is now moving to " + var_0C.origin); + var_02 thread alleysrpgguyshootfirst(var_0C); + } + } +} + +//Function Number: 58 +alleysrpgguyshootfirst(param_00) +{ + self endon("death"); + self endon("damage"); + self waittill("goal"); + if(isdefined(param_00.target)) + { + var_01 = undefined; + var_01 = common_scripts\utility::getstruct(param_00.target,"targetname"); + if(isdefined(var_01.dirty) && var_01.dirty == 1) + { + if(common_scripts\utility::cointoss()) + { + maps\_hms_utility::printlnscreenandconsole(self.script_noteworthy + " is not firing a fake rocket - too dirty!"); + return; + } + } + + var_02 = undefined; + var_03 = common_scripts\utility::getstructarray("RPGendPoint","targetname"); + var_04 = common_scripts\utility::get_array_of_closest(level.player.origin,var_03); + foreach(var_06 in var_04) + { + if(sighttracepassed(var_01.origin,var_06.origin,0,undefined)) + { + var_02 = var_06; + break; + } + } + + if(isdefined(var_02)) + { + maps\_hms_utility::printlnscreenandconsole(self.script_noteworthy + " is firing a fake rocket from " + var_01.origin + " to " + var_02.origin); + magicbullet("iw5_mahemstraight_sp",var_01.origin,var_02.origin); + var_08 = common_scripts\utility::getstructarray("RPGstartPoint","script_noteworthy"); + foreach(var_06 in var_08) + { + var_06.dirty = 1; + } + + soundscripts\_snd::snd_message("alleys_rpg_fight_music"); + wait(1); + self notify("clear_target"); + } + } + + self.favoriteenemy = level.player; +} + +//Function Number: 59 +monitordestructiblewalls() +{ + var_00 = getentarray("AlleysDestRocketWall","targetname"); + common_scripts\utility::array_thread(var_00,::rpgdestroywall); +} + +//Function Number: 60 +rpgdestroywall() +{ + self setcandamage(1); + for(;;) + { + self waittill("damage",var_00,var_01,var_02,var_03,var_04); + if(isdefined(var_04)) + { + var_04 = tolower(var_04); + if(var_04 == "mod_projectile" || var_04 == "mod_projectile_splash" || var_04 == "mod_explosive" || var_04 == "splash") + { + self notify("destroyed"); + self delete(); + return; + } + } + + wait 0.05; + } +} + +//Function Number: 61 +alleysvideolog() +{ + common_scripts\utility::flag_wait("AlleysVisitorGateIsOpen"); + maps\_shg_utility::play_videolog("manhunt_videolog","screen_add"); +} + +//Function Number: 62 +trans2alleyscivilians() +{ + thread trans2alleysbackdoorciv(); + thread trans2alleystunnelrunners(); + thread trans2alleysdoorpeek(); + if(level.nextgen) + { + thread trans2alleysdoorrunin(); + } + + thread trans2alleyssitsmoke(); + thread trans2alleysbridgecivilians(); + thread trans2alleyscafecivilians(); + thread alleysdronecivilians(); + thread trans2alleysciviliansvskva(); + thread trans2alleyscivwindowpeek(); +} + +//Function Number: 63 +trans2alleysbackdoorciv() +{ + var_00 = common_scripts\utility::getstruct("PanicOrg","targetname"); + var_01 = maps\_utility::spawn_targetname("backdoor_Civ",1); + var_01.animname = "backdoor_civ"; + var_01.allowpain = 0; + var_02 = getent("backdoor","targetname"); + var_02.animname = "backdoor"; + var_02 maps\_utility::assign_animtree("backdoor"); + var_03 = [var_01,var_02]; + var_00 maps\_anim::anim_first_frame(var_03,"backdoor_panic"); + common_scripts\utility::flag_wait("trig_Civs_panic"); + var_00 maps\_anim::anim_single(var_03,"backdoor_panic"); + wait 0.05; + if(isdefined(var_01) && isalive(var_01)) + { + var_01 delete(); + } + + common_scripts\utility::flag_wait("FlagDeleteAlleyCivilians"); + var_02 delete(); +} + +//Function Number: 64 +trans2alleystunnelrunners() +{ + var_00 = common_scripts\utility::getstructarray("Trans2AlleysTunnelRunnerGoal","targetname"); + common_scripts\utility::flag_wait("FlagTrigTrans2AlleysTunnelRunners"); + soundscripts\_snd::snd_message("tunnel_runner_walla"); + var_01 = []; + var_02 = maps\_utility::array_spawn_targetname("Trans2AlleysTunnelRunnerSpawner"); + foreach(var_04 in var_02) + { + var_05 = common_scripts\utility::random(var_00); + var_04 maps\_utility::set_goal_pos(var_05.origin); + var_04.allowpain = 0; + var_01[var_01.size] = var_04; + } + + common_scripts\utility::flag_wait("FlagDeleteAlleyCivilians"); + maps\_utility::array_delete(var_01); +} + +//Function Number: 65 +trans2alleysmagicdisappearingworldevent() +{ + var_00 = getent("Trans2AlleysStreamingBlockerTruck","targetname"); + var_01 = getent("Trans2AlleysTunnelBlocker","targetname"); + var_02 = getent("Trans2AlleysTunnelGateLeft","targetname"); + var_03 = getent("Trans2AlleysTunnelGateRight","targetname"); + var_04 = getentarray("Trans2AlleysTunnelGateClip","targetname"); + var_00 common_scripts\utility::hide_notsolid(); + common_scripts\utility::flag_wait("FlagTriggerAlleysTransitionStreet"); + var_00 show(); + var_01 movez(128,0.5); + var_02 rotateyaw(150,0.5); + var_03 rotateyaw(-80,0.5); + foreach(var_06 in var_04) + { + var_06 notsolid(); + var_06 delete(); + } + + if(level.currentgen) + { + if(!istransientloaded("greece_middle_tr")) + { + level notify("tff_pre_intro_to_middle"); + unloadtransient("greece_intro_tr"); + loadtransient("greece_middle_tr"); + while(!istransientloaded("greece_middle_tr")) + { + wait(0.05); + } + + level notify("tff_post_intro_to_middle"); + } + } +} + +//Function Number: 66 +trans2alleysdoorpeek() +{ + var_00 = getent("Trans2AlleyDoorPeekSpawner","targetname"); + var_01 = var_00 maps\_utility::dronespawn(); + var_01.animname = "generic"; + var_01.allowpain = 0; + var_02 = common_scripts\utility::getstruct("Trans2AlleysCivPeekOrg","targetname"); + var_03 = getent("Trans2AlleysCivPeekDoor","targetname"); + var_03.animname = "peek_door"; + var_03 maps\_utility::assign_animtree("peek_door"); + var_04 = [var_03,var_01]; + var_05 = "trans_alley_civ_doors_peek_idle"; + var_06 = "trans_alley_civ_doors_peek_in"; + var_02 thread maps\_anim::anim_loop(var_04,var_05,"StopDoorPeek"); + maps\_utility::trigger_wait_targetname("Trans2AlleyDoorPeekTrig"); + var_02 notify("StopDoorPeek"); + var_02 maps\_anim::anim_single(var_04,var_06); + wait 0.05; + if(isdefined(var_01) && isalive(var_01)) + { + var_01 delete(); + } +} + +//Function Number: 67 +trans2alleyscivwindowpeek() +{ + var_00 = common_scripts\utility::getstruct("windowOrg","targetname"); + var_01 = maps\_utility::spawn_targetname("windowCiv",1); + var_01.animname = "window_civ"; + var_01.allowpain = 0; + var_02 = getent("shutters","targetname"); + var_02 maps\_utility::assign_animtree("window_shutters"); + var_02.animname = "window_shutters"; + var_03 = [var_01,var_02]; + var_00 maps\_anim::anim_first_frame(var_03,"window_peek_all"); + maps\_utility::trigger_wait_targetname("Trans2AlleyDoorRunInTrig"); + var_00 maps\_anim::anim_single(var_03,"window_peek_all"); +} + +//Function Number: 68 +trans2alleysdoorrunin() +{ + maps\_utility::trigger_wait_targetname("Trans2AlleyDoorRunInTrig"); + var_00 = getent("Trans2AlleysDoorRunInSpawner","targetname"); + var_01 = var_00 maps\_utility::spawn_ai(); + var_01.animname = "generic"; + var_01.allowpain = 0; + soundscripts\_snd::snd_message("civ_panic_door_run_in",var_01); + var_02 = common_scripts\utility::getstruct("Trans2AlleyDoorRunInOrg","targetname"); + var_03 = getent("Trans2AlleysDoorRunInDoor","targetname"); + var_03.animname = "runin_door"; + var_03 maps\_utility::assign_animtree("runin_door"); + var_04 = [var_03,var_01]; + var_05 = "trans_alley_civ_doors_runin"; + var_02 maps\_anim::anim_first_frame_solo(var_03,var_05); + var_02 maps\_anim::anim_reach_solo(var_01,var_05); + var_02 maps\_anim::anim_single(var_04,var_05); + wait 0.05; + if(isdefined(var_01) && isalive(var_01)) + { + var_01 delete(); + } +} + +//Function Number: 69 +trans2alleyssitsmoke() +{ + var_00 = getent("Trans2AlleysSitSmokeSpawner","targetname"); + var_01 = var_00 maps\_utility::spawn_ai(1); + var_01.animname = "generic"; + var_01.allowpain = 0; + var_02 = common_scripts\utility::getstruct("Trans2AlleySitSmokeOrg","targetname"); + var_03 = "hms_greece_trans_alley_sit_smoke_idle"; + var_04 = "hms_greece_trans_alley_sit_smoke_out"; + var_05 = "hms_greece_trans_alley_sit_smoke_scared_loop"; + var_02 thread maps\_anim::anim_loop_solo(var_01,var_03,"StopSitSmoke"); + maps\_utility::trigger_wait_targetname("Trans2AlleySitSmokeRunTrig"); + soundscripts\_snd::snd_message("smoking_civ_panic",var_01); + var_02 notify("StopSitSmoke"); + var_02 maps\_anim::anim_single_solo(var_01,var_04); + var_02 thread maps\_anim::anim_loop_solo(var_01,var_05); + common_scripts\utility::flag_wait("FlagTrans2AlleysCivCleanup"); + if(isdefined(var_01)) + { + var_01 delete(); + } +} + +//Function Number: 70 +trans2alleyscafecivilians() +{ + var_00 = maps\_utility::array_spawn_targetname("AlleysTransCivilianCafeSpawner",1); + foreach(var_02 in var_00) + { + var_02.animname = var_02.script_noteworthy; + var_02.allowpain = 0; + if(var_02.animname == "cafe1") + { + var_02 thread trans2alleysstandupcivcafe(); + continue; + } + + var_02 thread trans2alleyscivcafe(); + } + + common_scripts\utility::flag_wait("FlagTrans2AlleysCivCleanup"); + var_00 = common_scripts\utility::array_removeundefined(var_00); + thread maps\_utility::ai_delete_when_out_of_sight(var_00,2048); + common_scripts\utility::flag_wait("FlagDeleteAlleyCivilians"); + var_00 = common_scripts\utility::array_removeundefined(var_00); + maps\_utility::array_delete(var_00); +} + +//Function Number: 71 +trans2alleyscivcafe() +{ + self endon("death"); + maps\_utility::set_ignoreall(1); + self.allowpain = 0; + var_00 = getent("AlleysTransCafe2Org","targetname"); + var_01 = "hms_greece_trans_alley_cafe_civ_idle"; + var_00 thread maps\_anim::anim_loop_solo(self,var_01,"stop_loop"); + common_scripts\utility::flag_wait("FlagTriggerAlleysTransitionCafe"); + maps\_utility::anim_stopanimscripted(); + var_00 notify("stop_loop"); + var_02 = "hms_greece_trans_alley_cafe_civ_exit"; + var_00 maps\_anim::anim_single_solo_run(self,var_02); + var_03 = self.script_noteworthy + "goalAlleyTrans"; + var_04 = common_scripts\utility::getstruct(var_03,"targetname"); + maps\_utility::set_goal_pos(var_04.origin); +} + +//Function Number: 72 +trans2alleysstandupcivcafe() +{ + self endon("death"); + maps\_utility::set_ignoreall(1); + self.allowpain = 0; + var_00 = getent("AlleysTransCafe1Org","targetname"); + var_01 = "hms_greece_trans_alley_cafe_civ_idle"; + var_00 thread maps\_anim::anim_loop_solo(self,var_01,"stop_loop_1"); + maps\_utility::trigger_wait_targetname("Trans2AlleyCivStandUpTrig"); + maps\_utility::anim_stopanimscripted(); + var_00 notify("stop_loop_1"); + var_02 = "hms_greece_trans_alley_cafe_civ_sit2stand_01"; + var_03 = "hms_greece_trans_alley_cafe_civ_stand_idle_01"; + var_00 maps\_anim::anim_single_solo(self,var_02); + var_00 thread maps\_anim::anim_loop_solo(self,var_03,"stop_loop_2"); + common_scripts\utility::flag_wait("FlagTriggerAlleysTransitionCafe"); + maps\_utility::anim_stopanimscripted(); + var_00 notify("stop_loop_2"); + var_04 = "hms_greece_trans_alley_cafe_civ_exit"; + var_00 maps\_anim::anim_single_solo_run(self,var_04); + var_05 = self.script_noteworthy + "goalAlleyTrans"; + var_06 = common_scripts\utility::getstruct(var_05,"targetname"); + maps\_utility::set_goal_pos(var_06.origin); +} + +//Function Number: 73 +trans2alleysbridgecivilians() +{ + maps\_utility::trigger_wait_targetname("Trans2AlleyBridgeTrig"); + soundscripts\_snd::snd_message("walla_bridge_runners"); + var_00 = getent("AlleysCivBridgeSpawner","targetname"); + var_01 = common_scripts\utility::getstructarray("AlleyCivBridgeOrg","targetname"); + var_02 = maps\_hms_greece_civilian::populatedronecivilians(var_00,var_01,0,1); + thread tricklebridgecivilians(var_00,var_01); +} + +//Function Number: 74 +tricklebridgecivilians(param_00,param_01) +{ + var_02 = []; + for(;;) + { + wait(randomfloatrange(3,9)); + if(common_scripts\utility::flag("FlagTrans2AlleysCivCleanup")) + { + break; + } + + var_03 = []; + var_02 = common_scripts\utility::array_randomize(param_01); + var_04 = 25; + for(var_05 = 0;var_05 < var_02.size;var_05++) + { + var_03 = common_scripts\utility::array_add(var_03,var_02[var_05]); + if(maps\_hms_utility::cointossweighted(var_04)) + { + break; + } + + var_04 = var_04 + 25; + } + + if(var_03.size > 0) + { + var_06 = maps\_hms_greece_civilian::populatedronecivilians(param_00,var_03,0,1); + } + } +} + +//Function Number: 75 +alleysdronecivilians() +{ + var_00 = []; + thread alleysdronegawker(); + var_01 = getent("AlleysCivCowerSpawner","targetname"); + var_02 = common_scripts\utility::getstructarray("AlleyCivCowerOrg","targetname"); + var_03 = maps\_hms_greece_civilian::populatedronecivilians(var_01,var_02); + var_00 = maps\_utility::array_merge(var_03,var_00); + common_scripts\utility::flag_wait("FlagDeleteAlleyCivilians"); + var_00 = common_scripts\utility::array_removeundefined(var_00); + thread maps\_utility::ai_delete_when_out_of_sight(var_00,2048); +} + +//Function Number: 76 +alleysdronegawker() +{ + var_00 = []; + var_01 = getent("AlleysCivGawkingSpawner","targetname"); + var_02 = common_scripts\utility::getstruct("AlleyCivGawkingOrg","targetname"); + var_03 = var_01 maps\_utility::spawn_ai(1); + var_03 endon("death"); + var_00 = common_scripts\utility::add_to_array(var_00,var_03); + var_03.animname = "generic"; + var_02 thread maps\_anim::anim_loop_solo(var_03,"unarmed_cowerstand_idle","gawker_flee"); + maps\_utility::trigger_wait_targetname("Trans2AlleyCivRunnerTrig"); + var_02 notify("gawker_flee"); + var_02 maps\_anim::anim_single_solo(var_03,"unarmed_cowerstand_react_2_crouch"); + var_03 thread maps\_anim::anim_loop_solo(var_03,"unarmed_cowercrouch_idle"); + wait(1); + thread maps\_utility::ai_delete_when_out_of_sight(var_00,1024); +} + +//Function Number: 77 +trans2alleysciviliansvskva() +{ + maps\_utility::trigger_wait_targetname("Trans2AlleyCivRunnerTrig"); + var_00 = []; + var_01 = []; + var_02 = []; + var_03 = []; + var_01 = maps\_utility::array_spawn_targetname("AlleysTransCivilianRunnerSpawner",1); + var_00 = maps\_utility::array_merge(var_00,var_01); + maps\_utility::array_spawn_function_targetname("AlleysTransCivilianDyingSpawner",::trans2alleyscivdying); + var_03 = maps\_utility::array_spawn_targetname("AlleysTransCivilianDyingSpawner",1); + var_00 = maps\_utility::array_merge(var_00,var_03); + var_04 = getent("AlleysTransIntro1Org","targetname"); + var_05 = getent("AlleysTransIntro1VariantOrg","targetname"); + var_06 = "hms_greece_alleys_npc_civtd_civp1"; + foreach(var_08 in var_01) + { + var_08.allowpain = 0; + if(var_08.script_noteworthy == "runner1") + { + var_08 thread trans2alleyscivrunner(var_05,var_06); + soundscripts\_snd::snd_message("trans_civ_01_flee_kva",var_08); + } + else + { + var_08 thread trans2alleyscivrunner(var_04,var_06); + } + + if(var_08.script_noteworthy == "runner3") + { + soundscripts\_snd::snd_message("trans_civ_03_flee_kva",var_08); + } + } + + maps\_utility::trigger_wait_targetname("Trans2AlleyCivVictimTrig"); + var_0A = getent("AlleysTransIntro2Org","targetname"); + var_0B = "hms_greece_alleys_npc_civtd_civp2"; + var_02 = maps\_utility::array_spawn_targetname("AlleysTransCivilianVictimSpawner",1); + var_00 = maps\_utility::array_merge(var_00,var_02); + foreach(var_08 in var_02) + { + var_08.allowpain = 0; + var_08 thread trans2alleyscivvictim(var_0A,var_0B); + } + + var_0E = maps\_utility::array_spawn_targetname("AlleysTransExecutionerSpawner",1); + var_0E thread monitorexecutionerdeath(); + var_0F = []; + var_0F[0] = "iw5_kf5_sp_opticsthermal"; + var_0F[1] = "iw5_maul_sp_opticsreddot"; + var_0F[2] = "iw5_ak12_sp_opticstargetenhancer"; + var_0F[3] = "iw5_hbra3_sp_opticsacog2"; + for(var_10 = 0;var_10 < var_0E.size;var_10++) + { + var_0E[var_10] thread trans2alleysexecutioner(var_0A,var_0B,var_0F[var_10],var_02); + } + + thread monitorexecutionertrigger(); + common_scripts\utility::flag_wait("FlagTrans2AlleysCivCleanup"); + var_00 = common_scripts\utility::array_removeundefined(var_00); + thread maps\_utility::ai_delete_when_out_of_sight(var_00,2048); + common_scripts\utility::flag_wait("FlagDeleteAlleyCivilians"); + var_00 = common_scripts\utility::array_removeundefined(var_00); + maps\_utility::array_delete(var_00); + var_0E = maps\_utility::array_removedead_or_dying(var_0E); + thread maps\_utility::ai_delete_when_out_of_sight(var_0E,2048); +} + +//Function Number: 78 +trans2alleysexecutioner(param_00,param_01,param_02,param_03) +{ + self endon("death"); + maps\_utility::disable_long_death(); + maps\_utility::set_ignoresuppression(1); + self.grenadeammo = 0; + maps\_utility::set_ignoreall(1); + maps\_utility::set_ignoreme(1); + maps\_utility::disable_bulletwhizbyreaction(); + maps\_utility::disable_surprise(); + thread monitorexecutionerdamage(); + self.animname = self.script_noteworthy; + maps\_utility::forceuseweapon(param_02,"primary"); + killsomecivilians(param_00,param_01,param_03); + maps\_utility::anim_stopanimscripted(); + if(self.animname == "guard2") + { + thread executioner2standground(); + } + else + { + var_04 = getent("AlleyTransExecutionerVol2","targetname"); + self setgoalvolumeauto(var_04); + } + + maps\_utility::set_ignoreme(0); + maps\_utility::set_ignoreall(0); +} + +//Function Number: 79 +monitorexecutionertrigger() +{ + level endon("Trans2AlleyExecutionersReleased"); + maps\_utility::trigger_wait_targetname("Trans2AlleyReleaseExecutionersTrig"); + level notify("Trans2AlleyExecutionersReleased"); +} + +//Function Number: 80 +monitorexecutionerdamage() +{ + level endon("Trans2AlleyExecutionersReleased"); + common_scripts\utility::waittill_any("damage","death"); + level notify("Trans2AlleyExecutionersReleased"); +} + +//Function Number: 81 +monitorexecutionerdeath() +{ + maps\_utility::waittill_dead_or_dying(self); + common_scripts\utility::flag_set("FlagTrans2AlleysAllExecutionersDead"); +} + +//Function Number: 82 +executioner2standground() +{ + self endon("death"); + var_00 = getent("AlleyTransExecutionerVol1","targetname"); + self setgoalvolumeauto(var_00); + maps\_utility::trigger_wait_targetname("Trans2AlleyReleaseExecutionersTrig"); + var_01 = getent("AlleyTransExecutionerVol2","targetname"); + self setgoalvolumeauto(var_01); +} + +//Function Number: 83 +killsomecivilians(param_00,param_01,param_02) +{ + self endon("death"); + level endon("Trans2AlleyExecutionersReleased"); + if(self.animname == "guard3") + { + param_00 = getent("AlleysTransIntro3Org","targetname"); + } + + param_00 maps\_anim::anim_single_solo(self,param_01); +} + +//Function Number: 84 +trans2alleyscivrunner(param_00,param_01) +{ + self endon("death"); + maps\_utility::set_ignoreall(1); + self.animname = self.script_noteworthy; + self.allowpain = 0; + param_00 thread maps\_anim::anim_single_solo_run(self,param_01); + var_02 = self.script_noteworthy + "goalAlleyTrans"; + var_03 = common_scripts\utility::getstruct(var_02,"targetname"); + maps\_utility::set_goal_pos(var_03.origin); +} + +//Function Number: 85 +trans2alleyscivdying() +{ + self endon("death"); + maps\_utility::set_ignoreall(1); + self.animname = "generic"; + var_00 = self.script_noteworthy + "AlleyTrans"; + var_01 = getent(var_00,"targetname"); + var_02 = var_01.animation; + var_01 maps\_anim::anim_single_solo(self,var_02); + self startragdoll(); + maps\greece_code::kill_no_react(); +} + +//Function Number: 86 +trans2alleyscivvictim(param_00,param_01) +{ + self endon("death"); + maps\_utility::set_ignoreall(1); + self.animname = self.script_noteworthy; + self.allowpain = 0; + if(self.animname == "victim1") + { + param_00 maps\_anim::anim_single_solo(self,param_01); + self startragdoll(); + maps\greece_code::kill_no_react(); + return; + } + + if(self.animname == "victim2" || self.animname == "victim3") + { + param_00 thread maps\_anim::anim_single_solo_run(self,param_01); + var_02 = self.script_noteworthy + "goalAlleyTrans"; + var_03 = common_scripts\utility::getstruct(var_02,"targetname"); + maps\_utility::set_goal_pos(var_03.origin); + return; + } + + if(self.animname == "victim4") + { + var_04 = "hms_greece_alleys_npc_civtd_civp2_04_idle"; + param_00 maps\_anim::anim_single_solo(self,param_01); + param_00 thread maps\_anim::anim_loop_solo(self,var_04); + return; + } + + if(self.animname == "victim5") + { + var_04 = "hms_greece_alleys_npc_civtd_civp2_05_idle"; + param_00 maps\_anim::anim_single_solo(self,param_01); + var_02 = self.script_noteworthy + "goalAlleyTrans"; + var_03 = common_scripts\utility::getstruct(var_02,"targetname"); + maps\_utility::set_goal_pos(var_03.origin); + return; + } + + param_00 thread maps\_anim::anim_single_solo(self,param_01); + maps\_utility::set_goal_pos(self.origin); +} + +//Function Number: 87 +alleysvehiclemonitor() +{ + level endon("ScrambleJumpWatcherStop"); + var_00 = getent("AlleysEndCar","targetname"); + var_00 thread alleysvehicleexplodeondeath(); + for(;;) + { + var_00 waittill("damage",var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A); + if(isdefined(var_05) && isexplosivedamagemod(var_05)) + { + var_00 dodamage(var_01,var_00.origin); + } + + wait 0.05; + } +} + +//Function Number: 88 +alleysvehicleexplodeondeath() +{ + level endon("ScrambleJumpWatcherStop"); + self waittill("death"); + radiusdamage(self.origin,200,100,10); + physicsexplosionsphere(self.origin,300,100,1.5); + earthquake(0.5,0.3,self.origin,600); +} \ No newline at end of file diff --git a/AW/PC/maps/greece_alleys_anim.gsc b/AW/PC/maps/greece_alleys_anim.gsc new file mode 100644 index 0000000..e6992ab --- /dev/null +++ b/AW/PC/maps/greece_alleys_anim.gsc @@ -0,0 +1,147 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: greece_alleys_anim.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 9 + * Decompile Time: 160 ms + * Timestamp: 4/22/2024 2:30:22 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + ilanaanims(); + playeranims(); + civiliananims(); + alleysintroanims(); + alleyscafeanims(); + propanims(); +} + +//Function Number: 2 +playeranims() +{ + level.scr_animtree["player_alleys_rig"] = #animtree; + level.scr_model["player_alleys_rig"] = "viewbody_atlas_military"; + level.scr_anim["player_alleys_rig"]["alleys_gate_rip"] = %hms_greece_alleys_gate_rip_vm; +} + +//Function Number: 3 +ilanaanims() +{ + level.scr_anim["Ilona"]["safehouse_gate_bash"] = %hms_greece_safehouse_gate_bash_illana; + maps\_anim::addnotetrack_notify("Ilona","Start_gate_anim","GateAnimStart","safehouse_gate_bash"); + maps\_anim::addnotetrack_customfunction("Ilona","Start_gate_anim",::alleysgatebashrumblelight,"safehouse_gate_bash"); + level.scr_anim["Ilona"]["trans_alley_sprint_wpn_ilana"][0] = %hms_greece_trans_alley_sprint_wpn_ilana; +} + +//Function Number: 4 +civiliananims() +{ + level.scr_anim["generic"]["trans_alley_civ_doors_peek_out"] = %hms_greece_trans_alley_civ_doors_peek_out; + level.scr_anim["generic"]["trans_alley_civ_doors_peek_idle"][0] = %hms_greece_trans_alley_civ_doors_peek_idle; + level.scr_anim["generic"]["trans_alley_civ_doors_peek_in"] = %hms_greece_trans_alley_civ_doors_peek_in; + level.scr_anim["generic"]["trans_alley_civ_doors_runin"] = %hms_greece_trans_alley_civ_doors_runin; + level.scr_anim["generic"]["hms_greece_trans_alley_sit_smoke_idle"][0] = %hms_greece_trans_alley_sit_smoke_idle; + level.scr_anim["generic"]["hms_greece_trans_alley_sit_smoke_out"] = %hms_greece_trans_alley_sit_smoke_out; + level.scr_anim["generic"]["hms_greece_trans_alley_sit_smoke_scared_loop"][0] = %hms_greece_trans_alley_sit_smoke_scared_loop; + level.scr_anim["generic"]["hms_greece_trans_alley_civ_gawk_phone_mir"][0] = %hms_greece_trans_alley_civ_gawk_phone_mir; + level.scr_anim["generic"]["unarmed_cowerstand_idle"][0] = %unarmed_cowerstand_idle; + level.scr_anim["generic"]["unarmed_cowerstand_react_2_crouch"] = %unarmed_cowerstand_react_2_crouch; + level.scr_anim["generic"]["unarmed_cowercrouch_idle"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["ch_pragueb_15_6_wounded_civ_02_loop"][0] = %ch_pragueb_15_6_wounded_civ_02_loop; + level.scr_anim["generic"]["civilain_crouch_hide_idle_loop"][0] = %civilain_crouch_hide_idle_loop; + level.scr_anim["generic"]["sf_a_civ_injured_seated_helper"][0] = %sf_a_civ_injured_seated_helper; + level.scr_anim["generic"]["sf_a_civ_injured_seated_helped"][0] = %sf_a_civ_injured_seated_helped; + level.scr_anim["generic"]["sf_a_civ_injured_seated_crying"][0] = %sf_a_civ_injured_seated_crying; + level.scr_anim["generic"]["sf_a_civ_injured_seated_face"][0] = %sf_a_civ_injured_seated_face; + level.scr_anim["generic"]["sf_a_civ_injured_seated_mourner"][0] = %sf_a_civ_injured_seated_mourner; + level.scr_anim["generic"]["sf_a_civ_injured_seated_mourned"][0] = %sf_a_civ_injured_seated_mourned; + level.scr_anim["generic"]["sf_a_civillian_pedestrian_run_exit_01"] = %sf_a_civillian_pedestrian_run_exit_01; + level.scr_anim["generic"]["sf_a_civillian_pedestrian_run_exit_02"] = %sf_a_civillian_pedestrian_run_exit_02; + level.scr_anim["generic"]["sf_a_civillian_pedestrian_run_exit_03"] = %sf_a_civillian_pedestrian_run_exit_03; + level.scr_anim["generic"]["sf_a_civillian_pedestrian_run_exit_04"] = %sf_a_civillian_pedestrian_run_exit_04; + level.scr_anim["generic"]["sf_a_civillian_pedestrian_run_exit_05"] = %sf_a_civillian_pedestrian_run_exit_05; + level.scr_anim["generic"]["sf_a_civillian_pedestrian_run_exit_06"] = %sf_a_civillian_pedestrian_run_exit_06; + level.scr_anim["generic"]["sf_a_civillian_pedestrian_run_exit_07"] = %sf_a_civillian_pedestrian_run_exit_07; + level.scr_anim["Male_Panic"]["panic_pair_cov_loop"][0] = %hms_greece_trans_alley_civ_panic_pair_cov_loop_m; + level.scr_anim["Female_Panic"]["panic_pair_cov_loop"][0] = %hms_greece_trans_alley_civ_panic_pair_cov_loop_f; + level.scr_anim["backdoor_civ"]["backdoor_panic"] = %hms_greece_trans_alley_civ_panic_backdoor_npc; + level.scr_anim["window_civ"]["window_peek_all"] = %hms_greece_trans_alley_civ_window_peek_all; + level.scr_anim["generic"]["civilian_leaning_death"] = %civilian_leaning_death; + level.scr_anim["generic"]["civilian_crawl_1_death_A"] = %civilian_crawl_1_death_a; +} + +//Function Number: 5 +alleyscafeanims() +{ + level.scr_anim["cafe1"]["hms_greece_trans_alley_cafe_civ_idle"][0] = %hms_greece_trans_alley_cafe_civ_idle_01; + level.scr_anim["cafe2"]["hms_greece_trans_alley_cafe_civ_idle"][0] = %hms_greece_trans_alley_cafe_civ_idle_02; + level.scr_anim["cafe3"]["hms_greece_trans_alley_cafe_civ_idle"][0] = %hms_greece_trans_alley_cafe_civ_idle_03; + level.scr_anim["cafe4"]["hms_greece_trans_alley_cafe_civ_idle"][0] = %hms_greece_trans_alley_cafe_civ_idle_04; + level.scr_anim["cafe5"]["hms_greece_trans_alley_cafe_civ_idle"][0] = %hms_greece_trans_alley_cafe_civ_idle_05; + level.scr_anim["cafe6"]["hms_greece_trans_alley_cafe_civ_idle"][0] = %hms_greece_trans_alley_cafe_civ_idle_06; + level.scr_anim["cafe7"]["hms_greece_trans_alley_cafe_civ_idle"][0] = %hms_greece_trans_alley_cafe_civ_idle_07; + level.scr_anim["cafe1"]["hms_greece_trans_alley_cafe_civ_sit2stand_01"] = %hms_greece_trans_alley_cafe_civ_sit2stand_01; + level.scr_anim["cafe1"]["hms_greece_trans_alley_cafe_civ_stand_idle_01"][0] = %hms_greece_trans_alley_cafe_civ_stand_idle_01; + level.scr_anim["cafe1"]["hms_greece_trans_alley_cafe_civ_exit"] = %hms_greece_trans_alley_cafe_civ_exit_01; + level.scr_anim["cafe2"]["hms_greece_trans_alley_cafe_civ_exit"] = %hms_greece_trans_alley_cafe_civ_exit_02; + level.scr_anim["cafe3"]["hms_greece_trans_alley_cafe_civ_exit"] = %hms_greece_trans_alley_cafe_civ_exit_03; + level.scr_anim["cafe4"]["hms_greece_trans_alley_cafe_civ_exit"] = %hms_greece_trans_alley_cafe_civ_exit_04; + level.scr_anim["cafe5"]["hms_greece_trans_alley_cafe_civ_exit"] = %hms_greece_trans_alley_cafe_civ_exit_05; + level.scr_anim["cafe6"]["hms_greece_trans_alley_cafe_civ_exit"] = %hms_greece_trans_alley_cafe_civ_exit_06; + level.scr_anim["cafe7"]["hms_greece_trans_alley_cafe_civ_exit"] = %hms_greece_trans_alley_cafe_civ_exit_07; +} + +//Function Number: 6 +alleysintroanims() +{ + level.scr_anim["runner1"]["hms_greece_alleys_npc_civtd_civp1"] = %hms_greece_alleys_npc_civtd_civp1_01; + level.scr_anim["runner3"]["hms_greece_alleys_npc_civtd_civp1"] = %hms_greece_alleys_npc_civtd_civp1_03; + level.scr_anim["guard1"]["hms_greece_alleys_npc_civtd_civp2"] = %hms_greece_alleys_npc_civtd_guard_01; + level.scr_anim["guard2"]["hms_greece_alleys_npc_civtd_civp2"] = %hms_greece_alleys_npc_civtd_guard_02; + level.scr_anim["guard3"]["hms_greece_alleys_npc_civtd_civp2"] = %det_casual_stopstarts_walk_to_idle_burke; + level.scr_anim["victim1"]["hms_greece_alleys_npc_civtd_civp2"] = %hms_greece_alleys_npc_civtd_civp2_01; + level.scr_anim["victim2"]["hms_greece_alleys_npc_civtd_civp2"] = %hms_greece_alleys_npc_civtd_civp2_02; + level.scr_anim["victim3"]["hms_greece_alleys_npc_civtd_civp2"] = %hms_greece_alleys_npc_civtd_civp2_03; + level.scr_anim["victim4"]["hms_greece_alleys_npc_civtd_civp2"] = %hms_greece_alleys_npc_civtd_civp2_04; + level.scr_anim["victim4"]["hms_greece_alleys_npc_civtd_civp2_04_idle"][0] = %hms_greece_alleys_npc_civtd_civp2_04_idle; + level.scr_anim["victim5"]["hms_greece_alleys_npc_civtd_civp2"] = %hms_greece_alleys_npc_civtd_civp2_05; + level.scr_anim["victim5"]["hms_greece_alleys_npc_civtd_civp2_05_idle"][0] = %hms_greece_alleys_npc_civtd_civp2_05_idle; +} + +//Function Number: 7 +propanims() +{ + level.scr_animtree["peek_door"] = #animtree; + level.scr_anim["peek_door"]["trans_alley_civ_doors_peek_out"] = %hms_greece_trans_alley_civ_doors_peek_out_door; + level.scr_anim["peek_door"]["trans_alley_civ_doors_peek_idle"][0] = %hms_greece_trans_alley_civ_doors_peek_idle_door; + level.scr_anim["peek_door"]["trans_alley_civ_doors_peek_in"] = %hms_greece_trans_alley_civ_doors_peek_in_door; + level.scr_animtree["runin_door"] = #animtree; + level.scr_anim["runin_door"]["trans_alley_civ_doors_runin"] = %hms_greece_trans_alley_civ_doors_runin_door; + level.scr_animtree["window_shutters"] = #animtree; + level.scr_anim["window_shutters"]["window_peek_all"] = %hms_greece_trans_alley_civ_window_peek_all_window; + level.scr_animtree["backdoor"] = #animtree; + level.scr_anim["backdoor"]["backdoor_panic"] = %hms_greece_trans_alley_civ_panic_backdoor_door; + level.scr_animtree["alley_gate"] = #animtree; + level.scr_anim["alley_gate"]["safehouse_gate_bash"] = %hms_greece_safehouse_gate_bash_prop; + level.scr_animtree["visitorgate"] = #animtree; + level.scr_anim["visitorgate"]["alleys_gate_rip"] = %hms_greece_alleys_gate_rip_gate; + maps\_anim::addnotetrack_customfunction("visitorgate","ps_gate_rip",::alleysgateriprumbleheavy,"alleys_gate_rip"); +} + +//Function Number: 8 +alleysgatebashrumblelight(param_00) +{ + earthquake(0.25,0.25,param_00.origin,256); + level.player playrumbleonentity("damage_light"); +} + +//Function Number: 9 +alleysgateriprumbleheavy(param_00) +{ + thread maps\greece_alleys::alleysgateripunblockpath(); + earthquake(0.5,0.5,level.player.origin,128); + level.player playrumbleonentity("damage_heavy"); +} \ No newline at end of file diff --git a/AW/PC/maps/greece_alleys_vo.gsc b/AW/PC/maps/greece_alleys_vo.gsc new file mode 100644 index 0000000..b0f1990 --- /dev/null +++ b/AW/PC/maps/greece_alleys_vo.gsc @@ -0,0 +1,197 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: greece_alleys_vo.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 18 + * Decompile Time: 267 ms + * Timestamp: 4/22/2024 2:30:23 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setupalleysvo(); + thread startalleysdialoguethreads(); +} + +//Function Number: 2 +setupalleysvo() +{ + level.dialogdangerzone = 0; +} + +//Function Number: 3 +startalleysdialoguethreads() +{ + thread alleysintrotransitiondialogue(); + thread alleysgatebash(); + thread alleysstreettransitiondialogue(); + thread alleyskvaintrodialogue(); + thread alleysbegincombatdialog(); + thread alleysenemyrpg(); + thread alleysmidpointreminder(); + thread alleyscombatenterbuilding(); + thread alleysilanaleadstheway(); + thread alleysvisitorcentergate(); + thread alleyssniperpip(); + thread alleysenemyspawns(); +} + +//Function Number: 4 +alleysintrotransitiondialogue() +{ + common_scripts\utility::flag_wait("FlagSafehouseExitGateOpen"); + maps\_hms_utility::playdialog(level.dialogtable,"AlleysTransitionIntro"); +} + +//Function Number: 5 +alleysgatebash() +{ + common_scripts\utility::flag_wait("FlagKickSafehouseExitGate"); + wait(2); + maps\_hms_utility::playdialog(level.dialogtable,"AlleysThroughGate"); +} + +//Function Number: 6 +alleysstreettransitiondialogue() +{ + common_scripts\utility::flag_wait("FlagTriggerAlleysTransitionStreet"); + maps\_hms_utility::playdialog(level.dialogtable,"AlleysTransitionStreet"); + soundscripts\_snd::snd_message("start_alleys_combat_music"); +} + +//Function Number: 7 +alleyskvaintrodialogue() +{ + common_scripts\utility::flag_wait("FlagTrigTrans2AlleyCivBattle"); + level.allies["Ilona"] maps\_hms_utility::waittillbcsdone("Ilona"); + maps\_hms_utility::playdialog(level.dialogtable,"AlleysBeginCombat"); + level.allies["Ilona"] maps\_utility::set_battlechatter(1); +} + +//Function Number: 8 +alleysbegincombatdialog() +{ + common_scripts\utility::flag_wait("FlagTrigAlleysFrontLineShowySpawns"); + level.allies["Ilona"] maps\_hms_utility::waittillbcsdone("Ilona"); + maps\_hms_utility::playdialog(level.dialogtable,"AlleysEnemyNote"); + level.allies["Ilona"] maps\_utility::set_battlechatter(1); +} + +//Function Number: 9 +alleysenemyrpg() +{ + common_scripts\utility::flag_wait("FlagTriggerAlleysEnemyRPGs"); + wait(1); + level.allies["Ilona"] maps\_hms_utility::waittillbcsdone("Ilona"); + maps\_hms_utility::playdialog(level.dialogtable,"AlleysEnemyRocket"); + level.allies["Ilona"] maps\_utility::set_battlechatter(1); +} + +//Function Number: 10 +alleysmidpointreminder() +{ + common_scripts\utility::flag_wait("FlagTrigAlleysBackLineSpawns"); + level.allies["Ilona"] maps\_hms_utility::waittillbcsdone("Ilona"); + maps\_hms_utility::playdialog(level.dialogtable,"AlleysEnemyReminderAgain"); + level.allies["Ilona"] maps\_utility::set_battlechatter(1); +} + +//Function Number: 11 +alleysenemyspawns() +{ + level endon("AlleysAllEnemiesDead"); + for(;;) + { + common_scripts\utility::flag_wait("FlagAlleysEnemySpawnsVO"); + if(common_scripts\utility::cointoss()) + { + level.allies["Ilona"] maps\_hms_utility::waittillbcsdone("Ilona"); + maps\_hms_utility::playdialog(level.dialogtable,"AlleysEnemySpawn",undefined,undefined,undefined,1); + level.allies["Ilona"] maps\_utility::set_battlechatter(1); + } + + wait(randomfloatrange(5,15)); + common_scripts\utility::flag_clear("FlagAlleysEnemySpawnsVO"); + } +} + +//Function Number: 12 +alleysenemyretreat() +{ + if(level.dialogdangerzone == 0) + { + if(maps\_hms_utility::cointossweighted(25)) + { + level.allies["Ilona"] maps\_hms_utility::waittillbcsdone("Ilona"); + maps\_hms_utility::playdialog(level.dialogtable,"AlleysEnemyRetreat",undefined,undefined,undefined,1); + level.allies["Ilona"] maps\_utility::set_battlechatter(1); + } + } +} + +//Function Number: 13 +alleysdialogtimer() +{ + level.dialogdangerzone = 1; + wait(10); + level.dialogdangerzone = 0; +} + +//Function Number: 14 +alleyscombatenterbuilding() +{ + var_00 = getentarray("AlleysFrontLineUniqueTrig","targetname"); + var_01 = getentarray("AlleysBackLineUniqueTrig","targetname"); + var_02 = common_scripts\utility::array_combine(var_00,var_01); + foreach(var_04 in var_02) + { + var_04 waittill("trigger",var_05); + level.allies["Ilona"] maps\_hms_utility::waittillbcsdone("Ilona"); + thread maps\_hms_utility::playdialog(level.dialogtable,"AlleysEnemyEnterBuilding",undefined,undefined,undefined,1); + level.allies["Ilona"] maps\_utility::set_battlechatter(1); + } +} + +//Function Number: 15 +alleysilanaleadstheway() +{ + common_scripts\utility::flag_wait("AlleysVisitorGateIsOpen"); + maps\_hms_utility::playdialog(level.dialogtable,"AlleysEnemyIlonaLeads",undefined,undefined,undefined,1); +} + +//Function Number: 16 +alleysvisitorcentergate() +{ + level waittill("AlleysAllEnemiesDead"); + level.allies["Ilona"] maps\_hms_utility::waittillbcsdone("Ilona"); + maps\_hms_utility::playdialog(level.dialogtable,"AlleysGateRipIntro",undefined,undefined,undefined,1); + thread alleysvisitorcentergatereminder(); +} + +//Function Number: 17 +alleysvisitorcentergatereminder() +{ + level endon("NotifyAlleysGateRipStarted"); + wait(20); + while(!common_scripts\utility::flag("AlleysGateRipStarted")) + { + wait(randomfloatrange(10,15)); + maps\_hms_utility::playdialog(level.dialogtable,"AlleysPickup",undefined,undefined,undefined,1); + } +} + +//Function Number: 18 +alleyssniperpip() +{ + common_scripts\utility::flag_wait("AlleysVisitorGateIsOpen"); + level.player allowsprint(0); + level.player allowdodge(0); + wait(2); + soundscripts\_snd::snd_message("alleys_music_end"); + maps\_hms_utility::playdialog(level.dialogtable,"VideoLog"); + level.player allowsprint(1); + level.player allowdodge(1); + common_scripts\utility::flag_set("FlagAlleysPipComplete"); +} \ No newline at end of file diff --git a/AW/PC/maps/greece_anim.gsc b/AW/PC/maps/greece_anim.gsc new file mode 100644 index 0000000..4ca99ef --- /dev/null +++ b/AW/PC/maps/greece_anim.gsc @@ -0,0 +1,52 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: greece_anim.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 6 + * Decompile Time: 95 ms + * Timestamp: 4/22/2024 2:30:23 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(level.nextgen) + { + anim.forced_s1_motionset = 1; + } + + player_setupanimations(); + burke_setupanimations(); + enemy_setupanimations(); + civilian_setupanimations(); + rope_setupanimation(); +} + +//Function Number: 2 +player_setupanimations() +{ + level.scr_animtree["player_rig"] = #animtree; + level.scr_model["player_rig"] = "viewhands_atlas_military"; + level.scr_anim["player_rig"]["knockdown"] = %player_view_dog_knockdown_saved; +} + +//Function Number: 3 +burke_setupanimations() +{ +} + +//Function Number: 4 +enemy_setupanimations() +{ +} + +//Function Number: 5 +civilian_setupanimations() +{ +} + +//Function Number: 6 +rope_setupanimation() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/greece_aud.gsc b/AW/PC/maps/greece_aud.gsc new file mode 100644 index 0000000..3dbb9a8 --- /dev/null +++ b/AW/PC/maps/greece_aud.gsc @@ -0,0 +1,3275 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: greece_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 245 + * Decompile Time: 3566 ms + * Timestamp: 4/22/2024 2:30:34 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + config_system(); + init_snd_flags(); + init_globals(); + launch_threads(); + launch_loops(); + thread launch_line_emitters(); + create_level_envelop_arrays(); + precache_presets(); + register_snd_messages(); +} + +//Function Number: 2 +config_system() +{ + level._snd.context_overrides = [["mute",0],["slomo",0],["deathsdoor",0],["mhunt_safehouse_exit",0]]; + soundscripts\_audio::set_stringtable_mapname("shg"); + soundscripts\_snd_filters::snd_set_occlusion("med_occlusion"); + soundscripts\_snd_timescale::snd_set_timescale("mhunt_global"); +} + +//Function Number: 3 +init_snd_flags() +{ + common_scripts\utility::flag_init("aud_hades_door_breach"); +} + +//Function Number: 4 +init_globals() +{ + level._snd.context_overrides = [["mute",0],["slomo",0],["deathsdoor",0],["mhunt_safehouse_exit",0]]; +} + +//Function Number: 5 +launch_threads() +{ + if(soundscripts\_audio::aud_is_specops()) + { + return; + } + + thread footstep_environmental_elements(); + var_00 = getent("audio_safehouse_int","targetname"); + var_00 thread safehouse_int_trigger_think(); + var_01 = getent("audio_safehouse_first_floor","targetname"); + var_01 thread first_floor_trigger_think(); + var_02 = getent("audio_safehouse_second_floor","targetname"); + var_02 thread second_floor_trigger_think(); + var_03 = getent("mhunt_trans_alleys_end_alley","targetname"); + var_03 thread trans_alleys_end_alley_trigger(); + var_04 = getent("mhunt_trans_alleys_end_corner","targetname"); + var_04 thread trans_alleys_end_corner_trigger(); + var_05 = getent("audio_alley_halfway_point","targetname"); + var_05 thread alleys_rpg_music_backup_trigger(); + var_06 = getent("mhunt_int_back_alleys_to_sniper_scramble","targetname"); + var_06 thread alley_ending_point_trigger(); + var_07 = getentarray("sniper_interior_trigger","targetname"); + thread sniper_interior_trigger_think(var_07); + var_08 = getentarray("audio_hotel_broken_glass_pile","targetname"); + thread hotel_glass_footstep_think(var_08); + var_09 = getent("audio_hotel_crowd_panic_wait","targetname"); + var_09 thread hotel_crowd_panic_trigger(); + var_0A = getent("audio_restaurant_water_floor","targetname"); + thread restaurant_wet_floor_think(var_0A); +} + +//Function Number: 6 +launch_loops() +{ + common_scripts\utility::loop_fx_sound("amb_mhunt_cafe_beach_lp",(21668,70325,-563),1); + common_scripts\utility::loop_fx_sound("amb_greece_church_bells_lp",(22651,71204,-563),1); + common_scripts\utility::loop_fx_sound("amb_mhunt_mrkt_walla_lp_01",(22440,69334,-615),1); + common_scripts\utility::loop_fx_sound("amb_mhunt_mrkt_walla_lp_02",(22830,69946,-563),1); + common_scripts\utility::loop_fx_sound("amb_mhunt_mrkt_walla_lp_03",(22354,70451,-563),1); + common_scripts\utility::loop_fx_sound("amb_mhunt_mrkt_shoppers_lp",(22867,69544,-615),1); + common_scripts\utility::loop_fx_sound("amb_mhunt_mrkt_fountain_lp",(22542,70444,-572),1); + common_scripts\utility::loop_fx_sound("amb_greece_insects_lp",(24262,68908,-551),1); + common_scripts\utility::loop_fx_sound("amb_greece_flies_swarm_lp",(24054,69007,-500),1); + common_scripts\utility::loop_fx_sound("amb_greece_city_traffic_lp_01",(24584,69156,-414),1); + common_scripts\utility::loop_fx_sound("amb_greece_electric_meter_lp",(23600,69473,-564),1); + common_scripts\utility::loop_fx_sound("amb_greece_electric_meter_lp",(23675,69349,-564),1); + common_scripts\utility::loop_fx_sound("amb_greece_electric_meter_lp",(23791,68890,-360),1); + common_scripts\utility::loop_fx_sound("amb_greece_electric_meter_lp",(24070,69503,-515),1); + common_scripts\utility::loop_fx_sound("amb_greece_electric_meter_lp",(23956,69253,-511),1); + common_scripts\utility::loop_fx_sound("amb_greece_electric_meter_lp",(24398,69010,-505),1); + common_scripts\utility::loop_fx_sound("radio_transmission_lp",(23364,68637,-177),1); + common_scripts\utility::loop_fx_sound("computer_pulse_lp",(23649,68705,-177),1); + common_scripts\utility::loop_fx_sound("computer_beeps_lp",(23237,68895,-177),1); + common_scripts\utility::loop_fx_sound("water_fountain_lrg_dist_lp",(-19741,-47764,-422),1); + common_scripts\utility::loop_fx_sound("kva_suv_idle",(-20295,-44429,-121),1); + common_scripts\utility::loop_fx_sound("kva_suv_idle",(-19614,-43306,209),1); + common_scripts\utility::loop_fx_sound("vistor_center_fountain",(22601,73786,-963),1); + common_scripts\utility::loop_fx_sound("hotel_ext_ac_unit",(24115,76797,-1141),1); + common_scripts\utility::loop_fx_sound("gondola_plaza_fountain",(23178,78161,-1509),1); + common_scripts\utility::loop_fx_sound("fire_destroyed_car",(21118,80511,-1330),1); + common_scripts\utility::loop_fx_sound("fire_dead_body",(20878,81943,-1365),1); + common_scripts\utility::loop_fx_sound("fire_destroyed_car_finale",(19979,82466,-1658),1); + common_scripts\utility::loop_fx_sound("amb_mhunt_hydrant_spray",(19439,82115,-1665),1); +} + +//Function Number: 7 +launch_line_emitters() +{ + wait(0.1); + thread soundscripts\_audio::aud_play_line_emitter("cc_flag_01","flag_flap_lp",(-18569,-46931,452),(-18994,-46725,452)); + thread soundscripts\_audio::aud_play_line_emitter("finale_hydrant","amb_mhunt_hydrant_splatter",(19439,82115,-1665),(19443,81889,-1665)); +} + +//Function Number: 8 +create_level_envelop_arrays() +{ + level.aud.envs = []; + level.aud.envs["example_envelop"] = [[0,0],[0.082,0.426],[0.238,0.736],[0.408,0.844],[0.756,0.953],[1,1]]; + level.aud.envs["sniper_drone_hover_spd2vol"] = [[0,0.5],[30,0.7]]; + level.aud.envs["sniper_drone_hover_spd2pch"] = [[0,1],[30,1.2]]; + level.aud.envs["sniper_drone_lfe_spd2vol"] = [[0,0.4],[30,0.8]]; + level.aud.envs["sniper_drone_lfe_spd2pch"] = [[0,1],[30,1.2]]; + level.aud.envs["sniper_drone_fly_spd2vol"] = [[2,0],[8,0],[30,1]]; + level.aud.envs["sniper_drone_fly_spd2pch"] = [[8,1],[30,1.05]]; + level.aud.envs["sniper_drone_look_spd2vol"] = [[0.09,0],[0.1,1],[1,1]]; + level.aud.envs["sniper_drone_look_hover_spd2vol"] = [[2,1],[8,0]]; + level.aud.envs["snipe_report_volume"] = [[700,0.6],[900,0.7],[1150,0.8],[1350,0.9],[1600,1]]; + level.aud.envs["snipe_report_delay"] = [[750,0],[900,0],[1200,0.1],[1600,0.2],[1800,0.3]]; +} + +//Function Number: 9 +precache_presets() +{ +} + +//Function Number: 10 +register_snd_messages() +{ + soundscripts\_snd::snd_register_message("snd_zone_handler",::zone_handler); + soundscripts\_snd::snd_register_message("snd_music_handler",::music_handler); + soundscripts\_snd::snd_register_message("start_safehouse_intro_checkpoint",::start_safehouse_intro_checkpoint); + soundscripts\_snd::snd_register_message("start_safehouse_follow_checkpoint",::start_safehouse_follow_checkpoint); + soundscripts\_snd::snd_register_message("start_safehouse_xslice_checkpoint",::start_safehouse_xslice_checkpoint); + soundscripts\_snd::snd_register_message("start_safehouse_clear_checkpoint",::start_safehouse_clear_checkpoint); + soundscripts\_snd::snd_register_message("start_safehouse_transition_checkpoint",::start_safehouse_transition_checkpoint); + soundscripts\_snd::snd_register_message("start_conf_center_intro_checkpoint",::start_conf_center_intro_checkpoint); + soundscripts\_snd::snd_register_message("start_conf_center_support1_checkpoint",::start_conf_center_support1_checkpoint); + soundscripts\_snd::snd_register_message("start_conf_center_support2_checkpoint",::start_conf_center_support2_checkpoint); + soundscripts\_snd::snd_register_message("start_conf_center_support3_checkpoint",::start_conf_center_support3_checkpoint); + soundscripts\_snd::snd_register_message("start_conf_center_kill_checkpoint",::start_conf_center_kill_checkpoint); + soundscripts\_snd::snd_register_message("start_conf_center_combat_checkpoint",::start_conf_center_combat_checkpoint); + soundscripts\_snd::snd_register_message("start_conf_center_outro_checkpoint",::start_conf_center_outro_checkpoint); + soundscripts\_snd::snd_register_message("start_safehouse_exit_checkpoint",::start_safehouse_exit_checkpoint); + soundscripts\_snd::snd_register_message("start_alleys_transition_checkpoint",::start_alleys_transition_checkpoint); + soundscripts\_snd::snd_register_message("start_alleys_checkpoint",::start_alleys_checkpoint); + soundscripts\_snd::snd_register_message("start_sniper_scramble_intro_checkpoint",::start_sniper_scramble_intro_checkpoint); + soundscripts\_snd::snd_register_message("start_sniper_scramble_hotel_checkpoint",::start_sniper_scramble_hotel_checkpoint); + soundscripts\_snd::snd_register_message("start_sniper_scramble_drones_checkpoint",::start_sniper_scramble_drones_checkpoint); + soundscripts\_snd::snd_register_message("start_sniper_scramble_finale_checkpoint",::start_sniper_scramble_finale_checkpoint); + soundscripts\_snd::snd_register_message("start_ending_ambush_checkpoint",::start_ending_ambush_checkpoint); + soundscripts\_snd::snd_register_message("start_ending_fight_checkpoint",::start_ending_fight_checkpoint); + soundscripts\_snd::snd_register_message("start_ending_hades_checkpoint",::start_ending_hades_checkpoint); + soundscripts\_snd::snd_register_message("mhunt_cafe_cam_enter_front",::mhunt_cafe_cam_enter_front); + soundscripts\_snd::snd_register_message("mhunt_cafe_cam_exit_front",::mhunt_cafe_cam_exit_front); + soundscripts\_snd::snd_register_message("mhunt_cafe_cam_scan_target",::mhunt_cafe_cam_scan_target); + soundscripts\_snd::snd_register_message("mhunt_cafe_cam_scan_start",::mhunt_cafe_cam_scan_start); + soundscripts\_snd::snd_register_message("mhunt_cafe_cam_scan_stop",::mhunt_cafe_cam_scan_stop); + soundscripts\_snd::snd_register_message("mhunt_cafe_cam_scan_fail",::mhunt_cafe_cam_scan_fail); + soundscripts\_snd::snd_register_message("mhunt_cafe_cam_scan_get",::mhunt_cafe_cam_scan_get); + soundscripts\_snd::snd_register_message("mhunt_cafe_cam_zoom_in",::mhunt_cafe_cam_zoom_in); + soundscripts\_snd::snd_register_message("mhunt_cafe_cam_zoom_out",::mhunt_cafe_cam_zoom_out); + soundscripts\_snd::snd_register_message("mhunt_cafe_cam_switch",::mhunt_cafe_cam_switch); + soundscripts\_snd::snd_register_message("mhunt_cafe_cam1_switch",::mhunt_cafe_cam1_switch); + soundscripts\_snd::snd_register_message("mhunt_cafe_cam2_switch",::mhunt_cafe_cam2_switch); + soundscripts\_snd::snd_register_message("mhunt_cafe_cam3_switch",::mhunt_cafe_cam3_switch); + soundscripts\_snd::snd_register_message("mhunt_cafe_cam4_switch",::mhunt_cafe_cam4_switch); + soundscripts\_snd::snd_register_message("start_kva_follow_music",::start_kva_follow_music); + soundscripts\_snd::snd_register_message("start_kva_assault_music",::start_kva_assault_music); + soundscripts\_snd::snd_register_message("mhunt_melee_keycard_tkdwn",::mhunt_melee_keycard_tkdwn); + soundscripts\_snd::snd_register_message("start_threat_grenade_mixer",::start_threat_grenade_mixer); + soundscripts\_snd::snd_register_message("start_safehouse_stealth_music",::start_safehouse_stealth_music); + soundscripts\_snd::snd_register_message("mhunt_tv_broadcast",::mhunt_tv_broadcast); + soundscripts\_snd::snd_register_message("mhunt_tv_dest_expl",::mhunt_tv_dest_expl); + soundscripts\_snd::snd_register_message("start_safehouse_stairs_music",::start_safehouse_stairs_music); + soundscripts\_snd::snd_register_message("start_videochat_screen_turn_on",::start_videochat_screen_turn_on); + soundscripts\_snd::snd_register_message("start_videochat_screen_turn_off",::start_videochat_screen_turn_off); + soundscripts\_snd::snd_register_message("start_safehouse_guard_03_music",::start_safehouse_guard_03_music); + soundscripts\_snd::snd_register_message("safehouse_exo_trans_fade_out",::safehouse_exo_trans_fade_out); + soundscripts\_snd::snd_register_message("start_safehouse_exo_trans_music",::start_safehouse_exo_trans_music); + soundscripts\_snd::snd_register_message("safehouse_exo_trans_fade_in",::safehouse_exo_trans_fade_in); + soundscripts\_snd::snd_register_message("balcony_sniper_drone_idle",::balcony_sniper_drone_idle); + soundscripts\_snd::snd_register_message("wasp_cloak_on",::wasp_cloak_on); + soundscripts\_snd::snd_register_message("drone_control_pad_end",::drone_control_pad_end); + soundscripts\_snd::snd_register_message("start_sniper_drone_deploy",::start_sniper_drone_deploy); + soundscripts\_snd::snd_register_message("start_sniper_drone",::start_sniper_drone); + soundscripts\_snd::snd_register_message("stop_sniper_drone",::stop_sniper_drone); + soundscripts\_snd::snd_register_message("start_sniper_drone_zoom",::start_sniper_drone_zoom); + soundscripts\_snd::snd_register_message("stop_sniper_drone_zoom",::stop_sniper_drone_zoom); + soundscripts\_snd::snd_register_message("unmute_wasp_oneshots",::unmute_wasp_oneshots); + soundscripts\_snd::snd_register_message("sniper_drone_dry_fire",::sniper_drone_dry_fire); + soundscripts\_snd::snd_register_message("start_veh_moving_truck",::start_veh_moving_truck); + soundscripts\_snd::snd_register_message("veh_moving_truck_chkpt",::veh_moving_truck_chkpt); + soundscripts\_snd::snd_register_message("cc_kva_alerted_walla",::cc_kva_alerted_walla); + soundscripts\_snd::snd_register_message("start_tower_bells",::start_tower_bells); + soundscripts\_snd::snd_register_message("start_gate_breach_music",::start_gate_breach_music); + soundscripts\_snd::snd_register_message("start_burke_ambush_slomo",::start_burke_ambush_slomo); + soundscripts\_snd::snd_register_message("stop_burke_ambush_slomo",::stop_burke_ambush_slomo); + soundscripts\_snd::snd_register_message("npc_shoots_pool_enemy",::npc_shoots_pool_enemy); + soundscripts\_snd::snd_register_message("atrium_breach_signal_start",::atrium_breach_signal_start); + soundscripts\_snd::snd_register_message("start_atrium_breach_music",::start_atrium_breach_music); + soundscripts\_snd::snd_register_message("start_atrium_fight",::start_atrium_fight); + soundscripts\_snd::snd_register_message("stop_atrium_fight",::stop_atrium_fight); + soundscripts\_snd::snd_register_message("atrium_timer_expire",::atrium_timer_expire); + soundscripts\_snd::snd_register_message("parking_lot_runners",::parking_lot_runners); + soundscripts\_snd::snd_register_message("parking_lot_clear",::parking_lot_clear); + soundscripts\_snd::snd_register_message("start_car_alarm",::start_car_alarm); + soundscripts\_snd::snd_register_message("stop_car_alarm",::stop_car_alarm); + soundscripts\_snd::snd_register_message("start_hades_transition",::start_hades_transition); + soundscripts\_snd::snd_register_message("begin_kill_hades_sequence",::begin_kill_hades_sequence); + soundscripts\_snd::snd_register_message("start_hades_double_stinger",::start_hades_double_stinger); + soundscripts\_snd::snd_register_message("hades_is_dead",::hades_is_dead); + soundscripts\_snd::snd_register_message("start_hades_breach",::start_hades_breach); + soundscripts\_snd::snd_register_message("start_hades_breach_door",::start_hades_breach_door); + soundscripts\_snd::snd_register_message("start_hades_flashbang",::start_hades_flashbang); + soundscripts\_snd::snd_register_message("hades_rigged_walla",::hades_rigged_walla); + soundscripts\_snd::snd_register_message("hades_explosion_slowmo_start",::hades_explosion_slowmo_start); + soundscripts\_snd::snd_register_message("hades_explosion_slowmo_end",::hades_explosion_slowmo_end); + soundscripts\_snd::snd_register_message("wasp_cloak_off",::wasp_cloak_off); + soundscripts\_snd::snd_register_message("start_wasp_flicker",::start_wasp_flicker); + soundscripts\_snd::snd_register_message("start_cc_open_combat",::start_cc_open_combat); + soundscripts\_snd::snd_register_message("mhunt_cc_assault_veh_01_approach",::mhunt_cc_assault_veh_01_approach); + soundscripts\_snd::snd_register_message("cc_technical_turret_fire",::cc_technical_turret_fire); + soundscripts\_snd::snd_register_message("mhunt_cc_parked_car_expl",::mhunt_cc_parked_car_expl); + soundscripts\_snd::snd_register_message("mhunt_cc_assault_veh_02_approach",::mhunt_cc_assault_veh_02_approach); + soundscripts\_snd::snd_register_message("mhunt_cc_assault_veh_03_approach",::mhunt_cc_assault_veh_03_approach); + soundscripts\_snd::snd_register_message("mhunt_cc_hades_veh_escape",::mhunt_cc_hades_veh_escape); + soundscripts\_snd::snd_register_message("start_kdrone_launch",::start_kdrone_launch); + soundscripts\_snd::snd_register_message("start_kdrone_loop",::start_kdrone_loop); + soundscripts\_snd::snd_register_message("start_wasp_missile_warning",::start_wasp_missile_warning); + soundscripts\_snd::snd_register_message("stop_wasp_missile_warning",::stop_wasp_missile_warning); + soundscripts\_snd::snd_register_message("kamikaze_drone_explo",::kamikaze_drone_explo); + soundscripts\_snd::snd_register_message("start_sniper_drone_death",::start_sniper_drone_death); + soundscripts\_snd::snd_register_message("start_wasp_death_explo",::start_wasp_death_explo); + soundscripts\_snd::snd_register_message("sniper_drone_dmg_fire",::sniper_drone_dmg_fire); + soundscripts\_snd::snd_register_message("start_drone_death_static",::start_drone_death_static); + soundscripts\_snd::snd_register_message("stop_drone_death_static",::stop_drone_death_static); + soundscripts\_snd::snd_register_message("mhunt_safehouse_cc_expl_distant",::mhunt_safehouse_cc_expl_distant); + soundscripts\_snd::snd_register_message("safehouse_escape_music",::safehouse_escape_music); + soundscripts\_snd::snd_register_message("safehouse_sonic_destruct",::safehouse_sonic_destruct); + soundscripts\_snd::snd_register_message("start_sonic_attack_mix",::start_sonic_attack_mix); + soundscripts\_snd::snd_register_message("tunnel_runner_walla",::tunnel_runner_walla); + soundscripts\_snd::snd_register_message("start_trans_to_alleys_panic",::start_trans_to_alleys_panic); + soundscripts\_snd::snd_register_message("stop_trans_to_alleys_panic",::stop_trans_to_alleys_panic); + soundscripts\_snd::snd_register_message("walla_bridge_runners",::walla_bridge_runners); + soundscripts\_snd::snd_register_message("smoking_civ_panic",::smoking_civ_panic); + soundscripts\_snd::snd_register_message("civ_panic_door_run_in",::civ_panic_door_run_in); + soundscripts\_snd::snd_register_message("trans_civ_01_flee_kva",::trans_civ_01_flee_kva); + soundscripts\_snd::snd_register_message("trans_civ_03_flee_kva",::trans_civ_03_flee_kva); + soundscripts\_snd::snd_register_message("start_alleys_combat_music",::start_alleys_combat_music); + soundscripts\_snd::snd_register_message("alleys_rpg_fight_music",::alleys_rpg_fight_music); + soundscripts\_snd::snd_register_message("stop_alleys_emergency_audio",::stop_alleys_emergency_audio); + soundscripts\_snd::snd_register_message("alleys_music_end",::alleys_music_end); + soundscripts\_snd::snd_register_message("windmill_sniper_shot",::windmill_sniper_shot); + soundscripts\_snd::snd_register_message("windmill_sniper_shot_multi",::windmill_sniper_shot_multi); + soundscripts\_snd::snd_register_message("windmill_sniper_shot_whizby",::windmill_sniper_shot_whizby); + soundscripts\_snd::snd_register_message("mhunt_snpr_blood_impact_splat",::mhunt_snpr_blood_impact_splat); + soundscripts\_snd::snd_register_message("scramble_amb_siren_loop",::scramble_amb_siren_loop); + soundscripts\_snd::snd_register_message("start_sniper_scramble_music",::start_sniper_scramble_music); + soundscripts\_snd::snd_register_message("patio_intro_civ_death",::patio_intro_civ_death); + soundscripts\_snd::snd_register_message("patio_civ_01_cower",::patio_civ_01_cower); + soundscripts\_snd::snd_register_message("patio_civ_03_scream",::patio_civ_03_scream); + soundscripts\_snd::snd_register_message("gap_jump_squib_occlusion",::gap_jump_squib_occlusion); + soundscripts\_snd::snd_register_message("hotel_crowd_panic_walla",::hotel_crowd_panic_walla); + soundscripts\_snd::snd_register_message("hotel_female_01_hallway",::hotel_female_01_hallway); + soundscripts\_snd::snd_register_message("hotel_civ_04_death",::hotel_civ_04_death); + soundscripts\_snd::snd_register_message("sniper_suppression_hit_alert",::sniper_suppression_hit_alert); + soundscripts\_snd::snd_register_message("pool_civ_01_cower_setup",::pool_civ_01_cower_setup); + soundscripts\_snd::snd_register_message("pool_civ_01_cower",::pool_civ_01_cower); + soundscripts\_snd::snd_register_message("drone_civ_02_flee",::drone_civ_02_flee); + soundscripts\_snd::snd_register_message("mhunt_snpr_dest_cafe_wall",::mhunt_snpr_dest_cafe_wall); + soundscripts\_snd::snd_register_message("gondola_movement_loops",::gondola_movement_loops); + soundscripts\_snd::snd_register_message("start_swarm_drones_context",::start_swarm_drones_context); + soundscripts\_snd::snd_register_message("restaurant_doors_open",::restaurant_doors_open); + soundscripts\_snd::snd_register_message("restaurant_door_civ_killed",::restaurant_door_civ_killed); + soundscripts\_snd::snd_register_message("restaurant_civ_03_cower",::restaurant_civ_03_cower); + soundscripts\_snd::snd_register_message("restaurant_fish_tank_destruct",::restaurant_fish_tank_destruct); + soundscripts\_snd::snd_register_message("ally_shoot_rpg_at_drones",::ally_shoot_rpg_at_drones); + soundscripts\_snd::snd_register_message("finale_civ_04_cower",::finale_civ_04_cower); + soundscripts\_snd::snd_register_message("manga_rocket_trail",::manga_rocket_trail); + soundscripts\_snd::snd_register_message("manga_rocket_explosion",::manga_rocket_explosion); + soundscripts\_snd::snd_register_message("stingerm7_shoot_tower",::stingerm7_shoot_tower); + soundscripts\_snd::snd_register_message("mhunt_snpr_tower_collapse",::mhunt_snpr_tower_collapse); + soundscripts\_snd::snd_register_message("stop_swarm_drones_context",::stop_swarm_drones_context); + soundscripts\_snd::snd_register_message("exit_truck_fire",::exit_truck_fire); + soundscripts\_snd::snd_register_message("start_finale_transition_music",::start_finale_transition_music); + soundscripts\_snd::snd_register_message("finale_street_crowd",::finale_street_crowd); + soundscripts\_snd::snd_register_message("player_place_ied_foley",::player_place_ied_foley); + soundscripts\_snd::snd_register_message("start_ied_convoy_ambush_expl",::start_ied_convoy_ambush_expl); + soundscripts\_snd::snd_register_message("start_ied_convoy_slomo_end",::start_ied_convoy_slomo_end); + soundscripts\_snd::snd_register_message("stop_ied_convoy_ambush_expl",::stop_ied_convoy_ambush_expl); + soundscripts\_snd::snd_register_message("convoy_crash_emitters",::convoy_crash_emitters); + soundscripts\_snd::snd_register_message("convoy_truck_explosion",::convoy_truck_explosion); + soundscripts\_snd::snd_register_message("enemy_on_fire",::enemy_on_fire); + soundscripts\_snd::snd_register_message("start_finale_fight_music",::start_finale_fight_music); + soundscripts\_snd::snd_register_message("stop_finale_fight_music",::stop_finale_fight_music); + soundscripts\_snd::snd_register_message("start_hades_suv_extraction",::start_hades_suv_extraction); + soundscripts\_snd::snd_register_message("stop_hades_suv_extraction",::stop_hades_suv_extraction); + soundscripts\_snd::snd_register_message("start_finale_suv_damage",::start_finale_suv_damage); + soundscripts\_snd::snd_register_message("start_finale_h2h_music",::start_finale_h2h_music); + soundscripts\_snd::snd_register_message("start_exo_sonic_attack_fail",::start_exo_sonic_attack_fail); + soundscripts\_snd::snd_register_message("hades_throat_slash",::hades_throat_slash); + soundscripts\_snd::snd_register_message("start_hades_kill_interact_fail",::start_hades_kill_interact_fail); + soundscripts\_snd::snd_register_message("mhunt_level_end",::mhunt_level_end); +} + +//Function Number: 11 +zone_handler(param_00,param_01) +{ +} + +//Function Number: 12 +music_handler(param_00,param_01) +{ + switch(param_00) + { + case "start_kva_shadow": + soundscripts\_audio::aud_set_music_submix(0.8,0); + soundscripts\_audio_music::mus_play("mhunt_mus_safehouse_follow",0,0.5); + break; + + case "start_kva_ambush": + soundscripts\_audio::aud_set_music_submix(0,4); + break; + + case "start_kva_ambush_over": + soundscripts\_audio::aud_set_music_submix(0.8,4); + break; + + case "start_safehouse_hades_call_kill": + soundscripts\_audio_music::mus_stop(5); + break; + + case "start_conference_stealth": + soundscripts\_audio::aud_set_music_submix(1,0); + soundscripts\_audio_music::mus_play("mhunt_mus_conference_stealth"); + break; + + case "start_burke_ambush_slomo": + soundscripts\_audio::aud_set_music_submix(0,3); + break; + + case "stop_burke_ambush_slomo": + wait(2); + soundscripts\_audio::aud_set_music_submix(1,3); + break; + + case "stop_atrium_fight": + wait(4); + soundscripts\_audio_music::mus_stop(9); + break; + + case "start_hades_double_stinger": + soundscripts\_audio::aud_set_music_submix(0.9,0); + soundscripts\_audio_music::mus_play("mhunt_mus_conference_stinger"); + break; + + case "start_conference_battle": + wait(2); + soundscripts\_audio::aud_set_music_submix(0.7,0); + soundscripts\_snd_playsound::snd_play_2d("mhunt_mus_conference_battle_in"); + soundscripts\_audio_music::mus_play("mhunt_mus_conference_battle",0,0); + break; + + case "start_sniper_drone_death": + wait(1.2); + soundscripts\_audio::aud_set_music_submix(0.7,0); + soundscripts\_audio_music::mus_play("mhunt_mus_conference_battle_out",0,0); + break; + + case "start_safehouse_escape": + soundscripts\_audio::aud_set_music_submix(0.8,0); + soundscripts\_audio_music::mus_play("mhunt_mus_safehouse_escape"); + break; + + case "start_safehouse_gate_bash": + soundscripts\_audio_music::mus_stop(12); + break; + + case "start_alleys_combat": + soundscripts\_audio::aud_set_music_submix(0.5,0); + soundscripts\_snd_playsound::snd_play_2d("mhunt_mus_alleys_combat_in","",0.25); + soundscripts\_audio_music::mus_play("mhunt_mus_alleys_combat",0,0.25); + break; + + case "stop_alleys_combat": + wait(5.5); + soundscripts\_audio_music::mus_play("mhunt_mus_alleys_combat_out",0,0); + break; + + case "start_sniper_scramble": + wait(0.6); + soundscripts\_audio::aud_set_music_submix(0.6,0); + soundscripts\_snd_playsound::snd_play_2d("mhunt_mus_sniper_scramble_in"); + soundscripts\_audio_music::mus_play("mhunt_mus_sniper_scramble_patio",0,0); + break; + + case "start_scramble_hotel": + soundscripts\_audio::aud_set_music_submix(0.6,0); + soundscripts\_audio_music::mus_play("mhunt_mus_sniper_scramble"); + break; + + case "start_scramble_tower_collapse": + soundscripts\_audio_music::mus_stop(6); + break; + + case "start_transition_to_finale": + soundscripts\_audio::aud_set_music_submix(0.7,0); + soundscripts\_audio_music::mus_play("mhunt_mus_tower_collapsed"); + break; + + case "start_truck_drive_in_ied": + soundscripts\_audio_music::mus_stop(4); + break; + + case "start_finale_fight_music": + soundscripts\_audio::aud_set_music_submix(0.7,0); + soundscripts\_audio_music::mus_play("mhunt_mus_finale_fight",0,0.25); + break; + + case "stop_finale_fight_music": + soundscripts\_audio_music::mus_play("mhunt_mus_finale_fight_out",0,0); + break; + + case "start_finale_h2h_music": + soundscripts\_snd_playsound::snd_play_2d("mhunt_mus_finale_h2h_in"); + soundscripts\_audio_music::mus_play("mhunt_mus_finale_h2h_combat",0,0); + break; + + case "stop_finale_h2h_music": + soundscripts\_snd_playsound::snd_play_2d("mhunt_mus_finale_h2h_end"); + soundscripts\_audio_music::mus_stop(0.2); + break; + + case "start_finale_irons_knows": + soundscripts\_audio_music::mus_play("mhunt_mus_finale_irons_knows",0,0); + break; + + default: + soundscripts\_audio::aud_print_warning("\tMUSIC MESSAGE NOT HANDLED: " + param_00); + break; + } +} + +//Function Number: 13 +start_safehouse_intro_checkpoint(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("mhunt_ext_cafe_patio"); + thread cafe_market_damb(); + thread safehouse_backyard_damb(); + thread cafe_market_music_play(); +} + +//Function Number: 14 +start_safehouse_follow_checkpoint(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("mhunt_ext_cafe_patio"); + thread cafe_market_damb(); + thread safehouse_backyard_damb(); + thread cafe_market_moped_away(); + thread cafe_market_plane_flyover(); +} + +//Function Number: 15 +start_safehouse_xslice_checkpoint(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("mhunt_ext_safehouse_courtyard"); + soundscripts\_snd::snd_music_message("start_kva_shadow"); + thread cafe_market_damb(); + thread safehouse_backyard_damb(); +} + +//Function Number: 16 +start_safehouse_clear_checkpoint(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("mhunt_ext_safehouse_courtyard"); + soundscripts\_snd::snd_music_message("start_kva_shadow"); + thread cafe_market_damb(); + thread safehouse_backyard_damb(); +} + +//Function Number: 17 +start_safehouse_transition_checkpoint(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("mhunt_int_safehouse_floor_2"); + soundscripts\_snd::snd_music_message("start_exo_trans_music"); + thread cafe_market_damb(); + thread safehouse_backyard_damb(); +} + +//Function Number: 18 +start_conf_center_intro_checkpoint(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("mhunt_int_safehouse_balcony"); + soundscripts\_snd::snd_music_message("start_exo_trans_music"); + thread cafe_market_damb(); + thread safehouse_backyard_damb(); +} + +//Function Number: 19 +start_conf_center_support1_checkpoint(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("mhunt_ext_drone_conf_center"); + level.aud.support_01_checkpoint = 1; +} + +//Function Number: 20 +start_conf_center_support2_checkpoint(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("mhunt_ext_drone_conf_center"); + soundscripts\_snd_timescale::snd_set_timescale("mhunt_balcony_takedown"); + wait(0.05); + soundscripts\_snd::snd_music_message("start_conference_stealth"); + level notify("moving_truck_checkpoint"); +} + +//Function Number: 21 +start_conf_center_support3_checkpoint(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("mhunt_ext_drone_conf_center"); + soundscripts\_snd::snd_music_message("start_conference_stealth"); + level notify("moving_truck_checkpoint"); +} + +//Function Number: 22 +start_conf_center_kill_checkpoint(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("mhunt_ext_drone_conf_center"); + soundscripts\_snd::snd_music_message("start_cc_kill_checkpoint"); + level notify("moving_truck_checkpoint"); +} + +//Function Number: 23 +start_conf_center_combat_checkpoint(param_00) +{ + soundscripts\_snd::snd_music_message("start_conference_battle"); + level notify("moving_truck_checkpoint"); + thread conference_center_fire(); + thread conference_center_explo_zone(); +} + +//Function Number: 24 +start_conf_center_outro_checkpoint(param_00) +{ + soundscripts\_snd::snd_music_message("start_conference_battle"); + level notify("moving_truck_checkpoint"); + thread conference_center_fire(); + thread conference_center_explo_zone(); +} + +//Function Number: 25 +start_safehouse_exit_checkpoint(param_00) +{ + soundscripts\_snd_common::snd_enable_soundcontextoverride("mhunt_safehouse_exit"); + soundscripts\_audio_zone_manager::azm_start_zone("mhunt_int_safehouse_balcony"); + thread safehouse_balcony_siren(); +} + +//Function Number: 26 +start_alleys_transition_checkpoint(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("mhunt_ext_back_alleys_main"); + soundscripts\_snd::snd_message("start_trans_to_alleys_panic"); +} + +//Function Number: 27 +start_alleys_checkpoint(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("mhunt_ext_back_alleys_main"); + soundscripts\_snd::snd_music_message("start_alleys_combat"); + thread alleys_distant_standard_siren_loop(); + thread alleys_distant_emergency_siren_blasts(); +} + +//Function Number: 28 +start_sniper_scramble_intro_checkpoint(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("mhunt_int_back_alleys_stripmall_upr_flr"); +} + +//Function Number: 29 +start_sniper_scramble_hotel_checkpoint(param_00) +{ + soundscripts\_snd::snd_music_message("start_sniper_scramble"); + soundscripts\_audio_zone_manager::azm_start_zone("mhunt_int_sniper_long_hall"); + thread hotel_crowd_panic_walla_chkpt(); + level notify("start_hotel_glass_think"); +} + +//Function Number: 30 +start_sniper_scramble_drones_checkpoint(param_00) +{ + soundscripts\_snd::snd_music_message("start_sniper_scramble"); + soundscripts\_audio_zone_manager::azm_start_zone("mhunt_ext_sniper_courtyard"); + thread scramble_amb_siren_loop(); +} + +//Function Number: 31 +start_sniper_scramble_finale_checkpoint(param_00) +{ + soundscripts\_snd::snd_music_message("start_sniper_scramble"); + soundscripts\_audio_zone_manager::azm_start_zone("mhunt_int_sniper_restaurant"); + thread scramble_amb_siren_loop(); +} + +//Function Number: 32 +start_ending_ambush_checkpoint(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("mhunt_ext_sniper_main_street"); + soundscripts\_snd::snd_music_message("start_transition_to_finale"); + thread scramble_amb_siren_loop(); + thread finale_street_crowd(); +} + +//Function Number: 33 +start_ending_fight_checkpoint(param_00) +{ + soundscripts\_snd::snd_music_message("start_finale_fight_music"); + soundscripts\_audio_zone_manager::azm_start_zone("mhunt_ext_sniper_main_street"); + thread convoy_crash_emitters(); + thread scramble_amb_siren_loop(); +} + +//Function Number: 34 +start_ending_hades_checkpoint(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("mhunt_ext_sniper_main_street"); + thread convoy_crash_emitters(); + thread scramble_amb_siren_loop(); +} + +//Function Number: 35 +cafe_market_damb() +{ + level endon("end_cafe_market_pre_cc"); + if(isdefined(level.aud.cafe_market_damb) && level.aud.cafe_market_damb) + { + return; + } + + level.aud.cafe_market_damb = 1; + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("mhunt_mrkt_vendor_shout",(22566,70538,-563),"mhunt_mrkt_vendor_shout_01"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("mhunt_cafe_boat_horn",(21776,70183,-563),"mhunt_cafe_boat_horn_01"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("mhunt_mrkt_bike_bells",(22256,70437,-563),"mhunt_mrkt_bike_bells_01"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("mhunt_cafe_seagulls",(22007,70307,-563),"mhunt_cafe_seagulls"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("mhunt_safehouse_bird_call",(23100,69660,-440),"mhunt_bird_call_01"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("mhunt_mrkt_murmur",(22566,70538,-563),"mhunt_mrkt_murmur_01"); +} + +//Function Number: 36 +stop_cafe_market_damb() +{ + level notify("end_cafe_market_pre_cc"); +} + +//Function Number: 37 +cafe_market_moped_away() +{ + wait(randomfloatrange(37,45)); + soundscripts\_snd_playsound::snd_play_at("amb_mhunt_veh_moped_away",(22787,70314,-563)); +} + +//Function Number: 38 +cafe_market_plane_flyover() +{ + wait(randomfloatrange(17,21)); + soundscripts\_snd_playsound::snd_play_at("amb_mhunt_veh_plane_by",(22816,69821,-563)); +} + +//Function Number: 39 +cafe_market_music_play() +{ + wait(randomfloatrange(1,2)); + soundscripts\_snd_playsound::snd_play_at("amb_mhunt_cafe_muzak",(22193,69637,-563),"stop_cafe_muzak",0,1); +} + +//Function Number: 40 +cafe_market_music_stop() +{ + level notify("stop_cafe_muzak"); +} + +//Function Number: 41 +mhunt_cafe_cam_enter_front() +{ + level.player enablefocus(20,30,1,0); + soundscripts\_snd_playsound::snd_play_2d("mhunt_cafe_cam_enter_front"); + soundscripts\_audio_mix_manager::mm_add_submix("mhunt_cafe_security_cam_zoom_out"); +} + +//Function Number: 42 +start_cafe_cam_mvmnt_loops() +{ + level endon("stop_cam_mvmnt_loops"); + var_00 = 0; + var_01 = 0; + var_02 = level.player getplayerangles(); + if(!isdefined(level.aud.looklp)) + { + level.aud.looklp = soundscripts\_snd_playsound::snd_play_loop_2d("mhunt_cafe_cam_mvmnt_lp","stop_cam_mvmnt_loops",0,0.1,0); + } + + for(;;) + { + wait 0.05; + waittillframeend; + var_03 = level.player getnormalizedcameramovements(); + var_04 = max(abs(var_03[0]),abs(var_03[1])); + if(var_04 - var_01 > 0) + { + var_01 = var_01 + 0.15 * var_04 - var_01; + } + else + { + var_01 = var_01 + 1 * var_04 - var_01; + } + + var_05 = level.player getplayerangles(); + var_06 = abs(var_05[0] - var_02[0]) > 0.1 || abs(var_05[1] - var_02[1]) > 0.1; + if(!var_06) + { + var_01 = 0; + } + + if(var_01 > 0.05 && !var_00) + { + var_00 = 1; + level.aud.start_look = soundscripts\_snd_playsound::snd_play_2d("mhunt_cafe_cam_mvmnt_start"); + } + else if(var_01 <= 0.05 && var_00) + { + var_00 = 0; + level.aud.stop_look = soundscripts\_snd_playsound::snd_play_2d("mhunt_cafe_cam_mvmnt_stop"); + } + + if(isdefined(level.aud.looklp)) + { + var_07 = soundscripts\_snd::snd_map(var_01,level.aud.envs["sniper_drone_look_spd2vol"]); + level.aud.looklp scalevolume(var_07); + } + + var_02 = level.player getplayerangles(); + } +} + +//Function Number: 43 +mhunt_cafe_cam_scan_target() +{ + if(isdefined(level.aud.camera_scan) && level.aud.camera_scan) + { + return; + } + + level.aud.camera_scan = 1; + soundscripts\_snd_playsound::snd_play_2d("mhunt_cafe_cam_scan_target"); + wait(0.525); + level.aud.camera_scan = 0; +} + +//Function Number: 44 +mhunt_cafe_cam_scan_start() +{ + if(!isdefined(level.aud.cam_scan_lp)) + { + level.aud.cam_scan_lp = soundscripts\_snd_playsound::snd_play_loop_2d("mhunt_cafe_cam_scan_lp","stop_cam_lp",0,0.1); + } +} + +//Function Number: 45 +mhunt_cafe_cam_scan_stop() +{ + if(isdefined(level.aud.cam_scan_lp)) + { + level notify("stop_cam_lp"); + } +} + +//Function Number: 46 +mhunt_cafe_cam_scan_fail() +{ + soundscripts\_snd_playsound::snd_play_2d("mhunt_cafe_cam_scan_fail"); +} + +//Function Number: 47 +mhunt_cafe_cam_scan_get() +{ + soundscripts\_snd_playsound::snd_play_2d("mhunt_cafe_cam_scan_get"); + thread cafe_market_music_stop(); +} + +//Function Number: 48 +mhunt_cafe_cam_zoom_in() +{ + if(isdefined(level.aud.cam_zoom_in)) + { + level notify("stop_cam_zoom_out"); + } + + level.aud.cam_zoom_in = soundscripts\_snd_playsound::snd_play_2d("mhunt_cafe_cam_zoom_in","stop_cam_zoom_in",0,0.12); + level.player enablefocus(20,30,0.125,1); + soundscripts\_audio_mix_manager::mm_add_submix("mhunt_cafe_security_cam_zoom_in"); + soundscripts\_audio_mix_manager::mm_clear_submix("mhunt_cafe_security_cam_zoom_out"); +} + +//Function Number: 49 +mhunt_cafe_cam_zoom_out() +{ + if(isdefined(level.aud.cam_zoom_out)) + { + level notify("stop_cam_zoom_in"); + } + + level.aud.cam_zoom_out = soundscripts\_snd_playsound::snd_play_2d("mhunt_cafe_cam_zoom_out","stop_cam_zoom_out",0,0.12); + level.player enablefocus(20,30,1,1); + soundscripts\_audio_mix_manager::mm_add_submix("mhunt_cafe_security_cam_zoom_out"); + soundscripts\_audio_mix_manager::mm_clear_submix("mhunt_cafe_security_cam_zoom_in"); +} + +//Function Number: 50 +mhunt_cafe_cam_switch() +{ + soundscripts\_snd_playsound::snd_play_2d("mhunt_cafe_cam_switch"); +} + +//Function Number: 51 +mhunt_cafe_cam1_switch() +{ + if(isdefined(level.aud.cameraloop)) + { + level.aud.cameraloop soundscripts\_snd_playsound::snd_stop_sound(); + level.aud.cameraloop = undefined; + level notify("stop_cam_mvmnt_loops"); + } + + level.aud.cameraloop = soundscripts\_snd_playsound::snd_play_loop_at("mhunt_cafe_cam_amb_01_lp",(22478,70629,-535),undefined,0.15,0.15); + wait(0.15); + thread start_cafe_cam_mvmnt_loops(); +} + +//Function Number: 52 +mhunt_cafe_cam2_switch() +{ + if(isdefined(level.aud.cameraloop)) + { + level.aud.cameraloop soundscripts\_snd_playsound::snd_stop_sound(); + level.aud.cameraloop = undefined; + level notify("stop_cam_mvmnt_loops"); + } + + level.aud.cameraloop = soundscripts\_snd_playsound::snd_play_loop_at("mhunt_cafe_cam_amb_02_lp",(22768,70184,-580),undefined,0.15,0.15); + wait(0.15); + thread start_cafe_cam_mvmnt_loops(); +} + +//Function Number: 53 +mhunt_cafe_cam3_switch() +{ + if(isdefined(level.aud.cameraloop)) + { + level.aud.cameraloop soundscripts\_snd_playsound::snd_stop_sound(); + level.aud.cameraloop = undefined; + level notify("stop_cam_mvmnt_loops"); + } + + level.aud.cameraloop = soundscripts\_snd_playsound::snd_play_loop_at("mhunt_cafe_cam_amb_03_lp",(22827,701192,-555),undefined,0.15,0.15); + wait(0.15); + thread start_cafe_cam_mvmnt_loops(); +} + +//Function Number: 54 +mhunt_cafe_cam4_switch() +{ + if(isdefined(level.aud.cameraloop)) + { + level.aud.cameraloop soundscripts\_snd_playsound::snd_stop_sound(); + level.aud.cameraloop = undefined; + level notify("stop_cam_mvmnt_loops"); + } + + level.aud.cameraloop = soundscripts\_snd_playsound::snd_play_loop_at("mhunt_cafe_cam_amb_04_lp",(22460,70497,-556),undefined,0.15,0.15); + wait(0.15); + thread start_cafe_cam_mvmnt_loops(); +} + +//Function Number: 55 +mhunt_cafe_cam_exit_front() +{ + level.player disablefocus(2); + soundscripts\_snd_playsound::snd_play_2d("mhunt_cafe_cam_exit_front"); + soundscripts\_audio_mix_manager::mm_clear_submix("mhunt_cafe_security_cam_zoom_out"); + soundscripts\_audio_mix_manager::mm_clear_submix("mhunt_cafe_security_cam_zoom_in"); + if(isdefined(level.aud.cameraloop)) + { + level.aud.cameraloop soundscripts\_snd_playsound::snd_stop_sound(); + level.aud.cameraloop = undefined; + level notify("stop_cam_mvmnt_loops"); + } +} + +//Function Number: 56 +safehouse_backyard_damb() +{ + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("mhunt_safehouse_dog_bark",(24008,69800,-510),"greece_dog_bark_01"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("mhunt_safehouse_ac_liq_drops",(23585,69398,-567),"amb_greece_ac_liq_drops_01"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("mhunt_safehouse_ac_liq_drops",(24039,69305,-504),"amb_greece_ac_liq_drops_02"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("mhunt_safehouse_ac_liq_drops",(23814,68960,-356),"amb_greece_ac_liq_drops_03"); +} + +//Function Number: 57 +start_kva_follow_music() +{ + soundscripts\_snd::snd_music_message("start_kva_shadow"); +} + +//Function Number: 58 +start_kva_assault_music() +{ + wait(3); + soundscripts\_snd::snd_music_message("start_kva_ambush"); +} + +//Function Number: 59 +start_safehouse_stealth_music() +{ + wait(6); + soundscripts\_snd::snd_music_message("start_kva_ambush_over"); +} + +//Function Number: 60 +start_safehouse_stairs_music() +{ + soundscripts\_snd::snd_music_message("start_safehouse_hades_call_kill"); +} + +//Function Number: 61 +start_safehouse_guard_03_music() +{ + soundscripts\_snd::snd_music_message("start_kva_takedown_03_music"); +} + +//Function Number: 62 +start_safehouse_exo_trans_music() +{ + soundscripts\_snd::snd_music_message("start_exo_trans_music"); +} + +//Function Number: 63 +safehouse_int_trigger_think() +{ + for(;;) + { + if(!isdefined(level.aud.ac_duct_01)) + { + level.aud.ac_duct_01 = aud_create_entity((23902,69585,-362)); + level.aud.ac_duct_01 aud_fade_in("amb_greece_ac_duct_ext_lp",0.5,1); + } + + if(!isdefined(level.aud.ac_duct_02)) + { + level.aud.ac_duct_02 = aud_create_entity((24330,69153,-362)); + level.aud.ac_duct_02 aud_fade_in("amb_greece_ac_duct_ext_lp",0.5,1); + } + + self waittill("trigger",var_00); + if(isdefined(level.aud.ac_duct_01)) + { + level.aud.ac_duct_01 aud_fade_out(0.5); + level.aud.ac_duct_01 = undefined; + } + + if(isdefined(level.aud.ac_duct_02)) + { + level.aud.ac_duct_02 aud_fade_out(0.5); + level.aud.ac_duct_02 = undefined; + } + + while(self istouching(var_00)) + { + wait(0.05); + } + } +} + +//Function Number: 64 +mhunt_melee_keycard_tkdwn() +{ + soundscripts\_snd_playsound::snd_play_2d("mhunt_melee_keycard_tkdwn"); +} + +//Function Number: 65 +start_threat_grenade_mixer() +{ + level.player waittill("threat_grenade_marking_started"); + wait(1.25); + soundscripts\_audio_mix_manager::mm_add_submix("mhunt_ilana_threat_grenade"); + soundscripts\_snd_playsound::snd_play_at("wpn_paint_grenade_exp",(23790,68703,-394)); + wait(2); + soundscripts\_audio_mix_manager::mm_clear_submix("mhunt_ilana_threat_grenade"); +} + +//Function Number: 66 +mhunt_tv_broadcast() +{ + if(!isdefined(level.aud.tv_broadcast_lp)) + { + level.aud.tv_broadcast_lp = soundscripts\_snd_playsound::snd_play_loop_at("mhunt_tv_broadcast_lp",(23692,69307,-314),"stop_mhunt_broadcast",3,0.1); + level.aud.tv_broadcast_lp scalevolume(0,3); + } +} + +//Function Number: 67 +mhunt_tv_dest_expl() +{ + level notify("stop_mhunt_broadcast"); + var_00 = aud_create_linked_entity(self); + var_00 aud_play("mhunt_tv_dest_expl"); + level.aud.tv_destroyed = 1; + wait(0.5); + level.aud.tv_dest_lp = aud_create_linked_entity(self); + level.aud.tv_dest_lp aud_play("mhunt_tv_dest_lp",1); +} + +//Function Number: 68 +start_videochat_screen_turn_on() +{ + soundscripts\_snd_playsound::snd_play_at("mhunt_videochat_screen_on",(23654,68702,-181)); +} + +//Function Number: 69 +start_videochat_screen_turn_off() +{ + wait(0.75); + soundscripts\_snd_playsound::snd_play_at("mhunt_videochat_screen_off",(23654,68702,-181)); +} + +//Function Number: 70 +safehouse_exo_trans_fade_out() +{ + soundscripts\_audio_mix_manager::mm_add_submix("mhunt_bag_drop",5.5); +} + +//Function Number: 71 +safehouse_exo_trans_fade_in() +{ + soundscripts\_audio_mix_manager::mm_clear_submix("mhunt_bag_drop",1); +} + +//Function Number: 72 +first_floor_trigger_think() +{ + for(;;) + { + self waittill("trigger",var_00); + if(!isdefined(level.aud.ac_duct)) + { + level.aud.ac_duct = aud_create_entity((23600,68534,-337)); + level.aud.ac_duct aud_fade_in("amb_greece_ac_duct_int_lp",0.5,1); + } + + if(!isdefined(level.aud.generator)) + { + level.aud.generator = aud_create_entity((23550,68618,-389)); + level.aud.generator aud_fade_in("amb_greece_generator_sm_lp",2,1); + } + + if(isdefined(level.aud.tv_broadcast_lp)) + { + level.aud.tv_broadcast_lp scalevolume(1,3); + } + + if(isdefined(level.aud.tv_dest_lp)) + { + level.aud.tv_dest_lp scalevolume(0,1); + } + + while(self istouching(var_00)) + { + wait(0.05); + } + + if(isdefined(level.aud.ac_duct)) + { + level.aud.ac_duct aud_fade_out(0.5); + level.aud.ac_duct = undefined; + } + + if(isdefined(level.aud.generator)) + { + level.aud.generator aud_fade_out(2); + level.aud.generator = undefined; + } + + if(isdefined(level.aud.tv_broadcast_lp)) + { + level.aud.tv_broadcast_lp scalevolume(0,3); + } + + if(isdefined(level.aud.tv_dest_lp)) + { + level.aud.tv_dest_lp scalevolume(0,1); + } + + wait(0.05); + } +} + +//Function Number: 73 +second_floor_trigger_think() +{ + for(;;) + { + self waittill("trigger",var_00); + if(!isdefined(level.aud.cpu_transmission)) + { + level.aud.cpu_transmission = aud_create_entity((23373,68627,-140)); + level.aud.cpu_transmission aud_fade_in("amb_mech_computer_transmission_lp",0.5,1); + } + + if(!isdefined(level.aud.elec_hub_01)) + { + level.aud.elec_hub_01 = aud_create_entity((23523,68977,-157)); + level.aud.elec_hub_01 aud_fade_in("amb_mach_elec_hub_lp",0.5,1); + } + + if(!isdefined(level.aud.server_unit_01)) + { + level.aud.server_unit_01 = aud_create_entity((23202,68726,-202)); + level.aud.server_unit_01 aud_fade_in("amb_mach_server_unit_lp",0.5,1); + } + + if(!isdefined(level.aud.server_unit_02)) + { + level.aud.server_unit_02 = aud_create_entity((23468,68663,-169)); + level.aud.server_unit_02 aud_fade_in("amb_mach_server_unit_lp",0.5,1); + } + + if(!isdefined(level.aud.terminal_hum_01)) + { + level.aud.terminal_hum_01 = aud_create_entity((23277,68656,-179)); + level.aud.terminal_hum_01 aud_fade_in("amb_mach_terminal_hum_lp",0.5,1); + } + + if(!isdefined(level.aud.terminal_hum_02)) + { + level.aud.terminal_hum_02 = aud_create_entity((23228,68897,-179)); + level.aud.terminal_hum_02 aud_fade_in("amb_mach_terminal_hum_lp",0.5,1); + } + + while(self istouching(var_00)) + { + wait(0.05); + } + + if(isdefined(level.aud.circuit_breaker)) + { + level.aud.cpu_transmission aud_fade_out(1); + level.aud.cpu_transmission = undefined; + } + + if(isdefined(level.aud.elec_hub_01)) + { + level.aud.elec_hub_01 aud_fade_out(1); + level.aud.elec_hub_01 = undefined; + } + + if(isdefined(level.aud.server_unit_01)) + { + level.aud.server_unit_01 aud_fade_out(1); + level.aud.server_unit_01 = undefined; + } + + if(isdefined(level.aud.server_unit_02)) + { + level.aud.server_unit_02 aud_fade_out(1); + level.aud.server_unit_02 = undefined; + } + + if(isdefined(level.aud.terminal_hum_01)) + { + level.aud.terminal_hum_01 aud_fade_out(0.5); + level.aud.terminal_hum_01 = undefined; + } + + if(isdefined(level.aud.terminal_hum_02)) + { + level.aud.terminal_hum_02 aud_fade_out(0.5); + level.aud.terminal_hum_02 = undefined; + } + + wait(0.05); + } +} + +//Function Number: 74 +start_sniper_drone_deploy() +{ + maps\_anim::addnotetrack_customfunction("sniper_drone","aud_start_drone_deploy",::start_drone_deploy_anim,"drone_launch"); +} + +//Function Number: 75 +balcony_sniper_drone_idle(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_loop_linked("balcony_wasp_idle_lp","stop_balcony_idle_loop",1,2.3); +} + +//Function Number: 76 +start_drone_deploy_anim(param_00) +{ + thread balcony_sniper_drone_idle_cleanup(); + wait(1.8); + param_00 soundscripts\_snd_playsound::snd_play_linked("balcony_wasp_deploy"); + wait(3.2); + thread balcony_drone_foliage(); + wait(1.8); + param_00 soundscripts\_snd_playsound::snd_play_linked("balcony_wasp_away"); + thread stop_cafe_market_damb(); +} + +//Function Number: 77 +wasp_cloak_on() +{ + soundscripts\_snd_playsound::snd_play_delayed_linked("balcony_wasp_cloak_on",0.25); +} + +//Function Number: 78 +balcony_sniper_drone_idle_cleanup() +{ + wait(2.3); + level notify("stop_balcony_idle_loop"); +} + +//Function Number: 79 +balcony_drone_foliage() +{ + wait(0.8); + soundscripts\_snd_playsound::snd_play_at("balcony_drone_foliage",(23594,69364,-197)); +} + +//Function Number: 80 +drone_control_pad_end() +{ + soundscripts\_snd::snd_music_message("safehouse_fade_out"); + soundscripts\_snd_playsound::snd_play_2d("wasp_intro_transition"); + soundscripts\_audio_mix_manager::mm_add_submix("mhunt_cc_transition"); + wait(0.5); + soundscripts\_audio_mix_manager::mm_clear_submix("mhunt_cc_transition"); + wait(2); + soundscripts\_audio_mix_manager::mm_add_submix("mhunt_wasp_mute_oneshots"); +} + +//Function Number: 81 +start_sniper_drone() +{ + soundscripts\_audio_zone_manager::azm_start_zone("mhunt_ext_drone_conf_center"); + soundscripts\_audio_mix_manager::mm_add_submix("mhunt_sniper_drone_control"); + soundscripts\_audio_mix_manager::mm_add_submix("mhunt_sniper_drone_zoom_out"); + level notify("stop_sniper_drone_npc"); + thread start_sniper_drone_loops(); +} + +//Function Number: 82 +start_sniper_drone_loops() +{ + var_00 = gettime() - 1; + var_01 = level.player.sniperdronelink.origin; + var_02 = "hover"; + var_03 = 0; + var_04 = 0; + var_05 = 0; + var_06 = 0; + if(!isdefined(level.aud.hoverlp)) + { + level.aud.hoverlp = level.player.sniperdronelink soundscripts\_snd_playsound::snd_play_loop_linked("veh_wasp_idle_lp","sniper_drone_hoverlp",0,0.1,0); + } + + if(!isdefined(level.aud.lfelp)) + { + level.aud.lfelp = level.player.sniperdronelink soundscripts\_snd_playsound::snd_play_loop_linked("veh_wasp_idle_lfe","sniper_drone_lfelp",0,0.1,0); + } + + if(!isdefined(level.aud.flylp)) + { + level.aud.flylp = level.player.sniperdronelink soundscripts\_snd_playsound::snd_play_loop_linked("veh_wasp_drive_med_lp","sniper_drone_flylp",0,0.1,0); + } + + if(!isdefined(level.aud.looklp)) + { + level.aud.looklp = level.player.sniperdronelink soundscripts\_snd_playsound::snd_play_loop_linked("veh_wasp_look_lp","sniper_drone_looklp",0,0.1,0); + } + + for(;;) + { + waittillframeend; + if(!isdefined(level.player.sniperdronelink)) + { + break; + } + + var_07 = gettime(); + var_08 = 1000 / var_07 - var_00; + var_09 = level.player.sniperdronelink.origin - var_01; + var_0A = length(var_09) * var_08 * 0.05681818; + var_0B = var_0A - var_04; + var_04 = var_04 + 0.6 * var_0B; + var_01 = level.player.sniperdronelink.origin; + var_00 = var_07; + var_0C = level.player getnormalizedcameramovements(); + var_0D = max(abs(var_0C[0]),abs(var_0C[1])); + var_05 = var_05 + 0.6 * var_0D - var_05; + var_0E = maps\greece_code::calculateleftstickdeadzone(); + var_0F = max(abs(var_0E[0]),abs(var_0E[1])); + var_06 = var_06 + 0.6 * var_0F - var_06; + if(var_06 > 0.1 && var_02 == "hover" && !isdefined(level.aud.start_fly)) + { + var_02 = "transition"; + level.aud.start_fly = level.player.sniperdronelink soundscripts\_snd_playsound::snd_play_linked("veh_wasp_drive_med_start"); + } + else if(var_06 <= 0.2 && var_02 == "flying" && !isdefined(level.aud.stop_fly)) + { + var_02 = "transition"; + level.aud.stop_fly = level.player.sniperdronelink soundscripts\_snd_playsound::snd_play_linked("veh_wasp_drive_med_stop"); + } + else if(var_06 > 0.2) + { + var_02 = "flying"; + } + else if(var_06 <= 0.1) + { + var_02 = "hover"; + } + + if(var_05 > 0.1 && var_04 <= 2 && !var_03) + { + var_03 = 1; + level.aud.start_look = level.player.sniperdronelink soundscripts\_snd_playsound::snd_play_linked("veh_wasp_look_start"); + } + else if((var_05 <= 0.1 || var_04 > 2) && var_03) + { + var_03 = 0; + level.aud.stop_look = level.player.sniperdronelink soundscripts\_snd_playsound::snd_play_linked("veh_wasp_look_stop"); + } + + if(isdefined(level.aud.hoverlp)) + { + var_10 = soundscripts\_snd::snd_map(var_04,level.aud.envs["sniper_drone_hover_spd2vol"]); + level.aud.hoverlp scalevolume(var_10); + var_11 = soundscripts\_snd::snd_map(var_04,level.aud.envs["sniper_drone_hover_spd2pch"]); + level.aud.hoverlp scalepitch(var_11); + } + + if(isdefined(level.aud.lfelp)) + { + var_12 = soundscripts\_snd::snd_map(var_04,level.aud.envs["sniper_drone_lfe_spd2vol"]); + level.aud.lfelp scalevolume(var_12); + var_13 = soundscripts\_snd::snd_map(var_04,level.aud.envs["sniper_drone_lfe_spd2pch"]); + level.aud.lfelp scalepitch(var_13); + } + + if(isdefined(level.aud.flylp)) + { + var_14 = soundscripts\_snd::snd_map(var_04,level.aud.envs["sniper_drone_fly_spd2vol"]); + level.aud.flylp scalevolume(var_14); + var_15 = soundscripts\_snd::snd_map(var_04,level.aud.envs["sniper_drone_fly_spd2pch"]); + level.aud.flylp scalepitch(var_15); + } + + if(isdefined(level.aud.looklp)) + { + var_16 = soundscripts\_snd::snd_map(var_05,level.aud.envs["sniper_drone_look_spd2vol"]) * soundscripts\_snd::snd_map(var_04,level.aud.envs["sniper_drone_look_hover_spd2vol"]); + level.aud.looklp scalevolume(var_16); + } + + wait(0.05); + } +} + +//Function Number: 83 +stop_sniper_drone() +{ + soundscripts\_audio_zone_manager::azm_start_zone("mhunt_int_safehouse_balcony"); + soundscripts\_audio_mix_manager::mm_clear_submix("mhunt_sniper_drone_control"); +} + +//Function Number: 84 +start_sniper_drone_zoom() +{ + level.aud.zoomout = 0; + if(isdefined(level.aud.zoomin) && level.aud.zoomin) + { + return; + } + + soundscripts\_audio_mix_manager::mm_add_submix("mhunt_sniper_drone_zoom_in"); + soundscripts\_audio_mix_manager::mm_clear_submix("mhunt_sniper_drone_zoom_out"); + maps\_utility::enable_damagefeedback_snd(); + level.aud.zoomin = 1; + level.aud.zoominsound = soundscripts\_snd_playsound::snd_play_2d("wpn_wasp_scope_zoom_in","stop_zoominsound",0,0.25); +} + +//Function Number: 85 +stop_sniper_drone_zoom() +{ + level.aud.zoomin = 0; + if(isdefined(level.aud.zoomout) && level.aud.zoomout) + { + return; + } + + soundscripts\_audio_mix_manager::mm_add_submix("mhunt_sniper_drone_zoom_out"); + soundscripts\_audio_mix_manager::mm_clear_submix("mhunt_sniper_drone_zoom_in"); + maps\_utility::disable_damagefeedback_snd(); + level.aud.zoomout = 1; + soundscripts\_snd_playsound::snd_play_2d("wpn_wasp_scope_zoom_out"); + if(isdefined(level.aud.zoominsound)) + { + level notify("stop_zoominsound"); + } +} + +//Function Number: 86 +unmute_wasp_oneshots() +{ + soundscripts\_audio_mix_manager::mm_clear_submix("mhunt_wasp_mute_oneshots"); +} + +//Function Number: 87 +sniper_drone_dry_fire() +{ + if(isdefined(level.aud.dry_fire) && level.aud.dry_fire) + { + return; + } + + level.aud.dry_fire = 1; + soundscripts\_snd_playsound::snd_play_2d("wpn_wasp_dry_fire"); + wait(0.3); + level.aud.dry_fire = 0; +} + +//Function Number: 88 +start_veh_moving_truck(param_00) +{ + if(isdefined(level.aud.truckaudio) && level.aud.truckaudio) + { + return; + } + + if(isdefined(level.aud.support_01_checkpoint) && level.aud.support_01_checkpoint) + { + veh_moving_truck_support_01_chkpt(param_00); + return; + } + + level.aud.truckaudio = 1; + thread duck_moving_truck_drive(); + var_01 = param_00 soundscripts\_snd_playsound::snd_play_loop_linked("moving_truck_drive","stop_moving_truck_drive",1,0.5); + level waittill("audio_resume_moving_truck"); + wait(1.5); + level notify("stop_moving_truck_drive"); + var_02 = param_00 soundscripts\_snd_playsound::snd_play_linked("moving_truck_approach"); + wait(5); + var_02 = param_00 soundscripts\_snd_playsound::snd_play_linked("moving_truck_brakes"); + if(!isdefined(level.aud.movingtruckidle)) + { + level.aud.movingtruckidle = param_00 soundscripts\_snd_playsound::snd_play_loop_linked("moving_truck_idle","stop_moving_truck_idle",0.5,0.25); + return; + } +} + +//Function Number: 89 +veh_moving_truck_support_01_chkpt(param_00) +{ + wait(0.05); + var_01 = param_00 soundscripts\_snd_playsound::snd_play_loop_linked("moving_truck_drive","stop_moving_truck_drive",1,0.5); + wait(3); + level notify("stop_moving_truck_drive"); + var_02 = param_00 soundscripts\_snd_playsound::snd_play_linked("moving_truck_approach"); + wait(3.5); + var_02 = param_00 soundscripts\_snd_playsound::snd_play_linked("moving_truck_brakes"); + if(!isdefined(level.aud.movingtruckidle)) + { + level.aud.movingtruckidle = param_00 soundscripts\_snd_playsound::snd_play_loop_linked("moving_truck_idle","stop_moving_truck_idle",0.5,0.25); + } +} + +//Function Number: 90 +veh_moving_truck_chkpt(param_00) +{ + level waittill("moving_truck_checkpoint"); + if(!isdefined(level.aud.movingtruckidle)) + { + level.aud.movingtruckidle = param_00 soundscripts\_snd_playsound::snd_play_loop_linked("moving_truck_idle","stop_moving_truck_idle",0.25,0.25); + } +} + +//Function Number: 91 +duck_moving_truck_drive() +{ + wait(6); + soundscripts\_audio_mix_manager::mm_add_submix("mhunt_duck_moving_truck"); + level waittill("audio_resume_moving_truck"); + soundscripts\_audio_mix_manager::mm_clear_submix("mhunt_duck_moving_truck"); +} + +//Function Number: 92 +cc_kva_alerted_walla() +{ + soundscripts\_snd_playsound::snd_play_2d("walla_kva_alerted","stop_kva_walla",0,2); +} + +//Function Number: 93 +start_tower_bells() +{ +} + +//Function Number: 94 +start_gate_breach_music() +{ + soundscripts\_snd_timescale::snd_set_timescale("mhunt_balcony_takedown"); + wait(1); + soundscripts\_snd::snd_music_message("start_conference_stealth"); +} + +//Function Number: 95 +start_burke_ambush_slomo() +{ + level.player enablecustomweaponcontext(); + soundscripts\_snd_common::snd_enable_soundcontextoverride("slomo"); + soundscripts\_snd::snd_music_message("start_burke_ambush_slomo"); + soundscripts\_audio_mix_manager::mm_add_submix("mhunt_burke_ambush"); + soundscripts\_snd_playsound::snd_play_2d("burke_ambush_door_start"); +} + +//Function Number: 96 +stop_burke_ambush_slomo() +{ + soundscripts\_snd::snd_music_message("stop_burke_ambush_slomo"); + soundscripts\_snd_playsound::snd_play_2d("burke_ambush_door_stop"); + wait(0.25); + soundscripts\_audio_mix_manager::mm_clear_submix("mhunt_burke_ambush"); + soundscripts\_snd_common::snd_disable_soundcontextoverride("slomo"); + level.player disablecustomweaponcontext(); +} + +//Function Number: 97 +npc_shoots_pool_enemy() +{ + soundscripts\_snd_playsound::snd_play_linked("pool_npc_shoot"); +} + +//Function Number: 98 +atrium_breach_signal_start() +{ + if(isdefined(level.aud.breach_signal) && level.aud.breach_signal) + { + return; + } + + level.aud.breach_signal = 1; + soundscripts\_snd_playsound::snd_play_2d("mute_breach_signal"); +} + +//Function Number: 99 +start_atrium_breach_music() +{ + soundscripts\_snd::snd_music_message("start_atrium_fight_music"); +} + +//Function Number: 100 +start_atrium_fight() +{ + soundscripts\_audio_mix_manager::mm_add_submix("mhunt_mute_fight"); + soundscripts\_snd_playsound::snd_play_2d("mute_breach_activate"); + wait(0.7); + soundscripts\_snd_playsound::snd_play_2d("mute_breach_explo"); +} + +//Function Number: 101 +stop_atrium_fight() +{ + soundscripts\_snd::snd_music_message("stop_atrium_fight"); + soundscripts\_audio_mix_manager::mm_clear_submix("mhunt_mute_fight"); +} + +//Function Number: 102 +atrium_timer_expire() +{ + soundscripts\_audio_mix_manager::mm_clear_submix("mhunt_mute_fight"); +} + +//Function Number: 103 +parking_lot_runners() +{ +} + +//Function Number: 104 +parking_lot_clear() +{ + soundscripts\_snd::snd_music_message("parking_lot_clear"); +} + +//Function Number: 105 +start_car_alarm(param_00) +{ + level endon("stop_car_alarm"); + if(isdefined(level.aud.car_alarm_horn_01) && level.aud.car_alarm_horn_01) + { + return; + } + + level.aud.car_alarm_horn_01 = 1; + for(;;) + { + param_00 thread soundscripts\_snd_playsound::snd_play_linked("car_alarm_horn_01"); + wait(1.08); + } +} + +//Function Number: 106 +stop_car_alarm() +{ + wait(3); + level notify("stop_car_alarm"); + wait(0.5); + soundscripts\_snd_playsound::snd_play_linked("car_alarm_horn_chirp"); +} + +//Function Number: 107 +start_hades_transition() +{ + wait(1); + soundscripts\_snd::snd_music_message("start_hades_sequence"); +} + +//Function Number: 108 +begin_kill_hades_sequence() +{ + maps\_anim::addnotetrack_customfunction("infiltratorburke","audio_building_explo",::conference_center_explo,"cc_breach"); + maps\_anim::addnotetrack_customfunction("infiltrator1","audio_hades_breach_sequence",::start_hades_breach_npc,"cc_breach"); +} + +//Function Number: 109 +start_hades_double_stinger() +{ + wait(1.3); + soundscripts\_snd::snd_music_message("start_hades_double_stinger"); +} + +//Function Number: 110 +hades_is_dead() +{ + level.confhades soundscripts\_snd_playsound::snd_play_linked("hades_death_glass_squib"); + soundscripts\_snd::snd_music_message("start_hades_breach"); + soundscripts\_snd_playsound::snd_play_delayed_2d("walla_hades_death",0.3); + wait(0.7); + soundscripts\_snd_playsound::snd_play_2d("hades_death_bodyfall"); +} + +//Function Number: 111 +start_hades_breach() +{ + common_scripts\utility::flag_set("aud_hades_door_breach"); +} + +//Function Number: 112 +start_hades_breach_door(param_00) +{ + common_scripts\utility::flag_wait("aud_hades_door_breach"); + wait(0.98); + param_00 soundscripts\_snd_playsound::snd_play_linked("hades_breach_door"); +} + +//Function Number: 113 +start_hades_flashbang(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("hades_breach_flashbang"); + soundscripts\_snd_timescale::snd_set_timescale("mhunt_hades_explosion"); +} + +//Function Number: 114 +start_hades_breach_npc(param_00) +{ + thread start_hades_breach_npc1(); + thread start_hades_breach_npc2(); + thread start_hades_breach_guard(); + soundscripts\_snd_playsound::snd_play_delayed_2d("hades_npc_grenade",0.8); + soundscripts\_snd_playsound::snd_play_delayed_2d("hades_npc_fire",3.2); + soundscripts\_snd_playsound::snd_play_delayed_2d("hades_npc_walk_01",3.3); + soundscripts\_snd_playsound::snd_play_delayed_2d("hades_npc_walk_02",13.18); + soundscripts\_snd_playsound::snd_play_delayed_2d("hades_npc_dive",15.05); +} + +//Function Number: 115 +start_hades_breach_npc1() +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("hades_npc1_walk",3.62); + soundscripts\_snd_playsound::snd_play_delayed_2d("hades_npc1_jump",15.62); +} + +//Function Number: 116 +start_hades_breach_npc2() +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("hades_npc2_walk_01",3.77); + soundscripts\_snd_playsound::snd_play_delayed_2d("hades_npc2_kick",7.22); + soundscripts\_snd_playsound::snd_play_delayed_2d("hades_npc2_up",14.36); + soundscripts\_snd_playsound::snd_play_delayed_2d("hades_npc2_walk_02",15.75); + soundscripts\_snd_playsound::snd_play_delayed_2d("hades_npc2_gun_drop",16.45); +} + +//Function Number: 117 +start_hades_breach_guard() +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("guard_death_gun_drop",3.5); + soundscripts\_snd_playsound::snd_play_delayed_2d("guard_death_bodyfall",3.75); +} + +//Function Number: 118 +hades_rigged_walla() +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("walla_hades_bomb",5.8,0,"stop_bomb_walla",0,0.25); +} + +//Function Number: 119 +conference_center_explo(param_00) +{ + wait(1.5); + soundscripts\_snd_playsound::snd_play_2d("conference_center_explode"); + level notify("stop_bomb_walla"); + soundscripts\_audio_mix_manager::mm_add_submix("mhunt_conf_center_explo"); + soundscripts\_audio_zone_manager::azm_start_zone("mhunt_ext_drone_conf_center_explo"); +} + +//Function Number: 120 +conference_center_explo_zone() +{ + wait(0.25); + soundscripts\_audio_zone_manager::azm_start_zone("mhunt_ext_drone_conf_center_explo"); +} + +//Function Number: 121 +hades_explosion_slowmo_start() +{ +} + +//Function Number: 122 +start_wasp_flicker() +{ + soundscripts\_snd_playsound::snd_play_2d("wasp_static_flicker"); +} + +//Function Number: 123 +hades_explosion_slowmo_end() +{ + soundscripts\_audio_mix_manager::mm_clear_submix("mhunt_conf_center_explo"); + thread conference_center_fire(); + thread post_explosion_alarms(); + wait(1); + soundscripts\_snd::snd_music_message("start_hades_post_explosion"); +} + +//Function Number: 124 +conference_center_fire() +{ + if(isdefined(level.aud.ccfire) && level.aud.ccfire) + { + return; + } + + level.aud.ccfire = soundscripts\_snd_playsound::snd_play_loop_at("conference_center_fire",(-20472,-46629,200),"stop_conference_center_fire",0.5,0.25); +} + +//Function Number: 125 +post_explosion_alarms() +{ + soundscripts\_snd_playsound::snd_play_loop_at("post_explo_car_alarm_01",(-18620,-43837,253),"stop_post_explo_car_alarm_01",0,3); + soundscripts\_snd_playsound::snd_play_loop_at("post_explo_car_alarm_02",(-15682,-46731,589),"stop_post_explo_car_alarm_02",0,3); + wait(20); + level notify("stop_post_explo_car_alarm_01"); + level.aud.siren_distant = soundscripts\_snd_playsound::snd_play_loop_at("post_explo_siren",(-15685,-46735,589),"stop_post_explo_siren",20,1); + wait(15); + level notify("stop_post_explo_car_alarm_02"); +} + +//Function Number: 126 +wasp_cloak_off() +{ + if(isdefined(level.aud.drone_cloak_off) && level.aud.drone_cloak_off) + { + return; + } + + level.aud.drone_cloak_off = 1; + soundscripts\_snd_playsound::snd_play_2d("wasp_cloak_off"); +} + +//Function Number: 127 +start_cc_open_combat() +{ + wait(0.75); + soundscripts\_snd::snd_music_message("start_conference_battle"); +} + +//Function Number: 128 +mhunt_cc_assault_veh_01_approach() +{ + var_00 = aud_create_linked_entity(self); + var_00 aud_play("mhunt_cc_assault_veh_01_approach"); +} + +//Function Number: 129 +cc_technical_turret_fire(param_00) +{ + level endon("start_wasp_death_spin"); + for(;;) + { + param_00 waittill("turret_fire"); + param_00 soundscripts\_snd_playsound::snd_play("truck_turret_fire"); + } +} + +//Function Number: 130 +mhunt_cc_parked_car_expl() +{ + soundscripts\_audio_mix_manager::mm_add_submix("mhunt_parked_car_explo"); + var_00 = aud_create_linked_entity(self); + var_00 aud_play("mhunt_cc_parked_car_expl"); + wait(1.5); + soundscripts\_audio_mix_manager::mm_clear_submix("mhunt_parked_car_explo"); +} + +//Function Number: 131 +mhunt_cc_assault_veh_02_approach() +{ + var_00 = aud_create_linked_entity(self); + var_00 aud_play("mhunt_cc_assault_veh_02_approach"); +} + +//Function Number: 132 +mhunt_cc_assault_veh_03_approach() +{ + wait(2.8); + var_00 = aud_create_linked_entity(self); + var_00 aud_play("mhunt_cc_assault_veh_03_approach"); +} + +//Function Number: 133 +mhunt_cc_hades_veh_escape() +{ + var_00 = aud_create_linked_entity(self); + var_00 aud_play("mhunt_cc_hades_veh_escape"); +} + +//Function Number: 134 +start_kdrone_launch(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("kdrone_launch"); +} + +//Function Number: 135 +start_kdrone_loop(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_loop_linked("veh_kdrone_fly_armed_lp"); +} + +//Function Number: 136 +start_wasp_missile_warning() +{ + soundscripts\_snd_playsound::snd_play_loop_at("wasp_death_warning_beep",(0,0,0),"stop_wasp_death_warning_beep"); +} + +//Function Number: 137 +stop_wasp_missile_warning() +{ + level notify("stop_wasp_death_warning_beep"); +} + +//Function Number: 138 +kamikaze_drone_explo(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("kdrone_explo_death",param_00.origin); +} + +//Function Number: 139 +start_sniper_drone_death() +{ + if(isdefined(level.aud.drone_explo) && level.aud.drone_explo) + { + return; + } + + level.aud.drone_explo = 1; + soundscripts\_snd::snd_music_message("start_sniper_drone_death"); + soundscripts\_audio_mix_manager::mm_add_submix("mhunt_sniper_drone_death_spin"); + soundscripts\_snd_playsound::snd_play_2d("wasp_death_spin"); + level notify("start_wasp_death_spin"); + soundscripts\_snd_common::snd_enable_soundcontextoverride("mhunt_safehouse_exit"); + if(isdefined(level.aud.siren_distant)) + { + level notify("stop_post_explo_siren"); + } +} + +//Function Number: 140 +start_wasp_death_explo() +{ + soundscripts\_snd_playsound::snd_play_2d("wasp_death_glass_explo"); +} + +//Function Number: 141 +sniper_drone_dmg_fire() +{ + if(isdefined(level.aud.damaged_fire) && level.aud.damaged_fire) + { + return; + } + + level.aud.damaged_fire = 1; + soundscripts\_snd_playsound::snd_play_2d("wpn_wasp_shot_dmg"); + wait(0.5); + level.aud.damaged_fire = 0; +} + +//Function Number: 142 +start_drone_death_static() +{ + soundscripts\_audio_mix_manager::mm_add_submix("mhunt_sniper_drone_death"); + soundscripts\_snd_playsound::snd_play_loop_at("wasp_death_static",(0,0,0),"stop_wasp_death_static"); + level notify("stop_moving_truck_idle"); + level notify("stop_conference_center_fire"); + thread safehouse_balcony_siren(); + maps\_utility::enable_damagefeedback_snd(); + wait(5); + soundscripts\_audio_mix_manager::mm_clear_submix("mhunt_sniper_drone_death_spin"); + soundscripts\_audio_mix_manager::mm_clear_submix("mhunt_sniper_drone_death"); +} + +//Function Number: 143 +stop_drone_death_static() +{ + level notify("stop_wasp_death_static"); +} + +//Function Number: 144 +safehouse_balcony_siren() +{ + if(isdefined(level.aud.balcony_siren) && level.aud.balcony_siren) + { + return; + } + + level.aud.balcony_siren = 1; + soundscripts\_snd_playsound::snd_play_loop_at("balcony_dist_siren",(23742,70235,12),"stop_balcony_siren",0.25,8); + soundscripts\_snd_playsound::snd_play_loop_at("mhunt_alley_civ_screams_dist_lp",(22691,70289,-180),"stop_civ_screams_dist",3,3); +} + +//Function Number: 145 +mhunt_safehouse_cc_expl_distant() +{ + soundscripts\_snd_playsound::snd_play_at("mhunt_safehouse_cc_expl_distant",(23539,69457,-180)); +} + +//Function Number: 146 +safehouse_escape_music() +{ + soundscripts\_snd::snd_music_message("start_safehouse_escape"); +} + +//Function Number: 147 +safehouse_sonic_destruct() +{ + if(isdefined(level.aud.sonic_destruct) && level.aud.sonic_destruct) + { + return; + } + + level.aud.sonic_destruct = 1; + soundscripts\_snd_playsound::snd_play_delayed_at("sonic_destruction",(23706,69119,-355),0.25); +} + +//Function Number: 148 +tunnel_runner_walla() +{ + soundscripts\_snd_playsound::snd_play_delayed_at("walla_gate_runner",(24036,70193,-612),0.35); + soundscripts\_snd_playsound::snd_play_loop_at("walla_trans_alleys_screaming",(25678,70882,-788),"stop_trans_to_alleys_panic",1,24); + soundscripts\_snd_playsound::snd_play_delayed_at("walla_alley_way",(25225,70171,-676),9); +} + +//Function Number: 149 +start_trans_to_alleys_panic() +{ + thread alleys_distant_standard_siren_loop(); + thread alleys_distant_emergency_siren_blasts(); +} + +//Function Number: 150 +walla_bridge_runners() +{ + soundscripts\_snd_playsound::snd_play_delayed_at("walla_upper_walkway",(24582,70099,-505),1.25); +} + +//Function Number: 151 +stop_trans_to_alleys_panic() +{ + level notify("stop_trans_to_alleys_panic"); +} + +//Function Number: 152 +smoking_civ_panic(param_00) +{ + param_00 endon("death"); + if(isdefined(level.aud.smoking_civ) && level.aud.smoking_civ) + { + return; + } + + for(;;) + { + level.aud.smoking_civ = 1; + soundscripts\_snd_playsound::snd_play_at("grk_cm1_cower",param_00.origin); + wait(3.5); + } +} + +//Function Number: 153 +civ_panic_door_run_in(param_00) +{ + param_00 thread civilian_panic_distance_check("grk_cm2_breathe","",250,300); +} + +//Function Number: 154 +trans_civ_01_flee_kva(param_00) +{ + param_00 thread civilian_panic_distance_check("grk_cm3_scream","",50,100); +} + +//Function Number: 155 +trans_civ_03_flee_kva(param_00) +{ + param_00 thread civilian_panic_distance_check("grk_cm3_surprise","",600,700); +} + +//Function Number: 156 +start_alleys_combat_music() +{ + soundscripts\_snd::snd_music_message("start_alleys_combat"); + thread alleys_distant_euro_siren_loop(); +} + +//Function Number: 157 +trans_alleys_end_alley_trigger() +{ + self waittill("trigger",var_00); + thread trans_alleys_scripted_female_scream(); + thread trans_alleys_end_scripted_enemy_gunshots(); +} + +//Function Number: 158 +trans_alleys_scripted_female_scream() +{ + if(isdefined(level.aud.trans_alleys_female_scream) && level.aud.trans_alleys_female_scream) + { + return; + } + + level.aud.trans_alleys_female_scream = 1; + wait(randomfloatrange(2,3)); + soundscripts\_snd_playsound::snd_play_at("walla_corner_screams",(25516,70811,-840)); +} + +//Function Number: 159 +trans_alleys_end_scripted_enemy_gunshots() +{ + if(isdefined(level.aud.trans_alleys_corner_shot) && level.aud.trans_alleys_corner_shot) + { + return; + } + else + { + level.aud.trans_alleys_corner_shot = 1; + for(var_00 = 0;var_00 < 6;var_00 = var_00 + 1) + { + soundscripts\_snd_playsound::snd_play_at("wpn_sn6_npc",(25426,70805,-838)); + wait(0.1); + } + } + + wait(0.5); + while(var_00 < 13) + { + soundscripts\_snd_playsound::snd_play_at("wpn_sn6_npc",(25426,70805,-838)); + wait(0.1); + var_00 = var_00 + 1; + } +} + +//Function Number: 160 +trans_alleys_end_corner_trigger() +{ + self waittill("trigger",var_00); + thread start_alleys_music(); + soundscripts\_snd::snd_message("stop_trans_to_alleys_panic"); +} + +//Function Number: 161 +start_sonic_attack_mix() +{ + soundscripts\_snd_filters::snd_fade_in_filter("mhunt_alleys_sonic_attack",0.25); + wait(1.5); + soundscripts\_snd_filters::snd_fade_out_filter(3); +} + +//Function Number: 162 +start_alleys_music() +{ + if(isdefined(level.aud.trans_alleys_corner) && level.aud.trans_alleys_corner) + { + return; + } + + level.aud.trans_alleys_corner = 1; + wait(1); + soundscripts\_snd::snd_music_message("start_back_alley_music_mid"); +} + +//Function Number: 163 +alleys_distant_euro_siren_loop() +{ + level endon("stop_alley_emergency_responders"); + if(isdefined(level.aud.euro_siren_setup) && level.aud.euro_siren_setup) + { + return; + } + + level.aud.euro_siren_setup = 1; + for(;;) + { + level.aud.euro_siren_01 = soundscripts\_snd_playsound::snd_play_loop_at("euro_siren_lp_01",(25389,72394,-133),"stop_euro_siren_lp_01",30,20); + wait(30); + wait(randomfloatrange(8,15)); + level notify("stop_euro_siren_lp_01"); + wait(30); + wait(randomfloatrange(10,15)); + } +} + +//Function Number: 164 +alleys_distant_standard_siren_loop() +{ + level endon("stop_alley_emergency_responders"); + if(isdefined(level.aud.standard_siren_setup) && level.aud.standard_siren_setup) + { + return; + } + + level.aud.standard_siren_setup = 1; + level.aud.standard_siren_01 = soundscripts\_snd_playsound::snd_play_loop_at("standard_siren_lp_01",(0,0,0),"stop_standard_siren_lp_01",1,45); + wait(60); + level notify("stop_standard_siren_lp_01"); + wait(45); + for(;;) + { + level.aud.standard_siren_01 = soundscripts\_snd_playsound::snd_play_loop_at("standard_siren_lp_01",(0,0,0),"stop_standard_siren_lp_01",30,45); + wait(30); + wait(randomfloatrange(45,90)); + level notify("stop_standard_siren_lp_01"); + wait(45); + wait(randomfloatrange(10,15)); + } +} + +//Function Number: 165 +alleys_distant_emergency_siren_blasts() +{ + level endon("stop_alley_emergency_responders"); + if(isdefined(level.aud.emergency_siren_blasts) && level.aud.emergency_siren_blasts) + { + return; + } + + level.aud.emergency_siren_blasts = 1; + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("mhunt_alleys_emergency_siren_blasts",(25998,70590,397),"siren_blasts_dist_01"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("mhunt_alleys_emergency_horn_dist",(24336,71635,16),"horn_blasts_dist_01"); +} + +//Function Number: 166 +alleys_rpg_fight_music() +{ + if(isdefined(level.aud.alleys_rpg_music) && level.aud.alleys_rpg_music) + { + return; + } + + level.aud.alleys_rpg_music = 1; + wait(0.5); + soundscripts\_snd::snd_music_message("start_back_alley_music_hi"); + level notify("stop_balcony_siren"); +} + +//Function Number: 167 +alleys_rpg_music_backup_trigger() +{ + self waittill("trigger",var_00); + if(isdefined(level.aud.alleys_rpg_music) && level.aud.alleys_rpg_music) + { + return; + } + + level.aud.alleys_rpg_music = 1; + soundscripts\_snd::snd_music_message("start_back_alley_music_hi"); +} + +//Function Number: 168 +stop_alleys_emergency_audio() +{ + level notify("stop_alley_emergency_responders"); + level notify("stop_balcony_siren"); + level notify("stop_civ_screams_dist"); + soundscripts\_audio_dynamic_ambi::damb_stop_preset_at_point("mhunt_alleys_emergency_siren_blasts","siren_blasts_dist_01",1); + soundscripts\_audio_dynamic_ambi::damb_stop_preset_at_point("mhunt_alleys_emergency_horn_dist","horn_blasts_dist_01",1); + if(isdefined(level.aud.standard_siren_01)) + { + level notify("stop_standard_siren_lp_01"); + } + + if(isdefined(level.aud.euro_siren_01)) + { + level notify("stop_euro_siren_lp_01"); + } + + wait(15); +} + +//Function Number: 169 +alleys_music_end() +{ + soundscripts\_snd::snd_music_message("stop_alleys_combat"); +} + +//Function Number: 170 +alley_ending_point_trigger() +{ + self waittill("trigger",var_00); + if(isdefined(level.aud.alleys_end_music) && level.aud.alleys_end_music) + { + return; + } + + level.aud.alleys_end_music = 1; +} + +//Function Number: 171 +sniper_interior_trigger_think(param_00) +{ + if(!isdefined(param_00)) + { + return; + } + + for(;;) + { + level.aud.playerinside = 0; + foreach(var_02 in param_00) + { + if(level.player istouching(var_02)) + { + level.aud.playerinside = 1; + break; + } + } + + wait(0.2); + } +} + +//Function Number: 172 +windmill_sniper_shot(param_00) +{ + soundscripts\_snd::snd_message("windmill_sniper_shot_whizby",level.sniperpos.origin,param_00); + if(isdefined(level.aud.snipershot)) + { + level notify("stop_snipershot"); + } + + var_01 = distance(level.player.origin,level.sniperpos.origin); + if(var_01 < 4500) + { + if(level.aud.playerinside) + { + var_02 = "mhunt_snpr_near_int_front_01"; + } + else + { + var_02 = "mhunt_snpr_near_ext_front_01"; + } + } + else if(level.aud.playerinside) + { + wait(0.19); + var_02 = "mhunt_snpr_far_int_front_01"; + } + else + { + wait(0.19); + var_02 = "mhunt_snpr_far_ext_front_01"; + } + + level.aud.snipershot = soundscripts\_snd_playsound::snd_play_at(var_02,(20250,81380,-712),"stop_snipershot",0,1); + level notify("shot_fired_civ_reaction"); +} + +//Function Number: 173 +windmill_sniper_shot_multi(param_00) +{ + soundscripts\_snd::snd_message("windmill_sniper_shot_whizby",level.sniperpos.origin,param_00); + if(isdefined(level.aud.snipershot_multi)) + { + level notify("stop_snipershot_multi"); + } + + var_01 = distance(level.player.origin,level.sniperpos.origin); + if(var_01 < 4500) + { + if(level.aud.playerinside) + { + var_02 = "mhunt_snpr_near_int_front_01"; + } + else + { + var_02 = "mhunt_snpr_near_ext_front_01"; + } + } + else if(level.aud.playerinside) + { + wait(0.19); + var_02 = "mhunt_snpr_far_int_front_01"; + } + else + { + wait(0.19); + var_02 = "mhunt_snpr_far_ext_front_01"; + } + + level.aud.snipershot_multi = soundscripts\_snd_playsound::snd_play_at(var_02,(20250,81380,-712),"stop_snipershot_multi",0,1); + level notify("shot_fired_civ_reaction"); +} + +//Function Number: 174 +mhunt_snpr_blood_impact_splat() +{ + var_00 = aud_create_linked_entity(self); + var_00 aud_play("sniper_npc_flesh_squib"); +} + +//Function Number: 175 +windmill_sniper_shot_whizby(param_00,param_01) +{ + var_02 = param_00; + var_03 = param_01; + thread aud_windmill_sniper_whizby(var_02,var_03); +} + +//Function Number: 176 +aud_windmill_sniper_whizby(param_00,param_01) +{ + var_02 = soundscripts\_snd_playsound::snd_play_at("mhunt_snpr_bullet_whizby",param_00); + var_02 moveto(param_01,0.1); +} + +//Function Number: 177 +scramble_amb_siren_loop() +{ + level endon("stop_scramble_emergency_responders"); + if(isdefined(level.aud.scramble_siren_setup) && level.aud.scramble_siren_setup) + { + return; + } + + level.aud.scramble_siren_setup = 1; + level.aud.scramble_siren_01 = soundscripts\_snd_playsound::snd_play_loop_at("scramble_siren_lp_01",(24520,78014,-114),"stop_scramble_siren_lp_01",1,20); + wait(30); + level notify("stop_scramble_siren_lp_01"); + wait(25); + for(;;) + { + level.aud.scramble_siren_01 = soundscripts\_snd_playsound::snd_play_loop_at("scramble_siren_lp_01",(24520,78014,-114),"stop_scramble_siren_lp_01",15,30); + wait(30); + wait(randomfloatrange(45,90)); + level notify("stop_scramble_siren_lp_01"); + wait(30); + wait(randomfloatrange(10,15)); + } +} + +//Function Number: 178 +start_sniper_scramble_music() +{ + soundscripts\_snd::snd_music_message("start_sniper_scramble"); +} + +//Function Number: 179 +stop_scramble_emergency_audio() +{ + level notify("stop_scramble_emergency_responders"); + if(isdefined(level.aud.scramble_siren_01)) + { + level notify("stop_scramble_siren_lp_01"); + } +} + +//Function Number: 180 +patio_intro_civ_death(param_00) +{ + level waittill("ScramblePatioCivShot"); + soundscripts\_audio_mix_manager::mm_add_submix("mhunt_ss_intro_civ_shot"); + soundscripts\_snd_playsound::snd_play_at("sniper_npc_head_shot",param_00.origin); + wait(0.3); + soundscripts\_audio_mix_manager::mm_clear_submix("mhunt_ss_intro_civ_shot"); + level notify("start_hotel_glass_think"); + soundscripts\_snd_playsound::snd_play_delayed_at("patio_intro_screams",(22760,75180,-829),0.4); +} + +//Function Number: 181 +patio_civ_01_cower(param_00) +{ + param_00 endon("death"); + for(;;) + { + level waittill("shot_fired_civ_reaction"); + if(isdefined(level.aud.patio_male_01_mumble) && level.aud.patio_male_01_mumble) + { + return; + } + else + { + level.aud.patio_male_01_mumble = 1; + soundscripts\_snd_playsound::snd_play_at("grk_cm1_cower",param_00.origin); + wait(3.5); + level.aud.patio_male_01_mumble = 0; + } + } +} + +//Function Number: 182 +patio_civ_03_scream(param_00) +{ + level waittill("ScramblePatioCivShot"); + wait(randomfloatrange(2,4)); + soundscripts\_snd_playsound::snd_play_at("grk_cf1_scream",param_00.origin); +} + +//Function Number: 183 +gap_jump_squib_occlusion() +{ + soundscripts\_snd_filters::snd_set_occlusion("scramble_gap_jump"); +} + +//Function Number: 184 +hotel_glass_footstep_think(param_00) +{ + level endon("stop_hotel_glass_think"); + level waittill("start_hotel_glass_think"); + if(!isdefined(param_00)) + { + return; + } + + for(;;) + { + level.aud.broken_glass = 0; + foreach(var_02 in param_00) + { + if(level.player istouching(var_02)) + { + level.aud.broken_glass = 1; + break; + } + } + + wait(0.2); + } +} + +//Function Number: 185 +hotel_crowd_panic_trigger() +{ + self waittill("trigger",var_00); + if(isdefined(level.aud.hotel_crowd_panic_trigger) && level.aud.hotel_crowd_panic_trigger) + { + return; + } + + level.aud.hotel_crowd_panic_trigger = 1; + level notify("start_hotel_panic_02"); +} + +//Function Number: 186 +hotel_crowd_panic_walla() +{ + soundscripts\_snd::snd_music_message("start_scramble_hotel"); + wait(6); + soundscripts\_snd_playsound::snd_play_at("hotel_panic_walla_01",(23682,76444,-1039)); + level waittill("start_hotel_panic_02"); + soundscripts\_snd_playsound::snd_play_at("hotel_panic_walla_02",(23682,76444,-1039)); + wait(5.18); + soundscripts\_snd_playsound::snd_play_at("hotel_panic_walla_03",(23682,76444,-1039)); +} + +//Function Number: 187 +hotel_crowd_panic_walla_chkpt() +{ + soundscripts\_snd_playsound::snd_play_at("hotel_panic_walla_01",(23682,76444,-1039)); + level waittill("start_hotel_panic_02"); + soundscripts\_snd_playsound::snd_play_at("hotel_panic_walla_02",(23682,76444,-1039)); + wait(5.18); + soundscripts\_snd_playsound::snd_play_at("hotel_panic_walla_03",(23682,76444,-1039)); +} + +//Function Number: 188 +hotel_female_01_hallway(param_00) +{ + param_00 endon("death"); + level endon("start_jump_out_hotel_window"); + if(isdefined(level.aud.hotel_female_01_hallway) && level.aud.hotel_female_01_hallway) + { + return; + } + + level.aud.hotel_female_01_hallway = 1; + level waittill("start_hotel_panic_02"); + wait(2); + for(;;) + { + soundscripts\_snd_playsound::snd_play_at("grk_cf1_cry",param_00.origin); + wait(4); + } +} + +//Function Number: 189 +hotel_civ_04_death(param_00) +{ + param_00 endon("goal"); + level endon("start_jump_out_hotel_window"); + param_00 waittill("death"); + soundscripts\_snd_playsound::snd_play_at("grk_cf1_death",param_00.origin); +} + +//Function Number: 190 +sniper_suppression_hit_alert() +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("SP_hit_alert_npc",0); +} + +//Function Number: 191 +pool_civ_01_cower_setup() +{ + level notify("start_jump_out_hotel_window"); + thread pool_civ_wounded_woman(); + thread pool_walla_scream(); +} + +//Function Number: 192 +pool_civ_01_cower(param_00) +{ + param_00 endon("death"); + level waittill("start_jump_out_hotel_window"); + wait(2.5); + if(isdefined(level.aud.pool_male_01_cower) && level.aud.pool_male_01_cower) + { + return; + } + + level.aud.pool_male_01_cower = 1; + soundscripts\_snd_playsound::snd_play_at("grk_cm2_cower",param_00.origin); +} + +//Function Number: 193 +pool_civ_wounded_woman() +{ + if(isdefined(level.aud.pool_female_wounded) && level.aud.pool_female_wounded) + { + return; + } + + level.aud.pool_female_wounded = 1; + var_00 = spawn("script_origin",(23601,77253,-1203)); + var_00 civilian_panic_distance_check("grk_cf2_cry","",200,300); + wait(10); + var_00 delete(); +} + +//Function Number: 194 +pool_walla_scream() +{ + soundscripts\_snd_playsound::snd_play_delayed_at("post_window_drop_screams",(23465,77076,-1191),3); +} + +//Function Number: 195 +drone_civ_02_flee(param_00) +{ + param_00 endon("death"); + level endon("audio_kva_drones_dead"); + if(isdefined(level.aud.drone_female_02_flee) && level.aud.drone_female_02_flee) + { + return; + } + + level.aud.drone_female_02_flee = 1; + level waittill("audio_kva_drones_inbound"); + wait(1); + for(;;) + { + soundscripts\_snd_playsound::snd_play_at("grk_cf1_cry",param_00.origin); + wait(8); + } +} + +//Function Number: 196 +mhunt_snpr_dest_cafe_wall(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("mhunt_snpr_dest_cafe_wall",param_00.origin); + level notify("stop_hotel_glass_think"); +} + +//Function Number: 197 +gondola_movement_loops(param_00) +{ + foreach(var_02 in param_00) + { + var_02 soundscripts\_snd_playsound::snd_play_loop_linked("gondola_lp","stop_gondola_audio"); + } +} + +//Function Number: 198 +start_swarm_drones_context() +{ + changewhizbyautosimparams(0,0,0,0,0,0); +} + +//Function Number: 199 +restaurant_doors_open(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("restaurant_door_open",param_00.origin); +} + +//Function Number: 200 +restaurant_door_civ_killed(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("restaurant_door_civ_shot",param_00.origin); + wait(0.88); + soundscripts\_snd_playsound::snd_play_at("restaurant_door_civ_fall",param_00.origin); +} + +//Function Number: 201 +restaurant_civ_03_cower(param_00) +{ + param_00 thread civilian_panic_distance_check("grk_cf1_scream","rest_civ_03_killed",200,300); + param_00 waittill("death"); + level notify("rest_civ_03_killed"); +} + +//Function Number: 202 +restaurant_wet_floor_think(param_00) +{ + level endon("audio_stop_restaurant_think"); + level waittill("fish_tank_destroyed"); + if(!isdefined(param_00)) + { + return; + } + + for(;;) + { + if(level.player istouching(param_00)) + { + level.aud.restaurant_water = 1; + } + else + { + level.aud.restaurant_water = 0; + } + + wait(0.2); + } +} + +//Function Number: 203 +restaurant_fish_tank_destruct(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("fish_tank_destruct",param_00.origin); + soundscripts\_snd_playsound::snd_play_loop_at("fish_tank_destroyed_drip",param_00.origin,"stop_fish_tank_drip",1,1); + wait(1); + level notify("fish_tank_destroyed"); +} + +//Function Number: 204 +ally_shoot_rpg_at_drones(param_00) +{ + if(isdefined(level.aud.rpg_shoot_dist) && level.aud.rpg_shoot_dist) + { + return; + } + + level.aud.rpg_shoot_dist = 1; + soundscripts\_audio_mix_manager::mm_add_submix("mhunt_stingerm7_fire"); + soundscripts\_snd_playsound::snd_play_at("ally_shoot_m7_dist",param_00.origin); + wait(0.8); + soundscripts\_audio_mix_manager::mm_clear_submix("mhunt_stingerm7_fire"); +} + +//Function Number: 205 +finale_civ_04_cower(param_00) +{ + param_00 thread civilian_panic_distance_check("grk_cm2_cower_cry","finale_civ_04_killed",200,250); + param_00 waittill("death"); + level notify("finale_civ_04_killed"); +} + +//Function Number: 206 +manga_rocket_trail(param_00) +{ + param_00 playloopsound("wpn_stingerm7_loop"); +} + +//Function Number: 207 +manga_rocket_explosion(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("wpn_stingerm7_proj_impact",param_00.origin); + param_00 stoploopsound(); +} + +//Function Number: 208 +stingerm7_shoot_tower() +{ + if(isdefined(level.aud.rpg_shoot) && level.aud.rpg_shoot) + { + return; + } + + level.aud.rpg_shoot = 1; + soundscripts\_snd::snd_music_message("start_scramble_tower_collapse"); + soundscripts\_audio_mix_manager::mm_add_submix("mhunt_stingerm7_fire"); + soundscripts\_snd_playsound::snd_play_2d("mhunt_m7_shoot"); + wait(0.8); + soundscripts\_audio_mix_manager::mm_clear_submix("mhunt_stingerm7_fire"); +} + +//Function Number: 209 +mhunt_snpr_tower_collapse() +{ + soundscripts\_snd_playsound::snd_play_at("mhunt_snpr_tower_expl_front",(20250,81380,-712)); + soundscripts\_snd_playsound::snd_play_at("mhunt_snpr_tower_expl_rear",(22350,79275,-712)); + wait(1); + soundscripts\_snd_playsound::snd_play_at("mhunt_snpr_tower_collapse_front",(20250,81380,-712)); + soundscripts\_snd_playsound::snd_play_at("mhunt_snpr_tower_collapse_rear",(22350,79275,-712)); + wait(2); + soundscripts\_snd::snd_music_message("start_sniper_tower_collapse_music"); +} + +//Function Number: 210 +stop_swarm_drones_context() +{ + changewhizbyautosimparams(0,0,0,0,1,1); +} + +//Function Number: 211 +exit_truck_fire(param_00) +{ + if(isdefined(level.aud.exit_truck_fire) && level.aud.exit_truck_fire) + { + return; + } + + level.aud.exit_truck_fire = 1; + param_00 soundscripts\_snd_playsound::snd_play_loop_linked("fire_exit_truck"); +} + +//Function Number: 212 +start_finale_transition_music() +{ + soundscripts\_snd::snd_music_message("start_transition_to_finale"); +} + +//Function Number: 213 +finale_street_crowd() +{ + wait(2); + soundscripts\_snd_playsound::snd_play_loop_at("street_crowd_gathering",(21642,82518,-1398),"stop_finale_crowd_walla",2,0.3); + level waittill("EndingFinaleCivsFlee"); + wait(0.55); + soundscripts\_snd_playsound::snd_play_at("street_crowd_scream",(21642,82518,-1398)); + level notify("stop_finale_crowd_walla"); +} + +//Function Number: 214 +player_place_ied_foley() +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("ied_foley_placement",0.15); + thread player_ied_footsteps_left(); + thread player_ied_footsteps_right(); +} + +//Function Number: 215 +player_ied_footsteps_left() +{ + level endon("stop_ied_footstep_loop"); + for(;;) + { + level waittill("vm_ied_footstep_left"); + soundscripts\_snd_playsound::snd_play_2d("gear_rattle_plr_run_l"); + soundscripts\_snd_playsound::snd_play_2d("step_run_plr_default_l"); + } +} + +//Function Number: 216 +player_ied_footsteps_right() +{ + level endon("stop_ied_footstep_loop"); + for(;;) + { + level waittill("vm_ied_footstep_right"); + soundscripts\_snd_playsound::snd_play_2d("gear_rattle_plr_run_r"); + soundscripts\_snd_playsound::snd_play_2d("step_run_plr_default_r"); + } +} + +//Function Number: 217 +start_ied_convoy_ambush_expl() +{ + soundscripts\_audio_mix_manager::mm_add_submix("mhunt_ied_ambush_slomo"); + wait(0.1); + soundscripts\_snd_playsound::snd_play_2d("mhunt_ied_convoy_slomo_start","stop_ambush_slomo",0.18,0.13); + level notify("stop_ied_footstep_loop"); +} + +//Function Number: 218 +start_ied_convoy_slomo_end() +{ + soundscripts\_snd_playsound::snd_play_2d("mhunt_ied_convoy_slomo_stop"); +} + +//Function Number: 219 +stop_ied_convoy_ambush_expl() +{ + soundscripts\_snd::snd_music_message("start_truck_drive_in_ied"); + soundscripts\_audio_mix_manager::mm_clear_submix("mhunt_ied_ambush_slomo",0.3); + level notify("stop_ambush_slomo"); +} + +//Function Number: 220 +convoy_crash_emitters() +{ + soundscripts\_snd_playsound::snd_play_loop_at("fire_convoy_truck_01",(20855,82318,-1433),"stop_convoy_crash_emitters"); + soundscripts\_snd_playsound::snd_play_loop_at("steam_convoy_truck_02",(20369,82253,-1601),"stop_convoy_crash_emitters"); + soundscripts\_snd_playsound::snd_play_loop_at("pings_convoy_truck_02",(20382,82337,-1599),"stop_convoy_crash_emitters"); + soundscripts\_snd_playsound::snd_play_loop_at("steam_convoy_truck_03",(19076,82406,-1667),"stop_convoy_crash_emitters"); + soundscripts\_snd_playsound::snd_play_loop_at("pings_convoy_truck_02",(19012,82456,-1654),"stop_convoy_crash_emitters"); +} + +//Function Number: 221 +convoy_truck_explosion(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("lag_rndabt_car_large_explo",param_00.origin); +} + +//Function Number: 222 +enemy_on_fire() +{ + self endon("death"); + var_00 = soundscripts\_snd_playsound::snd_play_loop_at("fire_dead_body",self.origin); + for(;;) + { + var_00 moveto(self.origin,0.05); + wait(0.05); + } +} + +//Function Number: 223 +start_finale_fight_music() +{ + wait(2.3); + soundscripts\_snd::snd_music_message("start_finale_fight_music"); +} + +//Function Number: 224 +stop_finale_fight_music() +{ + soundscripts\_snd::snd_music_message("stop_finale_fight_music"); +} + +//Function Number: 225 +start_hades_suv_extraction() +{ + level.player enablecustomweaponcontext(); + soundscripts\_snd_common::snd_enable_soundcontextoverride("slomo"); + soundscripts\_audio_mix_manager::mm_add_submix("mhunt_suv_charge_plyr_slomo"); + soundscripts\_snd_playsound::snd_play_2d("mhunt_hades_suv_slomo_start","stop_suv_slomo",0.18,0.13); +} + +//Function Number: 226 +stop_hades_suv_extraction() +{ + soundscripts\_snd_common::snd_disable_soundcontextoverride("slomo"); + level.player disablecustomweaponcontext(); + soundscripts\_audio_mix_manager::mm_clear_submix("mhunt_suv_charge_plyr_slomo"); + level notify("stop_suv_slomo"); + soundscripts\_snd_playsound::snd_play_2d("mhunt_hades_suv_slomo_stop"); +} + +//Function Number: 227 +start_finale_suv_damage() +{ + wait(3); + soundscripts\_snd_playsound::snd_play_loop_at("mhunt_finale_suv_fire_lp",(19270,81691,-1665),"",0.25); + soundscripts\_snd_playsound::snd_play_loop_at("mhunt_finale_suv_hiss_lp",(19306,81695,-1665),"",2); + soundscripts\_snd_playsound::snd_play_loop_at("mhunt_finale_suv_pings_lp",(19334,81680,-1665),"",0.5); +} + +//Function Number: 228 +start_finale_h2h_music() +{ + wait(5); + soundscripts\_snd::snd_music_message("start_finale_h2h_music"); +} + +//Function Number: 229 +start_exo_sonic_attack_fail() +{ + soundscripts\_snd_playsound::snd_play_2d("mhunt_exo_sonic_attack_fail"); +} + +//Function Number: 230 +hades_throat_slash() +{ + thread stop_finale_h2h_music(); + thread irons_knows_music(); +} + +//Function Number: 231 +start_hades_kill_interact_fail() +{ + soundscripts\_audio_mix_manager::mm_add_submix("mhunt_hades_revenge"); + thread stop_finale_h2h_music(); +} + +//Function Number: 232 +stop_finale_h2h_music() +{ + if(isdefined(level.aud.hades_end_mx) && level.aud.hades_end_mx) + { + return; + } + + level.aud.hades_end_mx = 1; + soundscripts\_snd::snd_music_message("stop_finale_h2h_music"); +} + +//Function Number: 233 +irons_knows_music() +{ + level waittill("start_hades_awake_music"); + wait(0.2); + soundscripts\_snd::snd_music_message("start_finale_irons_knows"); +} + +//Function Number: 234 +mhunt_level_end() +{ + soundscripts\_audio_mix_manager::mm_add_submix("mhunt_level_fade_out"); +} + +//Function Number: 235 +aud_create_entity(param_00) +{ + return spawn("script_origin",param_00); +} + +//Function Number: 236 +aud_create_linked_entity(param_00,param_01) +{ + var_02 = spawn("script_origin",param_00.origin); + if(isdefined(param_01)) + { + var_02 linkto(param_00,"",param_01,(0,0,0)); + } + else + { + var_02 linkto(param_00); + } + + return var_02; +} + +//Function Number: 237 +aud_play(param_00,param_01) +{ + var_02 = 0; + if(isdefined(param_01)) + { + var_02 = param_01; + } + + if(var_02) + { + self playloopsound(param_00); + return; + } + + self playsound(param_00,"sounddone"); + aud_delete_on_sounddone(); +} + +//Function Number: 238 +aud_fade_in(param_00,param_01,param_02) +{ + var_03 = 0; + if(isdefined(param_02)) + { + var_03 = param_02; + } + + if(var_03) + { + self playloopsound(param_00); + } + else + { + self playsound(param_00,"sounddone"); + aud_delete_on_sounddone(); + } + + if(param_01 > 0) + { + thread audx_fade_in_internal(param_01); + } +} + +//Function Number: 239 +audx_fade_in_internal(param_00) +{ + self scalevolume(0); + wait(0.05); + if(!isdefined(self)) + { + return; + } + + self scalevolume(1,param_00); +} + +//Function Number: 240 +aud_fade_out(param_00) +{ + thread audx_fade_out_internal(param_00); +} + +//Function Number: 241 +audx_fade_out_internal(param_00) +{ + self scalevolume(0,param_00); + wait(param_00 + 0.05); + if(!isdefined(self)) + { + return; + } + + self stopsounds(); + self stoploopsound(); + wait(0.05); + if(!isdefined(self)) + { + return; + } + + self delete(); +} + +//Function Number: 242 +aud_delete_on_sounddone() +{ + thread audx_delete_on_sounddone_internal(); +} + +//Function Number: 243 +audx_delete_on_sounddone_internal() +{ + self endon("death"); + self waittill("sounddone"); + if(!isdefined(self)) + { + return; + } + + self delete(); +} + +//Function Number: 244 +civilian_panic_distance_check(param_00,param_01,param_02,param_03) +{ + self endon("death"); + for(;;) + { + var_04 = distance(level.player.origin,self.origin); + var_05 = randomintrange(param_02,param_03); + if(var_04 <= var_05) + { + soundscripts\_snd_playsound::snd_play_at(param_00,self.origin,param_01); + return; + } + + wait(0.25); + } +} + +//Function Number: 245 +footstep_environmental_elements() +{ + level.player endon("death"); + for(;;) + { + level.player waittill("foley",var_00,var_01,var_02); + switch(var_00) + { + case "stationarycrouchscuff": + break; + + case "stationaryscuff": + break; + + case "crouchscuff": + break; + + case "runscuff": + break; + + case "sprintscuff": + break; + + case "prone": + break; + + case "crouchwalk": + break; + + case "crouchrun": + break; + + case "walk": + if(isdefined(level.aud.broken_glass) && level.aud.broken_glass == 1) + { + soundscripts\_snd_playsound::snd_play_2d("mh_step_walk_plr_glass"); + } + else if(isdefined(level.aud.restaurant_water) && level.aud.restaurant_water == 1) + { + if(var_02) + { + soundscripts\_snd_playsound::snd_play_2d("mh_step_walk_plr_water_l"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("mh_step_walk_plr_water_r"); + } + } + break; + + case "run": + if(isdefined(level.aud.broken_glass) && level.aud.broken_glass == 1) + { + soundscripts\_snd_playsound::snd_play_2d("mh_step_run_plr_glass"); + } + else if(isdefined(level.aud.restaurant_water) && level.aud.restaurant_water == 1) + { + if(var_02) + { + soundscripts\_snd_playsound::snd_play_2d("mh_step_run_plr_water_l"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("mh_step_run_plr_water_r"); + } + } + break; + + case "sprint": + if(isdefined(level.aud.broken_glass) && level.aud.broken_glass == 1) + { + soundscripts\_snd_playsound::snd_play_2d("mh_step_sprint_plr_glass"); + } + else if(isdefined(level.aud.restaurant_water) && level.aud.restaurant_water == 1) + { + if(var_02) + { + soundscripts\_snd_playsound::snd_play_2d("mh_step_sprint_plr_water_l"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("mh_step_sprint_plr_water_r"); + } + } + break; + + case "jump": + break; + + case "lightland": + if(isdefined(level.aud.broken_glass) && level.aud.broken_glass == 1) + { + soundscripts\_snd_playsound::snd_play_2d("mh_step_land_plr_lt_glass"); + } + else if(isdefined(level.aud.restaurant_water) && level.aud.restaurant_water == 1) + { + soundscripts\_snd_playsound::snd_play_2d("mh_step_land_plr_lt_water"); + } + break; + + case "mediumland": + if(isdefined(level.aud.broken_glass) && level.aud.broken_glass == 1) + { + soundscripts\_snd_playsound::snd_play_2d("mh_step_land_plr_med_glass"); + } + else if(isdefined(level.aud.restaurant_water) && level.aud.restaurant_water == 1) + { + soundscripts\_snd_playsound::snd_play_2d("mh_step_land_plr_med_water"); + } + break; + + case "heavyland": + if(isdefined(level.aud.broken_glass) && level.aud.broken_glass == 1) + { + soundscripts\_snd_playsound::snd_play_2d("mh_step_land_plr_hv_glass"); + } + else if(isdefined(level.aud.restaurant_water) && level.aud.restaurant_water == 1) + { + soundscripts\_snd_playsound::snd_play_2d("mh_step_land_plr_hv_water"); + } + break; + + case "damageland": + break; + + case "mantleuphigh": + break; + + case "mantleupmedium": + break; + + case "mantleuplow": + break; + + case "mantleoverhigh": + break; + + case "mantleovermedium": + break; + + case "mantleoverlow": + break; + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/greece_code.gsc b/AW/PC/maps/greece_code.gsc new file mode 100644 index 0000000..f9f4422 --- /dev/null +++ b/AW/PC/maps/greece_code.gsc @@ -0,0 +1,931 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: greece_code.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 52 + * Decompile Time: 901 ms + * Timestamp: 4/22/2024 2:30:37 AM +*******************************************************************/ + +//Function Number: 1 +manhuntintroscreen() +{ + level.player disableweapons(); + var_00 = newclienthudelem(level.player); + var_00 setshader("black",1280,720); + var_00.horzalign = "fullscreen"; + var_00.vertalign = "fullscreen"; + var_00.alpha = 1; + var_00.foreground = 0; + common_scripts\utility::flag_set("FlagSafeHouseIntro"); + wait(1); + common_scripts\utility::flag_set("introscreen_complete"); + var_00 fadeovertime(2); + var_00.alpha = 0; + common_scripts\utility::flag_set("FlagIntroScreenComplete"); + wait(2); + var_00 destroy(); +} + +//Function Number: 2 +debugplayerteleport(param_00) +{ + var_01 = "PlayerTeleport" + param_00; + var_02 = getent(var_01,"targetname"); + var_03 = "PlayerStart" + param_00; + var_04 = common_scripts\utility::getstruct(var_03,"targetname"); + maps\_utility::trigger_wait_targetname(var_01); + maps\_utility::teleport_player(var_04); + iprintln("Teleporting player to " + param_00); +} + +//Function Number: 3 +settargetandshader(param_00,param_01,param_02,param_03) +{ + var_04 = 0; + if(!target_istarget(param_00)) + { + var_04 = 1; + } + + if(!isdefined(param_03)) + { + param_03 = 48; + } + + if(var_04) + { + target_alloc(param_00,(0,0,param_03)); + } + + if(isdefined(param_01)) + { + target_setshader(param_00,param_01); + } + + if(isdefined(param_02)) + { + target_setoffscreenshader(param_00,param_02); + } + + if(var_04) + { + target_flush(param_00); + } +} + +//Function Number: 4 +killfloodspawnersonflag(param_00,param_01,param_02) +{ + if(isdefined(param_02)) + { + common_scripts\utility::flag_wait_either(param_01,param_02); + } + else + { + common_scripts\utility::flag_wait(param_01); + } + + maps\_spawner::killspawner(param_00); +} + +//Function Number: 5 +waittillneargoal(param_00,param_01) +{ + self endon("death"); + if(!isdefined(param_01)) + { + param_01 = 50; + } + + while(distance(self.origin,param_00.origin) > param_01) + { + wait(0.05); + } + + self notify("goal"); +} + +//Function Number: 6 +getinchesinfeet(param_00) +{ + return param_00 * 12; +} + +//Function Number: 7 +checkvehicleturretuserstatus(param_00,param_01) +{ + param_00 endon("death"); + self waittill("death"); + wait(randomfloatrange(1,5)); + thread _findnewvehicleturretuser(param_00,param_01); +} + +//Function Number: 8 +_findnewvehicleturretuser(param_00,param_01) +{ + var_02 = maps\_utility::get_living_ai_array(param_01,"script_noteworthy"); + if(var_02.size > 0) + { + var_03 = common_scripts\utility::random(var_02); + var_03 _assignnewvehicleturretuser(param_00,param_01); + } +} + +//Function Number: 9 +_assignnewvehicleturretuser(param_00,param_01) +{ + self endon("death"); + self endon("dying"); + param_00 endon("death"); + wait(randomfloatrange(1,5)); + self.script_startingposition = 6; + param_00 maps\_utility::guy_enter_vehicle(self); + maps\_hms_utility::printlnscreenandconsole(param_01 + " is now moving to the gunner seat in Turret Vehicle"); + thread checkvehicleturretuserstatus(param_00,param_01); + thread _vehicleturretreenable(param_00); +} + +//Function Number: 10 +_vehicleturretreenable(param_00) +{ + param_00 endon("death"); + foreach(var_02 in param_00.mgturret) + { + while(!isturretactive(var_02)) + { + wait(1); + } + + level notify("TurretInUse"); + var_02 turretfireenable(); + } +} + +//Function Number: 11 +waittillaineargoal(param_00,param_01) +{ + self endon("death"); + if(!isdefined(param_00)) + { + param_00 = 50; + } + + if(!isdefined(param_01)) + { + param_01 = "goal"; + } + + self waittill(param_01); + if(isdefined(self.name)) + { + maps\_hms_utility::printlnscreenandconsole(self.name + " is now " + param_01); + } +} + +//Function Number: 12 +waittillaiarrayneargoal(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = "goal"; + } + + var_02 = spawnstruct(); + var_02.threads = 0; + foreach(var_04 in param_00) + { + if(isdefined(var_04)) + { + var_04 thread common_scripts\utility::waittill_string(param_01,var_02); + var_02.threads++; + } + } + + while(var_02.threads) + { + var_02 waittill("returned"); + var_02.threads--; + } +} + +//Function Number: 13 +waittillplayeristouchinganytrigger(param_00) +{ + var_01 = spawnstruct(); + foreach(var_03 in param_00) + { + var_03 thread common_scripts\utility::waittill_string("trigger",var_01); + } + + var_01 waittill("returned"); +} + +//Function Number: 14 +kill_no_react(param_00,param_01) +{ + self.a.nodeath = 1; + if(isdefined(param_01)) + { + thread kill_with_delay(param_00,param_01); + return; + } + + thread kill_with_delay(param_00); +} + +//Function Number: 15 +kill_with_delay(param_00,param_01) +{ + if(!isalive(self)) + { + return; + } + + if(isdefined(param_00)) + { + wait(param_00); + } + + self.allowdeath = 1; + thread maps\_utility::set_battlechatter(0); + if(isdefined(param_01)) + { + self kill(self.origin,param_01); + return; + } + + self kill(); +} + +//Function Number: 16 +clear_set_goal() +{ + self endon("death"); + self notify("new_anim_reach"); + self notify("goal"); + maps\_utility::unset_forcegoal(); + self.last_set_goalnode = undefined; + self.last_set_goalpos = undefined; + self.last_set_goalent = undefined; + maps\_utility::unset_forcegoal(); +} + +//Function Number: 17 +setragdolldeath(param_00,param_01) +{ + self endon("delete"); + self endon("no_ragdoll"); + self waittill("death"); + if(isdefined(param_00)) + { + if(isdefined(param_01)) + { + param_01 notify(param_00); + } + else + { + level notify(param_00); + } + } + + self.noragdoll = undefined; + self.a.nodeath = 1; + animscripts\notetracks::notetrackstartragdoll("ragdoll"); + self stopanimscripted(); +} + +//Function Number: 18 +clearragdolldeath() +{ + self notify("no_ragdoll"); + self.ragdoll_immediate = undefined; +} + +//Function Number: 19 +shootguy(param_00,param_01,param_02) +{ + var_03 = self.baseaccuracy; + maps\_utility::disable_dontevershoot(); + self.ignoreall = 0; + self.baseaccuracy = 5000; + if(!isdefined(param_02)) + { + param_02 = 0; + } + + if(isdefined(param_00) && isalive(param_00)) + { + param_00 endon("death"); + if(param_02 == 1) + { + thread shootguytargetmustdie(param_00); + } + + if(!isdefined(param_01)) + { + param_01 = 1; + } + + if(param_01 == 1) + { + if(isdefined(param_00.magic_bullet_shield) && param_00.magic_bullet_shield == 1) + { + param_00 maps\_utility::stop_magic_bullet_shield(); + } + + param_00.maxhealth = 1; + param_00.health = 1; + } + + param_00 maps\_utility::set_ignoreme(0); + param_00.dontattackme = undefined; + self.favoriteenemy = param_00; + if(param_01 == 1) + { + param_00 waittill("death"); + } + else + { + param_00 waittill("damage"); + } + } + + self.baseaccuracy = var_03; + self.favoriteenemy = undefined; + self.ignoreall = 1; + maps\_utility::enable_dontevershoot(); +} + +//Function Number: 20 +shootguytargetmustdie(param_00) +{ + while(isalive(param_00)) + { + self endon("death"); + param_00 endon("death"); + wait(2); + magicbullet("iw5_sn6_sp_silencer01",self gettagorigin("TAG_WEAPON"),param_00 geteye()); + } +} + +//Function Number: 21 +disableawareness() +{ + self.ignoreall = 1; + self.dontmelee = 1; + self.suppressionwait_old = self.suppressionwait; + self.suppressionwait = 0; + maps\_utility::disable_surprise(); + self.ignorerandombulletdamage = 1; + maps\_utility::disable_bulletwhizbyreaction(); + maps\_utility::disable_pain(); + maps\_utility::disable_danger_react(); + self.grenadeawareness = 0; + self.ignoreme = 1; + maps\_utility::enable_dontevershoot(); + self.disablefriendlyfirereaction = 1; +} + +//Function Number: 22 +enableawareness() +{ + self.ignoreall = 0; + self.dontmelee = undefined; + if(isdefined(self.suppressionwait_old)) + { + self.suppressionwait = self.suppressionwait_old; + } + + self.suppressionwait_old = undefined; + maps\_utility::enable_surprise(); + self.ignorerandombulletdamage = 0; + maps\_utility::enable_bulletwhizbyreaction(); + maps\_utility::enable_pain(); + self.grenadeawareness = 1; + self.ignoreme = 0; + maps\_utility::disable_dontevershoot(); + self.disablefriendlyfirereaction = undefined; +} + +//Function Number: 23 +rumbleplayerlight() +{ + level.player playrumbleonentity("damage_light"); + earthquake(0.1,0.2,level.player.origin,100); +} + +//Function Number: 24 +rumbleplayerheavy() +{ + level.player playrumbleonentity("damage_heavy"); + earthquake(0.3,0.2,level.player.origin,100); +} + +//Function Number: 25 +clearstencil() +{ + if(!isdefined(self)) + { + return; + } + + common_scripts\utility::waittill_any("death","remove_outline"); + if(!isdefined(self)) + { + return; + } + + self setthreatdetection("enhanceable"); +} + +//Function Number: 26 +settargetoutline() +{ + if(isdefined(self.outlinecolor) && self.outlinecolor == "red") + { + return; + } + + self hudoutlineenable(5); + self.outlinecolor = "yellow"; +} + +//Function Number: 27 +setalertoutline(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 0; + } + + self hudoutlineenable(1,param_00); + self.outlinecolor = "red"; +} + +//Function Number: 28 +clearalertoutline() +{ + if(!isdefined(self)) + { + return; + } + + common_scripts\utility::waittill_any("death","remove_outline"); + if(!isdefined(self)) + { + return; + } + + self hudoutlinedisable(); +} + +//Function Number: 29 +initfanprops() +{ + common_scripts\utility::array_thread(getentarray("turbine_blades","targetname"),::_rotateprop,5,25,1); + common_scripts\utility::array_thread(getentarray("ac_fan","targetname"),::_rotateprop,720,1000,1); + common_scripts\utility::array_thread(getentarray("ceiling_fan_blades","targetname"),::_rotateprop,15,30,0,1); + common_scripts\utility::array_thread(getentarray("ceiling_fan_blades","targetname"),::_attachfanclip); +} + +//Function Number: 30 +_rotateprop(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = 20000; + var_06 = randomfloatrange(param_00,param_01); + for(;;) + { + if(param_02 == 1) + { + self rotatevelocity((var_06,0,0),var_05); + } + else if(param_03 == 1) + { + self rotatevelocity((0,var_06,0),var_05); + } + + wait(0.05); + } +} + +//Function Number: 31 +_attachfanclip() +{ + var_00 = getentarray("ceiling_fan_blades_clip","targetname"); + foreach(var_02 in var_00) + { + var_02 linkto(self); + } +} + +//Function Number: 32 +bloodsprayexitwoundtrace(param_00,param_01,param_02,param_03) +{ + self endon("delete"); + self endon("bloodless"); + if(!isdefined(param_00)) + { + param_00 = 1000; + } + + if(!isdefined(param_02)) + { + param_02 = "TAG_WEAPON_CHEST"; + } + + if(!isdefined(param_03)) + { + param_03 = 0; + } + + if(param_03 == 1) + { + self waittill("damage",var_04,var_05); + } + else + { + self waittill("death",var_05); + } + + if(!isdefined(var_05) || isdefined(param_01) && param_01 != var_05) + { + return; + } + + var_06 = level.player geteye(); + var_07 = level.player getplayerangles(); + var_08 = anglestoforward(var_07); + var_09 = self gettagorigin(param_02); + var_0A = var_09 + var_08 * param_00; + var_0B = bullettrace(var_09,var_0A,0); + if(isdefined(var_0B["position"])) + { + var_0C = var_0B["position"]; + playfx(common_scripts\utility::getfx("blood_impact_splat"),var_0C); + } +} + +//Function Number: 33 +aiarrayidleloop(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = 1; + } + + foreach(var_03 in param_00) + { + var_03 thread aiidleloop(param_01); + } +} + +//Function Number: 34 +aiidleloop(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 1; + } + + var_01 = "Idle" + self.script_noteworthy; + self.idlepoint = common_scripts\utility::getstruct(var_01,"script_noteworthy"); + if(isdefined(self.idlepoint)) + { + self.allowdeath = param_00; + self.allowpain = param_00; + self.idlepoint thread maps\_anim::anim_loop_solo(self,self.idlepoint.animation,"stop_loop"); + self.idlepointreached = 1; + } +} + +//Function Number: 35 +aioverridemodelrandom(param_00,param_01) +{ + var_02 = common_scripts\utility::random(param_01); + var_03 = common_scripts\utility::random(param_00); + aioverridemodel(var_03,var_02); +} + +//Function Number: 36 +aioverridemodel(param_00,param_01) +{ + thread codescripts\character::setheadmodel(param_01); + self setmodel(param_00); +} + +//Function Number: 37 +aiarrayoverridemodelrandom(param_00,param_01,param_02) +{ + param_01 = common_scripts\utility::array_randomize(param_01); + param_02 = common_scripts\utility::array_randomize(param_02); + for(var_03 = 0;var_03 < param_00.size;var_03++) + { + param_00[var_03] aioverridemodel(param_01[var_03],param_02[var_03]); + } +} + +//Function Number: 38 +setdefaulthudoutlinedvars() +{ + setsaveddvar("r_hudoutlineenable",1); + setsaveddvar("r_hudoutlinewidth",1); + setsaveddvar("r_hudoutlinepostmode",0); +} + +//Function Number: 39 +warning(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_02)) + { + param_02 = 0; + } + + if(!isdefined(param_03)) + { + param_03 = 1; + } + + var_04 = 1.5 * param_03; + var_05 = 0.5; + level endon("clearing_warnings"); + if(isdefined(level.warningelement)) + { + level.warningelement maps\_hud_util::destroyelem(); + } + + level.warningelement = maps\_hud_util::createfontstring("default",var_04); + level.warningelement maps\_hud_util::setpoint("TOP",undefined,0,30 + param_02); + level.warningelement.color = (1,0.1,0.1); + level.warningelement settext(param_00); + level.warningelement.alpha = 0; + level.warningelement fadeovertime(0.5); + level.warningelement.alpha = 1; + wait(0.5); + level.warningelement endon("death"); + childthread warning_pulse(); + if(isdefined(param_01)) + { + wait(param_01); + } + else + { + return; + } + + level notify("FadeWarning"); + level.warningelement fadeovertime(var_05); + level.warningelement.alpha = 0; + wait(var_05); + level.warningelement maps\_hud_util::destroyelem(); +} + +//Function Number: 40 +warning_pulse() +{ + level endon("FadeWarning"); + while(isdefined(level.warningelement)) + { + wait(0.25); + for(var_00 = 0;var_00 < 9;var_00++) + { + var_01 = level.warningelement.alpha - 0.1; + level.warningelement.alpha = clamp(var_01,0.1,1); + wait 0.05; + } + + wait 0.05; + for(var_00 = 0;var_00 < 9;var_00++) + { + var_01 = level.warningelement.alpha + 0.1; + level.warningelement.alpha = clamp(var_01,0.1,1); + wait 0.05; + } + } +} + +//Function Number: 41 +warning_fade() +{ + var_00 = 1; + if(isdefined(level.warningelement)) + { + level notify("clearing_warnings"); + level.warningelement fadeovertime(var_00); + level.warningelement.alpha = 0; + wait(var_00); + } +} + +//Function Number: 42 +get_farthest_living(param_00,param_01,param_02) +{ + if(!isdefined(param_02)) + { + param_02 = 9999999; + } + + if(param_01.size < 1) + { + return; + } + + var_03 = undefined; + for(var_04 = 0;var_04 < param_01.size;var_04++) + { + if(!isalive(param_01[var_04])) + { + continue; + } + + var_05 = distance(param_01[var_04].origin,param_00); + if(var_05 <= param_02) + { + continue; + } + + param_02 = var_05; + var_03 = param_01[var_04]; + } + + return var_03; +} + +//Function Number: 43 +calculateleftstickdeadzone() +{ + var_00 = level.player getnormalizedmovement(); + var_00 = (scalestickinput(var_00[0]),scalestickinput(var_00[1]),var_00[2]); + return var_00; +} + +//Function Number: 44 +stickinputindeadzone(param_00,param_01) +{ + return abs(param_00) < param_01; +} + +//Function Number: 45 +scalestickinput(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = 0.25; + } + + if(stickinputindeadzone(param_00,param_01)) + { + return 0; + } + + return param_00 * abs(param_00) - param_01 / 1 - param_01; +} + +//Function Number: 46 +hint_quick(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_02)) + { + param_02 = 0; + } + + if(!isdefined(param_03)) + { + param_03 = 0.5; + } + + level endon("clearing_hints"); + if(isdefined(level.hintelement)) + { + level.hintelement maps\_hud_util::destroyelem(); + } + + level.hintelement = maps\_hud_util::createfontstring("default",1.5); + level.hintelement maps\_hud_util::setpoint("MIDDLE",undefined,0,30 + param_02); + level.hintelement.color = (1,1,1); + level.hintelement settext(param_00); + level.hintelement.alpha = 0; + level.hintelement fadeovertime(param_03); + level.hintelement.alpha = 1; + wait(param_03); + level.hintelement endon("death"); + if(isdefined(param_01)) + { + wait(param_01); + } + else + { + return; + } + + level.hintelement fadeovertime(param_03); + level.hintelement.alpha = 0; + wait(param_03); + level.hintelement maps\_hud_util::destroyelem(); +} + +//Function Number: 47 +hint_quickfade(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 1; + } + + if(isdefined(level.hintelement)) + { + level notify("clearing_hints"); + level.hintelement fadeovertime(param_00); + level.hintelement.alpha = 0; + wait(param_00); + } +} + +//Function Number: 48 +sneaky_reload() +{ + var_00 = level.player getcurrentweapon(); + var_01 = level.player getammocount(var_00); + var_02 = level.player getcurrentweaponclipammo(); + var_03 = weaponclipsize(var_00); + var_04 = var_03 - var_02; + level.player setweaponammoclip(var_00,var_03); + level.player setweaponammostock(var_00,var_01 - var_04); +} + +//Function Number: 49 +blimp_animation(param_00,param_01) +{ + if(level.nextgen) + { + if(isdefined(level.blimp)) + { + level.blimp delete(); + } + + var_02 = getent(param_00,"targetname"); + level.blimp = maps\_utility::spawn_anim_model("greece_blimp"); + var_02 thread maps\_anim::anim_loop_solo(level.blimp,param_01); + } +} + +//Function Number: 50 +sunflareswap(param_00) +{ + common_scripts\utility::flag_set("fx_spot_flare_kill"); + wait(0.5); + common_scripts\utility::flag_clear("fx_spot_flare_kill"); + thread maps\_shg_fx::fx_spot_lens_flare_dir(param_00,(-15.2216,146.493,0),10000); +} + +//Function Number: 51 +tff_cleanup_vehicle(param_00) +{ + var_01 = ""; + switch(param_00) + { + case "intro": + var_01 = "tff_pre_intro_to_confcenter"; + break; + + case "middle": + var_01 = "tff_pre_intro_to_middle"; + break; + + case "outro": + var_01 = "tff_pre_middle_to_outro"; + break; + + case "confcenter": + var_01 = "tff_pre_confcenter_to_intro"; + break; + + case "hades_fight": + var_01 = "tff_pre_outro_to_hades_fight"; + break; + } + + if(var_01 == "") + { + return; + } + + level waittill(var_01); + if(isdefined(self)) + { + maps\_vehicle_code::_freevehicle(); + self delete(); + } +} + +//Function Number: 52 +giveplayerchallengekillpoint() +{ + if(self.damagelocation == "helmet" || self.damagelocation == "head") + { + level.player maps\_upgrade_challenge::give_player_challenge_headshot(1); + } + + level.player maps\_upgrade_challenge::give_player_challenge_kill(1); +} \ No newline at end of file diff --git a/AW/PC/maps/greece_conf_center.gsc b/AW/PC/maps/greece_conf_center.gsc new file mode 100644 index 0000000..8c064b4 --- /dev/null +++ b/AW/PC/maps/greece_conf_center.gsc @@ -0,0 +1,6443 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: greece_conf_center.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 282 + * Decompile Time: 4315 ms + * Timestamp: 4/22/2024 2:30:50 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + confcenterprecache(); + confcenterflaginit(); + confcenterglobalvars(); + confcenterglobalsetup(); + maps\greece_conf_center_anim::main(); + maps\greece_conf_center_vo::main(); + maps\greece_conf_center_fx::main(); + animscripts\traverse\boost::precache_boost_fx_npc(); + maps\_stealth::main(); + maps\_patrol_extended::main(); + deliverytrucksetup(); + if(level.currentgen) + { + thread tff_spawn_vehicles_conf_center(); + } +} + +//Function Number: 2 +confcenterprecache() +{ + precacheitem("rpg_player"); + precacheitem("stinger"); + precacheitem("hms_kamikazedrone"); + precachemodel("vehicle_civ_full_size_technical_turret"); + precacheturret("50cal_turret_technical_lagos"); + precachemodel("viewhands_atlas_military"); + precachemodel("vb_civilian_mitchell"); + precacheshellshock("greece_drone_slowview"); + precacheshellshock("greece_drone_destroyed"); + precacheitem("iw5_bal27_sp"); + precacheitem("iw5_bal27_sp_silencer01"); + precacheitem("iw5_hmr9_sp"); + precacheitem("iw5_hmr9_sp_variablereddot"); + precacheitem("iw5_sn6_sp"); + precacheitem("iw5_sn6_sp_silencer01"); + precacheitem("iw5_uts19_sp"); + precacheitem("iw5_titan45_sp"); + precacheitem("iw5_titan45_sp_opticsreddot_silencerpistol"); + precacheitem("fraggrenade"); + precacheitem("flash_grenade"); + precachemodel("weapon_parabolic_knife"); + precachemodel("npc_bal27_nocamo"); + precachemodel("greece_drone_control_pad"); + precachemodel("greece_drone_control_pad_touched"); + precachemodel("civ_urban_male_body_f"); + precachemodel("civ_urban_male_body_g"); + precachemodel("body_civ_sf_male_a"); + precachemodel("head_m_act_cau_bedrosian_base"); + precachemodel("head_m_act_asi_chang_base"); + precachemodel("head_male_mp_manasi"); + precacherumble("silencer_fire"); + precacherumble("heavygun_fire"); + precacherumble("subtle_tank_rumble"); + precacherumble("damage_light"); + precacherumble("damage_heavy"); + precacheshader("hud_icon_remoteturret"); + precacheshader("veh_hud_target_offscreen"); + precacheshader("veh_hud_missile_offscreen"); + precacheshader("ac130_hud_friendly_ai_offscreen"); + maps\_controlled_sniperdrone::precacheassets(); + maps\_hms_door_interact::precachedooranimations(); + precachestring(&"GREECE_OBJ_DRONE"); + precachestring(&"GREECE_OBJ_DRONE_POINTER"); + precachestring(&"GREECE_OBJ_POSITION_POINTER"); + precachestring(&"GREECE_OBJ_HADES_POINTER"); + precachestring(&"GREECE_OBJ_ATRIUM_POINTER"); + precachestring(&"GREECE_HINT_DRONE_USE"); + precachestring(&"GREECE_HINT_DRONE_USE_KB"); + maps\_utility::add_hint_string("courtyard_overwatch",&"GREECE_HINT_COURTYARD_OVERWATCH",::hintcourtyardoverwatchoff); + maps\_utility::add_hint_string("atrium_view",&"GREECE_HINT_ATRIUM",::hintatriumviewoff); + maps\_utility::add_hint_string("car_alarm",&"GREECE_HINT_CAR_ALARM",::hintcaralarmoff); + maps\_utility::add_hint_string("hades_zoom",&"GREECE_HINT_HADES_ZOOM",::hinthadeszoomoff); + maps\_utility::add_control_based_hint_strings("mute_breach",&"GREECE_HINT_MUTE_BREACH",::hintmutebreachoff); + maps\_utility::add_control_based_hint_strings("drone_zoom",&"GREECE_HINT_DRONE_ZOOM",::hintdronezoomoff,&"GREECE_HINT_DRONE_ZOOM_KB"); + maps\_utility::add_hint_string("support_allies",&"GREECE_HINT_SUPPORT_ALLIES",::hintsupportalliesoff); + maps\_utility::add_hint_string("look_at_truck",&"GREECE_HINT_LOOK_AT_TRUCK",::hintlookattruckoff); + precachestring(&"GREECE_DRONE_ALERT_FAIL"); + precachestring(&"GREECE_DRONE_KILLHADES_FAIL"); + precachestring(&"GREECE_DRONE_NOKILLHADES_FAIL"); + precachestring(&"GREECE_DRONE_BURKEKILLED_FAIL"); + precachestring(&"GREECE_DRONE_TIMEREXPIRE_FAIL"); + precachestring(&"GREECE_DRONE_INVALIDTARGET_FAIL"); + precachestring(&"GREECE_ATRIUM_TIMER_LABEL"); +} + +//Function Number: 3 +confcenterflaginit() +{ + common_scripts\utility::flag_init("FlagSetObjDroneSupport"); + if(!common_scripts\utility::flag_exist("FlagAlarmMissionEnd")) + { + common_scripts\utility::flag_init("FlagAlarmMissionEnd"); + } + + common_scripts\utility::flag_init("FlagPlayerStartDroneInteract"); + common_scripts\utility::flag_init("FlagPlayerStartDroneFlight"); + common_scripts\utility::flag_init("FlagPlayerEndDroneFlight"); + common_scripts\utility::flag_init("FlagPlayerStartDroneControl"); + common_scripts\utility::flag_init("FlagPlayerEndDroneStatic"); + common_scripts\utility::flag_init("FlagPlayerEndDroneControl"); + common_scripts\utility::flag_init("FlagSniperDroneFlinch"); + common_scripts\utility::flag_init("FlagSniperDroneHit"); + common_scripts\utility::flag_init("FlagSniperDroneAnimating"); + common_scripts\utility::flag_init("FlagSniperDroneLookAt"); + common_scripts\utility::flag_init("FlagBeginConfCenterSupportA"); + common_scripts\utility::flag_init("FlagBeginConfCenterSupportB"); + common_scripts\utility::flag_init("FlagBeginConfCenterSupportC"); + common_scripts\utility::flag_init("FlagBeginConfCenterKill"); + common_scripts\utility::flag_init("FlagBeginConfCenterCombat"); + common_scripts\utility::flag_init("FlagBeginConfCenterOutro"); + common_scripts\utility::flag_init("FlagBeginGateSetup"); + common_scripts\utility::flag_init("FlagBeginCourtyardSetup"); + common_scripts\utility::flag_init("FlagBeginWalkwaySetup"); + common_scripts\utility::flag_init("FlagBeginPoolSetup"); + common_scripts\utility::flag_init("FlagBeginStruggleSetup"); + common_scripts\utility::flag_init("FlagBeginAtriumSetup"); + common_scripts\utility::flag_init("FlagBeginRooftopSetup"); + common_scripts\utility::flag_init("FlagBeginParkingSetup"); + common_scripts\utility::flag_init("FlagEndGateSetup"); + common_scripts\utility::flag_init("FlagEndCourtyardSetup"); + common_scripts\utility::flag_init("FlagEndWalkwaySetup"); + common_scripts\utility::flag_init("FlagEndPoolSetup"); + common_scripts\utility::flag_init("FlagEndStruggleSetup"); + common_scripts\utility::flag_init("FlagEndAtriumSetup"); + common_scripts\utility::flag_init("FlagEndRooftopSetup"); + common_scripts\utility::flag_init("FlagEndParkingSetup"); + common_scripts\utility::flag_init("FlagMonitorZoomOnHades"); + common_scripts\utility::flag_init("FlagPlayerZoomOnHades1"); + common_scripts\utility::flag_init("FlagPlayerZoomOnHades2"); + common_scripts\utility::flag_init("FlagContinueDroneFlyin"); + common_scripts\utility::flag_init("FlagForcePlayerADS"); + common_scripts\utility::flag_init("FlagForcePlayerSlowMovement"); + common_scripts\utility::flag_init("FlagGateBreachComplete"); + common_scripts\utility::flag_init("FlagConfCenterAlliesVulnerable"); + common_scripts\utility::flag_init("FlagAllyVehicleDriveBy"); + common_scripts\utility::flag_init("FlagGateGuardsApproachingAllyVehicle"); + common_scripts\utility::flag_init("FlagGateGuardsAtAllyVehicle"); + common_scripts\utility::flag_init("FlagAllyShootGateGuard"); + common_scripts\utility::flag_init("FlagCourtyardGuardNearGate"); + common_scripts\utility::flag_init("FlagCourtyardAlliesBreachGate"); + common_scripts\utility::flag_init("FlagCourtyardAlliesBreachGateAlt"); + common_scripts\utility::flag_init("FlagCourtyardAnyOverwatchDead"); + common_scripts\utility::flag_init("FlagCourtyardAllOverwatchDead"); + common_scripts\utility::flag_init("FlagWalkwayAlliesPerformKill"); + common_scripts\utility::flag_init("FlagPlayerKillPoolGuard"); + common_scripts\utility::flag_init("FlagStopPoolWater"); + common_scripts\utility::flag_init("FlagPoolKillReady"); + common_scripts\utility::flag_init("FlagPoolKillBegin"); + common_scripts\utility::flag_init("FlagPoolKillSpecial"); + common_scripts\utility::flag_init("FlagCourtyardBurkeJumpCompleted"); + common_scripts\utility::flag_init("FlagStruggleBurkeApproaches"); + common_scripts\utility::flag_init("FlagStruggleGuardAttacks"); + common_scripts\utility::flag_init("FlagStruggleBurkeRecovers"); + common_scripts\utility::flag_init("FlagPlayerLookingAtAtrium"); + common_scripts\utility::flag_init("FlagPlayerSignalAtriumBreach"); + common_scripts\utility::flag_init("FlagPlayerShootFirstAtrium"); + common_scripts\utility::flag_init("FlagAtriumAlliesReadyToBreach"); + common_scripts\utility::flag_init("FlagAtriumEnemiesReactToBreach"); + common_scripts\utility::flag_init("FlagAtriumEnemiesAllMarked"); + common_scripts\utility::flag_init("FlagAtriumAlliesPerformBreach"); + common_scripts\utility::flag_init("FlagAtriumEnemiesAlmostAllDead"); + common_scripts\utility::flag_init("FlagParkingCarAlarmActivated"); + common_scripts\utility::flag_init("FlagParkingCarAlarmDisableAutosave"); + common_scripts\utility::flag_init("FlagUnMarkParkingCars"); + common_scripts\utility::flag_init("FlagParkingGuardsMovingToCar"); + common_scripts\utility::flag_init("FlagParkingAlliesOnStairs"); + common_scripts\utility::flag_init("FlagParkingAlliesOrderedToKill"); + common_scripts\utility::flag_init("FlagParkingAlliesPerformKill"); + common_scripts\utility::flag_init("FlagParkingPlayerStealKill"); + common_scripts\utility::flag_init("FlagParkingGuardsNearCar"); + common_scripts\utility::flag_init("FlagAtriumAlliesExit"); + common_scripts\utility::flag_init("FlagConfRoomAlliesReadyToBreach"); + common_scripts\utility::flag_init("FlagOkayToKillHades"); + common_scripts\utility::flag_init("FlagHadesSpeechStarted"); + common_scripts\utility::flag_init("FlagConfRoomAlliesBodyScan"); + common_scripts\utility::flag_init("FlagConfRoomExplosion"); + common_scripts\utility::flag_init("FlagConfRoomAlliesRecover"); + common_scripts\utility::flag_init("FlagConfRoomAlliesExit"); + common_scripts\utility::flag_init("FlagEnemyVehiclePathEnd"); + common_scripts\utility::flag_init("FlagEnemyVehicleActivateTurret"); + common_scripts\utility::flag_init("FlagEnemyVehicleTurretDisabled"); + common_scripts\utility::flag_init("FlagSpawnEnemyReinforcements"); + common_scripts\utility::flag_init("FlagEnemyReinforcementsDriveEnd"); + common_scripts\utility::flag_init("FlagHadesVehicleDriveStart"); + common_scripts\utility::flag_init("FlagAllGateGuardsDead"); + common_scripts\utility::flag_init("FlagAllCourtyardGuardsDead"); + common_scripts\utility::flag_init("FlagAllWalkwayGuardsDead"); + common_scripts\utility::flag_init("FlagAllPoolGuardsDead"); + common_scripts\utility::flag_init("FlagAllAtriumGuardsDead"); + common_scripts\utility::flag_init("FlagAllRooftopGuardsDead"); + common_scripts\utility::flag_init("FlagAllParkingGuardsDead"); + common_scripts\utility::flag_init("FlagAnyParkingGuardsDead"); + common_scripts\utility::flag_init("FlagSomeAmbushSouthGuardsDead"); + common_scripts\utility::flag_init("FlagAllAmbushSouthGuardsDead"); + common_scripts\utility::flag_init("FlagAllAmbushEastGuardsDead"); + common_scripts\utility::flag_init("FlagAllAmbushVehicleGuardsDead"); + common_scripts\utility::flag_init("FlagAllAmbushGuardsDead"); + common_scripts\utility::flag_init("FlagHadesVehicleDroneLaunch"); + common_scripts\utility::flag_init("FlagPlayerShotConfRoomWindows"); + common_scripts\utility::flag_init("FlagDisableAutosave"); + common_scripts\utility::flag_init("FlagBodyStashGuard1Killed"); + common_scripts\utility::flag_init("FlagBodyStashGuard2Killed"); + common_scripts\utility::flag_init("FlagBodyStashGuardsAlerted"); + common_scripts\utility::flag_init("FlagShowTruckBlood"); + common_scripts\utility::flag_init("FlagOkayToShootDrone"); + common_scripts\utility::flag_init("FlagUnMarkAtrium"); + common_scripts\utility::flag_init("FlagStopPoolWater"); + common_scripts\utility::flag_init("FlagSniperDroneCloakOff"); + common_scripts\utility::flag_init("FlagGreeceTripleKillAchievement"); +} + +//Function Number: 4 +confcenterglobalvars() +{ + setdvarifuninitialized("mission_fail_enabled",1); + setdvarifuninitialized("level_debug",1); + setdvarifuninitialized("stealth_debug_prints",0); + level.showdebugtoggle = 0; + level.dialogtable = "sp/greece_dialog.csv"; + level.breachactors = []; + level.confhades = undefined; + level.allyinfiltrators = []; + level.infiltratorburke = undefined; + level.ialliesatgate = 0; + level.atriumtimer = undefined; + level.playertargets = []; + level.allenemypatrollers = []; + level.allenemyambushers = []; + level.allenemyvehicles = []; + level.alerttimedelay = 0; + level.alertedenemies = []; + level.bmarkallies = 0; + level.triplekillcount = 0; + level.allieswarningtime = undefined; + level.alliesvulnerabletime = undefined; + level.hudalerttimer = undefined; + level.parkingalarmcar = undefined; + level.bsaveinprogress = undefined; + level.patrol_scriptedanims = []; + level.patrol_scriptedanims["casual"] = "casual_stand_idle"; + level.patrol_scriptedanims["bored"] = "patrol_bored_idle"; + level.patrol_scriptedanims["search"] = "so_hijack_search_gear_check_loop"; + level.patrol_scriptedanims["lookdown"] = "prague_sniper_lookout_idle"; + level.patrol_scriptedanims["react"] = "patrol_bored_react_look"; + level.patrol_scriptedanims["shortidle"] = "patrolstand_idle"; + level.patrol_scriptedanims["ready"] = "readystand_idle"; +} + +//Function Number: 5 +confcenterglobalsetup() +{ + maps\_utility::battlechatter_on("allies"); + maps\_utility::battlechatter_on("axis"); + maps\_patrol_anims::main(); + maps\_idle::idle_main(); + maps\_idle_smoke::main(); + maps\_idle_phone::main(); + thread confcenterbegin(); +} + +//Function Number: 6 +confcenterstartpoints() +{ + maps\_utility::add_start("start_conf_center_intro",::initconfcenterintro); + maps\_utility::add_start("start_conf_center_support1",::initconfcentersupporta); + maps\_utility::add_start("start_conf_center_support2",::initconfcentersupportb); + maps\_utility::add_start("start_conf_center_support3",::initconfcentersupportc); + maps\_utility::add_start("start_conf_center_kill",::initconfcenterkill); + maps\_utility::add_start("start_conf_center_combat",::initconfcentercombat); + maps\_utility::add_start("start_conf_center_outro",::initconfcenteroutro); + maps\greece_starts::add_greece_starts("conference_center"); +} + +//Function Number: 7 +initconfcenterintro() +{ + maps\_utility::teleport_player(common_scripts\utility::getstruct("PlayerStartConfCenterIntro","targetname")); + maps\_hms_utility::setupplayerinventory("iw5_titan45_sp_opticsreddot_silencerpistol","iw5_hmr9_sp_variablereddot","fraggrenade","flash_grenade","iw5_hmr9_sp_variablereddot"); + thread maps\greece_code::blimp_animation("ConfBlimpOrg","cc_blimp"); + maps\_hms_utility::spawnandinitnamedally("Ilona","IlanaStartConfCenter",1,1,"IlanaConfCenter"); + level.allies["Ilona"] maps\_utility::forceuseweapon("iw5_titan45_sp_opticsreddot_silencerpistol","primary"); + thread maps\greece_safehouse::safehousesetupsniperdroneilana(); + maps\greece_safehouse::safehouseforceopensafehousedoor(); + thread maps\greece_safehouse::safehouseremoveplayerblocker(); + thread maps\greece_safehouse::safehousetranstoalleygatesetup(); + thread maps\greece_conf_center_fx::confcenterlightglowfx(); + maps\greece_safehouse_fx::ambientcloudsloadin(); + maps\_utility::battlechatter_off("allies"); + maps\_utility::battlechatter_off("axis"); + common_scripts\utility::flag_set("FlagSniperDroneLaunched"); + common_scripts\utility::flag_set("FlagConfCenterStart"); + soundscripts\_snd::snd_message("start_conf_center_intro_checkpoint"); +} + +//Function Number: 8 +initconfcentersupporta() +{ + confcenterobjectivesetup(); + maps\_utility::teleport_player(common_scripts\utility::getstruct("PlayerStartConfCenter","targetname")); + maps\_hms_utility::setupplayerinventory("iw5_titan45_sp_opticsreddot_silencerpistol","iw5_hmr9_sp_variablereddot","fraggrenade","flash_grenade","iw5_hmr9_sp_variablereddot"); + thread monitorstartdronecontrol(0,0); + thread maps\greece_code::blimp_animation("ConfBlimpOrg","cc_blimp"); + maps\_hms_utility::spawnandinitnamedally("Ilona","IlanaStartConfCenter",1,1,"IlanaConfCenter"); + thread maps\greece_safehouse::safehousesetupsniperdroneilana(); + maps\greece_safehouse::safehouseforceopensafehousedoor(); + thread maps\greece_safehouse::safehouseremoveplayerblocker(); + thread maps\greece_safehouse::safehousetranstoalleygatesetup(); + thread maps\greece_conf_center_fx::confcenterlightglowfx(); + maps\greece_safehouse_fx::ambientcloudsloadin(); + maps\_utility::battlechatter_off("allies"); + maps\_utility::battlechatter_off("axis"); + maps\_utility::add_extra_autosave_check("ConfCenterAutosaveStealthCheck",::autosaveconfcenterstealthcheck,"Can\'t autosave during sniperdrone stealth!"); + common_scripts\utility::flag_set("FlagPlayerStartDroneControl"); + common_scripts\utility::flag_set("FlagBeginConfCenterSupportA"); + common_scripts\utility::flag_set("init_begin_confcenter_support_a_lighting"); + soundscripts\_snd::snd_message("start_conf_center_support1_checkpoint"); +} + +//Function Number: 9 +initconfcentersupportb() +{ + confcenterobjectivesetup(); + maps\_utility::teleport_player(common_scripts\utility::getstruct("PlayerStartConfCenter","targetname")); + maps\_hms_utility::setupplayerinventory("iw5_titan45_sp_opticsreddot_silencerpistol","iw5_hmr9_sp_variablereddot","fraggrenade","flash_grenade","iw5_hmr9_sp_variablereddot"); + thread monitorstartdronecontrol(); + thread maps\greece_code::blimp_animation("ConfBlimpOrg","cc_blimp"); + maps\_hms_utility::spawnandinitnamedally("Ilona","IlanaStartConfCenter",1,1,"IlanaConfCenter"); + thread maps\greece_safehouse::safehousesetupsniperdroneilana(); + maps\greece_safehouse::safehouseforceopensafehousedoor(); + thread maps\greece_safehouse::safehouseremoveplayerblocker(); + thread maps\greece_safehouse::safehousetranstoalleygatesetup(); + thread maps\greece_conf_center_fx::confcenterlightglowfx(); + maps\greece_safehouse_fx::ambientcloudsloadin(); + maps\_utility::battlechatter_off("allies"); + maps\_utility::battlechatter_off("axis"); + maps\_utility::add_extra_autosave_check("ConfCenterAutosaveStealthCheck",::autosaveconfcenterstealthcheck,"Can\'t autosave during sniperdrone stealth!"); + common_scripts\utility::flag_set("FlagPlayerStartDroneControl"); + common_scripts\utility::flag_set("FlagBeginConfCenterSupportB"); + common_scripts\utility::flag_set("init_begin_confcenter_support_b_lighting"); + soundscripts\_snd::snd_message("start_conf_center_support2_checkpoint"); +} + +//Function Number: 10 +initconfcentersupportc() +{ + confcenterobjectivesetup(); + maps\_utility::teleport_player(common_scripts\utility::getstruct("PlayerStartConfCenter","targetname")); + maps\_hms_utility::setupplayerinventory("iw5_titan45_sp_opticsreddot_silencerpistol","iw5_hmr9_sp_variablereddot","fraggrenade","flash_grenade","iw5_hmr9_sp_variablereddot"); + thread monitorstartdronecontrol(); + thread maps\greece_code::blimp_animation("ConfBlimpOrg","cc_blimp"); + maps\_hms_utility::spawnandinitnamedally("Ilona","IlanaStartConfCenter",1,1,"IlanaConfCenter"); + thread maps\greece_safehouse::safehousesetupsniperdroneilana(); + maps\greece_safehouse::safehouseforceopensafehousedoor(); + thread maps\greece_safehouse::safehouseremoveplayerblocker(); + thread maps\greece_safehouse::safehousetranstoalleygatesetup(); + thread maps\greece_conf_center_fx::confcenterlightglowfx(); + maps\greece_safehouse_fx::ambientcloudsloadin(); + maps\_utility::battlechatter_off("allies"); + maps\_utility::battlechatter_off("axis"); + maps\_utility::add_extra_autosave_check("ConfCenterAutosaveStealthCheck",::autosaveconfcenterstealthcheck,"Can\'t autosave during sniperdrone stealth!"); + common_scripts\utility::flag_set("FlagPlayerStartDroneControl"); + common_scripts\utility::flag_set("FlagBeginConfCenterSupportC"); + common_scripts\utility::flag_set("init_begin_confcenter_support_c_lighting"); + soundscripts\_snd::snd_message("start_conf_center_support3_checkpoint"); +} + +//Function Number: 11 +initconfcenterkill() +{ + confcenterobjectivesetup(); + maps\_utility::teleport_player(common_scripts\utility::getstruct("PlayerStartConfCenter","targetname")); + maps\_hms_utility::setupplayerinventory("iw5_titan45_sp_opticsreddot_silencerpistol","iw5_hmr9_sp_variablereddot","fraggrenade","flash_grenade","iw5_hmr9_sp_variablereddot"); + thread monitorstartdronecontrol(); + thread maps\greece_code::blimp_animation("ConfBlimpOrg","cc_blimp"); + maps\_hms_utility::spawnandinitnamedally("Ilona","IlanaStartConfCenter",1,1,"IlanaConfCenter"); + thread maps\greece_safehouse::safehousesetupsniperdroneilana(); + maps\greece_safehouse::safehouseforceopensafehousedoor(); + thread maps\greece_safehouse::safehouseremoveplayerblocker(); + thread maps\greece_safehouse::safehousetranstoalleygatesetup(); + thread maps\greece_conf_center_fx::confcenterlightglowfx(); + maps\greece_safehouse_fx::ambientcloudsloadin(); + maps\_utility::battlechatter_off("allies"); + maps\_utility::battlechatter_off("axis"); + maps\_utility::add_extra_autosave_check("ConfCenterAutosaveStealthCheck",::autosaveconfcenterstealthcheck,"Can\'t autosave during sniperdrone stealth!"); + common_scripts\utility::flag_set("FlagPlayerStartDroneControl"); + common_scripts\utility::flag_set("FlagBeginConfCenterKill"); + common_scripts\utility::flag_set("init_begin_confcenter_kill_lighting"); + soundscripts\_snd::snd_message("start_conf_center_kill_checkpoint"); +} + +//Function Number: 12 +initconfcentercombat() +{ + confcenterobjectivesetup(); + maps\_utility::teleport_player(common_scripts\utility::getstruct("PlayerStartConfCenter","targetname")); + maps\_hms_utility::setupplayerinventory("iw5_titan45_sp_opticsreddot_silencerpistol","iw5_hmr9_sp_variablereddot","fraggrenade","flash_grenade","iw5_hmr9_sp_variablereddot"); + thread monitorstartdronecontrol(); + thread maps\greece_code::blimp_animation("ConfBlimpOrg","cc_blimp"); + maps\_hms_utility::spawnandinitnamedally("Ilona","IlanaStartConfCenter",1,1,"IlanaConfCenter"); + thread maps\greece_safehouse::safehousesetupsniperdroneilana(); + maps\greece_safehouse::safehouseforceopensafehousedoor(); + thread maps\greece_safehouse::safehouseremoveplayerblocker(); + thread maps\greece_safehouse::safehousetranstoalleygatesetup(); + maps\greece_safehouse_fx::ambientcloudsloadin(); + common_scripts\utility::flag_set("FlagPlayerStartDroneControl"); + common_scripts\utility::flag_set("FlagBeginConfCenterCombat"); + common_scripts\utility::flag_set("FlagConfRoomAlliesRecover"); + common_scripts\utility::flag_set("FlagSniperDroneFlinch"); + common_scripts\utility::flag_set("init_begin_confcenter_combat_lighting"); + common_scripts\utility::flag_set("FlagSniperDroneCloakOff"); + soundscripts\_snd::snd_message("start_conf_center_combat_checkpoint"); +} + +//Function Number: 13 +initconfcenteroutro() +{ + confcenterobjectivesetup(); + maps\_utility::teleport_player(common_scripts\utility::getstruct("PlayerStartConfCenter","targetname")); + maps\_hms_utility::setupplayerinventory("iw5_titan45_sp_opticsreddot_silencerpistol","iw5_hmr9_sp_variablereddot","fraggrenade","flash_grenade","iw5_hmr9_sp_variablereddot"); + thread monitorstartdronecontrol(); + thread maps\greece_code::blimp_animation("ConfBlimpOrg","cc_blimp"); + maps\_hms_utility::spawnandinitnamedally("Ilona","IlanaStartConfCenter",1,1,"IlanaConfCenter"); + thread maps\greece_safehouse::safehousesetupsniperdroneilana(); + maps\greece_safehouse::safehouseforceopensafehousedoor(); + thread maps\greece_safehouse::safehouseremoveplayerblocker(); + thread maps\greece_safehouse::safehousetranstoalleygatesetup(); + maps\greece_safehouse_fx::ambientcloudsloadin(); + common_scripts\utility::flag_set("FlagAllAmbushGuardsDead"); + common_scripts\utility::flag_set("FlagAllAmbushEastGuardsDead"); + common_scripts\utility::flag_set("FlagEnemyVehicleTurretDisabled"); + common_scripts\utility::flag_set("FlagPlayerStartDroneControl"); + common_scripts\utility::flag_set("FlagBeginConfCenterOutro"); + common_scripts\utility::flag_set("FlagSniperDroneFlinch"); + common_scripts\utility::flag_set("init_begin_confcenter_outro_lighting"); + common_scripts\utility::flag_set("FlagSniperDroneCloakOff"); + soundscripts\_snd::snd_message("start_conf_center_outro_checkpoint"); +} + +//Function Number: 14 +confcenterobjectivesetup() +{ + waittillframeend; + confcentersetcompletedobjflags(); + thread setobjsniperdronesupport(); +} + +//Function Number: 15 +confcentersetcompletedobjflags() +{ + var_00 = level.start_point; + if(!common_scripts\utility::string_starts_with(var_00,"start_conf_center_")) + { + return; + } + + if(var_00 == "start_conf_center_intro") + { + return; + } + + common_scripts\utility::flag_set("FlagSetObjDroneSupport"); + if(var_00 == "start_conf_center_support1") + { + return; + } + + if(var_00 == "start_conf_center_support2") + { + return; + } + + if(var_00 == "start_conf_center_support3") + { + return; + } + + if(var_00 == "start_conf_center_kill") + { + return; + } + + if(var_00 == "start_conf_center_combat") + { + return; + } + + if(var_00 == "start_conf_center_outro") + { + } +} + +//Function Number: 16 +setobjsniperdronesupport() +{ + common_scripts\utility::flag_wait("FlagSetObjDroneSupport"); + objective_add(maps\_utility::obj("DroneSupport"),"active",&"GREECE_OBJ_DRONE",(0,0,0)); + objective_current(maps\_utility::obj("DroneSupport")); + common_scripts\utility::flag_wait("FlagPlayerEndDroneControl"); + maps\_utility::objective_complete(maps\_utility::obj("DroneSupport")); +} + +//Function Number: 17 +confcenterbegin() +{ + thread maps\greece_code::blimp_animation("blimpOrg","market_intro_blimp"); + common_scripts\utility::flag_wait("FlagConfCenterStart"); + if(level.currentgen) + { + setsaveddvar("r_znear",30); + } + + confcenterobjectivesetup(); +} + +//Function Number: 18 +playerinteractdronecontrol() +{ + var_00 = getent("InteractDroneControl","targetname"); + thread droneusetrigger(); + common_scripts\utility::flag_wait("FlagPlayerStartDroneInteract"); + objective_position(maps\_utility::obj("DroneSupport"),(0,0,0)); + level.player disableweapons(); + level.player allowcrouch(0); + level.player allowprone(0); + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01.origin = level.player.origin; + var_01.angles = level.player.angles; + wait(0.5); + var_02 = maps\_utility::spawn_anim_model("player_safehouse_rig",level.player.origin); + var_03 = maps\_utility::spawn_anim_model("drone_control_pad",level.player.origin); + level.player playerlinkto(var_02,"tag_player",0,0,0,0,0); + var_02.drone_control_pad = var_03; + var_04 = [var_02,var_03]; + var_01 thread maps\_anim::anim_single(var_04,"drone_launch_control_pad"); + wait(1.25); + level.player lerpfov(40,0.5); + level.player setblurforplayer(10,0.5); + wait(0.25); + maps\_hud_util::fade_out(0.25,"white"); + if(level.currentgen) + { + level notify("tff_pre_intro_to_confcenter"); + unloadtransient("greece_intro_tr"); + loadtransient("greece_confcenter_tr"); + while(!istransientloaded("greece_confcenter_tr")) + { + wait(0.05); + } + + level notify("tff_post_intro_to_confcenter"); + } + + soundscripts\_snd::snd_message("drone_control_pad_end"); + common_scripts\utility::flag_set("FlagPlayerStartDroneFlight"); + thread monitorstartdronecontrol(1,0); + wait(4); + common_scripts\utility::flag_set("FlagPlayerStartDroneControl"); + common_scripts\utility::flag_set("init_begin_confcenter_support_a_lighting"); + var_02 delete(); + var_01 delete(); + var_03 delete(); + thread maps\greece_code::blimp_animation("ConfBlimpOrg","cc_blimp"); +} + +//Function Number: 19 +droneusetrigger() +{ + level endon("SafehouseAlerted"); + var_00 = getent("UseTriggerDroneControl","targetname"); + var_00 makeusable(); + var_00 setcursorhint("HINT_NOICON"); + var_00 maps\_utility::addhinttrigger(&"GREECE_HINT_DRONE_USE",&"GREECE_HINT_DRONE_USE_KB"); + var_00 waittill("trigger",var_01); + var_00 delete(); + common_scripts\utility::flag_set("FlagPlayerStartDroneInteract"); +} + +//Function Number: 20 +hintdroneusetriggeroff() +{ + return common_scripts\utility::flag("FlagPlayerStartDroneInteract"); +} + +//Function Number: 21 +dronecontrolobjdisplay() +{ + var_00 = getent("UseTriggerDroneControl","targetname"); + while(!common_scripts\utility::flag("FlagPlayerStartDroneInteract")) + { + if(level.player istouching(var_00)) + { + objective_position(maps\_utility::obj("DroneSupport"),(0,0,0)); + continue; + } + + objective_position(maps\_utility::obj("DroneSupport"),var_00.origin); + wait(0.05); + } +} + +//Function Number: 22 +dronecontrolpadscreentouch(param_00) +{ + param_00.drone_control_pad setmodel("greece_drone_control_pad_touched"); + level.player playrumbleonentity("damage_light"); +} + +//Function Number: 23 +monitorstartdronecontrol(param_00,param_01) +{ + if(!isdefined(param_00)) + { + param_00 = 0; + } + + if(!isdefined(param_01)) + { + param_01 = 1; + } + + spawnconfcenterai(); + if(!isdefined(level.player._stealth)) + { + level.player maps\_stealth_utility::stealth_default(); + } + + level.player enemiesignoreplayerdrone(1); + var_02 = getent("PlayerDroneTargetpoint","targetname"); + switch(level.start_point) + { + case "start_conf_center_support2": + var_03 = getent("PlayerDroneStartpoint2","targetname"); + var_04 = getent("PlayerDroneLookAt2","targetname"); + break; + + case "start_conf_center_support3": + var_03 = getent("PlayerDroneStartpoint3","targetname"); + var_04 = getent("PlayerDroneLookAt3","targetname"); + break; + + case "start_conf_center_kill": + var_03 = getent("PlayerDroneStartpoint4","targetname"); + var_04 = getent("PlayerDroneLookAt4","targetname"); + break; + + case "start_conf_center_outro": + case "start_conf_center_combat": + var_03 = getent("PlayerDroneStartpoint5","targetname"); + var_04 = getent("PlayerDroneLookAt5","targetname"); + break; + + default: + var_03 = getent("PlayerDroneStartpoint1","targetname"); + var_04 = getent("PlayerDroneLookAt1","targetname"); + break; + } + + var_05 = []; + var_05[var_05.size] = getent("SniperDroneBottomNW","targetname"); + var_05[var_05.size] = getent("SniperDroneBottomNE","targetname"); + var_05[var_05.size] = getent("SniperDroneBottomSW","targetname"); + var_05[var_05.size] = getent("SniperDroneBottomSE","targetname"); + level.player thread maps\_controlled_sniperdrone::startdronecontrol(var_02,var_03,var_04,param_00,param_01,var_05); + maps\_compass::setupminimap("compass_map_greece_alt"); + if(param_00 == 1) + { + wait(0.25); + level.player setblurforplayer(0,1); + wait(0.25); + maps\_hud_util::fade_in(0.5,"white"); + common_scripts\utility::flag_set("init_confcenter_start_lighting"); + } + + thread monitorparkingcars(); + thread monitorenddronecontrol(); + thread sniperdronedeathwatch(); + thread truckblood(); +} + +//Function Number: 24 +monitorenddronecontrol() +{ + common_scripts\utility::flag_wait("FlagPlayerEndDroneControl"); + maps\_controlled_sniperdrone::enddronecontrol(); + level notify("end_sniper_drone"); + level.player enemiesignoreplayerdrone(0); + level.allyinfiltrators = maps\_utility::remove_dead_from_array(level.allyinfiltrators); + maps\_utility::array_notify(level.allyinfiltrators,"remove_outline"); + maps\_utility::array_notify(level.allyinfiltrators,"bloodless"); + maps\_utility::array_delete(level.allyinfiltrators); + level.allenemypatrollers = maps\_utility::remove_dead_from_array(level.allenemypatrollers); + maps\_utility::array_notify(level.allenemypatrollers,"remove_outline"); + maps\_utility::array_notify(level.allenemypatrollers,"bloodless"); + maps\_utility::array_delete(level.allenemypatrollers); + level.allenemyambushers = maps\_utility::remove_dead_from_array(level.allenemyambushers); + maps\_utility::array_notify(level.allenemyambushers,"remove_outline"); + maps\_utility::array_notify(level.allenemyambushers,"bloodless"); + maps\_utility::array_delete(level.allenemyambushers); + thread maps\_utility::autosave_by_name("end_drone_control"); + wait(1); + if(level.nextgen) + { + maps\_utility::array_delete(level.allenemyvehicles); + } +} + +//Function Number: 25 +sniperdronedeathwatch(param_00) +{ + common_scripts\utility::flag_wait("FlagSniperDroneHit"); + common_scripts\utility::flag_set("FlagSniperDroneAnimating"); + soundscripts\_snd::snd_message("start_wasp_death_explo"); + thread maps\_controlled_sniperdrone::disabledronefiringduringcrash(); + level.player disableweapons(); + level.player shellshock("greece_drone_destroyed",1); + var_01 = "death"; + param_00 = level.player.sniperdronelink; + param_00.animname = "sniper_drone_flight"; + param_00 maps\_utility::assign_animtree("sniper_drone_flight"); + playfxontag(common_scripts\utility::getfx("sniperdrone_cc_death_fx"),level.player.sniperdronedata.barrelviewmodel,"TAG_ORIGIN"); + maps\greece_conf_center_fx::confcenterresidualsmoke(); + param_00.frameviewmodel.animname = "sniperdrone_outerparts"; + param_00.frameviewmodel maps\_utility::assign_animtree("sniperdrone_outerparts"); + param_00.barrelviewmodel.animname = "sniperdrone_barrel"; + param_00.barrelviewmodel maps\_utility::assign_animtree("sniperdrone_barrel"); + param_00.frameviewmodel setanim(param_00.frameviewmodel maps\_utility::getanim(var_01)); + param_00.barrelviewmodel setanim(param_00.barrelviewmodel maps\_utility::getanim(var_01)); + var_02 = getanimlength(param_00 maps\_utility::getanim(var_01)); + var_02 = var_02 - 1; + thread sniperdronedeathshowstatic(var_02); + param_00 maps\_anim::anim_single_solo(param_00,var_01); + common_scripts\utility::flag_clear("FlagSniperDroneAnimating"); + if(level.currentgen) + { + setsaveddvar("r_znear",4); + level notify("tff_pre_confcenter_to_intro"); + unloadtransient("greece_confcenter_tr"); + loadtransient("greece_intro_tr"); + while(!istransientloaded("greece_intro_tr")) + { + wait(0.05); + } + + level notify("tff_post_confcenter_to_intro"); + } + + level notify("EndDroneControl"); + common_scripts\utility::flag_set("FlagPlayerEndDroneControl"); +} + +//Function Number: 26 +sniperdronedeathshowstatic(param_00) +{ + wait(param_00); + common_scripts\utility::flag_set("FlagPlayerEndDroneStatic"); + level notify("StartDroneStatic"); + soundscripts\_snd::snd_message("start_drone_death_static"); +} + +//Function Number: 27 +sniperdroneflyin(param_00) +{ + common_scripts\utility::flag_set("FlagSniperDroneAnimating"); + var_01 = "flyin"; + var_02 = "flyin_idle"; + var_03 = "flyin_end"; + var_04 = common_scripts\utility::getstruct("DroneFlyInOrg","targetname"); + param_00.animname = "sniper_drone_flight"; + param_00 maps\_utility::assign_animtree("sniper_drone_flight"); + var_05 = [param_00]; + var_04 maps\_anim::anim_first_frame_solo(param_00,"flyin"); + level.player setplayerangles(param_00.angles * (1,1,0)); + level.player playerlinktodelta(param_00,"tag_origin",1,10,10,5,5,1); + param_00.frameviewmodel.animname = "sniperdrone_outerparts"; + param_00.frameviewmodel maps\_utility::assign_animtree("sniperdrone_outerparts"); + param_00.barrelviewmodel.animname = "sniperdrone_barrel"; + param_00.barrelviewmodel maps\_utility::assign_animtree("sniperdrone_barrel"); + if(level.currentgen) + { + if(istransientloaded("greece_intro_tr")) + { + maps\_utility::transient_unload("greece_intro_tr"); + } + } + + thread maps\greece_conf_center_fx::confcenterlightglowfx(); + param_00.frameviewmodel setanim(param_00.frameviewmodel maps\_utility::getanim(var_01)); + param_00.barrelviewmodel setanim(param_00.barrelviewmodel maps\_utility::getanim(var_01)); + var_04 maps\_anim::anim_single(var_05,var_01); + common_scripts\utility::flag_set("FlagMonitorZoomOnHades"); + thread monitorzoomonhades1(); + var_06 = getanimlength(level.scr_anim["sniper_drone_flight"][var_02][0]); + var_04 thread maps\_anim::anim_loop(var_05,var_02,"end_loop"); + while(!common_scripts\utility::flag("FlagContinueDroneFlyin")) + { + wait(var_06); + } + + var_04 notify("end_loop"); + param_00 stopanimscripted(); + soundscripts\_snd::snd_message("unmute_wasp_oneshots"); + level notify("audio_resume_moving_truck"); + wait(0.05); + param_00.frameviewmodel setanim(param_00.frameviewmodel maps\_utility::getanim(var_03)); + param_00.barrelviewmodel setanim(param_00.barrelviewmodel maps\_utility::getanim(var_03)); + var_04 maps\_anim::anim_single(var_05,var_03); + param_00 stopanimscripted(); + common_scripts\utility::flag_set("FlagPlayerEndDroneFlight"); + thread autosavesniperdronestealth("conf_center_fly_in"); + maps\_utility::add_extra_autosave_check("ConfCenterAutosaveStealthCheck",::autosaveconfcenterstealthcheck,"Can\'t autosave during sniperdrone stealth!"); + common_scripts\utility::flag_clear("FlagSniperDroneAnimating"); +} + +//Function Number: 28 +truckdrivein(param_00) +{ + var_01 = "flyin"; + var_02 = "flyin_end"; + var_03 = common_scripts\utility::getstruct("DroneFlyInOrg","targetname"); + var_04 = getent("BodyStashOrg","targetname"); + var_05 = getent("delivery_truck","targetname"); + soundscripts\_snd::snd_message("start_veh_moving_truck",var_05); + var_06 = maps\_utility::get_living_ai("InfiltratorBurke","script_noteworthy"); + var_07 = [var_05]; + var_05 hudoutlineenable(2); + if(param_00 == 0) + { + var_03 maps\_anim::anim_single(var_07,var_01); + common_scripts\utility::flag_wait("FlagContinueDroneFlyin"); + } + + var_03 maps\_anim::anim_single(var_07,var_02); + var_08 = maps\_utility::get_living_ai("Infiltrator1","script_noteworthy"); + var_09 = maps\_utility::get_living_ai("Infiltrator2","script_noteworthy"); + var_08 show(); + var_09 show(); + var_06 show(); + var_0A = "bodystash_idle"; + var_04 thread maps\_anim::anim_loop_solo(var_06,var_0A,"endBodystashIdle"); + common_scripts\utility::flag_wait_any("FlagBodyStashGuard1Killed","FlagBodyStashGuard2Killed","FlagBodyStashGuardsAlerted"); + var_05 hudoutlinedisable(); +} + +//Function Number: 29 +sniperdroneflyintogglezoomnotetrack(param_00) +{ + if(common_scripts\utility::flag("FlagForcePlayerADS")) + { + common_scripts\utility::flag_clear("FlagForcePlayerADS"); + } + else + { + common_scripts\utility::flag_set("FlagForcePlayerADS"); + } + + level.confhades hudoutlineenable(5,0); + wait(3); + level.confhades hudoutlinedisable(); +} + +//Function Number: 30 +truckstartwalknotetrack(param_00) +{ + common_scripts\utility::flag_set("FlagAllyVehicleDriveBy"); +} + +//Function Number: 31 +progressionsupportphase1() +{ + level endon("alarm_mission_end"); + common_scripts\utility::flag_wait("FlagBeginGateSetup"); + maps\_hms_utility::printlnscreenandconsole("--- Begin GATE ---"); + setupvalidtargetsbyname("EnemyPatrolGate"); + common_scripts\utility::flag_wait_any("FlagBodyStashGuard1Killed","FlagBodyStashGuard2Killed","FlagBodyStashGuardsAlerted"); + level notify("disableCourtyardCorpseDetection"); + thread courtyardspecialdetection(); + if(!common_scripts\utility::flag("FlagCourtyardAnyOverwatchDead")) + { + thread autosavesniperdronestealth("conf_center_gate_start"); + } + + common_scripts\utility::flag_wait("FlagAllGateGuardsDead"); + if(!common_scripts\utility::flag("FlagCourtyardAnyOverwatchDead")) + { + thread autosavesniperdronestealth("conf_center_gate_end"); + } + + maps\_hms_utility::printlnscreenandconsole("--- End GATE ---"); + common_scripts\utility::flag_set("FlagEndGateSetup"); + maps\_hms_utility::printlnscreenandconsole("Allies at GateExt!"); + if(!common_scripts\utility::flag("FlagAllCourtyardGuardsDead")) + { + common_scripts\utility::flag_wait("FlagBeginCourtyardSetup"); + maps\_hms_utility::printlnscreenandconsole("--- Begin COURTYARD ---"); + thread setupplayertargets("CourtyardPlayerTarget"); + common_scripts\utility::flag_wait("FlagAllCourtyardGuardsDead"); + } + + common_scripts\utility::flag_wait("FlagGateBreachComplete"); + common_scripts\utility::flag_set("FlagEndCourtyardSetup"); + thread autosavesniperdronestealth("conf_center_courtyard_end"); + maps\_hms_utility::printlnscreenandconsole("--- End COURTYARD ---"); +} + +//Function Number: 32 +progressionsupportphase2() +{ + level endon("alarm_mission_end"); + level endon("burke_killed"); + common_scripts\utility::flag_wait("FlagBeginWalkwaySetup"); + thread atriumdoorsopenonalarm(); + maps\_hms_utility::printlnscreenandconsole("--- Begin WALKWAY ---"); + thread burkecourtyardboostjump(); + thread allywalkwaykill(); + thread allypoolsetup(); + thread atriumbreachmonitoralliesinposition(); + common_scripts\utility::flag_wait_either("FlagAllWalkwayGuardsDead","FlagWalkwayAlliesPerformKill"); + thread autosavesniperdronestealth("conf_center_walkway_end"); + maps\_hms_utility::printlnscreenandconsole("--- End WALKWAY ---"); + common_scripts\utility::flag_set("FlagEndWalkwaySetup"); + common_scripts\utility::flag_wait("FlagBeginStruggleSetup"); + thread autosavesniperdronestealth("conf_center_struggle_start"); + maps\_hms_utility::printlnscreenandconsole("--- Begin STRUGGLE ---"); + thread allysetupstruggle(); + common_scripts\utility::flag_wait("FlagStruggleGuardAttacks"); + wait(2); + thread setupplayertargets("StrugglePlayerTarget",1,0); + maps\_utility::waittill_dead(level.playertargets); + common_scripts\utility::flag_wait("FlagStruggleBurkeRecovers"); + thread autosavesniperdronestealth("conf_center_struggle_end"); + maps\_hms_utility::printlnscreenandconsole("--- End STRUGGLE ---"); + common_scripts\utility::flag_set("FlagEndStruggleSetup"); + if(!common_scripts\utility::flag("FlagAllPoolGuardsDead")) + { + thread allyredirectnoteworthy("InfiltratorBurke","Pool"); + common_scripts\utility::flag_wait("FlagBeginPoolSetup"); + maps\_hms_utility::printlnscreenandconsole("--- Begin POOL ---"); + level notify("disablePoolCorpseDetection"); + thread setupplayertargets("PoolPlayerTarget"); + thread setuppoolallytargets(); + common_scripts\utility::flag_wait("FlagAllPoolGuardsDead"); + thread autosavesniperdronestealth("conf_center_pool_end"); + maps\_hms_utility::printlnscreenandconsole("--- End POOL ---"); + } + + common_scripts\utility::flag_set("FlagEndPoolSetup"); + atriumbreachidleburke(0); + atriumbreachidleinfiltrators(0); +} + +//Function Number: 33 +progressionsupportphase3() +{ + level endon("alarm_mission_end"); + common_scripts\utility::flag_wait("FlagAtriumAlliesReadyToBreach"); + common_scripts\utility::flag_wait("FlagBeginAtriumSetup"); + maps\_hms_utility::printlnscreenandconsole("--- Begin ATRIUM ---"); + setupvalidtargetsbyname("EnemyPatrolAtrium"); + thread setobjatrium(); + thread monitorplayershootfirstatrium(); + thread monitorplayerlookingatatrium(); + thread monitoratriumfighttimer(); + thread alliesbreachatriumonalarm(); + common_scripts\utility::flag_wait("FlagAtriumAlliesPerformBreach"); + soundscripts\_snd::snd_message("start_atrium_breach_music"); + thread alliesbreachatrium(); + common_scripts\utility::flag_wait("FlagAtriumEnemiesAllMarked"); + monitoratriumenemieskilled(); + thread autosavesniperdronestealth("conf_center_atrium_start"); + maps\_hms_utility::printlnscreenandconsole("--- End ATRIUM ---"); + common_scripts\utility::flag_set("FlagEndAtriumSetup"); + thread alliesexitatrium(); + if(!common_scripts\utility::flag("FlagAllRooftopGuardsDead")) + { + common_scripts\utility::flag_wait("FlagBeginRooftopSetup"); + maps\_hms_utility::printlnscreenandconsole("--- Begin ROOFTOP ---"); + thread setupplayertargets("RooftopPlayerTarget"); + maps\_utility::waittill_dead(level.playertargets); + thread autosavesniperdronestealth("conf_center_rooftop_end"); + maps\_hms_utility::printlnscreenandconsole("--- End ROOFTOP ---"); + } + + common_scripts\utility::flag_set("FlagEndRooftopSetup"); + if(!common_scripts\utility::flag("FlagAllParkingGuardsDead")) + { + common_scripts\utility::flag_wait("FlagBeginParkingSetup"); + maps\_hms_utility::printlnscreenandconsole("--- Begin PARKING ---"); + thread alliesparkingkillalt(); + markparkingcars(); + common_scripts\utility::flag_wait("FlagAllParkingGuardsDead"); + _caralarmstop(); + thread autosavesniperdronestealth("conf_center_parking_end"); + maps\_hms_utility::printlnscreenandconsole("--- End PARKING ---"); + } + + common_scripts\utility::flag_set("FlagEndParkingSetup"); +} + +//Function Number: 34 +alliesbreachatriumonalarm() +{ + level waittill("alarm_mission_end"); + if(common_scripts\utility::flag("FlagAtriumAlliesReadyToBreach") && !common_scripts\utility::flag("FlagAtriumAlliesPerformBreach")) + { + thread alliesbreachatrium(); + } +} + +//Function Number: 35 +setobjatrium() +{ + level endon("alarm_mission_end"); + var_00 = getent("PlayerDroneLookAt3","targetname"); + objective_position(maps\_utility::obj("DroneSupport"),var_00.origin); + objective_setpointertextoverride(maps\_utility::obj("DroneSupport"),&"GREECE_OBJ_ATRIUM_POINTER"); + common_scripts\utility::flag_wait_either("FlagPlayerLookingAtAtrium","FlagPlayerShootFirstAtrium"); + objective_position(maps\_utility::obj("DroneSupport"),(0,0,0)); + objective_setpointertextoverride(maps\_utility::obj("DroneSupport")," "); +} + +//Function Number: 36 +alliesexitatrium() +{ + thread allyredirectnoteworthy("InfiltratorBurke","AtriumExit"); + thread atriumboostjump(); + maps\greece_code::waittillaiarrayneargoal(level.allyinfiltrators); + thread burkeopenatriumexitdoor(); + common_scripts\utility::flag_wait("FlagAtriumAlliesExit"); + if(!common_scripts\utility::flag("FlagAnyParkingGuardsDead")) + { + thread autosavesniperdronestealth("conf_center_atrium_end"); + } + + thread alliesparkingsetup(); +} + +//Function Number: 37 +burkeopenatriumexitdoor() +{ + var_00 = level.infiltratorburke thread maps\_hms_door_interact::opendoor("AtriumExitDoorStruct","slow"); + var_01 = getent("AtriumExitDoorClip","targetname"); + var_01 delete(); + var_00 waittill("Open"); + common_scripts\utility::flag_set("FlagAtriumAlliesExit"); + thread allyburkeparkingsetup(); +} + +//Function Number: 38 +monitorplayerlookingatatrium() +{ + level endon("SniperdroneAtriumPlayerFirstShot"); + level endon("alarm_mission_end"); + var_00 = getent("AtriumPlayerLookAtTarget","targetname"); + waittillplayerlookattargetintrigger(var_00,"TriggerAtriumPlayer",30,0); + common_scripts\utility::flag_set("FlagPlayerLookingAtAtrium"); +} + +//Function Number: 39 +monitorplayershootfirstatrium() +{ + level endon("SniperdroneAtriumPlayerSignalBreach"); + level endon("alarm_mission_end"); + var_00 = maps\_utility::get_living_ai_array("EnemyPatrolAtrium_AI","targetname"); + foreach(var_02 in var_00) + { + var_02.noalarm = 1; + } + + waittillaiarraydeadoralerted(var_00,1); + level notify("SniperdroneAtriumPlayerFirstShot"); + common_scripts\utility::flag_set("FlagPlayerShootFirstAtrium"); +} + +//Function Number: 40 +waittillaiarraydeadoralerted(param_00,param_01,param_02) +{ + var_03 = []; + foreach(var_05 in param_00) + { + if(isalive(var_05) && !var_05.ignoreforfixednodesafecheck) + { + var_03[var_03.size] = var_05; + } + } + + param_00 = var_03; + var_07 = spawnstruct(); + if(isdefined(param_02)) + { + var_07 endon("thread_timed_out"); + var_07 thread maps\_utility::waittill_dead_timeout(param_02); + } + + var_07.count = param_00.size; + if(isdefined(param_01) && param_01 < var_07.count) + { + var_07.count = param_01; + } + + common_scripts\utility::array_thread(param_00,::waittilldeadoralertedthread,var_07); + while(var_07.count > 0) + { + var_07 waittill("waittill_dead_guy_dead_or_alerted"); + } +} + +//Function Number: 41 +waittilldeadoralertedthread(param_00) +{ + common_scripts\utility::waittill_any("death","pain_death","guy_alerted"); + param_00.count--; + param_00 notify("waittill_dead_guy_dead_or_alerted"); +} + +//Function Number: 42 +disablealliescolor() +{ + foreach(var_01 in level.allyinfiltrators) + { + var_01 maps\_utility::disable_ai_color(); + } +} + +//Function Number: 43 +enablealliescolor() +{ + foreach(var_01 in level.allyinfiltrators) + { + var_01 maps\_utility::enable_ai_color(); + } +} + +//Function Number: 44 +atriumboostjump() +{ + var_00 = common_scripts\utility::getstruct("Infiltrator1AtriumBoostJumpOrg","targetname"); + var_01 = common_scripts\utility::getstruct("Infiltrator2AtriumBoostJumpOrg","targetname"); + var_02 = maps\_utility::get_living_ai("Infiltrator1","script_noteworthy"); + var_03 = maps\_utility::get_living_ai("Infiltrator2","script_noteworthy"); + thread atriumboostjumpguy(var_02,var_00); + thread atriumboostjumpguy(var_03,var_01); +} + +//Function Number: 45 +atriumboostjumpguy(param_00,param_01) +{ + param_00 maps\greece_code::clear_set_goal(); + wait 0.05; + var_02 = "atrium_boost_jump"; + param_01 maps\_anim::anim_reach_solo(param_00,var_02); + param_01 maps\_anim::anim_single_solo_run(param_00,var_02); + thread allyredirectnoteworthy(param_00.script_noteworthy,"AtriumExit"); +} + +//Function Number: 46 +progressionkillhades() +{ + common_scripts\utility::flag_wait("FlagBeginConfCenterKill"); + level.confhades hudoutlineenable(5,0); + alliesbreachconfroom(); + common_scripts\utility::flag_set("FlagConfRoomAlliesExit"); +} + +//Function Number: 47 +progressioncombat() +{ + common_scripts\utility::flag_wait_either("FlagBeginConfCenterCombat","FlagConfRoomAlliesRecover"); + maps\_utility::battlechatter_on("allies"); + maps\_utility::battlechatter_on("axis"); + thread monitorplayeractivity(); + thread spawnenemiesambusherssouth(); + level.player maps\_utility::set_ignoreme(1); + maps\_utility::remove_extra_autosave_check("ConfCenterAutosaveStealthCheck"); + thread confcentervehiclesvulnerable(); + wait 0.05; + thread maps\_utility::autosave_by_name("conf_center_combat"); + maps\_utility::add_extra_autosave_check("ConfCenterAutosaveCombatCheck",::autosaveconfcentercombatcheck,"Can\'t autosave during sniperdrone combat!"); + common_scripts\utility::flag_wait("FlagConfRoomAlliesRecover"); + thread alliesparkingdefend(); + common_scripts\utility::flag_wait("FlagSomeAmbushSouthGuardsDead"); + resetvulnerabletimers(); + thread spawnenemiesambusherseast(); + thread spawnenemyambushvehicle(); +} + +//Function Number: 48 +progressionoutro() +{ + common_scripts\utility::flag_wait("FlagBeginConfCenterOutro"); + resetvulnerabletimers(); + wait(10); + var_00 = getent("HadesEscapePlayerLookAtTarget","targetname"); + thread maps\_utility::autosave_by_name("conf_center_outro"); + waittillplayerlookattargetintrigger(var_00,"TriggerHadesEscapePlayer",30,0,20); + level.player maps\_utility::set_ignoreme(0); + level notify("HadesVehicleDriveStart"); + maps\_utility::remove_extra_autosave_check("ConfCenterAutosaveCombatCheck"); + common_scripts\utility::flag_set("FlagHadesVehicleDriveStart"); + foreach(var_02 in level.allyinfiltrators) + { + if(isdefined(var_02)) + { + if(!isdefined(var_02.magic_bullet_shield) || var_02.magic_bullet_shield == 0) + { + var_02 thread maps\_utility::magic_bullet_shield(1); + } + } + } +} + +//Function Number: 49 +setupplayertargets(param_00,param_01,param_02) +{ + var_03 = []; + var_04 = []; + var_04 = getaiarray("axis"); + if(!isdefined(param_01)) + { + param_01 = 0; + } + + if(!isdefined(param_02)) + { + param_02 = 1; + } + + foreach(var_06 in var_04) + { + if(isalive(var_06) && isdefined(var_06.script_noteworthy)) + { + if(common_scripts\utility::string_starts_with(var_06.script_noteworthy,param_00)) + { + var_03 = common_scripts\utility::add_to_array(var_03,var_06); + } + } + } + + level.playertargets = maps\_utility::array_removedead(level.playertargets); + level.playertargets = maps\_utility::array_merge(var_03,level.playertargets); + foreach(var_09 in var_03) + { + if(isalive(var_09)) + { + var_09 thread markplayertarget(param_01,param_02); + } + } +} + +//Function Number: 50 +markplayertarget(param_00,param_01) +{ + if(!isdefined(param_00)) + { + param_00 = 0; + } + + if(!isdefined(param_01)) + { + param_01 = 1; + } + + if(param_00 == 1) + { + maps\greece_code::setalertoutline(); + } + else + { + maps\greece_code::settargetoutline(); + } + + var_02 = undefined; + for(var_03 = 0;var_03 < level.playertargets.size;var_03++) + { + if(self == level.playertargets[var_03]) + { + var_02 = var_03; + } + } + + var_04 = var_02 + 1; + if(param_01 == 1) + { + thread objmarkerplayertarget(var_04); + } +} + +//Function Number: 51 +monitormarkedplayertarget(param_00,param_01) +{ + level endon("end_sniper_drone"); + self endon("death"); + self endon("dying"); + self endon("guy_alerted"); + self endon("removeTargetObj"); + wait(0.1); + if(param_01 == 1) + { + thread objmarkerplayertarget(param_00); + } +} + +//Function Number: 52 +objmarkerplayertarget(param_00) +{ + objective_setpointertextoverride(maps\_utility::obj("DroneSupport")," "); + wait(0.05); + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 linkto(self,"TAG_EYE",(0,0,12),(0,0,0)); + objective_additionalentity(maps\_utility::obj("DroneSupport"),param_00,var_01); + common_scripts\utility::waittill_any("death","dying","removeTargetObj"); + objective_additionalposition(maps\_utility::obj("DroneSupport"),param_00,(0,0,0)); + var_01 delete(); +} + +//Function Number: 53 +removeplayertarget() +{ + self notify("removeTargetObj"); + level.playertargets common_scripts\utility::array_remove(level.playertargets,self); + if(target_istarget(self)) + { + target_remove(self); + } + + self hudoutlineenable(1,1); +} + +//Function Number: 54 +clearplayertargetlist() +{ + level.playertargets = maps\_utility::array_removedead(level.playertargets); + foreach(var_01 in level.playertargets) + { + level.playertargets = common_scripts\utility::array_remove(level.playertargets,var_01); + } +} + +//Function Number: 55 +objmarkervehicle(param_00,param_01,param_02) +{ + if(!isdefined(param_01)) + { + param_01 = 0; + } + + if(!isdefined(param_02)) + { + param_02 = 0; + } + + if(param_01 == 1) + { + objective_onentity(maps\_utility::obj("DroneSupport"),self,(0,0,64)); + objective_setpointertextoverride(maps\_utility::obj("DroneSupport"),&"GREECE_OBJ_HADES_POINTER"); + } + + thread objoutlinevehicle(param_02,param_00); + common_scripts\utility::flag_wait(param_00); + level notify(param_00); + self hudoutlinedisable(); + if(param_01 == 1) + { + objective_position(maps\_utility::obj("DroneSupport"),(0,0,0)); + } +} + +//Function Number: 56 +objoutlinevehicle(param_00,param_01) +{ + level endon(param_01); + if(param_00 == 1) + { + wait(20); + } + + if(level.nextgen) + { + self hudoutlineenable(1,1); + return; + } + + foreach(var_03 in level.sniper_marked_cars) + { + var_03 hudoutlineenable(1,1); + } +} + +//Function Number: 57 +spawnconfcenterai() +{ + setsaveddvar("r_hudoutlineenable",1); + spawnallyinfiltrators(); + thread spawnhadesescapevehicle(); + var_00 = level.start_point; + if(!common_scripts\utility::string_starts_with(var_00,"start_conf_center_") || var_00 == "start_conf_center_intro" || var_00 == "start_conf_center_support1" || var_00 == "start_conf_center_support2" || var_00 == "start_conf_center_support3" || var_00 == "start_conf_center_kill" || var_00 == "start_conf_center_combat") + { + if(var_00 != "start_conf_center_support2" && var_00 != "start_conf_center_support3" && var_00 != "start_conf_center_kill" && var_00 != "start_conf_center_combat") + { + spawnenemiespatrollersa(); + thread progressionsupportphase1(); + } + + if(var_00 != "start_conf_center_support3" && var_00 != "start_conf_center_kill" && var_00 != "start_conf_center_combat") + { + spawnenemiespatrollersb(); + thread progressionsupportphase2(); + } + + if(var_00 != "start_conf_center_kill" && var_00 != "start_conf_center_combat") + { + spawnenemiespatrollersc(); + thread progressionsupportphase3(); + } + + if(var_00 != "start_conf_center_combat") + { + thread monitorlevelalarm(); + thread monitorconfroomwindows(); + thread confroomsetup(); + } + + thread progressioncombat(); + } + + thread spawnenemiesextra(); + thread progressionoutro(); + initconfcenterstealthsettings(); + initalerttime(); +} + +//Function Number: 58 +spawnallyinfiltrators() +{ + maps\_utility::array_spawn_function_targetname("AllyInfiltrator",::thinkallyinfiltrator); + level.allyinfiltrators = maps\_utility::array_spawn_targetname("AllyInfiltrator"); + level.allyinfiltrators = maps\_utility::array_index_by_script_index(level.allyinfiltrators); + level.infiltratorburke = level.allyinfiltrators[0]; + level.infiltratorburke.name = "Gideon"; + level.infiltratorburke.animname = "infiltratorburke"; + level.infiltratorburke.script_parameters = "Gideon"; + level.infiltratorburke maps\_utility::forceuseweapon("iw5_bal27_sp_silencer01","primary"); + level.allyinfiltrators[1] maps\_utility::forceuseweapon("iw5_bal27_sp_silencer01","primary"); + level.allyinfiltrators[1].name = "Drelick"; + level.allyinfiltrators[1].animname = "infiltrator1"; + level.allyinfiltrators[1].script_parameters = "Drelick"; + level.allyinfiltrators[2] maps\_utility::forceuseweapon("iw5_bal27_sp_silencer01","primary"); + level.allyinfiltrators[2].name = "Baron"; + level.allyinfiltrators[2].animname = "infiltrator2"; + level.allyinfiltrators[2].script_parameters = "Baron"; + wait(0.05); + var_00 = level.start_point; + if(var_00 == "start_conf_center_support1") + { + alliesdrivein(0,1); + return; + } + + if(var_00 == "start_conf_center_support2") + { + thread alliesredirect("GateInt",0,1); + markallies(); + wait(0.05); + alliesdrivein(1,0); + return; + } + + if(var_00 == "start_conf_center_support3") + { + atriumbreachidleinfiltrators(1); + atriumbreachidleburke(1); + markallies(); + wait(0.05); + common_scripts\utility::flag_set("FlagAtriumAlliesReadyToBreach"); + alliesdrivein(1,0); + return; + } + + if(var_00 == "start_conf_center_kill") + { + thread alliesredirect("ParkingStairs1",0,1); + markallies(); + alliesdrivein(1,0); + return; + } + + if(var_00 == "start_conf_center_combat") + { + allyconfroomdeath(1); + thread alliesredirect("ConfRoomExit",0,1); + markallies(); + alliesdrivein(1,0); + return; + } + + if(var_00 == "start_conf_center_outro") + { + allyconfroomdeath(1); + thread alliesredirect("ParkingEnd",0,1); + maps\_utility::activate_trigger_with_targetname("TrigBurke107"); + maps\_utility::activate_trigger_with_targetname("TrigAllies107"); + markallies(); + alliesdrivein(1,0); + return; + } + + thread alliesdrivein(0,0); +} + +//Function Number: 59 +spawnenemiespatrollersa() +{ + maps\_utility::array_spawn_function_targetname("EnemyPatrolGate",::thinkpatrolenemy); + var_00 = maps\_utility::array_spawn_targetname("EnemyPatrolGate"); + level.allenemypatrollers = maps\_utility::array_merge(var_00,level.allenemypatrollers); + thread enemypatrolgatethread(var_00); + maps\_utility::array_spawn_function_targetname("EnemyPatrolCourtyard",::thinkpatrolenemy); + var_01 = maps\_utility::array_spawn_targetname("EnemyPatrolCourtyard"); + level.allenemypatrollers = maps\_utility::array_merge(var_01,level.allenemypatrollers); + thread enemypatrolcourtyardthread(var_01); + setupvalidtargetsbyarray(var_01); +} + +//Function Number: 60 +spawnenemiespatrollersb() +{ + maps\_utility::array_spawn_function_targetname("EnemyPatrolWalkway",::thinkpatrolenemy); + var_00 = maps\_utility::array_spawn_targetname("EnemyPatrolWalkway"); + level.allenemypatrollers = maps\_utility::array_merge(var_00,level.allenemypatrollers); + thread enemypatrolwalkwaythread(var_00); + setupvalidtargetsbyarray(var_00); + maps\_utility::array_spawn_function_targetname("EnemyPatrolPool",::thinkpatrolenemy); + var_01 = maps\_utility::array_spawn_targetname("EnemyPatrolPool"); + level.allenemypatrollers = maps\_utility::array_merge(var_01,level.allenemypatrollers); + thread enemypatrolpoolthread(var_01); + setupvalidtargetsbyarray(var_01); +} + +//Function Number: 61 +spawnenemiespatrollersc() +{ + maps\_utility::array_spawn_function_targetname("EnemyPatrolAtrium",::thinkpatrolenemy); + var_00 = maps\_utility::array_spawn_targetname("EnemyPatrolAtrium"); + level.allenemypatrollers = maps\_utility::array_merge(var_00,level.allenemypatrollers); + thread enemypatrolatriumthread(var_00); + maps\_utility::array_spawn_function_targetname("EnemyPatrolRooftop",::thinkpatrolenemy); + var_01 = maps\_utility::array_spawn_targetname("EnemyPatrolRooftop"); + level.allenemypatrollers = maps\_utility::array_merge(var_01,level.allenemypatrollers); + thread enemypatrolrooftopthread(var_01); + setupvalidtargetsbyarray(var_01); + maps\_utility::array_spawn_function_targetname("EnemyPatrolParking",::thinkpatrolenemy); + var_02 = maps\_utility::array_spawn_targetname("EnemyPatrolParking"); + level.allenemypatrollers = maps\_utility::array_merge(var_02,level.allenemypatrollers); + thread enemypatrolparkingthread(var_02); + setupvalidtargetsbyarray(var_02); +} + +//Function Number: 62 +spawnenemiesextra() +{ + maps\_utility::array_spawn_function_targetname("EnemyPatrolExtra",::thinkpatrolenemy); + var_00 = maps\_utility::array_spawn_targetname("EnemyPatrolExtra"); + level.allenemypatrollers = maps\_utility::array_merge(var_00,level.allenemypatrollers); + setupvalidtargetsbyarray(var_00); + thread maps\greece_code::aiarrayidleloop(var_00); + foreach(var_02 in var_00) + { + var_02 maps\_utility::set_ignoreall(1); + var_02 maps\_utility::set_ignoreme(1); + } + + common_scripts\utility::flag_wait_either("FlagConfRoomExplosion","FlagBeginConfCenterCombat"); + var_00 = maps\_utility::array_removedead_or_dying(var_00); + level.allenemyambushers = maps\_utility::array_merge(var_00,level.allenemyambushers); + foreach(var_02 in var_00) + { + if(var_02.script_noteworthy == "ExtraPlayerTarget3") + { + var_02 kill(); + continue; + } + + var_02 thread extraenemiescombat(); + } +} + +//Function Number: 63 +extraenemiescombat() +{ + self endon("death"); + maps\_utility::enable_arrivals(); + maps\_utility::enable_exits(); + maps\greece_code::enableawareness(); + maps\_utility::clear_run_anim(); + maps\_stealth_utility::disable_stealth_for_ai(); + self notify("end_patrol"); + self notify("new_anim_reach"); + disableenemyalert(); + thread notifyonplayerkill(); + self notify("guy_alerted"); + wait 0.05; + maps\_utility::set_ignoreall(0); + maps\_utility::set_ignoreme(0); + self.enemyteam = "allies"; + self.alertlevel = "combat"; + self.combatmode = "cover"; + aiidleloopdisable(1); + thread maps\_utility::set_battlechatter(1); + var_00 = maps\_utility::get_closest_ai(self.origin,self.enemyteam); + if(isdefined(var_00)) + { + maps\_utility::set_favoriteenemy(var_00); + } + + var_01 = getent("EnemyAmbushParkingVol","targetname"); + self setgoalvolumeauto(var_01); + common_scripts\utility::flag_wait_either("FlagBeginConfCenterCombat","FlagConfRoomAlliesRecover"); + maps\greece_code::setalertoutline(); + markdronetargetenemy(); + thread maps\greece_code::clearalertoutline(); + common_scripts\utility::flag_wait("FlagSomeAmbushSouthGuardsDead"); + var_01 = getent("EnemyAmbushEastFallbackVol","targetname"); + self setgoalvolumeauto(var_01); +} + +//Function Number: 64 +spawnenemystruggle() +{ + var_00 = getent("EnemyPatrolStruggle","targetname"); + var_00 maps\_utility::add_spawn_function(::thinkpatrolenemy); + var_01 = var_00 maps\_utility::spawn_ai(1); + var_01 maps\_utility::set_ignoreme(1); + var_01.no_stopanimscripted = 1; + var_01 maps\_stealth_utility::disable_stealth_for_ai(); + var_01 maps\_utility::disable_danger_react(); + var_01 maps\_utility::disable_bulletwhizbyreaction(); + var_01 maps\_utility::forceuseweapon("iw5_uts19_sp","primary"); + level.allenemypatrollers = common_scripts\utility::add_to_array(level.allenemypatrollers,var_01); + return var_01; +} + +//Function Number: 65 +spawnenemiesambusherssouth() +{ + wait(3); + maps\_utility::array_spawn_function_targetname("EnemyAmbushSouth",::thinkambushenemy); + var_00 = maps\_utility::array_spawn_targetname("EnemyAmbushSouth"); + thread enemyambushsouthopendoors(); + var_01 = maps\_utility::get_living_ai_array("EnemyPatrolExtra_AI","targetname"); + var_00 = maps\_utility::array_merge(var_01,var_00); + level.allenemyambushers = maps\_utility::array_merge(var_00,level.allenemyambushers); + foreach(var_03 in var_00) + { + var_03.oldfightdist = var_03.pathenemyfightdist; + var_03.pathenemyfightdist = 8; + } + + var_00 = maps\_utility::array_removedead_or_dying(var_00); + waittillenemiesreducedto(3,var_00); + common_scripts\utility::flag_set("FlagSomeAmbushSouthGuardsDead"); + var_00 = maps\_utility::array_removedead_or_dying(var_00); + foreach(var_03 in var_00) + { + var_03.pathenemyfightdist = var_03.oldfightdist; + var_03 thread enemyambushsouthshiftvol(); + } +} + +//Function Number: 66 +enemyambushsouthopendoors() +{ + var_00 = getentarray("SouthDoorClip","targetname"); + foreach(var_02 in var_00) + { + var_02 delete(); + } + + var_04 = getentarray("EnemyAmbushSouthDoor","targetname"); + foreach(var_06 in var_04) + { + if(var_06.script_noteworthy == "SouthDoor1") + { + var_07 = 120; + } + else + { + var_07 = -120; + } + + var_08 = randomfloatrange(0.25,0.45); + var_06 rotateto(var_06.angles + (0,var_07,0),var_08,0,0.2); + } +} + +//Function Number: 67 +enemyambushsouthshiftvol() +{ + self endon("death"); + if(self.script_noteworthy == "Low") + { + var_00 = getent("EnemyAmbushEastFallbackVol","targetname"); + self setgoalvolumeauto(var_00); + } + else if(self.script_noteworthy == "Stairs") + { + var_00 = getent("EnemyAmbushBridgeVol","targetname"); + self setgoalvolumeauto(var_00); + } + else if(self.script_noteworthy == "High") + { + var_00 = getent("EnemyAmbushSouthHighVol1","targetname"); + self setgoalvolumeauto(var_00); + } + + self.health = 1; +} + +//Function Number: 68 +spawnenemiesambusherseast() +{ + maps\_utility::array_spawn_function_targetname("EnemyAmbushEast",::thinkambushenemy); + var_00 = maps\_utility::array_spawn_targetname("EnemyAmbushEast"); + level.allenemyambushers = maps\_utility::array_merge(var_00,level.allenemyambushers); + thread enemyambusheastopendoors(); + wait(1); + var_01 = []; + var_02 = maps\_utility::get_living_ai_array("EnemyAmbushVehicleOperators","script_noteworthy"); + var_01 = maps\_utility::array_merge(var_01,var_02); + var_03 = maps\_utility::get_living_ai_array("EnemyAmbushEast_AI","targetname"); + var_01 = maps\_utility::array_merge(var_01,var_03); + waittillenemiesreducedto(3,var_01); + common_scripts\utility::flag_set("FlagAllAmbushGuardsDead"); + common_scripts\utility::flag_wait("FlagSpawnEnemyReinforcements"); + var_00 = maps\_utility::array_removedead_or_dying(var_00); + var_04 = maps\_utility::get_living_ai_array("EnemyAmbushVehicleOperators","script_noteworthy"); + var_05 = maps\_utility::array_merge(var_00,var_04); + var_06 = getent("EnemyAmbushEastFallbackVol","targetname"); + foreach(var_08 in var_05) + { + var_08 setgoalvolumeauto(var_06); + var_08.health = 1; + } +} + +//Function Number: 69 +enemyambusheastopendoors() +{ + var_00 = getent("EastDoorStartClip","targetname"); + var_00 delete(); + var_01 = getentarray("EastDoorEndClip","targetname"); + foreach(var_03 in var_01) + { + var_03 movez(1024,0.1); + var_03 disconnectpaths(); + } + + var_05 = getentarray("EnemyAmbushEastDoor","targetname"); + foreach(var_07 in var_05) + { + if(var_07.script_noteworthy == "EastDoor1") + { + var_08 = -150; + } + else + { + var_08 = 100; + } + + var_09 = randomfloatrange(0.25,0.45); + var_07 rotateto(var_07.angles + (0,var_08,0),var_09,0,0.2); + } +} + +//Function Number: 70 +spawnenemyambushvehicle() +{ + var_00 = "EnemyAmbushVehicleOperators"; + maps\_utility::array_spawn_function_noteworthy(var_00,::thinkambushenemy); + thread enemyambushvehiclebadplace(); + var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("EnemyAmbushVehicle"); + var_01 soundscripts\_snd::snd_message("mhunt_cc_assault_veh_01_approach"); + var_01.veh_pathtype = "constrained"; + level.allenemyvehicles = common_scripts\utility::add_to_array(level.allenemyvehicles,var_01); + var_01 markdronetargetvehicle(); + if(level.currentgen) + { + var_01 thread maps\greece_code::tff_cleanup_vehicle("confcenter"); + } + + var_02 = []; + foreach(var_04 in var_01.riders) + { + level.allenemyambushers = common_scripts\utility::add_to_array(level.allenemyambushers,var_04); + var_02 = common_scripts\utility::add_to_array(var_02,var_04); + var_04 markdronetargetenemy(); + var_04 thread enemyvehicleguyfallback(); + } + + var_01 enemyvehicleturretthread(); + common_scripts\utility::flag_set("FlagEnemyVehicleTurretDisabled"); + if(isdefined(var_01)) + { + var_01 unmarkandremoveoutline(0); + } +} + +//Function Number: 71 +enemyvehicleguyfallback() +{ + self endon("death"); + common_scripts\utility::flag_wait("FlagSpawnEnemyReinforcements"); + var_00 = getent("EnemyAmbushEastFallbackVol","targetname"); + self setgoalvolumeauto(var_00); + self.health = 1; +} + +//Function Number: 72 +waittillenemiesreducedto(param_00,param_01) +{ + for(;;) + { + maps\_utility::waittill_dead_or_dying(param_01,1); + param_01 = maps\_utility::array_removedead_or_dying(param_01); + if(param_01.size <= param_00) + { + break; + } + + wait(0.1); + } +} + +//Function Number: 73 +enemyvehicleturretthread() +{ + self endon("death"); + level endon("FlagAllAmbushEastGuardsDead"); + var_00 = self.mgturret[0]; + var_00 setturretteam("axis"); + soundscripts\_snd::snd_message("cc_technical_turret_fire",var_00); + var_01 = undefined; + foreach(var_03 in self.riders) + { + if(var_03.vehicle_position == 1) + { + var_01 = var_03; + } + } + + var_01 endon("death"); + var_01.ignoreall = 1; + var_00 turretfiredisable(); + var_05 = undefined; + var_06 = getentarray("ParkingAlarmCar","targetname"); + foreach(var_08 in var_06) + { + if(isdefined(var_08.script_parameters) && var_08.script_parameters == "BlowUp") + { + var_05 = var_08; + } + } + + var_0A = getent("AmbushVehicleTarget","targetname"); + common_scripts\utility::flag_wait("FlagEnemyVehicleActivateTurret"); + var_01.ignoreall = 0; + var_00 turretfireenable(); + var_00 setaispread(2); + var_00 setconvergencetime(2); + var_05 thread enemyturrettargetcar(var_00,var_0A); + maps\_hms_utility::printlnscreenandconsole("Enemy vehicle turret is now using normal AI"); + thread enemyturretfire(var_00,var_01); + var_0B = []; + var_0B = level.allyinfiltrators; + for(;;) + { + var_0C = common_scripts\utility::array_randomize(var_0B); + if(isdefined(var_0C[0])) + { + var_01 maps\_utility::set_favoriteenemy(var_0C[0]); + var_00 settargetentity(var_0C[0]); + } + + wait(randomfloatrange(3,8)); + } +} + +//Function Number: 74 +enemyturretfire(param_00,param_01) +{ + param_01 endon("death"); + self endon("death"); + level endon("StartDroneStatic"); + var_02 = "tag_flash2"; + for(;;) + { + param_00 waittill("turret_fire"); + wait 0.05; + var_03 = param_00 gettagorigin(var_02); + magicbullet("50cal_turret_technical_lagos",var_03,var_03 + anglestoforward(param_00 gettagangles(var_02)) * 100); + playfx(common_scripts\utility::getfx("technical_muzzle_flash"),var_03,anglestoforward(param_00 gettagangles(var_02))); + } +} + +//Function Number: 75 +enemyturrettargetcar(param_00,param_01) +{ + if(isdefined(self)) + { + self endon("death"); + self waittill("damage"); + wait(randomfloatrange(2,3)); + maps\_hms_utility::printlnscreenandconsole("Force destruction of turret target car"); + maps\_vehicle::vehicle_set_health(1); + wait(0.05); + soundscripts\_snd::snd_message("mhunt_cc_parked_car_expl"); + radiusdamage(param_01.origin,100,10,1); + physicsexplosionsphere(param_01.origin,100,80,1); + } +} + +//Function Number: 76 +enemyambushvehiclebadplace() +{ + var_00 = getent("AmbushVehicleBadPlaceVol","targetname"); + badplace_brush("AmbushVehicleBadPlaceVol",-1,var_00,"axis"); + common_scripts\utility::flag_wait("FlagEnemyVehiclePathEnd"); + badplace_delete("AmbushVehicleBadPlaceVol"); +} + +//Function Number: 77 +hadesvehiclebadplace() +{ + var_00 = getent("HadesVehicleBadPlaceVol","targetname"); + badplace_brush("HadesVehicleBadPlaceVol",-1,var_00,"axis"); + common_scripts\utility::flag_wait("FlagPlayerEndDroneStatic"); + badplace_delete("HadesVehicleBadPlaceVol"); +} + +//Function Number: 78 +spawnenemyreinforcementsvehicles() +{ + var_00 = "EnemyReinforcements1VehicleOperators"; + maps\_utility::array_spawn_function_noteworthy(var_00,::thinkambushenemy); + var_01 = "EnemyReinforcements2VehicleOperators"; + maps\_utility::array_spawn_function_noteworthy(var_01,::thinkambushenemy); + common_scripts\utility::flag_wait_either("FlagSpawnEnemyReinforcements","FlagBeginConfCenterOutro"); + wait(1); + var_02 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("EnemyReinforcements1Vehicle"); + var_02 soundscripts\_snd::snd_message("mhunt_cc_assault_veh_02_approach"); + var_02.veh_pathtype = "constrained"; + level.allenemyvehicles = common_scripts\utility::add_to_array(level.allenemyvehicles,var_02); + var_02 thread enemyreinforcementsvehicleturretthread(); + var_02 markdronetargetvehicle(); + var_03 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("EnemyReinforcements2Vehicle"); + var_02 soundscripts\_snd::snd_message("mhunt_cc_assault_veh_03_approach"); + var_03.veh_pathtype = "constrained"; + level.allenemyvehicles = common_scripts\utility::add_to_array(level.allenemyvehicles,var_03); + var_03 thread enemyreinforcementsvehicleturretthread(); + var_03 markdronetargetvehicle(); + if(level.currentgen) + { + var_02 thread maps\greece_code::tff_cleanup_vehicle("confcenter"); + var_03 thread maps\greece_code::tff_cleanup_vehicle("confcenter"); + } +} + +//Function Number: 79 +enemyreinforcementsvehicleturretthread() +{ + level endon("end_sniper_drone"); + level endon("StartDroneStatic"); + self endon("death"); + foreach(var_01 in self.riders) + { + level.allenemyambushers = common_scripts\utility::add_to_array(level.allenemyambushers,var_01); + } + + var_03 = self.mgturret[0]; + var_03 setturretteam("axis"); + var_03 turretfiredisable(); + soundscripts\_snd::snd_message("cc_technical_turret_fire",var_03); + var_04 = undefined; + foreach(var_01 in self.riders) + { + if(var_01.vehicle_position == 1) + { + var_04 = var_01; + } + } + + var_04 endon("death"); + var_04.ignoreall = 1; + var_04.battlechatter = 0; + maps\_utility::ent_flag_wait("unloaded"); + var_04.ignoreall = 0; + var_03 turretfireenable(); + var_03 setaispread(10); + var_03 setconvergencetime(2); + thread enemyturretfire(var_03,var_04); + var_07 = []; + var_07 = level.allyinfiltrators; + for(;;) + { + var_08 = common_scripts\utility::array_randomize(var_07); + if(isdefined(var_08[0])) + { + var_04 maps\_utility::set_favoriteenemy(var_08[0]); + var_03 settargetentity(var_08[0]); + } + + wait(randomfloatrange(3,8)); + } +} + +//Function Number: 80 +spawnhadesescapevehicle() +{ + var_00 = maps\_vehicle::spawn_vehicle_from_targetname("HadesEscapeVehicle"); + var_00.escapevehicle = 1; + maps\_hms_utility::printlnscreenandconsole("Spawning Hades escape vehicle"); + if(level.currentgen) + { + var_00 thread maps\greece_code::tff_cleanup_vehicle("confcenter"); + } + + foreach(var_02 in var_00.riders) + { + level.allenemyambushers = common_scripts\utility::add_to_array(level.allenemyambushers,var_02); + } + + level.allenemyvehicles = common_scripts\utility::add_to_array(level.allenemyvehicles,var_00); + thread setupgaragedoor(); + thread spawnenemyreinforcementsvehicles(); + common_scripts\utility::flag_wait("FlagHadesVehicleDriveStart"); + wait(1); + thread hadesvehiclebadplace(); + var_04 = "HadesEscapeVehicleStart"; + var_00 soundscripts\_snd::snd_message("mhunt_cc_hades_veh_escape"); + maps\_hms_utility::printlnscreenandconsole("Hades is escaping!!!"); + var_00 thread objmarkervehicle("FlagSniperDroneHit",1,0); + var_00 markdronetargetvehicle(); + var_05 = getvehiclenode(var_04,"targetname"); + var_00 attachpath(var_05); + var_00 startpath(var_05); + var_00 thread maps\_vehicle::vehicle_paths(var_05); + var_00 vehicle_setspeed(20,10,15); + common_scripts\utility::flag_wait("FlagHadesVehicleDroneLaunch"); + firekamikazedrones(var_00); +} + +//Function Number: 81 +firekamikazedrones(param_00) +{ + var_01 = 7; + var_02 = param_00.origin; + var_03 = 4; + var_04 = length(level.player.origin - param_00.origin); + var_03 = maps\_utility::linear_interpolate(min(max(var_04 - 1500,0) / 2000,1),2.5,4); + var_05 = 0; + for(var_06 = 0;var_06 < var_01;var_06++) + { + var_07 = common_scripts\utility::mod(var_06 * 360 / var_01,360); + var_08 = var_03 - var_05; + var_09 = randomfloatrange(3.6,6); + var_0A = randomfloatrange(50,80); + var_0B = 0; + if(var_06 == 0) + { + var_0B = 1; + } + + var_0C = 0; + if(var_06 == 6) + { + var_0C = 1; + } + + thread mangarocketparentupdate(param_00,var_02,var_0B,var_08,var_07,var_09,var_0A,var_0C); + var_0D = 0.15; + var_05 = var_05 + var_0D + 0.05; + wait(var_0D); + } +} + +//Function Number: 82 +mangarocketparentupdate(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + var_08 = level.player geteye() - param_01; + var_09 = vectornormalize(anglestoforward(level.player getplayerangles())); + var_0A = level.player geteye() - level.player.origin; + var_0A = var_0A / 2; + var_09 = common_scripts\utility::randomvectorincone(var_09,30) * 100; + var_0B = param_00.origin + (16,0,96); + var_0C = level.player geteye() + var_09; + var_0D = (param_01[0],param_01[1],var_0C[2]) + (0,0,100); + var_0E = common_scripts\utility::spawn_tag_origin(); + var_0E.origin = var_0B; + var_0E.parentorigin = var_0B; + var_0E.droneviewmodel = spawn("script_model",var_0B); + var_0E.droneviewmodel setmodel("vehicle_atlas_assault_drone"); + playfx(common_scripts\utility::getfx("kamikaze_drone_launch"),var_0B); + soundscripts\_snd::snd_message("start_kdrone_launch",param_00); + playfxontag(common_scripts\utility::getfx("kamikaze_drone_trail"),var_0E,"tag_origin"); + soundscripts\_snd::snd_message("start_kdrone_loop",var_0E); + thread mangarocketupdate(param_01,level.player,var_0E,param_04,param_05,param_06); + var_0F = 0; + var_10 = 1 / param_03 * 20; + var_11 = 0; + var_12 = 0; + while(var_11 <= 1) + { + wait(0.05); + var_0C = level.player geteye() + var_09; + var_0D = (param_01[0],param_01[1],var_0C[2]) + (0,0,100); + var_13 = squared(1 - var_0F) * var_0B + 2 * var_0F * 1 - var_0F * var_0D + squared(var_0F) * var_0C; + var_0E.parentorigin = var_13; + var_14 = 2 * 1 - var_0F * var_0D - var_0B + 2 * var_0F * var_0C - var_0D; + var_0E.tangent = vectornormalize(var_14); + var_0E.angles = vectortoangles(var_0E.tangent); + var_0E.droneviewmodel.angles = vectortoangles(var_08 * (1,1,0)); + var_11 = var_11 + var_10; + if(param_02) + { + var_0F = pow(var_11,3); + } + else + { + var_0F = squared(var_11); + } + + if(var_12) + { + break; + } + + if(var_11 > 1) + { + var_11 = 1; + var_12 = 1; + } + } + + stopfxontag(common_scripts\utility::getfx("kamikaze_drone_trail"),var_0E,"tag_origin"); + var_15 = anglestoforward(level.player getplayerangles()) * -1; + playfx(common_scripts\utility::getfx("kamikaze_drone_explosion"),var_0E.origin,var_15,(0,0,1)); + soundscripts\_snd::snd_message("kamikaze_drone_explo",var_0E); + soundscripts\_snd::snd_message("start_sniper_drone_death"); + var_16 = randomfloatrange(0.8,1.6); + earthquake(var_16,0.2,var_0E.origin,512); + var_0E notify("MangaRocketUpdate"); + var_0E.droneviewmodel delete(); + var_0E delete(); + if(param_07) + { + wait(0.3); + level.player notify("kamikaze_damaged_lens"); + common_scripts\utility::flag_set("FlagSniperDroneHit"); + } +} + +//Function Number: 83 +mangarocketupdate(param_00,param_01,param_02,param_03,param_04,param_05) +{ + param_02 endon("MangaRocketUpdate"); + var_06 = vectortoangles(param_01.origin - param_00); + var_07 = param_03; + var_08 = (0,0,0); + if(common_scripts\utility::cointoss()) + { + param_04 = param_04 * -1; + } + + var_09 = param_05 / 5; + var_0A = 0; + for(;;) + { + wait(0.05); + var_07 = var_07 + param_04; + var_08 = (1,0,0) * var_0A; + if(isdefined(param_02.tangent)) + { + var_06 = vectortoangles(param_02.tangent); + } + + var_08 = (0,0,1) * var_0A; + var_0B = transformmove(param_02.parentorigin,var_06,(0,0,0),(0,0,var_07),var_08,(0,0,0)); + var_08 = var_0B["origin"]; + param_02.origin = vectorlerp(param_02.origin,var_08,0.5); + param_02.droneviewmodel.origin = param_02.origin; + var_0A = var_0A + var_09; + var_0A = clamp(var_0A,0,param_05); + } +} + +//Function Number: 84 +confroomsetup() +{ + var_00 = common_scripts\utility::getstruct("CC_Breach","targetname"); + var_01 = getent("ConfHades","targetname"); + level.confhades = var_01 maps\_utility::spawn_ai(); + level.confhades.name = "Hades"; + level.confhades.animname = "Hades"; + level.confhades.health = 1; + level.confhades.no_friendly_fire_penalty = 1; + level.confhades.noragdoll = 1; + level.confhades.disablearrivals = 1; + level.confhades.disableexits = 1; + level.confhades.neverenablecqb = 1; + level.confhades.alwaysrunforward = 1; + level.confhades orientmode("face default"); + level.confhades.combatmode = "no_cover"; + level.confhades maps\_utility::gun_remove(); + level.confhades.grenadeammo = 0; + level.confhades maps\_utility::set_run_anim("run_hunched_combat",1); + level.confhades.run_override_weights = level.scr_anim["Hades"]["run_hunched_weights"]; + level.confhades maps\_utility::set_ignoreall(1); + level.confhades.allowdeath = 1; + level.confhades.team = "axis"; + level.allenemypatrollers = common_scripts\utility::array_add(level.allenemypatrollers,level.confhades); + level.confhades thread maps\greece_code::clearalertoutline(); + thread monitorhadesdeath(); + thread monitorhadesalert(); + thread progressionkillhades(); + level.confhades thread maps\greece_code::bloodsprayexitwoundtrace(3000,level.player,"TAG_WEAPON_CHEST",1); + level.confhades thread monitorsniperdronetriplekill(); + var_00 thread maps\_anim::anim_loop_solo(level.confhades,"pacing_idle","stopPacingIdles"); + maps\_utility::array_spawn_function_targetname("EnemyPatrolMeeting",::thinkpatrolenemy,0); + var_02 = maps\_utility::array_spawn_targetname("EnemyPatrolMeeting"); + var_03 = 1; + foreach(var_05 in var_02) + { + var_05.allowdeath = 1; + var_05.animname = "BodyGuard" + var_03; + var_03++; + var_00 thread maps\_anim::anim_loop_solo(var_05,"pacing_idle","stopPacingIdles"); + var_05.idlepoint = var_00; + var_05 thread disablestealthonhadesdeath(); + } + + var_07 = ["kva_civilian_a","kva_civilian_b","kva_civilian_c","kva_civilian_d"]; + var_08 = ["kva_civilian_a_head","kva_civilian_b_head","kva_civilian_c_head"]; + maps\greece_code::aiarrayoverridemodelrandom(var_02,var_07,var_08); + level.breachactors = maps\_utility::array_merge(var_02,level.breachactors); + level.allenemypatrollers = maps\_utility::array_merge(var_02,level.allenemypatrollers); + thread setupmeetingcivilians(); + thread confroomstandingidles(var_00,var_02,level.confhades); + var_09 = getent("conf_room_door","targetname"); + var_09 maps\_utility::assign_animtree("conf_room_door"); + level.breachactors = common_scripts\utility::array_insert(level.breachactors,var_09,0); + soundscripts\_snd::snd_message("start_hades_breach_door",var_09); +} + +//Function Number: 85 +setupmeetingcivilians() +{ + var_00 = common_scripts\utility::getstruct("CC_Breach","targetname"); + var_01 = maps\_utility::array_spawn_targetname("ConfRoomVip",1); + var_02 = "vip_idle"; + var_03 = ["civ_urban_male_body_f","civ_urban_male_body_g","body_civ_sf_male_a"]; + var_04 = ["head_m_act_cau_bedrosian_base","head_m_act_asi_chang_base","head_male_mp_manasi"]; + maps\greece_code::aiarrayoverridemodelrandom(var_01,var_03,var_04); + foreach(var_06 in var_01) + { + var_06.animname = var_06.script_noteworthy; + var_07 = "Breach"; + if(var_06.animname == "Vip3") + { + var_07 = "speech"; + } + + var_00 thread maps\_anim::anim_loop_solo(var_06,var_02,var_07); + var_06.allowdeath = 1; + var_06 thread maps\greece_code::setragdolldeath(); + } + + level.breachactors = maps\_utility::array_merge(level.breachactors,var_01); +} + +//Function Number: 86 +monitorhadesdeath() +{ + level endon("end_sniper_drone"); + level.confhades endon("guy_alerted"); + var_00 = common_scripts\utility::getstruct("CC_Breach","targetname"); + var_01 = "cc_breach"; + level.confhades waittill("damage"); + var_00 notify("stopPacingIdles"); + var_00 notify("speech"); + var_00 notify("Breach"); + level.confhades.ignoreall = 1; + level.confhades maps\_stealth_utility::disable_stealth_for_ai(); + level.confhades disableenemyalert(); + common_scripts\utility::flag_set("FlagConfHadesDead"); + level notify("stop_hades_speech"); + level.confhades notify("removeTargetObj"); + level.confhades notify("stop_talking"); + maps\_utility::radio_dialogue_overlap_stop(); + if(common_scripts\utility::flag("FlagOkayToKillHades")) + { + common_scripts\utility::flag_set("FlagForcePlayerSlowMovement"); + thread hadesscriptedanimdeath(var_00,var_01); + wait(0.5); + thread maps\_controlled_sniperdrone::disabledronefiringafterkill(); + common_scripts\utility::flag_wait("FlagConfRoomExplosion"); + level.confhades thread unmarkandremoveoutline(0.1); + wait(3); + common_scripts\utility::flag_clear("FlagForcePlayerSlowMovement"); + return; + } + + thread failkillhadessoon(); +} + +//Function Number: 87 +failkillhadessoon() +{ + common_scripts\utility::flag_set("disable_autosaves"); + common_scripts\utility::flag_set("FlagDisableAutosave"); + level notify("alarm_mission_end"); + wait(0.05); + maps\_hms_utility::printlnscreenandconsole("MISSION FAIL - PLAYER KILLED HADES TOO SOON!!!"); + confcentertotalcombat(1); + maps\greece_conf_center_vo::confcenterfailhadeskilledearlydialogue(); + wait(1); + setdvar("ui_deadquote",&"GREECE_DRONE_KILLHADES_FAIL"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 88 +failkillhadeslate() +{ + common_scripts\utility::flag_set("disable_autosaves"); + common_scripts\utility::flag_set("FlagDisableAutosave"); + level notify("alarm_mission_end"); + wait(0.05); + maps\_hms_utility::printlnscreenandconsole("MISSION FAIL - PLAYER TOOK TOO LONG TO KILL HADES!!!"); + maps\greece_conf_center_vo::confcenterfailtimeoutdialogue(); + wait(1); + setdvar("ui_deadquote",&"GREECE_DRONE_NOKILLHADES_FAIL"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 89 +hadesscriptedanimdeath(param_00,param_01) +{ + level.confhades maps\greece_code::giveplayerchallengekillpoint(); + level.confhades notify("scripted_death"); + level.confhades.bscripteddeath = 1; + level.confhades maps\_utility::anim_stopanimscripted(); + wait(0.05); + param_00 maps\_anim::anim_single_solo(level.confhades,param_01); + level.confhades maps\greece_code::kill_no_react(0); +} + +//Function Number: 90 +monitorhadesalert(param_00) +{ + level.confhades endon("death"); + level.confhades endon("damage"); + level.confhades waittill("guy_alerted"); + var_01 = common_scripts\utility::getstruct("CC_Breach","targetname"); + var_02 = "cc_breach"; + var_01 notify("stopPacingIdles"); + var_01 notify("speech"); + var_01 notify("Breach"); + if(isdefined(level.confhades)) + { + level.confhades maps\_utility::anim_stopanimscripted(); + level.confhades maps\_utility::gun_remove(); + level.confhades.sidearm = "none"; + level.confhades maps\_utility::forceuseweapon("iw5_sn6_sp","primary"); + var_03 = getnodearray("ConfRoomHadesCover","targetname"); + var_04 = common_scripts\utility::random(var_03); + if(isdefined(var_04)) + { + level.confhades maps\_utility::set_goal_node(var_04); + } + } +} + +//Function Number: 91 +disablestealthonhadesdeath() +{ + self endon("death"); + common_scripts\utility::flag_wait("FlagConfHadesDead"); + if(common_scripts\utility::flag("FlagOkayToKillHades")) + { + maps\_stealth_utility::disable_stealth_for_ai(); + self.disablebulletwhizbyreaction = 1; + maps\_utility::disable_danger_react(); + self.ignoreall = 1; + self.ignoreme = 1; + } +} + +//Function Number: 92 +alliesbreachconfroom() +{ + level endon("alarm_mission_end"); + level notify("ConfRoomSetupBreach"); + var_00 = common_scripts\utility::getstruct("CC_Breach","targetname"); + foreach(var_02 in level.allyinfiltrators) + { + var_02 maps\_stealth_utility::disable_stealth_for_ai(); + var_02 thread allysetupconfroom(var_00); + } + + maps\_hms_utility::printlnscreenandconsole("Allies at ConfRoomBreach!"); + common_scripts\utility::flag_wait("FlagHadesSpeechStarted"); + var_04 = maps\_utility::get_living_ai_array("EnemyPatrolMeeting_AI","targetname"); + if(isdefined(level.confhades)) + { + level.confhades thread confroombreachhadesspeech(var_00); + } + + var_05 = maps\_utility::get_living_ai("Vip3","script_noteworthy"); + if(isdefined(var_05)) + { + var_05 thread confroombreachhadesspeech(var_00); + } + + common_scripts\utility::flag_wait("FlagOkayToKillHades"); + thread setupplayertargets("ConfRoomPlayerTarget",1,1); + thread monitorconfroomenemies(); + common_scripts\utility::flag_wait("FlagConfHadesDead"); + soundscripts\_snd::snd_message("hades_is_dead"); + var_06 = level.breachactors[0]; + level.breachactors = common_scripts\utility::array_remove(level.breachactors,level.breachactors[0]); + var_00 notify("Breach"); + soundscripts\_snd::snd_message("start_hades_breach"); + thread alliesexitconfroom(); + var_07 = getent("conf_room_door_clip","targetname"); + var_07 delete(); + var_00 thread maps\_anim::anim_single_solo(var_06,"cc_breach"); + thread allybreachconfroomanddie(var_00); + level.breachactors = maps\_utility::array_removedead_or_dying(level.breachactors); + foreach(var_09 in level.breachactors) + { + var_09 maps\_utility::anim_stopanimscripted(); + } + + var_00 thread maps\_anim::anim_single(level.breachactors,"cc_breach"); + var_00 maps\_anim::anim_single_run(level.allyinfiltrators,"cc_breach"); +} + +//Function Number: 93 +monitorconfroomenemies() +{ + level endon("alarm_mission_end"); + setupvalidtargetsbyname("EnemyPatrolMeeting"); + var_00 = maps\_utility::get_living_ai_array("EnemyPatrolMeeting_AI","targetname"); + maps\_utility::waittill_dead_or_dying(var_00,1); + wait(0.05); + if(!common_scripts\utility::flag("FlagConfHadesDead")) + { + level.confhades notify("stop_talking"); + common_scripts\utility::flag_set("FlagAlarmMissionEnd"); + destroyatriumfighttimer(); + level notify("alarm_mission_end"); + } +} + +//Function Number: 94 +allybreachconfroomanddie(param_00) +{ + var_01 = maps\_utility::get_living_ai("Infiltrator1","script_noteworthy"); + level.allyinfiltrators = common_scripts\utility::array_remove(level.allyinfiltrators,var_01); + param_00 maps\_anim::anim_single_solo(var_01,"cc_breach"); + allyconfroomdeath(0); +} + +//Function Number: 95 +allyconfroomdeath(param_00) +{ + var_01 = maps\_utility::get_living_ai("Infiltrator1","script_noteworthy"); + if(isdefined(var_01)) + { + if(maps\_utility::is_in_array(level.allyinfiltrators,var_01)) + { + level.allyinfiltrators = common_scripts\utility::array_remove(level.allyinfiltrators,var_01); + } + + var_01 unmarkandremoveoutline(); + var_01 maps\_utility::stop_magic_bullet_shield(); + if(param_00) + { + var_01 delete(); + return; + } + + var_01 maps\greece_code::kill_no_react(); + } +} + +//Function Number: 96 +allysetupconfroom(param_00) +{ + if(self.animname == "infiltratorburke") + { + common_scripts\utility::flag_wait_either("FlagParkingAlliesOnStairs","FlagBeginConfCenterKill"); + var_01 = getent("StairwayTakedownOrg","targetname"); + var_01 notify("stop_stairway_idle"); + wait(0.05); + } + + maps\greece_code::clear_set_goal(); + wait 0.05; + param_00 maps\_anim::anim_reach_solo(self,"breach_stairs"); + param_00 maps\_anim::anim_single_solo_run(self,"breach_stairs"); + param_00 maps\_anim::anim_reach_solo(self,"squad_setup_in"); + param_00 maps\_anim::anim_single_solo(self,"squad_setup_in"); + param_00 thread maps\_anim::anim_loop_solo(self,"squad_setup","Breach"); +} + +//Function Number: 97 +confroombreachbodyguarddeath(param_00) +{ + playfxontag(common_scripts\utility::getfx("blood_impact_splat"),param_00,"TAG_EYE"); + param_00 maps\greece_code::kill_no_react(); +} + +//Function Number: 98 +confroomstandingidles(param_00,param_01,param_02) +{ + var_03 = "standing_idle"; + common_scripts\utility::flag_wait_any("FlagParkingCarAlarmActivated","FlagBeginConfCenterKill"); + param_00 notify("stopPacingIdles"); + param_00 thread maps\_anim::anim_loop_solo(param_02,var_03,"speech"); + foreach(var_05 in param_01) + { + param_00 thread maps\_anim::anim_loop_solo(var_05,var_03,"Breach"); + } +} + +//Function Number: 99 +confroombreachhadesspeech(param_00) +{ + self endon("death"); + level endon("alarm_mission_end"); + level endon("stop_hades_speech"); + param_00 notify("speech"); + param_00 maps\_anim::anim_single_solo(self,"speech"); + var_01 = "vip_idle"; + if(self == level.confhades) + { + var_01 = "post_speech_idle"; + } + + if(!common_scripts\utility::flag("FlagConfHadesDead")) + { + param_00 thread maps\_anim::anim_loop_solo(self,var_01,"Breach"); + } +} + +//Function Number: 100 +confroomragdoll(param_00) +{ + if(isalive(param_00)) + { + param_00 maps\greece_code::kill_no_react(); + } + + param_00 startragdoll(); +} + +//Function Number: 101 +confroomexplosiondronereaction() +{ + var_00 = level.player.sniperdronelink; + var_00.animname = "sniper_drone_flight"; + var_00 maps\_utility::assign_animtree("sniper_drone_flight"); + var_01 = "explosion_reaction"; + var_02 = [var_00]; + var_00.frameviewmodel.animname = "sniperdrone_outerparts"; + var_00.frameviewmodel maps\_utility::assign_animtree("sniperdrone_outerparts"); + var_00.barrelviewmodel.animname = "sniperdrone_barrel"; + var_00.barrelviewmodel maps\_utility::assign_animtree("sniperdrone_barrel"); + var_00.frameviewmodel setanim(var_00.frameviewmodel maps\_utility::getanim(var_01)); + var_00.barrelviewmodel setanim(var_00.barrelviewmodel maps\_utility::getanim(var_01)); + common_scripts\utility::flag_set("FlagSniperDroneAnimating"); + common_scripts\utility::flag_set("FlagSniperDroneCloakOff"); + soundscripts\_snd::snd_message("wasp_cloak_off"); + var_00 maps\_anim::anim_single(var_02,var_01); + common_scripts\utility::flag_clear("FlagSniperDroneAnimating"); +} + +//Function Number: 102 +alliesexitconfroom() +{ + level waittill("ConfRoomExplosion"); + var_00 = maps\_utility::get_living_ai("Infiltrator1","script_noteworthy"); + if(isdefined(var_00) && maps\_utility::is_in_array(level.allyinfiltrators,var_00)) + { + level.allyinfiltrators = common_scripts\utility::array_remove(level.allyinfiltrators,var_00); + } + + thread alliesredirect("ConfRoomExit"); +} + +//Function Number: 103 +thinkallyinfiltrator() +{ + self endon("death"); + maps\_utility::forceuseweapon("iw5_bal27_sp_silencer01_variablereddot","primary"); + thread maps\_utility::magic_bullet_shield(1); + thread maps\_utility::set_battlechatter(0); + self.dontmelee = 1; + self.meleealwayswin = 1; + maps\_utility::enable_cqbwalk(); + maps\_utility::set_goal_radius(64); + maps\_utility::disable_surprise(); + maps\_utility::disable_danger_react(); + maps\_utility::enable_dontevershoot(); + self.grenadeammo = 0; + maps\_stealth_accuracy_friendly::friendly_acc_hidden(); + self.canjumppath = 1; + if(self.script_noteworthy == "InfiltratorBurke") + { + maps\_utility::set_force_color("p"); + return; + } + + maps\_utility::set_force_color("c"); +} + +//Function Number: 104 +initthinkpatrolenemy(param_00) +{ + self endon("death"); + if(!isdefined(param_00)) + { + param_00 = 1; + } + + if(param_00 == 1) + { + self.animname = "generic"; + } + + self.grenadeammo = 0; + self.fovcosine = cos(45); + maps\_utility::set_goal_radius(64); + self.diequietly = 1; + self clearenemy(); + thread maps\_utility::set_battlechatter(0); + thread maps\greece_code::clearalertoutline(); + thread maps\_sniper_setup_ai::waitforplayerbulletwhizby(); + thread monitorisenemyvalidtarget(); + thread maps\greece_code::bloodsprayexitwoundtrace(1500,level.player); + thread monitorsniperdronetriplekill(); +} + +//Function Number: 105 +thinkpatrolenemy(param_00) +{ + self endon("death"); + initthinkpatrolenemy(param_00); + if(!isdefined(self._stealth)) + { + maps\_stealth_utility::stealth_default(); + } + + maps\_stealth_utility::stealth_disable_seek_player_on_spotted(); + var_01 = []; + var_01["saw"] = ::maps\_sniper_setup_ai::sawcorpse; + maps\_stealth_utility::stealth_corpse_behavior_custom(var_01); +} + +//Function Number: 106 +thinkmeetingcivilian() +{ + self endon("death"); + maps\_utility::set_ignoreall(1); + maps\_utility::set_ignoreme(1); + var_00 = common_scripts\utility::getstruct(self.target,"targetname"); + self forceteleport(var_00.origin,var_00.angles); + self.animname = "generic"; + var_01 = var_00.animation; + var_00 thread maps\_anim::anim_generic_loop(self,var_01); + self.allowdeath = 1; +} + +//Function Number: 107 +thinkambushenemy() +{ + self endon("death"); + maps\_utility::disable_long_death(); + maps\_utility::disable_bulletwhizbyreaction(); + self.grenadeammo = 0; + thread maps\greece_code::bloodsprayexitwoundtrace(1500,level.player); + thread monitorsniperdronetriplekill(); + common_scripts\utility::flag_wait_either("FlagBeginConfCenterCombat","FlagConfRoomAlliesRecover"); + maps\greece_code::setalertoutline(1); + markdronetargetenemy(); + thread maps\greece_code::clearalertoutline(); + thread notifyonplayerkill(); + var_00 = level.player maps\_utility::get_player_gameskill(); + if(var_00 <= 2) + { + if(self.classname == "actor_enemy_kva_civ_lmg" || self.classname == "actor_enemy_kva_civ_rpg") + { + maps\_utility::disable_surprise(); + self.disablebulletwhizbyreaction = 1; + self.grenadeammo = 0; + self.health = 500; + self.minpaindamage = 75; + self.a.disablelongdeath = 1; + self.a.disablelongpain = 1; + self.ignoresuppression = 1; + self.disablereactionanims = 1; + self.no_pistol_switch = 1; + self.dontmelee = 1; + self setmodel("kva_heavy_body"); + thread codescripts\character::setheadmodel("kva_heavy_head"); + } + } +} + +//Function Number: 108 +enemypatrolgatethread(param_00) +{ + level endon("alarm_mission_end"); + var_01 = getent("BodyStashOrg","targetname"); + var_02 = "bodystash_in"; + var_03 = "bodystash_idle"; + var_04 = "bodystash_start_idle"; + var_05 = maps\_utility::get_living_ai("GatePlayerTarget1","script_noteworthy"); + var_05.animname = "guard1"; + var_05.health = 999999; + var_05 maps\_utility::set_run_anim("active_patrolwalk_gundown"); + var_05 maps\_utility::forceuseweapon("iw5_bal27_sp","primary"); + var_06 = maps\_utility::get_living_ai("GatePlayerTarget2","script_noteworthy"); + var_06.animname = "guard2"; + var_06.health = 999999; + var_06 maps\_utility::set_run_anim("casual_killer_walk_F"); + var_06 maps\_utility::forceuseweapon("iw5_bal27_sp","primary"); + var_01 thread maps\_anim::anim_loop_solo(var_05,var_04,"stopIdleLoop"); + var_01 thread maps\_anim::anim_loop_solo(var_06,var_04,"stopIdleLoop"); + common_scripts\utility::flag_wait("FlagAllyVehicleDriveBy"); + var_07 = getent("delivery_truck","targetname"); + var_08 = level.infiltratorburke; + var_08.ignoreall = 1; + var_09 = maps\_utility::get_living_ai("Infiltrator1","script_noteworthy"); + var_09.ignoreall = 1; + var_0A = maps\_utility::get_living_ai("Infiltrator2","script_noteworthy"); + var_0A.ignoreall = 1; + common_scripts\utility::flag_set("FlagGateGuardsApproachingAllyVehicle"); + thread monitorplayerlookatgateguards(); + var_06 thread bodystashguardapproach(var_01,1,"casual_killer_walk_start",0); + var_05 bodystashguardapproach(var_01,1,"active_patrolwalk_gundown_point_r",1); + common_scripts\utility::flag_set("FlagGateGuardsAtAllyVehicle"); + thread setupplayertargets("GatePlayerTarget"); + var_05 maps\_stealth_utility::disable_stealth_for_ai(); + var_05.ignoreall = 1; + var_05.dropweapon = 0; + var_06 maps\_stealth_utility::disable_stealth_for_ai(); + var_06.ignoreall = 1; + var_06.dropweapon = 0; + var_05 thread bodystashguardalertwatch(); + var_06 thread bodystashguardalertwatch(); + var_05 thread bodystashguardkillwatch(); + var_06 thread bodystashguardkillwatch(); + var_0B = common_scripts\utility::flag_wait_any_return("FlagBodyStashGuard1Killed","FlagBodyStashGuard2Killed","FlagBodyStashGuardsAlerted"); + soundscripts\_snd::snd_message("start_tower_bells"); + level notify("GateGuardsDead"); + if(var_0B == "FlagBodyStashGuard2Killed") + { + thread markallies(1); + } + else + { + thread markallies(0); + } + + var_01 notify("endBodystashIdle"); + if(common_scripts\utility::flag("FlagBodyStashGuard1Killed")) + { + var_05 thread bodystashguarddeath(var_01,"bodystash_alt"); + } + else + { + var_05 thread bodystashguarddeath(var_01,"bodystash"); + } + + if(common_scripts\utility::flag("FlagBodyStashGuard2Killed")) + { + var_06 thread bodystashguarddeath(var_01,"bodystash"); + } + else + { + var_06 thread bodystashguarddeath(var_01,"bodystash_alt"); + } + + thread alliesexittruck(var_01,var_07,var_09,var_0A,var_08); +} + +//Function Number: 109 +bodystashguarddeath(param_00,param_01) +{ + if(isdefined(self)) + { + self endon("death"); + disableenemyalert(); + self notify("removeTargetObj"); + self notify("bloodless"); + if(self.script_noteworthy == "GatePlayerTarget1") + { + animscripts\shared::dropallaiweapons(); + self notify("stop_talking"); + maps\_utility::radio_dialogue_stop(); + if(param_01 == "bodystash_alt") + { + self hudoutlinedisable(); + if(target_istarget(self)) + { + target_remove(self); + } + } + } + else + { + self hudoutlinedisable(); + if(target_istarget(self)) + { + target_remove(self); + } + } + + maps\_utility::set_ignoreme(1); + var_02 = maps\_utility::getanim(param_01); + maps\_hms_utility::printlnscreenandconsole(self.script_noteworthy + " is playing anime " + param_01 + " with animname " + self.animname); + thread bodystashguardnofeedback(); + if(self.script_noteworthy == "GatePlayerTarget1") + { + if(param_01 == "bodystash_alt") + { + maps\greece_code::giveplayerchallengekillpoint(); + self notify("scripted_death"); + } + + self.bscripteddeath = 1; + param_00 maps\_anim::anim_single_solo(self,param_01); + self.allowdeath = 1; + self.a.nodeath = 1; + animscripts\notetracks::notetrackstartragdoll("ragdoll"); + self stopanimscripted(); + self kill(); + return; + } + + if(self.script_noteworthy == "GatePlayerTarget2") + { + if(param_01 == "bodystash") + { + maps\greece_code::giveplayerchallengekillpoint(); + self notify("scripted_death"); + } + + self.bscripteddeath = 1; + param_00 maps\_anim::anim_single_solo(self,param_01); + self hide(); + self.a.nodeath = 1; + animscripts\notetracks::notetrackstartragdoll("ragdoll"); + self kill(); + return; + } + } +} + +//Function Number: 110 +bodystashguardnofeedback() +{ + self endon("death"); + wait(0.1); + maps\_utility::remove_damagefeedback(); +} + +//Function Number: 111 +alliesexittruck(param_00,param_01,param_02,param_03,param_04) +{ + thread gatebreach(); + if(common_scripts\utility::flag("FlagBodyStashGuard2Killed")) + { + param_00 thread maps\_anim::anim_single_solo(param_01,"bodystash"); + param_02 thread allyexittruck(param_00,"bodystash"); + param_03 thread allyexittruck(param_00,"bodystash"); + } + else + { + param_00 thread maps\_anim::anim_single_solo(param_01,"bodystash_alt"); + param_02 thread allyexittruck(param_00,"bodystash_alt"); + param_03 thread allyexittruck(param_00,"bodystash_alt"); + } + + if(common_scripts\utility::flag("FlagBodyStashGuard1Killed")) + { + param_04 allyexittruck(param_00,"bodystash_alt"); + return; + } + + param_04 allyexittruck(param_00,"bodystash"); +} + +//Function Number: 112 +allyexittruck(param_00,param_01) +{ + param_00 maps\_anim::anim_single_solo_run(self,param_01); + self.ignoreall = 0; + if(self.script_noteworthy == "InfiltratorBurke") + { + level notify("AlliesExitTruck"); + level.balliesintruck = 0; + } + + common_scripts\utility::flag_set("FlagAllGateGuardsDead"); + gatebreachallyreachandidle(); +} + +//Function Number: 113 +deliverytrucksetup() +{ + var_00 = getent("delivery_truck","targetname"); + var_00.animname = "truck"; + var_00 maps\_utility::assign_animtree("truck"); + var_01 = getent("delivery_truck_collision","targetname"); + var_01 linkto(var_00,"tag_origin"); + soundscripts\_snd::snd_message("veh_moving_truck_chkpt",var_00); +} + +//Function Number: 114 +guyragdollnotetrack(param_00) +{ + param_00 animscripts\shared::dropallaiweapons(); + param_00 maps\greece_code::kill_no_react(); + var_01 = (0.5,0.5,1); + var_02 = 100000; + param_00 startragdollfromimpact(param_00.origin,var_01 * var_02); + param_00 startragdoll(); +} + +//Function Number: 115 +guyextrabloodnotetrack(param_00) +{ + if(param_00.script_noteworthy == "InfiltratorBurke") + { + var_01 = maps\_utility::get_living_ai("GatePlayerTarget1","script_noteworthy"); + } + else + { + var_01 = maps\_utility::get_living_ai("GatePlayerTarget2","script_noteworthy"); + } + + if(isdefined(var_01)) + { + playfxontag(common_scripts\utility::getfx("blood_impact_splat"),var_01,"TAG_EYE"); + var_01 notify("bloodless"); + } + + common_scripts\utility::flag_set("FlagAllyShootGateGuard"); +} + +//Function Number: 116 +bodystashguardalertwatch() +{ + level endon("alarm_mission_end"); + self endon("death"); + self endon("damage"); + self waittill("guy_alerted"); + if(self.script_noteworthy == "GatePlayerTarget1") + { + var_00 = maps\_utility::get_living_ai("GatePlayerTarget2","script_noteworthy"); + } + else + { + var_00 = maps\_utility::get_living_ai("GatePlayerTarget1","script_noteworthy"); + } + + if(isdefined(var_00)) + { + var_00 disableenemyalert(); + } + + wait(0.1); + common_scripts\utility::flag_set("FlagBodyStashGuardsAlerted"); + var_01 = getent("delivery_truck","targetname"); + self setentitytarget(var_01); +} + +//Function Number: 117 +bodystashguardkillwatch() +{ + level endon("alarm_mission_end"); + self endon("death"); + self endon("disableAlert"); + thread maps\greece_code::bloodsprayexitwoundtrace(1000,level.player,"TAG_WEAPON_CHEST",1); + self waittill("damage"); + if(self.script_noteworthy == "GatePlayerTarget1") + { + common_scripts\utility::flag_set("FlagBodyStashGuard1Killed"); + return; + } + + common_scripts\utility::flag_set("FlagBodyStashGuard2Killed"); +} + +//Function Number: 118 +bodystashguardapproach(param_00,param_01,param_02,param_03) +{ + self endon("death"); + self endon("damage"); + wait(param_03); + var_04 = "bodystash_in"; + var_05 = "bodystash_idle"; + param_00 notify("stopIdleLoop"); + if(param_01) + { + param_00 maps\_anim::anim_single_solo(self,var_04); + } + else + { + param_00 maps\_anim::anim_reach_solo(self,var_05); + } + + param_00 thread maps\_anim::anim_loop_solo(self,var_05,"endBodystashIdle"); +} + +//Function Number: 119 +monitorplayerlookatgateguards() +{ + common_scripts\utility::flag_wait("FlagGateGuardsAtAllyVehicle"); + var_00 = getent("delivery_truck","targetname"); + waittillplayerlookattarget(var_00,15,0); + common_scripts\utility::flag_set("FlagOkayToShootDrone"); +} + +//Function Number: 120 +gatebreachallyreachandidle() +{ + self endon("death"); + var_00 = common_scripts\utility::getstruct("conf_center_org","targetname"); + var_01 = "gate_breach_in"; + var_02 = "gate_breach_idle"; + var_00 maps\_anim::anim_reach_solo(self,var_01); + var_00 maps\_anim::anim_single_solo(self,var_01); + maps\_utility::set_goal_pos(self.origin); + level.ialliesatgate++; + if(!common_scripts\utility::flag("FlagAllCourtyardGuardsDead")) + { + var_00 thread maps\_anim::anim_loop_solo(self,var_02,"stop_loop"); + } +} + +//Function Number: 121 +gatebreach() +{ + for(;;) + { + if(level.ialliesatgate == 3) + { + break; + } + + wait 0.05; + } + + var_00 = common_scripts\utility::flag_wait_any_return("FlagCourtyardAlliesBreachGate","FlagCourtyardAlliesBreachGateAlt"); + var_01 = common_scripts\utility::getstruct("conf_center_org","targetname"); + var_02 = "gate_breach"; + if(var_00 == "FlagCourtyardAlliesBreachGateAlt") + { + var_02 = "gate_breach_alt"; + } + + var_03 = getent("conf_center_gate","targetname"); + var_03.animname = "gate"; + var_03 maps\_utility::assign_animtree("gate"); + var_04 = level.infiltratorburke; + var_05 = maps\_utility::get_living_ai("Infiltrator1","script_noteworthy"); + var_06 = maps\_utility::get_living_ai("Infiltrator2","script_noteworthy"); + var_07 = maps\_utility::get_living_ai("CourtyardAllyTarget1","script_noteworthy"); + var_08 = maps\_utility::get_living_ai("CourtyardAllyTarget2","script_noteworthy"); + var_09 = maps\_utility::get_living_ai("CourtyardAllyTarget3","script_noteworthy"); + var_01 notify("stop_loop"); + thread gatebreachandclear(var_01,var_04,var_02,var_00); + thread gatebreachandclear(var_01,var_05,var_02,var_00); + thread gatebreachandclear(var_01,var_06,var_02,var_00); + if(isdefined(var_07)) + { + thread gatebreachvictimdie(var_01,var_07,var_02,0,var_00); + } + + if(isdefined(var_08)) + { + thread gatebreachotherguysdie(var_08.idlepoint,var_08,"so_hijack_search_gear_check_reaction",0,var_00); + } + + if(isdefined(var_09)) + { + thread gatebreachotherguysdie(var_09.idlepoint,var_09,"patrol_bored_duckandrun_b",1,var_00); + } + + var_01 maps\_anim::anim_single_solo(var_03,"gate_breach"); + common_scripts\utility::flag_set("FlagGateBreachComplete"); +} + +//Function Number: 122 +gatebreachandclear(param_00,param_01,param_02,param_03) +{ + param_01.no_stopanimscripted = 1; + param_00 maps\_anim::anim_single_solo_run(param_01,param_02); + param_01.no_stopanimscripted = undefined; + if(param_03 == "FlagCourtyardAlliesBreachGate") + { + allyredirectnoteworthy(param_01.script_noteworthy,"GateInt"); + } +} + +//Function Number: 123 +gatebreachvictimdie(param_00,param_01,param_02,param_03,param_04) +{ + param_01 endon("death"); + param_01 maps\_utility::set_ignoreme(1); + if(param_04 == "FlagCourtyardAlliesBreachGate") + { + param_01.animname = "victim"; + param_01.health = 999999; + param_01.no_stopanimscripted = 1; + param_01 thread gatebreachoutlineguard(); + param_01 disableenemyalert(); + param_01.bscripteddeath = 1; + param_00 maps\_anim::anim_single_solo(param_01,param_02); + param_01 maps\greece_code::kill_no_react(0); + param_01 animscripts\notetracks::notetrackstartragdoll("ragdoll"); + return; + } + + param_01 maps\_utility::anim_stopanimscripted(); + param_01 thread maps\_sniper_setup_ai::alertai(); + param_01 maps\_utility::clear_generic_idle_anim(); + param_01 maps\_utility::clear_generic_run_anim(); + if(common_scripts\utility::flag("FlagCourtyardGuardNearGate")) + { + wait 0.05; + param_01 maps\_anim::anim_single_solo(param_01,"breach_react_blowback_v2"); + } + + param_01.favoriteenemy = level.infiltratorburke; + param_01 maps\_utility::set_ignoreme(0); + param_01 findnearbycovernode(512); + param_01.combatmode = "cover"; +} + +//Function Number: 124 +gatebreachotherguysdie(param_00,param_01,param_02,param_03,param_04) +{ + param_01 endon("death"); + if(param_03 == 1) + { + param_01 thread maps\greece_code::setragdolldeath(); + } + + if(param_04 == "FlagCourtyardAlliesBreachGate") + { + level waittill("ConfCenterGateBreach"); + wait(0.1); + } + + param_01 maps\greece_code::setalertoutline(); + param_01 maps\_utility::set_ignoreme(0); + if(isdefined(param_00)) + { + param_00 maps\_anim::anim_single_solo(param_01,param_02); + } +} + +//Function Number: 125 +gatebreachoutlineguard() +{ + self endon("death"); + level waittill("ConfCenterGateBreach"); + wait(0.1); + maps\greece_code::setalertoutline(); +} + +//Function Number: 126 +gatebreachvictimapproach() +{ + level endon("alarm_mission_end"); + self endon("damage"); + self endon("death"); + self endon("corpse"); + self endon("bulletwhizby"); + self endon("guy_alerted"); + common_scripts\utility::flag_wait("FlagAllyShootGateGuard"); + wait(3); + self.script_animation = "gundown"; + maps\_patrol::set_patrol_run_anim_array(); + aiidleloopdisable(0); + var_00 = common_scripts\utility::getstruct("Goal1CourtyardAllyTarget1","script_noteworthy"); + var_01 = var_00.animation; + var_00 maps\_anim::anim_reach_solo(self,var_01); + common_scripts\utility::flag_set("FlagCourtyardGuardNearGate"); + thread markallytargets("Courtyard"); + var_00 maps\_anim::anim_single_solo(self,var_01); + level notify("CourtyardGuardAtGate"); + common_scripts\utility::flag_set("FlagCourtyardAlliesBreachGate"); +} + +//Function Number: 127 +monitorcourtyardplayertargets() +{ + level endon("alarm_mission_end"); + var_00 = []; + var_01 = maps\_utility::get_living_ai_array("EnemyPatrolCourtyard_AI","targetname"); + foreach(var_03 in var_01) + { + if(var_03.script_noteworthy == "CourtyardPlayerTarget1" || var_03.script_noteworthy == "CourtyardPlayerTarget2") + { + var_00 = common_scripts\utility::array_add(var_00,var_03); + } + } + + maps\_utility::waittill_dead_or_dying(var_01,1); + common_scripts\utility::flag_set("FlagCourtyardAnyOverwatchDead"); + var_05 = []; + var_05["sight_dist"] = 400; + var_05["detect_dist"] = 100; + maps\_stealth_utility::stealth_corpse_ranges_custom(var_05); + maps\_utility::waittill_dead_or_dying(var_01); + common_scripts\utility::flag_set("FlagCourtyardAllOverwatchDead"); + common_scripts\utility::flag_wait("FlagAllCourtyardGuardsDead"); + var_05["sight_dist"] = 800; + var_05["detect_dist"] = 200; + maps\_stealth_utility::stealth_corpse_ranges_custom(var_05); +} + +//Function Number: 128 +monitorcourtyardallytargets() +{ + var_00 = []; + common_scripts\utility::flag_wait("FlagBeginCourtyardSetup"); + var_01 = maps\_utility::get_living_ai("CourtyardAllyTarget1","script_noteworthy"); + if(isdefined(var_01)) + { + var_00 = common_scripts\utility::add_to_array(var_00,var_01); + } + + var_02 = maps\_utility::get_living_ai("CourtyardAllyTarget2","script_noteworthy"); + if(isdefined(var_02)) + { + var_00 = common_scripts\utility::add_to_array(var_00,var_02); + } + + var_03 = maps\_utility::get_living_ai("CourtyardAllyTarget3","script_noteworthy"); + if(isdefined(var_03)) + { + var_00 = common_scripts\utility::add_to_array(var_00,var_03); + } + + if(var_00.size > 0) + { + foreach(var_05 in var_00) + { + var_05 maps\greece_code::settargetoutline(); + var_05 thread monitorcourtyardallytargetdeath(); + } + + return; + } + + common_scripts\utility::flag_set("FlagCourtyardAlliesBreachGateAlt"); +} + +//Function Number: 129 +monitorcourtyardallytargetdeath() +{ + level endon("CourtyardGuardAtGate"); + common_scripts\utility::waittill_any("death","corpse","bulletwhizby"); + common_scripts\utility::flag_set("FlagCourtyardAlliesBreachGateAlt"); +} + +//Function Number: 130 +gatebreachdoorsexplode(param_00) +{ + thread maps\greece_conf_center_fx::confcentergatecharge(); + level notify("ConfCenterGateBreach"); + maps\_utility::radio_dialogue_stop(); + soundscripts\_snd::snd_message("start_gate_breach_music"); + wait(0.5); +} + +//Function Number: 131 +enemypatrolcourtyardthread(param_00) +{ + level endon("alarm_mission_end"); + thread maps\greece_code::aiarrayidleloop(param_00); + thread enemygroupcorpsedetection(param_00,"disableCourtyardCorpseDetection"); + thread monitorcourtyardplayertargets(); + thread monitorcourtyardallytargets(); + foreach(var_02 in param_00) + { + if(var_02.script_noteworthy == "CourtyardPlayerTarget1" || var_02.script_noteworthy != "CourtyardPlayerTarget2") + { + var_02.dropweapon = 0; + } + } + + var_02 = maps\_utility::get_living_ai("CourtyardAllyTarget1","script_noteworthy"); + var_02 thread gatebreachvictimapproach(); + level waittill("ConfCenterGateBreach"); + wait(0.1); + maps\_hms_utility::printlnscreenandconsole("Courtyard enemies are alerted!!!"); + var_04 = maps\_utility::get_living_ai_array("EnemyPatrolCourtyard_AI","targetname"); + foreach(var_02 in var_04) + { + if(var_02.script_noteworthy != "CourtyardAllyTarget1" && var_02.script_noteworthy != "CourtyardAllyTarget2" && var_02.script_noteworthy != "CourtyardAllyTarget3") + { + var_02 thread maps\_sniper_setup_ai::alertai(); + } + } +} + +//Function Number: 132 +courtyardspecialdetection() +{ + level endon("alarm_mission_end"); + level endon("disableCourtyardSpecialDetection"); + var_00 = []; + var_01 = maps\_utility::get_living_ai("CourtyardAllyTarget1","script_noteworthy"); + if(isdefined(var_01) && isalive(var_01)) + { + var_00 = common_scripts\utility::add_to_array(var_00,var_01); + } + + var_02 = maps\_utility::get_living_ai("CourtyardAllyTarget2","script_noteworthy"); + if(isdefined(var_02) && isalive(var_02)) + { + var_00 = common_scripts\utility::add_to_array(var_00,var_02); + } + + var_03 = maps\_utility::get_living_ai("CourtyardAllyTarget3","script_noteworthy"); + if(isdefined(var_03) && isalive(var_03)) + { + var_00 = common_scripts\utility::add_to_array(var_00,var_03); + } + + maps\_utility::waittill_dead_or_dying(var_00,1); + foreach(var_05 in var_00) + { + wait(randomfloat(0.1)); + if(isdefined(var_05) && isalive(var_05)) + { + var_05 thread maps\_sniper_setup_ai::alertai(0); + } + } +} + +//Function Number: 133 +enemygroupcorpsedetection(param_00,param_01) +{ + level endon("alarm_mission_end"); + level endon(param_01); + param_00 = maps\_utility::array_removedead_or_dying(param_00); + if(isdefined(param_00[0].script_stealthgroup)) + { + var_02 = maps\_stealth_shared_utilities::group_get_ai_in_group(param_00[0].script_stealthgroup); + maps\_utility::waittill_dead_or_dying(var_02,1); + foreach(var_04 in var_02) + { + if(var_04 != self) + { + wait(randomfloat(0.1)); + if(isdefined(var_04) && isalive(var_04)) + { + var_04 thread maps\_sniper_setup_ai::alertai(0); + } + } + } + } +} + +//Function Number: 134 +rooftopwatchparkingguards() +{ + level endon("alarm_mission_end"); + var_00 = maps\_utility::get_living_ai("RooftopPlayerTarget1","script_noteworthy"); + var_00 endon("death"); + var_01 = maps\_utility::get_living_ai("RooftopPlayerTarget2","script_noteworthy"); + var_01 endon("death"); + wait 0.05; + var_02 = maps\_utility::get_living_ai_array("EnemyPatrolParking_AI","targetname"); + var_02 = maps\_utility::array_removedead_or_dying(var_02); + maps\_utility::waittill_dead_or_dying(var_02,1); + if(isdefined(var_00) && isalive(var_00)) + { + var_00 thread maps\_sniper_setup_ai::alertai(0); + } + + if(isdefined(var_01) && isalive(var_01)) + { + var_01 thread maps\_sniper_setup_ai::alertai(0); + } +} + +//Function Number: 135 +enemypatrolwalkwaythread(param_00) +{ + level endon("alarm_mission_end"); + thread maps\greece_code::aiarrayidleloop(param_00); +} + +//Function Number: 136 +enemypatrolpoolthread(param_00) +{ + level endon("alarm_mission_end"); + thread maps\greece_code::aiarrayidleloop(param_00); + thread enemygroupcorpsedetection(param_00,"disablePoolCorpseDetection"); + var_01 = maps\_utility::get_living_ai("PoolAllyTarget1","script_noteworthy"); + if(isdefined(var_01)) + { + var_01 thread setuppoolkillvictim(); + } + + foreach(var_03 in param_00) + { + var_03 thread monitorpoolguard(); + } +} + +//Function Number: 137 +monitorpoolguard() +{ + level endon("alarm_mission_end"); + self endon("disablePoolAlert"); + common_scripts\utility::waittill_any("death","guy_alerted"); + common_scripts\utility::flag_set("FlagPoolKillBegin"); +} + +//Function Number: 138 +setuppoolkillvictim() +{ + level endon("alarm_mission_end"); + self.animname = "victim"; + self.idlepoint = common_scripts\utility::getstruct("OrgPoolKill","script_noteworthy"); + self.idlepoint thread maps\_anim::anim_loop_solo(self,"hms_greece_cc_takedown_idle","stop_loop"); + maps\_utility::gun_remove(); + self attach("prop_cigarette","tag_inhand",1); + self.allowdeath = 1; + self.customreactanime = "hms_greece_cc_takedown_react"; + thread monitorpoolkillvictim(); + thread monitorpoolkillvictimdeath(); + thread monitorpoolkillvictimalert(); +} + +//Function Number: 139 +monitorpoolkillvictim() +{ + level endon("alarm_mission_end"); + self endon("death"); + common_scripts\utility::flag_wait("FlagPoolKillReady"); + self notify("disablePoolAlert"); + disableenemyalert(); + maps\_stealth_utility::stealth_set_group_default(); + self.disablecorpsealert = 1; + maps\_stealth_utility::disable_stealth_for_ai(); + self.no_stopanimscripted = 1; + maps\_utility::set_ignoreme(1); + maps\_utility::set_ignoreall(1); + common_scripts\utility::waittill_any("guy_alerted","bulletwhizby","projectile_impact","damage"); + common_scripts\utility::flag_set("FlagPoolKillBegin"); +} + +//Function Number: 140 +monitorpoolkillvictimalert() +{ + var_00 = common_scripts\utility::getstruct("OrgPoolKill","script_noteworthy"); + level endon("alarm_mission_end"); + self endon("disableAlert"); + self endon("allyPoolKill"); + self endon("death"); + self waittill("guy_alerted"); + wait 0.05; + if(isdefined(self.damagelocation)) + { + return; + } + + self notify("poolGuy_alerted"); + var_00 notify("stop_loop"); + self detach("prop_cigarette","tag_inhand"); + maps\_utility::forceuseweapon("iw5_sn6_sp","primary"); + if(self.health == 999999) + { + self.health = self.default_health; + } + + maps\_utility::set_ignoreme(0); + maps\_utility::set_ignoreall(0); + var_01 = getnode("PoolEnemyCover","script_noteworthy"); + maps\_utility::set_goal_node(var_01); + self.combatmode = "cover"; + self.allyclaimedtarget = 0; + self waittill("goal"); + self.allyclaimedtarget = 0; + wait(level.alerttimedelay); + common_scripts\utility::flag_set("FlagAlarmMissionEnd"); +} + +//Function Number: 141 +monitorpoolkillvictimdeath() +{ + var_00 = common_scripts\utility::getstruct("OrgPoolKill","script_noteworthy"); + var_01 = "hms_greece_cc_takedown_death"; + level endon("alarm_mission_end"); + self endon("death"); + self endon("poolGuy_alerted"); + self endon("allyPoolKill"); + common_scripts\utility::flag_wait("FlagPoolKillReady"); + self.default_health = self.health; + self.health = 999999; + self waittill("damage"); + common_scripts\utility::flag_set("FlagPlayerKillPoolGuard"); + wait 0.05; + var_00 notify("stop_loop"); + self.ignoreall = 1; + maps\_stealth_utility::disable_stealth_for_ai(); + disableenemyalert(); + maps\greece_code::giveplayerchallengekillpoint(); + self notify("scripted_death"); + self.bscripteddeath = 1; + thread unmarkandremoveoutline(0.5); + var_00 maps\_anim::anim_single_solo(self,var_01); + maps\greece_code::kill_no_react(0,level.player); +} + +//Function Number: 142 +enemypatrolatriumthread(param_00) +{ + level endon("alarm_mission_end"); + thread maps\greece_code::aiarrayidleloop(param_00); + thread enemygroupcorpsedetection(param_00,"disableAtriumCorpseDetection"); + common_scripts\utility::flag_wait("FlagAtriumEnemiesReactToBreach"); + param_00 = maps\_utility::array_removedead_or_dying(param_00); + var_01 = getent("OrgAtriumMuteCharge","targetname"); + var_02 = 750; + var_03 = common_scripts\utility::get_array_of_closest(var_01.origin,param_00); + foreach(var_05 in var_03) + { + if(isalive(var_05)) + { + var_05 thread enemyatriumflashbang(var_01); + var_06 = distancesquared(var_05.origin,var_01.origin); + var_07 = var_06 * 5E-07; + wait(var_07); + } + } + + common_scripts\utility::flag_set("FlagAtriumEnemiesAllMarked"); + common_scripts\utility::flag_wait("FlagAtriumEnemiesAlmostAllDead"); + var_09 = getent("AtriumFallbackVol","targetname"); + param_00 = maps\_utility::array_removedead_or_dying(param_00); + foreach(var_05 in param_00) + { + wait(randomfloatrange(0.5,1.5)); + if(isdefined(var_05)) + { + var_0B = "FallbackVol" + var_05.script_noteworthy; + var_0C = getent(var_0B,"script_noteworthy"); + if(isdefined(var_0C)) + { + var_05 setgoalvolumeauto(var_0C); + } + } + } +} + +//Function Number: 143 +enemyatriumflashbang(param_00) +{ + self endon("death"); + self endon("dying"); + self notify("end_patrol"); + self notify("new_anim_reach"); + disableenemyalert(); + maps\_stealth_utility::disable_stealth_for_ai(); + aiidleloopdisable(0); + wait(0.05); + if(!maps\_utility::is_in_array(level.alertedenemies,self)) + { + level.alertedenemies = common_scripts\utility::add_to_array(level.alertedenemies,self); + } + + level.playertargets = common_scripts\utility::add_to_array(level.playertargets,self); + if(distancesquared(param_00.origin,self.origin) < 850000) + { + var_01 = 5; + if(isdefined(self) && isalive(self)) + { + self stopanimscripted(); + thread markplayertarget(1,0); + maps\_utility::flashbangstart(var_01); + } + + wait(var_01); + } + + aienablestealthcombat(); +} + +//Function Number: 144 +monitoratriumenemieskilled() +{ + level endon("AtriumTimerExpire"); + level.playertargets = maps\_utility::array_removedead_or_dying(level.playertargets); + var_00 = level.playertargets.size - 3; + maps\_utility::waittill_dead(level.playertargets,var_00); + maps\_hms_utility::printlnscreenandconsole("Atrium enemies falling back..."); + common_scripts\utility::flag_set("FlagAtriumEnemiesAlmostAllDead"); + common_scripts\utility::flag_wait("FlagAllAtriumGuardsDead"); + level notify("AtriumTimerFreeze"); + var_01 = []; + var_01["sight_dist"] = 800; + var_01["detect_dist"] = 200; + maps\_stealth_utility::stealth_corpse_ranges_custom(var_01); +} + +//Function Number: 145 +enemypatrolrooftopthread(param_00) +{ + thread maps\greece_code::aiarrayidleloop(param_00); + thread enemygroupcorpsedetection(param_00,"disableRooftopCorpseDetection"); + thread rooftopwatchparkingguards(); + foreach(var_02 in param_00) + { + var_02.dropweapon = 0; + } +} + +//Function Number: 146 +enemypatrolparkingthread(param_00) +{ + level endon("alarm_mission_end"); + thread maps\greece_code::aiarrayidleloop(param_00); + thread enemygroupcorpsedetection(param_00,"disableParkingCorpseDetection"); + thread monitorparkingguards(param_00); + thread setupparkinginvestigators(); +} + +//Function Number: 147 +monitorparkingguards(param_00) +{ + thread monitorparkingguardsdead(param_00); + common_scripts\utility::flag_wait("FlagUnMarkParkingCars"); + thread setupplayertargets("ParkingPlayerTarget"); +} + +//Function Number: 148 +monitorparkingguardsdead(param_00) +{ + maps\_utility::waittill_dead_or_dying(param_00,1); + common_scripts\utility::flag_set("FlagAnyParkingGuardsDead"); +} + +//Function Number: 149 +setupparkinginvestigators() +{ + var_00 = []; + var_01 = maps\_utility::get_living_ai("ParkingPlayerTarget1","script_noteworthy"); + if(isdefined(var_01)) + { + var_00 = common_scripts\utility::add_to_array(var_00,var_01); + } + + var_02 = maps\_utility::get_living_ai("ParkingPlayerTarget2","script_noteworthy"); + if(isdefined(var_02)) + { + var_00 = common_scripts\utility::add_to_array(var_00,var_02); + } + + var_03 = maps\_utility::get_living_ai("ParkingPlayerTarget3","script_noteworthy"); + if(isdefined(var_03)) + { + var_00 = common_scripts\utility::add_to_array(var_00,var_03); + } + + thread monitorparkinginvestigatorsneargoal(var_00); + thread monitorparkinginvestigatorsdead(var_00); + common_scripts\utility::flag_wait("FlagParkingCarAlarmActivated"); + var_00 = maps\_utility::array_removedead_or_dying(var_00); + var_04 = level.parkingalarmcar.script_noteworthy; + foreach(var_06 in var_00) + { + var_06 notify("end_patrol"); + var_06.alertgroup = 0; + } + + thread aiarraymovetonewidlepos(var_00,var_04); + common_scripts\utility::flag_set("FlagParkingGuardsMovingToCar"); +} + +//Function Number: 150 +monitorparkinginvestigatorsdead(param_00) +{ + level endon("parking_guard_shot"); + maps\_utility::waittill_dead_or_dying(param_00,1); + common_scripts\utility::flag_set("FlagUnMarkParkingCars"); + level notify("parking_guard_shot"); +} + +//Function Number: 151 +monitorparkinginvestigatorsneargoal(param_00) +{ + var_01 = 0; + var_02 = []; + var_02 = maps\_utility::array_merge(param_00,var_02); + var_03 = getent("ParkingGuardsNearCar","targetname"); + var_04 = param_00.size - 1; + for(;;) + { + var_02 = maps\_utility::array_removedead_or_dying(var_02); + foreach(var_06 in var_02) + { + if(var_06 istouching(var_03)) + { + var_02 = common_scripts\utility::array_remove(var_02,var_06); + var_01++; + maps\_hms_utility::printlnscreenandconsole("Number " + var_01 + " guy hit trigger: " + var_06.script_noteworthy); + } + } + + if(var_01 == var_04) + { + break; + } + + wait(0.05); + } + + common_scripts\utility::flag_set("FlagParkingGuardsNearCar"); + wait(5); + _caralarmstop(); +} + +//Function Number: 152 +aiarraymovetonewidlepos(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_03)) + { + param_03 = 0; + } + + if(!isdefined(param_02)) + { + param_02 = "walk"; + } + + param_00 = maps\_utility::array_removedead_or_dying(param_00); + foreach(var_05 in param_00) + { + var_05 thread aimovetonewidlepos(param_01,param_02,param_03); + } +} + +//Function Number: 153 +aimovetonewidlepos(param_00,param_01,param_02) +{ + level endon("end_sniper_drone"); + level endon("alarm_mission_end"); + self endon("damage"); + self endon("death"); + self endon("enemy"); + self endon("corpse"); + self endon("bulletwhizby"); + self endon("brokenglass"); + self endon("guy_alerted"); + self notify("end_patrol"); + self notify("new_anim_reach"); + waittillframeend; + self.idlepointreached = 0; + var_03 = param_00 + self.script_noteworthy; + var_04 = common_scripts\utility::getstruct(var_03,"script_noteworthy"); + if(isdefined(var_04)) + { + if(!isdefined(param_02)) + { + param_02 = 0; + } + + if(!isdefined(param_01)) + { + param_01 = "walk"; + } + + if(isdefined(var_04.script_animation)) + { + var_05 = var_04.script_animation; + self.script_animation = var_05; + maps\_patrol::set_patrol_run_anim_array(); + } + + aiidleloopdisable(param_02); + self.idlepoint = var_04; + var_06 = self.idlepoint.animation; + if(param_01 == "teleport") + { + self forceteleport(self.idlepoint.origin,self.idlepoint.angles); + } + else + { + var_07 = var_06 + "_in"; + if(maps\_utility::hasanim(var_07)) + { + self.idlepoint maps\_anim::anim_reach_solo(self,var_07); + self.idlepoint maps\_anim::anim_single_solo(self,var_07); + } + else + { + self.idlepoint maps\_anim::anim_reach_solo(self,var_06); + } + } + + self.idlepointreached = 1; + self notify("goal"); + self.idlepoint thread maps\_anim::anim_loop_solo(self,self.idlepoint.animation,"stop_loop"); + } +} + +//Function Number: 154 +chooseidlepointreactanimation(param_00) +{ + self endon("damage"); + self endon("death"); + self endon("dying"); + if(isdefined(self) && isalive(self)) + { + if(self.animname == "generic" && isdefined(level.scr_anim["generic"][param_00])) + { + self.idlepoint maps\_anim::anim_single_solo(self,param_00); + return; + } + + if(maps\_utility::hasanim(param_00)) + { + self.idlepoint maps\_anim::anim_single_solo(self,param_00); + return; + } + } +} + +//Function Number: 155 +aiidleloopdisable(param_00) +{ + self endon("damage"); + self endon("death"); + self endon("dying"); + if(!isdefined(param_00)) + { + param_00 = 0; + } + + if(isdefined(self) && isalive(self)) + { + if(!isdefined(self.no_stopanimscripted)) + { + maps\_utility::anim_stopanimscripted(); + } + + if(param_00 == 1) + { + var_01 = self.customreactanime; + if(isdefined(var_01)) + { + if(maps\_utility::hasanim(var_01)) + { + thread maps\_anim::anim_single_solo_run(self,var_01); + } + } + } + + if(isdefined(self.idlepoint)) + { + self.idlepoint notify("stop_loop"); + var_02 = self.idlepoint.animation; + if(isdefined(self.idlepointreached) && self.idlepointreached == 1 && isdefined(var_02)) + { + if(param_00 == 1) + { + chooseidlepointreactanimation(var_02 + "_react"); + } + else + { + chooseidlepointreactanimation(var_02 + "_out"); + } + } + + self.idlepoint = undefined; + } + } +} + +//Function Number: 156 +aienabletotalcombat(param_00) +{ + self endon("death"); + if(isdefined(self.bscripteddeath) && self.bscripteddeath == 1) + { + return; + } + + if(isdefined(self.no_stopanimscripted) && self.no_stopanimscripted == 1) + { + for(;;) + { + if(!isdefined(self.no_stopanimscripted)) + { + break; + } + + if(self.no_stopanimscripted == 0) + { + break; + } + + wait(0.05); + } + } + + if(isdefined(self.default_health)) + { + self.health = self.default_health; + self.default_health = undefined; + } + + if(!isdefined(param_00)) + { + param_00 = 1; + } + + maps\_utility::enable_arrivals(); + maps\_utility::enable_exits(); + maps\greece_code::enableawareness(); + maps\_utility::clear_run_anim(); + maps\_stealth_utility::disable_stealth_for_ai(); + self notify("end_patrol"); + self notify("new_anim_reach"); + disableenemyalert(); + self notify("guy_alerted"); + waittillframeend; + switch(self.team) + { + case "allies": + if(level.balliesintruck == 0) + { + self notify("stop_loop"); + thread maps\_utility::set_battlechatter(1); + maps\_utility::enable_danger_react(10); + maps\_stealth_accuracy_friendly::friendly_acc_spotted(); + self.enemyteam = "axis"; + } + break; + + case "axis": + aiidleloopdisable(param_00); + thread maps\_utility::set_battlechatter(1); + maps\greece_code::setalertoutline(); + thread maps\greece_code::clearalertoutline(); + self notify("removeTargetObj"); + self.enemyteam = "allies"; + self.alertlevel = "combat"; + self.combatmode = "cover"; + maps\_utility::clear_generic_idle_anim(); + maps\_utility::clear_generic_run_anim(); + break; + } + + var_01 = maps\_utility::get_closest_ai(self.origin,self.enemyteam); + if(isdefined(var_01)) + { + maps\_utility::set_favoriteenemy(var_01); + } + + var_02 = self findbestcovernode(); + if(isdefined(var_02)) + { + maps\_utility::set_goal_radius(64); + maps\_utility::set_forcegoal(); + maps\_utility::set_goal_node(var_02); + self waittill("goal"); + maps\_utility::unset_forcegoal(); + } +} + +//Function Number: 157 +aienablestealthcombat() +{ + maps\_stealth_utility::disable_stealth_for_ai(); + maps\_utility::enable_arrivals(); + maps\_utility::enable_exits(); + switch(self.team) + { + case "allies": + self.enemyteam = "axis"; + self.ignoreall = 0; + self.ignoreme = 0; + maps\_utility::disable_dontevershoot(); + maps\_stealth_accuracy_friendly::friendly_acc_spotted(); + break; + + case "axis": + maps\_utility::clear_generic_idle_anim(); + maps\_utility::clear_run_anim(); + self allowedstances("stand","crouch","prone"); + self.enemyteam = "allies"; + maps\_utility::disable_long_death(); + thread aistealthcombatenemygotocover(); + break; + } + + var_00 = get_closest_ai_flat(self.origin,self.enemyteam); + if(isdefined(var_00)) + { + maps\_utility::set_favoriteenemy(var_00); + } +} + +//Function Number: 158 +aistealthcombatenemygotocover() +{ + self endon("death"); + self endon("dying"); + var_00 = "Vol" + self.script_noteworthy; + var_01 = getentarray(var_00,"script_noteworthy"); + if(var_01.size > 0) + { + if(var_01.size > 1) + { + var_01 = common_scripts\utility::array_randomize(var_01); + } + + self setgoalvolumeauto(var_01[0]); + return; + } + + var_02 = self findbestcovernode(); + if(isdefined(var_02)) + { + maps\_utility::set_goal_node(var_02); + } +} + +//Function Number: 159 +aidisablestealthcombat() +{ + maps\_stealth_utility::enable_stealth_for_ai(); + maps\_utility::enable_dontevershoot(); + maps\_stealth_accuracy_friendly::friendly_acc_hidden(); + if(isdefined(self.enemy)) + { + var_00 = self.enemy; + if(isdefined(var_00.script_noteworthy)) + { + maps\_hms_utility::printlnscreenandconsole(self.script_noteworthy + " has enemy " + var_00.script_noteworthy); + } + + self clearenemy(); + } + + maps\_utility::enable_cqbwalk(); + self.ignoreall = 1; + self.ignoreme = 1; +} + +//Function Number: 160 +monitorallyenemy() +{ + self endon("death"); + for(;;) + { + if(isdefined(self.enemy)) + { + var_00 = self.enemy; + if(isdefined(var_00.script_noteworthy)) + { + maps\_hms_utility::printlnscreenandconsole(self.script_noteworthy + " has enemy " + var_00.script_noteworthy); + } + } + + wait(0.05); + } +} + +//Function Number: 161 +alliesredirect(param_00,param_01,param_02) +{ + level endon("end_sniper_drone"); + if(!isdefined(param_01)) + { + param_01 = 1; + } + + if(!isdefined(param_02)) + { + param_02 = 0; + } + + level.allyinfiltrators = maps\_utility::array_removedead_or_dying(level.allyinfiltrators); + foreach(var_04 in level.allyinfiltrators) + { + var_04 allyredirect(param_00,param_01,param_02); + } + + maps\_hms_utility::printlnscreenandconsole("Allies moving to " + param_00); +} + +//Function Number: 162 +allyredirectnoteworthy(param_00,param_01,param_02,param_03) +{ + level endon("end_sniper_drone"); + if(!isdefined(param_02)) + { + param_02 = 1; + } + + if(!isdefined(param_03)) + { + param_03 = 0; + } + + var_04 = maps\_utility::get_living_ai(param_00,"script_noteworthy"); + var_04 allyredirect(param_01,param_02,param_03); + maps\_hms_utility::printlnscreenandconsole(param_00 + "ally moving to " + param_01); +} + +//Function Number: 163 +allyredirect(param_00,param_01,param_02) +{ + maps\_utility::set_goal_radius(64); + if(!isdefined(param_01)) + { + param_01 = 1; + } + + if(!isdefined(param_02)) + { + param_02 = 0; + } + + if(param_01) + { + maps\_utility::set_forcegoal(); + thread allyclearforcegoalonend(); + } + + var_03 = getnode(param_00 + self.script_noteworthy,"targetname"); + if(param_02 == 1) + { + maps\_utility::teleport_ai(var_03); + self notify("goal"); + } + else + { + maps\_utility::set_goal_node(var_03); + } + + if(level.showdebugtoggle == 1) + { + thread maps\_utility::draw_line_from_ent_to_ent_until_notify(self,var_03,1,1,1,self,"goal"); + } +} + +//Function Number: 164 +allyclearforcegoalonend() +{ + self endon("death"); + self waittill("goal"); + maps\_utility::unset_forcegoal(); +} + +//Function Number: 165 +alliesdrivein(param_00,param_01) +{ + var_02 = "bodystash_idle"; + var_03 = "bodystash"; + var_04 = getent("BodyStashOrg","targetname"); + var_05 = getent("delivery_truck","targetname"); + var_05 maps\_utility::assign_animtree("truck"); + var_05.animname = "truck"; + var_06 = maps\_utility::get_living_ai("InfiltratorBurke","script_noteworthy"); + var_07 = maps\_utility::get_living_ai("Infiltrator1","script_noteworthy"); + var_08 = maps\_utility::get_living_ai("Infiltrator2","script_noteworthy"); + if(param_00) + { + var_04 maps\_anim::anim_last_frame_solo(var_05,var_03); + level.balliesintruck = 0; + return; + } + + var_09 = [var_05,var_07,var_08,var_06]; + var_07 hide(); + var_08 hide(); + var_06 hide(); + var_04 maps\_anim::anim_first_frame(var_09,var_03); + level.balliesintruck = 1; + thread truckdrivein(param_01); +} + +//Function Number: 166 +allywalkwaykill() +{ + level endon("alarm_mission_end"); + var_00 = maps\_utility::get_living_ai("Infiltrator2","script_noteworthy"); + var_00.animname = "infiltrator2"; + var_01 = common_scripts\utility::getstruct("IdleWalkwayAllyTarget1","script_noteworthy"); + monitorallywalkwaykillvictim(var_01,var_00); + var_00 maps\greece_code::clear_set_goal(); + thread allyredirectnoteworthy("Infiltrator2","Walkway"); +} + +//Function Number: 167 +monitorallywalkwaykillvictim(param_00,param_01) +{ + var_02 = maps\_utility::get_living_ai("WalkwayAllyTarget1","script_noteworthy"); + if(isdefined(var_02)) + { + var_02 endon("death"); + var_02 markalliesenemytarget(); + var_02 maps\greece_code::settargetoutline(); + } + + param_00 maps\_anim::anim_reach_solo(param_01,"parabolic_knifekill"); + common_scripts\utility::flag_set("FlagWalkwayAlliesPerformKill"); + thread maps\greece_conf_center_vo::walkwayguarddialogue(); + maps\_hms_utility::printlnscreenandconsole("Allies at Walkway!"); + if(isdefined(var_02)) + { + if(maps\_utility::is_in_array(level.alertedenemies,var_02)) + { + param_01 allyshootwalkwaytarget(); + return; + } + + param_01.no_stopanimscripted = 1; + var_02 thread allywalkwaykillvictim(param_00); + param_00 maps\_anim::anim_single_solo_run(param_01,"parabolic_knifekill"); + param_01.no_stopanimscripted = undefined; + } +} + +//Function Number: 168 +allyshootwalkwaytarget() +{ + level endon("alarm_mission_end"); + var_00 = maps\_utility::get_living_ai("WalkwayAllyTarget1","script_noteworthy"); + var_00 endon("death"); + while(!common_scripts\utility::flag("FlagAllWalkwayGuardsDead")) + { + if(isdefined(var_00)) + { + var_00 disableenemyalert(); + maps\greece_code::shootguy(var_00); + soundscripts\_snd::snd_message("npc_shoots_pool_enemy"); + } + + wait(0.2); + } +} + +//Function Number: 169 +allywalkwaykillvictim(param_00) +{ + self endon("death"); + param_00 notify("stop_loop"); + maps\_stealth_utility::disable_stealth_for_ai(); + self.no_stopanimscripted = 1; + disableenemyalert(); + thread monitorwalkwaykillvictim(); + self.health = 10; + maps\_utility::set_ignoreall(1); + maps\_utility::disable_bulletwhizbyreaction(); + maps\_stealth_utility::disable_stealth_for_ai(); + self.animname = "victim"; + param_00 thread maps\_anim::anim_single_solo(self,"parabolic_knifekill"); + self.allowdeath = 1; + level waittill("WalkwayGuyStruggle"); + self.health = 1000000; + self.bscripteddeath = 1; + level notify("WalkwayAllyKill"); + maps\_utility::radio_dialogue_stop(); + param_00 waittill("parabolic_knifekill"); + maps\greece_code::kill_no_react(); +} + +//Function Number: 170 +monitorwalkwaykillvictim() +{ + level endon("WalkwayAllyKill"); + self waittill("death"); + maps\_utility::radio_dialogue_stop(); + thread maps\greece_conf_center_vo::walkwayplayerkilldialogue(); + wait 0.05; + var_00 = maps\_utility::get_living_ai("Infiltrator2","script_noteworthy"); + var_00 maps\_utility::anim_stopanimscripted(); +} + +//Function Number: 171 +allypoolsetup() +{ + level endon("alarm_mission_end"); + var_00 = maps\_utility::get_living_ai("Infiltrator1","script_noteworthy"); + var_00.animname = "infiltrator1"; + var_00.ignoreall = 1; + var_00 thread maps\_utility::waterfx("FlagStopPoolWater"); + var_01 = common_scripts\utility::getstruct("OrgPoolKill","script_noteworthy"); + var_01 maps\_anim::anim_reach_solo(var_00,"pool_traverse_in"); + var_01 maps\_anim::anim_single_solo(var_00,"pool_traverse_in"); + var_01 thread maps\_anim::anim_loop_solo(var_00,"pool_traverse_idle","stop_traverse_loop"); + var_00 thread allypoolkill(); +} + +//Function Number: 172 +allypoolkill() +{ + level endon("alarm_mission_end"); + common_scripts\utility::flag_wait("FlagBeginStruggleSetup"); + var_00 = common_scripts\utility::getstruct("OrgPoolKill","script_noteworthy"); + self.ignoreall = 0; + var_00 notify("stop_traverse_loop"); + var_00 maps\_anim::anim_single_solo(self,"pool_traverse_out"); + common_scripts\utility::flag_set("FlagPoolKillReady"); + if(!common_scripts\utility::flag("FlagPoolKillBegin") && !common_scripts\utility::flag("FlagEndPoolSetup")) + { + var_00 thread maps\_anim::anim_loop_solo(self,"hms_greece_cc_takedown_idle","stop_loop"); + } + + common_scripts\utility::flag_wait_either("FlagPoolKillBegin","FlagEndPoolSetup"); + var_01 = "hms_greece_cc_takedown"; + var_02 = maps\_utility::get_living_ai("PoolAllyTarget1","script_noteworthy"); + if(!isdefined(var_02) || maps\_utility::is_in_array(level.alertedenemies,var_02) || isdefined(var_02.damagelocation)) + { + var_01 = "hms_greece_cc_takedown_fail"; + } + + var_00 notify("stop_loop"); + wait 0.05; + if(var_01 == "hms_greece_cc_takedown") + { + common_scripts\utility::flag_set("FlagPoolKillSpecial"); + } + + thread allyexitpool(var_00,var_01); + thread allyexithandlevictim(var_02,var_00,var_01); + thread poolalliesadvance(); +} + +//Function Number: 173 +victimpoolkill(param_00,param_01) +{ + self notify("allyPoolKill"); + self.bscripteddeath = 1; + self.health = 99999; + maps\_utility::set_allowdeath(0); + maps\greece_conf_center_fx::confcenterpoolsplash(); + maps\greece_conf_center_fx::confcenterpoolallywaterdrip(); + maps\_utility::clear_deathanim(); + maps\greece_conf_center_anim::stealthkillvictim(self); + self.no_stopanimscripted = 1; + maps\_utility::set_ignoreall(1); + param_00 maps\_anim::anim_single_solo(self,param_01); + maps\_utility::set_allowdeath(1); + maps\greece_code::kill_no_react(); +} + +//Function Number: 174 +poolalliesadvance() +{ + for(;;) + { + var_00 = maps\_utility::get_living_ai_array("EnemyPatrolPool_AI","targetname"); + if(common_scripts\utility::flag("FlagPoolKillSpecial") && var_00.size == 1) + { + break; + } + else if(var_00.size == 0) + { + break; + } + + wait(0.1); + } + + common_scripts\utility::flag_set("FlagAllPoolGuardsDead"); +} + +//Function Number: 175 +setuppoolallytargets() +{ + thread alliesshootpooltargets(); + var_00 = maps\_utility::get_living_ai("PoolAllyTarget1","script_noteworthy"); + if(isdefined(var_00)) + { + var_00 markalliesenemytarget(); + var_00 maps\greece_code::settargetoutline(); + } +} + +//Function Number: 176 +alliesshootpooltargets() +{ + common_scripts\utility::flag_wait("FlagPoolKillBegin"); + var_00 = maps\_utility::get_living_ai("InfiltratorBurke","script_noteworthy"); + var_01 = maps\_utility::get_living_ai("Infiltrator2","script_noteworthy"); + wait(0.2); + var_01 thread allyshootpooltarget(common_scripts\utility::flag("FlagPoolKillSpecial")); + wait(0.1); + var_00 thread allyshootpooltarget(common_scripts\utility::flag("FlagPoolKillSpecial")); +} + +//Function Number: 177 +allyshootpooltarget(param_00) +{ + level endon("alarm_mission_end"); + if(!isdefined(param_00)) + { + param_00 = 1; + } + + var_01 = maps\_utility::get_living_ai_array("EnemyPatrolPool_AI","targetname"); + if(param_00 == 1) + { + var_02 = maps\_utility::get_living_ai("PoolAllyTarget1","script_noteworthy"); + if(isdefined(var_02)) + { + var_01 = common_scripts\utility::array_remove(var_01,var_02); + } + } + + while(!common_scripts\utility::flag("FlagAllPoolGuardsDead")) + { + var_01 = array_removeclaimedtargets(var_01); + if(self.script_noteworthy == "InfiltratorBurke") + { + var_03 = maps\greece_code::get_farthest_living(self.origin,var_01); + } + else + { + var_03 = maps\_utility::get_closest_living(self.origin,var_01); + } + + if(isdefined(var_03)) + { + var_03.allyclaimedtarget = 1; + var_03 disableenemyalert(); + if(var_03.script_noteworthy == "PoolAllyTarget1") + { + var_03.favoriteenemy = self; + } + + maps\greece_code::shootguy(var_03,1); + soundscripts\_snd::snd_message("npc_shoots_pool_enemy"); + thread alertallpoolguards(); + } + + wait(0.5); + if(var_01.size == 0) + { + break; + } + } +} + +//Function Number: 178 +alertallpoolguards() +{ + var_00 = maps\_utility::get_living_ai_array("EnemyPatrolPool_AI","targetname"); + foreach(var_02 in var_00) + { + if(var_02.script_noteworthy == "PoolAllyTarget1" && common_scripts\utility::flag("FlagPoolKillReady")) + { + continue; + } + + var_02 maps\_utility::anim_stopanimscripted(); + var_02 thread maps\_sniper_setup_ai::alertai(); + var_02 maps\_utility::clear_generic_idle_anim(); + var_02 maps\_utility::clear_generic_run_anim(); + var_02 maps\_utility::set_ignoreme(0); + var_02 findnearbycovernode(512); + var_02.combatmode = "cover"; + } +} + +//Function Number: 179 +array_removeclaimedtargets(param_00) +{ + param_00 = maps\_utility::array_removedead_or_dying(param_00); + foreach(var_02 in param_00) + { + if(isdefined(var_02.allyclaimedtarget)) + { + param_00 = common_scripts\utility::array_remove(param_00,var_02); + } + } + + return param_00; +} + +//Function Number: 180 +allypoolclimb() +{ + level endon("alarm_mission_end"); + var_00 = getent("OrgPoolKill","script_noteworthy"); + self.ignoreall = 0; + var_00 maps\_anim::anim_single_solo(self,"pool_traverse_out"); + var_01 = "hms_greece_cc_takedown"; + if(common_scripts\utility::flag("FlagPlayerKillPoolGuard")) + { + var_01 = "hms_greece_cc_takedown_fail"; + } + + var_00 = getent("OrgPoolKill","script_noteworthy"); + thread allyexitpool(var_00,var_01); +} + +//Function Number: 181 +allyexitpool(param_00,param_01) +{ + level endon("alarm_mission_end"); + self.no_stopanimscripted = 1; + param_00 maps\_anim::anim_single_solo_run(self,param_01); + var_02 = maps\_utility::get_living_ai_array("EnemyPatrolPool_AI","targetname"); + var_03 = 0; + if(param_01 == "hms_greece_cc_takedown") + { + var_03 = 1; + } + + if(var_02.size > var_03) + { + maps\_utility::set_goal_pos(self.origin); + var_04 = maps\_utility::get_living_ai("PoolAllyTarget1","script_noteworthy"); + if(isdefined(var_04) && param_01 != "hms_greece_cc_takedown") + { + thread maps\greece_code::shootguy(var_04,1); + } + else + { + thread allyshootpooltarget(0); + } + } + + wait(1); + common_scripts\utility::flag_set("FlagStopPoolWater"); + self.no_stopanimscripted = undefined; +} + +//Function Number: 182 +allyexithandlevictim(param_00,param_01,param_02) +{ + level endon("alarm_mission_end"); + if(isdefined(param_00)) + { + param_00 endon("death"); + if(!common_scripts\utility::flag("FlagPlayerKillPoolGuard") && param_02 == "hms_greece_cc_takedown") + { + param_00 victimpoolkill(param_01,param_02); + } + } +} + +//Function Number: 183 +alliesparkingsetup() +{ + foreach(var_01 in level.allyinfiltrators) + { + var_01 clearenemy(); + } + + level endon("ConfRoomSetupBreach"); + wait(1); + thread allyredirectnoteworthy("Infiltrator1","ParkingStairs1"); + wait(2); + allyredirectnoteworthy("Infiltrator2","ParkingStairs1"); + var_03 = maps\_utility::get_living_ai("Infiltrator2","script_noteworthy"); + var_03 maps\greece_code::waittillaineargoal(); + common_scripts\utility::flag_set("FlagParkingAlliesOnStairs"); + maps\_hms_utility::printlnscreenandconsole("Allies at ParkingStairs!"); +} + +//Function Number: 184 +allyburkeparkingsetup() +{ + level endon("ConfRoomSetupBreach"); + thread allyredirectnoteworthy("InfiltratorBurke","ParkingStairs1"); + level.infiltratorburke maps\greece_code::waittillaineargoal(); +} + +//Function Number: 185 +alliesparkingkill() +{ + common_scripts\utility::flag_wait("FlagParkingCarAlarmActivated"); + var_00 = maps\_utility::get_living_ai("ParkingAllyTarget1","script_noteworthy"); + var_01 = getent("StairwayTakedownOrg","targetname"); + var_02 = "stairway_takedown"; + var_03 = maps\_utility::get_living_ai("InfiltratorBurke","script_noteworthy"); + if(isdefined(var_00)) + { + var_00 maps\greece_code::settargetoutline(); + } + + common_scripts\utility::flag_wait_all("FlagParkingAlliesOnStairs","FlagParkingGuardsMovingToCar"); + wait(1); + if(!common_scripts\utility::flag("FlagAllParkingGuardsDead")) + { + if(isdefined(var_00)) + { + maps\_hms_utility::printlnscreenandconsole("Gideon is now moving toward parking stairs kill..."); + var_01 maps\_anim::anim_reach_solo(var_03,var_02); + if(isdefined(var_00) && isalive(var_00)) + { + var_00 thread alliesparkingkillvictim(var_01,var_02); + maps\_hms_utility::printlnscreenandconsole("Gideon is now performing parking stairs kill..."); + var_01 maps\_anim::anim_single_solo(var_03,var_02); + var_00 notify("ParkingAllyKill"); + if(!common_scripts\utility::flag("FlagParkingPlayerStealKill")) + { + var_01 thread maps\_anim::anim_loop_solo(var_03,"stairway_takedown_idle","stop_stairway_idle"); + } + } + else if(!common_scripts\utility::flag("FlagAllParkingGuardsDead")) + { + thread allyredirectnoteworthy("InfiltratorBurke","ParkingStairs2"); + } + } + else + { + thread allyredirectnoteworthy("InfiltratorBurke","ParkingStairs2"); + } + } + + common_scripts\utility::flag_set("FlagParkingAlliesPerformKill"); +} + +//Function Number: 186 +alliesparkingkillvictim(param_00,param_01) +{ + self endon("death"); + thread monitorparkingkillvictim(); + self.health = 10; + maps\_utility::set_ignoreall(1); + self notify("end_patrol"); + self.animname = "victim"; + if(isdefined(self.idlepoint)) + { + self.idlepoint notify("stop_loop"); + } + + disableenemyalert(); + maps\_utility::disable_bulletwhizbyreaction(); + maps\_stealth_utility::disable_stealth_for_ai(); + self.bscripteddeath = 1; + param_00 thread maps\_anim::anim_single_solo(self,param_01); + self.allowdeath = 1; + param_00 waittill(param_01); + maps\greece_code::kill_no_react(0); +} + +//Function Number: 187 +monitorparkingkillvictim() +{ + self waittill("death"); + self endon("ParkingAllyKill"); + common_scripts\utility::flag_set("FlagParkingPlayerStealKill"); + wait 0.05; + level.infiltratorburke maps\_utility::anim_stopanimscripted(); + thread allyredirectnoteworthy("InfiltratorBurke","ParkingStairs2"); + common_scripts\utility::flag_set("FlagParkingAlliesPerformKill"); +} + +//Function Number: 188 +alliesparkingkillalt() +{ + level endon("parking_alarm_activated"); + level endon("alarm_mission_end"); + level endon("ConfRoomSetupBreach"); + common_scripts\utility::flag_wait_all("FlagParkingAlliesOnStairs","FlagAnyParkingGuardsDead"); + wait(1); + var_00 = maps\_utility::get_living_ai("ParkingAllyTarget1","script_noteworthy"); + while(!common_scripts\utility::flag("FlagAllParkingGuardsDead")) + { + if(isdefined(var_00)) + { + var_00 disableenemyalert(); + level.infiltratorburke maps\greece_code::shootguy(var_00); + level.infiltratorburke soundscripts\_snd::snd_message("npc_shoots_pool_enemy"); + } + + wait(0.2); + } + + wait(1); + thread allyredirectnoteworthy("InfiltratorBurke","ParkingStairs2"); +} + +//Function Number: 189 +allysetupstruggle() +{ + var_00 = []; + var_01 = getent("burkeambush_door","targetname"); + var_01.animname = "burkeambush_door"; + var_01 maps\_utility::assign_animtree("burkeambush_door"); + var_00 = common_scripts\utility::add_to_array(var_00,var_01); + level.infiltratorburke maps\_utility::disable_pain(); + var_02 = getent("BurkeAmbushOrg","targetname"); + common_scripts\utility::flag_wait("FlagCourtyardBurkeJumpCompleted"); + common_scripts\utility::flag_set("FlagStruggleBurkeApproaches"); + var_02 maps\_anim::anim_reach_solo(level.infiltratorburke,"burkeambush"); + var_03 = spawnenemystruggle(); + var_03.animname = "attacker"; + var_03.allowdeath = 1; + level.enemystruggler = var_03; + var_00 = common_scripts\utility::add_to_array(var_00,var_03); + setupvalidtargetsbyname("EnemyPatrolStruggle"); + common_scripts\utility::flag_set("FlagStruggleGuardAttacks"); + thread allystruggleslomo(var_03); + thread allystrugglesuccess(var_03,var_01); + thread monitorallystrugglefailure(var_02,var_03,level.infiltratorburke); + level.infiltratorburke.hasbeenhit = 0; + var_02 thread maps\_anim::anim_single_solo_run(level.infiltratorburke,"burkeambush"); + var_02 maps\_anim::anim_single(var_00,"burkeambush"); + var_03 notify("AttackComplete"); +} + +//Function Number: 190 +burkeambushnohitnotetrack(param_00) +{ + var_01 = getent("BurkeAmbushOrg","targetname"); + var_02 = "burkeambush_nohit"; + if(!isalive(level.enemystruggler)) + { + level.infiltratorburke maps\_utility::anim_stopanimscripted(); + wait 0.05; + level.infiltratorburke maps\_utility::set_ignoreall(1); + var_03 = maps\_utility::get_living_ai("PoolPlayerTarget3","script_noteworthy"); + if(isdefined(var_03)) + { + level.infiltratorburke maps\_utility::set_favoriteenemy(var_03); + } + + var_01 maps\_anim::anim_single_solo_run(level.infiltratorburke,var_02); + level.infiltratorburke maps\_utility::set_ignoreall(0); + return; + } + + level.infiltratorburke.hasbeenhit = 1; +} + +//Function Number: 191 +allystruggleslomo(param_00) +{ + wait(2); + if(isdefined(param_00)) + { + level notify("BeginGideonKillWatch"); + param_00 thread objmarkerplayertarget(1); + setslowmotion(1,0.5,0.5); + soundscripts\_snd::snd_message("start_burke_ambush_slomo"); + param_00 common_scripts\utility::waittill_any("death","AttackComplete"); + setslowmotion(0.5,1,0.5); + soundscripts\_snd::snd_message("stop_burke_ambush_slomo"); + } +} + +//Function Number: 192 +allystrugglesuccess(param_00,param_01) +{ + level endon("alarm_mission_end"); + var_02 = level.infiltratorburke.weapon; + var_03 = getent("BurkeAmbushOrg","targetname"); + param_00 waittill("death"); + if(isalive(level.infiltratorburke)) + { + common_scripts\utility::flag_set("FlagStruggleBurkeRecovers"); + if(level.infiltratorburke.hasbeenhit) + { + var_03 waittill("burkeambush"); + } + else + { + var_03 waittill("burkeambush_nohit"); + } + + if(level.infiltratorburke.weapon == "none") + { + level.infiltratorburke.weapon = var_02; + level.infiltratorburke maps\_utility::forceuseweapon(level.infiltratorburke.weapon,"primary"); + level.infiltratorburke maps\_utility::enable_pain(); + } + } +} + +//Function Number: 193 +monitorallystrugglefailure(param_00,param_01,param_02) +{ + param_01 endon("death"); + level waittill("BeginGideonKillWatch"); + param_02 waittill("damage",var_03,var_04); + var_05 = 0; + if(isdefined(var_04) && var_04 == level.player) + { + var_05 = 1; + } + + thread failburkekilled(param_00,param_01,param_02,var_05); +} + +//Function Number: 194 +failburkekilled(param_00,param_01,param_02,param_03) +{ + common_scripts\utility::flag_set("disable_autosaves"); + common_scripts\utility::flag_set("FlagDisableAutosave"); + param_01 notify("AttackComplete"); + thread burkestruggledeath(); + level notify("burke_killed"); + level notify("alarm_mission_end"); + wait(0.05); + maps\_hms_utility::printlnscreenandconsole("MISSION FAIL - BURKE KILLED!!!"); + confcentertotalcombat(0); + maps\greece_conf_center_vo::confcenterfailburkekilleddialogue(param_03); + wait(1); + if(param_03 == 0) + { + setdvar("ui_deadquote",&"GREECE_DRONE_BURKEKILLED_FAIL"); + } + + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 195 +burkestruggledeath() +{ + var_00 = getent("BurkeAmbushOrg","targetname"); + level.infiltratorburke.no_stopanimscripted = 1; + var_01 = level.infiltratorburke.origin + (-40,10,32); + playfx(common_scripts\utility::getfx("blood_impact_splat"),var_01); + var_00 maps\_anim::anim_single_solo(level.infiltratorburke,"burkeambush_death"); + level.infiltratorburke maps\_utility::stop_magic_bullet_shield(); + level.infiltratorburke maps\greece_code::kill_no_react(); + level.infiltratorburke unmarkandremoveoutline(0); +} + +//Function Number: 196 +atriumbreachidleinfiltrators(param_00) +{ + var_01 = common_scripts\utility::getstruct("atrium_breach_org","targetname"); + level.mute_charge = maps\_utility::spawn_anim_model("mute_charge"); + level.mute_charge hide(); + level.breach_charge = maps\_utility::spawn_anim_model("breach_charge"); + level.breach_charge hide(); + level.breach_charge.include_in_idle = 1; + var_02 = maps\_utility::get_living_ai("Infiltrator1","script_noteworthy"); + var_03 = maps\_utility::get_living_ai("Infiltrator2","script_noteworthy"); + if(param_00) + { + var_04 = getent("AtriumBreachTeleport_Infiltrator1","targetname"); + var_05 = getent("AtriumBreachTeleport_Infiltrator2","targetname"); + var_02 forceteleport(var_04.origin,var_04.angles); + var_03 forceteleport(var_05.origin,var_05.angles); + } + + thread atriumbreachidle(var_01,var_02,level.breach_charge,param_00); + thread atriumbreachidle(var_01,var_03,level.mute_charge,param_00); +} + +//Function Number: 197 +atriumbreachidleburke(param_00) +{ + var_01 = common_scripts\utility::getstruct("atrium_breach_org","targetname"); + level.breach_charge_2 = maps\_utility::spawn_anim_model("breach_charge"); + level.breach_charge_2.animname = "breach_charge_2"; + level.breach_charge_2.include_in_idle = 1; + var_02 = maps\_utility::get_living_ai("InfiltratorBurke","script_noteworthy"); + if(param_00) + { + var_03 = getent("AtriumBreachTeleport_InfiltratorBurke","targetname"); + var_02 forceteleport(var_03.origin,var_03.angles); + } + + thread atriumbreachidle(var_01,var_02,level.breach_charge_2,param_00); +} + +//Function Number: 198 +atriumbreachidle(param_00,param_01,param_02,param_03) +{ + var_04 = "mutebreach_setup"; + var_05 = "mutebreach_idle"; + param_01 clearenemy(); + var_06 = []; + var_06[0] = param_01; + var_07 = []; + var_07[0] = param_01; + if(isdefined(param_02)) + { + var_06[1] = param_02; + if(isdefined(param_02.include_in_idle)) + { + var_07[1] = param_02; + } + } + + if(param_03 == 0) + { + param_00 maps\_anim::anim_reach_solo(param_01,var_04); + param_01.readyforatriumbreach = 1; + param_00 maps\_anim::anim_single(var_06,var_04); + } + + param_01.readyforatriumbreach = 1; + if(!common_scripts\utility::flag("FlagAtriumAlliesPerformBreach")) + { + param_00 thread maps\_anim::anim_loop(var_07,var_05,"EndAtriumBreachIdle"); + } +} + +//Function Number: 199 +atriumbreachmonitoralliesinposition() +{ + var_00 = level.allyinfiltrators; + var_01 = 0; + while(!common_scripts\utility::flag("FlagAtriumAlliesReadyToBreach")) + { + foreach(var_03 in var_00) + { + if(isdefined(var_03.readyforatriumbreach) && var_03.readyforatriumbreach == 1) + { + var_01++; + maps\_hms_utility::printlnscreenandconsole(var_01 + " allies are ready to breach Atrium!"); + var_00 = common_scripts\utility::array_remove(var_00,var_03); + } + } + + if(var_01 == 3) + { + break; + } + + wait(0.05); + } + + common_scripts\utility::flag_set("FlagAtriumAlliesReadyToBreach"); + maps\_hms_utility::printlnscreenandconsole("Allies at AtriumBreach!"); +} + +//Function Number: 200 +atriumbreachexplosionnotetrack(param_00) +{ + maps\greece_conf_center_fx::confcenteratriumflashcharge(); + soundscripts\_snd::snd_message("start_atrium_fight"); + level.breach_charge stopanimscripted(); + level.breach_charge_2 stopanimscripted(); + level.breach_charge delete(); + level.breach_charge_2 delete(); + wait(1); + common_scripts\utility::flag_set("FlagAtriumEnemiesReactToBreach"); + rumbleatriumbreach(); +} + +//Function Number: 201 +showentnotetrack(param_00) +{ + param_00 show(); +} + +//Function Number: 202 +alliesbreachatrium() +{ + var_00 = common_scripts\utility::getstruct("atrium_breach_org","targetname"); + var_01 = "mutebreach"; + var_02 = getent("atrium_door_bottom","targetname"); + var_03 = getent("atrium_door_bottom_clip","targetname"); + var_02 maps\_utility::assign_animtree("atrium_door"); + var_02.animname = "atrium_door_bottom"; + var_04 = getent("atrium_door_top","targetname"); + var_05 = getent("atrium_door_top_clip","targetname"); + var_04 maps\_utility::assign_animtree("atrium_door"); + var_04.animname = "atrium_door_top"; + var_06 = level.breach_charge; + var_07 = level.breach_charge_2; + var_08 = maps\_utility::get_living_ai("Infiltrator1","script_noteworthy"); + var_09 = maps\_utility::get_living_ai("Infiltrator2","script_noteworthy"); + var_0A = maps\_utility::get_living_ai("InfiltratorBurke","script_noteworthy"); + var_0B = [var_08,var_09,var_0A]; + var_0C = [var_02,var_04,var_06,var_07]; + var_00 notify("EndAtriumBreachIdle"); + wait 0.05; + var_0D = getdvarfloat("ai_eventDistGunshot"); + var_0E = getdvarfloat("ai_eventDistGunshotTeam"); + setsaveddvar("ai_eventDistGunshot",50); + setsaveddvar("ai_eventDistGunshotTeam",50); + var_05 delete(); + var_03 delete(); + var_0F = []; + var_0F["sight_dist"] = 400; + var_0F["detect_dist"] = 100; + maps\_stealth_utility::stealth_corpse_ranges_custom(var_0F); + thread atriumdoorbreachdamage(); + var_00 thread maps\_anim::anim_single(var_0C,var_01); + var_00 maps\_anim::anim_single_run(var_0B,var_01); + thread alliesredirect("AtriumFight1"); + foreach(var_11 in level.allyinfiltrators) + { + var_11 aienablestealthcombat(); + } + + enablealliescolor(); + maps\_utility::activate_trigger_with_targetname("TrigBurke101"); + maps\_utility::activate_trigger_with_targetname("TrigAllies101"); + common_scripts\utility::flag_wait("FlagAtriumEnemiesAlmostAllDead"); + wait(randomfloatrange(1,3)); + if(!common_scripts\utility::flag("FlagAllAtriumGuardsDead")) + { + thread alliesredirect("AtriumFight2"); + maps\_utility::activate_trigger_with_targetname("TrigBurke102"); + maps\_utility::activate_trigger_with_targetname("TrigAllies102"); + } + + common_scripts\utility::flag_wait("FlagEndAtriumSetup"); + setsaveddvar("ai_eventDistGunshot",var_0D); + setsaveddvar("ai_eventDistGunshotTeam",var_0E); + disablealliescolor(); + foreach(var_14 in level.allyinfiltrators) + { + var_14 aidisablestealthcombat(); + var_14 maps\greece_code::disableawareness(); + } + + var_0F = []; + var_0F["sight_dist"] = 800; + var_0F["detect_dist"] = 200; + maps\_stealth_utility::stealth_corpse_ranges_custom(var_0F); +} + +//Function Number: 203 +atriumdoorbreachdamage() +{ + wait(0.5); + var_00 = getent("AtriumDoorBreachDamageVol","targetname"); + var_01 = var_00 maps\_utility::get_ai_touching_volume("axis"); + var_01 = maps\_utility::array_removedead_or_dying(var_01); + foreach(var_03 in var_01) + { + var_03 kill(); + } +} + +//Function Number: 204 +atriumdoorsopenonalarm() +{ + level waittill("alarm_mission_end"); + while(!common_scripts\utility::flag("FlagEndStruggleSetup")) + { + if(common_scripts\utility::flag("FlagAlarmMissionEnd")) + { + atriumdoorsopen(); + break; + } + + wait(0.05); + } +} + +//Function Number: 205 +atriumdoorsopen() +{ + var_00 = maps\_utility::get_living_ai_array("EnemyPatrolAtrium_AI","targetname"); + var_01 = getent("atrium_door_top","targetname"); + var_02 = getent("atrium_door_top_clip","targetname"); + var_03 = getent("atrium_door_top_org","targetname"); + var_02 delete(); + var_01 linkto(var_03); + var_03 rotateto(var_03.angles + (0,120,0),0.35,0,0.35); + var_04 = maps\_utility::get_closest_index(var_01.origin,var_00); + if(isdefined(var_00[var_04])) + { + var_05 = var_00[var_04]; + var_00 = common_scripts\utility::array_remove(var_00,var_05); + var_06 = getent("WalkwayTopVol","targetname"); + var_05 setgoalvolumeauto(var_06); + } + + var_07 = getent("atrium_door_bottom","targetname"); + var_08 = getent("atrium_door_bottom_clip","targetname"); + var_09 = getent("atrium_door_bottom_org","targetname"); + var_08 delete(); + var_07 linkto(var_09); + var_09 rotateto(var_09.angles + (0,120,0),0.35,0,0.35); + var_0A = getent("WalkwayBottomVol","targetname"); + var_0B = common_scripts\utility::get_array_of_closest(var_07.origin,var_00); + if(isdefined(var_0B[0])) + { + var_0B[0] setgoalvolumeauto(var_0A); + } + + if(isdefined(var_0B[1])) + { + var_0B[1] setgoalvolumeauto(var_0A); + } +} + +//Function Number: 206 +alliesparkingdefend() +{ + level endon("AlliesWillAllDie"); + foreach(var_01 in level.allyinfiltrators) + { + var_01 thread aienabletotalcombat(0); + } + + enablealliescolor(); + maps\_utility::activate_trigger_with_targetname("TrigBurke103"); + maps\_utility::activate_trigger_with_targetname("TrigAllies103"); + common_scripts\utility::flag_wait("FlagSomeAmbushSouthGuardsDead"); + thread alliesredirect("ParkingDefend1"); + maps\_utility::activate_trigger_with_targetname("TrigBurke105"); + maps\_utility::activate_trigger_with_targetname("TrigAllies105"); + common_scripts\utility::flag_wait_all("FlagAllAmbushGuardsDead","FlagEnemyVehicleTurretDisabled"); + thread alliesredirect("ParkingDefend2"); + maps\_utility::activate_trigger_with_targetname("TrigBurke106"); + maps\_utility::activate_trigger_with_targetname("TrigAllies106"); + common_scripts\utility::flag_set("FlagSpawnEnemyReinforcements"); + common_scripts\utility::flag_wait("FlagBeginConfCenterOutro"); + wait(0.5); + thread parkingburkejumpdown(); + wait(0.5); + thread allyredirectnoteworthy("Infiltrator2","ParkingEnd"); + maps\_utility::activate_trigger_with_targetname("TrigAllies107"); +} + +//Function Number: 207 +parkingburkejumpdown() +{ + var_00 = common_scripts\utility::getstruct("BurkeParkingBoostJumpOrg","targetname"); + var_01 = "parking_boostjump"; + level.infiltratorburke maps\_utility::set_ignoreall(1); + wait 0.05; + var_00 maps\_anim::anim_reach_solo(level.infiltratorburke,var_01); + var_00 maps\_anim::anim_single_solo_run(level.infiltratorburke,var_01); + level.infiltratorburke maps\_utility::set_ignoreall(0); + thread allyredirectnoteworthy("InfiltratorBurke","ParkingEnd"); + maps\_utility::activate_trigger_with_targetname("TrigBurke107"); +} + +//Function Number: 208 +monitorzoomonburke() +{ + common_scripts\utility::flag_wait("FlagBeginZoomOnBurke"); + waittillplayerlookattarget(level.infiltratorburke); + common_scripts\utility::flag_set("FlagEndZoomOnBurke"); +} + +//Function Number: 209 +monitorzoomonhades1() +{ + level.confhades hudoutlineenable(5,0); + level.player allowads(1); + thread maps\_utility::hintdisplayhandler("drone_zoom"); + waittillplayerlookattarget(level.confhades,5,1); + common_scripts\utility::flag_set("FlagPlayerZoomOnHades1"); + wait(3); + common_scripts\utility::flag_set("FlagContinueDroneFlyin"); + level.confhades hudoutlinedisable(); + thread autosavesniperdronestealth("conf_center_hades_zoom_1"); +} + +//Function Number: 210 +hintdronezoomoff() +{ + return level.player adsbuttonpressed(1); +} + +//Function Number: 211 +hintlookattruckoff() +{ + if(common_scripts\utility::flag("FlagOkayToShootDrone") || common_scripts\utility::flag("FlagAlarmMissionEnd")) + { + return 1; + } + + return 0; +} + +//Function Number: 212 +monitorzoomonhades2() +{ + waittillplayerlookattargetintrigger(level.confhades,"TriggerConfRoomPlayer",15,1); + thread autosavesniperdronestealth("conf_center_hades_zoom_2"); + common_scripts\utility::flag_set("FlagPlayerZoomOnHades2"); +} + +//Function Number: 213 +waittillplayerlookattarget(param_00,param_01,param_02) +{ + param_00 endon("death"); + level endon("alarm_mission_end"); + if(!isdefined(param_02)) + { + param_02 = 1; + } + + if(!isdefined(param_01)) + { + param_01 = 10; + } + + param_00 thread monitorplayerlookat(param_01,param_02); + param_00 waittill("PlayerLookAt"); + if(isdefined(param_00.name)) + { + maps\_hms_utility::printlnscreenandconsole("Player has successfully looked at target" + param_00.name); + return; + } + + maps\_hms_utility::printlnscreenandconsole("Player has successfully looked at target"); +} + +//Function Number: 214 +drawplayerlookatdebug(param_00,param_01,param_02,param_03) +{ + var_04 = level.player getgunangles(); + param_01 = level.player getplayerangles(); + var_05 = anglestoforward(param_01 + (0,param_03,0)); + var_06 = anglestoforward(param_01 + (0,param_03 * -1,0)); + var_07 = anglestoforward(param_01 + (param_03,0,0)); + var_08 = anglestoforward(param_01 + (param_03 * -1,0,0)); + thread maps\_utility::draw_circle_for_time(param_02,50,1,0,0,0.05); +} + +//Function Number: 215 +monitorplayerlookat(param_00,param_01) +{ + self endon("death"); + if(!isdefined(param_01)) + { + param_01 = 1; + } + + var_02 = undefined; + var_03 = cos(param_00); + for(;;) + { + wait(0.05); + if(issentient(self)) + { + var_02 = self geteye(); + } + else + { + var_02 = self.origin; + } + + if(level.showdebugtoggle == 1) + { + drawplayerlookatdebug(level.player geteye(),level.player getgunangles(),var_02,param_00); + } + + if(param_01 == 1 && !level.player adsbuttonpressed()) + { + continue; + } + + if(common_scripts\utility::within_fov(level.player geteye(),level.player getgunangles(),var_02,var_03) == 1) + { + self notify("PlayerLookAt"); + return; + } + } +} + +//Function Number: 216 +waittillplayerlookattargetintrigger(param_00,param_01,param_02,param_03,param_04) +{ + if(!isdefined(param_02)) + { + param_02 = 30; + } + + if(!isdefined(param_03)) + { + param_03 = 0; + } + + var_05 = getent(param_01,"targetname"); + thread waittillplayerlookattarget(param_00,param_02,param_03); + var_06 = spawnstruct(); + var_06.threads = 0; + param_00 childthread common_scripts\utility::waittill_string("PlayerLookAt",var_06); + var_06.threads++; + var_05 childthread common_scripts\utility::waittill_string("trigger",var_06); + var_06.threads++; + while(var_06.threads) + { + if(isdefined(param_04)) + { + var_06 common_scripts\utility::waittill_notify_or_timeout("returned",param_04); + continue; + } + + var_06 waittill("returned"); + var_06.threads--; + } +} + +//Function Number: 217 +waittillplayerlookatescapevehicle() +{ + var_00 = getent("TriggerEscapeVehiclePlayer","targetname"); + var_01 = getent("HadesEscapeVehicle","targetname"); + thread waittillplayerlookattarget(var_01,15,1); + var_02 = spawnstruct(); + var_02.threads = 0; + var_01 childthread common_scripts\utility::waittill_string("PlayerLookAt",var_02); + var_02.threads++; + var_00 childthread common_scripts\utility::waittill_string("trigger",var_02); + var_02.threads++; + while(var_02.threads) + { + var_02 waittill("returned"); + var_02.threads--; + } +} + +//Function Number: 218 +initconfcenterstealthsettings() +{ + var_00 = []; + var_00["ai_eventDistNewEnemy"] = []; + var_00["ai_eventDistNewEnemy"]["spotted"] = 256; + var_00["ai_eventDistNewEnemy"]["hidden"] = 128; + var_00["ai_eventDistExplosion"] = []; + var_00["ai_eventDistExplosion"]["spotted"] = 512; + var_00["ai_eventDistExplosion"]["hidden"] = 512; + var_00["ai_eventDistDeath"] = []; + var_00["ai_eventDistDeath"]["spotted"] = 512; + var_00["ai_eventDistDeath"]["hidden"] = 512; + var_00["ai_eventDistPain"] = []; + var_00["ai_eventDistPain"]["spotted"] = 256; + var_00["ai_eventDistPain"]["hidden"] = 256; + var_00["ai_eventDistBullet"] = []; + var_00["ai_eventDistBullet"]["spotted"] = 96; + var_00["ai_eventDistBullet"]["hidden"] = 96; + var_00["ai_eventDistFootstep"] = []; + var_00["ai_eventDistFootstep"]["spotted"] = 256; + var_00["ai_eventDistFootstep"]["hidden"] = 256; + var_00["ai_eventDistFootstepWalk"] = []; + var_00["ai_eventDistFootstepWalk"]["spotted"] = 128; + var_00["ai_eventDistFootstepWalk"]["hidden"] = 128; + var_00["ai_eventDistFootstepSprint"] = []; + var_00["ai_eventDistFootstepSprint"]["spotted"] = 512; + var_00["ai_eventDistFootstepSprint"]["hidden"] = 512; + maps\_stealth_utility::stealth_ai_event_dist_custom(var_00); + var_01 = []; + var_01["sight_dist"] = 800; + var_01["detect_dist"] = 200; + maps\_stealth_utility::stealth_corpse_ranges_custom(var_01); +} + +//Function Number: 219 +initalerttime() +{ + var_00 = []; + var_00[0] = 4.5; + var_00[1] = 3; + var_00[2] = 2; + var_00[3] = 1; + level.alerttimedelay = var_00[level.gameskill]; +} + +//Function Number: 220 +monitoratriumfighttimer() +{ + level endon("AtriumTimerFreeze"); + level endon("alarm_mission_end"); + var_00 = []; + var_00[0] = 40; + var_00[1] = 30; + var_00[2] = 20; + var_00[3] = 15; + level.atriumtimewindow = var_00[level.gameskill]; + var_01 = []; + var_01[0] = 15; + var_01[1] = 10; + var_01[2] = 5; + var_01[3] = 0; + var_02 = var_01[level.gameskill]; + wait(3); + level.atriumtimer = maps\_hud_util::get_countdown_hud(); + level.atriumtimer.label = &"GREECE_ATRIUM_TIMER_LABEL"; + level.atriumtimer.x = -110; + level.atriumtimer.y = 45; + level.atriumtimer.alignx = "left"; + level.atriumtimer.horzalign = "center"; + level.atriumtimer.color = (0.95,0.95,1); + level.atriumtimer settenthstimerstatic(level.atriumtimewindow); + level.atriumtimer setpulsefx(30,900000,700); + common_scripts\utility::flag_wait("FlagAtriumEnemiesAllMarked"); + level.atriumtimer settenthstimer(level.atriumtimewindow); + thread freezeatriumfighttimer(); + thread markatriumenemiesatwarning(var_02); + wait(level.atriumtimewindow); + level notify("AtriumTimerExpire"); + destroyatriumfighttimer(); + maps\_hms_utility::printlnscreenandconsole("TIMER EXPIRED!!!"); + soundscripts\_snd::snd_message("atrium_timer_expire"); + thread failatriumfighttimerexpire(); +} + +//Function Number: 221 +markatriumenemiesatwarning(param_00) +{ + level endon("AtriumTimerFreeze"); + if(param_00 > 0) + { + var_01 = level.atriumtimewindow - param_00; + wait(var_01); + thread setupplayertargets("AtriumPlayerTarget",1,1); + var_02 = maps\_utility::get_living_ai_array("EnemyPatrolAtrium_AI","targetname"); + level waittill("AtriumTimerExpire"); + var_02 = maps\_utility::array_removedead_or_dying(var_02); + foreach(var_04 in var_02) + { + var_04 setthreatdetection("enhanceable"); + } + } +} + +//Function Number: 222 +failatriumfighttimerexpire() +{ + common_scripts\utility::flag_set("disable_autosaves"); + common_scripts\utility::flag_set("FlagDisableAutosave"); + level notify("alarm_mission_end"); + wait(0.05); + maps\_hms_utility::printlnscreenandconsole("MISSION FAIL - TIMER EXPIRED!!!"); + confcentertotalcombat(0); + maps\greece_conf_center_vo::confcenterfailtimerexpiredialogue(); + wait(1); + setdvar("ui_deadquote",&"GREECE_DRONE_TIMEREXPIRE_FAIL"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 223 +freezeatriumfighttimer() +{ + level endon("AtriumTimerExpire"); + var_00 = gettime(); + level waittill("AtriumTimerFreeze"); + var_01 = gettime(); + var_02 = var_01 - var_00 * 0.001; + var_03 = level.atriumtimewindow - var_02; + level.atriumtimer settenthstimerstatic(var_03); + wait(5); + destroyatriumfighttimer(); +} + +//Function Number: 224 +destroyatriumfighttimer() +{ + if(isdefined(level.atriumtimer)) + { + level.atriumtimer destroy(); + } +} + +//Function Number: 225 +monitorparkingcars() +{ + level endon("end_sniper_drone"); + level endon("alarm_mission_end"); + level endon("ConfRoomExplosion"); + if(level.currentgen) + { + if(!istransientloaded("greece_confcenter_tr")) + { + level waittill("tff_post_intro_to_confcenter"); + } + + var_00 = level.sniper_marked_cars; + } + else + { + var_00 = getentarray("ParkingAlarmCar","targetname"); + } + + foreach(var_02 in var_00) + { + var_02 thread monitorparkingcaralarm(); + var_02 thread monitorparkingcarexplode(); + } + + common_scripts\utility::flag_wait("FlagParkingCarAlarmActivated"); + maps\_hms_utility::printlnscreenandconsole("Parking car alarm is on!"); + if(common_scripts\utility::flag("FlagBeginParkingSetup") || common_scripts\utility::flag("FlagAllRooftopGuardsDead")) + { + thread alliesparkingkill(); + return; + } + + var_04 = level.start_point; + if(var_04 != "start_conf_center_combat" && var_04 != "start_conf_center_outro") + { + thread failinvalidtarget(); + } +} + +//Function Number: 226 +markparkingcars() +{ + var_00 = getentarray("ParkingAlarmCar","targetname"); + foreach(var_02 in var_00) + { + var_02 thread objmarkervehicle("FlagUnMarkParkingCars",0,0); + } +} + +//Function Number: 227 +monitorparkingcarexplode() +{ + level endon("end_sniper_drone"); + level endon("alarm_mission_end"); + level endon("parking_car_explode"); + level endon("ConfRoomExplosion"); + var_00 = level.start_point; + if(var_00 != "start_conf_center_combat" && var_00 != "start_conf_center_outro") + { + self waittill("death"); + thread failinvalidtarget(); + level notify("parking_car_explode"); + } +} + +//Function Number: 228 +monitorparkingcaralarm() +{ + level endon("end_sniper_drone"); + level endon("alarm_mission_end"); + level endon("parking_alarm_activated"); + level endon("parking_guard_shot"); + var_00 = level.start_point; + if(var_00 != "start_conf_center_kill" && var_00 != "start_conf_center_combat" && var_00 != "start_conf_center_outro") + { + self waittill("damage"); + soundscripts\_snd::snd_message("start_car_alarm",self); + level.parkingalarmcar = self; + level.parkingalarmcar.balarmon = 1; + common_scripts\utility::flag_set("FlagParkingCarAlarmActivated"); + common_scripts\utility::flag_set("FlagParkingCarAlarmDisableAutosave"); + common_scripts\utility::flag_set("disable_autosaves"); + common_scripts\utility::flag_set("FlagUnMarkParkingCars"); + level notify("disableParkingCorpseDetection"); + level notify("parking_alarm_activated"); + thread _caralarmfx(); + } +} + +//Function Number: 229 +_caralarmfx() +{ + self endon("death"); + level endon("parking_alarm_deactivated"); + var_00 = self.classname; + for(var_01 = 0;var_01 < 15;var_01++) + { + if(!isdefined(level.vehicle_lights_group[var_00])) + { + continue; + } + + foreach(var_04, var_03 in level.vehicle_lights_group[var_00]) + { + if(var_04 == "all" || var_04 == "frontlights") + { + continue; + } + + thread maps\_vehicle::vehicle_lights_on(var_04); + } + + wait(1); + foreach(var_04, var_03 in level.vehicle_lights_group[var_00]) + { + if(var_04 == "all" || var_04 == "frontlights") + { + continue; + } + + thread maps\_vehicle::vehicle_lights_off(var_04); + } + + wait(1); + } + + _caralarmstop(); +} + +//Function Number: 230 +_caralarmstop() +{ + if(isdefined(level.parkingalarmcar) && level.parkingalarmcar.balarmon == 1) + { + level.parkingalarmcar soundscripts\_snd::snd_message("stop_car_alarm"); + level notify("parking_alarm_deactivated"); + level.parkingalarmcar.balarmon = 0; + } + + common_scripts\utility::flag_clear("FlagParkingCarAlarmDisableAutosave"); + common_scripts\utility::flag_clear("disable_autosaves"); +} + +//Function Number: 231 +enemiesignoreplayerdrone(param_00) +{ + if(param_00 == 1) + { + createthreatbiasgroup("player_drone"); + self setthreatbiasgroup("player_drone"); + setignoremegroup("player_drone","axis"); + return; + } + + self setthreatbiasgroup(); +} + +//Function Number: 232 +monitorlevelalarm() +{ + level endon("end_sniper_drone"); + maps\_hms_utility::printlnscreenandconsole("Now monitoring level alarm..."); + common_scripts\utility::flag_wait("FlagAlarmMissionEnd"); + thread faillevelalarm(); +} + +//Function Number: 233 +faillevelalarm() +{ + common_scripts\utility::flag_set("disable_autosaves"); + common_scripts\utility::flag_set("FlagDisableAutosave"); + soundscripts\_snd::snd_message("cc_kva_alerted_walla"); + wait(0.05); + maps\_hms_utility::printlnscreenandconsole("MISSION FAIL - ALARM SOUNDED!!!"); + confcentertotalcombat(0); + maps\greece_conf_center_vo::confcenterfailalarmsoundeddialogue(); + wait(1); + setdvar("ui_deadquote",&"GREECE_DRONE_ALERT_FAIL"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 234 +setupvalidtargetsbyname(param_00) +{ + var_01 = param_00 + "_AI"; + var_02 = maps\_utility::get_living_ai_array(var_01,"targetname"); + setupvalidtargetsbyarray(var_02); + maps\_hms_utility::printlnscreenandconsole(param_00 + " enemies have been designated as valid targets"); +} + +//Function Number: 235 +setupvalidtargetsbyarray(param_00) +{ + foreach(var_02 in param_00) + { + var_02 notify("valid_target"); + } +} + +//Function Number: 236 +monitorisenemyvalidtarget() +{ + level endon("end_sniper_drone"); + level endon("alarm_mission_end"); + self endon("valid_target"); + self waittill("death"); + thread failinvalidtarget(); +} + +//Function Number: 237 +failinvalidtarget() +{ + common_scripts\utility::flag_set("disable_autosaves"); + common_scripts\utility::flag_set("FlagDisableAutosave"); + level notify("alarm_mission_end"); + wait(0.05); + maps\_hms_utility::printlnscreenandconsole("MISSION FAIL - PLAYER KILLED INVALID TARGET!!!"); + maps\greece_conf_center_vo::confcenterfailinvalidtargetdialogue(); + confcentertotalcombat(0); + wait(1); + setdvar("ui_deadquote",&"GREECE_DRONE_INVALIDTARGET_FAIL"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 238 +confcentertotalcombat(param_00) +{ + maps\_hms_utility::printlnscreenandconsole("TOTAL COMBAT!!!"); + level.allyinfiltrators = maps\_utility::array_removedead(level.allyinfiltrators); + level.allenemypatrollers = maps\_utility::array_removedead(level.allenemypatrollers); + common_scripts\utility::flag_set("disable_autosaves"); + common_scripts\utility::flag_set("FlagDisableAutosave"); + thread releasemeetingcivilians(); + level.player enemiesignoreplayerdrone(0); + var_01 = maps\_utility::array_merge(level.allyinfiltrators,level.allenemypatrollers); + foreach(var_03 in var_01) + { + var_03 thread aienabletotalcombat(param_00); + } +} + +//Function Number: 239 +releasemeetingcivilians() +{ + var_00 = common_scripts\utility::getstruct("CC_Breach","targetname"); + var_01 = "cc_breach"; + if(!common_scripts\utility::flag("FlagOkayToKillHades")) + { + maps\_hms_utility::printlnscreenandconsole("MEETING CIVILIANS FREAK OUT!!!"); + var_00 notify("stopPacingIdles"); + var_00 notify("speech"); + var_00 notify("Breach"); + var_02 = maps\_utility::get_living_ai_array("ConfRoomVip_AI","targetname"); + foreach(var_04 in var_02) + { + var_04 maps\_utility::anim_stopanimscripted(); + } + + wait(0.05); + var_00 thread maps\_anim::anim_single(var_02,var_01); + } +} + +//Function Number: 240 +autosavesniperdronestealth(param_00) +{ + var_01 = undefined; + if(isdefined(level.curautosave)) + { + var_01 = level.curautosave; + } + + wait 0.05; + thread maps\_utility::autosave_by_name(param_00); + wait(5); + if(isdefined(var_01)) + { + if(var_01 != level.curautosave) + { + maps\_hms_utility::printlnscreenandconsole("*** Sniperdrone stealth autosave " + param_00 + " SUCCESS! ***"); + return; + } + + maps\_hms_utility::printlnscreenandconsole("*** Sniperdrone stealth autosave " + param_00 + " FAILED! ***"); + } +} + +//Function Number: 241 +autosaveconfcenterstealthcheck() +{ + if(isdefined(level.alertedenemies)) + { + level.alertedenemies = maps\_utility::array_removedead_or_dying(level.alertedenemies); + if(!common_scripts\utility::flag("FlagAlarmMissionEnd") && level.alertedenemies.size == 0) + { + common_scripts\utility::flag_clear("FlagDisableAutosave"); + } + + common_scripts\utility::flag_clear("disable_autosaves"); + if(level.alertedenemies.size > 0) + { + maps\_hms_utility::printlnscreenandconsole("Tried to autosave but there are " + level.alertedenemies.size + " enemies alerted!!!"); + foreach(var_01 in level.alertedenemies) + { + if(isdefined(var_01.script_noteworthy)) + { + maps\_hms_utility::printlnscreenandconsole("This guy is alerted... " + var_01.script_noteworthy); + continue; + } + + maps\_hms_utility::printlnscreenandconsole("A nameless guy is alerted... "); + } + + return 0; + } + } + + if(common_scripts\utility::flag("FlagConfHadesDead") && !common_scripts\utility::flag("FlagOkayToKillHades")) + { + maps\_hms_utility::printlnscreenandconsole("Tried to autosave but player killed Hades too early"); + return 0; + } + + if(common_scripts\utility::flag("FlagPlayerShotConfRoomWindows") && !common_scripts\utility::flag("FlagOkayToKillHades")) + { + maps\_hms_utility::printlnscreenandconsole("Tried to autosave but FlagPlayerShotConfRoomWindows is set to TRUE!!!"); + return 0; + } + + if(common_scripts\utility::flag("FlagDisableAutosave")) + { + maps\_hms_utility::printlnscreenandconsole("Tried to autosave but FlagDisableAutosave is set to TRUE!!!"); + return 0; + } + + if(common_scripts\utility::flag("FlagParkingCarAlarmDisableAutosave")) + { + maps\_hms_utility::printlnscreenandconsole("Tried to autosave but FlagParkingCarAlarmDisableAutosave is set to TRUE!!!"); + return 0; + } + + if(common_scripts\utility::flag("FlagAlarmMissionEnd")) + { + maps\_hms_utility::printlnscreenandconsole("Tried to autosave but FlagAlarmMissionEnd is set to TRUE!!!"); + return 0; + } + + return 1; +} + +//Function Number: 242 +autosaveconfcentercombatcheck() +{ + if(common_scripts\utility::flag("FlagConfCenterAlliesVulnerable")) + { + return 0; + } + + return 1; +} + +//Function Number: 243 +monitorconfroomwindows() +{ + level endon("end_sniper_drone"); + level endon("alarm_mission_end"); + var_00 = getent("ConfRoomWindows","targetname"); + for(;;) + { + var_01 = var_00 common_scripts\utility::waittill_any_return("damage","bullethit"); + common_scripts\utility::flag_set("FlagPlayerShotConfRoomWindows"); + wait 0.05; + if(!common_scripts\utility::flag("FlagConfHadesDead")) + { + common_scripts\utility::flag_set("FlagAlarmMissionEnd"); + destroyatriumfighttimer(); + level notify("alarm_mission_end"); + } + + wait 0.05; + } +} + +//Function Number: 244 +confcentervehiclesvulnerable() +{ + var_00 = getentarray("ParkingAlarmCar","targetname"); + var_01 = getentarray("ConfCenterCombatCar","targetname"); + var_00 = maps\_utility::array_merge(var_00,var_01); + foreach(var_03 in var_00) + { + if(isdefined(var_03.script_mp_style_helicopter)) + { + var_03.script_mp_style_helicopter = 0; + var_03 maps\_vehicle::vehicle_set_health(900); + var_03 thread vehicleexplodeondeath(); + } + } +} + +//Function Number: 245 +vehicleexplodeondeath() +{ + level endon("end_sniper_drone"); + level endon("alarm_mission_end"); + self waittill("death"); + radiusdamage(self.origin,400,400,10); + physicsexplosionsphere(self.origin,300,100,1.5); +} + +//Function Number: 246 +monitorplayeractivity() +{ + level endon("end_sniper_drone"); + level endon("alarm_mission_end"); + level endon("HadesVehicleDriveStart"); + wait(5); + resetvulnerabletimers(); + var_00 = 0; + for(;;) + { + wait 0.05; + var_01 = maps\_utility::array_removedead_or_dying(level.allenemyambushers); + var_02 = gettime(); + if(var_01.size < 3) + { + resetvulnerabletimers(); + continue; + } + + if(var_00 == 0 && level.allieswarningtime <= var_02) + { + if(!common_scripts\utility::flag("FlagSomeAmbushSouthGuardsDead")) + { + maps\_hms_utility::printlnscreenandconsole("*** WARNING *** - Player has been idle for too long"); + thread maps\_utility::display_hint_timeout_mintime("support_allies",5,3); + } + + var_00 = 1; + } + + if(level.alliesvulnerabletime <= var_02) + { + common_scripts\utility::flag_set("FlagConfCenterAlliesVulnerable"); + foreach(var_04 in level.allyinfiltrators) + { + if(isdefined(var_04.magic_bullet_shield) && var_04.magic_bullet_shield == 1) + { + var_04 thread maps\_utility::stop_magic_bullet_shield(); + } + + var_05 = level.player maps\_utility::get_player_gameskill(); + if(var_05 >= 3) + { + var_04.health = 1; + } + + var_04 thread monitorallydeath(); + } + + maps\_hms_utility::printlnscreenandconsole("*** ALLIES ARE NOW VULNERABLE ***"); + break; + } + } +} + +//Function Number: 247 +getallyassisttime() +{ + var_00 = level.player maps\_utility::get_player_gameskill(); + var_01[0] = 30; + var_01[1] = 20; + var_01[2] = 15; + var_01[3] = 10; + return var_01[var_00]; +} + +//Function Number: 248 +resetvulnerabletimers() +{ + var_00 = getallyassisttime(); + maps\_hms_utility::printlnscreenandconsole("Ally assist time = " + var_00); + var_01 = gettime(); + level.alliesvulnerabletime = var_01 + var_00 * 1000; + var_02 = var_00 * 0.5; + maps\_hms_utility::printlnscreenandconsole("Ally warning time = " + var_02); + level.allieswarningtime = var_01 + var_02 * 1000; +} + +//Function Number: 249 +notifyonplayerkill() +{ + level endon("end_sniper_drone"); + level endon("alarm_mission_end"); + level endon("HadesVehicleDriveStart"); + self waittill("death",var_00,var_01,var_02); + if(isdefined(var_02) && var_02 == "hms_sniperdrone") + { + resetvulnerabletimers(); + return; + } + + if(isdefined(var_01) && var_01 == "MOD_EXPLOSIVE") + { + resetvulnerabletimers(); + } +} + +//Function Number: 250 +monitorallydeath() +{ + level endon("end_sniper_drone"); + level endon("alarm_mission_end"); + level endon("HadesVehicleDriveStart"); + self waittill("death"); + maps\_hms_utility::printlnscreenandconsole(self.script_noteworthy + " has DIED!!!"); + thread killallallies(); + if(self.script_noteworthy == "InfiltratorBurke") + { + thread failallydeath(); + } +} + +//Function Number: 251 +killallallies() +{ + level notify("AlliesWillAllDie"); + wait(randomfloatrange(1,3)); + var_00 = maps\_utility::array_removedead_or_dying(level.allyinfiltrators); + foreach(var_02 in var_00) + { + if(var_02.script_noteworthy == "InfiltratorBurke") + { + thread failallydeath(); + } + + var_02 kill(); + } +} + +//Function Number: 252 +failallydeath() +{ + common_scripts\utility::flag_set("FlagDisableAutosave"); + level notify("alarm_mission_end"); + wait(0.05); + maps\_hms_utility::printlnscreenandconsole("MISSION FAIL - PLAYER DID NOT PROTECT ALLIES!!!"); + maps\greece_conf_center_vo::confcenterfailburkekilleddialogue(0); + wait(1); + setdvar("ui_deadquote",&"GREECE_DRONE_BURKEKILLED_FAIL"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 253 +hintsupportalliesoff() +{ + return common_scripts\utility::flag("FlagHadesVehicleDriveStart"); +} + +//Function Number: 254 +markallies(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 0; + } + + if(param_00 == 1) + { + level waittill("outline_allies"); + } + + level.bmarkallies = 1; + foreach(var_02 in level.allyinfiltrators) + { + var_02 thread markdronetargetally(); + var_02 hudoutlineenable(2); + } +} + +//Function Number: 255 +unmarkallies() +{ + level.bmarkallies = 0; + foreach(var_01 in level.allyinfiltrators) + { + var_01 unmarkandremoveoutline(0); + } +} + +//Function Number: 256 +markdronetargetally() +{ + self endon("death"); + self endon("dying"); + thread unmarkdronetarget(); + while(!common_scripts\utility::flag("FlagSniperDroneHit")) + { + if(level.bmarkallies == 1) + { + maps\greece_code::settargetandshader(self,"hud_icon_remoteturret","ac130_hud_friendly_ai_offscreen"); + } + + wait(0.1); + } +} + +//Function Number: 257 +markalliesenemytarget() +{ +} + +//Function Number: 258 +markallytargets(param_00) +{ + var_01 = []; + var_02 = []; + var_02 = getaiarray("axis"); + var_03 = param_00 + "AllyTarget"; + foreach(var_05 in var_02) + { + if(isalive(var_05) && isdefined(var_05.script_noteworthy)) + { + if(common_scripts\utility::string_starts_with(var_05.script_noteworthy,var_03)) + { + var_01 = common_scripts\utility::add_to_array(var_01,var_05); + } + } + } + + foreach(var_08 in var_01) + { + if(isalive(var_08)) + { + var_08 thread markalliesenemytarget(); + } + } +} + +//Function Number: 259 +markdronetargetenemy() +{ + maps\greece_code::settargetandshader(self,"hud_icon_remoteturret","veh_hud_target_offscreen"); + thread unmarkdronetarget(); +} + +//Function Number: 260 +markdronetargetvehicle() +{ + maps\greece_code::settargetandshader(self,"hud_icon_remoteturret","veh_hud_missile_offscreen"); + thread unmarkdronetarget(); +} + +//Function Number: 261 +unmarkdronetarget() +{ + self endon("death"); + self endon("dying"); + common_scripts\utility::flag_wait("FlagSniperDroneHit"); + if(target_istarget(self)) + { + target_remove(self); + } +} + +//Function Number: 262 +unmarkandremoveoutline(param_00) +{ + if(isdefined(self)) + { + if(isdefined(param_00)) + { + wait(param_00); + } + + self hudoutlinedisable(); + if(target_istarget(self)) + { + target_remove(self); + } + } +} + +//Function Number: 263 +rumbleatriumbreach() +{ + level.player playrumbleonentity("damage_light"); + earthquake(0.1,0.2,level.player.origin,100); +} + +//Function Number: 264 +rumblesniperdronenearexplosion() +{ + level.player playrumbleonentity("damage_heavy"); + earthquake(0.3,1.5,level.player.origin,100); +} + +//Function Number: 265 +rumbleplayerdistantexplosion() +{ + level.player playrumbleonentity("subtle_tank_rumble"); + earthquake(0.2,0.5,level.player.origin,100); +} + +//Function Number: 266 +setupgaragedoor() +{ + var_00 = common_scripts\utility::getstruct("HadesGarageDoor","targetname"); + var_01 = maps\_utility::spawn_anim_model("rolling_door",(0,0,0)); + var_00 maps\_anim::anim_first_frame_solo(var_01,"intro_weapon_cache_rollingdoor"); + common_scripts\utility::flag_wait("FlagHadesVehicleDriveStart"); + var_00 maps\_anim::anim_single_solo(var_01,"intro_weapon_cache_rollingdoor"); +} + +//Function Number: 267 +guytruckbloodnotetrack(param_00) +{ + common_scripts\utility::flag_set("FlagShowTruckBlood"); +} + +//Function Number: 268 +truckblood() +{ + var_00 = getent("TruckBlood","targetname"); + var_00 hide(); + common_scripts\utility::flag_wait("FlagShowTruckBlood"); + var_00 show(); + common_scripts\utility::flag_wait("FlagPlayerEndDroneControl"); + var_00 delete(); +} + +//Function Number: 269 +getclosestflat(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_02)) + { + param_02 = 500000; + } + + if(!isdefined(param_03)) + { + param_03 = 200; + } + + var_04 = undefined; + foreach(var_06 in param_01) + { + var_07 = param_00[2] - var_06.origin[2]; + if(var_07 >= param_03 * -1 && var_07 <= param_03) + { + var_08 = distance(var_06.origin,param_00); + if(var_08 <= param_02) + { + var_04 = var_06; + param_02 = var_08; + } + } + } + + if(isdefined(var_04)) + { + return var_04; + } + + var_0A = sortbydistance(param_01,param_00); + return param_01[0]; +} + +//Function Number: 270 +get_closest_ai_flat(param_00,param_01,param_02,param_03,param_04) +{ + if(isdefined(param_01)) + { + var_05 = getaiarray(param_01); + } + else + { + var_05 = getaiarray(); + } + + if(var_05.size == 0) + { + return undefined; + } + + if(isdefined(param_02)) + { + var_05 = common_scripts\utility::array_remove_array(var_05,param_02); + } + + return getclosestflat(param_00,var_05,param_03,param_04); +} + +//Function Number: 271 +disableenemyalert() +{ + self notify("disableAlert"); + self.disable_alert = 1; + if(maps\_utility::is_in_array(level.alertedenemies,self)) + { + level.alertedenemies common_scripts\utility::array_remove(level.alertedenemies,self); + } +} + +//Function Number: 272 +monitorplayersignalatriumbreach() +{ + thread maps\_utility::hintdisplayhandler("mute_breach"); + thread waittillplayersignalatriumbreach(); +} + +//Function Number: 273 +hintmutebreachoff() +{ + if(common_scripts\utility::flag("FlagPlayerSignalAtriumBreach") || common_scripts\utility::flag("FlagPlayerShootFirstAtrium") || common_scripts\utility::flag("FlagAlarmMissionEnd") || common_scripts\utility::flag("FlagParkingCarAlarmActivated")) + { + return 1; + } + + return 0; +} + +//Function Number: 274 +waittillplayersignalatriumbreach() +{ + level endon("SniperdroneAtriumPlayerFirstShot"); + level endon("alarm_mission_end"); + for(;;) + { + if(level.player usebuttonpressed()) + { + soundscripts\_snd::snd_message("atrium_breach_signal_start"); + common_scripts\utility::flag_set("FlagPlayerSignalAtriumBreach"); + break; + } + + wait 0.05; + } +} + +//Function Number: 275 +burkecourtyardboostjump() +{ + var_00 = common_scripts\utility::getstruct("BurkeCourtyardBoostJumpOrg","targetname"); + var_01 = "courtyard_boostjump"; + var_02 = maps\_utility::get_living_ai("InfiltratorBurke","script_noteworthy"); + var_00 maps\_anim::anim_reach_solo(var_02,var_01); + var_00 maps\_anim::anim_single_solo_run(var_02,var_01); + common_scripts\utility::flag_set("FlagCourtyardBurkeJumpCompleted"); + if(!common_scripts\utility::flag("FlagStruggleBurkeApproaches")) + { + thread allyredirectnoteworthy("InfiltratorBurke","Walkway"); + } +} + +//Function Number: 276 +tff_spawn_vehicles_conf_center() +{ + if(!istransientloaded("greece_confcenter_tr")) + { + level waittill("tff_post_intro_to_confcenter"); + } + + var_00 = getentarray("ParkingAlarmCar","targetname"); + var_01 = getentarray("ConfCenterCombatCar","targetname"); + level.sniper_marked_cars = []; + foreach(var_03 in var_00) + { + var_04 = var_03 maps\_utility::spawn_vehicle(); + level.sniper_marked_cars[level.sniper_marked_cars.size] = var_04; + var_04 thread maps\greece_code::tff_cleanup_vehicle("confcenter"); + } + + foreach(var_03 in var_01) + { + var_04 = var_03 maps\_utility::spawn_vehicle(); + var_04 thread maps\greece_code::tff_cleanup_vehicle("confcenter"); + } + + common_scripts\utility::flag_wait("FlagUnMarkParkingCars"); + foreach(var_04 in level.sniper_marked_cars) + { + var_04 hudoutlinedisable(); + } +} + +//Function Number: 277 +hinthadeszoomoff() +{ + if(common_scripts\utility::flag("FlagPlayerZoomOnHades2") || common_scripts\utility::flag("FlagAlarmMissionEnd")) + { + return 1; + } + + return 0; +} + +//Function Number: 278 +hintcaralarmoff() +{ + if(common_scripts\utility::flag("FlagUnMarkParkingCars") || common_scripts\utility::flag("FlagAlarmMissionEnd")) + { + return 1; + } + + return 0; +} + +//Function Number: 279 +hintatriumviewoff() +{ + if(common_scripts\utility::flag("FlagUnMarkAtrium") || common_scripts\utility::flag("FlagAlarmMissionEnd")) + { + return 1; + } + + return 0; +} + +//Function Number: 280 +hintcourtyardoverwatchoff() +{ + if(common_scripts\utility::flag("FlagCourtyardAnyOverwatchDead") || common_scripts\utility::flag("FlagAlarmMissionEnd")) + { + return 1; + } + + return 0; +} + +//Function Number: 281 +monitorsniperdronetriplekill() +{ + level endon("alarm_mission_end"); + level endon("end_sniper_drone"); + common_scripts\utility::waittill_any("death","scripted_death"); + level.triplekillcount++; + if(level.triplekillcount == 1) + { + thread achievementsniperdronetriplekill(); + } +} + +//Function Number: 282 +achievementsniperdronetriplekill() +{ + level endon("alarm_mission_end"); + level endon("end_sniper_drone"); + wait(0.2); + if(level.triplekillcount >= 3) + { + common_scripts\utility::flag_set("FlagGreeceTripleKillAchievement"); + maps\_utility::giveachievement_wrapper("LEVEL_6A"); + } + + level.triplekillcount = 0; +} \ No newline at end of file diff --git a/AW/PC/maps/greece_conf_center_anim.gsc b/AW/PC/maps/greece_conf_center_anim.gsc new file mode 100644 index 0000000..51fd6c4 --- /dev/null +++ b/AW/PC/maps/greece_conf_center_anim.gsc @@ -0,0 +1,613 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: greece_conf_center_anim.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 30 + * Decompile Time: 468 ms + * Timestamp: 4/22/2024 2:30:52 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + allystealthanimations(); + enemypatrolanimations(); + enemyreactanimations(); + poolkillanimations(); + walkwaystruggleanimations(); + conferenceroomanimations(); + gatebreachanimations(); + precachescriptmodelanims(); + sniperdronelaunchanims(); + atriumanimations(); + truckbodystashanimations(); + setupvehicleanims(); + flyinanimations(); + garagedooranimations(); +} + +//Function Number: 2 +sniperdronelaunchanims() +{ + level.scr_animtree["player_safehouse_rig"] = #animtree; + level.scr_anim["player_safehouse_rig"]["drone_launch_control_pad"] = %hms_greece_safehouse_dronelaunch_pad_vm; +} + +//Function Number: 3 +allystealthanimations() +{ + level.scr_anim["generic"]["flash_open_door"] = %door_kick_in; +} + +//Function Number: 4 +enemypatrolanimations() +{ + level.scr_anim["generic"]["hms_greece_cc_talking_guards_1"][0] = %hms_greece_cc_talking_guards_1; + level.scr_anim["generic"]["hms_greece_cc_talking_guards_1_react"] = %patrol_bored_react_look_v2; + level.scr_anim["generic"]["hms_greece_cc_talking_guards_2"][0] = %hms_greece_cc_talking_guards_2; + level.scr_anim["generic"]["hms_greece_cc_talking_guards_2_react"] = %patrol_bored_react_look_v1; + level.scr_anim["generic"]["oilrig_balcony_smoke_idle"][0] = %oilrig_balcony_smoke_idle; + level.scr_anim["generic"]["prague_sniper_pacing"][0] = %prague_sniper_pacing; + level.scr_anim["generic"]["parabolic_phoneguy_idle"][0] = %parabolic_phoneguy_idle; + level.scr_anim["generic"]["hms_greece_cc_gate_breach_guard_aprch"] = %hms_greece_cc_gate_breach_guard_aprch; + maps\_anim::addnotetrack_notify("generic","vo_start_1","GateGuardDialog1","hms_greece_cc_gate_breach_guard_aprch"); + maps\_anim::addnotetrack_notify("generic","vo_start_2","GateGuardDialog2","hms_greece_cc_gate_breach_guard_aprch"); + level.scr_anim["generic"]["parabolic_leaning_guy_idle"][0] = %parabolic_leaning_guy_idle; + level.scr_anim["generic"]["parabolic_leaning_guy_idle"][1] = %parabolic_leaning_guy_twitch; + level.scr_anim["generic"]["casual_stand_idle"][0] = %casual_stand_idle; + level.scr_anim["generic"]["casual_stand_idle"][1] = %casual_stand_idle_twitch; + level.scr_anim["generic"]["casual_stand_idle"][2] = %casual_stand_idle_twitchb; + level.scr_anim["generic"]["readystand_idle"][1] = %readystand_idle_twitch_1; + level.scr_anim["generic"]["readystand_idle"][2] = %readystand_idle_twitch_2; + level.scr_anim["generic"]["readystand_idle"][3] = %readystand_idle_twitch_3; + level.scr_anim["generic"]["readystand_idle"][4] = %readystand_idle_twitch_4; + level.scr_anim["generic"]["patrol_bored_idle"][0] = %patrol_bored_idle; + level.scr_anim["generic"]["prague_sniper_lookout_idle"][0] = %prague_sniper_lookout_idle; + level.scr_anim["generic"]["patrolstand_idle"][0] = %patrolstand_idle; + level.scr_anim["generic"]["patrolstand_idle"][1] = %patrolstand_twitch; + level.scr_anim["generic"]["patrolstand_idle"][2] = %patrolstand_look; + level.scr_anim["generic"]["patrol_bored_react_look"][0] = %patrol_bored_react_look_v1; + level.scr_anim["generic"]["patrol_bored_react_look"][1] = %patrol_bored_react_look_v2; + level.scr_anim["generic"]["so_hijack_search_gear_check_loop"][0] = %so_hijack_search_gear_check_loop; + level.scr_anim["generic"]["so_hijack_search_gear_check_loop_react"] = %so_hijack_search_gear_check_reaction; + level.scr_anim["generic"]["patrol_bored_duckandrun_b"] = %patrol_bored_duckandrun_b; + level.scr_anim["generic"]["so_hijack_search_gear_check_reaction"] = %so_hijack_search_gear_check_reaction; + level.scr_anim["generic"]["hms_greece_cc_car_alarm_idle_01"][0] = %hms_greece_cc_car_alarm_idle_01; + level.scr_anim["generic"]["hms_greece_cc_car_alarm_idle_01_react"] = %patrol_bored_react_look_v1; + level.scr_anim["generic"]["hms_greece_cc_car_alarm_idle_02_in"] = %hms_greece_cc_car_alarm_walk_stop_02; + level.scr_anim["generic"]["hms_greece_cc_car_alarm_idle_02"][0] = %hms_greece_cc_car_alarm_idle_02; + level.scr_anim["generic"]["hms_greece_cc_car_alarm_idle_02_react"] = %patrol_bored_react_look_v2; + level.scr_anim["generic"]["prague_intro_dock_guard_searchwater_center"][0] = %prague_intro_dock_guard_searchwater_center; + level.scr_anim["generic"]["active_patrolwalk"] = %active_patrolwalk_v1; + level.scr_anim["generic"]["active_patrolwalk_gundown"] = %active_patrolwalk_gundown; + level.scr_anim["generic"]["patrolwalk_tired"] = %patrolwalk_tired; + level.scr_anim["generic"]["patrol_bored_patrolwalk"] = %patrol_bored_patrolwalk; + level.scr_anim["generic"]["run_pain"] = %run_pain_stomach_stumble; + level.scr_anim["generic"]["creepwalk_f"] = %creepwalk_f; +} + +//Function Number: 5 +enemyreactanimations() +{ + level.scr_anim["generic"]["prague_sniper_lookout_idle"][0] = %prague_sniper_lookout_idle; + level.scr_anim["generic"]["car_alarm_idle_02_in"] = %hms_greece_cc_car_alarm_walk_stop_02; + level.scr_anim["generic"]["car_alarm_idle_01"][0] = %hms_greece_cc_car_alarm_idle_01; + level.scr_anim["generic"]["car_alarm_idle_02"][0] = %hms_greece_cc_car_alarm_idle_02; + level.scr_anim["generic"]["balconykill_idle"][0] = %hms_greece_cc_balconykill_idle; + level.scr_anim["generic"]["balconykill_react_advance"] = %patrol_bored_react_look_advance; + level.scr_anim["generic"]["balconykill_death_forward"] = %exposed_death_falltoknees; + level.scr_anim["generic"]["balconykill_death_back"] = %exposed_death_blowback; + level.scr_anim["generic"]["npc_alert_radio_call"] = %npc_alert_radio_call; + level.scr_anim["generic"]["breach_react_blowback_v2"] = %breach_react_blowback_v2; +} + +//Function Number: 6 +poolkillanimations() +{ + level.scr_anim["victim"]["parabolic_phoneguy_idle"][0] = %parabolic_phoneguy_idle; + level.scr_anim["infiltrator2"]["parabolic_knifekill"] = %parabolic_knifekill_mark; + level.scr_anim["victim"]["parabolic_knifekill"] = %parabolic_knifekill_phoneguy; + maps\_anim::addnotetrack_customfunction("victim","end_reaction",::walkwayguardstoptalking,"parabolic_knifekill"); + maps\_anim::addnotetrack_customfunction("victim","struggle",::stealthkillvictim,"parabolic_knifekill"); + maps\_anim::addnotetrack_notify("victim","struggle","WalkwayGuyStruggle","parabolic_knifekill"); + level.scr_anim["infiltrator1"]["pool_traverse_in"] = %hms_greece_cc_pool_traverse_wall_in_npc1; + level.scr_anim["infiltrator2"]["pool_traverse_in"] = %hms_greece_cc_pool_traverse_wall_in_npc2; + level.scr_anim["infiltrator1"]["pool_traverse_idle"][0] = %hms_greece_cc_pool_traverse_wall_idle_npc1; + level.scr_anim["infiltrator2"]["pool_traverse_idle"][0] = %hms_greece_cc_pool_traverse_wall_idle_npc2; + level.scr_anim["infiltrator1"]["pool_traverse_out"] = %hms_greece_cc_pool_traverse_wall_out_npc1; + level.scr_anim["infiltrator2"]["pool_traverse_out"] = %hms_greece_cc_pool_traverse_wall_out_npc2; + level.scr_anim["infiltrator1"]["hms_greece_cc_takedown_idle"][0] = %hms_greece_cc_takedown_idle_npc1; + level.scr_anim["infiltrator2"]["hms_greece_cc_takedown_idle"][0] = %hms_greece_cc_takedown_idle_npc2; + level.scr_anim["infiltrator3"]["hms_greece_cc_takedown_idle"][0] = %hms_greece_cc_takedown_idle_npc3; + level.scr_anim["infiltrator4"]["hms_greece_cc_takedown_idle"][0] = %hms_greece_cc_takedown_idle_npc4; + level.scr_anim["victim"]["hms_greece_cc_takedown_idle"][0] = %hms_greece_cc_takedown_idle_target; + level.scr_anim["victim"]["hms_greece_cc_takedown_react"] = %hms_greece_cc_takedown_alert_target; + level.scr_anim["victim"]["hms_greece_cc_takedown_fail_death"] = %stand_death_guts; + level.scr_anim["infiltrator1"]["hms_greece_cc_takedown"] = %hms_greece_cc_takedown_npc1; + maps\_anim::addnotetrack_customfunction("infiltrator1","Knife_Equip",::knifeequip,"hms_greece_cc_takedown"); + maps\_anim::addnotetrack_customfunction("infiltrator1","Knife_Detach",::knifedetach,"hms_greece_cc_takedown"); + level.scr_anim["infiltrator2"]["hms_greece_cc_takedown"] = %hms_greece_cc_takedown_npc2; + level.scr_anim["infiltrator3"]["hms_greece_cc_takedown"] = %hms_greece_cc_takedown_npc3; + level.scr_anim["infiltrator4"]["hms_greece_cc_takedown"] = %hms_greece_cc_takedown_npc4; + level.scr_anim["victim"]["hms_greece_cc_takedown"] = %hms_greece_cc_takedown_target; + level.scr_anim["victim"]["hms_greece_cc_takedown_death"] = %hms_greece_cc_takedown_death_target; + level.scr_anim["infiltrator1"]["hms_greece_cc_takedown_fail"] = %hms_greece_cc_takedown_fail_npc1; + level.scr_anim["infiltrator2"]["hms_greece_cc_takedown_fail"] = %hms_greece_cc_takedown_fail_npc2; + level.scr_anim["infiltratorburke"]["stairway_takedown"] = %hms_greece_stairway_takedown_ally; + level.scr_anim["victim"]["stairway_takedown"] = %hms_greece_stairway_takedown_enemy; + level.scr_anim["infiltratorburke"]["stairway_takedown_idle"][0] = %hms_greece_stairway_takedown_idle_ally; +} + +//Function Number: 7 +knifeequip(param_00) +{ + param_00.knife_attached = 1; + param_00 attach("weapon_parabolic_knife","TAG_INHAND",1); + maps\_utility::waittill_notetrack_or_damage("Knife_Stab"); + playfxontag(common_scripts\utility::getfx("knife_kill_fx"),param_00,"tag_knife_fx"); +} + +//Function Number: 8 +knifedetach(param_00) +{ + if(isdefined(param_00.knife_attached) && param_00.knife_attached) + { + param_00 detach("weapon_parabolic_knife","TAG_INHAND",1); + param_00.knife_attached = undefined; + } +} + +//Function Number: 9 +walkwaystruggleanimations() +{ + level.scr_anim["infiltratorburke"]["burkeambush"] = %hms_greece_cc_burkeambush_burke_live; + maps\_anim::addnotetrack_customfunction("infiltratorburke","burke_gets_hit",::maps\greece_conf_center::burkeambushnohitnotetrack,"burkeambush"); + level.scr_anim["infiltratorburke"]["burkeambush_death"] = %hms_greece_cc_burkeambush_burke_death; + level.scr_anim["infiltratorburke"]["burkeambush_nohit"] = %hms_greece_cc_burkeambush_burke_nohit; + level.scr_anim["attacker"]["burkeambush"] = %hms_greece_cc_burkeambush_guard; +} + +//Function Number: 10 +truckbodystashanimations() +{ + level.scr_anim["guard1"]["bodystash_in"] = %hms_greece_cc_truck_bodystash_trans_in_guard1; + level.scr_anim["guard2"]["bodystash_in"] = %hms_greece_cc_truck_bodystash_trans_in_guard2; + level.scr_anim["guard1"]["bodystash_react"] = %payback_sstorm_guard_shoot_reaction_1; + level.scr_anim["guard2"]["bodystash_react"] = %payback_sstorm_guard_shoot_reaction_2; + level.scr_anim["infiltratorburke"]["bodystash_idle"][0] = %hms_greece_cc_truck_bodystash_idle_burke; + level.scr_anim["guard1"]["bodystash_idle"][0] = %hms_greece_cc_truck_bodystash_idle_guard1; + level.scr_anim["guard2"]["bodystash_idle"][0] = %hms_greece_cc_truck_bodystash_idle_guard2; + level.scr_anim["guard1"]["bodystash_start_idle"][0] = %hms_greece_cc_truck_bodystash_start_idle_guard1; + level.scr_anim["guard2"]["bodystash_start_idle"][0] = %hms_greece_cc_truck_bodystash_start_idle_guard2; + level.scr_anim["guard1"]["bodystash"] = %hms_greece_cc_truck_bodystash_trans_out_guard1; + maps\_anim::addnotetrack_customfunction("guard1","ps_moving_truck_npc_bodyfall",::stealthkillvictim,"bodystash"); + level.scr_anim["guard1"]["bodystash_alt"] = %hms_greece_cc_truck_bodystash_trans_out_guard2_alt; + level.scr_anim["guard2"]["bodystash"] = %hms_greece_cc_truck_bodystash_trans_out_guard2; + maps\_anim::addnotetrack_customfunction("guard2","start_ragdoll_custom",::maps\greece_conf_center::guytruckbloodnotetrack,"bodystash"); + maps\_anim::addnotetrack_notify("guard2","start_ragdoll_custom","guard2_ragdoll","bodystash"); + maps\_anim::addnotetrack_customfunction("guard2","weapon_swap",::truckstashweaponswap,"bodystash"); + level.scr_anim["guard2"]["bodystash_alt"] = %hms_greece_cc_truck_bodystash_trans_out_guard1_alt; + maps\_anim::addnotetrack_customfunction("guard2","start_ragdoll_custom",::maps\greece_conf_center::guytruckbloodnotetrack,"bodystash_alt"); + maps\_anim::addnotetrack_notify("guard2","start_ragdoll_custom","guard2_ragdoll","bodystash_alt"); + maps\_anim::addnotetrack_customfunction("guard2","weapon_swap",::truckstashweaponswap,"bodystash_alt"); + level.scr_anim["infiltratorburke"]["bodystash"] = %hms_greece_cc_truck_bodystash_trans_out_burke; + maps\_anim::addnotetrack_customfunction("infiltratorburke","fire",::maps\greece_conf_center::guyextrabloodnotetrack,"bodystash"); + maps\_anim::addnotetrack_customfunction("infiltratorburke","fire",::removetruckguardoutline,"bodystash"); + level.scr_anim["infiltratorburke"]["bodystash_alt"] = %hms_greece_cc_truck_bodystash_trans_out_burke_alt; + level.scr_anim["infiltrator1"]["bodystash"] = %hms_greece_cc_truck_bodystash_trans_out_npc1; + maps\_anim::addnotetrack_notify("infiltrator1","OutlineMode_initiate","outline_allies","bodystash"); + level.scr_anim["infiltrator1"]["bodystash_alt"] = %hms_greece_cc_truck_bodystash_trans_out_npc1_alt; + level.scr_anim["infiltrator2"]["bodystash"] = %hms_greece_cc_truck_bodystash_trans_out_npc2; + maps\_anim::addnotetrack_notify("infiltrator2","OutlineMode_initiate","outline_allies","bodystash"); + level.scr_anim["infiltrator2"]["bodystash_alt"] = %hms_greece_cc_truck_bodystash_trans_out_npc2_alt; + maps\_anim::addnotetrack_customfunction("infiltrator2","ps_moving_truck_npc_shoot_alt",::maps\greece_conf_center::guyextrabloodnotetrack,"bodystash_alt"); + maps\_anim::addnotetrack_customfunction("infiltrator2","ps_moving_truck_npc_shoot_alt",::removetruckguardoutline,"bodystash_alt"); + level.scr_anim["guard1"]["active_patrolwalk_gundown"] = %active_patrolwalk_gundown; + level.scr_anim["guard2"]["casual_killer_walk_F"] = %casual_killer_walk_f; +} + +//Function Number: 11 +gatebreachanimations() +{ + level.scr_anim["infiltratorburke"]["gate_breach"] = %hms_greece_cc_gate_breach_burke; + level.scr_anim["infiltratorburke"]["gate_breach_alt"] = %hms_greece_cc_gate_breach_burke_alt; + maps\_anim::addnotetrack_customfunction("infiltratorburke","fire",::gatebreachkillburke,"gate_breach_alt"); + level.scr_anim["infiltrator1"]["gate_breach"] = %hms_greece_cc_gate_breach_npc1; + maps\_anim::addnotetrack_customfunction("infiltrator1","fire",::gatebreachkill1,"gate_breach"); + level.scr_anim["infiltrator1"]["gate_breach_alt"] = %hms_greece_cc_gate_breach_npc1_alt; + maps\_anim::addnotetrack_customfunction("infiltrator1","fire",::gatebreachkill1,"gate_breach_alt"); + level.scr_anim["infiltrator2"]["gate_breach"] = %hms_greece_cc_gate_breach_npc2; + maps\_anim::addnotetrack_customfunction("infiltrator2","fire",::gatebreachkill2,"gate_breach"); + level.scr_anim["infiltrator2"]["gate_breach_alt"] = %hms_greece_cc_gate_breach_npc2_alt; + maps\_anim::addnotetrack_customfunction("infiltrator2","fire",::gatebreachkill2,"gate_breach_alt"); + level.scr_anim["victim"]["gate_breach"] = %hms_greece_cc_gate_breach_guard; + level.scr_anim["infiltratorburke"]["gate_breach_idle"][0] = %hms_greece_cc_gate_breach_idle_burke; + level.scr_anim["infiltrator1"]["gate_breach_idle"][0] = %hms_greece_cc_gate_breach_idle_npc1; + level.scr_anim["infiltrator2"]["gate_breach_idle"][0] = %hms_greece_cc_gate_breach_idle_npc2; + level.scr_anim["victim"]["gate_breach_idle"][0] = %hms_greece_cc_gate_breach_idle_guard; + level.scr_goaltime["victim"]["gate_breach_idle"] = 1; + level.scr_anim["infiltratorburke"]["gate_breach_in"] = %hms_greece_cc_gate_breach_trans_in_burke; + level.scr_anim["infiltrator1"]["gate_breach_in"] = %hms_greece_cc_gate_breach_trans_in_npc1; + level.scr_anim["infiltrator2"]["gate_breach_in"] = %hms_greece_cc_gate_breach_trans_in_npc2; + level.scr_anim["infiltratorburke"]["courtyard_boostjump"] = %hms_greece_cc_courtyard_boost_jump_npc; + level.scr_anim["infiltratorburke"]["parking_boostjump"] = %hms_greece_boost_jump_down_npc; +} + +//Function Number: 12 +conferenceroomanimations() +{ + level.scr_anim["Hades"]["run_hunched_combat"][0] = %civilian_run_hunched_a; + level.scr_anim["Hades"]["run_hunched_combat"][1] = %civilian_run_hunched_c; + level.scr_anim["Hades"]["run_hunched_combat"][2] = %civilian_run_hunched_flinch; + var_00 = []; + var_00[0] = 3; + var_00[1] = 3; + var_00[2] = 1; + level.scr_anim["Hades"]["run_hunched_weights"] = common_scripts\utility::get_cumulative_weights(var_00); + level.scr_anim["Hades"]["pacing_idle"][0] = %hms_greece_cc_breach_meeting_target_idle_pacing; + level.scr_anim["Hades"]["standing_idle"][0] = %hms_greece_cc_breach_meeting_target_idle_hold; + level.scr_anim["Hades"]["post_speech_idle"][0] = %hms_greece_cc_breach_meeting_target_idle; + level.scr_anim["Hades"]["cc_breach"] = %hms_greece_cc_breach_meeting_target; + level.scr_anim["Hades"]["speech"] = %hms_greece_cc_breach_meeting_target_speech; + level.scr_anim["infiltrator1"]["squad_setup_in"] = %hms_greece_cc_breach_meeting_npc_idle_in; + level.scr_anim["infiltrator1"]["squad_setup"][0] = %hms_greece_cc_breach_meeting_npc_idle; + level.scr_anim["infiltrator2"]["squad_setup_in"] = %hms_greece_cc_breach_meeting_npc1_idle_in; + level.scr_anim["infiltrator2"]["squad_setup"][0] = %hms_greece_cc_breach_meeting_npc1_idle; + level.scr_anim["infiltratorburke"]["squad_setup_in"] = %hms_greece_cc_breach_meeting_npc2_idle_in; + level.scr_anim["infiltratorburke"]["squad_setup"][0] = %hms_greece_cc_breach_meeting_npc2_idle; + level.scr_anim["infiltrator1"]["cc_breach"] = %hms_greece_cc_breach_meeting_npc; + level.scr_anim["infiltrator2"]["cc_breach"] = %hms_greece_cc_breach_meeting_npc1; + maps\_anim::addnotetrack_customfunction("infiltrator2","flashbang_start",::confroomflashbang,"cc_breach"); + maps\_anim::addnotetrack_customfunction("infiltrator2","dialog",::confroomrecovery,"cc_breach"); + level.scr_anim["infiltratorburke"]["cc_breach"] = %hms_greece_cc_breach_meeting_npc2; + maps\_anim::addnotetrack_customfunction("infiltratorburke","body_scan",::confroombodyscan,"cc_breach"); + maps\_anim::addnotetrack_customfunction("infiltratorburke","body_scan",::maps\greece_conf_center_fx::hadesbodyscanfx,"cc_breach"); + maps\_anim::addnotetrack_customfunction("infiltratorburke","body_bomb_explode",::confroomexplosivetrap,"cc_breach"); + level.scr_anim["BodyGuard1"]["standing_idle"][0] = %hms_greece_cc_breach_meeting_guard1_idle; + level.scr_anim["BodyGuard1"]["pacing_idle"][0] = %hms_greece_cc_breach_meeting_guard1_pacing; + level.scr_anim["BodyGuard2"]["standing_idle"][0] = %hms_greece_cc_breach_meeting_guard2_idle; + level.scr_anim["BodyGuard2"]["pacing_idle"][0] = %hms_greece_cc_breach_meeting_guard2_pacing; + level.scr_anim["BodyGuard1"]["cc_breach"] = %hms_greece_cc_breach_meeting_guard1; + maps\_anim::addnotetrack_customfunction("BodyGuard1","death",::maps\greece_conf_center::confroombreachbodyguarddeath,"cc_breach"); + level.scr_anim["BodyGuard2"]["cc_breach"] = %hms_greece_cc_breach_meeting_guard2; + maps\_anim::addnotetrack_customfunction("BodyGuard2","death",::maps\greece_conf_center::confroombreachbodyguarddeath,"cc_breach"); + level.scr_anim["Vip1"]["vip_idle"][0] = %hms_greece_cc_breach_meeting_guest1_idle; + level.scr_anim["Vip2"]["vip_idle"][0] = %hms_greece_cc_breach_meeting_guest2_idle; + level.scr_anim["Vip3"]["vip_idle"][0] = %hms_greece_cc_breach_meeting_guest3_idle; + level.scr_anim["Vip3"]["speech"] = %hms_greece_cc_breach_meeting_guest3_speech; + level.scr_anim["Vip1"]["cc_breach"] = %hms_greece_cc_breach_meeting_guest1; + maps\_anim::addnotetrack_customfunction("Vip1","start_ragdoll_custom",::maps\greece_conf_center::confroomragdoll,"cc_breach"); + level.scr_anim["Vip2"]["cc_breach"] = %hms_greece_cc_breach_meeting_guest2; + maps\_anim::addnotetrack_customfunction("Vip2","start_ragdoll_custom",::maps\greece_conf_center::confroomragdoll,"cc_breach"); + level.scr_anim["Vip3"]["cc_breach"] = %hms_greece_cc_breach_meeting_guest3; + maps\_anim::addnotetrack_customfunction("Vip3","start_ragdoll_custom",::maps\greece_conf_center::confroomragdoll,"cc_breach"); + level.scr_anim["infiltrator1"]["breach_stairs"] = %hms_greece_cc_stairs_2flights2breach_npc; + level.scr_anim["infiltrator2"]["breach_stairs"] = %hms_greece_cc_stairs_2flights2breach_npc; + level.scr_anim["infiltratorburke"]["breach_stairs"] = %hms_greece_cc_stairs_breach_npc; +} + +//Function Number: 13 +atriumanimations() +{ + level.scr_anim["infiltrator1"]["mutebreach_setup"] = %hms_greece_cc_mutebreach_setup_npc; + level.scr_anim["infiltrator2"]["mutebreach_setup"] = %hms_greece_cc_mutebreach_setup_npc1; + level.scr_anim["infiltratorburke"]["mutebreach_setup"] = %hms_greece_cc_mutebreach_setup_burke; + level.scr_anim["infiltrator1"]["mutebreach_idle"][0] = %hms_greece_cc_mutebreach_idle_npc; + level.scr_anim["infiltrator2"]["mutebreach_idle"][0] = %hms_greece_cc_mutebreach_idle_npc1; + level.scr_anim["infiltratorburke"]["mutebreach_idle"][0] = %hms_greece_cc_mutebreach_idle_burke; + level.scr_anim["infiltrator1"]["mutebreach"] = %hms_greece_cc_mutebreach_out_npc; + level.scr_anim["infiltrator2"]["mutebreach"] = %hms_greece_cc_mutebreach_out_npc1; + level.scr_anim["infiltratorburke"]["mutebreach"] = %hms_greece_cc_mutebreach_out_burke; + level.scr_anim["infiltrator1"]["atrium_boost_jump"] = %hms_greece_cc_courtyard_boost_jump_npc; + level.scr_anim["infiltrator2"]["atrium_boost_jump"] = %hms_greece_cc_courtyard_boost_jump_npc; +} + +//Function Number: 14 +flyinanimations() +{ + level.scr_anim["infiltratorburke"]["flyin"] = %hms_greece_cc_droneflyin_burke; + level.scr_anim["infiltratorburke"]["flyin_end"] = %hms_greece_cc_droneflyin_burke_end; +} + +//Function Number: 15 +precachescriptmodelanims() +{ + level.scr_animtree["conf_room_door"] = #animtree; + level.scr_anim["conf_room_door"]["cc_breach"] = %hms_greece_cc_breach_meeting_door; + level.scr_animtree["drone_control_pad"] = #animtree; + level.scr_model["drone_control_pad"] = "greece_drone_control_pad"; + level.scr_anim["drone_control_pad"]["drone_launch_control_pad"] = %hms_greece_safehouse_dronelaunch_pad; + maps\_anim::addnotetrack_customfunction("drone_control_pad","tablet_touch_fx",::maps\greece_safehouse_fx::intro_drone_tablet_touch_fx); + level.scr_animtree["gate"] = #animtree; + level.scr_anim["gate"]["gate_breach"] = %hms_greece_cc_gate_breach_gatedoors; + maps\_anim::addnotetrack_customfunction("gate","gateEffect",::maps\greece_conf_center::gatebreachdoorsexplode,"gate_breach"); + level.scr_animtree["atrium_door"] = #animtree; + level.scr_anim["atrium_door_bottom"]["mutebreach"] = %hms_greece_cc_mutebreach_out_door1; + level.scr_anim["atrium_door_top"]["mutebreach"] = %hms_greece_cc_mutebreach_out_door2; + level.scr_animtree["breach_charge"] = #animtree; + level.scr_model["breach_charge"] = "breach_charge"; + level.scr_anim["breach_charge"]["mutebreach_setup"] = %hms_greece_cc_mutebreach_setup_brchchrg; + maps\_anim::addnotetrack_customfunction("breach_charge","show_brchchrg",::maps\greece_conf_center::showentnotetrack,"mutebreach_setup"); + level.scr_anim["breach_charge"]["mutebreach_idle"][0] = %hms_greece_cc_mutebreach_idle_brchchrg; + level.scr_anim["breach_charge"]["mutebreach"] = %hms_greece_cc_mutebreach_out_brchchrg; + maps\_anim::addnotetrack_customfunction("breach_charge","doorchrg_bang",::maps\greece_conf_center::atriumbreachexplosionnotetrack,"mutebreach"); + level.scr_anim["breach_charge_2"]["mutebreach_setup"] = %hms_greece_cc_mutebreach_setup_brchchrg_2; + level.scr_anim["breach_charge_2"]["mutebreach_idle"][0] = %hms_greece_cc_mutebreach_idle_brchchrg_2; + level.scr_anim["breach_charge_2"]["mutebreach"] = %hms_greece_cc_mutebreach_out_brchchrg_2; + level.scr_animtree["mute_charge"] = #animtree; + level.scr_model["mute_charge"] = "mutecharge"; + level.scr_anim["mute_charge"]["mutebreach_setup"] = %hms_greece_cc_mutebreach_setup_mutechrg; + maps\_anim::addnotetrack_customfunction("mute_charge","show_mutechrg",::maps\greece_conf_center::showentnotetrack,"mutebreach_setup"); + level.scr_animtree["sniper_drone_flight"] = #animtree; + level.scr_anim["sniper_drone_flight"]["death"] = %hms_greece_sniper_drone_death; + level.scr_anim["sniper_drone_flight"]["flyin"] = %hms_greece_cc_droneflyin; + level.scr_anim["sniper_drone_flight"]["flyin_idle"][0] = %hms_greece_cc_droneflyin_idle; + level.scr_anim["sniper_drone_flight"]["flyin_end"] = %hms_greece_cc_droneflyin_end; + level.scr_anim["sniper_drone_flight"]["explosion_reaction"] = %hms_greece_cc_drone_reaction; + level.scr_animtree["burkeambush_door"] = #animtree; + level.scr_anim["burkeambush_door"]["burkeambush"] = %hms_greece_cc_burkeambush_door; + level.scr_animtree["greece_blimp"] = #animtree; + level.scr_model["greece_blimp"] = "greece_blimp_rigged"; + level.scr_anim["greece_blimp"]["cc_blimp"][0] = %hms_greece_cc_blimp; +} + +//Function Number: 16 +setupvehicleanims() +{ + level.scr_animtree["truck"] = #animtree; + level.scr_anim["truck"]["bodystash"] = %hms_greece_cc_truck_bodystash_boxtruck; + level.scr_anim["truck"]["bodystash_alt"] = %hms_greece_cc_truck_bodystash_boxtruck_alt; + level.scr_anim["truck"]["flyin"] = %hms_greece_cc_droneflyin_truck; + level.scr_anim["truck"]["flyin_end"] = %hms_greece_cc_droneflyin_truck_end; + maps\_anim::addnotetrack_customfunction("truck","start_truck_walkto",::maps\greece_conf_center::truckstartwalknotetrack,"flyin_end"); + maps\_anim::addnotetrack_customfunction("truck","brake_start",::truckbrakelights,"flyin_end"); + level.scr_animtree["sniperdrone_barrel"] = #animtree; + level.scr_animtree["sniperdrone_outerparts"] = #animtree; + level.scr_anim["sniperdrone_barrel"]["flyin"] = %hms_greece_cc_droneflyin_barrel; + level.scr_anim["sniperdrone_barrel"]["flyin_idle"][0] = %hms_greece_cc_droneflyin_barrel_idle; + level.scr_anim["sniperdrone_barrel"]["flyin_end"] = %hms_greece_cc_droneflyin_barrel_end; + level.scr_anim["sniperdrone_outerparts"]["flyin"] = %hms_greece_cc_droneflyin_frame; + level.scr_anim["sniperdrone_outerparts"]["flyin_idle"][0] = %hms_greece_cc_droneflyin_frame_idle; + level.scr_anim["sniperdrone_outerparts"]["flyin_end"] = %hms_greece_cc_droneflyin_frame_end; + level.scr_anim["sniperdrone_barrel"]["explosion_reaction"] = %hms_greece_cc_drone_reaction_barrel; + level.scr_anim["sniperdrone_outerparts"]["explosion_reaction"] = %hms_greece_cc_drone_reaction_frame; + level.scr_anim["sniperdrone_barrel"]["death"] = %hms_greece_sniper_drone_death_barrel; + level.scr_anim["sniperdrone_outerparts"]["death"] = %hms_greece_sniper_drone_death_frame; +} + +//Function Number: 17 +garagedooranimations() +{ + level.scr_anim["rolling_door"]["intro_weapon_cache_rollingdoor"] = %intro_weapon_cache_rollingdoor; + level.scr_animtree["rolling_door"] = #animtree; + level.scr_model["rolling_door"] = "intro_rollingdoor_01"; +} + +//Function Number: 18 +truckbrakelights(param_00) +{ + playfxontag(common_scripts\utility::getfx("truck_brakelight"),param_00,"TAG_ORIGIN"); +} + +//Function Number: 19 +confroomhadessweep(param_00) +{ + var_01 = common_scripts\utility::getstruct("hadessweepimpulse","targetname"); + physicsexplosionsphere(var_01.origin,96,0,0.75); +} + +//Function Number: 20 +confroomflashbang(param_00) +{ + var_01 = common_scripts\utility::getstruct("cc_flashbang","targetname"); + playfx(common_scripts\utility::getfx("cc_flashbang"),var_01.origin); + soundscripts\_snd::snd_message("start_hades_flashbang",param_00); + level.confhades notify("stop_talking"); +} + +//Function Number: 21 +confroombodyscan(param_00) +{ + common_scripts\utility::flag_set("FlagConfRoomAlliesBodyScan"); +} + +//Function Number: 22 +confroomexplosivetrap(param_00) +{ + common_scripts\utility::flag_set("FlagConfRoomExplosion"); + level.player allowads(0); + var_01 = maps\_utility::get_living_ai("Infiltrator1","script_noteworthy"); + if(isdefined(var_01)) + { + var_01 notify("stop_talking"); + maps\_utility::radio_dialogue_stop(); + var_01 maps\greece_conf_center::unmarkandremoveoutline(0); + } + + maps\greece_conf_center::unmarkallies(); + var_02 = common_scripts\utility::getstruct("cc_glassimpulse","targetname"); + var_03 = common_scripts\utility::getstruct("cc_explosion","targetname"); + playfx(common_scripts\utility::getfx("cc_explosion"),var_03.origin); + maps\greece_conf_center_fx::confcenterbossexplode(); + wait(0.2); + level.confhades delete(); + var_01 delete(); + playfxontag(common_scripts\utility::getfx("sniperdrone_cc_explosion_debris_view"),level.player.sniperdronedata.barrelviewmodel,"TAG_ORIGIN"); + var_04 = getent("ConfRoomWindows","targetname"); + var_04 delete(); + physicsexplosionsphere(var_02.origin,300,10,2); + var_05 = distance(var_02.origin,level.player.origin); + var_06 = common_scripts\utility::getstructarray("cc_fire","targetname"); + foreach(var_08 in var_06) + { + playfx(common_scripts\utility::getfx("cc_fire_small"),var_08.origin); + } + + var_0A = common_scripts\utility::getstructarray("cc_alarm","targetname"); + foreach(var_08 in var_0A) + { + playfx(common_scripts\utility::getfx("cc_room_fire_alarm"),var_08.origin); + } + + level notify("ConfRoomExplosion"); + soundscripts\_snd::snd_message("hades_explosion_slowmo_start"); + setslowmotion(1,0.125,0.25); + wait(0.5); + setslowmotion(0.125,1,0.5); + soundscripts\_snd::snd_message("hades_explosion_slowmo_end"); + common_scripts\utility::flag_set("FlagSniperDroneFlinch"); + level.player shellshock("greece_drone_slowview",0.5); + maps\greece_conf_center::rumblesniperdronenearexplosion(); + maps\greece_conf_center::confroomexplosiondronereaction(); + level.player allowads(1); + common_scripts\utility::flag_clear("FlagConfRoomExplosion"); +} + +//Function Number: 23 +confroomrecovery(param_00) +{ + common_scripts\utility::flag_set("FlagConfRoomAlliesRecover"); +} + +//Function Number: 24 +stealthkillvictim(param_00) +{ + param_00 maps\greece_code::setalertoutline(); + if(target_istarget(param_00)) + { + target_remove(param_00); + } +} + +//Function Number: 25 +removetruckguardoutline(param_00) +{ + if(param_00.script_noteworthy == "InfiltratorBurke") + { + var_01 = maps\_utility::get_living_ai("GatePlayerTarget1","script_noteworthy"); + } + else + { + var_01 = maps\_utility::get_living_ai("GatePlayerTarget2","script_noteworthy"); + } + + if(isdefined(var_01)) + { + var_01 hudoutlinedisable(); + } +} + +//Function Number: 26 +gatebreachkill1(param_00) +{ + var_01 = undefined; + var_02 = param_00.script_noteworthy; + wait(0.1); + var_03 = maps\_utility::get_living_ai("CourtyardAllyTarget1","script_noteworthy"); + var_04 = maps\_utility::get_living_ai("CourtyardAllyTarget2","script_noteworthy"); + var_05 = maps\_utility::get_living_ai("CourtyardAllyTarget3","script_noteworthy"); + if(isdefined(var_05) && !isdefined(var_05.bistargeted)) + { + var_01 = var_05; + } + else if(isdefined(var_04) && !isdefined(var_04.bistargeted)) + { + var_01 = var_04; + } + else if(isdefined(var_03) && !isdefined(var_03.bistargeted) && !common_scripts\utility::flag("FlagCourtyardAlliesBreachGate")) + { + var_01 = var_03; + } + + if(isdefined(var_01)) + { + var_01.bistargeted = 1; + var_01 kill(); + } +} + +//Function Number: 27 +gatebreachkill2(param_00) +{ + var_01 = undefined; + var_02 = param_00.script_noteworthy; + wait(0.1); + var_03 = maps\_utility::get_living_ai("CourtyardAllyTarget1","script_noteworthy"); + var_04 = maps\_utility::get_living_ai("CourtyardAllyTarget2","script_noteworthy"); + var_05 = maps\_utility::get_living_ai("CourtyardAllyTarget3","script_noteworthy"); + if(isdefined(var_04) && !isdefined(var_04.bistargeted)) + { + var_01 = var_04; + } + else if(isdefined(var_05) && !isdefined(var_05.bistargeted)) + { + var_01 = var_05; + } + else if(isdefined(var_03) && !isdefined(var_03.bistargeted) && !common_scripts\utility::flag("FlagCourtyardAlliesBreachGate")) + { + var_01 = var_03; + } + + if(isdefined(var_01)) + { + var_01.bistargeted = 1; + var_01 kill(); + } +} + +//Function Number: 28 +gatebreachkillburke(param_00) +{ + var_01 = undefined; + var_02 = param_00.script_noteworthy; + wait(0.1); + var_03 = maps\_utility::get_living_ai("CourtyardAllyTarget1","script_noteworthy"); + var_04 = maps\_utility::get_living_ai("CourtyardAllyTarget2","script_noteworthy"); + var_05 = maps\_utility::get_living_ai("CourtyardAllyTarget3","script_noteworthy"); + if(isdefined(var_03) && !isdefined(var_03.bistargeted)) + { + var_01 = var_03; + } + else if(isdefined(var_04) && !isdefined(var_04.bistargeted)) + { + var_01 = var_04; + } + else if(isdefined(var_05) && !isdefined(var_05.bistargeted)) + { + var_01 = var_05; + } + + if(isdefined(var_01)) + { + var_01.bistargeted = 1; + var_01 kill(); + } +} + +//Function Number: 29 +walkwayguardstoptalking(param_00) +{ + var_01 = maps\_utility::get_living_ai("WalkwayPlayerTarget2","script_noteworthy"); + if(isdefined(var_01)) + { + var_01 notify("stop_talking"); + } + + maps\_utility::radio_dialogue_stop(); +} + +//Function Number: 30 +truckstashweaponswap(param_00) +{ + var_01 = common_scripts\utility::getstruct("gunSpot","targetname"); + var_02 = spawn("script_model",var_01.origin); + var_02 setmodel("npc_bal27_nocamo"); + var_02.origin = var_01.origin; + var_02.angles = var_01.angles; + param_00 = maps\_utility::get_living_ai("GatePlayerTarget2","script_noteworthy"); + if(isdefined(param_00)) + { + param_00 maps\_utility::gun_remove(); + } +} \ No newline at end of file diff --git a/AW/PC/maps/greece_conf_center_fx.gsc b/AW/PC/maps/greece_conf_center_fx.gsc new file mode 100644 index 0000000..7579aa0 --- /dev/null +++ b/AW/PC/maps/greece_conf_center_fx.gsc @@ -0,0 +1,102 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: greece_conf_center_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 11 + * Decompile Time: 205 ms + * Timestamp: 4/22/2024 2:30:53 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + thread precachefx(); +} + +//Function Number: 2 +precachefx() +{ + level._effect["cc_building_explosion"] = loadfx("vfx/map/greece/greece_explosion_cc_runner"); + level._effect["cc_flashbang"] = loadfx("vfx/map/greece/greece_flashbang"); + level._effect["cc_explosion"] = loadfx("vfx/map/greece/greece_vehicle_explo_small_runner"); + level._effect["cc_fire_small"] = loadfx("vfx/map/greece/greece_fire_ground_01"); + level._effect["cc_room_fire_alarm"] = loadfx("fx/lights/lights_sub_alarm_strobe"); + level._effect["sniper_drone_flash_view"] = loadfx("vfx/muzzleflash/sniper_drone_flash_view"); + level._effect["sniper_drone_tracer"] = loadfx("vfx/muzzleflash/sniper_drone_tracer"); + level._effect["sniper_drone_thruster_view"] = loadfx("vfx/distortion/sniper_drone_runner_idle_view"); + level._effect["sniper_drone_wind_marker"] = loadfx("vfx/map/greece/sniper_drone_wind_marker_runner"); + level._effect["water_movement"] = loadfx("vfx/map/greece/greece_water_wake_small_element"); + level._effect["sniperdrone_cc_explosion_debris_view"] = loadfx("vfx/map/greece/greece_cc_glass_shatter_drone_view"); + level._effect["sniperdrone_cc_death_fx"] = loadfx("vfx/map/greece/greece_sniper_drone_damage"); + level._effect["kamikaze_drone_explosion"] = loadfx("vfx/map/greece/greece_rocket_explosion_default"); + level._effect["kamikaze_drone_trail"] = loadfx("vfx/trail/smoketrail_rpg_greece"); + level._effect["kamikaze_drone_launch"] = loadfx("vfx/muzzleflash/rpg_flash_wv"); + level._effect["knife_kill_fx"] = loadfx("fx/maps/warlord/intro_blood_throat_stab"); + level._effect["truck_brakelight"] = loadfx("vfx/lights/veh_civ_delivery_truck_stop_light"); + level._effect["hades_body_scan_fx"] = loadfx("vfx/map/greece/greece_hades_bodyscan"); + level._effect["technical_muzzle_flash"] = loadfx("vfx/muzzleflash/50cal_flash_wv"); +} + +//Function Number: 3 +confcentergatecharge() +{ + common_scripts\_exploder::exploder(500); +} + +//Function Number: 4 +confcenterpoolsplash() +{ + common_scripts\_exploder::exploder(600); +} + +//Function Number: 5 +confcenterpoolallywaterdrip() +{ + var_00 = maps\_utility::get_living_ai("Infiltrator1","script_noteworthy"); + var_00.animname = "infiltrator1"; + playfxontag(common_scripts\utility::getfx("cc_building_character_water_drip_runner"),var_00,"J_SpineUpper"); + playfxontag(common_scripts\utility::getfx("cc_building_character_water_drip_runner"),var_00,"J_Knee_RI"); + playfxontag(common_scripts\utility::getfx("cc_building_character_water_drip_runner"),var_00,"J_Knee_LE"); +} + +//Function Number: 6 +confcenteratriumflashcharge() +{ + common_scripts\_exploder::exploder(700); +} + +//Function Number: 7 +confcenterlightglowfx() +{ + common_scripts\_exploder::exploder(900); +} + +//Function Number: 8 +hadesbodyscanfx(param_00) +{ + playfxontag(common_scripts\utility::getfx("hades_body_scan_fx"),param_00,"J_WristTwist_LE"); +} + +//Function Number: 9 +confcenterbossexplode() +{ + common_scripts\_exploder::exploder(1000); + common_scripts\_exploder::kill_exploder(900); +} + +//Function Number: 10 +confcenterresidualsmoke() +{ + common_scripts\_exploder::exploder(1001); +} + +//Function Number: 11 +confcenterexplosion() +{ + var_00 = getent("ConfCenterExplosion","targetname"); + common_scripts\_exploder::exploder(2000); + maps\_hms_utility::printlnscreenandconsole("KA-BOOM!!!"); + common_scripts\_exploder::kill_exploder(1000); + common_scripts\_exploder::kill_exploder(130); +} \ No newline at end of file diff --git a/AW/PC/maps/greece_conf_center_vo.gsc b/AW/PC/maps/greece_conf_center_vo.gsc new file mode 100644 index 0000000..2200acb --- /dev/null +++ b/AW/PC/maps/greece_conf_center_vo.gsc @@ -0,0 +1,819 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: greece_conf_center_vo.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 39 + * Decompile Time: 577 ms + * Timestamp: 4/22/2024 2:30:55 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setupconfcentervo(); + thread startconfcenterdialoguethreads(); +} + +//Function Number: 2 +setupconfcentervo() +{ + var_00 = "Burke"; + var_01 = "Ilona"; + level.scr_sound["Ilona"]["grk_iln_prophetpleaseclarify"] = "grk_iln_prophetpleaseclarify"; +} + +//Function Number: 3 +startconfcenterdialoguethreads() +{ + thread confcenterintrodialogue(); + thread confcentersupportadialogue(); + thread confcentersupportbdialogue(); + thread confcentersupportcdialogue(); + thread confcenterkilldialogue(); + thread confcentercombatdialogue(); + thread confcenteroutrodialogue(); +} + +//Function Number: 4 +confcenterintrodialogue() +{ + common_scripts\utility::flag_wait("FlagConfCenterVOStart"); + wait(1); + thread maps\greece_conf_center::dronecontrolobjdisplay(); + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneIntro"); + common_scripts\utility::flag_set("FlagSetObjDroneSupport"); + common_scripts\utility::flag_wait("FlagSniperDroneLaunched"); + thread maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneIntroPrompt"); + thread maps\greece_conf_center::playerinteractdronecontrol(); + common_scripts\utility::flag_wait("FlagPlayerStartDroneInteract"); + wait(3); + soundscripts\_snd::snd_message("start_drone_launch_music"); + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneLaunch"); + common_scripts\utility::flag_wait("FlagPlayerStartDroneFlight"); + wait(1); + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneFlight"); + common_scripts\utility::flag_set("FlagMonitorZoomOnHades"); + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneZoom"); + common_scripts\utility::flag_wait("FlagPlayerZoomOnHades1"); + wait(1); + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneIntroZoom"); + common_scripts\utility::flag_wait("FlagPlayerEndDroneFlight"); + wait(1); + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneInPosition"); + common_scripts\utility::flag_set("FlagBeginConfCenterSupportA"); +} + +//Function Number: 5 +confcentersupportadialogue() +{ + level endon("alarm_mission_end"); + common_scripts\utility::flag_wait("FlagBeginConfCenterSupportA"); + wait(1); + common_scripts\utility::flag_set("FlagBeginGateSetup"); + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneBeginSupport"); + thread gateguarddialogue(); + common_scripts\utility::flag_wait("FlagGateGuardsAtAllyVehicle"); + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneBeginGateSetup"); + thread gateguardreminderdialogue(); + common_scripts\utility::flag_wait("FlagAllyShootGateGuard"); + wait(1); + if(common_scripts\utility::flag("FlagBodyStashGuardsAlerted")) + { + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneGateGuardsAlerted"); + } + else + { + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneEndGateSetupAlt"); + } + + common_scripts\utility::flag_wait("FlagEndGateSetup"); + common_scripts\utility::flag_set("FlagBeginCourtyardSetup"); + if(!common_scripts\utility::flag("FlagAllCourtyardGuardsDead")) + { + thread begincourtyarddialogue(); + wait(1); + thread courtyardguardcheckgatedialogue(); + common_scripts\utility::flag_wait_either("FlagCourtyardAlliesBreachGate","FlagCourtyardAlliesBreachGateAlt"); + } + + wait(0.1); + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneEndCourtyardSetup"); + common_scripts\utility::flag_wait("FlagEndCourtyardSetup"); + wait(0.5); + thread maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneCourtyardClear"); + common_scripts\utility::flag_set("FlagBeginConfCenterSupportB"); +} + +//Function Number: 6 +confcentersupportbdialogue() +{ + level endon("alarm_mission_end"); + level endon("burke_killed"); + common_scripts\utility::flag_wait("FlagBeginConfCenterSupportB"); + wait(0.1); + common_scripts\utility::flag_set("FlagBeginWalkwaySetup"); + wait(5); + if(!common_scripts\utility::flag("FlagAllWalkwayGuardsDead")) + { + thread maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneEndWalkwaySetup"); + common_scripts\utility::flag_wait_either("FlagAllWalkwayGuardsDead","FlagWalkwayAlliesPerformKill"); + wait(1); + if(common_scripts\utility::flag("FlagWalkwayAlliesPerformKill")) + { + thread maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneEndStruggleSetup"); + } + else + { + thread maps\_hms_utility::playdialog(level.dialogtable,"SniperdronePoolAllyKill"); + } + } + else + { + thread maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneEndStruggleSetup"); + } + + wait(1); + common_scripts\utility::flag_set("FlagBeginStruggleSetup"); + common_scripts\utility::flag_wait("FlagStruggleGuardAttacks"); + wait(2); + thread maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneBeginStruggleSetup"); + wait 0.05; + var_00 = playerquickkill(level.playertargets,2,1); + wait(3); + if(isdefined(var_00)) + { + if(var_00 == 1) + { + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneStruggleKillClean"); + } + else + { + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneStruggleKillSloppy"); + } + } + + common_scripts\utility::flag_set("FlagBeginPoolSetup"); + wait(1); + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneMoveToPool"); + if(!common_scripts\utility::flag("FlagAllPoolGuardsDead")) + { + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneBeginPoolSetup"); + thread playeridlereminderdialogue("FlagAllPoolGuardsDead"); + common_scripts\utility::flag_wait("FlagAllPoolGuardsDead"); + wait(1); + thread maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneEndPoolSetup"); + } + + wait(1); + common_scripts\utility::flag_set("FlagBeginConfCenterSupportC"); +} + +//Function Number: 7 +confcentersupportcdialogue() +{ + level endon("alarm_mission_end"); + common_scripts\utility::flag_wait("FlagBeginConfCenterSupportC"); + wait(1); + common_scripts\utility::flag_wait("FlagAtriumAlliesReadyToBreach"); + thread atriumsetupdialogue(); + wait(1); + common_scripts\utility::flag_set("FlagBeginAtriumSetup"); + thread atriumreminderdialogue(); + thread atriumlookatdialogue(); + thread atriumshootfirstdialogue(); + common_scripts\utility::flag_wait("FlagAtriumEnemiesAllMarked"); + wait 0.05; + var_00 = playerquickkill(level.playertargets,level.atriumtimewindow * 0.66,1); + wait(1); + if(isdefined(var_00)) + { + soundscripts\_snd::snd_message("stop_atrium_fight"); + if(common_scripts\utility::flag("FlagPlayerShootFirstAtrium")) + { + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneJumpGunSuccess"); + } + else if(var_00 == 1) + { + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneAtriumClearFast"); + } + else + { + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneAtriumClearSlow"); + } + } + + common_scripts\utility::flag_wait("FlagEndAtriumSetup"); + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneEndAtriumSetup"); + wait(1); + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneAtriumStairs"); + wait(1); + if(!common_scripts\utility::flag("FlagAllRooftopGuardsDead")) + { + thread maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneBeginRooftopSetup"); + wait(1); + thread rooftopreminderdialogue(); + } + + common_scripts\utility::flag_set("FlagBeginRooftopSetup"); + wait 0.05; + if(!common_scripts\utility::flag("FlagAllRooftopGuardsDead")) + { + var_01 = playerquickkill(); + wait(1); + if(isdefined(var_01)) + { + if(var_01 == 1) + { + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneEndRooftopSetup"); + } + else + { + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneKillEnemySlow",undefined,undefined,undefined,1); + } + } + } + + common_scripts\utility::flag_wait("FlagEndRooftopSetup"); + if(!common_scripts\utility::flag("FlagAllParkingGuardsDead")) + { + if(!common_scripts\utility::flag("FlagAnyParkingGuardsDead")) + { + thread maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneBeginParkingSetup"); + } + + common_scripts\utility::flag_set("FlagBeginParkingSetup"); + wait(1); + thread parkingreminderdialogue(); + thread parkinginvestigatorsdialogue(); + thread parkingstairskilldialogue(); + common_scripts\utility::flag_wait("FlagAllParkingGuardsDead"); + wait(1); + } + + thread maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneEndParkingSetup"); + common_scripts\utility::flag_wait("FlagAtriumAlliesExit"); + common_scripts\utility::flag_set("FlagBeginConfCenterKill"); + level notify("ConfRoomSetupBreach"); + soundscripts\_snd::snd_message("parking_lot_clear"); +} + +//Function Number: 8 +begincourtyarddialogue() +{ + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneBeginCourtyardSetup"); + if(common_scripts\utility::flag("FlagCourtyardAnyOverwatchDead")) + { + return; + } + + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneBeginCourtyardOverwatch"); +} + +//Function Number: 9 +atriumsetupdialogue() +{ + level endon("SniperdroneAtriumPlayerSignalBreach"); + level endon("SniperdroneAtriumPlayerFirstShot"); + level endon("alarm_mission_end"); + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneBeginAtriumSetup1"); + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneBeginAtriumSetup2"); +} + +//Function Number: 10 +gateguardreminderdialogue() +{ + wait(3); + if(!common_scripts\utility::flag("FlagOkayToShootDrone")) + { + thread maps\_utility::display_hint("look_at_truck"); + } +} + +//Function Number: 11 +atriumlookatdialogue() +{ + level endon("SniperdroneAtriumPlayerFirstShot"); + level endon("alarm_mission_end"); + common_scripts\utility::flag_wait("FlagPlayerLookingAtAtrium"); + common_scripts\utility::flag_set("FlagUnMarkAtrium"); + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneAtriumStartBreach"); + thread maps\greece_conf_center::monitorplayersignalatriumbreach(); + common_scripts\utility::flag_wait("FlagPlayerSignalAtriumBreach"); + level notify("SniperdroneAtriumPlayerSignalBreach"); + wait(1); + common_scripts\utility::flag_set("FlagAtriumAlliesPerformBreach"); +} + +//Function Number: 12 +atriumshootfirstdialogue() +{ + level endon("SniperdroneAtriumPlayerSignalBreach"); + level endon("alarm_mission_end"); + common_scripts\utility::flag_wait("FlagPlayerShootFirstAtrium"); + common_scripts\utility::flag_set("FlagUnMarkAtrium"); + maps\_utility::radio_dialogue_stop(); + thread maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneJumpGun"); + wait(1); + common_scripts\utility::flag_set("FlagAtriumAlliesPerformBreach"); +} + +//Function Number: 13 +confcenterfailalarmsoundeddialogue() +{ + maps\_utility::radio_dialogue_stop(); + wait 0.05; + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneFailAlert",undefined,undefined,undefined,1); +} + +//Function Number: 14 +confcenterfailhadeskilledearlydialogue() +{ + maps\_utility::radio_dialogue_stop(); + wait 0.05; + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneFailKillHades"); +} + +//Function Number: 15 +confcenterfailburkekilleddialogue(param_00) +{ + maps\_utility::radio_dialogue_stop(); + wait 0.05; + if(param_00 == 0) + { + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneFailStruggleSetup"); + return; + } + + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneFailAlert",undefined,undefined,undefined,1); +} + +//Function Number: 16 +confcenterfailtimerexpiredialogue() +{ + maps\_utility::radio_dialogue_stop(); + wait 0.05; + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneFailTimerExpire"); +} + +//Function Number: 17 +confcenterfailinvalidtargetdialogue() +{ + maps\_utility::radio_dialogue_stop(); + wait 0.05; + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneKillEnemyBad",undefined,undefined,undefined,1); +} + +//Function Number: 18 +confcenterfailtimeoutdialogue() +{ + maps\_utility::radio_dialogue_stop(); + wait 0.05; + maps\_hms_utility::playdialog(level.dialogtable,"SniperDroneFailTimeout"); +} + +//Function Number: 19 +playeridlereminderdialogue(param_00,param_01,param_02) +{ + level endon("alarm_mission_end"); + level endon("end_sniper_drone"); + if(!isdefined(param_01)) + { + param_01 = 10; + } + + if(!isdefined(param_02)) + { + param_02 = 1; + } + + wait(param_01); + var_03 = 0; + while(!common_scripts\utility::flag(param_00)) + { + thread maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneTakingTooLong",undefined,undefined,undefined,1); + wait(param_01); + if(param_02 == 1) + { + var_03++; + if(var_03 >= 6) + { + thread confcenterfailtimeoutdialogue(); + wait(1); + common_scripts\utility::flag_set("FlagAlarmMissionEnd"); + maps\greece_conf_center::destroyatriumfighttimer(); + level notify("alarm_mission_end"); + } + } + } +} + +//Function Number: 20 +confcenterkilldialogue() +{ + level endon("alarm_mission_end"); + common_scripts\utility::flag_wait("FlagBeginConfCenterKill"); + wait(1); + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneBeginKillHades"); + thread maps\greece_conf_center::monitorzoomonhades2(); + thread confroomreminderdialogue(); + common_scripts\utility::flag_wait("FlagPlayerZoomOnHades2"); + soundscripts\_snd::snd_message("begin_kill_hades_sequence"); + soundscripts\_snd::snd_message("start_hades_transition"); + common_scripts\utility::flag_set("FlagHadesSpeechStarted"); + maps\_utility::delaythread(1,::maps\_hms_utility::playdialog,level.dialogtable,"SniperdroneViewHades"); + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneHadesSpeech",undefined,undefined,undefined,0,1); + common_scripts\utility::flag_set("FlagOkayToKillHades"); + level.confhades.default_health = level.confhades.health; + level.confhades.health = 10000; + level.confhades.maxhealth = 10000; + thread hadesreminderdialogue(); + common_scripts\utility::flag_wait("FlagConfHadesDead"); + wait(1); + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneEndKillHades"); + common_scripts\utility::flag_wait("FlagConfRoomAlliesBodyScan"); + soundscripts\_snd::snd_message("start_hades_double_stinger"); + soundscripts\_snd::snd_message("hades_rigged_walla"); + var_00 = maps\_utility::get_living_ai("Infiltrator1","script_noteworthy"); + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneNotHades",undefined,"stop_talking",var_00); + common_scripts\utility::flag_wait("FlagConfRoomAlliesRecover"); + maps\greece_conf_center::markallies(); + soundscripts\_snd::snd_message("start_cc_open_combat"); + wait(1); + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneBeginCombat"); + common_scripts\utility::flag_wait("FlagConfRoomAlliesExit"); + common_scripts\utility::flag_set("FlagBeginConfCenterCombat"); +} + +//Function Number: 21 +confcentercombatdialogue() +{ + level endon("alarm_mission_end"); + common_scripts\utility::flag_wait("FlagBeginConfCenterCombat"); + wait(1); + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneBeginKVAMove"); + wait(1); + thread combatreminderdialogue(); + common_scripts\utility::flag_wait("FlagSomeAmbushSouthGuardsDead"); + wait(1); + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneEnemyTechnical"); + common_scripts\utility::flag_wait_all("FlagAllAmbushGuardsDead","FlagEnemyVehicleTurretDisabled"); + common_scripts\utility::flag_set("FlagBeginConfCenterOutro"); +} + +//Function Number: 22 +combatreminderdialogue() +{ + level endon("alarm_mission_end"); + wait(10); + while(!common_scripts\utility::flag("FlagBeginConfCenterOutro")) + { + thread maps\_hms_utility::playdialog(level.dialogtable,"SupportDroneSupportReminder",undefined,undefined,undefined,1); + wait(20); + } +} + +//Function Number: 23 +confcenteroutrodialogue() +{ + level endon("alarm_mission_end"); + common_scripts\utility::flag_wait("FlagBeginConfCenterOutro"); + wait(1); + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneMoreCombat"); + common_scripts\utility::flag_wait("FlagHadesVehicleDriveStart"); + wait(1); + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneHadesEscape"); + common_scripts\utility::flag_wait("FlagHadesVehicleDroneLaunch"); + wait(0.5); + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneHadesLaunchesDrones"); + common_scripts\utility::flag_wait("FlagPlayerEndDroneStatic"); + wait(1); + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneEndCombat"); +} + +//Function Number: 24 +gateguarddialogue() +{ + level endon("alarm_mission_end"); + level endon("GateGuardsDead"); + var_00 = maps\_utility::get_living_ai("GatePlayerTarget1","script_noteworthy"); + if(isdefined(var_00)) + { + var_00 endon("death"); + var_00 endon("dying"); + var_00 endon("stop_talking"); + common_scripts\utility::flag_wait("FlagAllyVehicleDriveBy"); + wait(1); + maps\_hms_utility::playdialog(level.dialogtable,"GateGuardApproachAllyVehicle",undefined,"stop_talking",var_00); + common_scripts\utility::flag_wait("FlagGateGuardsAtAllyVehicle"); + maps\_hms_utility::playdialog(level.dialogtable,"GateGuardAtAllyVehicle",undefined,"stop_talking",var_00); + wait(10); + maps\_hms_utility::playdialog(level.dialogtable,"GateGuardTimeout",undefined,"stop_talking",var_00); + thread confcenterfailtimeoutdialogue(); + wait(1); + common_scripts\utility::flag_set("FlagAlarmMissionEnd"); + } +} + +//Function Number: 25 +courtyardguardcheckgatedialogue() +{ + level endon("alarm_mission_end"); + var_00 = maps\_utility::get_living_ai("CourtyardAllyTarget1","script_noteworthy"); + if(isdefined(var_00)) + { + var_00 endon("death"); + var_00 endon("dying"); + var_00 endon("stop_talking"); + level waittill("GateGuardDialog1"); + maps\_hms_utility::playdialog(level.dialogtable,"CourtyardGuardApproachingGate",undefined,"stop_talking",var_00); + thread courtyardreminderdialogue(); + level waittill("GateGuardDialog2"); + maps\_hms_utility::playdialog(level.dialogtable,"CourtyardGuardAtGate",undefined,"stop_talking",var_00); + } +} + +//Function Number: 26 +courtyardreminderdialogue() +{ + level endon("alarm_mission_end"); + wait(1); + if(!common_scripts\utility::flag("FlagCourtyardAnyOverwatchDead")) + { + thread maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneBeginCourtyardReminder"); + thread maps\_utility::display_hint_timeout_mintime("courtyard_overwatch",5,3); + return; + } + + if(common_scripts\utility::flag("FlagCourtyardAllOverwatchDead")) + { + thread maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneBeginCourtyardNext"); + } +} + +//Function Number: 27 +walkwayguarddialogue() +{ + level endon("alarm_mission_end"); + var_00 = maps\_utility::get_living_ai("WalkwayAllyTarget1","script_noteworthy"); + if(isdefined(var_00)) + { + var_00 endon("death"); + var_00 endon("dying"); + var_00 endon("stop_talking"); + maps\_hms_utility::playdialog(level.dialogtable,"WalkwayGuardTalkOnPhone",undefined,"stop_talking",var_00); + } +} + +//Function Number: 28 +walkwayplayerkilldialogue() +{ + level endon("alarm_mission_end"); + wait(1); + thread maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneKillEnemyGood",undefined,undefined,undefined,1); +} + +//Function Number: 29 +atriumreminderdialogue() +{ + level endon("SniperdroneAtriumPlayerSignalBreach"); + level endon("SniperdroneAtriumPlayerFirstShot"); + level endon("alarm_mission_end"); + wait(10); + if(!common_scripts\utility::flag("FlagUnMarkAtrium")) + { + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneBeginAtriumReminder"); + } + + wait(10); + thread playeridlereminderdialogue("FlagAtriumAlliesPerformBreach"); + thread maps\_utility::display_hint_timeout_mintime("atrium_view",10,3); +} + +//Function Number: 30 +rooftopreminderdialogue() +{ + level endon("alarm_mission_end"); + wait(10); + if(!common_scripts\utility::flag("FlagAllRooftopGuardsDead")) + { + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneBeginRooftopReminder"); + thread playeridlereminderdialogue("FlagAllRooftopGuardsDead"); + } +} + +//Function Number: 31 +parkingreminderdialogue() +{ + level endon("alarm_mission_end"); + wait(10); + if(!common_scripts\utility::flag("FlagUnMarkParkingCars")) + { + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneBeginParkingReminder"); + } + + wait(10); + thread playeridlereminderdialogue("FlagUnMarkParkingCars"); + thread maps\_utility::display_hint_timeout_mintime("car_alarm",10,3); +} + +//Function Number: 32 +parkinginvestigatorsdialogue() +{ + level endon("alarm_mission_end"); + var_00 = maps\_utility::get_living_ai("ParkingPlayerTarget1","script_noteworthy"); + var_01 = maps\_utility::get_living_ai("ParkingPlayerTarget2","script_noteworthy"); + var_02 = maps\_utility::get_living_ai("ParkingPlayerTarget3","script_noteworthy"); + if(isdefined(var_00) && isdefined(var_01) && isdefined(var_02)) + { + var_00 endon("death"); + var_00 endon("dying"); + var_00 endon("stop_talking"); + var_01 endon("death"); + var_01 endon("dying"); + var_01 endon("stop_talking"); + var_02 endon("death"); + var_02 endon("dying"); + var_02 endon("stop_talking"); + common_scripts\utility::flag_wait("FlagParkingGuardsMovingToCar"); + wait(1); + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneParkingCarAlarmActivated"); + wait(1); + thread maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneParkingOneOnStairs"); + wait(1); + common_scripts\utility::flag_set("FlagParkingAlliesOrderedToKill"); + common_scripts\utility::flag_wait("FlagParkingGuardsNearCar"); + wait(1); + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneParkingGuardsInPosition"); + thread parkingguardsreminderdialogue(); + } +} + +//Function Number: 33 +parkingstairskilldialogue() +{ + level endon("alarm_mission_end"); + common_scripts\utility::flag_wait_either("FlagParkingAlliesPerformKill","FlagParkingPlayerStealKill"); + wait(1); + if(!common_scripts\utility::flag("FlagAllParkingGuardsDead")) + { + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneParkingStairsGuardKilled"); + } +} + +//Function Number: 34 +parkingguardsreminderdialogue() +{ + level endon("alarm_mission_end"); + wait(5); + while(!common_scripts\utility::flag("FlagAllParkingGuardsDead")) + { + thread maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneParkingGuardsReminder",undefined,undefined,undefined,1); + wait(10); + } +} + +//Function Number: 35 +confroomreminderdialogue() +{ + level endon("alarm_mission_end"); + var_00 = getent("TriggerConfRoomPlayer","targetname"); + wait(10); + if(!common_scripts\utility::flag("FlagPlayerZoomOnHades2")) + { + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneViewHadesDirection"); + } + + wait(10); + thread playeridlereminderdialogue("FlagPlayerZoomOnHades2"); + thread maps\_utility::display_hint_timeout_mintime("hades_zoom",10,3); +} + +//Function Number: 36 +hadesreminderdialogue() +{ + level endon("alarm_mission_end"); + if(!common_scripts\utility::flag("FlagConfHadesDead")) + { + thread maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneHadesShot",undefined,undefined,undefined,0,1); + } + + wait(1); + thread hadesspeechdialogue(); + wait(10); + if(!common_scripts\utility::flag("FlagConfHadesDead")) + { + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneHadesSecondReminder",undefined,"stop_talking",level.confhades,0,1); + } + + wait(10); + if(!common_scripts\utility::flag("FlagConfHadesDead")) + { + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneHadesReminder",undefined,"stop_talking",level.confhades,0,1); + } +} + +//Function Number: 37 +hadesspeechdialogue() +{ + level endon("alarm_mission_end"); + if(!common_scripts\utility::flag("FlagConfHadesDead")) + { + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneHadesSpeechMore","stop_hades_speech","stop_talking",level.confhades,0,1); + } + + if(!common_scripts\utility::flag("FlagConfHadesDead")) + { + thread maps\greece_conf_center::failkillhadeslate(); + } +} + +//Function Number: 38 +playerquickkill(param_00,param_01,param_02) +{ + if(!isdefined(param_00)) + { + param_00 = level.playertargets; + } + + if(!isdefined(param_01)) + { + param_01 = 1; + } + + if(!isdefined(param_02)) + { + param_02 = 0; + } + + if(param_00.size > 0) + { + if(param_02 == 0) + { + maps\_utility::waittill_dead_or_dying(param_00,1); + } + + var_03 = gettime(); + maps\_hms_utility::printlnscreenandconsole("START time: " + var_03 + " milliseconds"); + maps\_utility::waittill_dead_or_dying(param_00); + var_04 = gettime(); + maps\_hms_utility::printlnscreenandconsole("END time: " + var_04 + " milliseconds"); + var_05 = var_04 - var_03 * 0.001; + if(var_05 <= param_01) + { + maps\_hms_utility::printlnscreenandconsole("Player killed targets QUICKLY: in " + var_05 + " seconds"); + return 1; + } + + maps\_hms_utility::printlnscreenandconsole("Player killed targets SLOWLY: in " + var_05 + " seconds"); + return 0; + } +} + +//Function Number: 39 +playerstealthkill(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = level.playertargets; + } + + var_01 = 1; + var_02 = undefined; + while(param_00.size > 0) + { + param_00 = maps\_utility::array_removedead_or_dying(param_00); + foreach(var_04 in param_00) + { + if(isalive(var_04) && maps\_utility::is_in_array(level.alertedenemies,var_04)) + { + if(isdefined(var_04.script_noteworthy)) + { + var_02 = var_04.script_noteworthy; + } + + var_01 = 0; + } + } + + wait 0.05; + } + + if(var_01 == 0) + { + if(isdefined(var_02)) + { + maps\_hms_utility::printlnscreenandconsole("Player killed targets LOUDLY: " + var_02 + " was alerted"); + } + else + { + maps\_hms_utility::printlnscreenandconsole("Player killed targets LOUDLY: a GUY was alerted"); + } + } + else + { + maps\_hms_utility::printlnscreenandconsole("Player killed targets QUIETLY!!!"); + } + + return var_01; +} \ No newline at end of file diff --git a/AW/PC/maps/greece_ending.gsc b/AW/PC/maps/greece_ending.gsc new file mode 100644 index 0000000..422f921 --- /dev/null +++ b/AW/PC/maps/greece_ending.gsc @@ -0,0 +1,2516 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: greece_ending.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 122 + * Decompile Time: 1829 ms + * Timestamp: 4/22/2024 2:31:01 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + endingprecache(); + endingflaginit(); + endingglobalvars(); + endingglobalsetup(); + maps\greece_ending_fx::main(); + maps\greece_ending_anim::main(); + maps\greece_ending_vo::main(); +} + +//Function Number: 2 +endingprecache() +{ + maps\_microdronelauncher::init(); + precachemodel("viewhands_atlas_military"); + precachemodel("vb_civilian_mitchell"); + precachemodel("viewbody_atlas_military"); + precachemodel("greece_finale_truck"); + precacheitem("iw5_hmr9_sp"); + precacheitem("iw5_hmr9_sp_variablereddot"); + precacheitem("iw5_bal27_sp"); + precacheitem("iw5_bal27_sp_silencer01_variablereddot"); + precacheitem("iw5_sn6_sp"); + precacheitem("fraggrenade"); + precacheitem("flash_grenade"); + precacheitem("iw5_titan45_sp"); + precacheitem("iw5_titan45_sp_opticsreddot_silencerpistol"); + precacheitem("iw5_arx160_sp"); + precacheitem("iw5_uts19_sp"); + precacheitem("rpg_player"); + precacheshader("fullscreen_lit_bloodsplat_01"); + precacheshader("waypoint_threat_tagged"); + precachemodel("breach_charge"); + precachemodel("breach_charge_obj"); + precachemodel("npc_titan45_base_loot"); + precachemodel("weapon_parabolic_knife"); + precachemodel("npc_mp_tactical_knife"); + precachemodel("npc_bal27_nocamo"); + precachemodel("kva_leader_head_cut_throat"); + precacheshellshock("greece_finale_car_impact"); + precacheshellshock("greece_finale_car_recovery"); + precacheitem("iw5_microdronelauncher_sp"); + precacherumble("grenade_rumble"); + precacherumble("artillery_rumble"); + precachestring(&"GREECE_HINT_ENDING_PLACE_CHARGE"); + precachestring(&"GREECE_HINT_ENDING_PLACE_CHARGE_KB"); + precachestring(&"GREECE_HINT_ENDING_OPEN_DOOR"); + precachestring(&"GREECE_HINT_ENDING_OPEN_DOOR_KB"); + precachestring(&"GREECE_FAIL_ENDING_KILL_HADES"); + precachestring(&"GREECE_FAIL_ENDING_PLACE_EXPLOSIVE"); + precachestring(&"GREECE_FAIL_ENDING_LEFT_MISSION"); + precachestring(&"GREECE_FAIL_ENDING_LATE_TRIGGER"); + precachestring(&"GREECE_OBJ_SAFEHOUSE_FOLLOW"); + precachestring(&"GREECE_OBJ_INTERCEPT_HADES"); + precachestring(&"GREECE_ENDING_AMBUSH_TIMER"); + precachestring(&"GREECE_OBJ_ENDING_PLACEBREACH"); + precachestring(&"GREECE_OBJ_ENDING_HADESVEHICLE"); + maps\_utility::add_hint_string("leaving_area",&"GREECE_HINT_ENDING_LEAVING_AREA",::hintleavingareaoff); + maps\_utility::add_control_based_hint_strings("detonate_charge",&"GREECE_HINT_ENDING_DETONATE_CHARGE",::hintdetonateambushoff); + maps\_utility::add_control_based_hint_strings("player_stab",&"GREECE_HINT_ENDING_MELEE_HADES",::hintplayerstaboff); + maps\_utility::add_control_based_hint_strings("player_grab_gun",&"GREECE_HINT_ENDING_GRAB_GUN",::hintgrabgunoff,&"GREECE_HINT_ENDING_GRAB_GUN_KB"); + precachemodel("kva_heavy_head"); + precachemodel("kva_heavy_body"); + precacheitem("iw5_maul_sp"); + precachemodel("datachit_greece"); + maps\_hms_door_interact::precachedooranimations(); +} + +//Function Number: 3 +endingflaginit() +{ + common_scripts\utility::flag_init("FlagEndingStart"); + common_scripts\utility::flag_init("FlagEndingAmbushStart"); + common_scripts\utility::flag_init("FlagEndingFightStart"); + common_scripts\utility::flag_init("FlagEndingHadesStart"); + common_scripts\utility::flag_init("FlagEndingIlanaShootIntoAir"); + common_scripts\utility::flag_init("FlagEndingTooFarWarn"); + common_scripts\utility::flag_init("FlagEndingTruckExplode"); + common_scripts\utility::flag_init("FlagEndingStoreFrontDestruction"); + common_scripts\utility::flag_init("FlagEndingSetAmbushInteractBegin"); + common_scripts\utility::flag_init("FlagEndingSetAmbushInteractGetToCover"); + common_scripts\utility::flag_init("FlagEndingSetAmbushInteractNow"); + common_scripts\utility::flag_init("FlagEndingSetAmbushInteractSuccess"); + common_scripts\utility::flag_init("FlagEndingSetAmbushInteractFail"); + common_scripts\utility::flag_init("FlagEndingSetAmbushInteractComplete"); + common_scripts\utility::flag_init("FlagEndingForceShotgunSpawn"); + common_scripts\utility::flag_init("FlagEndingSpecialEnemiesDead"); + common_scripts\utility::flag_init("FlagGrabGunHintOff"); + common_scripts\utility::flag_init("FlagGrabGunSuccess"); + common_scripts\utility::flag_init("FlagEndingHadesVehicleInteractBegin"); + common_scripts\utility::flag_init("FlagEndingHadesVehicleInteractComplete"); + common_scripts\utility::flag_init("FlagEndingHadesStabInteractSuccess"); + common_scripts\utility::flag_init("FlagEndingHadesStabInteractFail"); + common_scripts\utility::flag_init("FlagEndingSetObjInterceptHades"); + common_scripts\utility::flag_init("FlagEndingMarkObjSetAmbush"); + common_scripts\utility::flag_init("FlagEndingUnMarkObjSetAmbush"); + common_scripts\utility::flag_init("FlagEndingMarkObjHadesVehicle"); + common_scripts\utility::flag_init("FlagEndingClearObjInterceptHades"); + common_scripts\utility::flag_init("FlagEndingIlanaWaitingAtAmbushPoint"); + common_scripts\utility::flag_init("FlagEndingLeavingAreaHintOff"); +} + +//Function Number: 4 +endingglobalvars() +{ + level.showdebugtoggle = 0; + level.dialogtable = "sp/greece_dialog.csv"; +} + +//Function Number: 5 +endingglobalsetup() +{ + maps\_utility::battlechatter_on("allies"); + maps\_utility::battlechatter_on("axis"); + level.endinghades = undefined; + level.ambushtimer = undefined; + thread endingbegin(); + thread endingobjectivesetup(); +} + +//Function Number: 6 +endingstartpoints() +{ + maps\_utility::add_start("start_ending_ambush",::initendingambush); + maps\_utility::add_start("start_ending_fight",::initendingfight); + maps\_utility::add_start("start_ending_hades",::initendinghades); + maps\greece_starts::add_greece_starts("ending"); +} + +//Function Number: 7 +initendingambush() +{ + maps\_utility::teleport_player(common_scripts\utility::getstruct("PlayerStartEnding","targetname")); + maps\_hms_utility::setupplayerinventory("iw5_titan45_sp_opticsreddot_silencerpistol","iw5_hmr9_sp_variablereddot","fraggrenade","flash_grenade","iw5_hmr9_sp_variablereddot"); + maps\_variable_grenade::give_player_variable_grenade(); + thread maps\_player_exo::player_exo_activate(); + thread setupfinalebarrier(); + thread maps\greece_code::sunflareswap("sunflare_dim"); + thread endingburningsniper(); + if(!isdefined(level.map_without_loadout) || level.map_without_loadout == 0) + { + thread maps\greece_code::blimp_animation("blimpOrg","market_intro_blimp"); + maps\greece_conf_center_fx::confcenterresidualsmoke(); + maps\greece_safehouse_fx::ambientcloudskill(); + } + + thread maps\greece_sniper_scramble_fx::snipertowerresidualfx(); + maps\_hms_utility::spawnandinitnamedally("Ilona","AllyStartEnding",1,1,"IlanaEnding"); + thread maps\_hms_utility::allyredirectgotonode("Ilona","AllyEndingAmbush1Cover"); + var_00 = getentarray("EndingPreCrashTrigger","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 common_scripts\utility::trigger_on(); + } + + var_04 = getentarray("EndingPostCrashTrigger","script_noteworthy"); + foreach(var_02 in var_04) + { + var_02 common_scripts\utility::trigger_off(); + } + + var_07 = getent("UseTriggerEndingHadesVehicleInteract","targetname"); + var_07 common_scripts\utility::trigger_off(); + common_scripts\utility::flag_set("FlagEndingStart"); + soundscripts\_snd::snd_message("start_ending_ambush_checkpoint"); + if(level.currentgen) + { + thread maps\greece_sniper_scramble::closeendinggates(); + } +} + +//Function Number: 8 +initendingfight() +{ + maps\_utility::teleport_player(common_scripts\utility::getstruct("PlayerStartEndingFight","targetname")); + maps\_hms_utility::setupplayerinventory("iw5_titan45_sp_opticsreddot_silencerpistol","iw5_hmr9_sp_variablereddot","fraggrenade","flash_grenade","iw5_hmr9_sp_variablereddot"); + maps\_variable_grenade::give_player_variable_grenade(); + thread maps\_player_exo::player_exo_activate(); + thread maps\greece_code::sunflareswap("sunflare_dim"); + if(!isdefined(level.map_without_loadout) || level.map_without_loadout == 0) + { + thread maps\greece_code::blimp_animation("blimpOrg","market_intro_blimp"); + maps\greece_conf_center_fx::confcenterresidualsmoke(); + maps\greece_safehouse_fx::ambientcloudskill(); + } + + thread maps\greece_sniper_scramble_fx::snipertowerresidualfx(); + thread maps\greece_ending_fx::endingfirehydrantfx(); + thread maps\greece_ending_fx::endingvehicledamageresidualfx(); + maps\_hms_utility::spawnandinitnamedally("Ilona","AllyStartEndingFight",1,1,"IlanaEnding"); + thread maps\_hms_utility::allyredirectgotonode("Ilona","AllyEndingFightStartCover"); + var_00 = getentarray("EndingPreCrashTrigger","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 common_scripts\utility::trigger_off(); + } + + var_04 = getentarray("EndingPostCrashTrigger","script_noteworthy"); + foreach(var_02 in var_04) + { + var_02 common_scripts\utility::trigger_on(); + } + + thread endingsetupvehicles(); + thread endingstorefrontdestroyedsetup(); + thread fruit_table_impact(); + thread setupfinalebarrier(); + thread spawnendingheli(); + var_07 = getent("UseTriggerEndingHadesVehicleInteract","targetname"); + var_07 common_scripts\utility::trigger_off(); + thread endingcrashglaunchercorpse(undefined,undefined,0); + thread endingfightstart(); + level.allies["Ilona"] thread ilanaendingmovement(); + level notify("storefront_crash_veh3"); + common_scripts\utility::flag_set("FlagEndingFightStart"); + soundscripts\_snd::snd_message("start_ending_fight_checkpoint"); +} + +//Function Number: 9 +initendinghades() +{ + maps\_utility::teleport_player(common_scripts\utility::getstruct("PlayerStartEndingHades","targetname")); + maps\_hms_utility::setupplayerinventory("iw5_titan45_sp_opticsreddot_silencerpistol","iw5_hmr9_sp_variablereddot","fraggrenade","flash_grenade","iw5_hmr9_sp_variablereddot"); + maps\_variable_grenade::give_player_variable_grenade(); + thread maps\_player_exo::player_exo_activate(); + thread maps\greece_code::sunflareswap("sunflare_dim"); + if(!isdefined(level.map_without_loadout) || level.map_without_loadout == 0) + { + thread maps\greece_code::blimp_animation("blimpOrg","market_intro_blimp"); + maps\greece_conf_center_fx::confcenterresidualsmoke(); + maps\greece_safehouse_fx::ambientcloudskill(); + } + + thread maps\greece_sniper_scramble_fx::snipertowerresidualfx(); + thread maps\greece_ending_fx::endingfirehydrantfx(); + thread maps\greece_ending_fx::endingvehicledamageresidualfx(); + maps\_hms_utility::spawnandinitnamedally("Ilona","AllyStartEndingHades",1,1,"IlanaEnding"); + thread maps\_hms_utility::allyredirectgotonode("Ilona","AllyEndingHadesStartCover"); + var_00 = getentarray("EndingPreCrashTrigger","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 common_scripts\utility::trigger_off(); + } + + var_04 = getentarray("EndingPostCrashTrigger","script_noteworthy"); + foreach(var_02 in var_04) + { + var_02 common_scripts\utility::trigger_off(); + } + + thread endingsetupvehicles(); + thread endingstorefrontdestroyedsetup(); + thread fruit_table_impact(); + thread setupfinalebarrier(); + thread spawnendingheli(); + var_07 = getent("UseTriggerEndingHadesVehicleInteract","targetname"); + var_07 common_scripts\utility::trigger_on(); + level.allies["Ilona"] thread ilanaendingmovement(); + level notify("storefront_crash_veh3"); + common_scripts\utility::flag_set("FlagEndingHadesStart"); + soundscripts\_snd::snd_message("start_ending_hades_checkpoint"); +} + +//Function Number: 10 +endingobjectivesetup() +{ + waittillframeend; + thread objintercepthades(); + endingsetcompletedobjflags(); +} + +//Function Number: 11 +endingsetcompletedobjflags() +{ + var_00 = level.start_point; + if(!common_scripts\utility::string_starts_with(var_00,"start_ending_")) + { + return; + } + + common_scripts\utility::flag_set("FlagEndingSetObjInterceptHades"); + if(var_00 == "start_ending_ambush") + { + return; + } + + common_scripts\utility::flag_set("FlagEndingMarkObjSetAmbush"); + common_scripts\utility::flag_set("FlagEndingUnMarkObjSetAmbush"); + if(var_00 == "start_ending_fight") + { + return; + } + + common_scripts\utility::flag_set("FlagEndingMarkObjHadesVehicle"); + if(var_00 == "start_ending_hades") + { + } +} + +//Function Number: 12 +objintercepthades() +{ + common_scripts\utility::flag_wait("FlagEndingSetObjInterceptHades"); + var_00 = getent("EndingPlayerIED","targetname"); + var_00 hide(); + objective_add(maps\_utility::obj("InterceptHades"),"active",&"GREECE_OBJ_INTERCEPT_HADES",(0,0,0)); + objective_current(maps\_utility::obj("InterceptHades")); + while(!isdefined(level.allies)) + { + wait 0.05; + } + + objective_onentity(maps\_utility::obj("InterceptHades"),level.allies["Ilona"]); + objective_setpointertextoverride(maps\_utility::obj("InterceptHades"),&"GREECE_OBJ_SAFEHOUSE_FOLLOW"); + common_scripts\utility::flag_wait("FlagEndingMarkObjSetAmbush"); + var_01 = getent("EndingDetpackObj","targetname"); + objective_position(maps\_utility::obj("InterceptHades"),var_01.origin); + objective_setpointertextoverride(maps\_utility::obj("InterceptHades"),&"GREECE_OBJ_ENDING_PLACEBREACH"); + var_00 show(); + var_00 maps\_utility::glow(); + common_scripts\utility::flag_wait("FlagEndingUnMarkObjSetAmbush"); + objective_position(maps\_utility::obj("InterceptHades"),(0,0,0)); + var_00 maps\_utility::stopglow(); + var_00 delete(); + common_scripts\utility::flag_wait("FlagEndingMarkObjHadesVehicle"); + var_02 = getent("EndingHadesVehicleObj","targetname"); + objective_position(maps\_utility::obj("InterceptHades"),var_02.origin); + objective_setpointertextoverride(maps\_utility::obj("InterceptHades"),&"GREECE_OBJ_ENDING_HADESVEHICLE"); + var_03 = getent("hades_vehicle","targetname"); + var_03 hudoutlineenable(3,1,0); + common_scripts\utility::flag_wait("FlagEndingClearObjInterceptHades"); + maps\_utility::objective_complete(maps\_utility::obj("InterceptHades")); + var_03 hudoutlinedisable(); +} + +//Function Number: 13 +endingbegin() +{ + common_scripts\utility::flag_wait_either("FlagEndingStart","FlagTriggerEndingStart"); + common_scripts\utility::flag_set("FlagEndingAmbushStart"); + common_scripts\utility::flag_set("FlagEndingSetObjInterceptHades"); + level.allies["Ilona"] thread ilanaendingmovement(); + thread endinghideprecrashents(); + thread endingsetupcivilians(); + thread endingsetupvehicles(); + thread endingstorefrontdestroyedsetup(); + thread fruit_table_impact(); + thread setupfinalebarrier(); + thread spawnendingheli(); + thread monitorendingplayerentrancemantle(); + thread monitorendingilanaentrancemantle(); + if(!isdefined(level.map_without_loadout) || level.map_without_loadout == 0) + { + thread maps\greece_code::blimp_animation("blimpOrg","market_intro_blimp"); + } +} + +//Function Number: 14 +monitorendingplayerentrancemantle() +{ + while(!common_scripts\utility::flag("FlagTriggerEndingJumpDown")) + { + if(level.player ismantling()) + { + physicsexplosionsphere(level.player.origin,200,0,0.5); + break; + } + + wait 0.05; + } +} + +//Function Number: 15 +monitorendingilanaentrancemantle() +{ + var_00 = maps\_hms_utility::getnamedally("Ilona"); + maps\_utility::trigger_wait_targetname("EndingIlanaEntranceMantle"); + physicsexplosionsphere(var_00.origin,200,0,0.5); +} + +//Function Number: 16 +endinghideprecrashents() +{ + var_00 = getentarray("EndingCrashGlauncherPickup","targetname"); + foreach(var_02 in var_00) + { + var_02 hide(); + } +} + +//Function Number: 17 +endinghidebigfinaleents() +{ + var_00 = getentarray("EndingCrashGlauncherPickup","targetname"); + foreach(var_02 in var_00) + { + var_02 hide(); + } +} + +//Function Number: 18 +endingcomplete() +{ + level waittill("EndingFadeOut"); + soundscripts\_snd::snd_message("mhunt_level_end"); + level.player maps\_hud_util::fade_out(0.5); + wait(2); + maps\_utility::nextmission(); +} + +//Function Number: 19 +failhadesstabplayer(param_00) +{ + wait(param_00); + maps\_hms_utility::printlnscreenandconsole("MISSION FAIL - HADES KILLED PLAYER!!!"); + setdvar("ui_deadquote"," "); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 20 +ilanaendingmovement() +{ + var_00 = level.start_point; + wait 0.05; + if(var_00 == "start_ending_fight") + { + thread ilanaendingfight(); + return; + } + + if(var_00 == "start_ending_hades") + { + thread ilanaendinghades(); + return; + } + + thread ilanaendingambush(); +} + +//Function Number: 21 +ilanaendingambush() +{ + var_00 = getentarray("EndingPreCrashTrigger","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 common_scripts\utility::trigger_on(); + } + + var_04 = getentarray("EndingPostCrashTrigger","script_noteworthy"); + foreach(var_02 in var_04) + { + var_02 common_scripts\utility::trigger_off(); + } + + var_07 = getent("UseTriggerEndingHadesVehicleInteract","targetname"); + var_07 common_scripts\utility::trigger_off(); + endingtruckclip(0); + common_scripts\utility::flag_wait_either("FlagEndingStart","FlagTriggerEndingStart"); + var_08 = common_scripts\utility::getstruct("EndingIlanaGunfireOrg","targetname"); + var_08 maps\_anim::anim_reach_solo(level.allies["Ilona"],"ilana_shoot_into_air"); + var_08 thread maps\_anim::anim_single_solo(level.allies["Ilona"],"ilana_shoot_into_air"); + level waittill("EndingFinaleCivsFlee"); + common_scripts\utility::flag_set("FlagEndingIlanaShootIntoAir"); + thread maps\_hms_utility::allyredirectgotonode("Ilona","AllyEndingAmbush1Cover"); + common_scripts\utility::flag_wait("FlagEndingSetAmbushInteractGetToCover"); + thread maps\_hms_utility::allyredirectgotonode("Ilona","AllyEndingAmbush2Cover"); + common_scripts\utility::flag_wait("FlagEndingFightStart"); + thread ilanaendingfight(); + endingtruckclip(1); +} + +//Function Number: 22 +ilanaendingfight() +{ + thread endingautosavetacticalthread(); + level.player thread maps\_hms_ai_utility::assistplayer(); + var_00 = maps\_hms_utility::getnamedally("Ilona"); + var_01 = getnode("AllyEndingFightStartCover","targetname"); + var_00 thread maps\_hms_ai_utility::gototogoal(var_01,"default",1); + common_scripts\utility::flag_wait_all("FlagEndingPlayerAdvanceFight1","FlagEndingTruckExplode"); + if(isdefined(var_00.bestcovernode)) + { + var_00.bestcovernode = undefined; + } + + var_00 thread maps\_hms_ai_utility::playerleashbehavior(); + thread monitorplayerleftlowerpassage(); + common_scripts\utility::flag_wait_all("FlagEndingEnemiesAllDead","FlagEndingSpecialEnemiesDead"); + level notify("EndingEndAutosaveThread"); + thread maps\_utility::autosave_by_name(); + var_02 = getnode("AllyEndingHadesStartCover","targetname"); + var_00 maps\_hms_ai_utility::playerleashdisable(); + wait 0.05; + var_00 thread maps\_hms_ai_utility::gototogoal(var_02,"cqb",1); + thread ilanaendinghades(); +} + +//Function Number: 23 +ilanaendinghades() +{ + soundscripts\_snd::snd_music_message("start_finale_streets_fight_end_music"); +} + +//Function Number: 24 +monitorsetupambushtimer() +{ + level endon("AmbushTimerFreeze"); + level endon("AmbushLeaveMission"); + var_00 = 20; + level.ambushtimer = maps\_hud_util::get_countdown_hud(); + level.ambushtimer.label = &"GREECE_ENDING_AMBUSH_TIMER"; + level.ambushtimer.x = -110; + level.ambushtimer.y = 45; + level.ambushtimer.alignx = "left"; + level.ambushtimer.horzalign = "center"; + level.ambushtimer.color = (0.95,0.95,1); + level.ambushtimer settenthstimer(var_00); + level.ambushtimer setpulsefx(30,900000,700); + soundscripts\_snd::snd_music_message("start_finale_ied_setup_music"); + thread successsetupambushtimer(level.ambushtimer); + var_01 = common_scripts\utility::waittill_notify_or_timeout_return("AmbushLeaveMission",var_00); + wait(0.1); + destroysetupambushtimer(level.ambushtimer); + common_scripts\utility::flag_set("FlagEndingUnMarkObjSetAmbush"); + if(isdefined(var_01) && var_01 == "AmbushLeaveMission") + { + return; + } + + var_02 = getent("UseTriggerEndingSetupAmbushInteract","targetname"); + var_02 makeunusable(); + level notify("AmbushTimerExpire"); + maps\_hms_utility::printlnscreenandconsole("TIMER EXPIRED!!!"); + thread failsetupambushtimerexpire(); + thread endinghadesconvoyenter(); + thread maps\_hms_utility::allyredirectgotonode("Ilona","AllyEndingAmbush2Cover"); + var_03 = getent("hades_vehicle","targetname"); + level.allies["Ilona"] setentitytarget(var_03); +} + +//Function Number: 25 +failsetupambushtimerexpire() +{ + maps\_hms_utility::printlnscreenandconsole("MISSION FAIL - TIMER EXPIRED!!!"); + thread maps\_utility::hint_fade(); + wait(1); + maps\greece_ending_vo::endingfailtimerexpiredialogue(); + wait(0.5); + setdvar("ui_deadquote",&"GREECE_FAIL_ENDING_PLACE_EXPLOSIVE"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 26 +failsetupambushleavemission() +{ + maps\_hms_utility::printlnscreenandconsole("MISSION FAIL - LEFT MISSION AREA!!!"); + thread maps\_utility::hint_fade(); + destroysetupambushtimer(level.ambushtimer); + wait(0.1); + setdvar("ui_deadquote",&"GREECE_FAIL_ENDING_LEFT_MISSION"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 27 +successsetupambushtimer(param_00) +{ + level endon("AmbushTimerExpire"); + level endon("AmbushLeaveMission"); + level waittill("AmbushTimerFreeze"); + destroysetupambushtimer(param_00); +} + +//Function Number: 28 +destroysetupambushtimer(param_00) +{ + if(isdefined(param_00)) + { + param_00 destroy(); + } +} + +//Function Number: 29 +monitorleaveareawarning() +{ + var_00 = []; + var_01 = getent("TriggerEndingSetupAmbushWarning1","targetname"); + var_00 = common_scripts\utility::add_to_array(var_00,var_01); + var_02 = getent("TriggerEndingSetupAmbushWarning2","targetname"); + var_00 = common_scripts\utility::add_to_array(var_00,var_02); + var_03 = 0; + maps\greece_code::waittillplayeristouchinganytrigger(var_00); + thread maps\_utility::display_hint("leaving_area"); + common_scripts\utility::flag_set("FlagEndingTooFarWarn"); + while(!common_scripts\utility::flag("FlagEndingUnMarkObjSetAmbush")) + { + wait 0.05; + if(level.player istouching(var_01) == 1 || level.player istouching(var_02) == 1) + { + if(var_03 == 1) + { + common_scripts\utility::flag_clear("FlagEndingLeavingAreaHintOff"); + wait 0.05; + thread maps\_utility::display_hint("leaving_area"); + var_03 = 0; + continue; + } + else + { + continue; + } + + continue; + } + + if(level.player istouching(var_01) == 0 && level.player istouching(var_02) == 0) + { + var_03 = 1; + common_scripts\utility::flag_set("FlagEndingLeavingAreaHintOff"); + } + } + + common_scripts\utility::flag_set("FlagEndingLeavingAreaHintOff"); + var_01 common_scripts\utility::trigger_off(); + var_02 common_scripts\utility::trigger_off(); +} + +//Function Number: 30 +hintleavingareaoff() +{ + return common_scripts\utility::flag("FlagEndingLeavingAreaHintOff"); +} + +//Function Number: 31 +monitorplaceambushinteract() +{ + level endon("AmbushTimerExpire"); + level endon("AmbushLeaveMission"); + common_scripts\utility::flag_wait("FlagTriggerEndingJumpDown"); + level notify("audio_stop_restaurant_think"); + thread monitorleaveareawarning(); + var_00 = getent("UseTriggerEndingSetupAmbushInteract","targetname"); + var_00 makeusable(); + var_00 setcursorhint("HINT_NOICON"); + var_00 maps\_utility::addhinttrigger(&"GREECE_HINT_ENDING_PLACE_CHARGE",&"GREECE_HINT_ENDING_PLACE_CHARGE_KB"); + thread monitorplacebreachhint(); + var_00 waittill("trigger",var_01); + var_00 delete(); + level notify("AmbushTimerFreeze"); + thread maps\_player_exo::player_exo_deactivate(); + level.player maps\_shg_utility::setup_player_for_scene(1); + thread maps\_utility::autosave_by_name("ending_ambush_start"); + common_scripts\utility::flag_set("FlagEndingSetAmbushInteractBegin"); + common_scripts\utility::flag_set("init_ending_ambush_interact_lighting_level"); + common_scripts\utility::flag_set("FlagEndingUnMarkObjSetAmbush"); + var_02 = common_scripts\utility::getstruct("EndingPlayerSetAmbushOrg","targetname"); + var_03 = maps\_utility::spawn_anim_model("player_ending_rig",var_02.origin,var_02.angles); + var_03 hide(); + var_02 maps\_anim::anim_first_frame_solo(var_03,"ied_enter"); + var_04 = maps\_utility::spawn_anim_model("ied_device",var_02.origin); + var_04.animname = "ied_device"; + var_04 maps\_anim::setanimtree(); + var_04 hide(); + var_02 maps\_anim::anim_first_frame_solo(var_04,"ied_enter"); + var_05 = [var_03,var_04]; + level.player playerlinktoblend(var_03,"tag_player",0.3); + soundscripts\_snd::snd_message("player_place_ied_foley"); + wait(0.3); + var_03 show(); + var_04 show(); + thread monitordetonateambushinteract(); + var_06 = spawn("script_model",var_03.origin); + var_06 setmodel("kva_leader_head_cut_throat"); + var_07 = var_03 gettagorigin("TAG_WEAPON_RIGHT"); + var_08 = var_03 gettagangles("TAG_WEAPON_RIGHT"); + var_06.origin = var_07; + var_06.angles = var_08; + var_06 linkto(var_03,"TAG_WEAPON_RIGHT",(-15,7,-3),(0,-20,180)); + var_02 maps\_anim::anim_single(var_05,"ied_enter"); + var_06 delete(); + level notify("EndingAmbushWindowEnd"); + if(common_scripts\utility::flag("FlagEndingSetAmbushInteractSuccess")) + { + thread successdetonateambushinteract(var_02,var_05,var_04,var_03); + return; + } + + thread faildetonateambushinteract(var_02,var_05,var_04,var_03); +} + +//Function Number: 32 +monitorplacebreachhint() +{ + var_00 = getent("EndingDetpackObj","targetname"); + var_01 = maps\_shg_utility::hint_button_position("use",var_00.origin,128); + common_scripts\utility::flag_wait_either("FlagEndingSetAmbushInteractBegin","FlagEndingUnMarkObjSetAmbush"); + var_01 maps\_shg_utility::hint_button_clear(); +} + +//Function Number: 33 +monitordetonateambushinteract() +{ + level waittill("EndingAmbushGetToCover"); + common_scripts\utility::flag_set("FlagEndingSetAmbushInteractGetToCover"); + level waittill("EndingAmbushStartConvoy"); + thread endinghadesconvoyenter(); + level waittill("EndingAmbushSlowMotion"); + common_scripts\utility::flag_set("FlagEndingSetAmbushInteractNow"); + thread convoydetonateambushinteract(); +} + +//Function Number: 34 +successdetonateambushinteract(param_00,param_01,param_02,param_03) +{ + param_00 notify("player_detonate_ied"); + common_scripts\utility::flag_set("Init_FlagEndingSetAmbushInteractBeginLighting"); + thread maps\greece_ending_fx::endingambushbreachexplosionfx(); + param_00 maps\_anim::anim_single(param_01,"ied_success"); + level.player unlink(); + level.player thread maps\_shg_utility::setup_player_for_gameplay(); + param_02 delete(); + param_03 delete(); + common_scripts\utility::flag_set("FlagEndingSetAmbushInteractComplete"); + thread maps\_utility::autosave_by_name("ending_ambush_end"); + thread maps\_player_exo::player_exo_activate(); +} + +//Function Number: 35 +faildetonateambushinteract(param_00,param_01,param_02,param_03) +{ + maps\_hms_utility::printlnscreenandconsole("MISSION FAIL - CONVOY ESCAPED!!!"); + param_00 thread maps\_anim::anim_single(param_01,"ied_fail"); + wait(1); + maps\greece_ending_vo::endingfailtimerexpiredialogue(); + wait(1); + setdvar("ui_deadquote",&"GREECE_FAIL_ENDING_LATE_TRIGGER"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 36 +convoydetonateambushinteract() +{ + var_00 = undefined; + wait(0.4); + thread monitordetonateambushsuccess(); + level.hint_nofadein = 1; + thread maps\_utility::hintdisplayhandler("detonate_charge"); + wait(0.25); + if(!common_scripts\utility::flag("FlagEndingSetAmbushInteractSuccess")) + { + var_00 = 1; + setslowmotion(1,0.1,0.1); + wait(0.2); + } + + thread monitordetonateambushfail(); + var_01 = common_scripts\utility::flag_wait_any_return("FlagEndingSetAmbushInteractSuccess","FlagEndingSetAmbushInteractFail"); + level.hint_nofadein = undefined; + if(isdefined(var_00)) + { + if(var_01 == "FlagEndingSetAmbushInteractSuccess") + { + setslowmotion(0.1,1,0.25); + return; + } + + setslowmotion(0.1,1,0.25); + } +} + +//Function Number: 37 +hintdetonateambushoff() +{ + if(common_scripts\utility::flag("FlagEndingSetAmbushInteractSuccess") || common_scripts\utility::flag("FlagEndingSetAmbushInteractFail")) + { + return 1; + } + + return 0; +} + +//Function Number: 38 +monitordetonateambushsuccess() +{ + level endon("EndingAmbushWindowEnd"); + soundscripts\_snd::snd_message("start_ied_convoy_ambush_expl"); + thread monitordetonateambushbuttonpress(); + level.player waittill("detonate_ied"); + common_scripts\utility::flag_set("FlagEndingSetAmbushInteractSuccess"); + level notify("EndingAmbushWindowEnd"); + soundscripts\_snd::snd_message("start_ied_convoy_slomo_end"); +} + +//Function Number: 39 +monitordetonateambushbuttonpress() +{ + level endon("EndingAmbushWindowEnd"); + while(!common_scripts\utility::flag("FlagEndingSetAmbushInteractSuccess")) + { + if(level.player adsbuttonpressed() || level.player attackbuttonpressed()) + { + level.player notify("detonate_ied"); + } + + wait 0.05; + } +} + +//Function Number: 40 +monitordetonateambushfail() +{ + level waittill("EndingAmbushWindowEnd"); + soundscripts\_snd::snd_message("stop_ied_convoy_ambush_expl"); + if(!common_scripts\utility::flag("FlagEndingSetAmbushInteractSuccess")) + { + common_scripts\utility::flag_set("FlagEndingSetAmbushInteractFail"); + } +} + +//Function Number: 41 +endinghadesconvoyenter() +{ + wait(0.1); + var_00 = getent("EndingPlayerHadesVehicleOrg","targetname"); + var_01 = getent("hades_vehicle","targetname"); + var_02 = getent("hades_vehicle_clip","targetname"); + var_02 linkto(var_01); + var_03 = getent("convoy_vehicle_2","targetname"); + var_04 = getent("convoy_vehicle_2_clip","targetname"); + var_04 linkto(var_03); + var_05 = getent("convoy_vehicle_3","targetname"); + var_06 = getent("convoy_vehicle_3_clip","targetname"); + var_06 linkto(var_05); + var_07 = getent("convoy_vehicle_4","targetname"); + var_08 = getent("convoy_vehicle_4_clip","targetname"); + var_08 linkto(var_07); + var_09 = [var_01,var_03,var_05,var_07]; + thread endinghadesconvoyhitplayer(); + var_00 maps\_anim::anim_single(var_09,"convoy_enter"); + if(common_scripts\utility::flag("FlagEndingSetAmbushInteractSuccess")) + { + thread endinghadesconvoycrash(); + return; + } + + thread endinghadesconvoyfail(); +} + +//Function Number: 42 +endinghadesconvoycrash() +{ + thread endinghadesconvoycrashslomo(); + var_00 = getent("EndingPlayerHadesVehicleOrg","targetname"); + var_01 = getent("hades_vehicle","targetname"); + var_02 = getent("convoy_vehicle_2","targetname"); + var_03 = getent("convoy_vehicle_3","targetname"); + var_04 = [var_01,var_02,var_03]; + thread endingcrashglaunchercorpse(var_00,"convoy_crash",1); + thread maps\greece_ending_fx::endingvehicledamagefx(); + thread maps\greece_ending_fx::endingshopcrashfx(); + thread maps\greece_ending_fx::endingfirehydrantfx(); + common_scripts\utility::flag_set("FlagEndingStoreFrontDestruction"); + soundscripts\_snd::snd_message("convoy_crash_emitters"); + foreach(var_06 in var_04) + { + var_06 maps\_utility::anim_stopanimscripted(); + } + + var_00 maps\_anim::anim_single(var_04,"convoy_crash"); + thread setuphadescrashedvehicle(); + level notify("EndingDeleteVehicleClip"); + var_08 = getentarray("HadesConvoyVehicleVol","script_noteworthy"); + foreach(var_0A in var_08) + { + var_0A delete(); + } +} + +//Function Number: 43 +endinghadesconvoycrashslomo() +{ + setslowmotion(1,0.75,0.5); + level waittill("EndingDeleteVehicleClip"); + setslowmotion(0.75,1,0.5); +} + +//Function Number: 44 +endinghadesconvoyfail() +{ + var_00 = getent("EndingPlayerHadesVehicleOrg","targetname"); + thread endingcrashglaunchercorpse(var_00,"convoy_fail",1); + var_01 = getent("hades_vehicle","targetname"); + var_02 = getent("convoy_vehicle_2","targetname"); + var_03 = getent("convoy_vehicle_3","targetname"); + var_04 = [var_01,var_02,var_03]; + var_00 maps\_anim::anim_single(var_04,"convoy_fail"); +} + +//Function Number: 45 +endinghadesconvoyhitplayer() +{ + level endon("AmbushTimerFreeze"); + level endon("EndingDeleteVehicleClip"); + var_00 = getentarray("HadesConvoyVehicleVol","script_noteworthy"); + for(;;) + { + foreach(var_02 in var_00) + { + if(level.player istouching(var_02)) + { + level.player kill(); + } + } + + wait 0.05; + } +} + +//Function Number: 46 +endingfightstart() +{ + thread spawnendingenemies(); + var_00 = getentarray("EndingPostCrashTrigger","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 common_scripts\utility::trigger_on(); + } +} + +//Function Number: 47 +spawnendingenemies() +{ + if(level.currentgen) + { + thread maps\_cg_encounter_perf_monitor::cg_spawn_perf_monitor("FlagEndingSpecialEnemiesDead",undefined,15,0); + } + + soundscripts\_snd::snd_music_message("start_finale_streets_fight_music"); + thread spawnendingenemies01(); + thread spawnendingenemies02(); + thread spawnendingenemies03(); + thread spawnendingenemies04(); + thread spawnendingenemies05(); + thread spawnendingenemies06(); + thread spawnendingshotguna(); + thread spawnendingshotgunb(); +} + +//Function Number: 48 +monitorendingenemies(param_00,param_01,param_02) +{ + if(!isdefined(param_02)) + { + param_02 = 1; + } + + var_03 = param_00.size - param_02; + maps\_utility::waittill_dead_or_dying(param_00,var_03); + common_scripts\utility::flag_set(param_01); +} + +//Function Number: 49 +spawnendingenemies01() +{ + var_00 = getent("EndingPlayerHadesVehicleOrg","targetname"); + maps\_utility::array_spawn_function_targetname("EndingEnemy01",::endingcombatenemysetup); + var_01 = maps\_utility::array_spawn_targetname("EndingEnemy01",1); + thread spawnendingenemies01flood(); + foreach(var_03 in var_01) + { + if(var_03.script_noteworthy == "Truck3crawl") + { + var_03 thread maps\greece_ending_fx::stumbleonfirefx(); + var_03 thread endingenemycrawlthread("payback_pmc_sandstorm_stumble_1","run_death_flop"); + continue; + } + + if(var_03.script_noteworthy == "Truck3stumble") + { + var_03 thread maps\greece_ending_fx::stumbleonfirefx(); + var_03 thread endingenemystumblethread("hms_greece_finale_exit_veh3_npc"); + continue; + } + + var_03.animname = "veh3_guy2_exit"; + var_03 thread endingenemytruckexitthread(var_00); + } + + thread maps\_hms_utility::aiarrayfallbackonflag(var_01,"FlagEndingPlayerAdvanceFight2","EndingEnemyVolCenter01"); + thread maps\_hms_utility::aiarraydeleteonflag(var_01,"FlagEndingPlayerAdvanceFight4"); + var_05 = getent("convoy_vehicle_3","targetname"); + var_00 thread maps\_anim::anim_single_solo(var_05,"enemy_exit"); +} + +//Function Number: 50 +spawnendingenemies01flood() +{ + maps\_utility::array_spawn_function_targetname("EndingEnemy01flood",::endingcombatenemysetup); + var_00 = getentarray("EndingEnemy01flood","targetname"); + thread maps\_utility::flood_spawn(var_00); + thread maps\greece_code::killfloodspawnersonflag(3001,"FlagEndingPlayerAdvanceFight2"); + common_scripts\utility::flag_wait_either("FlagEndingPlayerAdvanceFight3","FlagTriggerEndingEnemy02Left"); + var_01 = maps\_utility::get_living_ai_array("EndingEnemy01flood_AI","targetname"); + var_02 = getent("EndingEnemyVolLowerRight01","targetname"); + foreach(var_04 in var_01) + { + var_04 setgoalvolumeauto(var_02); + } + + common_scripts\utility::flag_wait("FlagEndingPlayerAdvanceFight4"); + var_01 = maps\_utility::get_living_ai_array("EndingEnemy01flood_AI","targetname"); + var_06 = getent("EndingEnemyVolCenter03","targetname"); + foreach(var_04 in var_01) + { + var_04 setgoalvolumeauto(var_06); + } + + thread maps\_utility::ai_delete_when_out_of_sight(var_01,256); +} + +//Function Number: 51 +spawnendingenemies02() +{ + var_00 = common_scripts\utility::flag_wait_any_return("FlagTriggerEndingEnemy02Right","FlagTriggerEndingEnemy02Left"); + var_01 = getent("convoy_vehicle_3","targetname"); + var_01 notify("force_explosion"); + thread spawnendingenemies02flood(); + maps\_utility::array_spawn_function_targetname("EndingEnemy02",::endingcombatenemysetup); + var_02 = maps\_utility::array_spawn_targetname("EndingEnemy02",1); + var_03 = maps\_utility::get_living_ai_array("EndingEnemy02Floater","script_noteworthy"); + var_04 = []; + switch(var_00) + { + case "FlagTriggerEndingEnemy02Right": + var_04 = common_scripts\utility::getstructarray("EndingEnemy02TeleportRight","targetname"); + break; + + case "FlagTriggerEndingEnemy02Left": + var_04 = common_scripts\utility::getstructarray("EndingEnemy02TeleportLeft","targetname"); + break; + } + + endingenemyfloatersteleport(var_03,var_04); + switch(var_00) + { + case "FlagTriggerEndingEnemy02Right": + thread maps\_hms_utility::aiarrayfallbackonflag(var_02,"FlagEndingPlayerAdvanceFight3","EndingEnemyVolCenter02"); + thread maps\_hms_utility::aiarrayfallbackonflag(var_02,"FlagTriggerEndingShotgunALeft","EndingEnemyVolCenter02"); + break; + + case "FlagTriggerEndingEnemy02Left": + thread maps\_hms_utility::aiarrayfallbackonflag(var_02,"FlagEndingPlayerAdvanceFight3","EndingEnemyVolCenter02"); + thread maps\_hms_utility::aiarrayfallbackonflag(var_02,"FlagTriggerEndingShotgunARight","EndingEnemyVolCenter02"); + break; + } + + thread maps\_hms_utility::aiarraydeleteonflag(var_02,"FlagEndingPlayerAdvanceFight5"); +} + +//Function Number: 52 +spawnendingenemies02flood() +{ + maps\_utility::array_spawn_function_targetname("EndingEnemy02flood",::endingcombatenemysetup); + var_00 = getentarray("EndingEnemy02flood","targetname"); + thread maps\_utility::flood_spawn(var_00); + thread maps\greece_code::killfloodspawnersonflag(3002,"FlagEndingPlayerAdvanceFight3"); + common_scripts\utility::flag_wait("FlagEndingPlayerAdvanceFight3"); + wait(1); + var_01 = maps\_utility::get_living_ai_array("EndingEnemy02flood_AI","targetname"); + var_02 = getent("EndingEnemyVolUpperLeft02","targetname"); + foreach(var_04 in var_01) + { + var_04 setgoalvolumeauto(var_02); + } + + common_scripts\utility::flag_wait("FlagEndingPlayerAdvanceFight4"); + var_01 = maps\_utility::get_living_ai_array("EndingEnemy02flood_AI","targetname"); + var_06 = getent("EndingEnemyVolCenter02","targetname"); + foreach(var_04 in var_01) + { + var_04 setgoalvolumeauto(var_06); + } + + thread maps\_utility::ai_delete_when_out_of_sight(var_01,256); +} + +//Function Number: 53 +spawnendingenemies03() +{ + common_scripts\utility::flag_wait("FlagEndingPlayerAdvanceFight2"); + var_00 = getent("EndingPlayerHadesVehicleOrg","targetname"); + maps\_utility::array_spawn_function_targetname("EndingEnemy03",::endingcombatenemysetup); + var_01 = maps\_utility::array_spawn_targetname("EndingEnemy03",1); + foreach(var_03 in var_01) + { + if(isdefined(var_03.script_noteworthy) && var_03.script_noteworthy == "Truck2smg") + { + var_03.animname = "veh2_guy_exit"; + var_03 thread endingenemytruckexitthread(var_00); + } + + if(isdefined(var_03.script_noteworthy) && var_03.script_noteworthy == "EndingUpperLeft") + { + var_03 thread maps\_hms_utility::aifallbackonflag("FlagEndingPlayerAdvanceFight3","EndingEnemyVolUpperLeft02"); + } + } + + thread maps\_hms_utility::aiarrayfallbackonflag(var_01,"FlagEndingPlayerAdvanceFight4","EndingEnemyVolCenter03"); + thread maps\_hms_utility::aiarraydeleteonflag(var_01,"FlagEndingPlayerAdvanceFight6"); + var_05 = getent("convoy_vehicle_2","targetname"); + var_00 thread maps\_anim::anim_single_solo(var_05,"enemy_exit"); +} + +//Function Number: 54 +spawnendingenemies04() +{ + var_00 = common_scripts\utility::flag_wait_any_return("FlagTriggerEndingEnemy04Right","FlagTriggerEndingEnemy04Left"); + thread spawnendingenemies04flood(); + maps\_utility::array_spawn_function_targetname("EndingEnemy04",::endingcombatenemysetup); + var_01 = maps\_utility::array_spawn_targetname("EndingEnemy04",1); + var_02 = maps\_utility::get_living_ai_array("EndingEnemy04Floater","script_noteworthy"); + var_03 = []; + switch(var_00) + { + case "FlagTriggerEndingEnemy04Right": + var_03 = common_scripts\utility::getstructarray("EndingEnemy04TeleportRight","targetname"); + break; + + case "FlagTriggerEndingEnemy04Left": + var_03 = common_scripts\utility::getstructarray("EndingEnemy04TeleportLeft","targetname"); + break; + } + + endingenemyfloatersteleport(var_02,var_03); + foreach(var_05 in var_01) + { + if(isdefined(var_05.script_noteworthy)) + { + if(var_05.script_noteworthy == "Truck2crawl") + { + var_01 = common_scripts\utility::array_remove(var_01,var_05); + var_05 thread endingenemycrawlthread("civilian_crawl_1","civilian_crawl_1_death_A"); + continue; + } + + if(var_05.script_noteworthy == "Truck1rpg") + { + var_01 = common_scripts\utility::array_remove(var_01,var_05); + var_05 thread endingenemysetupsuperguy(); + } + } + } + + thread maps\_hms_utility::aiarrayfallbackonflag(var_01,"FlagEndingPlayerAdvanceFight6","EndingEnemyVolCenter03"); +} + +//Function Number: 55 +spawnendingenemies04flood() +{ + maps\_utility::array_spawn_function_targetname("EndingEnemy04flood",::endingcombatenemysetup); + var_00 = getentarray("EndingEnemy04flood","targetname"); + thread maps\_utility::flood_spawn(var_00); + thread maps\greece_code::killfloodspawnersonflag(3004,"FlagEndingPlayerAdvanceFight5"); + common_scripts\utility::flag_wait("FlagEndingPlayerAdvanceFight5"); + wait(1); + var_01 = maps\_utility::get_living_ai_array("EndingEnemy04flood_AI","targetname"); + var_02 = getent("EndingEnemyVolCenter03","targetname"); + foreach(var_04 in var_01) + { + var_04 setgoalvolumeauto(var_02); + } + + thread maps\_utility::ai_delete_when_out_of_sight(var_01,256); +} + +//Function Number: 56 +spawnendingenemies05() +{ + var_00 = common_scripts\utility::flag_wait_any_return("FlagTriggerEndingEnemy05Right","FlagTriggerEndingEnemy05Left"); + maps\_utility::array_spawn_function_targetname("EndingEnemy05",::endingcombatenemysetup); + var_01 = maps\_utility::array_spawn_targetname("EndingEnemy05",1); + var_02 = maps\_utility::get_living_ai_array("EndingEnemy05Floater","script_noteworthy"); + var_03 = []; + switch(var_00) + { + case "FlagTriggerEndingEnemy05Right": + var_03 = common_scripts\utility::getstructarray("EndingEnemy05TeleportRight","targetname"); + break; + + case "FlagTriggerEndingEnemy05Left": + var_03 = common_scripts\utility::getstructarray("EndingEnemy05TeleportLeft","targetname"); + break; + } + + endingenemyfloatersteleport(var_02,var_03); + thread maps\_hms_utility::aiarrayfallbackonflag(var_01,"FlagEndingPlayerAdvanceFight6","EndingEnemyVolCenter03"); +} + +//Function Number: 57 +spawnendingenemies06() +{ + common_scripts\utility::flag_wait("FlagEndingPlayerAdvanceFight5"); + maps\_utility::array_spawn_function_targetname("EndingEnemy06",::endingcombatenemysetup); + var_00 = maps\_utility::array_spawn_targetname("EndingEnemy06",1); + thread monitorforceshotgunspawn(); +} + +//Function Number: 58 +spawnendingshotguna() +{ + var_00 = common_scripts\utility::flag_wait_any_return("FlagTriggerEndingShotgunALeft","FlagTriggerEndingShotgunAMid","FlagTriggerEndingShotgunARight"); + maps\_utility::array_spawn_function_targetname("EndingShotgunA",::endingcombatenemysetup); + var_01 = maps\_utility::array_spawn_targetname("EndingShotgunA",1); + var_02 = maps\_utility::get_living_ai_array("EndingShotgunAFloater","script_noteworthy"); + var_03 = []; + switch(var_00) + { + case "FlagTriggerEndingShotgunALeft": + var_03 = common_scripts\utility::getstructarray("EndingShotgunATeleportLeft","targetname"); + break; + + case "FlagTriggerEndingShotgunAMid": + var_03 = common_scripts\utility::getstructarray("EndingShotgunATeleportMid","targetname"); + break; + + case "FlagTriggerEndingShotgunARight": + var_03 = common_scripts\utility::getstructarray("EndingShotgunATeleportRight","targetname"); + break; + } + + endingenemyshotgunnersteleport(var_02,var_03,"FlagEndingPlayerAdvanceFight3"); + thread maps\_hms_utility::aiarraydeleteonflag(var_01,"FlagEndingPlayerAdvanceFight6"); +} + +//Function Number: 59 +spawnendingshotgunb() +{ + var_00 = common_scripts\utility::flag_wait_any_return("FlagTriggerEndingShotgunBLeft","FlagTriggerEndingShotgunBMid","FlagTriggerEndingShotgunBRight","FlagEndingForceShotgunSpawn"); + var_01 = "EndingShotgunB"; + if(var_00 == "FlagEndingForceShotgunSpawn") + { + var_01 = "EndingAltShotgunB"; + } + + maps\_utility::array_spawn_function_targetname(var_01,::endingcombatenemysetup); + var_02 = maps\_utility::array_spawn_targetname(var_01,1); + var_03 = maps\_utility::get_living_ai_array("EndingShotgunBFloater","script_noteworthy"); + var_04 = []; + switch(var_00) + { + case "FlagTriggerEndingShotgunBLeft": + var_04 = common_scripts\utility::getstructarray("EndingShotgunBTeleportLeft","targetname"); + break; + + case "FlagTriggerEndingShotgunBMid": + var_04 = common_scripts\utility::getstructarray("EndingShotgunBTeleportMid","targetname"); + break; + + case "FlagTriggerEndingShotgunBRight": + var_04 = common_scripts\utility::getstructarray("EndingShotgunBTeleportRight","targetname"); + break; + + case "FlagEndingForceShotgunSpawn": + var_04 = common_scripts\utility::getstructarray("EndingShotgunBTeleportAlt","targetname"); + break; + } + + if(var_00 == "FlagEndingForceShotgunSpawn") + { + foreach(var_06 in var_02) + { + var_06 thread endingenemysetupsuperguy(); + } + } + else + { + var_08 = maps\_utility::get_living_ai("EndingShotgunBNonFloater","script_noteworthy"); + var_09 = getnode("EndingShotgunBCenterGoal","targetname"); + var_08 thread maps\_hms_ai_utility::setupshotgunkva(level.player,var_09); + var_08 thread shotgunabortdefendgoalonflag("FlagEndingPlayerAdvanceFight6"); + } + + endingenemyshotgunnersteleport(var_03,var_04,"FlagEndingPlayerAdvanceFight6"); + maps\_utility::waittill_dead_or_dying(var_02); + common_scripts\utility::flag_set("FlagEndingSpecialEnemiesDead"); +} + +//Function Number: 60 +shotgunabortdefendgoalonflag(param_00,param_01,param_02) +{ + self endon("death"); + if(isdefined(param_01) && isdefined(param_02)) + { + common_scripts\utility::flag_wait_any(param_00,param_01,param_02); + } + else if(isdefined(param_01)) + { + common_scripts\utility::flag_wait_either(param_00,param_01); + } + else + { + common_scripts\utility::flag_wait(param_00); + } + + self notify("Abort_Defend_Goal"); +} + +//Function Number: 61 +monitorforceshotgunspawn() +{ + wait(1); + var_00 = getaiarray("axis"); + var_01 = maps\_utility::get_living_ai_array("EndingCineKVA_AI","targetname"); + var_00 = common_scripts\utility::array_remove_array(var_00,var_01); + var_00 = maps\_utility::array_removedead_or_dying(var_00); + monitorendingenemies(var_00,"FlagEndingForceShotgunSpawn",1); +} + +//Function Number: 62 +endingenemytruckexitthread(param_00) +{ + self endon("death"); + param_00 thread maps\_anim::anim_single_solo_run(self,"enemy_exit"); + self.allowdeath = 1; + thread explosiveragdolldeath(); + param_00 waittill("enemy_exit"); +} + +//Function Number: 63 +endingenemystumblethread(param_00) +{ + self endon("death"); + self.ignoresonicaoe = 1; + self.health = 1; + self.allowdeath = 1; + thread maps\greece_code::setragdolldeath(); + thread explosiveragdolldeath(); + self.animname = "generic"; + maps\_utility::gun_remove(); + maps\_utility::set_ignoreall(1); + maps\_utility::disable_arrivals(); + maps\_utility::disable_exits(); + var_01 = self.script_noteworthy + "Org"; + var_02 = common_scripts\utility::getstruct(var_01,"script_noteworthy"); + var_02 maps\_anim::anim_single_solo(self,param_00); + if(isdefined(self)) + { + self kill(self.origin,level.player); + } +} + +//Function Number: 64 +endingenemycrawlthread(param_00,param_01) +{ + self endon("death"); + self.iscrawling = 1; + self.ignoresonicaoe = 1; + self.health = 1; + maps\_utility::set_goal_radius(32); + self.allowdeath = 1; + self.animname = "generic"; + maps\_utility::gun_remove(); + maps\_utility::set_ignoreall(1); + maps\_utility::disable_arrivals(); + maps\_utility::disable_exits(); + maps\_utility::set_deathanim(param_01); + maps\_utility::set_run_anim(param_00,1); + var_02 = self.script_noteworthy + "Org"; + var_03 = common_scripts\utility::getstruct(var_02,"script_noteworthy"); + self forceteleport(var_03.origin,var_03.angles); + var_04 = self.script_noteworthy + "Goal"; + var_05 = common_scripts\utility::getstruct(var_04,"script_noteworthy"); + maps\_utility::set_goal_pos(var_05.origin); + thread monitorenemycrawlplayerdist(); + common_scripts\utility::waittill_either("goal","player_near"); + maps\_anim::anim_single_solo(self,param_01); + if(isdefined(self)) + { + self kill(self.origin,level.player); + } +} + +//Function Number: 65 +monitorenemycrawlplayerdist() +{ + self endon("death"); + for(;;) + { + if(maps\_utility::players_within_distance(64,self.origin)) + { + self notify("player_near"); + } + + wait(0.1); + } +} + +//Function Number: 66 +endingenemyfloatersteleport(param_00,param_01) +{ + param_00 = common_scripts\utility::array_randomize(param_00); + for(var_02 = 0;var_02 < param_00.size;var_02++) + { + var_03 = param_01[var_02]; + param_00[var_02] forceteleport(var_03.origin,var_03.angles); + if(isdefined(var_03.target)) + { + var_04 = var_03.target; + var_05 = getent(var_04,"targetname"); + if(isdefined(var_05)) + { + param_00[var_02] setgoalvolumeauto(var_05); + } + else + { + var_06 = common_scripts\utility::getstruct(var_04,"targetname"); + param_00[var_02] maps\_utility::set_goal_pos(var_06.origin); + } + } + } +} + +//Function Number: 67 +endingenemyshotgunnersteleport(param_00,param_01,param_02) +{ + for(var_03 = 0;var_03 < param_00.size;var_03++) + { + var_04 = param_01[var_03]; + param_00[var_03] forceteleport(var_04.origin,var_04.angles); + if(isdefined(var_04.target)) + { + var_05 = var_04.target; + var_06 = getnode(var_05,"targetname"); + param_00[var_03] thread maps\_hms_ai_utility::setupshotgunkva(level.player,var_06); + param_00[var_03] thread shotgunabortdefendgoalonflag(param_02); + } + } +} + +//Function Number: 68 +endingcombatenemysetup() +{ + maps\_utility::disable_surprise(); + maps\_utility::disable_long_death(); + thread explosiveragdolldeath(); + thread explosivedamagemonitor(); +} + +//Function Number: 69 +explosiveragdolldeath() +{ + self.ragdoll_immediate = 1; + self waittill("death",var_00,var_01,var_02); + if(!isdefined(self)) + { + return; + } + + self stopanimscripted(); + if((isdefined(var_01) && var_01 == "MOD_MELEE") || var_01 == "MOD_RIFLE_BULLET" || var_01 == "MOD_PISTOL_BULLET") + { + self.ragdoll_immediate = undefined; + return; + } + + animscripts\shared::dropallaiweapons(); +} + +//Function Number: 70 +explosivedamagemonitor() +{ + self endon("death"); + for(;;) + { + self waittill("damage",var_00,var_01,var_02,var_03,var_04); + if(var_01 != level.player) + { + continue; + } + + var_05 = 0; + if(var_04 == "MOD_EXPLOSIVE" || var_04 == "MOD_GRENADE" || var_04 == "MOD_PROJECTILE") + { + var_05 = var_00 * 1; + } + else if(var_04 == "MOD_EXPLOSIVE_SPLASH" || var_04 == "MOD_GRENADE_SPLASH" || var_04 == "MOD_PROJECTILE_SPLASH") + { + var_05 = var_00 * 0.5; + } + + if(var_05 > 0) + { + self dodamage(var_05,self.origin,level.player); + } + } +} + +//Function Number: 71 +explosiveimpulse() +{ + self endon("death"); + var_00 = 128; + for(;;) + { + self waittill("missile_fire",var_01,var_02); + if(var_02 == "iw5_microdronelauncher_sp") + { + var_01 waittill("explode"); + var_03 = var_01.origin; + if(!isdefined(var_03)) + { + continue; + } + + earthquake(0.4,0.35,var_03,1024); + wait(0.1); + physicsexplosionsphere(var_03,var_00,0,randomfloatrange(2,3)); + } + } +} + +//Function Number: 72 +endingenemysetupsuperguy() +{ + maps\_utility::disable_surprise(); + self.disablebulletwhizbyreaction = 1; + self.grenadeammo = 0; + self.health = 1000; + self.minpaindamage = 75; + self.a.disablelongdeath = 1; + self.a.disablelongpain = 1; + self.ignoresuppression = 1; + self.disablereactionanims = 1; + self.no_pistol_switch = 1; + self.dontmelee = 1; + self setmodel("kva_heavy_body"); + thread codescripts\character::setheadmodel("kva_heavy_head"); + maps\_utility::set_battlechatter(0); + thread maps\_hms_ai_utility::painmanagement(); + thread explosivedamagemonitor(); + thread maps\_hms_ai_utility::_shotgunnerambience(); + self waittill("death"); + if(soundexists("shotgunner_death_fx")) + { + var_00 = spawn("script_origin",self.origin); + var_00 thread maps\_utility::play_sound_on_entity("shotgunner_death_fx","deathsfx_ended"); + var_00 waittill("deathsfx_ended"); + var_00 delete(); + } +} + +//Function Number: 73 +endingcrashglaunchercorpse(param_00,param_01,param_02) +{ + var_03 = maps\_utility::spawn_targetname("EndingEnemyGlauncherCorpse",1); + var_03 maps\_utility::gun_remove(); + var_03.health = 9999999; + var_03.animname = "generic"; + var_03 maps\_utility::set_ignoreall(1); + var_03 maps\_utility::set_ignoreme(1); + if(param_02 == 1) + { + param_00 maps\_anim::anim_single_solo(var_03,param_01); + var_03 maps\greece_code::kill_no_react(0); + } + else + { + var_03 kill(); + } + + var_04 = getentarray("EndingCrashGlauncherPickup","targetname"); + foreach(var_06 in var_04) + { + var_06 show(); + var_06 hudoutlineenable(2); + var_06 thread monitorplayerpickupglauncher(); + var_06 thread glaunchericonthink(); + } + + level.player thread explosiveimpulse(); +} + +//Function Number: 74 +monitorplayerpickupglauncher(param_00) +{ + for(;;) + { + if(level.player hasweapon("iw5_microdronelauncher_sp")) + { + self notify("remove_glauncher_icon"); + break; + } + + wait 0.05; + } + + level.player givemaxammo("iw5_microdronelauncher_sp"); + level.player setweaponammoclip("iw5_microdronelauncher_sp",weaponclipsize("iw5_microdronelauncher_sp")); +} + +//Function Number: 75 +glaunchericonthink() +{ + self endon("remove_glauncher_icon"); + common_scripts\utility::flag_wait("FlagEndingFightStart"); + var_00 = spawn("trigger_radius",self.origin,0,320,72); + var_01 = newhudelem(); + var_01 setshader("waypoint_threat_tagged",1,1); + var_01.alpha = 0; + var_01.color = (1,1,1); + var_01.x = self.origin[0]; + var_01.y = self.origin[1]; + var_01.z = self.origin[2] + 16; + var_01 setwaypoint(1,1); + self.glauncher_icon = var_01; + self.glauncher_icon_trig = var_00; + if(isdefined(self.icon_always_show) && self.icon_always_show) + { + glauncher_icon_fade_in(var_01); + return; + } + + wait(0.05); + while(isdefined(self)) + { + var_00 waittill("trigger",var_02); + if(!isplayer(var_02)) + { + continue; + } + + while(var_02 istouching(var_00)) + { + var_03 = 1; + if(level.player hasweapon("iw5_microdronelauncher_sp")) + { + var_03 = 0; + } + + if(isdefined(self) && maps\_utility::player_looking_at(self.origin,0.8,1) && var_03) + { + glauncher_icon_fade_in(var_01); + continue; + } + + glauncher_icon_fade_out(var_01); + wait(0.25); + } + + glauncher_icon_fade_out(var_01); + } +} + +//Function Number: 76 +glauncher_icon_fade_in(param_00) +{ + if(param_00.alpha != 0) + { + return; + } + + param_00 fadeovertime(0.2); + param_00.alpha = 0.3; + wait(0.2); +} + +//Function Number: 77 +glauncher_icon_fade_out(param_00) +{ + if(param_00.alpha == 0) + { + return; + } + + param_00 fadeovertime(0.2); + param_00.alpha = 0; + wait(0.2); +} + +//Function Number: 78 +monitorplayerleftlowerpassage() +{ + maps\_utility::trigger_wait_targetname("EndingLeftLowerVol"); + thread sendallenemiesintriggertogoalvol("EndingLeftUpperVol","EndingEnemyVolCenter03"); +} + +//Function Number: 79 +sendallenemiesintriggertogoalvol(param_00,param_01) +{ + var_02 = getaiarray("axis"); + var_03 = getent(param_00,"targetname"); + var_04 = getent(param_01,"targetname"); + var_05 = []; + var_02 = maps\_utility::array_removedead_or_dying(var_02); + foreach(var_07 in var_02) + { + if(isdefined(var_07) && var_07 istouching(var_03)) + { + var_05 = common_scripts\utility::add_to_array(var_05,var_07); + var_07 setgoalvolumeauto(var_04); + var_07.favoriteenemy = level.player; + } + } + + maps\_hms_utility::printlnscreenandconsole("Sending " + var_05.size + " enemies to volume " + param_01); +} + +//Function Number: 80 +endingsetupvehicles() +{ + var_00 = getent("hades_vehicle","targetname"); + var_00 maps\_utility::assign_animtree("hades_vehicle"); + var_00.animname = "hades_vehicle"; + var_01 = getent("enemy_vehicle","targetname"); + var_01 maps\_utility::assign_animtree("enemy_vehicle"); + var_01.animname = "enemy_vehicle"; + var_02 = getent("convoy_vehicle_2","targetname"); + var_02 maps\_utility::assign_animtree("convoy_vehicle_2"); + var_02.animname = "convoy_vehicle_2"; + var_03 = getent("convoy_vehicle_3","targetname"); + var_03 maps\_utility::assign_animtree("convoy_vehicle_3"); + var_03.animname = "convoy_vehicle_3"; + thread monitorconvoyvehicle3(); + var_04 = getent("convoy_vehicle_4","targetname"); + var_04 maps\_utility::assign_animtree("convoy_vehicle_4"); + var_04.animname = "convoy_vehicle_4"; + var_05 = level.start_point; + if(var_05 == "start_ending_fight" || var_05 == "start_ending_hades") + { + thread setuphadescrashedvehicle(); + thread setupconvoycrashedvehicles(); + } +} + +//Function Number: 81 +setuphadescrashedvehicle() +{ + level.endinghades = maps\_utility::spawn_script_noteworthy("EndingHades",1); + level.endinghades.animname = "Hades"; + level.endinghades.script_parameters = "Hades"; + level.endinghades.neverdelete = 1; + level.endinghades setupaiforendinganim(1); + var_00 = getent("EndingPlayerHadesVehicleOrg","targetname"); + var_00 thread maps\_anim::anim_loop_solo(level.endinghades,"start_idle","stop_loop"); + var_01 = maps\_utility::spawn_script_noteworthy("EndingNPC1",1); + var_01.animname = "npc1"; + var_01.neverdelete = 1; + var_01 setupaiforendinganim(1); + var_00 maps\_anim::anim_first_frame_solo(var_01,"start_idle"); +} + +//Function Number: 82 +setupconvoycrashedvehicles() +{ + var_00 = getent("EndingPlayerHadesVehicleOrg","targetname"); + var_01 = getent("convoy_vehicle_2","targetname"); + var_02 = getent("convoy_vehicle_3","targetname"); + var_03 = [var_01,var_02]; + var_00 thread maps\_anim::anim_first_frame(var_03,"enemy_exit"); + var_04 = getent("convoy_vehicle_4","targetname"); + var_00 thread maps\_anim::anim_last_frame_solo(var_04,"convoy_enter"); + var_05 = getent("hades_vehicle","targetname"); + var_00 maps\_anim::anim_first_frame_solo(var_05,"enemy_exit"); +} + +//Function Number: 83 +setupfinalebarrier() +{ + var_00 = getent("EndingPlayerHadesVehicleOrg","targetname"); + var_01 = getent("greece_finale_barrier","targetname"); + var_01 maps\_utility::assign_animtree("finale_barrier"); + var_01.animname = "finale_barrier"; + var_00 thread maps\_anim::anim_first_frame_solo(var_01,"start_action"); +} + +//Function Number: 84 +monitorhadesvehicleinteract() +{ + var_00 = getent("UseTriggerEndingHadesVehicleInteract","targetname"); + var_00 common_scripts\utility::trigger_on(); + var_00 makeusable(); + var_00 setcursorhint("HINT_NOICON"); + var_00 maps\_utility::addhinttrigger(&"GREECE_HINT_ENDING_OPEN_DOOR",&"GREECE_HINT_ENDING_OPEN_DOOR_KB"); + thread monitorhadesvehiclehint(); + var_00 waittill("trigger",var_01); + var_00 delete(); + common_scripts\utility::flag_set("FlagEndingHadesVehicleInteractBegin"); + common_scripts\utility::flag_set("FlagEndingClearObjInterceptHades"); + thread bigfinale(); +} + +//Function Number: 85 +monitorhadesvehiclehint() +{ + var_00 = getent("EndingHadesVehicleObj","targetname"); + var_01 = maps\_shg_utility::hint_button_position("use",var_00.origin,128); + common_scripts\utility::flag_wait("FlagEndingHadesVehicleInteractBegin"); + var_01 maps\_shg_utility::hint_button_clear(); +} + +//Function Number: 86 +bigfinale() +{ + thread maps\_player_exo::player_exo_deactivate(); + level.player maps\_shg_utility::setup_player_for_scene(1); + thread maps\_utility::autosave_by_name("ending_finale_start"); + soundscripts\_snd::snd_music_message("start_finale_hades_extraction_music"); + maps\_utility::battlechatter_off("axis"); + maps\_utility::battlechatter_off("allies"); + thread endinghidebigfinaleents(); + level.endinghades setthreatdetection("disable"); + var_00 = maps\_utility::get_living_ai("EndingNPC1","script_noteworthy"); + var_00 setthreatdetection("disable"); + level notify("EndingStartBigFinale"); + var_01 = getent("EndingPlayerHadesVehicleOrg","targetname"); + var_02 = maps\_utility::spawn_anim_model("player_ending_rig",var_01.origin,var_01.angles); + var_02 hide(); + var_01 maps\_anim::anim_first_frame_solo(var_02,"start_action"); + level.player playerlinktoblend(var_02,"tag_player",0.3); + wait(0.3); + var_02 show(); + var_03 = getent("hades_vehicle","targetname"); + var_04 = getent("enemy_vehicle","targetname"); + var_05 = getent("greece_finale_barrier","targetname"); + var_06 = maps\_hms_utility::getnamedally("Ilona"); + var_06 setupaiforendinganim(); + thread setupbigfinaleguys(); + thread setupfinalebarrier(); + thread bigfinaleenemytruckdamagesetup(var_04); + var_01 notify("hades_vehicle_interact"); + thread maps\greece_ending_fx::endingplayercarpinnedfx(); + thread bigfinaleplayershoot(var_01,var_02); + var_07 = [var_03,var_04,level.endinghades,var_06,var_05]; + var_01 maps\_anim::anim_single(var_07,"start_action"); + level notify("EndingFinalePlayerHit"); + soundscripts\_snd::snd_message("start_finale_suv_damage"); + thread maps\_utility::autosave_by_name("ending_finale_player_hit"); + thread bigfinaleplayerstab(); + thread bigfinaleplayergrabgun(var_01,var_02); + var_06 maps\_utility::anim_stopanimscripted(); + var_08 = [var_04,var_06,level.endinghades]; + var_01 maps\_anim::anim_single(var_08,"fight_action"); + level notify("EndingFinaleStabSlomoEnd"); + var_09 = [var_02,var_04,var_06,level.endinghades]; + if(common_scripts\utility::flag("FlagEndingHadesStabInteractSuccess")) + { + var_01 maps\_anim::anim_single(var_09,"fight_success"); + } + else + { + var_0A = [var_04,var_06,level.endinghades]; + bigfinaleplayerstabfail(var_01,var_0A,var_02); + return; + } + + var_0B = maps\_utility::spawn_anim_model("finale_data"); + level notify("EndingFinalePlayerHideKnife"); + var_0C = [var_05,var_07,level.endinghades,var_0B]; + var_02 thread maps\_anim::anim_single_solo(var_03,"end_sequence"); + thread endingcomplete(); + var_07.disablefacialfilleranims = 1; + var_02 maps\_anim::anim_single(var_0C,"end_sequence"); +} + +//Function Number: 87 +setupbigfinaleguys() +{ + var_00 = getent("enemy_vehicle","targetname"); + var_01 = var_00 gettagorigin("TAG_DRIVER"); + var_02 = var_00 gettagangles("TAG_DRIVER"); + var_03 = var_00 gettagorigin("TAG_PASSENGER"); + var_04 = var_00 gettagangles("TAG_PASSENGER"); + var_05 = (-3,-8,-44.5); + var_06 = maps\_utility::spawn_script_noteworthy("EndingNPC2",1); + var_06.animname = "npc2"; + var_06.health = 999999999; + var_06 setupaiforendinganim(); + var_06 linkto(var_00,"TAG_DRIVER",var_05,(0,0,0)); + var_06 forceteleport(var_01 + var_05,var_02); + var_06 maps\_utility::forceuseweapon("iw5_titan45_sp","primary"); + var_06 thread maps\_anim::anim_single_solo(var_06,"veh_idle"); + var_07 = maps\_utility::spawn_script_noteworthy("EndingNPC3",1); + var_07.animname = "npc3"; + var_07.health = 999999999; + var_07 setupaiforendinganim(); + var_07 linkto(var_00,"TAG_PASSENGER",var_05,(0,0,0)); + var_07 forceteleport(var_03 + var_05,var_04); + var_07 thread maps\_anim::anim_single_solo(var_07,"veh_idle"); + level waittill("EndingFinalePlayerHit"); + var_06 thread maps\_anim::anim_single_solo(var_06,"veh_death"); + var_07 thread maps\_anim::anim_single_solo(var_07,"veh_death"); +} + +//Function Number: 88 +bigfinaleplayershoot(param_00,param_01) +{ + param_00 thread maps\_anim::anim_single_solo(param_01,"start_action"); + level waittill("EndingFinaleShootSlomoStart"); + level.player takeallweapons(); + level.player disableweaponswitch(); + level.player playerlinktodelta(param_01,"tag_player",0,30,30,15,15,0,0); + level.player enableslowaim(0.75,0.75); + level.player enableweapons(); + level.player giveweapon("iw5_titan45_sp_opticsreddot_silencerpistol"); + level.player switchtoweaponimmediate("iw5_titan45_sp_opticsreddot_silencerpistol"); + soundscripts\_snd::snd_message("start_hades_suv_extraction"); + setslowmotion(1,0.25,0.25); + level waittill("EndingFinaleShootSlomoEnd"); + soundscripts\_snd::snd_message("stop_hades_suv_extraction"); + setslowmotion(0.25,1,0.25); + level waittill("EndingFinalePlayerHit"); + level.player playerlinktoblend(param_01,"tag_player",0); + thread bigfinalehadesknife(); + thread bigfinalehitflash(); + level.player disableweapons(); + level.player takeallweapons(); + level.player shellshock("greece_finale_car_impact",0.5); + earthquake(0.65,0.6,level.player.origin,128); + level.player playrumbleonentity("damage_heavy"); + level.player dodamage(level.player.health - 1,(0,0,0)); + wait(0.5); + level.player shellshock("greece_finale_car_recovery",10); +} + +//Function Number: 89 +bigfinalehitflash() +{ + var_00 = maps\_hud_util::get_optional_overlay("white"); + var_00.alpha = 1; + wait(0.05); + maps\_hud_util::fade_in(0.1,"white"); +} + +//Function Number: 90 +bigfinaleplayerlosegun(param_00) +{ + var_01 = spawn("script_model",param_00.origin); + var_01 setmodel("npc_titan45_base_loot"); + var_02 = param_00 gettagorigin("TAG_WEAPON_RIGHT"); + var_03 = param_00 gettagangles("TAG_WEAPON_RIGHT"); + var_01.origin = var_02; + var_01.angles = var_03; + var_01 linkto(param_00,"TAG_WEAPON_RIGHT"); + level waittill("EndingFinaleHidePlayerGun"); + var_01 delete(); +} + +//Function Number: 91 +bigfinaleilanashoot() +{ + var_00 = maps\_hms_utility::getnamedally("Ilona"); + var_01 = getnode("AllyEndingHadesTruckCover1","targetname"); + var_00 thread maps\_hms_ai_utility::gototogoal(var_01,"cqb",1); + level waittill("EndingIlanaShootTruck"); + var_02 = getent("enemy_vehicle","targetname"); + var_03 = maps\_utility::get_living_ai("EndingNPC2","script_noteworthy"); + var_00.favoriteenemy = var_03; + var_00 setentitytarget(var_02); + var_00 thread bigfinaleilanamagicshoot(var_03); + level waittill("EndingFinaleVehCrashGate"); + wait 0.05; + var_00.favoriteenemy = undefined; + var_00 clearentitytarget(var_02); + var_04 = getnode("AllyEndingHadesTruckCover2","targetname"); + var_00 thread maps\_hms_ai_utility::gototogoal(var_04,"default",1); +} + +//Function Number: 92 +bigfinaleilanamagicshoot(param_00) +{ + level endon("EndingFinaleVehCrashGate"); + var_01 = self geteye(); + for(;;) + { + var_02 = param_00 geteye(); + self shoot(); + wait(randomfloatrange(0.1,0.2)); + } +} + +//Function Number: 93 +bigfinaleplayerknife(param_00) +{ + level waittill("EndingFinalePlayerShowKnife"); + var_01 = spawn("script_model",param_00.origin); + var_01 setmodel("npc_mp_tactical_knife"); + var_02 = param_00 gettagorigin("TAG_WEAPON_LEFT"); + var_03 = param_00 gettagangles("TAG_WEAPON_LEFT"); + var_01.origin = var_02; + var_01.angles = var_03; + var_01 linkto(param_00,"TAG_WEAPON_LEFT"); + level waittill("EndingFinalePlayerHideKnife"); + param_00 notify("EndingFinaleCheckGun"); + var_01 delete(); +} + +//Function Number: 94 +bigfinalehadesknife() +{ + var_00 = spawn("script_model",level.endinghades.origin); + var_00 setmodel("npc_mp_tactical_knife"); + var_01 = level.endinghades gettagorigin("tag_weapon_right"); + var_02 = level.endinghades gettagangles("tag_weapon_right"); + var_00.origin = var_01; + var_00.angles = var_02; + var_00 linkto(level.endinghades,"TAG_WEAPON_RIGHT"); + level waittill("EndingFinalePlayerHideKnife"); + var_00 delete(); +} + +//Function Number: 95 +bigfinaleplayerstab() +{ + var_00 = undefined; + level waittill("EndingFinaleStabSlomoStart"); + level notify("EndingFinaleHidePlayerGun"); + thread monitorhadesstabsuccess(); + level.hint_nofadein = 1; + thread maps\_utility::hintdisplayhandler("player_stab",undefined,undefined,undefined,undefined,200); + wait(0.25); + if(!common_scripts\utility::flag("FlagEndingHadesStabInteractSuccess")) + { + var_00 = 1; + setslowmotion(1,0.25,0.25); + wait(0.25); + } + + thread monitorhadesstabfail(); + common_scripts\utility::flag_wait_either("FlagEndingHadesStabInteractSuccess","FlagEndingHadesStabInteractFail"); + level.hint_nofadein = undefined; + if(isdefined(var_00)) + { + setslowmotion(0.25,1,0.25); + } + + level notify("EndingFinaleStabSlomoEnd"); +} + +//Function Number: 96 +hintplayerstaboff() +{ + if(common_scripts\utility::flag("FlagEndingHadesStabInteractSuccess") || common_scripts\utility::flag("FlagEndingHadesStabInteractFail")) + { + return 1; + } + + return 0; +} + +//Function Number: 97 +monitorhadesstabsuccess() +{ + level endon("EndingFinaleStabSlomoEnd"); + thread monitorhadesstabbuttonpress(); + level.player waittill("stab_hades"); + common_scripts\utility::flag_set("FlagEndingHadesStabInteractSuccess"); + level notify("EndingFinaleStabSlomoEnd"); +} + +//Function Number: 98 +monitorhadesstabbuttonpress() +{ + level endon("EndingFinaleStabSlomoEnd"); + while(!common_scripts\utility::flag("FlagEndingHadesStabInteractSuccess")) + { + if(level.player meleebuttonpressed() || level.player attackbuttonpressed()) + { + level.player notify("stab_hades"); + } + + wait 0.05; + } +} + +//Function Number: 99 +monitorhadesstabfail() +{ + level waittill("EndingFinaleStabSlomoEnd"); + if(!common_scripts\utility::flag("FlagEndingHadesStabInteractSuccess")) + { + common_scripts\utility::flag_set("FlagEndingHadesStabInteractFail"); + } +} + +//Function Number: 100 +bigfinaleplayerstabfail(param_00,param_01,param_02) +{ + var_03 = getanimlength(param_02 maps\_utility::getanim("fight_fail")) - 1.5; + soundscripts\_snd::snd_message("start_hades_kill_interact_fail"); + level notify("failBloodDrips"); + earthquake(0.65,0.6,level.player.origin,128); + level.player playrumbleonentity("damage_heavy"); + level.player dodamage(level.player.health - 1,(0,0,0)); + thread endingfinalebloodsplat(var_03,0.05,1,1); + param_00 thread maps\_anim::anim_single_solo(param_02,"fight_fail"); + thread failhadesstabplayer(var_03); + param_00 maps\_anim::anim_single(param_01,"fight_fail"); +} + +//Function Number: 101 +setupaiforendinganim(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 0; + } + + maps\_utility::set_ignoreall(1); + maps\_utility::set_ignoreme(1); + maps\_utility::set_battlechatter(0); + maps\_utility::disable_surprise(); + maps\_utility::disable_danger_react(); + maps\_utility::disable_pain(); + self.ignoresonicaoe = 1; + self.name = " "; + if(param_00 == 1) + { + thread maps\_utility::deletable_magic_bullet_shield(); + } +} + +//Function Number: 102 +endingsetupcivilians() +{ + maps\_utility::array_spawn_function_targetname("EndingCivFlee",::endingcivfleesetup); + var_00 = maps\_utility::array_spawn_targetname("EndingCivFlee",1); + foreach(var_02 in var_00) + { + var_02 thread endingcivilianflee(); + } +} + +//Function Number: 103 +endingcivfleesetup() +{ + self pushplayer(0); + maps\_utility::set_ignoreall(1); + maps\_utility::set_ignoreme(1); + self.allowdeath = 1; + self.allowpain = 0; +} + +//Function Number: 104 +endingcivilianflee(param_00) +{ + self endon("death"); + self.animname = "generic"; + self.ignoresonicaoe = 1; + var_01 = self.script_noteworthy + "Org"; + var_02 = common_scripts\utility::getstruct(var_01,"script_noteworthy"); + var_03 = self.script_noteworthy; + var_04 = var_03 + "_idle"; + var_05 = var_03 + "_end"; + var_06 = var_03 + "_goal"; + var_07 = common_scripts\utility::getstruct(var_06,"targetname"); + if(isdefined(var_04) && maps\_utility::hasanim(var_04)) + { + var_02 thread maps\_anim::anim_loop_solo(self,var_04,var_05); + } + + common_scripts\utility::flag_wait_either("FlagEndingIlanaShootIntoAir","FlagTriggerEndingJumpDown"); + wait 0.05; + if(isdefined(self)) + { + if(isdefined(var_04) && maps\_utility::hasanim(var_04)) + { + self notify(var_05); + var_02 notify(var_05); + maps\_utility::anim_stopanimscripted(); + var_08 = var_03 + "_react"; + if(self.script_noteworthy == "EndingCiv05") + { + var_02 maps\_anim::anim_single_solo(self,var_08); + self.ignoresonicaoe = undefined; + maps\_utility::set_goal_pos(self.origin); + wait(randomfloatrange(1,3)); + } + else + { + var_02 maps\_anim::anim_single_solo_run(self,var_08); + } + } + } + + if(isdefined(self)) + { + self.ignoresonicaoe = undefined; + maps\_utility::set_goal_pos(var_07.origin); + } + + thread maps\_hms_utility::aideleteonflag("FlagEndingSetAmbushInteractBegin",256,0); +} + +//Function Number: 105 +delete_on_goal() +{ + self endon("death"); + self waittill("goal"); + while(self cansee(level.player)) + { + wait(1); + } + + self delete(); +} + +//Function Number: 106 +monitorconvoyvehicle3() +{ + var_00 = getent("convoy_vehicle_3","targetname"); + var_00 setcandamage(1); + var_00 setcanradiusdamage(1); + var_00 thread monitorconvoyvehicle3damage(); + var_00 common_scripts\utility::waittill_either("player_damage","force_explosion"); + maps\greece_ending_fx::endingcrashtruckexplosionfx(); +} + +//Function Number: 107 +monitorconvoyvehicle3damage() +{ + self endon("force_explosion"); + for(;;) + { + self waittill("damage",var_00,var_01,var_02,var_03,var_04); + if(var_01 != level.player) + { + continue; + } + + if(var_04 == "MOD_EXPLOSIVE" || var_04 == "MOD_GRENADE" || var_04 == "MOD_PROJECTILE" || var_04 == "MOD_EXPLOSIVE_SPLASH" || var_04 == "MOD_GRENADE_SPLASH" || var_04 == "MOD_PROJECTILE_SPLASH") + { + break; + } + } + + self notify("player_damage"); +} + +//Function Number: 108 +endingstorefrontdestroyedsetup() +{ + var_00 = getentarray("store_front_clean","targetname"); + var_01 = getentarray("store_front_destroyed","targetname"); + foreach(var_03 in var_01) + { + var_03 hide(); + } + + level waittill("storefront_crash_veh3"); + foreach(var_03 in var_01) + { + var_03 show(); + } + + foreach(var_03 in var_00) + { + var_03 delete(); + } + + var_09 = getent("storefront_glass_shatter_org","targetname"); + glassradiusdamage(var_09.origin,300,100,0); +} + +//Function Number: 109 +fruit_table_impact() +{ + var_00 = getent("fruit_table_des_org","targetname"); + var_01 = getent("fruit_table_impact_org","targetname"); + var_02 = getentarray("fruit_table_stuff","targetname"); + var_03 = anglestoforward(var_00.angles); + level waittill("Planter_crash_veh3"); + foreach(var_05 in var_02) + { + if(isdefined(var_05)) + { + var_05 delete(); + } + } + + physicsexplosionsphere(var_01.origin,300,0,3); + playfx(level._effect["fruit_table_impact_lrg_x"],var_00.origin,var_03); +} + +//Function Number: 110 +endingfinalebloodsplat(param_00,param_01,param_02,param_03) +{ + level endon("noHealthOverlay"); + var_04 = newhudelem(); + var_04.x = 0; + var_04.y = 0; + var_04 setshader("fullscreen_lit_bloodsplat_01",640,480); + var_04.splatter = 1; + var_04.alignx = "left"; + var_04.aligny = "top"; + var_04.sort = 1; + var_04.foreground = 0; + var_04.horzalign = "fullscreen"; + var_04.vertalign = "fullscreen"; + var_04.enablehudlighting = 1; + var_04.color = (0,0,0); + thread endingfinalebloodremove(var_04); + thread endingfinaleblooddrips(var_04); + var_05 = 0; + var_06 = 0.05; + var_07 = 0.3; + wait(var_06); + var_08 = 1 - level.player.health / level.player.maxhealth; + var_09 = var_08 * var_08 * 1.2; + var_09 = clamp(var_09,0,1); + if(var_05 > var_09) + { + var_05 = var_05 - var_07 * var_06; + } + + if(var_05 < var_09) + { + var_05 = var_09; + } + + var_04.color = (var_05,0,0); +} + +//Function Number: 111 +endingfinaleblooddrips(param_00) +{ + level endon("noHealthOverlay"); + level waittill("failBloodDrips"); + var_01 = 0; + var_02 = 0; + for(var_01 = 0;var_01 < 80;var_01++) + { + var_03 = var_02 / 80; + param_00.color = (255,var_03,0); + var_02 = var_02 + 1; + wait 0.05; + } +} + +//Function Number: 112 +endingfinalebloodremove(param_00) +{ + level waittill("noHealthOverlay"); + param_00 destroy(); +} + +//Function Number: 113 +endingtruckclip(param_00) +{ + var_01 = getentarray("EndingTruckClip","targetname"); + if(param_00 == 1) + { + var_02 = 1024; + } + else + { + var_02 = -1024; + } + + foreach(var_04 in var_01) + { + var_05 = var_04.origin; + var_06 = var_05 + (0,0,var_02); + var_04 moveto(var_06,0.1); + } +} + +//Function Number: 114 +bigfinaleplayergrabgun(param_00,param_01) +{ + thread monitorplayergrabgun(); + param_00 maps\_anim::anim_first_frame_solo(param_01,"fight_action"); + param_00 maps\_anim::anim_single_solo(param_01,"fight_action"); + level notify("EndingFinaleGrabGunWindowEnd"); + if(common_scripts\utility::flag("FlagGrabGunSuccess")) + { + param_00 maps\_anim::anim_single_solo(param_01,"fight_action_reach"); + return; + } + + param_00 maps\_anim::anim_single_solo(param_01,"fight_action_noreach"); +} + +//Function Number: 115 +monitorplayergrabgun() +{ + level waittill("EndingFinaleGrabGunWindowStart"); + thread maps\_utility::hintdisplayhandler("player_grab_gun",undefined,undefined,undefined,undefined,200); + monitorgrabgunbuttonpress(); + common_scripts\utility::flag_set("FlagGrabGunHintOff"); +} + +//Function Number: 116 +hintgrabgunoff() +{ + return common_scripts\utility::flag("FlagGrabGunHintOff"); +} + +//Function Number: 117 +monitorgrabgunbuttonpress() +{ + level endon("EndingFinaleGrabGunWindowEnd"); + while(!common_scripts\utility::flag("FlagGrabGunHintOff")) + { + if(level.player usebuttonpressed()) + { + common_scripts\utility::flag_set("FlagGrabGunSuccess"); + break; + } + + wait 0.05; + } +} + +//Function Number: 118 +spawnendingheli() +{ +} + +//Function Number: 119 +endingtruckfiredamagevol() +{ + level endon("EndingStartBigFinale"); + var_00 = getent("EndingTruckFire","targetname"); + for(;;) + { + var_00 waittill("trigger",var_01); + var_01 dodamage(5,var_00.origin,var_00,var_00,"MOD_CRUSH"); + wait(0.1); + } +} + +//Function Number: 120 +endingburningsniper() +{ + var_00 = maps\_utility::spawn_targetname("EndingBurningSniper",1); + var_00 maps\_utility::gun_remove(); + var_00.animname = "generic"; + var_00 thread maps\greece_sniper_scramble_fx::ragdollonfirefx(); + var_01 = common_scripts\utility::getstruct("EndingBurningSniperOrg","targetname"); + var_02 = "burning_corpse"; + var_01 maps\_anim::anim_single_solo(var_00,var_02); + var_00 maps\greece_code::kill_no_react(0); + common_scripts\utility::flag_wait("FlagTriggerEndingJumpDown"); + if(isdefined(var_00)) + { + var_00 delete(); + } +} + +//Function Number: 121 +bigfinaleenemytruckdamagesetup(param_00) +{ + param_00 hidepart("TAG_HOOD_damage1a","greece_finale_truck"); + param_00 hidepart("TAG_HOOD_damage1b","greece_finale_truck"); + param_00 hidepart("TAG_HOOD_damage1c","greece_finale_truck"); + param_00 hidepart("TAG_HOOD_damage2","greece_finale_truck"); + param_00 hidepart("TAG_HOOD_damage3","greece_finale_truck"); + param_00 hidepart("TAG_GLASS_damage1","greece_finale_truck"); + param_00 hidepart("TAG_GRILL_damage1","greece_finale_truck"); + param_00 hidepart("TAG_GRILL_damage2","greece_finale_truck"); + level waittill("show_damage1"); + param_00 showpart("TAG_HOOD_damage1a","greece_finale_truck"); + param_00 showpart("TAG_HOOD_damage1b","greece_finale_truck"); + param_00 showpart("TAG_HOOD_damage1c","greece_finale_truck"); + param_00 showpart("TAG_GLASS_damage1","greece_finale_truck"); + param_00 showpart("TAG_GRILL_damage1","greece_finale_truck"); + param_00 showpart("TAG_GRILL_damage2","greece_finale_truck"); + param_00 hidepart("TAG_HOOD_healthy","greece_finale_truck"); + param_00 hidepart("TAG_GLASS_FRONT","greece_finale_truck"); + level waittill("show_damage2"); + param_00 showpart("TAG_HOOD_damage2","greece_finale_truck"); + param_00 hidepart("TAG_HOOD_damage1a","greece_finale_truck"); + param_00 hidepart("TAG_HOOD_damage1b","greece_finale_truck"); + param_00 hidepart("TAG_HOOD_damage1c","greece_finale_truck"); + level waittill("show_damage3"); + param_00 showpart("TAG_HOOD_damage3","greece_finale_truck"); + param_00 hidepart("TAG_HOOD_damage2","greece_finale_truck"); + param_00 hidepart("left_wheel_01_jnt","greece_finale_truck"); +} + +//Function Number: 122 +endingautosavetacticalthread() +{ + level endon("EndingEndAutosaveThread"); + var_00 = undefined; + for(;;) + { + if(isdefined(level.curautosave)) + { + var_00 = level.curautosave; + } + + wait 0.05; + thread maps\_utility::autosave_by_name_silent("ending_fight_silent"); + wait(5); + if(isdefined(var_00)) + { + if(var_00 != level.curautosave) + { + maps\_hms_utility::printlnscreenandconsole("*** Autosave success! ***"); + wait(10); + } + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/greece_ending_anim.gsc b/AW/PC/maps/greece_ending_anim.gsc new file mode 100644 index 0000000..30511f1 --- /dev/null +++ b/AW/PC/maps/greece_ending_anim.gsc @@ -0,0 +1,289 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: greece_ending_anim.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 19 + * Decompile Time: 306 ms + * Timestamp: 4/22/2024 2:31:02 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + playerendinganimations(); + ilanaendinganimations(); + civilianendinganimations(); + enemyendinganimations(); + vehicleendinganimations(); + propsendinganimations(); +} + +//Function Number: 2 +playerendinganimations() +{ + level.scr_animtree["player_ending_rig"] = #animtree; + level.scr_model["player_ending_rig"] = "viewbody_atlas_military"; + level.scr_anim["player_ending_rig"]["ied_enter"] = %hms_greece_finale_player_ied_placement; + maps\_anim::addnotetrack_notify("player_ending_rig","ilana_vo_start","EndingAmbushGetToCover","ied_enter"); + maps\_anim::addnotetrack_notify("player_ending_rig","vehicle_start","EndingAmbushStartConvoy","ied_enter"); + maps\_anim::addnotetrack_notify("player_ending_rig","start_slowmotion","EndingAmbushSlowMotion","ied_enter"); + maps\_anim::addnotetrack_notify("player_ending_rig","start_success","EndingAmbushWindowStart","ied_enter"); + maps\_anim::addnotetrack_notify("player_ending_rig","fs_ied_left","vm_ied_footstep_left","ied_enter"); + maps\_anim::addnotetrack_notify("player_ending_rig","fs_ied_right","vm_ied_footstep_right","ied_enter"); + maps\_anim::addnotetrack_customfunction("player_ending_rig","rumble_1",::placeiedrumblelight,"ied_enter"); + level.scr_anim["player_ending_rig"]["ied_success"] = %hms_greece_finale_player_ied_detonation; + level.scr_anim["player_ending_rig"]["ied_fail"] = %hms_greece_finale_player_ied_detonation_fail; + level.scr_anim["player_ending_rig"]["start_action"] = %hms_greece_finale_start_vm; + maps\_anim::addnotetrack_customfunction("player_ending_rig","ps_mhunt_hades_suv_door_ripoff",::bigfinaleplayerripdoor,"start_action"); + level.scr_anim["player_ending_rig"]["fight_action"] = %hms_greece_finale_fight_vm; + maps\_anim::addnotetrack_notify("player_ending_rig","hide_weapon_gun","EndingFinaleHidePlayerGun","fight_action"); + maps\_anim::addnotetrack_notify("player_ending_rig","hit_by_veh","EndingFinalePlayerHit","fight_action"); + maps\_anim::addnotetrack_customfunction("player_ending_rig","hit_by_veh",::bigfinaleplayerhitbyveh,"fight_action"); + maps\_anim::addnotetrack_customfunction("player_ending_rig","hit_wall",::bigfinaleplayerhitwall,"fight_action"); + maps\_anim::addnotetrack_notify("player_ending_rig","window_exo_stun_start","EndingFinaleGrabGunWindowStart","fight_action"); + maps\_anim::addnotetrack_notify("player_ending_rig","window_exo_stun_end","EndingFinaleGrabGunWindowEnd","fight_action"); + level.scr_anim["player_ending_rig"]["fight_action_reach"] = %hms_greece_finale_fight_interact_vm; + maps\_anim::addnotetrack_notify("player_ending_rig","start_slomo","EndingFinaleStabSlomoStart","fight_action_reach"); + maps\_anim::addnotetrack_notify("player_ending_rig","fail","EndingFinaleStabSlomoEnd","fight_action_reach"); + level.scr_anim["player_ending_rig"]["fight_action_noreach"] = %hms_greece_finale_fight2_vm; + maps\_anim::addnotetrack_notify("player_ending_rig","start_slomo","EndingFinaleStabSlomoStart","fight_action_noreach"); + maps\_anim::addnotetrack_notify("player_ending_rig","fail","EndingFinaleStabSlomoEnd","fight_action_noreach"); + level.scr_anim["player_ending_rig"]["fight_success"] = %hms_greece_finale_fight_success_vm; + maps\_anim::addnotetrack_customfunction("player_ending_rig","vm_block_knife",::bigfinaleblockknife,"fight_success"); + maps\_anim::addnotetrack_customfunction("player_ending_rig","vm_punch_hades",::bigfinalepunchhades,"fight_success"); + maps\_anim::addnotetrack_notify("player_ending_rig","unhide_weapon_knife","EndingFinalePlayerShowKnife","fight_success"); + maps\_anim::addnotetrack_customfunction("player_ending_rig","vm_block_knife",::maps\greece_ending_fx::vmknifeblockfx,"fight_success"); + level.scr_anim["player_ending_rig"]["fight_fail"] = %hms_greece_finale_fight_fail_vm; + maps\_anim::addnotetrack_notify("player_ending_rig","vm_stabbed","EndingFinaleStabbed","fight_fail"); + level.scr_anim["player_ending_rig"]["end_sequence"] = %hms_greece_finale_end_vm; + maps\_anim::addnotetrack_notify("player_ending_rig","fade_out","EndingFadeOut","end_sequence"); + level.scr_animtree["player_ending_hands"] = #animtree; + level.scr_model["player_ending_hands"] = "viewhands_atlas_military"; + level.scr_anim["player_ending_hands"]["grab_gun"] = %vm_equipment_exo_stun; +} + +//Function Number: 3 +ilanaendinganimations() +{ + level.scr_anim["Ilona"]["ilana_shoot_into_air"] = %hms_greece_finale_end_streets_civilian_ilana; + maps\_anim::addnotetrack_notify("Ilona","start_flee_anims","EndingFinaleCivsFlee","ilana_shoot_into_air"); + level.scr_anim["Ilona"]["start_action"] = %hms_greece_finale_start_ilana; + level.scr_anim["Ilona"]["fight_action"] = %hms_greece_finale_fight_ilana; + maps\_anim::addnotetrack_customfunction("Ilona","ilana_hit_wall",::maps\greece_ending_fx::ilanahitwallfx,"fight_action"); + maps\_anim::addnotetrack_notify("Ilona","ilana_punched_face","EndingFinaleIlanaPunchFace","fight_action"); + maps\_anim::addnotetrack_customfunction("Ilona","ilana_punch_car",::bigfinaleilanapunchcar,"fight_action"); + maps\_anim::addnotetrack_customfunction("Ilona","ilana_slammed_car",::bigfinaleilanaslamcar,"fight_action"); + maps\_anim::addnotetrack_customfunction("Ilona","ilana_slammed_car",::maps\greece_ending_fx::ilanahitcarfx,"fight_action"); + maps\_anim::addnotetrack_customfunction("Ilona","ilana_kicked_car",::bigfinaleilanakickcar,"fight_action"); + maps\_anim::addnotetrack_customfunction("Ilona","toggle_gun_vis_r",::bigfinaleilanagun,"fight_action"); + level.scr_anim["Ilona"]["fight_success"] = %hms_greece_finale_fight_success_ilana; + level.scr_anim["Ilona"]["fight_fail"] = %hms_greece_finale_fight_fail_ilana; + maps\_anim::addnotetrack_customfunction("Ilona","ilana_throat_cut",::maps\greece_ending_fx::ilanathroatslashfx,"fight_fail"); + maps\_anim::addnotetrack_customfunction("Ilona","ilana_stabbed",::maps\greece_ending_fx::ilanastabbedfx,"fight_fail"); + maps\_anim::addnotetrack_customfunction("Ilona","ilana_stabbed_take_out",::maps\greece_ending_fx::ilanastabbedtakeoutfx,"fight_fail"); + level.scr_anim["Ilona"]["end_sequence"] = %hms_greece_finale_end_ilana; +} + +//Function Number: 4 +civilianendinganimations() +{ + level.scr_anim["generic"]["EndingCiv00_idle"][0] = %hms_greece_finale_end_streets_civilian_female_idle; + level.scr_anim["generic"]["EndingCiv00_react"] = %hms_greece_finale_end_streets_civilian_female_flee; + level.scr_anim["generic"]["EndingCiv01_idle"][0] = %hms_greece_finale_end_streets_civilian_01_idle; + level.scr_anim["generic"]["EndingCiv01_react"] = %hms_greece_finale_end_streets_civilian_01_flee; + level.scr_anim["generic"]["EndingCiv02_idle"][0] = %hms_greece_finale_end_streets_civilian_02_idle; + level.scr_anim["generic"]["EndingCiv02_react"] = %hms_greece_finale_end_streets_civilian_02_flee; + level.scr_anim["generic"]["EndingCiv03_idle"][0] = %hms_greece_finale_end_streets_civilian_03_idle; + level.scr_anim["generic"]["EndingCiv03_react"] = %hms_greece_finale_end_streets_civilian_03_flee; + level.scr_anim["generic"]["EndingCiv04_idle"][0] = %hms_greece_finale_end_streets_civilian_04_idle; + level.scr_anim["generic"]["EndingCiv04_react"] = %hms_greece_finale_end_streets_civilian_04_flee; + level.scr_anim["generic"]["EndingCiv05_idle"][0] = %unarmed_cowerstand_idle; + level.scr_anim["generic"]["EndingCiv05_react"] = %unarmed_cowerstand_react_2_crouch; +} + +//Function Number: 5 +enemyendinganimations() +{ + level.scr_anim["generic"]["civilian_crawl_1"] = %civilian_crawl_1; + level.scr_anim["generic"]["civilian_crawl_1_death_A"] = %civilian_crawl_1_death_a; + level.scr_anim["generic"]["payback_pmc_sandstorm_stumble_1"] = %payback_pmc_sandstorm_stumble_1; + level.scr_anim["generic"]["run_death_flop"] = %run_death_flop; + level.scr_anim["generic"]["convoy_crash"] = %hms_greece_finale_crash_veh2_flying_npc; + maps\_anim::addnotetrack_notify("generic","start_ragdoll","EndingGlauncherGuyRagdoll","convoy_crash"); + level.scr_anim["generic"]["convoy_fail"] = %hms_greece_finale_crash_veh2_flying_npc_fail; + level.scr_anim["veh1_guy_exit"]["enemy_exit"] = %hms_greece_finale_exit_hades_veh1_npc; + level.scr_anim["veh2_guy_exit"]["enemy_exit"] = %hms_greece_finale_exit_veh2_npc; + level.scr_anim["veh3_guy2_exit"]["enemy_exit"] = %hms_greece_finale_exit_veh3_npc2; + level.scr_anim["generic"]["hms_greece_finale_exit_veh3_npc"] = %hms_greece_finale_exit_veh3_npc; + level.scr_anim["generic"]["burning_corpse"] = %dcburning_elevator_corpse_idle_a; + level.scr_anim["Hades"]["start_idle"][0] = %hms_greece_finale_start_interact_idle_hades; + level.scr_anim["Hades"]["start_action"] = %hms_greece_finale_start_hades; + level.scr_anim["Hades"]["fight_action"] = %hms_greece_finale_fight_hades; + level.scr_anim["Hades"]["fight_success"] = %hms_greece_finale_fight_success_hades; + maps\_anim::addnotetrack_notify("Hades","hades_punched_vm","EndingFinaleHadesPunched","fight_success"); + maps\_anim::addnotetrack_notify("Hades","hide_weapon_knife","EndingFinaleHadesHideKnife","fight_success"); + maps\_anim::addnotetrack_customfunction("Hades","fx_throat_slash",::maps\greece_ending_fx::hadesthroatslashfx,"fight_success"); + maps\_anim::addnotetrack_customfunction("Hades","fx_throat_slash",::bigfinaleswitchhadeshead,"fight_success"); + level.scr_anim["Hades"]["fight_fail"] = %hms_greece_finale_fight_fail_hades; + maps\_anim::addnotetrack_customfunction("Hades","Hades_stab_vm",::maps\greece_ending_fx::vmstabbedfacefx,"fight_fail"); + maps\_anim::addnotetrack_customfunction("Hades","Hades_stab_ilana_take_out",::maps\greece_ending_fx::hadesstabbedtakeoutfx,"fight_fail"); + level.scr_anim["Hades"]["end_sequence"] = %hms_greece_finale_end_hades; + maps\_anim::addnotetrack_notify("Hades","audio_hades_awakes_music","start_hades_awake_music","end_sequence"); + maps\_anim::addnotetrack_customfunction("Hades","audio_hades_awakes_music",::endinghadeswakesrumblelight,"end_sequence"); + level.scr_anim["npc1"]["start_idle"] = %hms_greece_finale_npc1_dead; + level.scr_anim["npc2"]["veh_idle"] = %hms_greece_finale_npc2_veh_idle; + level.scr_anim["npc2"]["veh_death"] = %hms_greece_finale_npc2_veh_death; + level.scr_anim["npc3"]["veh_idle"] = %hms_greece_finale_npc3_veh_idle; + level.scr_anim["npc3"]["veh_death"] = %hms_greece_finale_npc3_veh_death; +} + +//Function Number: 6 +vehicleendinganimations() +{ + level.scr_animtree["hades_vehicle"] = #animtree; + level.scr_anim["hades_vehicle"]["convoy_enter"] = %hms_greece_finale_crash_hades_veh1_enter; + level.scr_anim["hades_vehicle"]["convoy_crash"] = %hms_greece_finale_crash_hades_veh1; + level.scr_anim["hades_vehicle"]["enemy_exit"] = %hms_greece_finale_exit_hades_veh1; + level.scr_anim["hades_vehicle"]["convoy_fail"] = %hms_greece_finale_crash_fail_hades_veh1; + level.scr_anim["hades_vehicle"]["start_idle"][0] = %hms_greece_finale_start_interact_idle_suv1; + level.scr_anim["hades_vehicle"]["start_action"] = %hms_greece_finale_start_suv1; + level.scr_animtree["convoy_vehicle_2"] = #animtree; + level.scr_anim["convoy_vehicle_2"]["convoy_enter"] = %hms_greece_finale_crash_veh2_enter; + level.scr_anim["convoy_vehicle_2"]["convoy_crash"] = %hms_greece_finale_crash_veh2; + level.scr_anim["convoy_vehicle_2"]["enemy_exit"] = %hms_greece_finale_exit_veh2; + level.scr_anim["convoy_vehicle_2"]["convoy_fail"] = %hms_greece_finale_crash_fail_veh2; + level.scr_animtree["convoy_vehicle_3"] = #animtree; + level.scr_anim["convoy_vehicle_3"]["convoy_enter"] = %hms_greece_finale_crash_veh3_enter; + level.scr_anim["convoy_vehicle_3"]["convoy_crash"] = %hms_greece_finale_crash_veh3; + maps\_anim::addnotetrack_notify("convoy_vehicle_3","storefront_crash_veh3","storefront_crash_veh3","convoy_crash"); + maps\_anim::addnotetrack_notify("convoy_vehicle_3","Planter_crash_veh3","Planter_crash_veh3","convoy_crash"); + level.scr_anim["convoy_vehicle_3"]["enemy_exit"] = %hms_greece_finale_exit_veh3; + level.scr_anim["convoy_vehicle_3"]["convoy_fail"] = %hms_greece_finale_crash_fail_veh3; + level.scr_animtree["convoy_vehicle_4"] = #animtree; + level.scr_anim["convoy_vehicle_4"]["convoy_enter"] = %hms_greece_finale_crash_veh4; + level.scr_anim["convoy_vehicle_4"]["convoy_fail"] = %hms_greece_finale_crash_fail_veh4; + level.scr_animtree["enemy_vehicle"] = #animtree; + level.scr_anim["enemy_vehicle"]["start_action"] = %hms_greece_finale_start_suv2; + maps\_anim::addnotetrack_notify("enemy_vehicle","veh_crash_gate","EndingFinaleVehCrashGate","start_action"); + maps\_anim::addnotetrack_notify("enemy_vehicle","start_slomo","EndingFinaleShootSlomoStart","start_action"); + maps\_anim::addnotetrack_notify("enemy_vehicle","end_slomo","EndingFinaleShootSlomoEnd","start_action"); + level.scr_anim["enemy_vehicle"]["fight_action"] = %hms_greece_finale_fight_suv2; + maps\_anim::addnotetrack_notify("enemy_vehicle","veh_damage1","show_damage1","fight_action"); + maps\_anim::addnotetrack_notify("enemy_vehicle","veh_damage2","show_damage2","fight_action"); + maps\_anim::addnotetrack_notify("enemy_vehicle","veh_damage3","show_damage3","fight_action"); + level.scr_anim["enemy_vehicle"]["fight_success"] = %hms_greece_finale_fight_success_suv2; + level.scr_anim["enemy_vehicle"]["fight_fail"] = %hms_greece_finale_fight_fail_suv2; + level.scr_anim["enemy_vehicle"]["end_sequence"] = %hms_greece_finale_end_suv2; +} + +//Function Number: 7 +propsendinganimations() +{ + level.scr_animtree["ied_device"] = #animtree; + level.scr_model["ied_device"] = "breach_charge"; + level.scr_anim["ied_device"]["ied_enter"] = %hms_greece_finale_player_ied_detonatordevice; + level.scr_anim["ied_device"]["ied_success"] = %hms_greece_finale_player_ied_detonatordevice_end; + level.scr_anim["ied_device"]["ied_fail"] = %hms_greece_finale_player_ied_detonatordevice_end_fail; + level.scr_animtree["finale_barrier"] = #animtree; + level.scr_model["finale_barrier"] = "greece_finale_barrier"; + level.scr_anim["finale_barrier"]["start_action"] = %hms_greece_finale_barrier; + level.scr_animtree["finale_data"] = #animtree; + level.scr_model["finale_data"] = "datachit_greece"; + level.scr_anim["finale_data"]["end_sequence"] = %hms_greece_finale_end_data; +} + +//Function Number: 8 +bigfinaleplayerhitbyveh(param_00) +{ + earthquake(0.5,0.5,level.player.origin,128); + level.player playrumbleonentity("artillery_rumble"); +} + +//Function Number: 9 +bigfinaleplayerhitwall(param_00) +{ + earthquake(0.5,0.5,level.player.origin,128); + level.player playrumbleonentity("grenade_rumble"); + thread maps\greece_ending::endingfinalebloodsplat(20,0.05,5,1); + soundscripts\_snd::snd_message("start_finale_h2h_music"); +} + +//Function Number: 10 +bigfinaleblockknife(param_00) +{ + earthquake(0.25,0.25,level.player.origin,128); + level.player playrumbleonentity("damage_heavy"); +} + +//Function Number: 11 +bigfinalepunchhades(param_00) +{ + earthquake(0.1,0.1,level.player.origin,128); + level.player playrumbleonentity("damage_light"); +} + +//Function Number: 12 +bigfinaleilanapunchcar(param_00) +{ + earthquake(0.1,0.1,level.player.origin,128); + level.player playrumbleonentity("damage_light"); +} + +//Function Number: 13 +bigfinaleilanaslamcar(param_00) +{ + earthquake(0.1,0.1,level.player.origin,128); + level.player playrumbleonentity("damage_light"); +} + +//Function Number: 14 +bigfinaleilanakickcar(param_00) +{ + earthquake(0.1,0.1,level.player.origin,128); + level.player playrumbleonentity("damage_light"); +} + +//Function Number: 15 +bigfinaleilanagun(param_00) +{ + level.allies["Ilona"] maps\_utility::gun_remove(); + var_01 = spawn("script_model",level.allies["Ilona"].origin); + var_01 setmodel("npc_bal27_nocamo"); + var_02 = level.allies["Ilona"] gettagorigin("tag_weapon_right"); + var_03 = level.allies["Ilona"] gettagangles("tag_weapon_right"); + var_01.origin = var_02; + var_01.angles = var_03; +} + +//Function Number: 16 +bigfinaleswitchhadeshead(param_00) +{ + var_01 = "kva_leader_head_cut_throat"; + param_00 thread codescripts\character::setheadmodel(var_01); + earthquake(0.25,0.25,level.player.origin,128); + level.player playrumbleonentity("damage_light"); +} + +//Function Number: 17 +bigfinaleplayerripdoor(param_00) +{ + wait(0.7); + earthquake(0.25,0.25,level.player.origin,128); + level.player playrumbleonentity("damage_light"); +} + +//Function Number: 18 +placeiedrumblelight(param_00) +{ + earthquake(0.1,0.1,level.player.origin,128); + level.player playrumbleonentity("damage_light"); +} + +//Function Number: 19 +endinghadeswakesrumblelight(param_00) +{ + wait(0.25); + earthquake(0.25,0.25,level.player.origin,128); + level.player playrumbleonentity("damage_heavy"); +} \ No newline at end of file diff --git a/AW/PC/maps/greece_ending_fx.gsc b/AW/PC/maps/greece_ending_fx.gsc new file mode 100644 index 0000000..1611be3 --- /dev/null +++ b/AW/PC/maps/greece_ending_fx.gsc @@ -0,0 +1,203 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: greece_ending_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 19 + * Decompile Time: 280 ms + * Timestamp: 4/22/2024 2:31:03 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + thread precachefx(); +} + +//Function Number: 2 +precachefx() +{ + level._effect["vehicle_explosion_technical"] = loadfx("vfx/map/greece/greece_vehicle_explo_med"); + level._effect["small_vehicle_explosion"] = loadfx("vfx/map/greece/greece_vehicle_explo_charge"); + level._effect["vehicle_engine_smoke_1"] = loadfx("vfx/map/greece/greece_veh_engine_damage_smk_1"); + level._effect["vehicle_engine_smoke_2"] = loadfx("vfx/map/greece/greece_veh_engine_damage_smk_2"); + level._effect["vehicle_engine_smoke_3"] = loadfx("vfx/map/greece/greece_veh_engine_damage_smk_3"); + level._effect["vehicle_tire_smoke_1"] = loadfx("vfx/map/greece/greece_veh_tire_damage_smk_1"); + level._effect["vehicle_tire_smoke_1a"] = loadfx("vfx/map/greece/greece_veh_tire_damage_smk_1a"); + level._effect["vehicle_tire_smoke_2"] = loadfx("vfx/map/greece/greece_veh_tire_damage_smk_2"); + level._effect["fruit_table_impact_lrg_x"] = loadfx("vfx/food/fruit_table_impact_lrg_x"); + level._effect["ending_hades_throat_slash"] = loadfx("vfx/map/greece/greece_flesh_throat_blood_slash"); + level._effect["ending_ilana_throat_slash"] = loadfx("vfx/map/greece/greece_flesh_throat_blood_slash2"); + level._effect["ending_ilana_stabbed"] = loadfx("vfx/map/greece/greece_flesh_throat_blood_spurt"); + level._effect["ending_ilana_stabbed_takeout"] = loadfx("vfx/map/greece/greece_flesh_throat_blood_spurt2"); + level._effect["ending_vm_arm_cut"] = loadfx("vfx/map/greece/greece_flesh_prosthetic_sparks"); + level._effect["ending_hades_stabbed_takeout"] = loadfx("vfx/map/greece/greece_flesh_throat_blood_fall_rnr"); + level._effect["ending_hades_stabbed_takeout2"] = loadfx("vfx/map/greece/greece_flesh_throat_blood_fall2_rnr"); +} + +//Function Number: 3 +endingambushbreachexplosionfx() +{ + var_00 = common_scripts\utility::getstruct("AmbushBreachFX","targetname"); + playfx(common_scripts\utility::getfx("small_vehicle_explosion"),var_00.origin); + earthquake(0.5,0.3,level.player.origin,1000); + level.player playrumbleonentity("damage_heavy"); +} + +//Function Number: 4 +endingcrashtruckexplosionfx() +{ + var_00 = common_scripts\utility::getstruct("CrashTruckFX","targetname"); + var_01 = common_scripts\utility::getstruct("CrashTruckWindows","targetname"); + playfx(common_scripts\utility::getfx("vehicle_explosion_technical"),var_00.origin); + soundscripts\_snd::snd_message("convoy_truck_explosion",var_00); + var_02 = getentarray("EndingShopDoor1","targetname"); + foreach(var_04 in var_02) + { + var_04 delete(); + } + + glassradiusdamage(var_00.origin,100,1000,100); + glassradiusdamage(var_01.origin,200,1000,100); + radiusdamage(var_00.origin,200,100,10); + physicsexplosionsphere(var_00.origin,300,0,randomfloatrange(2,5)); + earthquake(0.5,0.3,var_00.origin,800); + level.player playrumbleonentity("damage_light"); + common_scripts\utility::flag_set("FlagEndingTruckExplode"); + var_06 = getent("convoy_vehicle_3","targetname"); + var_06.animname = "convoy_vehicle_3"; + playfxontag(common_scripts\utility::getfx("vehicle_engine_smoke_3"),var_06,"TAG_ORIGIN"); + thread maps\greece_ending::endingtruckfiredamagevol(); +} + +//Function Number: 5 +endingvehicledamagefx() +{ + var_00 = getent("hades_vehicle","targetname"); + var_00.animname = "hades_vehicle"; + playfxontag(common_scripts\utility::getfx("vehicle_engine_smoke_1"),var_00,"TAG_ORIGIN"); + playfxontag(common_scripts\utility::getfx("vehicle_tire_smoke_1"),var_00,"TAG_ORIGIN"); + var_01 = getent("convoy_vehicle_2","targetname"); + var_01.animname = "convoy_vehicle_2"; + playfxontag(common_scripts\utility::getfx("vehicle_tire_smoke_1a"),var_01,"TAG_ORIGIN"); + var_02 = getent("convoy_vehicle_3","targetname"); + var_02.animname = "convoy_vehicle_3"; + playfxontag(common_scripts\utility::getfx("vehicle_tire_smoke_1a"),var_02,"TAG_ORIGIN"); + wait(4); + var_01 = getent("convoy_vehicle_2","targetname"); + var_01.animname = "convoy_vehicle_2"; + playfxontag(common_scripts\utility::getfx("vehicle_engine_smoke_1"),var_01,"TAG_ORIGIN"); + var_02 = getent("convoy_vehicle_3","targetname"); + var_02.animname = "convoy_vehicle_3"; + playfxontag(common_scripts\utility::getfx("vehicle_engine_smoke_2"),var_02,"TAG_ORIGIN"); +} + +//Function Number: 6 +endingvehicledamageresidualfx() +{ + var_00 = getent("hades_vehicle","targetname"); + var_00.animname = "hades_vehicle"; + playfxontag(common_scripts\utility::getfx("vehicle_engine_smoke_1"),var_00,"TAG_ORIGIN"); + var_01 = getent("convoy_vehicle_2","targetname"); + var_01.animname = "convoy_vehicle_2"; + playfxontag(common_scripts\utility::getfx("vehicle_engine_smoke_1"),var_01,"TAG_ORIGIN"); + var_02 = getent("convoy_vehicle_3","targetname"); + var_02.animname = "convoy_vehicle_3"; + playfxontag(common_scripts\utility::getfx("vehicle_engine_smoke_2"),var_02,"TAG_ORIGIN"); +} + +//Function Number: 7 +stumbleonfirefx() +{ + playfxontag(common_scripts\utility::getfx("character_fire_torso2"),self,"J_SpineUpper"); + soundscripts\_snd::snd_message("enemy_on_fire"); +} + +//Function Number: 8 +endingshopcrashfx() +{ + common_scripts\_exploder::exploder(220); +} + +//Function Number: 9 +endingfirehydrantfx() +{ + common_scripts\_exploder::exploder(221); +} + +//Function Number: 10 +endingplayercarpinnedfx() +{ + wait(1.5); + common_scripts\_exploder::exploder(222); + var_00 = getent("enemy_vehicle","targetname"); + var_00.animname = "enemy_vehicle"; + playfxontag(common_scripts\utility::getfx("vehicle_tire_smoke_2"),var_00,"TAG_ORIGIN"); + wait(8.75); + var_00 = getent("enemy_vehicle","targetname"); + var_00.animname = "enemy_vehicle"; + playfxontag(common_scripts\utility::getfx("vehicle_engine_smoke_1"),var_00,"TAG_ORIGIN"); +} + +//Function Number: 11 +hadesthroatslashfx(param_00) +{ + playfxontag(common_scripts\utility::getfx("ending_hades_throat_slash"),param_00,"J_Neck"); + soundscripts\_snd::snd_message("hades_throat_slash"); + earthquake(0.1,0.1,level.player.origin,128); + wait(5); + common_scripts\_exploder::exploder(224); +} + +//Function Number: 12 +ilanahitwallfx(param_00) +{ + playfxontag(common_scripts\utility::getfx("safehouse_character_dust_impact3"),param_00,"J_SpineUpper"); + common_scripts\_exploder::exploder(228); + wait(1.1); + playfxontag(common_scripts\utility::getfx("knife_block_sparks"),param_00,"J_WristTwist_RI"); +} + +//Function Number: 13 +ilanahitcarfx(param_00) +{ + playfxontag(common_scripts\utility::getfx("safehouse_character_dust_impact3"),param_00,"J_SpineUpper"); +} + +//Function Number: 14 +ilanathroatslashfx(param_00) +{ + playfxontag(common_scripts\utility::getfx("ending_ilana_throat_slash"),param_00,"J_Head"); +} + +//Function Number: 15 +ilanastabbedfx(param_00) +{ + playfxontag(common_scripts\utility::getfx("ending_ilana_stabbed_takeout"),param_00,"J_SpineUpper"); + wait(2); + common_scripts\_exploder::exploder(227); +} + +//Function Number: 16 +ilanastabbedtakeoutfx(param_00) +{ + playfxontag(common_scripts\utility::getfx("ending_ilana_stabbed_takeout"),param_00,"J_SpineUpper"); +} + +//Function Number: 17 +hadesstabbedtakeoutfx(param_00) +{ + playfxontag(common_scripts\utility::getfx("ending_hades_stabbed_takeout"),param_00,"J_WristTwist_RI"); +} + +//Function Number: 18 +vmstabbedfacefx(param_00) +{ + playfxontag(common_scripts\utility::getfx("ending_hades_stabbed_takeout2"),param_00,"J_WristTwist_RI"); +} + +//Function Number: 19 +vmknifeblockfx(param_00) +{ + playfxontag(common_scripts\utility::getfx("ending_vm_arm_cut"),param_00,"J_WristTwist_LE"); +} \ No newline at end of file diff --git a/AW/PC/maps/greece_ending_vo.gsc b/AW/PC/maps/greece_ending_vo.gsc new file mode 100644 index 0000000..a053fb4 --- /dev/null +++ b/AW/PC/maps/greece_ending_vo.gsc @@ -0,0 +1,231 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: greece_ending_vo.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 14 + * Decompile Time: 244 ms + * Timestamp: 4/22/2024 2:31:04 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + thread endingambushdialogue(); + thread endingfightdialogue(); + thread endinghadesdialogue(); +} + +//Function Number: 2 +endingambushdialogue() +{ + level endon("AmbushTimerExpire"); + common_scripts\utility::flag_wait("FlagEndingAmbushStart"); + wait(1); + thread maps\_hms_utility::playdialog(level.dialogtable,"AlleysAmbushSee"); + wait(1); + thread maps\greece_ending::monitorsetupambushtimer(); + common_scripts\utility::flag_set("FlagEndingMarkObjSetAmbush"); + thread endingilanasetupambushdialogue(); + thread endingplayertoofardialogue(); + thread maps\greece_ending::monitorplaceambushinteract(); + common_scripts\utility::flag_wait_any("FlagTriggerEndingJumpDown","FlagEndingIlanaWaitingAtAmbushPoint"); + wait(1); + thread maps\_hms_utility::playdialog(level.dialogtable,"AlleysAmbushInbound"); + wait(1); + thread endingsetupambushreminderdialogue(); + common_scripts\utility::flag_wait("FlagEndingSetAmbushInteractBegin"); + common_scripts\utility::flag_wait("FlagEndingSetAmbushInteractGetToCover"); + thread maps\_hms_utility::playdialog(level.dialogtable,"AmbushWait"); + common_scripts\utility::flag_wait("FlagEndingSetAmbushInteractNow"); + thread maps\_hms_utility::playdialog(level.dialogtable,"AmbushNow"); + common_scripts\utility::flag_wait("FlagEndingSetAmbushInteractComplete"); + wait(1); + common_scripts\utility::flag_set("FlagEndingFightStart"); + thread maps\greece_ending::endingfightstart(); +} + +//Function Number: 3 +endingplayertoofardialogue() +{ + level endon("AmbushTimerExpire"); + level endon("AmbushTimerFreeze"); + level endon("AmbushLeaveMission"); + common_scripts\utility::flag_wait("FlagEndingTooFarWarn"); + maps\_hms_utility::printlnscreenandconsole("WARN - Player is leaving mission area..."); + common_scripts\utility::flag_wait("FlagTriggerEndingTooFarFail"); + common_scripts\utility::flag_set("FlagEndingUnMarkObjSetAmbush"); + thread maps\greece_ending::failsetupambushleavemission(); + level notify("AmbushLeaveMission"); +} + +//Function Number: 4 +endingilanasetupambushdialogue() +{ + common_scripts\utility::flag_wait("FlagEndingIlanaShootIntoAir"); + if(!common_scripts\utility::flag("FlagTriggerEndingJumpDown")) + { + maps\_hms_utility::playdialog(level.dialogtable,"AlleysAmbushClear"); + wait(1); + common_scripts\utility::flag_set("FlagEndingIlanaWaitingAtAmbushPoint"); + thread endingjumpdownreminderdialogue(); + } +} + +//Function Number: 5 +endingjumpdownreminderdialogue() +{ + level endon("AmbushTimerExpire"); + level endon("AmbushTimerFreeze"); + level endon("AmbushLeaveMission"); + wait(10); + while(!common_scripts\utility::flag("FlagTriggerEndingJumpDown") && !common_scripts\utility::flag("FlagEndingIlanaWaitingAtAmbushPoint")) + { + maps\_hms_utility::playdialog(level.dialogtable,"AmbushRemind",undefined,undefined,undefined,1); + wait(10); + } +} + +//Function Number: 6 +endingsetupambushreminderdialogue() +{ + level endon("AmbushTimerExpire"); + level endon("AmbushTimerFreeze"); + level endon("AmbushLeaveMission"); + wait(10); + while(!common_scripts\utility::flag("FlagEndingSetAmbushInteractBegin")) + { + maps\_hms_utility::playdialog(level.dialogtable,"AmbushChargeRem",undefined,undefined,undefined,1); + wait(10); + } +} + +//Function Number: 7 +endingfightdialogue() +{ + common_scripts\utility::flag_wait("FlagEndingFightStart"); + wait(1); + soundscripts\_snd::snd_message("start_finale_fight_music"); + maps\_hms_utility::playdialog(level.dialogtable,"AmbushGideon"); + wait(1); + common_scripts\utility::flag_wait("FlagEndingTruckExplode"); + wait(1); + level.allies["Ilona"] maps\_hms_utility::waittillbcsdone("Ilona"); + maps\_hms_utility::playdialog(level.dialogtable,"AmbushForward"); + level.allies["Ilona"] maps\_utility::set_battlechatter(1); + thread endingfightprogressdialogue(); + common_scripts\utility::flag_wait_all("FlagEndingEnemiesAllDead","FlagEndingSpecialEnemiesDead"); + level notify("EndingEnemiesAllDead"); + wait(1); + soundscripts\_snd::snd_message("stop_finale_fight_music"); + wait(1); + maps\_hms_utility::playdialog(level.dialogtable,"AmbushClearer"); + wait(1); + common_scripts\utility::flag_set("FlagEndingHadesStart"); +} + +//Function Number: 8 +endingfightprogressdialogue() +{ + level endon("EndingEnemiesAllDead"); + common_scripts\utility::flag_wait("FlagEndingPlayerAdvanceFight2"); + wait(1); + common_scripts\utility::flag_wait("FlagEndingPlayerAdvanceFight3"); + thread endingfightkvadialogue(); + common_scripts\utility::flag_wait("FlagEndingPlayerAdvanceFight4"); + wait(1); + thread maps\_hms_utility::playdialog(level.dialogtable,"AmbushEyes"); + common_scripts\utility::flag_wait("FlagEndingPlayerAdvanceFight5"); + thread endingfightkvadialogue(); + common_scripts\utility::flag_wait("FlagEndingPlayerAdvanceFight6"); + wait(1); + thread maps\_hms_utility::playdialog(level.dialogtable,"AmbushClear"); +} + +//Function Number: 9 +endinghadesdialogue() +{ + common_scripts\utility::flag_wait("FlagEndingHadesStart"); + common_scripts\utility::flag_set("FlagEndingMarkObjHadesVehicle"); + wait(1); + thread maps\_hms_utility::playdialog(level.dialogtable,"AmbushHonor"); + wait(1); + thread endinghadesvehiclereminderdialogue(); + thread maps\greece_ending::monitorhadesvehicleinteract(); + common_scripts\utility::flag_wait("FlagEndingHadesVehicleInteractBegin"); + wait(5); + thread maps\_hms_utility::playdialog(level.dialogtable,"AmbushShit"); + wait(1); + level notify("EndingIlanaShootTruck"); +} + +//Function Number: 10 +endinghadesvehiclereminderdialogue() +{ + wait(10); + while(!common_scripts\utility::flag("FlagEndingHadesVehicleInteractBegin")) + { + thread maps\_hms_utility::playdialog(level.dialogtable,"AmbushDoor",undefined,undefined,undefined,1); + wait(10); + } +} + +//Function Number: 11 +endingfailtimerexpiredialogue() +{ + maps\_utility::radio_dialogue_stop(); + wait 0.05; + maps\_hms_utility::playdialog(level.dialogtable,"AmbushFail"); +} + +//Function Number: 12 +endingfailleavemissiondialogue() +{ + maps\_utility::radio_dialogue_stop(); + wait 0.05; + maps\_hms_utility::playdialog(level.dialogtable,"AmbushPlayerLeftFail"); +} + +//Function Number: 13 +endingfightkvadialogue() +{ + var_00 = endinggetenemyspeaker(); + if(isdefined(var_00)) + { + var_00 endon("death"); + var_00.animname = "KVA_Soldier"; + var_00.script_parameters = "KVA_Soldier"; + maps\_hms_utility::playdialog(level.dialogtable,"AmbushKVAprotectHades",undefined,undefined,undefined,1,1); + var_00.script_parameters = undefined; + } +} + +//Function Number: 14 +endinggetenemyspeaker() +{ + var_00 = maps\_utility::get_living_ai_array("EndingCineKVA_AI","targetname"); + var_01 = getaiarray("axis"); + foreach(var_03 in var_01) + { + if(isdefined(var_03)) + { + if(isdefined(var_03.script_parameters) && var_03.script_parameters == "KVA_Soldier") + { + var_03.script_parameters = undefined; + } + + if(isdefined(var_03.iscrawling)) + { + var_00 = common_scripts\utility::array_add(var_00,var_03); + } + + if(var_03.classname == "actor_enemy_kva_shotgun" || var_03.classname == "actor_enemy_kva_civ_rpg" || var_03.classname == "actor_enemy_kva_civ_lmg") + { + var_00 = common_scripts\utility::array_add(var_00,var_03); + } + } + } + + var_05 = maps\_utility::get_closest_ai_exclude(level.player.origin,"axis",var_00); + return var_05; +} \ No newline at end of file diff --git a/AW/PC/maps/greece_fx.gsc b/AW/PC/maps/greece_fx.gsc new file mode 100644 index 0000000..0c5ff63 --- /dev/null +++ b/AW/PC/maps/greece_fx.gsc @@ -0,0 +1,198 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: greece_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 69 ms + * Timestamp: 4/22/2024 2:31:04 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["greece_fishtank_bubbles"] = loadfx("vfx/water/greece_fishtank_bubbles"); + precachefx(); + if(!getdvarint("r_reflectionProbeGenerate")) + { + maps\createfx\greece_fx::main(); + maps\_shg_fx::setup_shg_fx(); + thread maps\_shg_fx::fx_zone_watcher(5000,"msg_fx_zone5000"); + thread maps\_shg_fx::fx_zone_watcher(6000,"msg_fx_zone6000"); + thread maps\_shg_fx::fx_zone_watcher(7000,"msg_fx_zone7000"); + thread maps\_shg_fx::fx_zone_watcher(8000,"msg_fx_zone8000"); + } +} + +//Function Number: 2 +precachefx() +{ + level._effect["water_tower_steam"] = loadfx("vfx/map/greece/water_tower_steam"); + level._effect["greece_lobstertank_splash_child"] = loadfx("vfx/water/greece_lobstertank_splash_child"); + level._effect["greece_lobstertank_splash_des"] = loadfx("vfx/water/greece_lobstertank_splash_des"); + level._effect["greece_fountain_splash_lrg"] = loadfx("vfx/water/greece_fountain_splash_lrg"); + level._effect["greece_fountain_splash_sml"] = loadfx("vfx/water/greece_fountain_splash_sml"); + level._effect["light_yellow_fill"] = loadfx("vfx/lights/greece/light_yellow_fill"); + level._effect["light_white_flicker"] = loadfx("vfx/lights/greece/light_white_flicker"); + level._effect["light_flare_spot_small"] = loadfx("vfx/map/greece/greece_flare_light_bulb_spot"); + level._effect["light_flare_spot_small2"] = loadfx("vfx/map/greece/greece_flare_light_bulb_spot2"); + level._effect["light_flare_spot_small_crevice"] = loadfx("vfx/map/greece/greece_flare_light_bulb_spot_crevice"); + level._effect["flare_light_pulse_blue_dim"] = loadfx("vfx/map/greece/greece_light_pulse_blue_dim"); + level._effect["flare_light_blue_dim"] = loadfx("vfx/map/greece/greece_flare_light_blue_dim"); + level._effect["destp_penholder_dyndst"] = loadfx("vfx/destructible/destp_penholder_dyndst"); + level._effect["distortion_drone_fisheye_lens"] = loadfx("vfx/distortion/distortion_drone_fisheye_lens"); + level._effect["godray_ambient_grates_small"] = loadfx("vfx/map/greece/godray_ambient_grates_sm"); + level._effect["godray_ambient_grates_med"] = loadfx("vfx/map/greece/godray_ambient_grates_med"); + level._effect["godray_ambient_grates_large"] = loadfx("vfx/map/greece/godray_ambient_grates_large"); + level._effect["godray_ambient_outdoors_med"] = loadfx("vfx/map/greece/godray_ambient_outdoors_med"); + level._effect["godray_ambient_outdoors2_med"] = loadfx("vfx/map/greece/godray_ambient_outdoors2_med"); + level._effect["godray_ambient_outdoors_large"] = loadfx("vfx/map/greece/godray_ambient_outdoors_large"); + level._effect["godray_foliage_med"] = loadfx("vfx/map/greece/godray_foliage_med"); + level._effect["godray_foliage_large"] = loadfx("vfx/map/greece/godray_foliage_large"); + level._effect["godray_foliage_large_short"] = loadfx("vfx/map/greece/godray_foliage_large_short"); + level._effect["godray_window_small_short"] = loadfx("vfx/map/greece/godray_window_small_short"); + level._effect["godray_window_small_short_particles"] = loadfx("vfx/map/greece/godray_window_small_short_particles"); + level._effect["godray_window_small_narrow"] = loadfx("vfx/map/greece/godray_window_small_narrow"); + level._effect["glow_window_ambient_small"] = loadfx("vfx/map/greece/greece_window_glow_ambient_small"); + level._effect["glow_window_ambient_small2"] = loadfx("vfx/map/greece/greece_window_glow_ambient_small2"); + level._effect["glow_window_ambient_crevice"] = loadfx("vfx/map/greece/greece_window_glow_ambient_crevice"); + level._effect["glow_window_ambient_crevice2"] = loadfx("vfx/map/greece/greece_window_glow_ambient_crevice2"); + level._effect["glow_window_ambient_med"] = loadfx("vfx/map/greece/greece_window_glow_ambient_med"); + level._effect["glow_window_ambient_med2"] = loadfx("vfx/map/greece/greece_window_glow_ambient_med2"); + level._effect["glow_computer_red_blink"] = loadfx("vfx/lights/computer_light_red_blink_xsmall"); + level._effect["glow_computer_green_blink"] = loadfx("vfx/lights/computer_light_green_blink_xsmall"); + level._effect["glow_computer_blue_blink"] = loadfx("vfx/lights/computer_light_blue_blink_xsmall"); + level._effect["glow_bulb_1"] = loadfx("vfx/map/greece/greece_flare_light_bulb_1"); + level._effect["glow_bulb_2_cc"] = loadfx("vfx/map/greece/greece_flare_light_bulb_2_cc"); + level._effect["glow_bulb_3_cc"] = loadfx("vfx/map/greece/greece_flare_light_bulb_3_cc"); + level._effect["glow_bulb_4_cc"] = loadfx("vfx/map/greece/greece_flare_light_bulb_4_cc"); + level._effect["light_cuc_monitor_1"] = loadfx("vfx/lights/light_spot_cuc_monitor_1"); + level._effect["light_cuc_monitor_2_med"] = loadfx("vfx/lights/light_spot_cuc_monitor_2_med"); + level._effect["light_beacon_rotate_red"] = loadfx("vfx/lights/light_red_rotate_01"); + level._effect["light_area_fill_01"] = loadfx("vfx/lights/greece/light_area_fill_small_01"); + level._effect["clouds_ambient_lg_orientedb"] = loadfx("vfx/map/greece/ambient_cloud_mist_lg_orientedb"); + level._effect["clouds_ambient_lg_orienteda"] = loadfx("vfx/map/greece/ambient_cloud_mist_lg_orienteda"); + level._effect["clouds_ambient_lg_oriented2b"] = loadfx("vfx/map/greece/ambient_cloud_mist_lg_oriented2b"); + level._effect["clouds_ambient_lg_oriented2a"] = loadfx("vfx/map/greece/ambient_cloud_mist_lg_oriented2a"); + level._effect["clouds_ambient_vista_fog"] = loadfx("vfx/map/greece/ambient_cloud_fog_layer_1"); + level._effect["clouds_ambient_local_fog"] = loadfx("vfx/map/greece/ambient_cloud_fog_area_local"); + level._effect["clouds_ambient_lg_top"] = loadfx("vfx/map/greece/ambient_cloud_mist_lg_top"); + level._effect["clouds_ambient_lg_top_rays"] = loadfx("vfx/map/greece/ambient_cloud_mist_lg_top_rays"); + level._effect["clouds_ambient_lg_top_shadow"] = loadfx("vfx/map/greece/ambient_cloud_mist_lg_top_shadow"); + level._effect["clouds_ambient_lg_oriented2_cc"] = loadfx("vfx/map/greece/ambient_cloud_mist_lg_oriented2_cc"); + level._effect["dust_ambient_interior"] = loadfx("vfx/map/greece/dust_ambient_interior"); + level._effect["dust_ambient_street"] = loadfx("vfx/map/greece/dust_ambient_street"); + level._effect["dust_ambient_street_blowing"] = loadfx("vfx/map/greece/dust_ambient_street_blowing_runner"); + level._effect["wind_gust_particles"] = loadfx("vfx/wind/ambient_wind_particles"); + level._effect["wind_gust_particles_distant"] = loadfx("vfx/wind/ambient_wind_particles_distant"); + level._effect["steam_chimney_small"] = loadfx("vfx/steam/steam_chimney_breeze_small"); + level._effect["ac_fan_distortion"] = loadfx("vfx/map/greece/ac_fan_distortion"); + level._effect["foliage_ambient_wind"] = loadfx("vfx/wind/ambient_foliage_runner"); + level._effect["foliage_ambient_leaves"] = loadfx("vfx/wind/ambient_wind_leaves_runner"); + level._effect["foliage_rolling_leaves"] = loadfx("vfx/wind/ambient_rolling_ground_leaves"); + level._effect["animal_fruitflies_flying"] = loadfx("vfx/animal/insects_fruitflies_flying"); + level._effect["animal_seagulls_flock_large_flying"] = loadfx("vfx/animal/bird_seagull_flock_flying_runner"); + level._effect["waterfall_wide"] = loadfx("vfx/water/falling_water_exterior_wide"); + level._effect["waterfall_wide_short"] = loadfx("vfx/water/falling_water_exterior_short_wide"); + level._effect["waterfall_wide_splash"] = loadfx("vfx/map/greece/greece_waterfall_splash_medium"); + level._effect["waterfall_splash_flow_small"] = loadfx("vfx/map/greece/greece_waterfall_splash_flow_small"); + level._effect["ocean_wave_runner"] = loadfx("vfx/map/greece/greece_ocean_wave_runner"); + level._effect["ocean_splash_runner"] = loadfx("vfx/map/greece/greece_ocean_splash_runner"); + level._effect["mirage_distortion_medium"] = loadfx("vfx/distortion/heat_distortion_mirage_med"); + level._effect["water_drip_single"] = loadfx("vfx/water/falling_water_drip_line_sm_runner_fast"); + level._effect["water_gutter_flow_slow"] = loadfx("vfx/water/water_flow_rain_gutter_slow_small"); + level._effect["water_gutter_splash"] = loadfx("vfx/water/water_flow_rain_gutter_splash_sm_loop"); + level._effect["water_gutter_splash2"] = loadfx("vfx/water/water_flow_rain_gutter_splash2_sm_loop"); + level._effect["smoke_grenade_emitter"] = loadfx("vfx/map/greece/greece_smoke_grenade_emitter_white"); + level._effect["boat_waves_speedboat_circle"] = loadfx("vfx/water/boat_waves_speedboat_circle"); + level._effect["boat_waves_speedboat_greece"] = loadfx("vfx/water/boat_waves_speedboat_greece"); + level._effect["sunflare"] = loadfx("vfx/lensflare/fx_sunflare_greece_2"); + level._effect["sunflare_dim"] = loadfx("vfx/lensflare/fx_sunflare_greece_dim"); + level._effect["blood_impact_splat"] = loadfx("vfx/map/greece/greece_flesh_impact_blood_splat_ap"); + level._effect["blood_impact_splat_sm"] = loadfx("vfx/map/greece/greece_flesh_blood_no_splash"); + level._effect["tablet_touch_green"] = loadfx("vfx/map/greece/greece_tablet_touch_green"); + level._effect["tablet_touch_green2"] = loadfx("vfx/map/greece/greece_tablet_touch_green2"); + level._effect["tablet_touch_red"] = loadfx("vfx/map/greece/greece_tablet_touch_red"); + level._effect["tablet_touch_red2"] = loadfx("vfx/map/greece/greece_tablet_touch_red2"); + level._effect["na45_beacon"] = loadfx("vfx/test/na45_beacon"); + level._effect["broom_sweeping_dust"] = loadfx("vfx/map/greece/greece_broom_sweep_dust"); + level._effect["safehouse_dust_trail_drag"] = loadfx("vfx/map/greece/greece_dust_trail_drag"); + level._effect["safehouse_character_dust_impact"] = loadfx("vfx/map/greece/greece_character_dust_impact"); + level._effect["safehouse_character_dust_impact2"] = loadfx("vfx/map/greece/greece_character_dust_impact2"); + level._effect["safehouse_character_dust_impact3"] = loadfx("vfx/map/greece/greece_character_dust_impact3"); + level._effect["ending_door_dust_impact"] = loadfx("vfx/map/greece/greece_door_dust_impact"); + level._effect["safehouse_drone_prep_dustoff"] = loadfx("vfx/map/greece/greece_debris_dust_off_xsm"); + level._effect["safehouse_drone_prep_dust_impact"] = loadfx("vfx/map/greece/greece_debris_dust_impact_xsm"); + level._effect["safehouse_drone_draft_plants"] = loadfx("vfx/map/greece/greece_drone_draft_plants_runner"); + level._effect["playing_cards_flying_01"] = loadfx("vfx/props/playing_cards_flying_01"); + level._effect["gate_bashing_burst"] = loadfx("vfx/map/greece/greece_safehouse_gate_burst"); + level._effect["gate_bashing_burst_hinges"] = loadfx("vfx/map/greece/greece_safehouse_gate_burst_hinges"); + level._effect["gate_bashing_burst_ceiling"] = loadfx("vfx/map/greece/greece_safehouse_gate_burst_ceiling"); + level._effect["gate_bashing_burst_ceiling2"] = loadfx("vfx/map/greece/greece_safehouse_gate_burst_ceiling2"); + level._effect["cc_blood_pool_water"] = loadfx("vfx/map/greece/greece_blood_pool_water"); + level._effect["cc_building_character_water_drip_runner"] = loadfx("vfx/map/greece/greece_water_soaked_drip_runner"); + level._effect["cc_building_water_splash"] = loadfx("vfx/water/water_object_impact_splash_light"); + level._effect["cc_building_explosion_main"] = loadfx("vfx/map/greece/greece_explosion_cc_runner"); + level._effect["cc_building_explosion_fire"] = loadfx("vfx/map/greece/greece_fire_ground_03"); + level._effect["cc_building_explosion_fire_lg"] = loadfx("vfx/map/greece/greece_fire_ground_03_lg"); + level._effect["cc_building_explosion_smoke_large"] = loadfx("vfx/map/greece/greece_explosion_cc_stg03"); + level._effect["cc_building_explosion_smoke_small"] = loadfx("vfx/map/greece/greece_explosion_cc_stg03a"); + level._effect["cc_building_explosion_smoke_xlarge"] = loadfx("vfx/map/greece/greece_explosion_cc_stg03_lg"); + level._effect["cc_building_explosion_smoke_xlarge_a"] = loadfx("vfx/map/greece/greece_explosion_cc_stg03a_lg"); + level._effect["cc_building_explosion_burst_1"] = loadfx("vfx/map/greece/greece_explosion_cc_burst1_lg"); + level._effect["cc_building_explosion_burst_2"] = loadfx("vfx/map/greece/greece_explosion_cc_burst2"); + level._effect["cc_building_explosion_burst_2a"] = loadfx("vfx/map/greece/greece_explosion_cc_burst2a"); + level._effect["cc_building_explosion_burst_2b"] = loadfx("vfx/map/greece/greece_explosion_cc_burst2b"); + level._effect["cc_building_explosion_roof_shock"] = loadfx("vfx/map/greece/greece_cc_roof_shock"); + level._effect["cc_building_explosion_glass_shock"] = loadfx("vfx/map/greece/greece_cc_glass_shock"); + level._effect["cc_building_explosion_glass_shock2"] = loadfx("vfx/map/greece/greece_cc_glass_shock2"); + level._effect["cc_building_explosion_glass_shock3"] = loadfx("vfx/map/greece/greece_cc_glass_shock3"); + level._effect["cc_building_explosion_glass_shatter"] = loadfx("vfx/map/greece/greece_cc_glass_shatter"); + level._effect["cc_building_smoke_window_small"] = loadfx("vfx/map/greece/greece_interior_smoke_window_sm"); + level._effect["cc_building_smoke_window_large"] = loadfx("vfx/map/greece/greece_interior_smoke_window_lg"); + level._effect["cc_building_smoke_filler"] = loadfx("vfx/map/greece/greece_interior_smoke_filler"); + level._effect["cc_building_gate_breach_explosion"] = loadfx("vfx/map/greece/greece_gate_breach_explosion"); + level._effect["cc_building_mute_charge_burst"] = loadfx("vfx/map/greece/greece_mute_charge_burst"); + level._effect["cc_building_explosion_papers"] = loadfx("vfx/wind/paper_sheet_explosion_blown_1"); + level._effect["civ_group_idle_runner_light"] = loadfx("vfx/unique/civ_group_idle_runner_light"); + level._effect["window_glass_shatter"] = loadfx("vfx/map/greece/greece_window_glass_shatter"); + level._effect["window_glass_shatter2"] = loadfx("vfx/map/greece/greece_window_glass_shatter2"); + level._effect["railgun_impact_burst1"] = loadfx("vfx/map/greece/greece_railgun_impact_burst_debris"); + level._effect["railgun_projectile_trail"] = loadfx("vfx/map/greece/greece_sniper_railgun_tracer"); + level._effect["water_splash_debris"] = loadfx("vfx/map/greece/greece_water_firehydrant_splash2"); + level._effect["sniper_tower_explosion_main"] = loadfx("vfx/map/greece/greece_explosion_sniper_tower_stg1"); + level._effect["sniper_tower_explosion_burst"] = loadfx("vfx/map/greece/greece_explosion_sniper_tower_burst"); + level._effect["sniper_tower_explosion_burst1"] = loadfx("vfx/map/greece/greece_explosion_sniper_tower_burst1"); + level._effect["sniper_tower_explosion_burst3"] = loadfx("vfx/map/greece/greece_explosion_sniper_tower_burst3"); + level._effect["sniper_tower_explosion_burst4"] = loadfx("vfx/map/greece/greece_explosion_sniper_tower_burst4"); + level._effect["sniper_tower_explosion_smoke"] = loadfx("vfx/map/greece/greece_explosion_sniper_tower_smoke"); + level._effect["sniper_tower_explosion_smoke2"] = loadfx("vfx/map/greece/greece_explosion_sniper_tower_smoke2"); + level._effect["sniper_tower_explosion_fire"] = loadfx("vfx/map/greece/greece_explosion_sniper_tower_fire"); + level._effect["sniper_tower_explosion_shock"] = loadfx("vfx/map/greece/greece_explosion_sniper_tower_shock"); + level._effect["sniper_tower_explosion_debris_1"] = loadfx("vfx/map/greece/greece_explosion_sniper_tower_debris_1"); + level._effect["sniper_tower_explosion_debris_2"] = loadfx("vfx/map/greece/greece_explosion_sniper_tower_debris_2"); + level._effect["sniper_tower_explosion_debris_3"] = loadfx("vfx/map/greece/greece_explosion_sniper_tower_debris_3"); + level._effect["sniper_tower_debris_smoke_trail"] = loadfx("vfx/map/greece/greece_smokedust_trail_emit_05"); + level._effect["vehicle_fire_med"] = loadfx("vfx/map/greece/greece_vehicle_fire_med"); + level._effect["vehicle_fire_small"] = loadfx("vfx/map/greece/greece_vehicle_fire_small"); + level._effect["character_fire_torso"] = loadfx("vfx/map/greece/greece_character_onfire_torso"); + level._effect["character_fire_torso2"] = loadfx("vfx/map/greece/greece_character_onfire_torso2"); + level._effect["sniper_door_hit"] = loadfx("vfx/map/greece/greece_railgun_impact_door"); + level._effect["ending_shop_crash_burst"] = loadfx("vfx/map/greece/greece_ending_shop_crash_burst"); + level._effect["ending_shop_crash_impact"] = loadfx("vfx/map/greece/greece_ending_shop_crash_impact"); + level._effect["ending_shop_crash_dust"] = loadfx("vfx/map/greece/greece_ending_shop_crash_dust"); + level._effect["smoldering_smoke_1"] = loadfx("vfx/map/greece/greece_explo_smoke_smoldering_1"); + level._effect["smoldering_smoke_2"] = loadfx("vfx/map/greece/greece_explo_smoke_smoldering_2"); + level._effect["fire_hydrant_water_gush"] = loadfx("vfx/map/greece/greece_water_gush_firehydrant"); + level._effect["wind_blowing_debris"] = loadfx("vfx/map/greece/greece_wind_blowing_debris"); + level._effect["wind_blowing_foliage_dense"] = loadfx("vfx/map/greece/greece_ambient_foliage_runner_dense"); + level._effect["dust_falling_debris_runner"] = loadfx("vfx/map/greece/greece_dust_falling_debris_runner"); + level._effect["ending_hades_blood_pool_place"] = loadfx("vfx/map/greece/greece_blood_pool_place"); + level._effect["knife_block_sparks"] = loadfx("vfx/map/greece/greece_knife_block_sparks"); +} + +//Function Number: 3 +visitorcentergatebashfx() +{ + common_scripts\_exploder::exploder(141); +} \ No newline at end of file diff --git a/AW/PC/maps/greece_lighting.gsc b/AW/PC/maps/greece_lighting.gsc new file mode 100644 index 0000000..f1efa4d --- /dev/null +++ b/AW/PC/maps/greece_lighting.gsc @@ -0,0 +1,1613 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: greece_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 52 + * Decompile Time: 784 ms + * Timestamp: 4/22/2024 2:31:07 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + init_level_lighting_flags(); + thread setup_dof_presets(); + thread set_level_lighting_values(); + thread initsafehousexslice(); + thread initsafehouseintro(); + thread inittabletoverlay(); + thread initsafehousefollow(); + thread initsafehouseclearstart(); + thread setsafehouseextdrawdist(); + thread setsafehouseintdrawdist(); + thread lightintensityflicker("safehouse_computer_room_monitor_flicker","start_safehouse_computerlab_light_flicker","stop_safehouse_computerlab_light_flicker",500,2000,0.05,0.15); + if(level.nextgen) + { + thread lightintensityflicker("safehouse_computer_room_monitor_main_flicker","start_safehouse_computerlab_light_flicker","stop_safehouse_computerlab_light_flicker",1,5000,0.1,0.25); + } + else + { + thread lightintensityflicker("safehouse_computer_room_monitor_main_flicker","start_safehouse_computerlab_light_flicker","stop_safehouse_computerlab_light_flicker",100,15000,0.1,0.25); + } + + thread lightintensityflicker("halogen_flickering","halogen_flickering_jewelry_start","halogen_flickering_jewelry_stop",1,155000,0.1,0.25); + thread initsafehousetransitionstart(); + thread initsafehouseexosuitup(); + thread initsafehouseexosuitupfadeout(); + thread initconfcenterstart(); + thread initbeginconfcentersupporta(); + thread initbeginconfcentersupportb(); + thread initbeginconfcentersupportc(); + thread initbeginconfcenterkill(); + thread initbeginconfcentercombat(); + thread initbeginconfcenteroutro(); + thread initsafehouseoutrostart(); + thread setalleystransitionculldist(); + thread initalleystransitionstart(); + thread initalleysstart(); + thread initsniperscrambleintro(); + thread initsniperscramblestarthotel(); + thread initsniperscrambledrones(); + thread initsniperscramblefinalelighting(); + thread initendingambushinteractlighting(); + thread ending_confculldist(); + thread preending_confculldist(); + thread endingambushvision(); + thread initendinghadesfight(); + if(level.nextgen) + { + setsaveddvar("r_hemiAoEnable",1); + } + + if(level.currentgen) + { + } + + thread inittriggermultiplevisionlightset("alleys_store_aa","greece_alleys_start","greece_alleys_store_aa","alleys_start","alleys_store_aa",2); + thread dynamic_dof(0.25,1.5,1,"init_tablet_overlay",1); + thread setup_vfx_sunflare(); + thread setup_dof_safehouseintro(); + thread setup_dof_safehousefollow(); + thread setup_dof_takedownkill(); +} + +//Function Number: 2 +inittriggermultiplevisionlightset(param_00,param_01,param_02,param_03,param_04,param_05) +{ + var_06 = getent(param_00,"targetname"); + if(!isdefined(var_06)) + { + iprintln("Failed to find Vision / LightSet Trigger:" + param_00); + return; + } + + var_06 thread triggermultiplevisionlightsetinternal(param_01,param_02,param_03,param_04,param_05); +} + +//Function Number: 3 +triggermultiplevisionlightsetinternal(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = 1; + var_06 = 0; + for(;;) + { + if(level.player istouching(self)) + { + if(var_05) + { + if(param_01 != "none") + { + maps\_utility::vision_set_changes(param_01,param_04); + } + + if(param_03 != "none") + { + level.player lightsetforplayer(param_03); + } + + var_06 = 1; + var_05 = 0; + } + } + else if(var_06) + { + if(param_00 != "none") + { + maps\_utility::vision_set_changes(param_00,param_04); + } + + if(param_02 != "none") + { + level.player lightsetforplayer(param_02); + } + + var_06 = 0; + var_05 = 1; + } + + wait(0.2); + } +} + +//Function Number: 4 +linearlerp(param_00,param_01,param_02) +{ + return abs(param_00 * 1 - param_02 + param_01 * param_02); +} + +//Function Number: 5 +dynamic_dof(param_00,param_01,param_02,param_03,param_04) +{ + if(!common_scripts\utility::flag("autofocus_loop_active")) + { + common_scripts\utility::flag_wait(param_03); + var_05 = 10; + while(common_scripts\utility::flag(param_03)) + { + common_scripts\utility::flag_set("autofocus_loop_active"); + var_06 = 12000; + var_07 = level.player getplayerangles(); + var_08 = anglestoforward(var_07); + if(param_04) + { + var_09 = level.cameralinkpoint.origin; + } + else + { + var_09 = level.player.origin + (0,0,68); + } + + var_0A = var_09 + var_08 * var_06; + var_0B = bullettrace(var_09 + var_08 * 1,var_0A,0,undefined); + var_0C = distance(var_09,var_0B["position"]); + var_0D = var_0B["entity"]; + var_0E = var_0C; + if(isdefined(var_0D)) + { + if(isdefined(var_0D.origin)) + { + var_0F = distance(var_09,var_0D.origin); + if(var_0F < var_0C) + { + var_0E = var_0F; + } + } + } + + var_10 = var_0E * param_00; + var_10 = linearlerp(var_05,var_10,0.35); + var_05 = var_10; + level.dof["script"]["current"]["nearEnd"] = var_10; + level.dof["script"]["current"]["farStart"] = var_0E; + level.dof["script"]["current"]["farEnd"] = var_0E * param_01; + level.dof["script"]["current"]["farBlur"] = param_02; + wait 0.05; + } + + wait 0.05; + common_scripts\utility::flag_clear("autofocus_loop_active"); + wait 0.05; + thread dynamic_dof(param_00,param_01,param_02,param_03,param_04); + } +} + +//Function Number: 6 +autofocus_loop() +{ + common_scripts\utility::flag_wait("flag_autofocus_on"); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_enable",1); + } + + level.player enablephysicaldepthoffieldscripting(); + wait 0.05; + while(common_scripts\utility::flag("flag_autofocus_on") == 1) + { + wait 0.05; + var_00 = trace_distance(); + level.player setphysicaldepthoffield(1.8,var_00); + } + + level.player disablephysicaldepthoffieldscripting(); + if(level.nextgen) + { + } +} + +//Function Number: 7 +trace_distance() +{ + var_00 = 10000; + var_01 = level.player geteye(); + var_02 = level.player getplayerangles(); + if(isdefined(level.player.dof_ref_ent)) + { + var_03 = combineangles(level.player.dof_ref_ent.angles,var_02); + } + else + { + var_03 = var_03; + } + + var_04 = vectornormalize(anglestoforward(var_03)); + var_05 = bullettrace(var_01,var_01 + var_04 * var_00,1,level.player,1,1,0,0,0); + return distance(var_01,var_05["position"]); +} + +//Function Number: 8 +lightintensityflicker(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + var_07 = getent(param_00,"targetname"); + if(!isdefined(var_07)) + { + return; + } + + common_scripts\utility::flag_wait(param_01); + common_scripts\utility::flag_clear(param_02); + var_08 = 1; + while(var_08) + { + var_09 = randomfloatrange(param_03,param_04); + var_07 setlightintensity(var_09); + if(common_scripts\utility::flag(param_02)) + { + var_08 = 0; + common_scripts\utility::flag_clear(param_01); + thread lightintensityflicker(param_00,param_01,param_02,param_03,param_04,param_05,param_06); + continue; + } + + wait(randomfloatrange(param_05,param_06)); + } +} + +//Function Number: 9 +set_level_lighting_values() +{ + if(isusinghdr()) + { + setsaveddvar("r_disableLightSets",0); + setsaveddvar("r_aodiminish",0.1); + maps\_utility::vision_set_fog_changes("greece",0); + level.player lightsetforplayer("greece"); + if(level.nextgen) + { + level.player setclutforplayer("clut_greece_safehouse_start_aa",1); + } + } + + maps\_lighting::blend_dof_presets("default","greece_safehouse_intro",1); +} + +//Function Number: 10 +init_level_lighting_flags() +{ + common_scripts\utility::flag_init("init_safehouse_intro_lighting"); + common_scripts\utility::flag_init("init_tablet_overlay"); + common_scripts\utility::flag_init("init_safehouse_follow_lighting"); + common_scripts\utility::flag_init("init_safehouse_takedown_kill"); + common_scripts\utility::flag_init("init_safehouse_xslice"); + common_scripts\utility::flag_init("safehouse_terrace_int"); + common_scripts\utility::flag_init("safehouse_terrace_ext"); + common_scripts\utility::flag_init("init_safehouse_melee_kill_initiated_post"); + common_scripts\utility::flag_init("init_safehouse_clear_start_lighting"); + common_scripts\utility::flag_init("start_safehouse_computerlab_light_flicker"); + common_scripts\utility::flag_init("stop_safehouse_computerlab_light_flicker"); + common_scripts\utility::flag_init("init_safehouse_transition_start_lighting"); + common_scripts\utility::flag_init("greece_safehouse_exso_dressup"); + common_scripts\utility::flag_init("greece_safehouse_exso_dressup_fadeout"); + common_scripts\utility::flag_init("init_confcenter_start_lighting"); + common_scripts\utility::flag_init("init_begin_confcenter_support_a_lighting"); + common_scripts\utility::flag_init("init_begin_confcenter_support_b_lighting"); + common_scripts\utility::flag_init("init_begin_confcenter_support_c_lighting"); + common_scripts\utility::flag_init("init_begin_confcenter_kill_lighting"); + common_scripts\utility::flag_init("init_begin_confcenter_combat_lighting"); + common_scripts\utility::flag_init("init_begin_confcenter_outro_lighting"); + common_scripts\utility::flag_init("init_safehouse_outro_start_lighting"); + common_scripts\utility::flag_init("init_alleys_transition_start_lighting"); + common_scripts\utility::flag_init("init_alleys_lighting"); + common_scripts\utility::flag_init("init_sniper_scramble_lighting"); + common_scripts\utility::flag_init("init_sniper_scramble_hotel_lighting"); + common_scripts\utility::flag_init("init_sniper_scramble_drones_lighting"); + common_scripts\utility::flag_init("init_sniper_scramble_finale_lighting"); + common_scripts\utility::flag_init("init_ending_ambush_interact_lighting_level"); + common_scripts\utility::flag_init("Init_FlagEndingSetAmbushInteractBeginLighting"); + common_scripts\utility::flag_init("init_ending_hades_fight"); + common_scripts\utility::flag_init("halogen_flickering_jewelry_start"); + common_scripts\utility::flag_init("halogen_flickering_jewelry_stop"); + common_scripts\utility::flag_init("init_dynamic_dof"); + common_scripts\utility::flag_init("flag_autofocus_on"); + common_scripts\utility::flag_init("autofocus_loop_active"); + common_scripts\utility::flag_init("pre_ending_conf_culldist"); + common_scripts\utility::flag_init("ending_conf_culldist"); +} + +//Function Number: 11 +setup_dof_presets() +{ + if(level.nextgen) + { + maps\_lighting::create_dof_preset("greece",10,18,4,2500,38000,0.964,0.5); + maps\_lighting::create_dof_preset("greece_safehouse_intro",10,18,4,2500,38000,0.964,0.5); + maps\_lighting::create_dof_preset("greece_safehouse_takedown_kill",0,0,4,0,50,2,0.5); + maps\_lighting::create_dof_preset("greece_safehouse_exso_dressup_fov",0,0,4,10,200,4,0.5); + maps\_lighting::create_dof_preset("greece_safehouse_transition_start",10,18,4,2500,38000,0.964,0.5); + maps\_lighting::create_dof_preset("greece_confcenter_start",10,18,4,2500,38000,0.964,0.5); + maps\_lighting::create_dof_preset("greece_confcenter_begin_support_a",10,18,4,1000,22360,1.8,0.5); + maps\_lighting::create_dof_preset("greece_confcenter_begin_support_b",10,18,4,1500,30000,0.964,0.5); + maps\_lighting::create_dof_preset("greece_confcenter_begin_support_c",10,18,4,1500,30000,0.964,0.5); + maps\_lighting::create_dof_preset("greece_confcenter_begin_kill",10,18,4,2500,38000,0.964,0.5); + maps\_lighting::create_dof_preset("greece_confcenter_begin_combat",10,18,4,2500,38000,0.964,0.5); + maps\_lighting::create_dof_preset("greece_confcenter_begin_outro",10,18,4,2500,38000,0.964,0.5); + maps\_lighting::create_dof_preset("greece_safehouse_outro_start",10,18,4,2500,38000,0.964,0.5); + maps\_lighting::create_dof_preset("greece_alleys_transition_start",10,18,4,2500,38000,0.964,0.5); + maps\_lighting::create_dof_preset("greece_alleys_start",10,18,4,2500,38000,0.964,0.5); + maps\_lighting::create_dof_viewmodel_preset("greece_drone_dof",7,15); + return; + } + + maps\_lighting::create_dof_preset("greece",10,18,2,2500,38000,0.564,0.5); + maps\_lighting::create_dof_preset("greece_safehouse_intro",10,18,2,2500,38000,0.564,0.5); + maps\_lighting::create_dof_preset("greece_safehouse_takedown_kill",0,0,2,0,50,2,0.5); + maps\_lighting::create_dof_preset("greece_safehouse_exso_dressup_fov",0,0,2,10,200,3,0.5); + maps\_lighting::create_dof_preset("greece_safehouse_transition_start",10,18,2,2500,38000,0.564,0.5); + maps\_lighting::create_dof_preset("greece_confcenter_start",10,18,2,2500,38000,0.564,0.5); + maps\_lighting::create_dof_preset("greece_confcenter_begin_support_a",10,60,4,6373,30471,2.12,0.5); + maps\_lighting::create_dof_preset("greece_confcenter_begin_support_b",10,18,2,1500,30000,0.564,0.5); + maps\_lighting::create_dof_preset("greece_confcenter_begin_support_c",10,18,2,1500,30000,0.564,0.5); + maps\_lighting::create_dof_preset("greece_confcenter_begin_kill",10,18,2,2500,38000,0.564,0.5); + maps\_lighting::create_dof_preset("greece_confcenter_begin_combat",10,18,2,2500,38000,0.564,0.5); + maps\_lighting::create_dof_preset("greece_confcenter_begin_outro",10,18,2,2500,38000,0.564,0.5); + maps\_lighting::create_dof_preset("greece_safehouse_outro_start",10,18,2,2500,38000,0.564,0.5); + maps\_lighting::create_dof_preset("greece_alleys_transition_start",10,18,2,2500,38000,0.564,0.5); + maps\_lighting::create_dof_preset("greece_alleys_start",10,18,2,2500,38000,0.564,0.5); + maps\_lighting::create_dof_viewmodel_preset("greece_drone_dof",7,15); +} + +//Function Number: 12 +hack_lighttweaks_enable(param_00) +{ + wait(0.1); +} + +//Function Number: 13 +setup_vfx_sunflare() +{ + thread maps\_shg_fx::fx_spot_lens_flare_dir("sunflare",(-15.2216,146.493,0),10000); +} + +//Function Number: 14 +initsafehouseintro() +{ + common_scripts\utility::flag_wait("init_safehouse_intro_lighting"); + if(level.currentgen) + { + setculldist(0); + var_00 = getent("vista_buildings_intro","targetname"); + if(isdefined(var_00)) + { + var_00 hide(); + } + } + else + { + setculldist(0); + } + + maps\_utility::vision_set_fog_changes("greece_safehouse_intro",0); + maps\_lighting::blend_dof_presets("default","greece_safehouse_intro",1); + level.player lightsetforplayer("safehouse_intro"); + if(level.nextgen) + { + level.player setclutforplayer("clut_greece_safehouse_start_aa",0); + } + + thread setup_ilona_lighting(); +} + +//Function Number: 15 +setup_ilona_lighting() +{ + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",1); + var_00 = getent("char_fill","targetname"); + thread maps\_lighting::set_spot_intensity("char_fill",5000); + var_00 setlightradius(120); + var_00 setlightfovrange(110,20); + var_01 = getent("char_rim","targetname"); + thread maps\_lighting::set_spot_intensity("char_rim",50000); + var_01 setlightradius(120); + var_01 setlightfovrange(110,20); + } + + var_02 = getent("ilona_lighting_centroid","targetname"); + level.allies["Ilona"] overridelightingorigin(var_02.origin); +} + +//Function Number: 16 +inittabletoverlay() +{ + common_scripts\utility::flag_wait("init_tablet_overlay"); + if(level.nextgen) + { + level.player setclutforplayer("clut_greece_security_cam",0); + } + else + { + maps\_utility::vision_set_fog_changes("greece_tablet_overlay",0); + } + + setsaveddvar("r_dof_physical_hipenable",1); + setsaveddvar("r_dof_physical_hipFstop",1.5); + if(level.currentgen) + { + setculldist(6500); + var_00 = getent("vista_buildings_intro","targetname"); + if(isdefined(var_00)) + { + var_00 show(); + } + } + else + { + setculldist(0); + } + + common_scripts\utility::flag_clear("init_tablet_overlay"); +} + +//Function Number: 17 +setup_dof_safehouseintro() +{ + common_scripts\utility::flag_wait("init_safehouse_intro_lighting"); + wait(2); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_enable",1); + } + + setsaveddvar("r_dof_physical_hipenable",0); + level.player enablephysicaldepthoffieldscripting(); + if(level.nextgen) + { + level.player setphysicaldepthoffield(2,450,2,2); + wait(3); + level.player setphysicaldepthoffield(3,70,2,2); + wait(8); + level.player setphysicaldepthoffield(3,54); + wait(5); + level.player setphysicaldepthoffield(3,60); + } + else + { + level.player setphysicaldepthoffield(3,450,2,2); + wait(3); + level.player setphysicaldepthoffield(2.8,60,2,2); + wait(8); + level.player setphysicaldepthoffield(3,54); + wait(5); + level.player setphysicaldepthoffield(3,60); + } + + common_scripts\utility::flag_wait("FlagScanTargetBegin"); + level.player disablephysicaldepthoffieldscripting(); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_hipenable",0); + } + + wait(2); + maps\_lighting::blend_dof_presets("default","greece_safehouse_intro",1); +} + +//Function Number: 18 +initsafehousefollow() +{ + common_scripts\utility::flag_wait("init_safehouse_follow_lighting"); + common_scripts\utility::flag_clear("init_tablet_overlay"); + if(level.currentgen) + { + setculldist(0); + var_00 = getent("vista_buildings_intro","targetname"); + if(isdefined(var_00)) + { + var_00 show(); + } + } + else + { + setculldist(0); + } + + maps\_utility::vision_set_fog_changes("greece_safehouse_intro",1); + level.player lightsetforplayer("safehouse_intro"); + if(level.nextgen) + { + level.player setclutforplayer("clut_greece_safehouse_start_aa",0); + } + + thread setup_ilona_lighting(); + setsaveddvar("r_dof_physical_hipenable",0); +} + +//Function Number: 19 +setup_dof_safehousefollow() +{ + common_scripts\utility::flag_wait("init_safehouse_follow_lighting"); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_enable",1); + } + + level.player enablephysicaldepthoffieldscripting(); + if(level.nextgen) + { + level.player setphysicaldepthoffield(8,14,20,20); + wait(2); + level.player setphysicaldepthoffield(12,55,2,2); + wait(4); + level.player setphysicaldepthoffield(3.8,26,2,2); + wait(1.5); + level.player setphysicaldepthoffield(8,70,1,2); + } + else + { + level.player setphysicaldepthoffield(5,14,20,20); + wait(1.5); + level.player setphysicaldepthoffield(3.8,55,7,7); + wait(2); + level.player setphysicaldepthoffield(4.8,26,7,7); + wait(4.5); + level.player setphysicaldepthoffield(11,250,1,2); + } + + wait(5); + if(level.nextgen) + { + setsaveddvar("r_mbEnable",0); + level.player disablephysicaldepthoffieldscripting(); + } + + var_00 = getent("ilona_lighting_centroid","targetname"); + level.allies["Ilona"] defaultlightingorigin(); + if(level.nextgen) + { + } + + if(!common_scripts\utility::flag("flag_autofocus_on")) + { + common_scripts\utility::flag_set("flag_autofocus_on"); + thread dynamic_dof(0.015,5,0.8,"flag_autofocus_on",0); + } +} + +//Function Number: 20 +inittakedownkill() +{ + maps\_lighting::blend_dof_presets("greece_safehouse_intro","greece_safehouse_takedown_kill",0.5); + wait(4); + wait(1); + maps\_lighting::blend_dof_presets("greece_safehouse_takedown_kill","greece_safehouse_intro",1); +} + +//Function Number: 21 +initsafehousetakedownkill() +{ + common_scripts\utility::flag_wait("init_safehouse_melee_kill_initiated_post"); + if(level.currentgen) + { + setculldist(3000); + var_00 = getent("vista_buildings_intro","targetname"); + if(isdefined(var_00)) + { + var_00 hide(); + } + } + else + { + setculldist(3000); + } + + thread inittakedownkill(); +} + +//Function Number: 22 +setup_dof_takedownkill() +{ + common_scripts\utility::flag_wait("init_safehouse_melee_kill_initiated_post"); + thread inittakedownkill(); + if(level.nextgen) + { + setsaveddvar("r_mbEnable",2); + setsaveddvar("r_mbVelocityScalar",0.5); + setsaveddvar("r_dof_physical_enable",1); + } + + level.player enablephysicaldepthoffieldscripting(); + if(level.nextgen) + { + level.player setphysicaldepthoffield(6,20); + wait(0.5); + level.player setphysicaldepthoffield(6,20); + wait(0.5); + level.player setphysicaldepthoffield(6,70); + wait(0.5); + level.player setphysicaldepthoffield(6,26); + wait(0.5); + level.player setphysicaldepthoffield(6,7.5); + wait(1.5); + level.player setphysicaldepthoffield(6,20); + wait(1); + level.player setphysicaldepthoffield(12,350); + wait(2); + level.player setphysicaldepthoffield(12,40); + wait(1); + level.player setphysicaldepthoffield(12,250); + } + else + { + level.player setphysicaldepthoffield(5.2,20); + wait(0.5); + level.player setphysicaldepthoffield(5.2,20); + wait(0.5); + level.player setphysicaldepthoffield(5.2,70); + wait(0.5); + level.player setphysicaldepthoffield(5.2,26); + wait(0.5); + level.player setphysicaldepthoffield(5.2,7.5); + wait(1.5); + level.player setphysicaldepthoffield(5.2,20); + wait(1); + level.player setphysicaldepthoffield(9,350); + wait(2); + level.player setphysicaldepthoffield(9,40); + wait(1); + level.player setphysicaldepthoffield(9,250); + } + + wait(1); + level.player disablephysicaldepthoffieldscripting(); + if(level.nextgen) + { + } + + wait(0.2); + wait(1); + if(level.nextgen) + { + setsaveddvar("r_mbEnable",0); + } + + maps\_lighting::blend_dof_presets("default","greece_safehouse_transition_start",1); +} + +//Function Number: 23 +initsafehousexslice() +{ + common_scripts\utility::flag_wait("init_safehouse_xslice"); + if(level.currentgen) + { + setculldist(3000); + var_00 = getent("vista_buildings_intro","targetname"); + if(isdefined(var_00)) + { + var_00 show(); + } + } + else + { + setculldist(3000); + } + + maps\_utility::vision_set_fog_changes("greece_safehouse_intro",0); + maps\_lighting::blend_dof_presets("default","greece_safehouse_intro",0); + level.player lightsetforplayer("safehouse_intro"); + if(level.nextgen) + { + level.player setclutforplayer("clut_greece_safehouse_start_aa",0); + } +} + +//Function Number: 24 +initsafehouseclearstart() +{ + common_scripts\utility::flag_wait("init_safehouse_clear_start_lighting"); + if(level.currentgen) + { + setculldist(3000); + var_00 = getent("vista_buildings_intro","targetname"); + if(isdefined(var_00)) + { + var_00 show(); + } + } + else + { + setculldist(3000); + } + + maps\_utility::vision_set_fog_changes("greece_safehouse_intro",0); + maps\_lighting::blend_dof_presets("default","greece_safehouse_intro",0); + level.player lightsetforplayer("safehouse_intro"); + if(level.nextgen) + { + level.player setclutforplayer("clut_greece_safehouse_start_aa",3); + } + + common_scripts\utility::flag_set("start_safehouse_computerlab_light_flicker"); +} + +//Function Number: 25 +setsafehouseextdrawdist() +{ + common_scripts\utility::flag_wait("safehouse_terrace_ext"); + if(level.currentgen) + { + setculldist(0); + var_00 = getent("vista_buildings_intro","targetname"); + if(isdefined(var_00)) + { + var_00 show(); + } + + common_scripts\utility::flag_clear("safehouse_terrace_ext"); + thread setsafehouseextdrawdist(); + } +} + +//Function Number: 26 +setsafehouseintdrawdist() +{ + common_scripts\utility::flag_wait("safehouse_terrace_int"); + if(level.currentgen) + { + setculldist(3000); + var_00 = getent("vista_buildings_intro","targetname"); + if(isdefined(var_00)) + { + var_00 show(); + } + + common_scripts\utility::flag_clear("safehouse_terrace_int"); + thread setsafehouseintdrawdist(); + } +} + +//Function Number: 27 +initsafehousetransitionstart() +{ + common_scripts\utility::flag_wait("init_safehouse_transition_start_lighting"); + if(level.currentgen) + { + setculldist(3000); + var_00 = getent("vista_buildings_intro","targetname"); + if(isdefined(var_00)) + { + var_00 show(); + } + } + else + { + setculldist(0); + } + + maps\_utility::vision_set_fog_changes("greece_safehouse_dark",1); + maps\_lighting::blend_dof_presets("default","greece_safehouse_intro",1); + level.player lightsetforplayer("safehouse_dark"); + if(level.nextgen) + { + level.player setclutforplayer("clut_greece_safehouse_start_aa",3); + } +} + +//Function Number: 28 +initsafehouseexosuitup() +{ + common_scripts\utility::flag_wait("greece_safehouse_exso_dressup"); + maps\_lighting::blend_dof_presets("greece_safehouse_intro","greece_safehouse_exso_dressup_fov",6); +} + +//Function Number: 29 +initsafehouseexosuitupfadeout() +{ + common_scripts\utility::flag_wait("greece_safehouse_exso_dressup_fadeout"); + maps\_lighting::blend_dof_presets("greece_safehouse_exso_dressup_fov","greece_safehouse_intro",2); +} + +//Function Number: 30 +hackenablevisiontweaks() +{ +} + +//Function Number: 31 +setup_dof_drone() +{ + setsaveddvar("r_dof_physical_hipEnable",1); + setsaveddvar("r_dof_physical_hipFstop",0.15); + setsaveddvar("r_dof_physical_hipSharpCocDiameter",0.05); + setsaveddvar("r_dof_physical_hipFocusSpeed",32,32,32,32); +} + +//Function Number: 32 +initconfcenterstart() +{ + common_scripts\utility::flag_wait("init_confcenter_start_lighting"); + if(level.currentgen) + { + setculldist(0); + } + else + { + setculldist(0); + } + + maps\_utility::vision_set_fog_changes("greece_confcenter_begin_support_a",0); + maps\_lighting::blend_dof_presets("default","greece_confcenter_begin_support_a",0); + level.player lightsetforplayer("confcenter_start"); + if(level.nextgen) + { + level.player setclutforplayer("clut_greece_conference_center_aa",0); + } + + common_scripts\utility::flag_set("stop_safehouse_computerlab_light_flicker"); + thread setup_dof_drone(); +} + +//Function Number: 33 +initbeginconfcentersupporta() +{ + common_scripts\utility::flag_wait("init_begin_confcenter_support_a_lighting"); + if(level.currentgen) + { + setculldist(0); + } + else + { + setculldist(0); + } + + level.player enableforceviewmodeldof(); + maps\_utility::vision_set_fog_changes("greece_confcenter_begin_support_a",0); + maps\_lighting::blend_dof_presets("default","greece_confcenter_begin_support_a",0); + maps\_lighting::blend_dof_viewmodel_presets("default","greece_drone_dof",0.1); + level.player lightsetforplayer("confcenter_start"); + if(level.nextgen) + { + level.player setclutforplayer("clut_greece_conference_center_aa",0); + } + + thread setup_dof_drone(); +} + +//Function Number: 34 +initbeginconfcentersupportb() +{ + common_scripts\utility::flag_wait("init_begin_confcenter_support_b_lighting"); + if(level.currentgen) + { + setculldist(0); + } + else + { + setculldist(0); + } + + maps\_utility::vision_set_fog_changes("greece_confcenter_begin_support_a",0); + maps\_lighting::blend_dof_presets("default","greece_confcenter_begin_support_a",0); + maps\_lighting::blend_dof_viewmodel_presets("default","greece_drone_dof",0.1); + thread hackenablevisiontweaks(); + level.player lightsetforplayer("confcenter_start"); + if(level.nextgen) + { + level.player setclutforplayer("clut_greece_conference_center_aa",0); + } + + thread setup_dof_drone(); +} + +//Function Number: 35 +initbeginconfcentersupportc() +{ + common_scripts\utility::flag_wait("init_begin_confcenter_support_c_lighting"); + if(level.currentgen) + { + setculldist(0); + } + else + { + setculldist(0); + } + + maps\_utility::vision_set_fog_changes("greece_confcenter_begin_support_a",0); + maps\_lighting::blend_dof_presets("default","greece_confcenter_begin_support_a",0); + maps\_lighting::blend_dof_viewmodel_presets("default","greece_drone_dof",0.1); + thread hackenablevisiontweaks(); + level.player lightsetforplayer("confcenter_start"); + if(level.nextgen) + { + level.player setclutforplayer("clut_greece_conference_center_aa",0); + } + + thread setup_dof_drone(); +} + +//Function Number: 36 +initbeginconfcenterkill() +{ + common_scripts\utility::flag_wait("init_begin_confcenter_kill_lighting"); + if(level.currentgen) + { + setculldist(0); + } + else + { + setculldist(0); + } + + maps\_utility::vision_set_fog_changes("greece_confcenter_begin_support_a",0); + maps\_lighting::blend_dof_presets("default","greece_confcenter_begin_support_a",0); + level.player lightsetforplayer("confcenter_start"); + if(level.nextgen) + { + level.player setclutforplayer("clut_greece_conference_center_aa",0); + } + + thread setup_dof_drone(); +} + +//Function Number: 37 +initbeginconfcentercombat() +{ + common_scripts\utility::flag_wait("init_begin_confcenter_combat_lighting"); + if(level.currentgen) + { + setculldist(0); + } + else + { + setculldist(0); + } + + maps\_utility::vision_set_fog_changes("greece_confcenter_begin_support_a",0); + maps\_lighting::blend_dof_presets("default","greece_confcenter_begin_support_a",0); + level.player lightsetforplayer("confcenter_start"); + if(level.nextgen) + { + level.player setclutforplayer("clut_greece_conference_center_aa",0); + } + + thread setup_dof_drone(); +} + +//Function Number: 38 +initbeginconfcenteroutro() +{ + common_scripts\utility::flag_wait("init_begin_confcenter_outro_lighting"); + if(level.currentgen) + { + setculldist(0); + } + else + { + setculldist(0); + } + + maps\_utility::vision_set_fog_changes("greece_confcenter_begin_support_a",0); + maps\_lighting::blend_dof_presets("default","greece_confcenter_begin_support_a",0); + level.player lightsetforplayer("confcenter_start"); + if(level.nextgen) + { + level.player setclutforplayer("clut_greece_conference_center_aa",0); + } + + thread setup_dof_drone(); +} + +//Function Number: 39 +initsafehouseoutrostart() +{ + common_scripts\utility::flag_wait("init_safehouse_outro_start_lighting"); + setsaveddvar("r_dof_physical_hipenable",0); + if(level.currentgen) + { + setculldist(0); + var_00 = getent("vista_buildings_intro","targetname"); + if(isdefined(var_00)) + { + var_00 show(); + } + } + else + { + setculldist(0); + } + + if(level.nextgen) + { + } + + thread handlesafehouseoutroblur(); + maps\_utility::vision_set_fog_changes("greece_safehouse_outro_start",0); + level.player lightsetforplayer("safehouse_outro_start"); + if(level.nextgen) + { + level.player setclutforplayer("clut_greece_safehouse_start_aa",0); + } + + common_scripts\utility::flag_set("start_safehouse_computerlab_light_flicker"); + common_scripts\utility::flag_wait("FlagTriggerExitPlayerComingDownStairs"); + var_01 = getent("light_cuc_greece_bullets_ent","targetname"); + var_02 = getent("safehouse_windowblast_light","targetname"); + if(isdefined(var_01) && isdefined(var_02)) + { + var_01 setlightshadowstate("force_on"); + thread maps\_lighting::lerp_spot_intensity("light_cuc_greece_bullets_ent",1,1); + wait(1); + thread maps\_lighting::lerp_spot_intensity("light_cuc_greece_bullets_ent",1,0.1); + var_02 setlightshadowstate("force_on"); + thread maps\_lighting::lerp_spot_intensity("safehouse_windowblast_light",3,75000); + common_scripts\utility::flag_wait("FlagTriggerExitPlayerLeavingBuilding"); + var_01 setlightshadowstate("normal"); + thread maps\_lighting::lerp_spot_intensity("safehouse_windowblast_light",2,0.1); + } +} + +//Function Number: 40 +handlesafehouseoutroblur() +{ + wait(3); + if(!common_scripts\utility::flag("flag_autofocus_on")) + { + common_scripts\utility::flag_set("flag_autofocus_on"); + thread dynamic_dof(0.015,5,0.8,"flag_autofocus_on",0); + } + + maps\_lighting::blend_dof_presets("default","greece_safehouse_outro_start",0); + level.player setviewmodeldepthoffield(1,0); +} + +//Function Number: 41 +setalleystransitionculldist() +{ + common_scripts\utility::flag_wait("FlagTriggerAlleysTransitionStreet"); + if(level.currentgen) + { + setculldist(6500); + return; + } + + setculldist(6500); +} + +//Function Number: 42 +initalleystransitionstart() +{ + common_scripts\utility::flag_wait("init_alleys_transition_start_lighting"); + wait(2); + if(level.currentgen) + { + setculldist(6500); + var_00 = getent("vista_buildings_intro","targetname"); + if(isdefined(var_00)) + { + var_00 show(); + } + } + else + { + setculldist(6500); + } + + if(!common_scripts\utility::flag("flag_autofocus_on")) + { + common_scripts\utility::flag_set("flag_autofocus_on"); + thread dynamic_dof(0.015,5,0.8,"flag_autofocus_on",0); + } + + maps\_utility::vision_set_fog_changes("greece_alleys_transition_start",3); + level.player lightsetforplayer("alleys_transition_start"); + if(level.nextgen) + { + level.player setclutforplayer("clut_greece_safehouse_start_aa",2); + } +} + +//Function Number: 43 +initalleysstart() +{ + common_scripts\utility::flag_wait("init_alleys_lighting"); + if(level.currentgen) + { + setculldist(3000); + var_00 = getent("vista_buildings_intro","targetname"); + if(isdefined(var_00)) + { + var_00 show(); + } + } + else + { + setculldist(3000); + } + + if(!common_scripts\utility::flag("flag_autofocus_on")) + { + common_scripts\utility::flag_set("flag_autofocus_on"); + thread dynamic_dof(0.015,5,0.8,"flag_autofocus_on",0); + } + + maps\_utility::vision_set_fog_changes("greece_alleys_start",1); + maps\_lighting::blend_dof_presets("default","greece_alleys_start",0); + level.player lightsetforplayer("alleys_start"); + if(level.nextgen) + { + level.player setclutforplayer("clut_greece_safehouse_start_aa",1); + } + + common_scripts\utility::flag_set("stop_safehouse_computerlab_light_flicker"); + common_scripts\utility::flag_set("halogen_flickering_jewelry_start"); +} + +//Function Number: 44 +initsniperscrambleintro() +{ + common_scripts\utility::flag_wait("FlagSniperScrambleStart"); + if(level.currentgen) + { + setculldist(5000); + var_00 = getent("vista_buildings_intro","targetname"); + if(isdefined(var_00)) + { + var_00 hide(); + } + } + else + { + setculldist(0); + } + + if(!common_scripts\utility::flag("flag_autofocus_on")) + { + common_scripts\utility::flag_set("flag_autofocus_on"); + thread dynamic_dof(0.015,5,0.8,"flag_autofocus_on",0); + } + + maps\_utility::vision_set_fog_changes("greece_sniper_scramble_start",0); + level.player lightsetforplayer("sniper_scramble_start"); + if(level.nextgen) + { + level.player setclutforplayer("clut_greece_safehouse_start_aa",2); + } +} + +//Function Number: 45 +initsniperscramblestarthotel() +{ + common_scripts\utility::flag_wait("init_sniper_scramble_hotel_lighting"); + if(level.currentgen) + { + setculldist(9000); + var_00 = getent("vista_buildings_intro","targetname"); + if(isdefined(var_00)) + { + var_00 hide(); + } + } + else + { + setculldist(0); + } + + if(!common_scripts\utility::flag("flag_autofocus_on")) + { + common_scripts\utility::flag_set("flag_autofocus_on"); + thread dynamic_dof(0.015,5,0.8,"flag_autofocus_on",0); + } + + if(level.nextgen) + { + maps\_utility::vision_set_fog_changes("greece_sniper_scramble_start",0); + } + else + { + maps\_utility::vision_set_fog_changes("greece_sniper_scramble",0); + } + + level.player lightsetforplayer("sniper_scramble_start"); + if(level.nextgen) + { + level.player setclutforplayer("clut_greece_safehouse_start_aa",0); + } +} + +//Function Number: 46 +initsniperscrambledrones() +{ + common_scripts\utility::flag_wait("init_sniper_scramble_drones_lighting"); + if(level.currentgen) + { + setculldist(9000); + var_00 = getent("vista_buildings_intro","targetname"); + if(isdefined(var_00)) + { + var_00 hide(); + } + } + else + { + setculldist(0); + } + + if(!common_scripts\utility::flag("flag_autofocus_on")) + { + common_scripts\utility::flag_set("flag_autofocus_on"); + thread dynamic_dof(0.015,5,0.8,"flag_autofocus_on",0); + } + + if(level.nextgen) + { + maps\_utility::vision_set_fog_changes("greece_sniper_scramble_start",0); + } + else + { + maps\_utility::vision_set_fog_changes("greece_sniper_scramble",0); + } + + level.player lightsetforplayer("sniper_scramble_start"); + if(level.nextgen) + { + level.player setclutforplayer("clut_greece_safehouse_start_aa",0); + } +} + +//Function Number: 47 +initsniperscramblefinalelighting() +{ + common_scripts\utility::flag_wait("init_sniper_scramble_finale_lighting"); + if(level.currentgen) + { + setculldist(9000); + var_00 = getent("vista_buildings_intro","targetname"); + if(isdefined(var_00)) + { + var_00 hide(); + } + } + else + { + setculldist(0); + } + + if(!common_scripts\utility::flag("flag_autofocus_on")) + { + common_scripts\utility::flag_set("flag_autofocus_on"); + thread dynamic_dof(0.015,5,0.8,"flag_autofocus_on",0); + } + + if(level.nextgen) + { + maps\_utility::vision_set_fog_changes("greece_sniper_scramble_start",0); + } + else + { + maps\_utility::vision_set_fog_changes("greece_sniper_scramble",0); + } + + level.player lightsetforplayer("sniper_scramble_start"); + if(level.nextgen) + { + level.player setclutforplayer("clut_greece_safehouse_start_aa",0); + } + + common_scripts\utility::flag_wait("FlagScrambleSniperKilled"); + maps\_utility::vision_set_fog_changes("greece_convoy_explosion",0.25); + wait(0.12); + maps\_utility::vision_set_fog_changes("greece_sniper_scramble_start",0.25); + common_scripts\utility::flag_wait("FlagScramblePlayerStartMoveTruck"); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_enable",1); + level.player enablephysicaldepthoffieldscripting(); + setsaveddvar("r_mbEnable",2); + setsaveddvar("r_mbVelocityScalar",0.5); + level.player setphysicaldepthoffield(3,54); + wait(3.5); + level.player setphysicaldepthoffield(3,55); + wait(1.5); + level.player setphysicaldepthoffield(6,45); + wait(1.5); + level.player setphysicaldepthoffield(8,55); + wait(0.5); + level.player setphysicaldepthoffield(12,160); + wait(0.5); + if(level.nextgen) + { + setsaveddvar("r_mbEnable",0); + } + } + else + { + level.player setphysicaldepthoffield(4,54); + wait(4); + level.player setphysicaldepthoffield(4,13); + wait(4); + level.player setphysicaldepthoffield(3,26); + } + + wait(0.5); + level.player disablephysicaldepthoffieldscripting(); + if(level.nextgen) + { + } + + wait(0.2); + maps\_lighting::blend_dof_presets("default","greece_safehouse_intro",1); +} + +//Function Number: 48 +initendingambushinteractlighting() +{ + common_scripts\utility::flag_wait("init_ending_ambush_interact_lighting_level"); + level.player lightsetforplayer("sniper_scramble_start"); + if(level.currentgen) + { + setculldist(10000); + var_00 = getent("vista_buildings_intro","targetname"); + if(isdefined(var_00)) + { + var_00 hide(); + } + } + else + { + setculldist(10000); + } + + if(level.nextgen) + { + level.player setclutforplayer("clut_greece_safehouse_start_aa",2); + setsaveddvar("r_mbEnable",2); + setsaveddvar("r_mbVelocityScalar",0.5); + } + else + { + maps\_utility::vision_set_fog_changes("greece_sniper_scramble",1); + } + + if(level.nextgen) + { + setsaveddvar("r_dof_physical_enable",1); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(8,16,2,2); + wait(0.5); + level.player setphysicaldepthoffield(18,330,2,2); + wait(2.2); + level.player setphysicaldepthoffield(3,17,2,2); + wait(1); + level.player setphysicaldepthoffield(6,115,2,2); + wait(1); + level.player setphysicaldepthoffield(8,40,2,2); + wait(1); + level.player setphysicaldepthoffield(12,110,2,2); + wait(1); + level.player setphysicaldepthoffield(18,348,2,2); + wait(3); + level.player setphysicaldepthoffield(22,850,2,2); + wait(2); + level.player setphysicaldepthoffield(22,13,2,2); + wait(1); + level.player setphysicaldepthoffield(22,320,2,2); + wait(2.5); + level.player setphysicaldepthoffield(32,389,2,2); + wait(0.5); + } + else + { + level.player setphysicaldepthoffield(2,16,2,2); + wait(2); + level.player setphysicaldepthoffield(4,30,2,2); + wait(1); + level.player setphysicaldepthoffield(6,234,2,2); + wait(1); + level.player setphysicaldepthoffield(6,155,2,2); + wait(1); + level.player setphysicaldepthoffield(9,51,2,2); + wait(1); + level.player setphysicaldepthoffield(13,127,2,2); + wait(1); + level.player setphysicaldepthoffield(19,348,2,2); + wait(3); + level.player setphysicaldepthoffield(23,850,2,2); + wait(2); + level.player setphysicaldepthoffield(23,13,2,2); + wait(1); + level.player setphysicaldepthoffield(23,320,2,2); + wait(10); + level.player setphysicaldepthoffield(33,389,2,2); + wait(1); + level.player setphysicaldepthoffield(19,17,2,2); + wait(6); + level.player setphysicaldepthoffield(33,389,2,2); + wait(0.5); + } + + level.player disablephysicaldepthoffieldscripting(); + if(level.nextgen) + { + } + + wait(0.2); + wait(1); + if(level.nextgen) + { + setsaveddvar("r_mbEnable",0); + } + + maps\_lighting::blend_dof_presets("default","greece_safehouse_transition_start",1); + if(!common_scripts\utility::flag("flag_autofocus_on")) + { + common_scripts\utility::flag_set("flag_autofocus_on"); + thread dynamic_dof(0.015,5,0.8,"flag_autofocus_on",0); + } +} + +//Function Number: 49 +ending_confculldist() +{ + common_scripts\utility::flag_wait("ending_conf_culldist"); + if(level.currentgen) + { + setculldist(10000); + } + + common_scripts\utility::flag_clear("ending_conf_culldist"); + thread ending_confculldist(); +} + +//Function Number: 50 +preending_confculldist() +{ + common_scripts\utility::flag_wait("pre_ending_conf_culldist"); + if(level.currentgen) + { + setculldist(3000); + } + + common_scripts\utility::flag_clear("pre_ending_conf_culldist"); + thread preending_confculldist(); +} + +//Function Number: 51 +endingambushvision() +{ + common_scripts\utility::flag_wait("Init_FlagEndingSetAmbushInteractBeginLighting"); + if(level.currentgen) + { + setculldist(8000); + var_00 = getent("vista_buildings_intro","targetname"); + if(isdefined(var_00)) + { + var_00 hide(); + } + } + else + { + setculldist(10000); + } + + maps\_utility::vision_set_fog_changes("greece_convoy_explosion",0.5); + wait(0.25); + maps\_utility::vision_set_fog_changes("greece_sniper_scramble_start",0.5); +} + +//Function Number: 52 +initendinghadesfight() +{ + common_scripts\utility::flag_wait("init_ending_hades_fight"); + common_scripts\utility::flag_wait("FlagEndingHadesVehicleInteractBegin"); + if(level.currentgen) + { + setculldist(3000); + var_00 = getent("vista_buildings_intro","targetname"); + if(isdefined(var_00)) + { + var_00 hide(); + } + } + else + { + setculldist(10000); + } + + if(level.nextgen) + { + setsaveddvar("r_mbEnable",2); + setsaveddvar("r_mbVelocityScalar",0.5); + setsaveddvar("r_dof_physical_enable",1); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(4,16,2,2); + wait(2); + level.player setphysicaldepthoffield(5,40,2,2); + wait(1); + level.player setphysicaldepthoffield(7,14,2,2); + wait(3); + level.player setphysicaldepthoffield(7,155,2,2); + wait(2.1); + level.player setphysicaldepthoffield(14,50,2,2); + wait(1); + level.player setphysicaldepthoffield(14,127,2,2); + wait(1); + level.player setphysicaldepthoffield(7,12,2,2); + maps\_utility::vision_set_fog_changes("greece_ending_hades",2); + wait(3); + level.player setphysicaldepthoffield(28,850,2,2); + wait(1); + level.player setphysicaldepthoffield(28,13,2,2); + wait(1); + level.player setphysicaldepthoffield(28,320,2,2); + maps\_utility::vision_set_fog_changes("greece_sniper_scramble_start",4); + wait(5); + level.player setphysicaldepthoffield(32,389,2,2); + wait(47); + level.player setphysicaldepthoffield(6,20,2,2); + wait(2); + level.player setphysicaldepthoffield(36,389,2,2); + wait(3); + level.player setphysicaldepthoffield(6,20,2,2); + wait(16); + level.player setphysicaldepthoffield(20,60,2,2); + wait(20); + } + else + { + level.player setphysicaldepthoffield(3,16,2,2); + wait(2); + level.player setphysicaldepthoffield(4,40,2,2); + wait(1); + level.player setphysicaldepthoffield(6,14,2,2); + wait(3); + level.player setphysicaldepthoffield(6,155,2,2); + wait(2.1); + level.player setphysicaldepthoffield(13,50,2,2); + maps\_utility::vision_set_fog_changes("greece_ending_hades",1); + wait(1); + level.player setphysicaldepthoffield(13,127,2,2); + wait(1); + level.player setphysicaldepthoffield(6,12,2,2); + wait(3); + level.player setphysicaldepthoffield(24,850,2,2); + wait(1); + level.player setphysicaldepthoffield(24,13,2,2); + wait(1); + level.player setphysicaldepthoffield(24,320,2,2); + maps\_utility::vision_set_fog_changes("greece_sniper_scramble",4); + wait(5); + level.player setphysicaldepthoffield(33,389,2,2); + wait(45); + level.player setphysicaldepthoffield(3,20,2,2); + wait(20); + } + + level.player disablephysicaldepthoffieldscripting(); + if(level.nextgen) + { + } + + wait(0.2); + wait(1); + if(level.nextgen) + { + setsaveddvar("r_mbEnable",0); + } + + maps\_lighting::blend_dof_presets("default","greece_safehouse_transition_start",1); + if(!common_scripts\utility::flag("flag_autofocus_on")) + { + common_scripts\utility::flag_set("flag_autofocus_on"); + thread dynamic_dof(0.015,5,0.8,"flag_autofocus_on",0); + } +} \ No newline at end of file diff --git a/AW/PC/maps/greece_precache.gsc b/AW/PC/maps/greece_precache.gsc new file mode 100644 index 0000000..4172bd8 --- /dev/null +++ b/AW/PC/maps/greece_precache.gsc @@ -0,0 +1,29 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: greece_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 2:31:08 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + common_scripts\utility::add_destructible_type_function("vehicle_luxurysedan_2008",::destructible_scripts\vehicle_luxurysedan_2008::main); + destructible_scripts\greece_spinning_displays::main(); + vehicle_scripts\_atlas_suv::main("vehicle_atlas_suv",undefined,"script_vehicle_atlas_suv"); + vehicle_scripts\_civ_domestic_sedan_01::main("vehicle_civ_domestic_sedan_01",undefined,"script_vehicle_civ_domestic_sedan_01"); + vehicle_scripts\_civ_domestic_sedan_01::main("vehicle_civ_domestic_sedan_01_slvr",undefined,"script_vehicle_civ_domestic_sedan_01_slvr"); + vehicle_scripts\_civ_domestic_sedan_taxi_01::main("vehicle_civ_domestic_sedan_taxi_02",undefined,"script_vehicle_civ_domestic_sedan_taxi_02"); + vehicle_scripts\_civ_domestic_sportscar_01::main("vehicle_civ_domestic_sportscar_01",undefined,"script_vehicle_civ_domestic_sportscar_01"); + vehicle_scripts\_civ_domestic_suv::main("vehicle_civ_domestic_suv",undefined,"script_vehicle_civ_domestic_suv"); + vehicle_scripts\_civ_full_size_technical::main("vehicle_civ_full_size_technical_clr02",undefined,"script_vehicle_civ_full_size_technical_clr02"); + vehicle_scripts\_civ_full_size_technical::main("vehicle_civ_full_size_technical_clr02","civ_full_size_technical_turret","script_vehicle_civ_full_size_technical_turret_clr02"); + vehicle_scripts\_civ_smartcar::main("vehicle_civ_smartcar",undefined,"script_vehicle_civ_smartcar"); + vehicle_scripts\_civ_smartcar::main("vehicle_civ_smartcar_02_red",undefined,"script_vehicle_civ_smartcar_02_red"); + vehicle_scripts\_civ_smartcar::main("vehicle_civ_smartcar_02_ylw",undefined,"script_vehicle_civ_smartcar_02_ylw"); + vehicle_scripts\_civ_workvan::main("vehicle_civ_workvan",undefined,"script_vehicle_civ_workvan"); + vehicle_scripts\_pdrone::main("vehicle_pdrone_kva",undefined,"script_vehicle_pdrone_kva"); +} \ No newline at end of file diff --git a/AW/PC/maps/greece_safehouse.gsc b/AW/PC/maps/greece_safehouse.gsc new file mode 100644 index 0000000..6f97957 --- /dev/null +++ b/AW/PC/maps/greece_safehouse.gsc @@ -0,0 +1,4039 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: greece_safehouse.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 191 + * Decompile Time: 2914 ms + * Timestamp: 4/22/2024 2:31:17 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + safehouseprecache(); + safehouseflaginit(); + safehouseglobalvars(); + safehouseglobalsetup(); + setdvar("debug_character_count","on"); + thread openingsplashscreen(); + maps\greece_safehouse_anim::main(); + maps\greece_safehouse_vo::main(); + maps\greece_safehouse_fx::main(); + maps\_hms_door_interact::precachedooranimations(); + maps\_drone_civilian::init(); + safehousedoorinit(); + thread safehousetvdestructible(); +} + +//Function Number: 2 +openingsplashscreen() +{ + var_00 = level.start_point; + if(var_00 == "start_safehouse_intro" || var_00 == "default") + { + level.player disableweapons(); + level.player freezecontrols(1); + thread maps\_shg_utility::play_chyron_video("chyron_text_greece",1,2); + common_scripts\utility::flag_wait("chyron_video_done"); + level.player enableweapons(); + level.player freezecontrols(0); + common_scripts\utility::flag_set("FlagSafeHouseIntro"); + common_scripts\utility::flag_set("introscreen_complete"); + common_scripts\utility::flag_set("FlagIntroScreenComplete"); + } +} + +//Function Number: 3 +safehouseprecache() +{ + precacheitem("iw5_hmr9_sp"); + precacheitem("iw5_hmr9_sp_variablereddot"); + precacheitem("iw5_bal27_sp"); + precacheitem("iw5_bal27_sp_silencer01_variablereddot"); + precacheitem("iw5_sn6_sp"); + precacheitem("iw5_sn6_sp_silencer01"); + precacheitem("fraggrenade"); + precacheitem("flash_grenade"); + precacheitem("paint_grenade_var"); + precacheitem("iw5_titan45_sp"); + precacheitem("iw5_titan45_sp_opticsreddot_silencerpistol"); + precacheitem("iw5_kf5_sp"); + precacheitem("iw5_kf5_sp_silencer01"); + precacheitem("hms_security_camera"); + precacherumble("silencer_fire"); + precacherumble("tank_rumble"); + precacherumble("steady_rumble"); + precacherumble("grenade_rumble"); + precachemodel("viewhands_atlas_military"); + precachemodel("vb_civilian_mitchell"); + precachemodel("vm_civilian_mitchell"); + precachemodel("kva_civilian_a_head"); + precachemodel("kva_civilian_b_head"); + precachemodel("kva_civilian_c_head"); + precachemodel("kva_civilian_d"); + precachemodel("civ_urban_male_waiter_body"); + precachemodel("kva_civilian_d_keyman"); + precachemodel("head_m_gen_cau_clark"); + precachemodel("kva_civilian_a_ambusher"); + precachemodel("head_civ_sf_male_a"); + precachemodel("head_civ_sf_male_b"); + precachemodel("head_civ_sf_male_c"); + precachemodel("head_civ_sf_male_d"); + precachemodel("head_london_male_b_drone"); + precachemodel("head_m_gen_mde_smith"); + precachemodel("head_m_gen_cau_young"); + precachemodel("head_m_gen_asi_pease"); + precachemodel("head_m_act_cau_kanik_base"); + precachemodel("head_m_act_afr_adams_base"); + precachemodel("head_hero_ilana_blend"); + precachemodel("head_f_gen_cau_coyle"); + precachemodel("head_m_gen_afr_davis"); + precachemodel("head_m_act_afr_adams_base"); + precachemodel("head_f_gen_afr_rice"); + precachemodel("weapon_parabolic_knife"); + precachemodel("viewbody_atlas_military"); + precachemodel("body_ilana_civilian_backpack"); + precachemodel("cafe_chair_02_anim"); + precachemodel("greece_cafe_chair_03_anim"); + precachemodel("greece_cafe_gps_pad"); + precachemodel("backpack_drone_small"); + precachemodel("backpack_drone_large"); + precachemodel("backpack_drone_flat"); + precachemodel("greece_duffelbag_rigged"); + precachemodel("greece_duffelbag_rigged_empty"); + precachemodel("vehicle_sniper_drone"); + precachemodel("vehicle_sniper_drone_cloak"); + precachemodel("coffee_cup"); + precachemodel("lag_umbrella_01_b"); + precachemodel("npc_titan45_base_loot"); + precachemodel("npc_kf5_base_loot"); + precachemodel("body_complete_civilian_suit_male_1"); + precachemodel("greece_blimp_rigged"); + precachemodel("goose"); + precachestring(&"GREECE_OBJ_SAFEHOUSE_FOLLOW"); + precachestring(&"GREECE_OBJ_SAFEHOUSE_KILL"); + precachestring(&"GREECE_OBJ_MARKET_FOLLOW"); + precachestring(&"GREECE_OBJ_SAFEHOUSE_JUMP"); + precachestring(&"GREECE_OBJ_SAFEHOUSE_SUITUP"); + precachestring(&"GREECE_MARKET_TARGETESCAPE1_FAIL"); + precachestring(&"GREECE_MARKET_TARGETESCAPE2_FAIL"); + precachestring(&"GREECE_SAFEHOUSE_EXECUTE_PROMPT"); + precachestring(&"GREECE_HINT_DRONE_ZOOM_KB"); + precachestring(&"GREECE_SAFEHOUSE_SUIT_UP"); + precachestring(&"GREECE_SAFEHOUSE_SUIT_UP_KB"); + maps\_utility::add_control_based_hint_strings("cafe_scan",&"GREECE_CAFE_SCAN_PROMPT",::hintcamerascanoff,&"GREECE_CAFE_SCAN_PROMPT_KB"); + maps\_utility::add_control_based_hint_strings("sonic_ready",&"SONICAOE_READY",::hintsafehouseexitsonicoff); + maps\_utility::add_control_based_hint_strings("camera_zoom",&"GREECE_HINT_DRONE_ZOOM",::hintcamerazoomoff,&"GREECE_HINT_DRONE_ZOOM_KB"); + maps\_hms_greece_civilian::precachecivilian(); + maps\_hms_door_interact::precachedooranimations(); + maps\greece_security_camera::precachesecuritycamera(); +} + +//Function Number: 4 +safehouseflaginit() +{ + common_scripts\utility::flag_init("FlagIntroScreenComplete"); + common_scripts\utility::flag_init("FlagSetObjScanTarget"); + common_scripts\utility::flag_init("FlagSetObjFollowTarget"); + common_scripts\utility::flag_init("FlagChangeObjFollowTarget"); + common_scripts\utility::flag_init("FlagClearObjFollowTarget"); + common_scripts\utility::flag_init("FlagSetObjClearSafehouse"); + common_scripts\utility::flag_init("FlagSetObjComputerInteract"); + common_scripts\utility::flag_init("FlagSetObjSafehouseGapJump"); + common_scripts\utility::flag_init("FlagSafeHouseIntro"); + common_scripts\utility::flag_init("FlagSafeHouseFollowStart"); + common_scripts\utility::flag_init("FlagSafeHouseKillStart"); + common_scripts\utility::flag_init("FlagSafeHouseClearStart"); + common_scripts\utility::flag_init("FlagSafeHouseTransitionStart"); + common_scripts\utility::flag_init("FlagSafeHouseOutroStart"); + common_scripts\utility::flag_init("FlagFollowTargetMarked"); + common_scripts\utility::flag_init("FlagFollowTargetUnmarked"); + common_scripts\utility::flag_init("FlagFollowTargetTeleport"); + common_scripts\utility::flag_init("FlagSafehouseMeleeKillInitiated"); + common_scripts\utility::flag_init("FlagFollowTargetKilled"); + common_scripts\utility::flag_init("FlagSafehouseKeyCardCatch"); + common_scripts\utility::flag_init("FlagFollowTargetReachedFirstStop"); + common_scripts\utility::flag_init("FlagFollowTargetReachedSecondStop"); + common_scripts\utility::flag_init("FlagFollowTargetReachedFinalStop"); + common_scripts\utility::flag_init("FlagScanRemoveHint"); + common_scripts\utility::flag_init("FlagCatchKillCompleted"); + common_scripts\utility::flag_init("FlagFirstFloorSafehouseKVAkilled"); + common_scripts\utility::flag_init("FlagSecondFloorSafehouseKVAkilled"); + common_scripts\utility::flag_init("FlagPacingGuardAlerted"); + common_scripts\utility::flag_init("FlagSafehouseIlanaTransitionReachStarted"); + common_scripts\utility::flag_init("FlagSafehouseIlanaTransitionIdleStarted"); + common_scripts\utility::flag_init("FlagIlanaMidMarketStartMoving"); + common_scripts\utility::flag_init("FlagCameraScanUnlockVoHints"); + common_scripts\utility::flag_init("FlagSafeHouseCloseSafehouseGates"); + common_scripts\utility::flag_init("FlagPlayerUsedSafehouseComputer"); + common_scripts\utility::flag_init("FlagSafehouseVideoChatEnded"); + common_scripts\utility::flag_init("FlagSafehouseIlanaAtStairs"); + common_scripts\utility::flag_init("FlagMarketCoupleAtGoal"); + common_scripts\utility::flag_init("FlagStartMarketCouple"); + common_scripts\utility::flag_init("FlagSafehouseIlanaTeleportToBack"); + common_scripts\utility::flag_init("FlagIlanaMoveToBackDoor"); + common_scripts\utility::flag_init("FlagIlanaEnterSafehouse"); + common_scripts\utility::flag_init("FlagIlanaMoveToLaunchPos"); + common_scripts\utility::flag_init("FlagScanTargetEnable"); + common_scripts\utility::flag_init("FlagScanTargetBegin"); + common_scripts\utility::flag_init("FlagScanTargetComplete"); + common_scripts\utility::flag_init("FlagKillTargetComplete"); + common_scripts\utility::flag_init("FlagClearSafehouseComplete"); + common_scripts\utility::flag_init("FlagComputerInteractComplete"); + common_scripts\utility::flag_init("FlagWindowShootersBreakOut"); + common_scripts\utility::flag_init("FlagSafehouseExitKVADead"); + common_scripts\utility::flag_init("FlagSafehouseStairKVADead"); + common_scripts\utility::flag_init("FlagKickSafehouseExitGate"); + common_scripts\utility::flag_init("FlagEnableSafehouseGapJump"); + common_scripts\utility::flag_init("FlagPlayerJumping"); + common_scripts\utility::flag_init("FlagPlayerJumpWatcherStop"); + common_scripts\utility::flag_init("FlagSafehouseGapJumpStarted"); + common_scripts\utility::flag_init("FlagSafehouseGapJumpCompleted"); + common_scripts\utility::flag_init("FlagSafehousePlayerGapJumpCompleted"); + common_scripts\utility::flag_init("FlagSafehouseExitGateOpen"); + common_scripts\utility::flag_init("FlagTriggerExitPlayerComingDownStairs"); + common_scripts\utility::flag_init("FlagTriggerExitPlayerLeavingBuilding"); + common_scripts\utility::flag_init("FlagKVATargetInAlley"); + common_scripts\utility::flag_init("FlagDeleteSafehouseCivilians"); + common_scripts\utility::flag_init("FlagPacingGuardDamaged"); + common_scripts\utility::flag_init("FlagPacingNpcDeath"); + common_scripts\utility::flag_init("IlanaSafehouseDoorIdleStart"); + common_scripts\utility::flag_init("FlagSniperDroneLaunched"); + common_scripts\utility::flag_init("FlagIlanaSafehouseExitAtSecondFloorWait"); + common_scripts\utility::flag_init("FlagKVAsafehouseGuardDeath"); + common_scripts\utility::flag_init("FlagCafeCameraUnlockSwitching"); + common_scripts\utility::flag_init("FlagCameraScanUnlockZoom"); + common_scripts\utility::flag_init("FlagKVATargetWaitTimerExpired"); + common_scripts\utility::flag_init("FlagKVASafehousePatrollerDeath"); + common_scripts\utility::flag_init("FlagSafehouseThreatGrenadeDetonated"); + common_scripts\utility::flag_init("FlagSafehouseCourtyardTakedownComplete"); + common_scripts\utility::flag_init("FlagDeleteMarketFirstWalkers"); + common_scripts\utility::flag_init("FlagSonicAoEActivated"); + common_scripts\utility::flag_init("FlagFXPlayed"); + common_scripts\utility::flag_init("SonicIntroCheckActivated"); + common_scripts\utility::flag_init("FlagSafehouseHideHint"); + common_scripts\utility::flag_init("FlagMarketCameraSwitched"); + common_scripts\utility::flag_init("FlagSafehousePlanningGuardsAlerted"); + common_scripts\utility::flag_init("FlagPopulateMarket"); + common_scripts\utility::flag_init("FlagCafeVideologComplete"); + common_scripts\utility::flag_init("FlagStartCafeVideoLog"); + common_scripts\utility::flag_init("FlagSafehouseBackyardFail"); + common_scripts\utility::flag_init("FlagConfCenterVOStart"); +} + +//Function Number: 5 +safehouseglobalvars() +{ + level.showdebugtoggle = 0; + level.dialogtable = "sp/greece_dialog.csv"; + level.potentialscantargets = []; + level.kvafollowtarget = undefined; + level.kvasafehouseguardarray = []; + level.bplayerscanon = 0; + setsaveddvar("r_hudoutlineenable",1); + common_scripts\utility::create_dvar("display_placeholderdialog",0); +} + +//Function Number: 6 +safehouseglobalsetup() +{ + thread safehousebeginentrance(); + thread safehousebeginexit(); +} + +//Function Number: 7 +safehousestartpoints() +{ + maps\_utility::add_start("start_safehouse_intro",::initsafehouseintro); + maps\_utility::add_start("start_safehouse_follow",::initsafehousefollow); + maps\_utility::add_start("start_safehouse_xslice",::initsafehousekill); + maps\_utility::add_start("start_safehouse_clear",::initsafehouseclear); + maps\_utility::add_start("start_safehouse_transition",::initsafehousetransition); + maps\greece_starts::add_greece_starts("safehouse"); +} + +//Function Number: 8 +safehousestartpointsfinal() +{ + maps\_utility::add_start("start_safehouse_exit",::initsafehouseoutro); + maps\greece_starts::add_greece_starts("safehouse_final"); +} + +//Function Number: 9 +initsafehouseintro() +{ + maps\_utility::teleport_player(common_scripts\utility::getstruct("PlayerStartSafehouseIntro","targetname")); + maps\_hms_utility::setupplayerinventory("iw5_titan45_sp_opticsreddot_silencerpistol",undefined,undefined,undefined,"iw5_titan45_sp_opticsreddot_silencerpistol"); + maps\_variable_grenade::give_player_variable_grenade(); + foreach(var_01 in level.player getweaponslistoffhands()) + { + level.player setweaponammostock(var_01,0); + } + + level.player setviewmodel("vm_civilian_mitchell"); + common_scripts\utility::flag_wait("FlagSafeHouseIntro"); + soundscripts\_snd::snd_message("start_safehouse_intro_checkpoint"); + common_scripts\_exploder::exploder(666); + thread animatedpalmtrees(); + maps\_hms_utility::spawnandinitnamedally("Ilona","IlanaStartSafehouseIntro",1,1,"IlanaSafehouse"); + level.allies["Ilona"] maps\_utility::forceuseweapon("iw5_titan45_sp_opticsreddot_silencerpistol","primary"); + level.allies["Ilona"] thread maps\greece_code::disableawareness(); + thread cafeilanaseat(); + safehousetoggleexitflagtriggers(0); + level.player playerchangemode("no_combat_slow"); + level.player thread playerrubberbandmovespeedscale(level.allies["Ilona"],0.2,0.6,50,500); + thread safehousetranstoalleygatesetup(); + thread cafeinitvendorgate(); + thread maps\greece_code::blimp_animation("blimpOrg","market_intro_blimp"); + thread cafegeeseflyinganimation(); + common_scripts\utility::flag_set("FlagSafeHouseStart"); + common_scripts\utility::flag_set("init_safehouse_intro_lighting"); +} + +//Function Number: 10 +initsafehousefollow() +{ + safehouseobjectivesetup(); + maps\_utility::teleport_player(common_scripts\utility::getstruct("PlayerStartSafehouseFollow","targetname")); + maps\_hms_utility::setupplayerinventory("iw5_titan45_sp_opticsreddot_silencerpistol",undefined,undefined,undefined,"iw5_titan45_sp_opticsreddot_silencerpistol"); + maps\_variable_grenade::give_player_variable_grenade(); + foreach(var_01 in level.player getweaponslistoffhands()) + { + level.player setweaponammostock(var_01,0); + } + + level.player setviewmodel("vm_civilian_mitchell"); + soundscripts\_snd::snd_message("start_safehouse_follow_checkpoint"); + thread cafecameraumbrella(); + thread cafeinitvendorgate(); + common_scripts\_exploder::exploder(666); + thread animatedpalmtrees(); + thread maps\greece_code::blimp_animation("blimpOrg","market_intro_blimp"); + maps\_hms_utility::spawnandinitnamedally("Ilona","IlanaStartSafehouseFollow",1,1,"IlanaSafehouse"); + level.allies["Ilona"] maps\_utility::forceuseweapon("iw5_titan45_sp_opticsreddot_silencerpistol","primary"); + level.allies["Ilona"] thread maps\greece_code::disableawareness(); + cafesetuptouristilana(); + thread cafeendcamerascan(undefined); + thread cafemarketmoveilana(undefined,undefined); + thread spawnkvafollowtarget(); + thread cafeinitvendorgate(); + safehousetoggleexitflagtriggers(0); + level.player playerchangemode("no_combat_slow"); + level.player thread playerrubberbandmovespeedscale(level.allies["Ilona"],0.2,0.6,50,500); + thread safehousetranstoalleygatesetup(); + common_scripts\utility::flag_set("FlagScanTargetComplete"); + common_scripts\utility::flag_set("FlagFollowTargetMarked"); + common_scripts\utility::flag_set("FlagSafeHouseStart"); + common_scripts\utility::flag_set("init_safehouse_follow_lighting"); +} + +//Function Number: 11 +initsafehousekill() +{ + common_scripts\utility::flag_set("init_safehouse_xslice"); + safehouseobjectivesetup(); + maps\_utility::teleport_player(common_scripts\utility::getstruct("PlayerStartSafehouseKill","targetname")); + maps\_hms_utility::setupplayerinventory("iw5_titan45_sp_opticsreddot_silencerpistol",undefined,undefined,undefined,"iw5_titan45_sp_opticsreddot_silencerpistol"); + maps\_variable_grenade::give_player_variable_grenade(); + foreach(var_01 in level.player getweaponslistoffhands()) + { + level.player setweaponammostock(var_01,0); + } + + level.player setviewmodel("vm_civilian_mitchell"); + common_scripts\_exploder::exploder(666); + thread animatedpalmtrees(); + thread maps\greece_code::blimp_animation("blimpOrg","market_intro_blimp"); + soundscripts\_snd::snd_message("start_safehouse_xslice_checkpoint"); + maps\_hms_utility::spawnandinitnamedally("Ilona","IlanaStartSafehouseKill",1,1,"IlanaSafehouse"); + level.allies["Ilona"] maps\_utility::forceuseweapon("iw5_titan45_sp_opticsreddot_silencerpistol","primary"); + level.allies["Ilona"] thread maps\greece_code::disableawareness(); + safehousetoggleexitflagtriggers(0); + thread safehouseexittogglegates("open"); + thread cafeinitvendorgate(); + spawncivilians(); + thread spawnkvafollowtarget(); + cafesetuptouristilana(); + thread safehouseilanaclearsafehouse(); + thread safehousedoorplayerblocker(); + level.player playerchangemode("no_combat_fast"); + level.player thread playerrubberbandmovespeedscale(level.kvafollowtarget,0.2,0.5,200,500); + maps\_utility::battlechatter_off("allies"); + maps\_utility::battlechatter_off("axis"); + thread maps\greece_safehouse_vo::xslicestartdialogue(); + thread xslicefade(); + thread safehousetranstoalleygatesetup(); + common_scripts\utility::flag_set("FlagSetObjClearSafehouse"); + common_scripts\utility::flag_set("FlagSafeHouseKillStart"); + common_scripts\utility::flag_set("FlagFollowTargetReachedFinalStop"); +} + +//Function Number: 12 +initsafehouseclear() +{ + safehouseobjectivesetup(); + maps\_utility::teleport_player(common_scripts\utility::getstruct("PlayerStartSafehouseClear","targetname")); + maps\_hms_utility::setupplayerinventory("iw5_titan45_sp_opticsreddot_silencerpistol",undefined,undefined,undefined,"iw5_titan45_sp_opticsreddot_silencerpistol"); + maps\_variable_grenade::give_player_variable_grenade(); + foreach(var_01 in level.player getweaponslistoffhands()) + { + level.player setweaponammostock(var_01,0); + } + + level.player setviewmodel("vm_civilian_mitchell"); + common_scripts\_exploder::exploder(666); + thread animatedpalmtrees(); + thread maps\greece_code::blimp_animation("blimpOrg","market_intro_blimp"); + soundscripts\_snd::snd_message("start_safehouse_clear_checkpoint"); + maps\_hms_utility::spawnandinitnamedally("Ilona","IlanaStartSafehouseClear",1,1,"IlanaSafehouse"); + level.allies["Ilona"] thread maps\greece_code::disableawareness(); + level.allies["Ilona"] thread cafesetupilanabackpack(); + level.allies["Ilona"] maps\_utility::forceuseweapon("iw5_titan45_sp_opticsreddot_silencerpistol","primary"); + level.allies["Ilona"] maps\_utility::enable_cqbwalk(); + thread safehouseilanaopendooridle(); + safehousetoggleexitflagtriggers(0); + level.player playerchangemode("stealth_combat"); + level.player thread playerrubberbandmovespeedscale(level.allies["Ilona"],0.3,1,50,300); + thread safehouseexittogglegates("closed"); + thread safehousebackyarddamagetriggers(); + thread safehousebackyarddamagetriggerstoggle(); + thread safehouseilanaclearsafehouse(); + thread safehousedoorplayerblocker(); + spawncivilians(); + maps\_utility::battlechatter_off("allies"); + maps\_utility::battlechatter_off("axis"); + thread safehousetranstoalleygatesetup(); + common_scripts\utility::flag_set("FlagSetObjClearSafehouse"); + common_scripts\utility::flag_set("FlagSafeHouseClearStart"); + common_scripts\utility::flag_set("init_safehouse_clear_start_lighting"); +} + +//Function Number: 13 +initsafehousetransition() +{ + safehouseobjectivesetup(); + maps\_utility::teleport_player(common_scripts\utility::getstruct("PlayerStartSafehouseTransition","targetname")); + maps\_hms_utility::setupplayerinventory("iw5_titan45_sp_opticsreddot_silencerpistol",undefined,undefined,undefined,"iw5_titan45_sp_opticsreddot_silencerpistol"); + maps\_variable_grenade::give_player_variable_grenade(); + foreach(var_01 in level.player getweaponslistoffhands()) + { + level.player setweaponammostock(var_01,0); + } + + level.player setviewmodel("vm_civilian_mitchell"); + common_scripts\_exploder::exploder(666); + thread animatedpalmtrees(); + thread maps\greece_code::blimp_animation("blimpOrg","market_intro_blimp"); + maps\_hms_utility::spawnandinitnamedally("Ilona","IlanaStartSafehouseTransition",1,1,"IlanaSafehouse"); + level.allies["Ilona"] maps\_utility::forceuseweapon("iw5_titan45_sp_opticsreddot_silencerpistol","primary"); + level.allies["Ilona"] thread cafesetupilanabackpack(); + safehouseforceopensafehousedoor(); + safehousetoggleexitflagtriggers(0); + thread safehouseexittogglegates("closed"); + thread safehouseremoveplayerblocker(); + thread safehouseilanabagdropwait(); + thread safehousebackyarddamagetriggers(); + thread safehousebackyarddamagetriggerstoggle(); + common_scripts\utility::trigger_off("SafehousePlayerNearBackDoorTrig1","targetname"); + common_scripts\utility::trigger_off("SafehousePlayerNearBackDoorTrig2","targetname"); + maps\_utility::battlechatter_off("allies"); + maps\_utility::battlechatter_off("axis"); + thread safehousetranstoalleygatesetup(); + common_scripts\utility::flag_set("FlagSetObjClearSafehouse"); + common_scripts\utility::flag_set("FlagSafeHouseTransitionStart"); + common_scripts\utility::flag_set("init_safehouse_transition_start_lighting"); + common_scripts\utility::flag_set("FlagPacingNpcDeath"); + soundscripts\_snd::snd_message("start_safehouse_transition_checkpoint"); +} + +//Function Number: 14 +initsafehouseoutro() +{ + safehouseobjectivesetup(); + maps\_utility::teleport_player(common_scripts\utility::getstruct("PlayerStartSafehouseOutro","targetname")); + maps\_hms_utility::setupplayerinventory("iw5_titan45_sp_opticsreddot_silencerpistol","iw5_hmr9_sp_variablereddot","fraggrenade","flash_grenade","iw5_hmr9_sp_variablereddot"); + maps\_variable_grenade::give_player_variable_grenade(); + maps\_hms_utility::spawnandinitnamedally("Ilona","IlanaStartSafehouseOutro",1,1,"IlanaSafehouseExoSuit"); + common_scripts\_exploder::exploder(666); + thread animatedpalmtrees(); + thread maps\greece_code::blimp_animation("blimpOrg","market_intro_blimp"); + maps\greece_conf_center_fx::confcenterresidualsmoke(); + maps\greece_safehouse_fx::ambientcloudskill(); + thread safehouseexittogglegates("closed"); + thread safehouseremoveplayerblocker(); + safehouseforceopensafehousedoor(); + common_scripts\utility::trigger_off("SafehousePlayerNearBackDoorTrig1","targetname"); + common_scripts\utility::trigger_off("SafehousePlayerNearBackDoorTrig2","targetname"); + thread safehousetranstoalleygatesetup(); + thread safehouseexitdeadbodysetupcouchguard(); + thread safehouseexitdeadbodysetuppacingguard(); + maps\_hud_util::fade_out(0.25,"white"); + common_scripts\utility::flag_set("FlagSafeHouseOutroStart"); + maps\_utility::delete_exploder(666); + common_scripts\utility::flag_set("init_safehouse_outro_start_lighting"); + soundscripts\_snd::snd_message("start_safehouse_exit_checkpoint"); +} + +//Function Number: 15 +safehouseobjectivesetup() +{ + waittillframeend; + safehousesetcompletedobjflags(); + thread setobjmarketscan(); + thread setobjfollowtarget(); + thread setobjinfilsafehouse(); + thread setobjintercepthades(); +} + +//Function Number: 16 +safehousesetcompletedobjflags() +{ + var_00 = level.start_point; + if(!common_scripts\utility::string_starts_with(var_00,"start_safehouse_")) + { + return; + } + + if(var_00 == "start_safehouse_intro") + { + return; + } + + if(var_00 == "start_safehouse_follow") + { + return; + } + + if(var_00 == "start_safehouse_xslice") + { + return; + } + + if(var_00 == "start_safehouse_clear") + { + return; + } + + if(var_00 == "start_safehouse_transition") + { + return; + } + + if(var_00 == "start_safehouse_outro") + { + } +} + +//Function Number: 17 +setobjmarketscan() +{ + common_scripts\utility::flag_wait("FlagSetObjScanTarget"); + objective_add(maps\_utility::obj("ScanKeyman"),"active",&"GREECE_OBJ_SAFEHOUSE_SCAN",(0,0,0)); + objective_current(maps\_utility::obj("ScanKeyman")); + common_scripts\utility::flag_wait("FlagScanTargetComplete"); + maps\_utility::objective_complete(maps\_utility::obj("ScanKeyman")); +} + +//Function Number: 18 +setobjfollowtarget() +{ + common_scripts\utility::flag_wait("FlagSetObjFollowTarget"); + if(isdefined(level.kvafollowtarget)) + { + objective_add(maps\_utility::obj("InfilSafehouse"),"active",&"GREECE_OBJ_SAFEHOUSE_INFIL",(0,0,0)); + objective_current(maps\_utility::obj("InfilSafehouse")); + objective_onentity(maps\_utility::obj("InfilSafehouse"),level.kvafollowtarget); + objective_setpointertextoverride(maps\_utility::obj("InfilSafehouse"),&"GREECE_OBJ_SAFEHOUSE_FOLLOW"); + common_scripts\utility::flag_wait("FlagClearObjFollowTarget"); + objective_position(maps\_utility::obj("InfilSafehouse"),(0,0,0)); + } +} + +//Function Number: 19 +setobjinfilsafehouse() +{ + common_scripts\utility::flag_wait("FlagSetObjClearSafehouse"); + objective_onentity(maps\_utility::obj("InfilSafehouse"),level.allies["Ilona"]); + objective_setpointertextoverride(maps\_utility::obj("InfilSafehouse"),&"GREECE_OBJ_SAFEHOUSE_FOLLOW"); + common_scripts\utility::flag_wait_either("FlagPacingNpcDeath","FlagTriggerPlayerOnInsideStairway"); + objective_position(maps\_utility::obj("InfilSafehouse"),(0,0,0)); + objective_setpointertextoverride(maps\_utility::obj("InfilSafehouse"),""); + common_scripts\utility::flag_wait("FlagSetObjComputerInteract"); + var_00 = getent("ComputerInteractObj","targetname"); + objective_position(maps\_utility::obj("InfilSafehouse"),var_00.origin); + objective_setpointertextoverride(maps\_utility::obj("InfilSafehouse"),&"GREECE_OBJ_SAFEHOUSE_SUITUP"); + common_scripts\utility::flag_wait("FlagComputerInteractComplete"); + maps\_utility::objective_complete(maps\_utility::obj("InfilSafehouse")); +} + +//Function Number: 20 +setobjintercepthades() +{ + common_scripts\utility::flag_wait("FlagSetObjSafehouseGapJump"); + objective_add(maps\_utility::obj("InterceptHades"),"active",&"GREECE_OBJ_INTERCEPT_HADES",(0,0,0)); + objective_onentity(maps\_utility::obj("InterceptHades"),level.allies["Ilona"]); + objective_setpointertextoverride(maps\_utility::obj("InterceptHades"),&"GREECE_OBJ_SAFEHOUSE_FOLLOW"); + objective_current(maps\_utility::obj("InterceptHades")); +} + +//Function Number: 21 +levelintroscreen() +{ + maps\_utility::intro_screen_create(&"GREECE_INTRO_LINE1",&"GREECE_INTRO_LINE2",&"GREECE_INTRO_LINE3"); + maps\_utility::intro_screen_custom_func(::maps\greece_code::manhuntintroscreen); +} + +//Function Number: 22 +setupaiforanimsequence() +{ + self.goalradius = 8; + self.ignoreall = 1; + self.ignoreme = 1; + self.battlechatter = 0; +} + +//Function Number: 23 +safehousebeginentrance() +{ + common_scripts\utility::flag_wait("FlagSafeHouseStart"); + safehouseobjectivesetup(); + thread safehouseexittogglegates("open"); + thread cafesetupplayerseat(); + thread cafemarketplayerfollowtarget(); + thread safehousefollowplayernotifies(); + cafesetuptouristilana(); + thread safehousetranstoalleygatesetup(); + thread safehousedoorplayerblocker(); + spawncivilians(); + maps\_utility::battlechatter_off("allies"); + maps\_utility::battlechatter_off("axis"); +} + +//Function Number: 24 +animatedpalmtrees() +{ + var_00 = getentarray("palmtree","targetname"); + foreach(var_02 in var_00) + { + var_02.animname = "palm_tree"; + var_02 maps\_utility::assign_animtree(); + var_03 = "light_sway"; + var_04 = randomfloatrange(0.5,0.7); + var_02 setanimrestart(level.scr_anim[var_02.animname][var_03][0],1,0,var_04); + } +} + +//Function Number: 25 +marketscancomplete() +{ + self waittill("target_scanned"); + common_scripts\utility::flag_set("FlagFollowTargetMarked"); +} + +//Function Number: 26 +spawnkvasafehouseguards() +{ + thread spawnsafehousepatroller(); + maps\_utility::array_spawn_function_targetname("KVAsafehouseGuard",::safehouseenemyinit,0); + level.kvasafehouseguardarray = maps\_utility::array_spawn_targetname("KVAsafehouseGuard"); + foreach(var_01 in level.kvasafehouseguardarray) + { + var_01.dropweapon = 0; + if(!isdefined(var_01.target)) + { + continue; + } + + var_01.allowdeath = 1; + if(var_01.target == "safehouse_pacing_npc") + { + var_02 = common_scripts\utility::getstruct(var_01.target,"targetname"); + var_01 forceteleport(var_02.origin,var_02.angles); + var_01.animname = "generic"; + var_03 = var_02.targetname; + var_04 = var_02.script_noteworthy; + var_01 thread safehousepacingguard(var_02); + var_01 thread maps\greece_code::bloodsprayexitwoundtrace(undefined,undefined,undefined,1); + } + + if(var_01.script_noteworthy == "SafehouseSleepingGuard") + { + var_01 thread safehousesleepingguard(); + var_01 thread sleepingguardcustombloodspray(); + } + } + + thread safehouseplanningguards(); +} + +//Function Number: 27 +sleepingguardcustombloodspray() +{ + self endon("delete"); + self waittill("damage",var_00,var_01,var_02,var_03); + if(var_01 == level.allies["Ilona"]) + { + var_04 = self geteye(); + } + else + { + var_04 = var_04; + } + + playfx(common_scripts\utility::getfx("blood_impact_splat_sm"),var_04); +} + +//Function Number: 28 +spawnkvafollowtarget() +{ + maps\_utility::array_spawn_function_targetname("KVAfollowTarget",::marketenemyinit); + maps\_utility::array_spawn_function_targetname("KVAfollowTarget",::marketscancomplete); + level.kvafollowtarget = maps\_utility::spawn_targetname("KVAfollowTarget"); + level.kvafollowtarget thread initscanvariables(); + var_00 = ["kva_civilian_d_keyman"]; + var_01 = ["head_m_gen_cau_young"]; + level.kvafollowtarget maps\greece_code::aioverridemodelrandom(var_00,var_01); + thread marketmovekvafollowtarget(); +} + +//Function Number: 29 +spawnsafehousepatroller() +{ + var_00 = getent("KVAsafehousePatroller","targetname"); + var_01 = var_00 maps\_utility::spawn_ai(1); + var_01.health = 1; + var_01.dropweapon = 0; + var_01.battlechatter = 0; + var_01.animname = "Victim"; + var_01.script_parameters = "Victim"; + var_01.ragdoll_immediate = 1; + var_01.diequietly = 1; + var_01.fovcosine = cos(45); + var_01.grenadeawareness = 0; + var_01 thread safehousepatrolleralertwatch(); + common_scripts\utility::flag_wait("FlagKVASafehousePatrollerDeath"); + level notify("SafehousePatrollerDead"); +} + +//Function Number: 30 +safehousepatrolleralertwatch() +{ + level endon("SafehousePatrollerDead"); + maps\_stealth_utility::stealth_enemy_waittill_alert(); + wait(1); + var_00 = getent("SafehousePlanningOrg","targetname"); + var_00 notify("fail_left"); + var_00 notify("fail_right"); + thread maps\greece_safehouse_vo::safehousefailkvaalerted(); + wait(1); + common_scripts\utility::flag_set("FlagSafehouseHideHint"); + maps\_hms_utility::printlnscreenandconsole("MISSION FAIL - KVA ALERTED!!!"); + setdvar("ui_deadquote",&"GREECE_DRONE_ALERT_FAIL"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 31 +safehousesleepingguard() +{ + var_00 = common_scripts\utility::getstruct("safehousekill","targetname"); + var_01 = "safehouse_sleeping_guard_idle"; + var_02 = "safehouse_sleeping_guard_kill"; + self.animname = "generic"; + maps\_utility::gun_remove(); + self.health = 100000; + self.diequietly = 1; + var_03 = getent("safehouse_pillow","targetname"); + var_03.animname = "safehouse_pillow"; + var_03 maps\_utility::assign_animtree("safehouse_pillow"); + var_00 thread maps\_anim::anim_first_frame_solo(var_03,"safehouse_enter2"); + var_00 thread maps\_anim::anim_loop_solo(self,var_01,"StopSleepLoop"); + thread safehousesleepingguarddeath(var_00); +} + +//Function Number: 32 +safehousesleepingguarddeath(param_00) +{ + self endon("SafehouseSleepingGuardCancelDeath"); + var_01 = "safehouse_sleeping_guard_death"; + self waittill("damage",var_02,var_03); + if(isdefined(var_03) && var_03 == level.player) + { + maps\greece_code::giveplayerchallengekillpoint(); + } + + common_scripts\utility::flag_set("FlagSafehouseSleepingGuardKilled"); + param_00 notify("StopSleepLoop"); + maps\_utility::anim_stopanimscripted(); + param_00 maps\_anim::anim_single_solo(self,var_01); + maps\greece_code::kill_no_react(); +} + +//Function Number: 33 +safehousesleepingguardanimcheck(param_00) +{ + var_01 = level.allies["Ilona"]; + var_02 = getent("safehouse_pillow","targetname"); + var_02.animname = "safehouse_pillow"; + var_02 maps\_utility::assign_animtree("safehouse_pillow"); + var_03 = maps\_utility::get_living_ai("SafehouseSleepingGuard","script_noteworthy"); + if(common_scripts\utility::flag("FlagSafehouseSleepingGuardKilled")) + { + param_00 thread maps\_anim::anim_single_solo(var_02,"safehouse_sleeping_guard_kill_alt"); + param_00 maps\_anim::anim_single_solo(var_01,"safehouse_sleeping_guard_kill_alt"); + thread safehouseexitdeadbodysetupcouchguard(param_00,"safehouse_sleeping_guard_kill",var_02,1); + return; + } + + var_03 notify("SafehouseSleepingGuardCancelDeath"); + var_04 = [var_03,var_01,var_02]; + param_00 notify("StopSleepLoop"); + var_03 maps\_utility::anim_stopanimscripted(); + param_00 maps\_anim::anim_single(var_04,"safehouse_sleeping_guard_kill"); + thread safehouseexitdeadbodysetupcouchguard(param_00,"safehouse_sleeping_guard_kill",var_02,0); + var_03 maps\greece_code::kill_no_react(); +} + +//Function Number: 34 +safehouseexitdeadbodysetupcouchguard(param_00,param_01,param_02,param_03) +{ + common_scripts\utility::flag_wait("FlagSafeHouseOutroStart"); + if(!isdefined(param_03)) + { + param_03 = 0; + } + + if(!isdefined(param_00)) + { + param_00 = common_scripts\utility::getstruct("safehousekill","targetname"); + } + + if(!isdefined(param_01)) + { + param_01 = "safehouse_sleeping_guard_kill"; + } + + if(!isdefined(param_02)) + { + param_02 = getent("safehouse_pillow","targetname"); + param_02.animname = "safehouse_pillow"; + param_02 maps\_utility::assign_animtree("safehouse_pillow"); + } + + if(param_03 == 1) + { + param_00 thread maps\_anim::anim_single_solo(param_02,param_01 + "_alt"); + } + else if(param_03 == 0) + { + param_00 thread maps\_anim::anim_single_solo(param_02,param_01); + } + + var_04 = getent("SafehouseSleepingGuard","script_noteworthy"); + var_04.count = 1; + var_05 = var_04 maps\_utility::spawn_ai(); + var_05.animname = "generic"; + var_05 maps\_utility::gun_remove(); + var_05.dropweapon = 0; + if(param_03 == 1) + { + param_01 = "safehouse_sleeping_guard_death"; + } + + param_00 maps\_anim::anim_single_solo(var_05,param_01); + var_05 maps\greece_code::kill_no_react(); +} + +//Function Number: 35 +safehousepacingguard(param_00) +{ + var_01 = "safehouse_videochat_01"; + var_02 = "safehouse_videochat_idle"; + var_03 = "safehouse_videochat_alert"; + self.animname = "pacing_guard"; + self.script_parameters = "pacing_guard"; + maps\_utility::gun_remove(); + self.health = 100000; + self.ragdoll_immediate = 1; + thread safehousevideochatmovie(); + param_00 thread maps\_anim::anim_loop_solo(self,var_02,"PacingGuard"); + level waittill("SafehouseVideoChatConversationStarted"); + param_00 notify("PacingGuard"); + thread safehousepacingguardalertmonitor(param_00); + thread safehousepacingguarddeath(param_00); + param_00 maps\_anim::anim_single_solo(self,var_01); + if(isalive(self) && !common_scripts\utility::flag("FlagPacingGuardAlerted") && !common_scripts\utility::flag("FlagPacingGuardDamaged")) + { + param_00 thread maps\_anim::anim_loop_solo(self,var_02,"PacingGuard"); + } +} + +//Function Number: 36 +safehousepacingguarddeath(param_00) +{ + level endon("SafehouseAbortVideoChat"); + var_01 = "safehouse_videochat_death"; + self waittill("damage",var_02,var_03); + if(isdefined(var_03) && var_03 == level.player) + { + maps\greece_code::giveplayerchallengekillpoint(); + } + + self notify("PacingGuardDamaged"); + common_scripts\utility::flag_set("FlagPacingGuardDamaged"); + common_scripts\utility::flag_set("FlagPacingNpcDeath"); + common_scripts\utility::flag_set("FlagClearSafehouseComplete"); + thread safehouseexitdeadbodysetuppacingguard(param_00,var_01); + param_00 notify("PacingGuard"); + maps\_utility::anim_stopanimscripted(); + param_00 maps\_anim::anim_single_solo(self,var_01); + maps\greece_code::kill_no_react(); +} + +//Function Number: 37 +safehouseexitdeadbodysetuppacingguard(param_00,param_01) +{ + if(!isdefined(param_00)) + { + param_00 = common_scripts\utility::getstruct("safehouse_pacing_npc","targetname"); + } + + if(!isdefined(param_01)) + { + param_01 = "safehouse_videochat_death"; + } + + common_scripts\utility::flag_wait("FlagSafeHouseOutroStart"); + var_02 = getent("PacingGuard","script_noteworthy"); + var_02.count = 1; + var_03 = var_02 maps\_utility::spawn_ai(); + var_03.animname = "pacing_guard"; + var_03 maps\_utility::gun_remove(); + var_03.dropweapon = 0; + param_00 maps\_anim::anim_single_solo(var_03,param_01); + var_03 maps\greece_code::kill_no_react(); +} + +//Function Number: 38 +safehousepacingguardalertmonitor(param_00) +{ + self endon("PacingGuardDamaged"); + thread safehouseguardsightwatch(param_00,"PacingGuard"); + thread safehouseguardalertwatch(param_00,"PacingGuard"); + thread safehouseguardtriggerwatch("TriggerSafehouseForceAlertPacingGuard",param_00,"PacingGuard",0); + thread safehousepacingguardtriggerwatch(param_00); + thread safehousepacingguardconversationmonitor(); + maps\_utility::disable_surprise(); + self notify("guy_alerted"); + var_01 = "safehouse_videochat_alert"; + param_00 waittill("PacingGuard"); + if(isalive(self)) + { + common_scripts\utility::flag_set("FlagPacingGuardAlerted"); + level notify("SafehouseAbortVideoChat"); + maps\_utility::anim_stopanimscripted(); + self.allowdeath = 1; + self.ignoreall = 0; + self.health = 1; + maps\_utility::disable_dontevershoot(); + maps\_utility::gun_recall(); + param_00 thread maps\_anim::anim_single_solo(self,var_01); + if(common_scripts\utility::flag("FlagSafehouseVideoChatEnded")) + { + self endon("death"); + thread maps\greece_safehouse_vo::safehousefailkvaalerted(); + wait(1); + common_scripts\utility::flag_set("FlagSafehouseHideHint"); + maps\_hms_utility::printlnscreenandconsole("MISSION FAIL - KVA ALERTED!!!"); + setdvar("ui_deadquote",&"GREECE_DRONE_ALERT_FAIL"); + maps\_utility::missionfailedwrapper(); + } + } +} + +//Function Number: 39 +safehousepacingguardconversationmonitor() +{ + level endon("HadesTalkReallyFinished"); + common_scripts\utility::flag_wait_either("FlagPacingNpcDeath","FlagPacingGuardAlerted"); + thread maps\greece_safehouse_vo::safehousefailkvaalerted(); + wait(1); + common_scripts\utility::flag_set("FlagSafehouseHideHint"); + maps\_hms_utility::printlnscreenandconsole("MISSION FAIL - KVA ALERTED!!!"); + setdvar("ui_deadquote",&"GREECE_DRONE_ALERT_FAIL"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 40 +safehousevideochatmovie() +{ + var_00 = getentarray("SafehousePostCallScreen","targetname"); + level waittill("SafehouseVideoChatConversationStarted"); + thread videochatpostscreenhide(var_00,1); + soundscripts\_snd::snd_message("start_videochat_screen_turn_on"); + setsaveddvar("cg_cinematicfullscreen","0"); + cinematicingameloop("manhunt_vidchat"); + level common_scripts\utility::waittill_either("HadesTalkFinished","SafehouseAbortVideoChat"); + soundscripts\_snd::snd_message("start_videochat_screen_turn_off"); + wait(1); + stopcinematicingame(); + setsaveddvar("cg_cinematicfullscreen","1"); + common_scripts\utility::flag_set("FlagSafehouseVideoChatEnded"); + wait(0.1); + level notify("HadesTalkReallyFinished"); + thread videochatpostscreenhide(var_00,0); + common_scripts\utility::flag_wait("FlagPlayerUsedSafehouseComputer"); + maps\_utility::array_delete(var_00); +} + +//Function Number: 41 +videochatpostscreenhide(param_00,param_01) +{ + foreach(var_03 in param_00) + { + if(param_01 == 1) + { + var_03 hide(); + continue; + } + + var_03 show(); + } +} + +//Function Number: 42 +playerchangemode(param_00) +{ + switch(param_00) + { + case "no_combat_slow": + self disableweapons(); + self allowmelee(0); + self allowcrouch(0); + self allowprone(0); + self allowsprint(0); + self allowdodge(0); + self allowjump(0); + self allowstand(1); + self setmovespeedscale(0.3); + break; + + case "no_combat_fast": + self disableweapons(); + self allowmelee(0); + self allowcrouch(0); + self allowprone(0); + self allowsprint(0); + self allowdodge(0); + self allowjump(0); + self allowstand(1); + self setmovespeedscale(0.5); + break; + + case "stealth_combat": + self enableweapons(); + self allowmelee(1); + maps\_utility::playerallowalternatemelee(1); + self allowcrouch(1); + self allowprone(1); + self allowsprint(0); + self allowdodge(0); + self allowjump(1); + self allowstand(1); + self setmovespeedscale(0.8); + if(!isdefined(self._stealth)) + { + maps\_stealth_utility::stealth_default(); + } + break; + + case "full_combat": + self enableweapons(); + self allowmelee(1); + self allowcrouch(1); + self allowprone(1); + self allowsprint(1); + self allowdodge(1); + self allowjump(1); + self allowstand(1); + self setmovespeedscale(1); + break; + } +} + +//Function Number: 43 +playerrubberbandmovespeedscale(param_00,param_01,param_02,param_03,param_04) +{ + self endon("CancelMoveSpeedScale"); + for(;;) + { + if(isdefined(param_00)) + { + break; + } + + wait 0.05; + } + + for(;;) + { + var_05 = distance(self.origin,param_00.origin); + if(var_05 >= param_04) + { + var_06 = param_02; + } + else if(var_05 <= param_03) + { + var_06 = param_01; + } + else + { + var_07 = param_04 - param_03; + var_08 = param_02 - param_01; + var_09 = var_05 - param_03; + var_0A = var_09 / var_07; + var_0B = var_0A * var_08; + var_06 = param_01 + var_0B; + } + + self setmovespeedscale(var_06); + wait(0.5); + } +} + +//Function Number: 44 +spawncivilians() +{ + thread spawnmalecivilians(); + thread spawnmalecivilianswithface(); + thread spawnfemalecivilians(); + thread cafewaiter(); + thread cafesittingreader(); + thread cafecivilianmeetandgreet(); + thread marketvendor(); + thread markethost(); + thread cafeteasipper(); + thread fountaincivilians(); + thread spawnposttakedowncivilians(); + thread spawnpotentialtargets(); +} + +//Function Number: 45 +spawnposttakedowncivilians() +{ + common_scripts\utility::flag_wait("FlagDeleteSafehouseCivilians"); + wait(1); + if(level.nextgen) + { + var_00 = getent("civilian_male","targetname"); + var_01 = getent("civilian_female","targetname"); + var_02 = common_scripts\utility::getstructarray("male_standing_round2_nodes","script_noteworthy"); + var_03 = common_scripts\utility::getstructarray("male_sitting_round2_nodes","script_noteworthy"); + var_04 = common_scripts\utility::getstructarray("female_standing_round2_nodes","script_noteworthy"); + var_05 = common_scripts\utility::getstructarray("female_sitting_round2_nodes","script_noteworthy"); + var_06 = maps\_utility::array_merge(var_02,var_03); + var_07 = maps\_utility::array_merge(var_04,var_05); + var_08 = maps\_hms_greece_civilian::populatedronecivilians(var_00,var_06); + var_09 = maps\_hms_greece_civilian::populatedronecivilians(var_01,var_07); + common_scripts\utility::flag_wait("FlagPlayerStartDroneControl"); + maps\_utility::array_delete(var_08); + maps\_utility::array_delete(var_09); + } +} + +//Function Number: 46 +fountaincivilians() +{ + var_00 = common_scripts\utility::getstruct("fountainOrg","targetname"); + var_01 = maps\_utility::spawn_targetname("fountain_civ1",1); + var_01 thread initscanvariables(); + var_01.animname = "civ1"; + var_02 = maps\_utility::spawn_targetname("fountain_civ2",1); + var_02.script_noteworthy = "PotentialTarget"; + var_02 thread initscanvariables(); + var_02.animname = "civ2"; + var_03 = [var_01,var_02]; + var_00 thread maps\_anim::anim_loop(var_03,"market_fntn_civ_talk"); + common_scripts\utility::flag_wait("FlagDeleteSafehouseCivilians"); + maps\_utility::array_delete(var_03); +} + +//Function Number: 47 +spawnmalecivilians() +{ + var_00 = getent("civilian_male","targetname"); + var_01 = common_scripts\utility::getstructarray("male_standing_idle_nodes","targetname"); + var_02 = common_scripts\utility::getstructarray("male_sitting_idle_nodes","targetname"); + var_03 = maps\_utility::array_merge(var_01,var_02); + var_04 = []; + if(level.nextgen) + { + var_05 = 1.25; + } + else + { + var_05 = 4; + } + + for(var_06 = 0;var_06 < var_03.size / var_05;var_06++) + { + var_04 = common_scripts\utility::add_to_array(var_04,var_03[var_06]); + } + + var_03 = common_scripts\utility::array_remove_array(var_03,var_04); + var_07 = maps\_hms_greece_civilian::populatedronecivilians(var_00,var_03); + common_scripts\utility::array_thread(var_07,::initscanvariables); + common_scripts\utility::flag_wait("FlagPopulateMarket"); + var_08 = maps\_hms_greece_civilian::populatedronecivilians(var_00,var_04); + common_scripts\utility::array_thread(var_08,::initscanvariables); + common_scripts\utility::flag_wait("init_safehouse_follow_lighting"); + maps\_utility::array_delete(var_08); + common_scripts\utility::flag_wait("FlagDeleteSafehouseCivilians"); + maps\_utility::array_delete(var_07); +} + +//Function Number: 48 +spawnmalecivilianswithface() +{ + var_00 = getent("civilian_male_w_face","targetname"); + var_01 = common_scripts\utility::getstructarray("male_standing_idle_nodes_w_face","targetname"); + var_02 = common_scripts\utility::getstructarray("male_sitting_idle_nodes_w_face","targetname"); + var_03 = maps\_utility::array_merge(var_01,var_02); + var_04 = maps\_hms_greece_civilian::populatedronecivilians(var_00,var_03); + common_scripts\utility::array_thread(var_04,::initscanvariables); + common_scripts\utility::flag_wait("FlagDeleteSafehouseCivilians"); + maps\_utility::array_delete(var_04); +} + +//Function Number: 49 +spawnfemalecivilians() +{ + var_00 = getent("civilian_female","targetname"); + var_01 = common_scripts\utility::getstructarray("female_standing_idle_nodes","targetname"); + var_02 = common_scripts\utility::getstructarray("female_sitting_idle_nodes","targetname"); + var_03 = maps\_utility::array_merge(var_01,var_02); + var_04 = []; + for(var_05 = 0;var_05 < var_03.size / 1.25;var_05++) + { + var_04 = common_scripts\utility::add_to_array(var_04,var_03[var_05]); + } + + var_03 = common_scripts\utility::array_remove_array(var_03,var_04); + var_06 = maps\_hms_greece_civilian::populatedronecivilians(var_00,var_03); + common_scripts\utility::array_thread(var_06,::initscanvariables); + var_07 = ["civ_urban_female_body_b_yellow","civ_urban_female_body_b_olive","civ_urban_female_body_e_gold","civ_urban_female_body_b_blue","civ_urban_female_body_d"]; + var_08 = ["head_f_gen_cau_peterson","head_f_act_cau_hamilton_base","head_f_gen_cau_giovanni","head_f_gen_cau_withers","head_f_gen_cau_coyle"]; + foreach(var_0A in var_06) + { + if(isdefined(var_0A.script_noteworthy) && var_0A.script_noteworthy == "casual") + { + var_0B = common_scripts\utility::random(var_08); + var_0C = common_scripts\utility::random(var_07); + var_0A thread codescripts\character::setheadmodel(var_0B); + var_0A setmodel(var_0C); + } + } + + common_scripts\utility::flag_wait("FlagPopulateMarket"); + var_0E = maps\_hms_greece_civilian::populatedronecivilians(var_00,var_04); + common_scripts\utility::array_thread(var_0E,::initscanvariables); + common_scripts\utility::flag_wait("init_safehouse_follow_lighting"); + maps\_utility::array_delete(var_0E); + common_scripts\utility::flag_wait("FlagDeleteSafehouseCivilians"); + maps\_utility::array_delete(var_06); +} + +//Function Number: 50 +spawnpotentialtargets() +{ + var_00 = getent("civilian_male","targetname"); + var_01 = common_scripts\utility::getstructarray("potential_target_node","targetname"); + var_02 = []; + foreach(var_04 in var_01) + { + var_05 = var_00 maps\_utility::dronespawn(); + var_05.animname = "generic"; + var_02 = common_scripts\utility::add_to_array(var_02,var_05); + var_00.count = 1; + var_05.origin = var_04.origin; + var_05.angles = var_04.angles; + if(isdefined(var_04.script_noteworthy)) + { + var_05.script_noteworthy = var_04.script_noteworthy; + } + + wait(0.05); + var_05 thread initscanvariables(); + var_05 thread potentialtargetanimations(var_04); + } + + common_scripts\utility::flag_wait("FlagDeleteSafehouseCivilians"); + maps\_utility::array_delete(var_02); +} + +//Function Number: 51 +potentialtargetanimations(param_00) +{ + var_01 = param_00.animation; + maps\_anim::anim_loop_solo(self,var_01); +} + +//Function Number: 52 +spawntempcivilians(param_00) +{ + var_01 = getent("civilian_temp","targetname"); + var_02 = common_scripts\utility::getstructarray("civ_temp_idle_nodes","targetname"); + var_03 = maps\_hms_greece_civilian::populatedronecivilians(var_01,var_02); + common_scripts\utility::flag_wait(param_00); + maps\_utility::array_delete(var_03); +} + +//Function Number: 53 +spawndecoycivilians() +{ + var_00 = common_scripts\utility::getstruct("KVAtargetWalkOrg","targetname"); + for(var_01 = 1;var_01 < 9;var_01++) + { + var_02 = "MarketDecoy" + var_01; + var_03 = getent(var_02,"targetname"); + if(isdefined(var_03)) + { + thread marketdecoywalk(var_02,var_00,var_03); + continue; + } + + break; + } +} + +//Function Number: 54 +marketdecoywalk(param_00,param_01,param_02) +{ + if(param_00 == "MarketDecoy3") + { + level waittill("MarketStartWalker03"); + } + else if(param_00 == "MarketDecoy7") + { + return; + } + else if(param_00 == "MarketDecoy8") + { + level waittill("MarketStartWalker08"); + } + + var_03 = param_02 maps\_utility::spawn_ai(1); + var_03 thread initscanvariables(); + var_03 maps\_utility::set_ignoreall(1); + var_03.animname = param_00; + thread maps\_hms_utility::debugprint3dcontinuous(param_00,var_03,"blue",1,600000,var_03,"death"); + param_01 maps\_anim::anim_single_solo(var_03,"hms_greece_market_decoy_walker"); + wait 0.05; + switch(param_00) + { + case "MarketDecoy8": + case "MarketDecoy6": + case "MarketDecoy5": + case "MarketDecoy4": + case "MarketDecoy1": + var_04 = getnodearray("MarketDecoyWalkerDeleteNode","targetname"); + var_05 = common_scripts\utility::getclosest(var_03.origin,var_04); + var_03 maps\_utility::set_run_anim("civilian_slow_walk_male"); + var_03 maps\_utility::set_goal_node(var_05); + var_03 maps\_utility::set_goal_radius(32); + var_03 waittill("goal"); + var_03 delete(); + break; + + case "MarketDecoy7": + case "MarketDecoy3": + case "MarketDecoy2": + var_03.animname = "generic"; + var_03 thread maps\_anim::anim_loop_solo(var_03,"london_civ_idle"); + common_scripts\utility::flag_wait("FlagSafeHouseFollowStart"); + var_03 delete(); + break; + } +} + +//Function Number: 55 +spawnwalkingcivilians(param_00,param_01) +{ + var_02 = []; + var_03 = getentarray("WalkingCivilian","targetname"); + if(param_01 == 1) + { + var_04 = getentarray("FirstWalkingCivilian","targetname"); + var_05 = maps\_utility::array_spawn(var_04,1); + foreach(var_07 in var_05) + { + var_02 = common_scripts\utility::add_to_array(var_02,var_07); + var_07 thread initscanvariables(); + var_07 thread deletewalkingcivilians(param_00); + } + + var_03 = maps\_utility::array_merge(var_03,var_04); + wait(1); + } + + while(!common_scripts\utility::flag(param_00)) + { + var_09 = common_scripts\utility::random(var_03); + if(isdefined(level.cameralinkpoint)) + { + var_0A = level.cameralinkpoint.origin; + } + else + { + var_0A = level.player geteye(); + } + + var_0B = level.player getplayerangles(); + if(!common_scripts\utility::within_fov(var_0A,var_0B,var_09.origin,cos(15))) + { + var_0C = var_09 maps\_utility::spawn_ai(); + if(isdefined(var_0C)) + { + var_09.count = 1; + var_02 = common_scripts\utility::add_to_array(var_02,var_0C); + var_0C thread initscanvariables(); + var_0C thread deletewalkingcivilians(param_00); + if(!common_scripts\utility::flag(param_00)) + { + wait(randomfloatrange(6,10)); + } + } + } + + wait 0.05; + } + + var_02 = maps\_utility::array_removedead_or_dying(var_02); + maps\_utility::array_delete(var_02); +} + +//Function Number: 56 +deletewalkingcivilians(param_00) +{ + waittill_notify_or_flag(param_00,"goal"); + self delete(); +} + +//Function Number: 57 +waittill_notify_or_flag(param_00,param_01) +{ + self endon(param_01); + common_scripts\utility::flag_wait(param_00); +} + +//Function Number: 58 +spawnaddwalkers() +{ + thread spawnaddwalker("MarketAmbWalker1","MarketStartAmbWalker01","back","front",0); + thread spawnaddwalker("MarketAmbWalker2","MarketStartAmbWalker02","left","left",0); + thread spawnaddwalker("MarketAmbWalker3","MarketStartAmbWalker03","back","right",0); + thread spawnaddwalker("MarketAmbWalker4","MarketStartAmbWalker04","left","front",0.1); + thread spawnaddwalker("MarketAmbWalker5","MarketStartAmbWalker05","back","front",0); + if(level.nextgen) + { + thread spawnaddwalker("MarketAmbWalker7","MarketStartAmbWalker07","right","front",0); + thread spawnaddwalker("MarketAmbWalker8","MarketStartAmbWalker08","back","front",0); + thread spawnaddwalker("MarketAmbWalker9","MarketStartAmbWalker09","left","right",0); + thread spawnaddwalker("MarketAmbWalker10","MarketStartAmbWalker10","back","right",0); + thread spawnaddwalker("MarketAmbWalker11","MarketStartAmbWalker11","right","right",0); + } +} + +//Function Number: 59 +spawnaddwalker(param_00,param_01,param_02,param_03,param_04) +{ + level endon("FlagDeltaSafehouseCivilians"); + var_05 = getent(param_00,"targetname"); + var_06 = param_00 + "_start"; + var_07 = common_scripts\utility::getstruct(var_06,"targetname"); + var_08 = param_00 + "_end"; + var_09 = common_scripts\utility::getstruct(var_08,"targetname"); + var_0A = var_05 maps\_utility::spawn_ai(1); + var_0A.animname = "generic"; + var_0A maps\_utility::set_ignoreall(1); + var_0A.walk_override_weights = []; + var_0A.walk_override_weights[0] = 1; + var_0A.run_override_weights = []; + var_0A.run_override_weights[0] = 1; + var_0A maps\_utility::set_run_anim("civilian_slow_walk_male",1); + var_0A thread initscanvariables(); + var_0A thread waitforwalkerdelete(); + thread maps\_hms_utility::debugprint3dcontinuous(param_00,var_0A,"green",1,600000,var_0A,"anim_reach_complete"); + var_07 thread maps\_anim::anim_loop_solo(var_0A,"london_civ_idle"); + level waittill(param_01); + wait(param_04); + var_07 notify("stop_loop"); + var_0A maps\_utility::anim_stopanimscripted(); + var_0B = undefined; + switch(param_02) + { + case "back": + var_0B = "civ_idletrans_out_b"; + break; + + case "left": + var_0B = "civ_idletrans_out_l"; + break; + + case "right": + var_0B = "civ_idletrans_out_r"; + break; + } + + var_07 maps\_anim::anim_single_solo_run(var_0A,var_0B); + var_0C = undefined; + switch(param_03) + { + case "front": + var_0C = "civ_idletrans_in_f"; + break; + + case "left": + var_0C = "civ_idletrans_in_l"; + break; + + case "right": + var_0C = "civ_idletrans_in_r"; + break; + } + + if(isalive(var_0A)) + { + var_09 maps\_anim::anim_reach_solo(var_0A,var_0C); + var_09 maps\_anim::anim_single_solo(var_0A,var_0C); + var_09 thread maps\_anim::anim_loop_solo(var_0A,"london_civ_idle"); + } +} + +//Function Number: 60 +waitforwalkerdelete() +{ + common_scripts\utility::flag_wait("FlagDeleteSafehouseCivilians"); + self delete(); +} + +//Function Number: 61 +initscanvariables() +{ + var_00 = 1000; + var_01 = 2000; + self.marked = 0; + self.frequency = randomintrange(var_00,var_01); + self.potentialtarget = 0; + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "PotentialTarget") + { + self.potentialtarget = 1; + level.potentialscantargets = common_scripts\utility::add_to_array(level.potentialscantargets,self); + } +} + +//Function Number: 62 +cafewaiter() +{ + var_00 = getent("ilana_tea_cup","targetname"); + var_00.animname = "tea_cup"; + var_00 maps\_utility::assign_animtree("tea_cup"); + var_00 hide(); + common_scripts\utility::flag_wait("FlagSafeHouseIntro"); + var_01 = common_scripts\utility::getstruct("CafeWaiterOrg","targetname"); + var_02 = maps\_utility::spawn_targetname("IntroCafeWaiter",1); + var_02 setmodel("civ_urban_male_waiter_body"); + var_02 thread codescripts\character::setheadmodel("head_m_act_afr_adams_base"); + var_02.animname = "waiter"; + var_00 show(); + var_01 thread maps\_anim::anim_single_solo(var_00,"hms_greece_market_intro"); + if(level.nextgen) + { + playfxontag(common_scripts\utility::getfx("steam_coffee"),var_00,"jnt_cup"); + } + + var_01 maps\_anim::anim_single_solo(var_02,"hms_greece_market_intro"); + var_02 delete(); +} + +//Function Number: 63 +markethost() +{ + common_scripts\utility::flag_wait("FlagSafeHouseFollowStart"); + var_00 = common_scripts\utility::getstruct("CafeWaiterOrg","targetname"); + var_01 = maps\_utility::spawn_targetname("marketHost",1); + var_01 setmodel("civ_urban_male_body_f"); + var_01 thread codescripts\character::setheadmodel("head_m_gen_mde_smith"); + var_01.animname = "Host"; + wait(0.4); + var_00 maps\_anim::anim_single_solo(var_01,"market_host_in"); + var_00 thread maps\_anim::anim_loop_solo(var_01,"market_host_loop"); + common_scripts\utility::flag_wait("FlagDeleteSafehouseCivilians"); + var_01 delete(); +} + +//Function Number: 64 +cafeteasipper() +{ + var_00 = getent("tea_time_org","targetname"); + var_01 = maps\_utility::spawn_targetname("TeaGuy",1); + var_01 setmodel("civ_urban_male_body_b"); + var_01 thread codescripts\character::setheadmodel("head_m_gen_cau_young"); + var_01.animname = "TeaGuy"; + var_02 = getent("tea_cup","targetname"); + var_02.animname = "tea_cup"; + var_02 maps\_utility::assign_animtree("tea_cup"); + var_03 = var_01 gettagorigin("TAG_WEAPON_RIGHT"); + var_04 = var_01 gettagangles("TAG_WEAPON_RIGHT"); + var_05 = (0,0,0); + var_02.origin = var_03; + var_02.angles = var_04; + var_02 linkto(var_01,"TAG_WEAPON_RIGHT"); + var_06 = [var_01,var_02]; + var_02 thread maps\_anim::anim_loop_solo(var_02,"cafe_tea_time"); + var_00 thread maps\_anim::anim_loop_solo(var_01,"cafe_tea_time"); + common_scripts\utility::flag_wait("FlagDeleteSafehouseCivilians"); + maps\_utility::array_delete(var_06); +} + +//Function Number: 65 +marketvendor() +{ + common_scripts\utility::flag_wait("FlagSafeHouseFollowStart"); + var_00 = common_scripts\utility::getstruct("sweeperOrg","targetname"); + var_01 = maps\_utility::spawn_targetname("MarketSweeper",1); + var_01 setmodel("civ_urban_female_body_b"); + var_01 thread codescripts\character::setheadmodel("head_f_gen_cau_coyle"); + var_01.animname = "market_sweeper"; + var_02 = getent("market_broom","targetname"); + var_02.animname = "broom"; + var_02 maps\_utility::assign_animtree("broom"); + var_03 = [var_01,var_02]; + var_00 thread maps\_anim::anim_loop_solo(var_01,"market_vendor_sweep_loop"); + var_00 thread maps\_anim::anim_loop_solo(var_02,"market_vendor_sweep_loop"); + var_04 = common_scripts\utility::getstruct("MarketVendorOrg","targetname"); + var_05 = maps\_utility::spawn_targetname("MarketVendor",1); + var_05.animname = "market_vendor"; + var_05 setmodel("civ_african_male_body_d"); + var_05 thread codescripts\character::setheadmodel("head_m_act_afr_adams_base"); + var_06 = maps\_utility::spawn_anim_model("lemon01"); + var_07 = maps\_utility::spawn_anim_model("lemon02"); + var_08 = maps\_utility::spawn_anim_model("lemon03"); + var_09 = maps\_utility::spawn_anim_model("lemon04"); + var_0A = maps\_utility::spawn_anim_model("lemon05"); + var_0B = [var_06,var_07,var_08,var_09,var_0A]; + var_04 thread maps\_anim::anim_loop_solo(var_05,"market_vendor_loop"); + var_04 thread maps\_anim::anim_loop(var_0B,"market_vendor_lemons_loop"); + common_scripts\utility::flag_wait_either("FlagTriggerPlayerAtCafeWindow","FlagStartMarketCouple"); + var_0C = maps\_utility::spawn_targetname("MarketVendorMale",1); + var_0C.animname = "market_male"; + var_0D = maps\_utility::spawn_targetname("MarketVendorFemale",1); + var_0D.animname = "market_female"; + var_0E = maps\_utility::spawn_anim_model("lemon"); + var_0F = [var_0C,var_0D]; + var_04 maps\_anim::anim_single(var_0F,"market_vendor_in"); + var_04 thread maps\_anim::anim_loop(var_0F,"market_shopper_loop"); + var_04 thread maps\_anim::anim_loop_solo(var_0E,"market_shopper_loop"); + common_scripts\utility::flag_wait("FlagDeleteSafehouseCivilians"); + var_05 delete(); + var_0C delete(); + var_0D delete(); + maps\_utility::array_delete(var_0B); + maps\_utility::array_delete(var_03); +} + +//Function Number: 66 +cafesittingreader() +{ + var_00 = common_scripts\utility::getstructarray("CafeSittingReader","targetname"); + var_01 = getent("civilian_male","targetname"); + foreach(var_03 in var_00) + { + var_04 = var_01 maps\_utility::dronespawn(); + var_01.count = 1; + var_04.animname = "generic"; + var_04.origin = var_03.origin; + var_04.angles = var_03.angles; + var_04 attach("greece_cafe_gps_pad","tag_inhand",1); + var_04 thread cafesittingreaderplaynextanim("cafe_civ_sit_read_idle_01"); + var_04 thread waitforreaderdelete(); + } +} + +//Function Number: 67 +waitforreaderdelete() +{ + common_scripts\utility::flag_wait("FlagDeleteSafehouseCivilians"); + self delete(); +} + +//Function Number: 68 +cafesittingreaderchoosenextanim(param_00) +{ + level endon("FlagDeleteSafehouseCivilians"); + switch(param_00) + { + case "cafe_civ_sit_read_idle_01": + self waittill("CurrentReadingAnimDone"); + cafesittingreaderplaynextanim("cafe_civ_sit_read_trans2crossed_01"); + break; + + case "cafe_civ_sit_read_trans2crossed_01": + self waittill("CurrentReadingAnimDone"); + cafesittingreaderplaynextanim("cafe_civ_sit_read_idlecrossed_01"); + break; + + case "cafe_civ_sit_read_idlecrossed_01": + if(common_scripts\utility::cointoss()) + { + self waittill("CurrentReadingAnimDone"); + cafesittingreaderplaynextanim("cafe_civ_sit_read_trans2sit_01"); + } + else + { + self waittill("CurrentReadingAnimDone"); + cafesittingreaderplaynextanim("cafe_civ_sit_read_trans2sit_long_01"); + } + break; + + case "cafe_civ_sit_read_trans2sit_01": + self waittill("CurrentReadingAnimDone"); + cafesittingreaderplaynextanim("cafe_civ_sit_read_idle_01"); + break; + + case "cafe_civ_sit_read_trans2sit_long_01": + if(common_scripts\utility::cointoss()) + { + self waittill("CurrentReadingAnimDone"); + cafesittingreaderplaynextanim("cafe_civ_sit_read_trans2crossed_01"); + } + else + { + self waittill("CurrentReadingAnimDone"); + cafesittingreaderplaynextanim("cafe_civ_sit_read_idle_01"); + } + break; + } +} + +//Function Number: 69 +cafesittingreaderplaynextanim(param_00) +{ + thread cafesittingreaderchoosenextanim(param_00); + maps\_anim::anim_single_solo(self,param_00); + self notify("CurrentReadingAnimDone"); +} + +//Function Number: 70 +cafecivilianmeetandgreet() +{ + var_00 = maps\_utility::spawn_targetname("MaleGreet",1); + var_00 setmodel("civ_urban_male_body_c"); + var_00 thread codescripts\character::setheadmodel("head_m_gen_asi_pease"); + var_00.animname = "greet_male"; + var_01 = maps\_utility::spawn_targetname("FemaleGreet",1); + var_01 setmodel("civ_urban_female_body_b_blue_afr_light"); + var_01 thread codescripts\character::setheadmodel("head_f_gen_afr_rice"); + var_01.animname = "greet_female"; + var_02 = getent("Menu1","targetname"); + var_03 = getent("Menu2","targetname"); + var_02 maps\_utility::assign_animtree("market_menu1"); + var_03 maps\_utility::assign_animtree("market_menu2"); + var_02.animname = "market_menu1"; + var_03.animname = "market_menu2"; + var_04 = [var_00,var_02]; + var_05 = [var_01,var_03]; + var_06 = "cafe_meet_02_trans_in_guy1"; + var_07 = "cafe_meet_02_trans_in_fem"; + var_08 = "cafe_meet_02_loop_guy1"; + var_09 = "cafe_meet_02_loop_fem"; + var_0A = getent("CafeMeet02AnimOrg","targetname"); + var_0A thread maps\_anim::anim_first_frame_solo(var_02,"cafe_meet_02_trans_in_guy1"); + var_0A thread maps\_anim::anim_loop(var_05,var_09,"Guy2StopLoopAndGreet"); + var_00 hide(); + common_scripts\utility::flag_wait("FlagSafeHouseFollowStart"); + var_00 show(); + wait(6); + var_0A maps\_anim::anim_reach_solo(var_00,var_06); + var_0A notify("Guy2StopLoopAndGreet"); + var_0A thread maps\_anim::anim_single(var_04,var_06); + var_0A maps\_anim::anim_single(var_05,var_07); + var_0A thread maps\_anim::anim_loop(var_04,var_08); + var_0A thread maps\_anim::anim_loop(var_05,var_09); + common_scripts\utility::flag_wait("FlagDeleteSafehouseCivilians"); + maps\_utility::array_delete(var_04); + maps\_utility::array_delete(var_05); +} + +//Function Number: 71 +cafesetupplayerseat() +{ + level endon("lazy_mission_end"); + common_scripts\utility::flag_wait("FlagSafeHouseIntro"); + thread cafeinitvendorgate(); + level.player lerpfov(50,0); + var_00 = common_scripts\utility::getstruct("PlayerVBCafeStruct","targetname"); + var_01 = maps\_utility::spawn_anim_model("player_cafe_rig",level.player.origin,level.player.angles); + var_02 = maps\_utility::spawn_anim_model("cafe_control_pad",var_00.origin); + var_03 = maps\_utility::spawn_anim_model("backpack_drone_large",var_00.origin); + var_00 thread maps\_anim::anim_first_frame_solo(var_03,"hms_greece_market_intro"); + var_00 thread maps\_anim::anim_single_solo(var_03,"hms_greece_market_intro"); + var_04 = maps\_utility::spawn_anim_model("player_chair",var_00.origin); + var_00 thread maps\_anim::anim_single_solo(var_04,"hms_greece_market_intro"); + level.player playerlinktoblend(var_01,"tag_player",0.1); + thread cafeplayercameralook(var_01); + var_05 = [var_01,var_02]; + var_00 maps\_anim::anim_single(var_05,"hms_greece_market_intro"); + level notify("MarketIntroExpandCamControl"); + var_00 thread maps\_anim::anim_loop(var_05,"hms_greece_market_intro_loop","PlayerCafeSittingEnder"); + common_scripts\utility::flag_set("FlagSetObjScanTarget"); + common_scripts\utility::flag_set("FlagScanTargetEnable"); + thread maps\greece_safehouse_vo::scaninitremindermonitor(); + thread maps\_utility::hintdisplayhandler("cafe_scan",undefined,undefined,undefined,undefined,200); + for(;;) + { + if(level.player usebuttonpressed()) + { + break; + } + + wait 0.05; + } + + level notify("PlayerInitiateScan"); + common_scripts\utility::flag_set("FlagScanRemoveHint"); + thread maps\_utility::autosave_by_name("safehouse_market_scan_begin"); + level.player playerlinktoblend(var_01,"tag_player",1); + var_00 notify("PlayerCafeSittingEnder"); + var_01 maps\_utility::anim_stopanimscripted(); + var_00 thread maps\_anim::anim_single(var_05,"hms_greece_market_intro_activate"); + wait(3.15); + level.player disableslowaim(); + common_scripts\utility::flag_set("FlagPopulateMarket"); + maps\greece_security_camera::scanfadeintro(); + wait(1); + common_scripts\utility::flag_set("FlagScanTargetBegin"); + thread cafecameraumbrella(); + thread spawnkvafollowtarget(); + thread spawnwalkingcivilians("FlagDeleteMarketFirstWalkers",1); + level.player thread maps\greece_security_camera::securitycameraenable(); + level.bplayerscanon = 1; + soundscripts\_snd::snd_message("mhunt_cafe_cam_enter_front"); + thread cafecamerascancounter(); + thread marketkvafollowtargettimer(); + var_06 = common_scripts\utility::getstruct("mitchellOrg","targetname"); + var_07 = maps\_utility::spawn_anim_model("Mitchell",var_00.origin); + var_07 maps\_utility::assign_animtree("Mitchell"); + var_07 setmodel("civ_urban_male_body_b"); + var_07 thread codescripts\character::setheadmodel("head_civ_sf_male_c"); + var_07.animname = "Mitchell"; + var_06 thread maps\_anim::anim_loop_solo(var_07,"Mitchell_scanning"); + common_scripts\utility::flag_wait("FlagScanTargetComplete"); + var_07 delete(); + var_01 delete(); + var_02 delete(); + var_03 delete(); + thread cafeendcamerascan(var_04); +} + +//Function Number: 72 +hintcamerascanoff() +{ + return common_scripts\utility::flag("FlagScanRemoveHint"); +} + +//Function Number: 73 +hintcamerazoomoff() +{ + return common_scripts\utility::flag("FlagFollowTargetMarked"); +} + +//Function Number: 74 +cafeplayercameralook(param_00) +{ + level waittill("MarketIntroUnlockCamControl"); + level.player playerlinktoblend(param_00,"tag_player",0.1); + level.player playerlinktodelta(param_00,"tag_player",0,10,10,10,10,0,0); + level.player enableslowaim(0.1,0.1); + level waittill("MarketIntroExpandCamControl"); + level.player playerlinktodelta(param_00,"tag_player",0,45,40,30,25,0,0); + level.player enableslowaim(0.2,0.2); +} + +//Function Number: 75 +cafecamerascancounter() +{ + var_00 = 0; + level.player endon("DisableScanning"); + for(;;) + { + if(var_00 == 1) + { + common_scripts\utility::flag_set("FlagCafeCameraUnlockSwitching"); + } + else if(var_00 < 1) + { + level.player waittill("CafeScanResultsNegative"); + var_00++; + } + + wait(0.05); + } +} + +//Function Number: 76 +cafeendcamerascan(param_00) +{ + common_scripts\utility::flag_wait("FlagScanTargetComplete"); + level.bplayerscanon = 0; + level.player maps\greece_security_camera::securitycameradisable(); + soundscripts\_snd::snd_message("mhunt_cafe_cam_exit_front"); + maps\greece_code::setdefaulthudoutlinedvars(); + common_scripts\utility::flag_set("FlagSafeHouseFollowStart"); + level.player lerpfov(50,0); + if(!common_scripts\utility::flag("FlagFollowTargetReachedFirstStop")) + { + level notify("market_target_teleport"); + wait 0.05; + level.kvafollowtarget maps\_utility::anim_stopanimscripted(); + thread marketkvafollowtargetwalk2(); + } + + var_01 = common_scripts\utility::getstruct("PlayerVBCafeStruct","targetname"); + var_02 = maps\_utility::spawn_anim_model("player_cafe_rig",var_01.origin); + var_03 = maps\_utility::spawn_anim_model("cafe_control_pad",var_01.origin); + var_04 = maps\_utility::spawn_anim_model("backpack_drone_large",var_01.origin); + if(!isdefined(param_00)) + { + param_00 = maps\_utility::spawn_anim_model("player_chair",var_01.origin); + } + + var_05 = [var_02,var_03,var_04]; + var_01 thread maps\_anim::anim_first_frame_solo(param_00,"hms_greece_market_outro"); + var_01 maps\_anim::anim_first_frame(var_05,"hms_greece_market_outro"); + level.player unlink(); + wait 0.05; + level.player playerlinktoblend(var_02,"tag_player",0.1); + thread maps\greece_security_camera::scanfadeoutro(); + wait(0.4); + thread cafeintrofov(); + thread cafevideolog(); + var_01 thread maps\_anim::anim_single_solo(param_00,"hms_greece_market_outro"); + var_01 maps\_anim::anim_single(var_05,"hms_greece_market_outro"); + level.player unlink(); + var_02 delete(); + var_03 delete(); + var_04 delete(); + thread maps\_utility::autosave_by_name("safehouse_market_follow"); + common_scripts\utility::flag_set("FlagSetObjFollowTarget"); + common_scripts\utility::flag_set("FlagStartCafeVideoLog"); +} + +//Function Number: 77 +cafevideolog() +{ + thread maps\greece_vo::cafe_irons_speech_bink(); + common_scripts\utility::flag_wait("FlagStartCafeVideoLog"); + maps\_shg_utility::play_videolog("manhunt_videolog_02","screen_add"); + thread soundscripts\_snd::snd_message("start_kva_follow_music"); + common_scripts\utility::flag_set("FlagCafeVideologComplete"); +} + +//Function Number: 78 +cafeintrofov() +{ + level waittill("CafeTransitionBackFOV"); + level.player lerpfov(65,0.5); +} + +//Function Number: 79 +cafesetuptouristilana() +{ + level.allies["Ilona"] maps\_utility::set_run_anim("civilian_hurried_walk",1); + level.allies["Ilona"] maps\_utility::set_idle_anim("london_station_civ1_idle"); + level.allies["Ilona"] maps\_utility::gun_remove(); + level.allies["Ilona"].disablefacialfilleranims = 1; + level.allies["Ilona"] thread safehouseilanaweaponshot(); +} + +//Function Number: 80 +cafesetupilanabackpack() +{ + self setmodel("body_ilana_civilian_backpack"); + self waittill("DeleteIlanaBackpack"); + self setmodel("body_ilana_civilian"); +} + +//Function Number: 81 +cafeilanaseat() +{ + var_00 = common_scripts\utility::getstruct("IlanaCafeMove1Struct","targetname"); + var_01 = getent("ilana_tea_cup","targetname"); + var_01.animname = "tea_cup"; + var_01 maps\_utility::assign_animtree("tea_cup"); + var_02 = level.allies["Ilona"]; + var_03 = maps\_utility::spawn_anim_model("backpack_drone_small",var_00.origin); + var_00 thread maps\_anim::anim_first_frame_solo(var_03,"hms_greece_market_intro"); + var_00 thread maps\_anim::anim_single_solo(var_03,"hms_greece_market_intro"); + var_04 = maps\_utility::spawn_anim_model("ilana_chair",var_00.origin); + var_00 thread maps\_anim::anim_first_frame_solo(var_04,"hms_greece_market_intro"); + var_00 thread maps\_anim::anim_single_solo(var_04,"hms_greece_market_intro"); + var_02.disablefacialfilleranims = 1; + var_00 maps\_anim::anim_single_solo(var_02,"hms_greece_market_intro"); + var_00 thread maps\_anim::anim_loop_solo(var_02,"hms_greece_market_intro_loop","IlanaMarketEnder1"); + var_00 thread maps\_anim::anim_loop_solo(var_01,"hms_greece_market_intro_loop","IlanaMarketEnder1"); + common_scripts\utility::flag_wait("FlagSafeHouseFollowStart"); + var_00 notify("IlanaMarketEnder1"); + var_02 maps\_utility::anim_stopanimscripted(); + thread cafemarketmoveilana(var_03,var_04); +} + +//Function Number: 82 +cafeinitvendorgate() +{ + var_00 = common_scripts\utility::getstruct("IlanaCafeMove4Struct","targetname"); + var_01 = getent("MarketIlanaExitGate","targetname"); + var_01.animname = "vendorgate"; + var_01 maps\_utility::assign_animtree("vendorgate"); + var_00 thread maps\_anim::anim_first_frame_solo(var_01,"hms_greece_market_vendor_exit"); +} + +//Function Number: 83 +cafemarketmoveilana(param_00,param_01,param_02) +{ + var_03 = common_scripts\utility::getstruct("IlanaCafeMove1Struct","targetname"); + var_04 = common_scripts\utility::getstruct("IlanaCafeMove2Struct","targetname"); + var_05 = common_scripts\utility::getstruct("IlanaCafeMove3Struct","targetname"); + var_06 = common_scripts\utility::getstruct("IlanaCafeMove4Struct","targetname"); + var_07 = common_scripts\utility::getstruct("CafeWaiterOrg","targetname"); + var_08 = level.allies["Ilona"]; + if(!isdefined(param_00)) + { + param_00 = maps\_utility::spawn_anim_model("backpack_drone_small",var_03.origin); + } + + if(!isdefined(param_01)) + { + param_01 = maps\_utility::spawn_anim_model("ilana_chair",var_03.origin); + } + + if(!isdefined(param_02)) + { + param_02 = getent("ilana_tea_cup","targetname"); + param_02.animname = "tea_cup"; + param_02 maps\_utility::assign_animtree("tea_cup"); + } + + var_09 = getent("MarketIlanaExitGate","targetname"); + var_0A = [var_08,param_00]; + var_04 maps\_anim::anim_first_frame(var_0A,"hms_greece_market_outro"); + wait(0.4); + thread cafeoutrositter(); + var_08.disablefacialfilleranims = 0; + param_02 show(); + var_07 thread maps\_anim::anim_single_solo(param_02,"hms_greece_market_outro"); + var_04 thread maps\_anim::anim_single_solo(param_01,"hms_greece_market_outro"); + var_04 maps\_anim::anim_single(var_0A,"hms_greece_market_outro"); + var_05 thread maps\_anim::anim_loop(var_0A,"hms_greece_market_vendor_loop","IlanaMarketEnder3"); + common_scripts\utility::flag_wait_all("FlagTriggerPlayerMidMarket","FlagMarketCoupleAtGoal","FlagCafeVideologComplete"); + common_scripts\utility::flag_set("FlagIlanaMidMarketStartMoving"); + thread cafemarketslowdownplayermore(); + var_05 notify("IlanaMarketEnder3"); + var_08.disablefacialfilleranims = 0; + var_06 thread maps\_anim::anim_single_solo(var_09,"hms_greece_market_vendor_exit"); + var_06 maps\_anim::anim_single(var_0A,"hms_greece_market_vendor_exit"); + level.allies["Ilona"] notify("IlanaExitMarket"); + var_0B = level.allies["Ilona"].goalradius; + level.allies["Ilona"].goalradius = 16; + level.allies["Ilona"] maps\_utility::set_goal_node_targetname("MarketIlanaDisappearNode"); + level.allies["Ilona"] maps\_utility::anim_stopanimscripted(); + param_00 delete(); + level.allies["Ilona"] waittill("goal"); + var_0C = getnode("MarketIlanaBackAlleyWait","targetname"); + level.allies["Ilona"] maps\_utility::teleport_ai(var_0C); + common_scripts\utility::flag_set("FlagSafehouseIlanaTeleportToBack"); + wait 0.05; + level.allies["Ilona"].goalradius = var_0B; + level.allies["Ilona"] thread cafesetupilanabackpack(); + common_scripts\utility::flag_wait("FlagFollowTargetKilled"); + thread safehouseilanaclearsafehouse(); +} + +//Function Number: 84 +cafemarketslowdownplayermore() +{ + if(!common_scripts\utility::flag("FlagKVATargetInAlley")) + { + level.player notify("CancelMoveSpeedScale"); + wait 0.05; + level.player thread playerrubberbandmovespeedscale(level.kvafollowtarget,0.1,0.5,400,1000); + common_scripts\utility::flag_wait("FlagKVATargetInAlley"); + wait(1); + } + + common_scripts\utility::flag_wait("FlagSafehouseIlanaTeleportToBack"); + level.player notify("CancelMoveSpeedScale"); + wait 0.05; + level.player playerchangemode("no_combat_fast"); + level.player thread playerrubberbandmovespeedscale(level.kvafollowtarget,0.2,0.5,200,800); +} + +//Function Number: 85 +cafeoutrositter() +{ + var_00 = common_scripts\utility::getstruct("CafeSitterOrg","targetname"); + var_01 = maps\_utility::spawn_targetname("OutroCafeSitter",1); + var_01 setmodel("civ_urban_male_body_e"); + var_01 thread codescripts\character::setheadmodel("head_m_act_cau_kanik_base"); + var_01.animname = "sitter"; + var_02 = maps\_utility::spawn_anim_model("sitter_chair",var_00.origin); + var_03 = common_scripts\utility::getstruct("CafeSitterPartnerOrg","targetname"); + var_04 = getent("civilian_female","targetname"); + var_05 = var_04 maps\_utility::dronespawn(); + var_04.count = 1; + var_05.origin = var_03.origin; + var_05.angles = var_03.angles; + var_06 = ["civ_urban_female_body_b_yellow","civ_urban_female_body_b_olive","civ_urban_female_body_e_gold","civ_urban_female_body_b_blue","civ_urban_female_body_d"]; + var_07 = ["head_f_gen_cau_peterson","head_f_act_cau_hamilton_base","head_f_gen_cau_giovanni","head_f_gen_cau_withers","head_f_gen_cau_coyle"]; + var_08 = common_scripts\utility::random(var_07); + var_09 = common_scripts\utility::random(var_06); + var_05 thread codescripts\character::setheadmodel(var_08); + var_05 setmodel(var_09); + var_05.animname = "generic"; + var_0A = var_03.animation; + var_03 thread maps\_anim::anim_generic_loop(var_05,var_0A); + var_00 thread maps\_anim::anim_single_solo(var_02,"hms_greece_market_outro"); + var_00 maps\_anim::anim_single_solo(var_01,"hms_greece_market_outro"); + var_00 thread maps\_anim::anim_loop_solo(var_01,"hms_greece_market_outro_loop"); + common_scripts\utility::flag_wait("FlagDeleteSafehouseCivilians"); + var_01 delete(); + var_05 delete(); +} + +//Function Number: 86 +cafemarketilanabackyardwait() +{ + var_00 = common_scripts\utility::getstruct("IlanaBackCourtyardWait","targetname"); + var_01 = "london_guard_idle1"; + var_00 maps\_anim::anim_reach_solo(self,var_01); + var_00 thread maps\_anim::anim_loop_solo(self,var_01,"IlanaStopBackyardWait"); + common_scripts\utility::flag_wait("FlagSafehouseMeleeKillInitiated"); + var_00 notify("IlanaStopBackyardWait"); + maps\_utility::anim_stopanimscripted(); +} + +//Function Number: 87 +cafemarketplayerfollowtarget() +{ + common_scripts\utility::flag_wait("FlagFollowTargetReachedFinalStop"); + common_scripts\utility::flag_set("FlagSafeHouseKillStart"); +} + +//Function Number: 88 +marketenemyinit() +{ + self.maxvisibledist = 0.1; + self.health = 1; + self.fovcosine = cos(80); + maps\_utility::set_goalradius(32); + maps\_utility::gun_remove(); + maps\_utility::set_ignoreall(1); + self.animname = "KeyMan"; + self.script_parameters = "KeyMan"; + maps\_utility::disable_exits(); + maps\_utility::disable_arrivals(); + maps\_utility::set_idle_anim("civilian_stand_idle"); + maps\_utility::set_run_anim("civilian_cool_walk",1); + maps\_utility::disable_surprise(); + self.battlechatter = 0; + thread maps\greece_code::clearalertoutline(); +} + +//Function Number: 89 +safehousetranstoalleygatesetup() +{ + var_00 = common_scripts\utility::getstruct("gateOrg","targetname"); + var_01 = getent("greece_alley_gate","targetname"); + var_01 maps\_utility::assign_animtree("alley_gate"); + var_01.animname = "alley_gate"; + var_00 thread maps\_anim::anim_first_frame_solo(var_01,"safehouse_gate_bash"); +} + +//Function Number: 90 +marketmovekvafollowtarget() +{ + self endon("death"); + var_00 = level.start_point; + if(var_00 == "start_safehouse_follow") + { + var_01 = getent("KVAFollowTargetTeleport1","targetname"); + level.kvafollowtarget forceteleport(var_01.origin,var_01.angles); + return; + } + + if(var_00 == "start_safehouse_xslice") + { + var_01 = getent("KVAFollowTargetTeleport2","targetname"); + level.kvafollowtarget forceteleport(var_01.origin,var_01.angles); + thread marketkvafollowtargetkill(); + return; + } + + thread marketkvafollowtargetwalk1(); +} + +//Function Number: 91 +failtargetescaped1() +{ + maps\_hms_utility::printlnscreenandconsole("MISSION FAIL - TARGET ESCAPED!!!"); + level notify("lazy_mission_end"); + common_scripts\utility::flag_set("FlagScanRemoveHint"); + maps\greece_safehouse_vo::safehousefailtargetescaped(); + wait(1); + setdvar("ui_deadquote",&"GREECE_MARKET_TARGETESCAPE1_FAIL"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 92 +failtargetescaped2() +{ + maps\_hms_utility::printlnscreenandconsole("MISSION FAIL - TARGET ESCAPED!!!"); + level notify("lazy_mission_end"); + maps\greece_safehouse_vo::safehousefailtargetescaped(); + wait(1); + setdvar("ui_deadquote",&"GREECE_MARKET_TARGETESCAPE2_FAIL"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 93 +failtargetescaped3() +{ + maps\_hms_utility::printlnscreenandconsole("MISSION FAIL - TARGET ESCAPED!!!"); + level notify("lazy_mission_end"); + maps\greece_safehouse_vo::safehousefailtargetescaped(); + wait(1); + setdvar("ui_deadquote",&"GREECE_MARKET_TARGETESCAPE3_FAIL"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 94 +marketkvafollowtargetwalk1() +{ + level endon("market_target_teleport"); + var_00 = common_scripts\utility::getstruct("KVAtargetWalkOrg","targetname"); + level waittill("MarketCameraSwitch"); + thread spawnaddwalkers(); + thread spawndecoycivilians(); + common_scripts\utility::flag_set("FlagDeleteMarketFirstWalkers"); + var_00 maps\_anim::anim_single_solo(level.kvafollowtarget,"hms_greece_market_target_walk"); + common_scripts\utility::flag_set("FlagFollowTargetReachedFirstStop"); + thread marketkvafollowtargetwalk2(); +} + +//Function Number: 95 +marketkvafollowtargetwalk2() +{ + var_00 = common_scripts\utility::getstruct("KVAtargetWalkOrg","targetname"); + var_00 thread maps\_anim::anim_loop_solo(level.kvafollowtarget,"hms_greece_market_target_idle","KVAFollowTargetStopIdle"); + common_scripts\utility::flag_wait_either("FlagTriggerStartKVATargetWalkExit","FlagKVATargetWaitTimerExpired"); + var_00 notify("KVAFollowTargetStopIdle"); + level.kvafollowtarget maps\_utility::anim_stopanimscripted(); + thread monitorkvatargetinalley(); + thread marketkvafollowtargetgate(); + var_00 maps\_anim::anim_single_solo(level.kvafollowtarget,"hms_greece_market_target_exit"); + level.kvafollowtarget notify("badplace_end"); + common_scripts\utility::flag_set("FlagFollowTargetReachedSecondStop"); + thread marketkvafollowtargetkill(); +} + +//Function Number: 96 +marketkvafollowtargetgate() +{ + var_00 = common_scripts\utility::getstruct("marketgateOrg","targetname"); + var_01 = getent("market_gate","targetname"); + var_01.animname = "marketgate"; + var_01 maps\_utility::assign_animtree("marketgate"); + var_00 maps\_anim::anim_single_solo(var_01,"hms_greece_market_target_exit"); +} + +//Function Number: 97 +monitorkvatargetinalley() +{ + var_00 = getent("TrigKVATargetInAlley","targetname"); + for(;;) + { + if(level.kvafollowtarget istouching(var_00)) + { + break; + } + + wait 0.05; + } + + common_scripts\utility::flag_set("FlagKVATargetInAlley"); +} + +//Function Number: 98 +marketkvafollowtargettimer() +{ + var_00 = []; + var_00[0] = 180; + var_00[1] = 120; + var_00[2] = 90; + var_00[3] = 45; + level.markettimewindow = var_00[level.gameskill]; + var_01 = maps\_hud_util::get_countdown_hud(); + var_01.label = &"GREECE_MARKET_TIMER_LABEL_CAPS"; + var_01.x = -110; + var_01.y = 45; + var_01.alignx = "left"; + var_01.horzalign = "center"; + var_01.color = (0.95,0.95,1); + var_01 setpulsefx(30,900000,700); + var_01 settenthstimer(level.markettimewindow); + thread freezemarkettimer(var_01); + thread maps\greece_safehouse_vo::scantakestoolongmonitor(); + thread marketscanautohighlight(); + thread monitorfollowtargetescape(); + wait(level.markettimewindow + 3); + if(!common_scripts\utility::flag("FlagFollowTargetMarked")) + { + common_scripts\utility::flag_set("FlagKVATargetWaitTimerExpired"); + level notify("MarketTimerExpired"); + level.player notify("DisableScanning"); + wait(3); + destroymarkettimer(var_01); + } +} + +//Function Number: 99 +freezemarkettimer(param_00) +{ + level endon("MarketTimerExpired"); + var_01 = gettime(); + common_scripts\utility::flag_wait("FlagFollowTargetMarked"); + var_02 = gettime(); + var_03 = var_02 - var_01 * 0.001; + var_04 = level.markettimewindow - var_03; + if(var_04 <= 0) + { + var_04 = 0.01; + } + + param_00 settenthstimerstatic(var_04); + wait(3); + destroymarkettimer(param_00); +} + +//Function Number: 100 +destroymarkettimer(param_00) +{ + if(isdefined(param_00)) + { + param_00 destroy(); + } +} + +//Function Number: 101 +marketscanautohighlight() +{ + if(level.gameskill <= 1) + { + wait(level.markettimewindow - level.markettimewindow / 4); + if(!common_scripts\utility::flag("FlagFollowTargetMarked")) + { + foreach(var_01 in level.potentialscantargets) + { + var_01 hudoutlineenable(5,0); + } + } + } +} + +//Function Number: 102 +monitorfollowtargetescape() +{ + level waittill("MarketTimerExpired"); + if(!common_scripts\utility::flag("FlagFollowTargetMarked")) + { + thread failtargetescaped1(); + } +} + +//Function Number: 103 +marketguybadplace() +{ + level endon("lazy_mission_end"); + if(!isdefined(self.hasbadplace) || self.hasbadplace == 0) + { + self.hasbadplace = 1; + createmovingbadplace(); + } +} + +//Function Number: 104 +createmovingbadplace() +{ + level endon("lazy_mission_end"); + self endon("badplace_end"); + var_00 = 1; + var_01 = 128; + for(;;) + { + var_02 = anglestoforward(self.angles); + badplace_arc(self.script_noteworthy + "arc",var_00,self.origin,64,var_01,var_02,15,15,"neutral","allies"); + badplace_cylinder(self.script_noteworthy + "cyl",var_00,self.origin,32,var_01,"neutral","allies"); + wait(var_00 + 0.05); + } +} + +//Function Number: 105 +marketkvafollowtargetkill() +{ + var_00 = level.allies["Ilona"]; + var_01 = level.kvafollowtarget; + var_02 = getent("SafehouseKVAAmbusher","targetname"); + var_03 = var_02 maps\_utility::spawn_ai(1); + var_03 setmodel("kva_civilian_a_ambusher"); + var_03.animname = "Victim"; + var_03.script_parameters = "Victim"; + var_03.fovcosine = cos(60); + var_03 maps\_utility::gun_remove(); + var_00.disablefacialfilleranims = 0; + var_04 = "courtyard_takedown_enter"; + var_05 = "courtyard_takedown_idle"; + var_06 = "courtyard_takedown"; + var_07 = getent("safehouse_pillow","targetname"); + var_07 hide(); + var_08 = [var_03,var_01]; + var_09 = common_scripts\utility::getstruct("SafehouseCourtyardTakedownOrg","targetname"); + var_01 thread setupaiforanimsequence(); + var_03 thread setupaiforanimsequence(); + level.kvafollowtarget attach("weapon_parabolic_knife","TAG_WEAPON_RIGHT",1); + var_09 thread maps\_anim::anim_loop_solo(var_03,var_05,"StartSafehouseTakedown"); + common_scripts\utility::flag_set("FlagChangeObjFollowTarget"); + var_01 thread safehousecourtyardtakedownknifenpc(var_09,var_04,var_05); + common_scripts\utility::flag_wait("FlagTriggerStartIlanaTakedownEnter"); + var_09 maps\_anim::anim_single_solo(var_00,var_04); + var_09 thread maps\_anim::anim_loop_solo(var_00,var_05,"StartSafehouseTakedown"); + level.player thread marketkvafollowtargetbuttoncapture(var_09); + var_01 thread maps\greece_safehouse_vo::safehousekillreminder(); + var_01 thread marketkvafollowtargetstopidle(var_09); + var_03 thread marketkvaambusherstopidle(var_09); + var_00 thread safehousecourtyardtakedownilonafail(var_09); + foreach(var_0B in var_08) + { + var_0B thread marketkvafollowtargetalertmonitor(); + var_0B thread safehousecourtyardsightwatch(); + } + + common_scripts\utility::flag_wait("FlagSafehouseMeleeKillInitiated"); + level notify("PlayerInitiateKeyManKill"); + level notify("CourtyardDistractionDialogInterrupt"); + level.player notify("CancelMoveSpeedScale"); + level.kvafollowtarget notify("remove_outline"); + common_scripts\utility::flag_set("FlagClearObjFollowTarget"); + level.player hideviewmodel(); + var_0D = maps\_utility::spawn_anim_model("player_cafe_rig",level.player.origin); + var_0D hide(); + maps\greece_safehouse_fx::guarddustdrag(); + var_09 maps\_anim::anim_first_frame_solo(var_0D,var_06); + level.player playerlinktoblend(var_0D,"tag_player",0.4); + wait(0.4); + var_0D show(); + if(level.currentgen) + { + if(istransientloaded("greece_market_audio_tr")) + { + level notify("tff_unload_market_audio"); + unloadtransient("greece_market_audio_tr"); + } + } + + var_09 thread maps\_anim::anim_single(var_08,var_06); + var_09 thread maps\_anim::anim_single_solo(var_0D,var_06); + thread safehousetakedownreturnplayercontrol(getanimlength(var_0D maps\_utility::getanim(var_06)),var_0D); + level.kvafollowtarget thread safehousekvafollowtargetdeath(getanimlength(level.kvafollowtarget maps\_utility::getanim(var_06))); + var_03 thread safehousekvafollowtargetdeath(getanimlength(var_03 maps\_utility::getanim(var_06))); + thread safehousecourtyardtakedownprops(); + soundscripts\_snd::snd_message("start_safehouse_stealth_music"); + var_09 maps\_anim::anim_single_solo(var_00,var_06); + thread safehouseilanaopendooridle(); + common_scripts\utility::flag_set("FlagFollowTargetUnmarked"); +} + +//Function Number: 106 +safehousecourtyardtakedownknifenpc(param_00,param_01,param_02) +{ + param_00 thread maps\_anim::anim_loop_solo(self,param_02,"StopKnifeNPCLoop"); + common_scripts\utility::flag_wait("FlagTriggerStartIlanaTakedownEnter"); + wait(0.1); + param_00 notify("StopKnifeNPCLoop"); + maps\_utility::anim_stopanimscripted(); + param_00 maps\_anim::anim_single_solo(self,param_01); + param_00 thread maps\_anim::anim_loop_solo(self,param_02,"StartSafehouseTakedown"); +} + +//Function Number: 107 +safehousecourtyardtakedownilonafail(param_00) +{ + common_scripts\utility::flag_wait("FlagTriggerStartTakedownTimer"); + level common_scripts\utility::waittill_either("CourtyardDistractionDialogComplete","SafehouseTakedownAlert"); + wait(0.1); + if(common_scripts\utility::flag("FlagSafehouseMeleeKillInitiated")) + { + return; + } + + param_00 notify("StartSafehouseTakedown"); + self notify("stop_talking"); + wait 0.05; + param_00 maps\_anim::anim_single_solo(self,"courtyard_takedown_fail"); +} + +//Function Number: 108 +safehousecourtyardtakedownprops() +{ + level waittill("CourtyardTakedownUnholsterWeapon"); + level.allies["Ilona"] maps\_utility::forceuseweapon("iw5_titan45_sp_opticsreddot_silencerpistol","primary"); + level.allies["Ilona"] maps\_utility::gun_recall(); +} + +//Function Number: 109 +marketkvafollowtargetstopidle(param_00) +{ + common_scripts\utility::flag_wait("FlagTriggerStartTakedownTimer"); + level common_scripts\utility::waittill_either("CourtyardDistractionDialogComplete","SafehouseTakedownAlert"); + level notify("CourtyardDistractionDialogInterrupt"); + wait(0.1); + if(common_scripts\utility::flag("FlagSafehouseMeleeKillInitiated")) + { + return; + } + + if(common_scripts\utility::flag("FlagFollowTargetUnmarked")) + { + return; + } + + param_00 notify("StartSafehouseTakedown"); + thread marketkvafollowtargetalerted(param_00); + common_scripts\utility::flag_set("FlagClearObjFollowTarget"); + common_scripts\utility::flag_set("FlagFollowTargetUnmarked"); + common_scripts\utility::trigger_off("UseTriggerKillKVAfollowTarget","targetname"); +} + +//Function Number: 110 +marketkvaambusherstopidle(param_00) +{ + level common_scripts\utility::waittill_either("CourtyardDistractionDialogComplete","SafehouseTakedownAlert"); + level notify("CourtyardDistractionDialogInterrupt"); + wait(0.1); + if(common_scripts\utility::flag("FlagSafehouseMeleeKillInitiated")) + { + return; + } + + param_00 notify("StartSafehouseTakedown"); + self notify("stop_talking"); + wait 0.05; + param_00 maps\_anim::anim_single_solo(self,"courtyard_takedown_fail"); + self.surprisedbymedistsq = 1; + self stopanimscripted(); + self.combatmode = "no_cover"; + maps\_utility::set_goalradius(512); + self.battlechatter = 1; + self.allowdeath = 1; + self.maxvisibledist = 1; + self.health = 100; + maps\_utility::set_favoriteenemy(level.allies["Ilona"]); + maps\_utility::enable_arrivals(); + maps\_utility::clear_generic_idle_anim(); + maps\_utility::clear_generic_run_anim(); +} + +//Function Number: 111 +marketkvafollowtargetnecksnaprumble(param_00) +{ + level.player playrumbleonentity("damage_heavy"); + wait(1); + level.player maps\_upgrade_challenge::give_player_challenge_kill(1); +} + +//Function Number: 112 +marketkvafollowtargetalerted(param_00) +{ + level notify("KVAFollowTargetAlerted"); + self notify("remove_outline"); + common_scripts\utility::flag_set("FlagFollowTargetUnmarked"); + common_scripts\utility::trigger_off("UseTriggerKillKVAfollowTarget","targetname"); + self notify("stop_talking"); + param_00 maps\_anim::anim_single_solo(self,"courtyard_takedown_fail"); + self.surprisedbymedistsq = 1; + self stopanimscripted(); + maps\_utility::disable_dontevershoot(); + self.combatmode = "no_cover"; + maps\_utility::set_goalradius(512); + self.battlechatter = 1; + self.allowdeath = 1; + self.ignoreall = 0; + self.maxvisibledist = 1; + self.health = 100; + maps\_utility::enable_arrivals(); + maps\_utility::clear_generic_idle_anim(); + maps\_utility::clear_generic_run_anim(); + if(!common_scripts\utility::flag("FlagSafehouseMeleeKillInitiated")) + { + maps\_hms_utility::printlnscreenandconsole("MISSION FAIL - KVA ALERTED!!!"); + thread maps\greece_safehouse_vo::safehousefailkvaalerted(); + wait(1); + common_scripts\utility::flag_set("FlagSafehouseHideHint"); + setdvar("ui_deadquote",&"GREECE_DRONE_ALERT_FAIL"); + maps\_utility::missionfailedwrapper(); + } +} + +//Function Number: 113 +marketkvafollowtargetalertmonitor() +{ + self endon("death"); + level endon("SafehouseTakedownAlert"); + level endon("PlayerInitiateKeyManKill"); + for(;;) + { + if(level.player istouching(self)) + { + break; + } + + wait 0.05; + } + + level notify("SafehouseTakedownAlert"); +} + +//Function Number: 114 +safehousecourtyardsightwatch() +{ + self endon("death"); + level endon("SafehouseTakedownAlert"); + level endon("PlayerInitiateKeyManKill"); + var_00 = getent("TrigKVACourtyardAlert","targetname"); + for(;;) + { + if(self cansee(level.player)) + { + break; + } + + if(level.player istouching(var_00)) + { + break; + } + + wait 0.05; + } + + level notify("SafehouseTakedownAlert"); +} + +//Function Number: 115 +safehousefollowplayernotifies() +{ + level endon("lazy_mission_end"); + common_scripts\utility::flag_wait("FlagTriggerPlayerMidMarket"); + level.player notify("NotifyPlayerReachedMidMarket"); + common_scripts\utility::flag_wait("FlagTriggerPlayerEnterAlley"); + level.player notify("NotifyPlayerReachedAlley"); + wait(1); + thread maps\_utility::autosave_by_name("safehouse_market_alley"); + common_scripts\utility::flag_wait("FlagTriggerStartTakedownTimer"); + level.player notify("NotifyPlayerReachedCourtyard"); +} + +//Function Number: 116 +safehousebackyarddamagetriggers() +{ + var_00 = getentarray("SafehouseBackyardDamageDetectionTrig","targetname"); + foreach(var_02 in var_00) + { + var_02 thread safehousebackyardalertmonitoron(); + var_02 thread safehousebackyardalertmonitoroff(); + } +} + +//Function Number: 117 +safehousebackyarddamagetriggerstoggle() +{ + level.bplayerisinsidesafehouse = 0; + var_00 = getentarray("SafehousePlayerIsInsideTrigger","targetname"); + var_01 = getentarray("SafehousePlayerIsOutsideTrigger","targetname"); + foreach(var_03 in var_01) + { + var_03 common_scripts\utility::trigger_off(); + } + + common_scripts\utility::array_thread(var_00,::safehousebackyarddamagetriggerwaits,1,var_01); + common_scripts\utility::array_thread(var_01,::safehousebackyarddamagetriggerwaits,0,var_00); +} + +//Function Number: 118 +safehousebackyarddamagetriggerwaits(param_00,param_01) +{ + for(;;) + { + self waittill("trigger",var_02); + level.bplayerisinsidesafehouse = param_00; + foreach(var_04 in param_01) + { + var_04 common_scripts\utility::trigger_on(); + } + + wait 0.05; + } +} + +//Function Number: 119 +safehousebackyardalertmonitoron() +{ + for(;;) + { + self waittill("trigger"); + if(level.bplayerisinsidesafehouse == 0) + { + common_scripts\utility::flag_set("FlagSafehouseBackyardFail"); + thread maps\greece_safehouse_vo::safehousefailcoverblown(); + wait(1); + maps\_hms_utility::printlnscreenandconsole("MISSION FAIL - AUTHORITIES ALERTED!!!"); + if(common_scripts\utility::flag("FlagClearSafehouseComplete") || common_scripts\utility::flag("FlagSafeHouseTransitionStart")) + { + setdvar("ui_deadquote",&"GREECE_SAFEHOUSE_POLICE_FAIL"); + maps\_utility::missionfailedwrapper(); + } + else + { + setdvar("ui_deadquote",&"GREECE_DRONE_ALERT_FAIL"); + } + + maps\_utility::missionfailedwrapper(); + } + + wait 0.05; + } +} + +//Function Number: 120 +safehousebackyardalertmonitoroff() +{ + common_scripts\utility::flag_wait("FlagSafeHouseOutroStart"); + common_scripts\utility::trigger_off(); +} + +//Function Number: 121 +safehousetakedownreturnplayercontrol(param_00,param_01) +{ + wait(param_00); + level.player unlink(); + param_01 delete(); + level.player showviewmodel(); + level.player giveweapon("iw5_titan45_sp_opticsreddot_silencerpistol"); + level.player switchtoweaponimmediate("iw5_titan45_sp_opticsreddot_silencerpistol"); + level.player enableweaponswitch(); + thread maps\_utility::autosave_by_name("safehouse_courtyard_takedown"); + common_scripts\utility::flag_set("FlagSafehouseCourtyardTakedownComplete"); + wait(0.5); + common_scripts\utility::flag_set("FlagSetObjClearSafehouse"); + level.player notify("CancelMoveSpeedScale"); + wait 0.05; + level.player playerchangemode("stealth_combat"); + level.player thread playerrubberbandmovespeedscale(level.allies["Ilona"],0.3,1,50,300); + thread safehousebackyarddamagetriggers(); + thread safehousebackyarddamagetriggerstoggle(); +} + +//Function Number: 122 +safehousekvafollowtargetdeath(param_00) +{ + wait(param_00); + maps\greece_code::kill_no_react(); + common_scripts\utility::flag_set("FlagFollowTargetKilled"); +} + +//Function Number: 123 +marketkvafollowtargetbuttoncapture(param_00) +{ + self endon("death"); + level endon("KVAFollowTargetAlerted"); + var_01 = getent("UseTriggerKillKVAfollowTarget","targetname"); + thread marketkvafollowtargetbuttonhint(var_01); + var_01 sethintstring(&"GREECE_SAFEHOUSE_EXECUTE_PROMPT"); + thread marketkvafollowtargetmeleecheck(var_01); + common_scripts\utility::flag_wait("FlagSafehouseMeleeKillInitiated"); + param_00 notify("StartSafehouseTakedown"); + var_01 delete(); +} + +//Function Number: 124 +marketkvafollowtargetmeleecheck(param_00) +{ + level endon("KVAFollowTargetAlerted"); + for(;;) + { + var_01 = distance2d(level.player.origin,param_00.origin); + if(var_01 <= 72 && level.player meleebuttonpressed()) + { + break; + } + + wait 0.05; + } + + common_scripts\utility::flag_set("FlagSafehouseMeleeKillInitiated"); + common_scripts\utility::flag_set("init_safehouse_melee_kill_initiated_post"); +} + +//Function Number: 125 +marketkvafollowtargetbuttonhint(param_00) +{ + self endon("death"); + var_01 = level.kvafollowtarget maps\_shg_utility::hint_button_tag("melee","j_spine4",70,200,undefined,param_00); + common_scripts\utility::flag_wait_either("FlagSafehouseMeleeKillInitiated","FlagClearObjFollowTarget"); + var_01 maps\_shg_utility::hint_button_clear(); +} + +//Function Number: 126 +safehouseenemyinit(param_00) +{ + self.maxvisibledist = 0.1; + self.health = 1; + maps\_utility::set_goalradius(32); + maps\_utility::enable_cqbwalk(); + maps\_utility::enable_dontevershoot(); + self.battlechatter = 0; + maps\_utility::set_ignoreall(1); + if(param_00 == 1) + { + maps\_utility::gun_remove(); + } + + self.grenadeammo = 0; +} + +//Function Number: 127 +safehouseenemiesignoreplayer(param_00) +{ + if(param_00 == 1) + { + createthreatbiasgroup("player_safehouse"); + self setthreatbiasgroup("player_safehouse"); + setignoremegroup("player_safehouse","axis"); + return; + } + + self setthreatbiasgroup(); +} + +//Function Number: 128 +safehousetvdestructible() +{ + var_00 = getent("safehouse_tv_screen","targetname"); + var_01 = getent("safehouse_tv_glass","targetname"); + var_01 soundscripts\_snd::snd_message("mhunt_tv_broadcast"); + var_02 = getent("safehouse_tv_light_primary","script_noteworthy"); + var_03 = getent("safehouse_tv_light_secondary","script_noteworthy"); + var_04 = "greece_safehouse_tv_destroyed_glass"; + var_05 = "greece_safehouse_tv_screen_static"; + precachemodel(var_04); + precachemodel(var_05); + var_01 setcandamage(1); + var_01 common_scripts\utility::waittill_any("damage","SonicAoEDamage"); + var_01 setmodel(var_04); + var_00 setmodel(var_05); + var_03 setlightintensity(0); + var_02 setlightintensity(0.25); + var_01 soundscripts\_snd::snd_message("mhunt_tv_dest_expl"); + var_06 = getent("SafehousePlanningOrg","targetname"); + var_06 notify("fail_left"); + var_06 notify("fail_right"); + level notify("SafehousePlanningGuardsAlerted"); +} + +//Function Number: 129 +safehouseilanaweaponshot() +{ + common_scripts\utility::flag_wait("FlagFollowTargetUnmarked"); + maps\_utility::clear_run_anim(); + maps\_utility::clear_generic_idle_anim(); + maps\_utility::enable_cqbwalk(); +} + +//Function Number: 130 +safehouseilanaopendooridle() +{ + var_00 = "keycard_door_open_in"; + var_01 = "keycard_door_open_idle"; + var_02 = common_scripts\utility::getstruct("safehousekill","targetname"); + var_03 = level.allies["Ilona"]; + var_04 = maps\_utility::spawn_anim_model("keycard",var_02.origin); + var_03.keycard = var_04; + var_05 = [var_03,var_04]; + var_04 hide(); + var_02 maps\_anim::anim_single(var_05,var_00); + var_02 thread maps\_anim::anim_loop(var_05,var_01,"EndKeycardIdle"); + common_scripts\utility::flag_wait("FlagTriggerPlayerNearBackDoor"); + level notify("SafehousePlayerNearEntrance"); + common_scripts\utility::flag_set("IlanaSafehouseDoorIdleStart"); + if(!common_scripts\utility::flag("FlagSafehouseBackyardFail")) + { + thread maps\_utility::autosave_by_name("safehouse_door_entry"); + } +} + +//Function Number: 131 +safehouseilanaopensafehousedoor() +{ + common_scripts\utility::flag_wait("IlanaSafehouseDoorIdleStart"); + var_00 = "keycard_door_open"; + var_01 = "keycard_wall_idle"; + var_02 = "safehouse_enter"; + var_03 = common_scripts\utility::getstruct("safehousekill","targetname"); + var_04 = level.allies["Ilona"]; + var_05 = var_04.keycard; + var_06 = getent("safehouse_door","targetname"); + var_07 = getent("safehouse_door_collision","targetname"); + var_08 = [var_06,var_05]; + var_03 notify("EndKeycardIdle"); + var_03 thread maps\_anim::anim_single(var_08,var_00); + var_03 maps\_anim::anim_single_solo(var_04,var_00); + var_03 thread maps\_anim::anim_loop_solo(var_04,var_01,"stopIdleLoop"); + var_07 connectpaths(); + var_09 = getaiarray("axis"); + foreach(var_0B in var_09) + { + var_0B thread maps\_variable_grenade::handle_detection(); + } + + common_scripts\utility::flag_wait("FlagTriggerPlayerEnterSafehouse"); + thread safehouseplayermovespeedscale1stfloor(); + var_03 notify("stopIdleLoop"); + var_0D = maps\_utility::spawn_anim_model("threat_grenade"); + var_0D hide(); + wait(0.1); + var_03 thread maps\_anim::anim_single_solo(var_04,"threat_grenade_npc"); + var_0E = getent("IlanathreatGrenadeOrg","targetname"); + var_0E thread maps\_variable_grenade::detection_grenade_think(level.player,3000,undefined,15); + soundscripts\_snd::snd_message("start_threat_grenade_mixer"); + var_03 maps\_anim::anim_single_solo(var_0D,"threat_grenade_npc"); + var_03 thread maps\_anim::anim_loop_solo(var_04,var_01,"stopIdleLoop"); + thread safehouseremovethreatgrenade(var_0D); + common_scripts\utility::flag_set("FlagSafehouseThreatGrenadeDetonated"); + common_scripts\utility::flag_wait("FlagKVASafehousePatrollerDeath"); + soundscripts\_snd::snd_message("start_safehouse_guard_01_music"); + thread safehouseilanaplanningguardsearlykill(); + var_03 notify("stopIdleLoop"); + var_03 maps\_anim::anim_single_solo(var_04,var_02); + if(!common_scripts\utility::flag("FlagSafehousePlanningGuardRightKilled") && !common_scripts\utility::flag("FlagSafehousePlanningGuardLeftKilled")) + { + var_03 thread maps\_anim::anim_loop_solo(var_04,"safehouse_enter_idle","stopEnterIdleLoop"); + level notify("SafehouseIlanaStartedPlanningGuardsIdle"); + common_scripts\utility::flag_wait_either("FlagSafehousePlanningGuardRightKilled","FlagSafehousePlanningGuardLeftKilled"); + thread safehouseilanastairway(); + } +} + +//Function Number: 132 +safehouseilanaplanningguardsearlykill() +{ + level endon("SafehouseIlanaStartedPlanningGuardsIdle"); + var_00 = maps\_utility::get_living_ai("PlanningGuard_left","script_noteworthy"); + var_01 = maps\_utility::get_living_ai("PlanningGuard_right","script_noteworthy"); + common_scripts\utility::flag_wait_any("FlagSafehousePlanningGuardRightKilled","FlagSafehousePlanningGuardLeftKilled"); + level.allies["Ilona"] maps\_utility::anim_stopanimscripted(); + wait 0.05; + thread maps\_hms_utility::allyredirectgotonode("Ilona","IlanaSafehouseSecondRoomWait"); + if(common_scripts\utility::flag("FlagSafehousePlanningGuardRightKilled")) + { + level.allies["Ilona"] maps\greece_code::shootguy(var_00,1,1); + } + else if(common_scripts\utility::flag("FlagSafehousePlanningGuardLeftKilled")) + { + level.allies["Ilona"] maps\greece_code::shootguy(var_01,1,1); + } + + common_scripts\utility::flag_wait("FlagFirstFloorSafehouseKVAkilled"); + thread safehouseilanastairway(); +} + +//Function Number: 133 +safehouseplayermovespeedscale1stfloor() +{ + common_scripts\utility::flag_wait("FlagTriggerPlayerEnterFirstRoom"); + var_00 = maps\_utility::get_living_ai("KVAsafehousePatroller_AI","targetname"); + if(isdefined(var_00) && isalive(var_00)) + { + level.player notify("CancelMoveSpeedScale"); + wait 0.05; + level.player thread playerrubberbandmovespeedscale(var_00,0.3,1,100,600); + } + + common_scripts\utility::flag_wait("FlagKVASafehousePatrollerDeath"); + var_01 = getent("FirstFloorSpeedScaleOrg","targetname"); + level.player notify("CancelMoveSpeedScale"); + wait 0.05; + level.player thread playerrubberbandmovespeedscale(var_01,0.3,1,150,900); + common_scripts\utility::flag_wait("FlagSafehouseIlanaAtStairs"); + level.player notify("CancelMoveSpeedScale"); + wait 0.05; + level.player thread playerrubberbandmovespeedscale(level.allies["Ilona"],0.3,1,50,300); +} + +//Function Number: 134 +safehouseplayermovespeedscale2ndfloor() +{ + common_scripts\utility::flag_wait("FlagTriggerSafehousePlayerPastCouch"); + var_00 = getent("SecondFloorSpeedScaleOrg","targetname"); + level.player notify("CancelMoveSpeedScale"); + wait 0.05; + level.player thread playerrubberbandmovespeedscale(var_00,0.3,1,150,900); +} + +//Function Number: 135 +safehousedoorplayerblocker() +{ + var_00 = getent("SafehouseDoorPlayerBlocker","targetname"); + level waittill("SafehousePlayerBlockerDelete"); + if(isdefined(var_00)) + { + var_00 notsolid(); + var_00 delete(); + } +} + +//Function Number: 136 +safehouseremovethreatgrenade(param_00) +{ +} + +//Function Number: 137 +safehouseforceopensafehousedoor() +{ + var_00 = "keycard_door_open"; + var_01 = getent("safehouse_door","targetname"); + var_02 = getent("safehouse_door_collision","targetname"); + var_01 setanim(var_01 maps\_utility::getanim(var_00)); + var_01 safehousedoorsetlocked(0); + var_02 connectpaths(); +} + +//Function Number: 138 +safehousedoorinit() +{ + var_00 = getent("safehouse_door","targetname"); + var_00.animname = "keycard_door"; + var_00 maps\_utility::assign_animtree("keycard_door"); + var_01 = getent("safehouse_door_collision","targetname"); + var_01 linkto(var_00,"jo_door_l"); + var_01 disconnectpaths(); + var_02 = common_scripts\utility::getstruct("safehousekill","targetname"); + var_02 maps\_anim::anim_first_frame_solo(var_00,"keycard_door_open"); + var_00 safehousedoorsetlocked(1); +} + +//Function Number: 139 +safehousedoorsetlocked(param_00) +{ + if(param_00) + { + self hidepart("TAG_PANEL_UNLOCKED"); + self showpart("TAG_PANEL_LOCKED"); + return; + } + + self hidepart("TAG_PANEL_LOCKED"); + self showpart("TAG_PANEL_UNLOCKED"); +} + +//Function Number: 140 +safehousedoorunlockednotetrack(param_00) +{ + var_01 = getent("safehouse_door","targetname"); + var_01 safehousedoorsetlocked(0); +} + +//Function Number: 141 +safehouseilanaclearsafehouse() +{ + thread safehouseilanaopensafehousedoor(); + common_scripts\utility::flag_wait("FlagTriggerSpawnSafehouseGuards"); + thread spawnkvasafehouseguards(); + level.allies["Ilona"] maps\_utility::enable_cqbwalk(); + var_00 = level.allies["Ilona"].grenadeammo; + level.allies["Ilona"].grenadeammo = 0; + common_scripts\utility::flag_set("FlagIlanaEnterSafehouse"); + common_scripts\utility::flag_wait("FlagClearSafehouseComplete"); + thread safehouseilanatransition(); + level.player thread playerchangemode("full_combat"); + level.player notify("CancelMoveSpeedScale"); + level.allies["Ilona"] maps\_utility::disable_cqbwalk(); + level.allies["Ilona"].ignoreall = 0; + level.allies["Ilona"].grenadeammo = var_00; + common_scripts\utility::flag_wait("FlagTriggerPlayerExitAfterBagdrop"); +} + +//Function Number: 142 +safehouseilanastairway() +{ + var_00 = level.allies["Ilona"]; + var_01 = getent("safehouse_pillow","targetname"); + var_01.animname = "safehouse_pillow"; + var_01 maps\_utility::assign_animtree("safehouse_pillow"); + var_01 show(); + var_02 = common_scripts\utility::getstruct("safehousekill","targetname"); + thread safehouseplayermovespeedscale2ndfloor(); + if(common_scripts\utility::flag("FlagFirstFloorSafehouseKVAkilled")) + { + var_02 maps\_anim::anim_reach_solo(var_00,"safehouse_enter2_alt"); + common_scripts\utility::flag_set("FlagSafehouseIlanaAtStairs"); + var_02 thread maps\_anim::anim_single_solo(var_01,"safehouse_enter2_alt"); + var_02 maps\_anim::anim_single_solo(var_00,"safehouse_enter2_alt"); + } + else + { + common_scripts\utility::flag_set("FlagSafehouseIlanaAtStairs"); + var_02 notify("stopEnterIdleLoop"); + var_02 thread maps\_anim::anim_single_solo(var_01,"safehouse_enter2"); + var_02 maps\_anim::anim_single_solo(var_00,"safehouse_enter2"); + } + + safehousesleepingguardanimcheck(var_02); + var_02 thread maps\_anim::anim_loop_solo(var_00,"safehouse_enter2_idle","StopIlanaEnter2Idle"); + common_scripts\utility::flag_wait("FlagPacingNpcDeath"); + var_02 notify("StopIlanaEnter2Idle"); + var_02 maps\_anim::anim_single_solo(var_00,"safehouse_enter3"); + if(!common_scripts\utility::flag("FlagPlayerUsedSafehouseComputer")) + { + var_02 thread maps\_anim::anim_loop_solo(var_00,"safehouse_enter3_idle","StopIlanaEnter3Idle"); + } +} + +//Function Number: 143 +safehouseilanabagdropwait() +{ + common_scripts\utility::flag_wait("FlagSafeHouseTransitionStart"); + var_00 = level.allies["Ilona"]; + var_01 = common_scripts\utility::getstruct("safehousekill","targetname"); + var_01 maps\_anim::anim_single_solo(var_00,"safehouse_enter3"); + if(!common_scripts\utility::flag("FlagComputerInteractComplete")) + { + var_01 thread maps\_anim::anim_loop_solo(var_00,"safehouse_enter3_idle","StopIlanaEnter3Idle"); + } +} + +//Function Number: 144 +safehouseilanaexitstairs() +{ + var_00 = getent("IlanaStairsAnimOrg","targetname"); + var_01 = level.allies["Ilona"]; + var_00 maps\_anim::anim_reach_solo(var_01,"exit_stairs"); + var_00 maps\_anim::anim_single_solo(var_01,"exit_stairs"); + var_00 thread maps\_anim::anim_loop_solo(var_01,"exit_1stfloor_idle","stop_1stfloor_idle"); + common_scripts\utility::flag_wait("FlagTriggerExitPlayerComingDownStairs"); + level notify("SafehousePlayerBlockerDelete"); + var_00 notify("stop_1stfloor_idle"); + var_00 maps\_anim::anim_single_solo(var_01,"exit_1stfloor_all"); + thread maps\_hms_utility::allyredirectgotonode("Ilona","IlanaSafehouseExitDoorwayWait"); +} + +//Function Number: 145 +safehouseilanasonicexocheck(param_00) +{ + level waittill("SonicAoEStarted"); + param_00 notify("stop_arch_idle"); + common_scripts\utility::flag_set("SonicIntroCheckActivated"); +} + +//Function Number: 146 +safehouseilanatransition() +{ + var_00 = getent("IlanaTransitionAnimOrg","targetname"); + var_01 = "room3_transition_out"; + var_02 = level.allies["Ilona"]; + if(common_scripts\utility::flag("FlagSafehouseIlanaTransitionIdleStarted")) + { + var_00 notify("stopIdleLoop"); + var_00 maps\_anim::anim_single_solo(var_02,var_01); + } +} + +//Function Number: 147 +safehouseremoveplayerblocker() +{ + var_00 = getent("SafehouseHorribleCatchKillPlayerBlocker","targetname"); + var_00 movez(-128,0.1); + var_00 delete(); +} + +//Function Number: 148 +safehouseplanningguards() +{ + thread safehouseplanningguard("right"); + thread safehouseplanningguard("left"); + thread safehouseilanasetupteamkill(); +} + +//Function Number: 149 +safehouseplanningguard(param_00,param_01) +{ + if(param_00 == "left") + { + var_02 = "right"; + } + else + { + var_02 = "left"; + } + + var_03 = "plan_idle"; + var_04 = "StopPlanningIdle_" + param_00; + var_05 = getent("SafehousePlanningOrg","targetname"); + var_06 = maps\_utility::get_living_ai("PlanningGuard_" + param_00,"script_noteworthy"); + var_06.animname = "planner_" + param_00; + var_06.default_health = var_06.health; + var_06.health = 100000; + var_06.fail_success_allowed = 1; + var_06.allowdeath = 1; + var_06.script_parameters = "planner_" + param_00; + var_06.fovcosine = cos(45); + var_06.grenadeawareness = 0; + var_06.ragdoll_immediate = 1; + var_06.diequietly = 1; + var_06 maps\_utility::forceuseweapon("iw5_kf5_sp_silencer01","primary"); + wait 0.05; + var_06 maps\_utility::gun_remove(); + var_06 endon("plan_anims_done"); + var_05 thread maps\_anim::anim_loop_solo(var_06,var_03,var_04); + if(param_00 == "right") + { + var_06 thread safehouseplanningguardsweapons("SafehousePlanningGuardRightPlanFail"); + } + else + { + var_06 thread safehouseplanningguardsweapons("SafehousePlanningGuardLeftPlanFail"); + } + + thread safehouseplanningguardfailwatch(var_05,var_06,param_00,var_02); + var_06 maps\_utility::set_ignoreall(1); + common_scripts\utility::flag_wait("FlagTriggerPlayerEnterSafehouse2"); + var_06 maps\_utility::set_ignoreall(0); + var_06 waittill("damage",var_07,var_08,var_09,var_0A,var_0B); + if(isdefined(var_08) && var_08 == level.player) + { + var_06 maps\greece_code::giveplayerchallengekillpoint(); + } + + common_scripts\utility::flag_set(var_06.script_deathflag); + var_06 setthreatdetection("disable"); + var_06 notify("fail_watch_end"); + var_05 notify(var_04); + var_05 notify("fail_" + var_02); + var_09 = var_09 * -1; + var_0C = vectordot((1,0,0),var_09); + var_03 = "plan_success"; + if(param_00 == "left") + { + if(var_0C <= 0.15 && var_0C >= -0.15) + { + var_03 = "plan_success_alt2"; + } + else if(var_0C <= -0.15) + { + var_03 = "plan_success_alt"; + } + } + else if(var_0C >= 0) + { + var_03 = "plan_success_alt"; + } + + var_05 maps\_anim::anim_single_solo(var_06,var_03); + var_06 maps\greece_code::kill_no_react(); +} + +//Function Number: 150 +safehouseplanningguardsweapons(param_00) +{ + wait(1); + var_01 = spawn("script_model",self.origin); + var_01 setmodel("npc_kf5_base_loot"); + var_01.origin = self gettagorigin("tag_weapon_right"); + var_01.angles = self gettagangles("tag_weapon_right"); + level waittill(param_00); + maps\_utility::gun_recall(); + var_01 delete(); +} + +//Function Number: 151 +safehouseplanningguardfailendnotetrack(param_00) +{ + param_00.fail_success_allowed = 0; + param_00.health = param_00.default_health; + param_00.allowdeath = 1; +} + +//Function Number: 152 +safehouseplanningguardfailwatch(param_00,param_01,param_02,param_03) +{ + param_01 endon("fail_watch_end"); + var_04 = "plan_fail"; + var_05 = "StopPlanningIdle_" + param_02; + var_06 = "fail_" + param_02; + var_07 = "fail_" + param_03; + param_01 thread safehouseguardsightwatch(param_00,var_06); + param_01 thread safehouseguardalertwatch(param_00,var_06,var_07); + param_01 thread safehouseguardtriggerwatch("TriggerSafehouseForceAlertPlanningGuards",param_00,var_06,0); + param_01 thread safehouseguardtriggerwatch("TriggerSafehouseAlertPlanningGuards",param_00,var_06,1); + param_01 maps\_utility::disable_surprise(); + param_00 waittill(var_06); + param_00 notify(var_05); + param_01.planning_fail = 1; + param_01.health = param_01.default_health; + param_01.allowdeath = 1; + level notify("SafehousePlanningGuardsAlerted"); + common_scripts\utility::flag_set("FlagSafehousePlanningGuardsAlerted"); + param_00 maps\_anim::anim_single_solo(param_01,var_04); + param_01.ignoreall = 0; + param_01 maps\_utility::disable_dontevershoot(); + param_01 notify("plan_anims_done"); + for(;;) + { + level endon("SafehousePlanningGuardsKilled"); + thread maps\greece_safehouse_vo::safehousefailkvaalerted(); + wait(1); + common_scripts\utility::flag_set("FlagSafehouseHideHint"); + maps\_hms_utility::printlnscreenandconsole("MISSION FAIL - KVA ALERTED!!!"); + setdvar("ui_deadquote",&"GREECE_DRONE_ALERT_FAIL"); + maps\_utility::missionfailedwrapper(); + } +} + +//Function Number: 153 +safehouseguardalertwatch(param_00,param_01,param_02) +{ + self endon("fail_watch_end"); + self endon("death"); + common_scripts\utility::waittill_any("bulletwhizby","gunshot","silenced_shot","projectile_impact"); + param_00 notify(param_01); + if(isdefined(param_02)) + { + param_00 notify(param_02); + } +} + +//Function Number: 154 +safehouseguardsightwatch(param_00,param_01) +{ + self endon("fail_watch_end"); + self endon("death"); + for(;;) + { + if(self cansee(level.player)) + { + break; + } + + wait 0.05; + } + + param_00 notify(param_01); +} + +//Function Number: 155 +safehouseguardtriggerwatch(param_00,param_01,param_02,param_03) +{ + self endon("fail_watch_end"); + self endon("death"); + var_04 = getent(param_00,"targetname"); + for(;;) + { + if(level.player istouching(var_04)) + { + if(param_03 == 1) + { + var_05 = level.player getstance(); + if(var_05 != "crouch" && var_05 != "prone") + { + break; + } + } + else + { + break; + } + } + + wait 0.05; + } + + param_01 notify(param_02); +} + +//Function Number: 156 +safehousepacingguardtriggerwatch(param_00) +{ + self endon("fail_watch_end"); + self endon("death"); + var_01 = getent("TriggerSafehouseAlertPacingGuard","targetname"); + for(;;) + { + if(level.player istouching(var_01)) + { + if(common_scripts\utility::flag("FlagSafehouseVideoChatEnded")) + { + var_02 = level.player getstance(); + if(var_02 != "crouch" && var_02 != "prone") + { + break; + } + } + else + { + break; + } + } + + wait 0.05; + } + + param_00 notify("PacingGuard"); +} + +//Function Number: 157 +safehouseilanasetupteamkill() +{ + var_00 = maps\_utility::get_living_ai("PlanningGuard_right","script_noteworthy"); + if(isdefined(var_00)) + { + var_00 thread maps\greece_code::bloodsprayexitwoundtrace(undefined,undefined,"tag_eye",1); + } + + var_01 = maps\_utility::get_living_ai("PlanningGuard_left","script_noteworthy"); + if(isdefined(var_01)) + { + var_01 thread maps\greece_code::bloodsprayexitwoundtrace(undefined,undefined,undefined,1); + } + + thread safehouseplanningguarddeathcheck(); + common_scripts\utility::flag_wait("FlagIlanaShootPlanningGuard"); + if(common_scripts\utility::flag("FlagFirstFloorSafehouseKVAkilled")) + { + return; + } + else + { + var_02 = level.allies["Ilona"] gettagorigin("TAG_WEAPON"); + if(common_scripts\utility::flag("FlagSafehousePlanningGuardRightKilled")) + { + magicbullet("iw5_sn6_sp_silencer01",var_02,var_01 geteye()); + } + else + { + magicbullet("iw5_sn6_sp_silencer01",var_02,var_00 geteye()); + } + } + + common_scripts\utility::flag_wait_all("FlagSafehousePlanningGuardRightKilled","FlagSafehousePlanningGuardLeftKilled"); + common_scripts\utility::flag_set("FlagFirstFloorSafehouseKVAkilled"); + level notify("SafehousePlanningGuardsKilled"); + thread maps\_utility::autosave_by_name("safehouse_first_floor_clear"); +} + +//Function Number: 158 +safehouseplanningguarddeathcheck() +{ + common_scripts\utility::flag_wait_all("FlagSafehousePlanningGuardRightKilled","FlagSafehousePlanningGuardLeftKilled"); + common_scripts\utility::flag_set("FlagFirstFloorSafehouseKVAkilled"); + level notify("SafehousePlanningGuardsKilled"); +} + +//Function Number: 159 +safehousemonitorbagdropinteract() +{ + level endon("SafehouseAlerted"); + var_00 = getent("UseTriggerSafehouseComputerInteract","targetname"); + var_00 makeusable(); + thread safehousemonitorbagdrophint(); + var_00 maps\_utility::addhinttrigger(&"GREECE_SAFEHOUSE_SUIT_UP",&"GREECE_SAFEHOUSE_SUIT_UP_KB"); + var_00 waittill("trigger",var_01); + level.player notify("CancelMoveSpeedScale"); + var_00 delete(); + common_scripts\utility::flag_set("FlagPlayerUsedSafehouseComputer"); +} + +//Function Number: 160 +safehousemonitorbagdrophint() +{ + var_00 = getent("ComputerInteractObj","targetname"); + var_01 = maps\_shg_utility::hint_button_position("use",var_00.origin,128); + common_scripts\utility::flag_wait_either("FlagPlayerUsedSafehouseComputer","FlagSafehouseHideHint"); + var_01 maps\_shg_utility::hint_button_clear(); +} + +//Function Number: 161 +safehouseilanacheckdeckweapon() +{ + level waittill("SafehouseIlanaCheckDeckGunPlaced"); + maps\_utility::gun_remove(); + var_00 = spawn("script_model",self.origin); + var_00 setmodel("npc_titan45_base_loot"); + var_00 attach("weapon_silencer_01","TAG_SILENCER"); + var_00.origin = self gettagorigin("tag_weapon_right"); + var_00.angles = self gettagangles("tag_weapon_right"); +} + +//Function Number: 162 +safehousechangeclothes() +{ + var_00 = "bag_drop"; + var_01 = "drone_pre_launch"; + var_02 = "drone_launch"; + var_03 = "drone_post_launch"; + var_04 = []; + var_05 = []; + var_06 = []; + var_07 = common_scripts\utility::getstruct("BagDropOrg","targetname"); + var_08 = common_scripts\utility::getstruct("BagDropOrg","targetname"); + var_09 = level.allies["Ilona"]; + var_05 = common_scripts\utility::array_add(var_05,var_09); + var_09 notify("DeleteIlanaBackpack"); + var_08 notify("endCheckDeckIdle"); + var_0A = maps\_utility::spawn_anim_model("player_cafe_rig",var_07.origin); + var_0A hide(); + var_04 = common_scripts\utility::array_add(var_04,var_0A); + var_0B = maps\_utility::spawn_anim_model("backpack_drone_large",var_07.origin); + var_04 = common_scripts\utility::array_add(var_04,var_0B); + var_0C = maps\_utility::spawn_anim_model("backpack_drone_small",var_07.origin); + var_05 = common_scripts\utility::array_add(var_05,var_0C); + var_09 maps\_utility::gun_remove(); + level.player disableweapons(); + level.player allowcrouch(0); + level.player allowprone(0); + level.player givestartammo("iw5_titan45_sp_opticsreddot_silencerpistol"); + var_07 maps\_anim::anim_first_frame(var_04,var_00); + level.player playerlinktoblend(var_0A,"tag_player",0.4); + wait(0.4); + var_0A show(); + common_scripts\utility::flag_set("greece_safehouse_exso_dressup"); + var_07 thread maps\_anim::anim_single(var_04,var_00); + var_08 thread maps\_anim::anim_single(var_05,var_00); + var_0D = common_scripts\utility::getstruct("bagdropimpulse","targetname"); + wait(0.72); + physicsexplosionsphere(var_0D.origin,96,0,1.25); + var_0E = getent("greece_safehouse_penholder","targetname"); + var_0F = var_0E.origin; + var_10 = var_0E.angles; + var_11 = anglestoforward(var_10); + var_12 = anglestoup(var_10); + var_0E hide(); + playfx(level._effect["destp_penholder_dyndst"],var_0F,var_11,var_12); + maps\greece_safehouse_fx::sniperdroneprep(); + soundscripts\_snd::snd_message("safehouse_exo_trans_fade_out"); + maps\_hud_util::fade_out(1.75,"black"); + var_0B delete(); + var_13 = common_scripts\utility::getstruct("SafehouseSmallBackpackOrg","targetname"); + var_14 = spawn("script_model",var_13.origin); + var_14 setmodel("greece_duffelbag_rigged_empty"); + var_14.angles = var_13.angles; + level.allies["Ilona"] stopanimscripted(); + level.allies["Ilona"] delete(); + maps\_hms_utility::spawnandinitnamedally("Ilona",undefined,1,1,"IlanaSafehouseExoSuit"); + var_09 = level.allies["Ilona"]; + var_09 maps\_utility::gun_remove(); + level.player unlink(); + var_0A delete(); + wait 0.05; + var_15 = maps\_utility::spawn_anim_model("player_safehouse_rig",var_07.origin); + level.player playerlinktoblend(var_15,"tag_player",0.1); + wait(1.25); + var_16 = common_scripts\utility::getstruct("BagDropOrg2","targetname"); + var_17 = maps\_utility::spawn_anim_model("sniper_drone",var_07.origin); + var_06 = common_scripts\utility::array_add(var_06,var_17); + var_06 = common_scripts\utility::array_add(var_06,var_09); + var_0C delete(); + soundscripts\_snd::snd_message("start_sniper_drone_deploy"); + soundscripts\_snd::snd_message("balcony_sniper_drone_idle",var_17); + var_09.disablefacialfilleranims = 0; + var_16 thread maps\_anim::anim_single_solo(var_15,var_01); + var_16 thread maps\_anim::anim_loop(var_06,var_01,"StopDronePrelaunchIdle"); + soundscripts\_snd::snd_message("safehouse_exo_trans_fade_in"); + maps\_hud_util::fade_in(3,"black"); + common_scripts\utility::flag_set("greece_safehouse_exso_dressup_fadeout"); + var_16 waittill(var_01); + common_scripts\utility::flag_set("FlagConfCenterVOStart"); + level.player unlink(); + var_15 delete(); + level.player setviewmodel("viewhands_atlas_military"); + level.player giveweapon("iw5_hmr9_sp_variablereddot"); + level.player enableweapons(); + level.player allowcrouch(1); + level.player allowprone(1); + common_scripts\utility::flag_wait("FlagTriggerPlayerExitAfterBagdrop"); + playfxontag(common_scripts\utility::getfx("sniper_drone_fan_distortion"),var_17,"TAG_ORIGIN"); + maps\greece_safehouse_fx::dronedraftplants(); + maps\greece_safehouse_fx::ambientcloudsloadin(); + var_16 notify("StopDronePrelaunchIdle"); + var_06 = common_scripts\utility::array_remove(var_06,var_17); + var_17 thread safehousesniperdronelaunch(var_16,var_02); + var_17 thread safehousesniperdronecloaking(); + var_16 maps\_anim::anim_single(var_06,var_02); + var_16 thread maps\_anim::anim_loop_solo(level.allies["Ilona"],var_03,"StopSniperDroneLaunchIdle"); + thread safehouseenddronecontrolsetup(var_16,var_09,var_17); +} + +//Function Number: 163 +safehousesniperdronelaunch(param_00,param_01) +{ + param_00 maps\_anim::anim_single_solo(self,param_01); + if(level.currentgen) + { + self delete(); + } +} + +//Function Number: 164 +safehousesniperdronecloaking() +{ + level waittill("SafehouseDroneStartCloak"); + soundscripts\_snd::snd_message("wasp_cloak_on"); + self setmodel("vehicle_sniper_drone_cloak"); + self drawpostresolve(); + self setmaterialscriptparam(1,0.05); + wait(0.05); + self setmaterialscriptparam(0,3); +} + +//Function Number: 165 +safehouseenddronecontrolsetup(param_00,param_01,param_02) +{ + common_scripts\utility::flag_wait("FlagPlayerEndDroneControl"); + param_00 notify("StopSniperDroneLaunchIdle"); + param_01 stopanimscripted(); + param_01.disablefacialfilleranims = 0; + thread maps\_hms_utility::allyredirectgotonode("Ilona","IlanaSafehouseExitBalconyWait"); + if(isdefined(param_02)) + { + param_02 delete(); + } +} + +//Function Number: 166 +safehousesetupsniperdroneilana() +{ + var_00 = "drone_post_launch"; + var_01 = []; + var_02 = common_scripts\utility::getstruct("BagDropOrg2","targetname"); + var_03 = level.allies["Ilona"]; + var_04 = maps\_utility::spawn_anim_model("sniper_drone",var_02.origin); + var_04 thread safehousesniperdronecloaking(); + var_01 = common_scripts\utility::array_add(var_01,var_04); + var_01 = common_scripts\utility::array_add(var_01,var_03); + var_02 thread maps\_anim::anim_loop(var_01,var_00,"StopSniperDroneLaunchIdle"); + thread safehouseenddronecontrolsetup(var_02,var_03,var_04); + wait(2); + level notify("SafehouseDroneStartCloak"); +} + +//Function Number: 167 +safehousebeginexit() +{ + common_scripts\utility::flag_wait("FlagSafeHouseOutroStart"); + maps\_utility::lerp_fov_overtime(0.5,65); + thread safehousespawnwindowshooters(); + thread safehousespawnbackalleykva(); + thread safehousespawnbackalleyrooftopkva(); + thread safehouseilanasafehouseexit(); + thread safehouseexitautosaves(); + thread maps\greece_code::sunflareswap("sunflare_dim"); + thread safehousedoorplayerblocker(); + safehousetoggleexitflagtriggers(1); + maps\_utility::battlechatter_on("allies"); + maps\_utility::battlechatter_on("axis"); +} + +//Function Number: 168 +adsmonitor() +{ + for(;;) + { + if(level.player adsbuttonpressed()) + { + iprintln("ADS"); + } + + wait(1); + } +} + +//Function Number: 169 +safehouseexitautosaves() +{ + common_scripts\utility::flag_wait("FlagSafehouseExitKVADead"); + wait(1); + thread maps\_utility::autosave_now(); + common_scripts\utility::flag_wait_all("FlagSafehouseStairKVADead","FlagKickSafehouseExitGate"); + wait(1); + thread maps\_utility::autosave_now(); +} + +//Function Number: 170 +safehouseilanasafehouseexit() +{ + thread safehouseexit2floor(); + thread maps\_hms_utility::allyredirectgotonode("Ilona","IlanaSafehouseExitSecondFloorDoorwayWait"); + common_scripts\utility::flag_wait("FlagTriggerExitPlayerComingBackInside"); + safehouseilanaexitstairs(); + common_scripts\utility::flag_wait("FlagTriggerExitPlayerComingDownStairs"); + common_scripts\utility::flag_wait_either("FlagSpawnStairKVA","FlagSafehouseExitKVADead"); + thread maps\_hms_utility::allyredirectgotonode("Ilona","IlanaSafehouseExitOutsideWait"); + level.player playerchangemode("full_combat"); + level.player notify("CancelMoveSpeedScale"); + common_scripts\utility::flag_wait_either("FlagSpawnGateExitKVA","FlagSafehouseStairKVADead"); + thread maps\_hms_utility::allyredirectgotonode("Ilona","IlanaSafehouseExitAlleyWait"); +} + +//Function Number: 171 +setflagaftertime(param_00,param_01) +{ + wait(param_01); + common_scripts\utility::flag_set(param_00); +} + +//Function Number: 172 +safehouseexit2floor() +{ + var_00 = common_scripts\utility::getstruct("BagDropOrg2","targetname"); + var_01 = "exit_2floor"; + var_02 = level.allies["Ilona"]; + var_02.disablefacialfilleranims = 1; + thread safehouseexit2floorviewmodel(); + var_00 thread maps\_anim::anim_first_frame_solo(var_02,var_01); + wait(0.65); + var_00 thread maps\_anim::anim_single_solo_run(var_02,var_01); + level waittill("NotifyIlonaExitGunShow"); + var_02 maps\_utility::gun_recall(); + var_02.disablefacialfilleranims = 0; +} + +//Function Number: 173 +safehouseexit2floorviewmodel() +{ + var_00 = common_scripts\utility::getstruct("BagDropOrg2","targetname"); + var_01 = "exit_2floor"; + var_02 = maps\_utility::spawn_anim_model("player_safehouse_rig"); + var_03 = maps\_utility::spawn_anim_model("drone_control_pad"); + var_04 = [var_02,var_03]; + level.player maps\_shg_utility::setup_player_for_scene(1); + var_00 maps\_anim::anim_first_frame(var_04,var_01); + level.player playerlinktoblend(var_02,"tag_player",0.4); + wait(0.4); + maps\_hud_util::fade_in(0.25,"white"); + wait(0.25); + level.player setblurforplayer(0,1); + var_00 maps\_anim::anim_single(var_04,var_01); + level.player unlink(); + var_02 delete(); + var_03 delete(); + level.player giveweapon("iw5_hmr9_sp_variablereddot"); + level.player switchtoweaponimmediate("iw5_hmr9_sp_variablereddot"); + maps\_variable_grenade::give_player_variable_grenade(); + foreach(var_06 in level.player getweaponslistoffhands()) + { + level.player setweaponammostock(var_06,4); + } + + level.player allowfire(1); + level.player allowads(1); + setsaveddvar("ammoCounterHide",0); + level.player allowsprint(0); + level.player allowdodge(0); + level.player allowprone(1); + level.player allowcrouch(1); + level.player allowstand(1); + level.player allowjump(1); + level.player enableoffhandweapons(); + level.player enableweapons(); + level.player allowmelee(1); + thread maps\_player_exo::player_exo_activate(); + level.player notify("CancelMoveSpeedScale"); + wait 0.05; + level.player thread playerrubberbandmovespeedscale(level.allies["Ilona"],0.5,1,100,300); + var_00 waittill(var_01); +} + +//Function Number: 174 +ilanaturn2exit() +{ + var_00 = getent("SafehouseTurn2ExitOrg","targetname"); + var_01 = "turn2exit"; + var_02 = level.allies["Ilona"]; + var_00 maps\_anim::anim_reach_solo(var_02,var_01); + var_00 maps\_anim::anim_single_solo_run(var_02,var_01); + thread maps\_hms_utility::allyredirectgotonode("Ilona","IlanaSafehouseExitDoorwayWait"); +} + +//Function Number: 175 +hintsafehouseexitsonicoff() +{ + return common_scripts\utility::flag("FlagSonicAoEActivated"); +} + +//Function Number: 176 +safehousetoggleexitflagtriggers(param_00) +{ + var_01 = getentarray("SafehouseExitFlagTrigger","targetname"); + foreach(var_03 in var_01) + { + if(param_00 == 1) + { + var_03 common_scripts\utility::trigger_on(); + continue; + } + + var_03 common_scripts\utility::trigger_off(); + } +} + +//Function Number: 177 +safehouseexittogglegates(param_00) +{ + var_01 = getent("SafehouseBackyardEntryGate","targetname"); + var_01.animname = "safehousegate"; + var_01 maps\_utility::assign_animtree("safehousegate"); + var_02 = getent("SafehouseBackyardEntryGateCollision","targetname"); + var_02 linkto(var_01,"jo_gate_door"); + switch(param_00) + { + case "open": + var_01 thread maps\_anim::anim_first_frame_solo(var_01,"market_marketgate_open"); + common_scripts\utility::flag_wait("FlagSafehouseCourtyardTakedownComplete"); + wait(0.5); + var_01 thread maps\_anim::anim_first_frame_solo(var_01,"market_marketgate_closed"); + common_scripts\utility::flag_set("FlagDeleteSafehouseCivilians"); + break; + + case "closed": + var_01 thread maps\_anim::anim_first_frame_solo(var_01,"market_marketgate_closed"); + break; + } +} + +//Function Number: 178 +safehousespawnwindowshooters() +{ + common_scripts\utility::flag_wait("FlagTriggerExitPlayerComingDownStairs"); + maps\_utility::array_spawn_function_targetname("SafehouseWindowShooters",::safehousewindowshooterthink); + maps\_utility::array_spawn_function_targetname("SafehouseWindowShooters",::_initsafehouseexitkvabehavior); + var_00 = maps\_utility::array_spawn_targetname("SafehouseWindowShooters"); + self endon("CancelMoveSpeedScale"); + wait 0.05; + level.player allowsprint(1); + level.player allowdodge(1); + level.player setmovespeedscale(1); +} + +//Function Number: 179 +safehousewindowshooterthink() +{ + self endon("death"); + var_00 = "Goal" + self.script_noteworthy; + var_01 = getent(var_00,"targetname"); + maps\_utility::set_goal_radius(32); + maps\_utility::set_goal_pos(var_01.origin); + var_02 = "Org" + self.script_noteworthy; + var_03 = getent(var_02,"targetname"); + self setentitytarget(var_03); + childthread safehousewindowshootermovetarget(var_03); + childthread safehousewindowshutterdestroy(); + childthread safehousewindowshootermonitor(); + common_scripts\utility::flag_wait_either("FlagWindowShootersBreakOut","FlagTriggerExitPlayerLeavingBuilding"); + self clearentitytarget(var_03); + wait 0.05; + var_04 = getent("WindowShooterVol","targetname"); + self setgoalvolume(var_04); + maps\_utility::set_favoriteenemy(level.player); + var_05 = "Goal" + self.script_noteworthy; + var_01 = getnode(var_05,"targetname"); + maps\_utility::set_goal_node(var_01); +} + +//Function Number: 180 +safehousewindowshootermovetarget(param_00) +{ + var_01 = param_00.origin; + for(;;) + { + var_02 = var_01 + (0,randomfloatrange(-16,16),randomfloatrange(-8,8)); + param_00 moveto(var_02,randomfloatrange(0.5,2)); + wait(randomfloatrange(0.1,0.5)); + } +} + +//Function Number: 181 +safehousewindowshutterdestroy() +{ + wait(randomfloatrange(0.1,0.3)); + thread maps\greece_safehouse_fx::safehousesonicdustfx(); + var_00 = getent("OrgWindowBlast","targetname"); + physicsexplosionsphere(var_00.origin,200,200,1); + var_01 = getentarray("SafehouseWindowShutter","targetname"); + maps\_utility::array_delete(var_01); +} + +//Function Number: 182 +safehousewindowshootermonitor() +{ + common_scripts\utility::waittill_either("damage","death"); + common_scripts\utility::flag_set("FlagWindowShootersBreakOut"); +} + +//Function Number: 183 +safehousespawnbackalleyrooftopkva() +{ + common_scripts\utility::flag_wait("FlagSpawnRooftopKVA"); + var_00 = maps\_utility::spawn_targetname("SafehouseRooftopKVA"); + var_00 maps\_utility::disable_long_death(); + var_01 = getent("RooftopKVAGoalVolume","targetname"); + var_00 maps\_utility::set_goal_radius(64); + var_00.grenadeammo = 0; +} + +//Function Number: 184 +safehousespawnbackalleykva() +{ + common_scripts\utility::flag_wait("FlagSpawnStairKVA"); + thread _spawntargetnamegotogoal("SafehouseExitCornerKVA","SafehouseExitCornerCover"); + thread _spawntargetnamegotogoal("SafehouseStairGuard","StairCover"); + common_scripts\utility::flag_wait("FlagSpawnGateExitKVA"); + thread _spawntargetnamegotogoal("ExitGateKVA","ExitGateCover"); +} + +//Function Number: 185 +_spawntargetnamegotogoal(param_00,param_01) +{ + var_02 = maps\_utility::spawn_targetname(param_00); + var_02 maps\_utility::set_goal_radius(64); + var_03 = getnode(param_01,"targetname"); + var_02 maps\_utility::set_goal_node(var_03); + var_02 thread _initsafehouseexitkvabehavior(); +} + +//Function Number: 186 +_initsafehouseexitkvabehavior() +{ + maps\_utility::disable_surprise(); + maps\_utility::set_ignoresuppression(1); + self.grenadeammo = 0; + maps\_utility::disable_long_death(); +} + +//Function Number: 187 +safehouseexitplayerjumpwatcher() +{ + level endon("FlagPlayerJumpWatcherStop"); + common_scripts\utility::flag_clear("FlagPlayerJumping"); + notifyoncommand("playerjump","+gostand"); + notifyoncommand("playerjump","+moveup"); + for(;;) + { + level.player waittill("playerjump"); + wait(0.1); + if(!level.player isonground()) + { + common_scripts\utility::flag_set("FlagPlayerJumping"); + } + + while(!level.player isonground()) + { + wait(0.05); + } + + common_scripts\utility::flag_clear("FlagPlayerJumping"); + } +} + +//Function Number: 188 +safehouseexitplayerleaps(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_02)) + { + param_02 = 0.965; + } + + if(!isdefined(param_03)) + { + param_03 = 1; + } + + if(!level.player istouching(param_00)) + { + return 0; + } + + if(level.player getstance() != "stand") + { + return 0; + } + + if(param_03 && level.player isonground()) + { + return 0; + } + + var_04 = level.player getplayerangles(); + var_04 = (0,var_04[1],0); + var_05 = anglestoforward(var_04); + var_06 = vectordot(var_05,param_01); + if(var_06 < param_02) + { + return 0; + } + + var_07 = level.player getvelocity(); + var_08 = distance((var_07[0],var_07[1],0),(0,0,0)); + if(var_08 < 162) + { + return 0; + } + + return 1; +} + +//Function Number: 189 +xslicefade() +{ + maps\_hud_util::start_overlay("black"); + wait(0.1); + maps\_hud_util::fade_in(1,"black"); +} + +//Function Number: 190 +cafegeeseflyinganimation() +{ + var_00 = getent("CafeGooseOrg","targetname"); + var_01 = maps\_utility::spawn_anim_model("goose_01"); + var_02 = maps\_utility::spawn_anim_model("goose_02"); + var_03 = maps\_utility::spawn_anim_model("goose_03"); + var_04 = [var_01,var_02,var_03]; + wait(2); + var_00 maps\_anim::anim_single(var_04,"market_intro_geese"); + maps\_utility::array_delete(var_04); +} + +//Function Number: 191 +cafecameraumbrella() +{ + var_00 = common_scripts\utility::getstruct("mitchel_blocker","targetname"); + var_01 = spawn("script_model",var_00.origin); + var_01 setmodel("lag_umbrella_01_b"); + common_scripts\utility::flag_wait("FlagSafeHouseFollowStart"); + var_01 delete(); +} \ No newline at end of file diff --git a/AW/PC/maps/greece_safehouse_anim.gsc b/AW/PC/maps/greece_safehouse_anim.gsc new file mode 100644 index 0000000..63744a1 --- /dev/null +++ b/AW/PC/maps/greece_safehouse_anim.gsc @@ -0,0 +1,461 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: greece_safehouse_anim.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 16 + * Decompile Time: 294 ms + * Timestamp: 4/22/2024 2:31:18 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + playersafehouseanimations(); + ilanasafehouseanimations(); + kvaguardanimations(); + civilianmarketanimations(); + precachescriptmodelanimations(); + precachevehicleanimations(); + animalanimations(); +} + +//Function Number: 2 +playersafehouseanimations() +{ + level.scr_animtree["player_cafe_rig"] = #animtree; + level.scr_model["player_cafe_rig"] = "vb_civilian_mitchell"; + level.scr_anim["player_cafe_rig"]["hms_greece_market_intro"] = %hms_greece_market_intro_vm; + maps\_anim::addnotetrack_notify("player_cafe_rig","free_cam","MarketIntroUnlockCamControl","hms_greece_market_intro"); + level.scr_anim["player_cafe_rig"]["hms_greece_market_intro_loop"][0] = %hms_greece_market_intro_loop_vm; + level.scr_anim["player_cafe_rig"]["hms_greece_market_intro_activate"] = %hms_greece_market_intro_activate_vm; + level.scr_anim["player_cafe_rig"]["hms_greece_market_outro"] = %hms_greece_market_outro_vm; + maps\_anim::addnotetrack_notify("player_cafe_rig","camera_dof","CafeTransitionBackFOV","hms_greece_market_outro"); + level.scr_anim["player_cafe_rig"]["safehouse_takedown"] = %hms_greece_safehouse_takedown_vm; + maps\_anim::addnotetrack_customfunction("player_cafe_rig","neck_snap",::maps\greece_safehouse::marketkvafollowtargetnecksnaprumble,"safehouse_takedown"); + level.scr_anim["player_cafe_rig"]["bag_drop"] = %hms_greece_safehouse_bagdrop_vm; + maps\_anim::addnotetrack_customfunction("player_cafe_rig","light_rumble",::safehousebagdroprumblelight,"bag_drop"); + level.scr_anim["player_cafe_rig"]["courtyard_takedown"] = %hms_greece_safehouse_courtyard_takedown_vm; + maps\_anim::addnotetrack_customfunction("player_cafe_rig","neck_snap",::maps\greece_safehouse::marketkvafollowtargetnecksnaprumble,"courtyard_takedown"); + level.scr_animtree["player_safehouse_rig"] = #animtree; + level.scr_model["player_safehouse_rig"] = "viewbody_atlas_military"; + level.scr_anim["player_safehouse_rig"]["drone_pre_launch"] = %hms_greece_safehouse_dronelaunch_fadeup_vm; + level.scr_anim["player_safehouse_rig"]["drone_launch_control_pad"] = %hms_greece_safehouse_dronelaunch_pad_vm; + level.scr_anim["player_safehouse_rig"]["exit_2floor"] = %hms_greece_safehouse_exit_2floor_vm; +} + +//Function Number: 3 +precachescriptmodelanimations() +{ + level.scr_animtree["keycard_door"] = #animtree; + level.scr_anim["keycard_door"]["keycard_door_open"] = %hms_greece_safehouse_keycard_door_open; + level.scr_goaltime["keycard_door"]["keycard_door_open"] = 0; + level.scr_animtree["backpack_drone_small"] = #animtree; + level.scr_model["backpack_drone_small"] = "backpack_drone_small"; + level.scr_anim["backpack_drone_small"]["bag_drop"] = %hms_greece_safehouse_bagdrop_backpack_npc; + level.scr_anim["backpack_drone_small"]["hms_greece_market_intro"] = %hms_greece_market_intro_backpack2; + level.scr_anim["backpack_drone_small"]["hms_greece_market_outro"] = %hms_greece_market_outro_backpack2; + level.scr_anim["backpack_drone_small"]["hms_greece_market_vendor_loop"][0] = %hms_greece_market_vendor_loop_backpack2; + level.scr_anim["backpack_drone_small"]["hms_greece_market_vendor_exit"] = %hms_greece_market_vendor_exit_backpack2; + level.scr_animtree["backpack_drone_large"] = #animtree; + level.scr_model["backpack_drone_large"] = "greece_duffelbag_rigged"; + level.scr_anim["backpack_drone_large"]["bag_drop"] = %hms_greece_safehouse_bagdrop_backpack_vm; + level.scr_anim["backpack_drone_large"]["hms_greece_market_intro"] = %hms_greece_market_intro_backpack1; + level.scr_anim["backpack_drone_large"]["hms_greece_market_outro"] = %hms_greece_market_outro_backpack1; + level.scr_animtree["sniper_drone"] = #animtree; + level.scr_model["sniper_drone"] = "vehicle_sniper_drone"; + level.scr_anim["sniper_drone"]["drone_pre_launch"][0] = %hms_greece_safehouse_dronelaunch_idle_drone; + level.scr_anim["sniper_drone"]["drone_launch"] = %hms_greece_safehouse_dronelaunch_drone; + maps\_anim::addnotetrack_notify("sniper_drone","cloak_on","SafehouseDroneStartCloak","drone_launch"); + level.scr_anim["sniper_drone"]["drone_post_launch"][0] = %hms_greece_safehouse_dronelaunch_drone_idle_hold; + level.scr_animtree["coffee_cup"] = #animtree; + level.scr_model["coffee_cup"] = "coffee_cup"; + level.scr_anim["coffee_cup"]["safehouse_pacing_npc"][0] = %hms_greece_safehouse_pacing_coffeecup; + level.scr_animtree["tea_cup"] = #animtree; + level.scr_anim["tea_cup"]["cafe_tea_time"][0] = %hms_greece_cafe_civ_sit_teasipper_cup; + level.scr_anim["tea_cup"]["hms_greece_market_intro"] = %hms_greece_market_intro_cup; + level.scr_anim["tea_cup"]["hms_greece_market_intro_loop"][0] = %hms_greece_market_intro_loop_cup; + level.scr_anim["tea_cup"]["hms_greece_market_outro"] = %hms_greece_market_outro_cup; + level.scr_animtree["palm_tree"] = #animtree; + level.scr_anim["palm_tree"]["light_sway"][0] = %palmtree_med1_sway; + level.scr_model["keycard"] = "security_keycard_01"; + level.scr_animtree["keycard"] = #animtree; + level.scr_anim["keycard"]["safehouse_takedown"] = %hms_greece_safehouse_takedown_keycard; + maps\_anim::addnotetrack_customfunction("keycard","visibility_on",::notetrackshow,"safehouse_takedown"); + maps\_anim::addnotetrack_customfunction("keycard","visibility_off",::notetrackhide,"safehouse_takedown"); + level.scr_anim["keycard"]["keycard_door_open"] = %hms_greece_safehouse_keycard_open; + maps\_anim::addnotetrack_customfunction("keycard","visibility_on",::notetrackshow,"keycard_door_open"); + maps\_anim::addnotetrack_customfunction("keycard","visibility_off",::notetrackhide,"keycard_door_open"); + level.scr_anim["keycard"]["keycard_door_open_in"] = %hms_greece_safehouse_keycard_prop_in; + level.scr_anim["keycard"]["keycard_door_open_idle"][0] = %hms_greece_safehouse_keycard_idle; + level.scr_model["threat_grenade"] = "vm_variable_grenade_nonlethal_paint"; + level.scr_animtree["threat_grenade"] = #animtree; + level.scr_anim["threat_grenade"]["threat_grenade_npc"] = %hms_greece_safehouse_threat_grenade; + maps\_anim::addnotetrack_customfunction("threat_grenade","visibility_on",::notetrackshow,"threat_grenade_npc"); + level.scr_anim["drone_control_pad"]["exit_2floor"] = %hms_greece_safehouse_exit_2floor_pad; + maps\_anim::addnotetrack_customfunction("drone_control_pad","tablet_touch2_fx",::maps\greece_safehouse_fx::outro_drone_tablet_touch_fx); + level.scr_animtree["cafe_control_pad"] = #animtree; + level.scr_model["cafe_control_pad"] = "greece_cafe_gps_pad"; + level.scr_anim["cafe_control_pad"]["hms_greece_market_intro"] = %hms_greece_market_intro_pad; + level.scr_anim["cafe_control_pad"]["hms_greece_market_intro_loop"][0] = %hms_greece_market_intro_loop_pad; + level.scr_anim["cafe_control_pad"]["hms_greece_market_intro_activate"] = %hms_greece_market_intro_activate_pad; + maps\_anim::addnotetrack_customfunction("cafe_control_pad","tablet_touch_fx",::maps\greece_safehouse_fx::intro_tablet_touch_fx); + level.scr_anim["cafe_control_pad"]["hms_greece_market_outro"] = %hms_greece_market_outro_pad; + maps\_anim::addnotetrack_customfunction("cafe_control_pad","tablet_touch2_fx",::maps\greece_safehouse_fx::outro_tablet_touch_fx); + level.scr_animtree["player_chair"] = #animtree; + level.scr_model["player_chair"] = "greece_cafe_chair_03_anim"; + level.scr_anim["player_chair"]["hms_greece_market_intro"] = %hms_greece_market_intro_chair1; + level.scr_anim["player_chair"]["hms_greece_market_outro"] = %hms_greece_market_outro_chair1; + level.scr_animtree["ilana_chair"] = #animtree; + level.scr_model["ilana_chair"] = "greece_cafe_chair_03_anim"; + level.scr_anim["ilana_chair"]["hms_greece_market_intro"] = %hms_greece_market_intro_chair2; + level.scr_anim["ilana_chair"]["hms_greece_market_outro"] = %hms_greece_market_outro_chair2; + level.scr_animtree["sitter_chair"] = #animtree; + level.scr_model["sitter_chair"] = "greece_cafe_chair_03_anim"; + level.scr_anim["sitter_chair"]["hms_greece_market_outro"] = %hms_greece_market_outro_chair3; + level.scr_animtree["lemon"] = #animtree; + level.scr_model["lemon"] = "fruit_single_lemon_01"; + level.scr_anim["lemon"]["market_shopper_loop"][0] = %hms_greece_market_vendor_fem_lemon; + level.scr_animtree["lemon01"] = #animtree; + level.scr_model["lemon01"] = "fruit_single_lemon_01"; + level.scr_anim["lemon01"]["market_vendor_lemons_loop"][0] = %hms_greece_market_vendor_lemon_01; + level.scr_animtree["lemon02"] = #animtree; + level.scr_model["lemon02"] = "fruit_single_lemon_01"; + level.scr_anim["lemon02"]["market_vendor_lemons_loop"][0] = %hms_greece_market_vendor_lemon_02; + level.scr_animtree["lemon03"] = #animtree; + level.scr_model["lemon03"] = "fruit_single_lemon_01"; + level.scr_anim["lemon03"]["market_vendor_lemons_loop"][0] = %hms_greece_market_vendor_lemon_03; + level.scr_animtree["lemon04"] = #animtree; + level.scr_model["lemon04"] = "fruit_single_lemon_01"; + level.scr_anim["lemon04"]["market_vendor_lemons_loop"][0] = %hms_greece_market_vendor_lemon_04; + level.scr_animtree["lemon05"] = #animtree; + level.scr_model["lemon05"] = "fruit_single_lemon_01"; + level.scr_anim["lemon05"]["market_vendor_lemons_loop"][0] = %hms_greece_market_vendor_lemon_05; + level.scr_animtree["broom"] = #animtree; + level.scr_model["broom"] = "greece_broom_01"; + level.scr_anim["broom"]["market_vendor_sweep_loop"][0] = %hms_greece_market_vendor_sweeper_broom; + maps\_anim::addnotetrack_customfunction("broom","broom_sweep",::maps\greece_safehouse_fx::broom_sweep_dust_fx); + level.scr_animtree["market_menu1"] = #animtree; + level.scr_animtree["market_menu2"] = #animtree; + level.scr_anim["market_menu1"]["cafe_meet_02_trans_in_guy1"] = %hms_greece_cafe_meet_02_trans_in_menu_m; + level.scr_anim["market_menu2"]["cafe_meet_02_trans_in_fem"] = %hms_greece_cafe_meet_02_trans_in_menu_f; + level.scr_anim["market_menu1"]["cafe_meet_02_loop_guy1"][0] = %hms_greece_cafe_meet_02_loop_menu_m; + level.scr_anim["market_menu2"]["cafe_meet_02_loop_fem"][0] = %hms_greece_cafe_meet_02_loop_menu_f; + level.scr_animtree["marketgate"] = #animtree; + level.scr_anim["marketgate"]["hms_greece_market_target_exit"] = %hms_greece_market_target_walk_exit_door; + level.scr_animtree["safehousegate"] = #animtree; + level.scr_anim["safehousegate"]["market_marketgate_open"] = %hms_greece_market_marketgate_open; + level.scr_anim["safehousegate"]["market_marketgate_closed"] = %hms_greece_market_marketgate_closed; + level.scr_animtree["vendorgate"] = #animtree; + level.scr_anim["vendorgate"]["hms_greece_market_vendor_exit"] = %hms_greece_market_vendor_exit_gate; + level.scr_animtree["greece_door_h"] = #animtree; + level.scr_anim["greece_door_h"]["courtyard_takedown"] = %hms_greece_safehouse_courtyard_takedown_door; + level.scr_animtree["safehouse_pillow"] = #animtree; + level.scr_anim["safehouse_pillow"]["safehouse_sleeping_guard_kill"] = %hms_greece_safehouse_enter2_death_pillow; + level.scr_anim["safehouse_pillow"]["safehouse_enter2"] = %hms_greece_safehouse_enter2_pillow; + level.scr_anim["safehouse_pillow"]["safehouse_enter2_alt"] = %hms_greece_safehouse_enter2_alt_pillow; + level.scr_anim["safehouse_pillow"]["safehouse_sleeping_guard_kill_alt"] = %hms_greece_safehouse_enter2_death_alt_pillow; + level.scr_animtree["greece_blimp"] = #animtree; + level.scr_model["greece_blimp"] = "greece_blimp_rigged"; + level.scr_anim["greece_blimp"]["market_intro_blimp"][0] = %hms_greece_market_intro_blimp; +} + +//Function Number: 4 +precachevehicleanimations() +{ + level.scr_animtree["scooter"] = #animtree; +} + +//Function Number: 5 +ilanasafehouseanimations() +{ + level.scr_anim["Ilona"]["hms_greece_market_intro"] = %hms_greece_market_intro_ilana; + maps\_anim::addnotetrack_notify("Ilona","dialog","MarketIlanaSayThanks","hms_greece_market_intro"); + level.scr_anim["Ilona"]["hms_greece_market_intro_loop"][0] = %hms_greece_market_intro_loop_ilana; + level.scr_anim["Ilona"]["hms_greece_market_outro"] = %hms_greece_market_outro_ilana; + maps\_anim::addnotetrack_flag("Ilona","start_vendor_couple","FlagStartMarketCouple","hms_greece_market_outro"); + maps\_anim::addnotetrack_flag("Ilona","start_pip","FlagStartCafeVideoLog","hms_greece_market_outro"); + level.scr_anim["Ilona"]["hms_greece_market_vendor_loop"][0] = %hms_greece_market_vendor_loop_ilana; + level.scr_anim["Ilona"]["hms_greece_market_vendor_exit"] = %hms_greece_market_vendor_exit_ilana; + level.scr_anim["Ilona"]["civilian_hurried_walk"][0] = %civilian_walk_hurried_1; + level.scr_anim["Ilona"]["civilian_hurried_walk"][1] = %civilian_walk_hurried_2; + level.scr_anim["Ilona"]["london_station_civ1_idle"][0] = %london_station_civ1_idle; + level.scr_anim["Ilona"]["london_loader1_idle"][0] = %london_loader1_idle; + level.scr_anim["Ilona"]["london_guard_idle1"][0] = %london_guard_idle1; + level.scr_anim["Ilona"]["london_guard_idle1"][1] = %london_guard_twitch_lookleft1; + level.scr_anim["Ilona"]["london_guard_idle1"][2] = %london_guard_twitch_lookright1; + level.scr_anim["Ilona"]["london_guard_idle1"][3] = %london_guard_twitch_stretch; + level.scr_animtree["Mitchell"] = #animtree; + level.scr_model["Mitchell"] = "body_complete_civilian_suit_male_1"; + level.scr_anim["Mitchell"]["Mitchell_scanning"][0] = %hms_greece_cafe_meet_02_loop_fem; + level.scr_anim["Ilona"]["keycard_door_open"] = %hms_greece_safehouse_keycard_npc; + maps\_anim::addnotetrack_customfunction("Ilona","door_unlock",::maps\greece_safehouse::safehousedoorunlockednotetrack,"keycard_door_open"); + maps\_anim::addnotetrack_notify("Ilona","remove_collisionbox","SafehousePlayerBlockerDelete","keycard_door_open"); + level.scr_anim["Ilona"]["keycard_door_open_in"] = %hms_greece_safehouse_keycard_in; + level.scr_anim["Ilona"]["keycard_door_open_idle"][0] = %hms_greece_safehouse_keycard_idle_npc; + level.scr_anim["Ilona"]["keycard_wall_idle"][0] = %hms_greece_safehouse_wall_idle_npc; + level.scr_anim["Ilona"]["wall_exit_npc"] = %hms_greece_safehouse_wall_exit_npc; + level.scr_anim["Ilona"]["safehouse_enter"] = %hms_greece_safehouse_enter_ilana; + level.scr_anim["Ilona"]["safehouse_enter_idle"][0] = %hms_greece_safehouse_enter_idle_ilana; + level.scr_anim["Ilona"]["safehouse_enter2"] = %hms_greece_safehouse_enter2_ilana; + maps\_anim::addnotetrack_flag("Ilona","fire_bullet","FlagIlanaShootPlanningGuard","safehouse_enter2"); + level.scr_anim["Ilona"]["safehouse_enter2_alt"] = %hms_greece_safehouse_enter2_alt_ilana; + level.scr_anim["Ilona"]["safehouse_enter2_idle"][0] = %hms_greece_safehouse_enter2_idle_ilana; + level.scr_anim["Ilona"]["threat_grenade_npc"] = %hms_greece_safehouse_threat_grenade_npc; + level.scr_anim["Ilona"]["safehouse_takedown"] = %hms_greece_safehouse_takedown_ally; + level.scr_anim["Victim"]["safehouse_takedown"] = %hms_greece_safehouse_takedown_enemy; + level.scr_anim["Victim"]["stand_flinch"] = %hms_greece_stand_flinch; + level.scr_anim["Ilona"]["courtyard_takedown_idle"][0] = %hms_greece_safehouse_courtyard_takedown_idle_ilana; + level.scr_anim["Ilona"]["courtyard_takedown"] = %hms_greece_safehouse_courtyard_takedown_ilana; + maps\_anim::addnotetrack_notify("Ilona","keycard_spawn","CourtyardTakedownSpawnKeycard","courtyard_takedown"); + maps\_anim::addnotetrack_notify("Ilona","keycard_hide","CourtyardTakedownHideKeycard","courtyard_takedown"); + maps\_anim::addnotetrack_notify("Ilona","unholster_weapon","CourtyardTakedownUnholsterWeapon","courtyard_takedown"); + level.scr_anim["Ilona"]["courtyard_takedown_enter"] = %hms_greece_safehouse_courtyard_takedown_enter_ilana; + level.scr_anim["Ilona"]["courtyard_takedown_fail"] = %hms_greece_safehouse_courtyard_takedown_fail_ilana; + level.scr_anim["KeyMan"]["courtyard_takedown_enter"] = %hms_greece_safehouse_courtyard_idle_enter_npc_1; + level.scr_anim["KeyMan"]["courtyard_takedown_idle"][0] = %hms_greece_safehouse_courtyard_idle_npc_1; + level.scr_anim["KeyMan"]["courtyard_takedown"] = %hms_greece_safehouse_courtyard_takedown_npc_1; + level.scr_anim["KeyMan"]["courtyard_takedown_fail"] = %hms_greece_safehouse_courtyard_takedown_fail_npc1; + maps\_anim::addnotetrack_customfunction("KeyMan","weapon_equip",::marketkvafollowtargetdrawgun,"courtyard_takedown_fail"); + level.scr_anim["Victim"]["courtyard_takedown"] = %hms_greece_safehouse_courtyard_takedown_npc; + level.scr_anim["Victim"]["courtyard_takedown_idle"][0] = %hms_greece_safehouse_courtyard_takedown_idle_npc; + level.scr_anim["Victim"]["courtyard_takedown_fail"] = %hms_greece_safehouse_courtyard_takedown_fail_npc; + maps\_anim::addnotetrack_customfunction("Victim","weapon_equip",::marketkvaambusherdrawgun,"courtyard_takedown_fail"); + level.scr_anim["Ilona"]["safehouse_sleeping_guard_kill_alt"] = %hms_greece_safehouse_enter2_kill_alt; + level.scr_anim["Ilona"]["safehouse_sleeping_guard_kill"] = %hms_greece_safehouse_enter2_kill_ilana; + level.scr_anim["KeyMan"]["hms_greece_market_target_walk"] = %hms_greece_market_target_walk_npc; + maps\_anim::addnotetrack_notify("KeyMan","Start_walker_03","MarketStartWalker03","hms_greece_market_target_walk"); + maps\_anim::addnotetrack_notify("KeyMan","Start_walker_07","MarketStartWalker07","hms_greece_market_target_walk"); + maps\_anim::addnotetrack_notify("KeyMan","Start_walker_08","MarketStartWalker08","hms_greece_market_target_walk"); + maps\_anim::addnotetrack_notify("KeyMan","AI_move_01","MarketStartAmbWalker01","hms_greece_market_target_walk"); + maps\_anim::addnotetrack_notify("KeyMan","AI_move_02","MarketStartAmbWalker02","hms_greece_market_target_walk"); + maps\_anim::addnotetrack_notify("KeyMan","AI_move_03","MarketStartAmbWalker03","hms_greece_market_target_walk"); + maps\_anim::addnotetrack_notify("KeyMan","AI_move_04","MarketStartAmbWalker04","hms_greece_market_target_walk"); + maps\_anim::addnotetrack_notify("KeyMan","AI_move_05","MarketStartAmbWalker05","hms_greece_market_target_walk"); + maps\_anim::addnotetrack_notify("KeyMan","AI_move_06","MarketStartAmbWalker06","hms_greece_market_target_walk"); + maps\_anim::addnotetrack_notify("KeyMan","AI_move_07","MarketStartAmbWalker07","hms_greece_market_target_walk"); + maps\_anim::addnotetrack_notify("KeyMan","AI_move_08","MarketStartAmbWalker08","hms_greece_market_target_walk"); + maps\_anim::addnotetrack_notify("KeyMan","AI_move_09","MarketStartAmbWalker09","hms_greece_market_target_walk"); + maps\_anim::addnotetrack_notify("KeyMan","AI_move_10","MarketStartAmbWalker10","hms_greece_market_target_walk"); + maps\_anim::addnotetrack_notify("KeyMan","AI_move_11","MarketStartAmbWalker11","hms_greece_market_target_walk"); + level.scr_anim["KeyMan"]["hms_greece_market_target_idle"][0] = %hms_greece_market_target_idle_npc; + level.scr_anim["KeyMan"]["hms_greece_market_target_exit"] = %hms_greece_market_target_walk_exit_npc; + maps\_anim::addnotetrack_notify("KeyMan","Gate_open","MarketTargetEscaped","hms_greece_market_target_exit"); + level.scr_anim["KeyMan"]["civilian_stand_idle"][0] = %civilian_stand_idle; + level.scr_anim["KeyMan"]["civilian_cool_walk"][0] = %civilian_walk_cool; + level.scr_anim["Ilona"]["safehouse_enter3"] = %hms_greece_safehouse_enter3_ilana; + level.scr_anim["Ilona"]["safehouse_enter3_idle"][0] = %hms_greece_safehouse_enter3_idle_ilana; + level.scr_anim["Ilona"]["bag_drop"] = %hms_greece_safehouse_bagdrop_npc; + level.scr_anim["Ilona"]["drone_pre_launch"][0] = %hms_greece_safehouse_dronelaunch_idle_npc; + level.scr_anim["Ilona"]["drone_launch"] = %hms_greece_safehouse_dronelaunch_npc; + maps\_anim::addnotetrack_flag("Ilona","dialog","FlagSniperDroneLaunched","drone_launch"); + level.scr_anim["Ilona"]["drone_post_launch"][0] = %hms_greece_safehouse_dronelaunch_idle2_npc; + level.scr_anim["Ilona"]["stairsclimb_arch_in"] = %hms_greece_safehouse_stairsclimb_arch_in; + level.scr_anim["Ilona"]["stairsclimb"] = %hms_greece_safehouse_stairsclimb_stairs; + level.scr_anim["Ilona"]["room3_transition_out"] = %hms_greece_safehouse_room3_ilana_exitcover; + level.scr_anim["Ilona"]["room3_transition_idle"][0] = %hms_greece_safehouse_room3_ilana_idlecover; + level.scr_anim["Ilona"]["turn2exit"] = %hms_greece_safehouse_turn2exit_ilana; + level.scr_anim["Ilona"]["exit_stairs"] = %hms_greece_safehouse_exit_stairs; + level.scr_anim["Ilona"]["exit_2floor"] = %hms_greece_safehouse_exit_2floor_npc; + maps\_anim::addnotetrack_notify("Ilona","dialog","NotifyIlonaExitDialog","exit_2floor"); + maps\_anim::addnotetrack_notify("Ilona","toggle_gun_vis","NotifyIlonaExitGunShow","exit_2floor"); + level.scr_anim["Ilona"]["exit_1stfloor_idle"][0] = %hms_greece_safehouse_exit_1stfloor_idle; + level.scr_anim["Ilona"]["exit_1stfloor_dodge"] = %hms_greece_safehouse_exit_1stfloor_dodge; + level.scr_anim["Ilona"]["exit_1stfloor_arch_idle"][0] = %hms_greece_safehouse_exit_1stfloor_arch_idle; + level.scr_anim["Ilona"]["exit_1stfloor_turn"] = %hms_greece_safehouse_exit_1stfloor_turn; + level.scr_anim["Ilona"]["exit_1stfloor_all"] = %hms_greece_safehouse_exit_1stfloor_all2exit; +} + +//Function Number: 6 +kvaguardanimations() +{ + level.scr_anim["generic"]["safehouse_sitting01_npc"][0] = %hms_greece_safehouse_sitting01_npc; + level.scr_anim["pacing_guard"]["safehouse_pacing_npc"][0] = %hms_greece_safehouse_pacing_npc; + level.scr_anim["generic"]["safehouse_sleeping_guard_idle"][0] = %hms_greece_safehouse_enter2_idle_npc; + level.scr_anim["generic"]["safehouse_sleeping_guard_death"] = %hms_greece_safehouse_enter2_death_npc; + level.scr_anim["generic"]["safehouse_sleeping_guard_kill"] = %hms_greece_safehouse_enter2_kill_npc; + level.scr_anim["pacing_guard"]["casual_stand_idle"][0] = %casual_stand_idle; + level.scr_anim["pacing_guard"]["casual_stand_idle"][1] = %casual_stand_idle_twitch; + level.scr_anim["pacing_guard"]["casual_stand_idle"][2] = %casual_stand_idle_twitchb; + level.scr_anim["pacing_guard"]["safehouse_videochat_01"] = %hms_greece_safehouse_videochat_01; + level.scr_anim["pacing_guard"]["safehouse_videochat_idle"][0] = %hms_greece_safehouse_videochat_idle; + level.scr_anim["pacing_guard"]["safehouse_videochat_alert"] = %hms_greece_safehouse_videochat_alert; + level.scr_anim["pacing_guard"]["safehouse_videochat_death"] = %hms_greece_safehouse_videochat_death; + level.scr_anim["planner_left"]["plan_idle"][0] = %hms_greece_safehouse_plan_guards_idle_l; + level.scr_anim["planner_right"]["plan_idle"][0] = %hms_greece_safehouse_plan_guards_idle_r; + level.scr_anim["planner_left"]["plan_fail"] = %hms_greece_safehouse_plan_guards_fail_l; + maps\_anim::addnotetrack_notify("planner_left","toggle_gun_vis_l","SafehousePlanningGuardLeftPlanFail","plan_fail"); + level.scr_goaltime["planner_left"]["plan_fail"] = 0.5; + level.scr_anim["planner_right"]["plan_fail"] = %hms_greece_safehouse_plan_guards_fail_r; + maps\_anim::addnotetrack_notify("planner_right","toggle_gun_vis_r","SafehousePlanningGuardRightPlanFail","plan_fail"); + level.scr_goaltime["planner_right"]["plan_fail"] = 0.5; + level.scr_anim["planner_left"]["plan_success"] = %hms_greece_safehouse_plan_guards_success_l_r; + level.scr_goaltime["planner_left"]["plan_success"] = 0.5; + level.scr_anim["planner_left"]["plan_success_alt"] = %hms_greece_safehouse_plan_guards_success_l_l; + level.scr_anim["planner_left"]["plan_success_alt2"] = %hms_greece_safehouse_plan_guards_success_l; + level.scr_anim["planner_right"]["plan_success"] = %hms_greece_safehouse_plan_guards_success_r; + level.scr_goaltime["planner_right"]["plan_success"] = 0.5; + level.scr_anim["planner_right"]["plan_success_alt"] = %hms_greece_safehouse_plan_guards_success_r_m; + level.scr_anim["planner_left"]["plan_failsuccess"] = %hms_greece_safehouse_plan_guards_failsuccess_l; + level.scr_goaltime["planner_left"]["plan_failsuccess"] = 0.5; + level.scr_anim["planner_right"]["plan_failsuccess"] = %hms_greece_safehouse_plan_guards_failsuccess_r; + level.scr_goaltime["planner_right"]["plan_failsuccess"] = 0.5; +} + +//Function Number: 7 +civilianmarketanimations() +{ + level.scr_anim["waiter"]["hms_greece_market_intro"] = %hms_greece_market_intro_npc; + level.scr_anim["waiter"]["hms_greece_market_intro_loop"][0] = %hms_greece_market_intro_loop_npc; + level.scr_anim["sitter"]["hms_greece_market_outro"] = %hms_greece_market_outro_npc; + level.scr_anim["sitter"]["hms_greece_market_outro_loop"][0] = %hms_greece_market_sit_idle_npc; + level.scr_anim["generic"]["cafe_civ_sit_read_idle_01"] = %hms_greece_cafe_civ_sit_read_idle_01; + level.scr_anim["generic"]["cafe_civ_sit_read_trans2crossed_01"] = %hms_greece_cafe_civ_sit_read_trans2crossed_01; + level.scr_anim["generic"]["cafe_civ_sit_read_idlecrossed_01"] = %hms_greece_cafe_civ_sit_read_idlecrossed_01; + level.scr_anim["generic"]["cafe_civ_sit_read_trans2sit_01"] = %hms_greece_cafe_civ_sit_read_trans2sit_01; + level.scr_anim["generic"]["cafe_civ_sit_read_trans2sit_long_01"] = %hms_greece_cafe_civ_sit_read_trans2sit_long_01; + level.scr_anim["TeaGuy"]["cafe_tea_time"][0] = %hms_greece_cafe_civ_sit_teasipper_npc; + level.scr_anim["greet_male"]["cafe_meet_02_trans_in_guy1"] = %hms_greece_cafe_meet_02_trans_in_guy1; + level.scr_anim["greet_female"]["cafe_meet_02_trans_in_fem"] = %hms_greece_cafe_meet_02_trans_in_fem; + level.scr_anim["greet_male"]["cafe_meet_02_loop_guy1"][0] = %hms_greece_cafe_meet_02_loop_guy1; + level.scr_anim["greet_female"]["cafe_meet_02_loop_fem"][0] = %hms_greece_cafe_meet_02_loop_fem; + level.scr_anim["generic"]["civilian_cool_walk"][0] = %civilian_walk_cool; + level.scr_anim["generic"]["civilian_hurried_walk"][0] = %civilian_walk_hurried_1; + level.scr_anim["generic"]["civilian_hurried_walk"][1] = %civilian_walk_hurried_2; + level.scr_anim["generic"]["civilian_directions_1_A"][0] = %civilian_directions_1_a; + level.scr_anim["generic"]["civilian_directions_1_B"][0] = %civilian_directions_1_b; + level.scr_anim["generic"]["civilian_directions_2_A_idle"][0] = %civilian_directions_2_a_idle; + level.scr_anim["generic"]["hms_greece_trans_alley_cafe_civ_idle_01"][0] = %hms_greece_trans_alley_cafe_civ_idle_01; + level.scr_anim["generic"]["hms_greece_trans_alley_cafe_civ_idle_02"][0] = %hms_greece_trans_alley_cafe_civ_idle_02; + level.scr_anim["generic"]["hms_greece_trans_alley_cafe_civ_idle_03"][0] = %hms_greece_trans_alley_cafe_civ_idle_03; + level.scr_anim["generic"]["hms_greece_trans_alley_cafe_civ_idle_04"][0] = %hms_greece_trans_alley_cafe_civ_idle_04; + level.scr_anim["generic"]["hms_greece_trans_alley_cafe_civ_idle_05"][0] = %hms_greece_trans_alley_cafe_civ_idle_05; + level.scr_anim["generic"]["hms_greece_trans_alley_cafe_civ_idle_06"][0] = %hms_greece_trans_alley_cafe_civ_idle_06; + level.scr_anim["generic"]["hms_greece_trans_alley_cafe_civ_idle_07"][0] = %hms_greece_trans_alley_cafe_civ_idle_07; + level.scr_anim["MarketDecoy1"]["hms_greece_market_decoy_walker"] = %hms_greece_market_decoy_walker_01; + level.scr_anim["MarketDecoy2"]["hms_greece_market_decoy_walker"] = %hms_greece_market_decoy_walker_02; + level.scr_anim["MarketDecoy3"]["hms_greece_market_decoy_walker"] = %hms_greece_market_decoy_walker_03; + level.scr_anim["MarketDecoy4"]["hms_greece_market_decoy_walker"] = %hms_greece_market_decoy_walker_04; + level.scr_anim["MarketDecoy5"]["hms_greece_market_decoy_walker"] = %hms_greece_market_decoy_walker_05; + level.scr_anim["MarketDecoy6"]["hms_greece_market_decoy_walker"] = %hms_greece_market_decoy_walker_06; + level.scr_anim["MarketDecoy7"]["hms_greece_market_decoy_walker"] = %hms_greece_market_decoy_walker_07; + level.scr_anim["MarketDecoy8"]["hms_greece_market_decoy_walker"] = %hms_greece_market_decoy_walker_08; + level.scr_anim["MarketDecoy1"]["civilian_slow_walk_male"] = %hms_greece_market_civ_walk_slow_male_01; + level.scr_anim["MarketDecoy2"]["civilian_slow_walk_male"] = %hms_greece_market_civ_walk_slow_male_01; + level.scr_anim["MarketDecoy3"]["civilian_slow_walk_male"] = %hms_greece_market_civ_walk_slow_male_01; + level.scr_anim["MarketDecoy4"]["civilian_slow_walk_male"] = %hms_greece_market_civ_walk_slow_male_01; + level.scr_anim["MarketDecoy5"]["civilian_slow_walk_male"] = %hms_greece_market_civ_walk_slow_male_01; + level.scr_anim["MarketDecoy6"]["civilian_slow_walk_male"] = %hms_greece_market_civ_walk_slow_male_01; + level.scr_anim["MarketDecoy7"]["civilian_slow_walk_male"] = %hms_greece_market_civ_walk_slow_male_01; + level.scr_anim["MarketDecoy8"]["civilian_slow_walk_male"] = %hms_greece_market_civ_walk_slow_male_01; + level.scr_anim["generic"]["civ_idletrans_in_r"] = %hms_greece_market_civ_idletrans_in_r; + level.scr_anim["generic"]["civ_idletrans_in_f"] = %hms_greece_market_civ_idletrans_in_f; + level.scr_anim["generic"]["civ_idletrans_in_l"] = %hms_greece_market_civ_idletrans_in_l; + level.scr_anim["generic"]["civ_idletrans_out_r"] = %hms_greece_market_civ_idletrans_out_r; + level.scr_anim["generic"]["civ_idletrans_out_b"] = %hms_greece_market_civ_idletrans_out_b; + level.scr_anim["generic"]["civ_idletrans_out_l"] = %hms_greece_market_civ_idletrans_out_l; + level.scr_anim["generic"]["civilian_walk_male"][0] = %hms_greece_market_civ_walk_male_01; + level.scr_anim["generic"]["civilian_slow_walk_male"][0] = %hms_greece_market_civ_walk_slow_male_01; + level.scr_anim["generic"]["london_civ_idle"][0] = %london_civ_idle_lookover; + level.scr_anim["generic"]["london_civ_idle"][1] = %london_civ_idle_checkwatch; + level.scr_anim["generic"]["london_civ_idle"][2] = %london_civ_idle_lookbehind; + level.scr_anim["generic"]["london_civ_idle"][3] = %london_civ_idle_wave; + level.scr_anim["generic"]["london_civ_idle"][4] = %london_civ_idle_scratchnose; + level.scr_anim["generic"]["london_civ_idle"][5] = %london_civ_idle_foldarms_scratchass; + level.scr_anim["generic"]["london_civ_idle"][6] = %london_civ_idle_foldarms2; + level.scr_anim["generic"]["london_civ_idle"][7] = %hms_greece_market_civ_idle_01; + level.scr_anim["generic"]["london_civ_idle"][8] = %hms_greece_market_civ_idle_02; + level.scr_anim["generic"]["london_civ_idle"][9] = %hms_greece_market_civ_idle_03; + level.scr_anim["generic"]["london_civ_idle"][10] = %hms_greece_market_civ_idle_04; + level.scr_anim["generic"]["hms_greece_cc_takedown_idle_target"][0] = %hms_greece_cc_takedown_idle_target; + level.scr_anim["generic"]["hms_greece_cc_balconykill_idle"][0] = %hms_greece_cc_balconykill_idle; + level.scr_anim["generic"]["hms_greece_cc_breach_meeting_guest1_idle"][0] = %hms_greece_cc_breach_meeting_guest1_idle; + level.scr_anim["generic"]["hms_greece_cc_breach_meeting_guest2_idle"][0] = %hms_greece_cc_breach_meeting_guest2_idle; + level.scr_anim["generic"]["hms_greece_cc_breach_meeting_guest3_idle"][0] = %hms_greece_cc_breach_meeting_guest3_idle; + level.scr_anim["market_vendor"]["market_vendor_loop"][0] = %hms_greece_market_vendor_vendor_loop; + level.scr_anim["market_male"]["market_vendor_in"] = %hms_greece_market_vendor_male_in; + level.scr_anim["market_female"]["market_vendor_in"] = %hms_greece_market_vendor_female_in; + maps\_anim::addnotetrack_flag("market_female","reached_vendor","FlagMarketCoupleAtGoal","market_vendor_in"); + level.scr_anim["market_male"]["market_shopper_loop"][0] = %hms_greece_market_vendor_male_loop; + level.scr_anim["market_female"]["market_shopper_loop"][0] = %hms_greece_market_vendor_female_loop; + level.scr_anim["market_sweeper"]["market_vendor_sweep_loop"][0] = %hms_greece_market_vendor_sweeper; + level.scr_anim["Host"]["market_host_in"] = %hms_greece_market_outro_npc1; + level.scr_anim["Host"]["market_host_loop"][0] = %hms_greece_market_outro_idle_npc1; + level.scr_anim["civ1"]["market_fntn_civ_talk"][0] = %hms_greece_market_fntn_civ_talk_npc; + level.scr_anim["civ2"]["market_fntn_civ_talk"][0] = %hms_greece_market_fntn_civ_talk_npc1; + level.scr_anim["generic"]["npc_urgent_walk_idle"][0] = %npc_urgent_walk_twitch01_idle; + level.scr_anim["generic"]["npc_urgent_walk_idle"][1] = %npc_urgent_walk_twitch02_idle; + level.scr_anim["generic"]["npc_urgent_walk_idle"][2] = %npc_urgent_walk_twitch03_idle; + level.scr_anim["generic"]["npc_urgent_walk_idle"][3] = %npc_urgent_walk_idle; + level.scr_anim["generic"]["patrol_unarmed_idle"][0] = %patrol_unarmed_idle; + level.scr_anim["generic"]["patrol_unarmed_idle"][1] = %patrol_unarmed_idle_fidget_1; + level.scr_anim["generic"]["bet_casual_startstop_idle_gideon"][0] = %bet_casual_startstop_idle_gideon; + level.scr_anim["generic"]["det_unarmed_casual_idle"][0] = %det_unarmed_casual_idle; +} + +//Function Number: 8 +animalanimations() +{ + level.scr_animtree["goose_01"] = #animtree; + level.scr_model["goose_01"] = "goose"; + level.scr_animtree["goose_02"] = #animtree; + level.scr_model["goose_02"] = "goose"; + level.scr_animtree["goose_03"] = #animtree; + level.scr_model["goose_03"] = "goose"; + level.scr_anim["goose_01"]["market_intro_geese"] = %hms_greece_market_intro_goose_01; + level.scr_anim["goose_02"]["market_intro_geese"] = %hms_greece_market_intro_goose_02; + level.scr_anim["goose_03"]["market_intro_geese"] = %hms_greece_market_intro_goose_03; +} + +//Function Number: 9 +notetrackshow(param_00) +{ + param_00 show(); +} + +//Function Number: 10 +notetrackhide(param_00) +{ + param_00 hide(); +} + +//Function Number: 11 +notetrackdelete(param_00) +{ + param_00 stopanimscripted(); + param_00 delete(); +} + +//Function Number: 12 +notetrackshoot(param_00) +{ + param_00 shoot(); +} + +//Function Number: 13 +notetrackgatebash(param_00) +{ + param_00 startscriptedanim(); +} + +//Function Number: 14 +safehousebagdroprumblelight(param_00) +{ + var_01 = randomfloatrange(0.1,0.3); + var_02 = randomfloatrange(0.1,0.3); + earthquake(var_01,var_02,level.player.origin,128); + level.player playrumbleonentity("damage_light"); +} + +//Function Number: 15 +marketkvafollowtargetdrawgun(param_00) +{ + param_00 detach("weapon_parabolic_knife","TAG_WEAPON_RIGHT",0); + param_00 maps\_utility::forceuseweapon("iw5_titan45_sp","primary"); +} + +//Function Number: 16 +marketkvaambusherdrawgun(param_00) +{ + param_00 maps\_utility::forceuseweapon("iw5_titan45_sp","primary"); +} \ No newline at end of file diff --git a/AW/PC/maps/greece_safehouse_fx.gsc b/AW/PC/maps/greece_safehouse_fx.gsc new file mode 100644 index 0000000..51eaa1a --- /dev/null +++ b/AW/PC/maps/greece_safehouse_fx.gsc @@ -0,0 +1,99 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: greece_safehouse_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 14 + * Decompile Time: 218 ms + * Timestamp: 4/22/2024 2:31:19 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + thread precachefx(); +} + +//Function Number: 2 +precachefx() +{ + level._effect["foliage_dub_potted_spikey_plant"] = loadfx("fx/props/foliage_dub_potted_spikey_plant"); + level._effect["knife_kill_fx"] = loadfx("fx/maps/warlord/intro_blood_throat_stab"); + level._effect["sniper_drone_fan_distortion"] = loadfx("vfx/distortion/sniper_drone_runner"); + level._effect["paint_grenade"] = loadfx("vfx/explosion/paint_grenade"); + level._effect["steam_coffee"] = loadfx("vfx/steam/steam_coffee_slow"); +} + +//Function Number: 3 +intro_tablet_touch_fx(param_00) +{ + playfxontag(common_scripts\utility::getfx("tablet_touch_green"),param_00,"body_animate_jnt"); +} + +//Function Number: 4 +outro_tablet_touch_fx(param_00) +{ + playfxontag(common_scripts\utility::getfx("tablet_touch_red"),param_00,"body_animate_jnt"); +} + +//Function Number: 5 +intro_drone_tablet_touch_fx(param_00) +{ + playfxontag(common_scripts\utility::getfx("tablet_touch_green2"),param_00,"body_animate_jnt"); +} + +//Function Number: 6 +outro_drone_tablet_touch_fx(param_00) +{ + playfxontag(common_scripts\utility::getfx("tablet_touch_red2"),param_00,"body_animate_jnt"); +} + +//Function Number: 7 +broom_sweep_dust_fx(param_00) +{ + playfxontag(common_scripts\utility::getfx("broom_sweeping_dust"),param_00,"TAG_ORIGIN"); +} + +//Function Number: 8 +guarddustdrag() +{ + common_scripts\_exploder::exploder(70); +} + +//Function Number: 9 +sniperdroneprep() +{ + common_scripts\_exploder::exploder(100); + wait(3.5); + common_scripts\_exploder::exploder(101); +} + +//Function Number: 10 +dronedraftplants() +{ + common_scripts\_exploder::exploder(120); +} + +//Function Number: 11 +ambientcloudsloadin() +{ + common_scripts\_exploder::exploder(130); +} + +//Function Number: 12 +ambientcloudskill() +{ + common_scripts\_exploder::kill_exploder(130); +} + +//Function Number: 13 +safehousesonicdustfx() +{ + common_scripts\_exploder::exploder(132); +} + +//Function Number: 14 +safehousegatebashfx() +{ + common_scripts\_exploder::exploder(140); +} \ No newline at end of file diff --git a/AW/PC/maps/greece_safehouse_vo.gsc b/AW/PC/maps/greece_safehouse_vo.gsc new file mode 100644 index 0000000..10c71e1 --- /dev/null +++ b/AW/PC/maps/greece_safehouse_vo.gsc @@ -0,0 +1,509 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: greece_safehouse_vo.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 30 + * Decompile Time: 464 ms + * Timestamp: 4/22/2024 2:31:21 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + scancamerainitvariables(); + thread cafeintrodialog(); + thread camerascanintrodialogue(); + thread camerascanoutrodialog(); + thread safehousekilldialogue(); + thread safehouseclearfirstfloordialogue(); + thread safehouseclearsecondfloordialogue(); + thread safehouseplanningguardsdialog(); + thread safehousetransitiondialogue(); + thread safehouseoutrodialogue(); + thread scancameraswitching(); + thread safehousefollowreminder1(); + thread safehousefollowreminder2(); + thread safehousefollowreminder3(); + thread safehousefrontdoorreminder(); + thread safehousecourtyarddistraction(); +} + +//Function Number: 2 +scancamerainitvariables() +{ + level.scancounter = 0; + level.dialogcounter = 0; +} + +//Function Number: 3 +cafeintrodialog() +{ + common_scripts\utility::flag_wait("FlagIntroScreenComplete"); +} + +//Function Number: 4 +camerascanintrodialogue() +{ + level endon("lazy_mission_end"); + common_scripts\utility::flag_wait("FlagScanTargetBegin"); + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseCafeFeedUplink"); + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseCafeFeedPulse"); + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseCafeZoomReminder"); + common_scripts\utility::flag_set("FlagCameraScanUnlockZoom"); + level.player waittill("Zoom_In"); + wait(0.5); + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseCafeFeedPulseGoodA",undefined,"CancelMarketScanDialog"); + common_scripts\utility::flag_set("FlagCameraScanUnlockVoHints"); + common_scripts\utility::flag_wait("FlagFollowTargetMarked"); + level notify("SafehouseKVATargetMarked"); + common_scripts\utility::flag_set("FlagScanTargetComplete"); + wait(3); + level.player notify("DisableSecurityCameras"); +} + +//Function Number: 5 +camerascanoutrodialog() +{ + common_scripts\utility::flag_wait("FlagIlanaMidMarketStartMoving"); + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseCafeYouFollow"); +} + +//Function Number: 6 +scancamerafoundpotentialtarget() +{ + if(!common_scripts\utility::flag("FlagCameraScanUnlockVoHints")) + { + return; + } + + if(level.scancounter == 0) + { + thread maps\_hms_utility::playdialog(level.dialogtable,"SafehouseCafeFeedTry",undefined,"CancelMarketScanDialog",undefined,1); + level.scancounter++; + } + else + { + return; + } + + wait(10); + level.scancounter--; +} + +//Function Number: 7 +scancameraswitching() +{ + common_scripts\utility::flag_wait("FlagCafeCameraUnlockSwitching"); + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseCafeFeedSwitch","SafehouseCafeFeedSwitch","CancelMarketScanDialog",undefined,1); + level.player setclientomnvar("ui_greece_camera_instructions",1); + while(!common_scripts\utility::flag("FlagMarketCameraSwitched")) + { + level endon("MarketCameraSwitch"); + wait(10); + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseCafeFeedSwitch","SafehouseCafeFeedSwitch","CancelMarketScanDialog",undefined,1); + } +} + +//Function Number: 8 +scancameratargetdialogue() +{ + level endon("lazy_mission_end"); + level endon("MarketTimerExpired"); + if(self.team == "axis" && !common_scripts\utility::flag("FlagKVATargetWaitTimerExpired")) + { + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseCafeSuccess"); + return; + } + + if(level.dialogcounter == 0) + { + level.dialogcounter++; + return; + } + + if(level.dialogcounter == 1) + { + level.dialogcounter++; + return; + } + + thread maps\_hms_utility::playdialog(level.dialogtable,"SafehouseCafeFeedNo",undefined,"CancelMarketScanDialog",undefined,1); +} + +//Function Number: 9 +scaninitremindermonitor() +{ + level endon("PlayerInitiateScan"); + level endon("lazy_mission_end"); + var_00 = 0; + while(!common_scripts\utility::flag("FlagScanTargetBegin")) + { + wait(10); + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseCafeFeedReminder",undefined,undefined,undefined,1); + wait(5); + var_00++; + if(var_00 == 3) + { + break; + } + } + + wait(1); + if(!common_scripts\utility::flag("FlagScanTargetBegin")) + { + thread maps\greece_safehouse::failtargetescaped1(); + } +} + +//Function Number: 10 +scantakestoolongmonitor() +{ + level endon("SafehouseKVATargetMarked"); + level endon("lazy_mission_end"); + wait(level.markettimewindow - 30); + while(!common_scripts\utility::flag("FlagFollowTargetMarked")) + { + thread maps\_hms_utility::playdialog(level.dialogtable,"SafehouseCafeTakingTooLong",undefined,undefined,undefined,1); + wait(randomfloatrange(8,10)); + } +} + +//Function Number: 11 +safehousefollowreminder1() +{ + level.player endon("NotifyPlayerReachedMidMarket"); + var_00 = 0; + common_scripts\utility::flag_wait("FlagCafeVideologComplete"); + wait(30); + while(!common_scripts\utility::flag("FlagTriggerPlayerMidMarket")) + { + maps\_hms_utility::playdialog(level.dialogtable,"UndercoverReminder",undefined,undefined,undefined,1); + var_00++; + if(var_00 == 3) + { + break; + } + + wait(15); + } + + wait(1); + if(!common_scripts\utility::flag("FlagTriggerPlayerMidMarket")) + { + thread maps\greece_safehouse::failtargetescaped2(); + } +} + +//Function Number: 12 +safehousefollowreminder2() +{ + level.player endon("NotifyPlayerReachedAlley"); + var_00 = 0; + common_scripts\utility::flag_wait("FlagIlanaMidMarketStartMoving"); + wait(30); + while(!common_scripts\utility::flag("FlagTriggerPlayerEnterAlley")) + { + maps\_hms_utility::playdialog(level.dialogtable,"UndercoverReminder",undefined,undefined,undefined,1); + var_00++; + if(var_00 == 3) + { + break; + } + + wait(15); + } + + wait(1); + if(!common_scripts\utility::flag("FlagTriggerStartTakedownTimer")) + { + thread maps\greece_safehouse::failtargetescaped2(); + } +} + +//Function Number: 13 +safehousefollowreminder3() +{ + level.player endon("NotifyPlayerReachedCourtyard"); + var_00 = 0; + common_scripts\utility::flag_wait("FlagTriggerPlayerEnterAlley"); + wait(20); + while(!common_scripts\utility::flag("FlagTriggerStartTakedownTimer")) + { + maps\_hms_utility::playdialog(level.dialogtable,"UndercoverReminder",undefined,undefined,undefined,1); + var_00++; + if(var_00 == 3) + { + break; + } + + wait(15); + } + + wait(1); + if(!common_scripts\utility::flag("FlagTriggerStartTakedownTimer")) + { + thread maps\greece_safehouse::failtargetescaped2(); + } +} + +//Function Number: 14 +safehousecourtyarddistraction() +{ + common_scripts\utility::flag_wait("FlagTriggerStartIlanaTakedownEnter"); + soundscripts\_snd::snd_message("start_kva_assault_music"); + thread safehousecourtyarddistractioninterrupt(); + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseDistraction","CourtyardDistractionDialogComplete","CourtyardDistractionDialogInterrupt"); +} + +//Function Number: 15 +safehousecourtyarddistractioninterrupt() +{ + level waittill("PlayerInitiateKeyManKill"); + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseAlert",undefined,undefined,undefined,1); +} + +//Function Number: 16 +safehousekilldialogue() +{ + common_scripts\utility::flag_wait("FlagSafehouseCourtyardTakedownComplete"); + wait(1); + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseFollowTargetKilled"); + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseWeaponReady"); + wait(1); + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseFollowKey"); +} + +//Function Number: 17 +safehousekillreminder() +{ + self endon("death"); + level endon("KVAFollowTargetAlerted"); + self endon("remove_outline"); + var_00 = 0; + while(isalive(self)) + { + wait(5); + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseFollowTakingTooLong",undefined,undefined,undefined,1); + var_00++; + if(var_00 == 3) + { + break; + } + } + + wait(1); + if(!common_scripts\utility::flag("FlagTriggerStartTakedownTimer")) + { + thread maps\greece_safehouse::failtargetescaped3(); + } +} + +//Function Number: 18 +xslicestartdialogue() +{ + wait(1); + maps\_hms_utility::playdialog(level.dialogtable,"XsliceStart"); +} + +//Function Number: 19 +safehousefrontdoorreminder() +{ + level endon("SafehousePlayerNearEntrance"); + common_scripts\utility::flag_wait("FlagFollowTargetUnmarked"); + while(!common_scripts\utility::flag("FlagTriggerPlayerNearBackDoor")) + { + wait(15); + maps\_hms_utility::playdialog(level.dialogtable,"CombatReminder",undefined,undefined,undefined,1); + } +} + +//Function Number: 20 +safehouseclearfirstfloordialogue() +{ + level endon("SafehouseAlerted"); + common_scripts\utility::flag_wait("FlagTriggerPlayerNearBackDoor"); + wait(1); + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseEntrance"); + common_scripts\utility::flag_wait("FlagTriggerPlayerEnterSafehouse"); + thread maps\_hms_utility::playdialog(level.dialogtable,"SafehouseThreatGrenade"); + common_scripts\utility::flag_wait("FlagSafehouseThreatGrenadeDetonated"); + if(!common_scripts\utility::flag("FlagKVASafehousePatrollerDeath")) + { + wait(1); + if(!common_scripts\utility::flag("FlagKVASafehousePatrollerDeath")) + { + maps\_hms_utility::playdialog(level.dialogtable,"SafehousePatrolDude"); + } + + common_scripts\utility::flag_wait("FlagKVASafehousePatrollerDeath"); + wait(1.5); + if(!common_scripts\utility::flag("FlagSafehousePlanningGuardsAlerted")) + { + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseFirstFloorNextKill"); + return; + } + + return; + } + + if(common_scripts\utility::flag("FlagKVASafehousePatrollerDeath")) + { + wait(1); + if(!common_scripts\utility::flag("FlagSafehousePlanningGuardsAlerted")) + { + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseFirstFloorNextKill"); + return; + } + } +} + +//Function Number: 21 +safehouseplanningguardsdialog() +{ + common_scripts\utility::flag_wait("FlagTriggerPlayerEnterSafehouse"); + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseFirstFloorGuardsTalk"); + wait(1); + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseFirstFloorTooLong",undefined,"SafehousePlanningGuardsAlerted"); +} + +//Function Number: 22 +safehouseclearsecondfloordialogue() +{ + common_scripts\utility::flag_wait("FlagFirstFloorSafehouseKVAkilled"); + soundscripts\_snd::snd_message("start_safehouse_guard_02_music"); + wait(1); + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseFirstFloorClear"); + thread safehousesecondfloorilonacouchkill(); + common_scripts\utility::flag_wait("FlagTriggerPlayerOnInsideStairway"); + thread maps\_hms_utility::playdialog(level.dialogtable,"SafehouseSecondHadesTalk",undefined,"SafehouseAbortVideoChat",undefined,undefined,undefined,"SafehouseVideoHadesOrg"); + level notify("SafehouseVideoChatConversationStarted"); + wait(1); + thread maps\_hms_utility::playdialog(level.dialogtable,"SafehouseSecondHadesWatch"); + level waittill("HadesTalkReallyFinished"); + soundscripts\_snd::snd_message("start_safehouse_guard_03_music"); + wait(1.5); + if(!common_scripts\utility::flag("FlagPacingGuardDamaged")) + { + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseSecondHadesWatchKill"); + } + + thread safehousesecondfloorreminder(); + common_scripts\utility::flag_wait_all("FlagFirstFloorSafehouseKVAkilled","FlagSecondFloorSafehouseKVAkilled"); + common_scripts\utility::flag_set("FlagPacingNpcDeath"); + soundscripts\_snd::snd_message("start_safehouse_stairs_music"); + soundscripts\_snd::snd_message("start_safehouse_exo_trans_music"); + wait(1); + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseAllClear"); + common_scripts\utility::flag_set("FlagSafeHouseTransitionStart"); + maps\_utility::autosave_by_name("safehouse_cleared"); +} + +//Function Number: 23 +safehousesecondfloorilonacouchkill() +{ + common_scripts\utility::flag_wait("FlagTriggerSafehouseIlonaUpstairs"); + if(!common_scripts\utility::flag("FlagSafehouseSleepingGuardKilled")) + { + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseHesMine"); + } +} + +//Function Number: 24 +safehousesecondfloorreminder() +{ + var_00 = maps\_utility::get_living_ai("PacingGuard","script_noteworthy"); + if(isdefined(var_00)) + { + var_00 endon("death"); + var_00 endon("PacingGuardDamaged"); + var_01 = 0; + while(isalive(var_00)) + { + wait(10); + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseSecondFloorTakingTooLong",undefined,"guy_alerted",var_00); + var_01++; + if(var_01 == 3) + { + break; + } + } + + wait(1); + var_02 = common_scripts\utility::getstruct("safehouse_pacing_npc","targetname"); + var_02 notify("PacingGuard"); + } +} + +//Function Number: 25 +safehousetransitiondialogue() +{ + common_scripts\utility::flag_wait("FlagSafeHouseTransitionStart"); + wait(1); + common_scripts\utility::flag_set("FlagSetObjComputerInteract"); + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseTapCom"); + thread safehousebagdropreminder(); + thread maps\greece_safehouse::safehousemonitorbagdropinteract(); + common_scripts\utility::flag_wait("FlagPlayerUsedSafehouseComputer"); + common_scripts\utility::flag_set("FlagComputerInteractComplete"); + thread maps\_hms_utility::playdialog(level.dialogtable,"SafehouseGearUp"); + maps\greece_safehouse::safehousechangeclothes(); +} + +//Function Number: 26 +safehousebagdropreminder() +{ + wait(10); + if(!common_scripts\utility::flag("FlagPlayerUsedSafehouseComputer")) + { + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseTapComTakingTooLong"); + } +} + +//Function Number: 27 +safehousefailcoverblown() +{ + common_scripts\utility::flag_set("FlagSafehouseHideHint"); + level notify("SafehouseAlerted"); + maps\_utility::radio_dialogue_stop(); + wait(0.5); + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseCoverBlown",undefined,undefined,undefined,1); +} + +//Function Number: 28 +safehousefailkvaalerted() +{ + level notify("SafehouseAlerted"); + maps\_utility::radio_dialogue_stop(); + wait(0.5); + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseAlert",undefined,undefined,undefined,1); +} + +//Function Number: 29 +safehouseoutrodialogue() +{ + common_scripts\utility::flag_wait("FlagSafeHouseOutroStart"); + soundscripts\_snd::snd_message("mhunt_safehouse_cc_expl_distant"); + maps\greece_conf_center_fx::confcenterexplosion(); + wait(0.2); + thread maps\_hms_utility::playdialog(level.dialogtable,"SafehouseExitBegin"); + level waittill("NotifyIlonaExitDialog"); + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneEndDroneControl"); + soundscripts\_snd::snd_message("safehouse_escape_music"); + common_scripts\utility::flag_set("FlagSetObjSafehouseGapJump"); + wait(0.1); + maps\_hms_utility::playdialog(level.dialogtable,"SniperdroneBuildingExplode"); + common_scripts\utility::flag_wait("FlagTriggerExitPlayerAtTopOfStairs"); + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseExitStairs"); + common_scripts\utility::flag_wait("FlagTriggerExitPlayerComingDownStairs"); + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseExitHearVoices"); + common_scripts\utility::flag_set("FlagAlleysTransitionStart"); +} + +//Function Number: 30 +safehousefailtargetescaped() +{ + maps\_utility::radio_dialogue_stop(); + wait 0.05; + maps\_hms_utility::playdialog(level.dialogtable,"SafehouseCafeNoScanFailure"); +} \ No newline at end of file diff --git a/AW/PC/maps/greece_security_camera.gsc b/AW/PC/maps/greece_security_camera.gsc new file mode 100644 index 0000000..279e84a --- /dev/null +++ b/AW/PC/maps/greece_security_camera.gsc @@ -0,0 +1,810 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: greece_security_camera.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 35 + * Decompile Time: 547 ms + * Timestamp: 4/22/2024 2:31:22 AM +*******************************************************************/ + +//Function Number: 1 +precachesecuritycamera() +{ + precacheshader("line_vertical"); + precachestring(&"GREECE_CAMERA_ZOOM"); + precachestring(&"GREECE_CAMERA_CYCLE"); + precachestring(&"GREECE_CAMERA_POTENTIAL_TARGET"); + precachestring(&"GREECE_CAMERA_TARGET_POS"); + precachestring(&"GREECE_CAMERA_TARGET_NEG"); + precachestring(&"GREECE_CAMERA_TARGET_FREQ"); + precachestring(&"GREECE_CAMERA_SOURCE_FREQ"); + precachestring(&"GREECE_CAMERA_GHZ"); + precachestring(&"GREECE_CAMERA_SAT_CONNECT"); + precachemodel("tag_player"); + precachestring(&"add_hudelement_gsc"); + precachestring(&"manhuntTabletHud"); + precachestring(&"remove_hudelement_gsc"); + precachestring(&"updateTargetReticule"); + precachestring(&"updateCurrentCamera"); + precachestring(&"updateProgressBarVisibility"); + precachestring(&"updateProgressBar"); + precachestring(&"updateTargetDetails"); + precachestring(&"displayScanResults"); + precachestring(&"initTabletHUD"); + level.player setclientomnvar("ui_manhunttablet",1); +} + +//Function Number: 2 +securitycameraenable(param_00) +{ + self endon("DisableScanning"); + level.securitycamerahud = []; + level.securitycamerascanhud = []; + level.activetarget = undefined; + level.marketcamiszoomed = 0; + self disableoffhandweapons(); + self disableweaponswitch(); + self allowcrouch(0); + self enableweapons(); + self disableslowaim(); + self giveweapon("hms_security_camera"); + self switchtoweaponimmediate("hms_security_camera"); + self hideviewmodel(); + setsaveddvar("r_hudoutlineenable",1); + setsaveddvar("r_hudoutlinewidth",3); + _adjustcamerayawpitchrate("Zoom Out"); + var_01 = getent("MarketCameraCliffView","targetname"); + var_02 = getent("MarketCameraCafe","targetname"); + var_03 = getent("MarketCameraExit","targetname"); + if(!isdefined(param_00)) + { + param_00 = [var_01,var_02,var_03]; + } + + var_04 = undefined; + var_05 = 0; + foreach(var_07 in param_00) + { + if(isdefined(var_07.script_noteworthy) && var_07.script_noteworthy == "default_security_camera") + { + var_04 = var_07; + var_05 = getindex(param_00,var_07); + } + } + + if(!isdefined(var_04)) + { + var_04 = param_00[var_05]; + } + + securitycameraviewlink(var_04); + wait(0.25); + level.player setblurforplayer(0,1); + wait(0.25); + common_scripts\utility::flag_set("init_tablet_overlay"); + level.player thread maps\_hud_util::fade_in(0.25,"white"); + wait(0.15); + setsaveddvar("cg_cinematicfullscreen","1"); + cinematicingame("greece_match_search_scene_intro"); + maps\_utility::lerp_fov_overtime(0.35,70); + thread securitycamerahud(); + thread securitycameraminimapangles(); + thread securitycameratargetfrequency(); + thread securitycamerapotentialsignalmatch(); + thread securitycamerascantrace(); + level.player thread securitycameraadsmonitor(); + thread securitycamerareturndistancetotarget(); + thread securitycameraswitching(param_00,var_05); + level.player notify("CafeScanFirstCameraActive"); +} + +//Function Number: 3 +securitycameraswitching(param_00,param_01) +{ + level.player endon("DisableScanning"); + level waittill("SafehouseCafeFeedSwitch"); + for(;;) + { + if(self fragbuttonpressed()) + { + if(param_01 < param_00.size - 1) + { + param_01++; + } + else if(param_01 == param_00.size - 1) + { + param_01 = 0; + } + + thread securitycameratransitionblur(param_00[param_01],param_00); + wait(0.5); + } + else if(self secondaryoffhandbuttonpressed()) + { + if(param_01 > 0) + { + param_01--; + } + else if(param_01 == 0) + { + param_01 = param_00.size - 1; + } + + thread securitycameratransitionblur(param_00[param_01],param_00); + wait(0.5); + } + + wait(0.05); + } +} + +//Function Number: 4 +getindex(param_00,param_01) +{ + var_02 = 0; + foreach(var_04 in param_00) + { + if(var_04 == param_01) + { + return var_02; + } + + var_02++; + } +} + +//Function Number: 5 +securitycameraviewlink(param_00) +{ + self unlink(); + wait(0.05); + if(isdefined(param_00.script_parameters)) + { + var_01 = lookupcameraconstraints(param_00.script_parameters); + } + else + { + var_01 = [0,75,75,25,60,70]; + } + + self playerlinktodelta(param_00,"tag_player",0,var_01[1],var_01[2],var_01[3],var_01[4],0,0); + self setplayerangles(param_00.angles); + level.cameralinkpoint = param_00; + maps\_utility::lerp_fov_overtime(0.5,var_01[5]); +} + +//Function Number: 6 +lookupcameraconstraints(param_00) +{ + switch(param_00) + { + case "Camera1": + var_01 = [0,110,70,30,35,80]; + soundscripts\_snd::snd_message("mhunt_cafe_cam1_switch"); + return var_01; + + case "Camera2": + var_01 = [0,135,25,30,45,65]; + soundscripts\_snd::snd_message("mhunt_cafe_cam2_switch"); + return var_01; + + case "Camera3": + var_01 = [0,35,45,45,60,60]; + soundscripts\_snd::snd_message("mhunt_cafe_cam3_switch"); + return var_01; + + case "Camera4": + var_01 = [0,45,55,30,40,90]; + soundscripts\_snd::snd_message("mhunt_cafe_cam4_switch"); + return var_01; + } +} + +//Function Number: 7 +securitycameratransitionblur(param_00,param_01) +{ + soundscripts\_snd::snd_message("mhunt_cafe_cam_switch"); + var_02 = getindex(param_01,param_00); + level.player maps\_hud_util::fade_out(0.15,"black"); + level.player notify("Zoom_Out"); + level notify("MarketCameraSwitch"); + common_scripts\utility::flag_set("FlagMarketCameraSwitched"); + wait(0.15); + thread securitycameraviewlink(param_00); + level.player maps\_hud_util::fade_in(0.15,"black"); + luinotifyevent(&"updateCurrentCamera",1,var_02); +} + +//Function Number: 8 +securitycameratargetfrequency() +{ + level.player endon("DisableSecurityCameras"); + level.frequencytarget = 1500; + level.frequencysource = 0; + var_00 = maps\_hud_util::createclientfontstring("default",1.5); + var_00 maps\_hud_util::setpoint("TOP",undefined,0,30); + level.securitycamerascanhud = common_scripts\utility::array_add(level.securitycamerascanhud,var_00); + var_01 = maps\_hud_util::createclientfontstring("default",1.5); + var_01 maps\_hud_util::setpoint("TOP",undefined,0,60); + level.securitycamerascanhud = common_scripts\utility::array_add(level.securitycamerascanhud,var_01); + var_02 = &"GREECE_CAMERA_TARGET_FREQ"; + var_03 = &"GREECE_CAMERA_SOURCE_FREQ"; + var_04 = &"GREECE_CAMERA_GHZ"; + for(;;) + { + if(isdefined(level.activetarget) && isdefined(level.activetarget.frequency)) + { + level.frequencysource = level.activetarget.frequency; + } + else if(!isdefined(level.activetarget)) + { + level.frequencysource = 0; + } + + level.player common_scripts\utility::waittill_any("target_active","target_lost"); + wait(0.05); + } +} + +//Function Number: 9 +securitycamerareturndistancetotarget() +{ + level.player endon("DisableScanning"); + for(;;) + { + if(isdefined(level.activetarget)) + { + var_00 = distance(level.cameralinkpoint.origin,level.activetarget.origin); + } + + wait(0.05); + } +} + +//Function Number: 10 +comparescreenpos(param_00,param_01) +{ + return length2d(param_00.screenpos) < length2d(param_01.screenpos); +} + +//Function Number: 11 +updaterumble() +{ + level.player endon("DisableScanning"); + var_00 = level.player maps\_utility::get_rumble_ent("steady_rumble"); + var_01 = maps\_sarray::sarray_spawn(); + for(;;) + { + wait(0.05); + var_01 maps\_sarray::sarray_clear(); + if(!level.marketcamiszoomed) + { + var_00 maps\_utility::set_rumble_intensity(0); + level.intensity = 0; + continue; + } + + foreach(var_03 in level.potentialscantargets) + { + if(!isalive(var_03) || !var_03.potentialtarget) + { + continue; + } + + var_04 = 70; + if(level.marketcamiszoomed) + { + var_04 = 20; + } + + var_03.screenpos = level.player worldpointtoscreenpos(var_03 getpointinbounds(0,0,0.5),var_04); + if(!isdefined(var_03.screenpos)) + { + continue; + } + + var_01 maps\_sarray::sarray_push(var_03); + } + + level.intensity = 0; + if(var_01.array.size > 0) + { + maps\_sarray::sarray_sort_by_handler(var_01,maps\_sarray::sarray_create_func_obj(::comparescreenpos)); + var_06 = length2d(var_01.array[0].screenpos); + level.intensity = 1 - clamp(var_06 / 500,0,1); + level.intensity = squared(level.intensity); + } + + var_00.rumble_base_entity = level.cameralinkpoint; + var_07 = maps\_utility::linear_interpolate(level.intensity,0,0.2); + var_00 maps\_utility::set_rumble_intensity(var_07); + } +} + +//Function Number: 12 +rumblemonitor() +{ + level.player endon("DisableScanning"); + for(;;) + { + if(isdefined(level.intensity) && level.intensity == 0) + { + level notify("NotRumbling"); + } + else if(isdefined(level.intensity) && level.intensity > 0) + { + level notify("Rumbling"); + } + + wait(0.05); + } +} + +//Function Number: 13 +updatevisualmarker() +{ + level.player endon("DisableScanning"); + for(;;) + { + level waittill("Rumbling"); + playfxontag(common_scripts\utility::getfx("na45_beacon"),self,"tag_eye"); + level waittill("NotRumbling"); + stopfxontag(common_scripts\utility::getfx("na45_beacon"),self,"tag_eye"); + } +} + +//Function Number: 14 +securitycamerapotentialsignalmatch() +{ + level.player endon("DisableScanning"); + thread updaterumble(); + for(;;) + { + level.player common_scripts\utility::waittill_any("target_active","target_lost","target_scanned"); + if(isdefined(level.activetarget) && isdefined(level.activetarget.potentialtarget) && level.activetarget.potentialtarget == 1 && level.marketcamiszoomed == 1) + { + luinotifyevent(&"updateProgressBarVisibility",2,1,int(level.activetarget.frequency)); + if(!isdefined(level.activetarget.scanprogress)) + { + level.activetarget.scanprogress = 0; + } + + soundscripts\_snd::snd_message("mhunt_cafe_cam_scan_target"); + thread updatescanbar(); + thread maps\greece_safehouse_vo::scancamerafoundpotentialtarget(); + } + else if(!isdefined(level.activetarget) || !isdefined(level.activetarget.potentialtarget) || level.activetarget.potentialtarget == 0 || level.marketcamiszoomed == 0) + { + luinotifyevent(&"updateProgressBarVisibility",1,0); + soundscripts\_snd::snd_message("mhunt_cafe_cam_scan_stop"); + } + + wait(0.05); + } +} + +//Function Number: 15 +updatescanbar() +{ + self endon("death"); + level endon("KVATargetFound"); + while(isdefined(level.activetarget) && isdefined(level.activetarget.scanprogress)) + { + if(level.player attackbuttonpressed() && level.activetarget.scanprogress != 60) + { + soundscripts\_snd::snd_message("mhunt_cafe_cam_scan_start"); + level.activetarget.scanprogress++; + if(!iscinematicplaying()) + { + cinematicingameloop("greece_match_search"); + } + } + else if(!level.player attackbuttonpressed()) + { + soundscripts\_snd::snd_message("mhunt_cafe_cam_scan_stop"); + stopcinematicingame(); + } + else if(level.activetarget.scanprogress == 60) + { + soundscripts\_snd::snd_message("mhunt_cafe_cam_scan_stop"); + stopcinematicingame(); + level.activetarget.potentialtarget = 0; + level.player notify("target_scanned"); + level.activetarget notify("target_scanned"); + level.activetarget thread displayscanresults(); + break; + } + + luinotifyevent(&"updateProgressBar",2,int(level.activetarget.scanprogress),int(60)); + wait(0.05); + } +} + +//Function Number: 16 +securitycamerahud() +{ + thread securitycamerazoomincontrols(); + thread securitycamerazoomoutcontrols(); + thread securitycamerazoommodifier(); + luinotifyevent(&"updateCurrentCamera",1,0); + luinotifyevent(&"initTabletHUD",0); +} + +//Function Number: 17 +securitycameraminimapangles() +{ + self endon("DisableSecurityCameras"); + for(;;) + { + var_00 = level.player getplayerangles(); + level.player setclientomnvar("ui_greece_camera_angle",int(var_00[1])); + wait 0.05; + } +} + +//Function Number: 18 +displayscanresults() +{ + level.player endon("DisableScanning"); + if(self.team == "axis" && !common_scripts\utility::flag("FlagKVATargetWaitTimerExpired")) + { + luinotifyevent(&"displayScanResults",2,1,int(level.activetarget.frequency)); + soundscripts\_snd::snd_message("mhunt_cafe_cam_scan_get"); + level notify("KVATargetFound"); + level notify("CancelMarketScanDialog"); + thread securitycameramarktargets(2); + thread maps\greece_safehouse_vo::scancameratargetdialogue(); + } + else if(self.team != "axis" && !common_scripts\utility::flag("FlagKVATargetWaitTimerExpired")) + { + luinotifyevent(&"displayScanResults",2,0,int(level.activetarget.frequency)); + soundscripts\_snd::snd_message("mhunt_cafe_cam_scan_fail"); + thread securitycameramarktargets(1); + thread maps\greece_safehouse_vo::scancameratargetdialogue(); + level.player notify("CafeScanResultsNegative"); + } + + wait(2); +} + +//Function Number: 19 +securitycameramarktargets(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 1; + } + + self hudoutlineenable(param_00,1); + thread securitycameraclearscannedtarget(); +} + +//Function Number: 20 +securitycameraclearscannedtarget() +{ + level.player endon("DisableSecurityCameras"); + self waittill("death"); + if(isdefined(self.team) && self.team != "axis") + { + if(target_istarget(self)) + { + target_remove(self); + } + + self hudoutlinedisable(); + } +} + +//Function Number: 21 +securitycameraclearalltargets() +{ + level.potentialscantargets = common_scripts\utility::array_removeundefined(level.potentialscantargets); + foreach(var_01 in level.potentialscantargets) + { + if(target_istarget(var_01)) + { + target_remove(var_01); + } + } +} + +//Function Number: 22 +securitycamerazoominstructions() +{ + level.player waittill("Zoom_Out"); + level.player setclientomnvar("ui_greece_camera_zoom_instructions",1); +} + +//Function Number: 23 +securitycamerazoomincontrols() +{ + self endon("DisableSecurityCameras"); + common_scripts\utility::flag_wait("FlagCameraScanUnlockZoom"); + setsaveddvar("cg_cinematicfullscreen","0"); + for(;;) + { + level.player waittill("Zoom_In"); + level.marketcamiszoomed = 1; + soundscripts\_snd::snd_message("mhunt_cafe_cam_zoom_in"); + luinotifyevent(&"updateTargetReticule",1,1); + maps\_utility::lerp_fov_overtime(0.35,20); + _adjustcamerayawpitchrate("Zoom In"); + level.player waittill("Zoom_Out"); + } +} + +//Function Number: 24 +securitycamerazoomoutcontrols() +{ + self endon("DisableSecurityCameras"); + common_scripts\utility::flag_wait("FlagCameraScanUnlockZoom"); + thread securitycamerazoominstructions(); + for(;;) + { + level.player waittill("Zoom_Out"); + level.marketcamiszoomed = 0; + soundscripts\_snd::snd_message("mhunt_cafe_cam_zoom_out"); + luinotifyevent(&"updateTargetReticule",1,0); + maps\_utility::lerp_fov_overtime(0.35,70); + _adjustcamerayawpitchrate("Zoom Out"); + level.player waittill("Zoom_In"); + } +} + +//Function Number: 25 +securitycameraadsmonitor() +{ + self endon("DisableSecurityCameras"); + for(;;) + { + if(level.player adsbuttonpressed()) + { + level.player notify("Zoom_In"); + } + else + { + level.player notify("Zoom_Out"); + } + + wait(0.05); + } +} + +//Function Number: 26 +securitycamerazoommodifier() +{ + self endon("DisableSecurityCameras"); + for(;;) + { + while(level.marketcamiszoomed) + { + if(isdefined(level.activetarget) && isdefined(level.activetarget.potentialtarget) && level.activetarget.potentialtarget == 1) + { + maps\_utility::lerp_fov_overtime(0.15,15); + } + else + { + maps\_utility::lerp_fov_overtime(0.15,20); + } + + wait(0.05); + } + + wait(0.05); + } +} + +//Function Number: 27 +_adjustcamerayawpitchrate(param_00) +{ + switch(param_00) + { + case "Zoom In": + setsaveddvar("aim_turnrate_pitch",35); + setsaveddvar("aim_turnrate_yaw",35); + setsaveddvar("aim_accel_turnrate_lerp",35); + break; + + case "Zoom Out": + setsaveddvar("aim_turnrate_pitch",50); + setsaveddvar("aim_turnrate_yaw",50); + setsaveddvar("aim_accel_turnrate_lerp",75); + break; + } +} + +//Function Number: 28 +securitycameradisable() +{ + if(!isdefined(level.securitycamerascanhud)) + { + return; + } + + self notify("DisableScanning"); + stopallrumbles(); + thread securitycameraclearalltargets(); + foreach(var_01 in level.securitycamerascanhud) + { + if(isdefined(var_01)) + { + var_01 maps\_hud_util::destroyelem(); + } + } + + self waittill("DisableSecurityCameras"); + wait(0.25); + level.player setblurforplayer(10,0.5); + level.player maps\_hud_util::fade_out(0.25,"white"); + level.player setclientomnvar("ui_manhunttablet",0); + common_scripts\utility::flag_set("init_safehouse_follow_lighting"); + if(isdefined(level.activetarget)) + { + level.activetarget hudoutlinedisable(); + } + + foreach(var_04 in level.potentialscantargets) + { + if(isalive(var_04)) + { + var_04 hudoutlinedisable(); + } + } + + foreach(var_01 in level.securitycamerahud) + { + if(isdefined(var_01)) + { + var_01 maps\_hud_util::destroyelem(); + } + } + + level.player takeweapon("hms_security_camera"); + maps\_utility::lerp_fov_overtime(0.1,65); + setsaveddvar("aim_turnrate_pitch",90); + setsaveddvar("aim_turnrate_pitch_ads",55); + setsaveddvar("aim_turnrate_yaw",260); + setsaveddvar("aim_turnrate_yaw_ads",90); + setsaveddvar("aim_accel_turnrate_lerp",1200); + setsaveddvar("cg_cinematicfullscreen","1"); +} + +//Function Number: 29 +scanfadeintro() +{ + wait(0.1); + level.player lerpfov(40,0.5); + level.player setblurforplayer(10,0.5); + wait(0.25); + level.player maps\_hud_util::fade_out(0.1,"white"); +} + +//Function Number: 30 +scanfadeoutro() +{ + wait(0.1); + thread maps\_hud_util::fade_in(0.25,"white"); + wait(0.1); + level.player setblurforplayer(0,0.1); +} + +//Function Number: 31 +securitycamerascantrace() +{ + self endon("DisableScanning"); + for(;;) + { + wait(0.05); + if(!level.marketcamiszoomed) + { + level.activetarget = undefined; + continue; + } + + level.player thread updatetraceentity(); + level.player thread updatetargetdetails(); + } +} + +//Function Number: 32 +updatetargetdetails() +{ + var_00 = 0; + if(isdefined(level.activetarget) && isdefined(level.activetarget.potentialtarget)) + { + if(level.activetarget.potentialtarget == 1) + { + var_00 = 2; + } + else + { + var_00 = 1; + } + } + + luinotifyevent(&"updateTargetDetails",2,var_00,int(level.intensity * 1000)); +} + +//Function Number: 33 +updatetraceentity() +{ + self endon("DisableScanning"); + var_00 = level.player geteye(); + var_01 = self getplayerangles(); + var_02 = anglestoforward(var_01); + var_03 = var_00 + var_02 * 7000; + var_04 = bullettrace(var_00,var_03,1,self,0,1); + var_05 = var_04["entity"]; + if(isdefined(var_05)) + { + if(!isdefined(level.activetarget) || var_05 != level.activetarget) + { + level.activetarget = var_05; + level.player notify("target_active"); + level.activetarget thread targetmonitor(); + if(isdefined(level.activetarget.potentialtarget) && level.activetarget.potentialtarget) + { + level.activetarget hudoutlineenable(5,0); + return; + } + + return; + } + + return; + } + + if(!isdefined(var_05)) + { + level.activetarget = undefined; + } +} + +//Function Number: 34 +securitycamerafovcheck() +{ + level.player waittill("CafeScanFirstCameraActive"); + level.player endon("DisableScanning"); + self endon("death"); + var_00 = 0; + if(isalive(self)) + { + for(;;) + { + var_01 = level.cameralinkpoint.origin; + var_02 = level.player getplayerangles(); + var_03 = self.origin + (0,0,48); + thread maps\_utility::draw_circle_for_time(var_03,24,1,0,0,0.5); + var_04 = common_scripts\utility::within_fov(var_01,var_02,var_03,cos(10)); + if(var_04 == 1 && level.marketcamiszoomed == 1 && var_00 == 0) + { + var_00 = 1; + continue; + } + + if(var_04 == 0 || level.marketcamiszoomed == 0) + { + var_00 = 0; + } + + wait(0.5); + } + } +} + +//Function Number: 35 +targetmonitor() +{ + self endon("death"); + for(;;) + { + if(!isdefined(level.activetarget) || level.activetarget != self) + { + level.player notify("target_lost"); + return; + } + + wait(0.05); + } +} \ No newline at end of file diff --git a/AW/PC/maps/greece_sniper_scramble.gsc b/AW/PC/maps/greece_sniper_scramble.gsc new file mode 100644 index 0000000..b4624a2 --- /dev/null +++ b/AW/PC/maps/greece_sniper_scramble.gsc @@ -0,0 +1,3993 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: greece_sniper_scramble.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 178 + * Decompile Time: 2664 ms + * Timestamp: 4/22/2024 2:31:31 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + sniperscrambleprecache(); + sniperscrambleflaginit(); + sniperscrambleglobalvars(); + sniperscrambleglobalsetup(); + maps\greece_sniper_scramble_fx::main(); + maps\greece_sniper_scramble_anim::main(); + maps\greece_sniper_scramble_vo::main(); + thread vehicle_scripts\_pdrone_tactical_picker::main(); + maps\_stingerm7_greece::init(); +} + +//Function Number: 2 +sniperscrambleprecache() +{ + precacheitem("iw5_hmr9_sp"); + precacheitem("iw5_hmr9_sp_variablereddot"); + precacheitem("iw5_bal27_sp"); + precacheitem("iw5_bal27_sp_silencer01_variablereddot"); + precacheitem("iw5_sn6_sp"); + precacheitem("fraggrenade"); + precacheitem("flash_grenade"); + precacheitem("hms_rail_sniper"); + precacheitem("iw5_titan45_sp"); + precacheitem("iw5_titan45_sp_opticsreddot_silencerpistol"); + precacherumble("silencer_fire"); + precacherumble("damage_light"); + precacherumble("damage_heavy"); + precacherumble("artillery_rumble"); + precacherumble("tank_rumble"); + precacherumble("subtle_tank_rumble"); + precachemodel("viewhands_atlas_military"); + precachemodel("vb_civilian_mitchell"); + precachemodel("npc_variable_grenade_nonlethal"); + precacheshader("damage_feedback"); + precachemodel("greece_sniper_tower_des"); + precachemodel("greece_sniper_tower_des_01"); + precachemodel("greece_sniper_tower_des_02"); + precachemodel("greece_sniper_tower_des_03"); + precachemodel("greece_sniper_tower_des_04"); + precachemodel("greece_sniper_tower_des_05"); + precachemodel("greece_sniper_tower_des_06"); + precachemodel("greece_sniper_tower_des_07"); + precachemodel("greece_cable_car_rigged"); + precachestring(&"GREECE_HINT_MOVE_TRUCK"); + precachestring(&"GREECE_HINT_MOVE_TRUCK_KB"); + precachestring(&"GREECE_FAIL_SCRAMBLE_LEFT_ILONA"); + precachestring(&"GREECE_FAIL_SCRAMBLE_SUPPRESS_SNIPER"); + precachestring(&"GREECE_OBJ_SCRAMBLE_SUPPRESS"); + precachestring(&"GREECE_OBJ_SAFEHOUSE_FOLLOW"); + precachestring(&"GREECE_OBJ_SCRAMBLE_DESTROY"); + precachestring(&"GREECE_OBJ_SCRAMBLE_ELIMINATE_SNIPER"); + precachestring(&"GREECE_OBJ_INTERCEPT_HADES"); + precachestring(&"GREECE_OBJ_SCRAMBLE_PICKUPSTINGER"); + precachestring(&"GREECE_OBJ_SCRAMBLE_PUSHTRUCK"); + maps\_utility::add_hint_string("scramble_suppress_sniper_1",&"GREECE_HINT_SCRAMBLE_SUPPRESS",::hintscramblesuppress1off); + maps\_utility::add_hint_string("scramble_suppress_sniper_2",&"GREECE_HINT_SCRAMBLE_SUPPRESS",::hintscramblesuppress2off); + maps\_utility::add_hint_string("scramble_advance_to_ilona",&"GREECE_HINT_SCRAMBLE_ADVANCE",::hintscrambleadvanceoff); + maps\_hms_door_interact::precachedooranimations(); +} + +//Function Number: 3 +sniperscrambleflaginit() +{ + common_scripts\utility::flag_init("FlagAlleysPipComplete"); + common_scripts\utility::flag_init("FlagAlleysIlanaReadyToExit"); + common_scripts\utility::flag_init("FlagScrambleSniperSuppressed"); + common_scripts\utility::flag_init("FlagScrambleIlanaBeginOpenIntroDoor"); + common_scripts\utility::flag_init("FlagScrambleIlanaEndOpenIntroDoor"); + common_scripts\utility::flag_init("FlagScrambleStartIntro"); + common_scripts\utility::flag_init("FlagScrambleStartHotel"); + common_scripts\utility::flag_init("FlagScrambleStartDrones"); + common_scripts\utility::flag_init("FlagScrambleStartFinale"); + common_scripts\utility::flag_init("FlagScrambleHotelIlanaStartRun"); + common_scripts\utility::flag_init("FlagScrambleHotelIlanaReachedGoal"); + common_scripts\utility::flag_init("FlagScrambleHotelIlanaJumpDown"); + common_scripts\utility::flag_init("FlagScrambleHotelBadLeapfrog"); + common_scripts\utility::flag_init("FlagScrambleHotelPlayerHasDecided"); + common_scripts\utility::flag_init("FlagScrambleCheckPlayerDecision"); + common_scripts\utility::flag_init("FlagScrambleReadyForWoundedSoldier"); + common_scripts\utility::flag_init("FlagScrambleDestroyFishTank"); + common_scripts\utility::flag_init("FlagScrambleWoundedSoldierKilled"); + common_scripts\utility::flag_init("FlagScrambleSniperKilled"); + common_scripts\utility::flag_init("FlagScramblePlayerJumping"); + common_scripts\utility::flag_init("FlagScrambleGapJumpStarted"); + common_scripts\utility::flag_init("FlagScrambleGapJumpCompleted"); + common_scripts\utility::flag_init("FlagScrambleIlanaGapJumpCompleted"); + common_scripts\utility::flag_init("FlagScrambleHotelJumpStarted"); + common_scripts\utility::flag_init("FlagScrambleHotelJumpCompleted"); + common_scripts\utility::flag_init("FlagScrambleCafeJumpStarted"); + common_scripts\utility::flag_init("FlagScrambleCafeJumpCompleted"); + common_scripts\utility::flag_init("FlagScrambleGetRPG"); + common_scripts\utility::flag_init("FlagScramblePlayerFireMissile"); + common_scripts\utility::flag_init("FlagScrambleObjSniperPos"); + common_scripts\utility::flag_init("FlagScrambleObjGapJumpPos"); + common_scripts\utility::flag_init("FlagScrambleObjSuppressSniper"); + common_scripts\utility::flag_init("FlagScrambleObjPoolCafePos"); + common_scripts\utility::flag_init("FlagScrambleObjWoundedSoldierPos"); + common_scripts\utility::flag_init("FlagScrambleObjRPGPos"); + common_scripts\utility::flag_init("FlagScrambleObjMoveTruckPos"); + common_scripts\utility::flag_init("FlagScrambleObjDestroyTower"); + common_scripts\utility::flag_init("FlagScramblePlayerHasStinger"); + common_scripts\utility::flag_init("FlagScrambleIlanaStartMoveTruck"); + common_scripts\utility::flag_init("FlagScrambleIlanaEndMoveTruck"); + common_scripts\utility::flag_init("FlagScramblePlayerStartMoveTruck"); + common_scripts\utility::flag_init("FlagScramblePlayerEndMoveTruck"); + common_scripts\utility::flag_init("FlagScrambleBeginHothall"); + common_scripts\utility::flag_init("FlagScrambleEndHothall"); + common_scripts\utility::flag_init("FlagDelayRPGReminderDialogue"); +} + +//Function Number: 4 +sniperscramblegameskillmultiplier() +{ + var_00 = level.player maps\_utility::get_player_gameskill(); + var_01[0] = 1.25; + var_01[1] = 1; + var_01[2] = 0.75; + var_01[3] = 0.5; + var_02 = var_01[var_00]; + if(level.player hasweapon("iw5_stingerm7greece_sp")) + { + var_02 = var_02 * 0.75; + } + + return var_02; +} + +//Function Number: 5 +sniperscrambleglobalvars() +{ + level.showdebugtoggle = 0; + level.dialogtable = "sp/greece_dialog.csv"; + level.sniperpos = getent("SniperEnemyPos","targetname"); + level.sniperpos.bsniperenabled = 0; + level.snipertargetent = undefined; + level.sniperalltargets = getentarray("SniperTargetPos","targetname"); + level.snipervisibletargets = []; + var_00 = spawnstruct(); + var_00.sniper_fx_base = common_scripts\utility::spawn_tag_origin(); + var_00.sniper_fx_base.origin = level.sniperpos.origin; + var_00.player_visible_duration = 0; + var_00.sniper_target_location = undefined; + var_00.suppression_time = 0; + var_00.shot_delay = 0; + var_00.draw_debug = 0; + var_00.debug_hud_elem = setup_sniper_debug_hud_elem(); + var_00.requires_player_los = 1; + var_00.sniper_finale = 0; + var_00.player_in_disable_sniper_volume = 0; + var_00.minburstfireinterval = 0.8; + var_00.maxburstfireinterval = 1.6; + var_00.minburstdelay = 1.5; + var_00.maxburstdelay = 2; + level.sniper_scramble_data = var_00; +} + +//Function Number: 6 +sniperscrambleglobalsetup() +{ + maps\_utility::battlechatter_on("allies"); + maps\_utility::battlechatter_on("axis"); + thread sniperscramblebegin(); + thread sniperscrambleobjectivesetup(); + thread maps\greece_code::setdefaulthudoutlinedvars(); +} + +//Function Number: 7 +sniperscramblestartpoints() +{ + maps\_utility::add_start("start_sniper_scramble_intro",::initsniperscrambleintro); + maps\_utility::add_start("start_sniper_scramble_hotel",::initsniperscramblehotel); + maps\_utility::add_start("start_sniper_scramble_drones",::initsniperscrambledrones); + maps\_utility::add_start("start_sniper_scramble_finale",::initsniperscramblefinale); + maps\greece_starts::add_greece_starts("sniper_scramble"); +} + +//Function Number: 8 +initsniperscrambleintro() +{ + maps\_utility::teleport_player(common_scripts\utility::getstruct("PlayerStartScrambleIntro","targetname")); + maps\_hms_utility::setupplayerinventory("iw5_titan45_sp_opticsreddot_silencerpistol","iw5_hmr9_sp_variablereddot","fraggrenade","flash_grenade","iw5_hmr9_sp_variablereddot"); + maps\_variable_grenade::give_player_variable_grenade(); + thread maps\_player_exo::player_exo_activate(); + if(!isdefined(level.map_without_loadout) || level.map_without_loadout == 0) + { + maps\greece_conf_center_fx::confcenterresidualsmoke(); + maps\greece_safehouse_fx::ambientcloudskill(); + } + + maps\_hms_utility::spawnandinitnamedally("Ilona","AllyStartScrambleIntro",1,1,"IlanaSniperScramble"); + thread ilanascrambleinit(); + thread gondolaanimation(); + thread scramblemodifyplayerviewkick(); + thread scramblevisitorcentergateopen(); + common_scripts\utility::flag_set("FlagSniperScrambleStart"); + common_scripts\utility::flag_set("FlagAlleysPipComplete"); + common_scripts\utility::flag_set("FlagAlleysIlanaReadyToExit"); + common_scripts\utility::flag_set("init_sniper_scramble_finale_lighting"); + soundscripts\_snd::snd_message("start_sniper_scramble_intro_checkpoint"); +} + +//Function Number: 9 +initsniperscramblehotel() +{ + maps\_utility::teleport_player(common_scripts\utility::getstruct("PlayerStartScrambleHotel","targetname")); + maps\_hms_utility::setupplayerinventory("iw5_titan45_sp_opticsreddot_silencerpistol","iw5_hmr9_sp_variablereddot","fraggrenade","flash_grenade","iw5_hmr9_sp_variablereddot"); + maps\_variable_grenade::give_player_variable_grenade(); + thread maps\_player_exo::player_exo_activate(); + if(!isdefined(level.map_without_loadout) || level.map_without_loadout == 0) + { + thread maps\greece_code::blimp_animation("blimpOrg","market_intro_blimp"); + maps\greece_conf_center_fx::confcenterresidualsmoke(); + maps\greece_safehouse_fx::ambientcloudskill(); + } + + maps\_hms_utility::spawnandinitnamedally("Ilona","AllyStartScrambleHotel",1,1,"IlanaSniperScramble"); + thread maps\_hms_utility::allyredirectgotonode("Ilona","AllyStartScrambleHotelCover"); + thread scramblesetupexittruck(); + thread torresblood(); + thread sniperscrambleinit(); + snipersettargetent(undefined); + thread monitorsupersafevol(); + thread updatesnipershooting(); + thread snipershootnearhotelciv(); + thread scramblecivhotel(); + thread scramblecivhothall(); + thread scramblecivpool(); + thread gondolaanimation(); + level.allies["Ilona"] thread ilanascramblemovement(); + level.player thread initsniperscramblesuppressionfeedback(); + thread scramblemodifyplayerviewkick(); + thread scrambledestroycafewall(); + common_scripts\utility::flag_set("FlagScrambleStartHotel"); + common_scripts\utility::flag_set("init_sniper_scramble_hotel_lighting"); + soundscripts\_snd::snd_message("start_sniper_scramble_hotel_checkpoint"); +} + +//Function Number: 10 +initsniperscrambledrones() +{ + maps\_utility::teleport_player(common_scripts\utility::getstruct("PlayerStartScrambleDrones","targetname")); + maps\_hms_utility::setupplayerinventory("iw5_titan45_sp_opticsreddot_silencerpistol","iw5_hmr9_sp_variablereddot","fraggrenade","flash_grenade","iw5_hmr9_sp_variablereddot"); + maps\_variable_grenade::give_player_variable_grenade(); + thread maps\_player_exo::player_exo_activate(); + if(!isdefined(level.map_without_loadout) || level.map_without_loadout == 0) + { + thread maps\greece_code::blimp_animation("blimpOrg","market_intro_blimp"); + maps\greece_conf_center_fx::confcenterresidualsmoke(); + maps\greece_safehouse_fx::ambientcloudskill(); + } + + maps\_hms_utility::spawnandinitnamedally("Ilona","AllyStartScrambleDrones",1,1,"IlanaSniperScramble"); + thread maps\_hms_utility::allyredirectgotonode("Ilona","AllyStartScrambleDronesCover"); + thread scramblesetupexittruck(); + thread torresblood(); + thread sniperscrambleinit(); + snipersettargetent(undefined); + thread monitorsupersafevol(); + thread updatesnipershooting(); + thread scramblecivdrones(); + thread gondolaanimation(); + level.allies["Ilona"] thread ilanascramblemovement(); + level.player thread initsniperscramblesuppressionfeedback(); + thread scramblemodifyplayerviewkick(); + common_scripts\utility::flag_set("FlagScrambleStartDrones"); + common_scripts\utility::flag_set("init_sniper_scramble_drones_lighting"); + soundscripts\_snd::snd_message("start_sniper_scramble_drones_checkpoint"); +} + +//Function Number: 11 +initsniperscramblefinale() +{ + maps\_utility::teleport_player(common_scripts\utility::getstruct("PlayerStartScrambleFinale","targetname")); + maps\_hms_utility::setupplayerinventory("iw5_titan45_sp_opticsreddot_silencerpistol","iw5_hmr9_sp_variablereddot","fraggrenade","flash_grenade","iw5_hmr9_sp_variablereddot"); + maps\_variable_grenade::give_player_variable_grenade(); + thread maps\_player_exo::player_exo_activate(); + if(!isdefined(level.map_without_loadout) || level.map_without_loadout == 0) + { + thread maps\greece_code::blimp_animation("blimpOrg","market_intro_blimp"); + maps\greece_conf_center_fx::confcenterresidualsmoke(); + maps\greece_safehouse_fx::ambientcloudskill(); + } + + maps\_hms_utility::spawnandinitnamedally("Ilona","AllyStartScrambleFinale",1,1,"IlanaSniperScramble"); + thread scramblesetupexittruck(); + thread torresblood(); + thread sniperscrambleinit(); + snipersettargetent(undefined); + thread monitorsupersafevol(); + thread updatesnipershooting(); + thread scramblefinaleallies(); + thread gondolaanimation(); + thread pitbulldestroyedanimation(); + level.allies["Ilona"] thread ilanascramblemovement(); + level.player thread initsniperscramblesuppressionfeedback(); + thread scramblemodifyplayerviewkick(); + common_scripts\utility::flag_set("FlagScrambleStartFinale"); + common_scripts\utility::flag_set("init_sniper_scramble_finale_lighting"); + soundscripts\_snd::snd_message("start_sniper_scramble_finale_checkpoint"); +} + +//Function Number: 12 +sniperscrambleobjectivesetup() +{ + waittillframeend; + thread objscramblekillsniper(); + sniperscramblesetcompletedobjflags(); +} + +//Function Number: 13 +sniperscramblesetcompletedobjflags() +{ + var_00 = level.start_point; + if(!common_scripts\utility::string_starts_with(var_00,"start_sniper_scramble_")) + { + return; + } + + if(var_00 == "start_sniper_scramble_intro") + { + return; + } + + common_scripts\utility::flag_set("FlagScrambleObjSniperPos"); + if(var_00 == "start_sniper_scramble_hotel") + { + return; + } + + if(var_00 == "start_sniper_scramble_drones") + { + return; + } + + if(var_00 == "start_sniper_scramble_finale") + { + } +} + +//Function Number: 14 +objscramblekillsniper() +{ + common_scripts\utility::flag_wait("FlagScrambleObjSniperPos"); + var_00 = getent("ScrambleSniperObj","targetname"); + thread objscramblegapjump(); + thread objscramblesuppress(var_00); + thread objscramblepoolcafe(); + thread objscramblejumpdown(); + thread objscramblefollowilana(); + thread objscramblewoundedsoldier(); + thread objscramblerpg(); + thread objscramblesnipertower(var_00); + var_01 = getentarray("ScrambleSniperWindowTarget","targetname"); + for(;;) + { + if(level.player hasweapon("iw5_stingerm7greece_sp")) + { + break; + } + + wait(0.5); + } + + common_scripts\utility::flag_set("FlagScrambleObjDestroyTower"); + foreach(var_03 in var_01) + { + var_03 hudoutlineenable(1,0); + } + + common_scripts\utility::flag_wait("FlagScrambleSniperKilled"); + foreach(var_03 in var_01) + { + var_03 hudoutlinedisable(); + var_03 delete(); + } + + var_07 = getent("ScrambleSniperWindowTargetBack","targetname"); + var_07 delete(); + thread objscramblemovetruck(); +} + +//Function Number: 15 +objscramblegapjump() +{ + common_scripts\utility::flag_wait("FlagScrambleObjGapJumpPos"); + var_00 = getent("ScrambleGapJumpObj","targetname"); + objective_additionalposition(maps\_utility::obj("InterceptHades"),1,var_00.origin); + common_scripts\utility::flag_wait("FlagScrambleGapJumpStarted"); + objective_additionalposition(maps\_utility::obj("InterceptHades"),1,(0,0,0)); +} + +//Function Number: 16 +objscramblesuppress(param_00) +{ + common_scripts\utility::flag_wait("FlagScrambleObjSuppressSniper"); + objective_position(maps\_utility::obj("InterceptHades"),param_00.origin); + objective_setpointertextoverride(maps\_utility::obj("InterceptHades"),&"GREECE_OBJ_SCRAMBLE_SUPPRESS"); + thread objscramblesuppressdisplay(); + thread objscrambleplayerrunfirst(param_00); + common_scripts\utility::flag_wait("FlagScrambleHotelIlanaReachedGoal"); + level notify("EndObjScrambleSuppress"); + objective_position(maps\_utility::obj("InterceptHades"),(0,0,0)); + objective_setpointertextoverride(maps\_utility::obj("InterceptHades"),""); +} + +//Function Number: 17 +objscrambleplayerrunfirst(param_00) +{ + common_scripts\utility::flag_wait("FlagScrambleObjPoolCafePos"); + level notify("EndObjScrambleSuppress"); + objective_position(maps\_utility::obj("InterceptHades"),(0,0,0)); + objective_setpointertextoverride(maps\_utility::obj("InterceptHades"),""); + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerNearThirdJump"); + if(!common_scripts\utility::flag("FlagScrambleHotelIlanaReachedGoal")) + { + objective_position(maps\_utility::obj("InterceptHades"),param_00.origin); + objective_setpointertextoverride(maps\_utility::obj("InterceptHades"),&"GREECE_OBJ_SCRAMBLE_SUPPRESS"); + thread objscramblesuppressdisplay(); + } +} + +//Function Number: 18 +objscramblesuppressdisplay() +{ + level endon("EndObjScrambleSuppress"); + for(;;) + { + wait(0.1); + if(common_scripts\utility::flag("FlagScrambleSniperSuppressed")) + { + objective_setpointertextoverride(maps\_utility::obj("InterceptHades")," "); + continue; + } + + objective_setpointertextoverride(maps\_utility::obj("InterceptHades"),&"GREECE_OBJ_SCRAMBLE_SUPPRESS"); + } +} + +//Function Number: 19 +objscramblepoolcafe() +{ + common_scripts\utility::flag_wait("FlagScrambleObjPoolCafePos"); + var_00 = getent("ScramblePoolCafeObj","targetname"); + objective_additionalposition(maps\_utility::obj("InterceptHades"),1,var_00.origin); + objective_setpointertextoverride(maps\_utility::obj("InterceptHades"),""); + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerNearThirdJump"); + objective_additionalposition(maps\_utility::obj("InterceptHades"),1,(0,0,0)); +} + +//Function Number: 20 +objscramblejumpdown() +{ + common_scripts\utility::flag_wait("FlagScrambleHotelIlanaJumpDown"); + var_00 = getent("ScrambleJumpDownObj","targetname"); + objective_additionalposition(maps\_utility::obj("InterceptHades"),1,var_00.origin); + common_scripts\utility::flag_wait("FlagScrambleCafeJumpStarted"); + objective_additionalposition(maps\_utility::obj("InterceptHades"),1,(0,0,0)); +} + +//Function Number: 21 +objscramblefollowilana() +{ + common_scripts\utility::flag_wait("FlagScrambleDronesAdead"); + objective_onentity(maps\_utility::obj("InterceptHades"),level.allies["Ilona"]); + objective_setpointertextoverride(maps\_utility::obj("InterceptHades"),&"GREECE_OBJ_SAFEHOUSE_FOLLOW"); + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerAlmostNearWoundedSoldier"); + objective_position(maps\_utility::obj("InterceptHades"),(0,0,0)); + objective_setpointertextoverride(maps\_utility::obj("InterceptHades"),""); +} + +//Function Number: 22 +objscrambledrones() +{ + var_00 = getent("ScrambleSniperObj","targetname"); + common_scripts\utility::flag_wait("FlagScrambleStartDrones"); + objective_position(maps\_utility::obj("InterceptHades"),(0,0,0)); + common_scripts\utility::flag_wait("FlagScrambleDronesAdead"); + objective_position(maps\_utility::obj("InterceptHades"),var_00.origin); +} + +//Function Number: 23 +objscramblewoundedsoldier() +{ + common_scripts\utility::flag_wait("FlagScrambleObjWoundedSoldierPos"); + var_00 = getent("ScrambleWoundedSoldierObj","targetname"); + objective_additionalposition(maps\_utility::obj("InterceptHades"),1,var_00.origin); + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerNearWoundedSoldier"); + objective_additionalposition(maps\_utility::obj("InterceptHades"),1,(0,0,0)); +} + +//Function Number: 24 +objscramblerpg() +{ + common_scripts\utility::flag_wait("FlagScrambleObjRPGPos"); + var_00 = getent("ScrambleRPGObj","targetname"); + var_01 = getent("ScrambleStairs1Obj","targetname"); + var_02 = getent("ScrambleStairs2Obj","targetname"); + objective_add(maps\_utility::obj("InterceptHades"),"active",&"GREECE_OBJ_SCRAMBLE_ELIMINATE_SNIPER",(0,0,0)); + objective_current(maps\_utility::obj("InterceptHades")); + objective_position(maps\_utility::obj("InterceptHades"),var_01.origin); + objective_setpointertextoverride(maps\_utility::obj("InterceptHades")," "); + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerOnStairs"); + objective_position(maps\_utility::obj("InterceptHades"),var_02.origin); + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerNearRPG"); + objective_position(maps\_utility::obj("InterceptHades"),var_00.origin); + objective_setpointertextoverride(maps\_utility::obj("InterceptHades"),&"GREECE_OBJ_SCRAMBLE_PICKUPSTINGER"); + var_03 = getent("ScrambleStingerPickup","targetname"); + var_03 hudoutlineenable(3); +} + +//Function Number: 25 +objscramblesnipertower(param_00) +{ + common_scripts\utility::flag_wait("FlagScrambleObjDestroyTower"); + objective_position(maps\_utility::obj("InterceptHades"),param_00.origin); + objective_setpointertextoverride(maps\_utility::obj("InterceptHades"),&"GREECE_OBJ_SCRAMBLE_DESTROY"); + common_scripts\utility::flag_wait("FlagScramblePlayerFireMissile"); + objective_position(maps\_utility::obj("InterceptHades"),(0,0,0)); + objective_setpointertextoverride(maps\_utility::obj("InterceptHades"),""); +} + +//Function Number: 26 +objscramblemovetruck() +{ + common_scripts\utility::flag_wait("FlagScrambleObjMoveTruckPos"); + var_00 = getent("ScrambleMoveTruckObj","targetname"); + objective_add(maps\_utility::obj("InterceptHades"),"active",&"GREECE_OBJ_INTERCEPT_HADES",(0,0,0)); + objective_current(maps\_utility::obj("InterceptHades")); + objective_position(maps\_utility::obj("InterceptHades"),var_00.origin); + objective_setpointertextoverride(maps\_utility::obj("InterceptHades"),&"GREECE_OBJ_SCRAMBLE_PUSHTRUCK"); + var_01 = getent("ScrambleExitTruck","targetname"); + var_01 hudoutlineenable(3); + common_scripts\utility::flag_wait("FlagScramblePlayerStartMoveTruck"); + objective_position(maps\_utility::obj("InterceptHades"),(0,0,0)); + objective_setpointertextoverride(maps\_utility::obj("InterceptHades")," "); + var_01 hudoutlinedisable(); +} + +//Function Number: 27 +sniperscrambleinit() +{ + thread ilanascrambleinit(); + thread snipersetupglass(); + thread monitorphysicschairs(); + thread monitormantlevols(); + level.player thread monitorlastweapon(); + level.player thread stingerpronestatemonitor(); + if(level.nextgen || istransientloaded("greece_middle_tr")) + { + thread scramblestartdoorinit(); + } + + thread scramblemodifyplayerviewkick(); + if(!isdefined(level.map_without_loadout) || level.map_without_loadout == 0) + { + thread maps\greece_code::blimp_animation("blimpOrg","market_intro_blimp"); + } +} + +//Function Number: 28 +scramblemodifyplayerviewkick() +{ + var_00 = level.player getviewkickscale(); + level.player setviewkickscale(0.15); + common_scripts\utility::flag_wait("FlagScrambleSniperKilled"); + level.player setviewkickscale(var_00); + killfxontag(common_scripts\utility::getfx("railgun_sniper_glint"),level.sniper_scramble_data.sniper_fx_base,"tag_origin"); +} + +//Function Number: 29 +sniperscramblebegin() +{ + common_scripts\utility::flag_wait("FlagSniperScrambleStart"); + thread sniperscrambleinit(); + thread scrambledestroycafewall(); + level.player thread initsniperscramblesuppressionfeedback(); + thread sniperintro(); + thread scrambleplayergapjump(); + thread scramblesetupexittruck(); + thread torresblood(); + thread gondolaanimation(); + if(!isdefined(level.map_without_loadout) || level.map_without_loadout == 0) + { + thread maps\greece_code::blimp_animation("blimpOrg","market_intro_blimp"); + } +} + +//Function Number: 30 +sniperintro() +{ + common_scripts\utility::flag_set("FlagScrambleStartIntro"); + thread scramblecivpatio(); + thread ilanascrambleopenstartdoor(); + thread snipershootintrodoor(); + thread snipershootfirstcivilian(); +} + +//Function Number: 31 +snipershootintrodoor() +{ + level.sniperpos.bsniperenabled = 0; + level waittill("ScrambleSniperFireFirstShot"); + var_00 = common_scripts\utility::getstruct("SniperFirstTargetPos","script_noteworthy"); + snipershoot(var_00.origin,1.5,1); + soundscripts\_snd::snd_message("windmill_sniper_shot",var_00.origin); + level waittill("ScrambleSniperFireSecondShot"); + var_01 = common_scripts\utility::getstruct("SniperSecondTargetPos","script_noteworthy"); + snipershoot(var_01.origin,1.25,1); + soundscripts\_snd::snd_message("windmill_sniper_shot",var_01.origin); + level waittill("ScrambleSniperFireThirdShot"); + var_02 = common_scripts\utility::getstruct("SniperThirdTargetPos","script_noteworthy"); + snipershoot(var_02.origin,1.25,1); + soundscripts\_snd::snd_message("windmill_sniper_shot",var_02.origin); +} + +//Function Number: 32 +snipershoothothall() +{ + level.sniperpos.bsniperenabled = 0; + level waittill("hothall_sniper_shot"); + var_00 = common_scripts\utility::getstruct("HothallSniperTarget1","script_noteworthy"); + snipershoot(var_00.origin,1.5,1); + soundscripts\_snd::snd_message("windmill_sniper_shot",var_00.origin); + level waittill("hothall_sniper_shot"); + var_01 = maps\_utility::get_living_ai("HothallSniperTarget2","script_noteworthy"); + var_02 = var_01 snipertargetgettagpos(); + snipershoot(var_02,1.25,1); + soundscripts\_snd::snd_message("windmill_sniper_shot",var_01.origin); + level waittill("hothall_sniper_shot"); + var_03 = common_scripts\utility::getstruct("HothallSniperTarget1","script_noteworthy"); + snipershoot(var_03.origin,1.25,1); + soundscripts\_snd::snd_message("windmill_sniper_shot",var_03.origin); + level waittill("hothall_sniper_shot"); + var_04 = maps\_utility::get_living_ai("HothallSniperTarget4","script_noteworthy"); + var_05 = var_04 snipertargetgettagpos(); + snipershoot(var_05,1.25,1); + soundscripts\_snd::snd_message("windmill_sniper_shot",var_04.origin); + level.sniperpos.bsniperenabled = 1; +} + +//Function Number: 33 +updatescopeglintwarning() +{ + var_00 = 0; + var_01 = 0; + var_02 = 0; + var_03 = 2; + var_04 = var_03 * 2; + var_05 = 10; + var_06 = var_05 / 2; + var_07 = level.player geteye(); + for(;;) + { + wait(0.05); + if(level.sniper_scramble_data.player_visible_duration <= 0) + { + if(var_00) + { + killfxontag(common_scripts\utility::getfx("railgun_sniper_glint"),level.sniper_scramble_data.sniper_fx_base,"tag_origin"); + var_00 = 0; + } + + continue; + } + + if(!var_00) + { + playfxontag(common_scripts\utility::getfx("railgun_sniper_glint"),level.sniper_scramble_data.sniper_fx_base,"tag_origin"); + var_00 = 1; + var_08 = level.player.origin - level.sniperpos.origin; + level.sniper_scramble_data.sniper_fx_base.angles = vectortoangles(var_08); + } + + var_01 = var_01 + var_03; + var_01 = common_scripts\utility::mod(var_01,360 + var_03); + var_09 = sin(var_01); + var_02 = var_02 + var_04; + var_02 = common_scripts\utility::mod(var_02,360 + var_04); + var_0A = sin(var_02); + var_0B = vectorcross(vectornormalize(level.player geteye() - level.sniperpos.origin),(0,0,1)); + var_0C = var_0B * var_09 * var_05; + var_0C = (var_0C[0],var_0C[1],var_0A * var_06); + var_07 = vectorlerp(var_07,level.player geteye() + var_0C,0.5); + var_0D = var_07 - level.sniperpos.origin; + level.sniper_scramble_data.sniper_fx_base.angles = vectortoangles(var_0D); + } +} + +//Function Number: 34 +snipershoot(param_00,param_01,param_02) +{ + level endon("ScrambleSniperKilled"); + if(!isdefined(param_01)) + { + param_01 = 1; + } + + if(isdefined(param_02) && level.sniper_scramble_data.shot_delay < 2) + { + level.sniper_scramble_data.shot_delay = 2; + } + + var_03 = level.sniperpos.origin; + var_04 = vectornormalize(param_00 - var_03); + playfx(common_scripts\utility::getfx("railgun_sniper_tracer"),var_03,var_04,(0,0,1)); + magicbullet("hms_rail_sniper",var_03,param_00); + thread snipernearshotshake(param_00,param_01); + level.sniperpos.lastshottime = gettime(); + if(level.sniper_scramble_data.draw_debug == 1) + { + thread common_scripts\utility::draw_line_for_time(level.sniperpos.origin,param_00,1,1,1,0.5); + thread maps\_utility::draw_circle_for_time(param_00,32,1,0,0,1); + } +} + +//Function Number: 35 +snipernearshotshake(param_00,param_01) +{ + wait(0.05); + if(!isdefined(param_01)) + { + param_01 = 1; + } + + var_02 = vectorfromlinetopoint(level.sniperpos.origin,param_00,level.player.origin); + var_03 = length(var_02); + if(var_03 > 500 * param_01) + { + return; + } + + var_04 = 100 * param_01; + var_05 = 200 * param_01; + var_06 = undefined; + var_07 = undefined; + if(var_03 <= var_04) + { + level.player playrumbleonentity("damage_light"); + var_06 = randomfloatrange(0.4,0.5) * param_01; + var_07 = randomfloatrange(0.6,0.8); + thread maps\_utility::dirt_on_screen_from_position(param_00); + } + else if(var_03 <= var_05) + { + level.player playrumbleonentity("damage_light"); + var_06 = randomfloatrange(0.2,0.4) * param_01; + var_07 = randomfloatrange(0.4,0.6); + } + else + { + var_06 = randomfloatrange(0.1,0.3) * param_01; + var_07 = randomfloatrange(0.2,0.4); + } + + earthquake(var_06,var_07,level.player.origin,100); +} + +//Function Number: 36 +updatesnipersuppression() +{ + level endon("ScrambleSniperKilled"); + var_00 = getent("ScrambleSniperWindow","targetname"); + var_00 thread monitorsnipertowersuppressiondamage(); + thread updatesuppressionduration(var_00); + while(isdefined(var_00)) + { + var_00 waittill("bullethit"); + level.sniper_scramble_data.suppression_time = 4; + wait(0.05); + } +} + +//Function Number: 37 +updatesuppressionduration(param_00) +{ + level endon("ScrambleSniperKilled"); + var_01 = 0; + while(isdefined(param_00)) + { + wait(0.05); + if(level.sniper_scramble_data.suppression_time > 0) + { + if(!var_01) + { + var_01 = 1; + level notify("ScrambleSniperSuppressed"); + common_scripts\utility::flag_set("FlagScrambleSniperSuppressed"); + } + + level.sniper_scramble_data.suppression_time = level.sniper_scramble_data.suppression_time - 0.05; + continue; + } + + if(var_01) + { + var_01 = 0; + common_scripts\utility::flag_clear("FlagScrambleSniperSuppressed"); + } + } +} + +//Function Number: 38 +sniperissuppressed() +{ + return level.sniper_scramble_data.suppression_time > 0; +} + +//Function Number: 39 +snipersettargetent(param_00) +{ + if(isdefined(param_00)) + { + level notify("StopSniperTargetSearch"); + level.snipertargetent = param_00; + return; + } + + thread updatesnipertargeting(); +} + +//Function Number: 40 +updatesnipershooting() +{ + childthread updatesnipersuppression(); + childthread updatescopeglintwarning(); + level.sniperpos.bsniperenabled = 1; + while(!common_scripts\utility::flag("FlagScrambleSniperKilled")) + { + wait(0.05); + if(isshotdelayed() || !shouldfireattarget()) + { + continue; + } + + var_01 = snipergettargetpos(); + soundscripts\_snd::snd_message("windmill_sniper_shot_multi",var_01); + snipershoot(var_01); + var_02 = randomfloatrange(level.sniper_scramble_data.minburstdelay,level.sniper_scramble_data.maxburstdelay); + if(isdefined(level.snipertargetent) && isplayer(level.snipertargetent)) + { + var_02 = var_02 * sniperscramblegameskillmultiplier(); + } + + wait(var_02); + } +} + +//Function Number: 41 +isshotdelayed() +{ + if(sniperissuppressed()) + { + return 1; + } + + if(level.sniperpos.bsniperenabled == 0) + { + return 1; + } + + return level.sniper_scramble_data.shot_delay > 0; +} + +//Function Number: 42 +shouldfireattarget() +{ + if(level.sniper_scramble_data.player_in_disable_sniper_volume) + { + return 0; + } + + if(sniperissuppressed()) + { + return 0; + } + + if(level.sniperpos.bsniperenabled == 0) + { + return 0; + } + + return isdefined(level.snipertargetent) || isdefined(level.sniper_scramble_data.sniper_target_location); +} + +//Function Number: 43 +snipergettargetpos() +{ + if(isdefined(level.snipertargetent)) + { + return getentitytargetlocationwithspread(level.snipertargetent); + } + + return level.sniper_scramble_data.sniper_target_location; +} + +//Function Number: 44 +calculate_lateral_move_accuracy(param_00) +{ + var_01 = param_00.origin - level.sniperpos.origin * (1,1,0); + var_01 = vectornormalize(var_01); + var_01 = (var_01[1],var_01[0] * -1,0); + var_02 = abs(vectordot(var_01,param_00 getvelocity())); + var_02 = clamp(var_02,0,250) / 250; + var_02 = 1 - var_02; + var_02 = clamp(var_02,0.3,1); + return var_02; +} + +//Function Number: 45 +calculate_stance_accuracy(param_00) +{ + if(param_00 getstance() == "crouch") + { + return 0.75; + } + else if(param_00 getstance() == "prone") + { + return 0.5; + } + + return 1; +} + +//Function Number: 46 +calculate_sprinting_jumping_accuracy(param_00) +{ + if(param_00 issprinting() || param_00 isjumping()) + { + return 0.5; + } + + return 1; +} + +//Function Number: 47 +getentitytargetlocationwithspread(param_00) +{ + var_01 = param_00 geteye(); + var_02 = param_00 geteye() - param_00.origin; + var_03 = (0,0,var_02[2] * 0.85); + var_04 = 0.3; + var_05 = param_00.origin - level.sniperpos.origin; + var_05 = var_05 * (1,1,0); + var_05 = vectornormalize(var_05); + if(isplayer(param_00)) + { + var_04 = 1; + if(level.sniper_scramble_data.sniper_finale) + { + var_04 = var_04 * calculate_lateral_move_accuracy(level.player); + var_04 = var_04 * calculate_stance_accuracy(level.player); + var_04 = var_04 * calculate_sprinting_jumping_accuracy(level.player); + if(level.player hasweapon("iw5_stingerm7greece_sp")) + { + var_04 = var_04 * 0.5; + var_04 = clamp(var_04,0.5,1); + } + } + } + + var_06 = vectorcross((0,0,1),var_05); + var_07 = var_06 * 8 / var_04 * randomfloatrange(-1,1); + var_08 = (0,0,4) / var_04 * randomfloatrange(-1,1); + var_09 = var_07 + var_08; + var_0A = param_00.origin + var_03 + var_09; + return var_0A; +} + +//Function Number: 48 +targetinsafevolume(param_00,param_01) +{ + foreach(var_03 in param_01) + { + if(var_03.bisactivated == 1 && param_00 istouching(var_03)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 49 +updatesnipertargeting() +{ + level notify("UpdateSniperTargeting"); + level endon("UpdateSniperTargeting"); + var_00 = getentarray("TriggerScrambleSafeVol","targetname"); + foreach(var_02 in var_00) + { + var_02.bisactivated = 1; + } + + for(;;) + { + wait(0.05); + level.sniper_scramble_data.shot_delay = level.sniper_scramble_data.shot_delay - 0.05; + level.sniper_scramble_data.shot_delay = max(level.sniper_scramble_data.shot_delay,0); + if(!common_scripts\utility::flag("FlagScrambleSniperSuppressed") && updatesnipertargetentitylocation(var_00)) + { + continue; + } + + level.snipertargetent = undefined; + level.sniper_scramble_data.player_visible_duration = 0; + updatesnipertargetlocation(); + } +} + +//Function Number: 50 +updatesnipertargetentitylocation(param_00) +{ + var_01 = undefined; + if(level.sniper_scramble_data.requires_player_los && !level.player ismantling() && !targetinsafevolume(level.player,param_00)) + { + var_01 = bullettrace(level.sniperpos.origin,level.player geteye(),0,level.player,0,0,0,0,0); + } + + if((isdefined(var_01) && var_01["fraction"] == 1) || !level.sniper_scramble_data.requires_player_los) + { + level.sniper_scramble_data.player_visible_duration = level.sniper_scramble_data.player_visible_duration + 0.05; + if(level.sniper_scramble_data.player_visible_duration < 2) + { + return 1; + } + + level.snipertargetent = level.player; + return 1; + } + + var_01 = undefined; + if(!targetinsafevolume(level.allies["Ilona"],param_00)) + { + var_01 = bullettrace(level.sniperpos.origin,level.player geteye(),0,level.allies["Ilona"],0,0,0,0,0); + } + + if(isdefined(var_01) && var_01["fraction"] == 1) + { + level.snipertargetent = level.allies["Ilona"]; + level.sniper_scramble_data.player_visible_duration = 0; + return 1; + } + + return 0; +} + +//Function Number: 51 +updatesnipertargetlocation() +{ + var_00 = 48; + var_01 = 216; + var_02 = 2000; + if(findsnipertargetnearactor(var_01,var_02)) + { + return; + } + + if(findrandomlocationneartarget(var_00,var_01)) + { + return; + } + + level.sniper_scramble_data.sniper_target_location = undefined; +} + +//Function Number: 52 +findsnipertargetnearactor(param_00,param_01) +{ + var_02 = squared(param_00); + level.sniperalltargets = maps\_utility::array_removedead_or_dying(level.sniperalltargets); + foreach(var_06, var_04 in level.sniperalltargets) + { + if(isdefined(var_04.lasttime) && gettime() - var_04.lasttime < param_01) + { + continue; + } + + if(distance2dsquared(level.player.origin,var_04.origin) > var_02) + { + continue; + } + + if(level.player maps\_utility::point_in_fov(var_04.origin) == 0) + { + continue; + } + + if(isai(var_04)) + { + var_04.lasttime = gettime(); + var_05 = var_04 snipertargetgettagpos(); + } + else + { + var_05 = var_06.origin; + } + + level.sniper_scramble_data.sniper_target_location = var_05; + return 1; + } + + return 0; +} + +//Function Number: 53 +findrandomlocationneartarget(param_00,param_01) +{ + var_02 = level.player; + if(isdefined(level.snipertargetent)) + { + var_02 = level.snipertargetent; + } + + for(var_03 = 0;var_03 <= 5;var_03++) + { + if(common_scripts\utility::cointoss()) + { + var_04 = (var_02.angles[0],var_02.angles[1] + randomintrange(-45,45),var_02.angles[2]); + var_05 = anglestoforward(var_04); + var_06 = var_02.origin + var_05 * randomfloatrange(param_00,param_01); + if(!bullettracepassed(level.sniperpos.origin,var_06,0,undefined)) + { + continue; + } + } + else + { + var_04 = (var_02.angles[0],var_02.angles[1] + randomintrange(-15,15),var_02.angles[2] + randomintrange(-45,45)); + var_07 = anglestoright(var_04); + if(common_scripts\utility::cointoss()) + { + var_06 = var_02 geteye() + var_07 * randomfloatrange(param_00,param_01); + } + else + { + var_06 = var_02 geteye() - var_07 * randomfloatrange(param_00,param_01); + } + } + + level.sniper_scramble_data.sniper_target_location = var_06; + return 1; + } + + return 0; +} + +//Function Number: 54 +setup_sniper_debug_hud_elem() +{ + var_00 = newhudelem(); + var_00.alignx = "left"; + var_00.aligny = "top"; + var_00.x = 40; + var_00.y = 40; + var_00.alpha = 0.6; + var_00.fontscale = 1.5; + var_00.foreground = 1; + var_00.horzalign = "fullscreen"; + var_00.vertalign = "fullscreen"; + return var_00; +} + +//Function Number: 55 +snipersetupglass() +{ + level endon("ScrambleSniperKilled"); + var_00 = getentarray("ScrambleGlassTrigger","targetname"); + foreach(var_02 in var_00) + { + var_02 thread sniperdestroyglass(); + } +} + +//Function Number: 56 +sniperdestroyglass() +{ + level endon("ScrambleSniperKilled"); + self waittill("trigger"); + glassradiusdamage(self.origin,48,1000,1000); +} + +//Function Number: 57 +snipershootfirstcivilian() +{ + level waittill("ScramblePatioCivShot"); + var_00 = maps\_utility::get_living_ai("PatioFlee01","script_noteworthy"); + if(isdefined(var_00)) + { + var_01 = var_00 geteye(); + soundscripts\_snd::snd_message("windmill_sniper_shot",var_01); + thread snipershoot(var_01,1,1); + playfx(common_scripts\utility::getfx("scramble_blood_impact_splat"),var_01); + } + + wait(1); + level.sniperpos.bsniperenabled = 1; + snipersettargetent(undefined); + thread monitorsupersafevol(); + thread updatesnipershooting(); +} + +//Function Number: 58 +snipershootcafewall() +{ + var_00 = common_scripts\utility::getstruct("ShootCafeWallOrg","targetname"); + soundscripts\_snd::snd_message("windmill_sniper_shot",var_00.origin); + soundscripts\_snd::snd_message("mhunt_snpr_dest_cafe_wall",var_00); + thread snipershoot(var_00.origin,1.5,1); + thread maps\greece_sniper_scramble_fx::snipercafewallburstfx(); + wait(0.45); + physicsexplosionsphere(var_00.origin,100,10,0.5); +} + +//Function Number: 59 +snipershootilana() +{ + level.sniperpos.bsniperenabled = 0; + level waittill("ScrambleRestaurantIlanaShot"); + var_00 = common_scripts\utility::getstruct("ScrambleIlanaTarget1","targetname"); + soundscripts\_snd::snd_message("windmill_sniper_shot",var_00.origin); + thread snipershoot(var_00.origin,1,1); + level waittill("ScrambleRestaurantIlanaShot"); + wait(0.2); + var_01 = common_scripts\utility::getstruct("ScrambleIlanaTarget2","targetname"); + soundscripts\_snd::snd_message("windmill_sniper_shot",var_01.origin); + thread snipershoot(var_01.origin,1,1); + level waittill("ScrambleRestaurantCivShot"); + var_02 = maps\_utility::get_living_ai("ScrambleCivRestaurantDoorOpener_AI","targetname"); + if(isdefined(var_02)) + { + var_03 = var_02 gettagorigin("J_Spine4"); + soundscripts\_snd::snd_message("windmill_sniper_shot",var_03); + thread snipershoot(var_03,1,1); + playfx(common_scripts\utility::getfx("scramble_blood_impact_splat"),var_03); + soundscripts\_snd::snd_message("restaurant_door_civ_killed",var_02); + } + + level.sniperpos.bsniperenabled = 1; + snipersettargetent(level.player); +} + +//Function Number: 60 +openrestaurantdoor(param_00) +{ + self rotateto(self.angles + (0,param_00,0),0.35,0,0.35); + earthquake(0.25,0.2,self.origin,256); +} + +//Function Number: 61 +snipershootrestaurantfishtank() +{ + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerInRestaurant"); + level.sniperpos.bsniperenabled = 0; + snipersettargetent(undefined); + maps\_utility::trigger_wait_targetname("TrigFishTankDestruction"); + level.player allowsprint(0); + level.player allowdodge(0); + var_00 = getent("ScrambleFishTankShootOrg","script_noteworthy"); + soundscripts\_snd::snd_message("restaurant_fish_tank_destruct",var_00); + thread snipershoot(var_00.origin,1.5,1); + common_scripts\utility::flag_set("FlagScrambleDestroyFishTank"); + maps\_hms_utility::printlnscreenandconsole("FFFFFIIIIIIISSSSSSSHHHHHHHH!!!!"); + wait(1); + level.sniperpos.bsniperenabled = 1; + snipersettargetent(undefined); + thread monitorrestaurantglassfrenzyvol(); +} + +//Function Number: 62 +snipershootnearhotelciv() +{ + level.sniperpos.bsniperenabled = 0; + wait(1); + var_00 = getent("ScrambleHotelNearCiv","script_noteworthy"); + soundscripts\_snd::snd_message("windmill_sniper_shot",var_00.origin); + thread snipershoot(var_00.origin,1.5,1); +} + +//Function Number: 63 +snipershootstingerpot() +{ + maps\_utility::trigger_wait_targetname("FinaleAlly02Trig"); + wait(1); + var_00 = common_scripts\utility::getstruct("SniperStingerTargetPos","targetname"); + soundscripts\_snd::snd_message("windmill_sniper_shot",var_00.origin); + thread snipershoot(var_00.origin,1.5,1); + physicsexplosionsphere(var_00.origin,100,10,0.5); +} + +//Function Number: 64 +monitorplayerapproachfishtank() +{ + var_00 = getent("ScrambleFishTankLookAtOrg","script_noteworthy"); + var_01 = getent("TrigFishTankDestruction","targetname"); + for(;;) + { + wait 0.05; + if(maps\_utility::players_within_distance(300,var_00.origin) && maps\_utility::within_fov_of_players(var_00.origin,cos(120))) + { + return 1; + } + + if(level.player istouching(var_01)) + { + return 0; + } + } +} + +//Function Number: 65 +scrambleplayerfishtankstumble() +{ + var_00 = getent("ScrambleFishTankLookAtOrg","script_noteworthy"); + var_01 = vectortoangles(var_00.origin - level.player.origin); + var_02 = "fishtank_stumble"; + var_03 = maps\_utility::spawn_anim_model("player_scramble_rig",level.player.origin,level.player.angles); + var_03 hide(); + level.player thread maps\_shg_utility::setup_player_for_scene(); + level.player setmovespeedscale(0.5); + var_03 linkto(level.player); + var_03 show(); + level.player maps\_anim::anim_single_solo(var_03,var_02); + var_03 unlink(); + var_03 delete(); + level.player allowprone(1); + level.player allowcrouch(1); + level.player allowstand(1); + level.player enableoffhandweapons(); + level.player enableweapons(); + level.player allowmelee(1); + level.player maps\_utility::blend_movespeedscale(0.8,2); + wait(3); + level.player allowdodge(1); + level.player allowsprint(1); + level.player maps\_utility::blend_movespeedscale_default(2); +} + +//Function Number: 66 +spawnrestaurantfishswimming() +{ + var_00 = getent("restaurant_fish_org","targetname"); + var_01 = getent("restaurant_fish_tank_glass","targetname"); + var_02 = getent("restaurant_fish_org","targetname"); + var_03 = getent("restaurant_fish_tank_glass","targetname"); + var_04 = maps\_utility::spawn_anim_model("fish_a_01"); + var_05 = maps\_utility::spawn_anim_model("fish_a_02"); + var_06 = maps\_utility::spawn_anim_model("fish_a_03"); + var_07 = maps\_utility::spawn_anim_model("fish_a_04"); + var_08 = maps\_utility::spawn_anim_model("fish_a_05"); + var_09 = maps\_utility::spawn_anim_model("fish_a_06"); + level.fish_a = [var_04,var_05,var_06,var_07,var_08,var_09]; + var_0A = maps\_utility::spawn_anim_model("fish_b_01"); + var_0B = maps\_utility::spawn_anim_model("fish_b_02"); + var_0C = maps\_utility::spawn_anim_model("fish_b_03"); + level.fish_b = [var_0A,var_0B,var_0C]; + var_0D = common_scripts\utility::array_combine(level.fish_a,level.fish_b); + var_00 thread maps\_anim::anim_loop(level.fish_a,"fish_a_swimming"); + var_00 thread maps\_anim::anim_loop(level.fish_b,"fish_b_swimming"); + thread maps\greece_sniper_scramble_fx::fishbubblesfx(); + common_scripts\utility::flag_wait("FlagScrambleDestroyFishTank"); + maps\_hms_utility::printlnscreenandconsole("Fish Tank Destruction triggered! =D"); + var_03 delete(); + thread maps\greece_sniper_scramble_fx::killfishbubblesfx(); + playfx(level._effect["restaurant_fish_tank_water_splash"],var_02.origin); + var_0E = common_scripts\utility::getstruct("fishfall_01_org","targetname"); + var_0F = common_scripts\utility::getstruct("fishfall_02_org","targetname"); + var_10 = common_scripts\utility::getstruct("fishfall_03_org","targetname"); + var_11 = common_scripts\utility::getstruct("fishfall_04_org","targetname"); + var_12 = common_scripts\utility::getstruct("fishfall_05_org","targetname"); + var_13 = common_scripts\utility::getstruct("fishfall_06_org","targetname"); + var_14 = common_scripts\utility::getstruct("fishfall_07_org","targetname"); + var_15 = common_scripts\utility::getstruct("fishfall_08_org","targetname"); + var_16 = common_scripts\utility::getstruct("fishfall_09_org","targetname"); + var_0E thread maps\_anim::anim_single_solo(var_04,"fish_falling"); + var_0F thread maps\_anim::anim_single_solo(var_05,"fish_falling"); + var_10 thread maps\_anim::anim_single_solo(var_06,"fish_falling"); + var_11 thread maps\_anim::anim_single_solo(var_07,"fish_falling"); + var_12 thread maps\_anim::anim_single_solo(var_08,"fish_falling"); + var_13 thread maps\_anim::anim_single_solo(var_09,"fish_falling"); + var_14 thread maps\_anim::anim_single_solo(var_0A,"fish_falling"); + var_15 thread maps\_anim::anim_single_solo(var_0B,"fish_falling"); + var_16 thread maps\_anim::anim_single_solo(var_0C,"fish_falling"); + thread fish_animloop(var_04,"fish_deathflop_a",level.fish_a); + thread fish_animloop(var_0A,"fish_deathflop_b",level.fish_b); +} + +//Function Number: 67 +fish_animloop(param_00,param_01,param_02) +{ + var_03 = param_00 maps\_utility::getanim(param_01)[0]; + var_04 = getanimlength(var_03); + for(;;) + { + for(var_05 = 0;var_05 < param_02.size;var_05++) + { + wait(randomfloatrange(0.1,1)); + param_02[var_05] setanimrestart(var_03); + } + + wait(var_04); + } +} + +//Function Number: 68 +snipershootwoundedsoldier() +{ + var_00 = maps\_utility::get_living_ai("FinaleAlly01","script_noteworthy"); + level.sniperpos.bsniperenabled = 0; + level waittill("ScrambleSniperShootWoundedSoldier"); + if(isdefined(var_00)) + { + var_01 = var_00 snipertargetgettagpos(); + soundscripts\_snd::snd_message("windmill_sniper_shot",var_01); + thread snipershoot(var_01,1.5,1); + wait(0.05); + var_02 = var_00 gettagorigin("TAG_EYE"); + playfx(common_scripts\utility::getfx("scramble_blood_impact_splat"),var_02); + } + + common_scripts\utility::flag_set("FlagScrambleWoundedSoldierKilled"); + wait(1); + level.sniperpos.bsniperenabled = 1; + thread scramblerestaurantexitclip(0); + level.player allowdodge(1); + level.player allowsprint(1); +} + +//Function Number: 69 +scramblegapjumpslomo() +{ + wait(0.85); + setslowmotion(1,0.2,0.5); + wait(0.4); + setslowmotion(0.2,1,0.3); +} + +//Function Number: 70 +snipershootgapjump() +{ + level.sniperpos.bsniperenabled = 0; + level waittill("ScrambleSniperShootGapJump"); + var_00 = common_scripts\utility::getstruct("ScrambleGapJumpTarget1","targetname"); + snipershoot(var_00.origin,1.5,1); + soundscripts\_snd::snd_message("windmill_sniper_shot",var_00.origin); + level waittill("ScrambleSniperShootGapJump"); + var_01 = common_scripts\utility::getstruct("ScrambleGapJumpTarget2","targetname"); + snipershoot(var_01.origin,1.5,1); + soundscripts\_snd::snd_message("windmill_sniper_shot",var_01.origin); + level waittill("ScrambleSniperShootGapJump"); + var_02 = common_scripts\utility::getstruct("ScrambleGapJumpTarget3","targetname"); + snipershoot(var_02.origin,1.5,1); + soundscripts\_snd::snd_message("windmill_sniper_shot",var_02.origin); + common_scripts\utility::flag_wait("FlagScrambleGapJumpCompleted"); + thread snipershootnearhotelciv(); +} + +//Function Number: 71 +snipershoothoteljump(param_00) +{ + level.sniperpos.bsniperenabled = 0; + var_01 = "_right"; + if(param_00 == 1) + { + var_01 = "_left"; + } + + level waittill("ScrambleSniperShootHotelJump"); + var_02 = "HotelJumpSniperTarget1" + var_01; + var_03 = common_scripts\utility::getstruct(var_02,"targetname"); + snipershoot(var_03.origin,1.5,1); + soundscripts\_snd::snd_message("windmill_sniper_shot",var_03.origin); + level waittill("ScrambleSniperShootHotelJump"); + var_04 = "HotelJumpSniperTarget2" + var_01; + var_05 = common_scripts\utility::getstruct(var_04,"targetname"); + snipershoot(var_05.origin,1.5,1); + soundscripts\_snd::snd_message("windmill_sniper_shot",var_05.origin); + wait(1); + level.sniperpos.bsniperenabled = 1; +} + +//Function Number: 72 +snipershootcafejump(param_00) +{ + level.sniperpos.bsniperenabled = 0; + var_01 = "_right"; + if(param_00 == 1) + { + var_01 = "_left"; + } + + level waittill("ScrambleSniperShootCafeJump"); + var_02 = "CafeJumpSniperTarget1" + var_01; + var_03 = common_scripts\utility::getstruct(var_02,"targetname"); + snipershoot(var_03.origin,1.5,1); + soundscripts\_snd::snd_message("windmill_sniper_shot",var_03.origin); + level waittill("ScrambleSniperShootCafeJump"); + var_04 = "CafeJumpSniperTarget2" + var_01; + var_05 = common_scripts\utility::getstruct(var_04,"targetname"); + snipershoot(var_05.origin,1.5,1); + soundscripts\_snd::snd_message("windmill_sniper_shot",var_05.origin); +} + +//Function Number: 73 +ilanascrambleinit() +{ + var_00 = level.allies["Ilona"]; + var_00 maps\_utility::enable_bulletwhizbyreaction(); + var_00 maps\_utility::enable_pain(); + common_scripts\utility::flag_set("init_sniper_scramble_lighting"); + common_scripts\utility::flag_wait("FlagScrambleSniperKilled"); +} + +//Function Number: 74 +ilanascrambleopenstartdoor() +{ + var_00 = common_scripts\utility::getstruct("SniperScrambleStartDoorOrg","targetname"); + var_00 maps\_anim::anim_reach_solo(level.allies["Ilona"],"scramble_intro_door_in"); + var_00 maps\_anim::anim_single_solo(level.allies["Ilona"],"scramble_intro_door_in"); + var_00 thread maps\_anim::anim_loop_solo(level.allies["Ilona"],"scramble_intro_door_loop","ScrambleIlanaOpenIntroDoor"); + common_scripts\utility::flag_wait("FlagScrambleIlanaBeginOpenIntroDoor"); + soundscripts\_snd::snd_message("stop_alleys_emergency_audio"); + var_00 notify("ScrambleIlanaOpenIntroDoor"); + wait(0.05); + thread maps\_utility::autosave_by_name("scramble_intro_start"); + thread ilanasmokescreen(var_00); + var_01 = getent("ScrambleIntroDoor","targetname"); + var_02 = getent("ScrambleIntroDoorClip","targetname"); + thread scramblestartdoorshots(var_01); + var_00 thread maps\_anim::anim_single_solo(var_01,"scramble_intro_door_out"); + var_00 maps\_anim::anim_single_solo_run(level.allies["Ilona"],"scramble_intro_door_out"); + var_02 delete(); + common_scripts\utility::flag_set("FlagScrambleIlanaEndOpenIntroDoor"); + level notify("ScrambleSniperShootFirstCivilian"); + level.allies["Ilona"] thread ilanascramblemovement(); +} + +//Function Number: 75 +scramblestartdoorshots(param_00) +{ + level waittill("ScrambleSniperFireFirstShot"); + param_00 showpart("tag_destroyed1","greece_door_interior"); + param_00 showpart("tag_door_handle_destroyed1","greece_door_interior"); + param_00 showpart("tag_door_handle_base_destroyed1","greece_door_interior"); + param_00 hidepart("tag_intact","greece_door_interior"); + param_00 hidepart("tag_door_handle","greece_door_interior"); + level waittill("ScrambleSniperFireSecondShot"); + param_00 hidepart("tag_door_handle_destroyed1","greece_door_interior"); + param_00 hidepart("tag_door_handle_base_destroyed1","greece_door_interior"); + param_00 hidepart("tag_destroyed1","greece_door_interior"); + param_00 showpart("tag_destroyed2","greece_door_interior"); + param_00 showpart("tag_door_handle_base_destroyed2","greece_door_interior"); + param_00 showpart("tag_door_handle_destroyed2","greece_door_interior"); +} + +//Function Number: 76 +scramblestartdoorinit() +{ + var_00 = getent("ScrambleIntroDoor","targetname"); + var_00.animname = "sniper_intro_door"; + var_00 maps\_utility::assign_animtree("sniper_intro_door"); + var_01 = common_scripts\utility::getstruct("SniperScrambleStartDoorOrg","targetname"); + var_01 maps\_anim::anim_first_frame_solo(var_00,"scramble_intro_door_out"); + var_00 hidepart("tag_destroyed1","greece_door_interior"); + var_00 hidepart("tag_door_handle_destroyed1","greece_door_interior"); + var_00 hidepart("tag_door_handle_base_destroyed1","greece_door_interior"); + var_00 hidepart("tag_destroyed2","greece_door_interior"); + var_00 hidepart("tag_door_handle_destroyed2","greece_door_interior"); + var_00 hidepart("tag_door_handle_base_destroyed2","greece_door_interior"); +} + +//Function Number: 77 +ilanasmokescreen(param_00) +{ + var_01 = maps\_utility::spawn_anim_model("smoke_grenade"); + param_00 maps\_anim::anim_single_solo(var_01,"scramble_intro_door_out"); + var_01 delete(); + var_02 = common_scripts\utility::getstruct("ScrambleSmokeScreenOrg","targetname"); + playfx(common_scripts\utility::getfx("smoke_screen"),var_02.origin); + thread maps\greece_sniper_scramble_fx::smokescreenemitterfx(); + var_03 = getent("ScrambleSmokeSafeVol","script_noteworthy"); + var_03.bisactivated = 1; + wait(15); + var_03.bisactivated = 0; +} + +//Function Number: 78 +ilanatogglesnipersuppression(param_00) +{ + var_01 = getent("ScrambleSniperWindow","targetname"); + if(param_00 == 1) + { + level.allies["Ilona"] setentitytarget(var_01); + return; + } + + level.allies["Ilona"] clearentitytarget(var_01); + level notify("StopIlanaSuppression"); +} + +//Function Number: 79 +ilanasuppresspos(param_00) +{ + level endon("StopIlanaSuppression"); + for(;;) + { + magicbullet("iw5_hmr9_sp",level.allies["Ilona"] geteye(),param_00.origin); + wait(randomfloatrange(0.1,0.5)); + } +} + +//Function Number: 80 +ilanascramblemovement() +{ + var_00 = level.start_point; + maps\_hms_ai_utility::playerleashdisable(); + maps\_utility::set_battlechatter(0); + self.oldgrenadeammo = self.grenadeammo; + self.grenadeammo = 0; + maps\_utility::set_force_color("g"); + wait(0.05); + if(var_00 == "start_sniper_scramble_hotel") + { + maps\_utility::activate_trigger_with_targetname("SniperScrambleColorTrigThird"); + thread ilanascramblehotel(); + return; + } + + if(var_00 == "start_sniper_scramble_drones") + { + maps\_utility::activate_trigger_with_targetname("SniperScrambleColorTrigSixth"); + thread ilanascrambledrones(); + return; + } + + if(var_00 == "start_sniper_scramble_finale") + { + maps\_utility::activate_trigger_with_targetname("SniperScrambleColorTrigEleventh"); + thread ilanascramblefinale(); + return; + } + + maps\_utility::activate_trigger_with_targetname("SniperScrambleColorTrigFirst"); + thread ilanascrambleintro(); +} + +//Function Number: 81 +ilanascrambleintro() +{ + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerExitAlleys"); + maps\_utility::activate_trigger_with_targetname("SniperScrambleColorTrigSecond"); + common_scripts\utility::flag_wait("FlagScrambleGapJumpCompleted"); + thread ilanascramblehotel(); +} + +//Function Number: 82 +ilanascramblehotel() +{ + thread monitorslidesafevol(); + thread scrambleplayerhoteljump(); + level.sniperpos.bsniperenabled = 0; + level.player allowsprint(0); + level.player allowdodge(0); + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerMovingThroughHotel"); + var_00 = getent("hothall_org","targetname"); + var_00 maps\_anim::anim_reach_solo(level.allies["Ilona"],"scram_hothall"); + common_scripts\utility::flag_set("FlagScrambleBeginHothall"); + thread snipershoothothall(); + var_00 maps\_anim::anim_single_solo(level.allies["Ilona"],"scram_hothall"); + thread maps\_hms_utility::allyredirectgotonode("Ilona","AllyStartScrambleWindowCover"); + wait 0.05; + level.allies["Ilona"] waittill("goal"); + level.allies["Ilona"] maps\_utility::enable_sprint(); + common_scripts\utility::flag_set("FlagScrambleEndHothall"); + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerNearSecondJump"); + thread maps\_utility::autosave_by_name("scramble_hotel_jump_start"); + common_scripts\utility::flag_wait("FlagScrambleCheckPlayerDecision"); + level.allies["Ilona"] pushplayer(1); + for(;;) + { + if(common_scripts\utility::flag("FlagScrambleHotelJumpStarted")) + { + level notify("ScrambleHotelPlayerJumpedFirst"); + common_scripts\utility::flag_set("FlagScrambleHotelPlayerHasDecided"); + sniperhoteltargetplayerfirst(); + break; + } + else if(common_scripts\utility::flag("FlagScrambleSniperSuppressed")) + { + level notify("ScrambleHotelPlayerSuppressedFirst"); + common_scripts\utility::flag_set("FlagScrambleHotelPlayerHasDecided"); + sniperhoteltargetilanafirst(); + break; + } + + wait(0.05); + } + + thread scramblecivdrones(); + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerNearThirdJump"); + thread maps\_utility::autosave_by_name("scramble_cafe_jump_start"); + wait(1); + level.sniper_scramble_data.suppression_time = 0; + ilanatogglesnipersuppression(0); + snipersettargetent(undefined); + var_01 = common_scripts\utility::getstruct("cafeWindowOrg","targetname"); + var_02 = "cafe_traversal"; + var_03 = distance(level.allies["Ilona"].origin,var_01.origin); + if(var_03 > 64) + { + var_01 = common_scripts\utility::getstruct("cafeWindowOrgAlt","targetname"); + var_02 = "cafe_traversal_alt"; + } + + var_01 maps\_anim::anim_reach_solo(level.allies["Ilona"],var_02); + common_scripts\utility::flag_set("FlagScrambleHotelIlanaJumpDown"); + var_01 thread maps\_anim::anim_single_solo_run(level.allies["Ilona"],var_02); + wait(1); + maps\_utility::activate_trigger_with_targetname("SniperScrambleColorTrigFiftyFifth"); + level.allies["Ilona"] pushplayer(0); + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerCompletedThirdJump"); + wait(1); + common_scripts\utility::flag_set("FlagScrambleStartDrones"); + thread ilanascrambledrones(); +} + +//Function Number: 83 +sniperhoteltargetilanafirst() +{ + maps\_hms_utility::printlnscreenandconsole("Player is suppressing sniper - Ilana is running!"); + thread monitorhotelilanaleapfrog(); + common_scripts\utility::flag_wait_either("FlagScrambleHotelJumpCompleted","FlagScrambleHotelJumpStarted"); + thread monitorhotelplayerleapfrog(); + snipersettargetent(level.player); + ilanatogglesnipersuppression(1); + maps\_hms_utility::printlnscreenandconsole("Player jumped down - Ilana is suppressing!"); + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerNearThirdJump"); + level.player notify("ScramblePlayerCompletedLeapfrog"); + ilanatogglesnipersuppression(0); + snipersettargetent(undefined); + maps\_hms_utility::printlnscreenandconsole("Player at end - HOTEL COMPLETE!"); +} + +//Function Number: 84 +sniperhoteltargetplayerfirst() +{ + thread monitorhotelplayerleapfrog(); + snipersettargetent(level.player); + ilanatogglesnipersuppression(1); + maps\_hms_utility::printlnscreenandconsole("Player jumped down - Ilana is suppressing!"); + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerNearThirdJump"); + level.player notify("ScramblePlayerCompletedLeapfrog"); + ilanatogglesnipersuppression(0); + snipersettargetent(undefined); + maps\_hms_utility::printlnscreenandconsole("Player at end - Ilana is waiting for suppression..."); + level.sniper_scramble_data.suppression_time = 0; + wait(1); + common_scripts\utility::flag_wait("FlagScrambleSniperSuppressed"); + maps\_hms_utility::printlnscreenandconsole("Player is suppressing sniper - Ilana is running!"); + thread monitorhotelilanaleapfrog(); + common_scripts\utility::flag_wait("FlagScrambleHotelIlanaReachedGoal"); + maps\_hms_utility::printlnscreenandconsole("Ilana at end - HOTEL COMPLETE!"); +} + +//Function Number: 85 +hintscramblesuppress1off() +{ + if(common_scripts\utility::flag("FlagScrambleSniperSuppressed") || common_scripts\utility::flag("FlagScrambleHotelIlanaStartRun")) + { + return 1; + } + + return 0; +} + +//Function Number: 86 +hintscramblesuppress2off() +{ + if(common_scripts\utility::flag("FlagScrambleSniperSuppressed") || common_scripts\utility::flag("FlagScrambleHotelIlanaStartRun") || common_scripts\utility::flag("FlagScrambleHotelJumpStarted")) + { + return 1; + } + + return 0; +} + +//Function Number: 87 +hintscrambleadvanceoff() +{ + return common_scripts\utility::flag("FlagScrambleHotelJumpStarted"); +} + +//Function Number: 88 +monitorhotelplayerleapfrog() +{ + level.player endon("ScramblePlayerCompletedLeapfrog"); + level.player waittill("damage"); + common_scripts\utility::flag_set("FlagScrambleHotelBadLeapfrog"); +} + +//Function Number: 89 +monitorhotelilanaleapfrog() +{ + common_scripts\utility::flag_set("FlagScrambleHotelIlanaStartRun"); + level.allies["Ilona"] maps\_utility::enable_sprint(); + snipersettargetent(level.allies["Ilona"]); + thread maps\greece_sniper_scramble_fx::windowhoteljumpglassshatter(0.5); + var_00 = getent("ScrambleIlanaCornerClip","targetname"); + var_00 delete(); + var_01 = common_scripts\utility::getstruct("hotelWindowOrg","targetname"); + var_01 maps\_anim::anim_single_solo_run(level.allies["Ilona"],"hotel_traversal"); + level.allies["Ilona"] maps\_utility::enable_ai_color(); + thread maps\_hms_utility::allyredirectgotonode("Ilona","AllyStartScrambleCafeCover"); + thread ilanaleapfrogadjustgoal(); + maps\_utility::trigger_wait_targetname("SniperScrambleHotelIlanaAtGoal"); + level.allies["Ilona"] maps\_utility::disable_sprint(); + level notify("IlanaLeapfrogGoal"); + common_scripts\utility::flag_set("FlagScrambleHotelIlanaReachedGoal"); + maps\_hms_utility::printlnscreenandconsole("Ilana at goal"); + if(!common_scripts\utility::flag("FlagScrambleHotelJumpCompleted")) + { + snipersettargetent(undefined); + } +} + +//Function Number: 90 +ilanaleapfrogadjustgoal() +{ + level endon("IlanaLeapfrogGoal"); + var_00 = getnode("AllyStartScrambleCafeCover","targetname"); + var_01 = undefined; + for(;;) + { + wait 0.05; + if(!maps\_utility::players_within_distance(64,var_00.origin)) + { + continue; + } + + var_01 = ilanaleapfroggetgoal(); + if(isdefined(var_01)) + { + level.allies["Ilona"] maps\_utility::set_goal_node(var_01); + var_00 = var_01; + } + } +} + +//Function Number: 91 +ilanaleapfroggetgoal() +{ + var_00 = undefined; + var_01 = getnodearray("ilana_leapfrog","script_noteworthy"); + foreach(var_03 in var_01) + { + if(maps\_utility::players_within_distance(64,var_03.origin)) + { + continue; + } + else + { + var_00 = var_03; + } + } + + return var_00; +} + +//Function Number: 92 +ilanascrambledrones() +{ + thread scramblespawndronesa(); + thread spawnrestaurantfishswimming(); + thread scramblecivrestaurantdooropener(); + var_00 = getentarray("ScrambleDronesToRestaurantTrig","targetname"); + foreach(var_02 in var_00) + { + var_02 common_scripts\utility::trigger_off(); + } + + level.allies["Ilona"] maps\_utility::enable_ai_color(); + maps\_utility::activate_trigger_with_targetname("SniperScrambleColorTrigSixth"); + common_scripts\utility::flag_wait("FlagScrambleDronesAdead"); + maps\_utility::disable_trigger_with_targetname("SniperScrambleColorTrigSixth"); + maps\_utility::disable_trigger_with_targetname("SniperScrambleColorTrigSeventh"); + wait(0.05); + maps\_utility::activate_trigger_with_targetname("SniperScrambleColorTrigEighth"); + thread maps\_utility::autosave_by_name("scramble_drone_fight_end"); + foreach(var_02 in var_00) + { + var_02 common_scripts\utility::trigger_on(); + } + + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerUnderBridge"); + level.allies["Ilona"] maps\_utility::enable_sprint(); + var_06 = common_scripts\utility::getstruct("RestaurantDoorOpenOrg","script_noteworthy"); + thread snipershootilana(); + var_06 maps\_anim::anim_reach_solo(level.allies["Ilona"],"RestaurantOpenDoor"); + thread scramblerestaurantcivexit(); + thread scramblerestaurantdoorsopen(); + var_06 maps\_anim::anim_single_solo(level.allies["Ilona"],"RestaurantOpenDoor"); + maps\_utility::activate_trigger_with_targetname("SniperScrambleColorTrigTenth"); + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerMidRestaurant"); + thread scramblefinaleallies(); + thread pitbulldestroyedanimation(); + thread ilanascramblefinale(); +} + +//Function Number: 93 +scramblerestaurantcivexit() +{ + var_00 = common_scripts\utility::getstruct("RestaurantDoorOpenOrg","script_noteworthy"); + var_01 = maps\_utility::get_living_ai("ScrambleCivRestaurantDoorOpener_AI","targetname"); + var_00 notify("scramble_open_restaurant"); + var_00 maps\_anim::anim_single_solo(var_01,"RestaurantOpenDoor"); + var_01 maps\greece_code::kill_no_react(0); +} + +//Function Number: 94 +scramblerestaurantdoorsopen() +{ + var_00 = common_scripts\utility::getstruct("RestaurantDoorOpenOrg","script_noteworthy"); + var_01 = getent("ScrambleRestaurantDoors","targetname"); + var_00 thread maps\_anim::anim_single_solo(var_01,"RestaurantOpenDoor"); + level waittill("ScrambleRestaurantDoorsOpen"); + soundscripts\_snd::snd_message("restaurant_doors_open",var_01); + var_02 = getent("ScrambleRestaurantDoorClip","targetname"); + var_02 delete(); + var_03 = getent("ScrambleRestaurantDoorOpenClip","targetname"); + var_03 movez(128,0.1); +} + +//Function Number: 95 +monitorrestaurantglassfrenzyvol() +{ + var_00 = getent("SniperScrambleRestaurantFrenzy","targetname"); + var_01 = getentarray("ScrambleRestaurantGlass","script_noteworthy"); + while(!common_scripts\utility::flag("FlagTriggerScramblePlayerAlmostNearWoundedSoldier")) + { + if(level.player istouching(var_00)) + { + var_01 = sortbydistance(var_01,level.player.origin); + if(isdefined(var_01[0]) && maps\_utility::players_within_distance(256,var_01[0].origin)) + { + var_02 = var_01[0]; + level.sniperpos.bsniperenabled = 0; + snipershoot(var_02.origin); + soundscripts\_snd::snd_message("windmill_sniper_shot_multi",var_02.origin); + var_01 = common_scripts\utility::array_remove(var_01,var_02); + wait(randomfloatrange(0.5,1.5)); + } + else + { + level.sniperpos.bsniperenabled = 1; + level.sniper_scramble_data.requires_player_los = 0; + snipersettargetent(level.player); + } + + continue; + } + + level.sniper_scramble_data.requires_player_los = 1; + level.snipertargetent = undefined; + wait(0.05); + } + + level.sniperpos.bsniperenabled = 0; + level.sniper_scramble_data.requires_player_los = 1; +} + +//Function Number: 96 +monitorsupersafevol() +{ + level endon("ScrambleSniperKilled"); + var_00 = getentarray("ScrambleSuperSafeVol","script_noteworthy"); + var_01 = 0; + for(;;) + { + wait(0.5); + if(targetinsafevolume(level.player,var_00)) + { + level.sniper_scramble_data.player_in_disable_sniper_volume = 1; + continue; + } + + level.sniper_scramble_data.player_in_disable_sniper_volume = 0; + } +} + +//Function Number: 97 +monitorslidesafevol() +{ + level endon("ScrambleSniperKilled"); + var_00 = getent("ScrambleSlideSafeVol","script_noteworthy"); + var_00.bisactivated = 0; + while(!common_scripts\utility::flag("FlagScrambleHotelIlanaReachedGoal")) + { + if(level.player istouching(var_00)) + { + snipersettargetent(level.player); + soundscripts\_snd::snd_message("windmill_sniper_shot",level.player geteye()); + snipershoot(level.player geteye(),1.5,1); + wait(0.05); + maps\_hms_utility::printlnscreenandconsole("*** FORCE KILL PLAYER ***"); + level.player stopanimscripted(); + level.player kill(); + level notify("ScramblePlayerLeftIlana"); + maps\greece_sniper_scramble_vo::scramblefailplayerleftilanadialogue(); + wait(1); + setdvar("ui_deadquote",&"GREECE_FAIL_SCRAMBLE_LEFT_ILONA"); + maps\_utility::missionfailedwrapper(); + return; + } + + wait(0.05); + } + + var_00.bisactivated = 1; +} + +//Function Number: 98 +ilanascramblefinale() +{ + thread sniperdeath(); + thread snipershootwoundedsoldier(); + thread scramblecivfinale(); + thread scramblefiredamagemonitor(); + thread scramblerestaurantexitclip(1); + thread destroydroppedgun(); + level.player allowsprint(0); + level.player allowdodge(0); + var_00 = level.allies["Ilona"]; + var_01 = common_scripts\utility::getstruct("ScrambleIlanaLookAllyOrg","targetname"); + var_01 maps\_anim::anim_reach_solo(var_00,"scramble_check_ally_enter"); + var_01 maps\_anim::anim_single_solo(var_00,"scramble_check_ally_enter"); + var_01 thread maps\_anim::anim_loop_solo(var_00,"scramble_check_ally_idle","wounded_loop_end"); + var_00 maps\_utility::disable_sprint(); + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerNearWoundedSoldier"); + thread maps\_utility::autosave_by_name("scramble_finale_start"); + common_scripts\utility::flag_wait("FlagScrambleReadyForWoundedSoldier"); + thread playerscramblefinale(); + var_01 notify("wounded_loop_end"); + thread woundedsoldierdeath(var_01); + var_01 maps\_anim::anim_single_solo_run(var_00,"scramble_check_ally_exit"); + maps\_utility::activate_trigger_with_targetname("SniperScrambleColorTrigTwelfth"); + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerLeavingRestaurant"); + maps\_utility::activate_trigger_with_targetname("SniperScrambleColorTrigThirteenth"); + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerOnStreet"); + level.allies["Ilona"] maps\_utility::set_ignoresuppression(1); + maps\_utility::activate_trigger_with_targetname("SniperScrambleColorTrigSixteenth"); + for(;;) + { + if(level.player hasweapon("iw5_stingerm7greece_sp")) + { + break; + } + + wait(0.1); + } + + thread maps\_utility::autosave_by_name("scramble_finale_stinger"); + var_02 = getentarray("ScrambleFinaleColorTrig","script_noteworthy"); + foreach(var_04 in var_02) + { + var_04 common_scripts\utility::trigger_off(); + } + + maps\_utility::activate_trigger_with_targetname("SniperScrambleColorTrigSeventeenth"); + common_scripts\utility::flag_wait("FlagScrambleSniperKilled"); + level.allies["Ilona"] maps\_utility::disable_ai_color(); + maps\_utility::clear_color_order("g","allies"); + level.allies["Ilona"] maps\_utility::set_ignoresuppression(0); + level.allies["Ilona"].grenadeammo = level.allies["Ilona"].oldgrenadeammo; + level.allies["Ilona"] maps\_utility::set_battlechatter(0); + thread maps\_utility::autosave_by_name("scramble_finale_end"); + thread ilanasetupmovetruck(); +} + +//Function Number: 99 +playerscramblefinale() +{ + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerOnStreet"); + thread scramblespawndronesb(); + level.sniper_scramble_data.sniper_finale = 1; + level.sniper_scramble_data.minburstdelay = 1; + level.sniper_scramble_data.maxburstdelay = 3; + thread monitorplayerfirerpgattower(); + thread scrambleatlasrpg(); +} + +//Function Number: 100 +scramblesniperkillplayerfailmsg() +{ + level endon("ScrambleSniperKilled"); + level.player waittill("death",var_00,var_01,var_02); + if(level.player hasweapon("iw5_stingerm7greece_sp")) + { + return; + } + + if(isdefined(var_01) && var_01 == "MOD_EXPLOSIVE") + { + return; + } + + if(isdefined(var_00) && var_00.classname == "script_vehicle_pdrone_kva") + { + return; + } + + setdvar("ui_deadquote",&"GREECE_FAIL_SCRAMBLE_SUPPRESS_SNIPER"); +} + +//Function Number: 101 +woundedsoldierdeath(param_00) +{ + var_01 = maps\_utility::get_living_ai("FinaleAlly01","script_noteworthy"); + param_00 maps\_anim::anim_single_solo(var_01,"sanchez_wounded_death"); + var_01 maps\greece_code::kill_no_react(); +} + +//Function Number: 102 +ilanascramblefinalemoveandsuppress() +{ + level endon("ScrambleSniperKilled"); + level.allies["Ilona"].bissuppressingsniper = 0; + var_00 = getnodearray("ScrambleIlanaFinaleSuppressSniper","script_noteworthy"); + while(!common_scripts\utility::flag("FlagScrambleSniperKilled")) + { + var_01 = level.allies["Ilona"] getcovernode(); + if(isdefined(var_01) && maps\_utility::is_in_array(var_00,var_01) && level.allies["Ilona"].bissuppressingsniper == 0) + { + ilanatogglesnipersuppression(1); + snipersettargetent(level.allies["Ilona"]); + level.allies["Ilona"].bissuppressingsniper = 1; + maps\_hms_utility::printlnscreenandconsole("*** Ilana IS suppressing sniper ***"); + continue; + } + + ilanatogglesnipersuppression(0); + snipersettargetent(undefined); + level.allies["Ilona"].bissuppressingsniper = 0; + wait(0.1); + } + + ilanatogglesnipersuppression(0); + level.allies["Ilona"].bissuppressingsniper = 0; + maps\_hms_utility::printlnscreenandconsole("*** Ilana IS NOT suppressing sniper ***"); +} + +//Function Number: 103 +ilanasetupmovetruck() +{ + var_00 = common_scripts\utility::getstruct("ScramblePlayerExitOrg","targetname"); + var_00 maps\_anim::anim_reach_solo(level.allies["Ilona"],"run_to_truck"); + var_00 maps\_anim::anim_single_solo(level.allies["Ilona"],"run_to_truck"); + var_00 thread maps\_anim::anim_loop_solo(level.allies["Ilona"],"move_truck_idle","ilana_move_truck_end"); + common_scripts\utility::flag_set("FlagScrambleIlanaStartMoveTruck"); +} + +//Function Number: 104 +ilanamovetruck() +{ + var_00 = common_scripts\utility::getstruct("ScramblePlayerExitOrg","targetname"); + var_00 notify("ilana_move_truck_end"); + level.allies["Ilona"] maps\_utility::anim_stopanimscripted(); + var_00 thread maps\_anim::anim_single_solo_run(level.allies["Ilona"],"move_truck"); + wait(1); + var_01 = getnode("AllyEndingStartCover","targetname"); + level.allies["Ilona"] maps\_utility::set_goal_node(var_01); + wait(5); + level.allies["Ilona"] maps\_utility::gun_recall(); +} + +//Function Number: 105 +scramblesnipertowerdestruction() +{ + var_00 = getent("sniper_tower_org","targetname"); + var_01 = spawn("script_model",var_00.origin); + var_01 setmodel("greece_sniper_tower_des"); + var_02 = []; + var_02[0] = maps\_utility::spawn_anim_model("greece_sniper_tower_des_01",var_00.origin); + var_02[0].animname = "greece_sniper_tower_des_01"; + var_02[0] maps\_anim::setanimtree(); + var_02[1] = maps\_utility::spawn_anim_model("greece_sniper_tower_des_02",var_00.origin); + var_02[1].animname = "greece_sniper_tower_des_02"; + var_02[1] maps\_anim::setanimtree(); + var_02[2] = maps\_utility::spawn_anim_model("greece_sniper_tower_des_03",var_00.origin); + var_02[2].animname = "greece_sniper_tower_des_03"; + var_02[2] maps\_anim::setanimtree(); + var_02[3] = maps\_utility::spawn_anim_model("greece_sniper_tower_des_04",var_00.origin); + var_02[3].animname = "greece_sniper_tower_des_04"; + var_02[3] maps\_anim::setanimtree(); + var_02[4] = maps\_utility::spawn_anim_model("greece_sniper_tower_des_05",var_00.origin); + var_02[4].animname = "greece_sniper_tower_des_05"; + var_02[4] maps\_anim::setanimtree(); + var_02[5] = maps\_utility::spawn_anim_model("greece_sniper_tower_des_06",var_00.origin); + var_02[5].animname = "greece_sniper_tower_des_06"; + var_02[5] maps\_anim::setanimtree(); + var_02[6] = maps\_utility::spawn_anim_model("greece_sniper_tower_des_07",var_00.origin); + var_02[6].animname = "greece_sniper_tower_des_07"; + var_02[6] maps\_anim::setanimtree(); + var_00 maps\_anim::anim_first_frame(var_02,"windmill_explode"); + var_00 thread maps\_anim::anim_single(var_02,"windmill_explode"); + common_scripts\utility::flag_wait("FlagScramblePlayerStartMoveTruck"); + maps\_utility::array_delete(var_02); +} + +//Function Number: 106 +scramblesnipertowerdestructionshake() +{ + level.player playrumbleonentity("tank_rumble"); + earthquake(0.6,0.25,level.player.origin,128); + wait(0.5); + level.player playrumbleonentity("subtle_tank_rumble"); + earthquake(0.2,10,level.player.origin,128); +} + +//Function Number: 107 +scramblesniperragdoll() +{ + var_00 = maps\_utility::array_spawn_targetname("ScrambleSniperRagdoll",1); + foreach(var_02 in var_00) + { + var_02.animname = "generic"; + var_03 = var_02.script_noteworthy + "Org"; + var_04 = common_scripts\utility::getstruct(var_03,"targetname"); + var_05 = var_04.animation; + var_02 maps\_utility::gun_remove(); + var_02 thread sniperscrambleragdollkill(var_04,var_05); + } +} + +//Function Number: 108 +sniperscrambleragdollkill(param_00,param_01) +{ + thread maps\greece_sniper_scramble_fx::ragdollonfirefx(); + param_00 maps\_anim::anim_single_solo(self,param_01); + self kill(); + wait(3); + if(isdefined(self) && self isragdoll()) + { + self delete(); + } +} + +//Function Number: 109 +sniperdeath() +{ + var_00 = getent("SniperDeathDamageTrigger","targetname"); + var_00 common_scripts\utility::trigger_off(); + common_scripts\utility::flag_wait("FlagScramblePlayerHasStinger"); + level.sniper_scramble_data.shot_delay = 3; + var_00 common_scripts\utility::trigger_on(); + var_00 waittill("trigger"); + level notify("ScrambleSniperKilled"); + common_scripts\utility::flag_set("FlagScrambleSniperKilled"); + soundscripts\_snd::snd_message("mhunt_snpr_tower_collapse"); + thread scramblesnipertowerdestructionshake(); + thread maps\greece_sniper_scramble_fx::snipertowerexplosionfx(); + thread maps\greece_sniper_scramble_fx::snipertowerresidualfx(); + thread maps\greece_sniper_scramble_fx::movetruckfirefx(); + wait(0.15); + var_01 = getent("sniper_tower","targetname"); + var_01 delete(); + thread scramblesnipertowerdestruction(); + thread scramblesniperragdoll(); +} + +//Function Number: 110 +sniperdeathinternal() +{ + if(common_scripts\utility::flag("FlagScrambleSniperKilled")) + { + return; + } + + level notify("ScrambleSniperKilled"); + common_scripts\utility::flag_set("FlagScrambleSniperKilled"); + soundscripts\_snd::snd_message("mhunt_snpr_tower_collapse"); + thread scramblesnipertowerdestructionshake(); + thread maps\greece_sniper_scramble_fx::snipertowerexplosionfx(); + thread maps\greece_sniper_scramble_fx::snipertowerresidualfx(); + thread maps\greece_sniper_scramble_fx::movetruckfirefx(); + wait(0.15); + var_00 = getent("sniper_tower","targetname"); + var_00 delete(); + thread scramblesnipertowerdestruction(); + thread scramblesniperragdoll(); +} + +//Function Number: 111 +setdronehealth(param_00) +{ + foreach(var_02 in param_00) + { + var_02 maps\_vehicle::vehicle_set_health(100); + } +} + +//Function Number: 112 +scramblespawndronesa() +{ + wait(0.05); + thread maps\_utility::autosave_by_name("scramble_drone_fight_A"); + if(level.currentgen) + { + wait(2); + } + + soundscripts\_snd::snd_message("start_swarm_drones_context"); + var_00 = vehicle_scripts\_pdrone::start_flying_attack_drones("ScrambleDroneA"); + maps\_hms_utility::printlnscreenandconsole("Drones A: spawning " + var_00.size + " drones"); + common_scripts\utility::array_thread(var_00,::droneflyinshooting,6); +} + +//Function Number: 113 +scramblespawndronesb() +{ + wait(0.05); + thread maps\_utility::autosave_by_name("scramble_drone_fight_B"); + if(level.currentgen) + { + wait(2); + } + + soundscripts\_snd::snd_message("start_swarm_drones_context"); + var_00 = vehicle_scripts\_pdrone::start_flying_attack_drones("ScrambleDroneB"); + maps\_hms_utility::printlnscreenandconsole("Drones B: spawning " + var_00.size + " drones"); + common_scripts\utility::array_thread(var_00,::droneflyinshooting,6); + thread monitorfinalesafevol(); + common_scripts\utility::flag_wait("FlagScrambleSniperKilled"); + soundscripts\_snd::snd_message("stop_swarm_drones_context"); + var_00 = maps\_utility::array_removedead(var_00); + foreach(var_02 in var_00) + { + if(isdefined(var_02)) + { + var_02 maps\_utility::ent_flag_set("fire_disabled"); + var_02.pacifist = 1; + var_02 vehicle_scripts\_pdrone::pdrone_emp_death(); + } + + wait(randomfloat(0.1)); + } +} + +//Function Number: 114 +scrambleatlasrpg() +{ + wait(1); + level.numberofdronestokill = 3; + var_00 = getent("Atlas_RPG_Origin","targetname"); + var_01 = getentarray("Atlas_RPG_Target","targetname"); + for(var_02 = 0;var_02 < 8;var_02++) + { + var_03 = common_scripts\utility::random(var_01); + var_04 = magicbullet("iw5_stingerm7greece_sp",var_00.origin,var_03.origin); + var_04 thread maps\_stingerm7_greece::_randommissilemovement(var_03); + var_04 thread _destroyprojectileafterdelay(randomfloatrange(1,2)); + soundscripts\_snd::snd_message("ally_shoot_rpg_at_drones",var_00); + wait(randomfloatrange(0.15,0.25)); + } + + common_scripts\utility::flag_set("FlagScrambleGetRPG"); +} + +//Function Number: 115 +_destroyprojectileafterdelay(param_00) +{ + self endon("death"); + if(isdefined(param_00)) + { + wait(param_00); + } + + if(isdefined(self)) + { + var_01 = self.origin; + var_02 = self.angles; + playfx(common_scripts\utility::getfx("stinger_rocket_explosion"),var_01,anglestoforward(var_02),anglestoup(var_02)); + if(level.numberofdronestokill != 0) + { + var_03 = common_scripts\utility::getclosest(self.origin,level.flying_attack_drones); + if(isdefined(var_03) && var_03.health > 0) + { + var_03 dodamage(var_03.health,level.player.origin); + } + + level.numberofdronestokill--; + } + + self delete(); + } +} + +//Function Number: 116 +monitorfinalesafevol() +{ + level endon("ScrambleSniperKilled"); + var_00 = getent("ScrambleFinaleSafeVol","script_noteworthy"); + var_00.bisactivated = 1; + for(;;) + { + if(common_scripts\utility::flag("FlagScrambleDronesBdead") || level.player hasweapon("iw5_stingerm7greece_sp")) + { + break; + } + + wait(0.5); + } + + snipersettargetent(undefined); + var_00.bisactivated = 0; + for(;;) + { + if(level.player hasweapon("iw5_stingerm7greece_sp")) + { + break; + } + + wait(0.1); + } + + level.sniperpos.bsniperenabled = 0; + wait(5); + level.sniperpos.bsniperenabled = 1; + snipersettargetent(level.player); + level.sniper_scramble_data.requires_player_los = 0; +} + +//Function Number: 117 +droneflyinshooting(param_00) +{ + self endon("death"); + thread maps\_shg_utility::make_emp_vulnerable(); + self laseron(); + thread monitordeaddrones(); + maps\_utility::ent_flag_set("fire_disabled"); + self.pacifist = 1; + var_01 = self.script_noteworthy + "Target"; + var_02 = getent(var_01,"targetname"); + var_03 = param_00 - 3; + if(var_03 < 1) + { + var_03 = 1; + } + + var_04 = param_00 + 3; + var_05 = randomfloatrange(var_03,var_04); + if(isdefined(var_02)) + { + thread dronetargetmove(var_02,var_05); + thread dronefireatscriptedtarget(var_02,"pdrone_end_flyin"); + } + + wait(var_05); + self notify("pdrone_end_flyin"); + maps\_utility::ent_flag_clear("fire_disabled"); + if(common_scripts\utility::cointoss()) + { + self.favoriteenemy = level.player; + } + + self.pacifist = 0; +} + +//Function Number: 118 +dronetargetmove(param_00,param_01) +{ + self endon("death"); + self endon("emp_death"); + self endon("pdrone_end_flyin"); + var_02 = level.player.origin + (randomfloatrange(-100,100),randomfloatrange(-100,100),0); + param_00 moveto(var_02,param_01); + for(;;) + { + if(maps\_hms_utility::cointossweighted(25)) + { + physicsexplosionsphere(param_00.origin,100,10,0.5); + } + + wait(0.1); + } +} + +//Function Number: 119 +dronefireatscriptedtarget(param_00,param_01) +{ + self endon("death"); + self endon("emp_death"); + if(isdefined(self.owner)) + { + self.owner endon("pdrone_returning"); + } + + self endon(param_01); + var_02 = 0.3; + var_03 = 0.095; + if(level.currentgen) + { + var_03 = 0.2499; + } + + var_04 = -10 / var_02; + var_05 = 10 / var_02; + var_06 = -5 / var_02; + var_07 = 5 / var_02; + for(;;) + { + var_08 = (randomfloatrange(var_04,var_05),randomfloatrange(var_04,var_05),randomfloatrange(var_06,var_07)); + self setturrettargetent(param_00,var_08); + var_09 = self gettagorigin("tag_flash"); + var_0A = self gettagorigin("tag_flash"); + self fireweapon(); + wait(var_03); + } +} + +//Function Number: 120 +monitordeaddrones() +{ + self waittill("death"); + if(isdefined(self.script_noteworthy)) + { + maps\_hms_utility::printlnscreenandconsole("Drone destroyed: " + self.script_noteworthy); + return; + } + + maps\_hms_utility::printlnscreenandconsole("Drone destroyed!"); +} + +//Function Number: 121 +monitorphysicschairs() +{ + var_00 = getentarray("SniperPhysicsDamageTrigger","targetname"); + common_scripts\utility::array_thread(var_00,::snipershotphysicsimpulse); +} + +//Function Number: 122 +snipershotphysicsimpulse() +{ + level endon("ScrambleSniperKilled"); + for(;;) + { + self waittill("trigger"); + physicsexplosionsphere(self.origin,100,10,0.5); + wait(1); + } +} + +//Function Number: 123 +scrambleplayergapjump() +{ + var_00 = level.player; + var_01 = level.allies["Ilona"]; + var_02 = getent("TriggerScrambleGapJumpStart","targetname"); + var_03 = getent("ScramblePlayerGapJumpRef1","targetname"); + var_04 = anglestoforward(var_03.angles); + thread scrambleplayerjumpwatcher(0); + waitforscramblejump(var_02,var_04,1); + level notify("ScrambleJumpWatcherStop"); + common_scripts\utility::flag_set("FlagScrambleGapJumpStarted"); + soundscripts\_snd::snd_message("gap_jump_squib_occlusion"); + thread scramblegapjumpslomo(); + thread snipershootgapjump(); + thread scramblecivhotel(); + thread scramblecivhothall(); + var_05 = "parkour_jump"; + var_06 = common_scripts\utility::getstruct("ScrambleGapJumpOrg","targetname"); + var_07 = common_scripts\utility::getstruct("ScrambleGapJumpIlonaOrg","targetname"); + var_08 = maps\_utility::spawn_anim_model("player_scramble_rig",var_06.origin,var_06.angles); + var_08 hide(); + var_06 maps\_anim::anim_first_frame_solo(var_08,var_05); + level.player maps\_shg_utility::setup_player_for_scene(); + thread maps\greece_sniper_scramble_fx::windowgapjumpglassshatter(); + soundscripts\_snd::snd_message("hotel_crowd_panic_walla"); + thread scrambleilanagapjump(var_07,var_05); + level.player playerlinktoblend(var_08,"tag_player",0.2); + wait(0.2); + thread scramblehideplayergapjump(var_08); + if(level.currentgen) + { + thread tff_trans_middle_to_outro(); + thread maps\_utility::tff_sync(4); + } + + var_06 maps\_anim::anim_single_solo(var_08,var_05); + level.player unlink(); + level.player thread maps\_shg_utility::setup_player_for_gameplay(); + var_08 delete(); + thread scramblecivpool(); + thread maps\_utility::autosave_by_name("scramble_gap_jump_end"); + common_scripts\utility::flag_set("FlagScrambleGapJumpCompleted"); + common_scripts\utility::flag_set("FlagScrambleStartHotel"); + common_scripts\utility::flag_set("init_sniper_scramble_hotel_lighting"); +} + +//Function Number: 124 +scramblehideplayergapjump(param_00) +{ + wait(0.1); + param_00 show(); +} + +//Function Number: 125 +tff_trans_middle_to_outro() +{ + level notify("tff_pre_middle_to_outro"); + unloadtransient("greece_middle_tr"); + loadtransient("greece_outro_tr"); + while(!istransientloaded("greece_outro_tr")) + { + wait(0.05); + } + + level notify("tff_post_middle_to_outro"); +} + +//Function Number: 126 +scrambleilanagapjump(param_00,param_01) +{ + var_02 = level.allies["Ilona"]; + param_00 maps\_anim::anim_single_solo_run(var_02,param_01); + common_scripts\utility::flag_set("FlagScrambleIlanaGapJumpCompleted"); + thread maps\_hms_utility::allyredirectgotonode("Ilona","AllyStartScrambleHotelCover"); + wait(1); + level.sniperpos.bsniperenabled = 0; +} + +//Function Number: 127 +scrambleplayerhoteljump() +{ + common_scripts\utility::flag_wait("FlagScrambleCheckPlayerDecision"); + var_00 = level.player; + var_01 = getent("TriggerScrambleHotelJumpStart","targetname"); + var_02 = getent("ScramblePlayerHotelJumpRef","targetname"); + var_03 = anglestoforward(var_02.angles); + thread scrambleplayerjumpwatcher(0); + waitforscramblejump(var_01,var_03,0); + level notify("ScrambleJumpWatcherStop"); + common_scripts\utility::flag_set("FlagScrambleHotelJumpStarted"); + soundscripts\_snd::snd_message("scramble_amb_siren_loop"); + soundscripts\_snd::snd_message("pool_civ_01_cower_setup"); + var_04 = getent("ScrambleHotelWindowClip","targetname"); + var_04 delete(); + var_05 = "hotel_jump"; + var_06 = getent("TriggerScrambleHotelJumpStartL","targetname"); + if(level.player istouching(var_06)) + { + var_07 = common_scripts\utility::getstruct("ScrambleHotelJumpOrgL","targetname"); + var_08 = 1; + } + else + { + var_07 = common_scripts\utility::getstruct("ScrambleHotelJumpOrgR","targetname"); + var_08 = 0; + } + + thread snipershoothoteljump(var_08); + var_09 = maps\_utility::spawn_anim_model("player_scramble_rig",var_07.origin,var_07.angles); + var_09 hide(); + var_07 maps\_anim::anim_first_frame_solo(var_09,var_05); + level.player maps\_shg_utility::setup_player_for_scene(); + thread maps\greece_sniper_scramble_fx::windowhoteljumpglassshatter(0.1); + level.player disableweapons(); + level.player playerlinktoblend(var_09,"tag_player",0.2); + wait(0.2); + var_09 show(); + var_07 maps\_anim::anim_single_solo(var_09,var_05); + level.player unlink(); + level.player thread maps\_shg_utility::setup_player_for_gameplay(); + var_09 delete(); + level.player allowsprint(1); + level.player allowdodge(1); + thread maps\_utility::autosave_by_name("scramble_hotel_jump_end"); + common_scripts\utility::flag_set("FlagScrambleHotelJumpCompleted"); + thread scrambleplayercafejump(); +} + +//Function Number: 128 +scrambleplayercafejump() +{ + level endon("ScramblePlayerLeftIlana"); + common_scripts\utility::flag_wait("FlagScrambleHotelIlanaReachedGoal"); + var_00 = level.player; + var_01 = getent("TriggerScrambleCafeJumpStart","targetname"); + var_02 = getent("ScramblePlayerCafeJumpRef","targetname"); + var_03 = getent("TriggerScrambleCafeJumpStartL","targetname"); + var_04 = getent("TriggerScrambleCafeJumpStartR","targetname"); + var_05 = anglestoforward(var_02.angles); + thread scrambleplayerjumpwatcher(0); + waitforscramblejump(var_01,var_05,0); + level notify("ScrambleJumpWatcherStop"); + common_scripts\utility::flag_set("FlagScrambleCafeJumpStarted"); + var_06 = getent("ScrambleCafeWindowClip","targetname"); + var_06 delete(); + var_07 = "cafe_jump"; + if(level.player istouching(var_03)) + { + var_08 = common_scripts\utility::getstruct("ScrambleCafeJumpOrgL","targetname"); + var_09 = 1; + } + else + { + var_08 = common_scripts\utility::getstruct("ScrambleCafeJumpOrgR","targetname"); + var_09 = 0; + } + + thread snipershootcafejump(var_09); + var_0A = maps\_utility::spawn_anim_model("player_scramble_rig",var_08.origin,var_08.angles); + var_0A hide(); + var_08 maps\_anim::anim_first_frame_solo(var_0A,var_07); + level.player maps\_shg_utility::setup_player_for_scene(); + level.player playerlinktoblend(var_0A,"tag_player",0.2); + wait(0.2); + var_0A show(); + var_08 maps\_anim::anim_single_solo(var_0A,var_07); + level.player unlink(); + level.player thread maps\_shg_utility::setup_player_for_gameplay(); + var_0A delete(); + thread maps\_utility::autosave_by_name("scramble_cafe_jump_end"); + common_scripts\utility::flag_set("FlagScrambleCafeJumpCompleted"); +} + +//Function Number: 129 +scrambleplayerjumpwatcher(param_00) +{ + level endon("ScrambleJumpWatcherStop"); + common_scripts\utility::flag_clear("FlagScramblePlayerJumping"); + if(param_00) + { + notifyoncommand("playerjump","+usereload"); + notifyoncommand("playerjump","+gostand"); + notifyoncommand("playerjump","+moveup"); + } + else + { + notifyoncommand("playerjump","+gostand"); + notifyoncommand("playerjump","+moveup"); + } + + for(;;) + { + level.player waittill("playerjump"); + common_scripts\utility::flag_set("FlagScramblePlayerJumping"); + wait(0.1); + while(!level.player isonground()) + { + wait(0.05); + } + + common_scripts\utility::flag_clear("FlagScramblePlayerJumping"); + } +} + +//Function Number: 130 +waitforscramblejump(param_00,param_01,param_02) +{ + for(;;) + { + wait(0.05); + if(level.player isreloading()) + { + continue; + } + + if(isdefined(level.player.using_ammo_cache) && level.player.using_ammo_cache == 1) + { + continue; + } + + if(level.player istouching(param_00) && common_scripts\utility::flag("FlagScramblePlayerJumping") && scrambleplayerleaps(param_00,param_01,0.6,param_02)) + { + break; + } + } +} + +//Function Number: 131 +scrambleplayerleaps(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_02)) + { + param_02 = 0.965; + } + + if(level.player getstance() != "stand") + { + return 0; + } + + var_04 = level.player getplayerangles() * (1,1,0); + var_05 = anglestoforward(var_04); + param_01 = vectornormalize(param_01 * (1,1,0)); + if(vectordot(var_05,param_01) < param_02) + { + return 0; + } + + if(param_03) + { + var_06 = maps\greece_code::calculateleftstickdeadzone() * (1,-1,0); + var_07 = transformmove((0,0,0),var_04,(0,0,0),(0,0,0),var_06,(0,0,0)); + if(vectordot(var_07["origin"],param_01) < 0.2) + { + return 0; + } + } + + return 1; +} + +//Function Number: 132 +scramblecivsetup() +{ + self pushplayer(0); + maps\_utility::set_ignoreall(1); + thread civsniperdamagemonitor(); +} + +//Function Number: 133 +scramblecivpatio() +{ + var_00 = []; + maps\_utility::array_spawn_function_targetname("ScrambleCivPatioCower",::scramblecivsetup); + var_01 = maps\_utility::array_spawn_targetname("ScrambleCivPatioCower",1); + var_00 = maps\_utility::array_merge(var_00,var_01); + foreach(var_03 in var_01) + { + var_03 thread scrambleciviliancower(); + if(var_03.script_noteworthy == "PatioCower01") + { + soundscripts\_snd::snd_message("patio_civ_01_cower",var_03); + } + } + + maps\_utility::array_spawn_function_targetname("ScrambleCivPatioFlee",::scramblecivsetup); + var_05 = maps\_utility::array_spawn_targetname("ScrambleCivPatioFlee",1); + var_00 = maps\_utility::array_merge(var_00,var_05); + level.sniperalltargets = maps\_utility::array_merge(level.sniperalltargets,var_00); + foreach(var_03 in var_05) + { + if(var_03.script_noteworthy == "PatioFlee01") + { + var_07 = "FlagScrambleIlanaBeginOpenIntroDoor"; + } + else if(var_03.script_noteworthy == "PatioFlee03") + { + var_07 = "FlagScrambleIlanaEndOpenIntroDoor"; + } + else + { + var_07 = "FlagScrambleGapJumpStarted"; + } + + if(var_03.script_noteworthy == "PatioFlee01") + { + var_08 = 1; + var_09 = 1; + var_0A = 1; + var_03 thread maps\_utility::magic_bullet_shield(); + } + else + { + var_0A = 0; + var_08 = 0; + var_09 = 0; + } + + if(var_03.script_noteworthy == "PatioFlee01") + { + soundscripts\_snd::snd_message("patio_intro_civ_death",var_03); + } + + if(var_03.script_noteworthy == "PatioFlee03") + { + soundscripts\_snd::snd_message("patio_civ_03_scream",var_03); + } + + var_03 thread scramblecivilianflee(var_07,var_09,0,var_08,var_0A); + } + + common_scripts\utility::flag_wait("FlagScrambleGapJumpCompleted"); + var_00 = maps\_utility::array_removedead(var_00); + maps\_utility::array_notify(var_00,"delete"); + wait(0.05); + maps\_utility::array_delete(var_00); +} + +//Function Number: 134 +scramblecivhotel() +{ + var_00 = []; + maps\_utility::array_spawn_function_targetname("ScrambleCivHotelFlee",::scramblecivsetup); + var_01 = maps\_utility::array_spawn_targetname("ScrambleCivHotelFlee",1); + var_00 = maps\_utility::array_merge(var_00,var_01); + level.sniperalltargets = maps\_utility::array_merge(level.sniperalltargets,var_00); + foreach(var_03 in var_01) + { + var_04 = undefined; + if(var_03.script_noteworthy != "HotelFlee01") + { + var_04 = "FlagScrambleBeginHothall"; + } + + if(var_03.script_noteworthy == "HotelFlee02") + { + soundscripts\_snd::snd_message("hotel_civ_04_death",var_03); + } + + var_03 thread scramblecivilianflee(var_04,0); + } + + common_scripts\utility::flag_wait("FlagScrambleHotelJumpCompleted"); + var_00 = maps\_utility::array_removedead(var_00); + maps\_utility::array_notify(var_00,"delete"); + wait(0.05); + maps\_utility::array_delete(var_00); +} + +//Function Number: 135 +scramblecivhothall() +{ + var_00 = getent("hothall_org","targetname"); + var_01 = maps\_utility::spawn_targetname("hothall_male01","targetname"); + var_01.animname = "hothall_male01"; + var_02 = maps\_utility::spawn_targetname("hothall_male02","targetname"); + var_02.animname = "hothall_male02"; + var_03 = maps\_utility::spawn_targetname("hothall_female01","targetname"); + var_03.animname = "hothall_female01"; + var_04 = maps\_utility::spawn_targetname("hothall_female02","targetname"); + var_04.animname = "hothall_female02"; + var_05 = [var_01,var_02,var_03,var_04]; + foreach(var_07 in var_05) + { + var_07.ignoresonicaoe = 1; + var_07 thread scramblecivsetup(); + } + + var_01 thread scramblehothallciv(var_00,1); + var_02 thread scramblehothallciv(var_00,0); + var_03 thread scramblehothallciv(var_00,1); + var_04 thread scramblehothallciv(var_00,0); + soundscripts\_snd::snd_message("hotel_female_01_hallway",var_03); + common_scripts\utility::flag_wait("FlagScrambleHotelJumpCompleted"); + var_05 = maps\_utility::array_removedead(var_05); + maps\_utility::array_delete(var_05); +} + +//Function Number: 136 +scramblehothallciv(param_00,param_01) +{ + self endon("death"); + param_00 thread maps\_anim::anim_loop_solo(self,"scram_hothall_idle","stop_hothall_idle"); + if(param_01 == 0) + { + self.health = 1000000; + } + + common_scripts\utility::flag_wait("FlagScrambleBeginHothall"); + param_00 notify("stop_hothall_idle"); + param_00 maps\_anim::anim_single_solo(self,"scram_hothall"); + if(param_01 == 1) + { + param_00 thread maps\_anim::anim_loop_solo(self,"scram_hothall_idle_end"); + return; + } + + maps\greece_code::kill_no_react(); +} + +//Function Number: 137 +scramblecivpool() +{ + var_00 = []; + maps\_utility::array_spawn_function_targetname("ScrambleCivPoolCower",::scramblecivsetup); + var_01 = maps\_utility::array_spawn_targetname("ScrambleCivPoolCower",1); + var_00 = maps\_utility::array_merge(var_00,var_01); + foreach(var_03 in var_01) + { + var_03 thread scrambleciviliancower(); + if(var_03.script_noteworthy == "PoolCower01") + { + soundscripts\_snd::snd_message("pool_civ_01_cower",var_03); + } + } + + maps\_utility::array_spawn_function_targetname("ScrambleCivPoolFlee",::scramblecivsetup); + var_05 = maps\_utility::array_spawn_targetname("ScrambleCivPoolFlee",1); + var_00 = maps\_utility::array_merge(var_00,var_05); + level.sniperalltargets = maps\_utility::array_merge(level.sniperalltargets,var_00); + foreach(var_03 in var_05) + { + if(var_03.script_noteworthy == "PoolFlee01" || var_03.script_noteworthy == "PoolFlee02") + { + var_07 = "FlagTriggerScramblePlayerNearSecondJump"; + } + else + { + var_07 = "FlagScrambleHotelJumpCompleted"; + } + + var_08 = 0; + var_03 thread scramblecivilianflee(var_07,var_08,1,0); + } + + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerCompletedThirdJump"); + var_00 = maps\_utility::array_removedead(var_00); + maps\_utility::array_notify(var_00,"delete"); + wait(0.05); + maps\_utility::array_delete(var_00); +} + +//Function Number: 138 +scramblecivdrones() +{ + var_00 = []; + maps\_utility::array_spawn_function_targetname("ScrambleCivDronesCower",::scramblecivsetup); + var_01 = maps\_utility::array_spawn_targetname("ScrambleCivDronesCower",1); + var_00 = maps\_utility::array_merge(var_00,var_01); + foreach(var_03 in var_01) + { + if(var_03.script_noteworthy == "DronesCower01Org") + { + var_04 = 1; + } + else + { + var_04 = 0; + } + + var_03 thread scrambleciviliancower(undefined,var_04); + } + + maps\_utility::array_spawn_function_targetname("ScrambleCivDronesFlee",::scramblecivsetup); + var_06 = maps\_utility::array_spawn_targetname("ScrambleCivDronesFlee",1); + var_00 = maps\_utility::array_merge(var_00,var_06); + level.sniperalltargets = maps\_utility::array_merge(level.sniperalltargets,var_00); + foreach(var_03 in var_06) + { + if(var_03.script_noteworthy == "DronesFlee06" || var_03.script_noteworthy == "DronesFlee07" || var_03.script_noteworthy == "DronesFlee08" || var_03.script_noteworthy == "DronesFlee09") + { + var_08 = 1; + } + else + { + var_08 = 0; + } + + if(var_03.script_noteworthy == "DronesFlee02") + { + soundscripts\_snd::snd_message("drone_civ_02_flee",var_03); + } + + var_09 = "FlagScrambleStartDrones"; + var_03 thread scramblecivilianflee(var_09,var_08,0); + } + + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerNearWoundedSoldier"); + var_00 = maps\_utility::array_removedead(var_00); + maps\_utility::array_notify(var_00,"delete"); + wait(0.05); + maps\_utility::array_delete(var_00); +} + +//Function Number: 139 +scramblecivrestaurant() +{ + var_00 = []; + maps\_utility::array_spawn_function_targetname("ScrambleCivRestaurantCower",::scramblecivsetup); + var_01 = maps\_utility::array_spawn_targetname("ScrambleCivRestaurantCower",1); + var_00 = maps\_utility::array_merge(var_00,var_01); + foreach(var_03 in var_01) + { + var_03 thread scrambleciviliancower(); + if(var_03.script_noteworthy == "RestaurantCower03") + { + soundscripts\_snd::snd_message("restaurant_civ_03_cower",var_03); + } + } + + maps\_utility::array_spawn_function_targetname("ScrambleCivRestaurantFlee",::scramblecivsetup); + var_05 = maps\_utility::array_spawn_targetname("ScrambleCivRestaurantFlee",1); + var_00 = maps\_utility::array_merge(var_00,var_05); + level.sniperalltargets = maps\_utility::array_merge(level.sniperalltargets,var_00); + foreach(var_03 in var_05) + { + var_03 thread scramblecivilianflee("FlagTriggerScramblePlayerInRestaurant",0,0); + } + + thread snipershootrestaurantfishtank(); + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerLeavingRestaurant"); + var_00 = maps\_utility::array_removedead(var_00); + maps\_utility::array_notify(var_00,"delete"); + wait(0.05); + maps\_utility::array_delete(var_00); +} + +//Function Number: 140 +scramblecivrestaurantdooropener() +{ + var_00 = common_scripts\utility::getstruct("RestaurantDoorOpenOrg","script_noteworthy"); + maps\_utility::array_spawn_function_targetname("ScrambleCivRestaurantDoorOpener",::scramblecivsetup); + var_01 = maps\_utility::spawn_targetname("ScrambleCivRestaurantDoorOpener",1); + var_01 pushplayer(0); + var_01.animname = "generic"; + var_01.ignoresonicaoe = 1; + var_01.health = 9999999; + var_01 thread sniperbloodsprayexitwoundtrace(); + var_02 = getent("ScrambleRestaurantDoors","targetname"); + var_02.animname = "sniper_restaurant_door"; + var_02 maps\_utility::assign_animtree("sniper_restaurant_door"); + var_00 maps\_anim::anim_first_frame_solo(var_02,"RestaurantOpenDoor"); + var_00 thread maps\_anim::anim_loop_solo(var_01,"RestaurantOpenDoor_idle","scramble_open_restaurant"); +} + +//Function Number: 141 +scramblecivfinale() +{ + thread scramblefinalecar(); + var_00 = []; + maps\_utility::array_spawn_function_targetname("ScrambleCivFinaleCower",::scramblecivsetup); + var_01 = maps\_utility::array_spawn_targetname("ScrambleCivFinaleCower",1); + var_00 = maps\_utility::array_merge(var_00,var_01); + foreach(var_03 in var_01) + { + if(var_03.script_noteworthy == "FinaleCower04Org" || var_03.script_noteworthy == "FinaleCower05Org") + { + var_04 = 1; + } + else + { + var_04 = 0; + } + + var_03 thread scrambleciviliancower(undefined,var_04); + if(var_03.script_noteworthy == "FinaleCower04") + { + soundscripts\_snd::snd_message("finale_civ_04_cower",var_03); + } + } + + maps\_utility::array_spawn_function_targetname("ScrambleCivFinaleFlee",::scramblecivsetup); + var_06 = maps\_utility::array_spawn_targetname("ScrambleCivFinaleFlee",1); + var_00 = maps\_utility::array_merge(var_00,var_06); + level.sniperalltargets = maps\_utility::array_merge(level.sniperalltargets,var_00); + foreach(var_03 in var_06) + { + if(var_03.script_noteworthy == "FinaleFlee02") + { + var_08 = 1; + } + else + { + var_08 = 0; + } + + var_09 = "FlagTriggerScramblePlayerNearStreet"; + var_03 thread scramblecivilianflee(var_09,var_08,0); + } + + common_scripts\utility::flag_wait("FlagEndingStart"); + var_00 = maps\_utility::array_removedead(var_00); + maps\_utility::array_notify(var_00,"delete"); + wait(0.05); + maps\_utility::array_delete(var_00); +} + +//Function Number: 142 +scramblefinalecar() +{ + level endon("AmbushTimerFreeze"); + var_00 = getent("ScrambleFinaleCar","targetname"); + var_00 thread scramblevehicleexplodeondeath(); + for(;;) + { + var_00 waittill("damage",var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A); + if(!isdefined(var_0A)) + { + return; + } + + if(var_0A == "hms_rail_sniper" && isdefined(level.sniperpos)) + { + var_00 maps\_vehicle::force_kill(); + var_0B = maps\_utility::get_living_ai("FinaleCower07","script_noteworthy"); + if(isdefined(var_0B)) + { + var_0B maps\greece_code::kill_no_react(0); + var_0B animscripts\notetracks::notetrackstartragdoll("ragdoll"); + } + } + + wait 0.05; + } +} + +//Function Number: 143 +scrambleciviliancower(param_00,param_01) +{ + self endon("death"); + if(!isdefined(param_01)) + { + param_01 = 0; + } + + self pushplayer(0); + self.allowpain = 0; + self.animname = "generic"; + self.ignoresonicaoe = 1; + var_02 = self.script_noteworthy + "Org"; + var_03 = common_scripts\utility::getstruct(var_02,"script_noteworthy"); + if(isdefined(var_03.targetname) && var_03.targetname == "DronesCowerCasual") + { + thread codescripts\character::setheadmodel("head_f_act_cau_hamilton_base"); + self setmodel("civ_urban_female_body_b_olive"); + } + + if(param_01 == 1) + { + thread civkillwhennearplayer(0); + } + + var_04 = self.script_noteworthy; + var_05 = var_04 + "_idle"; + var_06 = var_04 + "_end"; + thread maps\greece_code::setragdolldeath(var_06,var_03); + thread sniperbloodsprayexitwoundtrace(); + var_03 thread maps\_anim::anim_loop_solo(self,var_05,var_06); + var_07 = var_04 + "_reaction"; + if(isdefined(var_07) && maps\_utility::hasanim(var_07)) + { + if(isdefined(param_00)) + { + common_scripts\utility::flag_wait(param_00); + } + else + { + for(;;) + { + if(distancesquared(self.origin,level.player.origin) < 40000) + { + break; + } + + wait(0.1); + } + } + + self notify(var_06); + var_03 notify(var_06); + var_03 maps\_anim::anim_single_solo(self,var_07); + var_08 = var_04 + "_newidle"; + if(isdefined(var_08) && maps\_utility::hasanim(var_08)) + { + var_03 thread maps\_anim::anim_loop_solo(self,var_08,var_06); + return; + } + + var_03 thread maps\_anim::anim_loop_solo(self,var_05,var_06); + } +} + +//Function Number: 144 +scramblecivilianflee(param_00,param_01,param_02,param_03,param_04) +{ + self endon("death"); + if(!isdefined(param_02)) + { + param_02 = 1; + } + + if(!isdefined(param_03)) + { + param_03 = 1; + } + + self pushplayer(0); + self.animname = "generic"; + self.ignoresonicaoe = 1; + self.allowpain = 0; + var_05 = self.script_noteworthy + "Org"; + var_06 = common_scripts\utility::getstruct(var_05,"script_noteworthy"); + thread sniperbloodsprayexitwoundtrace(); + if(param_03 == 1) + { + thread maps\greece_code::setragdolldeath(); + } + else + { + maps\_hms_utility::printlnscreenandconsole("No ragdoll death on " + self.script_noteworthy); + } + + if(param_02 == 1) + { + thread civkillwhennearplayer(); + } + + var_07 = self.script_noteworthy; + var_08 = var_07 + "_idle"; + var_09 = var_07 + "_end"; + var_0A = var_07 + "_goal"; + var_0B = common_scripts\utility::getstruct(var_0A,"targetname"); + if(isdefined(param_00)) + { + var_06 thread maps\_anim::anim_loop_solo(self,var_08,var_09); + common_scripts\utility::flag_wait(param_00); + } + + if(isdefined(param_04)) + { + wait(param_04); + } + + wait 0.05; + if(isdefined(self)) + { + self notify(var_09); + var_06 notify(var_09); + maps\_utility::anim_stopanimscripted(); + var_0C = var_07 + "_reaction"; + if(isdefined(var_0B)) + { + var_06 maps\_anim::anim_single_solo_run(self,var_0C); + } + else + { + var_06 maps\_anim::anim_single_solo(self,var_0C); + } + } + + if(isdefined(self)) + { + var_0D = var_07 + "_newidle"; + if(param_01 == 1) + { + if(isdefined(self.magic_bullet_shield)) + { + maps\_utility::stop_magic_bullet_shield(); + } + + self.allowdeath = 1; + self.a.nodeath = 1; + self kill(); + return; + } + + if(isdefined(var_0D) && maps\_utility::hasanim(var_0D)) + { + var_06 thread maps\_anim::anim_loop_solo(self,var_0D,var_09); + return; + } + + self.ignoresonicaoe = undefined; + maps\greece_code::clearragdolldeath(); + if(isdefined(var_0B)) + { + maps\_utility::set_goal_pos(var_0B.origin); + return; + } + + maps\_utility::set_goal_pos(self.origin); + return; + } +} + +//Function Number: 145 +civkillwhennearplayer(param_00) +{ + level endon("ScrambleSniperKilled"); + self endon("death"); + if(!isdefined(param_00)) + { + param_00 = 1; + } + + if(param_00 == 1) + { + self endon("goal"); + } + + for(;;) + { + wait(0.05); + if(isshotdelayed()) + { + continue; + } + + var_01 = distancesquared(level.player.origin,self.origin); + var_02 = randomintrange(20000,40000); + if(var_01 <= var_02) + { + if(isdefined(self.magic_bullet_shield)) + { + maps\_utility::stop_magic_bullet_shield(); + } + + soundscripts\_snd::snd_message("windmill_sniper_shot_multi",self geteye()); + var_03 = snipertargetgettagpos(); + snipershoot(var_03,1,1); + } + } +} + +//Function Number: 146 +scramblefinaleallies() +{ + var_00 = []; + maps\_utility::array_spawn_function_targetname("ScrambleFinaleAlly",::maps\_utility::set_ignoreall,1); + var_00 = maps\_utility::array_spawn_targetname("ScrambleFinaleAlly",1); + level.sniperalltargets = maps\_utility::array_merge(level.sniperalltargets,var_00); + foreach(var_02 in var_00) + { + var_02.health = 1; + var_02.allowdeath = 1; + var_02 maps\_utility::gun_remove(); + var_02 maps\_utility::set_ignoreall(1); + var_02 maps\_utility::set_ignoreme(1); + var_02 maps\_utility::set_battlechatter(0); + var_02 thread maps\greece_code::setragdolldeath(); + } + + foreach(var_02 in var_00) + { + if(var_02.script_noteworthy == "FinaleAlly01") + { + var_02 thread scramblefinalefirstwoundedally(); + var_02 thread sniperbloodsprayexitwoundtrace(1); + continue; + } + + if(var_02.script_noteworthy == "FinaleAlly02") + { + var_02.name = "Rivers"; + var_02.animname = "Rivers"; + var_02.script_parameters = "Rivers"; + } + else + { + var_02.name = " "; + var_02.animname = "generic"; + } + + var_02 thread scramblefinaleextrawoundedally(); + var_02 thread sniperbloodsprayexitwoundtrace(); + } + + thread snipershootstingerpot(); + common_scripts\utility::flag_wait("FlagEndingStart"); + var_00 = maps\_utility::array_removedead(var_00); + maps\_utility::array_notify(var_00,"delete"); + wait(0.05); + maps\_utility::array_delete(var_00); +} + +//Function Number: 147 +scramblefinalefirstwoundedally() +{ + var_00 = common_scripts\utility::getstruct("ScrambleIlanaLookAllyOrg","targetname"); + var_01 = "sanchez_wounded_idle"; + self.name = "Torres"; + self.animname = "Torres"; + self.script_parameters = "Torres"; + self.health = 10000; + self.maxhealth = 10000; + var_00 thread maps\_anim::anim_loop_solo(self,var_01,"wounded_loop_end"); +} + +//Function Number: 148 +scramblefinaleextrawoundedally() +{ + self endon("death"); + var_00 = self.script_noteworthy + "Org"; + var_01 = common_scripts\utility::getstruct(var_00,"script_noteworthy"); + var_02 = var_01.animation; + var_01 thread maps\_anim::anim_first_frame_solo(self,var_02); + var_03 = self.script_noteworthy + "Trig"; + maps\_utility::trigger_wait_targetname(var_03); + var_01 maps\_anim::anim_single_solo(self,var_02); + maps\greece_code::kill_no_react(0); +} + +//Function Number: 149 +monitorplayerfirerpgattower() +{ + var_00 = getent("ScrambleSniperWindow","targetname"); + level endon("ScrambleSniperKilled"); + level.player waittill("missile_fire",var_01,var_02); + thread firestingerrumble(); + common_scripts\utility::flag_set("FlagScramblePlayerFireMissile"); + thread slowmotiontowerdestruction(); +} + +//Function Number: 150 +firestingerrumble() +{ + level.player playrumbleonentity("artillery_rumble"); + earthquake(0.5,0.3,level.player.origin,100); +} + +//Function Number: 151 +slowmotiontowerdestruction() +{ + level.sniperpos.bsniperenabled = 0; + level.player enableinvulnerability(); + level.player allowcrouch(0); + level.player allowprone(0); + level.player allowjump(0); + level.player allowsprint(0); + level.player allowdodge(0); + common_scripts\utility::flag_wait("FlagScrambleSniperKilled"); + wait(1.5); + level.player disableinvulnerability(); + level.player allowcrouch(1); + level.player allowprone(1); + level.player allowjump(1); + level.player allowsprint(1); + level.player allowdodge(1); +} + +//Function Number: 152 +monitormantlevols() +{ + while(!common_scripts\utility::flag("FlagScrambleSniperKilled")) + { + if(level.player ismantling()) + { + physicsexplosionsphere(level.player.origin,200,0,0.1); + glassradiusdamage(level.player.origin,500,1000,100); + wait(1); + } + + wait(0.05); + } +} + +//Function Number: 153 +monitorlastweapon() +{ + level.player endon("death"); + level endon("missionfailed"); + wait(0.5); + self.saved_lastweapon = undefined; + while(!common_scripts\utility::flag("FlagScrambleSniperKilled")) + { + var_00 = maps\_utility::get_storable_current_weapon(); + if(var_00 == "iw5_stingerm7greece_sp") + { + common_scripts\utility::flag_set("FlagScramblePlayerHasStinger"); + break; + } + + if(isdefined(var_00) && var_00 != "none" && var_00 != "c4") + { + if(!isdefined(self.saved_lastweapon) || var_00 != self.saved_lastweapon) + { + self.saved_lastweapon = var_00; + } + } + + wait(0.05); + } +} + +//Function Number: 154 +stingerpronestatemonitor() +{ + level.player endon("death"); + level endon("missionfailed"); + while(!common_scripts\utility::flag("FlagScrambleSniperKilled")) + { + var_00 = self getcurrentweapon(); + if(var_00 == "iw5_stingerm7greece_sp") + { + level.player allowprone(0); + continue; + } + + level.player allowprone(1); + wait(0.05); + } +} + +//Function Number: 155 +sniperbloodsprayexitwoundtrace(param_00) +{ + self endon("delete"); + self endon("bloodless"); + var_01 = 1000; + var_02 = "TAG_WEAPON_CHEST"; + if(!isdefined(param_00)) + { + param_00 = 0; + } + + if(param_00 == 1) + { + self waittill("damage",var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A,var_0B,var_0C); + } + else + { + self waittill("death",var_0C,var_0D,var_0C); + } + + if(!isdefined(var_0C)) + { + return; + } + + if(var_0C == "hms_rail_sniper" && isdefined(level.sniperpos)) + { + var_0E = self gettagorigin(var_02); + var_0F = level.sniperpos.origin; + var_10 = vectortoangles(var_0E - var_0F); + var_11 = var_0E + var_10 * var_01; + var_12 = bullettrace(var_0E,var_11,0); + if(isdefined(var_12["position"])) + { + var_13 = var_12["position"]; + playfx(common_scripts\utility::getfx("blood_impact_splat"),var_13); + soundscripts\_snd::snd_message("mhunt_snpr_blood_impact_splat"); + } + } +} + +//Function Number: 156 +scramblesetupexittruck() +{ + var_00 = common_scripts\utility::getstruct("ScrambleTruckExitOrg","targetname"); + var_01 = getent("ScrambleExitTruck","targetname"); + var_01 maps\_utility::assign_animtree("exit_truck"); + var_01.animname = "exit_truck"; + var_00 maps\_anim::anim_first_frame_solo(var_01,"move_truck"); +} + +//Function Number: 157 +monitormovetruckinteract() +{ + var_00 = getent("UseTriggerScrambleMoveTruckInteract","targetname"); + var_00 makeusable(); + thread scramblemonitormovetruckhint(); + var_00 maps\_utility::addhinttrigger(&"GREECE_HINT_MOVE_TRUCK",&"GREECE_HINT_MOVE_TRUCK_KB"); + var_00 waittill("trigger",var_01); + var_00 delete(); + level notify("ScramblePlayerMoveTruck"); + common_scripts\utility::flag_set("FlagScramblePlayerStartMoveTruck"); + thread playermovetruck(); + thread maps\greece_code::sunflareswap("sunflare_dim"); +} + +//Function Number: 158 +scramblemonitormovetruckhint() +{ + var_00 = getent("ScrambleMoveTruckObj","targetname"); + var_01 = maps\_shg_utility::hint_button_position("use",var_00.origin,128); + common_scripts\utility::flag_wait("FlagScramblePlayerStartMoveTruck"); + var_01 maps\_shg_utility::hint_button_clear(); +} + +//Function Number: 159 +playermovetruck() +{ + common_scripts\utility::flag_wait("FlagScramblePlayerStartMoveTruck"); + var_00 = common_scripts\utility::getstruct("ScramblePlayerExitOrg","targetname"); + soundscripts\_snd::snd_message("finale_street_crowd"); + thread maps\greece_ending::endingburningsniper(); + var_01 = maps\_utility::spawn_anim_model("player_scramble_rig",var_00.origin,var_00.angles); + var_01 hide(); + var_00 maps\_anim::anim_first_frame_solo(var_01,"move_truck"); + level.player maps\_shg_utility::setup_player_for_scene(1); + level.player playerlinktoblend(var_01,"tag_player",0.3); + wait(0.3); + var_01 show(); + thread ilanamovetruck(); + thread truckmovetruck(); + var_00 maps\_anim::anim_single_solo(var_01,"move_truck"); + level.player unlink(); + level.player thread maps\_shg_utility::setup_player_for_gameplay(); + var_01 delete(); + if(level.currentgen) + { + thread closeendinggatestransition(); + } + + thread maps\_utility::autosave_by_name("scramble_move_truck_end"); + common_scripts\utility::flag_set("FlagScramblePlayerEndMoveTruck"); +} + +//Function Number: 160 +truckmovetruck() +{ + var_00 = common_scripts\utility::getstruct("ScrambleTruckExitOrg","targetname"); + var_01 = getent("ScrambleExitTruck","targetname"); + var_02 = getent("ScrambleExitCarClip","targetname"); + thread maps\greece_sniper_scramble_fx::movetrucktiresmokefx(); + var_02 delete(); + var_00 maps\_anim::anim_single_solo(var_01,"move_truck"); +} + +//Function Number: 161 +gondolaanimation() +{ + var_00 = getent("gondolaOrg","targetname"); + var_01 = maps\_utility::spawn_anim_model("gondola_01"); + var_02 = maps\_utility::spawn_anim_model("gondola_02"); + var_03 = maps\_utility::spawn_anim_model("gondola_03"); + var_04 = maps\_utility::spawn_anim_model("gondola_04"); + var_05 = [var_01,var_02,var_03,var_04]; + wait(2); + var_00 thread maps\_anim::anim_loop(var_05,"gondola_loop","stop_gondolas"); + soundscripts\_snd::snd_message("gondola_movement_loops",var_05); + common_scripts\utility::flag_wait("FlagScramblePlayerStartMoveTruck"); + level notify("stop_gondola_audio"); + var_00 notify("stop_gondolas"); + maps\_utility::array_delete(var_05); +} + +//Function Number: 162 +pitbulldestroyedanimation() +{ + var_00 = getent("pitbull_veh","targetname"); + var_00.animname = "pitbull_veh"; + var_00 maps\_utility::assign_animtree("pitbull_veh"); + var_00 maps\_anim::anim_loop_solo(var_00,"pitbull_destroyed"); +} + +//Function Number: 163 +scrambledestroycafewall() +{ + var_00 = getentarray("cafe_wall_clean","targetname"); + var_01 = getentarray("cafe_wall_destroyed","targetname"); + if(level.nextgen) + { + foreach(var_03 in var_01) + { + var_03 hide(); + } + } + + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerNearThirdJump"); + thread snipershootcafewall(); + foreach(var_03 in var_01) + { + var_03 show(); + } + + foreach(var_03 in var_00) + { + var_03 delete(); + } +} + +//Function Number: 164 +initsniperscramblesuppressionfeedback() +{ + if(isdefined(self.hud_damagefeedback)) + { + self.saved_hud_damagefeedback = self.hud_damagefeedback; + } + + self.hud_damagefeedback = newclienthudelem(self); + self.hud_damagefeedback.horzalign = "center"; + self.hud_damagefeedback.vertalign = "middle"; + self.hud_damagefeedback.x = -12; + self.hud_damagefeedback.y = -12; + self.hud_damagefeedback.alpha = 0; + self.hud_damagefeedback.archived = 1; + self.hud_damagefeedback setshader("damage_feedback",24,48); + level waittill("ScrambleSniperKilled"); + if(isdefined(self.saved_hud_damagefeedback)) + { + self.hud_damagefeedback destroy(); + self.hud_damagefeedback = self.saved_hud_damagefeedback; + } +} + +//Function Number: 165 +updatesuppressionfeedback() +{ + self.hud_damagefeedback.alpha = 1; + self.hud_damagefeedback fadeovertime(1); + self.hud_damagefeedback.alpha = 0; + soundscripts\_snd::snd_message("sniper_suppression_hit_alert"); +} + +//Function Number: 166 +monitorsnipertowersuppressiondamage() +{ + level endon("ScrambleSniperKilled"); + var_00 = getent("ScrambleSniperWindow","targetname"); + while(isdefined(var_00)) + { + var_00 waittill("bullethit",var_01); + if(isdefined(var_01)) + { + if(isplayer(var_01)) + { + var_01 thread updatesuppressionfeedback(); + } + } + + wait 0.05; + } +} + +//Function Number: 167 +civsniperdamagemonitor() +{ + self endon("delete"); + self waittill("death",var_00,var_01,var_02); + if(isdefined(var_02) && var_02 == "hms_rail_sniper") + { + var_03 = self gettagorigin("J_Spine4"); + var_04 = createsniperimpulse(var_03); + self.a.nodeath = 1; + animscripts\notetracks::notetrackstartragdoll("ragdoll"); + self stopanimscripted(); + wait(0.1); + physicsexplosionsphere(var_04,32,0,5); + } +} + +//Function Number: 168 +createsniperimpulse(param_00) +{ + var_01 = 128; + var_02 = level.sniperpos.origin - param_00 * (1,1,0); + var_02 = vectornormalize(var_02); + var_03 = param_00 + var_02 * 16; + if(level.sniper_scramble_data.draw_debug == 1) + { + thread maps\_utility::draw_circle_for_time(var_03,var_01,1,0,0,5); + } + + return var_03; +} + +//Function Number: 169 +snipertargetgettagpos() +{ + var_00 = undefined; + if(common_scripts\utility::cointoss()) + { + var_00 = self gettagorigin("TAG_EYE"); + } + else + { + var_00 = self gettagorigin("J_Spine4"); + } + + return var_00; +} + +//Function Number: 170 +closeendinggatestransition() +{ + maps\_utility::trigger_wait_targetname("close_gate_before_hades_fight"); + thread closeendinggates(); + thread scramblesetupexittruck(); + level notify("tff_pre_outro_to_hades_fight"); + unloadtransient("greece_outro_tr"); + loadtransient("greece_hades_fight_tr"); + while(!istransientloaded("greece_hades_fight_tr")) + { + wait(0.05); + } + + level notify("tff_post_outro_to_hades_fight"); +} + +//Function Number: 171 +closeendinggates() +{ + var_00 = getent("left_gate_to_close","targetname"); + var_01 = getent("right_gate_to_close","targetname"); + var_02 = getent("block_alley_gate","targetname"); + var_02 moveto((var_02.origin[0],var_02.origin[1],var_02.origin[2] + 104),0.1); + var_00 rotateyaw(-95,0.6); + var_01 rotateyaw(110,0.4); +} + +//Function Number: 172 +scramblefiredamagemonitor() +{ + var_00 = getent("ScrambleTruckFire","targetname"); + thread scrambletruckfiredamagevol(var_00,"AmbushTimerFreeze"); + var_01 = getent("ScrambleTruckFireA","targetname"); + thread scrambletruckfiredamagevol(var_01,"ScramblePlayerMoveTruck"); + common_scripts\utility::flag_wait("FlagScramblePlayerStartMoveTruck"); + var_02 = getent("ScrambleTruckFireB","targetname"); + thread scrambletruckfiredamagevol(var_02,"AmbushTimerFreeze"); +} + +//Function Number: 173 +scrambletruckfiredamagevol(param_00,param_01) +{ + level endon(param_01); + for(;;) + { + param_00 waittill("trigger",var_02); + var_02 dodamage(5,param_00.origin,param_00,param_00,"MOD_CRUSH"); + wait(0.1); + } +} + +//Function Number: 174 +scramblerestaurantexitclip(param_00) +{ + var_01 = getent("ScrambleRestaurantExitClipVol","targetname"); + if(param_00 == 1) + { + var_02 = 128; + } + else + { + var_02 = -128; + } + + var_03 = var_01.origin; + var_04 = var_03 + (-10,0,var_02); + var_01 moveto(var_04,0.1); +} + +//Function Number: 175 +scramblevisitorcentergateopen() +{ + var_00 = getent("AlleysVisitorCenterGate","targetname"); + var_00.animname = "visitorgate"; + var_00 maps\_utility::assign_animtree("visitorgate"); + var_01 = getent("AlleysVisitorCenterGateCollision","targetname"); + var_01 linkto(var_00,"jo_gate_door"); + var_02 = getent("AlleysVisitorCenterGateUseTrigger","targetname"); + var_02 makeunusable(); + var_03 = common_scripts\utility::getstruct("AlleysVisitorCenterGateRipOrg","targetname"); + var_04 = "alleys_gate_rip"; + var_03 maps\_anim::anim_last_frame_solo(var_00,var_04); + var_01 connectpaths(); +} + +//Function Number: 176 +torresblood() +{ + var_00 = getent("TorresBlood","targetname"); + var_00 hide(); + common_scripts\utility::flag_wait("FlagScrambleWoundedSoldierKilled"); + var_00 show(); + common_scripts\utility::flag_wait("FlagScrambleSniperKilled"); + var_00 delete(); +} + +//Function Number: 177 +destroydroppedgun() +{ + level endon("ScrambleSniperKilled"); + for(;;) + { + level.player waittill("pickup",var_00,var_01); + if(level.player hasweapon("iw5_stingerm7greece_sp")) + { + if(isdefined(var_01)) + { + var_01 delete(); + break; + } + } + + wait 0.05; + } +} + +//Function Number: 178 +scramblevehicleexplodeondeath() +{ + level endon("AmbushTimerFreeze"); + self waittill("death"); + radiusdamage(self.origin,200,100,10); + physicsexplosionsphere(self.origin,300,100,1.5); + earthquake(0.5,0.3,self.origin,600); +} \ No newline at end of file diff --git a/AW/PC/maps/greece_sniper_scramble_anim.gsc b/AW/PC/maps/greece_sniper_scramble_anim.gsc new file mode 100644 index 0000000..2f6f6fa --- /dev/null +++ b/AW/PC/maps/greece_sniper_scramble_anim.gsc @@ -0,0 +1,361 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: greece_sniper_scramble_anim.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 14 + * Decompile Time: 231 ms + * Timestamp: 4/22/2024 2:31:32 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + playerscrambleanimations(); + ilanascrambleanimations(); + enemyscrambleanimations(); + civscrambleanimations(); + allyscrambleanimations(); + sniperscrambleexittruckanimations(); + sniperscramblewindmilldestructionanimations(); + sniperscrambleintrodooranimations(); + sniperscramblegondolaanimations(); + sniperscramblefishanimations(); +} + +//Function Number: 2 +playerscrambleanimations() +{ + level.scr_animtree["player_scramble_rig"] = #animtree; + level.scr_model["player_scramble_rig"] = "viewbody_atlas_military"; + level.scr_anim["player_scramble_rig"]["parkour_jump"] = %hms_greece_sniperscramble_parkour_jump_vm; + maps\_anim::addnotetrack_notify("player_scramble_rig","window_break","ScramblePlayerBreakWindowGapJump","parkour_jump"); + maps\_anim::addnotetrack_notify("player_scramble_rig","sniper_shot_miss","ScrambleSniperShootGapJump","parkour_jump"); + level.scr_anim["player_scramble_rig"]["hotel_jump"] = %hms_greece_sniperscramble_hoteltraversal_vm; + maps\_anim::addnotetrack_notify("player_scramble_rig","sniper_fire_miss","ScrambleSniperShootHotelJump","hotel_jump"); + maps\_anim::addnotetrack_customfunction("player_scramble_rig","rumble_1",::scramblejumprumblelight,"hotel_jump"); + maps\_anim::addnotetrack_customfunction("player_scramble_rig","rumble_2",::scramblejumprumbleheavy,"hotel_jump"); + level.scr_anim["player_scramble_rig"]["cafe_jump"] = %hms_greece_sniperscramble_entrancetraversal_vm; + maps\_anim::addnotetrack_notify("player_scramble_rig","sniper_shot_miss","ScrambleSniperShootCafeJump","cafe_jump"); + maps\_anim::addnotetrack_customfunction("player_scramble_rig","rumble_1",::scramblejumprumblelight,"cafe_jump"); + maps\_anim::addnotetrack_customfunction("player_scramble_rig","rumble_2",::scramblejumprumblelight,"cafe_jump"); + maps\_anim::addnotetrack_customfunction("player_scramble_rig","rumble_3",::scramblejumprumbleheavy,"cafe_jump"); + level.scr_anim["player_scramble_rig"]["move_truck"] = %hms_greece_sniperscramble_truckpush_vm; + maps\_anim::addnotetrack_customfunction("player_scramble_rig","rumble_1",::scrambletruckpushrumbleheavy,"move_truck"); +} + +//Function Number: 3 +ilanascrambleanimations() +{ + level.scr_anim["Ilona"]["parkour_jump"] = %hms_greece_sniperscramble_parkour_jump_npc; + level.scr_anim["Ilona"]["trans_alley_sprint_wpn_ilana"][0] = %hms_greece_trans_alley_sprint_wpn_ilana; + level.scr_anim["Ilona"]["hotel_traversal"] = %hms_greece_sniperscramble_illana_hoteltraversal; + level.scr_anim["Ilona"]["cafe_traversal"] = %hms_greece_sniperscramble_illana_entrancetraversal; + level.scr_anim["Ilona"]["cafe_traversal_alt"] = %hms_greece_sniperscramble_illana_entrancetraversal_alt; + level.scr_anim["Ilona"]["run_to_truck"] = %hms_greece_sniperscramble_run2street_ilana; + maps\_anim::addnotetrack_notify("Ilona","vo_start_ilana_fuckthatguy","ScrambleSniperWinVO","run_to_truck"); + maps\_anim::addnotetrack_notify("Ilona","vo_start_prophet_bravohades","ScrambleSniperWinRadioVO","run_to_truck"); + maps\_anim::addnotetrack_notify("Ilona","vo_start_ilana_copythat","ScrambleSniperWinCopyVO","run_to_truck"); + level.scr_anim["Ilona"]["move_truck_idle"][0] = %hms_greece_sniperscramble_truckpush_illana_idle; + level.scr_anim["Ilona"]["move_truck"] = %hms_greece_sniperscramble_truckpush_illana; + level.scr_anim["Ilona"]["scramble_intro_door_in"] = %hms_greece_sniperscramble_intro_ilana_in; + level.scr_anim["Ilona"]["scramble_intro_door_loop"][0] = %hms_greece_sniperscramble_intro_ilana_idle; + level.scr_anim["Ilona"]["scramble_intro_door_out"] = %hms_greece_sniperscramble_intro_ilana_out; + maps\_anim::addnotetrack_notify("Ilona","sniper_shot","ScrambleSniperFireFirstShot","scramble_intro_door_out"); + maps\_anim::addnotetrack_notify("Ilona","sniper_shot_2","ScrambleSniperFireSecondShot","scramble_intro_door_out"); + maps\_anim::addnotetrack_notify("Ilona","sniper_shot_3","ScrambleSniperFireThirdShot","scramble_intro_door_out"); + maps\_anim::addnotetrack_notify("Ilona","start_vo_ilana_poppinsmoke","ScramblePoppinSmokeVO","scramble_intro_door_out"); + maps\_anim::addnotetrack_notify("Ilona","start_vo_ilana_smokewontlast","ScrambleSmokeWontLastVO","scramble_intro_door_out"); + maps\_anim::addnotetrack_notify("Ilona","start_vo_ilana_heknows","ScrambleHeKnowsVO","scramble_intro_door_out"); + level.scr_anim["Ilona"]["scram_hothall"] = %hms_greece_sni_scram_hothall_ilana; + maps\_anim::addnotetrack_notify("Ilona","snipershot","hothall_sniper_shot","scram_hothall"); + level.scr_anim["Ilona"]["scramble_check_ally_enter"] = %hms_greece_sn_scramble_wounded_soldier_ilana_enter; + level.scr_anim["Ilona"]["scramble_check_ally_idle"][0] = %hms_greece_sn_scramble_wounded_soldier_ilana_idle; + level.scr_anim["Ilona"]["scramble_check_ally_exit"] = %hms_greece_sn_scramble_ilana_soldier_death; + level.scr_anim["Ilona"]["RestaurantOpenDoor"] = %hms_greece_sni_scram_civ_cafe_exit_ilana; + maps\_anim::addnotetrack_notify("Ilona","sniper_shot","ScrambleRestaurantIlanaShot","RestaurantOpenDoor"); +} + +//Function Number: 4 +enemyscrambleanimations() +{ + level.scr_anim["generic"]["death_explosion_stand_R_v1"] = %death_explosion_stand_r_v1; + level.scr_anim["generic"]["death_explosion_stand_L_v2"] = %death_explosion_stand_l_v2; +} + +//Function Number: 5 +civscrambleanimations() +{ + level.scr_anim["generic"]["PatioFlee01_idle"][0] = %hms_greece_sniperscramble_intro_civ_idle; + level.scr_anim["generic"]["PatioFlee01_reaction"] = %hms_greece_sniperscramble_intro_civ_out; + maps\_anim::addnotetrack_notify("generic","fx_civ_shot","ScramblePatioCivShot","PatioFlee01_reaction"); + level.scr_anim["generic"]["PatioFlee02_idle"][0] = %hms_greece_sniperscramble_gapjump_gawker_idle; + level.scr_anim["generic"]["PatioFlee02_reaction"] = %hms_greece_sniperscramble_gapjump_gawker; + level.scr_anim["generic"]["PatioFlee03_idle"][0] = %london_station_civ7_idle; + level.scr_anim["generic"]["PatioFlee03_reaction"] = %london_station_civ7_reaction; + level.scr_anim["generic"]["PatioFlee04_idle"][0] = %civilian_stand_idle; + level.scr_anim["generic"]["PatioFlee04_reaction"] = %hms_greece_sniperscramble_droneflee_civ_f_02; + level.scr_anim["generic"]["PatioFlee05_idle"][0] = %civilian_stand_idle; + level.scr_anim["generic"]["PatioFlee05_reaction"] = %hms_greece_sniperscramble_droneflee_civ_f_01; + level.scr_anim["generic"]["PatioFlee06_idle"][0] = %civilian_stand_idle; + level.scr_anim["generic"]["PatioFlee06_reaction"] = %hms_greece_sniperscramble_droneflee_civ_m_01; + level.scr_anim["hothall_male01"]["scram_hothall_idle"][0] = %hms_greece_sni_scram_hothall_civ_idle_m_1; + level.scr_anim["hothall_male01"]["scram_hothall"] = %hms_greece_sni_scram_hothall_civ_m_1; + level.scr_anim["hothall_male01"]["scram_hothall_idle_end"][0] = %hms_greece_sni_scram_hothall_civ_idle_end_m_1; + level.scr_anim["hothall_female01"]["scram_hothall_idle"][0] = %hms_greece_sni_scram_hothall_civ_idle_f_1; + level.scr_anim["hothall_female01"]["scram_hothall"] = %hms_greece_sni_scram_hothall_civ_f_1; + level.scr_anim["hothall_female01"]["scram_hothall_idle_end"][0] = %hms_greece_sni_scram_hothall_civ_idle_end_f_1; + level.scr_anim["hothall_male02"]["scram_hothall_idle"][0] = %hms_greece_sni_scram_hothall_civ_idle_m_2; + level.scr_anim["hothall_male02"]["scram_hothall"] = %hms_greece_sni_scram_hothall_civ_m_2; + level.scr_anim["hothall_female02"]["scram_hothall_idle"][0] = %hms_greece_sni_scram_hothall_civ_idle_f_2; + level.scr_anim["hothall_female02"]["scram_hothall"] = %hms_greece_sni_scram_hothall_civ_f_2; + level.scr_anim["generic"]["HotelFlee01_idle"][0] = %london_station_civ11_idle; + level.scr_anim["generic"]["HotelFlee01_reaction"] = %london_station_civ11_reaction; + level.scr_anim["generic"]["HotelFlee02_idle"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["HotelFlee02_reaction"] = %hms_greece_alleys_civ_panic_ground_02; + level.scr_anim["generic"]["HotelFlee02_newidle"][0] = %hms_greece_alleys_civ_panic_ground_02_idle; + level.scr_anim["generic"]["HotelFlee03_idle"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["HotelFlee03_reaction"] = %civilian_run_hunched_turnl90_stumble; + level.scr_anim["generic"]["HotelFlee04_idle"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["HotelFlee04_reaction"] = %unarmed_covercrouch_exit_4; + level.scr_anim["generic"]["PoolFlee01_idle"][0] = %civilian_stand_idle; + level.scr_anim["generic"]["PoolFlee01_reaction"] = %hms_greece_sniperscramble_droneflee_civ_f_01; + level.scr_anim["generic"]["PoolFlee02_idle"][0] = %civilian_stand_idle; + level.scr_anim["generic"]["PoolFlee02_reaction"] = %unarmed_panickedrun_stumble; + level.scr_anim["generic"]["PoolFlee03_idle"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["PoolFlee03_reaction"] = %hms_greece_sniperscramble_droneflee_civ_m_03; + level.scr_anim["generic"]["PoolFlee04_idle"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["PoolFlee04_reaction"] = %unarmed_run_pain_fall; + level.scr_anim["generic"]["DronesFlee01_idle"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["DronesFlee01_reaction"] = %london_station_civ4_reaction; + level.scr_anim["generic"]["DronesFlee02_idle"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["DronesFlee02_reaction"] = %london_station_civ7_reaction; + level.scr_anim["generic"]["DronesFlee03_idle"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["DronesFlee03_reaction"] = %sf_a_civillian_pedestrian_run_exit_05; + level.scr_anim["generic"]["DronesFlee04_idle"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["DronesFlee04_reaction"] = %hms_greece_sniperscramble_droneflee_civ_f_02; + level.scr_anim["generic"]["DronesFlee05_idle"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["DronesFlee05_reaction"] = %hms_greece_sniperscramble_droneflee_civ_m_02; + level.scr_anim["generic"]["DronesFlee06_idle"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["DronesFlee06_reaction"] = %sf_a_civillian_pedestrian_run_exit_01; + level.scr_anim["generic"]["DronesFlee07_idle"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["DronesFlee07_reaction"] = %airport_civ_in_line_10_a_reaction; + level.scr_anim["generic"]["DronesFlee08_idle"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["DronesFlee08_reaction"] = %civilian_run_2_crawldeath; + level.scr_anim["generic"]["DronesFlee09_idle"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["DronesFlee09_reaction"] = %airport_civ_in_line_15_b_reaction; + level.scr_anim["generic"]["DronesFlee10_idle"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["DronesFlee10_reaction"] = %hms_greece_civ_couple_panic_ground_01_in_f; + level.scr_anim["generic"]["DronesFlee10_newidle"][0] = %hms_greece_civ_couple_panic_ground_01_idle_f; + level.scr_anim["generic"]["RestaurantOpenDoor_idle"][0] = %hms_greece_sni_scram_civ_cafe_exit_idle; + level.scr_anim["generic"]["RestaurantOpenDoor"] = %hms_greece_sni_scram_civ_cafe_exit; + maps\_anim::addnotetrack_notify("generic","doors_open","ScrambleRestaurantDoorsOpen","RestaurantOpenDoor"); + maps\_anim::addnotetrack_notify("generic","sniper_shot","ScrambleRestaurantCivShot","RestaurantOpenDoor"); + level.scr_anim["generic"]["RestaurantFlee01_idle"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["RestaurantFlee01_reaction"] = %hms_greece_civ_couple_panic_ground_02_in_f; + level.scr_anim["generic"]["RestaurantFlee02_idle"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["RestaurantFlee02_reaction"] = %hms_greece_civ_couple_panic_ground_02_in_m; + level.scr_anim["generic"]["FinaleFlee01_idle"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["FinaleFlee01_reaction"] = %airport_civ_in_line_6_c_reaction; + level.scr_anim["generic"]["FinaleFlee02_idle"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["FinaleFlee02_reaction"] = %airport_civ_in_line_15_b_reaction; + level.scr_anim["generic"]["FinaleFlee03_idle"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["FinaleFlee03_reaction"] = %hms_greece_sniperscramble_droneflee_civ_m_03; + level.scr_anim["generic"]["FinaleFlee04_idle"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["FinaleFlee04_reaction"] = %hms_greece_sniperscramble_droneflee_civ_m_01; + level.scr_anim["generic"]["FinaleFlee05_idle"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["FinaleFlee05_reaction"] = %hms_greece_sniperscramble_droneflee_civ_f_02; + level.scr_anim["generic"]["FinaleFlee06_idle"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["FinaleFlee06_reaction"] = %unarmed_stumble_trashcan; + level.scr_anim["generic"]["PatioCower01_idle"][0] = %hms_greece_alleys_civ_panic_ground_02_idle; + level.scr_anim["generic"]["PatioCower02_idle"][0] = %hms_greece_civ_couple_panic_ground_01_idle_f; + level.scr_anim["generic"]["PatioCower03_idle"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["PatioCower03_reaction"] = %unarmed_cowercrouch_idle_duck; + level.scr_anim["generic"]["PoolCower01_idle"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["PoolCower01_reaction"] = %unarmed_cowercrouch_idle_duck; + level.scr_anim["generic"]["PoolCower02_idle"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["PoolCower02_reaction"] = %unarmed_cowercrouch_idle_duck; + level.scr_anim["generic"]["PoolCower03_idle"][0] = %hms_greece_trans_alley_civ_panic_pair_cov_loop_f; + level.scr_anim["generic"]["PoolCower04_idle"][0] = %hms_greece_trans_alley_civ_panic_pair_cov_loop_m; + level.scr_anim["generic"]["PoolCower05_idle"][0] = %airport_civ_cower_piller_idle; + level.scr_anim["generic"]["PoolCower06_idle"][0] = %prague_woundidle_wounded; + level.scr_anim["generic"]["PoolCower07_idle"][0] = %sf_a_civ_injured_seated_face; + level.scr_anim["generic"]["DronesCower01_idle"][0] = %sf_a_civ_injured_laying_agony_b; + level.scr_anim["generic"]["DronesCower02_idle"][0] = %sf_a_civ_injured_seated_crying; + level.scr_anim["generic"]["DronesCower03_idle"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["DronesCower03_reaction"] = %unarmed_cowercrouch_idle_duck; + level.scr_anim["generic"]["DronesCower04_idle"][0] = %sf_a_civ_injured_seated_mourned; + level.scr_anim["generic"]["DronesCower05_idle"][0] = %sf_a_civ_injured_seated_mourner; + level.scr_anim["generic"]["DronesCower06_idle"][0] = %sf_a_civ_injured_seated_helper; + level.scr_anim["generic"]["DronesCower07_idle"][0] = %sf_a_civ_injured_seated_helped; + level.scr_anim["generic"]["RestaurantCower01_idle"][0] = %hms_greece_alleys_civ_panic_ground_01_idle; + level.scr_anim["generic"]["RestaurantCower02_idle"][0] = %sf_a_civ_injured_laying_agony_b; + level.scr_anim["generic"]["RestaurantCower03_idle"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["RestaurantCower03_reaction"] = %unarmed_cowercrouch_idle_duck; + level.scr_anim["generic"]["RestaurantCower04_idle"][0] = %hunted_pronehide_idle_v2; + level.scr_anim["generic"]["RestaurantCower05_idle"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["RestaurantCower05_reaction"] = %unarmed_cowercrouch_idle_duck; + level.scr_anim["generic"]["RestaurantCower06_idle"][0] = %sf_a_civ_injured_seated_crying; + level.scr_anim["generic"]["RestaurantCower07_idle"][0] = %unarmed_covercrouch_hide_idle; + level.scr_anim["generic"]["RestaurantCower07_reaction"] = %unarmed_covercrouch_hide_look; + level.scr_anim["generic"]["FinaleCower01_idle"][0] = %hms_greece_alleys_civ_panic_ground_01_idle; + level.scr_anim["generic"]["FinaleCower02_idle"][0] = %hms_greece_alleys_civ_panic_ground_02_idle; + level.scr_anim["generic"]["FinaleCower03_idle"][0] = %sf_a_civ_injured_seated_crying; + level.scr_anim["generic"]["FinaleCower04_idle"][0] = %sf_a_civ_injured_laying_agony_a; + level.scr_anim["generic"]["FinaleCower05_idle"][0] = %sf_a_civ_injured_laying_agony_b; + level.scr_anim["generic"]["FinaleCower06_idle"][0] = %sf_a_civ_injured_seated_face; + level.scr_anim["generic"]["FinaleCower07_idle"][0] = %hunted_pronehide_idle_v2; + level.scr_anim["generic"]["FinaleCower08_idle"][0] = %hms_greece_trans_alley_civ_panic_pair_cov_loop_f; + level.scr_anim["generic"]["FinaleCower09_idle"][0] = %hms_greece_trans_alley_civ_panic_pair_cov_loop_m; + level.scr_anim["generic"]["FinaleCower10_idle"][0] = %hunted_pronehide_idle_v2; +} + +//Function Number: 6 +allyscrambleanimations() +{ + level.scr_anim["generic"]["jeepride_dying_approach"] = %jeepride_dying_approach; + level.scr_anim["Rivers"]["civilian_crawl_1_death_A"] = %civilian_crawl_1_death_a; + level.scr_anim["Torres"]["sanchez_wounded_idle"][0] = %hms_greece_sn_scramble_wounded_soldier_idle; + level.scr_anim["Torres"]["sanchez_wounded_death"] = %hms_greece_sn_scramble_wounded_soldier_death; + maps\_anim::addnotetrack_notify("Torres","npc_vo_start","ScrambleWoundedSoldierVO","sanchez_wounded_death"); + maps\_anim::addnotetrack_notify("Torres","wounded_shot","ScrambleSniperShootWoundedSoldier","sanchez_wounded_death"); +} + +//Function Number: 7 +sniperscrambleexittruckanimations() +{ + level.scr_animtree["exit_truck"] = #animtree; + level.scr_anim["exit_truck"]["move_truck"] = %hms_greece_sniperscramble_truckpush_truck; + level.scr_animtree["pitbull_veh"] = #animtree; + level.scr_anim["pitbull_veh"]["pitbull_destroyed"][0] = %hms_greece_sniperscramble_pitbull_destroyed_veh; +} + +//Function Number: 8 +sniperscramblewindmilldestructionanimations() +{ + level.scr_animtree["greece_sniper_tower_des_01"] = #animtree; + level.scr_model["greece_sniper_tower_des_01"] = "greece_sniper_tower_des_01"; + level.scr_anim["greece_sniper_tower_des_01"]["windmill_explode"] = %sniper_tower_seg_01; + level.scr_animtree["greece_sniper_tower_des_02"] = #animtree; + level.scr_model["greece_sniper_tower_des_02"] = "greece_sniper_tower_des_02"; + level.scr_anim["greece_sniper_tower_des_02"]["windmill_explode"] = %sniper_tower_seg_02; + level.scr_animtree["greece_sniper_tower_des_03"] = #animtree; + level.scr_model["greece_sniper_tower_des_03"] = "greece_sniper_tower_des_03"; + level.scr_anim["greece_sniper_tower_des_03"]["windmill_explode"] = %sniper_tower_seg_03; + level.scr_animtree["greece_sniper_tower_des_04"] = #animtree; + level.scr_model["greece_sniper_tower_des_04"] = "greece_sniper_tower_des_04"; + level.scr_anim["greece_sniper_tower_des_04"]["windmill_explode"] = %sniper_tower_seg_04; + level.scr_animtree["greece_sniper_tower_des_05"] = #animtree; + level.scr_model["greece_sniper_tower_des_05"] = "greece_sniper_tower_des_05"; + level.scr_anim["greece_sniper_tower_des_05"]["windmill_explode"] = %sniper_tower_seg_05; + level.scr_animtree["greece_sniper_tower_des_06"] = #animtree; + level.scr_model["greece_sniper_tower_des_06"] = "greece_sniper_tower_des_06"; + level.scr_anim["greece_sniper_tower_des_06"]["windmill_explode"] = %sniper_tower_seg_06; + level.scr_animtree["greece_sniper_tower_des_07"] = #animtree; + level.scr_model["greece_sniper_tower_des_07"] = "greece_sniper_tower_des_07"; + level.scr_anim["greece_sniper_tower_des_07"]["windmill_explode"] = %sniper_tower_seg_07; +} + +//Function Number: 9 +sniperscramblefishanimations() +{ + level.scr_animtree["fish_a_01"] = #animtree; + level.scr_animtree["fish_a_02"] = #animtree; + level.scr_animtree["fish_a_03"] = #animtree; + level.scr_animtree["fish_a_04"] = #animtree; + level.scr_animtree["fish_a_05"] = #animtree; + level.scr_animtree["fish_a_06"] = #animtree; + level.scr_animtree["fish_b_01"] = #animtree; + level.scr_animtree["fish_b_02"] = #animtree; + level.scr_animtree["fish_b_03"] = #animtree; + level.scr_model["fish_a_01"] = "fish_a"; + level.scr_model["fish_a_02"] = "fish_a"; + level.scr_model["fish_a_03"] = "fish_a"; + level.scr_model["fish_a_04"] = "fish_a"; + level.scr_model["fish_a_05"] = "fish_a"; + level.scr_model["fish_a_06"] = "fish_a"; + level.scr_model["fish_b_01"] = "fish_b"; + level.scr_model["fish_b_02"] = "fish_b"; + level.scr_model["fish_b_03"] = "fish_b"; + level.scr_anim["fish_a_01"]["fish_a_swimming"][0] = %fish_a_swimmingtrack_01; + level.scr_anim["fish_a_02"]["fish_a_swimming"][0] = %fish_a_swimmingtrack_02; + level.scr_anim["fish_a_03"]["fish_a_swimming"][0] = %fish_a_swimmingtrack_03; + level.scr_anim["fish_a_04"]["fish_a_swimming"][0] = %fish_a_swimmingtrack_04; + level.scr_anim["fish_a_05"]["fish_a_swimming"][0] = %fish_a_swimmingtrack_05; + level.scr_anim["fish_a_06"]["fish_a_swimming"][0] = %fish_a_swimmingtrack_06; + level.scr_anim["fish_b_01"]["fish_b_swimming"][0] = %fish_b_swimmingtrack_01; + level.scr_anim["fish_b_02"]["fish_b_swimming"][0] = %fish_b_swimmingtrack_02; + level.scr_anim["fish_b_03"]["fish_b_swimming"][0] = %fish_b_swimmingtrack_03; + level.scr_anim["fish_a_01"]["fish_falling"] = %fish_a_tankfall_01; + level.scr_anim["fish_a_02"]["fish_falling"] = %fish_a_tankfall_02; + level.scr_anim["fish_a_03"]["fish_falling"] = %fish_a_tankfall_03; + level.scr_anim["fish_a_04"]["fish_falling"] = %fish_a_tankfall_01; + level.scr_anim["fish_a_05"]["fish_falling"] = %fish_a_tankfall_02; + level.scr_anim["fish_a_06"]["fish_falling"] = %fish_a_tankfall_03; + level.scr_anim["fish_b_01"]["fish_falling"] = %fish_a_tankfall_01; + level.scr_anim["fish_b_02"]["fish_falling"] = %fish_a_tankfall_02; + level.scr_anim["fish_b_03"]["fish_falling"] = %fish_a_tankfall_03; + level.scr_anim["fish_a_01"]["fish_deathflop_a"][0] = %fish_a_deathflop; + level.scr_anim["fish_a_02"]["fish_deathflop_a"][0] = %fish_a_deathflop; + level.scr_anim["fish_a_03"]["fish_deathflop_a"][0] = %fish_a_deathflop; + level.scr_anim["fish_a_04"]["fish_deathflop_a"][0] = %fish_a_deathflop; + level.scr_anim["fish_a_05"]["fish_deathflop_a"][0] = %fish_a_deathflop; + level.scr_anim["fish_a_06"]["fish_deathflop_a"][0] = %fish_a_deathflop; + level.scr_anim["fish_b_01"]["fish_deathflop_b"][0] = %fish_b_deathflop; + level.scr_anim["fish_b_02"]["fish_deathflop_b"][0] = %fish_b_deathflop; + level.scr_anim["fish_b_03"]["fish_deathflop_b"][0] = %fish_b_deathflop; +} + +//Function Number: 10 +sniperscrambleintrodooranimations() +{ + level.scr_animtree["sniper_intro_door"] = #animtree; + level.scr_anim["sniper_intro_door"]["scramble_intro_door_out"] = %hms_greece_sniperscramble_intro_door_out; + maps\_anim::addnotetrack_customfunction("sniper_intro_door","fx_tag_hole1",::maps\greece_sniper_scramble_fx::sniperdoorhitfx1); + maps\_anim::addnotetrack_customfunction("sniper_intro_door","fx_tag_hole2",::maps\greece_sniper_scramble_fx::sniperdoorhitfx2); + level.scr_model["smoke_grenade"] = "npc_variable_grenade_nonlethal"; + level.scr_animtree["smoke_grenade"] = #animtree; + level.scr_anim["smoke_grenade"]["scramble_intro_door_out"] = %hms_greece_sniperscramble_intro_grenade_out; + level.scr_animtree["sniper_restaurant_door"] = #animtree; + level.scr_anim["sniper_restaurant_door"]["RestaurantOpenDoor"] = %hms_greece_sni_scram_civ_cafe_exit_doors; + level.scr_animtree["visitorgate"] = #animtree; + level.scr_anim["visitorgate"]["alleys_gate_rip"] = %hms_greece_alleys_gate_rip_gate; +} + +//Function Number: 11 +sniperscramblegondolaanimations() +{ + level.scr_animtree["gondola_01"] = #animtree; + level.scr_model["gondola_01"] = "greece_cable_car_rigged"; + level.scr_anim["gondola_01"]["gondola_loop"][0] = %hms_greece_sniperscramble_gondola_cablecar_01; + level.scr_animtree["gondola_02"] = #animtree; + level.scr_model["gondola_02"] = "greece_cable_car_rigged"; + level.scr_anim["gondola_02"]["gondola_loop"][0] = %hms_greece_sniperscramble_gondola_cablecar_02; + level.scr_animtree["gondola_03"] = #animtree; + level.scr_model["gondola_03"] = "greece_cable_car_rigged"; + level.scr_anim["gondola_03"]["gondola_loop"][0] = %hms_greece_sniperscramble_gondola_cablecar_03; + level.scr_animtree["gondola_04"] = #animtree; + level.scr_model["gondola_04"] = "greece_cable_car_rigged"; + level.scr_anim["gondola_04"]["gondola_loop"][0] = %hms_greece_sniperscramble_gondola_cablecar_04; +} + +//Function Number: 12 +scramblejumprumblelight(param_00) +{ + earthquake(0.1,0.1,level.player.origin,128); + level.player playrumbleonentity("damage_light"); +} + +//Function Number: 13 +scramblejumprumbleheavy(param_00) +{ + earthquake(0.5,0.5,level.player.origin,128); + level.player playrumbleonentity("damage_heavy"); +} + +//Function Number: 14 +scrambletruckpushrumbleheavy(param_00) +{ + earthquake(0.5,0.5,level.player.origin,128); + level.player playrumbleonentity("damage_heavy"); +} \ No newline at end of file diff --git a/AW/PC/maps/greece_sniper_scramble_fx.gsc b/AW/PC/maps/greece_sniper_scramble_fx.gsc new file mode 100644 index 0000000..47483d6 --- /dev/null +++ b/AW/PC/maps/greece_sniper_scramble_fx.gsc @@ -0,0 +1,223 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: greece_sniper_scramble_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 21 + * Decompile Time: 340 ms + * Timestamp: 4/22/2024 2:31:33 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + thread precachefx(); + common_scripts\utility::flag_init("SniperDashFXTrigger1"); + thread sniperdashburstfx1(); + common_scripts\utility::flag_init("SniperDashFXTrigger2"); + thread sniperdashburstfx2(); + common_scripts\utility::flag_init("SniperDashFXTrigger3"); + thread sniperdashburstfx3(); + common_scripts\utility::flag_init("SniperDashFXTrigger4"); + thread sniperdashburstfx4(); + common_scripts\utility::flag_init("SniperDashFXTrigger5"); + thread sniperdashburstfx5(); + common_scripts\utility::flag_init("SniperDashFXTrigger6"); + thread sniperdashburstfx6(); +} + +//Function Number: 2 +precachefx() +{ + level._effect["smoke_screen"] = loadfx("vfx/map/greece/greece_smoke_screen_wind_15sec"); + level._effect["railgun_sniper_tracer"] = loadfx("vfx/muzzleflash/sniper_railgun_tracer"); + level._effect["railgun_sniper_glint"] = loadfx("vfx/lensflare/scope_glint2_greece"); + level._effect["bottles_misc1_destruct"] = loadfx("fx/props/bottles_misc1_destruct"); + level._effect["bottles_misc2_destruct"] = loadfx("fx/props/bottles_misc2_destruct"); + level._effect["bottles_misc3_destruct"] = loadfx("fx/props/bottles_misc3_destruct"); + level._effect["bottles_misc4_destruct"] = loadfx("fx/props/bottles_misc4_destruct"); + level._effect["bottles_misc5_destruct"] = loadfx("fx/props/bottles_misc5_destruct"); + level._effect["stinger_rocket_explosion"] = loadfx("vfx/map/greece/greece_rocket_explosion_default"); + level._effect["scramble_blood_impact_splat"] = loadfx("vfx/map/greece/greece_flesh_impact_blood_splat2"); + level._effect["restaurant_fish_tank_water_splash"] = loadfx("vfx/water/greece_fishtank_splash_des"); + level._effect["restaurant_fish_tank_bubbles"] = loadfx("vfx/water/greece_fishtank_bubbles"); + level._effect["manga_rocket_trail"] = loadfx("vfx/trail/smoketrail_rpg_greece"); + level._effect["manga_rocket_explosion"] = loadfx("vfx/map/greece/greece_explosion_sniper_tower_burst"); + level._effect["vehicle_tire_smoke_3"] = loadfx("vfx/map/greece/greece_veh_tire_damage_smk_3"); + level._effect["move_truck_fire"] = loadfx("vfx/map/greece/greece_vehicle_move_truck_fire"); +} + +//Function Number: 3 +sniperdoorhitfx1(param_00) +{ + playfxontag(common_scripts\utility::getfx("sniper_door_hit"),param_00,"tag_hole1"); +} + +//Function Number: 4 +sniperdoorhitfx2(param_00) +{ + playfxontag(common_scripts\utility::getfx("sniper_door_hit"),param_00,"tag_hole2"); +} + +//Function Number: 5 +smokescreenemitterfx() +{ + common_scripts\_exploder::exploder(145); +} + +//Function Number: 6 +windowgapjumpglassshatter() +{ + common_scripts\_exploder::exploder(150); + var_00 = common_scripts\utility::getstruct("ScramblePlayerGapJumpGlassRef","targetname"); + level waittill("ScramblePlayerBreakWindowGapJump"); + glassradiusdamage(var_00.origin,64,1000,1000); + level.player playrumbleonentity("damage_light"); + earthquake(0.6,0.4,var_00.origin,40); + screenshake(var_00.origin,0.2,0.2,0.2,0.4,0,-1,40); +} + +//Function Number: 7 +windowhoteljumpglassshatter(param_00) +{ + wait(param_00); + var_01 = getent("ScramblePlayerHotelJumpRef","targetname"); + glassradiusdamage(var_01.origin,64,1000,1000); + var_02 = getglass("ScrambleHotelGlass"); + if(!isglassdestroyed(var_02)) + { + earthquake(0.2,0.2,var_02.origin,20); + screenshake(var_02.origin,0.1,0.1,0.1,0.2,0,-1,20); + } +} + +//Function Number: 8 +sniperdashburstfx1() +{ + for(;;) + { + common_scripts\utility::flag_wait("SniperDashFXTrigger1"); + common_scripts\_exploder::exploder("151"); + common_scripts\utility::flag_waitopen("SniperDashFXTrigger1"); + } + + wait(5); +} + +//Function Number: 9 +sniperdashburstfx2() +{ + for(;;) + { + common_scripts\utility::flag_wait("SniperDashFXTrigger2"); + common_scripts\_exploder::exploder("152"); + common_scripts\utility::flag_waitopen("SniperDashFXTrigger2"); + } + + wait(5); +} + +//Function Number: 10 +sniperdashburstfx3() +{ + for(;;) + { + common_scripts\utility::flag_wait("SniperDashFXTrigger3"); + common_scripts\_exploder::exploder("153"); + common_scripts\utility::flag_waitopen("SniperDashFXTrigger3"); + } + + wait(5); +} + +//Function Number: 11 +sniperdashburstfx4() +{ + for(;;) + { + common_scripts\utility::flag_wait("SniperDashFXTrigger4"); + common_scripts\_exploder::exploder("154"); + common_scripts\utility::flag_waitopen("SniperDashFXTrigger4"); + } + + wait(5); +} + +//Function Number: 12 +sniperdashburstfx5() +{ + for(;;) + { + common_scripts\utility::flag_wait("SniperDashFXTrigger5"); + common_scripts\_exploder::exploder("155"); + common_scripts\utility::flag_waitopen("SniperDashFXTrigger5"); + } + + wait(5); +} + +//Function Number: 13 +sniperdashburstfx6() +{ + for(;;) + { + common_scripts\utility::flag_wait("SniperDashFXTrigger6"); + common_scripts\_exploder::exploder("156"); + common_scripts\utility::flag_waitopen("SniperDashFXTrigger6"); + } + + wait(5); +} + +//Function Number: 14 +snipercafewallburstfx() +{ + common_scripts\_exploder::exploder(160); +} + +//Function Number: 15 +snipertowerexplosionfx() +{ + common_scripts\_exploder::exploder(200); +} + +//Function Number: 16 +snipertowerresidualfx() +{ + common_scripts\_exploder::exploder(201); +} + +//Function Number: 17 +ragdollonfirefx() +{ + playfxontag(common_scripts\utility::getfx("character_fire_torso"),self,"J_SpineUpper"); +} + +//Function Number: 18 +movetruckfirefx() +{ + var_00 = getent("ScrambleExitTruck","targetname"); + var_00.animname = "exit_truck"; + playfxontag(common_scripts\utility::getfx("move_truck_fire"),var_00,"TAG_ORIGIN"); + soundscripts\_snd::snd_message("exit_truck_fire",var_00); +} + +//Function Number: 19 +movetrucktiresmokefx() +{ + var_00 = getent("ScrambleExitTruck","targetname"); + var_00.animname = "exit_truck"; + playfxontag(common_scripts\utility::getfx("vehicle_tire_smoke_3"),var_00,"TAG_ORIGIN"); +} + +//Function Number: 20 +fishbubblesfx() +{ + common_scripts\_exploder::exploder(999); +} + +//Function Number: 21 +killfishbubblesfx() +{ + common_scripts\_exploder::kill_exploder(999); +} \ No newline at end of file diff --git a/AW/PC/maps/greece_sniper_scramble_vo.gsc b/AW/PC/maps/greece_sniper_scramble_vo.gsc new file mode 100644 index 0000000..a94520c --- /dev/null +++ b/AW/PC/maps/greece_sniper_scramble_vo.gsc @@ -0,0 +1,415 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: greece_sniper_scramble_vo.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 22 + * Decompile Time: 337 ms + * Timestamp: 4/22/2024 2:31:34 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + thread sniperscrambleintrodialogue(); + thread sniperscramblehoteldialogue(); + thread sniperscrambledronesdialogue(); + thread sniperscramblefinaledialogue(); +} + +//Function Number: 2 +sniperscrambleintrodialogue() +{ + common_scripts\utility::flag_wait_all("FlagTriggerSniperScrambleStart","FlagAlleysPipComplete","FlagAlleysIlanaReadyToExit"); + wait(1); + common_scripts\utility::flag_set("FlagScrambleIlanaBeginOpenIntroDoor"); + level waittill("ScrambleHeKnowsVO"); + thread maps\_hms_utility::playdialog(level.dialogtable,"ScrambleWindmill"); + wait(1); + common_scripts\utility::flag_set("FlagScrambleObjSniperPos"); + level waittill("ScramblePoppinSmokeVO"); + thread maps\_hms_utility::playdialog(level.dialogtable,"ScrambleSmoke"); + soundscripts\_snd::snd_message("start_sniper_scramble_music"); + level waittill("ScrambleSmokeWontLastVO"); + thread maps\_hms_utility::playdialog(level.dialogtable,"ScrambleSmokeWontLast"); + common_scripts\utility::flag_wait("FlagScrambleIlanaEndOpenIntroDoor"); + thread scrambleintrothroughdoorreminderdialogue(); + common_scripts\utility::flag_set("FlagScrambleObjGapJumpPos"); + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerNearFirstJump"); + thread maps\_hms_utility::playdialog(level.dialogtable,"ScrambleJump"); + wait(1); + thread scrambleintrogapjumpreminderdialogue(); +} + +//Function Number: 3 +scrambleintrothroughdoorreminderdialogue() +{ + wait(20); + while(!common_scripts\utility::flag("FlagTriggerScramblePlayerExitAlleys")) + { + maps\_hms_utility::playdialog(level.dialogtable,"ScrambleReminderMove",undefined,undefined,undefined,1); + wait(15); + } +} + +//Function Number: 4 +scrambleintrogapjumpreminderdialogue() +{ + wait(20); + while(!common_scripts\utility::flag("FlagScrambleGapJumpStarted")) + { + maps\_hms_utility::playdialog(level.dialogtable,"ScrambleReminderJump",undefined,undefined,undefined,1); + wait(15); + } +} + +//Function Number: 5 +sniperscramblehoteldialogue() +{ + common_scripts\utility::flag_wait_either("FlagScrambleStartHotel","FlagScrambleIlanaGapJumpCompleted"); + common_scripts\utility::flag_wait("FlagScrambleBeginHothall"); + thread maps\_hms_utility::playdialog(level.dialogtable,"ScrambleWindows"); + wait(1); + common_scripts\utility::flag_wait_all("FlagTriggerScramblePlayerNearSecondJump","FlagScrambleEndHothall"); + if(!common_scripts\utility::flag("FlagScrambleSniperSuppressed")) + { + thread maps\_hms_utility::playdialog(level.dialogtable,"ScrambleOpenGround"); + wait(1); + thread scramblehotelsuppressorrunreminderdialogue(); + } + + common_scripts\utility::flag_set("FlagScrambleObjSuppressSniper"); + common_scripts\utility::flag_set("FlagScrambleCheckPlayerDecision"); + for(;;) + { + if(common_scripts\utility::flag("FlagScrambleSniperSuppressed")) + { + scramblehotelilanafirstdialogue(); + break; + } + else if(common_scripts\utility::flag("FlagScrambleHotelJumpStarted")) + { + scramblehotelplayerfirstdialogue(); + break; + } + + wait 0.05; + } + + thread maps\_hms_utility::playdialog(level.dialogtable,"ScrambleStreetDirect"); + wait(1); + thread scramblehoteljumpdownreminderdialogue(); +} + +//Function Number: 6 +scramblehotelilanafirstdialogue() +{ + thread maps\_hms_utility::playdialog(level.dialogtable,"ScramblePlayerSuppress"); + wait(1); + thread scramblehotelilanahitdialogue(); + common_scripts\utility::flag_wait("FlagScrambleHotelIlanaReachedGoal"); + level notify("ScrambleIlanaReachedGoal"); + if(!common_scripts\utility::flag("FlagScrambleHotelJumpStarted")) + { + maps\_hms_utility::playdialog(level.dialogtable,"ScrambleIlanaClear"); + wait(1); + thread maps\_hms_utility::playdialog(level.dialogtable,"ScramblePlayerMove"); + wait(1); + common_scripts\utility::flag_set("FlagScrambleObjPoolCafePos"); + thread scramblehotelplayerrunreminderdialogue(); + common_scripts\utility::flag_wait("FlagScrambleHotelJumpCompleted"); + maps\_hms_utility::playdialog(level.dialogtable,"ScramblePlayerGo"); + wait(1); + } + + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerNearThirdJump"); +} + +//Function Number: 7 +scramblehotelplayerfirstdialogue() +{ + thread maps\_hms_utility::playdialog(level.dialogtable,"ScramblePlayerSprint"); + wait(1); + common_scripts\utility::flag_set("FlagScrambleObjPoolCafePos"); + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerNearThirdJump"); + level.sniper_scramble_data.suppression_time = 0; + thread maps\_hms_utility::playdialog(level.dialogtable,"ScramblePlayerCover"); + wait(1); + thread scramblehotelsuppresssniperreminderdialogue(); + common_scripts\utility::flag_wait("FlagScrambleSniperSuppressed"); + thread maps\_hms_utility::playdialog(level.dialogtable,"ScramblePlayerCover2"); + wait(1); + thread scramblehotelilanahitdialogue(); + common_scripts\utility::flag_wait("FlagScrambleHotelIlanaReachedGoal"); + level notify("ScrambleIlanaReachedGoal"); + maps\_hms_utility::playdialog(level.dialogtable,"ScrambleIlanaClear2"); + wait(1); +} + +//Function Number: 8 +scramblehotelleapfrogcompletedialogue() +{ + if(common_scripts\utility::flag("FlagScrambleHotelBadLeapfrog")) + { + thread maps\_hms_utility::playdialog(level.dialogtable,"ScrambleIlanaBitch"); + wait(1); + return; + } + + thread maps\_hms_utility::playdialog(level.dialogtable,"ScrambleIlanaPraise"); + wait(1); +} + +//Function Number: 9 +scramblehotelsuppressorrunreminderdialogue() +{ + wait(10); + var_00 = 0; + while(!common_scripts\utility::flag("FlagScrambleHotelPlayerHasDecided")) + { + maps\_hms_utility::playdialog(level.dialogtable,"ScrambleReminderDecide",undefined,undefined,undefined,1); + if(var_00 == 0) + { + var_00 = 1; + thread maps\_utility::display_hint("scramble_suppress_sniper_2"); + } + + wait(15); + } +} + +//Function Number: 10 +scramblehotelsuppresssniperreminderdialogue() +{ + level endon("ScrambleSniperSuppressed"); + wait(10); + var_00 = 0; + while(!common_scripts\utility::flag("FlagScrambleSniperSuppressed")) + { + maps\_hms_utility::playdialog(level.dialogtable,"ScrambleReminderSuppress",undefined,undefined,undefined,1); + if(var_00 == 0) + { + var_00 = 1; + thread maps\_utility::display_hint("scramble_suppress_sniper_1"); + } + + wait(15); + } +} + +//Function Number: 11 +scramblehotelplayerrunreminderdialogue() +{ + wait(10); + var_00 = 0; + while(!common_scripts\utility::flag("FlagScrambleHotelJumpStarted")) + { + maps\_hms_utility::playdialog(level.dialogtable,"ScrambleReminderMove",undefined,undefined,undefined,1); + if(var_00 == 0) + { + var_00 = 1; + thread maps\_utility::display_hint("scramble_advance_to_ilona"); + } + + wait(15); + } +} + +//Function Number: 12 +scramblehotelilanahitdialogue() +{ + level endon("ScrambleIlanaReachedGoal"); + level.allies["Ilona"] waittill("damage"); + thread maps\_hms_utility::playdialog(level.dialogtable,"ScrambleIlanaHit"); + common_scripts\utility::flag_set("FlagScrambleHotelBadLeapfrog"); +} + +//Function Number: 13 +scramblefailplayerleftilanadialogue() +{ + maps\_utility::radio_dialogue_stop(); + wait 0.05; + maps\_hms_utility::playdialog(level.dialogtable,"ScrambleTooFar"); +} + +//Function Number: 14 +scramblehoteljumpdownreminderdialogue() +{ + wait(10); + while(!common_scripts\utility::flag("FlagScrambleCafeJumpStarted")) + { + maps\_hms_utility::playdialog(level.dialogtable,"ScrambleReminderJump",undefined,undefined,undefined,1); + wait(15); + } +} + +//Function Number: 15 +sniperscrambledronesdialogue() +{ + common_scripts\utility::flag_wait("FlagScrambleStartDrones"); + thread maps\_hms_utility::playdialog(level.dialogtable,"ScrambleMoreDrones"); + wait(1); + level notify("audio_kva_drones_inbound"); + thread scrambledronesfightreminderdialogue(); + common_scripts\utility::flag_wait("FlagScrambleDronesAdead"); + wait(1); + thread maps\_hms_utility::playdialog(level.dialogtable,"ScrambleDronesDead"); + wait(1); + level notify("audio_kva_drones_dead"); + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerAlmostNearRestaurant"); + thread maps\greece_sniper_scramble::scramblecivrestaurant(); + wait(1); + thread maps\_hms_utility::playdialog(level.dialogtable,"ScrambleRestaurant"); + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerInRestaurant"); + thread scrambledronesplayerrestaurantreminderdialogue(); + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerMidRestaurant"); + thread maps\_hms_utility::playdialog(level.dialogtable,"ScrambleLobby"); + wait(1); + common_scripts\utility::flag_set("FlagScrambleStartFinale"); +} + +//Function Number: 16 +scrambledronesfightreminderdialogue() +{ + wait(30); + while(!common_scripts\utility::flag("FlagScrambleDronesAdead")) + { + maps\_hms_utility::playdialog(level.dialogtable,"RooftopsDroneReminder",undefined,undefined,undefined,1); + wait(20); + } +} + +//Function Number: 17 +scrambledronesplayerrestaurantreminderdialogue() +{ + wait(10); + while(!common_scripts\utility::flag("FlagTriggerScramblePlayerMidRestaurant")) + { + maps\_hms_utility::playdialog(level.dialogtable,"ScrambleReminderLag",undefined,undefined,undefined,1); + wait(15); + } +} + +//Function Number: 18 +sniperscramblefinaledialogue() +{ + common_scripts\utility::flag_wait("FlagScrambleStartFinale"); + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerAlmostNearWoundedSoldier"); + common_scripts\utility::flag_set("FlagScrambleObjWoundedSoldierPos"); + maps\_hms_utility::playdialog(level.dialogtable,"ScrambleSanchez"); + common_scripts\utility::flag_set("FlagScrambleReadyForWoundedSoldier"); + level waittill("ScrambleWoundedSoldierVO"); + maps\_hms_utility::playdialog(level.dialogtable,"ScrambleRPG"); + common_scripts\utility::flag_wait("FlagTriggerScramblePlayerOnStreet"); + thread maps\_hms_utility::playdialog(level.dialogtable,"ScrambleDroneReturn"); + wait(1); + common_scripts\utility::flag_set("FlagScrambleObjRPGPos"); + common_scripts\utility::flag_wait("FlagScrambleGetRPG"); + thread maps\_hms_utility::playdialog(level.dialogtable,"ScrambleDroneDeadJohnson"); + thread scramblefinaleplayeruserpgreminderdialogue(); + thread scramblefinalealldronesdeaddialogue(); + thread scramblefinalesuppresssniperdialogue(); + common_scripts\utility::flag_wait("FlagScrambleSniperKilled"); + level waittill("ScrambleSniperWinVO"); + thread maps\_hms_utility::playdialog(level.dialogtable,"ScrambleSniperWin"); + soundscripts\_snd::snd_message("start_finale_transition_music"); + common_scripts\utility::flag_wait("FlagScrambleIlanaStartMoveTruck"); + wait(1); + thread maps\_hms_utility::playdialog(level.dialogtable,"AlleysTruck"); + wait(1); + thread scramblefinaleplayermovetruckreminderdialogue(); + thread maps\greece_sniper_scramble::monitormovetruckinteract(); + common_scripts\utility::flag_set("FlagScrambleObjMoveTruckPos"); + common_scripts\utility::flag_wait("FlagScramblePlayerEndMoveTruck"); + maps\_hms_utility::playdialog(level.dialogtable,"AlleysTruckSuccess"); + wait(1); + common_scripts\utility::flag_set("FlagEndingStart"); +} + +//Function Number: 19 +scramblefinalealldronesdeaddialogue() +{ + level endon("ScrambleSniperKilled"); + common_scripts\utility::flag_wait("FlagScrambleDronesBdead"); + wait(1); + if(!common_scripts\utility::flag("FlagScrambleSniperKilled")) + { + if(level.player hasweapon("iw5_stingerm7greece_sp")) + { + common_scripts\utility::flag_set("FlagDelayRPGReminderDialogue"); + maps\_hms_utility::playdialog(level.dialogtable,"ScrambleRemindwithRPG"); + wait(10); + common_scripts\utility::flag_clear("FlagDelayRPGReminderDialogue"); + return; + } + + common_scripts\utility::flag_set("FlagDelayRPGReminderDialogue"); + maps\_hms_utility::playdialog(level.dialogtable,"ScrambleRemindGetRPG"); + wait(10); + common_scripts\utility::flag_clear("FlagDelayRPGReminderDialogue"); + } +} + +//Function Number: 20 +scramblefinaleplayeruserpgreminderdialogue() +{ + level endon("ScrambleFinalePlayerHasRPG"); + wait(30); + while(!common_scripts\utility::flag("FlagScrambleSniperKilled")) + { + if(common_scripts\utility::flag("FlagDelayRPGReminderDialogue")) + { + wait(1); + continue; + } + + if(level.player hasweapon("iw5_stingerm7greece_sp")) + { + level notify("ScrambleFinalePlayerHasRPG"); + maps\_hms_utility::playdialog(level.dialogtable,"ScrambleRemindGetSniper",undefined,undefined,undefined,1); + wait(15); + continue; + } + + maps\_hms_utility::playdialog(level.dialogtable,"ScrambleRemindNoRPG",undefined,undefined,undefined,1); + wait(20); + } +} + +//Function Number: 21 +scramblefinalesuppresssniperdialogue() +{ + level endon("ScrambleFinalePlayerHasRPG"); + level endon("ScrambleSniperKilled"); + wait(20); + while(!common_scripts\utility::flag("FlagScrambleSniperKilled")) + { + level.player waittill("damage",var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09); + if(!isdefined(var_09)) + { + continue; + } + + if(var_09 == "hms_rail_sniper" && isdefined(level.sniperpos)) + { + common_scripts\utility::flag_set("FlagDelayRPGReminderDialogue"); + maps\_hms_utility::playdialog(level.dialogtable,"SniperSupressionAlt",undefined,undefined,undefined,1); + wait(10); + common_scripts\utility::flag_clear("FlagDelayRPGReminderDialogue"); + wait(15); + } + + wait(1); + } +} + +//Function Number: 22 +scramblefinaleplayermovetruckreminderdialogue() +{ + wait(20); + while(!common_scripts\utility::flag("FlagScramblePlayerStartMoveTruck")) + { + maps\_hms_utility::playdialog(level.dialogtable,"AlleysTruckerRemind",undefined,undefined,undefined,1); + wait(15); + } +} \ No newline at end of file diff --git a/AW/PC/maps/greece_starts.gsc b/AW/PC/maps/greece_starts.gsc new file mode 100644 index 0000000..9ccd2c7 --- /dev/null +++ b/AW/PC/maps/greece_starts.gsc @@ -0,0 +1,58 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: greece_starts.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 2:31:35 AM +*******************************************************************/ + +//Function Number: 1 +add_greece_starts(param_00) +{ + switch(param_00) + { + case "safehouse": + maps\_utility::describe_start("start_safehouse_intro"); + maps\_utility::describe_start("start_safehouse_follow"); + maps\_utility::describe_start("start_safehouse_xslice"); + maps\_utility::describe_start("start_safehouse_clear"); + maps\_utility::describe_start("start_safehouse_transition"); + break; + + case "conference_center": + maps\_utility::describe_start("start_conf_center_intro"); + maps\_utility::describe_start("start_conf_center_support1"); + maps\_utility::describe_start("start_conf_center_support2"); + maps\_utility::describe_start("start_conf_center_support3"); + maps\_utility::describe_start("start_conf_center_kill"); + maps\_utility::describe_start("start_conf_center_combat"); + maps\_utility::describe_start("start_conf_center_outro"); + break; + + case "safehouse_final": + maps\_utility::describe_start("start_safehouse_exit"); + break; + + case "alley": + maps\_utility::describe_start("start_alleys_transition"); + maps\_utility::describe_start("start_alleys"); + maps\_utility::describe_start("start_alleys_art"); + maps\_utility::describe_start("start_alleys_end"); + break; + + case "sniper_scramble": + maps\_utility::describe_start("start_sniper_scramble_intro"); + maps\_utility::describe_start("start_sniper_scramble_hotel"); + maps\_utility::describe_start("start_sniper_scramble_drones"); + maps\_utility::describe_start("start_sniper_scramble_finale"); + break; + + case "ending": + maps\_utility::describe_start("start_ending_ambush"); + maps\_utility::describe_start("start_ending_fight"); + maps\_utility::describe_start("start_ending_hades"); + break; + } +} \ No newline at end of file diff --git a/AW/PC/maps/greece_transients_cg.gsc b/AW/PC/maps/greece_transients_cg.gsc new file mode 100644 index 0000000..0b1d6fb --- /dev/null +++ b/AW/PC/maps/greece_transients_cg.gsc @@ -0,0 +1,119 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: greece_transients_cg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 56 ms + * Timestamp: 4/22/2024 2:31:35 AM +*******************************************************************/ + +//Function Number: 1 +transition_unload_then_load_safely(param_00,param_01,param_02) +{ + if(istransientloaded(param_00)) + { + unloadtransient(param_00); + } + + for(;;) + { + if(!istransientloaded(param_00)) + { + break; + } + + wait(0.1); + } + + loadtransient(param_01); + for(;;) + { + if(istransientloaded(param_01)) + { + break; + } + + wait(0.1); + } + + level notify(param_02); +} + +//Function Number: 2 +check_wait_on_cg_notetracks(param_00,param_01,param_02) +{ + if(level.currentgen) + { + if(!issubstr(level.transient_zone,param_00)) + { + level waittill(param_01); + } + } + + [[ param_02 ]](); +} + +//Function Number: 3 +setup_start_points_for_transients() +{ + var_00 = ["greece_intro_tr","greece_market_audio_tr"]; + maps\_utility::set_start_transients("start_safehouse_intro",var_00); + maps\_utility::set_start_transients("start_safehouse_follow",var_00); + var_00 = ["greece_intro_tr"]; + maps\_utility::set_start_transients("start_safehouse_xslice",var_00); + maps\_utility::set_start_transients("start_safehouse_clear",var_00); + maps\_utility::set_start_transients("start_safehouse_transition",var_00); + maps\_utility::set_start_transients("start_conf_center_intro",var_00); + var_00 = ["greece_confcenter_tr"]; + maps\_utility::set_start_transients("start_conf_center_support1",var_00); + maps\_utility::set_start_transients("start_conf_center_support2",var_00); + maps\_utility::set_start_transients("start_conf_center_support3",var_00); + maps\_utility::set_start_transients("start_conf_center_kill",var_00); + maps\_utility::set_start_transients("start_conf_center_combat",var_00); + maps\_utility::set_start_transients("start_conf_center_outro",var_00); + var_00 = ["greece_intro_tr"]; + maps\_utility::set_start_transients("start_safehouse_exit",var_00); + maps\_utility::set_start_transients("start_alleys_transition",var_00); + var_00 = ["greece_middle_tr"]; + maps\_utility::set_start_transients("start_alleys",var_00); + maps\_utility::set_start_transients("start_alleys_art",var_00); + maps\_utility::set_start_transients("start_alleys_art",var_00); + maps\_utility::set_start_transients("start_alleys_end",var_00); + maps\_utility::set_start_transients("start_sniper_scramble_intro",var_00); + var_00 = ["greece_outro_tr"]; + maps\_utility::set_start_transients("start_sniper_scramble_hotel",var_00); + maps\_utility::set_start_transients("start_sniper_scramble_drones",var_00); + maps\_utility::set_start_transients("start_sniper_scramble_finale",var_00); + var_00 = ["greece_hades_fight_tr"]; + maps\_utility::set_start_transients("start_ending_ambush",var_00); + maps\_utility::set_start_transients("start_ending_fight",var_00); + maps\_utility::set_start_transients("start_ending_hades",var_00); + level.transient_zone = ""; + if(istransientloaded("greece_intro_tr")) + { + level.transient_zone = "intro"; + } + + if(istransientloaded("greece_confCenter_tr")) + { + level.transient_zone = level.transient_zone + "_confCenter"; + } + else if(istransientloaded("greece_middle_tr")) + { + level.transient_zone = level.transient_zone + "_middle"; + } + else if(istransientloaded("greece_outro_tr")) + { + level.transient_zone = level.transient_zone + "_outro"; + } + else if(istransientloaded("greece_hades_fight_tr")) + { + level.transient_zone = level.transient_zone + "_hades_fight"; + } + + if(level.transient_zone == "intro") + { + level notify("transients_intro"); + } +} \ No newline at end of file diff --git a/AW/PC/maps/greece_vo.gsc b/AW/PC/maps/greece_vo.gsc new file mode 100644 index 0000000..d077a67 --- /dev/null +++ b/AW/PC/maps/greece_vo.gsc @@ -0,0 +1,525 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: greece_vo.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 10 + * Decompile Time: 169 ms + * Timestamp: 4/22/2024 2:31:36 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setupdialogue(); + thread init_pcap_vo(); +} + +//Function Number: 2 +setupdialogue() +{ + var_00 = "Test"; + var_01 = "Gideon"; + var_02 = "Ilona"; + var_03 = "KVA_Soldier"; + var_04 = "Prophet"; + var_05 = "Hades"; + var_06 = "Victim"; + var_07 = "planner_right"; + var_08 = "planner_left"; + var_09 = "pacing_guard"; + var_0A = "Bartender"; + var_0B = "TouristMan"; + var_0C = "TouristWoman"; + var_0D = "CafeWoman"; + var_0E = "CafeMan"; + var_0F = "MarketMan"; + var_10 = "MarketWoman"; + var_11 = "MerchantMan"; + var_12 = "MerchantWoman"; + var_13 = "Civillian"; + var_14 = "Torres"; + level.scr_radio["grk_prp_bravostandby"] = "grk_prp_bravostandby"; + level.scr_radio["grk_gdn_alphahaseyes"] = "grk_gdn_alphahaseyes"; + level.scr_radio["grk_prp_copythatalpha"] = "grk_prp_copythatalpha"; + level.scr_radio["grk_iln_yourdateis"] = "grk_iln_yourdateis"; + level.scr_radio["grk_gdn_sorrytointerrupt"] = "grk_gdn_sorrytointerrupt"; + level.scr_sound[var_02]["grk_iln_andwhatdoesthat"] = "grk_iln_andwhatdoesthat"; + level.scr_radio["gre_prp_intiateuplink"] = "gre_prp_intiateuplink"; + level.scr_sound[var_02]["grk_iln_weseehim"] = "grk_iln_weseehim"; + level.scr_radio["gre_gdn_youtappedthecamera"] = "gre_gdn_youtappedthecamera"; + level.scr_radio["gre_prp_uplinkisgood"] = "gre_prp_uplinkisgood"; + level.scr_sound[var_02]["gre_iln_KVAcellphones"] = "gre_iln_KVAcellphones"; + level.scr_sound[var_02]["gre_iln_goodnowwejust"] = "gre_iln_goodnowwejust"; + level.scr_sound[var_02]["gre_iln_makeitquick"] = "gre_iln_makeitquick"; + level.scr_sound[var_02]["gre_iln_shityoupinged"] = "gre_iln_shityoupinged"; + level.scr_sound[var_02]["gre_iln_therecheckhim"] = "gre_iln_therecheckhim"; + level.scr_sound[var_02]["gre_iln_tryhim"] = "gre_iln_tryhim"; + level.scr_sound[var_02]["gre_iln_signalisclose"] = "gre_iln_signalisclose"; + level.scr_sound[var_02]["gre_iln_negativem"] = "gre_iln_negativem"; + level.scr_sound[var_02]["gre_iln_keymanisinhis"] = "gre_iln_keymanisinhis"; + level.scr_sound[var_02]["gre_iln_nomatchmove"] = "gre_iln_nomatchmove"; + level.scr_sound[var_02]["gre_iln_notkva"] = "gre_iln_notkva"; + level.scr_sound[var_02]["gre_iln_notamatch"] = "gre_iln_notamatch"; + level.scr_sound[var_02]["gre_iln_keeplooking"] = "gre_iln_keeplooking"; + level.scr_sound[var_02]["gre_iln_tryswitching"] = "gre_iln_tryswitching"; + level.scr_sound[var_02]["gre_iln_hesnothere"] = "gre_iln_hesnothere"; + level.scr_radio["grk_prp_positiveid"] = "grk_prp_positiveid"; + level.scr_sound[var_02]["grk_iln_findhim"] = "grk_iln_findhim"; + level.scr_sound[var_02]["grk_iln_whyhaventyou"] = "grk_iln_whyhaventyou"; + level.scr_sound[var_02]["grk_iln_weregoingtolose"] = "grk_iln_weregoingtolose"; + level.scr_radio["grk_prp_bravobeadvised"] = "grk_prp_bravobeadvised"; + level.scr_radio["grk_prp_braveyouneed"] = "grk_prp_braveyouneed"; + level.scr_radio["grk_prp_waitingonbravo"] = "grk_prp_waitingonbravo"; + level.scr_radio["grk_prp_bravoyourenot"] = "grk_prp_bravoyourenot"; + level.scr_radio["grk_prp_bravobeadvisedthe"] = "grk_prp_bravobeadvisedthe"; + level.scr_radio["grk_prp_allteamsbeadvised"] = "grk_prp_allteamsbeadvised"; + level.scr_radio["grk_prp_bravoyouarelagging"] = "grk_prp_bravoyouarelagging"; + level.scr_radio["grk_prp_bravoyouneedtoget"] = "grk_prp_bravoyouneedtoget"; + level.scr_radio["grk_prp_bravobeadvisedyour"] = "grk_prp_bravobeadvisedyour"; + level.scr_sound[var_02]["grk_iln_mitchellhurryup"] = "grk_iln_mitchellhurryup"; + level.scr_sound[var_02]["grk_iln_mitchtellgetmoving"] = "grk_iln_mitchtellgetmoving"; + level.scr_sound[var_02]["grk_iln_thatsourticket"] = "grk_iln_thatsourticket"; + level.scr_radio["grk_gdn_dontcockthis"] = "grk_gdn_dontcockthis"; + level.scr_radio["grk_iln_haventlostafish"] = "grk_iln_haventlostafish"; + level.scr_radio["grk_gdn_yesmaam"] = "grk_gdn_yesmaam"; + level.scr_radio["gre_irs_teamidontneedto"] = "gre_irs_teamidontneedto"; + level.scr_radio["gre_irs_teamidontneedtotoo"] = "gre_irs_teamidontneedtotoo"; + level.scr_sound[var_02]["grk_iln_followthefirst"] = "grk_iln_followthefirst"; + level.scr_sound[var_02]["grk_iln_illclearoutthe"] = "grk_iln_illclearoutthe"; + level.scr_sound[var_02]["grk_iln_prophetkeepeyes"] = "grk_iln_prophetkeepeyes"; + level.scr_radio["grk_prp_copythat"] = "grk_prp_copythat"; + level.scr_radio["gre_prp_keymanhasleftarea"] = "gre_prp_keymanhasleftarea"; + level.scr_sound[var_02]["gre_iln_keymanslipped"] = "gre_iln_keymanslipped"; + level.scr_sound[var_02]["gre_iln_welosteyesonkey"] = "gre_iln_welosteyesonkey"; + level.scr_radio["grk_prp_bravothereisnotime"] = "grk_prp_bravothereisnotime"; + level.scr_radio["grk_prp_bravoyourtargetis"] = "grk_prp_bravoyourtargetis"; + level.scr_radio["grk_iln_whatareyoudoing"] = "grk_iln_whatareyoudoing"; + level.scr_sound[var_06]["grk_kva_thisisprivate"] = "grk_kva_thisisprivate"; + level.scr_sound[var_02]["grk_iln_imlookingfor"] = "grk_iln_imlookingfor"; + level.scr_sound[var_06]["grk_kva_itsnothere"] = "grk_kva_itsnothere"; + level.scr_sound[var_02]["grk_iln_canyouatleast"] = "grk_iln_canyouatleast"; + level.scr_sound[var_06]["grk_kva_nostaywhereyou"] = "grk_kva_nostaywhereyou"; + level.scr_radio["grk_prp_bravostayonhim"] = "grk_prp_bravostayonhim"; + level.scr_radio["grk_prp_bravoyourwindow"] = "grk_prp_bravoyourwindow"; + level.scr_radio["grk_prp_braveotaketheguard"] = "grk_prp_braveotaketheguard"; + level.scr_sound[var_02]["grk_iln_nicework"] = "grk_iln_nicework"; + level.scr_sound[var_02]["grk_iln_bravohaskey"] = "grk_iln_bravohaskey"; + level.scr_sound[var_02]["grk_iln_dammitmitchell"] = "grk_iln_dammitmitchell"; + level.scr_sound[var_02]["grk_iln_youjustblew"] = "grk_iln_youjustblew"; + level.scr_radio["grk_prp_abortthemission"] = "grk_prp_abortthemission"; + level.scr_sound[var_02]["grk_iln_weaponsready"] = "grk_iln_weaponsready"; + level.scr_radio["grk_prp_bravohasentered"] = "grk_prp_bravohasentered"; + level.scr_radio["grk_gdn_rogerdodger"] = "grk_gdn_rogerdodger"; + level.scr_sound[var_02]["grk_iln_rollingtheyes"] = "grk_iln_rollingtheyes"; + level.scr_sound[var_02]["grk_iln_patroltakehim"] = "grk_iln_patroltakehim"; + level.scr_sound[var_02]["grk_iln_mineyminemine"] = "grk_iln_mineyminemine"; + level.scr_sound[var_07]["grk_kva_makesurethe"] = "grk_kva_makesurethe"; + level.scr_sound[var_08]["grk_kva_thereisablind"] = "grk_kva_thereisablind"; + level.scr_sound[var_02]["grk_iln_twointhenext"] = "grk_iln_twointhenext"; + level.scr_sound[var_02]["grk_iln_chooseyourtarget"] = "grk_iln_chooseyourtarget"; + level.scr_sound[var_02]["grk_iln_upstairs"] = "grk_iln_upstairs"; + level.scr_sound[var_09]["grk_kva_allstationswill"] = "grk_kva_allstationswill"; + level.scr_radio["grk_hds_ithadbetter"] = "grk_hds_ithadbetter"; + level.scr_sound[var_09]["grk_kva_understood"] = "grk_kva_understood"; + level.scr_radio["grk_hds_hadesout"] = "grk_hds_hadesout"; + level.scr_sound[var_02]["grk_iln_waitforthefinish"] = "grk_iln_waitforthefinish"; + level.scr_sound[var_02]["grk_iln_now"] = "grk_iln_now"; + level.scr_sound[var_02]["grk_iln_takehimmitchell"] = "grk_iln_takehimmitchell"; + level.scr_sound[var_02]["grk_iln_prophetsafehouseis"] = "grk_iln_prophetsafehouseis"; + level.scr_radio["grk_prp_copythatbravoproceed"] = "grk_prp_copythatbravoproceed"; + level.scr_radio["grk_prp_loadinguppartybus"] = "grk_prp_loadinguppartybus"; + level.scr_sound[var_02]["grk_iln_putonyourexosuit"] = "grk_iln_putonyourexosuit"; + level.scr_sound[var_02]["grk_iln_yourexosisfit"] = "grk_iln_yourexosisfit"; + level.scr_sound[var_02]["grk_iln_tryyoursonics"] = "grk_iln_tryyoursonics"; + level.scr_sound[var_02]["grk_iln_deployyoursonics"] = "grk_iln_deployyoursonics"; + level.scr_sound[var_02]["grk_iln_useyoursonics"] = "grk_iln_useyoursonics"; + level.scr_sound[var_02]["grk_iln_stuneemwith"] = "grk_iln_stuneemwith"; + level.scr_sound[var_02]["grk_iln_blastthatgate"] = "grk_iln_blastthatgate"; + level.scr_sound[var_02]["grk_iln_ithastorecharge"] = "grk_iln_ithastorecharge"; + level.scr_sound[var_02]["grk_iln_letitrecharge"] = "grk_iln_letitrecharge"; + level.scr_sound[var_02]["grk_iln_getmovinghades"] = "grk_iln_getmovinghades"; + level.scr_sound[var_02]["grk_iln_timetogearup"] = "grk_iln_timetogearup"; + level.scr_sound[var_06]["grk_kva_hey"] = "grk_kva_hey"; + level.scr_sound[var_06]["grk_kva_whatthe"] = "grk_kva_whatthe"; + level.scr_sound[var_06]["grk_kva_shitintruders"] = "grk_kva_shitintruders"; + level.scr_sound[var_02]["grk_iln_prophetwaspready"] = "grk_iln_prophetwaspready"; + level.scr_radio["grk_gdn_alphainposition"] = "grk_gdn_alphainposition"; + level.scr_radio["grk_prp_copythatstandby"] = "grk_prp_copythatstandby"; + level.scr_sound[var_02]["grk_iln_takethedroneears"] = "grk_iln_takethedroneears"; + level.scr_sound[var_02]["grk_iln_takethedrone"] = "grk_iln_takethedrone"; + level.scr_radio["grk_prp_waspisairborne"] = "grk_prp_waspisairborne"; + level.scr_radio["grk_prp_50meterstotarget"] = "grk_prp_50meterstotarget"; + level.scr_radio["grk_iln_theregotavisual"] = "grk_iln_theregotavisual"; + level.scr_radio["gre_gdn_easyilona"] = "gre_gdn_easyilona"; + level.scr_radio["grk_prp_waspinposition"] = "grk_prp_waspinposition"; + level.scr_radio["grk_iln_goblackuntil"] = "grk_iln_goblackuntil"; + level.scr_radio["grk_iln_youllneedtoneut"] = "grk_iln_youllneedtoneut"; + level.scr_radio["grk_iln_wasptostart"] = "grk_iln_wasptostart"; + level.scr_radio["grk_kva_heyyou"] = "grk_kva_heyyou"; + level.scr_radio["grk_kva_youcannotpark"] = "grk_kva_youcannotpark"; + level.scr_radio["grk_gdn_thisisnt14"] = "grk_gdn_thisisnt14"; + level.scr_radio["grk_kva_thisstreetisoff"] = "grk_kva_thisstreetisoff"; + level.scr_radio["grk_gdn_butwehave"] = "grk_gdn_butwehave"; + level.scr_radio["grk_kva_idontcare"] = "grk_kva_idontcare"; + level.scr_radio["grk_iln_clear"] = "grk_iln_clear"; + level.scr_radio["grk_gdn_alphaatthedoor"] = "grk_gdn_alphaatthedoor"; + level.scr_radio["grk_iln_takeemout"] = "grk_iln_takeemout"; + level.scr_radio["grk_iln_shootheeyes"] = "grk_iln_shootheeyes"; + level.scr_radio["grk_iln_nowtaketheone"] = "grk_iln_nowtaketheone"; + level.scr_radio["grk_kva_somethingsnotright"] = "grk_kva_somethingsnotright"; + level.scr_radio["grk_prp_bravoyouretaking"] = "grk_prp_bravoyouretaking"; + level.scr_radio["grk_kva_dimitriisthat"] = "grk_kva_dimitriisthat"; + level.scr_radio["grk_kva_report"] = "grk_kva_report"; + level.scr_radio["grk_iln_alphamovein"] = "grk_iln_alphamovein"; + level.scr_radio["grk_gdn_holdupnow"] = "grk_gdn_holdupnow"; + level.scr_radio["grk_gdn_courtyardclear"] = "grk_gdn_courtyardclear"; + level.scr_radio["grk_kva_nowehavent"] = "grk_kva_nowehavent"; + level.scr_radio["grk_iln_nowmitchell"] = "grk_iln_nowmitchell"; + level.scr_radio["grk_iln_youhaveanother"] = "grk_iln_youhaveanother"; + level.scr_radio["grk_gdn_holding"] = "grk_gdn_holding"; + level.scr_radio["grk_iln_itsclearalpha"] = "grk_iln_itsclearalpha"; + level.scr_radio["grk_iln_ifyouvegotaclear"] = "grk_iln_ifyouvegotaclear"; + level.scr_radio["grk_iln_remindmenot"] = "grk_iln_remindmenot"; + level.scr_radio["grk_gdn_poolisclear"] = "grk_gdn_poolisclear"; + level.scr_radio["grk_gdn_alphayolo"] = "grk_gdn_alphayolo"; + level.scr_radio["grk_gdn_shit"] = "grk_gdn_shit"; + level.scr_radio["grk_iln_Gideonisintrouble"] = "grk_iln_Gideonisintrouble"; + level.scr_radio["grk_gdn_thanksforthe"] = "grk_gdn_thanksforthe"; + level.scr_radio["grk_gdn_thatwasaclose"] = "grk_gdn_thatwasaclose"; + level.scr_radio["grk_gdn_movingup"] = "grk_gdn_movingup"; + level.scr_radio["grk_iln_mandownthey"] = "grk_iln_mandownthey"; + level.scr_radio["grk_gdn_placingmute"] = "grk_gdn_placingmute"; + level.scr_radio["grk_iln_copythatalpha"] = "grk_iln_copythatalpha"; + level.scr_radio["grk_iln_mitchellmovethe"] = "grk_iln_mitchellmovethe"; + level.scr_radio["grk_iln_jumpthegun"] = "grk_iln_jumpthegun"; + level.scr_radio["grk_iln_nextimewaitidiot"] = "grk_iln_nextimewaitidiot"; + level.scr_radio["grk_gdn_mutechargeready"] = "grk_gdn_mutechargeready"; + level.scr_radio["grk_iln_rememberthecharge"] = "grk_iln_rememberthecharge"; + level.scr_radio["grk_iln_initiatemutecharge"] = "grk_iln_initiatemutecharge"; + level.scr_radio["grk_iln_mitchwhenyourready"] = "grk_iln_mitchwhenyourready"; + level.scr_radio["grk_iln_thatwassome"] = "grk_iln_thatwassome"; + level.scr_radio["grk_iln_younearlyblew"] = "grk_iln_younearlyblew"; + level.scr_radio["grk_iln_mutechargeexpire"] = "grk_iln_mutechargeexpire"; + level.scr_radio["grk_gdn_atriumisclear"] = "grk_gdn_atriumisclear"; + level.scr_radio["grk_prp_allstationsbeadvised"] = "grk_prp_allstationsbeadvised"; + level.scr_radio["grk_iln_prophetpleaseclarify"] = "grk_iln_prophetpleaseclarify"; + level.scr_radio["grk_gdn_copythat"] = "grk_gdn_copythat"; + level.scr_radio["grk_iln_twoonftheroof"] = "grk_iln_twoonftheroof"; + level.scr_radio["grk_iln_dropthemall"] = "grk_iln_dropthemall"; + level.scr_radio["grk_iln_killconfirmed"] = "grk_iln_killconfirmed"; + level.scr_radio["grk_iln_weneedtopull"] = "grk_iln_weneedtopull"; + level.scr_radio["grk_iln_dropemalph"] = "grk_iln_dropemalph"; + level.scr_radio["grk_iln_mitchelltripthecar"] = "grk_iln_mitchelltripthecar"; + level.scr_radio["grk_kva_letscheckit"] = "grk_kva_letscheckit"; + level.scr_radio["grk_gdn_kvaismoving"] = "grk_gdn_kvaismoving"; + level.scr_radio["grk_iln_alphatakeout"] = "grk_iln_alphatakeout"; + level.scr_radio["grk_gdn_stairsareclear"] = "grk_gdn_stairsareclear"; + level.scr_radio["grk_kva_nothinghere"] = "grk_kva_nothinghere"; + level.scr_radio["grk_iln_doitmitchell"] = "grk_iln_doitmitchell"; + level.scr_radio["grk_iln_remembernoone"] = "grk_iln_remembernoone"; + level.scr_radio["grk_iln_shootthosein"] = "grk_iln_shootthosein"; + level.scr_radio["grk_iln_shootintheback"] = "grk_iln_shootintheback"; + level.scr_radio["grk_iln_shootbacktofront"] = "grk_iln_shootbacktofront"; + level.scr_radio["grk_gdn_clearalphasetting"] = "grk_gdn_clearalphasetting"; + level.scr_radio["grk_prp_coverisblown"] = "grk_prp_coverisblown"; + level.scr_radio["grk_prp_waspyouvebeenspotted"] = "grk_prp_waspyouvebeenspotted"; + level.scr_radio["grk_iln_mitchellwaituntil"] = "grk_iln_mitchellwaituntil"; + level.scr_radio["grk_gdn_waitingonwasp"] = "grk_gdn_waitingonwasp"; + level.scr_radio["grk_iln_taketheshot"] = "grk_iln_taketheshot"; + level.scr_radio["grk_prp_bravoalphaiswaiting"] = "grk_prp_bravoalphaiswaiting"; + level.scr_radio["grk_gdn_pickupthepace"] = "grk_gdn_pickupthepace"; + level.scr_radio["grk_gdn_niceshot"] = "grk_gdn_niceshot"; + level.scr_radio["grk_iln_targetdown"] = "grk_iln_targetdown"; + level.scr_radio["grk_prp_thatsakill"] = "grk_prp_thatsakill"; + level.scr_radio["grk_iln_goodwork"] = "grk_iln_goodwork"; + level.scr_radio["grk_prp_killconfirmed"] = "grk_prp_killconfirmed"; + level.scr_radio["grk_iln_tightenitup"] = "grk_iln_tightenitup"; + level.scr_radio["grk_iln_youneedtobefaster"] = "grk_iln_youneedtobefaster"; + level.scr_radio["grk_iln_sloppybutyougot"] = "grk_iln_sloppybutyougot"; + level.scr_radio["grk_gdn_sticktoyour"] = "grk_gdn_sticktoyour"; + level.scr_radio["grk_gdn_mitchellwhat"] = "grk_gdn_mitchellwhat"; + level.scr_radio["grk_iln_thatsnotyourtarget"] = "grk_iln_thatsnotyourtarget"; + level.scr_radio["grk_prp_alphaneedsawasp"] = "grk_prp_alphaneedsawasp"; + level.scr_radio["grk_iln_droptheguard"] = "grk_iln_droptheguard"; + level.scr_radio["grk_gdn_dontlethimsound"] = "grk_gdn_dontlethimsound"; + level.scr_radio["grk_iln_oneoftheguard"] = "grk_iln_oneoftheguard"; + level.scr_radio["grk_iln_geteyesonhades"] = "grk_iln_geteyesonhades"; + level.scr_radio["grk_iln_autotranslation"] = "grk_iln_autotranslation"; + level.scr_radio["grk_prp_copythattranslation"] = "grk_prp_copythattranslation"; + level.scr_radio["grk_iln_lineuphades"] = "grk_iln_lineuphades"; + level.scr_radio["grk_iln_holdfireuntil"] = "grk_iln_holdfireuntil"; + level.scr_radio["grk_iln_allteamsstand"] = "grk_iln_allteamsstand"; + level.scr_radio["grk_kva_thisdoctorwill"] = "grk_kva_thisdoctorwill"; + level.scr_radio["grk_hds_whatdoyouknow"] = "grk_hds_whatdoyouknow"; + level.scr_radio["grk_hds_wehavesecured"] = "grk_hds_wehavesecured"; + level.scr_radio["grk_hds_youhavetwo"] = "grk_hds_youhavetwo"; + level.scr_radio["grk_iln_thatsitwasp"] = "grk_iln_thatsitwasp"; + level.scr_radio["grk_kva_thatposes"] = "grk_kva_thatposes"; + level.scr_radio["grk_hds_youwilldothis"] = "grk_hds_youwilldothis"; + level.scr_radio["grk_hds_hefindsno"] = "grk_hds_hefindsno"; + level.scr_radio["grk_kva_myapologies"] = "grk_kva_myapologies"; + level.scr_radio["grk_hds_wehavecome"] = "grk_hds_wehavecome"; + level.scr_radio["grk_iln_mitchellshoothades"] = "grk_iln_mitchellshoothades"; + level.scr_radio["grk_iln_hadesisdown"] = "grk_iln_hadesisdown"; + level.scr_radio["grk_gdn_scanningretina"] = "grk_gdn_scanningretina"; + level.scr_radio["grk_sld_shithesrigged"] = "grk_sld_shithesrigged"; + level.scr_radio["grk_prp_alphareport"] = "grk_prp_alphareport"; + level.scr_radio["grk_gdn_abodydouble"] = "grk_gdn_abodydouble"; + level.scr_radio["grk_iln_gotastamp"] = "grk_iln_gotastamp"; + level.scr_radio["grk_prp_beadvisedkvaonroof"] = "grk_prp_beadvisedkvaonroof"; + level.scr_radio["grk_gdn_waspweneed"] = "grk_gdn_waspweneed"; + level.scr_radio["grk_prp_enemytechinbound"] = "grk_prp_enemytechinbound"; + level.scr_radio["grk_gdn_weneedcovering"] = "grk_gdn_weneedcovering"; + level.scr_radio["grk_iln_getonitmitchell"] = "grk_iln_getonitmitchell"; + level.scr_radio["grk_gdn_wecantjustsit"] = "grk_gdn_wecantjustsit"; + level.scr_radio["grk_iln_therealhades"] = "grk_iln_therealhades"; + level.scr_radio["grk_prp_allteamsvehicle"] = "grk_prp_allteamsvehicle"; + level.scr_radio["grk_iln_thesourcetruck"] = "grk_iln_thesourcetruck"; + level.scr_radio["grk_gdn_shitmorekva"] = "grk_gdn_shitmorekva"; + level.scr_radio["grk_iln_whatusthappened"] = "grk_iln_whatusthappened"; + level.scr_sound[var_02]["grk_iln_ivelostvisual"] = "grk_iln_ivelostvisual"; + level.scr_radio["grk_prp_allstationsabort"] = "grk_prp_allstationsabort"; + level.scr_sound[var_02]["grk_iln_shitweneed"] = "grk_iln_shitweneed"; + level.scr_radio["grk_prp_allteamsonhades"] = "grk_prp_allteamsonhades"; + level.scr_sound[var_02]["grk_iln_downthestairs"] = "grk_iln_downthestairs"; + level.scr_radio["grk_prp_beadvisedkvahas"] = "grk_prp_beadvisedkvahas"; + level.scr_sound[var_02]["grk_iln_mitchellonme"] = "grk_iln_mitchellonme"; + level.scr_sound[var_03]["grk_kva_theyreinthesafe"] = "grk_kva_theyreinthesafe"; + level.scr_sound[var_02]["grk_iln_popyoursonics"] = "grk_iln_popyoursonics"; + level.scr_sound[var_02]["grk_iln_thatclearedthem"] = "grk_iln_thatclearedthem"; + level.scr_sound[var_02]["grk_iln_comeonwell"] = "grk_iln_comeonwell"; + level.scr_radio["grk_prp_bravowelostcom"] = "grk_prp_bravowelostcom"; + level.scr_sound[var_02]["grk_iln_thesetourists"] = "grk_iln_thesetourists"; + level.scr_sound[var_02]["grk_iln_outoftheway"] = "grk_iln_outoftheway"; + level.scr_radio["grk_prp_kvaclosingin"] = "grk_prp_kvaclosingin"; + level.scr_sound[var_03]["grk_kva_theretheyarewhat"] = "grk_kva_theretheyarewhat"; + level.scr_sound[var_02]["grk_iln_watchyouraim"] = "grk_iln_watchyouraim"; + level.scr_sound[var_02]["grk_iln_shitKVA"] = "grk_iln_shitKVA"; + level.scr_sound[var_02]["grk_iln_wecantkeep"] = "grk_iln_wecantkeep"; + level.scr_sound[var_02]["grk_iln_rocketstakeem"] = "grk_iln_rocketstakeem"; + level.scr_sound[var_02]["grk_iln_alphaton"] = "grk_iln_alphaton"; + level.scr_radio["grk_gdn_werecrawlingwith"] = "grk_gdn_werecrawlingwith"; + level.scr_sound[var_02]["grk_iln_rogerthatroger"] = "grk_iln_rogerthatroger"; + level.scr_sound[var_02]["gre_iln_theyrepullingback"] = "gre_iln_theyrepullingback"; + level.scr_sound[var_02]["gre_iln_theyreclearingout"] = "gre_iln_theyreclearingout"; + level.scr_sound[var_02]["gre_iln_watchthecorners"] = "gre_iln_watchthecorners"; + level.scr_sound[var_02]["gre_iln_clearitoutyo"] = "gre_iln_clearitoutyo"; + level.scr_sound[var_02]["gre_iln_morkvam"] = "gre_iln_morkvam"; + level.scr_sound[var_02]["gre_iln_enemycantspell"] = "gre_iln_enemycantspell"; + level.scr_sound[var_02]["gre_iln_ontheroofm"] = "gre_iln_ontheroofm"; + level.scr_sound[var_02]["gre_iln_onthebalconym"] = "gre_iln_onthebalconym"; + level.scr_sound[var_02]["gre_iln_windowgroundfloor"] = "gre_iln_windowgroundfloor"; + level.scr_sound[var_02]["gre_iln_windowsecondfloor"] = "gre_iln_windowsecondfloor"; + level.scr_sound[var_02]["gre_iln_checkthecafe"] = "gre_iln_checkthecafe"; + level.scr_sound[var_02]["gre_iln_onthestairs"] = "gre_iln_onthestairs"; + level.scr_sound[var_02]["gre_iln_niceshotm"] = "gre_iln_niceshotm"; + level.scr_sound[var_02]["gre_iln_gothimm"] = "gre_iln_gothimm"; + level.scr_sound[var_02]["gre_iln_goodhitm"] = "gre_iln_goodhitm"; + level.scr_sound[var_02]["gre_iln_goodkillm"] = "gre_iln_goodkillm"; + level.scr_sound[var_02]["gre_iln_mitchellonmem"] = "gre_iln_mitchellonmem"; + level.scr_sound[var_02]["gre_iln_stayclosem"] = "gre_iln_stayclosem"; + level.scr_sound[var_02]["gre_iln_followmem"] = "gre_iln_followmem"; + level.scr_sound[var_02]["gre_iln_letsmovem"] = "gre_iln_letsmovem"; + level.scr_sound[var_02]["gre_iln_thiswaym"] = "gre_iln_thiswaym"; + level.scr_sound[var_02]["gre_iln_givemeapplause"] = "gre_iln_givemeapplause"; + level.scr_radio["gre_prp_twomikesout"] = "gre_prp_twomikesout"; + level.scr_sound[var_02]["gre_iln_moveinterceptyo"] = "gre_iln_moveinterceptyo"; + level.scr_sound[var_02]["gre_iln_helpmewithtruck"] = "gre_iln_helpmewithtruck"; + level.scr_sound[var_02]["gre_iln_truckouttaway"] = "gre_iln_truckouttaway"; + level.scr_sound[var_02]["gre_iln_setupambushthere"] = "gre_iln_setupambushthere"; + level.scr_sound[var_02]["gre_iln_clearoutplease"] = "gre_iln_clearoutplease"; + level.scr_radio["gre_prp_hadesinboundminute"] = "gre_prp_hadesinboundminute"; + level.scr_sound[var_02]["gre_iln_placechargesbitch"] = "gre_iln_placechargesbitch"; + level.scr_sound[var_02]["gre_iln_hurrybitch"] = "gre_iln_hurrybitch"; + level.scr_sound[var_02]["gre_iln_findcoverandwaitplease"] = "gre_iln_findcoverandwaitplease"; + level.scr_sound[var_02]["gre_iln_readyplease"] = "gre_iln_readyplease"; + level.scr_sound[var_02]["gre_iln_nowplease"] = "gre_iln_nowplease"; + level.scr_sound[var_02]["gre_iln_pushfowardcontain"] = "gre_iln_pushfowardcontain"; + level.scr_sound[var_02]["gre_iln_jumpdownbeotch"] = "gre_iln_jumpdownbeotch"; + level.scr_sound[var_02]["gre_iln_movemitchmoveplease"] = "gre_iln_movemitchmoveplease"; + level.scr_sound[var_02]["gre_iln_jumpmitchplease"] = "gre_iln_jumpmitchplease"; + level.scr_sound[var_02]["gre_iln_outoftimeplease"] = "gre_iln_outoftimeplease"; + level.scr_sound[var_02]["gre_iln_isaidplacecharges"] = "gre_iln_isaidplacecharges"; + level.scr_sound[var_02]["gre_iln_anysecondplease"] = "gre_iln_anysecondplease"; + level.scr_sound[var_02]["gre_iln_hadesisgettingood"] = "gre_iln_hadesisgettingood"; + level.scr_radio["gre_gdn_donotletupplease"] = "gre_gdn_donotletupplease"; + level.scr_sound[var_02]["gre_iln_watchtheflames"] = "gre_iln_watchtheflames"; + level.scr_sound[var_02]["gre_iln_pushforwardyojoe"] = "gre_iln_pushforwardyojoe"; + level.scr_sound[var_02]["gre_iln_eyesonvehiclealmost"] = "gre_iln_eyesonvehiclealmost"; + level.scr_sound[var_02]["gre_iln_makesurestreets"] = "gre_iln_makesurestreets"; + level.scr_sound[var_02]["gre_iln_streetsareclearplease"] = "gre_iln_streetsareclearplease"; + level.scr_radio["gre_prp_goodhunting"] = "gre_prp_goodhunting"; + level.scr_sound[var_02]["gre_iln_dothehonor"] = "gre_iln_dothehonor"; + level.scr_sound[var_02]["gre_iln_mitchpleaselook"] = "gre_iln_mitchpleaselook"; + level.scr_sound[var_02]["gre_iln_gonnaopenorwhat"] = "gre_iln_gonnaopenorwhat"; + level.scr_sound[var_02]["gre_iln_waitingonurban"] = "gre_iln_waitingonurban"; + level.scr_sound[var_02]["gre_iln_openthefuck"] = "gre_iln_openthefuck"; + level.scr_sound[var_02]["gre_iln_nowfuckmitchell"] = "gre_iln_nowfuckmitchell"; + level.scr_sound[var_02]["gre_iln_gotbastardyes"] = "gre_iln_gotbastardyes"; + level.scr_sound[var_02]["gre_iln_timewentdown"] = "gre_iln_timewentdown"; + level.scr_sound[var_02]["gre_iln_movewellcut"] = "gre_iln_movewellcut"; + level.scr_sound[var_02]["gre_iln_snipertop"] = "gre_iln_snipertop"; + level.scr_sound[var_02]["gre_iln_popsmoke"] = "gre_iln_popsmoke"; + level.scr_sound[var_02]["gre_iln_totheright"] = "gre_iln_totheright"; + level.scr_sound[var_02]["gre_iln_jumpacross"] = "gre_iln_jumpacross"; + level.scr_sound[var_02]["gre_iln_letsmovesmoke"] = "gre_iln_letsmovesmoke"; + level.scr_sound[var_02]["gre_iln_needtomoveit"] = "gre_iln_needtomoveit"; + level.scr_sound[var_02]["gre_iln_quistallandjump"] = "gre_iln_quistallandjump"; + level.scr_sound[var_02]["gre_iln_makethejump"] = "gre_iln_makethejump"; + level.scr_sound[var_02]["gre_iln_nobreathers"] = "gre_iln_nobreathers"; + level.scr_sound[var_02]["gre_iln_getdownstaydown"] = "gre_iln_getdownstaydown"; + level.scr_sound[var_02]["gre_iln_shitthatsalotoground"] = "gre_iln_shitthatsalotoground"; + level.scr_sound[var_02]["gre_iln_keepitbuttoned"] = "gre_iln_keepitbuttoned"; + level.scr_sound[var_02]["gre_iln_clearyourturnon"] = "gre_iln_clearyourturnon"; + level.scr_sound[var_02]["gre_iln_moveitgrooveit"] = "gre_iln_moveitgrooveit"; + level.scr_sound[var_02]["gre_iln_gotimesthree"] = "gre_iln_gotimesthree"; + level.scr_sound[var_02]["gre_iln_illkeephimpinned"] = "gre_iln_illkeephimpinned"; + level.scr_sound[var_02]["gre_iln_nicerunmyturn"] = "gre_iln_nicerunmyturn"; + level.scr_sound[var_02]["gre_iln_moveuphot"] = "gre_iln_moveuphot"; + level.scr_sound[var_02]["gre_iln_clearcheer"] = "gre_iln_clearcheer"; + level.scr_sound[var_02]["gre_iln_bitchingjob"] = "gre_iln_bitchingjob"; + level.scr_sound[var_02]["gre_iln_snipercanthit"] = "gre_iln_snipercanthit"; + level.scr_sound[var_02]["gre_iln_covermeyoyo"] = "gre_iln_covermeyoyo"; + level.scr_sound[var_02]["gre_iln_decideahole"] = "gre_iln_decideahole"; + level.scr_sound[var_02]["gre_iln_wastingtimewhats"] = "gre_iln_wastingtimewhats"; + level.scr_sound[var_02]["gre_iln_suppressthat"] = "gre_iln_suppressthat"; + level.scr_sound[var_02]["gre_iln_whatcovermeyo"] = "gre_iln_whatcovermeyo"; + level.scr_sound[var_02]["gre_iln_whereissuppress"] = "gre_iln_whereissuppress"; + level.scr_sound[var_02]["gre_iln_haulasssmartass"] = "gre_iln_haulasssmartass"; + level.scr_sound[var_02]["gre_iln_pinneddownup"] = "gre_iln_pinneddownup"; + level.scr_sound[var_02]["gre_iln_runwhiteboy"] = "gre_iln_runwhiteboy"; + level.scr_sound[var_02]["gre_iln_mfallback"] = "gre_iln_mfallback"; + level.scr_sound[var_02]["gre_iln_kvadronescoveryip"] = "gre_iln_kvadronescoveryip"; + level.scr_sound[var_02]["gre_iln_dronesdownyall"] = "gre_iln_dronesdownyall"; + level.scr_sound[var_02]["gre_iln_intorestaurant"] = "gre_iln_intorestaurant"; + level.scr_sound[var_02]["gre_iln_watchtheglassass"] = "gre_iln_watchtheglassass"; + level.scr_sound[var_02]["gre_iln_throughthelobby"] = "gre_iln_throughthelobby"; + level.scr_sound[var_02]["gre_iln_stayonmesanchez"] = "gre_iln_stayonmesanchez"; + level.scr_sound[var_02]["gre_iln_staywithmegirl"] = "gre_iln_staywithmegirl"; + level.scr_sound[var_02]["gre_iln_eyesonsanchez"] = "gre_iln_eyesonsanchez"; + level.scr_radio["gre_prp_requestmeds"] = "gre_prp_requestmeds"; + level.scr_sound[var_14]["gre_scz_rpgbytruck"] = "gre_scz_rpgbytruck"; + level.scr_sound[var_02]["gre_iln_headsupdronebones"] = "gre_iln_headsupdronebones"; + level.scr_sound[var_02]["gre_iln_illdistractsniper"] = "gre_iln_illdistractsniper"; + level.scr_sound[var_02]["gre_iln_shitrightkill"] = "gre_iln_shitrightkill"; + level.scr_radio["gre_prp_convoyisfourx"] = "gre_prp_convoyisfourx"; + level.scr_sound[var_02]["gre_iln_bravomoveyogox"] = "gre_iln_bravomoveyogox"; + level.scr_sound[var_02]["gre_iln_lastdronelightup"] = "gre_iln_lastdronelightup"; + level.scr_sound[var_02]["gre_iln_dronesdowngetrpg"] = "gre_iln_dronesdowngetrpg"; + level.scr_sound[var_02]["gre_iln_needrpgomg"] = "gre_iln_needrpgomg"; + level.scr_sound[var_02]["gre_iln_omgneedrpgyet"] = "gre_iln_omgneedrpgyet"; + level.scr_sound[var_02]["gre_iln_clearoutsniperpiper"] = "gre_iln_clearoutsniperpiper"; + level.scr_sound[var_02]["gre_iln_takeshotbigshot"] = "gre_iln_takeshotbigshot"; + level.scr_sound[var_02]["gre_iln_firerpgggg"] = "gre_iln_firerpgggg"; + level.scr_sound[var_02]["gre_iln_oneshotonemission"] = "gre_iln_oneshotonemission"; + level.scr_sound[var_02]["gre_iln_neverhithim"] = "gre_iln_neverhithim"; + level.scr_sound[var_02]["grk_iln_shitfindcover"] = "grk_iln_shitfindcover"; + level.scr_sound[var_02]["grk_iln_shootthedrones"] = "grk_iln_shootthedrones"; + level.scr_sound[var_02]["grk_iln_useyouremp"] = "grk_iln_useyouremp"; + level.scr_sound[var_02]["grk_iln_takethosedrones"] = "grk_iln_takethosedrones"; + level.scr_radio["grk_gdn_mitchellweneed"] = "grk_gdn_mitchellweneed"; + level.scr_radio["grk_iln_keepthemoff"] = "grk_iln_keepthemoff"; + level.scr_radio["grk_gdn_waspclearem"] = "grk_gdn_waspclearem"; + level.scr_sound[var_02]["grk_iln_cantgetabead"] = "grk_iln_cantgetabead"; + level.scr_sound[var_02]["grk_iln_mitchelgetintopos"] = "grk_iln_mitchelgetintopos"; + level.scr_sound[var_02]["grk_kva_daminpropdisengage"] = "grk_kva_daminpropdisengage"; + level.scr_sound[var_02]["gre_iln_youlhavetodo"] = "gre_iln_youlhavetodo"; + level.scr_radio["grp_iln_zoominMitch"] = "grp_iln_zoominMitch"; + level.scr_sound[var_02]["grk_iln_throughhere"] = "grk_iln_throughhere"; + level.scr_sound[var_02]["gre_iln_weneedtobestung"] = "gre_iln_weneedtobestung"; + level.scr_sound[var_03]["grk_kva_keepthemawayfrohell"] = "grk_kva_keepthemawayfrohell"; + level.scr_sound[var_03]["grk_kva_theyaintgonnagetim"] = "grk_kva_theyaintgonnagetim"; + level.scr_sound[var_03]["grk_kva_protecthadesatall"] = "grk_kva_protecthadesatall"; + level.scr_sound[var_02]["grk_iln_holdfireuntilinside"] = "grk_iln_holdfireuntilinside"; + level.scr_radio["grk_prp_allstatsconvoysouth"] = "grk_prp_allstatsconvoysouth"; + level.scr_radio["grk_san_wehavecontactyo"] = "grk_san_wehavecontactyo"; + level.scr_radio["grk_san_wehavecontactyodoa"] = "grk_san_wehavecontactyodoa"; + level.scr_radio["grk_prp_sanchezoverover"] = "grk_prp_sanchezoverover"; + level.scr_radio["grk_san_mandownsniperbell"] = "grk_san_mandownsniperbell"; + level.scr_sound[var_02]["grk_iln_openthegate"] = "gre_iln_waitingonurban"; + level.scr_sound[var_02]["grk_iln_gatethatgateopen"] = "gre_iln_openthefuck"; + level.scr_sound[var_02]["grk_iln_mitchellopenthegate"] = "gre_iln_nowfuckmitchell"; + level.scr_sound[var_02]["grk_iln_fireonthatsniperyo"] = "gre_iln_nicerunmyturn"; + level.scr_sound[var_02]["grk_iln_keepfiringonthat"] = "gre_iln_moveuphot"; + level.scr_sound[var_02]["grk_iln_buttonupthat"] = "gre_iln_keepitbuttoned"; + level.scr_sound[var_02]["grk_iln_thanksbuddy"] = "grk_iln_thanksbuddy"; + level.scr_sound[var_02]["grk_iln_igonnasaveyou"] = "grk_iln_igonnasaveyou"; + level.scr_sound[var_02]["grk_iln_ijustconfirmedhad"] = "grk_iln_ijustconfirmedhad"; + level.scr_sound[var_05]["grk_hds_heknowsheknows"] = "grk_hds_heknowsheknows"; + level.scr_sound[var_02]["grk_iln_whatdoesironsknow"] = "grk_iln_whatdoesironsknow"; + level.scr_sound[var_02]["gre_iln1_useoverdrive"] = "gre_iln1_useoverdrive"; + level.scr_sound[var_02]["gre_iln1_useyourshield"] = "gre_iln1_useyourshield"; + level.scr_sound[var_02]["gre_iln1_tossathreatgrenade"] = "gre_iln1_tossathreatgrenade"; + level.scr_sound[var_02]["gre_iln1_mygod"] = "gre_iln1_mygod"; + level.scr_sound[var_02]["gre_iln1_gothimfuckthatguy"] = "gre_iln1_gothimfuckthatguy"; + level.scr_radio["gre_gdn_boringconversationanyways"] = "gre_gdn_boringconversationanyways"; +} + +//Function Number: 3 +init_pcap_vo() +{ + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%hms_greece_market_intro_ilana,"aud_start_cafe_pt1_ilona",::gre_cafe_intro_pt1_ilona); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%hms_greece_market_outro_ilana,"aud_start_cafe_pt2_ilona",::gre_cafe_intro_pt2_ilona); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%hms_greece_finale_end_ilana,"aud_start_finale_ilona",::gre_hades_death_outro_ilona); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%hms_greece_finale_end_hades,"aud_start_finale_hades",::gre_hades_death_outro_hades); +} + +//Function Number: 4 +gre_cafe_intro_pt1_ilona(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_radio_vo_30fps("grk_gdn_sorrytointerrupt",4.5); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("grk_iln_andwhatdoesthat",9); + param_00 soundscripts\_snd_pcap::snd_pcap_play_radio_vo_30fps("gre_prp_intiateuplink",12.33); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("grk_iln_weseehim",14.56); +} + +//Function Number: 5 +gre_cafe_intro_pt2_ilona(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("grk_iln_thatsourticket",0.66); +} + +//Function Number: 6 +gre_hades_death_outro_ilona(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("grk_iln_thanksbuddy",4.1); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("grk_iln_igonnasaveyou",10.05); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("grk_iln_ijustconfirmedhad",25.2); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("grk_iln_whatdoesironsknow",55.4); +} + +//Function Number: 7 +gre_hades_death_outro_hades(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("grk_hds_heknowsheknows",38.25); +} + +//Function Number: 8 +cafe_irons_speech_bink() +{ + level.player playscheduledcinematicsound(131,"gre_irs_teamidontneedto"); + level.player playscheduledcinematicsound(351,"gre_irs_webringhimdownwe"); +} + +//Function Number: 9 +startdialoguethreads() +{ + switch(level.start_point) + { + case "start_levelintro": + case "default": + thread dialoguelevelintro(); + var_00 = "burke"; + var_01 = "joker"; + break; + + default: + break; + } +} + +//Function Number: 10 +dialoguelevelintro() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/irons_estate.gsc b/AW/PC/maps/irons_estate.gsc new file mode 100644 index 0000000..9d1d755 --- /dev/null +++ b/AW/PC/maps/irons_estate.gsc @@ -0,0 +1,682 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: irons_estate.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 29 + * Decompile Time: 428 ms + * Timestamp: 4/22/2024 2:31:37 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.action_slot_whistle = 4; + level.death_counter = 0; + maps\_utility::template_level("irons_estate"); + maps\createart\irons_estate_art::main(); + maps\irons_estate_fx::main(); + maps\irons_estate_precache::main(); + maps\irons_estate_anim::main(); + maps\irons_estate_vo::main(); + irons_estate_starts(); + irons_estate_precache(); + maps\_utility::add_extra_autosave_check("stealth_meter",::autosave_stealth_meter_check,"stealth meter is active."); + maps\_utility::add_extra_autosave_check("stealth_spotted",::autosave_stealth_spotted_check,"player is spotted."); + maps\_utility::add_extra_autosave_check("hostile_drones",::autosave_hostile_drone_check,"hostile drones exist."); + if(level.currentgen) + { + maps\_utility::tff_sync_setup(); + } + + maps\_load::main(); + thread maps\_player_exo::main("specialist"); + maps\irons_estate_lighting::main(); + maps\irons_estate_aud::main(); + maps\_stealth::main(); + maps\irons_estate_stealth::irons_estate_stealth_setup(); + maps\_patrol_extended::main(); + maps\irons_estate_stealth::unarmed(); + maps\irons_estate_stealth::investigate(); + maps\irons_estate_stealth::irons_estate_stealth_anims(); + maps\irons_estate_code::drone_investigate_triggers_main(); + maps\irons_estate_plant_tracker::landing_pad_lights_off(); + maps\irons_estate_code::trigger_sprinklervolume_setup(); + maps\irons_estate_code::force_alert_trigger_setup(); + level.player maps\_utility::playerallowalternatemelee(0); + maps\_water::init("worldhands_sentinel_udt_mitchell_grapple"); + level.visionset_default = "irons_estate"; + level.visionset_underwater = "irons_estate_underwater"; + level.player.no_breath_hud = 1; + maps\_grapple::main("viewbody_sentinel_udt_mitchell_grapple","viewhands_sentinel_udt_mitchell"); + level.player setperk("specialty_exo_blastsuppressor",1,0); + maps\_stealth_display::main(); + maps\_stealth_display::stealth_display_on(); + maps\_tagging::main(); + maps\_drone_ai::init(); + maps\irons_estate_drone::main(); + thread maps\irons_estate_drone::stealth_spotted_drone_monitor(); + thread maps\irons_estate_drone::stealth_alerted_drone_monitor(); + thread maps\irons_estate_drone::drone_investigate_monitor(); + level.ally_vo_org = spawn("script_origin",(0,0,0)); + level.active_civilians = []; + irons_estate_global_flags(); + thread maps\irons_estate_code::irons_estate_animated_trees_setup(); + if(!isdefined(self.high_jump_enabled)) + { + setsaveddvar("bg_fallDamageMinHeight",400); + setsaveddvar("bg_fallDamageMaxHeight",550); + } + + setdvar("grapple_magnet_required",1); + if(level.currentgen) + { + setup_transient_transitions(); + tff_vehicles(); + } +} + +//Function Number: 2 +irons_estate_starts() +{ + common_scripts\utility::flag_init("player_enters_front_yard_save_1"); + common_scripts\utility::flag_init("player_enters_front_yard_save_2"); + common_scripts\utility::flag_init("player_enters_front_yard_save_2a"); + common_scripts\utility::flag_init("player_enters_front_yard_save_3"); + common_scripts\utility::flag_init("player_enters_front_yard_save_4"); + common_scripts\utility::flag_init("player_enters_front_yard_save_5"); + maps\_utility::add_start("briefing",::maps\irons_estate_briefing::briefing_start,"Briefing",::maps\irons_estate_briefing::briefing_main); + maps\_utility::add_start("intro",::maps\irons_estate_intro::intro_start,"Intro",::maps\irons_estate_intro::intro_main); + maps\_utility::add_start("grapple",::maps\irons_estate_grapple::grapple_start,"Grapple",::maps\irons_estate_grapple::grapple_main); + maps\_utility::add_start("recon",::maps\irons_estate_recon::recon_start,"Recon",::maps\irons_estate_recon::recon_main); + maps\_utility::add_start("infil",::maps\irons_estate_infil::infil_start,"Infil",::maps\irons_estate_infil::infil_main); + maps\_utility::add_start("security_center",::maps\irons_estate_security_center::security_center_start,"Security Center",::maps\irons_estate_security_center::security_center_main); + maps\_utility::add_start("hack_security",::maps\irons_estate_hack_security::hack_security_start,"Hack Security",::maps\irons_estate_hack_security::hack_security_main); + maps\_utility::add_start("meet_cormack",::maps\irons_estate_penthouse::penthouse_start,"Meet Cormack",::maps\irons_estate_penthouse::penthouse_main); + maps\_utility::add_start("penthouse",::maps\irons_estate_bedroom::bedroom_start,"Penthouse",::maps\irons_estate_bedroom::bedroom_main); + maps\_utility::add_start("intel",::maps\irons_estate_intel::intel_start,"Intel",::maps\irons_estate_intel::intel_main); + maps\_utility::add_start("infil_hangar",::maps\irons_estate_meet_cormack_pt2::meet_cormack_pt2_start,"Infil Hangar",::maps\irons_estate_meet_cormack_pt2::meet_cormack_pt2_main); + maps\_utility::add_start("hangar",::maps\irons_estate_track_irons::track_irons_start,"Hangar",::maps\irons_estate_track_irons::track_irons_main); + maps\_utility::add_start("plant_tracker",::maps\irons_estate_plant_tracker::plant_tracker_start,"Plant Tracker",::maps\irons_estate_plant_tracker::plant_tracker_main); + maps\_utility::default_start(::maps\irons_estate_briefing::briefing_start); + maps\_utility::set_default_start("briefing"); + if(level.currentgen) + { + setup_start_transients(); + } +} + +//Function Number: 3 +setup_start_transients() +{ + var_00 = ["irons_estate_briefing_tr"]; + maps\_utility::set_start_transients("briefing",var_00); + var_00[0] = "irons_estate_cliffs_tr"; + var_00[1] = "irons_estate_lower_tr"; + maps\_utility::set_start_transients("intro",var_00); + maps\_utility::set_start_transients("grapple",var_00); + var_00[0] = "irons_estate_lower_tr"; + var_00[1] = "irons_estate_penthouse_tr"; + maps\_utility::set_start_transients("recon",var_00); + maps\_utility::set_start_transients("infil",var_00); + maps\_utility::set_start_transients("security_center",var_00); + maps\_utility::set_start_transients("hack_security",var_00); + maps\_utility::set_start_transients("meet_cormack",var_00); + maps\_utility::set_start_transients("penthouse",var_00); + maps\_utility::set_start_transients("intel",var_00); + var_00[0] = "irons_estate_upper_tr"; + maps\_utility::set_start_transients("infil_hangar",var_00); + maps\_utility::set_start_transients("hangar",var_00); + maps\_utility::set_start_transients("plant_tracker",var_00); +} + +//Function Number: 4 +setup_transient_transitions() +{ + if(!istransientloaded("irons_estate_cliffs_tr")) + { + thread tff_trans_briefing_to_cliffs(); + } + + if(!istransientloaded("irons_estate_lower_tr")) + { + thread tff_trans_cliffs_to_lower(); + } + + if(!istransientloaded("irons_estate_upper_tr")) + { + thread tff_trans_lower_to_upper(); + } + + if(!istransientloaded("irons_estate_cliffs_tr") || level.start_point == "intro" || level.start_point == "grapple") + { + thread tff_trans_upper_to_lower_cliffs(); + } +} + +//Function Number: 5 +tff_trans_briefing_to_cliffs() +{ + common_scripts\utility::flag_wait("teleport_to_base"); + level notify("tff_pre_briefing_to_cliffs"); + unloadtransient("irons_estate_briefing_tr"); + loadtransient("irons_estate_cliffs_tr"); + while(!istransientloaded("irons_estate_cliffs_tr")) + { + wait(0.05); + } + + level notify("tff_post_briefing_to_cliffs"); + loadtransient("irons_estate_lower_tr"); +} + +//Function Number: 6 +tff_trans_cliffs_to_lower() +{ + common_scripts\utility::flag_wait("flag_tff_trans_cliffs_to_lower"); + level notify("tff_pre_cliffs_to_lower"); + unloadtransient("irons_estate_cliffs_tr"); + loadtransient("irons_estate_penthouse_tr"); + while(!istransientloaded("irons_estate_penthouse_tr")) + { + wait(0.05); + } + + level notify("tff_post_cliffs_to_lower"); +} + +//Function Number: 7 +tff_trans_lower_to_upper() +{ + common_scripts\utility::flag_wait("flag_tff_trans_lower_to_upper"); + common_scripts\utility::flag_set("post_penthouse_trees"); + level notify("tff_pre_lower_to_upper"); + unloadtransient("irons_estate_lower_tr"); + loadtransient("irons_estate_upper_tr"); + while(!istransientloaded("irons_estate_upper_tr")) + { + wait(0.05); + } + + level notify("tff_post_lower_to_upper"); +} + +//Function Number: 8 +tff_trans_upper_to_lower_cliffs() +{ + common_scripts\utility::flag_wait("player_started_vtol_grapple"); + level notify("tff_pre_upper_to_cliffs"); + unloadtransient("irons_estate_upper_tr"); + loadtransient("irons_estate_cliffs_tr"); + while(!istransientloaded("irons_estate_cliffs_tr")) + { + wait(0.05); + } + + level notify("tff_post_upper_to_cliffs"); +} + +//Function Number: 9 +tff_vehicles() +{ + var_00 = getentarray("estate_lower_vehicles","targetname"); + foreach(var_02 in var_00) + { + var_03 = var_02 maps\_utility::spawn_vehicle(); + var_03 thread maps\irons_estate_code::tff_cleanup_vehicle("lower"); + } +} + +//Function Number: 10 +irons_estate_objectives() +{ + if(level.start_point == "intro") + { + return; + } + + if(level.start_point == "grapple") + { + return; + } + + objective_add(maps\_utility::obj("grapple_waterfall"),"invisible",&"IRONS_ESTATE_OBJ_GRAPPLE_WATERFALL"); + objective_state_nomessage(maps\_utility::obj("grapple_waterfall"),"done"); + if(level.start_point == "recon") + { + return; + } + + if(level.start_point == "infil") + { + return; + } + + objective_add(maps\_utility::obj("infil"),"invisible",&"IRONS_ESTATE_OBJ_INFIL"); + objective_state_nomessage(maps\_utility::obj("infil"),"done"); + if(level.start_point == "security_center") + { + return; + } + + if(level.start_point == "hack_security") + { + return; + } + + objective_add(maps\_utility::obj("security_center"),"invisible",&"IRONS_ESTATE_OBJ_SECURITY_CENTER"); + objective_state_nomessage(maps\_utility::obj("security_center"),"done"); + if(level.start_point == "meet_cormack") + { + return; + } + + if(level.start_point == "penthouse") + { + return; + } + + objective_add(maps\_utility::obj("penthouse"),"invisible",&"IRONS_ESTATE_OBJ_PENTHOUSE"); + objective_state_nomessage(maps\_utility::obj("penthouse"),"done"); + if(level.start_point == "intel") + { + return; + } + + objective_add(maps\_utility::obj("intel"),"invisible",&"IRONS_ESTATE_OBJ_INTEL"); + objective_state_nomessage(maps\_utility::obj("intel"),"done"); + if(level.start_point == "infil_hangar") + { + return; + } + + objective_add(maps\_utility::obj("infiltrate_hangar"),"invisible",&"IRONS_ESTATE_OBJ_INFILTRATE_HANGAR"); + objective_state_nomessage(maps\_utility::obj("infiltrate_hangar"),"done"); + if(level.start_point == "hangar") + { + return; + } + + objective_add(maps\_utility::obj("monitor_irons"),"invisible",&"IRONS_ESTATE_OBJ_MONITOR_IRONS"); + objective_state_nomessage(maps\_utility::obj("monitor_irons"),"done"); + if(level.start_point == "plant_tracker") + { + } +} + +//Function Number: 11 +irons_estate_precache() +{ + precachestring(&"IRONS_ESTATE_INTROSCREEN2_LINE_1"); + precachestring(&"IRONS_ESTATE_INTROSCREEN2_LINE_2"); + precachestring(&"IRONS_ESTATE_INTROSCREEN2_LINE_3"); + precachestring(&"IRONS_ESTATE_INTROSCREEN2_LINE_4"); + maps\_utility::add_hint_string("HINT_GRAPPLE",&"IRONS_ESTATE_GRAPPLE",::hint_grapple_off); + maps\_utility::add_control_based_hint_strings("HINT_TAGGING",&"IRONS_ESTATE_TAGGING",::hint_tagging_off,&"IRONS_ESTATE_TAGGING_PC"); + maps\_utility::add_hint_string("HINT_STEALTH_DETECTION",&"IRONS_ESTATE_STEALTH_DETECTION_HINT",::hint_stealth_detection_off); + maps\_utility::add_hint_string("HINT_DECOY",&"IRONS_ESTATE_DECOY_HINT",::hint_decoy_off); + maps\_utility::add_hint_string("HINT_DECOY_EXPOSED_GROUP",&"IRONS_ESTATE_DECOY_HINT",::hint_decoy_exposed_group_off); + maps\_utility::add_hint_string("HINT_CONCEALED_KILL",&"IRONS_ESTATE_CONCEALED_KILL_HINT",::hint_concealed_kill_one); + maps\_utility::add_hint_string("HINT_ABANDON_WARNING",&"IRONS_ESTATE_ABANDON_WARNING",::hint_abandon_warning_off); + maps\_utility::add_hint_string("HINT_RAPPEL",&"IRONS_ESTATE_HINT_RAPPEL",::hint_rappel_off); + maps\_utility::add_hint_string("HINT_MARK_AND_EXECUTE",&"IRONS_ESTATE_HINT_MARK_AND_EXECUTE",::hint_mark_and_execute_off); + maps\_utility::add_hint_string("HINT_PRONE_TOGGLE",&"IRONS_ESTATE_HINT_PRONE_TOGGLE",::hint_prone_off); + maps\_utility::add_hint_string("HINT_PRONE_HOLD",&"IRONS_ESTATE_HINT_PRONE_HOLD",::hint_prone_off); + maps\_utility::add_hint_string("HINT_PRONE",&"IRONS_ESTATE_HINT_PRONE",::hint_prone_off); + maps\_utility::add_hint_string("HINT_COVER_MOUTH",&"IRONS_ESTATE_HINT_COVER_MOUTH",::hint_cover_mouth_off); + maps\_utility::add_hint_string("HINT_UNCOVER_MOUTH",&"IRONS_ESTATE_HINT_UNCOVER_MOUTH",::hint_uncover_mouth_off); + maps\_utility::add_hint_string("HINT_KNOCKOUT",&"IRONS_ESTATE_HINT_KNOCKOUT",::hint_knockout_off); + precachemodel("viewhands_sentinel_udt_mitchell"); + precachemodel("viewbody_sentinel_udt_mitchell_grapple"); + precachemodel("viewhands_sentinel_udt_mitchell_noscreen"); + precacheitem("s1_unarmed"); + precacheitem("iw5_pbwsingleshot_sp"); + precacheitem("iw5_kf5fullauto_sp"); + precachemodel("worldhands_sentinel_udt_mitchell_screen"); + precachemodel("worldhands_sentinel_udt_mitchell_grapple"); + precachemodel("foliage_fan_palm_tree_01_anim"); + precachemodel("foliage_fan_palm_tree_02_anim"); + precacheshader("waypoint_threat_friendly"); + precachemodel("greece_drone_control_pad"); + precachemodel("base_pool_stick_01"); + precacheshader("dpad_icon_whistle"); + precacheshader("dpad_icon_whistle_off"); + if(level.ps4) + { + precacheshader("icon_hud_dpad_ps4"); + } + else if(level.xb3) + { + precacheshader("icon_hud_dpad_xb3"); + } + else + { + precacheshader("icon_hud_dpad"); + } + + precacheshader("hud_dpad_arrow_right"); + precachemodel("mutecharge_obj"); + precachemodel("mutecharge"); + precachemodel("viewhands_sentinel_udt_mitchell_thumb_print"); + precachemodel("viewhands_sentinel_udt_mitchell_index_print"); + precachemodel("viewhands_sentinel_udt_mitchell_middle_print"); + precachemodel("viewhands_sentinel_udt_mitchell_ring_print"); + precachemodel("viewhands_sentinel_udt_mitchell_pinky_print"); + if(level.nextgen) + { + precacheshader("m/mtl_base_fingerprint_01"); + precacheshader("m/mtl_base_fingerprint_02"); + precacheshader("m/mtl_base_fingerprint_03"); + precacheshader("m/mtl_base_fingerprint_04"); + precacheshader("m/mtl_base_fingerprint_05"); + precacheshader("m/mtl_base_fingerprint_06"); + precacheshader("m/mtl_base_fingerprint_07"); + precacheshader("m/mtl_base_fingerprint_08"); + precacheshader("m/mtl_base_fingerprint_09"); + precacheshader("m/mtl_base_fingerprint_10"); + precacheshader("m/mtl_base_fingerprint_11"); + precacheshader("m/mtl_base_fingerprint_12"); + } + else + { + precacheshader("mq/mtl_base_fingerprint_01"); + precacheshader("mq/mtl_base_fingerprint_02"); + precacheshader("mq/mtl_base_fingerprint_03"); + precacheshader("mq/mtl_base_fingerprint_04"); + precacheshader("mq/mtl_base_fingerprint_05"); + precacheshader("mq/mtl_base_fingerprint_06"); + precacheshader("mq/mtl_base_fingerprint_07"); + precacheshader("mq/mtl_base_fingerprint_08"); + precacheshader("mq/mtl_base_fingerprint_09"); + precacheshader("mq/mtl_base_fingerprint_10"); + precacheshader("mq/mtl_base_fingerprint_11"); + precacheshader("mq/mtl_base_fingerprint_12"); + } + + precacheshader("ac130_overlay_pip_vignette"); + precachemodel("generic_prop_raven"); + precachemodel("generic_prop_raven_x3"); + precachemodel("cellphone_kit_03"); + precachemodel("atlas_vtol_cargo_plane_ext_ai"); + precachemodel("atlas_stabilize_crate"); + precachemodel("door_single_01_estate_anim"); + precachemodel("door_single_right_01_estate_anim"); + precachemodel("office_chair_conference_01_alt_red"); + precachemodel("dem_tablet_pc_01"); + precacheshader("objective_onscreen"); + precacheshader("objective_onscreen_arrow"); + precacheshader("stealth_eq_01"); + precacheshader("stealth_eq_02"); + precacheshader("stealth_eq_03"); + precacheshader("stealth_eq_04"); + precacheshader("stealth_eq_05"); + precacheshader("stealth_eq_06"); + precacheshader("stealth_eq_07"); + precacheshader("stealth_eq_08"); + precacheshader("cinematic"); + precacheshader("cinematic_add"); + precacheshader("cinematic_screen_add"); + precachemodel("civ_humvee_ai"); + precachemodel("mil_gaz_chassis_vm"); + precacheitem("rsass_silenced"); + precachemodel("tag_laser"); + precachelaser("ie_ilona_laser"); + precachemodel("tracking_device"); + precachemodel("udt_respirator_small"); + precachemodel("machinery_welder_handle"); + precachemodel("vehicle_ind_personal_forklift_ai"); + precachemodel("base_grapple_scale_rope"); + precacherumble("light_1s"); + precacherumble("ie_cave_rumble"); + precacherumble("steady_rumble"); + precacherumble("ie_vtol_rumble"); + precacherumble("ie_vtol_ride_rumble"); + precacherumble("ie_vtol_ride_rumble_low"); + precachemodel("npc_dronelaunchpad"); + precachemodel("genericprop_x5"); + precachemodel("atlas_stabilize_vial_static"); + precachemodel("base_hack_device_01"); + precacherumble("ie_desk_right_tap"); + precacherumble("ie_desk_right_swipe"); + precacherumble("ie_desk_left_tap"); + precacherumble("ie_desk_left_swipe"); + precachemodel("head_m_gen_cau_clark"); + precachemodel("head_m_gen_cau_anderson"); +} + +//Function Number: 12 +irons_estate_global_flags() +{ + common_scripts\utility::flag_init("briefing_end"); + common_scripts\utility::flag_init("intro_begin"); + common_scripts\utility::flag_init("intro_end"); + common_scripts\utility::flag_init("grapple_begin"); + common_scripts\utility::flag_init("grapple_end"); + common_scripts\utility::flag_init("recon_end"); + common_scripts\utility::flag_init("infil_begin"); + common_scripts\utility::flag_init("infil_end"); + common_scripts\utility::flag_init("poolhouse_end"); + common_scripts\utility::flag_init("security_center_begin"); + common_scripts\utility::flag_init("security_center_end"); + common_scripts\utility::flag_init("hack_security_begin"); + common_scripts\utility::flag_init("hack_security_end"); + common_scripts\utility::flag_init("intel_begin"); + common_scripts\utility::flag_init("intel_end"); + common_scripts\utility::flag_init("penthouse_start"); + common_scripts\utility::flag_init("penthouse_end"); + common_scripts\utility::flag_init("bedroom_start"); + common_scripts\utility::flag_init("bedroom_end"); + common_scripts\utility::flag_init("meet_ilana_start"); + common_scripts\utility::flag_init("meet_ilana_end"); + common_scripts\utility::flag_init("identify_irons_start"); + common_scripts\utility::flag_init("identify_irons_end"); + common_scripts\utility::flag_init("descend_start"); + common_scripts\utility::flag_init("descend_end"); + common_scripts\utility::flag_init("meet_cormack_start"); + common_scripts\utility::flag_init("meet_cormack_end"); + common_scripts\utility::flag_init("meet_cormack_pt2_start"); + common_scripts\utility::flag_init("meet_cormack_pt2_end"); + common_scripts\utility::flag_init("track_irons_start"); + common_scripts\utility::flag_init("track_irons_end"); + common_scripts\utility::flag_init("plant_tracker_start"); + common_scripts\utility::flag_init("plant_tracker_end"); + common_scripts\utility::flag_init("ie_west_poolhouse_trees"); + common_scripts\utility::flag_init("ie_west_central_garden_trees"); + common_scripts\utility::flag_init("ie_west_driveway_trees"); + common_scripts\utility::flag_init("post_penthouse_trees"); + common_scripts\utility::flag_init("remove_pre_penthouse_trees"); + common_scripts\utility::flag_init("cleanup_drones_and_enemies_in_backyard"); + common_scripts\utility::flag_init("introscreen1_complete"); + common_scripts\utility::flag_init("briefing_table_start"); + common_scripts\utility::flag_init("teleport_to_base"); + common_scripts\utility::flag_init("all_in"); + common_scripts\utility::flag_init("drone_passed"); + common_scripts\utility::flag_init("grapple_disabled"); + common_scripts\utility::flag_init("ENTITY_TAGGED"); + common_scripts\utility::flag_init("AR_OPTICS_ACTIVATED"); + common_scripts\utility::flag_init("AR_OPTICS_DEACTIVATED"); + common_scripts\utility::flag_init("HINT_STEALTH_DETECTION"); + common_scripts\utility::flag_init("HINT_DECOY"); + common_scripts\utility::flag_init("HINT_DECOY_STOP"); + common_scripts\utility::flag_init("HINT_CONCEALED_KILL"); + common_scripts\utility::flag_init("HINT_CONCEALED_KILL_STOP"); + common_scripts\utility::flag_init("HINT_ABANDON_WARNING_STOP"); + common_scripts\utility::flag_init("tutorial_guard_alerted"); + common_scripts\utility::flag_init("stealth_display_tutorial_over"); + common_scripts\utility::flag_init("security_center_guard_right"); + common_scripts\utility::flag_init("security_center_guard_left"); + common_scripts\utility::flag_init("player_entering_ie_west"); + common_scripts\utility::flag_init("player_planting_emp"); + common_scripts\utility::flag_init("emp_detonated"); + common_scripts\utility::flag_init("security_center_enter_anim_done"); + common_scripts\utility::flag_init("handprint_start"); + common_scripts\utility::flag_init("security_center_hack_complete"); + common_scripts\utility::flag_init("player_is_exiting_security_center"); + common_scripts\utility::flag_init("player_is_out_of_security_center"); + common_scripts\utility::flag_init("guards_break_stealth"); + common_scripts\utility::flag_init("gather_intel"); + common_scripts\utility::flag_init("intel_download_interruption"); + common_scripts\utility::flag_init("intel_download_complete"); + common_scripts\utility::flag_init("intel_download_complete_started"); + common_scripts\utility::flag_init("grab_assistant_enabled"); + common_scripts\utility::flag_init("assistant_enter_room"); + common_scripts\utility::flag_init("grab_assistant_fail"); + common_scripts\utility::flag_init("player_covered_mouth"); + common_scripts\utility::flag_init("player_uncovered_mouth"); + common_scripts\utility::flag_init("cover_hint_off"); + common_scripts\utility::flag_init("uncover_hint_off"); + common_scripts\utility::flag_init("knockout_hint_off"); + common_scripts\utility::flag_init("player_knocked_out_assistant"); + common_scripts\utility::flag_init("marked_enemy"); + common_scripts\utility::flag_init("someone_became_alert"); + common_scripts\utility::flag_init("clean_kill"); + common_scripts\utility::flag_init("sloppy_kill"); + common_scripts\utility::flag_init("move_to_penthouse_balcony"); + common_scripts\utility::flag_init("balcony_entrance_doors_opened"); + common_scripts\utility::flag_init("player_entered_balcony_door"); + common_scripts\utility::flag_init("balcony_exit_doors_opened"); + common_scripts\utility::flag_init("woman_playing_vo"); + common_scripts\utility::flag_init("ATTACHED_TRACKER"); + common_scripts\utility::flag_init("DETACHED_FROM_VTOL"); + common_scripts\utility::flag_init("player_started_vtol_grapple"); + common_scripts\utility::flag_init("gaz_intro_finished"); + common_scripts\utility::flag_init("cormack_under_car"); + common_scripts\utility::flag_init("player_under_car"); + common_scripts\utility::flag_init("in_position_vo_done"); + common_scripts\utility::flag_init("player_used_intel_trigger"); + common_scripts\utility::flag_init("at_listening_position"); + common_scripts\utility::flag_init("cormack_in_hangar_position"); + common_scripts\utility::flag_init("player_grappled_to_vtol"); + common_scripts\utility::flag_init("start_exfil_moment_final"); + common_scripts\utility::flag_init("player_finished_desk_anim"); + common_scripts\utility::flag_init("mission_failing"); + common_scripts\utility::flag_init("landing_pad_workers_01_a_end"); + common_scripts\utility::flag_init("landing_pad_workers_01_b_end"); + common_scripts\utility::flag_init("increase_grapple_dist_max"); + common_scripts\utility::flag_init("start_exfil_moment_final_liftoff_started"); +} + +//Function Number: 13 +autosave_stealth_meter_check() +{ + if(isdefined(level.player.stealth_display_active) && level.player.stealth_display_active) + { + return 0; + } + + return 1; +} + +//Function Number: 14 +autosave_stealth_spotted_check() +{ + if(common_scripts\utility::flag("_stealth_spotted")) + { + return 0; + } + + return 1; +} + +//Function Number: 15 +autosave_hostile_drone_check() +{ + if(!isdefined(level.active_drones)) + { + return 1; + } + + foreach(var_01 in level.active_drones) + { + if(var_01.mode == "attack") + { + return 0; + } + } + + return 1; +} + +//Function Number: 16 +hint_grapple_off() +{ + return common_scripts\utility::flag("GRAPPLE") || common_scripts\utility::flag("HINT_GRAPPLE_STOP"); +} + +//Function Number: 17 +hint_tagging_off() +{ + return common_scripts\utility::flag("ENTITY_TAGGED"); +} + +//Function Number: 18 +hint_ar_optics_deactivate_off() +{ + return common_scripts\utility::flag("AR_OPTICS_DEACTIVATED") || common_scripts\utility::flag("_stealth_spotted"); +} + +//Function Number: 19 +hint_stealth_detection_off() +{ + return common_scripts\utility::flag("HINT_STEALTH_DETECTION") || common_scripts\utility::flag("_stealth_spotted"); +} + +//Function Number: 20 +hint_decoy_off() +{ + return common_scripts\utility::flag("HINT_DECOY") || common_scripts\utility::flag("_stealth_spotted") || common_scripts\utility::flag("concealed_kill_spawner_dead") || common_scripts\utility::flag("player_skipping_concealed_kill_tutorial") || common_scripts\utility::flag("tutorial_guard_alerted") || common_scripts\utility::flag("HINT_DECOY_STOP"); +} + +//Function Number: 21 +hint_decoy_exposed_group_off() +{ + return common_scripts\utility::flag("HINT_DECOY") || common_scripts\utility::flag("_stealth_spotted") || common_scripts\utility::flag("HINT_DECOY_STOP"); +} + +//Function Number: 22 +hint_concealed_kill_one() +{ + return common_scripts\utility::flag("HINT_CONCEALED_KILL") || common_scripts\utility::flag("_stealth_spotted") || common_scripts\utility::flag("concealed_kill_spawner_dead") || common_scripts\utility::flag("player_skipping_concealed_kill_tutorial") || common_scripts\utility::flag("HINT_CONCEALED_KILL_STOP"); +} + +//Function Number: 23 +hint_abandon_warning_off() +{ + return common_scripts\utility::flag("HINT_ABANDON_WARNING_STOP") || common_scripts\utility::flag("_stealth_spotted"); +} + +//Function Number: 24 +hint_rappel_off() +{ + return common_scripts\utility::flag("descend_end") || abs(level.player getnormalizedmovement()[0]) > 0; +} + +//Function Number: 25 +hint_mark_and_execute_off() +{ + return common_scripts\utility::flag("marked_enemy"); +} + +//Function Number: 26 +hint_prone_off() +{ + return level.player getstance() == "prone"; +} + +//Function Number: 27 +hint_cover_mouth_off() +{ + return level.player adsbuttonpressed() || common_scripts\utility::flag("player_covered_mouth") || common_scripts\utility::flag("cover_hint_off"); +} + +//Function Number: 28 +hint_uncover_mouth_off() +{ + return !level.player adsbuttonpressed() || common_scripts\utility::flag("player_uncovered_mouth") || common_scripts\utility::flag("uncover_hint_off"); +} + +//Function Number: 29 +hint_knockout_off() +{ + return level.player meleebuttonpressed() || level.player attackbuttonpressed() || common_scripts\utility::flag("knockout_hint_off"); +} \ No newline at end of file diff --git a/AW/PC/maps/irons_estate_anim.gsc b/AW/PC/maps/irons_estate_anim.gsc new file mode 100644 index 0000000..3708bc2 --- /dev/null +++ b/AW/PC/maps/irons_estate_anim.gsc @@ -0,0 +1,408 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: irons_estate_anim.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 8 + * Decompile Time: 140 ms + * Timestamp: 4/22/2024 2:31:38 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(level.nextgen) + { + anim.forced_s1_motionset = 1; + } + + generic_human(); + civilian_anims(); + player_anims(); + ally_anims(); + animated_prop_anims(); + vehicle_anims(); + script_model_anims(); +} + +//Function Number: 2 +generic_human() +{ + level.scr_anim["cormack"]["briefing_start"] = %ie_briefing_start_cormack; + level.scr_anim["ilana"]["briefing_start"] = %ie_briefing_start_ilona; + level.scr_anim["knox"]["briefing_start"] = %ie_briefing_start_knox; + level.scr_anim["worker1"]["briefing_start_worker1"] = %ie_briefing_start_worker1; + level.scr_anim["worker2"]["briefing_start_worker2"] = %ie_briefing_start_worker2; + level.scr_anim["worker3"]["briefing_start_worker3"] = %ie_briefing_start_worker3; + level.scr_anim["worker4"]["briefing_start_worker4"] = %ie_briefing_start_worker4; + level.scr_anim["worker5"]["briefing_start_worker5"] = %ie_briefing_start_worker5; + level.scr_anim["generic"]["_stealth_look_around_upward"][0] = %ie_stealth_alerted; + level.scr_anim["generic"]["CQB_stand_wave_on_me_generic"] = %cqb_stand_wave_on_me; + level.scr_anim["knox"]["ie_intro_idle"] = %ie_intro_idle_ally_3; + level.scr_anim["cormack"]["ie_intro_ally"] = %ie_intro_ally_1; + maps\_anim::addnotetrack_notify("cormack","ready_hooks","ready_hooks","ie_intro_ally"); + level.scr_anim["ilana"]["ie_intro_ally"] = %ie_intro_ally_2; + level.scr_anim["knox"]["ie_intro_ally"] = %ie_intro_ally_3; + level.scr_anim["cormack"]["ie_intro_grapple_start"] = %ie_intro_grapple_start_ally_1; + level.scr_anim["ilana"]["ie_intro_grapple_start"] = %ie_intro_grapple_start_ally_2; + level.scr_anim["knox"]["ie_intro_grapple_start"] = %ie_intro_grapple_start_ally_3; + level.scr_anim["doctor"]["doctor_walk"][0] = %det_casual_walk_slow_burke; + level.scr_anim["generic"]["doctor_walk"][0] = %det_casual_walk_slow_burke; + level.scr_anim["generic"]["casual_walk"][0] = %det_casual_walk_slow_cormack; + level.scr_anim["generic"]["casual_walk_idle"][0] = %casual_stand_idle; + level.scr_anim["cormack"]["recon_enter"] = %ie_recon_enter_cormack; + level.scr_anim["ilana"]["recon_enter"] = %ie_recon_enter_ilona; + level.scr_anim["knox"]["recon_enter"] = %ie_recon_enter_knox; + level.scr_anim["knox"]["recon_idle"][0] = %ie_recon_knox_idle; + level.scr_anim["knox"]["recon_exit"] = %ie_recon_exit_knox; + level.scr_anim["knox"]["recon_exit_idle"][0] = %ie_recon_exit_knox_idle; + level.scr_anim["generic"]["stealth_display_tutorial_enemy_1"] = %ie_stealth_meter_guard_1; + level.scr_anim["generic"]["stealth_display_tutorial_enemy_2"] = %ie_stealth_meter_guard_2; + level.scr_anim["generic"]["stealth_display_tutorial_enemy_3"] = %ie_stealth_meter_guard_3; + level.scr_anim["generic"]["ie_stealth_meter_guard_idle"][0] = %ie_stealth_meter_idle_guard_3; + level.scr_anim["generic"]["ie_stealth_meter_guard_react"] = %ie_stealth_meter_react_guard_3; + level.scr_anim["generic"]["patrol_unarmed_idle"][0] = %patrol_unarmed_idle; + level.scr_anim["generic"]["ie_frontyard_garden_wander_enemy1"] = %ie_frontyard_garden_wander_enemy1; + level.scr_anim["ilana"]["takedown_idle"][0] = %casual_crouch_idle; + level.scr_anim["ilana"]["penthouse_balcony_enter"] = %ie_pent_balcony_enter_ilona; + level.scr_anim["ilana"]["open_balcony_door"] = %cqb_stand_wave_on_me; + level.scr_anim["ilana"]["pent_enter"] = %ie_pent_enter_ilona; + level.scr_anim["ilana"]["pent_stair_idle"][0] = %ie_pent_stair_idle_ilona; + level.scr_anim["ilana"]["pent_desk_enter"] = %ie_pent_desk_enter_ilona; + level.scr_anim["ilana"]["pent_desk_loop"][0] = %ie_pent_desk_loop_ilona; + level.scr_anim["ilana"]["pent_desk_exit"] = %ie_pent_desk_exit_ilona; + level.scr_anim["ilana"]["capture_idle"][0] = %ie_pent_capture_idle_ilona; + level.scr_anim["ilana"]["capture"] = %ie_pent_capture_exit_ilona; + level.scr_anim["ilana"]["ambush_idle"][0] = %ie_pent_ambush_idle_ilona; + level.scr_anim["ilana"]["ambush"] = %ie_pent_ambush_ilona; + level.scr_anim["ilana"]["pent_exit"] = %ie_pent_exit_ilona; + level.scr_anim["ilana"]["pent_exit_idle"][0] = %ie_pent_exit_ilona_idle; + level.scr_anim["assistant"]["capture"] = %ie_pent_capture_asst; + level.scr_anim["assistant"]["capture_fail"] = %ie_pent_capture_fail_asst; + level.scr_anim["penthouse_enemy_1"]["ambush"] = %ie_pent_ambush_enemy_1; + level.scr_anim["penthouse_enemy_2"]["ambush"] = %ie_pent_ambush_enemy_2; + level.scr_anim["penthouse_enemy_3"]["ambush"] = %ie_pent_ambush_enemy_3; + level.scr_anim["penthouse_enemy_4"]["ambush"] = %ie_pent_ambush_enemy_4; + level.scr_anim["penthouse_enemy_5"]["ambush"] = %ie_pent_ambush_enemy_5; + level.scr_anim["penthouse_enemy_6"]["ambush"] = %ie_pent_ambush_enemy_6; + level.scr_anim["assistant"]["human_shield_idle"][0] = %ie_pent_hostage_idle_asst; + level.scr_anim["assistant"]["human_shield_run"][0] = %ie_pent_hostage_walk_asst; + level.scr_anim["cormack"]["guardhouse_traversal"] = %ie_guardhouse_traversal_cormack; + level.scr_anim["cormack"]["guardhouse_enter"] = %ie_guardhouse_enter_cormack; + level.scr_anim["cormack"]["guardhouse_idle"][0] = %ie_guardhouse_aim_cormack_loop; + level.scr_anim["generic"]["guardhouse_idle_generic"][0] = %ie_guardhouse_enter_enemy1_idle; + level.scr_anim["guardhouse_cormack_guy"]["guardhouse_idle"][0] = %ie_guardhouse_enter_enemy2_idle; + level.scr_anim["cormack"]["guardhouse_shoot"] = %ie_guardhouse_shoot_cormack; + level.scr_anim["guardhouse_player_guy"]["guardhouse_shoot"] = %ie_guardhouse_shoot_enemy1; + level.scr_anim["guardhouse_cormack_guy"]["guardhouse_shoot"] = %ie_guardhouse_shoot_enemy2; + level.scr_anim["cormack"]["guardhouse_exit_enter"] = %ie_car_ride_approach_cormack; + level.scr_anim["cormack"]["guardhouse_exit_idle"][0] = %ie_car_ride_approach_cormack_idle; + level.scr_anim["doctor"]["car_ride_enter"] = %ie_car_ride_enter_kva; + level.scr_anim["doctor"]["car_ride_enter_idle"][0] = %ie_car_ride_enter_kva_idle; + level.scr_anim["doctor"]["car_ride_driving"] = %ie_car_ride_driving_kva; + level.scr_anim["generic"]["lag_lobby_exit_elevator_react_guy1"] = %lag_lobby_exit_elevator_react_guy1; + level.scr_anim["generic"]["lag_lobby_exit_elevator_react_guy2"] = %lag_lobby_exit_elevator_react_guy2; + level.scr_anim["generic"]["breach_idle"][0] = %casual_stand_idle; + level.scr_anim["generic"]["breach_idle"][1] = %casual_stand_idle_twitch; + level.scr_anim["generic"]["breach_idle"][2] = %casual_stand_idle_twitchb; + level.scr_anim["generic"]["smg_exposed_tracking_turn180l"] = %smg_exposed_tracking_turn180l; + level.scr_anim["generic"]["smg_exposed_tracking_turn180r"] = %smg_exposed_tracking_turn180r; + level.scr_anim["generic"]["smg_stand_2_run_180l"] = %smg_stand_2_run_180l; + level.scr_anim["generic"]["smg_casual_stand_idle_trans_out"] = %smg_casual_stand_idle_trans_out; + level.scr_anim["generic"]["smg_stand_2_run_l"] = %smg_stand_2_run_l; + level.scr_anim["generic"]["smg_stand_2_run_r"] = %smg_stand_2_run_r; + level.scr_anim["generic"]["smg_exposed_idle_reactb"] = %smg_exposed_idle_reactb; + level.scr_anim["cormack"]["pent_enter"] = %ie_pent_enter_cormack; + level.scr_anim["cormack_stealth_takedown_guy"]["pent_enter"] = %ie_pent_enter_enemy; + level.scr_anim["cormack"]["pent_desk_idle"][0] = %ie_pent_desk_cormack_loop; + level.scr_anim["cormack"]["pent_desk"] = %ie_pent_desk_cormack_exit; + level.scr_anim["cormack"]["pent_escape"] = %ie_pent_escape_cormack; + level.scr_anim["generic"]["whimper_react"] = %cqb_stop_3; + level.patrol_scriptedanims["whimper_react"] = "whimper_react"; + level.scr_anim["atrium_door_enter_enemy1"]["atrium_door_enter"] = %ie_backyard_door_enemy1; + level.scr_anim["atrium_door_enter_enemy2"]["atrium_door_enter"] = %ie_backyard_door_enemy2; + level.scr_anim["dropdown_enemy1"]["atrium_dropdown_balcony"] = %ie_backyard_dropdown_enemy1; + level.scr_anim["dropdown_enemy2"]["atrium_dropdown_balcony"] = %ie_backyard_dropdown_enemy2; + level.scr_anim["cormack"]["hangar_enter"] = %ie_hangar_cormack_enter; + level.scr_anim["cormack"]["hangar_enter_run"] = %ie_hangar_cormack_enter_run; + level.scr_anim["cormack"]["hangar_enter_loop"][0] = %ie_hangar_cormack_enter_loop; + level.scr_anim["cormack"]["hangar_loop"][0] = %ie_hangar_cormack_loop; + level.scr_anim["irons"]["hangar_loop"][0] = %ie_hangar_irons_loop; + level.scr_anim["doctor"]["hangar_loop"][0] = %ie_hangar_kva_loop; + level.scr_anim["lift_worker_01"]["hangar_loop"][0] = %ie_hangar_worker1_loop; + level.scr_anim["lift_worker_02"]["hangar_loop"][0] = %ie_hangar_worker2_loop; + level.scr_anim["cormack"]["hangar"] = %ie_hangar_cormack; + level.scr_anim["irons"]["hangar"] = %ie_hangar_irons; + level.scr_anim["doctor"]["hangar"] = %ie_hangar_kva; + level.scr_anim["lift_worker_01"]["hangar"] = %ie_hangar_worker1; + level.scr_anim["lift_worker_02"]["hangar"] = %ie_hangar_worker2; + level.scr_anim["car_ride_driving_worker_1"]["car_ride_driving_workers"] = %ie_car_ride_driving_worker1; + level.scr_anim["car_ride_driving_worker_2"]["car_ride_driving_workers"] = %ie_car_ride_driving_worker2; + level.scr_anim["generic"]["ie_hangar_ambience_welder_loop"][0] = %ie_hangar_ambience_welder_loop; + level.scr_anim["generic"]["training_humvee_soldier_idle"][0] = %training_humvee_soldier_idle; + level.scr_anim["forklift_driver"]["forklift_loop"][0] = %ie_hangar_ambience_forklift_driver_loop; + level.scr_anim["generic"]["s1_exposed_backpedal"] = %s1_exposed_backpedal; + level.scr_anim["generic"]["s1_exposed_backpedal_v2"] = %s1_exposed_backpedal_v2; + level.scr_anim["elevator_top_enemy_1"]["elevator_top_enemies"] = %ie_pent_escape_enemy1; + level.scr_anim["elevator_top_enemy_2"]["elevator_top_enemies"] = %ie_pent_escape_enemy2; + level.scr_anim["elevator_bottom_enemy_1"]["elevator_bottom_enemies"] = %ie_pent_escape_enemy3; + level.scr_anim["elevator_bottom_enemy_2"]["elevator_bottom_enemies"] = %ie_pent_escape_enemy4; + maps\_anim::addnotetrack_customfunction("cormack","helmet_open",::maps\irons_estate_code::helmet_open); + maps\_anim::addnotetrack_customfunction("cormack","helmet_close",::maps\irons_estate_code::helmet_close); +} + +//Function Number: 3 +civilian_anims() +{ + level.scr_anim["generic"]["civilian_stand_idle"][0] = %civilian_stand_idle; + level.scr_anim["generic"]["unarmed_covercrouch_hide_idle"][0] = %unarmed_covercrouch_hide_idle; + level.scr_anim["generic"]["unarmed_cowercrouch_idle"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["civilain_crouch_hide_idle_loop"][0] = %civilain_crouch_hide_idle_loop; + level.scr_anim["generic"]["unarmed_cowercrouch_idle_duck"][0] = %unarmed_cowercrouch_idle_duck; + level.scr_anim["generic"]["forklift_cower_idle"][0] = %ie_hangar_ambience_forklift_driver_alert; + level.scr_anim["generic"]["patrol_walk_cool"] = %civilian_walk_cool; + level.scr_anim["generic"]["patrol_idle_cool"] = %civilian_stand_idle; + level.scr_anim["generic"]["patrol_walk_alert"] = %civilian_run_hunched_a; + level.scr_anim["generic"]["patrol_idle_alert"] = %unarmed_cowercrouch_idle_duck; + level.scr_anim["generic"]["landing_pad_worker_cower_idle"][0] = %unarmed_cowercrouch_idle_duck; + level.scr_anim["generic"]["civilian_pool_1"][0] = %hms_greece_market_outro_idle_npc1; + level.scr_anim["generic"]["civilian_pool_2"][0] = %hms_greece_market_civ_idle_02; + level.scr_anim["generic"]["civilian_pool_3"][0] = %hms_greece_market_vendor_loop_ilana; + level.scr_anim["generic"]["civilian_pool_4"][0] = %hms_greece_market_civ_idle_04; + level.scr_anim["generic"]["civilian_poolhouse_1"][0] = %ie_frontyard_pooltable_guy_1; + level.scr_anim["generic"]["civilian_poolhouse_2"][0] = %ie_frontyard_pooltable_guy_2; + level.scr_anim["generic"]["civilian_poolhouse_3"][0] = %civilian_texting_standing; + level.scr_anim["generic"]["patrol_walk_lady_phone"] = %ie_penthouse_lady_phone_walk; + level.scr_anim["generic"]["patrol_idle_lady_phone"] = %ie_penthouse_lady_phone_idle; + level.scr_anim["generic"]["civilian_guesthouse_1"][0] = %hms_greece_trans_alley_cafe_civ_idle_03; + level.scr_anim["generic"]["civilian_guesthouse_2"][0] = %hms_greece_trans_alley_cafe_civ_idle_02; + level.scr_anim["generic"]["civilian_guesthouse_3"][0] = %hms_greece_trans_alley_cafe_civ_idle_06; + level.scr_anim["generic"]["civilian_guesthouse_1_react"] = %ie_frontyard_react_civ_03; + level.scr_anim["generic"]["civilian_guesthouse_2_react"] = %ie_frontyard_react_civ_02; + level.scr_anim["generic"]["civilian_guesthouse_3_react"] = %ie_frontyard_react_civ_06; + level.scr_anim["generic"]["patrol_walk_man_phone"] = %civilian_cellphonewalk; + level.scr_anim["generic"]["patrol_idle_man_phone"] = %ie_penthouse_lady_phone_idle; + level.scr_anim["generic"]["ie_frontyard_cellphone_transition"] = %ie_frontyard_cellphone_transition; + level.scr_anim["generic"]["civilian_drone_scan_enter_drone_scan_male"] = %ie_frontyard_drone_scan_enter_man; + level.scr_anim["generic"]["civilian_drone_scan_loop_drone_scan_male"][0] = %ie_frontyard_drone_scan_loop_man; + level.scr_anim["generic"]["civilian_drone_scan_exit_drone_scan_male"] = %ie_frontyard_drone_scan_exit_man; + level.scr_anim["generic"]["civilian_drone_scan_enter_drone_scan_female"] = %ie_frontyard_drone_scan_enter_woman; + level.scr_anim["generic"]["civilian_drone_scan_loop_drone_scan_female"][0] = %ie_frontyard_drone_scan_loop_woman; + level.scr_anim["generic"]["civilian_drone_scan_exit_drone_scan_female"] = %ie_frontyard_drone_scan_exit_woman; + level.scr_anim["generic"]["holding_hands_drone_scan_male"] = %innocent_civ_couple_walk_man; + level.scr_anim["generic"]["holding_hands_drone_scan_female"] = %innocent_civ_couple_walk_woman; + level.scr_anim["generic"]["holding_hands_walk_drone_scan_male"] = %ie_frontyard_drone_scan_walk_man; + level.scr_anim["generic"]["holding_hands_walk_drone_scan_female"] = %ie_frontyard_drone_scan_walk_woman; + level.scr_anim["generic"]["holding_hands_end_transition_drone_scan_male"] = %ie_frontyard_drone_end_man; + level.scr_anim["generic"]["holding_hands_end_transition_drone_scan_female"] = %ie_frontyard_drone_end_woman; + level.scr_anim["generic"]["holding_hands_end_drone_scan_male"][0] = %hms_greece_market_civ_idle_03; + level.scr_anim["generic"]["holding_hands_end_drone_scan_female"][0] = %hms_greece_market_civ_idle_04; + level.scr_anim["generic"]["hms_greece_market_civ_idle_01"][0] = %hms_greece_market_civ_idle_01; + level.scr_anim["generic"]["hms_greece_market_civ_idle_02"][0] = %hms_greece_market_civ_idle_02; + level.scr_anim["generic"]["hms_greece_market_shopper_idle_03"][0] = %hms_greece_market_shopper_idle_03; + level.scr_anim["generic"]["hms_greece_market_shopper_idle_08"][0] = %hms_greece_market_shopper_idle_08; + level.scr_anim["generic"]["civilian_garage_1_panel_idle"][0] = %ie_frontyard_garage_panel_idle_guy1; + level.scr_anim["generic"]["civilian_garage_2_panel_idle"][0] = %ie_frontyard_garage_panel_idle_guy2; + level.scr_anim["generic"]["civilian_garage_1_panel_to_car"] = %ie_frontyard_garage_panel_to_car_guy1; + level.scr_anim["generic"]["civilian_garage_2_panel_to_car"] = %ie_frontyard_garage_panel_to_car_guy2; + level.scr_anim["generic"]["civilian_garage_1_car_idle"][0] = %ie_frontyard_garage_inspect_car_guy1; + level.scr_anim["generic"]["civilian_garage_2_car_idle"][0] = %ie_frontyard_garage_inspect_car_guy2; + level.scr_anim["generic"]["civilian_right_side_1"][0] = %hms_greece_market_civ_idle_04; + level.scr_anim["generic"]["civilian_right_side_2"][0] = %hms_greece_market_civ_idle_02; + level.scr_anim["generic"]["civilian_right_side_3"][0] = %hms_greece_market_civ_idle_03; + level.scr_anim["generic"]["ie_frontyard_lost_civ_guy"] = %ie_frontyard_lost_civ_guy; + maps\_anim::addnotetrack_notify("generic","start_guard","start_guard","ie_frontyard_lost_civ_guy"); + level.scr_anim["generic"]["ie_frontyard_lost_civ_guard"] = %ie_frontyard_lost_civ_guard; + level.scr_anim["generic"]["running_car_driver"][0] = %civ_domestic_truck_driver_idle; + level.scr_anim["generic"]["driveway_car_1_driver"][0] = %civ_domestic_sedan_driver_idle; + level.scr_anim["generic"]["driveway_car_1_passenger"][0] = %ie_frontyard_sedan_passenger_drive_idle; + level.scr_anim["generic"]["driveway_car_1_idle_driveway_female"][0] = %ie_frontyard_car_enter_idle_woman; + level.scr_anim["generic"]["driveway_car_1_idle_driveway_male"][0] = %ie_frontyard_car_enter_idle_man; + level.scr_anim["generic"]["driveway_car_1_enter_driveway_female"] = %ie_frontyard_car_enter_woman; + level.scr_anim["generic"]["driveway_car_1_enter_driveway_male"] = %ie_frontyard_car_enter_man; + level.scr_anim["generic"]["driveway_car_1_enter_guard"] = %ie_frontyard_car_enter_guard; + level.scr_anim["generic"]["driveway_car_2_driver"][0] = %civ_domestic_truck_driver_idle; +} + +//Function Number: 4 +player_anims() +{ + level.scr_animtree["player_rig"] = #animtree; + level.scr_model["player_rig"] = "viewbody_sentinel_udt_mitchell_grapple"; + level.scr_anim["player_rig"]["briefing_start"] = %ie_briefing_start_player; + level.scr_anim["player_rig"]["tutorial_idle_first_frame_only"] = %ie_stealth_meter_idle_player; + level.scr_anim["player_rig"]["tutorial_idle"][0] = %ie_stealth_meter_idle_player; + level.scr_anim["player_rig"]["tutorial_exit"] = %ie_stealth_meter_exit_player; + level.scr_anim["player_rig"]["plant_emp"] = %ie_sec_center_enter_player; + level.scr_anim["player_rig"]["handprint"] = %ie_sec_center_handprint_player; + level.scr_anim["player_rig"]["security_center_exit"] = %ie_sec_center_exit_player; + level.scr_anim["player_rig"]["pent_desk"] = %ie_pent_desk_player; + level.scr_anim["player_rig"]["pent_escape"] = %ie_pent_escape_player; + level.scr_anim["player_rig"]["capture"] = %ie_pent_capture_player; + level.scr_anim["player_rig"]["pent_desk_finish_player"] = %ie_pent_desk_finish_player; + level.scr_anim["player_rig"]["guardhouse_enter"] = %ie_guardhouse_enter_player; + level.scr_anim["player_rig"]["guardhouse_reenter"] = %ie_guardhouse_aim_player_enter; + level.scr_anim["player_rig"]["guardhouse_idle"][0] = %ie_guardhouse_aim_player_loop; + level.scr_anim["player_rig"]["guardhouse_exit"] = %ie_guardhouse_aim_player_exit; + level.scr_anim["player_rig"]["guardhouse_shoot"] = %ie_guardhouse_shoot_player; + level.scr_anim["player_rig"]["exfil"] = %ie_exfil_player; + level.scr_anim["player_rig"]["exfil_impact"] = %ie_exfil_player_impact; + level.scr_anim["player_rig"]["exfil_recovery"] = %ie_exfil_player_recovery; + level.scr_anim["player_rig"]["car_ride_enter"] = %ie_car_ride_enter_player; + level.scr_anim["player_rig"]["car_ride_idle"][0] = %ie_car_ride_enter_player_idle; + level.scr_anim["player_rig"]["car_ride_driving"] = %ie_car_ride_driving_player; + level.scr_anim["player_rig"]["hangar"] = %ie_hangar_player; + level.scr_anim["player_rig"]["human_shield_idle"][0] = %ie_pent_hostage_idle_player; + level.scr_anim["player_rig"]["human_shield_run"][0] = %ie_pent_hostage_walk_player; + level.scr_anim["player_rig"]["atrium_door_enter"] = %ie_backyard_door_player; + level.scr_anim["player_rig"]["atrium_rappel"] = %ie_backyard_dropdown_player; +} + +//Function Number: 5 +ally_anims() +{ + level.scr_anim["cormack"]["crouched_talking"][0] = %casual_crouch_v2_talk; + level.scr_anim["cormack"]["dive"] = %stand_2_prone; + level.scr_anim["cormack"]["jump_down"] = %traverse_jumpdown_130; + level.scr_anim["cormack"]["exfil_enter"] = %ie_exfil_stairs_enter_cormack; + level.scr_anim["cormack"]["exfil_enter_end_1"] = %ie_exfil_stairs_top1_cormack; + level.scr_anim["cormack"]["exfil_enter_end_2"] = %ie_exfil_stairs_top2_cormack; + level.scr_anim["cormack"]["exfil"] = %ie_exfil_cormack; + level.scr_anim["exfil_ally1"]["exfil"] = %ie_exfil_ally1; + level.scr_anim["exfil_ally2"]["exfil"] = %ie_exfil_ally2; + level.scr_anim["cormack"]["car_ride_enter"] = %ie_car_ride_enter_cormack; + level.scr_anim["cormack"]["car_ride_enter_idle"][0] = %ie_car_ride_enter_cormack_idle; + level.scr_anim["cormack"]["car_ride_driving"] = %ie_car_ride_driving_cormack; +} + +//Function Number: 6 +animated_prop_anims() +{ + level.scr_animtree["generic_prop_raven"] = #animtree; + level.scr_model["generic_prop_raven"] = "generic_prop_raven"; + level.scr_anim["generic_prop_raven"]["atrium_door_enter"] = %ie_backyard_door_jprop_laser; + level.scr_anim["generic_prop_raven"]["atrium_dropdown_balcony"] = %ie_backyard_dropdown_jprop_laser; + level.scr_animtree["guardhouse_player_window_prop"] = #animtree; + level.scr_model["guardhouse_player_window_prop"] = "generic_prop_raven"; + level.scr_animtree["guardhouse_cormack_window_prop"] = #animtree; + level.scr_model["guardhouse_cormack_window_prop"] = "generic_prop_raven"; + level.scr_anim["guardhouse_player_window_prop"]["guardhouse_enter"] = %ie_guardhouse_enter_prop_window1; + level.scr_anim["guardhouse_cormack_window_prop"]["guardhouse_enter"] = %ie_guardhouse_enter_prop_window2; + level.scr_animtree["guardhouse_cormack_chair_prop"] = #animtree; + level.scr_model["guardhouse_cormack_chair_prop"] = "generic_prop_raven"; + level.scr_anim["guardhouse_cormack_chair_prop"]["guardhouse_shoot_chair"] = %ie_guardhouse_shoot_prop_chair2; + level.scr_animtree["palm_tree_01"] = #animtree; + level.scr_model["palm_tree_01"] = "foliage_fan_palm_tree_01_anim"; + level.scr_anim["palm_tree_01"]["palm_tree_01"][0] = %ie_palm_wind_gust_med_01; + level.scr_animtree["palm_tree_02"] = #animtree; + level.scr_model["palm_tree_02"] = "foliage_fan_palm_tree_02_anim"; + level.scr_anim["palm_tree_02"]["palm_tree_02"][0] = %ie_palm_wind_gust_med_02; + level.scr_animtree["palm_tree_03"] = #animtree; + level.scr_model["palm_tree_03"] = "foliage_fan_palm_tree_02_anim"; + level.scr_anim["palm_tree_03"]["palm_tree_03"][0] = %ie_palm_wind_gust_med_03; + level.scr_animtree["intro_drone"] = #animtree; + level.scr_model["intro_drone"] = "base_drone_security_01"; + level.scr_anim["intro_drone"]["ie_intro_drone_scan"] = %ie_intro_drone_scan; + level.scr_animtree["intro_drone_1"] = #animtree; + level.scr_model["intro_drone_1"] = "base_drone_security_01"; + level.scr_anim["intro_drone_1"]["ie_intro_drone_scan"] = %ie_intro_drone_back_scan_1; + level.scr_animtree["intro_drone_2"] = #animtree; + level.scr_model["intro_drone_2"] = "base_drone_security_01"; + level.scr_anim["intro_drone_2"]["ie_intro_drone_scan"] = %ie_intro_drone_back_scan_2; + level.scr_animtree["tutorial_overlook_door_prop"] = #animtree; + level.scr_model["tutorial_overlook_door_prop"] = "generic_prop_raven"; + level.scr_anim["tutorial_overlook_door_prop"]["ie_stealth_meter_door"] = %ie_stealth_meter_door; + level.scr_animtree["emp"] = #animtree; + level.scr_model["emp"] = "mutecharge"; + level.scr_anim["emp"]["plant_emp"] = %ie_sec_center_enter_emp; + level.scr_animtree["hatch_door_middle"] = #animtree; + level.scr_model["hatch_door_middle"] = "base_door_hatch_on_anim"; + level.scr_anim["hatch_door_middle"]["plant_emp"] = %ie_sec_center_enter_hatch; + level.scr_anim["hatch_door_middle"]["hatch_close"] = %ie_sec_center_exit_hatch; + level.scr_animtree["hatch_door_left"] = #animtree; + level.scr_model["hatch_door_left"] = "base_door_hatch_on_anim"; + level.scr_anim["hatch_door_left"]["hatch_left_open"] = %ie_sec_center_open_hatch; + level.scr_anim["hatch_door_left"]["hatch_left_close"] = %ie_sec_center_exit_hatch; + level.scr_animtree["drone_scan_prop"] = #animtree; + level.scr_model["drone_scan_prop"] = "generic_prop_raven"; + level.scr_anim["drone_scan_prop"]["drone_scan_enter_door"] = %ie_frontyard_drone_scan_enter_door; + level.scr_animtree["lost_civilian_prop"] = #animtree; + level.scr_model["lost_civilian_prop"] = "generic_prop_raven"; + level.scr_anim["lost_civilian_prop"]["ie_frontyard_lost_civ_door"] = %ie_frontyard_lost_civ_door; + level.scr_animtree["vtol"] = #animtree; + level.scr_model["vtol"] = "atlas_vtol_cargo_plane_ext_ai"; + level.scr_anim["vtol"]["exfil"] = %ie_exfil_vtol; + level.scr_anim["vtol"]["cormack_stealth_takedown"] = %ie_flyover_vtol_enter; + level.scr_anim["vtol"]["flyover_idle"][0] = %ie_flyover_vtol_idle; + level.scr_animtree["gaz"] = #animtree; + level.scr_model["gaz"] = "mil_gaz_chassis_vm"; + level.scr_anim["gaz"]["car_ride_intro"] = %ie_guardhouse_gaz; + level.scr_anim["gaz"]["car_ride_enter"] = %ie_car_ride_enter_gaz; + level.scr_anim["gaz"]["car_ride_driving"] = %ie_car_ride_driving_gaz; + level.scr_anim["gaz"]["hangar"][0] = %ie_hangar_gaz; + level.scr_animtree["gaz2"] = #animtree; + level.scr_model["gaz2"] = "civ_humvee_ai"; + level.scr_anim["gaz2"]["car_ride_intro"] = %ie_guardhouse_gaz2; + level.scr_anim["gaz2"]["car_ride_enter"] = %ie_car_ride_enter_gaz2; + level.scr_anim["gaz2"]["car_ride_driving"] = %ie_car_ride_driving_gaz2; + level.scr_anim["gaz2"]["hangar"][0] = %ie_hangar_gaz2; + level.scr_anim["generic_prop_raven"]["capture"] = %ie_pent_capture_exit_door; + level.scr_anim["generic_prop_raven"]["capture_exit"] = %ie_pent_capture_exit_door; + level.scr_anim["generic_prop_raven"]["capture_fail"] = %ie_pent_capture_fail_door; + level.scr_anim["generic_prop_raven"]["pent_search"] = %ie_pent_search_door; + level.scr_anim["generic_prop_raven"]["ambush"] = %ie_pent_ambush_door; + level.scr_anim["generic_prop_raven"]["pent_escape"] = %ie_pent_escape_prop_elevator_doors_jprop; + level.scr_anim["generic_prop_raven"]["hangar"] = %ie_hangar_prop_elevator_jprop; + level.scr_animtree["cargo_crate"] = #animtree; + level.scr_model["cargo_crate"] = "atlas_stabilize_crate"; + level.scr_anim["cargo_crate"]["hangar"] = %ie_hangar_prop_crate; + level.scr_animtree["tracking_device"] = #animtree; + level.scr_model["tracking_device"] = "tracking_device"; + level.scr_anim["tracking_device"]["tracking_device_plant"] = %ie_exfil_prop_tracker; + level.scr_anim["generic_prop_raven"]["exfil_breathers"] = %ie_exfil_prop_breather_jprop; + level.scr_animtree["generic_prop_raven_x3"] = #animtree; + level.scr_model["generic_prop_raven_x3"] = "generic_prop_raven_x3"; + level.scr_anim["generic_prop_raven_x3"]["guardhouse_shoot"] = %ie_guardhouse_shoot_prop_chair1; + level.scr_anim["generic_prop_raven_x3"]["elevator_top_enemies"] = %ie_pent_escape_prop_upper_doors_jprop; + level.scr_anim["generic_prop_raven_x3"]["elevator_bottom_enemies"] = %ie_pent_escape_prop_lower_doors_jprop; + level.scr_anim["generic_prop_raven_x3"]["forklift_loop"][0] = %ie_hangar_ambience_doors_jprop_loop; + level.scr_anim["generic_prop_raven"]["forklift_loop"][0] = %ie_hangar_ambience_crate_loop; + level.scr_animtree["genericprop_x5"] = #animtree; + level.scr_model["genericprop_x5"] = "genericprop_x5"; + level.scr_anim["genericprop_x5"]["hangar"] = %ie_hangar_prop_crate_jprop; + level.scr_anim["genericprop_x5"]["exfil"] = %ie_exfil_prop_spotlights_jprop; + level.scr_anim["genericprop_x5"]["pent_enter"] = %ie_pent_enter_prop_doors_chair_jprop; + level.scr_animtree["forklift"] = #animtree; + level.scr_model["forklift"] = "vehicle_ind_personal_forklift_ai"; + level.scr_anim["forklift"]["forklift_loop"][0] = %ie_hangar_ambience_forklift_loop; + level.scr_animtree["ie_door"] = #animtree; + level.scr_model["ie_door"] = "door_single_01_estate_anim"; + level.scr_anim["ie_door"]["car_ride_enter"] = %ie_car_ride_enter_prop_door; + level.scr_anim["ie_door"]["atrium_door_enter"] = %ie_backyard_door_door; + level.scr_anim["ie_door"]["pent_enter"] = %ie_backyard_meet_cormack_prop_door; + level.scr_animtree["lower_stairwell_door"] = #animtree; + level.scr_model["lower_stairwell_door"] = "door_single_right_01_estate_anim"; + level.scr_anim["lower_stairwell_door"]["lower_stairwell_door"] = %ie_exfil_stairs_door_lower; + level.scr_animtree["upper_stairwell_door_left"] = #animtree; + level.scr_model["upper_stairwell_door_left"] = "door_single_right_01_estate_anim"; + level.scr_anim["upper_stairwell_door_left"]["upper_stairwell_doors"] = %ie_exfil_stairs_door_upper_l; + level.scr_animtree["upper_stairwell_door_right"] = #animtree; + level.scr_model["upper_stairwell_door_right"] = "door_single_01_estate_anim"; + level.scr_anim["upper_stairwell_door_right"]["upper_stairwell_doors"] = %ie_exfil_stairs_door_upper_r; + level.scr_animtree["base_grapple_scale_rope"] = #animtree; + level.scr_model["base_grapple_scale_rope"] = "base_grapple_scale_rope"; + level.scr_anim["base_grapple_scale_rope"]["guardhouse_shoot"] = %ie_guardhouse_shoot_prop_rope; + level.scr_anim["base_grapple_scale_rope"]["pent_enter"] = %ie_pent_enter_prop_rope; +} + +//Function Number: 7 +vehicle_anims() +{ + level.scr_animtree["sedan"] = #animtree; + level.scr_anim["sedan"]["driveway_car_1_enter"] = %ie_frontyard_car_enter_sedan; +} + +//Function Number: 8 +script_model_anims() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/irons_estate_aud.gsc b/AW/PC/maps/irons_estate_aud.gsc new file mode 100644 index 0000000..771a92a --- /dev/null +++ b/AW/PC/maps/irons_estate_aud.gsc @@ -0,0 +1,1985 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: irons_estate_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 118 + * Decompile Time: 1631 ms + * Timestamp: 4/22/2024 2:31:43 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + config_system(); + init_snd_flags(); + init_globals(); + global_mix(); + launch_threads(); + launch_loops(); + create_level_envelop_arrays(); + init_level_arrays(); + precache_presets(); + register_snd_messages(); +} + +//Function Number: 2 +config_system() +{ + soundscripts\_audio::set_stringtable_mapname("shg"); + soundscripts\_snd_filters::snd_set_occlusion("med_occlusion"); + soundscripts\_snd_timescale::snd_set_timescale("irons_timescale_override"); +} + +//Function Number: 3 +init_snd_flags() +{ + common_scripts\utility::flag_init("cliff_rock_debris"); + common_scripts\utility::flag_init("aud_falls_bottom"); + common_scripts\utility::flag_init("aud_foliage_1"); + common_scripts\utility::flag_init("aud_foliage_2"); + common_scripts\utility::flag_init("aud_foliage_3"); + common_scripts\utility::flag_init("aud_falls_top"); + common_scripts\utility::flag_init("aud_pool_area_begin_stealth_music"); + common_scripts\utility::flag_init("aud_stop_server_alarm"); + common_scripts\utility::flag_init("aud_approaching_poolhouse"); + common_scripts\utility::flag_init("aud_reached_penthouse"); + common_scripts\utility::flag_init("aud_player_on_penthouse_balcony"); + common_scripts\utility::flag_init("aud_woman_spots_player"); + common_scripts\utility::flag_init("aud_vtol_fadeout_approach_loop"); + common_scripts\utility::flag_init("aud_start_hangar"); + common_scripts\utility::flag_init("aud_rooftop_wind_1"); + common_scripts\utility::flag_init("aud_rooftop_wind_2"); + common_scripts\utility::flag_init("aud_rooftop_wind_3"); + common_scripts\utility::flag_init("aud_human_activity_area_1"); + common_scripts\utility::flag_init("aud_human_activity_area_2"); + common_scripts\utility::flag_init("aud_human_activity_area_3"); + common_scripts\utility::flag_init("aud_tick"); + common_scripts\utility::flag_init("aud_grapple_kill_foliage_movement"); + common_scripts\utility::flag_init("aud_speedrun_rappel"); +} + +//Function Number: 4 +init_globals() +{ + level.aud_mus_boost = 0; + level.aud_music_state = 0; + level.aud_old_music_state = 0; + level.aud_ironsstealth = 0; + level.aud_stealth_broken_timer = 721; + level.aud_insect_sound = 0; + level.aud_last_time = 0; + level.aud_drone_investigating = 0; + level.aud_vtol_passed = 0; + level.aud_lowstealth = 1; + level.aud_drone_attack = 0; +} + +//Function Number: 5 +global_mix() +{ + soundscripts\_audio_mix_manager::mm_add_submix("irons_mute_mw3_sounds"); +} + +//Function Number: 6 +launch_threads() +{ + if(soundscripts\_audio::aud_is_specops()) + { + return; + } + + thread aud_grapple_monitor(); + thread soundscripts\_audio_mix_manager::mm_add_submix("master_mix"); +} + +//Function Number: 7 +launch_loops() +{ + soundscripts\_snd_playsound::snd_play_loop_at("irons_dam_waterfall_near_quiet_01",(-8481,-8070,-2802),undefined,5); + soundscripts\_snd_playsound::snd_play_loop_at("irons_dam_waterfall_near_quiet_04",(-8793,-7845,-2771),undefined,5); + thread soundscripts\_audio::aud_play_line_emitter("falls_lapping_irons_01","irons_falls_water_lapping_01",(-8811,-8008,-2769),(-8522,-8123,-2769)); + thread soundscripts\_audio::aud_play_line_emitter("falls_splats_irons_01","irons_falls_cascade_large",(-9440,-5424,-1228),(-9488,-6130,-1383),5); + thread soundscripts\_audio::aud_play_line_emitter("falls_irons_01","irons_dam_waterfall_01",(-8155,-6382,-2189),(-8228,-6364,-3704)); + thread soundscripts\_audio::aud_play_line_emitter("falls_irons_02","irons_dam_waterfall_02",(-7392,-6523,-2119),(-7186,-6620,-3613)); + thread soundscripts\_audio::aud_play_line_emitter("falls_irons_03","irons_dam_waterfall_03",(-7772,-5301,-112),(-8036,-5739,-1255)); + thread soundscripts\_audio::aud_play_line_emitter("falls_irons_04","irons_dam_waterfall_04",(-9112,-5659,-1733),(-9053,-5899,-2573)); + thread soundscripts\_audio::aud_play_line_emitter("falls_irons_01","irons_dam_waterfall_01",(-9275,-4975,-252),(-9237,-5258,-1687)); + thread soundscripts\_audio::aud_play_line_emitter("falls_lapping_irons_02","irons_falls_water_lapping_01",(-7503,-5399,-30),(-7164,-1554,-30)); + common_scripts\utility::loop_fx_sound("irons_palm_wind_01",(-8485,-4780,632),1); + common_scripts\utility::loop_fx_sound("irons_palm_wind_02",(-6958,-1803,568),1); + common_scripts\utility::loop_fx_sound("irons_palm_wind_03",(-6460,-2137,512),1); + common_scripts\utility::loop_fx_sound("irons_palm_wind_04",(-6738,-4146,441),1); + common_scripts\utility::loop_fx_sound("irons_palm_wind_05",(-5616,-2513,607),1); + common_scripts\utility::loop_fx_sound("irons_palm_wind_01",(-5421,-3366,717),1); + common_scripts\utility::loop_fx_sound("irons_palm_wind_02",(-5310,-2191,717),1); + common_scripts\utility::loop_fx_sound("irons_palm_wind_03",(-4743,-2412,717),1); + common_scripts\utility::loop_fx_sound("irons_palm_wind_04",(-5242,-4221,717),1); + common_scripts\utility::loop_fx_sound("irons_palm_wind_05",(-3786,-2744,557),1); + common_scripts\utility::loop_fx_sound("irons_palm_wind_01",(-1008,-2079,915),1); + common_scripts\utility::loop_fx_sound("irons_palm_wind_02",(-768,-2924,1009),1); + common_scripts\utility::loop_fx_sound("irons_palm_wind_03",(-2890,-2791,628),1); + common_scripts\utility::loop_fx_sound("irons_palm_wind_04",(-2836,-3672,628),1); + common_scripts\utility::loop_fx_sound("irons_palm_wind_05",(-3734,-3639,628),1); + common_scripts\utility::loop_fx_sound("irons_palm_wind_01",(-4776,-4860,628),1); + common_scripts\utility::loop_fx_sound("irons_palm_wind_02",(-6729,-4467,419),1); + common_scripts\utility::loop_fx_sound("irons_palm_wind_03",(-6974,-4038,419),1); + common_scripts\utility::loop_fx_sound("irons_palm_wind_04",(-5868,-989,652),1); + common_scripts\utility::loop_fx_sound("irons_palm_wind_05",(-5960,-1940,652),1); + thread aud_human_activity_streams(); + common_scripts\utility::loop_fx_sound("irons_hangar_surv_vent",(4804,-1658,783),1); +} + +//Function Number: 8 +create_level_envelop_arrays() +{ + level.aud.envs = []; + level.aud.envs["example_envelop"] = [[0,0],[0.082,0.426],[0.238,0.736],[0.408,0.844],[0.756,0.953],[1,1]]; + level.aud.envs["snipe_report_volume"] = [[700,0.6],[900,0.7],[1150,0.8],[1350,0.9],[1600,1]]; + level.aud.envs["snipe_report_delay"] = [[750,0],[900,0],[1200,0.1],[1600,0.2],[1800,0.3]]; + level.aud.envs["player_speed_to_music_vol"] = [[0,0],[10,1]]; + level.aud.envs["dog_bark_percentage"] = [[0,0],[0.5,0],[17,100]]; + level.aud.envs["aud_mute_device_falloff"] = [[0,1],[0.1,0.9],[0.2,0.88],[0.3,0.85],[0.4,0.82],[0.5,0.8],[0.6,0.65],[0.7,0.5],[0.8,0.35],[0.9,0.15],[1,0]]; +} + +//Function Number: 9 +init_level_arrays() +{ + level.aud.sniper = []; + level.aud.sniper["surfaces"] = ["dirt","wood","water"]; +} + +//Function Number: 10 +precache_presets() +{ +} + +//Function Number: 11 +register_snd_messages() +{ + soundscripts\_snd::snd_register_message("snd_zone_handler",::zone_handler); + soundscripts\_snd::snd_register_message("snd_music_handler",::music_handler); + soundscripts\_snd::snd_register_message("start_briefing",::start_briefing); + soundscripts\_snd::snd_register_message("start_intro",::start_intro); + soundscripts\_snd::snd_register_message("start_grapple",::start_grapple); + soundscripts\_snd::snd_register_message("start_jump_grapple",::start_jump_grapple); + soundscripts\_snd::snd_register_message("start_recon",::start_recon); + soundscripts\_snd::snd_register_message("start_infil",::start_infil); + soundscripts\_snd::snd_register_message("start_security_center",::start_security_center); + soundscripts\_snd::snd_register_message("start_hack_security",::start_hack_security); + soundscripts\_snd::snd_register_message("start_penthouse",::start_penthouse); + soundscripts\_snd::snd_register_message("start_bedroom",::start_bedroom); + soundscripts\_snd::snd_register_message("start_intel",::start_intel); + soundscripts\_snd::snd_register_message("start_meet_cormack_pt2",::start_meet_cormack_pt2); + soundscripts\_snd::snd_register_message("start_track_irons",::start_track_irons); + soundscripts\_snd::snd_register_message("start_plant_tracker",::start_plant_tracker); + soundscripts\_snd::snd_register_message("aud_briefing",::aud_briefing); + soundscripts\_snd::snd_register_message("aud_cave_ambience",::aud_cave_ambience); + soundscripts\_snd::snd_register_message("aud_patching_in_foley",::aud_patching_in_foley); + soundscripts\_snd::snd_register_message("aud_intro_foley",::aud_intro_foley); + soundscripts\_snd::snd_register_message("aud_ready_hooks",::aud_ready_hooks); + soundscripts\_snd::snd_register_message("aud_waterfall_ambience",::aud_waterfall_ambience); + soundscripts\_snd::snd_register_message("aud_falls_climbing",::aud_falls_climbing); + soundscripts\_snd::snd_register_message("aud_grapple_land",::aud_grapple_land_debris); + soundscripts\_snd::snd_register_message("aud_recon_foley",::aud_recon_foley); + soundscripts\_snd::snd_register_message("aud_grapple_infil",::aud_grapple_infil); + soundscripts\_snd::snd_register_message("aud_estate_grounds_emitters",::aud_estate_grounds_emitters); + soundscripts\_snd::snd_register_message("aud_approaching_poolhouse",::aud_approaching_poolhouse); + soundscripts\_snd::snd_register_message("aud_security_plant_emp",::aud_security_plant_emp); + soundscripts\_snd::snd_register_message("aud_security_vent",::aud_security_vent); + soundscripts\_snd::snd_register_message("aud_security_prints",::aud_security_prints); + soundscripts\_snd::snd_register_message("aud_security_welcome",::aud_security_welcome); + soundscripts\_snd::snd_register_message("aud_security_main_screen",::aud_security_main_screen); + soundscripts\_snd::snd_register_message("aud_security_reboot",::aud_security_reboot); + soundscripts\_snd::snd_register_message("aud_security_center_drones_on",::aud_security_center_drones_on); + soundscripts\_snd::snd_register_message("aud_security_countdown",::aud_security_countdown); + soundscripts\_snd::snd_register_message("aud_security_hatch_exit",::aud_security_hatch_exit); + soundscripts\_snd::snd_register_message("aud_vtol_land",::aud_vtol_land); + soundscripts\_snd::snd_register_message("aud_garage_lift",::aud_garage_lift); + soundscripts\_snd::snd_register_message("aud_tennis_court_wakeup",::aud_tennis_court_wakeup); + soundscripts\_snd::snd_register_message("aud_penthouse_front_door",::aud_penthouse_front_door); + soundscripts\_snd::snd_register_message("aud_cormack_grapple_kill",::aud_cormack_grapple_kill); + soundscripts\_snd::snd_register_message("aud_intel",::aud_intel); + soundscripts\_snd::snd_register_message("aud_lockdown_alarm",::aud_lockdown_alarm); + soundscripts\_snd::snd_register_message("aud_reinforcements_door1",::aud_reinforcements_door1); + soundscripts\_snd::snd_register_message("aud_reinforcements_door2",::aud_reinforcements_door2); + soundscripts\_snd::snd_register_message("aud_trucks_arrive",::aud_trucks_arrive); + soundscripts\_snd::snd_register_message("aud_vehicle_ride_data",::aud_vehicle_ride_data); + soundscripts\_snd::snd_register_message("aud_estate_living_ambience",::aud_estate_living_ambience); + soundscripts\_snd::snd_register_message("aud_estate_security_ambience",::aud_estate_security_ambience); + soundscripts\_snd::snd_register_message("aud_conduit_smash",::aud_conduit_smash); + soundscripts\_snd::snd_register_message("aud_tire_splash",::aud_tire_splash); + soundscripts\_snd::snd_register_message("aud_hangar_car_door_exit",::aud_hangar_car_door_exit); + soundscripts\_snd::snd_register_message("aud_monitor_irons",::aud_monitor_irons); + soundscripts\_snd::snd_register_message("aud_exfil_vtol_start",::aud_exfil_vtol_start); + soundscripts\_snd::snd_register_message("aud_exfil_door_1",::aud_exfil_door_1); + soundscripts\_snd::snd_register_message("aud_exfil_door_2a",::aud_exfil_door_2a); + soundscripts\_snd::snd_register_message("aud_exfil_door_2b",::aud_exfil_door_2b); + soundscripts\_snd::snd_register_message("aud_exfil_vtol_ascend",::aud_exfil_vtol_ascend); + soundscripts\_snd::snd_register_message("aud_exfil_vtol_grapple",::aud_exfil_vtol_grapple); + soundscripts\_snd::snd_register_message("aud_grapple_kill_foliage",::aud_grapple_kill_foliage); + soundscripts\_snd::snd_register_message("aud_grapple_from_foliage",::aud_grapple_from_foliage); + soundscripts\_snd::snd_register_message("aud_stealth_melee",::aud_stealth_melee); + soundscripts\_snd::snd_register_message("aud_panic_walla",::aud_panic_walla); +} + +//Function Number: 12 +zone_handler(param_00,param_01) +{ + var_02 = ""; + var_03 = ""; + if(getsubstr(param_00,0,6) == "enter_") + { + var_02 = param_01; + } + else if(getsubstr(param_00,0,5) == "exit_") + { + var_03 = param_01; + } + + switch(param_00) + { + case "enter_irons_int_poolhouse": + if(var_02 == "irons_ext_grounds_quiet") + { + thread aud_poolhouse_ambience(); + } + break; + + case "exit_irons_int_poolhouse": + if(var_03 == "irons_ext_grounds_quiet") + { + level notify("aud_stop_poolhouse_ambience"); + } + break; + + case "enter_irons_int_guesthouse_living": + if(var_02 == "irons_ext_grounds_quiet") + { + thread aud_estate_living_ambience(); + if(level.aud_music_state == 1) + { + soundscripts\_audio_mix_manager::mm_add_submix("irons_music_mute"); + } + } + break; + + case "exit_irons_int_guesthouse_living": + if(var_03 == "irons_ext_grounds_quiet") + { + level notify("aud_stop_estate_living_ambience"); + soundscripts\_audio_mix_manager::mm_clear_submix("irons_music_mute"); + } + break; + + case "enter_irons_int_guesthouse_bedroom": + if(var_02 == "irons_ext_grounds_quiet") + { + thread aud_estate_living_ambience(); + level notify("aud_stop_ext_grounds_ambience"); + } + break; + + case "exit_irons_int_guesthouse_bedroom": + if(var_03 == "irons_ext_grounds_quiet") + { + thread aud_estate_grounds_ambience(); + level notify("aud_stop_estate_living_ambience"); + } + break; + + case "enter_irons_int_security_center_entrance": + if(var_02 == "irons_ext_grounds_quiet") + { + thread aud_estate_security_ambience(); + } + break; + + case "exit_irons_int_security_center_entrance": + if(var_03 == "irons_ext_grounds_quiet") + { + level notify("aud_stop_security_ambience"); + } + break; + + case "enter_irons_int_security_center_main": + if(var_02 == "irons_ext_grounds_quiet") + { + thread aud_estate_security_ambience(); + } + break; + + case "exit_irons_int_security_center_main": + if(var_03 == "irons_ext_grounds_quiet") + { + level notify("aud_stop_security_ambience"); + } + break; + + case "enter_irons_int_garage": + if(var_02 == "irons_ext_grounds_quiet") + { + thread aud_estate_living_ambience(); + if(level.aud_music_state == 1) + { + soundscripts\_audio_mix_manager::mm_add_submix("irons_music_mute"); + } + } + break; + + case "exit_irons_int_garage": + if(var_03 == "irons_ext_grounds_quiet") + { + level notify("aud_stop_estate_living_ambience"); + soundscripts\_audio_mix_manager::mm_clear_submix("irons_music_mute"); + } + break; + + case "enter_irons_int_hangar": + if(var_02 == "irons_ext_grounds_quiet") + { + thread aud_hangar_ambience(); + } + break; + + case "exit_irons_int_hangar": + if(var_03 == "irons_ext_grounds_quiet") + { + level notify("aud_stop_hangar_ambience"); + } + break; + + case "enter_irons_int_penthouse_living": + if(var_02 == "irons_ext_grounds_quiet") + { + thread aud_estate_living_ambience(); + } + break; + + case "exit_irons_int_penthouse_living": + if(var_03 == "irons_ext_grounds_quiet") + { + level notify("aud_stop_estate_living_ambience"); + } + break; + + case "enter_irons_int_greenhouse": + if(var_02 == "irons_ext_grounds_quiet") + { + thread aud_estate_living_ambience(); + } + break; + + case "exit_irons_int_greenhouse": + if(var_03 == "irons_ext_grounds_quiet") + { + level notify("aud_stop_estate_living_ambience"); + } + break; + + case "enter_irons_int_guard_station": + if(var_02 == "irons_ext_grounds_quiet") + { + thread aud_guard_station_ambience(); + } + else if(var_02 == "irons_int_guard_station_corridor") + { + thread aud_guard_station_ambience(); + } + + break; + + case "exit_irons_int_guard_station": + if(var_03 == "irons_ext_grounds_quiet") + { + level notify("aud_stop_guard_station_ambience"); + } + else if(var_03 == "irons_int_guard_station_corridor") + { + level notify("aud_stop_guard_station_ambience"); + } + break; + } +} + +//Function Number: 13 +music(param_00,param_01) +{ + thread music_handler(param_00,param_01); +} + +//Function Number: 14 +music_handler(param_00,param_01) +{ + level notify("exit_music_thread"); + level endon("exit_music_thread"); + switch(param_00) + { + case "mus_briefing": + soundscripts\_snd_playsound::snd_play_delayed_2d("mus_irons_briefing_lowdrum",0.3); + wait(4); + soundscripts\_snd_playsound::snd_play_loop_2d("mus_irons_briefing","stop_briefing_music",undefined,5); + level.allies[0] waittillmatch("fade_start","single anim"); + level notify("stop_briefing_music"); + break; + + case "mus_intro": + wait(0.2); + soundscripts\_snd_playsound::snd_play_loop_2d("mus_irons_intro","stop_intro_music",0,14); + break; + + case "mus_grapple": + break; + + case "mus_recon": + wait(1); + level notify("stop_intro_music"); + break; + + case "mus_infil": + break; + + case "mus_security_center": + break; + + case "mus_hack_security": + break; + + case "mus_penthouse": + level notify("end_stealth_music_control"); + level.aud_mus_boost = 3; + thread stealth_music_control_p2(); + break; + + case "mus_bedroom": + soundscripts\_snd_playsound::snd_play_loop_2d("mus_irons_enter_penthouse","stop_penthouse_entrance_music",5,6); + level notify("end_stealth_music_control"); + level.aud_music_state = 0; + level.aud_old_music_state = 0; + level.aud_mus_boost = 0; + break; + + case "mus_lockdown": + soundscripts\_audio_music::mus_play("mus_irons_exit_penthouse",0); + break; + + case "mus_identify_irons": + break; + + case "mus_meet_cormack_pt2": + break; + + case "mus_track_irons": + break; + + case "mus_plant_tracker": + break; + + default: + if(getdvarint("snd_validate_music_messages")) + { + } + break; + } +} + +//Function Number: 15 +mus_submixer(param_00,param_01) +{ + param_00 = soundscripts\_audio::aud_get_optional_param("on",param_00); + param_01 = soundscripts\_audio::aud_get_optional_param(1,param_01); + if(param_00 == "off") + { + level notify("kill_mus_submixer"); + return; + } + + thread mus_submixer_thread(param_01); +} + +//Function Number: 16 +mus_submixer_thread(param_00) +{ + level notify("kill_mus_submixer"); + level endon("kill_mus_submixer"); + var_01 = 0.25; + var_02 = 0.1; + var_03 = 0.02; + var_04 = 0; + var_05 = 17.6; + var_06 = 10; + for(;;) + { + var_07 = level.player getnormalizedcameramovements()[0]; + var_08 = level.player getnormalizedcameramovements()[1]; + var_09 = abs(var_07) + abs(var_08); + var_0A = length(level.player getvelocity()) / var_05 / 2; + if(level.player adsbuttonpressed()) + { + var_0A = var_0A + 3; + } + + if(level.player buttonpressed("BUTTON_B")) + { + var_0A = var_0A + 4; + } + + if(level.player buttonpressed("BUTTON_Y")) + { + var_0A = var_0A + 4; + } + + if(level.player buttonpressed("BUTTON_RTRIG")) + { + var_0A = var_0A + 10; + } + + if(level.player buttonpressed("DPAD_UP")) + { + var_0A = var_0A + 4; + } + + if(var_09 > 0.1) + { + var_0A = var_0A + 3; + } + + if(isdefined(level.player.tagging) && isdefined(level.player.tagging["camera"])) + { + var_0A = var_0A + 6; + } + + var_0A = var_0A + level.aud_mus_boost; + if(var_0A > var_04) + { + var_0B = var_02; + } + else + { + var_0B = var_03; + } + + var_04 = var_04 + var_0B * var_0A - var_04; + var_0C = piecewiselinearlookup(var_04,level.aud.envs["player_speed_to_music_vol"]); + soundscripts\_audio::aud_set_music_submix(var_0C * param_00,var_01); + wait(0.25); + } +} + +//Function Number: 17 +start_briefing() +{ +} + +//Function Number: 18 +start_intro() +{ + soundscripts\_audio_mix_manager::mm_add_submix("irons_falls_fade_in"); + soundscripts\_audio_mix_manager::mm_add_submix("irons_mute_teleport"); + thread aud_cave_ambience(); + thread aud_waterfall_ambience(); +} + +//Function Number: 19 +start_grapple() +{ + thread aud_cave_ambience(); + thread aud_forest_ambience(); + thread aud_waterfall_ambience(); + soundscripts\_audio_zone_manager::azm_start_zone("irons_ext_falls_cliff",1); + soundscripts\_snd::snd_music_message("mus_intro"); + common_scripts\utility::flag_set("cliff_rock_debris"); + thread aud_foliage_movement(); + thread aud_foliage_mix(); + common_scripts\utility::flag_wait("aud_falls_bottom"); + thread aud_falls_climbing(); +} + +//Function Number: 20 +start_jump_grapple() +{ + thread aud_cave_ambience(); + thread aud_forest_ambience(); + thread aud_waterfall_ambience(); + soundscripts\_audio_zone_manager::azm_start_zone("irons_ext_falls_cliff",1); + thread aud_falls_climbing(); + thread aud_foliage_movement(); + thread aud_foliage_mix(); +} + +//Function Number: 21 +start_recon() +{ + thread aud_waterfall_ambience(); + thread aud_forest_ambience(); + thread aud_approaching_poolhouse(); + soundscripts\_audio_zone_manager::azm_start_zone("irons_ext_falls_top",1); + thread aud_foliage_movement(); + thread aud_foliage_mix(); +} + +//Function Number: 22 +start_infil() +{ + thread aud_waterfall_ambience(); + thread aud_forest_ambience(); + thread aud_approaching_poolhouse(); + soundscripts\_audio_zone_manager::azm_start_zone("irons_ext_falls_top",1); + thread aud_foliage_movement(); + thread aud_foliage_mix(); +} + +//Function Number: 23 +start_security_center() +{ + common_scripts\utility::flag_set("aud_pool_area_begin_stealth_music"); + thread aud_waterfall_ambience(); + thread aud_estate_grounds_emitters(); + thread stealth_music_control_p1(); + soundscripts\_audio_zone_manager::azm_start_zone("irons_ext_grounds_quiet",1); + thread aud_foliage_movement(); + thread aud_foliage_mix(); +} + +//Function Number: 24 +start_hack_security() +{ + common_scripts\utility::flag_set("aud_pool_area_begin_stealth_music"); + thread aud_waterfall_ambience(); + thread aud_estate_grounds_emitters(); + thread stealth_music_control_p1(); + soundscripts\_audio_zone_manager::azm_start_zone("irons_int_security_center_main",1); + thread aud_foliage_movement(); + thread aud_foliage_mix(); +} + +//Function Number: 25 +start_penthouse() +{ + thread aud_reached_penthouse(); + thread aud_waterfall_ambience(); + thread aud_estate_grounds_emitters(); + thread stealth_music_control_p2(); + soundscripts\_audio_zone_manager::azm_start_zone("irons_ext_grounds_quiet",1); + thread aud_foliage_movement(); + thread aud_foliage_mix(); + level.aud_lowstealth = 1; + soundscripts\_snd_playsound::snd_play_loop_2d("mus_irons_low_stealth","aud_stop_lowstealth",20,3); +} + +//Function Number: 26 +start_bedroom() +{ + thread aud_reached_penthouse(); + thread aud_waterfall_ambience(); + thread aud_estate_grounds_emitters(); + soundscripts\_audio_zone_manager::azm_start_zone("irons_ext_grounds_quiet",1); + thread aud_foliage_movement(); + thread aud_foliage_mix(); +} + +//Function Number: 27 +start_intel() +{ + common_scripts\utility::flag_set("aud_reached_penthouse"); + thread aud_waterfall_ambience(); + thread aud_estate_grounds_emitters(); + soundscripts\_audio_zone_manager::azm_start_zone("irons_int_penthouse_living",1); + soundscripts\_snd::snd_music_message("mus_bedroom"); + thread aud_guardhouse_foley_cormack(); + common_scripts\utility::flag_wait("intel_end"); + level notify("stop_penthouse_entrance_music"); + soundscripts\_snd::snd_music_message("mus_lockdown"); +} + +//Function Number: 28 +start_meet_cormack_pt2() +{ + thread aud_estate_grounds_emitters(); + soundscripts\_audio_zone_manager::azm_start_zone("irons_int_penthouse_living",1); + thread aud_guardhouse_foley_cormack(); + soundscripts\_snd::snd_music_message("mus_lockdown"); +} + +//Function Number: 29 +start_track_irons() +{ + thread aud_estate_grounds_emitters(); + soundscripts\_audio_zone_manager::azm_start_zone("irons_int_hangar"); + thread aud_hangar_ambience(); + thread aud_hangar_walla(); +} + +//Function Number: 30 +start_plant_tracker() +{ + thread aud_estate_grounds_emitters(); + soundscripts\_audio_zone_manager::azm_start_zone("irons_int_hangar"); + thread aud_hangar_ambience(); +} + +//Function Number: 31 +aud_briefing() +{ + soundscripts\_audio_mix_manager::mm_add_submix("irons_briefing_fade_in"); + soundscripts\_audio_mix_manager::mm_add_submix("irons_falls_fade_in"); + soundscripts\_audio_zone_manager::azm_start_zone("irons_briefing_hangar"); + common_scripts\utility::flag_wait("introscreen1_complete"); + thread briefing_foley(); + soundscripts\_snd_playsound::snd_play_loop_at("irons_amb_briefing_hangar_front",(-12100,-18990,-5371),"stop_briefing_music"); + soundscripts\_snd_playsound::snd_play_loop_at("irons_amb_briefing_hangar_rear",(-12100,-16081,-5371),"stop_briefing_music"); + soundscripts\_snd_playsound::snd_play_loop_at("irons_hangar_bg_activity",(-12100,-18990,-5371),"stop_bg_activity_sound",undefined,7); + soundscripts\_audio_mix_manager::mm_clear_submix("irons_briefing_fade_in",1); + soundscripts\_snd::snd_music_message("mus_briefing"); + wait(26); + level notify("stop_bg_activity_sound"); + level.allies[0] waittillmatch("fade_start","single anim"); + soundscripts\_audio_mix_manager::mm_add_submix("irons_mute_teleport",1); + wait(2); + thread aud_cave_ambience(); + thread aud_waterfall_ambience(); +} + +//Function Number: 32 +briefing_foley() +{ + level.allies[1] soundscripts\_snd_playsound::snd_play_delayed_linked("irons_foley_briefing_ilona_1",0.1); + level.allies[0] soundscripts\_snd_playsound::snd_play_delayed_linked("irons_foley_briefing_cormack_1",0.7); + level.allies[0] soundscripts\_snd_playsound::snd_play_delayed_linked("irons_foley_briefing_cormack_2",12.7); + level.allies[0] soundscripts\_snd_playsound::snd_play_delayed_linked("irons_foley_briefing_cormack_3",25.2); + level.allies[1] soundscripts\_snd_playsound::snd_play_delayed_linked("irons_foley_briefing_ilona_2",26); + soundscripts\_snd_playsound::snd_play_delayed_at("irons_foley_briefing_sold_1",(-11687,-17583,-5755),40); + soundscripts\_snd_playsound::snd_play_delayed_at("irons_foley_briefing_sold_2",(-11687,-17583,-5755),50); + level.allies[0] soundscripts\_snd_playsound::snd_play_delayed_linked("irons_foley_briefing_cormack_4",57); + level.allies[1] soundscripts\_snd_playsound::snd_play_delayed_linked("irons_foley_briefing_ilona_3",58); +} + +//Function Number: 33 +aud_cave_ambience() +{ + soundscripts\_audio_zone_manager::azm_start_zone("irons_ext_cave_intro",1); + var_00 = soundscripts\_snd_playsound::snd_play_loop_2d("mus_irons_cave_amb","stop_mus_irons_cave_amb",9,3); + soundscripts\_snd_playsound::snd_play_loop_at("irons_amb_intro_cave_front",(-8673,-8174,-2733),"aud_stop_cave_ambience"); + soundscripts\_snd_playsound::snd_play_loop_at("irons_amb_intro_cave_rear",(-8751,-8552,-2733),"aud_stop_cave_ambience"); + thread aud_cave_cascade(); + thread aud_foliage_movement(); + thread aud_foliage_mix(); + wait(0.1); + soundscripts\_audio_mix_manager::mm_clear_submix("irons_falls_fade_in",5); + wait(3.5); + thread aud_intro_drone(); + thread aud_forest_ambience(); + wait(3.5); + soundscripts\_snd_playsound::snd_play_2d("irons_intro_boom_1"); + wait(5); + soundscripts\_audio_mix_manager::mm_clear_submix("irons_mute_teleport"); + wait(4); + soundscripts\_snd_playsound::snd_play_2d("irons_intro_boom_2"); + var_00 scalevolume(0.5,3); + wait(8); + soundscripts\_snd_playsound::snd_play_2d("irons_intro_boom_3"); + common_scripts\utility::flag_wait("drone_passed"); + common_scripts\utility::flag_set("cliff_rock_debris"); + common_scripts\utility::flag_wait("aud_falls_bottom"); + level notify("aud_stop_cave_ambience"); + thread aud_falls_climbing(); +} + +//Function Number: 34 +aud_patching_in_foley() +{ + level.allies[0] soundscripts\_snd_playsound::snd_play_delayed_linked("irons_foley_intro_cormack_start",1.5); + level.allies[1] soundscripts\_snd_playsound::snd_play_delayed_linked("irons_foley_intro_ilona_start",1.25); + level.allies[2] soundscripts\_snd_playsound::snd_play_delayed_linked("irons_foley_intro_knox_patching_1",1); + level.allies[2] soundscripts\_snd_playsound::snd_play_delayed_linked("irons_foley_intro_knox_patching_2",12.4); + level.allies[0] soundscripts\_snd_playsound::snd_play_delayed_linked("irons_foley_intro_cormack_idle",8); +} + +//Function Number: 35 +aud_intro_foley() +{ + thread aud_ready_hooks(); + wait(3.5); + level.allies[1] soundscripts\_snd_playsound::snd_play_delayed_linked("irons_foley_intro_ilona_exit",0.8); + level.allies[0] soundscripts\_snd_playsound::snd_play_linked("irons_foley_intro_cormack_exit"); + level.allies[2] soundscripts\_snd_playsound::snd_play_delayed_linked("irons_foley_intro_knox_exit",1.3); + wait(0.5); + level notify("stop_mus_irons_cave_amb"); + soundscripts\_snd::snd_music_message("mus_intro"); +} + +//Function Number: 36 +aud_ready_hooks() +{ + level waittill("ready_hooks"); + wait(1.5); + level.allies[1] soundscripts\_snd_playsound::snd_play_linked("irons_ready_hooks_npc"); + wait(0.7); + soundscripts\_snd_playsound::snd_play_2d("irons_ready_hooks_player"); +} + +//Function Number: 37 +aud_intro_drone() +{ + wait(6); + soundscripts\_snd_playsound::snd_play_at("irons_intro_cave_drone",(-8483,-7308,-2746)); +} + +//Function Number: 38 +aud_cave_cascade() +{ + thread soundscripts\_audio::aud_play_line_emitter("cave_cascade","irons_cave_cascade",(-8441,-8211,-2744),(-8818,-8056,-2744)); +} + +//Function Number: 39 +aud_forest_ambience() +{ + soundscripts\_snd_playsound::snd_play_loop_at("irons_amb_intro_woods_front",(-8551,-4765,413),"aud_stop_forest_ambience",undefined,5); + soundscripts\_snd_playsound::snd_play_loop_at("irons_amb_intro_woods_rear",(-6320,-9520,-733),"aud_stop_forest_ambience",undefined,5); +} + +//Function Number: 40 +aud_waterfall_ambience() +{ + soundscripts\_snd_playsound::snd_play_loop_at("irons_amb_waterfall_front",(-10781,-4516,-1627),"aud_stop_waterfall_ambience",undefined,5); + soundscripts\_snd_playsound::snd_play_loop_at("irons_amb_waterfall_rear",(-6386,-9482,-1627),"aud_stop_waterfall_ambience",undefined,5); + soundscripts\_snd_playsound::snd_play_loop_at("irons_amb_waterfall_LFE",(-8403,-6068,-3399),"aud_stop_waterfall_ambience",undefined,5); +} + +//Function Number: 41 +aud_falls_climbing() +{ + common_scripts\utility::flag_wait("aud_falls_top"); + thread aud_approaching_poolhouse(); + soundscripts\_snd::snd_music_message("mus_recon"); + common_scripts\utility::flag_clear("cliff_rock_debris"); +} + +//Function Number: 42 +aud_grapple_land_debris() +{ + if(common_scripts\utility::flag("cliff_rock_debris")) + { + soundscripts\_snd_playsound::snd_play_2d("irons_grapple_cliff_rock_debris"); + } +} + +//Function Number: 43 +aud_recon_foley() +{ + level.allies[2] soundscripts\_snd_playsound::snd_play_delayed_linked("irons_foley_recon_knox",1.2); + level.allies[0] soundscripts\_snd_playsound::snd_play_delayed_linked("irons_foley_recon_corm_1",1.1); + level.allies[0] soundscripts\_snd_playsound::snd_play_delayed_linked("irons_foley_recon_corm_2",8); + level.allies[0] soundscripts\_snd_playsound::snd_play_delayed_linked("irons_foley_recon_corm_3",12); +} + +//Function Number: 44 +aud_grapple_infil() +{ + soundscripts\_snd_playsound::snd_play_2d("irons_foley_infil_grapple"); + soundscripts\_snd_playsound::snd_play_delayed_2d("gear_rattle_crouch_stand",13); +} + +//Function Number: 45 +aud_grapple_monitor() +{ + level endon("death"); + for(;;) + { + level waittill("stop_grapplesound"); + soundscripts\_audio_mix_manager::mm_add_submix("irons_mute_grapplewind",0.1); + level waittill("aud_grapple_start"); + soundscripts\_audio_mix_manager::mm_clear_submix("irons_mute_grapplewind",0.1); + } +} + +//Function Number: 46 +aud_estate_grounds_emitters() +{ + thread soundscripts\_audio::aud_play_line_emitter("pool_cascade_large_01","irons_pool_cascade_large",(-6890,-3585,72),(-6984,-3168,72)); + thread soundscripts\_audio::aud_play_line_emitter("pool_cascade_large_01","irons_pool_cascade_large",(-2077,-2271,603),(-1963,-2693,603)); + thread aud_sprinklers(); + soundscripts\_snd_playsound::snd_play_loop_at("irons_hot_tub",(-6323,-3752,163)); + soundscripts\_snd_playsound::snd_play_loop_at("irons_gas_fireplace",(-5586,-3577,229)); + thread soundscripts\_audio::aud_play_line_emitter("penthouse_fireplace","irons_gas_fireplace",(743,-3996,1058),(881,-3989,1058)); + thread aud_ac_units(); + thread aud_security_vent(); + thread aud_ball_fountain(); + thread aud_estate_grounds_ambience(); + thread aud_rooftops_ambience(); + thread aud_garage_hyd_wrench(); + thread aud_fountains(); +} + +//Function Number: 47 +aud_sprinklers() +{ + level.player endon("death"); + var_00 = 0; + for(;;) + { + if(common_scripts\utility::flag("aud_human_activity_area_1") == 1 && var_00 != 1) + { + var_00 = 1; + level notify("aud_stop_mid_area_sprinklers"); + wait(2); + soundscripts\_snd_playsound::snd_play_loop_at("irons_sprinkler_01",(-6328,-4187,348),"aud_stop_pool_area_sprinklers",1,1.5); + } + else if(common_scripts\utility::flag("aud_human_activity_area_2") == 1 && var_00 != 2) + { + var_00 = 2; + level notify("aud_stop_pool_area_sprinklers"); + level notify("aud_stop_back_yard_sprinklers"); + wait(2); + soundscripts\_snd_playsound::snd_play_loop_at("irons_sprinkler_01",(-4062,-2307,634),"aud_stop_mid_area_sprinklers",1,1.5); + } + else if(common_scripts\utility::flag("aud_human_activity_area_3") == 1 && var_00 != 3) + { + var_00 = 3; + level notify("aud_stop_mid_area_sprinklers"); + wait(2); + soundscripts\_snd_playsound::snd_play_loop_at("irons_sprinkler_01_louder",(3106,-2331,526),"aud_stop_back_yard_sprinklers",1,1.5); + } + + wait(0.2); + } +} + +//Function Number: 48 +aud_ac_units() +{ + soundscripts\_snd_playsound::snd_play_loop_at("irons_ext_air_conditioning_unit_01",(-6512,-4672,297),undefined,1); + soundscripts\_snd_playsound::snd_play_loop_at("irons_ext_air_conditioning_unit_02",(-6467,-4887,314),undefined,1); + soundscripts\_snd_playsound::snd_play_loop_at("irons_ext_air_conditioning_unit_04",(1474,-2763,1242),undefined,1); + soundscripts\_snd_playsound::snd_play_loop_at("irons_ext_air_conditioning_unit_05",(5214,-2956,1285),undefined,1); + soundscripts\_snd_playsound::snd_play_loop_at("irons_ext_air_conditioning_unit_06",(5353,-3639,1193),undefined,1); + soundscripts\_snd_playsound::snd_play_loop_at("irons_ext_air_conditioning_unit_07",(5354,-4247,1325),undefined,1); + soundscripts\_snd_playsound::snd_play_loop_at("irons_ext_air_conditioning_unit_01",(-1273,-4442,941),undefined,1); + soundscripts\_snd_playsound::snd_play_loop_at("irons_ext_air_conditioning_unit_02",(-1532,-1480,1224),undefined,1); + soundscripts\_snd_playsound::snd_play_loop_at("irons_int_air_conditioning_unit_02",(5698,-4722,796),undefined,1); + soundscripts\_snd_playsound::snd_play_loop_at("irons_int_air_conditioning_unit_03",(5720,-5138,796),undefined,1); +} + +//Function Number: 49 +aud_fountains() +{ + soundscripts\_snd_playsound::snd_play_loop_at("irons_fountain_penthouse",(303,-2310,790),undefined,1); + soundscripts\_snd_playsound::snd_play_loop_at("irons_fountain_penthouse",(303,-4487,790),undefined,1); +} + +//Function Number: 50 +aud_human_activity_streams() +{ + level.player endon("death"); + var_00 = 0; + for(;;) + { + if(common_scripts\utility::flag("aud_human_activity_area_1") == 1 && var_00 != 1) + { + var_00 = 1; + level notify("aud_stop_guest_house_music"); + level notify("aud_stop_garage_music"); + level notify("aud_stop_parked_car_music"); + level notify("aud_stop_guest_house_walla"); + soundscripts\_snd_playsound::snd_play_loop_at("mus_irons_pool_music_distant",(-6337,-2759,350),"aud_stop_pool_music",1,8); + soundscripts\_snd_playsound::snd_play_loop_at("mus_irons_pool_music_close",(-6337,-2759,350),"aud_stop_pool_music",1,8); + soundscripts\_snd_playsound::snd_play_loop_at("irons_veranda_walla",(-6356,-2859,233),"aud_stop_veranda_walla",1,4); + wait(5); + soundscripts\_snd_playsound::snd_play_loop_at("irons_pool_house_bar_walla",(-5589,-3363,258),"aud_stop_pool_house_walla",1,4); + } + else if(common_scripts\utility::flag("aud_human_activity_area_2") == 1 && var_00 != 2) + { + var_00 = 2; + level notify("aud_stop_pool_music"); + level notify("aud_stop_pool_music"); + level notify("aud_stop_veranda_walla"); + level notify("aud_start_panic_walla"); + level notify("aud_stop_pool_house_walla"); + soundscripts\_snd_playsound::snd_play_loop_at("mus_irons_guesthouse",(-3675,-791,715),"aud_stop_guest_house_music",1,4); + soundscripts\_snd_playsound::snd_play_loop_at("irons_guesthouse_walla",(-3550,-879,619),"aud_stop_guest_house_walla",1,4); + wait(4.5); + soundscripts\_snd_playsound::snd_play_loop_at("mus_irons_garage_radio",(-731,-920,741),"aud_stop_garage_music",1,4); + soundscripts\_snd_playsound::snd_play_loop_at("mus_irons_parked_car",(-1189,-3221,676),"aud_stop_parked_car_music",1,4); + } + else if(common_scripts\utility::flag("aud_human_activity_area_3") == 1 && var_00 != 3) + { + var_00 = 3; + level notify("aud_stop_guest_house_music"); + level notify("aud_stop_garage_music"); + level notify("aud_stop_parked_car_music"); + level notify("aud_stop_guest_house_walla"); + } + + wait(0.2); + } +} + +//Function Number: 51 +aud_security_vent() +{ + soundscripts\_snd_playsound::snd_play_loop_at("irons_security_vent_whine_roof",(-6582,-1112,448),"aud_stop_security_vent",1,1.5); + soundscripts\_snd_playsound::snd_play_loop_at("irons_ext_air_conditioning_unit_03",(-6729,-1515,181),"aud_stop_security_vent",1,1.5); + common_scripts\utility::flag_wait("security_center_begin"); + common_scripts\utility::flag_wait("emp_detonated"); + soundscripts\_snd_playsound::snd_play_2d("irons_security_emp_pulse"); + wait(1); + level notify("aud_stop_security_vent"); + thread aud_security_alarm(); + soundscripts\_snd_playsound::snd_play_at("irons_security_whine_shutdown",(-6582,-1112,448)); + soundscripts\_snd_playsound::snd_play_2d("irons_security_hatch_open"); + soundscripts\_snd_playsound::snd_play_delayed_loop_2d("mus_irons_security",6,undefined,"aud_stop_security_center_music",10,9); + wait(2.8); + soundscripts\_audio_music::mus_stop(3); + wait(2); + soundscripts\_snd_playsound::snd_play_2d("irons_security_descend_start"); + common_scripts\utility::flag_wait("security_center_wake_up"); + wait(1); + soundscripts\_snd_playsound::snd_play_2d("irons_security_descent_land"); + wait(1.1); + soundscripts\_snd_playsound::snd_play_at("irons_security_wakeup",(-6383,-1263,171)); + common_scripts\utility::flag_wait("hack_security_begin"); + common_scripts\utility::flag_wait("player_is_exiting_security_center"); + level notify("aud_stop_security_center_music"); + common_scripts\utility::flag_wait("security_center_exit_complete"); + level notify("aud_stop_drone_wakeup"); + soundscripts\_snd::snd_music_message("mus_penthouse"); + thread aud_reached_penthouse(); + level.aud_lowstealth = 1; + soundscripts\_snd_playsound::snd_play_loop_2d("mus_irons_low_stealth","aud_stop_lowstealth",20,3); +} + +//Function Number: 52 +aud_security_plant_emp() +{ + soundscripts\_snd_playsound::snd_play_2d("irons_security_emp_plant"); +} + +//Function Number: 53 +aud_security_alarm() +{ + while(!common_scripts\utility::flag("aud_stop_server_alarm")) + { + soundscripts\_snd_playsound::snd_play_at("irons_server_alarm",(-6383,-1263,171),undefined,1,1.5); + wait(1.3); + } +} + +//Function Number: 54 +aud_security_prints() +{ + wait(1); + soundscripts\_snd_playsound::snd_play_2d("irons_security_prints_start"); + wait(0.9); + soundscripts\_snd_playsound::snd_play_2d("irons_security_prints"); + wait(1.5); + soundscripts\_snd_playsound::snd_play_2d("irons_security_prints_end"); +} + +//Function Number: 55 +aud_security_welcome() +{ + wait(2.1); + soundscripts\_snd_playsound::snd_play_at("ie_cv_welcome",(-6122,-1131,164)); +} + +//Function Number: 56 +aud_security_center_drones_on() +{ + level endon("aud_stop_drone_wakeup"); + soundscripts\_audio_mix_manager::mm_add_submix("irons_int_security_boost_drones",0.1); + soundscripts\_snd_playsound::snd_play_at("irons_security_drone_group_wakeup",(-6707,-1130,230)); +} + +//Function Number: 57 +aud_security_countdown() +{ + var_00 = 16; + while(!common_scripts\utility::flag("player_is_out_of_security_center") && var_00 > 1) + { + var_01 = gettime(); + if(var_01 - level.aud_last_time > 950) + { + soundscripts\_snd_playsound::snd_play_2d("irons_timer_tick"); + level.aud_last_time = var_01; + var_00 = var_00 - 1; + } + + wait(0.05); + } + + common_scripts\utility::flag_set("aud_stop_server_alarm"); + soundscripts\_snd_playsound::snd_play_at("irons_security_vents_wakeup",(-6582,-1112,448)); + wait(0.3); + soundscripts\_snd_playsound::snd_play_loop_at("irons_security_vent_whine_roof",(-6582,-1112,448),undefined,0.1); + soundscripts\_snd_playsound::snd_play_loop_at("irons_ext_air_conditioning_unit_03",(-6729,-1515,181),undefined,0.1); +} + +//Function Number: 58 +aud_security_main_screen() +{ + soundscripts\_snd_playsound::snd_play_at("irons_security_main_screen_boot",(-6122,-1131,164)); +} + +//Function Number: 59 +aud_security_hatch_exit() +{ + wait(0.1); + soundscripts\_snd_playsound::snd_play_2d("irons_security_exit_hatch"); + soundscripts\_audio_mix_manager::mm_clear_submix("irons_int_security_boost_drones",0.5); +} + +//Function Number: 60 +aud_vtol_land(param_00) +{ + if(level.aud_vtol_passed == 0) + { + param_00 soundscripts\_snd_playsound::snd_play_linked("irons_vtol_landing"); + level.aud_vtol_passed = 1; + } +} + +//Function Number: 61 +aud_ball_fountain() +{ + soundscripts\_snd_playsound::snd_play_loop_at("irons_ball_fountain",(-896,-2425,837)); +} + +//Function Number: 62 +aud_security_reboot() +{ + soundscripts\_snd_playsound::snd_play_at("irons_security_reboot",(-6337,-1086,173)); +} + +//Function Number: 63 +aud_estate_grounds_ambience() +{ + soundscripts\_snd_playsound::snd_play_loop_at("irons_amb_grounds_quiet_front",(-7925,-3370,1443),"aud_stop_ext_grounds_ambience",0.05,0.5); + soundscripts\_snd_playsound::snd_play_loop_at("irons_amb_grounds_quiet_rear",(8151,-3673,1443),"aud_stop_ext_grounds_ambience",0.05,0.5); +} + +//Function Number: 64 +aud_rooftops_ambience() +{ + level.player endon("death"); + var_00 = spawn("script_origin",(-7925,-3370,1443)); + var_01 = spawn("script_origin",(8151,-3673,1443)); + var_00 soundscripts\_snd_playsound::snd_play_loop("irons_amb_rooftops_front"); + var_01 soundscripts\_snd_playsound::snd_play_loop("irons_amb_rooftops_rear"); + for(;;) + { + var_02 = level.player.origin[2]; + if(common_scripts\utility::flag("aud_rooftop_wind_1") == 1) + { + level.aud_rooftop_wind_volume = var_02 - 200 / 200; + soundscripts\_audio_mix_manager::mm_clear_submix("irons_occlude_pool_music"); + } + else if(common_scripts\utility::flag("aud_rooftop_wind_2") == 1) + { + level.aud_rooftop_wind_volume = var_02 - 350 / 350; + soundscripts\_audio_mix_manager::mm_add_submix("irons_occlude_pool_music"); + } + else if(common_scripts\utility::flag("aud_rooftop_wind_3") == 1) + { + level.aud_rooftop_wind_volume = var_02 - 800 / 800; + soundscripts\_audio_mix_manager::mm_add_submix("irons_occlude_pool_music"); + } + else + { + level.aud_rooftop_wind_volume = 0.01; + } + + if(level.aud_rooftop_wind_volume > 1) + { + level.aud_rooftop_wind_volume = 1; + } + else if(level.aud_rooftop_wind_volume <= 0.01) + { + level.aud_rooftop_wind_volume = 0.01; + } + + var_00 scalevolume(level.aud_rooftop_wind_volume,0.2); + var_01 scalevolume(level.aud_rooftop_wind_volume,0.2); + wait(0.2); + } +} + +//Function Number: 65 +aud_poolhouse_ambience() +{ + soundscripts\_snd_playsound::snd_play_loop_at("irons_amb_estate_living_front",(-16384,-2944,1443),"aud_stop_poolhouse_ambience",1,1.5); + soundscripts\_snd_playsound::snd_play_loop_at("irons_amb_estate_living_rear",(19504,-2944,1443),"aud_stop_poolhouse_ambience",1,1.5); +} + +//Function Number: 66 +aud_estate_living_ambience() +{ + soundscripts\_snd_playsound::snd_play_loop_at("irons_amb_estate_living_front",(-16384,-2944,1443),"aud_stop_estate_living_ambience",1,1.5); + soundscripts\_snd_playsound::snd_play_loop_at("irons_amb_estate_living_rear",(19504,-2944,1443),"aud_stop_estate_living_ambience",1,1.5); +} + +//Function Number: 67 +aud_hangar_ambience() +{ + soundscripts\_snd_playsound::snd_play_loop_at("irons_amb_hangar_front",(-16384,-2944,1443),"aud_stop_hangar_ambience",1,1.5); + soundscripts\_snd_playsound::snd_play_loop_at("irons_amb_hangar_rear",(19504,-2944,1443),"aud_stop_hangar_ambience",1,1.5); +} + +//Function Number: 68 +aud_estate_security_ambience() +{ + soundscripts\_snd_playsound::snd_play_loop_at("irons_amb_security_center_front",(-16384,-2944,1443),"aud_stop_security_ambience",1,1.5); + soundscripts\_snd_playsound::snd_play_loop_at("irons_amb_security_center_rear",(19504,-2944,1443),"aud_stop_security_ambience",1,1.5); +} + +//Function Number: 69 +aud_guard_station_ambience() +{ + soundscripts\_snd_playsound::snd_play_loop_at("irons_amb_guard_station_front",(-16384,-2944,1443),"aud_stop_guard_station_ambience",1,1.5); + soundscripts\_snd_playsound::snd_play_loop_at("irons_amb_guard_station_rear",(19504,-2944,1443),"aud_stop_guard_station_ambience",1,1.5); +} + +//Function Number: 70 +aud_approaching_poolhouse() +{ + common_scripts\utility::flag_wait("aud_player_reached_estate"); + level notify("aud_stop_forest_ambience"); + thread aud_estate_grounds_emitters(); + thread stealth_music_control_p1(); + soundscripts\_snd_playsound::snd_play_at("irons_sports_car_distant",(-2988,-5067,1111)); +} + +//Function Number: 71 +aud_tennis_court_wakeup() +{ + soundscripts\_snd_playsound::snd_play_at("irons_tennis_court_wakeup",(-3166,-4927,422)); + soundscripts\_snd_playsound::snd_play_delayed_at("irons_tennis_net_on",(-3166,-4927,422),0.5); +} + +//Function Number: 72 +aud_garage_lift() +{ + soundscripts\_snd_playsound::snd_play_at("irons_garage_lift_start",(-1100,-1305,686)); + soundscripts\_snd_playsound::snd_play_loop_at("irons_garage_lift_lp",(-1100,-1305,686),"aud_stop_garage_lift",undefined,0.2); + wait(8); + soundscripts\_snd_playsound::snd_play_at("irons_garage_lift_stop",(-1100,-1305,686)); + wait(0.05); + level notify("aud_stop_garage_lift"); +} + +//Function Number: 73 +aud_garage_hyd_wrench() +{ + while(!common_scripts\utility::flag("_stealth_spotted")) + { + wait(randomintrange(2,8)); + soundscripts\_snd_playsound::snd_play_at("irons_garage_hyd_wrench",(-1100,-1305,686)); + } +} + +//Function Number: 74 +aud_reached_penthouse() +{ + common_scripts\utility::flag_wait("aud_player_on_penthouse_balcony"); + soundscripts\_snd_playsound::snd_play_loop_at("irons_pent_grap_kill_scuffle_lp",(752,-3260,1080),"aud_stop_grapple_kill_scuffle",0.5,0.2); + soundscripts\_snd::snd_music_message("mus_bedroom"); + common_scripts\utility::flag_wait("aud_reached_penthouse"); + level notify("aud_stop_lowstealth"); + level notify("end_stealth_music_control"); + thread aud_guardhouse_foley_cormack(); + common_scripts\utility::flag_wait("intel_end"); + level notify("stop_penthouse_entrance_music"); + soundscripts\_snd::snd_music_message("mus_lockdown"); +} + +//Function Number: 75 +aud_penthouse_front_door() +{ + soundscripts\_snd_playsound::snd_play_at("irons_penthouse_sliding_door_open",(419,-3202,1224)); + common_scripts\utility::flag_wait("player_entered_balcony_door"); + soundscripts\_snd_playsound::snd_play_at("irons_penthouse_sliding_door_close",(419,-3202,1224)); +} + +//Function Number: 76 +aud_cormack_grapple_kill() +{ + thread cormack_grapple_kill_rope(); + thread cormack_intel_foley(); + thread aud_painting_fall(); + soundscripts\_snd_playsound::snd_play_at("irons_pent_grap_kill_door",(752,-3260,1080)); + level notify("aud_stop_grapple_kill_scuffle"); + level.allies[0] soundscripts\_snd_playsound::snd_play_delayed_linked("irons_pent_grap_kill_start_corm",0.5); +} + +//Function Number: 77 +cormack_grapple_kill_rope() +{ + wait(3.35); + var_00 = spawn("script_origin",(633,-3376,1073)); + var_00 soundscripts\_snd_playsound::snd_play_linked("irons_pent_grap_kill_end"); + var_01 = (724,-3215,1059); + var_00 moveto(var_01,0.9); + wait(5); + var_00 delete(); +} + +//Function Number: 78 +aud_painting_fall() +{ + soundscripts\_snd_playsound::snd_play_delayed_at("irons_pent_painting_fall",(817,-3291,1033),4.9); +} + +//Function Number: 79 +cormack_intel_foley() +{ + level.allies[0] soundscripts\_snd_playsound::snd_play_delayed_linked("irons_foley_pent_corm_1",7); + common_scripts\utility::flag_wait("player_used_intel_trigger"); + level.allies[0] soundscripts\_snd_playsound::snd_play_delayed_linked("irons_foley_pent_corm_2",37.5); +} + +//Function Number: 80 +aud_intel() +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("irons_foley_pent_plr_1",0.5); + soundscripts\_snd_playsound::snd_play_delayed_2d("irons_penthouse_desk_ui",3); + soundscripts\_snd_playsound::snd_play_delayed_2d("irons_foley_pent_plr_1",34.2); +} + +//Function Number: 81 +aud_lockdown_alarm() +{ + soundscripts\_snd_playsound::snd_play_loop_at("irons_lockdown_alarm",(804,-3809,1067)); +} + +//Function Number: 82 +aud_reinforcements_door1() +{ + soundscripts\_snd_playsound::snd_play_at("irons_pent_reinf_door",(1309,-3776,1090)); +} + +//Function Number: 83 +aud_reinforcements_door2() +{ + soundscripts\_snd_playsound::snd_play_at("irons_pent_reinf_door",(1236,-4442,666)); +} + +//Function Number: 84 +aud_guardhouse_foley_cormack() +{ + level waittill("start_car_ride_moment_anims"); + wait(0.1); + level.allies[0] soundscripts\_snd_playsound::snd_play_linked("irons_foley_gdhouse_cormack_open_door"); + soundscripts\_audio_music::mus_stop(7); + thread aud_guard_station_main_door(); + wait(5.7); + level.allies[0] soundscripts\_snd_playsound::snd_play_linked("irons_foley_gdhouse_cormack_hide"); + level.allies[0] waittillmatch("run_to_street","single anim"); + wait(0.5); + level.allies[0] soundscripts\_snd_playsound::snd_play_linked("irons_foley_gdhouse_cormack_go_car"); + common_scripts\utility::flag_wait("player_under_car"); + soundscripts\_snd_playsound::snd_play_2d("irons_foley_gdhouse_player_under_car"); + level.allies[0] waittillmatch("roll_out","single anim"); + wait(0.5); + level.allies[0] soundscripts\_snd_playsound::snd_play_linked("irons_foley_gdhouse_cormack_rollout_car"); + wait(0.5); + soundscripts\_snd_playsound::snd_play_2d("irons_foley_gdhouse_player_rollout_car"); +} + +//Function Number: 85 +aud_guard_station_main_door() +{ + wait(0.9); + soundscripts\_snd_playsound::snd_play_at("irons_guard_house_main_door_open",(1885,-4332,694)); + wait(0.1); + soundscripts\_snd_playsound::snd_play_at("irons_guard_house_door_alarm",(1810,-4397,663)); +} + +//Function Number: 86 +aud_conduit_smash() +{ + soundscripts\_snd_playsound::snd_play_at("irons_guard_house_conduit_smash",(1917,-4363,698)); +} + +//Function Number: 87 +aud_trucks_arrive() +{ + wait(3); + soundscripts\_audio_mix_manager::mm_add_submix("irons_music_dim_6dB"); + thread aud_truck1_engine_pullup(); + thread aud_truck2_engine_pullup(); + wait(5); + thread aud_grates(); + wait(7); + thread aud_truck2_engine_idle(); + thread aud_truck2_engine_drive(); + soundscripts\_audio_mix_manager::mm_clear_submix("irons_music_dim_6dB"); + wait(29); + thread aud_hangar_ambience(); + thread aud_hangar_walla(); +} + +//Function Number: 88 +aud_truck1_engine_pullup() +{ + level.gaz2 soundscripts\_snd_playsound::snd_play_linked("irons_truck1_arrives"); +} + +//Function Number: 89 +aud_truck2_engine_pullup() +{ + level.gaz soundscripts\_snd_playsound::snd_play_linked("irons_truck2_arrives","aud_gaz2_engine_stop_notify",undefined,1.5); + wait(13); + level notify("aud_gaz2_engine_stop_notify"); +} + +//Function Number: 90 +aud_grates() +{ + soundscripts\_snd_playsound::snd_play_at("irons_tires_grate_1",(2104,-4453,627)); + wait(1); + soundscripts\_snd_playsound::snd_play_at("irons_tires_grate_2",(2104,-4190,627)); +} + +//Function Number: 91 +aud_truck2_engine_idle() +{ + soundscripts\_snd_playsound::snd_play_loop_at("irons_truck2_idle",level.gaz.origin,"aud_gaz2_idle_stop_notify",1.5,1.5); + soundscripts\_snd_playsound::snd_play_loop_at("irons_exhaust_pipe_close",(2093,-4239,636),"aud_gaz2_idle_stop_notify",2,2); + common_scripts\utility::flag_wait("player_under_car"); + soundscripts\_audio_mix_manager::mm_add_submix("irons_vehicle_ride"); + wait(9.6); + level notify("aud_gaz2_idle_stop_notify"); +} + +//Function Number: 92 +aud_truck2_engine_drive() +{ + common_scripts\utility::flag_wait("player_under_car"); + wait(7.4); + level.gaz2 soundscripts\_snd_playsound::snd_play_linked("irons_truck1_drive"); + wait(1.7); + level.gaz soundscripts\_snd_playsound::snd_play_linked("irons_truck2_drive"); +} + +//Function Number: 93 +aud_vehicle_ride_data() +{ + wait(1.2); + soundscripts\_snd_playsound::snd_play_2d("irons_vehicle_ride_data"); + wait(8.65); + soundscripts\_snd_playsound::snd_play_2d("irons_vehicle_ride_data_end"); +} + +//Function Number: 94 +aud_tire_splash() +{ + soundscripts\_snd_playsound::snd_play_2d("irons_tire_splash"); +} + +//Function Number: 95 +aud_hangar_car_door_exit() +{ + soundscripts\_snd_playsound::snd_play_at("irons_hangar_car_door_exit",(4265,-2205,503)); + soundscripts\_audio_music::mus_stop(8); + wait(0.75); + soundscripts\_snd_playsound::snd_play_at("irons_foley_hangar_doctor_fs",(4265,-2205,503)); + wait(0.6); + soundscripts\_snd_playsound::snd_play_at("irons_foley_hangar_workers_fs",(4437,-2157,498)); + wait(5); + soundscripts\_audio_mix_manager::mm_clear_submix("irons_vehicle_ride"); +} + +//Function Number: 96 +aud_hangar_walla() +{ + soundscripts\_snd_playsound::snd_play_loop_at("irons_hangar_walla",(4873,-2330,679),"aud_stop_hangar_walla",1,1); +} + +//Function Number: 97 +aud_monitor_irons() +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("irons_hang_surv_start",2); + soundscripts\_snd_playsound::snd_play_delayed_2d("irons_hang_surv_bg",3,undefined,"aud_stop_surveillance_bg"); + soundscripts\_snd_playsound::snd_play_delayed_2d("irons_hang_surv_1",3); + soundscripts\_snd_playsound::snd_play_delayed_2d("irons_hang_surv_2",7.95); + soundscripts\_snd_playsound::snd_play_delayed_2d("irons_hang_surv_3",16.45); + soundscripts\_snd_playsound::snd_play_delayed_2d("irons_hang_surv_4",28); + soundscripts\_snd_playsound::snd_play_delayed_at("irons_hangar_lift",(5058,-2230,649),31); + soundscripts\_snd_playsound::snd_play_delayed_2d("irons_hang_surv_end",37.4); + wait(3); + soundscripts\_audio_mix_manager::mm_add_submix("irons_listening_hangar"); + wait(23); + soundscripts\_audio_mix_manager::mm_clear_submix("irons_listening_hangar"); + wait(11.2); + level notify("aud_stop_surveillance_bg"); +} + +//Function Number: 98 +aud_exfil_vtol_start() +{ + level.vtol soundscripts\_snd_playsound::snd_play_linked("irons_vtol_start","aud_fade_out_vtol_start",0,3); + soundscripts\_audio_music::mus_play("mus_irons_exfil_hangar"); +} + +//Function Number: 99 +aud_exfil_door_1() +{ + wait(0.45); + level.allies[0] soundscripts\_snd_playsound::snd_play_linked("irons_finale_door_1"); + wait(0.05); + soundscripts\_snd_playsound::snd_play_loop_at("irons_finale_jet_interior_idle",(4072,-2871,1084),"aud_stop_interior_idle",0,0.3); + level.allies[0] soundscripts\_snd_playsound::snd_play_linked("irons_finale_cormack_foley","aud_stop_finale_stairs_foley"); +} + +//Function Number: 100 +aud_exfil_door_2a() +{ + level.allies[0] soundscripts\_snd_playsound::snd_play_delayed_linked("irons_finale_door_2",0.3); + level notify("aud_stop_finale_stairs_foley"); + soundscripts\_audio_music::mus_play("mus_irons_exfil_vtol",undefined,0.3); + soundscripts\_snd_playsound::snd_play_delayed_2d("irons_vtol_takeoff_stinger",2.25); +} + +//Function Number: 101 +aud_exfil_door_2b() +{ + level.allies[0] soundscripts\_snd_playsound::snd_play_delayed_linked("irons_finale_door_2_kick",0.15); + level.allies[0] soundscripts\_snd_playsound::snd_play_delayed_linked("irons_finale_door_2",3.1); + soundscripts\_snd_playsound::snd_play_delayed_2d("irons_vtol_takeoff_stinger",5.35); + wait(4.1); + soundscripts\_audio_music::mus_play("mus_irons_exfil_vtol",undefined,0.3); +} + +//Function Number: 102 +aud_exfil_vtol_ascend() +{ + thread aud_vtol_exterior_idle(); + common_scripts\utility::flag_wait("start_exfil_moment_final_liftoff_started"); + level notify("aud_fade_out_exterior_idle"); + level.vtol soundscripts\_snd_playsound::snd_play_linked("irons_finale_jet_takeoff_start"); + level.vtol soundscripts\_snd_playsound::snd_play_delayed_linked("irons_vtol_ascend",0.3,undefined,"finale_grapple_success",0,0.3); + wait(2.25); + soundscripts\_snd_playsound::snd_play_2d("irons_vtol_takeoff_stinger"); +} + +//Function Number: 103 +aud_vtol_exterior_idle() +{ + var_00 = level.vtol soundscripts\_snd_playsound::snd_play_loop_linked("irons_finale_jet_exterior_idle","aud_fade_out_exterior_idle",0.05,0.2); + level notify("aud_stop_interior_idle"); + wait(2); + var_00 scalepitch(1.5,30); +} + +//Function Number: 104 +aud_exfil_vtol_grapple() +{ + level notify("finale_grapple_success"); + var_00 = level.vtol.origin[2]; + var_01 = level.player.origin[2]; + var_02 = var_00 - var_01 / 2500; + soundscripts\_snd_playsound::snd_play_delayed_2d("irons_vtol_grapple",var_02); + soundscripts\_snd_playsound::snd_play_delayed_2d("irons_finale_onboard_front",var_02); + wait(var_02); + thread aud_exfil_vtol_wind(); + thread aud_vtol_excellerate_end(); + level.player waittill("grappled_to_vtol"); + soundscripts\_snd_playsound::snd_play_delayed_2d("irons_finale_tracker_plant",0.3); + thread aud_detach_from_vtol(); +} + +//Function Number: 105 +aud_vtol_excellerate_start() +{ + wait(5); + soundscripts\_snd_playsound::snd_play_2d("irons_vtol_accelerate_start"); +} + +//Function Number: 106 +aud_vtol_excellerate_end() +{ + level.vtol waittillmatch("rumble_heavy1","single anim"); + soundscripts\_snd_playsound::snd_play_2d("irons_vtol_accelerate_end"); +} + +//Function Number: 107 +aud_exfil_vtol_wind() +{ + wait(1); + soundscripts\_snd_playsound::snd_play_loop_2d("irons_vtol_wind","aud_fade_out_vtol_wind",1,6); + wait(1); + soundscripts\_snd_playsound::snd_play_loop_2d("mus_irons_exfil_vtol_grappled_layer","aud_fade_out_vtol_grappled_layer",3,5); +} + +//Function Number: 108 +aud_detach_from_vtol() +{ + common_scripts\utility::flag_wait("DETACHED_FROM_VTOL"); + soundscripts\_audio_music::mus_stop(0.5); + soundscripts\_snd_playsound::snd_play_2d("mus_irons_end"); + soundscripts\_snd_playsound::snd_play_2d("irons_vtol_fall_start","aud_fade_out_vtol_fall_start",undefined,0.1); + soundscripts\_snd_playsound::snd_play_2d("irons_finale_detach_front","aud_fade_out_vtol_fall_start",undefined,0.1); + level notify("aud_fade_out_vtol_start"); + wait(0.1); + level notify("aud_fade_out_vtol_ascend"); + wait(0.1); + level notify("aud_fade_out_vtol_wind"); + wait(0.1); + level notify("aud_fade_out_vtol_grappled_layer"); + wait(0.1); + level notify("aud_stop_ext_grounds_ambience"); + soundscripts\_audio_mix_manager::mm_add_submix("irons_detach_from_vtol",1); + wait(2.1); + soundscripts\_snd_playsound::snd_play_delayed_2d("irons_vtol_fall_end",4.3); + soundscripts\_snd_playsound::snd_play_delayed_2d("irons_finale_water_front",4.3); + wait(5); + maps\_water::setunderwateraudiozone(); + soundscripts\_snd_playsound::snd_play_delayed_2d("irons_end_scuba_foley",10); +} + +//Function Number: 109 +stealth_music_control_p1() +{ + level endon("end_stealth_music_control"); + for(;;) + { + if(level.aud_old_music_state != level.aud_music_state || level.aud_music_state == 0) + { + level.aud_old_music_state = level.aud_music_state; + switch(level.aud_music_state) + { + case 0: + if(level.aud_drone_investigating == 0) + { + level.aud_drone_attack = 0; + soundscripts\_audio_music::mus_stop(8); + soundscripts\_audio_mix_manager::mm_clear_submix("irons_stealth_broken"); + } + break; + + case 1: + if(level.aud_drone_attack == 0) + { + soundscripts\_audio_music::mus_play("mus_irons_stealth_01",6,5); + } + + soundscripts\_audio_mix_manager::mm_add_submix("irons_stealth_broken"); + break; + + case 2: + if(level.aud_drone_attack == 0) + { + soundscripts\_audio_music::mus_play("mus_irons_alerted_01",5,4); + } + + soundscripts\_audio_mix_manager::mm_add_submix("irons_stealth_broken"); + break; + + case 3: + level.aud_drone_attack = 1; + soundscripts\_audio_music::mus_play("mus_irons_spotted_01",3,3); + soundscripts\_audio_mix_manager::mm_add_submix("irons_stealth_broken"); + break; + } + } + + wait(0.05); + } +} + +//Function Number: 110 +stealth_music_control_p2() +{ + level endon("end_stealth_music_control"); + for(;;) + { + if(level.aud_old_music_state != level.aud_music_state || level.aud_music_state == 0) + { + level.aud_old_music_state = level.aud_music_state; + switch(level.aud_music_state) + { + case 0: + if(level.aud_drone_investigating == 0) + { + level.aud_drone_attack = 0; + soundscripts\_audio_music::mus_stop(8); + soundscripts\_audio_mix_manager::mm_clear_submix("irons_stealth_broken"); + if(level.aud_lowstealth == 0) + { + level.aud_lowstealth = 1; + soundscripts\_snd_playsound::snd_play_loop_2d("mus_irons_low_stealth","aud_stop_lowstealth",20,3); + } + } + break; + + case 1: + if(level.aud_drone_attack == 0) + { + soundscripts\_audio_music::mus_play("mus_irons_stealth_02",6,5); + } + + soundscripts\_audio_mix_manager::mm_add_submix("irons_stealth_broken"); + level notify("aud_stop_lowstealth"); + level.aud_lowstealth = 0; + break; + + case 2: + if(level.aud_drone_attack == 0) + { + soundscripts\_audio_music::mus_play("mus_irons_alerted_02",5,4); + } + + soundscripts\_audio_mix_manager::mm_add_submix("irons_stealth_broken"); + level notify("aud_stop_lowstealth"); + level.aud_lowstealth = 0; + break; + + case 3: + level.aud_drone_attack = 1; + soundscripts\_audio_music::mus_play("mus_irons_spotted_02",3,3); + soundscripts\_audio_mix_manager::mm_add_submix("irons_stealth_broken"); + level notify("aud_stop_lowstealth"); + level.aud_lowstealth = 0; + break; + } + } + + wait(0.05); + } +} + +//Function Number: 111 +aud_panic_walla() +{ + if(common_scripts\utility::flag("aud_human_activity_area_1") == 1) + { + soundscripts\_snd_playsound::snd_play_loop_at("irons_panic_walla",(-6356,-2859,233),undefined,1); + return; + } + + if(common_scripts\utility::flag("aud_human_activity_area_2") == 1) + { + soundscripts\_snd_playsound::snd_play_loop_at("irons_panic_walla",(-3550,-879,619),undefined,1); + } +} + +//Function Number: 112 +aud_foliage_movement() +{ + level.player endon("death"); + var_00 = level.player soundscripts\_snd_playsound::snd_play_loop_linked("irons_foliage_movement_plr_lp"); + var_00 setvolume(0,0); + var_01 = 0; + while(isdefined(var_00)) + { + if(common_scripts\utility::flag("aud_foliage_1") == 1 || common_scripts\utility::flag("aud_foliage_2") == 1 || common_scripts\utility::flag("aud_foliage_3") == 1) + { + var_02 = distance(level.player getvelocity(),(0,0,0)); + if(var_02 > 0) + { + if(level.player getstance() == "crouch") + { + var_02 = var_02 / 140; + } + else if(level.player getstance() == "prone") + { + var_02 = var_02 / 30; + } + else + { + var_02 = var_02 / 220; + } + } + + if(var_02 > 1) + { + var_02 = 1; + } + + if(common_scripts\utility::flag("aud_grapple_kill_foliage_movement")) + { + var_00 scalevolume(1,0.1); + while(common_scripts\utility::flag("aud_grapple_kill_foliage_movement")) + { + wait(0.1); + } + + var_00 scalevolume(0,0.8); + } + else + { + var_00 scalevolume(var_02,0.1); + } + + thread aud_foliage_insects(); + continue; + } + + var_00 scalevolume(0,0.6); + wait(0.2); + } +} + +//Function Number: 113 +aud_foliage_mix() +{ + level.player endon("death"); + var_00 = "stand"; + for(;;) + { + var_01 = level.player getstance(); + if(var_01 != var_00) + { + if(common_scripts\utility::flag("aud_foliage_1") == 1 || common_scripts\utility::flag("aud_foliage_2") == 1 || common_scripts\utility::flag("aud_foliage_3") == 1) + { + if(var_01 == "crouch") + { + soundscripts\_audio_mix_manager::mm_add_submix("irons_player_in_foliage_crouch",0.5); + soundscripts\_audio_mix_manager::mm_clear_submix("irons_player_in_foliage_prone",0.5); + soundscripts\_audio_mix_manager::mm_clear_submix("irons_player_in_foliage_stand",0.5); + } + else if(var_01 == "prone") + { + soundscripts\_audio_mix_manager::mm_clear_submix("irons_player_in_foliage_crouch",0.5); + soundscripts\_audio_mix_manager::mm_add_submix("irons_player_in_foliage_prone",0.5); + soundscripts\_audio_mix_manager::mm_clear_submix("irons_player_in_foliage_stand",0.5); + } + else + { + soundscripts\_audio_mix_manager::mm_clear_submix("irons_player_in_foliage_crouch",0.5); + soundscripts\_audio_mix_manager::mm_clear_submix("irons_player_in_foliage_prone",0.5); + soundscripts\_audio_mix_manager::mm_add_submix("irons_player_in_foliage_stand",0.5); + } + } + else + { + soundscripts\_audio_mix_manager::mm_clear_submix("irons_player_in_foliage_crouch",0.5); + soundscripts\_audio_mix_manager::mm_clear_submix("irons_player_in_foliage_prone",0.5); + soundscripts\_audio_mix_manager::mm_clear_submix("irons_player_in_foliage_stand",0.5); + } + } + + var_00 = var_01; + wait(0.2); + } +} + +//Function Number: 114 +aud_foliage_insects() +{ + if(randomint(100) > 94 && level.aud_insect_sound == 0) + { + level.aud_insect_sound = 1; + if(randomint(10) == 0) + { + var_00 = level.player.origin + (randomintrange(-50,50),randomintrange(-50,50),0); + soundscripts\_snd_playsound::snd_play_at("irons_insect_buzz",var_00); + } + else + { + var_01 = randomint(4); + switch(var_01) + { + case 0: + var_02 = level.player.origin + (randomintrange(-1000,1000),randomintrange(-1000,1000),0); + var_03 = randomint(7); + for(var_04 = 0;var_04 < var_03;var_04++) + { + soundscripts\_snd_playsound::snd_play_at("irons_insect_chirp_a",var_02); + wait(0.8); + } + break; + + case 1: + var_05 = level.player.origin + (randomintrange(-1000,1000),randomintrange(-1000,1000),0); + var_03 = randomint(4); + for(var_04 = 0;var_04 < var_03;var_04++) + { + soundscripts\_snd_playsound::snd_play_at("irons_insect_chirp_b",var_05); + wait(0.7); + } + break; + + case 2: + var_06 = level.player.origin + (randomintrange(-1000,1000),randomintrange(-1000,1000),0); + var_03 = randomint(7); + for(var_04 = 0;var_04 < var_03;var_04++) + { + soundscripts\_snd_playsound::snd_play_at("irons_insect_chirp_c",var_06); + wait(0.75); + } + break; + + case 3: + var_07 = level.player.origin + (randomintrange(-1000,1000),randomintrange(-1000,1000),0); + var_03 = randomint(4); + for(var_04 = 0;var_04 < var_03;var_04++) + { + soundscripts\_snd_playsound::snd_play_at("irons_insect_chirp_d",var_07); + wait(0.5); + } + break; + + case 4: + var_08 = level.player.origin + (randomintrange(-1000,1000),randomintrange(-1000,1000),0); + soundscripts\_snd_playsound::snd_play_at("irons_insect_chirp_random",var_08); + break; + } + } + + wait(1); + level.aud_insect_sound = 0; + } +} + +//Function Number: 115 +aud_grapple_kill_foliage() +{ + if(common_scripts\utility::flag("aud_foliage_1") == 1 || common_scripts\utility::flag("aud_foliage_2") == 1 || common_scripts\utility::flag("aud_foliage_3") == 1) + { + soundscripts\_snd_playsound::snd_play_2d("irons_stealth_kill_foliage"); + common_scripts\utility::flag_set("aud_grapple_kill_foliage_movement"); + wait(3); + common_scripts\utility::flag_clear("aud_grapple_kill_foliage_movement"); + } +} + +//Function Number: 116 +aud_grapple_from_foliage() +{ + if(common_scripts\utility::flag("aud_foliage_1") == 1 || common_scripts\utility::flag("aud_foliage_2") == 1 || common_scripts\utility::flag("aud_foliage_3") == 1) + { + wait(0.2); + soundscripts\_snd_playsound::snd_play_2d("irons_foliage_collision"); + } +} + +//Function Number: 117 +aud_stealth_melee() +{ + soundscripts\_audio_mix_manager::mm_add_submix("irons_stealth_melee"); + wait(1.2); + soundscripts\_audio_mix_manager::mm_clear_submix("irons_stealth_melee"); +} + +//Function Number: 118 +forklift_audio_loop() +{ + for(;;) + { + self waittillmatch("forklift_sound_001","looping anim"); + wait(1); + soundscripts\_snd_playsound::snd_play_linked("irons_hangar_forklift_path2"); + self waittillmatch("forklift_sound_300","looping anim"); + wait(0.3); + soundscripts\_snd_playsound::snd_play_linked("irons_hangar_forklift_slow_to_stop"); + wait(3.2); + soundscripts\_snd_playsound::snd_play_linked("irons_hangar_forklift_reverse_beeps"); + wait(0.3); + soundscripts\_snd_playsound::snd_play_linked("irons_hangar_forklift_3p_turn"); + wait(2); + soundscripts\_snd_playsound::snd_play_linked("irons_hangar_forklift_path1"); + self waittillmatch("forklift_sound_700","looping anim"); + wait(0.5); + soundscripts\_snd_playsound::snd_play_linked("irons_hangar_forklift_slow_to_stop"); + } +} \ No newline at end of file diff --git a/AW/PC/maps/irons_estate_bedroom.gsc b/AW/PC/maps/irons_estate_bedroom.gsc new file mode 100644 index 0000000..b30e8f5 --- /dev/null +++ b/AW/PC/maps/irons_estate_bedroom.gsc @@ -0,0 +1,228 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: irons_estate_bedroom.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 10 + * Decompile Time: 160 ms + * Timestamp: 4/22/2024 2:31:44 AM +*******************************************************************/ + +//Function Number: 1 +bedroom_start() +{ + level.start_point_scripted = "penthouse"; + maps\irons_estate::irons_estate_objectives(); + maps\irons_estate_code::spawn_player_checkpoint(); + maps\irons_estate_code::spawn_allies(); + thread maps\irons_estate_civilians::civilian_driveway_scene(); + thread maps\irons_estate_penthouse::ie_west_enemies(); + soundscripts\_snd::snd_message("start_bedroom"); + objective_add(maps\_utility::obj("penthouse"),"current",&"IRONS_ESTATE_OBJ_PENTHOUSE"); + var_00 = common_scripts\utility::getstruct("penthouse_balcony_interior_obj","targetname"); + objective_position(maps\_utility::obj("penthouse"),var_00.origin); +} + +//Function Number: 2 +bedroom_main() +{ + level.start_point_scripted = "penthouse"; + thread bedroom_begin(); + common_scripts\utility::flag_wait("bedroom_end"); + common_scripts\utility::flag_set("_stealth_enabled"); + thread maps\_utility::autosave_stealth(); +} + +//Function Number: 3 +bedroom_begin() +{ + common_scripts\utility::flag_set("bedroom_start"); + level.play_ally_warning_vo = undefined; + level.play_ally_callout_vo = undefined; + level.ally_vo_org stopsounds(); + wait(0.05); + level.player.grapple["dist_max"] = 800; + thread balcony_entrance_doors(); + thread meet_cormack_cormack(); + wait(0.05); + thread maps\irons_estate_intel::setup_intel_player(); + thread maps\irons_estate_intel::vo_test(); + thread maps\irons_estate_intel::temp_bink_stuff(); +} + +//Function Number: 4 +meet_cormack_cormack() +{ + level.meet_cormack_kill_org = common_scripts\utility::getstruct("meet_cormack_kill_org","targetname"); + var_00 = maps\_utility::spawn_targetname("cormack_stealth_takedown_guy",1); + var_00.animname = "cormack_stealth_takedown_guy"; + var_00.health = 1; + var_00.diequietly = 1; + var_00.grapple_magnets = []; + var_00.tagged = undefined; + var_00 maps\_utility::gun_remove(); + if(!isdefined(level.allies[0])) + { + level.allies[0] = maps\irons_estate_code::spawn_ally("cormack"); + level.allies[0].animname = "cormack"; + level.allies[0] thread maps\irons_estate_code::set_helmet_open(); + } + + level.allies[0] maps\_utility::enable_cqbwalk(); + level.allies[0] maps\_utility::set_forcegoal(); + level.allies[0] maps\_utility::set_fixednode_true(); + level.allies[0] maps\_utility::set_fixednode_true(); + level.allies[0] maps\_utility::set_forcegoal(); + level.allies[0] maps\_utility::set_goalradius(16); + var_01 = maps\_utility::spawn_anim_model("base_grapple_scale_rope"); + var_01 hide(); + var_02 = maps\_utility::spawn_anim_model("genericprop_x5"); + level.meet_cormack_kill_org maps\_anim::anim_first_frame([level.allies[0],var_00,var_01,var_02],"pent_enter"); + wait(0.05); + var_03 = getent("pent_enter_door_left","targetname"); + var_04 = getent("pent_enter_door_right","targetname"); + var_05 = getent("pent_desk_chair","targetname"); + var_06 = getent("pent_desk_chair_clip","targetname"); + var_06 linkto(var_05); + var_07 = getent("office_painting","targetname"); + var_07 linkto(var_02,"j_prop_4"); + wait(0.05); + var_03 linkto(var_02,"j_prop_1",(0,0,0),(0,0,0)); + var_04 linkto(var_02,"j_prop_2",(0,0,0),(0,0,0)); + var_05 linkto(var_02,"j_prop_3",(0,0,0),(0,0,0)); + wait(0.05); + var_08 = getent("pent_enter_door_left_clip","targetname"); + var_09 = getent("pent_enter_door_right_clip","targetname"); + if(isdefined(var_08) && isdefined(var_09)) + { + var_08 linkto(var_02,"j_prop_1"); + var_09 linkto(var_02,"j_prop_2"); + } + + common_scripts\utility::flag_wait("player_entered_balcony_door"); + maps\irons_estate_code::irons_estate_stealth_disable(); + player_reached_stealth_finish_line(); + soundscripts\_snd::snd_message("aud_cormack_grapple_kill"); + maps\_utility::objective_complete(maps\_utility::obj("penthouse")); + level.meet_cormack_kill_org thread maps\_anim::anim_single([level.allies[0],var_00,var_01,var_02],"pent_enter"); + var_01 thread cormack_stealth_takedown_rope_waits(); + var_00 thread cormack_stealth_takedown_guy_waits(); + level.allies[0] waittillmatch("greeting","single anim"); + if(isdefined(level.death_counter) && level.death_counter >= 10) + { + level.allies[0] thread maps\_utility::smart_dialogue("ie_crmk_lotofbodies"); + } + else if(common_scripts\utility::flag("someone_became_alert")) + { + level.allies[0] thread maps\_utility::smart_dialogue("ie_crmk_cutitclose"); + } + else + { + var_0A = []; + var_0A[var_0A.size] = "ie_crmk_gettinghere3"; + var_0A[var_0A.size] = "ie_crmk_niceandclean3"; + var_0A[var_0A.size] = "ie_crmk_perfectrun3"; + level.allies[0] thread maps\_utility::smart_dialogue(common_scripts\utility::random(var_0A)); + } + + level.allies[0] waittillmatch("end","single anim"); + common_scripts\utility::flag_set("bedroom_end"); +} + +//Function Number: 5 +player_reached_stealth_finish_line() +{ + var_00 = 0; + foreach(var_02 in level.active_drones) + { + if(var_02.mode == "attack") + { + maps\irons_estate_code::player_alerted_mission_fail(); + var_00 = 1; + break; + } + + var_02 thread vehicle_scripts\_pdrone_security::drone_return_home(undefined,var_02.prev_attached_path); + } + + if(!var_00) + { + common_scripts\utility::flag_clear("force_stealth_spotted_drones"); + common_scripts\utility::flag_clear("_stealth_spotted"); + level notify("drones_abort"); + foreach(var_02 in level.active_drones) + { + var_02 thread vehicle_scripts\_pdrone_security::drone_return_home(undefined,var_02.prev_attached_path); + } + + common_scripts\utility::flag_clear("_stealth_enabled"); + } +} + +//Function Number: 6 +cormack_stealth_takedown_rope_waits() +{ + self show(); + self waittillmatch("end","single anim"); + self delete(); +} + +//Function Number: 7 +cormack_stealth_takedown_guy_waits() +{ + thread cormack_stealth_takedown_guard_sounds(); + self waittillmatch("kill_me","single anim"); + self.health = 1; + self.allowdeath = 1; + self.diequietly = 1; + self.a.nodeath = 1; + self.noragdoll = 1; + self kill(); +} + +//Function Number: 8 +cormack_stealth_takedown_guard_sounds() +{ + self endon("death"); + if(isdefined(self)) + { + wait(0.3); + soundscripts\_snd_playsound::snd_play_linked("irons_pent_grap_kill_start_guard"); + wait(0.1); + soundscripts\_snd_playsound::snd_play_linked("irons_pent_grap_kill_pain1"); + wait(1.5); + soundscripts\_snd_playsound::snd_play_linked("irons_pent_grap_kill_pain2"); + wait(1.2); + soundscripts\_snd_playsound::snd_play_linked("irons_pent_grap_kill_pain3"); + } +} + +//Function Number: 9 +fog_entrance_doors() +{ + common_scripts\_exploder::exploder(13); + common_scripts\_exploder::exploder(14); + common_scripts\_exploder::exploder(15); +} + +//Function Number: 10 +balcony_entrance_doors() +{ + var_00 = getent("balcony_entrance_door_left","targetname"); + var_01 = getent("balcony_entrance_door_right","targetname"); + var_00 moveto(var_00.origin + anglestoright(var_00.angles) * 64 * -1,1); + var_01 moveto(var_01.origin + anglestoright(var_01.angles) * 64,1); + soundscripts\_snd::snd_message("aud_penthouse_front_door"); + wait(1.05); + var_02 = getent("balcony_entrance_door_player_clip","targetname"); + var_02 notsolid(); + var_02 connectpaths(); + common_scripts\utility::flag_set("balcony_entrance_doors_opened"); + common_scripts\utility::flag_wait("player_entered_balcony_door"); + var_02 solid(); + var_02 disconnectpaths(); + var_00 moveto(var_00.origin + anglestoright(var_00.angles) * 64,1); + var_01 moveto(var_01.origin + anglestoright(var_01.angles) * 64 * -1,1); + wait(1.05); + thread fog_entrance_doors(); +} \ No newline at end of file diff --git a/AW/PC/maps/irons_estate_briefing.gsc b/AW/PC/maps/irons_estate_briefing.gsc new file mode 100644 index 0000000..5ebc550 --- /dev/null +++ b/AW/PC/maps/irons_estate_briefing.gsc @@ -0,0 +1,256 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: irons_estate_briefing.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 16 + * Decompile Time: 251 ms + * Timestamp: 4/22/2024 2:31:45 AM +*******************************************************************/ + +//Function Number: 1 +briefing_start() +{ + level.start_point_scripted = "briefing"; + maps\irons_estate_code::spawn_player_checkpoint(); + maps\irons_estate_code::spawn_allies(); + level.player maps\_grapple::grapple_take(); + level.player maps\_tagging::tagging_set_enabled(0); +} + +//Function Number: 2 +briefing_main() +{ + level.start_point_scripted = "briefing"; + thread briefing_begin(); + soundscripts\_snd::snd_message("aud_briefing"); + common_scripts\utility::flag_wait("briefing_end"); + maps\_utility::autosave_stealth(); +} + +//Function Number: 3 +briefing_begin() +{ + level.briefing_anim_struct = common_scripts\utility::getstruct("briefing_anim_struct_new","targetname"); + thread handle_briefing(); + level.allies[0] thread briefing_allies(); + level.allies[1] thread briefing_allies(); + level.allies[2] thread briefing_allies(); + level.allies[0] thread maps\irons_estate_code::hide_friendname_until_flag_or_notify("player_can_move"); + level.allies[1] thread maps\irons_estate_code::hide_friendname_until_flag_or_notify("player_can_move"); + level.allies[2] thread maps\irons_estate_code::hide_friendname_until_flag_or_notify("player_can_move"); + thread briefing_ambient_allies(); + thread brief_fx(); +} + +//Function Number: 4 +handle_briefing() +{ + thread briefing_player(); + thread introscreen(); + common_scripts\utility::flag_wait("introscreen1_complete"); + thread briefing_obj(); + level waittill("player_can_move"); + wait(1); + thread maps\_utility::center_screen_text(&"IRONS_ESTATE_CENTER_SCREEN_TEXT1"); + level.allies[0] waittillmatch("fade_start","single anim"); + thread maps\_hud_util::fade_out(2,"black"); + wait(2); + common_scripts\utility::flag_set("teleport_to_base"); + wait(3); + common_scripts\utility::flag_set("briefing_end"); +} + +//Function Number: 5 +briefing_player() +{ + level.player freezecontrols(1); + level.player thread maps\_shg_utility::disable_features_entering_cinema(1); + level.player lerpfov(50,0.05); + level.player giveweapon("s1_unarmed"); + level.player switchtoweaponimmediate("s1_unarmed"); + level.player disableweaponswitch(); + level.player disableweapons(); + level.player allowmelee(0); + level.player allowsprint(0); + level.player allowads(0); + level.player setmovespeedscale(0.5); + level.player setstance("stand"); + level.player allowprone(0); + level.player allowcrouch(0); + level.player_rig = maps\_utility::spawn_anim_model("player_rig"); + level.player_rig hide(); + level.briefing_anim_struct maps\_anim::anim_first_frame_solo(level.player_rig,"briefing_start"); + level.player playerlinktodelta(level.player_rig,"tag_player",0,0,0,0,0,1); + common_scripts\utility::flag_wait("introscreen1_complete"); + thread look_control_on(); + thread lerp_fov_wait(); + level.briefing_anim_struct maps\_anim::anim_single_solo(level.player_rig,"briefing_start"); + level.player_rig delete(); + level notify("player_can_move"); + level.player unlink(); + level.player enableweapons(); + level.player allowprone(1); + level.player allowcrouch(1); + level.player freezecontrols(0); + common_scripts\utility::flag_wait("teleport_to_base"); + var_00 = common_scripts\utility::getstruct("intro_start","targetname"); + level.player maps\_utility::teleport_player(var_00); + var_00 = common_scripts\utility::getstruct("intro_start","targetname"); + var_01 = spawn("script_model",var_00.origin); + var_01 setmodel("tag_origin"); + var_01.angles = var_00.angles; + level.player playerlinkto(var_01,"tag_origin",0,0,0,0,0,0); +} + +//Function Number: 6 +lerp_fov_wait() +{ + level.player_rig waittillmatch("fov_lerp_start","single anim"); + level.player lerpfov(65,3); +} + +//Function Number: 7 +look_control_on() +{ + wait(2); + level.player lerpviewangleclamp(1,1,1,5,5,3,3); +} + +//Function Number: 8 +introscreen() +{ + thread maps\_shg_utility::play_chyron_video("chyron_text_irons_estate",undefined,2); + common_scripts\utility::flag_wait("chyron_video_done"); + common_scripts\utility::flag_set("introscreen1_complete"); +} + +//Function Number: 9 +briefing_obj() +{ +} + +//Function Number: 10 +briefing_allies() +{ + self.ignoreall = 1; + maps\_utility::gun_remove(); + var_00 = undefined; + level.briefing_anim_struct maps\_anim::anim_first_frame_solo(self,"briefing_start"); + if(self == level.allies[2]) + { + var_00 = spawn("script_model",(0,0,0)); + var_00 setmodel("greece_drone_control_pad"); + playfxontag(level._effect["ie_light_teal_briefing_knox"],var_00,"tag_origin"); + var_00 linkto(self,"tag_weapon_left",(0,0,0),(0,0,0)); + } + + common_scripts\utility::flag_wait("introscreen1_complete"); + level.briefing_anim_struct thread maps\_anim::anim_single_solo(self,"briefing_start"); + common_scripts\utility::flag_wait("teleport_to_base"); + maps\_utility::anim_stopanimscripted(); + maps\_utility::gun_recall(); + if(self == level.allies[2]) + { + killfxontag(level._effect["ie_light_teal_briefing_knox"],var_00,"tag_origin"); + wait(0.05); + var_00 delete(); + } + + if(isdefined(self.magic_bullet_shield)) + { + maps\_utility::stop_magic_bullet_shield(); + } + + self delete(); +} + +//Function Number: 11 +briefing_ambient_allies() +{ + maps\_utility::array_spawn_function_targetname("briefing_ally_spawner",::briefing_ambient_ally_setup); + var_00 = maps\_utility::array_spawn_targetname("briefing_ally_spawner",1); +} + +//Function Number: 12 +briefing_ambient_ally_setup() +{ + self.ignoreall = 1; + self.animname = self.script_noteworthy; + level.briefing_anim_struct maps\_anim::anim_first_frame_solo(self,"briefing_start_" + self.script_noteworthy); + if(self.animname == "worker1" || self.animname == "worker2" || self.animname == "worker3") + { + maps\_utility::gun_remove(); + } + + common_scripts\utility::flag_wait("introscreen1_complete"); + level.briefing_anim_struct maps\_anim::anim_single_solo(self,"briefing_start_" + self.script_noteworthy); + common_scripts\utility::flag_wait("teleport_to_base"); + self delete(); +} + +//Function Number: 13 +briefing_vignettes() +{ + var_00 = common_scripts\utility::getstructarray("briefing_vignette","targetname"); + var_01 = getent("briefing_spawner","targetname"); + foreach(var_03 in var_00) + { + var_01.count = 1; + var_04 = var_01 maps\_utility::spawn_ai(1); + var_04 thread briefing_vignette_anims(var_03); + thread briefing_vignette_cleanup(var_03,var_04); + wait 0.05; + } + + var_06 = common_scripts\utility::getstructarray("briefing_business_male_vignette","targetname"); + var_07 = getent("briefing_business_male_spawner","targetname"); + foreach(var_09 in var_06) + { + var_07.count = 1; + var_0A = var_07 maps\_utility::spawn_ai(1); + var_0A thread briefing_vignette_anims(var_09); + thread briefing_vignette_cleanup(var_09,var_0A); + wait 0.05; + } + + var_0C = common_scripts\utility::getstructarray("briefing_business_female_vignette","targetname"); + var_0D = getent("briefing_business_female_spawner","targetname"); + foreach(var_0F in var_0C) + { + var_0D.count = 1; + var_10 = var_0D maps\_utility::spawn_ai(1); + var_10 thread briefing_vignette_anims(var_0F); + thread briefing_vignette_cleanup(var_0F,var_10); + wait 0.05; + } +} + +//Function Number: 14 +briefing_vignette_anims(param_00) +{ + self.animname = "generic"; + if(self.classname == "actor_ally_sentinel_bal27") + { + maps\_utility::gun_remove(); + } + + wait(randomfloatrange(0.05,0.5)); + param_00 thread maps\_anim::anim_loop_solo(self,param_00.animation); +} + +//Function Number: 15 +briefing_vignette_cleanup(param_00,param_01) +{ + common_scripts\utility::flag_wait("teleport_to_base"); + param_00 notify("stop_loop"); + param_01 delete(); +} + +//Function Number: 16 +brief_fx() +{ + common_scripts\_exploder::exploder(4300); + common_scripts\utility::flag_wait("briefing_end"); + maps\_utility::stop_exploder(4300); +} \ No newline at end of file diff --git a/AW/PC/maps/irons_estate_car_alarm.gsc b/AW/PC/maps/irons_estate_car_alarm.gsc new file mode 100644 index 0000000..4d60a3a --- /dev/null +++ b/AW/PC/maps/irons_estate_car_alarm.gsc @@ -0,0 +1,177 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: irons_estate_car_alarm.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 7 + * Decompile Time: 109 ms + * Timestamp: 4/22/2024 2:31:45 AM +*******************************************************************/ + +//Function Number: 1 +car_alarm_main(param_00,param_01) +{ + var_02 = getentarray(param_00,"targetname"); + var_02 = maps\_utility::remove_without_classname(var_02,"trigger_multiple"); + foreach(var_04 in var_02) + { + var_05 = getent(var_04.script_linkto,"script_linkname"); + var_05 setcandamage(1); + var_05 setcanradiusdamage(1); + var_05.health = 99999999; + var_04 thread car_alarm_setup(var_05,param_01); + } +} + +//Function Number: 2 +car_alarm_setup(param_00,param_01) +{ + level endon("car_alarm_triggered"); + thread player_touched_car_watcher(param_00,param_01); + param_00 thread player_damaged_car_watcher(param_01); + var_02 = param_00 common_scripts\utility::waittill_any_return("player_touched","player_damaged","remotely_hacked"); + if(isdefined(var_02)) + { + if(var_02 == "player_touched") + { + param_00 thread start_car_alarm("player_touched"); + } + else if(var_02 == "player_damaged") + { + param_00 thread start_car_alarm("player_damaged"); + } + else if(var_02 == "remotely_hacked") + { + param_00 thread start_car_alarm("remotely_hacked"); + } + } + + level notify("stop_all_player_touched_car_watchers"); + level notify("stop_all_player_damaged_car_watchers"); + level notify("car_alarm_triggered"); +} + +//Function Number: 3 +player_touched_car_watcher(param_00,param_01) +{ + self endon(param_01); + level endon("stop_all_player_touched_car_watchers"); + param_00 endon("player_touched"); + param_00 endon("player_damaged"); + self waittill("trigger"); + param_00 notify("player_touched"); +} + +//Function Number: 4 +player_damaged_car_watcher(param_00) +{ + self endon(param_00); + level endon("stop_all_player_damaged_car_watchers"); + self endon("player_touched"); + self endon("player_damaged"); + for(;;) + { + self waittill("damage",var_01,var_02); + if(isdefined(var_02) && var_02 == level.player) + { + self notify("player_damaged"); + continue; + } + + wait(0.05); + } +} + +//Function Number: 5 +start_car_alarm(param_00) +{ + self endon("death"); + var_01[0] = spawnstruct(); + var_01[0].vo = "ie_iln_getout6"; + var_01[0].vo_priority = 4; + var_01[1] = spawnstruct(); + var_01[1].vo = "ie_lin_stayout4"; + var_01[1].vo_priority = 4; + thread maps\irons_estate_code::notifyaftertime("stop_car_alarm","stop_car_alarm",10); + thread car_alarm_sound(); + if(!common_scripts\utility::flag("_stealth_spotted")) + { + if(isdefined(param_00) && !common_scripts\utility::flag("meet_cormack_start")) + { + if(param_00 == "player_touched") + { + thread maps\irons_estate_code::ally_vo_controller(var_01[0]); + } + else if(param_00 == "player_damaged") + { + thread maps\irons_estate_code::ally_vo_controller(var_01[1]); + } + } + + wait(0.25); + var_02 = getaiarray("axis"); + foreach(var_04 in var_02) + { + if((isdefined(var_04.script_parameters) && var_04.script_parameters == "ignore_car_alarm") || isdefined(var_04.script_noteworthy) && var_04.script_noteworthy == "ignore_car_alarm") + { + var_02 = common_scripts\utility::array_remove(var_02,var_04); + } + } + + var_06 = common_scripts\utility::get_array_of_closest(self.origin,var_02,undefined,undefined,1024,undefined); + if(isdefined(var_06)) + { + foreach(var_08 in var_06) + { + wait(0.1); + if(!common_scripts\utility::flag("_stealth_spotted") && isalive(var_08) && isdefined(var_08._stealth)) + { + var_08 notify("reaction_generic",self.origin); + var_09 = maps\_stealth_shared_utilities::group_get_ai_in_group(var_08.script_stealthgroup); + if(isdefined(var_09)) + { + foreach(var_04 in var_09) + { + if(var_04 == self) + { + continue; + } + + if(isdefined(var_04.enemy) || isdefined(var_04.favoriteenemy)) + { + continue; + } + + var_04 thread maps\irons_estate_code::notify_delay_param("reaction_generic",randomfloatrange(0.1,0.5),self.origin); + } + + break; + } + } + } + } + } +} + +//Function Number: 6 +car_alarm_sound() +{ + self endon("death"); + self endon("stop_car_alarm"); + thread turn_off_car_alarm(); + for(;;) + { + self playsound("car_alarm_horn_01"); + wait(1.08); + } +} + +//Function Number: 7 +turn_off_car_alarm() +{ + self endon("death"); + self waittill("stop_car_alarm"); + self stopsounds(); + wait(0.05); + self playsound("car_alarm_horn_chirp"); +} \ No newline at end of file diff --git a/AW/PC/maps/irons_estate_civilians.gsc b/AW/PC/maps/irons_estate_civilians.gsc new file mode 100644 index 0000000..f019572 --- /dev/null +++ b/AW/PC/maps/irons_estate_civilians.gsc @@ -0,0 +1,1578 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: irons_estate_civilians.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 54 + * Decompile Time: 774 ms + * Timestamp: 4/22/2024 2:31:48 AM +*******************************************************************/ + +//Function Number: 1 +ie_poolhouse_civilian_vignettes() +{ + if(!isdefined(level.civilian_body_and_head_setup)) + { + civilian_head_and_body_setup(); + } + + common_scripts\utility::flag_init("civilians_pool_alerted"); + maps\_utility::array_spawn_function_targetname("civilian_pool_spawner",::civilian_pool_spawner_setup,"civilians_pool"); + var_00 = maps\_utility::array_spawn_targetname("civilian_pool_spawner",1); + level.active_civilians = common_scripts\utility::array_combine(level.active_civilians,var_00); + foreach(var_02 in var_00) + { + if(isdefined(var_02.script_noteworthy)) + { + if(var_02.script_noteworthy == "civilian_pool_1") + { + var_02 civilian_head_and_body_swap(level.civilian_urban_male_b); + level.civilian_pool_1 = var_02; + } + + if(var_02.script_noteworthy == "civilian_pool_2") + { + var_02 civilian_head_and_body_swap(level.civilian_urban_male_d); + level.civilian_pool_2 = var_02; + } + + if(var_02.script_noteworthy == "civilian_pool_3") + { + var_02 civilian_head_and_body_swap(level.civilian_urban_female_a); + level.civilian_pool_3 = var_02; + } + + if(var_02.script_noteworthy == "civilian_pool_4") + { + var_02 civilian_head_and_body_swap(level.civilian_urban_male_e); + } + } + } + + thread civilian_pool_vo(); + common_scripts\utility::flag_wait("player_in_estate"); + maps\_utility::array_spawn_function_targetname("civilian_poolhouse_spawner",::civilian_pool_spawner_setup,"civilians_poolhouse"); + var_04 = maps\_utility::array_spawn_targetname("civilian_poolhouse_spawner",1); + level.active_civilians = common_scripts\utility::array_combine(level.active_civilians,var_04); + foreach(var_02 in var_04) + { + if(isdefined(var_02.script_noteworthy)) + { + if(var_02.script_noteworthy == "civilian_poolhouse_1") + { + level.civilian_poolhouse_1 = var_02; + level.civilian_poolhouse_1.no_below_vo = 1; + } + + if(var_02.script_noteworthy == "civilian_poolhouse_2") + { + level.civilian_poolhouse_2 = var_02; + level.civilian_poolhouse_2.no_below_vo = 1; + } + + if(var_02.script_noteworthy == "civilian_poolhouse_3") + { + level.civilian_poolhouse_3 = var_02; + level.civilian_poolhouse_3.no_below_vo = 1; + } + } + } + + thread civilian_poolhouse_vo("emp_detonated"); + common_scripts\utility::flag_wait("penthouse_start"); + if(!common_scripts\utility::flag("civilian_poolhouse_conversation")) + { + thread civilian_poolhouse_vo("player_enters_front_yard_save_2"); + } +} + +//Function Number: 2 +civilian_pool_spawner_setup(param_00) +{ + self endon("death"); + self endon("alerted"); + self.animname = "generic"; + self.allowdeath = 1; + var_01 = common_scripts\utility::getstruct(self.script_noteworthy + "_struct","targetname"); + thread civilian_alert_watcher("player_enters_front_yard_save_2",param_00,"civilians_pool_alerted"); + thread civilian_alert_behavior("player_enters_front_yard_save_2",var_01); + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "civilian_poolhouse_1") + { + civilian_head_and_body_swap(level.civilian_african_male_d); + var_02 = spawn("script_model",(0,0,0)); + var_02 setmodel("base_pool_stick_01"); + var_02 linkto(self,"tag_weapon_right",(0,0,0),(0,0,0)); + thread poolhouse_prop_cleanup(var_02); + self.fovcosinez = cos(20); + } + + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "civilian_poolhouse_2") + { + civilian_head_and_body_swap(level.civilian_african_male_c); + var_02 = spawn("script_model",(0,0,0)); + var_02 setmodel("base_pool_stick_01"); + var_02 linkto(self,"tag_weapon_left",(0,0,0),(0,0,0)); + thread poolhouse_prop_cleanup(var_02); + self.fovcosinez = cos(20); + } + + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "civilian_poolhouse_3") + { + civilian_head_and_body_swap(level.civilian_urban_male_e); + var_03 = spawn("script_model",(0,0,0)); + var_03 setmodel("cellphone_kit_03"); + var_03 linkto(self,"tag_inhand",(0,-1,-3),(0,180,0)); + thread poolhouse_prop_cleanup(var_03); + self.fovcosinez = cos(20); + } + + var_01 thread maps\_anim::anim_loop_solo(self,self.script_noteworthy,"stop_loop"); + common_scripts\utility::flag_wait("player_enters_front_yard_save_2"); + self delete(); +} + +//Function Number: 3 +poolhouse_prop_cleanup(param_00) +{ + common_scripts\utility::flag_wait_either("civilians_pool_alerted","player_enters_front_yard_save_2"); + if(isdefined(param_00)) + { + param_00 delete(); + } +} + +//Function Number: 4 +civilian_pool_vo() +{ + level endon("emp_detonated"); + level.civilian_pool_1 endon("death"); + level.civilian_pool_2 endon("death"); + level.civilian_pool_3 endon("death"); + common_scripts\utility::flag_wait("civilian_pool_conversation"); + if(common_scripts\utility::flag("_stealth_spotted")) + { + return; + } + + level endon("_stealth_spotted"); + level.civilian_pool_1 thread stop_civilian_conversation("emp_detonated"); + level.civilian_pool_2 thread stop_civilian_conversation("emp_detonated"); + level.civilian_pool_3 thread stop_civilian_conversation("emp_detonated"); + level.civilian_pool_3 maps\_utility::smart_dialogue("ie_cf1_cleanedup"); + level.civilian_pool_1 maps\_utility::smart_dialogue("ie_cm1_itsamazing"); + level.civilian_pool_1 maps\_utility::smart_dialogue("ie_cf1_radiation"); + level.civilian_pool_1 maps\_utility::smart_dialogue("ie_cm1_newbusinesses"); + level.civilian_pool_3 maps\_utility::smart_dialogue("ie_cf1_bankrupt"); + level.civilian_pool_1 maps\_utility::smart_dialogue("ie_cm1_techsector"); + level.civilian_pool_3 maps\_utility::smart_dialogue("ie_cf1_terroristcell"); + level.civilian_pool_1 maps\_utility::smart_dialogue("ie_cm1_pissedoff"); + level.civilian_pool_3 maps\_utility::smart_dialogue("ie_cf1_the99"); + level.civilian_pool_1 maps\_utility::smart_dialogue("ie_cm1_reinventeddetroit"); + level.civilian_pool_3 maps\_utility::smart_dialogue("ie_cf1_takingcredit"); + level.civilian_pool_1 maps\_utility::smart_dialogue("ie_cm1_notpublicly"); + level.civilian_pool_3 maps\_utility::smart_dialogue("ie_cf1_laughter5"); + level.civilian_pool_1 maps\_utility::smart_dialogue("ie_cm1_fema"); + level.civilian_pool_3 maps\_utility::smart_dialogue("ie_cf1_disgraceful"); +} + +//Function Number: 5 +civilian_poolhouse_vo(param_00) +{ + level endon(param_00); + level.civilian_poolhouse_1 endon("death"); + level.civilian_poolhouse_2 endon("death"); + level.civilian_poolhouse_3 endon("death"); + common_scripts\utility::flag_wait("civilian_poolhouse_conversation"); + if(common_scripts\utility::flag("_stealth_spotted")) + { + return; + } + + level endon("_stealth_spotted"); + level.civilian_poolhouse_1 thread stop_civilian_conversation(param_00); + level.civilian_poolhouse_2 thread stop_civilian_conversation(param_00); + level.civilian_poolhouse_3 thread stop_civilian_conversation(param_00); + level.civilian_poolhouse_1 maps\_utility::smart_dialogue("ie_cm1_rematchstill"); + level.civilian_poolhouse_2 maps\_utility::smart_dialogue("ie_cm2_brightearly"); + level.civilian_poolhouse_3 maps\_utility::smart_dialogue("ie_cm3_bettingnow"); + level.civilian_poolhouse_2 maps\_utility::smart_dialogue("ie_cm2_runtennis"); + level.civilian_poolhouse_3 maps\_utility::smart_dialogue("ie_cm3_yelling"); + level.civilian_poolhouse_2 maps\_utility::smart_dialogue("ie_cm2_asskicked"); + level.civilian_poolhouse_3 maps\_utility::smart_dialogue("ie_cm3_playedcollege"); + level.civilian_poolhouse_1 maps\_utility::smart_dialogue("ie_cm1_rightnow"); + level.civilian_poolhouse_3 maps\_utility::smart_dialogue("ie_cm3_thishour"); + level.civilian_poolhouse_2 maps\_utility::smart_dialogue("ie_cm2_sweetsetup"); + level.civilian_poolhouse_1 maps\_utility::smart_dialogue("ie_cm1_fastyoumove"); + level.civilian_poolhouse_3 maps\_utility::smart_dialogue("ie_cm3_thatnice"); + level.civilian_poolhouse_2 maps\_utility::smart_dialogue("ie_cm2_winner"); + level.civilian_poolhouse_3 maps\_utility::smart_dialogue("ie_cm3_youmeanyou"); + level.civilian_poolhouse_2 thread maps\_utility::smart_dialogue("ie_cm2_laughter3"); + wait(0.25); + level.civilian_poolhouse_3 maps\_utility::smart_dialogue("ie_cm3_laughter1"); + level.civilian_poolhouse_1 maps\_utility::smart_dialogue("ie_cm1_hilarious2"); + level.civilian_poolhouse_2 maps\_utility::smart_dialogue("ie_cm2_calmdown"); +} + +//Function Number: 6 +ie_west_civilian_vignettes() +{ + if(!isdefined(level.civilian_body_and_head_setup)) + { + civilian_head_and_body_setup(); + } + + thread civilian_walker_phone(); + thread civilian_guesthouse(); + thread civilian_drone_scan_scene(); + thread civilian_garage(); + thread civilian_right_side(); + thread civilian_in_running_car(); + thread civilian_driveway_scene(); +} + +//Function Number: 7 +civilian_walker_phone() +{ + level endon("player_enters_front_yard_save_2"); + common_scripts\utility::flag_init("civilian_walker_phone_alerted"); + common_scripts\utility::flag_init("civilian_walker_phone_delete"); + common_scripts\utility::flag_wait("spawn_civilian_walker_phone"); + if(common_scripts\utility::flag("_stealth_spotted")) + { + return; + } + + maps\_utility::array_spawn_function_targetname("civilian_walker_phone_spawner",::civilian_walker_phone_spawner_setup); + var_00 = maps\_utility::array_spawn_targetname("civilian_walker_phone_spawner",1); + level.active_civilians = common_scripts\utility::array_combine(level.active_civilians,var_00); + wait 0.05; + var_01 = spawn("script_model",(0,0,0)); + var_01 setmodel("cellphone_kit_03"); + var_01 linkto(var_00[0],"tag_weapon_right",(0,0,0),(0,0,0)); + common_scripts\utility::flag_wait_any("civilian_walker_phone_delete","civilian_walker_phone_alerted"); + var_01 delete(); +} + +//Function Number: 8 +civilian_walker_phone_spawner_setup() +{ + self endon("death"); + self endon("alerted"); + self.animname = "generic"; + self.allowdeath = 1; + civilian_head_and_body_swap(level.civilian_urban_female_c); + thread phone_conversation(); + thread stop_civilian_conversation("civilian_walker_phone_delete"); + maps\_utility::clear_run_anim(); + maps\_utility::set_run_anim("patrol_walk_lady_phone"); + self.patrol_walk_anim = "patrol_walk_lady_phone"; + var_00 = common_scripts\utility::getstruct("civilian_walker_phone_struct","targetname"); + thread civilian_alert_watcher("civilian_walker_phone_delete",undefined,"civilian_walker_phone_alerted"); + thread civilian_alert_behavior("civilian_walker_phone_delete",var_00,1,"civilian_walker_phone"); + common_scripts\utility::flag_wait("civilian_walker_phone"); + var_01 = 0; + var_02 = getentarray("civilian_walker_phone_delete_volume","targetname"); + foreach(var_04 in var_02) + { + if(!level.player istouching(var_04)) + { + var_01++; + if(var_01 == 2) + { + if(!maps\_utility::player_can_see_ai(self)) + { + common_scripts\utility::flag_set("civilian_walker_phone_delete"); + self delete(); + return; + } + } + } + } + + common_scripts\utility::flag_wait("player_enters_front_yard_save_4"); + self delete(); +} + +//Function Number: 9 +phone_conversation() +{ + self endon("death"); + self endon("alerted"); + wait(1); + maps\_utility::smart_dialogue("ie_lrn_hello"); + wait(1); + maps\_utility::smart_dialogue("ie_lrn_howareyou"); + wait(2); + maps\_utility::smart_dialogue("ie_lrn_plentyoftime"); + wait(2); + maps\_utility::smart_dialogue("ie_lrn_uhhuh"); + wait(2); + maps\_utility::smart_dialogue("ie_lrn_Iknow"); + wait(2); + maps\_utility::smart_dialogue("ie_lrn_rightexactly"); + wait(1); + maps\_utility::smart_dialogue("ie_lrn_somethingstrange"); + wait(3); + maps\_utility::smart_dialogue("ie_lrn_doesyourhusband"); + wait(1); + maps\_utility::smart_dialogue("ie_lrn_notaproblem"); + wait(2); + maps\_utility::smart_dialogue("ie_lrn_uhhuh"); + wait(3); + maps\_utility::smart_dialogue("ie_lrn_rightexactly"); + wait(4); + maps\_utility::smart_dialogue("ie_lrn_Iknow"); +} + +//Function Number: 10 +civilian_guesthouse() +{ + common_scripts\utility::flag_init("civilians_guesthouse_alerted"); + maps\_utility::array_spawn_function_targetname("civilian_guesthouse_spawner",::civilian_guesthouse_spawner_setup); + var_00 = maps\_utility::array_spawn_targetname("civilian_guesthouse_spawner",1); + level.active_civilians = common_scripts\utility::array_combine(level.active_civilians,var_00); + thread civilian_guesthouse_vo(); + common_scripts\utility::flag_wait_either("spawn_civilian_guesthouse_walkin","player_enters_front_yard_save_4"); + if(common_scripts\utility::flag("_stealth_spotted") || common_scripts\utility::flag("civilians_guesthouse_alerted") || common_scripts\utility::flag("player_enters_front_yard_save_4")) + { + return; + } + + maps\_utility::array_spawn_function_targetname("civilian_guesthouse_walkin_spawner",::civilian_guesthouse_walkin_spawner_setup); + var_01 = maps\_utility::array_spawn_targetname("civilian_guesthouse_walkin_spawner",1); + level.active_civilians = common_scripts\utility::array_combine(level.active_civilians,var_01); + wait 0.05; + var_02 = spawn("script_model",(0,0,0)); + var_02 setmodel("cellphone_kit_03"); + var_02 linkto(var_01[0],"tag_inhand",(0,0,0),(0,0,0)); + common_scripts\utility::flag_wait_any("player_enters_front_yard_save_4","civilians_guesthouse_alerted","civilian_guesthouse_walkin_transition"); + if(common_scripts\utility::flag("civilian_guesthouse_walkin_transition")) + { + wait(3); + } + + var_02 delete(); +} + +//Function Number: 11 +civilian_guesthouse_spawner_setup() +{ + self endon("death"); + self endon("alerted"); + self.animname = "generic"; + self.allowdeath = 1; + var_00 = common_scripts\utility::getstruct(self.script_noteworthy + "_struct","targetname"); + thread civilian_alert_watcher("player_enters_front_yard_save_5","civilians_guesthouse","civilians_guesthouse_alerted"); + thread civilian_alert_behavior("player_enters_front_yard_save_5",var_00,undefined,undefined,1); + if(self.script_noteworthy == "civilian_guesthouse_1") + { + civilian_head_and_body_swap(level.civilian_african_male_d); + level.civilian_guesthouse_1 = self; + self.fovcosinez = cos(20); + self.react_anim = self.script_noteworthy + "_react"; + } + + if(self.script_noteworthy == "civilian_guesthouse_2") + { + civilian_head_and_body_swap(level.civilian_urban_male_c); + level.civilian_guesthouse_2 = self; + self.fovcosinez = cos(20); + self.react_anim = self.script_noteworthy + "_react"; + } + + if(self.script_noteworthy == "civilian_guesthouse_3") + { + civilian_head_and_body_swap(level.civilian_urban_female_b); + level.civilian_guesthouse_3 = self; + self.fovcosinez = cos(20); + self.react_anim = self.script_noteworthy + "_react"; + } + + var_00 thread maps\_anim::anim_loop_solo(self,self.script_noteworthy,"stop_loop"); + common_scripts\utility::flag_wait("player_enters_front_yard_save_5"); + self delete(); +} + +//Function Number: 12 +civilian_guesthouse_vo() +{ + level endon("player_enters_front_yard_save_5"); + level.civilian_guesthouse_1 endon("death"); + level.civilian_guesthouse_2 endon("death"); + level.civilian_guesthouse_3 endon("death"); + common_scripts\utility::flag_wait("civilian_guesthouse_conversation"); + if(common_scripts\utility::flag("_stealth_spotted")) + { + return; + } + + level endon("_stealth_spotted"); + level.civilian_guesthouse_1 thread stop_civilian_conversation("player_enters_front_yard_save_5"); + level.civilian_guesthouse_2 thread stop_civilian_conversation("player_enters_front_yard_save_5"); + level.civilian_guesthouse_3 thread stop_civilian_conversation("player_enters_front_yard_save_5"); + level.civilian_guesthouse_1 maps\_utility::smart_dialogue("ie_cm1_stock"); + level.civilian_guesthouse_2 maps\_utility::smart_dialogue("ie_cm2_closeeye"); + level.civilian_guesthouse_3 maps\_utility::smart_dialogue("ie_cf1_evertalk"); + level.civilian_guesthouse_1 maps\_utility::smart_dialogue("ie_cm1_moneyrules"); + level.civilian_guesthouse_2 maps\_utility::smart_dialogue("ie_cm2_damnlucky"); + level.civilian_guesthouse_3 maps\_utility::smart_dialogue("ie_cf1_guylikeirons"); + level.civilian_guesthouse_1 maps\_utility::smart_dialogue("ie_cm1_richashell"); + level.civilian_guesthouse_3 maps\_utility::smart_dialogue("ie_cf1_hopingtosee"); + level.civilian_guesthouse_1 maps\_utility::smart_dialogue("ie_cm1_appearance"); + level.civilian_guesthouse_2 maps\_utility::smart_dialogue("ie_cm2_backhalf"); + level.civilian_guesthouse_3 maps\_utility::smart_dialogue("ie_cf1_moredrinks"); +} + +//Function Number: 13 +civilian_guesthouse_walkin_spawner_setup() +{ + self endon("death"); + self endon("alerted"); + self.animname = "generic"; + self.allowdeath = 1; + civilian_head_and_body_swap(level.civilian_urban_male_d); + level.civilian_guesthouse_walkin = self; + thread civilian_guesthouse_walkin_vo(); + thread stop_civilian_conversation("player_enters_front_yard_save_5"); + var_00 = common_scripts\utility::getstruct("civilian_guesthouse_walkin_transition_struct","targetname"); + thread civilian_alert_watcher("player_enters_front_yard_save_5","civilians_guesthouse","civilians_guesthouse_alerted"); + thread civilian_alert_behavior("civilian_guesthouse_walkin_transition",var_00,1,"civilian_guesthouse_walkin_transition"); + common_scripts\utility::flag_wait("civilian_guesthouse_walkin_transition"); + if(!isdefined(self.alerted)) + { + self.fovcosine = cos(65); + self.at_path_end = 1; + self notify("end patrol"); + wait 0.05; + thread civilian_alert_behavior("player_enters_front_yard_save_5",var_00,undefined,undefined,1); + maps\_anim::anim_generic_gravity(self,"ie_frontyard_cellphone_transition"); + thread maps\_anim::anim_loop_solo(self,"hms_greece_market_civ_idle_02","stop_loop"); + } + + common_scripts\utility::flag_wait("player_enters_front_yard_save_5"); + self delete(); +} + +//Function Number: 14 +civilian_guesthouse_walkin_vo() +{ + level endon("player_enters_front_yard_save_5"); + level.civilian_guesthouse_walkin endon("death"); + if(common_scripts\utility::flag("_stealth_spotted")) + { + return; + } + + level endon("_stealth_spotted"); + level.civilian_guesthouse_walkin thread stop_civilian_conversation("player_enters_front_yard_save_5"); + level.civilian_garage_1 maps\_utility::smart_dialogue("ie_cm1_headingover"); + level.civilian_garage_1 maps\_utility::smart_dialogue("ie_cm1_lovesshow"); + wait(1); + level.civilian_garage_1 maps\_utility::smart_dialogue("ie_cm1_6season"); + wait(1); + level.civilian_garage_1 maps\_utility::smart_dialogue("ie_cm1_yeahiknow"); + wait(1); + level.civilian_garage_1 maps\_utility::smart_dialogue("ie_cm1_explainednumbers"); + level.civilian_garage_1 maps\_utility::smart_dialogue("ie_cm1_gottago"); + wait(1); + level.civilian_garage_1 maps\_utility::smart_dialogue("ie_cm1_later2"); +} + +//Function Number: 15 +civilian_drone_scan_scene() +{ + common_scripts\utility::flag_init("civilians_drone_scan_alerted"); + common_scripts\utility::flag_init("civilians_drone_scan_start_vo"); + common_scripts\utility::flag_init("civilians_drone_scan_end_vo"); + common_scripts\utility::flag_wait("start_civilian_drone_scan_scene"); + if(common_scripts\utility::flag("_stealth_spotted")) + { + return; + } + + level.civilian_drone_scan_anim_struct = common_scripts\utility::getstruct("civilian_drone_scan_anim_struct","targetname"); + maps\_utility::array_spawn_function_targetname("drone_scan_civilian",::drone_scan_civilian_setup); + var_00 = maps\_utility::array_spawn_targetname("drone_scan_civilian",1); + level.active_civilians = common_scripts\utility::array_combine(level.active_civilians,var_00); + thread garage_side_door(); + thread civilian_drone_scan_vo(); + var_01 = vehicle_scripts\_pdrone_security::drone_spawn_and_drive("drone_scan_drone"); + common_scripts\utility::flag_wait("drone_scan_drone_scan"); + foreach(var_03 in var_01) + { + var_03 thread vehicle_scripts\_pdrone_security::drone_investigate_scan(); + var_03.scantime = 0.4; + common_scripts\utility::flag_wait("drone_scan_drone_continue"); + var_03 notify("drone_investigate"); + } +} + +//Function Number: 16 +drone_scan_civilian_setup() +{ + self endon("death"); + self.animname = "generic"; + self.allowdeath = 1; + self endon("alerted"); + if(self.script_noteworthy == "drone_scan_female") + { + civilian_head_and_body_swap(level.civilian_urban_female_a); + level.civilian_drone_scan_female = self; + } + else + { + civilian_head_and_body_swap(level.civilian_african_male_b); + level.civilian_drone_scan_male = self; + } + + thread civilian_alert_watcher(undefined,"drone_scan_civilians","civilians_drone_scan_alerted"); + thread civilian_alert_behavior(undefined,level.civilian_drone_scan_anim_struct,undefined,undefined,1); + if(self.script_noteworthy == "drone_scan_female") + { + level.civilian_drone_scan_anim_struct maps\_anim::anim_single_solo(self,"civilian_drone_scan_enter_" + self.script_noteworthy); + } + else + { + level.civilian_drone_scan_anim_struct thread maps\_anim::anim_single_solo(self,"civilian_drone_scan_enter_" + self.script_noteworthy); + wait(8); + common_scripts\utility::flag_set("civilians_drone_scan_start_vo"); + self waittillmatch("end","single anim"); + } + + level.civilian_drone_scan_anim_struct thread maps\_anim::anim_loop_solo(self,"civilian_drone_scan_loop_" + self.script_noteworthy,"stop_loop"); + wait(2); + common_scripts\utility::flag_set("drone_scan_drone_continue"); + wait(1); + level.civilian_drone_scan_anim_struct notify("stop_loop"); + maps\_utility::anim_stopanimscripted(); + if(self.script_noteworthy == "drone_scan_female") + { + level.civilian_drone_scan_anim_struct maps\_anim::anim_single_solo(self,"civilian_drone_scan_exit_" + self.script_noteworthy); + } + else + { + level.civilian_drone_scan_anim_struct thread maps\_anim::anim_single_solo(self,"civilian_drone_scan_exit_" + self.script_noteworthy); + wait(4); + common_scripts\utility::flag_set("civilians_drone_scan_end_vo"); + self waittillmatch("end","single anim"); + } + + self forceteleport(self.origin,(self.angles[0],self.angles[1] + 1,self.angles[2])); + maps\_anim::anim_single_solo(self,"holding_hands_walk_" + self.script_noteworthy); + self forceteleport(self.origin,(self.angles[0],self.angles[1] + 1,self.angles[2])); + maps\_anim::anim_single_solo(self,"holding_hands_walk_" + self.script_noteworthy); + self forceteleport(self.origin,(self.angles[0],self.angles[1] + 1,self.angles[2])); + maps\_anim::anim_single_solo(self,"holding_hands_walk_" + self.script_noteworthy); + self forceteleport(self.origin,(self.angles[0],self.angles[1] + 1,self.angles[2])); + maps\_anim::anim_single_solo(self,"holding_hands_walk_" + self.script_noteworthy); + self forceteleport(self.origin,(self.angles[0],self.angles[1] + 1,self.angles[2])); + maps\_anim::anim_single_solo(self,"holding_hands_walk_" + self.script_noteworthy); + self forceteleport(self.origin,(self.angles[0],self.angles[1] - 1,self.angles[2])); + maps\_anim::anim_single_solo(self,"holding_hands_walk_" + self.script_noteworthy); + self forceteleport(self.origin,(self.angles[0],self.angles[1] - 1,self.angles[2])); + maps\_anim::anim_single_solo(self,"holding_hands_walk_" + self.script_noteworthy); + self forceteleport(self.origin,(self.angles[0],self.angles[1] - 1,self.angles[2])); + maps\_anim::anim_single_solo(self,"holding_hands_walk_" + self.script_noteworthy); + self forceteleport(self.origin,(self.angles[0],self.angles[1] - 1,self.angles[2])); + maps\_anim::anim_single_solo(self,"holding_hands_walk_" + self.script_noteworthy); + self forceteleport(self.origin,(self.angles[0],self.angles[1] - 1,self.angles[2])); + maps\_anim::anim_single_solo(self,"holding_hands_walk_" + self.script_noteworthy); + maps\_anim::anim_single_solo(self,"holding_hands_walk_" + self.script_noteworthy); + maps\_anim::anim_single_solo(self,"holding_hands_walk_" + self.script_noteworthy); + maps\_anim::anim_single_solo(self,"holding_hands_walk_" + self.script_noteworthy); + maps\_anim::anim_single_solo(self,"holding_hands_walk_" + self.script_noteworthy); + maps\_anim::anim_generic_gravity(self,"holding_hands_walk_" + self.script_noteworthy); + maps\_anim::anim_generic_gravity(self,"holding_hands_end_transition_" + self.script_noteworthy); + thread maps\_anim::anim_loop_solo(self,"holding_hands_end_" + self.script_noteworthy); + common_scripts\utility::flag_wait("player_entered_balcony_door"); + self delete(); +} + +//Function Number: 17 +garage_side_door() +{ + var_00 = maps\_utility::spawn_anim_model("drone_scan_prop"); + var_01 = getent("garage_side_door","targetname"); + level.civilian_drone_scan_anim_struct maps\_anim::anim_first_frame_solo(var_00,"drone_scan_enter_door"); + var_02 = getent("garage_side_door_clip","targetname"); + var_02 linkto(var_00,"J_prop_1"); + var_01 linkto(var_00,"J_prop_1"); + level.civilian_drone_scan_anim_struct maps\_anim::anim_single_solo(var_00,"drone_scan_enter_door"); + var_02 connectpaths(); +} + +//Function Number: 18 +civilian_drone_scan_vo() +{ + level endon("player_entered_balcony_door"); + level.civilian_drone_scan_female endon("death"); + level.civilian_drone_scan_male endon("death"); + common_scripts\utility::flag_wait("civilians_drone_scan_start_vo"); + level endon("_stealth_spotted"); + level.civilian_drone_scan_female thread stop_civilian_conversation("player_entered_balcony_door"); + level.civilian_drone_scan_male thread stop_civilian_conversation("player_entered_balcony_door"); + level.civilian_drone_scan_male maps\_utility::smart_dialogue("ie_cm1_holdstill"); + wait(0.5); + level.civilian_drone_scan_female maps\_utility::smart_dialogue("ie_cf1_whatisitdoing"); + level.civilian_drone_scan_male maps\_utility::smart_dialogue("ie_cm1_dontmove"); + common_scripts\utility::flag_wait("civilians_drone_scan_end_vo"); + level.civilian_drone_scan_male maps\_utility::smart_dialogue("ie_cm1_letsgo"); + wait(0.5); + level.civilian_drone_scan_female maps\_utility::smart_dialogue("ie_cf1_creepy"); +} + +//Function Number: 19 +civilian_garage() +{ + common_scripts\utility::flag_init("civilian_garage_1"); + common_scripts\utility::flag_init("civilian_garage_2"); + common_scripts\utility::flag_init("civilians_garage_alerted"); + common_scripts\utility::flag_wait("spawn_garage_civilians"); + if(common_scripts\utility::flag("_stealth_spotted")) + { + return; + } + + level.garage_anim_struct = common_scripts\utility::getstruct("garage_anim_struct","targetname"); + maps\_utility::array_spawn_function_targetname("civilian_garage_spawner",::civilian_garage_spawner_setup); + var_00 = maps\_utility::array_spawn_targetname("civilian_garage_spawner",1); + level.active_civilians = common_scripts\utility::array_combine(level.active_civilians,var_00); + common_scripts\utility::flag_wait("start_car_lift_scene"); + wait(1); + thread car_lift(); + thread civilian_garage_vo(); +} + +//Function Number: 20 +civilian_garage_spawner_setup() +{ + self endon("death"); + self endon("alerted"); + self.animname = "generic"; + self.allowdeath = 1; + if(self.script_noteworthy == "civilian_garage_1") + { + civilian_head_and_body_swap(level.civilian_urban_male_b); + level.civilian_garage_1 = self; + } + else + { + civilian_head_and_body_swap(level.civilian_urban_male_e); + level.civilian_garage_2 = self; + } + + thread civilian_alert_watcher("start_car_lift_scene","civilians_garage","civilians_garage_alerted"); + thread civilian_alert_behavior("start_car_lift_scene",level.garage_anim_struct,undefined,undefined,1); + level.garage_anim_struct thread maps\_anim::anim_loop_solo(self,self.script_noteworthy + "_panel_idle","stop_loop"); + thread car_lift_scene(); + common_scripts\utility::flag_wait("player_entered_balcony_door"); + self delete(); +} + +//Function Number: 21 +civilian_garage_vo() +{ + level endon("player_entered_balcony_door"); + if(!isdefined(level.civilian_garage_1) || isdefined(level.civilian_garage_2)) + { + return; + } + + level.civilian_garage_1 endon("death"); + level.civilian_garage_2 endon("death"); + common_scripts\utility::flag_wait("start_car_lift_scene"); + if(common_scripts\utility::flag("_stealth_spotted")) + { + return; + } + + level endon("_stealth_spotted"); + level.civilian_garage_1 thread stop_civilian_conversation("player_entered_balcony_door"); + level.civilian_garage_2 thread stop_civilian_conversation("player_entered_balcony_door"); + level.civilian_garage_1 maps\_utility::smart_dialogue("ie_cm1_spoiler"); + level.civilian_garage_2 maps\_utility::smart_dialogue("ie_cm2_newfront"); + level.civilian_garage_1 maps\_utility::smart_dialogue("ie_cm1_research"); + level.civilian_garage_2 maps\_utility::smart_dialogue("ie_cm2_alurisseries"); + level.civilian_garage_1 maps\_utility::smart_dialogue("ie_cm1_automatic"); + level.civilian_garage_2 maps\_utility::smart_dialogue("ie_cm2_dumbasses"); + level.civilian_garage_1 maps\_utility::smart_dialogue("ie_cm1_worse"); + wait(1); + level.civilian_garage_1 maps\_utility::smart_dialogue("ie_cm1_modded"); + level.civilian_garage_2 maps\_utility::smart_dialogue("ie_cm2_knowtheguy"); + level.civilian_garage_1 maps\_utility::smart_dialogue("ie_cm1_trustme"); + level.civilian_garage_2 maps\_utility::smart_dialogue("ie_cm2_notrouble"); + wait(1); + level.civilian_garage_2 maps\_utility::smart_dialogue("ie_cm2_metryan"); + level.civilian_garage_1 maps\_utility::smart_dialogue("ie_cm1_crazy"); + level.civilian_garage_2 maps\_utility::smart_dialogue("ie_cm2_grabhim"); + level.civilian_garage_1 maps\_utility::smart_dialogue("ie_cm1_messagemike"); + level.civilian_garage_2 maps\_utility::smart_dialogue("ie_cm2_firstgames"); +} + +//Function Number: 22 +car_lift_scene() +{ + self endon("death"); + self endon("alerted"); + common_scripts\utility::flag_wait("start_car_lift_scene"); + thread civilian_alert_watcher("player_entered_balcony_door","civilians_garage","civilians_garage_alerted"); + thread civilian_alert_behavior("player_entered_balcony_door",level.garage_anim_struct,undefined,undefined,1); + wait(1); + level.garage_anim_struct notify("stop_loop"); + level.garage_anim_struct maps\_anim::anim_single_solo(self,self.script_noteworthy + "_panel_to_car"); + level.garage_anim_struct thread maps\_anim::anim_loop_solo(self,self.script_noteworthy + "_car_idle","stop_loop"); +} + +//Function Number: 23 +car_lift() +{ + if(common_scripts\utility::flag("civilians_garage_alerted") || common_scripts\utility::flag("_stealth_spotted")) + { + return; + } + + var_00 = common_scripts\utility::getstruct("car_lift_struct","targetname"); + var_01 = var_00 common_scripts\utility::spawn_tag_origin(); + var_02 = getent("car_lift_brushes","targetname"); + var_02 linkto(var_01,"tag_origin"); + var_03 = getentarray("car_lift_models","targetname"); + foreach(var_05 in var_03) + { + var_05 linkto(var_01,"tag_origin"); + } + + var_01 moveto(var_01.origin + (0,0,132),8); + soundscripts\_snd::snd_message("aud_garage_lift"); + wait(8); + var_07 = getent("car_lift_light","targetname"); + var_07 setlightintensity(2050); + var_08 = common_scripts\utility::getstruct("garage_lift_grapple_magnet_1","targetname"); + maps\_grapple::grapple_magnet_register(var_08); +} + +//Function Number: 24 +civilian_right_side() +{ + common_scripts\utility::flag_init("civilians_right_side_alerted"); + maps\_utility::array_spawn_function_targetname("civilian_right_side_spawner",::civilian_right_side_setup); + var_00 = maps\_utility::array_spawn_targetname("civilian_right_side_spawner",1); + level.active_civilians = common_scripts\utility::array_combine(level.active_civilians,var_00); + thread civilian_right_side_vo(); + level.lost_civilian_anim_struct = common_scripts\utility::getstruct("lost_civilian_anim_struct","targetname"); + thread lost_civilian_door(); + common_scripts\utility::flag_wait_either("start_civilian_lost","penthouse_end_ready"); + if(common_scripts\utility::flag("_stealth_spotted") || common_scripts\utility::flag("penthouse_end_ready")) + { + return; + } + + maps\_utility::array_spawn_function_targetname("civilian_lost_spawner",::civilian_lost_setup); + var_01 = maps\_utility::array_spawn_targetname("civilian_lost_spawner",1); + level.active_civilians = common_scripts\utility::array_combine(level.active_civilians,var_01); + level waittill("start_guard"); + maps\_utility::array_spawn_function_targetname("civilian_lost_guard_spawner",::civilian_lost_guard_setup); + var_02 = maps\_utility::array_spawn_targetname("civilian_lost_guard_spawner",1); +} + +//Function Number: 25 +civilian_right_side_setup() +{ + self.animname = "generic"; + self.allowdeath = 1; + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "civilian_right_side_1") + { + civilian_head_and_body_swap(level.civilian_african_male_b); + level.civilian_right_side_1 = self; + } + + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "civilian_right_side_2") + { + civilian_head_and_body_swap(level.civilian_african_male_d); + level.civilian_right_side_2 = self; + } + + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "civilian_right_side_3") + { + civilian_head_and_body_swap(level.civilian_urban_male_c); + level.civilian_right_side_3 = self; + } + + var_00 = common_scripts\utility::getstruct(self.script_noteworthy + "_struct","targetname"); + thread civilian_alert_watcher("player_entered_balcony_door","civilians_right_side","civilians_right_side_alerted"); + thread civilian_alert_behavior("player_entered_balcony_door",var_00); + var_00 thread maps\_anim::anim_loop_solo(self,self.script_noteworthy,"stop_loop"); + common_scripts\utility::flag_wait("player_entered_balcony_door"); + self delete(); +} + +//Function Number: 26 +civilian_right_side_vo() +{ + level endon("player_entered_balcony_door"); + level.civilian_right_side_1 endon("death"); + level.civilian_right_side_2 endon("death"); + level.civilian_right_side_3 endon("death"); + common_scripts\utility::flag_wait("civilian_right_side_conversation"); + if(common_scripts\utility::flag("_stealth_spotted")) + { + return; + } + + level endon("_stealth_spotted"); + level.civilian_right_side_1 thread stop_civilian_conversation("player_entered_balcony_door"); + level.civilian_right_side_2 thread stop_civilian_conversation("player_entered_balcony_door"); + level.civilian_right_side_3 thread stop_civilian_conversation("player_entered_balcony_door"); + level.civilian_right_side_1 maps\_utility::smart_dialogue("ie_cm5_seat"); + level.civilian_right_side_2 maps\_utility::smart_dialogue("ie_cm6_kidding"); + level.civilian_right_side_3 maps\_utility::smart_dialogue("ie_cm7_amazing"); + level.civilian_right_side_2 maps\_utility::smart_dialogue("ie_cm6_work"); + level.civilian_right_side_1 maps\_utility::smart_dialogue("ie_cm5_noidea"); + level.civilian_right_side_3 maps\_utility::smart_dialogue("ie_cm7_legallyspeaking"); + level.civilian_right_side_2 maps\_utility::smart_dialogue("ie_cm6_getthat"); + level.civilian_right_side_3 maps\_utility::smart_dialogue("ie_cm7_lawyer"); + level.civilian_right_side_2 maps\_utility::smart_dialogue("ie_cm6_thankgod"); + level.civilian_right_side_1 maps\_utility::smart_dialogue("ie_cm5_treatment"); + level.civilian_right_side_3 maps\_utility::smart_dialogue("ie_cm7_wholeidea"); + level.civilian_right_side_2 maps\_utility::smart_dialogue("ie_cm6_smart"); +} + +//Function Number: 27 +lost_civilian_door() +{ + level endon("player_entered_balcony_door"); + var_00 = maps\_utility::spawn_anim_model("lost_civilian_prop"); + var_01 = getent("lost_civilian_door","targetname"); + level.lost_civilian_anim_struct maps\_anim::anim_first_frame_solo(var_00,"ie_frontyard_lost_civ_door"); + var_02 = getent("lost_civilian_door_clip","targetname"); + var_02 linkto(var_00,"J_prop_1"); + var_02 disconnectpaths(); + level waittill("start_guard"); + var_01 linkto(var_00,"J_prop_1"); + level.lost_civilian_anim_struct maps\_anim::anim_single_solo(var_00,"ie_frontyard_lost_civ_door"); +} + +//Function Number: 28 +civilian_lost_setup() +{ + self endon("death"); + self endon("alerted"); + self.animname = "generic"; + self.allowdeath = 1; + civilian_head_and_body_swap(level.civilian_urban_male_b); + level.civilian_lost = self; + thread civilian_alert_watcher("player_entered_balcony_door","lost_civilian_group"); + thread civilian_alert_behavior("player_entered_balcony_door",undefined,undefined,undefined,1); + self notify("end_patrol"); + wait 0.05; + level.lost_civilian_anim_struct maps\_anim::anim_single_solo(self,"ie_frontyard_lost_civ_guy"); + var_00 = getent("driveway_monster_clip_5","targetname"); + var_00 notsolid(); + var_00 connectpaths(); + var_01 = common_scripts\utility::getstruct("civilian_lost_escort_start","targetname"); + self.target = var_01.targetname; + thread maps\_patrol::patrol(self.target); + self waittill("reached_path_end"); + self delete(); +} + +//Function Number: 29 +civilian_lost_guard_setup() +{ + self endon("death"); + maps\_utility::walkdist_zero(); + self.animname = "generic"; + self.allowdeath = 0; + level.civilian_lost_guard = self; + self.ignoreall = 1; + self.do_not_react_to_whistle = 1; + self.grapple_magnets = []; + self notify("end_patrol"); + maps\_utility::gun_remove(); + level.lost_civilian_anim_struct maps\_anim::anim_first_frame_solo(self,"ie_frontyard_lost_civ_guard"); + level.lost_civilian_anim_struct thread maps\_anim::anim_single_solo(self,"ie_frontyard_lost_civ_guard"); + while(self getanimtime(maps\_utility::getanim("ie_frontyard_lost_civ_guard")) < 0.15) + { + wait(0.05); + } + + self.allowdeath = 1; + self.ignoreall = 0; + self.script_stealth = 1; + maps\irons_estate_stealth::irons_estate_stealth_custom(); + thread lost_civilian_guard_watch_for_alert(); + self endon("alerted"); + self waittillmatch("end","single anim"); + maps\_utility::gun_recall(); + maps\_grapple::grapple_magnet_register(self,"j_SpineUpper",undefined,undefined,undefined,undefined,undefined); + var_00 = common_scripts\utility::getstruct("civilian_lost_guard_escort_start","targetname"); + self.target = var_00.targetname; + thread maps\_patrol::patrol(self.target); + self.do_not_react_to_whistle = undefined; + common_scripts\utility::flag_wait("player_entered_balcony_door"); + self delete(); +} + +//Function Number: 30 +lost_civilian_guard_watch_for_alert() +{ + self endon("death"); + maps\_utility::ent_flag_waitopen("_stealth_normal"); + self notify("alerted"); + self notify("end_patrol"); + if(isdefined(self.do_not_react_to_whistle)) + { + if(isdefined(self.script_aigroup)) + { + var_00 = maps\_utility::get_ai_group_ai(self.script_aigroup); + if(isdefined(var_00)) + { + foreach(var_02 in var_00) + { + if(!isdefined(var_02.alerted)) + { + var_02 notify("alerted"); + self.alerted = 1; + } + } + } + } + } + + maps\_utility::anim_stopanimscripted(); + maps\_utility::gun_recall(); + common_scripts\utility::flag_wait("player_entered_balcony_door"); + self delete(); +} + +//Function Number: 31 +civilian_in_running_car() +{ + level.running_car = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("running_car"); + if(level.currentgen) + { + level.running_car thread maps\irons_estate_code::tff_cleanup_vehicle("lower"); + } + + maps\_utility::array_spawn_function_targetname("civilian_in_running_car",::civilian_in_running_car_setup); + var_00 = maps\_utility::array_spawn_targetname("civilian_in_running_car",1); + level.active_civilians = common_scripts\utility::array_combine(level.active_civilians,var_00); +} + +//Function Number: 32 +civilian_in_running_car_setup() +{ + self.animname = "generic"; + civilian_head_and_body_swap(level.civilian_urban_male_e); + thread civilian_alert_watcher("player_entered_balcony_door"); + self.sight_ignore = level.running_car; + self.vehicle_ride = level.running_car; + self linkto(level.running_car,"tag_driver",(0,0,0),(0,0,0)); + level.running_car thread maps\_anim::anim_loop_solo(self,"running_car_driver","stop_loop","tag_driver"); + common_scripts\utility::flag_wait("player_entered_balcony_door"); + self delete(); +} + +//Function Number: 33 +civilian_driveway_scene() +{ + if(!isdefined(level.civilian_body_and_head_setup)) + { + civilian_head_and_body_setup(); + } + + common_scripts\utility::flag_init("start_civilian_driveway_scene"); + common_scripts\utility::flag_init("driveway_civilians_alerted"); + common_scripts\utility::flag_init("driveway_civilians_female_to_car"); + common_scripts\utility::flag_init("driveway_civilians_male_to_car"); + level.driveway_car_1 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("driveway_car_1"); + level.driveway_car_1 thread driveway_car("driveway_car_1"); + if(level.currentgen) + { + level.driveway_car_1 thread maps\irons_estate_code::tff_cleanup_vehicle("lower"); + } + + level.driveway_car_2 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("driveway_car_2"); + level.driveway_car_2 thread driveway_car("driveway_car_2"); + if(level.currentgen) + { + level.driveway_car_2 thread maps\irons_estate_code::tff_cleanup_vehicle("lower"); + } + + maps\_utility::array_spawn_function_targetname("driveway_car_2_civilian",::driveway_car_2_civilian_setup); + var_00 = maps\_utility::array_spawn_targetname("driveway_car_2_civilian",1); + level.active_civilians = common_scripts\utility::array_combine(level.active_civilians,var_00); + thread driveway_monster_clip("driveway_monster_clip_1"); + thread driveway_monster_clip("driveway_monster_clip_2"); + thread driveway_monster_clip("driveway_monster_clip_3"); + thread driveway_monster_clip("driveway_monster_clip_4"); + thread driveway_monster_clip("driveway_car_1_monster_clip_1"); + maps\_utility::array_spawn_function_targetname("driveway_guard_left",::driveway_guard_setup); + var_01 = maps\_utility::array_spawn_targetname("driveway_guard_left",1); + level.driveway_guard_left = var_01[0]; + maps\_utility::array_spawn_function_targetname("driveway_guard_right",::driveway_guard_setup); + var_02 = maps\_utility::array_spawn_targetname("driveway_guard_right",1); + level.driveway_guard_right = var_02[0]; + level.civilian_in_car_count = 0; + maps\_utility::array_spawn_function_targetname("driveway_car_1_civilian",::driveway_car_1_civilian_setup); + var_03 = maps\_utility::array_spawn_targetname("driveway_car_1_civilian",1); + level.active_civilians = common_scripts\utility::array_combine(level.active_civilians,var_03); + if(level.start_point_scripted != "penthouse") + { + common_scripts\utility::flag_wait("penthouse_end_ready"); + } + + level.driveway_car_2 soundscripts\_snd_playsound::snd_play_linked("irons_civ_truck_drive_off"); + wait(0.5); + common_scripts\utility::flag_set("driveway_car_2_drive"); + common_scripts\utility::flag_wait_either("driveway_monster_clip_3","driveway_civilians_alerted"); + common_scripts\utility::flag_set("start_civilian_driveway_scene"); + while(level.civilian_in_car_count < 2) + { + wait(0.05); + } + + wait(0.25); + common_scripts\utility::flag_set("driveway_car_1_drive"); +} + +//Function Number: 34 +driveway_monster_clip(param_00) +{ + common_scripts\utility::flag_wait_either(param_00,"player_entered_balcony_door"); + param_00 = getent(param_00,"targetname"); + param_00 notsolid(); + param_00 connectpaths(); + wait(1); + param_00 delete(); +} + +//Function Number: 35 +driveway_car(param_00) +{ + level endon("player_entered_balcony_door"); + thread driveway_car_cleanup(param_00); + if(param_00 == "driveway_car_1") + { + self.animname = "sedan"; + maps\_anim::setanimtree(); + maps\_anim::anim_first_frame_solo(self,"driveway_car_1_enter"); + common_scripts\utility::flag_wait("start_civilian_driveway_scene"); + maps\_anim::anim_single_solo(self,"driveway_car_1_enter"); + } + + common_scripts\utility::flag_wait(param_00 + "_drive"); + if(param_00 == "driveway_car_1") + { + self.left_headlight_tag = common_scripts\utility::spawn_tag_origin(); + self.left_headlight_tag linkto(self,"tag_headlight_left",(25,-10,-20),(0,0,0)); + playfxontag(level._effect["ie_civ_sedan_headlight"],self.left_headlight_tag,"tag_origin"); + thread driveway_car_cleanup_fx("driveway_car_1_path_end",self.left_headlight_tag,"ie_civ_sedan_headlight"); + self.right_headlight_tag = common_scripts\utility::spawn_tag_origin(); + self.right_headlight_tag linkto(self,"tag_headlight_right",(25,10,-20),(0,0,0)); + playfxontag(level._effect["ie_civ_sedan_headlight"],self.right_headlight_tag,"tag_origin"); + thread driveway_car_cleanup_fx("driveway_car_1_path_end",self.right_headlight_tag,"ie_civ_sedan_headlight"); + playfxontag(level._effect["ie_civ_sedan_lights"],self,"tag_origin"); + thread driveway_car_cleanup_fx("driveway_car_1_path_end",undefined,"ie_civ_sedan_headlight"); + self.spotlight_tag = common_scripts\utility::spawn_tag_origin(); + self.spotlight_tag linkto(self,"tag_origin",(104,0,44),(0,0,0)); + playfxontag(level._effect["ie_headlight_misc"],self.spotlight_tag,"tag_origin"); + thread driveway_car_cleanup_fx("driveway_car_1_path_end",self.spotlight_tag,"ie_headlight_misc"); + return; + } + + self.left_headlight_tag = common_scripts\utility::spawn_tag_origin(); + self.left_headlight_tag linkto(self,"tag_headlight_left",(20,0,-15),(0,0,0)); + playfxontag(level._effect["ie_truck_headlight"],self.left_headlight_tag,"tag_origin"); + thread driveway_car_cleanup_fx("driveway_car_2_path_end",self.left_headlight_tag,"ie_truck_headlight"); + self.right_headlight_tag = common_scripts\utility::spawn_tag_origin(); + self.right_headlight_tag linkto(self,"tag_headlight_right",(20,0,-15),(0,0,0)); + playfxontag(level._effect["ie_truck_headlight"],self.right_headlight_tag,"tag_origin"); + thread driveway_car_cleanup_fx("driveway_car_2_path_end",self.right_headlight_tag,"ie_truck_headlight"); + self.left_brakelight_tag = common_scripts\utility::spawn_tag_origin(); + self.left_brakelight_tag linkto(self,"tag_brakelight_left",(10,0,-15),(0,0,0)); + playfxontag(level._effect["ie_truck_tail"],self.left_brakelight_tag,"tag_origin"); + thread driveway_car_cleanup_fx("driveway_car_2_path_end",self.left_brakelight_tag,"ie_truck_tail"); + self.right_brakelight_tag = common_scripts\utility::spawn_tag_origin(); + self.right_brakelight_tag linkto(self,"tag_brakelight_right",(10,0,-15),(0,0,0)); + playfxontag(level._effect["ie_truck_tail"],self.right_brakelight_tag,"tag_origin"); + thread driveway_car_cleanup_fx("driveway_car_2_path_end",self.right_brakelight_tag,"ie_truck_tail"); + self.spotlight_tag = common_scripts\utility::spawn_tag_origin(); + self.spotlight_tag linkto(self,"tag_origin",(104,0,44),(0,0,0)); + playfxontag(level._effect["ie_headlight_misc"],self.spotlight_tag,"tag_origin"); + thread driveway_car_cleanup_fx("driveway_car_2_path_end",self.spotlight_tag,"ie_headlight_misc"); +} + +//Function Number: 36 +driveway_car_cleanup(param_00) +{ + common_scripts\utility::flag_wait_either(param_00 + "_path_end","player_entered_balcony_door"); + wait(1); + maps\_vehicle::godoff(); + self delete(); +} + +//Function Number: 37 +driveway_car_cleanup_fx(param_00,param_01,param_02) +{ + common_scripts\utility::flag_wait_either(param_00,"player_entered_balcony_door"); + if(isdefined(param_01)) + { + stopfxontag(level._effect[param_02],param_01,"tag_origin"); + param_01 delete(); + return; + } + + stopfxontag(level._effect[param_02],self,"tag_origin"); +} + +//Function Number: 38 +driveway_car_2_civilian_setup() +{ + self.animname = "generic"; + civilian_head_and_body_swap(level.civilian_urban_male_b); + thread civilian_alert_watcher("driveway_car_2_path_end"); + self.sight_ignore = level.driveway_car_2; + self.vehicle_ride = level.driveway_car_2; + self linkto(level.driveway_car_2,"tag_driver",(0,0,0),(0,0,0)); + level.driveway_car_2 thread maps\_anim::anim_loop_solo(self,"driveway_car_2_driver","stop_loop","tag_driver"); + common_scripts\utility::flag_wait_either("driveway_car_2_path_end","player_entered_balcony_door"); + self delete(); +} + +//Function Number: 39 +driveway_guard_setup() +{ + self endon("death"); + maps\_utility::walkdist_zero(); + wait 0.05; + if(self == level.driveway_guard_right) + { + thread driveway_guard_anim(); + } + + common_scripts\utility::flag_wait_either("driveway_monster_clip_3","player_entered_balcony_door"); + if(common_scripts\utility::flag("driveway_monster_clip_3")) + { + self.script_noteworthy = undefined; + common_scripts\utility::flag_wait("player_entered_balcony_door"); + } + + self delete(); +} + +//Function Number: 40 +driveway_guard_anim() +{ + self endon("death"); + level endon("player_entered_balcony_door"); + self.ignoreall = 1; + self.animname = "generic"; + var_00 = common_scripts\utility::getstruct("driveway_guard_anim_struct","targetname"); + var_00 childthread maps\_anim::anim_loop_solo(self,"patrol_unarmed_idle","stop_loop"); + thread driveway_guard_watch_for_alert(); + common_scripts\utility::flag_wait("start_civilian_driveway_scene"); + if(common_scripts\utility::flag("_stealth_spotted") || isdefined(self.alerted)) + { + var_00 notify("stop_loop"); + maps\_utility::anim_stopanimscripted(); + return; + } + + var_00 notify("stop_loop"); + maps\_utility::anim_stopanimscripted(); + maps\_utility::gun_remove(); + var_01 = common_scripts\utility::getstruct("driveway_anim_struct","targetname"); + var_01 maps\_anim::anim_single_solo(self,"driveway_car_1_enter_guard"); + maps\_utility::gun_recall(); + self.ignoreall = 0; +} + +//Function Number: 41 +driveway_guard_watch_for_alert() +{ + self endon("death"); + maps\_utility::ent_flag_waitopen("_stealth_normal"); + maps\_utility::anim_stopanimscripted(); + maps\_utility::gun_recall(); +} + +//Function Number: 42 +driveway_car_1_civilian_setup() +{ + self endon("death"); + level endon("player_entered_balcony_door"); + self.animname = "generic"; + self.allowdeath = 1; + thread driveway_civilian_cleanup(); + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "driveway_female") + { + civilian_head_and_body_swap(level.civilian_urban_female_c); + var_00 = "tag_driver"; + thread civilian_alert_watcher("driveway_civilians_female_to_car","driveway_civilians","driveway_civilians_alerted"); + thread civilian_alert_behavior("driveway_civilians_female_to_car",level.driveway_car_1,undefined,undefined,1); + } + else + { + civilian_head_and_body_swap(level.civilian_urban_male_d); + var_00 = "tag_passenger"; + thread civilian_alert_watcher("driveway_civilians_male_to_car","driveway_civilians","driveway_civilians_alerted"); + thread civilian_alert_behavior("driveway_civilians_male_to_car",level.driveway_car_1,undefined,undefined,1); + } + + level.driveway_car_1 thread maps\_anim::anim_loop_solo(self,"driveway_car_1_idle_" + self.script_noteworthy,"stop_loop",var_00); + common_scripts\utility::flag_wait("start_civilian_driveway_scene"); + level.driveway_car_1 notify("stop_loop"); + maps\_utility::anim_stopanimscripted(); + if(isdefined(self.alerted)) + { + return; + } + + level.driveway_car_1 thread maps\_anim::anim_single_solo(self,"driveway_car_1_enter_" + self.script_noteworthy,var_00); + maps\_utility::magic_bullet_shield(); + self.allowdeath = 0; + self.sight_ignore = level.driveway_car_1; + self.vehicle_ride = level.driveway_car_1; + level.driveway_car_1 soundscripts\_snd_playsound::snd_play_delayed_linked("irons_civ_car_door_shut_1",9.5); + level.driveway_car_1 soundscripts\_snd_playsound::snd_play_delayed_linked("irons_civ_car_drive_off",15); + level.driveway_car_1 soundscripts\_snd_playsound::snd_play_delayed_linked("irons_civ_car_door_shut_2",15.7); + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "driveway_female") + { + while(self getanimtime(maps\_utility::getanim("driveway_car_1_enter_driveway_female")) < 0.5) + { + wait(0.05); + } + + common_scripts\utility::flag_set("driveway_civilians_female_to_car"); + self waittillmatch("end","single anim"); + self linkto(level.driveway_car_1,"tag_driver",(0,0,0),(0,0,0)); + level.driveway_car_1 thread maps\_anim::anim_loop_solo(self,"driveway_car_1_driver","stop_loop","tag_driver"); + } + else + { + while(self getanimtime(maps\_utility::getanim("driveway_car_1_enter_driveway_male")) < 0.75) + { + wait(0.05); + } + + common_scripts\utility::flag_set("driveway_civilians_male_to_car"); + self waittillmatch("end","single anim"); + self linkto(level.driveway_car_1,"tag_passenger",(0,0,0),(0,0,0)); + level.driveway_car_1 thread maps\_anim::anim_loop_solo(self,"driveway_car_1_passenger","stop_loop","tag_passenger"); + } + + level.civilian_in_car_count++; +} + +//Function Number: 43 +driveway_civilian_cleanup() +{ + self endon("death"); + common_scripts\utility::flag_wait_either("driveway_car_1_path_end","player_entered_balcony_door"); + if(isdefined(self.magic_bullet_shield)) + { + maps\_utility::stop_magic_bullet_shield(); + } + + self delete(); +} + +//Function Number: 44 +civilian_alert_watcher(param_00,param_01,param_02) +{ + self notify("civilian_alert_watcher"); + self endon("civilian_alert_watcher"); + if(isdefined(param_00)) + { + level endon(param_00); + } + + self endon("death"); + thread mission_fail_on_civilian_death(); + self.fovcosinez = cos(10); + self.fovcosine = cos(30); + self.sonic_aoe_thread = ::civilian_sonic_aoe_thread; + childthread vehicle_scripts\_pdrone_security::drone_alert_sight("spotted_player",undefined,undefined,0.5); + childthread civilian_stealth_detect(); + var_03 = common_scripts\utility::waittill_any_return_parms("damage","enemy","alerted","bulletwhizby","grenade danger","explode","spotted_player","witness_kill"); + self notify("alerted"); + self.alerted = 1; + if(isdefined(self.script_aigroup)) + { + if(isdefined(param_01)) + { + var_04 = maps\_utility::get_ai_group_ai(param_01); + } + else + { + var_04 = maps\_utility::get_ai_group_ai(self.script_aigroup); + } + + if(isdefined(var_04)) + { + foreach(var_06 in var_04) + { + if(!isdefined(var_06.alerted)) + { + var_06 notify("alerted"); + self.alerted = 1; + } + } + } + } + + if(isdefined(param_02) && !common_scripts\utility::flag(param_02)) + { + common_scripts\utility::flag_set(param_02); + } + + if(!common_scripts\utility::flag("_stealth_spotted")) + { + level.player soundscripts\_snd_playsound::snd_play_2d("irons_spotted_alert"); + } + + common_scripts\utility::flag_set("_stealth_spotted"); + level.stealth_fail_fast = 1; +} + +//Function Number: 45 +civilian_sonic_aoe_thread() +{ + self notify("alerted"); +} + +//Function Number: 46 +mission_fail_on_civilian_death() +{ + self waittill("death",var_00); + if(isdefined(var_00) && var_00 == level.player) + { + level.friendlyfire["friend_kill_points"] = -10000; + level.civilian_killed = 1; + } +} + +//Function Number: 47 +civilian_stealth_detect() +{ + for(;;) + { + if(isdefined(self.threatsightdelay) && self.threatsightdelay > 0) + { + level.player maps\_stealth_display::stealth_display_seed(self,self.threatsightdelay,self.canseeplayer); + } + + wait(0.05); + } +} + +//Function Number: 48 +civilian_alert_behavior(param_00,param_01,param_02,param_03,param_04) +{ + if(isdefined(param_00)) + { + level endon(param_00); + } + + self endon("death"); + self waittill("alerted"); + thread civilian_alert_sound(); + maps\_utility::set_generic_run_anim("patrol_walk_alert"); + maps\_utility::set_generic_idle_anim("patrol_idle_alert"); + if(isdefined(param_01)) + { + param_01 notify("stop_loop"); + maps\_utility::anim_stopanimscripted(); + } + + if(isdefined(self.react_anim)) + { + maps\_anim::anim_single_solo(self,self.react_anim); + } + + if(isdefined(param_02)) + { + if(!isdefined(self.at_path_end)) + { + common_scripts\utility::flag_wait(param_03); + } + } + + param_01 = common_scripts\utility::getstruct(self.script_noteworthy + "_cower_struct","targetname"); + if(isdefined(param_04)) + { + thread maps\_anim::anim_loop_solo(self,param_01.animation,"stop_loop"); + return; + } + + param_01 thread maps\_anim::anim_loop_solo(self,param_01.animation,"stop_loop"); +} + +//Function Number: 49 +civilian_alert_behavior_hangar() +{ + self endon("death"); + self waittill("alerted"); + thread civilian_alert_sound(); + maps\_utility::set_generic_run_anim("patrol_walk_alert"); + maps\_utility::set_generic_idle_anim("patrol_idle_alert"); + if(isdefined(self.welder)) + { + self.scripted_node notify("stop_welder_loop"); + } + else + { + self.scripted_node notify("stop_loop"); + } + + level notify("aud_stop_welding_loop"); + if(isdefined(self.torch)) + { + self.torch delete(); + } + + wait(0.05); + if(self == level.forklift_driver) + { + level.forklift thread maps\_anim::anim_generic_loop(self,"forklift_cower_idle","stop_loop","tag_driver"); + return; + } + + thread maps\_anim::anim_generic_loop(self,"unarmed_covercrouch_hide_idle"); +} + +//Function Number: 50 +civilian_alert_sound_setup(param_00) +{ + if(param_00 == "female") + { + var_01 = []; + var_01[0] = "ie_cf1_startled"; + var_01[1] = "ie_cf1_panic1"; + var_01[2] = "ie_cf1_panic2"; + var_01[3] = "ie_cf2_startled"; + var_01[4] = "ie_cf2_panic1"; + var_01[5] = "ie_cf2_panic2"; + } + else + { + var_01 = []; + var_01[0] = "ie_cm1_startled1"; + var_01[1] = "ie_cm1_startled2"; + var_01[2] = "ie_cm2_startled1"; + var_01[3] = "ie_cm2_startled2"; + var_01[4] = "ie_cm3_startled1"; + var_01[5] = "ie_cm3_startled2"; + } + + return var_01; +} + +//Function Number: 51 +civilian_alert_sound() +{ + self endon("death"); + wait(randomfloatrange(0,0.5)); + if(isdefined(self.model)) + { + if(issubstr(self.model,"female")) + { + if(!isdefined(level.female_civilian_alert_sound)) + { + var_00 = civilian_alert_sound_setup("female"); + var_01 = common_scripts\utility::random(var_00); + self playsound(var_01); + level.female_civilian_alert_sound = 1; + return; + } + + return; + } + + if(issubstr(self.model,"male")) + { + if(!isdefined(level.male_civilian_alert_sound)) + { + var_00 = civilian_alert_sound_setup("male"); + var_01 = common_scripts\utility::random(var_01); + self playsound(var_01); + level.male_civilian_alert_sound = 1; + return; + } + + return; + } + } +} + +//Function Number: 52 +stop_civilian_conversation(param_00,param_01) +{ + if(isdefined(param_00)) + { + level endon(param_00); + } + + if(isdefined(param_01)) + { + level endon(param_01); + } + + common_scripts\utility::waittill_either("alerted","death"); + if(isdefined(self)) + { + self stopsounds(); + } +} + +//Function Number: 53 +civilian_head_and_body_setup() +{ + level.civilian_african_male_b = []; + level.civilian_african_male_b[0] = "civ_african_male_body_b"; + level.civilian_african_male_b[1] = "head_male_sp_gartei"; + level.civilian_african_male_c = []; + level.civilian_african_male_c[0] = "civ_african_male_body_c"; + level.civilian_african_male_c[1] = "head_male_mp_brickerson"; + level.civilian_african_male_d = []; + level.civilian_african_male_d[0] = "civ_african_male_body_d"; + level.civilian_african_male_d[1] = "head_male_mp_sykes"; + level.civilian_urban_male_b = []; + level.civilian_urban_male_b[0] = "civ_urban_male_body_b"; + level.civilian_urban_male_b[1] = "civ_urban_male_head_kanik"; + level.civilian_urban_male_c = []; + level.civilian_urban_male_c[0] = "civ_urban_male_body_c"; + level.civilian_urban_male_c[1] = "head_m_gen_cau_anderson"; + level.civilian_urban_male_d = []; + level.civilian_urban_male_d[0] = "civ_urban_male_body_d"; + level.civilian_urban_male_d[1] = "head_m_gen_cau_clark"; + level.civilian_urban_male_e = []; + level.civilian_urban_male_e[0] = "civ_urban_male_body_e"; + level.civilian_urban_male_e[1] = "head_m_gen_cau_young"; + level.civilian_urban_female_a = []; + level.civilian_urban_female_a[0] = "civ_urban_female_body_a_mde"; + level.civilian_urban_female_a[1] = "head_f_gen_mde_halabi"; + level.civilian_urban_female_b = []; + level.civilian_urban_female_b[0] = "civ_urban_female_body_b"; + level.civilian_urban_female_b[1] = "head_f_act_cau_hamilton_base"; + level.civilian_urban_female_c = []; + level.civilian_urban_female_c[0] = "civ_urban_female_body_c_afr_dark"; + level.civilian_urban_female_c[1] = "head_f_act_afr_townes"; + level.civilian_body_and_head_setup = 1; +} + +//Function Number: 54 +civilian_head_and_body_swap(param_00) +{ + if(isdefined(param_00) && isdefined(param_00[0])) + { + self setmodel(param_00[0]); + } + + if(isdefined(param_00) && isdefined(param_00[1])) + { + self detach(self.headmodel,""); + self attach(param_00[1],"",1); + self.headmodel = param_00[1]; + } +} \ No newline at end of file diff --git a/AW/PC/maps/irons_estate_code.gsc b/AW/PC/maps/irons_estate_code.gsc new file mode 100644 index 0000000..9237057 --- /dev/null +++ b/AW/PC/maps/irons_estate_code.gsc @@ -0,0 +1,2768 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: irons_estate_code.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 82 + * Decompile Time: 1264 ms + * Timestamp: 4/22/2024 2:31:52 AM +*******************************************************************/ + +//Function Number: 1 +spawn_player_checkpoint() +{ + var_00 = level.start_point + "_start"; + var_01 = common_scripts\utility::getstruct(var_00,"targetname"); + if(isdefined(var_01)) + { + level.player setorigin(var_01.origin); + if(isdefined(var_01.angles)) + { + level.player setplayerangles(var_01.angles); + } + else + { + iprintlnbold("Your script_struct " + level.start_point + "_start has no angles! Set some."); + } + } + else + { + } + + level.player maps\irons_estate_stealth::irons_estate_stealth_custom(); +} + +//Function Number: 2 +spawn_allies() +{ + level.allies = []; + if(level.start_point_scripted == "briefing") + { + level.allies[0] = spawn_ally("cormack_briefing"); + level.allies[0].animname = "cormack"; + level.allies[0] thread set_helmet_open(); + level.allies[1] = spawn_ally("ilana_briefing"); + level.allies[1].animname = "ilana"; + level.allies[2] = spawn_ally("knox_briefing"); + level.allies[2].animname = "knox"; + level.allies[2] thread set_helmet_open(); + return; + } + + if(level.start_point_scripted == "intro" || level.start_point_scripted == "grapple" || level.start_point_scripted == "recon" || level.start_point_scripted == "intel" || level.start_point_scripted == "infil_hangar" || level.start_point_scripted == "hangar" || level.start_point_scripted == "plant_tracker") + { + level.allies[0] = spawn_ally("cormack"); + level.allies[0].animname = "cormack"; + level.allies[0] thread set_helmet_open(); + } + + if(level.start_point_scripted == "intro" || level.start_point_scripted == "grapple" || level.start_point_scripted == "recon") + { + level.allies[1] = spawn_ally("ilana"); + level.allies[1].animname = "ilana"; + } + + if(level.start_point_scripted == "intro" || level.start_point_scripted == "grapple" || level.start_point_scripted == "recon" || level.start_point_scripted == "infil") + { + level.allies[2] = spawn_ally("knox"); + level.allies[2].animname = "knox"; + level.allies[2] thread set_helmet_open(); + } +} + +//Function Number: 3 +spawn_ally(param_00,param_01) +{ + var_02 = undefined; + if(!isdefined(param_01)) + { + var_02 = level.start_point_scripted + "_" + param_00; + } + else + { + var_02 = param_01 + "_" + param_00; + } + + var_03 = spawn_targetname_at_struct_targetname(param_00,var_02); + if(!isdefined(var_03)) + { + return undefined; + } + + var_03 maps\_utility::make_hero(); + if(!isdefined(var_03.magic_bullet_shield)) + { + var_03 maps\_utility::magic_bullet_shield(); + } + + var_03.grenadeammo = 0; + var_03 pushplayer(1); + var_03 pathabilityadd("grapple"); + return var_03; +} + +//Function Number: 4 +helmet_open(param_00) +{ + param_00 thread set_helmet_open(); +} + +//Function Number: 5 +helmet_close(param_00) +{ + param_00 thread set_helmet_closed(); +} + +//Function Number: 6 +set_helmet_open(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 0.2; + } + + self setanimknobrestart(%sentinel_halo_helmet_open,1,param_00); + self.helmet_open = 1; +} + +//Function Number: 7 +set_helmet_closed(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 0.2; + } + + self setanimrestart(%sentinel_halo_helmet_close,1,param_00); + self.helmet_open = 0; +} + +//Function Number: 8 +clear_additive_helmet_anim(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 0.5; + } + + self clearanim(%s1_halo_helmet,0); +} + +//Function Number: 9 +spawn_targetname_at_struct_targetname(param_00,param_01) +{ + var_02 = getent(param_00,"targetname"); + var_03 = common_scripts\utility::getstruct(param_01,"targetname"); + if(isdefined(var_02) && isdefined(var_03)) + { + var_02.origin = var_03.origin; + if(isdefined(var_03.angles)) + { + var_02.angles = var_03.angles; + } + + var_04 = var_02 maps\_utility::spawn_ai(1); + return var_04; + } + + if(isdefined(var_03)) + { + var_04 = var_03 maps\_utility::spawn_ai(1); + iprintlnbold("Add a script struct called: " + param_01 + " to spawn him in the correct location."); + var_04 teleport(level.player.origin,level.player.angles); + return var_04; + } + + iprintlnbold("failed to spawn " + param_01 + " at " + var_02); + return undefined; +} + +//Function Number: 10 +handle_objective_marker(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_03)) + { + param_03 = 50; + } + + var_04 = param_00 maps\_shg_utility::hint_button_trigger("x",param_03); + common_scripts\utility::flag_wait(param_02); + var_04 maps\_shg_utility::hint_button_clear(); +} + +//Function Number: 11 +irons_estate_trigger_saves(param_00,param_01) +{ + level endon(param_00); + common_scripts\utility::flag_wait(param_01); + maps\_utility::autosave_stealth(); +} + +//Function Number: 12 +corpse_cleanup() +{ + wait 0.05; + var_00 = getcorpsearray(); + foreach(var_02 in var_00) + { + if(distancesquared(var_02.origin,level.player.origin) > 4000000) + { + var_02 delete(); + } + } +} + +//Function Number: 13 +temp_dialogue(param_00,param_01,param_02) +{ + level notify("temp_dialogue",param_00,param_01,param_02); + level endon("temp_dialogue"); + if(!isdefined(param_02)) + { + param_02 = 4; + } + + if(isdefined(level.tmp_subtitle)) + { + level.tmp_subtitle destroy(); + level.tmp_subtitle = undefined; + } + + level.tmp_subtitle = newhudelem(); + level.tmp_subtitle.x = 0; + level.tmp_subtitle.y = -90; + level.tmp_subtitle settext("^2" + param_00 + ": ^7" + param_01); + level.tmp_subtitle.fontscale = 1.46; + level.tmp_subtitle.alignx = "center"; + level.tmp_subtitle.aligny = "middle"; + level.tmp_subtitle.horzalign = "center"; + level.tmp_subtitle.vertalign = "bottom"; + level.tmp_subtitle.sort = 1; + wait(param_02); + thread temp_dialogue_fade(); +} + +//Function Number: 14 +temp_dialogue_fade() +{ + level endon("temp_dialogue"); + var_00 = 1; + while(var_00 > 0) + { + level.tmp_subtitle.alpha = var_00; + wait(0.05); + var_00 = var_00 - 0.1; + } + + level.tmp_subtitle destroy(); +} + +//Function Number: 15 +generic_enemy_vo_chatter(param_00) +{ + level endon(param_00); + var_01 = []; + var_01[0] = "ie_as1_sectorclear1"; + var_01[1] = "ie_as2_zeroactivity1"; + var_01[2] = "ie_as3_shiftchange"; + var_01[3] = "ie_as1_whatssitrep1"; + var_01[4] = "ie_as2_headingthere"; + var_01[5] = "ie_as3_barnesisoff"; + var_01[6] = "ie_as1_deltacheckingin"; + var_01[7] = "ie_as2_rodgersonhisway"; + var_01[8] = "ie_as3_statusgreen"; + var_01[9] = "ie_as1_sendingescort"; + var_01[10] = "ie_as2_rendesvousin10"; + var_01[11] = "ie_as1_cough1"; + var_01[12] = "ie_as1_cough2"; + var_01[13] = "ie_as1_throat1"; + var_01[14] = "ie_as1_throat2"; + var_01[15] = "ie_as2_cough1"; + var_01[16] = "ie_as2_cough2"; + var_01[17] = "ie_as2_throat1"; + var_01[18] = "ie_as2_throat2"; + var_01[19] = "ie_as3_cough1"; + var_01[20] = "ie_as3_cough2"; + var_01[21] = "ie_as3_throat1"; + var_01[22] = "ie_as3_throat2"; + level.enemy_vo_array_one_off = []; + var_01[23] = "ie_as1_eastlawn"; + level.enemy_vo_array_one_off[0] = var_01[23]; + var_01[24] = "ie_as2_allsquiet"; + level.enemy_vo_array_one_off[1] = var_01[24]; + var_01[25] = "ie_as3_aircraft"; + level.enemy_vo_array_one_off[2] = var_01[25]; + var_01[26] = "ie_as1_partguests"; + level.enemy_vo_array_one_off[3] = var_01[26]; + level.enemy_vo_array_conversation_1 = []; + level.enemy_vo_array_conversation_2 = []; + var_01[27] = "ie_as3_stausofparty"; + level.enemy_vo_array_conversation_1[0] = var_01[27]; + level.enemy_vo_array_conversation_2[0] = "ie_as1_behaving"; + var_01[28] = "ie_as2_droneglitching"; + level.enemy_vo_array_conversation_1[1] = var_01[28]; + level.enemy_vo_array_conversation_2[1] = "ie_as1_onhisway"; + var_01[29] = "ie_as1_ironsassistant"; + level.enemy_vo_array_conversation_1[2] = var_01[29]; + level.enemy_vo_array_conversation_2[2] = "ie_as3_expectingher"; + var_01[30] = "ie_as3_southwestgate"; + level.enemy_vo_array_conversation_1[3] = var_01[30]; + level.enemy_vo_array_conversation_2[3] = "ie_as1_allclear1"; + var_02 = -1; + var_03 = undefined; + for(;;) + { + wait(0.05); + var_04 = getaiarray("axis"); + foreach(var_06 in var_04) + { + if(isdefined(var_06.stop_generic_vo_chatter)) + { + var_06 = common_scripts\utility::array_remove(var_04,var_06); + } + } + + var_04 = maps\_utility::remove_dead_from_array(var_04); + if(var_04.size == 0) + { + return; + } + + var_06 = maps\_utility::get_closest_living(level.player.origin,var_04); + if(!isdefined(var_06.vo_chatter_death)) + { + var_06 endon("death"); + var_06.vo_chatter_death = 1; + } + + if(distancesquared(var_06.origin,level.player.origin) > 360000) + { + continue; + } + + if(isdefined(level.last_enemy_chatter_vo)) + { + var_08 = gettime() - level.last_enemy_chatter_vo; + if(var_08 < 15000) + { + continue; + } + } + + if(common_scripts\utility::flag("_stealth_spotted")) + { + continue; + } + + if(isdefined(var_06.alerted)) + { + var_06.last_alert_time = gettime(); + continue; + } + + if(var_06.alertlevel == "alert" || isdefined(var_06.event_type)) + { + var_06.last_alert_time = gettime(); + continue; + } + + if(var_06.alertlevel == "noncombat" || !isdefined(var_06.event_type || !isdefined(var_06.alerted))) + { + if(isdefined(var_06.last_alert_time)) + { + var_08 = gettime() - var_06.last_alert_time; + if(var_08 < 15000) + { + continue; + } + } + } + + if(isdefined(var_06.isbeinggrappled)) + { + continue; + } + + var_09 = randomint(var_01.size); + if(var_09 == var_02) + { + var_09++; + if(var_09 >= var_01.size) + { + var_09 = 0; + } + } + + var_0A = var_01[var_09]; + if(!isdefined(var_06.animname)) + { + var_06.animname = "generic"; + } + + thread check_vo_type(var_0A); + level waittill("vo_type_defined",var_0B); + if(var_0B == "one_off") + { + var_06 maps\_utility::play_sound_on_entity(var_0A); + var_01 = common_scripts\utility::array_remove(var_01,var_0A); + } + else if(var_0B == "conversation") + { + var_06 maps\_utility::play_sound_on_entity(var_0A); + var_01 = common_scripts\utility::array_remove(var_01,var_0A); + var_06 maps\_utility::play_sound_on_entity(level.conversation_response); + } + else + { + var_06.saying_vo = 1; + var_06 thread stop_generic_enemy_vo_chatter(); + var_06 maps\_utility::smart_dialogue(var_0A); + var_06.saying_vo = undefined; + } + + var_02 = var_09; + var_03 = var_06; + level.last_enemy_chatter_vo = gettime(); + } +} + +//Function Number: 16 +stop_generic_enemy_vo_chatter() +{ + self endon("death"); + while(isdefined(self.saying_vo)) + { + if(isdefined(self.isbeinggrappled) || common_scripts\utility::flag("_stealth_spotted") || isdefined(self.alerted)) + { + self notify("stop_sound"); + self stopsounds(); + break; + } + + wait 0.05; + } +} + +//Function Number: 17 +check_vo_type(param_00) +{ + wait 0.05; + if(common_scripts\utility::array_contains(level.enemy_vo_array_one_off,param_00)) + { + var_01 = "one_off"; + level notify("vo_type_defined",var_01); + return; + } + + if(common_scripts\utility::array_contains(level.enemy_vo_array_conversation_1,var_01)) + { + level.conversation_index = undefined; + level.conversation_response = undefined; + for(var_02 = 0;var_02 < level.enemy_vo_array_conversation_1.size;var_02++) + { + if(level.enemy_vo_array_conversation_1[var_02] == param_00) + { + level.conversation_index = var_02; + break; + } + } + + for(var_02 = 0;var_02 < level.enemy_vo_array_conversation_2.size;var_02++) + { + if(var_02 == level.conversation_index) + { + level.conversation_response = level.enemy_vo_array_conversation_2[var_02]; + break; + } + } + + var_01 = "conversation"; + level notify("vo_type_defined",var_01); + return; + } + + var_01 = "normal"; + level notify("vo_type_defined",var_01); +} + +//Function Number: 18 +enemy_callout_vo_setup(param_00) +{ + level.enemy_left = []; + level.enemy_left[0] = spawnstruct(); + level.enemy_left[0].vo = "ie_" + param_00 + "_tangoleft1"; + level.enemy_left[0].vo_priority = 1; + level.enemy_left[1] = spawnstruct(); + level.enemy_left[1].vo = "ie_" + param_00 + "_targetleft1"; + level.enemy_left[1].vo_priority = 1; + level.civilian_left = []; + level.civilian_left[0] = spawnstruct(); + level.civilian_left[0].vo = "ie_" + param_00 + "_civleft"; + level.civilian_left[0].vo_priority = 1; + level.enemies_left[0] = spawnstruct(); + level.enemies_left[0].vo = "ie_" + param_00 + "_tangosleft1"; + level.enemies_left[0].vo_priority = 1; + level.enemies_left[1] = spawnstruct(); + level.enemies_left[1].vo = "ie_" + param_00 + "_targetsleft1"; + level.enemies_left[1].vo_priority = 1; + level.civilians_left = []; + level.civilians_left[0] = spawnstruct(); + level.civilians_left[0].vo = "ie_" + param_00 + "_civsleft"; + level.civilians_left[0].vo_priority = 1; + level.enemy_right = []; + level.enemy_right[0] = spawnstruct(); + level.enemy_right[0].vo = "ie_" + param_00 + "_tangoright1"; + level.enemy_right[0].vo_priority = 1; + level.enemy_right[1] = spawnstruct(); + level.enemy_right[1].vo = "ie_" + param_00 + "_targetright1"; + level.enemy_right[1].vo_priority = 1; + level.civilian_right = []; + level.civilian_right[0] = spawnstruct(); + level.civilian_right[0].vo = "ie_" + param_00 + "_civright"; + level.civilian_right[0].vo_priority = 1; + level.enemies_right[0] = spawnstruct(); + level.enemies_right[0].vo = "ie_" + param_00 + "_tangosright1"; + level.enemies_right[0].vo_priority = 1; + level.enemies_right[1] = spawnstruct(); + level.enemies_right[1].vo = "ie_" + param_00 + "_targetsright1"; + level.enemies_right[1].vo_priority = 1; + level.civilians_right = []; + level.civilians_right[0] = spawnstruct(); + level.civilians_right[0].vo = "ie_" + param_00 + "_civsright"; + level.civilians_right[0].vo_priority = 1; + level.enemy_below = []; + level.enemy_below[0] = spawnstruct(); + level.enemy_below[0].vo = "ie_" + param_00 + "_tangobelow1"; + level.enemy_below[0].vo_priority = 1; + level.enemy_below[1] = spawnstruct(); + level.enemy_below[1].vo = "ie_" + param_00 + "_hostilebelow1"; + level.enemy_below[1].vo_priority = 1; + level.civilian_below = []; + level.civilian_below[0] = spawnstruct(); + level.civilian_below[0].vo = "ie_" + param_00 + "_civbelow"; + level.civilian_below[0].vo_priority = 1; + level.enemies_below = []; + level.enemies_below[0] = spawnstruct(); + level.enemies_below[0].vo = "ie_" + param_00 + "_tangosbelow1"; + level.enemies_below[0].vo_priority = 1; + level.enemies_below[1] = spawnstruct(); + level.enemies_below[1].vo = "ie_" + param_00 + "_hostilesbelow1"; + level.enemies_below[1].vo_priority = 1; + level.civilians_below = []; + level.civilians_below[0] = spawnstruct(); + level.civilians_below[0].vo = "ie_" + param_00 + "_civsbelow"; + level.civilians_below[0].vo_priority = 1; +} + +//Function Number: 19 +enemy_callout_vo(param_00) +{ + level endon("poolyard_save"); + level endon("bedroom_start"); + enemy_callout_vo_setup(param_00); + var_01 = 0; + var_02 = 0; + var_03 = 0; + var_04 = 0; + var_05 = 15; + var_06 = 10000; + var_07 = 60; + var_08 = undefined; + var_09 = 0; + for(;;) + { + for(;;) + { + wait(0.5); + var_0A = getaiarray("axis"); + level.active_civilians = maps\_utility::remove_dead_from_array(level.active_civilians); + var_0B = common_scripts\utility::array_combine(level.active_civilians,var_0A); + var_0C = maps\_utility::get_closest_living(level.player.origin,var_0B,500); + if(!isdefined(var_0C)) + { + continue; + } + + if(var_0C.classname == "actor_enemy_atlas_bodyguard_smg" || var_0C.classname == "actor_enemy_atlas_pmc_estate_smg") + { + var_0D = "enemy"; + } + else + { + var_0D = "civilian"; + } + + if(isdefined(var_08) && var_0C == var_08) + { + continue; + } + + if(isdefined(var_0C.isbeinggrappled)) + { + continue; + } + + if(!isdefined(level.play_ally_callout_vo)) + { + continue; + } + + if(!check_player_in_stop_enemy_callout_vo_volume()) + { + continue; + } + + if(level.player.grapple["grappling"] == 1) + { + continue; + } + + if(isdefined(var_0C.alerted)) + { + continue; + } + + if(common_scripts\utility::flag("_stealth_spotted")) + { + continue; + } + + if(player_can_see_ai_through_foliage(var_0C) && !isdefined(var_0C.hasbeencalledout)) + { + var_09++; + if(var_09 == 2) + { + if(var_0D == "enemy") + { + var_0C.hasbeencalledout = 1; + var_0C thread entity_has_been_called_out_timer(var_07); + } + else if(isdefined(var_0C.script_aigroup)) + { + var_0E = maps\_utility::get_ai_group_ai(var_0C.script_aigroup); + foreach(var_10 in var_0E) + { + if(!isdefined(var_10.hasbeencalledout)) + { + var_10.hasbeencalledout = 1; + var_10 thread entity_has_been_called_out_timer(var_07); + } + } + } + else + { + var_0C.hasbeencalledout = 1; + var_0C thread entity_has_been_called_out_timer(var_07); + } + + var_09 = 0; + } + else + { + wait(0.5); + continue; + } + } + else + { + var_09 = 0; + } + + if(isdefined(var_0C.hasbeencalledout)) + { + continue; + } + + var_12 = level.player.origin; + var_13 = level.player.angles; + var_14 = var_0C.origin; + var_15 = vectornormalize(var_14 - var_12); + var_16 = anglestoforward(var_13); + var_17 = vectordot(var_16,var_15); + var_18 = gettime(); + if(var_17 >= 0.77) + { + if(var_18 > var_01 + var_06) + { + var_19 = level.player.origin[2] - var_0C.origin[2]; + if(var_19 > 100) + { + if(var_0C.origin[2] > level.player.origin[2]) + { + continue; + } + else + { + if(isdefined(var_0C.no_below_vo)) + { + continue; + } + + if(var_0D == "enemy") + { + var_1A = []; + var_1A = common_scripts\utility::array_combine(var_1A,var_0A); + var_1A = common_scripts\utility::array_remove(var_1A,var_0C); + var_1B = level.enemy_below; + var_1C = level.enemies_below; + } + else + { + var_20 = []; + var_20 = common_scripts\utility::array_combine(var_20,level.active_civilians); + var_20 = common_scripts\utility::array_remove(var_20,var_12); + var_1B = level.civilian_below; + var_1C = level.civilians_below; + } + + var_1D = maps\_utility::get_closest_living(var_0C.origin,var_1A,500); + if(isdefined(var_1D)) + { + if(var_0D == "enemy") + { + var_1D.hasbeencalledout = 1; + var_1D thread entity_has_been_called_out_timer(var_07); + } + else if(isdefined(var_0C.script_aigroup)) + { + var_0E = maps\_utility::get_ai_group_ai(var_0C.script_aigroup); + foreach(var_10 in var_0E) + { + if(!isdefined(var_10.hasbeencalledout)) + { + var_10.hasbeencalledout = 1; + var_10 thread entity_has_been_called_out_timer(var_07); + } + } + } + else + { + var_1D.hasbeencalledout = 1; + var_1D thread entity_has_been_called_out_timer(var_07); + } + + var_20 = var_1C[randomint(var_1C.size)]; + } + else + { + var_20 = var_1B[randomint(var_1B.size)]; + } + + thread ally_vo_controller(var_20); + var_0C.hasbeencalledout = 1; + var_0C thread entity_has_been_called_out_timer(var_07); + } + } + else + { + continue; + } + + var_01 = var_18; + wait(var_05); + var_08 = var_0C; + break; + } + else + { + continue; + } + } + + if(var_17 < -0.77) + { + continue; + } + + var_21 = anglestoright(var_13); + var_22 = vectordot(var_21,var_15); + if(var_22 < 0) + { + if(var_18 > var_02 + var_06) + { + var_19 = level.player.origin[2] - var_0C.origin[2]; + if(var_19 > 100) + { + continue; + } + else + { + var_23 = level.player geteye(); + var_24 = var_0C gettagorigin("tag_eye"); + var_25 = bullettrace(var_23,var_24,1,level.player); + var_26 = var_25["entity"]; + var_27 = isdefined(var_26) && var_26 == var_0C; + if(var_27) + { + if(var_0D == "enemy") + { + var_1A = []; + var_1A = common_scripts\utility::array_combine(var_1A,var_0A); + var_1A = common_scripts\utility::array_remove(var_1A,var_0C); + var_28 = level.enemy_left; + var_29 = level.enemies_left; + } + else + { + var_20 = []; + var_20 = common_scripts\utility::array_combine(var_20,level.active_civilians); + var_20 = common_scripts\utility::array_remove(var_20,var_12); + var_28 = level.civilian_left; + var_29 = level.civilians_left; + } + + var_1D = maps\_utility::get_closest_living(var_0C.origin,var_1A,500); + if(isdefined(var_1D)) + { + if(var_0D == "enemy") + { + var_1D.hasbeencalledout = 1; + var_1D thread entity_has_been_called_out_timer(var_07); + } + else if(isdefined(var_0C.script_aigroup)) + { + var_0E = maps\_utility::get_ai_group_ai(var_0C.script_aigroup); + foreach(var_10 in var_0E) + { + if(!isdefined(var_10.hasbeencalledout)) + { + var_10.hasbeencalledout = 1; + var_10 thread entity_has_been_called_out_timer(var_07); + } + } + } + else + { + var_1D.hasbeencalledout = 1; + var_1D thread entity_has_been_called_out_timer(var_07); + } + + var_20 = var_29[randomint(var_29.size)]; + } + else + { + var_20 = var_28[randomint(var_28.size)]; + } + + thread ally_vo_controller(var_20); + if(!isdefined(var_0C.hasbeencalledout)) + { + var_0C.hasbeencalledout = 1; + var_0C thread entity_has_been_called_out_timer(var_07); + } + + var_02 = var_18; + wait(var_05); + var_08 = var_0C; + break; + } + else + { + continue; + } + } + } + else + { + continue; + } + + continue; + } + + if(var_18 > var_03 + var_06) + { + var_19 = level.player.origin[2] - var_0C.origin[2]; + if(var_19 > 100) + { + continue; + } + else + { + var_23 = level.player geteye(); + var_24 = var_0C gettagorigin("tag_eye"); + var_25 = bullettrace(var_23,var_24,1,level.player); + var_26 = var_25["entity"]; + var_27 = isdefined(var_26) && var_26 == var_0C; + if(var_27) + { + if(var_0D == "enemy") + { + var_1A = []; + var_1A = common_scripts\utility::array_combine(var_1A,var_0A); + var_1A = common_scripts\utility::array_remove(var_1A,var_0C); + var_2C = level.enemy_right; + var_2D = level.enemies_right; + } + else + { + var_20 = []; + var_20 = common_scripts\utility::array_combine(var_20,level.active_civilians); + var_20 = common_scripts\utility::array_remove(var_20,var_12); + var_2C = level.civilian_right; + var_2D = level.civilians_right; + } + + var_1D = maps\_utility::get_closest_living(var_0C.origin,var_1A,500); + if(isdefined(var_1D)) + { + if(var_0D == "enemy") + { + var_1D.hasbeencalledout = 1; + var_1D thread entity_has_been_called_out_timer(var_07); + } + else if(isdefined(var_0C.script_aigroup)) + { + var_0E = maps\_utility::get_ai_group_ai(var_0C.script_aigroup); + foreach(var_10 in var_0E) + { + if(!isdefined(var_10.hasbeencalledout)) + { + var_10.hasbeencalledout = 1; + var_10 thread entity_has_been_called_out_timer(var_07); + } + } + } + else + { + var_1D.hasbeencalledout = 1; + var_1D thread entity_has_been_called_out_timer(var_07); + } + + var_20 = var_2D[randomint(var_2D.size)]; + } + else + { + var_20 = var_2C[randomint(var_2C.size)]; + } + + thread ally_vo_controller(var_20); + if(!isdefined(var_0C.hasbeencalledout)) + { + var_0C.hasbeencalledout = 1; + var_0C thread entity_has_been_called_out_timer(var_07); + } + + var_03 = var_18; + wait(var_05); + var_08 = var_0C; + break; + } + else + { + continue; + } + } + + continue; + } + + continue; + } + } +} + +//Function Number: 20 +entity_has_been_called_out_timer(param_00) +{ + self endon("death"); + wait(param_00); + self.hasbeencalledout = undefined; +} + +//Function Number: 21 +player_can_see_ai_through_foliage(param_00,param_01) +{ + var_02 = gettime(); + if(!isdefined(param_01)) + { + param_01 = 0; + } + + if(isdefined(param_00.playerseesmetime) && param_00.playerseesmetime + param_01 >= var_02) + { + return param_00.playerseesme; + } + + param_00.playerseesmetime = var_02; + if(!common_scripts\utility::within_fov(level.player.origin,level.player.angles,param_00.origin,0.766)) + { + param_00.playerseesme = 0; + return 0; + } + + var_03 = level.player geteye(); + var_04 = param_00.origin; + if(sighttracepassed(var_03,var_04,1,level.player,param_00,0)) + { + param_00.playerseesme = 1; + return 1; + } + + var_05 = param_00 geteye(); + if(sighttracepassed(var_03,var_05,1,level.player,param_00,0)) + { + param_00.playerseesme = 1; + return 1; + } + + var_06 = var_05 + var_04 * 0.5; + if(sighttracepassed(var_03,var_06,1,level.player,param_00,0)) + { + param_00.playerseesme = 1; + return 1; + } + + param_00.playerseesme = 0; + return 0; +} + +//Function Number: 22 +check_player_in_stop_enemy_callout_vo_volume() +{ + var_00 = getentarray("stop_enemy_callout_vo","targetname"); + foreach(var_02 in var_00) + { + if(level.player istouching(var_02)) + { + return 0; + } + } + + return 1; +} + +//Function Number: 23 +clean_kill_vo_setup(param_00) +{ + level.clean_kill_vo = []; + level.sloppy_kill_vo = []; + if(param_00 == "iln") + { + level.clean_kill_vo[0] = spawnstruct(); + level.clean_kill_vo[0].vo = "ie_iln_goodkill1"; + level.clean_kill_vo[0].vo_priority = 2; + level.clean_kill_vo[1] = spawnstruct(); + level.clean_kill_vo[1].vo = "ie_iln_cleankill1"; + level.clean_kill_vo[1].vo_priority = 2; + level.sloppy_kill_vo[0] = spawnstruct(); + level.sloppy_kill_vo[0].vo = "ie_iln_close3"; + level.sloppy_kill_vo[0].vo_priority = 2; + level.sloppy_kill_vo[1] = spawnstruct(); + level.sloppy_kill_vo[1].vo = "ie_iln_goodsave"; + level.sloppy_kill_vo[1].vo_priority = 2; + return; + } + + level.clean_kill_vo[0] = spawnstruct(); + level.clean_kill_vo[0].vo = "ie_nox_cleankill2"; + level.clean_kill_vo[0].vo_priority = 2; + level.clean_kill_vo[1] = spawnstruct(); + level.clean_kill_vo[1].vo = "ie_nox_gooddrop"; + level.clean_kill_vo[1].vo_priority = 2; + level.sloppy_kill_vo[0] = spawnstruct(); + level.sloppy_kill_vo[0].vo = "ie_nox_closeone2"; + level.sloppy_kill_vo[0].vo_priority = 2; + level.sloppy_kill_vo[1] = spawnstruct(); + level.sloppy_kill_vo[1].vo = "ie_nox_nicecleanup"; + level.sloppy_kill_vo[1].vo_priority = 2; +} + +//Function Number: 24 +clean_kill_vo(param_00) +{ + level endon("emp_detonated"); + level endon("bedroom_end"); + clean_kill_vo_setup(param_00); + var_01 = 20; + for(;;) + { + common_scripts\utility::flag_wait_either("clean_kill","sloppy_kill"); + if(common_scripts\utility::flag("clean_kill")) + { + if(isdefined(level.clean_kill_vo)) + { + var_02 = common_scripts\utility::random(level.clean_kill_vo); + thread ally_vo_controller(var_02); + } + } + else if(isdefined(level.sloppy_kill_vo)) + { + var_02 = common_scripts\utility::random(level.sloppy_kill_vo); + thread ally_vo_controller(var_02); + } + + wait(var_01); + common_scripts\utility::flag_clear("clean_kill"); + common_scripts\utility::flag_clear("sloppy_kill"); + wait 0.05; + } +} + +//Function Number: 25 +watch_for_death() +{ + self waittill("death",var_00); + if(isdefined(self) && isdefined(var_00)) + { + var_01 = self geteye(); + var_02 = getaiarray("axis","neutral"); + var_02 = common_scripts\utility::get_array_of_closest(var_01,var_02,undefined,undefined,500,undefined); + foreach(var_04 in var_02) + { + if(var_04.ignoreall) + { + continue; + } + + if(var_04.team == "neutral" && !var_04 maps\irons_estate_stealth::witness_kill_valid(var_01)) + { + continue; + } + + var_04 notify("witness_kill",var_01); + } + } + + if((isdefined(self.script_parameters) && self.script_parameters == "exposed_group") || isdefined(self.script_noteworthy) && self.script_noteworthy == "exposed_group") + { + var_06 = maps\_stealth_shared_utilities::group_get_ai_in_group(self.script_stealthgroup); + foreach(var_08 in var_06) + { + if(isdefined(var_08.script_parameters) && var_08.script_parameters == "exposed_group") + { + var_08.script_parameters = undefined; + } + else if(isdefined(var_08.script_noteworthy) && var_08.script_noteworthy == "exposed_group") + { + var_08.script_noteworthy = undefined; + } + + var_08.was_in_exposed_group = 1; + } + + if(!common_scripts\utility::flag("HINT_DECOY_STOP")) + { + common_scripts\utility::flag_set("HINT_DECOY_STOP"); + var_0A = undefined; + } + } + + if((isdefined(var_00) && var_00 == level.player) || isdefined(self.isbeinggrappled)) + { + level.death_counter++; + if(isdefined(self.was_in_exposed_group)) + { + return; + } + + wait(1); + if(!common_scripts\utility::flag("someone_became_alert") && !common_scripts\utility::flag("_stealth_spotted") && check_enemies_for_alert() && !common_scripts\utility::flag("drones_investigating")) + { + if(isdefined(level.play_ally_callout_vo)) + { + if(!common_scripts\utility::flag("clean_kill")) + { + common_scripts\utility::flag_set("clean_kill"); + return; + } + + return; + } + + return; + } + + if((common_scripts\utility::flag("someone_became_alert") || common_scripts\utility::flag("_stealth_spotted")) && check_enemies_for_alert() && !common_scripts\utility::flag("drones_investigating")) + { + if(isdefined(level.play_ally_callout_vo)) + { + if(!common_scripts\utility::flag("sloppy_kill")) + { + common_scripts\utility::flag_set("sloppy_kill"); + return; + } + + return; + } + + return; + } + } +} + +//Function Number: 26 +check_enemies_for_alert() +{ + var_00 = getaiarray("axis"); + var_00 = maps\_utility::remove_dead_from_array(var_00); + foreach(var_02 in var_00) + { + if(isdefined(var_02.alerted)) + { + return 0; + } + } + + return 1; +} + +//Function Number: 27 +dont_shoot_warning_vo_setup(param_00) +{ + level.drone_warning_vo = []; + level.civilian_warning_vo = []; + level.exposed_guard_warning_vo = []; + if(param_00 == "iln") + { + level.drone_warning_vo[0] = spawnstruct(); + level.drone_warning_vo[0].vo = "ie_iln_alertdrones"; + level.drone_warning_vo[0].vo_priority = 2; + level.drone_warning_vo[1] = spawnstruct(); + level.drone_warning_vo[1].vo = "ie_iln_dontshoot5"; + level.drone_warning_vo[1].vo_priority = 2; + level.civilian_warning_vo[0] = spawnstruct(); + level.civilian_warning_vo[0].vo = "ie_iln_civiliancasualties"; + level.civilian_warning_vo[0].vo_priority = 2; + if(level.start_point_scripted == "meet_cormack") + { + level.exposed_guard_warning_vo[0] = spawnstruct(); + level.exposed_guard_warning_vo[0].vo = "ie_iln_hesopen"; + level.exposed_guard_warning_vo[0].vo_priority = 2; + return; + } + + level.exposed_guard_warning_vo[0] = spawnstruct(); + level.exposed_guard_warning_vo[0].vo = "ie_iln_hesopen"; + level.exposed_guard_warning_vo[0].vo_priority = 2; + level.exposed_guard_warning_vo[1] = spawnstruct(); + level.exposed_guard_warning_vo[1].vo = "ie_iln_holdfire"; + level.exposed_guard_warning_vo[1].vo_priority = 2; + level.exposed_guard_warning_vo[2] = spawnstruct(); + level.exposed_guard_warning_vo[2].vo = "ie_iln_dontengage"; + level.exposed_guard_warning_vo[2].vo_priority = 2; + level.exposed_guard_warning_vo[3] = spawnstruct(); + level.exposed_guard_warning_vo[3].vo = "ie_iln_targetexposed"; + level.exposed_guard_warning_vo[3].vo_priority = 2; + return; + } + + level.drone_warning_vo[0] = spawnstruct(); + level.drone_warning_vo[0].vo = "ie_nox_dontengagedrone"; + level.drone_warning_vo[0].vo_priority = 2; + level.drone_warning_vo[1] = spawnstruct(); + level.drone_warning_vo[1].vo = "ie_nox_avoiddrone"; + level.drone_warning_vo[1].vo_priority = 2; + level.civilian_warning_vo[0] = spawnstruct(); + level.civilian_warning_vo[0].vo = "ie_nox_civiliancasualties"; + level.civilian_warning_vo[0].vo_priority = 2; + level.exposed_guard_warning_vo[0] = spawnstruct(); + level.exposed_guard_warning_vo[0].vo = "ie_nox_outinopen"; + level.exposed_guard_warning_vo[0].vo_priority = 2; +} + +//Function Number: 28 +dont_shoot_warning_vo(param_00,param_01) +{ + level endon("poolyard_save"); + level endon("bedroom_start"); + level endon("meet_cormack_end"); + dont_shoot_warning_vo_setup(param_00); + for(;;) + { + var_02 = !isdefined(level.drone_warning_given) && isdefined(level.civilian_warning_given) && isdefined(level.exposed_guard_warning_given); + if(var_02) + { + level.player childthread dont_shoot_warning_vo_player_thread(param_00); + level waittill("dont_shoot_vo_warning",var_03); + if(var_03 == "drone") + { + if(!isdefined(level.drone_warning_given)) + { + var_04 = common_scripts\utility::random(level.drone_warning_vo); + thread ally_vo_controller(var_04); + if(!isdefined(param_01)) + { + level.drone_warning_given = 1; + } + } + } + else if(var_03 == "guard") + { + if(!isdefined(level.exposed_guard_warning_given)) + { + var_04 = common_scripts\utility::random(level.exposed_guard_warning_vo); + thread ally_vo_controller(var_04); + if(!isdefined(param_01)) + { + level.exposed_guard_warning_given = 1; + } + } + } + else if(!isdefined(level.civilian_warning_given)) + { + var_04 = common_scripts\utility::random(level.civilian_warning_vo); + thread ally_vo_controller(var_04); + if(!isdefined(param_01)) + { + level.civilian_warning_given = 1; + } + } + } + else + { + break; + } + + wait(5); + } +} + +//Function Number: 29 +dont_shoot_warning_vo_player_thread(param_00) +{ + self notify("drone_warning_vo_player_thread"); + self endon("drone_warning_vo_player_thread"); + self endon("death"); + for(;;) + { + wait 0.05; + level.active_civilians = maps\_utility::remove_dead_from_array(level.active_civilians); + if(level.player maps\_utility::isads()) + { + var_01 = level.player geteye(); + var_02 = anglestoforward(level.player getplayerangles()); + if(!isdefined(level.play_ally_callout_vo)) + { + continue; + } + + if(!isdefined(level.play_ally_warning_vo)) + { + continue; + } + + if(!check_player_in_stop_enemy_callout_vo_volume()) + { + continue; + } + + var_03 = bullettrace(var_01,var_01 + var_02 * 15000,1,level.player); + var_04 = var_03["entity"]; + var_05 = getaiarray("axis"); + var_05 = maps\_utility::remove_dead_from_array(var_05); + if(isdefined(level.active_drones)) + { + var_03 = isdefined(var_04) && common_scripts\utility::array_contains(level.active_drones,var_04) || common_scripts\utility::array_contains(level.active_civilians,var_04) || common_scripts\utility::array_contains(var_05,var_04); + if(var_03) + { + if(var_04.classname == "script_vehicle_pdrone_security") + { + var_06 = "drone"; + } + else if(var_05.classname == "actor_enemy_atlas_bodyguard_smg" || var_05.classname == "actor_enemy_atlas_pmc_estate_smg") + { + if((isdefined(var_05.script_parameters) && var_05.script_parameters == "exposed") || isdefined(var_05.script_noteworthy) && var_05.script_noteworthy == "exposed") + { + var_06 = "guard"; + } + else + { + continue; + } + } + else + { + var_06 = "civilian"; + } + + level notify("dont_shoot_vo_warning",var_06); + return; + } + } + } + } +} + +//Function Number: 30 +exposed_group_logic() +{ + level endon("player_on_security_center_rooftop"); + level endon("bedroom_start"); + common_scripts\utility::flag_clear("HINT_DECOY"); + common_scripts\utility::flag_clear("HINT_DECOY_STOP"); + var_00 = undefined; + var_01 = 0; + for(;;) + { + wait 0.05; + var_02 = getaiarray("axis"); + var_02 = maps\_utility::remove_dead_from_array(var_02); + var_03 = []; + foreach(var_05 in var_02) + { + if((isdefined(var_05.script_parameters) && var_05.script_parameters == "exposed_group") || isdefined(var_05.script_noteworthy) && var_05.script_noteworthy == "exposed_group") + { + var_03 = common_scripts\utility::add_to_array(var_03,var_05); + } + } + + if(var_03.size == 0) + { + return; + } + + var_05 = maps\_utility::get_closest_living(level.player.origin,var_03); + if(!isdefined(var_05)) + { + continue; + } + + var_07 = isdefined(level.player.ent_flag["_stealth_in_shadow"]) && level.player.ent_flag["_stealth_in_shadow"]; + var_08 = distancesquared(var_05.origin,level.player.origin) < 490000; + if(var_07 && var_08) + { + var_09 = level.player geteye(); + var_0A = anglestoforward(level.player getplayerangles()); + var_0B = bullettrace(var_09,var_09 + var_0A * 15000,1,level.player); + var_0C = var_0B["entity"]; + var_0B = isdefined(var_0C) && common_scripts\utility::array_contains(var_03,var_0C); + if(var_0B) + { + var_01 = var_01 + 0.05; + if(var_01 == 0.5) + { + if(!isdefined(var_0C.exposed_vo_said)) + { + if(!isdefined(level.play_ally_warning_vo) && !check_player_in_stop_enemy_callout_vo_volume()) + { + var_0D = common_scripts\utility::random(level.exposed_guard_warning_vo); + thread ally_vo_controller(var_0D); + var_0E = maps\_stealth_shared_utilities::group_get_ai_in_group(var_0C.script_stealthgroup); + foreach(var_10 in var_0E) + { + var_10.exposed_vo_said = 1; + } + } + } + + if(!isdefined(var_00) && !isdefined(var_0C.whistle_hint_used)) + { + common_scripts\utility::flag_clear("HINT_DECOY_STOP"); + var_0C thread handle_whistle_hint(); + var_00 = 1; + } + } + } + else + { + var_01 = 0; + if(isdefined(var_00)) + { + common_scripts\utility::flag_set("HINT_DECOY_STOP"); + var_00 = undefined; + } + } + + continue; + } + + var_01 = 0; + if(isdefined(var_00)) + { + common_scripts\utility::flag_set("HINT_DECOY_STOP"); + var_00 = undefined; + } + } +} + +//Function Number: 31 +handle_whistle_hint() +{ + level endon("HINT_DECOY_STOP"); + common_scripts\utility::flag_clear("HINT_DECOY"); + level.player thread maps\_utility::display_hint_timeout("HINT_DECOY_EXPOSED_GROUP"); + level.player notifyonplayercommand("whistle","+actionslot " + level.action_slot_whistle); + level.player waittill("whistle"); + common_scripts\utility::flag_set("HINT_DECOY"); + if(isdefined(self.script_stealthgroup)) + { + var_00 = maps\_stealth_shared_utilities::group_get_ai_in_group(self.script_stealthgroup); + foreach(var_02 in var_00) + { + var_02.whistle_hint_used = 1; + } + } +} + +//Function Number: 32 +enemy_alert_vo_setup(param_00) +{ + level.enemy_alert_vo = []; + level.enemy_return_to_normal_vo = []; + if(param_00 == "iln") + { + level.enemy_alert_vo[0] = spawnstruct(); + level.enemy_alert_vo[0].vo = "ie_iln_hidemitch2"; + level.enemy_alert_vo[0].vo_priority = 5; + level.enemy_alert_vo[1] = spawnstruct(); + level.enemy_alert_vo[1].vo = "ie_iln_outofsight2"; + level.enemy_alert_vo[1].vo_priority = 5; + level.enemy_alert_vo[2] = spawnstruct(); + level.enemy_alert_vo[2].vo = "ie_iln_quickhide"; + level.enemy_alert_vo[2].vo_priority = 5; + level.enemy_return_to_normal_vo[0] = spawnstruct(); + level.enemy_return_to_normal_vo[0].vo = "ie_iln_allclearmitch"; + level.enemy_return_to_normal_vo[0].vo_priority = 3; + level.enemy_return_to_normal_vo[1] = spawnstruct(); + level.enemy_return_to_normal_vo[1].vo = "ie_iln_movingback"; + level.enemy_return_to_normal_vo[1].vo_priority = 3; + level.enemy_return_to_normal_vo[2] = spawnstruct(); + level.enemy_return_to_normal_vo[2].vo = "ie_iln_youreclear"; + level.enemy_return_to_normal_vo[2].vo_priority = 3; + return; + } + + level.enemy_alert_vo[0] = spawnstruct(); + level.enemy_alert_vo[0].vo = "ie_nox_hide1"; + level.enemy_alert_vo[0].vo_priority = 5; + level.enemy_alert_vo[1] = spawnstruct(); + level.enemy_alert_vo[1].vo = "ie_nox_getout1"; + level.enemy_alert_vo[1].vo_priority = 5; + level.enemy_alert_vo[2] = spawnstruct(); + level.enemy_alert_vo[2].vo = "ie_nox_tangoincoming1"; + level.enemy_alert_vo[2].vo_priority = 5; + level.enemy_return_to_normal_vo[0] = spawnstruct(); + level.enemy_return_to_normal_vo[0].vo = "ie_nox_youresafe"; + level.enemy_return_to_normal_vo[0].vo_priority = 3; + level.enemy_return_to_normal_vo[1] = spawnstruct(); + level.enemy_return_to_normal_vo[1].vo = "ie_nox_looksclear"; + level.enemy_return_to_normal_vo[1].vo_priority = 3; + level.enemy_return_to_normal_vo[2] = spawnstruct(); + level.enemy_return_to_normal_vo[2].vo = "ie_nox_noalerts"; + level.enemy_return_to_normal_vo[2].vo_priority = 3; +} + +//Function Number: 33 +enemy_alert_vo() +{ + level endon("missionfailed"); + level.player endon("death"); + self endon("death"); + level endon("bedroom_end"); + for(;;) + { + maps\_utility::ent_flag_waitopen("_stealth_normal"); + self.alerted = 1; + wait 0.05; + if((isdefined(self.event_type) && self.event_type == "whistle" || self.event_type == "reaction_generic") || maps\_utility::ent_flag("_stealth_saw_corpse") || maps\_utility::ent_flag("_stealth_found_corpse")) + { + if((maps\_utility::ent_flag("_stealth_saw_corpse") || maps\_utility::ent_flag("_stealth_found_corpse")) && !isdefined(self.alerted_by_corpse)) + { + self.alerted_by_corpse = 1; + } + + thread maps\irons_estate_stealth::wait_till_every_thing_stealth_normal_for(3); + } + else if(!common_scripts\utility::flag("someone_became_alert")) + { + common_scripts\utility::flag_set("someone_became_alert"); + level maps\_utility::add_wait(::maps\irons_estate_stealth::wait_till_every_thing_stealth_normal_for,3); + level maps\_utility::add_func(::common_scripts\utility::flag_clear,"someone_became_alert"); + thread maps\_utility::do_wait(); + wait(1); + if(common_scripts\utility::flag("_stealth_spotted")) + { + continue; + } + + if(isdefined(level.enemy_alert_vo)) + { + var_00 = common_scripts\utility::random(level.enemy_alert_vo); + thread ally_vo_controller(var_00); + } + } + + maps\_utility::ent_flag_wait("_stealth_normal"); + if(isdefined(self.isbeinggrappled)) + { + continue; + } + + self.alerted = undefined; + if(common_scripts\utility::flag("drones_investigating")) + { + continue; + } + + if(common_scripts\utility::flag("_stealth_spotted")) + { + continue; + } + + if(isdefined(self.alerted_by_corpse)) + { + maps\_utility::ent_flag_waitopen("_stealth_saw_corpse"); + maps\_utility::ent_flag_waitopen("_stealth_found_corpse"); + self.alerted_by_corpse = undefined; + continue; + } + + if(distancesquared(level.player.origin,self.origin) < 250000) + { + if(isdefined(level.enemy_return_to_normal_vo)) + { + var_00 = common_scripts\utility::random(level.enemy_return_to_normal_vo); + thread ally_vo_controller(var_00); + } + } + } +} + +//Function Number: 34 +drone_incoming_vo_setup(param_00) +{ + level.drones_sent_vo = []; + if(param_00 == "iln") + { + level.drones_sent_vo[0] = spawnstruct(); + level.drones_sent_vo[0].vo = "ie_iln_sendingindrones"; + level.drones_sent_vo[0].vo_priority = 3; + level.drones_sent_vo[1] = spawnstruct(); + level.drones_sent_vo[1].vo = "ie_iln_droneincoming"; + level.drones_sent_vo[1].vo_priority = 3; + level.drones_sent_vo[2] = spawnstruct(); + level.drones_sent_vo[2].vo = "ie_iln_droneontheway"; + level.drones_sent_vo[2].vo_priority = 3; + return; + } + + level.drones_sent_vo[0] = spawnstruct(); + level.drones_sent_vo[0].vo = "ie_nox_sendingindrones"; + level.drones_sent_vo[0].vo_priority = 3; + level.drones_sent_vo[1] = spawnstruct(); + level.drones_sent_vo[1].vo = "ie_nox_droneincoming"; + level.drones_sent_vo[1].vo_priority = 3; + level.drones_sent_vo[2] = spawnstruct(); + level.drones_sent_vo[2].vo = "ie_nox_droneontheway"; + level.drones_sent_vo[2].vo_priority = 3; +} + +//Function Number: 35 +drone_incoming_vo(param_00) +{ + level endon("emp_detonated"); + level endon("bedroom_end"); + drone_incoming_vo_setup(param_00); + while(!common_scripts\utility::flag("mission_failing")) + { + common_scripts\utility::flag_wait("drones_investigating"); + if(!isdefined(level.drone_investigating_has_happened_once)) + { + level.drone_investigating_has_happened_once = 1; + } + + if(common_scripts\utility::flag("drone_investigate_triggered")) + { + var_01 = []; + var_01[0] = level.drones_sent_vo[1]; + var_01[1] = level.drones_sent_vo[2]; + var_02 = common_scripts\utility::random(var_01); + } + else + { + var_02 = common_scripts\utility::random(level.drones_sent_vo); + } + + thread ally_vo_controller(var_02); + common_scripts\utility::flag_waitopen("drones_investigating"); + wait 0.05; + } +} + +//Function Number: 36 +failed_vo_setup(param_00) +{ + level.failed_vo = []; + if(param_00 == "iln") + { + level.failed_vo[0] = spawnstruct(); + level.failed_vo[0].vo = "ie_iln_abortmission"; + level.failed_vo[0].vo_priority = 6; + level.failed_vo[1] = spawnstruct(); + level.failed_vo[1].vo = "ie_iln_alertedthem1"; + level.failed_vo[1].vo_priority = 6; + return; + } + + level.failed_vo[0] = spawnstruct(); + level.failed_vo[0].vo = "ie_nox_compromised1"; + level.failed_vo[0].vo_priority = 6; + level.failed_vo[1] = spawnstruct(); + level.failed_vo[1].vo = "ie_nox_ontous1"; + level.failed_vo[1].vo_priority = 6; +} + +//Function Number: 37 +failed_vo(param_00) +{ + level.player endon("death"); + level endon("emp_detonated"); + level endon("bedroom_end"); + failed_vo_setup(param_00); + common_scripts\utility::flag_wait("mission_failing"); + level.failed_vo = common_scripts\utility::array_randomize(level.failed_vo); + var_01 = level.failed_vo[0]; + thread ally_vo_controller(var_01); +} + +//Function Number: 38 +ally_vo_controller(param_00) +{ + level.player endon("death"); + level endon("bedroom_end"); + if(isdefined(level.play_ally_warning_vo) && level.play_ally_warning_vo == 1) + { + if(isdefined(level.current_vo) && isdefined(param_00.vo_priority) && param_00.vo_priority > level.current_vo.vo_priority) + { + level.ally_vo_org stopsounds(); + wait(0.05); + level.current_vo = param_00; + level.ally_vo_org playsound(param_00.vo,"sounddone",1); + level.ally_vo_org waittill("sounddone"); + wait(0.5); + level.current_vo = undefined; + return; + } + + if(!isdefined(level.current_vo)) + { + level.current_vo = param_00; + level.ally_vo_org playsound(param_00.vo,"sounddone",1); + level.ally_vo_org waittill("sounddone"); + wait(0.5); + level.current_vo = undefined; + return; + } + } +} + +//Function Number: 39 +irons_estate_animated_trees_setup() +{ + thread handle_irons_estate_animated_trees(); + switch(level.start_point) + { + case "infil": + case "recon": + common_scripts\utility::flag_set("ie_west_poolhouse_trees"); + break; + + case "hack_security": + case "security_center": + common_scripts\utility::flag_set("ie_west_poolhouse_trees"); + common_scripts\utility::flag_set("ie_west_central_garden_trees"); + break; + + case "intel": + case "penthouse": + case "meet_cormack": + common_scripts\utility::flag_set("ie_west_poolhouse_trees"); + common_scripts\utility::flag_set("ie_west_central_garden_trees"); + common_scripts\utility::flag_set("ie_west_driveway_trees"); + break; + + case "plant_tracker": + case "hangar": + case "infil_hangar": + common_scripts\utility::flag_set("remove_pre_penthouse_trees"); + common_scripts\utility::flag_set("ie_west_poolhouse_trees"); + common_scripts\utility::flag_set("ie_west_central_garden_trees"); + common_scripts\utility::flag_set("ie_west_driveway_trees"); + common_scripts\utility::flag_set("post_penthouse_trees"); + break; + + default: + break; + } +} + +//Function Number: 40 +handle_irons_estate_animated_trees() +{ + common_scripts\utility::flag_wait("ie_west_poolhouse_trees"); + if(!common_scripts\utility::flag("remove_pre_penthouse_trees")) + { + spawn_struct_array("ie_west_poolhouse_trees","targetname"); + } + + common_scripts\utility::flag_wait("ie_west_central_garden_trees"); + if(!common_scripts\utility::flag("remove_pre_penthouse_trees")) + { + spawn_struct_array("ie_west_central_garden_trees","targetname"); + } + + common_scripts\utility::flag_wait("ie_west_driveway_trees"); + if(!common_scripts\utility::flag("remove_pre_penthouse_trees")) + { + spawn_struct_array("ie_west_driveway_trees","targetname"); + } + + common_scripts\utility::flag_wait("post_penthouse_trees"); + if(!common_scripts\utility::flag("remove_pre_penthouse_trees")) + { + thread remove_pre_penthouse_trees(); + } + + spawn_struct_array("post_penthouse_trees","targetname"); +} + +//Function Number: 41 +remove_pre_penthouse_trees() +{ + var_00 = getentarray("ie_west_poolhouse_trees","targetname"); + var_01 = getentarray("ie_west_central_garden_trees","targetname"); + var_02 = getentarray("ie_west_driveway_trees","targetname"); + var_03 = common_scripts\utility::array_combine(var_00,var_01); + var_03 = common_scripts\utility::array_combine(var_03,var_02); + foreach(var_05 in var_03) + { + if(isdefined(var_05)) + { + var_05 delete(); + } + } + + common_scripts\utility::flag_set("remove_pre_penthouse_trees"); +} + +//Function Number: 42 +spawn_struct_array(param_00,param_01) +{ + var_02 = common_scripts\utility::getstructarray(param_00,param_01); + var_03 = []; + var_03[0] = "palm_tree_02"; + var_03[1] = "palm_tree_03"; + foreach(var_05 in var_02) + { + if(isdefined(var_05.script_noteworthy) && var_05.script_noteworthy == "foliage_fan_palm_tree_01_anim") + { + spawn_model_from_struct(var_05,"palm_tree_01"); + continue; + } + + if(isdefined(var_05.script_noteworthy) && var_05.script_noteworthy == "foliage_fan_palm_tree_02_anim") + { + var_06 = common_scripts\utility::random(var_03); + spawn_model_from_struct(var_05,var_06); + } + } +} + +//Function Number: 43 +spawn_model_from_struct(param_00,param_01) +{ + var_02 = spawn("script_model",param_00.origin); + if(isdefined(param_00.script_noteworthy)) + { + if(param_00.script_noteworthy == "foliage_fan_palm_tree_01_anim") + { + param_00.angles = (0,30,0); + } + + if(param_00.script_noteworthy == "foliage_fan_palm_tree_02_anim") + { + if(param_01 == "palm_tree_02") + { + param_00.angles = (0,180,0); + } + else + { + param_00.angles = (0,0,0); + } + } + + var_02.angles = param_00.angles; + } + + var_02 setmodel(param_00.script_noteworthy); + if(level.nextgen) + { + var_02.animname = param_01; + var_02 useanimtree(level.scr_animtree[var_02.animname]); + } + + var_02.script_noteworthy = param_00.script_noteworthy; + var_02.targetname = param_00.targetname; + var_02.target = param_00.target; + if(level.nextgen) + { + var_02 thread irons_estate_animated_trees(param_01); + } +} + +//Function Number: 44 +irons_estate_animated_trees(param_00) +{ + wait(randomfloatrange(0.25,1.5)); + thread maps\_anim::anim_loop_solo(self,param_00); +} + +//Function Number: 45 +delay_scripting_if_stealth_broken(param_00,param_01,param_02,param_03) +{ + level endon(param_01); + for(;;) + { + if(!common_scripts\utility::flag("_stealth_spotted") && !common_scripts\utility::flag("someone_became_alert") && !common_scripts\utility::flag("drones_investigating")) + { + common_scripts\utility::flag_wait_any("_stealth_spotted","someone_became_alert","drones_investigating"); + } + + param_00 common_scripts\utility::trigger_off(); + if(isdefined(param_02)) + { + param_02 hide(); + } + + common_scripts\utility::flag_waitopen("someone_became_alert"); + common_scripts\utility::flag_waitopen("drones_investigating"); + common_scripts\utility::flag_waitopen("_stealth_spotted"); + while(level.stealth_spotted_drones.size > 0) + { + wait(0.05); + } + + if(isdefined(param_02)) + { + param_02 show(); + } + + param_00 common_scripts\utility::trigger_on(); + thread [[ param_03 ]](); + wait(0.05); + } +} + +//Function Number: 46 +player_kill_trigger(param_00) +{ + level endon("intel_begin"); + common_scripts\utility::flag_wait(param_00); + level.player disableinvulnerability(); + level.player kill(); +} + +//Function Number: 47 +waterfall_save(param_00) +{ + level endon(param_00); + for(;;) + { + if(level.player istouching(self) && level.player isonground()) + { + maps\_utility::autosave_stealth(); + break; + } + + wait(1); + } +} + +//Function Number: 48 +player_alerted_mission_fail_convoy() +{ + soundscripts\_snd_playsound::snd_play_2d("irons_guards_alerted_fail"); + maps\_player_death::set_deadquote(&"IRONS_ESTATE_YOU_FAILED_TO_WAIT_FOR_CORMACK"); + thread maps\_utility::missionfailedwrapper(); +} + +//Function Number: 49 +player_alerted_mission_fail() +{ + soundscripts\_snd_playsound::snd_play_2d("irons_guards_alerted_fail"); + maps\_player_death::set_deadquote(&"IRONS_ESTATE_ALERT_MISSION_FAIL"); + thread maps\_utility::missionfailedwrapper(); +} + +//Function Number: 50 +player_alerted_mission_fail_meter() +{ + soundscripts\_snd_playsound::snd_play_2d("irons_guards_alerted_fail"); + maps\_player_death::set_deadquote(&"IRONS_ESTATE_STEALTH_DETECTION_HINT"); + thread maps\_utility::missionfailedwrapper(); +} + +//Function Number: 51 +handle_player_abandoned_mission(param_00) +{ + if(param_00 == "iln") + { + var_01 = getent("border_drone_warning_trigger","targetname"); + var_01 thread player_abandoned_mission_warning("bedroom_end",param_00); + level endon("bedroom_end"); + common_scripts\utility::flag_wait("border_drone_driveway_trigger"); + common_scripts\utility::flag_set("_stealth_spotted"); + level.border_drone_fail = 1; + thread player_abandoned_mission_fail(); + return; + } + + var_02 = getent("abandoning_mission_warning_trigger","targetname"); + var_02 thread player_abandoned_mission_warning("emp_detonated",param_00); + level endon("emp_detonated"); + common_scripts\utility::flag_wait("player_entering_ie_west"); + common_scripts\utility::flag_set("_stealth_spotted"); + level.border_drone_fail = 1; + thread player_abandoned_mission_fail(); +} + +//Function Number: 52 +player_abandoned_mission_warning_vo_setup(param_00) +{ + if(param_00 == "iln") + { + level.player_abandoning_mission_vo = []; + level.player_abandoning_mission_vo[0] = spawnstruct(); + level.player_abandoning_mission_vo[0].vo = "ie_iln_gettooffice"; + level.player_abandoning_mission_vo[0].vo_priority = 4; + level.player_abandoning_mission_vo[1] = spawnstruct(); + level.player_abandoning_mission_vo[1].vo = "ie_iln_tooclose2"; + level.player_abandoning_mission_vo[1].vo_priority = 4; + level.player_abandoning_mission_vo[2] = spawnstruct(); + level.player_abandoning_mission_vo[2].vo = "ie_iln_spotyou"; + level.player_abandoning_mission_vo[2].vo_priority = 4; + return; + } + + level.player_abandoning_mission_vo = []; + level.player_abandoning_mission_vo[0] = spawnstruct(); + level.player_abandoning_mission_vo[0].vo = "ie_nox_where2"; + level.player_abandoning_mission_vo[0].vo_priority = 4; + level.player_abandoning_mission_vo[1] = spawnstruct(); + level.player_abandoning_mission_vo[1].vo = "ie_nox_stayonpoint"; + level.player_abandoning_mission_vo[1].vo_priority = 4; +} + +//Function Number: 53 +player_abandoned_mission_warning(param_00,param_01) +{ + level endon(param_00); + player_abandoned_mission_warning_vo_setup(param_01); + var_02 = 0; + for(;;) + { + self waittill("trigger"); + var_03 = common_scripts\utility::random(level.player_abandoning_mission_vo); + thread ally_vo_controller(var_03); + var_04 = randomfloatrange(8,10); + while(level.player istouching(self)) + { + if(!isdefined(level.abandon_mission_warning_hint)) + { + common_scripts\utility::flag_clear("HINT_ABANDON_WARNING_STOP"); + thread maps\_utility::display_hint("HINT_ABANDON_WARNING"); + level.abandon_mission_warning_hint = 1; + } + + var_02 = var_02 + 0.05; + if(var_02 >= var_04) + { + var_03 = common_scripts\utility::random(level.player_abandoning_mission_vo); + thread ally_vo_controller(var_03); + var_02 = 0; + } + + wait(0.05); + } + + var_02 = 0; + common_scripts\utility::flag_set("HINT_ABANDON_WARNING_STOP"); + if(isdefined(level.abandon_mission_warning_hint)) + { + level.abandon_mission_warning_hint = undefined; + } + + wait 0.05; + } +} + +//Function Number: 54 +player_abandoned_mission_fail() +{ + maps\_player_death::set_deadquote(&"IRONS_ESTATE_ABANDON_FAIL"); + thread maps\_utility::missionfailedwrapper(); +} + +//Function Number: 55 +ally_grapple(param_00,param_01,param_02) +{ + if(isdefined(self.move_origin)) + { + self unlink(); + self.move_origin delete(); + } + + var_03 = self.origin; + param_00 = common_scripts\utility::getstruct(param_00,"targetname"); + maps\_utility::set_goal_radius(16); + self.move_origin = common_scripts\utility::spawn_tag_origin(); + self linkto(self.move_origin,"tag_origin"); + self.move_origin moveto(param_00.origin,param_01); + wait(param_01); + wait 0.05; + if(!isdefined(param_02)) + { + self unlink(); + if(isdefined(self.move_origin)) + { + self.move_origin delete(); + } + } +} + +//Function Number: 56 +check_allies_in_volume(param_00,param_01) +{ + common_scripts\utility::flag_clear("all_in"); + for(;;) + { + var_02 = 1; + foreach(var_04 in param_00) + { + if(isalive(var_04) && !var_04 istouching(param_01)) + { + var_02 = 0; + } + } + + if(var_02) + { + break; + } + + wait(0.05); + } + + common_scripts\utility::flag_set("all_in"); +} + +//Function Number: 57 +remove_grapple(param_00) +{ + common_scripts\utility::flag_clear("grapple_disabled"); + if(isdefined(param_00)) + { + common_scripts\utility::flag_wait(param_00); + } + + for(;;) + { + if(level.player.grapple["connected"] == 0) + { + if(level.player.grapple["grappling"] == 0) + { + break; + } + } + + wait(0.05); + } + + level.player maps\_grapple::grapple_take(); + common_scripts\utility::flag_set("grapple_disabled"); +} + +//Function Number: 58 +security_center_lights(param_00,param_01,param_02) +{ + if(isdefined(param_00)) + { + foreach(var_04 in param_01) + { + var_04 setlightintensity(0); + } + + return; + } + + foreach(var_04 in param_02) + { + var_04 setlightintensity(param_02); + } +} + +//Function Number: 59 +security_center_script_brushmodels(param_00) +{ + if(isdefined(param_00)) + { + self hide(); + return; + } + + self show(); +} + +//Function Number: 60 +security_center_player_rig_and_hatch_door_setup() +{ + level.security_center_anim_struct = common_scripts\utility::getstruct("security_center_anim_struct","targetname"); + level.hatch_door_middle = getent("hatch_door_middle","targetname"); + level.hatch_door_middle.animname = "hatch_door_middle"; + level.hatch_door_middle useanimtree(level.scr_animtree["hatch_door_middle"]); + level.player_rig = maps\_utility::spawn_anim_model("player_rig"); + level.player_rig hide(); + level.player_and_hatch_doors = []; + level.player_and_hatch_doors[0] = level.player_rig; + level.player_and_hatch_doors[1] = level.hatch_door_middle; + if(level.start_point_scripted == "hack_security") + { + level.security_center_anim_struct maps\_anim::anim_last_frame_solo(level.hatch_door_middle,"plant_emp"); + return; + } + + level.security_center_anim_struct maps\_anim::anim_first_frame(level.player_and_hatch_doors,"plant_emp"); +} + +//Function Number: 61 +security_center_bink() +{ + wait 0.05; + level endon("hack_security_end"); + thread security_center_bink_off(); + setsaveddvar("cg_cinematicFullScreen","0"); + cinematicingameloop("atlas_logo_loop"); + common_scripts\utility::flag_wait("handprint_start"); + wait(1.5); + stopcinematicingame(); + maps\_utility::delaythread(2,::security_center_main_screen_bink,1); + cinematicingame("security_center_table_scan"); + soundscripts\_snd_playsound::snd_play_2d("irons_bink_tablescan"); + wait(0.05); + level waittill("security_center_table_bink_done"); + stopcinematicingame(); + var_00 = getent("security_center_desk_screen","targetname"); + var_00 hide(); + thread security_center_main_screen_bink(undefined); + soundscripts\_snd::snd_message("aud_security_main_screen"); + cinematicingameloop("security_center_main_screen"); +} + +//Function Number: 62 +security_center_bink_off() +{ + common_scripts\utility::flag_wait("hack_security_end"); + stopcinematicingame(); +} + +//Function Number: 63 +security_center_main_screen_bink(param_00,param_01) +{ + if(isdefined(param_00)) + { + var_02 = getent("security_center_main_screen_model","targetname"); + var_02 hide(); + var_03 = getent("security_center_main_screen_brush","targetname"); + var_03 hide(); + var_04 = getent("security_center_main_screen_off","targetname"); + var_04 show(); + return; + } + + if(isdefined(var_04)) + { + var_02 = getent("security_center_main_screen_model","targetname"); + var_04 show(); + var_03 = getent("security_center_main_screen_brush","targetname"); + var_04 hide(); + } + else + { + var_03 = getent("security_center_main_screen_brush","targetname"); + var_04 show(); + var_03 = getent("security_center_main_screen_model","targetname"); + var_03 hide(); + } + + var_04 = getent("security_center_main_screen_off","targetname"); + var_04 hide(); +} + +//Function Number: 64 +timer(param_00,param_01,param_02,param_03) +{ + if(isdefined(param_02)) + { + level endon(param_02); + thread maps\_utility::flagwaitthread(param_02,::killtimer); + } + + level.hudtimerindex = 20; + level.timer = maps\_hud_util::get_countdown_hud(-250); + level.timer setpulsefx(30,900000,700); + if(isdefined(param_03)) + { + level.timer.label = param_03; + } + + level.timer settimer(param_00); + level.start_time = gettime(); + var_04 = level.timer; + if(isdefined(param_02)) + { + common_scripts\utility::flag_wait_or_timeout(param_02,param_00); + } + else if(!isdefined(param_01)) + { + wait(param_00); + } + else + { + wait(param_01); + } + + if(isdefined(var_04)) + { + killtimer(); + } +} + +//Function Number: 65 +killtimer() +{ + if(isdefined(level.timer)) + { + level.timer destroy(); + } +} + +//Function Number: 66 +tennis_court_floor(param_00) +{ + var_01 = getentarray("tennis_court_floor_lines","targetname"); + var_02 = getentarray("tennis_court_net","targetname"); + if(isdefined(param_00)) + { + foreach(var_04 in var_01) + { + var_04 hide(); + } + + foreach(var_07 in var_02) + { + var_07 hide(); + } + + return; + } + + foreach(var_04 in var_04) + { + var_04 show(); + } + + foreach(var_07 in var_02) + { + var_07 show(); + } +} + +//Function Number: 67 +notify_delay_param(param_00,param_01,param_02) +{ + self endon("_stealth_enemy_alert_level_change"); + self endon("enemy_awareness_reaction"); + self endon("death"); + self endon("pain_death"); + if(param_01 > 0) + { + wait(param_01); + } + + if(!isdefined(self)) + { + return; + } + + self notify(param_00,param_02); +} + +//Function Number: 68 +notifyaftertime(param_00,param_01,param_02) +{ + self endon("death"); + self endon(param_01); + wait(param_02); + self notify(param_00); +} + +//Function Number: 69 +stopsounds_on_death() +{ + common_scripts\utility::waittill_any("death","damage","_stealth_enemy_alert_level_change","alert","attack","stealth_enemy_endon_alert","alerted","spotted_player"); + if(isdefined(self)) + { + self notify("something_alerted_me"); + if(isdefined(self.anim_org)) + { + self.anim_org notify("stop_looping_anim"); + } + + self notify("stop_sound"); + self stopsounds(); + } +} + +//Function Number: 70 +drone_investigate_triggers_main() +{ + common_scripts\utility::flag_init("drone_investigate_triggered"); + var_00 = getentarray("drone_investigate_trigger","targetname"); + foreach(var_02 in var_00) + { + var_02 thread drone_investigate_trigger(); + } +} + +//Function Number: 71 +drone_investigate_trigger() +{ + level.player endon("death"); + self endon("death"); + var_00 = undefined; + if(isdefined(self.script_noteworthy)) + { + var_00 = self.script_noteworthy; + level endon(self.script_noteworthy); + } + + self waittill("trigger"); + if(isdefined(var_00)) + { + if(common_scripts\utility::flag(var_00)) + { + return; + } + } + + if(isdefined(level.drone_investigating_has_happened_once)) + { + return; + } + + if(isdefined(self.script_parameters)) + { + thread maps\_utility::smart_radio_dialogue(self.script_parameters); + } + + if(isdefined(self.target)) + { + var_01 = common_scripts\utility::getstruct(self.target,"targetname"); + var_02 = var_01.origin; + } + else + { + var_02 = level.player.origin; + } + + level notify("drone_investigate",var_02); + common_scripts\utility::flag_set("drone_investigate_triggered"); + maps\_utility::delaythread(1,::common_scripts\utility::flag_clear,"drone_investigate_triggered"); +} + +//Function Number: 72 +irons_estate_stealth_disable() +{ + level.player.grapple["dist_max"] = 800; + level notify("stop_player_broke_stealth_monitor"); + level notify("stealth_alerted_drone_monitor"); + level notify("stop_stealth_spotted_drone_monitor"); + level.stealth_disabled = 1; +} + +//Function Number: 73 +irons_estate_stealth_enable() +{ + thread maps\irons_estate_stealth::player_broke_stealth(); + thread maps\irons_estate_drone::stealth_alerted_drone_monitor(); + thread maps\irons_estate_drone::stealth_spotted_drone_monitor(); + level.stealth_disabled = undefined; +} + +//Function Number: 74 +trigger_sprinklervolume_setup() +{ + var_00 = getentarray("trigger_sprinklervolume","targetname"); + foreach(var_02 in var_00) + { + thread trigger_sprinklervolume_think(var_02); + } +} + +//Function Number: 75 +trigger_sprinklervolume_think(param_00) +{ + param_00.sprinkler_origin = common_scripts\utility::getstruct(param_00.target,"targetname"); + param_00.sprinkler_origin thread sprinkler_sound_proximity_toggle(); + playfx(level._effect["ie_sprinkler"],param_00.sprinkler_origin.origin); + for(;;) + { + param_00 waittill("trigger",var_01); + if(!isdefined(var_01)) + { + continue; + } + + if(var_01 maps\_utility::ent_flag_exist("in_sprinkler_volume")) + { + } + else + { + var_01 maps\_utility::ent_flag_init("in_sprinkler_volume"); + } + + if(distancesquared(var_01.origin,level.player.origin) < 6250000) + { + if(var_01 maps\_utility::ent_flag("in_sprinkler_volume")) + { + continue; + } + + var_01 thread volume_fallingwaterfx(param_00); + var_01 maps\_utility::ent_flag_set("in_sprinkler_volume"); + } + } +} + +//Function Number: 76 +volume_fallingwaterfx(param_00) +{ + self endon("death"); + var_01 = param_00 getpointinbounds(1,1,0); + var_02 = param_00 getpointinbounds(-1,-1,0); + var_03 = var_01[0] - var_02[0] * var_01[1] - var_02[1]; + var_04 = 3; + if(isdefined(param_00.script_duration)) + { + var_04 = param_00.script_duration; + } + + var_05 = 1; + if(isdefined(param_00.script_flowrate)) + { + var_05 = param_00.script_flowrate; + } + + var_06 = int(var_05 * var_03 / 50); + var_07 = "null"; + if(isdefined(param_00.script_fxid)) + { + var_07 = param_00.script_fxid; + } + + var_08 = "null"; + if(isdefined(param_00.script_screen_fxid)) + { + var_08 = param_00.script_screen_fxid; + } + + var_09 = -1; + for(;;) + { + if(self istouching(param_00)) + { + if(isai(self)) + { + wait(0.05); + for(var_0A = 0;var_0A < var_06;var_0A++) + { + if(var_07 != "null") + { + var_0B = param_00.sprinkler_origin.origin; + var_0C = self.origin + (randomfloatrange(0,4),randomfloatrange(0,4),randomfloatrange(10,50)); + if(distance2dsquared(var_0C,self.origin) < 900) + { + var_0D = bullettrace(var_0B,var_0C,1,undefined,0,1); + if(isdefined(var_0D["entity"]) && var_0D["entity"] == self) + { + var_0E = common_scripts\utility::getfx(var_07); + var_0B = var_0D["position"]; + var_0F = vectortoangles(var_0D["normal"] + (90,0,0)); + var_10 = anglestoforward(var_0F); + var_11 = anglestoup(var_0F); + playfx(var_0E,var_0B,var_11,var_10); + } + } + } + } + } + + if(isplayer(self) && level.player is_player_looking_at(param_00.sprinkler_origin.origin,cos(45),undefined,level.player)) + { + wait(0.05); + playfx(level._effect["ie_sprinkler_screen_drops"],level.player.origin); + var_09 = var_09 + 0.05; + if((var_09 > var_04 * 0.2 || var_09 < 0) && distancesquared(param_00.sprinkler_origin.origin,level.player geteye()) < 4096) + { + self setwatersheeting(1,var_04); + var_09 = 0; + } + } + } + else + { + maps\_utility::ent_flag_clear("in_sprinkler_volume"); + return; + } + + wait(0.05); + } +} + +//Function Number: 77 +is_player_looking_at(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_01)) + { + param_01 = 0.8; + } + + var_04 = maps\_utility::get_player_from_self(); + var_05 = var_04 geteye(); + var_06 = vectortoangles(param_00 - var_05); + var_07 = anglestoforward(var_06); + var_08 = var_04 getplayerangles(); + var_09 = anglestoforward(var_08); + var_0A = vectordot(var_07,var_09); + if(var_0A < param_01) + { + return 0; + } + + if(isdefined(param_02)) + { + return 1; + } + + var_0B = bullettrace(param_00,var_05,0,param_03); + return var_0B["fraction"] == 1; +} + +//Function Number: 78 +sprinkler_sound_proximity_toggle() +{ + var_00 = self.targetname + "_stop_irons_sprinkler_02"; + var_01 = undefined; + for(;;) + { + if(distancesquared(self.origin,level.player.origin) < 1000000) + { + if(!isdefined(var_01)) + { + var_01 = common_scripts\utility::spawn_tag_origin(); + } + + var_01 soundscripts\_snd_playsound::snd_play_loop_linked("irons_sprinkler_02",var_00,1,1.5); + while(distancesquared(self.origin,level.player.origin) < 1000000) + { + wait(0.05); + } + + if(isdefined(var_01)) + { + var_01 delete(); + } + } + else if(isdefined(var_01)) + { + var_01 delete(); + } + + wait(0.05); + } +} + +//Function Number: 79 +hide_friendname_until_flag_or_notify(param_00) +{ + if(!isdefined(self.name)) + { + return; + } + + level.player endon("death"); + self endon("death"); + self.old_name = self.name; + self.name = " "; + level waittill(param_00); + self.name = self.old_name; +} + +//Function Number: 80 +force_alert_trigger_setup() +{ + var_00 = getentarray("force_alert_trigger","targetname"); + common_scripts\utility::array_thread(var_00,::force_alert_trigger_monitor); +} + +//Function Number: 81 +force_alert_trigger_monitor() +{ + if(isdefined(self.script_noteworthy)) + { + level endon(self.script_noteworthy); + } + + self waittill("trigger",var_00); + var_01 = getaiarray("neutral"); + var_01 = maps\_utility::remove_dead_from_array(var_01); + foreach(var_03 in var_01) + { + if(!var_03 istouching(self)) + { + var_01 = common_scripts\utility::array_remove(var_01,var_03); + } + } + + var_01 = sortbydistance(var_01,var_00.origin); + if(isdefined(var_01[0])) + { + var_01[0] notify("alerted"); + } +} + +//Function Number: 82 +tff_cleanup_vehicle(param_00) +{ + var_01 = ""; + switch(param_00) + { + case "cliffs": + var_01 = "tff_pre_cliffs_to_lower"; + break; + + case "lower": + var_01 = "tff_pre_lower_to_upper"; + break; + } + + if(var_01 == "") + { + return; + } + + level waittill(var_01); + if(!isdefined(self)) + { + return; + } + + if(isremovedentity(self)) + { + return; + } + + maps\_vehicle_code::_freevehicle(); + self delete(); +} \ No newline at end of file diff --git a/AW/PC/maps/irons_estate_drone.gsc b/AW/PC/maps/irons_estate_drone.gsc new file mode 100644 index 0000000..626ad52 --- /dev/null +++ b/AW/PC/maps/irons_estate_drone.gsc @@ -0,0 +1,334 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: irons_estate_drone.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 13 + * Decompile Time: 214 ms + * Timestamp: 4/22/2024 2:31:53 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + common_scripts\utility::flag_init("force_stealth_spotted_drones"); + common_scripts\utility::flag_init("drones_investigating"); + level.dronespawnertemplate = getent("droneSpawnerTemplate","targetname"); + level.dronespawners = common_scripts\utility::getstructarray("droneSpawner","targetname"); + level.dronespawnerexits = []; + foreach(var_01 in level.dronespawners) + { + if(isdefined(var_01.script_noteworthy) && var_01.script_noteworthy == "droneDespawner") + { + level.dronespawnerexits[level.dronespawnerexits.size] = var_01; + } + } + + if(!isdefined(level.stealth_spotted_drones)) + { + level.stealth_spotted_drones = []; + } + + thread drones_can_see_enemy_test(); + thread drones_stealth_detect(); +} + +//Function Number: 2 +drones_stealth_detect() +{ + for(;;) + { + wait(0.05); + if(!isdefined(level.active_drones)) + { + continue; + } + + foreach(var_01 in level.active_drones) + { + if(isdefined(var_01.threatsightdelay) && var_01.threatsightdelay > 0) + { + level.player maps\_stealth_display::stealth_display_seed(var_01,var_01.threatsightdelay,var_01.canseeplayer); + } + } + } +} + +//Function Number: 3 +stealth_alerted_drone_monitor() +{ + level notify("stealth_alerted_drone_monitor"); + level endon("stealth_alerted_drone_monitor"); + level.player endon("death"); + level endon("meet_cormack_end"); +} + +//Function Number: 4 +drone_investigate_monitor() +{ + level notify("drone_investigate_monitor"); + level endon("drone_investigate_monitor"); + if(!isdefined(level.drone_investigates)) + { + level.drone_investigates = []; + } + + for(;;) + { + level waittill("drone_investigate",var_00,var_01,var_02,var_03); + level thread drone_investigate_initiate(var_00,var_01,var_02,var_03); + } +} + +//Function Number: 5 +drone_investigate_initiate(param_00,param_01,param_02,param_03) +{ + if(isdefined(level.stealth_spotted_drones) && level.stealth_spotted_drones.size > 0) + { + return; + } + + if(isdefined(param_01)) + { + var_04 = param_01 common_scripts\utility::waittill_any_timeout_no_endon_death(5,"death"); + if(var_04 != "timeout") + { + return; + } + } + + if(!vehicle_scripts\_pdrone_security::drone_investigate_try_location(param_00,param_02,param_03) && isdefined(param_01)) + { + vehicle_scripts\_pdrone_security::drone_investigate_try_location(param_01.origin,param_02,param_03); + } +} + +//Function Number: 6 +stealth_spotted_drone_monitor() +{ + level.player endon("death"); + level endon("stop_stealth_spotted_drone_monitor"); + level endon("meet_cormack_end"); + for(;;) + { + common_scripts\utility::flag_waitopen("_stealth_spotted"); + var_00 = common_scripts\utility::flag_wait_any_return("_stealth_spotted","force_stealth_spotted_drones"); + level.abort_drones = 0; + level thread level_drone_abort_monitor(); + if(var_00 == "_stealth_spotted" || var_00 == "force_stealth_spotted_drones") + { + if(var_00 == "_stealth_spotted") + { + wait(4); + if(!common_scripts\utility::flag("_stealth_spotted")) + { + continue; + } + } + + foreach(var_02 in level.stealth_spotted_drones) + { + var_02.pacifist = 0; + var_02 maps\_utility::ent_flag_clear("fire_disabled"); + } + + var_04 = sortbydistance(level.dronespawners,level.player.origin); + var_05 = sortbydistance(level.active_drones,level.player.origin,4000); + var_06 = 0; + var_07 = cos(60); + var_08 = 0; + while(!level.abort_drones && common_scripts\utility::flag("_stealth_spotted") && var_08 < 4) + { + var_05 = maps\_utility::remove_dead_from_array(var_05); + if(var_06 >= var_04.size) + { + var_06 = 0; + } + + if(var_05.size > 0) + { + var_05[0] vehicle_scripts\_pdrone_security::drone_set_mode("attack",0); + var_05[0] thread drone_abort_monitor(); + var_05 = common_scripts\utility::array_remove(var_05,var_05[0]); + var_08 = var_08 + 1; + continue; + } + + var_09 = anglestoforward(level.player getplayerangles()); + while(var_06 < var_04.size) + { + var_0A = vectornormalize(var_04[var_06].origin - level.player.origin); + if(vectordot(var_0A,var_09) < var_07) + { + break; + } + + var_06++; + } + + if(var_06 < var_04.size) + { + var_02 = vehicle_scripts\_pdrone_security::drone_spawn(var_04[var_06],"attack"); + var_02 thread drone_stealth_display_seed_always(); + var_02 thread stealth_spotted_drone_death_monitor(); + if(isdefined(level.stealth_spotted_drones)) + { + level.stealth_spotted_drones = common_scripts\utility::array_add(level.stealth_spotted_drones,var_02); + } + + var_08 = var_08 + 1; + var_02 thread drone_damage_monitor(); + var_02 thread drone_abort_monitor(); + var_06++; + } + else + { + var_06 = 0; + } + + wait(0.5); + } + } + + wait(1); + } +} + +//Function Number: 7 +drone_stealth_display_seed_always() +{ + self notify("drone_stealth_display_seed_always"); + self endon("drone_stealth_display_seed_always"); + self endon("death"); + for(;;) + { + if(common_scripts\utility::flag("_stealth_spotted")) + { + level.player maps\_stealth_display::stealth_display_seed(self,1,1); + } + + wait(0.05); + } +} + +//Function Number: 8 +drones_can_see_enemy_test() +{ + level.player endon("death"); + for(;;) + { + level.drones_lost_player_time = 0; + while(!common_scripts\utility::flag("_stealth_spotted")) + { + while(level.stealth_spotted_drones.size > 0 && level.drones_lost_player_time <= 6) + { + var_00 = 0; + foreach(var_02 in level.stealth_spotted_drones) + { + var_03 = var_02.origin; + if(var_02 gettagindex("tag_flash") != -1) + { + var_03 = var_02 gettagorigin("tag_flash"); + } + + if(sighttracepassed(var_03,level.player geteye(),0,var_02,level.player)) + { + var_00 = 1; + break; + } + } + + if(var_00) + { + level.drones_lost_player_time = 0; + } + else + { + level.drones_lost_player_time = level.drones_lost_player_time + 0.05; + } + + if(level.drones_lost_player_time >= 6) + { + foreach(var_02 in level.stealth_spotted_drones) + { + var_02 thread drone_fly_away(); + } + + common_scripts\utility::flag_clear("force_stealth_spotted_drones"); + } + + wait(0.05); + } + + wait(0.05); + } + + wait(0.05); + } +} + +//Function Number: 9 +stealth_spotted_drone_death_monitor() +{ + self notify("stealth_spotted_drone_death_monitor"); + self endon("stealth_spotted_drone_death_monitor"); + self waittill("death"); + if(isdefined(self) && isdefined(level.stealth_spotted_drones)) + { + level.stealth_spotted_drones = common_scripts\utility::array_remove(level.stealth_spotted_drones,self); + } +} + +//Function Number: 10 +drone_fly_away() +{ + self endon("death"); + self.pacifist = 1; + maps\_utility::ent_flag_set("fire_disabled"); + var_00 = self.origin + (0,0,1000); + self vehicle_setspeed(20,20,20); + self setvehgoalpos(var_00,1); + common_scripts\utility::waittill_any("near_goal","goal"); + level.stealth_spotted_drones = common_scripts\utility::array_remove(level.stealth_spotted_drones,self); + self delete(); +} + +//Function Number: 11 +drone_damage_monitor() +{ + self endon("death"); + for(;;) + { + var_00 = common_scripts\utility::waittill_any_return_parms("damage"); + if(var_00[0] == "damage" && isdefined(var_00[2]) && var_00[2] == level.player) + { + if(!common_scripts\utility::flag("force_stealth_spotted_drones") && !common_scripts\utility::flag("_stealth_spotted")) + { + common_scripts\utility::flag_set("force_stealth_spotted_drones"); + } + } + + wait(0.05); + } +} + +//Function Number: 12 +drone_abort_monitor() +{ + self notify("drone_abort_monitor"); + self endon("drone_abort_monitor"); + self endon("death"); + level waittill("drones_abort"); + vehicle_scripts\_pdrone_security::drone_set_mode("patrol",isdefined(self.prev_attachedpath)); + wait(0.5); + thread vehicle_scripts\_pdrone_security::drone_return_home(undefined,self.prev_attachedpath); +} + +//Function Number: 13 +level_drone_abort_monitor() +{ + self notify("level_drone_abort_monitor"); + self endon("level_drone_abort_monitor"); + level waittill("drones_abort"); + level.abort_drones = 1; +} \ No newline at end of file diff --git a/AW/PC/maps/irons_estate_fx.gsc b/AW/PC/maps/irons_estate_fx.gsc new file mode 100644 index 0000000..6ae8b07 --- /dev/null +++ b/AW/PC/maps/irons_estate_fx.gsc @@ -0,0 +1,206 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: irons_estate_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 5 + * Decompile Time: 93 ms + * Timestamp: 4/22/2024 2:31:53 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + precachefx(); + if(!getdvarint("r_reflectionProbeGenerate")) + { + maps\createfx\irons_estate_fx::main(); + } + + if(!isdefined(level.createfxent)) + { + level.createfxent = []; + } + + maps\_shg_fx::setup_shg_fx(); + thread maps\_shg_fx::fx_zone_watcher(7800,"msg_fx_zone_inner_courtyard"); + thread maps\_shg_fx::fx_zone_watcher(7700,"msg_fx_zone_outer_courtyard"); +} + +//Function Number: 2 +precachefx() +{ + level._effect["ie_hangar_utility_light"] = loadfx("vfx/map/irons_estate/ie_hangar_utility_light"); + level._effect["ie_falling_leaves_runner"] = loadfx("vfx/map/irons_estate/ie_falling_leaves_runner"); + level._effect["ie_briefing_dim_lights"] = loadfx("vfx/map/irons_estate/ie_briefing_dim_lights"); + level._effect["ie_briefing_amb_smk"] = loadfx("vfx/map/irons_estate/ie_briefing_amb_smk"); + level._effect["ie_briefing_lights"] = loadfx("vfx/map/irons_estate/ie_briefing_lights"); + level._effect["ie_briefing_flare"] = loadfx("vfx/map/irons_estate/ie_briefing_flare"); + level._effect["ie_glow_landing"] = loadfx("vfx/map/irons_estate/ie_glow_landing"); + level._effect["ie_underwater_lights"] = loadfx("vfx/map/irons_estate/ie_underwater_lights"); + level._effect["ie_fly_cam"] = loadfx("vfx/map/irons_estate/ie_fly_cam"); + level._effect["ie_cormack_splash"] = loadfx("vfx/map/irons_estate/ie_cormack_splash"); + level._effect["ie_rndfountain_splashes"] = loadfx("vfx/map/irons_estate/ie_rndfountain_splashes"); + level._effect["ie_light_intro_dev"] = loadfx("vfx/map/irons_estate/ie_light_intro_dev"); + level._effect["ie_birds_scatter_runner"] = loadfx("vfx/map/irons_estate/ie_birds_scatter_runner"); + level._effect["ie_river_vista"] = loadfx("vfx/map/irons_estate/ie_river_vista"); + level._effect["ie_dive_cam"] = loadfx("vfx/map/irons_estate/ie_dive_cam"); + level._effect["ie_breather_bottle"] = loadfx("vfx/map/irons_estate/ie_breather_bottle"); + level._effect["ie_godray_security_small_red"] = loadfx("vfx/map/irons_estate/ie_godray_security_small_red"); + level._effect["ie_tennis_ring_inv"] = loadfx("vfx/map/irons_estate/ie_tennis_ring_inv"); + level._effect["ie_godray_security_small"] = loadfx("vfx/map/irons_estate/ie_godray_security_small"); + level._effect["ie_drone_hologram"] = loadfx("vfx/map/irons_estate/ie_drone_hologram"); + level._effect["ie_mist_rapids"] = loadfx("vfx/map/irons_estate/ie_mist_rapids"); + level._effect["ie_mist_intro_cave"] = loadfx("vfx/map/irons_estate/ie_mist_intro_cave"); + level._effect["ie_waterfall_trickle"] = loadfx("vfx/map/irons_estate/ie_waterfall_trickle"); + level._effect["ie_leaves_tornado_runner"] = loadfx("vfx/map/irons_estate/ie_leaves_tornado_runner"); + level._effect["ie_vapor"] = loadfx("vfx/map/irons_estate/ie_vapor"); + level._effect["ie_lightning"] = loadfx("vfx/map/irons_estate/ie_lightning"); + level._effect["ie_water_curtain_intro_far"] = loadfx("vfx/map/irons_estate/ie_water_curtain_intro_far"); + level._effect["ie_godray_security_top"] = loadfx("vfx/map/irons_estate/ie_godray_security_top"); + level._effect["ie_vtol_fill_grapple"] = loadfx("vfx/lights/irons_estate/ie_vtol_fill_grapple"); + level._effect["ie_bubble_trail_runner_feet_cm"] = loadfx("vfx/map/irons_estate/ie_bubble_trail_runner_feet_cm"); + level._effect["ie_underwater_env"] = loadfx("vfx/lights/irons_estate/ie_underwater_env"); + level._effect["bubble_water_grapple"] = loadfx("vfx/water/bubble_water_grapple"); + level._effect["ie_godray_security"] = loadfx("vfx/map/irons_estate/ie_godray_security"); + level._effect["grapple_kill_blood"] = loadfx("vfx/weaponimpact/grapple_kill_blood"); + level._effect["ie_fountain"] = loadfx("vfx/map/irons_estate/ie_fountain"); + level._effect["ie_insects_sml"] = loadfx("vfx/map/irons_estate/ie_insects_sml"); + level._effect["ie_sprinkler"] = loadfx("vfx/map/irons_estate/ie_sprinkler"); + level._effect["ie_moths_area_sml"] = loadfx("vfx/map/irons_estate/ie_moths_area_sml"); + level._effect["ie_bubble_breather_npc"] = loadfx("vfx/map/irons_estate/ie_bubble_breather_npc"); + level._effect["ie_bubble_trail_runner_cm"] = loadfx("vfx/map/irons_estate/ie_bubble_trail_runner_cm"); + level._effect["ie_lightbeam_vtol_landing"] = loadfx("vfx/map/irons_estate/ie_lightbeam_vtol_landing"); + level._effect["ie_bubble_trail_runner_lp"] = loadfx("vfx/map/irons_estate/ie_bubble_trail_runner_lp"); + level._effect["ie_dust_ground_fast"] = loadfx("vfx/map/irons_estate/ie_dust_ground_fast"); + level._effect["ie_dustonlens"] = loadfx("vfx/map/irons_estate/ie_dustonlens"); + level._effect["sparks_burst_electric_box"] = loadfx("vfx/explosion/sparks_burst_electric_box"); + level._effect["headlight_civhumvee_bright"] = loadfx("vfx/lights/headlight_civhumvee_bright"); + level._effect["water_splash_tire_gaz"] = loadfx("vfx/water/water_splash_tire_gaz"); + level._effect["ie_fireplace_gas_2"] = loadfx("vfx/map/irons_estate/ie_fireplace_gas_2"); + level._effect["ie_wind_debris_fast"] = loadfx("vfx/map/irons_estate/ie_wind_debris_fast"); + level._effect["ie_leaf_kickup_runner"] = loadfx("vfx/map/irons_estate/ie_leaf_kickup_runner"); + level._effect["ie_wind_debris_large"] = loadfx("vfx/map/irons_estate/ie_wind_debris_large"); + level._effect["ie_lightbeam_thin_lawn"] = loadfx("vfx/map/irons_estate/ie_lightbeam_thin_lawn"); + level._effect["ie_water_mist_low"] = loadfx("vfx/map/irons_estate/ie_water_mist_low"); + level._effect["ie_exo_hologram"] = loadfx("vfx/map/irons_estate/ie_exo_hologram"); + level._effect["ie_fireplace_gas"] = loadfx("vfx/map/irons_estate/ie_fireplace_gas"); + level._effect["ie_ambient_dust_outdoor"] = loadfx("vfx/map/irons_estate/ie_ambient_dust_outdoor"); + level._effect["grapple_cam"] = loadfx("vfx/map/irons_estate/grapple_cam"); + level._effect["ie_emp"] = loadfx("vfx/map/irons_estate/ie_emp"); + level._effect["ie_dust_roof_fast"] = loadfx("vfx/map/irons_estate/ie_dust_roof_fast"); + level._effect["ie_ball_impact"] = loadfx("vfx/map/irons_estate/ie_ball_impact"); + level._effect["ie_pool_splashes"] = loadfx("vfx/map/irons_estate/ie_pool_splashes"); + level._effect["ie_pool_waterfall"] = loadfx("vfx/map/irons_estate/ie_pool_waterfall"); + level._effect["ie_base_waterwall"] = loadfx("vfx/map/irons_estate/ie_base_waterwall"); + level._effect["ie_tennis_ring"] = loadfx("vfx/map/irons_estate/ie_tennis_ring"); + level._effect["ie_sprinkler_screen_drops"] = loadfx("vfx/map/irons_estate/ie_sprinkler_screen_drops"); + level._effect["ie_water_mist_1"] = loadfx("vfx/map/irons_estate/ie_water_mist_1"); + level._effect["ie_water_intro_splashes"] = loadfx("vfx/map/irons_estate/ie_water_intro_splashes"); + level._effect["ie_water_curtain_intro"] = loadfx("vfx/map/irons_estate/ie_water_curtain_intro"); + level._effect["ie_waterfall_a"] = loadfx("vfx/map/irons_estate/ie_waterfall_a"); + level._effect["ie_water_curtain_walkway_bottom"] = loadfx("vfx/map/irons_estate/ie_water_curtain_walkway_bottom"); + level._effect["ie_river_flow"] = loadfx("vfx/map/irons_estate/ie_river_flow"); + level._effect["ie_waterfall_d"] = loadfx("vfx/map/irons_estate/ie_waterfall_d"); + level._effect["ie_waterfall_splash_med"] = loadfx("vfx/map/irons_estate/ie_waterfall_splash_med"); + level._effect["ie_waterfall_splash_flow"] = loadfx("vfx/map/irons_estate/ie_waterfall_splash_flow"); + level._effect["ie_waterfall_thin_b"] = loadfx("vfx/map/irons_estate/ie_waterfall_thin_b"); + level._effect["ie_waterfall_sparklies"] = loadfx("vfx/map/irons_estate/ie_waterfall_sparklies"); + level._effect["ie_waterfall_fill_curve"] = loadfx("vfx/map/irons_estate/ie_waterfall_fill_curve"); + level._effect["ie_waterfall_thin"] = loadfx("vfx/map/irons_estate/ie_waterfall_thin"); + level._effect["ie_waterfall_back_a"] = loadfx("vfx/map/irons_estate/ie_waterfall_back_a"); + level._effect["ie_waterfall_b_edge"] = loadfx("vfx/map/irons_estate/ie_waterfall_b_edge"); + level._effect["ie_waterfall_mist"] = loadfx("vfx/map/irons_estate/ie_waterfall_mist"); + level._effect["ie_waterfall_edge"] = loadfx("vfx/map/irons_estate/ie_waterfall_edge"); + level._effect["ie_waterfall_c"] = loadfx("vfx/map/irons_estate/ie_waterfall_c"); + level._effect["ie_waterfall_b"] = loadfx("vfx/map/irons_estate/ie_waterfall_b"); + level._effect["ie_watergush_edge"] = loadfx("vfx/map/irons_estate/ie_watergush_edge"); + level._effect["ie_waterfall_intro_duo"] = loadfx("vfx/map/irons_estate/ie_waterfall_intro_duo"); + level._effect["ie_water_curtain_walkway"] = loadfx("vfx/map/irons_estate/ie_water_curtain_walkway"); + level._effect["ie_waterfall_lightbeam"] = loadfx("vfx/map/irons_estate/ie_waterfall_lightbeam"); + level._effect["ie_water_runoff_thick"] = loadfx("vfx/map/irons_estate/ie_water_runoff_thick"); + level._effect["ie_walkway_drops"] = loadfx("vfx/map/irons_estate/ie_walkway_drops"); + level._effect["ie_river_splashes"] = loadfx("vfx/map/irons_estate/ie_river_splashes"); + level._effect["ie_river_rapids"] = loadfx("vfx/map/irons_estate/ie_river_rapids"); + level._effect["ie_light_launcher"] = loadfx("vfx/map/irons_estate/ie_light_launcher"); + level._effect["welding_runner"] = loadfx("fx/misc/welding_runner"); + level._effect["ie_welding_runner"] = loadfx("vfx/map/irons_estate/ie_welding_runner"); + level._effect["ie_hangar_amb_smk"] = loadfx("vfx/map/irons_estate/ie_hangar_amb_smk"); + level._effect["ie_fall_clouds"] = loadfx("vfx/map/irons_estate/ie_fall_clouds"); + level._effect["flashlight"] = loadfx("fx/misc/flashlight"); + level._effect["drone_flashlight"] = loadfx("vfx/lights/light_flashlight"); + level._effect["ie_flashlight_spot"] = loadfx("vfx/map/irons_estate/ie_flashlight_spot"); + level._effect["laser"] = loadfx("vfx/props/claymore_laser"); + level._effect["ie_tennis_net_runner"] = loadfx("vfx/map/irons_estate/ie_tennis_net_runner"); + level._effect["ie_pool_foam"] = loadfx("vfx/map/irons_estate/ie_pool_foam"); + level._effect["ie_pool_ripple_runner"] = loadfx("vfx/map/irons_estate/ie_pool_ripple_runner"); + level._effect["ie_tub_bubblejet"] = loadfx("vfx/map/irons_estate/ie_tub_bubblejet"); + level._effect["ie_tub_foam"] = loadfx("vfx/map/irons_estate/ie_tub_foam"); + level._effect["ie_sauna_steam_vent"] = loadfx("vfx/map/irons_estate/ie_sauna_steam_vent"); + level._effect["ie_sauna_steam"] = loadfx("vfx/map/irons_estate/ie_sauna_steam"); + level._effect["ie_pool_steam"] = loadfx("vfx/map/irons_estate/ie_pool_steam"); + level._effect["ie_hand_pinky"] = loadfx("vfx/map/irons_estate/ie_hand_pinky"); + level._effect["ie_hand_palm"] = loadfx("vfx/map/irons_estate/ie_hand_palm"); + level._effect["ie_hand_ring"] = loadfx("vfx/map/irons_estate/ie_hand_ring"); + level._effect["ie_hand_middle"] = loadfx("vfx/map/irons_estate/ie_hand_middle"); + level._effect["ie_hand_thumb"] = loadfx("vfx/map/irons_estate/ie_hand_thumb"); + level._effect["ie_hand_fore"] = loadfx("vfx/map/irons_estate/ie_hand_fore"); + level._effect["headlight_gaz_bright"] = loadfx("vfx/lights/headlight_gaz_bright"); + level._effect["headlight_gaz_spotlight"] = loadfx("vfx/lights/headlight_gaz_spotlight"); + level._effect["ie_humvee_tail_l"] = loadfx("vfx/lights/irons_estate/ie_humvee_tail_l"); + level._effect["ie_humvee_tail_r"] = loadfx("vfx/lights/irons_estate/ie_humvee_tail_r"); + level._effect["ie_humvee_leaf_kickup"] = loadfx("vfx/map/irons_estate/ie_humvee_leaf_kickup"); + level._effect["civ_humvee_under_heat"] = loadfx("vfx/distortion/civ_humvee_under_heat"); + level._effect["ie_humvee_brake_r"] = loadfx("vfx/lights/irons_estate/ie_humvee_brake_r"); + level._effect["ie_humvee_brake_l"] = loadfx("vfx/lights/irons_estate/ie_humvee_brake_l"); + level._effect["ie_humvee_tail_l_v2"] = loadfx("vfx/lights/irons_estate/ie_humvee_tail_l_v2"); + level._effect["ie_humvee_tail_r_v2"] = loadfx("vfx/lights/irons_estate/ie_humvee_tail_r_v2"); + level._effect["ie_sports_tail"] = loadfx("vfx/lights/irons_estate/ie_sports_tail"); + level._effect["ie_sports_headlight"] = loadfx("vfx/lights/irons_estate/ie_sports_headlight"); + level._effect["ie_truck_headlight"] = loadfx("vfx/lights/irons_estate/ie_truck_headlight"); + level._effect["ie_truck_tail"] = loadfx("vfx/lights/irons_estate/ie_truck_tail"); + level._effect["ie_headlight_misc"] = loadfx("vfx/lights/irons_estate/ie_headlight_misc"); + level._effect["ie_civ_sedan_lights"] = loadfx("vfx/lights/irons_estate/ie_civ_sedan_lights"); + level._effect["ie_civ_sedan_headlight"] = loadfx("vfx/lights/irons_estate/ie_civ_sedan_headlight"); + level._effect["fallingwater_splash"] = loadfx("vfx/map/irons_estate/ie_intro_volume_splash"); + level._effect["fallingwater_splash_screen"] = loadfx("vfx/water/falling_water_volume_screen_splash"); + level._effect["sprinkler_splash"] = loadfx("vfx/water/sprinkler_splash"); + level._effect["ie_atlas_jet_exterior_lights"] = loadfx("vfx/map/irons_estate/ie_atlas_jet_exterior_lights"); + level._effect["ie_vtol_wtip_light_tail_red"] = loadfx("vfx/map/irons_estate/ie_vtol_wtip_light_tail_red"); + level._effect["ie_vtol_rotorwash_end"] = loadfx("vfx/map/irons_estate/ie_vtol_rotorwash_end"); + level._effect["ie_vtol_wtip_light_red_blink"] = loadfx("vfx/map/irons_estate/ie_vtol_wtip_light_red_blink"); + level._effect["vtol_engine"] = loadfx("vfx/map/irons_estate/vtol_engine"); + level._effect["vtol_exhaust_r"] = loadfx("vfx/vehicle/vtol_exhaust_r"); + level._effect["vtol_exhaust_l"] = loadfx("vfx/vehicle/vtol_exhaust_l"); + level._effect["vtol_engine_land"] = loadfx("vfx/map/irons_estate/vtol_engine_land"); + level._effect["ie_light_cool"] = loadfx("vfx/map/irons_estate/ie_light_cool"); + level._effect["ie_light_teal"] = loadfx("vfx/map/irons_estate/ie_light_teal"); + level._effect["ie_light_teal_briefing_knox"] = loadfx("vfx/map/irons_estate/ie_light_teal_briefing_knox"); + level._effect["ie_light_teal_cave_knox"] = loadfx("vfx/map/irons_estate/ie_light_teal_cave_knox"); + level._effect["ie_light_teal_recon_knox"] = loadfx("vfx/map/irons_estate/ie_light_teal_recon_knox"); + level._effect["ie_light_warm"] = loadfx("vfx/map/irons_estate/ie_light_warm"); + level._effect["ie_light_red_cormack_plane"] = loadfx("vfx/map/irons_estate/ie_light_red_cormack_plane"); + level._effect["boost_dust_npc"] = loadfx("vfx/smoke/jetpack_exhaust_npc"); + level._effect["boost_dust_impact_ground"] = loadfx("vfx/smoke/jetpack_ground_impact_runner"); +} + +//Function Number: 3 +sec_godray() +{ + common_scripts\utility::flag_wait("security_center_enter_anim_done"); + common_scripts\_exploder::exploder(6668); +} + +//Function Number: 4 +drone_holo_on() +{ + wait(2); + common_scripts\utility::flag_wait("security_center_hack_complete"); + common_scripts\_exploder::exploder(6622); +} + +//Function Number: 5 +hangar_fx() +{ + common_scripts\_exploder::exploder(9091); +} \ No newline at end of file diff --git a/AW/PC/maps/irons_estate_grapple.gsc b/AW/PC/maps/irons_estate_grapple.gsc new file mode 100644 index 0000000..5221143 --- /dev/null +++ b/AW/PC/maps/irons_estate_grapple.gsc @@ -0,0 +1,203 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: irons_estate_grapple.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 10 + * Decompile Time: 161 ms + * Timestamp: 4/22/2024 2:31:54 AM +*******************************************************************/ + +//Function Number: 1 +grapple_start() +{ + level.start_point_scripted = "grapple"; + level.start_point_grapple = 1; + maps\irons_estate::irons_estate_objectives(); + maps\irons_estate_code::spawn_player_checkpoint(); + maps\irons_estate_code::spawn_allies(); + level.player maps\_grapple::grapple_take(); + level.player maps\_tagging::tagging_set_enabled(0); + thread maps\irons_estate_code::player_kill_trigger("waterfall_bottom_kill_trigger"); + soundscripts\_snd::snd_message("start_grapple"); + thread maps\irons_estate_intro::intro_cave_rumble(); + wait 0.05; +} + +//Function Number: 2 +grapple_main() +{ + level.start_point_scripted = "grapple"; + common_scripts\utility::flag_set("grapple_begin"); + thread grapple_begin(); + common_scripts\utility::flag_wait("spawn_infil_enemies"); + common_scripts\utility::flag_set("ie_west_poolhouse_trees"); + thread maps\irons_estate_infil::poolhouse_enemies(); + thread maps\irons_estate_code::tennis_court_floor(1); + common_scripts\utility::flag_wait("grapple_end"); + var_00 = getent("waterfall_top_trigger","targetname"); + var_00 thread maps\irons_estate_code::waterfall_save("recon_end"); +} + +//Function Number: 3 +grapple_begin() +{ + common_scripts\utility::flag_init("GRAPPLE"); + common_scripts\utility::flag_init("HINT_GRAPPLE_STOP"); + thread handle_grapple(); + level.allies[0] thread grapple_allies(); + level.allies[1] thread grapple_allies(); + level.allies[2] thread grapple_allies(); + thread grapple_vo(); +} + +//Function Number: 4 +handle_grapple() +{ + objective_add(maps\_utility::obj("grapple_waterfall"),"current",&"IRONS_ESTATE_OBJ_GRAPPLE_WATERFALL"); + objective_onentity(maps\_utility::obj("grapple_waterfall"),level.allies[0]); + wait(1); + thread watch_player_grapple(); + thread player_grapple_hint(); + level.player.grapple["dist_max"] = 1500; + level.player maps\_grapple::grapple_give(); + common_scripts\utility::flag_wait("jump_grapple_top"); + maps\_utility::objective_complete(maps\_utility::obj("grapple_waterfall")); + common_scripts\utility::flag_set("grapple_end"); +} + +//Function Number: 5 +watch_player_grapple() +{ + while(level.player.grapple["grappling"] != 1) + { + wait(0.05); + } + + common_scripts\utility::flag_set("GRAPPLE"); +} + +//Function Number: 6 +player_grapple_hint() +{ + level endon("GRAPPLE"); + level.grapple_hint = undefined; + for(;;) + { + if(isdefined(level.player.grapple["quick_hint_text"])) + { + if(!isdefined(level.grapple_hint)) + { + common_scripts\utility::flag_clear("HINT_GRAPPLE_STOP"); + thread maps\_utility::display_hint("HINT_GRAPPLE"); + level.grapple_hint = 1; + } + } + else + { + common_scripts\utility::flag_set("HINT_GRAPPLE_STOP"); + if(isdefined(level.grapple_hint)) + { + level.grapple_hint = undefined; + } + } + + wait 0.05; + } +} + +//Function Number: 7 +grapple_allies() +{ + var_00 = getnode(self.animname + "_pre_grapple_node","targetname"); + maps\_utility::set_goal_radius(16); + self setgoalnode(var_00); + thread grapple_allies_movement(); +} + +//Function Number: 8 +grapple_allies_movement() +{ + level endon("jump_grapple_top"); + if(self.animname == "cormack") + { + wait(1); + } + + if(self.animname == "ilana") + { + wait(1); + } + + var_00 = getnode(self.animname + "_grapple_1_node","targetname"); + maps\_utility::set_goal_radius(32); + self setgoalnode(var_00); + var_00 = getnode(self.animname + "_platform_1_node","targetname"); + maps\_utility::set_goal_radius(16); + self setgoalnode(var_00); + common_scripts\utility::flag_wait("allies_move_to_grapple_2"); + if(self.animname == "ilana") + { + wait(1); + } + + var_00 = getnode(self.animname + "_grapple_2_node","targetname"); + maps\_utility::set_goal_radius(64); + self setgoalnode(var_00); + var_00 = getnode(self.animname + "_platform_2_node","targetname"); + maps\_utility::set_goal_radius(16); + self setgoalnode(var_00); + common_scripts\utility::flag_wait("allies_move_to_grapple_3"); + if(self.animname == "ilana") + { + wait(1); + } + + if(self.animname == "cormack") + { + var_00 = getnode(self.animname + "_platform_2a_node","targetname"); + maps\_utility::set_goal_radius(16); + self setgoalnode(var_00); + self waittill("goal"); + common_scripts\utility::flag_wait("cormack_to_grapple_3"); + } + + var_00 = getnode(self.animname + "_grapple_3_node","targetname"); + maps\_utility::set_goal_radius(32); + self setgoalnode(var_00); + var_00 = getnode(self.animname + "_platform_3_node","targetname"); + maps\_utility::set_goal_radius(16); + self setgoalnode(var_00); + common_scripts\utility::flag_wait("allies_move_to_grapple_4"); + if(self.animname == "ilana") + { + wait(1); + } + + var_00 = getnode(self.animname + "_grapple_4_node","targetname"); + maps\_utility::set_goal_radius(64); + self setgoalnode(var_00); + var_00 = getnode(self.animname + "_platform_4_node","targetname"); + maps\_utility::set_goal_radius(100); + self setgoalnode(var_00); + self waittill("goal"); + level.recon_anim_struct = common_scripts\utility::getstruct("recon_anim_struct","targetname"); + level.recon_anim_struct maps\_anim::anim_first_frame_solo(self,"recon_enter"); +} + +//Function Number: 9 +grapple_vo() +{ + thread grapple_nags(); + common_scripts\utility::flag_wait("allies_move_to_grapple_3"); + wait(0.5); + maps\_utility::smart_radio_dialogue("ie_crmk_keepmoving"); +} + +//Function Number: 10 +grapple_nags() +{ + level endon("GRAPPLE"); + wait(8); + maps\_utility::smart_radio_dialogue("ie_crmk_timeistight"); +} \ No newline at end of file diff --git a/AW/PC/maps/irons_estate_hack_security.gsc b/AW/PC/maps/irons_estate_hack_security.gsc new file mode 100644 index 0000000..243f329 --- /dev/null +++ b/AW/PC/maps/irons_estate_hack_security.gsc @@ -0,0 +1,502 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: irons_estate_hack_security.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 18 + * Decompile Time: 283 ms + * Timestamp: 4/22/2024 2:31:55 AM +*******************************************************************/ + +//Function Number: 1 +hack_security_start() +{ + level.start_point_scripted = "hack_security"; + maps\irons_estate::irons_estate_objectives(); + maps\irons_estate_code::spawn_player_checkpoint(); + maps\irons_estate_code::spawn_allies(); + var_00 = getentarray("security_center_light","targetname"); + thread maps\irons_estate_code::security_center_lights(1,var_00); + var_01 = getentarray("security_center_light_hatch","targetname"); + thread maps\irons_estate_code::security_center_lights(1,var_01); + var_02 = getentarray("ac_unit_emissive","targetname"); + foreach(var_04 in var_02) + { + var_04 thread maps\irons_estate_code::security_center_script_brushmodels(1); + } + + var_06 = getent("security_center_ladder_light","targetname"); + var_06 thread maps\irons_estate_code::security_center_script_brushmodels(1); + var_07 = getentarray("server_lights","targetname"); + foreach(var_09 in var_07) + { + var_09 thread maps\irons_estate_code::security_center_script_brushmodels(1); + } + + var_0B = getent("security_center_hatch_window_cards","targetname"); + var_0B thread maps\irons_estate_code::security_center_script_brushmodels(1); + thread maps\irons_estate_security_center::security_center_fan_blades(); + common_scripts\utility::flag_set("player_in_estate"); + common_scripts\utility::flag_set("security_center_guard_right"); + common_scripts\utility::flag_set("security_center_guard_left"); + maps\irons_estate_code::security_center_player_rig_and_hatch_door_setup(); + thread maps\irons_estate_infil::poolhouse_enemies(); + thread maps\irons_estate_code::tennis_court_floor(1); + thread maps\irons_estate_code::player_kill_trigger("waterfall_top_kill_trigger"); + soundscripts\_snd::snd_message("start_hack_security"); + level.player maps\_tagging::tagging_set_enabled(0); + level.player thread maps\_tagging::tagging_set_binocs_enabled(0); + level.player thread maps\irons_estate_stealth::irons_estate_whistle(0); + objective_add(maps\_utility::obj("security_center"),"current",&"IRONS_ESTATE_OBJ_SECURITY_CENTER"); +} + +//Function Number: 2 +hack_security_main() +{ + level.start_point_scripted = "hack_security"; + common_scripts\utility::flag_set("hack_security_begin"); + thread hack_security_begin(); + common_scripts\utility::flag_wait("hack_security_end"); + maps\_utility::autosave_stealth(); +} + +//Function Number: 3 +handprint_fx_test() +{ + wait(1); + level.player freezecontrols(1); + level.player thread maps\_shg_utility::disable_features_entering_cinema(1); + if(level.player getstance() != "stand") + { + level.player setstance("stand"); + } + + level.player allowcrouch(0); + level.player disableweapons(); + level.security_center_anim_struct maps\_anim::anim_first_frame_solo(level.player_rig,"handprint"); + level.player playerlinktoblend(level.player_rig,"tag_player",0.6); + level.security_center_anim_struct thread maps\_anim::anim_single_solo(level.player_rig,"handprint"); + wait(0.6); + level.player_rig show(); + level.player_rig waittillmatch("print_on","single anim"); + thread handprint_on_fx(); + wait(0.4); + maps\_anim::anim_set_rate_single(level.player_rig,"handprint",0); +} + +//Function Number: 4 +handprint_on_fx() +{ + level.player_rig attach("viewhands_sentinel_udt_mitchell_thumb_print","j_thumb_le_2"); + level.player_rig attach("viewhands_sentinel_udt_mitchell_index_print","j_index_le_2"); + level.player_rig attach("viewhands_sentinel_udt_mitchell_middle_print","j_mid_le_2"); + level.player_rig attach("viewhands_sentinel_udt_mitchell_ring_print","j_ring_le_2"); + level.player_rig attach("viewhands_sentinel_udt_mitchell_pinky_print","j_pinky_le_2"); + playfxontag(level._effect["ie_hand_palm"],level.player_rig,"TAG_FX_PALM"); + wait(0.1); + playfxontag(level._effect["ie_hand_thumb"],level.player_rig,"TAG_FX_THUMB_1"); + playfxontag(level._effect["ie_hand_thumb"],level.player_rig,"TAG_FX_THUMB_2"); + wait 0.05; + playfxontag(level._effect["ie_hand_fore"],level.player_rig,"TAG_FX_INDEX_1"); + playfxontag(level._effect["ie_hand_fore"],level.player_rig,"TAG_FX_INDEX_2"); + wait 0.05; + playfxontag(level._effect["ie_hand_middle"],level.player_rig,"TAG_FX_MID_1"); + playfxontag(level._effect["ie_hand_middle"],level.player_rig,"TAG_FX_MID_2"); + wait 0.05; + playfxontag(level._effect["ie_hand_ring"],level.player_rig,"TAG_FX_RING_1"); + playfxontag(level._effect["ie_hand_ring"],level.player_rig,"TAG_FX_RING_2"); + wait 0.05; + playfxontag(level._effect["ie_hand_pinky"],level.player_rig,"TAG_FX_PINKY_1"); + playfxontag(level._effect["ie_hand_pinky"],level.player_rig,"TAG_FX_PINKY_2"); +} + +//Function Number: 5 +hack_security_begin() +{ + common_scripts\utility::flag_init("handprint_ready"); + common_scripts\utility::flag_init("computer_vo"); + common_scripts\utility::flag_init("security_center_exit"); + common_scripts\utility::flag_init("security_center_exit_complete"); + level.player.grapple["dist_max"] = 800; + thread handle_hack_security(); + thread hack_security_vo(); + common_scripts\utility::flag_wait("player_is_out_of_security_center"); + thread maps\irons_estate_civilians::ie_west_civilian_vignettes(); + thread maps\irons_estate_penthouse::ie_west_enemies(); + thread maps\irons_estate_penthouse::guesthouse_enemies(); +} + +//Function Number: 6 +handle_hack_security() +{ + var_00 = common_scripts\utility::getstruct("hack_security_obj","targetname"); + var_01 = common_scripts\utility::getstruct("security_center_desk_xprompt","targetname"); + setsaveddvar("objectiveHide",0); + objective_position(maps\_utility::obj("security_center"),var_01.origin); + objective_setpointertextoverride(maps\_utility::obj("security_center"),&"IRONS_ESTATE_USE"); + thread maps\irons_estate_code::handle_objective_marker(var_01,var_00,"handprint_start",50); + common_scripts\utility::flag_wait("handprint_ready"); + var_02 = getent("hack_security_trigger","targetname"); + var_02 thread maps\_utility::addhinttrigger(&"IRONS_ESTATE_ACCESS_SECURITY",&"IRONS_ESTATE_ACCESS_SECURITY_PC"); + maps\player_scripted_anim_util::waittill_trigger_activate_looking_at(var_02,var_01,cos(20),0,1); + common_scripts\utility::flag_set("handprint_start"); + objective_setpointertextoverride(maps\_utility::obj("security_center"),""); + setsaveddvar("objectiveHide",1); + level.player freezecontrols(1); + level.player thread maps\_shg_utility::disable_features_entering_cinema(1); + if(level.player getstance() != "stand") + { + level.player setstance("stand"); + } + + level.player allowcrouch(0); + level.player disableweapons(); + level.security_center_anim_struct maps\_anim::anim_first_frame_solo(level.player_rig,"handprint"); + level.player playerlinktoblend(level.player_rig,"tag_player",0.6); + level.security_center_anim_struct thread maps\_anim::anim_single_solo(level.player_rig,"handprint"); + wait(0.6); + level.player playerlinktodelta(level.player_rig,"tag_player",1,0,0,0,0,1); + level.player_rig show(); + level.player_rig waittillmatch("print_on","single anim"); + level notify("handprint_on"); + thread handprint_on(); + wait(1.5); + level.player lerpviewangleclamp(0.2,0,0,10,10,10,10); + common_scripts\utility::flag_set("computer_vo"); + wait(1); + level.player playrumbleonentity("light_1s"); + wait(6); + level notify("start_camera_vo"); + wait(2); + level notify("security_center_table_bink_done"); + level.player_rig waittillmatch("end","single anim"); + level.player_rig hide(); + level.player unlink(); + level.player freezecontrols(0); + level.player thread maps\_shg_utility::enable_features_exiting_cinema(1); + level.player allowcrouch(1); + level.player enableweapons(); + common_scripts\utility::flag_set("security_center_hack_complete"); + thread server_lights_setup(); + thread maps\irons_estate_fx::drone_holo_on(); + common_scripts\utility::flag_wait("security_center_exit"); + var_03 = common_scripts\utility::getstruct("security_center_exit_grapple_magnet_struct","targetname"); + var_04 = var_03 common_scripts\utility::spawn_tag_origin(); + maps\_grapple::grapple_magnet_register(var_04,"tag_origin",(0,0,0),undefined,undefined,undefined,%ie_sec_center_exit_player); + thread security_center_exit(); + common_scripts\utility::flag_wait("security_center_exit"); + common_scripts\utility::flag_set("ie_west_driveway_trees"); + maps\_utility::autosave_stealth(); + var_05 = common_scripts\utility::getstruct("security_center_exit_grapple_magnet_struct","targetname"); + objective_position(maps\_utility::obj("security_center"),var_05.origin); + setsaveddvar("objectiveHide",0); + var_06 = 15; + thread maps\irons_estate_code::timer(var_06,undefined,"player_is_out_of_security_center",&"IRONS_ESTATE_SECURITY_TIMER"); + thread timer_fail(var_06,var_04); + soundscripts\_snd::snd_message("aud_security_countdown"); + thread security_center_drones_turn_on_setup(); + common_scripts\utility::flag_wait("player_is_exiting_security_center"); + maps\_utility::objective_complete(maps\_utility::obj("security_center")); + common_scripts\utility::flag_wait("player_is_out_of_security_center"); +} + +//Function Number: 7 +handprint_on() +{ + level.player_rig attach("viewhands_sentinel_udt_mitchell_thumb_print","j_thumb_le_2"); + level.player_rig attach("viewhands_sentinel_udt_mitchell_index_print","j_index_le_2"); + level.player_rig attach("viewhands_sentinel_udt_mitchell_middle_print","j_mid_le_2"); + level.player_rig attach("viewhands_sentinel_udt_mitchell_ring_print","j_ring_le_2"); + level.player_rig attach("viewhands_sentinel_udt_mitchell_pinky_print","j_pinky_le_2"); + playfxontag(level._effect["ie_hand_palm"],level.player_rig,"TAG_FX_PALM"); + wait(0.1); + playfxontag(level._effect["ie_hand_thumb"],level.player_rig,"TAG_FX_THUMB_1"); + playfxontag(level._effect["ie_hand_thumb"],level.player_rig,"TAG_FX_THUMB_2"); + wait 0.05; + playfxontag(level._effect["ie_hand_fore"],level.player_rig,"TAG_FX_INDEX_1"); + playfxontag(level._effect["ie_hand_fore"],level.player_rig,"TAG_FX_INDEX_2"); + wait 0.05; + playfxontag(level._effect["ie_hand_middle"],level.player_rig,"TAG_FX_MID_1"); + playfxontag(level._effect["ie_hand_middle"],level.player_rig,"TAG_FX_MID_2"); + wait 0.05; + playfxontag(level._effect["ie_hand_ring"],level.player_rig,"TAG_FX_RING_1"); + playfxontag(level._effect["ie_hand_ring"],level.player_rig,"TAG_FX_RING_2"); + wait 0.05; + playfxontag(level._effect["ie_hand_pinky"],level.player_rig,"TAG_FX_PINKY_1"); + playfxontag(level._effect["ie_hand_pinky"],level.player_rig,"TAG_FX_PINKY_2"); + wait(0.4); + level.player_rig thread finger_material_swap("mtl_vm_sentinel_udt_thumb"); + level.player_rig thread finger_material_swap("mtl_vm_sentinel_udt_index"); + level.player_rig thread finger_material_swap("mtl_vm_sentinel_udt_middle"); + level.player_rig thread finger_material_swap("mtl_vm_sentinel_udt_ring"); + level.player_rig thread finger_material_swap("mtl_vm_sentinel_udt_pinky"); + wait(1); + stopfxontag(level._effect["ie_hand_thumb"],level.player_rig,"TAG_FX_THUMB_1"); + stopfxontag(level._effect["ie_hand_thumb"],level.player_rig,"TAG_FX_THUMB_2"); + wait 0.05; + stopfxontag(level._effect["ie_hand_fore"],level.player_rig,"TAG_FX_INDEX_1"); + stopfxontag(level._effect["ie_hand_fore"],level.player_rig,"TAG_FX_INDEX_2"); + wait 0.05; + stopfxontag(level._effect["ie_hand_middle"],level.player_rig,"TAG_FX_MID_1"); + stopfxontag(level._effect["ie_hand_middle"],level.player_rig,"TAG_FX_MID_2"); + wait 0.05; + stopfxontag(level._effect["ie_hand_ring"],level.player_rig,"TAG_FX_RING_1"); + stopfxontag(level._effect["ie_hand_ring"],level.player_rig,"TAG_FX_RING_2"); + wait 0.05; + stopfxontag(level._effect["ie_hand_pinky"],level.player_rig,"TAG_FX_PINKY_1"); + stopfxontag(level._effect["ie_hand_pinky"],level.player_rig,"TAG_FX_PINKY_2"); + wait 0.05; + stopfxontag(level._effect["ie_hand_palm"],level.player_rig,"TAG_FX_PALM"); + wait(1); + level.player_rig detach("viewhands_sentinel_udt_mitchell_thumb_print","j_thumb_le_2"); + level.player_rig detach("viewhands_sentinel_udt_mitchell_index_print","j_index_le_2"); + level.player_rig detach("viewhands_sentinel_udt_mitchell_middle_print","j_mid_le_2"); + level.player_rig detach("viewhands_sentinel_udt_mitchell_ring_print","j_ring_le_2"); + level.player_rig detach("viewhands_sentinel_udt_mitchell_pinky_print","j_pinky_le_2"); +} + +//Function Number: 8 +finger_material_swap(param_00) +{ + wait(randomfloatrange(0.1,0.5)); + if(level.nextgen) + { + self overridematerial(param_00,"m/mtl_base_fingerprint_01"); + wait(randomfloatrange(0.05,0.1)); + self overridematerial(param_00,"m/mtl_base_fingerprint_02"); + wait(randomfloatrange(0.05,0.1)); + self overridematerial(param_00,"m/mtl_base_fingerprint_03"); + wait(randomfloatrange(0.05,0.1)); + self overridematerial(param_00,"m/mtl_base_fingerprint_04"); + wait(randomfloatrange(0.05,0.1)); + self overridematerial(param_00,"m/mtl_base_fingerprint_05"); + wait(randomfloatrange(0.05,0.1)); + self overridematerial(param_00,"m/mtl_base_fingerprint_06"); + wait(randomfloatrange(0.05,0.1)); + self overridematerial(param_00,"m/mtl_base_fingerprint_07"); + wait(randomfloatrange(0.05,0.1)); + self overridematerial(param_00,"m/mtl_base_fingerprint_08"); + wait(randomfloatrange(0.05,0.1)); + self overridematerial(param_00,"m/mtl_base_fingerprint_09"); + wait(randomfloatrange(0.05,0.1)); + self overridematerial(param_00,"m/mtl_base_fingerprint_10"); + wait(randomfloatrange(0.05,0.1)); + self overridematerial(param_00,"m/mtl_base_fingerprint_11"); + wait(randomfloatrange(0.05,0.1)); + self overridematerial(param_00,"m/mtl_base_fingerprint_12"); + return; + } + + self overridematerial(param_00,"mq/mtl_base_fingerprint_01"); + wait(randomfloatrange(0.05,0.1)); + self overridematerial(param_00,"mq/mtl_base_fingerprint_02"); + wait(randomfloatrange(0.05,0.1)); + self overridematerial(param_00,"mq/mtl_base_fingerprint_03"); + wait(randomfloatrange(0.05,0.1)); + self overridematerial(param_00,"mq/mtl_base_fingerprint_04"); + wait(randomfloatrange(0.05,0.1)); + self overridematerial(param_00,"mq/mtl_base_fingerprint_05"); + wait(randomfloatrange(0.05,0.1)); + self overridematerial(param_00,"mq/mtl_base_fingerprint_06"); + wait(randomfloatrange(0.05,0.1)); + self overridematerial(param_00,"mq/mtl_base_fingerprint_07"); + wait(randomfloatrange(0.05,0.1)); + self overridematerial(param_00,"mq/mtl_base_fingerprint_08"); + wait(randomfloatrange(0.05,0.1)); + self overridematerial(param_00,"mq/mtl_base_fingerprint_09"); + wait(randomfloatrange(0.05,0.1)); + self overridematerial(param_00,"mq/mtl_base_fingerprint_10"); + wait(randomfloatrange(0.05,0.1)); + self overridematerial(param_00,"mq/mtl_base_fingerprint_11"); + wait(randomfloatrange(0.05,0.1)); + self overridematerial(param_00,"mq/mtl_base_fingerprint_12"); +} + +//Function Number: 9 +server_lights_setup() +{ + thread server_lights(); + wait 0.05; + var_00 = common_scripts\utility::getstructarray("server_lookat_struct","targetname"); + common_scripts\utility::array_thread(var_00,::player_looking_at_object,"player_sees_server"); +} + +//Function Number: 10 +server_lights() +{ + var_00 = common_scripts\utility::getstructarray("server_lookat_struct","targetname"); + level common_scripts\utility::waittill_notify_or_timeout("player_sees_server",20); + wait(randomfloatrange(0.3,0.75)); + var_01 = getentarray("server_lights_group_1","script_noteworthy"); + foreach(var_03 in var_01) + { + var_03 security_center_server_lights(); + } + + wait(randomfloatrange(0.3,0.75)); + var_05 = getentarray("server_lights_group_2","script_noteworthy"); + foreach(var_03 in var_05) + { + var_03 security_center_server_lights(); + } + + wait(randomfloatrange(0.3,0.75)); + var_08 = getentarray("server_lights_group_3","script_noteworthy"); + foreach(var_03 in var_08) + { + var_03 security_center_server_lights(); + } + + wait(randomfloatrange(0.3,0.75)); + var_0B = getentarray("server_lights_group_4","script_noteworthy"); + foreach(var_03 in var_0B) + { + var_03 security_center_server_lights(); + } +} + +//Function Number: 11 +security_center_server_lights() +{ + thread maps\irons_estate_code::security_center_script_brushmodels(); +} + +//Function Number: 12 +timer_fail(param_00,param_01) +{ + wait(param_00); + if(!common_scripts\utility::flag("player_is_exiting_security_center")) + { + maps\_grapple::grapple_magnet_unregister(param_01,"tag_origin"); + setsaveddvar("objectiveHide",1); + level.hatch_door_middle thread maps\_anim::anim_single_solo(level.hatch_door_middle,"hatch_close"); + wait 0.05; + maps\_anim::anim_set_rate_single(level.hatch_door_middle,"hatch_close",0.25); + maps\_utility::smart_radio_dialogue("ie_nox_gotmitchell"); + maps\_player_death::set_deadquote(&"IRONS_ESTATE_SECURITY_CENTER_ESCAPE_FAIL"); + thread maps\_utility::missionfailedwrapper(); + } +} + +//Function Number: 13 +security_center_exit() +{ + level.player waittill("grapple_land_anim"); + common_scripts\utility::flag_set("player_is_exiting_security_center"); + soundscripts\_snd::snd_message("aud_security_hatch_exit"); + level.player disableweapons(); + var_00 = getentarray("security_center_light","targetname"); + thread maps\irons_estate_code::security_center_lights(undefined,var_00,50); + var_01 = getentarray("security_center_light_hatch","targetname"); + thread maps\irons_estate_code::security_center_lights(undefined,var_01,8000); + var_02 = getentarray("ac_unit_emissive","targetname"); + foreach(var_04 in var_02) + { + var_04 thread maps\irons_estate_code::security_center_script_brushmodels(); + } + + var_06 = getent("security_center_ladder_light","targetname"); + var_06 thread maps\irons_estate_code::security_center_script_brushmodels(); + while(level.player.grapple["ready_weapon"] == 1) + { + wait(0.05); + } + + common_scripts\utility::flag_set("player_is_out_of_security_center"); + var_07 = getent("security_center_hatch_window_cards","targetname"); + var_07 thread maps\irons_estate_code::security_center_script_brushmodels(); + level.hatch_door_middle thread maps\_anim::anim_single_solo(level.hatch_door_middle,"hatch_close"); + common_scripts\_exploder::exploder(6611); + level.player enableweapons(); + level.player maps\_tagging::tagging_set_enabled(1); + level.player thread maps\_tagging::tagging_set_binocs_enabled(1); + level.player thread maps\irons_estate_stealth::irons_estate_whistle(1); + level.player_rig delete(); + common_scripts\utility::flag_set("security_center_exit_complete"); +} + +//Function Number: 14 +security_center_drones_turn_on_setup() +{ + thread security_center_drones_turn_on(); + wait 0.05; + var_00 = getentarray("security_center_drone","targetname"); + common_scripts\utility::array_thread(var_00,::player_looking_at_object,"player_sees_drones"); +} + +//Function Number: 15 +security_center_drones_turn_on() +{ + var_00 = getentarray("security_center_drone","targetname"); + level common_scripts\utility::waittill_notify_or_timeout("player_sees_drones",10); + soundscripts\_snd::snd_message("aud_security_center_drones_on"); + foreach(var_02 in var_00) + { + var_02 thread security_center_drones_turn_on_internal(); + } + + common_scripts\utility::flag_wait("player_enters_front_yard_save_1"); + foreach(var_02 in var_00) + { + stopfxontag(level._effect["ie_drone_eye_emissive_bootup"],var_02,"tag_main_camera"); + if(isdefined(var_02)) + { + var_02 delete(); + } + } +} + +//Function Number: 16 +security_center_drones_turn_on_internal() +{ + wait(randomfloatrange(1,4)); + playfxontag(level._effect["ie_drone_eye_emissive_bootup"],self,"tag_main_camera"); + soundscripts\_snd_playsound::snd_play_linked("irons_security_drone_eye_wakeup"); +} + +//Function Number: 17 +player_looking_at_object(param_00) +{ + level endon(param_00); + level endon("security_center_exit_complete"); + for(;;) + { + if(maps\_utility::within_fov_2d(level.player.origin,level.player.angles,self.origin,cos(45))) + { + level notify(param_00); + } + + wait(0.05); + } +} + +//Function Number: 18 +hack_security_vo() +{ + common_scripts\utility::flag_wait("handprint_vo"); + maps\_utility::smart_radio_dialogue("ie_nox_worthprice"); + common_scripts\utility::flag_set("handprint_ready"); + common_scripts\utility::flag_wait("handprint_start"); + soundscripts\_snd::snd_message("aud_security_prints"); + maps\_utility::smart_radio_dialogue("ie_nox_uploadingprints"); + common_scripts\utility::flag_wait("computer_vo"); + soundscripts\_snd::snd_message("aud_security_welcome"); + level waittill("start_camera_vo"); + maps\_utility::smart_radio_dialogue("ie_nox_imin3"); + maps\_utility::smart_radio_dialogue("ie_nox_cameras"); + soundscripts\_snd::snd_message("aud_security_reboot"); + wait(1.5); + maps\_utility::smart_radio_dialogue("ie_nox_backonline"); + common_scripts\utility::flag_set("security_center_exit"); + wait(1); + if(!common_scripts\utility::flag("player_is_exiting_security_center")) + { + wait(2); + thread maps\_utility::smart_radio_dialogue("ie_nox_backtoroof"); + } + + common_scripts\utility::flag_wait("security_center_exit_complete"); + maps\_utility::smart_radio_dialogue("ie_nox_patchedin"); + maps\_utility::smart_radio_dialogue("ie_crmk_sniffirons"); + common_scripts\utility::flag_set("hack_security_end"); +} \ No newline at end of file diff --git a/AW/PC/maps/irons_estate_infil.gsc b/AW/PC/maps/irons_estate_infil.gsc new file mode 100644 index 0000000..f0d0ade --- /dev/null +++ b/AW/PC/maps/irons_estate_infil.gsc @@ -0,0 +1,906 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: irons_estate_infil.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 33 + * Decompile Time: 475 ms + * Timestamp: 4/22/2024 2:31:57 AM +*******************************************************************/ + +//Function Number: 1 +infil_start() +{ + level.start_point_scripted = "infil"; + maps\irons_estate::irons_estate_objectives(); + maps\irons_estate_code::spawn_player_checkpoint(); + maps\irons_estate_code::spawn_allies(); + thread poolhouse_enemies(); + thread maps\irons_estate_code::tennis_court_floor(1); + thread maps\irons_estate_code::player_kill_trigger("waterfall_bottom_kill_trigger"); + thread maps\irons_estate_code::player_kill_trigger("waterfall_top_kill_trigger"); + soundscripts\_snd::snd_message("start_infil"); + level.player.tagging["tagging_fade_max"] = 4000; +} + +//Function Number: 2 +infil_main() +{ + level.start_point_scripted = "infil"; + level.stealth_fail_fast = 1; + common_scripts\utility::flag_set("infil_begin"); + thread infil_begin(); + common_scripts\utility::flag_wait("infil_end"); + maps\_utility::autosave_stealth(); +} + +//Function Number: 3 +infil_begin() +{ + common_scripts\utility::flag_init("enable_grapple_infil"); + common_scripts\utility::flag_init("security_center_door_open"); + common_scripts\utility::flag_init("decoy_tutorial_obj"); + common_scripts\utility::flag_init("decoy_tutorial_enemy_in_range"); + level.tutorial_anim_struct = common_scripts\utility::getstruct("overlook_balcony_grapple_magnet_struct","targetname"); + thread handle_infil(); + thread infil_allies(); + thread infil_vo(); +} + +//Function Number: 4 +handle_infil() +{ + var_00 = common_scripts\utility::getstruct("infil_obj","targetname"); + objective_add(maps\_utility::obj("infil"),"current",&"IRONS_ESTATE_OBJ_INFIL"); + objective_position(maps\_utility::obj("infil"),var_00.origin); + wait(1); + level.player.grapple["dist_max"] = 1100; + var_01 = common_scripts\utility::getstruct("overlook_balcony_grapple_magnet_struct","targetname"); + var_02 = var_01 common_scripts\utility::spawn_tag_origin(); + var_03 = spawnstruct(); + var_03.landanimbody = %ie_stealth_meter_enter_player; + var_03.landanimhands = %ie_stealth_meter_view_enter_player; + var_03.noenableexo = 1; + var_03.noenableweapon = 1; + var_03.indicatoroffset = (0,0,45); + maps\_grapple::grapple_magnet_register(var_02,"tag_origin",(0,0,0),"overlook_balcony_land",undefined,var_03,undefined); + thread watch_for_player_to_reach_overlook(); + thread handle_player_during_tutorial(var_02); + thread handle_stealth_display_tutorial(); + thread handle_decoy_tutorial(); + thread tutorial_vo(); + common_scripts\utility::flag_wait("player_in_estate"); + common_scripts\utility::flag_set("ie_west_central_garden_trees"); + level.player.tagging["tagging_fade_max"] = 3000; + level.stealth_fail_fast = undefined; + maps\_utility::objective_complete(maps\_utility::obj("infil")); + level.player.grapple["dist_max"] = 0; + thread maps\irons_estate_code::handle_player_abandoned_mission("nox"); + var_04 = getent("infil_grapple_magnet_block_clip","targetname"); + var_04 delete(); + thread maps\irons_estate_code::irons_estate_trigger_saves("emp_detonated","poolyard_save_1"); + thread maps\irons_estate_code::irons_estate_trigger_saves("emp_detonated","poolyard_save_2"); + common_scripts\utility::flag_wait_either("concealed_kill_spawner_dead","player_skipping_concealed_kill_tutorial"); + maps\_utility::autosave_stealth(); + var_05 = common_scripts\utility::getstruct("security_center_obj","targetname"); + objective_add(maps\_utility::obj("security_center"),"current",&"IRONS_ESTATE_OBJ_SECURITY_CENTER"); + objective_position(maps\_utility::obj("security_center"),var_05.origin); + level.player.grapple["grappled_count"] = 1; + thread start_enemy_callout_vo(); + thread maps\irons_estate_code::drone_incoming_vo("nox"); + thread maps\irons_estate_code::clean_kill_vo("nox"); + maps\_utility::delaythread(6,::maps\irons_estate_code::dont_shoot_warning_vo,"nox"); + maps\_utility::delaythread(6,::maps\irons_estate_code::exposed_group_logic); + maps\irons_estate_code::enemy_alert_vo_setup("nox"); + thread maps\irons_estate_code::failed_vo("nox"); + maps\_utility::delaythread(5,::maps\irons_estate_code::generic_enemy_vo_chatter,"emp_detonated"); + wait(1); + level.play_ally_callout_vo = 1; + level.play_ally_warning_vo = 1; + common_scripts\utility::flag_wait("poolyard_save"); + common_scripts\_exploder::exploder(6611); + var_06 = getentarray("security_center_light_hatch","targetname"); + thread maps\irons_estate_code::security_center_lights(undefined,var_06,50000); + thread maps\irons_estate_security_center::security_center_fan_blades(); + maps\_utility::autosave_stealth(); + level.play_ally_callout_vo = undefined; + level.ally_vo_org stopsounds(); + wait(0.05); + wait(0.25); + var_07 = common_scripts\utility::getstruct("security_center_rooftop_obj","targetname"); + var_08 = common_scripts\utility::getstruct("security_center_emp_xprompt","targetname"); + objective_position(maps\_utility::obj("security_center"),var_08.origin); + objective_current_nomessage(maps\_utility::obj("security_center")); + thread maps\irons_estate_code::handle_objective_marker(var_08,var_07,"player_planting_emp",50); + common_scripts\utility::flag_wait("player_on_security_center_rooftop"); + objective_setpointertextoverride(maps\_utility::obj("security_center"),&"IRONS_ESTATE_PLANT"); + thread maps\irons_estate_security_center::drone_setup_before_emp(); + if(!common_scripts\utility::flag("_stealth_spotted") && !common_scripts\utility::flag("someone_became_alert") && !common_scripts\utility::flag("drones_investigating")) + { + common_scripts\utility::flag_wait("security_center_rooftop_drone_up"); + wait(4); + } + + common_scripts\utility::flag_set("infil_end"); +} + +//Function Number: 5 +start_enemy_callout_vo() +{ + common_scripts\utility::flag_wait("start_enemy_callout_vo"); + maps\_utility::delaythread(6,::maps\irons_estate_code::enemy_callout_vo,"nox"); +} + +//Function Number: 6 +watch_for_player_to_reach_overlook() +{ + var_00 = getent("overlook_block_player_clip","targetname"); + var_00 notsolid(); + common_scripts\utility::flag_wait("overlook_block_player_trigger"); + soundscripts\_snd::snd_message("aud_grapple_infil"); + if(level.player.grapple["grappling"] != 1) + { + var_00 solid(); + } +} + +//Function Number: 7 +handle_player_during_tutorial(param_00) +{ + level.player_rig = maps\_utility::spawn_anim_model("player_rig"); + level.player_rig hide(); + level.tutorial_anim_struct maps\_anim::anim_first_frame_solo(level.player_rig,"tutorial_idle_first_frame_only"); + for(;;) + { + level.player waittill("grapple_started",var_01); + if(isdefined(var_01) && var_01.notifyname == "overlook_balcony_land") + { + break; + } + } + + level.player waittill("grapple_rig_hidden"); + level.tutorial_anim_struct thread maps\_anim::anim_loop_solo(level.player_rig,"tutorial_idle","stop_loop"); + level.player_rig show(); + level.player waittill("overlook_balcony_land"); + maps\_grapple::grapple_magnet_unregister(param_00,"tag_origin"); + level.player allowcrouch(0); + level.player allowprone(0); + level.player freezecontrols(1); + level.player thread maps\_shg_utility::disable_features_entering_cinema(1); + level.player disableweapons(); + thread maps\irons_estate_code::remove_grapple(); + level.player thread maps\_tagging::tagging_set_binocs_enabled(0); + var_02 = ""; + level.player playerlinktodelta(level.player_rig,"tag_player",0,80,40,40,20,1); + common_scripts\utility::flag_wait("stealth_display_tutorial_over"); + maps\_utility::autosave_stealth(); + level.tutorial_anim_struct notify("stop_loop"); + level.tutorial_anim_struct thread maps\_anim::anim_single_solo(level.player_rig,"tutorial_exit"); + level.player lerpviewangleclamp(0.25,0,0,0,0,0,0); + level.player_rig waittillmatch("to_crouch","single anim"); + level.player allowcrouch(1); + level.player setstance("crouch"); + level.player_rig waittillmatch("end","single anim"); + level.player_rig delete(); + level.player unlink(); + level.player allowstand(1); + level.player allowprone(1); + level.player freezecontrols(0); + thread maps\_shg_utility::show_player_hud(); + var_03 = level.player getweaponslistall(); + var_02 = level.player getcurrentweapon(); + level.player giveweapon("s1_unarmed"); + level.player switchtoweaponimmediate("s1_unarmed"); + level.player disableweaponswitch(); + wait(0.25); + level.player enableweapons(); + level.player allowmelee(0); + level.player allowsprint(0); + level.player allowads(0); + level.player thread maps\_tagging::tagging_set_binocs_enabled(1); + if(common_scripts\utility::flag("_stealth_spotted")) + { + return; + } + + common_scripts\utility::flag_wait_any("player_concealed","_stealth_spotted","concealed_kill_spawner_dead","player_skipping_concealed_kill_tutorial","tutorial_guard_alerted"); + if(common_scripts\utility::flag("player_concealed")) + { + level.player maps\_grapple::grapple_give(); + level.player.grapple["dist_max"] = 800; + common_scripts\utility::flag_wait_any("concealed_kill_spawner_dead","player_skipping_concealed_kill_tutorial","_stealth_spotted","tutorial_guard_alerted"); + } + else + { + level.player maps\_grapple::grapple_give(); + level.player.grapple["dist_max"] = 800; + } + + if(!common_scripts\utility::flag("_stealth_spotted") || common_scripts\utility::flag("tutorial_guard_alerted")) + { + wait(0.25); + } + + level.player enableweaponswitch(); + if(level.player getcurrentweapon() != level.player.grapple["weapon"] && !level.player.grapple["quick_firing"]) + { + level.player switchtoweapon(var_02); + } + else + { + setsaveddvar("cg_drawCrosshair",0); + } + + wait(0.25); + level.player takeweapon("s1_unarmed"); + level.player thread maps\_shg_utility::enable_features_exiting_cinema(1); + level.player allowmelee(1); + level.player allowsprint(1); + level.player allowads(1); +} + +//Function Number: 8 +handle_stealth_display_tutorial() +{ + common_scripts\utility::flag_wait("player_in_estate"); + wait(2); + stealth_display_hint(); +} + +//Function Number: 9 +stealth_display_hint() +{ + var_00 = 4; + level.player thread maps\_utility::display_hint_timeout("HINT_STEALTH_DETECTION"); + wait(var_00); + common_scripts\utility::flag_set("HINT_STEALTH_DETECTION"); +} + +//Function Number: 10 +concealed_kill_tutorial_display() +{ + level endon("concealed_kill_spawner_dead"); + level endon("_stealth_spotted"); + level.player endon("concealed_kill_enemy_grappled"); + level endon("player_skipping_concealed_kill_tutorial"); + var_00 = getent("concealed_kill_volume","targetname"); + for(;;) + { + if(level.player istouching(var_00)) + { + if(!isdefined(level.concealed_tutorial_display_hint)) + { + common_scripts\utility::flag_clear("HINT_CONCEALED_KILL_STOP"); + level.player thread maps\_utility::display_hint("HINT_CONCEALED_KILL"); + level.concealed_tutorial_display_hint = 1; + } + } + else + { + common_scripts\utility::flag_set("HINT_CONCEALED_KILL_STOP"); + if(isdefined(level.concealed_tutorial_display_hint)) + { + level.concealed_tutorial_display_hint = undefined; + } + } + + wait(0.05); + } +} + +//Function Number: 11 +handle_decoy_tutorial() +{ + common_scripts\utility::flag_wait_either("concealed_kill_tutorial_ready","_stealth_spotted"); + if(common_scripts\utility::flag("_stealth_spotted") || common_scripts\utility::flag("concealed_kill_spawner_dead")) + { + return; + } + + var_00 = common_scripts\utility::getstruct("concealed_kill_obj","targetname"); + objective_add(maps\_utility::obj("concealed_kill_obj"),"current"); + objective_position(maps\_utility::obj("concealed_kill_obj"),var_00.origin); + objective_current_nomessage(maps\_utility::obj("concealed_kill_obj")); + common_scripts\utility::flag_wait_any("player_concealed","_stealth_spotted","concealed_kill_spawner_dead","player_skipping_concealed_kill_tutorial"); + objective_current_nomessage(); + if(!common_scripts\utility::flag("player_concealed")) + { + return; + } + + level endon("concealed_kill_spawner_dead"); + level endon("_stealth_spotted"); + level endon("player_skipping_concealed_kill_tutorial"); + thread handle_decoy_tutorial_hint_display(); +} + +//Function Number: 12 +handle_decoy_tutorial_hint_display() +{ + level endon("concealed_kill_spawner_dead"); + level endon("player_skipping_concealed_kill_tutorial"); + level.player thread maps\_utility::display_hint_timeout("HINT_DECOY"); + thread decoy_hint_hud(); + level.player notifyonplayercommand("whistle","+actionslot " + level.action_slot_whistle); + level.player waittill("whistle"); + maps\_grapple::grapple_magnet_register(level.tutorial_enemy_3,"j_SpineUpper",undefined,"concealed_kill_enemy_grappled",undefined,undefined,undefined); + common_scripts\utility::flag_set("HINT_DECOY"); + level.player waittill("decoy_tutorial_enemy_in_range"); + level.player waittill("concealed_kill_enemy_grappled"); + common_scripts\utility::flag_set("HINT_CONCEALED_KILL"); + maps\_utility::autosave_stealth(); +} + +//Function Number: 13 +decoy_hint_hud() +{ + setsaveddvar("cg_drawcrosshair","0"); + var_00 = undefined; + var_01 = undefined; + var_02 = undefined; + if(level.player usinggamepad()) + { + var_03 = "icon_hud_dpad"; + if(level.ps4) + { + var_03 = "icon_hud_dpad_ps4"; + } + else if(level.xb3) + { + var_03 = "icon_hud_dpad_xb3"; + } + + var_00 = maps\_hud_util::createicon(var_03,48,48); + var_00.hidewheninmenu = 1; + var_00 maps\_hud_util::setpoint("TOP",undefined,0,190); + var_01 = maps\_hud_util::createicon("dpad_icon_whistle",20,20); + var_01.hidewheninmenu = 1; + var_01 maps\_hud_util::setpoint("TOP",undefined,20,205); + var_02 = maps\_hud_util::createicon("hud_dpad_arrow_right",32,32); + var_02.hidewheninmenu = 1; + var_02 maps\_hud_util::setpoint("TOP",undefined,-3,198); + var_02.sort = 1; + var_02.color = (1,1,0); + var_02.alpha = 0.7; + } + + common_scripts\utility::flag_wait_any("HINT_DECOY","_stealth_spotted","concealed_kill_spawner_dead","player_skipping_concealed_kill_tutorial","tutorial_guard_alerted"); + setsaveddvar("cg_drawcrosshair","1"); + if(level.player usinggamepad()) + { + var_00 destroy(); + var_01 destroy(); + var_02 destroy(); + } + + level.player setweaponhudiconoverride("actionslot" + level.action_slot_whistle,"dpad_icon_whistle"); +} + +//Function Number: 14 +infil_allies() +{ + level.allies[2].ignoreall = 1; + if(!isdefined(level.allies[2].is_looping)) + { + level.recon_anim_struct = common_scripts\utility::getstruct("recon_anim_struct","targetname"); + level.recon_anim_struct thread maps\_anim::anim_loop_solo(level.allies[2],"recon_exit_idle","stop_loop"); + } + + common_scripts\utility::flag_wait("hack_security_begin"); + if(isdefined(level.knox_pda)) + { + stopfxontag(level._effect["ie_light_teal_recon_knox"],level.knox_pda,"tag_origin"); + level.knox_pda delete(); + } + + if(isdefined(level.allies[2].magic_bullet_shield)) + { + level.allies[2] maps\_utility::stop_magic_bullet_shield(); + } + + level.allies[2] delete(); +} + +//Function Number: 15 +infil_vo() +{ + common_scripts\utility::flag_wait("poolyard_save"); + wait(0.5); + if(!common_scripts\utility::flag("_stealth_spotted")) + { + maps\_utility::smart_radio_dialogue("ie_nox_gettorooftop2"); + } + + common_scripts\utility::flag_wait("player_on_security_center_rooftop"); + wait(1); + if(!common_scripts\utility::flag("_stealth_spotted") && !common_scripts\utility::flag("someone_became_alert") && !common_scripts\utility::flag("drones_investigating")) + { + maps\_utility::smart_radio_dialogue("ie_nox_dontengage"); + } +} + +//Function Number: 16 +tutorial_vo() +{ + level endon("_stealth_spotted"); + common_scripts\utility::flag_wait("player_in_estate"); + thread player_breaks_stealth_during_tutorial(); + wait(1.5); + maps\_utility::smart_radio_dialogue("ie_nox_tangosleft"); + common_scripts\utility::flag_wait("stealth_display_tutorial_over"); + thread maps\_utility::smart_radio_dialogue("ie_nox_intobushes"); + wait(1); + common_scripts\utility::flag_set("concealed_kill_tutorial_ready"); + common_scripts\utility::flag_wait_any("player_concealed","concealed_kill_spawner_dead","player_skipping_concealed_kill_tutorial"); + if(common_scripts\utility::flag("player_concealed")) + { + wait(0.25); + maps\_utility::smart_radio_dialogue("ie_nox_dothisquietly"); + common_scripts\utility::flag_wait_any("concealed_kill_spawner_dead","player_skipping_concealed_kill_tutorial","decoy_tutorial_enemy_in_range"); + if(common_scripts\utility::flag("decoy_tutorial_enemy_in_range")) + { + for(;;) + { + if(isdefined(level.player.grapple["deathstyle"]) || common_scripts\utility::flag("player_skipping_concealed_kill_tutorial") || common_scripts\utility::flag("concealed_kill_spawner_dead")) + { + break; + } + + wait(0.05); + } + + if(!common_scripts\utility::flag("concealed_kill_spawner_dead") && !common_scripts\utility::flag("player_skipping_concealed_kill_tutorial")) + { + if(!isdefined(level.tutorial_enemy_3.isbeinggrappled)) + { + maps\_utility::smart_radio_dialogue("ie_nox_takehimout"); + } + } + + common_scripts\utility::flag_wait_either("concealed_kill_spawner_dead","player_skipping_concealed_kill_tutorial"); + } + } + + level notify("stealth_display_concealed_kill_tutorial_end"); + wait(3); + maps\_utility::smart_radio_dialogue("ie_nox_securitycenter"); + wait(1); + thread nox_generic_hints(); +} + +//Function Number: 17 +nox_generic_hints() +{ + level endon("poolyard_save"); + level.generic_hint_vo[0] = spawnstruct(); + level.generic_hint_vo[0].vo = "ie_nox_sticktoshadows"; + level.generic_hint_vo[0].vo_priority = 4; + level.generic_hint_vo[1] = spawnstruct(); + level.generic_hint_vo[1].vo = "ie_nox_multipleroutes"; + level.generic_hint_vo[1].vo_priority = 4; + level.stick_to_shadows = undefined; + level.multiple_routes = undefined; + level.last_generic_hint_said = undefined; + var_00 = getentarray("nox_generic_hints","targetname"); + foreach(var_02 in var_00) + { + var_02 thread nox_generic_hints_internal(); + } +} + +//Function Number: 18 +nox_generic_hints_internal() +{ + level endon("poolyard_save"); + while(!isdefined(level.stick_to_shadows) && isdefined(level.multiple_routes)) + { + wait(1); + self waittill("trigger"); + if(isdefined(level.last_generic_hint_said)) + { + var_00 = gettime() - level.last_generic_hint_said; + if(var_00 < 15000) + { + continue; + } + } + + if(level.player istouching(self)) + { + if(isdefined(level.current_vo)) + { + while(isdefined(level.current_vo)) + { + wait 0.05; + } + } + + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "multiple_routes") + { + if(!isdefined(level.multiple_routes)) + { + thread maps\irons_estate_code::ally_vo_controller(level.generic_hint_vo[1]); + level.multiple_routes = 1; + level.last_generic_hint_said = gettime(); + break; + } + + continue; + } + + if(!isdefined(level.stick_to_shadows)) + { + thread maps\irons_estate_code::ally_vo_controller(level.generic_hint_vo[0]); + level.stick_to_shadows = 1; + level.last_generic_hint_said = gettime(); + break; + } + } + } +} + +//Function Number: 19 +player_breaks_stealth_during_tutorial() +{ + level endon("stealth_display_concealed_kill_tutorial_end"); + common_scripts\utility::flag_wait("_stealth_spotted"); + common_scripts\utility::flag_waitopen("_stealth_spotted"); + maps\_utility::smart_radio_dialogue("ie_nox_securitycenter"); +} + +//Function Number: 20 +poolhouse_enemies() +{ + maps\_utility::array_spawn_function_targetname("poolhouse_spawner",::poolhouse_spawner_setup); + var_00 = maps\_utility::array_spawn_targetname("poolhouse_spawner",1); + thread maps\irons_estate_civilians::ie_poolhouse_civilian_vignettes(); + thread poolhouse_drones(); + thread ie_west_deterrent_drones(); + thread security_center_rooftop_drone(); + if(level.start_point_scripted == "grapple" || level.start_point_scripted == "recon" || level.start_point_scripted == "infil") + { + maps\_utility::array_spawn_function_targetname("stealth_display_tutorial_spawner",::stealth_display_tutorial_spawner_setup); + var_01 = maps\_utility::array_spawn_targetname("stealth_display_tutorial_spawner",1); + thread tutorial_guards_vo(); + } + + if(level.start_point_scripted != "hack_security") + { + common_scripts\utility::flag_wait("player_in_estate"); + maps\_utility::array_spawn_function_targetname("security_center_guard_right_spawner",::security_center_guard_spawner_setup); + var_02 = maps\_utility::array_spawn_targetname("security_center_guard_right_spawner",1); + maps\_utility::array_spawn_function_targetname("security_center_guard_left_spawner",::security_center_guard_spawner_setup); + var_03 = maps\_utility::array_spawn_targetname("security_center_guard_left_spawner",1); + } +} + +//Function Number: 21 +poolhouse_spawner_setup() +{ + self endon("death"); + self.animname = "generic"; + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "poolyard_guard_wander") + { + thread poolyard_guard_wander_setup(); + } + + maps\_utility::walkdist_zero(); + common_scripts\utility::flag_wait("player_enters_front_yard_save_4"); + self delete(); +} + +//Function Number: 22 +poolyard_guard_wander_setup() +{ + self endon("death"); + self endon("whistle"); + self endon("alerted"); + thread poolyard_guard_wander_watch_for_alert(); + var_00 = common_scripts\utility::getstruct("poolyard_anim_struct_2","targetname"); + var_00 childthread maps\_anim::anim_loop_solo(self,"patrol_unarmed_idle","stop_loop"); + common_scripts\utility::flag_wait("start_poolyard_guard_wander"); + if(common_scripts\utility::flag("_stealth_spotted") || isdefined(self.has_been_alerted)) + { + return; + } + + var_00 notify("stop_loop"); + self.nogun = 1; + maps\_utility::gun_remove(); + var_01 = common_scripts\utility::getstruct("poolyard_anim_struct","targetname"); + var_01 maps\_anim::anim_single_solo(self,"ie_frontyard_garden_wander_enemy1"); +} + +//Function Number: 23 +poolyard_guard_wander_watch_for_alert() +{ + self endon("death"); + maps\_utility::ent_flag_waitopen("_stealth_normal"); + self.has_been_alerted = 1; + self notify("alerted"); + if(isdefined(self.nogun)) + { + wait(0.5); + maps\_utility::gun_recall(); + self.no_gun = undefined; + } +} + +//Function Number: 24 +security_center_guard_spawner_setup() +{ + self endon("death"); + maps\_utility::walkdist_zero(); + if(level.start_point_scripted == "hack_security" || level.start_point_scripted == "meet_cormack") + { + if(isdefined(level.security_center_guard_exposed_vo_said)) + { + self.exposed_vo_said = 1; + } + + if(self.script_noteworthy == "security_center_guard_right" && isdefined(level.security_center_guard_right_tagged)) + { + maps\_tagging::tag_enemy(level.player); + } + + if(self.script_noteworthy == "security_center_guard_left" && isdefined(level.security_center_guard_left_tagged)) + { + maps\_tagging::tag_enemy(level.player); + } + + common_scripts\utility::flag_wait("player_enters_front_yard_save_4"); + self delete(); + return; + } + + common_scripts\utility::flag_wait("emp_detonated"); + if(isdefined(self.exposed_vo_said)) + { + level.security_center_guard_exposed_vo_said = 1; + } + + if(isdefined(self.tagged) && isdefined(self.tagged[level.player getentitynumber()])) + { + if(self.script_noteworthy == "security_center_guard_right") + { + level.security_center_guard_right_tagged = 1; + } + + if(self.script_noteworthy == "security_center_guard_left") + { + level.security_center_guard_left_tagged = 1; + } + } + + common_scripts\utility::flag_set(self.script_noteworthy); + self delete(); +} + +//Function Number: 25 +poolhouse_drones() +{ + var_00 = vehicle_scripts\_pdrone_security::drone_spawn_and_drive("poolhouse_drones"); + common_scripts\utility::flag_wait("player_enters_front_yard_save_2"); + foreach(var_02 in var_00) + { + if(isdefined(var_02)) + { + var_02 delete(); + } + } +} + +//Function Number: 26 +ie_west_deterrent_drones() +{ + if(level.start_point_scripted == "grapple" || level.start_point_scripted == "recon" || level.start_point_scripted == "infil" || level.start_point_scripted == "security_center") + { + var_00 = vehicle_scripts\_pdrone_security::drone_spawn_and_drive("ie_west_deterrent_drones"); + common_scripts\utility::flag_wait("hack_security_begin"); + foreach(var_02 in var_00) + { + if(isdefined(var_02)) + { + var_02 delete(); + } + } + } +} + +//Function Number: 27 +security_center_rooftop_drone() +{ + common_scripts\utility::flag_wait("player_on_security_center_rooftop"); + if(!common_scripts\utility::flag("_stealth_spotted") && !common_scripts\utility::flag("someone_became_alert") && !common_scripts\utility::flag("drones_investigating")) + { + var_00 = getent("hatch_door_left","targetname"); + var_00.animname = "hatch_door_left"; + var_00 useanimtree(level.scr_animtree["hatch_door_left"]); + var_00 thread maps\_anim::anim_single_solo(var_00,"hatch_left_open"); + soundscripts\_snd_playsound::snd_play_at("irons_drone_hatch",var_00.origin); + var_00 waittillmatch("end","single anim"); + common_scripts\_exploder::exploder(430); + var_01 = vehicle_scripts\_pdrone_security::drone_spawn_and_drive("security_center_rooftop_drone"); + wait(1.5); + soundscripts\_snd_playsound::snd_play_at("sdrone_voc_aggressive",var_00.origin); + var_00 thread maps\_anim::anim_single_solo(var_00,"hatch_left_close"); + wait(0.1); + var_00 waittillmatch("end","single anim"); + maps\_utility::stop_exploder(430); + } +} + +//Function Number: 28 +stealth_display_tutorial_spawner_setup() +{ + self endon("death"); + self.animname = "generic"; + self.grapple_magnets = []; + if(self.script_noteworthy == "stealth_display_tutorial_enemy_1") + { + level.tutorial_enemy_1 = self; + } + + if(self.script_noteworthy == "stealth_display_tutorial_enemy_2") + { + level.tutorial_enemy_2 = self; + } + + if(self.script_noteworthy == "stealth_display_tutorial_enemy_3") + { + level.tutorial_enemy_3 = self; + } + + maps\_utility::walkdist_zero(); + common_scripts\utility::flag_wait("player_in_estate"); + self notify("end_patrol"); + maps\_utility::anim_stopanimscripted(); + wait 0.05; + maps\_utility::gun_remove(); + level.tutorial_anim_struct maps\_anim::anim_first_frame_solo(self,self.script_noteworthy); + level.tutorial_anim_struct thread maps\_anim::anim_single_solo(self,self.script_noteworthy); + if(self.script_noteworthy == "stealth_display_tutorial_enemy_1") + { + var_00 = maps\_utility::spawn_anim_model("tutorial_overlook_door_prop"); + var_01 = getent("overlook_door_model","targetname"); + var_02 = getent("overlook_door_clip","targetname"); + level.tutorial_anim_struct maps\_anim::anim_first_frame_solo(var_00,"ie_stealth_meter_door"); + var_01 linkto(var_00,"J_prop_1"); + var_02 linkto(var_00,"J_prop_1"); + self waittillmatch("open_door","single anim"); + level.tutorial_anim_struct thread maps\_anim::anim_single_solo(var_00,"ie_stealth_meter_door"); + wait(1); + common_scripts\utility::flag_set("stealth_display_tutorial_over"); + } + + if(self.script_noteworthy != "stealth_display_tutorial_enemy_3") + { + common_scripts\utility::flag_wait("stealth_display_tutorial_over"); + wait(3); + maps\_tagging::tag_outline_enemy(0); + } + + if(self.script_noteworthy == "stealth_display_tutorial_enemy_3") + { + thread watch_for_alert(); + thread watch_for_tutorial_enemy_death(); + common_scripts\utility::flag_wait("stealth_display_tutorial_over"); + thread watch_distance_on_tutorial_spawner(); + self endon("whistle"); + level endon("tutorial_guard_alerted"); + level endon("_stealth_spotted"); + } + + self waittillmatch("end","single anim"); + if(self.script_noteworthy != "stealth_display_tutorial_enemy_3") + { + self delete(); + return; + } + + wait 0.05; + if(!isdefined(self.whistle_tutorial_enemy)) + { + level.tutorial_anim_struct thread maps\_anim::anim_loop_solo(self,"ie_stealth_meter_guard_idle","guard_3_stop_loop"); + } +} + +//Function Number: 29 +watch_for_alert() +{ + self endon("death"); + for(;;) + { + maps\_utility::ent_flag_waitopen("_stealth_normal"); + wait 0.05; + if(isdefined(self.event_type) && self.event_type == "whistle") + { + if(!isdefined(self.whistle_tutorial_enemy)) + { + thread whistle(); + } + } + else + { + common_scripts\utility::flag_set("tutorial_guard_alerted"); + level.tutorial_anim_struct notify("guard_3_stop_loop"); + maps\_utility::anim_stopanimscripted(); + maps\_utility::gun_recall(); + } + + maps\_utility::ent_flag_wait("_stealth_normal"); + var_00 = common_scripts\utility::getstruct("tutorial_guard_idle_struct","targetname"); + self.target = var_00.targetname; + thread maps\_patrol::patrol(self.target); + if(common_scripts\utility::flag("tutorial_guard_alerted")) + { + break; + } + } +} + +//Function Number: 30 +whistle() +{ + self endon("death"); + self.whistle_tutorial_enemy = 1; + level.tutorial_anim_struct notify("guard_3_stop_loop"); + maps\_utility::anim_stopanimscripted(); + wait(0.5); + maps\_utility::gun_recall(); +} + +//Function Number: 31 +watch_for_tutorial_enemy_death() +{ + self waittill("death"); + common_scripts\utility::flag_set("concealed_kill_spawner_dead"); +} + +//Function Number: 32 +watch_distance_on_tutorial_spawner() +{ + self endon("death"); + common_scripts\utility::flag_wait_either("HINT_DECOY","player_skipping_concealed_kill_tutorial"); + if(common_scripts\utility::flag("player_skipping_concealed_kill_tutorial")) + { + maps\_grapple::grapple_magnet_register(self,"j_SpineUpper",undefined,"concealed_kill_enemy_grappled",undefined,undefined,undefined); + return; + } + + while(!common_scripts\utility::flag("player_skipping_concealed_kill_tutorial")) + { + if(distancesquared(self.origin,level.player.origin) < 160000) + { + break; + } + + wait(0.05); + } + + if(!common_scripts\utility::flag("player_skipping_concealed_kill_tutorial")) + { + level.player notify("decoy_tutorial_enemy_in_range"); + common_scripts\utility::flag_set("decoy_tutorial_enemy_in_range"); + } +} + +//Function Number: 33 +tutorial_guards_vo() +{ + common_scripts\utility::flag_wait("player_in_estate"); + level.tutorial_enemy_1 endon("death"); + level.tutorial_enemy_2 endon("death"); + level.tutorial_enemy_3 endon("death"); + level.tutorial_enemy_1 thread maps\irons_estate_civilians::stop_civilian_conversation("stealth_display_tutorial_over"); + level.tutorial_enemy_2 thread maps\irons_estate_civilians::stop_civilian_conversation("stealth_display_tutorial_over"); + level.tutorial_enemy_3 thread maps\irons_estate_civilians::stop_civilian_conversation("stealth_display_tutorial_over"); + level.tutorial_enemy_3 maps\_utility::smart_dialogue("ie_cm1_luckyshot"); + level.tutorial_enemy_2 maps\_utility::smart_dialogue("ie_cm2_notluck"); + level.tutorial_enemy_1 maps\_utility::smart_dialogue("ie_cm3_bandwagonfan"); + level.tutorial_enemy_2 maps\_utility::smart_dialogue("ie_cm2_likeanyteam"); + level.tutorial_enemy_1 maps\_utility::smart_dialogue("ie_cm3_winitall"); + level.tutorial_enemy_2 maps\_utility::smart_dialogue("ie_cm2_4to1"); + level.tutorial_enemy_1 maps\_utility::smart_dialogue("ie_cm3_anidiot"); +} \ No newline at end of file diff --git a/AW/PC/maps/irons_estate_intel.gsc b/AW/PC/maps/irons_estate_intel.gsc new file mode 100644 index 0000000..a8ae816 --- /dev/null +++ b/AW/PC/maps/irons_estate_intel.gsc @@ -0,0 +1,259 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: irons_estate_intel.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 14 + * Decompile Time: 244 ms + * Timestamp: 4/22/2024 2:31:58 AM +*******************************************************************/ + +//Function Number: 1 +intel_start() +{ + level.start_point_scripted = "intel"; + maps\irons_estate::irons_estate_objectives(); + maps\irons_estate_code::spawn_player_checkpoint(); + maps\irons_estate_code::spawn_allies(); + if(!isdefined(level.meet_cormack_kill_org)) + { + level.meet_cormack_kill_org = common_scripts\utility::getstruct("meet_cormack_kill_org","targetname"); + } + + thread setup_intel_player(1); + thread vo_test(); + thread temp_bink_stuff(); + soundscripts\_snd::snd_message("start_intel"); +} + +//Function Number: 2 +intel_main() +{ + level.start_point_scripted = "intel"; + common_scripts\utility::flag_set("intel_begin"); + thread intel_begin(); + common_scripts\utility::flag_wait("intel_end"); + maps\_utility::delaythread(1,::maps\_utility::autosave_by_name); +} + +//Function Number: 3 +intel_begin() +{ + maps\irons_estate_code::irons_estate_stealth_disable(); + thread setup_intel_main(); +} + +//Function Number: 4 +setup_intel_main() +{ + if(!isdefined(level.meet_cormack_kill_org)) + { + level.meet_cormack_kill_org = common_scripts\utility::getstruct("meet_cormack_kill_org","targetname"); + } + + thread setup_intel_cormack(); +} + +//Function Number: 5 +setup_intel_cormack() +{ + level endon("player_used_intel_trigger"); + if(common_scripts\utility::flag("player_used_intel_trigger")) + { + return; + } + + level.meet_cormack_kill_org thread maps\_anim::anim_loop_solo(level.allies[0],"pent_desk_idle","stop_pent_desk_idle"); +} + +//Function Number: 6 +cormack_anim_rate_change(param_00,param_01) +{ + wait(0.05); + param_00 = level.allies[0] maps\_utility::getanim(param_00); + level.allies[0] setanimrate(param_00,param_01); +} + +//Function Number: 7 +setup_intel_player(param_00) +{ + var_01 = common_scripts\utility::getstruct("intel_obj_xprompt","targetname"); + level.intel_player_rig = maps\_utility::spawn_anim_model("player_rig"); + level.intel_player_rig hide(); + thread hack_device_setup(); + level.meet_cormack_kill_org maps\_anim::anim_first_frame_solo(level.intel_player_rig,"pent_desk"); + if(!isdefined(param_00)) + { + level.allies[0] waittillmatch("desk_player","single anim"); + } + + objective_add(maps\_utility::obj("intel"),"current",&"IRONS_ESTATE_OBJ_INTEL"); + objective_setpointertextoverride(maps\_utility::obj("intel"),&"IRONS_ESTATE_USE"); + objective_position(maps\_utility::obj("intel"),var_01.origin); + level.gather_intel_trigger = getent("gather_intel_trigger","targetname"); + level.gather_intel_trigger thread maps\_utility::addhinttrigger(&"IRONS_ESTATE_INTEL",&"IRONS_ESTATE_INTEL_PC"); + thread maps\irons_estate_code::handle_objective_marker(var_01,var_01,"player_used_intel_trigger",60); + level.gather_intel_trigger waittill("trigger"); + soundscripts\_snd::snd_message("aud_intel"); + objective_position(maps\_utility::obj("intel"),(0,0,0)); + common_scripts\utility::flag_set("player_used_intel_trigger"); + setsaveddvar("objectiveHide",1); + level.gather_intel_trigger delete(); + thread right_tap_monitor(); + thread right_swipe_monitor(); + thread left_tap_monitor(); + thread left_swipe_monitor(); + level.player freezecontrols(1); + level.player thread maps\_shg_utility::disable_features_entering_cinema(1); + level.player thread maps\_tagging::tagging_set_binocs_enabled(0); + level.player maps\_tagging::tagging_set_enabled(0); + level.player thread maps\irons_estate_stealth::irons_estate_whistle(0); + level.player disableweapons(); + level.player allowcrouch(0); + level.player allowprone(0); + level.player disableoffhandsecondaryweapons(); + level.player disableoffhandweapons(); + level.player setstance("stand"); + level.meet_cormack_kill_org notify("stop_pent_desk_idle"); + wait(0.05); + level.player playerlinktoblend(level.intel_player_rig,"tag_player",0.6); + level.meet_cormack_kill_org thread maps\_anim::anim_single([level.intel_player_rig,level.allies[0]],"pent_desk"); + wait(0.6); + var_02 = level.player getcurrentweapon(); + var_03 = level.player getweaponslistall(); + level.player takeallweapons(); + foreach(var_05 in var_03) + { + if(isdefined(var_05) && var_05 == "iw5_kf5singleshot_sp_opticsreddot_silencer01") + { + level.player giveweapon("iw5_kf5fullauto_sp_opticsreddot_silencer01"); + } + + if(isdefined(var_05) && var_05 == "iw5_sn6_sp_opticsreddot_silencer01") + { + level.player giveweapon("iw5_sn6_sp_opticsreddot_silencer01"); + } + + if(isdefined(var_05) && var_05 == "iw5_pbwsingleshot_sp_silencerpistol") + { + level.player giveweapon("iw5_pbwsingleshot_sp_silencerpistol"); + } + } + + if(isdefined(var_02) && var_02 == "iw5_kf5singleshot_sp_opticsreddot_silencer01") + { + level.player switchtoweapon("iw5_kf5fullauto_sp_opticsreddot_silencer01"); + } + else if((isdefined(var_02) && var_02 == "iw5_sn6_sp_opticsreddot_silencer01") || var_02 == "iw5_pbwsingleshot_sp_silencerpistol") + { + level.player switchtoweapon("iw5_sn6_sp_opticsreddot_silencer01"); + } + + level.player playerlinktodelta(level.intel_player_rig,"tag_player",1,10,10,5,5,1); + level.hack_device show(); + level.intel_player_rig show(); + level.intel_player_rig waittillmatch("end","single anim"); + common_scripts\utility::flag_set("player_finished_desk_anim"); + level.player unlink(); + level.player enableweapons(); + level.player freezecontrols(0); + level.player thread maps\_shg_utility::enable_features_exiting_cinema(1); + level.player thread maps\_tagging::tagging_set_binocs_enabled(1); + level.player maps\_tagging::tagging_set_enabled(1); + level.player thread maps\irons_estate_stealth::irons_estate_whistle(1); + level.player allowcrouch(1); + level.player allowprone(1); + level.intel_player_rig delete(); + thread maps\irons_estate_meet_cormack_pt2::elevator_top_enemies_setup(); +} + +//Function Number: 8 +hack_device_setup() +{ + level.hack_device = spawn("script_model",(0,0,0)); + level.hack_device setmodel("base_hack_device_01"); + level.hack_device linkto(level.intel_player_rig,"tag_weapon_right",(0,0,0),(0,0,0)); + level.hack_device hide(); + level.intel_player_rig waittillmatch("drop_device","single anim"); + level.hack_device unlink(); + level.intel_player_rig waittillmatch("pick_up_device","single anim"); + level.hack_device linkto(level.intel_player_rig,"tag_weapon_right",(0,0,0),(0,0,0)); + level.intel_player_rig waittillmatch("end","single anim"); + if(isdefined(level.hack_device)) + { + level.hack_device delete(); + } +} + +//Function Number: 9 +vo_test() +{ + common_scripts\utility::flag_wait("player_used_intel_trigger"); + level.allies[0] waittillmatch("sd_ie_crmk_damnit3","single anim"); + soundscripts\_snd::snd_message("aud_lockdown_alarm"); + level.allies[0] waittillmatch("end","single anim"); + objective_state_nomessage(maps\_utility::obj("intel"),"done"); + setsaveddvar("objectiveHide",0); + common_scripts\utility::flag_set("intel_end"); +} + +//Function Number: 10 +temp_bink_stuff() +{ + setsaveddvar("cg_cinematicFullScreen","0"); + setsaveddvar("cg_cinematicCanPause","1"); + cinematicingame("ie_penthouse_desk",1); + level.intel_player_rig waittillmatch("bink_start","single anim"); + pausecinematicingame(0); + while(iscinematicplaying()) + { + wait(0.05); + } + + setsaveddvar("cg_cinematicCanPause","0"); + setsaveddvar("cg_cinematicFullScreen","1"); +} + +//Function Number: 11 +right_tap_monitor() +{ + level endon("player_finished_desk_anim"); + for(;;) + { + level.intel_player_rig waittillmatch("right_tap","single anim"); + playrumbleonposition("ie_desk_right_tap",level.intel_player_rig gettagorigin("tag_weapon_left")); + } +} + +//Function Number: 12 +right_swipe_monitor() +{ + level endon("player_finished_desk_anim"); + for(;;) + { + level.intel_player_rig waittillmatch("right_swipe","single anim"); + playrumbleonposition("ie_desk_right_swipe",level.intel_player_rig gettagorigin("tag_weapon_left")); + } +} + +//Function Number: 13 +left_tap_monitor() +{ + level endon("player_finished_desk_anim"); + for(;;) + { + level.intel_player_rig waittillmatch("left_tap","single anim"); + playrumbleonposition("ie_desk_left_tap",level.intel_player_rig gettagorigin("tag_weapon_right")); + } +} + +//Function Number: 14 +left_swipe_monitor() +{ + level endon("player_finished_desk_anim"); + for(;;) + { + level.intel_player_rig waittillmatch("left_swipe","single anim"); + playrumbleonposition("ie_desk_left_swipe",level.intel_player_rig gettagorigin("tag_weapon_right")); + } +} \ No newline at end of file diff --git a/AW/PC/maps/irons_estate_intro.gsc b/AW/PC/maps/irons_estate_intro.gsc new file mode 100644 index 0000000..7e341e3 --- /dev/null +++ b/AW/PC/maps/irons_estate_intro.gsc @@ -0,0 +1,293 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: irons_estate_intro.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 13 + * Decompile Time: 207 ms + * Timestamp: 4/22/2024 2:31:59 AM +*******************************************************************/ + +//Function Number: 1 +intro_start() +{ + level.start_point_scripted = "intro"; + maps\irons_estate::irons_estate_objectives(); + maps\irons_estate_code::spawn_player_checkpoint(); + level.player maps\_grapple::grapple_take(); + level.player maps\_tagging::tagging_set_enabled(0); + level.start_point_intro = 1; + soundscripts\_snd::snd_message("start_intro"); +} + +//Function Number: 2 +intro_main() +{ + level.start_point_scripted = "intro"; + maps\irons_estate_code::spawn_allies(); + common_scripts\utility::flag_set("intro_begin"); + level.intro_anim_struct = common_scripts\utility::getstruct("intro_anim_struct","targetname"); + intro_begin(); + common_scripts\utility::flag_wait("intro_end"); + var_00 = getent("waterfall_cave_trigger","targetname"); + var_00 thread maps\irons_estate_code::waterfall_save("grapple_end"); +} + +//Function Number: 3 +intro_begin() +{ + common_scripts\utility::flag_init("introscreen2_complete"); + common_scripts\utility::flag_init("spawn_intro_drones"); + thread maps\irons_estate_code::player_kill_trigger("waterfall_bottom_kill_trigger"); + thread handle_intro(); + level.allies[0] thread intro_allies(); + level.allies[1] thread intro_allies(); + level.allies[2] thread intro_allies(); + thread intro_vo(); + thread intro_bink(); + common_scripts\_exploder::exploder(7900); + common_scripts\_exploder::exploder(9900); +} + +//Function Number: 4 +handle_intro() +{ + thread introscreen2(); + thread intro_player(); + thread intro_cave_rumble(); + common_scripts\utility::flag_wait("introscreen2_complete"); + common_scripts\utility::flag_set("spawn_intro_drones"); + thread intro_drone(); + common_scripts\utility::flag_wait("drone_passed"); +} + +//Function Number: 5 +intro_cave_rumble() +{ + level endon("player_in_estate"); + var_00 = common_scripts\utility::getstruct("intro_start","targetname"); + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01.origin = var_00.origin; + var_01 thread intro_cave_rumble_cleanup(); + for(;;) + { + common_scripts\utility::flag_wait("intro_cave_waterfall_trigger"); + var_01 playrumblelooponentity("ie_cave_rumble"); + common_scripts\utility::flag_waitopen("intro_cave_waterfall_trigger"); + var_01 stoprumble("ie_cave_rumble"); + wait(0.05); + } +} + +//Function Number: 6 +intro_cave_rumble_cleanup() +{ + common_scripts\utility::flag_wait("player_in_estate"); + if(isdefined(self)) + { + self stoprumble("ie_cave_rumble"); + self delete(); + } +} + +//Function Number: 7 +introscreen2() +{ + if(isdefined(level.start_point_intro)) + { + thread maps\_hud_util::fade_out(0,"black"); + } + + var_00 = 8; + maps\_utility::delaythread(var_00,::maps\_utility::center_screen_text,&"IRONS_ESTATE_CENTER_SCREEN_TEXT2"); + wait(var_00); + if(level.currentgen) + { + if(!istransientloaded("irons_estate_cliffs_tr")) + { + level waittill("tff_post_briefing_to_cliffs"); + } + } + + thread maps\_hud_util::fade_in(1); + common_scripts\utility::flag_set("introscreen2_complete"); +} + +//Function Number: 8 +intro_player() +{ + level.player freezecontrols(1); + level.player allowsprint(0); + level.player thread maps\_shg_utility::disable_features_entering_cinema(1); + level.player allowfire(0); + level.player disableweapons(); + level.player setstance("crouch"); + wait(1.25); + level.player allowprone(0); + level.player allowstand(0); + var_00 = common_scripts\utility::getstruct("intro_start","targetname"); + var_01 = spawn("script_model",var_00.origin); + var_01 setmodel("tag_origin"); + var_01.angles = var_00.angles; + level.player playerlinkto(var_01,"tag_origin",0,0,0,0,0,0); + var_01 delete(); + wait 0.05; + var_01 = spawn("script_model",level.player getorigin()); + var_01 setmodel("tag_origin"); + var_01.angles = var_00.angles; + level.player playerlinktodelta(var_01,"tag_origin",0,0,0,0,0,0); + common_scripts\utility::flag_wait("introscreen2_complete"); + soundscripts\_snd::snd_message("aud_patching_in_foley"); + wait(0.5); + level.player lerpviewangleclamp(0.5,0.25,0.25,60,60,40,20); + common_scripts\utility::flag_wait("drone_passed"); + wait(0.5); + level.player enableweaponswitch(); + var_02 = level.player getweaponslistall(); + level.player switchtoweaponimmediate(var_02[0]); + wait(0.05); + level.player takeweapon("s1_unarmed"); + level.player allowmelee(1); + level.player allowsprint(1); + level.player allowads(1); + level.player setmovespeedscale(1); + level.player enableweapons(); + wait(1); + var_01 delete(); + level.player allowprone(1); + level.player allowstand(1); + level.player freezecontrols(0); + level.player allowsprint(1); + level.player thread maps\_shg_utility::enable_features_exiting_cinema(1); + level.player allowfire(1); + thread player_grapple_check(); +} + +//Function Number: 9 +player_grapple_check() +{ + level waittill("ready_hooks"); + wait(1.5); + level.player disableweapons(); + wait(0.25); + if(level.player getstance() != "stand") + { + level.player setstance("stand"); + } + + var_00 = level.player getcurrentweapon(); + level.player.grapple["dist_max"] = 0; + level.player maps\_grapple::grapple_give(); + level.player maps\_grapple::grapple_switch(var_00 != level.player.grapple["weapon"],1,0); + level.player disableweaponswitch(); + wait(0.25); + level.player enableweapons(); + level.player hideviewmodel(); + var_01 = spawn("script_model",(0,0,0)); + var_01 hide(); + var_01 setmodel("worldhands_sentinel_udt_mitchell_screen"); + var_01 linktoplayerview(level.player,"J_Elbow_LE",(0,0,0),(0,0,0),1); + level notify("start_grapplinghook_hud_gearup"); + wait(0.5); + var_01 show(); + level.player setviewmodel("viewhands_sentinel_udt_mitchell_noscreen"); + level.player showviewmodel(); + level.player setviewmodelanim("ie_intro_grapple_inspect_player"); + thread maps\_trigger::spawneffectonplayerview("ie_light_intro_dev"); + level waittill("grapple_check_bink_done"); + thread maps\_trigger::stopeffectonplayerview("ie_light_intro_dev"); + level.player maps\_grapple::grapple_take(); + level.player switchtoweaponimmediate(var_00); + wait(0.25); + level.player enableweaponswitch(); + level.player setviewmodel("viewhands_sentinel_udt_mitchell"); + var_01 delete(); + level.player.grapple["ammoCounterHide"] = 0; + level.player maps\_grapple::grapple_give(); +} + +//Function Number: 10 +intro_bink() +{ + setsaveddvar("cg_cinematicCanPause","1"); + cinematicingame("grapplinghook_hud_gearup",1); + setsaveddvar("cg_cinematicFullScreen","0"); + level waittill("start_grapplinghook_hud_gearup"); + pausecinematicingame(0); + wait(0.05); + wait(6); + level notify("grapple_check_bink_done"); + setsaveddvar("cg_cinematicCanPause","0"); +} + +//Function Number: 11 +intro_drone() +{ + var_00 = vehicle_scripts\_pdrone_security::drone_spawn_and_drive("intro_drone"); + foreach(var_02 in var_00) + { + var_02 maps\_utility::ent_flag_init("intro_drone_path_end"); + } + + wait(6); + common_scripts\utility::flag_set("drone_passed"); + foreach(var_02 in var_00) + { + var_02 maps\_utility::ent_flag_wait("intro_drone_path_end"); + var_02 delete(); + } +} + +//Function Number: 12 +intro_allies() +{ + self.ignoreall = 1; + maps\_utility::enable_cqbwalk(); + self setgoalpos(self.origin); + if(self.animname == "knox") + { + level.intro_anim_struct maps\_anim::anim_first_frame_solo(self,"ie_intro_idle"); + } + else + { + level.intro_anim_struct maps\_anim::anim_first_frame_solo(self,"ie_intro_ally"); + } + + wait(2); + if(self.animname == "knox") + { + level.knox_pda = spawn("script_model",(0,0,0)); + level.knox_pda setmodel("greece_drone_control_pad"); + playfxontag(level._effect["ie_light_teal"],level.knox_pda,"tag_origin"); + level.knox_pda linkto(self,"tag_weapon_chest",(0,0,0),(0,0,0)); + level.intro_anim_struct maps\_anim::anim_single_solo(self,"ie_intro_idle"); + level.intro_anim_struct thread maps\_anim::anim_single_solo(self,"ie_intro_ally"); + wait(9); + soundscripts\_snd::snd_message("aud_intro_foley"); + if(isdefined(level.knox_pda)) + { + stopfxontag(level._effect["ie_light_teal"],level.knox_pda,"tag_origin"); + level.knox_pda delete(); + } + + self waittillmatch("end","single anim"); + } + else + { + level.intro_anim_struct maps\_anim::anim_single_solo(self,"ie_intro_ally"); + } + + if(!common_scripts\utility::flag("intro_end")) + { + common_scripts\utility::flag_set("intro_end"); + } +} + +//Function Number: 13 +intro_vo() +{ + wait(5); + level.allies[0] maps\_utility::smart_dialogue("ie_crmk_knoxitgoing"); + wait(0.5); + level.allies[2] maps\_utility::smart_dialogue("ie_nox_donepatching"); +} \ No newline at end of file diff --git a/AW/PC/maps/irons_estate_lighting.gsc b/AW/PC/maps/irons_estate_lighting.gsc new file mode 100644 index 0000000..b6e1123 --- /dev/null +++ b/AW/PC/maps/irons_estate_lighting.gsc @@ -0,0 +1,718 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: irons_estate_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 40 + * Decompile Time: 582 ms + * Timestamp: 4/22/2024 2:32:01 AM +*******************************************************************/ + +//Function Number: 1 +lighting_begin_preload() +{ + common_scripts\utility::flag_init("intro_begin"); + common_scripts\utility::flag_init("player_under_car"); + common_scripts\utility::flag_init("introscreen1_complete"); + common_scripts\utility::flag_init("player_grappled_to_vtol"); +} + +//Function Number: 2 +main() +{ + thread lighting_begin_preload(); + thread setup_flickerlight_motion_presets(); + thread set_level_lighting_values(); + thread set_hemi_ao(); + thread irons_estate_vignette(); + thread irons_estate_outside_vision_setup(); + thread irons_estate_briefing_setup(); + thread lerp_spot_briefing(); + thread force_bounce_on_briefing_hanger(); + thread force_bounce_on_briefing_hanger_02(); + thread irons_estate_waterfall_cave_setup(); + thread irons_estate_waterfall_setup(); + thread irons_estate_waterfall_debug_checkpoint(); + thread irons_estate_intro_reveal_setup(); + thread irons_estate_intro_reveal_setup_debug_checkpoint(); + thread irons_estate_tutorial_setup(); + thread irons_estate_recon_setup(); + thread irons_estate_security_center_setup(); + thread irons_estate_security_center_debug_checkpoint(); + thread irons_estate_security_center_exit_setup(); + thread garage_door_shut_off(); + thread irons_estate_penthouse_setup(); + if(level.currentgen) + { + thread irons_estate_penthouse_cormack_setup(); + } + + thread irons_estate_intel_debug_checkpoint(); + thread irons_estate_elevator_dof(); + thread irons_estate_car_setup(); + thread irons_estate_hanger_setup(); + thread force_bounce_on(); + thread plant_tracker_debug_checkpoint(); + thread irons_estate_exfil_setup(); + thread plant_tracker_light_model_swap(); + thread irons_estate_plane_setup(); + thread irons_estate_underwater_setup(); + if(level.start_point == "briefing" || level.start_point == "intro" || level.start_point == "grapple" || level.start_point == "recon" || level.start_point == "infil" || level.start_point == "security_center" || level.start_point == "hack_security") + { + thread set_security_lights(); + thread set_security_center_tv(); + } +} + +//Function Number: 3 +setup_flickerlight_motion_presets() +{ + if(level.nextgen) + { + maps\_lighting::create_flickerlight_motion_preset("water_motion_large",(0.83,0.94,1),710,1,0.1,0.12); + maps\_lighting::create_flickerlight_motion_preset("fire_motion_medium",(1,0.2246,0),600,2,0.1,0.2); + return; + } + + maps\_lighting::create_flickerlight_motion_preset("water_motion_large",(0.55,0.83,1),2000,1,0.1,0.12); + maps\_lighting::create_flickerlight_motion_preset("fire_motion_medium",(1,0.2246,0),3000,2,0.05,0.2); +} + +//Function Number: 4 +set_level_lighting_values() +{ + if(isusinghdr()) + { + setsaveddvar("r_disableLightSets",0); + level.player lightsetforplayer("irons_estate"); + } + + if(level.currentgen) + { + setsaveddvar("r_gunSightColorEntityScale",0.7); + setsaveddvar("r_gunSightColorNoneScale",0.2); + } +} + +//Function Number: 5 +set_hemi_ao() +{ + if(level.nextgen) + { + setsaveddvar("r_hemiAoEnable",1); + } +} + +//Function Number: 6 +irons_estate_vignette() +{ + level.player thread maps\_lighting::screen_effect_base(0,"ac130_overlay_pip_vignette",0,0,1,0,0); +} + +//Function Number: 7 +irons_estate_outside_vision_setup() +{ + level.player lightsetforplayer("irons_estate"); + maps\_utility::vision_set_fog_changes("irons_estate",0); + level.player setclutforplayer("clut_base_default",0); +} + +//Function Number: 8 +irons_estate_briefing_setup() +{ + common_scripts\utility::flag_wait("introscreen1_complete"); + level.player lightsetforplayer("irons_estate_briefing"); + maps\_utility::vision_set_fog_changes("irons_estate_briefing",0); + level.player setclutforplayer("clut_base_briefing",0); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","1"); + } + + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(13,27,1,1); + wait(8); + level.player setphysicaldepthoffield(11,27,1,1); + level waittill("player_can_move"); + level.player disablephysicaldepthoffieldscripting(); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + } + + maps\_lighting::lerp_spot_intensity("Illona_briefing_fill",1,0); + maps\_lighting::lerp_spot_intensity("Illona_briefing_bounce",1,0); +} + +//Function Number: 9 +lerp_spot_briefing() +{ + common_scripts\utility::flag_wait("introscreen1_complete"); + wait(26); + if(level.nextgen) + { + maps\_lighting::lerp_spot_intensity("cormack_briefing_shadow",1,0); + } +} + +//Function Number: 10 +force_bounce_on_briefing_hanger() +{ + if(level.nextgen) + { + var_00 = getent("briefing_hanger_lod","targetname"); + var_00 setlightshadowstate("force_on"); + common_scripts\utility::flag_wait("intro_begin"); + var_00 setlightshadowstate("force_off"); + } +} + +//Function Number: 11 +force_bounce_on_briefing_hanger_02() +{ + if(level.nextgen) + { + var_00 = getent("briefing_hanger_lod_02","targetname"); + var_00 setlightshadowstate("force_on"); + common_scripts\utility::flag_wait("intro_begin"); + var_00 setlightshadowstate("force_off"); + } +} + +//Function Number: 12 +irons_estate_waterfall_cave_setup() +{ + common_scripts\utility::flag_wait("intro_begin"); + maps\_lighting::play_flickerlight_motion_preset("water_motion_large","water_shim_01"); + level.player lightsetforplayer("irons_estate_waterfall_intro"); + if(level.nextgen) + { + maps\_utility::vision_set_fog_changes("irons_estate_waterfall_intro",0); + level.player setclutforplayer("clut_base_default",0); + } + else + { + maps\_utility::vision_set_fog_changes("irons_estate_waterfall_intro",0.1); + level.player setclutforplayer("clut_base_cave",0.1); + } + + common_scripts\utility::flag_wait("drone_passed"); + setsunflareposition((-44.0771,52.229,0)); +} + +//Function Number: 13 +irons_estate_waterfall_setup() +{ + common_scripts\utility::flag_wait("intro_waterfall_dof"); + maps\_lighting::play_flickerlight_motion_preset("water_motion_large","water_shim_01"); + level.player lightsetforplayer("irons_estate_waterfall"); + maps\_utility::vision_set_fog_changes("irons_estate_waterfall",2); + level.player setclutforplayer("clut_base_default",2); + setsunflareposition((-44.0771,52.229,0)); + common_scripts\utility::flag_wait("water_shim_off"); + maps\_lighting::stop_flickerlight("water_motion_large","water_shim_01",0); +} + +//Function Number: 14 +irons_estate_waterfall_debug_checkpoint() +{ + common_scripts\utility::flag_wait("grapple_debug"); + maps\_lighting::play_flickerlight_motion_preset("water_motion_large","water_shim_01"); + level.player lightsetforplayer("irons_estate_waterfall"); + maps\_utility::vision_set_fog_changes("irons_estate_waterfall",2); + level.player setclutforplayer("clut_base_default",2); + setsunflareposition((-44.0771,52.229,0)); + common_scripts\utility::flag_wait("water_shim_off"); + maps\_lighting::stop_flickerlight("water_motion_large","water_shim_01",0); +} + +//Function Number: 15 +irons_estate_intro_reveal_setup() +{ + common_scripts\utility::flag_wait("spawn_infil_enemies"); + level.player lightsetforplayer("irons_estate_intro_reveal"); + maps\_utility::vision_set_fog_changes("irons_estate_intro_reveal",0.1); + level.player setclutforplayer("clut_base_default",0.1); + setsunflareposition((-44.0771,52.229,0)); +} + +//Function Number: 16 +irons_estate_intro_reveal_setup_debug_checkpoint() +{ + common_scripts\utility::flag_wait("irons_estate_recon_dof"); + level.player lightsetforplayer("irons_estate_intro_reveal"); + maps\_utility::vision_set_fog_changes("irons_estate_intro_reveal",0); + level.player setclutforplayer("clut_base_default",0); + setsunflareposition((-44.0771,52.229,0)); +} + +//Function Number: 17 +irons_estate_tutorial_setup() +{ + common_scripts\utility::flag_wait("irons_estate_tutorial_dof"); + level.player lightsetforplayer("irons_estate_tutorial"); + maps\_utility::vision_set_fog_changes("irons_estate_tutorial",1); + level.player setclutforplayer("clut_base_default",1); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(1.12,548,1,1); + common_scripts\utility::flag_wait("stealth_display_tutorial_over"); + level.player disablephysicaldepthoffieldscripting(); + setsunflareposition((-44.0771,52.229,0)); +} + +//Function Number: 18 +irons_estate_recon_setup() +{ + common_scripts\utility::flag_wait("irons_estate_tutorial_end"); + level.player lightsetforplayer("irons_estate"); + maps\_utility::vision_set_fog_changes("irons_estate",2); + level.player setclutforplayer("clut_base_default",2); + setsunflareposition((-44.0771,52.229,0)); +} + +//Function Number: 19 +irons_estate_security_center_setup() +{ + level waittill("player_planting_emp"); + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + setsaveddvar("r_mbVelocityScalar","1"); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(8,15,1,1); + common_scripts\utility::flag_wait("security_center_enter_anim_done"); + level.player disablephysicaldepthoffieldscripting(); + setsaveddvar("r_mbEnable","0"); + level.player lightsetforplayer("irons_estate_security_center"); + maps\_utility::vision_set_fog_changes("irons_estate_security_center",2); + level.player setclutforplayer("clut_base_security_center",2); + common_scripts\utility::flag_wait("handprint_start"); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(17,0,1,1); + wait(3); + level.player disablephysicaldepthoffieldscripting(); + setsunflareposition((-45,-15,0)); +} + +//Function Number: 20 +irons_estate_security_center_debug_checkpoint() +{ + common_scripts\utility::flag_wait("inside_security_center"); + level.player lightsetforplayer("irons_estate_security_center"); + maps\_utility::vision_set_fog_changes("irons_estate_security_center",0); + level.player setclutforplayer("clut_base_security_center",0); + setsunflareposition((-44.0771,52.229,0)); + common_scripts\utility::flag_wait("handprint_start"); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(17,0,1,1); + wait(3); + level.player disablephysicaldepthoffieldscripting(); +} + +//Function Number: 21 +irons_estate_penthouse_cormack_setup() +{ +} + +//Function Number: 22 +irons_estate_security_center_exit_setup() +{ + common_scripts\utility::flag_wait("outside_security_center"); + level.player lightsetforplayer("irons_estate"); + maps\_utility::vision_set_fog_changes("irons_estate",10); + level.player setclutforplayer("clut_base_default",10); + setsunflareposition((-44.0771,52.229,0)); + common_scripts\utility::flag_wait("firelight_on"); + maps\_lighting::play_flickerlight_motion_preset("fire_motion_medium","fireplace_01"); +} + +//Function Number: 23 +garage_door_shut_off() +{ + var_00 = getent("garage_light_source_off","targetname"); + var_01 = getent("garage_light_source_on","targetname"); + var_01 show(); + var_00 hide(); + common_scripts\utility::flag_wait("garage_door_light_off"); + var_00 show(); + var_01 hide(); + var_02 = getent("garage_door_light","targetname"); + var_02 setlightintensity(0); +} + +//Function Number: 24 +irons_estate_penthouse_setup() +{ + common_scripts\utility::flag_wait("irons_estate_penthouse_dof"); + maps\_lighting::play_flickerlight_motion_preset("fire_motion_medium","fireplace_01"); + level.player lightsetforplayer("irons_estate_penthouse"); + maps\_utility::vision_set_fog_changes("irons_estate_penthouse",4); + level.player setclutforplayer("clut_base_default",1); + setsunflareposition((-44.0771,52.229,0)); + common_scripts\utility::flag_wait("player_used_intel_trigger"); + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","1"); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(8,15,1,1); + common_scripts\utility::flag_wait("player_finished_desk_anim"); + level.player disablephysicaldepthoffieldscripting(); + setsaveddvar("r_mbEnable","0"); + common_scripts\utility::flag_wait("firelight_off") maps\_lighting::stop_flickerlight("fire_motion_medium","fireplace_01",0); +} + +//Function Number: 25 +irons_estate_intel_debug_checkpoint() +{ + common_scripts\utility::flag_wait("intel_debug_lighting"); + maps\_lighting::play_flickerlight_motion_preset("fire_motion_medium","fireplace_01"); + level.player lightsetforplayer("irons_estate_penthouse"); + maps\_utility::vision_set_fog_changes("irons_estate_penthouse",1); + level.player setclutforplayer("clut_base_default",1); + setsunflareposition((-44.0771,52.229,0)); + common_scripts\utility::flag_wait("player_used_intel_trigger"); + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","1"); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(22,49,1,1); + common_scripts\utility::flag_wait("player_finished_desk_anim"); + level.player disablephysicaldepthoffieldscripting(); + setsaveddvar("r_mbEnable","0"); + common_scripts\utility::flag_wait("firelight_off") maps\_lighting::stop_flickerlight("fire_motion_medium","fireplace_01",0); +} + +//Function Number: 26 +irons_estate_elevator_dof() +{ + common_scripts\utility::flag_wait("elevator_rappel_start"); + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","1"); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(18,0,1,1); + wait(2); + level.player setphysicaldepthoffield(5,0,1,1); + wait(2); + level.player disablephysicaldepthoffieldscripting(); + setsaveddvar("r_mbEnable","0"); + if(level.currentgen) + { + var_00 = getent("guard_house_exit_light","targetname"); + var_00 setlightintensity(15000); + } +} + +//Function Number: 27 +irons_estate_car_setup() +{ + common_scripts\utility::flag_wait("player_under_car"); + wait(2); + level.player lightsetforplayer("irons_estate_car"); + maps\_utility::vision_set_fog_changes("irons_estate_car",2); + level.player setclutforplayer("clut_base_default",2); + wait(16); + maps\_utility::vision_set_fog_changes("irons_estate_hanger",2); + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + setsaveddvar("r_mbVelocityScalar","1"); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(3,22,1,1); + common_scripts\utility::flag_wait("track_irons_start"); + level.player disablephysicaldepthoffieldscripting(); + setsaveddvar("r_mbEnable","0"); + setsunflareposition((-44.0771,52.229,0)); +} + +//Function Number: 28 +irons_estate_hanger_setup() +{ + common_scripts\utility::flag_wait("irons_estate_hanger_dof"); + maps\_lighting::lerp_spot_intensity("spacey_bounce",0,0); + level.player lightsetforplayer("irons_estate_hanger"); + maps\_utility::vision_set_fog_changes("irons_estate_hanger",2); + level.player setclutforplayer("clut_base_default",0); + setsunflareposition((-44.0771,52.229,0)); + common_scripts\utility::flag_wait("at_listening_position"); + maps\_lighting::lerp_spot_intensity("spacey_bounce",0,2000); + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","1"); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(10,500,1,1); + wait(7); + level.player setphysicaldepthoffield(35,500,1,1); + wait(6); + level.player setphysicaldepthoffield(30,540,1,1); + common_scripts\utility::flag_wait("track_irons_end"); + level.player disablephysicaldepthoffieldscripting(); + maps\_lighting::lerp_spot_intensity("spacey_bounce",1,0); + setsaveddvar("r_mbEnable","0"); +} + +//Function Number: 29 +force_bounce_on() +{ + common_scripts\utility::flag_wait("bounce_force_on"); + var_00 = getent("spacey_bounce_force_on","targetname"); + var_00 setlightshadowstate("force_on"); + common_scripts\utility::flag_wait("bounce_force_off"); + var_00 setlightshadowstate("force_off"); +} + +//Function Number: 30 +plant_tracker_debug_checkpoint() +{ + common_scripts\utility::flag_wait("irons_estate_plant_tracker_debug"); + level.player lightsetforplayer("irons_estate_hanger"); + maps\_utility::vision_set_fog_changes("irons_estate_hanger",0); + level.player setclutforplayer("clut_base_default",0); +} + +//Function Number: 31 +irons_estate_exfil_setup() +{ + common_scripts\utility::flag_wait("irons_estate_exfil"); + level.player lightsetforplayer("irons_estate_exfil"); + maps\_utility::vision_set_fog_changes("irons_estate_exfil",2); + level.player setclutforplayer("clut_base_default",2); + setsunflareposition((-44.0771,52.229,0)); + playfxontag(level._effect["ie_light_red_cormack_plane"],level.vtol,"TAG_LT_WING_CORMACK_LIGHT"); + playfxontag(level._effect["ie_light_red_cormack_plane"],level.vtol,"TAG_RT_WING_CORMACK_LIGHT"); +} + +//Function Number: 32 +plant_tracker_light_model_swap() +{ + var_00 = getent("plant_tracker_blue_light_off","targetname"); + var_01 = getent("plant_tracker_blue_light_on","targetname"); + var_00 show(); + var_01 hide(); + common_scripts\utility::flag_wait("model_swap_light"); + var_01 show(); + var_00 hide(); +} + +//Function Number: 33 +irons_estate_plane_setup() +{ + common_scripts\utility::flag_wait("player_grappled_to_vtol"); + level.player lightsetforplayer("irons_estate_plane"); + maps\_utility::vision_set_fog_changes("irons_estate_plane",2); + level.player setclutforplayer("clut_base_default",2); + setsunflareposition((-44.0771,52.229,0)); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","1"); + } + + if(level.nextgen) + { + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(5,29,1,1); + wait(2); + level.player setphysicaldepthoffield(9,0,1,1); + wait(2); + level.player setphysicaldepthoffield(5,29,1,1); + wait(4); + level.player setphysicaldepthoffield(6,30,1,1); + wait(2); + } + else + { + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(0.6816,47.298,1,1); + wait(1.5); + level.player setphysicaldepthoffield(5.84,0,1,1); + wait(2); + level.player setphysicaldepthoffield(2.66,30,1,1); + wait(4); + level.player setphysicaldepthoffield(1.6,100,1,1); + wait(2); + } + + maps\_utility::vision_set_fog_changes("irons_estate_plane_drop",2); +} + +//Function Number: 34 +irons_estate_underwater_setup() +{ + common_scripts\utility::flag_wait("irons_estate_underwater_dof"); + level.player.underwater = 1; + level.player thread maps\_water::underwaterbubbles(); + level.player thread maps\_water::underwatercloudy(); + level.player lightsetforplayer("irons_estate_underwater_waterfall"); + maps\_utility::vision_set_fog_changes("irons_estate_underwater_waterfall",0); + level.player setclutforplayer("clut_base_default",0); + level.player setwatersheeting(1,2); + level.player playlocalsound("underwater_enter"); + setsunflareposition((-44.0771,52.229,0)); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","1"); + } + + if(level.nextgen) + { + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(9.8,24,1,1); + return; + } + + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(1.65,110,1,1); +} + +//Function Number: 35 +pre_hack_security_check() +{ + if(level.start_point == "hack_security") + { + return 0; + } + + return 1; +} + +//Function Number: 36 +set_security_lights() +{ + self endon("death"); + var_00 = getentarray("set_security_lights","script_noteworthy"); + if(pre_hack_security_check()) + { + foreach(var_02 in var_00) + { + var_02 setlightintensity(0); + } + + common_scripts\utility::flag_wait("security_center_wake_up"); + var_04 = 6; + var_05 = 1; + var_06 = randomfloatrange(0.05,0.1); + while(var_05 < var_04) + { + foreach(var_02 in var_00) + { + var_02 setlightintensity(200); + } + + wait(var_06); + foreach(var_02 in var_00) + { + var_02 setlightintensity(0); + } + + var_05++; + wait(var_06); + } + } + + foreach(var_02 in var_00) + { + var_02 setlightintensity(6000); + } +} + +//Function Number: 37 +set_security_center_tv() +{ + self endon("death"); + var_00 = getentarray("set_security_center_tv","script_noteworthy"); + if(pre_hack_security_check()) + { + foreach(var_02 in var_00) + { + var_02 setlightintensity(0); + } + + common_scripts\utility::flag_wait("security_center_wake_up"); + var_04 = 6; + var_05 = 0; + var_06 = randomfloatrange(0.05,0.1); + while(var_05 < var_04) + { + foreach(var_02 in var_00) + { + if(level.nextgen) + { + var_02 setlightintensity(800); + continue; + } + + var_02 setlightintensity(1000); + } + + wait(var_06); + foreach(var_02 in var_00) + { + var_02 setlightintensity(0); + } + + var_05++; + wait(var_06); + } + } + + foreach(var_02 in var_00) + { + if(level.nextgen) + { + var_02 setlightintensity(800); + continue; + } + + var_02 setlightintensity(1000); + } + + thread maps\irons_estate_code::security_center_bink(); + thread maps\irons_estate_code::security_center_main_screen_bink(undefined,1); + var_0D = getent("security_center_desk_screen","targetname"); + var_0D show(); +} + +//Function Number: 38 +tennis_court_lights_intial() +{ + var_00 = getentarray("tennis_court_net_light","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 setlightintensity(800); + } + + var_04 = getentarray("tennis_court_light","script_noteworthy"); + foreach(var_02 in var_04) + { + var_02 setlightintensity(100); + } +} + +//Function Number: 39 +tennis_court_lights_dimmed() +{ + var_00 = getentarray("tennis_court_net_light","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 setlightintensity(400); + } + + var_04 = getentarray("tennis_court_light","script_noteworthy"); + foreach(var_02 in var_04) + { + var_02 setlightintensity(50); + } +} + +//Function Number: 40 +tennis_court_lights_on() +{ + var_00 = getentarray("tennis_court_net_light","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 setlightintensity(800); + } + + var_04 = getentarray("tennis_court_light","script_noteworthy"); + foreach(var_02 in var_04) + { + var_02 setlightintensity(100); + } +} \ No newline at end of file diff --git a/AW/PC/maps/irons_estate_meet_cormack_pt2.gsc b/AW/PC/maps/irons_estate_meet_cormack_pt2.gsc new file mode 100644 index 0000000..65f1ecd --- /dev/null +++ b/AW/PC/maps/irons_estate_meet_cormack_pt2.gsc @@ -0,0 +1,1018 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: irons_estate_meet_cormack_pt2.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 51 + * Decompile Time: 761 ms + * Timestamp: 4/22/2024 2:32:03 AM +*******************************************************************/ + +//Function Number: 1 +meet_cormack_pt2_start() +{ + level.start_point_scripted = "infil_hangar"; + maps\irons_estate::irons_estate_objectives(); + maps\irons_estate_code::spawn_player_checkpoint(); + maps\irons_estate_code::spawn_allies(); + soundscripts\_snd::snd_message("start_meet_cormack_pt2"); + if(!isdefined(level.meet_cormack_kill_org)) + { + level.meet_cormack_kill_org = common_scripts\utility::getstruct("meet_cormack_kill_org","targetname"); + } + + thread elevator_top_enemies_setup(); + level.player takeallweapons(); + level.player giveweapon("iw5_pbwsingleshot_sp_silencerpistol"); + level.player giveweapon("iw5_kf5fullauto_sp_opticsreddot_silencer01"); + level.player switchtoweapon("iw5_kf5fullauto_sp_opticsreddot_silencer01"); +} + +//Function Number: 2 +meet_cormack_pt2_main() +{ + level.start_point_scripted = "infil_hangar"; + thread meet_cormack_pt2_begin(); + common_scripts\utility::flag_wait("meet_cormack_pt2_end"); + level.stealth_fail_fast = undefined; + thread maps\_utility::autosave_by_name(); +} + +//Function Number: 3 +meet_cormack_pt2_begin() +{ + common_scripts\utility::flag_set("meet_cormack_pt2_start"); + level.player.grapple["dist_max"] = 800; + level.player maps\_utility::set_player_attacker_accuracy(0.5); + if(!isdefined(level.allies[0])) + { + level.allies[0] = maps\irons_estate_code::spawn_ally("cormack"); + level.allies[0].animname = "cormack"; + level.allies[0] thread maps\irons_estate_code::set_helmet_open(); + } + + if(!isdefined(level.meet_cormack_kill_org)) + { + level.meet_cormack_kill_org = common_scripts\utility::getstruct("meet_cormack_kill_org","targetname"); + } + + maps\_stealth_utility::disable_stealth_system(); + thread player_rappel(); + thread cormack_rappel(); + thread setup_meet_cormack_pt2_objective(); + thread setup_car_ride_moment(); + thread guard_house_light_exit_light(); + thread meet_cormack_pt2_enemies(); + thread hangar_drones(); + thread convoy_barrier_setup(); +} + +//Function Number: 4 +hangar_drones() +{ + common_scripts\utility::flag_wait_any("start_car_ride_moment","gaz_intro_finished"); + var_00 = vehicle_scripts\_pdrone_security::drone_spawn_and_drive("hangar_drones"); + common_scripts\utility::flag_wait("meet_cormack_pt2_end"); + foreach(var_02 in var_00) + { + if(isdefined(var_02)) + { + var_02 delete(); + } + } +} + +//Function Number: 5 +guardhouse_grapple_timer() +{ + level endon("start_convoy"); + wait(10); + level.allies[0] maps\_utility::smart_dialogue("ie_nox_almosthere"); + wait(10); + level.allies[0] maps\_utility::smart_dialogue("ie_crmk_runningout1"); + wait(10); + maps\_player_death::set_deadquote(&"IRONS_ESTATE_FAILED_TO_REACH_CONVOY"); + thread maps\_utility::missionfailedwrapper(); +} + +//Function Number: 6 +setup_meet_cormack_pt2_objective() +{ + common_scripts\utility::flag_wait("meet_cormack_pt2_end"); + maps\_utility::objective_complete(maps\_utility::obj("infiltrate_hangar")); +} + +//Function Number: 7 +meet_cormack_pt2_enemies() +{ + common_scripts\utility::flag_wait_any("start_car_ride_moment","gaz_intro_finished"); + var_00 = maps\_utility::array_spawn_targetname("ie_east_spawners_02",1); + common_scripts\utility::flag_wait("player_under_car"); + foreach(var_02 in var_00) + { + if(isdefined(var_02) && isalive(var_02)) + { + var_02.ignoreall = 1; + } + } + + common_scripts\utility::flag_wait("meet_cormack_pt2_end"); + var_00 = maps\_utility::remove_dead_from_array(var_00); + foreach(var_02 in var_00) + { + if(isdefined(var_02)) + { + var_02 delete(); + } + } +} + +//Function Number: 8 +meet_cormack_pt2_vo() +{ + level endon("start_convoy"); + level.allies[0] maps\_utility::smart_dialogue("ie_crmk_tickettohangar8"); + guardhouse_grapple_timer(); +} + +//Function Number: 9 +cormack_rappel() +{ + level endon("start_convoy"); + level.allies[0] maps\_stealth_utility::disable_stealth_for_ai(); + level.allies[0].dontevershoot = undefined; + level.allies[0].baseaccuracy = 0.7; + level.allies[0].ignoreall = 0; + level.allies[0].ignoreme = 0; + level.allies[0].ignoresuppression = 1; + level.allies[0].disablebulletwhizbyreaction = 1; + level.allies[0] maps\_utility::disable_pain(); + var_00 = maps\_utility::spawn_anim_model("generic_prop_raven"); + level.meet_cormack_kill_org maps\_anim::anim_first_frame_solo(var_00,"pent_escape"); + var_01 = getent("upper_elevator_door_left","targetname"); + var_01 linkto(var_00,"j_prop_1",(0,0,0),(0,0,0)); + var_02 = getent("upper_elevator_door_left_clip","targetname"); + var_02 linkto(var_01); + var_03 = getent("upper_elevator_door_right","targetname"); + var_03 linkto(var_00,"j_prop_2",(0,0,0),(0,0,0)); + var_04 = getent("upper_elevator_door_right_clip","targetname"); + var_04 linkto(var_03); + objective_add(maps\_utility::obj("infiltrate_hangar"),"current",&"IRONS_ESTATE_OBJ_INFILTRATE_HANGAR"); + objective_onentity(maps\_utility::obj("infiltrate_hangar"),level.allies[0]); + level.allies[0] maps\_utility::unset_forcegoal(); + level.allies[0] maps\_utility::set_fixednode_false(); + level.allies[0] maps\_utility::set_goalradius(16); + var_05 = getnode("cormack_pent_escape_node","targetname"); + level.allies[0] setgoalnode(var_05); + common_scripts\utility::flag_wait("penthouse_reinforcements_01_dead"); + level.allies[0] maps\_utility::disable_cqbwalk(); + thread meet_cormack_pt2_vo(); + level.meet_cormack_kill_org maps\_anim::anim_reach_solo(level.allies[0],"pent_escape"); + level.meet_cormack_kill_org thread maps\_anim::anim_single([level.allies[0],var_00],"pent_escape"); + thread elevator_bottom_enemies_setup(); + wait(1.2); + soundscripts\_snd_playsound::snd_play_at("irons_cormack_elev_door",(1245,-3955,1113)); + wait(2.1); + soundscripts\_snd_playsound::snd_play_at("irons_cormack_elev_slide",(1245,-3955,1113)); + wait(0.7); + var_06 = common_scripts\utility::getstruct("elevator_rappel_org","targetname"); + objective_position(maps\_utility::obj("infiltrate_hangar"),var_06.origin); + common_scripts\utility::flag_set("elevator_rappel_start_ready"); + var_07 = getent("upper_elevator_door_player_clip","targetname"); + var_07 delete(); + level.allies[0] waittillmatch("end","single anim"); + level.allies[0] unlink(); + var_08 = getnode("cormack_post_rappel_cover_spot","targetname"); + level.allies[0] maps\_utility::set_goal_radius(16); + level.allies[0] setgoalnode(var_08); +} + +//Function Number: 10 +player_rappel() +{ + level.elevator_rappel_rig = maps\_utility::spawn_anim_model("player_rig"); + level.elevator_rappel_rig hide(); + level.meet_cormack_kill_org maps\_anim::anim_first_frame_solo(level.elevator_rappel_rig,"pent_escape"); + common_scripts\utility::flag_wait("elevator_rappel_start"); + thread player_rappel_rumbles(); + soundscripts\_snd_playsound::snd_play_2d("irons_player_elev_slide"); + common_scripts\utility::flag_set("post_penthouse_trees"); + level.player freezecontrols(1); + level.player allowpowerslide(0); + level.player allowdodge(0); + level.player setstance("stand"); + if(level.player ispowersliding() || level.player isdodging()) + { + while(level.player ispowersliding() || level.player isdodging()) + { + wait(0.05); + } + } + + level.player maps\_shg_utility::setup_player_for_scene(); + setsaveddvar("objectiveHide",1); + level.player thread maps\_shg_utility::disable_features_entering_cinema(1); + level.player thread maps\_tagging::tagging_set_binocs_enabled(0); + level.player maps\_tagging::tagging_set_enabled(0); + level.player thread maps\irons_estate_stealth::irons_estate_whistle(0); + level.player disableweapons(); + level.player disableweaponswitch(); + level.player disableoffhandweapons(); + level.player disableoffhandsecondaryweapons(); + level.player playerlinktoblend(level.elevator_rappel_rig,"tag_player",0.5); + level.player allowprone(0); + level.player allowcrouch(0); + level.player setstance("stand"); + level.meet_cormack_kill_org thread maps\_anim::anim_single_solo(level.elevator_rappel_rig,"pent_escape"); + wait(0.5); + level.elevator_rappel_rig show(); + level.elevator_rappel_rig waittillmatch("end","single anim"); + setsaveddvar("objectiveHide",0); + objective_onentity(maps\_utility::obj("infiltrate_hangar"),level.allies[0]); + level.player unlink(); + level.elevator_rappel_rig delete(); + level.player freezecontrols(0); + level.player thread maps\_shg_utility::enable_features_exiting_cinema(1); + level.player thread maps\_tagging::tagging_set_binocs_enabled(1); + level.player maps\_tagging::tagging_set_enabled(1); + level.player thread maps\irons_estate_stealth::irons_estate_whistle(1); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.player enableweapons(); + level.player enableweaponswitch(); + level.player enableoffhandweapons(); + level.player enableoffhandsecondaryweapons(); + level.player allowprone(1); + level.player allowcrouch(1); + level.player allowpowerslide(1); + level.player allowdodge(1); + thread maps\irons_estate_code::irons_estate_stealth_enable(); +} + +//Function Number: 11 +player_rappel_rumbles() +{ + level.elevator_rappel_rig waittillmatch("cable_slide_start","single anim"); + var_00 = level.player maps\_utility::get_rumble_ent("ie_vtol_ride_rumble_low"); + var_00 thread maps\_utility::rumble_ramp_to(0.5,2); + level.elevator_rappel_rig waittillmatch("cable_slide_end","single anim"); + var_00 thread maps\_utility::rumble_ramp_to(1,0.05); + wait(0.25); + var_00 delete(); +} + +//Function Number: 12 +elevator_top_enemies_setup() +{ + var_00 = getent("penthouse_reinforcement_door_left","targetname"); + var_01 = getent("penthouse_reinforcement_door_right","targetname"); + var_02 = maps\_utility::spawn_anim_model("generic_prop_raven_x3"); + level.meet_cormack_kill_org maps\_anim::anim_first_frame_solo(var_02,"elevator_top_enemies"); + wait(0.05); + var_00 linkto(var_02,"j_prop_1",(0,0,0),(0,0,0)); + var_01 linkto(var_02,"j_prop_2",(0,0,0),(0,0,0)); + common_scripts\utility::flag_wait("spawn_penthouse_reinforcements_01"); + soundscripts\_snd::snd_message("aud_reinforcements_door1"); + var_03 = maps\_utility::array_spawn_targetname("penthouse_reinforcements_01",1); + var_03[0].animname = "elevator_top_enemy_1"; + var_03[0].baseaccuracy = 0.5; + var_03[0] maps\_utility::disable_long_death(); + var_03[1].animname = "elevator_top_enemy_2"; + var_03[1].baseaccuracy = 0.5; + var_03[1] maps\_utility::disable_long_death(); + level.meet_cormack_kill_org thread maps\_anim::anim_single([var_02,var_03[0],var_03[1]],"elevator_top_enemies"); + var_03[0] thread elevator_top_enemies_waits(0.5); + var_03[1] thread elevator_top_enemies_waits(1.25); + var_03[0] thread penthouse_reinforcements_01_guy_01_vo(); + var_03[1] thread penthouse_reinforcements_01_guy_02_vo(); +} + +//Function Number: 13 +elevator_top_enemies_waits(param_00) +{ + self endon("death"); + if(isdefined(param_00)) + { + wait(param_00); + } + + maps\_utility::set_allowdeath(1); + self waittillmatch("end","single anim"); +} + +//Function Number: 14 +elevator_bottom_enemies_setup() +{ + var_00 = getent("penthouse_reinforcement_door_left_lower","targetname"); + var_01 = getent("penthouse_reinforcement_door_right_lower","targetname"); + var_02 = maps\_utility::spawn_anim_model("generic_prop_raven_x3"); + level.meet_cormack_kill_org maps\_anim::anim_first_frame_solo(var_02,"elevator_bottom_enemies"); + wait(0.05); + var_00 linkto(var_02,"j_prop_1",(0,0,0),(0,0,0)); + var_01 linkto(var_02,"j_prop_2",(0,0,0),(0,0,0)); + level.elevator_rappel_rig waittillmatch("start_enemy_anim","single anim"); + var_03 = maps\_utility::array_spawn_targetname("penthouse_reinforcements_02",1); + var_03[0].animname = "elevator_bottom_enemy_1"; + var_03[0].baseaccuracy = 0.5; + var_03[0] maps\_utility::disable_long_death(); + var_03[1].animname = "elevator_bottom_enemy_2"; + var_03[1].baseaccuracy = 0.5; + var_03[1] maps\_utility::disable_long_death(); + level.meet_cormack_kill_org thread maps\_anim::anim_single([var_02,var_03[0],var_03[1]],"elevator_bottom_enemies"); + soundscripts\_snd::snd_message("aud_reinforcements_door2"); + var_03[0] thread elevator_bottom_enemies_waits(1); + var_03[1] thread elevator_bottom_enemies_waits(1.25); + var_03[0] thread penthouse_reinforcements_02_guy_01_vo(); + var_03[1] thread penthouse_reinforcements_02_guy_02_vo(); +} + +//Function Number: 15 +elevator_bottom_enemies_waits(param_00) +{ + self endon("death"); + if(isdefined(param_00)) + { + wait(param_00); + } + + maps\_utility::set_allowdeath(1); + self waittillmatch("end","single anim"); +} + +//Function Number: 16 +penthouse_reinforcements_01_guy_01_vo() +{ + self endon("death"); + wait(randomfloatrange(0.5,1.5)); + maps\_utility::smart_dialogue_generic("ie_as2_requestbackup1"); + wait(randomfloatrange(0.25,1)); + maps\_utility::smart_dialogue_generic("ie_as2_sendreinforce"); + wait(randomfloatrange(0.25,1)); + maps\_utility::smart_dialogue_generic("ie_as2_enemyinsight1"); + wait(randomfloatrange(0.25,1)); + maps\_utility::smart_dialogue_generic("ie_as2_dropweapon1"); +} + +//Function Number: 17 +penthouse_reinforcements_01_guy_02_vo() +{ + self endon("death"); + wait(randomfloatrange(0.5,1.5)); + maps\_utility::smart_dialogue_generic("ie_as2_soundalarm1"); + wait(randomfloatrange(0.25,1)); + maps\_utility::smart_dialogue_generic("ie_as2_needbackup1"); + wait(randomfloatrange(0.25,1)); + maps\_utility::smart_dialogue_generic("ie_as2_hesarmed"); +} + +//Function Number: 18 +penthouse_reinforcements_02_guy_01_vo() +{ + self endon("death"); + common_scripts\utility::waittill_either("reached_path_end","damage"); + wait(randomfloatrange(0.5,1.5)); + maps\_utility::smart_dialogue_generic("ie_as2_requestbackup1"); + wait(randomfloatrange(0.25,1)); + maps\_utility::smart_dialogue_generic("ie_as2_sendreinforce"); + wait(randomfloatrange(0.25,1)); + maps\_utility::smart_dialogue_generic("ie_as2_enemyinsight1"); + wait(randomfloatrange(0.25,1)); + maps\_utility::smart_dialogue_generic("ie_as2_dropweapon1"); +} + +//Function Number: 19 +penthouse_reinforcements_02_guy_02_vo() +{ + self endon("death"); + common_scripts\utility::waittill_either("reached_path_end","damage"); + wait(randomfloatrange(0.5,1.5)); + maps\_utility::smart_dialogue_generic("ie_as2_soundalarm1"); + wait(randomfloatrange(0.25,1)); + maps\_utility::smart_dialogue_generic("ie_as2_needbackup1"); + wait(randomfloatrange(0.25,1)); + maps\_utility::smart_dialogue_generic("ie_as2_hesarmed"); +} + +//Function Number: 20 +lower_elevator_door() +{ + var_00 = getent("lower_elevator_door_left","targetname"); + var_01 = getent("lower_elevator_door_right","targetname"); + var_00 moveto(var_00.origin + (44,0,0),1); + var_01 moveto(var_01.origin - (44,0,0),1); + wait(1.05); + wait(0.05); +} + +//Function Number: 21 +setup_car_ride_moment() +{ + if(level.currentgen && !istransientloaded("irons_estate_upper_tr")) + { + level waittill("tff_post_lower_to_upper"); + } + + level.car_ride_org = common_scripts\utility::getstruct("car_ride","targetname"); + level.car_ride_player_rig = maps\_utility::spawn_anim_model("player_rig"); + level.car_ride_player_rig hide(); + level.car_ride_org maps\_anim::anim_first_frame_solo(level.car_ride_player_rig,"car_ride_enter"); + level.guardhouse_door = maps\_utility::spawn_anim_model("ie_door"); + level.car_ride_org maps\_anim::anim_first_frame_solo(level.guardhouse_door,"car_ride_enter"); + level.guard_house_exit_door_clip = getent("guard_house_exit_door_clip","targetname"); + level.guard_house_exit_door_clip linkto(level.guardhouse_door,"tag_origin",(0,0,0),(0,-90,0)); + var_00 = []; + level.gaz = maps\_utility::spawn_anim_model("gaz"); + level.gaz.player_clip = getent("gaz_clip","targetname"); + level.gaz.player_clip linkto(level.gaz,"tag_body",(0,0,-24),(0,0,0)); + var_00[var_00.size] = level.gaz; + level.gaz hide(); + level.gaz thread gaz_damage_watcher(); + if(level.nextgen) + { + thread hangar_car_door_light(); + } + else if(level.currentgen) + { + thread hangar_car_door_light_audio(); + } + + thread gaz_splash_waits(); + thread car_ride_driving_workers_wait(); + level.gaz thread gaz_brake_lights_detail(); + level.gaz2 = maps\_utility::spawn_anim_model("gaz2"); + level.gaz2.player_clip = getent("gaz2_clip","targetname"); + level.gaz2.player_clip linkto(level.gaz2,"tag_body",(0,0,-24),(0,0,0)); + var_00[var_00.size] = level.gaz2; + level.gaz2 hide(); + level.gaz2 thread gaz_damage_watcher(); + level.gaz2 thread gaz_brake_lights(); + level.car_ride_org maps\_anim::anim_first_frame(var_00,"car_ride_intro"); + common_scripts\utility::flag_wait("start_convoy"); + thread theres_the_convoy_vo(); + thread maps\_utility::autosave_by_name(); + level.gaz show(); + level.gaz2 show(); + playfxontag(level._effect["headlight_civhumvee_bright"],level.gaz2,"tag_headlight_left"); + playfxontag(level._effect["headlight_civhumvee_bright"],level.gaz2,"tag_headlight_right"); + level.gaz2.spotlight_tag = level.gaz2 common_scripts\utility::spawn_tag_origin(); + level.gaz2.spotlight_tag linkto(level.gaz2,"tag_origin",(104,0,44),(0,0,0)); + playfxontag(level._effect["headlight_gaz_spotlight"],level.gaz2.spotlight_tag,"tag_origin"); + playfxontag(level._effect["headlight_civhumvee_bright"],level.gaz,"tag_headlight_left"); + playfxontag(level._effect["headlight_civhumvee_bright"],level.gaz,"tag_headlight_right"); + level.gaz.spotlight_tag = level.gaz common_scripts\utility::spawn_tag_origin(); + level.gaz.spotlight_tag linkto(level.gaz,"tag_origin",(104,0,44),(0,0,0)); + playfxontag(level._effect["headlight_gaz_spotlight"],level.gaz.spotlight_tag,"tag_origin"); + level.car_ride_org thread maps\_anim::anim_single(var_00,"car_ride_intro"); + level.gaz thread gaz_intro_waits(); + level.gaz2 thread gaz_intro_waits(); + common_scripts\utility::flag_wait("penthouse_reinforcements_02_dead"); + thread maps\_stealth_utility::enable_stealth_system(); + level.allies[0] thread maps\_stealth_utility::enable_stealth_for_ai(); + level.car_ride_org maps\_anim::anim_reach_solo(level.allies[0],"guardhouse_exit_enter"); + level.car_ride_org maps\_anim::anim_single_solo(level.allies[0],"guardhouse_exit_enter"); + common_scripts\utility::flag_set("enable_start_car_ride_moment"); + thread maps\_utility::autosave_by_name(); + if(common_scripts\utility::flag("start_car_ride_moment")) + { + level.gaz maps\_utility::anim_stopanimscripted(); + level.gaz2 maps\_utility::anim_stopanimscripted(); + } + else + { + level.car_ride_org thread maps\_anim::anim_loop_solo(level.allies[0],"guardhouse_exit_idle","stop_guardhouse_exit_idle"); + wait(0.05); + var_01 = common_scripts\utility::flag_wait_any_return("start_car_ride_moment","gaz_intro_finished"); + if(var_01 == "start_car_ride_moment") + { + level.gaz maps\_utility::anim_stopanimscripted(); + level.gaz2 maps\_utility::anim_stopanimscripted(); + } + } + + thread car_ride_intro_fail(); + thread car_ride_boundary_fail(); + level.stealth_fail_fast = 1; + level endon("_stealth_spotted"); + var_02 = []; + var_02[var_02.size] = level.allies[0]; + level.doctor = maps\_utility::spawn_targetname("car_ride_kva_doctor",1); + level.doctor maps\_utility::set_ignoresonicaoe(1); + level.doctor.tagged[0] = 1; + level.doctor.animname = "doctor"; + if(!isdefined(level.doctor.magic_bullet_shield)) + { + level.doctor maps\_utility::magic_bullet_shield(1); + } + + level.doctor maps\_utility::set_generic_run_anim("casual_walk"); + level.doctor maps\_utility::gun_remove(); + level.doctor.grapple_magnets = []; + var_02[var_02.size] = level.doctor; + var_02[var_02.size] = level.gaz; + var_02[var_02.size] = level.gaz2; + soundscripts\_snd::snd_message("aud_trucks_arrive"); + level.car_ride_org notify("stop_guardhouse_exit_idle"); + objective_setpointertextoverride(maps\_utility::obj("infiltrate_hangar"),""); + objective_onentity(maps\_utility::obj("infiltrate_hangar"),level.allies[0]); + wait(0.05); + level notify("start_car_ride_moment_anims"); + var_02[var_02.size] = level.guardhouse_door; + level.car_ride_org thread maps\_anim::anim_single(var_02,"car_ride_enter"); + level.guardhouse_door thread guardhouse_door_waits(); + wait(0.05); + level.allies[0] thread car_ride_enter_cormack_waits(); + level.doctor thread car_ride_enter_doctor_waits(); + level.gaz thread car_ride_gaz_waits(); + level.allies[0] waittillmatch("sd_ie_crmk_now1","single anim"); + level.gaz.player_clip delete(); + thread prone_hint_trigger(); + level notify("stop_car_ride_intro_fail"); + var_03 = getent("car_ride_trigger","targetname"); + var_03 enablelinkto(); + var_03 linkto(level.car_ride_player_rig,"tag_player",(0,0,-16),(0,0,0)); + wait(0.05); + objective_position(maps\_utility::obj("infiltrate_hangar"),level.car_ride_player_rig gettagorigin("tag_player")); + var_03 waittill("trigger"); + thread in_position_vo(); + level.allies[0] thread maps\irons_estate_code::hide_friendname_until_flag_or_notify("meet_cormack_pt2_end"); + common_scripts\utility::flag_set("player_under_car"); + objective_position(maps\_utility::obj("infiltrate_hangar"),(0,0,0)); + level.player maps\_utility::set_ignoreme(1); + level.allies[0] maps\_utility::set_ignoreme(1); + var_03 delete(); + level.player freezecontrols(1); + level.player thread maps\_shg_utility::disable_features_entering_cinema(1); + level.player allowsprint(0); + thread maps\_stealth_display::stealth_display_off(); + level.player thread maps\_tagging::tagging_set_binocs_enabled(0); + level.player maps\_tagging::tagging_set_enabled(0); + level.player thread maps\irons_estate_stealth::irons_estate_whistle(0); + level.player allowprone(1); + level.player allowcrouch(0); + level.player allowstand(0); + level.player maps\_grapple::grapple_take(); + if(level.player getstance() != "prone") + { + level.player setstance("prone"); + } + + level.player disableweapons(); + level.player disableoffhandweapons(); + level.player playerlinktoblend(level.car_ride_player_rig,"tag_player",0.6); + level.car_ride_org thread maps\_anim::anim_single_solo(level.car_ride_player_rig,"car_ride_enter"); + wait(0.6); + level.player playerlinktodelta(level.car_ride_player_rig,"tag_player",1,0,0,0,0,1); + level.car_ride_player_rig show(); + level.car_ride_player_rig waittillmatch("end","single anim"); + if(!common_scripts\utility::flag("cormack_under_car")) + { + level.car_ride_org thread maps\_anim::anim_loop_solo(level.car_ride_player_rig,"car_ride_idle","stop_car_ride_idle"); + wait(0.05); + level.player lerpviewangleclamp(0.5,0.5,0.25,70,30,25,5); + common_scripts\utility::flag_wait("cormack_under_car"); + } + + common_scripts\utility::flag_wait("in_position_vo_done"); + var_02 = common_scripts\utility::array_remove(var_02,level.guardhouse_door); + var_02[var_02.size] = level.car_ride_player_rig; + level.car_ride_org notify("stop_car_ride_enter_idle_cormack"); + level.car_ride_org notify("stop_car_ride_enter_idle_doctor"); + level.car_ride_org notify("stop_car_ride_idle"); + wait(0.05); + thread hangar_door(); + thread maps\irons_estate_fx::hangar_fx(); + level.car_ride_org thread maps\_anim::anim_single(var_02,"car_ride_driving"); + thread car_ride_bink(); + thread car_ride_rumble(); + level notify("stop_gaz_under_heat"); + level.doctor thread car_ride_doctor_waits(); + thread post_car_ride_player(); + thread car_ride_view_clamps(); + level.allies[0] thread post_car_ride_cormack(); +} + +//Function Number: 22 +theres_the_convoy_vo() +{ + wait(1); + level.allies[0] maps\_utility::smart_dialogue("ie_crmk_theresconvoy1"); + level.allies[0] maps\_utility::smart_dialogue("ie_crmk_hijackintercom"); + maps\_utility::smart_radio_dialogue("ie_nox_roger2"); + level.allies[0] maps\_utility::smart_dialogue("ie_crmk_followme4"); +} + +//Function Number: 23 +in_position_vo() +{ + common_scripts\utility::flag_wait("cormack_under_car"); + level.allies[0] maps\_utility::smart_dialogue("ie_crmk_inposition1"); + level.doctor maps\_utility::play_sound_on_entity("ie_nox_allclear1"); + common_scripts\utility::flag_set("in_position_vo_done"); +} + +//Function Number: 24 +guardhouse_door_waits() +{ + self waittillmatch("end","single anim"); + wait(0.05); + level.guard_house_exit_door_clip connectpaths(); +} + +//Function Number: 25 +gaz_intro_waits() +{ + level endon("start_car_ride_moment"); + self waittillmatch("end","single anim"); + common_scripts\utility::flag_set("gaz_intro_finished"); +} + +//Function Number: 26 +car_ride_enter_cormack_waits() +{ + self waittillmatch("end","single anim"); + if(common_scripts\utility::flag("_stealth_spotted")) + { + return; + } + + level.car_ride_org thread maps\_anim::anim_loop_solo(self,"car_ride_enter_idle","stop_car_ride_enter_idle_cormack"); + wait(0.05); + common_scripts\utility::flag_set("cormack_under_car"); +} + +//Function Number: 27 +car_ride_enter_doctor_waits() +{ + level.car_ride_org endon("stop_car_ride_enter_idle_doctor"); + self.old_contents = self setcontents(0); + self waittillmatch("end","single anim"); + level.car_ride_org thread maps\_anim::anim_loop_solo(self,"car_ride_enter_idle","stop_car_ride_enter_idle_doctor"); +} + +//Function Number: 28 +car_ride_gaz_waits() +{ + self waittillmatch("heat_waves","single anim"); + thread gaz_under_heat(); +} + +//Function Number: 29 +car_ride_doctor_waits() +{ + self waittillmatch("end","single anim"); + self setcontents(self.old_contents); + stopfxontag(level._effect["headlight_civhumvee_bright"],level.gaz,"tag_headlight_left"); + stopfxontag(level._effect["headlight_civhumvee_bright"],level.gaz,"tag_headlight_right"); + stopfxontag(level._effect["headlight_gaz_spotlight"],level.gaz.spotlight_tag,"tag_origin"); + wait(0.1); + stopfxontag(level._effect["headlight_civhumvee_bright"],level.gaz2,"tag_headlight_left"); + stopfxontag(level._effect["headlight_civhumvee_bright"],level.gaz2,"tag_headlight_right"); + stopfxontag(level._effect["headlight_gaz_spotlight"],level.gaz2.spotlight_tag,"tag_origin"); + thread maps\irons_estate_track_irons::handle_doctor(); +} + +//Function Number: 30 +fx_leaves() +{ + wait(2); + common_scripts\_exploder::exploder(700); + wait(2); + common_scripts\_exploder::exploder(701); +} + +//Function Number: 31 +guard_house_light_exit_light() +{ + level waittill("start_car_ride_moment_anims"); + var_00 = getent("guard_house_exit_light_model","targetname"); + var_01 = getent("guard_house_exit_light","targetname"); + if(level.nextgen) + { + level.guard_house_exit_light_02 = getent("guard_house_exit_light_02","targetname"); + } + + var_02 = getent("guard_house_exit_light_03","targetname"); + level.allies[0] waittillmatch("light_smash","single anim"); + common_scripts\_exploder::exploder(14); + soundscripts\_snd::snd_message("aud_conduit_smash"); + var_00 setmodel("bay_light_a"); + var_01 setlightintensity(0); + if(level.nextgen) + { + level.guard_house_exit_light_02 setlightintensity(0); + } + + var_02 setlightintensity(0); + thread fx_leaves(); +} + +//Function Number: 32 +post_car_ride_player() +{ + level.car_ride_player_rig waittillmatch("to_stand","single anim"); + level.player allowcrouch(1); + level.player allowstand(1); + level.player setstance("stand"); + level.car_ride_player_rig waittillmatch("end","single anim"); + level.player unlink(); + level.player allowsprint(1); + level.player freezecontrols(0); + level.player thread maps\_shg_utility::enable_features_exiting_cinema(1); + thread maps\_stealth_display::stealth_display_on(); + level.player maps\_grapple::grapple_give(); + level.player thread maps\_tagging::tagging_set_binocs_enabled(1); + level.player maps\_tagging::tagging_set_enabled(1); + level.player thread maps\irons_estate_stealth::irons_estate_whistle(1); + level.player enableweapons(); + level.player enableoffhandweapons(); + level.car_ride_player_rig delete(); + common_scripts\utility::flag_set("meet_cormack_pt2_end"); + wait(1); + level.player.ignoreme = 0; +} + +//Function Number: 33 +post_car_ride_cormack() +{ + level endon("track_irons_start"); + self waittillmatch("end","single anim"); + maps\_stealth_utility::enable_stealth_for_ai(); + self setgoalpos(self.origin); + wait(1); + var_00 = getnode("cormack_girder_node_01","targetname"); + maps\_utility::set_goalradius(16); + self setgoalnode(var_00); +} + +//Function Number: 34 +hangar_door() +{ + wait(9); + var_00 = getent("hangar_door_left","targetname"); + var_01 = getent("hangar_door_right","targetname"); + var_00 movey(96,3); + var_01 movey(-96,3); + wait(9); + var_00 movey(-96,3); + var_01 movey(96,3); +} + +//Function Number: 35 +car_ride_view_clamps() +{ + level.player lerpviewangleclamp(0.5,0.5,0.25,80,50,25,5); + level.car_ride_player_rig waittillmatch("clamp_change","single anim"); + level.player lerpviewangleclamp(0.5,0.5,0.25,80,50,25,5); + level.car_ride_player_rig waittillmatch("clamp_change","single anim"); + level.player lerpviewangleclamp(1,0.5,0.25,10,10,10,5); + level.car_ride_player_rig waittillmatch("clamp_change","single anim"); + level.player lerpviewangleclamp(1,0.5,0.25,80,80,10,5); + level.car_ride_player_rig waittillmatch("clamp_change","single anim"); + level.player lerpviewangleclamp(1,0.5,0.25,0,0,0,0); +} + +//Function Number: 36 +car_ride_intro_fail() +{ + level endon("stop_car_ride_intro_fail"); + common_scripts\utility::flag_wait("car_ride_intro_fail"); + maps\irons_estate_code::player_alerted_mission_fail_convoy(); +} + +//Function Number: 37 +car_ride_boundary_fail() +{ + level endon("player_under_car"); + common_scripts\utility::flag_wait("car_ride_boundary_fail"); + maps\irons_estate_code::player_alerted_mission_fail(); +} + +//Function Number: 38 +hangar_car_door_light() +{ + var_00 = getent("hangar_car_door_light","targetname"); + var_00 setlightintensity(0); + level.gaz waittillmatch("light_on","single anim"); + var_00 setlightintensity(25000); + soundscripts\_snd::snd_message("aud_hangar_car_door_exit"); + level.gaz waittillmatch("light_off","single anim"); + var_00 setlightintensity(0); +} + +//Function Number: 39 +hangar_car_door_light_audio() +{ + level.gaz waittillmatch("light_on","single anim"); + soundscripts\_snd::snd_message("aud_hangar_car_door_exit"); +} + +//Function Number: 40 +gaz_splash_waits() +{ + level.gaz waittillmatch("splash_sound","single anim"); + soundscripts\_snd::snd_message("aud_tire_splash"); + level.gaz waittillmatch("splash_sound","single anim"); + soundscripts\_snd::snd_message("aud_tire_splash"); + level.gaz waittillmatch("splash_sound","single anim"); + soundscripts\_snd::snd_message("aud_tire_splash"); +} + +//Function Number: 41 +car_ride_driving_workers_wait() +{ + if(!isdefined(level.car_ride_org)) + { + level.car_ride_org = common_scripts\utility::getstruct("car_ride","targetname"); + } + + var_00 = maps\_utility::array_spawn_targetname("car_ride_driving_workers",1); + var_00[0].animname = "car_ride_driving_worker_1"; + var_00[1].animname = "car_ride_driving_worker_2"; + foreach(var_02 in var_00) + { + var_02 maps\_utility::gun_remove(); + var_02.grapple_magnets = []; + var_02 maps\_utility::set_allowdeath(1); + } + + level.car_ride_org maps\_anim::anim_first_frame(var_00,"car_ride_driving_workers"); + level.gaz waittillmatch("worker_anim_start","single anim"); + level.car_ride_org thread maps\_anim::anim_single(var_00,"car_ride_driving_workers"); + var_00[0] thread car_ride_driving_workers_waits(); + var_00[1] thread car_ride_driving_workers_waits(); +} + +//Function Number: 42 +car_ride_driving_workers_waits() +{ + self endon("death"); + self waittillmatch("end","single anim"); + self delete(); +} + +//Function Number: 43 +gaz_damage_watcher() +{ + level endon("player_under_car"); + self setcandamage(1); + for(;;) + { + self waittill("damage",var_00,var_01); + if(isdefined(var_01) && var_01 == level.player) + { + maps\irons_estate_code::player_alerted_mission_fail(); + } + + wait(0.05); + } +} + +//Function Number: 44 +gaz_brake_lights_detail() +{ + playfxontag(level._effect["ie_humvee_tail_l_v2"],self,"tag_brakelight_left"); + playfxontag(level._effect["ie_humvee_tail_r_v2"],self,"tag_brakelight_right"); + self waittillmatch("brakelights_on","single anim"); + playfxontag(level._effect["ie_humvee_tail_l_v2"],self,"tag_brakelight_left"); + playfxontag(level._effect["ie_humvee_tail_l_v2"],self,"tag_brakelight_right"); + self waittillmatch("brakelights_off","single anim"); + stopfxontag(level._effect["ie_humvee_tail_l_v2"],self,"tag_brakelight_left"); + stopfxontag(level._effect["ie_humvee_tail_l_v2"],self,"tag_brakelight_right"); + self waittillmatch("brakelights_on","single anim"); + playfxontag(level._effect["ie_humvee_tail_l_v2"],self,"tag_brakelight_left"); + playfxontag(level._effect["ie_humvee_tail_l_v2"],self,"tag_brakelight_right"); + self waittillmatch("brakelights_off","single anim"); + stopfxontag(level._effect["ie_humvee_tail_l_v2"],self,"tag_brakelight_left"); + stopfxontag(level._effect["ie_humvee_tail_l_v2"],self,"tag_brakelight_right"); + self waittillmatch("end","single anim"); + stopfxontag(level._effect["ie_humvee_tail_l_v2"],self,"tag_brakelight_left"); + stopfxontag(level._effect["ie_humvee_tail_r_v2"],self,"tag_brakelight_right"); +} + +//Function Number: 45 +gaz_brake_lights() +{ + playfxontag(level._effect["ie_humvee_tail_l"],self,"tag_brakelight_left"); + playfxontag(level._effect["ie_humvee_tail_r"],self,"tag_brakelight_right"); + self waittillmatch("brakelights_on","single anim"); + playfxontag(level._effect["ie_humvee_brake_l"],self,"tag_brakelight_left"); + playfxontag(level._effect["ie_humvee_brake_r"],self,"tag_brakelight_right"); + self waittillmatch("brakelights_off","single anim"); + stopfxontag(level._effect["ie_humvee_brake_l"],self,"tag_brakelight_left"); + stopfxontag(level._effect["ie_humvee_brake_r"],self,"tag_brakelight_right"); + self waittillmatch("brakelights_on","single anim"); + playfxontag(level._effect["ie_humvee_brake_l"],self,"tag_brakelight_left"); + playfxontag(level._effect["ie_humvee_brake_r"],self,"tag_brakelight_right"); + self waittillmatch("brakelights_off","single anim"); + stopfxontag(level._effect["ie_humvee_brake_l"],self,"tag_brakelight_left"); + stopfxontag(level._effect["ie_humvee_brake_r"],self,"tag_brakelight_right"); + self waittillmatch("end","single anim"); + stopfxontag(level._effect["ie_humvee_tail_l"],self,"tag_brakelight_left"); + stopfxontag(level._effect["ie_humvee_tail_r"],self,"tag_brakelight_right"); +} + +//Function Number: 46 +gaz_under_heat() +{ + playfxontag(level._effect["civ_humvee_under_heat"],self,"tag_origin"); + level waittill("stop_gaz_under_heat"); + stopfxontag(level._effect["civ_humvee_under_heat"],self,"tag_origin"); +} + +//Function Number: 47 +car_ride_rumble() +{ + wait(1); + var_00 = level.player maps\_utility::get_rumble_ent("steady_rumble"); + var_00 maps\_utility::set_rumble_intensity(0.1); + var_00 maps\_utility::rumble_ramp_to(0.1,1); + level.gaz waittillmatch("end","single anim"); + var_00 maps\_utility::rumble_ramp_off(1); + wait(0.6); + var_00 delete(); +} + +//Function Number: 48 +car_ride_bink() +{ + setsaveddvar("cg_cinematicCanPause","1"); + setsaveddvar("cg_cinematicFullScreen","0"); + cinematicingame("base_videolog",1); + wait(8.12); + var_00 = newhudelem(); + var_00.x = 0; + var_00.y = 5; + var_00.alignx = "left"; + var_00.aligny = "top"; + var_00.horzalign = "left"; + var_00.vertalign = "top"; + var_00.sort = -1; + var_00 setshader("cinematic_add",int(340),int(231.2)); + var_00.alpha = 1; + pausecinematicingame(0); + soundscripts\_snd::snd_message("aud_vehicle_ride_data"); + while(iscinematicplaying()) + { + wait(0.05); + } + + setsaveddvar("cg_cinematicCanPause","0"); + var_00 destroy(); + setsaveddvar("cg_cinematicFullScreen","1"); +} + +//Function Number: 49 +prone_hint_trigger() +{ + var_00 = getent("prone_hint_trigger","targetname"); + var_00 waittill("trigger"); + if(level.player common_scripts\utility::is_player_gamepad_enabled()) + { + level.player thread maps\_utility::display_hint("HINT_PRONE"); + return; + } + + if(maps\_utility::is_command_bound("toggleprone")) + { + level.player thread maps\_utility::display_hint("HINT_PRONE_TOGGLE"); + return; + } + + if(maps\_utility::is_command_bound("+prone")) + { + level.player thread maps\_utility::display_hint("HINT_PRONE_HOLD"); + return; + } + + if(maps\_utility::is_command_bound("+stance")) + { + level.player thread maps\_utility::display_hint("HINT_PRONE"); + return; + } +} + +//Function Number: 50 +convoy_barrier_setup() +{ + var_00 = getentarray("convoy_barrier","targetname"); + if(isdefined(var_00) && var_00.size > 0) + { + common_scripts\utility::array_thread(var_00,::convoy_barrier); + } +} + +//Function Number: 51 +convoy_barrier() +{ + var_00 = 1.5; + var_01 = getent(self.target,"targetname"); + var_01 linkto(self); + if(level.currentgen) + { + common_scripts\utility::flag_wait("start_convoy"); + } + + level.gaz waittillmatch("barrier_down","single anim"); + self movez(-34,var_00); + level.gaz waittillmatch("barrier_up","single anim"); + self movez(34,var_00); +} \ No newline at end of file diff --git a/AW/PC/maps/irons_estate_penthouse.gsc b/AW/PC/maps/irons_estate_penthouse.gsc new file mode 100644 index 0000000..a9b92c8 --- /dev/null +++ b/AW/PC/maps/irons_estate_penthouse.gsc @@ -0,0 +1,748 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: irons_estate_penthouse.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 33 + * Decompile Time: 523 ms + * Timestamp: 4/22/2024 2:32:05 AM +*******************************************************************/ + +//Function Number: 1 +penthouse_start() +{ + level.start_point_scripted = "meet_cormack"; + maps\irons_estate::irons_estate_objectives(); + maps\irons_estate_code::spawn_player_checkpoint(); + maps\irons_estate_code::spawn_allies(); + thread maps\irons_estate_infil::poolhouse_enemies(); + thread ie_west_enemies(); + thread guesthouse_enemies(); + thread maps\irons_estate_civilians::ie_west_civilian_vignettes(); + thread maps\irons_estate_code::tennis_court_floor(1); + thread maps\irons_estate_code::player_kill_trigger("waterfall_top_kill_trigger"); + thread maps\irons_estate_security_center::security_center_fan_blades(); + soundscripts\_snd::snd_message("start_penthouse"); + common_scripts\utility::flag_set("player_in_estate"); +} + +//Function Number: 2 +penthouse_main() +{ + level.start_point_scripted = "meet_cormack"; + thread penthouse_begin(); + common_scripts\utility::flag_wait("penthouse_end"); + maps\_utility::autosave_stealth(); +} + +//Function Number: 3 +penthouse_begin() +{ + common_scripts\utility::flag_set("penthouse_start"); + level.player.grapple["dist_max"] = 800; + thread maps\irons_estate_code::handle_player_abandoned_mission("iln"); + thread penthouse_vo(); + thread penthouse_objective(); + thread maps\irons_estate_code::irons_estate_trigger_saves("penthouse_end","player_enters_front_yard_save_1"); + thread maps\irons_estate_code::irons_estate_trigger_saves("penthouse_end","player_enters_front_yard_save_2"); + thread maps\irons_estate_code::irons_estate_trigger_saves("penthouse_end","player_enters_front_yard_save_2a"); + thread maps\irons_estate_code::irons_estate_trigger_saves("penthouse_end","player_enters_front_yard_save_3"); + thread maps\irons_estate_code::irons_estate_trigger_saves("penthouse_end","player_enters_front_yard_save_4"); + thread maps\irons_estate_code::irons_estate_trigger_saves("penthouse_end","player_enters_front_yard_save_5"); + thread maps\irons_estate_code::generic_enemy_vo_chatter("player_entered_balcony_door"); + thread ilona_generic_update_vo(); + thread tennis_court(); + common_scripts\utility::flag_wait("player_enters_front_yard_save_1"); + thread vtol_flyover(); + common_scripts\utility::flag_wait("player_enters_front_yard_save_4"); + maps\_utility::delaythread(4,::maps\irons_estate_code::corpse_cleanup); +} + +//Function Number: 4 +vtol_flyover() +{ + var_00 = common_scripts\utility::getstruct("vtol_struct","targetname"); + var_01 = maps\_utility::spawn_anim_model("vtol",(0,0,0)); + var_01.grapple_magnets = []; + soundscripts\_snd::snd_message("aud_vtol_land",var_01); + var_01 thread vtol_fx_land(); + var_00 thread maps\_anim::anim_single_solo(var_01,"cormack_stealth_takedown"); + var_01 waittillmatch("end","single anim"); + var_01 delete(); +} + +//Function Number: 5 +vtol_fx_land() +{ + playfxontag(level._effect["ie_vtol_wtip_light_red_blink"],self,"TAG_LT_WING_LIGHT_FX"); + playfxontag(level._effect["ie_vtol_wtip_light_red_blink"],self,"TAG_RT_WING_LIGHT_FX"); + playfxontag(level._effect["ie_vtol_wtip_light_red_blink"],self,"TAG_LT_WING_LIGHT_FX"); + playfxontag(level._effect["ie_vtol_wtip_light_red_blink"],self,"TAG_RT_WING_LIGHT_FX"); + wait(0.05); + playfxontag(level._effect["ie_vtol_wtip_light_tail_red"],self,"tag_light_L_wing"); + playfxontag(level._effect["ie_vtol_wtip_light_tail_red"],self,"tag_light_R_wing"); + playfxontag(level._effect["ie_vtol_wtip_light_tail_red"],self,"tag_light_L_tail"); + playfxontag(level._effect["ie_vtol_wtip_light_tail_red"],self,"tag_light_R_tail"); + wait(0.05); + playfxontag(level._effect["vtol_exhaust_l"],self,"TAG_LT_WING_EXHAUSE_FX"); + playfxontag(level._effect["vtol_exhaust_r"],self,"TAG_RT_WING_EXHAUSE_FX"); + wait(10); + playfxontag(level._effect["vtol_engine_land"],self,"TAG_FX_ENGINE_RI_1"); + playfxontag(level._effect["vtol_engine_land"],self,"TAG_FX_ENGINE_RI_2"); + playfxontag(level._effect["vtol_engine_land"],self,"TAG_FX_ENGINE_RI_3"); + playfxontag(level._effect["vtol_engine_land"],self,"TAG_FX_ENGINE_RI_4"); + wait(0.05); + playfxontag(level._effect["vtol_engine_land"],self,"TAG_FX_ENGINE_LE_1"); + playfxontag(level._effect["vtol_engine_land"],self,"TAG_FX_ENGINE_LE_2"); + playfxontag(level._effect["vtol_engine_land"],self,"TAG_FX_ENGINE_LE_3"); + playfxontag(level._effect["vtol_engine_land"],self,"TAG_FX_ENGINE_LE_4"); +} + +//Function Number: 6 +penthouse_vo() +{ + wait(1); + maps\_utility::smart_radio_dialogue("ie_crmk_regroup"); + wait(0.5); + maps\_utility::smart_radio_dialogue("ie_iln_movingposition"); + wait(0.5); + level.play_ally_warning_vo = 1; + level.play_ally_callout_vo = 1; + thread maps\irons_estate_code::enemy_callout_vo("iln"); + thread maps\irons_estate_code::drone_incoming_vo("iln"); + thread maps\irons_estate_code::clean_kill_vo("iln"); + maps\irons_estate_code::enemy_alert_vo_setup("iln"); + thread maps\irons_estate_code::failed_vo("iln"); + thread maps\irons_estate_code::dont_shoot_warning_vo("iln"); + thread maps\irons_estate_code::exposed_group_logic(); + common_scripts\utility::flag_wait("overlook_obj_trigger"); + level.play_ally_warning_vo = undefined; + level.play_ally_callout_vo = undefined; + level.ally_vo_org stopsounds(); + wait(0.05); + maps\_utility::smart_radio_dialogue("ie_iln_inposition"); + level.play_ally_warning_vo = 1; + level.play_ally_callout_vo = 1; + thread pre_guesthouse_vo(); + thread guest_house_vo(); + common_scripts\utility::flag_wait("penthouse_end_ready"); + level.ally_vo_org stopsounds(); + wait(0.05); + var_00 = []; + var_00[0] = spawnstruct(); + var_00[0].vo = "ie_iln_driveway"; + var_00[0].vo_priority = 7; + var_00[1] = spawnstruct(); + var_00[1].vo = "ie_iln_onbalcony"; + var_00[1].vo_priority = 7; + wait(1); + maps\irons_estate_code::ally_vo_controller(var_00[0]); + wait(0.5); + maps\irons_estate_code::ally_vo_controller(var_00[1]); +} + +//Function Number: 7 +pre_guesthouse_vo() +{ + level endon("guesthouse_balcony_enemy_1_dead"); + level endon("guesthouse_balcony_enemy_2_dead"); + level endon("player_enters_front_yard_save_4"); + common_scripts\utility::flag_wait("two_on_balcony_vo"); + if(common_scripts\utility::flag("_stealth_spotted")) + { + return; + } + + level.play_ally_warning_vo = undefined; + level.play_ally_callout_vo = undefined; + level.ally_vo_org stopsounds(); + wait(0.05); + maps\_utility::smart_radio_dialogue("ie_iln_shadows"); + level.play_ally_warning_vo = 1; + level.play_ally_callout_vo = 1; +} + +//Function Number: 8 +guest_house_vo() +{ + level endon("player_enters_front_yard_save_4"); + common_scripts\utility::flag_wait("spawn_civilian_guesthouse_walkin"); + wait(1); + if(common_scripts\utility::flag("_stealth_spotted")) + { + return; + } + + var_00 = []; + var_00[0] = spawnstruct(); + var_00[0].vo = "ie_iln_raftersquick"; + var_00[0].vo_priority = 4; + var_00[1] = spawnstruct(); + var_00[1].vo = "ie_iln_clear4"; + var_00[1].vo_priority = 4; + thread maps\irons_estate_code::ally_vo_controller(var_00[0]); + common_scripts\utility::flag_wait("guesthouse_walkin_all_clear"); + if(common_scripts\utility::flag("_stealth_spotted")) + { + return; + } + + if(!maps\irons_estate_code::check_player_in_stop_enemy_callout_vo_volume()) + { + thread maps\irons_estate_code::ally_vo_controller(var_00[1]); + } +} + +//Function Number: 9 +penthouse_objective() +{ + wait(2); + objective_add(maps\_utility::obj("penthouse"),"current",&"IRONS_ESTATE_OBJ_PENTHOUSE"); + var_00 = common_scripts\utility::getstruct("overlook_obj","targetname"); + objective_position(maps\_utility::obj("penthouse"),var_00.origin); + common_scripts\utility::flag_wait("overlook_obj_trigger"); + maps\_utility::autosave_stealth(); + var_01 = common_scripts\utility::getstruct("penthouse_obj_org","targetname"); + objective_position(maps\_utility::obj("penthouse"),var_01.origin); + common_scripts\utility::flag_wait("penthouse_end_ready"); + var_02 = common_scripts\utility::getstruct("penthouse_balcony_obj","targetname"); + objective_position(maps\_utility::obj("penthouse"),var_02.origin); + common_scripts\utility::flag_wait("penthouse_end"); + var_03 = common_scripts\utility::getstruct("penthouse_balcony_interior_obj","targetname"); + objective_position(maps\_utility::obj("penthouse"),var_03.origin); +} + +//Function Number: 10 +ilona_generic_update_vo() +{ + common_scripts\utility::flag_wait("player_enters_front_yard_save_3"); + if(common_scripts\utility::flag("_stealth_spotted") || common_scripts\utility::flag("someone_became_alert")) + { + return; + } + + var_00 = []; + var_00[0] = spawnstruct(); + var_00[0].vo = "ie_iln_sofarsogood"; + var_00[0].vo_priority = 4; + maps\irons_estate_code::ally_vo_controller(var_00[0]); + wait(1); + maps\_utility::deletestruct_ref(var_00[0]); +} + +//Function Number: 11 +tennis_court() +{ + level endon("bedroom_end"); + common_scripts\utility::flag_init("tennis_court_clear"); + common_scripts\utility::flag_wait("tennis_court_activated"); + level.tennis_court_trigger = getent("tennis_court_trigger","targetname"); + level.tennis_court_trigger common_scripts\utility::trigger_off(); + soundscripts\_snd::snd_message("aud_tennis_court_wakeup"); + wait(0.5); + level.tennis_court_origin = getent("tennis_court_origin","targetname"); + thread maps\irons_estate_lighting::tennis_court_lights_intial(); + thread tennis_court_player_brackets(); + thread tennis_court_ball_launcher(); + thread maps\irons_estate_code::tennis_court_floor(); + common_scripts\_exploder::exploder(747); + wait(2); + thread tennis_court_nags(); + start_tennis_court_alert(); + common_scripts\utility::flag_wait("player_entered_balcony_door"); + maps\_utility::stop_exploder(747); +} + +//Function Number: 12 +tennis_court_player_brackets() +{ + level endon("bedroom_end"); + var_00 = getent("tennis_court_playing_area","targetname"); + var_01 = common_scripts\utility::getstruct("tennis_court_floor_struct","targetname"); + for(;;) + { + var_00 waittill("trigger"); + var_02 = getaiarray("axis"); + var_02 = common_scripts\utility::array_add(var_02,level.player); + var_03 = var_00 getistouchingentities(var_02); + if(isdefined(var_03) && var_03.size > 0) + { + foreach(var_05 in var_03) + { + if(!isdefined(var_05.has_bracket)) + { + if(var_05 == level.player) + { + var_05 thread tennis_court_player_brackets_internal(var_00,var_01,"ie_tennis_ring"); + continue; + } + + if(isdefined(var_05.classname) && var_05.classname == "actor_enemy_atlas_bodyguard_smg" || var_05.classname == "actor_enemy_atlas_pmc_estate_smg") + { + var_05 thread tennis_court_player_brackets_internal(var_00,var_01,"ie_tennis_ring_inv"); + } + } + } + } + + wait 0.05; + } +} + +//Function Number: 13 +tennis_court_player_brackets_internal(param_00,param_01,param_02) +{ + level endon("player_entered_balcony_door"); + var_03 = common_scripts\utility::spawn_tag_origin(); + var_03.origin = (self.origin[0],self.origin[1],param_01.origin[2] + 0.1); + var_03.angles = var_03.angles + (-90,0,0); + wait 0.05; + playfxontag(level._effect[param_02],var_03,"tag_origin"); + self.has_bracket = 1; + while(self istouching(param_00) && isalive(self)) + { + var_03.angles = (var_03.angles[0],self.angles[1],var_03.angles[2]); + var_03.origin = (self.origin[0],self.origin[1],param_01.origin[2] + 0.1); + wait 0.05; + } + + stopfxontag(level._effect[param_02],var_03,"tag_origin"); + var_03 delete(); + wait(1); + self.has_bracket = undefined; +} + +//Function Number: 14 +tennis_court_ball_launcher() +{ + var_00 = getent("tennis_ball_launcher","targetname"); + var_01 = getent("tennis_ball_launcher_clip","targetname"); + var_02 = getentarray("tennis_ball","targetname"); + var_03 = getent("tennis_ball_launcher_anim_origin","targetname"); + var_04 = var_00 gettagorigin("tag_origin"); + var_05 = common_scripts\utility::spawn_tag_origin(); + var_05.origin = var_04; + var_00 linkto(var_05,"tag_origin"); + var_01 linkto(var_05,"tag_origin"); + foreach(var_07 in var_02) + { + var_07 linkto(var_05,"tag_origin"); + } + + var_03 linkto(var_05,"tag_origin"); + var_09 = getent("tennis_ball_launcher_anim_origin_temp","targetname"); + var_09 linkto(var_05,"tag_origin"); + var_05 thread tennis_court_ball_launcher_logic(var_09); + common_scripts\utility::flag_wait("bedroom_end"); + var_00 delete(); + var_01 delete(); + foreach(var_07 in var_02) + { + var_07 delete(); + } + + var_03 delete(); + var_09 delete(); + var_05 delete(); +} + +//Function Number: 15 +tennis_court_ball_launcher_logic(param_00) +{ + level endon("bedroom_end"); + var_01 = []; + var_01[0] = "ie_cv_serving"; + level.audio_org = level.tennis_court_origin common_scripts\utility::spawn_tag_origin(); + for(;;) + { + wait 0.05; + common_scripts\utility::flag_clear("tennis_court_activated"); + var_02 = 0; + wait(0.5); + play_tennis_court_vo("ie_cv_starting"); + wait(1.5); + play_tennis_court_vo("ie_cv_lovelove"); + for(;;) + { + if(common_scripts\utility::flag("player_playing_tennis")) + { + var_03 = vectortoangles(level.player.origin - self.origin); + var_04 = var_03[1]; + var_05 = var_04 - self.angles[1]; + if(var_05 > 0) + { + var_05 = var_05 - 180; + } + else + { + var_05 = var_05 + 180; + } + } + else + { + var_05 = 180 - self.angles[1]; + if(var_05 > 0) + { + var_05 = var_05 - 180; + } + else + { + var_05 = var_05 + 180; + } + + var_05 = var_05 + randomintrange(-10,10); + } + + self rotateyaw(var_05,0.3,0,0); + wait(0.3); + play_tennis_court_vo("ie_cv_serving"); + var_06 = spawn("script_model",param_00.origin); + var_06 setmodel("base_tennis_ball_01"); + var_07 = anglestoforward(param_00.angles); + var_06 physicslaunchclient(var_06.origin,var_07 * 850); + soundscripts\_snd_playsound::snd_play_at("irons_tennis_ball_launch",(-2664,-4892,444)); + var_06 thread tennis_court_ball_cleanup(); + wait(2); + var_02++; + if(var_02 == 1) + { + play_tennis_court_vo("ie_cv_15"); + play_tennis_court_vo("ie_cv_love"); + } + + if(var_02 == 2) + { + play_tennis_court_vo("ie_cv_30"); + play_tennis_court_vo("ie_cv_love"); + } + + if(var_02 == 3) + { + play_tennis_court_vo("ie_cv_40"); + play_tennis_court_vo("ie_cv_love"); + } + + if(var_02 == 4) + { + level.audio_org playsound("ie_cv_pausing"); + break; + } + + wait 0.05; + } + + thread maps\irons_estate_lighting::tennis_court_lights_dimmed(); + thread enemies_in_tennis_court(); + common_scripts\utility::flag_wait("tennis_court_clear"); + wait(8); + level.tennis_court_trigger common_scripts\utility::trigger_on(); + common_scripts\utility::flag_wait("tennis_court_activated"); + level.tennis_court_trigger common_scripts\utility::trigger_off(); + thread maps\irons_estate_lighting::tennis_court_lights_on(); + } +} + +//Function Number: 16 +play_tennis_court_vo(param_00) +{ + level.tennis_court_computer_talking = 1; + level.audio_org playsound(param_00,"sounddone"); + level.audio_org tennis_court_computer_line_done(); + level.tennis_court_computer_talking = undefined; +} + +//Function Number: 17 +touchtest() +{ + self endon("tennis_ball_delete"); + var_00 = common_scripts\utility::getstruct("tennis_court_floor_struct","targetname"); + var_01 = getent("tennis_court_floor_volume","targetname"); + for(;;) + { + if(self istouching(var_01)) + { + if(!isdefined(self.ball_touching_ground)) + { + self.ball_touching_ground = 1; + iprintlnbold("Yes"); + } + } + else if(isdefined(self.ball_touching_ground)) + { + self.ball_touching_ground = undefined; + iprintlnbold("No"); + } + + wait 0.05; + } +} + +//Function Number: 18 +tennis_court_ball_cleanup() +{ + common_scripts\utility::flag_wait_either("tennis_court_activated","bedroom_end"); + if(isdefined(self)) + { + self notify("tennis_ball_delete"); + self delete(); + } +} + +//Function Number: 19 +tennis_court_computer_line_done() +{ + self waittill("sounddone"); +} + +//Function Number: 20 +tennis_court_nags() +{ + common_scripts\utility::flag_wait("tennis_court_clear"); + level endon("_stealth_spotted"); + level endon("bedroom_end"); + var_00 = []; + var_00[0] = spawnstruct(); + var_00[0].vo = "ie_iln_quitplaying"; + var_00[0].vo_priority = 4; + var_00[1] = spawnstruct(); + var_00[1].vo = "ie_iln_serious"; + var_00[1].vo_priority = 4; + common_scripts\utility::flag_wait("tennis_court_activated"); + wait(2); + var_01 = getent("player_touching_tennis_court_floor_volume","targetname"); + if(level.player istouching(var_01)) + { + thread maps\irons_estate_code::ally_vo_controller(var_00[0]); + } + + common_scripts\utility::flag_wait("tennis_court_activated"); + wait(2); + if(level.player istouching(var_01)) + { + thread maps\irons_estate_code::ally_vo_controller(var_00[1]); + } +} + +//Function Number: 21 +start_tennis_court_alert(param_00) +{ + if(!common_scripts\utility::flag("_stealth_spotted")) + { + level.play_ally_warning_vo = undefined; + level.play_ally_callout_vo = undefined; + level.ally_vo_org stopsounds(); + wait(0.05); + maps\_utility::smart_radio_dialogue("ie_iln_tangoscoming"); + level.play_ally_warning_vo = 1; + level.play_ally_callout_vo = 1; + wait(0.25); + var_01 = getaiarray("axis"); + var_02 = common_scripts\utility::get_array_of_closest(level.tennis_court_origin.origin,var_01,undefined,undefined,1024,undefined); + if(isdefined(var_02)) + { + foreach(var_04 in var_02) + { + wait(0.5); + if(!isdefined(level.tennis_court_alert_vo)) + { + level.tennis_court_alert_vo = 1; + var_04.animname = "generic"; + var_04 maps\_utility::smart_dialogue("ie_as1_whatsthat5"); + } + + if(!common_scripts\utility::flag("_stealth_spotted") && isalive(var_04) && isdefined(var_04._stealth)) + { + var_04 notify("reaction_generic",level.tennis_court_origin.origin); + var_05 = maps\_stealth_shared_utilities::group_get_ai_in_group(var_04.script_stealthgroup); + if(isdefined(var_05)) + { + foreach(var_07 in var_05) + { + if(var_07 == self) + { + continue; + } + + if(isdefined(var_07.enemy) || isdefined(var_07.favoriteenemy)) + { + continue; + } + + var_07 thread maps\irons_estate_code::notify_delay_param("reaction_generic",randomfloatrange(0.1,0.5),level.tennis_court_origin.origin); + } + + break; + } + } + } + } + } +} + +//Function Number: 22 +enemies_in_tennis_court() +{ + var_00 = getent("player_touching_tennis_court_floor_volume","targetname"); + for(;;) + { + var_01 = var_00 maps\_utility::get_ai_touching_volume("axis"); + if(var_01.size == 0) + { + break; + } + + wait(0.5); + } + + common_scripts\utility::flag_set("tennis_court_clear"); +} + +//Function Number: 23 +ie_west_enemies() +{ + if(level.start_point_scripted == "hack_security") + { + if(common_scripts\utility::flag("security_center_guard_right")) + { + maps\_utility::array_spawn_function_targetname("security_center_guard_right_spawner",::maps\irons_estate_infil::security_center_guard_spawner_setup); + var_00 = maps\_utility::array_spawn_targetname("security_center_guard_right_spawner",1); + } + + if(common_scripts\utility::flag("security_center_guard_left")) + { + maps\_utility::array_spawn_function_targetname("security_center_guard_left_spawner",::maps\irons_estate_infil::security_center_guard_spawner_setup); + var_01 = maps\_utility::array_spawn_targetname("security_center_guard_left_spawner",1); + } + } + + maps\_utility::array_spawn_function_targetname("ie_west_spawner",::ie_west_spawner_setup); + var_02 = maps\_utility::array_spawn_targetname("ie_west_spawner",1); + thread ie_west_drones(); + thread maps\irons_estate_car_alarm::car_alarm_main("ie_west_driveway_car","player_entered_balcony_door"); + if(level.start_point_scripted == "hack_security") + { + common_scripts\utility::flag_wait("spawn_garage_civilians"); + wait(1); + } + + maps\_utility::array_spawn_function_targetname("ie_west_spawner_2",::ie_west_spawner_setup); + var_03 = maps\_utility::array_spawn_targetname("ie_west_spawner_2",1); +} + +//Function Number: 24 +alcove_clips() +{ + level endon("player_entered_balcony_door"); + common_scripts\utility::flag_wait("start_car_lift_scene"); + if(!common_scripts\utility::flag("_stealth_spotted")) + { + common_scripts\utility::flag_wait("_stealth_spotted"); + } + + var_00 = getent("garage_alcove_clip","targetname"); + var_00 notsolid(); +} + +//Function Number: 25 +garage_balcony_enemy() +{ + level endon("player_entered_balcony_door"); + common_scripts\utility::flag_wait_either("spawn_garage_balcony_spawner","do_not_spawn_garage_balcony_spawner"); + if(common_scripts\utility::flag("_stealth_spotted") || common_scripts\utility::flag("do_not_spawn_garage_balcony_spawner")) + { + return; + } + + maps\_utility::array_spawn_function_targetname("ie_west_garage_balcony_spawner",::garage_balcony_spawner_setup); + var_00 = maps\_utility::array_spawn_targetname("ie_west_garage_balcony_spawner",1); + thread garage_balcony_door(); + thread garage_balcony_vo(); +} + +//Function Number: 26 +garage_balcony_spawner_setup() +{ + self endon("death"); + common_scripts\utility::flag_wait("player_entered_balcony_door"); + self delete(); +} + +//Function Number: 27 +garage_balcony_door() +{ + var_00 = getent("garage_balcony_door","targetname"); + var_01 = getent("garage_balcony_door_clip","targetname"); + var_01 linkto(var_00,"door_single_01_lod0"); + var_00 rotateyaw(90,1); + var_02 = getent("garage_balcony_door_light","targetname"); + var_02 setlightintensity(15000); + var_01 connectpaths(); + common_scripts\utility::flag_wait_or_timeout("garage_balcony_door_close",5); + var_00 rotateyaw(-90,1); + var_01 disconnectpaths(); + wait(1); + var_02 setlightintensity(1); +} + +//Function Number: 28 +garage_balcony_vo() +{ + wait(1); + maps\_utility::smart_radio_dialogue("ie_iln_hide2"); +} + +//Function Number: 29 +ie_west_drones() +{ + var_00 = vehicle_scripts\_pdrone_security::drone_spawn_and_drive("ie_west_drones"); + common_scripts\utility::flag_wait("player_entered_balcony_door"); + common_scripts\utility::array_thread(var_00,::frontyard_drone_cleanup); +} + +//Function Number: 30 +frontyard_drone_cleanup() +{ + self endon("death"); + var_00 = 0; + while(!var_00) + { + if(!maps\_utility::within_fov_2d(level.player.origin,level.player.angles,self.origin,cos(45))) + { + var_00 = 1; + continue; + } + + wait(0.1); + } + + self delete(); +} + +//Function Number: 31 +ie_west_spawner_setup() +{ + self endon("death"); + maps\_utility::walkdist_zero(); + common_scripts\utility::flag_wait("player_entered_balcony_door"); + self delete(); +} + +//Function Number: 32 +guesthouse_enemies() +{ + maps\_utility::array_spawn_function_targetname("guesthouse_spawner",::guesthouse_spawner_setup); + var_00 = maps\_utility::array_spawn_targetname("guesthouse_spawner",1); + level endon("player_enters_front_yard_save_4"); + common_scripts\utility::flag_wait("spawn_civilian_guesthouse_smoking"); + maps\_utility::array_spawn_function_targetname("guesthouse_balcony_walkout_spawner",::guesthouse_spawner_setup); + var_01 = maps\_utility::array_spawn_targetname("guesthouse_balcony_walkout_spawner",1); +} + +//Function Number: 33 +guesthouse_spawner_setup() +{ + self endon("death"); + maps\_utility::walkdist_zero(); + common_scripts\utility::flag_wait("player_entered_balcony_door"); + self delete(); +} \ No newline at end of file diff --git a/AW/PC/maps/irons_estate_plant_tracker.gsc b/AW/PC/maps/irons_estate_plant_tracker.gsc new file mode 100644 index 0000000..488514f --- /dev/null +++ b/AW/PC/maps/irons_estate_plant_tracker.gsc @@ -0,0 +1,720 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: irons_estate_plant_tracker.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 42 + * Decompile Time: 640 ms + * Timestamp: 4/22/2024 2:32:07 AM +*******************************************************************/ + +//Function Number: 1 +plant_tracker_start() +{ + level.start_point_scripted = "plant_tracker"; + maps\irons_estate::irons_estate_objectives(); + maps\irons_estate_code::spawn_player_checkpoint(); + maps\irons_estate_code::spawn_allies(); + thread move_lift(); + thread maps\irons_estate_track_irons::handle_gaz(); + thread maps\irons_estate_track_irons::handle_gaz2(); + soundscripts\_snd::snd_message("start_plant_tracker"); + thread stairwell_doors(); + thread landing_pad_lift_upper_static_setup(); + thread maps\irons_estate_track_irons::ambient_hangar_fan_blades_setup(); + level.player takeallweapons(); + level.player giveweapon("iw5_pbwsingleshot_sp_silencerpistol"); + level.player giveweapon("iw5_kf5fullauto_sp_opticsreddot_silencer01"); + level.player switchtoweapon("iw5_kf5fullauto_sp_opticsreddot_silencer01"); +} + +//Function Number: 2 +plant_tracker_main() +{ + level.start_point_scripted = "plant_tracker"; + thread plant_tracker_begin(); + common_scripts\utility::flag_wait("plant_tracker_end"); + thread maps\_utility::autosave_by_name(); +} + +//Function Number: 3 +plant_tracker_begin() +{ + common_scripts\utility::flag_set("plant_tracker_start"); + level.player.grapple["dist_max"] = 1000; + level.player maps\_utility::set_player_attacker_accuracy(0.5); + thread plant_tracker_objective(); + thread exfil_setup(); + thread plant_tracker_vo(); + thread grapple_dist_max_watcher(); + thread landing_pad_lights_on(); + thread pop_cormack_into_exfil_anim_to_match_player(); + thread exfil_guys(); + level.allies[0] thread cormack_grapple_to_vtol(); + soundscripts\_snd::snd_message("aud_exfil_vtol_start"); +} + +//Function Number: 4 +grapple_dist_max_watcher() +{ + common_scripts\utility::flag_wait("increase_grapple_dist_max"); + level.player.grapple["dist_max"] = 1500; +} + +//Function Number: 5 +plant_tracker_objective() +{ + objective_add(maps\_utility::obj("plant_tracker"),"current",&"IRONS_ESTATE_OBJ_PLANT_TRACKER"); + objective_onentity(maps\_utility::obj("plant_tracker"),level.allies[0]); + common_scripts\utility::flag_wait("start_exfil_moment_final"); + thread maps\_stealth_display::stealth_display_off(); + var_00 = common_scripts\utility::getstruct("vtol_landing_pad_obj_marker","targetname"); + objective_position(maps\_utility::obj("plant_tracker"),var_00.origin); + level.player waittill("grappled_to_vtol"); + objective_position(maps\_utility::obj("plant_tracker"),(0,0,0)); + common_scripts\utility::flag_wait("ATTACHED_TRACKER"); + maps\_utility::objective_complete(maps\_utility::obj("plant_tracker")); +} + +//Function Number: 6 +move_lift() +{ + var_00 = getent("landing_pad_lift","targetname"); + var_01 = var_00 common_scripts\utility::spawn_tag_origin(); + var_00 linkto(var_01,"tag_origin"); + var_02 = common_scripts\utility::getstruct("lift_end_pos","targetname"); + var_01 moveto(var_02.origin,0.1); +} + +//Function Number: 7 +vtol_exhaust() +{ + common_scripts\utility::flag_wait("start_exfil_moment_final_liftoff_started"); + playfxontag(level._effect["vtol_exhaust_l"],self,"TAG_LT_WING_EXHAUSE_FX"); + playfxontag(level._effect["vtol_exhaust_r"],self,"TAG_RT_WING_EXHAUSE_FX"); +} + +//Function Number: 8 +vtolfx() +{ + common_scripts\utility::flag_wait("start_exfil_moment_final_liftoff_started"); + playfxontag(level._effect["vtol_engine"],self,"TAG_FX_ENGINE_LE_1"); + wait(0.3); + playfxontag(level._effect["vtol_engine"],self,"TAG_FX_ENGINE_LE_2"); + wait(0.1); + playfxontag(level._effect["vtol_engine"],self,"TAG_FX_ENGINE_LE_3"); + wait(0.3); + playfxontag(level._effect["vtol_engine"],self,"TAG_FX_ENGINE_LE_4"); + wait(0.1); + playfxontag(level._effect["vtol_engine"],self,"TAG_FX_ENGINE_RI_1"); + wait(0.05); + playfxontag(level._effect["vtol_engine"],self,"TAG_FX_ENGINE_RI_2"); + wait(0.05); + playfxontag(level._effect["vtol_engine"],self,"TAG_FX_ENGINE_RI_3"); + wait(0.05); + playfxontag(level._effect["vtol_engine"],self,"TAG_FX_ENGINE_RI_4"); + common_scripts\_exploder::exploder(1000); +} + +//Function Number: 9 +exfil_setup() +{ + level.anim_struct_exfil = common_scripts\utility::getstruct("anim_struct_exfil","targetname"); + if(isdefined(level.vtol)) + { + level.vtol delete(); + } + + var_00 = []; + level.vtol = maps\_utility::spawn_anim_model("vtol",(0,0,0)); + var_00[var_00.size] = level.vtol; + level.exfil_arms = maps\_utility::spawn_anim_model("player_rig",(0,0,0)); + level.exfil_arms hide(); + var_00[var_00.size] = level.exfil_arms; + level.tracking_device = maps\_utility::spawn_anim_model("tracking_device"); + level.tracking_device linkto(level.exfil_arms,"tag_weapon_right",(0,0,0),(0,0,0)); + level.tracking_device hide(); + var_01 = maps\_utility::spawn_anim_model("genericprop_x5"); + var_01 hide(); + var_00[var_00.size] = var_01; + var_01 thread exfil_spotlights_fx(); + level.anim_struct_exfil maps\_anim::anim_first_frame(var_00,"exfil"); + level.vtol thread exfil_vtol(); + level.vtol thread vtol_lights(); + thread exfil_player(); + thread plant_tracker_waits(); + thread plant_tracker_rumbles(); + level.allies[0] thread exfil_cormack(); + thread exfil_allies(); + thread tracking_device_waits(); + thread breathers(); + common_scripts\utility::flag_wait_or_timeout("start_exfil_moment_final_liftoff",60); + common_scripts\utility::flag_set("start_exfil_moment_final_liftoff_started"); + wait(2); + level.anim_struct_exfil thread maps\_anim::anim_single(var_00,"exfil"); +} + +//Function Number: 10 +pop_cormack_into_exfil_anim_to_match_player() +{ + common_scripts\utility::flag_wait("player_started_vtol_grapple"); + level.allies[0].name = " "; + level waittill("stop_grapplesound"); + level.allies[0] notify("killgrapple"); + level.allies[0] unlink(); + level.anim_struct_exfil thread maps\_anim::anim_single_solo(level.allies[0],"exfil"); + wait(0.05); + maps\_anim::anim_set_time([level.vtol,level.allies[0],level.exfil_arms],"exfil",0.26867); +} + +//Function Number: 11 +vtol_lights() +{ + playfxontag(level._effect["ie_atlas_jet_exterior_lights"],self,"body_animate_jnt"); + wait 0.05; + playfxontag(level._effect["ie_vtol_wtip_light_red_blink"],self,"TAG_LT_WING_LIGHT_FX"); + playfxontag(level._effect["ie_vtol_wtip_light_red_blink"],self,"TAG_RT_WING_LIGHT_FX"); +} + +//Function Number: 12 +exfil_spotlights_fx() +{ + common_scripts\utility::flag_wait("start_exfil_moment_final"); + playfxontag(level._effect["ie_lightbeam_vtol_landing"],self,"j_prop_1"); + wait(0.05); + playfxontag(level._effect["ie_lightbeam_vtol_landing"],self,"j_prop_2"); + wait(0.05); + playfxontag(level._effect["ie_lightbeam_vtol_landing"],self,"j_prop_3"); + wait(0.05); + playfxontag(level._effect["ie_lightbeam_vtol_landing"],self,"j_prop_4"); + common_scripts\utility::flag_wait("player_grappled_to_vtol"); + wait(3); + stopfxontag(level._effect["ie_lightbeam_vtol_landing"],self,"j_prop_1"); + wait(0.05); + stopfxontag(level._effect["ie_lightbeam_vtol_landing"],self,"j_prop_2"); + wait(0.05); + stopfxontag(level._effect["ie_lightbeam_vtol_landing"],self,"j_prop_3"); + wait(0.05); + stopfxontag(level._effect["ie_lightbeam_vtol_landing"],self,"j_prop_4"); +} + +//Function Number: 13 +exfil_vtol() +{ + var_00 = common_scripts\utility::spawn_tag_origin(); + var_00 hide(); + var_00 linkto(self,"J_magnet_01",(0,0,0),(0,0,0)); + self waittillmatch("grapple_on","single anim"); + level thread player_started_vtol_grapple_monitor(); + thread cloud_fx(); + playfxontag(level._effect["ie_vtol_fill_grapple"],self,"J_magnet_01"); + level.vtol thread vtol_obj_marker_monitor(var_00); + self waittillmatch("grapple_off","single anim"); + if(!common_scripts\utility::flag("player_started_vtol_grapple")) + { + level notify("player_started_vtol_grapple_monitor_off"); + maps\_grapple::grapple_magnet_unregister(self,"J_magnet_01"); + level.player maps\_grapple::grapple_take(); + objective_state(maps\_utility::obj("plant_tracker"),"failed"); + wait(1); + maps\_player_death::set_deadquote(&"IRONS_ESTATE_VTOL_GRAPPLE_FAIL"); + maps\_utility::missionfailedwrapper(); + } + + self waittillmatch("tracker_on","single anim"); + self waittillmatch("tracker_off","single anim"); + common_scripts\utility::flag_set("ATTACHED_TRACKER"); + self waittillmatch("detach_on","single anim"); + self waittillmatch("detach_off","single anim"); + thread detach_motion_blur_enable(); + common_scripts\utility::flag_set("DETACHED_FROM_VTOL"); + thread dive_fx(); + self waittillmatch("end","single anim"); + self delete(); +} + +//Function Number: 14 +vtol_obj_marker_monitor(param_00) +{ + level endon("player_started_vtol_grapple_monitor_off"); + var_01 = spawnstruct(); + var_01.landanimbody = %ie_exfil_vtol_player; + var_01.landanimhands = %ie_exfil_vtol_player_viewmodel; + var_01.ignorecollision = 1; + var_01.noenableweapon = 1; + var_01.landhiderope = 1; + var_01.noabort = 1; + if(common_scripts\utility::flag("increase_grapple_dist_max")) + { + objective_onentity(maps\_utility::obj("plant_tracker"),param_00); + maps\_grapple::grapple_magnet_register(self,"J_magnet_01",(0,0,0),"grappled_to_vtol",undefined,var_01,undefined); + return; + } + + common_scripts\utility::flag_wait("increase_grapple_dist_max"); + objective_onentity(maps\_utility::obj("plant_tracker"),param_00); + maps\_grapple::grapple_magnet_register(self,"J_magnet_01",(0,0,0),"grappled_to_vtol",undefined,var_01,undefined); +} + +//Function Number: 15 +player_started_vtol_grapple_monitor() +{ + level endon("missionfailed"); + level.player endon("death"); + level endon("player_started_vtol_grapple_monitor_off"); + for(;;) + { + level.player waittill("grapple_moving",var_00); + if(isdefined(var_00) && var_00.notifyname == "grappled_to_vtol") + { + objective_position(maps\_utility::obj("plant_tracker"),(0,0,0)); + soundscripts\_snd::snd_message("aud_exfil_vtol_grapple"); + common_scripts\utility::flag_set("player_started_vtol_grapple"); + thread started_to_grapple_to_vtol_but_aborted_watcher(); + } + } +} + +//Function Number: 16 +started_to_grapple_to_vtol_but_aborted_watcher() +{ + level.player endon("grappled_to_vtol"); + level.player waittill("grapple_abort"); + level notify("player_started_vtol_grapple_monitor_off"); + maps\_grapple::grapple_magnet_unregister(level.vtol,"J_magnet_01"); + level.player maps\_grapple::grapple_take(); + objective_state(maps\_utility::obj("plant_tracker"),"failed"); + wait(1); + maps\_player_death::set_deadquote(&"IRONS_ESTATE_VTOL_GRAPPLE_FAIL"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 17 +exfil_player() +{ + level.player waittill("grappled_to_vtol"); + common_scripts\utility::flag_set("player_grappled_to_vtol"); + level.player playrumbleonentity("damage_light"); + maps\_grapple::grapple_magnet_unregister(level.vtol,"J_magnet_01"); + level.player maps\_grapple::grapple_take(); + level.player disableweapons(); + level.player allowcrouch(0); + level.player allowprone(0); + level.player disableoffhandweapons(); + level.player disableweaponswitch(); + level.player thread maps\_shg_utility::disable_features_entering_cinema(1); + level.player thread maps\_tagging::tagging_set_binocs_enabled(0); + level.player maps\_tagging::tagging_set_enabled(0); + level.player thread maps\irons_estate_stealth::irons_estate_whistle(0); + level.player playerlinktoabsolute(level.exfil_arms,"tag_player"); + wait(0.05); + level.player playerlinktodelta(level.exfil_arms,"tag_player",1,0,0,0,0,1); + level.exfil_arms show(); +} + +//Function Number: 18 +exfil_cormack() +{ + level.allies[0] allowedstances("stand"); + level.allies[0].badplaceawareness = 0; + level.anim_struct_exfil maps\_anim::anim_reach_solo(level.allies[0],"exfil_enter"); + level.anim_struct_exfil thread maps\_anim::anim_single_solo(level.allies[0],"exfil_enter"); + soundscripts\_snd::snd_message("aud_exfil_door_1"); + level.allies[0] waittillmatch("end","single anim"); + thread running_up_the_stairs_fail(); + if(common_scripts\utility::flag("start_exfil_moment")) + { + var_00 = "exfil_enter_end_1"; + soundscripts\_snd::snd_message("aud_exfil_door_2a"); + } + else + { + var_00 = "exfil_enter_end_2"; + level.anim_struct_exfil thread maps\_anim::anim_first_frame_solo(level.allies[0],var_00); + common_scripts\utility::flag_wait("start_exfil_moment"); + soundscripts\_snd::snd_message("aud_exfil_door_2b"); + } + + thread maps\_utility::autosave_stealth(); + level.anim_struct_exfil thread maps\_anim::anim_single_solo(level.allies[0],var_00); + level.allies[0] waittillmatch("door_open","single anim"); + soundscripts\_snd::snd_message("aud_exfil_vtol_ascend"); + common_scripts\utility::flag_set("start_exfil_moment_final"); + maps\irons_estate_code::irons_estate_stealth_disable(); + level.allies[0] waittillmatch("end","single anim"); + level.allies[0] thread cormack_landing_pad_combat(); +} + +//Function Number: 19 +cormack_landing_pad_combat() +{ + thread maps\_stealth_utility::disable_stealth_system(); + maps\_stealth_utility::disable_stealth_for_ai(); + self.baseaccuracy = 0.9; + maps\_utility::enable_heat_behavior(1); + self.disablereactionanims = 1; + self.dontevershoot = undefined; + maps\_utility::set_fixednode_false(); + maps\_utility::set_goalradius(1024); + maps\_utility::disable_cqbwalk(); + maps\_utility::enable_careful(); + maps\_utility::set_force_color("b"); + maps\_utility::enable_ai_color(); + maps\_utility::disable_surprise(); + maps\_utility::disable_pain(); + maps\_utility::disable_bulletwhizbyreaction(); + self allowedstances("stand","crouch"); + self.ignoreme = 0; + self.ignoreall = 0; + level notify("wake_up_guys"); +} + +//Function Number: 20 +exfil_guys() +{ + common_scripts\utility::flag_wait("start_exfil_moment_final"); + thread exfil_enemies(); +} + +//Function Number: 21 +exfil_enemies() +{ + maps\_utility::array_spawn_function_targetname("landing_pad_enemies",::exfil_enemies_setup); + var_00 = maps\_utility::array_spawn_targetname("landing_pad_enemies",1); + level.jumper_clip_1 = getent("jumper_clip_1","targetname"); + level.jumper_clip_2 = getent("jumper_clip_2","targetname"); + var_01 = vehicle_scripts\_pdrone_security::drone_spawn_and_drive("landing_pad_drones"); + common_scripts\utility::array_thread(var_01,::landing_pad_drones); +} + +//Function Number: 22 +exfil_enemies_setup() +{ + self endon("death"); + self.baseaccuracy = 0.5; + level waittill("wake_up_guys"); + maps\_stealth_utility::disable_stealth_for_ai(); + self notify("end_patrol"); + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "jumpers") + { + if(isdefined(level.jumper_clip_1)) + { + level.jumper_clip_1 notsolid(); + level.jumper_clip_1 connectpaths(); + level.jumper_clip_1 delete(); + } + + self.canjumppath = 100; + maps\_utility::set_ignoreme(1); + maps\_utility::set_ignoreall(1); + var_00 = getent("jumper_volume","targetname"); + self setgoalvolumeauto(var_00); + common_scripts\utility::waittill_notify_or_timeout("goal",8); + if(isdefined(level.jumper_clip_2)) + { + level.jumper_clip_2 notsolid(); + level.jumper_clip_2 connectpaths(); + level.jumper_clip_2 delete(); + } + + self cleargoalvolume(); + self.dontattackme = undefined; + self.ignoreme = 0; + self.ignoreall = 0; + maps\_utility::set_force_color("o"); + maps\_utility::enable_ai_color(); + } + else + { + self.dontattackme = undefined; + self.ignoreme = 0; + self.ignoreall = 0; + maps\_utility::set_force_color("o"); + maps\_utility::enable_ai_color(); + } + + common_scripts\utility::flag_wait("player_started_vtol_grapple"); + if(isdefined(self) && isalive(self)) + { + self kill(); + } +} + +//Function Number: 23 +landing_pad_drones() +{ + self endon("death"); + self.attack_accuracy = 0.5; + level waittill("wake_up_guys"); + wait(randomfloatrange(1,2)); + thread vehicle_scripts\_pdrone_security::drone_set_mode("attack"); + common_scripts\utility::flag_wait("player_started_vtol_grapple"); + if(isdefined(self) && isalive(self)) + { + self kill(); + } +} + +//Function Number: 24 +cormack_grapple_to_vtol() +{ + self endon("killgrapple"); + level endon("missionfailed"); + level.player endon("death"); + level endon("player_started_vtol_grapple_monitor_off"); + common_scripts\utility::flag_wait_either("start_exfil_moment_final_liftoff_started","landing_pad_enemies_dead"); + common_scripts\utility::flag_set("increase_grapple_dist_max"); + var_00 = getnode("cormack_landing_pad_grapple_spot","targetname"); + maps\_utility::ai_ignore_everything(); + maps\_utility::disable_ai_color(); + maps\_utility::set_ignoreall(1); + maps\_utility::set_ignoreme(1); + maps\_utility::set_fixednode_true(); + maps\_utility::set_goalradius(64); + maps\_utility::enable_sprint(); + self setgoalnode(var_00); + self waittill("goal"); + maps\_grapple_traverse::grapple_traverse(undefined,level.vtol,"J_magnet_02",%ie_exfil_impact_cormack); + self waittill("traverse_finish"); + self unlink(); + level.anim_struct_exfil thread maps\_anim::anim_single_solo(self,"exfil"); + wait(0.05); + var_01 = level.exfil_arms getanimtime(level.exfil_arms maps\_utility::getanim("exfil")); + self setanimtime(maps\_utility::getanim("exfil"),var_01); +} + +//Function Number: 25 +exfil_workers() +{ + maps\_utility::array_spawn_function_targetname("landing_pad_workers_01",::worker_spawn_func); + var_00 = maps\_utility::array_spawn_targetname("landing_pad_workers_01",1); + maps\_utility::array_spawn_function_targetname("landing_pad_workers_02",::worker_spawn_func); + var_01 = maps\_utility::array_spawn_targetname("landing_pad_workers_02",1); +} + +//Function Number: 26 +worker_spawn_func() +{ + self endon("death"); + maps\_utility::ai_ignore_everything(); + self.animname = "generic"; + maps\_utility::set_generic_idle_anim("patrol_idle_cool"); + common_scripts\utility::flag_wait("_stealth_spotted"); + maps\_utility::set_generic_run_anim("patrol_walk_alert",1); + var_00 = common_scripts\utility::getstruct(self.script_noteworthy + "_struct","script_noteworthy"); + maps\_utility::set_ignoreall(1); + maps\_utility::set_ignoreme(1); + maps\_utility::set_goal_radius(32); + maps\_utility::set_fixednode_true(); + maps\_utility::set_forcegoal(); + self setgoalpos(var_00.origin); + self waittill("goal"); + maps\_anim::anim_loop_solo(self,"landing_pad_worker_cower_idle"); +} + +//Function Number: 27 +stairwell_doors() +{ + if(!isdefined(level.anim_struct_exfil)) + { + level.anim_struct_exfil = common_scripts\utility::getstruct("anim_struct_exfil","targetname"); + } + + level.lower_stairwell_door = maps\_utility::spawn_anim_model("lower_stairwell_door"); + level.anim_struct_exfil maps\_anim::anim_first_frame_solo(level.lower_stairwell_door,"lower_stairwell_door"); + var_00 = maps\_utility::spawn_anim_model("upper_stairwell_door_left"); + var_01 = maps\_utility::spawn_anim_model("upper_stairwell_door_right"); + level.anim_struct_exfil maps\_anim::anim_first_frame([var_00,var_01],"upper_stairwell_doors"); + wait(0.05); + var_02 = getent("lower_stairwell_door_clip","targetname"); + var_02 linkto(level.lower_stairwell_door,"tag_origin"); + var_03 = getent("upper_stairwell_door_left_clip","targetname"); + var_03 linkto(var_00,"tag_origin"); + var_04 = getent("upper_stairwell_door_right_clip","targetname"); + var_04 linkto(var_01,"tag_origin"); + level.allies[0] waittillmatch("door_open","single anim"); + level.anim_struct_exfil maps\_anim::anim_single_solo(level.lower_stairwell_door,"lower_stairwell_door"); + level.allies[0] waittillmatch("door_open","single anim"); + level.vtol thread vtolfx(); + level.vtol thread vtol_exhaust(); + level.anim_struct_exfil maps\_anim::anim_single([var_00,var_01],"upper_stairwell_doors"); +} + +//Function Number: 28 +exfil_allies() +{ + var_00 = maps\_utility::array_spawn_targetname("exfil_diver",1); + var_00[0].animname = "exfil_ally1"; + var_00[1].animname = "exfil_ally2"; + foreach(var_02 in var_00) + { + var_02.grapple_magnets = []; + var_02 maps\_utility::gun_remove(); + var_02.name = " "; + } + + level.anim_struct_exfil maps\_anim::anim_first_frame(var_00,"exfil"); + level.vtol waittillmatch("ally_anim_start","single anim"); + thread detach_motion_blur_disable(); + maps\_utility::stop_exploder(10); + common_scripts\_exploder::exploder(16); + level.anim_struct_exfil maps\_anim::anim_single(var_00,"exfil"); +} + +//Function Number: 29 +plant_tracker_vo() +{ + level.allies[0] maps\_utility::smart_dialogue("ie_crmk_onme3"); + wait(1); + level.allies[0] maps\_utility::smart_dialogue("ie_crmk_goingaftercargo"); + wait(1); + maps\_utility::smart_radio_dialogue("ie_nox_jetloaded"); + wait(1); + level.allies[0] maps\_utility::smart_dialogue("ie_crmk_pointdelta"); + common_scripts\utility::flag_wait("start_exfil_moment_final"); + wait(0.5); + level.allies[0] maps\_utility::smart_dialogue("crsh_crmk_dropemquick"); + level.allies[0] maps\_utility::smart_dialogue("crsh_crmk_clearemout"); + wait(1); + level.allies[0] maps\_utility::smart_dialogue("ie_crmk_run1"); + wait(1); + level.allies[0] maps\_utility::smart_dialogue("ie_crmk_grappleready1"); + level.allies[0] maps\_utility::smart_dialogue("crsh_crmk_gogogo"); +} + +//Function Number: 30 +plant_tracker_waits() +{ + level.exfil_arms waittillmatch("enable_movement","single anim"); + level.player lerpviewangleclamp(0.5,0.25,0.25,10,10,10,10); + level.exfil_arms waittillmatch("disable_movement","single anim"); + level.player lerpviewangleclamp(1,0.25,0.25,0,0,0,0); + level.exfil_arms waittillmatch("fade_start","single anim"); + maps\_utility::nextmission(); +} + +//Function Number: 31 +plant_tracker_rumbles() +{ + level.player waittill("grappled_to_vtol"); + var_00 = level.player maps\_utility::get_rumble_ent("ie_vtol_ride_rumble_low"); + var_00 maps\_utility::set_rumble_intensity(0.5); + level.vtol waittillmatch("rumble_heavy1","single anim"); + var_00 delete(); + var_00 = level.player maps\_utility::get_rumble_ent("ie_vtol_ride_rumble"); + var_00 thread maps\_utility::rumble_ramp_to(0.3,2); + common_scripts\utility::flag_wait("DETACHED_FROM_VTOL"); + var_00 maps\_utility::rumble_ramp_off(3); + level.exfil_arms waittillmatch("player_impact_water_rumble","single anim"); + var_00 = level.player maps\_utility::get_rumble_ent("ie_vtol_ride_rumble"); + var_00 maps\_utility::set_rumble_intensity(0.5); + wait(0.1); + var_00 maps\_utility::rumble_ramp_off(2); +} + +//Function Number: 32 +tracking_device_waits() +{ + level.vtol waittillmatch("tracker_anim_start","single anim"); + level.tracking_device show(); + level.tracking_device maps\_anim::anim_single_solo(level.tracking_device,"tracking_device_plant"); +} + +//Function Number: 33 +breathers() +{ + var_00 = maps\_utility::spawn_anim_model("generic_prop_raven"); + var_00 hide(); + level.anim_struct_exfil maps\_anim::anim_first_frame_solo(var_00,"exfil_breathers"); + var_01 = spawn("script_model",(0,0,0)); + var_01 setmodel("udt_respirator_small"); + var_01 linkto(var_00,"j_prop_1",(0,0,0),(0,0,0)); + var_02 = spawn("script_model",(0,0,0)); + var_02 setmodel("udt_respirator_small"); + var_02 linkto(var_00,"j_prop_2",(0,0,0),(0,0,0)); + level.vtol waittillmatch("ally_anim_start","single anim"); + thread sentinel_team_vo(); + level.anim_struct_exfil maps\_anim::anim_single_solo(var_00,"exfil_breathers"); +} + +//Function Number: 34 +detach_motion_blur_enable() +{ + setsaveddvar("r_mbEnable",2); + setsaveddvar("r_mbVelocityScalar",4); +} + +//Function Number: 35 +detach_motion_blur_disable() +{ + setsaveddvar("r_mbEnable",0); + setsaveddvar("r_mbVelocityScalar",1); +} + +//Function Number: 36 +running_up_the_stairs_fail() +{ + level endon("start_exfil_moment"); + wait(5); + level.allies[0] maps\_utility::smart_dialogue("ie_crmk_moveit3"); + wait(5); + level.allies[0] maps\_utility::smart_dialogue("ie_crmk_takeoff"); + wait(5); + maps\_player_death::set_deadquote(&"IRONS_ESTATE_VTOL_GRAPPLE_FAIL"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 37 +landing_pad_lights_off() +{ + var_00 = getent("landing_pad_lights","targetname"); + var_00 hide(); +} + +//Function Number: 38 +landing_pad_lights_on() +{ + var_00 = getent("landing_pad_lights","targetname"); + var_00 show(); +} + +//Function Number: 39 +sentinel_team_vo() +{ + wait(7); + maps\_utility::smart_radio_dialogue("ie_ss1_getem"); + wait(1); + maps\_utility::smart_radio_dialogue("ie_kp_bringemhome"); +} + +//Function Number: 40 +cloud_fx() +{ + common_scripts\utility::flag_wait("player_started_vtol_grapple"); + common_scripts\_exploder::exploder(11); + common_scripts\_exploder::exploder(12); +} + +//Function Number: 41 +dive_fx() +{ + common_scripts\utility::flag_wait("DETACHED_FROM_VTOL"); + maps\_utility::stop_exploder(11); + maps\_utility::stop_exploder(12); + wait(1.4); + common_scripts\_exploder::exploder(10); +} + +//Function Number: 42 +landing_pad_lift_upper_static_setup() +{ + var_00 = getent("landing_pad_lift_upper_static","targetname"); + var_00 hide(); + var_00 notsolid(); + common_scripts\utility::flag_wait("start_exfil_moment_final"); + level.anim_struct_exfil maps\_anim::anim_first_frame_solo(level.lower_stairwell_door,"lower_stairwell_door"); + var_00 show(); + var_00 solid(); + var_01 = getent("landing_pad_lift","targetname"); + var_01 delete(); +} \ No newline at end of file diff --git a/AW/PC/maps/irons_estate_precache.gsc b/AW/PC/maps/irons_estate_precache.gsc new file mode 100644 index 0000000..ec2f789 --- /dev/null +++ b/AW/PC/maps/irons_estate_precache.gsc @@ -0,0 +1,18 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: irons_estate_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:32:08 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + vehicle_scripts\_civ_domestic_sedan_01::main("vehicle_civ_domestic_sedan_01",undefined,"script_vehicle_civ_domestic_sedan_01"); + vehicle_scripts\_civ_domestic_truck::main("vehicle_civ_domestic_truck",undefined,"script_vehicle_civ_domestic_truck"); + vehicle_scripts\_civ_domestic_truck::main("vehicle_civ_domestic_truck_grn",undefined,"script_vehicle_civ_domestic_truck_grn"); + vehicle_scripts\_pdrone_security::main("base_drone_security_01","pdrone_security","script_vehicle_pdrone_security"); +} \ No newline at end of file diff --git a/AW/PC/maps/irons_estate_recon.gsc b/AW/PC/maps/irons_estate_recon.gsc new file mode 100644 index 0000000..5dff9db --- /dev/null +++ b/AW/PC/maps/irons_estate_recon.gsc @@ -0,0 +1,192 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: irons_estate_recon.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 9 + * Decompile Time: 133 ms + * Timestamp: 4/22/2024 2:32:08 AM +*******************************************************************/ + +//Function Number: 1 +recon_start() +{ + level.start_point_scripted = "recon"; + maps\irons_estate::irons_estate_objectives(); + maps\irons_estate_code::spawn_player_checkpoint(); + maps\irons_estate_code::spawn_allies(); + level.player maps\_tagging::tagging_set_enabled(0); + thread maps\irons_estate_infil::poolhouse_enemies(); + thread maps\irons_estate_code::tennis_court_floor(1); + level.recon_anim_struct = common_scripts\utility::getstruct("recon_anim_struct","targetname"); + thread maps\irons_estate_code::player_kill_trigger("waterfall_bottom_kill_trigger"); + soundscripts\_snd::snd_message("start_recon"); + maps\_utility::stop_exploder(7900); +} + +//Function Number: 2 +recon_main() +{ + level.start_point_scripted = "recon"; + level.stealth_fail_fast = 1; + thread recon_begin(); + common_scripts\utility::flag_wait("recon_end"); + var_00 = getent("waterfall_top_trigger","targetname"); + var_00 thread maps\irons_estate_code::waterfall_save("player_in_estate"); +} + +//Function Number: 3 +recon_begin() +{ + common_scripts\utility::flag_init("enable_recon"); + common_scripts\utility::flag_init("player_started_recon"); + common_scripts\utility::flag_init("target_tracking_online"); + wait 0.05; + thread handle_recon(); + level.allies[0] thread recon_allies(); + level.allies[1] thread recon_allies(); + level.allies[2] thread recon_allies(); + thread recon_vo(); + soundscripts\_snd::snd_message("aud_recon_foley"); +} + +//Function Number: 4 +handle_recon() +{ + thread maps\irons_estate_code::player_kill_trigger("waterfall_top_kill_trigger"); + common_scripts\utility::flag_wait("enable_recon"); + common_scripts\utility::flag_wait("target_tracking_online"); + thread maps\_utility::hintdisplayhandler("HINT_TAGGING"); + level.enemy_tagged = undefined; + var_00 = getaiarray("axis"); + common_scripts\utility::array_thread(var_00,::enemies_tagged); + common_scripts\utility::flag_wait("target_tracking_online"); + level.player maps\_tagging::tagging_set_enabled(1); + level.player maps\_tagging::tagging_set_marking_enabled(1); + level.player.tagging["tagging_fade_max"] = 4100; + level waittill("enemy_tagged"); + common_scripts\utility::flag_set("ENTITY_TAGGED"); +} + +//Function Number: 5 +enemies_tagged() +{ + level endon("enemy_tagged"); + while(!isdefined(self.tagged)) + { + wait(0.05); + } + + level notify("enemy_tagged"); +} + +//Function Number: 6 +recon_allies() +{ + self.ignoreall = 1; + if(self.animname == "knox") + { + level.knox_pda = spawn("script_model",(0,0,0)); + level.knox_pda setmodel("greece_drone_control_pad"); + level.knox_pda linkto(self,"tag_weapon_left",(0,0,0),(0,0,0)); + } + + if(!isdefined(level.recon_anim_struct)) + { + level.recon_anim_struct = common_scripts\utility::getstruct("recon_anim_struct","targetname"); + } + + if(self.animname != "knox") + { + var_00 = getnode(self.animname + "_infil_grapple_node_1","targetname"); + maps\_utility::set_goal_radius(16); + self setgoalnode(var_00); + level.recon_anim_struct maps\_anim::anim_single_solo(self,"recon_enter"); + thread cormack_ilana_infil(); + return; + } + + level.recon_anim_struct thread maps\_anim::anim_single_solo(self,"recon_enter"); + wait(18.5); + playfxontag(level._effect["ie_light_teal_recon_knox"],level.knox_pda,"tag_origin"); + self waittillmatch("end","single anim"); + common_scripts\utility::flag_set("enable_recon"); + level.recon_anim_struct thread maps\_anim::anim_loop_solo(self,"recon_idle","stop_loop"); + level waittill("ar_optics_done"); + level.recon_anim_struct notify("stop_loop"); + level.recon_anim_struct maps\_anim::anim_single_solo(self,"recon_exit"); + level.recon_anim_struct thread maps\_anim::anim_loop_solo(self,"recon_exit_idle","stop_loop"); + self.is_looping = 1; +} + +//Function Number: 7 +cormack_ilana_infil() +{ + level.player endon("overlook_balcony_land"); + level endon("player_in_estate"); + thread cormack_ilana_cleanup(); + self.dontavoidplayer = 1; + self.nododgemove = 1; + if(self.animname == "ilana") + { + wait(0.75); + } + + var_00 = getnode(self.animname + "_infil_grapple_node_1","targetname"); + maps\_utility::set_goal_radius(16); + self setgoalnode(var_00); + self waittill("goal"); + var_00 = getnode(self.animname + "_infil_grapple_node_2","targetname"); + maps\_utility::set_goal_radius(16); + self setgoalnode(var_00); + self waittill("goal"); + if(self.animname == "ilana") + { + wait(0.5); + } + + var_00 = getnode(self.animname + "_infil_grapple_node_3","targetname"); + maps\_utility::set_goal_radius(16); + self setgoalnode(var_00); + self waittill("goal"); + if(isdefined(self.magic_bullet_shield)) + { + maps\_utility::stop_magic_bullet_shield(); + } + + self delete(); +} + +//Function Number: 8 +cormack_ilana_cleanup() +{ + level.player waittill("overlook_balcony_land"); + if(isdefined(self)) + { + if(isdefined(self.magic_bullet_shield)) + { + maps\_utility::stop_magic_bullet_shield(); + } + + self delete(); + } +} + +//Function Number: 9 +recon_vo() +{ + level endon("_stealth_spotted"); + common_scripts\utility::flag_wait("enable_recon"); + level.allies[2] maps\_utility::smart_dialogue("ie_nox_targettracking"); + level.allies[2] maps\_utility::smart_dialogue("ie_nox_tagetasset"); + common_scripts\utility::flag_set("target_tracking_online"); + common_scripts\utility::flag_wait("ENTITY_TAGGED"); + wait(0.5); + level.allies[2] maps\_utility::smart_dialogue("ie_nox_opticscheckout"); + level.allies[2] maps\_utility::smart_dialogue("ie_nox_syncingar"); + level notify("ar_optics_done"); + wait(1); + level.allies[2] maps\_utility::smart_dialogue("ie_nox_gettocenter"); + wait(1); + common_scripts\utility::flag_set("recon_end"); +} \ No newline at end of file diff --git a/AW/PC/maps/irons_estate_security_center.gsc b/AW/PC/maps/irons_estate_security_center.gsc new file mode 100644 index 0000000..96c9d8a --- /dev/null +++ b/AW/PC/maps/irons_estate_security_center.gsc @@ -0,0 +1,279 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: irons_estate_security_center.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 11 + * Decompile Time: 163 ms + * Timestamp: 4/22/2024 2:32:09 AM +*******************************************************************/ + +//Function Number: 1 +security_center_start() +{ + level.start_point_scripted = "security_center"; + maps\irons_estate::irons_estate_objectives(); + maps\irons_estate_code::spawn_player_checkpoint(); + maps\irons_estate_code::spawn_allies(); + thread maps\irons_estate_code::handle_player_abandoned_mission("nox"); + thread maps\irons_estate_infil::poolhouse_enemies(); + thread maps\irons_estate_code::tennis_court_floor(1); + thread maps\irons_estate_code::player_kill_trigger("waterfall_top_kill_trigger"); + thread drone_setup_before_emp(); + thread security_center_fan_blades(); + soundscripts\_snd::snd_message("start_security_center"); + var_00 = getentarray("security_center_light_hatch","targetname"); + thread maps\irons_estate_code::security_center_lights(undefined,var_00,50000); + common_scripts\_exploder::exploder(6611); + common_scripts\utility::flag_set("player_in_estate"); + var_01 = common_scripts\utility::getstruct("security_center_rooftop_obj","targetname"); + var_02 = common_scripts\utility::getstruct("security_center_emp_xprompt","targetname"); + objective_add(maps\_utility::obj("security_center"),"current",&"IRONS_ESTATE_OBJ_SECURITY_CENTER"); + objective_position(maps\_utility::obj("security_center"),var_02.origin); + objective_setpointertextoverride(maps\_utility::obj("security_center"),&"IRONS_ESTATE_PLANT"); + thread maps\irons_estate_code::handle_objective_marker(var_02,var_01,"player_planting_emp",50); +} + +//Function Number: 2 +security_center_main() +{ + level.start_point_scripted = "security_center"; + common_scripts\utility::flag_set("security_center_begin"); + thread security_center_begin(); + common_scripts\utility::flag_wait("security_center_end"); + maps\_utility::autosave_stealth(); +} + +//Function Number: 3 +security_center_begin() +{ + level.player.grapple["dist_max"] = 800; + thread handle_security_center(); +} + +//Function Number: 4 +handle_security_center() +{ + thread maps\irons_estate_code::security_center_main_screen_bink(1); + var_00 = getent("security_center_desk_screen","targetname"); + var_00 hide(); + thread plant_emp_setup(); + common_scripts\utility::flag_wait("security_center_enter_anim_done"); + common_scripts\utility::flag_set("security_center_end"); + thread maps\irons_estate_fx::sec_godray(); +} + +//Function Number: 5 +drone_setup_before_emp() +{ + var_00 = getentarray("security_center_drone","targetname"); + foreach(var_02 in var_00) + { + playfxontag(level._effect["ie_drone_eye_emissive_bootup"],var_02,"tag_main_camera"); + } + + common_scripts\utility::flag_wait("emp_detonated"); + foreach(var_02 in var_00) + { + stopfxontag(level._effect["ie_drone_eye_emissive_bootup"],var_02,"tag_main_camera"); + } +} + +//Function Number: 6 +security_center_fan_blades() +{ + var_00 = getentarray("fan_blade","targetname"); + foreach(var_02 in var_00) + { + var_02 thread security_center_fan_blades_internal(); + } +} + +//Function Number: 7 +security_center_fan_blades_internal() +{ + var_00 = common_scripts\utility::spawn_tag_origin(); + var_00.angles = self.angles; + self linkto(var_00,"tag_origin"); + if(level.start_point_scripted == "infil" || level.start_point_scripted == "security_center") + { + while(!common_scripts\utility::flag("emp_detonated")) + { + self rotatebylinked((0,180,0),0.25); + self waittill("rotatedone"); + } + + self rotatebylinked((0,180,0),0.25,0,0); + self waittill("rotatedone"); + self rotatebylinked((0,180,0),0.5,0,0); + self waittill("rotatedone"); + self rotatebylinked((0,180,0),1,0,0); + self waittill("rotatedone"); + self rotatebylinked((0,180,0),2,0,0); + } + + if(level.start_point_scripted == "security_center" || level.start_point_scripted == "hack_security") + { + common_scripts\utility::flag_wait("player_is_exiting_security_center"); + } + + self rotatebylinked((0,180,0),2,0,0); + self waittill("rotatedone"); + self rotatebylinked((0,180,0),1,0,0); + self waittill("rotatedone"); + self rotatebylinked((0,180,0),0.5,0,0); + self waittill("rotatedone"); + self rotatebylinked((0,180,0),0.25,0,0); + self waittill("rotatedone"); + while(!common_scripts\utility::flag("penthouse_end")) + { + self linkto(var_00,"tag_origin"); + self rotatebylinked((0,180,0),0.25); + self waittill("rotatedone"); + } + + if(isdefined(self)) + { + self delete(); + } + + if(isdefined(var_00)) + { + var_00 delete(); + } +} + +//Function Number: 8 +plant_emp_setup() +{ + level.security_center_anim_struct = common_scripts\utility::getstruct("security_center_anim_struct","targetname"); + var_00 = getent("emp_device_position","targetname"); + level.emp_device_obj = spawn("script_model",(0,0,0)); + level.emp_device_obj setmodel("mutecharge_obj"); + level.emp_device_obj.angles = var_00.angles; + level.emp_device_obj.origin = var_00.origin; + level.emp = maps\_utility::spawn_anim_model("emp"); + level.emp hide(); + maps\irons_estate_code::security_center_player_rig_and_hatch_door_setup(); + level.player_and_hatch_doors[3] = level.emp; + level.security_center_anim_struct maps\_anim::anim_first_frame(level.player_and_hatch_doors,"plant_emp"); + level.security_center_hatch_trigger = getent("security_center_hatch_trigger","targetname"); + level.security_center_rooftop_obj = common_scripts\utility::getstruct("security_center_rooftop_obj","targetname"); + thread maps\irons_estate_code::delay_scripting_if_stealth_broken(level.security_center_hatch_trigger,"player_planting_emp",level.emp_device_obj,::plant_emp_trigger); + plant_emp_trigger(); +} + +//Function Number: 9 +plant_emp_trigger() +{ + level endon("_stealth_spotted"); + level endon("someone_became_alert"); + level endon("drones_investigating"); + if(common_scripts\utility::flag("_stealth_spotted") || common_scripts\utility::flag("someone_became_alert") || common_scripts\utility::flag("drones_investigating")) + { + return; + } + + thread security_center_vo(); + level.security_center_hatch_trigger thread maps\_utility::addhinttrigger(&"IRONS_ESTATE_EMP",&"IRONS_ESTATE_EMP_PC"); + level.security_center_hatch_trigger waittill("trigger"); + level.security_center_hatch_trigger delete(); + soundscripts\_snd::snd_message("aud_security_plant_emp"); + plant_emp(); +} + +//Function Number: 10 +plant_emp() +{ + level notify("player_planting_emp"); + common_scripts\utility::flag_set("player_planting_emp"); + setsaveddvar("objectiveHide",1); + level.play_ally_warning_vo = undefined; + level.ally_vo_org stopsounds(); + wait(0.05); + level.player thread maps\_tagging::tagging_set_binocs_enabled(0); + level.player thread maps\irons_estate_stealth::irons_estate_whistle(0); + level.player freezecontrols(1); + level.player thread maps\_shg_utility::disable_features_entering_cinema(1); + if(level.player getstance() != "stand") + { + level.player setstance("stand"); + } + + level.player allowcrouch(0); + level.player disableweapons(); + level.player playerlinktoblend(level.player_rig,"tag_player",0.6); + level.security_center_anim_struct thread maps\_anim::anim_single(level.player_and_hatch_doors,"plant_emp"); + wait(0.6); + level.emp_device_obj delete(); + level.player_rig show(); + level.emp show(); + level.player playrumbleonentity("light_1s"); + level.player_rig waittillmatch("lights_off","single anim"); + common_scripts\utility::flag_set("emp_detonated"); + level.player playrumbleonentity("light_1s"); + level.player thread maps\_tagging::tagging_set_enabled(0); + var_00 = getentarray("security_center_light","targetname"); + thread maps\irons_estate_code::security_center_lights(1,var_00); + var_01 = getentarray("security_center_light_hatch","targetname"); + thread maps\irons_estate_code::security_center_lights(1,var_01); + var_02 = getentarray("ac_unit_emissive","targetname"); + foreach(var_04 in var_02) + { + var_04 thread maps\irons_estate_code::security_center_script_brushmodels(1); + } + + var_06 = getent("security_center_ladder_light","targetname"); + var_06 thread maps\irons_estate_code::security_center_script_brushmodels(1); + var_07 = getentarray("server_lights","targetname"); + foreach(var_09 in var_07) + { + var_09 thread maps\irons_estate_code::security_center_script_brushmodels(1); + } + + var_0B = getent("security_center_hatch_window_cards","targetname"); + var_0B thread maps\irons_estate_code::security_center_script_brushmodels(1); + playfxontag(common_scripts\utility::getfx("ie_emp"),level.emp,"tag_vfx_attach"); + maps\_utility::stop_exploder(6611); + wait(3.25); + level.player playrumbleonentity("light_1s"); + wait(0.5); + level.player playrumbleonentity("light_1s"); + wait(6.3); + level.player playrumbleonentity("light_1s"); + level.player_rig waittillmatch("end","single anim"); + thread maps\irons_estate_code::timer(120,10,undefined,&"IRONS_ESTATE_SECURITY_TIMER"); + level.player_rig hide(); + level.player_and_hatch_doors = common_scripts\utility::array_remove(level.player_and_hatch_doors,level.emp); + level.emp delete(); + level.player unlink(); + level.player enableweapons(); + level.player allowcrouch(1); + level.player freezecontrols(0); + level.player thread maps\_shg_utility::enable_features_exiting_cinema(1); + common_scripts\utility::flag_set("security_center_enter_anim_done"); +} + +//Function Number: 11 +security_center_vo() +{ + level endon("_stealth_spotted"); + level endon("someone_became_alert"); + level endon("drones_investigating"); + if(common_scripts\utility::flag("_stealth_spotted") || common_scripts\utility::flag("someone_became_alert") || common_scripts\utility::flag("drones_investigating")) + { + return; + } + + wait(0.5); + var_00 = getent("security_center_rooftop_trigger","targetname"); + if(!level.player istouching(var_00)) + { + var_00 waittill("trigger"); + } + + maps\_utility::smart_radio_dialogue("ie_nox_microemp"); + common_scripts\utility::flag_wait("emp_detonated"); + wait(6.5); + maps\_utility::smart_radio_dialogue("ie_nox_minutesbehind"); +} \ No newline at end of file diff --git a/AW/PC/maps/irons_estate_stealth.gsc b/AW/PC/maps/irons_estate_stealth.gsc new file mode 100644 index 0000000..a18e489 --- /dev/null +++ b/AW/PC/maps/irons_estate_stealth.gsc @@ -0,0 +1,1574 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: irons_estate_stealth.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 52 + * Decompile Time: 756 ms + * Timestamp: 4/22/2024 2:32:12 AM +*******************************************************************/ + +//Function Number: 1 +irons_estate_stealth_setup() +{ + setdvarifuninitialized("irons_stealth_lose_interest_time",45); + setsaveddvar("ai_threatSightDelayRateMax",0.1); + setsaveddvar("ai_threatSightDelayRateMin",0.3); + maps\_stealth_utility::stealth_set_default_stealth_function("irons_estate_stealth_custom",::irons_estate_stealth_custom); + irons_estate_stealth_settings_normal(); + thread player_broke_stealth(); + thread player_stealth_audio(); + level.player thread player_shadow_monitor(); + level.patrol_anim_sets = []; + level.patrol_anim_sets[level.patrol_anim_sets.size] = "gundown"; + level.patrol_anim_sets[level.patrol_anim_sets.size] = "creepwalk"; + thread irons_estate_whistle(); + level.player thread irons_estate_jump_monitor(); + maps\_stealth_utility::stealth_corpse_collect_func(::irons_estate_collect_corpse_override); + level.alert_sound = 0; +} + +//Function Number: 2 +irons_estate_collect_corpse_override() +{ + var_00 = getcorpsearray(); + var_01 = []; + foreach(var_03 in var_00) + { + if(isdefined(var_03.target) && var_03.target == "ignore_corpse") + { + continue; + } + + var_01[var_01.size] = var_03; + } + + return var_01; +} + +//Function Number: 3 +irons_estate_stealth_custom() +{ + maps\_stealth_utility::stealth_plugin_basic(); + if(isplayer(self)) + { + return; + } + + switch(self.team) + { + case "axis": + maps\_stealth_utility::stealth_plugin_threat(); + maps\_stealth_utility::stealth_pre_spotted_function_custom(::irons_estate_custom_pre_spotted); + maps\_stealth_utility::stealth_enable_seek_player_on_spotted(); + maps\_stealth_utility::stealth_plugin_corpse(); + maps\_stealth_utility::stealth_plugin_event_all(undefined,["explode"]); + irons_estate_custom_state_behavior(); + maps\_stealth_utility::stealth_plugin_event_custom("reaction_generic",::enemy_event_reaction_irons_generic,::maps\_stealth_animation_funcs::enemy_animation_nothing,0); + maps\_stealth_utility::stealth_plugin_event_custom("grapple_impact",::enemy_event_reaction_grapple_impact,::maps\_stealth_animation_funcs::enemy_animation_nothing,0); + maps\_stealth_utility::stealth_plugin_event_custom("witness_kill",::enemy_event_reaction_witness_kill,::maps\_stealth_animation_funcs::enemy_animation_nothing,0); + maps\_stealth_utility::stealth_plugin_event_custom("whistle",::enemy_event_reaction_whistle,::maps\_stealth_animation_funcs::enemy_animation_nothing,0); + maps\_stealth_utility::stealth_plugin_event_custom("gunshot_teammate",::enemy_event_reaction_gunshot,::maps\_stealth_animation_funcs::enemy_animation_nothing,0); + maps\_stealth_utility::stealth_plugin_event_custom("flashed",::enemy_event_reaction_gunshot,::maps\_stealth_animation_funcs::enemy_animation_nothing,0); + thread irons_estate_stealth_ai_status_monitor(); + thread maps\irons_estate_code::enemy_alert_vo(); + thread maps\irons_estate_code::watch_for_death(); + self.threatsightdelayenabled = 1; + self.threatsightdelayfalloff = 1; + break; + + case "allies": + maps\_stealth_utility::stealth_plugin_aicolor(); + maps\_stealth_utility::stealth_plugin_accuracy(); + maps\_stealth_utility::stealth_plugin_smart_stance(); + break; + } +} + +//Function Number: 4 +irons_estate_stealth_settings_normal() +{ + level.corpse_behavior_doesnt_require_player_sight = 1; + var_00 = []; + var_00["ai_eventDistGunShot"] = []; + var_00["ai_eventDistGunShot"]["spotted"] = 1024; + var_00["ai_eventDistGunShot"]["hidden"] = 1024; + var_00["ai_eventDistGunShotTeam"] = []; + var_00["ai_eventDistGunShotTeam"]["spotted"] = 650; + var_00["ai_eventDistGunShotTeam"]["hidden"] = 450; + var_00["ai_eventDistNewEnemy"] = []; + var_00["ai_eventDistNewEnemy"]["spotted"] = 1024; + var_00["ai_eventDistNewEnemy"]["hidden"] = 512; + var_00["ai_eventDistExplosion"] = []; + var_00["ai_eventDistExplosion"]["spotted"] = 2048; + var_00["ai_eventDistExplosion"]["hidden"] = 2048; + var_00["ai_eventDistDeath"] = []; + var_00["ai_eventDistDeath"]["spotted"] = 500; + var_00["ai_eventDistDeath"]["hidden"] = 500; + var_00["ai_eventDistPain"] = []; + var_00["ai_eventDistPain"]["spotted"] = 500; + var_00["ai_eventDistPain"]["hidden"] = 500; + var_00["ai_eventDistBullet"] = []; + var_00["ai_eventDistBullet"]["spotted"] = 300; + var_00["ai_eventDistBullet"]["hidden"] = 200; + var_00["ai_eventDistFootstepWalk"] = []; + var_00["ai_eventDistFootstepWalk"]["spotted"] = 200; + var_00["ai_eventDistFootstepWalk"]["hidden"] = 50; + var_00["ai_eventDistFootstep"] = []; + var_00["ai_eventDistFootstep"]["spotted"] = 300; + var_00["ai_eventDistFootstep"]["hidden"] = 100; + var_00["ai_eventDistFootstepSprint"] = []; + var_00["ai_eventDistFootstepSprint"]["spotted"] = 400; + var_00["ai_eventDistFootstepSprint"]["hidden"] = 150; + var_00["ai_eventDistGrenadePing"] = []; + var_00["ai_eventDistGrenadePing"]["spotted"] = 512; + var_00["ai_eventDistGrenadePing"]["hidden"] = 512; + var_00["ai_eventDistProjImpact"] = []; + var_00["ai_eventDistProjImpact"]["spotted"] = 256; + var_00["ai_eventDistProjImpact"]["hidden"] = 256; + var_00["ai_eventDistProjPing"] = []; + var_00["ai_eventDistProjPing"]["spotted"] = 128; + var_00["ai_eventDistProjPing"]["hidden"] = 128; + var_00["ai_eventDistSilencedShot"] = []; + var_00["ai_eventDistSilencedShot"]["spotted"] = 600; + var_00["ai_eventDistSilencedShot"]["hidden"] = 100; + maps\_stealth_utility::stealth_ai_event_dist_custom(var_00); + var_01 = []; + var_01["prone"] = 600; + var_01["crouch"] = 800; + var_01["stand"] = 1000; + if(level.gameskill == 3) + { + foreach(var_04, var_03 in var_01) + { + var_01[var_04] = var_01[var_04] * 1.33; + } + } + + var_05 = []; + var_05["prone"] = 1000; + var_05["crouch"] = 1250; + var_05["stand"] = 1500; + maps\_stealth_utility::stealth_detect_ranges_set(var_01,var_05); + var_06 = []; + var_06["player_dist"] = 1000; + var_06["sight_dist"] = 500; + var_06["detect_dist"] = 500; + maps\_stealth_utility::stealth_corpse_ranges_custom(var_06); + maps\_stealth_utility::stealth_alert_level_duration(0.75); +} + +//Function Number: 5 +irons_estate_custom_state_behavior() +{ + var_00 = []; + var_00["hidden"] = ::irons_estate_enemy_state_hidden; + var_00["spotted"] = ::irons_estate_enemy_state_spotted; + maps\_stealth_behavior_enemy::enemy_custom_state_behavior(var_00); + var_01["reset"] = ::irons_estate_enemy_normal_behavior; + var_01["warning1"] = ::irons_estate_enemy_warning1_behavior; + var_01["warning2"] = ::irons_estate_enemy_warning2_behavior; + var_01["attack"] = ::irons_estate_enemy_attack_behavior; + var_01["normal"] = ::irons_estate_enemy_normal_behavior; + maps\_stealth_utility::stealth_threat_behavior_custom(var_01); +} + +//Function Number: 6 +irons_estate_enemy_state_hidden() +{ + self notify("turn_off_stealth_spotted_arrow"); + self.a.disablelongdeath = 1; + self.grenadeammo = 0; + self.fovcosine = cos(60); + self.fovcosinez = cos(10); + self.fovcosinebusy = cos(84); + self.favoriteenemy = undefined; + self.dontattackme = 1; + self.dontevershoot = 1; + thread maps\_utility::set_battlechatter(0); + if(self.type == "dog") + { + return; + } + + self.diequietly = 1; + self clearenemy(); +} + +//Function Number: 7 +irons_estate_enemy_state_spotted(param_00) +{ + self.fovcosine = cos(89); + self.fovcosinez = 0; + if(!isdefined(self.dog_attacking_me)) + { + self.ignoreall = 0; + thread maps\_utility::set_battlechatter(1); + } + + self.dontattackme = undefined; + self.dontevershoot = undefined; + if(isdefined(self.oldfixednode)) + { + self.fixednode = self.oldfixednode; + } + + if(self.type != "dog") + { + self.diequietly = 0; + if(!isdefined(param_00)) + { + maps\_utility::clear_run_anim(); + maps\_stealth_shared_utilities::enemy_stop_current_behavior(); + } + } + else + { + self.script_growl = undefined; + self.script_nobark = undefined; + } + + if(isdefined(param_00)) + { + return; + } + + if(isdefined(level._stealth.group.spotted_enemy)) + { + var_01 = level._stealth.group.spotted_enemy[self.script_stealthgroup]; + if(isdefined(var_01)) + { + self getenemyinfo(var_01); + } + } +} + +//Function Number: 8 +irons_estate_custom_pre_spotted() +{ + self.battlechatter = 0; + wait(0.2); + self.battlechatter = 1; +} + +//Function Number: 9 +wait_till_every_thing_stealth_normal_for(param_00) +{ + for(;;) + { + if(maps\_stealth_utility::stealth_is_everything_normal()) + { + wait(param_00); + if(maps\_stealth_utility::stealth_is_everything_normal()) + { + return; + } + } + + wait(1); + } +} + +//Function Number: 10 +irons_estate_stealth_achievement() +{ + level endon("player_killed_someone"); + level endon("_stealth_spotted"); + level endon("someone_became_alert"); + common_scripts\utility::flag_wait("meet_cormack_pt2_end"); + thread maps\irons_estate_code::temp_dialogue("Cormack","Nice work, Mitchell. No kills and you weren\'t spotted.",1); +} + +//Function Number: 11 +enemy_event_reaction_investigate(param_00,param_01,param_02) +{ + self notify("enemy_event_reaction_investigate"); + self endon("enemy_event_reaction_investigate"); + if(!isdefined(self.animname)) + { + self.animname = "generic"; + } + + if(isdefined(self.script_animation) && self.script_animation == "unarmed") + { + childthread enemy_event_set_run_anim(0); + self.script_animation = "investigate"; + childthread enemy_event_set_run_anim(1.2); + } + else + { + self.script_animation = undefined; + self.disablearrivals = undefined; + } + + enemy_event_reaction_generic(param_00,param_01,param_02); + if(!common_scripts\utility::flag("_stealth_spotted")) + { + self.script_animation = "unarmed"; + } +} + +//Function Number: 12 +enemy_event_set_run_anim(param_00) +{ + if(param_00 > 0) + { + wait(param_00); + } + + maps\_patrol::set_patrol_run_anim_array(); + self.disablearrivals = 1; +} + +//Function Number: 13 +enemy_event_reaction_generic(param_00,param_01,param_02) +{ + self notify("enemy_event_reaction"); + self endon("enemy_event_reaction"); + var_03 = self._stealth.logic.event.awareness_param[param_00]; + wait(0.05); + maps\_utility::ent_flag_waitopen("_stealth_behavior_reaction_anim_in_progress"); + if(isdefined(param_01) && param_01) + { + var_04 = maps\_stealth_shared_utilities::enemy_find_free_pathnode_closest(var_03,500,1); + } + else + { + var_04 = maps\_stealth_shared_utilities::enemy_find_free_pathnode_near(var_04,250,1); + } + + if(!isdefined(param_02) || !param_02) + { + thread maps\_stealth_shared_utilities::enemy_announce_huh(); + } + + if(!isdefined(self.animname)) + { + self.animname = "generic"; + } + + if(isdefined(var_04)) + { + irons_estate_enemy_investigate_position(var_04,undefined,param_02); + return; + } + + maps\_stealth_shared_utilities::enemy_reactto_and_lookaround(var_03); +} + +//Function Number: 14 +irons_estate_enemy_investigate_position(param_00,param_01,param_02) +{ + if(isdefined(param_00)) + { + if(!isdefined(param_02) || !param_02) + { + thread maps\_stealth_shared_utilities::enemy_react_and_displace_to(param_00,param_01); + } + + thread maps\_stealth_shared_utilities::enemy_runto_and_lookaround(param_00,param_01); + self.disablearrivals = 0; + self.disableexits = 0; + self waittill("goal"); + wait(randomfloatrange(5,8)); + return; + } + + wait(randomfloatrange(1,4)); +} + +//Function Number: 15 +enemy_event_reaction_alert_upward(param_00,param_01) +{ + self notify("enemy_event_reaction"); + self endon("enemy_event_reaction"); + self endon("death"); + if(self.ignoreall) + { + return; + } + + var_02 = self._stealth.logic.event.awareness_param[param_00]; + wait(0.05); + maps\_utility::ent_flag_waitopen("_stealth_behavior_reaction_anim_in_progress"); + thread maps\_stealth_threat_enemy::enemy_announce_alert(); + var_03 = self.fovcosine; + var_04 = self.fovcosinez; + var_05 = self.script_animation; + self.fovcosine = cos(89); + self.fovcosinez = 0; + self.script_animation = "upward"; + maps\_stealth_shared_utilities::enemy_reactto_and_lookaround(var_02); + self.fovcosine = var_03; + self.fovcosinez = var_04; + self.script_animation = var_05; +} + +//Function Number: 16 +enemy_event_reaction_irons_generic(param_00) +{ + self endon("death"); + if(self.ignoreall) + { + return; + } + + self.event_type = param_00; + enemy_event_reaction_generic(param_00); + thread reset_event_type(param_00); +} + +//Function Number: 17 +enemy_event_reaction_whistle(param_00) +{ + self endon("death"); + var_01 = isdefined(self.event_type) && self.event_type == param_00; + if(self.ignoreall) + { + return; + } + + if(isdefined(self.do_not_react_to_whistle)) + { + return; + } + + if(!isdefined(self.whistle_no_relay)) + { + childthread enemy_event_reaction_whistle_relay(param_00); + } + + self.whistle_no_relay = undefined; + if(!var_01) + { + self.whistle_count = 0; + } + + self.whistle_count = self.whistle_count + 1; + self.event_type = param_00; + if(self.whistle_count >= 3) + { + common_scripts\utility::flag_set("_stealth_spotted"); + thread enemy_event_reaction_gunshot(param_00); + } + else + { + self.custommovetransition = ::do_nothing; + enemy_event_reaction_investigate(param_00,1,var_01); + if(isdefined(self.whistle_tutorial_enemy)) + { + level notify("whistle_tutorial_enemy_going_back"); + } + } + + thread reset_event_type(param_00); +} + +//Function Number: 18 +enemy_event_reaction_explosion(param_00) +{ + self endon("death"); + if(self.ignoreall) + { + return; + } + + if(!isdefined(self.animname)) + { + self.animname = "generic"; + } + + maps\_stealth_event_enemy::enemy_event_reaction_explosion(param_00); +} + +//Function Number: 19 +enemy_event_reaction_grapple_impact(param_00) +{ + self endon("death"); + if(self.ignoreall) + { + return; + } + + self.event_type = param_00; + enemy_event_reaction_alert_upward(param_00,250); + thread reset_event_type(param_00); +} + +//Function Number: 20 +enemy_event_reaction_witness_kill(param_00) +{ + self endon("death"); + if(self.ignoreall) + { + return; + } + + var_01 = self._stealth.logic.event.awareness_param[param_00]; + if(witness_kill_valid(var_01)) + { + common_scripts\utility::flag_set("_stealth_spotted"); + thread enemy_event_reaction_gunshot(param_00); + } +} + +//Function Number: 21 +enemy_event_reaction_gunshot(param_00) +{ + self endon("death"); + if(self.ignoreall) + { + return; + } + + if(isdefined(self.alertlevel) && self.alertlevel == level._stealth.logic.alert_level_table["attack"]) + { + return; + } + + level.player thread ai_ignore_foliage_for_time(5); + thread enemy_know_player_for_time(5); + thread maps\_stealth_threat_enemy::enemy_alert_level_change("attack"); +} + +//Function Number: 22 +enemy_event_reaction_whistle_relay(param_00) +{ + var_01 = self._stealth.logic.event.awareness_param[param_00]; + var_02 = getnodesinradiussorted(var_01,300,100,500); + if(!isdefined(var_02) || var_02.size == 0) + { + return; + } + + if(isdefined(self.script_stealthgroup) && isdefined(level._stealth.group.groups[self.script_stealthgroup])) + { + foreach(var_04 in level._stealth.group.groups[self.script_stealthgroup]) + { + if(var_04 == self) + { + continue; + } + + wait(randomfloatrange(0.25,0.5)); + if(!isdefined(var_04)) + { + continue; + } + + var_05 = 0; + if(var_02.size > 1) + { + var_06 = int(var_02.size / 2); + var_05 = int(clamp(var_06 + randomint(var_06),0,var_02.size - 1)); + } + + var_04.whistle_no_relay = 1; + var_04 notify("whistle",var_02[var_05].origin); + } + } +} + +//Function Number: 23 +do_nothing() +{ +} + +//Function Number: 24 +witness_kill_valid(param_00) +{ + var_01 = self geteye(); + var_02 = anglestoforward(self.angles); + if(isai(self)) + { + var_02 = anglestoforward(self gettagangles("tag_eye")); + } + + var_03 = param_00 - var_01; + if(vectordot(vectornormalize(var_03),var_02) < self.fovcosine) + { + return 0; + } + + if(!sighttracepassed(var_01,param_00,0,self)) + { + return 0; + } + + return 1; +} + +//Function Number: 25 +reset_event_type(param_00) +{ + self endon("death"); + maps\_utility::ent_flag_wait("_stealth_normal"); + if(isdefined(self.event_type) && self.event_type == param_00) + { + self.event_type = undefined; + } +} + +//Function Number: 26 +ai_ignore_foliage_for_time(param_00) +{ + self notify("ai_ignore_foliage_for_time"); + self endon("ai_ignore_foliage_for_time"); + self endon("death"); + setsaveddvar("ai_foliageSeeThroughDist",10000); + wait(param_00); + setsaveddvar("ai_foliageSeeThroughDist",128); +} + +//Function Number: 27 +enemy_know_player_for_time(param_00) +{ + self notify("enemy_know_player_for_time"); + self endon("enemy_know_player_for_time"); + self endon("death"); + while(param_00 >= 0) + { + self getenemyinfo(level.player); + param_00 = param_00 - 0.05; + wait(0.05); + } +} + +//Function Number: 28 +stealth_ai_idle_and_react_custom(param_00,param_01,param_02,param_03,param_04) +{ + if(isdefined(param_04)) + { + } + + param_00 maps\_stealth_utility::stealth_insure_enabled(); + var_05 = param_00 maps\_stealth_shared_utilities::group_get_flagname("_stealth_spotted"); + if(common_scripts\utility::flag(var_05)) + { + return; + } + + var_06 = "stop_loop"; + param_00.allowdeath = 1; + if(!isdefined(param_04)) + { + thread maps\_anim::anim_generic_custom_animmode_loop(param_00,"gravity",param_01,param_03); + } + else + { + thread maps\_anim::anim_generic_loop(param_00,param_01,undefined,param_03); + } + + param_00 maps\_stealth_shared_utilities::ai_set_custom_animation_reaction(self,param_02,param_03,var_06); + maps\_utility::add_wait(::maps\_utility::waittill_msg,"stop_idle_proc"); + maps\_utility::add_func(::maps\_stealth_utility::stealth_ai_clear_custom_idle_and_react); + thread maps\_stealth_utility::do_wait_thread(); +} + +//Function Number: 29 +irons_estate_stealth_ai_status_monitor() +{ + self.stealth_vis_threat = 0; + childthread irons_estate_stealth_ai_status_thread(); + while(isdefined(self)) + { + self.stealth_last_alert = "normal"; + maps\_stealth_threat_enemy::enemy_set_alert_level("reset"); + var_00 = common_scripts\utility::waittill_any_return_parms("_stealth_enemy_alert_level_change","going_back","turn_off_stealth_spotted_arrow","death"); + if(!isdefined(self)) + { + break; + } + + if(var_00[0] == "_stealth_enemy_alert_level_change") + { + if(var_00[1] == "reset") + { + self.stealth_vis_threat = 0; + self.threatsightdelayfalloff = 1; + self.threatsightdelayenabled = 1; + self.stealth_last_alert = "normal"; + level.alert_sound = 0; + maps\_stealth_threat_enemy::enemy_set_alert_level("reset"); + level.aud_music_state = 0; + } + else if(var_00[1] == "warning1") + { + self.stealth_vis_threat = 0.33; + self.threatsightdelayfalloff = 0; + self.threatsightdelayenabled = 1; + if(!isdefined(level.stealth_disabled) || !level.stealth_disabled) + { + level notify("drone_investigate",level.player.origin,self); + } + + if(level.alert_sound == 0 && !common_scripts\utility::flag("_stealth_spotted")) + { + level.alert_sound = 1; + soundscripts\_snd_playsound::snd_play_2d("irons_spotted_alert"); + level notify("stop_seen_sound"); + } + + level.aud_music_state = 1; + self.stealth_last_alert = "warning1"; + maps\_stealth_threat_enemy::enemy_set_alert_level("warning"); + } + else if(var_00[1] == "warning2") + { + self.stealth_vis_threat = 0.66; + self.threatsightdelayfalloff = 0; + self.threatsightdelayenabled = 1; + if(!isdefined(level.stealth_disabled) || !level.stealth_disabled) + { + level notify("drone_investigate",level.player.origin,self); + } + + if(level.alert_sound == 0 && !common_scripts\utility::flag("_stealth_spotted")) + { + level.alert_sound = 1; + soundscripts\_snd_playsound::snd_play_2d("irons_spotted_alert"); + level notify("stop_seen_sound"); + } + + level.aud_music_state = 2; + self.stealth_last_alert = "warning2"; + maps\_stealth_threat_enemy::enemy_set_alert_level("warning"); + } + else if(var_00[1] == "attack") + { + self.stealth_vis_threat = 1; + thread irons_estate_threat_search(); + self.threatsightdelayfalloff = 0; + self.threatsightdelayenabled = 0; + if(level.alert_sound == 0 && !common_scripts\utility::flag("_stealth_spotted")) + { + level.alert_sound = 1; + soundscripts\_snd_playsound::snd_play_2d("irons_spotted_alert"); + level notify("stop_seen_sound"); + } + + level.aud_music_state = 3; + self.stealth_last_alert = "attack"; + maps\_stealth_threat_enemy::enemy_set_alert_level("attack"); + } + + continue; + } + + if(var_00[0] == "turn_off_stealth_spotted_arrow" || var_00[0] == "going_back" || var_00[0] == "death") + { + self.stealth_vis_threat = 0; + self.threatsightdelayfalloff = 1; + self.threatsightdelayenabled = 1; + self.stealth_last_alert = "normal"; + level.alert_sound = 0; + maps\_stealth_threat_enemy::enemy_set_alert_level("reset"); + level.aud_music_state = 0; + } + } +} + +//Function Number: 30 +irons_estate_threat_search() +{ + self notify("irons_estate_threat_search"); + self endon("irons_estate_threat_search"); + self endon("death"); + while(isdefined(self) && isdefined(self.enemy) && maps\_utility::ent_flag("_stealth_enabled")) + { + var_00 = gettime() - self lastknowntime(self.enemy); + if(var_00 > getdvarfloat("irons_stealth_lose_interest_time") * 1000) + { + self clearenemy(); + return; + } + + wait(0.5); + } +} + +//Function Number: 31 +irons_estate_stealth_ai_status_thread() +{ + self notify("irons_estate_stealth_ai_status_thread"); + self endon("irons_estate_stealth_ai_status_thread"); + self endon("death"); + for(;;) + { + var_00 = self getthreatsightdelay(level.player); + var_01 = self cansee(level.player); + if(!var_01 && self.alertlevel != "combat" && !self.ignoreall) + { + var_01 = irons_estate_close_awareness_check(level.player,200,50); + if(var_01) + { + self getenemyinfo(level.player); + maps\_stealth_threat_enemy::enemy_alert_level_change("attack"); + } + } + + if(var_01) + { + level.player.stealth_can_be_seen = 1; + } + + var_02 = max(self.stealth_vis_threat,var_00); + level.player maps\_stealth_display::stealth_display_seed(self,var_02,var_01); + wait(0.05); + } +} + +//Function Number: 32 +irons_estate_close_awareness_check(param_00,param_01,param_02) +{ + var_03 = param_00.origin; + if(isai(param_00) || isplayer(param_00)) + { + var_03 = param_00 geteye(); + } + + var_04 = self geteye(); + var_05 = var_03 - var_04; + var_06 = lengthsquared(var_05); + if(var_06 < param_01 * param_01) + { + if(var_06 < param_02 * param_02) + { + return 1; + } + + if(var_04[2] > var_03[2]) + { + var_07 = vectornormalize(var_05); + var_08 = anglestoforward(self.angles); + var_09 = vectordot(var_07,var_08); + if(var_09 > self.fovcosine && var_09 < self.fovcosinez) + { + if(sighttracepassed(var_04,var_03,0,undefined)) + { + return 1; + } + } + } + } + + return 0; +} + +//Function Number: 33 +irons_estate_enemy_normal_behavior() +{ + if(!isdefined(self.isbeinggrappled)) + { + thread maps\_stealth_shared_utilities::enemy_announce_hmph(); + irons_estate_enemy_go_back(); + } +} + +//Function Number: 34 +irons_estate_enemy_go_back() +{ + self notify("going_back"); + self endon("death"); + self notify("stop_loop"); + self.pathrandompercent = 0; + self._stealth.debug_state = "Going Back"; + if(isdefined(self._stealth.behavior.goback_startfunc)) + { + self [[ self._stealth.behavior.goback_startfunc ]](); + } + + var_00 = self._stealth.behavior.last_spot; + if(isdefined(var_00) && self.type != "dog" && !isdefined(self.custommovetransition) && !isdefined(self.mech)) + { + self.custommovetransition = ::irons_estate_patrol_resume_move_start_func; + } + + if(isdefined(self.custommovetransition) && isdefined(self.pathgoalpos)) + { + self setgoalpos(self.origin); + wait(0.05); + } + + if(isdefined(self.script_patroller)) + { + if(isdefined(self.last_patrol_goal)) + { + self.target = self.last_patrol_goal.targetname; + } + + if(isdefined(self.stealth_first_alert_new_patrol_path)) + { + self.target = self.stealth_first_alert_new_patrol_path.targetname; + self.stealth_first_alert_new_patrol_path = undefined; + } + + thread maps\_patrol::patrol(); + } + else if(isalive(self.patrol_master)) + { + thread maps\_patrol::pet_patrol(); + maps\_utility::set_dog_walk_anim(); + self.script_growl = undefined; + } + else if(isdefined(var_00)) + { + if(self.type != "dog") + { + if(isdefined(self.script_animation)) + { + var_01 = "patrol_walk_" + self.script_animation; + } + else + { + var_01 = "_stealth_patrol_walk"; + } + + maps\_stealth_shared_utilities::stealth_set_run_anim("_stealth_patrol_walk",1); + } + else + { + maps\_utility::set_dog_walk_anim(); + self.script_growl = undefined; + } + + self.disablearrivals = 1; + self.disableexits = 1; + self setgoalpos(var_00); + self.goalradius = 40; + } + + waittillframeend; + maps\_utility::ent_flag_clear("_stealth_override_goalpos"); + if(isdefined(var_00)) + { + thread maps\_stealth_shared_utilities::enemy_go_back_clear_lastspot(var_00); + } +} + +//Function Number: 35 +irons_estate_enemy_warning1_behavior() +{ + if(!isdefined(self.enemy)) + { + return; + } + + thread maps\_stealth_threat_enemy::enemy_announce_alert(); + if(isdefined(self.script_patroller)) + { + if(self.type != "dog") + { + var_00 = "a"; + if(common_scripts\utility::cointoss()) + { + var_00 = "b"; + } + + maps\_stealth_shared_utilities::stealth_set_run_anim("_stealth_patrol_search_" + var_00,1); + } + else + { + maps\_utility::set_dog_walk_anim(); + self.script_growl = 1; + } + + self.disablearrivals = 1; + self.disableexits = 1; + } + else if(self.type == "dog") + { + maps\_utility::set_dog_walk_anim(); + self.script_growl = 1; + self.disablearrivals = 1; + self.disableexits = 1; + } + + var_01 = vectornormalize(self.enemy.origin - self.origin); + var_02 = distance(self.enemy.origin,self.origin); + var_02 = var_02 * 0.25; + var_02 = clamp(var_02,64,128); + var_01 = var_01 * var_02; + var_03 = self.origin + var_01 + (0,0,16); + var_04 = var_03 + (0,0,-96); + var_03 = physicstrace(var_03,var_04); + if(var_03 == var_04) + { + return; + } + + maps\_utility::ent_flag_set("_stealth_override_goalpos"); + self setgoalpos(var_03); + self.goalradius = 64; + common_scripts\utility::waittill_notify_or_timeout("goal",2); + if(!self isingoal(self.origin)) + { + self.shootposoverride = var_03 + (0,0,64); + } + + maps\_stealth_threat_enemy::enemy_lookaround_for_time(10); + self.shootposoverride = undefined; +} + +//Function Number: 36 +irons_estate_enemy_warning2_behavior() +{ + if(!isdefined(self.enemy)) + { + return; + } + + thread maps\_stealth_threat_enemy::enemy_announce_alert(); + if(self.type != "dog") + { + maps\_stealth_shared_utilities::stealth_set_run_anim("_stealth_patrol_cqb"); + } + else + { + maps\_utility::clear_run_anim(); + self.script_nobark = 1; + self.script_growl = 1; + } + + self.disablearrivals = 0; + self.disableexits = 0; + var_00 = self.enemy.origin; + var_01 = distance(var_00,self.origin); + maps\_utility::ent_flag_set("_stealth_override_goalpos"); + self setgoalpos(var_00); + self.goalradius = var_01 * 0.5; + var_02 = common_scripts\utility::waittill_any_timeout(4,"goal","bad_path"); + if(var_02 == "timeout" || var_02 == "bad_path") + { + self.shootposoverride = var_00 + (0,0,64); + } + + if(self.type != "dog") + { + var_03 = "_stealth_patrol_search_a"; + if(common_scripts\utility::cointoss()) + { + var_03 = "_stealth_patrol_search_b"; + } + + maps\_stealth_shared_utilities::stealth_set_run_anim(var_03,1); + } + else + { + maps\_stealth_shared_utilities::stealth_anim_custom_animmode(self,"gravity","_stealth_dog_stop"); + maps\_utility::set_dog_walk_anim(); + } + + self setgoalpos(var_00); + self.goalradius = 64; + self.disablearrivals = 1; + self.disableexits = 1; + var_02 = common_scripts\utility::waittill_any_timeout(4,"goal","bad_path"); + if(var_02 == "timeout" || var_02 == "bad_path") + { + self.shootposoverride = var_00 + (0,0,64); + } + + maps\_stealth_threat_enemy::enemy_lookaround_for_time(10); + if(self.type != "dog") + { + var_03 = "a"; + if(randomint(100) > 50) + { + var_03 = "b"; + } + + maps\_stealth_shared_utilities::stealth_set_run_anim("_stealth_patrol_search_" + var_03,1); + return; + } + + maps\_utility::set_dog_walk_anim(); + self.script_growl = undefined; +} + +//Function Number: 37 +irons_estate_enemy_attack_behavior() +{ + thread maps\_stealth_shared_utilities::enemy_announce_spotted(self.origin); + if(isdefined(self.script_goalvolume)) + { + thread maps\_spawner::set_goal_volume(); + return; + } + + irons_estate_enemy_close_in_on_target(); +} + +//Function Number: 38 +irons_estate_enemy_close_in_on_target() +{ + self.pathrandompercent = 200; + thread maps\_stealth_shared_utilities::enemy_announce_spotted(self.origin); + self.goalradius = 1024; + self endon("death"); + maps\_utility::ent_flag_set("_stealth_override_goalpos"); + while(isdefined(self.enemy) && maps\_utility::ent_flag("_stealth_enabled")) + { + self setgoalpos(self.enemy.origin); + wait(randomfloatrange(4,8)); + if(isdefined(self.script_stealth_dontseek) && self.script_stealth_dontseek == 1) + { + return; + } + } +} + +//Function Number: 39 +player_broke_stealth() +{ + level endon("stop_player_broke_stealth_monitor"); + level.player endon("death"); + for(;;) + { + var_00 = 6; + var_01 = 0; + common_scripts\utility::flag_wait("_stealth_spotted"); + if(isdefined(level.player.stealth_display_max) && level.player.stealth_display_max == 1) + { + if(level.start_point_scripted != "recon" && level.start_point_scripted != "infil") + { + level.awareness_meter_fail = 1; + } + else if(common_scripts\utility::flag("stealth_display_tutorial_over")) + { + level.awareness_meter_fail = 1; + } + } + + if(!isdefined(level.stealth_fail_fast)) + { + while(var_01 < var_00) + { + var_01++; + if(isdefined(level.stealth_fail_fast)) + { + break; + } + + wait(1); + } + } + else + { + wait(1); + } + + if(level.friendlyfire["friend_kill_points"] == -10000) + { + soundscripts\_snd::snd_message("aud_panic_walla"); + return; + } + + if(common_scripts\utility::flag("_stealth_spotted") || drones_have_shot_at_player()) + { + common_scripts\utility::flag_set("mission_failing"); + soundscripts\_snd::snd_message("aud_panic_walla"); + wait(2); + if(!isdefined(level.civilian_killed) && !isdefined(level.border_drone_fail) && !isdefined(level.awareness_meter_fail)) + { + maps\irons_estate_code::player_alerted_mission_fail(); + } + else if(isdefined(level.awareness_meter_fail)) + { + maps\irons_estate_code::player_alerted_mission_fail_meter(); + } + + break; + } + else + { + level notify("drones_abort"); + } + + if(isdefined(level.awareness_meter_fail)) + { + level.awareness_meter_fail = undefined; + } + } +} + +//Function Number: 40 +drones_have_shot_at_player() +{ + if(!isdefined(level.active_drones)) + { + return 0; + } + + var_00 = 0; + foreach(var_02 in level.active_drones) + { + if(isdefined(var_02) && isdefined(var_02.shot_at_player)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 41 +player_stealth_audio() +{ + level.player.stealth_can_be_seen = 0; + level.audiblesightplaying = 0; + for(;;) + { + if(level.player.stealth_can_be_seen && !isdefined(level.seen_audio_ent)) + { + if(getdvarint("stealth_display")) + { + level.seen_audio_ent = soundscripts\_snd_playsound::snd_play_loop_2d("irons_stealth_broken_warning_lp","stop_seen_sound",0.4,0.8); + } + } + else if(!level.player.stealth_can_be_seen && isdefined(level.seen_audio_ent)) + { + level notify("stop_seen_sound"); + level.seen_audio_ent = undefined; + } + + level.player.stealth_can_be_seen = 0; + wait(0.1); + } +} + +//Function Number: 42 +stealth_display_tutorial() +{ + self notify("stealth_display_tutorial"); + self endon("stealth_display_tutorial"); + var_00 = 0; + var_01 = 0; + for(;;) + { + var_00 = clamp(var_00 + 0.03,0,1); + level.player maps\_stealth_display::stealth_display_seed_angle(0,var_00,1); + if(var_00 >= 1) + { + var_01 = var_01 + 0.05; + } + + if(var_01 > 1.5) + { + var_00 = 0; + var_01 = 0; + wait(0.75); + } + + wait(0.05); + } +} + +//Function Number: 43 +player_shadow_monitor() +{ + self endon("death"); + var_00 = getdvarfloat("ai_threatSightDelayRateMin"); + while(!isdefined(self.ent_flag)) + { + wait(0.05); + } + + for(;;) + { + if(!isdefined(self.ent_flag["_stealth_in_shadow"]) || !self.ent_flag["_stealth_in_shadow"]) + { + setsaveddvar("ai_threatSightDelayRateMin",var_00); + } + else + { + setsaveddvar("ai_threatSightDelayRateMin",var_00 * 0.5); + } + + wait(0.25); + } +} + +//Function Number: 44 +player_recovered_stealth() +{ + self notify("player_recovered_stealth"); + self endon("player_recovered_stealth"); + wait_till_every_thing_stealth_normal_for(0.05); +} + +//Function Number: 45 +force_patrol_anim_set_immediately_or_when_spawned() +{ + self endon("death"); + if(isdefined(level.player_broke_stealth_once)) + { + if(isdefined(self.force_patrol_anim_set)) + { + if(isdefined(self)) + { + thread maps\_patrol_extended::force_patrol_anim_set(self.force_patrol_anim_set,undefined,1); + return; + } + + return; + } + + if(isdefined(self)) + { + maps\_stealth_shared_utilities::enemy_stop_current_behavior(); + thread maps\_patrol_extended::force_patrol_anim_set(common_scripts\utility::random(level.patrol_anim_sets),undefined,1); + return; + } + + return; + } + + common_scripts\utility::flag_wait("_stealth_spotted"); + wait(0.05); + if(isdefined(level.player_broke_stealth_once)) + { + if(isdefined(self.force_patrol_anim_set)) + { + if(isdefined(self)) + { + thread maps\_patrol_extended::force_patrol_anim_set(self.force_patrol_anim_set,undefined,1); + return; + } + + return; + } + + if(isdefined(self)) + { + maps\_stealth_shared_utilities::enemy_stop_current_behavior(); + thread maps\_patrol_extended::force_patrol_anim_set(common_scripts\utility::random(level.patrol_anim_sets),undefined,1); + return; + } + + return; + } +} + +//Function Number: 46 +irons_estate_whistle(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 1; + } + + level notify("irons_estate_whistle"); + level endon("irons_estate_whistle"); + level endon("missionfailed"); + level.player endon("death"); + if(param_00) + { + if(level.start_point == "briefing" || level.start_point == "intro" || level.start_point == "grapple" || level.start_point == "recon" || level.start_point == "infil") + { + common_scripts\utility::flag_wait_any("player_concealed","player_skipping_concealed_kill_tutorial","concealed_kill_spawner_dead"); + } + + level.player setweaponhudiconoverride("actionslot" + level.action_slot_whistle,"dpad_icon_whistle"); + var_01 = []; + var_01[var_01.size] = "irons_whistle"; + level.player notifyonplayercommand("whistle","+actionslot " + level.action_slot_whistle); + } + else + { + level.player setweaponhudiconoverride("actionslot" + level.action_slot_whistle,"dpad_icon_whistle_off"); + level.player notifyonplayercommandremove("whistle","+actionslot " + level.action_slot_whistle); + return; + } + + for(;;) + { + while(!common_scripts\utility::flag("_stealth_spotted")) + { + level.player waittill("whistle"); + if(isdefined(self.grapple) && isdefined(self.grapple["grappling"]) && self.grapple["grappling"]) + { + wait(0.05); + continue; + } + + level.player playsound(common_scripts\utility::random(var_01),"whistle_done"); + wait(0.25); + var_02 = getaiarray("axis"); + foreach(var_04 in var_02) + { + if(isdefined(var_04.do_not_react_to_whistle) || isdefined(var_04.script_parameters) && var_04.script_parameters == "do_not_react_to_whistle" || isdefined(var_04.script_noteworthy) && var_04.script_noteworthy == "do_not_react_to_whistle") + { + var_02 = common_scripts\utility::array_remove(var_02,var_04); + } + } + + var_02 = common_scripts\utility::get_array_of_closest(level.player.origin,var_02,undefined,undefined,700,undefined); + var_02 = maps\_utility::array_removedead_or_dying(var_02); + if(isdefined(var_02) && var_02.size > 0) + { + foreach(var_04 in var_02) + { + if(common_scripts\utility::within_fov(level.player geteye(),level.player getplayerangles(),var_04 geteye(),cos(45))) + { + var_04 notify("whistle",level.player.origin); + break; + } + } + } + + wait(1); + } + + wait(0.1); + } +} + +//Function Number: 47 +irons_estate_jump_monitor() +{ + self notify("irons_estate_jump_monitor"); + self endon("irons_estate_jump_monitor"); + self endon("death"); + childthread irons_estate_call_notify(::ishighjumping,"boost_jump_player"); + childthread irons_estate_call_notify(::isdodging,"boost_dodge_player"); + childthread irons_estate_call_notify(::ispowersliding,"boost_slide_player"); + for(;;) + { + var_00 = common_scripts\utility::waittill_any_return("boost_jump_player","boost_dodge_player","boost_slide_player"); + var_01 = 600; + if(var_00 != "boost_jump_player") + { + var_01 = 300; + } + + var_02 = getaiarray("axis","neutral"); + var_02 = common_scripts\utility::get_array_of_closest(self.origin,var_02,undefined,undefined,var_01,undefined); + var_02 = maps\_utility::array_removedead_or_dying(var_02); + if(isdefined(var_02) && var_02.size > 0) + { + foreach(var_04 in var_02) + { + if(var_04.team == "axis") + { + var_04 notify("reaction_generic",self.origin); + continue; + } + + var_04 notify("alerted",self.origin); + } + } + } +} + +//Function Number: 48 +irons_estate_call_notify(param_00,param_01) +{ + var_02 = 0; + for(;;) + { + var_03 = self [[ param_00 ]](); + if(var_03 && !var_02) + { + self notify(param_01,self.origin); + } + + var_02 = var_03; + wait 0.05; + } +} + +//Function Number: 49 +unarmed() +{ + level.scr_anim["generic"]["patrol_walk_unarmed"] = [%patrol_unarmed_walk,%patrol_unarmed_walk_fidget_1,%patrol_unarmed_walk_fidget_2]; + var_00 = [4,1,1]; + level.scr_anim["generic"]["patrol_walk_weights_unarmed"] = common_scripts\utility::get_cumulative_weights(var_00); + level.scr_anim["generic"]["patrol_walk_unarmed_twitch"] = [%patrol_unarmed_walk_fidget_1,%patrol_unarmed_walk_fidget_2]; + level.scr_anim["generic"]["patrol_stop_unarmed"] = %patrol_unarmed_walk_stop_front; + level.scr_anim["generic"]["patrol_start_unarmed"] = %patrol_unarmed_walk_start_front; + level.scr_anim["generic"]["patrol_turn180_unarmed"] = %patrol_unarmed_walk_turn_180; + level.scr_anim["generic"]["patrol_radio_in_clear_unarmed"] = %patrol_investigate_to_unarmed; + level.scr_anim["generic"]["patrol_idle_unarmed"] = [%patrol_unarmed_idle,%patrol_unarmed_idle_fidget_1,%patrol_unarmed_idle_fidget_2]; + level.scr_anim["generic"]["patrol_idle_unarmed_1"] = %patrol_unarmed_idle; + level.scr_anim["generic"]["patrol_idle_unarmed_2"] = %patrol_unarmed_idle_fidget_1; + level.scr_anim["generic"]["patrol_idle_unarmed_3"] = %patrol_unarmed_idle_fidget_2; +} + +//Function Number: 50 +investigate() +{ + level.scr_anim["generic"]["patrol_walk_investigate"] = [%patrol_investigate_walk,%patrol_investigate_walk_fidget_1]; + var_00 = [4,1]; + level.scr_anim["generic"]["patrol_walk_weights_investigate"] = common_scripts\utility::get_cumulative_weights(var_00); + level.scr_anim["generic"]["patrol_walk_investigate_twitch"] = %patrol_investigate_walk_fidget_1; + level.scr_anim["generic"]["patrol_stop_investigate"] = %patrol_investigate_walk_stop_front; + level.scr_anim["generic"]["patrol_start_investigate"] = %patrol_investigate_walk_start_front; + level.scr_anim["generic"]["patrol_turn180_investigate"] = %patrol_investigate_walk_turn_180; + level.scr_anim["generic"]["patrol_radio_in_clear_investigate"] = %patrolwalk_cold_gunup_transition; + level.scr_anim["generic"]["patrol_idle_investigate"] = [%patrol_investigate_idle,%patrol_investigate_idle_fidget_1,%patrol_investigate_idle_fidget_2]; + level.scr_anim["generic"]["patrol_idle_investigate_1"] = %patrol_investigate_idle; + level.scr_anim["generic"]["patrol_idle_investigate_2"] = %patrol_investigate_idle_fidget_1; + level.scr_anim["generic"]["patrol_idle_investigate_3"] = %patrol_investigate_idle_fidget_2; + level.scr_anim["generic"]["_stealth_idle_to_run_2_investigate"] = %patrol_unarmed_to_investigate_180; + level.scr_anim["generic"]["_stealth_idle_to_run_4_investigate"] = %patrol_unarmed_to_investigate_l_90; + level.scr_anim["generic"]["_stealth_idle_to_run_6_investigate"] = %patrol_unarmed_to_investigate_r_90; + level.scr_anim["generic"]["_stealth_idle_to_run_8_investigate"] = %patrol_unarmed_to_investigate_front; + level.scr_anim["generic"]["_stealth_look_around_investigate"] = [%patrol_investigate_idle,%patrol_investigate_idle_fidget_1,%patrol_investigate_idle_fidget_2]; +} + +//Function Number: 51 +irons_estate_stealth_anims() +{ + level.scr_anim["generic"]["_stealth_patrol_jog"] = %patrol_jog; + level.scr_anim["generic"]["_stealth_patrol_walk"] = %patrol_bored_patrolwalk; + level.scr_anim["generic"]["_stealth_combat_jog"] = %combat_jog; + level.scr_anim["generic"]["_stealth_patrol_cqb"] = %cqb_walk_iw6; + if(!isdefined(level.scr_anim["generic"]["_stealth_patrol_search_a"])) + { + level.scr_anim["generic"]["_stealth_patrol_search_a"] = %patrol_boredwalk_lookcycle_a; + level.scr_anim["generic"]["_stealth_patrol_search_b"] = %patrol_boredwalk_lookcycle_b; + } + + level.scr_anim["generic"]["_stealth_behavior_spotted_short"] = %exposed_idle_twitch_v4; + level.scr_anim["generic"]["_stealth_behavior_spotted_long"] = %patrol_bored_react_walkstop_short; + level.scr_anim["generic"]["_stealth_look_around"][0] = %patrol_bored_react_look_v1; + level.scr_anim["generic"]["_stealth_look_around"][1] = %patrol_bored_react_look_v2; + level.scr_anim["generic"]["_stealth_behavior_saw_corpse"] = %exposed_idle_twitch_v4; + level.scr_anim["generic"]["_stealth_behavior_generic1"] = %patrol_bored_react_look_advance; + level.scr_anim["generic"]["_stealth_behavior_generic2"] = %patrol_bored_react_look_retreat; + level.scr_anim["generic"]["_stealth_behavior_generic3"] = %patrol_bored_react_walkstop; + level.scr_anim["generic"]["_stealth_behavior_generic4"] = %patrol_bored_react_walkstop_short; + level.scr_anim["generic"]["_stealth_idle_to_run_2"] = %patrol_bored_duckandrun_b; + level.scr_anim["generic"]["_stealth_idle_to_run_4"] = %patrol_bored_duckandrun_l; + level.scr_anim["generic"]["_stealth_idle_to_run_6"] = %patrol_bored_duckandrun_r; + level.scr_anim["generic"]["_stealth_idle_to_run_8"] = %patrol_bored_duckandrun_f; + level.scr_anim["generic"]["_stealth_find_jog"] = %patrol_boredjog_find; + level.scr_anim["generic"]["_stealth_find_stand"] = %patrol_bored_react_look_v2; +} + +//Function Number: 52 +irons_estate_patrol_resume_move_start_func() +{ + self endon("enemy"); + self animmode("zonly_physics",0); + self orientmode("face current"); + maps\_patrol::stand_up_if_necessary(); + if(isdefined(self.script_animation)) + { + var_00 = "patrol_radio_in_clear_" + self.script_animation; + var_01 = level.scr_anim["generic"][var_00]; + } + else + { + var_01 = level.scr_anim["generic"]["patrol_radio_in_clear"]; + } + + if(isdefined(var_01)) + { + self setflaggedanimknoballrestart("radio",var_01,%root,1); + animscripts\shared::donotetracks("radio"); + } + + maps\_patrol::turn_180_move_start_func(); +} \ No newline at end of file diff --git a/AW/PC/maps/irons_estate_track_irons.gsc b/AW/PC/maps/irons_estate_track_irons.gsc new file mode 100644 index 0000000..23ee509 --- /dev/null +++ b/AW/PC/maps/irons_estate_track_irons.gsc @@ -0,0 +1,826 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: irons_estate_track_irons.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 37 + * Decompile Time: 543 ms + * Timestamp: 4/22/2024 2:32:14 AM +*******************************************************************/ + +//Function Number: 1 +track_irons_start() +{ + level.start_point_scripted = "hangar"; + maps\irons_estate::irons_estate_objectives(); + maps\irons_estate_code::spawn_player_checkpoint(); + maps\irons_estate_code::spawn_allies(); + thread handle_doctor(); + soundscripts\_snd::snd_message("start_track_irons"); +} + +//Function Number: 2 +track_irons_main() +{ + level.start_point_scripted = "hangar"; + thread track_irons_begin(); + common_scripts\utility::flag_wait("track_irons_end"); + stopcinematicingame(); + setsaveddvar("cg_cinematicCanPause","0"); + setsaveddvar("cg_cinematicFullScreen","1"); + thread maps\_utility::autosave_by_name(); +} + +//Function Number: 3 +track_irons_begin() +{ + common_scripts\utility::flag_set("track_irons_start"); + level.player.grapple["dist_max"] = 800; + if(!isdefined(level.allies[0])) + { + level.allies[0] = maps\irons_estate_code::spawn_ally("cormack"); + level.allies[0].animname = "cormack"; + level.allies[0] thread maps\irons_estate_code::set_helmet_open(); + } + + level.allies[0] maps\_utility::enable_cqbwalk(); + level.allies[0] maps\_utility::set_forcegoal(); + level.allies[0] maps\_utility::set_fixednode_true(); + level.allies[0] maps\_utility::set_ignoreall(1); + level.allies[0] maps\_utility::set_ignoreme(1); + level.allies[0] allowedstances("crouch"); + level.allies[0] thread crouch_watcher(); + if(!isdefined(level.listening_org)) + { + level.listening_org = common_scripts\utility::getstruct("listening_org","targetname"); + } + + if(!isdefined(level.hangar_ents)) + { + level.hangar_ents = []; + } + + level.hangar_ents[level.hangar_ents.size] = level.allies[0]; + thread handle_player(); + thread handle_cormack(); + thread handle_irons(); + thread handle_lift_worker_01(); + thread handle_lift_worker_02(); + thread hangar_cargo_crate(); + thread hangar_lift(); + thread handle_gaz(); + thread handle_gaz2(); + thread hangar_ambient_worker_setup(); + thread forklift_setup(); + thread hangar_pa(); + thread ambient_hangar_workers(); + thread maps\irons_estate_plant_tracker::stairwell_doors(); + thread ambient_hangar_fan_blades_setup(); + thread hangar_vials(); + thread hangar_visor_bink(); + thread maps\irons_estate_plant_tracker::landing_pad_lift_upper_static_setup(); + level notify("stealth_alerted_drone_monitor"); + level notify("stop_stealth_spotted_drone_monitor"); +} + +//Function Number: 4 +hangar_vials() +{ + var_00 = maps\_utility::spawn_anim_model("genericprop_x5"); + level.hangar_ents[level.hangar_ents.size] = var_00; + level.listening_org maps\_anim::anim_first_frame_solo(var_00,"hangar"); + wait(0.05); + var_00 attach("atlas_stabilize_vial_static","j_prop_1"); + var_00 attach("atlas_stabilize_vial_static","j_prop_2"); + var_00 attach("atlas_stabilize_vial_static","j_prop_3"); + var_00 attach("atlas_stabilize_vial_static","j_prop_4"); + var_00 attach("atlas_stabilize_vial_static","j_prop_5"); + var_00 waittillmatch("end","single anim"); + var_00 delete(); +} + +//Function Number: 5 +crouch_watcher() +{ + level endon("track_irons_end"); + self endon("death"); + for(;;) + { + self waittill("traverse_finish"); + wait(0.05); + self allowedstances("crouch"); + } +} + +//Function Number: 6 +handle_player() +{ + var_00 = common_scripts\utility::getstruct("monitor_irons_obj_xprompt","targetname"); + var_01 = maps\_utility::spawn_anim_model("player_rig"); + var_01.origin = level.listening_org.origin; + var_01.angles = level.listening_org.angles; + var_01 hide(); + level.hangar_ents[level.hangar_ents.size] = var_01; + level.listening_org maps\_anim::anim_first_frame_solo(var_01,"hangar"); + common_scripts\utility::flag_wait("cormack_in_hangar_position"); + objective_setpointertextoverride(maps\_utility::obj("monitor_irons"),&"IRONS_ESTATE_RECORD"); + objective_position(maps\_utility::obj("monitor_irons"),var_00.origin); + var_02 = getent("at_listening_position_trigger","targetname"); + var_02 thread maps\_utility::addhinttrigger(&"IRONS_ESTATE_RECORD_INTEL",&"IRONS_ESTATE_RECORD_INTEL_PC"); + thread maps\irons_estate_code::handle_objective_marker(var_00,var_00,"at_listening_position",80); + var_02 waittill("trigger"); + soundscripts\_snd::snd_message("aud_monitor_irons"); + level.irons thread maps\irons_estate_code::hide_friendname_until_flag_or_notify("track_irons_end"); + level.allies[0] thread maps\_utility::smart_dialogue("ie_crmk_rolling"); + objective_position(maps\_utility::obj("monitor_irons"),(0,0,0)); + var_02 delete(); + common_scripts\utility::flag_set("at_listening_position"); + if(level.nextgen) + { + setsaveddvar("r_adaptivesubdiv",0); + } + + level.player freezecontrols(1); + common_scripts\utility::flag_clear("_stealth_enabled"); + level.player maps\_grapple::grapple_take(); + level.player allowsprint(0); + level.player thread maps\_shg_utility::disable_features_entering_cinema(1); + level.player thread maps\irons_estate_stealth::irons_estate_whistle(0); + level.player thread maps\_tagging::tagging_set_binocs_enabled(0); + level.player thread maps\_tagging::tagging_set_enabled(0); + thread maps\_stealth_display::stealth_display_off(); + level.player disableweapons(); + level.player disableweaponswitch(); + level.player allowmelee(0); + level.player disableoffhandweapons(); + level.player disableoffhandsecondaryweapons(); + level.player allowprone(0); + level.player allowcrouch(0); + level.player playerlinkto(var_01); + level.player setstance("stand"); + level.player playerlinktoblend(var_01,"tag_player",0.6); + level.listening_org thread maps\_anim::anim_single(level.hangar_ents,"hangar"); + var_01 thread player_hangar_waits(); + wait(0.55); + level.listening_org notify("stop_loop"); + wait(0.05); + var_01 show(); +} + +//Function Number: 7 +hangar_visor_bink() +{ + setsaveddvar("cg_cinematicCanPause","1"); + setsaveddvar("cg_cinematicFullScreen","0"); + var_00 = newclienthudelem(level.player); + var_00 setshader("cinematic_screen_add",640,480); + var_00.horzalign = "fullscreen"; + var_00.vertalign = "fullscreen"; + cinematicingame("hangar_visor_hud",1); + level waittill("start_hangar_visor_hud_bink"); + pausecinematicingame(0); + wait(0.05); + while(iscinematicplaying()) + { + wait(0.05); + } + + stopcinematicingame(); + var_00 destroy(); + setsaveddvar("cg_cinematicCanPause","0"); + setsaveddvar("cg_cinematicFullScreen","1"); +} + +//Function Number: 8 +player_hangar_waits() +{ + self waittillmatch("device_up","single anim"); + var_00 = level.player getcurrentweapon(); + var_01 = level.player getweaponslistall(); + level.player takeallweapons(); + level notify("start_hangar_visor_hud_bink"); + self waittillmatch("zoom_in","single anim"); + level.player lerpfov(10,0.5); + foreach(var_03 in var_01) + { + if(isdefined(var_03) && var_03 == "iw5_kf5singleshot_sp_opticsreddot_silencer01") + { + level.player giveweapon("iw5_kf5fullauto_sp_opticsreddot_silencer01"); + } + + if(isdefined(var_03) && var_03 == "iw5_kf5fullauto_sp_opticsreddot_silencer01") + { + level.player giveweapon("iw5_kf5fullauto_sp_opticsreddot_silencer01"); + } + + if(isdefined(var_03) && var_03 == "iw5_sn6_sp_opticsreddot_silencer01") + { + level.player giveweapon("iw5_sn6_sp_opticsreddot_silencer01"); + } + + if(isdefined(var_03) && var_03 == "iw5_pbwsingleshot_sp_silencerpistol") + { + level.player giveweapon("iw5_pbwsingleshot_sp_silencerpistol"); + } + } + + self waittillmatch("zoom_in","single anim"); + level.player lerpfov(5,0.5); + self waittillmatch("zoom_out","single anim"); + level.player lerpfov(20,0.5); + if((isdefined(var_00) && var_00 == "iw5_kf5singleshot_sp_opticsreddot_silencer01") || var_00 == "iw5_kf5fullauto_sp_opticsreddot_silencer01") + { + level.player switchtoweapon("iw5_kf5fullauto_sp_opticsreddot_silencer01"); + } + else if((isdefined(var_00) && var_00 == "iw5_sn6_sp_opticsreddot_silencer01") || var_00 == "iw5_pbwsingleshot_sp_silencerpistol") + { + level.player switchtoweapon("iw5_sn6_sp_opticsreddot_silencer01"); + } + + self waittillmatch("zoom_out","single anim"); + level.player lerpfov(65,0.5); + self waittillmatch("device_down","single anim"); + self waittillmatch("end","single anim"); + if(level.nextgen) + { + setsaveddvar("r_adaptivesubdiv",1); + } + + level.player unlink(); + level.player allowprone(1); + level.player allowcrouch(1); + level.player allowmelee(1); + level.player freezecontrols(0); + level.player allowsprint(1); + level.player thread maps\_shg_utility::enable_features_exiting_cinema(1); + level.player thread maps\irons_estate_stealth::irons_estate_whistle(1); + level.player thread maps\_tagging::tagging_set_binocs_enabled(1); + level.player thread maps\_tagging::tagging_set_enabled(1); + thread maps\_stealth_display::stealth_display_on(); + level.player maps\_grapple::grapple_give(); + while(!level.player common_scripts\utility::isweaponenabled()) + { + level.player common_scripts\utility::_enableweapon(); + } + + level.player enableweapons(); + level.player enableweaponswitch(); + level.player enableoffhandweapons(); + level.player enableoffhandsecondaryweapons(); + self delete(); + common_scripts\utility::flag_set("_stealth_enabled"); + objective_state_nomessage(maps\_utility::obj("monitor_irons"),"done"); + common_scripts\utility::flag_set("track_irons_end"); +} + +//Function Number: 9 +handle_cormack() +{ + objective_add(maps\_utility::obj("monitor_irons"),"current",&"IRONS_ESTATE_OBJ_MONITOR_IRONS"); + objective_onentity(maps\_utility::obj("monitor_irons"),level.allies[0]); + level.allies[0] allowedstances("crouch"); + level.allies[0] maps\_utility::smart_dialogue("ie_crmk_onme5"); + var_00 = getnode("cormack_girder_node_01","targetname"); + level.allies[0] maps\_utility::set_goalradius(16); + level.allies[0] setgoalnode(var_00); + common_scripts\utility::flag_wait("at_girders"); + level.allies[0] allowedstances("crouch"); + level.listening_org maps\_anim::anim_reach_solo(level.allies[0],"hangar_enter_run"); + level.listening_org maps\_anim::anim_single_solo(level.allies[0],"hangar_enter_run"); + level.listening_org thread maps\_anim::anim_loop_solo(level.allies[0],"hangar_enter_loop","stop_hangar_enter_loop"); + wait(0.05); + common_scripts\utility::flag_set("cormack_drop_down_ready"); + common_scripts\utility::flag_wait("cormack_drop_down"); + level.listening_org notify("stop_hangar_enter_loop"); + wait(0.05); + level.listening_org maps\_anim::anim_single_solo(level.allies[0],"hangar_enter"); + level.listening_org thread maps\_anim::anim_loop_solo(level.allies[0],"hangar_loop","stop_loop"); + wait(0.05); + common_scripts\utility::flag_set("cormack_in_hangar_position"); + level.allies[0] allowedstances("stand"); +} + +//Function Number: 10 +handle_irons() +{ + level endon("stop_irons_and_doctor_handlers"); + level.irons = maps\_utility::spawn_targetname("irons",1); + level.irons.animname = "irons"; + if(!isdefined(level.irons.magic_bullet_shield)) + { + level.irons maps\_utility::magic_bullet_shield(1); + } + + level.irons maps\_utility::gun_remove(); + level.irons maps\_utility::set_allowdeath(1); + level.irons.grapple_magnets = []; + level.hangar_ents[level.hangar_ents.size] = level.irons; + level.irons.scripted_node = level.listening_org; + level.listening_org thread maps\_anim::anim_loop_solo(level.irons,"hangar_loop","stop_loop"); + wait(0.05); + level.irons thread maps\irons_estate_civilians::civilian_alert_watcher(); + level.irons thread maps\irons_estate_civilians::civilian_alert_behavior_hangar(); + level.irons thread irons_hangar_waits(); +} + +//Function Number: 11 +irons_hangar_waits() +{ + self waittillmatch("end","single anim"); + self delete(); +} + +//Function Number: 12 +handle_doctor() +{ + if(!isdefined(level.listening_org)) + { + level.listening_org = common_scripts\utility::getstruct("listening_org","targetname"); + } + + if(!isdefined(level.hangar_ents)) + { + level.hangar_ents = []; + } + + level endon("stop_irons_and_doctor_handlers"); + if(!isdefined(level.doctor)) + { + level.doctor = maps\_utility::spawn_targetname("kva_doctor",1); + } + + level.doctor.tagged = undefined; + level.doctor.animname = "doctor"; + if(!isdefined(level.doctor.magic_bullet_shield)) + { + level.doctor maps\_utility::magic_bullet_shield(1); + } + + level.doctor maps\_utility::gun_remove(); + level.doctor attach("npc_dronelaunchpad","tag_weapon_right"); + level.doctor.grapple_magnets = []; + level.hangar_ents[level.hangar_ents.size] = level.doctor; + level.doctor maps\_utility::set_allowdeath(1); + level.doctor thread doctor_pad_watcher(); + level.doctor.scripted_node = level.listening_org; + level.doctor maps\_utility::disable_arrivals(); + level.doctor maps\_utility::disable_exits(); + level.doctor maps\_utility::set_run_anim("doctor_walk",1); + level.listening_org thread maps\_anim::anim_reach_solo(level.doctor,"hangar"); + common_scripts\utility::flag_wait("track_irons_start"); + level.doctor notify("new_anim_reach"); + level.listening_org thread maps\_anim::anim_loop_solo(level.doctor,"hangar_loop","stop_loop"); + wait(0.05); + level.doctor thread maps\irons_estate_civilians::civilian_alert_watcher(); + level.doctor thread maps\irons_estate_civilians::civilian_alert_behavior_hangar(); + level.doctor thread doctor_hangar_waits(); +} + +//Function Number: 13 +doctor_pad_watcher() +{ + common_scripts\utility::waittill_any("alerted","death"); + if(isdefined(self)) + { + level.doctor detach("npc_dronelaunchpad","tag_weapon_right"); + } +} + +//Function Number: 14 +doctor_hangar_waits() +{ + self waittillmatch("end","single anim"); + self delete(); +} + +//Function Number: 15 +hangar_lift() +{ + var_00 = maps\_utility::spawn_anim_model("generic_prop_raven"); + level.hangar_ents[level.hangar_ents.size] = var_00; + level.listening_org maps\_anim::anim_first_frame_solo(var_00,"hangar"); + wait(0.05); + var_01 = getent("landing_pad_lift","targetname"); + var_01 linkto(var_00,"j_prop_1"); +} + +//Function Number: 16 +hangar_cargo_crate() +{ + var_00 = maps\_utility::spawn_anim_model("cargo_crate"); + var_00 hidepart("TAG_STATIC_CASE"); + var_00 hidepart("TAG_STATIC_VIALS"); + level.hangar_ents[level.hangar_ents.size] = var_00; + level.listening_org maps\_anim::anim_first_frame_solo(var_00,"hangar"); + wait(0.05); + var_00 waittillmatch("end","single anim"); + var_00 delete(); + var_01 = getent("manticore_crate_clip","targetname"); + if(isdefined(var_01)) + { + var_01 delete(); + } +} + +//Function Number: 17 +handle_lift_worker_01() +{ + var_00 = maps\_utility::spawn_targetname("lift_worker_01",1); + var_00.animname = "lift_worker_01"; + var_00 maps\_utility::gun_remove(); + var_00.grapple_magnets = []; + var_00 maps\_utility::set_allowdeath(1); + level.hangar_ents[level.hangar_ents.size] = var_00; + var_00.scripted_node = level.listening_org; + level.listening_org thread maps\_anim::anim_loop_solo(var_00,"hangar_loop","stop_loop"); + wait(0.05); + var_00 thread maps\irons_estate_civilians::civilian_alert_watcher(); + var_00 thread maps\irons_estate_civilians::civilian_alert_behavior_hangar(); + var_00 thread lift_worker_01_waits(); +} + +//Function Number: 18 +lift_worker_01_waits() +{ + self waittillmatch("end","single anim"); + self delete(); +} + +//Function Number: 19 +handle_lift_worker_02() +{ + var_00 = maps\_utility::spawn_targetname("lift_worker_02",1); + var_00.animname = "lift_worker_02"; + var_00 maps\_utility::gun_remove(); + var_00.grapple_magnets = []; + var_00 maps\_utility::set_allowdeath(1); + level.hangar_ents[level.hangar_ents.size] = var_00; + var_00.scripted_node = level.listening_org; + level.listening_org thread maps\_anim::anim_loop_solo(var_00,"hangar_loop","stop_loop"); + wait(0.05); + var_00 thread maps\irons_estate_civilians::civilian_alert_watcher(); + var_00 thread maps\irons_estate_civilians::civilian_alert_behavior_hangar(); + var_00 thread lift_worker_02_waits(); +} + +//Function Number: 20 +lift_worker_02_waits() +{ + self waittillmatch("end","single anim"); + self delete(); +} + +//Function Number: 21 +handle_gaz() +{ + if(!isdefined(level.listening_org)) + { + level.listening_org = common_scripts\utility::getstruct("listening_org","targetname"); + } + + if(!isdefined(level.gaz)) + { + level.gaz = maps\_utility::spawn_anim_model("gaz"); + } + + level.listening_org thread maps\_anim::anim_loop_solo(level.gaz,"hangar"); +} + +//Function Number: 22 +handle_gaz2() +{ + if(!isdefined(level.listening_org)) + { + level.listening_org = common_scripts\utility::getstruct("listening_org","targetname"); + } + + if(!isdefined(level.gaz2)) + { + level.gaz2 = maps\_utility::spawn_anim_model("gaz2"); + } + + level.listening_org thread maps\_anim::anim_loop_solo(level.gaz2,"hangar"); +} + +//Function Number: 23 +hangar_ambient_worker_setup() +{ + var_00 = maps\_utility::array_spawn_targetname("hangar_ambient_worker",1); + common_scripts\utility::array_thread(var_00,::hangar_ambient_worker_setup_anim); +} + +//Function Number: 24 +hangar_ambient_worker_setup_anim() +{ + self endon("death"); + thread maps\irons_estate_civilians::civilian_alert_watcher(); + thread maps\irons_estate_civilians::civilian_alert_behavior_hangar(); + maps\_utility::set_allowdeath(1); + self.grapple_magnets = []; + self.scripted_node = common_scripts\utility::getstruct(self.target,"targetname"); + if(isdefined(self.scripted_node.script_noteworthy) && self.scripted_node.script_noteworthy == "ie_hangar_ambience_welder_loop") + { + self.welder = 1; + self.torch = spawn("script_model",(0,0,0)); + self.torch setmodel("machinery_welder_handle"); + self.torch linkto(self,"tag_inhand",(0,0,0),(0,0,0)); + self.scripted_node = level.listening_org; + thread flashing_welding(); + thread flashing_welding_death_handler(); + return; + } + + self.scripted_node thread maps\_anim::anim_generic_loop(self,self.scripted_node.animation,"stop_loop"); +} + +//Function Number: 25 +flashing_welding() +{ + self endon("death"); + self endon("alerted"); + self.scripted_node thread maps\_anim::anim_generic_loop(self,"ie_hangar_ambience_welder_loop","stop_welder_loop"); + for(;;) + { + self.torch soundscripts\_snd_playsound::snd_play_loop_linked("irons_hangar_welding_loop","aud_stop_welding_loop",0.2,0.2); + self waittillmatch("spark_stop","looping anim"); + level notify("aud_stop_welding_loop"); + stopfxontag(level._effect["ie_welding_runner"],self.torch,"tag_tip_fx"); + self waittillmatch("spark_start","looping anim"); + playfxontag(level._effect["ie_welding_runner"],self.torch,"tag_tip_fx"); + } +} + +//Function Number: 26 +flashing_welding_death_handler() +{ + common_scripts\utility::waittill_either("death","alerted"); + if(isdefined(self.torch)) + { + level notify("aud_stop_welder_loop"); + } +} + +//Function Number: 27 +forklift_setup() +{ + var_00 = []; + level.forklift = maps\_utility::spawn_anim_model("forklift"); + var_01 = getent("forklift_clip","targetname"); + var_01 linkto(level.forklift,"tag_body",(0,0,-32),(0,90,0)); + var_00[var_00.size] = level.forklift; + level.forklift_crate_prop = maps\_utility::spawn_anim_model("generic_prop_raven"); + var_00[var_00.size] = level.forklift_crate_prop; + level.forklift_crate_prop attach("lsr_mili_cargo_cage_atlas_07","j_prop_1"); + var_02 = getent("forklift_cargo_clip","targetname"); + if(isdefined(var_02)) + { + var_02 linkto(level.forklift_crate_prop,"j_prop_1",(0,0,0),(0,0,0)); + } + + level.forklift_driver = maps\_utility::spawn_targetname("forklift_driver","targetname"); + var_00[var_00.size] = level.forklift_driver; + level.forklift_driver.animname = "forklift_driver"; + level.forklift_driver maps\_utility::set_allowdeath(1); + level.forklift_driver.grapple_magnets = []; + level.forklift_driver thread maps\_utility::set_ignoresonicaoe(1); + level.forklift_driver thread forklift_stop_watcher(); + level.forklift_driver thread maps\irons_estate_civilians::civilian_alert_watcher(); + level.forklift_driver thread maps\irons_estate_civilians::civilian_alert_behavior_hangar(); + level.forklift_org = spawnstruct(); + level.forklift_org.origin = level.listening_org.origin; + level.forklift_org.angles = level.listening_org.angles; + level.forklift_driver.scripted_node = level.forklift_org; + var_03 = getent("forklift_fail_trigger","targetname"); + if(isdefined(var_03)) + { + var_03 enablelinkto(); + var_03 linkto(level.forklift,"tag_body",(40,0,38),(0,90,0)); + var_03 thread forklift_fail_trigger_setup(); + } + + level.forklift_door_prop = maps\_utility::spawn_anim_model("generic_prop_raven_x3"); + var_00[var_00.size] = level.forklift_door_prop; + level.forklift_org thread maps\_anim::anim_loop(var_00,"forklift_loop","stop_loop"); + var_04 = getent("forklift_door_left","targetname"); + var_04 linkto(level.forklift_door_prop,"j_prop_1",(0,0,0),(0,0,0)); + var_05 = getent("forklift_door_right","targetname"); + var_05 linkto(level.forklift_door_prop,"j_prop_2",(0,0,0),(0,0,0)); + level.forklift thread maps\irons_estate_aud::forklift_audio_loop(); +} + +//Function Number: 28 +forklift_fail_trigger_setup() +{ + self waittill("trigger",var_00); + if(isdefined(var_00) && var_00 == level.player) + { + level.forklift_driver notify("alerted"); + } +} + +//Function Number: 29 +forklift_stop_watcher() +{ + common_scripts\utility::waittill_any("alerted","death"); + level.forklift setflaggedanim("looping anim",level.scr_anim[level.forklift.animname]["forklift_loop"][0],1,0,0); + level.forklift_door_prop setflaggedanim("looping anim",level.scr_anim[level.forklift_door_prop.animname]["forklift_loop"][0],1,0,0); + level.forklift_crate_prop setflaggedanim("looping anim",level.scr_anim[level.forklift_crate_prop.animname]["forklift_loop"][0],1,0,0); +} + +//Function Number: 30 +hangar_pa() +{ + var_00 = getent("hangar_pa","targetname"); + wait(6); + var_00 maps\_utility::play_sound_on_entity("ie_hpa_clearlift"); + wait(6); + var_00 maps\_utility::play_sound_on_entity("ie_hpa_lowerlevel"); + wait(6); + var_00 maps\_utility::play_sound_on_entity("ie_hpa_mainoffice"); + wait(6); + var_00 maps\_utility::play_sound_on_entity("ie_hpa_idready"); + wait(6); + var_00 maps\_utility::play_sound_on_entity("ie_hpa_inprogress"); +} + +//Function Number: 31 +ambient_hangar_workers() +{ + var_00 = undefined; + var_01 = undefined; + var_02 = undefined; + var_03 = undefined; + var_04 = undefined; + var_05 = undefined; + maps\_utility::array_spawn_function_targetname("ambient_hangar_workers",::ambient_hangar_workers_spawn_settings); + var_06 = maps\_utility::array_spawn_targetname("ambient_hangar_workers",1); + foreach(var_08 in var_06) + { + if(isdefined(var_08.script_noteworthy) && var_08.script_noteworthy == "fueled_up_vo_guy1") + { + var_00 = var_08; + var_00 thread maps\irons_estate_civilians::civilian_alert_watcher(undefined,"fueled_up_vo_guys"); + var_00 thread maps\irons_estate_civilians::civilian_alert_behavior(); + } + + if(isdefined(var_08.script_noteworthy) && var_08.script_noteworthy == "fueled_up_vo_guy2") + { + var_01 = var_08; + var_01 thread maps\irons_estate_civilians::civilian_alert_watcher(undefined,"fueled_up_vo_guys"); + var_01 thread maps\irons_estate_civilians::civilian_alert_behavior(); + } + + if(isdefined(var_08.script_noteworthy) && var_08.script_noteworthy == "storage_vo_guy1") + { + var_02 = var_08; + var_02 thread maps\irons_estate_civilians::civilian_alert_watcher(undefined,"storage_vo_guys"); + var_02 thread maps\irons_estate_civilians::civilian_alert_behavior(); + } + + if(isdefined(var_08.script_noteworthy) && var_08.script_noteworthy == "storage_vo_guy2") + { + var_03 = var_08; + var_03 thread maps\irons_estate_civilians::civilian_alert_watcher(undefined,"storage_vo_guys"); + var_03 thread maps\irons_estate_civilians::civilian_alert_behavior(); + } + + if(isdefined(var_08.script_noteworthy) && var_08.script_noteworthy == "preflight_vo_guy1") + { + var_04 = var_08; + var_04 thread maps\irons_estate_civilians::civilian_alert_watcher(undefined,"preflight_vo_guys"); + var_04 thread maps\irons_estate_civilians::civilian_alert_behavior(); + } + + if(isdefined(var_08.script_noteworthy) && var_08.script_noteworthy == "preflight_vo_guy2") + { + var_05 = var_08; + var_05 thread maps\irons_estate_civilians::civilian_alert_watcher(undefined,"preflight_vo_guys"); + var_05 thread maps\irons_estate_civilians::civilian_alert_behavior(); + } + } + + thread fueled_up_vo(var_00,var_01); + thread storage_vo(var_02,var_03); + thread preflight_vo(var_04,var_05); +} + +//Function Number: 32 +ambient_hangar_workers_spawn_settings() +{ + self endon("death"); + self.animname = "generic"; +} + +//Function Number: 33 +fueled_up_vo(param_00,param_01) +{ + param_00 endon("death"); + param_00 endon("something_alerted_me"); + param_01 endon("death"); + param_01 endon("something_alerted_me"); + param_00 thread maps\irons_estate_code::stopsounds_on_death(); + param_01 thread maps\irons_estate_code::stopsounds_on_death(); + common_scripts\utility::flag_wait("fueled_up_vo_start"); + param_00 maps\_utility::smart_dialogue_generic("ie_hw3_taxi"); + wait(0.5); + param_01 maps\_utility::smart_dialogue_generic("ie_hw1_fueling"); + wait(0.5); + param_00 maps\_utility::smart_dialogue_generic("ie_hw3_clearasap"); + wait(0.5); + param_01 maps\_utility::smart_dialogue_generic("ie_hw1_onit"); + wait(0.5); + param_00 maps\_utility::smart_dialogue_generic("ie_hw3_aneta"); + wait(0.5); + param_01 maps\_utility::smart_dialogue_generic("ie_hw1_onitnow"); + wait(0.5); + param_00 maps\_utility::smart_dialogue_generic("ie_hw3_getaneta"); + wait(0.5); + param_01 maps\_utility::smart_dialogue_generic("ie_hw1_alright3"); +} + +//Function Number: 34 +storage_vo(param_00,param_01) +{ + param_00 endon("death"); + param_00 endon("something_alerted_me"); + param_01 endon("death"); + param_01 endon("something_alerted_me"); + param_00 thread maps\irons_estate_code::stopsounds_on_death(); + param_01 thread maps\irons_estate_code::stopsounds_on_death(); + common_scripts\utility::flag_wait("storage_vo_start"); + param_00 maps\_utility::smart_dialogue_generic("ie_hw1_storagenumber"); + wait(0.5); + param_01 maps\_utility::smart_dialogue_generic("ie_hw2_25"); + wait(0.5); + param_00 maps\_utility::smart_dialogue_generic("ie_hw1_gotit5"); + wait(0.5); + param_01 maps\_utility::smart_dialogue_generic("ie_hw2_easyaccess"); + wait(0.5); + param_00 maps\_utility::smart_dialogue_generic("ie_hw1_shipment"); + wait(0.5); + param_01 maps\_utility::smart_dialogue_generic("ie_hw2_what"); + wait(0.5); + param_00 maps\_utility::smart_dialogue_generic("ie_hw1_yesterdaysdrop"); + wait(0.5); + param_01 maps\_utility::smart_dialogue_generic("ie_hw2_okyaokay"); +} + +//Function Number: 35 +preflight_vo(param_00,param_01) +{ + param_00 endon("death"); + param_00 endon("something_alerted_me"); + param_01 endon("death"); + param_01 endon("something_alerted_me"); + param_00 thread maps\irons_estate_code::stopsounds_on_death(); + param_01 thread maps\irons_estate_code::stopsounds_on_death(); + wait(2); + param_00 maps\_utility::smart_dialogue_generic("ie_hw2_uptop"); + wait(0.5); + param_01 maps\_utility::smart_dialogue_generic("ie_hw3_continuewithout"); + wait(0.5); + param_00 maps\_utility::smart_dialogue_generic("ie_hw2_keithsays"); + wait(0.5); + param_00 maps\_utility::smart_dialogue_generic("ie_hw2_neednow"); + wait(0.5); + param_01 maps\_utility::smart_dialogue_generic("ie_hw3_fuallast"); + wait(0.5); + param_00 maps\_utility::smart_dialogue_generic("ie_hw2_protocol"); + wait(0.5); + param_01 maps\_utility::smart_dialogue_generic("ie_hw3_toobad"); + wait(0.5); + param_00 maps\_utility::smart_dialogue_generic("ie_hw2_tellthem"); + wait(0.5); + param_01 maps\_utility::smart_dialogue_generic("ie_hw3_eff"); + wait(0.5); + param_00 maps\_utility::smart_dialogue_generic("ie_hw2_shortly"); +} + +//Function Number: 36 +ambient_hangar_fan_blades_setup() +{ + var_00 = getentarray("ambient_hangar_fan_blade","targetname"); + if(isdefined(var_00)) + { + foreach(var_02 in var_00) + { + var_02 thread ambient_hangar_fan_blade_rotate("player_grappled_to_vtol"); + } + } +} + +//Function Number: 37 +ambient_hangar_fan_blade_rotate(param_00) +{ + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01.angles = self.angles; + self linkto(var_01,"tag_origin"); + var_02 = (0,-180,0); + while(!common_scripts\utility::flag(param_00)) + { + self rotatebylinked(var_02,0.25); + self waittill("rotatedone"); + self rotatebylinked(var_02,0.25); + self waittill("rotatedone"); + } +} \ No newline at end of file diff --git a/AW/PC/maps/irons_estate_vehicle.gsc b/AW/PC/maps/irons_estate_vehicle.gsc new file mode 100644 index 0000000..a3e2b17 --- /dev/null +++ b/AW/PC/maps/irons_estate_vehicle.gsc @@ -0,0 +1,165 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: irons_estate_vehicle.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 6 + * Decompile Time: 102 ms + * Timestamp: 4/22/2024 2:32:14 AM +*******************************************************************/ + +//Function Number: 1 +irons_estate_vehicle_guy_stealth_setup(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + var_07 = maps\_vehicle::spawn_vehicle_from_targetname(param_00); + var_07 maps\_vehicle::godon(); + var_07.vehicle_driver = maps\_utility::spawn_targetname(param_01,1); + var_08["reset"] = ::irons_estate_vehicle_passenger_normal; + var_08["normal"] = ::irons_estate_vehicle_passenger_normal; + var_07.vehicle_driver maps\_stealth_utility::stealth_threat_behavior_custom(var_08); + var_07 maps\irons_estate_stealth::stealth_ai_idle_and_react_custom(var_07.vehicle_driver,param_03,param_04,param_02,param_05); + if(isdefined(param_06)) + { + var_07 thread irons_estate_vehicle_open_door_anim(var_07.vehicle_driver,param_06); + } + + var_07 thread irons_estate_vehicle_damaged_watcher(); +} + +//Function Number: 2 +irons_estate_vehicle_open_door_anim(param_00,param_01) +{ + self endon("death"); + param_00 endon("death"); + param_00 maps\_utility::ent_flag_waitopen("_stealth_normal"); + maps\_vehicle_aianim::setanimrestart_once(param_01,1); +} + +//Function Number: 3 +irons_estate_vehicle_damaged_watcher() +{ + self endon("death"); + for(;;) + { + self waittill("damage",var_00,var_01,var_02,var_03); + if(isdefined(var_01) && var_01 == level.player) + { + break; + } + + wait(0.05); + } + + if(isdefined(self.vehicle_driver) && isalive(self.vehicle_driver) && !common_scripts\utility::flag("_stealth_spotted") && isdefined(self.vehicle_driver._stealth)) + { + self.vehicle_driver endon("death"); + if(isdefined(var_03)) + { + self.vehicle_driver notify("vehicle_damaged",var_03); + } + else + { + self.vehicle_driver notify("vehicle_damaged",self.origin); + } + + var_04 = maps\_stealth_shared_utilities::group_get_ai_in_group(self.vehicle_driver.script_stealthgroup); + if(isdefined(var_04)) + { + foreach(var_06 in var_04) + { + if(var_06 == self) + { + continue; + } + + if(isdefined(var_06.enemy) || isdefined(var_06.favoriteenemy)) + { + continue; + } + + var_06 thread maps\irons_estate_code::notify_delay_param("vehicle_damaged",randomfloatrange(0.25,1.5),self.origin); + } + } + } +} + +//Function Number: 4 +irons_estate_vehicle_passenger_normal() +{ + thread maps\_stealth_shared_utilities::enemy_announce_hmph(); + irons_estate_vehicle_passenger_go_back(); +} + +//Function Number: 5 +irons_estate_vehicle_passenger_go_back() +{ + self notify("going_back"); + self endon("death"); + self notify("stop_loop"); + if(!isdefined(self.script_patroller)) + { + self.script_patroller = 1; + } + + self._stealth.debug_state = "Going Back"; + if(isdefined(self._stealth.behavior.goback_startfunc)) + { + self [[ self._stealth.behavior.goback_startfunc ]](); + } + + var_00 = self._stealth.behavior.last_spot; + if(isdefined(var_00) && self.type != "dog" && !isdefined(self.custommovetransition) && !isdefined(self.mech)) + { + self.custommovetransition = ::maps\_patrol::patrol_resume_move_start_func; + } + + if(isdefined(self.custommovetransition) && isdefined(self.pathgoalpos)) + { + self setgoalpos(self.origin); + wait(0.05); + } + + if(isdefined(self.script_patroller)) + { + var_01 = common_scripts\utility::getstructarray(self.script_parameters,"script_noteworthy"); + var_02 = common_scripts\utility::getclosest(self.origin,var_01); + var_03 = common_scripts\utility::getstruct(var_02.target,"targetname"); + self.target = var_03.targetname; + thread maps\_patrol::patrol(); + } + else if(isalive(self.patrol_master)) + { + thread maps\_patrol::pet_patrol(); + maps\_utility::set_dog_walk_anim(); + self.script_growl = undefined; + } + else if(isdefined(var_00)) + { + if(self.type != "dog") + { + maps\_stealth_shared_utilities::stealth_set_run_anim("_stealth_patrol_walk",1); + } + else + { + maps\_utility::set_dog_walk_anim(); + self.script_growl = undefined; + } + + self.disablearrivals = 1; + self.disableexits = 1; + self setgoalpos(var_00); + self.goalradius = 40; + } + + waittillframeend; + maps\_utility::ent_flag_clear("_stealth_override_goalpos"); + if(isdefined(var_00)) + { + thread maps\_stealth_shared_utilities::enemy_go_back_clear_lastspot(var_00); + } +} + +//Function Number: 6 +irons_estate_vehicle_passenger_death_watcher() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/irons_estate_vo.gsc b/AW/PC/maps/irons_estate_vo.gsc new file mode 100644 index 0000000..0d903c3 --- /dev/null +++ b/AW/PC/maps/irons_estate_vo.gsc @@ -0,0 +1,106 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: irons_estate_vo.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 12 + * Decompile Time: 184 ms + * Timestamp: 4/22/2024 2:32:15 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + init_dialogue_flags(); + setup_vo(); + thread start_dialogue_threads(); + thread init_pcap_vo(); +} + +//Function Number: 2 +init_dialogue_flags() +{ +} + +//Function Number: 3 +setup_vo() +{ +} + +//Function Number: 4 +start_dialogue_threads() +{ +} + +//Function Number: 5 +init_pcap_vo() +{ + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%ie_intro_ally_1,"aud_ie_intro_ally_1",::ie_intro_cormack); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%ie_briefing_start_ilona,"aud_ie_briefing_start_ilona_start",::ie_briefing_start_ilona); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%ie_briefing_start_cormack,"aud_ie_briefing_start_cormack_start",::ie_briefing_start_cormack); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%ie_briefing_start_cormack,"cormack_briefing_anim_start",::ie_briefing_start_cormack_2); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%ie_hangar_kva,"aud_ie_hangar_kva_start",::ie_hangar_kva); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%ie_hangar_irons,"aud_ie_hangar_irons_start",::ie_hangar_irons); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%ie_car_ride_driving_cormack,"aud_ie_car_ride_driving_cormack_start",::ie_car_ride); +} + +//Function Number: 6 +ie_intro_cormack(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("ie_crmk_frontdoor",18.35); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("ie_crmk_readyhooks",23.25); +} + +//Function Number: 7 +ie_briefing_start_ilona(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("ie_iln_herehecomes",2); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("ie_iln_upagainstold",9.03); +} + +//Function Number: 8 +ie_briefing_start_cormack(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("ie_crk_goodtohaveyou",5.12); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("ie_crk_knowthisisdiff",17); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("ie_crk_thisisbigger",21.27); +} + +//Function Number: 9 +ie_briefing_start_cormack_2(param_00) +{ + wait(5.95); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("ie_crmk_greenlight",0.09); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("ie_crmk_privateestate",4); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("ie_crmk_insertionteam",9.06); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("ie_crmk_gatherintel",14); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("ie_crmk_getitdone",20); +} + +//Function Number: 10 +ie_hangar_kva(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("ie_doc_aslongas",1.09); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("ie_doc_wearemoving",10); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("ie_doc_iwillhavefailed",17.12); +} + +//Function Number: 11 +ie_hangar_irons(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("ie_irs_veryserious",5.21); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("ie_irs_concernforsafety",14.27); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("ie_irs_dontworry",22.12); +} + +//Function Number: 12 +ie_car_ride(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("ie_crk_runthatname",0.09); + soundscripts\_snd_pcap::snd_pcap_play_radio_vo_30fps("ie_knx_alreadyonit",3.15); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("ie_crk_thekvadoc",8.12); + soundscripts\_snd_pcap::snd_pcap_play_radio_vo_30fps("ie_iln_sodidi",12.27); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("ie_crk_getallthis",14.15); + soundscripts\_snd_pcap::snd_pcap_play_radio_vo_30fps("ie_knx_copythat",19.18); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("ie_crk_readynow",26.21); +} \ No newline at end of file diff --git a/AW/PC/maps/jake_tools.gsc b/AW/PC/maps/jake_tools.gsc new file mode 100644 index 0000000..c78a0f5 --- /dev/null +++ b/AW/PC/maps/jake_tools.gsc @@ -0,0 +1,1080 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: jake_tools.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 66 + * Decompile Time: 958 ms + * Timestamp: 4/22/2024 2:32:18 AM +*******************************************************************/ + +//Function Number: 1 +create_overlay_element(param_00,param_01) +{ + var_02 = newhudelem(); + var_02.x = 0; + var_02.y = 0; + var_02 setshader(param_00,640,480); + var_02.alignx = "left"; + var_02.aligny = "top"; + var_02.sort = 1; + var_02.horzalign = "fullscreen"; + var_02.vertalign = "fullscreen"; + var_02.alpha = param_01; + var_02.foreground = 1; + return var_02; +} + +//Function Number: 2 +hide_geo() +{ + self hide(); + self notsolid(); + if(self.spawnflags & 1) + { + self connectpaths(); + } +} + +//Function Number: 3 +hideall(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = getentarray("hide","script_noteworthy"); + } + + for(var_01 = 0;var_01 < param_00.size;var_01++) + { + var_02 = param_00[var_01]; + switch(var_02.classname) + { + case "script_vehicle": + var_02 delete(); + break; + + case "script_model": + var_02 hide(); + break; + + case "script_brushmodel": + var_02 hide(); + var_02 notsolid(); + if(var_02.spawnflags & 1) + { + var_02 connectpaths(); + } + break; + + case "trigger_multiple_flag_looking": + case "trigger_multiple_flag_lookat": + case "trigger_multiple_breachIcon": + case "trigger_multiple_flag_set": + case "trigger_use_touch": + case "trigger_use": + case "trigger_multiple": + case "trigger_radius": + var_02 common_scripts\utility::trigger_off(); + break; + } + } +} + +//Function Number: 4 +ai_notify(param_00,param_01) +{ + self endon("death"); + param_01 = int(param_01 * 1000); + var_02 = gettime(); + var_03 = gettime(); + while(var_03 < var_02 + param_01) + { + wait(0.05); + var_03 = gettime(); + self notify(param_00); + } + + self notify("ai_notify_complete"); +} + +//Function Number: 5 +get_all_ents_in_chain(param_00) +{ + var_01 = []; + var_02 = self; + var_03 = 0; + while(isdefined(var_02.target)) + { + wait(0.05); + if(isdefined(var_02.target)) + { + switch(param_00) + { + case "vehiclenode": + var_02 = getvehiclenode(var_02.target,"targetname"); + break; + + case "pathnode": + var_02 = getnode(var_02.target,"targetname"); + break; + + case "ent": + var_02 = getent(var_02.target,"targetname"); + break; + + default: + break; + } + + var_01[var_01.size] = var_02; + continue; + } + + break; + } + + if(var_01.size > 0) + { + return var_01; + } + + return undefined; +} + +//Function Number: 6 +wait_for_level_notify_or_timeout(param_00,param_01) +{ + level endon(param_00); + wait(param_01); +} + +//Function Number: 7 +get_ai_within_radius(param_00,param_01,param_02) +{ + if(isdefined(param_02)) + { + var_03 = getaiarray(param_02); + } + else + { + var_03 = getaiarray(); + } + + var_04 = []; + for(var_05 = 0;var_05 < var_03.size;var_05++) + { + if(distance(param_01,self.origin) <= param_00) + { + common_scripts\utility::array_add(var_04,var_03[var_05]); + } + } + + return var_04; +} + +//Function Number: 8 +ai_stun(param_00) +{ + self endon("death"); + if(isdefined(self) && isalive(self) && maps\_utility::flashbangisactive()) + { + maps\_utility::flashbangstart(param_00); + } +} + +//Function Number: 9 +start_teleport(param_00) +{ + self forceteleport(param_00.origin,param_00.angles); + self setgoalpos(self.origin); + self setgoalnode(param_00); +} + +//Function Number: 10 +waittill_player_in_range(param_00,param_01) +{ + for(;;) + { + if(distance(param_00,level.player.origin) <= param_01) + { + break; + } + + wait(0.5); + } +} + +//Function Number: 11 +vehicle_go_to_end_and_delete(param_00,param_01) +{ + var_02 = getvehiclenode(param_00,"targetname"); + var_03 = ""; + switch(param_01) + { + case "truck": + var_03 = "vehicle_pickup_4door"; + break; + + case "bmp": + var_03 = "vehicle_bmp"; + break; + + default: + break; + } + + var_04 = spawnvehicle(var_03,"plane","truck",var_02.origin,var_02.angles); + if(param_01 == "truck") + { + var_04 truck_headlights_on(); + } + + var_04 attachpath(var_02); + var_04 startpath(); + var_04 vehicle_setspeed(23,20); + var_04 waittill("reached_end_node"); + var_04 delete(); +} + +//Function Number: 12 +truck_headlights_on() +{ + playfxontag(level._effect["headlight_truck"],self,"tag_headlight_left"); + playfxontag(level._effect["headlight_truck"],self,"tag_headlight_right"); +} + +//Function Number: 13 +set_goalvolume(param_00,param_01) +{ + self endon("death"); + if(isdefined(param_00)) + { + param_01 = getent(param_00,"targetname"); + } + + var_02 = getnode(param_01.target,"targetname"); + self.goalvolume = param_01; + self setgoalnode(var_02); + self.goalradius = var_02.radius; + self setgoalvolume(param_01); +} + +//Function Number: 14 +waittill_touching_entity(param_00) +{ + self endon("death"); + while(!self istouching(param_00)) + { + wait(0.05); + } +} + +//Function Number: 15 +reset_goalvolume() +{ + self endon("death"); + self setgoalpos(self.origin); + self.goalvolume = undefined; +} + +//Function Number: 16 +print3dthread(param_00,param_01,param_02,param_03) +{ + self endon("death"); + if(!isdefined(param_02)) + { + param_02 = 0.25; + } + + if(!isdefined(param_03)) + { + param_03 = 0; + } + + if(!isdefined(param_01)) + { + self notify("stop_3dprint"); + self endon("stop_3dprint"); + self endon("death"); + for(;;) + { + if(isdefined(self)) + { + } + + wait(0.05); + } + + return; + } + + wait(0.05); +} + +//Function Number: 17 +smoke_detect() +{ + self endon("smoke_has_been_thrown"); + self.smokethrown = 0; + while(self.smokethrown == 0) + { + wait(0.05); + var_00 = getentarray("grenade","classname"); + for(var_01 = 0;var_01 < var_00.size;var_01++) + { + if(var_00[var_01].model == "projectile_us_smoke_grenade") + { + if(var_00[var_01] istouching(self)) + { + self.smokethrown = 1; + self notify("smoke_has_been_thrown"); + } + } + } + } +} + +//Function Number: 18 +dialogue_execute(param_00) +{ + self endon("death"); + maps\_utility::dialogue_queue(param_00); +} + +//Function Number: 19 +trigarraywait(param_00) +{ + var_01 = getentarray(param_00,"targetname"); + if(var_01.size == 1) + { + trigwait(param_00); + return; + } + + for(var_02 = 0;var_02 < var_01.size;var_02++) + { + var_01[var_02] thread trigarraywait2(var_01); + } + + var_01[0] waittill("trigger"); +} + +//Function Number: 20 +trigarraywait2(param_00) +{ + self waittill("trigger"); + for(var_01 = 0;var_01 < param_00.size;var_01++) + { + param_00[var_01] notify("trigger"); + param_00[var_01] common_scripts\utility::trigger_off(); + } +} + +//Function Number: 21 +trigwait(param_00) +{ + var_01 = getent(param_00,"targetname"); + var_01 waittill("trigger"); + var_01 common_scripts\utility::trigger_off(); +} + +//Function Number: 22 +triggersenable(param_00,param_01,param_02) +{ + var_03 = getentarray(param_00,param_01); + if(param_02 == 1) + { + common_scripts\utility::array_thread(var_03,::common_scripts\utility::trigger_on); + return; + } + + common_scripts\utility::array_thread(var_03,::common_scripts\utility::trigger_off); +} + +//Function Number: 23 +triggeractivate(param_00) +{ + var_01 = getent(param_00,"targetname"); + var_01 notify("trigger",level.player); + var_01 common_scripts\utility::trigger_off(); +} + +//Function Number: 24 +aa_ai_functions() +{ +} + +//Function Number: 25 +look_at_position(param_00) +{ + var_01 = vectortoangles(self.origin - param_00.origin); + self setpotentialthreat(var_01[1]); +} + +//Function Number: 26 +set_threatbias(param_00) +{ + if(!isdefined(self.old_threatbias)) + { + self.old_threatbias = self.threatbias; + } + + self.threatbias = param_00; +} + +//Function Number: 27 +reset_threatbias() +{ + if(isdefined(self.old_threatbias)) + { + self.threatbias = self.old_threatbias; + } + + self.old_threatbias = undefined; +} + +//Function Number: 28 +set_walkdist(param_00) +{ + if(!isdefined(self.old_walkdist)) + { + self.old_walkdist = self.walkdist; + } + + self.walkdist = param_00; +} + +//Function Number: 29 +reset_walkdist() +{ + if(isdefined(self.old_walkdist)) + { + self.walkdist = self.old_walkdist; + } + + self.old_walkdist = undefined; +} + +//Function Number: 30 +set_health(param_00) +{ + self.old_health = self.health; + self.health = param_00; +} + +//Function Number: 31 +reset_health() +{ + if(isdefined(self.old_health)) + { + self.health = self.old_health; + } +} + +//Function Number: 32 +set_animname(param_00) +{ + if(!isdefined(self.old_animname)) + { + self.old_animname = self.animname; + } + + self.animname = param_00; +} + +//Function Number: 33 +reset_animname() +{ + if(isdefined(self.old_animname)) + { + self.animname = self.old_animname; + } + + self.old_animname = undefined; +} + +//Function Number: 34 +set_maxsightdistsqrd(param_00) +{ + if(!isdefined(self.old_maxsightdistsqrd)) + { + self.old_maxsightdistsqrd = self.maxsightdistsqrd; + } + + self.maxsightdistsqrd = param_00; +} + +//Function Number: 35 +reset_maxsightdistsqrd() +{ + if(isdefined(self.old_maxsightdistsqrd)) + { + self.maxsightdistsqrd = self.old_maxsightdistsqrd; + } + + self.old_maxsightdistsqrd = undefined; +} + +//Function Number: 36 +set_threatbiasgroup(param_00) +{ + if(!threatbiasgroupexists(param_00)) + { + } + + if(!isdefined(self.old_threatbiasgroupname)) + { + self.old_threatbiasgroupname = self.threatbiasgroupname; + } + + self.threatbiasgroupname = param_00; + self setthreatbiasgroup(param_00); +} + +//Function Number: 37 +reset_threatbiasgroup() +{ + if(isdefined(self.old_threatbiasgroupname)) + { + self.threatbiasgroupname = self.old_threatbiasgroupname; + self setthreatbiasgroup(self.old_threatbiasgroupname); + if(!threatbiasgroupexists(self.old_threatbiasgroupname)) + { + } + } + else + { + self.threatbiasgroupname = undefined; + self setthreatbiasgroup(); + } + + self.old_threatbiasgroupname = undefined; +} + +//Function Number: 38 +setgoalradius(param_00) +{ + if(!isdefined(self.old_goalradius)) + { + self.old_goalradius = self.goalradius; + } + + self.goalradius = param_00; +} + +//Function Number: 39 +resetgoalradius() +{ + if(isdefined(self.old_goalradius)) + { + self.goalradius = self.old_goalradius; + } + + self.old_goalradius = undefined; +} + +//Function Number: 40 +setinterval(param_00) +{ + if(!isdefined(self.old_interval)) + { + self.old_interval = self.interval; + } + + self.interval = param_00; +} + +//Function Number: 41 +resetinterval() +{ + if(isdefined(self.old_interval)) + { + self.interval = self.old_interval; + } + + self.old_interval = undefined; +} + +//Function Number: 42 +set_accuracy(param_00) +{ + if(!isdefined(self.old_accuracy)) + { + self.old_accuracy = self.baseaccuracy; + } + + self.baseaccuracy = param_00; +} + +//Function Number: 43 +reset_accuracy() +{ + if(isdefined(self.old_accuracy)) + { + self.baseaccuracy = self.old_accuracy; + } + + self.old_accuracy = undefined; +} + +//Function Number: 44 +get_closest_ally(param_00) +{ + var_01 = undefined; + if(!isdefined(param_00)) + { + var_02 = level.player getorigin(); + } + else + { + var_02 = var_01 getorigin(); + } + + if(isdefined(level.excludedai)) + { + var_01 = maps\_utility::get_closest_ai_exclude(var_02,"allies",level.excludedai); + } + else + { + var_01 = maps\_utility::get_closest_ai(var_02,"allies"); + } + + return var_01; +} + +//Function Number: 45 +get_closest_axis() +{ + var_00 = maps\_utility::get_closest_ai(level.player getorigin(),"axis"); + return var_00; +} + +//Function Number: 46 +groupwarp(param_00,param_01) +{ + var_02 = getnodearray(param_01,"targetname"); + for(var_03 = 0;var_03 < param_00.size;var_03++) + { + if(isdefined(var_02[var_03])) + { + param_00[var_03] teleport(var_02[var_03].origin); + } + } +} + +//Function Number: 47 +getaiarraytouchingvolume(param_00,param_01,param_02) +{ + if(!isdefined(param_02)) + { + param_02 = getent(param_01,"targetname"); + } + + if(param_00 == "all") + { + var_03 = getaiarray(); + } + else + { + var_03 = getaiarray(param_01); + } + + var_04 = []; + for(var_05 = 0;var_05 < var_03.size;var_05++) + { + if(var_03[var_05] istouching(param_02)) + { + var_04[var_04.size] = var_03[var_05]; + } + } + + return var_04; +} + +//Function Number: 48 +npcdelete(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_03)) + { + param_03 = []; + param_03[0] = level.price; + } + + var_04 = getent(param_00,"targetname"); + if(!isdefined(param_02)) + { + param_02 = 0; + } + + var_05 = undefined; + if(param_01 == "all") + { + var_05 = getaiarray(); + } + else + { + var_05 = getaiarray(param_01); + } + + if(isdefined(param_03)) + { + for(var_06 = 0;var_06 < param_03.size;var_06++) + { + if(maps\_utility::is_in_array(var_05,param_03[var_06])) + { + var_05 = common_scripts\utility::array_remove(var_05,param_03[var_06]); + } + } + } + + for(var_06 = 0;var_06 < var_05.size;var_06++) + { + if(var_05[var_06] istouching(var_04)) + { + var_05[var_06] invulnerable(0); + if(param_02 == 1) + { + var_05[var_06] kill((0,0,0)); + continue; + } + + var_05[var_06] delete(); + } + } +} + +//Function Number: 49 +getdudefromarray(param_00,param_01) +{ + var_02 = undefined; + for(var_03 = 0;var_03 < param_00.size;var_03++) + { + if(isdefined(param_00[var_03].script_noteworthy) && param_00[var_03].script_noteworthy == param_01) + { + var_02 = param_00[var_03]; + } + } + + return var_02; +} + +//Function Number: 50 +getdudesfromarray(param_00,param_01) +{ + var_02 = []; + if(isdefined(param_01)) + { + for(var_03 = 0;var_03 < param_00.size;var_03++) + { + if(isdefined(param_00[var_03].script_noteworthy) && param_00[var_03].script_noteworthy == param_01) + { + var_02[var_02.size] = param_00[var_03]; + } + } + } + else + { + } + + if(var_02.size > 0) + { + return var_02; + } + + return undefined; +} + +//Function Number: 51 +gotonode(param_00) +{ + self endon("death"); + var_01 = getnode(param_00,"targetname"); + setgoalradius(var_01.radius); + self setgoalnode(var_01); + self waittill("goal"); + resetgoalradius(); +} + +//Function Number: 52 +gotonodeanddelete(param_00) +{ + if(!isdefined(self)) + { + return; + } + + if(!isalive(self)) + { + return; + } + + self endon("death"); + var_01 = getnode(param_00,"targetname"); + self setgoalnode(var_01); + setgoalradius(var_01.radius); + self waittill("goal"); + self delete(); +} + +//Function Number: 53 +gotonodeandwait(param_00) +{ + if(!isdefined(self)) + { + return; + } + + if(!isalive(self)) + { + return; + } + + self endon("death"); + var_01 = getnode(param_00,"targetname"); + self setgoalnode(var_01); + setgoalradius(var_01.radius); + self waittill("goal"); + set_animname("guy"); + self waittill("stop_waiting_at_node"); + resetgoalradius(); +} + +//Function Number: 54 +forcetonode(param_00) +{ + self endon("death"); + var_01 = getnode(param_00,"targetname"); + self pushplayer(1); + self setgoalnode(var_01); + self waittill("goal"); + self pushplayer(0); + resetgoalradius(); +} + +//Function Number: 55 +setposture(param_00) +{ + if(param_00 == "all") + { + self allowedstances("stand","crouch","prone"); + return; + } + + self allowedstances(param_00); +} + +//Function Number: 56 +invulnerable(param_00) +{ + if(param_00 == 0) + { + if(isdefined(self.magic_bullet_shield)) + { + maps\_utility::stop_magic_bullet_shield(); + } + } + else if(!isdefined(self.magic_bullet_shield)) + { + thread maps\_utility::magic_bullet_shield(); + } + + self.a.disablepain = param_00; +} + +//Function Number: 57 +killentity() +{ + self endon("death"); + if(!isdefined(self)) + { + return; + } + + if(!isalive(self)) + { + return; + } + + self.allowdeath = 1; + invulnerable(0); + self kill(); +} + +//Function Number: 58 +gotovolume(param_00) +{ + self endon("death"); + var_01 = getent(param_00,"targetname"); + var_02 = getnode(var_01.target,"targetname"); + self setgoalnode(var_02); + self setgoalvolume(var_01); + self.goalradius = var_02.radius; +} + +//Function Number: 59 +aa_spawning_functions() +{ +} + +//Function Number: 60 +aa_door_functions() +{ +} + +//Function Number: 61 +door_open(param_00,param_01,param_02) +{ + if(!isdefined(param_01)) + { + param_01 = 1; + } + + if(!isdefined(param_02)) + { + param_02 = 1; + } + + if(param_01 == 1) + { + self playsound(level.scr_sound["snd_wood_door_kick"]); + } + + if(self.classname == "script_brushmodel") + { + var_03 = getent(self.target,"targetname"); + } + else + { + var_04 = getent(self.target,"targetname"); + var_03 = getent(var_04.script_linkto,"script_linkname"); + } + + switch(param_00) + { + case "explosive": + thread door_fall_over(); + door_connectpaths(param_02); + self playsound(level.scr_sound["snd_breach_wooden_door"]); + earthquake(0.4,1,self.origin,1000); + radiusdamage(self.origin,56,level.maxdetpackdamage,level.mindetpackdamage); + break; + + case "kicked": + self rotateyaw(-175,0.5); + door_connectpaths(param_02); + break; + + case "kicked_down": + thread door_fall_over(); + door_connectpaths(param_02); + break; + + default: + self rotateyaw(-175,0.5); + door_connectpaths(); + break; + } + + var_05 = var_03.script_exploder; + common_scripts\_exploder::exploder(var_05); +} + +//Function Number: 62 +door_connectpaths(param_00) +{ + if(self.classname == "script_brushmodel") + { + self connectpaths(); + return; + } + + var_01 = getent(self.target,"targetname"); + var_01 hide(); + var_01 notsolid(); + var_01 connectpaths(); +} + +//Function Number: 63 +door_fall_over() +{ + var_00 = anglestoforward(self.angles); + var_01 = (var_00[0] * 20,var_00[1] * 20,var_00[2] * 20); + self moveto(self.origin + var_01,0.5,0,0.5); + self rotatepitch(90,0.45,0.4); + wait(0.449); + self rotatepitch(-4,0.2,0,0.2); + wait(0.2); + self rotatepitch(4,0.15,0.15); +} + +//Function Number: 64 +debug_circle(param_00,param_01,param_02,param_03,param_04,param_05) +{ + var_06 = 16; + var_07 = 360 / var_06; + var_08 = []; + for(var_09 = 0;var_09 < var_06;var_09++) + { + var_0A = var_07 * var_09; + var_0B = cos(var_0A) * param_01; + var_0C = sin(var_0A) * param_01; + var_0D = param_00[0] + var_0B; + var_0E = param_00[1] + var_0C; + var_0F = param_00[2]; + var_08[var_08.size] = (var_0D,var_0E,var_0F); + } + + if(isdefined(param_04)) + { + wait(param_04); + } + + thread debug_circle_drawlines(var_08,param_02,param_03,param_05,param_00); +} + +//Function Number: 65 +debug_circle_drawlines(param_00,param_01,param_02,param_03,param_04) +{ + if(!isdefined(param_03)) + { + param_03 = 0; + } + + if(!isdefined(param_04)) + { + param_03 = 0; + } + + for(var_05 = 0;var_05 < param_00.size;var_05++) + { + var_06 = param_00[var_05]; + if(var_05 + 1 >= param_00.size) + { + var_07 = param_00[0]; + } + else + { + var_07 = param_00[var_05 + 1]; + } + + thread debug_line(var_06,var_07,param_01,param_02); + if(param_03) + { + thread debug_line(param_04,var_06,param_01,param_02); + } + } +} + +//Function Number: 66 +debug_line(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_03)) + { + param_03 = (1,1,1); + } + + for(var_04 = 0;var_04 < param_02 * 20;var_04++) + { + wait(0.05); + } +} \ No newline at end of file diff --git a/AW/PC/maps/lab.gsc b/AW/PC/maps/lab.gsc new file mode 100644 index 0000000..6c4e593 --- /dev/null +++ b/AW/PC/maps/lab.gsc @@ -0,0 +1,1979 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: lab.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 80 + * Decompile Time: 1196 ms + * Timestamp: 4/22/2024 2:32:22 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\_utility::template_level("lab"); + maps\_utility::add_hint_string("left_climb_hint",&"LAB_PRESS_CLIMB_LEFT",::maps\lab_utility::break_left_climb_hint); + maps\_utility::add_hint_string("right_climb_hint",&"LAB_PRESS_CLIMB_RIGHT",::maps\lab_utility::break_right_climb_hint); + maps\_utility::add_control_based_hint_strings("both_climb_hint",&"LAB_PRESS_CLIMB_BOTH",::maps\lab_utility::break_both_climb_hint,&"LAB_PRESS_CLIMB_BOTH_PC",undefined); + maps\_utility::add_hint_string("exo_cloak_hint",&"LAB_ACTIVATE_CLOAK_HINT",::maps\lab_code::break_exo_cloak_hint); + maps\_utility::add_hint_string("exo_toggle_hint",&"LAB_TOGGLE_CLOAK_HINT",::maps\lab_code::break_exo_cloak_hint); + maps\_utility::add_hint_string("detonate_frb",&"LAB_EXPLOSIVE_DETONATE_HINT",::maps\lab_code::break_detonate_frb_hint); + maps\_utility::add_hint_string("takedown_hint",&"LAB_TAKEDOWN_HINT",::maps\lab_utility::takedown_hint_off); + maps\_utility::add_control_based_hint_strings("hovertank_missile_hint",&"LAB_HOVERTANK_SWITCH_MISSILES",::maps\lab_utility::hovertank_missile_hint_off,&"LAB_HOVERTANK_SWITCH_MISSILES_PC"); + maps\_utility::add_control_based_hint_strings("hovertank_cannon_hint",&"LAB_HOVERTANK_SWITCH_CANNON",::maps\lab_utility::hovertank_cannon_hint_off,&"LAB_HOVERTANK_SWITCH_CANNON_PC"); + var_00 = getdvarint("loc_language",0); + if((level.ps3 || level.ps4) && var_00 == 10 || var_00 == 5) + { + maps\_utility::add_control_based_hint_strings("hovertank_emp_hint",&"LAB_HOVERTANK_SWITCH_EMP_J",::maps\lab_utility::hovertank_emp_hint_off,&"LAB_HOVERTANK_SWITCH_EMP_PC"); + } + else + { + maps\_utility::add_control_based_hint_strings("hovertank_emp_hint",&"LAB_HOVERTANK_SWITCH_EMP",::maps\lab_utility::hovertank_emp_hint_off,&"LAB_HOVERTANK_SWITCH_EMP_PC"); + } + + maps\_utility::add_hint_string("hint_dont_leave_mission",&"LAB_LEAVING_MISSION_AREA",::maps\lab_code::break_exfil_out_bounds); + maps\_utility::add_control_based_hint_strings("prone_hint",&"LAB_PRONE_HINT",::maps\lab_code::break_prone_hint,&"LAB_PRONE_HINT_PC",undefined); + maps\_utility::add_control_based_hint_strings("player_input_rappel_hint",&"LAB_RAPPEL_B_HINT_CONTROLLER",::maps\lab_code::player_input_rappel_hint_off,&"LAB_RAPPEL_B_HINT_PC",&"LAB_RAPPEL_B_HINT_CONTROLLER_SP"); + maps\_utility::add_start("crash",::debug_start_crash,"Crash",::crash_logic); + maps\_utility::add_start("forest_start",::debug_start_forest_start,"Forest Start",::forest_start_logic); + maps\_utility::add_start("forest_takedown",::debug_start_forest_takedown,"Forest Takedown",::forest_takedown_start_logic); + maps\_utility::add_start("logging_road",::debug_start_logging_road,"Logging Road",::logging_road_logic); + maps\_utility::add_start("mech_march",::debug_start_mech_march,"Mech March",::mech_march_logic); + maps\_utility::add_start("cliff_rappel",::debug_start_cliff_rappel,"Cliff Rappel",::cliff_rappel_logic); + maps\_utility::add_start("facility_breach",::debug_start_facility_breach,"Facility Breach",::facility_breach_logic); + maps\_utility::add_start("server_room_promo",::debug_start_server_room_promo,"Server Room Promo",::server_room_promo_logic); + maps\_utility::add_start("server_room",::debug_start_server_room,"Server Room",::server_room_logic); + maps\_utility::add_start("research_facility_bridge",::debug_start_research_facility_bridge,"Research Facility Bridge",::research_facility_bridge_logic); + maps\_utility::add_start("foam_room",::debug_start_foam_room,"Foam Room",::foam_room_logic); + maps\_utility::add_start("courtyard",::debug_start_courtyard,"Courtyard",::courtyard_logic); + maps\_utility::add_start("courtyard_jammer",::debug_start_courtyard_jammer,"Courtyard Jammer",::courtyard_jammer_logic); + maps\_utility::add_start("tank_hangar",::debug_start_tank_hangar,"Tank Hangar",::tank_hangar_logic); + maps\_utility::add_start("tank_board",::debug_start_tank_board,"Tank Board",::tank_board_logic); + maps\_utility::add_start("tank_road",::debug_start_tank_road,"Tank Road",::tank_road_logic); + maps\_utility::add_start("tank_field",::debug_start_tank_field,"Tank Field",undefined); + maps\_utility::add_start("tank_field_left_fork",::debug_start_tank_field_left_fork,"Tank Field Left Fork",undefined); + maps\_utility::add_start("tank_field_right_fork",::debug_start_tank_field_right_fork,"Tank Field Right Fork",::tank_field_logic); + maps\_utility::add_start("tank_ascent",::debug_start_tank_ascent,"Tank Ascent",::tank_ascent_logic); + maps\_utility::add_start("exfil",::debug_start_exfil,"Exfil",::exfil_logic); + if(level.currentgen) + { + tff_setup_start_points(); + } + + maps\createart\lab_art::main(); + maps\lab_fx::main(); + maps\lab_precache::main(); + maps\_load::main(); + thread maps\_player_exo::main("specialist",0,0); + maps\lab_anim::main(); + maps\lab_lighting::main(); + maps\lab_aud::main(); + maps\_car_door_shield::init_door_shield(); + maps\_drone_ai::init(); + maps\_microdronelauncher::init(); + maps\_microwave_grenade::main(); + precachemodel("body_hero_burke_sentinel_covert_cloak"); + precachemodel("body_hero_cormack_sentinel_covert_cloak"); + precachemodel("viewhands_player_sentinel_cloak"); + precachemodel("viewbody_sentinel_covert"); + precachemodel("viewbody_sentinel_covert_cloak"); + precachemodel("worldhands_player_sentinel"); + precachemodel("com_blackhawk_spotlight_on_mg_setup"); + precachemodel("genericprop"); + precachemodel("fullbody_deer_c"); + precachemodel("lab_tank_battle_sequoia_02_1b"); + precachemodel("lab_tank_battle_sequoia_02_1t"); + precacheitem("barrett"); + precacheitem("iw5_bal27_sp"); + precacheitem("iw5_hbra3_sp"); + precacheitem("iw5_microdronelauncher_sp"); + precacheturret("heli_spotlight_so_castle"); + precacheitem("iw5_unarmed_nullattach"); + precacheitem("s1_unarmed_water"); + precacheitem("s1_lab_heli_railgun_sp"); + precacheitem("rpg_straight"); + precacheitem("rpg"); + precacheitem("iw5_mors_sp"); + precachemodel("weapon_rappel_rope_long"); + precachemodel("vm_jamming_device_obj"); + precachemodel("safety_ladder_196_obj"); + precachemodel("npc_variable_grenade_lethal"); + precachemodel("npc_foam_grenade"); + precachemodel("rope_carabiner"); + precachemodel("lab_anchor_system"); + precachemodel("rope30ft_120j"); + precachemodel("rope30ft_240j"); + precachemodel("rope150ft_240j"); + precachemodel("lab_server_monitor_01_opc"); + precachemodel("lab_server_monitor_01_obj"); + precachemodel("vehicle_civ_boxtruck_destroyed"); + precachemodel("vehicle_mil_hovertank_dstrypv"); + precachestring(&"LAB_DSM_PLANT_HINT_PC"); + precachestring(&"LAB_EXPLOSIVE_PLANT_HINT_PC"); + precachestring(&"LAB_ENTER_HOVERTANK_HINT_PC"); + precachestring(&"LAB_DISABLE_SCRAMBLER_HINT_PC"); + precachestring(&"LAB_CLIMB_WALL_HINT_PC"); + precachestring(&"LAB_RAPPEL_HINT_PC"); + precachestring(&"LAB_PLANT_MUTE_HINT_PC"); + precachestring(&"LAB_PRONE_HINT_PC"); + precachestring(&"LAB_RAPPEL_B_HINT_PC"); + precacherumble("damage_light"); + precacherumble("light_1s"); + precacherumble("light_2s"); + precacherumble("light_3s"); + precacherumble("damage_heavy"); + precacherumble("heavy_1s"); + precacherumble("heavy_2s"); + precacherumble("heavy_3s"); + precacherumble("steady_rumble"); + maps\lab_utility::precache_scanner_turret(); + common_scripts\utility::flag_init("flag_escape_the_sniper_obj_give"); + common_scripts\utility::flag_init("flag_demo_itiot_start"); + common_scripts\utility::flag_init("player_climbing_wall"); + common_scripts\utility::flag_init("flag_player_climb_succeeded"); + common_scripts\utility::flag_init("flag_burke_says_exo_is_on"); + common_scripts\utility::flag_init("flag_enable_battle_chatter"); + common_scripts\utility::flag_init("flag_player_exo_enabled"); + common_scripts\utility::flag_init("flag_cloak_fail_kill_player"); + common_scripts\utility::flag_init("lab_intro_screen_complete"); + common_scripts\utility::flag_init("flag_burke_intro_react_se_start"); + common_scripts\utility::flag_init("flag_burke_shack_se_start"); + common_scripts\utility::flag_init("flag_burke_hill_slide_start"); + common_scripts\utility::flag_init("flag_forest_climb_wall_complete"); + common_scripts\utility::flag_init("flag_forest_climb_wall_start"); + common_scripts\utility::flag_init("flag_search_drone_se_complete"); + common_scripts\utility::flag_init("flag_se_takedown_01_started"); + common_scripts\utility::flag_init("flag_se_takedown_01_complete"); + common_scripts\utility::flag_init("flag_se_takedown_02_complete"); + common_scripts\utility::flag_init("flag_patroler_takedown_02_ready"); + common_scripts\utility::flag_init("flag_recharge_cloak_01"); + common_scripts\utility::flag_init("flag_move_to_vrap_takedown"); + common_scripts\utility::flag_init("flag_vehicle_takedown_01_start"); + common_scripts\utility::flag_init("flag_se_vehicle_takedown_01_complete"); + common_scripts\utility::flag_init("flag_se_vehicle_takedown_01_failed"); + common_scripts\utility::flag_init("flag_seeker_patrol_01_clear"); + common_scripts\utility::flag_init("flag_move_up_seeker_01"); + common_scripts\utility::flag_init("flag_move_up_seeker_02"); + common_scripts\utility::flag_init("flag_seeker_cone_safe_left"); + common_scripts\utility::flag_init("flag_seeker_cone_safe_right"); + common_scripts\utility::flag_init("flag_logging_road_loud_combat"); + common_scripts\utility::flag_init("flag_obj_crawl_under_log"); + common_scripts\utility::flag_init("flag_rappel_player_input_start"); + common_scripts\utility::flag_init("flag_rappel_player_input_stop"); + common_scripts\utility::flag_init("flag_player_ready_to_rappel"); + common_scripts\utility::flag_init("flag_aproach_vehicle_dialogue_complete"); + common_scripts\utility::flag_init("flag_breach_guards_alerted"); + common_scripts\utility::flag_init("flag_breach_guards_clear"); + common_scripts\utility::flag_init("flag_facility_breach_complete"); + common_scripts\utility::flag_init("flag_breach_patrol_01_dead"); + common_scripts\utility::flag_init("flag_breach_patrol_02_dead"); + common_scripts\utility::flag_init("flag_post_breach_patrol_alerted"); + common_scripts\utility::flag_init("flag_combat_facility_bridge_seek_player"); + common_scripts\utility::flag_init("flag_sever_room_guy_kill"); + common_scripts\utility::flag_init("flag_server_room_enemy_killed_by_knox"); + common_scripts\utility::flag_init("flag_server_room_enemy_killed_by_player"); + common_scripts\utility::flag_init("flag_obj_bio_weapons_hack"); + common_scripts\utility::flag_init("flag_server_room_promo"); + common_scripts\utility::flag_init("flag_guys_pool_bldg_01_seek_player"); + common_scripts\utility::flag_init("flag_guys_research_left_01_seek_player"); + common_scripts\utility::flag_init("flag_guys_research_right_01_seek_player"); + common_scripts\utility::flag_init("flag_combat_research_retreat_foam_room"); + common_scripts\utility::flag_init("flag_foam_room_combat_clear_out"); + common_scripts\utility::flag_init("flag_foam_room_clear"); + common_scripts\utility::flag_init("flag_research_building_combat_complete"); + common_scripts\utility::flag_init("flag_obj_bio_weapons_complete"); + common_scripts\utility::flag_init("flag_obj_locate_atlas_tank"); + common_scripts\utility::flag_init("flag_combat_courtyard_jammer_complete"); + common_scripts\utility::flag_init("flag_obj_courtyard_jammer_start"); + common_scripts\utility::flag_init("flag_obj_courtyard_defend_start"); + common_scripts\utility::flag_init("flag_courtyard_sniper_sequence_complete"); + common_scripts\utility::flag_init("flag_courtyard_hangar_door_hack"); + common_scripts\utility::flag_init("flag_courtyard_hangar_door_hack_success"); + common_scripts\utility::flag_init("flag_obj_tank_02"); + common_scripts\utility::flag_init("hangar_door_closing"); + common_scripts\utility::flag_init("flag_obj_tank_04"); + common_scripts\utility::flag_init("flag_obj_tank_05"); + common_scripts\utility::flag_init("flag_obj_tank_06"); + common_scripts\utility::flag_init("flag_obj_tank_complete"); + common_scripts\utility::flag_init("flag_player_exfil_enter_ready"); + common_scripts\utility::flag_init("flag_obj_hide_marker_during_tank_exit"); + common_scripts\utility::flag_init("flag_obj_show_razorback_marker"); + common_scripts\utility::flag_init("flag_obj_battle_exfil_complete"); + common_scripts\utility::flag_init("flag_burke_server_room_ready"); + common_scripts\utility::flag_init("flag_cormack_server_room_ready"); + common_scripts\utility::flag_init("flag_knox_server_room_ready"); + common_scripts\utility::flag_init("flag_se_server_room_start"); + common_scripts\utility::flag_init("flag_se_server_room_guy_dead"); + common_scripts\utility::flag_init("flag_knox_get_ready_enter_server_room"); + common_scripts\utility::flag_init("flag_se_server_room_exit"); + common_scripts\utility::flag_init("monitor_finished_animating"); + common_scripts\utility::flag_init("flag_obj_neutralize_bio_weapons_complete"); + common_scripts\utility::flag_init("flag_hangar_mech_01_dead"); + common_scripts\utility::flag_init("flag_foam_corridor_exit"); + common_scripts\utility::flag_init("flag_player_starts_entering_mobile_turret"); + common_scripts\utility::flag_init("flag_player_enters_mobile_turret"); + common_scripts\utility::flag_init("flag_hovertank_reveal_scene_started"); + common_scripts\utility::flag_init("flag_move_knox_to_console"); + common_scripts\utility::flag_init("player_entering_hovertank"); + common_scripts\utility::flag_init("player_in_hovertank"); + common_scripts\utility::flag_init("flag_log_pile_scripted_destroyed"); + common_scripts\utility::flag_init("flag_burke_destroy_tank"); + common_scripts\utility::flag_init("flag_player_cloak_on_pressed"); + common_scripts\utility::flag_init("flag_player_cloak_on"); + common_scripts\utility::flag_init("flag_player_cloak_off"); + common_scripts\utility::flag_init("tank_defend_wave_1"); + common_scripts\utility::flag_init("hovertank_defend_complete"); + common_scripts\utility::flag_init("flag_burke_ready_for_exfil"); + common_scripts\utility::flag_init("flag_se_hovertank_exit"); + common_scripts\utility::flag_init("flag_exfil_start"); + common_scripts\utility::flag_init("flag_show_cloak_cover"); + common_scripts\utility::flag_init("flag_delete_cloak_cover"); + common_scripts\utility::flag_init("flag_mission_complete"); + common_scripts\utility::flag_init("flag_light_security_camera_off"); + common_scripts\utility::flag_init("flag_disable_takedown_hint"); + common_scripts\utility::flag_init("flag_stop_hint_emp"); + common_scripts\utility::flag_init("flag_stop_hint_cannon"); + common_scripts\utility::flag_init("flag_stop_hint_missile"); + common_scripts\utility::flag_init("flag_player_close_to_exfil"); + common_scripts\utility::flag_init("thruster_big"); + common_scripts\utility::flag_init("flag_vo_stealth_broken"); + common_scripts\utility::flag_init("flag_vo_stealth_recovered"); + common_scripts\utility::flag_init("flag_vo_chopper_moving_off"); + maps\_weapon_pdrone::initialize(); + vehicle_scripts\_pdrone_tactical_picker::main(); + maps\_flashlight_cheap::cheap_flashlight_init(); + maps\lab_breach::init_facility_breach(); + thread animscripts\free_run::init(); + maps\lab_vo::main(); + maps\_foam_bomb::main(); + maps\_patrol_extended::main(); + maps\_stealth::main(); + maps\_cloak::main(); + setsaveddvar("r_hudoutlineenable",1); + setsaveddvar("r_hudoutlinewidth",5); + setsaveddvar("r_chromaticaberration",2); + setsaveddvar("r_chromaticseparationr",3); + setsaveddvar("r_chromaticseparationb",3); + setsaveddvar("r_chromaticseparationg",-3); + setsaveddvar("r_reactiveMotionWindFrequencyScale","0.2"); + if(level.currentgen) + { + setsaveddvar("r_gunSightColorEntityScale","7"); + setsaveddvar("r_gunSightColorNoneScale","0.8"); + } + + maps\_variable_grenade::main(); + foreach(var_02 in level.player getweaponslistoffhands()) + { + level.player setweaponammostock(var_02,0); + } + + maps\lab_utility::spawn_metrics_init(); + setup_portal_scripting(); + thread setup_cloak_cover(); + thread umbra_accuracy_tweaks(); + thread umbra_accuracy_tweaks_tank_field(); + global_spawn_functions(); + thread maps\lab_utility::monitor_out_of_bounds_areas(); + if(level.currentgen) + { + common_scripts\utility::flag_init("tff_trans_middle_to_outro_allies_ready"); + thread transient_transition_middle_to_outro(); + thread cull_distance_triggers(); + tff_setup_blockers(); + } + + thread maps\lab_utility::player_exo_monitor(); + thread maps\lab_code::disable_static_mobile_cover(); +} + +//Function Number: 2 +tff_setup_start_points() +{ + var_00 = ["lab_intro_tr","lab_intro_audio_tr"]; + maps\_utility::set_start_transients("crash",var_00); + maps\_utility::set_start_transients("forest_start",var_00); + maps\_utility::set_start_transients("forest_takedown",var_00); + maps\_utility::set_start_transients("logging_road",var_00); + maps\_utility::set_start_transients("mech_march",var_00); + maps\_utility::set_start_transients("cliff_rappel",var_00); + maps\_utility::set_start_transients("cliff_rappel",var_00); + var_00 = ["lab_middle_tr","lab_intro_audio_tr"]; + maps\_utility::set_start_transients("facility_breach",var_00); + var_00 = ["lab_middle_tr"]; + maps\_utility::set_start_transients("server_room_promo",var_00); + maps\_utility::set_start_transients("server_room",var_00); + maps\_utility::set_start_transients("research_facility_bridge",var_00); + maps\_utility::set_start_transients("foam_room",var_00); + maps\_utility::set_start_transients("courtyard",var_00); + maps\_utility::set_start_transients("courtyard_jammer",var_00); + var_00 = ["lab_outro_tr"]; + maps\_utility::set_start_transients("tank_hangar",var_00); + maps\_utility::set_start_transients("tank_board",var_00); + maps\_utility::set_start_transients("tank_road",var_00); + maps\_utility::set_start_transients("tank_field",var_00); + maps\_utility::set_start_transients("tank_field_left_fork",var_00); + maps\_utility::set_start_transients("tank_field_right_fork",var_00); + maps\_utility::set_start_transients("tank_ascent",var_00); + maps\_utility::set_start_transients("exfil",var_00); +} + +//Function Number: 3 +tff_setup_blockers() +{ + thread tff_setup_blocker_hangar_backtrack(); + thread tff_setup_blocker_hangar_load(); +} + +//Function Number: 4 +tff_setup_blocker_hangar_load() +{ + var_00 = getent("tff_hangar_door_load_wait_r","targetname"); + var_01 = getent("tff_hangar_door_load_wait_l","targetname"); + var_02 = getent("tff_hangar_door_load_wait_r_coll","targetname"); + var_03 = getent("tff_hangar_door_load_wait_l_coll","targetname"); + var_02 linkto(var_00); + var_03 linkto(var_01); + var_04 = (-48,0,0); + var_05 = (48,0,0); + var_02 connectpaths(); + var_03 connectpaths(); + if(!istransientloaded("lab_outro_tr")) + { + level waittill("tff_post_middle_to_outro"); + } + + soundscripts\_snd::snd_message("current_gen_hangar_door_open"); + var_01 moveto(var_01.origin + var_05,0.5); + var_00 moveto(var_00.origin + var_04,0.5); +} + +//Function Number: 5 +tff_setup_blocker_hangar_backtrack() +{ + var_00 = getent("tff_hangar_door_back_blocker_l","targetname"); + var_01 = getent("tff_hangar_door_back_blocker_r","targetname"); + var_02 = getent("tff_hangar_door_back_blocker_coll","targetname"); + var_03 = (0,0,105); + var_04 = (0,26,0); + var_05 = (0,-26,0); + var_02 connectpaths(); + var_02.origin = var_02.origin - var_03; + var_00.origin = var_00.origin - var_04; + var_01.origin = var_01.origin - var_05; + if(!istransientloaded("lab_outro_tr")) + { + level waittill("tff_pre_middle_to_outro"); + } + + var_02.origin = var_02.origin + var_03; + var_00.origin = var_00.origin + var_04; + var_01.origin = var_01.origin + var_05; + var_02 disconnectpaths(); +} + +//Function Number: 6 +set_completed_flags() +{ + if(maps\_utility::is_default_start()) + { + return; + } + + var_00 = level.start_point; + if(var_00 == "crash") + { + return; + } + + if(var_00 == "demo_with_itiot") + { + return; + } + + common_scripts\utility::flag_set("flag_escape_the_sniper_obj_give"); + common_scripts\utility::flag_set("flag_increase_sinper_shots_01"); + common_scripts\utility::flag_set("flag_helo_spotlight_path_02"); + common_scripts\utility::flag_set("flag_burke_cross_river"); + common_scripts\utility::flag_set("flag_helo_spotlight_path_03"); + common_scripts\utility::flag_set("flag_player_enters_forest"); + if(var_00 == "forest_start") + { + return; + } + + common_scripts\utility::flag_set("flag_helo_low_pass_complete"); + common_scripts\utility::flag_set("flag_forest_climb_wall_start"); + common_scripts\utility::flag_set("player_climbing_wall"); + common_scripts\utility::flag_set("flag_forest_climb_wall_complete"); + common_scripts\utility::flag_set("flag_player_exo_enabled"); + common_scripts\utility::flag_set("flag_player_cloak_enabled"); + common_scripts\utility::flag_set("flag_player_cloak_on"); + common_scripts\utility::flag_set("forest_start_portalgrp_on"); + if(var_00 == "forest_takedown") + { + return; + } + + common_scripts\utility::flag_set("flag_forest_takedown_01"); + if(var_00 == "logging_road") + { + return; + } + + common_scripts\utility::flag_set("flag_vrap_mute_start"); + common_scripts\utility::flag_set("flag_vehicle_takedown_01"); + common_scripts\utility::flag_set("flag_se_vehicle_takedown_01_complete"); + if(var_00 == "mech_march") + { + return; + } + + common_scripts\utility::flag_set("flag_logging_road_complete"); + common_scripts\utility::flag_set("flag_obj_crawl_under_log"); + common_scripts\utility::flag_set("flag_seeker_clear"); + if(var_00 == "cliff_rappel") + { + return; + } + + common_scripts\utility::flag_set("flag_cormack_meet_init"); + common_scripts\utility::flag_set("flag_cormack_meet_start"); + common_scripts\utility::flag_set("flag_player_ready_to_rappel"); + common_scripts\utility::flag_set("flag_rappel_start"); + common_scripts\utility::flag_set("flag_facility_breach_start"); + if(var_00 == "facility_breach") + { + return; + } + + common_scripts\utility::flag_set("flag_breach_guards_clear"); + common_scripts\utility::flag_set("flag_facility_breach_complete"); + common_scripts\utility::flag_set("flag_obj_bio_weapons_02"); + common_scripts\utility::flag_set("flag_obj_bio_weapons_03"); + common_scripts\utility::flag_set("flag_obj_bio_weapons_04"); + if(var_00 == "server_room") + { + return; + } + + if(var_00 == "server_room_promo") + { + return; + } + + common_scripts\utility::flag_set("flag_enable_battle_chatter"); + common_scripts\utility::flag_set("flag_combat_research_02"); + common_scripts\utility::flag_set("flag_obj_bio_weapons_05"); + common_scripts\utility::flag_set("flag_obj_bio_weapons_complete"); + common_scripts\utility::flag_set("flag_enemy_server_room_se_dead"); + common_scripts\utility::flag_set("flag_obj_bio_weapons_hack"); + if(var_00 == "research_facility_bridge") + { + return; + } + + common_scripts\utility::flag_set("flag_research_building_combat_complete"); + common_scripts\utility::flag_set("flag_combat_research_05"); + if(var_00 == "foam_room") + { + return; + } + + common_scripts\utility::flag_set("flag_obj_neutralize_bio_weapons_complete"); + common_scripts\utility::flag_set("flag_player_inside_foam_room"); + common_scripts\utility::flag_set("flag_obj_locate_atlas_tank"); + if(var_00 == "courtyard") + { + return; + } + + common_scripts\utility::flag_set("flag_courtyard_hangar_door_block"); + common_scripts\utility::flag_set("flag_obj_courtyard_jammer_start"); + common_scripts\utility::flag_set("flag_courtyard_hangar_door_hack"); + common_scripts\utility::flag_set("flag_hangar_mech_01_dead"); + if(var_00 == "courtyard_jammer") + { + return; + } + + common_scripts\utility::flag_set("flag_obj_jammer_interact"); + common_scripts\utility::flag_set("flag_obj_jammer_complete"); + common_scripts\utility::flag_set("flag_obj_courtyard_defend_start"); + common_scripts\utility::flag_set("flag_courtyard_hangar_door_hack_success"); + common_scripts\utility::flag_set("flag_obj_tank_02"); + common_scripts\utility::flag_set("flag_obj_tank_03"); + if(var_00 == "tank_hangar") + { + return; + } + + common_scripts\utility::flag_set("flag_obj_tank_04"); + common_scripts\utility::flag_set("flag_obj_tank_05"); + common_scripts\utility::flag_set("flag_obj_tank_06"); + if(var_00 == "tank_board") + { + return; + } + + common_scripts\utility::flag_set("flag_obj_battle_exfil_02"); + common_scripts\utility::flag_set("flag_courtyard_gate_01_explode"); + common_scripts\utility::flag_set("flag_courtyard_gate_02_explode"); + common_scripts\utility::flag_set("flag_obj_tank_complete"); + common_scripts\utility::flag_set("player_entering_hovertank"); + common_scripts\utility::flag_set("player_in_hovertank"); + if(var_00 == "tank_road") + { + return; + } + + common_scripts\utility::flag_set("flag_obj_battle_exfil_03"); + if(var_00 == "tank_field") + { + return; + } + + if(var_00 == "tank_field_left_fork") + { + return; + } + + if(var_00 == "tank_field_right_fork") + { + return; + } + + if(var_00 == "tank_ascent") + { + return; + } + + if(var_00 == "exfil") + { + } +} + +//Function Number: 7 +global_spawn_functions() +{ + maps\_utility::add_global_spawn_function("axis",::toggle_battle_chatter); + maps\_utility::add_global_spawn_function("allies",::toggle_battle_chatter); +} + +//Function Number: 8 +toggle_battle_chatter() +{ + self endon("death"); + for(;;) + { + maps\_utility::set_battlechatter(0); + common_scripts\utility::flag_wait("flag_enable_battle_chatter"); + maps\_utility::set_battlechatter(1); + common_scripts\utility::flag_waitopen("flag_enable_battle_chatter"); + } +} + +//Function Number: 9 +spawn_burke_common() +{ + level.burke = maps\_utility::spawn_targetname("hero_burke"); + level.burke thread maps\_utility::deletable_magic_bullet_shield(); + level.burke maps\lab_utility::assign_cloak_model("body_hero_burke_sentinel_covert_cloak"); + level.burke.animname = "burke"; + level.burke thread maps\lab_utility::prevent_friendly_from_shooting_during_stealth(); + level.burke thread maps\lab_vo::burke_drone_warning_dialogue(); + level.burke thread maps\_cloak::check_for_npc_weapon_cloak_status_update(); +} + +//Function Number: 10 +spawn_cormack_common() +{ + level.cormack = maps\_utility::spawn_targetname("hero_cormack"); + level.cormack maps\lab_utility::assign_cloak_model("body_hero_cormack_sentinel_covert_cloak"); + level.cormack thread maps\_utility::deletable_magic_bullet_shield(); + level.cormack.animname = "cormack"; +} + +//Function Number: 11 +spawn_knox_common() +{ + level.knox = maps\_utility::spawn_targetname("hero_knox"); + level.knox maps\lab_utility::assign_cloak_model("body_hero_burke_sentinel_covert_cloak"); + level.knox thread maps\_utility::deletable_magic_bullet_shield(); + level.knox.animname = "knox"; +} + +//Function Number: 12 +debug_start_crash() +{ + thread maps\lab_lighting::lab(); + soundscripts\_snd::snd_message("start_crash"); + spawn_burke_common(); + level.burke.cloak = "off"; + level.burke animscripts\free_run::enable_free_running(); + level.burke maps\lab_utility::set_helmet_open(0); + level.burke setthreatbiasgroup("cloak_friendly_npcs"); + set_completed_flags(); + if(common_scripts\utility::flag("flag_demo_itiot_start")) + { + thread maps\_shg_utility::show_player_hud("0"); + } + else + { + thread maps\_shg_utility::show_player_hud(); + } + + if(level.nextgen) + { + thread maps\lab_code::startcloakingbinksequence(); + } + + thread objective_init(); + thread maps\lab_code::setup_combat(); + thread maps\lab_code::player_movement_tweaks(); +} + +//Function Number: 13 +crash_logic() +{ + thread maps\lab_code::se_intro(); + maps\lab_code::se_intro_burke_react(); + maps\lab_code::se_intro_shack(); + maps\lab_code::se_burke_stumble_run(); + maps\lab_code::se_burke_dive_over_log(); + maps\lab_code::se_burke_hill_slide(); + maps\lab_code::se_burke_river_cross(); +} + +//Function Number: 14 +debug_start_forest_start() +{ + soundscripts\_snd::snd_message("start_forest"); + thread maps\lab_lighting::enter_forest(); + spawn_burke_common(); + level.burke maps\_utility::disable_ai_color(); + level.burke animscripts\free_run::enable_free_running(); + level.burke maps\lab_utility::set_helmet_open(0); + level.burke setthreatbiasgroup("cloak_friendly_npcs"); + set_completed_flags(); + thread maps\lab_code::se_wall_climb_roots(); + thread maps\_shg_utility::show_player_hud(); + if(level.nextgen) + { + thread maps\lab_code::startcloakingbinksequence_debug(); + } + + thread objective_init(); + thread maps\lab_code::setup_combat(); + thread maps\lab_code::player_movement_tweaks(); + level.player thread maps\lab_code::river_slow_movement_ai_think(); + setsaveddvar("ammoCounterHide","1"); + common_scripts\utility::flag_set("flag_helo_spotlight_on"); + thread maps\lab_code::helo_spotlight_init(); + thread maps\lab_code::helo_spotlight_movement(); + maps\lab_utility::teleport_to_scriptstruct("checkpoint_forest_start"); +} + +//Function Number: 15 +forest_start_logic() +{ + thread maps\lab_code::se_burke_forest_wall_climb(); + maps\lab_code::se_search_drones_01(); +} + +//Function Number: 16 +debug_start_forest_takedown() +{ + soundscripts\_snd::snd_message("start_forest_takedown"); + thread maps\lab_lighting::forest_takedown(); + spawn_burke_common(); + level.burke maps\_utility::disable_ai_color(); + level.burke thread maps\lab_utility::cloak_on(); + level.burke animscripts\free_run::enable_free_running(); + level.burke setthreatbiasgroup("cloak_friendly_npcs"); + set_completed_flags(); + thread maps\_shg_utility::show_player_hud(); + thread objective_init(); + thread maps\lab_code::setup_combat(); + maps\_cloak::turn_on_the_cloak_effect(); + thread maps\lab_code::player_movement_tweaks(); + setsaveddvar("ammoCounterHide","1"); + thread maps\lab_code::spawn_takedown_01_guys(); + maps\lab_utility::teleport_to_scriptstruct("checkpoint_forest_takedown"); +} + +//Function Number: 17 +forest_takedown_start_logic() +{ + maps\lab_code::se_forest_takedown_01(); +} + +//Function Number: 18 +debug_start_logging_road() +{ + soundscripts\_snd::snd_message("start_logging_road"); + thread maps\lab_lighting::logging_road(); + spawn_burke_common(); + level.burke maps\_utility::disable_ai_color(); + level.burke thread maps\_utility::enable_cqbwalk(); + level.burke thread maps\lab_utility::cloak_on(); + level.burke setthreatbiasgroup("cloak_friendly_npcs"); + set_completed_flags(); + thread maps\_shg_utility::show_player_hud(); + thread objective_init(); + thread maps\lab_code::setup_combat(); + maps\_cloak::turn_on_the_cloak_effect(); + thread maps\lab_code::player_movement_tweaks(); + level.player thread maps\lab_code::equip_player_smg(); + maps\lab_utility::teleport_to_scriptstruct("checkpoint_logging_road_start"); +} + +//Function Number: 19 +logging_road_logic() +{ + thread maps\lab_code::burke_forest_stealth_movement(); + thread maps\lab_code::se_vehicle_takedown_01(); + level.player setclutforplayer("clut_lab_exterior",0); +} + +//Function Number: 20 +debug_start_mech_march() +{ + soundscripts\_snd::snd_message("start_mech_march"); + thread maps\lab_lighting::logging_road(); + spawn_burke_common(); + level.burke maps\_utility::disable_ai_color(); + level.burke thread maps\_utility::enable_cqbwalk(); + level.burke thread maps\lab_utility::cloak_on(); + level.burke setthreatbiasgroup("cloak_friendly_npcs"); + set_completed_flags(); + thread maps\_shg_utility::show_player_hud(); + thread objective_init(); + thread maps\lab_code::setup_combat(); + maps\_cloak::turn_on_the_cloak_effect(); + thread maps\lab_code::player_movement_tweaks(); + level.player thread maps\lab_code::equip_player_smg(); + maps\lab_utility::teleport_to_scriptstruct("checkpoint_mech_march_start"); +} + +//Function Number: 21 +mech_march_logic() +{ + level.player setclutforplayer("clut_lab_exterior",0); + thread maps\lab_code::burke_mech_march_movement(); + thread maps\lab_code::logging_road_end_drop_logic(); + maps\lab_code::se_mech_march(); +} + +//Function Number: 22 +debug_start_cliff_rappel() +{ + soundscripts\_snd::snd_message("start_cliff_rappel"); + spawn_burke_common(); + level.burke maps\_utility::disable_ai_color(); + level.burke thread maps\lab_utility::cloak_on(); + set_completed_flags(); + thread maps\_shg_utility::show_player_hud(); + level.player thread maps\lab_code::equip_player_smg(); + thread maps\lab_lighting::cliff_rappel(); + thread objective_init(); + thread maps\lab_code::setup_combat(); + thread maps\lab_code::player_movement_tweaks(); + level.player thread maps\lab_code::equip_player_smg(); + maps\lab_utility::teleport_to_scriptstruct("checkpoint_cliff_rappel_start"); +} + +//Function Number: 23 +cliff_rappel_logic() +{ + thread maps\lab_utility::player_falling_to_death(); + maps\lab_code::se_cormack_meet(); +} + +//Function Number: 24 +debug_start_facility_breach() +{ + soundscripts\_snd::snd_message("start_facility_breach"); + spawn_burke_common(); + level.burke thread maps\lab_utility::cloak_on(); + level.burke maps\_utility::place_weapon_on("iw5_bal27_sp_silencer01_variablereddot","right"); + spawn_cormack_common(); + level.cormack thread maps\lab_utility::cloak_on(); + spawn_knox_common(); + level.knox thread maps\lab_utility::cloak_on(); + set_completed_flags(); + thread maps\_shg_utility::show_player_hud(); + thread maps\lab_lighting::facility_breach(); + level.player thread maps\lab_code::equip_player(); + level.player thread maps\lab_code::debug_start_equip_player(); + maps\_cloak::turn_on_the_cloak_effect(); + thread objective_init(); + thread maps\lab_code::setup_combat(); + thread maps\lab_code::player_movement_tweaks(); + maps\lab_utility::teleport_to_scriptstruct("checkpoint_facility_breach_start"); +} + +//Function Number: 25 +facility_breach_logic() +{ + maps\lab_code::se_breach_guards(); + thread maps\lab_code::se_facility_breach(); + thread maps\lab_code::combat_post_breach_patrol(); +} + +//Function Number: 26 +debug_start_server_room() +{ + soundscripts\_snd::snd_message("start_server_room"); + maps\_stealth_utility::disable_stealth_system(); + spawn_burke_common(); + level.burke thread maps\_utility::enable_cqbwalk(); + level.burke thread maps\lab_utility::cloak_off(); + level.burke maps\_utility::place_weapon_on("iw5_bal27_sp_silencer01_variablereddot","right"); + spawn_cormack_common(); + level.cormack thread maps\_utility::enable_cqbwalk(); + level.cormack thread maps\lab_utility::cloak_off(); + spawn_knox_common(); + level.knox thread maps\_utility::enable_cqbwalk(); + level.knox thread maps\lab_utility::cloak_off(); + set_completed_flags(); + thread maps\_shg_utility::show_player_hud(); + thread maps\lab_utility::enable_all_fixed_scanners(); + thread maps\lab_lighting::building_1(); + level.player thread maps\lab_code::equip_player(); + level.player thread maps\lab_code::debug_start_equip_player(); + thread objective_init(); + thread maps\lab_code::setup_combat(); + thread maps\lab_code::player_movement_tweaks(); + maps\lab_utility::teleport_to_scriptstruct("checkpoint_server_room_start"); +} + +//Function Number: 27 +server_room_logic() +{ + maps\lab_code::se_server_room_entrance(); +} + +//Function Number: 28 +debug_start_server_room_promo() +{ + soundscripts\_snd::snd_message("start_server_room_promo"); + maps\_stealth_utility::disable_stealth_system(); + spawn_burke_common(); + level.burke thread maps\_utility::enable_cqbwalk(); + level.burke thread maps\lab_utility::cloak_off(); + level.burke maps\_utility::place_weapon_on("iw5_bal27_sp_silencer01_variablereddot","right"); + spawn_cormack_common(); + level.cormack thread maps\_utility::enable_cqbwalk(); + level.cormack thread maps\lab_utility::cloak_off(); + spawn_knox_common(); + level.knox thread maps\_utility::enable_cqbwalk(); + level.knox thread maps\lab_utility::cloak_off(); + set_completed_flags(); + thread maps\_shg_utility::show_player_hud(); + thread maps\lab_utility::enable_all_fixed_scanners(); + thread maps\lab_lighting::building_1(); + level.player thread maps\lab_code::equip_player(); + level.player thread maps\lab_code::debug_start_equip_player(); + common_scripts\utility::flag_set("flag_server_room_promo"); + thread objective_init(); + thread maps\lab_code::setup_combat(); + thread maps\lab_code::player_movement_tweaks(); + maps\lab_utility::teleport_to_scriptstruct("checkpoint_server_room_start"); +} + +//Function Number: 29 +server_room_promo_logic() +{ +} + +//Function Number: 30 +debug_start_research_facility_bridge() +{ + soundscripts\_snd::snd_message("start_research_facility_bridge"); + maps\_stealth_utility::disable_stealth_system(); + spawn_burke_common(); + level.burke maps\_utility::place_weapon_on("iw5_bal27_sp_silencer01_variablereddot","right"); + spawn_cormack_common(); + spawn_knox_common(); + level.cormack thread maps\lab_utility::cloak_off(); + level.knox thread maps\lab_utility::cloak_off(); + set_completed_flags(); + common_scripts\utility::flag_set("bridge_portalgrp_on"); + thread maps\_shg_utility::show_player_hud(); + thread maps\lab_utility::enable_all_fixed_scanners(); + thread maps\lab_lighting::building_research_bridge(); + level.player thread maps\lab_code::equip_player(); + level.player thread maps\lab_code::debug_start_equip_player(); + thread objective_init(); + thread maps\lab_code::setup_combat(); + thread maps\lab_code::player_movement_tweaks(); + thread maps\lab_code::foam_room_door_think(); + common_scripts\utility::flag_set("flag_enable_dsm_usetrigger"); + maps\_utility::activate_trigger_with_targetname("dsm_usetrigger"); + maps\_utility::activate_trigger_with_targetname("trig_color_research_facility_bridge"); + maps\lab_utility::teleport_to_scriptstruct("checkpoint_research_facility_bridge_start"); +} + +//Function Number: 31 +research_facility_bridge_logic() +{ +} + +//Function Number: 32 +debug_start_foam_room() +{ + soundscripts\_snd::snd_message("start_foam_room"); + maps\_stealth_utility::disable_stealth_system(); + spawn_burke_common(); + level.burke maps\_utility::place_weapon_on("iw5_bal27_sp_silencer01_variablereddot","right"); + spawn_cormack_common(); + spawn_knox_common(); + level.cormack thread maps\lab_utility::cloak_off(); + level.knox thread maps\lab_utility::cloak_off(); + set_completed_flags(); + thread maps\_shg_utility::show_player_hud(); + thread maps\lab_lighting::foam_room(); + level.player thread maps\lab_code::equip_player(); + level.player thread maps\lab_code::debug_start_equip_player(); + thread objective_init(); + thread maps\lab_code::setup_combat(); + thread maps\lab_code::player_movement_tweaks(); + thread maps\lab_code::foam_room_door_think(); + thread maps\lab_code::control_foam_room_door02_clip(); + common_scripts\utility::flag_set("flag_enable_dsm_usetrigger"); + maps\_utility::activate_trigger_with_targetname("dsm_usetrigger"); + maps\lab_utility::teleport_to_scriptstruct("checkpoint_foam_room_start"); +} + +//Function Number: 33 +foam_room_logic() +{ + thread maps\lab_code::se_foam_room_player(); +} + +//Function Number: 34 +debug_start_courtyard() +{ + soundscripts\_snd::snd_message("start_courtyard"); + maps\_stealth_utility::disable_stealth_system(); + spawn_burke_common(); + level.burke maps\_utility::place_weapon_on("iw5_bal27_sp_silencer01_variablereddot","right"); + spawn_cormack_common(); + spawn_knox_common(); + level.cormack thread maps\lab_utility::cloak_off(); + level.knox thread maps\lab_utility::cloak_off(); + set_completed_flags(); + thread maps\_shg_utility::show_player_hud(); + thread maps\lab_lighting::courtyard(); + level.player thread maps\lab_code::equip_player(); + level.player thread maps\lab_code::debug_start_equip_player(); + thread objective_init(); + thread maps\lab_code::setup_combat(); + thread maps\lab_code::player_movement_tweaks(); + thread maps\lab_code::foam_room_door_think(); + common_scripts\utility::flag_set("flag_enable_dsm_usetrigger"); + maps\_utility::activate_trigger_with_targetname("dsm_usetrigger"); + maps\_utility::activate_trigger_with_targetname("c4_usetrigger"); + wait(0.5); + maps\lab_utility::teleport_to_scriptstruct("checkpoint_courtyard_start"); +} + +//Function Number: 35 +courtyard_logic() +{ + maps\lab_code::se_foam_room(); +} + +//Function Number: 36 +debug_start_courtyard_jammer() +{ + soundscripts\_snd::snd_message("start_courtyard_jammer"); + maps\_stealth_utility::disable_stealth_system(); + spawn_burke_common(); + level.burke maps\_utility::place_weapon_on("iw5_bal27_sp_silencer01_variablereddot","right"); + spawn_cormack_common(); + spawn_knox_common(); + level.cormack thread maps\lab_utility::cloak_off(); + level.knox thread maps\lab_utility::cloak_off(); + set_completed_flags(); + common_scripts\utility::flag_set("flag_combat_courtyard_jammer"); + thread maps\_shg_utility::show_player_hud(); + thread maps\lab_lighting::courtyard_jammer(); + level.player thread maps\lab_code::equip_player(); + level.player thread maps\lab_code::debug_start_equip_player(); + thread objective_init(); + thread maps\lab_code::setup_combat(); + thread maps\lab_code::player_movement_tweaks(); + common_scripts\utility::flag_set("flag_enable_dsm_usetrigger"); + maps\_utility::activate_trigger_with_targetname("dsm_usetrigger"); + maps\_utility::activate_trigger_with_targetname("c4_usetrigger"); + maps\lab_utility::teleport_to_scriptstruct("checkpoint_jammer_start"); + thread maps\lab_code::courtyard_scrambler_rotate(); + thread maps\lab_code::courtyard_hangar_door_close(); + maps\lab_code::courtyard_hangar_door_hack(); +} + +//Function Number: 37 +courtyard_jammer_logic() +{ + maps\lab_code::courtyard_jammer_scene(); +} + +//Function Number: 38 +debug_start_tank_hangar() +{ + soundscripts\_snd::snd_message("start_tank_hangar"); + maps\_stealth_utility::disable_stealth_system(); + spawn_burke_common(); + level.burke maps\_utility::place_weapon_on("iw5_bal27_sp_silencer01_variablereddot","right"); + spawn_cormack_common(); + spawn_knox_common(); + level.cormack thread maps\lab_utility::cloak_off(); + level.knox thread maps\lab_utility::cloak_off(); + set_completed_flags(); + thread maps\_shg_utility::show_player_hud(); + level.player thread maps\lab_code::equip_player(); + level.player thread maps\lab_code::debug_start_equip_player(); + thread maps\lab_lighting::tank_hangar(); + thread objective_init(); + thread maps\lab_code::setup_combat(); + thread maps\lab_code::player_movement_tweaks(); + common_scripts\utility::flag_set("flag_enable_dsm_usetrigger"); + maps\_utility::activate_trigger_with_targetname("dsm_usetrigger"); + maps\_utility::activate_trigger_with_targetname("c4_usetrigger"); + maps\lab_utility::teleport_to_scriptstruct("checkpoint_tank_hangar_start"); + thread maps\lab_code::courtyard_hangar_door_close(); + thread maps\lab_code::courtyard_traversal_tank(); + thread maps\lab_code::courtyard_scrambler_rotate(); +} + +//Function Number: 39 +tank_hangar_logic() +{ + maps\lab_code::se_hovertank_reveal(); +} + +//Function Number: 40 +debug_start_tank_board() +{ + soundscripts\_snd::snd_message("start_tank_board"); + maps\_stealth_utility::disable_stealth_system(); + spawn_burke_common(); + level.burke maps\_utility::place_weapon_on("iw5_bal27_sp_silencer01_variablereddot","right"); + spawn_cormack_common(); + spawn_knox_common(); + level.cormack thread maps\lab_utility::cloak_off(); + level.knox thread maps\lab_utility::cloak_off(); + set_completed_flags(); + thread maps\_shg_utility::show_player_hud(); + level.player thread maps\lab_code::equip_player(); + level.player thread maps\lab_code::debug_start_equip_player(); + thread maps\lab_lighting::tank_board(); + thread maps\lab_lighting::tank_reveal_models_start_point(); + thread objective_init(); + thread maps\lab_code::setup_combat(); + thread maps\lab_code::player_movement_tweaks(); + common_scripts\utility::flag_set("flag_enable_dsm_usetrigger"); + maps\_utility::activate_trigger_with_targetname("dsm_usetrigger"); + maps\_utility::activate_trigger_with_targetname("c4_usetrigger"); + maps\lab_utility::teleport_to_scriptstruct("checkpoint_tank_board_start"); + thread maps\lab_code::courtyard_traversal_tank(); + thread maps\lab_code::allow_player_hovertank_mount(); + thread maps\lab_code::courtyard_scrambler_rotate(); +} + +//Function Number: 41 +tank_board_logic() +{ +} + +//Function Number: 42 +debug_start_tank_road() +{ + soundscripts\_snd::snd_message("start_tank_road"); + maps\_stealth_utility::disable_stealth_system(); + spawn_burke_common(); + level.burke maps\_utility::place_weapon_on("iw5_bal27_sp_silencer01_variablereddot","right"); + spawn_cormack_common(); + spawn_knox_common(); + level.cormack thread maps\lab_utility::cloak_off(); + level.knox thread maps\lab_utility::cloak_off(); + set_completed_flags(); + thread maps\_shg_utility::show_player_hud(); + level.player thread maps\lab_code::equip_player(); + level.player thread maps\lab_code::debug_start_equip_player(); + thread maps\lab_lighting::tank_road(); + maps\lab_utility::move_hovertank_to_start("checkpoint_tank_road_start"); + thread objective_init(); + thread maps\lab_code::setup_combat(); + thread maps\lab_code::player_movement_tweaks(); + common_scripts\utility::flag_set("flag_enable_dsm_usetrigger"); + maps\_utility::activate_trigger_with_targetname("dsm_usetrigger"); + maps\_utility::activate_trigger_with_targetname("c4_usetrigger"); + maps\lab_utility::teleport_to_scriptstruct("checkpoint_tank_road_start"); + thread maps\lab_code::courtyard_traversal_tank(); + thread maps\lab_code::courtyard_scrambler_rotate(); +} + +//Function Number: 43 +tank_road_logic() +{ +} + +//Function Number: 44 +debug_start_tank_field() +{ + soundscripts\_snd::snd_message("start_tank_field"); + maps\_stealth_utility::disable_stealth_system(); + spawn_burke_common(); + level.burke maps\_utility::set_ignoreme(1); + level.burke maps\_utility::set_ignoreall(1); + level.burke maps\_utility::place_weapon_on("iw5_bal27_sp_silencer01_variablereddot","right"); + spawn_cormack_common(); + level.cormack maps\_utility::set_ignoreme(1); + level.cormack maps\_utility::set_ignoreall(1); + spawn_knox_common(); + level.knox maps\_utility::set_ignoreme(1); + level.knox maps\_utility::set_ignoreall(1); + level.cormack thread maps\lab_utility::cloak_off(); + level.knox thread maps\lab_utility::cloak_off(); + set_completed_flags(); + thread maps\_shg_utility::show_player_hud(); + thread maps\lab_lighting::tank_field(); + level.player thread maps\lab_code::equip_player(); + level.player thread maps\lab_code::debug_start_equip_player(); + maps\lab_utility::move_hovertank_to_start("checkpoint_tank_field_start"); + thread objective_init(); + thread maps\lab_code::setup_combat(); + thread maps\lab_code::player_movement_tweaks(); + common_scripts\utility::flag_set("flag_enable_dsm_usetrigger"); + maps\_utility::activate_trigger_with_targetname("dsm_usetrigger"); + maps\_utility::activate_trigger_with_targetname("c4_usetrigger"); + maps\lab_utility::teleport_to_scriptstruct("checkpoint_tank_field_start"); + thread maps\lab_code::courtyard_hangar_door_close(); + thread maps\lab_code::courtyard_traversal_tank(); +} + +//Function Number: 45 +tank_field_logic() +{ +} + +//Function Number: 46 +debug_start_tank_field_left_fork() +{ + soundscripts\_snd::snd_message("start_tank_field"); + maps\_stealth_utility::disable_stealth_system(); + spawn_burke_common(); + level.burke maps\_utility::set_ignoreme(1); + level.burke maps\_utility::set_ignoreall(1); + level.burke maps\_utility::place_weapon_on("iw5_bal27_sp_silencer01_variablereddot","right"); + spawn_cormack_common(); + level.cormack maps\_utility::set_ignoreme(1); + level.cormack maps\_utility::set_ignoreall(1); + spawn_knox_common(); + level.knox maps\_utility::set_ignoreme(1); + level.knox maps\_utility::set_ignoreall(1); + level.cormack thread maps\lab_utility::cloak_off(); + level.knox thread maps\lab_utility::cloak_off(); + set_completed_flags(); + thread maps\_shg_utility::show_player_hud(); + thread maps\lab_lighting::tank_field(); + if(level.nextgen) + { + setsaveddvar("r_umbraAccurateOcclusionThreshold",128); + } + + level.player thread maps\lab_code::equip_player(); + level.player thread maps\lab_code::debug_start_equip_player(); + maps\lab_utility::move_hovertank_to_start("checkpoint_tank_left_fork_start"); + thread objective_init(); + thread maps\lab_code::setup_combat(); + thread maps\lab_code::player_movement_tweaks(); + common_scripts\utility::flag_set("flag_enable_dsm_usetrigger"); + maps\_utility::activate_trigger_with_targetname("dsm_usetrigger"); + maps\_utility::activate_trigger_with_targetname("c4_usetrigger"); + maps\lab_utility::teleport_to_scriptstruct("checkpoint_tank_left_fork_start"); + thread maps\lab_code::courtyard_hangar_door_close(); + thread maps\lab_code::courtyard_traversal_tank(); +} + +//Function Number: 47 +debug_start_tank_field_right_fork() +{ + soundscripts\_snd::snd_message("start_tank_field"); + maps\_stealth_utility::disable_stealth_system(); + spawn_burke_common(); + level.burke maps\_utility::set_ignoreme(1); + level.burke maps\_utility::set_ignoreall(1); + level.burke maps\_utility::place_weapon_on("iw5_bal27_sp_silencer01_variablereddot","right"); + spawn_cormack_common(); + level.cormack maps\_utility::set_ignoreme(1); + level.cormack maps\_utility::set_ignoreall(1); + spawn_knox_common(); + level.knox maps\_utility::set_ignoreme(1); + level.knox maps\_utility::set_ignoreall(1); + level.cormack thread maps\lab_utility::cloak_off(); + level.knox thread maps\lab_utility::cloak_off(); + set_completed_flags(); + thread maps\_shg_utility::show_player_hud(); + thread maps\lab_lighting::tank_field(); + if(level.nextgen) + { + setsaveddvar("r_umbraAccurateOcclusionThreshold",128); + } + + level.player thread maps\lab_code::equip_player(); + level.player thread maps\lab_code::debug_start_equip_player(); + maps\lab_utility::move_hovertank_to_start("checkpoint_tank_right_fork_start"); + thread objective_init(); + thread maps\lab_code::setup_combat(); + thread maps\lab_code::player_movement_tweaks(); + common_scripts\utility::flag_set("flag_enable_dsm_usetrigger"); + maps\_utility::activate_trigger_with_targetname("dsm_usetrigger"); + maps\_utility::activate_trigger_with_targetname("c4_usetrigger"); + maps\lab_utility::teleport_to_scriptstruct("checkpoint_tank_right_fork_start"); + thread maps\lab_code::courtyard_hangar_door_close(); + thread maps\lab_code::courtyard_traversal_tank(); +} + +//Function Number: 48 +debug_start_tank_ascent() +{ + soundscripts\_snd::snd_message("start_tank_field"); + maps\_stealth_utility::disable_stealth_system(); + spawn_burke_common(); + level.burke maps\_utility::set_ignoreme(1); + level.burke maps\_utility::set_ignoreall(1); + level.burke maps\_utility::place_weapon_on("iw5_bal27_sp_silencer01_variablereddot","right"); + spawn_cormack_common(); + level.cormack maps\_utility::set_ignoreme(1); + level.cormack maps\_utility::set_ignoreall(1); + level.cormack thread maps\lab_utility::cloak_off(); + spawn_knox_common(); + level.knox maps\_utility::set_ignoreme(1); + level.knox maps\_utility::set_ignoreall(1); + level.knox thread maps\lab_utility::cloak_off(); + set_completed_flags(); + thread maps\_shg_utility::show_player_hud(); + thread maps\lab_lighting::tank_field(); + if(level.nextgen) + { + setsaveddvar("r_umbraAccurateOcclusionThreshold",128); + } + + level.player thread maps\lab_code::equip_player(); + level.player thread maps\lab_code::debug_start_equip_player(); + maps\lab_utility::move_hovertank_to_start("checkpoint_tank_ascent_start"); + thread objective_init(); + thread maps\lab_code::setup_combat(); + thread maps\lab_code::player_movement_tweaks(); + common_scripts\utility::flag_set("flag_enable_dsm_usetrigger"); + maps\_utility::activate_trigger_with_targetname("dsm_usetrigger"); + maps\_utility::activate_trigger_with_targetname("c4_usetrigger"); + maps\lab_utility::teleport_to_scriptstruct("checkpoint_tank_ascent_start"); + thread maps\lab_code::courtyard_hangar_door_close(); + thread maps\lab_code::courtyard_traversal_tank(); +} + +//Function Number: 49 +tank_ascent_logic() +{ +} + +//Function Number: 50 +debug_start_exfil() +{ + soundscripts\_snd::snd_message("start_exfil"); + maps\_stealth_utility::disable_stealth_system(); + spawn_burke_common(); + level.burke maps\_utility::place_weapon_on("iw5_bal27_sp_silencer01_variablereddot","right"); + spawn_cormack_common(); + spawn_knox_common(); + level.knox thread maps\lab_utility::cloak_off(); + level.cormack thread maps\lab_utility::cloak_off(); + set_completed_flags(); + thread maps\_shg_utility::show_player_hud(); + level.player thread maps\lab_code::equip_player(); + level.player thread maps\lab_code::debug_start_equip_player(); + if(level.nextgen) + { + setsaveddvar("r_umbraAccurateOcclusionThreshold",128); + } + + thread maps\lab_lighting::exfil(); + thread objective_init(); + thread maps\lab_code::setup_combat(); + thread maps\lab_code::player_movement_tweaks(); + common_scripts\utility::flag_set("flag_enable_dsm_usetrigger"); + maps\_utility::activate_trigger_with_targetname("dsm_usetrigger"); + maps\_utility::activate_trigger_with_targetname("c4_usetrigger"); + waittillframeend; + maps\lab_utility::teleport_to_scriptstruct("checkpoint_exfil_start"); + thread maps\lab_code::courtyard_hangar_door_close(); + thread maps\lab_code::courtyard_traversal_tank(); + thread maps\lab_code::se_exfil_razorback(); + common_scripts\utility::flag_set("flag_exfil_start"); + var_00 = common_scripts\utility::getstruct("hovertank_exit_org","targetname"); + var_01 = "hovertank_exit"; + level.hovertank_exterior_model = maps\_utility::spawn_anim_model("hovertank",level.hovertank.origin); + var_00 thread maps\_anim::anim_first_frame_solo(level.hovertank_exterior_model,var_01); +} + +//Function Number: 51 +exfil_logic() +{ + maps\lab_code::se_exfil(); +} + +//Function Number: 52 +start_demo_with_itiot() +{ + thread itiot_logic("flag_demo_itiot"); + if(isdefined(level.introscreen.customfunc)) + { + thread [[ level.introscreen.customfunc ]](); + } + + debug_start_crash(); + crash_logic(); + forest_start_logic(); + forest_takedown_start_logic(); + logging_road_logic(); + mech_march_logic(); + cliff_rappel_logic(); + facility_breach_logic(); + server_room_logic(); + research_facility_bridge_logic(); + tank_hangar_logic(); + tank_board_logic(); + tank_road_logic(); + tank_field_logic(); + tank_ascent_logic(); + exfil_logic(); +} + +//Function Number: 53 +objective_init() +{ + thread setup_rappel_marker(); + setup_breach_marker(); + obj_escape_the_helo(); + obj_meet_cormack(); + obj_infiltrate_facility(); + obj_bio_weapons(); + obj_neutralize_bio_weapons(); + thread obj_locate_atlas_tank(); + obj_disable_courtyard_scrambler(); + obj_battle_to_exfil(); +} + +//Function Number: 54 +obj_escape_the_helo() +{ + common_scripts\utility::flag_wait("flag_escape_the_sniper_obj_give"); + objective_add(1,"current",&"LAB_OBJECTIVE_ESCAPE_FOREST"); + objective_onentity(1,level.burke); + common_scripts\utility::flag_wait("flag_forest_climb_wall_start"); + var_00 = getent("obj_forest_climb_wall","targetname"); + objective_position(1,var_00.origin); + objective_setpointertextoverride(1,&"LAB_OBJECTIVE_CLIMB"); + common_scripts\utility::flag_wait("player_climbing_wall"); + objective_setpointertextoverride(1,""); + objective_position(1,(0,0,0)); + common_scripts\utility::flag_wait("flag_forest_climb_wall_complete"); + maps\_utility::objective_complete(1); + wait(0.5); + thread maps\_utility::autosave_by_name("wall_climb"); +} + +//Function Number: 55 +obj_meet_cormack() +{ + common_scripts\utility::flag_wait("flag_forest_climb_wall_complete"); + objective_add(2,"current",&"LAB_OBJECTIVE_MEET_CORMACK"); + objective_onentity(2,level.burke); + common_scripts\utility::flag_wait_any("flag_vehicle_takedown_01","flag_se_vehicle_takedown_01_failed","flag_forest_player_alt_path_01"); + if(common_scripts\utility::flag("flag_vehicle_takedown_01")) + { + var_00 = getent("obj_vrap_mute","targetname"); + objective_position(2,var_00.origin); + objective_setpointertextoverride(2,&"LAB_OBJECTIVE_PLANT_CHARGE"); + common_scripts\utility::flag_wait_any("flag_vrap_mute_start","flag_se_vehicle_takedown_01_complete"); + if(common_scripts\utility::flag("flag_vrap_mute_start")) + { + objective_setpointertextoverride(2,""); + objective_position(2,(0,0,0)); + } + } + + common_scripts\utility::flag_wait("flag_se_vehicle_takedown_01_complete"); + objective_setpointertextoverride(2,""); + objective_onentity(2,level.burke); + common_scripts\utility::flag_wait("flag_obj_crawl_under_log"); + if(!common_scripts\utility::flag("flag_seeker_clear")) + { + wait(3); + var_01 = common_scripts\utility::getstruct("obj_log_crawl","targetname"); + objective_position(2,var_01.origin); + } + + common_scripts\utility::flag_wait("flag_seeker_clear"); + var_02 = getent("obj_meet_cormack","targetname"); + objective_position(2,var_02.origin); + common_scripts\utility::flag_wait("flag_cormack_meet_start"); + level.burke maps\_utility::gun_recall(); + level.burke animscripts\free_run::disable_free_running(); + maps\_utility::objective_complete(2); + wait(0.5); + thread maps\_utility::autosave_by_name("cliff_rappel"); +} + +//Function Number: 56 +obj_infiltrate_facility() +{ + var_00 = getent("obj_cliff_rappel","targetname"); + objective_add(3,"current",&"LAB_OBJECTIVE_INFILTRATE_FACILITY"); + objective_position(3,(0,0,0)); + common_scripts\utility::flag_wait("flag_player_ready_to_rappel"); + objective_position(3,var_00.origin); + objective_setpointertextoverride(3,&"LAB_OBJECTIVE_RAPPEL"); + common_scripts\utility::flag_wait("flag_rappel_start"); + objective_position(3,(0,0,0)); + objective_setpointertextoverride(3,""); + common_scripts\utility::flag_wait("flag_breach_guards_clear"); + if(!common_scripts\utility::flag("flag_facility_breach_complete")) + { + wait(2); + } + + var_01 = getent("obj_breach_research_facility","targetname"); + objective_position(3,var_01.origin); + if(!common_scripts\utility::flag("flag_facility_breach_complete")) + { + wait(6); + } + + objective_position(3,var_01.origin); + objective_setpointertextoverride(3,&"LAB_OBJECTIVE_PLANT_CHARGE"); + if(!common_scripts\utility::flag("flag_facility_breach_complete")) + { + common_scripts\utility::flag_wait("breach_start"); + } + + objective_position(3,(0,0,0)); + objective_setpointertextoverride(3,""); + common_scripts\utility::flag_wait("flag_facility_breach_complete"); + maps\_utility::objective_complete(3); + wait(0.5); + thread maps\_utility::autosave_by_name("facility_breach"); +} + +//Function Number: 57 +obj_bio_weapons() +{ + objective_add(4,"current",&"LAB_OBJECTIVE_OBTAIN_EVIDENCE"); + var_00 = getent("obj_bio_weapons_01","targetname"); + objective_position(4,var_00.origin); + common_scripts\utility::flag_wait("flag_obj_bio_weapons_02"); + var_01 = getent("obj_bio_weapons_02","targetname"); + objective_position(4,var_01.origin); + common_scripts\utility::flag_wait("flag_obj_bio_weapons_03"); + var_02 = getent("obj_bio_weapons_03","targetname"); + objective_position(4,var_02.origin); + common_scripts\utility::flag_wait("flag_obj_bio_weapons_04"); + var_03 = getent("obj_bio_weapons_04","targetname"); + objective_position(4,var_03.origin); + common_scripts\utility::flag_wait("flag_obj_bio_weapons_05"); + objective_position(4,(0,0,0)); + common_scripts\utility::flag_wait("flag_enemy_server_room_se_dead"); + var_04 = getent("obj_bio_weapons_05","targetname"); + objective_position(4,var_04.origin); + objective_setpointertextoverride(4,&"LAB_OBJECTIVE_USE"); + var_05 = getent("dsm_usetrigger","targetname"); + var_06 = var_05 maps\_shg_utility::hint_button_trigger("x"); + var_05 thread maps\_utility::addhinttrigger(&"LAB_DSM_PLANT_HINT",&"LAB_DSM_PLANT_HINT_PC"); + common_scripts\utility::flag_wait("flag_obj_bio_weapons_hack"); + objective_position(4,(0,0,0)); + objective_setpointertextoverride(4,""); + var_05 thread maps\_utility::addhinttrigger("",""); + var_06 maps\_shg_utility::hint_button_clear(); + common_scripts\utility::flag_wait("flag_obj_bio_weapons_complete"); + maps\_utility::objective_complete(4); +} + +//Function Number: 58 +obj_neutralize_bio_weapons() +{ + var_00 = getent("foam_grenade_obj","targetname"); + var_00 hide(); + objective_add(5,"current",&"LAB_OBJECTIVE_NEUTRALIZE_STORAGE"); + var_01 = getent("obj_destroy_equipment_01","targetname"); + objective_position(5,var_01.origin); + common_scripts\utility::flag_wait("flag_player_inside_foam_room"); + objective_setpointertextoverride(5,&"LAB_OBJECTIVE_PLANT_CHARGE"); + var_00 show(); + var_02 = getent("c4_usetrigger","targetname"); + var_03 = var_02 maps\_shg_utility::hint_button_trigger("x"); + var_02 thread maps\_utility::addhinttrigger(&"LAB_EXPLOSIVE_PLANT_HINT",&"LAB_EXPLOSIVE_PLANT_HINT_PC"); + common_scripts\utility::flag_wait("flag_obj_neutralize_bio_weapons_planted"); + level.burke maps\_utility::disable_cqbwalk(); + level.cormack maps\_utility::disable_cqbwalk(); + level.knox maps\_utility::disable_cqbwalk(); + var_00 hide(); + var_02 thread maps\_utility::addhinttrigger("",""); + var_03 maps\_shg_utility::hint_button_clear(); + objective_onentity(5,level.cormack); + objective_setpointertextoverride(5,""); + if(!common_scripts\utility::flag("flag_obj_neutralize_bio_weapons_complete")) + { + maps\lab_code::se_foam_room_bomb(); + common_scripts\utility::flag_set("flag_obj_neutralize_bio_weapons_complete"); + soundscripts\_snd::snd_message("neutralize_bio_weapons_complete"); + } + + common_scripts\utility::flag_wait("flag_obj_neutralize_bio_weapons_complete"); + maps\_utility::objective_complete(5); + wait(0.5); + thread maps\_utility::autosave_by_name("foam_room"); +} + +//Function Number: 59 +obj_disable_courtyard_scrambler() +{ + common_scripts\utility::flag_wait("flag_obj_courtyard_jammer_start"); + objective_add(6,"current",&"LAB_OBJECTIVE_DISABLE_SCRAMBLER"); + thread maps\_utility::autosave_by_name("jammer"); + var_00 = getent("trig_jammer","targetname"); + var_01 = getent("obj_jammer_01","targetname"); + objective_position(6,var_00.origin); + objective_setpointertextoverride(6,&"LAB_PLANT_JAMMER"); + var_00 = getent("trig_jammer","targetname"); + var_00 thread maps\_utility::addhinttrigger(&"LAB_DISABLE_SCRAMBLER_HINT",&"LAB_DISABLE_SCRAMBLER_HINT_PC"); + var_02 = var_00 maps\_shg_utility::hint_button_trigger("x"); + common_scripts\utility::flag_wait("flag_obj_jammer_interact"); + objective_position(6,(0,0,0)); + var_00 thread maps\_utility::addhinttrigger("",""); + var_02 maps\_shg_utility::hint_button_clear(); + common_scripts\utility::flag_wait("flag_obj_jammer_complete"); + thread maps\lab_code::courtyard_hangar_door_logic(); + thread maps\_utility::autosave_by_name("jammer_destroyed"); + maps\_utility::objective_complete(6); +} + +//Function Number: 60 +obj_defend_squad() +{ + common_scripts\utility::flag_wait("flag_obj_courtyard_defend_start"); + objective_add(7,"current",&"LAB_OBJECTIVE_DEFEND_SQUAD"); + var_00 = getent("obj_defend_01","targetname"); + objective_position(7,var_00.origin); + objective_setpointertextoverride(7,&"LAB_DEFEND"); + common_scripts\utility::flag_wait("flag_courtyard_hangar_door_hack_success"); + maps\_utility::objective_complete(7); +} + +//Function Number: 61 +obj_locate_atlas_tank() +{ + common_scripts\utility::flag_wait("flag_obj_locate_atlas_tank"); + objective_add(8,"current",&"LAB_OBJECTIVE_LOCATE_TANK"); + var_00 = getent("obj_tank_01","targetname"); + objective_position(8,var_00.origin); + common_scripts\utility::flag_wait("flag_courtyard_hangar_door_block"); + objective_position(8,(0,0,0)); + common_scripts\utility::flag_wait("flag_courtyard_hangar_door_hack_success"); + objective_setpointertextoverride(8,""); + objective_position(8,var_00.origin); + common_scripts\utility::flag_wait("flag_obj_tank_02"); + var_01 = getent("obj_tank_02","targetname"); + objective_position(8,var_01.origin); + common_scripts\utility::flag_wait("flag_obj_tank_03"); + thread maps\_utility::autosave_by_name("tank_hangar_approach"); + var_02 = getent("obj_tank_03","targetname"); + objective_position(8,var_02.origin); + common_scripts\utility::flag_wait("flag_obj_tank_04"); + var_03 = getent("obj_tank_04","targetname"); + objective_position(8,var_03.origin); + common_scripts\utility::flag_wait("flag_obj_tank_05"); + objective_position(8,(0,0,0)); + common_scripts\utility::flag_wait("flag_obj_tank_06"); + var_04 = common_scripts\utility::getstruct("obj_tank_06","targetname"); + objective_position(8,var_04.origin); + objective_setpointertextoverride(8,&"LAB_OBJECTIVE_ENTER"); + common_scripts\utility::flag_wait("player_entering_hovertank"); + common_scripts\utility::flag_set("flag_obj_tank_complete"); + maps\_utility::objective_complete(8); + common_scripts\utility::flag_wait("player_in_hovertank"); +} + +//Function Number: 62 +obj_battle_to_exfil() +{ + common_scripts\utility::flag_wait("player_in_hovertank"); + objective_add(9,"current",&"LAB_OBJECTIVE_EXFIL"); + var_00 = getent("obj_battle_exfil_00","targetname"); + objective_position(9,var_00.origin); + common_scripts\utility::flag_wait("flag_courtyard_gate_01_explode"); + var_01 = getent("obj_battle_exfil_01","targetname"); + objective_position(9,var_01.origin); + common_scripts\utility::flag_wait("flag_obj_battle_exfil_02"); + var_02 = getent("obj_battle_exfil_02","targetname"); + objective_position(9,var_02.origin); + common_scripts\utility::flag_wait("flag_obj_battle_exfil_03"); + var_03 = getent("obj_battle_exfil_03","targetname"); + objective_position(9,var_03.origin); + delete_cloak_cover(); + common_scripts\utility::flag_wait("flag_obj_hide_marker_during_tank_exit"); + objective_position(9,(0,0,0)); + common_scripts\utility::flag_wait("flag_player_exfil_enter_ready"); + var_04 = getent("obj_battle_exfil_04","targetname"); + objective_position(9,var_04.origin); + common_scripts\utility::flag_wait("flag_player_exfil_enter"); + soundscripts\_snd::snd_message("aud_start_exfil_foley"); + objective_position(9,(0,0,0)); + common_scripts\utility::flag_wait("flag_obj_battle_exfil_complete"); + maps\_utility::objective_complete(9); + common_scripts\utility::flag_wait("flag_mission_complete"); +} + +//Function Number: 63 +setup_breach_marker() +{ + var_00 = getent("breach_hint_01","targetname"); + var_01 = spawn("script_model",(0,0,0)); + var_01 setmodel("mutecharge_obj"); + var_01.angles = var_00.angles; + var_01.origin = var_00.origin; + thread breach_cleanup(var_01); +} + +//Function Number: 64 +breach_cleanup(param_00) +{ + level endon("missionfailed"); + level waittill("breaching"); + wait(0.4); + if(isdefined(param_00)) + { + param_00 delete(); + } + + level waittill("breach_explosion"); + thread maps\lab_lighting::breach_fx(); + level waittill("slowmo_breach_ending"); + common_scripts\utility::flag_wait("breach_done"); + common_scripts\utility::flag_set("flag_facility_breach_complete"); + level.burke.animname = "burke"; + level.burke maps\_utility::enable_cqbwalk(); + level.cormack maps\_utility::enable_cqbwalk(); + level.knox maps\_utility::enable_cqbwalk(); +} + +//Function Number: 65 +setup_rappel_marker() +{ + var_00 = getent("rappel_anchor_obj","targetname"); + var_00 hide(); + common_scripts\utility::flag_wait("flag_player_ready_to_rappel"); + var_00 show(); + common_scripts\utility::flag_wait("flag_rappel_start"); + var_00 delete(); +} + +//Function Number: 66 +setup_portal_scripting() +{ + common_scripts\utility::flag_init("forest_start_portalgrp_on"); + thread maps\_shg_utility::portal_group_on("forest_start_portalgrp_on","portal_grp_forest_start"); + common_scripts\utility::flag_init("facility_breach_portalgrp_on"); + thread handle_lab_portal_scripting("portal_grp_facility_breach","facility_breach_portalgrp_on","endPortalFacBreach"); + common_scripts\utility::flag_init("bridge_portalgrp_on"); + thread handle_lab_portal_scripting("portal_grp_bridge","bridge_portalgrp_on","endPortalBridge"); + common_scripts\utility::flag_init("tank_hangar_door_portalgrp_on"); + thread handle_lab_portal_scripting("portal_grp_tank_hangar_door","tank_hangar_door_portalgrp_on","endPortalHangarDoor"); + thread handle_lab_portal_scripting("portal_grp_tank_hangar","flag_obj_tank_complete","endPortalTankHangar"); +} + +//Function Number: 67 +handle_lab_portal_scripting(param_00,param_01,param_02) +{ + level.player endon("death"); + level endon("missionfailed"); + if(isdefined(param_02) && isstring(param_02)) + { + level endon(param_02); + } + + var_03 = getentarray(param_00,"targetname"); + var_03[0] enableportalgroup(0); + for(;;) + { + common_scripts\utility::flag_wait(param_01); + var_03[0] enableportalgroup(1); + if(isdefined(param_02)) + { + level notify(param_02); + } + + common_scripts\utility::flag_waitopen(param_01); + var_03[0] enableportalgroup(0); + } +} + +//Function Number: 68 +setup_cloak_cover() +{ + level.player endon("death"); + level endon("missionfailed"); + level endon("endCloakVis"); + var_00 = getent("cloaking_cover","targetname"); + var_00 hide(); + for(;;) + { + common_scripts\utility::flag_wait("flag_show_cloak_cover"); + var_00 show(); + common_scripts\utility::flag_waitopen("flag_show_cloak_cover"); + var_00 hide(); + } +} + +//Function Number: 69 +delete_cloak_cover() +{ + var_00 = getent("cloaking_cover","targetname"); + var_00 delete(); + level notify("endCloakVis"); +} + +//Function Number: 70 +tff_trans_middle_to_outro_ally_check() +{ + var_00 = getent("tff_unload_middle_ally_check_trig","targetname"); + level.tff_trans_ally_check_count = 0; + for(;;) + { + var_00 waittill("trigger",var_01); + if(isdefined(var_01.tff_trans_ally_check_active) && var_01.tff_trans_ally_check_active) + { + continue; + } + + if(isdefined(var_01.script_friendname)) + { + var_02 = tolower(var_01.script_friendname); + } + else + { + var_02 = ""; + } + + if(var_01 == level.player || var_02 == "cormack" || var_02 == "gideon" || var_02 == "knox") + { + level.tff_trans_ally_check_count++; + if(level.tff_trans_ally_check_count >= 4) + { + common_scripts\utility::flag_set("tff_trans_middle_to_outro_allies_ready"); + break; + } + + var_01.tff_trans_ally_check_active = 1; + var_01 thread tff_trans_middle_to_outro_ally_touching(var_00); + } + } +} + +//Function Number: 71 +tff_trans_middle_to_outro_ally_touching(param_00) +{ + while(self istouching(param_00)) + { + wait(0.05); + } + + level.tff_trans_ally_check_count--; + self.tff_trans_ally_check_active = 0; +} + +//Function Number: 72 +transient_transition_middle_to_outro() +{ + if(!istransientloaded("lab_outro_tr")) + { + thread tff_trans_middle_to_outro_ally_check(); + common_scripts\utility::flag_wait("tff_trans_middle_to_outro_allies_ready"); + level notify("tff_pre_middle_to_outro"); + unloadtransient("lab_middle_tr"); + loadtransient("lab_outro_tr"); + while(!istransientloaded("lab_outro_tr")) + { + wait(0.05); + } + + level notify("tff_post_middle_to_outro"); + } +} + +//Function Number: 73 +cull_distance_triggers() +{ + var_00 = getentarray("current_gen_cull_reduction","targetname"); + for(;;) + { + var_01 = 0; + foreach(var_03 in var_00) + { + if(level.player istouching(var_03)) + { + var_04 = int(var_03.script_noteworthy); + setculldist(var_04); + var_01 = 1; + } + } + + if(!var_01) + { + setculldist(0); + } + + wait(0.2); + } +} + +//Function Number: 74 +itiot_logic(param_00) +{ + common_scripts\utility::flag_set("flag_demo_itiot_start"); + common_scripts\utility::flag_wait(param_00); + soundscripts\_snd::snd_message("e3_demo_fade_out"); + level.player.auxillary_hud = newclienthudelem(level.player); + level.player.auxillary_hud setshader("black",1280,720); + level.player.auxillary_hud.horzalign = "fullscreen"; + level.player.auxillary_hud.vertalign = "fullscreen"; + level.player.auxillary_hud.alpha = 0; + level.player.auxillary_hud fadeovertime(0.5); + level.player.auxillary_hud.alpha = 1; + level.player.auxillary_hud.foreground = 1; + setsaveddvar("objectiveHide","1"); + wait(0.5); + common_scripts\utility::array_call(getaiarray("axis"),::delete); + soundscripts\_snd::snd_message("e3_demo_clear_alarm"); + level.player.auxillary_hud.foreground = 0; + wait(5); + common_scripts\utility::array_call(getaiarray("axis"),::delete); + maps\lab_utility::teleport_to_scriptstruct("hovertank_reveal_demo_pos"); + level.knox thread maps\lab_utility::goto_node(getnode("tank_hangar_knox_node","targetname"),0); + set_itiot_flags(); + wait(2); + thread itiot_dialogue(); + soundscripts\_snd::snd_message("e3_demo_fade_in"); + level.player.auxillary_hud.alpha = 1; + level.player.auxillary_hud fadeovertime(1); + level.player.auxillary_hud.alpha = 0; + tank_hangar_logic(); + tank_board_logic(); + tank_road_logic(); + tank_field_logic(); + tank_ascent_logic(); + exfil_logic(); +} + +//Function Number: 75 +set_itiot_flags() +{ + common_scripts\utility::flag_set("flag_combat_foam_corridor"); + common_scripts\utility::flag_set("flag_foam_corridor_exit"); + common_scripts\utility::flag_set("flag_courtyard_hangar_door_block"); + common_scripts\utility::flag_set("flag_obj_bio_weapons_02"); + common_scripts\utility::flag_set("flag_obj_bio_weapons_03"); + common_scripts\utility::flag_set("flag_obj_bio_weapons_04"); + common_scripts\utility::flag_set("flag_obj_bio_weapons_05"); + common_scripts\utility::flag_set("flag_enemy_server_room_se_dead"); + common_scripts\utility::flag_set("flag_obj_bio_weapons_hack"); + common_scripts\utility::flag_set("flag_obj_bio_weapons_complete"); + maps\_utility::objective_complete(5); + thread obj_disable_courtyard_scrambler(); + thread obj_locate_atlas_tank(); + thread obj_battle_to_exfil(); + common_scripts\utility::flag_set("flag_obj_courtyard_jammer_start"); + common_scripts\utility::flag_set("flag_obj_jammer_interact"); + common_scripts\utility::flag_set("flag_obj_jammer_complete"); + common_scripts\utility::flag_set("flag_obj_courtyard_defend_start"); + common_scripts\utility::flag_set("flag_courtyard_hangar_door_hack_success"); + common_scripts\utility::flag_set("flag_obj_locate_atlas_tank"); + common_scripts\utility::flag_set("flag_courtyard_hangar_door_block"); + common_scripts\utility::flag_set("flag_courtyard_hangar_door_hack_success"); + common_scripts\utility::flag_set("flag_obj_tank_02"); + common_scripts\utility::flag_set("flag_obj_tank_03"); + common_scripts\utility::flag_set("flag_obj_tank_04"); +} + +//Function Number: 76 +itiot_dialogue() +{ + maps\lab_vo::tank_hangar_dialogue(); + maps\lab_vo::tank_board_dialogue(); + maps\lab_vo::tank_courtyard_dialogue(); + maps\lab_vo::tank_road_dialogue(); + maps\lab_vo::tank_field_dialogue(); + maps\lab_vo::tank_clearing_dialogue(); + maps\lab_vo::tank_ascent_dialogue(); + maps\lab_vo::tank_exit_dialogue(); + maps\lab_vo::exfil_dialogue(); +} + +//Function Number: 77 +umbra_accuracy_tweaks() +{ + if(level.nextgen) + { + setsaveddvar("r_umbraAccurateOcclusionThreshold",128); + } + + common_scripts\utility::flag_wait("flag_forest_climb_wall_start"); + if(level.nextgen) + { + setsaveddvar("r_umbraAccurateOcclusionThreshold",1024); + } +} + +//Function Number: 78 +umbra_accuracy_tweaks_tank_field() +{ + common_scripts\utility::flag_wait("flag_obj_battle_exfil_02"); + var_00 = getent("trig_umbra_tweak_128","targetname"); + var_01 = getent("trig_umbra_tweak_1024","targetname"); + var_00 thread umbra_tweak_128(var_01); + var_01 thread umbra_tweak_1024(var_00); +} + +//Function Number: 79 +umbra_tweak_128(param_00) +{ + for(;;) + { + self waittill("trigger"); + if(level.nextgen) + { + setsaveddvar("r_umbraAccurateOcclusionThreshold",128); + } + + param_00 waittill("trigger"); + } +} + +//Function Number: 80 +umbra_tweak_1024(param_00) +{ + for(;;) + { + self waittill("trigger"); + if(level.nextgen) + { + setsaveddvar("r_umbraAccurateOcclusionThreshold",1024); + } + + param_00 waittill("trigger"); + } +} \ No newline at end of file diff --git a/AW/PC/maps/lab_anim.gsc b/AW/PC/maps/lab_anim.gsc new file mode 100644 index 0000000..f25607d --- /dev/null +++ b/AW/PC/maps/lab_anim.gsc @@ -0,0 +1,757 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: lab_anim.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 26 + * Decompile Time: 411 ms + * Timestamp: 4/22/2024 2:32:23 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00 = "none"; + if(level.currentgen) + { + if(istransientloaded("lab_intro_tr")) + { + var_00 = "intro"; + } + else if(istransientloaded("lab_middle_tr")) + { + var_00 = "middle"; + } + else if(istransientloaded("lab_outro_tr")) + { + var_00 = "outro"; + } + } + + if(level.nextgen) + { + anim.forced_s1_motionset = 1; + } + + player_anims(var_00); + npc_anims(var_00); + breach_anims(var_00); + vehicles_anims(var_00); + prop_anims(var_00); + animal_anims(var_00); + if(level.currentgen) + { + if(var_00 == "intro") + { + thread notetrack_setup_middle(); + } + + if(var_00 == "intro" || var_00 == "middle") + { + thread notetrack_setup_outro(); + } + } +} + +//Function Number: 2 +player_anims(param_00) +{ + level.scr_animtree["player_rig"] = #animtree; + level.scr_model["player_rig"] = "viewbody_sentinel_covert"; + level.scr_animtree["player_rig_intro"] = #animtree; + level.scr_model["player_rig_intro"] = "worldhands_player_sentinel"; + level.scr_anim["player_rig_intro"]["intro_recover"] = %lab_intro_vm; + if(level.nextgen || param_00 == "intro") + { + maps\_anim::addnotetrack_notify("player_rig_intro","allow_player_control","allow_player_control","intro_recover"); + } + + level.scr_anim["player_rig"]["player_hill_slide"] = %lab_unarmed_hillslide_vm; + if(level.nextgen || param_00 == "intro") + { + maps\_anim::addnotetrack_notify("player_rig","allow_player_control","allow_player_control","player_hill_slide"); + maps\_anim::addnotetrack_customfunction("player_rig","vfx_foot_dust",::maps\lab_fx::hillslide_dust_fx,"player_hill_slide"); + } + + level.scr_anim["player_rig"]["player_wall_climb_1"] = %lab_wallclimb_player_1_vm; + level.scr_anim["player_rig"]["player_wall_climb_2"] = %lab_wallclimb_player_2_vm; + level.scr_anim["player_rig"]["player_wall_climb_3"] = %lab_wallclimb_player_3_vm; + level.scr_anim["player_rig"]["player_wall_climb_4"] = %lab_wallclimb_player_4_vm; + level.scr_anim["player_rig"]["player_wall_climb_5"] = %lab_wallclimb_player_5_vm; + level.scr_anim["player_rig"]["player_wall_climb_loop"][0] = %lab_wallclimb_player_loop_vm; + level.scr_anim["player_rig"]["player_wall_climb_lastjump"] = %lab_wallclimb_player_lastjump_vm; + level.scr_anim["player_rig"]["player_wall_climb_end"] = %lab_wallclimb_player_end_vm; + if(level.nextgen || param_00 == "intro") + { + maps\_anim::addnotetrack_flag("player_rig","start_burke","flag_burke_says_exo_is_on","player_wall_climb_5"); + maps\_anim::addnotetrack_flag("player_rig","look_at_spotlight","flag_player_wall_look_right","player_wall_climb_5"); + maps\_anim::addnotetrack_flag_clear("player_rig","reset_spotlight","flag_player_wall_look_right","player_wall_climb_5"); + maps\_anim::addnotetrack_customfunction("player_rig","fov_54.75",::player_fov_54,"player_wall_climb_5"); + maps\_anim::addnotetrack_customfunction("player_rig","exo_power_on",::player_exo_power_on,"player_wall_climb_5"); + maps\_anim::addnotetrack_customfunction("player_rig","fov_65",::player_fov_65,"player_wall_climb_end"); + maps\_anim::addnotetrack_customfunction("player_rig","exo_cloak_on",::player_exo_cloak_on_wallclimb,"player_wall_climb_lastjump"); + } + + level.scr_anim["player_rig"]["forest_disarm"] = %lab_forest_disarm_vm; + level.scr_anim["player_rig"]["vrap_mute"] = %lab_takedown_2_plantmute_vm; + level.scr_anim["player_rig"]["vrap_takedown"] = %lab_takedown_2_vm; + level.scr_anim["player_rig"]["cliff_jump"] = %lab_cliff_rappel_jump_vm; + if(level.nextgen || param_00 == "intro") + { + maps\_anim::addnotetrack_customfunction("player_rig","player_input_start",::set_flag_rappel_player_input_start,"cliff_jump"); + maps\_anim::addnotetrack_customfunction("player_rig","player_input_stop",::set_flag_rappel_player_input_stop,"cliff_jump"); + } + + level.scr_anim["player_rig"]["server_room_exit"] = %lab_serverroom_vm; + level.scr_anim["player_rig"]["server_room_exit_promo"] = %lab_serverroom_promo_vm; + if(level.nextgen || param_00 == "middle") + { + maps\_anim::addnotetrack_customfunction("player_rig","fov_start",::cormack_fov_start,"server_room_exit_promo"); + maps\_anim::addnotetrack_customfunction("player_rig","fov_end",::cormack_fov_end,"server_room_exit_promo"); + } + + level.scr_anim["player_rig_intro"]["foam_room"] = %lab_plant_foambomb_vm; + level.scr_anim["player_rig_intro"]["jammerplant_1"] = %lab_courtyard_jammerplant_vm; + level.scr_anim["player_rig"]["hovertank_enter"] = %lab_htank_vm_enter_vm; + if(level.nextgen || param_00 == "outro") + { + maps\_anim::addnotetrack_notify("player_rig","start_npcs","hovertank_enter_start_npcs","hovertank_enter"); + maps\_anim::addnotetrack_customfunction("player_rig","FOV_to_75",::transition_to_hovertank_fov,"hovertank_enter"); + } + + level.scr_anim["player_rig"]["hovertank_exit"] = %lab_htank_exit_vm; + if(level.nextgen || param_00 == "outro") + { + maps\_anim::addnotetrack_customfunction("player_rig","start_razorback",::maps\lab_code::se_exfil_razorback,"hovertank_exit"); + } + + level.scr_anim["player_rig_intro"]["exfil_enter"] = %lab_chopper_evac_enter_vm; +} + +//Function Number: 3 +npc_anims(param_00) +{ + level.scr_anim["generic"]["DRS_sprint"] = %sprint1_loop; + level.scr_anim["burke"]["intro_recover"] = %lab_intro_guy1; + level.scr_anim["burke"]["burke_intro_react"] = %unarmed_run_pain_right_a; + level.scr_anim["burke"]["lab_shack_enter"] = %lab_shack_react_in; + level.scr_anim["burke"]["lab_shack_idle"][0] = %lab_shack_react_idle; + level.scr_anim["burke"]["lab_shack_exit"] = %lab_shack_react_out; + level.scr_anim["burke"]["burke_stumble_run"] = %unarmed_run_pain_fall; + level.scr_anim["burke"]["burke_dive_over_log"] = %lab_log_leap_into_run; + level.scr_anim["burke"]["burke_tree_cover_01"] = %lab_unarmed_covercrouch_tree_arrive_a; + level.scr_anim["burke"]["burke_tree_cover_01_idle"][0] = %lab_unarmed_covercrouch_tree_idle_a; + level.scr_anim["burke"]["burke_tree_cover_01_exit"] = %lab_unarmed_covercrouch_tree_exit_a; + level.scr_anim["burke"]["burke_hill_slide"] = %lab_log_leap_into_slide; + level.scr_anim["burke"]["burke_hill_slide_alt"] = %lab_log_leap_into_slide_alt; + level.scr_anim["burke"]["burke_hill_slide_stump"] = %lab_unarmed_covercrouch_tree_arrive_b; + level.scr_anim["burke"]["burke_hill_slide_stump_idle"][0] = %lab_unarmed_covercrouch_tree_idle_b; + level.scr_anim["burke"]["burke_hill_slide_stump_exit"] = %lab_unarmed_covercrouch_tree_exit_b; + level.scr_anim["burke"]["burke_river_over_log"] = %lab_log_leap_into_cover; + level.scr_anim["burke"]["burke_river_cross"] = %lab_river_cross_burke; + level.scr_anim["burke"]["burke_river_to_tree"] = %lab_river_cross_to_tree_burke; + level.scr_anim["burke"]["burke_tree_to_wall"] = %lab_tree_to_wall_burke; + level.scr_anim["burke"]["burke_river_to_wall"] = %lab_river_cross_to_wall_burke; + if(level.nextgen || param_00 == "intro") + { + maps\_anim::addnotetrack_customfunction("burke","vfx_entry_splash",::maps\lab_fx::burke_river_entry_splash_fx,"burke_river_cross"); + maps\_anim::addnotetrack_customfunction("burke","vfx_looping_splashes",::maps\lab_fx::burke_river_looping_splash_fx,"burke_river_cross"); + } + + level.scr_anim["burke"]["burke_forest_cover_tree_wave"][0] = %lab_unarmed_covercrouch_tree_idle_c; + level.scr_anim["burke"]["burke_wall_climb"] = %lab_wallclimb_burke_hero_01; + level.scr_anim["burke"]["burke_wall_climb_loop"][0] = %lab_wallclimb_burke_loop; + level.scr_anim["burke"]["burke_says_exo_is_on"] = %lab_wallclimb_player_hero_01; + if(level.nextgen || param_00 == "intro") + { + maps\_anim::addnotetrack_customfunction("burke","burke_teleport",::maps\lab_code::burke_wall_climb_teleport,"burke_says_exo_is_on"); + maps\_anim::addnotetrack_customfunction("burke","exo_cloak_on",::burke_exo_cloak_on,"burke_says_exo_is_on"); + } + + level.scr_anim["burke"]["burke_search_drone_idle"][0] = %lab_unarmed_walltop_crouch_idle_hero_01; + level.scr_anim["burke"]["burke_search_drone"] = %lab_unarmed_dive_hero_01; + level.scr_anim["burke"]["forest_disarm_arrive"] = %lab_unarmed_covercrouch_tree_arrive_d; + level.scr_anim["burke"]["forest_disarm_idle"][0] = %lab_unarmed_covercrouch_tree_idle_d; + level.scr_anim["burke"]["forest_disarm"] = %lab_forest_disarm_hero_01; + level.scr_anim["disarm_guy_1"]["forest_disarm"] = %lab_forest_disarm_guy_01; + level.scr_anim["disarm_guy_2"]["forest_disarm"] = %lab_forest_disarm_guy_02; + if(level.nextgen || param_00 == "intro") + { + maps\_anim::addnotetrack_customfunction("disarm_guy_1","head_hits_tree",::swap_tree,"forest_disarm"); + maps\_anim::addnotetrack_customfunction("disarm_guy_1","start_ragdoll",::ai_kill,"forest_disarm"); + } + + level.scr_anim["burke"]["forest_takedown_02"] = %lab_knife_takedown_hero_01; + level.scr_anim["guy"]["forest_takedown_02_loser_enter"] = %lab_knife_takedown_guy_01_enter; + level.scr_anim["guy"]["forest_takedown_02_loser_idle"][0] = %lab_knife_takedown_guy_01_idle; + level.scr_anim["guy"]["forest_takedown_02_loser"] = %lab_knife_takedown_guy_01; + if(level.nextgen || param_00 == "intro") + { + maps\_anim::addnotetrack_notify("burke","stab","forest_takedown_02_guy_stabbed","forest_takedown_02"); + maps\_anim::addnotetrack_customfunction("guy","flashlight_hide",::maps\_flashlight_cheap::cheap_flashlight_hide,"forest_takedown_02_loser"); + } + + level.scr_anim["burke"]["cornercrouch_left_cloak_toggle"] = %cornercrouch_left_cloak_toggle; + level.scr_anim["burke"]["cornercrouch_right_cloak_toggle"] = %cornercrouch_right_cloak_toggle; + level.scr_anim["burke"]["crouch_exposed_cloak_toggle"] = %crouch_exposed_cloak_toggle; + maps\_anim::addnotetrack_customfunction("burke","cloak_toggle",::maps\lab_utility::ai_toggle_cloak,"cornercrouch_left_cloak_toggle"); + maps\_anim::addnotetrack_customfunction("burke","cloak_toggle",::maps\lab_utility::ai_toggle_cloak,"cornercrouch_right_cloak_toggle"); + maps\_anim::addnotetrack_customfunction("burke","cloak_toggle",::maps\lab_utility::ai_toggle_cloak,"crouch_exposed_cloak_toggle"); + level.scr_anim["burke"]["vrap_takedown"] = %lab_takedown_2_hero_01; + level.scr_anim["vrap_guy_1"]["vrap_takedown_idle"][0] = %lab_takedown_2_guy_01_idle; + level.scr_anim["vrap_guy_2"]["vrap_takedown_idle"] = %lab_takedown_2_guy_02_idle; + level.scr_anim["vrap_guy_1"]["vrap_takedown"] = %lab_takedown_2_guy_01; + level.scr_anim["vrap_guy_2"]["vrap_takedown"] = %lab_takedown_2_guy_02; + level.scr_anim["vrap_guy_1"]["vrap_takedown_fail"] = %lab_takedown_2_guy_01_fail; + level.scr_anim["vrap_guy_2"]["vrap_takedown_fail"] = %mil_humvee_vrap_driver_out; + if(level.nextgen || param_00 == "intro") + { + maps\_anim::addnotetrack_customfunction("burke","vehicle_lights_off",::maps\lab_lighting::vrap_takedown_lights_off,"vrap_takedown"); + maps\_anim::addnotetrack_customfunction("vrap_guy_1","start_ragdoll",::ai_kill,"vrap_takedown"); + } + + level.scr_anim["cormack"]["cliff_meetup_idle"][0] = %lab_cliff_rappel_meetup_idle_cormack; + level.scr_anim["knox"]["cliff_meetup_idle"][0] = %lab_cliff_rappel_meetup_idle_knox; + level.scr_anim["burke"]["cliff_meetup"] = %lab_cliff_rappel_meetup_burke; + level.scr_anim["cormack"]["cliff_meetup"] = %lab_cliff_rappel_meetup_cormack; + level.scr_anim["knox"]["cliff_meetup"] = %lab_cliff_rappel_meetup_knox; + if(level.nextgen || param_00 == "intro") + { + maps\_anim::addnotetrack_customfunction("cormack","cloak_off",::cloak_off,"cliff_meetup"); + maps\_anim::addnotetrack_customfunction("knox","cloak_off",::cloak_off,"cliff_meetup"); + maps\_anim::addnotetrack_customfunction("knox","rappel_pip",::maps\lab_code::play_rappel_pip,"cliff_meetup"); + } + + level.scr_anim["burke"]["cliff_meetup_rappel_idle"][0] = %lab_cliff_rappel_idle_burke; + level.scr_anim["burke"]["cliff_jump"] = %lab_cliff_rappel_jump_burke; + level.scr_anim["knox"]["knox_meet_idle"][0] = %casual_crouch_v2_idle; + level.scr_anim["guy_1"]["se_breach_patrol_guy_01"] = %lab_breachroom_hazmat_walk_guy1; + level.scr_anim["guy_2"]["se_breach_patrol_guy_02"] = %lab_breachroom_hazmat_walk_guy2; + level.scr_anim["guy_1"]["breach_duards_idle"][0] = %lab_breachroom_talking_patrol_guy1; + level.scr_anim["guy_2"]["breach_duards_idle"][0] = %lab_breachroom_talking_patrol_guy2; + level.scr_anim["burke"]["server_room_entry_intro"] = %lab_serverroom_entry_intro_guy1; + level.scr_anim["cormack"]["server_room_entry_intro"] = %lab_serverroom_entry_intro_guy2; + level.scr_anim["knox"]["server_room_entry_intro"] = %lab_serverroom_entry_intro_guy3; + level.scr_anim["burke"]["server_room_door_idle"][0] = %lab_serverroom_entry_loop_guy1; + level.scr_anim["cormack"]["server_room_door_idle"][0] = %lab_serverroom_entry_loop_guy2; + level.scr_anim["knox"]["server_room_door_idle"][0] = %lab_serverroom_entry_loop_guy3; + level.scr_anim["guy_01_server_room"]["server_room_door_idle"][0] = %lab_serverroom_entry_loop_guy4; + level.scr_anim["burke"]["server_room_peek"] = %lab_serverroom_entry_doorpeek_guy1; + level.scr_anim["cormack"]["server_room_peek"] = %lab_serverroom_entry_doorpeek_guy2; + level.scr_anim["knox"]["server_room_peek"] = %lab_serverroom_entry_doorpeek_guy3; + level.scr_anim["burke"]["server_room_enter"] = %lab_serverroom_entry_doorpush_guy1; + level.scr_anim["cormack"]["server_room_enter"] = %lab_serverroom_entry_doorpush_guy2; + level.scr_anim["knox"]["server_room_enter"] = %lab_serverroom_entry_doorpush_guy3; + level.scr_anim["guy_01_server_room"]["server_room_enter"] = %lab_serverroom_entry_death_guy4; + if(level.nextgen || param_00 == "middle") + { + maps\_anim::addnotetrack_customfunction("guy_01_server_room","start_ragdoll",::ai_kill,"server_room_enter"); + } + + level.scr_anim["knox"]["server_room_enter_fail"] = %lab_serverroom_entry_fail_guy3; + level.scr_anim["guy_01_server_room"]["server_room_enter_fail"] = %lab_serverroom_entry_fail_guy4; + maps\_anim::addnotetrack_customfunction("knox","fire_gun",::maps\lab_code::server_room_fire_knox_gun,"server_room_enter_fail"); + if(level.nextgen || param_00 == "middle") + { + maps\_anim::addnotetrack_customfunction("guy_01_server_room","start_ragdoll",::ai_kill,"server_room_enter_fail"); + } + + level.scr_anim["burke"]["server_room_enter_idle"][0] = %lab_serverroom_loop_guy1; + level.scr_anim["cormack"]["server_room_enter_idle"][0] = %lab_serverroom_loop_guy2; + level.scr_anim["knox"]["server_room_enter_idle"][0] = %lab_serverroom_loop_guy3; + level.scr_anim["burke"]["server_room_exit"] = %lab_serverroom_guy1; + level.scr_anim["cormack"]["server_room_exit"] = %lab_serverroom_guy2; + level.scr_anim["knox"]["server_room_exit"] = %lab_serverroom_guy3; + level.scr_anim["burke"]["server_room_exit_promo"] = %lab_serverroom_promo_guy1; + level.scr_anim["cormack"]["server_room_exit_promo"] = %lab_serverroom_promo_guy2; + level.scr_anim["knox"]["server_room_exit_promo"] = %lab_serverroom_promo_guy3; + if(level.nextgen || param_00 == "middle") + { + maps\_anim::addnotetrack_customfunction("cormack","dilate_pupils",::cormack_dilate_pupils,"server_room_exit_promo"); + } + + level.scr_anim["mech"]["courtyard_mech_intro"] = %mech_intro; + if(level.nextgen || param_00 == "middle") + { + maps\_anim::addnotetrack_customfunction("mech","vfx_stomp_land",::maps\lab_fx::mech_intro_land_dust,"courtyard_mech_intro"); + } + + level.scr_anim["knox"]["courtyard_hangar_door_hack_enter"] = %lab_courtyard_hackdoor_guy1_in; + level.scr_anim["knox"]["courtyard_hangar_door_hack_idle"][0] = %lab_courtyard_hackdoor_guy1_loop; + level.scr_anim["knox"]["courtyard_hangar_door_hack_exit"] = %lab_courtyard_hackdoor_guy1_out; + level.scr_anim["knox"]["courtyard_hangar_door_close"] = %crouch_exposed_cloak_toggle; + level.scr_anim["cormack"]["foam_corridor_in"] = %lab_fb_foamdeploy_guy1_in; + level.scr_anim["burke"]["foam_corridor_in"] = %lab_fb_foamdeploy_guy2_in; + level.scr_anim["knox"]["foam_corridor_in"] = %lab_fb_foamdeploy_guy3_in; + level.scr_anim["cormack"]["foam_corridor_idle"][0] = %lab_fb_foamdeploy_guy1_loop; + level.scr_anim["burke"]["foam_corridor_idle"][0] = %lab_fb_foamdeploy_guy2_loop; + level.scr_anim["knox"]["foam_corridor_idle"][0] = %lab_fb_foamdeploy_guy3_loop; + level.scr_anim["cormack"]["foam_corridor_grenade_throw"] = %lab_fb_foamdeploy_guy1; + level.scr_anim["burke"]["foam_corridor_grenade_throw"] = %lab_fb_foamdeploy_guy2; + level.scr_anim["knox"]["foam_corridor_grenade_throw"] = %lab_fb_foamdeploy_guy3; + level.scr_anim["guy_4"]["foam_corridor_grenade_throw"] = %lab_fb_foamdeploy_guy4; + level.scr_anim["cormack"]["foam_corridor_idle_2"][0] = %lab_fb_foamdeploy_guy1_loop2; + level.scr_anim["burke"]["foam_corridor_idle_2"][0] = %lab_fb_foamdeploy_guy2_loop2; + level.scr_anim["knox"]["foam_corridor_idle_2"][0] = %lab_fb_foamdeploy_guy3_loop2; + level.scr_anim["cormack"]["foam_corridor_exit"] = %lab_fb_foamdeploy_guy1_out; + level.scr_anim["burke"]["foam_corridor_exit"] = %lab_fb_foamdeploy_guy2_out; + level.scr_anim["knox"]["foam_corridor_exit"] = %lab_fb_foamdeploy_guy3_out; + level.scr_anim["burke"]["hovertank_reveal_approach"] = %lab_htank_reveal_hero_01; + level.scr_anim["cormack"]["hovertank_reveal_approach"] = %lab_htank_reveal_hero_02; + level.scr_anim["burke"]["hovertank_reveal_loop"][0] = %lab_htank_reveal_loop_hero_01; + level.scr_anim["cormack"]["hovertank_reveal_loop"][0] = %lab_htank_reveal_loop_hero_02; + level.scr_anim["burke"]["hovertank_reveal"] = %lab_htank_enter_hero_01; + level.scr_anim["cormack"]["hovertank_reveal"] = %lab_htank_enter_hero_02; + level.scr_anim["knox"]["hovertank_reveal_approach"] = %lab_htank_reveal_hero_03; + level.scr_anim["knox"]["hovertank_reveal_loop"][0] = %lab_htank_reveal_loop_hero_03; + level.scr_anim["burke"]["hovertank_enter"] = %lab_htank_vm_enter_hero_01; + level.scr_anim["cormack"]["hovertank_enter"] = %lab_htank_vm_enter_hero_02; + level.scr_anim["knox"]["hovertank_enter"] = %lab_htank_vm_enter_hero_03; + level.scr_anim["burke"]["hovertank_idle"][0] = %lab_htank_idle_hero_01; + level.scr_anim["cormack"]["hovertank_idle"][0] = %lab_htank_idle_hero_02; + level.scr_anim["knox"]["hovertank_idle"][0] = %lab_htank_idle_hero_03; + level.scr_anim["generic"]["prone_dive"] = %hunted_dive_2_pronehide_v1; + level.scr_anim["generic"]["prone_idle"][0] = %hunted_pronehide_idle_relative; + level.scr_anim["generic"]["react_stand_2_run_180"] = %react_stand_2_run_180; + level.scr_anim["generic"]["paris_delta_ceiling_collapse_react_guy1"] = %paris_delta_ceiling_collapse_react_guy1; + level.scr_anim["generic"]["run_reaction_180"] = %run_reaction_180; + level.scr_anim["generic"]["payback_escape_rpg_react_price"] = %payback_escape_rpg_react_price; + level.scr_anim["generic"]["intro_ugv_react"] = %intro_ugv_react; + level.scr_anim["burke"]["hovertank_exit"] = %lab_htank_exit_hero_01; + level.scr_anim["cormack"]["hovertank_exit"] = %lab_htank_exit_hero_02; + level.scr_anim["knox"]["hovertank_exit"] = %lab_htank_exit_hero_03; + level.scr_anim["guy_exfil_pilot"]["exfil_pilot_idle"][0] = %lab_chopper_evac_idle_pilot; + level.scr_anim["guy_exfil"]["exfil_fly_in"] = %lab_chopper_evac_intro_npc; + level.scr_anim["guy_exfil"]["exfil_fly_in_idle"][0] = %lab_chopper_evac_intro_idle_npc; + level.scr_anim["guy_exfil"]["exfil_burke_enter"] = %lab_chopper_evac_burke_get_on_npc; + level.scr_anim["guy_exfil"]["exfil_hover_idle"][0] = %lab_chopper_evac_hover_idle_npc; + level.scr_anim["cormack"]["exfil_cormack_approach"] = %lab_exfil_end_run2idle_cormack; + level.scr_anim["cormack"]["exfil_cormack_approach_idle"][0] = %lab_exfil_end_idle_cormack; + level.scr_anim["burke"]["exfil_burke_enter"] = %lab_chopper_evac_burke_get_on_burke; + level.scr_anim["burke"]["exfil_hover_idle"][0] = %lab_chopper_evac_hover_idle_burke; + level.scr_anim["burke"]["exfil_enter"] = %lab_chopper_evac_enter_burke; + level.scr_anim["cormack"]["exfil_enter"] = %lab_chopper_evac_enter_cormack; + level.scr_anim["guy_exfil"]["exfil_enter"] = %lab_chopper_evac_enter_npc; + level.scr_anim["knox"]["exfil_enter"] = %lab_exfil_enter_npc2; + if(level.nextgen || param_00 == "outro") + { + maps\_anim::addnotetrack_notify("burke","fade_start","level_fade_out","exfil_enter"); + } + + level.scr_anim["generic"]["patrol_stand_idle"][0] = %patrolstand_idle; + level.scr_anim["generic"]["patrol_sit_idle"][0] = %sitting_guard_loadak_idle; + level.scr_anim["generic"]["flashlight_search_high_idle"][0] = %so_hijack_search_flashlight_high_loop; + level.scr_anim["generic"]["flashlight_search_low_idle"][0] = %so_hijack_search_flashlight_low_loop; + level.scr_anim["generic"]["phone_idle"][0] = %patrol_bored_idle_cellphone; + level.scr_anim["generic"]["phone_react"] = %patrol_bored_react_look_retreat; +} + +//Function Number: 4 +breach_anims(param_00) +{ + level.breach_death_anims = []; + level.scr_anim["generic"]["breach_chair_hide_reaction_v1_death"] = %covercrouch_death_1; + level.scr_anim["generic"]["breach_chair_hide_reaction_v1_death2"] = %covercrouch_death_2; +} + +//Function Number: 5 +vehicles_anims(param_00) +{ + level.scr_anim["spotlight_helo"]["player_wall_climb"] = %lab_wallclimb_player_littlebird; + level.scr_anim["spotlight_helo"]["player_wall_climb_loop"][0] = %lab_wallclimb_player_loop_littlebird; + level.scr_anim["spotlight_helo"]["player_wall_climb_end"] = %lab_wallclimb_player_end_littlebird; + level.scr_anim["search_drone"]["search_drone"] = %lab_unarmed_dive_drone; + if(level.nextgen || param_00 == "intro") + { + maps\_anim::addnotetrack_customfunction("search_drone","droneturn",::maps\lab_fx::drone_deer_spot_light,"search_drone"); + } + + level.scr_animtree["razorback"] = #animtree; + level.scr_anim["razorback"]["exfil_fly_in"] = %lab_chopper_evac_intro_razorback; + if(level.nextgen || param_00 == "outro") + { + maps\_anim::addnotetrack_customfunction("razorback","vfx_razorback_thrust_front_on",::vehicle_scripts\_razorback_fx::vfx_rb_thruster_front_on,"exfil_fly_in"); + maps\_anim::addnotetrack_customfunction("razorback","vfx_razorback_thrust_back_on",::vehicle_scripts\_razorback_fx::vfx_rb_thruster_back_on,"exfil_fly_in"); + maps\_anim::addnotetrack_customfunction("razorback","vfx_razorback_thrust_front_off",::vehicle_scripts\_razorback_fx::vfx_rb_thruster_front_off,"exfil_fly_in"); + maps\_anim::addnotetrack_customfunction("razorback","vfx_razorback_thrust_back_off",::vehicle_scripts\_razorback_fx::vfx_rb_thruster_back_off,"exfil_fly_in"); + } + + level.scr_anim["razorback"]["exfil_fly_in_idle"][0] = %lab_chopper_evac_intro_idle_razorback; + level.scr_anim["razorback"]["exfil_burke_enter"] = %lab_chopper_evac_burke_get_on_razorback; + level.scr_anim["razorback"]["exfil_hover_idle"][0] = %lab_chopper_evac_hover_idle_razorback; + level.scr_anim["razorback"]["exfil_enter"] = %lab_chopper_evac_enter_razorback; + if(level.nextgen || param_00 == "outro") + { + maps\_anim::addnotetrack_customfunction("razorback","vfx_razorback_thrust_front_on",::vehicle_scripts\_razorback_fx::vfx_rb_thruster_front_on,"exfil_enter"); + maps\_anim::addnotetrack_customfunction("razorback","vfx_razorback_thrust_back_on",::vehicle_scripts\_razorback_fx::vfx_rb_thruster_back_on,"exfil_enter"); + maps\_anim::addnotetrack_customfunction("razorback","vfx_htank_explode",::maps\lab_fx::vfx_htank_explosion,"exfil_enter"); + } + + level.scr_anim["vrap"]["vrap_takedown_idle"][0] = %lab_takedown_2_humvee_idle; + level.scr_anim["vrap"]["vrap_takedown"] = %lab_takedown_2_humvee; + level.scr_anim["vrap"]["vrap_takedown_fail"] = %mil_humvee_vrap_driver_out_door; + level.scr_animtree["hovertank"] = #animtree; + level.scr_model["hovertank"] = "vehicle_mil_hovertank_ai"; + level.scr_anim["hovertank"]["hovertank_reveal_static"][0] = %lab_htank_static_loop_htank; + level.scr_anim["hovertank"]["hovertank_reveal"] = %lab_htank_reveal_htank; + level.scr_anim["hovertank"]["hovertank_reveal_loop"][0] = %lab_htank_reveal_loop_htank; + level.scr_anim["hovertank"]["hovertank_enter"] = %lab_htank_vm_enter_htank; + if(level.nextgen || param_00 == "outro") + { + maps\_anim::addnotetrack_customfunction("hovertank","vfx_htank_reveal_start",::maps\lab_fx::vfx_htank_reveal,"hovertank_reveal"); + } + + level.scr_animtree["hovertank"] = #animtree; + level.scr_model["hovertank"] = "vehicle_mil_hovertank_ai"; + level.scr_anim["hovertank"]["hovertank_enter"] = %lab_htank_vm_enter_htank; + level.scr_animtree["hovertank_interior"] = #animtree; + level.scr_model["hovertank_interior"] = "vehicle_mil_hovertank_vm"; + level.scr_anim["hovertank_interior"]["hovertank_enter"] = %lab_htank_vm_enter_vmhtank; + if(level.nextgen || param_00 == "outro") + { + maps\_anim::addnotetrack_notify("hovertank_interior","htank_vm_show","hovertank_show_interior","hovertank_enter"); + maps\_anim::addnotetrack_notify("hovertank","htank_ai_hide","hovertank_hide_exterior","hovertank_enter"); + } + + level.scr_anim["hovertank_interior"]["hovertank_react_small"] = %lab_htank_react_small_vmhtank; + level.scr_anim["hovertank_interior"]["hovertank_react_large"] = %lab_htank_react_large_vmhtank; + level.scr_anim["hovertank"]["hovertank_exit"] = %lab_htank_exit_htank; + level.scr_anim["hovertank_interior"]["hovertank_exit"] = %lab_htank_exit_vmhtank; + if(level.nextgen || param_00 == "outro") + { + maps\_anim::addnotetrack_notify("hovertank","htank_ai_show","hovertank_show_exterior","hovertank_exit"); + maps\_anim::addnotetrack_notify("hovertank_interior","htank_vm_hide","hovertank_hide_interior","hovertank_exit"); + } +} + +//Function Number: 6 +prop_anims(param_00) +{ + level.scr_animtree["vrap_mute"] = #animtree; + level.scr_model["vrap_mute"] = "muteCharge"; + level.scr_anim["vrap_mute"]["vrap_mute"] = %lab_takedown_2_plantmute_mute; + if(level.nextgen || param_00 == "intro") + { + maps\_anim::addnotetrack_customfunction("vrap_mute","vfx_mute_device_plant",::maps\lab_fx::mute_device_plant_fx,"vrap_mute"); + } + + level.scr_animtree["security_door_right"] = #animtree; + level.scr_model["security_door_right"] = "genericProp"; + level.scr_anim["security_door_right"]["server_room_peek"] = %lab_serverroom_entry_doorpeek_prop; + level.scr_anim["security_door_right"]["server_room_enter"] = %lab_serverroom_entry_doorpush_prop; + level.scr_animtree["carabiner_burke"] = #animtree; + level.scr_animtree["carabiner_cormack"] = #animtree; + level.scr_animtree["carabiner_knox"] = #animtree; + level.scr_animtree["carabiner_vm"] = #animtree; + level.scr_animtree["anchor_system"] = #animtree; + level.scr_animtree["anchor_system_burke"] = #animtree; + level.scr_animtree["anchor_system_cormack"] = #animtree; + level.scr_animtree["anchor_system_knox"] = #animtree; + level.scr_animtree["rope_30_burke"] = #animtree; + level.scr_animtree["rope_30_cormack"] = #animtree; + level.scr_animtree["rope_30_knox"] = #animtree; + level.scr_animtree["rope_vm"] = #animtree; + level.scr_animtree["rope_vm_long"] = #animtree; + level.scr_animtree["rope_30_jump_burke"] = #animtree; + level.scr_animtree["rope_150_burke"] = #animtree; + level.scr_animtree["rope_150_burke_end"] = #animtree; + level.scr_animtree["rope_150_cormack_end"] = #animtree; + level.scr_animtree["rope_150_knox_end"] = #animtree; + level.scr_animtree["rope_150_player_end"] = #animtree; + level.scr_anim["carabiner_burke"]["cliff_meetup"] = %lab_cliff_rappel_meetup_burke_carabiner; + level.scr_anim["carabiner_cormack"]["cliff_meetup"] = %lab_cliff_rappel_meetup_cormack_carabiner; + level.scr_anim["carabiner_knox"]["cliff_meetup"] = %lab_cliff_rappel_meetup_knox_carabiner; + level.scr_anim["anchor_system"]["cliff_jump"] = %lab_cliff_rappel_jump_vm_anchor; + if(level.nextgen || param_00 == "intro") + { + maps\_anim::addnotetrack_customfunction("anchor_system","vfx_pnematic_anchor",::maps\lab_fx::fx_pnematic_anchor,"cliff_jump"); + } + + level.scr_anim["carabiner_vm"]["cliff_jump"] = %lab_cliff_rappel_jump_vm_carabiner; + level.scr_anim["anchor_system_burke"]["cliff_meetup"] = %lab_cliff_rappel_meetup_burke_anchor; + level.scr_anim["anchor_system_cormack"]["cliff_meetup"] = %lab_cliff_rappel_meetup_cormack_anchor; + level.scr_anim["anchor_system_knox"]["cliff_meetup"] = %lab_cliff_rappel_meetup_knox_anchor; + level.scr_anim["rope_30_burke"]["cliff_meetup"] = %lab_cliff_rappel_meetup_burke_rope_30f; + level.scr_anim["rope_30_cormack"]["cliff_meetup"] = %lab_cliff_rappel_meetup_cormack_rope_30f; + level.scr_anim["rope_30_knox"]["cliff_meetup"] = %lab_cliff_rappel_meetup_knox_rope_30f; + level.scr_anim["rope_vm"]["cliff_jump"] = %lab_cliff_rappel_jump_vm_rope_30f; + level.scr_anim["rope_vm_long"]["cliff_jump"] = %lab_cliff_rappel_jump_vm_rope; + if(level.nextgen || param_00 == "intro") + { + maps\_anim::addnotetrack_customfunction("rope_vm","rope_swap",::maps\lab_code::player_rappel_rope_swap,"cliff_jump"); + } + + level.scr_anim["rope_30_burke"]["cliff_jump"] = %lab_cliff_rappel_jump_burke_rope_30f; + level.scr_anim["rope_30_burke"]["cliff_meetup_rappel_idle"][0] = %lab_cliff_rappel_idle_burke_rope_30f; + level.scr_anim["rope_150_burke"]["cliff_jump"] = %lab_cliff_rappel_jump_burke_rope_150f; + if(level.nextgen || param_00 == "intro") + { + maps\_anim::addnotetrack_customfunction("rope_30_burke","rope_swap",::maps\lab_code::burke_rappel_rope_swap,"cliff_jump"); + } + + level.scr_anim["rope_150_burke_end"]["cliff_jump_end"][0] = %lab_cliff_rappel_jump_burke_rope_150f_loop; + level.scr_anim["rope_150_cormack_end"]["cliff_jump_end"][0] = %lab_cliff_rappel_meetup_cormack_rope_150f_loop; + level.scr_anim["rope_150_knox_end"]["cliff_jump_end"][0] = %lab_cliff_rappel_meetup_knox_rope_150f_loop; + level.scr_anim["rope_150_player_end"]["cliff_jump_end"][0] = %lab_cliff_rappel_jump_vm_rope_150f_loop; + level.scr_animtree["server_monitor"] = #animtree; + level.scr_anim["server_monitor"]["server_room_exit"] = %lab_serverroom_monitor; + level.scr_anim["server_monitor"]["server_room_exit_promo"] = %lab_serverroom_promo_monitor; + level.scr_anim["server_monitor"]["server_room_enter"] = %lab_serverroom_entry_death_monitor; + level.scr_anim["server_monitor"]["server_room_enter_fail"] = %lab_serverroom_entry_fail_monitor; + level.scr_anim["server_monitor"]["server_room_door_idle"][0] = %lab_serverroom_entry_loop_monitor; + level.scr_animtree["grenade1"] = #animtree; + level.scr_animtree["grenade2"] = #animtree; + level.scr_animtree["grenade3"] = #animtree; + level.scr_anim["grenade1"]["server_room_exit"] = %lab_serverroom_grenade1; + level.scr_anim["grenade2"]["server_room_exit"] = %lab_serverroom_grenade2; + level.scr_anim["grenade3"]["server_room_exit"] = %lab_serverroom_grenade3; + level.scr_anim["grenade1"]["server_room_exit_promo"] = %lab_serverroom_promo_grenade1; + level.scr_anim["grenade2"]["server_room_exit_promo"] = %lab_serverroom_promo_grenade2; + level.scr_anim["grenade3"]["server_room_exit_promo"] = %lab_serverroom_promo_grenade3; + if(level.nextgen || param_00 == "middle") + { + maps\_anim::addnotetrack_customfunction("grenade1","vfx_thermite_grenade_1",::maps\lab_fx::thermite_grenade_1_fx,"server_room_exit"); + maps\_anim::addnotetrack_customfunction("grenade2","vfx_thermite_grenade_2",::maps\lab_fx::thermite_grenade_2_fx,"server_room_exit"); + maps\_anim::addnotetrack_customfunction("grenade3","vfx_thermite_grenade_3",::maps\lab_fx::thermite_grenade_3_fx,"server_room_exit"); + maps\_anim::addnotetrack_customfunction("grenade1","vfx_thermite_grenade_1",::maps\lab_fx::thermite_grenade_1_fx,"server_room_exit_promo"); + maps\_anim::addnotetrack_customfunction("grenade2","vfx_thermite_grenade_2",::maps\lab_fx::thermite_grenade_2_fx,"server_room_exit_promo"); + maps\_anim::addnotetrack_customfunction("grenade3","vfx_thermite_grenade_3",::maps\lab_fx::thermite_grenade_3_fx,"server_room_exit_promo"); + } + + level.scr_animtree["wallclimb_roots"] = #animtree; + level.scr_anim["wallclimb_roots"]["burke_wall_climb"] = %lab_wallclimb_burke_roots; + level.scr_anim["wallclimb_roots"]["player_wall_climb_1"] = %lab_wallclimb_player_1_roots; + level.scr_anim["wallclimb_roots"]["player_wall_climb_2"] = %lab_wallclimb_player_2_roots; + level.scr_anim["wallclimb_roots"]["player_wall_climb_3"] = %lab_wallclimb_player_3_roots; + level.scr_anim["wallclimb_roots"]["player_wall_climb_4"] = %lab_wallclimb_player_4_roots; + level.scr_anim["wallclimb_roots"]["player_wall_climb_5"] = %lab_wallclimb_player_5_roots; + level.scr_anim["wallclimb_roots"]["player_wall_climb_loop"][0] = %lab_wallclimb_player_loop_roots; + level.scr_anim["wallclimb_roots"]["player_wall_climb_lastjump"] = %lab_wallclimb_player_lastjump_roots; + level.scr_anim["wallclimb_roots"]["player_wall_climb_end"] = %lab_wallclimb_player_end_roots; + level.scr_animtree["jammer"] = #animtree; + level.scr_model["jammer"] = "vm_jamming_device"; + level.scr_anim["jammer"]["jammerplant_1"] = %lab_courtyard_jammerplant_jammer; + level.scr_anim["foam_bomb"]["foam_room"] = %lab_plant_foambomb_bomb; + level.scr_animtree["foam_bomb"] = #animtree; + level.scr_model["foam_bomb"] = "npc_foam_grenade"; + level.scr_anim["foam_bomb"]["foam_corridor_exit"] = %lab_fb_foamdeploy_foambomb; + if(level.nextgen || param_00 == "middle") + { + maps\_anim::addnotetrack_notify("foam_bomb","detonate","foam_grenade_detonate","foam_corridor_exit"); + } + + level.scr_animtree["htank_reveal_lift_01"] = #animtree; + level.scr_anim["htank_reveal_lift_01"]["hovertank_reveal"] = %lab_htank_reveal_lift_01; + level.scr_animtree["htank_reveal_lift_02"] = #animtree; + level.scr_anim["htank_reveal_lift_02"]["hovertank_reveal"] = %lab_htank_reveal_lift_02; + level.scr_animtree["htank_reveal_lift_03"] = #animtree; + level.scr_anim["htank_reveal_lift_03"]["hovertank_reveal"] = %lab_htank_reveal_lift_03; + level.scr_animtree["htank_reveal_lift_04"] = #animtree; + level.scr_anim["htank_reveal_lift_04"]["hovertank_reveal"] = %lab_htank_reveal_lift_04; + level.scr_animtree["tank_hangar_garage_door"] = #animtree; + level.scr_anim["tank_hangar_garage_door"]["lab_tank_hanger_door_open"] = %lab_tank_hanger_door_open; + level.scr_animtree["perimeter_gate"] = #animtree; + level.scr_anim["perimeter_gate"]["opened"] = %lab_perimeter_gate_open_idle; + level.scr_anim["perimeter_gate"]["close"] = %lab_perimeter_gate_close; + level.scr_anim["perimeter_gate"]["closed"] = %lab_perimeter_gate_close_idle; + level.scr_anim["perimeter_gate"]["shoot_open1"] = %lab_perimeter_gate_open; +} + +//Function Number: 7 +animal_anims(param_00) +{ + level.scr_animtree["deer"] = #animtree; + level.scr_anim["deer"]["search_drone"] = %lab_unarmed_walltop_deer; +} + +//Function Number: 8 +notetrack_setup_middle() +{ + level waittill("tff_post_intro_to_middle"); + maps\_anim::addnotetrack_customfunction("guy_01_server_room","start_ragdoll",::ai_kill,"server_room_enter"); + maps\_anim::addnotetrack_customfunction("guy_01_server_room","start_ragdoll",::ai_kill,"server_room_enter_fail"); + maps\_anim::addnotetrack_customfunction("player_rig","fov_start",::cormack_fov_start,"server_room_exit_promo"); + maps\_anim::addnotetrack_customfunction("player_rig","fov_end",::cormack_fov_end,"server_room_exit_promo"); + maps\_anim::addnotetrack_customfunction("mech","vfx_stomp_land",::maps\lab_fx::mech_intro_land_dust,"courtyard_mech_intro"); + maps\_anim::addnotetrack_customfunction("grenade1","vfx_thermite_grenade_1",::maps\lab_fx::thermite_grenade_1_fx,"server_room_exit"); + maps\_anim::addnotetrack_customfunction("grenade2","vfx_thermite_grenade_2",::maps\lab_fx::thermite_grenade_2_fx,"server_room_exit"); + maps\_anim::addnotetrack_customfunction("grenade3","vfx_thermite_grenade_3",::maps\lab_fx::thermite_grenade_3_fx,"server_room_exit"); + maps\_anim::addnotetrack_customfunction("grenade1","vfx_thermite_grenade_1",::maps\lab_fx::thermite_grenade_1_fx,"server_room_exit_promo"); + maps\_anim::addnotetrack_customfunction("grenade2","vfx_thermite_grenade_2",::maps\lab_fx::thermite_grenade_2_fx,"server_room_exit_promo"); + maps\_anim::addnotetrack_customfunction("grenade3","vfx_thermite_grenade_3",::maps\lab_fx::thermite_grenade_3_fx,"server_room_exit_promo"); + maps\_anim::addnotetrack_notify("foam_bomb","detonate","foam_grenade_detonate","foam_corridor_exit"); + maps\_anim::addnotetrack_customfunction("cormack","dilate_pupils",::cormack_dilate_pupils,"server_room_exit_promo"); +} + +//Function Number: 9 +notetrack_setup_outro() +{ + level waittill("tff_post_middle_to_outro"); + maps\_anim::addnotetrack_notify("player_rig","start_npcs","hovertank_enter_start_npcs","hovertank_enter"); + maps\_anim::addnotetrack_customfunction("player_rig","FOV_to_75",::transition_to_hovertank_fov,"hovertank_enter"); + maps\_anim::addnotetrack_customfunction("player_rig","start_razorback",::maps\lab_code::se_exfil_razorback,"hovertank_exit"); + maps\_anim::addnotetrack_notify("burke","fade_start","level_fade_out","exfil_enter"); + maps\_anim::addnotetrack_customfunction("razorback","vfx_razorback_thrust_front_on",::vehicle_scripts\_razorback_fx::vfx_rb_thruster_front_on,"exfil_fly_in"); + maps\_anim::addnotetrack_customfunction("razorback","vfx_razorback_thrust_back_on",::vehicle_scripts\_razorback_fx::vfx_rb_thruster_back_on,"exfil_fly_in"); + maps\_anim::addnotetrack_customfunction("razorback","vfx_razorback_thrust_front_off",::vehicle_scripts\_razorback_fx::vfx_rb_thruster_front_off,"exfil_fly_in"); + maps\_anim::addnotetrack_customfunction("razorback","vfx_razorback_thrust_back_off",::vehicle_scripts\_razorback_fx::vfx_rb_thruster_back_off,"exfil_fly_in"); + maps\_anim::addnotetrack_customfunction("razorback","vfx_razorback_thrust_front_on",::vehicle_scripts\_razorback_fx::vfx_rb_thruster_front_on,"exfil_enter"); + maps\_anim::addnotetrack_customfunction("razorback","vfx_razorback_thrust_back_on",::vehicle_scripts\_razorback_fx::vfx_rb_thruster_back_on,"exfil_enter"); + maps\_anim::addnotetrack_customfunction("razorback","vfx_htank_explode",::maps\lab_fx::vfx_htank_explosion,"exfil_enter"); + maps\_anim::addnotetrack_customfunction("hovertank","vfx_htank_reveal_start",::maps\lab_fx::vfx_htank_reveal,"hovertank_reveal"); + maps\_anim::addnotetrack_notify("hovertank_interior","htank_vm_show","hovertank_show_interior","hovertank_enter"); + maps\_anim::addnotetrack_notify("hovertank","htank_ai_hide","hovertank_hide_exterior","hovertank_enter"); + maps\_anim::addnotetrack_notify("hovertank","htank_ai_show","hovertank_show_exterior","hovertank_exit"); + maps\_anim::addnotetrack_notify("hovertank_interior","htank_vm_hide","hovertank_hide_interior","hovertank_exit"); +} + +//Function Number: 10 +burke_intro_dialogue(param_00) +{ + common_scripts\utility::flag_set("flag_intro_run_dialogue_start"); +} + +//Function Number: 11 +burke_exo_cloak_on(param_00) +{ + param_00 maps\lab_utility::cloak_on(0,0.25); +} + +//Function Number: 12 +player_exo_power_on(param_00) +{ + wait(4); + common_scripts\utility::flag_set("flag_player_cloak_on"); + soundscripts\_snd::snd_message("player_cloak_on"); + if(common_scripts\utility::flag("flag_demo_itiot_start")) + { + thread maps\_shg_utility::show_player_hud("0",undefined,0); + return; + } + + thread maps\_shg_utility::show_player_hud(undefined,undefined,0); +} + +//Function Number: 13 +player_fov_54(param_00) +{ + param_00 maps\_utility::lerp_fov_overtime(0.5,54.75); + common_scripts\utility::flag_set("flag_hold_on_dialogue"); +} + +//Function Number: 14 +player_fov_65(param_00) +{ + param_00 maps\_utility::lerp_fov_overtime(0.33,65); +} + +//Function Number: 15 +player_exo_cloak_on(param_00) +{ + maps\_cloak::turn_on_the_cloak_effect(); +} + +//Function Number: 16 +player_exo_cloak_on_wallclimb(param_00) +{ + maps\lab_utility::turn_on_the_cloak_effect_wallclimb(); +} + +//Function Number: 17 +swap_tree(param_00) +{ + var_01 = getent("takedown_stump","targetname"); + var_02 = getent("takedown_stump_damaged","targetname"); + maps\lab_fx::tree_head_impact(); + var_01 hide(); + var_02 show(); +} + +//Function Number: 18 +ai_kill(param_00) +{ + if(!isalive(param_00)) + { + return; + } + + param_00.allowdeath = 1; + param_00.a.nodeath = 1; + param_00 maps\_utility::set_battlechatter(0); + wait(0.05); + param_00 kill(); +} + +//Function Number: 19 +transition_to_hovertank_fov(param_00) +{ + level.player maps\_utility::lerpfov_saved(75,2); +} + +//Function Number: 20 +cloak_off(param_00) +{ + param_00 maps\lab_utility::cloak_off(); +} + +//Function Number: 21 +cormack_fov_start(param_00) +{ + param_00 maps\_utility::lerp_fov_overtime(10,50); +} + +//Function Number: 22 +cormack_fov_end(param_00) +{ + param_00 maps\_utility::lerp_fov_overtime(2.1,65); +} + +//Function Number: 23 +cormack_dilate_pupils(param_00) +{ + if(level.currentgen) + { + return; + } + + var_01 = getdvarfloat("r_eyePupil"); + lerp_pupil_over_time(0.95,0.75); + wait(4); + lerp_pupil_over_time(0.05,0.55); + wait(0.5); + lerp_pupil_over_time(var_01,1.5); +} + +//Function Number: 24 +lerp_pupil_over_time(param_00,param_01) +{ + if(level.currentgen) + { + return; + } + + var_02 = getdvarfloat("r_eyePupil"); + var_03 = 0.05; + var_04 = 0; + var_05 = param_00 - var_02 / param_01 * var_03; + var_06 = var_02; + while(var_04 < param_01) + { + var_06 = var_06 + var_05; + setsaveddvar("r_eyePupil",var_06); + var_04 = var_04 + var_03; + wait(var_03); + } +} + +//Function Number: 25 +set_flag_rappel_player_input_start(param_00) +{ + common_scripts\utility::flag_set("flag_rappel_player_input_start"); +} + +//Function Number: 26 +set_flag_rappel_player_input_stop(param_00) +{ + common_scripts\utility::flag_set("flag_rappel_player_input_stop"); +} \ No newline at end of file diff --git a/AW/PC/maps/lab_aud.gsc b/AW/PC/maps/lab_aud.gsc new file mode 100644 index 0000000..57d2294 --- /dev/null +++ b/AW/PC/maps/lab_aud.gsc @@ -0,0 +1,3573 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: lab_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 264 + * Decompile Time: 3890 ms + * Timestamp: 4/22/2024 2:32:35 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + config_system(); + init_snd_flags(); + init_globals(); + launch_threads(); + thread launch_loops(); + thread launch_line_emitters(); + create_level_envelop_arrays(); + init_level_arrays(); + precache_presets(); + thread maps\lab_vo::init_pcap_vo(); + common_scripts\utility::array_thread(getentarray("vrap_placed","script_noteworthy"),::aud_jeep_death_listener); + register_snd_messages(); +} + +//Function Number: 2 +config_system() +{ + soundscripts\_audio::set_stringtable_mapname("shg"); + soundscripts\_snd_filters::snd_set_occlusion("med_occlusion"); + soundscripts\_audio_mix_manager::mm_add_submix("lab_global_mix"); + if(getdvarint("snd_enable_damagefeedback")) + { + maps\_utility::enable_damagefeedback_snd(); + } +} + +//Function Number: 3 +init_snd_flags() +{ + common_scripts\utility::flag_init("truck_takedown_burke_done"); + common_scripts\utility::flag_init("aud_player_entering_river"); + common_scripts\utility::flag_init("aud_river_shallow_water"); + common_scripts\utility::flag_init("aud_lab_phone_start"); + common_scripts\utility::flag_init("aud_start_jammer"); + common_scripts\utility::flag_init("aud_balcony_aircraft"); + common_scripts\utility::flag_init("aud_hangar_light_hum_start"); +} + +//Function Number: 4 +init_globals() +{ + level.aud.rope_started = 0; +} + +//Function Number: 5 +launch_threads() +{ + if(soundscripts\_audio::aud_is_specops()) + { + return; + } + + thread aud_handle_river_sfx(); + thread damb_animal_sfx_offset(); + thread aud_forest_ambient_loops(); + thread aud_lab_foley_override_handler(); + thread setup_burke_river_cross_notetracks(); + thread setup_deer_notetracks(); + thread setup_gideon_climb_notetracks(); + thread setup_player_takedown_notetracks(); + thread setup_npc_cloak_button_anims(); + thread aud_handle_clearing_dambs(); + thread aud_handle_river_progress_flags(); + thread aud_handle_river_shallow_flag(); + thread setup_cormack_meetup_scene_notetracks(); + thread setup_server_room_scene_notetracks(); + thread setup_hangar_notetracks(); + thread set_up_tank_exit_anims(); + thread lab_exfil_detonate_anims(); +} + +//Function Number: 6 +launch_loops() +{ + if(level.currentgen && !istransientloaded("lab_intro_audio_tr")) + { + return; + } + + common_scripts\utility::loop_fx_sound("heli_fire_lrg_lp",(-11258,-1660,3),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("grass_fire_lp_03",(-10123,-1664,27),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("grass_fire_lp_01",(-10501,-1636,-3),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("grass_fire_lp_03",(-10752,-1645,-12),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("grass_fire_lp_02",(-10609,-1506,-17),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_waterfall_sml_lp_lyr_01",(-9813,3497,-389),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_foliage_lp",(-9481,4846,44),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_foliage_lp",(-8584,4722,-42),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_foliage_lp",(-8855,5311,-5),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_clearing_foliage_lp",(-15543,9251,536),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_clearing_foliage_lp",(-14812,8798,337),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_clearing_foliage_lp",(-15012,8733,576),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_clearing_foliage_lp",(-15122,9460,105),1,"aud_stop_intro"); + if(level.currentgen) + { + level waittill("tff_pre_intro_audio_to_middle"); + level notify("aud_stop_intro"); + } +} + +//Function Number: 7 +launch_line_emitters() +{ + if(level.currentgen && !istransientloaded("lab_intro_audio_tr")) + { + return; + } + + wait(0.1); + thread soundscripts\_audio::aud_play_line_emitter("stream_lab_01","lab_stream_flow_line_lp",(-12585,15542,-1447),(-12820,15320,-1447),undefined,0); + thread soundscripts\_audio::aud_play_line_emitter("stream_lab_02","lab_stream_flow_line_lp",(-12190,15632,-1447),(-12665,15609,-1447),undefined,0); + thread soundscripts\_audio::aud_play_line_emitter("stream_lab_03","lab_stream_drain",(-11757,15774,-1440),(-12070,15703,-1447),undefined,0); + thread soundscripts\_audio::aud_play_line_emitter("stream_lab_04","lab_stream_flow_lp",(-12820,15327,-1440),(-13022,15115,-1440),undefined,0); + if(level.currentgen) + { + level waittill("tff_pre_intro_audio_to_middle"); + soundscripts\_audio::aud_stop_line_emitter("stream_lab_01"); + soundscripts\_audio::aud_stop_line_emitter("stream_lab_02"); + soundscripts\_audio::aud_stop_line_emitter("stream_lab_03"); + soundscripts\_audio::aud_stop_line_emitter("stream_lab_04"); + } +} + +//Function Number: 8 +aud_handle_river_sfx() +{ + if(level.currentgen && !istransientloaded("lab_intro_audio_tr")) + { + return; + } + + var_00 = (-9716,3329,-502); + var_01 = (-7836,3283,-502); + thread soundscripts\_audio::aud_play_line_emitter("river_emitter","emt_river_lrg_lp_lyr_01",var_00,var_01); + if(level.currentgen) + { + level waittill("tff_pre_intro_audio_to_middle"); + soundscripts\_audio::aud_stop_line_emitter("river_emitter"); + } +} + +//Function Number: 9 +create_level_envelop_arrays() +{ + level.aud.envs = []; + level.aud.envs["example_envelop"] = [[0,0],[0.082,0.426],[0.238,0.736],[0.408,0.844],[0.756,0.953],[1,1]]; + level.aud.envs["snipe_report_volume"] = [[700,0.6],[900,0.7],[1150,0.8],[1350,0.9],[1600,1]]; + level.aud.envs["snipe_report_delay"] = [[750,0],[900,0],[1200,0.1],[1600,0.2],[1800,0.3]]; + level.aud.envs["player_speed_to_music_vol"] = [[0,0],[10,1]]; + level.aud.envs["dog_bark_percentage"] = [[0,0],[0.5,0],[17,100]]; +} + +//Function Number: 10 +init_level_arrays() +{ + level.aud.sniper = []; + level.aud.sniper["surfaces"] = ["dirt","wood","water","grass"]; +} + +//Function Number: 11 +precache_presets() +{ +} + +//Function Number: 12 +register_snd_messages() +{ + soundscripts\_snd::snd_register_message("snd_zone_handler",::zone_handler); + soundscripts\_snd::snd_register_message("snd_music_handler",::music_handler); + soundscripts\_snd::snd_register_message("start_crash",::start_crash); + soundscripts\_snd::snd_register_message("start_forest",::start_forest); + soundscripts\_snd::snd_register_message("start_forest_takedown",::start_forest_takedown); + soundscripts\_snd::snd_register_message("start_logging_road",::start_logging_road); + soundscripts\_snd::snd_register_message("start_mech_march",::start_mech_march); + soundscripts\_snd::snd_register_message("start_cliff_rappel",::start_cliff_rappel); + soundscripts\_snd::snd_register_message("start_facility_breach",::start_facility_breach); + soundscripts\_snd::snd_register_message("start_server_room",::start_server_room); + soundscripts\_snd::snd_register_message("start_research_facility_bridge",::start_research_facility_bridge); + soundscripts\_snd::snd_register_message("start_foam_room",::start_foam_room); + soundscripts\_snd::snd_register_message("start_courtyard",::start_courtyard); + soundscripts\_snd::snd_register_message("start_courtyard_jammer",::start_courtyard_jammer); + soundscripts\_snd::snd_register_message("start_tank_hangar",::start_tank_hangar); + soundscripts\_snd::snd_register_message("start_tank_board",::start_tank_board); + soundscripts\_snd::snd_register_message("start_tank_road",::start_tank_road); + soundscripts\_snd::snd_register_message("start_tank_field",::start_tank_field); + soundscripts\_snd::snd_register_message("start_exfil",::start_exfil); + soundscripts\_snd::snd_register_message("aud_lab_intro_screen",::aud_lab_intro_screen); + soundscripts\_snd::snd_register_message("aud_helo_spotlight_spawn",::aud_helo_spotlight_spawn); + soundscripts\_snd::snd_register_message("aud_burke_intro_anim",::aud_burke_intro_anim); + soundscripts\_snd::snd_register_message("hud_malfunction",::hud_malfunction); + soundscripts\_snd::snd_register_message("player_reaches_shack",::player_reaches_shack); + soundscripts\_snd::snd_register_message("chopper_sniper_shot",::chopper_sniper_shot); + soundscripts\_snd::snd_register_message("aud_shack_explode_whizby",::aud_shack_explode_whizby); + soundscripts\_snd::snd_register_message("aud_shack_explode",::aud_shack_explode); + soundscripts\_snd::snd_register_message("aud_burke_stumble_run",::aud_burke_stumble_run); + soundscripts\_snd::snd_register_message("aud_burke_step_over_log",::aud_burke_step_over_log); + soundscripts\_snd::snd_register_message("aud_burke_tree_cover_01",::aud_burke_tree_cover_01); + soundscripts\_snd::snd_register_message("aud_burke_stumble_knee",::aud_burke_stumble_knee); + soundscripts\_snd::snd_register_message("burke_hill_slide",::burke_hill_slide); + soundscripts\_snd::snd_register_message("aud_player_hill_slide",::aud_player_hill_slide); + soundscripts\_snd::snd_register_message("aud_burke_hill_slide_stump",::aud_burke_hill_slide_stump); + soundscripts\_snd::snd_register_message("aud_burke_river_over_log",::aud_burke_river_over_log); + soundscripts\_snd::snd_register_message("forest_climb_wall_start",::forest_climb_wall_start); + soundscripts\_snd::snd_register_message("aud_burke_wall_climb",::aud_burke_wall_climb); + soundscripts\_snd::snd_register_message("aud_player_wall_climb_01",::aud_player_wall_climb_01); + soundscripts\_snd::snd_register_message("aud_player_wall_climb_02",::aud_player_wall_climb_02); + soundscripts\_snd::snd_register_message("aud_player_wall_climb_03",::aud_player_wall_climb_03); + soundscripts\_snd::snd_register_message("aud_player_wall_climb_04",::aud_player_wall_climb_04); + soundscripts\_snd::snd_register_message("aud_player_wall_climb_05",::aud_player_wall_climb_05); + soundscripts\_snd::snd_register_message("player_cloak_on",::player_cloak_on); + soundscripts\_snd::snd_register_message("wall_climb_cloak_activate",::wall_climb_cloak_activate); + soundscripts\_snd::snd_register_message("wall_climb_last_jump",::wall_climb_last_jump); + soundscripts\_snd::snd_register_message("burke_run_slide",::burke_run_slide); + soundscripts\_snd::snd_register_message("deer_foliage_rustle",::deer_sequence); + soundscripts\_snd::snd_register_message("random_dog_barks",::random_dog_barks); + soundscripts\_snd::snd_register_message("burke_slide_02",::burke_slide_02); + soundscripts\_snd::snd_register_message("player_forest_takedown",::player_forest_takedown); + soundscripts\_snd::snd_register_message("burke_forest_takedown",::burke_forest_takedown); + soundscripts\_snd::snd_register_message("takedown_01_complete",::takedown_01_complete); + soundscripts\_snd::snd_register_message("combat_forest_patrols_start",::combat_forest_patrols_start); + soundscripts\_snd::snd_register_message("flank_right_dialogue",::flank_right_dialogue); + soundscripts\_snd::snd_register_message("gaz_01_dist_by",::gaz_01_dist_by); + soundscripts\_snd::snd_register_message("gaz_02_dist_by",::gaz_02_dist_by); + soundscripts\_snd::snd_register_message("gaz_03_close_by",::gaz_03_close_by); + soundscripts\_snd::snd_register_message("burke_solo_takedown",::burke_solo_takedown); + soundscripts\_snd::snd_register_message("aud_vrap_mute_start",::aud_vrap_mute_start); + soundscripts\_snd::snd_register_message("lab_brk_illtakedriver",::lab_brk_illtakedriver); + soundscripts\_snd::snd_register_message("truck_takedown_radio",::truck_takedown_radio); + soundscripts\_snd::snd_register_message("truck_takedown",::truck_takedown); + soundscripts\_snd::snd_register_message("takedown_truck_lights_off",::takedown_truck_lights_off); + soundscripts\_snd::snd_register_message("vehicle_takedown_01_complete",::vehicle_takedown_01_complete); + soundscripts\_snd::snd_register_message("aud_patrol_helo_debris_sfx",::aud_patrol_helo_debris_sfx); + soundscripts\_snd::snd_register_message("gaz_04_slow_by",::gaz_04_slow_by); + soundscripts\_snd::snd_register_message("gaz_05_slow_by",::gaz_05_slow_by); + soundscripts\_snd::snd_register_message("forest_mech_spawn",::forest_mech_spawn); + soundscripts\_snd::snd_register_message("skr_distant_pull_up_and_scan",::skr_distant_pull_up_and_scan); + soundscripts\_snd::snd_register_message("start_seeker_audio",::start_seeker_audio); + soundscripts\_snd::snd_register_message("start_fixed_scanner_audio",::start_fixed_scanner_audio); + soundscripts\_snd::snd_register_message("seeker_clear",::seeker_clear); + soundscripts\_snd::snd_register_message("aud_burke_nearing_cliff",::aud_burke_nearing_cliff); + soundscripts\_snd::snd_register_message("aud_rappel_player_hookup",::aud_rappel_player_hookup); + soundscripts\_snd::snd_register_message("aud_rappel_player_movement_start",::aud_rappel_player_movement_start); + soundscripts\_snd::snd_register_message("aud_rappel_player_movement_stop",::aud_rappel_player_movement_stop); + soundscripts\_snd::snd_register_message("player_rappel_complete",::aud_player_rappel_complete); + soundscripts\_snd::snd_register_message("lab_mute_gun_holster",::lab_mute_gun_holster); + soundscripts\_snd::snd_register_message("aud_facility_breach_start",::aud_facility_breach_start); + soundscripts\_snd::snd_register_message("aud_lab_ambient_emitters",::aud_lab_ambient_emitters); + soundscripts\_snd::snd_register_message("begin_pcap_vo_lab_serverroom_cormack",::begin_pcap_vo_lab_serverroom_cormack); + soundscripts\_snd::snd_register_message("open_server_room_door",::open_server_room_door); + soundscripts\_snd::snd_register_message("aud_server_room_door_crack",::aud_server_room_door_crack); + soundscripts\_snd::snd_register_message("aud_server_room_door_kick",::aud_server_room_door_kick); + soundscripts\_snd::snd_register_message("aud_server_room_door_enter",::aud_server_room_door_enter); + soundscripts\_snd::snd_register_message("aud_player_computer_gl_timing_fix",::aud_player_computer_gl_timing_fix); + soundscripts\_snd::snd_register_message("research_building_combat_complete",::research_building_combat_complete); + soundscripts\_snd::snd_register_message("aud_foam_room_emitters",::aud_foam_room_emitters); + soundscripts\_snd::snd_register_message("foam_room_crmk_plant_these_frvs",::foam_room_crmk_plant_these_frvs); + soundscripts\_snd::snd_register_message("neutralize_bio_weapons_complete",::neutralize_bio_weapons_complete); + soundscripts\_snd::snd_register_message("player_plant_frb",::player_plant_frb); + soundscripts\_snd::snd_register_message("foam_room_door_close",::foam_room_door_close); + soundscripts\_snd::snd_register_message("door2courtyard_open",::door2courtyard_open); + soundscripts\_snd::snd_register_message("foam_room_complete_dialogue",::foam_room_complete_dialogue); + soundscripts\_snd::snd_register_message("aud_ctyard_vrap01",::aud_ctyard_vrap01); + soundscripts\_snd::snd_register_message("aud_ctyard_vrap02",::aud_ctyard_vrap02); + soundscripts\_snd::snd_register_message("aud_ctyard_vrap04",::aud_ctyard_vrap04); + soundscripts\_snd::snd_register_message("aud_ctyard_vrap05",::aud_ctyard_vrap05); + soundscripts\_snd::snd_register_message("courtyard_hangar_mech_01_spawned",::courtyard_hangar_mech_01_spawned); + soundscripts\_snd::snd_register_message("courtyard_door_hack_start_dialogue",::courtyard_door_hack_start_dialogue); + soundscripts\_snd::snd_register_message("courtyard_start_dish",::courtyard_start_dish); + soundscripts\_snd::snd_register_message("courtyard_defend_start",::courtyard_defend_start); + soundscripts\_snd::snd_register_message("courtyard_end_jammer",::courtyard_end_jammer); + soundscripts\_snd::snd_register_message("aud_courtyard_hangar_door_close",::aud_courtyard_hangar_door_close); + soundscripts\_snd::snd_register_message("aud_courtyard_hangar_door_hack",::aud_courtyard_hangar_door_hack); + soundscripts\_snd::snd_register_message("aud_courtyard_hangar_door_hack_idle",::aud_courtyard_hangar_door_hack_idle); + soundscripts\_snd::snd_register_message("aud_courtyard_hangar_door_open",::aud_courtyard_hangar_door_open); + soundscripts\_snd::snd_register_message("courtyard_hangar_door_close_rpg",::courtyard_hangar_door_close_rpg); + soundscripts\_snd::snd_register_message("aud_post_courtyard_emitters",::aud_post_courtyard_emitters); + soundscripts\_snd::snd_register_message("current_gen_hangar_door_open",::current_gen_hangar_door_open); + soundscripts\_snd::snd_register_message("hangar_lights_on",::hangar_lights_on); + soundscripts\_snd::snd_register_message("hover_tank_startup_sequence",::hover_tank_startup_sequence); + soundscripts\_snd::snd_register_message("hovertank_enter",::hovertank_enter); + soundscripts\_snd::snd_register_message("aud_player_gets_in_tank",::aud_player_gets_in_tank); + soundscripts\_snd::snd_register_message("aud_impact_system_hovertank",::aud_impact_system_hovertank); + soundscripts\_snd::snd_register_message("aud_tank_section_vehicles_spawned",::aud_tank_section_vehicles_spawned); + soundscripts\_snd::snd_register_message("boxtruck_explode",::boxtruck_explode); + soundscripts\_snd::snd_register_message("warbird_emp_death",::warbird_emp_death); + soundscripts\_snd::snd_register_message("log_pile_collapse",::log_pile_collapse); + soundscripts\_snd::snd_register_message("tank_shack_destruct",::tank_shack_destruct); + soundscripts\_snd::snd_register_message("tank_disabled",::tank_disabled); + soundscripts\_snd::snd_register_message("tank_exit",::tank_exit); + soundscripts\_snd::snd_register_message("lab_exfil_missile_strike",::lab_exfil_missile_strike); + soundscripts\_snd::snd_register_message("razorback_land",::razorback_land); + soundscripts\_snd::snd_register_message("tank_exfil_charges",::tank_exfil_charges_going_off); + soundscripts\_snd::snd_register_message("tank_exfil_detonate",::tank_exfil_detonate); + soundscripts\_snd::snd_register_message("lab_e3_end_logo",::lab_e3_end_logo); + soundscripts\_snd::snd_register_message("aud_start_exfil_foley",::aud_start_exfil_foley); + soundscripts\_snd::snd_register_message("e3_demo_fade_out",::e3_demo_fade_out); + soundscripts\_snd::snd_register_message("e3_demo_clear_alarm",::e3_demo_clear_alarm); + soundscripts\_snd::snd_register_message("e3_demo_fade_in",::e3_demo_fade_in); +} + +//Function Number: 13 +zone_handler(param_00,param_01) +{ + var_02 = ""; + var_03 = ""; + if(getsubstr(param_00,0,6) == "enter_") + { + var_02 = param_01; + } + else if(getsubstr(param_00,0,5) == "exit_") + { + var_03 = param_01; + } + + switch(param_00) + { + case "enter_lab_ext_forest_ent": + if(var_02 == "lab_ext_field") + { + level.aud.in_river = 1; + level.aud.opening_run = 0; + soundscripts\_audio_mix_manager::mm_clear_submix("lab_opening_chase"); + } + else if(var_02 == "lab_ext_forest_ent") + { + level.aud.in_river = 1; + } + break; + + case "exit_lab_ext_forest_ent": + if(var_03 == "lab_ext_field") + { + level.aud.in_river = 0; + } + else if(var_03 == "lab_ext_forest_ent") + { + level.aud.in_river = 0; + } + break; + + case "exit_lab_ext_smoking_balcony": + level notify("stop_courtyard_alarms"); + soundscripts\_snd_filters::snd_fade_out_filter(0.5); + break; + } +} + +//Function Number: 14 +music(param_00,param_01) +{ + thread music_handler(param_00,param_01); +} + +//Function Number: 15 +music_handler(param_00,param_01) +{ + level notify("exit_music_thread"); + level endon("exit_music_thread"); + var_02 = 0.75; + var_03 = 0.4; + var_04 = 0.95; + var_05 = 0.5; + var_06 = 0.4; + var_07 = 0.3; + var_08 = 0.7; + var_09 = 0.45; + switch(param_00) + { + case "mus_lab_intro_black_done": + soundscripts\_audio::aud_set_music_submix(var_02); + wait(5.5); + soundscripts\_audio_music::mus_play("mus_lab_intro_lp",0.6); + break; + + case "player_cloak_on": + soundscripts\_audio_music::mus_play("mus_lab_intro_end",0.1,1); + break; + + case "mus_forest_stealth": + break; + + case "flank_right_dialogue": + break; + + case "lab_brk_illtakedriver": + soundscripts\_audio_music::mus_stop(8); + break; + + case "vehicle_takedown_01_complete": + break; + + case "mus_forest_mech_march": + soundscripts\_audio_mix_manager::mm_add_submix("lab_mech_march",1.5); + mus_submixer("off"); + soundscripts\_audio::aud_set_music_submix(var_04,2.5); + soundscripts\_audio_music::mus_play("mus_forest_mech_march",0,2); + wait(1); + wait(17); + soundscripts\_audio::aud_set_music_submix(0,14); + soundscripts\_audio_mix_manager::mm_clear_submix("lab_mech_march",4); + break; + + case "seeker_clear": + soundscripts\_audio_music::mus_stop(15); + break; + + case "begin_pcap_vo_lab_serverroom_cormack": + mus_submixer("off"); + soundscripts\_audio::aud_set_music_submix(0.1); + soundscripts\_audio_music::mus_play("mus_lab_combat1_intro",0.2); + wait(0.1); + soundscripts\_audio::aud_set_music_submix(var_05,45); + break; + + case "open_server_room_door": + soundscripts\_audio_music::mus_play("mus_lab_combat1_body",0,4); + soundscripts\_audio::aud_set_music_submix(var_05,2); + wait(128); + soundscripts\_audio_music::mus_play("mus_lab_combat1_vamp1",0,4); + break; + + case "research_building_combat_complete": + soundscripts\_audio::aud_set_music_submix(var_05,2); + soundscripts\_audio_music::mus_play("mus_lab_combat1_vamp2",0,1); + break; + + case "foam_room_crmk_plant_these_frvs": + soundscripts\_audio::aud_set_music_submix(var_05,2); + soundscripts\_audio_music::mus_play("mus_lab_combat1_vamp3",1,1); + wait(0.1); + soundscripts\_audio::aud_set_music_submix(0.2,2); + break; + + case "neutralize_bio_weapons_complete": + soundscripts\_audio::aud_set_music_submix(var_05,2); + soundscripts\_audio_music::mus_play("mus_lab_combat1_end",0,0.5); + break; + + case "begin_courtyard_combat": + soundscripts\_audio_mix_manager::mm_add_submix("lab_courtyard_quads_low",10); + soundscripts\_audio::aud_set_music_submix(var_06,1); + soundscripts\_audio_music::mus_play("mus_lab_combat2_lp",10); + break; + + case "pre_mech_vrap": + soundscripts\_audio_mix_manager::mm_clear_submix("lab_courtyard_quads_low",3); + soundscripts\_audio::aud_set_music_submix(0.1,5); + wait(2); + soundscripts\_audio_music::mus_play("mus_lab_combat2_end",1,1); + break; + + case "courtyard_hangar_mech_01_spawned": + soundscripts\_audio_mix_manager::mm_add_submix("lab_courtyard_quads_low",3); + soundscripts\_audio_mix_manager::mm_add_submix("lab_courtyard_alarms_low",3); + soundscripts\_audio::aud_set_music_submix(var_08,0); + soundscripts\_audio_music::mus_play("mus_lab_courtyard_ast1",0); + break; + + case "courtyard_door_hack_start_dialogue": + soundscripts\_audio_mix_manager::mm_clear_submix("lab_courtyard_quads_low",5); + soundscripts\_audio_mix_manager::mm_clear_submix("lab_courtyard_alarms_low",5); + soundscripts\_audio_music::mus_stop(5); + wait(1); + soundscripts\_audio::aud_set_music_submix(var_06,10); + soundscripts\_audio_music::mus_play("mus_lab_combat3_lp",10); + break; + + case "courtyard_defend_start": + break; + + case "courtyard_hangar_door_close": + soundscripts\_audio::aud_set_music_submix(var_07,1); + soundscripts\_audio_music::mus_play("mus_lab_combat3_end",0,1); + break; + + case "tank_reveal": + soundscripts\_audio::aud_set_music_submix(0.6,0.5); + soundscripts\_audio_music::mus_play("mus_lab_tank_reveal",0); + wait(8); + soundscripts\_audio::aud_set_music_submix(0.4,3); + break; + + case "hover_tank_startup": + break; + + case "begin_tank_combat": + soundscripts\_audio::aud_set_music_submix(var_09,0); + soundscripts\_audio_music::mus_play("mus_lab_tank_combat",0); + break; + + case "end_tank_combat": + soundscripts\_audio_music::mus_stop(5); + break; + + case "lab_finale": + soundscripts\_audio::aud_set_music_submix(0.6,0.1); + wait(0.1); + soundscripts\_audio_music::mus_play("mus_lab_finale",5); + break; + + default: + if(getdvarint("snd_validate_music_messages")) + { + } + break; + } +} + +//Function Number: 16 +mus_submixer(param_00,param_01) +{ + param_00 = soundscripts\_audio::aud_get_optional_param("on",param_00); + param_01 = soundscripts\_audio::aud_get_optional_param(1,param_01); + if(param_00 == "off") + { + level notify("kill_mus_submixer"); + return; + } + + thread mus_submixer_thread(param_01); +} + +//Function Number: 17 +mus_submixer_thread(param_00) +{ + level notify("kill_mus_submixer"); + level endon("kill_mus_submixer"); + var_01 = 0.25; + var_02 = 0.1; + var_03 = 0.02; + var_04 = 0; + var_05 = 17.6; + for(;;) + { + var_06 = length(level.player getvelocity()) / var_05; + if(getdvarint("print_player_speed")) + { + iprintln(var_06); + } + + if(var_06 > var_04) + { + var_07 = var_02; + } + else + { + var_07 = var_03; + } + + var_04 = var_04 + var_07 * var_06 - var_04; + var_08 = piecewiselinearlookup(var_04,level.aud.envs["player_speed_to_music_vol"]); + soundscripts\_audio::aud_set_music_submix(var_08 * param_00,var_01); + wait(var_01); + } +} + +//Function Number: 18 +start_crash() +{ + soundscripts\_audio_zone_manager::azm_start_zone("lab_ext_field",1); + soundscripts\_audio_mix_manager::mm_add_submix("lab_intro_black"); + wait(0.05); + soundscripts\_audio_mix_manager::mm_add_submix("lab_heli_sniper"); + level.aud.opening_run = 1; + soundscripts\_audio_mix_manager::mm_add_submix("lab_opening_chase"); +} + +//Function Number: 19 +start_forest() +{ + soundscripts\_audio_zone_manager::azm_start_zone("lab_ext_forest_ent",1); + music("mus_lab_intro_black_done"); +} + +//Function Number: 20 +start_forest_takedown() +{ + soundscripts\_audio_zone_manager::azm_start_zone("lab_ext_forest",1); + common_scripts\utility::flag_set("snd_cloak_is_enabled"); +} + +//Function Number: 21 +start_logging_road() +{ + soundscripts\_audio_zone_manager::azm_start_zone("lab_ext_forest",1); + common_scripts\utility::flag_set("snd_cloak_is_enabled"); +} + +//Function Number: 22 +start_mech_march() +{ + soundscripts\_audio_zone_manager::azm_start_zone("lab_ext_forest",1); + common_scripts\utility::flag_set("snd_cloak_is_enabled"); +} + +//Function Number: 23 +start_cliff_rappel() +{ + soundscripts\_audio_zone_manager::azm_start_zone("lab_ext_forest",1); +} + +//Function Number: 24 +start_facility_breach() +{ + soundscripts\_audio_zone_manager::azm_start_zone("lab_ext_infil",1); +} + +//Function Number: 25 +start_server_room() +{ + soundscripts\_audio_zone_manager::azm_start_zone("lab_int_main",1); + thread aud_lab_ambient_emitters(); +} + +//Function Number: 26 +start_research_facility_bridge() +{ + soundscripts\_audio_zone_manager::azm_start_zone("lab_int_main",1); + music("open_server_room_door"); + start_interior_alarms(); +} + +//Function Number: 27 +start_foam_room() +{ + soundscripts\_audio_zone_manager::azm_start_zone("lab_int_main",1); + music("research_building_combat_complete"); + soundscripts\_audio_mix_manager::mm_add_submix("lab_neutralize_bio_weapons_complete",1); + start_interior_alarms(); + thread aud_foam_room_emitters(); +} + +//Function Number: 28 +start_courtyard() +{ + soundscripts\_audio_zone_manager::azm_start_zone("lab_int_main",1); + soundscripts\_audio_mix_manager::mm_add_submix("lab_neutralize_bio_weapons_complete",1); + thread aud_foam_room_emitters(); + start_interior_alarms(); + courtyard_start_dish(); +} + +//Function Number: 29 +start_courtyard_jammer(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("lab_int_main",1); + music("courtyard_door_hack_start_dialogue"); + start_courtyard_alarms(); +} + +//Function Number: 30 +start_tank_hangar() +{ + soundscripts\_audio_zone_manager::azm_start_zone("lab_int_main",1); + thread aud_post_courtyard_emitters(); + start_post_courtyard_interior_alarms(); +} + +//Function Number: 31 +start_tank_board() +{ + soundscripts\_audio_zone_manager::azm_start_zone("lab_int_tank_hangar",1); + thread tank_checkpoint_engine(); +} + +//Function Number: 32 +tank_checkpoint_engine() +{ + var_00 = spawn("script_origin",(-12771,9352,-1203)); + var_00 soundscripts\_snd_playsound::snd_play_loop("ht_startup_engine_loop"); + level waittill("kill_tank_startup_loop"); + wait(4.8); + soundscripts\_audio::aud_fade_loop_out_and_delete(var_00,4); +} + +//Function Number: 33 +start_tank_road() +{ + tank_screens_boot_up(); + soundscripts\_audio_mix_manager::mm_add_submix("tank_battle",0.25); + soundscripts\_snd::snd_music_message("begin_tank_combat"); +} + +//Function Number: 34 +start_tank_field() +{ + soundscripts\_audio_zone_manager::azm_start_zone("lab_int_tank",1); + tank_screens_boot_up(); + soundscripts\_audio_mix_manager::mm_add_submix("tank_battle",0.25); + soundscripts\_snd::snd_music_message("begin_tank_combat"); +} + +//Function Number: 35 +start_exfil() +{ + soundscripts\_audio_zone_manager::azm_start_zone("lab_ext_field",1); + soundscripts\_audio_mix_manager::mm_add_submix("tank_battle",0.25); +} + +//Function Number: 36 +aud_lab_intro_screen() +{ + wait(0.5); + thread aud_introblack_bullet("right"); + soundscripts\_snd_playsound::snd_play_2d("lab_introblack_breathing"); + soundscripts\_snd_playsound::snd_play_delayed_2d("lab_introblack_gearfoley",3); + wait(1.5); + thread aud_introblack_bullet("left"); + wait(3); + thread aud_introblack_bullet("right"); + wait(3); + thread aud_introblack_bullet("left"); + wait(5.5); + soundscripts\_audio_mix_manager::mm_clear_submix("lab_intro_black",5); +} + +//Function Number: 37 +aud_introblack_bullet(param_00) +{ + var_01 = "left"; + if(isdefined(param_00)) + { + var_01 = param_00; + } + + soundscripts\_snd_playsound::snd_play_2d("lab_introblack_whizby"); + if(var_01 == "left") + { + soundscripts\_snd_playsound::snd_play_delayed_2d("lab_introblack_bullet_l",0.2); + return; + } + + soundscripts\_snd_playsound::snd_play_delayed_2d("lab_introblack_bullet_r",0.2); +} + +//Function Number: 38 +aud_burke_intro_anim() +{ + soundscripts\_snd_playsound::snd_play_2d("lab_introblack_helo_flyby_rears"); + soundscripts\_snd_playsound::snd_play_delayed_2d("lab_introblack_burke_trip",0.8); +} + +//Function Number: 39 +hud_malfunction() +{ + soundscripts\_snd::snd_music_message("mus_lab_intro_black_done"); +} + +//Function Number: 40 +player_reaches_shack() +{ + level notify("hud_malfunction_loop_stop"); +} + +//Function Number: 41 +aud_helo_spotlight_spawn() +{ + var_00 = self; +} + +//Function Number: 42 +chopper_sniper_shot(param_00,param_01) +{ + var_02 = param_00; + var_03 = param_01; + thread aud_chopper_sniper_whizby(var_02,var_03); + thread aud_chopper_sniper_bullet(var_02,var_03); + wait(0.5); + soundscripts\_snd_playsound::snd_play_at("helo_sniper_shot",var_02); + var_04 = distance(level.player.origin,var_02); + var_05 = soundscripts\_snd::snd_map(var_04,level.aud.envs["snipe_report_delay"]); + wait(var_05); + var_06 = soundscripts\_snd_playsound::snd_play_2d("helo_sniper_tail"); + var_07 = soundscripts\_snd::snd_map(var_04,level.aud.envs["snipe_report_volume"]); + var_06 scalevolume(var_07,0.05); +} + +//Function Number: 43 +aud_chopper_sniper_whizby(param_00,param_01) +{ + var_02 = soundscripts\_snd_playsound::snd_play_at("whizby_sniper",param_00); + var_02 moveto(param_01,0.2); +} + +//Function Number: 44 +aud_chopper_sniper_bullet(param_00,param_01) +{ + var_02 = param_01 - param_00 * 1.05 + param_00; + var_03 = bullettrace(param_00,var_02,0,level.helo_spotlight,0,0,0,1); + var_04 = var_03["surfacetype"]; + if(var_04 == "none") + { + var_04 = "dirt"; + } + + if(!soundscripts\_snd_common::snd_is_valid_surface(var_04,level.aud.sniper["surfaces"])) + { + var_04 = "dirt"; + } + + if(var_04 == "water") + { + return; + } + + var_05 = "bullet_sniper_" + var_04; + wait(0.2); + soundscripts\_snd_playsound::snd_play_at(var_05,param_01); +} + +//Function Number: 45 +aud_shack_explode_whizby() +{ + soundscripts\_audio_mix_manager::mm_add_submix("lab_shack_explode"); + level.burke soundscripts\_snd_playsound::snd_play_linked("lab_shack_explode_whizby"); +} + +//Function Number: 46 +aud_shack_explode(param_00) +{ + var_01 = level.burke soundscripts\_snd_playsound::snd_play_linked("lab_shack_explode_impact"); + var_01 waittill("sounddone"); + soundscripts\_audio_mix_manager::mm_clear_submix("lab_shack_explode"); +} + +//Function Number: 47 +aud_burke_stumble_run() +{ +} + +//Function Number: 48 +aud_burke_step_over_log() +{ +} + +//Function Number: 49 +aud_burke_tree_cover_01() +{ + soundscripts\_audio_mix_manager::mm_add_submix("lab_hill_slide",0.05); +} + +//Function Number: 50 +aud_burke_stumble_knee() +{ + soundscripts\_audio_mix_manager::mm_add_submix("lab_hill_slide",0.05); +} + +//Function Number: 51 +burke_hill_slide(param_00) +{ + if(param_00 == "anim_01") + { + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("hill_slide_burke_fence",0); + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("hill_slide_burke",1.8); + return; + } + + if(param_00 == "anim_02") + { + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("hill_slide_burke",0.25); + } +} + +//Function Number: 52 +aud_player_hill_slide() +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("hill_slide_log_grab",0.45); + soundscripts\_snd_playsound::snd_play_delayed_2d("hill_slide_main",1.6); + wait(7); + soundscripts\_audio_mix_manager::mm_clear_submix("lab_hill_slide"); +} + +//Function Number: 53 +aud_burke_hill_slide_stump() +{ + soundscripts\_audio_mix_manager::mm_add_submix("lab_river",0.05); +} + +//Function Number: 54 +aud_burke_river_over_log() +{ + soundscripts\_audio_mix_manager::mm_add_submix("lab_river_foley",0.05); +} + +//Function Number: 55 +setup_burke_river_cross_notetracks() +{ + if(level.currentgen && !istransientloaded("lab_intro_tr")) + { + return; + } + + maps\_anim::addnotetrack_customfunction("burke","aud_burke_water_jump",::aud_burke_water_jump,"burke_river_cross"); + maps\_anim::addnotetrack_customfunction("burke","aud_burke_water_enter",::aud_burke_water_enter,"burke_river_cross"); + maps\_anim::addnotetrack_customfunction("burke","aud_burke_water_deep_step",::aud_burke_water_deep_step,"burke_river_cross"); + maps\_anim::addnotetrack_customfunction("burke","aud_burke_water_slip",::aud_burke_water_slip,"burke_river_cross"); + maps\_anim::addnotetrack_customfunction("burke","aud_burke_water_fall_forward",::aud_burke_water_fall_forward,"burke_river_cross"); + maps\_anim::addnotetrack_customfunction("burke","aud_burke_water_shallow_step",::aud_burke_water_shallow_step,"burke_river_cross"); + maps\_anim::addnotetrack_customfunction("burke","aud_burke_water_exit",::aud_burke_water_exit,"burke_river_cross"); + maps\_anim::addnotetrack_customfunction("burke","aud_burke_water_footstep_left",::aud_burke_water_footstep_left,"burke_river_cross"); + maps\_anim::addnotetrack_customfunction("burke","aud_burke_water_footstep_right",::aud_burke_water_footstep_right,"burke_river_cross"); + maps\_anim::addnotetrack_customfunction("burke","aud_burke_riverbank_footstep_left",::aud_burke_riverbank_footstep_left,"burke_river_cross"); + maps\_anim::addnotetrack_customfunction("burke","aud_burke_riverbank_footstep_right",::aud_burke_riverbank_footstep_right,"burke_river_cross"); + maps\_anim::addnotetrack_customfunction("burke","aud_burke_riverbank_slide",::aud_burke_riverbank_slide,"burke_river_to_tree"); +} + +//Function Number: 56 +aud_handle_river_progress_flags() +{ + common_scripts\utility::flag_wait("aud_player_entering_river"); + var_00 = length(level.player getvelocity()); + if(var_00 > 275) + { + soundscripts\_snd_playsound::snd_play_2d("river_player_splash_hvy"); + } +} + +//Function Number: 57 +aud_burke_water_jump(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("river_burke_splash",0.4); +} + +//Function Number: 58 +aud_burke_water_enter(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("river_burke_movement"); +} + +//Function Number: 59 +aud_burke_water_deep_step(param_00) +{ +} + +//Function Number: 60 +aud_burke_water_slip(param_00) +{ +} + +//Function Number: 61 +aud_burke_water_fall_forward(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("river_burke_fall_forward"); +} + +//Function Number: 62 +aud_burke_water_shallow_step(param_00) +{ +} + +//Function Number: 63 +aud_burke_water_exit(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("river_burke_water_exit"); +} + +//Function Number: 64 +aud_burke_water_footstep_left(param_00) +{ +} + +//Function Number: 65 +aud_burke_water_footstep_right(param_00) +{ +} + +//Function Number: 66 +aud_burke_riverbank_footstep_left(param_00) +{ +} + +//Function Number: 67 +aud_burke_riverbank_footstep_right(param_00) +{ +} + +//Function Number: 68 +aud_burke_riverbank_slide(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lab_burke_slide_01"); +} + +//Function Number: 69 +aud_handle_river_shallow_flag() +{ + level endon("aud_river_complete"); + for(;;) + { + common_scripts\utility::flag_wait("aud_river_shallow_water"); + soundscripts\_audio_mix_manager::mm_add_submix("lab_river_shallow",1.5); + for(;;) + { + if(common_scripts\utility::flag("aud_river_shallow_water") == 0) + { + soundscripts\_audio_mix_manager::mm_clear_submix("lab_river_shallow",2); + break; + } + + wait(0.1); + } + + wait(0.1); + } +} + +//Function Number: 70 +forest_climb_wall_start() +{ +} + +//Function Number: 71 +aud_forest_ambient_loops() +{ + if(level.currentgen && !istransientloaded("lab_intro_audio_tr")) + { + return; + } + + var_00 = []; + var_01 = [(-8761,5374,-125),(-8171,4923,-229),(-7729,5360,-93),(-7793,4878,-125),(-8368,5757,-39),(-8334,6698,42),(-8796,7843,136),(-9307,9345,203),(-9401,7219,110),(-9920,6863,137),(-9604,6146,163),(-9039,6273,82),(-9948,6252,64),(-10676,5843,39),(-11209,6488,166),(-12571,6420,188),(-13202,5550,110),(-13626,5622,113),(-13478,6332,123),(-14324,6694,132),(-14855,7641,65),(-15099,8229,41)]; + foreach(var_03 in var_01) + { + var_00[var_00.size] = common_scripts\utility::play_loopsound_in_space("emt_crickets_lp",var_03); + } + + if(level.currentgen) + { + level waittill("tff_pre_intro_audio_to_middle"); + foreach(var_06 in var_00) + { + var_06 stoploopsound(); + var_06 delete(); + } + } +} + +//Function Number: 72 +aud_burke_wall_climb() +{ + soundscripts\_audio_mix_manager::mm_add_submix("lab_wall_climb_foley_mute"); + level.burke soundscripts\_snd_playsound::snd_play_linked("wall_climb_burke"); +} + +//Function Number: 73 +setup_gideon_climb_notetracks() +{ + if(level.currentgen && !istransientloaded("lab_intro_tr")) + { + return; + } + + maps\_anim::addnotetrack_customfunction("burke","gideon_wall_cloak_on",::gideon_wall_cloak_on,"burke_says_exo_is_on"); +} + +//Function Number: 74 +gideon_wall_cloak_on(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("wall_climb_burke_cloak_on"); +} + +//Function Number: 75 +aud_player_wall_climb_01() +{ + soundscripts\_audio_mix_manager::mm_add_submix("player_wall_climb",0.05); + soundscripts\_snd_playsound::snd_play_2d("wall_climb_player_01"); + wait(0.05); + level notify("aud_river_complete"); +} + +//Function Number: 76 +aud_player_wall_climb_02() +{ + soundscripts\_snd_playsound::snd_play_2d("wall_climb_player_02"); +} + +//Function Number: 77 +aud_player_wall_climb_03() +{ + soundscripts\_snd_playsound::snd_play_2d("wall_climb_player_03"); +} + +//Function Number: 78 +aud_player_wall_climb_04() +{ + soundscripts\_snd_playsound::snd_play_2d("wall_climb_player_04"); +} + +//Function Number: 79 +aud_player_wall_climb_05() +{ + soundscripts\_snd_playsound::snd_play_2d("wall_climb_player_05"); +} + +//Function Number: 80 +damb_animal_sfx_offset() +{ + level waittill("aud_wall_climb_done"); + soundscripts\_audio_zone_manager::azm_set_zone_dynamic_ambience("lab_ext_forest_ent","damb_ext_forest_animal",10); +} + +//Function Number: 81 +player_cloak_on() +{ + soundscripts\_snd::snd_music_message("player_cloak_on"); +} + +//Function Number: 82 +wall_climb_cloak_activate() +{ + soundscripts\_snd::snd_music_message("aud_player_wall_climb_end"); + soundscripts\_snd_playsound::snd_play_2d("wall_climb_cloak_panel"); + soundscripts\_snd_playsound::snd_play_2d("wall_climb_player_last_branch"); + level.player soundscripts\_snd_playsound::snd_play_delayed_linked("wall_climb_cloak_on",1,undefined,undefined,undefined,undefined,undefined,(0,50,50)); + soundscripts\_snd_playsound::snd_play_delayed_2d("wall_climb_cloak_on_wide",1.2); + soundscripts\_audio_mix_manager::mm_clear_submix("lab_heli_sniper"); +} + +//Function Number: 83 +wall_climb_last_jump() +{ + soundscripts\_snd_playsound::snd_play_2d("wall_climb_player_jump_to_top"); + wait(3); + soundscripts\_audio_mix_manager::mm_clear_submix("lab_river_foley",0.05); + soundscripts\_audio_mix_manager::mm_clear_submix("player_wall_climb",0.05); +} + +//Function Number: 84 +burke_run_slide() +{ + common_scripts\utility::flag_wait("flag_search_drone_burke_anim_start"); + wait(2.5); + level.burke soundscripts\_snd_playsound::snd_play_linked("burke_dodges_drone",undefined,undefined,undefined,undefined,(0,0,-10)); +} + +//Function Number: 85 +drone_turn(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("atlasdrn_turn"); +} + +//Function Number: 86 +drone_detect(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("atlasdrn_turn_02",0); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("atlasdrn_turn_03",1.33); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("atlasdrn_detect",2.23); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("atlasdrn_turn_04",7.63); +} + +//Function Number: 87 +setup_deer_notetracks() +{ + if(level.currentgen && !istransientloaded("lab_intro_tr")) + { + return; + } + + maps\_anim::addnotetrack_customfunction("search_drone","dronefirstturn",::drone_turn,"search_drone"); + maps\_anim::addnotetrack_customfunction("search_drone","droneturn",::drone_detect,"search_drone"); +} + +//Function Number: 88 +deer_sequence() +{ + var_00 = self; + soundscripts\_audio_mix_manager::mm_add_submix("deer_moment",0.05); + wait(16.5); + var_00 soundscripts\_snd_playsound::snd_play_linked("deer_foliage_rustle_01"); + wait(1.5); + var_00 soundscripts\_snd_playsound::snd_play_linked("deer_jumps_out"); + wait(0.25); + var_00 soundscripts\_snd_playsound::snd_play_linked("deer_runs_away"); + wait(4); + soundscripts\_audio_mix_manager::mm_clear_submix("deer_moment",0.05); + soundscripts\_audio_mix_manager::mm_clear_submix("lab_wall_climb_foley_mute"); +} + +//Function Number: 89 +random_dog_barks() +{ + level endon("dog_barks_stop"); + var_00 = (-8962,6119,25); + var_01 = (-8204,7556,118); + var_02 = (-7695,6451,67); + var_03 = (-7820,5647,-26); + var_04 = (-8618,5723,-26); + var_05 = [var_00,var_01,var_02,var_03,var_04]; + var_06 = 17.6; + for(;;) + { + var_07 = length(level.player getvelocity()) / var_06; + var_08 = soundscripts\_snd::snd_map(var_07,level.aud.envs["dog_bark_percentage"]); + if(soundscripts\_audio::aud_percent_chance(var_08)) + { + soundscripts\_snd_playsound::snd_play_at("guard_dog_distant",var_05[randomintrange(0,var_05.size)]); + } + + wait(1); + } +} + +//Function Number: 90 +burke_slide_02() +{ + level.burke soundscripts\_snd_playsound::snd_play_linked("lab_burke_slide_02",undefined,undefined,undefined,undefined,(0,0,-25)); +} + +//Function Number: 91 +setup_player_takedown_notetracks() +{ + if(level.currentgen && !istransientloaded("lab_intro_tr")) + { + return; + } + + maps\_anim::addnotetrack_customfunction("player_rig","plyr_forest_takedown_gun_wrestle",::plyr_forest_takedown_gun_wrestle,"forest_disarm"); + maps\_anim::addnotetrack_customfunction("player_rig","plyr_forest_takedown_punch",::plyr_forest_takedown_punch,"forest_disarm"); + maps\_anim::addnotetrack_customfunction("player_rig","plyr_forest_takedown_tree_slam",::plyr_forest_takedown_tree_slam,"forest_disarm"); +} + +//Function Number: 92 +plyr_forest_takedown_gun_wrestle(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("forest_takedown_player_grab"); +} + +//Function Number: 93 +plyr_forest_takedown_punch(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("forest_takedown_player_punch"); +} + +//Function Number: 94 +plyr_forest_takedown_tree_slam(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("forest_takedown_player_tree"); +} + +//Function Number: 95 +player_forest_takedown(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("forest_takedown",0.05); + soundscripts\_audio_mix_manager::mm_clear_submix("lab_river",0.05); + thread player_forest_takedown_bad_guy_left_vox(param_00); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("forest_takedown_bod_fall",4.85); +} + +//Function Number: 96 +player_forest_takedown_bad_guy_left_vox(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("lab_gr1_takedown1react1",0.5); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("lab_gr11_takedown1react2",0.95); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("lab_gr1_takedown1react3",2.15); +} + +//Function Number: 97 +burke_forest_takedown(param_00) +{ + thread player_forest_takedown_bad_guy_right_vox(param_00); + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("forest_takedown_burke_neck",5.8); + wait(9.25); + param_00 soundscripts\_snd_playsound::snd_play_linked("forest_takedown_burke_fall"); + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("forest_takedown_pickup_wpn",3.4,undefined,undefined,undefined,undefined,undefined,(0,0,-10)); + wait(2); + soundscripts\_audio_mix_manager::mm_clear_submix("forest_takedown"); +} + +//Function Number: 98 +player_forest_takedown_bad_guy_right_vox(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("lab_gr2_takedown2react1",6); +} + +//Function Number: 99 +takedown_01_complete() +{ +} + +//Function Number: 100 +combat_forest_patrols_start(param_00) +{ + level endon("patrol_radios_stop"); + for(;;) + { + var_01 = randomintrange(5,9); + var_02 = randomintrange(0,param_00.size); + var_03 = param_00[var_02]; + if(isdefined(var_03)) + { + var_03 soundscripts\_snd_playsound::snd_play_linked("random_patrol_radio"); + } + + wait(var_01); + } +} + +//Function Number: 101 +aud_patrol_helo_debris_sfx() +{ + var_00 = self; + var_01 = (0,0,-875); +} + +//Function Number: 102 +gaz_01_dist_by() +{ + var_00 = self; + var_00 soundscripts\_snd_playsound::snd_play_linked("gaz_01_dist_by"); + var_00 soundscripts\_snd_playsound::snd_play_delayed_linked("gaz_01_dist_bumps",7); +} + +//Function Number: 103 +gaz_02_dist_by() +{ + var_00 = self; + var_00 soundscripts\_snd_playsound::snd_play_delayed_linked("gaz_02_dist_by",7); +} + +//Function Number: 104 +gaz_03_close_by() +{ + var_00 = self; + var_00 soundscripts\_snd_playsound::snd_play_linked("gaz_03_close_by"); + var_00 soundscripts\_snd_playsound::snd_play_loop_linked("gaz_dirt_crush_lp","aud_stop_dirt_crush_lp"); + var_00 soundscripts\_snd_playsound::snd_play_loop_linked("gaz_bumps_lp","aud_stop_bumps_lp"); + if(level.currentgen) + { + level waittill("tff_pre_intro_audio_to_middle"); + level notify("aud_stop_dirt_crush_lp"); + } +} + +//Function Number: 105 +flank_right_dialogue() +{ + soundscripts\_snd::snd_music_message("flank_right_dialogue"); +} + +//Function Number: 106 +burke_solo_takedown(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("lab_stab_takedown_foley_mute"); + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("burke_solo_takedown_gunsling",0.5,undefined,undefined,undefined,undefined,undefined,(0,0,50)); + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("burke_solo_takedown",1.41,undefined,undefined,undefined,undefined,undefined,(0,0,50)); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("burke_solo_takedown_fall",3.01,undefined,undefined,undefined,undefined,undefined,(0,0,-25)); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("lab_gr3_takedown3react1",2.45); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("lab_gr3_takedown3react2",3.01); + maps\_utility::delaythread(4,::gideon_knife_takedown_unmute_foley); +} + +//Function Number: 107 +gideon_knife_takedown_unmute_foley() +{ + soundscripts\_audio_mix_manager::mm_clear_submix("lab_stab_takedown_foley_mute"); +} + +//Function Number: 108 +setup_npc_cloak_button_anims() +{ + if(level.currentgen && !istransientloaded("lab_intro_tr")) + { + return; + } + + maps\_anim::addnotetrack_customfunction("burke","crch_lft_npc_cloak_buttons",::crch_lft_npc_cloak_buttons,"cornercrouch_left_cloak_toggle"); + maps\_anim::addnotetrack_customfunction("burke","crch_rt_npc_cloak_buttons",::crch_rt_npc_cloak_buttons,"cornercrouch_right_cloak_toggle"); + maps\_anim::addnotetrack_customfunction("burke","crch_exp_npc_cloak_buttons",::crch_exp_npc_cloak_buttons,"crouch_exposed_cloak_toggle"); +} + +//Function Number: 109 +crch_lft_npc_cloak_buttons(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("burke_cloak_buttons_crouched"); +} + +//Function Number: 110 +crch_rt_npc_cloak_buttons(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("burke_cloak_buttons_crouched"); +} + +//Function Number: 111 +crch_exp_npc_cloak_buttons(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("burke_cloak_buttons_crouched"); +} + +//Function Number: 112 +lab_brk_illtakedriver() +{ + soundscripts\_snd::snd_music_message("lab_brk_illtakedriver"); + soundscripts\_audio_mix_manager::mm_add_submix("vehicle_takedown_vo_duck"); +} + +//Function Number: 113 +aud_vrap_mute_start(param_00,param_01) +{ + var_02 = self; + soundscripts\_snd_playsound::snd_play_delayed_2d("mute_device_activate",0.5); + wait(1.25); + soundscripts\_audio_mix_manager::mm_add_submix("lab_vrap_mute_device",0.05); + var_02 thread soundscripts\_snd_common::snd_mute_device("mute_device",param_00,param_00 + 250,param_01,"mute_device"); + var_02 thread aud_stop_vrap_mute_device(); +} + +//Function Number: 114 +aud_stop_vrap_mute_device() +{ + level waittill("aud_vehicle_takedown_complete"); + self notify("turn_off"); + soundscripts\_audio_mix_manager::mm_clear_submix("lab_vrap_mute_device",2); +} + +//Function Number: 115 +truck_takedown_radio(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("truck_takedown",0.05); + wait(3); + var_01 = param_00 soundscripts\_snd_playsound::snd_play_linked("truck_takedown_radio",undefined,undefined,undefined,undefined,(0,0,60)); + level waittill("kill_radio"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("lab_gr4_takedown4react1",0.8); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("lab_gr4_takedown4react2",2.1); + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("lab_gr5_takedown5react1",3.4); + wait(0.5); + if(isdefined(var_01)) + { + var_01 scalevolume(0,0.05); + } +} + +//Function Number: 116 +truck_takedown() +{ + thread truck_takedown_burke(); + level notify("kill_radio"); + soundscripts\_snd_playsound::snd_play_2d("truck_takedown_player"); + var_00 = spawn("script_origin",(-9001,7208,60)); + var_00 soundscripts\_snd_playsound::snd_play_delayed_linked("truck_player_door_close",7); + common_scripts\utility::flag_wait("truck_takedown_burke_done"); + soundscripts\_audio_mix_manager::mm_clear_submix("truck_takedown",0.05); +} + +//Function Number: 117 +truck_takedown_burke() +{ + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("truck_takedown_door_open",2,undefined,undefined,undefined,undefined,undefined,(0,0,50)); + wait(3.25); + level.burke soundscripts\_snd_playsound::snd_play_linked("truck_takedown_burke",undefined,undefined,undefined,undefined,(0,0,50)); + wait(2); + level notify("aud_vehicle_takedown_complete"); + wait(1.85); + var_00 = level.burke soundscripts\_snd_playsound::snd_play_linked("truck_takedown_door_close"); + while(isdefined(var_00)) + { + wait(0.5); + } + + common_scripts\utility::flag_set("truck_takedown_burke_done"); +} + +//Function Number: 118 +takedown_truck_lights_off() +{ + soundscripts\_snd_playsound::snd_play_at("truck_takedown_lights_off",(-8997,7138,70)); +} + +//Function Number: 119 +vehicle_takedown_01_complete() +{ + soundscripts\_snd::snd_music_message("vehicle_takedown_01_complete"); + soundscripts\_audio_mix_manager::mm_clear_submix("vehicle_takedown_vo_duck"); +} + +//Function Number: 120 +gaz_04_slow_by() +{ + var_00 = self; + var_00 soundscripts\_snd_playsound::snd_play_linked("gaz_04_slow_by"); + var_00 soundscripts\_snd_playsound::snd_play_loop_linked("gaz_dirt_crush_close_lp","aud_stop_dirt_crush_lp"); + var_00 soundscripts\_snd_playsound::snd_play_loop_linked("gaz_bumps_close_lp","aud_stop_bumps_lp"); + if(level.currentgen) + { + level waittill("tff_pre_intro_audio_to_middle"); + level notify("aud_stop_dirt_crush_lp"); + } +} + +//Function Number: 121 +gaz_05_slow_by() +{ + var_00 = self; + var_00 soundscripts\_snd_playsound::snd_play_delayed_linked("gaz_05_slow_by",10); + var_00 soundscripts\_snd_playsound::snd_play_loop_linked("gaz_dirt_crush_close_lp","aud_stop_dirt_crush_lp"); + var_00 soundscripts\_snd_playsound::snd_play_loop_linked("gaz_bumps_close_lp","aud_stop_bumps_lp"); + if(level.currentgen) + { + level waittill("tff_pre_intro_audio_to_middle"); + level notify("aud_stop_dirt_crush_lp"); + } +} + +//Function Number: 122 +forest_mech_spawn() +{ + wait(2.5); + soundscripts\_snd::snd_music_message("mus_forest_mech_march"); +} + +//Function Number: 123 +skr_distant_pull_up_and_scan() +{ + var_00 = self; + var_00 soundscripts\_snd_playsound::snd_play_linked("seeker_pullup_stop"); + var_00 soundscripts\_snd_playsound::snd_play_loop_linked("seeker_bumps_lp","aud_stop_bumps_lp"); + var_00 soundscripts\_snd_playsound::snd_play_delayed_linked("seeker_tire_skid",5.4); + wait(5); + level notify("aud_stop_bumps_lp"); +} + +//Function Number: 124 +start_seeker_audio() +{ + if(level.currentgen && !istransientloaded("lab_intro_audio_tr")) + { + return; + } + + var_00 = self; + var_01 = soundscripts\_snd_playsound::snd_play_loop_at("seeker_scan_lp",var_00.origin,"",0.4); + var_00 thread monitor_seeker_pos(var_01); + var_00 thread stop_seeker_audio(var_01); + if(level.currentgen) + { + level waittill("tff_pre_intro_audio_to_middle"); + var_01 soundscripts\_snd_playsound::snd_stop_sound(); + } +} + +//Function Number: 125 +stop_seeker_audio(param_00) +{ + self waittill("stop_seeker_audio"); + param_00 soundscripts\_snd_playsound::snd_stop_sound(); +} + +//Function Number: 126 +monitor_seeker_pos(param_00) +{ + var_01 = self; + var_01 endon("stop_seeker_audio"); + for(;;) + { + var_01 waittill("update_seeker_audio",var_02); + param_00.origin = var_02; + } +} + +//Function Number: 127 +start_fixed_scanner_audio() +{ + if(level.currentgen && !istransientloaded("lab_middle_tr")) + { + level waittill("tff_post_intro_to_middle"); + } + + var_00 = self; + var_01 = soundscripts\_snd::snd_new_guid(); + var_02 = "stop_scan_notify" + var_01; + var_03 = "stop_alert_notify" + var_01; + var_00 thread monitor_fixed_scanner_explode(var_02,var_03); + var_00 monitor_fixed_scanner(var_02,var_03); + level notify(var_02); + level notify(var_03); +} + +//Function Number: 128 +monitor_fixed_scanner(param_00,param_01) +{ + var_02 = self; + var_02 endon("stop_fixed_scanner_audio"); + var_02 endon("death"); + level endon("kill_all_scanner_audio"); + var_02 soundscripts\_snd_playsound::snd_play_loop_linked("fixed_camera_scan",param_00); + for(;;) + { + var_02 waittill("update_fixed_scanner_audio",var_03); + if(var_03) + { + level notify(param_00); + var_02 soundscripts\_snd_playsound::snd_play_loop_linked("fixed_camera_alert",param_01); + continue; + } + + level notify(param_01); + var_02 soundscripts\_snd_playsound::snd_play_loop_linked("fixed_camera_scan",param_00); + } +} + +//Function Number: 129 +monitor_fixed_scanner_explode(param_00,param_01) +{ + var_02 = self; + level endon("kill_all_scanner_audio"); + var_03 = var_02.origin; + var_02 common_scripts\utility::waittill_any("death","stop_fixed_scanner_audio"); + level notify(param_00); + level notify(param_01); + soundscripts\_snd_playsound::snd_play_at("fixed_camera_explode",var_03); +} + +//Function Number: 130 +seeker_clear() +{ + soundscripts\_snd::snd_music_message("seeker_clear"); +} + +//Function Number: 131 +aud_handle_clearing_dambs() +{ + level waittill("aud_start_clearing_damb"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("damb_ext_clearing_birds",(-15522,8176,391)); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("damb_ext_clearing_birds",(-14805,8244,300)); + level waittill("aud_stop_clearing_damb"); + soundscripts\_audio_dynamic_ambi::damb_stop_preset("damb_ext_clearing_birds",3); + level waittill("cliff_rappel_landing"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("damb_ext_forest_animal",level.player.origin); + level waittill("aud_stop_forest_ext_damb"); + soundscripts\_audio_dynamic_ambi::damb_stop_preset("damb_ext_forest_animal",3); +} + +//Function Number: 132 +aud_burke_nearing_cliff() +{ + level.burke soundscripts\_snd_playsound::snd_play_linked("meetup_burke_nearing_cliff"); + soundscripts\_audio_mix_manager::mm_add_submix("lab_ext_cliff_scene"); +} + +//Function Number: 133 +setup_cormack_meetup_scene_notetracks() +{ + if(level.currentgen && !istransientloaded("lab_intro_tr")) + { + return; + } + + maps\_anim::addnotetrack_customfunction("cormack","aud_cormack_approach",::aud_cormack_approach,"cliff_meetup"); + maps\_anim::addnotetrack_customfunction("knox","aud_knox_keypad",::aud_knox_keypad,"cliff_meetup"); + maps\_anim::addnotetrack_customfunction("cormack","aud_cormack_rappel_cable",::aud_cormack_rappel_cable,"cliff_meetup"); +} + +//Function Number: 134 +aud_cormack_approach(param_00) +{ + level.cormack soundscripts\_snd_playsound::snd_play_delayed_linked("meetup_foley_cormack_01",0.05); + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("meetup_foley_burke_01",0.25); + level.knox soundscripts\_snd_playsound::snd_play_delayed_linked("meetup_foley_knox_01",2.55); + level.knox soundscripts\_snd_playsound::snd_play_delayed_linked("meetup_foley_knox_02",21); +} + +//Function Number: 135 +aud_knox_keypad(param_00) +{ + level.cormack soundscripts\_snd_playsound::snd_play_delayed_linked("meetup_foley_cormack_02",0.75); +} + +//Function Number: 136 +aud_cormack_rappel_cable(param_00) +{ + level.cormack soundscripts\_snd_playsound::snd_play_delayed_linked("meetup_foley_cormack_03",0.1); + level.knox soundscripts\_snd_playsound::snd_play_delayed_linked("meetup_foley_knox_03",0.25); + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("meetup_foley_burke_02",3.8); + level.knox soundscripts\_snd_playsound::snd_play_delayed_linked("rappel_knox_hookup",4.55); +} + +//Function Number: 137 +aud_rappel_player_hookup() +{ + wait(0.65); + level.player soundscripts\_snd_playsound::snd_play_delayed_linked("rappel_player_hookup",0); + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("rappel_burke_jump",8.9); + level.player soundscripts\_snd_playsound::snd_play_delayed_linked("rappel_player_jump",10.65); + level.player soundscripts\_snd_playsound::snd_play_delayed_linked("rappel_gust",12.85); + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("rappel_burke_descend",15.05); +} + +//Function Number: 138 +aud_rappel_player_movement_start(param_00) +{ + if(!level.aud.rope_started) + { + level.aud.rope_started = 1; + if(!isdefined(level.aud.ropesound)) + { + level.aud.ropesound = spawn("script_origin",level.player.origin); + level.aud.ropesound soundscripts\_snd_playsound::snd_play_loop("rappel_player_descend_lp"); + param_00 thread aud_watch_for_anim_end(); + } + + level.player soundscripts\_snd_playsound::snd_play("rappel_player_descend_start"); + level.aud.ropesound scalevolume(1,0.5); + level.aud.ropesound scalepitch(1,2); + var_01 = param_00 common_scripts\utility::waittill_any_return("start_cliff_jump","aud_faded_loop"); + if(var_01 == "start_cliff_jump") + { + if(isdefined(level.aud.ropesound)) + { + level.aud.ropesound scalevolume(0,0.15); + level.aud.ropesound scalepitch(0.5,0.15); + } + + level.player soundscripts\_snd_playsound::snd_play("rappel_player_land"); + } + } +} + +//Function Number: 139 +aud_watch_for_anim_end() +{ + for(;;) + { + var_00 = self getanimtime(level.scr_anim["player_rig"]["cliff_jump"]); + if(var_00 > 0.94) + { + self notify("start_cliff_jump"); + return; + } + + wait 0.05; + } +} + +//Function Number: 140 +aud_rappel_player_movement_stop(param_00) +{ + if(level.aud.rope_started) + { + level.aud.rope_started = 0; + level.player soundscripts\_snd_playsound::snd_play("rappel_player_descend_stop"); + if(isdefined(level.aud.ropesound)) + { + level.aud.ropesound scalevolume(0,0.05); + level.aud.ropesound scalepitch(0.5,0.05); + wait(0.05); + param_00 notify("aud_faded_loop"); + } + } +} + +//Function Number: 141 +aud_player_rappel_complete() +{ + soundscripts\_audio_mix_manager::mm_clear_submix("lab_ext_cliff_scene"); + if(isdefined(level.aud.ropesound)) + { + level.aud.ropesound scalevolume(0,0.05); + level.aud.ropesound scalepitch(0.5,0.05); + wait(0.05); + if(isdefined(level.aud.ropesound)) + { + level.aud.ropesound stoploopsound(); + wait(0.05); + if(isdefined(level.aud.ropesound)) + { + level.aud.ropesound delete(); + return; + } + } + } +} + +//Function Number: 142 +lab_mute_gun_holster() +{ + soundscripts\_snd_playsound::snd_play_2d("wpn_med_holster_plr"); +} + +//Function Number: 143 +aud_facility_breach_start() +{ + level notify("aud_stop_forest_ext_damb"); + var_00 = self; + level.player enablecustomweaponcontext(); + soundscripts\_snd_common::snd_enable_soundcontextoverride("mute"); + soundscripts\_snd_playsound::snd_play_delayed_2d("mute_device_activate",0.5); + soundscripts\_snd_playsound::snd_play_delayed_2d("mute_device_step_back",1.5); + soundscripts\_snd_playsound::snd_play_delayed_2d("mute_device_breach_plant",4.2); + soundscripts\_snd_playsound::snd_play_delayed_2d("mute_device_breach_exp",9.65); + wait(1.25); + soundscripts\_audio_mix_manager::mm_add_submix("lab_facility_breach",0.05); + var_00 thread soundscripts\_snd_common::snd_mute_device("mute_device",350,600,40,"mute_device"); + var_00 thread aud_stop_mute_device_for_vo(); + wait(8); + soundscripts\_audio_mix_manager::mm_clear_submix("lab_facility_breach",3); +} + +//Function Number: 144 +aud_stop_mute_device_for_vo() +{ + level waittill("flag_post_breach_patrol"); + self notify("turn_off"); + soundscripts\_snd_common::snd_disable_soundcontextoverride("mute"); + level.player disablecustomweaponcontext(); +} + +//Function Number: 145 +aud_lab_ambient_emitters() +{ + if(level.currentgen && !istransientloaded("lab_middle_tr")) + { + level waittill("tff_post_intro_to_middle"); + } + + var_00 = spawn("script_origin",(-14293,12048,-1336)); + var_01 = spawn("script_origin",(-14278,11609,-1322)); + var_02 = spawn("script_origin",(-14346,11610,-1322)); + var_03 = spawn("script_origin",(-14454,11538,-1322)); + var_04 = spawn("script_origin",(-13909,11329,-1322)); + var_05 = spawn("script_origin",(-13962,11329,-1322)); + var_06 = spawn("script_origin",(-13925,11570,-1263)); + var_07 = spawn("script_origin",(-13801,11293,-1263)); + var_08 = spawn("script_origin",(-14280,11297,-1263)); + var_09 = spawn("script_origin",(-14044,12307,-1318)); + var_0A = spawn("script_origin",(-13990,11552,-1314)); + var_0B = spawn("script_origin",(-13600,11500,-1268)); + var_0C = spawn("script_origin",(-14343,12604,-1322)); + var_0D = spawn("script_origin",(-14335,11846,-1264)); + var_0E = spawn("script_origin",(-13878,11846,-1264)); + var_0F = spawn("script_origin",(-13902,12387,-1323)); + var_10 = spawn("script_origin",(-13538,11354,-1275)); + var_11 = spawn("script_origin",(-13506,11915,-1136)); + var_00 thread soundscripts\_snd_playsound::snd_play_loop_linked("lab_computer_01","aud_stop_lab_amb_emits",0.3,undefined,1); + var_01 thread soundscripts\_snd_playsound::snd_play_loop_linked("lab_electromech_01","aud_stop_lab_amb_emits",0.3,undefined,1); + var_02 thread soundscripts\_snd_playsound::snd_play_loop_linked("lab_electromech_02","aud_stop_lab_amb_emits",0.3,undefined,1); + var_03 thread soundscripts\_snd_playsound::snd_play_loop_linked("lab_electromech_03","aud_stop_lab_amb_emits",0.3,undefined,1); + var_04 thread soundscripts\_snd_playsound::snd_play_loop_linked("lab_electromech_04","aud_stop_lab_amb_emits",0.3,undefined,1); + var_05 thread soundscripts\_snd_playsound::snd_play_loop_linked("lab_electromech_05","aud_stop_lab_amb_emits",0.3,undefined,1); + var_06 thread soundscripts\_snd_playsound::snd_play_loop_linked("lab_ventilation_01","aud_stop_lab_amb_emits",0.3,undefined,1); + var_07 thread soundscripts\_snd_playsound::snd_play_loop_linked("lab_ventilation_02","aud_stop_lab_amb_emits",0.3,undefined,1); + var_08 thread soundscripts\_snd_playsound::snd_play_loop_linked("lab_ventilation_03","aud_stop_lab_amb_emits",0.3,undefined,1); + var_09 thread soundscripts\_snd_playsound::snd_play_loop_linked("lab_transformer_01","aud_stop_lab_amb_emits",0.3,undefined,1); + var_0A thread soundscripts\_snd_playsound::snd_play_loop_linked("lab_transformer_02","aud_stop_lab_amb_emits",0.3,undefined,1); + var_0B thread soundscripts\_snd_playsound::snd_play_loop_linked("lab_transformer_03","aud_stop_lab_amb_emits",0.3,undefined,1); + var_0C thread soundscripts\_snd_playsound::snd_play_loop_linked("lab_ventilation_04","aud_stop_lab_amb_emits",0.3,undefined,1); + var_0D thread soundscripts\_snd_playsound::snd_play_loop_linked("lab_ventilation_05","aud_stop_lab_amb_emits",0.3,undefined,1); + var_0E thread soundscripts\_snd_playsound::snd_play_loop_linked("lab_ventilation_06","aud_stop_lab_amb_emits",0.3,undefined,1); + var_0F thread soundscripts\_snd_playsound::snd_play_loop_linked("lab_ventilation_01","aud_stop_lab_amb_emits",0.3,undefined,1); + var_10 thread soundscripts\_snd_playsound::snd_play_loop_linked("lab_occluded_machine_hum_01","aud_stop_lab_amb_emits",0.3,undefined,1); + var_11 thread soundscripts\_snd_playsound::snd_play_loop_linked("lab_occluded_machine_hum_02","aud_stop_lab_amb_emits",0.3,undefined,1); + thread aud_lab_phone_wait(); + if(level.currentgen) + { + level waittill("tff_pre_middle_to_outro"); + level notify("aud_stop_lab_amb_emits"); + } +} + +//Function Number: 146 +aud_lab_phone_wait() +{ + common_scripts\utility::flag_wait("aud_lab_phone_start"); + for(var_00 = 0;var_00 <= 3;var_00++) + { + soundscripts\_snd_playsound::snd_play_at("lab_phone_next_door",(-13739,11640,-1320)); + wait(2.5); + } +} + +//Function Number: 147 +aud_server_room_door_crack() +{ + if(level.currentgen && !istransientloaded("lab_middle_tr")) + { + level waittill("tff_post_intro_to_middle"); + } + + wait(1); + soundscripts\_snd_playsound::snd_play_at("server_door_crack",(-13695,11854,-1062)); + var_00 = "server_room_pt_src_snds_1"; + var_01 = "server_room_pt_src_snds_2"; + var_02 = 0.3; + var_03 = 2; + var_04 = (-13695,11854,-1083); + var_05 = (-14421,12070,-1083); + var_06 = (-13881,11949,-1062); + var_07 = (-14274,11638,-1062); + var_08 = (-13975,11639,-1062); + var_09 = (-14198,11945,-1143); + var_0A = (-14442,11630,-1143); + var_0B = (-14198,11945,-1143); + var_0C = (-14442,11630,-1143); + var_0D = (-14305,12011,-1143); + var_0E = (-13926,11638,-1143); + var_0F = (-14198,11646,-1143); + var_10 = (-14326,11644,-1143); + soundscripts\_snd_playsound::snd_play_loop_at("server_light_hum_01",var_04,var_00,var_02,0); + soundscripts\_snd_playsound::snd_play_loop_at("server_light_hum_02",var_05,var_00,var_02,0); + soundscripts\_snd_playsound::snd_play_loop_at("server_vent_01",var_06,var_00,var_02,0); + soundscripts\_snd_playsound::snd_play_loop_at("server_vent_02",var_07,var_00,var_02,0); + soundscripts\_snd_playsound::snd_play_loop_at("server_vent_03",var_08,var_00,var_02,0); + soundscripts\_snd_playsound::snd_play_loop_at("server_machine_purr_01",var_09,var_01,var_02,var_03); + soundscripts\_snd_playsound::snd_play_loop_at("server_machine_purr_02",var_0A,var_01,var_02,var_03); + soundscripts\_snd_playsound::snd_play_loop_at("server_data_center_01",var_0B,var_01,var_02,var_03); + soundscripts\_snd_playsound::snd_play_loop_at("server_data_center_02",var_0C,var_01,var_02,var_03); + soundscripts\_snd_playsound::snd_play_loop_at("server_data_center_03",var_0D,var_01,var_02,var_03); + soundscripts\_snd_playsound::snd_play_loop_at("server_computer_screen_01",var_0E,var_01,var_02,var_03); + soundscripts\_snd_playsound::snd_play_loop_at("server_computer_screen_02",var_0F,var_01,var_02,var_03); + soundscripts\_snd_playsound::snd_play_loop_at("server_computer_screen_01",var_10,var_01,var_02,var_03); + common_scripts\utility::flag_wait("flag_obj_bio_weapons_hack"); + wait(23.5); + thread aud_server_room_thermite(); + wait(3); + level notify(var_01); + if(level.currentgen) + { + level waittill("tff_pre_middle_to_outro"); + level notify(var_00); + } +} + +//Function Number: 148 +aud_server_room_door_kick() +{ +} + +//Function Number: 149 +aud_server_room_door_enter() +{ + wait(1); +} + +//Function Number: 150 +setup_server_room_scene_notetracks() +{ + if(level.currentgen && !istransientloaded("lab_middle_tr")) + { + level waittill("tff_post_intro_to_middle"); + } + + maps\_anim::addnotetrack_customfunction("player_rig","aud_player_computer",::aud_player_computer,"server_room_exit"); + maps\_anim::addnotetrack_customfunction("knox","aud_knox_thermite",::aud_knox_thermite,"server_room_exit"); + maps\_anim::addnotetrack_customfunction("cormack","aud_cormack_monitor_smash",::aud_cormack_final_monitor_smash,"server_room_exit"); + maps\_anim::addnotetrack_customfunction("cormack","cormack_smash_monitor_01",::cormack_smash_monitor_01,"server_room_exit"); + maps\_anim::addnotetrack_customfunction("cormack","cormack_smash_monitor_02",::cormack_smash_monitor_02,"server_room_exit"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_player_computer",::aud_player_computer_promo,"server_room_exit_promo"); + maps\_anim::addnotetrack_customfunction("knox","aud_knox_thermite",::aud_knox_thermite_promo,"server_room_exit_promo"); + maps\_anim::addnotetrack_customfunction("cormack","aud_cormack_monitor_smash_promo",::aud_cormack_monitor_smash_promo,"server_room_exit_promo"); + maps\_anim::addnotetrack_customfunction("cormack","aud_cormack_final_smash_promo",::aud_cormack_final_smash_promo,"server_room_exit_promo"); +} + +//Function Number: 151 +aud_player_computer(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("server_player_monitor_move"); +} + +//Function Number: 152 +aud_player_computer_gl_timing_fix() +{ + level.player soundscripts\_snd_playsound::snd_play_delayed_linked("server_player_interact",0.45); + level.player soundscripts\_snd_playsound::snd_play_delayed_linked("server_footsteps_in",1.05); +} + +//Function Number: 153 +aud_knox_thermite(param_00) +{ + level.player soundscripts\_snd_playsound::snd_play_delayed_linked("server_monitor_smashing",0.25); + level.player soundscripts\_snd_playsound::snd_play_delayed_linked("server_player_step_back",7.25); +} + +//Function Number: 154 +cormack_smash_monitor_01(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("server_crmk_smash_01"); +} + +//Function Number: 155 +cormack_smash_monitor_02(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("server_crmk_smash_02"); +} + +//Function Number: 156 +aud_cormack_final_monitor_smash(param_00) +{ +} + +//Function Number: 157 +aud_player_computer_promo(param_00) +{ +} + +//Function Number: 158 +aud_knox_thermite_promo(param_00) +{ + level.player soundscripts\_snd_playsound::snd_play_delayed_linked("server_player_step_back",7.25); +} + +//Function Number: 159 +aud_cormack_monitor_smash_promo(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("lab_server_promo_smash"); + level.player soundscripts\_snd_playsound::snd_play_2d("server_promo_monitor_smashing"); + wait(5); + soundscripts\_audio_mix_manager::mm_add_submix("lab_server_promo",5); +} + +//Function Number: 160 +aud_cormack_final_smash_promo(param_00) +{ + level.player soundscripts\_snd_playsound::snd_play_2d("server_promo_final_smash"); + soundscripts\_audio_mix_manager::mm_clear_submix("lab_server_promo",8); + soundscripts\_audio_mix_manager::mm_clear_submix("lab_server_promo_smash",8); +} + +//Function Number: 161 +aud_server_room_thermite() +{ + thread aud_server_thermite_out(); + thread aud_server_thermite_burn_start(); + thread aud_server_thermite_burn_loop(); +} + +//Function Number: 162 +aud_server_thermite_out() +{ + soundscripts\_snd_playsound::snd_play_at("server_thermite_throw_01",(-14237,11851,-1148)); + wait(4); + soundscripts\_snd_playsound::snd_play_at("server_thermite_throw_02",(-14274,11867,-1148)); +} + +//Function Number: 163 +aud_server_thermite_burn_start() +{ + wait(9); + level.player soundscripts\_snd_playsound::snd_play_linked("server_thermite_flames_start"); + wait(0.5); + soundscripts\_snd_playsound::snd_play_at("server_data_center_burn_electrical_02",(-14339,11949,-1183)); + soundscripts\_snd_filters::snd_fade_in_filter("lab_alarm_occlusion",0.5); + start_interior_alarms(); + wait(3); + soundscripts\_snd_playsound::snd_play_at("server_data_center_burn_electrical_01",(-14403,11671,-1183)); +} + +//Function Number: 164 +aud_server_thermite_burn_loop() +{ + var_00 = "aud_server_thermite_burn_loop"; + var_01 = 1; + var_02 = 1.5; + var_03 = (-14211,11909,-1183); + var_04 = (-14339,11949,-1183); + var_05 = (-14403,11671,-1183); + soundscripts\_snd_playsound::snd_play_loop_at("server_data_center_burn_lp_01",var_03,var_00,var_01,var_02); + wait(22.5); + soundscripts\_snd_playsound::snd_play_loop_at("server_data_center_burn_lp_02",var_04,var_00,var_01,var_02); + wait(2); + soundscripts\_snd_playsound::snd_play_loop_at("server_data_center_burn_lp_03",var_05,var_00,var_01,var_02); + common_scripts\utility::flag_wait("vfx_server_room_exit"); + wait(14); + level notify(var_00); +} + +//Function Number: 165 +aud_foam_room_emitters() +{ + if(level.currentgen && !istransientloaded("lab_middle_tr")) + { + level waittill("tff_post_intro_to_middle"); + } + + var_00 = (-11120,15628,-1266); + var_01 = (-11120,15072,-1266); + var_02 = (-11120,15337,-1266); + var_03 = (-11492,15947,-1266); + var_04 = (-11492,15224,-1266); + var_05 = (-11266,15826,-1332); + var_06 = (-11845,15892,-1283); + var_07 = "aud_server_thermite_burn_loop"; + var_08 = 0.3; + soundscripts\_snd_playsound::snd_play_loop_at("locker_rm_ventilation_01",var_00,var_07,var_08); + soundscripts\_snd_playsound::snd_play_loop_at("locker_rm_ventilation_02",var_01,var_07,var_08); + soundscripts\_snd_playsound::snd_play_loop_at("locker_rm_ventilation_03",var_02,var_07,var_08); + soundscripts\_snd_playsound::snd_play_loop_at("foam_rm_large_ventilation_01",var_03,var_07,var_08); + soundscripts\_snd_playsound::snd_play_loop_at("foam_rm_large_ventilation_02",var_04,var_07,var_08); + soundscripts\_snd_playsound::snd_play_loop_at("foam_rm_large_ventilation_03",var_05,var_07,var_08); + soundscripts\_snd_playsound::snd_play_loop_at("foam_rm_computer_01",var_06,var_07,var_08); + if(level.currentgen) + { + level waittill("tff_pre_middle_to_outro"); + level notify(var_07); + } +} + +//Function Number: 166 +aud_post_courtyard_emitters() +{ + var_00 = spawn("script_origin",(-12753,10939,-1245)); + var_01 = spawn("script_origin",(-12963,10956,-1256)); + var_02 = spawn("script_origin",(-11863,11300,-1256)); + var_03 = spawn("script_origin",(-11412,11044,-1149)); + var_04 = spawn("script_origin",(-11667,10866,-1034)); + thread aud_balcony_aircraft_wait(); + var_05 = spawn("script_origin",(-11017,10329,-1006)); + var_06 = spawn("script_origin",(-11526,10305,-862)); + var_07 = spawn("script_origin",(-11404,9942,-1007)); + var_08 = spawn("script_origin",(-11049,9586,-1075)); + var_09 = spawn("script_origin",(-12409,9438,-1244)); + var_0A = spawn("script_origin",(-12193,9033,-1263)); + var_0B = spawn("script_origin",(-12200,9594,-1254)); + var_0C = spawn("script_origin",(-12788,8695,-1055)); + var_0D = spawn("script_origin",(-13226,9027,-1075)); + var_0E = spawn("script_origin",(-12164,9970,-1075)); + var_0F = spawn("script_origin",(-12062,9618,-1231)); + var_10 = spawn("script_origin",(-13244,9199,-1223)); + var_11 = spawn("script_origin",(-13244,9389,-1223)); + var_12 = spawn("script_origin",(-12429,9680,-1123)); + var_13 = spawn("script_origin",(-12429,9101,-1123)); + var_14 = spawn("script_origin",(-12815,8943,-1153)); + var_15 = spawn("script_origin",(-13074,9282,-1257)); + var_16 = spawn("script_origin",(-12932,8798,-1245)); + var_17 = spawn("script_origin",(-12612,8798,-1245)); + var_18 = spawn("script_origin",(-12294,8588,-1200)); + var_19 = spawn("script_origin",(-13189,9585,-1250)); + var_1A = spawn("script_origin",(-12295,9360,-1174)); + var_1B = spawn("script_origin",(-12405,9439,-1174)); + var_1C = spawn("script_origin",(-12307,9516,-1174)); + var_00 thread soundscripts\_snd_playsound::snd_play_loop_linked("lab_electromech_06",undefined,0.3,undefined,1); + var_01 thread soundscripts\_snd_playsound::snd_play_loop_linked("post_courtyard_turbine_01",undefined,0.3,undefined,1); + var_02 thread soundscripts\_snd_playsound::snd_play_loop_linked("post_courtyard_turbine_02",undefined,0.3,undefined,1); + var_03 thread soundscripts\_snd_playsound::snd_play_loop_linked("post_courtyard_ventilation_01",undefined,0.3,undefined,1); + var_04 thread soundscripts\_snd_playsound::snd_play_loop_linked("post_courtyard_turbine_03",undefined,0.3,undefined,1); + var_05 thread soundscripts\_snd_playsound::snd_play_loop_linked("balcony_left",undefined,0.3,undefined,1); + var_06 thread soundscripts\_snd_playsound::snd_play_loop_linked("balcony_right",undefined,0.3,undefined,1); + var_07 thread soundscripts\_snd_playsound::snd_play_loop_linked("post_courtyard_ventilation_02",undefined,0.3,undefined,1); + var_08 thread soundscripts\_snd_playsound::snd_play_loop_linked("post_courtyard_turbine_05",undefined,0.3,undefined,1); + var_0C thread soundscripts\_snd_playsound::snd_play_loop_linked("post_courtyard_turbine_04",undefined,0.3,undefined,1); + var_0D thread soundscripts\_snd_playsound::snd_play_loop_linked("post_courtyard_ventilation_03",undefined,0.3,undefined,1); + var_0E thread soundscripts\_snd_playsound::snd_play_loop_linked("post_courtyard_ventilation_01",undefined,0.3,undefined,1); + if(level.currentgen && !istransientloaded("lab_outro_tr")) + { + level waittill("tff_post_middle_to_outro"); + } + + var_09 thread soundscripts\_snd_playsound::snd_play_loop_linked("hangar_comp_close_02",undefined,0.3,undefined,1); + var_0A thread soundscripts\_snd_playsound::snd_play_loop_linked("hangar_comp_close_01",undefined,0.3,undefined,1); + var_0B thread soundscripts\_snd_playsound::snd_play_loop_linked("hangar_comp_close_01",undefined,0.3,undefined,1); + var_0F thread soundscripts\_snd_playsound::snd_play_loop_linked("hangar_computer_01",undefined,0.3,undefined,1); + var_10 thread soundscripts\_snd_playsound::snd_play_loop_linked("hangar_computer_02",undefined,0.3,undefined,1); + var_11 thread soundscripts\_snd_playsound::snd_play_loop_linked("hangar_computer_03",undefined,0.3,undefined,1); + common_scripts\utility::flag_wait("aud_hangar_light_hum_start"); + var_12 thread soundscripts\_snd_playsound::snd_play_loop_linked("hangar_light_hum_01",undefined,6,undefined,1); + var_13 thread soundscripts\_snd_playsound::snd_play_loop_linked("hangar_light_hum_02",undefined,6,undefined,1); + var_14 thread soundscripts\_snd_playsound::snd_play_loop_linked("hangar_small_electromech_01",undefined,0.1,undefined,1); + var_15 thread soundscripts\_snd_playsound::snd_play_loop_linked("hangar_small_electromech_02",undefined,0.1,undefined,1); + var_16 thread soundscripts\_snd_playsound::snd_play_loop_linked("hangar_ventilation_01",undefined,1,undefined,1); + var_17 thread soundscripts\_snd_playsound::snd_play_loop_linked("hangar_ventilation_02",undefined,1,undefined,1); + var_18 thread soundscripts\_snd_playsound::snd_play_loop_linked("hangar_transformer_01",undefined,0.1,undefined,1); + var_19 thread soundscripts\_snd_playsound::snd_play_loop_linked("hangar_transformer_02",undefined,0.1,undefined,1); + var_1A thread soundscripts\_snd_playsound::snd_play_loop_linked("hangar_comp_low_drone",undefined,1,undefined,1); + var_1B thread soundscripts\_snd_playsound::snd_play_loop_linked("hangar_comp_high_drone",undefined,1,undefined,1); + var_1A setpitch(0.5); + var_1B setpitch(0.4); + wait 0.05; + var_1A scalepitch(1,4); + var_1B scalepitch(1,2.5); + wait(1); + var_1C thread soundscripts\_snd_playsound::snd_play_loop_linked("hangar_comp_bg",undefined,5,undefined,1); + common_scripts\utility::flag_wait("flag_hovertank_reveal_scene_started"); + wait(4); + var_0C scalevolume(0.1,4); + var_0D scalevolume(0.1,4); + var_0E scalevolume(0.1,4); + var_12 scalevolume(0.1,4); + var_13 scalevolume(0.1,4); + var_14 scalevolume(0.1,4); + var_15 scalevolume(0.1,4); + var_16 scalevolume(0.1,4); + var_17 scalevolume(0.1,4); + var_1A scalevolume(0.3,4); + var_1B scalevolume(0.3,4); + var_1C scalevolume(0.3,4); + for(var_1D = 0;var_1D <= 3;var_1D++) + { + soundscripts\_snd_playsound::snd_play_at("hangar_warning",(-12776,10038,-1084)); + wait(3); + } + + level waittill("kill_tank_startup_loop"); + wait(4.8); + thread soundscripts\_audio::aud_fade_loop_out_and_delete(var_00,4); + thread soundscripts\_audio::aud_fade_loop_out_and_delete(var_01,4); + thread soundscripts\_audio::aud_fade_loop_out_and_delete(var_02,4); + thread soundscripts\_audio::aud_fade_loop_out_and_delete(var_03,4); + thread soundscripts\_audio::aud_fade_loop_out_and_delete(var_04,4); + thread soundscripts\_audio::aud_fade_loop_out_and_delete(var_05,4); + thread soundscripts\_audio::aud_fade_loop_out_and_delete(var_06,4); + thread soundscripts\_audio::aud_fade_loop_out_and_delete(var_07,4); + thread soundscripts\_audio::aud_fade_loop_out_and_delete(var_08,4); + thread soundscripts\_audio::aud_fade_loop_out_and_delete(var_09,4); + thread soundscripts\_audio::aud_fade_loop_out_and_delete(var_0A,4); + thread soundscripts\_audio::aud_fade_loop_out_and_delete(var_0B,4); + thread soundscripts\_audio::aud_fade_loop_out_and_delete(var_0C,4); + thread soundscripts\_audio::aud_fade_loop_out_and_delete(var_0D,4); + thread soundscripts\_audio::aud_fade_loop_out_and_delete(var_0E,4); + thread soundscripts\_audio::aud_fade_loop_out_and_delete(var_0F,4); + thread soundscripts\_audio::aud_fade_loop_out_and_delete(var_10,4); + thread soundscripts\_audio::aud_fade_loop_out_and_delete(var_11,4); + thread soundscripts\_audio::aud_fade_loop_out_and_delete(var_12,4); + thread soundscripts\_audio::aud_fade_loop_out_and_delete(var_13,4); + thread soundscripts\_audio::aud_fade_loop_out_and_delete(var_14,4); + thread soundscripts\_audio::aud_fade_loop_out_and_delete(var_15,4); + thread soundscripts\_audio::aud_fade_loop_out_and_delete(var_16,4); + thread soundscripts\_audio::aud_fade_loop_out_and_delete(var_17,4); + thread soundscripts\_audio::aud_fade_loop_out_and_delete(var_1A,4); + thread soundscripts\_audio::aud_fade_loop_out_and_delete(var_1B,4); + thread soundscripts\_audio::aud_fade_loop_out_and_delete(var_1C,4); +} + +//Function Number: 167 +aud_balcony_aircraft_wait() +{ + common_scripts\utility::flag_wait("aud_balcony_aircraft"); + soundscripts\_snd_playsound::snd_play_at("balcony_aircraft",(-11050,10541,-733)); +} + +//Function Number: 168 +player_plant_frb() +{ + soundscripts\_audio_mix_manager::mm_add_submix("bio_room_detonate",0.05); + soundscripts\_snd_playsound::snd_play_2d("bio_lab_frb_plant"); +} + +//Function Number: 169 +foam_room_door_close(param_00,param_01) +{ + soundscripts\_snd_playsound::snd_play_2d("bio_lab_frb_clacker_equip"); + param_00 soundscripts\_snd_playsound::snd_play_linked("bio_lab_door_close_left"); + param_01 soundscripts\_snd_playsound::snd_play_linked("bio_lab_door_close_right"); + level notify("kill_all_scanner_audio"); + level waittill("vfx_foam_room_explode_start"); + gas_release(); +} + +//Function Number: 170 +gas_release() +{ + var_00 = spawn("script_origin",(-11430,15458,-1352)); + var_01 = "stop_bio_lab_gas_loop"; + var_02 = 1.5; + var_03 = 1; + var_00 soundscripts\_snd_playsound::snd_play_linked("bio_lab_gas_exp"); + var_00 soundscripts\_snd_playsound::snd_play_loop_linked("bio_lab_gas_loop",var_01,var_02,var_03); + level waittill("kill_gas_loop"); + level notify(var_01); + wait(0.5); + soundscripts\_audio_mix_manager::mm_clear_submix("bio_room_detonate",1); +} + +//Function Number: 171 +door2courtyard_open() +{ + var_00 = (-11247,15082,-1373); + var_01 = (-11247,15137,-1373); + common_scripts\utility::flag_wait("flag_foam_room_complete_dialogue"); + soundscripts\_snd_playsound::snd_play_at("door_to_courtyard_left",var_00); + soundscripts\_snd_playsound::snd_play_at("door_to_courtyard_right",var_01); +} + +//Function Number: 172 +current_gen_hangar_door_open() +{ + soundscripts\_snd_playsound::snd_play_at("lab_hangar_door_open",(-11420,10077,-1068)); +} + +//Function Number: 173 +hangar_lights_on() +{ + soundscripts\_snd::snd_music_message("tank_reveal"); + var_00 = (-12621,9561,-1059); + var_01 = (-12926,9561,-1059); + var_02 = (-12926,9496,-1059); + var_03 = (-12621,9496,-1059); + var_04 = (-12621,9433,-1059); + var_05 = (-12926,9433,-1059); + var_06 = (-12926,9367,-1059); + var_07 = (-12621,9367,-1059); + var_08 = (-12621,9305,-1059); + var_09 = (-12926,9305,-1059); + var_0A = (-12926,9240,-1059); + var_0B = (-12621,9240,-1059); + var_0C = (-12621,9175,-1059); + var_0D = (-12926,9175,-1059); + var_0E = 1; + common_scripts\utility::flag_set("aud_hangar_light_hum_start"); + soundscripts\_snd_playsound::snd_play_at("tank_hangar_light_on",var_01); + soundscripts\_snd_playsound::snd_play_at("tank_hangar_light_on",var_0C); + wait(var_0E); + soundscripts\_snd_playsound::snd_play_at("tank_hangar_light_on",var_02); + soundscripts\_snd_playsound::snd_play_at("tank_hangar_light_on",var_0B); + wait(var_0E); + soundscripts\_snd_playsound::snd_play_at("tank_hangar_light_on",var_05); + soundscripts\_snd_playsound::snd_play_at("tank_hangar_light_on",var_08); + wait(var_0E); + soundscripts\_snd_playsound::snd_play_at("tank_hangar_light_on",var_06); + soundscripts\_snd_playsound::snd_play_at("tank_hangar_light_on",var_07); + wait(var_0E); + soundscripts\_snd_playsound::snd_play_at("tank_hangar_light_on",var_09); + soundscripts\_snd_playsound::snd_play_at("tank_hangar_light_on",var_04); + wait(var_0E); + soundscripts\_snd_playsound::snd_play_at("tank_hangar_light_on",var_0A); + soundscripts\_snd_playsound::snd_play_at("tank_hangar_light_on",var_03); + wait(var_0E); + soundscripts\_snd_playsound::snd_play_at("tank_hangar_light_on",var_0D); + soundscripts\_snd_playsound::snd_play_at("tank_hangar_light_on",var_00); +} + +//Function Number: 174 +setup_hangar_notetracks() +{ + if(level.currentgen && !istransientloaded("lab_outro_tr")) + { + level waittill("tff_post_middle_to_outro"); + } + + maps\_anim::addnotetrack_customfunction("knox","aud_knox_control_panel",::hovertank_control_panel,"hovertank_reveal_approach"); +} + +//Function Number: 175 +hovertank_control_panel(param_00) +{ +} + +//Function Number: 176 +hover_tank_startup_sequence() +{ + var_00 = (-12771,9352,-1203); + var_01 = (-12769,9327,-1155); + var_02 = (-12593,9526,-1256); + var_02 = (-12934,9526,-1256); + var_03 = (-12593,9242,-1256); + var_03 = (-12934,9242,-1256); + var_04 = (-12660,9173,-1227); + var_05 = (-12801,9173,-1227); + soundscripts\_audio_mix_manager::mm_add_submix("hover_tank_startup",0.1); + soundscripts\_snd::snd_music_message("hover_tank_startup"); + soundscripts\_snd_playsound::snd_play_delayed_at("ht_startup_main",var_00,3.5); + wait(16.6); + soundscripts\_snd_playsound::snd_play_at("ht_startup_hover_engage",var_00); + soundscripts\_snd_playsound::snd_play_at("ht_support_release_fl",var_02); + soundscripts\_snd_playsound::snd_play_at("ht_support_release_fr",var_02); + soundscripts\_snd_playsound::snd_play_at("ht_support_release_rl",var_03); + soundscripts\_snd_playsound::snd_play_at("ht_support_release_rr",var_03); + wait(2.2); + var_06 = "stop_ht_startup_engine_loop"; + var_07 = 3.75; + var_08 = 4; + soundscripts\_snd_playsound::snd_play_loop_at("ht_startup_engine_loop",var_00,var_06,var_07,var_08); + soundscripts\_snd_playsound::snd_play_at("ht_startup_armor_panels",var_00); + wait(3); + soundscripts\_snd_playsound::snd_play_at("ht_rear_panels_l",var_04); + soundscripts\_snd_playsound::snd_play_at("ht_rear_panels_r",var_05); + wait(10.2); + soundscripts\_snd_playsound::snd_play_at("ht_hatch_open_ext",var_01); + level.cormack soundscripts\_snd_playsound::snd_play_delayed_linked("ht_cormack_feet_ext_hangar",3,undefined,undefined,undefined,undefined,undefined,(0,0,-25)); + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("ht_burke_feet_ext_hangar",3,undefined,undefined,undefined,undefined,undefined,(0,0,-25)); + level waittill("kill_tank_startup_loop"); + wait(4.8); + level notify(var_06); +} + +//Function Number: 177 +hovertank_enter() +{ + level notify("kill_tank_startup_loop"); + soundscripts\_audio_mix_manager::mm_add_submix("lab_tank_foley_mute"); + thread soundscripts\_snd_common::snd_enable_soundcontextoverride("bullet_metal_vehicle"); + soundscripts\_snd_playsound::snd_play_2d("ht_player_tank_enter"); + var_00 = (-12768,9350,-1248); + var_01 = "stop_ht_int_idle_low"; + var_02 = 6; + var_03 = 1; + var_04 = 0.3; + soundscripts\_snd_playsound::snd_play_loop_at("ht_int_idle_low",var_00,var_01,var_02,var_03,var_04); + wait(5.8); + level.burke soundscripts\_snd_playsound::snd_play_linked("ht_burke_tank_enter"); + level waittill("tank_switch"); + tank_screens_boot_up(); + level notify(var_01); + wait(3); + soundscripts\_audio_mix_manager::mm_clear_submix("hover_tank_startup",1); +} + +//Function Number: 178 +aud_player_gets_in_tank() +{ + soundscripts\_audio_zone_manager::azm_start_zone("lab_int_tank",1); + aud_hangar_door_open(); + soundscripts\_audio_mix_manager::mm_add_submix("tank_battle",0.25); +} + +//Function Number: 179 +tank_screens_boot_up() +{ + level notify("stop_post_courtyard_alarms"); + soundscripts\_snd_playsound::snd_play_2d("ht_monitors_boot_up"); +} + +//Function Number: 180 +aud_impact_system_hovertank(param_00) +{ + var_01 = []; + var_01["Debug"] = 0; + var_01["VehicleID"] = "tank_impact"; + var_01["PV_MinVelocityThreshold"] = 10; + var_01["PV_MaxVelocity"] = 250; + var_01["PV_NumVelocityRanges"] = 3; + var_01["PV_MaxSmlVelocity"] = 45; + var_01["PV_MaxMedVelocity"] = 125; + var_01["PV_MaxLrgVelocity"] = 250; + var_01["NPC_MinVelocityThreshold"] = 25; + var_01["NPC_MaxVelocity"] = 800; + var_01["NPC_NumVelocityRanges"] = 3; + var_01["NPC_MaxSmlVelocity"] = 100; + var_01["NPC_MaxMedVelocity"] = 400; + var_01["NPC_MaxLrgVelocity"] = 800; + var_01["MinLFEVolumeThreshold"] = 0; + var_01["FallVelMultiplier"] = 2; + var_01["MinTimeThreshold"] = 250; + var_01["ScrapeEnabled"] = 0; + var_01["ScrapeSeperationTime"] = 0.5; + var_01["ScrapeFadeOutTime"] = 0.5; + var_01["ScrapeUpdateRate"] = 0.05; + var_01["TireSkidProbability"] = 0; + var_01["MaxDistanceThreshold"] = 6000; + var_01["MedVolMin"] = 0.1; + var_01["LrgVolMin"] = 0.5; + var_01["NonPlayerImpVolReduction"] = 0; + soundscripts\_snd_common::snd_play_vehicle_collision(param_00,var_01); +} + +//Function Number: 181 +aud_hangar_door_open() +{ + wait(0.1); + soundscripts\_snd_playsound::snd_play_at("hangar_door_open",(-12765,10082,-1108)); +} + +//Function Number: 182 +begin_pcap_vo_lab_serverroom_cormack() +{ + soundscripts\_snd::snd_music_message("begin_pcap_vo_lab_serverroom_cormack"); +} + +//Function Number: 183 +open_server_room_door() +{ + soundscripts\_snd::snd_music_message("open_server_room_door"); + soundscripts\_snd_filters::snd_fade_out_filter(0.5); +} + +//Function Number: 184 +research_building_combat_complete() +{ + soundscripts\_snd::snd_music_message("research_building_combat_complete"); + soundscripts\_audio_mix_manager::mm_add_submix("lab_neutralize_bio_weapons_complete",1); +} + +//Function Number: 185 +foam_room_crmk_plant_these_frvs() +{ + soundscripts\_snd::snd_music_message("foam_room_crmk_plant_these_frvs"); +} + +//Function Number: 186 +neutralize_bio_weapons_complete() +{ + soundscripts\_snd::snd_music_message("neutralize_bio_weapons_complete"); +} + +//Function Number: 187 +foam_room_complete_dialogue() +{ + soundscripts\_snd::snd_music_message("begin_courtyard_combat"); + start_courtyard_alarms(); + soundscripts\_audio_mix_manager::mm_clear_submix("lab_neutralize_bio_weapons_complete",6); +} + +//Function Number: 188 +begin_courtyard_combat() +{ +} + +//Function Number: 189 +aud_ctyard_vrap01() +{ + level.courtyard_vrap01 soundscripts\_snd_playsound::snd_play_linked("scn_lab_ctyard_vrap01"); + level notify("stop_interior_alarms"); + soundscripts\_snd::snd_music_message("pre_mech_vrap"); +} + +//Function Number: 190 +aud_ctyard_vrap02() +{ + level.courtyard_vrap02 soundscripts\_snd_playsound::snd_play_delayed_linked("scn_lab_ctyard_vrap02",0.01); +} + +//Function Number: 191 +aud_ctyard_vrap04() +{ + level.courtyard_vrap04 soundscripts\_snd_playsound::snd_play_linked("scn_lab_ctyard_vrap04"); + level notify("kill_gas_loop"); +} + +//Function Number: 192 +aud_ctyard_vrap05() +{ + level.courtyard_vrap05 soundscripts\_snd_playsound::snd_play_delayed_linked("scn_lab_ctyard_vrap05",0.95); +} + +//Function Number: 193 +courtyard_hangar_mech_01_spawned(param_00) +{ + soundscripts\_snd::snd_music_message("courtyard_hangar_mech_01_spawned"); +} + +//Function Number: 194 +courtyard_door_hack_start_dialogue() +{ + soundscripts\_snd::snd_music_message("courtyard_door_hack_start_dialogue"); +} + +//Function Number: 195 +courtyard_start_dish() +{ + if(level.currentgen && !istransientloaded("lab_middle_tr")) + { + level waittill("tff_post_intro_to_middle"); + } + + var_00 = spawn("script_origin",(-12332,13331,-1093)); + var_00 thread soundscripts\_snd_playsound::snd_play_loop_linked("courtyard_jammer_mech",undefined,0.3,undefined,1); + common_scripts\utility::flag_wait("aud_start_jammer"); + var_01 = spawn("script_origin",(-12289,13353,-1120)); + var_02 = spawn("script_origin",(-12324,13352,-1088)); + var_01 thread soundscripts\_snd_playsound::snd_play_loop_linked("courtyard_jammer_emi_close",undefined,1,undefined,1); + var_02 thread soundscripts\_snd_playsound::snd_play_loop_linked("courtyard_jammer_emi_wide",undefined,1,undefined,1); + common_scripts\utility::flag_wait("flag_obj_jammer_interact"); + wait(2); + var_00 scalepitch(0.5,3); + thread soundscripts\_audio::aud_fade_loop_out_and_delete(var_01,1); + var_02 scalepitch(0.1,2); + wait(1); + thread soundscripts\_audio::aud_fade_loop_out_and_delete(var_00,2); + thread soundscripts\_audio::aud_fade_loop_out_and_delete(var_02,1); +} + +//Function Number: 196 +courtyard_end_jammer() +{ + wait(1.35); + level.player soundscripts\_snd_playsound::snd_play_linked("courtyard_jammer_plant"); +} + +//Function Number: 197 +courtyard_defend_start() +{ + soundscripts\_snd::snd_music_message("courtyard_defend_start"); +} + +//Function Number: 198 +aud_courtyard_hangar_door_close() +{ + soundscripts\_snd_playsound::snd_play_at("lab_hangar_door_close",(-12699,11527,-1256)); +} + +//Function Number: 199 +aud_courtyard_hangar_door_hack(param_00,param_01) +{ + wait_for_anim_start(param_00,param_01); + wait(2); + level.knox soundscripts\_snd_playsound::snd_play_linked("lab_hangar_door_hack_foley_start"); +} + +//Function Number: 200 +aud_courtyard_hangar_door_hack_idle(param_00,param_01) +{ + level endon("hack_success"); + var_02 = 1; + wait_for_anim_start(param_00,param_01); + for(;;) + { + var_03 = param_01 getanimtime(param_00); + if(var_03 < var_02) + { + maps\_utility::delaythread(3.45,::play_sound_stop_on_notify,"lab_hangar_door_hack_foley",level.knox,"hack_success"); + } + + var_02 = var_03; + wait 0.05; + } +} + +//Function Number: 201 +aud_courtyard_hangar_door_open() +{ + soundscripts\_snd_playsound::snd_play_at("lab_hangar_door_open",(-12699,11527,-1256)); + start_post_courtyard_interior_alarms(); +} + +//Function Number: 202 +courtyard_hangar_door_close_rpg(param_00,param_01) +{ + var_02 = self; + soundscripts\_snd::snd_music_message("courtyard_hangar_door_close"); + var_02 thread play_courtyard_hangar_door_rpg(param_00,param_01); + soundscripts\_snd_filters::snd_fade_in_filter("lab_courtyard_hangar_door_rpg",param_01); +} + +//Function Number: 203 +play_courtyard_hangar_door_rpg(param_00,param_01) +{ + if(isdefined(self)) + { + var_02 = self; + var_03 = var_02.origin; + soundscripts\_snd_playsound::snd_play_at("lab_hangar_door_close_int",(-12699,11491,-1256)); + soundscripts\_snd_playsound::snd_play_at("courtyard_hangar_door_rpg_fire",var_03); + var_02 soundscripts\_snd_playsound::snd_play_loop_linked("courtyard_hangar_door_rpg_travel","stop_courtyard_hangar_door_rpg_travel"); + wait(param_01); + level notify("stop_courtyard_hangar_door_rpg_travel"); + var_04 = spawnstruct(); + var_04.pos = param_00; + var_04.speed_of_sound_ = 1; + var_04.incoming_alias_ = "exp_generic_incoming"; + var_04.duck_alias_ = "exp_generic_explo_sub_kick"; + var_04.duck_dist_threshold_ = 1000; + var_04.explo_delay_chance_ = 100; + var_04.shake_dist_threshold_ = 2000; + var_04.explo_debris_alias_ = "exp_debris_dirt_chunks"; + var_04.ground_zero_alias_ = "exp_grnd_zero_stone"; + var_04.ground_zero_dist_threshold_ = 500; + soundscripts\_snd_common::snd_ambient_explosion(var_04); + } +} + +//Function Number: 204 +boxtruck_explode() +{ + var_00 = self; + var_00 soundscripts\_snd_playsound::snd_play_linked("lab_boxtruck_explode"); +} + +//Function Number: 205 +warbird_emp_death() +{ + var_00 = self; + var_00 soundscripts\_snd_playsound::snd_play("warbird_emp_impact"); +} + +//Function Number: 206 +log_pile_collapse(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("log_pile_collapse",param_00.origin + (0,0,100)); +} + +//Function Number: 207 +tank_shack_destruct(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("shack_destroyed",param_00); +} + +//Function Number: 208 +aud_tank_road_littlebird_1(param_00) +{ + var_01 = "LB-" + param_00; + var_02 = "littlebird_road_flyby"; + var_03 = []; + var_03["littlebird_med_incoming"] = 9.5; + var_04 = []; + var_04[0] = 1400; + var_04[1] = 2000; + var_04[2] = 2500; + var_05 = []; + var_05[0] = 40; + thread soundscripts\_snd_common::snd_advanced_flyby_system(var_02,var_03,var_04,var_05,1,"littlebird_death_spin","littlebird_death_explo"); +} + +//Function Number: 209 +aud_tank_road_littlebird_2(param_00) +{ + var_01 = "LB-" + param_00; + var_02 = "littlebird_road_flyby"; + var_03 = []; + var_03[0] = 1600; + var_04 = []; + var_04[0] = 33; + thread soundscripts\_snd_common::snd_advanced_flyby_system(var_02,undefined,var_03,var_04,1,"littlebird_death_spin","littlebird_death_explo"); +} + +//Function Number: 210 +aud_tank_field_warbird() +{ + var_00 = "WB-1: "; + var_01 = "warbird_field_flyby"; + var_02 = []; + var_02["warbird_field_spawn_1st"] = 0.266; + var_02["warbird_field_spawn_2nd"] = 16.096; + var_03 = []; + var_03[0] = 2000; + thread soundscripts\_snd_common::snd_advanced_flyby_system(var_01,var_02,var_03,undefined,1,undefined,"warbird_death_explo"); +} + +//Function Number: 211 +aud_tank_field_littlebird(param_00) +{ + var_01 = "LB-" + param_00 + ": "; + var_02 = "littlebird_flyby"; + var_03 = []; + var_03["littlebird_field_spawn_far"] = 4.857; + thread soundscripts\_snd_common::snd_advanced_flyby_system(var_02,var_03,undefined,undefined,1,"littlebird_death_spin","littlebird_death_explo"); +} + +//Function Number: 212 +aud_combat_clearing_1_warbird() +{ + var_00 = "WB-2: "; + var_01 = "warbird_clearing_flyby"; + var_02 = []; + var_02["warbird_clearing_spawn_1st"] = 0.369; + var_02["warbird_clearing_spawn_2nd"] = 15.957; + var_02["warbird_clearing_spawn_3rd"] = 18.859; + var_03 = []; + var_03[0] = 2000; + var_03[1] = 3000; + var_03[2] = 5000; + thread soundscripts\_snd_common::snd_advanced_flyby_system(var_01,var_02,var_03,undefined,1,undefined,"warbird_death_explo"); +} + +//Function Number: 213 +aud_combat_clearing_2_littlebird_1(param_00) +{ + var_01 = "LB-" + param_00 + ": "; + var_02 = "littlebird_clearing2_flyby"; + var_03 = []; + var_03["littlebird_clearing2_spawn"] = 4.74; + var_04 = []; + var_04[0] = 2000; + var_04[1] = 3000; + var_05 = []; + var_05[0] = 40; + thread soundscripts\_snd_common::snd_advanced_flyby_system(var_02,var_03,var_04,var_05,1,"littlebird_death_spin","littlebird_death_explo"); +} + +//Function Number: 214 +aud_combat_clearing_2_littlebird_2(param_00) +{ + var_01 = "LB-" + param_00 + ": "; + var_02 = "littlebird_flyby"; + var_03 = []; + var_03["littlebird_med_incoming"] = 0.1; + var_03["littlebird_far_incoming"] = 15.415; + var_04 = []; + var_04[0] = 1900; + var_05 = []; + var_05[0] = 15; + thread soundscripts\_snd_common::snd_advanced_flyby_system(var_02,var_03,var_04,var_05,1,"littlebird_death_spin","littlebird_death_explo"); +} + +//Function Number: 215 +aud_combat_clearing_3_littlebird_1(param_00) +{ + var_01 = "LB-" + param_00 + ": "; + var_02 = "littlebird_flyby"; + var_03 = []; + var_03["littlebird1_clearing3_spawn"] = 3.145; + var_04 = []; + var_04[0] = 500; + thread soundscripts\_snd_common::snd_advanced_flyby_system(var_02,var_03,var_04,undefined,1,"littlebird_death_spin","littlebird_death_explo"); +} + +//Function Number: 216 +aud_combat_clearing_3_littlebird_2(param_00) +{ + var_01 = "LB-" + param_00 + ": "; + var_02 = "littlebird_flyby"; + var_03 = []; + var_03["littlebird2_clearing3_spawn"] = 4.658; + var_04 = []; + var_04[0] = 500; + thread soundscripts\_snd_common::snd_advanced_flyby_system(var_02,var_03,var_04,undefined,1,"littlebird_death_spin","littlebird_death_explo"); +} + +//Function Number: 217 +aud_ascent_final_warbird() +{ + var_00 = "WB-3: "; + var_01 = "warbird_flyby"; + var_02 = []; + var_02["warbird_ascent_spawn"] = 1; + var_03 = []; + var_03[0] = 500; + thread soundscripts\_snd_common::snd_advanced_flyby_system(var_01,var_02,var_03,undefined,1,undefined,"warbird_death_explo"); +} + +//Function Number: 218 +tank_disabled() +{ + soundscripts\_snd_playsound::snd_play_2d("ht_monitors_power_down"); + var_00 = (6859,14947,-484); + soundscripts\_snd_playsound::snd_play_at("ht_hatch_open_int",(6792,14954,-448)); + soundscripts\_snd_playsound::snd_play_at("ht_exfil_engine_power_down",var_00); + soundscripts\_snd_playsound::snd_play_at("ht_exfil_tank_rattle",var_00); + wait(2.7); + soundscripts\_snd::snd_music_message("end_tank_combat"); +} + +//Function Number: 219 +tank_exit() +{ + thread razorback_fly_in(); + thread soundscripts\_snd_common::snd_disable_soundcontextoverride("bullet_metal_vehicle"); + wait(8.3); + soundscripts\_audio_mix_manager::mm_clear_submix("tank_battle"); + soundscripts\_audio_mix_manager::mm_add_submix("tank_exfil"); +} + +//Function Number: 220 +set_up_tank_exit_anims() +{ + if(level.currentgen && !istransientloaded("lab_outro_tr")) + { + level waittill("tff_post_middle_to_outro"); + } + + maps\_anim::addnotetrack_customfunction("burke","lab_tank_exit_gid_stand",::lab_tank_exit_gid_stand,"hovertank_exit"); + maps\_anim::addnotetrack_customfunction("burke","lab_tank_exit_gid_walk",::lab_tank_exit_gid_walk,"hovertank_exit"); + maps\_anim::addnotetrack_customfunction("burke","lab_tank_exit_gid_stairs",::lab_tank_exit_gid_stairs,"hovertank_exit"); + maps\_anim::addnotetrack_customfunction("burke","lab_tank_exit_gid_at_hatch",::lab_tank_exit_gid_at_hatch,"hovertank_exit"); + maps\_anim::addnotetrack_customfunction("cormack","lab_tank_exit_crmk_stand",::lab_tank_exit_crmk_stand,"hovertank_exit"); + maps\_anim::addnotetrack_customfunction("cormack","lab_tank_exit_crmk_walk",::lab_tank_exit_crmk_walk,"hovertank_exit"); + maps\_anim::addnotetrack_customfunction("cormack","lab_tank_exit_crmk_land",::lab_tank_exit_crmk_land,"hovertank_exit"); + maps\_anim::addnotetrack_customfunction("knox","lab_tank_exit_knx_stand",::lab_tank_exit_knx_stand,"hovertank_exit"); + maps\_anim::addnotetrack_customfunction("knox","lab_tank_exit_knx_stairs",::lab_tank_exit_knx_stairs,"hovertank_exit"); + maps\_anim::addnotetrack_customfunction("knox","lab_tank_exit_knx_at_hatch",::lab_tank_exit_knx_at_hatch,"hovertank_exit"); + maps\_anim::addnotetrack_customfunction("knox","lab_tank_exit_knx_land",::lab_tank_exit_knx_land,"hovertank_exit"); + maps\_anim::addnotetrack_customfunction("player_rig","lab_tank_exit_plr_stand",::lab_tank_exit_plr_stand,"hovertank_exit"); + maps\_anim::addnotetrack_customfunction("player_rig","lab_tank_exit_plr_stairs",::lab_tank_exit_plr_stairs,"hovertank_exit"); + maps\_anim::addnotetrack_customfunction("player_rig","lab_tank_exit_plr_at_hatch",::lab_tank_exit_plr_at_hatch,"hovertank_exit"); + maps\_anim::addnotetrack_customfunction("player_rig","lab_tank_exit_plr_land",::lab_tank_exit_plr_land,"hovertank_exit"); +} + +//Function Number: 221 +lab_tank_exit_gid_stand(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("ht_exit_tank_burke_stand"); +} + +//Function Number: 222 +lab_tank_exit_gid_walk(param_00) +{ +} + +//Function Number: 223 +lab_tank_exit_gid_stairs(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("ht_exit_tank_burke_stairs"); +} + +//Function Number: 224 +lab_tank_exit_gid_at_hatch(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("ht_exit_tank_burke_hatch"); +} + +//Function Number: 225 +lab_tank_exit_crmk_stand(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("ht_exit_tank_cormack_stand"); +} + +//Function Number: 226 +lab_tank_exit_crmk_walk(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("ht_exit_tank_cormack_stairs"); +} + +//Function Number: 227 +lab_tank_exit_crmk_land(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("ht_exit_tank_cormack_land"); +} + +//Function Number: 228 +lab_tank_exit_knx_stand(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("ht_exit_tank_knox_stand"); +} + +//Function Number: 229 +lab_tank_exit_knx_stairs(param_00) +{ +} + +//Function Number: 230 +lab_tank_exit_knx_at_hatch(param_00) +{ +} + +//Function Number: 231 +lab_tank_exit_knx_land(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("ht_exit_tank_knox_land"); +} + +//Function Number: 232 +lab_tank_exit_plr_stand(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("ht_exit_tank_player"); +} + +//Function Number: 233 +lab_tank_exit_plr_stairs(param_00) +{ +} + +//Function Number: 234 +lab_tank_exit_plr_at_hatch(param_00) +{ +} + +//Function Number: 235 +lab_tank_exit_plr_land(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("ht_exit_tank_player_land"); +} + +//Function Number: 236 +lab_exfil_missile_strike() +{ + var_00 = self; + var_00 soundscripts\_snd_playsound::snd_play_linked("lab_missile_strike_incoming"); + var_01 = var_00.origin; + while(isdefined(var_00)) + { + var_01 = var_00.origin; + wait(0.05); + } + + soundscripts\_snd_playsound::snd_play_at("lab_missile_strike_explo",var_01); +} + +//Function Number: 237 +razorback_fly_in() +{ + soundscripts\_audio_mix_manager::mm_clear_submix("lab_tank_foley_mute"); + soundscripts\_audio_mix_manager::mm_add_submix("razorback_fly_in"); + level waittill("hovertank_hide_interior"); + soundscripts\_snd_playsound::snd_play_2d("razorback_fly_by"); +} + +//Function Number: 238 +razorback_land() +{ + var_00 = (7836,14849,-505); + var_01 = (7899,14651,-526); + level.razorback soundscripts\_snd_playsound::snd_play_linked("razorback_overhead"); + wait(3.5); + var_02 = soundscripts\_snd_playsound::snd_play_loop_at("razorback_ext_idle",var_01,"kill_engine_loop"); + var_03 = soundscripts\_snd_playsound::snd_play_loop_at("razorback_ext_idle_jet",var_00,"kill_jet_loop"); + level waittill("player_enters_razorback"); + soundscripts\_snd_playsound::snd_play_2d("razorback_int_takeoff"); + var_03 scalevolume(0,2); + wait(2); + level notify("kill_jet_loop"); + var_02 scalevolume(0.5,4); + wait(5); + var_02 scalevolume(0,3); + wait(3); + level notify("kill_engine_loop"); +} + +//Function Number: 239 +aud_start_exfil_foley() +{ + soundscripts\_audio_mix_manager::mm_add_submix("lab_razor_exfil_foley_mute"); + wait(0.65); + soundscripts\_snd_playsound::snd_play_2d("lab_exfil_player_foley"); + wait(3.76); + soundscripts\_snd_playsound::snd_play_at("lab_exfil_portside_guy_foley",(7958,14634,-529)); + wait(1.1); + soundscripts\_snd_playsound::snd_play_at("lab_exfil_cormack_foley",(7894,14727,-538)); +} + +//Function Number: 240 +lab_exfil_detonate_anims() +{ + if(level.currentgen && !istransientloaded("lab_outro_tr")) + { + level waittill("tff_post_middle_to_outro"); + } + + maps\_anim::addnotetrack_customfunction("burke","lab_exfil_wrist_panel",::lab_exfil_wrist_panel,"exfil_enter"); +} + +//Function Number: 241 +lab_exfil_wrist_panel(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lab_exfil_gideon_exo_panel"); +} + +//Function Number: 242 +tank_exfil_charges_going_off() +{ + soundscripts\_snd_playsound::snd_play_2d("ht_exfil_charges_ignite"); +} + +//Function Number: 243 +tank_exfil_detonate() +{ + soundscripts\_snd_playsound::snd_play_2d("ht_exfil_detonate"); + wait(3); + soundscripts\_snd_playsound::snd_play_2d("ht_exfil_exp_secondaries"); +} + +//Function Number: 244 +lab_e3_end_logo() +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("lab_end_logo_e3",0.5); + soundscripts\_audio_mix_manager::mm_add_submix("lab_end_logo"); +} + +//Function Number: 245 +e3_demo_fade_out() +{ + soundscripts\_audio_mix_manager::mm_add_submix("mute_all",3); +} + +//Function Number: 246 +e3_demo_clear_alarm() +{ + level notify("stop_interior_alarms"); +} + +//Function Number: 247 +e3_demo_fade_in() +{ + soundscripts\_audio_mix_manager::mm_add_submix("mute_all"); + wait(0.05); + start_post_courtyard_interior_alarms(); + soundscripts\_audio_mix_manager::mm_clear_submix("mute_all",2); +} + +//Function Number: 248 +aud_lab_foley_override_handler() +{ + level.player endon("death"); + for(;;) + { + level.player waittill("foley",var_00,var_01,var_02); + switch(var_00) + { + case "stationarycrouchscuff": + break; + + case "stationaryscuff": + break; + + case "crouchscuff": + break; + + case "runscuff": + break; + + case "sprintscuff": + break; + + case "prone": + break; + + case "crouchwalk": + break; + + case "crouchrun": + break; + + case "walk": + if(isdefined(level.aud.in_river) && level.aud.in_river == 1) + { + if(var_02) + { + soundscripts\_snd_playsound::snd_play_2d("fs_river_player_walk_l"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("fs_river_player_walk_r"); + } + } + else if(isdefined(level.aud.opening_run) && level.aud.opening_run == 1) + { + soundscripts\_snd_playsound::snd_play_2d("lab_opening_chase_walk"); + } + break; + + case "run": + if(isdefined(level.aud.in_river) && level.aud.in_river == 1) + { + if(var_02) + { + soundscripts\_snd_playsound::snd_play_2d("fs_river_player_sprint_l"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("fs_river_player_sprint_r"); + } + } + else if(isdefined(level.aud.opening_run) && level.aud.opening_run == 1) + { + soundscripts\_snd_playsound::snd_play_2d("lab_opening_chase_run"); + } + break; + + case "sprint": + if(isdefined(level.aud.in_river) && level.aud.in_river == 1) + { + if(var_02) + { + soundscripts\_snd_playsound::snd_play_2d("fs_river_player_sprint_l"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("fs_river_player_sprint_r"); + } + } + else if(isdefined(level.aud.opening_run) && level.aud.opening_run == 1) + { + soundscripts\_snd_playsound::snd_play_2d("lab_opening_chase_sprint"); + } + break; + + case "jump": + break; + + case "lightland": + if(isdefined(level.aud.in_river) && level.aud.in_river == 1) + { + soundscripts\_snd_playsound::snd_play_2d("fs_river_player_sprint_l"); + soundscripts\_snd_playsound::snd_play_2d("fs_river_player_sprint_r"); + } + else if(isdefined(level.aud.opening_run) && level.aud.opening_run == 1) + { + soundscripts\_snd_playsound::snd_play_2d("lab_opening_chase_land_lt"); + } + break; + + case "mediumland": + if(isdefined(level.aud.in_river) && level.aud.in_river == 1) + { + soundscripts\_snd_playsound::snd_play_2d("river_player_splash_med"); + } + else if(isdefined(level.aud.opening_run) && level.aud.opening_run == 1) + { + soundscripts\_snd_playsound::snd_play_2d("lab_opening_chase_land_med"); + } + break; + + case "heavyland": + if(isdefined(level.aud.opening_run) && level.aud.opening_run == 1) + { + soundscripts\_snd_playsound::snd_play_2d("lab_opening_chase_land_hv"); + } + break; + + case "damageland": + break; + + case "mantleuphigh": + soundscripts\_snd_playsound::snd_play_2d("log_mantle_up_high"); + break; + + case "mantleupmedium": + soundscripts\_snd_playsound::snd_play_2d("log_mantle_up_medium"); + break; + + case "mantleuplow": + soundscripts\_snd_playsound::snd_play_2d("log_mantle_up_low"); + break; + + case "mantleoverhigh": + soundscripts\_snd_playsound::snd_play_2d("log_mantle_over_high"); + break; + + case "mantleovermedium": + soundscripts\_snd_playsound::snd_play_2d("log_mantle_over_medium"); + break; + + case "mantleoverlow": + soundscripts\_snd_playsound::snd_play_2d("log_mantle_over_low"); + break; + } + } +} + +//Function Number: 249 +start_interior_alarms() +{ + var_00 = [[0,1],[79.5249,1],[194.9644,0.8796],[305.2732,0.733],[377.1021,0.5916],[446.3658,0.4293],[513.0641,0.2408],[579.7625,0.1047],[700.3325,0.01],[1080,0.01]]; + var_01 = [[0,0.25],[284.7506,0.5],[495.1069,0.4974],[625.9382,0.4293],[728.5511,0.2984],[823.4679,0.1937],[915.8195,0.1099],[1080,0.01]]; + thread alarm_enable((-14489,12517,-1115),0.4,"alarm_av_04_int_near",var_00,"alarm_av_04_int_far",var_01,"stop_interior_alarms"); + thread alarm_enable((-14431,12807,-1148),0.1,"alarm_av_07_int_near",var_00,"alarm_av_07_int_far",var_01,"stop_interior_alarms"); + thread alarm_enable((-13884,14223,-1154),0.2,"alarm_av_01_int_near",var_00,"alarm_av_01_int_far",var_01,"stop_interior_alarms"); + thread alarm_enable((-13884,14223,-1154),0.2,"alarm_av_09_int_near",var_00,"alarm_av_09_int_far",var_01,"stop_interior_alarms"); + thread alarm_enable((-12548,14973,-1148),0.3,"alarm_av_04_int_near",var_00,"alarm_av_04_int_far",var_01,"stop_interior_alarms"); + thread alarm_enable((-13072,15642,-1148),0.3,"alarm_av_04_int_near",var_00,"alarm_av_04_int_far",var_01,"stop_interior_alarms"); + thread alarm_enable((-11896,15552,-1148),0.2,"alarm_01_int_near",var_00,"alarm_01_int_far",var_01,"stop_interior_alarms"); +} + +//Function Number: 250 +start_courtyard_alarms() +{ + var_00 = [[0,1],[79.5249,1],[194.9644,0.8796],[305.2732,0.733],[377.1021,0.5916],[446.3658,0.4293],[513.0641,0.2408],[579.7625,0.1047],[700.3325,0.01],[1080,0.01]]; + var_01 = [[0,0.25],[284.7506,0.5],[495.1069,0.4974],[625.9382,0.4293],[728.5511,0.2984],[823.4679,0.1937],[915.8195,0.1099],[1080,0.01]]; + var_00 = soundscripts\_audio::aud_scale_envelope(var_00,1.7); + var_01 = soundscripts\_audio::aud_scale_envelope(var_01,1.7); + thread alarm_enable((-12683,11674,-1260),0.6,"alarm_al_01a_int_near",var_00,"alarm_06_int_far",var_01,"stop_courtyard_alarms"); +} + +//Function Number: 251 +start_post_courtyard_interior_alarms() +{ + var_00 = [[0,1],[79.5249,1],[194.9644,0.8796],[305.2732,0.733],[377.1021,0.5916],[446.3658,0.4293],[513.0641,0.2408],[579.7625,0.1047],[700.3325,0.01],[1080,0.01]]; + var_01 = [[0,0.25],[284.7506,0.5],[495.1069,0.4974],[625.9382,0.4293],[728.5511,0.2984],[823.4679,0.1937],[915.8195,0.1099],[1080,0.01]]; + var_02 = (-12837,11152,-1239); + var_03 = (-12163,11008,-1210); + var_04 = (-11496,10433,-1068); + var_05 = (-10758,10549,-1078); + var_06 = (-11601,9528,-1068); + thread alarm_enable(var_02,0.25,"alarm_av_04_int_near_hangar",var_00,"alarm_av_04_int_far_hangar",var_01,"stop_post_courtyard_alarms"); + thread alarm_enable(var_03,0.25,"alarm_av_04_int_near_hangar",var_00,"alarm_av_04_int_far_hangar",var_01,"stop_post_courtyard_alarms"); + thread alarm_enable(var_05,0.15,"alarm_06_int_far_hangar",var_00,"alarm_06_int_far_hangar",var_01,"stop_post_courtyard_alarms"); + thread alarm_enable(var_06,0.25,"alarm_av_04_int_near_hangar",var_00,"alarm_av_04_int_far_hangar",var_01,"stop_post_courtyard_alarms"); +} + +//Function Number: 252 +alarm_enable(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + if(!isdefined(level.aud.alarm_guid)) + { + level.aud.alarm_guid = 0; + } + + var_08 = "stop_" + param_02 + "_" + level.aud.alarm_guid; + level.aud.alarm_guid++; + thread alarm_start(param_00,param_01,param_02,param_03,param_04,param_05,var_08,param_07); + level waittill(param_06); + level notify(var_08); +} + +//Function Number: 253 +alarm_start(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + level endon(param_06); + var_08 = 0; + var_09 = 1; + param_07 = soundscripts\_audio::aud_get_optional_param(0,param_07); + var_0A = spawnstruct(); + var_0A.emitter_origin = param_00; + var_0A.volume = param_01; + var_0A.update_rate = 0.1; + var_0A.alarm_is_playing = 0; + var_0A.loop_fade_time = 1; + var_0A.stop_notify_string = param_06; + var_0A.loops = [alarm_create_loops(param_02,param_03,var_0A.loop_fade_time),alarm_create_loops(param_04,param_05,var_0A.loop_fade_time)]; + var_0A thread alarm_monitor_cleanup(); + var_0B = var_0A.loops[0].env.size; + var_0C = var_0A.loops[0].env[var_0B - 1]; + var_0D = var_0C[0]; + for(;;) + { + var_0A.curr_dist = distance(level.player.origin,param_00); + if(!var_0A.alarm_is_playing && param_07 == var_08 || param_07 == var_09 && var_0A.curr_dist <= var_0D) + { + var_0A thread alarm_start_loops(); + } + else if(var_0A.alarm_is_playing && param_07 == var_09 && var_0A.curr_dist > var_0D) + { + var_0A thread alarm_stop_loops(); + } + else if(var_0A.curr_dist <= var_0D) + { + var_0A alarm_update_loops(); + } + + wait(var_0A.update_rate); + } +} + +//Function Number: 254 +alarm_create_loops(param_00,param_01,param_02) +{ + var_03 = spawnstruct(); + var_03.alias = param_00; + var_03.env = param_01; + var_03.fade_time = param_02; + return var_03; +} + +//Function Number: 255 +alarm_start_loops() +{ + var_00 = self; + var_01 = var_00.loops[0].env.size; + var_02 = var_00.loops[0].env[var_01 - 1]; + var_03 = var_02[1]; + foreach(var_05 in var_00.loops) + { + var_05.ent = spawn("script_origin",var_00.emitter_origin); + var_05.ent scalevolume(var_03,0); + var_05.ent soundscripts\_snd_playsound::snd_play_loop(var_05.alias); + } + + var_00.alarm_is_playing = 1; +} + +//Function Number: 256 +alarm_stop_loops() +{ + var_00 = self; + var_00.alarm_is_playing = 0; + var_01 = []; + foreach(var_03 in var_00.loops) + { + var_04 = var_03.ent; + var_03.ent = undefined; + if(isdefined(var_04)) + { + var_04 scalevolume(0,var_00.loop_fade_time); + var_01[var_01.size] = var_04; + } + } + + wait(var_00.loop_fade_time); + foreach(var_04 in var_01) + { + if(isdefined(var_04)) + { + var_04 soundscripts\_snd_playsound::snd_stop_sound(); + var_04 delete(); + } + } +} + +//Function Number: 257 +alarm_update_loops() +{ + var_00 = self; + if(var_00.alarm_is_playing) + { + foreach(var_02 in var_00.loops) + { + if(isdefined(var_02.ent)) + { + var_03 = piecewiselinearlookup(var_00.curr_dist,var_02.env); + var_02.ent scalevolume(var_03 * var_00.volume,var_00.update_rate); + } + } + } +} + +//Function Number: 258 +alarm_monitor_cleanup() +{ + var_00 = self; + level waittill(var_00.stop_notify_string); + var_00 alarm_stop_loops(); +} + +//Function Number: 259 +aud_tank_section_vehicles_spawned(param_00,param_01) +{ + foreach(var_03 in param_00) + { + var_04 = var_03.vehicletype; + var_03 aud_tank_section_vehicles_handler(var_04,param_01); + } +} + +//Function Number: 260 +aud_tank_section_vehicles_handler(param_00,param_01) +{ + if(isdefined(param_00)) + { + switch(param_00) + { + case "ft101_tank_physics": + thread aud_tank_death_listener(); + break; + + case "vrap_physics": + thread aud_jeep_death_listener(); + break; + + default: + break; + } + } + + if(isdefined(param_01)) + { + switch(param_01) + { + case "flag_tank_road_littlebirds": + if(param_00 == "littlebird") + { + if(!isdefined(level.aud.tank_road_littlebird)) + { + var_02 = 1; + thread aud_tank_road_littlebird_1(var_02); + } + else + { + var_02 = level.aud.tank_road_littlebird + 1; + thread aud_tank_road_littlebird_2(var_02); + } + + level.aud.tank_road_littlebird = var_02; + } + break; + + case "flag_tank_field_warbird_and_littlebird": + if(param_00 == "xh9_warbird") + { + thread aud_tank_field_warbird(); + } + else if(param_00 == "littlebird") + { + var_02 = 1; + thread aud_tank_field_littlebird(var_02); + } + break; + + case "flag_hovertank_combat_clearing_choppers_1": + if(param_00 == "xh9_warbird") + { + thread aud_combat_clearing_1_warbird(); + } + break; + + case "flag_hovertank_combat_clearing_choppers_2": + if(param_00 == "littlebird") + { + if(!isdefined(level.aud.tank_clearing2_littlebird)) + { + var_02 = 1; + thread aud_combat_clearing_2_littlebird_1(var_02); + } + else + { + var_02 = level.aud.tank_clearing2_littlebird + 1; + thread aud_combat_clearing_2_littlebird_2(var_02); + } + + level.aud.tank_clearing2_littlebird = var_02; + } + break; + + case "flag_hovertank_combat_clearing_choppers_3": + if(param_00 == "littlebird") + { + if(!isdefined(level.aud.tank_clearing3_littlebird)) + { + var_02 = 1; + thread aud_combat_clearing_3_littlebird_1(var_02); + } + else + { + var_02 = level.aud.tank_clearing3_littlebird + 1; + thread aud_combat_clearing_3_littlebird_2(var_02); + } + + level.aud.tank_clearing3_littlebird = var_02; + } + break; + + case "flag_hovertank_ascent_final_enemies": + if(param_00 == "xh9_warbird") + { + thread aud_ascent_final_warbird(); + } + break; + + default: + break; + } + } +} + +//Function Number: 261 +aud_tank_death_listener() +{ + self waittill("death"); + var_00 = 0; + if(isdefined(self)) + { + var_01 = distance2d(self.origin,level.player.origin); + if(var_01 < 720) + { + soundscripts\_audio_mix_manager::mm_add_submix("tank_vehicle_destruct"); + var_00 = 1; + } + } + + wait(0.05); + level.player soundscripts\_snd_playsound::snd_play("enemy_tank_destroyed_impact"); + if(var_00) + { + wait(0.35); + soundscripts\_audio_mix_manager::mm_clear_submix("tank_vehicle_destruct",0.5); + } +} + +//Function Number: 262 +aud_jeep_death_listener() +{ + self waittill("death"); + var_00 = 0; + if(isdefined(self)) + { + if(distance2d(self.origin,level.player.origin) < 720) + { + soundscripts\_audio_mix_manager::mm_add_submix("jeep_vehicle_destruct"); + var_00 = 1; + } + } + + wait(0.05); + level.player soundscripts\_snd_playsound::snd_play("enemy_jeep_destroyed_impact"); + if(var_00) + { + wait(0.35); + soundscripts\_audio_mix_manager::mm_clear_submix("jeep_vehicle_destruct",0.5); + } +} + +//Function Number: 263 +wait_for_anim_start(param_00,param_01) +{ + while(param_01 getanimtime(param_00) == 0) + { + wait 0.05; + } +} + +//Function Number: 264 +play_sound_stop_on_notify(param_00,param_01,param_02) +{ + var_03 = spawn("script_origin",param_01.origin); + var_03 linkto(param_01); + var_03 soundscripts\_snd_playsound::snd_play(param_00,"sounddone"); + common_scripts\utility::waittill_any_ents(var_03,"sounddone",level,param_02); + soundscripts\_audio::aud_fade_out_and_delete(var_03,0.1); +} \ No newline at end of file diff --git a/AW/PC/maps/lab_breach.gsc b/AW/PC/maps/lab_breach.gsc new file mode 100644 index 0000000..c8940e9 --- /dev/null +++ b/AW/PC/maps/lab_breach.gsc @@ -0,0 +1,610 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: lab_breach.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 32 + * Decompile Time: 468 ms + * Timestamp: 4/22/2024 2:32:37 AM +*******************************************************************/ + +//Function Number: 1 +init_facility_breach() +{ + common_scripts\utility::flag_init("breach_done"); + common_scripts\utility::flag_init("lab_breach_all_guys_dead"); + common_scripts\utility::flag_init("flag_burke_kills_guy"); + common_scripts\utility::flag_init("burke_is_in_position_for_facility_breach"); + level.breachfriendlies = []; + level.breachfriendlies[level.breachfriendlies.size] = level.burke; + level.breachfriendlies[level.breachfriendlies.size] = level.cormack; + level.breachfriendlies[level.breachfriendlies.size] = level.knox; + var_00 = "none"; + if(level.currentgen) + { + if(istransientloaded("lab_intro_tr")) + { + var_00 = "intro"; + } + else if(istransientloaded("lab_middle_tr")) + { + var_00 = "middle"; + } + else if(istransientloaded("lab_outro_tr")) + { + var_00 = "outro"; + } + } + + init_facility_breach_anims(var_00); + if(level.currentgen) + { + if(var_00 == "intro") + { + thread notetrack_setup_middle(); + } + + if(var_00 == "intro" || var_00 == "middle") + { + thread notetrack_setup_outro(); + } + } +} + +//Function Number: 2 +init_facility_breach_anims(param_00) +{ + init_facility_breach_model_anims(param_00); + init_facility_breach_npc_anims(param_00); + init_facility_breach_view_model_anims(param_00); +} + +//Function Number: 3 +init_facility_breach_model_anims(param_00) +{ + level.scr_animtree["facility_breach_charge"] = #animtree; + level.scr_model["facility_breach_charge"] = "breach_charge"; + level.scr_anim["facility_breach_charge"]["facility_breach"] = %lab_breachroom_breach_charge; + level.scr_animtree["facility_breach_mute_device"] = #animtree; + level.scr_model["facility_breach_mute_device"] = "muteCharge"; + level.scr_anim["facility_breach_mute_device"]["facility_breach"] = %lab_breachroom_breach_mute; + if(level.nextgen || param_00 == "middle") + { + maps\_anim::addnotetrack_customfunction("facility_breach_mute_device","vfx_mute_device_plant",::maps\lab_fx::mute_device_plant_fx,"facility_breach"); + } + + level.scr_animtree["facility_breach_crate"] = #animtree; + level.scr_model["facility_breach_crate"] = "genericProp"; + level.scr_anim["facility_breach_crate"]["facility_breach"] = %lab_breachroom_breach_box; +} + +//Function Number: 4 +init_facility_breach_npc_anims(param_00) +{ + level.scr_anim["burke"]["facility_breach"] = %lab_breachroom_breach_hero_01; + level.scr_anim["burke"]["facility_breach_idle"][0] = %lab_breachroom_breach_hero_01_idle; + level.scr_anim["burke"]["facility_breach_end"] = %lab_breachroom_breach_hero_01_exit; + if(level.nextgen || param_00 == "middle") + { + maps\_anim::addnotetrack_customfunction("burke","interrupt_anim",::no_interrupt,"facility_breach"); + maps\_anim::addnotetrack_customfunction("burke","glass_break",::break_glass,"facility_breach"); + } + + level.facility_breach_guys = []; + level.facility_breach_guys[0] = getent("facility_breach_guy_01","targetname"); + level.facility_breach_guys[0].animname = "facility_breach_guy_01"; + level.scr_anim["facility_breach_guy_01"]["facility_breach"] = %lab_breachroom_breach_guy_01; + level.facility_breach_guys[1] = getent("facility_breach_guy_02","targetname"); + level.facility_breach_guys[1].animname = "facility_breach_guy_02"; + level.scr_anim["facility_breach_guy_02"]["facility_breach"] = %lab_breachroom_breach_guy_02; + level.facility_breach_guys[2] = getent("facility_breach_guy_03","targetname"); + level.facility_breach_guys[2].animname = "facility_breach_guy_03"; + level.scr_anim["facility_breach_guy_03"]["facility_breach"] = %lab_breachroom_breach_guy_03; + level.facility_breach_guys[3] = getent("facility_breach_guy_04","targetname"); + level.facility_breach_guys[3].animname = "facility_breach_guy_04"; + level.scr_anim["facility_breach_guy_04"]["facility_breach"] = %lab_breachroom_breach_guy_04; + level.facility_breach_guys[4] = getent("facility_breach_guy_05","targetname"); + level.facility_breach_guys[4].animname = "facility_breach_guy_05"; + level.scr_anim["facility_breach_guy_05"]["facility_breach"] = %lab_breachroom_breach_guy_05; + if(level.nextgen || param_00 == "middle") + { + maps\_anim::addnotetrack_customfunction("facility_breach_guy_05","start_ragdoll",::maps\lab_anim::ai_kill,"facility_breach"); + } +} + +//Function Number: 5 +init_facility_breach_view_model_anims(param_00) +{ + level.scr_anim["player_rig"]["facility_breach"] = %lab_breachroom_breach_vm; + if(level.nextgen || param_00 == "middle") + { + maps\_anim::addnotetrack_customfunction("player_rig","Start_slowdown",::breach_slow_down,"facility_breach"); + maps\_anim::addnotetrack_customfunction("player_rig","Blow_charge",::blow_door,"facility_breach"); + maps\_anim::addnotetrack_customfunction("player_rig","enable_player_control",::enable_player_control,"facility_breach"); + } +} + +//Function Number: 6 +notetrack_setup_middle() +{ + level waittill("tff_post_intro_to_middle"); + maps\_anim::addnotetrack_customfunction("facility_breach_mute_device","vfx_mute_device_plant",::maps\lab_fx::mute_device_plant_fx,"facility_breach"); + maps\_anim::addnotetrack_customfunction("burke","interrupt_anim",::no_interrupt,"facility_breach"); + maps\_anim::addnotetrack_customfunction("burke","glass_break",::break_glass,"facility_breach"); + maps\_anim::addnotetrack_customfunction("facility_breach_guy_05","start_ragdoll",::maps\lab_anim::ai_kill,"facility_breach"); + maps\_anim::addnotetrack_customfunction("player_rig","Start_slowdown",::breach_slow_down,"facility_breach"); + maps\_anim::addnotetrack_customfunction("player_rig","Blow_charge",::blow_door,"facility_breach"); + maps\_anim::addnotetrack_customfunction("player_rig","enable_player_control",::enable_player_control,"facility_breach"); +} + +//Function Number: 7 +notetrack_setup_outro() +{ + level waittill("tff_post_middle_to_outro"); +} + +//Function Number: 8 +facility_breach_get_burke_into_position() +{ + var_00 = getnode("node_burke_facility_breach","targetname"); + level.burke setgoalnode(var_00); + var_01 = level.burke.goalradius; + level.burke.goalradius = 16; + level.burke waittill("goal"); + level.burke.goalradius = var_01; + common_scripts\utility::flag_set("burke_is_in_position_for_facility_breach"); +} + +//Function Number: 9 +facility_breach_spawn_bad_guys(param_00) +{ + level.facility_breach_guys = []; + level.facility_breach_guys[0] = getent("facility_breach_guy_01","targetname") maps\_utility::spawn_ai(1); + level.facility_breach_guys[0].animname = "facility_breach_guy_01"; + level.facility_breach_guys[1] = getent("facility_breach_guy_02","targetname") maps\_utility::spawn_ai(1); + level.facility_breach_guys[1].animname = "facility_breach_guy_02"; + level.facility_breach_guys[2] = getent("facility_breach_guy_03","targetname") maps\_utility::spawn_ai(1); + level.facility_breach_guys[2].animname = "facility_breach_guy_03"; + level.facility_breach_guys[3] = getent("facility_breach_guy_04","targetname") maps\_utility::spawn_ai(1); + level.facility_breach_guys[3].animname = "facility_breach_guy_04"; + level.facility_breach_guys[4] = getent("facility_breach_guy_05","targetname") maps\_utility::spawn_ai(1); + level.facility_breach_guys[4].animname = "facility_breach_guy_05"; + param_00 maps\_anim::anim_first_frame(level.facility_breach_guys,"facility_breach"); + foreach(var_02 in level.facility_breach_guys) + { + level thread breach_enemy_track_status(var_02); + var_02.allowdeath = 1; + var_02.health = 10; + var_02 maps\_utility::disable_surprise(); + var_02.ignoresonicaoe = 1; + } +} + +//Function Number: 10 +facility_breach() +{ + common_scripts\utility::flag_wait("burke_is_in_position_for_facility_breach"); + var_00 = getent("facility_breach_trigger","targetname"); + var_00 thread maps\_utility::addhinttrigger(&"LAB_PLANT_MUTE_HINT",&"LAB_PLANT_MUTE_HINT_PC"); + var_00 thread maps\lab_utility::disable_trigger_while_player_animating("breaching"); + var_01 = var_00 maps\_shg_utility::hint_button_trigger("x"); + for(;;) + { + var_00 waittill("trigger"); + if(!isdefined(var_00.trigger_off)) + { + break; + } + } + + var_00 delete(); + var_01 maps\_shg_utility::hint_button_clear(); + common_scripts\utility::flag_set("breach_start"); + var_02 = getent("facility_breach_animation_origin","targetname"); + level.breachenemies_active = 0; + level.breachenemies_alive = 0; + level.player_rig = maps\lab_utility::spawn_player_rig(); + level.player_rig hide(); + var_03 = getent("facility_breach_crate_model","targetname"); + var_04 = getent("facility_breach_crate_clip","targetname"); + var_04 linkto(var_03); + level.facility_breach_crate = maps\_utility::spawn_anim_model("facility_breach_crate",var_03.origin); + soundscripts\_snd::snd_message("lab_mute_gun_holster"); + var_02 maps\_anim::anim_first_frame_solo(level.facility_breach_crate,"facility_breach"); + var_03 linkto(level.facility_breach_crate,"tag_origin_animated",(0,0,0),(0,0,0)); + level.facility_breach_charge = maps\_utility::spawn_anim_model("facility_breach_charge",var_02.origin); + level.facility_breach_charge hide(); + var_02 maps\_anim::anim_first_frame_solo(level.facility_breach_charge,"facility_breach"); + level.facility_breach_mute_device = maps\_utility::spawn_anim_model("facility_breach_mute_device",var_02.origin); + level.facility_breach_mute_device hide(); + var_02 maps\_anim::anim_first_frame_solo(level.facility_breach_mute_device,"facility_breach"); + level notify("breaching"); + breach_friendlies_take_grenades(); + level.player freezecontrols(1); + level.player maps\_shg_utility::setup_player_for_scene(1); + maps\_player_exo::player_exo_deactivate(); + thread facility_breach_setup_player(); + var_05 = 0.4; + var_02 maps\_anim::anim_first_frame_solo(level.player_rig,"facility_breach"); + level.player playerlinktoblend(level.player_rig,"tag_player",var_05); + level.burke.animname = "burke"; + var_06 = [level.facility_breach_charge,level.facility_breach_mute_device,level.player_rig,level.facility_breach_crate]; + wait(var_05); + level.facility_breach_mute_device soundscripts\_snd::snd_message("aud_facility_breach_start"); + level.facility_breach_charge show(); + level.facility_breach_mute_device show(); + level.player_rig show(); + var_02 thread maps\_anim::anim_single(var_06,"facility_breach"); + level.burke thread burke_breach(var_02); + facility_breach_spawn_bad_guys(var_02); + var_02 thread maps\_anim::anim_single(level.facility_breach_guys,"facility_breach"); + thread burke_breach_interrupt(); + level.facility_breach_guys[0] maps\_utility::delaythread(15,::maps\lab_utility::bloody_death,1,level.burke); + level.facility_breach_guys[1] maps\_utility::delaythread(15,::maps\lab_utility::bloody_death,1,level.burke); + level.facility_breach_guys[2] maps\_utility::delaythread(15,::maps\lab_utility::bloody_death,1,level.burke); + level.facility_breach_guys[3] maps\_utility::delaythread(15,::maps\lab_utility::bloody_death,1,level.burke); + maps\_utility::delaythread(15,::common_scripts\utility::flag_set,"lab_breach_all_guys_dead"); + level.player thread breach_top_off_weapon(); + var_04 disconnectpaths(); + for(;;) + { + if(level.breachenemies_alive <= 0) + { + break; + } + + wait(0.05); + } + + common_scripts\utility::flag_set("breach_done"); +} + +//Function Number: 11 +burke_breach(param_00) +{ + param_00 maps\_anim::anim_single_solo(self,"facility_breach"); + if(common_scripts\utility::flag("flag_burke_kills_guy")) + { + param_00 thread maps\_anim::anim_loop_solo(self,"facility_breach_idle","ender"); + common_scripts\utility::flag_wait("flag_breach_patrol_01_clear"); + param_00 notify("ender"); + self stopanimscripted(); + param_00 maps\_anim::anim_single_solo_run(self,"facility_breach_end"); + } +} + +//Function Number: 12 +burke_breach_interrupt() +{ + level endon("burke_breach_uninterruptable"); + level.facility_breach_guys[4] waittill("death"); + level.burke notify("single anim","end"); + level.burke stopanimscripted(); +} + +//Function Number: 13 +facility_breach_setup_player() +{ + level.player enableinvulnerability(); + level.player disableweaponswitch(); + level.player disableoffhandweapons(); + level.player allowcrouch(0); + level.player allowprone(0); + level.player allowsprint(0); + level.player allowjump(0); +} + +//Function Number: 14 +facility_breach_cleanup_player() +{ + level.player disableinvulnerability(); + level.player enableweaponswitch(); + level.player enableoffhandweapons(); + level.player allowcrouch(1); + level.player allowprone(1); + level.player allowjump(1); +} + +//Function Number: 15 +breach_top_off_weapon(param_00) +{ + param_00 = self getcurrentweapon(); + if(should_topoff_breach_weapon()) + { + var_01 = weaponclipsize(param_00); + if(self getweaponammoclip(param_00) < var_01) + { + self setweaponammoclip(param_00,var_01); + } + } +} + +//Function Number: 16 +should_topoff_breach_weapon() +{ + if(level.gameskill > 1) + { + return 0; + } + + return 1; +} + +//Function Number: 17 +breach_slow_down(param_00) +{ + thread slowmo_begins(1); +} + +//Function Number: 18 +enable_player_control(param_00) +{ + level.player unlink(); + level.player_rig delete(); + maps\_player_exo::player_exo_activate(); + thread facility_breach_cleanup_player(); +} + +//Function Number: 19 +blow_door(param_00) +{ + level.facility_breach_charge hide(); + var_01 = getent("facility_breach_door","targetname"); + var_02 = getent("facility_breach_door_clip","targetname"); + var_02 connectpaths(); + var_01 delete(); + var_02 delete(); + level thread maps\lab_fx::mute_breach_explosion(); + level notify("breach_explosion"); + level.player_rig hide(); + level.player enableweapons(); + level.player freezecontrols(0); + setsaveddvar("ammoCounterHide",0); +} + +//Function Number: 20 +slowmo_begins(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 0.25; + } + + level.slomobreachduration = 3.5; + var_01 = 0.5; + var_02 = 0.75; + if(isdefined(level.breaching) && level.breaching == 1) + { + return; + } + + level.breaching = 1; + var_03 = 0.2; + if(isdefined(level.slomobreachplayerspeed)) + { + var_03 = level.slomobreachplayerspeed; + } + + var_04 = level.player; + common_scripts\utility::flag_clear("can_save"); + var_04 allowmelee(0); + maps\_utility::slowmo_setspeed_slow(param_00); + maps\_utility::slowmo_setlerptime_in(var_01); + maps\_utility::slowmo_lerp_in(); + var_04 setmovespeedscale(var_03); + var_05 = gettime(); + var_06 = var_05 + level.slomobreachduration * 1000; + var_04 thread catch_weapon_switch(); + var_04 thread catch_mission_failed(); + var_07 = 500; + var_08 = 1000; + for(;;) + { + if(isdefined(level.forced_slowmo_breach_slowdown)) + { + if(!level.forced_slowmo_breach_slowdown) + { + if(isdefined(level.forced_slowmo_breach_lerpout)) + { + var_02 = level.forced_slowmo_breach_lerpout; + } + + break; + } + + wait(0.05); + continue; + } + + if(gettime() >= var_06) + { + break; + } + + if(level.breachenemies_active <= 0) + { + var_02 = 1.15; + break; + } + + if(!maps\_utility::is_coop()) + { + if(var_04.lastreloadstarttime >= var_05 + var_07) + { + break; + } + + if(var_04.switchedweapons && gettime() - var_05 > var_08) + { + break; + } + } + + if(maps\_utility::is_specialop() && common_scripts\utility::flag("special_op_terminated")) + { + break; + } + + if(var_04.breach_missionfailed) + { + var_02 = 0.5; + break; + } + + wait(0.05); + } + + level notify("slowmo_breach_ending",var_02); + level notify("stop_player_heartbeat"); + var_04 thread maps\_utility::play_sound_on_entity("slomo_whoosh"); + maps\_utility::slowmo_setlerptime_out(var_02); + maps\_utility::slowmo_lerp_out(); + var_04 allowmelee(1); + maps\_utility::slowmo_end(); + common_scripts\utility::flag_set("can_save"); + level.player_one_already_breached = undefined; + var_04 slowmo_player_cleanup(); + var_04 allowsprint(1); + level notify("slomo_breach_over"); + level.breaching = 0; + setsaveddvar("objectiveHide",0); +} + +//Function Number: 21 +slowmo_player_cleanup() +{ + if(isdefined(level.playerspeed)) + { + self setmovespeedscale(level.playerspeed); + return; + } + + self setmovespeedscale(1); +} + +//Function Number: 22 +breach_enemy_waitfor_death(param_00) +{ + self endon("breach_status_change"); + param_00 waittill("death"); + self notify("breach_status_change","death"); +} + +//Function Number: 23 +breach_enemy_waitfor_death_counter(param_00) +{ + level.breachenemies_alive++; + param_00 waittill("death"); + level.breachenemies_alive--; + if(level.breachenemies_alive <= 0) + { + breach_friendlies_restore_grenades(); + } + + level notify("breach_all_enemies_dead"); +} + +//Function Number: 24 +breach_enemy_catch_exceptions(param_00) +{ + self endon("breach_status_change"); + while(isalive(param_00)) + { + wait(0.05); + } + + self notify("breach_status_change","exception"); +} + +//Function Number: 25 +breach_enemy_waitfor_breach_ending() +{ + self endon("breach_status_change"); + level waittill("slowmo_breach_ending"); + self notify("breach_status_change","breach_ending"); +} + +//Function Number: 26 +breach_enemy_track_status(param_00) +{ + level.breachenemies_active++; + var_01 = spawnstruct(); + var_01.enemy = param_00; + var_01 thread breach_enemy_waitfor_death(param_00); + var_01 thread breach_enemy_waitfor_death_counter(param_00); + var_01 thread breach_enemy_catch_exceptions(param_00); + var_01 thread breach_enemy_waitfor_breach_ending(); + var_01 waittill("breach_status_change",var_02); + level.breachenemies_active--; + var_01 = undefined; +} + +//Function Number: 27 +catch_mission_failed() +{ + level endon("slowmo_breach_ending"); + self.breach_missionfailed = 0; + level waittill("mission failed"); + self.breach_missionfailed = 1; +} + +//Function Number: 28 +catch_weapon_switch() +{ + level endon("slowmo_breach_ending"); + self.switchedweapons = 0; + common_scripts\utility::waittill_any("weapon_switch_started","night_vision_on","night_vision_off"); + self.switchedweapons = 1; +} + +//Function Number: 29 +breach_friendlies_take_grenades() +{ + if(!isdefined(level.breachfriendlies)) + { + return; + } + + level.breachfriendlies_grenades_empty = 1; + foreach(var_01 in level.breachfriendlies) + { + var_01.grenadeammo_prebreach = var_01.grenadeammo; + var_01.grenadeammo = 0; + } +} + +//Function Number: 30 +breach_friendlies_restore_grenades() +{ + if(!isdefined(level.breachfriendlies)) + { + return; + } + + if(!isdefined(level.breachfriendlies_grenades_empty)) + { + return; + } + + foreach(var_01 in level.breachfriendlies) + { + var_01.grenadeammo = var_01.grenadeammo_prebreach; + var_01.grenadeammo_prebreach = undefined; + } + + level.breachfriendlies_grenades_empty = undefined; +} + +//Function Number: 31 +no_interrupt(param_00) +{ + level notify("burke_breach_uninterruptable"); + common_scripts\utility::flag_set("flag_burke_kills_guy"); + level.facility_breach_guys[4].allowdeath = 0; +} + +//Function Number: 32 +break_glass(param_00) +{ + glassradiusdamage(param_00.origin,100,300,100); +} \ No newline at end of file diff --git a/AW/PC/maps/lab_code.gsc b/AW/PC/maps/lab_code.gsc new file mode 100644 index 0000000..6e770b5 --- /dev/null +++ b/AW/PC/maps/lab_code.gsc @@ -0,0 +1,8990 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: lab_code.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 388 + * Decompile Time: 5692 ms + * Timestamp: 4/22/2024 2:32:54 AM +*******************************************************************/ + +//Function Number: 1 +setup_spawn_functions() +{ + maps\_utility::array_spawn_function_noteworthy("enemy_research_building_wave_01",::research_building_enemy_think); + maps\_utility::array_spawn_function_noteworthy("enemy_research_building_wave_02",::research_building_enemy_think); + maps\_utility::array_spawn_function_noteworthy("enemy_pool_building_wave_01",::pool_building_enemy_think); + maps\_utility::array_spawn_function_noteworthy("enemy_research_bridge_wave_01",::facility_bridge_enemy_think); + maps\_utility::array_spawn_function_noteworthy("enemy_pool_building_walkway_wave_01",::pool_building_walkway_01_enemy_think); + maps\_utility::array_spawn_function_noteworthy("enemy_pool_building_walkway_wave_02",::pool_building_walkway_01_enemy_think); + maps\_utility::array_spawn_function_noteworthy("enemy_research_left_01",::research_left_01_enemy_think); + maps\_utility::array_spawn_function_noteworthy("enemy_research_left_lower_01",::research_left_lower_01_enemy_think); + maps\_utility::array_spawn_function_noteworthy("enemy_research_right_lower_01",::research_right_lower_01_enemy_think); + maps\_utility::array_spawn_function_noteworthy("enemy_platform_01",::research_platform_enemy_think); + maps\_utility::array_spawn_function_noteworthy("enemy_research_right_01",::research_right_01_enemy_think); + maps\_utility::array_spawn_function_noteworthy("enemy_pool_building_wave_02",::pool_building_enemy_think); + maps\_utility::array_spawn_function_noteworthy("enemy_courtyard_initial",::courtyard_enemy_initial_think); + maps\_utility::array_spawn_function_noteworthy("enemy_courtyard_jammer",::courtyard_enemy_think); + maps\_utility::array_spawn_function_noteworthy("enemy_courtyard_jammer_complete",::courtyard_enemy_think); + maps\_utility::array_spawn_function_noteworthy("enemy_courtyard_jammer_ladder",::courtyard_jammer_ladder_enemy_think); + maps\_utility::array_spawn_function_noteworthy("enemy_courtyard_sniper_fodder",::courtyard_enemy_sniper_fodder_think); + maps\_utility::array_spawn_function_noteworthy("enemy_foam_corridor_b",::foam_corridor_enemy_think); + maps\_utility::array_spawn_function_targetname("combat_courtyard_general_01",::combat_courtyard_general_01_think); + maps\_utility::array_spawn_function_targetname("combat_courtyard_path_left_00",::combat_courtyard_path_left_00_think); + maps\_utility::array_spawn_function_targetname("combat_courtyard_path_left_01",::combat_courtyard_path_left_01_think); + maps\_utility::array_spawn_function_targetname("combat_courtyard_path_left_02",::combat_courtyard_path_left_02_think); + maps\_utility::array_spawn_function_targetname("combat_courtyard_path_left_03",::combat_courtyard_path_left_03_think); + maps\_utility::array_spawn_function_targetname("combat_courtyard_path_middle_01",::combat_courtyard_path_middle_01_think); + maps\_utility::array_spawn_function_targetname("combat_courtyard_path_middle_02",::combat_courtyard_path_middle_02_think); + maps\_utility::array_spawn_function_targetname("combat_courtyard_path_middle_03",::combat_courtyard_path_middle_03_think); + maps\_utility::array_spawn_function_targetname("combat_courtyard_path_right_01",::combat_courtyard_path_right_01_think); + maps\_utility::array_spawn_function_targetname("combat_courtyard_path_right_02",::combat_courtyard_path_right_02_think); + maps\_utility::array_spawn_function_targetname("combat_courtyard_path_right_03",::combat_courtyard_path_right_03_think); + maps\_utility::array_spawn_function_noteworthy("guy_01_seeker",::patrol_01_unload_spawn_func); + maps\_utility::array_spawn_function_noteworthy("guy_02_seeker",::patrol_02_unload_spawn_func); + maps\_utility::array_spawn_function_noteworthy("guy_03_seeker",::patrol_03_unload_spawn_func); + maps\_utility::array_spawn_function_noteworthy("guy_04_seeker",::patrol_04_unload_spawn_func); + maps\_utility::array_spawn_function_noteworthy("enemy_stealth_patrol_01",::set_flag_on_death,"flag_patroler_01_clear_a","flag_patroler_takedown_02_follow_a","flag_patroler_takedown_02_follow_b","flag_patroler_takedown_02_ready"); + maps\_utility::array_spawn_function_noteworthy("enemy_stealth_patrol_02",::set_flag_on_death,"flag_patroler_01_clear_b","flag_patrol_02_clear_for_vehicle_takedown"); + maps\_utility::array_spawn_function_noteworthy("combat_mech_march_05",::set_flag_on_death,"flag_mech_march_hide_right_complete","flag_mech_march_hide_right"); + maps\_utility::array_spawn_function_noteworthy("enemy_post_breach_patrol_01",::set_flag_on_death,"flag_breach_patrol_01_clear","flag_breach_patrol_01_dead"); + maps\_utility::array_spawn_function_noteworthy("enemy_post_breach_patrol_02",::set_flag_on_death,"flag_breach_patrol_02_dead"); + maps\_utility::array_spawn_function_noteworthy("combat_mech_march_follower",::mech_march_follower_enemy_think); + maps\_utility::array_spawn_function_noteworthy("combat_mech_march_runner",::mech_march_runner_enemy_think); + common_scripts\utility::array_thread(getentarray("trigger_set_and_clear_flag","script_noteworthy"),::maps\lab_utility::trigger_set_and_clear_flag_think); + maps\_utility::add_global_spawn_function("axis",::add_drone_to_squad); + common_scripts\utility::array_thread(getentarray("helo_spotlight_shoot_trigger","script_noteworthy"),::helo_spotlight_shoot_trigger_think); + common_scripts\utility::array_thread(getentarray("camera_scanner_interior_trigger","script_noteworthy"),::maps\lab_vo::camera_scanner_interior_trigger_think); +} + +//Function Number: 2 +player_damage_check() +{ + for(;;) + { + level.player waittill("damage",var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08); + iprintlnbold("Damage Type: " + var_04); + wait 0.05; + } +} + +//Function Number: 3 +spawn_ai_flashlight() +{ + maps\_flashlight_cheap::add_cheap_flashlight(); +} + +//Function Number: 4 +equip_player() +{ + setsaveddvar("bg_viewBobAmplitudeStanding","0.007 0.007"); + maps\_variable_grenade::give_player_variable_grenade(); + maps\_player_exo::player_exo_add_single("exo_melee"); + if(common_scripts\utility::flag("flag_obj_bio_weapons_hack")) + { + thread maps\_cloak::disable_cloak_system(); + } +} + +//Function Number: 5 +debug_start_equip_player() +{ + level.player takeweapon("iw5_unarmed_nullattach"); + level.player giveweapon("iw5_hbra3_sp_silencer01_variablereddot"); + level.player givemaxammo("iw5_hbra3_sp_silencer01_variablereddot"); + level.player switchtoweapon("iw5_hbra3_sp_silencer01_variablereddot"); +} + +//Function Number: 6 +equip_player_smg() +{ + setsaveddvar("bg_viewBobAmplitudeStanding","0.007 0.007"); + level.player takeweapon("iw5_unarmed_nullattach"); + level.player giveweapon("iw5_hbra3_sp"); + level.player switchtoweapon("iw5_hbra3_sp"); +} + +//Function Number: 7 +lab_intro_screen() +{ + level.player disableweapons(); + level.player freezecontrols(1); + var_00 = 8.4; + thread maps\_shg_utility::play_chyron_video("chyron_text_biolab",8.4); + common_scripts\utility::flag_wait("chyron_video_done"); + soundscripts\_snd::snd_message("aud_lab_intro_screen"); + wait(var_00); + common_scripts\utility::flag_set("flag_escape_the_sniper_obj_give"); + common_scripts\utility::flag_set("lab_intro_screen_complete"); + soundscripts\_snd::snd_message("hud_malfunction"); +} + +//Function Number: 8 +startcloakingbinksequence() +{ + common_scripts\utility::flag_wait("lab_intro_screen_complete"); + setsaveddvar("cg_cinematicfullscreen","0"); + common_scripts\utility::flag_wait("flag_burke_dive_over_log"); + common_scripts\utility::flag_wait("flag_player_enters_forest"); + stopcinematicingame(); + cinematicingame("cloaking_hud_reboot"); + common_scripts\utility::flag_wait("flag_player_cloak_on"); + stopcinematicingame(); + cinematicingame("cloaking_hud_ready"); + common_scripts\utility::flag_wait("flag_player_cloak_on_pressed"); + stopcinematicingame(); +} + +//Function Number: 9 +startcloakingbinksequence_debug() +{ + setsaveddvar("cg_cinematicfullscreen","0"); + common_scripts\utility::flag_wait("flag_player_enters_forest"); + stopcinematicingame(); + cinematicingame("cloaking_hud_reboot"); + common_scripts\utility::flag_wait("flag_player_cloak_on"); + stopcinematicingame(); + cinematicingame("cloaking_hud_ready"); + common_scripts\utility::flag_wait("flag_player_cloak_on_pressed"); + stopcinematicingame(); +} + +//Function Number: 10 +player_movement_tweaks() +{ + maps\_utility::player_speed_percent(80,1); + level.player takeweapon("fraggrenade"); + level.player takeweapon("flash_grenade"); + setsaveddvar("bg_viewbobamplitudestanding","0.03 0.02"); + setsaveddvar("player_sprintunlimited","1"); + common_scripts\utility::flag_wait("flag_player_enters_forest"); + setsaveddvar("player_sprintunlimited","0"); + common_scripts\utility::flag_wait("flag_forest_climb_wall_complete"); + maps\_utility::player_speed_percent(100,1); +} + +//Function Number: 11 +helo_spotlight_init() +{ + if(isdefined(level.start_point) && level.start_point == "forest_start") + { + var_00 = getent("helo_spotlight","targetname"); + var_00.origin = common_scripts\utility::getstruct("path_helo_river_path_start","targetname").origin; + } + + level.helo_spotlight = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("helo_spotlight"); + level.helo_spotlight maps\_vehicle::godon(); + level.helo_spotlight maps\_utility::ent_flag_init("spotlight_on"); + level.helo_spotlight soundscripts\_snd::snd_message("aud_helo_spotlight_spawn"); + level.helo_spotlight.spotlight = spawnturret("misc_turret",level.helo_spotlight gettagorigin("tag_flash"),"heli_spotlight_so_castle"); + level.helo_spotlight.spotlight setmode("manual"); + level.helo_spotlight.spotlight setmodel("com_blackhawk_spotlight_on_mg_setup"); + level.helo_spotlight.spotlight maketurretinoperable(); + level.helo_spotlight.spotlight makeunusable(); + level.helo_spotlight.spotlight.angles = level.helo_spotlight gettagangles("tag_flash"); + level.helo_spotlight.spotlight linkto(level.helo_spotlight,"tag_flash",(0,2,-6),(0,90,-20)); + level.helo_spotlight thread helo_spotlight_think(); + level.helo_spotlight setlookatent(level.burke); + level.helo_spotlight maps\_vehicle::mgoff(); + common_scripts\utility::flag_wait("flag_helo_spotlight_on"); + level.helo_spotlight maps\_utility::ent_flag_set("spotlight_on"); +} + +//Function Number: 12 +helo_spotlight_handle_intro_rumbles() +{ + maps\lab_utility::setup_level_rumble_ent(); + wait(0.9); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.6,0.2); + wait(1.3); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.4,0.2); + wait(3); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.2,0.2); + wait(3); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.4,0.2); + wait(4.3); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.4,1.75); +} + +//Function Number: 13 +helo_spotlight_movement() +{ + common_scripts\utility::flag_wait("flag_helo_spotlight_path_02"); + level.helo_spotlight maps\_utility::vehicle_detachfrompath(); + var_00 = common_scripts\utility::getstruct("path_helo_spotlight_02_start","targetname"); + level.helo_spotlight thread maps\_utility::vehicle_dynamicpath(var_00,0); + common_scripts\utility::flag_wait("flag_helo_spotlight_path_03"); + level.helo_spotlight maps\_utility::vehicle_detachfrompath(); + level.helo_spotlight vehicle_setspeed(60,30,25); + var_00 = common_scripts\utility::getstruct("path_helo_spotlight_03_start","targetname"); + level.helo_spotlight thread maps\_utility::vehicle_dynamicpath(var_00,0); + common_scripts\utility::flag_wait("flag_player_enters_forest"); + level.helo_spotlight thread helo_spotlight_forest_think(); + level.helo_spotlight maps\_utility::vehicle_detachfrompath(); + var_00 = common_scripts\utility::getstruct("path_helo_river_path_start","targetname"); + level.helo_spotlight thread maps\_utility::vehicle_dynamicpath(var_00,0); + common_scripts\utility::flag_wait("flag_helo_arrived_at_crash"); + level.helo_spotlight maps\_utility::vehicle_land(); + level.helo_spotlight.spotlight delete(); + level.helo_spotlight delete(); +} + +//Function Number: 14 +helo_spotlight_think(param_00) +{ + self endon("death"); + self notify("stop_helo_spotlight"); + self endon("stop_helo_spotlight"); + thread helo_spotlight_light_motion(); + var_01 = 0; + var_02 = "docks_heli_spotlight"; + if(isdefined(param_00)) + { + var_02 = param_00; + } + + for(;;) + { + if(!maps\_utility::ent_flag("spotlight_on")) + { + if(var_01) + { + var_01 = 0; + stopfxontag(common_scripts\utility::getfx(var_02),self.spotlight,"tag_flash"); + stopfxontag(common_scripts\utility::getfx("lab_heli_spot_flare"),self.spotlight,"tag_flash"); + } + + var_03 = level.player; + if(isdefined(var_03)) + { + self.spotlight settargetentity_smoothtracking(var_03); + } + + wait(0.2); + continue; + } + + wait(0.5); + if(!var_01) + { + var_01 = 1; + playfxontag(common_scripts\utility::getfx(var_02),self.spotlight,"tag_flash"); + playfxontag(common_scripts\utility::getfx("lab_heli_spot_flare"),self.spotlight,"tag_flash"); + } + } +} + +//Function Number: 15 +helo_spotlight_light_motion() +{ + self endon("stop_helo_spotlight"); + self endon("death"); + for(;;) + { + var_00 = undefined; + if(isdefined(self.override_target)) + { + self.spotlight settargetentity_smoothtracking(self.override_target); + while(isdefined(self.override_target)) + { + wait(0.5); + } + + continue; + } + else + { + var_01 = [level.player,level.burke]; + var_00 = level.burke; + if(isdefined(var_00) && !common_scripts\utility::flag("flag_player_enters_forest")) + { + self.spotlight settargetentity_smoothtracking(var_00); + } + else + { + } + } + + if(isdefined(var_00) && isai(var_00)) + { + var_02 = randomfloatrange(1,2.5) * 1000; + var_03 = gettime() + var_02; + while(gettime() < var_03) + { + if(!isdefined(var_00) || !isalive(var_00)) + { + break; + } + + wait(0.1); + } + + continue; + } + + wait(randomfloatrange(3,5)); + } +} + +//Function Number: 16 +helo_spotlight_climbing_moment(param_00,param_01) +{ + var_02 = gettime() / 1000; + var_03 = 100; + while(!common_scripts\utility::flag("flag_player_wall_look_right")) + { + var_04 = 1 - gettime() / 1000 - var_02 / param_00; + param_01.origin = level.player.origin + (1000 * var_04 + var_03,0,0); + wait(0.05); + } + + while(common_scripts\utility::flag("flag_player_wall_look_right")) + { + var_04 = 1 - gettime() / 1000 - var_02 / param_00; + param_01.origin = level.player.origin + (500 * var_04 + var_03,0,0); + wait(0.05); + } + + while(!common_scripts\utility::flag("flag_player_cloak_on_pressed")) + { + var_04 = 1 - gettime() / 1000 - var_02 / param_00; + param_01.origin = level.player.origin + (1000 * var_04 + var_03,0,0); + wait(0.05); + } +} + +//Function Number: 17 +helo_spotlight_forest_think() +{ + level endon("helo_spotlight_point_of_no_return"); + self clearlookatent(); + self.spotlight settargetentity_smoothtracking(undefined); + self.spotlight noisy_turret_clear_default_angles(); + var_00 = 20; + var_01 = gettime() / 1000; + thread helo_spotlight_kill_player_unless_notify(var_00,"player_climbing_wall"); + var_02 = spawn("script_origin",level.player.origin); + self.override_target = var_02; + level thread maps\_utility::notify_delay("helo_spotlight_stop_search",15); + helo_spotlight_search_for_player(var_02); + var_03 = 200; + var_02.origin = level.player.origin + (1500 + var_03,0,0); + while(!common_scripts\utility::flag("player_climbing_wall")) + { + var_04 = 1 - gettime() / 1000 - var_01 / var_00; + var_02.origin = level.player.origin + (1500 * var_04 + var_03,0,0); + wait(0.05); + } + + var_00 = 20; + thread helo_spotlight_kill_player_unless_notify(var_00,"flag_player_climb_succeeded"); + thread helo_spotlight_climbing_moment(var_00,var_02); + common_scripts\utility::flag_wait("flag_player_climb_succeeded"); + var_00 = 15; + thread helo_spotlight_kill_player_unless_notify(var_00,"flag_player_cloak_on_pressed"); + common_scripts\utility::flag_wait("flag_player_cloak_on_pressed"); + var_04 = 0; + var_01 = gettime() / 1000; + var_00 = 20; + var_03 = 215; + while(var_04 < 1) + { + var_04 = gettime() / 1000 - var_01 / var_00; + var_02.origin = level.player.origin + (-1000 * var_04 + var_03,0,0); + wait(0.05); + } + + self.override_target = undefined; + self notify("stop_helo_spotlight"); + self.spotlight.real_target = undefined; + self.spotlight noisy_turret_set_default_angles((25,-90,-20)); +} + +//Function Number: 18 +helo_spotlight_search_for_player(param_00) +{ + level endon("helo_spotlight_stop_search"); + level endon("player_climbing_wall"); + var_01 = 0.5; + var_02 = 1; + var_03 = common_scripts\utility::getstructarray("helo_spotlight_search_loc","targetname"); + for(;;) + { + param_00.origin = var_03[randomint(var_03.size)].origin; + self.spotlight common_scripts\utility::waittill_notify_or_timeout("turret_on_target",1); + wait(randomfloatrange(var_01,var_02)); + } +} + +//Function Number: 19 +helo_spotlight_kill_player_unless_notify(param_00,param_01) +{ + level endon(param_01); + wait(param_00); + level notify("helo_spotlight_point_of_no_return"); + self.override_target.origin = level.player geteye(); + var_02 = getent("climb_wall_use_trigger","targetname"); + if(isdefined(var_02)) + { + var_02 delete(); + } + + level.player endon("death"); + level.player enablehealthshield(0); + if(common_scripts\utility::flag("player_climbing_wall")) + { + thread knock_player_off_wall(); + } + + for(;;) + { + helo_spotlight_shoot_location(level.player geteye() + (randomintrange(-10,10),randomintrange(-10,10),randomintrange(-10,10))); + level.player dodamage(level.player.maxhealth / 3,level.helo_spotlight.origin,level.helo_spotlight); + wait(randomfloatrange(0.5,1)); + } +} + +//Function Number: 20 +knock_player_off_wall() +{ + common_scripts\utility::flag_set("flag_cloak_fail_kill_player"); + level.player waittill("death"); + level notify("player_falling_to_death"); + earthquake(0.2,3,level.player.origin,8000); + var_00 = 0.4; + var_01 = spawn("script_origin",level.player.origin); + var_01.angles = level.player getgunangles(); + var_01 moveto(common_scripts\utility::getstruct("obj_forest_climb_wall_fall_loc","targetname").origin,var_00,var_00); + level.player playerlinktoblend(var_01,undefined,var_00); + level.player_rig delete(); + wait(var_00); + level.player unlink(); +} + +//Function Number: 21 +player_falling_kill_logic(param_00) +{ + var_01 = int(tablelookup("sp/deathquotetable.csv",1,"size",0)); + var_02 = randomint(var_01); + if(!isdefined(param_00)) + { + param_00 = 3; + } + + common_scripts\utility::flag_clear("can_save"); + var_03 = gettime() + param_00 * 1000; + while(!level.player isonground() && gettime() < var_03) + { + wait(0.05); + } + + if(level.player isonground()) + { + level.player kill(); + return; + } + + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 22 +settargetentity_smoothtracking(param_00) +{ + self.real_target = param_00; + if(isdefined(param_00)) + { + if(!isdefined(self.spotlight_target)) + { + self.spotlight_target = common_scripts\utility::spawn_tag_origin(); + } + + self.spotlight_target.origin = param_00.origin; + self.spotlight_target linkto(self); + self settargetentity(self.spotlight_target); + thread noisy_turret_think(); + } +} + +//Function Number: 23 +noisy_turret_set_default_angles(param_00) +{ + self.no_target_local_spotlight_angles = param_00; +} + +//Function Number: 24 +noisy_turret_clear_default_angles() +{ + self.no_target_local_spotlight_angles = undefined; +} + +//Function Number: 25 +noisy_turret_think() +{ + self notify("stop_noisy_turret_think"); + self endon("stop_noisy_turret_think"); + self endon("death"); + if(!isdefined(self.cur_local_angles)) + { + self.cur_local_angles = (0,0,0); + self.self_to_target_local_angles = (0,0,0); + self.pitch_rate = 0; + self.yaw_rate = 0; + self.last_pitch_noise = 0; + self.last_yaw_noise = 0; + } + + var_00 = 0.05; + for(;;) + { + waittillframeend; + waittillframeend; + if(isdefined(self.real_target) && isdefined(self.real_target.origin)) + { + var_01 = self.real_target.origin; + if(isai(self.real_target)) + { + var_01 = var_01 + (0,0,32); + } + + if(isplayer(self.real_target)) + { + var_01 = var_01 + (0,0,32); + } + + var_02 = transformmove((0,0,0),(0,0,0),self.origin,self.angles,var_01,(0,0,0))["origin"]; + var_03 = vectornormalize(var_02); + self.self_to_target_local_angles = vectortoangles(var_03); + } + else if(isdefined(self.no_target_local_spotlight_angles)) + { + self.self_to_target_local_angles = self.no_target_local_spotlight_angles; + } + + var_05 = angleclamp180(self.self_to_target_local_angles[0] - self.cur_local_angles[0]); + var_06 = angleclamp180(self.self_to_target_local_angles[1] - self.cur_local_angles[1]); + var_07 = 180; + var_08 = 180; + var_09 = length((var_05,var_06,0)); + if(var_09 < 10) + { + var_0A = max(var_09 / 10,0.7); + var_07 = var_07 * var_0A; + var_08 = var_08 * var_0A; + } + + if(abs(angleclamp180(self.cur_local_angles[0])) < 89) + { + var_0A = min(1 / cos(self.cur_local_angles[0]),3); + var_08 = var_08 * var_0A; + } + + var_05 = clamp(var_05,-1 * var_07 * var_00,var_07 * var_00); + var_06 = clamp(var_06,-1 * var_08 * var_00,var_08 * var_00); + var_05 = maps\_utility::linear_interpolate(0.8,var_05,self.pitch_rate * var_00 * 0.8); + var_06 = maps\_utility::linear_interpolate(0.8,var_06,self.yaw_rate * var_00 * 0.8); + self.pitch_rate = var_05 / var_00; + self.yaw_rate = var_06 / var_00; + var_0B = gettime() * 0.001 * 1.5; + var_0C = perlinnoise2d(0,var_0B,2,2,1) * 0.5; + var_0D = perlinnoise2d(1.5,var_0B,2,2,1) * 1.5; + var_05 = var_05 + var_0C - self.last_pitch_noise; + var_06 = var_06 + var_0D - self.last_yaw_noise; + self.last_pitch_noise = var_0C; + self.last_yaw_noise = var_0D; + self.cur_local_angles = self.cur_local_angles + (var_05,var_06,0); + var_0E = anglestoforward(self.cur_local_angles); + var_0F = var_0E * 1000; + var_10 = transformmove(self.origin,self.angles,(0,0,0),(0,0,0),var_0F,(0,0,0))["origin"]; + self.spotlight_target unlink(); + self.spotlight_target.origin = var_10; + self.spotlight_target linkto(self); + wait(var_00); + } +} + +//Function Number: 26 +se_intro() +{ + thread lab_intro_screen(); + common_scripts\utility::flag_wait("chyron_video_done"); + thread helo_spotlight_handle_intro_rumbles(); + thread helo_spotlight_init(); + thread helo_spotlight_movement(); + common_scripts\utility::flag_wait("lab_intro_screen_complete"); + setsaveddvar("ammoCounterHide","1"); + level.player maps\_shg_utility::setup_player_for_scene(1); + level.player thread player_run_rumble(); + var_00 = maps\_utility::spawn_anim_model("player_rig_intro"); + var_00.weapon = "none"; + var_00 dontcastshadows(); + var_01 = spawn("script_origin",(0,0,0)); + var_02 = common_scripts\utility::getstruct("intro_anim_org","targetname"); + var_01.origin = var_02.origin; + if(isdefined(var_02.angles)) + { + var_01.angles = var_02.angles; + } + + level.player playerlinktodelta(var_00,"tag_player",1,0,0,0,0,1); + var_01 maps\_anim::anim_first_frame_solo(var_00,"intro_recover"); + var_01 maps\_anim::anim_first_frame_solo(level.burke,"intro_recover"); + maps\_utility::delaythread(0.5,::helo_spotlight_shoot_struct,"intro_anim_bullet_dest"); + var_01 thread burke_intro_anim(level.burke,"intro_recover"); + var_01 thread maps\_anim::anim_single_solo(var_00,"intro_recover"); + var_03 = getanimlength(var_00 maps\_utility::getanim("intro_recover")); + var_04 = gettime(); + for(;;) + { + if(gettime() - var_04 >= var_03 * 1000) + { + break; + } + + common_scripts\utility::waittill_any_ents(level,"allow_player_control",var_01,"intro_recover"); + if(level.player getnormalizedmovement()[0] > 0.5) + { + break; + } + + if(gettime() - var_04 >= var_03 * 1000) + { + break; + } + + wait(0.05); + } + + level.player unlink(); + var_00 delete(); + level.player enableweapons(); + setsaveddvar("player_sprintunlimited","1"); + level.player forcesprint(); + var_01 delete(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + thread helo_sniper_threaten_player(); + common_scripts\utility::array_thread(getentarray("player_run_progress_trigger","script_noteworthy"),::player_run_progress_trigger_think); +} + +//Function Number: 27 +player_run_rumble() +{ + var_00 = maps\_utility::get_rumble_ent("steady_rumble"); + var_01 = 0.05; + var_02 = 0.25; + while(!common_scripts\utility::flag("flag_player_enters_forest")) + { + var_03 = length(level.player getvelocity()); + var_04 = var_03 / 320; + var_00.intensity = var_04 * var_02; + if(var_00.intensity > 1) + { + var_00.intensity = 1; + } + + wait(0.1); + var_00.intensity = var_04 * var_01; + if(var_00.intensity > 1) + { + var_00.intensity = 1; + } + + if(var_03 > 0) + { + var_05 = 0.3 * 1 - var_03 / 194; + } + else + { + var_05 = 0; + } + + var_06 = 0.3 + var_05; + if(var_06 > 0) + { + wait(var_06); + } + } + + var_00 delete(); + stopallrumbles(); +} + +//Function Number: 28 +burke_intro_anim(param_00,param_01) +{ + level.burke maps\_utility::gun_remove(); + level.burke maps\_utility::disable_pain(); + level.burke maps\_utility::disable_ai_color(); + soundscripts\_snd::snd_message("aud_burke_intro_anim"); + maps\_anim::anim_single_solo_run(param_00,param_01); + common_scripts\utility::flag_set("flag_burke_intro_react_se_start"); +} + +//Function Number: 29 +se_intro_burke_react() +{ + common_scripts\utility::flag_wait("flag_burke_intro_react_se_start"); + var_00 = common_scripts\utility::getstruct("burke_intro_react_anim_org","targetname"); + var_00 maps\_anim::anim_reach_solo(level.burke,"burke_intro_react"); + maps\_utility::delaythread(0.05,::helo_spotlight_shoot_struct,"burke_intro_react_bullet_dest"); + var_00 maps\_anim::anim_single_solo_run(level.burke,"burke_intro_react"); + common_scripts\utility::flag_set("flag_burke_shack_se_start"); +} + +//Function Number: 30 +se_intro_shack() +{ + common_scripts\utility::flag_wait("flag_burke_shack_se_start"); + var_00 = common_scripts\utility::getstruct("burke_intro_shack_org","targetname"); + var_00 maps\_anim::anim_reach_solo(level.burke,"lab_shack_enter"); + var_00 maps\_anim::anim_single_solo(level.burke,"lab_shack_enter"); + var_00 thread maps\_anim::anim_loop_solo(level.burke,"lab_shack_idle","ender"); + common_scripts\utility::flag_wait("flag_burke_dive_over_log"); + soundscripts\_snd::snd_message("aud_shack_explode_whizby"); + wait(0.25); + var_00 notify("ender"); + level.burke maps\_utility::anim_stopanimscripted(); + helo_spotlight_shoot_struct("intro_shack_bullet_dest"); + thread maps\lab_fx::shack_roof_damage_fx(); + thread shack_explode(); + var_01 = distance(level.player.origin,level.burke.origin); + if(var_01 < 200) + { + thread maps\lab_utility::rumble_heavy_1(); + } + else if(var_01 < 500) + { + thread maps\lab_utility::rumble_light(); + } + + var_00 maps\_anim::anim_single_run_solo(level.burke,"lab_shack_exit"); +} + +//Function Number: 31 +shack_explode() +{ + maps\_utility::activate_trigger_with_targetname("shack_explode"); + soundscripts\_snd::snd_message("player_reaches_shack"); +} + +//Function Number: 32 +se_check_player_too_far_from_burke() +{ + while(!common_scripts\utility::flag("flag_helo_spotlight_path_02")) + { + if(!maps\_utility::players_within_distance(300,level.burke.origin)) + { + magicbullet("s1_lab_heli_railgun_sp",level.helo_spotlight.origin,level.player); + } + + wait(randomfloatrange(1,2)); + } +} + +//Function Number: 33 +se_slow_player_if_too_far_ahead() +{ + var_00 = common_scripts\utility::getstruct("intro_shack_bullet_dest","targetname"); + var_01 = getent("obj_forest_climb_wall","targetname"); + var_02 = 1; + var_03 = 0.7; + var_04 = 0.5; + while(!common_scripts\utility::flag("flag_burke_dive_over_log")) + { + if(distance2dsquared(level.player.origin,var_00.origin) < distance2dsquared(level.burke.origin,var_00.origin)) + { + while(var_02 >= var_03 && distance2dsquared(level.player.origin,var_00.origin) < distance2dsquared(level.burke.origin,var_00.origin)) + { + var_02 = var_02 - 0.1; + level.player setmovespeedscale(var_02); + wait(var_04); + } + + while(distance2dsquared(level.player.origin,var_00.origin) < distance2dsquared(level.burke.origin,var_00.origin)) + { + wait 0.05; + } + + while(var_02 < 1) + { + var_02 = var_02 + 0.1; + level.player setmovespeedscale(var_02); + wait 0.05; + } + + var_02 = 1; + level.player setmovespeedscale(var_02); + } + + wait 0.05; + } + + while(!common_scripts\utility::flag("flag_player_slide_start")) + { + if(distance2dsquared(level.player.origin,var_01.origin) < distance2dsquared(level.burke.origin,var_01.origin)) + { + while(var_02 >= var_03 && distance2dsquared(level.player.origin,var_01.origin) < distance2dsquared(level.burke.origin,var_01.origin)) + { + var_02 = var_02 - 0.1; + level.player setmovespeedscale(var_02); + wait(var_04); + } + + while(distance2dsquared(level.player.origin,var_01.origin) < distance2dsquared(level.burke.origin,var_01.origin)) + { + wait 0.05; + } + + while(var_02 < 1) + { + var_02 = var_02 + 0.1; + level.player setmovespeedscale(var_02); + wait 0.05; + } + + var_02 = 1; + level.player setmovespeedscale(var_02); + } + + wait 0.05; + } +} + +//Function Number: 34 +se_burke_stumble_run() +{ + var_00 = common_scripts\utility::getstruct("burke_stumble_run_anim_org","targetname"); + if(!common_scripts\utility::flag("flag_helo_spotlight_path_02")) + { + var_00 maps\_anim::anim_reach_solo(level.burke,"burke_stumble_run"); + maps\_utility::delaythread(0.15,::helo_spotlight_shoot_struct,"burke_stumble_run_bullet_dest"); + level.burke soundscripts\_snd::snd_message("aud_burke_stumble_run"); + var_00 maps\_anim::anim_single_solo_run(level.burke,"burke_stumble_run"); + } + + common_scripts\utility::flag_set("flag_emp_cocked_exo_dialogue"); +} + +//Function Number: 35 +se_burke_dive_over_log() +{ + var_00 = common_scripts\utility::getstruct("burke_dive_over_log_anim_org","targetname"); + var_00 maps\_anim::anim_reach_solo(level.burke,"burke_dive_over_log"); + maps\_utility::delaythread(1.1,::helo_spotlight_shoot_struct,"burke_dive_over_log_bullet_dest"); + level.burke soundscripts\_snd::snd_message("aud_burke_step_over_log"); + var_00 maps\_anim::anim_single_solo_run(level.burke,"burke_dive_over_log"); + if(maps\_utility::players_within_distance(350,level.burke.origin)) + { + se_burke_stumble_knee(); + return; + } + + se_burke_tree_cover_01(); +} + +//Function Number: 36 +se_burke_tree_cover_01() +{ + var_00 = common_scripts\utility::getstruct("burke_tree_cover_01_anim_org","targetname"); + var_00 maps\_anim::anim_reach_solo(level.burke,"burke_tree_cover_01"); + maps\_utility::delaythread(0.6,::helo_spotlight_shoot_struct,"burke_tree_cover_01_bullet_dest_1"); + level.burke soundscripts\_snd::snd_message("aud_burke_tree_cover_01"); + var_00 maps\_anim::anim_single_solo(level.burke,"burke_tree_cover_01"); + var_00 thread maps\_anim::anim_loop_solo(level.burke,"burke_tree_cover_01_idle","ender"); + common_scripts\utility::flag_wait("flag_helo_spotlight_path_02"); + var_00 notify("ender"); + level.burke maps\_utility::anim_stopanimscripted(); + common_scripts\utility::flag_set("flag_gogogo_dialogue_start"); + var_00 maps\_anim::anim_single_solo_run(level.burke,"burke_tree_cover_01_exit"); +} + +//Function Number: 37 +se_burke_stumble_knee() +{ + maps\_utility::delaythread(3,::common_scripts\utility::flag_set,"flag_gogogo_dialogue_start"); +} + +//Function Number: 38 +se_burke_hill_slide() +{ + var_00 = common_scripts\utility::getstruct("hill_slide_anim_org","targetname"); + var_00 maps\_anim::anim_reach_solo(level.burke,"burke_hill_slide"); + maps\_utility::delaythread(2.6,::helo_spotlight_shoot_struct,"hill_slide_bullet_dest_2"); + if(maps\_utility::players_within_distance(400,level.burke.origin)) + { + maps\_utility::delaythread(0.25,::se_player_hill_slide); + common_scripts\utility::flag_set("flag_burke_hill_slide_start"); + level.burke soundscripts\_snd::snd_message("burke_hill_slide","anim_02"); + var_00 maps\_anim::anim_single_solo_run(level.burke,"burke_hill_slide_alt"); + } + else + { + maps\_utility::delaythread(2,::se_player_hill_slide); + common_scripts\utility::flag_set("flag_burke_hill_slide_start"); + level.burke soundscripts\_snd::snd_message("burke_hill_slide","anim_01"); + var_00 maps\_anim::anim_single_solo_run(level.burke,"burke_hill_slide"); + } + + if(maps\_utility::players_within_distance(400,level.burke.origin)) + { + common_scripts\utility::flag_set("flag_run_dialogue_start"); + se_burke_river_over_log(); + return; + } + + se_burke_tree_stump(); + se_burke_river_over_log(); +} + +//Function Number: 39 +se_player_hill_slide() +{ + common_scripts\utility::flag_wait("flag_player_slide_start"); + var_00 = common_scripts\utility::getstruct("hill_slide_anim_org","targetname"); + soundscripts\_snd::snd_message("aud_player_hill_slide"); + level.player_rig = maps\lab_utility::spawn_player_rig(); + level.player_rig dontcastshadows(); + level.player_rig hide(); + level.player freezecontrols(1); + level.player maps\_shg_utility::setup_player_for_scene(0); + level.player setstance("stand"); + var_00 maps\_anim::anim_first_frame_solo(level.player_rig,"player_hill_slide"); + level.player playerlinktoblend(level.player_rig,"tag_player",0.2); + wait(0.2); + level.player playerlinktodelta(level.player_rig,"tag_player",1,20,20,20,0); + level.player_rig common_scripts\utility::delaycall(0.1,::show); + maps\_utility::delaythread(2.85,::helo_spotlight_shoot_struct,"hill_slide_bullet_dest_4"); + var_00 thread maps\_anim::anim_single_solo(level.player_rig,"player_hill_slide"); + thread handle_player_slide_rumbles(); + var_01 = getanimlength(level.player_rig maps\_utility::getanim("player_hill_slide")); + var_02 = gettime(); + for(;;) + { + if(gettime() - var_02 >= var_01 * 1000) + { + break; + } + + common_scripts\utility::waittill_any_ents(level,"allow_player_control",var_00,"player_hill_slide"); + if(level.player getnormalizedmovement()[0] > 0.5) + { + break; + } + + if(gettime() - var_02 >= var_01 * 1000) + { + break; + } + + wait(0.05); + } + + level.player unlink(); + level.player freezecontrols(0); + level.player enableweapons(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.player forcesprint(); + setsaveddvar("player_sprintunlimited","1"); + level.player_rig delete(); + level.player thread river_slow_movement_ai_think(); +} + +//Function Number: 40 +handle_player_slide_rumbles() +{ + maps\lab_utility::setup_level_rumble_ent(); + wait(1.35); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.75,0.5); + wait(0.6); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.3,2); + wait(2.1); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.5,0.3); +} + +//Function Number: 41 +se_burke_tree_stump() +{ + var_00 = common_scripts\utility::getstruct("burke_tree_stump_org","targetname"); + var_00 maps\_anim::anim_reach_solo(level.burke,"burke_hill_slide_stump"); + maps\_utility::delaythread(0.4,::helo_spotlight_shoot_struct,"burke_tree_stump_bullet_dest"); + level.burke soundscripts\_snd::snd_message("aud_burke_hill_slide_stump"); + var_00 maps\_anim::anim_single_solo(level.burke,"burke_hill_slide_stump"); + var_00 thread maps\_anim::anim_loop_solo(level.burke,"burke_hill_slide_stump_idle","ender"); + common_scripts\utility::flag_wait("flag_burke_cross_river"); + var_00 notify("ender"); + level.burke maps\_utility::anim_stopanimscripted(); + common_scripts\utility::flag_set("flag_run_dialogue_start"); + if(level.nextgen) + { + var_00 maps\_anim::anim_single_solo_run(level.burke,"burke_hill_slide_stump_exit"); + } +} + +//Function Number: 42 +se_burke_river_over_log() +{ + var_00 = common_scripts\utility::getstruct("burke_river_over_log_org","targetname"); + var_00 maps\_anim::anim_reach_solo(level.burke,"burke_river_over_log"); + level.burke soundscripts\_snd::snd_message("aud_burke_river_over_log"); + var_00 maps\_anim::anim_single_solo_run(level.burke,"burke_river_over_log"); +} + +//Function Number: 43 +se_burke_river_cross() +{ + thread se_wall_climb_roots(); + var_00 = common_scripts\utility::getstruct("forest_climb_anim_org","targetname"); + var_00 maps\_anim::anim_reach_solo(level.burke,"burke_river_cross"); + maps\_utility::delaythread(0.6,::helo_spotlight_shoot_struct,"river_cross_bullet_dest_1"); + maps\_utility::delaythread(5.05,::helo_spotlight_shoot_struct,"river_cross_bullet_dest_3"); + maps\_utility::delaythread(10.35,::helo_spotlight_shoot_struct,"river_cross_bullet_dest_5"); + maps\_utility::delaythread(12.6,::helo_spotlight_shoot_struct,"river_cross_bullet_dest_6"); + var_00 maps\_anim::anim_single_solo_run(level.burke,"burke_river_cross"); + if(maps\_utility::players_within_distance(400,level.burke.origin)) + { + se_burke_river_to_wall(var_00); + return; + } + + se_burke_cover_tree_wave(var_00); + se_burke_tree_to_wall(var_00); +} + +//Function Number: 44 +se_burke_river_to_wall(param_00) +{ + param_00 maps\_anim::anim_single_solo(level.burke,"burke_river_to_wall"); +} + +//Function Number: 45 +se_burke_cover_tree_wave(param_00) +{ + var_01 = common_scripts\utility::getstruct("forest_take_cover_wave_anim_org","targetname"); + param_00 maps\_anim::anim_single_solo(level.burke,"burke_river_to_tree"); + var_01 thread maps\_anim::anim_loop_solo(level.burke,"burke_forest_cover_tree_wave","ender"); + common_scripts\utility::flag_wait("flag_player_enters_forest"); + var_01 notify("ender"); +} + +//Function Number: 46 +se_burke_tree_to_wall(param_00) +{ + param_00 maps\_anim::anim_single_solo(level.burke,"burke_tree_to_wall"); +} + +//Function Number: 47 +helo_spotlight_shoot_struct(param_00) +{ + var_01 = common_scripts\utility::getstruct(param_00,"targetname"); + if(!isdefined(var_01)) + { + return; + } + + helo_spotlight_shoot_location(var_01.origin); +} + +//Function Number: 48 +helo_spotlight_shoot_location(param_00) +{ + if(!isdefined(level.helo_spotlight)) + { + return; + } + + var_01 = get_helo_spotlight_bullet_origin(param_00); + magicbullet("s1_lab_heli_railgun_sp",var_01,param_00); + playfx(common_scripts\utility::getfx("heli_railgun_muzzleflash"),var_01,param_00 - var_01); + soundscripts\_snd::snd_message("chopper_sniper_shot",var_01,param_00); + if(distancesquared(param_00,level.player.origin) < 40000) + { + common_scripts\utility::noself_delaycall(0.1,::earthquake,0.5,0.5,param_00,200); + level.player common_scripts\utility::delaycall(0.1,::playrumbleonentity,"damage_light"); + } +} + +//Function Number: 49 +helo_spotlight_shoot_trigger_think() +{ + level endon("flag_player_enters_forest"); + self waittill("trigger"); + var_00 = 0; + for(;;) + { + var_01 = level.player getgunangles(); + var_02 = level.player geteye(); + var_03 = var_02 + anglestoforward(var_01) * 150 + anglestoright(var_01) * randomintrange(-40,40); + var_04 = bullettrace(var_02,var_03,0); + var_05 = get_helo_spotlight_bullet_origin(var_04["position"]); + if(!maps\_utility::shot_endangers_any_player(var_05,var_04["position"])) + { + helo_spotlight_shoot_location(var_04["position"]); + return; + } + + wait(0.05); + } +} + +//Function Number: 50 +se_wall_climb_roots() +{ + var_00 = common_scripts\utility::getstruct("forest_climb_anim_org","targetname"); + var_01 = spawn("script_origin",var_00.origin); + if(isdefined(var_00.angles)) + { + var_01.angles = var_00.angles; + } + + level.wallclimb_roots = getent("wallclimb_roots","targetname"); + level.wallclimb_roots.animname = "wallclimb_roots"; + level.wallclimb_roots maps\_utility::assign_animtree(); + var_01 maps\_anim::anim_first_frame_solo(level.wallclimb_roots,"burke_wall_climb"); +} + +//Function Number: 51 +se_burke_forest_wall_climb() +{ + var_00 = common_scripts\utility::getstruct("forest_climb_anim_org","targetname"); + var_01 = spawn("script_origin",var_00.origin); + if(isdefined(var_00.angles)) + { + var_01.angles = var_00.angles; + } + + level.burke maps\_utility::enable_pain(); + level.burke thread maps\lab_utility::cloak_off(); + var_02 = [level.burke,level.wallclimb_roots]; + var_01 maps\_anim::anim_first_frame_solo(level.wallclimb_roots,"burke_wall_climb"); + level.burke soundscripts\_snd::snd_message("aud_burke_wall_climb"); + level.burke maps\lab_utility::clear_additive_helmet_anim(0); + var_01 thread maps\_anim::anim_single(var_02,"burke_wall_climb"); + maps\_utility::delaythread(8,::player_climb_wall); + maps\_utility::delaythread(1,::maps\lab_fx::wall_climb_dust_fx); + thread helo_wall_climb(var_01); + thread maps\lab_lighting::enter_forest(); + var_01 waittill("burke_wall_climb"); + var_03 = "burke_wall_climb_loop_end"; + var_01 thread maps\_anim::anim_loop_solo(level.burke,"burke_wall_climb_loop",var_03); + common_scripts\utility::flag_wait("flag_burke_says_exo_is_on"); + var_01 notify(var_03); + var_01 maps\_anim::anim_single_solo(level.burke,"burke_says_exo_is_on"); + common_scripts\utility::flag_wait("flag_forest_climb_wall_complete"); + thread spawn_takedown_01_guys(); +} + +//Function Number: 52 +burke_wall_climb_teleport(param_00) +{ + var_01 = common_scripts\utility::getstruct("forest_search_drone_anim_org","targetname"); + level.burke stopanimscripted(); + var_01 thread maps\_anim::anim_loop_solo(level.burke,"burke_search_drone_idle","ender"); +} + +//Function Number: 53 +player_climb_wall_head_sway() +{ + level endon("player_falling_to_death"); + level.player endon("stop_head_sway"); + for(;;) + { + screenshake(level.player.origin,7,9,4,2,0.2,0.2,0,0.3,0.375,0.225); + wait(1); + } +} + +//Function Number: 54 +player_climb_wall() +{ + level endon("player_falling_to_death"); + level endon("flag_cloak_fail_kill_player"); + common_scripts\utility::flag_set("flag_forest_climb_wall_start"); + soundscripts\_snd::snd_message("forest_climb_wall_start"); + thread show_exo_cloak_hint(); + var_00 = common_scripts\utility::getstruct("forest_climb_anim_org","targetname"); + var_01 = getent("climb_wall_use_trigger","targetname"); + var_01 thread maps\_utility::addhinttrigger(&"LAB_CLIMB_WALL_HINT",&"LAB_CLIMB_WALL_HINT_PC"); + var_02 = var_01 maps\_shg_utility::hint_button_trigger("x"); + var_01 waittill("trigger"); + var_01 delete(); + var_02 maps\_shg_utility::hint_button_clear(); + common_scripts\utility::flag_set("player_climbing_wall"); + common_scripts\utility::flag_set("player_climbing_wall_lighting"); + level.player setstance("stand"); + var_03 = getentarray("tree_wall_climb","targetname"); + foreach(var_05 in var_03) + { + var_05 hide(); + } + + level.player_rig = maps\lab_utility::spawn_player_rig(); + level.player_rig hide(); + level.player freezecontrols(1); + level.player maps\_shg_utility::setup_player_for_scene(0); + var_07 = 0.5; + level.player playerlinktoblend(level.player_rig,"tag_player",var_07); + var_08 = [level.player_rig,level.wallclimb_roots]; + level.player_rig common_scripts\utility::delaycall(var_07,::show); + soundscripts\_snd::snd_message("aud_player_wall_climb_01"); + level notify("player_wall_climb_01"); + level.player thread player_climb_wall_head_sway(); + thread handle_player_wall_climb_rumbles(); + var_00 maps\_anim::anim_single(var_08,"player_wall_climb_1"); + maps\lab_utility::wait_until_left_swing_pressed(level.wallclimb_roots gettagorigin("jnt_root03") + (0,0,10)); + level.player thread maps\lab_utility::monitor_right_swing_released(); + soundscripts\_snd::snd_message("aud_player_wall_climb_02"); + level notify("player_wall_climb_02"); + var_00 maps\_anim::anim_single(var_08,"player_wall_climb_2"); + maps\lab_utility::wait_until_next_right_swing(level.wallclimb_roots gettagorigin("jnt_root05") + (0,0,0)); + thread maps\lab_utility::monitor_left_swing_released(); + soundscripts\_snd::snd_message("aud_player_wall_climb_03"); + level notify("player_wall_climb_03"); + var_00 maps\_anim::anim_single(var_08,"player_wall_climb_3"); + maps\lab_utility::wait_until_next_left_swing(level.wallclimb_roots gettagorigin("jnt_root07") + (0,0,0)); + var_09 = level.burke gettagorigin("tag_origin"); + thread maps\lab_utility::monitor_right_swing_released(); + soundscripts\_snd::snd_message("aud_player_wall_climb_04"); + level notify("player_wall_climb_04"); + var_00 maps\_anim::anim_single(var_08,"player_wall_climb_4"); + level.burke overridelightingorigin(var_09); + if(level.nextgen) + { + setsaveddvar("r_adaptivesubdiv",0); + } + + maps\lab_utility::wait_until_next_right_swing(level.wallclimb_roots gettagorigin("jnt_breakoff03") + (0,0,0)); + common_scripts\utility::flag_set("flag_player_climb_succeeded"); + level.nextgrenadedrop = 1000000; + soundscripts\_snd::snd_message("aud_player_wall_climb_05"); + level notify("player_wall_climb_05"); + var_00 maps\_anim::anim_single(var_08,"player_wall_climb_5"); + common_scripts\utility::flag_set("flag_player_cloak_enabled"); + if(!common_scripts\utility::flag("flag_player_cloak_on_pressed")) + { + var_00 thread maps\_anim::anim_loop(var_08,"player_wall_climb_loop","player_wall_climb_loop_end"); + common_scripts\utility::flag_wait("flag_player_cloak_on_pressed"); + var_00 notify("player_wall_climb_loop_end"); + } + + soundscripts\_snd::snd_message("wall_climb_cloak_activate"); + level notify("aud_wall_climb_done"); + level notify("wall_cloak_on"); + level.burke defaultlightingorigin(); + var_00 maps\_anim::anim_single(var_08,"player_wall_climb_lastjump"); + maps\lab_utility::wait_until_both_swings_pressed(); + level.player notify("stop_head_sway"); + level notify("last_jump_made"); + soundscripts\_snd::snd_message("wall_climb_last_jump"); + var_00 maps\_anim::anim_single(var_08,"player_wall_climb_end"); + if(level.nextgen) + { + setsaveddvar("r_adaptivesubdiv",1); + } + + level.player unlink(); + level.player freezecontrols(0); + level.player enableweapons(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + common_scripts\utility::flag_set("flag_player_exo_enabled"); + setsaveddvar("player_sprintunlimited","1"); + level.player_rig delete(); + maps\_cloak::turn_on_the_cloak_effect(); + common_scripts\utility::flag_set("flag_forest_climb_wall_complete"); + common_scripts\utility::flag_set("flag_forest_climb_wall_complete_lighting"); + foreach(var_05 in var_03) + { + var_05 show(); + } + + soundscripts\_snd::snd_message("random_dog_barks"); +} + +//Function Number: 55 +handle_player_wall_climb_rumbles() +{ + wait(0.5); + thread maps\lab_utility::rumble_heavy(); + wait(0.5); + thread maps\lab_utility::rumble_light_1(); + level waittill("player_wall_climb_02"); + wait(0.75); + thread maps\lab_utility::rumble_light(); + level waittill("player_wall_climb_03"); + wait(0.5); + thread maps\lab_utility::rumble_light(); + level waittill("player_wall_climb_04"); + wait(1); + thread maps\lab_utility::rumble_light(); + level waittill("player_wall_climb_05"); + wait(2.15); + thread maps\lab_utility::rumble_heavy(); + maps\lab_utility::setup_level_rumble_ent(); + level waittill("wall_cloak_on"); + wait(1); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.3,0.15); + wait(0.16); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.3,0.2); + wait(3.5); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.4,0.2); + level waittill("last_jump_made"); + wait(0.6); + maps\lab_utility::rumble_light(); + wait(0.85); + maps\lab_utility::rumble_heavy(); +} + +//Function Number: 56 +helo_wall_climb(param_00) +{ + common_scripts\utility::flag_wait("player_climbing_wall"); + common_scripts\utility::flag_set("flag_helo_low_pass_claok_start"); + level.helo_spotlight.animname = "spotlight_helo"; + param_00 maps\_anim::anim_single_solo(level.helo_spotlight,"player_wall_climb"); + param_00 thread maps\_anim::anim_loop_solo(level.helo_spotlight,"player_wall_climb_loop","ender"); + common_scripts\utility::flag_wait("flag_player_cloak_on_pressed"); + param_00 notify("ender"); + param_00 maps\_anim::anim_single_solo(level.helo_spotlight,"player_wall_climb_end"); + common_scripts\utility::flag_set("flag_helo_low_pass_complete"); + level.helo_spotlight notify("stop_helo_spotlight"); + level.helo_spotlight.override_target linkto(level.helo_spotlight); + level.helo_spotlight maps\_utility::vehicle_detachfrompath(); + level.helo_spotlight vehicle_setspeed(20,15,5); + var_01 = common_scripts\utility::getstruct("path_helo_goto_crash_site_start","targetname"); + level.helo_spotlight thread maps\_utility::vehicle_dynamicpath(var_01,0); + level.helo_spotlight.script_vehicle_selfremove = 1; +} + +//Function Number: 57 +player_stealth_cloak_think() +{ + if(!common_scripts\utility::flag("flag_player_cloak_on")) + { + maps\_cloak::cloaked_stealth_enable_lab_hud_cinematic(); + } + + common_scripts\utility::flag_wait("flag_player_cloak_on"); + level.player maps\_cloak::cloaked_stealth_player_setup(); + maps\_cloak::cloaked_stealth_disable_lab_hud_cinematic(); + maps\_cloak::cloaked_stealth_enable_battery_hud(); + common_scripts\utility::flag_wait("flag_player_cloak_off"); + maps\_cloak::cloaked_stealth_disable_battery_hud(); +} + +//Function Number: 58 +show_exo_cloak_hint() +{ + common_scripts\utility::flag_wait("flag_player_cloak_on"); + maps\_utility::display_hint_timeout("exo_toggle_hint",10); +} + +//Function Number: 59 +break_exo_cloak_hint() +{ + if(common_scripts\utility::flag("flag_player_cloak_on_pressed")) + { + return 1; + } + + if(common_scripts\utility::flag("flag_cloak_fail_kill_player")) + { + return 1; + } + + if(level.player buttonpressed("dpad_right")) + { + common_scripts\utility::flag_set("flag_player_cloak_on_pressed"); + return 1; + } + + return 0; +} + +//Function Number: 60 +break_prone_hint() +{ + if(level.player getstance() == "prone") + { + return 1; + } + + if(!common_scripts\utility::flag("player_near_logging_road_end_log")) + { + return 1; + } + + if(common_scripts\utility::flag("flag_seeker_clear")) + { + return 1; + } + + return 0; +} + +//Function Number: 61 +break_detonate_frb_hint() +{ + if(common_scripts\utility::flag("flag_obj_neutralize_bio_weapons_complete")) + { + return 1; + } + + if(!common_scripts\utility::flag("flag_foam_room_clear")) + { + return 1; + } + + return 0; +} + +//Function Number: 62 +se_search_drones_01() +{ + common_scripts\utility::flag_wait("flag_forest_climb_wall_complete"); + var_00 = maps\_vehicle::spawn_vehicles_from_targetname_and_drive("drones_search"); + var_01 = common_scripts\utility::getstruct("forest_search_drone_anim_org","targetname"); + foreach(var_03 in var_00) + { + var_03 maps\_utility::ent_flag_set("fire_disabled"); + var_03.ignoreme = 1; + var_03 maps\_utility::delaythread(randomfloatrange(0.05,1),::maps\lab_fx::drone_search_light_fx); + } + + level.burke maps\_utility::set_grenadeammo(0); + thread se_search_drone_backup(); + thread se_search_drone_vehicle(var_01); + thread se_search_drone_deer(var_01); + level.burke soundscripts\_snd::snd_message("burke_run_slide"); + common_scripts\utility::flag_wait("flag_search_drone_burke_anim_start"); + var_05 = getnodearray("node_search_drone","targetname"); + foreach(var_07 in var_05) + { + var_07 disconnectnode(); + } + + maps\_utility::delaythread(32.5,::common_scripts\utility::flag_set,"flag_search_drone_complete_dialogue_start"); + maps\_utility::delaythread(32.5,::common_scripts\utility::flag_set,"flag_search_drone_complete_dialogue_start"); + level thread maps\_utility::notify_delay("se_search_drone_backup_progress",32); + var_01 notify("ender"); + level.burke maps\_utility::anim_stopanimscripted(); + var_01 maps\_anim::anim_single_solo_run(level.burke,"burke_search_drone"); + maps\_utility::autosave_by_name(); + level.burke maps\_utility::set_moveplaybackrate(0.8); + common_scripts\utility::flag_set("flag_search_drone_se_complete"); +} + +//Function Number: 63 +se_search_drone_backup() +{ + var_00 = maps\_vehicle::spawn_vehicle_from_targetname("se_search_drone_backup"); + var_00 endon("death"); + var_00 endon("drone_spotted_player"); + thread search_drone_behavior(var_00,undefined,1); + var_00 sethoverparams(16,5,5); + var_00 thread search_drone_random_turns(); + var_00 maps\_utility::delaythread(0.25,::maps\lab_fx::drone_search_light_fx); + level waittill("se_search_drone_backup_progress"); + var_00 maps\_vehicle::gopath(); +} + +//Function Number: 64 +search_drone_random_turns() +{ + self endon("weapon_fired"); + self endon("start_vehiclepath"); + self endon("drone_spotted_player"); + self setvehgoalpos(self.origin,1); + self notify("goal"); + self.pacifist = 1; + maps\_utility::ent_flag_set("fire_disabled"); + for(;;) + { + var_00 = randomint(360); + self setgoalyaw(var_00); + wait(randomfloatrange(2,5)); + } +} + +//Function Number: 65 +search_drone_behavior(param_00,param_01,param_02) +{ + param_00 endon("death"); + param_00 setcontents(8192); + param_00 makevehiclenotcollidewithplayers(1); + var_03 = 40; + var_04 = 512; + var_05 = 256; + var_06 = 100; + if(isdefined(param_02) && param_02) + { + var_06 = 1; + } + + if(isdefined(param_01) && param_01) + { + var_06 = 32; + } + + var_07 = var_03 * var_03; + var_08 = var_04 * var_04; + var_09 = var_05 * var_05; + param_00.alerted_amount = 0; + var_0A = 2; + if(isdefined(param_02) && param_02) + { + var_0A = 0.1; + } + + var_0B = 0.05; + param_00 thread search_drone_alert_monitor(); + param_00 thread search_drone_damage_detection(); + for(;;) + { + var_0C = length(level.player getvelocity()); + var_0D = level._cloaked_stealth_settings.cloak_on; + var_0E = level.player geteye(); + if(param_00.alerted_amount >= var_0A) + { + if((isdefined(param_01) && param_01) || isdefined(param_02) && param_02) + { + param_00 se_search_drone_spotted_player(); + } + else + { + param_00 search_drone_spotted_player(); + } + + param_00.alerted_amount = 0; + } + + var_0F = 0; + if(var_0D) + { + if(distancesquared(var_0E,param_00.origin) < var_07) + { + if(!param_00.alerted_amount) + { + } + + param_00.alerted_amount = param_00.alerted_amount + var_0B * 2; + var_0F = 1; + } + } + else if(distancesquared(var_0E,param_00.origin) < var_08 && sighttracepassed(param_00.origin,var_0E,0,param_00)) + { + if(!param_00.alerted_amount) + { + } + + param_00.alerted_amount = param_00.alerted_amount + var_0B; + var_0F = 1; + } + + if(distancesquared(var_0E,param_00.origin) < var_09) + { + if(var_0C > var_06) + { + if(!param_00.alerted_amount) + { + thread maps\lab_vo::search_drone_warning_dialogue(); + } + + param_00.alerted_amount = param_00.alerted_amount + var_0B; + var_0F = 1; + } + } + + if(var_0F) + { + param_00 notify("alerted"); + } + else + { + param_00 notify("not_alerted"); + } + + wait(var_0B); + } +} + +//Function Number: 66 +search_drone_damage_detection() +{ + self endon("death"); + for(;;) + { + self waittill("damage",var_00,var_01); + if(isdefined(var_01) && isdefined(var_01.team)) + { + if(isenemyteam(self.team,var_01.team)) + { + self.alerted_amount = 100; + self notify("alerted"); + } + } + } +} + +//Function Number: 67 +search_drone_alert_monitor() +{ + self endon("drone_spotted_player"); + self endon("death"); + for(;;) + { + self waittill("alerted"); + if(!common_scripts\utility::flag("flag_forest_takedown_01")) + { + self playsound("atlasdrn_angry"); + } + + self waittill("not_alerted"); + self stoploopsound("seeker_alarm_lp"); + } +} + +//Function Number: 68 +se_search_drone_spotted_player() +{ + self laseron(); + self playloopsound("atlasdrn_detection_lp"); + thread maps\lab_vo::search_drone_alerted_dialogue(); + wait(1); + self.pacifist = 0; + maps\_utility::ent_flag_clear("fire_disabled"); + self stopanimscripted(); + self setvehgoalpos(level.player.origin + (0,0,90),1); + level.player enablehealthshield(0); + maps\_utility::vehicle_detachfrompath(); + thread vehicle_scripts\_pdrone::flying_attack_drone_logic(); + level.player enablehealthshield(0); + for(;;) + { + level notify("player_failed_drone_scene"); + self waittill("weapon_fired"); + level.player dodamage(34 / level.player.damagemultiplier,self.origin,self); + } +} + +//Function Number: 69 +search_drone_spotted_player() +{ + self notify("search_drone_spotted_player"); + self endon("search_drone_spotted_player"); + self endon("death"); + self laseron(); + maps\_utility::ent_flag_clear("fire_disabled"); + self.pacifist = 0; + self.ignoreme = 0; + maps\_utility::set_favoriteenemy(level.player); + var_00 = level.player.origin; + maps\_cloak::cloak_device_hit_by_electro_magnetic_pulse(); + maps\_utility::vehicle_detachfrompath(); + while(sighttracepassed(self.origin,level.player geteye(),0,self)) + { + if(isdefined(self.script_stealthgroup) && isdefined(level._stealth.group.groups[maps\_utility::string(self.script_stealthgroup)])) + { + var_01 = maps\_stealth_shared_utilities::group_get_ai_in_group(maps\_utility::string(self.script_stealthgroup)); + foreach(var_03 in var_01) + { + if(var_03 == self) + { + continue; + } + + if(isdefined(var_03.enemy) || isdefined(var_03.favoriteenemy)) + { + continue; + } + + var_03 notify("heard_alarm",var_00); + } + } + + self waittill("new_target"); + maps\_utility::set_favoriteenemy(undefined); + if(isdefined(self.enemy)) + { + self.enemy common_scripts\utility::waittill_notify_or_timeout("target_lost",10); + } + + wait(3); + } + + maps\_utility::ent_flag_set("fire_disabled"); + self laseroff(); + self.pacifist = 1; + self.ignoreme = 1; +} + +//Function Number: 70 +se_search_drone_vehicle(param_00) +{ + var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("se_search_drone"); + var_01.animname = "search_drone"; + var_01 endon("drone_spotted_player"); + thread search_drone_behavior(var_01,1); + var_01 maps\_utility::ent_flag_set("fire_disabled"); + var_01 maps\_vehicle::godon(); + var_01.ignoreme = 1; + var_01 thread maps\lab_fx::drone_search_light_fx(); + param_00 maps\_anim::anim_first_frame_solo(var_01,"search_drone"); + common_scripts\utility::flag_wait("flag_search_drone_burke_anim_start"); + param_00 maps\_anim::anim_single_solo(var_01,"search_drone"); + var_02 = common_scripts\utility::getstruct("path_search_drone_end","targetname"); + var_01 thread maps\_utility::vehicle_dynamicpath(var_02,0); + var_01.script_vehicle_selfremove = 1; +} + +//Function Number: 71 +se_search_drone_deer(param_00) +{ + var_01 = spawn("script_model",param_00.origin); + var_01 setmodel("fullbody_deer_c"); + var_01.animname = "deer"; + var_01 maps\_anim::setanimtree(); + param_00 maps\_anim::anim_first_frame_solo(var_01,"search_drone"); + maps\_utility::delaythread(31,::maps\lab_fx::deer_leaves_fx); + common_scripts\utility::flag_wait("flag_search_drone_burke_anim_start"); + var_01 soundscripts\_snd::snd_message("deer_foliage_rustle"); + param_00 maps\_anim::anim_single_solo(var_01,"search_drone"); + var_01 delete(); +} + +//Function Number: 72 +force_patrol_anim_set(param_00,param_01,param_02) +{ + maps\_patrol_extended::force_patrol_anim_set(param_00,param_01,0,param_02); +} + +//Function Number: 73 +spawn_takedown_01_guys() +{ + common_scripts\utility::flag_wait("flag_forest_climb_wall_complete"); + level endon("flag_se_takedown_01_started"); + level.guy_1 = getent("enemy_takedown_player_01","targetname") maps\_utility::spawn_ai(1); + level.guy_2 = getent("enemy_takedown_burke_01","targetname") maps\_utility::spawn_ai(1); + level.guy_1 maps\_utility::set_ignoreme(1); + level.guy_2 maps\_utility::set_ignoreme(1); + level.guy_1 maps\_utility::set_ignoreall(1); + level.guy_2 maps\_utility::set_ignoreall(1); + level waittill("player_failed_drone_scene"); + common_scripts\utility::flag_set("forest_player_passed_takedown"); +} + +//Function Number: 74 +se_forest_takedown_01() +{ + var_00 = common_scripts\utility::getstruct("forest_takedown_01_org","targetname"); + thread burke_se_forest_takedown_01(var_00); + common_scripts\utility::flag_wait("flag_forest_takedown_01"); + level.player allowmelee(0); + level.player.disable_melee = 1; + var_01 = getnodearray("node_search_drone","targetname"); + foreach(var_03 in var_01) + { + var_03 connectnode(); + } + + thread se_forest_takedown_01_fail_conditions(level.guy_1,level.guy_2); + thread se_forest_takedown_01_distance_think(); + var_00 = common_scripts\utility::getstruct("forest_takedown_01_org","targetname"); + level.guy_1 force_patrol_anim_set("active_forward"); + level.guy_1 common_scripts\utility::delay_script_call(3,::maps\_flashlight_cheap::add_cheap_flashlight,"flashlight",0,"flashlight_spotlight"); + level.guy_2 force_patrol_anim_set("gundown"); + level.guy_1.nodrop = 1; + level.guy_2.nodrop = 1; + level.guy_1.diequietly = 1; + level.guy_2.diequietly = 1; + level.guy_1 maps\_utility::disable_surprise(); + level.guy_2 maps\_utility::disable_surprise(); + level.guy_1.animname = "disarm_guy_1"; + level.guy_2.animname = "disarm_guy_2"; + common_scripts\utility::flag_set("flag_forest_takedown_01_dialogue_start"); + thread maps\lab_utility::enable_takedown_hint(level.guy_1,101,1); + level.guy_1 thread maps\lab_utility::display_takedown_world_prompt_on_enemy(self); + self waittill("player_completed_takedown"); + common_scripts\utility::flag_set("flag_se_takedown_01_started"); + level.burke maps\_utility::anim_stopanimscripted(); + var_00 notify("ender"); + level.guy_1 notify("enemy"); + level.guy_2 notify("enemy"); + if(isdefined(level.guy_1.function_stack)) + { + level.guy_1 maps\_utility::function_stack_clear(); + } + + level.guy_1 stopsounds(); + if(isdefined(level.burke.function_stack)) + { + level.burke maps\_utility::function_stack_clear(); + } + + level.burke stopsounds(); + var_05 = [level.burke,level.guy_1,level.guy_2]; + level.player setstance("stand"); + level.guy_1 notify("flashlight_off"); + level.player_rig = maps\lab_utility::spawn_player_rig(); + level.player_rig hide(); + level.player freezecontrols(1); + level.player maps\_shg_utility::setup_player_for_scene(0); + maps\_player_exo::player_exo_deactivate(); + soundscripts\_snd::snd_message("player_forest_takedown",level.guy_1); + soundscripts\_snd::snd_message("burke_forest_takedown",level.guy_2); + var_06 = 0.5; + level.player playerlinktoblend(level.player_rig,"tag_player",var_06); + var_07 = [level.guy_1,level.player_rig]; + var_08 = [level.burke,level.guy_2]; + level.player_rig common_scripts\utility::delaycall(var_06,::show); + thread se_burke_takedown_01(var_00); + level.guy_1 notify("takedown_01_start"); + thread maps\lab_fx::forest_takedown_fx(); + thread forest_takedown_01_rumbles(); + thread forest_takedown_handle_gideon_weapon(); + thread award_player_exo_challenge_kill_for_scene(); + var_00 maps\_anim::anim_single(var_07,"forest_disarm"); + setsaveddvar("ammoCounterHide","0"); + level.guy_1 maps\_utility::pretend_to_be_dead(); + level.guy_2 maps\_utility::pretend_to_be_dead(); + level.player unlink(); + level.player freezecontrols(0); + level.player enableweapons(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + maps\_player_exo::player_exo_activate(); + maps\_player_exo::player_exo_remove_single("exo_melee"); + setsaveddvar("player_sprintunlimited","1"); + level.player_rig delete(); + level.guy_1 kill(); + level.player thread equip_player_smg(); + if(level._cloaked_stealth_settings.cloak_on == 1) + { + level.player maps\_cloak::turn_off_the_cloak_effect(); + wait(0.05); + level.player maps\_cloak::turn_on_the_cloak_effect(); + } + + common_scripts\utility::flag_set("flag_se_takedown_01_complete"); + soundscripts\_snd::snd_message("takedown_01_complete"); + maps\_utility::autosave_by_name(); + level.player allowmelee(1); + level.player.disable_melee = undefined; + thread maps\lab_lighting::logging_road(); +} + +//Function Number: 75 +award_player_exo_challenge_kill_for_scene() +{ + wait(2.5); + level.player maps\_upgrade_challenge::give_player_challenge_kill(1); +} + +//Function Number: 76 +forest_takedown_01_rumbles() +{ + maps\lab_utility::setup_level_rumble_ent(); + wait(0.75); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.6,0.3); + wait(1); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.2,0.5); + wait(0.65); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.8,0.2); +} + +//Function Number: 77 +forest_takedown_handle_gideon_weapon() +{ + wait(5); + level.guy_2 maps\_utility::gun_remove(); + var_00 = spawn("script_model",level.burke.origin); + var_01 = "npc_hbra3_nocamo"; + if(isdefined(level.burke.free_running_hidden_weapon)) + { + var_01 = getweaponmodel(level.burke.free_running_hidden_weapon); + } + + var_00 setmodel(var_01); + var_00 maps\_utility::teleport_to_ent_tag(level.burke,"tag_weapon_right"); + wait(8.25); + var_00 delete(); + level.burke animscripts\free_run::disable_free_running(); +} + +//Function Number: 78 +burke_se_forest_takedown_01(param_00) +{ + level endon("flag_logging_road_loud_combat"); + param_00 maps\_anim::anim_reach_solo(level.burke,"forest_disarm_arrive",undefined,1); + maps\_utility::delaythread(0.5,::maps\lab_fx::burke_tree_slide_fx); + level.burke soundscripts\_snd::snd_message("burke_slide_02"); + param_00 maps\_anim::anim_single_solo(level.burke,"forest_disarm_arrive"); + level.burke maps\_utility::set_moveplaybackrate(1); + param_00 thread maps\_anim::anim_loop_solo(level.burke,"forest_disarm_idle","ender"); + common_scripts\utility::flag_wait("flag_se_takedown_01_started"); + level.burke maps\_utility::anim_stopanimscripted(); + param_00 notify("ender"); +} + +//Function Number: 79 +se_forest_takedown_01_fail_conditions(param_00,param_01) +{ + self endon("player_completed_takedown"); + var_02 = 36; + var_03 = 1024; + var_04 = 184; + var_05 = 300; + var_06 = var_02 * var_02; + var_07 = var_03 * var_03; + var_08 = var_04 * var_04; + var_09 = 0.05; + while(!common_scripts\utility::flag("flag_se_takedown_01_complete") && !common_scripts\utility::flag("forest_player_passed_takedown")) + { + var_0A = length(level.player getvelocity()); + var_0B = level._cloaked_stealth_settings.cloak_on; + var_0C = level.player.origin; + if(var_0B) + { + if(distancesquared(var_0C,param_00.origin) < var_06 || distancesquared(var_0C,param_01.origin) < var_06) + { + break; + } + } + else if(distancesquared(var_0C,param_00.origin) < var_07 || distancesquared(var_0C,param_01.origin) < var_07) + { + if(param_00 cansee(level.player) || param_01 cansee(level.player)) + { + break; + } + } + + if(distancesquared(var_0C,param_00.origin) < var_08 || distancesquared(var_0C,param_01.origin) < var_08) + { + if(var_0A > var_05) + { + break; + } + } + + wait(var_09); + } + + wait(0.05); + if(!common_scripts\utility::flag("flag_se_takedown_01_started") || common_scripts\utility::flag("forest_player_passed_takedown")) + { + self notify("takedown_failed"); + level notify("se_takedown_01_failed"); + common_scripts\utility::flag_set("flag_disable_takedown_hint"); + level.should_display_melee_hint = 0; + common_scripts\utility::flag_clear("can_save"); + param_00 maps\_utility::set_ignoreall(0); + param_01 maps\_utility::set_ignoreall(0); + level._cloaked_stealth_settings.cloak_disabled = 1; + param_00.favoriteenemy = level.player; + param_01.favoriteenemy = level.player; + param_00 maps\_utility::set_baseaccuracy(999); + param_01 maps\_utility::set_baseaccuracy(999); + param_00 maps\_utility::magic_bullet_shield(); + param_01 maps\_utility::magic_bullet_shield(); + param_00 setgoalentity(level.player); + param_01 setgoalentity(level.player); + param_00.goalradius = 20; + param_01.goalradius = 20; + param_00.combatmode = "no_cover"; + param_01.combatmode = "no_cover"; + param_00 notify("end_patrol"); + param_01 notify("end_patrol"); + param_00 notify("enemy"); + param_01 notify("enemy"); + level notify("patrol_alerted"); + common_scripts\utility::flag_set("_stealth_spotted"); + maps\_cloak::cloak_device_hit_by_electro_magnetic_pulse(); + level.player enablehealthshield(0); + for(;;) + { + param_00 waittill("shooting"); + level.player dodamage(level.player.maxhealth / 3,param_00 gettagorigin("tag_flash"),param_00); + } + } +} + +//Function Number: 80 +se_forest_takedown_01_distance_think() +{ + level endon("flag_slowly_dialogue_start"); + level endon("se_takedown_01_failed"); + for(;;) + { + if(maps\_utility::players_within_distance(300,level.guy_1.origin)) + { + common_scripts\utility::flag_set("flag_slowly_dialogue_start"); + } + + wait(0.1); + } +} + +//Function Number: 81 +se_burke_takedown_01(param_00) +{ + var_01 = [level.burke,level.guy_2]; + level.guy_2.allowdeath = 1; + level.guy_2.a.nodeath = 1; + level.guy_2 maps\_utility::set_battlechatter(0); + level.guy_2 setcontents(0); + level.guy_2 common_scripts\utility::delaycall(14,::setanimrate,level.guy_2 maps\_utility::getanim("forest_disarm"),0); + thread maps\lab_utility::ai_kill_when_out_of_sight(level.guy_2,1024); + param_00 maps\_anim::anim_single_run(var_01,"forest_disarm"); + level.burke maps\_utility::set_moveplaybackrate(0.8); + level.burke maps\_utility::enable_cqbwalk(); +} + +//Function Number: 82 +se_vehicle_takedown_01() +{ + self endon("takedown_failed"); + level endon("flag_se_vehicle_takedown_01_failed"); + thread maps\lab_lighting::vrap_takedown_lights_on(); + thread maps\lab_lighting::lighting_vehicle_takedown_01_on(); + var_00 = common_scripts\utility::getstruct("vrap_takedown_org","targetname"); + var_01 = spawn("script_origin",var_00.origin); + var_02 = spawn("script_origin",var_00.origin); + if(isdefined(var_00.angles)) + { + var_01.angles = var_00.angles; + var_02.angles = var_00.angles; + } + + var_03 = getent("blocker_vrap_takedown_door","targetname"); + var_03.origin = var_03.origin + (0,0,10000); + var_03 disconnectpaths(); + var_04 = getent("vrap_01","targetname") maps\_utility::spawn_vehicle(); + var_05 = maps\_utility::spawn_targetname("enemy_vrap_01"); + var_06 = maps\_utility::spawn_targetname("enemy_vrap_02"); + var_04.animname = "vrap"; + var_05.animname = "vrap_guy_1"; + var_06.animname = "vrap_guy_2"; + var_05.allowdeath = 1; + var_05.diequietly = 1; + var_06.diequietly = 1; + var_05.health = 1; + var_06.health = 1; + var_05.found = 1; + var_06.found = 1; + var_07 = [var_04,var_05]; + var_08 = [var_06]; + var_06.vehicle_idle_override = var_06 maps\_utility::getanim("vrap_takedown_idle"); + var_06 notify("enteredvehicle"); + var_04 thread maps\_utility::guy_enter_vehicle(var_06); + var_06.allowdeath = 1; + var_09 = "vrap_takedown_ender"; + var_01 thread maps\_anim::anim_loop(var_07,"vrap_takedown_idle",var_09); + thread se_vehicle_takedown_fail_conditions(var_05,var_06,var_01,var_02,var_09,var_04); + thread se_vehicle_takedown_stealth_alert_check(var_05,1); + thread se_vehicle_takedown_stealth_alert_check(var_06,0); + common_scripts\utility::flag_wait("flag_vehicle_takedown_01"); + soundscripts\_snd::snd_message("truck_takedown_radio",var_05); + if(!common_scripts\utility::flag("flag_forest_player_alt_path_01")) + { + se_vehicle_mute_charge(var_01); + thread maps\lab_utility::enable_takedown_hint(var_05,101); + var_0A = common_scripts\utility::spawn_tag_origin(); + var_0A.origin = var_05.origin + (0,0,52); + var_0A linkto(var_05,"j_neck"); + var_05 thread maps\lab_utility::activate_takedown_world_prompt_on_truck_enemy(self); + self waittill("player_completed_takedown"); + level.player setstance("stand"); + common_scripts\utility::flag_set("flag_vehicle_takedown_01_start"); + thread maps\lab_lighting::lighting_vehicle_takedown_01(var_05); + var_05 maps\_stealth_utility::disable_stealth_for_ai(); + var_06 maps\_stealth_utility::disable_stealth_for_ai(); + level.player maps\_shg_utility::setup_player_for_scene(1); + maps\_player_exo::player_exo_deactivate(); + level.player maps\_utility::set_ignoreme(1); + var_06 = maps\_vehicle_aianim::convert_guy_to_drone(var_06); + var_06.animname = "vrap_guy_2"; + var_01 notify(var_09); + var_02 notify(var_09); + level.player_rig = maps\lab_utility::spawn_player_rig(); + level.player_rig.animname = "player_rig"; + level.player_rig hide(); + level.player playerlinktoblend(level.player_rig,"tag_player",0.2); + level.player_rig common_scripts\utility::delaycall(0.2,::show); + var_0B = [var_04,var_05,var_06,level.burke,level.player_rig]; + soundscripts\_snd::snd_message("truck_takedown"); + thread vehicle_takedown_rumbles(); + thread award_player_exo_challenge_kill_for_scene(); + var_01 maps\_anim::anim_single(var_0B,"vrap_takedown"); + var_05 maps\_utility::pretend_to_be_dead(); + level.player unlink(); + level.player freezecontrols(0); + level.player enableweapons(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + maps\_player_exo::player_exo_activate(); + level.player_rig delete(); + level.player maps\_utility::set_ignoreme(0); + var_03 connectpaths(); + var_03 delete(); + var_01 notify(var_09); + var_02 notify(var_09); + var_01 delete(); + var_02 delete(); + } + + common_scripts\utility::flag_set("flag_se_vehicle_takedown_01_complete"); + thread maps\_utility::autosave_stealth(); +} + +//Function Number: 83 +se_vehicle_mute_charge(param_00) +{ + self endon("takedown_failed"); + var_01 = maps\_utility::spawn_anim_model("vrap_mute"); + var_01 hide(); + var_02 = getent("vrap_mute_hint","targetname"); + level.vrap_mute_obj = spawn("script_model",(0,0,0)); + level.vrap_mute_obj setmodel("mutecharge_obj"); + level.vrap_mute_obj.angles = var_02.angles; + level.vrap_mute_obj.origin = var_02.origin; + level.vrap_mute_trig = getent("trig_vrap_mute","targetname"); + level.vrap_mute_trig thread maps\_utility::addhinttrigger(&"LAB_PLANT_MUTE_HINT",&"LAB_PLANT_MUTE_HINT_PC"); + level.vrap_mute_trig.button = level.vrap_mute_trig maps\_shg_utility::hint_button_trigger("x"); + thread vehicle_mute_charge_failed(); + common_scripts\utility::flag_wait("flag_vrap_mute_start"); + while(isdefined(level._cloaked_stealth_settings.playing_view_model_cloak_toggle_anim) && level._cloaked_stealth_settings.playing_view_model_cloak_toggle_anim == 1) + { + wait(0.05); + } + + level.player_rig = maps\lab_utility::spawn_player_rig(); + level.player_rig hide(); + var_03 = [level.player_rig,var_01]; + param_00 thread maps\_anim::anim_first_frame(var_03,"vrap_mute"); + level.vrap_mute_trig thread maps\_utility::addhinttrigger("",""); + level.vrap_mute_trig.button maps\_shg_utility::hint_button_clear(); + soundscripts\_snd::snd_message("lab_mute_gun_holster"); + level.player maps\_shg_utility::setup_player_for_scene(1); + maps\_player_exo::player_exo_deactivate(); + level.player playerlinktoblend(level.player_rig,"tag_player",0.5); + wait(0.5); + var_01 thread maps\_cloak::activate_mute_volume(350,20); + var_01 soundscripts\_snd::snd_message("aud_vrap_mute_start",350,20); + level.vrap_mute_obj hide(); + level.player_rig show(); + var_01 show(); + thread mute_charge_01_rumbles(); + param_00 maps\_anim::anim_single(var_03,"vrap_mute"); + level.player unlink(); + level.player enableweapons(); + level.player freezecontrols(0); + level.player maps\_shg_utility::setup_player_for_gameplay(); + maps\_player_exo::player_exo_activate(); + level.player_rig delete(); +} + +//Function Number: 84 +mute_charge_01_rumbles() +{ + maps\lab_utility::setup_level_rumble_ent(); + wait(0.65); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.4,0.2); + wait(0.5); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.3,0.75); +} + +//Function Number: 85 +vehicle_takedown_rumbles() +{ + wait(0.93); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.7,0.2); + wait(1); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.7,0.2); +} + +//Function Number: 86 +vehicle_mute_charge_failed() +{ + self endon("player_completed_takedown"); + level endon("flag_vrap_mute_start"); + common_scripts\utility::waittill_any_ents(self,"takedown_failed",level,"flag_se_vehicle_takedown_01_failed"); + thread vehicle_mute_charge_cleanup(); +} + +//Function Number: 87 +vehicle_mute_charge_cleanup() +{ + if(isdefined(level.vrap_mute_obj)) + { + level.vrap_mute_obj delete(); + } + + if(isdefined(level.vrap_mute_trig)) + { + if(isdefined(level.vrap_mute_trig.button)) + { + level.vrap_mute_trig.button maps\_shg_utility::hint_button_clear(); + } + + level.vrap_mute_trig delete(); + } +} + +//Function Number: 88 +se_vehicle_takedown_fail_conditions(param_00,param_01,param_02,param_03,param_04,param_05) +{ + self endon("player_completed_takedown"); + thread se_vehicle_takedown_fail_condition_guy(param_00,param_02,param_04,1,param_05); + thread se_vehicle_takedown_fail_condition_guy(param_01,param_03,param_04,0,param_05); + common_scripts\utility::waittill_any_ents(param_00,"death",param_01,"death"); + if(level.player maps\_utility::ent_flag_exist("_stealth_in_mute_radius") && level.player maps\_utility::ent_flag("_stealth_in_mute_radius")) + { + if(isdefined(param_00)) + { + param_00 maps\_stealth_utility::disable_stealth_for_ai(); + } + + if(isdefined(param_01)) + { + param_01 maps\_stealth_utility::disable_stealth_for_ai(); + param_01 = maps\_vehicle_aianim::convert_guy_to_drone(param_01); + param_01.animname = "vrap_guy_2"; + param_03 thread maps\_anim::anim_single_solo(param_01,"vrap_takedown"); + param_03 maps\_utility::delaythread(0.05,::maps\_anim::anim_set_time,[param_01],"vrap_takedown",1); + param_01 setanimrate(param_01 maps\_utility::getanim("vrap_takedown"),0); + param_01 kill(level.burke.origin,level.burke); + } + + if(!isdefined(param_00) || !isalive(param_00)) + { + if(isdefined(param_01) && isalive(param_01)) + { + param_01 kill(level.burke.origin,level.burke); + } + } + + if(!isdefined(param_01) || !isalive(param_01)) + { + if(isdefined(param_00) && isalive(param_00)) + { + param_00 kill(level.burke.origin,level.burke); + } + } + } + else + { + common_scripts\utility::flag_set("_stealth_spotted"); + maps\_cloak::cloak_device_hit_by_electro_magnetic_pulse(); + } + + self notify("takedown_failed"); + common_scripts\utility::flag_set("flag_disable_takedown_hint"); + common_scripts\utility::flag_set("flag_se_vehicle_takedown_01_failed"); + common_scripts\utility::flag_set("flag_se_vehicle_takedown_01_complete"); + level.should_display_melee_hint = 0; +} + +//Function Number: 89 +se_vehicle_takedown_stealth_alert_check(param_00,param_01) +{ + param_00 endon("death"); + if(param_01) + { + common_scripts\utility::waittill_any_ents(param_00,"patrol_alerted",param_00,"_stealth_spotted",param_00,"stealth_event",param_00,"_stealth_found_corpse",param_00,"alerted",param_00,"enemy",param_00,"touch"); + } + else + { + common_scripts\utility::waittill_any_ents(param_00,"patrol_alerted",param_00,"_stealth_spotted",param_00,"stealth_event",param_00,"_stealth_found_corpse",param_00,"alerted",param_00,"enemy"); + } + + param_00 notify("alerted"); +} + +//Function Number: 90 +se_vehicle_takedown_fail_condition_guy(param_00,param_01,param_02,param_03,param_04) +{ + self endon("player_completed_takedown"); + param_00 endon("death"); + var_05 = param_00 maps\_stealth_shared_utilities::ai_get_behavior_function("animation","wrapper"); + param_00 maps\_stealth_shared_utilities::ai_create_behavior_function("animation","wrapper",::se_vehicle_takedown_dummyfunc); + param_00 maps\_utility::ent_flag_set("_stealth_behavior_reaction_anim"); + param_00._stealth.debug_state = "hanging around"; + param_00 waittill("alerted"); + param_01 notify(param_02); + self notify("takedown_failed"); + common_scripts\utility::flag_set("flag_disable_takedown_hint"); + common_scripts\utility::flag_set("flag_se_vehicle_takedown_01_failed"); + common_scripts\utility::flag_set("flag_se_vehicle_takedown_01_complete"); + level.should_display_melee_hint = 0; + if(param_03) + { + waittillframeend; + param_01 maps\_anim::anim_single_solo(param_00,"vrap_takedown_fail"); + param_00 maps\_stealth_shared_utilities::ai_create_behavior_function("animation","wrapper",var_05); + } + else + { + param_04 maps\_vehicle::vehicle_unload(); + param_00 waittill("jumpedout"); + param_00 maps\_stealth_shared_utilities::ai_create_behavior_function("animation","wrapper",var_05); + } + + param_00 maps\_utility::ent_flag_clear("_stealth_behavior_reaction_anim"); +} + +//Function Number: 91 +se_vehicle_takedown_dummyfunc(param_00) +{ +} + +//Function Number: 92 +drones_logging_road() +{ + var_00 = maps\_vehicle::spawn_vehicles_from_targetname_and_drive("drones_logging_road_wave_1"); + foreach(var_02 in var_00) + { + var_02 maps\_utility::ent_flag_set("fire_disabled"); + var_02.ignoreme = 1; + var_02 thread maps\lab_fx::drone_search_light_fx(); + thread search_drone_behavior(var_02); + } + + common_scripts\utility::flag_wait("flag_se_vehicle_takedown_01_complete"); + wait(0.1); + var_00 = maps\_vehicle::spawn_vehicles_from_targetname_and_drive("drones_logging_road_wave_1"); + foreach(var_02 in var_00) + { + var_02 maps\_utility::ent_flag_set("fire_disabled"); + var_02.ignoreme = 1; + var_02 thread maps\lab_fx::drone_search_light_fx(); + thread search_drone_behavior(var_02); + } +} + +//Function Number: 93 +se_mech_march() +{ + if(common_scripts\utility::flag("flag_logging_road_loud_combat")) + { + return; + } + + level endon("flag_logging_road_loud_combat"); + common_scripts\utility::flag_wait("flag_se_mech_march_start"); + if(!common_scripts\utility::flag("flag_se_vehicle_takedown_01_complete")) + { + common_scripts\utility::flag_set("flag_se_vehicle_takedown_01_failed"); + common_scripts\utility::flag_set("flag_se_vehicle_takedown_01_complete"); + } + + level notify("dog_barks_stop"); + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("gaz_mech_march_02"); + var_00 soundscripts\_snd::snd_message("gaz_04_slow_by"); + var_00 maps\_vehicle::vehicle_lights_on(); + var_00 thread maps\lab_fx::logging_road_mud_tracks_2(); + var_00 thread forest_stealth_gaz_think(); + var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("brt_mech_march_01"); + var_01 soundscripts\_snd::snd_message("gaz_05_slow_by"); + var_01 thread maps\lab_fx::logging_road_mud_tracks_2(); + var_01 thread forest_stealth_gaz_think(); + var_00 thread maps\lab_lighting::logging_road_gaz_headlight_moment(); + var_02 = getentarray("combat_mech_march_runner","script_noteworthy"); + foreach(var_04 in var_02) + { + var_04 maps\_utility::spawn_ai(1,0); + wait(randomfloatrange(0.1,0.25)); + } + + var_02 = getentarray("combat_mech_march","script_noteworthy"); + foreach(var_04 in var_02) + { + var_07 = var_04 maps\_utility::spawn_ai(1,0); + var_07 thread mech_march_footstep_rumbles(); + } + + var_09 = getent("combat_mech_march_05","script_noteworthy"); + var_0A = var_09 maps\_utility::spawn_ai(1,0); + var_0A thread mech_march_footstep_rumbles(); + var_02 = getentarray("combat_mech_march_follower","script_noteworthy"); + foreach(var_04 in var_02) + { + var_04 maps\_utility::spawn_ai(1,0); + } +} + +//Function Number: 94 +mech_march_footstep_rumbles() +{ + level endon("flag_logging_road_loud_combat"); + self endon("death"); + for(;;) + { + self waittill("moveanim",var_00); + if(var_00 == "footstep_rumble") + { + var_01 = 300; + var_02 = distance(self.origin,level.player.origin); + if(var_02 < var_01) + { + maps\lab_utility::setup_level_rumble_ent(); + var_03 = var_01 - var_02 / var_01; + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,var_03,0.25); + wait(0.25); + } + else + { + wait 0.05; + } + + continue; + } + + wait 0.05; + } +} + +//Function Number: 95 +mech_march_follower_enemy_think() +{ + self endon("death"); + force_patrol_anim_set("gundown",0); + maps\_utility::set_moveplaybackrate(0.9); +} + +//Function Number: 96 +mech_march_runner_enemy_think() +{ + self endon("death"); + force_patrol_anim_set("patroljog",0); + maps\_utility::set_moveplaybackrate(1.1); +} + +//Function Number: 97 +disable_rappel_trigger_monitor() +{ + level endon("flag_rappel_start"); + var_00 = getent("rappel_cancel_trigger","targetname"); + var_01 = getent("rappel_use_trigger","targetname"); + var_00 waittill("trigger"); + var_01 common_scripts\utility::trigger_off(); +} + +//Function Number: 98 +se_cormack_meet() +{ + thread disable_rappel_trigger_monitor(); + common_scripts\utility::flag_wait("flag_logging_road_complete"); + level.nextgrenadedrop = -1; + if(common_scripts\utility::flag("flag_logging_road_loud_combat")) + { + common_scripts\utility::flag_set("flag_vo_stealth_recovered"); + } + + level notify("patrol_radios_stop"); + level notify("aud_start_clearing_damb"); + common_scripts\utility::flag_wait("flag_cormack_meet_init"); + common_scripts\utility::flag_set("flag_obj_crawl_under_log"); + thread maps\lab_lighting::cliff_rappel_lighting_setup(); + thread maps\lab_lighting::cliff_rappel(); + var_00 = common_scripts\utility::getstruct("cliff_rappel_org","targetname"); + se_cormack_meet_init(); + level.burke thread burke_disable_cqb(); + level.knox.ignoreme = 1; + var_01 = getnode("node_burke_cover_rappel","targetname"); + level.burke thread maps\lab_utility::goto_node(var_01,0); + var_02 = [level.cormack,level.knox]; + var_00 thread maps\_anim::anim_loop(var_02,"cliff_meetup_idle","ender"); + var_03 = spawn("script_model",var_00.origin); + var_03 setmodel("rope_carabiner"); + var_03.animname = "carabiner_burke"; + var_03 maps\_anim::setanimtree(); + var_04 = spawn("script_model",var_00.origin); + var_04 setmodel("rope_carabiner"); + var_04.animname = "carabiner_cormack"; + var_04 maps\_anim::setanimtree(); + var_05 = spawn("script_model",var_00.origin); + var_05 setmodel("rope_carabiner"); + var_05.animname = "carabiner_knox"; + var_05 maps\_anim::setanimtree(); + var_05 overridematerial("mtl_rope_carabiner","mtl_rope_carabiner_cloak"); + level.carabiner_knox = var_05; + var_06 = spawn("script_model",var_00.origin); + var_06 setmodel("lab_anchor_system"); + var_06.animname = "anchor_system_burke"; + var_06 maps\_anim::setanimtree(); + var_07 = spawn("script_model",var_00.origin); + var_07 setmodel("lab_anchor_system"); + var_07.animname = "anchor_system_cormack"; + var_07 maps\_anim::setanimtree(); + var_08 = spawn("script_model",var_00.origin); + var_08 setmodel("lab_anchor_system"); + var_08.animname = "anchor_system_knox"; + var_08 maps\_anim::setanimtree(); + var_09 = spawn("script_model",var_00.origin); + var_09 setmodel("rope30ft_120j"); + var_09.animname = "rope_30_burke"; + var_09 maps\_anim::setanimtree(); + var_0A = spawn("script_model",var_00.origin); + var_0A setmodel("rope30ft_120j"); + var_0A.animname = "rope_30_cormack"; + var_0A maps\_anim::setanimtree(); + var_0B = spawn("script_model",var_00.origin); + var_0B setmodel("rope30ft_120j"); + var_0B.animname = "rope_30_knox"; + var_0B maps\_anim::setanimtree(); + var_0B overridematerial("mtl_rope_blk","mtl_rope_blk_cloak"); + level.rope_knox = var_0B; + var_0C = [var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A,var_0B]; + var_00 thread maps\_anim::anim_first_frame(var_0C,"cliff_meetup"); + common_scripts\utility::flag_wait("flag_cormack_meet_start"); + soundscripts\_snd::snd_message("aud_burke_nearing_cliff"); + var_00 maps\_anim::anim_reach_solo(level.burke,"cliff_meetup"); + level.burke thread maps\lab_utility::cloak_off(); + level.cormack maps\_utility::anim_stopanimscripted(); + level.knox maps\_utility::anim_stopanimscripted(); + common_scripts\utility::flag_set("flag_cliff_rappel_dialogue_start"); + level.burke pushplayer(0); + level.burke.dontavoidplayer = 0; + level.burke.dontchangepushplayer = undefined; + var_00 notify("ender"); + var_02 = [level.cormack,level.knox,level.burke,var_06,var_07,var_08,var_09,var_0A,var_0B,var_03,var_04,var_05]; + maps\_utility::delaythread(12,::equip_player); + var_00 maps\_anim::anim_single(var_02,"cliff_meetup"); + var_0D = [level.burke,var_09]; + var_00 thread maps\_anim::anim_loop(var_0D,"cliff_meetup_rappel_idle","ender"); + var_0E = getnode("node_knox_rappel_1","targetname"); + var_0F = getnode("node_cormack_rappel_1","targetname"); + level.knox maps\lab_utility::goto_node(var_0E,0); + level.cormack maps\lab_utility::goto_node(var_0F,0); + level.cormack thread maps\lab_utility::cloak_on(); + level.knox thread maps\lab_utility::cloak_on(); + var_10 = getent("cliff_clip_cormack","targetname"); + var_10 delete(); + common_scripts\utility::flag_set("flag_player_ready_to_rappel"); + thread maps\lab_vo::cliff_rappel_dialogue_nag(); + var_11 = getent("rappel_use_trigger","targetname"); + var_11 thread maps\_utility::addhinttrigger(&"LAB_RAPPEL_HINT",&"LAB_RAPPEL_HINT_PC"); + var_12 = var_11 maps\_shg_utility::hint_button_trigger("x"); + var_11 thread maps\lab_utility::disable_trigger_while_player_animating("flag_rappel_start"); + common_scripts\utility::flag_wait("flag_rappel_start"); + common_scripts\utility::flag_clear("flag_player_cloak_enabled"); + thread cleanup_ai_logging_road(); + level.knox.ignoreme = 0; + soundscripts\_snd::snd_message("aud_rappel_player_hookup"); + var_13 = [var_06,var_07,var_08,var_09,var_0A,var_0B,var_03,var_04,var_05]; + thread rope_end_rappel(var_00,var_13); + thread courtyard_rappel_preview(); + common_scripts\utility::flag_set("flag_rappel_start_lighting"); + common_scripts\utility::flag_set("flag_cliff_rappeling_dialogue_start"); + var_11 thread maps\_utility::addhinttrigger("",""); + var_12 maps\_shg_utility::hint_button_clear(); + var_14 = spawn("script_model",var_00.origin); + var_14 hide(); + var_14 setmodel("rope30ft_240j"); + var_14.animname = "rope_vm"; + var_14 maps\_anim::setanimtree(); + var_15 = spawn("script_model",var_00.origin); + var_15 hide(); + var_15 setmodel("rope_carabiner"); + var_15.animname = "carabiner_vm"; + var_15 maps\_anim::setanimtree(); + var_16 = spawn("script_model",var_00.origin); + var_16 hide(); + var_16 setmodel("lab_anchor_system"); + var_16.animname = "anchor_system"; + var_16 maps\_anim::setanimtree(); + level.player maps\_shg_utility::setup_player_for_scene(1); + maps\_player_exo::player_exo_deactivate(); + level.player_rig = maps\lab_utility::spawn_player_rig(); + level.player_rig hide(); + var_17 = 1; + level.player playerlinktoblend(level.player_rig,"tag_player",var_17); + level.player common_scripts\utility::delaycall(2,::playerlinktodelta,level.player_rig,"tag_player",1,0,0,0,0,1); + level.player enableslowaim(0.4,0.25); + level.player_rig common_scripts\utility::delaycall(var_17,::show); + var_16 common_scripts\utility::delaycall(var_17,::show); + var_18 = getent("cliff_clip_gideon","targetname"); + var_18 delete(); + thread player_rappel(var_00,var_14,var_15,var_16); + level.burke maps\_utility::anim_stopanimscripted(); + var_00 notify("ender"); + thread burke_rappel(var_00,var_09); +} + +//Function Number: 99 +burke_disable_cqb() +{ + common_scripts\utility::flag_wait("flag_seeker_clear"); + maps\_utility::disable_cqbwalk(); +} + +//Function Number: 100 +burke_rappel(param_00,param_01) +{ + var_02 = spawn("script_model",param_00.origin); + var_02 hide(); + var_02 setmodel("rope150ft_240j"); + var_02.animname = "rope_150_burke"; + var_02 maps\_anim::setanimtree(); + level.burke_rope_long = var_02; + level.burke_rope = param_01; + var_03 = [level.burke,param_01,var_02]; + param_00 maps\_anim::anim_single(var_03,"cliff_jump"); + level.burke thread maps\lab_utility::cloak_on(); + level.burke maps\_utility::place_weapon_on("iw5_hbra3_sp_silencer01_variablereddot","right"); + var_02 delete(); +} + +//Function Number: 101 +player_rappel(param_00,param_01,param_02,param_03) +{ + level notify("aud_stop_clearing_damb"); + param_01 common_scripts\utility::delaycall(1,::show); + param_02 common_scripts\utility::delaycall(1,::show); + var_04 = spawn("script_model",param_00.origin); + var_04 hide(); + var_04 setmodel("weapon_rappel_rope_long"); + var_04.animname = "rope_vm_long"; + var_04 maps\_anim::setanimtree(); + level.player_rope_long = var_04; + level.player_rope = param_01; + var_05 = [level.player_rig,param_01,var_04,param_02,param_03]; + thread play_cliff_rappel_animation(param_00,level.player_rig,var_05); + thread player_rappel_control(param_00,level.player_rig,var_05); + level.player_rig waittill("cliff_jump"); + level notify("cliff_rappel_landing"); + level.player unlink(); + level.player freezecontrols(0); + level.player enableweapons(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + maps\_player_exo::player_exo_activate(); + level.player_rig delete(); + level.player disableslowaim(); + common_scripts\utility::flag_set("flag_player_cloak_enabled"); + soundscripts\_snd::snd_message("player_rappel_complete"); + var_04 delete(); + maps\_utility::autosave_by_name(); + if(level.currentgen) + { + level notify("tff_pre_intro_to_middle"); + unloadtransient("lab_intro_tr"); + loadtransient("lab_middle_tr"); + while(!istransientloaded("lab_middle_tr")) + { + wait(0.05); + } + + level notify("tff_post_intro_to_middle"); + } +} + +//Function Number: 102 +rope_end_rappel(param_00,param_01) +{ + level waittill("cliff_rappel_landing"); + foreach(var_03 in param_01) + { + var_03 delete(); + } + + var_05 = spawn("script_model",param_00.origin); + var_05 setmodel("rope150ft_240j"); + var_05.animname = "rope_150_knox_end"; + var_05 maps\_anim::setanimtree(); + var_06 = spawn("script_model",param_00.origin); + var_06 setmodel("rope150ft_240j"); + var_06.animname = "rope_150_cormack_end"; + var_06 maps\_anim::setanimtree(); + var_07 = spawn("script_model",param_00.origin); + var_07 setmodel("rope150ft_240j"); + var_07.animname = "rope_150_burke_end"; + var_07 maps\_anim::setanimtree(); + var_08 = spawn("script_model",param_00.origin); + var_08 setmodel("rope150ft_240j"); + var_08.animname = "rope_150_player_end"; + var_08 maps\_anim::setanimtree(); + var_09 = [var_05,var_06,var_07,var_08]; + param_00 maps\_anim::anim_loop(var_09,"cliff_jump_end"); +} + +//Function Number: 103 +player_input_rappel_hint_off() +{ + return level.player getnormalizedmovement()[0] < -0.1; +} + +//Function Number: 104 +player_rappel_control(param_00,param_01,param_02) +{ + param_01 endon("cliff_jump"); + var_03 = 1; + var_04 = 1; + var_05 = 1; + var_06 = 1; + var_07 = 0.1; + common_scripts\utility::flag_wait("flag_rappel_player_input_start"); + thread rappel_control_hint(); + level.player lerpviewangleclamp(1,0.5,0,10,20,20,30); + if(0) + { + thread camera_view_tuning(param_01); + } + + if(0) + { + thread camera_sway_tuning(); + } + + thread player_rappel_camera_sway(param_01,1); + for(;;) + { + if(common_scripts\utility::flag("flag_rappel_player_input_stop")) + { + maps\_anim::anim_set_rate(param_02,"cliff_jump",1); + thread player_rappel_camera_sway(param_01,0); + return; + } + + var_08 = level.player getnormalizedmovement(); + if(var_08[0] < 0) + { + var_06 = var_08[0] * -1; + } + else + { + var_06 = 0; + } + + if(var_06 > 0) + { + soundscripts\_snd::snd_message("aud_rappel_player_movement_start",param_01); + level.player_is_rappelling = 1; + } + else + { + soundscripts\_snd::snd_message("aud_rappel_player_movement_stop",param_01); + } + + var_09 = abs(var_06 - var_04); + if(var_09 > 0.01) + { + if(var_09 > 0.5) + { + var_07 = 0.1; + } + else + { + var_07 = 0.03; + } + + if(var_06 > var_04) + { + var_04 = var_04 + var_07; + if(var_04 > 1) + { + var_04 = 1; + } + } + else + { + var_04 = var_04 - var_07; + if(var_04 < 0) + { + var_04 = 0; + level.player_is_rappelling = 0; + } + } + + maps\_anim::anim_set_rate(param_02,"cliff_jump",var_04); + } + + wait 0.05; + } +} + +//Function Number: 105 +rappel_control_hint() +{ + wait(1.5); + maps\_utility::hintdisplayhandler("player_input_rappel_hint"); +} + +//Function Number: 106 +play_cliff_rappel_animation(param_00,param_01,param_02) +{ + thread rappel_animation_rumbles(); + param_00 maps\_anim::anim_single(param_02,"cliff_jump"); + param_01 notify("cliff_jump"); +} + +//Function Number: 107 +rappel_animation_rumbles() +{ + maps\lab_utility::setup_level_rumble_ent(); + wait(1.15); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.8,0.4); + wait(2.4); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.3,0.3); + wait(7.4); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.4,0.5); + wait(3.75); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.1,3.75); + thread rappel_rumbles(); +} + +//Function Number: 108 +rappel_rumbles() +{ + level endon("cliff_rappel_landing"); + while(!isdefined(level.player_is_rappelling)) + { + wait(0.5); + } + + maps\lab_utility::setup_level_rumble_ent(); + for(;;) + { + if(level.player_is_rappelling == 1) + { + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.1,0.4); + } + + wait(0.5); + } +} + +//Function Number: 109 +player_rappel_camera_sway(param_00,param_01) +{ + param_00 endon("cliff_jump"); + param_00 notify("killduplicatethread"); + param_00 endon("killduplicatethread"); + if(!param_01) + { + return; + } + + for(;;) + { + if(0) + { + screenshake(level.player.origin,level.values[0],level.values[1],level.values[2],level.values[3],level.values[4],level.values[5],level.values[6],level.values[7],level.values[8],level.values[9]); + } + else + { + screenshake(level.player.origin,0.2,4.1,0.56,2,0.95,0,0,0.4,0.1,0.1); + } + + wait(1); + } +} + +//Function Number: 110 +camera_sway_tuning() +{ + level.values[0] = 0.2; + level.values[1] = 4.1; + level.values[2] = 0.56; + level.values[3] = 2; + level.values[4] = 0.95; + level.values[5] = 0; + level.values[6] = 0; + level.values[7] = 0.4; + level.values[8] = 0.1; + level.values[9] = 0.1; + var_00[0] = "scalePitch"; + var_00[1] = "scaleyaw"; + var_00[2] = "scaleroll"; + var_00[3] = "duration"; + var_00[4] = "durationfadeup"; + var_00[5] = "durationfadedown"; + var_00[6] = "radius"; + var_00[7] = "frequencypitch"; + var_00[8] = "frequencyyaw"; + var_00[9] = "frequencyroll"; + var_01 = 0; + var_02 = 0; + for(;;) + { + if(level.player buttonpressed("DPAD_LEFT")) + { + var_01++; + if(var_01 >= var_00.size) + { + var_01 = 0; + } + + var_02 = 1; + wait(0.5); + } + else if(level.player buttonpressed("DPAD_RIGHT")) + { + var_01--; + if(var_01 < 0) + { + var_01 = var_00.size - 1; + } + + var_02 = 1; + wait(0.5); + } + else if(level.player buttonpressed("DPAD_UP")) + { + level.values[var_01] = level.values[var_01] + 0.05; + var_02 = 1; + } + else if(level.player buttonpressed("DPAD_DOWN")) + { + level.values[var_01] = level.values[var_01] - 0.05; + var_02 = 1; + } + + if(var_02) + { + var_03 = "selected(" + var_00[var_01] + ") "; + for(var_04 = 0;var_04 < var_00.size;var_04++) + { + var_03 = var_03 + var_00[var_04] + "(" + level.values[var_04] + ") "; + } + + iprintln(var_03); + var_02 = 0; + } + + wait 0.05; + } +} + +//Function Number: 111 +camera_view_tuning(param_00) +{ + param_00 endon("cliff_jump"); + level.values[0] = 10; + level.values[1] = 30; + level.values[2] = 30; + level.values[3] = 45; + var_01[0] = "right"; + var_01[1] = "left"; + var_01[2] = "top"; + var_01[3] = "bottom"; + var_02 = 0; + var_03 = 0; + for(;;) + { + if(level.player buttonpressed("DPAD_LEFT")) + { + var_02++; + if(var_02 >= var_01.size) + { + var_02 = 0; + } + + var_03 = 1; + wait(0.5); + } + else if(level.player buttonpressed("DPAD_RIGHT")) + { + var_02--; + if(var_02 < 0) + { + var_02 = var_01.size - 1; + } + + var_03 = 1; + wait(0.5); + } + else if(level.player buttonpressed("DPAD_UP")) + { + level.values[var_02] = level.values[var_02] + 0.05; + var_03 = 1; + } + else if(level.player buttonpressed("DPAD_DOWN")) + { + level.values[var_02] = level.values[var_02] - 0.05; + var_03 = 1; + } + + if(var_03) + { + var_04 = "selected(" + var_01[var_02] + ") "; + for(var_05 = 0;var_05 < var_01.size;var_05++) + { + var_04 = var_04 + var_01[var_05] + "(" + level.values[var_05] + ") "; + } + + iprintln(var_04); + var_03 = 0; + level.player lerpviewangleclamp(0.2,0.1,0.1,level.values[0],level.values[1],level.values[2],level.values[3]); + } + + wait 0.05; + } +} + +//Function Number: 112 +player_rappel_rope_swap(param_00) +{ + level.player_rope_long show(); + level.player_rope hide(); +} + +//Function Number: 113 +burke_rappel_rope_swap(param_00) +{ + level.burke_rope_long show(); + level.burke_rope hide(); +} + +//Function Number: 114 +se_cormack_meet_init() +{ + maps\lab::spawn_cormack_common(); + level.cormack thread maps\lab_utility::cloak_on(); + maps\lab::spawn_knox_common(); + level.knox thread maps\lab_utility::cloak_on(); +} + +//Function Number: 115 +play_rappel_pip(param_00) +{ + wait(1); + maps\_shg_utility::play_videolog("lab_videolog_01","screen_add"); +} + +//Function Number: 116 +se_breach_guards() +{ + maps\_utility::battlechatter_off("axis"); + level.burke maps\_utility::enable_cqbwalk(); + level.cormack maps\_utility::enable_cqbwalk(); + level.knox maps\_utility::enable_cqbwalk(); + setsaveddvar("ai_friendlyFireBlockDuration",0); + thread maps\lab_utility::enable_all_fixed_scanners(); + var_00 = common_scripts\utility::getstruct("breach_guards_org","targetname"); + var_01 = getent("camera_breach","script_noteworthy"); + var_02 = maps\_utility::spawn_targetname("breach_guard_01",1); + var_03 = maps\_utility::spawn_targetname("breach_guard_02",1); + var_02.ignoreme = 1; + var_03.ignoreme = 1; + var_01.ignoreme = 1; + var_02.animname = "guy_1"; + var_03.animname = "guy_2"; + var_04 = [var_02,var_03]; + var_00 thread maps\_anim::anim_loop(var_04,"breach_duards_idle","ender"); + common_scripts\utility::flag_wait("flag_facility_breach_start"); + var_05 = getnode("node_burke_shoot_camera","targetname"); + level.burke maps\_utility::disable_ai_color(); + level.burke.ignoreme = 1; + level.burke thread maps\lab_utility::goto_node(var_05,0); + var_06 = getnode("node_cormack_shoot_camera","targetname"); + level.cormack maps\_utility::disable_ai_color(); + level.cormack.ignoreme = 1; + level.cormack thread maps\lab_utility::goto_node(var_06,0); + var_07 = getnode("node_knox_shoot_camera","targetname"); + level.knox maps\_utility::disable_ai_color(); + level.knox.ignoreme = 1; + level.knox thread maps\lab_utility::goto_node(var_07,0); + if(isdefined(var_01.destructible_parts) && var_01.destructible_parts[0].v["health"] > 0) + { + var_04 = [var_01,var_02,var_03]; + } + else + { + var_04 = [var_02,var_03]; + } + + common_scripts\utility::array_thread(var_04,::breach_guy_think); + level waittill("breach_guard_damaged"); + level.burke.ignoreme = 0; + level.cormack.ignoreme = 0; + level.knox.ignoreme = 0; + common_scripts\utility::flag_set("flag_breach_guards_alerted"); + var_00 notify("ender"); + wait(0.5); + foreach(var_09 in var_04) + { + var_09.ignoreall = 0; + var_09.ignoreme = 0; + var_09.dontattackme = undefined; + var_09.dontevershoot = undefined; + var_09 maps\_utility::anim_stopanimscripted(); + } + + level.burke maps\_utility::set_baseaccuracy(999); + level.cormack maps\_utility::set_baseaccuracy(999); + level.knox maps\_utility::set_baseaccuracy(999); + while((isdefined(var_01.destructible_parts) && var_01.destructible_parts[0].v["health"] > 0) || isdefined(var_02) && var_02.health > 0 || isdefined(var_03) && var_03.health > 0) + { + wait(0.05); + } + + common_scripts\utility::flag_set("flag_breach_guards_clear"); + maps\_utility::autosave_by_name(); + common_scripts\utility::flag_wait("flag_facility_security_camera"); + common_scripts\utility::flag_set("flag_light_security_camera_off"); + var_01 notify("stop_fixed_scanner_audio"); + level.burke maps\_utility::set_baseaccuracy(0.2); + level.cormack maps\_utility::set_baseaccuracy(0.2); + level.knox maps\_utility::set_baseaccuracy(0.2); + level.burke maps\_utility::disable_cqbwalk(); + level.cormack maps\_utility::disable_cqbwalk(); + level.knox maps\_utility::disable_cqbwalk(); + setsaveddvar("ai_friendlyFireBlockDuration",2000); + level.knox maps\_utility::delaythread(2,::maps\lab_utility::cloak_off); + level.burke maps\_utility::delaythread(3.25,::maps\lab_utility::cloak_off); + level.cormack maps\_utility::delaythread(4.5,::maps\lab_utility::cloak_off); +} + +//Function Number: 117 +breach_guy_think() +{ + self.health = 1; + self.allowdeath = 1; + if(isai(self)) + { + thread maps\lab_utility::disable_grenades(); + common_scripts\utility::waittill_any_ents(self,"damage",self,"_stealth_spotted",self,"stealth_event",self,"enemy",self,"weapon_fired"); + } + else + { + while(self.destructible_parts[0].v["health"] > 0) + { + wait(0.05); + } + } + + level notify("breach_guard_damaged",self); +} + +//Function Number: 118 +se_facility_breach() +{ + common_scripts\utility::flag_wait_all("flag_facility_breach_start","flag_breach_guards_clear"); + thread maps\lab_lighting::facility_breach(); + thread maps\lab_breach::facility_breach(); + thread maps\lab_breach::facility_breach_get_burke_into_position(); + var_00 = getnode("node_cormack_facility_breach","targetname"); + level.cormack thread maps\lab_utility::goto_node(var_00,0); + var_00 = getnode("node_knox_facility_breach","targetname"); + level.knox thread maps\lab_utility::goto_node(var_00,0); + level waittill("breaching"); + thread facility_breach_rumbles(); + level.knox thread knox_move_to_breach_door(); + common_scripts\utility::flag_wait_any("flag_facility_breach_complete","flag_burke_kills_guy"); + var_01 = getnode("node_burke_breach_01","targetname"); + var_02 = getnode("node_cormack_breach_00","targetname"); + var_03 = getnode("node_knox_breach_01","targetname"); + level.burke maps\lab_utility::goto_node(var_01,0); + level.cormack maps\lab_utility::goto_node(var_02,0); + level.knox maps\lab_utility::goto_node(var_03,0); + level.cormack thread maps\lab_utility::prevent_friendly_from_shooting_during_stealth(); + level.knox thread maps\lab_utility::prevent_friendly_from_shooting_during_stealth(); + soundscripts\_snd::snd_message("aud_lab_ambient_emitters"); + if(level.currentgen) + { + level notify("tff_pre_intro_audio_to_middle"); + unloadtransient("lab_intro_audio_tr"); + } +} + +//Function Number: 119 +facility_breach_rumbles() +{ + maps\lab_utility::setup_level_rumble_ent(); + wait(1.6); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,1,0.2); + wait(0.65); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.3,0.75); + wait(8.5); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.6,0.75); +} + +//Function Number: 120 +se_server_room_entrance() +{ + common_scripts\utility::flag_wait("flag_obj_bio_weapons_04"); + maps\_stealth_utility::disable_stealth_system(); + var_00 = common_scripts\utility::getstruct("server_room_entrance_org","targetname"); + level.monitor = spawn("script_model",var_00.origin); + level.monitor setmodel("lab_server_monitor_01_opc"); + level.monitor.animname = "server_monitor"; + level.monitor maps\_anim::setanimtree(); + level.cormack notify("anim_reach_server_room_started"); + level.burke notify("anim_reach_server_room_started"); + level.knox notify("anim_reach_server_room_started"); + if(isdefined(level.cormack.cloak) && level.cormack.cloak == "on") + { + level.cormack maps\lab_utility::cloak_off(); + } + + if(isdefined(level.burke.cloak) && level.burke.cloak == "on") + { + level.burke maps\lab_utility::cloak_off(); + } + + if(isdefined(level.knox.cloak) && level.knox.cloak == "on") + { + level.knox maps\lab_utility::cloak_off(); + } + + thread burke_server_room_se(var_00); + thread cormack_server_room_se(var_00); + thread knox_server_room_se(var_00); + thread enemy_server_room_se(var_00); + level.monitor thread monitor_server_room_se(var_00); + var_01 = getent("security_door_right_model","targetname"); + var_02 = getent("security_door_right_clip","targetname"); + var_02 linkto(var_01); + var_02 disconnectpaths(); + var_01.orig_origin = var_01.origin; + var_01.orig_angles = var_01.angles; + var_03 = maps\_utility::spawn_anim_model("security_door_right",var_01.origin); + var_00 maps\_anim::anim_first_frame_solo(var_03,"server_room_peek"); + var_01 linkto(var_03,"tag_origin_animated"); + common_scripts\utility::flag_wait_all("flag_obj_bio_weapons_05","flag_burke_server_room_ready","flag_knox_server_room_ready"); + thread play_monitor_cinematic(); + common_scripts\utility::flag_set("flag_se_server_room_start"); + common_scripts\utility::flag_set("flag_server_room_start_lighting"); + soundscripts\_snd::snd_message("aud_server_room_door_crack"); + var_00 thread maps\_anim::anim_single_solo(var_03,"server_room_peek"); + maps\_utility::add_wait(::common_scripts\utility::flag_wait,"flag_server_room_enemy_killed_by_player"); + maps\_utility::add_wait(::common_scripts\utility::flag_wait,"player_entered_server_room"); + maps\_utility::add_wait(::maps\_utility::_wait,8); + maps\_utility::add_wait(::se_server_room_player_misses,level.player); + maps\_utility::do_wait_any(); + var_04 = "server_room_enter"; + soundscripts\_snd::snd_message("aud_server_room_door_enter"); + common_scripts\utility::flag_set("flag_sever_room_guy_kill"); + var_02 connectpaths(); + var_05 = getent("dsm_usetrigger","targetname"); + var_05 thread maps\lab_utility::disable_trigger_while_player_animating("flag_se_server_room_exit_start"); + common_scripts\utility::flag_wait("flag_se_server_room_exit_start"); + common_scripts\utility::flag_wait("monitor_finished_animating"); + soundscripts\_snd::snd_message("aud_player_computer_gl_timing_fix"); + maps\_utility::delaythread(0.5,::common_scripts\utility::flag_set,"flag_obj_bio_weapons_hack"); + maps\_utility::delaythread(0.5,::common_scripts\utility::flag_set,"bio_weapons_hack_lighting"); + level.knox maps\_utility::anim_stopanimscripted(); + var_00 notify("ender"); + var_01 unlink(); + var_01.origin = var_01.orig_origin; + var_01.angles = var_01.orig_angles; + var_02 disconnectpaths(); + var_06 = spawn("script_model",var_00.origin); + var_06 setmodel("npc_variable_grenade_lethal"); + var_06.animname = "grenade1"; + var_06 maps\_anim::setanimtree(); + var_07 = spawn("script_model",var_00.origin); + var_07 setmodel("npc_variable_grenade_lethal"); + var_07.animname = "grenade2"; + var_07 maps\_anim::setanimtree(); + var_08 = spawn("script_model",var_00.origin); + var_08 setmodel("npc_variable_grenade_lethal"); + var_08.animname = "grenade3"; + var_08 maps\_anim::setanimtree(); + level.player maps\_shg_utility::setup_player_for_scene(0); + maps\_player_exo::player_exo_deactivate(); + level.player_rig = maps\lab_utility::spawn_player_rig(); + level.player_rig hide(); + var_09 = 0.5; + maps\_utility::delaythread(var_09,::maps\_cloak::disable_cloak_system); + level.player playerlinktoblend(level.player_rig,"tag_player",var_09); + level.player common_scripts\utility::delaycall(var_09,::playerlinktodelta,level.player_rig,"tag_player",1,15,15,10,10); + level.player enableslowaim(0.3,0.15); + level.player_rig common_scripts\utility::delaycall(var_09,::show); + var_0A = [level.knox,var_06,var_07,var_08]; + level.player_rig thread player_server_room_se_end(var_00); + level.burke thread server_room_se_end(var_00); + level.cormack thread server_room_se_end(var_00); + maps\_utility::activate_trigger_with_targetname("trig_color_server_room"); + if(!common_scripts\utility::flag("flag_server_room_promo")) + { + var_00 maps\_utility::delaythread(0.5,::maps\_anim::anim_single_run,var_0A,"server_room_exit"); + } + else + { + var_00 maps\_utility::delaythread(0.5,::maps\_anim::anim_single_run,var_0A,"server_room_exit_promo"); + } + + common_scripts\utility::flag_wait("flag_combat_research_start"); + level thread maps\lab_fx::thermite_servers_explosion(); + common_scripts\utility::flag_wait("flag_post_server_room_dialogue_complete"); + maps\_utility::autosave_by_name(); + thread open_server_room_door(); + common_scripts\utility::flag_set("flag_enable_battle_chatter"); + maps\_utility::activate_trigger_with_targetname("trig_color_research_facility_01"); +} + +//Function Number: 121 +se_server_room_player_misses(param_00) +{ + level endon("flag_enemy_server_room_se_dead"); + param_00 common_scripts\utility::waittill_any("weapon_fired","grenade_fire"); + wait(0.1); +} + +//Function Number: 122 +se_server_room_player_close(param_00) +{ + level endon("flag_enemy_server_room_se_dead"); + var_01 = common_scripts\utility::getstruct("server_room_entrance_org","targetname"); + var_02 = 62500; + while(distancesquared(param_00.origin,var_01.origin) > var_02) + { + wait(0.05); + } +} + +//Function Number: 123 +play_monitor_cinematic() +{ + setsaveddvar("cg_cinematicfullscreen","0"); + cinematicingame("lab_uploadscreen"); + while(!iscinematicplaying()) + { + wait(0.1); + } + + pausecinematicingame(1); + common_scripts\utility::flag_wait("flag_obj_bio_weapons_hack"); + pausecinematicingame(0); + common_scripts\utility::flag_wait("flag_obj_bio_weapons_complete"); + stopcinematicingame(); + cinematicingame("lab_uploadscreen_end"); +} + +//Function Number: 124 +monitor_interaction_rumbles() +{ + maps\lab_utility::setup_level_rumble_ent(); + wait(3.8); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.18,0.15); + wait(0.25); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.18,0.15); + wait(0.75); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.1,0.5); + wait(4.3); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.18,0.15); + wait(0.4); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.18,0.15); + wait(0.3); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.18,0.15); + wait(0.3); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.18,0.15); +} + +//Function Number: 125 +stop_monitor_cinematic() +{ + stopcinematicingame(); +} + +//Function Number: 126 +player_server_room_se_end(param_00) +{ + if(!common_scripts\utility::flag("flag_server_room_promo")) + { + param_00 maps\_anim::anim_first_frame_solo(self,"server_room_exit"); + } + else + { + param_00 maps\_anim::anim_first_frame_solo(self,"server_room_exit_promo"); + } + + common_scripts\utility::flag_wait("flag_obj_bio_weapons_hack"); + thread monitor_interaction_rumbles(); + if(!common_scripts\utility::flag("flag_server_room_promo")) + { + param_00 maps\_anim::anim_single_solo(self,"server_room_exit"); + } + else if(!common_scripts\utility::flag("flag_demo_itiot")) + { + var_01 = getdvarint("g_friendlyNameDist"); + setsaveddvar("g_friendlyNameDist",0); + param_00 maps\_anim::anim_single_solo(self,"server_room_exit_promo"); + setsaveddvar("g_friendlyNameDist",var_01); + } + + level.player unlink(); + level.player_rig delete(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + maps\_player_exo::player_exo_activate(); + level.player disableslowaim(); + common_scripts\utility::flag_set("flag_obj_bio_weapons_complete"); + maps\_utility::autosave_by_name(); +} + +//Function Number: 127 +open_server_room_door() +{ + soundscripts\_snd::snd_message("open_server_room_door"); + common_scripts\utility::flag_set("open_server_room_door_lighting"); + var_00 = getent("door_server_room_left","targetname"); + var_01 = getent("door_server_room_right","targetname"); + var_02 = getent("clip_door_server_room_left","targetname"); + var_03 = getent("clip_door_server_room_right","targetname"); + var_02 linkto(var_00); + var_03 linkto(var_01); + var_04 = common_scripts\utility::getstruct("struct_door_server_room_left","targetname"); + var_05 = common_scripts\utility::getstruct("struct_door_server_room_right","targetname"); + var_00 moveto(var_04.origin,1,0.5,0.5); + var_01 moveto(var_05.origin,1,0.5,0.5); + wait(0.5); + var_02 connectpaths(); + var_03 connectpaths(); +} + +//Function Number: 128 +se_server_room_player_kills_guy(param_00) +{ + level endon("end_enemy_server_room_se_dead"); + self endon("death"); + self waittill("damage",var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09); + if(var_02 == level.player) + { + common_scripts\utility::flag_set("flag_server_room_enemy_killed_by_player"); + } + + if(self.damagelocation == "head") + { + level.player maps\_upgrade_challenge::give_player_challenge_headshot(1); + return; + } + + level.player maps\_upgrade_challenge::give_player_challenge_kill(1); +} + +//Function Number: 129 +burke_server_room_se(param_00) +{ + wait(2); + param_00 maps\_anim::anim_reach_solo(level.burke,"server_room_entry_intro"); + param_00 maps\_anim::anim_single_solo(level.burke,"server_room_entry_intro"); + common_scripts\utility::flag_set("flag_burke_server_room_ready"); + param_00 thread maps\_anim::anim_loop_solo(level.burke,"server_room_door_idle","ender"); + common_scripts\utility::flag_wait("flag_se_server_room_start"); + param_00 notify("ender"); + level.burke maps\_utility::anim_stopanimscripted(); + param_00 maps\_anim::anim_single_solo(level.burke,"server_room_peek"); + param_00 thread maps\_anim::anim_loop_solo(level.burke,"server_room_door_idle","ender"); + common_scripts\utility::flag_wait_any("flag_server_room_enemy_killed_by_player","flag_server_room_enemy_killed_by_knox"); + if(common_scripts\utility::flag("flag_server_room_enemy_killed_by_player")) + { + wait(2); + } + else + { + wait(4); + } + + param_00 notify("ender"); + level.burke maps\_utility::anim_stopanimscripted(); + param_00 maps\_anim::anim_single_solo(level.burke,"server_room_enter"); + param_00 thread maps\_anim::anim_loop_solo(level.burke,"server_room_enter_idle","ender"); + param_00 thread maps\lab_utility::notify_on_flag("flag_obj_bio_weapons_hack","ender"); + common_scripts\utility::flag_wait("flag_se_server_room_exit_start"); + level.burke maps\_utility::anim_stopanimscripted(); + param_00 notify("ender"); +} + +//Function Number: 130 +cormack_server_room_se(param_00) +{ + param_00 maps\_anim::anim_reach_solo(level.cormack,"server_room_entry_intro"); + param_00 maps\_anim::anim_single_solo(level.cormack,"server_room_entry_intro"); + common_scripts\utility::flag_set("flag_cormack_server_room_ready"); + if(!common_scripts\utility::flag("flag_se_server_room_start")) + { + param_00 thread maps\_anim::anim_loop_solo(level.cormack,"server_room_door_idle","ender"); + } + + common_scripts\utility::flag_wait("flag_se_server_room_start"); + param_00 notify("ender"); + level.cormack maps\_utility::anim_stopanimscripted(); + param_00 maps\_anim::anim_single_solo(level.cormack,"server_room_peek"); + param_00 maps\_anim::anim_single_solo(level.cormack,"server_room_enter"); + param_00 thread maps\_anim::anim_loop_solo(level.cormack,"server_room_door_idle","ender"); + param_00 thread maps\lab_utility::notify_on_flag("flag_obj_bio_weapons_hack","ender"); + common_scripts\utility::flag_wait("flag_se_server_room_exit_start"); + level.cormack maps\_utility::anim_stopanimscripted(); + param_00 notify("ender"); +} + +//Function Number: 131 +knox_server_room_se(param_00) +{ + param_00 maps\_anim::anim_reach_solo(level.knox,"server_room_entry_intro"); + param_00 maps\_anim::anim_single_solo(level.knox,"server_room_entry_intro"); + common_scripts\utility::flag_set("flag_knox_server_room_ready"); + if(!common_scripts\utility::flag("flag_se_server_room_start")) + { + param_00 thread maps\_anim::anim_loop_solo(level.knox,"server_room_door_idle","ender"); + common_scripts\utility::flag_wait("flag_se_server_room_start"); + param_00 notify("ender"); + } + + param_00 thread knox_server_room_se_peek("server_room_peek","server_room_door_idle","ender"); + common_scripts\utility::flag_wait("flag_sever_room_guy_kill"); + param_00 notify("ender"); + level.knox maps\_utility::anim_stopanimscripted(); + if(!common_scripts\utility::flag("flag_server_room_enemy_killed_by_player")) + { + soundscripts\_snd::snd_message("aud_server_room_door_kick"); + param_00 maps\_anim::anim_single_solo(level.knox,"server_room_enter_fail"); + } + + param_00 thread maps\_anim::anim_loop_solo(level.knox,"server_room_door_idle","ender"); + param_00 thread maps\lab_utility::notify_on_flag("flag_obj_bio_weapons_hack","ender"); + common_scripts\utility::flag_wait("flag_se_server_room_exit_start"); + level.knox maps\_utility::anim_stopanimscripted(); + param_00 notify("ender"); +} + +//Function Number: 132 +knox_server_room_se_peek(param_00,param_01,param_02) +{ + level endon("flag_sever_room_guy_kill"); + maps\_anim::anim_single_solo(level.knox,param_00); + thread maps\_anim::anim_loop_solo(level.knox,param_01,param_02); +} + +//Function Number: 133 +server_room_fire_knox_gun(param_00) +{ + if(!common_scripts\utility::flag("flag_server_room_enemy_killed_by_player")) + { + magicbullet(level.knox.weapon,level.knox gettagorigin("tag_flash"),level.console_guy geteye()); + } +} + +//Function Number: 134 +server_room_se_end(param_00) +{ + common_scripts\utility::flag_wait("flag_obj_bio_weapons_hack"); + if(!common_scripts\utility::flag("flag_server_room_promo")) + { + param_00 maps\_anim::anim_single_solo_run(self,"server_room_exit"); + return; + } + + param_00 maps\_anim::anim_single_solo_run(self,"server_room_exit_promo"); +} + +//Function Number: 135 +enemy_server_room_se(param_00) +{ + level endon("flag_enemy_server_room_se_dead"); + common_scripts\utility::flag_wait("flag_se_server_room_start"); + level.console_guy = getent("guy_se_server_room","targetname") maps\_utility::spawn_ai(1); + level.console_guy.animname = "guy_01_server_room"; + level.console_guy.ignoresonicaoe = 1; + level.console_guy thread se_server_room_player_kills_guy(param_00); + param_00 thread maps\_anim::anim_loop_solo(level.console_guy,"server_room_door_idle","ender"); + level.console_guy.allowdeath = 0; + common_scripts\utility::flag_wait("flag_sever_room_guy_kill"); + common_scripts\utility::flag_set("flag_server_room_enemy_killed_by_knox"); + param_00 notify("ender"); + if(isalive(level.console_guy) && common_scripts\utility::flag("flag_server_room_enemy_killed_by_player")) + { + param_00 maps\_anim::anim_single_solo(level.console_guy,"server_room_enter"); + return; + } + + if(isalive(level.console_guy)) + { + param_00 maps\_anim::anim_single_solo(level.console_guy,"server_room_enter_fail"); + } +} + +//Function Number: 136 +monitor_server_room_se(param_00) +{ + param_00 thread maps\_anim::anim_loop_solo(self,"server_room_door_idle","ender"); + level.monitor setmodel("lab_server_monitor_01_opc"); + common_scripts\utility::flag_wait_any("flag_server_room_enemy_killed_by_player","flag_server_room_enemy_killed_by_knox"); + self stopanimscripted(); + param_00 notify("ender"); + if(common_scripts\utility::flag("flag_server_room_enemy_killed_by_player")) + { + param_00 maps\_anim::anim_single_solo(self,"server_room_enter"); + } + else + { + param_00 maps\_anim::anim_single_solo(self,"server_room_enter_fail"); + } + + level.monitor setmodel("lab_server_monitor_01_obj"); + common_scripts\utility::flag_set("monitor_finished_animating"); + common_scripts\utility::flag_wait("flag_obj_bio_weapons_hack"); + level.monitor setmodel("lab_server_monitor_01_opc"); + if(!common_scripts\utility::flag("flag_server_room_promo")) + { + param_00 maps\_anim::anim_single_solo(self,"server_room_exit"); + return; + } + + param_00 maps\_anim::anim_single_solo(self,"server_room_exit_promo"); +} + +//Function Number: 137 +se_foam_room_player() +{ + var_00 = getent("org_foam_room","targetname"); + common_scripts\utility::flag_wait("flag_obj_neutralize_bio_weapons_planted"); + thread foam_room_door_01_close(); + thread foam_room_door_03_close(); + var_01 = "foam_room"; + var_02 = spawn("script_model",var_00.origin); + var_02 setmodel("npc_foam_grenade"); + var_02.animname = "foam_bomb"; + var_02 maps\_anim::setanimtree(); + level.player enableinvulnerability(); + thread maps\lab_lighting::foam_plant_dof(); + var_03 = maps\_utility::spawn_anim_model("player_rig_intro"); + var_03 hide(); + var_00 maps\_anim::anim_first_frame_solo(var_03,var_01); + soundscripts\_snd::snd_message("player_plant_frb"); + level.player maps\_shg_utility::setup_player_for_scene(1); + maps\_player_exo::player_exo_deactivate(); + var_04 = [var_03,var_02]; + level.player playerlinktoblend(var_03,"tag_player",0.2); + wait(0.5); + var_03 show(); + thread frb_plant_rumbles(); + var_00 maps\_anim::anim_single(var_04,var_01); + level.player disableinvulnerability(); + level notify("reset_plant_dof"); + level.player maps\_shg_utility::setup_player_for_gameplay(); + maps\_player_exo::player_exo_activate(); + var_02 hidepart("root_pin"); + var_02 hidepart("flipper"); + var_03 delete(); + level.player unlink(); +} + +//Function Number: 138 +frb_plant_rumbles() +{ + maps\lab_utility::setup_level_rumble_ent(); + wait(1.3); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.3,0.4); + wait(0.5); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.8,0.3); + wait(0.75); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.7,0.2); + level.player waittill("detonate"); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.2,0.4); +} + +//Function Number: 139 +se_foam_room() +{ + common_scripts\utility::flag_wait("flag_obj_neutralize_bio_weapons_planted"); + thread foam_room_clear_think(); + var_00 = getent("org_foam_warp1","targetname"); + var_01 = getent("org_foam_warp2","targetname"); + var_02 = getent("org_foam_warp3","targetname"); + level.cormack forceteleport(var_00.origin,var_00.angles); + level.knox forceteleport(var_01.origin,var_01.angles); + level.burke forceteleport(var_02.origin,var_02.angles); + level.cormack.goalradius = 64; + level.knox.goalradius = 64; + level.burke.goalradius = 64; + if(!common_scripts\utility::flag("flag_obj_courtyard_jammer_start")) + { + waittillframeend; + wait(3); + maps\_utility::activate_trigger_with_targetname("trig_color_foam_planted"); + level.burke maps\_utility::delaythread(0.05,::maps\_utility::disable_ai_color); + level.cormack maps\_utility::delaythread(0.05,::maps\_utility::disable_ai_color); + level.knox maps\_utility::delaythread(0.05,::maps\_utility::disable_ai_color); + } + + common_scripts\utility::flag_wait("flag_foam_room_complete_dialogue"); + common_scripts\utility::flag_set("flag_enable_battle_chatter"); + level.burke maps\_utility::enable_ai_color(); + level.cormack maps\_utility::enable_ai_color(); + level.knox maps\_utility::enable_ai_color(); + level.burke.ignoreall = 0; + level.cormack.ignoreall = 0; + level.knox.ignoreall = 0; + level.cormack notify("goal_changed"); + level.knox notify("goal_changed"); + level.burke notify("goal_changed"); + if(!common_scripts\utility::flag("flag_obj_courtyard_jammer_start")) + { + waittillframeend; + wait(0.75); + level.cormack.goalradius = 2048; + level.knox.goalradius = 2048; + level.burke.goalradius = 2048; + maps\_utility::activate_trigger_with_targetname("trig_color_foam_room_exit"); + } + + wait(2.5); + thread maps\_utility::autosave_by_name("courtyard_start"); +} + +//Function Number: 140 +foam_room_clear_think() +{ + var_00 = getent("vol_foam_room_clear","targetname"); + while(!common_scripts\utility::flag("flag_foam_room_clear")) + { + if(level.player istouching(var_00) && level.burke istouching(var_00) && level.knox istouching(var_00) && level.cormack istouching(var_00)) + { + common_scripts\utility::flag_set("flag_foam_room_clear"); + thread foam_room_door_02_close(); + continue; + } + + wait(0.1); + } +} + +//Function Number: 141 +se_knox_courtyard_hangar_door_hack_open() +{ + common_scripts\utility::flag_wait("flag_hangar_mech_01_dead"); + var_00 = common_scripts\utility::getstruct("knox_courtyard_hangar_door_hack_open_org","targetname"); + var_00 maps\_anim::anim_reach_solo(level.knox,"courtyard_hangar_door_hack_enter"); + common_scripts\utility::flag_set("flag_courtyard_door_hack_dialogue"); + soundscripts\_snd::snd_message("aud_courtyard_hangar_door_hack",level.scr_anim["knox"]["courtyard_hangar_door_hack_enter"],level.knox); + var_00 maps\_anim::anim_single_solo(level.knox,"courtyard_hangar_door_hack_enter"); + soundscripts\_snd::snd_message("aud_courtyard_hangar_door_hack_idle",level.scr_anim["knox"]["courtyard_hangar_door_hack_idle"][0],level.knox); + var_00 thread maps\_anim::anim_loop_solo(level.knox,"courtyard_hangar_door_hack_idle","ender"); + common_scripts\utility::flag_wait("flag_courtyard_hangar_door_hack_success"); + var_00 notify("ender"); + level.knox maps\_utility::anim_stopanimscripted(); + level notify("hack_success"); + soundscripts\_snd::snd_message("aud_courtyard_hangar_door_open"); + var_00 maps\_anim::anim_single_solo(level.knox,"courtyard_hangar_door_hack_exit"); +} + +//Function Number: 142 +se_foam_room_bomb() +{ + level.player thread handle_foam_detonator(); + level.player waittill("detonate"); + var_00 = getent("org_foam_research","targetname"); + level notify("vfx_foam_room_explode_start"); +} + +//Function Number: 143 +handle_foam_detonator() +{ + level.player endon("detonate"); + for(;;) + { + common_scripts\utility::flag_wait("flag_foam_room_clear"); + maps\_utility::display_hint("detonate_frb"); + level.player thread maps\_foam_bomb::handle_detonator(); + common_scripts\utility::flag_waitopen("flag_foam_room_clear"); + self switchtoweapon(self.old_weapon); + self takeweapon(level.c4_weaponname); + } +} + +//Function Number: 144 +se_foam_corridor_bomb(param_00) +{ + var_01 = maps\_utility::spawn_anim_model("foam_bomb"); + thread maps\_anim::anim_single_solo(var_01,"foam_corridor_exit"); + soundscripts\_snd::snd_message("foam_grenade",level.burke); + level waittill("foam_grenade_detonate"); + var_01 delete(); + level notify("vfx_foam_corridor_explode_start"); + var_02 = getent("blocker_foam_corridor","targetname"); + var_02 solid(); + var_02 disconnectpaths(); + var_02 moveto(var_02.origin + (0,156,0),5,0.25,0.25); + wait(3); + thread tank_hangar_door_open(); + common_scripts\utility::flag_set("flag_foam_corridor_exit_door_open_dialogue"); + wait(3); + cleanup_foam_corridor_enemies(); +} + +//Function Number: 145 +se_foam_corridor_grenade() +{ + level.burke waittillmatch("burke_grenade_hold","single anim"); + var_00 = spawn("script_model",level.burke gettagorigin("tag_inhand")); + var_00 setmodel("projectile_m67fraggrenade"); + var_00 linkto(level.burke,"tag_inhand"); + var_01 = common_scripts\utility::getstruct("struct_foam_corridor_grenade_dest","targetname"); + level.burke waittillmatch("burke_grenade_release","single anim"); + var_00 delete(); + var_02 = level.burke gettagorigin("tag_inhand"); + var_03 = magicgrenade("fraggrenade",var_02,var_01.origin,2); + var_03 waittill("death"); + foreach(var_05 in getaiarray("axis")) + { + if(isdefined(var_05.magic_bullet_shield) && var_05.magic_bullet_shield == 1) + { + var_05 maps\_utility::stop_magic_bullet_shield(); + } + } + + radiusdamage(var_01.origin,300,99999,99999); + common_scripts\utility::flag_wait("foam_corridor_end"); + thread tank_hangar_door_open(); + wait(0.5); + common_scripts\utility::flag_set("flag_foam_corridor_exit_door_open_dialogue"); +} + +//Function Number: 146 +debug_track(param_00) +{ + wait(0.05); +} + +//Function Number: 147 +se_foam_corridor_guy_4() +{ +} + +//Function Number: 148 +se_foam_corridor() +{ + level.burke.dontmelee = 1; + level.knox.dontmelee = 1; + level.cormack.dontmelee = 1; + level.burke maps\_utility::disable_ai_color(); + level.knox maps\_utility::disable_ai_color(); + level.cormack maps\_utility::disable_ai_color(); + var_00 = getent("blocker_foam_corridor","targetname"); + var_00 notsolid(); + var_00 connectpaths(); + var_01 = common_scripts\utility::getstruct("foam_corridor_anim_node","targetname"); + var_02 = spawn("script_origin",var_01.origin); + if(isdefined(var_01.angles)) + { + var_02.angles = var_01.angles; + } + + var_03 = "foam_corridor_in"; + var_04 = "foam_corridor_idle"; + var_05 = "foam_corridor_grenade_throw"; + var_06 = "foam_corridor_idle_2"; + var_07 = "foam_corridor_exit"; + var_08 = "foam_corridor_idle_end"; + var_09 = "foam_corridor_idle2_end"; + var_0A = []; + var_0A[var_0A.size] = level.burke; + var_0A[var_0A.size] = level.knox; + var_0A[var_0A.size] = level.cormack; + common_scripts\utility::trigger_off("trigger_foam_corridor_end","targetname"); + common_scripts\utility::array_thread(var_0A,::se_foam_corridor_approach,var_02,var_03,var_04,var_08); + common_scripts\utility::flag_set("flag_foam_corridor_another_door_dialogue"); + level waittill("foam_corridor_squadmate_ready"); + level waittill("foam_corridor_squadmate_ready"); + level waittill("foam_corridor_squadmate_ready"); + common_scripts\utility::flag_wait("foam_corridor_start"); + common_scripts\utility::flag_waitopen("flag_player_inside_foam_corridor"); + common_scripts\utility::flag_set("flag_foam_corridor_improvise_dialogue"); + var_0B = common_scripts\utility::getstruct("hovertank_reveal_org","targetname"); + var_0C = maps\_utility::spawn_anim_model("hovertank",level.hovertank.origin); + level.hovertank hide(); + thread se_hovertank_reveal_actor(var_0C,var_0B); + var_02 notify(var_08); + thread se_foam_corridor_grenade(); + var_02 maps\_anim::anim_single(var_0A,var_05); + var_02 thread maps\_anim::anim_loop(var_0A,var_06,var_09); + common_scripts\utility::trigger_on("trigger_foam_corridor_end","targetname"); + common_scripts\utility::flag_wait("foam_corridor_end"); + var_02 notify(var_09); + foreach(var_0E in var_0A) + { + var_0F = spawnstruct(); + var_0F thread maps\_utility::function_stack(::foam_room_end_animation,var_0E,var_01,var_07); + var_0F thread maps\_utility::function_stack(::se_hovertank_reveal_actor,var_0E,var_0B); + } + + common_scripts\utility::flag_set("flag_foam_corridor_exit"); + level.burke.dontmelee = 0; + level.knox.dontmelee = 0; + level.cormack.dontmelee = 0; + level.burke maps\_utility::enable_ai_color_dontmove(); + level.knox maps\_utility::enable_ai_color_dontmove(); + level.cormack maps\_utility::enable_ai_color_dontmove(); + var_02 delete(); +} + +//Function Number: 149 +foam_room_end_animation(param_00,param_01,param_02) +{ + param_01 maps\_anim::anim_single_solo_run(param_00,param_02); +} + +//Function Number: 150 +se_foam_corridor_approach(param_00,param_01,param_02,param_03) +{ + param_00 maps\_anim::anim_reach_solo(self,param_01); + param_00 maps\_anim::anim_single_solo(self,param_01); + param_00 thread maps\_anim::anim_loop_solo(self,param_02,param_03); + level notify("foam_corridor_squadmate_ready"); +} + +//Function Number: 151 +se_exfil() +{ + common_scripts\utility::flag_wait("flag_exfil_start"); + common_scripts\utility::flag_set("flag_exfil_start_dialogue"); + var_00 = common_scripts\utility::getstruct("org_se_exfil","targetname"); + thread maps\lab_lighting::exfil(); + var_01 = common_scripts\utility::getstruct("hovertank_exit_burke_position","targetname"); + level.burke maps\_utility::anim_stopanimscripted(); + level.burke forceteleport(var_01.origin,var_01.angles,1000); + var_02 = common_scripts\utility::getstruct("hovertank_exit_knox_position","targetname"); + level.knox maps\_utility::anim_stopanimscripted(); + level.knox forceteleport(var_02.origin,var_02.angles,1000); + level.knox setgoalnode(getnode("knox_exfil_node","targetname")); + level.burke pushplayer(1); + level.cormack pushplayer(1); + level.burke.moveplaybackrate = 0.9; + level.knox.moveplaybackrate = 0.9; + level.player maps\_utility::blend_movespeedscale_percent(80); + thread cormack_exfil_approach(var_00); + level.burke thread burke_exfil_approach(var_00,"exfil_burke_enter"); + var_03 = [level.burke]; + common_scripts\utility::flag_wait("flag_burke_ready_for_exfil"); + var_00 notify("fly_in_idle_stop"); + var_00 thread maps\_anim::anim_single(var_03,"exfil_burke_enter"); + var_00 maps\_anim::anim_single(var_03,"exfil_burke_enter"); + var_00 thread maps\_anim::anim_loop(var_03,"exfil_hover_idle","exfil_hover_idle_stop"); + common_scripts\utility::flag_set("flag_player_exfil_enter_ready"); + thread se_player_exfil_out_of_bounds_check(); + common_scripts\utility::flag_wait("flag_player_exfil_enter"); + maps\_utility::autosave_by_name(); + common_scripts\utility::flag_set("flag_exfil_dialogue"); + thread maps\lab_lighting::exfil_dof(); + var_00 notify("exfil_hover_idle_stop"); + var_00 notify("exfil_hover_idle_stop"); + waittillframeend; + maps\_player_exo::player_exo_deactivate(); + maps\_player_exo::player_exo_add_single("exo_melee"); + var_04 = maps\_utility::spawn_anim_model("player_rig_intro"); + var_04.animname = "player_rig_intro"; + var_04.weapon = "none"; + var_04 hide(); + level.razorback maps\_anim::anim_first_frame_solo(var_04,"exfil_enter","tag_guy1"); + level notify("player_enters_razorback"); + var_05 = 0.5; + level.player playerlinktoblend(var_04,"tag_player",var_05); + level.player maps\_utility::add_wait(::maps\_shg_utility::setup_player_for_scene,1); + var_04 maps\_utility::add_call(::show); + thread maps\_utility::do_wait(); + var_03 = [level.cormack,level.burke,level.knox,var_04]; + foreach(var_07 in var_03) + { + var_07 linkto(level.razorback,"tag_guy1"); + } + + level.razorback thread maps\_anim::anim_single(var_03,"exfil_enter","tag_guy1"); + maps\_utility::delaythread(4,::common_scripts\utility::flag_set,"flag_obj_battle_exfil_complete"); + maps\_utility::delaythread(12,::common_scripts\utility::flag_set,"flag_burke_destroy_tank"); + maps\_utility::delaythread(30,::common_scripts\utility::flag_set,"flag_mission_complete"); + level waittill("level_fade_out"); + var_09 = 3; + maps\lab_utility::ending_fade_out(var_09); + wait(var_09); + maps\_utility::nextmission(); +} + +//Function Number: 152 +se_player_exfil_out_of_bounds_check() +{ + var_00 = getent("obj_battle_exfil_04","targetname"); + while(!common_scripts\utility::flag("flag_player_exfil_enter")) + { + if(distance(level.player.origin,var_00.origin) > 2000) + { + common_scripts\utility::flag_clear("flag_player_close_to_exfil"); + maps\_utility::display_hint_timeout("hint_dont_leave_mission",5); + if(distance(level.player.origin,var_00.origin) > 3000) + { + common_scripts\utility::flag_set("flag_player_close_to_exfil"); + level notify("mission failed"); + setdvar("ui_deadquote",&"LAB_MISSION_FAILED_LEFT_MISSION"); + maps\_utility::missionfailedwrapper(); + } + + continue; + } + + common_scripts\utility::flag_set("flag_player_close_to_exfil"); + wait(0.3); + } + + common_scripts\utility::flag_set("flag_player_close_to_exfil"); +} + +//Function Number: 153 +break_exfil_out_bounds() +{ + if(common_scripts\utility::flag("flag_player_close_to_exfil")) + { + return 1; + } + + return 0; +} + +//Function Number: 154 +se_exfil_razorback(param_00) +{ + common_scripts\utility::flag_set("flag_obj_show_razorback_marker"); + var_01 = common_scripts\utility::getstruct("org_se_exfil","targetname"); + level.razorback = maps\_vehicle::spawn_vehicle_from_targetname("helo_exfil"); + soundscripts\_snd::snd_message("razorback_land"); + level.razorback.animname = "razorback"; + level.razorback maps\_anim::setanimtree(); + level.razorback thread maps\lab_fx::se_exfil_fx(); + thread maps\lab_lighting::razorback_lighting(level.razorback); + thread maps\lab_lighting::burke_exfil_lighting(); + param_00 = maps\_utility::spawn_targetname("guy_helo_exfil"); + param_00.animname = "guy_exfil"; + var_02 = maps\_utility::spawn_targetname("guy_helo_exfil_pilot"); + var_02.animname = "guy_exfil_pilot"; + var_02 maps\_utility::gun_remove(); + var_02 linkto(level.razorback,"tag_guy1"); + level.razorback thread maps\_anim::anim_loop_solo(var_02,"exfil_pilot_idle","ender","tag_guy1"); + var_03 = [param_00,level.razorback]; + var_01 thread maps\_anim::anim_single(var_03,"exfil_fly_in"); + thread handle_player_close_to_aircraft_rumbles(); + common_scripts\utility::waittill_any_ents(level,"flag_burke_ready_for_exfil",var_01,"exfil_fly_in"); + if(!common_scripts\utility::flag("flag_burke_ready_for_exfil")) + { + var_01 thread maps\_anim::anim_loop(var_03,"exfil_fly_in_idle","fly_in_idle_stop"); + } + + common_scripts\utility::flag_wait("flag_burke_ready_for_exfil"); + level notify("thruster_front_off"); + var_01 notify("fly_in_idle_stop"); + param_00 maps\_utility::anim_stopanimscripted(); + var_01 thread maps\_anim::anim_single(var_03,"exfil_burke_enter"); + var_01 maps\_anim::anim_single(var_03,"exfil_burke_enter"); + var_01 thread maps\_anim::anim_loop(var_03,"exfil_hover_idle","exfil_hover_idle_stop"); + common_scripts\utility::flag_wait("flag_player_exfil_enter"); + var_01 notify("exfil_hover_idle_stop"); + waittillframeend; + var_03 = [param_00]; + param_00 maps\_utility::anim_stopanimscripted(); + var_01 thread maps\_anim::anim_single_solo(level.razorback,"exfil_enter"); + foreach(param_00 in var_03) + { + param_00 linkto(level.razorback,"tag_guy1"); + } + + level.razorback thread maps\_anim::anim_single(var_03,"exfil_enter","tag_guy1"); +} + +//Function Number: 155 +burke_exfil_approach(param_00,param_01) +{ + param_00 maps\_anim::anim_reach_solo(self,param_01); + common_scripts\utility::flag_set("flag_burke_ready_for_exfil"); +} + +//Function Number: 156 +cormack_exfil_approach(param_00) +{ + param_00 maps\_anim::anim_reach_solo(level.cormack,"exfil_cormack_approach"); + maps\_utility::delaythread(2,::common_scripts\utility::flag_set,"flag_exfil_loadup_dialogue"); + param_00 maps\_anim::anim_single_solo(level.cormack,"exfil_cormack_approach"); + param_00 thread maps\_anim::anim_loop_solo(level.cormack,"exfil_cormack_approach_idle","ender"); + common_scripts\utility::flag_wait("flag_player_exfil_enter"); + level.cormack stopanimscripted(); + param_00 notify("ender"); +} + +//Function Number: 157 +setup_combat() +{ + setup_spawn_functions(); + setup_hovertank(); + thread player_stealth_cloak_think(); + thread setup_clip(); + thread setup_triggers(); + thread combat_gaz_bridge(); + thread forest_ambient_enemy_se(); + thread foreat_stealth_ambient_vehicle_drive_by(); + thread combat_forest_patrols_start(); + thread logging_road_loud_combat(); + thread combat_logging_road_end(); + thread combat_research_building(); + thread combat_research_building_bridge(); + thread combat_research_pool_walkway_01(); + thread combat_research_left_01(); + thread combat_research_right_01(); + thread combat_research_pool_room(); + thread combat_research_platform_01(); + thread combat_courtyard_path_general(); + thread combat_courtyard_jammer(); + thread combat_courtyard_jammer_complete(); + thread skip_foam_corridor(); + thread cleanup_courtyard_enemies(); + thread open_hangar_doors(); + thread combat_tank_road(); + thread courtyard_gate_think(1); + thread courtyard_gate_think(2); +} + +//Function Number: 158 +combat_gaz_bridge() +{ + common_scripts\utility::flag_wait("flag_increase_sinper_shots_01"); + wait(3); + var_00 = getent("gaz_bridge_02","targetname"); +} + +//Function Number: 159 +helo_spotlight_logging_road() +{ + if(!isdefined(level.start_point) || level.start_point != "logging_road") + { + common_scripts\utility::flag_wait("flag_se_takedown_01_complete"); + } + + level.helo_spotlight_logging_road = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("helo_spotlight_logging_road"); + level.helo_spotlight_logging_road soundscripts\_snd::snd_message("aud_patrol_helo_debris_sfx"); + level.helo_spotlight_logging_road maps\_vehicle::godon(); + level.helo_spotlight_logging_road maps\_utility::ent_flag_init("spotlight_on"); + level.helo_spotlight_logging_road.spotlight = spawnturret("misc_turret",level.helo_spotlight_logging_road gettagorigin("tag_flash"),"heli_spotlight_so_castle"); + level.helo_spotlight_logging_road.spotlight setmode("manual"); + level.helo_spotlight_logging_road.spotlight setmodel("com_blackhawk_spotlight_on_mg_setup"); + level.helo_spotlight_logging_road.spotlight maketurretinoperable(); + level.helo_spotlight_logging_road.spotlight makeunusable(); + level.helo_spotlight_logging_road.spotlight.angles = level.helo_spotlight_logging_road gettagangles("tag_flash"); + level.helo_spotlight_logging_road.spotlight linkto(level.helo_spotlight_logging_road,"tag_flash",(0,2,-6),(0,90,-20)); + level.helo_spotlight_logging_road thread helo_spotlight_think("docks_heli_spotlight_cheap"); + level.helo_spotlight_logging_road thread helo_spotlight_point_of_interest_tracking(); + level.helo_spotlight_logging_road maps\_utility::ent_flag_set("spotlight_on"); + level.helo_spotlight_logging_road maps\_vehicle::mgoff(); + level.helo_spotlight_logging_road thread helo_spotlight_logging_road_break_off(); + common_scripts\utility::flag_wait("flag_helo_logging_road_end"); + level.helo_spotlight_logging_road.spotlight delete(); +} + +//Function Number: 160 +helo_spotlight_logging_road_break_off() +{ + self endon("death"); + common_scripts\utility::flag_wait("flag_logging_road_loud_combat"); + self notify("newpath"); + maps\_utility::vehicle_liftoff(512); + maps\_utility::vehicle_dynamicpath(common_scripts\utility::getstruct("logging_road_chopper_detour","targetname")); +} + +//Function Number: 161 +combat_forest_patrols_start() +{ + if(!isdefined(level.start_point) || level.start_point != "logging_road") + { + common_scripts\utility::flag_wait("flag_se_takedown_01_complete"); + } + + level.patrol_01 = maps\_utility::spawn_targetname("enemy_stealth_patrol_01",1); + level.patrol_01 force_patrol_anim_set("active_right",1); + level.patrol_01 thread guy_patrol_takedown_02(); + var_00 = maps\_utility::spawn_targetname("enemy_stealth_patrol_02",1); + var_00 force_patrol_anim_set("active_left",1); + var_01 = maps\_utility::spawn_targetname("enemy_stealth_patrol_03",1); + var_01 force_patrol_anim_set("gundown"); + var_02 = maps\_utility::spawn_targetname("enemy_stealth_patrol_04",1); + var_02 force_patrol_anim_set("active",1); + var_03 = maps\_utility::spawn_targetname("enemy_stealth_patrol_06",1); + var_03 force_patrol_anim_set("creepwalk"); + var_04 = maps\_utility::spawn_targetname("enemy_stealth_patrol_07",1); + var_04 force_patrol_anim_set("creepwalk"); + var_05 = [level.patrol_01,var_00,var_01,var_02,var_03,var_04]; + soundscripts\_snd::snd_message("combat_forest_patrols_start",var_05); + thread helo_spotlight_logging_road(); + foreach(var_07 in var_05) + { + if(isdefined(var_07.pdroneactive) && var_07.pdroneactive) + { + var_07 thread start_search_drone_behavior_when_pdrone_follower_spawned(); + } + } + + common_scripts\utility::flag_wait("flag_forest_drive_by_01"); + var_09 = maps\_utility::spawn_targetname("enemy_stealth_patrol_08",1); + var_09 force_patrol_anim_set("casualkiller"); + var_0A = maps\_utility::spawn_targetname("enemy_stealth_patrol_09",1); + var_0A force_patrol_anim_set("casualkiller"); +} + +//Function Number: 162 +start_search_drone_behavior_when_pdrone_follower_spawned() +{ + self endon("death"); + while(!isdefined(self.pdrone)) + { + wait(0.5); + } + + if(isdefined(self.script_stealthgroup)) + { + self.pdrone.script_stealthgroup = self.script_stealthgroup; + } + + thread search_drone_behavior(self.pdrone); +} + +//Function Number: 163 +set_flag_on_death(param_00,param_01,param_02,param_03) +{ + self waittill("death"); + if(isdefined(param_00)) + { + common_scripts\utility::flag_set(param_00); + } + + if(isdefined(param_01)) + { + common_scripts\utility::flag_set(param_01); + } + + if(isdefined(param_02)) + { + common_scripts\utility::flag_set(param_02); + } + + if(isdefined(param_03)) + { + common_scripts\utility::flag_set(param_03); + } +} + +//Function Number: 164 +patrol_03_idle_think() +{ + common_scripts\utility::flag_wait("flag_patrol_03_idle"); + var_00 = common_scripts\utility::getstruct("forest_stealth_ambiant_01_org","targetname"); + var_00 maps\_anim::anim_loop_solo(self,"patrol_sit_idle","ender"); +} + +//Function Number: 165 +forest_ambient_enemy_se() +{ + common_scripts\utility::flag_wait("flag_forest_climb_wall_complete"); + var_00 = maps\_utility::spawn_targetname("enemy_stealth_ambient_02",1); + var_00 maps\_flashlight_cheap::add_cheap_flashlight("flashlight"); + var_01 = maps\_utility::spawn_targetname("enemy_stealth_ambient_04",1); + var_01 maps\_flashlight_cheap::add_cheap_flashlight("flashlight"); + var_02 = maps\_utility::spawn_targetname("enemy_stealth_ambient_05",1); + var_02 maps\_flashlight_cheap::add_cheap_flashlight("flashlight"); + soundscripts\_snd::snd_message("combat_forest_patrols_start",[var_00,var_01,var_02]); +} + +//Function Number: 166 +flag_wait_both_or_timeout(param_00,param_01,param_02) +{ + var_03 = param_02 * 1000; + var_04 = gettime(); + for(;;) + { + if(common_scripts\utility::flag(param_00) && common_scripts\utility::flag(param_01)) + { + break; + } + + if(gettime() >= var_04 + var_03) + { + break; + } + + wait(0.05); + } +} + +//Function Number: 167 +burke_forest_stealth_movement() +{ + level.burke pushplayer(1); + level.burke.dontavoidplayer = 1; + level.burke.dontchangepushplayer = 1; + level endon("flag_ready_burke_for_mech_march"); + if(common_scripts\utility::flag("flag_logging_road_loud_combat")) + { + return; + } + + level endon("flag_logging_road_loud_combat"); + var_00 = getnode("node_burke_forest_stealth_01","targetname"); + level.burke maps\lab_utility::goto_node(var_00,1); + common_scripts\utility::flag_wait_all("flag_patroler_takedown_02_follow_a","flag_forest_drive_by_01","flag_burke_forest_01_moveup"); + var_00 = getnode("node_burke_takedown_02_follow","targetname"); + level.burke maps\lab_utility::goto_node(var_00,1); + common_scripts\utility::flag_wait_all("flag_patroler_takedown_02_follow_b","flag_forest_drive_by_02"); + if(!common_scripts\utility::flag("flag_patroler_takedown_02_ready")) + { + var_00 = getnode("node_burke_takedown_02","targetname"); + level.burke maps\lab_utility::goto_node(var_00,1); + level.burke maps\_utility::set_moveplaybackrate(0.7); + } + else + { + level.burke maps\_utility::set_moveplaybackrate(1); + } + + if(isdefined(level.patrol_01) && isalive(level.patrol_01)) + { + thread burke_patrol_takedown_02(level.patrol_01); + } + else + { + common_scripts\utility::flag_set("flag_se_takedown_02_complete"); + var_00 = getnode("node_burke_takedown_02","targetname"); + level.burke maps\lab_utility::goto_node(var_00,1); + } + + common_scripts\utility::flag_wait_all("flag_se_takedown_02_complete","flag_patroler_06_clear","flag_patroler_07_clear","flag_patroler_03_clear"); + var_00 = getnode("node_burke_forest_stealth_02","targetname"); + level.burke maps\lab_utility::goto_node(var_00,1); + level.burke maps\_utility::set_moveplaybackrate(1); + var_01 = getnodearray("node_logging_road","targetname"); + foreach(var_03 in var_01) + { + var_03 disconnectnode(); + } + + wait(1); + common_scripts\utility::flag_set("flag_recharge_cloak_01"); + maps\_utility::display_hint_timeout("exo_toggle_hint",5); + level.burke maps\lab_utility::ai_toggle_cloak_animate(2,0,"right"); + if(common_scripts\utility::flag("flag_forest_player_alt_path_01")) + { + common_scripts\utility::flag_set("flag_move_to_vehicle_takedown_01"); + common_scripts\utility::flag_set("flag_move_to_vrap_takedown"); + } + + flag_wait_both_or_timeout("flag_move_to_vrap_takedown","flag_aproach_vehicle_dialogue_complete",12); + common_scripts\utility::flag_set("flag_move_to_vehicle_takedown_01"); + var_00 = getnode("node_burke_forest_stealth_03","targetname"); + level.burke maps\lab_utility::goto_node(var_00,1); + foreach(var_03 in var_01) + { + var_03 connectnode(); + } + + common_scripts\utility::flag_wait_any("flag_se_vehicle_takedown_01_complete","flag_forest_player_alt_path_01"); + if(!common_scripts\utility::flag("flag_se_vehicle_takedown_01_failed") && !common_scripts\utility::flag("flag_forest_player_alt_path_01")) + { + var_00 = getnode("node_burke_forest_stealth_04","targetname"); + level.burke maps\lab_utility::goto_node(var_00,1); + } + else + { + common_scripts\utility::flag_set("flag_se_vehicle_takedown_01_complete"); + common_scripts\utility::flag_set("flag_se_vehicle_takedown_01_failed"); + } + + wait(2); + common_scripts\utility::flag_wait("flag_drone_pass_02"); + var_00 = getnode("node_burke_forest_stealth_05","targetname"); + level.burke maps\lab_utility::goto_node(var_00,1); + common_scripts\utility::flag_wait("flag_recharge_cloak_trench"); + level.burke maps\lab_utility::ai_toggle_cloak_animate(-1,-1); + var_00 = getnode("node_burke_forest_stealth_06","targetname"); + level.burke maps\lab_utility::goto_node(var_00,0); + common_scripts\utility::flag_wait("flag_trench_complete"); + var_00 = getnode("node_burke_forest_stealth_14","targetname"); + level.burke maps\lab_utility::goto_node(var_00,0); + level.burke maps\_utility::enable_cqbwalk(); +} + +//Function Number: 168 +burke_mech_march_movement() +{ + if(common_scripts\utility::flag("flag_logging_road_loud_combat")) + { + return; + } + + level endon("flag_logging_road_loud_combat"); + level endon("flag_cormack_meet_init"); + common_scripts\utility::flag_wait("flag_ready_burke_for_mech_march"); + level.burke pushplayer(1); + level.burke.dontavoidplayer = 1; + level.burke.dontchangepushplayer = 1; + level.burke maps\_utility::set_moveplaybackrate(1); + if(!isdefined(level.start_point) || level.start_point != "mech_march") + { + maps\_utility::autosave_stealth(); + } + + var_00 = getnode("node_burke_forest_stealth_07","targetname"); + level.burke maps\lab_utility::goto_node(var_00,1); + wait(0.5); + level.burke maps\lab_utility::ai_toggle_cloak_animate(1,0); + level notify("burke_recharge_mech_done"); + common_scripts\utility::flag_wait("flag_mech_march_hide_right"); + var_00 = getnode("node_burke_forest_stealth_08","targetname"); + level.burke maps\lab_utility::goto_node(var_00,1); + common_scripts\utility::flag_wait("flag_mech_march_hide_right_complete"); + var_00 = getnode("node_burke_forest_stealth_09","targetname"); + level.burke maps\lab_utility::goto_node(var_00,1); + common_scripts\utility::flag_wait_any("flag_logging_road_seeker_01","flag_gaz_01_scanner_on"); + var_00 = getnode("node_burke_forest_stealth_10","targetname"); + level.burke maps\lab_utility::goto_node(var_00,1); + level.burke maps\_utility::disable_cqbwalk(); + level.burke maps\_utility::delaythread(5,::maps\_utility::enable_sprint); + common_scripts\utility::flag_wait_all("flag_seeker_patrol_01_clear","flag_seeker_patrol_02_clear","flag_seeker_patrol_03_clear","flag_seeker_patrol_04_clear"); + common_scripts\utility::flag_set("flag_seeker_patrol_01_clear"); + thread advance_gideon_if_player_ahead(); + common_scripts\utility::flag_wait_all("flag_move_up_seeker_01","flag_seeker_cone_safe_right"); + var_00 = getnode("node_burke_forest_stealth_11","targetname"); + level.burke maps\lab_utility::goto_node(var_00,1); + common_scripts\utility::flag_wait_all("flag_move_up_seeker_02","flag_seeker_cone_safe_left"); + var_00 = getnode("node_burke_forest_stealth_12","targetname"); + level.burke maps\lab_utility::goto_node(var_00,1); + level.burke maps\_utility::enable_cqbwalk(); + level.burke maps\_utility::disable_sprint(); + common_scripts\utility::flag_wait("flag_move_up_seeker_03"); + var_00 = getnode("node_burke_forest_stealth_13","targetname"); + level.burke maps\lab_utility::goto_node(var_00,1); + level.burke maps\_utility::enable_cqbwalk(); + common_scripts\utility::flag_wait("flag_exit_seeker_area"); + common_scripts\utility::flag_set("flag_obj_crawl_under_log"); + var_00 = getnode("node_burke_forest_stealth_15","targetname"); + level.burke maps\lab_utility::goto_node(var_00,0); + level.burke maps\_utility::enable_cqbwalk(); +} + +//Function Number: 169 +advance_gideon_if_player_ahead() +{ + common_scripts\utility::flag_wait("flag_move_up_seeker_03"); + common_scripts\utility::flag_set("flag_move_up_seeker_01"); + common_scripts\utility::flag_set("flag_move_up_seeker_02"); +} + +//Function Number: 170 +burke_patrol_takedown_02(param_00) +{ + param_00 endon("death"); + param_00 endon("stealth_enemy_endon_alert"); + param_00.animname = "guy"; + var_01 = common_scripts\utility::getstruct("forest_takedown_02_org","targetname"); + param_00 thread maps\_stealth_utility::stealth_enemy_endon_alert(); + thread burke_patrol_takedown_02_cleanup(param_00,"death",param_00,"stealth_enemy_endon_alert",var_01,"forest_takedown_02"); + common_scripts\utility::flag_wait_all("flag_patroler_03_clear","flag_patroler_06_clear","flag_patroler_07_clear","flag_patroler_takedown_02_ready"); + if(isalive(param_00)) + { + level.burke notify("stop_goto_node"); + var_01 maps\_anim::anim_reach_solo(level.burke,"forest_takedown_02",undefined,1); + level notify("patrol_takedown_02_start"); + var_01 thread maps\_anim::anim_single_solo(level.burke,"forest_takedown_02"); + level.burke soundscripts\_snd::snd_message("burke_solo_takedown",param_00); + } +} + +//Function Number: 171 +guy_patrol_takedown_02() +{ + self endon("death"); + self endon("stealth_enemy_endon_alert"); + self endon("alerted"); + self.animname = "guy"; + var_00 = common_scripts\utility::getstruct("forest_takedown_02_org","targetname"); + common_scripts\utility::flag_wait("flag_patroler_takedown_02_reach_start"); + var_00 maps\_anim::anim_reach_solo(self,"forest_takedown_02_loser_enter"); + var_00 maps\_anim::anim_single_solo(self,"forest_takedown_02_loser_enter"); + var_00 thread maps\_anim::anim_loop_solo(self,"forest_takedown_02_loser_idle","ender"); + thread guy_patrol_takedown_02_alert_check(var_00); + common_scripts\utility::flag_set("flag_patroler_takedown_02_ready"); + level waittill("patrol_takedown_02_start"); + var_00 notify("ender"); + maps\_utility::anim_stopanimscripted(); + self.ignoresonicaoe = 1; + var_00 thread maps\_anim::anim_single_solo(self,"forest_takedown_02_loser"); + level waittill("forest_takedown_02_guy_stabbed"); + thread forest_takedown_02_ai_kill(self); + var_00 waittill("forest_takedown_02"); + self kill(); +} + +//Function Number: 172 +guy_patrol_takedown_02_alert_check(param_00) +{ + self endon("death"); + level endon("forest_takedown_02_guy_stabbed"); + common_scripts\utility::waittill_any_ents(self,"patrol_alerted",self,"_stealth_spotted",self,"stealth_event",self,"_stealth_found_corpse",self,"alerted",self,"enemy",self,"touch"); + self notify("alerted"); + param_00 notify("ender"); + maps\_utility::anim_stopanimscripted(); + if(isdefined(self.flashlight)) + { + self.flashlight delete(); + } +} + +//Function Number: 173 +forest_takedown_02_ai_kill(param_00) +{ + if(!isalive(param_00)) + { + return; + } + + param_00.allowdeath = 1; + param_00.a.nodeath = 1; + param_00 maps\_utility::set_battlechatter(0); + param_00.ignoreall = 1; +} + +//Function Number: 174 +burke_patrol_takedown_02_cleanup(param_00,param_01,param_02,param_03,param_04,param_05) +{ + common_scripts\utility::waittill_any_ents(param_00,param_01,param_02,param_03,param_04,param_05); + common_scripts\utility::flag_set("flag_se_takedown_02_complete"); + level.burke maps\_utility::anim_stopanimscripted(); + if(isalive(param_00)) + { + param_00 maps\_utility::anim_stopanimscripted(); + } +} + +//Function Number: 175 +foreat_stealth_ambient_vehicle_drive_by() +{ + common_scripts\utility::flag_wait("flag_forest_drive_by_01"); + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("gaz_raod_drive_by_01"); + var_00 maps\_vehicle::vehicle_lights_on(); + var_00 soundscripts\_snd::snd_message("gaz_01_dist_by"); + var_00 thread forest_stealth_gaz_think(); + var_00 thread maps\lab_fx::logging_road_mud_tracks(); + wait(1.5); + var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("gaz_raod_drive_by_02"); + var_01 maps\_vehicle::vehicle_lights_on(); + var_01 soundscripts\_snd::snd_message("gaz_02_dist_by"); + var_01 thread forest_stealth_gaz_think(); + var_01 thread maps\lab_fx::logging_road_mud_tracks(); + wait(0.5); + common_scripts\utility::flag_wait("flag_forest_drive_by_02"); + var_02 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("gaz_raod_drive_by_03"); + var_02 maps\_vehicle::vehicle_lights_on(); + var_02 soundscripts\_snd::snd_message("gaz_03_close_by"); + var_02 thread forest_stealth_gaz_think(); + var_02 thread maps\lab_fx::logging_road_mud_tracks(); + common_scripts\utility::flag_wait_all("flag_se_takedown_02_complete","flag_move_to_vehicle_takedown_01"); + common_scripts\utility::flag_set("flag_move_to_vrap_takedown"); + thread drones_logging_road(); +} + +//Function Number: 176 +forest_stealth_gaz_think(param_00) +{ + self endon("death"); + common_scripts\utility::flag_wait("_stealth_spotted"); + if(!isdefined(param_00) || !param_00) + { + wait(randomfloat(0.5)); + } + else + { + while(length(self vehicle_getvelocity()) > 0) + { + wait(0.5); + } + + common_scripts\utility::flag_set("flag_gaz_01_scanner_on"); + } + + self vehicle_setspeed(0,10,10); + self notify("vehicle_stopping"); + var_01 = maps\_vehicle::vehicle_unload(); + foreach(var_03 in var_01) + { + var_03 thread maps\_utility::player_seek(); + } +} + +//Function Number: 177 +helo_spotlight_point_of_interest_tracking() +{ + self endon("death"); + var_00 = 1000; + var_01 = 500; + var_02 = 3; + var_03 = 10; + var_04 = spawnstruct(); + var_04.origin = (0,0,0); + self.override_target = var_04; + var_05 = common_scripts\utility::getstructarray("spotlight_point_of_interest","targetname"); + for(;;) + { + var_06 = self.origin + anglestoforward(self.angles) * var_00; + var_07 = []; + foreach(var_09 in var_05) + { + if(distance2d(var_06,var_09.origin) < var_01) + { + var_07[var_07.size] = var_09; + } + } + + if(var_07.size > 0) + { + var_04.origin = var_07[randomint(var_07.size)].origin; + self.spotlight common_scripts\utility::waittill_notify_or_timeout("turret_on_target",10); + wait(randomfloatrange(var_02,var_03)); + continue; + } + + wait(1); + } +} + +//Function Number: 178 +combat_logging_road_end() +{ + common_scripts\utility::flag_wait("flag_logging_road_end_combat"); + thread logging_road_seeker_save(); + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("gaz_logging_road_01"); + var_00 maps\_vehicle::vehicle_lights_on(); + var_00 soundscripts\_snd::snd_message("skr_distant_pull_up_and_scan"); + var_00 thread forest_stealth_gaz_think(1); + level endon("flag_logging_road_loud_combat"); + common_scripts\utility::flag_wait("flag_seeker_patrol_spawn"); + common_scripts\utility::flag_set("flag_helo_logging_road_end"); + maps\_utility::spawn_script_noteworthy("guy_01_seeker",1); + maps\_utility::spawn_script_noteworthy("guy_02_seeker",1); + maps\_utility::spawn_script_noteworthy("guy_03_seeker",1); + maps\_utility::spawn_script_noteworthy("guy_04_seeker",1); + var_01 = maps\_utility::array_spawn_noteworthy("seeker_guards",1); + var_00 thread maps\lab_utility::attach_scanner_turret(); + if(common_scripts\utility::flag("flag_logging_road_loud_combat")) + { + if(isdefined(var_01[0]) && isalive(var_01[0])) + { + var_01[0] notify("ai_event","gunshot"); + var_01[0] maps\_utility::set_favoriteenemy(level.player); + } + } + + common_scripts\utility::flag_wait("flag_gaz_01_scanner_on"); + var_00 thread seeker_think(); + var_00 thread maps\lab_utility::attach_scanner(1500,15,15,-5,50,10,200,50,0.35,-12,5,"veh_turret_scanner_search_red","veh_turret_scanner_search"); +} + +//Function Number: 179 +logging_road_seeker_save() +{ + level endon("flag_logging_road_loud_combat"); + common_scripts\utility::flag_wait("flag_seeker_checkpoint"); + thread maps\_utility::autosave_stealth(); +} + +//Function Number: 180 +seeker_think() +{ + self waittill("reached_dynamic_path_end"); + level waittill("_stealth_spotted"); + maps\_vehicle::vehicle_unload(); +} + +//Function Number: 181 +patrol_creepwalk_unload_spawn_func() +{ + self waittill("jumpedout"); +} + +//Function Number: 182 +patrol_01_unload_spawn_func() +{ + force_patrol_anim_set("casualkiller"); +} + +//Function Number: 183 +patrol_02_unload_spawn_func() +{ + force_patrol_anim_set("patroljog"); +} + +//Function Number: 184 +patrol_03_unload_spawn_func() +{ + force_patrol_anim_set("casualkiller"); +} + +//Function Number: 185 +patrol_04_unload_spawn_func() +{ + force_patrol_anim_set("casualkiller"); +} + +//Function Number: 186 +logging_road_loud_combat() +{ + level endon("flag_cormack_meet_init"); + common_scripts\utility::flag_wait("_stealth_spotted"); + common_scripts\utility::flag_set("flag_logging_road_loud_combat"); + common_scripts\utility::flag_set("flag_vo_stealth_broken"); + if(isdefined(level.burke.function_stack)) + { + level.burke maps\_utility::function_stack_clear(); + } + + level.burke stopsounds(); + level.burke.alwaysrunforward = undefined; + maps\_utility::radio_dialogue_stop(); + level.burke maps\_utility::enable_ai_color(); + level.burke maps\_utility::enable_careful(); + level.burke maps\_utility::disable_cqbwalk(); + level.burke maps\lab_utility::cloak_off(1); + level.burke maps\_utility::set_moveplaybackrate(1); + maps\_utility::array_spawn_function_noteworthy("logging_road_loud_combat_enemy",::logging_road_loud_combat_enemy_think); + if(!common_scripts\utility::flag("flag_logging_road_field_passed")) + { + thread logging_road_loud_combat_field(); + } + + if(!common_scripts\utility::flag("flag_logging_road_trench_passed")) + { + thread logging_road_loud_combat_trench(); + } + + if(!common_scripts\utility::flag("flag_se_mech_march_start")) + { + thread logging_road_loud_combat_mech_march(); + } + + if(!common_scripts\utility::flag("flag_logging_road_end_combat")) + { + thread logging_road_loud_combat_end(); + } + + common_scripts\utility::flag_set("flag_move_up_seeker_03"); + maps\_player_exo::player_exo_add_single("exo_melee"); + common_scripts\utility::flag_wait("flag_exit_seeker_area"); + var_00 = getnode("node_burke_forest_stealth_15","targetname"); + level.burke maps\lab_utility::goto_node(var_00,0); + level.burke maps\_utility::enable_cqbwalk(); +} + +//Function Number: 187 +logging_road_loud_combat_enemy_think() +{ + self endon("death"); + thread maps\_utility::player_seek(); + self.pathrandompercent = 300; +} + +//Function Number: 188 +logging_road_loud_combat_field() +{ + var_00 = maps\_utility::array_spawn_targetname("logging_road_loud_combat_field_enemy"); +} + +//Function Number: 189 +logging_road_loud_combat_trench() +{ + var_00 = maps\_utility::array_spawn_targetname("logging_road_loud_combat_trench_enemy"); +} + +//Function Number: 190 +logging_road_loud_combat_mech_march() +{ + var_00 = maps\_utility::array_spawn_targetname("logging_road_loud_combat_mechmarch_enemy"); +} + +//Function Number: 191 +logging_road_loud_combat_end() +{ + var_00 = maps\_utility::array_spawn_targetname("logging_road_loud_combat_end_enemy"); +} + +//Function Number: 192 +logging_road_end_drop_logic() +{ + var_00 = getent("forest_drop_clip","targetname"); + var_00 notsolid(); + common_scripts\utility::flag_wait("flag_logging_road_complete"); + thread player_near_logging_road_end_log(); + thread player_under_logging_road_end_log(); + common_scripts\utility::flag_wait("flag_seeker_clear"); + thread cleanup_ai_logging_road(); + if(isdefined(level.player.old_weapon)) + { + level.player takeweapon("iw5_unarmed_nullattach"); + level.player switchtoweapon(level.player.old_weapon); + level.player enableweaponswitch(); + level.player.old_weapon = undefined; + } + + var_00 solid(); +} + +//Function Number: 193 +player_near_logging_road_end_log() +{ + level endon("flag_seeker_clear"); + for(;;) + { + common_scripts\utility::flag_wait("player_near_logging_road_end_log"); + maps\_utility::hintdisplayhandler("prone_hint"); + common_scripts\utility::flag_waitopen("player_near_logging_road_end_log"); + } +} + +//Function Number: 194 +player_under_logging_road_end_log() +{ + level endon("flag_seeker_clear"); + var_00 = getent("player_under_logging_road_end_log","targetname"); + for(;;) + { + while(!level.player istouching(var_00)) + { + wait 0.05; + } + + while(level.player istouching(var_00)) + { + if(common_scripts\utility::flag("flag_logging_road_loud_combat")) + { + wait(randomfloatrange(1,2.5)); + thread kill_player_under_log_test(); + } + + wait 0.05; + } + } +} + +//Function Number: 195 +kill_player_under_log_test() +{ + level notify("kill_player_under_log_test"); + level endon("kill_player_under_log_test"); + level.player endon("death"); + level endon("flag_seeker_clear"); + for(;;) + { + if(level.burke getclosestenemysqdist(level.player.origin) < 1048576) + { + break; + } + + wait(0.1); + } + + thread kill_player_under_log_execution(); +} + +//Function Number: 196 +kill_player_under_log_execution() +{ + var_00 = common_scripts\utility::array_randomize(common_scripts\utility::getstructarray("kill_player_under_log_bullet_soruce","targetname")); + var_01 = var_00[0]; + foreach(var_03 in var_00) + { + if(bullettracepassed(var_03.origin,level.player geteye(),0,level.player)) + { + var_01 = var_03; + break; + } + } + + for(;;) + { + magicbullet("iw5_bal27_sp",var_01.origin,level.player geteye()); + level.player enabledeathshield(0); + level.player dodamage(level.player.health / 10,var_01.origin); + wait(0.05); + } +} + +//Function Number: 197 +cleanup_ai_logging_road() +{ + common_scripts\utility::array_call(getaiarray("axis"),::delete); +} + +//Function Number: 198 +combat_post_breach_patrol() +{ + common_scripts\utility::flag_wait("flag_post_breach_patrol"); + var_00 = common_scripts\utility::getstruct("org_post_breach_patrol","targetname"); + level.burke thread maps\lab_utility::prevent_friendly_from_shooting_during_stealth(); + level.cormack thread maps\lab_utility::prevent_friendly_from_shooting_during_stealth(); + level.knox thread maps\lab_utility::prevent_friendly_from_shooting_during_stealth(); + level.burke maps\lab_utility::disable_grenades(); + level.cormack maps\lab_utility::disable_grenades(); + level.knox maps\lab_utility::disable_grenades(); + level.burke.ignoreme = 1; + level.cormack.ignoreme = 1; + level.knox.ignoreme = 1; + var_01 = 21.5; + level.burke maps\_utility::delaythread(var_01,::maps\_stealth_utility::disable_stealth_for_ai); + level.cormack maps\_utility::delaythread(var_01,::maps\_stealth_utility::disable_stealth_for_ai); + level.knox maps\_utility::delaythread(var_01,::maps\_stealth_utility::disable_stealth_for_ai); + level.burke maps\_utility::set_baseaccuracy(999); + level.cormack maps\_utility::set_baseaccuracy(999); + level.knox maps\_utility::set_baseaccuracy(999); + var_02 = maps\_utility::spawn_script_noteworthy("enemy_post_breach_patrol_01",1); + var_03 = maps\_utility::spawn_script_noteworthy("enemy_post_breach_patrol_02",1); + var_02 thread se_breach_patrol_guy_01(var_00); + var_03 thread se_breach_patrol_guy_02(var_00); + var_02.fovcosine = cos(35); + var_03.fovcosine = cos(35); + maps\_utility::delaythread(3,::common_scripts\utility::flag_set,"flag_breach_patrol_01_clear"); + maps\_utility::delaythread(14,::common_scripts\utility::flag_set,"flag_breach_patrol_02_reached_end"); + level.burke thread burke_post_breach_move(); + level.cormack thread cormack_post_breach_move(); + level.knox thread knox_post_breach_move(var_02,var_03); + var_04 = [var_02,var_03]; + foreach(var_06 in var_04) + { + var_06 thread patrol_post_breach_think(var_01); + } + + common_scripts\utility::flag_wait_all("flag_breach_patrol_01_dead","flag_breach_patrol_02_dead"); + level.burke.ignoreme = 0; + level.cormack.ignoreme = 0; + level.knox.ignoreme = 0; + level.burke maps\lab_utility::enable_grenades(); + level.cormack maps\lab_utility::enable_grenades(); + level.knox maps\lab_utility::enable_grenades(); + level.burke maps\_utility::set_baseaccuracy(0.2); + level.cormack maps\_utility::set_baseaccuracy(0.2); + level.knox maps\_utility::set_baseaccuracy(0.2); + level.burke maps\_utility::enable_ai_color_dontmove(); + level.cormack maps\_utility::enable_ai_color_dontmove(); + level.knox maps\_utility::enable_ai_color_dontmove(); + if(!common_scripts\utility::flag("flag_obj_bio_weapons_04")) + { + maps\_utility::activate_trigger_with_targetname("trig_color_facility_clear"); + } +} + +//Function Number: 199 +se_breach_patrol_guy_01(param_00) +{ + self endon("death"); + self endon("damage"); + self.animname = "guy_1"; + self.allowdeath = 1; + param_00 maps\_anim::anim_single_solo(self,"se_breach_patrol_guy_01"); +} + +//Function Number: 200 +se_breach_patrol_guy_02(param_00) +{ + self endon("death"); + self endon("damage"); + self.animname = "guy_2"; + self.allowdeath = 1; + param_00 maps\_anim::anim_single_solo(self,"se_breach_patrol_guy_02"); +} + +//Function Number: 201 +patrol_post_breach_think(param_00) +{ + self endon("death"); + maps\lab_utility::disable_grenades(); + thread force_alert_patrol(param_00); + common_scripts\utility::waittill_any_ents(self,"damage",self,"patrol_alerted",self,"_stealth_spotted",self,"stealth_event",self,"weapon_fired"); + maps\_utility::ent_flag_clear("_stealth_enabled"); + level notify("patrol_alerted"); + common_scripts\utility::flag_set("_stealth_spotted"); + common_scripts\utility::flag_set("flag_post_breach_patrol_alerted"); +} + +//Function Number: 202 +force_alert_patrol(param_00) +{ + level endon("patrol_alerted"); + self.dontattackme = undefined; + self.dontevershoot = undefined; + level thread maps\_utility::notify_delay("patrol_alerted",param_00); + maps\_utility::delaythread(param_00,::common_scripts\utility::flag_set,"_stealth_spotted"); + maps\_utility::delaythread(param_00,::common_scripts\utility::flag_set,"flag_post_breach_patrol_alerted"); +} + +//Function Number: 203 +knox_move_to_breach_door() +{ + wait(10); + var_00 = getnode("node_knox_breach_door","targetname"); + level.knox thread maps\lab_utility::goto_node(var_00,0); +} + +//Function Number: 204 +burke_post_breach_move() +{ + level.burke endon("anim_reach_server_room_started"); + thread cloak_off_server_room(2); + var_00 = getnode("node_burke_breach_02","targetname"); + var_01 = getnode("node_burke_breach_03","targetname"); + common_scripts\utility::flag_wait("breach_done"); + maps\_utility::delaythread(2,::maps\lab_utility::cloak_on); + common_scripts\utility::flag_wait("flag_breach_patrol_01_clear"); + maps\lab_utility::goto_node(var_01,0); +} + +//Function Number: 205 +cormack_post_breach_move() +{ + level.cormack endon("anim_reach_server_room_started"); + thread cloak_off_server_room(1.75); + var_00 = getnode("node_cormack_breach_02","targetname"); + var_01 = getnode("node_knox_breach_02","targetname"); + common_scripts\utility::flag_wait("lab_breach_all_guys_dead"); + maps\_utility::delaythread(3.75,::maps\lab_utility::cloak_on); + common_scripts\utility::flag_wait_all("flag_breach_patrol_01_clear","flag_burke_exit_breach_room"); + maps\lab_utility::goto_node(var_00,0); + common_scripts\utility::flag_wait_any("flag_breach_patrol_01_dead","flag_breach_patrol_02_dead","flag_breach_patrol_02_reached_end"); + maps\lab_utility::goto_node(var_01,0); +} + +//Function Number: 206 +knox_post_breach_move(param_00,param_01) +{ + level.knox endon("anim_reach_server_room_started"); + thread cloak_off_server_room(1.5,0.2); + var_02 = getnode("node_knox_breach_02","targetname"); + var_03 = getnode("node_knox_breach_03","targetname"); + var_04 = getnode("node_knox_breach_04","targetname"); + common_scripts\utility::flag_wait("lab_breach_all_guys_dead"); + maps\_utility::set_baseaccuracy(999); + maps\lab_utility::any_enemy_is_able_to_attack(); + maps\_utility::delaythread(3,::maps\lab_utility::cloak_on); + common_scripts\utility::flag_wait_all("flag_breach_patrol_01_clear","flag_burke_exit_breach_room"); + maps\lab_utility::goto_node(var_02,0); + common_scripts\utility::flag_wait_any("flag_breach_patrol_01_dead","flag_breach_patrol_02_dead","flag_breach_patrol_02_reached_end"); + maps\lab_utility::goto_node(var_03,0); + if(common_scripts\utility::flag("flag_breach_patrol_01_dead") && common_scripts\utility::flag("flag_breach_patrol_02_reached_end")) + { + } + else if(common_scripts\utility::flag("flag_breach_patrol_01_dead") && !common_scripts\utility::flag("flag_breach_patrol_02_reached_end")) + { + maps\lab_utility::goto_node(var_04,0); + } + + common_scripts\utility::flag_wait_all("flag_breach_patrol_01_dead","flag_breach_patrol_02_dead"); + maps\lab_utility::goto_node(var_04,0); +} + +//Function Number: 207 +cloak_off_server_room(param_00,param_01) +{ + common_scripts\utility::flag_wait_all("flag_breach_patrol_01_dead","flag_breach_patrol_02_dead"); + wait(param_00); + maps\lab_utility::cloak_off(); + maps\_utility::enable_cqbwalk(); + if(isdefined(param_01)) + { + maps\_utility::set_baseaccuracy(param_01); + } +} + +//Function Number: 208 +combat_research_building() +{ + common_scripts\utility::flag_wait("flag_research_facility_combat_dialogue_complete"); + var_00 = getentarray("enemy_research_building_wave_01","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 maps\_utility::spawn_ai(1); + } + + var_00 = getentarray("enemy_research_wave_01","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 maps\_utility::spawn_ai(1); + } + + maps\lab_utility::spawn_metrics_waittill_count_reaches(4,["enemy_research_building_wave_01","enemy_research_wave_01"],0); + var_00 = getentarray("enemy_research_building_wave_02","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 maps\_utility::spawn_ai(1); + } +} + +//Function Number: 209 +combat_research_building_bridge() +{ + common_scripts\utility::flag_wait("flag_combat_research_02"); + var_00 = getentarray("enemy_research_bridge_wave_01","script_noteworthy"); + if(var_00.size > 0 && !common_scripts\utility::flag("flag_obj_neutralize_bio_weapons_complete")) + { + maps\_spawner::flood_spawner_scripted(var_00); + } + + common_scripts\utility::flag_wait("flag_combat_research_bridge_01"); + var_00 = getentarray("enemy_research_bridge_wave_02","script_noteworthy"); + if(var_00.size > 0 && !common_scripts\utility::flag("flag_obj_neutralize_bio_weapons_complete")) + { + maps\_spawner::flood_spawner_scripted(var_00); + } + + maps\lab_utility::spawn_metrics_waittill_count_reaches(1,["enemy_research_bridge_wave_01","enemy_research_bridge_wave_02"],0); + var_00 = ["enemy_research_bridge_wave_01","enemy_research_bridge_wave_02"]; + maps\lab_utility::delete_spawners(var_00); + maps\_utility::activate_trigger_with_targetname("trig_color_research_facility_bridge"); + common_scripts\utility::flag_set("flag_combat_facility_bridge_seek_player"); +} + +//Function Number: 210 +combat_research_pool_walkway_01() +{ + common_scripts\utility::flag_wait("flag_combat_research_03"); + var_00 = getentarray("enemy_pool_building_walkway_wave_01","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 maps\_utility::spawn_ai(1); + } + + maps\lab_utility::spawn_metrics_waittill_count_reaches(3,["enemy_pool_building_walkway_wave_01"],0); + var_00 = getentarray("enemy_pool_building_walkway_wave_02","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 maps\_utility::spawn_ai(1); + } + + maps\lab_utility::spawn_metrics_waittill_count_reaches(2,["enemy_pool_building_walkway_wave_01","enemy_pool_building_walkway_wave_02"],0); + var_00 = ["enemy_pool_building_walkway_wave_01","enemy_pool_building_walkway_wave_02"]; + maps\lab_utility::delete_spawners(var_00); + common_scripts\utility::flag_set("flag_guys_pool_bldg_01_seek_player"); +} + +//Function Number: 211 +combat_research_left_01() +{ + level endon("flag_combat_research_right_01"); + common_scripts\utility::flag_wait("flag_combat_research_left_01"); + var_00 = getentarray("enemy_research_left_01","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 maps\_utility::spawn_ai(1); + } + + var_00 = getentarray("enemy_research_left_lower_01","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 maps\_utility::spawn_ai(1); + } + + maps\lab_utility::spawn_metrics_waittill_count_reaches(3,["enemy_research_left_01","enemy_research_left_lower_01"],0); + common_scripts\utility::flag_set("flag_guys_research_left_01_seek_player"); +} + +//Function Number: 212 +combat_research_right_01() +{ + level endon("flag_combat_research_left_01"); + common_scripts\utility::flag_wait("flag_combat_research_right_01"); + var_00 = getentarray("enemy_research_right_flank_01","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 maps\_utility::spawn_ai(1); + } + + var_00 = getentarray("enemy_research_right_01","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 maps\_utility::spawn_ai(1); + } + + var_00 = getentarray("enemy_research_right_lower_01","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 maps\_utility::spawn_ai(1); + } + + thread combat_spawn_research_right_flank_02(); + maps\lab_utility::spawn_metrics_waittill_count_reaches(3,["enemy_research_right_01","enemy_research_right_lower_01"],0); + common_scripts\utility::flag_set("flag_guys_research_right_01_seek_player"); +} + +//Function Number: 213 +combat_spawn_research_right_flank_02() +{ + common_scripts\utility::flag_wait_any("flag_combat_research_04","flag_right_flank_01_dead"); + var_00 = getentarray("enemy_research_right_flank_02","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 maps\_utility::spawn_ai(1); + } +} + +//Function Number: 214 +combat_research_platform_01() +{ + common_scripts\utility::flag_wait_any("flag_guys_research_right_01_seek_player","flag_guys_research_left_01_seek_player"); + var_00 = getentarray("enemy_platform_01","script_noteworthy"); + if(!common_scripts\utility::flag("flag_combat_research_05")) + { + foreach(var_02 in var_00) + { + var_02 maps\_utility::spawn_ai(1); + } + } +} + +//Function Number: 215 +combat_research_pool_room() +{ + common_scripts\utility::flag_set("flag_bomb_plant_trigger_on"); + thread control_foam_room_door02_clip(); + thread foam_planted_kill_enemies(); + common_scripts\utility::flag_wait("flag_combat_research_03"); + var_00 = ["enemy_research_building_wave_01"]; + maps\lab_utility::delete_spawners(var_00); + common_scripts\utility::flag_wait_any("flag_combat_research_04","flag_combat_research_04_bottom"); + var_00 = ["enemy_pool_building_wave_01"]; + maps\lab_utility::delete_spawners(var_00); + var_00 = getentarray("enemy_pool_building_wave_02","script_noteworthy"); + if(var_00.size > 0) + { + maps\_spawner::flood_spawner_scripted(var_00); + } + + thread maps\_utility::autosave_by_name("pool_room"); + common_scripts\utility::flag_wait("flag_combat_research_05"); + soundscripts\_snd::snd_message("aud_foam_room_emitters"); + var_00 = ["enemy_pool_building_wave_02"]; + maps\lab_utility::delete_spawners(var_00); + var_01 = ["enemy_research_building_wave_01","enemy_research_building_wave_02","enemy_pool_building_wave_01","enemy_pool_building_wave_02"]; + maps\lab_utility::spawn_metrics_waittill_count_reaches(5,["enemy_research_building_wave_01","enemy_research_building_wave_02","enemy_pool_building_wave_01","enemy_pool_building_wave_02"],0); + common_scripts\utility::flag_set("flag_combat_research_retreat_foam_room"); + maps\_utility::activate_trigger_with_targetname("trig_color_foam_room_combat"); + maps\lab_utility::spawn_metrics_waittill_count_reaches(3,["enemy_research_building_wave_01","enemy_research_building_wave_02","enemy_pool_building_wave_01","enemy_pool_building_wave_02"],0); + common_scripts\utility::flag_set("flag_foam_room_combat_clear_out"); + maps\lab_utility::spawn_metrics_waittill_count_reaches(0,["enemy_research_building_wave_01","enemy_research_building_wave_02","enemy_pool_building_wave_01","enemy_pool_building_wave_02"],0); + common_scripts\utility::flag_set("flag_research_building_combat_complete"); + common_scripts\utility::flag_clear("flag_enable_battle_chatter"); + soundscripts\_snd::snd_message("research_building_combat_complete"); + var_02 = getaiarray("axis"); + foreach(var_04 in var_02) + { + var_05 = randomfloatrange(0.5,2); + var_04 thread maps\lab_utility::bloody_death(var_05); + wait(0.3); + } + + common_scripts\utility::flag_wait_all("flag_research_building_combat_complete","flag_player_inside_foam_room"); + level.burke.ignoreall = 1; + level.cormack.ignoreall = 1; + level.knox.ignoreall = 1; + var_07 = getentarray("c_trigger_researh","script_noteworthy"); + foreach(var_09 in var_07) + { + var_09 common_scripts\utility::trigger_off(); + } +} + +//Function Number: 216 +foam_planted_kill_enemies() +{ + common_scripts\utility::flag_wait("flag_obj_neutralize_bio_weapons_planted"); + var_00 = getaiarray("axis"); + foreach(var_02 in var_00) + { + var_03 = randomfloatrange(0.5,1); + var_02 thread maps\lab_utility::bloody_death(var_03); + } +} + +//Function Number: 217 +foam_room_door_think() +{ + var_00 = 0.75; + var_01 = getent("door_foam_room_l","targetname"); + var_02 = getent("door_foam_room_r","targetname"); + var_03 = var_01 common_scripts\utility::get_target_ent(); + var_04 = var_02 common_scripts\utility::get_target_ent(); + var_03 linkto(var_01); + var_04 linkto(var_02); + var_05 = common_scripts\utility::getstruct("org_door_foam_room_open_l","targetname"); + var_06 = common_scripts\utility::getstruct("org_door_foam_room_open_r","targetname"); + var_07 = common_scripts\utility::getstruct("org_door_foam_room_close_l","targetname"); + var_08 = common_scripts\utility::getstruct("org_door_foam_room_close_r","targetname"); + var_01 moveto(var_05.origin,var_00,0.25,0.25); + var_02 moveto(var_06.origin,var_00,0.25,0.25); + wait(var_00); + var_03 connectpaths(); + var_04 connectpaths(); + common_scripts\utility::flag_wait("flag_combat_research_05"); + var_01 moveto(var_07.origin,var_00,0.25,0.25); + var_02 moveto(var_08.origin,var_00,0.25,0.25); + wait(var_00); + var_03 disconnectpaths(); + var_04 disconnectpaths(); + common_scripts\utility::flag_wait("flag_foam_room_complete_dialogue"); + var_01 moveto(var_05.origin,var_00,0.25,0.25); + var_02 moveto(var_06.origin,var_00,0.25,0.25); + wait(var_00); + var_03 connectpaths(); + var_04 connectpaths(); +} + +//Function Number: 218 +foam_room_door_01_close() +{ + var_00 = 0.75; + var_01 = getent("door_01_foam_room_l","targetname"); + var_02 = getent("door_01_foam_room_r","targetname"); + var_03 = var_01 common_scripts\utility::get_target_ent(); + var_04 = var_02 common_scripts\utility::get_target_ent(); + var_03 linkto(var_01); + var_04 linkto(var_02); + var_05 = common_scripts\utility::getstruct("org_door_01_foam_room_close_l","targetname"); + var_06 = common_scripts\utility::getstruct("org_door_01_foam_room_close_r","targetname"); + var_01 moveto(var_05.origin,var_00,0.25,0.25); + var_02 moveto(var_06.origin,var_00,0.25,0.25); + wait(var_00); + var_03 disconnectpaths(); + var_04 disconnectpaths(); +} + +//Function Number: 219 +foam_room_door_03_close() +{ + var_00 = 0.75; + var_01 = getent("door_03_foam_room_l","targetname"); + var_02 = getent("door_03_foam_room_r","targetname"); + var_03 = var_01 common_scripts\utility::get_target_ent(); + var_04 = var_02 common_scripts\utility::get_target_ent(); + var_03 linkto(var_01); + var_04 linkto(var_02); + var_05 = common_scripts\utility::getstruct("org_door_03_foam_room_close_l","targetname"); + var_06 = common_scripts\utility::getstruct("org_door_03_foam_room_close_r","targetname"); + var_01 moveto(var_05.origin,var_00,0.25,0.25); + var_02 moveto(var_06.origin,var_00,0.25,0.25); + wait(var_00); + var_03 disconnectpaths(); + var_04 disconnectpaths(); +} + +//Function Number: 220 +foam_room_door_02_close() +{ + var_00 = 0.75; + var_01 = getent("door_02_foam_room_l","targetname"); + var_02 = getent("door_02_foam_room_r","targetname"); + soundscripts\_snd::snd_message("foam_room_door_close",var_01,var_02); + var_03 = var_01 common_scripts\utility::get_target_ent(); + var_04 = var_02 common_scripts\utility::get_target_ent(); + var_03 linkto(var_01); + var_04 linkto(var_02); + var_05 = common_scripts\utility::getstruct("org_door_02_foam_room_close_l","targetname"); + var_06 = common_scripts\utility::getstruct("org_door_02_foam_room_close_r","targetname"); + common_scripts\utility::flag_wait("flag_combat_research_05"); + var_01 moveto(var_05.origin,var_00,0.25,0.25); + var_02 moveto(var_06.origin,var_00,0.25,0.25); + wait(var_00); + var_03 disconnectpaths(); + var_04 disconnectpaths(); +} + +//Function Number: 221 +control_foam_room_door02_clip() +{ + var_00 = getent("foam_room_instant_door02_clip","targetname"); + var_00 notsolid(); + var_00 connectpaths(); + common_scripts\utility::flag_wait("flag_foam_room_clear"); + var_00 solid(); +} + +//Function Number: 222 +courtyard_scrambler_rotate() +{ + var_00 = getent("scrambler_top","targetname"); + var_00.point_tag = common_scripts\utility::spawn_tag_origin(); + var_01 = var_00.point_tag; + var_01 linkto(var_00,"lab_comm_satellite_top_lod0_comb",(15,15,220),(0,0,0),0); + playfxontag(common_scripts\utility::getfx("light_glow_red_steady"),var_01,"tag_origin"); + while(!common_scripts\utility::flag("flag_obj_jammer_complete")) + { + var_00 addyaw(2.5); + wait(0.05); + } + + var_02 = 2.5; + for(var_03 = 0;var_03 < 25;var_03++) + { + var_02 = var_02 - 0.1; + var_00 addyaw(var_02); + wait(0.05); + } +} + +//Function Number: 223 +platform_door_think() +{ + var_00 = 0.75; + var_01 = getent("door_platform_l","targetname"); + var_02 = getent("door_platform_r","targetname"); + soundscripts\_snd::snd_message("door2courtyard_open"); + var_03 = var_01 common_scripts\utility::get_target_ent(); + var_04 = var_02 common_scripts\utility::get_target_ent(); + var_03 linkto(var_01); + var_04 linkto(var_02); + var_05 = common_scripts\utility::getstruct("org_door_platform_open_l","targetname"); + var_06 = common_scripts\utility::getstruct("org_door_platform_open_r","targetname"); + var_07 = common_scripts\utility::getstruct("org_door_platform_close_l","targetname"); + var_08 = common_scripts\utility::getstruct("org_door_platform_close_r","targetname"); + var_01 moveto(var_05.origin,var_00,0.25,0.25); + var_02 moveto(var_06.origin,var_00,0.25,0.25); + wait(var_00); + var_03 connectpaths(); + var_04 connectpaths(); + common_scripts\utility::flag_wait("flag_combat_research_05"); + var_01 moveto(var_07.origin,var_00,0.25,0.25); + var_02 moveto(var_08.origin,var_00,0.25,0.25); + wait(var_00); + var_03 disconnectpaths(); + var_04 disconnectpaths(); +} + +//Function Number: 224 +combat_courtyard_mech() +{ + common_scripts\utility::flag_wait("flag_courtyard_hangar_door_block"); + level.cormack maps\_utility::disable_ai_color(); + level.knox maps\_utility::disable_ai_color(); + var_00 = getnode("cormack_mech_sneak","script_noteworthy"); + var_01 = getnode("knox_mech_sneak","script_noteworthy"); + level.cormack setgoalnode(var_00); + level.knox setgoalnode(var_01); + level.hangar_mech_01 = getent("enemy_hangar_mech_01","targetname") maps\_utility::spawn_ai(1); + level.hangar_mech_01 maps\_mech::mech_start_reduced_nonplayer_damage(); + level.hangar_mech_01 maps\_utility::magic_bullet_shield(); + soundscripts\_snd::snd_message("courtyard_hangar_mech_01_spawned",level.hangar_mech_01); + level.knox.ignoreme = 1; + level.cormack.ignoreme = 1; + level.burke.ignoreme = 1; + level.burke.ignoreall = 1; + level.knox.ignoreall = 1; + level.cormack.ignoreall = 1; + level.hangar_mech_01.ignoreall = 1; + maps\_utility::delaythread(2,::courtyard_hangar_door_close); + level.hangar_mech_01.animname = "mech"; + var_02 = common_scripts\utility::getstruct("courtyard_mech_reveal","targetname"); + var_02 maps\_anim::anim_single_solo(level.hangar_mech_01,"courtyard_mech_intro",undefined,0.55); + level.hangar_mech_01 maps\_utility::stop_magic_bullet_shield(); + maps\lab_utility::cleanup_ai_with_script_noteworthy("enemy_courtyard_initial",128); + maps\lab_utility::cleanup_ai_with_script_noteworthy("enemy_hangar_building_01",128); + level notify("remove_doormen"); + level.burke.ignoreall = 0; + level.hangar_mech_01.ignoreall = 0; + level.hangar_mech_01 setgoalentity(level.player); + level.hangar_mech_01.favoriteenemy = level.player; + createthreatbiasgroup("player"); + createthreatbiasgroup("mech"); + level.player setthreatbiasgroup("player"); + level.hangar_mech_01 setthreatbiasgroup("mech"); + setthreatbias("player","mech",900000); + level.hangar_mech_01 maps\_mech::mech_start_rockets(); + level.hangar_mech_01 maps\_mech::mech_start_hunting(); + level.hangar_mech_01 maps\_mech::mech_start_badplace_behavior(); + wait_for_mech_distance(); + level.hangar_mech_01.walkdist = 200; + level.hangar_mech_01.walkdistfacingmotion = level.hangar_mech_01.walkdist; + level.knox.ignoreall = 0; + level.cormack.ignoreall = 0; + common_scripts\utility::flag_set("flag_combat_courtyard_jammer"); + common_scripts\utility::flag_set("flag_courtyard_hangar_door_hack"); +} + +//Function Number: 225 +wait_for_mech_distance() +{ + if(isdefined(level.hangar_mech_01) && isalive(level.hangar_mech_01)) + { + level.hangar_mech_01 endon("death"); + var_00 = getent("obj_defend_01","targetname"); + var_01 = 600; + var_02 = var_01 * var_01; + while(distancesquared(level.hangar_mech_01.origin,var_00.origin) < var_02) + { + wait(0.1); + } + } +} + +//Function Number: 226 +courtyard_gates_think() +{ + common_scripts\utility::flag_wait("flag_foam_room_complete_dialogue"); + var_00 = getentarray("courtyard_perimeter_gate_instance_02","script_noteworthy"); + var_01 = undefined; + foreach(var_03 in var_00) + { + if(var_03.classname == "script_model") + { + var_01 = var_03; + break; + } + } + + var_05 = getent(var_01.target,"targetname"); + var_01 maps\_anim::anim_first_frame_solo(var_01,"opened"); + var_05 notsolid(); + common_scripts\utility::flag_wait("flag_combat_courtyard_general_01"); + var_05 common_scripts\utility::delaycall(1,::solid); + var_01 maps\_anim::anim_single_solo(var_01,"close"); + var_01 maps\_anim::anim_first_frame_solo(var_01,"closed"); +} + +//Function Number: 227 +courtyard_rappel_preview() +{ + level.burke.ignoreme = 1; + level.cormack.ignoreme = 1; + level.knox.ignoreme = 1; + level.player.ignoreme = 1; + var_00 = getentarray("courtyard_perimeter_gate_instance_01","script_noteworthy"); + var_01 = undefined; + foreach(var_03 in var_00) + { + if(var_03.classname == "script_model") + { + var_01 = var_03; + break; + } + } + + var_05 = getent(var_01.target,"targetname"); + var_01 maps\_anim::anim_first_frame_solo(var_01,"opened"); + var_05 notsolid(); + var_05 connectpaths(); + thread courtyard_rappel_preview_guys(); + thread courtyard_rappel_preview_vehicles(); + level waittill("cliff_rappel_landing"); + level.player.ignoreme = 0; + var_01 maps\_anim::anim_single_solo(var_01,"close"); + var_01 maps\_anim::anim_first_frame_solo(var_01,"closed"); + wait(3); + var_05 solid(); + var_05 disconnectpaths(); +} + +//Function Number: 228 +courtyard_rappel_preview_guys() +{ + level endon("cliff_rappel_landing"); + var_00 = getent("enemy_courtyard_rappel_preview_01","script_noteworthy"); + var_01 = getent("enemy_courtyard_rappel_preview_02","script_noteworthy"); + var_02 = getent("enemy_courtyard_rappel_preview_03","script_noteworthy"); + var_03 = getent("enemy_courtyard_rappel_preview_04","script_noteworthy"); + maps\_utility::array_spawn_function_noteworthy("enemy_courtyard_rappel_preview_01",::courtyard_rappel_preview_think); + maps\_utility::array_spawn_function_noteworthy("enemy_courtyard_rappel_preview_02",::courtyard_rappel_preview_think); + maps\_utility::array_spawn_function_noteworthy("enemy_courtyard_rappel_preview_03",::courtyard_rappel_preview_think); + maps\_utility::array_spawn_function_noteworthy("enemy_courtyard_rappel_preview_04",::courtyard_rappel_preview_think); + wait(21); + for(;;) + { + var_04 = randomintrange(1,2); + for(var_05 = 0;var_05 < var_04;var_05++) + { + var_00 maps\_utility::spawn_ai(); + var_01 maps\_utility::spawn_ai(); + var_02 maps\_utility::spawn_ai(); + var_03 maps\_utility::spawn_ai(); + var_00.count++; + var_01.count++; + var_02.count++; + var_03.count++; + wait(randomfloatrange(0.8,1.2)); + } + + wait(randomfloatrange(2,3)); + } +} + +//Function Number: 229 +courtyard_rappel_preview_vehicles() +{ + wait(19); + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("courtyard_vrap_preview"); + var_00 maps\_vehicle::vehicle_lights_on(); + level waittill("cliff_rappel_landing"); + var_00 delete(); +} + +//Function Number: 230 +courtyard_rappel_preview_think() +{ + self.goalradius = 8; + self.ignoreme = 1; + self waittill("goal"); + self delete(); +} + +//Function Number: 231 +courtyard_rpg_drop() +{ + self.dropweapon = 0; +} + +//Function Number: 232 +combat_courtyard_path_general() +{ + level.courtyard_goal_volume = getent("courtyard_combat_volume_initial","script_noteworthy"); + common_scripts\utility::array_thread(getentarray("courtyard_goal_volume_trigger","targetname"),::courtyard_goal_volume_trigger_think); + thread combat_courtyard_path_jammer_building(); + thread combat_courtyard_path_left_00(); + thread combat_courtyard_path_left_01(); + thread combat_courtyard_path_left_02(); + thread combat_courtyard_path_left_03(); + thread combat_courtyard_path_middle_01(); + thread combat_courtyard_path_middle_02(); + thread combat_courtyard_path_middle_03(); + thread combat_courtyard_path_right_01(); + thread combat_courtyard_path_right_02(); + thread combat_courtyard_path_right_03(); + thread courtyard_gates_think(); + thread courtyard_scrambler_rotate(); + soundscripts\_snd::snd_message("courtyard_start_dish"); + common_scripts\utility::flag_wait("flag_combat_courtyard_general_01"); + var_00 = getentarray("combat_courtyard_general_01","targetname"); + if(var_00.size > 0) + { + foreach(var_02 in var_00) + { + var_02 maps\_utility::spawn_ai(1); + } + } + + thread maps\lab_lighting::courtyard_sun_off(); + thread courtyard_traversal_initial(); + thread courtyard_hangar_door_open(); + thread courtyard_hangar_door_hack(); + level.courtyard_vrap04 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("courtyard_vrap04"); + level.courtyard_vrap04 maps\_vehicle::vehicle_lights_on(); + soundscripts\_snd::snd_message("aud_ctyard_vrap04"); + wait(1); + level.courtyard_vrap05 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("courtyard_vrap05"); + level.courtyard_vrap05 maps\_vehicle::vehicle_lights_on(); + soundscripts\_snd::snd_message("aud_ctyard_vrap05"); + common_scripts\utility::flag_wait_either("flag_combat_courtyard_vehicle01_a","flag_combat_courtyard_vehicle01_b"); + thread maps\_utility::autosave_by_name("courtyard_midpoint"); + thread combat_courtyard_mech(); + var_00 = getentarray("enemy_hangar_building_01","script_noteworthy"); + maps\_utility::array_spawn_function(var_00,::courtyard_rpg_drop); + if(var_00.size > 0) + { + maps\_spawner::flood_spawner_scripted(var_00); + } + + level.courtyard_vrap01 = maps\_vehicle::spawn_vehicle_from_targetname("courtyard_vrap01"); + var_04 = undefined; + var_05 = level.courtyard_vrap01.riders[0]; + var_06 = level.courtyard_vrap01.riders[1]; + if(common_scripts\utility::flag("flag_combat_courtyard_vehicle01_a")) + { + var_04 = getvehiclenode("courtyard_vehicle01_a","targetname"); + } + + if(common_scripts\utility::flag("flag_combat_courtyard_vehicle01_b")) + { + var_04 = getvehiclenode("courtyard_vehicle01_b","targetname"); + } + + level.courtyard_vrap01 thread maps\_vehicle_code::_vehicle_paths(var_04); + level.courtyard_vrap01 startpath(var_04); + level.courtyard_vrap01 maps\_vehicle::vehicle_lights_on(); + soundscripts\_snd::snd_message("aud_ctyard_vrap01"); + level.courtyard_vrap01 waittill("unloaded"); + if(common_scripts\utility::flag("flag_combat_courtyard_vehicle01_a")) + { + var_05 setgoalnode(getnode("vrap01_startingposition0_node_a","targetname")); + var_06 setgoalnode(getnode("vrap01_startingposition1_node_a","targetname")); + } + + if(common_scripts\utility::flag("flag_combat_courtyard_vehicle01_b")) + { + var_05 setgoalnode(getnode("vrap01_startingposition0_node_b","targetname")); + var_06 setgoalnode(getnode("vrap01_startingposition1_node_b","targetname")); + } + + var_05.fixednode = 1; + var_06.fixednode = 1; +} + +//Function Number: 233 +combat_courtyard_path_jammer_building() +{ + common_scripts\utility::flag_wait_either("flag_combat_courtyard_path_jammer_building_lower","flag_combat_courtyard_path_jammer_building_upper"); + var_00 = undefined; + if(common_scripts\utility::flag("flag_combat_courtyard_path_jammer_building_lower")) + { + var_00 = getentarray("combat_courtyard_path_jammer_building_lower","targetname"); + } + else if(common_scripts\utility::flag("flag_combat_courtyard_path_jammer_building_upper")) + { + var_00 = getentarray("combat_courtyard_path_jammer_building_upper","targetname"); + } + + if(var_00.size > 0) + { + maps\_utility::array_spawn(var_00); + } +} + +//Function Number: 234 +combat_courtyard_path_left_00() +{ + common_scripts\utility::flag_wait("flag_combat_courtyard_path_left_00"); + var_00 = getentarray("combat_courtyard_path_left_00","targetname"); + if(var_00.size > 0) + { + maps\_utility::array_spawn(var_00); + } +} + +//Function Number: 235 +combat_courtyard_path_left_01() +{ + level endon("flag_combat_courtyard_path_right_01"); + level endon("flag_combat_courtyard_path_right_02"); + level endon("flag_combat_courtyard_path_right_03"); + level endon("flag_combat_courtyard_path_middle_01"); + level endon("flag_combat_courtyard_path_middle_02"); + level endon("flag_combat_courtyard_path_middle_03"); + common_scripts\utility::flag_wait("flag_combat_courtyard_path_left_01"); + var_00 = getentarray("combat_courtyard_path_left_01","targetname"); + if(var_00.size > 0) + { + maps\_utility::array_spawn(var_00); + } +} + +//Function Number: 236 +combat_courtyard_path_left_02() +{ + level endon("flag_combat_courtyard_path_right_01"); + level endon("flag_combat_courtyard_path_right_02"); + level endon("flag_combat_courtyard_path_right_03"); + level endon("flag_combat_courtyard_path_middle_01"); + level endon("flag_combat_courtyard_path_middle_02"); + level endon("flag_combat_courtyard_path_middle_03"); + common_scripts\utility::flag_wait("flag_combat_courtyard_path_left_02"); + var_00 = getentarray("combat_courtyard_path_left_02","targetname"); + if(var_00.size > 0) + { + maps\_utility::array_spawn(var_00); + } +} + +//Function Number: 237 +combat_courtyard_path_left_03() +{ + level endon("flag_combat_courtyard_path_right_01"); + level endon("flag_combat_courtyard_path_right_02"); + level endon("flag_combat_courtyard_path_right_03"); + level endon("flag_combat_courtyard_path_middle_01"); + level endon("flag_combat_courtyard_path_middle_02"); + level endon("flag_combat_courtyard_path_middle_03"); + common_scripts\utility::flag_wait("flag_combat_courtyard_path_left_03"); + var_00 = getentarray("combat_courtyard_path_left_03","targetname"); + if(var_00.size > 0) + { + maps\_utility::array_spawn(var_00); + } +} + +//Function Number: 238 +combat_courtyard_path_middle_01() +{ + level endon("flag_combat_courtyard_path_right_01"); + level endon("flag_combat_courtyard_path_right_02"); + level endon("flag_combat_courtyard_path_right_03"); + level endon("flag_combat_courtyard_path_left_01"); + level endon("flag_combat_courtyard_path_left_02"); + level endon("flag_combat_courtyard_path_left_03"); + common_scripts\utility::flag_wait("flag_combat_courtyard_path_middle_01"); + var_00 = getentarray("combat_courtyard_path_middle_01","targetname"); + if(var_00.size > 0) + { + maps\_utility::array_spawn(var_00); + } + + var_01 = getent("combat_courtyard_path_middle_01_rpg","targetname"); + var_01 maps\_utility::add_spawn_function(::courtyard_rpg_drop); + var_02 = getent("combat_courtyard_path_middle_01_ar","targetname"); + var_03 = var_01 maps\_utility::spawn_ai(); + var_03.baseaccuracy = 0.2; + var_04 = var_02 maps\_utility::spawn_ai(); + common_scripts\utility::flag_wait_either("flag_combat_courtyard_path_left_02","flag_combat_courtyard_path_right_02"); + maps\_utility::ai_delete_when_out_of_sight([var_03],64); + maps\_utility::ai_delete_when_out_of_sight([var_04],64); +} + +//Function Number: 239 +combat_courtyard_path_middle_02() +{ + level endon("flag_combat_courtyard_path_right_01"); + level endon("flag_combat_courtyard_path_right_02"); + level endon("flag_combat_courtyard_path_right_03"); + level endon("flag_combat_courtyard_path_left_01"); + level endon("flag_combat_courtyard_path_left_02"); + level endon("flag_combat_courtyard_path_left_03"); + common_scripts\utility::flag_wait("flag_combat_courtyard_path_middle_02"); + var_00 = getentarray("combat_courtyard_path_middle_02","targetname"); + if(var_00.size > 0) + { + maps\_utility::array_spawn(var_00); + } +} + +//Function Number: 240 +combat_courtyard_path_middle_03() +{ + level endon("flag_combat_courtyard_path_right_01"); + level endon("flag_combat_courtyard_path_right_02"); + level endon("flag_combat_courtyard_path_right_03"); + level endon("flag_combat_courtyard_path_left_01"); + level endon("flag_combat_courtyard_path_left_02"); + level endon("flag_combat_courtyard_path_left_03"); + common_scripts\utility::flag_wait("flag_combat_courtyard_path_middle_03"); + var_00 = getentarray("combat_courtyard_path_middle_03","targetname"); + if(var_00.size > 0) + { + maps\_utility::array_spawn(var_00); + } +} + +//Function Number: 241 +combat_courtyard_path_right_01() +{ + level endon("flag_combat_courtyard_path_left_01"); + level endon("flag_combat_courtyard_path_left_02"); + level endon("flag_combat_courtyard_path_left_03"); + level endon("flag_combat_courtyard_path_middle_01"); + level endon("flag_combat_courtyard_path_middle_02"); + level endon("flag_combat_courtyard_path_middle_03"); + common_scripts\utility::flag_wait("flag_combat_courtyard_path_right_01"); + var_00 = getentarray("combat_courtyard_path_right_01","targetname"); + if(var_00.size > 0) + { + maps\_utility::array_spawn(var_00); + } +} + +//Function Number: 242 +combat_courtyard_path_right_02() +{ + level endon("flag_combat_courtyard_path_left_01"); + level endon("flag_combat_courtyard_path_left_02"); + level endon("flag_combat_courtyard_path_left_03"); + level endon("flag_combat_courtyard_path_middle_01"); + level endon("flag_combat_courtyard_path_middle_02"); + level endon("flag_combat_courtyard_path_middle_03"); + common_scripts\utility::flag_wait("flag_combat_courtyard_path_right_02"); + var_00 = getentarray("combat_courtyard_path_right_02","targetname"); + if(var_00.size > 0) + { + maps\_utility::array_spawn(var_00); + } +} + +//Function Number: 243 +combat_courtyard_path_right_03() +{ + level endon("flag_combat_courtyard_path_left_01"); + level endon("flag_combat_courtyard_path_left_02"); + level endon("flag_combat_courtyard_path_left_03"); + level endon("flag_combat_courtyard_path_middle_01"); + level endon("flag_combat_courtyard_path_middle_02"); + level endon("flag_combat_courtyard_path_middle_03"); + common_scripts\utility::flag_wait("flag_combat_courtyard_path_right_03"); + var_00 = getentarray("combat_courtyard_path_right_03","targetname"); + if(var_00.size > 0) + { + maps\_utility::array_spawn(var_00); + } +} + +//Function Number: 244 +combat_courtyard_jammer() +{ + level endon("flag_obj_jammer_interact"); + common_scripts\utility::flag_wait("flag_combat_courtyard_jammer"); + common_scripts\utility::array_thread(getentarray("courtyard_goal_volume_trigger_b","targetname"),::courtyard_goal_volume_trigger_b_think); + level.courtyard_vrap02 = maps\_vehicle::spawn_vehicle_from_targetname("courtyard_vrap02"); + var_00 = getvehiclenode("courtyard_vrap02_go","targetname"); + common_scripts\utility::flag_wait("flag_courtyard_hangar_door_block"); + if(isdefined(level.hangar_mech_01)) + { + level.hangar_mech_01 waittill("death"); + common_scripts\utility::flag_set("flag_hangar_mech_01_dead"); + } + + level.burke.ignoreme = 0; + level.cormack.ignoreme = 0; + maps\lab_utility::cleanup_ai_with_script_noteworthy("enemy_courtyard_initial",128); + level.courtyard_vrap02 thread maps\_vehicle_code::_vehicle_paths(var_00); + level.courtyard_vrap02 startpath(var_00); + level.courtyard_vrap02 maps\_vehicle::vehicle_lights_on(); + soundscripts\_snd::snd_message("aud_ctyard_vrap02"); + thread combat_courtyard_jammer_ladder_left(); + thread combat_courtyard_jammer_ladder_right(); + var_01 = getentarray("enemy_courtyard_jammer","targetname"); + common_scripts\utility::flag_wait_either("flag_jammer_combat_ladder_left","flag_jammer_combat_ladder_right"); + wait(15); + if(var_01.size > 0) + { + maps\_spawner::flood_spawner_scripted(var_01); + } +} + +//Function Number: 245 +combat_courtyard_jammer_ladder_left() +{ + common_scripts\utility::flag_wait("flag_jammer_combat_ladder_left"); + var_00 = getentarray("enemy_courtyard_jammer_ladder_left","targetname"); + if(var_00.size > 0) + { + foreach(var_02 in var_00) + { + var_02 maps\_utility::spawn_ai(1); + } + } +} + +//Function Number: 246 +combat_courtyard_jammer_ladder_right() +{ + common_scripts\utility::flag_wait("flag_jammer_combat_ladder_right"); + var_00 = getentarray("enemy_courtyard_jammer_ladder_right","targetname"); + if(var_00.size > 0) + { + foreach(var_02 in var_00) + { + var_02 maps\_utility::spawn_ai(1); + } + } +} + +//Function Number: 247 +combat_courtyard_jammer_complete() +{ + common_scripts\utility::flag_wait("flag_combat_courtyard_jammer_complete"); + maps\lab_utility::cleanup_ai_with_script_noteworthy("enemy_courtyard_jammer",128); + wait(2); + var_00 = getentarray("enemy_courtyard_sniper_fodder","script_noteworthy"); + if(var_00.size > 0) + { + foreach(var_02 in var_00) + { + var_02 maps\_utility::spawn_ai(1); + } + } + + thread courtyard_enemy_sniper_fodder_count(); + level.player.ignoreme = 1; + maps\_utility::wait_for_notify_or_timeout("flag_courtyard_sniper_sequence_complete",28); + maps\lab_utility::cleanup_ai_with_script_noteworthy("enemy_courtyard_sniper_fodder",128); + level.player.ignoreme = 0; + common_scripts\utility::flag_set("flag_courtyard_sniper_sequence_complete"); + var_00 = getentarray("enemy_courtyard_jammer_complete","targetname"); + if(var_00.size > 0) + { + maps\_spawner::flood_spawner_scripted(var_00); + } + + var_00 = getentarray("enemy_courtyard_jammer_complete_perimeter","targetname"); + maps\_utility::array_spawn_function(var_00,::courtyard_rpg_drop); + if(var_00.size > 0) + { + maps\_spawner::flood_spawner_scripted(var_00); + } + + wait(5); + var_04 = getent("enemy_courtyard_mech_02","targetname"); + if(isdefined(var_04)) + { + var_04 = getent("enemy_courtyard_mech_03","targetname"); + } + + if(isdefined(var_04)) + { + var_04 = getent("enemy_courtyard_mech_04","targetname"); + } + + if(isdefined(var_04)) + { + var_04 maps\_utility::spawn_ai(1); + } +} + +//Function Number: 248 +cleanup_courtyard_enemies() +{ + common_scripts\utility::flag_wait("flag_obj_tank_02"); + maps\lab_utility::cleanup_ai_with_script_noteworthy("enemy_courtyard_initial",128); + maps\lab_utility::cleanup_ai_with_script_noteworthy("enemy_hangar_building_01",128); + maps\lab_utility::cleanup_ai_with_script_noteworthy("enemy_courtyard_jammer",128); + maps\lab_utility::cleanup_ai_with_script_noteworthy("enemy_courtyard_jammer_complete",128); + maps\lab_utility::cleanup_ai_with_script_noteworthy("enemy_courtyard_jammer_complete_perimeter",128); + maps\lab_utility::cleanup_ai_with_script_noteworthy("enemy_courtyard_flood",128); + maps\lab_utility::cleanup_ai_with_script_noteworthy("enemy_courtyard_sniper_fodder",128); + if(isdefined(level.hangar_mech_01)) + { + level.hangar_mech_01 delete(); + } + + if(isdefined(level.courtyard_mech_01)) + { + level.courtyard_mech_01 delete(); + } + + if(isdefined(level.courtyard_mech_02)) + { + level.courtyard_mech_02 delete(); + } + + if(isdefined(level.courtyard_mech_03)) + { + level.courtyard_mech_03 delete(); + } + + if(isdefined(level.courtyard_mech_04)) + { + level.courtyard_mech_04 delete(); + } + + if(isdefined(level.courtyard_vrap01)) + { + level.courtyard_vrap01 delete(); + } + + if(isdefined(level.courtyard_vrap02)) + { + level.courtyard_vrap02 delete(); + } + + if(isdefined(level.courtyard_vrap03)) + { + level.courtyard_vrap03 delete(); + } + + if(isdefined(level.courtyard_vrap04)) + { + level.courtyard_vrap04 delete(); + } + + if(isdefined(level.courtyard_vrap05)) + { + level.courtyard_vrap05 delete(); + } + + maps\_utility::delaythread(0.05,::maps\_utility::array_delete,getentarray("script_vehicle_cover_drone","classname")); +} + +//Function Number: 249 +vrap_sonic_blast_immunity_toggle() +{ + self endon("death"); + wait(0.5); + if(isdefined(self.riders)) + { + var_00 = self.riders; + foreach(var_02 in var_00) + { + if(isalive(var_02) && isai(var_02)) + { + var_02.ignoresonicaoe = 1; + } + } + + wait(0.5); + while(self.riders.size > 0) + { + wait 0.05; + } + + foreach(var_02 in var_00) + { + var_02.ignoresonicaoe = 0; + } + } +} + +//Function Number: 250 +cleanup_foam_corridor_enemies() +{ + maps\lab_utility::cleanup_ai_with_script_noteworthy("enemy_foam_corridor_b",128); +} + +//Function Number: 251 +skip_foam_corridor() +{ + common_scripts\utility::flag_wait("flag_combat_foam_corridor"); + thread tank_hangar_door_open(); + level.burke maps\_utility::disable_ai_color(); + level.knox maps\_utility::disable_ai_color(); + level.cormack maps\_utility::disable_ai_color(); + var_00 = common_scripts\utility::getstruct("foam_corridor_anim_node","targetname"); + var_01 = "foam_corridor_exit"; + var_02 = []; + var_02[var_02.size] = level.burke; + var_02[var_02.size] = level.knox; + var_02[var_02.size] = level.cormack; + var_03 = common_scripts\utility::getstruct("hovertank_reveal_org","targetname"); + var_04 = maps\_utility::spawn_anim_model("hovertank",level.hovertank.origin); + level.hovertank hide(); + thread se_hovertank_reveal_actor(var_04,var_03); + foreach(var_06 in var_02) + { + thread se_hovertank_reveal_actor(var_06,var_03); + } + + common_scripts\utility::flag_set("flag_foam_corridor_exit"); +} + +//Function Number: 252 +combat_foam_corridor() +{ + common_scripts\utility::flag_wait("flag_combat_foam_corridor"); + createthreatbiasgroup("player"); + createthreatbiasgroup("foam_corridor_axis"); + level.player setthreatbiasgroup("player"); + var_00 = getentarray("enemy_foam_corridor_b","script_noteworthy"); + if(var_00.size > 0) + { + foreach(var_02 in var_00) + { + var_03 = var_02 maps\_utility::spawn_ai(1); + var_03.grenadeawareness = 0; + } + } + + thread se_foam_corridor(); +} + +//Function Number: 253 +foam_corridor_enemy_think() +{ + self endon("death"); + self setthreatbiasgroup("foam_corridor_axis"); + maps\_utility::magic_bullet_shield(1); + while(!common_scripts\utility::flag("flag_foam_corridor_exit")) + { + common_scripts\utility::flag_wait("flag_player_inside_foam_corridor"); + setthreatbias("foam_corridor_axis","player",9999999); + self.baseaccuracy = 999999; + common_scripts\utility::flag_waitopen("flag_player_inside_foam_corridor"); + setthreatbias("foam_corridor_axis","player",1); + self.baseaccuracy = 1; + } + + maps\_utility::set_battlechatter(0); +} + +//Function Number: 254 +combat_tank_courtyard() +{ + common_scripts\utility::flag_wait("player_in_hovertank"); + common_scripts\utility::array_thread(getentarray("gate_1_react_guys","targetname"),::combat_tank_courtyard_gate_1_guys_think); + maps\_utility::array_spawn_targetname("tank_courtyard_guys_1",1); + common_scripts\utility::flag_wait("flag_courtyard_gate_01_explode"); + var_00 = maps\_utility::array_spawn_targetname("courtyard_tank_vrap_1",1); + thread maps\lab_aud::aud_tank_section_vehicles_spawned(var_00); + common_scripts\utility::flag_wait("flag_courtyard_gate_02_explode"); +} + +//Function Number: 255 +combat_tank_courtyard_gate_1_guys_think() +{ + var_00 = common_scripts\utility::getstruct(self.target,"targetname"); + var_01 = maps\_utility::spawn_ai(1); + var_01.ignoreall = 1; + var_02 = common_scripts\utility::getstruct("courtyard_tank_flee_point","targetname"); + var_01.animname = "generic"; + var_01.goalradius = var_02.radius; + var_01 setgoalpos(var_02.origin); + var_03 = var_00.animation; + var_04 = 0; + var_05 = 0; + if(isdefined(var_00.script_parameters)) + { + if(var_00.script_parameters == "scripted_death") + { + var_05 = 1; + } + else + { + var_04 = float(var_00.script_parameters); + } + } + + var_00 thread maps\_anim::anim_generic_run(var_01,var_03); + var_06 = getanimlength(var_01 maps\_utility::getanim(var_03)); + if(var_04 > 0) + { + wait(0.05); + var_07 = var_06 - var_04 / var_06; + var_01 setanimtime(var_01 maps\_utility::getanim(var_03),var_07); + } + + if(var_05) + { + wait(var_06 - 0.3); + var_01 startragdoll(); + maps\lab_anim::ai_kill(var_01); + return; + } + + if(isdefined(var_01) && isalive(var_01)) + { + var_01.goalradius = var_02.radius; + var_01 setgoalpos(var_02.origin); + thread maps\_utility::ai_delete_when_out_of_sight([var_01],5000); + } +} + +//Function Number: 256 +combat_tank_field_flee_guys_think() +{ + self endon("death"); + self.ignoreall = 1; + var_00 = common_scripts\utility::getstruct("tank_field_flee_point","targetname"); + if(isdefined(self.ridingvehicle)) + { + self waittill("jumpedout"); + } + + self.goalradius = 256; + self setgoalpos(var_00.origin); + thread maps\_utility::ai_delete_when_out_of_sight([self],512); +} + +//Function Number: 257 +combat_tank_road() +{ +} + +//Function Number: 258 +setup_clip() +{ + var_00 = getent("blocker_vrap_takedown_door","targetname"); + var_00.origin = var_00.origin - (0,0,10000); + var_00 connectpaths(); + thread takedown_trunk(); + thread foam_room_door_think(); + thread platform_door_think(); +} + +//Function Number: 259 +takedown_trunk() +{ + var_00 = getent("takedown_stump","targetname"); + var_01 = getent("takedown_stump_damaged","targetname"); + var_01 hide(); + if(common_scripts\utility::flag("flag_se_takedown_01_complete")) + { + var_00 hide(); + var_01 show(); + } +} + +//Function Number: 260 +tank_hangar_door_open() +{ + var_00 = getent("tank_hangar_door_l","targetname"); + var_01 = getent("tank_hangar_door_r","targetname"); + var_02 = var_00 common_scripts\utility::get_target_ent(); + var_03 = var_01 common_scripts\utility::get_target_ent(); + var_02 linkto(var_00); + var_03 linkto(var_01); + var_04 = common_scripts\utility::getstruct("tank_hanger_door_l_opened","targetname"); + var_05 = common_scripts\utility::getstruct("tank_hanger_door_r_opened","targetname"); + var_06 = 0.75; + var_00 moveto(var_04.origin,var_06,0.25,0.25); + var_01 moveto(var_05.origin,var_06,0.25,0.25); + wait(var_06); + var_02 connectpaths(); + var_03 connectpaths(); +} + +//Function Number: 261 +tank_hangar_door_close() +{ + var_00 = getent("tank_hangar_door_l","targetname"); + var_01 = getent("tank_hangar_door_r","targetname"); + var_02 = var_00 common_scripts\utility::get_target_ent(); + var_03 = var_01 common_scripts\utility::get_target_ent(); + var_02 linkto(var_00); + var_03 linkto(var_01); + var_04 = common_scripts\utility::getstruct("tank_hanger_door_l_opened","targetname"); + var_05 = common_scripts\utility::getstruct("tank_hanger_door_r_opened","targetname"); + var_06 = common_scripts\utility::getstruct("tank_hanger_door_closed","targetname"); + var_07 = 0.75; + var_00 moveto(var_06.origin,var_07,0.25,0.25); + var_01 moveto(var_06.origin,var_07,0.25,0.25); + wait(var_07); + var_02 disconnectpaths(); + var_03 disconnectpaths(); +} + +//Function Number: 262 +helo_sniper_bullet_impacts() +{ + while(!common_scripts\utility::flag("flag_player_enters_forest")) + { + var_00 = 3; + var_01 = 6; + if(common_scripts\utility::flag("flag_increase_sinper_shots_01")) + { + var_00 = 2; + var_01 = 4; + } + + if(common_scripts\utility::flag("flag_hill_slide_complete")) + { + var_00 = 1; + var_01 = 3; + } + + wait(randomfloatrange(var_00,var_01)); + var_02 = vectornormalize(anglestoforward(level.player.angles)); + var_03 = vectornormalize(anglestoright(level.player.angles)); + var_04 = spawn("script_origin",(0,0,0)); + var_02 = var_02 * randomintrange(128,512); + var_03 = var_03 * randomintrange(-96,96); + var_05 = randomint(360); + var_04.angles = (0,var_05,0); + var_06 = get_helo_spotlight_bullet_origin(); + var_07 = 0; + var_08 = level.player.origin + var_02 + var_03; + var_09 = randomintrange(64,256); + var_0A = randomintrange(1,2); + var_0B = var_08 + vectornormalize(anglestoforward(var_04.angles)) * var_09; + var_0C = var_0B - var_08; + var_0D = var_0A * 0.05; + while(var_07 < var_0D) + { + var_0E = randomfloat(1); + if(var_0E < 0.8) + { + var_04.origin = var_08 + var_0C * var_07 / var_0D; + var_0F = randomintrange(-40,40); + var_10 = randomintrange(-40,40); + var_11 = randomintrange(-5,5); + var_04.origin = var_04.origin + (var_0F,var_10,var_11); + if(!maps\_utility::shot_endangers_any_player(var_06,var_04.origin)) + { + helo_spotlight_shoot_location(var_04.origin); + } + } + + var_07 = var_07 + 0.05; + wait(0.05); + } + + var_04 delete(); + } +} + +//Function Number: 263 +helo_sniper_threaten_player() +{ + level notify("player_run_progress_trigger_hit"); + level endon("player_run_progress_trigger_hit"); + var_00 = randomfloatrange(5,8); + var_01 = 2; + var_02 = 4; + wait(var_00); + while(!common_scripts\utility::flag("flag_player_enters_forest")) + { + helo_spotlight_shoot_location(level.player geteye() + (randomintrange(-10,10),randomintrange(-10,10),randomintrange(-10,10))); + wait(randomfloatrange(var_01,var_02)); + } +} + +//Function Number: 264 +player_run_progress_trigger_think() +{ + level endon("flag_player_enters_forest"); + self waittill("trigger"); + helo_sniper_threaten_player(); +} + +//Function Number: 265 +get_helo_spotlight_bullet_origin(param_00) +{ + if(!isdefined(param_00)) + { + return level.helo_spotlight gettagorigin("tag_guy1") + (0,0,28); + } + + var_01 = 88; + var_02 = level.helo_spotlight gettagorigin("tag_deathfx"); + var_02 = var_02 + vectornormalize(param_00 - var_02) * var_01; + return var_02; +} + +//Function Number: 266 +river_slow_movement_ai_think() +{ + level endon("player_climbing_wall"); + for(;;) + { + common_scripts\utility::flag_wait("flag_player_in_river"); + if(isplayer(self)) + { + self setmovespeedscale(0.4); + self allowjump(0); + self takeweapon("iw5_unarmed_nullattach"); + self giveweapon("s1_unarmed_water"); + self switchtoweapon("s1_unarmed_water"); + self allowcrouch(0); + self allowprone(0); + if(!isdefined(level.rumble_ent)) + { + level.rumble_ent = maps\_utility::get_rumble_ent("steady_rumble"); + } + + level.rumble_ent.intensity = 0.08; + } + + common_scripts\utility::flag_waitopen("flag_player_in_river"); + if(isplayer(self)) + { + self setmovespeedscale(0.8); + self allowjump(1); + self takeweapon("s1_unarmed_water"); + self giveweapon("iw5_unarmed_nullattach"); + self switchtoweapon("iw5_unarmed_nullattach"); + self allowsprint(1); + self allowcrouch(1); + self allowprone(1); + if(isdefined(level.rumble_ent)) + { + level.rumble_ent delete(); + level.rumble_ent = undefined; + stopallrumbles(); + } + } + } +} + +//Function Number: 267 +lerp_move_speed_scale(param_00,param_01,param_02) +{ + self notify("lerp_move_speed_scale"); + self endon("lerp_move_speed_scale"); + var_03 = gettime() * 0.001; + for(;;) + { + var_04 = gettime() * 0.001 - var_03; + if(var_04 >= param_02) + { + break; + } + + self setmovespeedscale(maps\_utility::linear_interpolate(var_04 / param_02,param_00,param_01)); + wait 0.05; + } + + self setmovespeedscale(param_01); +} + +//Function Number: 268 +open_hangar_doors() +{ + common_scripts\utility::flag_wait("player_in_hovertank"); + var_00 = getent("tank_hangar_garage_door_clip","targetname"); + var_00 delete(); + var_01 = getent("tank_hangar_garage_door","targetname"); + var_01.animname = "tank_hangar_garage_door"; + var_01 maps\_utility::assign_animtree(); + var_01 maps\_anim::anim_single_solo(var_01,"lab_tank_hanger_door_open"); +} + +//Function Number: 269 +courtyard_gate_think(param_00) +{ + var_01 = getentarray("courtyard_perimeter_gate_instance_0" + param_00,"script_noteworthy"); + var_02 = undefined; + foreach(var_04 in var_01) + { + if(var_04.classname == "script_model") + { + var_02 = var_04; + break; + } + } + + var_06 = spawnstruct(); + var_06.origin = var_02.origin; + if(isdefined(var_02.angles)) + { + var_06.angles = var_02.angles; + } + + var_02.animname = "perimeter_gate"; + var_02 maps\_utility::assign_animtree(); + var_07 = getent(var_02.target,"targetname"); + var_08 = getent(var_07.target,"targetname"); + var_07 disconnectpaths(); + var_08 connectpaths(); + var_08 notsolid(); + common_scripts\utility::flag_wait("player_in_hovertank"); + var_02 maps\_anim::anim_first_frame_solo(var_02,"opened"); + var_08 disconnectpaths(); + var_08 solid(); + var_07 connectpaths(); + var_07 delete(); + maps\_utility::deletestruct_ref(var_06); +} + +//Function Number: 270 +courtyard_gate_take_damage(param_00) +{ + common_scripts\utility::flag_wait("player_in_hovertank"); + var_01 = "flag_courtyard_gate_0" + param_00 + "_explode"; + level endon(var_01); + self setcandamage(1); + var_02 = 500; + var_03 = 1000; + self.health = var_02 + var_03; + for(;;) + { + self waittill("damage",var_04,var_05,var_06,var_07,var_08,var_09,var_0A,var_0B,var_0C,var_0D); + if(var_05 != level.player) + { + self.health = self.health + var_04; + continue; + } + + if(self.health <= var_03) + { + common_scripts\utility::flag_set(var_01); + } + } +} + +//Function Number: 271 +setup_triggers() +{ + var_00 = getentarray("trigs_tank_combat","targetname"); + foreach(var_02 in var_00) + { + var_02 common_scripts\utility::trigger_off(); + } + + common_scripts\utility::flag_wait("flag_obj_tank_complete"); + foreach(var_02 in var_00) + { + var_02 common_scripts\utility::trigger_on(); + } +} + +//Function Number: 272 +research_building_enemy_think() +{ + self endon("death"); + self setgoalvolumeauto(getent("info_v_combat_research_01","targetname")); + common_scripts\utility::flag_wait("flag_combat_research_02"); + self cleargoalvolume(); + self setgoalvolumeauto(getent("info_v_combat_pool_room_01","targetname")); + common_scripts\utility::flag_wait("flag_combat_research_03"); + while(!common_scripts\utility::flag("flag_player_inside_foam_room")) + { + common_scripts\utility::flag_wait_any("flag_combat_research_04","flag_combat_research_04_bottom"); + if(common_scripts\utility::flag("flag_combat_research_04")) + { + self cleargoalvolume(); + self setgoalvolumeauto(getent("info_v_combat_pool_room_03","targetname")); + continue; + } + + if(common_scripts\utility::flag("flag_combat_research_04_bottom")) + { + self cleargoalvolume(); + self setgoalvolumeauto(getent("info_v_combat_pool_room_bottom","targetname")); + } + + wait 0.05; + } + + self cleargoalvolume(); + maps\_utility::player_seek(); +} + +//Function Number: 273 +facility_bridge_enemy_think() +{ + self endon("death"); + self setgoalvolumeauto(getent("info_v_combat_facility_bridge_01","targetname")); + common_scripts\utility::flag_wait("flag_combat_facility_bridge_seek_player"); + self cleargoalvolume(); + maps\_utility::player_seek(); +} + +//Function Number: 274 +pool_building_walkway_01_enemy_think() +{ + self endon("death"); + self setgoalvolumeauto(getent("info_v_combat_pool_room_walkway_02","targetname")); + common_scripts\utility::flag_wait("flag_guys_pool_bldg_01_seek_player"); + self cleargoalvolume(); + maps\_utility::player_seek(); +} + +//Function Number: 275 +research_right_01_enemy_think() +{ + self endon("death"); + self setgoalvolumeauto(getent("info_v_combat_pool_room_walkway_03","targetname")); + common_scripts\utility::flag_wait("flag_guys_research_right_01_seek_player"); + self cleargoalvolume(); + maps\_utility::player_seek(); +} + +//Function Number: 276 +research_left_01_enemy_think() +{ + self endon("death"); + if(randomint(2) == 0) + { + self setgoalvolumeauto(getent("info_v_combat_pool_room_walkway_04","targetname")); + } + else + { + self setgoalvolumeauto(getent("info_v_combat_pool_room_walkway_05","targetname")); + } + + common_scripts\utility::flag_wait("flag_guys_research_left_01_seek_player"); + self cleargoalvolume(); + maps\_utility::player_seek(); +} + +//Function Number: 277 +research_left_lower_01_enemy_think() +{ + self endon("death"); + self cleargoalvolume(); + self setgoalvolumeauto(getent("info_v_combat_pool_room_platform","targetname")); + while(!common_scripts\utility::flag("flag_player_inside_foam_room")) + { + common_scripts\utility::flag_wait_any("flag_combat_research_04","flag_combat_research_04_bottom"); + if(common_scripts\utility::flag("flag_combat_research_04")) + { + self cleargoalvolume(); + self setgoalvolumeauto(getent("info_v_combat_pool_room_03","targetname")); + continue; + } + + if(common_scripts\utility::flag("flag_combat_research_04_bottom")) + { + self cleargoalvolume(); + self setgoalvolumeauto(getent("info_v_combat_pool_room_bottom","targetname")); + } + + wait 0.05; + } + + self cleargoalvolume(); + maps\_utility::player_seek(); +} + +//Function Number: 278 +research_right_lower_01_enemy_think() +{ + self endon("death"); + self setgoalvolumeauto(getent("info_v_combat_pool_room_bottom_03","targetname")); + while(!common_scripts\utility::flag("flag_player_inside_foam_room")) + { + common_scripts\utility::flag_wait_any("flag_combat_research_04","flag_combat_research_04_bottom"); + if(common_scripts\utility::flag("flag_combat_research_04")) + { + self cleargoalvolume(); + self setgoalvolumeauto(getent("info_v_combat_pool_room_03","targetname")); + continue; + } + + if(common_scripts\utility::flag("flag_combat_research_04_bottom")) + { + self cleargoalvolume(); + self setgoalvolumeauto(getent("info_v_combat_pool_room_bottom","targetname")); + } + + wait 0.05; + } + + self cleargoalvolume(); + maps\_utility::player_seek(); +} + +//Function Number: 279 +research_platform_enemy_think() +{ + self endon("death"); + self setgoalvolumeauto(getent("info_v_combat_pool_room_platform","targetname")); + common_scripts\utility::flag_wait("flag_combat_research_05"); + common_scripts\utility::flag_wait("flag_foam_room_combat_clear_out"); + self cleargoalvolume(); + maps\_utility::player_seek(); +} + +//Function Number: 280 +pool_building_enemy_think() +{ + self endon("death"); + self cleargoalvolume(); + self setgoalvolumeauto(getent("info_v_combat_pool_room_03","targetname")); + while(!common_scripts\utility::flag("flag_player_inside_foam_room")) + { + common_scripts\utility::flag_wait_any("flag_combat_research_04","flag_combat_research_04_bottom"); + if(common_scripts\utility::flag("flag_combat_research_04")) + { + self cleargoalvolume(); + self setgoalvolumeauto(getent("info_v_combat_pool_room_03","targetname")); + continue; + } + + if(common_scripts\utility::flag("flag_combat_research_04_bottom")) + { + self cleargoalvolume(); + self setgoalvolumeauto(getent("info_v_combat_pool_room_bottom","targetname")); + } + + wait 0.05; + } + + self cleargoalvolume(); + maps\_utility::player_seek(); +} + +//Function Number: 281 +courtyard_goal_volume_trigger_think() +{ + var_00 = common_scripts\utility::get_target_ent(); + level endon("flag_obj_courtyard_jammer_start"); + for(;;) + { + self waittill("trigger"); + if(var_00 != level.courtyard_goal_volume) + { + level.courtyard_goal_volume = var_00; + level notify("courtyard_enemy_update_goal"); + } + + wait(0.5); + } +} + +//Function Number: 282 +courtyard_goal_volume_trigger_b_think() +{ + var_00 = common_scripts\utility::get_target_ent(); + level endon("flag_obj_tank_02"); + for(;;) + { + self waittill("trigger"); + if(var_00 != level.courtyard_goal_volume) + { + level.courtyard_goal_volume = var_00; + level notify("courtyard_enemy_update_goal"); + } + + wait(0.5); + } +} + +//Function Number: 283 +combat_courtyard_general_01_think() +{ + self endon("death"); + common_scripts\utility::flag_wait_any("flag_combat_courtyard_path_left_01","flag_combat_courtyard_path_left_02","flag_combat_courtyard_path_right_02"); + maps\_utility::ai_delete_when_out_of_sight([self],512); +} + +//Function Number: 284 +combat_courtyard_path_left_00_think() +{ + self endon("death"); + common_scripts\utility::flag_wait_any("flag_combat_courtyard_path_middle_02","flag_combat_courtyard_path_right_01"); + maps\_utility::ai_delete_when_out_of_sight([self],640); +} + +//Function Number: 285 +combat_courtyard_path_left_01_think() +{ + self endon("death"); + common_scripts\utility::flag_wait_any("flag_combat_courtyard_path_middle_01","flag_combat_courtyard_path_middle_02","flag_combat_courtyard_path_right_01","flag_combat_courtyard_path_right_01"); + maps\_utility::ai_delete_when_out_of_sight([self],640); +} + +//Function Number: 286 +combat_courtyard_path_left_02_think() +{ + self endon("death"); + common_scripts\utility::flag_wait_any("flag_combat_courtyard_path_middle_02","flag_combat_courtyard_path_middle_03","flag_combat_courtyard_path_right_02","flag_combat_courtyard_path_right_02"); + maps\_utility::ai_delete_when_out_of_sight([self],640); +} + +//Function Number: 287 +combat_courtyard_path_left_03_think() +{ + self endon("death"); + common_scripts\utility::flag_wait_any("flag_combat_courtyard_path_middle_03","flag_combat_courtyard_path_right_03"); + maps\_utility::ai_delete_when_out_of_sight([self],640); +} + +//Function Number: 288 +combat_courtyard_path_middle_01_think() +{ + self endon("death"); + maps\lab_utility::equip_microwave_grenade(); + common_scripts\utility::flag_wait_any("flag_combat_courtyard_path_left_01","flag_combat_courtyard_path_right_01","flag_combat_courtyard_path_right_02"); + maps\_utility::ai_delete_when_out_of_sight([self],640); +} + +//Function Number: 289 +combat_courtyard_path_middle_02_think() +{ + self endon("death"); + maps\lab_utility::equip_microwave_grenade(); + common_scripts\utility::flag_wait_any("flag_combat_courtyard_path_left_01","flag_combat_courtyard_path_left_02","flag_combat_courtyard_path_right_01","flag_combat_courtyard_path_right_02"); + maps\_utility::ai_delete_when_out_of_sight([self],640); +} + +//Function Number: 290 +combat_courtyard_path_middle_03_think() +{ + self endon("death"); + maps\lab_utility::equip_microwave_grenade(); + common_scripts\utility::flag_wait_any("flag_combat_courtyard_path_left_02","flag_combat_courtyard_path_left_03","flag_combat_courtyard_path_right_02","flag_combat_courtyard_path_right_02"); + maps\_utility::ai_delete_when_out_of_sight([self],640); +} + +//Function Number: 291 +combat_courtyard_path_right_01_think() +{ + self endon("death"); + maps\lab_utility::equip_microwave_grenade(); + common_scripts\utility::flag_wait_any("flag_combat_courtyard_path_left_00","flag_combat_courtyard_path_left_01","flag_combat_courtyard_path_middle_02"); + maps\_utility::ai_delete_when_out_of_sight([self],640); +} + +//Function Number: 292 +combat_courtyard_path_right_02_think() +{ + self endon("death"); + maps\lab_utility::equip_microwave_grenade(); + common_scripts\utility::flag_wait_any("flag_combat_courtyard_path_left_01","flag_combat_courtyard_path_left_02","flag_combat_courtyard_path_middle_02","flag_combat_courtyard_path_middle_03"); + maps\_utility::ai_delete_when_out_of_sight([self],640); +} + +//Function Number: 293 +combat_courtyard_path_right_03_think() +{ + self endon("death"); + maps\lab_utility::equip_microwave_grenade(); + common_scripts\utility::flag_wait_any("flag_combat_courtyard_path_left_02","flag_combat_courtyard_path_left_03","flag_combat_courtyard_path_middle_02","flag_combat_courtyard_path_middle_02"); + maps\_utility::ai_delete_when_out_of_sight([self],640); +} + +//Function Number: 294 +courtyard_enemy_initial_think() +{ + self endon("death"); + self.fixednode = 1; + wait(randomfloatrange(30,40)); + self.fixednode = 0; + while(!isdefined(level.courtyard_goal_volume)) + { + wait(1); + } + + for(;;) + { + level waittill("courtyard_enemy_update_goal"); + self setgoalvolumeauto(level.courtyard_goal_volume); + wait(1); + } +} + +//Function Number: 295 +courtyard_enemy_think() +{ + self endon("death"); + while(!isdefined(level.courtyard_goal_volume)) + { + wait(1); + } + + for(;;) + { + level waittill("courtyard_enemy_update_goal"); + self setgoalvolumeauto(level.courtyard_goal_volume); + wait(1); + } +} + +//Function Number: 296 +courtyard_jammer_ladder_enemy_think() +{ + self endon("death"); + wait(randomfloatrange(20,25)); + while(!isdefined(level.courtyard_goal_volume)) + { + wait(1); + } + + for(;;) + { + level waittill("courtyard_enemy_update_goal"); + self setgoalvolumeauto(level.courtyard_goal_volume); + wait(1); + } +} + +//Function Number: 297 +courtyard_enemy_sniper_fodder_think() +{ + self endon("death"); + maps\_utility::add_damage_function(::courtyard_enemy_sniper_fodder_damage_function); + thread courtyard_enemy_sniper_fodder_track(); + self.fixednode = 1; + common_scripts\utility::flag_wait("flag_courtyard_sniper_sequence_complete"); + maps\_utility::remove_damage_function(::courtyard_enemy_sniper_fodder_damage_function); + self.fixednode = 0; + while(!isdefined(level.courtyard_goal_volume)) + { + wait(1); + } + + for(;;) + { + level waittill("courtyard_enemy_update_goal"); + self setgoalvolumeauto(level.courtyard_goal_volume); + wait(1); + } +} + +//Function Number: 298 +courtyard_enemy_sniper_fodder_track() +{ + level endon("flag_courtyard_sniper_sequence_complete"); + self waittill("death",var_00); + if(var_00 == level.player) + { + level notify("courtyard_enemy_sniped"); + } +} + +//Function Number: 299 +courtyard_enemy_sniper_fodder_count() +{ + level endon("flag_courtyard_sniper_sequence_complete"); + level waittill("courtyard_enemy_sniped"); + level waittill("courtyard_enemy_sniped"); + level waittill("courtyard_enemy_sniped"); + level waittill("courtyard_enemy_sniped"); + common_scripts\utility::flag_set("flag_courtyard_sniper_sequence_complete"); +} + +//Function Number: 300 +courtyard_enemy_sniper_fodder_damage_function(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + if(param_01 == level.burke || param_01 == level.cormack) + { + if(self.health > 0) + { + self.health = self.health + param_00; + } + } +} + +//Function Number: 301 +courtyard_doormen_enemy_think() +{ + self endon("death"); + level waittill("remove_doormen"); + self delete(); +} + +//Function Number: 302 +courtyard_burke_defend_squad() +{ + var_00 = getnode("burke_defend_exterior","script_noteworthy"); + level.burke maps\_utility::disable_ai_color(); + level.burke.ignoreme = 1; + level.burke.ignoreall = 1; + level.burke.ignoresuppression = 1; + level.burke.goalradius = 32; + level.burke setgoalnode(var_00); + level.burke waittill("goal"); + level.burke.ignoreme = 0; + level.burke.ignoreall = 0; + level.burke.ignoresuppression = 0; +} + +//Function Number: 303 +courtyard_hangar_door_hack() +{ + common_scripts\utility::flag_wait("flag_courtyard_hangar_door_hack"); + maps\lab_utility::disable_all_fixed_scanners(); + var_00 = getent("bad_place_courtyard_stairs","targetname"); + badplace_brush("courtyard_stairs",-1,var_00,"axis"); + var_01 = getnode("burke_escort_exterior","script_noteworthy"); + var_02 = getnode("cormack_defend_exterior","script_noteworthy"); + level.knox.ignoreme = 1; + thread se_knox_courtyard_hangar_door_hack_open(); + level.burke setgoalnode(var_01); + level.cormack setgoalnode(var_02); + thread courtyard_traversal_jammer(); + var_03 = getent("bad_place_courtyard_roof","targetname"); + badplace_brush("courtyard_roof",-1,var_03,"axis"); + common_scripts\utility::flag_wait("flag_obj_jammer_complete"); + soundscripts\_snd::snd_message("aud_post_courtyard_emitters"); + thread courtyard_traversal_hangar(); + common_scripts\utility::flag_wait("flag_courtyard_sniper_sequence_complete"); + badplace_delete("courtyard_roof"); + thread courtyard_burke_defend_squad(); + common_scripts\utility::flag_set("flag_courtyard_hangar_door_hack_success"); + thread courtyard_hangar_door_open(); + var_04 = getent("trig_dmg_player_hangar","targetname"); + var_04 common_scripts\utility::trigger_off(); + thread courtyard_burke_enter_hangar_logic(); + thread courtyard_cormack_enter_hangar_logic(); + level.knox.ignoreme = 0; + common_scripts\utility::array_thread(getentarray("courtyard_traversal_forward01","script_noteworthy"),::common_scripts\utility::trigger_off); + common_scripts\utility::array_thread(getentarray("courtyard_traversal_backward01","script_noteworthy"),::common_scripts\utility::trigger_off); + common_scripts\utility::array_thread(getentarray("courtyard_traversal_forward02","script_noteworthy"),::common_scripts\utility::trigger_off); + var_05 = getnode("knox_defend_interior_02","script_noteworthy"); + var_06 = getnode("cormack_defend_interior_02","script_noteworthy"); + var_07 = getnode("knox_hack_interior","script_noteworthy"); + level.burke.goalradius = 32; + level.cormack.goalradius = 32; + level.knox.goalradius = 32; + level.burke setgoalnode(var_05); + level.cormack setgoalnode(var_06); + level.knox setgoalnode(var_07); + level.burke.ignoreall = 1; + level.burke.ignoresuppression = 1; + level.cormack.ignoreall = 1; + level.cormack.ignoresuppression = 1; + level.burke maps\_utility::enable_ai_color_dontmove(); + level.cormack maps\_utility::enable_ai_color_dontmove(); + level.knox maps\_utility::enable_ai_color_dontmove(); + common_scripts\utility::flag_wait("flag_obj_tank_02"); + badplace_delete("courtyard_stairs"); +} + +//Function Number: 304 +courtyard_hangar_door_logic() +{ + var_00 = getent("hangar_interior_volume","targetname"); + while(!common_scripts\utility::flag("hangar_door_closing")) + { + common_scripts\utility::flag_wait("flag_player_inside_hangar"); + if(level.burke istouching(var_00) && level.knox istouching(var_00) && level.cormack istouching(var_00)) + { + var_01 = getent("bad_place_courtyard_exit_platform","targetname"); + badplace_brush("courtyard_exit_platform",-1,var_01,"allies"); + common_scripts\utility::flag_set("hangar_door_closing"); + var_02 = common_scripts\utility::getstruct("knox_courtyard_hangar_door_hack_close_org","targetname"); + var_02.origin = level.knox.origin; + var_02.angles = level.knox.angles; + common_scripts\utility::flag_set("flag_obj_tank_02"); + thread courtyard_hangar_door_close(); + var_03 = common_scripts\utility::getstruct("org_courtyard_rpg_02","targetname"); + var_04 = undefined; + switch(randomintrange(0,3)) + { + case 0: + var_04 = common_scripts\utility::getstruct("dest_courtyard_rpg_02_a","targetname"); + break; + + case 1: + var_04 = common_scripts\utility::getstruct("dest_courtyard_rpg_02_b","targetname"); + break; + + case 2: + var_04 = common_scripts\utility::getstruct("dest_courtyard_rpg_02_c","targetname"); + break; + } + + var_05 = magicbullet("rpg_straight",var_03.origin,var_04.origin); + var_06 = 0.6; + var_05 soundscripts\_snd::snd_message("courtyard_hangar_door_close_rpg",var_04.origin,var_06); + wait(var_06); + var_07 = distance(level.player.origin,var_04.origin); + if(var_07 < 200) + { + thread maps\lab_utility::rumble_heavy_1(); + } + else if(var_07 < 500) + { + thread maps\lab_utility::rumble_heavy(); + } + + var_05 delete(); + badplace_delete("courtyard_exit_platform"); + var_08 = getent("courtyard_hangar_door_l","targetname"); + var_08 playsound("detpack_explo_metal"); + earthquake(0.5,0.5,var_08.origin,3000); + level.player playrumbleonentity("damage_heavy"); + continue; + } + + wait(0.1); + } + + var_09 = getent("courtyard_door_clip","targetname"); + var_09 solid(); + var_09 disconnectpaths(); + thread maps\_utility::autosave_by_name("courtyard_exited"); +} + +//Function Number: 305 +courtyard_glowing_ladders() +{ + common_scripts\utility::flag_wait("flag_obj_courtyard_jammer_start"); + var_00 = getent("jammer_ladder_interior","targetname"); + var_01 = getent("jammer_ladder_exterior","targetname"); + var_00 setmodel("safety_ladder_196_obj"); + var_01 setmodel("safety_ladder_196_obj"); + common_scripts\utility::flag_wait_either("flag_courtyard_ladder_touching","flag_obj_jammer_complete"); + var_00 setmodel("safety_ladder_196"); + var_01 setmodel("safety_ladder_196"); +} + +//Function Number: 306 +courtyard_jammer_scene() +{ + common_scripts\utility::flag_wait("flag_obj_courtyard_jammer_start"); + thread courtyard_glowing_ladders(); + common_scripts\utility::flag_set("aud_start_jammer"); + var_00 = common_scripts\utility::getstruct("org_jammer_1","targetname"); + var_01 = "jammerplant_1"; + var_02 = maps\_utility::spawn_anim_model("jammer"); + var_00 thread maps\_anim::anim_single_solo(var_02,var_01); + maps\_utility::delaythread(0.05,::maps\_anim::anim_set_time,[var_02],var_01,1); + maps\_anim::anim_set_rate_single(var_02,var_01,0); + var_02 setmodel("vm_jamming_device_obj"); + common_scripts\utility::flag_wait("flag_obj_jammer_interact"); + common_scripts\utility::flag_set("flag_combat_courtyard_jammer_complete"); + thread maps\lab_lighting::courtyard_jammer_plant_dof(); + soundscripts\_snd::snd_message("courtyard_end_jammer"); + level.player enableinvulnerability(); + var_03 = maps\_utility::spawn_anim_model("player_rig_intro"); + var_03 hide(); + maps\_utility::delaythread(1.15,::player_jammer_movie); + var_00 maps\_anim::anim_first_frame_solo(var_03,var_01); + level.player maps\_shg_utility::setup_player_for_scene(1); + maps\_player_exo::player_exo_deactivate(); + var_02 common_scripts\utility::delaycall(0.9,::delete); + var_04 = maps\_utility::spawn_anim_model("jammer"); + var_05 = [var_03,var_04]; + level.player playerlinktoblend(var_03,"tag_player",0.4); + var_04 setmodel("vm_jamming_device"); + wait(0.5); + var_03 show(); + thread courtyard_jammer_rumbles(); + var_00 maps\_anim::anim_single(var_05,var_01); + level.player disableinvulnerability(); + level notify("reset_jammer_plant_dof"); + level.player maps\_shg_utility::setup_player_for_gameplay(); + maps\_player_exo::player_exo_activate(); + var_03 delete(); + level.player unlink(); + common_scripts\utility::flag_set("flag_obj_jammer_complete"); +} + +//Function Number: 307 +courtyard_jammer_rumbles() +{ + maps\lab_utility::setup_level_rumble_ent(); + wait(0.5); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.2,0.2); + wait(0.5); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.2,0.3); + wait(0.5); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.5,0.2); +} + +//Function Number: 308 +player_jammer_movie() +{ + setsaveddvar("cg_cinematicfullscreen","0"); + cinematicingame("jammer_ui_loop"); + thread stop_jammer_movie(); +} + +//Function Number: 309 +stop_jammer_movie() +{ + level waittill("flag_obj_tank_02"); + stopcinematicingame(); +} + +//Function Number: 310 +courtyard_burke_enter_hangar_logic() +{ + var_00 = getent("hangar_interior_volume","targetname"); + common_scripts\utility::flag_wait("flag_player_inside_hangar"); + level.burke.ignoreall = 1; + level.burke.ignoresuppression = 1; + while(!level.burke istouching(var_00)) + { + wait(0.1); + } + + level.burke.ignoreall = 0; + level.burke.ignoresuppression = 0; +} + +//Function Number: 311 +courtyard_cormack_enter_hangar_logic() +{ + var_00 = getent("hangar_interior_volume","targetname"); + common_scripts\utility::flag_wait("flag_player_inside_hangar"); + level.cormack.ignoreall = 1; + level.cormack.ignoresuppression = 1; + while(!level.burke istouching(var_00)) + { + wait(0.1); + } + + level.cormack.ignoreall = 0; + level.cormack.ignoresuppression = 0; +} + +//Function Number: 312 +courtyard_hangar_door_open() +{ + var_00 = getent("courtyard_hangar_door_l","targetname"); + var_01 = getent("courtyard_hangar_door_r","targetname"); + var_02 = var_00 common_scripts\utility::get_target_ent(); + var_03 = var_01 common_scripts\utility::get_target_ent(); + var_02 linkto(var_00); + var_03 linkto(var_01); + var_04 = common_scripts\utility::getstruct("courtyard_hanger_door_l_opened","targetname"); + var_05 = common_scripts\utility::getstruct("courtyard_hanger_door_r_opened","targetname"); + var_06 = 0.75; + var_00 moveto(var_04.origin,var_06,0.25,0.25); + var_01 moveto(var_05.origin,var_06,0.25,0.25); + wait(var_06); + var_02 connectpaths(); + var_03 connectpaths(); +} + +//Function Number: 313 +courtyard_hangar_door_close() +{ + soundscripts\_snd::snd_message("aud_courtyard_hangar_door_close"); + var_00 = getent("courtyard_hangar_door_l","targetname"); + var_01 = getent("courtyard_hangar_door_r","targetname"); + var_02 = var_00 common_scripts\utility::get_target_ent(); + var_03 = var_01 common_scripts\utility::get_target_ent(); + var_02 linkto(var_00); + var_03 linkto(var_01); + var_04 = common_scripts\utility::getstruct("courtyard_hanger_door_closed","targetname"); + var_05 = 0.5; + var_00 moveto(var_04.origin,var_05,0.25,0.25); + var_01 moveto(var_04.origin,var_05,0.25,0.25); + wait(var_05); + var_02 disconnectpaths(); + var_03 disconnectpaths(); +} + +//Function Number: 314 +courtyard_intro_magic_bullets() +{ + var_00 = common_scripts\utility::getstruct("org_courtyard_magicbullet_01","targetname"); + var_01 = common_scripts\utility::getstruct("org_courtyard_magicbullet_02","targetname"); + var_02 = common_scripts\utility::getstruct("org_courtyard_magicbullet_03","targetname"); + var_03 = common_scripts\utility::getstruct("dest_courtyard_magicbullet_01","targetname"); + var_04 = common_scripts\utility::getstruct("dest_courtyard_magicbullet_02","targetname"); + var_05 = common_scripts\utility::getstruct("dest_courtyard_magicbullet_03","targetname"); + common_scripts\utility::flag_wait("courtyard_intro_magic_bullets"); + magicbullet("iw5_bal27_sp",var_00.origin,var_03.origin); + wait(0.2); + for(var_06 = 0;var_06 < 5;var_06++) + { + magicbullet("iw5_bal27_sp",var_01.origin,var_04.origin); + wait(0.1); + } + + wait(0.2); + for(var_06 = 0;var_06 < 4;var_06++) + { + magicbullet("iw5_bal27_sp",var_02.origin,var_05.origin); + wait(0.1); + } +} + +//Function Number: 315 +courtyard_traversal_initial() +{ + var_00 = getent("courtyard_door_clip","targetname"); + var_00 notsolid(); + var_00 connectpaths(); + common_scripts\utility::array_thread(getentarray("courtyard_traversal_forward01","script_noteworthy"),::common_scripts\utility::trigger_on); + common_scripts\utility::array_thread(getentarray("courtyard_traversal_backward01","script_noteworthy"),::common_scripts\utility::trigger_off); + common_scripts\utility::array_thread(getentarray("courtyard_traversal_forward02","script_noteworthy"),::common_scripts\utility::trigger_off); +} + +//Function Number: 316 +courtyard_traversal_jammer() +{ + var_00 = getent("courtyard_door_clip","targetname"); + var_00 solid(); + var_00 disconnectpaths(); + common_scripts\utility::array_thread(getentarray("courtyard_traversal_forward01","script_noteworthy"),::common_scripts\utility::trigger_off); + common_scripts\utility::array_thread(getentarray("courtyard_traversal_backward01","script_noteworthy"),::common_scripts\utility::trigger_on); + common_scripts\utility::array_thread(getentarray("courtyard_traversal_forward02","script_noteworthy"),::common_scripts\utility::trigger_off); +} + +//Function Number: 317 +courtyard_traversal_hangar() +{ + var_00 = getent("courtyard_door_clip","targetname"); + var_00 notsolid(); + var_00 connectpaths(); + common_scripts\utility::array_thread(getentarray("courtyard_traversal_forward01","script_noteworthy"),::common_scripts\utility::trigger_off); + common_scripts\utility::array_thread(getentarray("courtyard_traversal_backward01","script_noteworthy"),::common_scripts\utility::trigger_off); + common_scripts\utility::array_thread(getentarray("courtyard_traversal_forward02","script_noteworthy"),::common_scripts\utility::trigger_on); +} + +//Function Number: 318 +courtyard_traversal_tank() +{ + common_scripts\utility::array_thread(getentarray("courtyard_traversal_forward01","script_noteworthy"),::common_scripts\utility::trigger_off); + common_scripts\utility::array_thread(getentarray("courtyard_traversal_backward01","script_noteworthy"),::common_scripts\utility::trigger_off); + common_scripts\utility::array_thread(getentarray("courtyard_traversal_forward02","script_noteworthy"),::common_scripts\utility::trigger_off); +} + +//Function Number: 319 +se_hovertank_reveal() +{ + var_00 = common_scripts\utility::getstruct("hovertank_reveal_org","targetname"); + common_scripts\utility::flag_wait("flag_foam_corridor_exit"); + for(var_01 = 1;var_01 <= 4;var_01++) + { + getent("lab_tank_lift_0" + var_01,"script_noteworthy") thread se_hovertank_reveal_lift_think(var_01); + } + + common_scripts\utility::flag_set("flag_obj_tank_04"); + common_scripts\utility::flag_wait("flag_hovertank_reveal_scene"); + common_scripts\utility::flag_set("flag_obj_tank_05"); + common_scripts\utility::flag_wait("flag_hovertank_reveal_scene_started"); + maps\_utility::autosave_by_name(); + common_scripts\utility::flag_set("flag_tank_hangar_reveal_dialogue"); + soundscripts\_snd::snd_message("hover_tank_startup_sequence"); + thread maps\lab_lighting::stair_wait(); + maps\_utility::delaythread(37,::allow_player_hovertank_mount,var_00); +} + +//Function Number: 320 +se_hovertank_reveal_actor(param_00,param_01) +{ + var_02 = "hovertank_reveal_approach"; + var_03 = "hovertank_reveal_loop"; + var_04 = "hovertank_reveal"; + var_05 = "hovertank_reveal_loop_ender"; + var_06 = "hovertank_static_ender"; + var_07 = spawn("script_origin",param_01.origin); + if(isdefined(param_01.angles)) + { + var_07.angles = param_01.angles; + } + + if(param_00.animname != "hovertank") + { + if(param_00 == level.knox) + { + level.knox.goalradius = 16; + level.knox setgoalnode(getnode("tank_hangar_knox_node","targetname")); + common_scripts\utility::flag_wait("flag_move_knox_to_console"); + } + + var_07 maps\_anim::anim_reach_solo(param_00,var_02); + if(param_00 == level.burke) + { + common_scripts\utility::flag_set("flag_tank_hangar_sweep_dialogue"); + } + + param_00 common_scripts\utility::delaycall(0.05,::setanimrate,param_00 maps\_utility::getanim(var_02),1.05); + var_07 maps\_anim::anim_single_solo(param_00,var_02); + var_07 thread maps\_anim::anim_loop_solo(param_00,var_03,var_05); + } + else + { + var_07 thread maps\_anim::anim_loop_solo(param_00,"hovertank_reveal_static",var_06); + } + + param_00.ready_for_reveal = 1; + common_scripts\utility::flag_wait("flag_hovertank_reveal_scene"); + var_08 = 1; + while(var_08) + { + var_08 = 0; + if(!isdefined(level.burke.ready_for_reveal) || !isdefined(level.cormack.ready_for_reveal)) + { + var_08 = 1; + } + + wait(0.05); + } + + var_07 notify(var_06); + common_scripts\utility::flag_set("flag_hovertank_reveal_scene_started"); + if(param_00 != level.knox) + { + var_07 notify(var_05); + if(param_00.animname == "hovertank") + { + var_07 thread maps\_anim::anim_single_solo(param_00,var_04); + param_00 thread maps\lab_utility::delete_on_notify(level,"hovertank_hide_exterior"); + common_scripts\utility::waittill_any_ents(var_07,var_04,level,"player_in_hovertank"); + if(!common_scripts\utility::flag("player_in_hovertank")) + { + if(isdefined(param_00)) + { + var_07 thread maps\_anim::anim_loop_solo(param_00,var_03,var_05); + } + } + } + else + { + param_00 common_scripts\utility::delaycall(0.05,::setanimrate,param_00 maps\_utility::getanim(var_04),1.05); + var_07 maps\_anim::anim_single_solo(param_00,var_04); + if(!common_scripts\utility::flag("player_in_hovertank")) + { + var_07 thread maps\_anim::anim_loop_solo(param_00,"hovertank_idle",var_05); + } + } + } + + common_scripts\utility::flag_wait("player_in_hovertank"); + if(isdefined(param_00)) + { + param_00 maps\_utility::anim_stopanimscripted(); + param_00.ready_for_reveal = undefined; + } + + var_07 notify(var_05); + wait 0.05; + var_07 delete(); + maps\_utility::deletestruct_ref(self); +} + +//Function Number: 321 +se_hovertank_reveal_lift_think(param_00) +{ + var_01 = "hovertank_reveal"; + self.animname = "htank_reveal_lift_0" + param_00; + maps\_utility::assign_animtree(); + maps\_anim::anim_first_frame_solo(self,var_01); + common_scripts\utility::flag_wait("flag_hovertank_reveal_scene_started"); + maps\_anim::anim_single_solo(self,var_01); +} + +//Function Number: 322 +allow_player_hovertank_mount(param_00) +{ + common_scripts\utility::flag_set("flag_obj_tank_06"); + var_01 = getent("hovertank_enter_trigger","targetname"); + var_01 waittill("trigger"); + if(!isdefined(param_00)) + { + param_00 = common_scripts\utility::getstruct("hovertank_reveal_org","targetname"); + } + + thread maps\lab_lighting::tank_board_enter(); + thread maps\lab_lighting::tank_board_enter_top_lights(); + common_scripts\utility::flag_set("player_entering_hovertank"); + common_scripts\utility::flag_set("flag_tank_board_dialogue"); + var_02 = level.hovertank.angles; + var_03 = level.hovertank.origin; + se_hovertank_mount(param_00); + level.hovertank vehicle_teleport(var_03,var_02,0,0); + level.player maps\_player_stats::toggle_register_kills_for_vehicle_occupants(0); + level.player thread mount_hovertank(1); + common_scripts\utility::flag_set("player_in_hovertank"); + common_scripts\utility::flag_set("flag_player_in_hovertank_dialogue"); + soundscripts\_snd::snd_message("aud_player_gets_in_tank"); + wait(0.5); + thread maps\_utility::autosave_by_name("tank_hangar"); + thread combat_tank_courtyard(); +} + +//Function Number: 323 +se_hovertank_mount(param_00) +{ + var_01 = spawn("script_origin",param_00.origin); + if(isdefined(param_00.angles)) + { + var_01.angles = param_00.angles; + } + + level.player_rig = maps\lab_utility::spawn_player_rig(); + level.player_rig hide(); + level.player_rig dontcastshadows(); + level.player maps\_shg_utility::setup_player_for_scene(0); + maps\_player_exo::player_exo_deactivate(); + var_02 = 0.5; + level.player playerlinktoblend(level.player_rig,"tag_player",var_02); + level.player_rig common_scripts\utility::delaycall(var_02,::show); + level notify("msg_vfx_player_in_tank"); + thread tank_hangar_door_close(); + var_03 = maps\_utility::spawn_anim_model("hovertank_interior",level.hovertank.origin); + var_03.angles = level.hovertank.angles; + var_03 setmaterialscriptparam(1,0); + var_03 hidepart("TAG_SHADOW_HIDE"); + var_04 = [level.player_rig,level.hovertank,var_03]; + var_05 = "hovertank_enter"; + var_01 thread maps\_anim::anim_single(var_04,var_05); + soundscripts\_snd::snd_message("hovertank_enter"); + level waittill("hovertank_enter_start_npcs"); + var_06 = [level.burke,level.cormack,level.knox]; + var_01 thread maps\_anim::anim_single(var_06,var_05); + thread maps\lab_lighting::tank_turrent_reflection(var_03,var_06); + level waittill("hovertank_show_interior"); + maps\_cloak::cloaked_stealth_disable_battery_hud(); + var_03 show(); + level waittill("hovertank_hide_exterior"); + level.hovertank hide(); + level.hovertank clearanim(level.scr_anim["hovertank"]["hovertank_enter"],0.2); + var_01 waittill(var_05); + var_03 delete(); + level.player unlink(); + level.player_rig delete(); +} + +//Function Number: 324 +mount_hovertank(param_00) +{ + setup_hovertank_combat(); + level notify("tank_switch"); + var_01 = vehicle_scripts\_hovertank::add_hovertank_turret(level.hovertank); + var_01 hidepart("TAG_BOOT"); + thread maps\lab_lighting::hovertank_turrent_light(var_01); + thread maps\lab_lighting::hovertank_turrent_reflection(var_01); + maps\_player_exo::player_exo_deactivate(); + level.player vehicle_scripts\_hovertank::hovertank_ride(level.hovertank,level.hovertank_turret); + level.use_hovertank_chromatic_aberration = 1; + if(isdefined(param_00) && param_00 == 1) + { + level.hovertank_turret thread vehicle_scripts\_hovertank::hoverscreen_reveal(3); + } + else + { + level.hovertank_turret thread vehicle_scripts\_hovertank::hoverscreen_reveal(1.5); + } + + level.burke thread ride_hovertank_ai(); + level.cormack thread ride_hovertank_ai(); + level.knox thread ride_hovertank_ai(); + var_01 setmodel("vehicle_mil_hovertank_simple_vm"); +} + +//Function Number: 325 +hoverscreen_damage_fx(param_00,param_01) +{ + if(!isdefined(param_00)) + { + param_00 = 0.25; + } + + if(!isdefined(param_01)) + { + param_01 = 1; + } + + level.hovertank_turret setmaterialscriptparam(1,0.1); + wait(param_00); + level.hovertank_turret setmaterialscriptparam(0,0.1); +} + +//Function Number: 326 +hoverscreen_restore(param_00) +{ + level.hovertank_turret setmaterialscriptparam(0,param_00); +} + +//Function Number: 327 +setup_hovertank_combat() +{ + setsaveddvar("r_hudoutlinewidth",1); + setsaveddvar("r_hudoutlinepostmode",2); + setsaveddvar("r_hudoutlinehalolumscale",0.75); + setsaveddvar("r_hudoutlinehaloblurradius",0.35); + maps\_utility::battlechatter_off("allies"); + maps\_utility::battlechatter_off("axis"); + maps\_utility::delaythread(0.05,::delete_mobile_cover); + maps\lab_utility::hovertank_setup_hint_data(); + maps\_utility::array_spawn_function_noteworthy("tank_courtyard_enemy",::tank_battle_rpg_enemy_think); + maps\_utility::array_spawn_function_noteworthy("tank_combat_warbird",::tank_combat_warbird_think); + maps\_utility::array_spawn_function_noteworthy("tank_combat_vrap",::tank_combat_vrap); + var_00 = getentarray("vrap_placed","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 thread tank_combat_vrap(); + } + + maps\_utility::array_spawn_function_noteworthy("tank_combat_littlebird",::tank_combat_littlebird_think); + maps\_utility::array_spawn_function_noteworthy("tank_battle_enemy_tank",::enemy_tank_ai_think); + maps\_utility::array_spawn_function_noteworthy("tank_road_enemy",::tank_road_enemy_think); + maps\_utility::add_global_spawn_function("axis",::hovertank_combat_global_enemy_think); + maps\_utility::array_spawn_function_noteworthy("tank_combat_field_flee_guy",::combat_tank_field_flee_guys_think); + common_scripts\utility::array_thread(getentarray("destructible_trailer_collision","script_noteworthy"),::maps\lab_utility::destructible_trailer_collision_think); + common_scripts\utility::array_thread(getentarray("can_tip","script_noteworthy"),::maps\lab_utility::can_tip_think); + common_scripts\utility::array_thread(getentarray("log_pile_scripted","script_noteworthy"),::maps\lab_utility::log_pile_scripted_think); + common_scripts\utility::array_thread(getentarray("trigger_spawn_and_set_flag","script_noteworthy"),::maps\lab_utility::trigger_spawn_and_set_flag_think); + maps\_utility::array_spawn_function_noteworthy("tank_battle_rpg_enemy",::tank_battle_rpg_enemy_think); + level.vehiclespawncallbackthread = ::lab_vehicle_callback; + thread courtyard_scripted_props_staged_wakeup(); + thread hovertank_combat_road_log_scene(); + thread hovertank_combat_clearing_choppers_1(); + thread hovertank_combat_clearing_choppers_3(); + thread hovertank_ascent_final_enemies(); + thread hovertank_combat_cleanup(); + level.hovertank thread hovertank_monitor_status(); + thread hovertank_checkpoint_logic(); + common_scripts\utility::array_thread(getentarray("destructible_boxtruck","script_noteworthy"),::maps\lab_utility::destructible_boxtruck_think); + level maps\_utility::waittillthread("hovertank_end",::cleanup_hovertank_combat); +} + +//Function Number: 328 +disable_static_mobile_cover() +{ + var_00 = getentarray("static_mobile_cover","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 vehicle_scripts\_cover_drone::cover_drone_disable(); + } +} + +//Function Number: 329 +delete_mobile_cover() +{ + var_00 = getentarray("script_vehicle_cover_drone","classname"); + foreach(var_02 in var_00) + { + if(isdefined(var_02)) + { + var_02 delete(); + } + } +} + +//Function Number: 330 +cleanup_hovertank_combat() +{ + maps\_utility::remove_global_spawn_function("axis",::hovertank_combat_global_enemy_think); +} + +//Function Number: 331 +hovertank_checkpoint_logic() +{ + level.hovertank endon("hovertank_done"); + var_00 = 0; + for(;;) + { + if(issaverecentlyloaded() && !var_00) + { + var_00 = 1; + if(common_scripts\utility::flag("hovertank_clearing_reached")) + { + if(level.hovertank vehicle_scripts\_hovertank::get_trophy_ammo() < 60) + { + level.hovertank vehicle_scripts\_hovertank::set_trophy_ammo(60); + } + } + else if(common_scripts\utility::flag("hovertank_road_reached")) + { + if(level.hovertank vehicle_scripts\_hovertank::get_trophy_ammo() < 80) + { + level.hovertank vehicle_scripts\_hovertank::set_trophy_ammo(80); + } + } + else + { + } + } + else if(!issaverecentlyloaded()) + { + var_00 = 0; + } + + wait(0.1); + } +} + +//Function Number: 332 +courtyard_scripted_props_staged_wakeup() +{ + var_00 = getentarray("courtyard_scripted_props","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 courtyard_scripted_props_think(); + wait(0.05); + } +} + +//Function Number: 333 +courtyard_scripted_props_think() +{ + if(self.classname == "script_brushmodel") + { + self delete(); + return; + } + + if(self.classname == "script_model") + { + self physicslaunchclient(self.origin,(0,0,0)); + } +} + +//Function Number: 334 +hovertank_combat_global_enemy_think() +{ + maps\_utility::disable_long_death(); + self.dropweapon = 0; + self.grenadeammo = 0; + thread maps\lab_utility::hovertank_enemy_outline(4); + thread maps\lab_utility::hovertank_aimed_enemy_ai_weapon_hint(1,"missile"); + self endon("death"); + for(;;) + { + self waittill("damage",var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09); + if(isdefined(var_09)) + { + if(var_09 == "hovertank_antiair") + { + self.health = self.health + var_00; + continue; + } + + if(var_09 == "hovertank_missile_small") + { + self kill(var_03,var_01); + } + } + } +} + +//Function Number: 335 +lab_vehicle_callback(param_00) +{ + if(issubstr(param_00.classname,"low")) + { + param_00 maps\_utility::ent_flag_init("no_riders_until_unload"); + } +} + +//Function Number: 336 +hovertank_combat_road_log_scene() +{ + common_scripts\utility::flag_wait("hovertank_combat_road_log_scene"); + maps\_utility::delaythread(5,::common_scripts\utility::flag_set,"flag_tank_road_log_enemies_dialogue"); + if(!common_scripts\utility::flag("flag_log_pile_scripted_destroyed")) + { + maps\_utility::array_spawn_targetname("tank_road_log_enemy"); + } +} + +//Function Number: 337 +hovertank_combat_clearing_choppers_1() +{ + common_scripts\utility::flag_wait("flag_hovertank_combat_clearing_choppers_1"); + common_scripts\utility::flag_set("flag_tank_field_lz_over_ridge_dialogue"); +} + +//Function Number: 338 +hovertank_combat_clearing_choppers_3() +{ + common_scripts\utility::flag_wait("flag_hovertank_combat_clearing_choppers_3"); + common_scripts\utility::flag_set("flag_tank_clearing_infantry_dialogue"); +} + +//Function Number: 339 +hovertank_ascent_final_enemies() +{ + common_scripts\utility::flag_wait("flag_hovertank_ascent_final_enemies"); + common_scripts\utility::flag_set("flag_tank_ascent_dialogue"); +} + +//Function Number: 340 +hovertank_monitor_status() +{ + level endon("hovertank_end"); + var_00 = self.trophyammomax; + self.last_hit_callout_time = gettime(); + var_01 = 100; + for(;;) + { + self waittill("trophy_deployed",var_02); + if(self.trophyammo / self.trophyammomax < 0.75 && var_01 > 75) + { + level maps\_utility::dialogue_queue("lab_sir_trophysystemat75"); + var_01 = 75; + } + else if(self.trophyammo / self.trophyammomax < 0.5 && var_01 > 50) + { + level maps\_utility::dialogue_queue("lab_sir_trophysystemat50"); + var_01 = 50; + } + else if(self.trophyammo / self.trophyammomax < 0.25 && var_01 > 25) + { + level maps\_utility::dialogue_queue("lab_sir_trophysystemat25"); + var_01 = 25; + } + else if(self.trophyammo / self.trophyammomax <= 0.05 && var_01 > 0.05) + { + level maps\_utility::dialogue_queue("lab_sir_trophysystemcritical"); + var_01 = 0.05; + } + + if(self.trophyammo / self.trophyammomax < 0.8 && !isdefined(self.trophy80)) + { + self.trophy80 = 1; + level.burke maps\_utility::dialogue_queue("lab_gdn_weregettingbeatenup"); + continue; + } + + if(self.trophyammo / self.trophyammomax < 0.6 && !isdefined(self.trophy60)) + { + self.trophy60 = 1; + level.burke maps\_utility::dialogue_queue("lab_gdn_wecanttakeanotherhit"); + continue; + } + + if(self.trophyammo / self.trophyammomax == 0 && !isdefined(self.health0)) + { + self.trophy0 = 1; + level.burke maps\_utility::dialogue_queue("lab_gdn_ourtrophysystemisempty"); + return; + } + else if(gettime() - self.last_hit_callout_time > 10000) + { + if(randomfloat(1) < 0.25) + { + if(isdefined(var_02)) + { + var_03 = vectortoangles(var_02 - level.hovertank.turret.origin); + var_04 = vectornormalize(var_02 - level.hovertank.turret.origin); + var_05 = anglestoright(level.hovertank.turret gettagangles("tag_aim_animated")); + var_06 = vectordot(var_05,var_04); + if(var_06 > 0.5) + { + var_07 = common_scripts\utility::cointoss(); + if(var_07) + { + level.burke maps\lab_vo::important_dialogue_queue("lab_gdn_firefromtheright"); + } + else + { + level.cormack maps\lab_vo::important_dialogue_queue("lab_crk_takingfirefromtheright"); + } + } + else if(var_06 < -0.5) + { + var_07 = common_scripts\utility::cointoss(); + if(var_07) + { + level.burke maps\lab_vo::important_dialogue_queue("lab_gdn_firefromtheleft"); + } + else + { + level.cormack maps\lab_vo::important_dialogue_queue("lab_crk_takingfirefromtheleft"); + } + } + } + } + } + } +} + +//Function Number: 341 +hovertank_combat_cleanup() +{ + level waittill("hovertank_end"); +} + +//Function Number: 342 +ride_hovertank_ai() +{ + self.no_friendly_fire_penalty = 1; + self forceteleport(level.hovertank.origin,level.hovertank.angles); + self linkto(level.hovertank); + self.ignoreall = 1; + self hideallparts(); + common_scripts\utility::flag_wait("flag_se_hovertank_exit"); + self showallparts(); + self.ignoreall = 0; + self unlink(); + self.no_friendly_fire_penalty = undefined; +} + +//Function Number: 343 +setup_hovertank() +{ + var_00 = getent("hovertank","targetname"); + level.hovertank = var_00 maps\_utility::spawn_vehicle(); + level.hovertank thread monitor_mobile_turret_health(); + level.hovertank makeunusable(); + level.hovertank.animname = "hovertank"; + if(isdefined(level.start_point)) + { + switch(level.start_point) + { + case "tank_ascent": + case "tank_field_right_fork": + case "tank_field_left_fork": + case "tank_field": + case "tank_road": + level.player maps\_player_stats::toggle_register_kills_for_vehicle_occupants(0); + thread mount_hovertank(); + break; + + default: + level.player maps\_player_stats::toggle_register_kills_for_vehicle_occupants(1); + break; + } + } +} + +//Function Number: 344 +tank_combat_vehicle_damage_feedback() +{ + self endon("death"); + thread maps\_utility::add_damagefeedback(); + common_scripts\utility::waittill_any("end_damage_feedback","hovertank_end"); + maps\_utility::remove_damagefeedback(); +} + +//Function Number: 345 +tank_combat_vrap() +{ + thread maps\lab_utility::destroy_self_when_nuked(); + thread maps\lab_utility::hovertank_enemy_outline(4); + thread tank_combat_vehicle_damage_feedback(); + if(!isdefined(self.damage_functions)) + { + self.damage_functions = []; + } + + maps\_utility::add_damage_function(::enemy_vrap_damage_function); + thread tank_combat_vrap_deactivate_on_unload(); + maps\_vehicle::vehicle_set_health(2000); + self waittill("death",var_00,var_01,var_02); + var_03 = maps\lab_utility::hovertank_enemy_outline_offset() + self.origin; + radiusdamage(var_03,400,150,150,level.player,"MOD_EXPLOSIVE"); + physicsexplosionsphere(var_03,400,150,2,0); +} + +//Function Number: 346 +tank_combat_vrap_deactivate_on_unload() +{ + self endon("death"); + self endon("hovertank_end"); + self waittill("unloaded"); + self notify("end_damage_feedback"); + self notify("end_highlight"); +} + +//Function Number: 347 +tank_combat_warbird_think() +{ + self endon("death"); + thread maps\_shg_utility::make_emp_vulnerable(); + thread tank_combat_vehicle_damage_feedback(); + maps\_utility::add_damage_function(::tank_combat_warbird_damage_function); + thread warbird_death_function(); + thread maps\lab_utility::warbird_heavy_shooting_think(1); + thread maps\lab_utility::destroy_self_when_nuked(); + thread maps\lab_utility::hovertank_enemy_outline(4); + thread maps\lab_utility::hovertank_aimed_enemy_vehicle_weapon_hint(2,"emp"); + maps\_vehicle::vehicle_set_health(1200); + self sethoverparams(360,50); + if(!isdefined(self.ent_flag["warbird_open_fire"])) + { + maps\_utility::ent_flag_init("warbird_open_fire"); + } + + maps\_utility::ent_flag_wait("warbird_open_fire"); + self notify("warbird_fire"); + maps\_utility::ent_flag_waitopen("warbird_open_fire"); + self notify("warbird_stop_firing"); +} + +//Function Number: 348 +tank_combat_warbird_damage_function(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ + if(param_01 == level.player && param_04 != "MOD_ENERGY" && param_00 > 499) + { + if(!isdefined(level.hovertank.choppersniped)) + { + level.burke maps\_utility::delaythread(0.5,::maps\lab_vo::important_dialogue_queue,"lab_gdn_niceshot"); + level.hovertank.choppersniped = 1; + self.sniped = 1; + } + else if(randomfloat(1) < 0.5) + { + level.burke maps\_utility::delaythread(0.5,::maps\lab_vo::important_dialogue_queue,"lab_gdn_niceshot"); + self.sniped = 1; + } + + self kill(param_03,param_01); + wait(0.05); + if(isdefined(self)) + { + self notify("crash_done"); + self notify("in_air_explosion"); + return; + } + + return; + } + + if(param_01 == level.player && param_04 == "MOD_ENERGY") + { + self endon("death"); + self endon("emp_death"); + wait(0.5); + if(isdefined(self.emp_crash) && self.emp_crash == 1) + { + return; + } + + if(!isdefined(level.hovertank.empedwarbird)) + { + level.burke maps\lab_vo::important_dialogue_queue("lab_gdn_fireagain"); + level.hovertank.empedwarbird = 1; + return; + } + + if(randomfloat(1) < 0.5) + { + if(common_scripts\utility::cointoss()) + { + level.burke maps\lab_vo::important_dialogue_queue("lab_gdn_hithimagain"); + return; + } + + level.burke maps\lab_vo::important_dialogue_queue("lab_gdn_fireagain"); + return; + } + + return; + } +} + +//Function Number: 349 +warbird_death_function() +{ + level.hovertank endon("death"); + self waittill("death"); + if(isdefined(self) && isdefined(self.sniped)) + { + return; + } + + wait(0.5); + check_restricted_airspace_achievement(); + if(!isdefined(level.hovertank.warbirdkilled)) + { + level.burke maps\lab_vo::important_dialogue_queue("lab_gdn_warbirdsdown"); + level.hovertank.warbirdkilled = 1; + return; + } + + if(randomfloat(1) < 0.25) + { + level.burke maps\lab_vo::important_dialogue_queue("lab_gdn_warbirdsdown"); + } +} + +//Function Number: 350 +check_restricted_airspace_achievement() +{ + if(!isdefined(level.restricted_airspace)) + { + level.restricted_airspace = 0; + } + + level.restricted_airspace++; + if(level.restricted_airspace >= 10) + { + maps\_utility::giveachievement_wrapper("LEVEL_10A"); + } +} + +//Function Number: 351 +tank_combat_littlebird_damage_function(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ + if(param_01 == level.player && param_04 != "MOD_ENERGY" && param_00 > 499) + { + self kill(self.origin,param_01); + wait(0.05); + if(isdefined(self)) + { + self notify("crash_done"); + self notify("in_air_explosion"); + } + } +} + +//Function Number: 352 +notify_warbird_when_killed(param_00) +{ + param_00 endon("death"); + self waittill("death"); + param_00 notify("rpg_guy_killed"); +} + +//Function Number: 353 +tank_combat_warbird_kill_is_crew_killed(param_00) +{ + self endon("death"); + for(;;) + { + self waittill("rpg_guy_killed"); + if(self.rpg_guys.size < 1) + { + self kill(); + } + } +} + +//Function Number: 354 +tank_combat_warbird_orient_to_open_fire() +{ + level.hovertank endon("death"); + if(!isdefined(self.lookatent)) + { + self.lookatent = spawn("script_origin",self.origin); + thread common_scripts\utility::delete_on_death(self.lookatent); + if(common_scripts\utility::cointoss()) + { + self.lookatent.origin = anglestoright(vectortoangles(self.origin - level.hovertank.origin)) * 1000 + self.origin; + } + else + { + self.lookatent.origin = anglestoright(vectortoangles(self.origin - level.hovertank.origin)) * -1000 + self.origin; + } + + self setlookatent(self.lookatent); + maps\_utility::ent_flag_waitopen("warbird_open_fire"); + self.lookatent delete(); + } +} + +//Function Number: 355 +tank_combat_warbird_liftoff_think() +{ + self endon("death"); + self vehicle_setspeed(15,60); + maps\_utility::ent_flag_init("warbird_open_fire"); + thread tank_combat_warbird_think(); + maps\_utility::delaythread(3,::maps\_utility::ent_flag_set,"warbird_open_fire"); + var_00 = common_scripts\utility::getstruct("warbird_liftoff_start_node","targetname"); + self setlookatent(level.hovertank); + maps\_utility::vehicle_liftoff(700); + self clearlookatent(); + thread maps\_vehicle::vehicle_paths(var_00); +} + +//Function Number: 356 +tank_combat_littlebird_think() +{ + self endon("death"); + thread maps\_shg_utility::make_emp_vulnerable(); + thread maps\lab_utility::destroy_self_when_nuked(); + thread maps\lab_utility::hovertank_enemy_outline(4); + thread tank_combat_vehicle_damage_feedback(); + thread maps\lab_utility::hovertank_aimed_enemy_vehicle_weapon_hint(2,"emp"); + maps\_utility::add_damage_function(::tank_combat_littlebird_damage_function); + self sethoverparams(360,50); + if(!isdefined(self.ent_flag["littlebird_open_fire"])) + { + maps\_utility::ent_flag_init("littlebird_open_fire"); + } + + maps\_utility::ent_flag_wait("littlebird_open_fire"); + foreach(var_01 in self.riders) + { + if(isalive(var_01) && isdefined(var_01.script_startingposition) && var_01.script_startingposition > 1) + { + var_01 thread littlebird_rpg_rider_think("littlebird_open_fire"); + } + } +} + +//Function Number: 357 +littlebird_rpg_rider_think(param_00) +{ + self endon("death"); + self.ridingvehicle endon("emp_death"); + if(isdefined(param_00)) + { + self.ridingvehicle endon(param_00); + } + + if(isdefined(level.hovertank)) + { + level.hovertank endon("death"); + self setentitytarget(level.hovertank.turret); + } + + wait(randomfloatrange(1,5)); + var_01 = 0.4; + for(;;) + { + if(!isdefined(self.enemy) || !self.ridingvehicle maps\_utility::ent_flag("littlebird_open_fire")) + { + wait(0.5); + continue; + } + + if(!self canshoot(level.player.origin + (0,0,64))) + { + wait(0.5); + continue; + } + + var_02 = vectornormalize(self.enemy.origin - self.origin); + var_03 = anglestoforward(self.angles); + var_04 = vectordot(var_03,var_02); + if(var_04 >= var_01) + { + playfxontag(common_scripts\utility::getfx("rpg_muzzle_flash"),self,"tag_flash"); + magicbullet("rpg_straight",self gettagorigin("tag_flash") + anglestoforward(self gettagangles("tag_flash")) * 20,self.enemy.origin); + wait(randomfloatrange(4,8)); + continue; + } + + wait(randomfloatrange(0.5,1.5)); + } +} + +//Function Number: 358 +tank_battle_rpg_enemy_think() +{ + level endon("hovertank_end"); + self endon("death"); + level.hovertank endon("death"); + self.dropweapon = 0; + self setentitytarget(level.hovertank); +} + +//Function Number: 359 +btr_turret_think() +{ + self endon("death"); + self endon("kill_btr_turret_think"); + thread maps\_vehicle::vehicle_turret_scan_on(); + for(;;) + { + wait(randomfloatrange(0.3,0.8)); + var_00 = btr_get_target(); + if(isdefined(var_00)) + { + btr_fire_at_target(var_00); + wait(0.3); + } + } +} + +//Function Number: 360 +btr_fire_at_target(param_00) +{ + param_00 endon("death"); + self setturrettargetent(param_00,(0,0,32)); + if(common_scripts\utility::cointoss()) + { + if(isdefined(self.mgturret)) + { + foreach(var_02 in self.mgturret) + { + if(isdefined(var_02)) + { + var_02 setturretteam("axis"); + var_02 setmode("manual"); + var_02 settargetentity(param_00); + var_02 startfiring(); + } + } + } + + wait(randomfloatrange(3,5)); + if(isdefined(self.mgturret)) + { + foreach(var_02 in self.mgturret) + { + if(isdefined(var_02)) + { + var_02 cleartargetentity(); + var_02 stopfiring(); + } + } + + return; + } + + return; + } + + for(var_06 = 0;var_06 < randomintrange(1,3);var_06++) + { + burst_fire_weapon(); + wait(0.5); + } +} + +//Function Number: 361 +burst_fire_weapon() +{ + for(var_00 = 0;var_00 < randomintrange(2,4);var_00++) + { + self fireweapon(); + wait(0.2); + } +} + +//Function Number: 362 +btr_get_target() +{ + var_00 = 4; + var_01 = getaiarray("allies"); + for(var_02 = 0;var_02 < var_00;var_02++) + { + var_01[var_01.size] = level.player; + } + + return common_scripts\utility::random(var_01); +} + +//Function Number: 363 +enemy_tank_ai_think() +{ + self endon("death"); + level.hovertank endon("death"); + thread maps\lab_utility::destroy_self_when_nuked(); + thread maps\lab_utility::hovertank_enemy_outline(4); + thread maps\lab_utility::hovertank_aimed_enemy_vehicle_weapon_hint(3,"cannon"); + var_00 = 100; + var_01 = 40; + maps\_vehicle::vehicle_set_health(1000); + maps\_utility::add_damage_function(::enemy_tank_damage_function); + thread enemy_tank_death_function(); + while(isdefined(self) && isalive(self)) + { + if(sighttracepassed(self.origin + (0,0,100),level.hovertank.origin + (0,0,var_00),0,self,level.hovertank)) + { + self.cur_tank_target = level.hovertank; + enemy_tank_aim(var_00,1); + if(isdefined(self.godmode) && self.godmode == 1) + { + maps\_vehicle::godoff(); + } + + continue; + } + + wait(0.1); + } +} + +//Function Number: 364 +enemy_tank_damage_function(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ + self endon("death"); + level.hovertank endon("death"); + if(param_01 == level.player && param_00 < 500) + { + self.health = self.currenthealth; + if(param_00 < 50) + { + var_0A = 0; + if(isdefined(level.emp_vulnerable_list)) + { + foreach(var_0C in level.emp_vulnerable_list) + { + if(distance(var_0C.origin,self.origin) < 1024) + { + var_0A = 1; + } + } + } + + if(!var_0A) + { + if(!isdefined(level.hovertank.empedtank)) + { + level.burke maps\lab_vo::important_dialogue_queue("lab_gdn_empsuselessagainstthosetanks"); + level.hovertank.empedtank = 1; + return; + } + + return; + } + + return; + } + + return; + } + + maps\_damagefeedback::damagefeedback_took_damage(param_01,param_02,param_03,param_04,param_05,param_06,param_07); + wait(0.5); + if(!isdefined(level.hovertank.hittankagain)) + { + level.burke maps\lab_vo::important_dialogue_queue("lab_gdn_hithimagain"); + level.hovertank.hittankagain = 1; + return; + } + + if(randomfloat(1) < 0.5) + { + if(common_scripts\utility::cointoss()) + { + level.burke maps\lab_vo::important_dialogue_queue("lab_gdn_hithimagain"); + return; + } + + level.burke maps\lab_vo::important_dialogue_queue("lab_gdn_fireagain"); + return; + } +} + +//Function Number: 365 +enemy_tank_aim(param_00,param_01) +{ + self endon("death"); + level endon("missionfailed"); + var_02 = 100; + var_03 = 100; + var_04 = 100; + self setturrettargetent(self.cur_tank_target,(randomintrange(-1 * var_02,var_02),randomintrange(-1 * var_03,var_03),randomintrange(-1 * var_04,var_04))); + self waittill("turret_on_target"); + wait(2); + if(sighttracepassed(self.origin + (0,0,100),self.cur_tank_target.origin + (0,0,param_00),0,self,level.hovertank)) + { + if(param_01) + { + self fireweapon(); + soundscripts\_audio::deprecated_aud_play_sound_at("ht_exfil_ft101_fire",self.origin); + } + + wait(randomintrange(5,8)); + return; + } + + wait(1); +} + +//Function Number: 366 +enemy_tank_death_function() +{ + level.hovertank endon("death"); + self waittill("death"); + wait(1); + if(!isdefined(level.hovertank.tankkilled)) + { + level.burke maps\lab_vo::important_dialogue_queue("lab_gdn_tanksdown"); + level.hovertank.tankkilled = 1; + return; + } + + if(level.hovertank.tankkilled == 1) + { + level.burke maps\lab_vo::important_dialogue_queue("lab_gdn_gothim"); + } + else if(level.hovertank.tankkilled == 2) + { + level.burke maps\lab_vo::important_dialogue_queue("lab_gdn_niceshot"); + } + else + { + level.burke maps\lab_vo::important_dialogue_queue("lab_gdn_tanksdown"); + } + + level.hovertank.tankkilled++; + if(level.hovertank.tankkilled > 3) + { + level.hovertank.tankkilled = 1; + } +} + +//Function Number: 367 +enemy_vrap_damage_function(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ + if(param_01 == level.player && param_00 >= 500) + { + self kill(); + } +} + +//Function Number: 368 +tank_road_enemy_think() +{ + self endon("death"); + self.ignoreall = 1; + self waittill("goal"); + self.allowdeath = 1; + maps\_anim::anim_generic_custom_animmode(self,"gravity","prone_dive"); + thread maps\_anim::anim_generic_loop(self,"prone_idle","stop_loop"); + self allowedstances("prone"); + thread maps\_utility::ai_delete_when_out_of_sight([self],512); +} + +//Function Number: 369 +monitor_mobile_turret_health() +{ + level.player endon("death"); + var_00 = getent("trig_hover_tank_immobilize","targetname"); + var_00 mobile_turret_health_think(self,::se_hovertank_exit); +} + +//Function Number: 370 +hover_tank_immobilize() +{ + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("tank_immobilize_littlebird"); + var_00 maps\_vehicle::godon(); + var_00 hover_tank_immobilize_rockets(); + var_00 maps\_vehicle::godoff(); + playfxontag(common_scripts\utility::getfx("tank_immobilized"),level.hovertank.turret,"tag_light_main"); + level.hovertank_turret notify("large_hit_react"); + var_01 = 1; + var_02 = common_scripts\utility::getstruct("hovertank_defend_loc","targetname"); + level.hovertank vehicle_hovertanksethoverforcescale(0,0); + var_03 = 0.5; + maps\_utility::delaythread(var_03,::hovertank_defend_setup); + thread vehicle_scripts\_hovertank::hoverscreen_turnoff(var_03); + var_04 = maps\_utility::spawn_anim_model("hovertank_interior",level.hovertank.origin); + var_04.angles = level.hovertank.turret.angles; + var_04 linkto(level.hovertank); + var_05 = [level.burke,level.knox,level.cormack,var_04]; + level.hovertank common_scripts\utility::delaycall(var_03,::vehicle_teleport,var_02.origin,var_02.angles); + wait(var_01); + stopfxontag(common_scripts\utility::getfx("tank_immobilized"),level.hovertank.turret,"tag_light_main"); + var_04 delete(); + thread hoverscreen_restore(0.5); + iprintln("defend starts"); + thread hovertank_defend_combat(); + level.hovertank.turret setbottomarc(25); + common_scripts\utility::flag_wait("hovertank_defend_complete"); + wait(5); + se_hovertank_exit(); +} + +//Function Number: 371 +hover_tank_immobilize_rockets() +{ + level.hovertank endon("damage"); + level.hovertank endon("trophy_deployed"); + var_00 = common_scripts\utility::getstruct("hovertank_immobilize_rocket_1","targetname"); + var_01 = common_scripts\utility::getstruct("hovertank_immobilize_rocket_2","targetname"); + var_02 = magicbullet("rpg_straight",var_00.origin,level.hovertank.origin + (0,0,64)); + wait(0.5); + var_03 = magicbullet("rpg_straight",var_01.origin,level.hovertank.origin + (0,0,64)); + var_04 = 0; + var_05 = "tag_guy1"; + for(;;) + { + if(var_04) + { + var_05 = "tag_guy1"; + } + else + { + var_05 = "tag_guy3"; + } + + var_04 = !var_04; + var_06 = self gettagorigin(var_05) + anglestoup(self.angles) * 30 + anglestoforward(self.angles) * 30; + magicbullet("rpg_straight",var_06,level.hovertank.origin + (0,0,64)); + wait(randomfloatrange(0.25,0.75)); + } +} + +//Function Number: 372 +hovertank_defend_setup() +{ + foreach(var_01 in getentarray("script_vehicle","code_classname")) + { + if(var_01.health < 0) + { + var_01 delete(); + } + } + + var_03 = [getvehiclenode("ascent_tank_1_end_point","targetname"),getvehiclenode("ascent_tank_2_end_point","targetname")]; + foreach(var_05 in var_03) + { + var_06 = spawn("script_model",var_05.origin); + if(isdefined(var_05.angles)) + { + var_06.angles = var_05.angles; + } + + var_06 setmodel("vehicle_ft101_tank_destroy"); + } +} + +//Function Number: 373 +hovertank_defend_combat() +{ + maps\_utility::array_spawn_targetname("tank_defend_wave_1"); + maps\_utility::delaythread(30,::maps\_utility::array_spawn_targetname,"tank_defend_wave_2"); + wait(60); + common_scripts\utility::flag_set("hovertank_defend_complete"); +} + +//Function Number: 374 +se_hovertank_exit() +{ + soundscripts\_snd::snd_message("tank_disabled"); + level.hovertank vehicle_hovertanksethoverforcescale(0,0); + common_scripts\utility::flag_set("flag_obj_hide_marker_during_tank_exit"); + level.hovertank.godmode = 1; + var_00 = 1.5; + thread vehicle_scripts\_hovertank::hoverscreen_turnoff(var_00,1); + wait(1); + var_01 = getentarray("script_vehicle_vrap_physics","classname"); + var_02 = getentarray("script_vehicle_littlebird_atlas_bench","classname"); + var_03 = getentarray("script_vehicle_xh9_warbird_low_heavy_turret","classname"); + var_04 = getentarray("script_vehicle_ft101_tank_physics","classname"); + var_05 = getent("vol_exfil_cleanup_check","targetname"); + var_06 = common_scripts\utility::getstruct("org_se_exfil","targetname"); + var_07 = common_scripts\utility::array_combine(var_01,var_02); + var_07 = common_scripts\utility::array_combine(var_07,var_03); + var_07 = common_scripts\utility::array_combine(var_07,var_04); + foreach(var_09 in var_07) + { + if(distancesquared(var_09.origin,level.player.origin) < 250000 || distancesquared(var_09.origin,var_06.origin) < 250000) + { + var_09 delete(); + continue; + } + + if(var_09.health > 0) + { + var_09 kill(); + } + } + + foreach(var_0C in getaiarray("axis")) + { + var_0C kill(); + } + + level.player painvisionoff(); + level.player maps\_utility::ent_flag_clear("player_has_red_flashing_overlay"); + level.player.health = level.player.maxhealth; + level.player maps\_utility::lerpfov_saved(65,0.1); + thread maps\lab_lighting::tank_exit_dof_reset(); + var_0E = common_scripts\utility::getstruct("hovertank_exit_org","targetname"); + var_0F = spawnstruct(); + var_0F.origin = var_0E.origin; + if(isdefined(var_0E.angles)) + { + var_0F.angles = var_0E.angles; + } + + level.player_rig = maps\lab_utility::spawn_player_rig(undefined,var_0E.origin); + level.hovertank_exterior_model = maps\_utility::spawn_anim_model("hovertank",var_0E.origin); + var_10 = maps\_utility::spawn_anim_model("hovertank_interior",var_0E.origin); + var_10 hidepart("TAG_AIM_UNHIDE"); + var_11 = "hovertank_exit"; + var_0F maps\_anim::anim_first_frame_solo(level.player_rig,var_11); + var_12 = level.player_rig gettagorigin("tag_player"); + var_13 = level.player_rig gettagangles("tag_player"); + level.hovertank_turret setturretdismountorg(var_12); + var_14 = getent("tank_exit_viewmodel_origin","targetname"); + var_15 = var_14 getorigin(); + level.player_rig overridelightingorigin(var_15); + if(level.nextgen) + { + setsaveddvar("r_subdiv","1"); + } + + level.cormack dontcastshadows(); + level.cormack thread se_hovertank_exit_cormack_shadow(); + level.hovertank notify("hovertank_done"); + common_scripts\utility::flag_set("flag_se_hovertank_exit"); + common_scripts\utility::flag_set("flag_tank_exit_dialogue"); + level maps\_utility::delaythread(9.25,::common_scripts\utility::flag_set,"flag_exfil_start_dialogue"); + soundscripts\_snd::snd_message("tank_exit"); + level.player_rig dontcastshadows(); + level.player_rig defaultlightingorigin(); + level.hovertank_exterior_model hide(); + level.hovertank_turret hide(); + level.player maps\_shg_utility::setup_player_for_scene(0); + maps\_player_exo::player_exo_deactivate(); + level.player setorigin(var_12); + level.player setplayerangles(var_13); + level.player playerlinktoabsolute(level.player_rig,"tag_player"); + var_16 = [level.hovertank_exterior_model,var_10,level.burke,level.cormack,level.knox]; + var_0E thread maps\_anim::anim_single_run(var_16,var_11); + var_0F thread maps\_anim::anim_single_solo(level.player_rig,var_11); + thread exit_hovertank_rumbles(); + thread se_hovertank_exit_cover_fire(); + level waittill("hovertank_show_exterior"); + foreach(var_09 in var_07) + { + if(!isdefined(var_09)) + { + continue; + } + + if(distancesquared(var_09.origin,level.player.origin) < 250000) + { + var_09 delete(); + continue; + } + } + + level.hovertank_exterior_model show(); + level waittill("hovertank_hide_interior"); + var_10 hide(); + level.player_rig waittillmatch("end","single anim"); + thread se_hovertank_exit_cover_fire_cleanup(); + level.player unlink(); + maps\_player_exo::player_exo_activate(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + common_scripts\utility::flag_set("flag_exfil_start"); + level.hovertank delete(); + level.player_rig delete(); + var_10 delete(); + maps\_utility::deletestruct_ref(var_0F); + maps\_utility::autosave_by_name(); +} + +//Function Number: 375 +exit_hovertank_rumbles() +{ + maps\lab_utility::setup_level_rumble_ent(); + wait(7.25); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.9,0.2); + wait(0.3); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.7,0.2); + wait(0.4); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.9,0.1); + wait(0.2); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.8,0.1); + wait(0.2); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.6,0.1); + wait(0.8); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.4,0.1); + wait(0.2); + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.3,0.3); + wait(2); + maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.7,1); + level notify("exfil_helo_overhead_rumble_complete"); +} + +//Function Number: 376 +handle_player_close_to_aircraft_rumbles() +{ + level waittill("exfil_helo_overhead_rumble_complete"); + maps\lab_utility::setup_level_rumble_ent(); + for(;;) + { + var_00 = distance(level.player.origin,level.razorback.origin); + var_01 = 1000 - var_00 / 4000; + thread maps\lab_utility::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,var_01,0.2); + wait(0.25); + } +} + +//Function Number: 377 +se_hovertank_exit_cormack_shadow() +{ + self waittillmatch("start_shadow","single anim"); + self castshadows(); +} + +//Function Number: 378 +mobile_turret_health_think(param_00,param_01) +{ + level.player endon("death"); + param_00 endon("death"); + for(;;) + { + self waittill("trigger",var_02); + if(var_02 == level.player) + { + param_00 thread [[ param_01 ]](); + break; + } + } +} + +//Function Number: 379 +mobile_turret_burning() +{ + thread destroy_turret_when_player_leaves(); + level.player endon("death"); + self endon("dismount_vehicle_and_turret"); + self notify("play_damage_warning"); +} + +//Function Number: 380 +destroy_turret_when_player_leaves() +{ + level.player endon("death"); + self waittill("player_exited_mobile_turret"); + destroy_mobile_turret(); +} + +//Function Number: 381 +destroy_mobile_turret() +{ + level.player endon("death"); + common_scripts\utility::flag_wait("flag_burke_destroy_tank"); + var_00 = 256; + var_01 = 20; + while(distance(self.origin,level.player.origin) < var_00 && var_01 >= 0) + { + var_01 = var_01 - 0.05; + wait(0.05); + } + + self.mgturret[0] hide(); + self setmodel("vehicle_x4walker_wheels_dstrypv"); + playfxontag(common_scripts\utility::getfx("mobile_turret_explosion"),self,"tag_death_fx"); + earthquake(1,1.6,self.origin,625); + soundscripts\_snd::snd_message("player_mobile_turret_explo"); + self notify("stop_mobile_turret_health_1"); + self notify("stop_mobile_turret_health_2"); + self notify("stop_mobile_turret_health_3"); + self notify("stop_mobile_turret_health_4"); + wait(0.5); + playfxontag(common_scripts\utility::getfx("mobile_turret_ground_smoke"),self,"tag_death_fx"); +} + +//Function Number: 382 +play_and_store_fx_on_tag(param_00,param_01,param_02) +{ + playfxontag(common_scripts\utility::getfx(param_00),param_01.mgturret[0],param_02); + var_03 = spawnstruct(); + var_03.name = param_00; + var_03.tag = param_02; + if(!isdefined(param_01.damage_fx)) + { + param_01.damage_fx = []; + } + + param_01.damage_fx[self.damage_fx.size] = var_03; +} + +//Function Number: 383 +add_drone_to_squad() +{ + if(isdefined(self.script_parameters) && self.script_parameters == "personal_drone") + { + var_00 = getent("squad_drone_spawner","targetname"); + maps\_weapon_pdrone::pdrone_launch(var_00); + if(isdefined(self.pdrone)) + { + self.pdrone.pacifist = 1; + self.pdrone.ignoreme = 1; + } + } +} + +//Function Number: 384 +cleanup_squad_drone() +{ + if(level.nextgen) + { + level waittill("street_cleanup"); + } + else + { + level waittill("tff_transition_intro_to_middle"); + } + + self delete(); +} + +//Function Number: 385 +se_hovertank_exit_cover_fire() +{ + var_00 = 0; + if(!var_00) + { + level.player common_scripts\utility::delaycall(1,::enableinvulnerability); + } + + var_01 = maps\_utility::getent_or_struct("checkpoint_exfil_start","script_noteworthy"); + level.cover_fire_missile_repulsor = missile_createrepulsororigin(var_01.origin,10000,300); + thread spawn_exfil_enemies(); + if(!var_00) + { + wait(6.5); + } + else + { + wait(0.1); + } + + thread maps\lab_utility::named_magic_bullet_strafe("exfil_cover_fire_0",5,2,60,0.35,"rpg"); + thread maps\lab_utility::named_magic_bullet_strafe("exfil_cover_fire_1",7,2,240,0.35,"rpg"); +} + +//Function Number: 386 +se_hovertank_exit_cover_fire_cleanup() +{ + level.player disableinvulnerability(); + missile_deleteattractor(level.cover_fire_missile_repulsor); +} + +//Function Number: 387 +spawn_exfil_enemies() +{ + var_00 = 0; + if(!var_00) + { + wait(6.4); + } + + var_01 = []; + var_02 = 2; + var_03 = maps\_utility::getent_or_struct("exfil_cover_fire_0_source_start","targetname"); + for(var_04 = 0;var_04 < var_02;var_04++) + { + var_01[var_04] = []; + var_05 = getentarray("tank_exfil_enemy_" + var_04,"targetname"); + foreach(var_07 in var_05) + { + var_01[var_04][var_01[var_04].size] = var_07 maps\_utility::spawn_ai(1,0); + } + + var_09 = maps\_utility::getent_or_struct("tank_exfil_target_" + var_04,"targetname"); + var_0A = var_09.origin; + var_0A = (var_0A[0],var_0A[1],var_0A[2] + 240); + var_0B = 0.1 + var_04 * 0.25; + common_scripts\utility::delay_script_call(var_0B,::exfil_enemy_missile,var_03,var_09.origin,var_01[var_04]); + } +} + +//Function Number: 388 +exfil_enemy_missile(param_00,param_01,param_02) +{ + foreach(var_04 in param_02) + { + var_04.health = 1; + } + + var_06 = magicbullet("rpg",param_00.origin,param_01); + var_07 = missile_createattractororigin(param_01,50000,900,var_06,1); + var_06 waittill("death"); + wait 0.05; + foreach(var_04 in param_02) + { + if(isdefined(var_04) && isai(var_04) && isalive(var_04)) + { + var_04 dodamage(var_04.health,param_01); + } + } + + missile_deleteattractor(var_07); +} \ No newline at end of file diff --git a/AW/PC/maps/lab_fx.gsc b/AW/PC/maps/lab_fx.gsc new file mode 100644 index 0000000..c4d9806 --- /dev/null +++ b/AW/PC/maps/lab_fx.gsc @@ -0,0 +1,795 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: lab_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 41 + * Decompile Time: 603 ms + * Timestamp: 4/22/2024 2:32:56 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + precachefx(); + maps\createfx\lab_fx::main(); + set_lighting_values(); + maps\_shg_fx::setup_shg_fx(); + common_scripts\utility::flag_init("flag_player_exfil_enter"); + thread maps\_shg_fx::fx_zone_watcher(1000,"msg_vfx_zone_1000_crash"); + thread maps\_shg_fx::fx_zone_watcher(1100,"msg_vfx_zone_1100_crash"); + thread maps\_shg_fx::fx_zone_watcher(2000,"msg_vfx_zone_2000_post_river"); + thread maps\_shg_fx::fx_zone_watcher(3000,"msg_vfx_zone_3000_rappel"); + thread maps\_shg_fx::fx_zone_watcher(4000,"msg_vfx_zone_4000_facility_1"); + thread maps\_shg_fx::fx_zone_watcher(5000,"msg_vfx_zone_5000_facility_2"); + thread maps\_shg_fx::fx_zone_watcher(6000,"msg_vfx_zone_6000_courtyard"); + thread maps\_shg_fx::fx_zone_watcher(6100,"msg_vfx_zone_6100_rappel_courtyard"); + thread maps\_shg_fx::fx_zone_watcher(7000,"msg_vfx_zone_7000_tank_hangar"); + thread maps\_shg_fx::fx_zone_watcher(8000,"msg_vfx_zone_8000_tank_field_1"); + thread maps\_shg_fx::fx_zone_watcher(9000,"msg_vfx_zone_9000_tank_field_2"); + thread treadfx_override(); + thread river_entry_splash_fx(); + thread treadfx_of_logging_road(); + thread birds_scatter_cliff_rappel(); + thread vfx_foam_room(); +} + +//Function Number: 2 +precachefx() +{ + level._effect["heli_dust_forest"] = loadfx("vfx/treadfx/heli_dust_forest"); + level._effect["heli_river_treadfx"] = loadfx("vfx/treadfx/heli_river"); + level._effect["heli_dust_warbird"] = loadfx("vfx/treadfx/heli_dust_warbird"); + level._effect["heli_dust_warbird_whisp_child"] = loadfx("vfx/treadfx/heli_dust_warbird_whisp_child"); + level._effect["heli_dust_warbird_whisp_child_b"] = loadfx("vfx/treadfx/heli_dust_warbird_whisp_child_b"); + level._effect["tread_dust_hummer"] = loadfx("vfx/treadfx/tread_dust_hummer"); + level._effect["vehicle_civ_ai_explo_lrg_runner"] = loadfx("vfx/explosion/vehicle_civ_ai_explo_lrg_runner"); + level._effect["tread_dust_tanks"] = loadfx("vfx/treadfx/tread_dust_tanks"); + level._effect["heli_railgun_muzzleflash"] = loadfx("vfx/muzzleflash/s1_lab_heli_railgun_wv"); + level._effect["heli_railgun_wood_impact_2"] = loadfx("vfx/map/lab/lab_heli_railgun_wood_impact_2"); + level._effect["vehicle_destroyed_fire_m"] = loadfx("vfx/fire/vehicle_destroyed_fire_m"); + level._effect["fire_lp_s_base"] = loadfx("vfx/fire/fire_lp_s_base"); + level._effect["fire_smoke_s"] = loadfx("vfx/fire/fire_lp_smk_s"); + level._effect["fire_lp_xs_strip"] = loadfx("vfx/fire/fire_lp_xs_strip"); + level._effect["fire_lp_sm_strip"] = loadfx("vfx/fire/fire_lp_sm_strip"); + level._effect["fire_lp_med_strip"] = loadfx("vfx/fire/fire_lp_med_strip"); + level._effect["fire_lp_m_no_light"] = loadfx("vfx/fire/fire_lp_m_no_light"); + level._effect["fire_intro_light"] = loadfx("vfx/lights/lab/fire_intro_light"); + level._effect["lab_intro_smoke"] = loadfx("vfx/map/lab/lab_intro_smoke"); + level._effect["light_cone"] = loadfx("vfx/lights/lab/light_cone_single_smoke_lab"); + level._effect["light_cone_dark"] = loadfx("vfx/lights/lab/light_cone_single_smoke_lab_dark"); + level._effect["light_point_dim"] = loadfx("vfx/lights/lab/light_white_radiosity_sim_dim"); + level._effect["light_bounce_outdoors"] = loadfx("vfx/lights/lab/light_white_bounce_outdoors"); + level._effect["lab_studiolight_flare"] = loadfx("vfx/lights/lab/lab_studiolight_flare"); + level._effect["docks_heli_spotlight"] = loadfx("vfx/lights/lab/spotlight_heli_hdr"); + level._effect["docks_heli_spotlight_cheap"] = loadfx("vfx/lights/lab/spotlight_cheap_heli_hdr"); + level._effect["fx_flare_aperture"] = loadfx("vfx/lensflare/fx_flare_aperture"); + level._effect["fx_flare_med_yellow_dim_simple"] = loadfx("vfx/lensflare/fx_flare_med_yellow_dim_simple"); + level._effect["godray_beam_wide"] = loadfx("vfx/lights/lab/lights_godray_beam_simple_window_wide"); + level._effect["godray_beam_hangar"] = loadfx("vfx/lights/lab/lights_godray_beam_hangar"); + level._effect["godray_beam_wide_bright"] = loadfx("vfx/lights/lab/lights_godray_beam_simple_wide_bright"); + level._effect["godray_beam_cracks"] = loadfx("vfx/lights/lab/lights_godray_beam_simple_window_cracks"); + level._effect["headlight_no_light"] = loadfx("vfx/lights/lab/headlight_no_light_lab"); + level._effect["light_server_room_monitor"] = loadfx("vfx/lights/lab/light_server_room_monitor"); + level._effect["light_orange_sign"] = loadfx("vfx/lights/lab/light_orange_sign"); + level._effect["light_blue_fill"] = loadfx("vfx/lights/lab/light_blue_fill"); + level._effect["lamp_volume_lab_courtyard"] = loadfx("vfx/lights/lab/lamp_volume_lab_courtyard"); + level._effect["godray_golden_dim"] = loadfx("vfx/lights/lab/godray_golden_dim"); + level._effect["point_blue_fill"] = loadfx("vfx/lights/lab/point_blue_fill"); + level._effect["point_blue_fill_tank_gun"] = loadfx("vfx/lights/lab/point_blue_fill_tank_gun"); + level._effect["point_yellow_fill"] = loadfx("vfx/lights/lab/point_yellow_fill"); + level._effect["point_yellow_fill_sm"] = loadfx("vfx/lights/lab/point_yellow_fill_sm"); + level._effect["light_smoke_dim"] = loadfx("vfx/lights/lab/light_smoke_dim"); + level._effect["lab_amb_fog_blue_dark"] = loadfx("vfx/map/lab/lab_amb_fog_blue_dark"); + level._effect["light_yellow_rotate"] = loadfx("vfx/lights/light_yellow_rotate_sm"); + level._effect["spotlight_drone_deer"] = loadfx("vfx/lights/lab/spotlight_drone_deer"); + level._effect["light_point_red_solid_nolens"] = loadfx("vfx/lights/light_wingtip_red_med_point_nolens"); + level._effect["spot_orange"] = loadfx("vfx/lights/spot_orange"); + level._effect["godray_med_grp"] = loadfx("vfx/lights/lab/lab_godray_med_grp"); + level._effect["light_red_strobe"] = loadfx("vfx/lights/lab/light_red_strobe"); + level._effect["light_fire_alarm_strobe"] = loadfx("vfx/lights/light_fire_alarm_strobe"); + level._effect["light_fire_alarm_strobe_wall_fix"] = loadfx("vfx/lights/light_fire_alarm_strobe_wall_fix"); + level._effect["light_explosion_flash_dim"] = loadfx("vfx/lights/light_explosion_flash_dim"); + level._effect["yellow_fire"] = loadfx("vfx/lights/lab/fire_yellow"); + level._effect["godray_golden_dim"] = loadfx("vfx/lights/lab/lab_godray_golden_dim"); + level._effect["point_blue_heli"] = loadfx("vfx/lights/lab/lab_heli_point_blue"); + level._effect["point_blue_heli_dim"] = loadfx("vfx/lights/lab/lab_heli_point_blue_dim"); + level._effect["point_blue_heli_fill"] = loadfx("vfx/lights/lab/lab_heli_point_blue_fill"); + level._effect["spot_orange_tank_int"] = loadfx("vfx/lights/lab/spot_orange_tank_int"); + level._effect["spot_orange_tank_int2"] = loadfx("vfx/lights/lab/spot_orange_tank_int2"); + level._effect["point_red_heli_out"] = loadfx("vfx/lights/lab/lab_point_red_heli_out"); + level._effect["point_red_heli_in"] = loadfx("vfx/lights/lab/lab_point_red_heli_in"); + level._effect["spot_red_heli_in"] = loadfx("vfx/lights/lab/lab_spot_red_heli_in"); + level._effect["spot_red_heli_in_lrg"] = loadfx("vfx/lights/lab/lab_spot_red_heli_in_lrg"); + level._effect["lab_heli_spot_flare"] = loadfx("vfx/lensflare/lab/lab_heli_spot_flare"); + level._effect["light_glow_red_steady"] = loadfx("vfx/lights/tower_light_glow_red_steady"); + level._effect["headlight_gaz_spotlight"] = loadfx("vfx/lights/headlight_gaz_spotlight"); + level._effect["lab_courtyard_floodlight_flare"] = loadfx("vfx/lights/lab/lab_courtyard_floodlight_flare"); + level._effect["leaves_runner_2"] = loadfx("vfx/wind/leaves_runner_2"); + level._effect["leaves_fall_gentlewind_no_physics"] = loadfx("vfx/wind/leaves_fall_gentlewind_no_physics"); + level._effect["fog_windy_bright"] = loadfx("vfx/fog/fog_windy_bright"); + level._effect["embers_runner_sml"] = loadfx("vfx/fire/embers_runner_sml_lp"); + level._effect["lights_moonbeam_1"] = loadfx("vfx/lights/lights_moonbeam_1"); + level._effect["embers_wind_vortex"] = loadfx("vfx/fire/embers_wind_vortex"); + level._effect["amb_ground_dust_lrg"] = loadfx("vfx/dust/amb_ground_dust_lrg"); + level._effect["battlefield_smoke_m"] = loadfx("vfx/smoke/battlefield_smoke_m"); + level._effect["insects_moths"] = loadfx("vfx/animal/insects_moths"); + level._effect["insects_mosquitos"] = loadfx("vfx/animal/insects_mosquitos_flying"); + level._effect["leaves_fall_twirl_no_physics"] = loadfx("vfx/wind/leaves_fall_twirl_no_physics"); + level._effect["smoke_white_ground_wind_sm"] = loadfx("vfx/smoke/smoke_white_ground_wind_sm"); + level._effect["insects_firefly_runner"] = loadfx("vfx/animal/insects_firefly_runner"); + level._effect["river_flowing_leaves"] = loadfx("vfx/water/river_flowing_leaves"); + level._effect["birds_tree_flyout"] = loadfx("vfx/animal/birds_tree_flyout"); + level._effect["leaves_ground_kickup"] = loadfx("vfx/wind/leaves_ground_kickup"); + level._effect["leaves_ground_kickup_dust"] = loadfx("vfx/wind/leaves_ground_kickup_dust"); + level._effect["fog_in_valley"] = loadfx("vfx/fog/fog_in_valley"); + level._effect["dry_ice_floor"] = loadfx("vfx/fog/dry_ice_floor"); + level._effect["dry_ice_low"] = loadfx("vfx/fog/dry_ice_low"); + level._effect["dry_ice_med"] = loadfx("vfx/fog/dry_ice_med"); + level._effect["dry_ice_center"] = loadfx("vfx/fog/dry_ice_center"); + level._effect["lab_godray_pre_foamroom"] = loadfx("vfx/map/lab/lab_godray_pre_foamroom"); + level._effect["lab_godray_foamroom"] = loadfx("vfx/map/lab/lab_godray_foamroom"); + level._effect["lab_godray_foamroom_wide"] = loadfx("vfx/map/lab/lab_godray_foamroom_wide"); + level._effect["steam_vent_burst_runner"] = loadfx("vfx/steam/steam_vent_burst_runner"); + level._effect["steam_vent_burst_runner_seq_01"] = loadfx("vfx/steam/steam_vent_burst_runner_seq_01"); + level._effect["steam_vent_burst_runner_seq_02"] = loadfx("vfx/steam/steam_vent_burst_runner_seq_02"); + level._effect["fog_low_lying"] = loadfx("vfx/fog/fog_low_lying"); + level._effect["splash_foam_runner"] = loadfx("vfx/water/splash_foam_runner"); + level._effect["river_splash_runner"] = loadfx("vfx/water/river_splash_runner"); + level._effect["rain_splash_hvy_04"] = loadfx("vfx/rain/rain_splash_hvy_04"); + level._effect["boxcar_explosion"] = loadfx("vfx/explosion/vehicle_civ_ai_explo_lrg_runner"); + level._effect["breach_damaged_sparks"] = loadfx("vfx/map/lab/lab_breach_damaged_sparks_l"); + level._effect["facility_rm_fog_cool"] = loadfx("vfx/map/lab/lab_facility_rm_fog_cool"); + level._effect["fire_lp_m_light"] = loadfx("vfx/fire/fire_lp_m_light"); + level._effect["mobile_turret_ground_smoke"] = loadfx("vfx/map/fusion/fusion_mobile_turret_base_smoke"); + level._effect["dust_foot_hillslide"] = loadfx("vfx/dust/dust_foot_hillslide"); + level._effect["river_rock_splash_1"] = loadfx("vfx/water/river_rock_splash_1"); + level._effect["lab_burke_river_entry_splashes"] = loadfx("vfx/map/lab/lab_burke_river_entry_splashes"); + level._effect["lab_burke_river_looping_splashes"] = loadfx("vfx/map/lab/lab_burke_river_looping_splashes"); + level._effect["lab_player_river_looping_splashes"] = loadfx("vfx/map/lab/lab_player_river_looping_splashes"); + level._effect["lab_wall_climb_dust"] = loadfx("vfx/map/lab/lab_wall_climb_dust"); + level._effect["lab_gaz_mud_tracks"] = loadfx("vfx/map/lab/lab_gaz_mud_tracks"); + level._effect["lab_gaz_mud_tracks_2"] = loadfx("vfx/map/lab/lab_gaz_mud_tracks_2"); + level._effect["door_breach_explosion"] = loadfx("vfx/map/lab/lab_door_breach_explosion"); + level._effect["lab_mute_device_plant_vm"] = loadfx("vfx/map/lab/lab_mute_device_plant_vm"); + level._effect["lab_mute_area_distort_player_view"] = loadfx("vfx/map/lab/lab_mute_area_distort_player_view"); + level._effect["lab_mute_device_lights"] = loadfx("vfx/map/lab/lab_mute_device_lights"); + level._effect["mute_breach_distort_vm_enter"] = loadfx("vfx/props/mute_breach_distort_vm_enter"); + level._effect["mute_breach_distort_vm_exit"] = loadfx("vfx/props/mute_breach_distort_vm_exit"); + level._effect["facility_breach_rm_smoke"] = loadfx("vfx/map/lab/lab_facility_breach_rm_smk"); + level._effect["flashlight_ai"] = loadfx("vfx/lights/lab/flashlight_lab"); + level._effect["flashlight_spotlight"] = loadfx("vfx/lights/lab/flashlight_spotlight_player_lab"); + level._effect["point_amber"] = loadfx("vfx/lights/light_point_amber"); + level._effect["drone_search_lt"] = loadfx("vfx/lights/drone_search_lt"); + level._effect["takedown_head_impact_dust"] = loadfx("vfx/map/lab/lab_takedown_head_impact_dust"); + level._effect["veh_turret_scanner_search"] = loadfx("vfx/map/lab/lab_veh_turret_scanner_search"); + level._effect["veh_turret_scanner_search_red"] = loadfx("vfx/map/lab/lab_veh_turret_scanner_search_red"); + level._effect["camera_fixed_scanner"] = loadfx("vfx/destructible/security_cam_scanner_locked"); + level._effect["camera_fixed_scanner_search"] = loadfx("vfx/destructible/security_cam_scanner"); + level._effect["flesh_hit"] = loadfx("vfx/weaponimpact/flesh_impact_body_fatal_exit"); + level._effect["lab_pnematic_anchor"] = loadfx("vfx/map/lab/lab_pnematic_anchor"); + level._effect["lab_foam_burst_smk"] = loadfx("vfx/map/lab/lab_foam_burst_smk"); + level._effect["lab_foam_rm_smk_facade"] = loadfx("vfx/map/lab/lab_foam_rm_smk_facade"); + level._effect["thermite_grenade_ignite"] = loadfx("vfx/props/thermite_grenade_ignite"); + level._effect["thermite_fire_crawl_wall_lrg"] = loadfx("vfx/map/lab/lab_thermite_fire_crawl_wall_lrg"); + level._effect["thermite_grenade_burn_lp"] = loadfx("vfx/map/lab/lab_thermite_grenade_burn_lp"); + level._effect["lab_thermite_smoke_area"] = loadfx("vfx/map/lab/lab_thermite_smoke_area"); + level._effect["electrical_sparks"] = loadfx("vfx/explosion/electrical_sparks"); + level._effect["mech_impact_dust"] = loadfx("vfx/dust/exo_armor_stomp_impact_dust"); + level._effect["rpg_muzzle_flash"] = loadfx("vfx/muzzleflash/rpg_flash_wv"); + level._effect["tank_immobilized"] = loadfx("vfx/explosion/vehicle_civ_ai_explo_lrg_runner"); + level._effect["hovertank_exhaust_regular"] = loadfx("vfx/vehicle/hovertank_exhaust_regular"); + level._effect["hovertank_exhaust_strong"] = loadfx("vfx/vehicle/hovertank_exhaust_strong"); + level._effect["hovertank_exhaust_light_flicker_dual"] = loadfx("vfx/vehicle/hovertank_exhaust_light_flicker_dual"); + level._effect["hovertank_exhaust_light_flicker_dualSM"] = loadfx("vfx/vehicle/hovertank_exhaust_light_flicker_dualSM"); + level._effect["hovertank_tread_smk_strong_runner"] = loadfx("vfx/treadfx/hovertank_tread_smk_strong_runner"); + level._effect["hovertank_tread_smk_regular_runner"] = loadfx("vfx/treadfx/hovertank_tread_smk_regular_runner"); + level._effect["electrical_blue_burst_directional_01"] = loadfx("vfx/lightning/electrical_blue_burst_directional_01"); + level._effect["smk_ring_rad25_lp_01"] = loadfx("vfx/smoke/smk_ring_rad25_lp_01"); + level._effect["smk_ring_rad30_lp_01"] = loadfx("vfx/smoke/smk_ring_rad30_lp_01"); + level._effect["lab_htank_disengage_grnd_smk"] = loadfx("vfx/map/lab/lab_htank_disengage_grnd_smk"); + level._effect["hovertank_death_explosion"] = loadfx("vfx/explosion/hovertank_death_explosion"); + level._effect["hovertank_death_explosion_initial"] = loadfx("vfx/explosion/hovertank_death_explosion_initial"); + level._effect["lab_exfil_razorback_idle_smk_grnd"] = loadfx("vfx/map/lab/lab_exfil_razorback_idle_smk_grnd"); + level._effect["smoke_grey_column_2_spot_directional_lg"] = loadfx("vfx/smoke/smoke_grey_column_2_spot_directional_lg"); + level._effect["fireball_lp_smk_m"] = loadfx("vfx/fire/fireball_lp_smk_m"); + level._effect["ash_cloud_freq_lrg_loop"] = loadfx("vfx/ash/ash_cloud_freq_lrg_loop"); + level._effect["cg_fx_light_character_1"] = loadfx("vfx/map/lab/lab_character_light_1_cg"); +} + +//Function Number: 3 +set_lighting_values() +{ + if(isusinghdr()) + { + setsaveddvar("r_tonemap",2); + } +} + +//Function Number: 4 +treadfx_override() +{ + waittillframeend; + var_00[0] = "script_vehicle_littlebird_armed"; + var_01[0] = "script_vehicle_xh9_warbird_low_heavy_turret"; + var_02[0] = "script_vehicle_vrap"; + var_02[0] = "script_vehicle_vrap_physics"; + var_03[0] = "script_vehicle_ft101_tank_physics"; + level.treadfx_maxheight = 5000; + var_04 = "vfx/treadfx/heli_dust_forest"; + var_05 = "vfx/treadfx/heli_dust_warbird"; + var_06 = "vfx/treadfx/tread_dust_hummer"; + var_07 = "vfx/treadfx/tread_dust_tanks"; + var_08 = "vfx/treadfx/heli_river"; + var_09 = "vfx/unique/no_fx"; + foreach(var_0B in var_00) + { + maps\_vehicle::set_vehicle_effect(var_0B,"brick",var_04); + maps\_vehicle::set_vehicle_effect(var_0B,"bark",var_04); + maps\_vehicle::set_vehicle_effect(var_0B,"carpet",var_04); + maps\_vehicle::set_vehicle_effect(var_0B,"cloth",var_04); + maps\_vehicle::set_vehicle_effect(var_0B,"concrete",var_04); + maps\_vehicle::set_vehicle_effect(var_0B,"dirt",var_04); + maps\_vehicle::set_vehicle_effect(var_0B,"flesh",var_04); + maps\_vehicle::set_vehicle_effect(var_0B,"foliage",var_04); + maps\_vehicle::set_vehicle_effect(var_0B,"glass",var_04); + maps\_vehicle::set_vehicle_effect(var_0B,"grass",var_04); + maps\_vehicle::set_vehicle_effect(var_0B,"gravel",var_04); + maps\_vehicle::set_vehicle_effect(var_0B,"ice",var_04); + maps\_vehicle::set_vehicle_effect(var_0B,"metal",var_04); + maps\_vehicle::set_vehicle_effect(var_0B,"mud",var_04); + maps\_vehicle::set_vehicle_effect(var_0B,"paper",var_04); + maps\_vehicle::set_vehicle_effect(var_0B,"plaster",var_09); + maps\_vehicle::set_vehicle_effect(var_0B,"rock",var_04); + maps\_vehicle::set_vehicle_effect(var_0B,"sand",var_04); + maps\_vehicle::set_vehicle_effect(var_0B,"snow",var_04); + maps\_vehicle::set_vehicle_effect(var_0B,"water",var_08); + maps\_vehicle::set_vehicle_effect(var_0B,"wood",var_04); + maps\_vehicle::set_vehicle_effect(var_0B,"asphalt",var_04); + maps\_vehicle::set_vehicle_effect(var_0B,"ceramic",var_09); + maps\_vehicle::set_vehicle_effect(var_0B,"plastic",var_04); + maps\_vehicle::set_vehicle_effect(var_0B,"rubber",var_04); + maps\_vehicle::set_vehicle_effect(var_0B,"cushion",var_04); + maps\_vehicle::set_vehicle_effect(var_0B,"fruit",var_04); + maps\_vehicle::set_vehicle_effect(var_0B,"paintedmetal",var_09); + maps\_vehicle::set_vehicle_effect(var_0B,"riotshield",var_04); + maps\_vehicle::set_vehicle_effect(var_0B,"slush",var_04); + maps\_vehicle::set_vehicle_effect(var_0B,"default",var_04); + maps\_vehicle::set_vehicle_effect(var_0B,"none"); + } + + foreach(var_0B in var_01) + { + maps\_vehicle::set_vehicle_effect(var_0B,"brick",var_05); + maps\_vehicle::set_vehicle_effect(var_0B,"bark",var_05); + maps\_vehicle::set_vehicle_effect(var_0B,"carpet",var_05); + maps\_vehicle::set_vehicle_effect(var_0B,"cloth",var_05); + maps\_vehicle::set_vehicle_effect(var_0B,"concrete",var_05); + maps\_vehicle::set_vehicle_effect(var_0B,"dirt",var_05); + maps\_vehicle::set_vehicle_effect(var_0B,"flesh",var_05); + maps\_vehicle::set_vehicle_effect(var_0B,"foliage",var_05); + maps\_vehicle::set_vehicle_effect(var_0B,"glass",var_05); + maps\_vehicle::set_vehicle_effect(var_0B,"grass",var_05); + maps\_vehicle::set_vehicle_effect(var_0B,"gravel",var_05); + maps\_vehicle::set_vehicle_effect(var_0B,"ice",var_05); + maps\_vehicle::set_vehicle_effect(var_0B,"metal",var_05); + maps\_vehicle::set_vehicle_effect(var_0B,"mud",var_05); + maps\_vehicle::set_vehicle_effect(var_0B,"paper",var_05); + maps\_vehicle::set_vehicle_effect(var_0B,"plaster",var_09); + maps\_vehicle::set_vehicle_effect(var_0B,"rock",var_05); + maps\_vehicle::set_vehicle_effect(var_0B,"sand",var_05); + maps\_vehicle::set_vehicle_effect(var_0B,"snow",var_05); + maps\_vehicle::set_vehicle_effect(var_0B,"water",var_08); + maps\_vehicle::set_vehicle_effect(var_0B,"wood",var_05); + maps\_vehicle::set_vehicle_effect(var_0B,"asphalt",var_05); + maps\_vehicle::set_vehicle_effect(var_0B,"ceramic",var_09); + maps\_vehicle::set_vehicle_effect(var_0B,"plastic",var_05); + maps\_vehicle::set_vehicle_effect(var_0B,"rubber",var_05); + maps\_vehicle::set_vehicle_effect(var_0B,"cushion",var_05); + maps\_vehicle::set_vehicle_effect(var_0B,"fruit",var_05); + maps\_vehicle::set_vehicle_effect(var_0B,"paintedmetal",var_09); + maps\_vehicle::set_vehicle_effect(var_0B,"riotshield",var_05); + maps\_vehicle::set_vehicle_effect(var_0B,"slush",var_05); + maps\_vehicle::set_vehicle_effect(var_0B,"default",var_05); + maps\_vehicle::set_vehicle_effect(var_0B,"none"); + } + + foreach(var_0B in var_02) + { + maps\_vehicle::set_vehicle_effect(var_0B,"brick",var_06); + maps\_vehicle::set_vehicle_effect(var_0B,"bark",var_06); + maps\_vehicle::set_vehicle_effect(var_0B,"carpet",var_06); + maps\_vehicle::set_vehicle_effect(var_0B,"cloth",var_06); + maps\_vehicle::set_vehicle_effect(var_0B,"concrete",var_06); + maps\_vehicle::set_vehicle_effect(var_0B,"dirt",var_06); + maps\_vehicle::set_vehicle_effect(var_0B,"flesh",var_06); + maps\_vehicle::set_vehicle_effect(var_0B,"foliage",var_06); + maps\_vehicle::set_vehicle_effect(var_0B,"glass",var_06); + maps\_vehicle::set_vehicle_effect(var_0B,"grass",var_06); + maps\_vehicle::set_vehicle_effect(var_0B,"gravel",var_06); + maps\_vehicle::set_vehicle_effect(var_0B,"ice",var_06); + maps\_vehicle::set_vehicle_effect(var_0B,"metal",var_06); + maps\_vehicle::set_vehicle_effect(var_0B,"mud",var_06); + maps\_vehicle::set_vehicle_effect(var_0B,"paper",var_06); + maps\_vehicle::set_vehicle_effect(var_0B,"plaster",var_06); + maps\_vehicle::set_vehicle_effect(var_0B,"rock",var_06); + maps\_vehicle::set_vehicle_effect(var_0B,"sand",var_06); + maps\_vehicle::set_vehicle_effect(var_0B,"snow",var_06); + maps\_vehicle::set_vehicle_effect(var_0B,"water",var_09); + maps\_vehicle::set_vehicle_effect(var_0B,"wood",var_06); + maps\_vehicle::set_vehicle_effect(var_0B,"asphalt",var_06); + maps\_vehicle::set_vehicle_effect(var_0B,"ceramic",var_06); + maps\_vehicle::set_vehicle_effect(var_0B,"plastic",var_06); + maps\_vehicle::set_vehicle_effect(var_0B,"rubber",var_06); + maps\_vehicle::set_vehicle_effect(var_0B,"cushion",var_06); + maps\_vehicle::set_vehicle_effect(var_0B,"fruit",var_06); + maps\_vehicle::set_vehicle_effect(var_0B,"paintedmetal",var_06); + maps\_vehicle::set_vehicle_effect(var_0B,"riotshield",var_06); + maps\_vehicle::set_vehicle_effect(var_0B,"slush",var_06); + maps\_vehicle::set_vehicle_effect(var_0B,"default",var_06); + maps\_vehicle::set_vehicle_effect(var_0B,"none",var_06); + } + + foreach(var_0B in var_03) + { + maps\_vehicle::set_vehicle_effect(var_0B,"brick",var_07); + maps\_vehicle::set_vehicle_effect(var_0B,"bark",var_07); + maps\_vehicle::set_vehicle_effect(var_0B,"carpet",var_07); + maps\_vehicle::set_vehicle_effect(var_0B,"cloth",var_07); + maps\_vehicle::set_vehicle_effect(var_0B,"concrete",var_07); + maps\_vehicle::set_vehicle_effect(var_0B,"dirt",var_07); + maps\_vehicle::set_vehicle_effect(var_0B,"flesh",var_07); + maps\_vehicle::set_vehicle_effect(var_0B,"foliage",var_07); + maps\_vehicle::set_vehicle_effect(var_0B,"glass",var_07); + maps\_vehicle::set_vehicle_effect(var_0B,"grass",var_07); + maps\_vehicle::set_vehicle_effect(var_0B,"gravel",var_07); + maps\_vehicle::set_vehicle_effect(var_0B,"ice",var_07); + maps\_vehicle::set_vehicle_effect(var_0B,"metal",var_07); + maps\_vehicle::set_vehicle_effect(var_0B,"mud",var_07); + maps\_vehicle::set_vehicle_effect(var_0B,"paper",var_07); + maps\_vehicle::set_vehicle_effect(var_0B,"plaster",var_07); + maps\_vehicle::set_vehicle_effect(var_0B,"rock",var_07); + maps\_vehicle::set_vehicle_effect(var_0B,"sand",var_07); + maps\_vehicle::set_vehicle_effect(var_0B,"snow",var_07); + maps\_vehicle::set_vehicle_effect(var_0B,"water",var_09); + maps\_vehicle::set_vehicle_effect(var_0B,"wood",var_07); + maps\_vehicle::set_vehicle_effect(var_0B,"asphalt",var_07); + maps\_vehicle::set_vehicle_effect(var_0B,"ceramic",var_07); + maps\_vehicle::set_vehicle_effect(var_0B,"plastic",var_07); + maps\_vehicle::set_vehicle_effect(var_0B,"rubber",var_07); + maps\_vehicle::set_vehicle_effect(var_0B,"cushion",var_07); + maps\_vehicle::set_vehicle_effect(var_0B,"fruit",var_07); + maps\_vehicle::set_vehicle_effect(var_0B,"paintedmetal",var_07); + maps\_vehicle::set_vehicle_effect(var_0B,"riotshield",var_07); + maps\_vehicle::set_vehicle_effect(var_0B,"slush",var_07); + maps\_vehicle::set_vehicle_effect(var_0B,"default",var_07); + maps\_vehicle::set_vehicle_effect(var_0B,"none",var_07); + } +} + +//Function Number: 5 +treadfx_of_logging_road() +{ + level waittill("vfx_treadfx_littlebird_off"); + var_00[0] = "script_vehicle_littlebird_armed"; + level.treadfx_maxheight = 1000; + var_01 = "vfx/unique/no_fx"; + foreach(var_03 in var_00) + { + maps\_vehicle::set_vehicle_effect(var_03,"brick",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"bark",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"carpet",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"cloth",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"concrete",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"dirt",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"flesh",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"foliage",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"glass",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"grass",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"gravel",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"ice",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"metal",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"mud",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"paper",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"plaster",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"rock",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"sand",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"snow",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"water",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"wood",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"asphalt",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"ceramic",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"plastic",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"rubber",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"cushion",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"fruit",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"paintedmetal",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"riotshield",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"slush",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"default",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"none"); + } +} + +//Function Number: 6 +shack_roof_damage_fx() +{ + soundscripts\_snd::snd_message("aud_shack_explode","lab_shack_roof_damage"); + common_scripts\_exploder::exploder("lab_shack_roof_damage"); +} + +//Function Number: 7 +river_entry_splash_fx() +{ + common_scripts\utility::flag_init("river_entry_splash_fx_flag"); + wait(0.1); + for(;;) + { + common_scripts\utility::flag_wait("river_entry_splash_fx_flag"); + var_00 = (level.player.origin[0],level.player.origin[1],-536); + var_01 = distance(level.player getvelocity(),(0,0,0)); + if(var_01 > 0) + { + wait(max(1 - var_01 / 120,0.1)); + } + else + { + wait(0.3); + } + + if(var_01 > 5) + { + playfx(common_scripts\utility::getfx("lab_player_river_looping_splashes"),var_00,anglestoforward((0,level.player.angles[1],0) + (270,180,0))); + } + + wait(0.1); + } + + common_scripts\utility::flag_waitopen("river_entry_splash_fx_flag"); +} + +//Function Number: 8 +burke_river_entry_splash_fx(param_00) +{ + wait(0.9); + common_scripts\_exploder::exploder("river_entry_splashes"); +} + +//Function Number: 9 +burke_river_looping_splash_fx(param_00) +{ + wait(1); + for(var_01 = 0;var_01 < 20;var_01++) + { + var_02 = (level.burke.origin[0],level.burke.origin[1],-536); + playfx(common_scripts\utility::getfx("lab_burke_river_looping_splashes"),var_02,anglestoforward((0,level.burke.angles[1],0) + (270,180,0))); + wait(0.5); + } + + wait(1.6); + common_scripts\_exploder::exploder("2200"); +} + +//Function Number: 10 +wall_climb_dust_fx() +{ + wait(1); + common_scripts\_exploder::exploder("lab_wall_climb"); +} + +//Function Number: 11 +deer_leaves_fx() +{ + common_scripts\_exploder::exploder("2100"); +} + +//Function Number: 12 +drone_search_light_fx() +{ + wait(0.1); + playfxontag(common_scripts\utility::getfx("drone_search_lt"),self,"tag_origin"); + playfxontag(common_scripts\utility::getfx("drone_beacon_red_slow_nolight"),self,"TAG_FX_BEACON_0"); + playfxontag(common_scripts\utility::getfx("drone_beacon_red_slow_nolight"),self,"TAG_FX_BEACON_1"); + playfxontag(common_scripts\utility::getfx("drone_beacon_red_fast"),self,"TAG_FX_BEACON_2"); +} + +//Function Number: 13 +drone_deer_spot_light(param_00) +{ + wait(0.1); + stopfxontag(common_scripts\utility::getfx("drone_search_lt"),param_00,"tag_origin"); + wait(0.05); + playfxontag(common_scripts\utility::getfx("spotlight_drone_deer"),param_00,"tag_origin"); + wait(8); + killfxontag(common_scripts\utility::getfx("spotlight_drone_deer"),param_00,"tag_origin"); + wait(0.05); + playfxontag(common_scripts\utility::getfx("drone_search_lt"),param_00,"tag_origin"); +} + +//Function Number: 14 +forest_takedown_fx() +{ + wait(1.4); + common_scripts\_exploder::exploder("2400"); + level notify("vfx_treadfx_littlebird_off"); +} + +//Function Number: 15 +burke_tree_slide_fx() +{ + wait(0.1); + common_scripts\_exploder::exploder("2300"); +} + +//Function Number: 16 +mute_device_plant_fx(param_00) +{ + playfxontag(common_scripts\utility::getfx("lab_mute_device_plant_vm"),param_00,"tag_vfx_attach"); + wait(0.15); + playfxontag(common_scripts\utility::getfx("lab_mute_device_lights"),param_00,"spinner"); + wait(10); + stopfxontag(common_scripts\utility::getfx("lab_mute_device_lights"),param_00,"spinner"); + stopfxontag(common_scripts\utility::getfx("lab_mute_device_plant_vm"),param_00,"tag_vfx_attach"); +} + +//Function Number: 17 +mute_breach_explosion() +{ + common_scripts\_exploder::exploder("fx_door_breach_explosion"); + wait(15); + common_scripts\_exploder::kill_exploder("fx_door_breach_explosion"); +} + +//Function Number: 18 +thermite_grenade_1_fx(param_00) +{ + playfxontag(common_scripts\utility::getfx("thermite_grenade_ignite"),param_00,"tag_fx"); + wait(6); + common_scripts\_exploder::exploder("thermite_fire_wall_1"); +} + +//Function Number: 19 +thermite_grenade_2_fx(param_00) +{ + playfxontag(common_scripts\utility::getfx("thermite_grenade_ignite"),param_00,"tag_fx"); + wait(6); + common_scripts\_exploder::exploder("thermite_fire_wall_2"); +} + +//Function Number: 20 +thermite_grenade_3_fx(param_00) +{ + playfxontag(common_scripts\utility::getfx("thermite_grenade_ignite"),param_00,"tag_fx"); + wait(6); + common_scripts\_exploder::exploder("thermite_fire_wall_3"); +} + +//Function Number: 21 +thermite_servers_explosion() +{ + common_scripts\utility::flag_wait("vfx_server_room_exit"); + maps\_utility::delaythread(1,::common_scripts\_exploder::exploder,"thermite_smoke"); +} + +//Function Number: 22 +hillslide_dust_fx(param_00) +{ + wait(0.25); + playfxontag(common_scripts\utility::getfx("dust_foot_hillslide"),param_00,"J_Ball_LE"); + wait(0.1); + playfxontag(common_scripts\utility::getfx("dust_foot_hillslide"),param_00,"J_Ball_RI"); + wait(5); +} + +//Function Number: 23 +tree_head_impact() +{ +} + +//Function Number: 24 +fx_pnematic_anchor(param_00) +{ + playfxontag(common_scripts\utility::getfx("lab_pnematic_anchor"),param_00,"tag_origin"); +} + +//Function Number: 25 +birds_scatter_cliff_rappel() +{ + var_00 = getent("trigger_birds","targetname"); + var_00 waittill("trigger"); + common_scripts\_exploder::exploder(3100); +} + +//Function Number: 26 +logging_road_mud_tracks() +{ + self endon("vehicle_stopping"); + playfxontag(common_scripts\utility::getfx("lab_gaz_mud_tracks"),self,"tag_wheel_back_left_fx"); + playfxontag(common_scripts\utility::getfx("lab_gaz_mud_tracks"),self,"tag_wheel_back_right_fx"); + maps\_utility::ent_flag_init("fx_tire_mud_1_on"); + maps\_utility::ent_flag_wait("fx_tire_mud_1_on"); + playfxontag(common_scripts\utility::getfx("lab_gaz_mud_tracks_2"),self,"tag_wheel_back_left_fx"); + playfxontag(common_scripts\utility::getfx("lab_gaz_mud_tracks_2"),self,"tag_wheel_back_right_fx"); + maps\_utility::ent_flag_init("fx_tire_mud_1_off"); + maps\_utility::ent_flag_wait("fx_tire_mud_1_off"); + stopfxontag(common_scripts\utility::getfx("lab_gaz_mud_tracks_2"),self,"tag_wheel_back_left_fx"); + stopfxontag(common_scripts\utility::getfx("lab_gaz_mud_tracks_2"),self,"tag_wheel_back_right_fx"); +} + +//Function Number: 27 +logging_road_mud_tracks_2() +{ + self endon("vehicle_stopping"); + playfxontag(common_scripts\utility::getfx("lab_gaz_mud_tracks"),self,"tag_wheel_back_left_fx"); + playfxontag(common_scripts\utility::getfx("lab_gaz_mud_tracks"),self,"tag_wheel_back_right_fx"); + maps\_utility::ent_flag_init("fx_tire_mud_2_on"); + maps\_utility::ent_flag_wait("fx_tire_mud_2_on"); + playfxontag(common_scripts\utility::getfx("lab_gaz_mud_tracks_2"),self,"tag_wheel_back_left_fx"); + playfxontag(common_scripts\utility::getfx("lab_gaz_mud_tracks_2"),self,"tag_wheel_back_right_fx"); + maps\_utility::ent_flag_init("fx_tire_mud_2_off"); + maps\_utility::ent_flag_wait("fx_tire_mud_2_off"); + stopfxontag(common_scripts\utility::getfx("lab_gaz_mud_tracks_2"),self,"tag_wheel_back_left_fx"); + stopfxontag(common_scripts\utility::getfx("lab_gaz_mud_tracks_2"),self,"tag_wheel_back_right_fx"); +} + +//Function Number: 28 +vfx_foam_room() +{ + level waittill("vfx_foam_room_explode_start"); + common_scripts\_exploder::exploder(5500); + maps\_utility::stop_exploder(5010); + wait(1); + common_scripts\_exploder::exploder(5507); + wait(10); + maps\_utility::pauseexploder(5500); + wait(70); + maps\_utility::stop_exploder(5507); +} + +//Function Number: 29 +mech_intro_land_dust(param_00) +{ + wait(0.15); + playfxontag(common_scripts\utility::getfx("mech_impact_dust"),param_00,"TAG_ORIGIN"); +} + +//Function Number: 30 +vfx_htank_reveal(param_00) +{ + maps\_utility::delaythread(0,::vfx_htank_exhaust_smk_burst); + maps\_utility::delaythread(0.1,::vfx_htank_exhaust_electricity_powerup); + common_scripts\utility::flag_set("thruster_big"); + maps\_utility::delaythread(0.4,::vfx_htank_thruster_light_flicker,param_00); + maps\_utility::delaythread(0.45,::vfx_htank_thruster_start,param_00); + maps\_utility::delaythread(0.7,::vfx_htank_fake_treadfx_strong); + maps\_utility::delaythread(12,::vfx_htank_thruster_regular,param_00); + maps\_utility::delaythread(12.9,::vfx_htank_disengage_grnd_smk); + maps\_utility::delaythread(14.5,::vfx_htank_fake_treadfx_regular); +} + +//Function Number: 31 +vfx_htank_exhaust_smk_burst() +{ + common_scripts\_exploder::exploder(7702); + wait(0.7); + maps\_utility::pauseexploder(7702); +} + +//Function Number: 32 +vfx_htank_exhaust_electricity_powerup() +{ + common_scripts\_exploder::kill_exploder(7021); + common_scripts\_exploder::kill_exploder(7023); + common_scripts\_exploder::kill_exploder(7022); + thread maps\lab_lighting::turn_off_top_tank_lights(); + common_scripts\_exploder::exploder(7622); + common_scripts\_exploder::exploder(7701); +} + +//Function Number: 33 +vfx_htank_thruster_start(param_00) +{ + playfxontag(common_scripts\utility::getfx("hovertank_exhaust_strong"),param_00,"thruster_FL_FX"); + playfxontag(common_scripts\utility::getfx("hovertank_exhaust_strong"),param_00,"thruster_FR_FX"); + playfxontag(common_scripts\utility::getfx("hovertank_exhaust_strong"),param_00,"thruster_KL_FX"); + playfxontag(common_scripts\utility::getfx("hovertank_exhaust_strong"),param_00,"thruster_KR_FX"); + level waittill("msg_vfx_htank_thrust_regular"); + wait 0.05; + stopfxontag(common_scripts\utility::getfx("hovertank_exhaust_strong"),param_00,"thruster_FL_FX"); + stopfxontag(common_scripts\utility::getfx("hovertank_exhaust_strong"),param_00,"thruster_FR_FX"); + stopfxontag(common_scripts\utility::getfx("hovertank_exhaust_strong"),param_00,"thruster_KL_FX"); + stopfxontag(common_scripts\utility::getfx("hovertank_exhaust_strong"),param_00,"thruster_KR_FX"); +} + +//Function Number: 34 +vfx_htank_thruster_light_flicker(param_00) +{ + var_01 = getent("tank_top_light_01","targetname"); + thread vfx_htank_thruster_light_flicker_off(param_00,var_01); + common_scripts\utility::flag_wait("thruster_big"); + stopfxontag(common_scripts\utility::getfx("hovertank_exhaust_light_flicker_dualSM"),param_00,"tag_origin"); + playfxontag(common_scripts\utility::getfx("hovertank_exhaust_light_flicker_dual"),param_00,"tag_origin"); + wait(25); + common_scripts\utility::flag_waitopen("thruster_big"); + var_01 setlightshadowstate("force_on"); + stopfxontag(common_scripts\utility::getfx("hovertank_exhaust_light_flicker_dual"),param_00,"tag_origin"); + playfxontag(common_scripts\utility::getfx("hovertank_exhaust_light_flicker_dualSM"),param_00,"tag_origin"); +} + +//Function Number: 35 +vfx_htank_thruster_light_flicker_off(param_00,param_01) +{ + level waittill("msg_vfx_player_in_tank"); + param_01 setlightshadowstate("normal"); + stopfxontag(common_scripts\utility::getfx("hovertank_exhaust_light_flicker_dualSM"),param_00,"tag_origin"); +} + +//Function Number: 36 +vfx_htank_fake_treadfx_strong() +{ + common_scripts\_exploder::exploder(7711); + level waittill("msg_vfx_htank_thrust_regular"); + wait(0.25); + maps\_utility::pauseexploder(7711); +} + +//Function Number: 37 +vfx_htank_thruster_regular(param_00) +{ + level notify("msg_vfx_htank_thrust_regular"); + playfxontag(common_scripts\utility::getfx("hovertank_exhaust_regular"),param_00,"thruster_FL_FX"); + playfxontag(common_scripts\utility::getfx("hovertank_exhaust_regular"),param_00,"thruster_FR_FX"); + playfxontag(common_scripts\utility::getfx("hovertank_exhaust_regular"),param_00,"thruster_KL_FX"); + playfxontag(common_scripts\utility::getfx("hovertank_exhaust_regular"),param_00,"thruster_KR_FX"); + level waittill("msg_vfx_player_in_tank"); + stopfxontag(common_scripts\utility::getfx("hovertank_exhaust_regular"),param_00,"thruster_FL_FX"); + stopfxontag(common_scripts\utility::getfx("hovertank_exhaust_regular"),param_00,"thruster_FR_FX"); + stopfxontag(common_scripts\utility::getfx("hovertank_exhaust_regular"),param_00,"thruster_KL_FX"); + stopfxontag(common_scripts\utility::getfx("hovertank_exhaust_regular"),param_00,"thruster_KR_FX"); +} + +//Function Number: 38 +vfx_htank_disengage_grnd_smk() +{ + common_scripts\_exploder::exploder(7703); + wait(0.35); + common_scripts\_exploder::exploder(7704); + wait(2); + maps\_utility::pauseexploder(7703); +} + +//Function Number: 39 +vfx_htank_fake_treadfx_regular() +{ + common_scripts\_exploder::exploder(7712); + level waittill("msg_vfx_player_in_tank"); + maps\_utility::pauseexploder(7712); +} + +//Function Number: 40 +se_exfil_fx() +{ + maps\_utility::delaythread(0.4,::vehicle_scripts\_razorback_fx::play_back_thruster_light_rz); + maps\_utility::delaythread(0.45,::vehicle_scripts\_razorback_fx::play_front_thruster_light_rz); + maps\_utility::delaythread(3.8,::vehicle_scripts\_razorback_fx::stop_back_thruster_light_rz); + maps\_utility::delaythread(6.5,::vehicle_scripts\_razorback_fx::stop_front_thruster_light_rz); + common_scripts\utility::flag_wait("flag_player_exfil_enter"); + wait(15); +} + +//Function Number: 41 +vfx_htank_explosion(param_00) +{ + playfxontag(common_scripts\utility::getfx("hovertank_death_explosion_initial"),level.hovertank_exterior_model,"TAG_DEATH_FX"); + soundscripts\_snd::snd_message("tank_exfil_charges"); + wait(0.5); + playfxontag(common_scripts\utility::getfx("hovertank_death_explosion"),level.hovertank_exterior_model,"TAG_DEATH_FX"); + if(isdefined(level.hovertank_exterior_model)) + { + level.hovertank_exterior_model common_scripts\utility::delaycall(0.5,::setmodel,"vehicle_mil_hovertank_dstrypv"); + } + + soundscripts\_snd::snd_message("tank_exfil_detonate"); + maps\_utility::delaythread(2.7,::common_scripts\_exploder::exploder,10001); + maps\_utility::delaythread(2.8,::common_scripts\_exploder::exploder,10002); +} \ No newline at end of file diff --git a/AW/PC/maps/lab_lighting.gsc b/AW/PC/maps/lab_lighting.gsc new file mode 100644 index 0000000..0476dc4 --- /dev/null +++ b/AW/PC/maps/lab_lighting.gsc @@ -0,0 +1,1583 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: lab_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 91 + * Decompile Time: 1309 ms + * Timestamp: 4/22/2024 2:33:01 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + thread set_level_lighting_values(); + init_level_lighting_flags(); + thread setup_flickerlight_presets(); + thread lab_climb_lighting(); + thread breach_lighting(); + thread breach_dof(); + thread setup_dof_default_interior(); + thread setup_server_room_lighting(); + thread setup_dof_server_room(); + thread setup_server_room_door_open_lighting(); + thread setup_orange_room_enter_volume(); + thread setup_orange_room_exit_volume(); + thread setup_dof_mini_atrium(); + thread setup_sunlight_off(); + thread lighting_vehicle_takedown_01_lerp(); + thread tank_reveal_lighting(); + thread tank_reveal_models(); + thread sun_light_reset(); + thread outer_space_lighting(); + thread red_light_strobe_courtyard(); + precacherumble("heavy_1s"); + precacherumble("heavy_2s"); + precacherumble("heavy_3s"); + precacherumble("light_1s"); + precacherumble("light_2s"); + precacherumble("light_3s"); +} + +//Function Number: 2 +init_level_lighting_flags() +{ + common_scripts\utility::flag_init("breach_start"); + common_scripts\utility::flag_init("player_climbing_wall_lighting"); + common_scripts\utility::flag_init("flag_forest_climb_wall_complete_lighting"); + common_scripts\utility::flag_init("flag_rappel_start_lighting"); + common_scripts\utility::flag_init("open_server_room_door_lighting"); + common_scripts\utility::flag_init("bio_weapons_hack_lighting"); + common_scripts\utility::flag_init("flag_server_room_start_lighting"); +} + +//Function Number: 3 +set_level_lighting_values() +{ + if(level.nextgen) + { + setsaveddvar("r_hemiAoEnable",1); + } + + if(isusinghdr()) + { + setsaveddvar("r_disableLightSets",0); + setsunflareposition((-30,110,0)); + if(level.currentgen) + { + level.player lightsetforplayer("crash_hut"); + } + + if(level.nextgen) + { + setsaveddvar("r_dynamicOpl",1); + } + } +} + +//Function Number: 4 +setup_flickerlight_presets() +{ + maps\_lighting::create_flickerlight_preset("server_room_fire",(1,0.4246,0.2),(0.26,0.06,0),0.005,0.2,8); +} + +//Function Number: 5 +lab() +{ + level.player lightsetforplayer("lab"); + thread enable_motion_blur_rotation(); + thread maps\_utility::vision_set_fog_changes("lab",0); + level.player setclutforplayer("clut_lab_exterior",0); + thread intro_dof(); + thread crash_fire_light(); + thread hill_slide(); + thread heli_spotlight_exposure_change(); +} + +//Function Number: 6 +intro_dof() +{ + wait(5); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",1); + } + + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(2,33); + wait(15); + level.player disablephysicaldepthoffieldscripting(); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",0); + } +} + +//Function Number: 7 +crash_fire_light() +{ + if(level.nextgen) + { + var_00 = getent("crash_fire_light","targetname"); + var_00 setlightcolor((1,0.4,0.1)); + var_00 setlightintensity(1000000); + } + + wait(12); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("crash_fire_light",0.5,0); + } +} + +//Function Number: 8 +heli_spotlight_exposure_change() +{ + wait(14); + if(level.nextgen) + { + level.player lightsetforplayer("heli_spot_on"); + } +} + +//Function Number: 9 +hill_slide() +{ + common_scripts\utility::flag_wait("flag_player_slide_start"); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",1); + } + + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(2,320,30,30); + earthquake(0.25,3,level.player.origin,400); + wait(6); + level.player setphysicaldepthoffield(2,500,30,30); + wait(2); + level.player disablephysicaldepthoffieldscripting(); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",0); + } +} + +//Function Number: 10 +enter_forest() +{ + level.player lightsetforplayer("enter_forest"); + level.player setclutforplayer("clut_lab_exterior",0); + thread maps\_utility::vision_set_fog_changes("lab_enter_forest",0.01); + thread enable_motion_blur_rotation(); +} + +//Function Number: 11 +lab_climb_lighting() +{ + wait(0.1); + thread lt_root_climb_rim_intensity_init(); + thread lt_root_climb_key_intensity_init(); + thread tree_roots_lighting(); + common_scripts\utility::flag_wait("player_climbing_wall_lighting"); + thread disable_motion_blur(); + thread lab_root_climb_vision(); + thread lab_root_climb_dof(); + thread lt_root_climb_key_shadow_res(); + thread lab_climb_rim_lighting_off(); +} + +//Function Number: 12 +lt_root_climb_rim_intensity_init() +{ + if(level.nextgen) + { + var_00 = getent("lt_root_climb_rim","targetname"); + wait(0.1); + var_00 setlightintensity(40000); + } +} + +//Function Number: 13 +lt_root_climb_key_intensity_init() +{ + if(level.nextgen) + { + var_00 = getent("lt_root_climb_key","targetname"); + wait(0.1); + var_00 setlightintensity(14000); + } +} + +//Function Number: 14 +lt_root_climb_key_shadow_res() +{ + wait(2); + if(level.nextgen) + { + var_00 = getent("lt_root_climb_key","targetname"); + var_00 setlightfovrange(40,30); + } + + common_scripts\utility::flag_wait("flag_forest_climb_wall_complete_lighting"); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("lt_root_climb_key",1,0); + } + + thread forest_takedown(); +} + +//Function Number: 15 +lab_root_climb_vision() +{ + setsunflareposition((-70,110,0)); + maps\_utility::vision_set_fog_changes("lab_root_climb",1); +} + +//Function Number: 16 +lab_root_climb_dof() +{ + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(2,58); +} + +//Function Number: 17 +lab_climb_rim_lighting_off() +{ + common_scripts\utility::flag_wait("flag_player_cloak_on_pressed"); + if(level.nextgen) + { + level.player lightsetforplayer("climb_shadow_tweak"); + } + + level.player setphysicaldepthoffield(3,20,3,3); + wait(2); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("lt_root_climb_rim",1,0); + } + + common_scripts\utility::flag_wait("flag_forest_climb_wall_complete_lighting"); + level.player disablephysicaldepthoffieldscripting(); + thread disable_motion_blur(); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",0); + } +} + +//Function Number: 18 +tree_roots_lighting() +{ + var_00 = getent("lighting_reflection_tree","targetname"); + var_01 = getent("lighting_centroid_tree","targetname"); + var_02 = getent("wallclimb_roots","targetname"); + var_02 overridereflectionprobe(var_00.origin); + var_02 overridelightingorigin(var_01.origin); +} + +//Function Number: 19 +forest_takedown() +{ + level.player lightsetforplayer("logging_road"); + maps\_utility::vision_set_fog_changes("lab_logging_road",0); + thread forest_takedown_dof(); +} + +//Function Number: 20 +forest_takedown_dof() +{ + common_scripts\utility::flag_wait("flag_se_takedown_01_started"); + thread enable_motion_blur_rotation(); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",1); + } + + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(2,25,30,30); + wait(5.5); + level.player setphysicaldepthoffield(2,75,5,5); + wait(1.5); + level.player disablephysicaldepthoffieldscripting(); + thread disable_motion_blur(); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",0); + } +} + +//Function Number: 21 +logging_road() +{ + level.player lightsetforplayer("logging_road"); + maps\_utility::vision_set_fog_changes("lab_logging_road",0); + level.player setclutforplayer("clut_lab_exterior",0); +} + +//Function Number: 22 +vrap_takedown_lights_on() +{ + if(level.nextgen) + { + wait(0.1); + var_00 = getent("head_lights_vrap_takedown_b","targetname"); + var_01 = getent("head_lights_vrap_takedown_c","targetname"); + wait(1); + var_00 setlightintensity(1000000); + } +} + +//Function Number: 23 +vrap_takedown_lights_off(param_00) +{ + if(level.nextgen) + { + wait(0.1); + var_01 = getent("head_lights_vrap_takedown_b","targetname"); + var_02 = getent("head_lights_vrap_takedown_c","targetname"); + wait(0.1); + var_01 setlightintensity(0); + var_02 setlightintensity(0); + } + + soundscripts\_snd::snd_message("takedown_truck_lights_off"); + level notify("takedown_lights_off"); +} + +//Function Number: 24 +lighting_vehicle_takedown_01_on() +{ + wait(0.05); + common_scripts\_exploder::exploder(2132); + if(level.nextgen) + { + var_00 = getent("take_down_light_01","targetname"); + var_01 = getent("take_down_light_02","targetname"); + wait(0.05); + var_00 setlightintensity(10000); + wait(0.05); + var_01 setlightintensity(10000); + level waittill("takedown_lights_off"); + } + + maps\_utility::stop_exploder(2132); +} + +//Function Number: 25 +lighting_vehicle_takedown_01_lerp() +{ + level waittill("takedown_lights_off"); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("take_down_light_01",0.5,0); + thread maps\_lighting::lerp_spot_intensity("take_down_light_02",0.5,0); + } +} + +//Function Number: 26 +lighting_vehicle_takedown_01(param_00) +{ + if(isdefined(param_00.helmet_tag)) + { + param_00.helmet_tag delete(); + } + + param_00.helmet_tag = common_scripts\utility::spawn_tag_origin(); + var_01 = param_00.helmet_tag; + var_01 linkto(param_00,"J_Head",(0,55,0),(0,0,0),0); + thread vehicle_takedown_01_dof(); + wait(0.5); + playfxontag(common_scripts\utility::getfx("point_blue_fill"),var_01,"tag_origin"); + wait(2.3); + stopfxontag(common_scripts\utility::getfx("point_blue_fill"),var_01,"tag_origin"); +} + +//Function Number: 27 +vehicle_takedown_01_dof() +{ + thread enable_motion_blur_rotation(); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",1); + } + + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(3,65,30,30); + wait(2.7); + level.player setphysicaldepthoffield(2,115,30,30); + wait(7); + thread disable_motion_blur(); + level.player disablephysicaldepthoffieldscripting(); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",0); + } +} + +//Function Number: 28 +logging_road_gaz_headlight_moment() +{ + var_00 = common_scripts\utility::spawn_tag_origin(); + playfxontag(common_scripts\utility::getfx("headlight_gaz_spotlight"),var_00,"tag_origin"); + var_00 linkto(self,"TAG_HEADLIGHT_LEFT",(0,0,0),(0,0,0)); + wait(20); + killfxontag(common_scripts\utility::getfx("headlight_gaz_spotlight"),var_00,"tag_origin"); +} + +//Function Number: 29 +logging_road_post_vrap() +{ + level.player lightsetforplayer("logging_road_post_vrap"); + maps\_utility::vision_set_fog_changes("lab_logging_road_post_vrap",0); +} + +//Function Number: 30 +cliff_rappel() +{ + level.player lightsetforplayer("cliff_rappel"); + thread maps\_utility::vision_set_fog_changes("lab_cliff_rappel",0); + level.player setclutforplayer("clut_lab_exterior",0); +} + +//Function Number: 31 +cliff_rappel_lighting_setup() +{ + thread cliff_rappel_lighting_init(); + thread cliff_rappel_moment(); + thread cliff_rappel_landing(); +} + +//Function Number: 32 +cliff_rappel_lighting_init() +{ + if(level.nextgen) + { + var_00 = getent("cliff_light_key","targetname"); + var_01 = getent("cliff_light_fill","targetname"); + var_02 = getent("cliff_light_rim","targetname"); + thread maps\_lighting::lerp_spot_intensity("cliff_light_key",1,200000); + var_00 setlightcolor((1,1,1)); + thread maps\_lighting::lerp_spot_intensity("cliff_light_fill",1,600000); + thread maps\_lighting::lerp_spot_intensity("cliff_light_rim",1,500000); + common_scripts\utility::flag_wait("flag_rappel_start_lighting"); + var_00 setlightfovrange(28,24); + var_01 setlightfovrange(40,33); + var_02 setlightfovrange(45,40); + } +} + +//Function Number: 33 +cliff_rappel_moment() +{ + common_scripts\utility::flag_wait("flag_rappel_start_lighting"); + thread cliff_rappel_shadow_tweaks(); + maps\_utility::vision_set_fog_changes("lab_cliff_rappel_moment",2.5); + thread enable_motion_blur_rotation(); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",1); + } + + level.player enablephysicaldepthoffieldscripting(); + wait(1.5); + level.player setphysicaldepthoffield(2,15,30,30); + wait(4); + level.player setphysicaldepthoffield(2,38,30,30); + wait(5.5); + level.player setphysicaldepthoffield(5,50,30,30); +} + +//Function Number: 34 +cliff_rappel_shadow_tweaks() +{ + wait(0.45); + level.player lightsetforplayer("cliff_rappel_spike"); + wait(5.5); + level.player lightsetforplayer("cliff_rappel_moment"); + wait(3.5); + level.player lightsetforplayer("cliff_rappel_jump"); + wait(3); + level.player lightsetforplayer("cliff_rappel_moment"); + common_scripts\utility::flag_wait("flag_rappel_player_input_start"); + if(level.nextgen) + { + level.player lightsetforplayer("facility_breach"); + } +} + +//Function Number: 35 +cliff_rappel_lerpsun() +{ + if(level.nextgen) + { + wait(0.45); + lerpsunangles((-50,110,0),(-50,-11,0),0.1,0,0); + wait(5.5); + lerpsunangles((-50,-11,0),(-50,110,0),0.1,0,0); + } +} + +//Function Number: 36 +cliff_rappel_landing() +{ + level waittill("cliff_rappel_landing"); + thread maps\_utility::vision_set_fog_changes("lab_facility_breach",2); + thread lab_camera_light(); + level.player disablephysicaldepthoffieldscripting(); + thread disable_motion_blur(); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",0); + } +} + +//Function Number: 37 +lab_camera_light() +{ + if(level.nextgen) + { + var_00 = getent("lab_camera_light","targetname"); + var_00 setlightintensity(500000); + var_00 setlightcolor((0.3,0.5,1)); + common_scripts\utility::flag_wait("flag_light_security_camera_off"); + var_00 setlightintensity(0); + } +} + +//Function Number: 38 +facility_breach() +{ + level.player lightsetforplayer("facility_breach"); + maps\_utility::vision_set_fog_changes("lab_facility_breach",0); + level.player setclutforplayer("clut_lab_exterior",0); + thread lab_camera_light(); +} + +//Function Number: 39 +breach_fx() +{ + common_scripts\_exploder::exploder("breach_smoke_1"); + if(level.currentgen) + { + } +} + +//Function Number: 40 +breach_lighting() +{ + if(level.nextgen) + { + wait(1); + thread maps\_lighting::lerp_spot_intensity("lab_breach_key",2,100000); + common_scripts\utility::flag_wait("breach_start"); + thread maps\_utility::sun_light_fade((0.5,0.5,0.5),(0.1,0.1,0.1),1); + thread enable_motion_blur_rotation(); + thread maps\_lighting::lerp_spot_intensity("lab_breach_rim",2,300000); + wait(1.8); + thread maps\_utility::vision_set_fog_changes("lab_facility_breach_moment",0.1); + level.player lightsetforplayer("facility_breach_moment"); + wait(10.25); + thread disable_motion_blur(); + level.player lightsetforplayer("breach_room"); + level.player setclutforplayer("clut_lab_breach_brick_interior",0.25); + thread maps\_utility::vision_set_fog_changes("lab_facility_breach_room",5); + } + + if(level.currentgen) + { + wait(1); + common_scripts\utility::flag_wait("breach_start"); + wait(1.8); + thread maps\_utility::vision_set_fog_changes("lab_facility_breach_moment",0.1); + level.player lightsetforplayer("facility_breach_moment"); + wait(8); + level.player lightsetforplayer("breach_fx"); + wait(2); + level.player lightsetforplayer("breach_room"); + } +} + +//Function Number: 41 +breach_dof() +{ + common_scripts\utility::flag_wait("breach_start"); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",1); + } + + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(1,61,30,30); + wait(1.5); + level.player setphysicaldepthoffield(1.5,19,30,30); + wait(2); + level.player setphysicaldepthoffield(1.5,93,30,30); + wait(10); + level.player disablephysicaldepthoffieldscripting(); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",0); + } +} + +//Function Number: 42 +setup_dof_default_interior() +{ + var_00 = getentarray("lab_DOF_default_interior_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_dof_default_interior_volume(); + } +} + +//Function Number: 43 +setup_dof_default_interior_volume() +{ + self waittill("trigger"); +} + +//Function Number: 44 +building_1() +{ + level.player lightsetforplayer("building_1_bright"); + maps\_utility::vision_set_fog_changes("lab_building_1",0); + level.player setclutforplayer("clut_lab_breach_interior",0.25); +} + +//Function Number: 45 +setup_server_room_lighting() +{ + wait(1); + common_scripts\utility::flag_wait("flag_server_room_start_lighting"); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("lab_server_room_fill",1,175000); + } + + resetsunlight(); + common_scripts\_exploder::exploder(4031); + common_scripts\_exploder::exploder(4032); + common_scripts\_exploder::exploder(4033); + common_scripts\_exploder::exploder(4034); + common_scripts\utility::flag_wait("bio_weapons_hack_lighting"); + wait(24.5); + common_scripts\_exploder::kill_exploder(4031); + common_scripts\_exploder::kill_exploder(4032); + common_scripts\_exploder::exploder(4132); + wait(3.4); + common_scripts\_exploder::kill_exploder(4033); + common_scripts\_exploder::exploder(4133); + if(level.nextgen) + { + maps\_lighting::play_flickerlight_preset("server_room_fire","server_room_exit_doorway_light",10000000); + } + + wait(4.4); + common_scripts\_exploder::kill_exploder(4034); + common_scripts\_exploder::exploder(4134); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("lab_server_room_fill",3,250000); + maps\_lighting::play_flickerlight_preset("server_room_fire","lab_server_room_fill",250000); + maps\_lighting::play_flickerlight_preset("server_room_fire","server_room_main_rim_light",250000); + } +} + +//Function Number: 46 +setup_dof_server_room() +{ + common_scripts\utility::flag_wait("bio_weapons_hack_lighting"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + setsaveddvar("r_dof_physical_bokehEnable",1); + } + + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(1.2,200); + wait(25.9); + level.player setphysicaldepthoffield(1.2,57); + wait(7.4); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + setsaveddvar("r_mbCameraRotationInfluence","0"); + setsaveddvar("r_dof_physical_bokehEnable",0); + } + + level.player disablephysicaldepthoffieldscripting(); +} + +//Function Number: 47 +setup_server_room_door_open_lighting() +{ + common_scripts\utility::flag_wait("bio_weapons_hack_lighting"); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("lab_server_door_open",1,160000); + } + + common_scripts\utility::flag_wait("open_server_room_door_lighting"); + wait(0.1); + level.player lightsetforplayer("after_server_room_bright"); + wait(5); + level.player lightsetforplayer("building_1"); +} + +//Function Number: 48 +setup_orange_room_enter_volume() +{ + var_00 = getentarray("orange_room_enter_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_orange_room_enter(); + } +} + +//Function Number: 49 +setup_orange_room_enter() +{ + for(;;) + { + self waittill("trigger"); + thread maps\_lighting::lerp_spot_intensity("courtyard_exterior_light_01",1,0); + } +} + +//Function Number: 50 +setup_orange_room_exit_volume() +{ + var_00 = getentarray("orange_room_exit_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_orange_room_exit(); + } +} + +//Function Number: 51 +setup_orange_room_exit() +{ + for(;;) + { + self waittill("trigger"); + thread maps\_lighting::lerp_spot_intensity("courtyard_exterior_light_01",1,150000); + } +} + +//Function Number: 52 +building_research_bridge() +{ + level.player lightsetforplayer("building_1"); + maps\_utility::vision_set_fog_changes("lab_connecting_hallway",0); + level.player setclutforplayer("clut_lab_orange_interior",0.25); +} + +//Function Number: 53 +setup_dof_mini_atrium() +{ + var_00 = getentarray("lab_DOF_mini_atrium_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_dof_mini_atrium_volume(); + } +} + +//Function Number: 54 +setup_dof_mini_atrium_volume() +{ + self waittill("trigger"); +} + +//Function Number: 55 +setup_sunlight_off() +{ + if(level.nextgen) + { + var_00 = getentarray("lab_sunlight_tweak_off_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_sunlight_off_volume(); + } + } +} + +//Function Number: 56 +setup_sunlight_off_volume() +{ + for(;;) + { + self waittill("trigger"); + wait(0.1); + setsunlight(0,0,0); + } +} + +//Function Number: 57 +foam_room() +{ + level.player lightsetforplayer("foam_room_frost"); + maps\_utility::vision_set_fog_changes("lab_foam_room_frost",0); + level.player setclutforplayer("clut_lab_blue_interior",0.25); +} + +//Function Number: 58 +foam_plant_dof() +{ + enable_motion_blur_rotation(); + wait(1); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",1); + } + + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(3.5,10,5,5); + wait(2); + level.player setphysicaldepthoffield(3.5,20,30,30); + level waittill("reset_plant_dof"); + level.player disablephysicaldepthoffieldscripting(); + disable_motion_blur(); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",0); + } + + if(level.nextgen) + { + setsunlight(0,0,0); + } +} + +//Function Number: 59 +courtyard() +{ + level.player lightsetforplayer("locker_room"); + maps\_utility::vision_set_fog_changes("lab_locker_room",0); + level.player setclutforplayer("clut_lab_blue_interior",0.25); + if(level.nextgen) + { + setsunlight(0,0,0); + } +} + +//Function Number: 60 +courtyard_jammer() +{ + level.player lightsetforplayer("enter_courtyard"); + maps\_utility::vision_set_fog_changes("lab_enter_courtyard",0); + level.player setclutforplayer("clut_lab_courtyard",0.25); + if(level.nextgen) + { + setsunlight(0,0,0); + } + + level notify("courtyard_red_strobe"); +} + +//Function Number: 61 +courtyard_jammer_plant_dof() +{ + enable_motion_blur_rotation(); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",1); + } + + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(2.5,14,2,2); + wait(2.5); + level.player setphysicaldepthoffield(3.5,25,2,2); + level waittill("reset_jammer_plant_dof"); + level.player disablephysicaldepthoffieldscripting(); + disable_motion_blur(); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",0); + } +} + +//Function Number: 62 +courtyard_sun_off() +{ + wait(0.1); + if(level.nextgen) + { + setsunlight(0,0,0); + } +} + +//Function Number: 63 +tank_hangar() +{ + maps\_utility::vision_set_fog_changes("lab_courtyard_walkway",0); + level.player lightsetforplayer("courtyard_walkway"); + level.player setclutforplayer("clut_lab_courtyard",0.25); + if(level.nextgen) + { + setsunlight(0,0,0); + } +} + +//Function Number: 64 +tank_reveal_models() +{ + wait(0.05); + var_00 = ["light_models_on_01","light_models_on_02","light_models_on_03","light_models_on_04","light_models_on_05","light_models_on_06","light_models_on_07"]; + foreach(var_02 in var_00) + { + foreach(var_04 in getentarray(var_02,"targetname")) + { + var_04 hide(); + } + } + + var_07 = getent("tank_top_light_01","targetname"); + var_08 = getent("tank_top_light_02","targetname"); + var_09 = getent("tank_top_light_03","targetname"); + var_0A = getent("tank_top_light_04","targetname"); + if(level.nextgen) + { + var_0A setlightshadowstate("force_on"); + } + + var_0B = getent("tank_top_light_bounce_01","targetname"); + var_0C = getent("tank_top_light_bounce_02","targetname"); + var_0D = getent("tank_top_light_bounce_03","targetname"); + var_0E = getent("tank_top_light_bounce_04","targetname"); + common_scripts\utility::flag_wait("tank_reveal_volume"); + if(level.nextgen) + { + var_0A setlightshadowstate("force_on"); + } + + common_scripts\_exploder::exploder(7913); + if(level.nextgen) + { + wait(1); + var_09 setlightintensity(1000000); + var_0D setlightintensity(5000); + wait(1); + var_0A setlightintensity(1000000); + var_0E setlightintensity(5000); + wait(1); + var_07 setlightintensity(1000000); + var_0B setlightintensity(5000); + wait(1); + var_08 setlightintensity(1000000); + var_0C setlightintensity(5000); + } + + common_scripts\utility::flag_wait("player_entering_hovertank"); + if(level.nextgen) + { + var_0A setlightshadowstate("force_off"); + } +} + +//Function Number: 65 +tank_reveal_models_start_point() +{ + wait(0.1); + var_00 = ["floor_light_models_off_02","floor_light_models_off_03","floor_light_models_off_04"]; + var_01 = ["Light_dyn_on_01","Light_dyn_on_02","Light_dyn_on_03","Light_dyn_on_04","Light_dyn_on_05"]; + var_02 = ["tank_top_light_01","tank_top_light_02","tank_top_light_03","tank_top_light_04"]; + var_03 = ["tank_top_light_bounce_01","tank_top_light_bounce_02","tank_top_light_bounce_03","tank_top_light_bounce_04"]; + var_04 = ["light_models_on_01","light_models_on_02","light_models_on_03","light_models_on_04","light_models_on_05","light_models_on_06","light_models_on_07"]; + foreach(var_06 in var_04) + { + foreach(var_08 in getentarray(var_06,"targetname")) + { + var_08 show(); + } + } + + foreach(var_06 in var_00) + { + foreach(var_08 in getentarray(var_06,"targetname")) + { + var_08 hide(); + } + } + + foreach(var_06 in var_01) + { + foreach(var_11 in getentarray(var_06,"targetname")) + { + var_11 setlightintensity(100000); + } + } + + foreach(var_06 in var_02) + { + foreach(var_11 in getentarray(var_06,"targetname")) + { + var_11 setlightintensity(1000000); + } + } + + foreach(var_06 in var_03) + { + foreach(var_11 in getentarray(var_06,"targetname")) + { + var_11 setlightintensity(5000); + } + } + + common_scripts\_exploder::exploder(7011); + common_scripts\_exploder::exploder(7012); + common_scripts\_exploder::exploder(7013); + common_scripts\_exploder::exploder(7014); + common_scripts\_exploder::exploder(7015); +} + +//Function Number: 66 +tank_reveal_lighting() +{ + wait(0.05); + var_00 = getentarray("Light_dyn_on_01","targetname"); + var_01 = getentarray("Light_dyn_on_02","targetname"); + var_02 = getentarray("Light_dyn_on_03","targetname"); + var_03 = getentarray("Light_dyn_on_04","targetname"); + var_04 = getentarray("Light_dyn_on_05","targetname"); + var_05 = getentarray("Light_dyn_on_06","targetname"); + var_06 = getentarray("light_models_on_01","targetname"); + var_07 = getentarray("light_models_on_02","targetname"); + var_08 = getentarray("light_models_on_03","targetname"); + var_09 = getentarray("light_models_on_04","targetname"); + var_0A = getentarray("light_models_on_05","targetname"); + var_0B = getentarray("light_models_on_06","targetname"); + var_0C = getentarray("light_models_on_07","targetname"); + var_0D = getentarray("floor_light_models_off_02","targetname"); + var_0E = getentarray("floor_light_models_off_03","targetname"); + var_0F = getentarray("floor_light_models_off_04","targetname"); + wait(0.05); + common_scripts\utility::flag_wait("tank_reveal_volume"); + wait(1); + soundscripts\_snd::snd_message("hangar_lights_on"); + common_scripts\_exploder::exploder(7011); + common_scripts\_exploder::exploder(7021); + foreach(var_11 in var_00) + { + var_11 setlightintensity(100000); + } + + foreach(var_14 in var_06) + { + var_14 show(); + } + + wait(1); + common_scripts\_exploder::exploder(7012); + common_scripts\_exploder::exploder(7022); + foreach(var_11 in var_01) + { + var_11 setlightintensity(100000); + } + + foreach(var_14 in var_07) + { + var_14 show(); + } + + foreach(var_14 in var_0D) + { + var_14 hide(); + } + + var_1C = getent("blue_flicker","targetname"); + if(isdefined(var_1C)) + { + var_1C setlightintensity(55000); + var_1C setlightshadowstate("force_on"); + } + + wait(1); + common_scripts\_exploder::exploder(7013); + common_scripts\_exploder::exploder(7023); + foreach(var_11 in var_02) + { + var_11 setlightintensity(100000); + } + + foreach(var_14 in var_08) + { + var_14 show(); + } + + foreach(var_14 in var_0E) + { + var_14 hide(); + } + + wait(1); + common_scripts\_exploder::exploder(7014); + foreach(var_11 in var_03) + { + var_11 setlightintensity(100000); + } + + foreach(var_14 in var_09) + { + var_14 show(); + } + + foreach(var_14 in var_0F) + { + var_14 hide(); + } + + wait(1); + common_scripts\_exploder::exploder(7015); + foreach(var_11 in var_04) + { + var_11 setlightintensity(100000); + } + + foreach(var_11 in var_05) + { + var_11 setlightintensity(10000); + } + + foreach(var_14 in var_0A) + { + var_14 show(); + } + + wait(1); + common_scripts\_exploder::exploder(7016); + foreach(var_14 in var_0B) + { + var_14 show(); + } + + wait(1); + common_scripts\_exploder::exploder(7017); + level waittill("stair_lights"); + foreach(var_14 in var_0C) + { + var_14 show(); + } + + common_scripts\utility::flag_wait("player_entering_hovertank"); + if(isdefined(var_1C)) + { + var_1C setlightshadowstate("force_off"); + } +} + +//Function Number: 67 +stair_wait() +{ + wait(28); + level notify("stair_lights"); +} + +//Function Number: 68 +tank_field_nightvision() +{ + level.player lightsetforplayer("tank_nightvision"); + maps\_utility::vision_set_fog_changes("lab_tank_thermal",0); +} + +//Function Number: 69 +tank_board() +{ + level.player lightsetforplayer("tank_hangar"); + maps\_utility::vision_set_fog_changes("lab_tank_hangar",0); + level.player setclutforplayer("clut_lab_tank_hangar",0.25); + if(level.nextgen) + { + setsunlight(0,0,0); + } +} + +//Function Number: 70 +tank_board_enter() +{ + wait(0.1); + common_scripts\_exploder::exploder(7122); + resetsunlight(); + level.player lightsetforplayer("tank_board"); + enable_motion_blur_rotation(); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",1); + } + + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(3,36,2,2); + wait(2); + common_scripts\_exploder::kill_exploder(7622); + level waittill("tank_switch"); + level.player disablephysicaldepthoffieldscripting(); + wait(1.5); + common_scripts\_exploder::kill_exploder(7122); + disable_motion_blur(); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",0); + } + + level.player lightsetforplayer("enter_courtyard_2"); +} + +//Function Number: 71 +tank_board_enter_top_lights() +{ + wait(2); + var_00 = getent("tank_board_light","targetname"); + wait(0.05); + var_01 = getent("tank_top_light_02","targetname"); + if(isdefined(var_01)) + { + var_01 setlightintensity(0); + } + + var_02 = getent("tank_top_light_03","targetname"); + if(isdefined(var_02)) + { + var_02 setlightintensity(0); + } + + wait(0.05); + var_03 = getent("tank_top_light_04","targetname"); + if(isdefined(var_03)) + { + var_03 setlightshadowstate("normal"); + var_03 setlightintensity(0); + } + + wait(3.5); + var_04 = getent("tank_top_light_01","targetname"); + if(isdefined(var_04)) + { + var_04 setlightintensity(0); + } +} + +//Function Number: 72 +hovertank_turrent_light(param_00) +{ + param_00.spot_main = common_scripts\utility::spawn_tag_origin(); + var_01 = param_00.spot_main; + var_01 linkto(param_00,"barrel",(80,50,0),(180,90,0),0); + wait(1.5); + playfxontag(common_scripts\utility::getfx("point_blue_fill_tank_gun"),var_01,"TAG_ORIGIN"); +} + +//Function Number: 73 +hovertank_turrent_reflection(param_00) +{ + var_01 = getent("reflection_dark","targetname"); + param_00 common_scripts\utility::delaycall(0.05,::overridereflectionprobe,var_01.origin); +} + +//Function Number: 74 +tank_road() +{ + resetsunlight(); + level.player lightsetforplayer("tank_field"); + maps\_utility::vision_set_fog_changes("lab_tank_field",0); + level.player setclutforplayer("clut_lab_tank",0); +} + +//Function Number: 75 +tank_field() +{ + resetsunlight(); + level.player lightsetforplayer("tank_field"); + maps\_utility::vision_set_fog_changes("lab_tank_field",0); + level.player setclutforplayer("clut_lab_tank",0); +} + +//Function Number: 76 +tank_exit_dof_reset() +{ + setsunlight(0,0,0); + common_scripts\_exploder::exploder(9123); + enable_motion_blur_rotation(); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",1); + } + + var_00 = getent("tank_exit_light","targetname"); + var_01 = getent("tank_exit_light_char","targetname"); + thread exfil(); + level waittill("hovertank_show_exterior"); + if(level.nextgen) + { + var_00 setlightcolor((0.5,0.8,1)); + var_00 setlightintensity(300000); + var_01 setlightcolor((0.5,0.8,1)); + var_01 setlightintensity(40000); + } + + wait(2); + resetsunlight(); + common_scripts\_exploder::exploder(9158); + wait(1.25); + common_scripts\_exploder::kill_exploder(9123); + common_scripts\_exploder::exploder(9157); + wait(5); + common_scripts\_exploder::kill_exploder(9158); + wait(7); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",0); + } + + disable_motion_blur(); + if(level.nextgen) + { + var_00 setlightintensity(0); + var_01 setlightintensity(0); + } +} + +//Function Number: 77 +tank_field_lft_frk() +{ + level.player lightsetforplayer("tank_field_lft_frk"); + maps\_utility::vision_set_fog_changes("lab_tank_field_lft_frk",0); + level.player setclutforplayer("clut_lab_tank",0); +} + +//Function Number: 78 +tank_field_rgt_frk() +{ + level.player lightsetforplayer("tank_field_rgt_frk"); + maps\_utility::vision_set_fog_changes("lab_tank_field_rgt_frk",0); + level.player setclutforplayer("clut_lab_tank",0); +} + +//Function Number: 79 +tank_ascent() +{ + level.player lightsetforplayer("tank_ascent"); + maps\_utility::vision_set_fog_changes("lab_tank_ascent",0); + level.player setclutforplayer("clut_lab_tank",0); +} + +//Function Number: 80 +exfil() +{ + level.player lightsetforplayer("exfil"); + common_scripts\_exploder::exploder(9157); + maps\_utility::vision_set_fog_changes("lab_tank_exfil",0); + level.player setclutforplayer("clut_lab_tank",0); +} + +//Function Number: 81 +sun_light_reset() +{ + level.defaultsunlight = getmapsunlight(); +} + +//Function Number: 82 +outer_space_lighting() +{ + var_00 = getent("amb_test","targetname"); + enableouterspacemodellighting(var_00.origin,(0.2,0.25,0.35)); +} + +//Function Number: 83 +red_light_strobe_courtyard() +{ + level waittill("courtyard_red_strobe"); + common_scripts\_exploder::exploder(6125); + var_00 = getentarray("siren_light_model","targetname"); + var_01 = getentarray("siren_light","targetname"); + foreach(var_03 in var_01) + { + var_03 setlightintensity(300000); + var_03 setlightcolor((1,0,0)); + } + + for(;;) + { + foreach(var_06 in var_00) + { + var_06 rotateby((360,0,0),1); + } + + foreach(var_03 in var_01) + { + var_03 rotateby((360,0,0),1); + } + + wait(1); + } +} + +//Function Number: 84 +exfil_dof() +{ + enable_motion_blur_rotation(); + level.player enablephysicaldepthoffieldscripting(); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",1); + } + + level.player setphysicaldepthoffield(4,40); + wait(12); + level.player setphysicaldepthoffield(4,20); + common_scripts\utility::flag_wait("flag_burke_destroy_tank"); + wait(2); + level.player setphysicaldepthoffield(2,1100); + wait(3.7); + level.player setphysicaldepthoffield(1.5,40); + wait(4); + level.player setphysicaldepthoffield(1.5,20); +} + +//Function Number: 85 +razorback_lighting(param_00) +{ + param_00 vehicle_scripts\_razorback_fx::vfx_red_lights_on(); + level waittill("thruster_front_off"); + if(level.nextgen) + { + setsaveddvar("r_subdiv","1"); + } + + param_00.point_inside = common_scripts\utility::spawn_tag_origin(); + var_01 = param_00.point_inside; + var_01 linkto(param_00,"TAG_LIGHT_INTERIOR_POINT",(-20,0,0),(30,-125,0),0); + playfxontag(common_scripts\utility::getfx("spot_red_heli_in"),var_01,"tag_origin"); + param_00.spot_main = common_scripts\utility::spawn_tag_origin(); + var_02 = param_00.spot_main; + var_02 linkto(param_00,"TAG_LIGHT_INTERIOR_SPOT",(0,0,0),(0,0,0),0); + param_00.spot_tag4 = common_scripts\utility::spawn_tag_origin(); + var_03 = param_00.spot_tag4; + var_03 linkto(param_00,"TAG_LIGHT_INTERIOR_SPOT",(40,-20,0),(10,110,0),0); + param_00.spot_tag3 = common_scripts\utility::spawn_tag_origin(); + var_04 = param_00.spot_tag3; + var_04 linkto(param_00,"TAG_LIGHT_INTERIOR_SPOT",(30,0,0),(0,45,0),0); + param_00.spot_tag = common_scripts\utility::spawn_tag_origin(); + var_05 = param_00.spot_tag; + var_05 linkto(param_00,"TAG_LIGHT_INTERIOR_POINT",(0,80,0),(0,90,0),0); + playfxontag(common_scripts\utility::getfx("spot_red_heli_in_lrg"),var_05,"tag_origin"); + param_00.spot_tag2 = common_scripts\utility::spawn_tag_origin(); + var_06 = param_00.spot_tag2; + var_06 linkto(param_00,"TAG_LIGHT_INTERIOR_SPOT",(70,30,0),(180,0,0),0); + param_00.point_tag = common_scripts\utility::spawn_tag_origin(); + var_07 = param_00.point_tag; + var_07 linkto(param_00,"TAG_LIGHT_INTERIOR_POINT",(-20,20,0),(0,0,0),0); + param_00.point_tag2 = common_scripts\utility::spawn_tag_origin(); + var_08 = param_00.point_tag2; + var_08 linkto(param_00,"TAG_LIGHT_INTERIOR_POINT",(-55,-15,-40),(90,0,0),0); + common_scripts\utility::flag_wait("flag_exfil_dialogue"); + killfxontag(common_scripts\utility::getfx("spot_red_heli_in_lrg"),var_05,"tag_origin"); + common_scripts\_exploder::kill_exploder(9157); + if(isdefined(param_00.spot_tag)) + { + param_00.spot_tag delete(); + } + + if(isdefined(param_00.spot_main)) + { + param_00.spot_main delete(); + } + + wait(4.5); + playfxontag(common_scripts\utility::getfx("point_blue_heli"),var_03,"tag_origin"); + wait(5); + common_scripts\utility::flag_wait("flag_burke_destroy_tank"); + wait(5.5); + level.player lightsetforplayer("exfil_pre_explosion"); + wait(0.15); + earthquake(0.25,1,level.player.origin,1600); + level.player playrumbleonentity("heavy_2s"); + param_00.spot_tag4 = common_scripts\utility::spawn_tag_origin(); + var_03 = param_00.spot_tag4; + var_03 linkto(param_00,"TAG_LIGHT_INTERIOR_SPOT",(0,0,50),(30,0,0),0); + thread maps\_utility::vision_set_fog_changes("lab_building_power",0.2); + level.player lightsetforplayer("exfil_explosion"); + wait(0.5); + thread maps\_utility::vision_set_fog_changes("lab_tank_exfil",0.5); + level.player lightsetforplayer("exfil"); + wait(1); + if(isdefined(param_00.spot_tag2)) + { + param_00.spot_tag2 delete(); + } +} + +//Function Number: 86 +burke_exfil_lighting() +{ +} + +//Function Number: 87 +tank_turrent_reflection(param_00,param_01) +{ + var_02 = getent("reflection_orange","targetname"); + param_00 overridereflectionprobe(var_02.origin); + foreach(var_04 in param_01) + { + var_04 overridereflectionprobe(var_02.origin); + } +} + +//Function Number: 88 +turn_off_top_tank_lights() +{ + earthquake(0.2,1,level.player.origin,1600); + level.player playrumbleonentity("heavy_2s"); + var_00 = ["tank_top_light_01","tank_top_light_02","tank_top_light_03"]; + foreach(var_02 in var_00) + { + foreach(var_04 in getentarray(var_02,"targetname")) + { + var_04 setlightintensity(300000); + } + } + + var_07 = getent("tank_top_light_04","targetname"); + if(isdefined(var_07)) + { + var_07 setlightintensity(50000); + } + + if(level.nextgen) + { + maps\_lighting::play_flickerlight_preset("blue_fire","blue_flicker",500000); + } + + level waittill("msg_vfx_htank_thrust_regular"); + wait(0.5); + earthquake(0.25,1,level.player.origin,1600); + level.player playrumbleonentity("heavy_2s"); +} + +//Function Number: 89 +enable_motion_blur_rotation() +{ + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + } +} + +//Function Number: 90 +disable_motion_blur() +{ + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + setsaveddvar("r_mbCameraRotationInfluence","0"); + } +} + +//Function Number: 91 +enable_physical_dof_hip() +{ + setsaveddvar("r_dof_physical_hipEnable",1); + setsaveddvar("r_dof_physical_hipFstop",1.5); + setsaveddvar("r_dof_physical_hipSharpCocDiameter",0.03); +} \ No newline at end of file diff --git a/AW/PC/maps/lab_precache.gsc b/AW/PC/maps/lab_precache.gsc new file mode 100644 index 0000000..ab66ebc --- /dev/null +++ b/AW/PC/maps/lab_precache.gsc @@ -0,0 +1,27 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: lab_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:33:01 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + common_scripts\utility::add_destructible_type_function("security_camera_scanner_destp",::destructible_scripts\security_camera_scanner_destp::main); + common_scripts\utility::add_destructible_type_function("wall_firebox_destp",::destructible_scripts\wall_firebox_destp::main); + destructible_scripts\security_camera_scanner_destp::main(); + destructible_scripts\wall_firebox_destp::main(); + vehicle_scripts\_cover_drone::main("vehicle_mobile_cover",undefined,"script_vehicle_cover_drone"); + vehicle_scripts\_ft101_tank::main("vehicle_ft101_tank","ft101_tank_physics","script_vehicle_ft101_tank_physics"); + vehicle_scripts\_hovertank::main("vehicle_mil_hovertank_ai",undefined,"script_vehicle_hovertank"); + vehicle_scripts\_littlebird::main("vehicle_mil_helicopter_littlebird_atlas_ai",undefined,"script_vehicle_littlebird_atlas_bench"); + vehicle_scripts\_pdrone::main("vehicle_atlas_assault_drone",undefined,"script_vehicle_pdrone_atlas_lab"); + vehicle_scripts\_razorback::main("vehicle_razorback",undefined,"script_vehicle_razorback"); + vehicle_scripts\_vrap::main("vehicle_mil_humvee",undefined,"script_vehicle_vrap"); + vehicle_scripts\_vrap::main("vehicle_mil_humvee","vrap_physics","script_vehicle_vrap_physics"); + vehicle_scripts\_xh9_warbird::main("vehicle_xh9_warbird_low",undefined,"script_vehicle_xh9_warbird_low_heavy_turret"); +} \ No newline at end of file diff --git a/AW/PC/maps/lab_utility.gsc b/AW/PC/maps/lab_utility.gsc new file mode 100644 index 0000000..50fa2fe --- /dev/null +++ b/AW/PC/maps/lab_utility.gsc @@ -0,0 +1,3851 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: lab_utility.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 166 + * Decompile Time: 2457 ms + * Timestamp: 4/22/2024 2:33:08 AM +*******************************************************************/ + +//Function Number: 1 +goto_node(param_00,param_01,param_02) +{ + self endon("stop_goto_node"); + if(!isdefined(param_02)) + { + param_02 = 16; + } + + maps\_utility::set_goal_radius(param_02); + if(isstring(param_00)) + { + var_03 = getnode(param_00,"script_noteworthy"); + } + else + { + var_03 = param_01; + } + + if(isdefined(var_03)) + { + maps\_utility::set_goal_node(var_03); + } + else + { + var_03 = common_scripts\utility::getstruct(param_00,"script_noteworthy"); + maps\_utility::set_goal_pos(var_03.origin); + } + + if(param_01) + { + self waittill("goal"); + } +} + +//Function Number: 2 +ally_move_dynamic_speed() +{ + self notify("start_dynamic_run_speed"); + self endon("death"); + self endon("stop_dynamic_run_speed"); + self endon("start_dynamic_run_speed"); + if(maps\_utility::ent_flag_exist("_stealth_custom_anim")) + { + maps\_utility::ent_flag_waitopen("_stealth_custom_anim"); + } + + self.run_speed_state = ""; + ally_reset_dynamic_speed(); + var_00 = 144; + var_01 = ["sprint","run"]; + var_02 = []; + var_02["player_sprint"]["sprint"][0] = 225 * var_00; + var_02["player_sprint"]["sprint"][1] = 900 * var_00; + var_02["player_sprint"]["run"][0] = 900 * var_00; + var_02["player_sprint"]["run"][1] = 900 * var_00; + var_02["player_run"]["sprint"][0] = 225 * var_00; + var_02["player_run"]["sprint"][1] = 400 * var_00; + var_02["player_run"]["run"][0] = 400 * var_00; + var_02["player_run"]["run"][1] = 625 * var_00; + var_02["player_crouch"]["run"][0] = 4 * var_00; + var_02["player_crouch"]["run"][1] = 100 * var_00; + var_03 = 123; + var_04 = 189; + var_05 = 283; + for(;;) + { + wait(0.2); + if(isdefined(self.force_run_speed_state)) + { + ally_dynamic_run_set(self.force_run_speed_state); + continue; + } + + var_06 = vectornormalize(anglestoforward(self.angles)); + var_07 = vectornormalize(self.origin - level.player.origin); + var_08 = vectordot(var_06,var_07); + var_09 = distancesquared(self.origin,level.player.origin); + if(isdefined(self.cqbwalking) && self.cqbwalking) + { + self.moveplaybackrate = 1; + } + + if(common_scripts\utility::flag_exist("_stealth_spotted") && common_scripts\utility::flag("_stealth_spotted")) + { + ally_dynamic_run_set("run"); + continue; + } + + if(var_08 < -0.25 && var_09 > 225 * var_00) + { + ally_dynamic_run_set("sprint"); + continue; + } + + var_0A = level.player getvelocity(); + var_0B = length(var_0A); + var_0C = ""; + if(var_0B < var_03) + { + var_0C = "player_crouch"; + } + else if(var_0B < var_04) + { + var_0C = "player_run"; + } + else + { + var_0C = "player_sprint"; + } + + var_0D = var_02[var_0C]; + var_0E = 0; + foreach(var_10 in var_01) + { + if(isdefined(var_0D[var_10])) + { + if(var_09 < var_0D[var_10][0] || self.run_speed_state == var_10 && var_09 < var_0D[var_10][1]) + { + ally_dynamic_run_set(var_10); + var_0E = 1; + break; + } + } + } + + if(var_0E) + { + continue; + } + + ally_dynamic_run_set("jog_slow"); + } +} + +//Function Number: 3 +ally_stop_dynamic_speed() +{ + self endon("death"); + self notify("stop_dynamic_run_speed"); + ally_reset_dynamic_speed(); +} + +//Function Number: 4 +ally_reset_dynamic_speed() +{ + self endon("death"); + maps\_utility::disable_cqbwalk(); + self.moveplaybackrate = 1; + maps\_utility::clear_run_anim(); + self notify("stop_loop"); +} + +//Function Number: 5 +ally_dynamic_run_set(param_00) +{ + if(self.run_speed_state == param_00) + { + return; + } + + self.run_speed_state = param_00; + switch(param_00) + { + case "sprint": + if(isdefined(self.cqbwalking) && self.cqbwalking) + { + self.moveplaybackrate = 1; + } + else + { + self.moveplaybackrate = 1; + } + + maps\_utility::set_generic_run_anim("DRS_sprint"); + maps\_utility::disable_cqbwalk(); + self notify("stop_loop"); + break; + + case "run": + self.moveplaybackrate = 1.1; + maps\_utility::clear_run_anim(); + maps\_utility::disable_cqbwalk(); + self notify("stop_loop"); + break; + + case "jog": + self.moveplaybackrate = 1; + maps\_utility::set_generic_run_anim("DRS_combat_jog"); + maps\_utility::disable_cqbwalk(); + self notify("stop_loop"); + break; + + case "jog_slow": + self.moveplaybackrate = 0.9; + maps\_utility::disable_cqbwalk(); + self notify("stop_loop"); + break; + } +} + +//Function Number: 6 +teleport_to_scriptstruct(param_00) +{ + var_01 = common_scripts\utility::getstruct(param_00,"script_noteworthy"); + level.player setorigin(var_01.origin); + if(isdefined(var_01.angles)) + { + level.player setplayerangles(var_01.angles); + } + + var_02 = getentarray("hero","script_noteworthy"); + foreach(var_04 in var_02) + { + if(isspawner(var_04)) + { + var_02 = common_scripts\utility::array_remove(var_02,var_04); + } + } + + var_06 = common_scripts\utility::getstructarray(var_01.target,"targetname"); + for(var_07 = 0;var_07 < var_02.size;var_07++) + { + if(var_07 < var_06.size) + { + var_02[var_07] forceteleport(var_06[var_07].origin,var_06[var_07].angles); + var_02[var_07] setgoalpos(var_06[var_07].origin); + continue; + } + + var_02[var_07] forceteleport(level.player.origin,level.player.angles); + var_02[var_07] setgoalpos(level.player.origin); + } +} + +//Function Number: 7 +cleanup_ai_with_script_noteworthy(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = 512; + } + + var_02 = []; + foreach(var_04 in getentarray(param_00,"script_noteworthy")) + { + if(isspawner(var_04)) + { + var_04 delete(); + continue; + } + + var_02[var_02.size] = var_04; + } + + thread maps\_utility::ai_delete_when_out_of_sight(var_02,param_01); +} + +//Function Number: 8 +delete_spawners(param_00) +{ + if(!isarray(param_00)) + { + param_00 = [param_00]; + } + + foreach(var_02 in param_00) + { + foreach(var_04 in getentarray(var_02,"script_noteworthy")) + { + if(isspawner(var_04)) + { + var_04 delete(); + } + } + } +} + +//Function Number: 9 +warbird_shooting_think(param_00) +{ + level.player endon("death"); + self endon("death"); + self.mgturret[0] setmode("manual"); + self.mgturret[1] setmode("manual"); + if(!maps\_utility::ent_flag_exist("fire_turrets")) + { + maps\_utility::ent_flag_init("fire_turrets"); + } + + maps\_utility::ent_flag_set("fire_turrets"); + thread warbird_fire_monitor(); + for(;;) + { + self waittill("warbird_fire"); + thread warbird_fire(param_00); + } +} + +//Function Number: 10 +warbird_fire(param_00) +{ + self endon("death"); + var_01 = self.mgturret[0]; + var_02 = self.mgturret[1]; + var_03 = 3; + while(maps\_utility::ent_flag("fire_turrets")) + { + var_04 = getaiarray("allies"); + if(!maps\_utility::ent_flag_exist("dont_shoot_player") || !maps\_utility::ent_flag("dont_shoot_player")) + { + var_05 = 33; + if(randomint(100) <= var_05) + { + var_04 = common_scripts\utility::array_add(var_04,level.player); + } + } + + var_06 = []; + foreach(var_08 in var_04) + { + if(isdefined(var_08.ignoreme) && var_08.ignoreme) + { + continue; + } + else + { + var_06[var_06.size] = var_08; + } + } + + var_06 = sortbydistance(var_06,self.origin); + var_0A = undefined; + foreach(var_08 in var_06) + { + if(!isdefined(var_08)) + { + continue; + } + + if(!isalive(var_08)) + { + continue; + } + + if(isdefined(param_00) && param_00) + { + var_0C = self.mgturret[0] gettagorigin("tag_flash"); + var_0D = var_08 geteye(); + var_0E = vectornormalize(var_0D - var_0C); + var_0F = var_0D + var_0E * 20; + if(!sighttracepassed(var_0F,var_0D,0,var_08,self.mgturret[0])) + { + continue; + } + } + + var_0A = var_08; + break; + } + + if(isdefined(var_0A)) + { + var_01 settargetentity(var_0A); + var_02 settargetentity(var_0A); + var_01 turretfireenable(); + var_02 turretfireenable(); + var_01 startfiring(); + var_02 startfiring(); + wait_for_warbird_fire_target_done(var_0A,param_00); + var_01 cleartargetentity(); + var_02 cleartargetentity(); + var_01 turretfiredisable(); + var_02 turretfiredisable(); + } + + wait(var_03); + } + + var_01 turretfiredisable(); + var_02 turretfiredisable(); +} + +//Function Number: 11 +wait_for_warbird_fire_target_done(param_00,param_01) +{ + param_00 endon("death"); + if(!maps\_utility::ent_flag("fire_turrets")) + { + return; + } + + self endon("fire_turrets"); + if(param_00 == level.player) + { + var_02 = 0.6; + } + else + { + var_02 = 3; + } + + var_03 = 0; + while(var_03 < var_02) + { + if(isdefined(param_01) && param_01) + { + var_04 = self.mgturret[0] gettagorigin("tag_flash"); + var_05 = param_00 geteye(); + var_06 = vectornormalize(var_05 - var_04); + var_07 = var_04 + var_06 * 20; + if(!sighttracepassed(var_07,var_05,0,param_00,self.mgturret[0])) + { + return; + } + } + + var_03 = var_03 + 0.3; + wait(0.3); + } +} + +//Function Number: 12 +warbird_fire_monitor() +{ + self endon("death"); + self waittill("warbird_stop_firing"); + maps\_utility::ent_flag_clear("fire_turrets"); +} + +//Function Number: 13 +add_enemy_flashlight() +{ + playfxontag(common_scripts\utility::getfx("flashlight_ai"),self,"tag_flash"); + self.have_flashlight = 1; +} + +//Function Number: 14 +assign_cloak_model(param_00) +{ + self.cloakedmodel = param_00; + self.defaultmodel = self.model; +} + +//Function Number: 15 +cloak_on(param_00,param_01) +{ + if(!isdefined(param_00)) + { + param_00 = 1; + } + + if(!isdefined(param_01)) + { + param_01 = 0.75; + } + + var_02 = 0; + self setmodel(self.cloakedmodel); + if(issubstr(self.model,"burke") || issubstr(self.model,"knox")) + { + wait(0.05); + self overridematerial("mtl_burke_sentinel_covert_headgear_a","mc/mtl_burke_sentinel_covert_headgear_a_cloak"); + } + + if(issubstr(self.model,"cormack")) + { + wait(0.05); + self overridematerial("mtl_cormack_sentinel_covert_headgear_a","mc/mtl_cormack_sentinel_covert_headgear_a_cloak"); + } + + self drawpostresolve(); + self setmaterialscriptparam(0,param_01); + soundscripts\_snd::snd_message("npc_cloak_enable"); + if(param_00) + { + cloak_stencil_on(); + } + + self.cloak = "on"; + wait(0.1); + maps\_cloak::set_cloak_material_for_npc_weapon(); +} + +//Function Number: 16 +turn_on_the_cloak_effect_wallclimb() +{ + level._cloaked_stealth_settings.cloak_on = 1; + soundscripts\_snd::snd_message("exo_cloak_enable"); + if(level._cloaked_stealth_settings.visibility_range_version == 1) + { + maps\_stealth_utility::stealth_detect_ranges_set(level._cloaked_stealth_settings.ranges["cloak_on_hidden"],level._cloaked_stealth_settings.ranges["cloak_on_spotted"]); + } + + thread maps\_cloak::cloak_vm_weapon_blend(); + if(isdefined(level.scr_model["player_rig"])) + { + level.scr_model["player_rig"] = "viewbody_sentinel_covert_cloak"; + } + + if(isdefined(level.player_rig)) + { + level.player_rig setmaterialscriptparam(1,0); + level.player_rig setmodel(level.scr_model["player_rig"]); + wait(0.05); + level.player_rig drawpostresolve(); + level.player_rig setmaterialscriptparam(1,0); + wait(0.05); + level.player_rig setmaterialscriptparam(0,0.75); + level.player_rig hudoutlineenable(0); + } +} + +//Function Number: 17 +cloak_stencil_on(param_00) +{ + thread maps\_cloak::setalertstencilstate(param_00); +} + +//Function Number: 18 +cloak_off(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 1; + } + + var_01 = 0; + soundscripts\_snd::snd_message("npc_cloak_disable"); + self setmaterialscriptparam(1,param_00); + wait(param_00); + self overridematerialreset(); + self drawpostresolveoff(); + if(issubstr(self.name,"Knox")) + { + if(isdefined(level.rope_knox) && isdefined(level.carabiner_knox)) + { + level.rope_knox cloak_off_rope(); + level.carabiner_knox cloak_off_rope(0.2); + } + } + + self setmodel(self.defaultmodel); + thread maps\_cloak::clearalertstencilstate(); + self.cloak = "off"; +} + +//Function Number: 19 +cloak_off_rope(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 1; + } + + self setmaterialscriptparam(1,param_00); + self overridematerialreset(); + self drawpostresolveoff(); +} + +//Function Number: 20 +am_i_moving() +{ + wait(0.1); + var_00 = maps\_shg_utility::get_differentiated_velocity(); + if(length(var_00) != 0) + { + return 1; + } + + return 0; +} + +//Function Number: 21 +any_enemy_is_able_to_attack() +{ + if(common_scripts\utility::flag("_stealth_spotted")) + { + foreach(var_01 in getaispeciesarray("bad_guys","all")) + { + if(var_01.alertlevel == "combat" && isdefined(var_01.enemy) && var_01 cansee(var_01.enemy)) + { + return 1; + } + } + } + + return 0; +} + +//Function Number: 22 +prevent_friendly_from_shooting_during_stealth() +{ + var_00 = 0.3; + for(;;) + { + if(common_scripts\utility::flag("flag_obj_bio_weapons_04") || common_scripts\utility::flag("flag_post_breach_patrol_alerted")) + { + self.dontevershoot = undefined; + maps\_utility::set_ignoreall(0); + return; + } + + if(!common_scripts\utility::flag("_stealth_enabled") || any_enemy_is_able_to_attack()) + { + self.dontevershoot = undefined; + maps\_utility::set_ignoreall(0); + } + else + { + self.dontevershoot = 1; + maps\_utility::set_ignoreall(1); + } + + wait(var_00); + } +} + +//Function Number: 23 +do_scanner_sounds() +{ + self endon("death"); + for(;;) + { + var_00 = line_segment_end_point(self.scanner_origin,self.scanner_yaw,self.scanner_tilt,self.cone_length); + var_01 = bullettrace(self.scanner_origin,var_00,1); + var_02 = var_01["position"]; + self notify("update_seeker_audio",var_02); + wait(0.05); + } +} + +//Function Number: 24 +do_scanner_fx() +{ + self endon("death"); + var_00 = 0; + var_01 = common_scripts\utility::spawn_tag_origin(); + var_02 = common_scripts\utility::spawn_tag_origin(); + var_03 = common_scripts\utility::spawn_tag_origin(); + var_04 = common_scripts\utility::spawn_tag_origin(); + var_05 = common_scripts\utility::spawn_tag_origin(); + playfxontag(common_scripts\utility::getfx(self.fx_target_none),var_05,"tag_origin"); + thread do_scanner_death(var_05); + for(;;) + { + update_vfx_tags(self.scanner_origin,self.scanner_yaw,self.scanner_tilt,self.vertical_cone_range,self.horizontal_cone_range,var_01,var_02,var_03,var_04,var_05); + if(var_00) + { + if((isdefined(self.scanner_cone_inside_ents) && self.scanner_cone_inside_ents.size == 0) || !isdefined(self.scanner_cone_inside_ents) && !level.player_is_in_scanner_cone) + { + var_00 = 0; + playfxontag(common_scripts\utility::getfx(self.fx_target_none),var_05,"tag_origin"); + stopfxontag(common_scripts\utility::getfx(self.fx_target_locked),var_05,"tag_origin"); + self notify("update_fixed_scanner_audio",0); + } + } + else if((isdefined(self.scanner_cone_inside_ents) && self.scanner_cone_inside_ents.size > 0) || !isdefined(self.scanner_cone_inside_ents) && level.player_is_in_scanner_cone) + { + var_00 = 1; + playfxontag(common_scripts\utility::getfx(self.fx_target_locked),var_05,"tag_origin"); + stopfxontag(common_scripts\utility::getfx(self.fx_target_none),var_05,"tag_origin"); + self notify("update_fixed_scanner_audio",1); + } + + wait(0.05); + } +} + +//Function Number: 25 +attach_fixed_scanner(param_00,param_01,param_02,param_03,param_04,param_05) +{ + self.scanner_cone_inside_ents = []; + stopfxontag(common_scripts\utility::getfx(param_05),self,"tag_fx"); + self endon("death"); + if(self.health < 0) + { + return; + } + + self.scanner_origin = self gettagorigin("tag_fx"); + self.scanner_yaw = param_02; + self.scanner_tilt = param_03; + self.cone_length = param_00; + self.horizontal_cone_range = param_01; + self.vertical_cone_range = param_01; + self.fx_target_locked = param_04; + self.fx_target_none = param_05; + thread do_scanner_fx(); + if(0) + { + thread do_tuning(); + } + + thread draw_scanner_cone_loop(); + thread maps\_shg_utility::make_emp_vulnerable(); + self.emp_death_function = ::scanner_monitor_emp_damage; + self makeentitysentient("axis"); + var_06 = getaiarray("allies"); + var_06[var_06.size] = level.player; + for(;;) + { + foreach(var_08 in var_06) + { + if(!isalive(var_08)) + { + var_06 = maps\_utility::array_removedead(var_06); + remove_dead_bodies_from_cone(var_06); + continue; + } + + var_09 = var_08 getentitynumber(); + var_0A = var_08 getpointinbounds(0,0,0); + var_0B = in_scanner_cone(var_0A,self.scanner_origin,self.scanner_yaw,self.scanner_tilt,self.cone_length,self.horizontal_cone_range); + if(var_0B) + { + if(!isdefined(self.scanner_cone_inside_ents[var_09])) + { + self.scanner_cone_inside_ents[var_09] = 1; + handle_actor_enter_scanner(var_08); + } + } + else if(isdefined(self.scanner_cone_inside_ents[var_09])) + { + self.scanner_cone_inside_ents[var_09] = undefined; + } + + if(var_09 == level.player getentitynumber()) + { + level.player_is_in_scanner_cone = var_0B; + } + } + + wait(0.25); + } +} + +//Function Number: 26 +scanner_monitor_emp_damage() +{ + self notify("damage",9999999,self,(0,0,0),self.origin,"MOD_EXPLOSIVE","",""); + self notify("death"); +} + +//Function Number: 27 +handle_actor_enter_scanner(param_00) +{ + if(param_00 getentitynumber() == level.player getentitynumber()) + { + maps\_cloak::cloak_device_hit_by_electro_magnetic_pulse(); + param_00 shellshock("flashbang",3); + return; + } + + param_00 cloak_off(); + param_00 maps\_utility::flashbangstart(2); +} + +//Function Number: 28 +do_scanner_death(param_00) +{ + self waittill("death"); + if(issentient(self)) + { + self freeentitysentient(); + } + + stopfxontag(common_scripts\utility::getfx(self.fx_target_none),param_00,"tag_origin"); + stopfxontag(common_scripts\utility::getfx(self.fx_target_locked),param_00,"tag_origin"); +} + +//Function Number: 29 +remove_dead_bodies_from_cone(param_00) +{ + var_01 = []; + foreach(var_03 in param_00) + { + if(isdefined(self.scanner_cone_inside_ents[var_03 getentitynumber()])) + { + var_01[var_03 getentitynumber()] = 1; + } + } + + self.scanner_cone_inside_ents = var_01; +} + +//Function Number: 30 +draw_scanner_cone_loop() +{ + self endon("death"); + for(;;) + { + draw_scanner_cone(self.scanner_cone_inside_ents.size,self.scanner_origin,self.scanner_yaw,self.scanner_tilt,self.scanner_origin,self.scanner_origin,self.cone_length,self.horizontal_cone_range,self.horizontal_cone_range); + wait(0.05); + } +} + +//Function Number: 31 +do_tuning() +{ + for(;;) + { + if(level.player buttonpressed("DPAD_UP")) + { + self.scanner_tilt = self.scanner_tilt - 1; + } + + if(level.player buttonpressed("DPAD_DOWN")) + { + self.scanner_tilt = self.scanner_tilt + 1; + } + + if(level.player buttonpressed("DPAD_LEFT")) + { + self.scanner_yaw = self.scanner_yaw - 1; + } + + if(level.player buttonpressed("DPAD_RIGHT")) + { + self.scanner_yaw = self.scanner_yaw + 1; + } + + if(level.player buttonpressed("BUTTON_X")) + { + self.horizontal_cone_range = self.horizontal_cone_range - 0.1; + self.vertical_cone_range = self.vertical_cone_range - 0.1; + } + + if(level.player buttonpressed("BUTTON_Y")) + { + self.horizontal_cone_range = self.horizontal_cone_range + 0.1; + self.vertical_cone_range = self.vertical_cone_range + 0.1; + } + + if(level.player buttonpressed("BUTTON_LSTICK")) + { + self.cone_length = self.cone_length - 10; + } + + if(level.player buttonpressed("BUTTON_RSTICK")) + { + self.cone_length = self.cone_length + 10; + } + + var_00 = " tilt:" + self.scanner_tilt + " yaw:" + self.scanner_yaw + " range:" + self.horizontal_cone_range + " length:" + self.cone_length; + if(level.player buttonpressed("DPAD_UP") || level.player buttonpressed("DPAD_DOWN") || level.player buttonpressed("DPAD_LEFT") || level.player buttonpressed("DPAD_RIGHT") || level.player buttonpressed("BUTTON_X") || level.player buttonpressed("BUTTON_Y") || level.player buttonpressed("BUTTON_LSTICK") || level.player buttonpressed("BUTTON_RSTICK")) + { + } + + wait 0.05; + } +} + +//Function Number: 32 +enable_all_fixed_scanners() +{ + level.camera_array = getentarray("camera_breach","script_noteworthy"); + var_00 = getentarray("camera_scanner_interior","script_noteworthy"); + level.camera_array = common_scripts\utility::array_combine(level.camera_array,var_00); + var_00 = undefined; + common_scripts\utility::array_thread(level.camera_array,::camera_scanner_think); +} + +//Function Number: 33 +camera_scanner_think() +{ + var_00 = undefined; + if(isdefined(self.target)) + { + var_00 = getent(self.target,"targetname"); + var_00 enableaimassist(); + var_00.maxhealth = 1; + var_00 setnormalhealth(var_00.maxhealth); + target_set(var_00,(0,0,-80)); + target_setjavelinonly(var_00,1); + } + + if(!isdefined(self.scanner_cone_inside_ents)) + { + thread attach_fixed_scanner(300,60,angleclamp(180 + self.angles[1]),self.angles[0],"camera_fixed_scanner","camera_fixed_scanner_search"); + } + + soundscripts\_snd::snd_message("start_fixed_scanner_audio"); + self waittill("death"); + if(common_scripts\utility::flag("flag_facility_breach_complete")) + { + thread maps\lab_vo::camera_scanner_interior_killed(); + } + + if(isdefined(var_00)) + { + var_00 delete(); + } +} + +//Function Number: 34 +disable_all_fixed_scanners() +{ + if(isdefined(level.camera_array)) + { + foreach(var_01 in level.camera_array) + { + if(isdefined(var_01.scanner_cone_inside_ents)) + { + self notify("death"); + } + + var_01 notify("stop_fixed_scanner_audio"); + } + } +} + +//Function Number: 35 +do_vehicle_scanner_tuning() +{ + for(;;) + { + if(level.player buttonpressed("DPAD_UP")) + { + self.scanner_tilt = self.scanner_tilt - 1; + } + + if(level.player buttonpressed("DPAD_DOWN")) + { + self.scanner_tilt = self.scanner_tilt + 1; + } + + if(level.player buttonpressed("BUTTON_LSTICK")) + { + self.cone_length = self.cone_length - 10; + } + + if(level.player buttonpressed("BUTTON_RSTICK")) + { + self.cone_length = self.cone_length + 10; + } + + if(level.player buttonpressed("DPAD_LEFT")) + { + self.scanner_offset_from_vehicle_facing = self.scanner_offset_from_vehicle_facing - 1; + } + + if(level.player buttonpressed("DPAD_RIGHT")) + { + self.scanner_offset_from_vehicle_facing = self.scanner_offset_from_vehicle_facing + 1; + } + + if(level.player buttonpressed("BUTTON_X")) + { + self.sweep_range = self.sweep_range - 0.1; + } + + if(level.player buttonpressed("BUTTON_Y")) + { + self.sweep_range = self.sweep_range + 0.1; + } + + var_00 = " tilt:" + self.scanner_tilt + " offset:" + self.scanner_offset_from_vehicle_facing + " range:" + self.sweep_range + " length:" + self.cone_length; + wait(0.05); + } +} + +//Function Number: 36 +attach_scanner(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B,param_0C) +{ + if(!isdefined(level.player_is_in_scanner_cone)) + { + level.player_is_in_scanner_cone = 0; + } + + var_0D = 120; + var_0E = 1; + var_0F = var_0E * anglestoforward(self.angles); + self.scanner_origin = self.origin + (0,0,var_0D) + var_0F; + self.scanner_tilt = param_09; + self.sweep_range = param_04; + self.vertical_cone_range = param_01; + self.horizontal_cone_range = param_02; + self.cone_length = param_00; + self.scanner_offset_from_vehicle_facing = param_03; + self.fx_target_locked = param_0B; + self.fx_target_none = param_0C; + init_scanner_yaw(self.sweep_range); + thread do_scanner_fx(); + thread do_scanner_sounds(); + var_10 = 0; + var_11 = 166; + var_12 = 0; + var_13 = 102; + start_sweep_mode_func(); + for(;;) + { + var_0F = var_0E * anglestoforward(self.angles); + self.scanner_origin = self.origin + (0,0,var_0D) + var_0F; + var_14 = level.player getpointinbounds(0,0,0); + if(self.scanner_mode == 0) + { + update_scanner_yaw_in_sweep_mode(self.scanner_offset_from_vehicle_facing,self.sweep_range,param_05,param_06,param_07,param_08); + level.player_is_in_scanner_cone = in_scanner_cone(var_14,self.scanner_origin,self.scanner_yaw,self.scanner_tilt,param_00,param_02); + if(level.player_is_in_scanner_cone) + { + common_scripts\utility::flag_set("_stealth_spotted"); + maps\_cloak::cloak_device_hit_by_electro_magnetic_pulse(); + exit_sweep_mode_func(); + enter_track_player_mode_func(); + } + } + else if(self.scanner_mode == 1) + { + level.player_is_in_scanner_cone = in_scanner_cone(var_14,self.scanner_origin,self.scanner_yaw,self.scanner_tilt,param_00,param_02); + if(level.player_is_in_scanner_cone) + { + update_scanner_direction_in_track_player_mode(var_14,self.scanner_origin); + } + else + { + enter_lost_player_mode_func(); + } + } + else if(self.scanner_mode == 2) + { + if(self.state_timer > 0) + { + self.state_timer = self.state_timer - 0.05; + } + else + { + enter_return_to_sweep_mode_func(); + } + } + else if(self.scanner_mode == 3) + { + level.player_is_in_scanner_cone = in_scanner_cone(var_14,self.scanner_origin,self.scanner_yaw,self.scanner_tilt,param_00,param_02); + if(level.player_is_in_scanner_cone) + { + maps\_cloak::cloak_device_hit_by_electro_magnetic_pulse(); + exit_return_to_sweep_mode_func(); + enter_track_player_mode_func(); + } + else + { + var_15 = update_scanner_yaw_returning_to_sweep_mode(self.scanner_offset_from_vehicle_facing,self.sweep_range,param_05,param_09,param_0A); + if(var_15) + { + exit_return_to_sweep_mode_func(); + enter_sweep_mode_func(); + } + } + } + + var_10 = var_10 + var_11; + if(var_10 > 360) + { + var_10 = var_10 - 360; + } + + var_12 = var_12 + var_13; + if(var_12 > 360) + { + var_12 = var_12 - 360; + } + + if(0) + { + draw_scanner_cone(level.player_is_in_scanner_cone,self.scanner_origin,self.scanner_yaw,self.scanner_tilt,var_10,var_12,self.cone_length,self.vertical_cone_range,self.horizontal_cone_range); + } + + wait(0.05); + } +} + +//Function Number: 37 +precache_scanner_turret() +{ + var_00 = "scanner_vrap_turret"; + var_01 = "weapon_pitbull_turret"; + precachemodel(var_01); + precacheturret(var_00); +} + +//Function Number: 38 +attach_scanner_turret() +{ + if(!isdefined(level.player_is_in_scanner_cone)) + { + level.player_is_in_scanner_cone = 0; + } + + var_00 = "scanner_vrap_turret"; + var_01 = "tag_turret"; + var_02 = "weapon_pitbull_turret"; + var_03 = undefined; + var_04 = "auto_ai"; + var_05 = 0.2; + var_06 = 0; + var_07 = 0; + var_08 = 0; + var_09 = spawnturret("misc_turret",(0,0,0),var_00); + var_09 linkto(self,var_01,(0,0,0),(0,-1 * var_07,0)); + var_09 setmodel(var_02); + var_09.angles = self.angles; + var_09.isvehicleattached = 1; + var_09.ownervehicle = self; + var_09.script_team = self.script_team; + var_09 thread maps\_mgturret::burst_fire_unmanned(); + var_09 makeunusable(); + maps\_vehicle_code::set_turret_team(var_09); + maps\_mgturret::mg42_setdifficulty(var_09,maps\_utility::getdifficulty()); + var_09.script_fireondrones = var_08; + var_09.deletedelay = var_05; + var_09.maxrange = var_03; + var_09 setdefaultdroppitch(var_06); + var_09 maps\_vehicle_code::turret_set_default_on_mode(var_04); + var_09 setmode(var_09.defaultonmode); + var_09 startbarrelspin(); + var_0A = 1.5; + var_0B = 0.1; + var_0C = 2; + for(;;) + { + var_0D = var_09 getmode(); + if(level.player_is_in_scanner_cone == 1) + { + if(var_0D != "manual") + { + self playloopsound("seeker_alarm_lp"); + wait(var_0C); + self stoploopsound("seeker_alarm_lp"); + var_09 setmode("manual"); + var_09 settargetentity(level.player); + } + + var_09 waittill("turret_on_target"); + for(var_0E = var_0A;var_0E > 0;var_0E = var_0E - var_0B) + { + var_09 shootturret(); + wait(var_0B); + } + } + else if(var_0D != "auto_ai") + { + var_09 setmode("auto_ai"); + var_09 cleartargetentity(level.player); + } + + wait(0.1); + } +} + +//Function Number: 39 +start_sweep_mode_func() +{ + self.scanner_mode = 0; + soundscripts\_snd::snd_message("start_seeker_audio"); + init_scanner_yaw(self.sweep_range); +} + +//Function Number: 40 +enter_sweep_mode_func() +{ + self.scanner_mode = 0; + init_scanner_yaw(self.sweep_range); +} + +//Function Number: 41 +exit_sweep_mode_func() +{ +} + +//Function Number: 42 +enter_track_player_mode_func() +{ + self notify("stop_seeker_audio"); + self.scanner_mode = 1; + var_00 = level.player.origin; + if(isdefined(self.script_stealthgroup) && isdefined(level._stealth.group.groups[maps\_utility::string(self.script_stealthgroup)])) + { + var_01 = maps\_stealth_shared_utilities::group_get_ai_in_group(maps\_utility::string(self.script_stealthgroup)); + foreach(var_03 in var_01) + { + if(var_03 == self) + { + continue; + } + + if(isdefined(var_03.enemy) || isdefined(var_03.favoriteenemy)) + { + continue; + } + + var_03 notify("heard_alarm",var_00); + } + } +} + +//Function Number: 43 +enter_lost_player_mode_func() +{ + self.scanner_mode = 2; + self.state_timer = 2.4; +} + +//Function Number: 44 +enter_return_to_sweep_mode_func() +{ + soundscripts\_snd::snd_message("start_seeker_audio"); + self.scanner_mode = 3; +} + +//Function Number: 45 +exit_return_to_sweep_mode_func() +{ +} + +//Function Number: 46 +init_scanner_yaw(param_00) +{ + self.scanner_yaw = -41; + self.scanner_local_yaw = -0.5 * param_00; + self.scanner_local_velocity = 0; + self.scanner_pause_timer = 0; + self.scanner_sweep_direction = 1; +} + +//Function Number: 47 +update_scanner_yaw_in_sweep_mode(param_00,param_01,param_02,param_03,param_04,param_05) +{ + var_06 = 0.65; + if(self.scanner_pause_timer > 0) + { + self.scanner_pause_timer = self.scanner_pause_timer - 0.05; + } + else if(self.scanner_sweep_direction > 0) + { + var_07 = 0.5 * self.scanner_local_velocity * self.scanner_local_velocity / param_04; + if(self.scanner_local_yaw + var_07 > 0.5 * param_01) + { + self.scanner_local_velocity = self.scanner_local_velocity - 0.05 * param_04; + if(self.scanner_local_velocity < 0) + { + self.scanner_local_velocity = 0; + } + } + else + { + self.scanner_local_velocity = self.scanner_local_velocity + 0.05 * param_03; + if(self.scanner_local_velocity > param_02) + { + self.scanner_local_velocity = param_02; + } + } + + self.scanner_local_yaw = self.scanner_local_yaw + 0.05 * self.scanner_local_velocity; + if(self.scanner_local_yaw > param_01 * var_06 - 0.5) + { + if(!common_scripts\utility::flag("flag_seeker_cone_safe_right")) + { + common_scripts\utility::flag_set("flag_seeker_cone_safe_right"); + } + } + + if(self.scanner_local_velocity <= 0) + { + self.scanner_pause_timer = param_05; + self.scanner_sweep_direction = -1; + common_scripts\utility::flag_clear("flag_seeker_cone_safe_right"); + } + } + else + { + var_07 = 0.5 * self.scanner_local_velocity * self.scanner_local_velocity / param_05; + if(self.scanner_local_yaw - var_07 < -0.5 * param_01) + { + self.scanner_local_velocity = self.scanner_local_velocity + 0.05 * param_04; + if(self.scanner_local_velocity > 0) + { + self.scanner_local_velocity = 0; + } + } + else + { + self.scanner_local_velocity = self.scanner_local_velocity - 0.05 * param_03; + if(self.scanner_local_velocity < -1 * param_02) + { + self.scanner_local_velocity = -1 * param_02; + } + } + + self.scanner_local_yaw = self.scanner_local_yaw + 0.05 * self.scanner_local_velocity; + if(self.scanner_local_yaw < param_01 * 0.5 - var_06) + { + if(!common_scripts\utility::flag("flag_seeker_cone_safe_left")) + { + common_scripts\utility::flag_set("flag_seeker_cone_safe_left"); + } + } + + if(self.scanner_local_velocity >= 0) + { + self.scanner_pause_timer = param_05; + self.scanner_sweep_direction = 1; + common_scripts\utility::flag_clear("flag_seeker_cone_safe_left"); + } + } + + var_08 = self.angles[1]; + self.scanner_yaw = var_08 - param_00 + self.scanner_local_yaw; +} + +//Function Number: 48 +update_scanner_direction_in_track_player_mode(param_00,param_01) +{ + var_02 = param_00 - param_01; + var_03 = angleclamp360(var_02[1],var_02[0]); + var_04 = length2d(var_02); + var_05 = angleclamp360(var_02[2],var_04); + self.scanner_tilt = var_05; + self.scanner_yaw = var_03; +} + +//Function Number: 49 +update_scanner_yaw_returning_to_sweep_mode(param_00,param_01,param_02,param_03,param_04) +{ + self.scanner_pause_timer = 0; + var_05 = self.angles[1]; + var_06 = var_05 - param_00 - 0.5 * param_01; + var_07 = var_06 - self.scanner_yaw; + var_08 = 0; + if(var_07 > 1) + { + self.scanner_yaw = self.scanner_yaw + 0.05 * param_02; + } + else if(var_07 < -1) + { + self.scanner_yaw = self.scanner_yaw - 0.05 * param_02; + } + else + { + var_08 = 1; + self.scanner_yaw = var_06; + } + + self.scanner_local_yaw = self.scanner_yaw - var_05 + param_00; + var_09 = param_03 - self.scanner_tilt; + var_0A = 0; + if(var_09 > 1) + { + self.scanner_tilt = self.scanner_tilt + 0.05 * param_04; + } + else if(var_09 < -1) + { + self.scanner_tilt = self.scanner_tilt - 0.05 * param_04; + } + else + { + var_0A = 1; + self.scanner_tilt = param_03; + } + + return var_08 && var_0A; +} + +//Function Number: 50 +yaw_tilt_to_direction_vector(param_00,param_01) +{ + var_02 = cos(param_01); + return (cos(param_00) * var_02,sin(param_00) * var_02,sin(param_01)); +} + +//Function Number: 51 +line_segment_end_point(param_00,param_01,param_02,param_03) +{ + return param_00 + param_03 * yaw_tilt_to_direction_vector(param_01,param_02); +} + +//Function Number: 52 +update_vfx_tags(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ + param_05.origin = param_00; + param_06.origin = param_00; + param_07.origin = param_00; + param_08.origin = param_00; + param_09.origin = param_00; + param_05.angles = vectortoangles(yaw_tilt_to_direction_vector(param_01 - param_04 / 2,param_02 + param_03 / 2)); + param_06.angles = vectortoangles(yaw_tilt_to_direction_vector(param_01 + param_04 / 2,param_02 - param_03 / 2)); + param_07.angles = vectortoangles(yaw_tilt_to_direction_vector(param_01 - param_04 / 2,param_02 - param_03 / 2)); + param_08.angles = vectortoangles(yaw_tilt_to_direction_vector(param_01 + param_04 / 2,param_02 + param_03 / 2)); + param_09.angles = vectortoangles(yaw_tilt_to_direction_vector(param_01,param_02)); +} + +//Function Number: 53 +draw_scanner_cone(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ +} + +//Function Number: 54 +in_scanner_cone(param_00,param_01,param_02,param_03,param_04,param_05) +{ + var_06 = param_00 - param_01; + if(lengthsquared(var_06) > param_04 * param_04) + { + return 0; + } + + var_07 = line_segment_end_point(param_01,param_02,param_03,param_04); + var_08 = var_07 - param_01; + var_09 = cos(0.5 * param_05); + if(vectordot(vectornormalize(var_06),vectornormalize(var_08)) <= var_09) + { + return 0; + } + + var_0A = 0; + var_0B = bullettrace(param_01,param_00,var_0A,self); + if(var_0B["fraction"] < 1) + { + return 0; + } + + return 1; +} + +//Function Number: 55 +player_looking_in_direction_2d(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_01)) + { + param_01 = 0.8; + } + + var_04 = maps\_utility::get_player_from_self(); + var_05 = var_04 geteye(); + var_06 = vectortoangles(param_00 - var_05); + var_07 = anglestoforward(var_06); + var_08 = var_04 getplayerangles(); + var_09 = anglestoforward(var_08); + var_07 = vectornormalize((var_07[0],var_07[1],0)); + var_09 = vectornormalize((var_09[0],var_09[1],0)); + var_0A = vectordot(var_07,var_09); + if(var_0A < param_01) + { + return 0; + } + + if(isdefined(param_02)) + { + return 1; + } + + var_0B = bullettrace(param_00,var_05,0,param_03); + return var_0B["fraction"] == 1; +} + +//Function Number: 56 +enable_takedown_hint(param_00,param_01,param_02) +{ + self notify("enable_takedown_hint_called"); + self endon("enable_takedown_hint_called"); + level endon("flag_se_vehicle_takedown_01_failed"); + self endon("takedown_failed"); + var_03 = param_01 * param_01; + if(!isdefined(level.melee_hint_displayed)) + { + level.melee_hint_displayed = 0; + } + + if(!common_scripts\utility::flag_exist("flag_disable_takedown_hint")) + { + common_scripts\utility::flag_init("flag_disable_takedown_hint"); + } + else + { + common_scripts\utility::flag_clear("flag_disable_takedown_hint"); + } + + level.melee_pressed = 0; + level.should_display_melee_hint = 0; + while(!level.melee_pressed) + { + if(common_scripts\utility::flag("flag_disable_takedown_hint")) + { + if(level.melee_hint_displayed) + { + level.should_display_melee_hint = 0; + } + + common_scripts\utility::flag_clear("flag_disable_takedown_hint"); + return; + } + + var_04 = distance2dsquared(param_00.origin,level.player.origin); + if(level.melee_hint_displayed) + { + if(var_04 > var_03 + 10) + { + level.should_display_melee_hint = 0; + } + + if(isdefined(level._cloaked_stealth_settings.playing_view_model_cloak_toggle_anim) && level._cloaked_stealth_settings.playing_view_model_cloak_toggle_anim == 1) + { + level.should_display_melee_hint = 0; + } + + if(isdefined(param_02) && param_02) + { + var_05 = param_00 geteye(); + var_06 = 0.9; + if(!level.player player_looking_in_direction_2d(var_05,var_06,1)) + { + level.should_display_melee_hint = 0; + } + } + + continue; + } + + if(var_04 <= var_03) + { + var_07 = 1; + if(isdefined(level._cloaked_stealth_settings.playing_view_model_cloak_toggle_anim) && level._cloaked_stealth_settings.playing_view_model_cloak_toggle_anim == 1) + { + var_07 = 0; + } + + if(isdefined(param_02) && param_02) + { + var_05 = param_00 geteye(); + var_06 = 0.9; + if(!level.player player_looking_in_direction_2d(var_05,var_06,1)) + { + var_07 = 0; + } + } + + if(var_07) + { + level.should_display_melee_hint = 1; + level.melee_hint_displayed = 1; + level.player allowmelee(0); + maps\_utility::display_hint_timeout("takedown_hint",undefined); + } + } + + wait(0.05); + } + + self notify("player_completed_takedown"); +} + +//Function Number: 57 +display_takedown_world_prompt_on_enemy(param_00) +{ + level endon("se_takedown_01_failed"); + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01.origin = (-8039,5301,-179); + while(distance(self.origin,var_01.origin) > 200) + { + wait(0.5); + } + + var_02 = common_scripts\utility::spawn_tag_origin(); + var_02.origin = self.origin + (0,0,52); + var_02 linkto(self,"tag_origin"); + var_02 thread activate_takedown_world_prompt_on_enemy(param_00); +} + +//Function Number: 58 +activate_takedown_world_prompt_on_enemy(param_00) +{ + var_01 = maps\_shg_utility::hint_button_tag("melee","tag_origin",100,200); + common_scripts\utility::waittill_any_ents(param_00,"player_completed_takedown",level,"flag_disable_takedown_hint"); + var_01 maps\_shg_utility::hint_button_clear(); +} + +//Function Number: 59 +activate_takedown_world_prompt_on_truck_enemy(param_00) +{ + var_01 = maps\_shg_utility::hint_button_tag("melee","j_neck",100,200); + common_scripts\utility::waittill_any_ents(param_00,"player_completed_takedown",level,"flag_disable_takedown_hint",self,"takedown_failed",level,"flag_se_vehicle_takedown_01_failed"); + var_01 maps\_shg_utility::hint_button_clear(); +} + +//Function Number: 60 +takedown_hint_off() +{ + var_00 = 0; + if(level.player meleebuttonpressed()) + { + level.melee_pressed = 1; + var_00 = 1; + } + + if(!level.should_display_melee_hint) + { + if(!isdefined(level.player.disable_melee)) + { + level.player allowmelee(1); + } + + var_00 = 1; + } + + if(var_00) + { + level.melee_hint_displayed = 0; + return 1; + } + + return 0; +} + +//Function Number: 61 +disable_trigger_while_player_animating(param_00) +{ + level endon(param_00); + for(;;) + { + if(isdefined(level._cloaked_stealth_settings.playing_view_model_cloak_toggle_anim) && level._cloaked_stealth_settings.playing_view_model_cloak_toggle_anim == 1) + { + if(!isdefined(self.trigger_off)) + { + common_scripts\utility::trigger_off(); + } + } + else if(isdefined(self.trigger_off)) + { + common_scripts\utility::trigger_on(); + } + + wait(0.05); + } +} + +//Function Number: 62 +bloody_death(param_00,param_01) +{ + self endon("death"); + if(!issentient(self) || !isalive(self)) + { + return; + } + + if(isdefined(self.bloody_death) && self.bloody_death) + { + return; + } + + self.bloody_death = 1; + if(isdefined(param_00)) + { + wait(randomfloat(param_00)); + } + + var_02 = []; + var_02[0] = "j_hip_le"; + var_02[1] = "j_hip_ri"; + var_02[2] = "j_head"; + var_02[3] = "j_spine4"; + var_02[4] = "j_elbow_le"; + var_02[5] = "j_elbow_ri"; + var_02[6] = "j_clavicle_le"; + var_02[7] = "j_clavicle_ri"; + var_03 = getdvarint("cg_fov"); + for(var_04 = 0;var_04 < 3 + randomint(5);var_04++) + { + var_05 = randomintrange(0,var_02.size); + thread bloody_death_fx(var_02[var_05],undefined); + wait(randomfloat(0.1)); + if(isdefined(param_01) && isai(param_01) && isalive(param_01)) + { + if(!level.player worldpointinreticle_circle(param_01.origin,var_03,500)) + { + param_01 shootblank(); + } + } + } + + self dodamage(self.health + 50,self.origin); +} + +//Function Number: 63 +bloody_death_fx(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = level._effect["flesh_hit"]; + } + + playfxontag(param_01,self,param_00); +} + +//Function Number: 64 +spawn_player_rig(param_00,param_01) +{ + if(!isdefined(param_00)) + { + param_00 = "player_rig"; + } + + if(!isdefined(param_01)) + { + param_01 = level.player.origin; + } + + var_02 = maps\_utility::spawn_anim_model(param_00); + if(maps\_cloak::is_player_cloaked()) + { + var_02 maps\_cloak::set_cloak_on_model(); + } + + return var_02; +} + +//Function Number: 65 +ai_toggle_cloak_animate(param_00,param_01,param_02) +{ + if(common_scripts\utility::flag("flag_logging_road_loud_combat")) + { + return; + } + + level endon("flag_logging_road_loud_combat"); + if(!isdefined(param_02)) + { + param_02 = self.approachtype; + } + + var_03 = ""; + if(issubstr(param_02,"right")) + { + var_03 = "cornercrouch_right_cloak_toggle"; + } + else if(issubstr(param_02,"left")) + { + var_03 = "cornercrouch_left_cloak_toggle"; + } + else + { + var_03 = "crouch_exposed_cloak_toggle"; + } + + thread maps\lab_vo::ai_toggle_cloak_start_vo(param_00); + maps\_anim::anim_single_solo(self,var_03); + wait(1.5); + maps\_anim::anim_single_solo(self,var_03); + thread maps\lab_vo::ai_toggle_cloak_complete_vo(param_01); +} + +//Function Number: 66 +ai_toggle_cloak(param_00) +{ + if(!isdefined(param_00.cloak) || param_00.cloak == "off") + { + param_00 thread cloak_on(); + return; + } + + param_00 cloak_off(); +} + +//Function Number: 67 +activate_trigger_when_player_jumps() +{ + self endon("trigger"); + self endon("death"); + for(;;) + { + if(level.player istouching(self) && !level.player isonground()) + { + self notify("trigger"); + } + + wait(0.05); + } +} + +//Function Number: 68 +spawn_metrics_init() +{ + level.spawn_metrics_spawn_count = []; + level.spawn_metrics_death_count = []; + maps\_utility::add_global_spawn_function("axis",::spawn_metrics_spawn_func); + foreach(var_01 in getaiarray("axis")) + { + if(!isspawner(var_01) && isalive(var_01)) + { + var_01 spawn_metrics_spawn_func(); + } + } +} + +//Function Number: 69 +spawn_metrics_spawn_func() +{ + if(!isai(self)) + { + return; + } + + if(isdefined(self.script_noteworthy)) + { + if(isdefined(level.spawn_metrics_spawn_count[self.script_noteworthy])) + { + level.spawn_metrics_spawn_count[self.script_noteworthy] = level.spawn_metrics_spawn_count[self.script_noteworthy] + 1; + } + else + { + level.spawn_metrics_spawn_count[self.script_noteworthy] = 1; + } + + thread spawn_metrics_death_watcher(); + } +} + +//Function Number: 70 +spawn_metrics_death_watcher() +{ + var_00 = self.script_noteworthy; + self waittill("death"); + if(isdefined(level.spawn_metrics_death_count[var_00])) + { + level.spawn_metrics_death_count[var_00] = level.spawn_metrics_death_count[var_00] + 1; + return; + } + + level.spawn_metrics_death_count[var_00] = 1; +} + +//Function Number: 71 +spawn_metrics_number_spawned(param_00) +{ + if(isarray(param_00)) + { + var_01 = 0; + foreach(var_03 in param_00) + { + var_01 = var_01 + spawn_metrics_number_spawned(var_03); + } + + return var_01; + } + + if(isdefined(level.spawn_metrics_spawn_count[var_04])) + { + return level.spawn_metrics_spawn_count[var_04]; + } + + return 0; +} + +//Function Number: 72 +spawn_metrics_number_died(param_00) +{ + if(isarray(param_00)) + { + var_01 = 0; + foreach(var_03 in param_00) + { + var_01 = var_01 + spawn_metrics_number_died(var_03); + } + + return var_01; + } + + if(isdefined(level.spawn_metrics_death_count[var_04])) + { + return level.spawn_metrics_death_count[var_04]; + } + + return 0; +} + +//Function Number: 73 +spawn_metrics_number_alive(param_00) +{ + return spawn_metrics_number_spawned(param_00) - spawn_metrics_number_died(param_00); +} + +//Function Number: 74 +spawn_metrics_waittill_count_reaches(param_00,param_01,param_02) +{ + if(!isarray(param_01)) + { + param_01 = [param_01]; + } + + waittillframeend; + for(;;) + { + var_03 = 0; + foreach(var_05 in param_01) + { + var_03 = var_03 + spawn_metrics_number_alive(var_05); + } + + if(var_03 <= param_00) + { + break; + } + + wait(1); + } +} + +//Function Number: 75 +spawn_metrics_waittill_deaths_reach(param_00,param_01,param_02) +{ + if(!isarray(param_01)) + { + param_01 = [param_01]; + } + + for(;;) + { + var_03 = 0; + foreach(var_05 in param_01) + { + var_03 = var_03 + spawn_metrics_number_died(var_05); + } + + if(var_03 >= param_00) + { + break; + } + + wait(1); + } +} + +//Function Number: 76 +move_hovertank_to_start(param_00) +{ + var_01 = getent("hovertank","targetname"); + var_02 = common_scripts\utility::getstruct(param_00,"script_noteworthy"); + var_01.origin = var_02.origin; + if(isdefined(var_02.angles)) + { + var_01.angles = var_02.angles; + } +} + +//Function Number: 77 +kill_when_player_not_looking() +{ + self endon("death"); + for(;;) + { + if(!maps\_utility::player_looking_at(self.origin)) + { + bloody_death(); + break; + } + + wait(1); + } +} + +//Function Number: 78 +can_tip_think() +{ + self endon("death"); + var_00 = 200; + var_01 = 135; + var_02 = spawn("trigger_radius",self.origin,0,var_00,196); + var_03 = level.player; + var_04 = 1; + var_05 = 0.05; + var_06 = 1; + var_07 = 3; + var_08 = 200; + var_09 = 300; + for(;;) + { + var_02 waittill("trigger",var_0A); + if(var_0A != var_03) + { + continue; + } + + var_0B = spawn("script_origin",self.origin); + var_0B.angles = vectortoangles(self.origin - level.player.origin); + var_0C = 0; + if(isdefined(level.player.driving_hovertank)) + { + var_0C = level.player.driving_hovertank vehicle_getvelocity(); + } + else + { + var_0C = level.player getvelocity(); + } + + var_04 = var_06 + var_07 - var_06 * 1 - length(var_0C) / var_08; + if(var_04 < var_06) + { + var_04 = var_06; + } + else if(var_04 > var_07) + { + var_04 = var_07; + } + + self linkto(var_0B); + var_0B rotateto((var_01,var_0B.angles[1],var_0B.angles[2]),var_04); + var_0B movez(-1 * var_09,var_04); + earthquake(0.25,var_04,self.origin,300); + level.player playrumbleonentity("damage_heavy"); + wait(var_04); + var_0B delete(); + var_02 delete(); + self delete(); + } +} + +//Function Number: 79 +script_destructible_tree_think() +{ + var_00 = self; + self endon("stop_thinking"); + self setcandamage(1); + for(;;) + { + self waittill("damage",var_01,var_02,var_03,var_04,var_05); + if(var_02 == level.player) + { + break; + } + } + + var_00 = spawn("script_model",self.origin); + if(isdefined(self.angles)) + { + var_00.angles = self.angles; + } + + var_00 setmodel("lab_tank_battle_sequoia_02_1b"); + var_06 = spawn("script_model",self.origin + (0,0,96)); + if(isdefined(self.angles)) + { + var_06.angles = self.angles; + } + + var_06 setmodel("lab_tank_battle_sequoia_02_1t"); + var_07 = angleclamp360(var_04[1] - var_06.origin[1],var_04[0] - var_06.origin[0]) + 180; + if(var_07 > 360) + { + var_07 = var_07 - 360; + } + + var_08 = (var_04[0] - var_06.origin[0],var_04[1] - var_06.origin[1],0); + var_09 = vectortoangles(var_08); + var_0A = anglestoforward(var_03); + var_0B = anglestoup(var_03); + playfx(common_scripts\utility::getfx("tree_explosion"),var_04,var_0A,var_0B); + var_0C = cos(45); + var_0D = sin(45); + var_0E = 10; + var_0F = 1.5; + var_10 = 3.5; + var_11 = randomintrange(var_0E * -1,var_0E); + var_12 = randomintrange(var_0E * -1,var_0E); + var_13 = abs(var_11) + abs(var_12); + var_14 = var_13 / var_0E * 2 * var_10 - var_0F + var_0F; + var_06 rotateby((var_11,0,var_12),var_14,0,var_14); +} + +//Function Number: 80 +log_pile_scripted_think() +{ + self setcandamage(1); + var_00 = 0; + while(!var_00) + { + self waittill("damage",var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09); + if(var_02 != level.player) + { + continue; + } + + common_scripts\utility::flag_set("flag_log_pile_scripted_destroyed"); + soundscripts\_snd::snd_message("log_pile_collapse",self); + var_00 = 1; + var_0A = common_scripts\utility::get_target_ent(); + foreach(var_0C in getaiarray("axis")) + { + var_0C kill(); + var_0C startragdoll(); + } + + physicsexplosionsphere(self.origin,200,199,50); + wakeupphysicssphere(self.origin,900); + } + + self delete(); +} + +//Function Number: 81 +destructible_trailer_collision_think() +{ + self setcandamage(1); + thread destructible_trailer_collision_destroy_when_player_close(); + var_00 = 0; + for(;;) + { + self waittill("damage",var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09); + if(var_05 == "MOD_RIFLE_BULLET" || var_05 == "MOD_ENERGY" || var_01 < 10) + { + continue; + } + else + { + break; + } + } + + wakeupphysicssphere(var_04,80); + physicsexplosionsphere(var_04,80,79,10); + soundscripts\_snd::snd_message("tank_shack_destruct",var_04); + self delete(); +} + +//Function Number: 82 +destructible_trailer_collision_destroy_when_player_close() +{ + self endon("death"); + var_00 = 200; + var_01 = var_00 * var_00; + var_02 = spawn("trigger_radius",self.origin + (0,0,-100),0,250,300); + var_02 waittill("trigger",var_03); + self notify("damage",50,var_03,var_03.origin - self.origin,self.origin,"MOD_EXPLOSIVE"); + earthquake(0.25,0.25,var_03.origin,300); + var_03 playrumbleonentity("damage_heavy"); +} + +//Function Number: 83 +large_propane_tank_think() +{ + var_00 = self.origin; + self waittill("death"); + physicsexplosionsphere(var_00,900,850,60); + wakeupphysicssphere(var_00,900); +} + +//Function Number: 84 +hovertank_enemy_outline(param_00) +{ + self endon("death"); + if(!isdefined(param_00)) + { + param_00 = 4; + } + + thread clear_enemy_outline_on_death(); + self.highlight = 0; + self.highlight_forced = 0; + thread manage_highlight(param_00); + thread highlight_when_weapon_fired(param_00); + var_01 = (0,0,32); + if(isai(self)) + { + hovertank_enemy_outline_ai(); + return; + } + + hovertank_enemy_outline_vehicle(); +} + +//Function Number: 85 +hovertank_enemy_outline_ai() +{ + self endon("death"); + while(!target_istarget(self)) + { + wait(0.05); + } + + for(;;) + { + if(target_isincircle(self,level.hovertank_player,75,60)) + { + self.highlight = 1; + self notify("highlight_change"); + } + else + { + self.highlight = 0; + self notify("highlight_change"); + } + + wait(0.05); + } +} + +//Function Number: 86 +hovertank_enemy_outline_offset() +{ + var_00 = (0,0,0); + switch(self.classname) + { + case "script_vehicle_xh9_warbird_low_heavy_turret": + case "script_vehicle_vrap_physics": + case "script_vehicle_ft101_tank_physics": + var_00 = (0,0,64); + break; + + case "script_vehicle_littlebird_atlas_bench": + var_00 = (0,0,-64); + break; + + default: + break; + } + + return var_00; +} + +//Function Number: 87 +hovertank_enemy_outline_vehicle() +{ + var_00 = hovertank_enemy_outline_offset(); + for(;;) + { + if(level.player worldpointinreticle_circle(self.origin + var_00,75,60)) + { + self.highlight = 1; + self notify("highlight_change"); + } + else + { + self.highlight = 0; + self notify("highlight_change"); + } + + wait(0.05); + } +} + +//Function Number: 88 +hovertank_setup_hint_data() +{ + var_00 = gettime(); + var_01 = spawnstruct(); + level.player.hovertank_weapon_hint_data = var_01; + var_01.kill_counts = []; + var_01.kill_goals = []; + var_01.last_hint_times_ms = []; + var_01.last_kill_times_ms = []; + var_01.minimum_in_sights_needed = []; + var_01.amount_in_sights = []; + var_01.in_sights_timestamp = []; + var_01.required_aiming_time_s = 2; + var_01.delay_from_any_hint_s = 5; + var_01.delay_from_same_hint_s = 15; + var_01.delay_from_kill_s = 30; + var_01.higher_priority_expiration_time_s = 2; + var_01.hint_duration_s = 5; + var_01.vehicle_sights_radius = 60; + var_01.kill_goals["emp"] = 2; + var_01.kill_goals["cannon"] = 2; + var_01.kill_goals["missile"] = 15; + var_01.minimum_in_sights_needed["missile"] = 4; + var_01.amount_in_sights["missile"] = 0; + var_01.in_sights_timestamp["missile"] = 0; + var_01.thread_delay_s = 0.1; + var_01.last_aim_type = ""; + var_01.last_aim_priority = 0; + var_01.last_aim_time_ms = var_00; + var_01.current_target_aim_begin_time_ms = var_00; + var_01.last_hint_time_any_ms = var_00 - var_01.delay_from_any_hint_s * 1000; + var_02 = []; + var_02[var_02.size] = "missile"; + var_02[var_02.size] = "cannon"; + var_02[var_02.size] = "emp"; + for(var_03 = 0;var_03 < var_02.size;var_03 = var_03 + 1) + { + var_04 = var_02[var_03]; + var_01.kill_counts[var_04] = 0; + var_01.last_hint_times_ms[var_04] = var_00 - var_01.delay_from_same_hint_s * 1000; + var_01.last_kill_times_ms[var_04] = var_00 - var_01.delay_from_kill_s * 1000; + common_scripts\utility::flag_init("hint_proficient_" + var_04); + } + + level maps\_utility::waittillthread("hovertank_end",::hovertank_destroy_hint_data); +} + +//Function Number: 89 +hovertank_destroy_hint_data() +{ + level.player.hovertank_weapon_hint_data = undefined; +} + +//Function Number: 90 +hovertank_hint_enemy_kill_tracking(param_00) +{ + level endon("hovertank_end"); + level endon("hint_proficient_" + param_00); + if(common_scripts\utility::flag("hint_proficient_" + param_00)) + { + return; + } + + self waittill("death",var_01,var_02,var_03); + if(!isdefined(var_01) || var_01 != level.player) + { + return; + } + + var_04 = 0; + if(!isdefined(var_03)) + { + var_04 = 1; + } + else + { + switch(param_00) + { + case "cannon": + var_04 = issubstr(var_03,"cannon"); + break; + + case "emp": + var_04 = issubstr(var_03,"antiair"); + break; + + case "missile": + var_04 = issubstr(var_03,"missile"); + break; + + default: + var_04 = 0; + break; + } + } + + hovertank_hint_stop(param_00); + if(var_04) + { + var_05 = level.player.hovertank_weapon_hint_data; + var_05.kill_counts[param_00] = var_05.kill_counts[param_00] + 1; + var_05.last_kill_times_ms[param_00] = gettime(); + if(var_05.kill_counts[param_00] >= var_05.kill_goals[param_00]) + { + common_scripts\utility::flag_set("hint_proficient_" + param_00); + } + } +} + +//Function Number: 91 +hovertank_aimed_enemy_vehicle_weapon_hint(param_00,param_01) +{ + hovertank_aimed_enemy_weapon_hint(param_00,param_01,::hovertank_hint_vehicle_in_sights); +} + +//Function Number: 92 +hovertank_aimed_enemy_ai_weapon_hint(param_00,param_01) +{ + hovertank_aimed_enemy_weapon_hint(param_00,param_01,::hovertank_hint_ai_in_sights); +} + +//Function Number: 93 +hovertank_aimed_enemy_weapon_hint(param_00,param_01,param_02) +{ + self endon("death"); + level endon("hovertank_end"); + level endon("hint_proficient_" + param_01); + if(!isdefined(level.player.hovertank_weapon_hint_data)) + { + return; + } + + var_03 = level.player.hovertank_weapon_hint_data; + thread hovertank_hint_enemy_kill_tracking(param_01); + if(common_scripts\utility::flag("hint_proficient_" + param_01)) + { + return; + } + + for(;;) + { + var_04 = gettime(); + var_05 = var_03.last_aim_priority > param_00; + var_06 = var_04 - var_03.last_aim_time_ms > var_03.higher_priority_expiration_time_s * 1000; + var_07 = param_01 == var_03.last_aim_type && var_04 - var_03.last_aim_time_ms <= var_03.thread_delay_s * 1000 && !isdefined(var_03.minimum_in_sights_needed[param_01]); + if(!var_07 && !var_05 || var_06 && [[ param_02 ]]()) + { + var_03.last_aim_time_ms = var_04; + var_03.last_aim_priority = param_00; + var_08 = 1; + if(isdefined(var_03.minimum_in_sights_needed[param_01])) + { + if(var_04 - var_03.in_sights_timestamp[param_01] < var_03.thread_delay_s * 1000) + { + var_03.amount_in_sights[param_01] = var_03.amount_in_sights[param_01] + 1; + } + else + { + var_03.in_sights_timestamp[param_01] = var_04; + var_03.amount_in_sights[param_01] = 1; + } + + var_08 = var_03.amount_in_sights[param_01] == var_03.minimum_in_sights_needed[param_01]; + } + + if(param_01 == var_03.last_aim_type) + { + if(var_08) + { + if(var_06) + { + var_03.current_target_aim_begin_time_ms = var_04; + } + + var_09 = var_04 - var_03.current_target_aim_begin_time_ms > var_03.required_aiming_time_s * 1000; + var_0A = var_04 - var_03.last_kill_times_ms[param_01] < var_03.delay_from_kill_s * 1000; + var_0B = var_04 - var_03.last_hint_times_ms[param_01] < var_03.delay_from_same_hint_s * 1000 || var_04 - var_03.last_hint_time_any_ms < var_03.delay_from_any_hint_s * 1000; + if(var_09 && !var_0B && !var_0A) + { + hovertank_weapon_hint(param_01); + } + } + } + else + { + var_03.last_aim_type = param_01; + var_03.current_target_aim_begin_time_ms = var_04; + } + } + + wait(var_03.thread_delay_s); + } +} + +//Function Number: 94 +hovertank_hint_vehicle_in_sights() +{ + var_00 = hovertank_enemy_outline_offset(); + if(!level.player worldpointinreticle_circle(self.origin + var_00,75,level.player.hovertank_weapon_hint_data.vehicle_sights_radius)) + { + return 0; + } + + var_01 = level.player geteye(); + var_02 = sighttracepassed(self.origin + var_00,var_01,0,self,level.player); + return var_02; +} + +//Function Number: 95 +hovertank_hint_ai_in_sights() +{ + return self.highlight; +} + +//Function Number: 96 +manage_highlight(param_00) +{ + self endon("death"); + self endon("end_highlight"); + level endon("hovertank_end"); + thread manage_highlight_end(); + for(;;) + { + self waittill("highlight_change"); + if(self.highlight || self.highlight_forced) + { + self hudoutlineenable(param_00,1); + continue; + } + + if(!self.highlight_forced) + { + self hudoutlinedisable(); + self hudoutlineenable(0,0); + } + } +} + +//Function Number: 97 +manage_highlight_end() +{ + self endon("death"); + self endon("hovertank_end"); + self waittill("end_highlight"); + turn_off_highlight(); +} + +//Function Number: 98 +highlight_when_weapon_fired(param_00) +{ + self endon("death"); + level endon("hovertank_end"); + var_01 = 3; + for(;;) + { + common_scripts\utility::waittill_any("shooting","weapon_fired"); + thread force_highlight(param_00,var_01); + } +} + +//Function Number: 99 +force_highlight(param_00,param_01) +{ + self endon("death"); + level endon("hovertank_end"); + self endon("end_highlight"); + self notify("force_highlight"); + self endon("force_highlight"); + self.highlight_forced = 1; + wait(param_01); + self.highlight_forced = 0; +} + +//Function Number: 100 +turn_on_highlight(param_00,param_01) +{ + if(isdefined(param_01)) + { + self.highlight_forced = 1; + var_02 = 0; + var_03 = 0.05; + while(var_02 < param_01) + { + self hudoutlineenable(param_00,1); + self.highlight = 1; + var_02 = var_02 + var_03; + wait(var_03); + } + + self hudoutlinedisable(); + self hudoutlineenable(0,0); + self.highlight = 0; + self.highlight_forced = 0; + return; + } + + if(!self.highlight) + { + self hudoutlineenable(param_00,1); + self.highlight = 1; + } +} + +//Function Number: 101 +turn_off_highlight() +{ + if(self.highlight || self.highlight_forced) + { + self hudoutlinedisable(); + self hudoutlineenable(0,0); + } +} + +//Function Number: 102 +clear_enemy_outline_on_death() +{ + common_scripts\utility::waittill_any_ents(self,"death",level,"hovertank_end"); + if(isdefined(self)) + { + self hudoutlinedisable(); + self hudoutlineenable(0,0); + } +} + +//Function Number: 103 +warbird_heavy_shooting_think(param_00) +{ + level.player endon("death"); + self endon("death"); + self.mgturret[0] setmode("manual"); + self.mgturret[1] setmode("manual"); + if(!maps\_utility::ent_flag_exist("fire_turrets")) + { + maps\_utility::ent_flag_init("fire_turrets"); + } + + maps\_utility::ent_flag_set("fire_turrets"); + thread warbird_heavy_fire_monitor(); + for(;;) + { + self waittill("warbird_fire"); + maps\_utility::ent_flag_set("fire_turrets"); + thread warbird_heavy_fire(param_00); + self waittill("warbird_stop_firing"); + maps\_utility::ent_flag_clear("fire_turrets"); + } +} + +//Function Number: 104 +warbird_heavy_fire(param_00) +{ + self endon("death"); + var_01 = self.mgturret[0]; + var_02 = self.mgturret[1]; + var_01 notify("stop_burst_fire_unmanned"); + var_02 notify("stop_burst_fire_unmanned"); + var_03 = 0.4; + var_04 = var_03 / 2; + var_01 thread burst_fire_warbird(var_03,0); + var_02 thread burst_fire_warbird(var_03,var_04); + var_05 = common_scripts\utility::get_enemy_team(self.script_team); + while(maps\_utility::ent_flag("fire_turrets")) + { + var_06 = getaiarray(var_05); + if(isdefined(level.flying_attack_drones)) + { + var_07 = level.flying_attack_drones; + } + else + { + var_07 = []; + } + + if(isdefined(level.drones) && isdefined(level.drones[var_05].array)) + { + var_06 = common_scripts\utility::array_combine(var_06,level.drones[var_05].array); + } + + if(var_05 == level.player.team) + { + var_06 = common_scripts\utility::array_add(var_06,level.player); + } + + var_06 = common_scripts\utility::array_combine(var_06,var_07); + var_08 = []; + foreach(var_0A in var_06) + { + if(isdefined(var_0A.ignoreme) && var_0A.ignoreme) + { + continue; + } + else + { + var_08[var_08.size] = var_0A; + } + } + + var_08 = sortbydistance(var_08,self.origin); + var_0C = undefined; + foreach(var_0A in var_08) + { + if(!isdefined(var_0A)) + { + continue; + } + + if(!isalive(var_0A)) + { + continue; + } + + if(isdefined(param_00) && param_00) + { + var_0E = self.mgturret[0] gettagorigin("tag_flash"); + var_0F = var_0A geteye(); + var_10 = vectornormalize(var_0F - var_0E); + var_11 = var_0E + var_10 * 20; + if(!sighttracepassed(var_11,var_0F,0,var_0A,self.mgturret[0])) + { + continue; + } + } + + var_0C = var_0A; + break; + } + + if(isdefined(var_0C)) + { + var_01 settargetentity(var_0C); + var_02 settargetentity(var_0C); + var_01 turretfireenable(); + var_02 turretfireenable(); + var_01 startfiring(); + var_02 startfiring(); + wait_for_warbird_fire_target_done(var_0C,param_00); + var_01 notify("stop_firing"); + var_02 notify("stop_firing"); + var_01 cleartargetentity(); + var_02 cleartargetentity(); + var_01 turretfiredisable(); + var_02 turretfiredisable(); + } + + wait(0.05); + } + + var_01 turretfiredisable(); + var_02 turretfiredisable(); +} + +//Function Number: 105 +warbird_heavy_fire_monitor() +{ + self endon("death"); + self waittill("warbird_stop_firing"); + maps\_utility::ent_flag_clear("fire_turrets"); +} + +//Function Number: 106 +burst_fire_warbird(param_00,param_01) +{ + self endon("death"); + self endon("stop_burst_fire_warbird"); + var_02 = 1; + var_03 = 1; + var_04 = 1; + var_05 = 1; + var_06 = gettime(); + var_07 = "start"; + for(;;) + { + var_08 = var_06 - gettime() * 0.001; + if(self isfiringturret() && var_08 <= 0) + { + if(var_07 != "fire") + { + var_07 = "fire"; + thread doshoottuned(param_00,param_01); + } + + var_08 = var_04 + randomfloat(var_05); + thread turrettimer(var_08); + self waittill("turretstatechange"); + var_08 = var_02 + randomfloat(var_03); + var_06 = gettime() + int(var_08 * 1000); + continue; + } + + if(var_07 != "aim") + { + var_07 = "aim"; + } + + thread turrettimer(var_08); + self waittill("turretstatechange"); + } +} + +//Function Number: 107 +doshoottuned(param_00,param_01) +{ + self endon("death"); + self endon("turretstatechange"); + if(isdefined(param_01) && param_01 > 0) + { + wait(param_01); + } + + for(;;) + { + self shootturret(); + wait(param_00); + } +} + +//Function Number: 108 +turrettimer(param_00) +{ + if(param_00 <= 0) + { + return; + } + + self endon("turretstatechange"); + wait(param_00); + if(isdefined(self)) + { + self notify("turretstatechange"); + } +} + +//Function Number: 109 +destroy_self_when_nuked() +{ + self endon("death"); + for(;;) + { + if(getdvar("debug_nuke") == "on") + { + self dodamage(self.health + 99999,(0,0,-500),level.player); + } + + wait(0.05); + } +} + +//Function Number: 110 +delete_on_notify(param_00,param_01) +{ + param_00 waittill(param_01); + self delete(); +} + +//Function Number: 111 +trigger_spawn_and_set_flag_think() +{ + var_00 = undefined; + if(isdefined(self.script_flag)) + { + var_00 = self.script_flag; + if(!isdefined(level.flag[var_00])) + { + common_scripts\utility::flag_init(var_00); + } + } + + self waittill("trigger",var_01); + if(isdefined(self.script_delay)) + { + maps\_utility::script_delay(); + } + + if(isdefined(var_00)) + { + common_scripts\utility::flag_set(var_00,var_01); + } + + var_02 = getentarray(self.target,"targetname"); + var_03 = []; + foreach(var_05 in var_02) + { + if(var_05.code_classname == "script_vehicle") + { + if((isdefined(var_05.script_moveoverride) && var_05.script_moveoverride == 1) || !isdefined(var_05.target)) + { + var_03[var_03.size] = maps\_vehicle::vehicle_spawn(var_05); + } + else + { + var_03[var_03.size] = var_05 maps\_vehicle::spawn_vehicle_and_gopath(); + } + + continue; + } + + var_05 thread maps\_spawner::trigger_spawner_spawns_guys(); + } + + if(var_03.size > 0) + { + thread tank_section_vehicles_spawned(var_03,var_00); + } +} + +//Function Number: 112 +trigger_set_and_clear_flag_think() +{ + var_00 = undefined; + if(isdefined(self.script_flag)) + { + var_00 = self.script_flag; + if(!isdefined(level.flag[var_00])) + { + common_scripts\utility::flag_init(var_00); + } + } + + var_01 = undefined; + if(isdefined(self.script_flag_clear)) + { + var_01 = self.script_flag_clear; + if(!isdefined(level.flag[var_01])) + { + common_scripts\utility::flag_init(var_01); + } + } + + for(;;) + { + self waittill("trigger",var_02); + if(isdefined(self.script_delay)) + { + maps\_utility::script_delay(); + } + + if(isdefined(var_00)) + { + common_scripts\utility::flag_set(var_00,var_02); + } + + if(isdefined(var_01)) + { + common_scripts\utility::flag_clear(var_01); + } + + wait(0.05); + } +} + +//Function Number: 113 +tank_section_vehicles_spawned(param_00,param_01) +{ + soundscripts\_snd::snd_message("aud_tank_section_vehicles_spawned",param_00,param_01); + if(isdefined(param_01)) + { + switch(param_01) + { + case "flag_tank_road_enemy_tank": + thread maps\lab_vo::tank_road_enemy_tank_dialogue(param_00[0]); + break; + + case "flag_tank_field_warbird_and_littlebird": + var_02 = []; + foreach(var_04 in param_00) + { + if(!issubstr(var_04.classname,"vrap")) + { + var_02[var_02.size] = var_04; + } + } + + thread maps\lab_vo::tank_field_choppers_dialogue(var_02); + break; + + default: + break; + } + } +} + +//Function Number: 114 +right_swing_pressed() +{ + var_00 = "BUTTON_RTRIG"; + if(!level.console && !level.player common_scripts\utility::is_player_gamepad_enabled()) + { + return level.player adsbuttonpressed(1); + } + + return level.player buttonpressed(var_00); +} + +//Function Number: 115 +left_swing_pressed() +{ + var_00 = "BUTTON_LTRIG"; + if(!level.console && !level.player common_scripts\utility::is_player_gamepad_enabled()) + { + return level.player attackbuttonpressed(); + } + + return level.player buttonpressed(var_00); +} + +//Function Number: 116 +break_left_climb_hint() +{ + if(common_scripts\utility::flag("flag_cloak_fail_kill_player")) + { + return 1; + } + + if(isdefined(level.player.waiting_on_left_swing) && level.player.waiting_on_left_swing == 0) + { + return 1; + } + + return 0; +} + +//Function Number: 117 +break_right_climb_hint() +{ + if(common_scripts\utility::flag("flag_cloak_fail_kill_player")) + { + return 1; + } + + if(isdefined(level.player.waiting_on_right_swing) && level.player.waiting_on_right_swing == 0) + { + return 1; + } + + return 0; +} + +//Function Number: 118 +break_both_climb_hint() +{ + if(isdefined(level.player.waiting_on_left_swing) && level.player.waiting_on_left_swing == 0 && isdefined(level.player.waiting_on_right_swing) && level.player.waiting_on_right_swing == 0) + { + return 1; + } + + return 0; +} + +//Function Number: 119 +get_rt_button_info() +{ + if(!level.player usinggamepad()) + { + return "ads"; + } + + var_00 = getbuttonsconfig(); + if(issubstr(getbuttonsconfig(),"lefty")) + { + if(level.ps3 || issubstr(var_00,"alt")) + { + return "smoke"; + } + + return "ads"; + } + + if(issubstr(var_00,"nomad")) + { + if(level.ps3 || issubstr(var_00,"alt")) + { + return "ads"; + } + + return "rt"; + } + + if(level.ps3 || issubstr(var_00,"alt")) + { + return "rb"; + } + + return "rt"; +} + +//Function Number: 120 +get_lt_button_info() +{ + var_00 = getbuttonsconfig(); + if(!level.player usinggamepad()) + { + return "attack"; + } + + if(issubstr(var_00,"lefty")) + { + if(level.ps3 || issubstr(var_00,"alt")) + { + return "frag"; + } + + return "attack"; + } + + if(issubstr(var_00,"nomad")) + { + if(level.ps3 || issubstr(var_00,"alt")) + { + return "lb"; + } + + return "frag"; + } + + if(level.ps3 || issubstr(var_00,"alt")) + { + return "lb"; + } + + return "lt"; +} + +//Function Number: 121 +wait_until_right_swing_pressed(param_00) +{ + level.player.waiting_on_right_swing = 1; + var_01 = maps\_shg_utility::hint_button_position(get_rt_button_info(),param_00,0); + for(;;) + { + if(right_swing_pressed()) + { + level.player.waiting_on_right_swing = 0; + var_01 maps\_shg_utility::hint_button_clear(); + return; + } + + wait(0.05); + } +} + +//Function Number: 122 +wait_until_left_swing_pressed(param_00) +{ + level.player.waiting_on_left_swing = 1; + var_01 = maps\_shg_utility::hint_button_position(get_lt_button_info(),param_00,0); + for(;;) + { + if(left_swing_pressed()) + { + level.player.waiting_on_left_swing = 0; + var_01 maps\_shg_utility::hint_button_clear(); + return; + } + + wait(0.05); + } +} + +//Function Number: 123 +wait_until_next_right_swing(param_00) +{ + level.player.waiting_on_right_swing = 1; + var_01 = maps\_shg_utility::hint_button_position(get_rt_button_info(),param_00,0); + for(;;) + { + if(isdefined(level.player.right_swing_released) && level.player.right_swing_released == 1 && right_swing_pressed()) + { + level.player.waiting_on_right_swing = 0; + var_01 maps\_shg_utility::hint_button_clear(); + return; + } + + wait(0.05); + } +} + +//Function Number: 124 +wait_until_next_left_swing(param_00) +{ + level.player.waiting_on_left_swing = 1; + var_01 = maps\_shg_utility::hint_button_position(get_lt_button_info(),param_00,0); + for(;;) + { + if(isdefined(level.player.left_swing_released) && level.player.left_swing_released == 1 && left_swing_pressed()) + { + level.player.waiting_on_left_swing = 0; + var_01 maps\_shg_utility::hint_button_clear(); + return; + } + + wait(0.05); + } +} + +//Function Number: 125 +monitor_right_swing_released() +{ + level.player.right_swing_released = 0; + for(;;) + { + if(!right_swing_pressed()) + { + level.player.right_swing_released = 1; + return; + } + + wait(0.05); + } +} + +//Function Number: 126 +monitor_left_swing_released() +{ + level.player.left_swing_released = 0; + for(;;) + { + if(!left_swing_pressed()) + { + level.player.left_swing_released = 1; + return; + } + + wait(0.05); + } +} + +//Function Number: 127 +wait_until_both_swings_pressed() +{ + level.player.waiting_on_left_swing = 1; + level.player.waiting_on_right_swing = 1; + maps\_utility::hintdisplayhandler("both_climb_hint"); + level.current_hint.font = "buttonprompt"; + for(;;) + { + if(left_swing_pressed() && right_swing_pressed()) + { + level.player.waiting_on_left_swing = 0; + level.player.waiting_on_right_swing = 0; + return; + } + + wait(0.05); + } +} + +//Function Number: 128 +set_helmet_open(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 0.5; + } + + self setanimknobrestart(%sentinel_covert_helmet_open_idle,1,param_00); +} + +//Function Number: 129 +set_helmet_closed(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 0.5; + } + + self setanimknobrestart(%sentinel_covert_helmet_closed_idle,1,param_00); +} + +//Function Number: 130 +clear_additive_helmet_anim(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 0.5; + } + + self clearanim(%s1_helmet,0); +} + +//Function Number: 131 +prep_cinematic(param_00) +{ + setsaveddvar("cg_cinematicFullScreen","0"); + cinematicingame(param_00,1); + level.current_cinematic = param_00; +} + +//Function Number: 132 +play_cinematic(param_00,param_01,param_02) +{ + if(!isdefined(param_01)) + { + soundscripts\_audio::deprecated_aud_send_msg("begin_cinematic",param_00); + } + + if(isdefined(level.current_cinematic)) + { + pausecinematicingame(0); + setsaveddvar("cg_cinematicFullScreen","1"); + level.current_cinematic = undefined; + } + else + { + cinematicingame(param_00); + } + + if(!isdefined(param_02) || !param_02) + { + setsaveddvar("cg_cinematicCanPause","1"); + } + + wait(1); + while(iscinematicplaying()) + { + wait(0.05); + } + + if(!isdefined(param_02) || !param_02) + { + setsaveddvar("cg_cinematicCanPause","0"); + } + + if(!isdefined(param_01)) + { + soundscripts\_audio::deprecated_aud_send_msg("end_cinematic",param_00); + } +} + +//Function Number: 133 +ending_fade_out(param_00) +{ + var_01 = newhudelem(); + var_01.x = 0; + var_01.y = 0; + var_01.horzalign = "fullscreen"; + var_01.vertalign = "fullscreen"; + var_01.sort = -10; + var_01 setshader("black",640,480); + if(isdefined(param_00) && param_00 > 0) + { + var_01.alpha = 0; + var_01 fadeovertime(param_00); + var_01.alpha = 1; + wait(param_00); + } + + waittillframeend; +} + +//Function Number: 134 +destructible_boxtruck_think() +{ + self setcandamage(1); + self.health = 500; + while(self.health > 0) + { + self waittill("damage",var_00,var_01); + if(var_01 != level.player) + { + self.health = self.health + var_00; + } + } + + self setmodel("vehicle_civ_boxtruck_destroyed"); + soundscripts\_snd::snd_message("boxtruck_explode"); + playfx(common_scripts\utility::getfx("boxcar_explosion"),self.origin); +} + +//Function Number: 135 +hovertank_weapon_hint(param_00) +{ + var_01 = undefined; + var_02 = ""; + switch(param_00) + { + case "missile": + var_01 = ::hovertank_missile_hint_off; + var_02 = "hovertank_missile_hint"; + break; + + case "cannon": + var_01 = ::hovertank_cannon_hint_off; + var_02 = "hovertank_cannon_hint"; + break; + + case "emp": + var_01 = ::hovertank_emp_hint_off; + var_02 = "hovertank_emp_hint"; + break; + + default: + break; + } + + if([[ var_01 ]]()) + { + return; + } + + var_03 = gettime(); + maps\_utility::hintdisplayhandler(var_02,level.player.hovertank_weapon_hint_data.hint_duration_s); + level.player.hovertank_weapon_hint_data.last_hint_times_ms[param_00] = var_03; + level.player.hovertank_weapon_hint_data.last_hint_time_any_ms = var_03; +} + +//Function Number: 136 +hovertank_hint_stop(param_00) +{ + common_scripts\utility::flag_set("flag_stop_hint_" + param_00); + thread hovertank_hint_reset_flag(param_00); +} + +//Function Number: 137 +hovertank_hint_reset_flag(param_00) +{ + wait(0.5); + common_scripts\utility::flag_clear("flag_stop_hint_" + param_00); +} + +//Function Number: 138 +hovertank_missile_hint_off() +{ + var_00 = common_scripts\utility::flag("flag_stop_hint_missile"); + return issubstr(vehicle_scripts\_hovertank::get_current_weapon_name(),"missile") || common_scripts\utility::flag("flag_se_hovertank_exit") || var_00; +} + +//Function Number: 139 +hovertank_cannon_hint_off() +{ + var_00 = common_scripts\utility::flag("flag_stop_hint_cannon"); + return issubstr(vehicle_scripts\_hovertank::get_current_weapon_name(),"cannon") || common_scripts\utility::flag("flag_se_hovertank_exit") || var_00; +} + +//Function Number: 140 +hovertank_emp_hint_off() +{ + var_00 = common_scripts\utility::flag("flag_stop_hint_emp"); + return issubstr(vehicle_scripts\_hovertank::get_current_weapon_name(),"antiair") || common_scripts\utility::flag("flag_se_hovertank_exit") || var_00; +} + +//Function Number: 141 +ai_kill_when_out_of_sight(param_00,param_01) +{ + param_00 endon("death"); + var_02 = 0.75; + for(;;) + { + wait(1); + if(maps\_utility::players_within_distance(param_01,param_00.origin)) + { + continue; + } + + if(maps\_utility::either_player_looking_at(param_00.origin + (0,0,48),var_02,1)) + { + continue; + } + + param_00 kill(); + } +} + +//Function Number: 142 +detection_highlight_hud_effect(param_00,param_01,param_02) +{ + var_03 = newhudelem(); + if(isdefined(param_02) && param_02) + { + var_03.color = (0.1,0,0); + } + else + { + var_03.color = (1,0,0); + } + + var_03.alpha = 0.05; + var_03 setradarhighlight(param_01); + wait(param_01); + if(isdefined(var_03)) + { + var_03 destroy(); + } +} + +//Function Number: 143 +notify_on_flag(param_00,param_01) +{ + common_scripts\utility::flag_wait(param_00); + self notify(param_01); +} + +//Function Number: 144 +disable_grenades() +{ + if(isdefined(self.grenadeammo) && !isdefined(self.oldgrenadeammo)) + { + self.oldgrenadeammo = self.grenadeammo; + } + + self.grenadeammo = 0; +} + +//Function Number: 145 +enable_grenades() +{ + if(isdefined(self.oldgrenadeammo)) + { + self.grenadeammo = self.oldgrenadeammo; + self.oldgrenadeammo = undefined; + } +} + +//Function Number: 146 +equip_microwave_grenade() +{ + self.grenadeweapon = "microwave_grenade"; + self.grenadeammo = 2; +} + +//Function Number: 147 +random_move_rate_blend() +{ + self endon("death"); + var_00 = randomfloatrange(0.5,1); + var_01 = randomfloatrange(0,3); + var_02 = 0; + while(var_02 <= var_01) + { + var_03 = maps\_utility::linear_interpolate(var_02 / var_01,var_00,1); + self.moveplaybackrate = var_03; + var_02 = var_02 + 0.05; + wait(0.05); + } +} + +//Function Number: 148 +monitor_out_of_bounds_areas(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 0; + } + + level.player_out_of_bounds_warning = 0; + thread maps\lab_vo::player_out_of_bounds_warning_vo(); + var_01 = 0.1; + var_02 = getentarray("out_of_bounds_warning","targetname"); + var_03 = getentarray("out_of_bounds_mission_fail","targetname"); + if(param_00) + { + thread debug_out_of_bounds_areas(); + } + + for(;;) + { + level.player_out_of_bounds_warning = 0; + foreach(var_05 in var_02) + { + if(level.player istouching(var_05)) + { + level.player_out_of_bounds_warning = 1; + } + + if(param_00) + { + common_scripts\utility::draw_trigger(var_05,var_01,(1,0.5,0)); + } + } + + level.player_out_of_bounds_mission_fail = 0; + foreach(var_05 in var_03) + { + if(level.player istouching(var_05)) + { + level.player_out_of_bounds_mission_fail = 1; + setdvar("ui_deadquote",&"LAB_DEADQUOTE_ABANDONED_BURKE"); + level.player freezecontrols(1); + thread maps\_utility::missionfailedwrapper(); + } + + if(param_00) + { + common_scripts\utility::draw_trigger(var_05,var_01,(1,0,0)); + } + } + + wait(var_01); + } +} + +//Function Number: 149 +debug_out_of_bounds_areas() +{ + var_00 = newhudelem(); + var_00.x = 250; + var_00.y = 200; + var_00.alignx = "left"; + var_00.aligny = "top"; + var_00.horzalign = "fullscreen"; + var_00.vertalign = "fullscreen"; + var_00.fontscale = 2; + var_00 settext(""); + var_01 = 0.1; + for(;;) + { + if(isdefined(level.player_out_of_bounds_mission_fail) && level.player_out_of_bounds_mission_fail) + { + var_00 settext("Mission failed."); + } + else if(isdefined(level.player_out_of_bounds_warning) && level.player_out_of_bounds_warning) + { + var_00 settext("Warning! You are out of bounds!"); + } + else + { + var_00 settext(""); + } + + wait(var_01); + } +} + +//Function Number: 150 +flag_wait_any_or_timeout(param_00,param_01,param_02,param_03,param_04,param_05) +{ + var_06 = param_00 * 1000; + var_07 = gettime(); + var_08 = []; + if(isdefined(param_01)) + { + var_08[var_08.size] = param_01; + } + + if(isdefined(param_02)) + { + var_08[var_08.size] = param_02; + } + + if(isdefined(param_03)) + { + var_08[var_08.size] = param_03; + } + + if(isdefined(param_04)) + { + var_08[var_08.size] = param_04; + } + + if(isdefined(param_05)) + { + var_08[var_08.size] = param_05; + } + + for(;;) + { + foreach(var_0A in var_08) + { + if(common_scripts\utility::flag_exist(var_0A) && common_scripts\utility::flag(var_0A)) + { + break; + } + } + + if(gettime() >= var_07 + var_06) + { + break; + } + + wait 0.05; + } +} + +//Function Number: 151 +player_stance_monitor() +{ + var_00 = 0; + var_01 = ""; + var_02 = ""; + var_03 = 0; + for(;;) + { + var_02 = level.player getstance(); + if(var_02 == "prone" && var_02 != var_01) + { + var_01 = var_02; + iprintln("player prone"); + var_00 = var_00 + 15; + } + + if(var_02 == "crouch" && var_02 != var_01) + { + var_01 = var_02; + iprintln("player crouch"); + var_00 = var_00 + 30; + } + + if(var_02 == "stand" && var_02 != var_01) + { + var_01 = var_02; + iprintln("player stand"); + var_00 = var_00 + 40; + } + + while(level.player isjumping()) + { + if(!var_03) + { + iprintln("player jumping"); + var_00 = var_00 + 75; + } + + var_03 = 1; + wait(0.05); + } + + var_03 = 0; + wait(0.05); + } +} + +//Function Number: 152 +player_exo_monitor() +{ + if(isdefined(level.start_point)) + { + switch(level.start_point) + { + case "tank_ascent": + case "tank_field_right_fork": + case "tank_field_left_fork": + case "tank_field": + case "tank_road": + break; + + default: + break; + } + } + + common_scripts\utility::flag_wait("flag_player_exo_enabled"); + maps\_player_exo::player_exo_activate(); +} + +//Function Number: 153 +player_falling_to_death() +{ + level endon("flag_rappel_start"); + common_scripts\utility::flag_wait("player_falling_to_death"); + setdvar("ui_deadquote",""); + level.player takeallweapons(); + var_00 = gettime() + 1000; + while(!level.player isonground() && gettime() < var_00) + { + wait(0.05); + } + + if(level.player isonground()) + { + level.player kill(); + return; + } + + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 154 +magic_bullet_strafe(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ + var_0A = 0; + var_0B = param_02 - param_00; + var_0C = param_03 - param_01; + var_0D = 0; + var_0E = 1 / param_05; + var_0F = param_05 / param_04; + var_10 = 0; + for(var_11 = param_07;var_0D < param_04;var_11 = min(var_18 + param_07,param_05 - var_0A)) + { + if(var_10 != var_11) + { + var_12 = randomfloatrange(var_10,var_11); + } + else + { + var_12 = var_10; + } + + if(var_12 > 0) + { + wait(var_12); + var_0A = var_0A + var_12; + } + + var_13 = param_01 + var_0C * var_0E * var_0A; + var_14 = param_00 + var_0B * var_0D / param_04 - 1; + if(param_06 > 0) + { + var_15 = randomfloat(param_06); + var_16 = (0,randomfloat(360),0); + var_14 = var_14 + anglestoforward(var_16) * var_15; + } + + if(isdefined(param_09)) + { + magicbullet(param_08,var_13,var_14,param_09); + } + else + { + var_17 = magicbullet(param_08,var_13,var_14); + var_17 soundscripts\_snd::snd_message("lab_exfil_missile_strike"); + } + + var_0D++; + var_18 = var_0D * var_0F - var_0A; + var_10 = max(0,var_18 - param_07); + } +} + +//Function Number: 155 +named_magic_bullet_strafe(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + var_07 = maps\_utility::getent_or_struct(param_00 + "_source_start","targetname"); + var_08 = maps\_utility::getent_or_struct(param_00 + "_source_end","targetname"); + var_09 = maps\_utility::getent_or_struct(param_00 + "_target_start","targetname"); + var_0A = maps\_utility::getent_or_struct(param_00 + "_target_end","targetname"); + if(!isdefined(var_07) || !isdefined(var_08) || !isdefined(var_09) || !isdefined(var_0A)) + { + return; + } + + magic_bullet_strafe(var_09.origin,var_07.origin,var_0A.origin,var_08.origin,param_01,param_02,param_03,param_04,param_05,param_06); +} + +//Function Number: 156 +rumble_light() +{ + level.player playrumbleonentity("damage_light"); +} + +//Function Number: 157 +rumble_light_1() +{ + level.player playrumbleonentity("light_1s"); +} + +//Function Number: 158 +rumble_light_2() +{ + level.player playrumbleonentity("light_2s"); +} + +//Function Number: 159 +rumble_light_3() +{ + level.player playrumbleonentity("light_3s"); +} + +//Function Number: 160 +rumble_heavy() +{ + level.player playrumbleonentity("damage_heavy"); +} + +//Function Number: 161 +rumble_heavy_1() +{ + level.player playrumbleonentity("heavy_1s"); +} + +//Function Number: 162 +rumble_heavy_2() +{ + level.player playrumbleonentity("heavy_2s"); +} + +//Function Number: 163 +rumble_heavy_3() +{ + level.player playrumbleonentity("heavy_3s"); +} + +//Function Number: 164 +setup_level_rumble_ent() +{ + if(!isdefined(level.rumble_ent)) + { + level.rumble_ent = maps\_utility::get_rumble_ent("steady_rumble",0); + } + + level.rumble_ent.intensity = 0; +} + +//Function Number: 165 +rumble_set_ent_rumble_intensity_for_time(param_00,param_01,param_02) +{ + param_00.intensity = param_01; + wait(param_02); + param_00.intensity = 0; +} + +//Function Number: 166 +play_rumble_on_entity(param_00,param_01) +{ + param_00 playrumbleonentity(param_01); +} \ No newline at end of file diff --git a/AW/PC/maps/lab_vo.gsc b/AW/PC/maps/lab_vo.gsc new file mode 100644 index 0000000..ff5a6bd --- /dev/null +++ b/AW/PC/maps/lab_vo.gsc @@ -0,0 +1,1897 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: lab_vo.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 88 + * Decompile Time: 1282 ms + * Timestamp: 4/22/2024 2:33:13 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setup_vo(); + init_dialogue_flags(); + thread start_dialogue_threads(); +} + +//Function Number: 2 +setup_vo() +{ + var_00 = "burke"; + var_01 = "cormack"; + var_02 = "knox"; + var_03 = "disarm_guy_1"; + var_04 = "PAS"; + level.scr_sound[var_00]["lab_gdn_theyreonus"] = "lab_gdn_theyreonus"; + level.scr_sound[var_00]["lab_gdn_dontletthatsniperdial"] = "lab_gdn_dontletthatsniperdial"; + level.scr_sound[var_00]["lab_gdn_thatempcockedupour"] = "lab_gdn_thatempcockedupour"; + level.scr_sound[var_00]["lab_gdn_exosstillrebooting"] = "lab_gdn_exosstillrebooting"; + level.scr_sound[var_00]["lab_gdn_gogogo"] = "lab_gdn_gogogo"; + level.scr_sound[var_00]["lab_gdn_keepmoving"] = "lab_gdn_keepmoving"; + level.scr_sound[var_00]["lab_gdn_run"] = "lab_gdn_run"; + level.scr_sound[var_00]["lab_gdn_heloscirclingaroundcomeon"] = "lab_gdn_heloscirclingaroundcomeon"; + level.scr_sound[var_00]["lab_gdn_uphere"] = "lab_gdn_uphere"; + level.scr_sound[var_00]["lab_gdn_moveit"] = "lab_gdn_moveit"; + level.scr_sound[var_00]["lab_gdn_overhere"] = "lab_gdn_overhere"; + level.scr_sound[var_00]["lab_gdn_holdon"] = "lab_gdn_holdon"; + level.scr_sound[var_00]["lab_gdn_cmon"] = "lab_gdn_cmon"; + level.scr_sound[var_00]["lab_gdn_exosupcloak"] = "lab_gdn_exosupcloak"; + level.scr_sound[var_00]["lab_gdn_choppersmovinoff"] = "lab_gdn_choppersmovinoff"; + level.scr_sound[var_00]["lab_gdn_syncyourvisortomy"] = "lab_gdn_syncyourvisortomy"; + level.scr_sound[var_00]["lab_gdn_moveslownearhostiles"] = "lab_gdn_moveslownearhostiles"; + level.scr_sound[var_00]["lab_gdn_dronedontmove"] = "lab_gdn_dronedontmove"; + level.scr_sound[var_00]["lab_gdn_dontmove"] = "lab_gdn_dontmove"; + level.scr_sound[var_00]["lab_gdn_stopmovingoritwill"] = "lab_gdn_stopmovingoritwill"; + level.scr_sound[var_00]["lab_gdn_easy"] = "lab_gdn_easy"; + level.scr_sound[var_00]["lab_gdn_damnitheardyou"] = "lab_gdn_damnitheardyou"; + level.scr_sound[var_00]["lab_gdn_letsgo"] = "lab_gdn_letsgo"; + level.scr_sound[var_00]["lab_gdn_watchyourenergycells"] = "lab_gdn_watchyourenergycells"; + level.scr_sound[var_00]["lab_gdn_turnoffcloaktorecharge"] = "lab_gdn_turnoffcloaktorecharge"; + level.scr_sound[var_00]["lab_gdn_mitchellonme"] = "lab_gdn_mitchellonme"; + level.scr_sound[var_00]["lab_gdn_damnitmitchell"] = "lab_gdn_damnitmitchell"; + level.scr_sound[var_00]["lab_gdn_werecompromised"] = "lab_gdn_werecompromised"; + level.scr_sound[var_00]["lab_gdn_theyveseenus"] = "lab_gdn_theyveseenus"; + level.scr_sound[var_00]["lab_gdn_theyvegotusengage"] = "lab_gdn_theyvegotusengage"; + level.scr_sound[var_00]["lab_gdn_choppermustbegoingfor"] = "lab_gdn_choppermustbegoingfor"; + level.scr_sound[var_00]["lab_gdn_moreincoming"] = "lab_gdn_moreincoming"; + level.scr_sound[var_00]["lab_gdn_keepitquietnexttime"] = "lab_gdn_keepitquietnexttime"; + level.scr_sound[var_00]["lab_gdn_takeemout"] = "lab_gdn_takeemout"; + level.scr_sound[var_00]["lab_gdn_slowlynow"] = "lab_gdn_slowlynow"; + level.scr_sound[var_00]["lab_gdn_kingpinthisissentineltwoone"] = "lab_gdn_kingpinthisissentineltwoone"; + level.scr_radio["lab_kpn_thisiskingpin"] = "lab_kpn_thisiskingpin"; + level.scr_sound[var_00]["lab_brk_eemode"] = "lab_brk_eemode"; + level.scr_sound[var_00]["lab_brk_needexfil"] = "lab_brk_needexfil"; + level.scr_radio["lab_kgn_negativesentineltwoone"] = "lab_kgn_negativesentineltwoone"; + level.scr_sound[var_00]["lab_gdn_copyfuckinhell"] = "lab_gdn_copyfuckinhell"; + level.scr_sound[var_00]["lab_gdn_patrolapproaching"] = "lab_gdn_patrolapproaching"; + level.scr_radio["lab_scr_victorzerosevenwhatsyourlocation"] = "lab_scr_victorzerosevenwhatsyourlocation"; + level.scr_sound[var_03]["lab_gr1_thisisvictorsevenwereat"] = "lab_gr1_thisisvictorsevenwereat"; + level.scr_radio["lab_scr_wepickedupthreedead"] = "lab_scr_wepickedupthreedead"; + level.scr_sound[var_03]["lab_gr1_nosignofthemhere"] = "lab_gr1_nosignofthemhere"; + level.scr_radio["lab_scr_holdyourpositionsandwait"] = "lab_scr_holdyourpositionsandwait"; + level.scr_sound[var_03]["lab_gr1_copythat"] = "lab_gr1_copythat"; + level.scr_sound[var_00]["lab_gdn_theseareunsuppressed"] = "lab_gdn_theseareunsuppressed"; + level.scr_sound[var_00]["lab_gdn_toomuchactivity"] = "lab_gdn_toomuchactivity"; + level.scr_sound[var_00]["lab_gdn_waituntiltheypass"] = "lab_gdn_waituntiltheypass"; + level.scr_sound[var_00]["lab_gdn_makemistakeslikethaton"] = "lab_gdn_makemistakeslikethaton"; + level.scr_sound[var_00]["lab_gdn_itsyourfuneralmate"] = "lab_gdn_itsyourfuneralmate"; + level.scr_sound[var_00]["lab_gdn_cormackandknoxshouldbe"] = "lab_gdn_cormackandknoxshouldbe"; + level.scr_sound[var_00]["lab_gdn_twointhevehicle"] = "lab_gdn_twointhevehicle"; + level.scr_sound[var_00]["lab_gdn_takeoutthepassenger"] = "lab_gdn_takeoutthepassenger"; + level.scr_sound[var_00]["lab_gdn_takehimdown"] = "lab_gdn_takehimdown"; + level.scr_sound[var_00]["lab_gdn_mitchellgetthatbastard"] = "lab_gdn_mitchellgetthatbastard"; + level.scr_sound[var_00]["lab_gdn_topjob"] = "lab_gdn_topjob"; + level.scr_sound[var_00]["lab_gdn_convoyaheadholdup"] = "lab_gdn_convoyaheadholdup"; + level.scr_sound[var_00]["lab_gdn_thisway"] = "lab_gdn_thisway"; + level.scr_sound[var_00]["lab_gdn_fiveastsapproaching"] = "lab_gdn_fiveastsapproaching"; + level.scr_sound[var_00]["lab_gdn_forgetaboutshootingourway"] = "lab_gdn_forgetaboutshootingourway"; + level.scr_sound[var_00]["lab_gdn_grabsomecover"] = "lab_gdn_grabsomecover"; + level.scr_sound[var_00]["lab_gdn_keepmovingalmostthere"] = "lab_gdn_keepmovingalmostthere"; + level.scr_sound[var_00]["lab_gdn_waitforthepatrolto"] = "lab_gdn_waitforthepatrolto"; + level.scr_sound[var_00]["lab_gdn_waitforthebeam"] = "lab_gdn_waitforthebeam"; + level.scr_sound[var_00]["lab_gdn_waitwait"] = "lab_gdn_waitwait"; + level.scr_sound[var_00]["lab_gdn_okaygo"] = "lab_gdn_okaygo"; + level.scr_sound[var_00]["lab_gdn_watchthatbeam"] = "lab_gdn_watchthatbeam"; + level.scr_sound[var_00]["lab_gdn_okaynow"] = "lab_gdn_okaynow"; + level.scr_sound[var_00]["lab_gdn_seeker"] = "lab_gdn_seeker"; + level.scr_sound[var_00]["lab_gdn_cloaksuselessagainstit"] = "lab_gdn_cloaksuselessagainstit"; + level.scr_sound[var_00]["lab_gdn_werepastkeepmoving"] = "lab_gdn_werepastkeepmoving"; + level.scr_sound[var_00]["lab_gdn_thisisit"] = "lab_gdn_thisisit"; + level.scr_sound[var_01]["lab_crk_copy"] = "lab_crk_copy"; + level.scr_sound[var_00]["lab_gdn_weneedanexfilsharpish"] = "lab_gdn_weneedanexfilsharpish"; + level.scr_sound[var_01]["lab_crk_missionisntoverkitup"] = "lab_crk_missionisntoverkitup"; + level.scr_sound[var_00]["lab_gdn_themissionwasoverbefore"] = "lab_gdn_themissionwasoverbefore"; + level.scr_sound[var_01]["lab_crk_werenotleavinguntilwe"] = "lab_crk_werenotleavinguntilwe"; + level.scr_sound[var_00]["lab_gdn_idontseeafucking"] = "lab_gdn_idontseeafucking"; + level.scr_sound[var_01]["lab_crmk_switchtermal"] = "lab_crmk_switchtermal"; + level.scr_sound[var_02]["lab_knx_sendingyoumyfeed"] = "lab_knx_sendingyoumyfeed"; + level.scr_sound[var_01]["lab_crk_theyvegotsomethingtohide"] = "lab_crk_theyvegotsomethingtohide"; + level.scr_sound[var_00]["lab_gdn_wevelosttheinitiativewe"] = "lab_gdn_wevelosttheinitiativewe"; + level.scr_sound[var_01]["lab_crk_thereisnootherday"] = "lab_crk_thereisnootherday"; + level.scr_sound[var_00]["lab_gdn_thisthinggoessidewaysits"] = "lab_gdn_thisthinggoessidewaysits"; + level.scr_sound[var_02]["lab_knx_holographiccanopy"] = "lab_knx_holographiccanopy"; + level.scr_sound[var_00]["lab_gdn_mitchelgetclippedon"] = "lab_gdn_mitchelgetclippedon"; + level.scr_sound[var_00]["lab_gdn_hookupmitchel"] = "lab_gdn_hookupmitchel"; + level.scr_sound[var_01]["lab_crk_targetbuildingupahead"] = "lab_crk_targetbuildingupahead"; + level.scr_sound[var_01]["lab_crk_camera"] = "lab_crk_camera"; + level.scr_sound[var_01]["lab_crk_twoguardsbythecamera"] = "lab_crk_twoguardsbythecamera"; + level.scr_sound[var_01]["lab_crk_mitchellpickatarget"] = "lab_crk_mitchellpickatarget"; + level.scr_sound[var_01]["lab_crk_wakeupmitchell"] = "lab_crk_wakeupmitchell"; + level.scr_sound[var_00]["lab_gdn_moveup"] = "lab_gdn_moveup"; + level.scr_sound[var_02]["lab_knx_eyesontheentrypoint"] = "lab_knx_eyesontheentrypoint"; + level.scr_sound[var_01]["lab_crk_thisisourbreachpoint"] = "lab_crk_thisisourbreachpoint"; + level.scr_sound[var_01]["lab_crk_mitchellsetthecharge"] = "lab_crk_mitchellsetthecharge"; + level.scr_sound[var_01]["lab_crk_mitchellmoveit"] = "lab_crk_mitchellmoveit"; + level.scr_sound[var_01]["lab_crk_movemovemove"] = "lab_crk_movemovemove"; + level.scr_sound[var_00]["lab_gdn_twointhehallway"] = "lab_gdn_twointhehallway"; + level.scr_sound[var_01]["lab_crk_takeemout"] = "lab_crk_takeemout"; + level.scr_sound[var_01]["lab_crk_kingpinweveinfiltratedthetarget"] = "lab_crk_kingpinweveinfiltratedthetarget"; + level.scr_radio["lab_kgn_rogerthat"] = "lab_kgn_rogerthat"; + level.scr_sound[var_01]["lab_crk_roger"] = "lab_crk_roger"; + level.scr_sound[var_02]["lab_knx_clear"] = "lab_knx_clear"; + level.scr_sound[var_00]["lab_gdn_clear"] = "lab_gdn_clear"; + level.scr_sound[var_01]["lab_crk_hitthestairs"] = "lab_crk_hitthestairs"; + level.scr_sound[var_02]["lab_knx_gotchacovered"] = "lab_knx_gotchacovered"; + level.scr_sound[var_01]["lab_crk_thisisit"] = "lab_crk_thisisit"; + level.scr_sound[var_00]["lab_gdn_nevermind"] = "lab_gdn_nevermind"; + level.scr_sound[var_00]["lab_gdn_clear2"] = "lab_gdn_clear2"; + level.scr_sound[var_00]["lab_gdn_youreupmitchel"] = "lab_gdn_youreupmitchel"; + level.scr_sound[var_00]["lab_gdn_getonthatconsole"] = "lab_gdn_getonthatconsole"; + level.scr_sound[var_00]["lab_gdn_mitchellgetonthatconsole"] = "lab_gdn_mitchellgetonthatconsole"; + level.scr_sound[var_00]["lab_gdn_getmovingmitchell"] = "lab_gdn_getmovingmitchell"; + level.scr_sound[var_01]["lab_crk_walksrightpastplayergiving"] = "lab_crk_walksrightpastplayergiving"; + level.scr_sound[var_02]["lab_crmk_sse"] = "lab_crmk_sse"; + level.scr_radio["lab_kgn_standingbytoreceivepackage"] = "lab_kgn_standingbytoreceivepackage"; + level.scr_sound[var_02]["lab_knx_bingowevegotthepackage"] = "lab_knx_bingowevegotthepackage"; + level.scr_radio["lab_kgn_uplinkconfirmed"] = "lab_kgn_uplinkconfirmed"; + level.scr_sound[var_01]["lab_crk_okayburnitdown"] = "lab_crk_okayburnitdown"; + level.scr_sound[var_02]["lab_brk_thermite"] = "lab_brk_thermite"; + level.scr_sound[var_01]["lab_crk_approachestheplayertheresmore"] = "lab_crk_approachestheplayertheresmore"; + level.scr_radio["lab_kgn_packagerecievedgoodjob"] = "lab_kgn_packagerecievedgoodjob"; + level.scr_sound[var_01]["lab_crk_copythat"] = "lab_crk_copythat"; + level.scr_radio["lab_kgn_twothreebeadvised"] = "lab_kgn_twothreebeadvised"; + level.scr_sound[var_02]["lab_knx_theyjustactivedasensor"] = "lab_knx_theyjustactivedasensor"; + level.scr_sound[var_01]["lab_crk_okaystealthsnolongeran"] = "lab_crk_okaystealthsnolongeran"; + level.scr_sound[var_01]["lab_crk_go2"] = "lab_crk_go2"; + level.scr_sound[var_00]["lab_gdn_takeoutthatsensor"] = "lab_gdn_takeoutthatsensor"; + level.scr_sound[var_00]["lab_gdn_sensorinthecorner"] = "lab_gdn_sensorinthecorner"; + level.scr_sound[var_01]["lab_crk_eyesonasensor"] = "lab_crk_eyesonasensor"; + level.scr_sound[var_00]["lab_gdn_sensorsdown"] = "lab_gdn_sensorsdown"; + level.scr_sound[var_00]["lab_gdn_sensorsout"] = "lab_gdn_sensorsout"; + level.scr_sound[var_01]["lab_crk_sensorsdown"] = "lab_crk_sensorsdown"; + level.scr_sound[var_01]["lab_crk_sensorsdead"] = "lab_crk_sensorsdead"; + level.scr_sound[var_00]["lab_gdn_contactbelowus"] = "lab_gdn_contactbelowus"; + level.scr_sound[var_01]["lab_crk_flankleftorright"] = "lab_crk_flankleftorright"; + level.scr_sound[var_01]["lab_crk_mitchelltakepoint"] = "lab_crk_mitchelltakepoint"; + level.scr_sound[var_01]["lab_crk_moveup"] = "lab_crk_moveup"; + level.scr_sound[var_00]["lab_gdn_clear2"] = "lab_gdn_clear2"; + level.scr_sound[var_01]["lab_crk_werehere"] = "lab_crk_werehere"; + level.scr_sound[var_02]["lab_knx_biosparqispickinguptrace"] = "lab_knx_biosparqispickinguptrace"; + level.scr_sound[var_01]["lab_crk_mitchellplantthefrbs"] = "lab_crk_mitchellplantthefrbs"; + level.scr_sound[var_01]["lab_crk_wakeupmitchell2"] = "lab_crk_wakeupmitchell2"; + level.scr_sound[var_01]["lab_crk_mitchellgetthefrbready"] = "lab_crk_mitchellgetthefrbready"; + level.scr_sound[var_01]["lab_crk_plantitmitchell"] = "lab_crk_plantitmitchell"; + level.scr_sound[var_01]["lab_crk_everyoneout"] = "lab_crk_everyoneout"; + level.scr_sound[var_01]["lab_crk_mitchellhitit"] = "lab_crk_mitchellhitit"; + level.scr_sound[var_01]["lab_crk_hitit"] = "lab_crk_hitit"; + level.scr_sound[var_01]["lab_crk_kingpinmaterialissecure"] = "lab_crk_kingpinmaterialissecure"; + level.scr_radio["lab_kgn_primarylzistoohot"] = "lab_kgn_primarylzistoohot"; + level.scr_sound[var_01]["lab_crk_understoodweremoving"] = "lab_crk_understoodweremoving"; + level.scr_sound[var_00]["lab_gdn_keepsgettingbetter"] = "lab_gdn_keepsgettingbetter"; + level.scr_sound[var_00]["lab_gdn_chargeyourcloak"] = "lab_gdn_chargeyourcloak"; + level.scr_sound[var_00]["lab_gdn_holdupcharging"] = "lab_gdn_holdupcharging"; + level.scr_sound[var_00]["lab_gdn_chargeup"] = "lab_gdn_chargeup"; + level.scr_sound[var_00]["lab_gdn_moving"] = "lab_gdn_moving"; + level.scr_sound[var_01]["lab_crk_contact"] = "lab_crk_contact"; + level.scr_sound[var_01]["lab_crk_knoxgetthisdooropen"] = "lab_crk_knoxgetthisdooropen"; + level.scr_sound[var_02]["lab_knx_runningabypasscoverme"] = "lab_knx_runningabypasscoverme"; + level.scr_sound[var_02]["lab_knx_imgettinginterferencefromthat"] = "lab_knx_imgettinginterferencefromthat"; + level.scr_sound[var_01]["lab_crk_thatsyoumitchell"] = "lab_crk_thatsyoumitchell"; + level.scr_sound[var_00]["lab_gdn_ast"] = "lab_gdn_ast"; + level.scr_sound[var_01]["lab_crk_shitdrawitsfire"] = "lab_crk_shitdrawitsfire"; + level.scr_sound[var_01]["lab_crk_scramblersontopofthat"] = "lab_crk_scramblersontopofthat"; + level.scr_sound[var_00]["lab_gdn_jammersontopofthat"] = "lab_gdn_jammersontopofthat"; + level.scr_sound[var_00]["lab_gdn_lookforaladder"] = "lab_gdn_lookforaladder"; + level.scr_sound[var_01]["lab_crk_plantthatjammer"] = "lab_crk_plantthatjammer"; + level.scr_sound[var_01]["lab_crk_mitchellgetthatjammerhooked"] = "lab_crk_mitchellgetthatjammerhooked"; + level.scr_sound[var_01]["lab_crk_mitchellplantthejammer"] = "lab_crk_mitchellplantthejammer"; + level.scr_sound[var_02]["lab_knx_signalsclear"] = "lab_knx_signalsclear"; + level.scr_sound[var_01]["lab_crk_moretangosmovingin"] = "lab_crk_moretangosmovingin"; + level.scr_sound[var_02]["lab_knx_doorsopenletsmove"] = "lab_knx_doorsopenletsmove"; + level.scr_sound[var_01]["lab_crk_mitchellregroupdownhere"] = "lab_crk_mitchellregroupdownhere"; + level.scr_sound[var_01]["lab_crk_mitchellrallyup"] = "lab_crk_mitchellrallyup"; + level.scr_radio["lab_pas_wehavehostilesinthe"] = "lab_pas_wehavehostilesinthe"; + level.scr_sound[var_01]["lab_crk_vehiclehangarsthroughhere"] = "lab_crk_vehiclehangarsthroughhere"; + level.scr_radio["lab_pas_coderedinallsectors"] = "lab_pas_coderedinallsectors"; + level.scr_radio["lab_pas_allsecurityteamsreportto"] = "lab_pas_allsecurityteamsreportto"; + level.scr_sound[var_01]["lab_crmk_anotherdoor"] = "lab_crmk_anotherdoor"; + level.scr_sound[var_02]["lab_knx_onit"] = "lab_knx_onit"; + level.scr_sound[var_00]["lab_brk_improvise"] = "lab_brk_improvise"; + level.scr_sound[var_02]["lab_knx_itsopen"] = "lab_knx_itsopen"; + level.scr_sound[var_00]["lab_brk_backup"] = "lab_brk_backup"; + level.scr_sound[var_00]["lab_brk_getout"] = "lab_brk_getout"; + level.scr_sound[var_01]["lab_crk_sweeptheroom"] = "lab_crk_sweeptheroom"; + level.scr_sound[var_00]["lab_gdn_clear3"] = "lab_gdn_clear3"; + level.scr_sound[var_01]["lab_crk_thisisourride"] = "lab_crk_thisisourride"; + level.scr_sound[var_02]["lab_knx_copythat"] = "lab_knx_copythat"; + level.scr_sound[var_00]["lab_gdn_t740stillonlyaprototype"] = "lab_gdn_t740stillonlyaprototype"; + level.scr_sound[var_02]["lab_knx_poweringitup"] = "lab_knx_poweringitup"; + level.scr_sound[var_01]["lab_crk_handsupwhoknowshow"] = "lab_crk_handsupwhoknowshow"; + level.scr_sound[var_00]["lab_gdn_mitchellanditrainedup"] = "lab_gdn_mitchellanditrainedup"; + level.scr_sound[var_02]["lab_knx_disengaging"] = "lab_knx_disengaging"; + level.scr_sound[var_02]["lab_knx_werechargedandfullyarmed"] = "lab_knx_werechargedandfullyarmed"; + level.scr_sound[var_01]["lab_crk_kingpinthisissentineltwothree"] = "lab_crk_kingpinthisissentineltwothree"; + level.scr_radio["lab_kgn_rogerthatsentineltwothree"] = "lab_kgn_rogerthatsentineltwothree"; + level.scr_sound[var_01]["lab_crk_alrighteveryonein"] = "lab_crk_alrighteveryonein"; + level.scr_sound[var_00]["lab_gdn_allsystemscheckgreen"] = "lab_gdn_allsystemscheckgreen"; + level.scr_sound[var_00]["lab_gdn_alrightmitchelljustlikein"] = "lab_gdn_alrightmitchelljustlikein"; + level.scr_sound[var_00]["lab_gdn_moveitoutmitchell"] = "lab_gdn_moveitoutmitchell"; + level.scr_sound[var_02]["lab_knx_fullyarmed"] = "lab_knx_fullyarmed"; + level.scr_sound[var_00]["lab_gdn_theyreontous"] = "lab_gdn_theyreontous"; + level.scr_sound[var_00]["lab_gdn_infantryaheadofus"] = "lab_gdn_infantryaheadofus"; + level.scr_sound[var_00]["lab_gdn_warbirdincoming"] = "lab_gdn_warbirdincoming"; + level.scr_sound[var_00]["lab_gdn_armorapproaching"] = "lab_gdn_armorapproaching"; + level.scr_sound[var_00]["lab_gdn_tankapproaching"] = "lab_gdn_tankapproaching"; + level.scr_sound[var_00]["lab_gdn_warbirdonourleft"] = "lab_gdn_warbirdonourleft"; + level.scr_sound[var_00]["lab_gdn_ourtrophysystemisempty"] = "lab_gdn_ourtrophysystemisempty"; + level.scr_sound[var_00]["lab_brk_reloadtrophy"] = "lab_brk_reloadtrophy"; + level.scr_sound[var_00]["lab_gdn_wecanttakeanotherhit"] = "lab_gdn_wecanttakeanotherhit"; + level.scr_sound[var_00]["lab_gdn_weregettingbeatenup"] = "lab_gdn_weregettingbeatenup"; + level.scr_sound[var_00]["lab_gdn_tankonourleft"] = "lab_gdn_tankonourleft"; + level.scr_sound[var_00]["lab_gdn_tankonourright"] = "lab_gdn_tankonourright"; + level.scr_sound[var_00]["lab_gdn_keepmovingmitchell2"] = "lab_gdn_keepmovingmitchell2"; + level.scr_sound[var_00]["lab_gdn_lzisupahead"] = "lab_gdn_lzisupahead"; + level.scr_sound[var_00]["lab_gdn_switchtomissiles"] = "lab_gdn_switchtomissiles"; + level.scr_sound[var_00]["lab_gdn_useyourcannononthose"] = "lab_gdn_useyourcannononthose"; + level.scr_sound[var_00]["lab_gdn_empthatwarbird"] = "lab_gdn_empthatwarbird"; + level.scr_sound[var_01]["lab_crmk_awaytargetzone"] = "lab_crmk_awaytargetzone"; + level.scr_radio["lab_kpn_cantposid"] = "lab_kpn_cantposid"; + level.scr_sound[var_01]["lab_crmk_biggesttincan"] = "lab_crmk_biggesttincan"; + level.scr_radio["lab_kpn_rogerseeyou"] = "lab_kpn_rogerseeyou"; + level.scr_sound[var_00]["lab_brk_firewhenready"] = "lab_brk_firewhenready"; + level.scr_sound[var_02]["lab_knx_fuelcellslow"] = "lab_knx_fuelcellslow"; + level.scr_sound[var_01]["lab_crk_straightahead"] = "lab_crk_straightahead"; + level.scr_sound[var_01]["lab_crk_headright"] = "lab_crk_headright"; + level.scr_sound[var_01]["lab_crk_turnleft"] = "lab_crk_turnleft"; + level.scr_sound[var_01]["lab_crk_acrosstheriver"] = "lab_crk_acrosstheriver"; + level.scr_sound[var_01]["lab_crk_upthehill"] = "lab_crk_upthehill"; + level.scr_sound[var_01]["lab_crk_throughthegate2"] = "lab_crk_throughthegate2"; + level.scr_sound[var_01]["lab_crk_takingfirefromtheright"] = "lab_crk_takingfirefromtheright"; + level.scr_sound[var_01]["lab_crk_takingfirefromtheleft"] = "lab_crk_takingfirefromtheleft"; + level.scr_sound[var_00]["lab_gdn_firefromtheright"] = "lab_gdn_firefromtheright"; + level.scr_sound[var_00]["lab_gdn_firefromtheleft"] = "lab_gdn_firefromtheleft"; + level.scr_sound[var_01]["lab_crmk_armorcrit"] = "lab_crmk_armorcrit"; + level.scr_sound[var_00]["lab_gdn_reloading"] = "lab_gdn_reloading"; + level.scr_sound[var_00]["lab_gdn_empthechoppers"] = "lab_gdn_empthechoppers"; + level.scr_sound[var_00]["lab_gdn_usemissilesagainstinfantry"] = "lab_gdn_usemissilesagainstinfantry"; + level.scr_sound[var_00]["lab_gdn_empsuselessagainstthosetanks"] = "lab_gdn_empsuselessagainstthosetanks"; + level.scr_sound[var_00]["lab_gdn_niceshot"] = "lab_gdn_niceshot"; + level.scr_sound[var_00]["lab_gdn_gothim"] = "lab_gdn_gothim"; + level.scr_sound[var_00]["lab_gdn_tanksdown"] = "lab_gdn_tanksdown"; + level.scr_sound[var_00]["lab_gdn_warbirdsdown"] = "lab_gdn_warbirdsdown"; + level.scr_sound[var_00]["lab_gdn_hithimagain"] = "lab_gdn_hithimagain"; + level.scr_sound[var_00]["lab_gdn_fireagain"] = "lab_gdn_fireagain"; + level.scr_sound[var_01]["lab_crk_moreinfantrycomingin"] = "lab_crk_moreinfantrycomingin"; + level.scr_sound[var_01]["lab_crk_vrapsinbound"] = "lab_crk_vrapsinbound"; + level.scr_sound[var_01]["lab_crk_vrapahead"] = "lab_crk_vrapahead"; + level.scr_sound[var_01]["lab_crk_armoronourleft"] = "lab_crk_armoronourleft"; + level.scr_sound[var_01]["lab_crk_tankscomingdowntheroad"] = "lab_crk_tankscomingdowntheroad"; + level.scr_sound[var_01]["lab_crk_firefromabove"] = "lab_crk_firefromabove"; + level.scr_sound[var_01]["lab_crk_threatbehindus"] = "lab_crk_threatbehindus"; + level.scr_sound[var_00]["lab_brk_enginesdown"] = "lab_brk_enginesdown"; + level.scr_sound[var_01]["lab_crmk_holdoff"] = "lab_crmk_holdoff"; + level.scr_sound[var_00]["lab_gdn_switchtoslugs"] = "lab_gdn_switchtoslugs"; + level.scr_radio["lab_kgn_sentineltwothreeihaveahelo"] = "lab_kgn_sentineltwothreeihaveahelo"; + level.scr_sound[var_01]["lab_crk_copythatcoordinatesconfirmed"] = "lab_crk_copythatcoordinatesconfirmed"; + level.scr_sound[var_02]["lab_knx_271degrees"] = "lab_knx_271degrees"; + level.scr_sound[var_00]["lab_brk_howsammo"] = "lab_brk_howsammo"; + level.scr_sound[var_02]["lab_knx_dontwannaknow"] = "lab_knx_dontwannaknow"; + level.scr_sound[var_00]["lab_brk_fireeverything"] = "lab_brk_fireeverything"; + level.scr_sound[var_01]["lab_crmk_nearlythere"] = "lab_crmk_nearlythere"; + level.scr_sound[var_00]["lab_brk_cmonmoveit"] = "lab_brk_cmonmoveit"; + level.scr_sound[var_02]["lab_knx_outofjuice"] = "lab_knx_outofjuice"; + level.scr_sound[var_01]["lab_crk_thelzshouldbejust"] = "lab_crk_thelzshouldbejust"; + level.scr_sound[var_00]["lab_brk_goodideas"] = "lab_brk_goodideas"; + level.scr_sound[var_00]["lab_gdn_getreadytobailout"] = "lab_gdn_getreadytobailout"; + level.scr_sound[var_01]["lab_crk_thisisit2"] = "lab_crk_thisisit2"; + level.scr_sound[var_00]["lab_gdn_holdon"] = "lab_gdn_holdon"; + level.scr_sound[var_00]["lab_gdn_everybodyoutmovemovemove"] = "lab_gdn_everybodyoutmovemovemove"; + level.scr_radio["lab_ch5_falcon22cominginfor"] = "lab_ch5_falcon22cominginfor"; + level.scr_sound[var_01]["lab_crk_thatsourbird"] = "lab_crk_thatsourbird"; + level.scr_radio["lab_ch5_standingbytoloadpassengers"] = "lab_ch5_standingbytoloadpassengers"; + level.scr_sound[var_01]["lab_crk_loaduploadup"] = "lab_crk_loaduploadup"; + level.scr_sound[var_00]["lab_gdn_comeon2"] = "lab_gdn_comeon2"; + level.scr_radio["lab_plt_holdon"] = "lab_plt_holdon"; + level.scr_sound[var_01]["lab_crk_shit2"] = "lab_crk_shit2"; + level.scr_sound[var_00]["lab_gdn_onestepaheadofyou"] = "lab_gdn_onestepaheadofyou"; + level.scr_sound[var_01]["lab_crmk_gjsoldier"] = "lab_crmk_gjsoldier"; + level.scr_sound[var_01]["lab_crk_niceworksoldier"] = "lab_crk_niceworksoldier"; + level.scr_radio["lab_plt_extractcompleteheadinghome"] = "lab_plt_extractcompleteheadinghome"; + level.scr_radio["lab_sir_weaponsystemsonline"] = "lab_sir_weaponsystemsonline"; + level.scr_radio["lab_sir_trophysystemcritical"] = "lab_sir_trophysystemcritical"; + level.scr_radio["lab_sir_trophysystemat25"] = "lab_sir_trophysystemat25"; + level.scr_radio["lab_sir_trophysystemat50"] = "lab_sir_trophysystemat50"; + level.scr_radio["lab_gdn_theyvegotusengage"] = "lab_sir_trophysystemat75"; +} + +//Function Number: 3 +init_dialogue_flags() +{ + common_scripts\utility::flag_init("flag_intro_run_dialogue_start"); + common_scripts\utility::flag_init("flag_exos_rebooting_dialogue"); + common_scripts\utility::flag_init("flag_emp_cocked_exo_dialogue"); + common_scripts\utility::flag_init("flag_gogogo_dialogue_start"); + common_scripts\utility::flag_init("flag_run_dialogue_start"); + common_scripts\utility::flag_init("flag_hold_on_dialogue"); + common_scripts\utility::flag_init("flag_search_drone_warning_dialogue"); + common_scripts\utility::flag_init("flag_aproach_vehicle_dialogue_complete"); + common_scripts\utility::flag_init("flag_start_vehicle_takedown_dialogue_complete"); + common_scripts\utility::flag_init("flag_cliff_rappel_dialogue_start"); + common_scripts\utility::flag_init("flag_cliff_rappeling_dialogue_start"); + common_scripts\utility::flag_init("flag_search_drone_complete_dialogue_start"); + common_scripts\utility::flag_init("flag_forest_takedown_01_dialogue_start"); + common_scripts\utility::flag_init("flag_post_server_room_dialogue_complete"); + common_scripts\utility::flag_init("flag_slowly_dialogue_start"); + common_scripts\utility::flag_init("flag_courtyard_door_hack_dialogue"); + common_scripts\utility::flag_init("flag_courtyard_door_hack_dialogue_complete"); + common_scripts\utility::flag_init("flag_courtyard_cover_Knox_dialogue_complete"); + common_scripts\utility::flag_init("flag_research_facility_combat_dialogue_complete"); + common_scripts\utility::flag_init("flag_foam_room_complete_dialogue"); + common_scripts\utility::flag_init("flag_foam_corridor_exit_door_open_dialogue"); + common_scripts\utility::flag_init("flag_foam_corridor_another_door_dialogue"); + common_scripts\utility::flag_init("flag_foam_corridor_improvise_dialogue"); + common_scripts\utility::flag_init("flag_tank_hangar_sweep_dialogue"); + common_scripts\utility::flag_init("flag_tank_hangar_reveal_dialogue"); + common_scripts\utility::flag_init("flag_tank_board_dialogue"); + common_scripts\utility::flag_init("flag_player_in_hovertank_dialogue"); + common_scripts\utility::flag_init("flag_tank_courtyard_dialogue"); + common_scripts\utility::flag_init("flag_tank_road_log_enemies_dialogue"); + common_scripts\utility::flag_init("flag_tank_field_lz_over_ridge_dialogue"); + common_scripts\utility::flag_init("flag_tank_clearing_infantry_dialogue"); + common_scripts\utility::flag_init("flag_tank_ascent_dialogue"); + common_scripts\utility::flag_init("flag_tank_exit_dialogue"); + common_scripts\utility::flag_init("flag_exfil_start_dialogue"); + common_scripts\utility::flag_init("flag_exfil_loadup_dialogue"); + common_scripts\utility::flag_init("flag_exfil_dialogue"); + common_scripts\utility::flag_init("flag_important_dialogue_playing"); +} + +//Function Number: 4 +start_dialogue_threads() +{ + thread tank_systems_dialogue(); + switch(level.start_point) + { + case "demo_with_itiot": + case "crash": + case "default": + intro_dialogue(); + into_the_forest_dialogue(); + break; + + case "forest_start": + helo_coming_back_dialogue(); + heading_your_way_dialogue(); + break; + + case "forest_takedown": + takedown_01_dialogue(); + takedown_01_complete_dialogue(); + break; + + case "logging_road": + flank_right_dialogue(); + vehicle_takedown_01_dialogue(); + break; + + case "mech_march": + thread stealth_broken_dialogue(); + mech_convoy_dialogue(); + seeker_dialogue(); + break; + + case "cliff_rappel": + cliff_rappel_dialogue(); + break; + + case "facility_breach": + facility_breach_dialogue(); + research_facility_interior_dialogue(); + break; + + case "server_room": + case "server_room_promo": + server_room_approach_dialogue(); + server_room_dialogue(); + research_facility_combat_dialogue(); + break; + + case "research_facility_bridge": + river_room_combat_dialouge(); + break; + + case "foam_room": + foam_room_dialogue(); + break; + + case "courtyard": + foam_room_complete_dialogue(); + courtyard_entry_dialogue(); + courtyard_mech_start_dialogue(); + break; + + case "courtyard_jammer": + courtyard_door_hack_start_dialogue(); + courtyard_jammer_complete_dialogue(); + courtyard_door_hack_complete_dialogue(); + tank_hangar_pas_dialogue(); + break; + + case "tank_hangar": + tank_hangar_dialogue(); + break; + + case "tank_board": + tank_board_dialogue(); + tank_courtyard_dialogue(); + break; + + case "tank_road": + tank_road_dialogue(); + break; + + case "tank_field": + tank_field_dialogue(); + break; + + case "tank_field_right_fork": + case "tank_field_left_fork": + tank_clearing_dialogue(); + break; + + case "tank_ascent": + tank_ascent_dialogue(); + tank_exit_dialogue(); + break; + + case "exfil": + exfil_dialogue(); + break; + + default: + break; + } +} + +//Function Number: 5 +intro_dialogue() +{ + common_scripts\utility::flag_wait("flag_increase_sinper_shots_01"); + level.burke maps\_utility::dialogue_queue("lab_gdn_dontletthatsniperdial"); +} + +//Function Number: 6 +into_the_forest_dialogue() +{ + common_scripts\utility::flag_wait("flag_emp_cocked_exo_dialogue"); + wait(0.5); + common_scripts\utility::flag_wait("flag_gogogo_dialogue_start"); + level.burke maps\_utility::dialogue_queue("lab_gdn_gogogo"); + common_scripts\utility::flag_wait("flag_run_dialogue_start"); + level.burke maps\_utility::dialogue_queue("lab_gdn_run"); + common_scripts\utility::flag_wait("flag_burke_cross_river"); + wait(16); + level.burke maps\_utility::dialogue_queue("lab_gdn_exosstillrebooting"); +} + +//Function Number: 7 +helo_coming_back_dialogue() +{ + common_scripts\utility::flag_wait("flag_player_enters_forest"); + wait(2); + level.burke maps\_utility::dialogue_queue("lab_gdn_heloscirclingaroundcomeon"); + common_scripts\utility::flag_wait("flag_forest_climb_wall_start"); + level.burke maps\_utility::dialogue_queue("lab_gdn_uphere"); + thread climb_wall_nag_dialogue(); + common_scripts\utility::flag_wait("player_climbing_wall"); + wait(1.3); + level.burke maps\_utility::dialogue_queue("lab_gdn_moveit"); + common_scripts\utility::flag_wait("flag_hold_on_dialogue"); + level.burke maps\_utility::dialogue_queue("lab_gdn_holdon"); + common_scripts\utility::flag_wait("flag_forest_climb_wall_complete"); + wait(2); + level.burke maps\_utility::dialogue_queue("lab_gdn_choppersmovinoff"); +} + +//Function Number: 8 +climb_wall_nag_dialogue() +{ + level endon("player_climbing_wall"); + wait(5); + if(!common_scripts\utility::flag("player_climbing_wall")) + { + level.burke maps\_utility::dialogue_queue("lab_gdn_overhere"); + } + + wait(3); + if(!common_scripts\utility::flag("player_climbing_wall")) + { + level.burke maps\_utility::dialogue_queue("lab_gdn_moveit"); + } +} + +//Function Number: 9 +heading_your_way_dialogue() +{ + maps\_utility::delaythread(3,::common_scripts\utility::flag_set,"flag_search_drone_burke_anim_start"); + level.burke maps\_utility::dialogue_queue("lab_gdn_syncyourvisortomy"); + level.burke maps\lab_utility::cloak_stencil_on(1.5); + level.burke maps\_utility::dialogue_queue("lab_gdn_moveslownearhostiles"); + wait(3); + level.burke maps\_utility::dialogue_queue("lab_gdn_dronedontmove"); + wait(7.5); + level.burke maps\_utility::dialogue_queue("lab_gdn_easy"); + common_scripts\utility::flag_wait("flag_search_drone_complete_dialogue_start"); + level.burke maps\_utility::dialogue_queue("lab_gdn_letsgo"); + wait(1); + level.burke maps\_utility::dialogue_queue("lab_gdn_watchyourenergycells"); +} + +//Function Number: 10 +search_drone_warning_dialogue() +{ + level notify("dont_move_while_drones_are_near"); +} + +//Function Number: 11 +burke_drone_warning_dialogue() +{ + level endon("flag_cormack_meet_start"); + var_00 = undefined; + for(;;) + { + level waittill("dont_move_while_drones_are_near"); + var_01 = undefined; + for(;;) + { + var_01 = common_scripts\utility::random(["lab_gdn_dontmove","lab_gdn_stopmovingoritwill","lab_gdn_easy"]); + if(!isdefined(var_00) || var_01 != var_00) + { + break; + } + } + + var_00 = var_01; + wait(1); + level.burke maps\_utility::dialogue_queue(var_01); + wait(5); + } +} + +//Function Number: 12 +search_drone_alerted_dialogue() +{ + wait(1); + level.burke maps\_utility::dialogue_queue("lab_gdn_damnitheardyou"); +} + +//Function Number: 13 +takedown_01_dialogue() +{ + common_scripts\utility::flag_wait("flag_forest_takedown_01_dialogue_start"); + level endon("se_takedown_01_failed"); + level.guy_1 thread guy_1_takedown_01_dialogue(); + wait(1.5); + level.burke maps\_utility::dialogue_queue("lab_gdn_patrolapproaching"); + common_scripts\utility::flag_wait("flag_slowly_dialogue_start"); + level.burke maps\_utility::dialogue_queue("lab_gdn_slowlynow"); + wait(5); + if(!common_scripts\utility::flag("flag_se_takedown_01_started")) + { + level.burke maps\_utility::dialogue_queue("lab_gdn_takeemout"); + } +} + +//Function Number: 14 +guy_1_takedown_01_dialogue() +{ + self endon("death"); + self endon("takedown_01_start"); + level endon("se_takedown_01_failed"); + wait(2); + level maps\_utility::dialogue_queue("lab_scr_victorzerosevenwhatsyourlocation"); + maps\_utility::dialogue_queue("lab_gr1_thisisvictorsevenwereat"); + level maps\_utility::dialogue_queue("lab_scr_wepickedupthreedead"); + maps\_utility::dialogue_queue("lab_gr1_nosignofthemhere"); + level maps\_utility::dialogue_queue("lab_scr_holdyourpositionsandwait"); + maps\_utility::dialogue_queue("lab_gr1_copythat"); +} + +//Function Number: 15 +takedown_01_complete_dialogue() +{ + if(common_scripts\utility::flag("flag_logging_road_loud_combat")) + { + return; + } + + level endon("flag_logging_road_loud_combat"); + wait(1); + common_scripts\utility::flag_wait("flag_se_takedown_01_complete"); + level.burke maps\_utility::dialogue_queue("lab_gdn_theseareunsuppressed"); + level.burke maps\_utility::dialogue_queue("lab_gdn_kingpinthisissentineltwoone"); + level maps\_utility::dialogue_queue("lab_kgn_negativesentineltwoone"); + level.burke maps\_utility::dialogue_queue("lab_gdn_copyfuckinhell"); +} + +//Function Number: 16 +flank_right_dialogue() +{ + if(common_scripts\utility::flag("flag_logging_road_loud_combat")) + { + return; + } + + level endon("flag_logging_road_loud_combat"); + if(common_scripts\utility::flag("flag_forest_player_alt_path_01")) + { + return; + } + + level endon("flag_forest_player_alt_path_01"); + common_scripts\utility::flag_wait_all("flag_patroler_takedown_02_follow_a","flag_forest_drive_by_01","flag_burke_forest_01_moveup"); + level.burke maps\_utility::dialogue_queue("lab_gdn_toomuchactivity"); + soundscripts\_snd::snd_message("flank_right_dialogue"); +} + +//Function Number: 17 +stealth_broken_dialogue() +{ + level endon("flag_cormack_meet_init"); + level.player endon("death"); + common_scripts\utility::flag_wait("flag_vo_stealth_broken"); + var_00[0] = "lab_gdn_damnitmitchell"; + var_00[1] = "lab_gdn_werecompromised"; + var_00[2] = "lab_gdn_theyveseenus"; + var_00[3] = "lab_gdn_theyvegotusengage"; + var_01 = randomintrange(0,var_00.size); + wait 0.05; + level.burke maps\_utility::dialogue_queue(var_00[var_01]); + wait(5); + level.burke maps\_utility::dialogue_queue("lab_gdn_moreincoming"); +} + +//Function Number: 18 +vehicle_takedown_01_dialogue() +{ + if(common_scripts\utility::flag("flag_logging_road_loud_combat")) + { + return; + } + + level endon("flag_logging_road_loud_combat"); + level endon("flag_se_vehicle_takedown_01_failed"); + level endon("flag_ready_burke_for_mech_march"); + common_scripts\utility::flag_wait("flag_recharge_cloak_01"); + wait(5); + level.burke maps\_utility::dialogue_queue("lab_gdn_cormackandknoxshouldbe"); + common_scripts\utility::flag_set("flag_aproach_vehicle_dialogue_complete"); + if(!common_scripts\utility::flag("flag_forest_player_alt_path_01")) + { + common_scripts\utility::flag_wait("flag_vehicle_takedown_01"); + soundscripts\_snd::snd_message("lab_brk_illtakedriver"); + level.burke maps\_utility::dialogue_queue("lab_gdn_twointhevehicle"); + level.burke maps\_utility::dialogue_queue("lab_gdn_takeoutthepassenger"); + thread vehicle_takedown_01_nag_dialogue(); + common_scripts\utility::flag_set("flag_start_vehicle_takedown_dialogue_complete"); + common_scripts\utility::flag_wait("flag_se_vehicle_takedown_01_complete"); + if(!common_scripts\utility::flag("flag_se_vehicle_takedown_01_failed") || !common_scripts\utility::flag("flag_forest_player_alt_path_01")) + { + level.burke maps\_utility::dialogue_queue("lab_gdn_topjob"); + } + + soundscripts\_snd::snd_message("vehicle_takedown_01_complete"); + } +} + +//Function Number: 19 +vehicle_takedown_01_nag_dialogue() +{ + if(common_scripts\utility::flag("flag_logging_road_loud_combat")) + { + return; + } + + level endon("flag_logging_road_loud_combat"); + level endon("flag_vehicle_takedown_01_start"); + level endon("flag_se_vehicle_takedown_01_failed"); + wait(6); + level.burke maps\_utility::dialogue_queue("lab_gdn_takehimdown"); + wait(8); + level.burke maps\_utility::dialogue_queue("lab_gdn_mitchellgetthatbastard"); +} + +//Function Number: 20 +mech_convoy_dialogue() +{ + if(common_scripts\utility::flag("flag_logging_road_loud_combat")) + { + return; + } + + level endon("flag_logging_road_loud_combat"); + common_scripts\utility::flag_wait("flag_se_mech_march_start"); + wait(2); + level.burke maps\_utility::dialogue_queue("lab_gdn_convoyaheadholdup"); + level common_scripts\utility::waittill_any("burke_recharge_mech_done","flag_five_ast_approaching"); + if(!common_scripts\utility::flag("flag_five_ast_approaching")) + { + level.burke maps\_utility::dialogue_queue("lab_gdn_thisway"); + } + + common_scripts\utility::flag_wait("flag_five_ast_approaching"); + soundscripts\_snd::snd_message("forest_mech_spawn"); + level.burke maps\_utility::dialogue_queue("lab_gdn_fiveastsapproaching"); + level.burke maps\_utility::dialogue_queue("lab_gdn_forgetaboutshootingourway"); + level.burke maps\_utility::dialogue_queue("lab_gdn_grabsomecover"); +} + +//Function Number: 21 +seeker_dialogue() +{ + if(common_scripts\utility::flag("flag_logging_road_loud_combat")) + { + return; + } + + level endon("flag_logging_road_loud_combat"); + level endon("flag_move_up_seeker_03"); + common_scripts\utility::flag_wait_any("flag_mech_march_hide_right_complete","flag_gaz_01_scanner_on"); + if(!common_scripts\utility::flag("flag_gaz_01_scanner_on")) + { + wait(1); + level.burke maps\_utility::dialogue_queue("lab_gdn_keepmovingalmostthere"); + } + + common_scripts\utility::flag_wait("flag_gaz_01_scanner_on"); + common_scripts\utility::flag_wait("flag_seeker_checkpoint"); + level.burke maps\_utility::dialogue_queue("lab_gdn_seeker"); + level.burke maps\_utility::dialogue_queue("lab_gdn_cloaksuselessagainstit"); + maps\lab_utility::flag_wait_any_or_timeout(2,"flag_logging_road_seeker_01","flag_player_burke_seeker_01"); + wait(1); + if(!common_scripts\utility::flag("flag_seeker_patrol_01_clear")) + { + level.burke maps\_utility::dialogue_queue("lab_gdn_waitforthepatrolto"); + } + + common_scripts\utility::flag_wait("flag_seeker_patrol_01_clear"); + for(;;) + { + if(common_scripts\utility::flag("flag_player_near_burke_seeker_01")) + { + level.burke maps\_utility::dialogue_queue("lab_gdn_watchthatbeam"); + common_scripts\utility::flag_wait("flag_seeker_cone_safe_right"); + common_scripts\utility::flag_set("flag_move_up_seeker_01"); + level.burke maps\_utility::dialogue_queue("lab_gdn_okaygo"); + break; + } + else if(common_scripts\utility::flag("flag_player_burke_seeker_01")) + { + level.burke maps\_utility::dialogue_queue("lab_gdn_watchthatbeam"); + common_scripts\utility::flag_wait("flag_seeker_cone_safe_right"); + common_scripts\utility::flag_set("flag_move_up_seeker_01"); + level.burke maps\_utility::dialogue_queue("lab_gdn_moving"); + break; + } + + wait(0.25); + } + + common_scripts\utility::flag_wait("flag_player_near_burke_seeker_02"); + wait(0.5); + level.burke maps\_utility::dialogue_queue("lab_gdn_waitwait"); + common_scripts\utility::flag_wait("flag_seeker_cone_safe_left"); + common_scripts\utility::flag_set("flag_move_up_seeker_02"); + wait(0.5); + level.burke maps\_utility::dialogue_queue("lab_gdn_okaynow"); +} + +//Function Number: 22 +cliff_rappel_dialogue() +{ + common_scripts\utility::flag_wait("flag_seeker_clear"); + wait(1); + level.burke maps\_utility::dialogue_queue("lab_gdn_werepastkeepmoving"); + soundscripts\_snd::snd_message("seeker_clear"); + if(common_scripts\utility::flag("flag_vo_stealth_recovered")) + { + level.burke maps\_utility::dialogue_queue("lab_gdn_keepitquietnexttime"); + } + + common_scripts\utility::flag_wait("flag_cormack_meet_start"); + wait(1); + level.burke maps\_utility::dialogue_queue("lab_gdn_thisisit"); + level.cormack maps\_utility::dialogue_queue("lab_crk_copy"); + common_scripts\utility::flag_wait("flag_cliff_rappeling_dialogue_start"); + common_scripts\utility::flag_wait("flag_canopy_dialogue_start"); + level.knox maps\_utility::dialogue_queue("lab_knx_holographiccanopy"); +} + +//Function Number: 23 +cliff_rappel_dialogue_nag() +{ + var_00 = ["lab_gdn_mitchelgetclippedon","lab_gdn_hookupmitchel"]; + thread maps\_shg_utility::dialogue_reminder(level.burke,"flag_rappel_start",var_00); +} + +//Function Number: 24 +facility_breach_dialogue() +{ + common_scripts\utility::flag_wait("flag_facility_breach_start"); + wait(2); + level.cormack maps\_utility::dialogue_queue("lab_crk_targetbuildingupahead"); + common_scripts\utility::flag_wait("flag_facility_security_camera"); + if(!common_scripts\utility::flag("flag_breach_guards_alerted")) + { + level.cormack maps\_utility::dialogue_queue("lab_crk_twoguardsbythecamera"); + } + + wait(3); + if(!common_scripts\utility::flag("flag_breach_guards_alerted")) + { + level.cormack maps\_utility::dialogue_queue("lab_crk_mitchellpickatarget"); + } + + thread pick_target_nag_dialogue(); + common_scripts\utility::flag_wait("flag_breach_guards_clear"); + wait(1); + level.knox maps\_utility::dialogue_queue("lab_knx_clear"); + common_scripts\utility::flag_wait("burke_is_in_position_for_facility_breach"); + level.cormack maps\_utility::dialogue_queue("lab_crk_thisisourbreachpoint"); + thread facility_breach_nag_dialogue(); +} + +//Function Number: 25 +pick_target_nag_dialogue() +{ + wait(8); + if(!common_scripts\utility::flag("flag_breach_guards_alerted")) + { + level.cormack maps\_utility::dialogue_queue("lab_crk_wakeupmitchell"); + } +} + +//Function Number: 26 +facility_breach_nag_dialogue() +{ + level endon("breaching"); + var_00 = ["lab_crk_mitchellsetthecharge","lab_crk_mitchellmoveit"]; + thread maps\_shg_utility::dialogue_reminder(level.cormack,"breach_start",var_00); +} + +//Function Number: 27 +research_facility_interior_dialogue() +{ + common_scripts\utility::flag_wait("flag_post_breach_patrol"); + wait(3); + level.burke maps\_utility::dialogue_queue("lab_gdn_twointhehallway"); + common_scripts\utility::flag_wait_or_timeout("flag_breach_patrol_01_clear",2); + level.cormack maps\_utility::dialogue_queue("lab_crk_takeemout"); + common_scripts\utility::flag_wait_all("flag_breach_patrol_01_dead","flag_breach_patrol_02_dead"); + wait(1.5); + level.burke maps\_utility::dialogue_queue("lab_gdn_clear"); + wait(1); + level.cormack maps\_utility::dialogue_queue("lab_crk_kingpinweveinfiltratedthetarget"); + level maps\_utility::dialogue_queue("lab_kgn_rogerthat"); + level.cormack maps\_utility::dialogue_queue("lab_crk_roger"); +} + +//Function Number: 28 +server_room_approach_dialogue() +{ + common_scripts\utility::flag_wait("flag_obj_bio_weapons_04"); + if(!common_scripts\utility::flag("flag_enemy_server_room_se_dead")) + { + if(!common_scripts\utility::flag("flag_obj_bio_weapons_05")) + { + level.cormack maps\_utility::dialogue_queue("lab_crk_hitthestairs"); + level.knox maps\_utility::dialogue_queue("lab_knx_gotchacovered"); + } + + common_scripts\utility::flag_wait("flag_se_server_room_start"); + level.cormack thread maps\_utility::dialogue_queue("lab_crk_thisisit"); + thread server_room_guy_killed_by_knox(); + } + + common_scripts\utility::flag_wait("flag_enemy_server_room_se_dead"); + level.knox maps\_utility::dialogue_queue("lab_knx_clear"); +} + +//Function Number: 29 +server_room_guy_killed_by_knox() +{ + level endon("flag_server_room_enemy_killed_by_player"); + common_scripts\utility::flag_wait("flag_server_room_enemy_killed_by_knox"); + level.burke maps\_utility::dialogue_queue("lab_gdn_nevermind"); +} + +//Function Number: 30 +server_room_dialogue() +{ + wait(2); + level.burke maps\_utility::dialogue_queue("lab_gdn_getonthatconsole"); + thread server_room_nag_dialogue(); +} + +//Function Number: 31 +server_room_nag_dialogue() +{ + var_00 = ["lab_gdn_youreupmitchel","lab_gdn_getmovingmitchell","lab_gdn_mitchellgetonthatconsole"]; + thread maps\_shg_utility::dialogue_reminder(level.burke,"flag_obj_bio_weapons_hack",var_00); +} + +//Function Number: 32 +research_facility_combat_dialogue() +{ + common_scripts\utility::flag_wait("flag_combat_research_start"); + wait(1); + level maps\_utility::dialogue_queue("lab_kgn_twothreebeadvised"); + level.knox maps\_utility::dialogue_queue("lab_knx_theyjustactivedasensor"); + level.cormack maps\_utility::dialogue_queue("lab_crk_okaystealthsnolongeran"); + common_scripts\utility::flag_set("flag_research_facility_combat_dialogue_complete"); + wait(0.5); + common_scripts\utility::flag_set("flag_post_server_room_dialogue_complete"); + level.cormack maps\_utility::dialogue_queue("lab_crk_go2"); +} + +//Function Number: 33 +security_camera_dialogue() +{ + common_scripts\utility::flag_wait("flag_combat_research_bridge_01"); + var_00 = getent("camera_interior_01","script_noteworthy"); + if(isalive(var_00) && level.player maps\_utility::can_see_origin(var_00.origin)) + { + level.burke maps\_utility::dialogue_queue("lab_gdn_takeoutthatsensor"); + } +} + +//Function Number: 34 +camera_scanner_interior_trigger_think() +{ + self waittill("trigger"); + if(!isdefined(level.camera_scanner_interior_spotted)) + { + level.camera_scanner_interior_spotted = 0; + } + + var_00 = common_scripts\utility::get_linked_ents()[0]; + if(!isdefined(var_00)) + { + return; + } + + var_00 endon("stop_scanner_vo_loop"); + var_00 endon("death"); + var_00 thread maps\_utility::notify_delay("stop_scanner_vo_loop",10); + while(var_00.destructible_parts[0].v["health"] > 0) + { + if(level.player maps\_utility::can_see_origin(var_00.origin)) + { + switch(level.camera_scanner_interior_spotted) + { + case 0: + level.burke important_dialogue_queue("lab_gdn_sensorinthecorner"); + break; + + case 1: + level.cormack important_dialogue_queue("lab_crk_eyesonasensor"); + break; + + default: + level.burke important_dialogue_queue("lab_gdn_takeoutthatsensor"); + break; + } + + level.camera_scanner_interior_spotted++; + if(level.camera_scanner_interior_spotted > 3) + { + level.camera_scanner_interior_spotted = 0; + } + + var_00 notify("stop_scanner_vo_loop"); + } + + wait(0.05); + } +} + +//Function Number: 35 +camera_scanner_interior_killed() +{ + if(!isdefined(level.camera_scanner_interior_killed)) + { + level.camera_scanner_interior_killed = 0; + } + else if(randomfloat(1) < 0.4) + { + return; + } + + wait(randomfloatrange(0.75,1.25)); + switch(level.camera_scanner_interior_killed) + { + case 0: + level.cormack important_dialogue_queue("lab_crk_sensorsdown"); + break; + + case 1: + level.burke important_dialogue_queue("lab_gdn_sensorsdown"); + break; + + case 2: + level.cormack important_dialogue_queue("lab_crk_sensorsdead"); + break; + + default: + level.burke important_dialogue_queue("lab_gdn_sensorsout"); + break; + } + + level.camera_scanner_interior_killed++; + if(level.camera_scanner_interior_killed > 3) + { + level.camera_scanner_interior_killed = 0; + } +} + +//Function Number: 36 +river_room_combat_dialouge() +{ + common_scripts\utility::flag_wait("flag_combat_river_roomt_01"); + level.cormack important_dialogue_queue("lab_crk_flankleftorright",1); + wait(1); + common_scripts\utility::flag_wait_any("flag_combat_research_right_01","flag_combat_research_left_01"); + level.burke important_dialogue_queue("lab_gdn_contactbelowus",1); +} + +//Function Number: 37 +foam_room_dialogue() +{ + common_scripts\utility::flag_wait_all("flag_research_building_combat_complete","flag_player_inside_foam_room"); + wait(1); + level.cormack maps\_utility::dialogue_queue("lab_crk_werehere"); + wait(1.5); + level.knox maps\_utility::dialogue_queue("lab_knx_biosparqispickinguptrace"); + level.cormack maps\_utility::dialogue_queue("lab_crk_mitchellplantthefrbs"); + soundscripts\_snd::snd_message("foam_room_crmk_plant_these_frvs"); + thread plant_foam_nag_dialogue(); + common_scripts\utility::flag_wait("flag_obj_neutralize_bio_weapons_planted"); + wait(4); + level.cormack maps\_utility::dialogue_queue("lab_crk_everyoneout"); + common_scripts\utility::flag_wait("flag_foam_room_clear"); + thread detonate_foam_nag_dialogue(); + wait(1); + if(!common_scripts\utility::flag("flag_obj_neutralize_bio_weapons_complete")) + { + level.cormack maps\_utility::dialogue_queue("lab_crk_mitchellhitit"); + } +} + +//Function Number: 38 +detonate_foam_nag_dialogue() +{ + level endon("flag_obj_neutralize_bio_weapons_complete"); + wait(6); + if(!common_scripts\utility::flag("flag_obj_neutralize_bio_weapons_complete")) + { + while(!common_scripts\utility::flag("flag_foam_room_clear")) + { + wait(1); + } + + level.cormack maps\_utility::dialogue_queue("lab_crk_hitit"); + } +} + +//Function Number: 39 +plant_foam_nag_dialogue() +{ + var_00[0] = "lab_crk_wakeupmitchell2"; + var_00[1] = "lab_crk_mitchellgetthefrbready"; + var_00[2] = "lab_crk_plantitmitchell"; + wait(randomintrange(5,10)); + while(!common_scripts\utility::flag("flag_obj_neutralize_bio_weapons_planted")) + { + var_01 = randomintrange(0,var_00.size); + level.cormack maps\_utility::dialogue_queue(var_00[var_01]); + wait(randomintrange(5,10)); + } +} + +//Function Number: 40 +foam_room_complete_dialogue() +{ + common_scripts\utility::flag_wait("flag_obj_neutralize_bio_weapons_complete"); + wait(1); + level.cormack maps\_utility::dialogue_queue("lab_crk_kingpinmaterialissecure"); + thread foam_room_video_log(); + level maps\_utility::dialogue_queue("lab_kgn_primarylzistoohot"); + level.cormack maps\_utility::dialogue_queue("lab_crk_understoodweremoving"); + common_scripts\utility::flag_set("flag_foam_room_complete_dialogue"); + soundscripts\_snd::snd_message("foam_room_complete_dialogue"); + level notify("courtyard_red_strobe"); + wait(1); + level.burke maps\_utility::dialogue_queue("lab_gdn_keepsgettingbetter"); + common_scripts\utility::flag_set("flag_obj_locate_atlas_tank"); +} + +//Function Number: 41 +foam_room_video_log() +{ + wait(1); + thread maps\_shg_utility::play_videolog("lab_videolog_02","screen_add"); +} + +//Function Number: 42 +courtyard_entry_dialogue() +{ + common_scripts\utility::flag_wait("flag_combat_courtyard_general_01"); + wait(4); + level.cormack maps\_utility::dialogue_queue("lab_crk_contact"); +} + +//Function Number: 43 +courtyard_mech_start_dialogue() +{ + common_scripts\utility::flag_wait("flag_courtyard_hangar_door_block"); + wait(2); + level.burke maps\_utility::dialogue_queue("lab_gdn_ast"); + level.cormack maps\_utility::dialogue_queue("lab_crk_shitdrawitsfire"); +} + +//Function Number: 44 +courtyard_door_hack_start_dialogue() +{ + common_scripts\utility::flag_wait("flag_hangar_mech_01_dead"); + soundscripts\_snd::snd_message("courtyard_door_hack_start_dialogue"); + wait(2); + level.cormack maps\_utility::dialogue_queue("lab_crk_knoxgetthisdooropen"); + common_scripts\utility::flag_wait("flag_courtyard_door_hack_dialogue"); + level.knox maps\_utility::dialogue_queue("lab_knx_runningabypasscoverme"); + wait(1); + level.knox maps\_utility::dialogue_queue("lab_knx_imgettinginterferencefromthat"); + level.cormack maps\_utility::dialogue_queue("lab_crk_thatsyoumitchell"); + common_scripts\utility::flag_set("flag_courtyard_door_hack_dialogue_complete"); + common_scripts\utility::flag_set("flag_obj_courtyard_jammer_start"); + thread courtyard_jammer_plant_nag_dialogue(); +} + +//Function Number: 45 +courtyard_jammer_plant_nag_dialogue() +{ + level endon("flag_obj_jammer_interact"); + var_00 = 0; + var_01 = 0; + var_02 = 0; + var_03 = 0; + var_04 = 0; + for(var_05 = 0;var_05 < 5;var_05++) + { + wait(12); + if(!common_scripts\utility::flag("flag_courtyard_on_roof")) + { + if(var_00 == 0) + { + level.burke maps\_utility::dialogue_queue("lab_gdn_lookforaladder"); + var_00 = 1; + } + else if(var_02 == 0) + { + level.cormack maps\_utility::dialogue_queue("lab_crk_mitchellplantthejammer"); + var_02 = 1; + } + else if(var_01 == 0) + { + level.cormack maps\_utility::dialogue_queue("lab_crk_scramblersontopofthat"); + var_01 = 1; + } + else if(var_03 == 0) + { + level.cormack maps\_utility::dialogue_queue("lab_crk_plantthatjammer"); + var_03 = 1; + } + else if(var_04 == 0) + { + level.cormack maps\_utility::dialogue_queue("lab_crk_mitchellgetthatjammerhooked"); + var_04 = 1; + } + + continue; + } + + if(common_scripts\utility::flag("flag_courtyard_on_roof")) + { + if(var_02 == 0) + { + level.cormack maps\_utility::dialogue_queue("lab_crk_mitchellplantthejammer"); + var_02 = 1; + continue; + } + + if(var_03 == 0) + { + level.cormack maps\_utility::dialogue_queue("lab_crk_plantthatjammer"); + var_03 = 1; + continue; + } + + if(var_04 == 0) + { + level.cormack maps\_utility::dialogue_queue("lab_crk_mitchellgetthatjammerhooked"); + var_04 = 1; + } + } + } +} + +//Function Number: 46 +courtyard_jammer_complete_dialogue() +{ + common_scripts\utility::flag_wait("flag_obj_jammer_complete"); + wait(1); + level.knox maps\_utility::dialogue_queue("lab_knx_signalsclear"); + wait(1); + level.cormack maps\_utility::dialogue_queue("lab_crk_moretangosmovingin"); + common_scripts\utility::flag_set("flag_courtyard_cover_Knox_dialogue_complete"); + common_scripts\utility::flag_set("flag_obj_courtyard_defend_start"); + soundscripts\_snd::snd_message("courtyard_defend_start"); +} + +//Function Number: 47 +courtyard_squad_defend_nag_dialogue() +{ + level endon("flag_obj_tank_02"); + var_00 = getent("courtyard_defend_volume","targetname"); + var_01 = 0; + wait(1); + if(common_scripts\utility::flag("flag_courtyard_on_roof")) + { + level.cormack maps\_utility::dialogue_queue("lab_crk_mitchellregroupdownhere"); + var_01 = 1; + } + else + { + level.cormack maps\_utility::dialogue_queue("lab_crk_mitchellrallyup"); + } + + wait(6); + common_scripts\utility::flag_waitopen("flag_courtyard_defending"); + if(var_01 == 1) + { + level.cormack maps\_utility::dialogue_queue("lab_crk_mitchellrallyup"); + return; + } + + common_scripts\utility::flag_wait("flag_courtyard_on_roof"); + level.cormack maps\_utility::dialogue_queue("lab_crk_mitchellregroupdownhere"); +} + +//Function Number: 48 +courtyard_door_hack_complete_dialogue() +{ + common_scripts\utility::flag_wait("flag_courtyard_hangar_door_hack_success"); + wait(1); + level.knox maps\_utility::dialogue_queue("lab_knx_doorsopenletsmove"); + courtyard_squad_defend_nag_dialogue(); +} + +//Function Number: 49 +tank_hangar_pas_dialogue() +{ + level endon("flag_tank_hangar_sweep_dialogue"); + common_scripts\utility::flag_wait("flag_hangar_pas_01"); + level maps\_utility::dialogue_queue("lab_pas_wehavehostilesinthe"); + wait(1); + level.cormack maps\_utility::dialogue_queue("lab_crk_vehiclehangarsthroughhere"); + common_scripts\utility::flag_wait("flag_hangar_pas_02"); + level maps\_utility::dialogue_queue("lab_pas_allsecurityteamsreportto"); + common_scripts\utility::flag_wait("flag_hangar_pas_03"); + maps\_utility::dialogue_queue("lab_pas_coderedinallsectors"); +} + +//Function Number: 50 +foam_corridor_dialogue() +{ + common_scripts\utility::flag_wait("flag_foam_corridor_another_door_dialogue"); + wait(8); + level.cormack maps\_utility::dialogue_queue("lab_crmk_anotherdoor"); + wait(0.5); + level.knox maps\_utility::dialogue_queue("lab_knx_onit"); + thread foam_corridor_nag_dialogue(); + common_scripts\utility::flag_wait("flag_foam_corridor_improvise_dialogue"); + wait(2); + common_scripts\utility::flag_wait("flag_foam_corridor_exit_door_open_dialogue"); + level.knox maps\_utility::dialogue_queue("lab_knx_itsopen"); +} + +//Function Number: 51 +foam_corridor_nag_dialogue() +{ + level endon("flag_foam_corridor_improvise_dialogue"); + common_scripts\utility::flag_wait("flag_player_inside_foam_corridor"); + level.burke maps\_utility::dialogue_queue("lab_brk_backup"); + wait(4); + common_scripts\utility::flag_wait("flag_player_inside_foam_corridor"); + level.burke maps\_utility::dialogue_queue("lab_brk_getout"); +} + +//Function Number: 52 +tank_hangar_dialogue() +{ + common_scripts\utility::flag_wait("flag_tank_hangar_sweep_dialogue"); + level.cormack maps\_utility::dialogue_queue("lab_crk_sweeptheroom"); + wait(4.5); + level.burke maps\_utility::dialogue_queue("lab_gdn_clear3"); + wait(1); + level.cormack maps\_utility::dialogue_queue("lab_crk_thisisourride"); + common_scripts\utility::flag_set("flag_move_knox_to_console"); + level.knox maps\_utility::dialogue_queue("lab_knx_copythat"); + wait(0.1); + level.burke thread maps\_utility::dialogue_queue("lab_gdn_t740stillonlyaprototype"); + common_scripts\utility::flag_wait("flag_tank_hangar_reveal_dialogue"); + level.knox maps\_utility::delaythread(2.4,::maps\_utility::dialogue_queue,"lab_knx_poweringitup"); + level.cormack maps\_utility::delaythread(7,::maps\_utility::dialogue_queue,"lab_crk_handsupwhoknowshow"); + level.burke maps\_utility::delaythread(11,::maps\_utility::dialogue_queue,"lab_gdn_mitchellanditrainedup"); + level.knox maps\_utility::delaythread(16.1,::maps\_utility::dialogue_queue,"lab_knx_disengaging"); + level.knox maps\_utility::delaythread(19,::maps\_utility::dialogue_queue,"lab_knx_werechargedandfullyarmed"); + level.cormack maps\_utility::delaythread(21,::maps\_utility::dialogue_queue,"lab_crk_kingpinthisissentineltwothree"); + level maps\_utility::delaythread(29,::maps\_utility::dialogue_queue,"lab_kgn_rogerthatsentineltwothree"); + level.cormack maps\_utility::delaythread(34,::maps\_utility::dialogue_queue,"lab_crk_alrighteveryonein"); +} + +//Function Number: 53 +tank_board_dialogue() +{ + common_scripts\utility::flag_wait("flag_tank_board_dialogue"); + wait(5); + level.burke maps\_utility::dialogue_queue("lab_gdn_allsystemscheckgreen"); + level.burke maps\_utility::dialogue_queue("lab_gdn_alrightmitchelljustlikein"); + common_scripts\utility::flag_wait("flag_player_in_hovertank_dialogue"); + wait(1); + level maps\_utility::dialogue_queue("lab_sir_weaponsystemsonline"); + wait(1); + level.burke maps\_utility::dialogue_queue("lab_gdn_moveitoutmitchell"); + thread tank_courtyard_gate_dialogue(); + if(isdefined(level.hovertank)) + { + common_scripts\utility::waittill_any_ents(level.player,"LISTEN_attack_button_pressed",level.hovertank,"trophy_deployed"); + } + + wait(0.75); + common_scripts\utility::flag_set("flag_tank_courtyard_dialogue"); + soundscripts\_snd::snd_music_message("begin_tank_combat"); +} + +//Function Number: 54 +tank_courtyard_gate_dialogue() +{ + wait(4); + if(!common_scripts\utility::flag("flag_tank_courtyard_dialogue")) + { + level.cormack maps\_utility::dialogue_queue("lab_crk_throughthegate2"); + return; + } + + common_scripts\utility::flag_wait("flag_courtyard_gate_2_dialogue"); + level.cormack maps\_utility::dialogue_queue("lab_crk_throughthegate2"); +} + +//Function Number: 55 +tank_courtyard_dialogue() +{ + common_scripts\utility::flag_wait("flag_tank_courtyard_dialogue"); + wait(0.5); + level.burke important_dialogue_queue("lab_gdn_theyreontous",1); + level.burke important_dialogue_queue("lab_gdn_usemissilesagainstinfantry",1); + wait(4); + if(!issubstr(level.current_weapon,"missile")) + { + level.burke important_dialogue_queue("lab_gdn_switchtomissiles",1); + } +} + +//Function Number: 56 +tank_road_dialogue() +{ + common_scripts\utility::flag_wait("flag_tank_road_infantry_dialogue"); + wait(2); + level.burke important_dialogue_queue("lab_gdn_infantryaheadofus",1); + thread tank_road_tank_killed_dialogue(); + common_scripts\utility::flag_wait("flag_tank_road_log_enemies_dialogue"); + if(!common_scripts\utility::flag("flag_log_pile_scripted_destroyed")) + { + if(!issubstr(level.current_weapon,"missile")) + { + level.burke important_dialogue_queue("lab_gdn_switchtomissiles",1); + } + } +} + +//Function Number: 57 +tank_road_enemy_tank_dialogue(param_00) +{ + param_00 endon("death"); + var_01 = param_00.health; + wait(5); + level.burke important_dialogue_queue("lab_gdn_armorapproaching",1); + if(!issubstr(level.current_weapon,"cannon")) + { + level.burke important_dialogue_queue("lab_gdn_switchtoslugs",1); + } +} + +//Function Number: 58 +tank_road_tank_killed_dialogue() +{ + common_scripts\utility::flag_wait("flag_first_tank_killed"); + wait(2); + level important_dialogue_queue("lab_kgn_sentineltwothreeihaveahelo",1); + level.cormack important_dialogue_queue("lab_crk_copythatcoordinatesconfirmed",1); +} + +//Function Number: 59 +tank_field_dialogue() +{ + common_scripts\utility::flag_wait("flag_tank_field_dialogue"); + thread tank_field_vraps_dialogue(); + common_scripts\utility::flag_wait("flag_tank_field_lz_ahead_dialogue"); + common_scripts\utility::flag_wait_any("flag_tank_field_turn_right_dialogue","flag_tank_field_turn_left_dialogue"); + if(common_scripts\utility::flag("flag_tank_field_turn_right_dialogue")) + { + level.cormack important_dialogue_queue("lab_crk_headright",1); + } + else + { + level.cormack important_dialogue_queue("lab_crk_turnleft",1); + } + + level.cormack important_dialogue_queue("lab_crk_acrosstheriver",1); + common_scripts\utility::flag_wait("flag_tank_field_tank_dialogue"); + wait(4); + level.burke important_dialogue_queue("lab_gdn_tankapproaching",1); +} + +//Function Number: 60 +tank_field_vraps_dialogue() +{ + common_scripts\utility::flag_wait("flag_tank_vraps_dialogue"); + level.cormack important_dialogue_queue("lab_crk_vrapsinbound",1); +} + +//Function Number: 61 +tank_field_choppers_dialogue(param_00) +{ + foreach(var_02 in param_00) + { + if(isalive(var_02) && issubstr(var_02.classname,"warbird")) + { + level.burke important_dialogue_queue("lab_gdn_warbirdonourleft",1); + } + } + + wait(3); + if(issubstr(level.current_weapon,"antiair")) + { + return; + } + + var_04 = 0; + foreach(var_02 in param_00) + { + if(isalive(var_02)) + { + var_04++; + } + } + + if(var_04 > 0) + { + level.burke important_dialogue_queue("lab_gdn_empthechoppers",1); + } +} + +//Function Number: 62 +tank_clearing_dialogue() +{ + common_scripts\utility::flag_wait("flag_tank_field_lz_over_ridge_dialogue"); + level.cormack important_dialogue_queue("lab_crk_thelzshouldbejust",1); + wait(2); + level.burke important_dialogue_queue("lab_gdn_warbirdincoming",1); + common_scripts\utility::flag_wait("flag_tank_clearing_tanks"); + wait(2); + level.cormack important_dialogue_queue("lab_crk_tankscomingdowntheroad",1); + common_scripts\utility::flag_wait("flag_tank_clearing_infantry_dialogue"); + level.cormack important_dialogue_queue("lab_crk_moreinfantrycomingin",1); +} + +//Function Number: 63 +tank_ascent_dialogue() +{ + common_scripts\utility::flag_wait("flag_tank_ascent_hill_dialogue"); + level.cormack important_dialogue_queue("lab_crk_upthehill",1); + common_scripts\utility::flag_wait("flag_tank_ascent_dialogue"); + level.burke important_dialogue_queue("lab_gdn_lzisupahead",1); + wait(2); + if(!common_scripts\utility::flag("flag_ascent_warbird_dead")) + { + level.burke important_dialogue_queue("lab_gdn_empthatwarbird",1); + } + + wait(4); + if(!issubstr(vehicle_scripts\_hovertank::get_current_weapon_name(),"cannon")) + { + level.burke important_dialogue_queue("lab_gdn_useyourcannononthose",1); + } + + common_scripts\utility::flag_wait("flag_tank_ascent_bail_dialogue"); + level.burke important_dialogue_queue("lab_gdn_getreadytobailout",1); +} + +//Function Number: 64 +tank_systems_dialogue() +{ + thread tank_reloading_dialogue(); +} + +//Function Number: 65 +tank_status_dialogue() +{ + level.burke maps\_utility::dialogue_queue("lab_gdn_ourtrophysystemisempty"); + level.burke maps\_utility::dialogue_queue("lab_brk_reloadtrophy"); + level.burke maps\_utility::dialogue_queue("lab_gdn_wecanttakeanotherhit"); + level.burke maps\_utility::dialogue_queue("lab_gdn_weregettingbeatenup"); + level.burke maps\_utility::dialogue_queue("lab_gdn_keepmovingmitchell2"); +} + +//Function Number: 66 +tank_reloading_dialogue() +{ + level endon("hovertank_end"); + level waittill("hovertank_cannon_reloading"); + level.burke important_dialogue_queue("lab_gdn_reloading"); + for(;;) + { + level waittill("hovertank_cannon_reloading"); + if(randomfloat(1) < 0.15) + { + level.burke important_dialogue_queue("lab_gdn_reloading"); + } + } +} + +//Function Number: 67 +tank_exit_dialogue() +{ + common_scripts\utility::flag_wait("flag_tank_exit_dialogue"); + level.cormack maps\_utility::dialogue_queue("lab_crk_thisisit2"); + level.burke maps\_utility::dialogue_queue("lab_gdn_everybodyoutmovemovemove"); + wait(1); + level maps\_utility::dialogue_queue("lab_ch5_falcon22cominginfor"); +} + +//Function Number: 68 +exfil_dialogue() +{ + common_scripts\utility::flag_wait("flag_exfil_start_dialogue"); + level.cormack maps\_utility::dialogue_queue("lab_crk_thatsourbird"); + wait(5); + level maps\_utility::dialogue_queue("lab_ch5_standingbytoloadpassengers"); + common_scripts\utility::flag_wait("flag_exfil_loadup_dialogue"); + level.cormack maps\_utility::dialogue_queue("lab_crk_loaduploadup"); +} + +//Function Number: 69 +init_pcap_vo() +{ + var_00 = 1; + if(level.currentgen) + { + if(!istransientloaded("lab_intro_tr")) + { + var_00 = 0; + } + } + + if(var_00) + { + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%lab_intro_guy1,"aud_lab_intro_guy1_start",::pcap_vo_lab_intro_guy1); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%lab_wallclimb_player_hero_01,"aud_lab_wallclimb_player_hero_01_start",::pcap_vo_lab_wallclimb_player_hero_01); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%lab_cliff_rappel_meetup_burke,"aud_lab_cliff_rappel_meetup_burke_start",::pcap_vo_lab_cliff_rappel_meetup_burke); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%lab_cliff_rappel_meetup_cormack,"aud_lab_cliff_rappel_meetup_cormack_start",::pcap_vo_lab_cliff_rappel_meetup_cormack); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%lab_cliff_rappel_meetup_knox,"aud_lab_cliff_rappel_meetup_knox_start",::pcap_vo_lab_cliff_rappel_meetup_knox); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%lab_cliff_rappel_jump_burke,"aud_lab_cliff_rappel_jump_burke_start",::pcap_vo_lab_cliff_jump_burke); + } + + var_00 = 1; + if(level.currentgen) + { + if(istransientloaded("lab_intro_tr")) + { + level waittill("tff_post_intro_to_middle"); + } + else if(!istransientloaded("lab_middle_tr")) + { + var_00 = 0; + } + } + + if(var_00) + { + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%lab_serverroom_guy1,"aud_lab_serverroom_guy1_start",::pcap_vo_lab_serverroom_burke); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%lab_serverroom_guy2,"aud_lab_serverroom_guy2_start",::pcap_vo_lab_serverroom_cormack); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%lab_serverroom_guy3,"aud_lab_serverroom_guy3_start",::pcap_vo_lab_serverroom_knox); + } + + if(level.currentgen) + { + if(!istransientloaded("lab_outro_tr")) + { + level waittill("tff_post_middle_to_outro"); + } + } + + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%lab_chopper_evac_enter_burke,"aud_lab_chopper_exfil_burke_start",::pcap_vo_lab_chopper_evac_enter_burke); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%lab_chopper_evac_enter_cormack,"aud_lab_chopper_exfil_cormack_start",::pcap_vo_lab_chopper_evac_enter_cormack); +} + +//Function Number: 70 +pcap_vo_lab_intro_guy1(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_gdn_theyreonus",2); + wait(2); + common_scripts\utility::flag_set("flag_intro_run_dialogue_start"); +} + +//Function Number: 71 +pcap_vo_lab_wallclimb_player_hero_01(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_gdn_cmon",0); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_gdn_exosupcloak",3.12); +} + +//Function Number: 72 +pcap_vo_lab_cliff_rappel_meetup_burke(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_gdn_weneedanexfilsharpish",2.09); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_gdn_themissionwasoverbefore",9.15); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_gdn_idontseeafucking",15.03); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_gdn_wevelosttheinitiativewe",27.27); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_gdn_thisthinggoessidewaysits",32.03); +} + +//Function Number: 73 +pcap_vo_lab_cliff_rappel_meetup_cormack(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_crmk_yougood",1.12); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_crk_missionisntoverkitup",7.24); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_crk_werenotleavinguntilwe",11.15); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_crk_knoxshowem",17.18); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_crk_theyvegotsomethingtohide",26.15); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_crk_thereisnootherday",29.27); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_crk_itsalwaysbeenonme",34.24); +} + +//Function Number: 74 +pcap_vo_lab_cliff_rappel_meetup_knox(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_knx_sendingyoumyfeed",20.15); +} + +//Function Number: 75 +pcap_vo_lab_cliff_jump_burke(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_gdn_hesahardbastardill",6.03); +} + +//Function Number: 76 +pcap_vo_lab_serverroom_burke(param_00) +{ +} + +//Function Number: 77 +pcap_vo_lab_serverroom_cormack(param_00) +{ + soundscripts\_snd::snd_message("begin_pcap_vo_lab_serverroom_cormack"); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_crk_walksrightpastplayergiving",2.15); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_crk_okayburnitdown",21.03); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_crk_approachestheplayertheresmore",25.12); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_crk_copythat",36.13); +} + +//Function Number: 78 +pcap_vo_lab_serverroom_knox(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_knx_runsuptoaterminal",8.06); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_knx_hurriesovertocormackpats",12.15); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_knx_bingowevegotthepackage",17.15); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_knx_thermiteout",23.24); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_knx_onme",39.12); + level maps\_utility::delaythread(11.4,::maps\_utility::dialogue_queue,"lab_kgn_standingbytoreceivepackage"); + level maps\_utility::delaythread(19.9,::maps\_utility::dialogue_queue,"lab_kgn_uplinkconfirmed"); + level maps\_utility::delaythread(33.1,::maps\_utility::dialogue_queue,"lab_kgn_packagerecievedgoodjob"); +} + +//Function Number: 79 +pcap_vo_lab_serverroom_promo_knox(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_knx_runsuptoaterminal",8.06); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_knx_hurriesovertocormackpats",12.15); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_knx_bingowevegotthepackage",17.15); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_knx_thermiteout",23.24); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_knx_promo_om",39.12); + level maps\_utility::delaythread(11.4,::maps\_utility::dialogue_queue,"lab_kgn_standingbytoreceivepackage"); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_kgn_uplinkconfirmed",19.27); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_kpn_promo_st",33.03); +} + +//Function Number: 80 +pcap_vo_lab_serverroom_promo_cormack(param_00) +{ + soundscripts\_snd::snd_message("begin_pcap_vo_lab_serverroom_cormack"); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_crk_walksrightpastplayergiving",2.15); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_crk_okayburnitdown",21.03); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_crmk_prepromo",25.12); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_crmk_promo1",28); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_crmk_promo2",33.24); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_crmk_promo3",41.15); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_crmk_promo4",47.24); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_crmk_promo5",54.24); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_crmk_promo6",63.21); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_crmk_promo7",69.06); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_crk_copythat",79.13); +} + +//Function Number: 81 +pcap_vo_lab_chopper_evac_enter_burke(param_00) +{ + level.player soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_plt_confirmfourpaxonboard",6.06); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_gdn_onestepaheadofyou",12.03); + level.player soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_plt_extractcompleteheadinghome",23.12); +} + +//Function Number: 82 +pcap_vo_lab_chopper_evac_enter_cormack(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_gdn_wereupfour",3.27); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_crk_shit2",9.27); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_crk_niceworksoldier",17.21); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lab_crk_toknoxoncethisstuff",19.27); + maps\_utility::delaythread(20,::soundscripts\_snd::snd_music_message,"lab_finale"); +} + +//Function Number: 83 +ai_toggle_cloak_start_vo(param_00) +{ + if(isdefined(param_00) && param_00 == 0) + { + return; + } + + var_01 = undefined; + if(!isdefined(param_00) || param_00 == -1) + { + var_01 = common_scripts\utility::random(["lab_gdn_chargeyourcloak","lab_gdn_holdupcharging","lab_gdn_chargeup"]); + } + else if(param_00 == 1) + { + var_01 = "lab_gdn_chargeyourcloak"; + } + else if(param_00 == 2) + { + var_01 = "lab_gdn_holdupcharging"; + } + else if(param_00 == 3) + { + var_01 = "lab_gdn_chargeup"; + } + + maps\_utility::dialogue_queue(var_01); +} + +//Function Number: 84 +ai_toggle_cloak_complete_vo(param_00) +{ + if(isdefined(param_00) && param_00 == 0) + { + return; + } + + var_01 = undefined; + if(!isdefined(param_00) || param_00 == -1) + { + var_01 = common_scripts\utility::random(["lab_gdn_moving","lab_gdn_okaygo"]); + } + else if(param_00 == 1) + { + var_01 = "lab_gdn_moving"; + } + else if(param_00 == 2) + { + var_01 = "lab_gdn_okaygo"; + } + + maps\_utility::dialogue_queue(var_01); +} + +//Function Number: 85 +important_dialogue_queue(param_00,param_01) +{ + if(!common_scripts\utility::flag("flag_important_dialogue_playing") || isdefined(param_01) && param_01) + { + level maps\_utility::function_stack(::important_dialogue,self,param_00,param_01); + } +} + +//Function Number: 86 +important_dialogue(param_00,param_01,param_02) +{ + if(common_scripts\utility::flag("flag_se_hovertank_exit")) + { + return; + } + + if(isdefined(param_02) && param_02) + { + common_scripts\utility::flag_set("flag_important_dialogue_playing"); + } + + param_00 maps\_utility::dialogue_queue(param_01); + if(isdefined(param_02) && param_02) + { + common_scripts\utility::flag_clear("flag_important_dialogue_playing"); + } +} + +//Function Number: 87 +player_out_of_bounds_warning_vo() +{ + var_00 = 0; + for(;;) + { + if(level.player_out_of_bounds_warning == 1) + { + if(var_00 <= 0) + { + var_00 = randomfloatrange(3,5); + play_out_of_bounds_vo(level.burke); + } + else + { + var_00 = var_00 - 0.05; + } + } + + wait(0.05); + } +} + +//Function Number: 88 +play_out_of_bounds_vo(param_00) +{ + var_01 = 3; + if(!isdefined(level.last_warning_line)) + { + level.last_warning_line = -1; + level.warning_lines = ["lab_gdn_mitchellonme","lab_gdn_letsgo","lab_gdn_thisway"]; + } + + for(var_02 = randomint(var_01);var_02 == level.last_warning_line;var_02 = randomint(var_01)) + { + } + + level.last_warning_line = var_02; + var_03 = level.warning_lines[var_02]; + param_00 maps\_utility::dialogue_queue(var_03); +} \ No newline at end of file diff --git a/AW/PC/maps/lagos.gsc b/AW/PC/maps/lagos.gsc new file mode 100644 index 0000000..acc22aa --- /dev/null +++ b/AW/PC/maps/lagos.gsc @@ -0,0 +1,1039 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: lagos.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 31 + * Decompile Time: 479 ms + * Timestamp: 4/22/2024 2:33:14 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\_utility::template_level("lagos"); + setup_start_points(); + init_level_flags(); + animscripts\traverse\boost::precache_boost_fx_npc(); + maps\_exo_climb::load_precache(); + if(level.currentgen) + { + maps\_utility::tff_sync_setup(); + } + + maps\createart\lagos_art::main(); + maps\lagos_fx::main(); + maps\lagos_precache::main(); + maps\_load::main(); + thread maps\_player_exo::main("specialist"); + maps\lagos_lighting::main(); + maps\lagos_anim::main(); + maps\lagos_aud::main(); + maps\lagos_vo::main(); + maps\lagos_jump::main(); + maps\_player_high_jump::main(); + maps\_variable_grenade::main(); + maps\_drone_ai::init(); + maps\_drone_civilian::init(); + maps\_microwave_grenade::main(); + maps\_exo_climb::main("atlas_pmc"); + mag_wall_gov_setup(); + vehicle_scripts\_generic_script_model_lagos::main("script_model","script_model","script_model"); + if(level.currentgen) + { + thread transient_transitions(); + thread transient_cleanup(); + } + + var_00 = getdvarint("scr_traverse_debug"); + maps\lagos_h_breach::precacheharmonicbreach(); + maps\_controlled_orbiting_drone::precacheassets_and_initflags(); + precacheshader("overlay_static_digital"); + precacheshader("s1_railgun_hud_outer_shadow"); + precachemodel("viewhands_atlas_pmc_smp"); + precachemodel("worldhands_atlas_pmc_smp"); + precachemodel("viewbody_atlas_pmc_smp_custom"); + precachemodel("npc_titan45_base_loot"); + precachemodel("npc_titan45_nocamo"); + precacheitem("iw5_bal27_sp"); + precacheitem("iw5_titan45_sp"); + precacheitem("iw5_asm1_sp"); + precacheitem("iw5_uts19_sp"); + precachemodel("vm_hms_rhino"); + precacheshader("mtl_lag_exo_door_breach"); + precacheitem("iw5_sn6_sp"); + precacheitem("iw5_mors_sp"); + precachemodel("npc_bal27_nocamo"); + precacheitem("iw5_kf5_sp"); + precacheitem("iw5_mahemstraight_sp"); + precachemodel("vehicle_ind_semi_truck_fuel_tanker"); + precachemodel("ind_semi_truck_fuel_tank_destroy"); + precachemodel("ind_semi_truck_03_destroy"); + precachemodel("com_bike_animated"); + precachemodel("s1_bicycle"); + precachemodel("vehicle_scooter_vespa_static_blue"); + precachemodel("vehicle_scooter_vespa_static_green"); + precachemodel("vehicle_scooter_vespa_static_lightblue"); + precachemodel("vehicle_scooter_vespa_static_cream"); + precachemodel("weapon_rpg7"); + precachemodel("vehicle_civ_det_train_car_01"); + precachemodel("rope50ft"); + precachemodel("viewhands_player_delta"); + precachemodel("lag_harmonic_breach_device"); + precachemodel("lag_harmonic_breach_device_obj"); + precachemodel("electronics_pda_big"); + precachemodel("vehicle_civ_boxtruck_highres_ai"); + precachemodel("tag_laser"); + precachemodel("npc_exo_launch_pad"); + precachemodel("vehicle_civ_full_size_technical_turret"); + precacheturret("vehicle_civ_full_size_technical_turret"); + precacheturret("50cal_turret_technical_lagos"); + precachemodel("muteCharge"); + precachemodel("lag_roof_breach_device"); + precachemodel("com_hand_radio"); + precachelaser("prison_laser"); + precachelaser("lag_snipper_laser"); + precachelaser("tracking_drone_laser"); + precachelaser("orbital_strike_laser"); + precacherumble("damage_light"); + precacherumble("light_1s"); + precacherumble("light_2s"); + precacherumble("light_3s"); + precacherumble("damage_heavy"); + precacherumble("heavy_1s"); + precacherumble("heavy_2s"); + precacherumble("heavy_3s"); + precacherumble("artillery_rumble"); + precacherumble("steady_rumble"); + setsaveddvar("r_hudoutlineenable",1); + precachesonarvisioncodeassets(); + if(level.currentgen) + { + setsaveddvar("r_gunSightColorEntityScale","7"); + setsaveddvar("r_gunSightColorNoneScale","0.8"); + } + + setdvar("qte_show_real_weapon",1); + maps\lagos_anim::precachecivilian(); + maps\_swim_player::init_player_swim(); + if(level.nextgen) + { + maps\_utility::array_spawn_function_noteworthy("delete_at_path_end",::maps\lagos_utility::delete_at_path_end); + maps\_utility::array_spawn_function_noteworthy("delete_at_path_end",::maps\lagos_utility::walking_civilian_react); + } + + maps\_utility::array_spawn_function_targetname("alley1_stage3_refill",::maps\lagos_utility::alley1_stage3_refill_think); + maps\_utility::array_spawn_function_noteworthy("equip_microwave_grenade",::maps\lagos_utility::equip_microwave_grenade); + maps\_utility::array_spawn_function_noteworthy("KVA",::maps\lagos_utility::immune_sonic_blast); + maps\_utility::array_spawn_function_noteworthy("Hostage",::maps\lagos_utility::immune_sonic_blast); + maps\_utility::array_spawn_function_noteworthy("gov_building_kva_soldier",::maps\lagos_utility::immune_sonic_blast); + maps\_utility::array_spawn_function_noteworthy("immune_sonic_blast",::maps\lagos_utility::immune_sonic_blast); + level thread handle_objectives(); + thread maps\_vehicle_traffic::traffic_init(); + thread maps\lagos_code::setup_gameplay(); + maps\_utility::add_control_based_hint_strings("move_fly_drone",&"LAGOS_FLY_DRONE_CONTROL",::maps\_controlled_orbiting_drone::move_fly_drone_check,&"LAGOS_FLY_DRONE_CONTROL_PC",&"LAGOS_FLY_DRONE_CONTROL_SP"); + maps\_utility::add_control_based_hint_strings("use_exo_shield",&"LAGOS_EXO_SHIELD",::maps\lagos_code::use_exo_shield_check); + maps\_utility::add_hint_string("player_exo_jump",&"LAGOS_EXO_JUMP_HINT",::maps\lagos_code::player_exo_jump_hint_off); + maps\_utility::add_hint_string("player_exo_jump_release",&"LAGOS_EXO_JUMP_RELEASE_HINT",::maps\lagos_code::player_exo_jump_release_hint_off); + maps\_utility::add_hint_string("qte_grab_hold",&"LAGOS_QTE_GRAB_HOLD",::maps\lagos_qte::qte_grab_hold_off); + maps\_utility::add_hint_string("qte_shoot_kva",&"LAGOS_QTE_SHOOT_KVA",::maps\lagos_qte::qte_shoot_kva_off); + maps\_utility::add_hint_string("qte_pry_open",&"LAGOS_QTE_PRY_OPEN",::maps\lagos_qte::qte_pry_open_off); + maps\_utility::add_hint_string("qte_swim",&"LAGOS_QTE_SWIM",::maps\lagos_qte::qte_swim_off); + maps\_utility::add_hint_string("qte_success",&"LAGOS_QTE_SUCCESS",::maps\lagos_qte::qte_success_off); + maps\_utility::add_hint_string("qte_fail",&"LAGOS_QTE_FAIL",::maps\lagos_qte::qte_fail_off); + maps\_utility::add_hint_string("qte_middle_shoot",&"LAGOS_QTE_MIDDLE_SHOOT",::maps\lagos_qte_middle::qte_middle_shoot_off); + maps\_utility::add_hint_string("qte_middle_dodge",&"LAGOS_QTE_MIDDLE_DODGE",::maps\lagos_qte_middle::qte_middle_dodge_off); + maps\_utility::add_hint_string("qte_middle_jump",&"LAGOS_QTE_MIDDLE_JUMP",::maps\lagos_qte_middle::qte_middle_jump_off); + maps\_utility::add_hint_string("qte_middle_pull_windshield",&"LAGOS_QTE_MIDDLE_PULL_WINDSHIELD",::maps\lagos_qte_middle::qte_middle_pull_windshield_off); + maps\_utility::add_hint_string("qte_middle_pull_kva",&"LAGOS_QTE_MIDDLE_PULL_KVA",::maps\lagos_qte_middle::qte_middle_pull_kva_off); + maps\_utility::add_hint_string("left_climb_hint",&"LAGOS_PRESS_CLIMB_LEFT",::maps\lagos_utility::break_left_climb_hint); + maps\_utility::add_hint_string("right_climb_hint",&"LAGOS_PRESS_CLIMB_RIGHT",::maps\lagos_utility::break_right_climb_hint); + maps\_utility::add_hint_string("start_fly_drone",&"LAGOS_START_FLY_DRONE",::maps\lagos_utility::hint_string_disable_exo_door); + maps\_utility::add_hint_string("exo_door_breach",&"LAGOS_EXO_DOOR_BREACH",::maps\lagos_utility::hint_string_disable_exo_door); + maps\_utility::add_hint_string("roof_mute_charge",&"LAGOS_ROOF_MUTE_CHARGE",::maps\lagos_utility::hint_string_disable_mute_charge); + maps\_utility::add_hint_string("place_sensor",&"LAGOS_PLACE_SENSOR",::maps\lagos_utility::hint_string_disable_place_sensor); + maps\_utility::add_hint_string("release_pm",&"LAGOS_RELEASE_PM",::maps\lagos_utility::hint_string_disable_place_sensor); + maps\_utility::add_hint_string("bus_ledge",&"LAGOS_BUS_JUMP_1",::maps\lagos_utility::hint_string_disable_place_sensor); + createthreatbiasgroup("friendly_squad"); + createthreatbiasgroup("player_haters"); + createthreatbiasgroup("frogger_middle"); + createthreatbiasgroup("player"); + level.player.hack_fix_lagos_flank_alley_camera_pop = 1; + var_01 = getent("harmonic_breach_player_blocker","targetname"); + var_01 notsolid(); +} + +//Function Number: 2 +mag_wall_gov_setup() +{ + var_00 = getent("anim_org_exo_climb_player","targetname"); + var_01 = getent("lighting_centroid_overlook_door_exterior","targetname"); + var_00 overridelightingorigin(var_01.origin); + var_02 = getanimlength(%lag_gov_wallpullup_start_vm) - 1; + maps\_exo_climb::override_mount_anim("mag_climb_gov_wall",%lag_gov_wallpullup_start_vm,var_00,undefined,var_02); +} + +//Function Number: 3 +transient_cleanup() +{ + var_00 = getent("alley_vehicle_technical_backalley","targetname"); + var_00 thread maps\lagos_code::tff_cleanup_vehicle("alley"); +} + +//Function Number: 4 +transient_transitions() +{ + thread transient_transition_intro_to_middle(); + thread transient_transition_unload_middle(); + thread transient_transition_unload_lobby(); + thread transient_transition_load_alley(); + thread transient_transition_alley_to_outro(); +} + +//Function Number: 5 +transient_transition_alley_to_outro() +{ + common_scripts\utility::flag_wait("flag_start_mag_climb_flank"); + while(!isdefined(level.exo_climb_rig)) + { + wait(0.05); + } + + level notify("tff_pre_alley_to_outro"); + unloadtransient("lagos_alley_tr"); + loadtransient("lagos_outro_tr"); + while(!istransientloaded("lagos_outro_tr")) + { + wait(0.05); + } + + level notify("tff_post_alley_to_outro"); +} + +//Function Number: 6 +transient_transition_load_alley() +{ + common_scripts\utility::flag_wait("flag_tff_transition_load_alley"); + loadtransient("lagos_alley_tr"); + while(!istransientloaded("lagos_alley_tr")) + { + wait(0.05); + } + + level notify("tff_post_load_alley"); +} + +//Function Number: 7 +transient_transition_intro_to_middle() +{ + if(level.start_point == "roundabout") + { + return; + } + + common_scripts\utility::flag_wait("flag_leaving_gov_building"); + loadtransient("lagos_roundabout_lobby_tr"); + common_scripts\utility::flag_wait("gov_player_exiting_area"); + level notify("tff_pre_intro_to_middle"); + var_00 = getent("anim_HM_post_breach_door","targetname"); + var_01 = getent("gov_hostage_ext_door","targetname"); + var_00 thread maps\_anim::anim_first_frame_solo(var_01,"h_breach_exit_door_open"); + unloadtransient("lagos_intro_tr"); + loadtransient("lagos_middle_tr"); + while(!istransientloaded("lagos_middle_tr")) + { + wait(0.05); + } + + level notify("tff_post_intro_to_middle"); +} + +//Function Number: 8 +transient_transition_unload_lobby() +{ + common_scripts\utility::flag_wait("tff_transition_unload_lobby"); + level notify("tff_pre_unload_lobby"); + unloadtransient("lagos_roundabout_lobby_tr"); +} + +//Function Number: 9 +transient_transition_unload_middle() +{ + common_scripts\utility::flag_wait("flag_tff_trans_unload_middle"); + level notify("tff_pre_unload_middle"); + unloadtransient("lagos_middle_tr"); +} + +//Function Number: 10 +init_level_flags() +{ + common_scripts\utility::flag_init("fly_drone_start"); + common_scripts\utility::flag_init("fly_drone_in_progess"); + common_scripts\utility::flag_init("fly_drone_done"); + common_scripts\utility::flag_init("intro_playerstart"); + common_scripts\utility::flag_init("gov_transition_door_close"); + common_scripts\utility::flag_init("government_courtyard_playerstart"); + common_scripts\utility::flag_init("pre_h_breach_playerstart"); + common_scripts\utility::flag_init("post_h_breach_playerstart"); + common_scripts\utility::flag_init("pm_released"); + common_scripts\utility::flag_init("gov_hostage_exit_door_open"); + common_scripts\utility::flag_init("road_block_patrol_go"); + common_scripts\utility::flag_init("roundabout_playerstart"); + common_scripts\utility::flag_init("alley1_playerstart"); + common_scripts\utility::flag_init("oncoming_playerstart"); + common_scripts\utility::flag_init("oncoming_downhill_playerstart"); + common_scripts\utility::flag_init("oncoming_hit"); + common_scripts\utility::flag_init("alley2_jumpers"); + common_scripts\utility::flag_init("alley2_playerstart"); + common_scripts\utility::flag_init("flank_playerstart"); + common_scripts\utility::flag_init("frogger_playerstart"); + common_scripts\utility::flag_init("rail_playerstart"); + common_scripts\utility::flag_init("shooting_rail_playerstart"); + common_scripts\utility::flag_init("takedown_playerstart"); + common_scripts\utility::flag_init("takedown_underwater"); + common_scripts\utility::flag_init("shore_pcap_playerstart"); + common_scripts\utility::flag_init("outro_playerstart"); + common_scripts\utility::flag_init("flag_alley1_clear"); + common_scripts\utility::flag_init("obj_rescue_PM"); + common_scripts\utility::flag_init("obj_rescue_PM_pos"); + common_scripts\utility::flag_init("obj_find_hostage_truck"); + common_scripts\utility::flag_init("obj_pursue_hostage_truck"); + common_scripts\utility::flag_init("obj_rescue_hostages"); + common_scripts\utility::flag_init("obj_progress_exo_door_goto"); + common_scripts\utility::flag_init("obj_progress_exo_door_clear"); + common_scripts\utility::flag_init("obj_progress_exo_climb_clear"); + common_scripts\utility::flag_init("obj_progress_tram_track"); + common_scripts\utility::flag_init("obj_progress_roof_breach_goto"); + common_scripts\utility::flag_init("obj_progress_roof_breach_clear"); + common_scripts\utility::flag_init("obj_progress_h_breach_goto"); + common_scripts\utility::flag_init("obj_progress_h_breach_clear"); + common_scripts\utility::flag_init("obj_progress_free_pm"); + common_scripts\utility::flag_init("obj_progress_free_pm_clear"); + common_scripts\utility::flag_init("obj_progress_find_hostage_truck_roundabout"); + common_scripts\utility::flag_init("obj_progress_find_hostage_truck_roundabout_complete"); + common_scripts\utility::flag_init("obj_pos_pursue_hostage_truck_oncoming1_wait"); + common_scripts\utility::flag_init("obj_pos_pursue_hostage_truck_oncoming1_set"); + common_scripts\utility::flag_init("obj_pos_find_hostage_truck_oncoming2"); + common_scripts\utility::flag_init("obj_progress_pursue_hostage_truck_flankalley"); + common_scripts\utility::flag_init("obj_progress_mag_climb_flank_complete"); + common_scripts\utility::flag_init("obj_pos_pursue_hostage_truck_oncoming2"); + common_scripts\utility::flag_init("obj_progress_pursue_hostage_truck_highway"); + common_scripts\utility::flag_init("obj_progress_pursue_hostage_truck_highway_traverse"); + common_scripts\utility::flag_init("obj_progress_pursue_hostage_truck_highway_swim"); + common_scripts\utility::flag_init("obj_progress_pursue_hostage_truck_highway_rescue"); + common_scripts\utility::flag_init("obj_complete_rescue_PM"); + common_scripts\utility::flag_init("obj_complete_pursue_hostage_truck"); + common_scripts\utility::flag_init("obj_complete_rescue_hostages"); + common_scripts\utility::flag_init("flag_hostage_scan_started"); + common_scripts\utility::flag_init("flag_player_input_for_drone_start"); + common_scripts\utility::flag_init("no_anim_squad_opening"); + common_scripts\utility::flag_init("roundabout_RPG_start"); + common_scripts\utility::flag_init("roundabout_wave_1A_complete"); + common_scripts\utility::flag_init("roundabout_wave_1B_complete"); + common_scripts\utility::flag_init("roundabout_wave_2A_complete"); + common_scripts\utility::flag_init("roundabout_wave_2B_complete"); + common_scripts\utility::flag_init("roundabout_wave_3A_complete"); + common_scripts\utility::flag_init("roundabout_wave_3B_complete"); + common_scripts\utility::flag_init("roundabout_wave_3_complete"); + common_scripts\utility::flag_init("roundabout_combat_starting_soon"); + common_scripts\utility::flag_init("flag_roundabout_tanker_explode"); + common_scripts\utility::flag_init("flag_Roundabout_Civilians_Flee"); + common_scripts\utility::flag_init("roundabout_burke_hood_anim_begin"); + common_scripts\utility::flag_init("frogger_squad_at_middle"); + common_scripts\utility::flag_init("frogger_squad_at_end"); + common_scripts\utility::flag_init("roundabout_wave_2_all_spawned"); + common_scripts\utility::flag_init("roundabout_wave_3_all_spawned"); + common_scripts\utility::flag_init("flank_vehicle_turret_dead"); + common_scripts\utility::flag_init("frogger_stop_lane_1"); + common_scripts\utility::flag_init("frogger_stop_lane_2"); + common_scripts\utility::flag_init("frogger_stop_lane_3"); + common_scripts\utility::flag_init("frogger_stop_lane_4"); + common_scripts\utility::flag_init("frogger_stop_lane_5"); + common_scripts\utility::flag_init("frogger_stop_lane_6"); + common_scripts\utility::flag_init("frogger_stop_lane_7"); + common_scripts\utility::flag_init("frogger_stop_lane_8"); + common_scripts\utility::flag_init("frogger_restart_lane_1"); + common_scripts\utility::flag_init("frogger_restart_lane_2"); + common_scripts\utility::flag_init("frogger_restart_lane_3"); + common_scripts\utility::flag_init("frogger_restart_lane_4"); + common_scripts\utility::flag_init("frogger_restart_lane_5"); + common_scripts\utility::flag_init("frogger_restart_lane_6"); + common_scripts\utility::flag_init("frogger_restart_lane_7"); + common_scripts\utility::flag_init("frogger_restart_lane_8"); + common_scripts\utility::flag_init("flag_roof_charge_planted"); + common_scripts\utility::flag_init("flag_h_breach_started"); + common_scripts\utility::flag_init("flag_Flank_Alley_react"); + common_scripts\utility::flag_init("flag_Flank_Alley_civilians_flee"); + common_scripts\utility::flag_init("trigger_start_frogger_kva_A"); + common_scripts\utility::flag_init("trigger_start_frogger_kva_C"); + common_scripts\utility::flag_init("flag_frogger_complete"); + common_scripts\utility::flag_init("begin_traffic_traverse"); + common_scripts\utility::flag_init("flag_start_traffic_traverse"); + common_scripts\utility::flag_init("flag_highway_ledge_jump_started"); + common_scripts\utility::flag_init("flag_highway_ledge_jump_fail"); + common_scripts\utility::flag_init("flag_highway_ledge_climb_started"); + common_scripts\utility::flag_init("flag_highway_VM_looking_forward"); + common_scripts\utility::flag_init("flag_highway_final_takedown_started"); + common_scripts\utility::flag_init("flag_begin_suv_takedown"); + common_scripts\utility::flag_init("alley2_complete"); + common_scripts\utility::flag_init("flag_roof_breach_mute_complete"); + common_scripts\utility::flag_init("flag_player_traversing_traffic"); + common_scripts\utility::flag_init("flank_alley_complete"); + common_scripts\utility::flag_init("flag_frogger_middle_dead"); + common_scripts\utility::flag_init("flag_middle_takedown_complete"); + common_scripts\utility::flag_init("flag_van_door_open"); + common_scripts\utility::flag_init("gov_transition_delete_intro"); + common_scripts\utility::flag_init("flag_delete_other_tanker_enemies"); + common_scripts\utility::flag_init("flag_exo_door_started"); + common_scripts\utility::flag_init("flag_roundabout_exo_shield"); + common_scripts\utility::flag_init("flag_exo_climb_started"); + common_scripts\utility::flag_init("flag_roundabout_magic_MWG"); + common_scripts\utility::flag_init("flag_frogger_middle_spawned"); + common_scripts\utility::flag_init("drone_fly_anim_done"); + common_scripts\utility::flag_init("flag_start_mag_climb"); + common_scripts\utility::flag_init("flag_irons_videolog_complete"); + common_scripts\utility::flag_init("flag_h_breach_complete"); + common_scripts\utility::flag_init("flag_traffic_helicopter_stop_left"); + common_scripts\utility::flag_init("flag_traffic_helicopter_stop_right"); + common_scripts\utility::flag_init("dialogue_playing"); + common_scripts\utility::flag_init("done_gov_building_h_breach_start"); + common_scripts\utility::flag_init("player_marking_targets"); + common_scripts\utility::flag_init("done_exo_door_kick"); + common_scripts\utility::flag_init("done_roof_breach_start"); + common_scripts\utility::flag_init("done_traffic_ledge_jump_start"); + common_scripts\utility::flag_init("flag_player_shot_enemy"); + common_scripts\utility::flag_init("flag_player_hold_on"); + common_scripts\utility::flag_init("flag_player_pry_open"); + common_scripts\utility::flag_init("flag_hostage_truck_is_failure"); + common_scripts\utility::flag_init("flag_hostage_truck_fire_input_window_started"); + common_scripts\utility::flag_init("flag_hostage_truck_fire_input_window_done"); + common_scripts\utility::flag_init("player_swimming_end"); + common_scripts\utility::flag_init("player_swimming_drown"); + common_scripts\utility::flag_init("pry_chk_trigger"); + common_scripts\utility::flag_init("flag_player_dodge"); + common_scripts\utility::flag_init("flag_player_jump"); + common_scripts\utility::flag_init("flag_player_jump2"); + common_scripts\utility::flag_init("flag_player_pull_windshield"); + common_scripts\utility::flag_init("flag_player_pull_kva"); + common_scripts\utility::flag_init("flag_truck_middle_takedown_is_failure"); + common_scripts\utility::flag_init("player_landed_roof_breach"); +} + +//Function Number: 11 +handle_objectives() +{ + waittillframeend; + set_completed_objective_flags(); + common_scripts\utility::flag_wait("obj_rescue_PM"); + objective_add(maps\_utility::obj("rescue PM"),"current",&"LAGOS_OBJECTIVE_RESCUE_PM"); + common_scripts\utility::flag_wait("obj_rescue_PM_pos"); + var_00 = common_scripts\utility::getstruct("obj_rescue_pm_1","targetname"); + objective_position(maps\_utility::obj("rescue PM"),var_00.origin); + common_scripts\utility::flag_wait("obj_progress_exo_door"); + var_01 = getent("exo_door_trigger","targetname"); + objective_position(maps\_utility::obj("rescue PM"),var_01.origin); + common_scripts\utility::flag_wait("flag_irons_videolog_complete"); + common_scripts\utility::flag_wait("exo_door_trigger"); + objective_setpointertextoverride(maps\_utility::obj("rescue PM"),&"LAGOS_BREACH"); + common_scripts\utility::flag_wait("obj_progress_exo_door_clear"); + maps\_utility::objective_clearadditionalpositions(maps\_utility::obj("rescue PM")); + objective_setpointertextoverride(maps\_utility::obj("rescue PM"),""); + common_scripts\utility::flag_wait("obj_progress_tram_track"); + var_02 = common_scripts\utility::getstruct("obj_progress_tram_track","targetname"); + objective_position(maps\_utility::obj("rescue PM"),var_02.origin); + common_scripts\utility::flag_wait("obj_progress_exo_climb_goto"); + var_03 = common_scripts\utility::getstruct("obj_exo_climb","targetname"); + objective_position(maps\_utility::obj("rescue PM"),var_03.origin); + common_scripts\utility::flag_wait("flag_obj_exo_climb_text"); + objective_setpointertextoverride(maps\_utility::obj("rescue PM"),&"LAGOS_CLIMB"); + common_scripts\utility::flag_wait("obj_progress_exo_climb_clear"); + maps\_utility::objective_clearadditionalpositions(maps\_utility::obj("rescue PM")); + objective_setpointertextoverride(maps\_utility::obj("rescue PM"),""); + common_scripts\utility::flag_wait("obj_progress_roof_breach_goto"); + var_04 = getent("gov_breach_trigger","targetname"); + objective_position(maps\_utility::obj("rescue PM"),var_04.origin); + objective_setpointertextoverride(maps\_utility::obj("rescue PM"),&"LAGOS_PLANT"); + common_scripts\utility::flag_wait("obj_progress_roof_breach_clear"); + maps\_utility::objective_clearadditionalpositions(maps\_utility::obj("rescue PM")); + objective_setpointertextoverride(maps\_utility::obj("rescue PM"),""); + common_scripts\utility::flag_wait("obj_progress_h_breach_goto"); + var_05 = getent("gov_h_breach_trigger","targetname"); + objective_position(maps\_utility::obj("rescue PM"),var_05.origin); + common_scripts\utility::flag_wait("gov_h_breach_init"); + objective_setpointertextoverride(maps\_utility::obj("rescue PM"),&"LAGOS_PLANT"); + common_scripts\utility::flag_wait("obj_progress_h_breach_clear"); + maps\_utility::objective_clearadditionalpositions(maps\_utility::obj("rescue PM")); + objective_setpointertextoverride(maps\_utility::obj("rescue PM"),""); + common_scripts\utility::flag_wait("obj_progress_free_pm"); + var_06 = getent("player_release_pm_trigger","targetname"); + objective_position(maps\_utility::obj("rescue PM"),var_06.origin); + objective_setpointertextoverride(maps\_utility::obj("rescue PM"),&"LAGOS_RESCUE"); + common_scripts\utility::flag_wait("obj_progress_free_pm_clear"); + maps\_utility::objective_clearadditionalpositions(maps\_utility::obj("rescue PM")); + objective_setpointertextoverride(maps\_utility::obj("rescue PM"),""); + common_scripts\utility::flag_wait("obj_complete_rescue_PM"); + maps\_utility::objective_complete(maps\_utility::obj("rescue PM")); + common_scripts\utility::flag_wait("obj_find_hostage_truck"); + objective_add(maps\_utility::obj("pursue truck"),"current",&"LAGOS_OBJECTIVE_STOP_TRUCK"); + var_07 = common_scripts\utility::getstruct("obj_pos_find_hostage_truck_stairwell","targetname"); + objective_position(maps\_utility::obj("pursue truck"),var_07.origin); + common_scripts\utility::flag_wait("obj_progress_find_hostage_truck_lobby"); + var_08 = common_scripts\utility::getstruct("obj_pos_find_hostage_truck_lobby","targetname"); + objective_position(maps\_utility::obj("pursue truck"),var_08.origin); + common_scripts\utility::flag_wait("obj_progress_find_hostage_truck_to_roundabout"); + var_09 = getent("obj_pos_find_hostage_truck_roundabout","targetname"); + objective_position(maps\_utility::obj("pursue truck"),var_09.origin); + common_scripts\utility::flag_wait("obj_progress_find_hostage_truck_roundabout"); + maps\_utility::objective_clearadditionalpositions(maps\_utility::obj("pursue truck")); + common_scripts\utility::flag_wait("obj_progress_find_hostage_truck_roundabout_complete"); + var_09 = getent("obj_pos_find_hostage_truck_alley1","targetname"); + objective_position(maps\_utility::obj("pursue truck"),var_09.origin); + common_scripts\utility::flag_wait("obj_pos_pursue_hostage_truck_alley2"); + objective_position(maps\_utility::obj("pursue truck"),(0,0,0)); + common_scripts\utility::flag_wait("obj_pos_pursue_hostage_truck_oncoming1_wait"); + var_09 = getent("obj_pos_find_hostage_truck_alley2","targetname"); + objective_position(maps\_utility::obj("pursue truck"),var_09.origin); + common_scripts\utility::flag_wait("obj_pos_pursue_hostage_truck_oncoming1"); + objective_position(maps\_utility::obj("pursue truck"),(0,0,0)); + common_scripts\utility::flag_wait("obj_pos_pursue_hostage_truck_oncoming1_set"); + var_09 = getent("obj_pos_find_hostage_truck_oncoming1","targetname"); + objective_position(maps\_utility::obj("pursue truck"),var_09.origin); + common_scripts\utility::flag_wait("obj_pos_pursue_hostage_truck_oncoming2"); + var_09 = getent("obj_pos_find_hostage_truck_oncoming2","targetname"); + objective_position(maps\_utility::obj("pursue truck"),var_09.origin); + common_scripts\utility::flag_wait("obj_pos_pursue_hostage_truck_alley3"); + var_09 = getent("obj_pos_find_hostage_truck_alley3","targetname"); + objective_position(maps\_utility::obj("pursue truck"),var_09.origin); + common_scripts\utility::flag_wait("obj_pos_pursue_hostage_truck_to_flankalley"); + var_09 = getent("obj_pos_pursue_hostage_truck_flankalley_kill_gunner","targetname"); + objective_position(maps\_utility::obj("pursue truck"),var_09.origin); + common_scripts\utility::flag_wait("flank_vehicle_turret_dead"); + var_09 = getent("obj_pos_pursue_hostage_truck_flankalley_wall_climb","targetname"); + objective_position(maps\_utility::obj("pursue truck"),var_09.origin); + objective_setpointertextoverride(maps\_utility::obj("pursue truck"),&"LAGOS_CLIMB"); + common_scripts\utility::flag_wait("flag_start_mag_climb_flank"); + objective_setpointertextoverride(maps\_utility::obj("pursue truck"),""); + objective_position(maps\_utility::obj("pursue truck"),(0,0,0)); + common_scripts\utility::flag_wait("obj_progress_mag_climb_flank_complete"); + var_09 = getent("obj_pos_pursue_hostage_truck_flankalley","targetname"); + objective_position(maps\_utility::obj("pursue truck"),var_09.origin); + common_scripts\utility::flag_wait("obj_progress_pursue_hostage_truck_flankalley"); + var_09 = getent("obj_pos_pursue_hostage_truck_highway","targetname"); + objective_position(maps\_utility::obj("pursue truck"),var_09.origin); + common_scripts\utility::flag_wait("obj_progress_pursue_hostage_truck_highway"); + maps\_utility::objective_clearadditionalpositions(maps\_utility::obj("pursue truck")); + common_scripts\utility::flag_wait("obj_progress_pursue_hostage_truck_highway_traverse"); + objective_onentity(maps\_utility::obj("pursue truck"),level.burke); + common_scripts\utility::flag_wait("flag_begin_suv_takedown"); + maps\_utility::objective_clearadditionalpositions(maps\_utility::obj("pursue truck")); + common_scripts\utility::flag_wait("flag_middle_takedown_complete"); + objective_onentity(maps\_utility::obj("pursue truck"),level.burke); + common_scripts\utility::flag_wait("flag_highway_final_takedown_started"); + maps\_utility::objective_clearadditionalpositions(maps\_utility::obj("pursue truck")); + common_scripts\utility::flag_wait("obj_progress_pursue_hostage_truck_highway_swim"); + maps\_utility::objective_complete(maps\_utility::obj("pursue truck")); + objective_add(maps\_utility::obj("rescue hostage"),"current",&"LAGOS_OBJECTIVE_RESCUE_SCIENTIST"); + if(!isdefined(level.obj_tag)) + { + wait(0.2); + } + + if(isdefined(level.obj_tag)) + { + objective_onentity(maps\_utility::obj("rescue hostage"),level.obj_tag); + } + + common_scripts\utility::flag_wait("flag_van_door_open"); + maps\_utility::objective_clearadditionalpositions(maps\_utility::obj("rescue hostage")); + common_scripts\utility::flag_wait("obj_progress_pursue_hostage_truck_highway_rescue"); + objective_onentity(maps\_utility::obj("rescue hostage"),level.burke); + common_scripts\utility::flag_wait("obj_complete_pursue_hostage_truck"); + maps\_utility::objective_complete(maps\_utility::obj("rescue hostage")); +} + +//Function Number: 12 +set_completed_objective_flags() +{ + if(maps\_utility::is_default_start()) + { + return; + } + + var_00 = level.start_point; + if(var_00 == "intro_drone") + { + return; + } + + common_scripts\utility::flag_set("obj_rescue_PM"); + if(var_00 == "intro_squad") + { + return; + } + + common_scripts\utility::flag_set("obj_rescue_PM_pos"); + common_scripts\utility::flag_set("no_anim_squad_opening"); + common_scripts\utility::flag_set("exo_door_trigger"); + common_scripts\utility::flag_set("flag_irons_videolog_complete"); + common_scripts\utility::flag_set("obj_progress_exo_door"); + common_scripts\utility::flag_set("obj_progress_exo_door_clear"); + common_scripts\utility::flag_set("obj_progress_tram_track"); + common_scripts\utility::flag_set("obj_progress_exo_climb_goto"); + if(var_00 == "government_building") + { + return; + } + + common_scripts\utility::flag_set("obj_progress_exo_climb_clear"); + common_scripts\utility::flag_set("obj_progress_roof_breach_goto"); + common_scripts\utility::flag_set("obj_progress_roof_breach_clear"); + common_scripts\utility::flag_set("obj_progress_h_breach_goto"); + common_scripts\utility::flag_set("flag_obj_exo_climb_text"); + if(var_00 == "pre_h_breach") + { + return; + } + + common_scripts\utility::flag_set("obj_progress_h_breach_clear"); + common_scripts\utility::flag_set("gov_h_breach_init"); + if(var_00 == "post_h_breach") + { + return; + } + + common_scripts\utility::flag_set("obj_progress_free_pm"); + common_scripts\utility::flag_set("obj_progress_free_pm_clear"); + common_scripts\utility::flag_set("obj_complete_rescue_PM"); + common_scripts\utility::flag_set("obj_find_hostage_truck"); + common_scripts\utility::flag_set("obj_progress_find_hostage_truck_lobby"); + common_scripts\utility::flag_set("obj_progress_find_hostage_truck_to_roundabout"); + if(var_00 == "roundabout") + { + return; + } + + common_scripts\utility::flag_set("obj_progress_find_hostage_truck_roundabout"); + common_scripts\utility::flag_set("obj_progress_find_hostage_truck_roundabout_complete"); + if(var_00 == "alley_1") + { + return; + } + + common_scripts\utility::flag_set("obj_pos_pursue_hostage_truck_alley2"); + common_scripts\utility::flag_set("obj_pos_pursue_hostage_truck_oncoming1_wait"); + common_scripts\utility::flag_set("obj_pos_pursue_hostage_truck_oncoming1"); + if(var_00 == "oncoming_alley") + { + return; + } + + common_scripts\utility::flag_set("obj_pos_pursue_hostage_truck_oncoming1_set"); + common_scripts\utility::flag_set("obj_pos_pursue_hostage_truck_oncoming2"); + common_scripts\utility::flag_set("obj_pos_pursue_hostage_truck_alley3"); + if(var_00 == "alley_2") + { + return; + } + + common_scripts\utility::flag_set("obj_pos_pursue_hostage_truck_to_flankalley"); + if(var_00 == "flank_alley") + { + return; + } + + common_scripts\utility::flag_set("flank_vehicle_turret_dead"); + common_scripts\utility::flag_set("flag_start_mag_climb_flank"); + common_scripts\utility::flag_set("obj_progress_mag_climb_flank_complete"); + common_scripts\utility::flag_set("obj_progress_pursue_hostage_truck_flankalley"); + if(var_00 == "traffic_frogger") + { + return; + } + + if(var_00 == "traffic_traverse") + { + return; + } + + common_scripts\utility::flag_set("obj_progress_pursue_hostage_truck_highway"); + common_scripts\utility::flag_set("obj_progress_pursue_hostage_truck_highway_traverse"); + if(var_00 == "middle_takedown") + { + return; + } + + if(var_00 == "post_middle_takedown") + { + return; + } + + common_scripts\utility::flag_set("flag_begin_suv_takedown"); + common_scripts\utility::flag_set("flag_middle_takedown_complete"); + common_scripts\utility::flag_set("flag_highway_final_takedown_started"); + if(var_00 == "van_takedown") + { + return; + } + + common_scripts\utility::flag_set("obj_progress_pursue_hostage_truck_highway_swim"); + if(var_00 == "van_takedown_underwater") + { + return; + } + + common_scripts\utility::flag_set("obj_progress_pursue_hostage_truck_highway_rescue"); + common_scripts\utility::flag_set("obj_complete_pursue_hostage_truck"); + if(var_00 == "shore_pcap") + { + } +} + +//Function Number: 13 +setup_start_points() +{ + maps\_utility::add_start("intro_drone",::start_intro_drone,""); + maps\_utility::add_start("intro_squad",::start_intro_squad); + maps\_utility::add_start("government_building",::start_government_courtyard); + maps\_utility::add_start("pre_h_breach",::start_pre_h_breach); + maps\_utility::add_start("post_h_breach",::start_post_h_breach); + maps\_utility::add_start("roundabout",::start_roundabout); + maps\_utility::add_start("alley_1",::start_alley1); + maps\_utility::add_start("oncoming_alley",::start_oncoming_downhill); + maps\_utility::add_start("alley_2",::start_alley2); + maps\_utility::add_start("flank_alley",::start_flank); + maps\_utility::add_start("traffic_frogger",::start_frogger); + maps\_utility::add_start("traffic_traverse",::start_traverse); + maps\_utility::add_start("middle_takedown",::start_middle_takedown); + maps\_utility::add_start("post_middle_takedown",::start_post_middle_takedown); + maps\_utility::add_start("van_takedown",::start_van_takedown); + maps\_utility::add_start("van_takedown_underwater",::start_van_takedown_underwater); + maps\_utility::add_start("shore_pcap",::start_shore_pcap); + if(level.currentgen) + { + var_00 = ["lagos_intro_tr"]; + maps\_utility::set_start_transients("intro_drone",var_00); + maps\_utility::set_start_transients("intro_squad",var_00); + maps\_utility::set_start_transients("government_building",var_00); + maps\_utility::set_start_transients("pre_h_breach",var_00); + maps\_utility::set_start_transients("post_h_breach",var_00); + var_00[0] = "lagos_middle_tr"; + var_00[1] = "lagos_roundabout_lobby_tr"; + maps\_utility::set_start_transients("roundabout",var_00); + var_00[1] = "lagos_alley_tr"; + maps\_utility::set_start_transients("alley_1",var_00); + maps\_utility::set_start_transients("oncoming_alley",var_00); + maps\_utility::set_start_transients("alley_2",var_00); + var_00 = ["lagos_alley_tr"]; + maps\_utility::set_start_transients("flank_alley",var_00); + var_00 = ["lagos_outro_tr"]; + maps\_utility::set_start_transients("traffic_frogger",var_00); + maps\_utility::set_start_transients("traffic_traverse",var_00); + maps\_utility::set_start_transients("middle_takedown",var_00); + maps\_utility::set_start_transients("post_middle_takedown",var_00); + maps\_utility::set_start_transients("van_takedown",var_00); + maps\_utility::set_start_transients("van_takedown_underwater",var_00); + maps\_utility::set_start_transients("shore_pcap",var_00); + } +} + +//Function Number: 14 +start_intro_drone() +{ + soundscripts\_snd::snd_message("start_intro_drone"); + maps\_shg_utility::move_player_to_start("intro_playerstart"); + common_scripts\utility::flag_set("fly_drone_start"); + thread maps\lagos_code::drone_intro(); + maps\_utility::battlechatter_off("allies"); + maps\_utility::battlechatter_off("axis"); +} + +//Function Number: 15 +start_intro_squad() +{ + soundscripts\_snd::snd_message("start_intro_squad"); + thread maps\_player_exo::player_exo_deactivate(); + maps\_shg_utility::move_player_to_start("intro_playerstart"); + common_scripts\utility::flag_set("intro_playerstart"); + common_scripts\utility::flag_set("obj_rescue_PM"); + thread maps\lagos_code::gov_hostage_h_breach_doors(); + maps\_utility::battlechatter_off("allies"); + maps\_utility::battlechatter_off("axis"); +} + +//Function Number: 16 +start_government_courtyard() +{ + soundscripts\_snd::snd_message("start_government_building"); + maps\_shg_utility::move_player_to_start("government_building_playerstart"); + common_scripts\utility::flag_set("government_courtyard_playerstart"); + maps\_utility::battlechatter_off("allies"); + maps\_utility::battlechatter_off("axis"); + thread maps\lagos_code::vig_vehicle_removal(); + thread maps\lagos_code::gov_hostage_h_breach_doors(); + thread maps\lagos_code::gov_building_mil_devstart_setup(); + thread maps\lagos_code::gov_building_firefight_driveup(); + thread maps\lagos_code::gov_roof_breach_anim_chunks(); + wait 0.05; + level notify("remove_civs"); + level notify("gov_driveup_go"); + thread maps\lagos_code::gov_building_firefight_setup(); + wait(0.5); + level notify("gov_driveup_started"); +} + +//Function Number: 17 +start_pre_h_breach() +{ + soundscripts\_snd::snd_message("start_pre_h_breach"); + maps\_shg_utility::move_player_to_start("h_breach_playerstart"); + common_scripts\utility::flag_set("pre_h_breach_playerstart"); + common_scripts\utility::flag_clear("gov_h_breach_init"); + thread maps\lagos_code::vig_vehicle_removal(); + level notify("remove_civs"); + thread maps\lagos_code::gov_rear_setup(); + thread maps\lagos_code::gov_hostage_h_breach_doors(); + thread maps\lagos_code::gov_hostage_breach_setup(); + maps\_utility::battlechatter_off("allies"); + maps\_utility::battlechatter_off("axis"); + thread maps\lagos_vo::harmonic_breach_prep_dialogue(); + wait(3); + level notify("h_breach_prep"); + common_scripts\utility::flag_wait("flag_h_breach_started"); + common_scripts\utility::flag_set("begin_harmonic_breach_lighting"); + common_scripts\utility::flag_set("obj_progress_h_breach_clear"); + level notify("h_breach_anim_init"); + common_scripts\utility::flag_set("done_gov_building_h_breach_start"); + thread maps\lagos_vo::harmonic_breach_start_dialogue(); + wait(2); + level.anim_org_ajani_post_breach = getent("anim_HM_post_breach","targetname"); + level.anim_org_ajani_post_breach maps\_anim::anim_loop_solo(level.ajani,"h_breach_pre_idle","end_pre_idle"); +} + +//Function Number: 18 +start_post_h_breach() +{ + soundscripts\_snd::snd_message("start_post_h_breach"); + maps\_shg_utility::move_player_to_start("h_breach_playerstart"); + common_scripts\utility::flag_set("post_h_breach_playerstart"); + thread maps\lagos_code::vig_vehicle_removal(); + level notify("remove_civs"); + maps\_utility::battlechatter_off("allies"); + maps\_utility::battlechatter_off("axis"); + thread maps\lagos_code::gov_rear_setup(); + thread maps\lagos_code::gov_hostage_h_breach_doors(); + thread maps\lagos_code::gov_hostage_breach_post_anim_setup(); + wait 0.05; + level notify("BreachComplete"); +} + +//Function Number: 19 +start_roundabout() +{ + soundscripts\_snd::snd_message("start_roundabout"); + maps\_shg_utility::move_player_to_start("roundabout_playerstart"); + common_scripts\utility::flag_set("roundabout_playerstart"); + thread maps\lagos_code::vig_vehicle_removal(); + level notify("remove_civs"); + maps\_utility::battlechatter_off("allies"); + maps\_utility::battlechatter_off("axis"); + common_scripts\utility::flag_wait("roundabout_squad_teleport"); + level.player freezecontrols(1); + thread maps\_introscreen::introscreen_generic_black_fade_in(2,1); + var_00 = getnode("roundabout_start_burke","targetname"); + var_01 = getnode("roundabout_start_joker","targetname"); + var_02 = getnode("roundabout_start_ajani","targetname"); + level.burke maps\_utility::teleport_ai(var_00); + level.joker maps\_utility::teleport_ai(var_01); + level.ajani maps\_utility::teleport_ai(var_02); + wait(2); + level.player freezecontrols(0); +} + +//Function Number: 20 +start_alley1() +{ + soundscripts\_snd::snd_message("start_alley1"); + maps\_shg_utility::move_player_to_start("alley1_playerstart"); + common_scripts\utility::flag_set("alley1_playerstart"); + thread maps\lagos_code::vig_vehicle_removal(); + level notify("remove_civs"); +} + +//Function Number: 21 +start_oncoming_downhill() +{ + soundscripts\_snd::snd_message("start_oncoming_downhill"); + maps\_shg_utility::move_player_to_start("oncoming_downhill_playerstart"); + common_scripts\utility::flag_set("oncoming_downhill_playerstart"); + thread maps\lagos_code::vig_vehicle_removal(); + level notify("remove_civs"); + level notify("alley_oncoming_ally_goto"); +} + +//Function Number: 22 +start_alley2() +{ + soundscripts\_snd::snd_message("start_alley2"); + maps\_shg_utility::move_player_to_start("alley2_playerstart"); + common_scripts\utility::flag_set("alley2_playerstart"); + thread maps\lagos_code::vig_vehicle_removal(); + level notify("remove_civs"); +} + +//Function Number: 23 +start_flank() +{ + soundscripts\_snd::snd_message("start_flank"); + maps\_shg_utility::move_player_to_start("flank_playerstart"); + common_scripts\utility::flag_set("flank_playerstart"); + thread maps\lagos_code::vig_vehicle_removal(); + level notify("remove_civs"); + level.player freezecontrols(1); + thread maps\_introscreen::introscreen_generic_black_fade_in(2,1); + var_00 = getnode("flank_start_burke","targetname"); + var_01 = getnode("flank_start_joker","targetname"); + var_02 = getnode("flank_start_ajani","targetname"); + level.burke maps\_utility::teleport_ai(var_00); + level.joker maps\_utility::teleport_ai(var_01); + level.ajani maps\_utility::teleport_ai(var_02); + level.burke maps\_utility::enable_ai_color(); + level.joker maps\_utility::enable_ai_color(); + level.ajani maps\_utility::enable_ai_color(); + wait(2); + level.player freezecontrols(0); +} + +//Function Number: 24 +start_frogger() +{ + soundscripts\_snd::snd_message("start_traffic_frogger"); + maps\_shg_utility::move_player_to_start("frogger_playerstart"); + common_scripts\utility::flag_set("frogger_playerstart"); + thread maps\lagos_code::vig_vehicle_removal(); + level notify("remove_civs"); + level.player freezecontrols(1); + thread maps\_introscreen::introscreen_generic_black_fade_in(2,1); + maps\_exo_climb::disable_mount_point("climb_mount_flank_alley"); + var_00 = getnode("frogger_start_burke","targetname"); + var_01 = getnode("frogger_start_joker","targetname"); + var_02 = getnode("frogger_start_ajani","targetname"); + level.burke maps\_utility::teleport_ai(var_00); + level.joker maps\_utility::teleport_ai(var_01); + level.ajani maps\_utility::teleport_ai(var_02); + level.burke maps\_utility::enable_ai_color(); + level.joker maps\_utility::enable_ai_color(); + level.ajani maps\_utility::enable_ai_color(); + wait(2); + level.player freezecontrols(0); + thread maps\lagos_vo::highway_frogger_dialogue(); +} + +//Function Number: 25 +start_traverse() +{ + soundscripts\_snd::snd_message("start_traffic_traverse"); + maps\_shg_utility::move_player_to_start("rail_playerstart"); + common_scripts\utility::flag_set("rail_playerstart"); + thread maps\lagos_code::vig_vehicle_removal(); + level notify("remove_civs"); + maps\_utility::battlechatter_off("axis"); + maps\_utility::battlechatter_off("allies"); + level.player freezecontrols(1); + thread maps\_introscreen::introscreen_generic_black_fade_in(2,1); + maps\_exo_climb::disable_mount_point("climb_mount_flank_alley"); + var_00 = getnode("traverse_start_burke","targetname"); + level.burke maps\_utility::teleport_ai(var_00); + level.burke maps\_utility::enable_ai_color(); + wait(2); + level.player freezecontrols(0); + common_scripts\utility::flag_set("begin_traffic_traverse"); + maps\lagos_code::traffic_traverse_start(); +} + +//Function Number: 26 +start_middle_takedown() +{ + soundscripts\_snd::snd_message("start_middle_takedown"); + level.debugstart_middle_takedown = 1; + level.burke_middle_takedown = 1; + maps\_exo_climb::disable_mount_point("climb_mount_flank_alley"); + maps\_shg_utility::move_player_to_start("rail_playerstart"); + common_scripts\utility::flag_set("alley2_playerstart"); + thread maps\lagos_code::vig_vehicle_removal(); + level notify("remove_civs"); + maps\_utility::battlechatter_off("axis"); + maps\_utility::battlechatter_off("allies"); + common_scripts\utility::flag_wait("flag_setup_highway_vehicles"); + common_scripts\utility::flag_set("flag_begin_suv_takedown"); +} + +//Function Number: 27 +start_post_middle_takedown() +{ + soundscripts\_snd::snd_message("start_post_middle_takedown"); + level.debugstart_post_middle_takedown = 1; + maps\_exo_climb::disable_mount_point("climb_mount_flank_alley"); + maps\_utility::battlechatter_off("axis"); + maps\_utility::battlechatter_off("allies"); + start_middle_takedown(); + common_scripts\utility::flag_set("flag_post_suv_takedown_lighting"); +} + +//Function Number: 28 +start_shooting_rail() +{ + soundscripts\_snd::snd_message("start_shooting_rail"); + maps\_exo_climb::disable_mount_point("climb_mount_flank_alley"); + maps\_utility::battlechatter_off("axis"); + maps\_utility::battlechatter_off("allies"); + maps\_shg_utility::move_player_to_start("shooting_rail_playerstart"); + common_scripts\utility::flag_set("shooting_rail_playerstart"); + thread maps\lagos_code::vig_vehicle_removal(); + level notify("remove_civs"); +} + +//Function Number: 29 +start_van_takedown() +{ + soundscripts\_snd::snd_message("start_van_takedown"); + maps\_exo_climb::disable_mount_point("climb_mount_flank_alley"); + maps\_utility::battlechatter_off("axis"); + maps\_utility::battlechatter_off("allies"); + maps\_shg_utility::move_player_to_start("takedown_playerstart"); + common_scripts\utility::flag_set("flag_bus_traverse_5_start_takedown"); + common_scripts\utility::flag_set("takedown_playerstart"); + common_scripts\utility::flag_set("takedown_playerstart_lighting"); + thread maps\lagos_code::vig_vehicle_removal(); + level notify("remove_civs"); +} + +//Function Number: 30 +start_van_takedown_underwater() +{ + soundscripts\_snd::snd_message("start_van_takedown_underwater"); + maps\_exo_climb::disable_mount_point("climb_mount_flank_alley"); + maps\_utility::battlechatter_off("axis"); + maps\_utility::battlechatter_off("allies"); + common_scripts\utility::flag_set("flag_bus_traverse_5_start_takedown"); + common_scripts\utility::flag_set("takedown_underwater"); + common_scripts\utility::flag_set("takedown_underwater_lighting"); + common_scripts\utility::flag_set("flag_takedown_kva_van_approach"); + common_scripts\utility::flag_set("takedown_playerstart"); + soundscripts\_snd::snd_message("van_takedown"); + thread maps\lagos_code::vig_vehicle_removal(); + level notify("remove_civs"); +} + +//Function Number: 31 +start_shore_pcap() +{ + soundscripts\_snd::snd_message("start_shore_pcap"); + maps\_exo_climb::disable_mount_point("climb_mount_flank_alley"); + maps\_utility::battlechatter_off("axis"); + maps\_utility::battlechatter_off("allies"); + maps\_shg_utility::move_player_to_start("shore_pcap_playerstart"); + common_scripts\utility::flag_set("shore_pcap_playerstart"); + level.player freezecontrols(1); + thread maps\_introscreen::introscreen_generic_black_fade_in(1.5,0.5); + thread maps\lagos_code::shore_pcap(1.5); +} \ No newline at end of file diff --git a/AW/PC/maps/lagos_anim.gsc b/AW/PC/maps/lagos_anim.gsc new file mode 100644 index 0000000..d469428 --- /dev/null +++ b/AW/PC/maps/lagos_anim.gsc @@ -0,0 +1,911 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: lagos_anim.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 17 + * Decompile Time: 272 ms + * Timestamp: 4/22/2024 2:33:15 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.transient_zone = ""; + if(level.currentgen) + { + if(istransientloaded("lagos_intro_tr")) + { + level.transient_zone = "intro"; + } + else if(istransientloaded("lagos_middle_tr")) + { + level.transient_zone = "middle"; + } + else if(istransientloaded("lagos_outro_tr")) + { + level.transient_zone = "outro"; + } + } + + if(level.nextgen) + { + anim.forced_s1_motionset = 1; + } + + thread player_anims(); + thread actor_anims(); + thread vehicle_anims(); + thread model_anims(); +} + +//Function Number: 2 +transient_notetracks_outro() +{ + if(level.transient_zone != "outro") + { + level waittill("tff_post_alley_to_outro"); + } + + notetracks_traffic_start_vm(); + notetracks_truck_middle_takedown_pt4(); + notetracks_bus_jump(); + notetracks_hostage_truck_takedown(); + notetracks_playerrig_truck_middle_takedown(); + notetracks_truck_middle_takedown_kva_truck(); +} + +//Function Number: 3 +player_anims() +{ + level.scr_animtree["player_rig"] = #animtree; + level.scr_model["player_rig"] = "viewbody_atlas_pmc_smp_custom"; + level.scr_animtree["player_arms"] = #animtree; + level.scr_model["player_arms"] = "worldhands_atlas_pmc_smp_custom"; + level.scr_animtree["player_arms_alt"] = #animtree; + level.scr_model["player_arms_alt"] = "worldhands_atlas_pmc_smp"; + level.scr_anim["player_arms"]["drone_opening_idle"][0] = %lag_gov_hostage_room_flythrough_vm_start_idle; + level.scr_anim["player_arms"]["drone_opening_player_control"] = %lag_gov_hostage_room_flythrough_vm_stop_for_orbit; + level.scr_goaltime["player_arms"]["drone_opening_player_control"] = 1; + level.scr_anim["player_rig"]["squad_opening"] = %lag_intro_briefing_vm; + level.scr_anim["player_rig"]["exo_door"] = %lag_exo_door_takedown_vm; + maps\_anim::addnotetrack_customfunction("player_arms","fov_start",::maps\lagos_code::drone_intro_fov_shift_on,"drone_opening_player_control"); + maps\_anim::addnotetrack_customfunction("player_rig","fov_start",::maps\lagos_code::squad_intro_fov_shift_on,"squad_opening"); + maps\_anim::addnotetrack_customfunction("player_rig","fov_end",::maps\lagos_code::squad_intro_fov_shift_off,"squad_opening"); + maps\_anim::addnotetrack_customfunction("player_rig","vm_gun_up",::exo_door_enable_weapons,"exo_door"); + level.scr_anim["player_rig"]["exo_climb_pullup_start"] = %lag_gov_wallpullup_start_vm; + level.scr_anim["player_rig"]["exo_climb_pullup_lt1"] = %lag_gov_wallpullup_lt1_vm; + level.scr_anim["player_rig"]["exo_climb_pullup_rt1"] = %lag_gov_wallpullup_rt1_vm; + level.scr_anim["player_rig"]["exo_climb_pullup_lt2"] = %lag_gov_wallpullup_lt2_vm; + level.scr_anim["player_rig"]["exo_climb_pullup_rt2"] = %lag_gov_wallpullup_rt2_vm; + level.scr_anim["player_rig"]["exo_climb_pullup_lt3"] = %lag_gov_wallpullup_lt3_vm; + level.scr_anim["player_rig"]["exo_climb_pullup_rt3"] = %lag_gov_wallpullup_rt3_vm; + level.scr_anim["player_rig"]["exo_climb_pullup_exit"] = %lag_gov_wallpullup_exit_vm; + maps\_anim::addnotetrack_customfunction("player_climb_rig","right_hand_plant",::maps\lagos_fx::player_hand_plant_rt_wallclimb,"mount_override"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","left_hand_plant",::maps\lagos_fx::player_hand_plant_lf_wallclimb,"mount_override"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_gloves_on",::maps\lagos_fx::player_mag_glove_activate_wallclimb,"mount_override"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_gloves_off",::maps\_exo_climb::fx_exo_climb_gloves_off,"mount_override"); + maps\_anim::addnotetrack_customfunction("player_rig","fx_gloves_off",::maps\_exo_climb::fx_exo_climb_gloves_off,"exo_climb_pullup_exit"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_right_index",::maps\lagos_vo::notetrack_vo_exo_climb,"mount_override"); + maps\_anim::addnotetrack_customfunction("player_rig","right_hand_plant",::maps\lagos_fx::player_hand_plant_rt_wallclimb,"exo_climb_pullup_rt1"); + maps\_anim::addnotetrack_customfunction("player_rig","left_hand_plant",::maps\lagos_fx::player_hand_plant_lf_wallclimb,"exo_climb_pullup_lt2"); + maps\_anim::addnotetrack_customfunction("player_rig","right_hand_plant",::maps\lagos_fx::player_hand_plant_rt_wallclimb,"exo_climb_pullup_rt2"); + maps\_anim::addnotetrack_customfunction("player_rig","left_hand_plant",::maps\lagos_fx::player_hand_plant_lf_wallclimb,"exo_climb_pullup_lt3"); + maps\_anim::addnotetrack_customfunction("player_rig","right_hand_plant",::maps\lagos_fx::player_hand_plant_rt_wallclimb,"exo_climb_pullup_rt3"); + maps\_anim::addnotetrack_customfunction("player_rig","burke_anim_start",::maps\lagos_code::wall_pullup_burke_anim_start,"exo_climb_pullup_exit"); + maps\_anim::addnotetrack_customfunction("player_rig","pigeon_flyaway",::maps\lagos_fx::bird_flyaway,"exo_climb_pullup_exit"); + level.scr_anim["player_rig"]["roof_mute_breach_plant"] = %lag_roof_breach_vm; + level.scr_anim["player_rig"]["roof_mute_breach_jumpdown"] = %lag_roof_breach_jumpdown_vm; + maps\_anim::addnotetrack_customfunction("player_rig","slowmotion_start",::maps\lagos_code::gov_roof_breach_start_slowmo,"roof_mute_breach_jumpdown"); + maps\_anim::addnotetrack_customfunction("player_rig","lag_magic_bullet",::maps\lagos_code::gov_roof_breach_multi_kill,"roof_mute_breach_jumpdown"); + level.scr_anim["player_rig"]["flank_wall_climb"] = %lag_flank_wallpullup_exit_vm; + maps\_anim::addnotetrack_customfunction("player_rig","fx_gloves_off",::maps\_exo_climb::fx_exo_climb_gloves_off,"flank_wall_climb"); + level.scr_anim["player_rig"]["traffic_start_VM"] = %lag_pullbackfence_jump_vm_pt1; + level.scr_anim["player_rig"]["traffic_start_VM_fail"] = %lag_pullbackfence_jump_vm_fail; + maps\_anim::addnotetrack_customfunction("player_rig","fx_gloves_on",::maps\lagos_fx::player_mag_glove_activate_wallclimb,"traffic_start_VM"); + maps\_anim::addnotetrack_customfunction("player_rig","left_hand_plant",::maps\lagos_fx::player_hand_plant_lf_wallclimb,"traffic_start_VM"); + maps\_anim::addnotetrack_customfunction("player_rig","fx_l_glove_disengage",::maps\lagos_fx::player_mag_glove_lglove_disengage,"traffic_start_VM"); + maps\_anim::addnotetrack_customfunction("player_rig","fx_gloves_off",::maps\lagos_fx::player_mag_glove_off,"traffic_start_VM"); + maps\_anim::addnotetrack_customfunction("player_rig","fx_gloves_on",::maps\lagos_fx::player_mag_glove_activate_wallclimb,"traffic_start_VM_fail"); + maps\_anim::addnotetrack_customfunction("player_rig","left_hand_plant",::maps\lagos_fx::player_hand_plant_lf_wallclimb,"traffic_start_VM_fail"); + maps\_anim::addnotetrack_customfunction("player_rig","fx_l_glove_disengage",::maps\lagos_fx::player_mag_glove_lglove_disengage,"traffic_start_VM_fail"); + maps\_anim::addnotetrack_customfunction("player_rig","fx_gloves_off",::maps\lagos_fx::player_mag_glove_off,"traffic_start_VM_fail"); + notetracks_traffic_start_vm(); + level.scr_anim["player_rig"]["hostage_truck_takedown_fail_pt2"] = %lag_truck_takedown_fail_pt2_vm; + level.scr_anim["player_rig"]["hostage_truck_takedown_pt0"] = %lag_truck_takedown_pt0_vm; + level.scr_anim["player_rig"]["hostage_truck_takedown_pt1"] = %lag_truck_takedown_pt1_vm; + level.scr_anim["player_rig"]["hostage_truck_takedown_pt2"] = %lag_truck_takedown_pt2_vm; + level.scr_anim["player_rig"]["hostage_truck_takedown_pt3"] = %lag_truck_takedown_pt3_vm; + level.scr_anim["player_rig"]["hostage_truck_takedown_pt4_into"] = %lag_truck_takedown_pt4_into_vm; + level.scr_anim["player_rig"]["hostage_truck_takedown_pt4"] = %lag_truck_takedown_pt4_vm; + level.scr_anim["player_rig"]["hostage_truck_takedown_pt5"] = %lag_truck_takedown_pt5_vm; + maps\_anim::addnotetrack_customfunction("player_rig","fx_gloves_on",::maps\lagos_fx::player_mag_glove_activate_wallclimb,"hostage_truck_takedown_pt0"); + maps\_anim::addnotetrack_customfunction("player_rig","left_hand_plant",::maps\lagos_fx::player_hand_plant_lf_wallclimb,"hostage_truck_takedown_pt0"); + maps\_anim::addnotetrack_customfunction("player_rig","right_hand_plant",::maps\lagos_fx::player_hand_plant_rt_wallclimb,"hostage_truck_takedown_pt0"); + maps\_anim::addnotetrack_customfunction("player_rig","fx_l_glove_disengage",::maps\lagos_fx::player_mag_glove_lglove_disengage,"hostage_truck_takedown_pt0"); + maps\_anim::addnotetrack_customfunction("player_rig","fx_r_glove_disengage",::maps\lagos_fx::player_mag_glove_rglove_disengage,"hostage_truck_takedown_pt0"); + maps\_anim::addnotetrack_customfunction("player_rig","fx_gloves_off",::maps\lagos_fx::player_mag_glove_off,"hostage_truck_takedown_pt0"); + maps\_anim::addnotetrack_customfunction("player_rig","fx_gloves_on",::maps\lagos_fx::player_mag_glove_activate_wallclimb,"hostage_truck_takedown_pt1"); + maps\_anim::addnotetrack_customfunction("player_rig","fx_gloves_on",::maps\lagos_fx::player_mag_glove_activate_wallclimb,"hostage_truck_takedown_pt2"); + maps\_anim::addnotetrack_customfunction("player_rig","fx_gloves_off",::maps\lagos_fx::player_mag_glove_off,"hostage_truck_takedown_pt2"); + notetracks_hostage_truck_takedown(); + level.scr_anim["player_rig"]["truck_middle_takedown_pt1"] = %lag_truck_middle_takedown_pt1_vm; + level.scr_anim["player_rig"]["truck_middle_takedown_pt2"] = %lag_truck_middle_takedown_pt2_vm; + level.scr_anim["player_rig"]["truck_middle_takedown_pt3"] = %lag_truck_middle_takedown_pt3_vm; + level.scr_anim["player_rig"]["truck_middle_takedown_pt4"] = %lag_truck_middle_takedown_pt4_vm; + level.scr_anim["player_rig"]["truck_middle_takedown_pt5"] = %lag_truck_middle_takedown_pt5_vm; + level.scr_anim["player_rig"]["truck_middle_takedown_fail_pt1"] = %lag_truck_middle_takedown_fail_pt1_vm; + level.scr_anim["player_rig"]["truck_middle_takedown_fail_pt2"] = %lag_truck_middle_takedown_fail_pt2_vm; + level.scr_anim["player_rig"]["truck_middle_takedown_fail_pt3"] = %lag_truck_middle_takedown_fail_pt3_vm; + level.scr_anim["player_rig"]["truck_middle_takedown_fail_pt4"] = %lag_truck_middle_takedown_fail_pt4_vm; + level.scr_anim["player_rig"]["truck_middle_takedown_fail_pt5"] = %lag_truck_middle_takedown_fail_pt5_vm; + maps\_anim::addnotetrack_customfunction("player_rig","left_hand_plant",::maps\lagos_code::notetrack_middle_takedown_grab_side,"truck_middle_takedown_pt1"); + maps\_anim::addnotetrack_customfunction("player_rig","qte_prompt",::maps\lagos_code::notetrack_middle_takedown_truck_swipe,"truck_middle_takedown_pt1"); + maps\_anim::addnotetrack_customfunction("player_rig","qte_prompt",::maps\lagos_code::notetrack_middle_takedown_jump_to_truck,"truck_middle_takedown_pt2"); + maps\_anim::addnotetrack_customfunction("player_rig","qte_prompt",::maps\lagos_code::notetrack_middle_takedown_land_on_truck,"truck_middle_takedown_pt2"); + maps\_anim::addnotetrack_customfunction("player_rig","qte_prompt",::maps\lagos_code::notetrack_middle_takedown_punch_window,"truck_middle_takedown_pt3"); + maps\_anim::addnotetrack_customfunction("player_rig","qte_prompt",::maps\lagos_code::notetrack_middle_takedown_jump_to_bus,"truck_middle_takedown_pt4"); + maps\_anim::addnotetrack_customfunction("player_rig","qte_prompt",::maps\lagos_code::notetrack_middle_takedown_land_on_bus,"truck_middle_takedown_pt4"); + maps\_anim::addnotetrack_customfunction("player_rig","fx_gloves_on",::maps\lagos_fx::player_mag_glove_activate_wallclimb,"truck_middle_takedown_pt1"); + maps\_anim::addnotetrack_customfunction("player_rig","left_hand_plant",::maps\lagos_fx::player_hand_plant_lf_wallclimb,"truck_middle_takedown_pt1"); + maps\_anim::addnotetrack_customfunction("player_rig","right_hand_plant",::maps\lagos_fx::player_hand_plant_rt_wallclimb,"truck_middle_takedown_pt1"); + maps\_anim::addnotetrack_customfunction("player_rig","fx_l_glove_disengage",::maps\lagos_fx::player_mag_glove_lglove_disengage,"truck_middle_takedown_pt1"); + maps\_anim::addnotetrack_customfunction("player_rig","fx_r_glove_disengage",::maps\lagos_fx::player_mag_glove_rglove_disengage,"truck_middle_takedown_pt1"); + maps\_anim::addnotetrack_customfunction("player_rig","fx_gloves_off",::maps\lagos_fx::player_mag_glove_off,"truck_middle_takedown_pt1"); + maps\_anim::addnotetrack_customfunction("player_rig","fx_gloves_on",::maps\lagos_fx::player_mag_glove_activate_wallclimb,"truck_middle_takedown_pt2"); + maps\_anim::addnotetrack_customfunction("player_rig","left_hand_plant",::maps\lagos_fx::player_hand_plant_lf_wallclimb,"truck_middle_takedown_pt2"); + maps\_anim::addnotetrack_customfunction("player_rig","right_hand_plant",::maps\lagos_fx::player_hand_plant_rt_wallclimb,"truck_middle_takedown_pt2"); + maps\_anim::addnotetrack_customfunction("player_rig","fx_gloves_on",::maps\lagos_fx::player_mag_glove_activate_wallclimb,"truck_middle_takedown_pt3"); + maps\_anim::addnotetrack_customfunction("player_rig","left_hand_plant",::maps\lagos_fx::player_hand_plant_lf_wallclimb,"truck_middle_takedown_pt3"); + maps\_anim::addnotetrack_customfunction("player_rig","right_hand_plant",::maps\lagos_fx::player_hand_plant_rt_wallclimb,"truck_middle_takedown_pt3"); + maps\_anim::addnotetrack_customfunction("player_rig","fx_l_glove_disengage",::maps\lagos_fx::player_mag_glove_lglove_disengage,"truck_middle_takedown_pt3"); + maps\_anim::addnotetrack_customfunction("player_rig","fx_r_glove_disengage",::maps\lagos_fx::player_mag_glove_rglove_disengage,"truck_middle_takedown_pt3"); + maps\_anim::addnotetrack_customfunction("player_rig","fx_gloves_off",::maps\lagos_fx::player_mag_glove_off,"truck_middle_takedown_pt3"); + maps\_anim::addnotetrack_customfunction("player_rig","fx_gloves_on",::maps\lagos_fx::player_mag_glove_activate_wallclimb,"truck_middle_takedown_pt4"); + maps\_anim::addnotetrack_customfunction("player_rig","left_hand_plant",::maps\lagos_fx::player_hand_plant_lf_wallclimb,"truck_middle_takedown_pt4"); + maps\_anim::addnotetrack_customfunction("player_rig","right_hand_plant",::maps\lagos_fx::player_hand_plant_rt_wallclimb,"truck_middle_takedown_pt4"); + maps\_anim::addnotetrack_customfunction("player_rig","fx_l_glove_disengage",::maps\lagos_fx::player_mag_glove_lglove_disengage,"truck_middle_takedown_pt4"); + maps\_anim::addnotetrack_customfunction("player_rig","fx_r_glove_disengage",::maps\lagos_fx::player_mag_glove_rglove_disengage,"truck_middle_takedown_pt4"); + maps\_anim::addnotetrack_customfunction("player_rig","fx_gloves_off",::maps\lagos_fx::player_mag_glove_off,"truck_middle_takedown_pt4"); + maps\_anim::addnotetrack_customfunction("player_rig","fx_gloves_on",::maps\lagos_fx::player_mag_glove_activate_wallclimb,"truck_middle_takedown_pt5"); + maps\_anim::addnotetrack_customfunction("player_rig","left_hand_plant",::maps\lagos_fx::player_hand_plant_lf_wallclimb,"truck_middle_takedown_pt5"); + maps\_anim::addnotetrack_customfunction("player_rig","right_hand_plant",::maps\lagos_fx::player_hand_plant_rt_wallclimb,"truck_middle_takedown_pt5"); + maps\_anim::addnotetrack_customfunction("player_rig","fx_gloves_off",::maps\lagos_fx::player_mag_glove_off,"truck_middle_takedown_pt5"); + notetracks_playerrig_truck_middle_takedown(); + level.scr_anim["player_arms"]["h_breach"] = %lag_infiltration_plant_walldevice_vm; + level.scr_anim["player_rig"]["h_breach_pt1"] = %lag_gov_hostage_room_breach_pt1_vm; + level.scr_anim["player_rig"]["h_breach_pt2"] = %lag_gov_hostage_room_breach_pt2_vm; + level.scr_anim["player_arms"]["bus_jump_vm_a"] = %lag_bus_jump_vm_a; + level.scr_anim["player_arms"]["bus_jump_vm_b"] = %lag_bus_jump_vm_b; + level.scr_anim["player_arms"]["bus_jump_vm_c"] = %lag_bus_jump_vm_c; + level.scr_anim["player_arms"]["bus_jump_vm_handplant"] = %lag_bus_jump_vm_handplant; + maps\_anim::addnotetrack_customfunction("player_arms","fx_gloves_on",::maps\lagos_fx::player_mag_glove_activate_wallclimb,"bus_jump_vm_a"); + maps\_anim::addnotetrack_customfunction("player_arms","left_hand_plant",::maps\lagos_fx::player_hand_plant_lf_wallclimb,"bus_jump_vm_a"); + maps\_anim::addnotetrack_customfunction("player_arms","fx_l_glove_disengage",::maps\lagos_fx::player_mag_glove_lglove_disengage,"bus_jump_vm_a"); + maps\_anim::addnotetrack_customfunction("player_arms","fx_gloves_off",::maps\lagos_fx::player_mag_glove_off,"bus_jump_vm_a"); + maps\_anim::addnotetrack_customfunction("player_arms","fx_gloves_on",::maps\lagos_fx::player_mag_glove_activate_wallclimb,"bus_jump_vm_b"); + maps\_anim::addnotetrack_customfunction("player_arms","left_hand_plant",::maps\lagos_fx::player_hand_plant_lf_wallclimb,"bus_jump_vm_b"); + maps\_anim::addnotetrack_customfunction("player_arms","fx_l_glove_disengage",::maps\lagos_fx::player_mag_glove_lglove_disengage,"bus_jump_vm_b"); + maps\_anim::addnotetrack_customfunction("player_arms","fx_gloves_off",::maps\lagos_fx::player_mag_glove_off,"bus_jump_vm_b"); + maps\_anim::addnotetrack_customfunction("player_arms","fx_gloves_on",::maps\lagos_fx::player_mag_glove_activate_wallclimb,"bus_jump_vm_c"); + maps\_anim::addnotetrack_customfunction("player_arms","left_hand_plant",::maps\lagos_fx::player_hand_plant_lf_wallclimb,"bus_jump_vm_c"); + maps\_anim::addnotetrack_customfunction("player_arms","fx_l_glove_disengage",::maps\lagos_fx::player_mag_glove_lglove_disengage,"bus_jump_vm_c"); + maps\_anim::addnotetrack_customfunction("player_arms","fx_gloves_off",::maps\lagos_fx::player_mag_glove_off,"bus_jump_vm_c"); + maps\_anim::addnotetrack_customfunction("player_arms","fx_gloves_on",::maps\lagos_fx::player_mag_glove_activate_wallclimb,"bus_jump_vm_handplant"); + maps\_anim::addnotetrack_customfunction("player_arms","left_hand_plant",::maps\lagos_fx::player_hand_plant_lf_wallclimb,"bus_jump_vm_handplant"); + maps\_anim::addnotetrack_customfunction("player_arms","fx_l_glove_disengage",::maps\lagos_fx::player_mag_glove_lglove_disengage,"bus_jump_vm_handplant"); + maps\_anim::addnotetrack_customfunction("player_arms","fx_gloves_off",::maps\lagos_fx::player_mag_glove_off,"bus_jump_vm_handplant"); + notetracks_bus_jump(); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_right_index",::maps\lagos_code::notetrack_gov_wall_climb_intro_right_start,"mount_override"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_left_index",::maps\lagos_code::notetrack_gov_wall_climb_intro_left_start,"mount_override"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","right_hand_plant",::maps\lagos_code::notetrack_gov_wall_climb_intro_right_plant,"mount_override"); + maps\_anim::addnotetrack_customfunction("player_climb_rig","left_hand_plant",::maps\lagos_code::notetrack_gov_wall_climb_intro_left_plant,"mount_override"); + maps\_anim::addnotetrack_customfunction("player_rig","rumble_medium",::maps\lagos_code::notetrack_roof_breach_medium,"roof_mute_breach_plant"); + maps\_anim::addnotetrack_customfunction("player_rig","rumble_small",::maps\lagos_code::notetrack_roof_breach_small,"roof_mute_breach_plant"); + maps\_anim::addnotetrack_customfunction("player_rig","rumble_large",::maps\lagos_code::notetrack_roof_breach_large,"roof_mute_breach_plant"); + maps\_anim::addnotetrack_customfunction("player_rig","breach_player_land",::maps\lagos_code::notetrack_roof_breach_land,"roof_mute_breach_jumpdown"); + maps\_anim::addnotetrack_customfunction("player_arms","rumble_small",::maps\lagos_code::notetrack_h_breach_small,"h_breach"); + maps\_anim::addnotetrack_customfunction("player_rig","handcuff_break",::maps\lagos_code::notetrack_gov_rescue_handcuffs,"h_breach_pt2"); + maps\_anim::addnotetrack_customfunction("player_rig","left_hand_plant",::maps\lagos_code::notetrack_highway_bus_land_from_ledge,"traffic_start_VM"); + maps\_anim::addnotetrack_customfunction("player_arms","left_hand_plant",::maps\lagos_code::notetrack_highway_jump_land,"bus_jump_vm_a"); + maps\_anim::addnotetrack_customfunction("player_arms","left_hand_plant",::maps\lagos_code::notetrack_highway_jump_land,"bus_jump_vm_b"); + maps\_anim::addnotetrack_customfunction("player_arms","left_hand_plant",::maps\lagos_code::notetrack_highway_jump_land,"bus_jump_vm_c"); +} + +//Function Number: 4 +notetracks_traffic_start_vm() +{ + maps\_anim::addnotetrack_customfunction("player_rig","foot_land_vfx",::maps\lagos_fx::guy_jump_landing_puff,"traffic_start_VM"); + maps\_anim::addnotetrack_customfunction("player_rig","start_slo_mo",::maps\lagos_qte::traverse_start_jump_start_slowmo,"traffic_start_VM"); + maps\_anim::addnotetrack_customfunction("player_rig","start_player_prompt",::maps\lagos_qte::traverse_start_jump_start_prompt,"traffic_start_VM"); + maps\_anim::addnotetrack_customfunction("player_rig","end_player_prompt",::maps\lagos_qte::traverse_start_jump_end_prompt,"traffic_start_VM"); + maps\_anim::addnotetrack_customfunction("player_rig","end_slo_mo",::maps\lagos_qte::traverse_start_jump_end_slowmo,"traffic_start_VM"); + maps\_anim::addnotetrack_customfunction("player_rig","player_looking_forward",::maps\lagos_qte::traverse_start_jump_player_looking,"traffic_start_VM"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_start_you_should_have_eyes",::maps\lagos_vo::traverse_start_you_should_have_eyes,"traffic_start_VM"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_start_i_see_it",::maps\lagos_vo::traverse_start_i_see_it,"traffic_start_VM"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_start_damn_no_clear_shot",::maps\lagos_vo::traverse_start_damn_no_clear_shot,"traffic_start_VM"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_start_fuck_it",::maps\lagos_vo::traverse_start_fuck_it,"traffic_start_VM"); +} + +//Function Number: 5 +notetracks_bus_jump() +{ + maps\_anim::addnotetrack_notify("player_arms","final_takedown_pt1_start","bus_jump_player_landed","bus_jump_vm_a"); + maps\_anim::addnotetrack_notify("player_arms","final_takedown_pt1_start","bus_jump_player_landed","bus_jump_vm_b"); + maps\_anim::addnotetrack_notify("player_arms","final_takedown_pt1_start","bus_jump_player_landed","bus_jump_vm_c"); + maps\_anim::addnotetrack_customfunction("player_arms","vm_exo_magnet_start",::maps\lagos_jump::notetrack_vm_exo_magnet_start,"bus_jump_vm_a"); + maps\_anim::addnotetrack_customfunction("player_arms","vm_exo_magnet_start",::maps\lagos_jump::notetrack_vm_exo_magnet_start,"bus_jump_vm_b"); + maps\_anim::addnotetrack_customfunction("player_arms","vm_exo_magnet_start",::maps\lagos_jump::notetrack_vm_exo_magnet_start,"bus_jump_vm_c"); + maps\_anim::addnotetrack_customfunction("player_arms","vm_exo_magnet_start",::maps\lagos_jump::notetrack_vm_exo_magnet_start,"bus_jump_vm_handplant"); + maps\_anim::addnotetrack_customfunction("player_arms","vm_exo_magnet_end",::maps\lagos_jump::notetrack_vm_exo_magnet_end,"bus_jump_vm_a"); + maps\_anim::addnotetrack_customfunction("player_arms","vm_exo_magnet_end",::maps\lagos_jump::notetrack_vm_exo_magnet_end,"bus_jump_vm_b"); + maps\_anim::addnotetrack_customfunction("player_arms","vm_exo_magnet_end",::maps\lagos_jump::notetrack_vm_exo_magnet_end,"bus_jump_vm_c"); + maps\_anim::addnotetrack_customfunction("player_arms","vm_exo_magnet_end",::maps\lagos_jump::notetrack_vm_exo_magnet_end,"bus_jump_vm_handplant"); +} + +//Function Number: 6 +notetracks_hostage_truck_takedown() +{ + maps\_anim::addnotetrack_customfunction("player_rig","vfx_vm_hand_sparks",::maps\lagos_fx::vm_hand_sparks,"hostage_truck_takedown_pt2"); + maps\_anim::addnotetrack_customfunction("player_rig","slomo_start",::maps\lagos_qte::hostage_truck_slomo_start_pt1,"hostage_truck_takedown_pt1"); + maps\_anim::addnotetrack_customfunction("player_rig","slomo_start",::maps\lagos_qte::hostage_truck_slomo_start_pt2,"hostage_truck_takedown_pt2"); + maps\_anim::addnotetrack_customfunction("player_rig","slomo_end",::maps\lagos_qte::hostage_truck_slomo_end_pt2,"hostage_truck_takedown_pt2"); + maps\_anim::addnotetrack_customfunction("player_rig","viewmodel_swap",::maps\lagos_qte::hostage_truck_viewmodel_swap,"hostage_truck_takedown_pt2"); +} + +//Function Number: 7 +notetracks_playerrig_truck_middle_takedown() +{ + maps\_anim::addnotetrack_customfunction("player_rig","vehicle_unlink",::maps\lagos_qte_middle::notetrack_unlink,"truck_middle_takedown_fail_pt1"); + maps\_anim::addnotetrack_customfunction("player_rig","vehicle_unlink",::maps\lagos_qte_middle::notetrack_unlink,"truck_middle_takedown_fail_pt2"); + maps\_anim::addnotetrack_customfunction("player_rig","vehicle_unlink",::maps\lagos_qte_middle::notetrack_unlink,"truck_middle_takedown_fail_pt3"); + maps\_anim::addnotetrack_customfunction("player_rig","vehicle_unlink",::maps\lagos_qte_middle::notetrack_unlink,"truck_middle_takedown_fail_pt4"); + maps\_anim::addnotetrack_customfunction("player_rig","vehicle_unlink",::maps\lagos_qte_middle::notetrack_unlink,"truck_middle_takedown_fail_pt5"); +} + +//Function Number: 8 +actor_anims() +{ + level.scr_anim["burke"]["flank_wall_climb"] = %lag_flank_wallpullup_exit_gideon; + level.scr_anim["generic"]["DRS_sprint"] = %sprint1_loop; + level.scr_anim["drone_intro"]["drop_bag"] = %lag_intro_drone_drop_weapon_bag_guy1; + level.scr_anim["drone_intro"]["run_into_room"] = %lag_intro_drone_run_into_room_guy2; + level.scr_anim["drone_intro"]["aim_turret"] = %lag_intro_drone_turret_aim_guy3; + level.scr_anim["drone_intro"]["aim_forward"] = %lag_intro_drone_aim_moveforward_guy4; + level.scr_anim["drone_intro"]["guy_5"] = %lag_intro_drone_guy5; + level.scr_anim["drone_intro"]["guy_6"] = %lag_intro_drone_guy6; + level.scr_anim["kva_hostage_leader"]["drone_opening"] = %lag_gov_hostage_room_flythrough_guy1; + level.scr_anim["kva_hostage_minister"]["drone_opening"] = %lag_gov_hostage_room_flythrough_guy2; + level.scr_anim["kva_hostage_victim"]["drone_opening"] = %lag_gov_hostage_room_flythrough_guy3; + level.scr_anim["kva_hostage_execution_1"]["drone_opening"] = %lag_gov_hostage_room_flythrough_hostage_01; + level.scr_anim["kva_hostage_execution_2"]["drone_opening"] = %lag_gov_hostage_room_flythrough_hostage_02; + level.scr_anim["kva_hostage_execution_3"]["drone_opening"] = %lag_gov_hostage_room_flythrough_hostage_03; + level.scr_anim["kva_hostage_beatup"]["drone_opening"] = %lag_gov_hostage_room_flythrough_hostage_05; + level.scr_anim["kva_pm_guard"]["drone_opening"] = %lag_gov_hostage_room_flythrough_kva_01; + level.scr_anim["kva_guard_beatup"]["drone_opening"] = %lag_gov_hostage_room_flythrough_kva_03; + level.scr_anim["kva_guard_corner"]["drone_opening"] = %lag_gov_hostage_room_flythrough_kva_04; + maps\_anim::addnotetrack_customfunction("kva_hostage_leader","muzzleflash_vfx",::maps\lagos_fx::drone_intro_execution_gun_flash); + level.scr_anim["ajani"]["squad_opening"] = %lag_intro_briefing_ajani; + level.scr_anim["burke"]["squad_opening"] = %lag_intro_briefing_burke; + level.scr_anim["joker"]["squad_opening"] = %lag_intro_briefing_joker; + level.scr_anim["burke"]["exo_climb_burke"] = %lag_gov_wallpullup_burke; + maps\_anim::addnotetrack_customfunction("burke","hand_plant_right",::maps\lagos_fx::burke_hand_plant_rt_wallclimb,"exo_climb_burke"); + maps\_anim::addnotetrack_customfunction("burke","hand_plant_left",::maps\lagos_fx::burke_hand_plant_lf_wallclimb,"exo_climb_burke"); + level.scr_anim["burke"]["exo_climb_approach"] = %lag_gov_wallapproach_guy_01; + level.scr_anim["burke"]["exo_climb_approach_idle"][0] = %lag_gov_wallapproach_idle_guy_01; + level.scr_anim["burke"]["exo_climb_approach_idle"][1] = %lag_gov_wallapproach_twitch_guy_01; + level.scr_anim["joker"]["exo_climb_joker"] = %lag_gov_wallpullup_joker; + level.scr_anim["ajani"]["exo_climb_ajani"] = %lag_gov_wallpullup_ajani; + level.scr_anim["road_block"]["patrol_walk"] = %patrol_bored_patrolwalk; + level.scr_anim["road_block"]["patrol_idle"] = %patrol_bored_idle; + level.scr_anim["generic"]["patrol_bored_idle"][0] = %patrol_bored_idle; + level.scr_anim["generic"]["casual_stand_idle"][0] = %casual_stand_idle; + level.scr_anim["generic"]["casual_killer_stand_idle"][0] = %casual_killer_stand_idle; + level.scr_anim["wounded_carrier"]["help_loop"][0] = %ny_manhattan_wounded_help_carrier; + level.scr_anim["prague_walk"]["prague_woundwalk"] = %prague_woundwalk_wounded; + level.scr_anim["prague_help"]["prague_woundwalk"] = %prague_woundwalk_helper; + level.scr_anim["prague_walk"]["prague_woundwalk_help"][0] = %prague_woundidle_wounded; + level.scr_anim["prague_help"]["prague_woundwalk_help"][0] = %prague_woundidle_helper; + level.scr_anim["gov_breach"]["gov_kva_reload"] = %coverstand_reloada; + level.scr_anim["generic"]["civilian_sitting_talking_A_2"][0] = %civilian_sitting_talking_a_2; + level.scr_anim["KvaLeader"]["sit_in_chair"][0] = %civilian_sitting_talking_a_2; + level.scr_anim["KvaLeader"]["check_watch"] = %london_civ_idle_checkwatch; + level.scr_anim["KvaLeader"]["stretch"] = %london_guard_twitch_stretch; + level.scr_anim["KvaLeader"]["civilian_smoking_A"][0] = %civilian_smoking_a; + level.scr_anim["KvaLeader"]["civilian_smoking_B"][0] = %civilian_smoking_b; + level.scr_anim["KvaLeader"]["civilian_hurried_walk"][0] = %civilian_walk_hurried_1; + level.scr_anim["KvaLeader"]["civilian_hurried_walk"][1] = %civilian_walk_hurried_2; + level.scr_anim["burke"]["roof_mute_breach_goto"] = %lag_roof_breach_guy1; + level.scr_anim["joker"]["roof_mute_breach_goto"] = %lag_roof_breach_guy2; + level.scr_anim["ajani"]["roof_mute_breach_goto"] = %lag_roof_breach_guy3; + level.scr_anim["burke"]["roof_mute_breach_idle"][0] = %lag_roof_breach_idle_guy1; + level.scr_anim["joker"]["roof_mute_breach_idle"][0] = %lag_roof_breach_idle_guy2; + level.scr_anim["ajani"]["roof_mute_breach_idle"][0] = %lag_roof_breach_idle_guy3; + level.scr_anim["burke"]["roof_mute_breach_plant"] = %lag_roof_breach_plant_guy1; + level.scr_anim["joker"]["roof_mute_breach_plant"] = %lag_roof_breach_plant_guy2; + level.scr_anim["ajani"]["roof_mute_breach_plant"] = %lag_roof_breach_plant_guy3; + level.scr_anim["burke"]["roof_mute_breach_jumpdown"] = %lag_roof_breach_jumpdown_guy1; + level.scr_anim["joker"]["roof_mute_breach_jumpdown"] = %lag_roof_breach_jumpdown_guy2; + level.scr_anim["ajani"]["roof_mute_breach_jumpdown"] = %lag_roof_breach_jumpdown_guy3; + level.scr_anim["front_kva_1"]["roof_breach_enemy_react"] = %lag_roof_breach_react_guy1; + level.scr_anim["front_kva_2"]["roof_breach_enemy_react"] = %lag_roof_breach_react_guy2; + level.scr_anim["front_kva_3"]["roof_breach_enemy_react"] = %lag_roof_breach_react_guy3; + level.scr_anim["front_kva_4"]["roof_breach_enemy_react"] = %lag_roof_breach_react_guy4; + level.scr_anim["front_kva_1"]["roof_breach_enemy_death"] = %lag_roof_breach_react_death_guy1; + level.scr_anim["front_kva_2"]["roof_breach_enemy_death"] = %lag_roof_breach_react_death_guy2; + level.scr_anim["front_kva_3"]["roof_breach_enemy_death"] = %lag_roof_breach_react_death_guy3; + level.scr_anim["front_kva_4"]["roof_breach_enemy_death"] = %lag_roof_breach_react_death_guy4; + level.scr_anim["burke"]["cqb_idle"][0] = %fusion_elevator_door_open_guy1_open_idle; + level.scr_anim["joker"]["cqb_idle"][0] = %cqb_stand_idle; + level.scr_anim["ajani"]["cqb_idle"][0] = %readystand_idle; + level.scr_anim["joker"]["h_breach"] = %lag_infiltration_plant_walldevice_guy1; + level.scr_anim["burke"]["h_breach_pt1"] = %lag_gov_hostage_room_breach_pt1_burke; + level.scr_anim["hostage_1"]["h_breach_pt1"] = %lag_gov_hostage_room_breach_pt1_guy1; + level.scr_anim["hostage_2"]["h_breach_pt1"] = %lag_gov_hostage_room_breach_pt1_guy2; + level.scr_anim["ajani"]["h_breach_pt1"] = %lag_gov_hostage_room_breach_pt1_guy3; + level.scr_anim["kva_1"]["h_breach_pt1"] = %lag_gov_hostage_room_breach_pt1_guy4; + level.scr_anim["kva_2"]["h_breach_pt1"] = %lag_gov_hostage_room_breach_pt1_guy5; + level.scr_anim["kva_3"]["h_breach_pt1"] = %lag_gov_hostage_room_breach_pt1_guy6; + level.scr_anim["hostage_3"]["h_breach_pt1"] = %lag_gov_hostage_room_breach_pt1_guy7; + level.scr_anim["hostage_4"]["h_breach_pt1"] = %lag_gov_hostage_room_breach_pt1_guy8; + level.scr_anim["hostage_5"]["h_breach_pt1"] = %lag_gov_hostage_room_breach_pt1_guy9; + level.scr_anim["hostage_6"]["h_breach_pt1"] = %lag_gov_hostage_room_breach_pt1_guy10; + level.scr_anim["kva_4"]["h_breach_pt1"] = %lag_gov_hostage_room_breach_pt1_guy11; + level.scr_anim["ajani"]["h_breach_pre_idle"][0] = %lag_gov_hostage_room_breach_trans_idle_guy3; + level.scr_anim["burke"]["h_breach_idle"][0] = %lag_gov_hostage_room_breach_idle_burke; + level.scr_anim["hostage_1"]["h_breach_idle"][0] = %lag_gov_hostage_room_breach_pt2_guy1; + level.scr_anim["hostage_2"]["h_breach_idle"][0] = %lag_gov_hostage_room_breach_idle_guy2; + level.scr_anim["ajani"]["h_breach_idle"][0] = %lag_gov_hostage_room_breach_idle_guy3; + level.scr_anim["kva_1"]["h_breach_idle"][0] = %lag_gov_hostage_room_breach_pt2_guy4; + level.scr_anim["kva_2"]["h_breach_idle"][0] = %lag_gov_hostage_room_breach_pt2_guy5; + level.scr_anim["kva_3"]["h_breach_idle"][0] = %lag_gov_hostage_room_breach_pt2_guy6; + level.scr_anim["hostage_3"]["h_breach_idle"][0] = %lag_gov_hostage_room_breach_pt2_guy7; + level.scr_anim["hostage_4"]["h_breach_idle"][0] = %lag_gov_hostage_room_breach_pt2_guy8; + level.scr_anim["hostage_5"]["h_breach_idle"][0] = %lag_gov_hostage_room_breach_pt2_guy9; + level.scr_anim["hostage_6"]["h_breach_idle"][0] = %lag_gov_hostage_room_breach_pt2_guy10; + level.scr_anim["kva_4"]["h_breach_idle"][0] = %lag_gov_hostage_room_breach_pt2_guy11; + level.scr_anim["burke"]["h_breach_pt2"] = %lag_gov_hostage_room_breach_pt2_burke; + level.scr_anim["hostage_1"]["h_breach_pt2"] = %lag_gov_hostage_room_breach_pt2_guy1; + level.scr_anim["hostage_2"]["h_breach_pt2"] = %lag_gov_hostage_room_breach_pt2_guy2; + level.scr_anim["ajani"]["h_breach_pt2"] = %lag_gov_hostage_room_breach_pt2_guy3; + level.scr_anim["kva_1"]["h_breach_pt2"] = %lag_gov_hostage_room_breach_pt2_guy4; + level.scr_anim["kva_2"]["h_breach_pt2"] = %lag_gov_hostage_room_breach_pt2_guy5; + level.scr_anim["kva_3"]["h_breach_pt2"] = %lag_gov_hostage_room_breach_pt2_guy6; + level.scr_anim["hostage_3"]["h_breach_pt2"] = %lag_gov_hostage_room_breach_pt2_guy7; + level.scr_anim["hostage_4"]["h_breach_pt2"] = %lag_gov_hostage_room_breach_pt2_guy8; + level.scr_anim["hostage_5"]["h_breach_pt2"] = %lag_gov_hostage_room_breach_pt2_guy9; + level.scr_anim["hostage_6"]["h_breach_pt2"] = %lag_gov_hostage_room_breach_pt2_guy10; + level.scr_anim["kva_4"]["h_breach_pt2"] = %lag_gov_hostage_room_breach_pt2_guy11; + level.scr_anim["hostage_1"]["h_breach_post"][0] = %lag_gov_hostage_room_breach_pt2_guy1; + level.scr_anim["hostage_2"]["h_breach_post"][0] = %lag_gov_hostage_room_breach_pt2_idle_guy2; + level.scr_anim["kva_1"]["h_breach_post"][0] = %lag_gov_hostage_room_breach_pt2_guy4; + level.scr_anim["kva_2"]["h_breach_post"][0] = %lag_gov_hostage_room_breach_pt2_guy5; + level.scr_anim["kva_3"]["h_breach_post"][0] = %lag_gov_hostage_room_breach_pt2_guy6; + level.scr_anim["hostage_3"]["h_breach_post"][0] = %lag_gov_hostage_room_breach_pt2_idle_guy7; + level.scr_anim["hostage_4"]["h_breach_post"][0] = %lag_gov_hostage_room_breach_pt2_idle_guy8; + level.scr_anim["hostage_5"]["h_breach_post"][0] = %lag_gov_hostage_room_breach_pt2_idle_guy9; + level.scr_anim["hostage_6"]["h_breach_post"][0] = %lag_gov_hostage_room_breach_pt2_idle_guy10; + level.scr_anim["kva_4"]["h_breach_post"][0] = %lag_gov_hostage_room_breach_pt2_guy11; + level.scr_anim["joker"]["h_breach_exit_door_start"] = %lag_gov_hostage_room_breach_pt1_joker; + level.scr_anim["joker"]["h_breach_exit_door_idle"][0] = %lag_gov_hostage_room_breach_idle_joker; + level.scr_anim["joker"]["h_breach_exit_door_open"] = %lag_gov_hostage_room_breach_pt2_joker; + level.scr_anim["generic"]["bike_rider"] = %favela_bicycle_rider; + level.scr_anim["KVA_rappel_right"]["rb_rappel_right"] = %lag_bridge_rappel_ls; + level.scr_anim["KVA_rappel_left"]["rb_rappel_left"] = %lag_bridge_rappel_rs; + level.scr_anim["burke"]["oncoming_gate_idle"][0] = %breach_kick_stackl1_idle; + level.scr_anim["burke"]["oncoming_gate_open"] = %lag_gate_smashcontrol_open_gate_guy1; + level.scr_anim["joker"]["oncoming_gate_open"] = %lag_gate_smashcontrol_open_gate_guy1; + level.scr_anim["burke"]["oncoming_alley_seq_enter"] = %lag_burke_skidforward_turnright; + level.scr_anim["guy1"]["oncoming_alley_seq_enter"] = %lag_oncoming_alley_turret_guy1; + level.scr_anim["guy1"]["oncoming_alley_seq_straight"] = %lag_oncoming_alley_turret_guy1_straight; + maps\_anim::addnotetrack_customfunction("burke","vfx_gideon_slide",::maps\lagos_fx::gideon_slide_dust); + level.scr_anim["burke"]["burke_flank_kick_start"] = %lag_flank_kick_door_burke; + level.scr_anim["burke"]["burke_flank_kick_loop"][0] = %lag_flank_kick_door_loop_burke; + level.scr_anim["burke"]["burke_flank_kick_exit"] = %lag_flank_kick_door_out_burke; + level.scr_anim["civ_flank"]["burke_flank_kick_civ_react"] = %lag_flank_kick_door_take_cover_burke; + level.scr_anim["civ_flank"]["burke_flank_kick_civ_idle"][0] = %lag_flank_kick_door_take_cover_burke_cover_idle; + level.scr_anim["burke"]["burke_traffic_start_idle"][0] = %lag_pullbackfence_jump_burke_idle; + level.scr_anim["burke"]["burke_traffic_start_pt1"] = %lag_pullbackfence_jump_burke_pt1; + level.scr_anim["burke"]["burke_traffic_start_pt2"] = %lag_pullbackfence_jump_burke_pt2; + level.scr_anim["burke"]["burke_traffic_start_idle"][1] = %lag_pullbackfence_jump_burke_twitch; + level.scr_anim["burke"]["lag_truck_takedown_pt1_into"] = %lag_truck_takedown_pt1_into_burke; + level.scr_anim["burke"]["lag_truck_takedown_pt1_burke_loop"][0] = %lag_truck_takedown_pt1_burke_loop; + level.scr_anim["burke"]["hostage_truck_takedown_pt1"] = %lag_truck_takedown_pt1_burke; + level.scr_anim["KVA_1"]["hostage_truck_takedown_pt1"] = %lag_truck_takedown_pt1_guy1; + level.scr_anim["KVA_2"]["hostage_truck_takedown_pt1"] = %lag_truck_takedown_pt1_guy2; + level.scr_anim["burke"]["hostage_truck_takedown_pt2"] = %lag_truck_takedown_pt2_burke; + level.scr_anim["KVA_1"]["hostage_truck_takedown_pt2"] = %lag_truck_takedown_pt2_guy1; + level.scr_anim["KVA_2"]["hostage_truck_takedown_pt2"] = %lag_truck_takedown_pt2_guy2; + level.scr_anim["burke"]["hostage_truck_takedown_pt3"] = %lag_truck_takedown_pt3_burke; + level.scr_anim["KVA_1"]["hostage_truck_takedown_pt3"] = %lag_truck_takedown_pt3_guy1; + level.scr_anim["KVA_2"]["hostage_truck_takedown_pt3"] = %lag_truck_takedown_pt3_guy2; + level.scr_anim["burke"]["hostage_truck_takedown_pt4_into"] = %lag_truck_takedown_pt4_into_burke; + level.scr_anim["hostage_1"]["hostage_truck_takedown_pt4_into"] = %lag_truck_takedown_pt4_into_guy4; + level.scr_anim["hostage_2"]["hostage_truck_takedown_pt4_into"] = %lag_truck_takedown_pt4_into_guy5; + level.scr_anim["hostage_3"]["hostage_truck_takedown_pt4_into"] = %lag_truck_takedown_pt4_into_guy6; + level.scr_anim["burke"]["hostage_truck_takedown_pt4"] = %lag_truck_takedown_pt4_burke; + level.scr_anim["hostage_1"]["hostage_truck_takedown_pt4"] = %lag_truck_takedown_pt4_guy4; + level.scr_anim["hostage_2"]["hostage_truck_takedown_pt4"] = %lag_truck_takedown_pt4_guy5; + level.scr_anim["hostage_3"]["hostage_truck_takedown_pt4"] = %lag_truck_takedown_pt4_guy6; + maps\_anim::addnotetrack_customfunction("hostage_3","vfx_ai_dead_bubble_trails",::maps\lagos_fx::hostage_drowned_bubble_trails,"hostage_truck_takedown_pt4"); + maps\_anim::addnotetrack_customfunction("burke","vfx_gideon_bubble_trails",::maps\lagos_fx::gideon_bubble_trails,"hostage_truck_takedown_pt4"); + maps\_anim::addnotetrack_customfunction("hostage_1","vfx_ai_rescued_bubble_trails",::maps\lagos_fx::hostage_rescued_bubble_trails,"hostage_truck_takedown_pt4"); + maps\_anim::addnotetrack_customfunction("burke","vfx_guideon_swim_stroke_up",::maps\lagos_fx::gideon_swim_stroke_up,"hostage_truck_takedown_pt4"); + level.scr_anim["KVA_1"]["hostage_truck_takedown_fail_pt2"] = %lag_truck_takedown_fail_pt2_guy1; + level.scr_anim["KVA_2"]["hostage_truck_takedown_fail_pt2"] = %lag_truck_takedown_fail_pt2_guy2; + level.scr_anim["KVA_1"]["hostage_truck_takedown_death"] = %lag_truck_takedown_death_guy1; + level.scr_anim["KVA_2"]["hostage_truck_takedown_death"] = %lag_truck_takedown_death_guy2; + level.scr_goaltime["KVA_1"]["hostage_truck_takedown_death"] = 0.05; + level.scr_goaltime["KVA_2"]["hostage_truck_takedown_death"] = 0.05; + level.scr_anim["burke"]["hostage_truck_takedown_pt5"] = %lag_truck_takedown_pt5_burke; + level.scr_anim["hostage_1"]["hostage_truck_takedown_pt5"] = %lag_truck_takedown_pt5_guy1; + level.scr_anim["joker"]["hostage_truck_takedown_pt5"] = %lag_truck_takedown_pt5_guy3; + level.scr_anim["ajani"]["hostage_truck_takedown_pt5"] = %lag_truck_takedown_pt5_ajani; + level.scr_anim["KVA_0"]["truck_middle_takedown_pt1"] = %lag_truck_middle_takedown_pt1_guy; + level.scr_anim["KVA_1"]["truck_middle_takedown_pt1"] = %lag_truck_middle_takedown_pt1_guy1; + level.scr_anim["KVA_3"]["truck_middle_takedown_pt1"] = %lag_truck_middle_takedown_pt1_guy3; + level.scr_anim["KVA_0"]["truck_middle_takedown_pt2"] = %lag_truck_middle_takedown_pt2_guy; + level.scr_anim["KVA_1"]["truck_middle_takedown_pt2"] = %lag_truck_middle_takedown_pt2_guy1; + level.scr_anim["KVA_3"]["truck_middle_takedown_pt2"] = %lag_truck_middle_takedown_pt2_guy3; + level.scr_anim["KVA_0"]["truck_middle_takedown_pt3"] = %lag_truck_middle_takedown_pt3_guy; + level.scr_anim["KVA_1"]["truck_middle_takedown_pt3"] = %lag_truck_middle_takedown_pt3_guy1; + level.scr_anim["KVA_3"]["truck_middle_takedown_pt3"] = %lag_truck_middle_takedown_pt3_guy3; + level.scr_anim["KVA_0"]["truck_middle_takedown_pt4"] = %lag_truck_middle_takedown_pt4_guy; + level.scr_anim["KVA_1"]["truck_middle_takedown_pt4"] = %lag_truck_middle_takedown_pt4_guy1; + level.scr_anim["KVA_3"]["truck_middle_takedown_pt4"] = %lag_truck_middle_takedown_pt4_guy3; + level.scr_anim["KVA_0"]["truck_middle_takedown_pt5"] = %lag_truck_middle_takedown_pt5_guy; + level.scr_anim["KVA_1"]["truck_middle_takedown_pt5"] = %lag_truck_middle_takedown_pt5_guy1; + level.scr_anim["KVA_3"]["truck_middle_takedown_pt5"] = %lag_truck_middle_takedown_pt5_guy3; + level.scr_anim["KVA_1"]["truck_middle_takedown_death_guy1"] = %lag_truck_middle_takedown_death_guy1; + level.scr_anim["KVA_3"]["truck_middle_takedown_death_guy3"] = %lag_truck_middle_takedown_death_guy3; + notetracks_truck_middle_takedown_pt4(); +} + +//Function Number: 9 +notetracks_truck_middle_takedown_pt4() +{ + maps\_anim::addnotetrack_customfunction("KVA_0","vfx_kva_driver_pole_impact",::maps\lagos_fx::kva_death_impact_post,"truck_middle_takedown_pt4"); + maps\_anim::addnotetrack_customfunction("KVA_3","start_ragdoll",::maps\lagos_qte_middle::notetrack_unlink_and_start_ragdoll,"truck_middle_takedown_death_guy3"); +} + +//Function Number: 10 +vehicle_anims() +{ + level.scr_animtree["squad_opening_warbird"] = #animtree; + level.scr_animtree["hostage_truck"] = #animtree; + level.scr_animtree["oncoming_truck"] = #animtree; + level.scr_animtree["oncoming_truck_prop"] = #animtree; + level.scr_model["oncoming_truck_prop"] = "vehicle_civ_full_size_technical"; + level.scr_animtree["final_bus"] = "animtree"; + level.scr_anim["squad_opening_warbird"]["squad_opening"] = %lag_intro_briefing_warbird; + level.scr_anim["oncoming_truck"]["oncoming_alley_seq_enter"] = %lag_oncoming_alley_truck_enter; + level.scr_anim["oncoming_truck"]["oncoming_alley_seq_turn"] = %lag_oncoming_alley_truck_turn; + level.scr_anim["oncoming_truck"]["oncoming_alley_seq_straight"] = %lag_oncoming_alley_truck_straight; + level.scr_anim["oncoming_truck_prop"]["oncoming_alley_seq_enter"] = %lag_oncoming_alley_truck_enter; + level.scr_anim["oncoming_truck_prop"]["oncoming_alley_seq_turn"] = %lag_oncoming_alley_truck_turn; + level.scr_anim["oncoming_truck_prop"]["oncoming_alley_seq_straight"] = %lag_oncoming_alley_truck_straight; + level.scr_animtree["oncoming_truck_turret"] = #animtree; + level.scr_model["oncoming_truck_turret"] = "vehicle_civ_full_size_technical_turret"; + level.scr_anim["oncoming_truck_turret"]["oncoming_alley_seq_enter"] = %lag_oncoming_alley_technical_turret; + level.scr_anim["oncoming_truck_turret"]["oncoming_alley_seq_straight"] = %lag_oncoming_alley_technical_turret_straight; + maps\_anim::addnotetrack_customfunction("oncoming_truck","vfx_truck_dust_trail",::maps\lagos_fx::truck_dust_trail); + maps\_anim::addnotetrack_customfunction("oncoming_truck","vfx_truck_treadfx_wheels",::maps\lagos_fx::truck_treadfx_wheels); + maps\_anim::addnotetrack_customfunction("oncoming_truck","vfx_truck_treadfx_skid",::maps\lagos_fx::truck_treadfx_skid); + maps\_anim::addnotetrack_customfunction("oncoming_truck","vfx_truck_treadfx_reverse",::maps\lagos_fx::truck_treadfx_turn,"oncoming_alley_seq_turn"); + level.scr_model["hostage_truck"] = "vehicle_civ_boxtruck_highres_ai"; + level.scr_anim["final_bus"]["hostage_truck_takedown_pt1"] = %lag_truck_takedown_pt1_bus; + level.scr_anim["hostage_truck"]["lag_truck_takedown_pt1_into"] = %lag_truck_takedown_pt1_into_truck; + level.scr_anim["oncoming_truck"]["hostage_truck_takedown_pt3"] = %lag_truck_takedown_pt3_truck2; + level.scr_anim["hostage_truck"]["hostage_truck_takedown_pt1"] = %lag_truck_takedown_pt1_truck; + level.scr_anim["hostage_truck"]["hostage_truck_takedown_pt2"] = %lag_truck_takedown_pt2_truck; + level.scr_anim["hostage_truck"]["hostage_truck_takedown_pt3"] = %lag_truck_takedown_pt3_truck; + maps\_anim::addnotetrack_notify("hostage_truck","pt1_fail","hostage_truck_takedown_pt1_fail","hostage_truck_takedown_pt1"); + maps\_anim::addnotetrack_customfunction("hostage_truck","vfx_truck_mirror_snap",::maps\lagos_fx::truck_rearview_mirror_snap,"hostage_truck_takedown_pt2"); + maps\_anim::addnotetrack_customfunction("hostage_truck","vfx_truck_suv_collision",::maps\lagos_fx::truck_headon_collision,"hostage_truck_takedown_pt3"); + maps\_anim::addnotetrack_customfunction("hostage_truck","vfx_truck_rail_impact",::maps\lagos_fx::truck_rail_impact,"hostage_truck_takedown_pt3"); + maps\_anim::addnotetrack_customfunction("hostage_truck","vfx_truck_water_impact",::maps\lagos_fx::truck_water_impact,"hostage_truck_takedown_pt3"); + maps\_anim::addnotetrack_customfunction("hostage_truck","vfx_truck_mirror_snap",::maps\lagos_code::notetrack_highway_final_td_mirror_snap_and_drag,"hostage_truck_takedown_pt2"); + maps\_anim::addnotetrack_customfunction("hostage_truck","vfx_truck_suv_collision",::maps\lagos_code::notetrack_highway_final_td_suv_collision,"hostage_truck_takedown_pt3"); + maps\_anim::addnotetrack_customfunction("hostage_truck","vfx_truck_rail_impact",::maps\lagos_code::notetrack_highway_final_td_truck_rail_impact,"hostage_truck_takedown_pt3"); + maps\_anim::addnotetrack_customfunction("hostage_truck","vfx_truck_water_impact",::maps\lagos_code::notetrack_highway_final_td_truck_water_impact,"hostage_truck_takedown_pt3"); + level.scr_anim["hostage_truck"]["hostage_truck_takedown_pt4_into"] = %lag_truck_takedown_pt4_into_truck; + level.scr_anim["hostage_truck"]["hostage_truck_takedown_pt4"] = %lag_truck_takedown_pt4_truck; + level.scr_anim["hostage_truck"]["hostage_truck_takedown_fail_pt2"] = %lag_truck_takedown_fail_pt2_truck; + maps\_anim::addnotetrack_customfunction("hostage_truck","vfx_truck_latch_open",::maps\lagos_fx::truck_latch_open_trail,"hostage_truck_takedown_pt4"); + maps\_anim::addnotetrack_customfunction("hostage_truck","vfx_truck_open_cargo_door",::maps\lagos_fx::truck_cargo_door_open,"hostage_truck_takedown_pt4"); + level.scr_anim["player_bus"]["truck_middle_takedown_pt1"] = %lag_truck_middle_takedown_pt1_bus; + level.scr_anim["player_bus"]["truck_middle_takedown_pt2"] = %lag_truck_middle_takedown_pt2_bus; + level.scr_anim["player_bus"]["truck_middle_takedown_pt3"] = %lag_truck_middle_takedown_pt3_bus; + level.scr_anim["player_bus"]["truck_middle_takedown_pt4"] = %lag_truck_middle_takedown_pt4_bus; + level.scr_anim["player_bus"]["truck_middle_takedown_pt5"] = %lag_truck_middle_takedown_pt5_bus; + level.scr_anim["hit_kva_bus"]["truck_middle_takedown_pt5"] = %lag_truck_middle_takedown_pt5_bus2; + maps\_anim::addnotetrack_customfunction("player_bus","viewmodel_swap",::maps\lagos_qte::hostage_truck_viewmodel_swap,"truck_middle_takedown_pt1"); + maps\_anim::addnotetrack_customfunction("player_bus","viewmodel_swap",::maps\lagos_qte::hostage_truck_viewmodel_swap,"truck_middle_takedown_pt2"); + maps\_anim::addnotetrack_customfunction("player_bus","qte_prompt",::maps\lagos_qte_middle::notify_qte_prompt_and_slowmo,"truck_middle_takedown_pt1"); + maps\_anim::addnotetrack_customfunction("player_bus","qte_prompt",::maps\lagos_qte_middle::notify_qte_prompt_and_slowmo,"truck_middle_takedown_pt2"); + maps\_anim::addnotetrack_customfunction("player_bus","qte_prompt",::maps\lagos_qte_middle::notify_qte_prompt_and_slowmo,"truck_middle_takedown_pt3"); + maps\_anim::addnotetrack_customfunction("player_bus","qte_prompt",::maps\lagos_qte_middle::notify_qte_prompt_and_slowmo,"truck_middle_takedown_pt4"); + level.scr_anim["kva_truck"]["truck_middle_takedown_pt1"] = %lag_truck_middle_takedown_pt1_truck; + level.scr_anim["kva_truck"]["truck_middle_takedown_pt2"] = %lag_truck_middle_takedown_pt2_truck; + level.scr_anim["kva_truck"]["truck_middle_takedown_pt3"] = %lag_truck_middle_takedown_pt3_truck; + level.scr_anim["kva_truck"]["truck_middle_takedown_pt4"] = %lag_truck_middle_takedown_pt4_truck; + level.scr_anim["kva_truck"]["truck_middle_takedown_pt5"] = %lag_truck_middle_takedown_pt5_truck; + notetracks_truck_middle_takedown_kva_truck(); + level.scr_anim["car_hood"]["car_drive_hood_stop"] = %lag_roundabout_out_of_car_vehicle; + level.scr_anim["compact"]["open_door_right"] = %civ_domestic_compact_open_door_right; + level.scr_anim["truck"]["open_door_both"] = %civ_domestic_truck_open_door_both; + level.scr_anim["truck"]["open_door_left"] = %civ_domestic_truck_open_door_left; + level.scr_anim["truck"]["open_door_right"] = %civ_domestic_truck_open_door_right; + level.scr_anim["sedan"]["open_door_both"] = %civ_domestic_sedan_doors_open_fl_fr; + level.scr_anim["sedan"]["open_door_left"] = %civ_domestic_sedan_doors_open_fl; + level.scr_anim["sedan"]["open_door_right"] = %civ_domestic_sedan_doors_open_fr; + level.scr_anim["sedan"]["get_out_01"] = %sf_a_civillian_civ_sedan_veh_03; + level.scr_anim["sedan"]["get_out_02"] = %sf_a_civillian_civ_sedan_veh_04; + level.scr_anim["sedan"]["get_out_03"] = %sf_a_civillian_civ_sedan_veh_06; + level.scr_anim["compact"]["get_out_01"] = %sf_a_civillian_compactcar_veh_03; + level.scr_anim["compact"]["get_out_02"] = %sf_a_civillian_compactcar_veh_04; + level.scr_anim["compact"]["get_out_03"] = %sf_a_civillian_compactcar_veh_06; + level.scr_anim["truck"]["get_out_01"] = %sf_a_civillian_civ_truck_veh_03; + level.scr_anim["truck"]["get_out_02"] = %sf_a_civillian_civ_truck_veh_04; + level.scr_anim["truck"]["get_out_03"] = %sf_a_civillian_civ_truck_veh_06; + level.scr_anim["hostage_truck_fence"]["hostage_truck_pass_fence"] = %lag_pullbackfence_jump_boxtruck_pt1; + level.scr_anim["highway_bus_1"]["highway_bus_1_pass_fence"] = %lag_pullbackfence_jump_bus_pt1; +} + +//Function Number: 11 +notetracks_truck_middle_takedown_kva_truck() +{ + maps\_anim::addnotetrack_customfunction("kva_truck","vfx_kva_skid_ram",::maps\lagos_fx::kva_pickup_wheel_skid_ram,"truck_middle_takedown_pt1"); + maps\_anim::addnotetrack_customfunction("kva_truck","vfx_kva_pickup_hit_bus",::maps\lagos_fx::kva_pickup_hit_bus,"truck_middle_takedown_pt2"); + maps\_anim::addnotetrack_customfunction("kva_truck","vfx_player_land_on_hood",::maps\lagos_fx::player_land_on_hood,"truck_middle_takedown_pt3"); + maps\_anim::addnotetrack_customfunction("kva_truck","vfx_kva_pickup_windshield_hit",::maps\lagos_fx::kva_pickup_hit_windshield,"truck_middle_takedown_pt4"); + maps\_anim::addnotetrack_customfunction("kva_truck","vfx_kva_pickup_divider_hit",::maps\lagos_fx::kva_pickup_hit_divider_01,"truck_middle_takedown_pt4"); + maps\_anim::addnotetrack_customfunction("kva_truck","vfx_kva_pickup_hit_roll",::maps\lagos_fx::kva_pickup_hit_divider_03,"truck_middle_takedown_pt5"); + maps\_anim::addnotetrack_customfunction("kva_truck","vfx_kva_pickup_barrier_flip",::maps\lagos_fx::kva_pickup_flip_and_skid,"truck_middle_takedown_pt5"); +} + +//Function Number: 12 +model_anims() +{ + level.scr_animtree["drone_photo"] = #animtree; + level.scr_model["drone_photo"] = "genericProp"; + level.scr_anim["drone_photo"]["drone_opening"] = %lag_gov_hostage_room_flythrough_photo; + level.scr_animtree["intro_duffle"] = #animtree; + level.scr_model["intro_duffle"] = "bag_rifle_01_rig"; + level.scr_anim["intro_duffle"]["drop_bag"] = %lag_intro_drone_drop_weapon_bag; + level.scr_animtree["pm_cuffs"] = #animtree; + level.scr_model["pm_cuffs"] = "s1_handcuffs"; + level.scr_anim["pm_cuffs"]["drone_opening"] = %lag_gov_hostage_room_flythrough_handcuffs; + level.scr_anim["pm_cuffs"]["h_breach_pt1"] = %lag_gov_hostage_room_breach_handcuffs_pt1; + level.scr_anim["pm_cuffs"]["h_breach_idle"][0] = %lag_gov_hostage_room_breach_handcuffs_idle_pt1; + level.scr_anim["pm_cuffs"]["h_breach_pt2"] = %lag_gov_hostage_room_breach_handcuffs_pt2; + maps\_anim::addnotetrack_customfunction("pm_cuffs","handcuff_break",::maps\lagos_fx::handcuff_break_fx,"h_breach_pt2"); + level.scr_animtree["vic_cuffs"] = #animtree; + level.scr_model["vic_cuffs"] = "s1_handcuffs"; + level.scr_anim["vic_cuffs"]["drone_opening"] = %lag_gov_hostage_room_flythrough_handcuffs_02; + level.scr_anim["vic_cuffs"]["h_breach_pt1"] = %lag_gov_hostage_room_breach_pt1_guy1_handcuffs; + level.scr_anim["vic_cuffs"]["h_breach_pt2"] = %lag_gov_hostage_room_breach_pt2_guy1_handcuffs; + level.scr_animtree["gov_exit_door"] = #animtree; + level.scr_model["gov_exit_door"] = "det_hospital_door_02"; + level.scr_anim["gov_exit_door"]["h_breach_exit_door_open"] = %lag_gov_hostage_room_breach_pt2_door; + level.scr_animtree["rooftop_breach_device"] = #animtree; + level.scr_model["rooftop_breach_device"] = "lag_roof_breach_device"; + level.scr_anim["rooftop_breach_device"]["squad_opening"] = %lag_intro_briefing_breach_device; + level.scr_animtree["lag_intro_prop1"] = #animtree; + level.scr_model["lag_intro_prop1"] = "npc_frag_grenade"; + level.scr_anim["lag_intro_prop1"]["squad_opening"] = %lag_intro_briefing_prop_01; + level.scr_animtree["lag_intro_prop2"] = #animtree; + level.scr_model["lag_intro_prop2"] = "npc_frag_grenade"; + level.scr_anim["lag_intro_prop2"]["squad_opening"] = %lag_intro_briefing_prop_02; + level.scr_animtree["intro_tram1"] = #animtree; + level.scr_model["intro_tram1"] = "vehicle_civ_monorail_hanging_clr01_ai"; + level.scr_anim["intro_tram1"]["tram1_flythrough"] = %lag_gov_hostage_room_flythrough_monorail; + level.scr_anim["intro_tram1"]["tram1_movement"] = %lag_monorail_a; + level.scr_anim["intro_tram1"]["tram2_movement"] = %lag_monorail_b; + level.scr_anim["intro_tram1"]["tram3_movement"] = %lag_monorail_c_stop; + level.scr_animtree["exo_door_model"] = #animtree; + level.scr_anim["exo_door_model"]["exo_door"] = %lag_exo_door_takedown_door; + maps\_anim::addnotetrack_customfunction("exo_door_model","vfx_exo_door_kick",::maps\lagos_fx::exo_door_kick,"exo_door"); + maps\_anim::addnotetrack_customfunction("exo_door_model","vfx_exo_door_break",::maps\lagos_fx::exo_door_break,"exo_door"); + level.scr_animtree["lobby_elevator_right"] = #animtree; + level.scr_model["lobby_elevator_right"] = "genericProp"; + level.scr_animtree["lobby_elevator_left"] = #animtree; + level.scr_model["lobby_elevator_left"] = "genericProp"; + level.scr_animtree["lobby_tablet"] = #animtree; + level.scr_model["lobby_tablet"] = "npc_exo_launch_pad"; + level.scr_anim["lobby_tablet"]["lobby_tablet_loop"][0] = %lag_lobby_sitting_loop_pad; + level.scr_anim["lobby_tablet"]["lobby_tablet_react_short"] = %lag_lobby_sitting_react_pad_short; + level.scr_anim["lobby_tablet"]["lobby_tablet_react"] = %lag_lobby_sitting_react_pad; + level.scr_animtree["bike"] = #animtree; + level.scr_anim["bike"]["pedal"] = %favela_bicycle; + level.scr_anim["bike"]["drop_bike_loop"][0] = %lag_roundabout_bicycle_loop; + level.scr_anim["bike"]["drop_bike_react"] = %lag_roundabout_bicycle; + level.scr_animtree["oncoming_gate"] = #animtree; + level.scr_model["oncoming_gate"] = "lag_sliding_gate_rig"; + level.scr_anim["oncoming_gate"]["oncoming_gate_open"] = %lag_gate_smashcontrol_open_gate; + maps\_anim::addnotetrack_customfunction("oncoming_gate","vfx_kick_gate_controlbox",::maps\lagos_fx::gate_controlbox_broken_fx); + level.scr_animtree["mute_breach_device"] = #animtree; + level.scr_model["mute_breach_device"] = "muteCharge"; + level.scr_anim["mute_breach_device"]["roof_mute_breach_plant"] = %lag_roof_breach_mutecharge; + maps\_anim::addnotetrack_customfunction("mute_breach_device","vfx_mute_device_plant",::maps\lagos_fx::mute_device_plant_fx); + level.scr_animtree["roof_breach_device"] = #animtree; + level.scr_model["roof_breach_device"] = "lag_roof_breach_device"; + level.scr_anim["roof_breach_device"]["roof_mute_breach_plant"] = %lag_roof_breach_plant_device; + maps\_anim::addnotetrack_customfunction("roof_breach_device","vfx_breach_device_place",::maps\lagos_fx::roof_breach_device_plant_dust); + maps\_anim::addnotetrack_customfunction("roof_breach_device","vfx_breach_device_mark",::maps\lagos_fx::roof_breach_device_area_mark); + maps\_anim::addnotetrack_customfunction("roof_breach_device","vfx_breach_device_charges_plant",::maps\lagos_fx::roof_breach_device_plant_mini_charges); + maps\_anim::addnotetrack_customfunction("roof_breach_device","vfx_breach_device_radial_blast",::maps\lagos_fx::roof_breach_device_radial_sml_explosions); + maps\_anim::addnotetrack_customfunction("roof_breach_device","vfx_breach_device_explosion",::maps\lagos_fx::roof_breach_device_explosion); + maps\_anim::addnotetrack_customfunction("roof_breach_device","roof_breach_device_start",::maps\lagos_code::notetrack_swap_roof_brush); + level.scr_animtree["rooftop_chunks"] = #animtree; + level.scr_model["rooftop_chunks"] = "lag_govt_roof_chunk"; + level.scr_anim["rooftop_chunks"]["roof_mute_breach_plant"] = %lag_roof_breach_jumpdown_rooftop_chunks; + maps\_anim::addnotetrack_customfunction("rooftop_chunks","vfx_roof_chunks_bursts",::maps\lagos_fx::roof_breach_chunks_bursts); + level.scr_animtree["h_breach_device"] = #animtree; + level.scr_model["h_breach_device"] = "lag_harmonic_breach_device"; + level.scr_anim["h_breach_device"]["h_breach"] = %lag_infiltration_plant_walldevice; + level.scr_animtree["h_breach_doors"] = #animtree; + level.scr_model["h_breach_doors"] = "door_double_govt_01_rigged"; + level.scr_anim["h_breach_doors"]["h_breach_pt1"] = %lag_gov_hostage_room_breach_door; + level.scr_animtree["rappel_roundabout"] = #animtree; + level.scr_anim["rappel_roundabout"]["start_rope_right"] = %lag_bridge_rappel_start_rope_rs; + level.scr_anim["rappel_roundabout"]["start_rope_left"] = %lag_bridge_rappel_start_rope_ls; + level.scr_anim["rappel_roundabout"]["rope_right"] = %lag_bridge_rappel_rope_ls; + level.scr_anim["rappel_roundabout"]["rope_left"] = %lag_bridge_rappel_rope_rs; + level.scr_animtree["highway_fence"] = #animtree; + level.scr_anim["highway_fence"]["highway_fence_pull_back"] = %lag_pullbackfence_jump_fence_pt1; + maps\_anim::addnotetrack_customfunction("highway_fence","fence_dust",::maps\lagos_fx::pull_fence_dust,"highway_fence_pull_back"); + level.scr_animtree["flank_alley_door"] = #animtree; + level.scr_model["flank_alley_door"] = "door_double_govt_01_rigged"; + level.scr_anim["flank_alley_door"]["flank_alley_door_kick_open"] = %lag_flank_kick_door_doubledoors; +} + +//Function Number: 13 +precachecivilian() +{ + precachepropmodels(); + precacheciviliananims(); +} + +//Function Number: 14 +precachepropmodels() +{ + precachemodel("electronics_pda"); + precachemodel("com_cellphone_on"); + precachemodel("prop_cigarette"); + precachemodel("lab_tablet_flat_on"); + precachemodel("ma_cup_single_closed"); + precachemodel("cs_coffeemug02"); + precachemodel("com_metal_briefcase"); + precachemodel("paper_memo"); + precachemodel("open_book"); + precachemodel("genericprop"); + precachemodel("hjk_metal_briefcase"); + precachemodel("electronics_pda_big"); + precachemodel("hjk_tablet_01"); +} + +//Function Number: 15 +precacheciviliananims() +{ + level.scr_animtree["generic"] = #animtree; + level.scr_anim["generic"]["civilian_texting_standing"][0] = %civilian_texting_standing; + level.scr_anim["generic"]["civilian_stand_idle"][0] = %civilian_stand_idle; + level.scr_anim["generic"]["civilian_smoking_A"][0] = %civilian_smoking_a; + level.scr_anim["generic"]["civilian_smoking_B"][0] = %civilian_smoking_b; + level.scr_anim["generic"]["london_station_civ1_idle"][0] = %london_station_civ1_idle; + level.scr_anim["generic"]["london_station_civ2_idle"][0] = %london_station_civ2_idle; + level.scr_anim["generic"]["london_station_civ4_idle"][0] = %london_station_civ4_idle; + level.scr_anim["generic"]["london_station_civ5_idle"][0] = %london_station_civ5_idle; + level.scr_anim["generic"]["london_station_civ6_idle"][0] = %london_station_civ6_idle; + level.scr_anim["generic"]["london_station_civ7_idle"][0] = %london_station_civ7_idle; + level.scr_anim["generic"]["london_station_civ11_idle"][0] = %london_station_civ11_idle; + level.scr_anim["generic"]["parabolic_leaning_guy_smoking_idle"][0] = %parabolic_leaning_guy_smoking_idle; + level.scr_anim["generic"]["parabolic_leaning_guy_idle"][0] = %parabolic_leaning_guy_idle; + level.scr_anim["generic"]["oilrig_balcony_smoke_idle"][0] = %oilrig_balcony_smoke_idle; + level.scr_anim["generic"]["civilian_directions_1_A"][0] = %civilian_directions_1_a; + level.scr_anim["generic"]["civilian_directions_1_B"][0] = %civilian_directions_1_b; + level.scr_anim["generic"]["civilian_texting_sitting"][0] = %civilian_texting_sitting; + level.scr_anim["generic"]["civilian_sitting_business_lunch_A_1"][0] = %civilian_sitting_business_lunch_a_1; + level.scr_anim["generic"]["civilian_sitting_business_lunch_B_1"][0] = %civilian_sitting_business_lunch_b_1; + level.scr_anim["generic"]["civilian_sitting_talking_A_1"][0] = %civilian_sitting_talking_a_1; + level.scr_anim["generic"]["civilian_sitting_talking_A_2"][0] = %civilian_sitting_talking_a_2; + level.scr_anim["generic"]["civilian_sitting_talking_B_1"][0] = %civilian_sitting_talking_b_1; + level.scr_anim["generic"]["civilian_sitting_talking_B_2"][0] = %civilian_sitting_talking_b_2; + level.scr_anim["generic"]["civilian_reader_1"][0] = %civilian_reader_1; + level.scr_anim["generic"]["civilian_reader_2"][0] = %civilian_reader_2; + level.scr_anim["generic"]["guardB_sit_drinker_idle"][0] = %guardb_sit_drinker_idle; + level.scr_anim["generic"]["london_civ_idle_lookover"] = %london_civ_idle_lookover; + level.scr_anim["generic"]["london_civ_idle_checkwatch"] = %london_civ_idle_checkwatch; + level.scr_anim["generic"]["london_civ_idle_lookbehind"] = %london_civ_idle_lookbehind; + level.scr_anim["generic"]["london_civ_idle_sneeze"] = %london_civ_idle_sneeze; + level.scr_anim["generic"]["london_civ_idle_scratchnose"] = %london_civ_idle_scratchnose; + level.scr_anim["generic"]["london_civ_idle_foldarms_scratchass"] = %london_civ_idle_foldarms_scratchass; + level.scr_anim["generic"]["london_civ_idle_foldarms2"] = %london_civ_idle_foldarms2; + level.randomidleanims = []; + level.randomidleanims[0] = "london_civ_idle_lookover"; + level.randomidleanims[1] = "london_civ_idle_checkwatch"; + level.randomidleanims[2] = "london_civ_idle_lookbehind"; + level.randomidleanims[3] = "london_civ_idle_sneeze"; + level.randomidleanims[4] = "london_civ_idle_foldarms_scratchass"; + level.randomidleanims[5] = "london_civ_idle_foldarms2"; + level.randomidleanims[6] = "london_civ_idle_scratchnose"; + var_00 = []; + var_00[0] = 2; + var_00[1] = 1; + var_00[2] = 1; + var_00[3] = 1; + level.scr_anim["civilian_crazy_walk"]["run_noncombat"][0] = %civilian_crazywalker_loop; + level.scr_anim["civilian_crazy_walk"]["run_noncombat"][1] = %civilian_crazywalker_twitcha; + level.scr_anim["civilian_crazy_walk"]["run_noncombat"][2] = %civilian_crazywalker_twitchb; + level.scr_anim["civilian_crazy_walk"]["run_noncombat"][3] = %civilian_crazywalker_twitchc; + level.scr_anim["civilian_crazy_walk"]["run_weights"] = var_00; + var_01 = []; + var_01[0] = 7; + var_01[1] = 3; + var_02 = common_scripts\utility::get_cumulative_weights(var_01); + level.scr_anim["civilian_cellphone_walk"]["run_noncombat"][0] = %civilian_cellphonewalk; + level.scr_anim["civilian_cellphone_walk"]["dodge_left"] = %civilian_cellphonewalk_dodge_l; + level.scr_anim["civilian_cellphone_walk"]["dodge_right"] = %civilian_cellphonewalk_dodge_r; + level.scr_anim["civilian_cellphone_walk"]["turn_left_90"] = %civilian_cellphonewalk_turn_l; + level.scr_anim["civilian_cellphone_walk"]["turn_right_90"] = %civilian_cellphonewalk_turn_r; + level.scr_anim["civilian_soda_walk"]["run_noncombat"][0] = %civilian_sodawalk; + level.scr_anim["civilian_soda_walk"]["run_noncombat"][1] = %civilian_sodawalk_twitch; + level.scr_anim["civilian_soda_walk"]["run_weights"] = var_02; + level.scr_anim["civilian_hurried_walk"]["run_noncombat"][0] = %civilian_walk_hurried_1; + level.scr_anim["civilian_hurried_walk"]["run_noncombat"][1] = %civilian_walk_hurried_2; + level.scr_anim["civilian_nervous_walk"]["run_noncombat"][0] = %civilian_walk_nervous; + level.scr_anim["civilian_cool_walk"]["run_noncombat"][0] = %civilian_walk_cool; + level.scr_anim["civilian_paper_walk"]["run_noncombat"][0] = %civilian_walk_paper; + level.scr_anim["civilian_coffee_walk"]["run_noncombat"][0] = %civilian_walk_coffee; + level.scr_anim["civilian_backpack_walk"]["run_noncombat"][0] = %civilian_walk_backpack; + level.scr_anim["civilian_backpack_walk"]["run_noncombat"][1] = %civilian_walk_backpack_twitch; + level.scr_anim["civilian_backpack_walk"]["run_weights"] = var_02; + level.scr_anim["civilian_pda_walk"]["run_noncombat"][0] = %civilian_walk_pda; + level.scr_anim["civilian_briefcase_walk"]["run_noncombat"][0] = %civilian_briefcase_walk; + level.scr_anim["civilian_briefcase_walk"]["dodge_left"] = %civilian_briefcase_walk_dodge_l; + level.scr_anim["civilian_briefcase_walk"]["dodge_right"] = %civilian_briefcase_walk_dodge_r; + level.scr_anim["civilian_briefcase_walk"]["turn_left_90"] = %civilian_briefcase_walk_turn_l; + level.scr_anim["civilian_briefcase_walk"]["turn_right_90"] = %civilian_briefcase_walk_turn_r; + level.scr_anim["generic"]["civ_idle_panic_1"][0] = %hijack_president_idle_panic_fidget_1; + level.scr_anim["generic"]["civ_idle_panic_2"][0] = %casual_crouch_v2_idle; + level.scr_anim["generic"]["civ_idle_panic_3"][0] = %unarmed_cowercrouch_idle_duck; + level.scr_anim["generic"]["civ_idle_panic_4"][0] = %unarmed_crouch_idle1; + level.scr_anim["generic"]["civ_idle_panic_5"][0] = %unarmed_crouch_twitch1; + level.scr_anim["civilian_react"]["civ_idle_panic_1"][0] = %hijack_president_idle_panic_fidget_1; + level.scr_anim["civilian_react"]["civ_idle_panic_2"][0] = %casual_crouch_v2_idle; + level.scr_anim["civilian_react"]["civ_idle_panic_3"][0] = %unarmed_cowercrouch_idle_duck; + level.scr_anim["civilian_react"]["civ_idle_panic_4"][0] = %unarmed_crouch_idle1; + level.scr_anim["civilian_react"]["civ_idle_panic_5"][0] = %unarmed_crouch_twitch1; + level.scr_anim["civilian_react_move_back"]["civ_move_back_panic_1"] = %unarmed_cowerstand_react; + level.scr_anim["civilian_react_move_back"]["civ_move_back_panic_2"] = %unarmed_cowercrouch_react_a; + level.scr_anim["civilian_react_move_back"]["civ_move_back_panic_3"] = %unarmed_cowercrouch_react_b; + level.scr_anim["civilian_react_move_back"]["civ_move_back_panic_5"] = %unarmed_cowerstand_react_2_crouch; + level.scr_anim["civilian_react_then_run"]["civ_react_run_1"] = %london_station_civ1_reaction; + level.scr_anim["civilian_react_then_run"]["civ_react_run_2"] = %london_station_civ2_reaction; + level.scr_anim["civilian_react_then_run"]["civ_react_run_3"] = %london_station_civ4_reaction; + level.scr_anim["civilian_react_then_run"]["civ_react_run_4"] = %london_station_civ6_reaction; + level.scr_anim["civilian_react_then_run"]["civ_react_run_5"] = %london_station_civ7_reaction; + level.scr_anim["civilian_run"]["civ_run_panic_1"][0] = %unarmed_panickedrun_stumble; + level.scr_anim["civilian_run"]["civ_run_panic_2"][0] = %unarmed_panickedrun_loop_v2; + level.scr_anim["civilian_run"]["civ_run_panic_3"][0] = %civilian_run_hunched_a; + level.scr_anim["civilian_run"]["civ_run_panic_4"][0] = %civilian_run_hunched_c; + level.scr_anim["civilian_run"]["civ_run_panic_5"][0] = %civilian_run_hunched_flinch; + level.scr_anim["civilian_run"]["civ_run_panic_6"][0] = %unarmed_scared_run; + level.scr_anim["civilian_run"]["civ_run_panic_7"][0] = %lag_roundabout_frantic_run; + level.scr_anim["civilian_run"]["civ_run_panic_8"][0] = %lag_roundabout_run2cover_run; + level.scr_anim["sedan_driver"]["run_01"][0] = %sf_a_civillian_pedestrian_run_exit_01; + level.scr_anim["sedan_driver"]["run_02"][0] = %sf_a_civillian_pedestrian_run_exit_02; + level.scr_anim["sedan_driver"]["run_03"][0] = %sf_a_civillian_pedestrian_run_exit_03; + level.scr_anim["sedan_driver"]["run_04"][0] = %sf_a_civillian_pedestrian_run_exit_04; + level.scr_anim["sedan_driver"]["run_05"][0] = %sf_a_civillian_pedestrian_run_exit_05; + level.scr_anim["sedan_driver"]["run_06"][0] = %sf_a_civillian_pedestrian_run_exit_06; + level.scr_anim["sedan_driver"]["run_07"][0] = %sf_a_civillian_pedestrian_run_exit_07; + level.scr_anim["compact_driver"]["run_01"][0] = %sf_a_civillian_pedestrian_run_exit_01; + level.scr_anim["compact_driver"]["run_02"][0] = %sf_a_civillian_pedestrian_run_exit_02; + level.scr_anim["compact_driver"]["run_03"][0] = %sf_a_civillian_pedestrian_run_exit_03; + level.scr_anim["compact_driver"]["run_04"][0] = %sf_a_civillian_pedestrian_run_exit_04; + level.scr_anim["compact_driver"]["run_05"][0] = %sf_a_civillian_pedestrian_run_exit_05; + level.scr_anim["compact_driver"]["run_06"][0] = %sf_a_civillian_pedestrian_run_exit_06; + level.scr_anim["compact_driver"]["run_07"][0] = %sf_a_civillian_pedestrian_run_exit_07; + level.scr_anim["truck_driver"]["run_01"][0] = %sf_a_civillian_pedestrian_run_exit_01; + level.scr_anim["truck_driver"]["run_02"][0] = %sf_a_civillian_pedestrian_run_exit_02; + level.scr_anim["truck_driver"]["run_03"][0] = %sf_a_civillian_pedestrian_run_exit_03; + level.scr_anim["truck_driver"]["run_04"][0] = %sf_a_civillian_pedestrian_run_exit_04; + level.scr_anim["truck_driver"]["run_05"][0] = %sf_a_civillian_pedestrian_run_exit_05; + level.scr_anim["truck_driver"]["run_06"][0] = %sf_a_civillian_pedestrian_run_exit_06; + level.scr_anim["truck_driver"]["run_07"][0] = %sf_a_civillian_pedestrian_run_exit_07; + level.scr_anim["drone"]["run_01"][0] = %sf_a_civillian_pedestrian_run_exit_01_relative; + level.scr_anim["drone"]["run_02"][0] = %sf_a_civillian_pedestrian_run_exit_02_relative; + level.scr_anim["drone"]["run_03"][0] = %sf_a_civillian_pedestrian_run_exit_03_relative; + level.scr_anim["drone"]["run_04"][0] = %sf_a_civillian_pedestrian_run_exit_04_relative; + level.scr_anim["drone"]["run_05"][0] = %sf_a_civillian_pedestrian_run_exit_05_relative; + level.scr_anim["drone"]["run_06"][0] = %sf_a_civillian_pedestrian_run_exit_06_relative; + level.scr_anim["drone"]["run_07"][0] = %sf_a_civillian_pedestrian_run_exit_07_relative; + level.scr_anim["sedan_driver"]["loop_01"][0] = %sf_a_civillian_civ_sedan_loop_01; + level.scr_anim["sedan_driver"]["loop_02"][0] = %sf_a_civillian_civ_sedan_loop_02; + level.scr_anim["sedan_driver"]["loop_03"][0] = %sf_a_civillian_civ_sedan_loop_03; + level.scr_anim["sedan_driver"]["loop_04"][0] = %sf_a_civillian_civ_sedan_loop_04; + level.scr_anim["sedan_driver"]["loop_05"][0] = %sf_a_civillian_civ_sedan_loop_05; + level.scr_anim["sedan_driver"]["loop_06"][0] = %sf_a_civillian_civ_sedan_loop_06; + level.scr_anim["sedan_driver"]["loop_07"][0] = %sf_a_civillian_civ_sedan_loop_07; + level.scr_anim["sedan_driver"]["get_out_01"] = %sf_a_civillian_civ_sedan_exit_03; + level.scr_anim["sedan_driver"]["get_out_02"] = %sf_a_civillian_civ_sedan_exit_04; + level.scr_anim["sedan_driver"]["get_out_03"] = %sf_a_civillian_civ_sedan_exit_06; + level.scr_anim["compact_driver"]["loop_01"][0] = %sf_a_civillian_compactcar_loop_01; + level.scr_anim["compact_driver"]["loop_02"][0] = %sf_a_civillian_compactcar_loop_02; + level.scr_anim["compact_driver"]["loop_03"][0] = %sf_a_civillian_compactcar_loop_03; + level.scr_anim["compact_driver"]["loop_04"][0] = %sf_a_civillian_compactcar_loop_04; + level.scr_anim["compact_driver"]["loop_05"][0] = %sf_a_civillian_compactcar_loop_05; + level.scr_anim["compact_driver"]["loop_06"][0] = %sf_a_civillian_compactcar_loop_06; + level.scr_anim["compact_driver"]["loop_07"][0] = %sf_a_civillian_compactcar_loop_07; + level.scr_anim["compact_driver"]["get_out_01"] = %sf_a_civillian_compactcar_exit_03; + level.scr_anim["compact_driver"]["get_out_02"] = %sf_a_civillian_compactcar_exit_04; + level.scr_anim["compact_driver"]["get_out_03"] = %sf_a_civillian_compactcar_exit_06; + level.scr_anim["truck_driver"]["loop_01"][0] = %sf_a_civillian_civ_truck_loop_01; + level.scr_anim["truck_driver"]["loop_02"][0] = %sf_a_civillian_civ_truck_loop_02; + level.scr_anim["truck_driver"]["loop_03"][0] = %sf_a_civillian_civ_truck_loop_03; + level.scr_anim["truck_driver"]["loop_04"][0] = %sf_a_civillian_civ_truck_loop_04; + level.scr_anim["truck_driver"]["loop_05"][0] = %sf_a_civillian_civ_truck_loop_05; + level.scr_anim["truck_driver"]["loop_06"][0] = %sf_a_civillian_civ_truck_loop_06; + level.scr_anim["truck_driver"]["loop_07"][0] = %sf_a_civillian_civ_truck_loop_07; + level.scr_anim["truck_driver"]["get_out_01"] = %sf_a_civillian_civ_truck_exit_03; + level.scr_anim["truck_driver"]["get_out_02"] = %sf_a_civillian_civ_truck_exit_04; + level.scr_anim["truck_driver"]["get_out_03"] = %sf_a_civillian_civ_truck_exit_06; + level.scr_anim["civilian"]["laying_1"][0] = %sf_a_civ_injured_laying_agony_a; + level.scr_anim["civilian"]["laying_2"][0] = %sf_a_civ_injured_laying_agony_b; + level.scr_anim["civilian"]["seated_1"][0] = %sf_a_civ_injured_seated_crying; + level.scr_anim["civilian"]["seated_2"][0] = %sf_a_civ_injured_seated_face; + level.scr_anim["civilian"]["seated_3"][0] = %sf_a_civ_injured_seated_neck; + level.scr_anim["civilian"]["paired_1"][0] = %sf_a_civ_injured_seated_mourned; + level.scr_anim["civilian_b"]["paired_1"][0] = %sf_a_civ_injured_seated_mourner; + level.scr_anim["civilian"]["paired_2"][0] = %sf_a_civ_injured_seated_helped; + level.scr_anim["civilian_b"]["paired_2"][0] = %sf_a_civ_injured_seated_helper; + level.scr_anim["lobby_elevator"]["waiting_react_1_pre"][0] = %lag_lobby_waiting_elevator_loop_guy1; + level.scr_anim["lobby_elevator"]["waiting_react_2_pre"][0] = %lag_lobby_waiting_elevator_loop_guy2; + level.scr_anim["lobby_elevator"]["waiting_react_1"] = %lag_lobby_waiting_elevator_react_guy1; + level.scr_anim["lobby_elevator"]["waiting_react_2"] = %lag_lobby_waiting_elevator_react_guy2; + level.scr_anim["lobby_elevator"]["waiting_react_loop_1"][0] = %lag_lobby_waiting_elevator_react_loop_guy1; + level.scr_anim["lobby_elevator"]["waiting_react_loop_2"][0] = %lag_lobby_waiting_elevator_react_loop_guy2; + level.scr_anim["lobby_elevator"]["exiting_react_1"] = %lag_lobby_exit_elevator_react_guy1; + level.scr_anim["lobby_elevator"]["exiting_react_2"] = %lag_lobby_exit_elevator_react_guy2; + level.scr_anim["lobby_elevator"]["exiting_react_loop_1"][0] = %lag_lobby_exit_elevator_react_loop_guy1; + level.scr_anim["lobby_elevator"]["exiting_react_loop_2"][0] = %lag_lobby_exit_elevator_react_loop_guy2; + level.scr_anim["lobby_couch"]["couch_loop_1"][0] = %lag_lobby_sitting_loop_guy1; + level.scr_anim["lobby_couch"]["couch_loop_2"][0] = %lag_lobby_sitting_loop_guy2; + level.scr_anim["lobby_couch"]["couch_react_1"] = %lag_lobby_sitting_react_guy1; + level.scr_anim["lobby_couch"]["couch_react_2"] = %lag_lobby_sitting_react_guy2; + level.scr_anim["lobby_couch"]["couch_react_1_short"] = %lag_lobby_sitting_react_guy1_short; + level.scr_anim["lobby_couch"]["couch_react_2_short"] = %lag_lobby_sitting_react_guy2_short; + level.scr_anim["lobby_security"]["security_loop_1"][0] = %lag_lobby_securityguard_loop_guy1; + level.scr_anim["lobby_security"]["security_loop_2"][0] = %lag_lobby_securityguard_loop_guy2; + level.scr_anim["lobby_security"]["security_react_1"] = %lag_lobby_securityguard_react_guy1; + level.scr_anim["lobby_security"]["security_react_2"] = %lag_lobby_securityguard_react_guy2; + level.scr_anim["lobby_security"]["security_react_loop_1"][0] = %lag_lobby_securityguard_react_loop_guy1; + level.scr_anim["lobby_security"]["security_react_loop_2"] = %lag_lobby_securityguard_react_loop_guy2; + level.scr_anim["lobby_phone"]["phone_loop_1"][0] = %lag_lobby_phone_loop_guy1; + level.scr_anim["lobby_phone"]["phone_react_1"] = %lag_lobby_phone_react_guy1; + level.scr_anim["lobby_phone"]["phone_react_2"] = %lag_lobby_phone_react_guy2; + level.scr_anim["lobby_phone"]["phone_react_loop_1"][0] = %lag_lobby_phone_react_loop_guy1; + level.scr_anim["lobby_walktalk"]["walktalk_react_1"] = %lag_lobby_walkingtalk_react_guy1; + level.scr_anim["lobby_walktalk"]["walktalk_react_2"] = %lag_lobby_walkingtalk_react_guy2; + level.scr_anim["street_drop_bike"]["drop_bike_loop_1"][0] = %lag_roundabout_civ_dropbike_loop_guy1; + level.scr_anim["street_drop_bike"]["drop_bike_loop_2"][0] = %lag_roundabout_civ_dropbike_loop_guy2; + level.scr_anim["street_drop_bike"]["drop_bike_react_1"] = %lag_roundabout_civ_dropbike_react_guy1; + level.scr_anim["street_drop_bike"]["drop_bike_react_2"] = %lag_roundabout_civ_dropbike_react_guy2; + level.scr_anim["burke"]["burke_car_hood"] = %lag_roundabout_out_of_car_guy1; + level.scr_anim["car_hood"]["guy_exit_car"] = %lag_roundabout_out_of_car_guy2; + level.scr_anim["car_hood"]["guy_help_injured"] = %lag_roundabout_out_of_car_guy3; +} + +//Function Number: 16 +exo_door_enable_weapons(param_00) +{ + level.player enableweapons(); +} + +//Function Number: 17 +vehicle_impact_rumble(param_00) +{ + level.player playrumbleonentity("artillery_rumble"); +} \ No newline at end of file diff --git a/AW/PC/maps/lagos_aud.gsc b/AW/PC/maps/lagos_aud.gsc new file mode 100644 index 0000000..1c163bd --- /dev/null +++ b/AW/PC/maps/lagos_aud.gsc @@ -0,0 +1,2432 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: lagos_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 234 + * Decompile Time: 3291 ms + * Timestamp: 4/22/2024 2:33:25 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + config_system(); + init_snd_flags(); + init_globals(); + launch_threads(); + thread launch_loops(); + create_level_envelop_arrays(); + precache_presets(); + register_snd_messages(); +} + +//Function Number: 2 +config_system() +{ + soundscripts\_audio::set_stringtable_mapname("shg"); + soundscripts\_snd_filters::snd_set_occlusion("med_occlusion"); + soundscripts\_snd_timescale::snd_set_timescale("lagos_default"); + soundscripts\_audio_mix_manager::mm_add_submix("lagos_global_mix"); +} + +//Function Number: 3 +init_snd_flags() +{ + common_scripts\utility::flag_init("aud_oncoming_truck_check"); +} + +//Function Number: 4 +init_globals() +{ + level.aud.truck_swap = 0; +} + +//Function Number: 5 +launch_threads() +{ + if(soundscripts\_audio::aud_is_specops()) + { + return; + } + + thread setup_drone_intro_anims(); + thread setup_briefing_anims(); + thread setup_exo_door_kick_anims(); + thread setup_wall_climb_foley(); + thread setup_alley_wall_climb_foley(); + thread setup_roof_breach_anims(); + thread setup_harmonic_breach_anims(); + thread setup_pm_rescue_anims(); + thread setup_roundabout_rpg_fire_emitters(); + thread setup_roundabout_tanker_proxy_fire_emitters(); + thread setup_roundabout_point_source_dambs(); + thread setup_alley_anims(); + thread setup_alley_escape_breach(); + thread hostage_truck_fwy_notetrack_setup(); + thread bus_jumping_notetrack_setup(); + thread shore_pcap_notetrack_setup(); +} + +//Function Number: 6 +launch_loops() +{ + if(level.currentgen && !istransientloaded("lagos_intro_tr")) + { + return; + } + + common_scripts\utility::loop_fx_sound("lag_gov_rescue_computer_tone",(-52252,9133,480),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("lag_gov_rescue_computer_tone",(-52139,9126,480),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("lag_gov_rescue_computer_tone",(-52085,9128,482),1,"aud_stop_intro"); + if(level.currentgen) + { + level waittill("tff_pre_intro_to_middle"); + level notify("aud_stop_intro"); + } +} + +//Function Number: 7 +create_level_envelop_arrays() +{ + level.aud.envs = []; + level.aud.envs["example_envelop"] = [[0,0],[0.082,0.426],[0.238,0.736],[0.408,0.844],[0.756,0.953],[1,1]]; +} + +//Function Number: 8 +precache_presets() +{ +} + +//Function Number: 9 +register_snd_messages() +{ + soundscripts\_snd::snd_register_message("snd_zone_handler",::zone_handler); + soundscripts\_snd::snd_register_message("snd_music_handler",::music_handler); + soundscripts\_snd::snd_register_message("start_intro_drone",::start_intro_drone); + soundscripts\_snd::snd_register_message("start_intro_squad",::start_intro_squad); + soundscripts\_snd::snd_register_message("start_government_building",::start_government_building); + soundscripts\_snd::snd_register_message("start_pre_h_breach",::start_pre_h_breach); + soundscripts\_snd::snd_register_message("start_post_h_breach",::start_post_h_breach); + soundscripts\_snd::snd_register_message("start_roundabout",::start_roundabout); + soundscripts\_snd::snd_register_message("start_alley1",::start_alley1); + soundscripts\_snd::snd_register_message("start_oncoming_alley",::start_oncoming_alley); + soundscripts\_snd::snd_register_message("start_alley2",::start_alley2); + soundscripts\_snd::snd_register_message("start_flank_alley",::start_flank_alley); + soundscripts\_snd::snd_register_message("start_traffic_frogger",::start_traffic_frogger); + soundscripts\_snd::snd_register_message("start_traffic_traverse",::start_traffic_traverse); + soundscripts\_snd::snd_register_message("start_middle_takedown",::start_middle_takedown); + soundscripts\_snd::snd_register_message("start_post_middle_takedown",::start_post_middle_takedown); + soundscripts\_snd::snd_register_message("start_van_takedown",::start_van_takedown); + soundscripts\_snd::snd_register_message("start_van_takedown_underwater",::start_van_takedown_underwater); + soundscripts\_snd::snd_register_message("start_shore_pcap",::start_shore_pcap); + soundscripts\_snd::snd_register_message("start_outro",::start_outro); + soundscripts\_snd::snd_register_message("intro_fly_drone_idle",::intro_fly_drone_idle); + soundscripts\_snd::snd_register_message("fly_drone_picture_live",::fly_drone_picture_live); + soundscripts\_snd::snd_register_message("fly_drone_camera_start_1",::fly_drone_camera_start_1); + soundscripts\_snd::snd_register_message("fly_drone_camera_start_2",::fly_drone_camera_start_2); + soundscripts\_snd::snd_register_message("fly_drone_activate",::fly_drone_activate); + soundscripts\_snd::snd_register_message("start_intro_ambience",::start_intro_ambience); + soundscripts\_snd::snd_register_message("lag_intro_vo_overlap_mix",::lag_intro_vo_overlap_mix); + soundscripts\_snd::snd_register_message("opening_warbird",::opening_warbird); + soundscripts\_snd::snd_register_message("vig_tram_setup_car",::vig_tram_setup_car); + soundscripts\_snd::snd_register_message("plr_exo_door_kick",::plr_exo_door_kick); + soundscripts\_snd::snd_register_message("gov_bldg_driveup",::gov_bldg_driveup); + soundscripts\_snd::snd_register_message("aud_exo_climb_burke",::aud_exo_climb_burke); + soundscripts\_snd::snd_register_message("exo_climb_pullup_start",::exo_climb_pullup_start); + soundscripts\_snd::snd_register_message("exo_climb_right_swing_pressed",::exo_climb_right_swing_pressed); + soundscripts\_snd::snd_register_message("exo_climb_left_swing_pressed",::exo_climb_left_swing_pressed); + soundscripts\_snd::snd_register_message("gov_building_mute_device",::gov_building_mute_device); + soundscripts\_snd::snd_register_message("rooftop_slo_mo_override",::rooftop_slo_mo_override); + soundscripts\_snd::snd_register_message("hb_gun_away",::hb_gun_away); + soundscripts\_snd::snd_register_message("hb_sensor_flash_on",::hb_sensor_flash_on); + soundscripts\_snd::snd_register_message("hb_highlight_enable",::hb_highlight_enable); + soundscripts\_snd::snd_register_message("hb_highlight_disable",::hb_highlight_disable); + soundscripts\_snd::snd_register_message("hb_target_tagged",::hb_target_tagged); + soundscripts\_snd::snd_register_message("hb_target_untagged",::hb_target_untagged); + soundscripts\_snd::snd_register_message("hb_lock_targets",::hb_lock_targets); + soundscripts\_snd::snd_register_message("hb_shots_fired",::hb_shots_fired); + soundscripts\_snd::snd_register_message("hb_sensor_flash_off",::hb_sensor_flash_off); + soundscripts\_snd::snd_register_message("pm_rescue_foley",::pm_rescue_foley); + soundscripts\_snd::snd_register_message("leaving_gov_building_post_vo",::leaving_gov_building_post_vo); + soundscripts\_snd::snd_register_message("roundabout_combat_started",::roundabout_combat_started); + soundscripts\_snd::snd_register_message("roundabout_rpg_fire",::roundabout_rpg_fire); + soundscripts\_snd::snd_register_message("roundabout_general_mayhem",::roundabout_general_mayhem); + soundscripts\_snd::snd_register_message("roundabout_tanker_explosion",::roundabout_tanker_explosion); + soundscripts\_snd::snd_register_message("crossing_into_alley",::crossing_into_alley); + soundscripts\_snd::snd_register_message("roundabout_exited",::roundabout_exited); + soundscripts\_snd::snd_register_message("alley_1_big_metal_gate",::alley_1_big_metal_gate); + soundscripts\_snd::snd_register_message("oncoming_alley_truck",::oncoming_alley_truck); + soundscripts\_snd::snd_register_message("lagos_technical_turret_fire",::lagos_technical_turret_fire); + soundscripts\_snd::snd_register_message("truck_turret_flank_alley",::truck_turret_flank_alley); + soundscripts\_snd::snd_register_message("truck_turret_flank_alley_drive_away",::truck_turret_flank_alley_drive_away); + soundscripts\_snd::snd_register_message("frogger_vehicle_by",::frogger_vehicle_by); + soundscripts\_snd::snd_register_message("traffic_traverse_fence_rip",::traffic_traverse_fence_rip); + soundscripts\_snd::snd_register_message("handle_busses",::handle_busses); + soundscripts\_snd::snd_register_message("lag_brk_onme_done",::lag_brk_onme_done); + soundscripts\_snd::snd_register_message("lag_brk_nocleanshot_done",::lag_brk_nocleanshot_done); + soundscripts\_snd::snd_register_message("traverse_start_jump_start_slowmo",::traverse_start_jump_start_slowmo); + soundscripts\_snd::snd_register_message("traverse_start_jump_end_slowmo",::traverse_start_jump_end_slowmo); + soundscripts\_snd::snd_register_message("bus_chase_suv_oneshots",::bus_chase_suv_oneshots); + soundscripts\_snd::snd_register_message("bus_chase_suv_lose_control",::bus_chase_suv_lose_control); + soundscripts\_snd::snd_register_message("bus_chase_suv_explode",::bus_chase_suv_explode); + soundscripts\_snd::snd_register_message("notify_qte_prompt_and_slowmo",::notify_qte_prompt_and_slowmo); + soundscripts\_snd::snd_register_message("lag_brk_stayclose_done",::lag_brk_stayclose_done); + soundscripts\_snd::snd_register_message("middle_takedown_gun_up",::middle_takedown_gun_up); + soundscripts\_snd::snd_register_message("truck_middle_dodge_slowmo_end",::truck_middle_dodge_slowmo_end); + soundscripts\_snd::snd_register_message("truck_middle_jump_slowmo_end",::truck_middle_jump_slowmo_end); + soundscripts\_snd::snd_register_message("truck_middle_punch_slowmo_end",::truck_middle_punch_slowmo_end); + soundscripts\_snd::snd_register_message("truck_middle_jump2_slowmo_end",::truck_middle_jump2_slowmo_end); + soundscripts\_snd::snd_register_message("lag_brk_takeoutsuv_done",::lag_brk_takeoutsuv_done); + soundscripts\_snd::snd_register_message("truck_whipeout_anim_begin",::truck_whipeout_anim_begin); + soundscripts\_snd::snd_register_message("spawn_traffic_helicopter",::spawn_traffic_helicopter); + soundscripts\_snd::snd_register_message("chase_heli_fire",::chase_heli_fire); + soundscripts\_snd::snd_register_message("final_takedown_abutton_hit",::final_takedown_abutton_hit); + soundscripts\_snd::snd_register_message("hostage_truck_slomo_start_pt1",::hostage_truck_slomo_start_pt1); + soundscripts\_snd::snd_register_message("final_takedown_xbutton_hit",::final_takedown_xbutton_hit); + soundscripts\_snd::snd_register_message("final_takedown_gun_up",::final_takedown_gun_up); + soundscripts\_snd::snd_register_message("hostage_truck_slomo_start_pt2",::hostage_truck_slomo_start_pt2); + soundscripts\_snd::snd_register_message("hostage_truck_slomo_end_pt2",::hostage_truck_slomo_end_pt2); + soundscripts\_snd::snd_register_message("underwater_sequence",::underwater_sequence); + soundscripts\_snd::snd_register_message("underwater_rescue",::underwater_rescue); + soundscripts\_snd::snd_register_message("lagos_swimming_into_stroke",::lagos_swimming_into_stroke); + soundscripts\_snd::snd_register_message("lagos_swimming_stroke",::lagos_swimming_stroke); + soundscripts\_snd::snd_register_message("lagos_swimming_drowning_start",::lagos_swimming_drowning_start); + soundscripts\_snd::snd_register_message("shore_ending",::shore_ending); + soundscripts\_snd::snd_register_message("lag_gl_end_logo",::lag_gl_end_logo); + soundscripts\_snd::snd_register_message("temp_dog_bark",::temp_dog_bark); +} + +//Function Number: 10 +zone_handler(param_00,param_01) +{ + var_02 = ""; + var_03 = ""; + if(getsubstr(param_00,0,6) == "enter_") + { + var_02 = param_01; + } + else if(getsubstr(param_00,0,5) == "exit_") + { + var_03 = param_01; + } + + switch(param_00) + { + case "enter_int_lobby": + if(var_02 == "ext_alley") + { + soundscripts\_snd_playsound::snd_play_at("lag_walla_bank",(-52246,7423,324)); + } + break; + + case "exit_int_lobby": + if(var_03 == "int_lobby") + { + } + break; + + case "enter_ext_roundabout": + if(var_02 == "int_lobby") + { + thread roundabout_panic_walla(); + } + break; + } +} + +//Function Number: 11 +music(param_00,param_01) +{ + thread music_handler(param_00,param_01); +} + +//Function Number: 12 +music_handler(param_00,param_01) +{ + level notify("stop_current_music_thread"); + level endon("stop_current_music_thread"); + var_02 = 0.99; + switch(param_00) + { + case "start_roundabout": + music("leaving_gov_building_post_vo"); + break; + + case "leaving_gov_building_post_vo": + soundscripts\_audio::aud_set_music_submix(0.7,0); + wait(0.5); + soundscripts\_audio_music::mus_play("lag_mus_roundabout",1); + wait(0.5); + soundscripts\_audio::aud_set_music_submix(1,30); + level waittill("roundabout_lag_jkr_rpg"); + soundscripts\_audio_music::mus_stop(1); + break; + + case "lag_brk_onme_done": + soundscripts\_audio::aud_set_music_submix(1,0); + soundscripts\_audio_music::mus_play("lag_mus_buschase_vamp_intro",3); + break; + + case "lag_brk_nocleanshot_done": + soundscripts\_audio::aud_set_music_submix(var_02 / 2,0); + soundscripts\_audio_music::mus_play("lag_mus_buschase_hit",0,1); + break; + + case "player_lands_on_first_bus": + soundscripts\_audio::aud_set_music_submix(var_02,0); + soundscripts\_audio_music::mus_play("lag_mus_buschase_main_lp1",0); + break; + + case "bus_chase_lag_brk_stayclose_done": + soundscripts\_audio::aud_set_music_submix(var_02,0); + soundscripts\_audio_music::mus_play("lag_mus_buschase_main_end",0.25,3); + break; + + case "lag_brk_takeoutsuv_done": + soundscripts\_audio_music::mus_play("lag_mus_buschase_vamp",0,1); + break; + + case "buschase_truck_crash_begin": + soundscripts\_audio_music::mus_stop(1); + break; + + case "buschase_truck_crash_end": + soundscripts\_audio::aud_set_music_submix(var_02,0); + soundscripts\_audio_music::mus_play("lag_mus_buschase_main_lp2",0); + break; + + case "final_takedown_abutton_hit": + soundscripts\_audio::aud_set_music_submix(var_02,0); + soundscripts\_audio_music::mus_play("lag_mus_buschase_main_end",0,2); + break; + + case "final_takedown_gun_up": + soundscripts\_audio::aud_set_music_submix(var_02,0); + soundscripts\_audio_music::mus_play("lag_mus_buschase_vamp",0,1); + break; + + case "buschase_ending": + soundscripts\_audio::aud_set_music_submix(var_02,0); + soundscripts\_audio_music::mus_stop(5); + var_03 = soundscripts\_snd_playsound::snd_play_2d("lag_mus_buschase_main_end",undefined,undefined,undefined,0.1); + wait(0.05); + var_03 scalevolume(1,3.2); + break; + + default: + soundscripts\_audio::aud_print_warning("\tMUSIC MESSAGE NOT HANDLED: " + param_00); + break; + } +} + +//Function Number: 13 +start_intro_drone() +{ +} + +//Function Number: 14 +start_intro_squad() +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_walkway"); +} + +//Function Number: 15 +start_government_building() +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_gov_reveal"); +} + +//Function Number: 16 +start_pre_h_breach() +{ + soundscripts\_audio_zone_manager::azm_start_zone("int_gov_bldg"); +} + +//Function Number: 17 +start_post_h_breach() +{ + soundscripts\_audio_zone_manager::azm_start_zone("int_gov_bldg"); +} + +//Function Number: 18 +start_roundabout() +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_alley"); + music("start_roundabout"); +} + +//Function Number: 19 +start_alley1() +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_alley_ambush"); +} + +//Function Number: 20 +start_oncoming_alley() +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_alley_ambush"); +} + +//Function Number: 21 +start_alley2() +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_bldg_3"); +} + +//Function Number: 22 +start_flank_alley() +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_courtyard_battle_1"); +} + +//Function Number: 23 +start_traffic_frogger() +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_courtyard_battle_2"); +} + +//Function Number: 24 +start_traffic_traverse() +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_frogger"); +} + +//Function Number: 25 +start_middle_takedown() +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_frogger"); + soundscripts\_snd_timescale::snd_set_timescale("lagos_timescale_override"); +} + +//Function Number: 26 +start_post_middle_takedown() +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_frogger"); + level.aud.mus_lag_brk_takeoutsuv_done = 1; + music("lag_brk_takeoutsuv_done"); +} + +//Function Number: 27 +start_van_takedown() +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_frogger"); +} + +//Function Number: 28 +start_van_takedown_underwater() +{ +} + +//Function Number: 29 +start_outro() +{ +} + +//Function Number: 30 +start_shore_pcap() +{ + soundscripts\_snd_filters::snd_set_occlusion("shores_pcap"); +} + +//Function Number: 31 +intro_fly_drone_idle() +{ + soundscripts\_audio_mix_manager::mm_add_submix("lag_drone_intro",0.05); + soundscripts\_snd_playsound::snd_play_2d("lag_intro_drone_no_feed","kill_static",0.05); + soundscripts\_snd_playsound::snd_play_loop_2d("lag_intro_drone_static_loop","kill_static",0.1); + thread stop_audio_intro_fly_drone_idle(); +} + +//Function Number: 32 +stop_audio_intro_fly_drone_idle() +{ + if(level.currentgen && !istransientloaded("lagos_intro_tr")) + { + return; + } + + if(level.currentgen) + { + level waittill("tff_pre_intro_to_middle"); + level notify("kill_static"); + } +} + +//Function Number: 33 +fly_drone_picture_live() +{ + level notify("kill_static"); + soundscripts\_snd_playsound::snd_play_2d("lag_intro_train_by_01"); + soundscripts\_snd_playsound::snd_play_2d("lag_intro_drone_mic_live"); + soundscripts\_snd_playsound::snd_play_2d("lag_intro_drone_picture_live"); + soundscripts\_snd_playsound::snd_play_loop_2d("lag_intro_drone_idle","kill_drone_idle_lp"); + soundscripts\_snd_playsound::snd_play_loop_2d("lag_intro_drone_amb","kill_exterior_amb"); +} + +//Function Number: 34 +fly_drone_activate() +{ + level notify("kill_drone_idle_lp"); + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_intro_drone_wind_up",1.2); + soundscripts\_snd_playsound::snd_play_delayed_loop_2d("lag_intro_drone_motor",3,undefined,"kill_conf_loop"); +} + +//Function Number: 35 +fly_drone_camera_start_1(param_00,param_01) +{ + level endon("FlyDroneCamera2"); + level waittill("DroneCameraAudioStart"); + thread kill_looping_drone_camera_sounds(); + var_02 = param_00.angles[1]; + if(var_02 < 0) + { + var_02 = var_02 + 360; + } + + var_03 = param_01.angles[1]; + if(var_03 < 0) + { + var_03 = var_03 + 360; + } + + var_04 = abs(var_02 - var_03); + var_05 = 0; + var_06 = 3.8; + var_07 = 1.5; + for(;;) + { + var_02 = param_00.angles[1]; + if(var_02 < 0) + { + var_02 = var_02 + 360; + } + + var_03 = param_01.angles[1]; + if(var_03 < 0) + { + var_03 = var_03 + 360; + } + + var_08 = abs(var_02 - var_03); + if(abs(var_08 - var_04) > var_06 || abs(var_08 - var_04) > var_07 && length(param_01 getnormalizedcameramovements()) > 0.1) + { + if(!var_05) + { + var_05 = 1; + soundscripts\_snd::snd_printlnbold("Start Drone Camera Move"); + soundscripts\_snd_playsound::snd_play_2d("lag_intro_drone_camera_servo","kill_drone_servo"); + } + } + else if(var_05) + { + var_05 = 0; + soundscripts\_snd::snd_printlnbold("Stop Drone Camera Move"); + level notify("kill_drone_servo"); + } + + var_04 = var_08; + wait 0.05; + } +} + +//Function Number: 36 +fly_drone_camera_start_2(param_00,param_01) +{ + level endon("drone_control_complete"); + level notify("FlyDroneCamera2"); + var_02 = param_00.angles[1]; + if(var_02 < 0) + { + var_02 = var_02 + 360; + } + + var_03 = param_01.angles[1]; + if(var_03 < 0) + { + var_03 = var_03 + 360; + } + + var_04 = abs(var_02 - var_03); + var_05 = param_01 getplayerangles()[0]; + var_06 = 0; + var_07 = 2.8; + var_08 = 1.75; + for(;;) + { + var_02 = param_00.angles[1]; + if(var_02 < 0) + { + var_02 = var_02 + 360; + } + + var_03 = param_01.angles[1]; + if(var_03 < 0) + { + var_03 = var_03 + 360; + } + + var_09 = abs(var_02 - var_03); + var_0A = param_01 getplayerangles()[0]; + if((abs(var_09 - var_04) > var_07 || abs(var_0A - var_05) > var_08) && length(param_01 getnormalizedcameramovements()) > 0.1) + { + if(!var_06) + { + var_06 = 1; + soundscripts\_snd::snd_printlnbold("Start Drone Camera Move"); + soundscripts\_snd_playsound::snd_play_2d("lag_intro_drone_camera_servo","kill_drone_servo"); + } + } + else if(var_06) + { + var_06 = 0; + soundscripts\_snd::snd_printlnbold("Stop Drone Camera Move"); + level notify("kill_drone_servo"); + } + + var_04 = var_09; + var_05 = var_0A; + wait 0.05; + } +} + +//Function Number: 37 +kill_looping_drone_camera_sounds() +{ + level waittill("FlyDroneCamera2"); + soundscripts\_snd::snd_printlnbold("Ending FlyDrone Section 1"); + level notify("kill_drone_servo"); + level waittill("drone_control_complete"); + soundscripts\_snd::snd_printlnbold("Ending FlyDrone Section 2"); + level notify("kill_drone_servo"); +} + +//Function Number: 38 +setup_drone_intro_anims() +{ + wait(0.05); + if(level.nextgen || level.transient_zone == "intro") + { + maps\_anim::addnotetrack_customfunction("drone_intro","aud_drone_intro_bag_guy",::intro_bag_guy_start,"drop_bag"); + maps\_anim::addnotetrack_customfunction("drone_intro","aud_drone_intro_bag_guy_table",::intro_bag_guy_table,"drop_bag"); + maps\_anim::addnotetrack_customfunction("drone_intro","aud_drone_intro_bag_guy_walk_away",::intro_bag_guy_walk_away,"drop_bag"); + maps\_anim::addnotetrack_customfunction("drone_intro","aud_drone_intro_running_guy",::intro_running_guy,"run_into_room"); + maps\_anim::addnotetrack_customfunction("drone_intro","aud_drone_guy_4",::intro_bad_guy_4,"aim_forward"); + maps\_anim::addnotetrack_customfunction("drone_intro","aud_drone_guy_5",::intro_bad_guy_5,"guy_5"); + maps\_anim::addnotetrack_customfunction("drone_intro","aud_drone_guy_6",::intro_bad_guy_6,"guy_6"); + maps\_anim::addnotetrack_customfunction("kva_hostage_leader","aud_drone_hostage_leader",::intro_hostage_leader,"drone_opening"); + maps\_anim::addnotetrack_customfunction("kva_hostage_leader","aud_drone_hostage_leader_2",::intro_hostage_leader_2,"drone_opening"); + maps\_anim::addnotetrack_customfunction("kva_hostage_leader","aud_drone_hostage_leader_3",::intro_hostage_leader_3,"drone_opening"); + maps\_anim::addnotetrack_customfunction("kva_hostage_minister","aud_drone_prime_minister",::intro_prime_minister,"drone_opening"); + maps\_anim::addnotetrack_customfunction("kva_hostage_minister","aud_drone_prime_minister_2",::intro_prime_minister_2,"drone_opening"); + maps\_anim::addnotetrack_customfunction("kva_hostage_leader","aud_drone_hostage_executed",::intro_hostage_executed,"drone_opening"); + } +} + +//Function Number: 39 +intro_bag_guy_start(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_intro_bag_guy_start"); + thread enter_window_whoosh(); +} + +//Function Number: 40 +intro_bag_guy_table(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_intro_bag_guy_table"); +} + +//Function Number: 41 +intro_bag_guy_walk_away(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_intro_bag_guy_walk_away"); +} + +//Function Number: 42 +intro_running_guy(param_00) +{ + thread intro_quad_whoooshes(); + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_intro_running_guy"); +} + +//Function Number: 43 +enter_window_whoosh() +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_intro_enter_window",0.15); + wait(0.15); + soundscripts\_snd_playsound::snd_play_loop_2d("lag_intro_drone_amb_int","kill_office_loop",undefined,0.5); + wait(0.5); + level notify("kill_exterior_amb"); +} + +//Function Number: 44 +intro_quad_whoooshes() +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_intro_whoosh_02",2.2); + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_intro_whoosh_03",3); + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_intro_whoosh_04",3.58); + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_intro_whoosh_05",5.2); + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_intro_whoosh_06",8.25); + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_intro_whoosh_07",9.5); + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_intro_whoosh_vent",10.7); + soundscripts\_snd_playsound::snd_play_delayed_loop_2d("lag_intro_drone_amb_conf",10.7,undefined,"kill_conf_loop"); + wait(10.7); + level notify("kill_office_loop"); +} + +//Function Number: 45 +intro_bad_guy_4(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_intro_guy_4"); +} + +//Function Number: 46 +intro_bad_guy_5(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_intro_guy_5"); +} + +//Function Number: 47 +intro_bad_guy_6(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_intro_guy_6"); +} + +//Function Number: 48 +intro_hostage_leader(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_intro_hostage_ldr_foley"); +} + +//Function Number: 49 +intro_hostage_leader_2(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_intro_hostage_ldr_foley_2"); +} + +//Function Number: 50 +intro_hostage_leader_3(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_intro_hostage_ldr_foley_3"); +} + +//Function Number: 51 +intro_prime_minister(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_intro_pm_foley"); +} + +//Function Number: 52 +intro_prime_minister_2(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_intro_pm_foley_2"); +} + +//Function Number: 53 +intro_hostage_executed(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_intro_hostage_execute"); + wait(9.46); + soundscripts\_snd_playsound::snd_play_2d("lag_intro_kill_drone_feed"); + soundscripts\_audio_mix_manager::mm_clear_submix("lag_drone_intro",1); +} + +//Function Number: 54 +start_intro_ambience() +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_walkway"); + soundscripts\_snd_playsound::snd_play_loop_at("lag_walla_police_barricade",(-50565,14563,422),"stop_lag_walla_police_barricade",1,1,1); +} + +//Function Number: 55 +lag_intro_vo_overlap_mix() +{ + soundscripts\_audio_mix_manager::mm_add_submix("lag_intro_vo_overlap_mix",0.1); + level waittill("lag_intro_vo_overlap_mix_done"); + soundscripts\_audio_mix_manager::mm_clear_submix("lag_intro_vo_overlap_mix",1); +} + +//Function Number: 56 +opening_warbird() +{ + level notify("kill_conf_loop"); + soundscripts\_audio_mix_manager::mm_add_submix("lagos_warbird_shutdown"); + soundscripts\_snd_playsound::snd_play_2d("warbird_shutdown_blades_front"); + soundscripts\_snd_playsound::snd_play_2d("warbird_shutdown_engine_front"); + soundscripts\_snd_playsound::snd_play_delayed_2d("warbird_shutdown_chop",5.09); + soundscripts\_snd_playsound::snd_play_delayed_linked("warbird_shutdown_engine_3d",11.2); + wait(18); + soundscripts\_audio_mix_manager::mm_clear_submix("lagos_warbird_shutdown",5); +} + +//Function Number: 57 +setup_briefing_anims() +{ + wait(0.05); + if(level.nextgen || level.transient_zone == "intro") + { + maps\_anim::addnotetrack_customfunction("burke","lag_gid_brief_start",::lag_gid_brief_start,"squad_opening"); + maps\_anim::addnotetrack_customfunction("burke","gideon_gun_prep",::gideon_gun_prep,"squad_opening"); + maps\_anim::addnotetrack_customfunction("burke","lag_gid_brief_equip",::lag_gid_brief_equip,"squad_opening"); + maps\_anim::addnotetrack_customfunction("joker","lag_joke_brief_equip_1",::lag_joke_brief_equip_1,"squad_opening"); + maps\_anim::addnotetrack_customfunction("joker","lag_joke_brief_radio",::lag_joke_brief_radio,"squad_opening"); + maps\_anim::addnotetrack_customfunction("joker","lag_joke_brief_equip_2",::lag_joke_brief_equip_2,"squad_opening"); + maps\_anim::addnotetrack_customfunction("joker","lag_joke_brief_wpn_check",::lag_joke_brief_wpn_check,"squad_opening"); + maps\_anim::addnotetrack_customfunction("joker","lag_joke_brief_equip_3",::lag_joke_brief_equip_3,"squad_opening"); + maps\_anim::addnotetrack_customfunction("joker","lag_joke_brief_approach_plr",::lag_joke_brief_approach_plr,"squad_opening"); + maps\_anim::addnotetrack_customfunction("ajani","lag_ajani_brief_start",::lag_ajani_brief_start,"squad_opening"); + maps\_anim::addnotetrack_customfunction("ajani","lag_ajani_brief_equip",::lag_ajani_brief_equip,"squad_opening"); + } +} + +//Function Number: 58 +lag_gid_brief_start(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_gideon_brief_start"); +} + +//Function Number: 59 +gideon_gun_prep(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_gideon_brief_gun"); +} + +//Function Number: 60 +lag_gid_brief_equip(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_gideon_brief_equip"); +} + +//Function Number: 61 +lag_joke_brief_equip_1(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_joker_brief_equip_1"); +} + +//Function Number: 62 +lag_joke_brief_radio(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_joker_brief_radio"); +} + +//Function Number: 63 +lag_joke_brief_equip_2(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_joker_brief_equip_2"); +} + +//Function Number: 64 +lag_joke_brief_wpn_check(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_joker_brief_wpn_check"); +} + +//Function Number: 65 +lag_joke_brief_equip_3(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_joker_brief_equip_3"); +} + +//Function Number: 66 +lag_joke_brief_approach_plr(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_joker_brief_equip_to_plr"); +} + +//Function Number: 67 +lag_ajani_brief_start(param_00) +{ +} + +//Function Number: 68 +lag_ajani_brief_equip(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_ajani_brief"); +} + +//Function Number: 69 +vig_tram_setup_car(param_00,param_01) +{ + var_02 = self; + param_01 = soundscripts\_audio::aud_get_optional_param(1,param_01); + var_03 = 2; + var_04 = 2; + var_05 = "lag_tram_lp" + soundscripts\_snd::snd_new_guid(); + var_06 = var_02 soundscripts\_snd_playsound::snd_play_loop_linked("lag_tram_lp",var_05,var_03,var_04,param_01); + var_02 thread monitor_tram(var_06,var_05); + if(param_00) + { + if(!isdefined(level.aud.tramby_id)) + { + level.aud.tramby_id = 1; + } + + var_07 = "lag_tramby_0" + level.aud.tramby_id; + level.aud.tramby_id = level.aud.tramby_id + 1; + if(level.aud.tramby_id > 3) + { + level.aud.tramby_id = 1; + } + + var_02 soundscripts\_snd_common::snd_waittill_within_radius(2800); + var_08 = var_02 soundscripts\_snd_playsound::snd_play_linked(var_07,undefined,undefined,undefined,param_01); + } +} + +//Function Number: 70 +monitor_tram(param_00,param_01,param_02) +{ + var_03 = self; + var_04 = 0.05; + var_05 = 0.6; + var_06 = 0.6; + var_07 = 0; + var_08 = 0; + var_09 = [[0,0.1],[1200,1]]; + param_02 = soundscripts\_audio::aud_get_optional_param(1,param_02); + while(isdefined(param_00) && isdefined(var_03)) + { + if(param_02) + { + var_0A = dopplerpitch(var_03.origin,var_03 maps\_shg_utility::get_differentiated_velocity(),level.player.origin,level.player maps\_shg_utility::get_differentiated_velocity(),var_05,var_06); + param_00 scalepitch(var_0A,var_04); + } + + var_08 = var_03 maps\_shg_utility::get_differentiated_speed(); + if(var_08 < var_07 && var_08 < 1) + { + level notify(param_01); + break; + } + + var_07 = var_08; + wait(var_04); + waittillframeend; + } +} + +//Function Number: 71 +setup_exo_door_kick_anims() +{ + if(level.currentgen && level.transient_zone != "intro") + { + return; + } + + maps\_anim::addnotetrack_customfunction("player_rig","exo_door_footstep_01",::exo_door_footstep_01,"exo_door"); + maps\_anim::addnotetrack_customfunction("player_rig","exo_door_footstep_02",::exo_door_footstep_02,"exo_door"); + maps\_anim::addnotetrack_customfunction("player_rig","exo_door_footstep_03",::exo_door_footstep_03,"exo_door"); + maps\_anim::addnotetrack_customfunction("player_rig","exo_door_footstep_04",::exo_door_footstep_04,"exo_door"); +} + +//Function Number: 72 +plr_exo_door_kick() +{ + soundscripts\_audio_mix_manager::mm_add_submix("exo_door_kick",2); + soundscripts\_snd_playsound::snd_play_delayed_2d("door_kick_foley",0.65); + soundscripts\_snd_playsound::snd_play_delayed_2d("plr_door_kick_exo",0.82); + soundscripts\_snd_playsound::snd_play_delayed_2d("plr_door_kick_impact",1.45); + level notify("stop_lag_walla_police_barricade"); +} + +//Function Number: 73 +exo_door_footstep_01(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("step_sprint_plr_default_r",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("gear_rattle_plr_sprint_r",0); +} + +//Function Number: 74 +exo_door_footstep_02(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("step_sprint_plr_default_l",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("gear_rattle_plr_sprint_l",0); +} + +//Function Number: 75 +exo_door_footstep_03(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("step_sprint_plr_default_r",0.05); + soundscripts\_snd_playsound::snd_play_delayed_2d("gear_rattle_plr_sprint_r",0.05); + soundscripts\_audio_mix_manager::mm_clear_submix("exo_door_kick",2); +} + +//Function Number: 76 +exo_door_footstep_04(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("step_run_plr_default_l",0.15); + soundscripts\_snd_playsound::snd_play_delayed_2d("gear_rattle_plr_run_l",0.15); +} + +//Function Number: 77 +gov_bldg_driveup() +{ + var_00 = self; + if(level.aud.truck_swap == 0) + { + level.aud.truck_swap = 1; + var_00 soundscripts\_snd_playsound::snd_play_delayed_linked("lag_gov_driveup_01",1.7); + return; + } + + if(level.aud.truck_swap == 1) + { + var_00 soundscripts\_snd_playsound::snd_play_delayed_linked("lag_gov_driveup_02",9.2); + } +} + +//Function Number: 78 +aud_exo_climb_burke(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("lagos_exo_climb",5); + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_exo_climb_burke",0.05); +} + +//Function Number: 79 +exo_climb_pullup_start(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_exo_climb_start",7.45); +} + +//Function Number: 80 +exo_climb_right_swing_pressed(param_00) +{ +} + +//Function Number: 81 +exo_climb_left_swing_pressed(param_00) +{ +} + +//Function Number: 82 +setup_wall_climb_foley() +{ + if(level.currentgen && level.transient_zone != "intro") + { + return; + } + + maps\_anim::addnotetrack_customfunction("player_rig","aud_exo_climb_gear_lt",::maps\_exo_climb::aud_exo_climb_gear_lt,"exo_climb_pullup_start"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_exo_climb_windup_lt",::maps\_exo_climb::aud_exo_climb_windup_lt,"exo_climb_pullup_start"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_exo_climb_hit_lt",::maps\_exo_climb::aud_exo_climb_hit_lt,"exo_climb_pullup_start"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_exo_climb_gear_rt",::maps\_exo_climb::aud_exo_climb_gear_rt,"exo_climb_pullup_exit"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_exo_climb_windup_lt",::maps\_exo_climb::aud_exo_climb_windup_lt,"exo_climb_pullup_exit"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_exo_climb_windup_rt",::maps\_exo_climb::aud_exo_climb_windup_rt,"exo_climb_pullup_exit"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_exo_climb_hit_lt",::maps\_exo_climb::aud_exo_climb_hit_lt,"exo_climb_pullup_exit"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_exo_climb_hit_rt",::maps\_exo_climb::aud_exo_climb_hit_rt,"exo_climb_pullup_exit"); + maps\_anim::addnotetrack_customfunction("player_rig","lag_gov_wallpullup_exit",::lag_gov_wallpullup_exit,"exo_climb_pullup_exit"); + maps\_anim::addnotetrack_customfunction("player_rig","lag_gov_wallpullup_exit_foot",::lag_gov_wallpullup_exit_foot,"exo_climb_pullup_exit"); + maps\_anim::addnotetrack_customfunction("ajani","lag_npc_exo_climb_foley",::lag_npc_exo_climb_foley,"exo_climb_ajani"); +} + +//Function Number: 83 +setup_alley_wall_climb_foley() +{ + maps\_anim::addnotetrack_customfunction("player_rig","aud_exo_climb_windup_lt",::maps\_exo_climb::aud_exo_climb_windup_lt,"flank_wall_climb"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_exo_climb_windup_rt",::maps\_exo_climb::aud_exo_climb_windup_rt,"flank_wall_climb"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_exo_climb_hit_lt",::maps\_exo_climb::aud_exo_climb_hit_lt,"flank_wall_climb"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_exo_climb_hit_rt",::maps\_exo_climb::aud_exo_climb_hit_rt,"flank_wall_climb"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_exo_climb_flank_over",::aud_exo_climb_flank_over,"flank_wall_climb"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_exo_climb_flank_land",::aud_exo_climb_flank_land,"flank_wall_climb"); + maps\_anim::addnotetrack_customfunction("burke","aud_exo_climb_gideon_land",::aud_exo_climb_gideon_land,"flank_wall_climb"); +} + +//Function Number: 84 +lag_gov_wallpullup_exit(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("lag_exo_climb_pullup_exit"); +} + +//Function Number: 85 +lag_gov_wallpullup_exit_foot(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_exo_climb_pullup_exit_foot",0); + wait(3.5); + soundscripts\_audio_mix_manager::mm_clear_submix("lagos_exo_climb"); +} + +//Function Number: 86 +lag_npc_exo_climb_foley(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_npc_exo_climb_foley"); +} + +//Function Number: 87 +aud_exo_climb_flank_over(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_climb_flank_climb_over"); +} + +//Function Number: 88 +aud_exo_climb_flank_land(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_climb_flank_land"); +} + +//Function Number: 89 +aud_exo_climb_gideon_land(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_climb_flank_land_gideon"); +} + +//Function Number: 90 +gov_building_mute_device() +{ + var_00 = self; + level.player enablecustomweaponcontext(); + enablesoundcontextoverride("mute"); + soundscripts\_snd_playsound::snd_play_delayed_2d("mute_device_activate",0.75); + wait(1.25); + var_00 thread soundscripts\_snd_common::snd_mute_device("mute_device",400,650,18,"mute_device"); + wait(18); + common_scripts\utility::flag_set("flag_roof_breach_mute_complete"); + disablesoundcontextoverride("mute"); + level.player disablecustomweaponcontext(); +} + +//Function Number: 91 +setup_roof_breach_anims() +{ + wait(0.05); + if(level.nextgen || level.transient_zone == "intro") + { + maps\_anim::addnotetrack_customfunction("burke","roof_breach_burke_plant",::roof_breach_burke_plant,"roof_mute_breach_plant"); + maps\_anim::addnotetrack_customfunction("burke","laser_detonate",::roof_breach_laser_detonate,"roof_mute_breach_plant"); + maps\_anim::addnotetrack_customfunction("burke","breach_gideon_land",::breach_gideon_land,"roof_mute_breach_jumpdown"); + maps\_anim::addnotetrack_customfunction("joker","breach_joker_land",::breach_joker_land,"roof_mute_breach_jumpdown"); + maps\_anim::addnotetrack_customfunction("ajani","breach_ajani_land",::breach_ajani_land,"roof_mute_breach_jumpdown"); + maps\_anim::addnotetrack_customfunction("player_rig","breach_player_land",::breach_player_land,"roof_mute_breach_jumpdown"); + } +} + +//Function Number: 92 +roof_breach_burke_plant(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("lag_roof_burke_plant"); +} + +//Function Number: 93 +roof_breach_laser_detonate(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("lag_roof_exp"); +} + +//Function Number: 94 +rooftop_slo_mo_override() +{ + soundscripts\_snd_timescale::snd_set_timescale("lagos_timescale_override"); + soundscripts\_snd_playsound::snd_play_2d("lag_roof_slo_mo"); + wait(10); + soundscripts\_snd_timescale::snd_set_timescale("lagos_default"); +} + +//Function Number: 95 +breach_gideon_land(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_roof_gid_land"); +} + +//Function Number: 96 +breach_joker_land(param_00) +{ +} + +//Function Number: 97 +breach_ajani_land(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_roof_ajani_land"); +} + +//Function Number: 98 +breach_player_land(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("lag_roof_player_land"); +} + +//Function Number: 99 +hb_gun_away() +{ + soundscripts\_snd_playsound::snd_play_2d("lag_hb_gun_away"); +} + +//Function Number: 100 +setup_harmonic_breach_anims() +{ + wait(0.05); + if(level.currentgen && level.transient_zone != "intro") + { + return; + } + + maps\_anim::addnotetrack_customfunction("joker","joker_harmonic_start",::hb_joker_start,"h_breach"); + maps\_anim::addnotetrack_customfunction("joker","joker_harmonic_catch",::hb_joker_catch,"h_breach"); + maps\_anim::addnotetrack_customfunction("joker","joker_harmonic_step_back",::hb_joker_step_back,"h_breach"); + maps\_anim::addnotetrack_customfunction("player_arms","player_harmonic_start",::hb_player_start,"h_breach"); + maps\_anim::addnotetrack_customfunction("player_arms","player_harmonic_plant_1",::hb_player_plant,"h_breach"); +} + +//Function Number: 101 +hb_joker_start(param_00) +{ +} + +//Function Number: 102 +hb_joker_catch(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_hb_plant_joker"); +} + +//Function Number: 103 +hb_joker_step_back(param_00) +{ +} + +//Function Number: 104 +hb_player_start(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("lag_hb_equip_player"); +} + +//Function Number: 105 +hb_player_plant(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("lag_hb_plant_player"); +} + +//Function Number: 106 +hb_sensor_flash_on() +{ + level endon("BreachComplete"); + soundscripts\_audio_mix_manager::mm_add_submix("lag_harmonic_breach",0.5); + soundscripts\_snd_playsound::snd_play_2d("lag_hb_activate"); + soundscripts\_snd_playsound::snd_play_loop_2d("lag_hb_loop","kill_hb_loop",1,0.5); + soundscripts\_snd_playsound::snd_play_2d("lag_hb_radio_noise","kill_radio_transmission",0.05,0.05); + level waittill("BreachFailed"); + level notify("kill_radio_transmission"); +} + +//Function Number: 107 +hb_highlight_enable(param_00) +{ + soundscripts\_snd_playsound::snd_play_linked("lag_hb_highlight"); + soundscripts\_snd_playsound::snd_play_loop_linked("lag_hb_highlight_loop","kill_highlight_loop",0.05,0.05); +} + +//Function Number: 108 +hb_highlight_disable() +{ + level notify("kill_highlight_loop"); +} + +//Function Number: 109 +hb_target_tagged(param_00) +{ + soundscripts\_snd_playsound::snd_play_linked("lag_hb_tag"); + level notify("kill_highlight_loop"); +} + +//Function Number: 110 +hb_target_untagged(param_00) +{ + soundscripts\_snd_playsound::snd_play_loop_linked("lag_hb_highlight_loop","kill_highlight_loop",0.05,0.05); +} + +//Function Number: 111 +hb_lock_targets() +{ + soundscripts\_snd_playsound::snd_play_2d("lag_hb_target_lock"); +} + +//Function Number: 112 +hb_shots_fired() +{ + soundscripts\_snd_playsound::snd_play_2d("lag_hb_bullet_hits"); + level notify("kill_radio_transmission"); + soundscripts\_audio_mix_manager::mm_add_submix("lag_harmonic_breach_vo"); + wait(3); + soundscripts\_audio_mix_manager::mm_clear_submix("lag_harmonic_breach_vo"); +} + +//Function Number: 113 +hb_sensor_flash_off() +{ + soundscripts\_snd_playsound::snd_play_2d("lag_hb_deactivate"); + level notify("kill_hb_loop"); + soundscripts\_audio_mix_manager::mm_clear_submix("lag_harmonic_breach",3); +} + +//Function Number: 114 +setup_pm_rescue_anims() +{ + wait(0.05); + if(level.currentgen && level.transient_zone != "intro") + { + return; + } + + maps\_anim::addnotetrack_customfunction("burke","h_breach_exo_kick",::h_breach_exo_kick,"h_breach_pt1"); + maps\_anim::addnotetrack_customfunction("kva_2","kva_crawling",::kva_crawling,"h_breach_pt1"); + maps\_anim::addnotetrack_customfunction("kva_2","kva_gets_shot",::kva_gets_shot,"h_breach_pt1"); +} + +//Function Number: 115 +h_breach_exo_kick(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_gideon_kick_door_exo"); + thread play_pm_rescue_walla(); +} + +//Function Number: 116 +kva_crawling(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_rescue_kva_crawl"); +} + +//Function Number: 117 +kva_gets_shot(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("lag_rescue_kva_gets_shot",0.2); +} + +//Function Number: 118 +pm_rescue_foley() +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_rescue_pm_foley_misc_01",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_rescue_pm_foley_misc_02",17.92); + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_rescue_pm_foley_misc_03",29.15); + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_rescue_pm_foley_footsteps_01",4.35); + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_rescue_pm_foley_footsteps_02",14.02); + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_rescue_pm_foley_footsteps_03",25.09); + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_rescue_pm_foley_hostage_bg_01",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_rescue_pm_foley_cuffs_breaking_01",0.1); + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_rescue_pm_foley_gear_01",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_rescue_pm_foley_gear_02",6.72); + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_rescue_pm_foley_gear_03",14.02); + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_rescue_pm_foley_gear_04",20.59); + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_rescue_pm_foley_gear_05",24.21); + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_rescue_pm_foley_pm_movement_01",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_rescue_pm_xbuttonpush_01",0); +} + +//Function Number: 119 +play_pm_rescue_walla() +{ + wait(0.5); + var_00 = soundscripts\_snd_playsound::snd_play_at("lag_walla_pm_rescue",(-52215,9177,494),"stop_lag_walla_pm_rescue",0,5); + var_00 scalevolume(0.7,30); + wait(30); + level notify("stop_lag_walla_pm_rescue"); + soundscripts\_snd_playsound::snd_play_loop_at("lag_walla_pm_rescue_lp",(-52437,9214,494),"stop_lag_walla_pm_rescue_lp",5,5,1); +} + +//Function Number: 120 +leaving_gov_building_post_vo() +{ + wait(0.5); + music("leaving_gov_building_post_vo"); + wait(60); + level notify("stop_lag_walla_pm_rescue_lp"); +} + +//Function Number: 121 +roundabout_general_mayhem() +{ + soundscripts\_audio_mix_manager::mm_add_submix("lag_roundabout_attack",0.05); + wait(0.82); + soundscripts\_snd_playsound::snd_play_2d("lag_rndabt_attack_init_explo"); + soundscripts\_snd_playsound::snd_play_2d("bus_van_crash_impact"); + wait(3); + soundscripts\_audio_mix_manager::mm_add_submix("lag_roundabout_big_explo",0.05); + soundscripts\_snd_playsound::snd_play_2d("lag_rndabt_attack_gen_explo"); + wait(1); + soundscripts\_audio_mix_manager::mm_clear_submix("lag_roundabout_attack",0.5); + wait(3); + soundscripts\_audio_mix_manager::mm_clear_submix("lag_roundabout_big_explo"); +} + +//Function Number: 122 +roundabout_rpg_fire() +{ + var_00 = self; + var_00 soundscripts\_snd_playsound::snd_play_linked("lag_rndabt_rpg_incoming"); + var_01 = var_00.origin; + while(isdefined(var_00)) + { + var_01 = var_00.origin; + wait(0.05); + } + + soundscripts\_snd_playsound::snd_play_at("lag_rndabt_rpg_explo",var_01); +} + +//Function Number: 123 +setup_roundabout_rpg_fire_emitters() +{ + level waittill("aud_roundabout_combat_started"); + var_00 = 1; + var_01 = 5; + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_sizzle",(-52411,6121,259),"rpg_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_chem",(-52411,6121,259),"rpg_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_crckl",(-52411,6121,259),"rpg_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_bys",(-52411,6121,259),"rpg_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_roar_01",(-52411,6121,259),"rpg_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_sizzle",(-52300,5952,230),"rpg_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_chem",(-52300,5952,230),"rpg_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_roar_02",(-52300,5952,230),"rpg_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_sizzle",(-51747,5687,230),"rpg_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_crckl",(-51747,5687,230),"rpg_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_roar_01",(-51747,5687,230),"rpg_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_sizzle",(-51662,5537,250),"rpg_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_bys",(-51662,5537,250),"rpg_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_roar_02",(-51662,5537,250),"rpg_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_crckl",(-51531,5693,192),"rpg_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_sizzle",(-51381,5675,192),"rpg_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_chem",(-51535,5442,192),"rpg_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_crckl",(-51401,5429,192),"rpg_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_crckl",(-51517,4932,192),"rpg_fire_loops_kill",var_00,var_01); +} + +//Function Number: 124 +setup_roundabout_tanker_proxy_fire_emitters() +{ + level waittill("aud_roundabout_tanker_explosion"); + var_00 = 2; + var_01 = 3; + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_sizzle",(-51792,5204,237),"tanker_proxy_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_chem",(-51792,5204,237),"tanker_proxy_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_roar_02",(-51954,5010,237),"tanker_proxy_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_crckl",(-51954,5010,237),"tanker_proxy_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_roar_01",(-51753,4865,237),"tanker_proxy_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_sizzle",(-51866,4693,237),"tanker_proxy_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_roar_02",(-52090,4638,237),"tanker_proxy_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_crckl",(-51517,4932,237),"tanker_proxy_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_roar_01",(-52227,4773,237),"tanker_proxy_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_crckl",(-52227,4773,237),"tanker_proxy_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_crckl",(-52549,4595,237),"tanker_proxy_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_bys",(-52549,4595,237),"tanker_proxy_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_roar_02",(-52842,4545,237),"tanker_proxy_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_sizzle",(-52842,4545,237),"tanker_proxy_fire_loops_kill",var_00,var_01); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_tanker_lrg",(-52365,4257,377),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_sizzle",(-51889,4284,239),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_chem",(-51889,4284,239),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_crckl",(-51889,4284,239),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_bys",(-51889,4284,239),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_roar_01",(-51889,4284,239),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_sizzle",(-52172,4316,239),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_chem",(-52172,4316,239),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_crckl",(-52172,4316,239),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_bys",(-52172,4316,239),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_roar_02",(-52172,4316,239),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_sizzle",(-52372,4314,216),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_crckl",(-52372,4314,216),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_bys",(-52372,4314,216),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_roar_01",(-52372,4314,216),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_sizzle",(-51670,4442,209),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_chem",(-51670,4442,209),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_bys",(-51670,4442,209),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_roar_02",(-51670,4442,209),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_sizzle",(-51863,4482,209),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_chem",(-51863,4482,209),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_crckl",(-51863,4482,209),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_roar_02",(-51863,4482,209),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_sizzle",(-51907,4502,222),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_chem",(-51907,4502,222),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_crckl",(-51907,4502,222),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_bys",(-51907,4502,222),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_roar_02",(-51907,4502,222),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_sizzle",(-51997,4414,228),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_chem",(-51997,4414,228),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_crckl",(-51997,4414,228),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_bys",(-51997,4414,228),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_roar_01",(-51997,4414,228),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_sizzle",(-52603,4237,354),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_chem",(-52603,4237,354),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_bys",(-52603,4237,354),"all_fire_emitters_kill"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_fire_grnd_roar_02",(-52603,4237,354),"all_fire_emitters_kill"); +} + +//Function Number: 125 +setup_roundabout_point_source_dambs() +{ + level waittill("aud_roundabout_tanker_explosion"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("damb_lag_fire_rain",(-51950,4876,275),"fire_rain_01"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("damb_lag_fire_rain",(-51588,5296,275),"fire_rain_02"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("damb_lag_fire_rain",(-51361,4806,275),"fire_rain_03"); + level waittill("tanker_proxy_fire_loops_kill"); + soundscripts\_audio_dynamic_ambi::damb_stop_preset_at_point("damb_lag_fire_rain","fire_rain_01",2); + soundscripts\_audio_dynamic_ambi::damb_stop_preset_at_point("damb_lag_fire_rain","fire_rain_02",2); + soundscripts\_audio_dynamic_ambi::damb_stop_preset_at_point("damb_lag_fire_rain","fire_rain_03",2); +} + +//Function Number: 126 +roundabout_panic_walla() +{ + thread roundabout_walla_flag_explosion(); + soundscripts\_snd_playsound::snd_play_loop_2d("lag_walla_rndabt_panic_tense","stop_lag_walla_rndabt_panic_tense",4,3,0.8); + level waittill("aud_roundabout_combat_started"); + wait(1); + var_00 = soundscripts\_snd_playsound::snd_play_2d("lag_walla_rndabt_panic_hi","stop_lag_walla_rndabt_panic_hi",0,4,1); + level notify("stop_lag_walla_rndabt_panic_tense"); + wait(7); + var_01 = soundscripts\_snd_playsound::snd_play_loop_2d("lag_walla_rndabt_panic_md","lag_walla_rndabt_panic_md",4,4,1); + level notify("stop_lag_walla_rndabt_panic_hi"); + var_01 scalevolume(0.4,5); + wait(10); + var_02 = soundscripts\_snd_playsound::snd_play_loop_2d("lag_walla_rndabt_panic_dist","lag_walla_rndabt_panic_dist",4,60,0.5); + level notify("lag_walla_rndabt_panic_md"); + soundscripts\_audio_mix_manager::mm_add_submix("lag_roundabout_combat"); + var_02 scalevolume(0.2,40); + while(!isdefined(level.aud.tanker_exploded)) + { + wait 0.05; + } + + level notify("lag_walla_rndabt_panic_dist"); +} + +//Function Number: 127 +roundabout_walla_flag_explosion() +{ + level waittill("aud_roundabout_tanker_explosion"); + level.aud.tanker_exploded = 1; +} + +//Function Number: 128 +roundabout_combat_started() +{ + soundscripts\_audio_zone_manager::azm_set_zone_streamed_ambience("ext_roundabout","amb_ext_traffic_combat"); + level notify("aud_roundabout_combat_started"); + wait(10); + level notify("rpg_fire_loops_kill"); +} + +//Function Number: 129 +roundabout_tanker_explosion() +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("tanker_explosion_front",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("tanker_explosion_lfe",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("tanker_explosion_rear",0.25); + level notify("aud_roundabout_tanker_explosion"); + soundscripts\_audio_mix_manager::mm_clear_submix("lag_roundabout_combat"); + wait(10); + level notify("tanker_proxy_fire_loops_kill"); +} + +//Function Number: 130 +crossing_into_alley() +{ + level notify("all_fire_emitters_kill"); +} + +//Function Number: 131 +roundabout_exited() +{ + level notify("aud_roundabout_finished"); +} + +//Function Number: 132 +alley_1_big_metal_gate() +{ + level.joker soundscripts\_snd_playsound::snd_play_delayed_linked("metalgate_open_foley_joker_01",0); + level.joker soundscripts\_snd_playsound::snd_play_delayed_linked("metalgate_open_kick",1.294); + level.joker soundscripts\_snd_playsound::snd_play_delayed_linked("metalgate_open_pull",3.491); + level.joker soundscripts\_snd_playsound::snd_play_delayed_linked("metalgate_open_foley_joker_02",4.835); +} + +//Function Number: 133 +oncoming_alley_truck() +{ + var_00 = self; + wait(1); + var_00 soundscripts\_snd_playsound::snd_play_linked("lagos_oncoming_alley_truck_approach"); + var_00 thread truck_turret_listener(); + soundscripts\_audio_mix_manager::mm_add_submix("lagos_oncoming_truck_approach",3); + common_scripts\utility::flag_wait("aud_oncoming_truck_check"); + if(common_scripts\utility::flag("flag_oncoming_player_junction")) + { + var_00 soundscripts\_snd_playsound::snd_play_linked("lagos_oncoming_alley_truck_front"); + wait(4); + var_00 soundscripts\_snd_playsound::snd_play_linked("lagos_oncoming_alley_truck_away"); + wait(2); + soundscripts\_audio_mix_manager::mm_clear_submix("lagos_oncoming_truck_approach",3); + return; + } + + var_00 soundscripts\_snd_playsound::snd_play_linked("lagos_oncoming_alley_truck_away"); + soundscripts\_audio_mix_manager::mm_clear_submix("lagos_oncoming_truck_approach",3); +} + +//Function Number: 134 +lagos_technical_turret_fire() +{ + self playsound("wpn_lagos_technical_npc"); +} + +//Function Number: 135 +truck_turret_flank_alley(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lagos_truck_flank_alley_move"); + param_00.mgturret[0] thread truck_turret_listener(); +} + +//Function Number: 136 +setup_alley_escape_breach() +{ + maps\_anim::addnotetrack_customfunction("burke","lag_alley_gideon_shoulder_charge",::lag_alley_gideon_shoulder_charge,"burke_flank_kick_start"); +} + +//Function Number: 137 +lag_alley_gideon_shoulder_charge(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("lag_gideon_shoulder_charge"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("lag_alley_gideon_shoulder_charge",0); + wait(3); + soundscripts\_audio_mix_manager::mm_clear_submix("lag_gideon_shoulder_charge"); +} + +//Function Number: 138 +truck_turret_listener() +{ + while(!common_scripts\utility::flag("trigger_start_timed_lane_traffic")) + { + self waittill("turret_fire"); + self playsound("wpn_lagos_technical_npc"); + } +} + +//Function Number: 139 +truck_turret_flank_alley_drive_away(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lagos_truck_flank_alley_away"); + wait(2); + soundscripts\_snd_playsound::snd_play_at("lag_walla_flank_alley",(-47126,622,476)); +} + +//Function Number: 140 +setup_alley_anims() +{ + wait(0.5); + maps\_anim::addnotetrack_customfunction("burke","alley_gideon_slide",::alley_gideon_slide,"oncoming_alley_seq_enter"); +} + +//Function Number: 141 +alley_gideon_slide(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("alley_gideon_slide"); +} + +//Function Number: 142 +frogger_vehicle_by(param_00) +{ + var_01 = []; + var_01[0] = 1700; + var_02 = param_00.classname; + var_03 = ""; + if(issubstr(var_02,"bus")) + { + var_03 = "lagos_bus"; + } + else if(issubstr(var_02,"sportscar") || issubstr(var_02,"smartcar")) + { + var_03 = "lagos_car_sporty"; + } + else if(issubstr(var_02,"truck")) + { + var_03 = "lagos_car_truck"; + } + else if(issubstr(var_02,"workvan") || issubstr(var_02,"minivan")) + { + var_03 = "lagos_car_suv"; + } + else + { + var_03 = "lagos_car_sedan"; + } + + param_00 soundscripts\_snd_common::snd_advanced_flyby_system(var_03,undefined,var_01); +} + +//Function Number: 143 +traffic_traverse_fence_rip() +{ + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("cut_through_fence",1.5); + soundscripts\_snd_timescale::snd_set_timescale("lagos_timescale_override"); + thread aud_player_climb_to_ledge(); + soundscripts\_audio_mix_manager::mm_add_submix("lag_bus_chase"); +} + +//Function Number: 144 +handle_busses(param_00) +{ + var_01 = []; + var_02 = 2000; + var_02 = var_02 * var_02; + var_03 = 0; + foreach(var_05 in param_00) + { + var_06 = spawnstruct(); + var_06.id = var_03; + var_06.stop_notify = "handle_busses_stop_bus_" + var_03; + var_06.veh_ent = var_05; + var_06.snd_ent = undefined; + var_01[var_01.size] = var_06; + } + + for(;;) + { + foreach(var_09 in var_01) + { + var_0A = distance2dsquared(level.player.origin,var_09.veh_ent.origin); + if(isdefined(var_09.snd_ent) && var_0A > var_02) + { + var_09.snd_ent = undefined; + level notify(var_09.stop_notify); + continue; + } + + if(!isdefined(var_09.snd_ent) && var_0A < var_02) + { + var_09.snd_ent = var_09.veh_ent soundscripts\_snd_playsound::snd_play_loop_linked("lag_bus_loop",var_09.stop_notify); + } + } + + wait(0.25); + } +} + +//Function Number: 145 +aud_player_climb_to_ledge() +{ + common_scripts\utility::flag_wait("flag_highway_ledge_climb_started"); + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_burke_jump_slowmo_whoosh",10.9,1,"burke_jump_slowmo_stop",0,4); + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_burke_jump_slowmo_start",11.35,1,"burke_jump_slowmo_stop",0,4); +} + +//Function Number: 146 +hostage_truck_fwy_notetrack_setup() +{ + maps\_anim::addnotetrack_customfunction("hostage_truck_fence","hostage_truck_freeway_by",::hostage_truck_freeway_by,"hostage_truck_pass_fence"); +} + +//Function Number: 147 +hostage_truck_freeway_by(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("lag_hostage_truck_freeway_by"); + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_hostage_truck_by",0.25); + wait(6); + soundscripts\_audio_mix_manager::mm_clear_submix("lag_hostage_truck_freeway_by"); +} + +//Function Number: 148 +lag_brk_onme_done() +{ + music("lag_brk_onme_done"); +} + +//Function Number: 149 +lag_brk_nocleanshot_done() +{ + music("lag_brk_nocleanshot_done"); + common_scripts\utility::flag_wait("flag_highway_ledge_jump_started"); + soundscripts\_audio::aud_slomo_wait(2); + music("player_lands_on_first_bus"); +} + +//Function Number: 150 +notify_qte_prompt_and_slowmo() +{ + if(isdefined(level.aud.truck_dodge_qte)) + { + soundscripts\_audio_mix_manager::mm_clear_submix("lag_mid_qte"); + soundscripts\_audio_mix_manager::mm_add_submix("lag_truck_dodge_slowmo_crash"); + } + + if(isdefined(level.aud.truck_jump_slowmo)) + { + soundscripts\_audio_mix_manager::mm_clear_submix("lag_mid_qte_post_crash"); + soundscripts\_audio_mix_manager::mm_clear_submix("lag_bus_chase"); + } + + if(isdefined(level.aud.truck_punch_slowmo)) + { + soundscripts\_audio_mix_manager::mm_add_submix("lag_truck_punch_slowmo"); + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_truck_punch_slowmo_start",0,1,"truck_punch_slowmo_stop",0,3); + } + + if(isdefined(level.aud.truck_to_bus_slowmo)) + { + soundscripts\_audio_mix_manager::mm_add_submix("lag_truck_to_bus_slowmo"); + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_truck_to_bus_slowmo_start",0,1,"truck_to_bus_slowmo_stop",0,3); + } +} + +//Function Number: 151 +bus_jumping_notetrack_setup() +{ + if(level.currentgen && level.transient_zone != "outro") + { + level waittill("tff_post_alley_to_outro"); + } + + maps\_anim::addnotetrack_customfunction("burke","aud_burke_ledge_jump",::aud_burke_ledge_jump,"burke_traffic_start_pt2"); + maps\_anim::addnotetrack_customfunction("burke","aud_burke_bus1_land",::aud_burke_bus1_land,"burke_traffic_start_pt2"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_player_bus1_exo_land",::aud_player_bus1_exo_land,"traffic_start_VM"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_player_bus1_land",::aud_player_bus1_land,"traffic_start_VM"); + maps\_anim::addnotetrack_customfunction("player_arms","aud_player_bus_exo_jump",::aud_player_bus_exo_jump,"bus_jump_vm_a"); + maps\_anim::addnotetrack_customfunction("player_arms","aud_player_bus_exo_land",::aud_player_bus_exo_land,"bus_jump_vm_a"); + maps\_anim::addnotetrack_customfunction("player_arms","aud_player_bus_land",::aud_player_bus_land,"bus_jump_vm_a"); + maps\_anim::addnotetrack_customfunction("player_arms","aud_player_bus_exo_jump",::aud_player_bus_exo_jump,"bus_jump_vm_b"); + maps\_anim::addnotetrack_customfunction("player_arms","aud_player_bus_exo_land",::aud_player_bus_exo_land,"bus_jump_vm_b"); + maps\_anim::addnotetrack_customfunction("player_arms","aud_player_bus_land",::aud_player_bus_land,"bus_jump_vm_b"); + maps\_anim::addnotetrack_customfunction("player_arms","aud_player_bus_exo_jump",::aud_player_bus_exo_jump,"bus_jump_vm_c"); + maps\_anim::addnotetrack_customfunction("player_arms","aud_player_bus_exo_land",::aud_player_bus_exo_land,"bus_jump_vm_c"); + maps\_anim::addnotetrack_customfunction("player_arms","aud_player_bus_land",::aud_player_bus_land,"bus_jump_vm_c"); + maps\_anim::addnotetrack_customfunction("player_arms","aud_player_bus_jump_handplant",::aud_player_bus_jump_handplant,"bus_jump_vm_handplant"); + maps\_anim::addnotetrack_customfunction("kva_truck","lag_mid_qte_truck_01",::lag_mid_qte_truck_01,"truck_middle_takedown_pt1"); + maps\_anim::addnotetrack_customfunction("kva_truck","lag_mid_qte_truck_bounce",::lag_mid_qte_truck_bounce,"truck_middle_takedown_pt1"); + maps\_anim::addnotetrack_customfunction("kva_truck","lag_mid_qte_truck_skids",::lag_mid_qte_truck_skids,"truck_middle_takedown_pt1"); + maps\_anim::addnotetrack_customfunction("kva_truck","aud_truck_dodge_slowmo_whoosh",::aud_truck_dodge_slowmo_whoosh,"truck_middle_takedown_pt1"); + maps\_anim::addnotetrack_customfunction("kva_truck","aud_truck_dodge_slowmo_start",::aud_truck_dodge_slowmo_start,"truck_middle_takedown_pt1"); + maps\_anim::addnotetrack_customfunction("kva_truck","lag_mid_qte_impact",::lag_mid_qte_impact,"truck_middle_takedown_pt2"); + maps\_anim::addnotetrack_customfunction("kva_truck","lag_mid_qte_mtl_chunk",::lag_mid_qte_mtl_chunk,"truck_middle_takedown_pt2"); + maps\_anim::addnotetrack_customfunction("kva_truck","lag_mid_qte_truck_02",::lag_mid_qte_truck_02,"truck_middle_takedown_pt2"); + maps\_anim::addnotetrack_customfunction("player_rig","lag_mid_qte_foley_01a",::lag_mid_qte_foley_01a,"truck_middle_takedown_pt1"); + maps\_anim::addnotetrack_customfunction("player_rig","lag_mid_qte_foley_01b",::lag_mid_qte_foley_01b,"truck_middle_takedown_pt2"); + maps\_anim::addnotetrack_customfunction("player_rig","lag_mid_qte_foley_02",::lag_mid_qte_foley_02,"truck_middle_takedown_pt2"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_truck_jump_slowmo",::aud_truck_jump_slowmo,"truck_middle_takedown_pt2"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_player_jump_to_truck",::aud_player_jump_to_truck,"truck_middle_takedown_pt3"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_player_bus_exo_land",::aud_player_bus_exo_land,"truck_middle_takedown_pt3"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_player_land_on_truck",::aud_player_land_on_truck,"truck_middle_takedown_pt3"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_truck_punch_slowmo",::aud_truck_punch_slowmo,"truck_middle_takedown_pt3"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_player_exo_punch_metal_plate",::aud_player_exo_punch_metal_plate,"truck_middle_takedown_pt4"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_player_throw_metal_plate",::aud_player_throw_metal_plate,"truck_middle_takedown_pt4"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_player_exo_punch_driver",::aud_player_exo_punch_driver,"truck_middle_takedown_pt4"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_player_throw_driver",::aud_player_throw_driver,"truck_middle_takedown_pt4"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_player_climb_foley",::aud_player_climb_foley,"truck_middle_takedown_pt4"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_player_jump_back_to_bus",::aud_player_jump_back_to_bus,"truck_middle_takedown_pt5"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_player_bus_exo_land",::aud_player_bus_exo_land,"truck_middle_takedown_pt5"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_player_land_back_on_bus",::aud_player_land_back_on_bus,"truck_middle_takedown_pt5"); + maps\_anim::addnotetrack_customfunction("kva_truck","aud_truck_hits_divider",::aud_truck_hits_divider,"truck_middle_takedown_pt5"); + maps\_anim::addnotetrack_customfunction("kva_truck","aud_truck_hits_ground",::aud_truck_hits_ground,"truck_middle_takedown_pt5"); + maps\_anim::addnotetrack_customfunction("player_rig","aud_player_grab_mirror",::aud_player_grab_mirror,"hostage_truck_takedown_pt2"); + maps\_anim::addnotetrack_customfunction("hostage_truck","aud_hostage_truck_tbone",::aud_hostage_truck_tbone,"hostage_truck_takedown_pt3"); + maps\_anim::addnotetrack_customfunction("hostage_truck","aud_hostage_truck_over_curb",::aud_hostage_truck_over_curb,"hostage_truck_takedown_pt3"); + maps\_anim::addnotetrack_customfunction("hostage_truck","aud_hostage_truck_over_edge",::aud_hostage_truck_over_edge,"hostage_truck_takedown_pt3"); + maps\_anim::addnotetrack_customfunction("hostage_truck","aud_hostage_truck_hits_water",::aud_hostage_truck_hits_water,"hostage_truck_takedown_pt3"); +} + +//Function Number: 152 +traverse_start_jump_start_slowmo() +{ + soundscripts\_audio_mix_manager::mm_add_submix("lag_burke_jump_slowmo"); +} + +//Function Number: 153 +aud_burke_ledge_jump(param_00) +{ +} + +//Function Number: 154 +traverse_start_jump_end_slowmo() +{ + if(!isdefined(level.aud.traverse_start_jump_end_slowmo)) + { + level.aud.traverse_start_jump_end_slowmo = 1; + soundscripts\_audio::aud_slomo_wait(1); + soundscripts\_audio_mix_manager::mm_clear_submix("lag_burke_jump_slowmo",2); + level notify("burke_jump_slowmo_stop"); + } +} + +//Function Number: 155 +aud_player_bus1_exo_land(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_jump_land"); +} + +//Function Number: 156 +aud_burke_bus1_land(param_00) +{ +} + +//Function Number: 157 +aud_player_bus1_land(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_jump_land_vehicle"); + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_initial_bus_shake",0.05); +} + +//Function Number: 158 +bus_chase_suv_oneshots() +{ + var_00 = self; + var_00 soundscripts\_snd_playsound::snd_play_loop_linked("lag_suv_drive_lp",undefined,1); +} + +//Function Number: 159 +bus_chase_suv_lose_control() +{ + var_00 = self; + var_01 = var_00.origin; + soundscripts\_snd_playsound::snd_play_at("lag_suv_skid",var_01,"kill_skid_sound",undefined,0.1); +} + +//Function Number: 160 +bus_chase_suv_explode() +{ + var_00 = self; + var_01 = var_00.origin; + soundscripts\_snd_playsound::snd_play_at("lag_suv_explo",var_01); + level notify("kill_skid_sound"); +} + +//Function Number: 161 +aud_player_bus_exo_jump(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_jump"); +} + +//Function Number: 162 +aud_player_bus_exo_land(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_jump_land"); +} + +//Function Number: 163 +aud_player_bus_land(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_jump_land_vehicle"); +} + +//Function Number: 164 +aud_player_bus_jump_handplant(param_00) +{ +} + +//Function Number: 165 +lag_brk_stayclose_done() +{ + level.player notifyonplayercommand("a_pressed","+gostand"); + level.player waittill("a_pressed"); + level.player notifyonplayercommandremove("a_pressed","+gostand"); + music("bus_chase_lag_brk_stayclose_done"); +} + +//Function Number: 166 +lag_mid_qte_foley_01a(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("lag_mid_qte"); + soundscripts\_snd_common::snd_enable_soundcontextoverride("bullet_metal_vehicle"); + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_mid_qte_foley_01a",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_mid_qte_body_impact",1.8); + level.aud.truck_dodge_qte = 1; +} + +//Function Number: 167 +lag_mid_qte_truck_01(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_mid_qte_truck_01",0); +} + +//Function Number: 168 +middle_takedown_gun_up() +{ +} + +//Function Number: 169 +lag_mid_qte_truck_bounce(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_mid_qte_truck_bounce",0.155); +} + +//Function Number: 170 +lag_mid_qte_truck_skids(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_mid_qte_truck_skids",0,0,"aud_mid_qte_skids_kill"); +} + +//Function Number: 171 +aud_truck_dodge_slowmo_whoosh(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("bus_truck_dodge_slowmo_whoosh","bus_truck_dodge_slowmo_stop",0,3); +} + +//Function Number: 172 +aud_truck_dodge_slowmo_start(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("bus_truck_dodge_slowmo_start","bus_truck_dodge_slowmo_stop",0,3); +} + +//Function Number: 173 +truck_middle_dodge_slowmo_end() +{ + soundscripts\_audio_mix_manager::mm_clear_submix("lag_truck_dodge_slowmo_crash"); + level.aud.truck_dodge_qte = undefined; + level notify("bus_truck_dodge_slowmo_stop"); +} + +//Function Number: 174 +lag_mid_qte_impact(param_00) +{ + level notify("aud_mid_qte_skids_kill"); + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_mid_qte_impact",0); +} + +//Function Number: 175 +lag_mid_qte_mtl_chunk(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_mid_qte_mtl_chunk",1.1); +} + +//Function Number: 176 +lag_mid_qte_truck_02(param_00) +{ + soundscripts\_audio_mix_manager::mm_clear_submix("lag_truck_dodge_slowmo_crash"); + soundscripts\_audio_mix_manager::mm_add_submix("lag_mid_qte_post_crash"); + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_mid_qte_truck_02",0); +} + +//Function Number: 177 +lag_mid_qte_foley_01b(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_mid_qte_foley_01b",0); +} + +//Function Number: 178 +lag_mid_qte_foley_02(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("lag_mid_qte_foley_02",0); +} + +//Function Number: 179 +aud_truck_jump_slowmo(param_00) +{ + level.aud.truck_jump_slowmo = 1; + soundscripts\_audio_mix_manager::mm_add_submix("lag_truck_exo_sequence"); + soundscripts\_audio_mix_manager::mm_add_submix("lag_truck_jump_slowmo",1.5); + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_truck_jump_slowmo_whoosh",0,1,"truck_jump_slowmo_stop",0,3); + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_truck_jump_slowmo_start",0.45,1,"truck_jump_slowmo_stop",0,3); +} + +//Function Number: 180 +truck_middle_jump_slowmo_end() +{ + level notify("truck_jump_slowmo_stop"); + level.aud.truck_jump_slowmo = undefined; + soundscripts\_audio_mix_manager::mm_clear_submix("lag_truck_jump_slowmo",2); + soundscripts\_snd_playsound::snd_play_2d("bus_truck_jump_engine"); +} + +//Function Number: 181 +aud_player_jump_to_truck(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_jump"); +} + +//Function Number: 182 +aud_player_land_on_truck(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_jump_land_truck"); + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_truck_punch_exo",0.5); + level.aud.truck_punch_slowmo = 1; +} + +//Function Number: 183 +aud_truck_punch_slowmo(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_truck_punch_slowmo_whoosh",0.2,1,"truck_punch_slowmo_stop",0,3); +} + +//Function Number: 184 +truck_middle_punch_slowmo_end() +{ + soundscripts\_audio_mix_manager::mm_clear_submix("lag_truck_punch_slowmo",2); + level notify("truck_punch_slowmo_stop"); + level.aud.truck_punch_slowmo = undefined; +} + +//Function Number: 185 +aud_player_exo_punch_metal_plate(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_truck_punch_impact",0.05,1); +} + +//Function Number: 186 +aud_player_throw_metal_plate(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("bus_truck_windshield_rip"); + soundscripts\_snd_playsound::snd_play_2d("bus_truck_windshield_throw"); + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_driver_punch_exo",2.05,1); +} + +//Function Number: 187 +aud_player_exo_punch_driver(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_driver_punch_impact",0.05,1); +} + +//Function Number: 188 +aud_player_throw_driver(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_driver_throw_exo_windup",0.8,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_driver_throw_exo_release",1.3,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_driver_throw_scream",1.55,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_driver_pole_impact",2.2,1); +} + +//Function Number: 189 +aud_player_climb_foley(param_00) +{ + level.aud.truck_to_bus_slowmo = 1; + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_truck_climb_foley",0,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_truck_to_bus_slowmo_whoosh",0.5,1,"truck_to_bus_slowmo_stop",0,3); +} + +//Function Number: 190 +truck_middle_jump2_slowmo_end() +{ + soundscripts\_audio_mix_manager::mm_clear_submix("lag_truck_to_bus_slowmo",2); + level notify("truck_to_bus_slowmo_stop"); + level.aud.truck_to_bus_slowmo = undefined; + soundscripts\_snd_playsound::snd_play_2d("bus_truck_crash_engine"); +} + +//Function Number: 191 +aud_player_jump_back_to_bus(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_jump"); + soundscripts\_snd_common::snd_disable_soundcontextoverride("bullet_metal_vehicle"); +} + +//Function Number: 192 +aud_player_land_back_on_bus(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("exo_jump_land_vehicle"); + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_truck_flip_impact",0.65,1); +} + +//Function Number: 193 +aud_truck_hits_divider(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_truck_flip_glass",0.1,1); +} + +//Function Number: 194 +aud_truck_hits_ground(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("bus_truck_crash_impact"); + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_truck_crash_impact_rears",0.55,1); + soundscripts\_audio::aud_slomo_wait(1.5); + soundscripts\_audio_mix_manager::mm_add_submix("lag_bus_chase"); + soundscripts\_audio_mix_manager::mm_clear_submix("lag_truck_exo_sequence"); +} + +//Function Number: 195 +lag_brk_takeoutsuv_done() +{ + if(!isdefined(level.aud.mus_lag_brk_takeoutsuv_done)) + { + level.aud.mus_lag_brk_takeoutsuv_done = 1; + music("lag_brk_takeoutsuv_done"); + } +} + +//Function Number: 196 +truck_whipeout_anim_begin() +{ + soundscripts\_audio::aud_slomo_wait(2); + music("buschase_truck_crash_begin"); + soundscripts\_audio::aud_slomo_wait(2); + music("buschase_truck_crash_end"); +} + +//Function Number: 197 +spawn_traffic_helicopter() +{ + self vehicle_turnengineoff(); + soundscripts\_audio_mix_manager::mm_add_submix("lag_bus_chase_helicopter"); + soundscripts\_snd_playsound::snd_play_linked("bus_chase_helicopter"); + self waittill("deathspin"); + soundscripts\_audio_mix_manager::mm_clear_submix("lag_bus_chase_helicopter"); + soundscripts\_audio_mix_manager::mm_add_submix("lag_bus_chase_helicopter_crash"); + soundscripts\_snd_playsound::snd_play_linked("bus_chase_heli_death_explo"); + soundscripts\_snd_playsound::snd_play_linked("bus_chase_heli_death_spin"); + soundscripts\_snd_playsound::snd_play_linked("bus_chase_heli_crash"); + wait(3); + soundscripts\_audio_mix_manager::mm_clear_submix("lag_bus_chase_helicopter_crash",3); +} + +//Function Number: 198 +chase_heli_fire() +{ + self playsound("wpn_heli_guns_npc"); +} + +//Function Number: 199 +final_takedown_abutton_hit() +{ + soundscripts\_snd_playsound::snd_play_2d("exo_jump"); + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_van_jump_slowmo_whoosh",0.45,1,"van_jump_slowmo_stop",0,3); + music("final_takedown_abutton_hit"); +} + +//Function Number: 200 +hostage_truck_slomo_start_pt1() +{ + soundscripts\_audio_mix_manager::mm_clear_submix("lag_bus_chase"); + soundscripts\_audio_mix_manager::mm_add_submix("lag_van_jump_slowmo"); + soundscripts\_snd_playsound::snd_play_2d("bus_van_jump_slowmo_start","van_jump_slowmo_stop",0,3); +} + +//Function Number: 201 +final_takedown_xbutton_hit() +{ + level notify("van_jump_slowmo_stop"); + soundscripts\_audio_mix_manager::mm_clear_submix("lag_van_jump_slowmo",2); + soundscripts\_audio_mix_manager::mm_add_submix("lag_van_takedown_sequence"); +} + +//Function Number: 202 +aud_player_grab_mirror(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("bus_van_mirror_fall_foley"); + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_van_mirror_fall_impact",1.3,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_van_mirror_fall_engine",2.75,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_van_shoot_slowmo_whoosh",4,1,"van_shoot_slowmo_stop",0,3); +} + +//Function Number: 203 +final_takedown_gun_up() +{ + music("final_takedown_gun_up"); + soundscripts\_audio::aud_slomo_wait(8); + music("buschase_ending"); +} + +//Function Number: 204 +hostage_truck_slomo_start_pt2() +{ + soundscripts\_audio_mix_manager::mm_add_submix("lag_van_shoot_slowmo"); + soundscripts\_snd_playsound::snd_play_2d("bus_van_shoot_slowmo_start","van_shoot_slowmo_stop",0,3); +} + +//Function Number: 205 +hostage_truck_slomo_end_pt2() +{ + level notify("van_shoot_slowmo_stop"); + soundscripts\_audio_mix_manager::mm_clear_submix("lag_van_shoot_slowmo",2); + soundscripts\_snd_playsound::snd_play_2d("bus_van_shoot_lose_control"); + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_van_pre_crash_engine",8.2,1); + soundscripts\_audio::aud_slomo_wait(8.5); + soundscripts\_audio_mix_manager::mm_clear_submix("lag_van_takedown_sequence",0.5); + soundscripts\_audio_mix_manager::mm_add_submix("lag_van_crash_sequence",0.5); +} + +//Function Number: 206 +aud_hostage_truck_tbone(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("bus_van_crash_impact"); + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_van_crash_grit",0.2,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_van_crash_skids",0.45,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_van_post_crash_engine",1.35,1); +} + +//Function Number: 207 +aud_hostage_truck_over_curb(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("bus_van_crash_median_barrels"); + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_van_guardrail_impact",0.35,1); +} + +//Function Number: 208 +aud_hostage_truck_over_edge(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_van_guardrail_fall_debris",0.15,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_water_van_hit",2.35,1); +} + +//Function Number: 209 +aud_hostage_truck_hits_water(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_water_player_pre_splash",0.25,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_water_player_splash_fronts",0.3,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("bus_water_player_hit_underwater",0.4,1); + wait(3); + soundscripts\_audio_mix_manager::mm_clear_submix("lag_van_crash_sequence",3); +} + +//Function Number: 210 +underwater_sequence(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("lag_underwater",0.5); + soundscripts\_snd_playsound::snd_play_loop_2d("lag_underwater_ambience","kill_underwater_ambience",0.5,1); + param_00 soundscripts\_snd_playsound::snd_play_loop_linked("lag_underwater_truck_bubbles","kill_underwater_ambience",0.05,6); +} + +//Function Number: 211 +underwater_rescue() +{ + level notify("kill_underwater_ambience"); + soundscripts\_snd_playsound::snd_play_2d("lag_underwater_rescue","kill_underwater_rescue",0.05,5); + level waittill("swimming_fade"); + level notify("kill_underwater_rescue"); +} + +//Function Number: 212 +lagos_swimming_stroke() +{ + soundscripts\_snd_playsound::snd_play_2d("lag_underwater_swim_stroke"); +} + +//Function Number: 213 +lagos_swimming_drowning_start() +{ + soundscripts\_snd_playsound::snd_play_2d("lag_underwater_drowning"); +} + +//Function Number: 214 +lagos_swimming_into_stroke() +{ + soundscripts\_snd_playsound::snd_play_2d("lag_underwater_swim_stroke"); +} + +//Function Number: 215 +shore_ending() +{ + soundscripts\_audio_zone_manager::azm_start_zone("lag_shore_pcap",3); + soundscripts\_audio_mix_manager::mm_clear_submix("lag_underwater",0.5); +} + +//Function Number: 216 +shore_pcap_notetrack_setup() +{ + wait(0.05); + if(level.currentgen && level.transient_zone != "outro") + { + level waittill("tff_post_alley_to_outro"); + } + + maps\_anim::addnotetrack_customfunction("player_rig","shore_plr_slapped",::shore_plr_slapped,"hostage_truck_takedown_pt5"); + maps\_anim::addnotetrack_customfunction("player_rig","shore_plr_tries_to_get_up",::shore_plr_tries_to_get_up,"hostage_truck_takedown_pt5"); + maps\_anim::addnotetrack_customfunction("player_rig","shore_plr_grab_wpn",::shore_plr_grab_wpn,"hostage_truck_takedown_pt5"); + maps\_anim::addnotetrack_customfunction("burke","lagos_shore_pcap_start",::lagos_shore_pcap_start,"hostage_truck_takedown_pt5"); + maps\_anim::addnotetrack_customfunction("burke","shore_gideon_slap_plr",::shore_gideon_slap_plr,"hostage_truck_takedown_pt5"); + maps\_anim::addnotetrack_customfunction("burke","shore_gideon_grab_plr",::shore_gideon_grab_plr,"hostage_truck_takedown_pt5"); + maps\_anim::addnotetrack_customfunction("burke","shore_gideon_turn",::shore_gideon_turn,"hostage_truck_takedown_pt5"); + maps\_anim::addnotetrack_customfunction("burke","shore_gideon_nudge",::shore_gideon_nudge,"hostage_truck_takedown_pt5"); + maps\_anim::addnotetrack_customfunction("burke","shore_gideon_moneys_worth",::shore_gideon_moneys_worth,"hostage_truck_takedown_pt5"); + maps\_anim::addnotetrack_customfunction("burke","shore_gideon_pickup_wpn",::shore_gideon_pickup_wpn,"hostage_truck_takedown_pt5"); + maps\_anim::addnotetrack_customfunction("burke","shore_gideon_stand",::shore_gideon_stand,"hostage_truck_takedown_pt5"); + maps\_anim::addnotetrack_customfunction("joker","shore_joker_run_in",::shore_joker_run_in,"hostage_truck_takedown_pt5"); + maps\_anim::addnotetrack_customfunction("joker","shore_joker_nudges_hostage",::shore_joker_nudges_hostage,"hostage_truck_takedown_pt5"); + maps\_anim::addnotetrack_customfunction("joker","shore_joker_helps_with_hostage",::shore_joker_helps_with_hostage,"hostage_truck_takedown_pt5"); + maps\_anim::addnotetrack_customfunction("ajani","shore_ajani_run_in",::shore_ajani_run_in,"hostage_truck_takedown_pt5"); + maps\_anim::addnotetrack_customfunction("ajani","shore_ajani_walks_away",::shore_ajani_walks_away,"hostage_truck_takedown_pt5"); +} + +//Function Number: 217 +shore_plr_slapped(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("lag_ending_pcap_scene"); + soundscripts\_snd_playsound::snd_play_2d("lag_shore_plr_slapped"); +} + +//Function Number: 218 +shore_plr_tries_to_get_up(param_00) +{ +} + +//Function Number: 219 +shore_plr_grab_wpn(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("lag_shore_plr_wpn"); +} + +//Function Number: 220 +lagos_shore_pcap_start(param_00) +{ +} + +//Function Number: 221 +shore_gideon_slap_plr(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("lag_shore_gideon_slap"); +} + +//Function Number: 222 +shore_gideon_grab_plr(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_shore_gideon_grab_plr"); +} + +//Function Number: 223 +shore_gideon_turn(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_shore_gideon_turn"); +} + +//Function Number: 224 +shore_gideon_nudge(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_shore_gideon_nudge"); +} + +//Function Number: 225 +shore_gideon_moneys_worth(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_shore_gideon_moneys_worth"); +} + +//Function Number: 226 +shore_gideon_pickup_wpn(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_shore_gideon_wpn"); +} + +//Function Number: 227 +shore_gideon_stand(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_shore_gideon_stand"); +} + +//Function Number: 228 +shore_joker_run_in(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_shore_joker_enter"); +} + +//Function Number: 229 +shore_joker_nudges_hostage(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_shore_joker_nudge"); +} + +//Function Number: 230 +shore_joker_helps_with_hostage(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_shore_joker_help"); +} + +//Function Number: 231 +shore_ajani_run_in(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_shore_ajani_enter"); +} + +//Function Number: 232 +shore_ajani_walks_away(param_00) +{ +} + +//Function Number: 233 +lag_gl_end_logo() +{ + soundscripts\_snd_playsound::snd_play_2d("lag_gl_end_logo"); + soundscripts\_audio_mix_manager::mm_add_submix("lag_gl_end_logo"); +} + +//Function Number: 234 +temp_dog_bark(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_dog_bark"); +} \ No newline at end of file diff --git a/AW/PC/maps/lagos_code.gsc b/AW/PC/maps/lagos_code.gsc new file mode 100644 index 0000000..9f6151a --- /dev/null +++ b/AW/PC/maps/lagos_code.gsc @@ -0,0 +1,8182 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: lagos_code.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 362 + * Decompile Time: 5282 ms + * Timestamp: 4/22/2024 2:33:42 AM +*******************************************************************/ + +//Function Number: 1 +lagos_title_screen() +{ + level.player disableweapons(); + level.player freezecontrols(1); + thread maps\_shg_utility::play_chyron_video("chyron_text_lagos",2,3); + common_scripts\utility::flag_wait("chyron_video_done"); + soundscripts\_snd::snd_message("intro_fly_drone_idle"); +} + +//Function Number: 2 +setup_gameplay() +{ + setup_alpha_squad(); + thread squad_opening(); + thread exo_door(); + thread government_building(); + thread roundabout_setup(); + thread roundabout_combat(); + thread spawncivilians_roundabout(); + thread roundabout_traffic(); + thread alley1_combat(); + thread alley1_oncoming(); + thread alley2_combat(); + thread flank_combat(); + thread frogger_combat(); + thread traffic_rooftop_traverse(); + thread traffic_takedown(); + thread level_bounds(); + thread level_progress(); + thread flank_alley_door_kick(); + player_upkeep(); +} + +//Function Number: 3 +monitorstartdronecontrol(param_00,param_01) +{ + if(!isdefined(param_00)) + { + param_00 = 0; + } + + if(!isdefined(param_01)) + { + param_01 = 1; + } + + var_02 = getent("PlayerDroneStartpoint","targetname"); + var_03 = getent("PlayerDroneTargetpoint","targetname"); + var_04 = getent("PlayerDroneLookAt","targetname"); + var_05 = []; + var_05[var_05.size] = getent("FlyDroneBottomN","targetname"); + var_05[var_05.size] = getent("FlyDroneBottomE","targetname"); + var_05[var_05.size] = getent("FlyDroneBottomS","targetname"); + var_05[var_05.size] = getent("FlyDroneBottomW","targetname"); + level.player thread maps\_controlled_orbiting_drone::startdronecontrol(var_03,var_02,var_04,param_00,param_01,var_05); + if(param_00 == 1) + { + wait(0.25); + level.player setblurforplayer(0,1); + wait(0.25); + maps\_hud_util::fade_in(0.5,"white"); + } + + thread monitorenddronecontrol(); +} + +//Function Number: 4 +monitorenddronecontrol() +{ + common_scripts\utility::flag_wait("FlagPlayerEndDroneControl"); + maps\_controlled_orbiting_drone::enddronecontrol(); + drone_intro_fov_shift_off(); +} + +//Function Number: 5 +hide_radio() +{ +} + +//Function Number: 6 +setup_alpha_squad() +{ + level.burke = getent("burke","targetname") maps\_utility::spawn_ai(1,1); + level.joker = getent("joker","targetname") maps\_utility::spawn_ai(1,1); + level.ajani = getent("ajani","targetname") maps\_utility::spawn_ai(1,1); + level.ajani thread hide_radio(); + level.burke maps\_utility::forceuseweapon("iw5_bal27_sp","primary"); + level.joker maps\_utility::forceuseweapon("iw5_bal27_sp","primary"); + level.burke.animname = "burke"; + level.joker.animname = "joker"; + level.ajani.animname = "ajani"; + level.alpha_squad = [level.burke,level.joker,level.ajani]; + level.alpha_squad_and_player = [level.burke,level.joker,level.ajani,level.player]; +} + +//Function Number: 7 +drone_intro() +{ + thread maps\_player_exo::player_exo_deactivate(); + var_00 = 105; + level.origfov = getdvarint("cg_fov"); + level.player lerpfov(var_00,0.5); + common_scripts\utility::flag_set("fly_drone_in_progess"); + thread lagos_title_screen(); + thread drone_intro_kva_front_setup(); + thread drone_intro_nig_mil_setup(); + thread drone_intro_conf_room_scene(); + thread gov_hostage_h_breach_doors(); + common_scripts\utility::flag_wait("chyron_video_done"); + thread maps\lagos_vo::fly_drone_intro_dialogue(); + wait(5); + thread vig_tram_setup_intro(); + thread drone_start_player_input(); + common_scripts\utility::flag_wait("flag_player_input_for_drone_start"); + wait(1); + thread maps\lagos_utility::rumble_flydrone_animation(); + thread maps\lagos_utility::fly_drone_ui_on(); + thread monitorstartdronecontrol(1,0); + level waittill("drone_opening_finished"); + common_scripts\utility::flag_set("fly_drone_done_lighting"); + common_scripts\utility::flag_set("intro_playerstart"); + level.fly_drone_rumbling = 0; + level notify("fly_drone_not_moving"); + maps\_utility::teleport_player(common_scripts\utility::getstruct("intro_playerstart","targetname")); + level.player freezecontrols(0); + maps\_shg_utility::show_player_hud(); + level notify("drone_intro_complete"); + common_scripts\utility::flag_set("obj_rescue_PM"); + wait(1); + common_scripts\utility::flag_set("FlagPlayerEndDroneControl"); +} + +//Function Number: 8 +drone_intro_fov_shift() +{ + var_00 = 105; + level.origfov = getdvarint("cg_fov"); + level.player lerpfov(var_00,0.5); + level waittill("drone_opening_finished"); + level.player lerpfov(level.origfov,2); +} + +//Function Number: 9 +drone_intro_fov_shift_on(param_00) +{ + var_01 = 50; + level.player lerpfov(var_01,0.1); +} + +//Function Number: 10 +drone_intro_fov_shift_off(param_00) +{ + level.player lerpfov(level.origfov,0.5); +} + +//Function Number: 11 +drone_intro_conf_room_scene() +{ + var_00 = getent("anim_org_drone_opening","targetname"); + level.player maps\_shg_utility::setup_player_for_scene(); + var_01 = maps\_utility::spawn_anim_model("player_arms"); + level.player playerlinktodelta(var_01,"tag_player",1,30,30,0,0,1); + soundscripts\_snd::snd_message("fly_drone_camera_start_1",var_01,level.player); + var_01 hide(); + var_02 = getent("kva_hostage_leader","targetname"); + level.kva_hostage_leader = var_02 maps\_utility::spawn_ai(1); + level.kva_hostage_leader.animname = "kva_hostage_leader"; + level.kva_hostage_leader maps\_utility::gun_remove(); + level.kva_hostage_leader attach("npc_titan45_nocamo","TAG_WEAPON_RIGHT",0); + var_03 = getent("kva_hostage_minister_intro","targetname"); + level.kva_hostage_minister = var_03 maps\_utility::spawn_ai(1); + level.kva_hostage_minister.animname = "kva_hostage_minister"; + level.kva_hostage_minister maps\_utility::gun_remove(); + level.kva_hostage_minister.name = ""; + var_04 = getent("kva_hostage_victim","targetname"); + level.kva_hostage_victim = var_04 maps\_utility::spawn_ai(1); + level.kva_hostage_victim.animname = "kva_hostage_victim"; + level.kva_hostage_victim maps\_utility::gun_remove(); + var_05 = maps\_utility::spawn_anim_model("drone_photo"); + var_05 maps\_utility::assign_animtree(); + var_05 attach("lag_polaroid_hostage_photo","TAG_ORIGIN_animated",0); + var_06 = maps\_utility::spawn_anim_model("pm_cuffs"); + var_06 maps\_utility::assign_animtree(); + var_07 = maps\_utility::spawn_anim_model("vic_cuffs"); + var_07 maps\_utility::assign_animtree(); + var_00 thread maps\_anim::anim_loop_solo(var_01,"drone_opening_idle","player_input_for_drone_start"); + common_scripts\utility::flag_wait("flag_player_input_for_drone_start"); + var_00 notify("player_input_for_drone_start"); + thread maps\lagos_h_breach::drone_intro_conf_flythrough_actors(var_00); + var_08 = []; + var_08[0] = level.kva_hostage_leader; + var_08[1] = level.kva_hostage_minister; + var_08[2] = level.kva_hostage_victim; + var_08[3] = var_05; + var_08[4] = var_06; + var_08[5] = var_07; + var_09 = drone_intro_anim_length(); + thread drone_flyin_vm(var_00,var_01); + var_00 thread maps\_anim::anim_single(var_08,"drone_opening"); + if(level.currentgen) + { + thread set_stream_origin_for_intro(); + } + + wait(var_09); + thread maps\_introscreen::introscreen_generic_black_fade_in(1,0.89,0.1); + level notify("drone_opening_finished"); + wait(0.5); + foreach(var_0B in var_08) + { + var_0B delete(); + } + + var_01 delete(); +} + +//Function Number: 12 +set_stream_origin_for_intro() +{ + var_00 = drone_intro_anim_length(); + var_00 = var_00 - 10; + wait(var_00); + var_01 = (-49739,15569,314); + level.player playersetstreamorigin(var_01); + common_scripts\utility::flag_wait("squad_opening_start"); + wait(2); + level.player playerclearstreamorigin(); +} + +//Function Number: 13 +drone_start_player_input() +{ + thread maps\lagos_utility::hint_instant(&"LAGOS_START_FLY_DRONE"); + soundscripts\_snd::snd_message("fly_drone_picture_live"); + while(!common_scripts\utility::flag("flag_player_input_for_drone_start")) + { + if(level.player usebuttonpressed()) + { + common_scripts\utility::flag_set("flag_player_input_for_drone_start"); + soundscripts\_snd::snd_message("fly_drone_activate"); + wait(0.25); + thread maps\lagos_utility::hint_fade_instant(); + return; + } + + wait 0.05; + } +} + +//Function Number: 14 +drone_flyin_vm(param_00,param_01) +{ + param_00 maps\_anim::anim_single_solo(param_01,"drone_opening_player_control"); + common_scripts\utility::flag_set("drone_fly_anim_done"); +} + +//Function Number: 15 +drone_intro_anim_length() +{ + var_00 = getanimlength(%lag_gov_hostage_room_flythrough_vm); + var_01 = 1.5; + var_02 = var_00 - var_01; + return var_02; +} + +//Function Number: 16 +drone_intro_kva_front_setup() +{ + var_00 = common_scripts\utility::getstruct("anim_org_drone_intro2","targetname"); + var_01 = getent("drone_intro_spawner","targetname"); + var_02 = []; + var_03 = 6; + for(var_04 = 0;var_04 < var_03;var_04++) + { + var_01.count = 1; + var_05 = var_01 maps\_utility::spawn_ai(1); + wait 0.05; + var_05.animname = "drone_intro"; + var_05 thread maps\lagos_utility::disable_awareness(); + var_02 = common_scripts\utility::array_add(var_02,var_05); + } + + var_06 = maps\_utility::spawn_anim_model("intro_duffle"); + var_06 maps\_utility::assign_animtree(); + var_02 = common_scripts\utility::array_add(var_02,var_06); + level.kva_opening_vo = var_02[5]; + wait(2); + common_scripts\utility::flag_wait("flag_player_input_for_drone_start"); + var_00 thread maps\_anim::anim_single_solo(var_02[0],"drop_bag"); + var_00 thread maps\_anim::anim_single_solo(var_02[1],"run_into_room"); + var_00 thread maps\_anim::anim_single_solo(var_02[2],"aim_turret"); + var_00 thread maps\_anim::anim_single_solo(var_02[3],"aim_forward"); + var_00 thread maps\_anim::anim_single_solo(var_02[4],"guy_5"); + var_00 thread maps\_anim::anim_single_solo(var_02[5],"guy_6"); + var_00 thread maps\_anim::anim_single_solo(var_06,"drop_bag"); + var_02[2] maps\_utility::gun_remove(); + level waittill("drone_intro_complete"); + foreach(var_08 in var_02) + { + if(isdefined(var_08) && isalive(var_08)) + { + var_08 delete(); + } + } +} + +//Function Number: 17 +drone_intro_nig_mil_setup() +{ + common_scripts\utility::flag_wait("flag_player_input_for_drone_start"); + var_00 = getentarray("militia_drive_start_front","targetname"); + var_01 = []; + foreach(var_03 in var_00) + { + var_04 = var_03 maps\_utility::spawn_ai(1); + var_03.count = 1; + var_04.goalradius = 16; + var_04 thread maps\_utility::magic_bullet_shield(1); + var_01 = common_scripts\utility::array_add(var_01,var_04); + var_04 thread gov_building_firefight_change_pos(); + } + + level waittill("drone_intro_complete"); + foreach(var_04 in var_01) + { + var_04 delete(); + } +} + +//Function Number: 18 +warbird_hide_blury_rotors() +{ + self hidepart("TAG_SPIN_MAIN_ROTOR_L"); + self hidepart("TAG_SPIN_MAIN_ROTOR_R"); + self hidepart("TAG_SPIN_TAIL_ROTOR"); +} + +//Function Number: 19 +squad_opening() +{ + level.squad_opening_warbird = getent("squad_opening_warbird","targetname"); + thread opening_prop_deletes(); + common_scripts\utility::flag_wait("obj_rescue_PM"); + common_scripts\utility::flag_wait("squad_opening_start"); + thread vig_intro_civ_populate(); + if(common_scripts\utility::flag("no_anim_squad_opening")) + { + return; + } + + var_00 = []; + var_01 = getent("anim_org_opening_squad","targetname"); + var_02 = var_01 common_scripts\utility::spawn_tag_origin(); + var_02.origin = var_02.origin - (0,0,7); + soundscripts\_snd::snd_message("start_intro_ambience"); + level.squad_opening_warbird.origin = level.squad_opening_warbird.origin + (70000,0,0); + level.squad_opening_warbird.animname = "squad_opening_warbird"; + level.squad_opening_warbird maps\_utility::assign_animtree(); + level.squad_opening_warbird soundscripts\_snd::snd_message("opening_warbird"); + level.squad_opening_warbird warbird_hide_blury_rotors(); + var_03 = maps\_utility::spawn_anim_model("lag_intro_prop1"); + var_01 maps\_anim::anim_first_frame_solo(var_03,"squad_opening"); + var_04 = maps\_utility::spawn_anim_model("lag_intro_prop2"); + var_01 maps\_anim::anim_first_frame_solo(var_04,"squad_opening"); + level.player maps\_shg_utility::setup_player_for_scene(); + level.player enableslowaim(0.2,0.2); + var_05 = maps\_utility::spawn_anim_model("player_rig"); + var_01 maps\_anim::anim_first_frame_solo(var_05,"squad_opening"); + level.player playerlinktodelta(var_05,"tag_player",1,7,7,5,5,1); + var_06 = [var_03,var_04]; + var_02 thread maps\_anim::anim_first_frame([level.squad_opening_warbird],"squad_opening"); + var_01 maps\_anim::anim_first_frame(var_06,"squad_opening"); + thread maps\lagos_vo::pcap_squad_briefing(); + thread squad_intro_walkway_goto(); + var_01 thread maps\_anim::anim_single(var_06,"squad_opening"); + var_02 thread maps\_anim::anim_single([level.squad_opening_warbird],"squad_opening"); + self.animarrayfuncs["exposed"]["stand"] = ::animscripts\corner::set_standing_animarray_aiming; + self.animarrayfuncs["exposed"]["crouch"] = ::animscripts\corner::set_crouching_animarray_aiming; + level.burke thread squad_intro_anim_burke(var_01); + level.joker thread squad_intro_anim_joker(var_01); + level.ajani thread squad_intro_anim_ajani(var_01); + thread squad_opening_names(); + var_01 maps\_anim::anim_single_solo(var_05,"squad_opening"); + common_scripts\utility::flag_set("obj_rescue_PM_pos"); + level.player unlink(); + var_05 delete(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.player disableslowaim(); + level.player disableinvulnerability(); + level.player enableweapons(); + level.player enableweaponswitch(); + level.player enableoffhandweapons(); + level.player allowads(1); + maps\_utility::autosave_by_name(); + level notify("intro_walkway_go"); + thread maps\_player_exo::player_exo_activate(); + common_scripts\utility::flag_wait("vo_squad_move_out_dialogue"); + thread maps\lagos_vo::squad_move_out_dialogue(); + level waittill("gov_driveup_started"); + level.squad_opening_warbird delete(); +} + +//Function Number: 20 +opening_prop_deletes() +{ + wait(3); + if(common_scripts\utility::flag("obj_progress_exo_door_clear")) + { + level.squad_opening_warbird delete(); + } +} + +//Function Number: 21 +squad_opening_names() +{ + level.burke thread maps\lagos_utility::hide_friendname_until_flag_or_notify("show_names"); + level.joker thread maps\lagos_utility::hide_friendname_until_flag_or_notify("show_names"); + level.ajani thread maps\lagos_utility::hide_friendname_until_flag_or_notify("show_names"); + wait(0.5); + level notify("show_names"); +} + +//Function Number: 22 +squad_intro_anim_burke(param_00) +{ + var_01 = level.burke gettagorigin("J_SpineUpper"); + var_02 = level.burke gettagangles("J_SpineUpper"); + var_03 = maps\_utility::spawn_anim_model("rooftop_breach_device"); + var_03.origin = var_01; + var_03.angles = var_02; + wait 0.05; + var_03 linkto(level.burke,"J_SpineUpper",(5,-6,0),(0,0,90)); + thread maps\lagos_utility::ally_redirect_goto_node("Gideon","intro_walkway_burke",1,::maps\lagos_utility::disable_awareness); + param_00 maps\_anim::anim_single_solo_run(level.burke,"squad_opening"); + level waittill("roof_breach_start"); + var_03 delete(); +} + +//Function Number: 23 +squad_intro_anim_joker(param_00) +{ + thread maps\lagos_utility::ally_redirect_goto_node("Joker","intro_walkway_joker",1,::maps\lagos_utility::disable_awareness); + param_00 maps\_anim::anim_single_solo_run(self,"squad_opening"); +} + +//Function Number: 24 +squad_intro_anim_ajani(param_00) +{ + thread maps\lagos_utility::ally_redirect_goto_node("Ajani","intro_walkway_ajani",1,::maps\lagos_utility::disable_awareness); + param_00 maps\_anim::anim_single_solo_run(self,"squad_opening"); +} + +//Function Number: 25 +squad_intro_fov_shift_on(param_00) +{ + var_01 = 50; + level.player lerpfov(var_01,0.5); +} + +//Function Number: 26 +squad_intro_fov_shift_off(param_00) +{ + if(!isdefined(level.origfov)) + { + level.origfov = 65; + } + + level.player lerpfov(level.origfov,0.5); +} + +//Function Number: 27 +vig_intro_civ_populate() +{ + thread vig_vehicle_traffic_init(); + thread vig_vehicle_removal(); + thread vig_civ_traffic_init(); + if(level.nextgen) + { + thread vig_bike_rider_maintainer("bike_rider_path",5); + } + + thread vig_tram_setup(); + thread vig_mil_balc_setup(); + level notify("tram_start"); +} + +//Function Number: 28 +vig_vehicle_traffic_init() +{ + if(!level.currentgen) + { + level.intro_reg_vehicles = []; + thread vig_vehicle_traffic_scripted_left(); + thread vig_vehicle_traffic_scripted_right(); + } +} + +//Function Number: 29 +vig_vehicle_traffic_straight_mover_movement(param_00) +{ + var_01 = int(self.script_parameters); + var_02 = randomfloatrange(3,7); + var_03 = randomfloatrange(0.5,1.5); + var_04 = randomfloatrange(0.5,1.5); + if(isdefined(param_00)) + { + level waittill(param_00); + self moveto(self.origin + (0,var_01 * -1,0),var_02,var_03,var_04); + wait(var_02); + level notify("straight_done_moving"); + return; + } + + self moveto(self.origin + (0,var_01 * -1,0),var_02,var_03,var_04); + level notify("straight_done_moving"); +} + +//Function Number: 30 +vig_vehicle_traffic_turn_mover_movement(param_00,param_01) +{ + var_02 = maps\_utility::spawn_vehicle(); + var_02 thread vig_vehicle_fail_on_death(); + wait(randomfloat(0.75)); + var_02 maps\_vehicle::gopath(); + wait(randomfloat(0.55)); + var_02 vehicle_setspeedimmediate(0,50,50); + if(isdefined(param_00)) + { + level waittill(param_00); + } + + if(!iscaralive(var_02)) + { + return; + } + + level.intro_reg_vehicles = common_scripts\utility::array_add(level.intro_reg_vehicles,var_02); + var_02 vehicle_setspeed(5,10,10); + var_02 maps\_vehicle::gopath(); + var_02 waittill("goal"); + if(isdefined(param_01)) + { + level notify(param_01); + } +} + +//Function Number: 31 +vig_vehicle_traffic_scripted_left() +{ + var_00 = 1; + var_01 = 8; + var_02 = getent("turn_mover1_lt","script_noteworthy"); + var_03 = getent("turn_mover3_lt","script_noteworthy"); + var_04 = getent("turn_mover4_lt","script_noteworthy"); + var_05 = getent("turn_mover5_lt","script_noteworthy"); + var_06 = getent("turn_mover6_lt","script_noteworthy"); + var_07 = getent("turn_mover7_lt","script_noteworthy"); + var_02 thread vig_vehicle_traffic_turn_mover_movement("mover1_go","mover1_stop"); + var_03 thread vig_vehicle_traffic_turn_mover_movement("mover3_go","mover1_stop"); + var_04 thread vig_vehicle_traffic_turn_mover_movement("mover4_go","mover1_stop"); + var_05 thread vig_vehicle_traffic_turn_mover_movement("mover5_go","mover1_stop"); + var_06 thread vig_vehicle_traffic_turn_mover_movement("mover6_go","mover1_stop"); + var_07 thread vig_vehicle_traffic_turn_mover_movement("mover7_go","mover1_stop"); + level waittill("intro_walkway_go"); + level notify("mover1_go"); + wait(randomfloatrange(var_00,var_01)); + wait(randomfloatrange(var_00,var_01)); + level notify("mover3_go"); + wait(randomfloatrange(var_00,var_01)); + level notify("mover4_go"); + wait(randomfloatrange(var_00,var_01)); + level notify("mover5_go"); + wait(randomfloatrange(var_00,var_01)); + level notify("mover6_go"); + wait(randomfloatrange(var_00,var_01)); + level notify("mover7_go"); +} + +//Function Number: 32 +vig_vehicle_traffic_scripted_right() +{ + var_00 = 1; + var_01 = 8; + var_02 = getent("turn_mover1_rt","script_noteworthy"); + var_03 = getent("turn_mover3_rt","script_noteworthy"); + var_04 = getent("turn_mover4_rt","script_noteworthy"); + var_05 = getent("turn_mover6_rt","script_noteworthy"); + var_06 = getent("turn_mover7_rt","script_noteworthy"); + var_02 thread vig_vehicle_traffic_turn_mover_movement("mover1_go","mover1_stop"); + var_03 thread vig_vehicle_traffic_turn_mover_movement("mover3_go","mover1_stop"); + var_04 thread vig_vehicle_traffic_turn_mover_movement("mover4_go","mover1_stop"); + var_05 thread vig_vehicle_traffic_turn_mover_movement("mover6_go","mover1_stop"); + var_06 thread vig_vehicle_traffic_turn_mover_movement("mover7_go","mover1_stop"); + level waittill("intro_walkway_go"); + level notify("mover1_go"); + wait(randomfloatrange(var_00,var_01)); + wait(randomfloatrange(var_00,var_01)); + level notify("mover3_go"); + wait(randomfloatrange(var_00,var_01)); + level notify("mover4_go"); + wait(randomfloatrange(var_00,var_01)); + wait(randomfloatrange(var_00,var_01)); + level notify("mover6_go"); + wait(randomfloatrange(var_00,var_01)); + level notify("mover7_go"); +} + +//Function Number: 33 +vig_vehicle_traffic_jammer() +{ + level.intro_traffic_lanes = ["traffic_lane1","traffic_lane2","traffic_lane3","traffic_lane4"]; + var_00 = undefined; + for(;;) + { + level.intro_traffic_lanes = common_scripts\utility::array_randomize(level.intro_traffic_lanes); + var_01 = level.intro_traffic_lanes[0]; + if(isdefined(var_00) && var_01 == var_00) + { + wait 0.05; + continue; + } + + thread maps\_vehicle_traffic::traffic_path_head_car_traffic_jam(var_01); + wait(randomfloatrange(5,10)); + thread maps\_vehicle_traffic::traffic_path_head_car_traffic_jam_end_thread(var_01); + wait(randomfloatrange(10,20)); + var_00 = var_01; + } +} + +//Function Number: 34 +vig_vehicle_traffic_removal() +{ + level waittill("remove_civs"); + maps\_vehicle_traffic::delete_traffic_path("traffic_lane1"); + maps\_vehicle_traffic::delete_traffic_path("traffic_lane2"); + maps\_vehicle_traffic::delete_traffic_path("traffic_lane3"); + maps\_vehicle_traffic::delete_traffic_path("traffic_lane4"); +} + +//Function Number: 35 +vig_vehicle_fail_on_death() +{ + level endon("remove_civs"); + while(iscaralive(self)) + { + wait 0.05; + } + + setdvar("ui_deadquote",&"SCRIPT_MISSIONFAIL_CIVILIAN_KILLED"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 36 +iscaralive(param_00) +{ + if(!isdefined(param_00)) + { + return 0; + } + + if(issubstr(param_00.classname,"corpse")) + { + return 0; + } + + return 1; +} + +//Function Number: 37 +vig_vehicle_removal() +{ + var_00 = getentarray("intro_vehicles_static","targetname"); + level waittill("remove_civs"); + foreach(var_02 in var_00) + { + var_02 delete(); + } + + if(isdefined(level.intro_reg_vehicles)) + { + foreach(var_02 in level.intro_reg_vehicles) + { + var_02 delete(); + } + } +} + +//Function Number: 38 +vig_civ_traffic_init() +{ + level.vig_civ_streetarray = []; + level.vig_walker_streetarray = []; + thread vig_civ_traffic_balcony_setup(); + thread vig_civ_traffic_street_setup(); +} + +//Function Number: 39 +vig_civ_traffic_balcony_setup() +{ + var_00 = getent("balcony_traffic_civ_male","targetname"); + var_01 = getent("balcony_traffic_civ_female","targetname"); + var_02 = common_scripts\utility::getstructarray("civ_vig_loc_male_balcony","targetname"); + var_03 = common_scripts\utility::getstructarray("civ_vig_loc_female_balcony","targetname"); + thread vig_civ_traffic_spawn_idle_drones(var_00,var_02); + thread vig_civ_traffic_spawn_idle_drones(var_01,var_03); +} + +//Function Number: 40 +vig_civ_traffic_street_setup() +{ + var_00 = getent("street_traffic_civ_male","targetname"); + var_01 = common_scripts\utility::getstructarray("civ_vig_loc_street_lt","targetname"); + var_02 = common_scripts\utility::getstructarray("civ_vig_loc_street_rt","targetname"); + thread vig_civ_traffic_spawn_idle_drones(var_00,var_01); + thread vig_civ_traffic_spawn_idle_drones(var_00,var_02); +} + +//Function Number: 41 +vig_civ_traffic_spawn_idle_drones(param_00,param_01,param_02) +{ + foreach(var_04 in param_01) + { + var_05 = param_00 maps\_utility::dronespawn(); + if(isdefined(param_02)) + { + if(maps\_utility::s1_motionset_avaliable()) + { + var_05 maps\_drone::drone_set_archetype_idle("s1_soldier"); + } + else + { + var_05 maps\_drone::drone_set_archetype_idle("soldier"); + } + } + + level.vig_civ_streetarray = common_scripts\utility::array_add(level.vig_civ_streetarray,var_05); + param_00.count = 1; + var_05.origin = var_04.origin; + var_05.angles = var_04.angles; + wait 0.05; + if(isdefined(var_04.animation)) + { + var_05 thread maps\lagos_utility::loopingidleanimation(var_04); + } + + var_05 thread vig_civ_removal(); + } +} + +//Function Number: 42 +vig_civ_fail_on_damage() +{ + self setcandamage(1); + self waittill("damage"); + setdvar("ui_deadquote",&"LAGOS_FAIL_FRIENDLY_FIRE"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 43 +vig_civ_traffic_walker_setup() +{ + var_00 = 10; + var_01 = []; + var_02 = getent("civ_walker_lt_female","targetname"); + var_03 = getent("civ_walker_lt_male","targetname"); + var_01 = common_scripts\utility::array_add(var_01,var_02); + var_01 = common_scripts\utility::array_add(var_01,var_03); + var_04 = common_scripts\utility::getstructarray("vig_walker_lt_start","targetname"); + var_05 = getnodearray("vig_walker_lt_endpoint","targetname"); + thread vig_civ_traffic_spawn_walker_drones(var_01,var_04,var_05,var_00); + var_06 = []; + var_07 = getent("civ_walker_rt_female","targetname"); + var_08 = getent("civ_walker_rt_male","targetname"); + var_06 = common_scripts\utility::array_add(var_06,var_07); + var_06 = common_scripts\utility::array_add(var_06,var_08); + var_09 = common_scripts\utility::getstructarray("vig_walker_rt_start","targetname"); + var_0A = getnodearray("vig_walker_rt_endpoint","targetname"); + thread vig_civ_traffic_spawn_walker_drones(var_06,var_09,var_0A,var_00); +} + +//Function Number: 44 +vig_civ_traffic_spawn_walker_drones(param_00,param_01,param_02,param_03) +{ + foreach(var_05 in param_01) + { + param_00 = common_scripts\utility::array_randomize(param_00); + param_02 = common_scripts\utility::array_randomize(param_02); + param_00[0].count = 1; + if(level.vig_walker_streetarray.size < param_03) + { + var_06 = param_00[0] maps\_utility::spawn_ai(1); + level.vig_walker_streetarray = common_scripts\utility::array_add(level.vig_walker_streetarray,var_06); + var_06.goalradius = 32; + var_06.ignoreall = 1; + var_06 forceteleport(var_05.origin,var_05.angles); + wait 0.05; + var_06 setgoalnode(param_02[0]); + var_06 thread vig_civ_walker_removal(); + } + } + + thread vig_civ_walker_maintainer(param_00,param_01,param_02,param_03); +} + +//Function Number: 45 +vig_civ_walker_maintainer(param_00,param_01,param_02,param_03) +{ + level endon("remove_civs"); + for(;;) + { + if(level.vig_walker_streetarray.size < param_03) + { + param_01 = common_scripts\utility::array_randomize(param_01); + param_02 = common_scripts\utility::array_randomize(param_02); + param_00 = common_scripts\utility::array_randomize(param_00); + param_00[0].count = 1; + var_04 = param_00[0] maps\_utility::spawn_ai(1); + level.vig_walker_streetarray = common_scripts\utility::array_add(level.vig_walker_streetarray,var_04); + var_04.goalradius = 32; + var_04 forceteleport(param_01[0].origin,param_01[0].angles); + wait 0.05; + var_04 setgoalnode(param_02[0]); + var_04 thread vig_civ_walker_removal(); + } + + wait 0.05; + } +} + +//Function Number: 46 +vig_civ_model_randomizer() +{ + var_00 = []; + var_00[0] = "body_africa_civ_male_a"; + var_00[1] = "body_africa_civ_male_b"; + var_00[2] = "body_africa_civ_male_c"; + var_00[3] = "body_india_female_a"; + var_00[4] = "body_india_female_b"; + var_00[5] = "body_london_female_bb"; + var_00[6] = "body_city_civ_male_a"; + var_00[7] = "body_city_civ_female_a"; + var_00 = common_scripts\utility::array_randomize(var_00); + return var_00[0]; +} + +//Function Number: 47 +vig_civ_removal() +{ + level waittill("remove_civs"); + level.vig_civ_streetarray = common_scripts\utility::array_remove(level.vig_civ_streetarray,self); + self delete(); +} + +//Function Number: 48 +vig_civ_walker_removal() +{ + self waittill("goal"); + level.vig_walker_streetarray = common_scripts\utility::array_remove(level.vig_walker_streetarray,self); + self delete(); +} + +//Function Number: 49 +vig_mil_balc_setup() +{ + var_00 = getent("militiaSoldier","targetname"); + var_01 = getent("atlasSoldier","targetname"); + var_02 = common_scripts\utility::getstructarray("mil_vig_loc_soldier","targetname"); + var_03 = common_scripts\utility::getstructarray("mil_vig_loc_soldier2","targetname"); + thread vig_civ_traffic_spawn_idle_drones(var_00,var_02,1); + thread vig_civ_traffic_spawn_idle_drones(var_01,var_03,1); +} + +//Function Number: 50 +vig_bike_rider_init(param_00,param_01) +{ + if(!isdefined(param_01) || param_01 == 0) + { + param_01 = 1; + } + + for(var_02 = 0;var_02 < param_01;var_02++) + { + param_00 = common_scripts\utility::array_randomize(param_00); + var_03 = param_00[0]; + var_04 = spawn("script_model",var_03.origin); + var_04.angles = var_03.angles; + var_05 = spawn("script_model",var_04.origin); + if(common_scripts\utility::cointoss()) + { + var_05 character\character_civilian_slum_male_aa::main(); + } + else + { + var_05 character\character_civilian_slum_male_ab::main(); + } + + var_05 useanimtree(#animtree); + var_05 setanim(level.scr_anim["generic"]["bike_rider"]); + var_06 = randomint(6); + switch(var_06) + { + case 0: + var_04 setmodel("vehicle_scooter_vespa_static_blue"); + thread vig_bike_rider_scooter(var_04,var_05,var_03); + break; + + case 1: + var_04 setmodel("vehicle_scooter_vespa_static_green"); + thread vig_bike_rider_scooter(var_04,var_05,var_03); + break; + + case 2: + var_04 setmodel("vehicle_scooter_vespa_static_cream"); + thread vig_bike_rider_scooter(var_04,var_05,var_03); + break; + + case 3: + var_04 setmodel("vehicle_scooter_vespa_static_lightblue"); + thread vig_bike_rider_scooter(var_04,var_05,var_03); + break; + + case 4: + vig_bike_rider_cyclist(var_04,var_05,var_03); + break; + + case 5: + vig_bike_rider_cyclist(var_04,var_05,var_03); + break; + } + + wait(randomfloatrange(2,5)); + } +} + +//Function Number: 51 +vig_bike_rider_maintainer(param_00,param_01) +{ + level endon("remove_bikers"); + level.bike_riders = []; + var_02 = common_scripts\utility::getstructarray(param_00,"targetname"); + thread vig_bike_rider_removal(); + for(;;) + { + if(level.bike_riders.size < param_01) + { + var_03 = param_01 - level.bike_riders.size; + thread vig_bike_rider_init(var_02,var_03); + } + + wait(randomfloatrange(2,5)); + } +} + +//Function Number: 52 +vig_bike_rider_scooter(param_00,param_01,param_02) +{ + param_01.origin = param_00.origin; + param_01.angles = param_00.angles; + param_01 linkto(param_00); + level.bike_riders = common_scripts\utility::array_add(level.bike_riders,param_01); + level.bike_riders = common_scripts\utility::array_add(level.bike_riders,param_00); + param_00 thread vig_bike_rider_nav(param_01,param_00,param_02); +} + +//Function Number: 53 +vig_bike_rider_cyclist(param_00,param_01,param_02) +{ + param_00 setmodel("com_bike_animated"); + param_00 useanimtree(level.scr_animtree["bike"]); + param_00 setanim(level.scr_anim["bike"]["pedal"]); + param_01.origin = param_00 gettagorigin("j_frame"); + param_01.origin = param_01.origin + (-12,0,-30); + param_01.angles = param_00 gettagangles("j_frame"); + param_01.angles = param_01.angles + (0,180,0); + param_01 linkto(param_00,"j_frame"); + level.bike_riders = common_scripts\utility::array_add(level.bike_riders,param_01); + level.bike_riders = common_scripts\utility::array_add(level.bike_riders,param_00); + param_00 thread vig_bike_rider_nav(param_01,param_00,param_02); +} + +//Function Number: 54 +vig_bike_rider_nav(param_00,param_01,param_02) +{ + level endon("remove_bikers"); + var_03 = 0.0025; + for(;;) + { + var_04 = common_scripts\utility::getstruct(param_02.target,"targetname"); + var_05 = vig_bike_rider_set_speed(param_02,var_04,var_03); + var_06 = vectortoangles(param_02.origin - var_04.origin); + if(param_01.model == "com_bike_animated") + { + param_01.angles = (0,var_06[1],0); + } + else + { + param_01.angles = (0,var_06[1] + 180,0); + } + + param_01 moveto(var_04.origin,var_05,0,0); + if(!isdefined(var_04.target)) + { + wait(var_05); + level.bike_riders = common_scripts\utility::array_remove(level.bike_riders,param_00); + level.bike_riders = common_scripts\utility::array_remove(level.bike_riders,param_01); + param_01 delete(); + param_00 delete(); + return; + } + + wait(var_05); + param_02 = var_04; + } +} + +//Function Number: 55 +vig_bike_rider_set_speed(param_00,param_01,param_02) +{ + var_03 = distance(param_00.origin,param_01.origin); + var_04 = param_02 * var_03; + return var_04 + 0.05; +} + +//Function Number: 56 +vig_bike_rider_removal() +{ + level waittill("remove_bikers"); + foreach(var_01 in level.bike_riders) + { + var_01 delete(); + } +} + +//Function Number: 57 +vig_tram_setup() +{ + var_00 = getent("anim_monorail","targetname"); + var_01 = maps\_utility::spawn_anim_model("intro_tram1"); + var_01 thread vig_tram_setup_car_fx(); + thread vig_tram_setup_movement(var_01,"tram1_movement",var_00,"tram_shutdown"); + var_01 soundscripts\_snd::snd_message("vig_tram_setup_car",1); + common_scripts\utility::flag_wait("flag_intro_walkway"); + var_02 = maps\_utility::spawn_anim_model("intro_tram1"); + var_02 thread vig_tram_setup_car_fx(); + thread vig_tram_setup_movement(var_02,"tram2_movement",var_00,"tram_shutdown"); + var_02 soundscripts\_snd::snd_message("vig_tram_setup_car",1); + common_scripts\utility::flag_wait("tram_shutdown"); + var_03 = maps\_utility::spawn_anim_model("intro_tram1"); + var_03 thread vig_tram_setup_car_fx(); + thread vig_tram_setup_movement(var_03,"tram3_movement",var_00,undefined); + var_03 soundscripts\_snd::snd_message("vig_tram_setup_car",0,0.4); + common_scripts\utility::flag_wait("exo_door_trigger"); + var_02 delete(); + common_scripts\utility::flag_wait("gov_h_breach_adv2"); + var_01 delete(); + var_03 delete(); +} + +//Function Number: 58 +vig_tram_setup_movement(param_00,param_01,param_02,param_03) +{ + var_04 = [param_00]; + if(isdefined(param_03)) + { + while(!common_scripts\utility::flag(param_03)) + { + param_02 maps\_anim::anim_single(var_04,param_01); + wait(randomintrange(20,30)); + } + + return; + } + + param_02 maps\_anim::anim_single(var_04,param_01); + maps\_anim::anim_set_time(var_04,param_01,1); + param_00 notify("tram_shutdown"); +} + +//Function Number: 59 +vig_tram_setup_car_fx() +{ + self endon("tram_delete"); + self endon("tram_shutdown"); + var_00 = common_scripts\utility::getfx("tram_dust"); + var_01 = common_scripts\utility::getfx("tram_sparks"); + playfxontag(var_00,self,"car01"); + playfxontag(var_00,self,"car02"); + playfxontag(var_00,self,"car03"); + playfxontag(var_01,self,"car01"); + playfxontag(var_01,self,"car02"); + playfxontag(var_01,self,"car03"); +} + +//Function Number: 60 +vig_tram_setup_car_shaker(param_00,param_01) +{ + self endon("tram_delete"); + self endon("tram_shutdown"); + for(;;) + { + var_02 = distance(self.origin,level.player.origin); + if(var_02 < param_00) + { + earthquake(0.4,param_01,self.origin,param_00); + wait(param_01); + } + + wait 0.05; + } +} + +//Function Number: 61 +vig_tram_setup_intro() +{ + var_00 = getent("anim_org_drone_opening","targetname"); + var_01 = maps\_utility::spawn_anim_model("intro_tram1"); + var_00 maps\_anim::anim_single_solo(var_01,"tram1_flythrough"); + var_01 delete(); +} + +//Function Number: 62 +squad_intro_walkway_goto() +{ + level waittill("intro_walkway_go"); + common_scripts\utility::flag_wait("flag_intro_walkway"); + thread squad_exo_door_goto(); +} + +//Function Number: 63 +squad_exo_door_goto() +{ + thread maps\lagos_utility::ally_redirect_goto_node("Gideon","exo_door_burke",1,::maps\lagos_utility::disable_awareness); + thread maps\lagos_utility::ally_redirect_goto_node("Joker","exo_door_joker",1,::maps\lagos_utility::disable_awareness); + thread maps\lagos_utility::ally_redirect_goto_node("Ajani","exo_door_ajani",1,::maps\lagos_utility::disable_awareness); + thread gov_transition_clean_up(); +} + +//Function Number: 64 +gov_transition_clean_up() +{ + common_scripts\utility::flag_wait("flag_level_progress_exoDoor"); + level notify("remove_civs"); + level notify("remove_bikers"); +} + +//Function Number: 65 +exo_door_disable_melee() +{ + level endon("flag_exo_door_started"); + for(;;) + { + self waittill("trigger",var_00); + if(isplayer(var_00)) + { + level.player allowmelee(0); + thread maps\lagos_utility::hint_instant(&"LAGOS_EXO_DOOR_BREACH"); + while(common_scripts\utility::flag("flag_exo_door_trigger")) + { + if(level.player meleebuttonpressed()) + { + thread maps\lagos_utility::hint_fade_instant(); + common_scripts\utility::flag_set("flag_exo_door_started"); + return; + } + + wait 0.05; + } + + level.player allowmelee(1); + thread maps\lagos_utility::hint_fade_instant(); + } + } +} + +//Function Number: 66 +exo_door() +{ + level.player endon("death"); + var_00 = getent("exo_door_model","targetname"); + var_00 overridematerial("mtl_lag_exo_door_breach_broken","mtl_lag_exo_door_breach"); + if(level.currentgen) + { + var_00 overridematerial("mq/mtl_lag_exo_door_breach_broken","mq/mtl_lag_exo_door_breach"); + } + + var_00.animname = "exo_door_model"; + var_00 maps\_utility::assign_animtree(); + var_01 = getent("anim_org_exo_door","targetname"); + var_01 maps\_anim::anim_first_frame_solo(var_00,"exo_door"); + var_02 = [var_00]; + common_scripts\utility::flag_wait("gov_transition_door_close"); + thread gov_building_firefight_setup(); + thread gov_building_firefight_driveup(); + common_scripts\utility::flag_wait("flag_irons_videolog_complete"); + common_scripts\utility::flag_wait("exo_door_trigger"); + common_scripts\utility::run_thread_on_targetname("trigger_player_ready_for_exo_door",::exo_door_disable_melee); + var_03 = getent("exo_door_trigger","targetname"); + var_04 = common_scripts\utility::getstruct("obj_exo_door","targetname"); + var_05 = var_03 maps\_shg_utility::hint_button_trigger("melee",400); + common_scripts\utility::flag_wait("flag_exo_door_started"); + var_05 maps\_shg_utility::hint_button_clear(); + var_03 makeunusable(); + level.player maps\_utility::store_players_weapons("player_weapons"); + var_06 = maps\_player_exo::player_exo_is_active_single("shield"); + if(var_06) + { + level.player maps\_player_exo::player_exo_remove_single("shield"); + } + + level.player takeallweapons(); + soundscripts\_snd::snd_message("plr_exo_door_kick"); + common_scripts\utility::flag_set("obj_progress_exo_door_clear"); + level notify("tram_stop"); + level notify("gov_driveup_go"); + wait(0.5); + common_scripts\utility::flag_set("exo_door_lighting"); + common_scripts\utility::flag_set("done_exo_door_kick"); + level.player maps\_shg_utility::setup_player_for_scene(); + var_07 = maps\_utility::spawn_anim_model("player_rig"); + var_08 = getent("exo_door_blocker","targetname"); + var_08 delete(); + var_01 maps\_anim::anim_first_frame_solo(var_07,"exo_door"); + var_07 hide(); + var_09 = 0.5; + level.player playerlinktoblend(var_07,"tag_player",var_09,var_09 * 0.5,var_09 * 0.5); + wait(var_09); + var_07 show(); + level.player playerlinktodelta(var_07,"tag_player",1,7,7,5,5,1); + var_02 = common_scripts\utility::array_add(var_02,var_07); + thread exo_door_tilt_camera_during_animation(var_07); + var_07 common_scripts\utility::delaycall(3.333333,::hide); + var_01 maps\_anim::anim_single(var_02,"exo_door"); + var_00 overridematerialreset(); + wait 0.05; + level.player unlink(); + var_07 delete(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.player maps\_utility::restore_players_weapons("player_weapons"); + if(var_06) + { + level.player maps\_player_exo::player_exo_add_single("shield"); + } + + level notify("gov_driveup_started"); + common_scripts\utility::flag_wait("vo_government_building_reveal_dialogue"); + thread maps\lagos_vo::government_building_reveal_dialogue(); + level notify("nig_mil_start_shoot"); + maps\_utility::autosave_by_name(); +} + +//Function Number: 67 +exo_door_tilt_camera_during_animation(param_00) +{ + level.player endon("death"); + wait(3); + level.player lerpviewangleclamp(1,0.75,0.25,45,45,0,0); +} + +//Function Number: 68 +gov_building_firefight_init_shooting() +{ + level waittill("nig_mil_start_shoot"); + foreach(var_01 in level.gov_soldiers_front) + { + var_01 thread gov_building_ai_timed_shooting(); + } + + foreach(var_04 in level.gov_kva_soldiers) + { + var_04 thread gov_building_ai_timed_shooting(); + } + + foreach(var_07 in level.gov_soldiers_veh) + { + var_07 thread gov_building_ai_timed_shooting(); + } +} + +//Function Number: 69 +gov_building_mil_devstart_setup() +{ + var_00 = getnode("tram_bridge_burke","targetname"); + level.burke maps\_utility::teleport_ai(var_00); + var_01 = getnode("tram_bridge_joker","targetname"); + level.joker maps\_utility::teleport_ai(var_01); + var_02 = getnode("tram_bridge_ajani","targetname"); + level.ajani maps\_utility::teleport_ai(var_02); + level.burke thread maps\lagos_utility::disable_awareness(); + level.joker thread maps\lagos_utility::disable_awareness(); + level.ajani thread maps\lagos_utility::disable_awareness(); + thread gov_building_exo_climb_goto(); +} + +//Function Number: 70 +gov_building_firefight_setup() +{ + level.gov_soldiers_front = []; + level.gov_soldiers_veh = []; + level.gov_kva_soldiers = []; + if(!common_scripts\utility::flag("government_courtyard_playerstart")) + { + thread gov_building_ally_goto(); + } + + thread gov_building_firefight_roadblock(); + thread gov_building_firefight_front_soldiers(); + thread gov_building_firefight_kva(); + thread gov_roof_breach_anim_chunks(); + level waittill("firefight_init"); + foreach(var_01 in level.alpha_squad_and_player) + { + var_01.ignoreall = 1; + } + + foreach(var_04 in level.gov_kva_soldiers) + { + var_04.ignoreall = 1; + } + + foreach(var_07 in level.gov_soldiers_front) + { + var_07.ignoreall = 1; + } + + common_scripts\utility::flag_wait("gov_driveup_complete"); + wait(2); + maps\_utility::activate_trigger("mil_driveup_trigger","targetname",level.player); +} + +//Function Number: 71 +gov_building_firefight_driveup() +{ + level waittill("gov_driveup_go"); + thread gov_building_firefight_driveup_explode(); + level.gov_veh_spawners = getentarray("gov_veh_spawner","targetname"); + foreach(var_01 in level.gov_veh_spawners) + { + var_02 = var_01 maps\_utility::spawn_vehicle(); + var_02 soundscripts\_snd::snd_message("gov_bldg_driveup"); + var_02 thread gov_building_firefight_removal(); + maps\_vehicle::gopath(var_02); + wait(randomfloatrange(0.75,1)); + } + + if(level.currentgen) + { + wait(0.5); + } + + level.gov_soldiers_veh = maps\_utility::get_living_ai_array("gov_building_soldier","script_noteworthy"); + var_04 = maps\_utility::get_living_ai_array("gov_building_soldier_explode","script_noteworthy"); + level.gov_soldiers_veh = common_scripts\utility::array_combine(var_04,level.gov_soldiers_veh); + foreach(var_06 in level.gov_soldiers_veh) + { + var_06 thread gov_building_firefight_removal(); + var_06 thread maps\_utility::magic_bullet_shield(1); + var_06 thread maps\lagos_utility::disable_awareness(); + var_06 thread gov_building_firefight_change_pos(); + } +} + +//Function Number: 72 +gov_building_firefight_driveup_explode() +{ + wait(2); + var_00 = getent("gov_veh_spawner_explode","targetname"); + var_01 = var_00 maps\_utility::spawn_vehicle(); + var_01 thread gov_building_firefight_removal(); + if(level.currentgen) + { + var_01 thread tff_cleanup_vehicle("intro"); + } + + maps\_vehicle::gopath(var_01); + level waittill("nig_mil_start_shoot"); + wait(7); + level notify("tram_bridge_redirect"); +} + +//Function Number: 73 +gov_building_firefight_roadblock() +{ + var_00 = getentarray("gov_road_block_soldier","targetname"); + foreach(var_02 in var_00) + { + var_03 = var_02 maps\_utility::spawn_ai(1); + var_03.goalradius = 16; + var_03 thread maps\_utility::magic_bullet_shield(1); + var_03 thread gov_building_firefight_removal(); + var_03 thread maps\lagos_utility::disable_awareness(); + if(isdefined(var_03.script_noteworthy) && var_03.script_noteworthy == "gov_road_block_patrol") + { + var_03 thread gov_road_block_patrol_route(); + } + } +} + +//Function Number: 74 +gov_building_firefight_anim_wounded() +{ + var_00 = getent("drag_wounded_spawner","targetname"); + var_01 = getent("drag_carrier_spawner","targetname"); + var_02 = var_00 maps\_utility::spawn_ai(1); + wait 0.05; + var_02 maps\_utility::gun_remove(); + var_02.goalradius = 16; + var_02 thread maps\_utility::magic_bullet_shield(1); + var_02 thread gov_building_firefight_removal(); + var_02 thread maps\lagos_utility::disable_awareness(); + var_02 thread gov_building_firefight_change_pos(); + var_03 = var_01 maps\_utility::spawn_ai(1); + wait 0.05; + var_03.goalradius = 16; + var_03 thread maps\_utility::magic_bullet_shield(1); + var_03 thread gov_building_firefight_removal(); + var_03 thread maps\lagos_utility::disable_awareness(); + var_03 thread gov_building_firefight_change_pos(); +} + +//Function Number: 75 +gov_building_firefight_anim_explode() +{ + level waittill("nig_mil_start_shoot"); + var_00 = common_scripts\utility::getstruct("anim_walk_wounded_org","targetname"); + var_01 = maps\_utility::get_living_ai_array("gov_building_soldier_explode","script_noteworthy"); + var_02 = 0; + foreach(var_04 in var_01) + { + if(var_02 == 0) + { + var_04.animname = "prague_walk"; + } + else + { + var_04.animname = "prague_help"; + } + + var_04 maps\jake_tools::invulnerable(1); + var_02++; + } + + level waittill("explode_anim_pos"); + var_00 maps\_anim::anim_single(var_01,"prague_woundwalk"); + var_06 = []; + foreach(var_04 in var_01) + { + if(isalive(var_04)) + { + var_06[var_06.size] = var_04; + } + } + + var_00 thread maps\_anim::anim_loop(var_06,"prague_woundwalk_help"); +} + +//Function Number: 76 +gov_fail_on_death() +{ + level endon("exo_climb_success"); + level endon("burke_climb"); + self waittill("damage"); + if(common_scripts\utility::flag("roundabout_playerstart") || common_scripts\utility::flag("gov_player_exiting_area")) + { + return; + } + + setdvar("ui_deadquote",&"LAGOS_FAIL_STAY_ON_MISSION"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 77 +gov_building_firefight_kva() +{ + var_00 = getentarray("kva_gov_building_driveup_enemies","targetname"); + var_01 = 1; + foreach(var_03 in var_00) + { + var_04 = getnode(var_03.target,"targetname"); + var_05 = var_03 maps\_utility::spawn_ai(1); + var_05.ignoreall = 1; + wait 0.05; + var_05 maps\_utility::teleport_ai(var_04); + var_05 maps\_utility::set_goal_node(var_04); + var_05 thread maps\_utility::enable_surprise(); + var_05 thread gov_firefight_detect_breach(); + var_05 thread gov_building_firefight_removal(); + var_05 thread gov_fail_on_death(); + level.gov_kva_soldiers = common_scripts\utility::array_add(level.gov_kva_soldiers,var_05); + if(isdefined(var_05.script_parameters) && var_05.script_parameters == "front_kva_3") + { + } + else + { + var_05 thread gov_firefight_enemy_reload_anims(var_04); + } + + wait 0.05; + } + + level notify("firefight_init"); + common_scripts\utility::flag_wait("player_landed_roof_breach"); +} + +//Function Number: 78 +gov_building_firefight_front_soldiers() +{ + var_00 = getentarray("militia_drive_start_front","targetname"); + foreach(var_02 in var_00) + { + var_03 = var_02 maps\_utility::spawn_ai(1); + var_03.ignoreall = 1; + var_03.goalradius = 16; + var_03 thread maps\_utility::magic_bullet_shield(1); + var_03 thread gov_building_firefight_removal(); + level.gov_soldiers_front = common_scripts\utility::array_add(level.gov_soldiers_front,var_03); + var_03 thread gov_building_firefight_change_pos(); + } + + level.nigerian_bullhorn = level.gov_soldiers_front[0]; + level.nigerian_bullhorn.animname = "nigerian_army"; +} + +//Function Number: 79 +gov_building_firefight_change_pos() +{ + level.pos_array = getnodearray("gov_dev_tp_point","script_noteworthy"); + level endon(""); + level waittill("start_pos_switching"); + for(;;) + { + level.pos_array = common_scripts\utility::array_randomize(level.pos_array); + if(!isnodeoccupied(level.pos_array[0])) + { + if(isdefined(self.last_set_goalnode) && self.last_set_goalnode != level.pos_array[0]) + { + level.pos_array = common_scripts\utility::array_add(level.pos_array,self.last_set_goalnode); + } + + maps\_utility::set_goal_node(level.pos_array[0]); + level.pos_array = common_scripts\utility::array_remove(level.pos_array,level.pos_array[0]); + self waittill("goal"); + wait(randomintrange(10,20)); + } + else + { + wait(20); + } + + wait 0.05; + } +} + +//Function Number: 80 +gov_building_gren_guy() +{ + var_00 = maps\_utility::get_living_ai("front_mil_gren_guy","script_noteworthy"); + var_01 = common_scripts\utility::getstruct("gren_target","targetname"); + magicgrenade("smoke_grenade_american",var_00.origin,var_01.origin,1); +} + +//Function Number: 81 +gov_building_explode_advance_guys() +{ + var_00 = maps\_utility::get_living_ai("gov_explode_advance1","script_noteworthy"); + var_01 = maps\_utility::get_living_ai("gov_explode_advance2","script_noteworthy"); + var_02 = getnode("gov_explode_node1","script_noteworthy"); + var_03 = getnode("gov_explode_node2","script_noteworthy"); + level waittill("explode_anim_pos"); + wait(1); + var_00 maps\_utility::set_goal_node(var_02); + var_01 maps\_utility::set_goal_node(var_03); +} + +//Function Number: 82 +gov_building_firefight_turret_settings(param_00) +{ + self allowedstances("stand"); + self.fixednode = 1; + self.goalradius = 70; + self.combatmode = "ambush"; + maps\_utility::disable_long_death(); + self setgoalpos(param_00.origin); + self waittill("goal"); + self useturret(param_00); + param_00 makeunusable(); + param_00 setturretteam("axis"); + param_00 setturretcanaidetach(0); + param_00 setconvergencetime(3,"yaw"); + param_00 setconvergencetime(1.5,"pitch"); + param_00 setaispread(5); +} + +//Function Number: 83 +gov_firefight_enemy_reload_anims(param_00) +{ + level endon("roof_breach_start"); + self endon("death"); + var_01 = getnodearray("kva_breach_reload_point","targetname"); + var_01 = sortbydistance(var_01,self.origin); + self.animname = "gov_breach"; + self.goalradius = 16; + maps\_utility::set_allowdeath(1); + for(;;) + { + foreach(var_03 in var_01) + { + if(!isnodeoccupied(var_03)) + { + maps\_utility::set_goal_node(var_03); + self waittill("goal"); + var_03 maps\_anim::anim_single_solo(self,"gov_kva_reload"); + self.goalradius = 16; + maps\_utility::set_goal_node(param_00); + wait(randomfloatrange(20,40)); + } + + if(isnodeoccupied(var_03)) + { + wait(randomfloatrange(3,5)); + continue; + } + } + + wait 0.05; + } +} + +//Function Number: 84 +gov_firefight_detect_breach() +{ + level waittill("allies_breached"); + wait(1.5); + self stopanimscripted(); + self.ignoreall = 0; + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "gov_building_kva_soldier") + { + self setthreatbiasgroup(); + var_00 = randomint(level.alpha_squad_and_player.size); + maps\_utility::set_favoriteenemy(level.alpha_squad_and_player[var_00]); + } +} + +//Function Number: 85 +gov_road_block_patrol_route() +{ + self endon("death"); + self endon("road_block_patrol_stop"); + self.goalradius = 8; + self.alertlevel = "noncombat"; + maps\_utility::disable_exits(); + maps\_utility::disable_arrivals(); + self.animname = "road_block"; + maps\_utility::set_idle_anim("patrol_idle"); + maps\_utility::set_run_anim("patrol_walk"); + var_00 = getnodearray("road_patrol_goal","targetname"); + common_scripts\utility::flag_wait("road_block_patrol_go"); + for(;;) + { + wait(randomfloatrange(1,3)); + var_00 = common_scripts\utility::array_randomize(var_00); + if(common_scripts\utility::cointoss()) + { + maps\_utility::set_goal_node(var_00[0]); + self waittill("goal"); + } + } +} + +//Function Number: 86 +gov_building_firefight_removal() +{ + if(self.code_classname == "script_vehicle") + { + common_scripts\utility::flag_wait_either("roundabout_playerstart","gov_player_exiting_area"); + self delete(); + return; + } + + self endon("death"); + common_scripts\utility::flag_wait_either("roundabout_playerstart","gov_player_exiting_area"); + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "gov_road_block_patrol") + { + self notify("road_block_patrol_stop"); + } + + self delete(); +} + +//Function Number: 87 +gov_building_rear_removal() +{ + if(self.code_classname == "script_vehicle") + { + common_scripts\utility::flag_wait_either("roundabout_playerstart","flag_roundabout_move_2"); + self delete(); + return; + } + + self endon("death"); + common_scripts\utility::flag_wait_either("roundabout_playerstart","flag_roundabout_move_2"); + if(level.currentgen) + { + var_00 = getent("anim_HM_post_breach","targetname"); + var_00 notify("stop_anim_notify"); + } + + self delete(); +} + +//Function Number: 88 +gov_building_ai_timed_shooting() +{ + self endon("death"); + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "gov_building_kva_soldier") + { + self endon("allies_breached"); + self endon("cease_fire_init"); + } + + if(common_scripts\utility::array_contains(level.gov_soldiers_front,self) || common_scripts\utility::array_contains(level.gov_soldiers_veh,self)) + { + self endon("cease_fire_init"); + } + + self.grenadeammo = 0; + for(;;) + { + var_00 = randomfloat(100); + if(self.team == "allies") + { + if(var_00 < 75) + { + self.ignoreall = 0; + wait(randomfloatrange(3,20)); + } + else + { + self.ignoreall = 1; + wait(randomfloatrange(2,5)); + } + } + + if(self.team == "axis") + { + if(var_00 < 25) + { + self.ignoreall = 0; + wait(randomfloatrange(3,20)); + } + else + { + self.ignoreall = 1; + wait(randomfloatrange(2,5)); + } + } + + wait 0.05; + } +} + +//Function Number: 89 +gov_building_ally_goto() +{ + level waittill("gov_driveup_started"); + thread maps\lagos_utility::ally_redirect_goto_node("Gideon","gov_overlook_burke"); + thread maps\lagos_utility::ally_redirect_goto_node("Joker","gov_overlook_joker"); + thread maps\lagos_utility::ally_redirect_goto_node("Ajani","gov_overlook_ajani"); + wait(3); + thread gov_tram_bridge_ally_goto(); +} + +//Function Number: 90 +gov_tram_bridge_ally_goto() +{ + level waittill("tram_bridge_redirect"); + thread gov_building_exo_climb_goto(); + common_scripts\utility::flag_set("obj_progress_tram_track"); + thread maps\lagos_utility::ally_redirect_goto_node("Gideon","tram_bridge_burke"); + wait(1); + thread maps\lagos_utility::ally_redirect_goto_node("Joker","tram_bridge_joker"); + wait(3); + thread maps\lagos_utility::ally_redirect_goto_node("Ajani","tram_bridge_ajani"); + level.player.ignoreme = 1; +} + +//Function Number: 91 +gov_building_exo_climb_goto() +{ + if(!common_scripts\utility::flag("government_courtyard_playerstart")) + { + common_scripts\utility::flag_wait("gov_exo_climb_start"); + } + + foreach(var_01 in level.alpha_squad) + { + var_01.goalradius = 16; + } + + level.burke thread gov_building_exo_climb_burke_anims(); + wait(1); + thread maps\lagos_utility::ally_redirect_goto_node("Joker","exo_climb_joker"); + wait(2); + thread maps\lagos_utility::ally_redirect_goto_node("Ajani","exo_climb_ajani"); + wait(2); + level.burke thread gov_building_exo_climb_in_position(); + level.joker thread gov_building_exo_climb_in_position(); + level.ajani thread gov_building_exo_climb_in_position(); +} + +//Function Number: 92 +gov_building_exo_climb_in_position() +{ + thread gov_building_exo_climb_position_counter(); + self waittill("goal"); + wait 0.05; + level notify("in_exo_climb_pos"); +} + +//Function Number: 93 +gov_building_exo_climb_position_counter() +{ + level endon("exo_climb_pos_set"); + var_00 = 3; + var_01 = 0; + while(var_01 < var_00) + { + level waittill("in_exo_climb_pos"); + var_01++; + if(var_01 == var_00) + { + level notify("exo_climb_pos_set"); + return; + } + + wait 0.05; + } +} + +//Function Number: 94 +gov_building_exo_climb_burke_anims() +{ + var_00 = getent("anim_org_exo_climb_approach","targetname"); + thread gov_building_exo_climb_burke_climb(var_00); + if(!common_scripts\utility::flag("flag_start_mag_climb")) + { + var_00 maps\_anim::anim_reach_solo(self,"exo_climb_approach",undefined,1); + } + + if(!common_scripts\utility::flag("flag_start_mag_climb")) + { + var_00 maps\_anim::anim_single_solo(self,"exo_climb_approach"); + } + + if(!common_scripts\utility::flag("flag_start_mag_climb")) + { + var_00 thread maps\_anim::anim_loop_solo(self,"exo_climb_approach_idle","burke_climb"); + } +} + +//Function Number: 95 +gov_building_exo_climb_burke_climb(param_00) +{ + common_scripts\utility::flag_wait("flag_start_mag_climb"); + param_00 notify("burke_climb"); + var_01 = getent("anim_org_exo_climb_gideon","targetname"); + level.burke soundscripts\_snd::snd_message("aud_exo_climb_burke"); + level.player soundscripts\_snd::snd_message("exo_climb_pullup_start"); + var_01 maps\_anim::anim_single_solo(level.burke,"exo_climb_burke"); + wait 0.05; + var_02 = getnode("gov_breach_goto_burke","targetname"); + var_03 = getnode("gov_breach_goto_joker","targetname"); + var_04 = getnode("gov_breach_goto_ajani","targetname"); + level.burke maps\_utility::teleport_ai(var_02); + level.joker maps\_utility::teleport_ai(var_03); + level.ajani maps\_utility::teleport_ai(var_04); +} + +//Function Number: 96 +goverment_building_exoclimb_listen() +{ + level waittill("exoclimb_start_mount_anim"); + common_scripts\utility::flag_set("flag_start_mag_climb"); +} + +//Function Number: 97 +government_building() +{ + thread gov_roof_breach_sequence(); + thread gov_roof_breach_anim_setup(); + thread gov_building_exo_climb_vo(); + thread gov_building_delete_soft_clip(); + thread goverment_building_exoclimb_listen(); + level.player.exo_climb_overrides = spawnstruct(); + level.player.exo_climb_overrides.idle_look_sideways_limit_mag = 50; + level.player.exo_climb_overrides.idle_look_down_limit_mag = 20; + var_00 = getent("anim_org_exo_climb","targetname"); + thread wall_climb_force_dismount(var_00); + level.xraywall_on = getentarray("xraywall_on","targetname"); + common_scripts\utility::array_call(level.xraywall_on,::hide); + foreach(var_02 in level.xraywall_on) + { + if(var_02.classname == "script_model") + { + var_02 notsolid(); + } + } + + var_04 = common_scripts\utility::getstruct("exo_climb_start_1","targetname"); + var_05 = common_scripts\utility::getstruct("exo_climb_start_2","targetname"); + common_scripts\utility::flag_wait("vo_government_building_mag_exo_dialogue"); + common_scripts\utility::flag_wait("flag_start_mag_climb"); + level notify("burke_climb"); + common_scripts\utility::flag_set("climb_begin_lighting"); + common_scripts\utility::flag_set("obj_progress_exo_climb_clear"); + common_scripts\utility::flag_wait("flag_end_mag_climb"); + common_scripts\utility::flag_set("climb_ending_lighting"); + thread gov_anims_joker(); + thread gov_anims_ajani(); + maps\_utility::autosave_by_name(); + wait 0.05; + level notify("exo_climb_success"); + level notify("wall_pullup_burke_anim_start"); +} + +//Function Number: 98 +gov_anims_joker() +{ + var_00 = getent("anim_org_exo_climb","targetname"); + var_00 maps\_anim::anim_single_solo(level.joker,"exo_climb_joker"); + var_00 = getent("anim_org_govRoof","targetname"); + level.joker thread gov_roof_breach_prep_squad_anims(var_00,"joker_in_breach_pos",1); +} + +//Function Number: 99 +gov_anims_ajani() +{ + var_00 = getent("anim_org_exo_climb","targetname"); + var_00 maps\_anim::anim_single_solo(level.ajani,"exo_climb_ajani"); + var_00 = getent("anim_org_govRoof","targetname"); + level.ajani thread gov_roof_breach_prep_squad_anims(var_00,"ajani_in_breach_pos",1); +} + +//Function Number: 100 +gov_building_delete_soft_clip() +{ + common_scripts\utility::flag_wait("delete_soft_clip_gov_building_landing_from_rail"); + wait(0.5); +} + +//Function Number: 101 +wall_climb_force_dismount(param_00) +{ + common_scripts\utility::flag_wait("flag_end_mag_climb"); + var_01 = "player_rig"; + var_02 = "exo_climb_pullup_exit"; + level.scr_goaltime["player_rig"]["exo_climb_pullup_exit"] = 0.7; + maps\_exo_climb::force_animated_dismount(param_00,var_01,var_02); + level notify("mag_climb_complete"); +} + +//Function Number: 102 +wall_pullup_burke_anim_start(param_00) +{ + level notify("wall_pullup_burke_anim_start"); +} + +//Function Number: 103 +gov_building_exo_climb_vo() +{ + common_scripts\utility::flag_wait("vo_government_building_mag_exo_dialogue"); + thread maps\lagos_vo::government_building_mag_exo_dialogue(); +} + +//Function Number: 104 +gov_roof_breach_sequence() +{ + level waittill("exo_climb_success"); + thread gov_hostage_approach(); + level waittill("cease_fire_init"); + foreach(var_01 in level.alpha_squad_and_player) + { + var_01.ignoreme = 1; + } + + foreach(var_04 in level.gov_soldiers_veh) + { + var_04 thread maps\lagos_utility::disable_awareness(); + } + + foreach(var_04 in level.gov_soldiers_front) + { + var_04 thread maps\lagos_utility::disable_awareness(); + } + + level waittill("gov_breach_init"); + foreach(var_09 in level.gov_kva_soldiers) + { + } + + thread gov_roof_breach_success_monitor(); + thread gov_roof_breach_kill_assignment(); + level waittill("allies_breached"); + wait(1.5); + foreach(var_01 in level.alpha_squad_and_player) + { + var_01.ignoreme = 0; + } +} + +//Function Number: 105 +gov_roof_breach_anim_chunks() +{ + var_00 = getent("roof_breach_chunks","targetname"); + var_01 = getent("anim_org_govRoof","targetname"); + var_00.animname = "rooftop_chunks"; + var_00 maps\_utility::assign_animtree(); + var_01 maps\_anim::anim_first_frame_solo(var_00,"roof_mute_breach_plant"); + level waittill("roof_breach_start"); + var_01 maps\_anim::anim_single_solo(var_00,"roof_mute_breach_plant"); + var_01 maps\_anim::anim_last_frame_solo(var_00,"roof_mute_breach_plant"); +} + +//Function Number: 106 +gov_roof_breach_anim_setup() +{ + thread gov_roof_breach_marker_setup(); + thread gov_roof_breach_roof_destruction(); + level waittill("exo_climb_success"); + var_00 = getent("anim_org_govRoof","targetname"); + level.burke thread gov_roof_breach_prep_squad_anims(var_00,"burke_in_breach_pos",0); + common_scripts\utility::flag_set("obj_progress_roof_breach_goto"); + thread maps\lagos_vo::government_building_roof_breach_dialogue(); + thread gov_roof_breach_to_hbreach_vo(); + level notify("in_breach_pos"); + common_scripts\utility::flag_wait("flag_roof_charge_planted"); + level notify("roof_breach_start"); + common_scripts\utility::flag_set("gov_breach_start_lighting"); + common_scripts\utility::flag_set("done_roof_breach_start"); + common_scripts\utility::flag_set("obj_progress_roof_breach_clear"); + level.player maps\_shg_utility::setup_player_for_scene(); + var_01 = maps\_utility::spawn_anim_model("player_rig",level.player.origin); + var_02 = maps\_utility::spawn_anim_model("mute_breach_device",var_00.origin); + var_03 = maps\_utility::spawn_anim_model("roof_breach_device",var_00.origin); + var_04 = [level.burke,var_02,var_03]; + var_05 = [level.joker,level.ajani]; + var_00 maps\_anim::anim_first_frame_solo(var_01,"roof_mute_breach_plant"); + var_02 soundscripts\_snd::snd_message("gov_building_mute_device"); + var_01 hide(); + var_06 = 0.5; + level.player playerlinktoblend(var_01,"tag_player",var_06,var_06 * 0.5,var_06 * 0.5); + wait(var_06); + var_01 show(); + level.player playerlinktodelta(var_01,"tag_player",1,7,7,5,5,1); + level.burke maps\_utility::place_weapon_on(level.burke.primaryweapon,"chest"); + var_00 maps\_anim::anim_first_frame(var_04,"roof_mute_breach_plant"); + var_00 thread maps\_anim::anim_single_solo(var_01,"roof_mute_breach_plant"); + var_00 thread maps\_anim::anim_single(var_04,"roof_mute_breach_plant"); + wait(0.25); + var_00 thread maps\_anim::anim_single(var_05,"roof_mute_breach_plant"); + var_07 = 1; + foreach(var_09 in level.gov_kva_soldiers) + { + var_0A = var_09.script_parameters; + var_09.animname = var_0A; + if(var_09.animname != "front_kva_5" && var_09.animname != "front_kva_6") + { + var_09.health = 1; + var_09 thread gov_roof_breach_enemy_react_anims(var_00); + var_00 thread maps\_anim::anim_single_solo(var_09,"roof_breach_enemy_react"); + } + } + + wait(10.5); + wait(1); + level notify("destroy_roof"); + var_03 delete(); + thread gov_roof_breach_enable_player_invul(); + thread gov_roof_breach_end_slomo(); + wait(1.7); + level.player enableweapons(); + wait(0.3); + level notify("allies_breached"); + var_0C = rooftop_anim_length(); + var_00 thread maps\_anim::anim_single_solo(level.burke,"roof_mute_breach_jumpdown"); + var_00 thread maps\_anim::anim_single_solo(level.joker,"roof_mute_breach_jumpdown",undefined,2); + var_00 thread maps\_anim::anim_single_solo(level.ajani,"roof_mute_breach_jumpdown"); + var_00 thread maps\_anim::anim_single_solo(var_01,"roof_mute_breach_jumpdown"); + var_0D = 0.3; + var_0C = var_0C - var_0D; + wait(var_0D); + level.player playersetgroundreferenceent(var_01); + level.player playersetgroundreferenceent(undefined); + level.player playerlinktodelta(var_01,"tag_player",0,60,20,30,30,0); + wait(var_0C); + common_scripts\utility::flag_set("player_landed_roof_breach"); + var_0E = common_scripts\utility::getstruct("roof_breach_joker_tp","targetname"); + level.joker forceteleport(var_0E.origin,var_0E.angles); + level.player unlink(); + var_01 delete(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level notify("player_landed_roof_breach"); + maps\_utility::autosave_by_name(); + common_scripts\utility::flag_set("obj_progress_h_breach_goto"); + level.burke maps\_utility::place_weapon_on(level.burke.primaryweapon,"right"); +} + +//Function Number: 107 +gov_roof_breach_marker_setup() +{ + var_00 = getent("mute_breach_obj_prop","targetname"); + var_01 = spawn("script_model",(0,0,0)); + var_01 setmodel("mutecharge_obj"); + var_01.angles = var_00.angles; + var_01.origin = var_00.origin; + level waittill("exo_climb_success"); + var_02 = getent("gov_breach_trigger","targetname"); + var_03 = var_02 maps\_shg_utility::hint_button_trigger("x",400); + var_02 sethintstring(&"LAGOS_ROOF_MUTE_CHARGE"); + var_02 waittill("trigger",var_04); + var_03 maps\_shg_utility::hint_button_clear(); + var_02 sethintstring(""); + var_02 makeunusable(); + common_scripts\utility::flag_set("flag_roof_charge_planted"); + level waittill("roof_breach_start"); + wait(0.4); + if(isdefined(var_01)) + { + var_01 delete(); + } +} + +//Function Number: 108 +gov_roof_breach_start_slowmo(param_00) +{ + soundscripts\_snd::snd_message("rooftop_slo_mo_override"); + setslowmotion(1,0.15,0.3); +} + +//Function Number: 109 +gov_roof_breach_end_slomo() +{ + level waittill("breach_success"); + setslowmotion(0.15,1,0.8); +} + +//Function Number: 110 +rooftop_anim_length() +{ + var_00 = getanimlength(%lag_roof_breach_jumpdown_vm); + return var_00; +} + +//Function Number: 111 +gov_roof_breach_enemy_react_anims(param_00) +{ + self.allowdeath = 1; + switch(self.script_parameters) + { + case "front_kva_1": + self.deathanim = %lag_roof_breach_react_death_guy1; + self waittill("damage"); + self.ignoreme = 1; + break; + + case "front_kva_2": + self.deathanim = %lag_roof_breach_react_death_guy2; + self waittill("damage"); + self.ignoreme = 1; + break; + + case "front_kva_3": + self.deathanim = %lag_roof_breach_react_death_guy3; + self waittill("damage"); + self.ignoreme = 1; + break; + + case "front_kva_4": + self.deathanim = %lag_roof_breach_react_death_guy4; + self waittill("damage"); + self.ignoreme = 1; + break; + + case "front_kva_5": + var_01 = getnode("front_kva_5_goal","targetname"); + maps\_utility::teleport_ai(var_01); + maps\_utility::set_goal_node(var_01); + break; + + case "front_kva_6": + var_01 = getnode("front_kva_5_goal","targetname"); + maps\_utility::teleport_ai(var_01); + maps\_utility::set_goal_node(var_01); + break; + } +} + +//Function Number: 112 +gov_roof_breach_enable_player_invul() +{ + level endon("end_shoot_dudes"); + level.player enableinvulnerability(); + level waittill("player_landed_roof_breach"); + level.player disableinvulnerability(); +} + +//Function Number: 113 +gov_roof_breach_multi_kill(param_00) +{ + var_01 = common_scripts\utility::getstructarray("magic_bullet_loc","targetname"); + var_01 = common_scripts\utility::array_randomize(var_01); + thread multi_sync_kills(level.gov_kva_soldiers,var_01); +} + +//Function Number: 114 +multi_sync_kills(param_00,param_01) +{ + level.target_array = param_00; + level.shoot_point_array = param_01; + while(level.target_array.size > 0) + { + level.target_array = maps\_utility::array_removedead_or_dying(level.target_array); + if(isalive(level.target_array[0])) + { + var_02 = level.target_array[0]; + var_03 = level.shoot_point_array[0]; + level.target_array = common_scripts\utility::array_remove(level.target_array,level.target_array[0]); + level.shoot_point_array = common_scripts\utility::array_remove(level.shoot_point_array,level.shoot_point_array[0]); + thread multi_sync_kill_shooter(var_02,var_03); + } + + wait 0.05; + } +} + +//Function Number: 115 +multi_sync_kill_shooter(param_00,param_01) +{ + param_00.maxhealth = 1; + param_00.health = 1; + var_02 = param_00 gettagorigin("TAG_EYE"); + while(isalive(param_00)) + { + if(!isdefined(param_01)) + { + wait 0.05; + continue; + } + + magicbullet("iw5_bal27_sp",param_01.origin,var_02); + wait(randomfloatrange(0.07,0.1)); + } + + level.shoot_point_array = common_scripts\utility::array_add(level.shoot_point_array,param_01); + level.shoot_point_array = common_scripts\utility::array_randomize(level.shoot_point_array); +} + +//Function Number: 116 +gov_roof_breach_prep_squad_anims(param_00,param_01,param_02) +{ + if(isdefined(param_02) && param_02) + { + maps\_utility::enable_cqbwalk(); + param_00 maps\_anim::anim_reach_solo(self,"roof_mute_breach_goto"); + } + + param_00 maps\_anim::anim_single_solo(self,"roof_mute_breach_goto"); + if(!common_scripts\utility::flag("done_roof_breach_start")) + { + param_00 thread maps\_anim::anim_loop_solo(self,"roof_mute_breach_idle","roof_breach_start"); + self.allowdeath = 1; + level waittill("roof_breach_start"); + wait 0.05; + param_00 notify("roof_breach_start"); + } +} + +//Function Number: 117 +gov_roof_breach_roof_destruction() +{ + var_00 = getentarray("mute_breach_brush","targetname"); + var_01 = getentarray("mute_breach_brush_damage","targetname"); + common_scripts\utility::array_call(var_01,::hide); + common_scripts\utility::array_call(var_01,::notsolid); + level waittill("destroy_roof"); +} + +//Function Number: 118 +notetrack_swap_roof_brush(param_00) +{ + var_01 = getentarray("mute_breach_brush","targetname"); + var_02 = getentarray("mute_breach_brush_damage","targetname"); + common_scripts\utility::array_call(var_01,::delete); + common_scripts\utility::array_call(var_02,::show); + common_scripts\utility::array_call(var_02,::solid); +} + +//Function Number: 119 +gov_roof_breach_kill_assignment() +{ + while(!common_scripts\utility::flag("player_landed_roof_breach")) + { + wait 0.05; + } + + level notify("end_shoot_dudes"); + foreach(var_01 in level.alpha_squad) + { + var_01 thread gov_roof_breach_elim_setting_on(); + } + + level.gov_kva_soldiers = common_scripts\utility::array_randomize(level.gov_kva_soldiers); + level.burke thread gov_roof_breach_elim_guy(level.gov_kva_soldiers); + wait 0.05; + level.joker thread gov_roof_breach_elim_guy(level.gov_kva_soldiers); + wait 0.05; + level.ajani thread gov_roof_breach_elim_guy(level.gov_kva_soldiers); + wait 0.05; + foreach(var_01 in level.alpha_squad) + { + var_01 thread gov_roof_breach_elim_setting_off(); + } +} + +//Function Number: 120 +gov_roof_breach_elim_guy(param_00) +{ + self endon("breach_success"); + foreach(var_02 in level.gov_kva_soldiers) + { + var_02.maxhealth = 1; + var_02.health = 1; + var_02.dontattackme = undefined; + if(isalive(var_02) && !isdefined(var_02.attacker)) + { + self.favoriteenemy = var_02; + var_02.attacker = self; + } + } +} + +//Function Number: 121 +gov_roof_breach_elim_setting_on() +{ + self.alertlevel = "combat"; + maps\_utility::disable_dontevershoot(); + self.ignoreall = 0; + self.baseaccuracy = 5000; +} + +//Function Number: 122 +gov_roof_breach_elim_setting_off() +{ + self.favoriteenemy = undefined; + self.alertlevel = "noncombat"; + maps\_utility::enable_dontevershoot(); + self.ignoreall = 1; + self.baseaccuracy = 1; +} + +//Function Number: 123 +gov_roof_breach_success_monitor() +{ + level endon("breach_success"); + for(;;) + { + level.gov_kva_soldiers = maps\_utility::array_removedead_or_dying(level.gov_kva_soldiers); + if(level.gov_kva_soldiers.size == 0) + { + gov_roof_breach_elim_setting_off(); + level notify("breach_success"); + } + + wait 0.05; + } +} + +//Function Number: 124 +gov_hostage_h_breach_doors() +{ + level.h_breach_doors = getent("h_breach_doors","targetname"); + level.h_breach_doors.animname = "h_breach_doors"; + level.h_breach_doors maps\_utility::assign_animtree(); + var_00 = getent("anim_HM_post_breach","targetname"); + var_00 thread maps\_anim::anim_first_frame_solo(level.h_breach_doors,"h_breach_pt1"); + level.h_breach_doors waittill("anim_breach_complete"); + var_00 thread maps\_anim::anim_last_frame_solo(level.h_breach_doors,"h_breach_pt1"); +} + +//Function Number: 125 +gov_hostage_approach() +{ + level waittill("breach_success"); + common_scripts\utility::flag_set("obj_progress_h_breach_goto"); + thread gov_rear_setup(); + thread gov_hostage_breach_setup(); + wait(2); + level.burke allowedstances("crouch","stand"); + level.joker allowedstances("crouch","stand"); + level.ajani allowedstances("crouch","stand"); + level.burke maps\_utility::enable_cqbwalk(); + level.joker maps\_utility::enable_cqbwalk(); + level.ajani maps\_utility::enable_cqbwalk(); + level.burke thread gov_hostage_approach_redirect(); + level.joker thread gov_hostage_approach_redirect(); + level.ajani thread gov_hostage_approach_redirect(); + common_scripts\utility::flag_clear("gov_h_breach_adv1"); + common_scripts\utility::flag_wait("gov_h_breach_adv1"); + thread maps\lagos_utility::ally_redirect_goto_node("Gideon","gov_h_breach_burke"); + thread maps\lagos_utility::ally_redirect_goto_node("Joker","gov_h_breach_joker"); + thread maps\lagos_utility::ally_redirect_goto_node("Ajani","gov_h_breach_ajani"); + common_scripts\utility::flag_clear("gov_h_breach_init"); + level notify("h_breach_prep"); + common_scripts\utility::flag_wait("flag_h_breach_started"); + common_scripts\utility::flag_set("obj_progress_h_breach_clear"); + common_scripts\utility::flag_set("done_gov_building_h_breach_start"); + common_scripts\utility::flag_set("begin_harmonic_breach_lighting"); + level notify("h_breach_anim_init"); + thread maps\lagos_vo::harmonic_breach_start_dialogue(); + wait(2); + level.anim_org_ajani_post_breach = getent("anim_HM_post_breach","targetname"); + level.anim_org_ajani_post_breach maps\_anim::anim_loop_solo(level.ajani,"h_breach_pre_idle","end_pre_idle"); +} + +//Function Number: 126 +gov_roof_breach_to_hbreach_vo() +{ + common_scripts\utility::flag_wait("flag_roof_breach_mute_complete"); + thread maps\lagos_vo::government_building_interior_dialogue(); +} + +//Function Number: 127 +gov_hostage_approach_redirect() +{ + switch(self.script_friendname) + { + case "Gideon": + thread maps\lagos_utility::ally_redirect_goto_node("Gideon","gov_hostage_0_burke"); + wait(5); + thread maps\lagos_utility::ally_redirect_goto_node("Gideon","gov_hostage_1_burke"); + break; + + case "Joker": + thread maps\lagos_utility::ally_redirect_goto_node("Joker","gov_hostage_1_joker"); + break; + + case "Ajani": + wait(2); + thread maps\lagos_utility::ally_redirect_goto_node("Ajani","gov_hostage_0_ajani"); + wait(5); + thread maps\lagos_utility::ally_redirect_goto_node("Ajani","gov_hostage_1_ajani"); + break; + } +} + +//Function Number: 128 +gov_hostage_breach_in_pos(param_00,param_01,param_02) +{ + wait(param_00); + param_01 maps\_anim::anim_reach_solo(self,param_02); + param_01 thread maps\_anim::anim_loop_solo(self,param_02,"h_breach_anim_init"); +} + +//Function Number: 129 +gov_hostage_breach_anim_idler() +{ + var_00 = []; + var_00[0] = "cqb_idle"; + var_00[1] = "cqb_idle1"; + var_00[2] = "cqb_idle2"; + var_00[3] = "cqb_idle3"; + var_00[4] = "cqb_idle4"; + var_01 = common_scripts\utility::random(var_00); + return var_01; +} + +//Function Number: 130 +fail_trigger_move_on_notify(param_00) +{ + level waittill(param_00); + self.origin = self.origin + (0,0,-10000); +} + +//Function Number: 131 +gov_hostage_breach_fail_trigger() +{ + level endon("h_breach_anim_init"); + var_00 = getent("trig_harmonic_breach_damage_fail_trigger","targetname"); + var_00 thread fail_trigger_move_on_notify("h_breach_anim_init"); + for(;;) + { + var_00 waittill("damage",var_01,var_02,var_03,var_04,var_05); + if(var_02 == level.player && !issubstr(var_05,"MELEE")) + { + setdvar("ui_deadquote",&"LAGOS_HBREACH_FAILED"); + maps\_utility::missionfailedwrapper(); + } + } +} + +//Function Number: 132 +gov_hostage_breach_fail_miss_trigger() +{ + level endon("BreachComplete"); + level endon("missionfailed"); + var_00 = getent("trig_harmonic_breach_miss_fail_trigger","targetname"); + for(;;) + { + var_00 waittill("damage",var_01,var_02,var_03,var_04,var_05); + if(var_02 == level.player && !issubstr(var_05,"MELEE")) + { + wait(3); + level notify("BreachFailed"); + } + } +} + +//Function Number: 133 +gov_hostage_breach_setup() +{ + if(common_scripts\utility::flag("pre_h_breach_playerstart")) + { + level.pre_h_breach_burke_start = common_scripts\utility::getstruct("gov_hostage_4_burke","targetname"); + level.pre_h_breach_joker_start = common_scripts\utility::getstruct("gov_hostage_4_joker","targetname"); + level.pre_h_breach_ajani_start = common_scripts\utility::getstruct("gov_hostage_4_ajani","targetname"); + level.burke teleport(level.pre_h_breach_burke_start.origin,level.pre_h_breach_burke_start.angles); + level.joker teleport(level.pre_h_breach_joker_start.origin,level.pre_h_breach_joker_start.angles); + level.ajani teleport(level.pre_h_breach_ajani_start.origin,level.pre_h_breach_ajani_start.angles); + thread maps\lagos_utility::ally_redirect_goto_node("Gideon","gov_h_breach_burke"); + thread maps\lagos_utility::ally_redirect_goto_node("Joker","gov_h_breach_joker"); + thread maps\lagos_utility::ally_redirect_goto_node("Ajani","gov_h_breach_ajani"); + } + + thread gov_hostage_breach_anim_setup(); + thread gov_hostage_breach_post_anim_setup(); + thread gov_hostage_breach_fail_trigger(); + level waittill("h_breach_start"); + soundscripts\_snd::snd_message("hb_sensor_flash_on"); + if(common_scripts\utility::flag("pre_h_breach_playerstart")) + { + level.pre_h_breach_burke_start notify("h_breach_start"); + level.pre_h_breach_joker_start notify("h_breach_start"); + level.pre_h_breach_ajani_start notify("h_breach_start"); + } + + thread maps\lagos_h_breach::startharmonicbreach(level.alpha_squad); + thread maps\lagos_vo::harmonic_breach_timer_warning_dialogue(); +} + +//Function Number: 134 +gov_hostage_breach_anim_setup() +{ + thread gov_hostage_breach_marker_setup(); + level waittill("h_breach_anim_init"); + var_00 = getent("anim_HM_breach","targetname"); + level.player maps\_shg_utility::setup_player_for_scene(); + var_01 = maps\_utility::spawn_anim_model("player_arms",level.player.origin); + soundscripts\_snd::snd_message("hb_gun_away"); + var_00 maps\_anim::anim_first_frame_solo(var_01,"h_breach"); + var_01 hide(); + var_02 = 0.5; + level.player playerlinktoblend(var_01,"tag_player",var_02,var_02 * 0.5,var_02 * 0.5); + wait(var_02); + var_01 show(); + level.player playerlinktodelta(var_01,"tag_player",1,7,7,5,5,1); + var_03 = maps\_utility::spawn_anim_model("h_breach_device",var_00.origin); + var_04 = getent("harmonic_breach_lighting_centroid","targetname"); + var_03 overridelightingorigin(var_04.origin); + var_05 = [var_01,var_03,level.joker]; + var_00 maps\_anim::anim_single(var_05,"h_breach"); + level.player unlink(); + var_01 delete(); + var_06 = getent("harmonic_breach_player_blocker","targetname"); + var_06 solid(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level notify("h_breach_start"); + maps\_utility::autosave_by_name(); + level waittill("BreachComplete"); + level thread maps\lagos_fx::harmonic_breach_flash_off(); + var_06 notsolid(); + common_scripts\utility::flag_set("flag_h_breach_complete"); +} + +//Function Number: 135 +gov_hostage_breach_marker_setup() +{ + var_00 = getent("h_breach_obj_prop","targetname"); + var_01 = spawn("script_model",(0,0,0)); + var_01 setmodel("lag_harmonic_breach_device_obj"); + var_01.angles = var_00.angles; + var_01.origin = var_00.origin; + level waittill("h_breach_prep"); + var_02 = var_01 common_scripts\utility::spawn_tag_origin(); + var_02.origin = var_02.origin + (0,0,8); + var_03 = getent("gov_h_breach_trigger","targetname"); + var_04 = var_03 maps\_shg_utility::hint_button_trigger("x",400); + var_03 sethintstring(&"LAGOS_PLACE_SENSOR"); + var_03 waittill("trigger",var_05); + common_scripts\utility::flag_set("flag_h_breach_started"); + thread gov_hostage_breach_fail_miss_trigger(); + level waittill("h_breach_anim_init"); + var_04 maps\_shg_utility::hint_button_clear(); + var_03 sethintstring(""); + wait(0.4); + if(isdefined(var_01)) + { + var_01 delete(); + } +} + +//Function Number: 136 +gov_hostage_breach_post_anim_setup() +{ + var_00 = []; + var_01 = getent("anim_HM_post_breach","targetname"); + if(common_scripts\utility::flag("post_h_breach_playerstart")) + { + level.post_h_breach_burke_start = common_scripts\utility::getstruct("gov_hostage_4_burke","targetname"); + level.post_h_breach_joker_start = common_scripts\utility::getstruct("gov_hostage_4_joker","targetname"); + level.post_h_breach_ajani_start = common_scripts\utility::getstruct("gov_hostage_4_ajani","targetname"); + level.burke teleport(level.post_h_breach_burke_start.origin,level.post_h_breach_burke_start.angles); + level.joker teleport(level.post_h_breach_joker_start.origin,level.post_h_breach_joker_start.angles); + level.ajani teleport(level.post_h_breach_ajani_start.origin,level.post_h_breach_ajani_start.angles); + thread maps\lagos_utility::ally_redirect_goto_node("Gideon","gov_h_breach_burke"); + thread maps\lagos_utility::ally_redirect_goto_node("Joker","gov_h_breach_joker"); + thread maps\lagos_utility::ally_redirect_goto_node("Ajani","gov_h_breach_ajani"); + } + + level waittill("BreachComplete"); + wait(1); + thread h_breach_blockers_delete(); + if(common_scripts\utility::flag("post_h_breach_playerstart")) + { + level.post_h_breach_burke_start notify("breach_done"); + level.post_h_breach_joker_start notify("breach_done"); + level.post_h_breach_ajani_start notify("breach_done"); + level.burke maps\_utility::anim_stopanimscripted(); + level.joker maps\_utility::anim_stopanimscripted(); + level.ajani maps\_utility::anim_stopanimscripted(); + } + + var_02 = maps\_utility::array_spawn_targetname("kva_hostage_execution"); + var_03 = 3; + foreach(var_05 in var_02) + { + var_05.animname = "hostage_" + var_03; + var_03++; + var_05 thread gov_building_rear_removal(); + var_05.weapon = "none"; + var_05.ignoreall = 1; + var_05.ignoreme = 1; + } + + var_07 = getent("kva_hostage_victim","targetname"); + var_08 = var_07 maps\_utility::spawn_ai(1); + var_08.animname = "hostage_1"; + var_08 thread gov_building_rear_removal(); + var_08 maps\_utility::gun_remove(); + var_08.ignoreall = 1; + var_08.ignoreme = 1; + var_08 setcontents(0); + var_09 = getent("kva_hostage_minister","targetname"); + var_0A = var_09 maps\_utility::spawn_ai(1); + var_0A.animname = "hostage_2"; + var_0A thread gov_building_rear_removal(); + var_0A maps\_utility::gun_remove(); + var_0A.ignoreall = 1; + var_0A.ignoreme = 1; + var_0A.name = "Prime Minister"; + var_0A maps\_utility::set_friendlyfire_warnings(1); + var_0A.allowdeath = 1; + var_0A.health = 1; + var_0B = common_scripts\utility::getstruct("intro_beatup_hostage_org","targetname"); + var_0C = getent("kva_hostage_beatup","targetname"); + var_0D = var_0C maps\_utility::spawn_ai(1); + var_0D.animname = "hostage_6"; + var_0D thread gov_building_rear_removal(); + var_0D maps\_utility::gun_remove(); + var_0D.ignoreall = 1; + var_0D.ignoreme = 1; + var_0E = getent("kva_hostage_leader_post_pcap","targetname"); + var_0F = var_0E maps\_utility::spawn_ai(1); + var_0F.animname = "kva_1"; + var_0F.ignoreall = 1; + var_0F.ignoreme = 1; + var_0F thread maps\_utility::deletable_magic_bullet_shield(); + var_0F setcontents(0); + var_0F thread gov_building_rear_removal(); + var_0F disableaimassist(); + var_10 = getent("kva_guard_beatup","targetname"); + var_11 = var_10 maps\_utility::spawn_ai(1); + var_11.animname = "kva_2"; + var_11.ignoreall = 1; + var_11.ignoreme = 1; + var_11 thread maps\_utility::deletable_magic_bullet_shield(); + var_11 setcontents(0); + var_11 thread gov_building_rear_removal(); + var_11 disableaimassist(); + var_12 = getent("kva_guard_corner","targetname"); + var_13 = var_12 maps\_utility::spawn_ai(1); + var_13.animname = "kva_3"; + var_13.ignoreall = 1; + var_13.ignoreme = 1; + var_13 thread maps\_utility::deletable_magic_bullet_shield(); + var_13 setcontents(0); + var_13 thread gov_building_rear_removal(); + var_13 disableaimassist(); + var_14 = getent("kva_pm_guard","targetname"); + var_15 = var_14 maps\_utility::spawn_ai(1); + var_15.animname = "kva_4"; + var_15.ignoreall = 1; + var_15.ignoreme = 1; + var_15 thread maps\_utility::deletable_magic_bullet_shield(); + var_15 setcontents(0); + var_15 thread gov_building_rear_removal(); + var_15 disableaimassist(); + var_16 = maps\_utility::spawn_anim_model("pm_cuffs"); + var_16 maps\_utility::assign_animtree(); + var_17 = maps\_utility::spawn_anim_model("vic_cuffs"); + var_17 maps\_utility::assign_animtree(); + if(isdefined(var_15)) + { + var_15 maps\_utility::pretend_to_be_dead(); + } + + if(isdefined(var_0F)) + { + var_0F maps\_utility::pretend_to_be_dead(); + } + + if(isdefined(var_11)) + { + var_11 maps\_utility::pretend_to_be_dead(); + } + + if(isdefined(var_13)) + { + var_13 maps\_utility::pretend_to_be_dead(); + } + + level.ajani thread gov_hostage_breach_give_radio(); + common_scripts\utility::flag_set("harmonic_complete_lighting"); + thread maps\lagos_vo::harmonic_breach_complete_dialogue(); + thread gov_hostage_player_scan(var_01,var_16); + thread restrict_movement_while_releasing_the_pm(); + thread maps\lagos_vo::pcap_pm_rescue(); + thread maps\lagos_fx::env_effects_hostage_room(); + if(isdefined(level.anim_org_ajani_post_breach)) + { + level.anim_org_ajani_post_breach notify("end_pre_idle"); + } + + thread gov_hostage_breach_actor_anims_straight_to_idle(var_01,var_02[0],"h_breach_pt1","h_breach_post","stop_anim_notify","h_breach_pt2"); + thread gov_hostage_breach_actor_anims_straight_to_idle(var_01,var_02[1],"h_breach_pt1","h_breach_post","stop_anim_notify","h_breach_pt2"); + thread gov_hostage_breach_actor_anims_straight_to_idle(var_01,var_02[2],"h_breach_pt1","h_breach_post","stop_anim_notify","h_breach_pt2"); + thread gov_hostage_breach_actor_anims_straight_to_idle(var_01,var_0D,"h_breach_pt1","h_breach_post","stop_anim_notify","h_breach_pt2"); + thread gov_hostage_breach_actor_anims_and_idle(var_01,var_08,"h_breach_pt1","h_breach_idle","h_breach_idle_ender"); + thread gov_hostage_breach_actor_anims_and_idle(var_01,var_0A,"h_breach_pt1","h_breach_idle","h_breach_idle_ender"); + thread gov_hostage_breach_actor_anims_and_idle(var_01,var_0F,"h_breach_pt1","h_breach_idle","h_breach_idle_ender"); + thread gov_hostage_breach_actor_anims_and_idle(var_01,var_11,"h_breach_pt1","h_breach_idle","h_breach_idle_ender"); + thread gov_hostage_breach_actor_anims_and_idle(var_01,var_13,"h_breach_pt1","h_breach_idle","h_breach_idle_ender"); + thread gov_hostage_breach_actor_anims_and_idle(var_01,var_15,"h_breach_pt1","h_breach_idle","h_breach_idle_ender"); + thread gov_hostage_breach_actor_anims_and_idle(var_01,level.burke,"h_breach_pt1","h_breach_idle","h_breach_idle_ender"); + thread gov_hostage_breach_actor_anims_and_idle(var_01,level.ajani,"h_breach_pt1","h_breach_idle","h_breach_idle_ender"); + thread gov_hostage_breach_actor_anims_and_idle(var_01,var_16,"h_breach_pt1","h_breach_idle","h_breach_idle_ender"); + thread gov_hostage_breach_actor_anims_and_idle(var_01,level.h_breach_doors,"h_breach_pt1"); + thread gov_hostage_breach_actor_anims_and_idle(var_01,var_17,"h_breach_pt1"); + thread gov_post_h_breach_joker_actions(); + wait(15); + common_scripts\utility::flag_set("obj_progress_free_pm"); + level waittill("player_end_scan"); + thread maps\_player_exo::player_exo_deactivate(); + var_01 notify("h_breach_idle_ender"); + wait 0.05; + soundscripts\_snd::snd_message("pm_rescue_foley"); + thread gov_hostage_breach_actor_anims_and_idle(var_01,var_08,"h_breach_pt2","h_breach_post",undefined); + thread gov_hostage_breach_actor_anims_and_idle(var_01,var_0A,"h_breach_pt2","h_breach_post",undefined); + thread gov_hostage_breach_actor_anims_and_idle(var_01,var_0F,"h_breach_pt2","h_breach_post",undefined); + thread gov_hostage_breach_actor_anims_and_idle(var_01,var_11,"h_breach_pt2","h_breach_post",undefined); + thread gov_hostage_breach_actor_anims_and_idle(var_01,var_13,"h_breach_pt2","h_breach_post",undefined); + thread gov_hostage_breach_actor_anims_and_idle(var_01,var_15,"h_breach_pt2","h_breach_post",undefined); + thread gov_hostage_breach_actor_anims_and_idle(var_01,level.burke,"h_breach_pt2"); + thread gov_hostage_breach_actor_anims_and_idle(var_01,level.ajani,"h_breach_pt2"); + thread gov_hostage_breach_actor_anims_and_idle(var_01,var_16,"h_breach_pt2"); + thread gov_hostage_breach_actor_anims_and_idle(var_01,var_17,"h_breach_pt2"); + level notify("breach_anims_complete"); + wait(25); + thread maps\_player_exo::player_exo_activate(); + common_scripts\utility::flag_set("gov_hostage_exit_door_open"); +} + +//Function Number: 137 +gov_post_h_breach_joker_actions() +{ + wait(3); + thread maps\lagos_utility::ally_redirect_goto_node("Joker","gov_h_breach_joker_post"); + var_00 = getent("anim_HM_post_breach_door","targetname"); + var_01 = getent("anim_HM_post_breach_joker","targetname"); + var_02 = getent("gov_hostage_ext_door","targetname"); + var_02.animname = "gov_exit_door"; + var_02 maps\_utility::assign_animtree(); + var_00 thread maps\_anim::anim_first_frame_solo(var_02,"h_breach_exit_door_open"); + common_scripts\utility::flag_wait("flag_hostage_scan_started"); + wait(0.5); + var_01 thread maps\_anim::anim_single_solo_run(level.joker,"h_breach_exit_door_open"); + var_00 thread maps\_anim::anim_single_solo(var_02,"h_breach_exit_door_open"); + wait(26.8); + var_03 = getent("gov_hostage_ext_door_collision","targetname"); + if(level.nextgen) + { + var_03 delete(); + } + + thread maps\lagos_utility::ally_redirect_goto_node("Joker","gov_exit_joker"); + if(level.currentgen) + { + var_03.origin = var_03.origin - (0,0,200); + common_scripts\utility::flag_wait("gov_player_exiting_area"); + var_03.origin = var_03.origin + (0,0,200); + } +} + +//Function Number: 138 +h_breach_blockers_delete() +{ + wait(4.4); + var_00 = getent("gov_h_breach_blocker","targetname"); + var_00 delete(); + var_01 = getent("hbreach_NoSight","targetname"); + var_01 delete(); +} + +//Function Number: 139 +gov_hostage_breach_actor_anims_and_idle(param_00,param_01,param_02,param_03,param_04) +{ + param_01 endon("death"); + param_01 notify("anim_breach_begin"); + if(isdefined(param_04)) + { + param_00 endon(param_04); + } + + if(isdefined(param_03)) + { + param_00 maps\_anim::anim_single_solo(param_01,param_02); + } + else + { + param_00 maps\_anim::anim_single_solo_run(param_01,param_02); + } + + if(!common_scripts\utility::flag("pm_released")) + { + if(isdefined(param_03)) + { + param_00 maps\_anim::anim_loop_solo(param_01,param_03,param_04); + } + } + + param_01 notify("anim_breach_complete"); +} + +//Function Number: 140 +debug_anim_time(param_00) +{ + self endon("death"); + wait 0.05; +} + +//Function Number: 141 +gov_hostage_breach_actor_anims_straight_to_idle(param_00,param_01,param_02,param_03,param_04,param_05) +{ + param_01 endon("death"); + param_00 maps\_anim::anim_single_solo(param_01,param_02); + if(isdefined(param_05)) + { + param_00 maps\_anim::anim_single_solo(param_01,param_05); + } + + if(isdefined(param_03)) + { + param_00 thread maps\_anim::anim_loop_solo(param_01,param_03,param_04); + if(isdefined(param_04)) + { + level waittill(param_04); + wait 0.05; + param_00 notify(param_04); + } + } +} + +//Function Number: 142 +gov_hostage_breach_give_radio() +{ + var_00 = self gettagorigin("TAG_INHAND"); + var_01 = self gettagangles("TAG_INHAND"); + var_02 = spawn("script_model",self.origin); + var_02 setmodel("com_hand_radio"); + var_02.origin = var_00; + var_02.angles = var_01; + var_02 linkto(self,"TAG_INHAND"); + self waittill("anim_breach_complete"); + var_02 delete(); +} + +//Function Number: 143 +restrict_movement_while_releasing_the_pm() +{ + var_00 = getent("player_release_pm_volume","targetname"); + for(;;) + { + if(level.player istouching(var_00)) + { + level.player allowcrouch(0); + level.player allowprone(0); + while(level.player istouching(var_00)) + { + wait 0.05; + } + + level.player allowcrouch(1); + level.player allowprone(1); + } + + wait 0.05; + } +} + +//Function Number: 144 +gov_hostage_player_scan(param_00,param_01) +{ + level waittill("scan_idle_go"); + maps\_utility::autosave_by_name(); + var_02 = getent("player_release_pm_trigger","targetname"); + var_03 = var_02 maps\_shg_utility::hint_button_trigger("x",400); + var_02 sethintstring(&"LAGOS_RELEASE_PM"); + var_02 waittill("trigger",var_04); + var_03 maps\_shg_utility::hint_button_clear(); + var_02 sethintstring(""); + var_02 makeunusable(); + common_scripts\utility::flag_set("hostage_release_lighting"); + common_scripts\utility::flag_set("flag_hostage_scan_started"); + level.player maps\_shg_utility::setup_player_for_scene(); + level.player enableslowaim(0.2,0.2); + getent("PM_use_clip","targetname") delete(); + var_05 = maps\_utility::spawn_anim_model("player_rig",level.player.origin); + var_05 hide(); + param_00 maps\_anim::anim_first_frame_solo(var_05,"h_breach_pt2"); + var_06 = 0.5; + level.player playerlinktoblend(var_05,"tag_player",var_06,var_06 * 0.5,var_06 * 0.5); + wait(var_06); + level.player playerlinktodelta(var_05,"tag_player",1,7,7,5,5,1); + var_05 show(); + level notify("player_end_scan"); + common_scripts\utility::flag_set("pm_released"); + common_scripts\utility::flag_set("obj_progress_free_pm_clear"); + param_00 maps\_anim::anim_single_solo(var_05,"h_breach_pt2"); + common_scripts\utility::flag_clear("pm_released"); + level.player unlink(); + var_05 delete(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.player disableslowaim(); + wait(1); + common_scripts\utility::flag_set("obj_complete_rescue_PM"); + wait(1); + common_scripts\utility::flag_set("obj_find_hostage_truck"); + common_scripts\utility::flag_wait("flag_leaving_gov_building"); + maps\_utility::autosave_by_name(); +} + +//Function Number: 145 +gov_rear_setup() +{ + thread gov_rear_squad_roundabout_goto(); + level waittill("BreachComplete"); + if(common_scripts\utility::flag("pre_h_breach_playerstart") || common_scripts\utility::flag("post_h_breach_playerstart")) + { + level.gov_veh_spawners = []; + level.gov_soldiers_veh = []; + } + + var_00 = getentarray("gov_rear_foot_soldier","targetname"); + foreach(var_02 in var_00) + { + var_03 = var_02 maps\_utility::spawn_ai(1); + var_04 = var_03.target; + var_03 maps\_utility::set_goal_node(getnode(var_03.target,"targetname")); + var_03 thread gov_building_rear_removal(); + } + + common_scripts\utility::flag_wait("gov_rear_init"); + var_00 = maps\_utility::get_living_ai_array("gov_rear_soldier","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 thread gov_building_rear_removal(); + level.gov_soldiers_veh = common_scripts\utility::array_add(level.gov_soldiers_veh,var_02); + } +} + +//Function Number: 146 +gov_rear_squad_roundabout_goto() +{ + level waittill("breach_anims_complete"); + foreach(var_01 in level.alpha_squad) + { + var_01.ignoreall = 0; + var_01 maps\_utility::disable_cqbwalk(); + } + + thread maps\lagos_utility::ally_redirect_goto_node("Gideon","gov_exit_burke"); + thread maps\lagos_utility::ally_redirect_goto_node("Ajani","gov_exit_ajani"); + common_scripts\utility::flag_wait("gov_hostage_exit_door_open"); + common_scripts\utility::flag_wait("gov_player_exiting_area"); + thread maps\lagos_utility::ally_redirect_goto_node("Gideon","roundabout_start_burke"); + wait(1); + thread maps\lagos_utility::ally_redirect_goto_node("Joker","roundabout_start_joker"); + wait(1); + thread maps\lagos_utility::ally_redirect_goto_node("Ajani","roundabout_start_ajani"); +} + +//Function Number: 147 +roundabout_setup() +{ + level.lookat_roundabout_rappel_trigger = getent("lookat_roundabout_rappel_trigger","targetname"); + level.lookat_roundabout_tanker_explode_trigger = getent("lookat_roundabout_tanker_explode_trigger","targetname"); + level.lookat_roundabout_rappel_trigger common_scripts\utility::trigger_off(); + level.lookat_roundabout_tanker_explode_trigger common_scripts\utility::trigger_off(); + level.tanker_fire_hurt_trigger = getent("trigger_tanker_fire_hurt","targetname"); + level.tanker_fire_hurt_trigger common_scripts\utility::trigger_off(); + level.rb_blast_marks = getentarray("roundabout_rpg_building_blast_geo","targetname"); + if(isdefined(level.rb_blast_marks)) + { + foreach(var_01 in level.rb_blast_marks) + { + var_01 hide(); + } + } + + var_03 = getent("badPlace_roundabout_lobby","targetname"); + badplace_cylinder("ally_badPlace_roundabout_lobby",-1,var_03.origin,150,200,"allies"); + var_04 = getentarray("roundabout_badplace_lobby_to_center","targetname"); + foreach(var_06 in var_04) + { + badplace_brush("roundabout_badplace_lobby_to_center",-1,var_06,"neutral"); + } + + thread maps\lagos_vo::leaving_gov_building(); + thread maps\lagos_vo::approaching_roundabout_dialogue(); + thread maps\lagos_vo::roundabout_combat_dialogue(); + common_scripts\utility::flag_wait("checkpoint_roundabout_lobby"); + maps\_utility::autosave_by_name("checkpoint_roundabout_lobby"); + level.burke maps\lagos_utility::enable_awareness(); + level.joker maps\lagos_utility::enable_awareness(); + level.ajani maps\lagos_utility::enable_awareness(); + common_scripts\utility::flag_wait("roundabout_combat_begin"); + badplace_delete("ally_badPlace_roundabout_lobby"); + common_scripts\utility::flag_wait("checkpoint_roundabout_center"); + maps\_utility::autosave_by_name_silent("checkpoint_roundabout_center"); +} + +//Function Number: 148 +roundabout_combat() +{ + level.enemies_1_a_south = []; + var_00 = []; + var_01 = []; + var_02 = []; + var_03 = []; + var_04 = []; + var_05 = []; + var_06 = []; + var_07 = []; + var_08 = []; + var_09 = []; + roundabout_combat_initial(); + common_scripts\utility::flag_wait("roundabout_combat_begin"); + var_0A = undefined; + var_0B = getentarray("tanker_explosion_tanker","script_noteworthy"); + foreach(var_0D in var_0B) + { + if(var_0D.classname == "script_model") + { + var_0A = var_0D; + } + } + + var_0F = 2000; + var_0A.health = var_0F; + var_0A setcandamage(1); + var_0A thread roundabout_tanker_damage(var_0F); + level.roundabout_ropes = []; + wait(4); + if(level.currentgen) + { + var_00 = []; + var_00 = maps\_utility::array_spawn_targetname_cg("Roundabout_enemies_1_C_south",1,0.05); + } + else + { + var_00 = maps\_utility::array_spawn_targetname("Roundabout_enemies_1_C_south",1); + } + + var_07 = common_scripts\utility::array_combine(var_07,level.enemies_1_a_south); + var_07 = common_scripts\utility::array_combine(var_07,level.enemies_1_a2_south); + var_07 = common_scripts\utility::array_combine(var_07,var_00); + thread maps\lagos_utility::spawn_wave_upkeep_and_flag(var_07,"roundabout_wave_1A_complete",2,0); + thread roundabout_magic_microwave_grenade(); + thread hint_text_exo_shield(); + thread roundabout_rush_goal(var_07,"enemy_goal_Roundabout_rush_SE",8); + thread roundabout_rush_goal(var_07,"enemy_goal_Roundabout_rush_SE_inside",10); + thread roundabout_rush_goal(var_07,"enemy_goal_Roundabout_D",12); + common_scripts\utility::flag_wait("roundabout_wave_1A_complete"); + var_07 = maps\_utility::array_removedead_or_dying(var_07); + var_10 = getent("enemy_goal_Roundabout_C","targetname"); + foreach(var_12 in var_07) + { + if(isdefined(var_12) && isalive(var_12)) + { + var_12 cleargoalvolume(); + var_12 maps\_utility::player_seek_disable(); + wait 0.05; + if(isdefined(var_12) && isalive(var_12)) + { + var_12 setgoalvolumeauto(var_10); + } + } + } + + if(!common_scripts\utility::flag("obj_progress_find_hostage_truck_roundabout_complete")) + { + if(level.currentgen) + { + var_01 = []; + var_01 = maps\_utility::array_spawn_targetname_cg("Roundabout_enemies_2_A_south",1,0.05); + } + else + { + var_01 = maps\_utility::array_spawn_targetname("Roundabout_enemies_2_A_south",1); + } + + foreach(var_12 in var_01) + { + var_12.health = 100; + } + + wait(2); + foreach(var_12 in var_01) + { + if(isdefined(var_12.script_noteworthy) && issubstr(var_12.script_noteworthy,"sniper")) + { + var_12.custom_laser_function = ::maps\lagos_utility::lagos_custom_laser; + var_12 maps\lagos_utility::lagos_custom_laser(); + var_12.goalradius = 2; + } + } + + var_07 = common_scripts\utility::array_combine(var_07,var_01); + thread maps\lagos_utility::spawn_wave_upkeep_and_flag(var_07,"roundabout_wave_1B_complete",2,0); + common_scripts\utility::flag_wait("roundabout_wave_1B_complete"); + var_07 = maps\_utility::array_removedead_or_dying(var_07); + if(level.currentgen) + { + var_02 = []; + var_02 = maps\_utility::array_spawn_targetname_cg("Roundabout_enemies_2_B_west",1,0.05); + } + else + { + var_02 = maps\_utility::array_spawn_targetname("Roundabout_enemies_2_B_west",1); + } + + foreach(var_12 in var_02) + { + var_12.ignoreall = 1; + var_12.ignoreme = 1; + if(!isdefined(var_12.damage_functions)) + { + var_12.damage_functions = []; + } + } + + thread anim_roundabout_rappel_1(var_02); + if(level.currentgen) + { + var_1A = []; + var_1A = maps\_utility::array_spawn_targetname_cg("Roundabout_enemies_2_E_west",1,0.05); + } + else + { + var_1A = maps\_utility::array_spawn_targetname("Roundabout_enemies_2_E_west",1); + } + + var_08 = common_scripts\utility::array_combine(var_08,var_07); + var_08 = common_scripts\utility::array_combine(var_08,var_02); + var_08 = common_scripts\utility::array_combine(var_08,var_1A); + thread maps\lagos_utility::spawn_wave_upkeep_and_flag(var_08,"roundabout_wave_2A_complete",2,0); + common_scripts\utility::flag_wait("roundabout_wave_2A_complete"); + maps\_utility::autosave_by_name(); + var_08 = maps\_utility::array_removedead_or_dying(var_08); + if(level.currentgen) + { + var_03 = []; + var_03 = maps\_utility::array_spawn_targetname_cg("Roundabout_enemies_2_C_west",1,0.05); + } + else + { + var_03 = maps\_utility::array_spawn_targetname("Roundabout_enemies_2_C_west",1); + } + + if(level.currentgen) + { + var_04 = []; + var_04 = maps\_utility::array_spawn_targetname_cg("Roundabout_enemies_2_D_west",1,0.05); + } + else + { + var_04 = maps\_utility::array_spawn_targetname("Roundabout_enemies_2_D_west",1); + } + + common_scripts\utility::flag_set("roundabout_wave_2_all_spawned"); + foreach(var_12 in var_04) + { + var_12.ignoreall = 1; + var_12.ignoreme = 1; + if(!isdefined(var_12.damage_functions)) + { + var_12.damage_functions = []; + } + } + + thread anim_roundabout_rappel_2(var_04); + var_08 = common_scripts\utility::array_combine(var_08,var_03); + var_08 = common_scripts\utility::array_combine(var_08,var_04); + thread maps\lagos_utility::spawn_wave_upkeep_and_flag(var_08,"roundabout_wave_2B_complete",2,0); + thread roundabout_rush_goal(var_08,"enemy_goal_Roundabout_van_SW",1,1); + thread roundabout_rush_goal(var_08,"enemy_goal_Roundabout_rush_SW",9); + thread roundabout_rush_goal(var_08,"enemy_goal_Roundabout_rush_SW_inside",10); + thread roundabout_rush_goal(var_08,"enemy_goal_Roundabout_B",13); + common_scripts\utility::flag_wait("roundabout_wave_2B_complete"); + var_08 = maps\_utility::array_removedead_or_dying(var_08); + var_10 = getent("enemy_goal_Roundabout_B","targetname"); + foreach(var_12 in var_08) + { + if(isdefined(var_12) && isalive(var_12)) + { + var_12 cleargoalvolume(); + var_12 maps\_utility::player_seek_disable(); + wait 0.05; + if(isdefined(var_12) && isalive(var_12)) + { + var_12 setgoalvolumeauto(var_10); + } + } + } + } + + if(!common_scripts\utility::flag("obj_progress_find_hostage_truck_roundabout_complete")) + { + if(level.currentgen) + { + var_05 = []; + var_05 = maps\_utility::array_spawn_targetname_cg("Roundabout_enemies_3_A_east",1,0.05); + } + else + { + var_05 = maps\_utility::array_spawn_targetname("Roundabout_enemies_3_A_east",1); + } + + var_09 = common_scripts\utility::array_combine(var_09,var_08); + var_09 = common_scripts\utility::array_combine(var_09,var_05); + thread maps\lagos_utility::spawn_wave_upkeep_and_flag(var_09,"roundabout_wave_3A_complete",2,0); + thread roundabout_rush_goal(var_09,"enemy_goal_Roundabout_rush_SE_inside",4); + common_scripts\utility::flag_wait("roundabout_wave_3A_complete"); + var_09 = maps\_utility::array_removedead_or_dying(var_09); + var_06 = maps\_utility::array_spawn_targetname("Roundabout_enemies_3_B_south",1); + common_scripts\utility::flag_set("roundabout_wave_3_all_spawned"); + var_09 = common_scripts\utility::array_combine(var_09,var_06); + thread roundabout_rush_goal(var_09,"enemy_goal_Roundabout_van_SE",1,1); + thread roundabout_rush_goal(var_09,"enemy_goal_Roundabout_rush_E",8); + thread roundabout_rush_goal(var_09,"enemy_goal_Roundabout_rush_SE_inside",10); + wait(3); + if(!common_scripts\utility::flag("flag_roundabout_tanker_explode")) + { + if(level.currentgen) + { + var_1F = []; + var_1F = maps\_utility::array_spawn_targetname_cg("Roundabout_enemies_OnTanker",1,0.05); + } + else + { + var_1F = maps\_utility::array_spawn_targetname("Roundabout_enemies_OnTanker",1); + } + + foreach(var_12 in var_1F) + { + var_12.ignoreme = 1; + var_12 thread roundabout_tanker_enemy_settings(); + } + + thread maps\lagos_utility::spawn_wave_upkeep_and_flag(var_1F,"roundabout_wave_3_complete",0); + common_scripts\utility::flag_wait("roundabout_wave_3_complete"); + if(!common_scripts\utility::flag("flag_roundabout_tanker_explode")) + { + thread roundabout_tanker_magic_rpg(); + wait(1.33); + if(!common_scripts\utility::flag("flag_roundabout_tanker_explode")) + { + roundabout_combat_tanker_explode(); + var_09 = maps\_utility::array_removedead_or_dying(var_09); + common_scripts\utility::array_call(var_09,::kill); + } + } + } + else + { + var_09 = maps\_utility::array_removedead_or_dying(var_09); + thread maps\lagos_utility::spawn_wave_upkeep_and_flag(var_09,"roundabout_wave_3_complete",0,0); + common_scripts\utility::flag_wait("roundabout_wave_3_complete"); + } + + wait(0.25); + common_scripts\utility::flag_set("obj_progress_find_hostage_truck_roundabout"); + common_scripts\utility::flag_set("obj_progress_find_hostage_truck_roundabout_complete"); + var_22 = getnode("node_roundabout_escape_burke","targetname"); + var_23 = getnode("node_roundabout_escape_joker","targetname"); + var_24 = getnode("node_roundabout_escape_ajani","targetname"); + level.burke maps\_utility::set_goal_node(var_22); + level.joker maps\_utility::set_goal_node(var_23); + level.ajani maps\_utility::set_goal_node(var_24); + var_25 = getent("kva_goal_Roundabout_complete","targetname"); + if(var_09.size > 0) + { + var_26 = 0; + foreach(var_12 in var_09) + { + if(isdefined(var_12) && isalive(var_12)) + { + var_12 cleargoalvolume(); + var_12 maps\_utility::player_seek_disable(); + wait 0.05; + var_12 setgoalvolumeauto(var_25); + if(var_26 % 2) + { + var_12 thread maps\lagos_utility::ignore_all_until_path_end(); + } + + var_26++; + } + } + } + + common_scripts\utility::flag_wait("alley1_spawn"); + foreach(var_2A in level.roundabout_ropes) + { + var_2A delete(); + } + } +} + +//Function Number: 149 +roundabout_magic_microwave_grenade() +{ + wait(5); + var_00 = common_scripts\utility::getstruct("microwave_gren_throw","targetname"); + var_01 = common_scripts\utility::getstruct("microwave_gren_target","targetname"); + var_02 = magicgrenade("microwave_grenade",var_00.origin,var_01.origin); + var_02 thread maps\_microwave_grenade::microwave_grenade_explode_wait(); + var_02 waittill("explode",var_03); + common_scripts\utility::flag_set("flag_roundabout_magic_MWG"); +} + +//Function Number: 150 +hint_text_exo_shield() +{ + level.player endon("death"); + wait(25); + if(level.player maps\_player_exo::exo_shield_is_on() == 0) + { + if(level.player.exobatterylevel >= 1) + { + maps\_utility::hintdisplayhandler("use_exo_shield",5); + while(!common_scripts\utility::flag("flag_roundabout_exo_shield")) + { + if(level.player buttonpressed("DPAD_DOWN")) + { + common_scripts\utility::flag_set("flag_roundabout_exo_shield"); + } + + wait 0.05; + } + } + } +} + +//Function Number: 151 +use_exo_shield_check() +{ + level.player endon("death"); + if(common_scripts\utility::flag("flag_roundabout_exo_shield")) + { + return 1; + } + + return 0; +} + +//Function Number: 152 +roundabout_tanker_damage(param_00) +{ + while(isdefined(self) && isalive(self)) + { + self waittill("damage",var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A); + if(var_02 != level.player && self.health / param_00 <= 0.25 && self.health > 0) + { + self.health = self.health + var_01; + } + + if(self.health <= 100 && var_02 == level.player) + { + common_scripts\utility::flag_set("flag_roundabout_tanker_explode"); + roundabout_combat_tanker_explode(); + return; + } + + wait 0.05; + } +} + +//Function Number: 153 +roundabout_rush_goal(param_00,param_01,param_02,param_03) +{ + wait(param_02); + param_00 = maps\_utility::array_removedead_or_dying(param_00); + if(param_00.size <= 0) + { + return; + } + + var_04 = getent(param_01,"targetname"); + foreach(var_06 in param_00) + { + var_06.distance_to_goalvol_sq = distancesquared(var_06.origin,var_04.origin); + } + + if(isdefined(param_03) && param_03) + { + param_00 = common_scripts\utility::array_sort_with_func(param_00,::maps\lagos_utility::closer_to_goal_vol); + } + else + { + param_00 = common_scripts\utility::array_sort_with_func(param_00,::maps\lagos_utility::farther_to_goal_vol); + } + + foreach(var_06 in param_00) + { + if(isdefined(var_06.rushed) || issubstr(var_06.classname,"sniper") || issubstr(var_06.classname,"rpg")) + { + param_00 = common_scripts\utility::array_remove(param_00,var_06); + } + } + + foreach(var_06 in param_00) + { + if(isdefined(var_06) && isalive(var_06)) + { + if(isdefined(param_03) && param_03) + { + var_06.goalradius = 16; + } + + var_06.ignoreme = 1; + var_06.grenadeammo = 0; + var_06 setgoalvolumeauto(var_04); + var_06.rushed = 1; + var_06 thread maps\lagos_utility::ignore_until_goal_reached(); + var_06 waittill("goal"); + if(isdefined(var_06) && isalive(var_06)) + { + if(!isdefined(param_03) || !param_03) + { + var_06 thread maps\_utility::player_seek_enable(); + } + else if(isdefined(param_03) && param_03) + { + var_06.script_fixednode = 1; + } + } + + wait(2); + if(isdefined(var_06) && isalive(var_06)) + { + var_06.ignoreme = 0; + } + + return; + } + } +} + +//Function Number: 154 +roundabout_tanker_enemy_settings() +{ + self.deathanim = %bog_b_rpg_fall_death; + self waittill("death"); + if(common_scripts\utility::flag("flag_roundabout_tanker_explode")) + { + self hide(); + self delete(); + return; + } + + wait(1.5); + if(isdefined(self)) + { + self.weapon = "none"; + self hide(); + self delete(); + } +} + +//Function Number: 155 +roundabout_tanker_enemy_settings_other() +{ + common_scripts\utility::flag_wait("flag_delete_other_tanker_enemies"); + wait(1.5); + if(isdefined(self)) + { + self.weapon = "none"; + self hide(); + self delete(); + } +} + +//Function Number: 156 +roundabout_tanker_magic_rpg() +{ + var_00 = getent("magicOrg_roundabout_tanker_source","targetname"); + var_01 = getent("magicOrg_roundabout_tanker_dest","targetname"); + wait(1); + magicbullet("iw5_mahemstraight_sp",var_00.origin,var_01.origin); +} + +//Function Number: 157 +roundabout_combat_initial() +{ + common_scripts\utility::flag_wait("roundabout_combat_starting_soon"); + if(level.currentgen) + { + level.enemies_1_a2_south = []; + level.enemies_1_a2_south = maps\_utility::array_spawn_targetname_cg("Roundabout_enemies_1_A2_south",1,0.05); + } + else + { + level.enemies_1_a2_south = maps\_utility::array_spawn_targetname("Roundabout_enemies_1_A2_south",1); + } + + foreach(var_01 in level.enemies_1_a2_south) + { + var_01.ignoreall = 1; + var_01.ignoreme = 1; + var_01 thread maps\_utility::magic_bullet_shield(); + var_01.goalradius = 16; + } + + common_scripts\utility::flag_wait("roundabout_combat_begin"); + var_03 = getent("magicOrg_roundabout_opening_1","targetname"); + var_04 = getent("magicOrg_roundabout_opening_2","targetname"); + var_05 = getent("magicOrg_roundabout_opening_3","targetname"); + var_06 = getent("magicOrg_roundabout_opening_4","targetname"); + var_07 = getent("magicDest_roundabout_opening_1","targetname"); + var_08 = getent("magicDest_roundabout_opening_1_A","targetname"); + var_09 = getent("magicDest_roundabout_opening_2","targetname"); + var_0A = getent("magicDest_roundabout_opening_3","targetname"); + var_0B = getent("magicDest_roundabout_opening_4","targetname"); + var_0C = getent("magicDest_roundabout_opening_5","targetname"); + var_0D = getent("magicDest_roundabout_opening_6","targetname"); + common_scripts\utility::flag_set("roundabout_RPG_start"); + soundscripts\_snd::snd_message("roundabout_general_mayhem"); + level.player enableinvulnerability(); + var_0E = magicbullet("iw5_mahemstraight_sp",var_05.origin,var_07.origin); + var_0E soundscripts\_snd::snd_message("roundabout_rpg_fire"); + wait(0.75); + var_0E = magicbullet("iw5_mahemstraight_sp",var_03.origin,var_08.origin); + var_0E soundscripts\_snd::snd_message("roundabout_rpg_fire"); + wait(0.25); + var_0E = magicbullet("iw5_mahemstraight_sp",var_04.origin,var_09.origin); + var_0E soundscripts\_snd::snd_message("roundabout_rpg_fire"); + wait(0.5); + level notify("drivers_get_out"); + common_scripts\utility::flag_set("flag_Roundabout_Civilians_Flee"); + soundscripts\_snd::snd_message("roundabout_combat_started"); + if(level.currentgen) + { + level.enemies_1_a_south = []; + level.enemies_1_a_south = maps\_utility::array_spawn_targetname_cg("Roundabout_enemies_1_A_south",1,0.05); + } + else + { + level.enemies_1_a_south = maps\_utility::array_spawn_targetname("Roundabout_enemies_1_A_south",1); + } + + var_0F = level.enemies_1_a_south[0].goalradius; + foreach(var_01 in level.enemies_1_a_south) + { + var_01.ignoreall = 1; + var_01.ignoreme = 1; + var_01 thread maps\_utility::magic_bullet_shield(); + var_01.goalradius = 16; + } + + if(level.nextgen) + { + var_0E = magicbullet("iw5_mahemstraight_sp",var_05.origin,var_0A.origin); + var_0E soundscripts\_snd::snd_message("roundabout_rpg_fire"); + wait(0.25); + var_0E = magicbullet("iw5_mahemstraight_sp",var_06.origin,var_0B.origin); + var_0E soundscripts\_snd::snd_message("roundabout_rpg_fire"); + wait(0.25); + var_0E = magicbullet("iw5_mahemstraight_sp",var_05.origin,var_0C.origin); + var_0E soundscripts\_snd::snd_message("roundabout_rpg_fire"); + wait(0.75); + var_0E = magicbullet("iw5_mahemstraight_sp",var_05.origin,var_0D.origin); + var_0E soundscripts\_snd::snd_message("roundabout_rpg_fire"); + } + + thread maps\lagos_utility::stop_vehicle_traffic_roundabout_straightways(); + level.player disableinvulnerability(); + if(level.nextgen) + { + radiusdamage(common_scripts\utility::getstruct("roundabout_magic_extra_damage_1","targetname").origin,350,10000,9000); + } + + foreach(var_01 in level.enemies_1_a_south) + { + if(isdefined(var_01) && isalive(var_01)) + { + var_01.ignoreall = 0; + var_01.ignoreme = 0; + var_01 maps\_utility::stop_magic_bullet_shield(); + } + } + + foreach(var_01 in level.enemies_1_a2_south) + { + if(isdefined(var_01) && isalive(var_01)) + { + var_01.ignoreall = 0; + var_01.ignoreme = 0; + var_01 maps\_utility::stop_magic_bullet_shield(); + } + } + + wait(2); + var_16 = getent("enemy_goal_Roundabout_Fallback_East","targetname"); + foreach(var_01 in level.enemies_1_a_south) + { + var_01 setgoalvolumeauto(var_16); + } + + maps\_utility::battlechatter_on("allies"); + maps\_utility::battlechatter_on("axis"); +} + +//Function Number: 158 +roundabout_combat_tanker_explode() +{ + soundscripts\_snd::snd_message("roundabout_tanker_explosion"); + level thread maps\lagos_fx::roundabout_tanker_explosion(); + var_00 = common_scripts\utility::getstruct("struct_roundabout_tanker_loc","targetname"); + earthquake(0.6,0.5,var_00.origin,3000); + thread maps\lagos_utility::rumble_roundabout_tanker(); + var_01 = getentarray("tanker_explosion_tanker","script_noteworthy"); + foreach(var_03 in var_01) + { + if(var_03.classname == "script_model") + { + var_03 setmodel("ind_semi_truck_fuel_tank_destroy"); + } + } + + var_05 = getentarray("tanker_explosion_cab","script_noteworthy"); + foreach(var_03 in var_05) + { + if(var_03.classname == "script_model") + { + var_03 setmodel("ind_semi_truck_03_destroy"); + } + } + + var_08 = getentarray("roundabout_rpg_building_clean_geo","targetname"); + if(isdefined(var_08)) + { + foreach(var_0A in var_08) + { + var_0A hide(); + } + } + + if(isdefined(level.rb_blast_marks)) + { + foreach(var_0A in level.rb_blast_marks) + { + var_0A show(); + } + } + + if(level.nextgen) + { + radiusdamage(common_scripts\utility::getstruct("kill_kva_rpgs_0","targetname").origin,300,10000,9000); + radiusdamage(common_scripts\utility::getstruct("kill_kva_rpgs_1","targetname").origin,300,10000,9000); + radiusdamage(common_scripts\utility::getstruct("kill_kva_rpgs_2","targetname").origin,300,10000,9000); + wait(0.5); + radiusdamage(common_scripts\utility::getstruct("roundabout_tanker_ground_damage_1","targetname").origin,350,10000,9000); + radiusdamage(common_scripts\utility::getstruct("roundabout_tanker_ground_damage_2","targetname").origin,350,10000,9000); + wait(0.5); + radiusdamage(common_scripts\utility::getstruct("roundabout_tanker_ground_damage_3","targetname").origin,350,10000,9000); + wait(0.5); + radiusdamage(common_scripts\utility::getstruct("roundabout_tanker_ground_damage_5","targetname").origin,350,10000,9000); + radiusdamage(common_scripts\utility::getstruct("roundabout_tanker_ground_damage_6","targetname").origin,350,10000,9000); + } + else + { + roundabout_combat_tanker_explode_veh_cg(); + } + + var_0E = getcorpsearray(); + foreach(var_10 in var_0E) + { + if(issubstr(var_10.classname,"rpg")) + { + var_10 delete(); + } + } + + var_12 = getweaponarray(); + foreach(var_10 in var_12) + { + if(issubstr(var_10.classname,"mahem")) + { + var_10 delete(); + } + } + + thread roundabout_combat_tanker_fire_damage(); +} + +//Function Number: 159 +roundabout_combat_tanker_fire_damage() +{ + level.tanker_fire_hurt_trigger common_scripts\utility::trigger_on(); + common_scripts\utility::flag_wait("kill_roundabout_flames"); + level.tanker_fire_hurt_trigger common_scripts\utility::trigger_off(); +} + +//Function Number: 160 +roundabout_combat_tanker_explode_veh_cg() +{ + var_00 = getent("magicOrg_roundabout_tanker_dest","targetname"); + var_01 = getent("magicOrg_roundabout_tanker_source","targetname"); + level.roundabout_center_vehicles_tank_explo = common_scripts\utility::array_add(level.roundabout_center_vehicles_tank_explo,var_01); + level.roundabout_center_vehicles_tank_explo = sortbydistance(level.roundabout_center_vehicles_tank_explo,var_00.origin); + foreach(var_03 in level.roundabout_center_vehicles_tank_explo) + { + wait(randomfloatrange(0.1,0.5)); + if(isdefined(var_03)) + { + radiusdamage(var_03.origin,150,10000,9000); + } + } +} + +//Function Number: 161 +roundabout_bicycle_riders() +{ + common_scripts\utility::flag_wait("flag_roundabout_bikes_move"); + maps\_utility::delaythread(0.01,::maps\lagos_utility::bike_rider,"roundabout_bike_path_1",8); + maps\_utility::delaythread(1,::maps\lagos_utility::bike_rider,"roundabout_bike_path_2",7); +} + +//Function Number: 162 +roundabout_combat_start_slow_motion() +{ + level.player thread maps\_utility::play_sound_on_entity("slomo_whoosh"); + level.player thread maps\lagos_qte::player_heartbeat(); + maps\_utility::slowmo_start(); + level.player allowmelee(0); + maps\_utility::slowmo_setspeed_slow(0.1); + maps\_utility::slowmo_setlerptime_in(0.25); + maps\_utility::slowmo_lerp_in(); + wait(0.5); + level notify("stop_player_heartbeat"); + level.player thread maps\_utility::play_sound_on_entity("slomo_whoosh"); + maps\_utility::slowmo_setlerptime_out(0.75); + maps\_utility::slowmo_lerp_out(); + level.player allowmelee(1); + maps\_utility::slowmo_end(); + earthquake(0.5,1,level.player.origin,1000); +} + +//Function Number: 163 +anim_roundabout_rappel_1(param_00) +{ + level.lookat_roundabout_rappel_trigger common_scripts\utility::trigger_on(); + thread maps\lagos_utility::timeout_and_flag("lookat_roundabout_rappel_go",2); + common_scripts\utility::flag_wait("lookat_roundabout_rappel_go"); + var_01 = getent("anim_org_rb_rappel_R1","targetname"); + var_02 = getent("anim_org_rb_rappel_R2","targetname"); + if(param_00.size >= 2) + { + if(isalive(param_00[0])) + { + param_00[0].animname = "KVA_rappel_right"; + param_00[0] maps\_utility::add_damage_function(::kill_kva_on_rope); + thread threaded_anim_roundabout_rappel(var_01,param_00[0],"rb_rappel_right"); + wait(0.5); + } + + if(isalive(param_00[1])) + { + param_00[1].animname = "KVA_rappel_right"; + param_00[1] maps\_utility::add_damage_function(::kill_kva_on_rope); + thread threaded_anim_roundabout_rappel(var_02,param_00[1],"rb_rappel_right"); + wait(0.5); + } + } + + level.lookat_roundabout_rappel_trigger common_scripts\utility::trigger_off(); + common_scripts\utility::flag_clear("lookat_roundabout_rappel_go"); +} + +//Function Number: 164 +kill_kva_on_rope(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + self endon("rappel_complete"); + if(param_01 == level.player) + { + self notify("killanimscript"); + maps\lagos_utility::challenge_point_award(); + self kill(self.origin); + self startragdoll(); + } +} + +//Function Number: 165 +anim_roundabout_rappel_2(param_00) +{ + level.lookat_roundabout_rappel_trigger common_scripts\utility::trigger_on(); + thread maps\lagos_utility::timeout_and_flag("lookat_roundabout_rappel_go",2); + common_scripts\utility::flag_wait("lookat_roundabout_rappel_go"); + var_01 = getent("anim_org_rb_rappel_L1","targetname"); + var_02 = getent("anim_org_rb_rappel_L2","targetname"); + if(param_00.size >= 2) + { + if(isalive(param_00[0])) + { + param_00[0].animname = "KVA_rappel_left"; + param_00[0] maps\_utility::add_damage_function(::kill_kva_on_rope); + thread threaded_anim_roundabout_rappel(var_01,param_00[0],"rb_rappel_left"); + wait(0.5); + } + + if(isalive(param_00[1])) + { + param_00[1].animname = "KVA_rappel_left"; + param_00[1] maps\_utility::add_damage_function(::kill_kva_on_rope); + thread threaded_anim_roundabout_rappel(var_02,param_00[1],"rb_rappel_left"); + wait(0.5); + } + } +} + +//Function Number: 166 +threaded_anim_roundabout_rappel(param_00,param_01,param_02) +{ + param_01 endon("death"); + var_03 = spawn("script_model",param_00.origin); + var_03 setmodel("rope50ft"); + var_03 useanimtree(level.scr_animtree["rappel_roundabout"]); + var_03.animname = "rappel_roundabout"; + level.roundabout_ropes = common_scripts\utility::array_add(level.roundabout_ropes,var_03); + if(issubstr(param_02,"right")) + { + param_00 maps\_anim::anim_single_solo(var_03,"start_rope_right"); + } + else if(issubstr(param_02,"left")) + { + param_00 maps\_anim::anim_single_solo(var_03,"start_rope_left"); + } + + wait(0.1); + if(issubstr(param_02,"right")) + { + param_00 maps\_anim::anim_first_frame_solo(var_03,"rope_right"); + param_00 maps\_anim::anim_first_frame_solo(param_01,param_02); + wait(0.05); + param_00 thread maps\_anim::anim_single_solo(var_03,"rope_right"); + param_00 thread maps\_anim::anim_single_solo(param_01,param_02); + } + else if(issubstr(param_02,"left")) + { + param_00 maps\_anim::anim_first_frame_solo(var_03,"rope_left"); + param_00 maps\_anim::anim_first_frame_solo(param_01,param_02); + wait(0.05); + param_00 thread maps\_anim::anim_single_solo(var_03,"rope_left"); + param_00 thread maps\_anim::anim_single_solo(param_01,param_02); + } + + wait(3.8); + param_01 notify("rappel_complete"); + param_01.ignoreall = 0; + param_01.ignoreme = 0; +} + +//Function Number: 167 +roundabout_tanker_lookat() +{ + wait(15); + level.lookat_roundabout_tanker_explode_trigger common_scripts\utility::trigger_on(); + thread maps\lagos_utility::timeout_and_flag("lookat_roundabout_rappel_go",10); + common_scripts\utility::flag_wait("lookat_roundabout_rappel_go"); + common_scripts\utility::flag_set("roundabout_wave_3_complete"); +} + +//Function Number: 168 +spawncivilians_roundabout() +{ + level.rb_flee_goal_pick = 0; + common_scripts\utility::flag_wait("flag_roundabout_spawn_vehicles"); + thread spawnmalecivilians_roundabout(); + thread spawnfemalecivilians_roundabout(); + thread spawnwalkingcivilians_roundabout(); + thread roundabout_lobby_elevator(); + thread roundabout_lobby_couch(); + thread roundabout_lobby_security_desk(); + thread roundabout_lobby_phone(); + thread roundabout_lobby_phone2(); + thread roundabout_lobby_walkingtalk(); + thread roundabout_street_drop_bikes(); + thread roundabout_street_car_hood_hit(); + thread roundabout_lobby_couch_front(); + thread roundabout_lobby_security_desk_front(); + thread roundabout_lobby_phone_front(); + level.roundabout_flee_goals = getentarray("goal_roundabout_flee","targetname"); +} + +//Function Number: 169 +roundabout_lobby_security_desk_front() +{ + var_00 = getent("rb_lobby_security_desk_1_front","targetname") maps\_utility::spawn_ai(1); + var_01 = getent("rb_lobby_security_desk_2_front","targetname") maps\_utility::spawn_ai(1); + var_00 endon("death"); + var_01 endon("death"); + var_00.alertlevelint = 0; + var_01.alertlevelint = 0; + var_00 maps\lagos_utility::immune_sonic_blast(); + var_01 maps\lagos_utility::immune_sonic_blast(); + var_00.animname = "lobby_security"; + var_01.animname = "lobby_security"; + level.civilian_roundabout_vo_1 = var_00; + var_02 = getent("anim_org_rb_lobby_security_desk_front","targetname"); + var_03 = getent("anim_org_rb_lobby_security_desk_front_2","targetname"); + var_02 thread maps\_anim::anim_loop_solo(var_00,"security_loop_1","stop_loop"); + var_03 thread maps\_anim::anim_loop_solo(var_01,"security_loop_2","stop_loop"); + common_scripts\utility::flag_wait("flag_roundabout_player_move_0"); + var_03 notify("stop_loop"); + var_01 setlookatentity(level.player); + var_03 maps\_anim::anim_single_solo(var_01,"security_react_2"); + var_03 maps\_anim::anim_single_solo(var_01,"security_react_loop_2"); + var_01 thread fleeingcivilian_roundaboutexit_lobby("civilian_goal_Roundabout_delete_front"); + common_scripts\utility::flag_wait("roundabout_wave_1A_complete"); + var_00 maps\_shg_design_tools::delete_auto(); +} + +//Function Number: 170 +roundabout_lobby_phone_front() +{ + var_00 = getent("rb_lobby_phone_1_front","targetname") maps\_utility::spawn_ai(1); + var_00 endon("death"); + var_00.alertlevelint = 0; + var_00 maps\lagos_utility::immune_sonic_blast(); + var_00.animname = "lobby_phone"; + var_01 = getent("anim_org_rb_lobby_phone_front","targetname"); + var_00 attach("electronics_pda_big","TAG_WEAPON_RIGHT",1); + var_00.hasattachedprops = 1; + var_00.attachedpropmodel = "electronics_pda_big"; + var_00.attachedproptag = "TAG_WEAPON_RIGHT"; + var_01 thread maps\_anim::anim_loop_solo(var_00,"phone_loop_1","stop_loop"); + common_scripts\utility::flag_wait("flag_roundabout_player_move_0"); + var_01 notify("stop_loop"); + var_00 setlookatentity(level.player); + var_01 maps\_anim::anim_single_solo(var_00,"phone_react_1"); + var_01 thread maps\_anim::anim_loop_solo(var_00,"phone_react_loop_1","stop_loop"); + common_scripts\utility::flag_wait("roundabout_wave_1A_complete"); + var_01 notify("stop_loop"); + var_00 maps\_shg_design_tools::delete_auto(); +} + +//Function Number: 171 +roundabout_lobby_couch_front() +{ + var_00 = getent("rb_lobby_couch_1_front","targetname") maps\_utility::spawn_ai(1); + var_01 = getent("rb_lobby_couch_2_front","targetname") maps\_utility::spawn_ai(1); + var_00 endon("death"); + var_01 endon("death"); + var_00.alertlevelint = 0; + var_01.alertlevelint = 0; + var_00 maps\lagos_utility::immune_sonic_blast(); + var_01 maps\lagos_utility::immune_sonic_blast(); + var_00.animname = "lobby_couch"; + var_01.animname = "lobby_couch"; + var_02 = getent("anim_org_rb_lobby_couch_front","targetname"); + var_03 = spawn("script_model",var_02.origin); + var_03 setmodel("npc_exo_launch_pad"); + var_03.animname = "lobby_tablet"; + var_03 useanimtree(level.scr_animtree["lobby_tablet"]); + var_02 thread maps\_anim::anim_loop_solo(var_00,"couch_loop_1","stop_loop"); + var_02 thread maps\_anim::anim_loop_solo(var_01,"couch_loop_2","stop_loop"); + var_02 thread maps\_anim::anim_loop_solo(var_03,"lobby_tablet_loop","stop_loop"); + common_scripts\utility::flag_wait("flag_roundabout_player_move_0"); + var_02 notify("stop_loop"); + var_01 setlookatentity(level.player); + var_02 thread roundabout_lobby_reacts_into_walk(var_00,"couch_react_1_short"); + var_02 thread roundabout_lobby_reacts_into_walk(var_01,"couch_react_2_short"); + var_02 maps\_anim::anim_single_solo_run(var_03,"lobby_tablet_react_short"); +} + +//Function Number: 172 +roundabout_lobby_elevator() +{ + var_00 = common_scripts\utility::get_noteworthy_ent("rb_lobby_elevator_door_left"); + var_01 = common_scripts\utility::get_noteworthy_ent("rb_lobby_elevator_door_right"); + var_02 = getent("rb_lobby_elevator_waiting_1","targetname") maps\_utility::spawn_ai(1); + var_03 = getent("rb_lobby_elevator_waiting_2","targetname") maps\_utility::spawn_ai(1); + var_04 = getent("rb_lobby_elevator_exiting_1","targetname") maps\_utility::spawn_ai(1); + var_05 = getent("rb_lobby_elevator_exiting_2","targetname") maps\_utility::spawn_ai(1); + var_02 endon("death"); + var_03 endon("death"); + var_04 endon("death"); + var_05 endon("death"); + var_02.alertlevelint = 0; + var_03.alertlevelint = 0; + var_04.alertlevelint = 0; + var_05.alertlevelint = 0; + var_02 maps\lagos_utility::immune_sonic_blast(); + var_03 maps\lagos_utility::immune_sonic_blast(); + var_04 maps\lagos_utility::immune_sonic_blast(); + var_05 maps\lagos_utility::immune_sonic_blast(); + var_02.animname = "lobby_elevator"; + var_03.animname = "lobby_elevator"; + var_04.animname = "lobby_elevator"; + var_05.animname = "lobby_elevator"; + var_06 = getent("anim_org_rb_lobby_elevator_waiting_1","targetname"); + var_07 = getent("anim_org_rb_lobby_elevator_waiting_2","targetname"); + var_08 = getent("anim_org_rb_lobby_elevator_exiting_1","targetname"); + var_09 = getent("anim_org_rb_lobby_elevator_exiting_2","targetname"); + var_02 thread roundabout_lobby_elevator_waiting_react_1(var_06); + var_03 thread roundabout_lobby_elevator_waiting_react_2(var_07); + var_04 thread roundabout_lobby_elevator_exiting_react_1(var_08); + var_05 thread roundabout_lobby_elevator_exiting_react_2(var_09); + common_scripts\utility::flag_wait("flag_roundabout_player_move_1"); + var_00 moveto((-52453,7644,321.5),1.5,0.25,0.25); + var_01 moveto((-52273,7644,321.5),1.5,0.25,0.25); + common_scripts\utility::flag_wait("roundabout_wave_1A_complete"); + var_06 notify("stop_loop"); + var_07 notify("stop_loop"); + var_08 notify("stop_loop"); + var_09 notify("stop_loop"); + var_02 maps\_shg_design_tools::delete_auto(); + var_03 maps\_shg_design_tools::delete_auto(); + var_04 maps\_shg_design_tools::delete_auto(); + var_05 maps\_shg_design_tools::delete_auto(); +} + +//Function Number: 173 +roundabout_lobby_elevator_waiting_react_1(param_00) +{ + self endon("death"); + param_00 thread maps\_anim::anim_loop_solo(self,"waiting_react_1_pre","stop_loop"); + common_scripts\utility::flag_wait("flag_roundabout_player_move_0"); + param_00 notify("stop_loop"); + param_00 maps\_anim::anim_single_solo(self,"waiting_react_1"); + param_00 maps\_anim::anim_loop_solo(self,"waiting_react_loop_1","stop_loop"); +} + +//Function Number: 174 +roundabout_lobby_elevator_waiting_react_2(param_00) +{ + self endon("death"); + param_00 thread maps\_anim::anim_loop_solo(self,"waiting_react_2_pre","stop_loop"); + common_scripts\utility::flag_wait("flag_roundabout_player_move_0"); + param_00 notify("stop_loop"); + self setlookatentity(level.player); + param_00 maps\_anim::anim_single_solo(self,"waiting_react_2"); + param_00 maps\_anim::anim_loop_solo(self,"waiting_react_loop_2","stop_loop"); +} + +//Function Number: 175 +roundabout_lobby_elevator_exiting_react_1(param_00) +{ + self endon("death"); + param_00 maps\_anim::anim_first_frame_solo(self,"exiting_react_1"); + common_scripts\utility::flag_wait("flag_roundabout_player_move_1"); + wait(1.5); + self setlookatentity(level.player); + param_00 maps\_anim::anim_single_solo(self,"exiting_react_1"); + param_00 maps\_anim::anim_loop_solo(self,"exiting_react_loop_1","stop_loop"); +} + +//Function Number: 176 +roundabout_lobby_elevator_exiting_react_2(param_00) +{ + self endon("death"); + param_00 maps\_anim::anim_first_frame_solo(self,"exiting_react_2"); + common_scripts\utility::flag_wait("flag_roundabout_player_move_1"); + wait(1.5); + param_00 maps\_anim::anim_single_solo(self,"exiting_react_2"); + param_00 maps\_anim::anim_loop_solo(self,"exiting_react_loop_2","stop_loop"); +} + +//Function Number: 177 +roundabout_lobby_reacts_into_walk(param_00,param_01) +{ + maps\_anim::anim_single_solo_run(param_00,param_01); + param_00 fleeingcivilian_roundaboutexit_lobby("civilian_goal_Roundabout_delete_front"); +} + +//Function Number: 178 +roundabout_lobby_couch() +{ + var_00 = getent("rb_lobby_couch_1","targetname") maps\_utility::spawn_ai(1); + var_01 = getent("rb_lobby_couch_2","targetname") maps\_utility::spawn_ai(1); + var_00 endon("death"); + var_01 endon("death"); + var_00.alertlevelint = 0; + var_01.alertlevelint = 0; + var_00 maps\lagos_utility::immune_sonic_blast(); + var_01 maps\lagos_utility::immune_sonic_blast(); + var_00.animname = "lobby_couch"; + var_01.animname = "lobby_couch"; + var_02 = getent("anim_org_rb_lobby_couch","targetname"); + var_02 thread maps\_anim::anim_loop_solo(var_00,"couch_loop_1","stop_loop"); + var_02 thread maps\_anim::anim_loop_solo(var_01,"couch_loop_2","stop_loop"); + common_scripts\utility::flag_wait("flag_roundabout_player_move_1"); + var_02 notify("stop_loop"); + var_01 setlookatentity(level.player); + var_02 thread roundabout_lobby_reacts_into_walk(var_00,"couch_react_1"); + var_02 thread roundabout_lobby_reacts_into_walk(var_01,"couch_react_2"); +} + +//Function Number: 179 +roundabout_lobby_security_desk() +{ + var_00 = getent("rb_lobby_security_desk_1","targetname") maps\_utility::spawn_ai(1); + var_01 = getent("rb_lobby_security_desk_2","targetname") maps\_utility::spawn_ai(1); + var_00 endon("death"); + var_01 endon("death"); + var_00.alertlevelint = 0; + var_01.alertlevelint = 0; + var_00 maps\lagos_utility::immune_sonic_blast(); + var_01 maps\lagos_utility::immune_sonic_blast(); + var_00.animname = "lobby_security"; + var_01.animname = "lobby_security"; + level.civilian_roundabout_vo_2 = var_00; + var_02 = getent("anim_org_rb_lobby_security_desk","targetname"); + var_03 = getent("anim_org_rb_lobby_security_desk_2","targetname"); + var_02 thread maps\_anim::anim_loop_solo(var_00,"security_loop_1","stop_loop"); + var_03 thread maps\_anim::anim_loop_solo(var_01,"security_loop_2","stop_loop"); + common_scripts\utility::flag_wait("flag_roundabout_player_move_2"); + var_03 notify("stop_loop"); + var_01 setlookatentity(level.player); + var_03 maps\_anim::anim_single_solo(var_01,"security_react_2"); + var_03 maps\_anim::anim_single_solo(var_01,"security_react_loop_2"); + var_01 thread fleeingcivilian_roundaboutexit_lobby("civilian_goal_Roundabout_delete_front"); + common_scripts\utility::flag_wait("roundabout_wave_1A_complete"); + var_02 notify("stop_loop"); + var_00 maps\_shg_design_tools::delete_auto(); +} + +//Function Number: 180 +roundabout_lobby_phone() +{ + var_00 = getent("rb_lobby_phone_1","targetname") maps\_utility::spawn_ai(1); + var_00 endon("death"); + var_00.alertlevelint = 0; + var_00 maps\lagos_utility::immune_sonic_blast(); + var_00.animname = "lobby_phone"; + var_01 = getent("anim_org_rb_lobby_phone_1","targetname"); + var_00 attach("electronics_pda_big","TAG_WEAPON_RIGHT",1); + var_00.hasattachedprops = 1; + var_00.attachedpropmodel = "electronics_pda_big"; + var_00.attachedproptag = "TAG_WEAPON_RIGHT"; + common_scripts\utility::flag_wait("flag_roundabout_move_1"); + var_00 setlookatentity(level.player); + var_01 thread maps\_anim::anim_single_solo(var_00,"phone_react_1"); + var_01 thread maps\_anim::anim_loop_solo(var_00,"phone_react_loop_1","stop_loop"); + common_scripts\utility::flag_wait("roundabout_wave_1A_complete"); + var_01 notify("stop_loop"); + var_00 maps\_shg_design_tools::delete_auto(); +} + +//Function Number: 181 +roundabout_lobby_phone2() +{ + var_00 = getent("rb_lobby_phone_2","targetname") maps\_utility::spawn_ai(1); + var_00 endon("death"); + var_00.alertlevelint = 0; + var_00 maps\lagos_utility::immune_sonic_blast(); + var_00.animname = "lobby_phone"; + var_01 = getent("anim_org_rb_lobby_phone_2","targetname"); + var_00 attach("electronics_pda_big","TAG_WEAPON_RIGHT",1); + var_00.hasattachedprops = 1; + var_00.attachedpropmodel = "electronics_pda_big"; + var_00.attachedproptag = "TAG_WEAPON_RIGHT"; + common_scripts\utility::flag_wait("flag_roundabout_move_1"); + var_01 maps\_anim::anim_single_solo(var_00,"phone_react_2"); + var_00 thread fleeingcivilian_roundaboutexit_lobby("civilian_goal_Roundabout_delete_front"); + if(isdefined(var_00.attachedpropmodel)) + { + var_00 detach("electronics_pda_big","TAG_WEAPON_RIGHT"); + var_00.hasattachedprops = undefined; + } + + common_scripts\utility::flag_wait("roundabout_wave_1A_complete"); + var_00 maps\_shg_design_tools::delete_auto(); +} + +//Function Number: 182 +roundabout_lobby_walkingtalk() +{ + var_00 = getent("rb_lobby_walktalk_1","targetname") maps\_utility::spawn_ai(1); + var_01 = getent("rb_lobby_walktalk_2","targetname") maps\_utility::spawn_ai(1); + var_00 endon("death"); + var_01 endon("death"); + var_00.alertlevelint = 0; + var_01.alertlevelint = 0; + var_00 maps\lagos_utility::immune_sonic_blast(); + var_01 maps\lagos_utility::immune_sonic_blast(); + var_00.animname = "lobby_walktalk"; + var_01.animname = "lobby_walktalk"; + var_02 = getent("anim_org_rb_lobby_walkingtalk","targetname"); + common_scripts\utility::flag_wait("flag_roundabout_move_1"); + var_02 thread roundabout_lobby_reacts_into_walk(var_00,"walktalk_react_1"); + var_02 thread roundabout_lobby_reacts_into_walk(var_01,"walktalk_react_2"); +} + +//Function Number: 183 +roundabout_street_drop_bikes() +{ + var_00 = getent("rb_street_bike_drop_1","targetname") maps\_utility::spawn_ai(1,1); + var_01 = getent("rb_street_bike_drop_2","targetname") maps\_utility::spawn_ai(1,1); + var_00 endon("death"); + var_01 endon("death"); + level.civilian_roundabout_vo_3 = var_00; + var_00.alertlevelint = 0; + var_01.alertlevelint = 0; + var_00 maps\lagos_utility::immune_sonic_blast(); + var_01 maps\lagos_utility::immune_sonic_blast(); + var_00.animname = "street_drop_bike"; + var_01.animname = "street_drop_bike"; + var_02 = getent("anim_org_rb_street_bike_drop","targetname"); + var_03 = spawn("script_model",var_02.origin); + var_03 setmodel("s1_bicycle"); + var_03.animname = "bike"; + var_03 useanimtree(level.scr_animtree["bike"]); + common_scripts\utility::flag_wait("flag_roundabout_traffic_move"); + var_02 thread maps\_anim::anim_loop_solo(var_00,"drop_bike_loop_1","stop_loop"); + var_02 thread maps\_anim::anim_loop_solo(var_01,"drop_bike_loop_2","stop_loop"); + var_02 thread maps\_anim::anim_loop_solo(var_03,"drop_bike_loop","stop_loop"); + common_scripts\utility::flag_wait("roundabout_combat_starting_soon"); + var_02 notify("stop_loop"); + var_02 thread maps\_anim::anim_single_solo(var_03,"drop_bike_react"); + var_02 thread maps\_anim::anim_single_solo(var_00,"drop_bike_react_1",undefined,5.25); + var_02 maps\_anim::anim_single_solo(var_01,"drop_bike_react_2",undefined,5.25); + var_00 thread maps\lagos_utility::civilain_flee_to_goal(); + var_01 thread maps\lagos_utility::civilain_flee_to_goal(); +} + +//Function Number: 184 +roundabout_street_car_hood_hit() +{ + var_00 = getent("rb_car_hood_exit","targetname") maps\_utility::spawn_ai(1); + var_00.alertlevelint = 0; + var_00 maps\lagos_utility::immune_sonic_blast(); + var_00.animname = "car_hood"; + var_01 = getent("anim_org_rb_burke_hood_stop","targetname"); + var_02 = maps\_vehicle::spawn_vehicle_from_targetname("rb_NW_4"); + var_02.animname = "car_hood"; + var_01 maps\_anim::anim_first_frame_solo(var_02,"car_drive_hood_stop"); + var_02.damage_functions = []; + var_02 maps\_utility::add_damage_function(::roundabout_rpg_car_damage_function); + common_scripts\utility::flag_wait("flag_roundabout_move_2"); + level.burke maps\_utility::disable_ai_color(); + common_scripts\utility::flag_set("roundabout_combat_starting_soon"); + var_01 maps\_anim::anim_reach_solo(level.burke,"burke_car_hood"); + common_scripts\utility::flag_set("roundabout_burke_hood_anim_begin"); + var_01 thread maps\_anim::anim_single_solo(var_02,"car_drive_hood_stop"); + if(!common_scripts\utility::flag("roundabout_combat_begin")) + { + var_01 thread maps\_anim::anim_single_solo(level.burke,"burke_car_hood"); + if(isdefined(var_00) && isalive(var_00)) + { + thread roundabout_street_car_hood_hit_driver(var_01,var_00); + } + + wait(7); + common_scripts\utility::flag_set("roundabout_combat_begin"); + } + + level.burke maps\_utility::enable_ai_color(); +} + +//Function Number: 185 +roundabout_rpg_car_damage_function(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + if(param_04 == "MOD_PROJECTILE") + { + maps\lagos_utility::rumble_roundabout_rpg_car_hit(); + } +} + +//Function Number: 186 +roundabout_street_car_hood_hit_driver(param_00,param_01) +{ + param_01 endon("death"); + if(isdefined(param_01) && isalive(param_01)) + { + param_00 thread maps\_anim::anim_single_solo(param_01,"guy_exit_car"); + } + + if(isdefined(param_01) && isalive(param_01)) + { + param_01 thread maps\lagos_utility::civilain_flee_to_goal(); + } +} + +//Function Number: 187 +fleeingcivilian_roundaboutexit_lobby(param_00) +{ + if(isdefined(self) && isalive(self)) + { + self setlookatentity(); + self.ignoreall = 1; + self.ignoreme = 1; + self setgoalvolumeauto(getent(param_00,"targetname")); + thread maps\lagos_utility::cleanup_on_goal(); + } +} + +//Function Number: 188 +spawnmalecivilians_roundabout() +{ + var_00 = getent("civilian_male_roundabout","targetname"); + var_01 = common_scripts\utility::getstructarray("node_roundabout_male_standing","targetname"); + var_02 = maps\lagos_utility::populate_ai_civilians(var_00,var_01,1,"flag_Roundabout_Civilians_Flee"); + common_scripts\utility::flag_wait("roundabout_wave_1A_complete"); + foreach(var_04 in var_02) + { + if(isdefined(var_04)) + { + var_04 delete(); + } + } + + common_scripts\utility::flag_wait("roundabout_wave_3_complete"); + var_00 = getent("civilian_male_roundabout_outro","targetname"); + var_01 = common_scripts\utility::getstructarray("node_roundabout_male_standing_outro","targetname"); + var_02 = maps\lagos_utility::populate_drone_civilians(var_00,var_01); + common_scripts\utility::flag_wait("flag_delete_roundabout_vehicles"); + foreach(var_04 in var_02) + { + if(isdefined(var_04)) + { + var_04 delete(); + } + } +} + +//Function Number: 189 +spawnfemalecivilians_roundabout() +{ + var_00 = getent("civilian_female_roundabout","targetname"); + var_01 = common_scripts\utility::getstructarray("node_roundabout_female_standing","targetname"); + var_02 = maps\lagos_utility::populate_ai_civilians(var_00,var_01,1,"flag_Roundabout_Civilians_Flee"); + common_scripts\utility::flag_wait("roundabout_wave_1A_complete"); + foreach(var_04 in var_02) + { + if(isdefined(var_04)) + { + var_04 delete(); + } + } + + common_scripts\utility::flag_wait("roundabout_wave_3_complete"); + var_00 = getent("civilian_female_roundabout_outro","targetname"); + var_01 = common_scripts\utility::getstructarray("node_roundabout_female_standing_outro","targetname"); + var_02 = maps\lagos_utility::populate_drone_civilians(var_00,var_01); + common_scripts\utility::flag_wait("flag_delete_roundabout_vehicles"); + foreach(var_04 in var_02) + { + if(isdefined(var_04)) + { + var_04 delete(); + } + } +} + +//Function Number: 190 +spawnwalkingcivilians_roundabout() +{ + var_00 = getent("badPlace_roundabout_center","targetname"); + badplace_cylinder("civilian_badPlace_roundabout_center",-1,var_00.origin,505,200,"neutral"); +} + +//Function Number: 191 +roundabout_traffic() +{ + if(level.nextgen) + { + common_scripts\utility::flag_wait("flag_roundabout_spawn_vehicles"); + } + else if(!istransientloaded("lagos_middle_tr")) + { + level waittill("tff_post_intro_to_middle"); + } + + if(level.currentgen) + { + roundabout_lobby_vehicles_cg(); + thread roundabout_center_vehicles_cg(); + } + else + { + roundabout_lobby_vehicles(); + thread roundabout_center_vehicles(); + } + + if(level.nextgen) + { + thread maps\lagos_utility::start_vehicle_traffic_roundabout_straightways(); + } + + common_scripts\utility::flag_wait("flag_delete_roundabout_vehicles"); + var_00 = common_scripts\utility::array_combine(level.roundabout_center_vehicles,level.roundabout_lobby_vehicles); + foreach(var_02 in var_00) + { + if(isdefined(var_02)) + { + var_02 delete(); + } + } + + maps\lagos_utility::delete_vehicle_traffic_roundabout_straightways(); +} + +//Function Number: 192 +roundabout_lobby_vehicles() +{ + var_00 = maps\_vehicle::spawn_vehicle_from_targetname("roundabout_lobby_1"); + var_01 = maps\_vehicle::spawn_vehicle_from_targetname("roundabout_lobby_2"); + var_02 = maps\_vehicle::spawn_vehicle_from_targetname("roundabout_lobby_3"); + var_03 = maps\_vehicle::spawn_vehicle_from_targetname("roundabout_lobby_4"); + var_04 = maps\_vehicle::spawn_vehicle_from_targetname("roundabout_lobby_5"); + var_05 = maps\_vehicle::spawn_vehicle_from_targetname("roundabout_lobby_6"); + var_06 = maps\_vehicle::spawn_vehicle_from_targetname("roundabout_lobby_7"); + var_07 = maps\_vehicle::spawn_vehicle_from_targetname("roundabout_lobby_8"); + var_08 = maps\_vehicle::spawn_vehicle_from_targetname("roundabout_lobby_9"); + var_09 = maps\_vehicle::spawn_vehicle_from_targetname("roundabout_lobby_10"); + var_0A = ["roundabout_lobby_1","roundabout_lobby_2","roundabout_lobby_3","roundabout_lobby_4","roundabout_lobby_5","roundabout_lobby_6","roundabout_lobby_7","roundabout_lobby_8","roundabout_lobby_9","roundabout_lobby_10"]; + level.roundabout_lobby_vehicles = [var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09]; +} + +//Function Number: 193 +roundabout_center_vehicles() +{ + roundabout_setup_center_vehicles(); + roundabout_setup_center_vehicle_nodes(); + common_scripts\utility::flag_wait("flag_roundabout_traffic_move"); + for(var_00 = 0;var_00 < level.roundabout_center_vehicles.size;var_00++) + { + level.roundabout_center_vehicles[var_00] thread maps\_vehicle::vehicle_paths(level.roundabout_center_vehicle_nodes[var_00]); + level.roundabout_center_vehicles[var_00] startpath(level.roundabout_center_vehicle_nodes[var_00]); + } +} + +//Function Number: 194 +roundabout_setup_center_vehicles() +{ + var_00 = maps\_vehicle::spawn_vehicle_from_targetname("rb_W_1"); + var_01 = maps\_vehicle::spawn_vehicle_from_targetname("rb_W_2"); + var_02 = maps\_vehicle::spawn_vehicle_from_targetname("rb_W_3"); + var_03 = maps\_vehicle::spawn_vehicle_from_targetname("rb_W_4"); + var_04 = maps\_vehicle::spawn_vehicle_from_targetname("rb_W_5"); + var_05 = maps\_vehicle::spawn_vehicle_from_targetname("rb_NW_1"); + var_06 = maps\_vehicle::spawn_vehicle_from_targetname("rb_NW_2"); + var_07 = maps\_vehicle::spawn_vehicle_from_targetname("rb_NW_3"); + var_08 = maps\_vehicle::spawn_vehicle_from_targetname("rb_N_1"); + var_09 = maps\_vehicle::spawn_vehicle_from_targetname("rb_N_2"); + var_0A = maps\_vehicle::spawn_vehicle_from_targetname("rb_N_3"); + var_0B = maps\_vehicle::spawn_vehicle_from_targetname("rb_N_4"); + var_0C = maps\_vehicle::spawn_vehicle_from_targetname("rb_N_5"); + var_0D = maps\_vehicle::spawn_vehicle_from_targetname("rb_NE_1"); + var_0E = maps\_vehicle::spawn_vehicle_from_targetname("rb_NE_2"); + var_0F = maps\_vehicle::spawn_vehicle_from_targetname("rb_NE_3"); + var_10 = maps\_vehicle::spawn_vehicle_from_targetname("rb_NE_4"); + var_11 = maps\_vehicle::spawn_vehicle_from_targetname("rb_E_1"); + var_12 = maps\_vehicle::spawn_vehicle_from_targetname("rb_E_2"); + var_13 = maps\_vehicle::spawn_vehicle_from_targetname("rb_E_3"); + var_14 = maps\_vehicle::spawn_vehicle_from_targetname("rb_E_4"); + var_15 = maps\_vehicle::spawn_vehicle_from_targetname("rb_E_5"); + var_16 = maps\_vehicle::spawn_vehicle_from_targetname("rb_SE_1"); + var_17 = maps\_vehicle::spawn_vehicle_from_targetname("rb_SE_2"); + var_18 = maps\_vehicle::spawn_vehicle_from_targetname("rb_SE_3"); + var_19 = maps\_vehicle::spawn_vehicle_from_targetname("rb_SE_4"); + var_1A = maps\_vehicle::spawn_vehicle_from_targetname("rb_S_1"); + var_1B = maps\_vehicle::spawn_vehicle_from_targetname("rb_S_2"); + var_1C = maps\_vehicle::spawn_vehicle_from_targetname("rb_S_3"); + var_1D = maps\_vehicle::spawn_vehicle_from_targetname("rb_S_4"); + var_1E = maps\_vehicle::spawn_vehicle_from_targetname("rb_S_5"); + var_1F = maps\_vehicle::spawn_vehicle_from_targetname("rb_SW_1"); + var_20 = maps\_vehicle::spawn_vehicle_from_targetname("rb_SW_2"); + var_21 = maps\_vehicle::spawn_vehicle_from_targetname("rb_SW_3"); + var_22 = maps\_vehicle::spawn_vehicle_from_targetname("rb_SW_4"); + level.roundabout_center_vehicles = [var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A,var_0B,var_0C,var_0D,var_0E,var_0F,var_10,var_11,var_12,var_13,var_14,var_15,var_16,var_17,var_18,var_19,var_1A,var_1B,var_1C,var_1D,var_1E,var_1F,var_20,var_21,var_22]; + var_23 = ["rb_W_1","rb_W_2","rb_W_3","rb_W_4","rb_W_5","rb_NW_1","rb_NW_2","rb_NW_3","rb_N_1","rb_N_2","rb_N_3","rb_N_4","rb_N_5","rb_NE_1","rb_NE_2","rb_NE_3","rb_NE_4"]; + foreach(var_25 in var_23) + { + maps\lagos_utility::civilian_get_out_of_car_setup(var_25,"civ_roundabout_driver_ai","drivers_get_out"); + wait(0.05); + } + + thread roundabout_swap_vehicle_for_model(var_1B,"rb_S_2_swap"); + thread roundabout_swap_vehicle_for_model(var_0E,"rb_NE_2_swap"); +} + +//Function Number: 195 +roundabout_swap_vehicle_for_model(param_00,param_01) +{ + var_02 = getentarray(param_01,"targetname"); + foreach(var_04 in var_02) + { + if(issubstr(var_04.classname,"script_model") || issubstr(var_04.classname,"script_brushmodel")) + { + var_04 hide(); + var_04 setcontents(0); + } + } + + common_scripts\utility::flag_wait("roundabout_combat_begin"); + foreach(var_04 in var_02) + { + if(issubstr(var_04.classname,"script_model") || issubstr(var_04.classname,"script_brushmodel")) + { + var_04 show(); + var_04 setcontents(1); + } + } + + level.roundabout_center_vehicles = common_scripts\utility::array_remove(level.roundabout_center_vehicles,param_00); + param_00 delete(); + common_scripts\utility::flag_wait("flag_delete_roundabout_vehicles"); + foreach(var_04 in var_02) + { + var_04 delete(); + } +} + +//Function Number: 196 +roundabout_setup_center_vehicle_nodes() +{ + var_00 = getvehiclenode("node_rb_W_1","targetname"); + var_01 = getvehiclenode("node_rb_W_2","targetname"); + var_02 = getvehiclenode("node_rb_W_3","targetname"); + var_03 = getvehiclenode("node_rb_W_4","targetname"); + var_04 = getvehiclenode("node_rb_W_5","targetname"); + var_05 = getvehiclenode("node_rb_NW_1","targetname"); + var_06 = getvehiclenode("node_rb_NW_2","targetname"); + var_07 = getvehiclenode("node_rb_NW_3","targetname"); + var_08 = getvehiclenode("node_rb_N_1","targetname"); + var_09 = getvehiclenode("node_rb_N_2","targetname"); + var_0A = getvehiclenode("node_rb_N_3","targetname"); + var_0B = getvehiclenode("node_rb_N_4","targetname"); + var_0C = getvehiclenode("node_rb_N_5","targetname"); + var_0D = getvehiclenode("node_rb_NE_1","targetname"); + var_0E = getvehiclenode("node_rb_NE_2","targetname"); + var_0F = getvehiclenode("node_rb_NE_3","targetname"); + var_10 = getvehiclenode("node_rb_NE_4","targetname"); + var_11 = getvehiclenode("node_rb_E_1","targetname"); + var_12 = getvehiclenode("node_rb_E_2","targetname"); + var_13 = getvehiclenode("node_rb_E_3","targetname"); + var_14 = getvehiclenode("node_rb_E_4","targetname"); + var_15 = getvehiclenode("node_rb_E_5","targetname"); + var_16 = getvehiclenode("node_rb_SE_1","targetname"); + var_17 = getvehiclenode("node_rb_SE_2","targetname"); + var_18 = getvehiclenode("node_rb_SE_3","targetname"); + var_19 = getvehiclenode("node_rb_SE_4","targetname"); + var_1A = getvehiclenode("node_rb_S_1","targetname"); + var_1B = getvehiclenode("node_rb_S_2","targetname"); + var_1C = getvehiclenode("node_rb_S_3","targetname"); + var_1D = getvehiclenode("node_rb_S_4","targetname"); + var_1E = getvehiclenode("node_rb_S_5","targetname"); + var_1F = getvehiclenode("node_rb_SW_1","targetname"); + var_20 = getvehiclenode("node_rb_SW_2","targetname"); + var_21 = getvehiclenode("node_rb_SW_3","targetname"); + var_22 = getvehiclenode("node_rb_SW_4","targetname"); + level.roundabout_center_vehicle_nodes = [var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A,var_0B,var_0C,var_0D,var_0E,var_0F,var_10,var_11,var_12,var_13,var_14,var_15,var_16,var_17,var_18,var_19,var_1A,var_1B,var_1C,var_1D,var_1E,var_1F,var_20,var_21,var_22]; +} + +//Function Number: 197 +roundabout_lobby_vehicles_cg() +{ + var_00 = maps\_vehicle::spawn_vehicle_from_targetname("roundabout_lobby_5"); + var_01 = maps\_vehicle::spawn_vehicle_from_targetname("roundabout_lobby_6"); + var_02 = maps\_vehicle::spawn_vehicle_from_targetname("roundabout_lobby_9"); + var_03 = ["roundabout_lobby_5","roundabout_lobby_6","roundabout_lobby_9"]; + level.roundabout_lobby_vehicles = [var_00,var_01,var_02]; +} + +//Function Number: 198 +roundabout_center_vehicles_cg() +{ + roundabout_setup_center_vehicles_cg(); + roundabout_setup_center_vehicle_nodes_cg(); + common_scripts\utility::flag_wait("flag_roundabout_traffic_move"); + for(var_00 = 0;var_00 < level.roundabout_center_vehicles_moving.size;var_00++) + { + level.roundabout_center_vehicles_moving[var_00] thread maps\_vehicle::vehicle_paths(level.roundabout_center_vehicle_nodes_cg[var_00]); + level.roundabout_center_vehicles_moving[var_00] startpath(level.roundabout_center_vehicle_nodes_cg[var_00]); + wait(randomfloatrange(0.1,0.25)); + } +} + +//Function Number: 199 +roundabout_setup_center_vehicles_cg() +{ + var_00 = maps\_vehicle::spawn_vehicle_from_targetname("rb_W_1"); + var_01 = maps\_vehicle::spawn_vehicle_from_targetname("rb_W_2"); + var_02 = maps\_vehicle::spawn_vehicle_from_targetname("rb_W_3"); + var_03 = maps\_vehicle::spawn_vehicle_from_targetname("rb_W_4"); + var_04 = maps\_vehicle::spawn_vehicle_from_targetname("rb_W_5"); + var_05 = maps\_vehicle::spawn_vehicle_from_targetname("rb_NW_3"); + var_06 = maps\_vehicle::spawn_vehicle_from_targetname("rb_N_4"); + var_07 = maps\_vehicle::spawn_vehicle_from_targetname("rb_NE_1"); + var_08 = maps\_vehicle::spawn_vehicle_from_targetname("rb_E_1"); + var_09 = maps\_vehicle::spawn_vehicle_from_targetname("rb_E_3"); + var_0A = maps\_vehicle::spawn_vehicle_from_targetname("rb_SE_2"); + var_0B = maps\_vehicle::spawn_vehicle_from_targetname("rb_SE_3"); + var_0C = maps\_vehicle::spawn_vehicle_from_targetname("rb_SW_3"); + level.roundabout_center_vehicles = [var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A,var_0B,var_0C]; + level.roundabout_center_vehicles_moving = [var_02,var_05,var_01,var_03]; + var_0D = ["rb_W_1","rb_W_2","rb_W_4","rb_W_5","rb_NW_3","rb_N_4","rb_NE_1"]; + level.roundabout_center_vehicles_tank_explo = [var_0A,var_00,var_04]; + foreach(var_0F in var_0D) + { + maps\lagos_utility::civilian_get_out_of_car_setup(var_0F,"civ_roundabout_driver_ai","drivers_get_out"); + wait(0.05); + } +} + +//Function Number: 200 +roundabout_setup_center_vehicle_nodes_cg() +{ + var_00 = getvehiclenode("node_rb_W_3","targetname"); + var_01 = getvehiclenode("node_rb_NW_3","targetname"); + var_02 = getvehiclenode("node_rb_W_2","targetname"); + var_03 = getvehiclenode("node_rb_W_4","targetname"); + level.roundabout_center_vehicle_nodes_cg = [var_00,var_01,var_02,var_03]; +} + +//Function Number: 201 +alley1_combat() +{ + common_scripts\utility::flag_wait("vo_alley1"); + soundscripts\_snd::snd_message("crossing_into_alley"); + thread maps\lagos_vo::alley_a_dialogue(); + common_scripts\utility::flag_wait("alley1_spawn"); + soundscripts\_snd::snd_message("roundabout_exited"); + level.alley1_kva = []; + thread alley1_stage1_combat(); + thread alley1_stage2_combat(); + thread alley1_stage3_combat(); + if(common_scripts\utility::flag("alley1_playerstart")) + { + var_00 = getnode("alley1_burke_start","targetname"); + var_01 = getnode("alley1_joker_start","targetname"); + var_02 = getnode("alley1_ajani_start","targetname"); + level.burke maps\_utility::teleport_ai(var_00); + level.joker maps\_utility::teleport_ai(var_01); + level.ajani maps\_utility::teleport_ai(var_02); + } + + level notify("alley1_stage1_go"); +} + +//Function Number: 202 +alley1_veh_destro() +{ + var_00 = getent("alley1_veh_destro","targetname"); + var_01 = common_scripts\utility::getstruct("alley1_veh_destro_impulse_org","targetname"); + common_scripts\utility::flag_wait("alley1_veh_destro_hit"); + var_00 maps\_vehicle::vehicle_set_health(1); + radiusdamage(var_01.origin,350,10000,9000); + physicsexplosionsphere(var_01.origin,350,300,3); +} + +//Function Number: 203 +alley1_stage1_combat() +{ + level waittill("alley1_stage1_go"); + var_00 = 3; + maps\_utility::activate_trigger("alley1_stage1_ally_goto","targetname",level.player); + var_01 = []; + var_02 = maps\_utility::array_spawn_targetname("alley1_stage1_enemy"); + foreach(var_04 in var_02) + { + var_04 setengagementmaxdist(256,512); + level.alley1_kva = common_scripts\utility::array_add(level.alley1_kva,var_04); + var_01 = common_scripts\utility::array_add(var_01,var_04); + var_04.allowdeath = 1; + var_04 maps\_utility::disable_long_death(); + var_04 maps\lagos_utility::equip_microwave_grenade(); + if(isdefined(var_04.script_parameters)) + { + if(var_04.script_parameters == "stage3_ally") + { + var_04 maps\lagos_utility::assign_goal_vol("alley1_stage3_ally"); + var_04 thread maps\lagos_utility::ignore_until_goal_reached(); + } + } + } + + var_06 = []; + var_07 = getentarray("alley1_stage1_refill","targetname"); + foreach(var_09 in var_07) + { + var_04 = var_09 maps\_utility::spawn_ai(1); + wait 0.05; + level.alley1_kva = common_scripts\utility::array_add(level.alley1_kva,var_04); + var_06 = common_scripts\utility::array_add(var_06,var_04); + var_04.allowdeath = 1; + var_04 maps\_utility::disable_long_death(); + var_04 maps\lagos_utility::equip_microwave_grenade(); + var_04 thread maps\lagos_utility::ignore_until_goal_reached(); + var_04 thread alley1_stage1_rooftop_movedown(); + } + + wait 0.05; + maps\_utility::activate_trigger("alley1_stage1_ally_trigger","targetname",level.player); + var_0B = 0; + while(!var_0B) + { + level.alley1_kva = maps\_utility::array_removedead_or_dying(level.alley1_kva); + var_01 = maps\_utility::array_removedead_or_dying(var_01); + if(level.alley1_kva.size < var_00) + { + foreach(var_04 in level.alley1_kva) + { + var_04 maps\_utility::player_seek_disable(); + wait 0.05; + var_04 maps\lagos_utility::assign_goal_vol("alley1_stage2_vol2"); + } + + var_0B = 1; + level notify("alley1_stage2_go"); + } + + wait 0.05; + } +} + +//Function Number: 204 +alley1_stage1_rooftop_movedown() +{ + wait(randomintrange(5,8)); + maps\lagos_utility::assign_goal_vol("alley1_stage1_vol1"); +} + +//Function Number: 205 +alley1_force_deaths() +{ + common_scripts\utility::flag_wait("alley1_oncoming_start"); + foreach(var_01 in self) + { + if(isdefined(var_01) && isalive(var_01)) + { + var_01 kill(); + } + } +} + +//Function Number: 206 +alley1_stage2_combat_flag() +{ + common_scripts\utility::flag_wait("flag_alley1_combat_stage_2"); + level notify("alley1_stage2_go"); +} + +//Function Number: 207 +alley1_stage2_combat() +{ + thread alley1_stage2_combat_flag(); + level waittill("alley1_stage2_go"); + level endon("alley1_stage3_go"); + setthreatbias("friendly_squad","player_haters",-10000); + setthreatbias("player_haters","friendly_squad",-10000); + setthreatbias("player_haters","player",10000); + level.player setthreatbiasgroup("player"); + var_00 = 3; + var_01 = 1; + var_02 = []; + var_03 = getent("alley1_stage2_balcony_enemy","targetname"); + var_04 = 1; + var_05 = []; + var_06 = getent("alley1_stage2_ground_enemy","targetname"); + for(var_07 = 0;var_07 < var_01;var_07++) + { + var_08 = var_03 maps\_utility::spawn_ai(1); + var_03.count = 1; + wait 0.05; + var_02 = common_scripts\utility::array_add(var_02,var_08); + level.alley1_kva = common_scripts\utility::array_add(level.alley1_kva,var_08); + var_08.allowdeath = 1; + var_08 maps\_utility::disable_long_death(); + var_08 maps\lagos_utility::equip_microwave_grenade(); + var_08 setengagementmaxdist(256,512); + var_08 maps\lagos_utility::assign_goal_vol("alley1_stage2_vol1"); + } + + var_09 = getent("alley1_stage2_balcony_enemy_A","targetname") maps\_utility::spawn_ai(1); + level.alley1_kva = common_scripts\utility::array_add(level.alley1_kva,var_09); + var_09 setengagementmaxdist(256,512); + var_09 maps\lagos_utility::assign_goal_vol("alley1_stage2_vol1_A"); + var_02 thread alley1_force_deaths(); + for(var_07 = 0;var_07 < var_04;var_07++) + { + var_08 = var_06 maps\_utility::spawn_ai(1); + var_06.count = 1; + wait 0.05; + var_05 = common_scripts\utility::array_add(var_05,var_08); + level.alley1_kva = common_scripts\utility::array_add(level.alley1_kva,var_08); + var_08.allowdeath = 1; + var_08 maps\_utility::disable_long_death(); + var_08 maps\lagos_utility::equip_microwave_grenade(); + var_08 setengagementmaxdist(256,512); + var_08 maps\lagos_utility::assign_goal_vol("alley1_stage2_vol2"); + } + + maps\_utility::activate_trigger("alley1_stage2_ally_trigger","targetname",level.player); + maps\_utility::array_spawn_targetname("alley1_stage3_refill",1); + var_0A = 0; + while(!var_0A) + { + level.alley1_kva = maps\_utility::array_removedead_or_dying(level.alley1_kva); + if(level.alley1_kva.size < var_00) + { + foreach(var_08 in level.alley1_kva) + { + if(isdefined(var_08)) + { + var_08 thread maps\_utility::player_seek_enable(); + } + } + + var_0A = 1; + level notify("alley1_stage3_go"); + } + + wait 0.05; + } +} + +//Function Number: 208 +alley1_stage3_combat_flag() +{ + common_scripts\utility::flag_wait("flag_alley1_combat_stage_3"); + level notify("alley1_stage3_go"); +} + +//Function Number: 209 +alley1_stage3_combat() +{ + thread alley1_stage3_combat_flag(); + level waittill("alley1_stage3_go"); + level endon("alley1_stage3_end"); + var_00 = 3; + thread alley1_oncoming_goto(); + var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("alley1_stage3_vehicle"); + var_01 thread maps\lagos_utility::vehicle_unload_how_at_end(); + if(level.currentgen) + { + var_01 thread alley_veh_god_on(); + var_01 thread tff_cleanup_vehicle("alley"); + } + + wait 0.05; + var_02 = []; + var_02 = var_01.riders; + foreach(var_04 in var_02) + { + var_04 maps\lagos_utility::assign_goal_vol("alley1_stage3_vol1"); + level.alley1_kva = common_scripts\utility::array_add(level.alley1_kva,var_04); + var_04.allowdeath = 1; + var_04 maps\_utility::disable_long_death(); + var_04 maps\lagos_utility::equip_microwave_grenade(); + var_04 setengagementmaxdist(256,512); + } + + wait(1); + maps\_utility::activate_trigger("alley1_stage3_ally_trigger","targetname",level.player); + for(;;) + { + level.alley1_kva = maps\_utility::array_removedead_or_dying(level.alley1_kva); + if(level.alley1_kva.size < var_00) + { + foreach(var_04 in level.alley1_kva) + { + if(isdefined(var_04)) + { + var_04 thread maps\_utility::player_seek_enable(); + var_04 maps\_utility::delaythread(5,::maps\lagos_utility::bloody_death,randomintrange(1,3)); + } + } + } + + if(level.alley1_kva.size == 0) + { + level notify("alley_oncoming_ally_goto"); + common_scripts\utility::flag_set("flag_alley1_clear"); + common_scripts\utility::flag_set("obj_pos_pursue_hostage_truck_oncoming1_wait"); + wait 0.05; + level notify("alley1_stage3_end"); + } + + wait 0.05; + } +} + +//Function Number: 210 +alley_veh_god_on() +{ + maps\_vehicle::godon(); + self waittill("reached_end_node"); + wait(2); + maps\_vehicle::godoff(); +} + +//Function Number: 211 +alley1_oncoming_goto() +{ + level waittill("alley_oncoming_ally_goto"); + maps\_utility::activate_trigger("alley_oncoming_trigger","targetname",level.player); +} + +//Function Number: 212 +alley1_oncoming() +{ + var_00 = getent("alley_oncoming_trigger_start","targetname"); + var_00 makeunusable(); + var_01 = getnode("oncoming_anim_joker_goto","targetname"); + var_02 = getnode("oncoming_anim_ajani_goto","targetname"); + var_03 = getnode("alley2_joker_start","targetname"); + var_04 = getnode("alley2_ajani_start","targetname"); + if(level.currentgen) + { + if(level.start_point != "alley_1" && level.start_point != "oncoming_alley" && level.start_point != "alley_2") + { + level waittill("tff_post_load_alley"); + } + } + + var_05 = getent("anim_org_alley_1_gate_open","targetname"); + var_06 = getent("oncoming_gate","targetname"); + var_06.animname = "oncoming_gate"; + var_06 maps\_utility::assign_animtree(); + var_05 thread maps\_anim::anim_first_frame_solo(var_06,"oncoming_gate_open"); + var_07 = getent("oncoming_gate_blocker","targetname"); + var_07 linkto(var_06,"gateSlide"); + var_07 disconnectpaths(); + var_08 = [level.joker,var_06]; + level waittill("alley_oncoming_ally_goto"); + thread maps\lagos_vo::alley_1_complete_dialogue(); + common_scripts\utility::flag_wait("alley1_oncoming_start"); + if(common_scripts\utility::flag("oncoming_downhill_playerstart")) + { + var_09 = getnode("alley_oncoming_burke","targetname"); + var_0A = getnode("alley_oncoming_joker","targetname"); + var_0B = getnode("alley_oncoming_ajani","targetname"); + level.burke maps\_utility::teleport_ai(var_09); + level.joker maps\_utility::teleport_ai(var_0A); + level.ajani maps\_utility::teleport_ai(var_0B); + } + + level.burke maps\_utility::disable_pain(); + level.joker maps\_utility::disable_pain(); + level.ajani maps\_utility::disable_pain(); + level.burke thread alley1_oncoming_grenade_awareness(); + level.joker thread alley1_oncoming_grenade_awareness(); + level.ajani thread alley1_oncoming_grenade_awareness(); + thread alley1_oncoming_burke_alley_enter(); + var_05 maps\_anim::anim_reach_solo(level.joker,"oncoming_gate_open"); + soundscripts\_snd::snd_message("alley_1_big_metal_gate"); + var_05 thread maps\_anim::anim_single_solo(var_06,"oncoming_gate_open"); + var_05 thread maps\_anim::anim_single_run_solo(level.joker,"oncoming_gate_open"); + common_scripts\utility::flag_set("alley_oncoming_gate_lighting"); + wait(4); + level notify("oncoming_gate_open"); + var_07 connectpaths(); + common_scripts\utility::flag_set("obj_pos_pursue_hostage_truck_oncoming1_set"); + thread alley1_oncoming_truck_seq(); + thread maps\lagos_vo::alley_oncoming_dialogue(); + level notify("oncoming_go"); + level.player maps\_utility::blend_movespeedscale_percent(85,1); + level.joker thread maps\lagos_utility::ally_move_dynamic_speed(); + level.ajani thread maps\lagos_utility::ally_move_dynamic_speed(); + level.joker maps\_utility::delaythread(1,::maps\_hms_ai_utility::gototogoal,var_01,"sprint"); + level.ajani maps\_utility::delaythread(3,::maps\_hms_ai_utility::gototogoal,var_02,"sprint"); + common_scripts\utility::flag_wait("reset_player_speed"); + level.player maps\_utility::blend_movespeedscale_percent(100,1); + level waittill("player_safe"); + level.joker thread maps\_hms_ai_utility::gototogoal(var_03,"sprint"); + level.ajani thread maps\_hms_ai_utility::gototogoal(var_04,"sprint"); +} + +//Function Number: 213 +alley1_oncoming_grenade_awareness() +{ + self.grenadeawarenessold = self.grenadeawareness; + self.grenadeawareness = 0; + common_scripts\utility::flag_wait("alley2_spawn"); + self.grenadeawareness = self.grenadeawarenessold; + self.grenadeawarenessold = undefined; +} + +//Function Number: 214 +alley1_oncoming_burke_alley_enter() +{ + var_00 = getnode("oncoming_anim_burke_goto","targetname"); + var_01 = getnode("alley2_burke_start","targetname"); + var_02 = common_scripts\utility::getstruct("oncoming_burke_idle_goto","targetname"); + var_03 = getent("anim_org_oncoming_alley","targetname"); + level.burke maps\lagos_utility::assign_goal_node("alley_oncoming_burke",32); + level waittill("oncoming_gate_open"); + wait(0.5); + level.burke thread maps\_hms_ai_utility::gototogoal(var_00,"sprint"); + level waittill("oncoming_truck_enter"); + maps\_utility::battlechatter_off("axis"); + maps\_utility::battlechatter_off("allies"); + var_03 maps\_anim::anim_reach_solo(level.burke,"oncoming_alley_seq_enter"); + level.burke thread maps\_hms_ai_utility::gototogoal(var_01,"sprint"); + level notify("oncoming_truck_go"); + common_scripts\utility::flag_set("obj_pos_pursue_hostage_truck_oncoming2"); + var_03 maps\_anim::anim_single_solo_run(level.burke,"oncoming_alley_seq_enter"); +} + +//Function Number: 215 +alley1_oncoming_truck_seq() +{ + var_00 = getent("anim_org_oncoming_alley","targetname"); + var_01 = maps\_vehicle::spawn_vehicle_from_targetname("vehicle_downhill_stairs"); + var_01.animname = "oncoming_truck"; + var_01 useanimtree(#animtree); + var_02 = getent("oncoming_truck_sweeper","targetname"); + var_02 maps\lagos_utility::fake_linkto(var_01); + var_01.vehicle_stays_alive = 1; + if(level.currentgen) + { + var_01 thread tff_cleanup_vehicle("alley"); + } + + thread alley1_oncoming_truck_anims(var_01,var_00); + common_scripts\utility::flag_wait("oncoming_alley_player_pos"); + level.player thread alley1_oncoming_truck_sweeper_monitor(var_02); + level notify("oncoming_truck_enter"); + level notify("alley1_oncoming_fx"); + var_01 soundscripts\_snd::snd_message("oncoming_alley_truck"); + common_scripts\utility::flag_set("alley_oncoming_truck_lighting"); +} + +//Function Number: 216 +alley1_oncoming_truck_anims(param_00,param_01) +{ + level waittill("oncoming_truck_go"); + var_02 = maps\_utility::spawn_targetname("vehicle_downhill_stairs_turret_guy",1); + var_02 maps\_utility::gun_remove(); + var_02.allowdeath = 0; + var_02 maps\_utility::disable_pain(); + var_03 = maps\_utility::spawn_anim_model("oncoming_truck_prop"); + var_04 = maps\_utility::spawn_anim_model("oncoming_truck_turret"); + var_04 thread alley1_oncoming_turret_think(var_02); + thread maps\_shg_design_tools::notify_on_death(var_02,"stop_turret_fire"); + var_02.animname = "guy1"; + var_02.ignoreme = 1; + var_05 = [var_02,var_04]; + param_00 hide(); + var_06 = [param_00,var_03]; + param_01 thread maps\_anim::anim_single(var_05,"oncoming_alley_seq_enter"); + param_01 maps\_anim::anim_single(var_06,"oncoming_alley_seq_enter"); + common_scripts\utility::flag_set("aud_oncoming_truck_check"); + if(level.currentgen) + { + var_03 thread tff_cleanup_vehicle("middle"); + var_04 thread tff_cleanup_vehicle("middle"); + var_02 thread tff_cleanup_vehicle("middle"); + } + + if(common_scripts\utility::flag("flag_oncoming_player_junction")) + { + var_04 thread delay_oncoming_bypass_kill(1,var_02,"flag_oncoming_player_bypass_straight_kill"); + var_04 thread delay_oncoming_bypass_kill(3,var_02,"flag_oncoming_player_bypass_turn_kill"); + var_04 thread delay_oncoming_bypass_kill(5,var_02,"flag_oncoming_player_standstill_turn_kill"); + var_04 thread delay_oncoming_bypass_kill(6,var_02,"flag_oncoming_player_wait_alley2_kill"); + param_01 thread maps\_anim::anim_single(var_06,"oncoming_alley_seq_turn"); + level notify("player_safe"); + wait(getanimlength(param_00 maps\_utility::getanim("oncoming_alley_seq_turn")) - 0.05); + if(isalive(var_02)) + { + maps\_anim::anim_set_rate_single(var_02,"oncoming_alley_seq_enter",0); + return; + } + + return; + } + + foreach(var_08 in var_05) + { + var_08 maps\_utility::anim_stopanimscripted(); + } + + param_01 thread maps\_anim::anim_single(var_05,"oncoming_alley_seq_straight"); + param_01 thread maps\_anim::anim_single(var_06,"oncoming_alley_seq_straight"); + var_04 oncoming_bypass_kill(var_02,"flag_oncoming_player_bypass_straight_kill"); +} + +//Function Number: 217 +delay_oncoming_bypass_kill(param_00,param_01,param_02) +{ + wait(param_00); + oncoming_bypass_kill(param_01,param_02); +} + +//Function Number: 218 +oncoming_bypass_kill(param_00,param_01) +{ + while(!common_scripts\utility::flag("progress_in_alley2")) + { + if(common_scripts\utility::flag(param_01)) + { + level.player dodamage(level.player.maxhealth / 50,self gettagorigin("tag_flash"),param_00,param_00,"MOD_RIFLE_BULLET"); + wait(0.2); + level.player dodamage(level.player.maxhealth,self gettagorigin("tag_flash"),param_00,param_00,"MOD_RIFLE_BULLET"); + wait(0.1); + if(isalive(level.player)) + { + level.player kill(); + } + } + + wait 0.05; + } +} + +//Function Number: 219 +alley1_oncoming_turret_think(param_00) +{ + param_00 endon("death"); + thread alley1_oncoming_turret_fire(); + maps\lagos_utility::notify_on_flag("stop_turret_fire","progress_in_alley2"); + self waittillmatch("start_turret_fire","single anim"); + thread alley1_oncoming_turret_fire(); + self waittillmatch("stop_turret_fire","single anim"); + self notify("stop_turret_fire"); + self waittillmatch("start_turret_fire","single anim"); + thread alley1_oncoming_turret_fire(); + self waittillmatch("stop_turret_fire","single anim"); + self notify("stop_turret_fire"); +} + +//Function Number: 220 +alley1_oncoming_turret_fire() +{ + self endon("stop_turret_fire"); + level endon("stop_turret_fire"); + var_00 = 0.05; + var_01 = 1; + var_02 = 0; + var_03 = "tag_flash"; + for(;;) + { + if(var_02 == 0) + { + var_03 = "tag_flash"; + } + else + { + var_03 = "tag_flash2"; + } + + var_04 = self gettagorigin(var_03); + magicbullet("50cal_turret_technical_lagos",var_04,var_04 + anglestoforward(self gettagangles(var_03)) * 100); + if(var_03 == "tag_flash") + { + soundscripts\_snd::snd_message("lagos_technical_turret_fire"); + } + + playfx(common_scripts\utility::getfx("technical_muzzle_flash"),var_04,anglestoforward(self gettagangles(var_03))); + var_02 = var_02 + 1 % 2; + wait(var_00); + } +} + +//Function Number: 221 +flank_alley_turret_fire(param_00) +{ + param_00 endon("death"); + var_01 = self.mgturret; + var_02 = var_01[0]; + var_03 = "tag_flash2"; + for(;;) + { + var_02 waittill("turret_fire"); + wait 0.05; + var_04 = var_02 gettagorigin(var_03); + magicbullet("50cal_turret_technical_lagos",var_04,var_04 + anglestoforward(var_02 gettagangles(var_03)) * 100); + playfx(common_scripts\utility::getfx("technical_muzzle_flash"),var_04,anglestoforward(var_02 gettagangles(var_03))); + soundscripts\_snd::snd_message("lagos_technical_turret_fire"); + } +} + +//Function Number: 222 +alley1_oncoming_truck_sweeper_monitor(param_00) +{ + while(!common_scripts\utility::flag("flag_oncoming_player_safe")) + { + param_00 waittill("trigger",var_01); + if(isdefined(var_01) && isplayer(var_01)) + { + self kill(); + } + + wait 0.05; + } +} + +//Function Number: 223 +alley2_combat() +{ + common_scripts\utility::flag_wait("alley2_spawn"); + level.burke maps\_utility::enable_pain(); + level.joker maps\_utility::enable_pain(); + level.ajani maps\_utility::enable_pain(); + maps\_utility::battlechatter_on("axis"); + maps\_utility::battlechatter_on("allies"); + level.joker thread maps\lagos_utility::ally_stop_dynamic_speed(); + level.ajani thread maps\lagos_utility::ally_stop_dynamic_speed(); + level.alley2_kva = []; + thread alley2_stage1_combat(); + if(common_scripts\utility::flag("alley2_playerstart")) + { + var_00 = getnode("alley2_burke_start","targetname"); + var_01 = getnode("alley2_joker_start","targetname"); + var_02 = getnode("alley2_ajani_start","targetname"); + level.burke maps\_utility::teleport_ai(var_00); + level.joker maps\_utility::teleport_ai(var_01); + level.ajani maps\_utility::teleport_ai(var_02); + } + + level notify("alley2_stage1_go"); + thread maps\lagos_vo::alley_b_dialogue(); +} + +//Function Number: 224 +alley2_jumpers() +{ + common_scripts\utility::flag_wait("alley2_jumpers"); + var_00 = getent("alley2_jumper1","targetname"); + var_01 = getent("alley2_jumper2","targetname"); + var_02 = getnode("alley2_jumper_goto1","targetname"); + var_03 = getnode("alley2_jumper_goto2","targetname"); + thread alley2_jumpers_setup(var_00,var_02); + thread alley2_jumpers_setup(var_01,var_03); +} + +//Function Number: 225 +alley2_jumpers_setup(param_00,param_01) +{ + var_02 = param_00 maps\_utility::spawn_ai(1); + wait 0.05; + var_02.goalradius = 16; + var_02.ignoreall = 1; + var_02.ignoreme = 1; + var_02 setgoalnode(param_01); + var_02 waittill("goal"); + var_02 stopanimscripted(); + var_02 delete(); +} + +//Function Number: 226 +alley2_stage1_combat() +{ + setthreatbias("friendly_squad","player_haters",-10000); + setthreatbias("player_haters","friendly_squad",-10000); + setthreatbias("player_haters","player",10000); + level.player setthreatbiasgroup("player"); + var_00 = 1; + var_01 = 1; + var_02 = []; + level endon("alley2_stage2_go"); + level waittill("alley2_stage1_go"); + maps\_utility::activate_trigger("alley2_stage1_burke_goto","targetname",level.player); + level.burke maps\_utility::disable_surprise(); + maps\_utility::delaythread(2,::maps\_utility::activate_trigger,"alley2_stage1_joker_goto","targetname",level.player); + maps\_utility::delaythread(4,::maps\_utility::activate_trigger,"alley2_stage1_ajani_goto","targetname",level.player); + wait(2); + var_03 = maps\_utility::array_spawn_targetname("alley2_stage1_enemy",1); + thread maps\lagos_utility::spawn_wave_upkeep_and_flag(var_03,"alley2_combat_move_1",0); + foreach(var_05 in var_03) + { + if(isdefined(var_05) && isalive(var_05)) + { + if(!issubstr(var_05.classname,"dog")) + { + var_05.goalradius = 16; + var_05 thread maps\lagos_utility::ignore_until_goal_reached(); + } + } + } + + common_scripts\utility::flag_wait("alley2_combat_move_1"); + thread flank_alley_goto(); + common_scripts\utility::flag_wait("alley2_combat_move_2"); + level.burke maps\_utility::disable_pain(); + level.joker maps\_utility::disable_pain(); + level.ajani maps\_utility::disable_pain(); + var_07 = maps\_utility::array_spawn_targetname("alley2_stage2_enemy",1); + thread maps\lagos_utility::spawn_wave_upkeep_and_flag(var_03,"alley2_complete",0); + foreach(var_05 in var_07) + { + if(isdefined(var_05) && isalive(var_05)) + { + var_05 thread maps\_utility::player_seek_enable(); + } + } + + common_scripts\utility::flag_wait("alley2_complete"); +} + +//Function Number: 227 +alley2_stage2_combat() +{ + level endon("alley2_stage3_go"); + level waittill("alley2_stage2_go"); + var_00 = 1; + var_01 = 1; + var_02 = []; + var_03 = getentarray("alley2_stage2_enemy","targetname"); + var_04 = getent("alley2_combat_enemy_loc_3","targetname"); + for(var_05 = 0;var_05 < var_00;var_05++) + { + var_03 = common_scripts\utility::array_randomize(var_03); + var_06 = level.player alley2_spawner_locator(var_03); + var_07 = var_06 maps\_utility::spawn_ai(1); + var_06.count = 1; + var_02 = common_scripts\utility::array_add(var_02,var_07); + level.alley2_kva = common_scripts\utility::array_add(level.alley2_kva,var_07); + var_07.allowdeath = 1; + wait(0.25); + var_07 maps\lagos_utility::assign_goal_vol("alley2_combat_enemy_loc_3"); + } + + for(;;) + { + var_02 = maps\_utility::array_removedead_or_dying(var_02); + level.alley2_kva = maps\_utility::array_removedead_or_dying(level.alley2_kva); + if(var_02.size < var_01) + { + level notify("alley2_stage3_go"); + } + + wait 0.05; + } +} + +//Function Number: 228 +alley2_stage3_combat() +{ + level endon("alley2_stage3_end"); + common_scripts\utility::flag_wait("alley2_combat_move_1"); + thread flank_alley_goto(); + var_00 = 2; + var_01 = 3; + var_02 = []; + var_03 = getentarray("alley2_stage3_enemy","targetname"); + var_04 = getent("alley2_combat_enemy_loc_8","targetname"); + for(var_05 = 0;var_05 < var_00;var_05++) + { + var_03 = common_scripts\utility::array_randomize(var_03); + var_06 = level.player alley2_spawner_locator(var_03); + var_07 = var_06 maps\_utility::spawn_ai(1); + var_06.count = 1; + var_02 = common_scripts\utility::array_add(var_02,var_07); + level.alley2_kva = common_scripts\utility::array_add(level.alley2_kva,var_07); + var_07.allowdeath = 1; + wait 0.05; + var_07 maps\lagos_utility::assign_goal_vol("alley2_combat_enemy_loc_8"); + } + + for(;;) + { + var_02 = maps\_utility::array_removedead_or_dying(var_02); + level.alley2_kva = maps\_utility::array_removedead_or_dying(level.alley2_kva); + if(level.alley2_kva.size < var_01) + { + level.alley2_kva = maps\_utility::array_removedead_or_dying(level.alley2_kva); + foreach(var_07 in level.alley2_kva) + { + var_07 thread maps\_utility::player_seek_enable(); + } + } + + if(level.alley2_kva.size == 0) + { + level notify("flank_combat_goto"); + wait 0.05; + level notify("alley2_stage3_end"); + level.burke maps\_utility::enable_surprise(); + } + + wait 0.05; + } +} + +//Function Number: 229 +alley2_combat_enemy_vol_assign(param_00) +{ + level endon("flank_combat_goto"); + var_01 = getent("alley2_combat_loc_1","targetname"); + var_02 = getent("alley2_combat_loc_2","targetname"); + var_03 = getent("alley2_combat_loc_3","targetname"); + var_04 = getent("alley2_combat_loc_4","targetname"); + var_05 = getent("alley2_combat_loc_5","targetname"); + for(;;) + { + wait 0.05; + param_00 = maps\_utility::array_removedead_or_dying(param_00); + alley2_combat_player_monitor(var_01,"alley2_ally_trig_1","alley2_combat_enemy_loc_2","alley2_combat_enemy_loc_3",param_00); + alley2_combat_player_monitor(var_02,"alley2_ally_trig_2","alley2_combat_enemy_loc_3",undefined,param_00); + alley2_combat_player_monitor(var_03,"alley2_ally_trig_3","alley2_combat_enemy_loc_3","alley2_combat_enemy_loc_5",param_00); + alley2_combat_player_monitor(var_04,"alley2_ally_trig_4","alley2_combat_enemy_loc_3","alley2_combat_enemy_loc_6",param_00); + alley2_combat_player_monitor(var_05,"alley2_ally_trig_5","alley2_combat_enemy_loc_6","alley2_combat_enemy_loc_8",param_00); + wait(randomintrange(5,10)); + } +} + +//Function Number: 230 +alley2_combat_player_monitor(param_00,param_01,param_02,param_03,param_04) +{ + if(!level.player istouching(param_00)) + { + wait 0.05; + return; + } + + maps\_utility::activate_trigger(param_01,"targetname",level.player); + alley2_combat_vol_assign(param_04,param_02,param_03); +} + +//Function Number: 231 +alley2_combat_vol_assign(param_00,param_01,param_02) +{ + if(!isdefined(param_02)) + { + param_02 = param_01; + } + + foreach(var_04 in param_00) + { + var_05 = var_04 getgoalvolume(); + if(randomint(100) > 80) + { + if(var_05 != param_01 && var_05 != param_02) + { + if(common_scripts\utility::cointoss()) + { + var_04 maps\lagos_utility::assign_goal_vol(param_01); + continue; + } + + var_04 maps\lagos_utility::assign_goal_vol(param_02); + } + } + } +} + +//Function Number: 232 +alley2_spawner_locator(param_00) +{ + var_01 = undefined; + while(!isdefined(var_01)) + { + foreach(var_03 in param_00) + { + var_04 = self geteye(); + var_05 = var_03.origin; + var_06 = sighttracepassed(var_04,var_05,0,self); + if(!var_06) + { + var_01 = var_03; + return var_01; + } + } + + wait 0.05; + } +} + +//Function Number: 233 +flank_alley_goto() +{ + thread maps\lagos_utility::ally_redirect_goto_node("Gideon","flank_start_burke"); + wait(0.5); + thread maps\lagos_utility::ally_redirect_goto_node("Joker","flank_start_joker"); + wait(0.5); + thread maps\lagos_utility::ally_redirect_goto_node("Ajani","flank_start_ajani"); +} + +//Function Number: 234 +flank_magic_gren() +{ + var_00 = common_scripts\utility::getstruct("microwave_gren_throw_flank","targetname"); + var_01 = common_scripts\utility::getstruct("microwave_gren_target_flank","targetname"); + var_02 = magicgrenade("microwave_grenade",var_00.origin,var_01.origin); + var_02 thread maps\_microwave_grenade::microwave_grenade_explode_wait(); +} + +//Function Number: 235 +flank_combat() +{ + common_scripts\utility::flag_wait("alley_flank_start"); + level.burke maps\_utility::disable_pain(); + level.joker maps\_utility::disable_pain(); + level.ajani maps\_utility::disable_pain(); + if(common_scripts\utility::flag("flank_playerstart")) + { + var_00 = getnode("flank_start_burke","targetname"); + var_01 = getnode("flank_start_joker","targetname"); + var_02 = getnode("flank_start_ajani","targetname"); + level.burke maps\_utility::teleport_ai(var_00); + level.joker maps\_utility::teleport_ai(var_01); + level.ajani maps\_utility::teleport_ai(var_02); + } + + spawncivilians_flank_alley(); + common_scripts\utility::flag_wait("flank_spawn"); + thread flank_wall_climb_force_check(); + thread flank_wall_climb_force_dismount(); + var_03 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("enemy_vehicle_Flank_Hummer"); + var_03.dontunloadonend = 1; + var_03.vehicle_stays_alive = 1; + var_03.mgturret[0] maketurretsolid(); + if(level.currentgen) + { + var_03 thread tff_cleanup_vehicle("alley"); + } + + var_04 = []; + var_05 = []; + foreach(var_07 in var_03.riders) + { + if(var_07.vehicle_position == 1) + { + var_08 = var_07; + var_08 thread maps\_utility::magic_bullet_shield(); + var_08 maps\_utility::disable_pain(); + var_08.allowdeath = 0; + var_08.ignoresonicaoe = 1; + var_04 = common_scripts\utility::array_add(var_04,var_08); + var_08 thread flank_make_gunner_vulerable(); + var_03 thread flank_alley_turret_fire(var_08); + continue; + } + + var_05 = common_scripts\utility::array_add(var_05,var_07); + } + + soundscripts\_snd::snd_message("truck_turret_flank_alley",var_03); + thread civilians_flank_alley_react(); + thread maps\lagos_vo::alley_flank_dialogue(); + thread maps\lagos_utility::timeout_and_flag("flank_technical_move",5); + common_scripts\utility::flag_wait("flank_technical_move"); + soundscripts\_snd::snd_message("truck_turret_flank_alley_drive_away",var_03); + var_0A = getvehiclenode("node_flank_hummer_second_path","targetname"); + var_03 thread maps\_vehicle::vehicle_paths(var_0A); + var_03 startpath(var_0A); + var_03.dontunloadonend = 0; + var_0B = maps\_utility::array_spawn_targetname("enemy_spawner_Flank_A",1); + var_03 thread flank_technical_unload(); + var_0C = []; + var_0D = []; + var_0E = []; + var_0F = []; + var_0D = flank_alley_spawn_group_b(); + var_0E = flank_alley_spawn_group_c(); + var_0F = flank_alley_spawn_group_d(); + thread maps\lagos_utility::spawn_wave_upkeep_and_flag(var_04,"flank_vehicle_turret_dead",0); + common_scripts\utility::flag_wait("flank_player_behind_gunner"); + var_0C = common_scripts\utility::array_combine(var_0C,var_05); + var_0C = common_scripts\utility::array_combine(var_0C,var_0B); + var_0C = common_scripts\utility::array_combine(var_0C,var_0D); + var_0C = common_scripts\utility::array_combine(var_0C,var_0E); + var_0C = common_scripts\utility::array_combine(var_0C,var_0F); + var_0C = maps\_utility::array_removedead_or_dying(var_0C); + common_scripts\utility::flag_wait("flank_vehicle_turret_dead"); + foreach(var_07 in var_0C) + { + if(isdefined(var_07) && isalive(var_07) && !maps\_utility::player_can_see_ai(var_07)) + { + var_07 kill(); + } + + var_0C = maps\_utility::array_removedead_or_dying(var_0C); + } + + foreach(var_07 in var_0C) + { + if(isdefined(var_07) && isalive(var_07)) + { + var_07 thread maps\_utility::player_seek_enable(); + } + } + + while(var_0C.size > 0) + { + var_0C = maps\_utility::array_removedead_or_dying(var_0C); + wait 0.05; + } + + wait(2); + common_scripts\utility::flag_set("flank_alley_complete"); + level.burke maps\_utility::enable_pain(); + level.joker maps\_utility::enable_pain(); + level.ajani maps\_utility::enable_pain(); + var_00 = getnode("flank_wall_start_burke","targetname"); + var_01 = getnode("flank_wall_start_joker","targetname"); + var_02 = getnode("flank_wall_start_ajani","targetname"); + level.burke setgoalnode(var_00); + level.joker setgoalnode(var_01); + level.ajani setgoalnode(var_02); +} + +//Function Number: 236 +flank_technical_unload() +{ + self waittill("reached_end_node"); + maps\_vehicle::vehicle_unload("all_but_gunner"); +} + +//Function Number: 237 +flank_wall_climb_force_check() +{ + common_scripts\utility::flag_wait("flag_start_mag_climb_flank"); + thread maps\lagos_lighting::setup_flank_wall_climb_lighting(); + level.player.hack_fix_lagos_flank_alley_camera_pop = 1; + if(!common_scripts\utility::flag("flank_vehicle_turret_dead")) + { + level.player kill(); + } +} + +//Function Number: 238 +flank_wall_climb_force_dismount() +{ + common_scripts\utility::flag_wait("flag_end_mag_climb_flank"); + thread maps\lagos_lighting::setup_flank_wall_climb_lighting_complete(); + level.player.hack_fix_lagos_flank_alley_camera_pop = undefined; + maps\_exo_climb::disable_mount_point("climb_mount_flank_alley"); + var_00 = getent("anim_org_exo_climb_flank","targetname"); + var_01 = "player_rig"; + var_02 = "flank_wall_climb"; + level.scr_goaltime["player_rig"]["flank_wall_climb"] = 0.5; + maps\_exo_climb::force_animated_dismount(var_00,var_01,var_02); + if(level.currentgen) + { + thread maps\_utility::tff_sync(7); + } + + level notify("mag_climb_complete"); + level notify("flag_cancel_exo_climb"); + maps\_utility::delaythread(8,::common_scripts\utility::flag_set,"obj_progress_mag_climb_flank_complete"); + level.burke maps\_utility::disable_pain(); + var_00 maps\_anim::anim_single_solo_run(level.burke,"flank_wall_climb"); + var_03 = getnode("flank_wall_teleport_joker","targetname"); + var_04 = getnode("flank_wall_teleport_ajani","targetname"); + level.joker maps\_utility::teleport_ai(var_03); + level.ajani maps\_utility::teleport_ai(var_04); + level.burke maps\_utility::enable_pain(); + var_05 = getnode("frogger_start_burke","targetname"); + var_06 = getnode("frogger_start_joker","targetname"); + var_07 = getnode("frogger_start_ajani","targetname"); + level.burke setgoalnode(var_05); + level.joker setgoalnode(var_06); + wait(1); + level.ajani setgoalnode(var_07); +} + +//Function Number: 239 +flank_handle_player_bypass() +{ + common_scripts\utility::flag_wait("flank_player_behind_gunner_bypass"); + if(!common_scripts\utility::flag("flank_vehicle_turret_dead")) + { + var_00 = maps\_utility::array_spawn_targetname("enemy_spawner_Flank_bypass",1); + foreach(var_02 in var_00) + { + if(issubstr(var_02.classname,"dog")) + { + var_02 thread maps\lagos_utility::ignore_until_goal_reached(); + } + } + } +} + +//Function Number: 240 +tff_cleanup_vehicle(param_00) +{ + var_01 = ""; + switch(param_00) + { + case "intro": + var_01 = "tff_pre_intro_to_middle"; + break; + + case "middle": + var_01 = "tff_pre_unload_middle"; + break; + + case "alley": + var_01 = "tff_pre_alley_to_outro"; + break; + + case "roundabout_lobby": + var_01 = "tff_pre_unload_lobby"; + break; + } + + if(var_01 == "") + { + return; + } + + level waittill(var_01); + if(isdefined(self)) + { + if(maps\_vehicle::isvehicle()) + { + maps\_vehicle_code::_freevehicle(); + } + + self delete(); + } +} + +//Function Number: 241 +flank_alley_door_kick() +{ + var_00 = getent("anim_org_flank_kick","targetname"); + var_01 = getent("flank_alley_door","targetname"); + var_01.animname = "flank_alley_door"; + var_01 maps\_utility::assign_animtree(); + var_00 thread maps\_anim::anim_first_frame_solo(var_01,"flank_alley_door_kick_open"); + var_02 = getent("flank_alley_door_collision_a","targetname"); + var_03 = getent("flank_alley_door_collision_b","targetname"); + var_02 linkto(var_01,"doora"); + var_03 linkto(var_01,"doorb"); + common_scripts\utility::flag_wait("alley_flank_start"); + if(distance2dsquared(level.player.origin,var_00.origin) < distance2dsquared(level.burke.origin,var_00.origin) && !common_scripts\utility::flag("flank_playerstart")) + { + var_00 thread maps\_anim::anim_single_solo(var_01,"flank_alley_door_kick_open"); + var_02 common_scripts\utility::delaycall(2,::connectpaths); + var_03 common_scripts\utility::delaycall(2,::connectpaths); + common_scripts\utility::flag_wait("flank_spawn"); + if(!common_scripts\utility::flag("flank_vehicle_turret_dead")) + { + var_00 maps\_anim::anim_reach_solo(level.burke,"burke_flank_kick_start",undefined,1); + } + + if(!common_scripts\utility::flag("flank_vehicle_turret_dead")) + { + var_00 maps\_anim::anim_reach_solo(level.burke,"burke_flank_kick_loop",undefined,1); + } + + if(!common_scripts\utility::flag("flank_vehicle_turret_dead")) + { + var_00 thread maps\_anim::anim_loop_solo(level.burke,"burke_flank_kick_loop","stop_loop"); + } + } + else + { + common_scripts\utility::flag_wait("flank_spawn"); + var_04 = getent("civilian_female_flank_burke_cover","targetname") maps\_utility::spawn_ai(1,1); + var_04.animname = "civ_flank"; + var_00 maps\_anim::anim_reach_solo(level.burke,"burke_flank_kick_start"); + thread flank_alley_door_kick_civilian_react(var_00,var_04); + var_00 thread maps\_anim::anim_single_solo(var_01,"flank_alley_door_kick_open"); + var_02 common_scripts\utility::delaycall(2,::connectpaths); + var_03 common_scripts\utility::delaycall(2,::connectpaths); + var_00 maps\_anim::anim_single_solo(level.burke,"burke_flank_kick_start"); + if(!common_scripts\utility::flag("flank_vehicle_turret_dead")) + { + var_00 thread maps\_anim::anim_loop_solo(level.burke,"burke_flank_kick_loop","stop_loop"); + } + } + + common_scripts\utility::flag_wait("flank_burke_move_from_window"); + var_00 notify("stop_loop"); + if(!common_scripts\utility::flag("flank_vehicle_turret_dead")) + { + var_00 maps\_anim::anim_single_solo(level.burke,"burke_flank_kick_exit"); + } +} + +//Function Number: 242 +flank_alley_door_kick_doors_open(param_00,param_01) +{ + wait(2); + var_02 = (0,26.3,0); + var_03 = (0,313.1,0); + param_00 rotateto(var_02,0.1); + param_01 rotateto(var_03,0.1); +} + +//Function Number: 243 +flank_alley_door_kick_civilian_react(param_00,param_01) +{ + param_00 maps\_anim::anim_single_solo(param_01,"burke_flank_kick_civ_react"); + param_00 maps\_anim::anim_loop_solo(param_01,"burke_flank_kick_civ_idle"); +} + +//Function Number: 244 +flank_make_gunner_vulerable() +{ + self endon("death"); + if(!isdefined(self.damage_functions)) + { + self.damage_functions = []; + } + + maps\_utility::add_damage_function(::flank_gunner_damage_function); + common_scripts\utility::flag_wait("flank_player_behind_gunner"); + maps\_utility::stop_magic_bullet_shield(); + maps\_utility::enable_pain(); + self.allowdeath = 1; + common_scripts\utility::flag_wait("flank_player_behind_gunner_bypass"); + wait(4); + if(isdefined(self) && isalive(self)) + { + self kill(); + } +} + +//Function Number: 245 +flank_gunner_damage_function(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + if(param_01 != level.player && !common_scripts\utility::flag("flank_player_behind_gunner_bypass")) + { + if(self.health > 0) + { + self.health = self.health + param_00; + } + } +} + +//Function Number: 246 +flank_alley_spawn_group_b(param_00) +{ + common_scripts\utility::flag_wait("flank_spawn_enemies_B"); + param_00 = maps\_utility::array_spawn_targetname("enemy_spawner_Flank_B",1); + return param_00; +} + +//Function Number: 247 +flank_alley_spawn_group_c(param_00) +{ + common_scripts\utility::flag_wait("flank_spawn_enemies_C"); + param_00 = maps\_utility::array_spawn_targetname("enemy_spawner_Flank_C",1); + foreach(var_02 in param_00) + { + if(isdefined(var_02) && isalive(var_02)) + { + var_02 thread maps\lagos_utility::ignore_until_goal_reached(); + } + } + + return param_00; +} + +//Function Number: 248 +flank_alley_spawn_group_d(param_00) +{ + common_scripts\utility::flag_wait("flank_spawn_enemies_D"); + param_00 = maps\_utility::array_spawn_targetname("enemy_spawner_Flank_D",1); + foreach(var_02 in param_00) + { + if(isdefined(var_02) && isalive(var_02)) + { + var_02 thread maps\lagos_utility::ignore_until_goal_reached(); + } + } + + return param_00; +} + +//Function Number: 249 +spawncivilians_flank_alley() +{ + var_00 = getent("civilian_female_flank_alley","targetname"); + var_01 = common_scripts\utility::getstructarray("node_Flank_Alley_female_standing","targetname"); + var_02 = maps\lagos_utility::populate_ai_civilians(var_00,var_01,1,"flag_Flank_Alley_civilians_flee"); + var_03 = getent("civilian_male_flank_alley","targetname"); + var_04 = common_scripts\utility::getstructarray("node_Flank_Alley_male_standing","targetname"); + var_05 = maps\lagos_utility::populate_ai_civilians(var_03,var_04,1,"flag_Flank_Alley_civilians_flee"); +} + +//Function Number: 250 +civilians_flank_alley_react() +{ + common_scripts\utility::flag_set("flag_Flank_Alley_react"); + common_scripts\utility::flag_wait("flank_technical_move"); + common_scripts\utility::flag_set("flag_Flank_Alley_civilians_flee"); +} + +//Function Number: 251 +frogger_impact_damage_function(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + if(param_04 == "MOD_CRUSH") + { + param_00 = param_00 + level.player.maxhealth; + } +} + +//Function Number: 252 +frogger_combat() +{ + level.frogger_vehicles = []; + if(!isdefined(level.lookbothways)) + { + level.lookbothways = 1; + } + + common_scripts\utility::flag_wait("trigger_start_timed_lane_traffic"); + setthreatbias("friendly_squad","player_haters",-10000); + setthreatbias("player_haters","friendly_squad",-10000); + setthreatbias("player_haters","player",10000); + level.player setthreatbiasgroup("player"); + level.player maps\_utility::add_damage_function(::frogger_impact_damage_function); + level.frogger_spawners = getentarray("frogger_car_spawner","targetname"); + foreach(var_01 in level.frogger_spawners) + { + var_01.traffic_locked = 0; + } + + level.frogger_bus_spawners = getentarray("frogger_bus_spawner","targetname"); + foreach(var_01 in level.frogger_bus_spawners) + { + var_01.traffic_locked = 0; + } + + thread spawn_vehicle_lane(1,3); + if(level.nextgen) + { + thread spawn_vehicle_lane(2,4); + } + + thread spawn_vehicle_lane(3,5); + if(level.nextgen) + { + thread spawn_vehicle_lane(5,4); + } + + thread spawn_vehicle_lane(6,5); + if(level.nextgen) + { + thread spawn_vehicle_lane(7,3); + } + + thread spawn_vehicle_lane(8,4); + common_scripts\utility::run_thread_on_targetname("trigger_release_southbound",::frogger_release_vehicle_at_trigger); + common_scripts\utility::run_thread_on_targetname("trigger_release_northbound",::frogger_release_vehicle_at_trigger); + common_scripts\utility::run_thread_on_targetname("trigger_despawn_southbound",::delete_vehicle_at_trigger); + common_scripts\utility::run_thread_on_targetname("trigger_despawn_northbound",::delete_vehicle_at_trigger); + var_05 = getent("frogger_bad_place_street_1","targetname"); + badplace_brush("enemy_badPlace_frogger_street_1",-1,var_05,"axis"); + var_06 = getent("frogger_bad_place_street_2","targetname"); + badplace_brush("enemy_badPlace_frogger_street_2",-1,var_06,"axis"); + thread frogger_squad_crossing(); + common_scripts\utility::flag_wait("trigger_start_frogger_kva"); + level.burke.grenadeammo = 0; + level.joker.grenadeammo = 0; + level.ajani.grenadeammo = 0; + var_07 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("enemy_vehicle_Frogger_Hummer"); + var_07 maps\_vehicle::vehicle_set_health(1000000); + var_08 = []; + var_08 = common_scripts\utility::array_combine(var_08,var_07.riders); + var_07 thread maps\lagos_utility::vehicle_unload_how_at_end(); + foreach(var_0A in var_08) + { + if(!common_scripts\utility::flag("frogger_flag_player_middle")) + { + var_0A thread maps\lagos_utility::ignore_until_goal_reached(); + } + } + + wait(0.5); + if(level.nextgen) + { + thread spawn_vehicle_lane(4,3); + } + + wait(3.5); + if(level.nextgen) + { + level.non_vehicle_guys_a = maps\_utility::array_spawn_targetname("enemy_spawner_Frogger_A2",1); + foreach(var_0A in level.non_vehicle_guys_a) + { + if(!common_scripts\utility::flag("frogger_flag_player_middle")) + { + var_0A thread maps\lagos_utility::ignore_until_goal_reached(); + } + } + } + + level.frogger_middle_guys = []; + level.frogger_middle_guys = common_scripts\utility::array_combine(level.frogger_middle_guys,var_08); + if(level.nextgen) + { + level.frogger_middle_guys = common_scripts\utility::array_combine(level.frogger_middle_guys,level.non_vehicle_guys_a); + } + + thread frogger_handle_bypass_middle(); + common_scripts\utility::flag_set("flag_frogger_middle_spawned"); + thread maps\lagos_utility::spawn_wave_upkeep_and_flag(level.frogger_middle_guys,"flag_frogger_middle_dead"); + common_scripts\utility::flag_wait("trigger_start_frogger_kva_B"); + var_0E = []; + if(level.nextgen) + { + var_0E = maps\_utility::array_spawn_targetname("enemy_spawner_Frogger_C",1); + } + else + { + var_0E = maps\_utility::array_spawn_targetname_cg("enemy_spawner_Frogger_C",1,0.05); + } + + foreach(var_0A in var_0E) + { + var_0A thread maps\lagos_utility::ignore_until_goal_reached(); + } + + common_scripts\utility::flag_wait("trigger_start_frogger_kva_D"); + var_11 = []; + if(level.nextgen) + { + var_11 = maps\_utility::array_spawn_targetname("enemy_spawner_Frogger_D",1); + } + else + { + var_11 = maps\_utility::array_spawn_targetname_cg("enemy_spawner_Frogger_D",1,0.05); + } + + foreach(var_0A in var_11) + { + var_0A thread maps\lagos_utility::ignore_until_goal_reached(); + } + + wait(2); + var_14 = []; + if(level.nextgen) + { + var_14 = maps\_utility::array_spawn_targetname("enemy_spawner_Frogger_D_dog",1); + } + + var_15 = []; + var_15 = common_scripts\utility::array_combine(var_15,var_0E); + var_15 = common_scripts\utility::array_combine(var_15,var_11); + if(level.nextgen) + { + var_15 = common_scripts\utility::array_combine(var_15,var_14); + } + + thread maps\lagos_utility::spawn_wave_upkeep_and_flag(var_15,"flag_frogger_complete",0); + common_scripts\utility::flag_wait("flag_frogger_complete"); + common_scripts\utility::flag_wait("frogger_squad_at_end"); + common_scripts\utility::flag_set("begin_traffic_traverse"); + traffic_traverse_start(); +} + +//Function Number: 253 +frogger_handle_bypass_middle() +{ + var_00 = getthreatbias("frogger_middle","friendly_squad"); + var_01 = getthreatbias("frogger_middle","player"); + common_scripts\utility::flag_wait("frogger_flag_player_middle"); + level.player setthreatbiasgroup("player"); + setthreatbias("frogger_middle","friendly_squad",-10000); + setthreatbias("frogger_middle","player",10000); +} + +//Function Number: 254 +frogger_squad_crossing() +{ + var_00 = getent("frogger_bad_place_street_1","targetname"); + badplace_brush("alley_badPlace_frogger_street_1",-1,var_00,"allies"); + var_01 = getent("frogger_bad_place_street_2","targetname"); + badplace_brush("alley_badPlace_frogger_street_2",-1,var_01,"allies"); + level.frogger_teleport_middle = getnodearray("frogger_teleport_middle","targetname"); + level.frogger_teleport_end = getnodearray("frogger_teleport_end","targetname"); + foreach(var_03 in level.frogger_teleport_middle) + { + var_03 disconnectnode(); + } + + foreach(var_03 in level.frogger_teleport_end) + { + var_03 disconnectnode(); + } + + common_scripts\utility::flag_wait("frogger_flag_player_middle"); + level.burke thread frogger_teleport_middle_check(); + level.joker thread frogger_teleport_middle_check(); + level.ajani thread frogger_teleport_middle_check(); + common_scripts\utility::flag_wait("frogger_flag_player_end"); + level.burke notify("skip_middle"); + level.joker notify("skip_middle"); + level.ajani notify("skip_middle"); + level.burke thread frogger_teleport_end_check(); + level.joker thread frogger_teleport_end_check(); + level.ajani thread frogger_teleport_end_check(); + common_scripts\utility::run_thread_on_targetname("frogger_squad_at_end",::frogger_squad_crossing_complete_check,"frogger_squad_at_end"); +} + +//Function Number: 255 +frogger_teleport_middle_check() +{ + self endon("death"); + self endon("skip_middle"); + var_00 = 0; + var_01 = 0; + var_02 = getdvarfloat("cg_fov"); + var_03 = gettime(); + var_04 = 0; + while(!var_00) + { + var_04 = 0; + while(!maps\_utility::within_fov_2d(level.player.origin,level.player.angles,self.origin,cos(var_02))) + { + if(var_04 >= 2000) + { + var_00 = 1; + break; + } + + var_04 = gettime() - var_03; + wait 0.05; + } + + wait 0.05; + } + + while(!var_01) + { + foreach(var_06 in level.frogger_teleport_middle) + { + if(!maps\_utility::within_fov_2d(level.player.origin,level.player.angles,var_06.origin,cos(var_02)) && distance2d(level.player.origin,var_06.origin) > 56) + { + var_06 connectnode(); + level.frogger_teleport_middle = common_scripts\utility::array_remove(level.frogger_teleport_middle,var_06); + var_01 = 1; + maps\_utility::teleport_ai(var_06); + break; + } + } + + wait 0.05; + } +} + +//Function Number: 256 +frogger_teleport_end_check() +{ + self endon("death"); + var_00 = 0; + var_01 = 0; + var_02 = getdvarfloat("cg_fov"); + var_03 = gettime(); + var_04 = 0; + while(!var_00) + { + var_04 = 0; + while(!maps\_utility::within_fov_2d(level.player.origin,level.player.angles,self.origin,cos(var_02))) + { + if(var_04 >= 3000) + { + var_00 = 1; + break; + } + + var_04 = gettime() - var_03; + wait 0.05; + } + + wait 0.05; + } + + while(!var_01) + { + foreach(var_06 in level.frogger_teleport_end) + { + if(!maps\_utility::within_fov_2d(level.player.origin,level.player.angles,var_06.origin,cos(var_02)) && distance2d(level.player.origin,var_06.origin) > 56) + { + var_06 connectnode(); + level.frogger_teleport_end = common_scripts\utility::array_remove(level.frogger_teleport_end,var_06); + var_01 = 1; + maps\_utility::teleport_ai(var_06); + break; + } + } + + wait 0.05; + } +} + +//Function Number: 257 +frogger_middle_kill_check() +{ + common_scripts\utility::flag_wait("frogger_flag_player_end"); + maps\lagos_utility::kill_after_timeout(level.frogger_middle_guys,8,1); +} + +//Function Number: 258 +frogger_brake_vehicle_at_trigger(param_00) +{ + while(!common_scripts\utility::flag(param_00)) + { + self waittill("trigger",var_01); + if(var_01 maps\_vehicle::isvehicle()) + { + var_01 vehicle_setspeed(0,15,15); + thread frogger_slow_down_lane(var_01.lane,param_00); + } + } +} + +//Function Number: 259 +frogger_slow_down_lane(param_00,param_01) +{ + var_02 = "destroy_all_frogger_vehicles_lane_" + param_00; + level endon(var_02); + while(!common_scripts\utility::flag(param_01)) + { + if(param_00 == 1 && !common_scripts\utility::flag("frogger_stop_lane_1")) + { + common_scripts\utility::flag_set("frogger_stop_lane_1"); + } + else if(param_00 == 2 && !common_scripts\utility::flag("frogger_stop_lane_2")) + { + common_scripts\utility::flag_set("frogger_stop_lane_2"); + } + else if(param_00 == 3 && !common_scripts\utility::flag("frogger_stop_lane_3")) + { + common_scripts\utility::flag_set("frogger_stop_lane_3"); + } + else if(param_00 == 4 && !common_scripts\utility::flag("frogger_stop_lane_4")) + { + common_scripts\utility::flag_set("frogger_stop_lane_4"); + } + else if(param_00 == 5 && !common_scripts\utility::flag("frogger_stop_lane_5")) + { + common_scripts\utility::flag_set("frogger_stop_lane_5"); + } + else if(param_00 == 6 && !common_scripts\utility::flag("frogger_stop_lane_6")) + { + common_scripts\utility::flag_set("frogger_stop_lane_6"); + } + else if(param_00 == 7 && !common_scripts\utility::flag("frogger_stop_lane_7")) + { + common_scripts\utility::flag_set("frogger_stop_lane_7"); + } + else if(param_00 == 8 && !common_scripts\utility::flag("frogger_stop_lane_8")) + { + common_scripts\utility::flag_set("frogger_stop_lane_8"); + } + + foreach(var_04 in level.frogger_vehicles) + { + if(isdefined(var_04) && isdefined(var_04.lane) && var_04 maps\_vehicle::isvehicle() && var_04.lane == param_00 && var_04 vehicle_getspeed() != 0) + { + if(var_04 maps\_vehicle::isvehicle()) + { + var_04 vehicle_setspeed(0,15,5); + } + } + } + + wait 0.05; + } + + foreach(var_04 in level.frogger_vehicles) + { + if(isdefined(var_04) && isdefined(var_04.lane) && var_04 maps\_vehicle::isvehicle() && var_04.lane == param_00 && var_04 vehicle_getspeed() != 40) + { + if(var_04 maps\_vehicle::isvehicle()) + { + var_04 vehicle_setspeed(40,15,5); + } + } + } + + if(param_00 == 1) + { + common_scripts\utility::flag_set("frogger_restart_lane_1"); + return; + } + + if(param_00 == 2) + { + common_scripts\utility::flag_set("frogger_restart_lane_2"); + return; + } + + if(param_00 == 3) + { + common_scripts\utility::flag_set("frogger_restart_lane_3"); + return; + } + + if(param_00 == 4) + { + common_scripts\utility::flag_set("frogger_restart_lane_4"); + return; + } + + if(param_00 == 5) + { + common_scripts\utility::flag_set("frogger_restart_lane_5"); + return; + } + + if(param_00 == 6) + { + common_scripts\utility::flag_set("frogger_restart_lane_6"); + return; + } + + if(param_00 == 7) + { + common_scripts\utility::flag_set("frogger_restart_lane_7"); + return; + } + + if(param_00 == 8) + { + common_scripts\utility::flag_set("frogger_restart_lane_8"); + return; + } +} + +//Function Number: 260 +frogger_squad_crossing_complete_check(param_00) +{ + var_01 = 0; + var_02 = 0; + var_03 = 0; + for(;;) + { + self waittill("trigger",var_04); + if(issubstr(var_04.script_friendname,"Gideon") && var_01 == 0) + { + var_01 = 1; + } + + if(issubstr(var_04.script_friendname,"Joker") && var_02 == 0) + { + var_02 = 1; + } + + if(issubstr(var_04.script_friendname,"Ajani") && var_03 == 0) + { + var_03 = 1; + } + + if(var_01 == 1 && var_02 == 1 && var_03 == 1) + { + common_scripts\utility::flag_set(param_00); + } + } +} + +//Function Number: 261 +spawn_vehicle_lane(param_00,param_01) +{ + var_02 = "destroy_all_frogger_vehicles_lane_" + param_00; + level endon(var_02); + var_03 = 1; + var_04 = 0; + while(!common_scripts\utility::flag("trigger_stop_timed_lane_traffic")) + { + if(common_scripts\utility::flag("frogger_stop_lane_1") && param_00 == 1) + { + common_scripts\utility::flag_wait("frogger_restart_lane_1"); + } + else if(common_scripts\utility::flag("frogger_stop_lane_2") && param_00 == 2) + { + common_scripts\utility::flag_wait("frogger_restart_lane_2"); + } + else if(common_scripts\utility::flag("frogger_stop_lane_3") && param_00 == 3) + { + common_scripts\utility::flag_wait("frogger_restart_lane_3"); + } + else if(common_scripts\utility::flag("frogger_stop_lane_4") && param_00 == 4) + { + common_scripts\utility::flag_wait("frogger_restart_lane_4"); + } + else if(common_scripts\utility::flag("frogger_stop_lane_5") && param_00 == 5) + { + common_scripts\utility::flag_wait("frogger_restart_lane_5"); + } + else if(common_scripts\utility::flag("frogger_stop_lane_6") && param_00 == 6) + { + common_scripts\utility::flag_wait("frogger_restart_lane_6"); + } + else if(common_scripts\utility::flag("frogger_stop_lane_7") && param_00 == 7) + { + common_scripts\utility::flag_wait("frogger_restart_lane_7"); + } + else if(common_scripts\utility::flag("frogger_stop_lane_8") && param_00 == 8) + { + common_scripts\utility::flag_wait("frogger_restart_lane_8"); + } + + if(var_03 % param_01) + { + var_04 = 0; + } + else + { + var_04 = 1; + } + + if(level.nextgen) + { + while(level.frogger_vehicles.size > 60) + { + wait 0.05; + } + } + else + { + while(level.frogger_vehicles.size > 10) + { + wait 0.05; + } + } + + var_05 = frogger_spawn_selection(param_00,var_04); + level.frogger_vehicles = common_scripts\utility::array_add(level.frogger_vehicles,var_05); + wait 0.05; + var_05.vehicle_stays_alive = 1; + var_03++; + wait(randomfloatrange(2.5,4)); + } +} + +//Function Number: 262 +frogger_vehicle_hit_react() +{ + self waittill("damage",var_00,var_01,var_02,var_03,var_04); + if(isplayer(var_01)) + { + maps\lagos_utility::vehicle_crazy_steering_frogger(); + } +} + +//Function Number: 263 +frogger_vehicle_hit_fail() +{ + self waittill("damage",var_00,var_01,var_02,var_03,var_04); + if(isplayer(var_01)) + { + if(isdefined(level.lookbothways)) + { + level.lookbothways = 0; + } + + if(var_04 == "MOD_GRENADE_SPLASH" || var_04 == "MOD_GRENADE") + { + self kill(); + setdvar("ui_deadquote",&"SCRIPT_MISSIONFAIL_CIVILIAN_KILLED"); + maps\_utility::missionfailedwrapper(); + } + } +} + +//Function Number: 264 +frogger_spawn_selection(param_00,param_01) +{ + if(!param_01) + { + var_02 = randomintrange(0,level.frogger_spawners.size - 1); + while(level.frogger_spawners[var_02].traffic_locked == 1) + { + wait 0.05; + } + + level.frogger_spawners[var_02].traffic_locked = 1; + var_03 = level.frogger_spawners[var_02] maps\_utility::spawn_vehicle(); + var_03.lane = param_00; + thread unlock_frogger_traffic_spawner(level.frogger_spawners[var_02]); + soundscripts\_snd::snd_message("frogger_vehicle_by",var_03); + var_03 thread frogger_vehicle_hit_fail(); + if(level.nextgen) + { + if(param_00 != 8 && param_00 != 7 && param_00 != 4) + { + var_03 vehphys_disablecrashing(); + var_03 thread frogger_vehicle_hit_react(); + } + } + } + else + { + var_02 = randomintrange(0,level.frogger_bus_spawners.size - 1); + while(level.frogger_bus_spawners[var_03].traffic_locked == 1) + { + wait 0.05; + } + + level.frogger_bus_spawners[var_03].traffic_locked = 1; + var_03 = level.frogger_bus_spawners[var_03] maps\_utility::spawn_vehicle(); + var_03.lane = param_00; + var_03 thread frogger_vehicle_hit_fail(); + thread unlock_frogger_traffic_spawner(level.frogger_bus_spawners[var_02]); + soundscripts\_snd::snd_message("frogger_vehicle_by",var_03); + } + + var_03 thread frogger_vehicle_rumble(); + var_04 = undefined; + var_05 = getent("civ_vehicle_driver_spawner","targetname"); + if(isdefined(var_05)) + { + var_04 = var_05 maps\_utility::spawn_ai(1); + var_03 maps\_utility::guy_enter_vehicle(var_04); + var_04 setcandamage(0); + } + + var_06 = getvehiclenode("frogger_lane_" + param_00,"targetname"); + var_03 vehicle_teleport(var_06.origin,var_06.angles,1); + var_03 thread maps\_vehicle::vehicle_paths(var_06); + var_03 startpath(var_06); + return var_03; +} + +//Function Number: 265 +frogger_vehicle_rumble() +{ + self endon("death"); + while(isdefined(self)) + { + if(common_scripts\utility::distance_2d_squared(self.origin,level.player.origin) <= 40000) + { + maps\lagos_utility::rumble_frogger_vehicles(); + wait(2); + } + + wait 0.05; + } +} + +//Function Number: 266 +unlock_frogger_traffic_spawner(param_00) +{ + wait 0.05; + param_00.traffic_locked = 0; +} + +//Function Number: 267 +delete_vehicle_at_trigger() +{ + for(;;) + { + self waittill("trigger",var_00); + if(var_00 maps\_vehicle::isvehicle()) + { + var_00.free_on_death = 1; + var_00 maps\_vehicle_code::_freevehicle(); + wait(0.05); + if(isdefined(var_00.deathfx_ent)) + { + var_00.deathfx_ent delete(); + } + + level.frogger_vehicles = common_scripts\utility::array_remove(level.frogger_vehicles,var_00); + var_00 delete(); + } + } +} + +//Function Number: 268 +frogger_release_vehicle_at_trigger() +{ + for(;;) + { + self waittill("trigger",var_00); + if(var_00 maps\_vehicle::isvehicle()) + { + level.frogger_vehicles = common_scripts\utility::array_remove(level.frogger_vehicles,var_00); + if(level.nextgen) + { + var_00 vehicle_setspeed(40,15,5); + } + } + } +} + +//Function Number: 269 +destroy_all_frogger_vehicles_lane(param_00) +{ + var_01 = "destroy_all_frogger_vehicles_lane_" + param_00; + level notify(var_01); + var_02 = []; + if(isdefined(level.frogger_vehicles) && level.frogger_vehicles.size > 0) + { + foreach(var_04 in level.frogger_vehicles) + { + if(isalive(var_04) && var_04.lane == param_00) + { + var_04 delete(); + } + } + } +} + +//Function Number: 270 +player_exo_jump_release_hint_off() +{ + if(level.player buttonpressed("DPAD_UP")) + { + return 1; + } + + return 0; +} + +//Function Number: 271 +player_exo_jump_hint_off() +{ + if(level.player jumpbuttonpressed()) + { + return 1; + } + + return 0; +} + +//Function Number: 272 +traffic_traverse_start() +{ + soundscripts\_snd::snd_message("traffic_traverse"); + common_scripts\utility::flag_wait("begin_traffic_traverse"); + while(!isdefined(level.player_bus_start)) + { + wait 0.05; + } + + thread maps\lagos_vo::highway_ledge_jump_prep_dialogue(); + maps\_utility::battlechatter_off("axis"); + maps\_utility::battlechatter_off("allies"); + var_00 = getent("anim_org_fence_tear_jump","targetname"); + level.org_player_highway_ledge = getent("anim_org_fence_tear_jump_player","targetname"); + var_01 = getent("highway_pullback_fence","targetname"); + var_01.animname = "highway_fence"; + var_01 maps\_utility::assign_animtree(); + var_00 thread maps\_anim::anim_first_frame_solo(var_01,"highway_fence_pull_back"); + var_02 = maps\_vehicle::spawn_vehicle_from_targetname("KVA_hostage_truck_pass_fence"); + var_02.animname = "hostage_truck_fence"; + level.player_bus_start.animname = "highway_bus_1"; + var_00 maps\_anim::anim_reach_solo(level.burke,"burke_traffic_start_pt1"); + var_00 thread maps\_anim::anim_single_solo(var_01,"highway_fence_pull_back"); + soundscripts\_snd::snd_message("traffic_traverse_fence_rip"); + thread traffic_ledge_burke_loop_wait(var_00); + thread traffic_traverse_ledge_player_input(); + common_scripts\utility::flag_wait("flag_highway_ledge_climb_started"); + thread check_look_both_ways_achievement(); + common_scripts\utility::flag_set("obj_progress_pursue_hostage_truck_highway"); + common_scripts\utility::flag_set("done_traffic_ledge_jump_start"); + common_scripts\utility::flag_set("traffic_ledge_lighting"); + level.player enableslowaim(0.2,0.2); + level.player maps\_shg_utility::setup_player_for_scene(); + thread maps\_player_exo::player_exo_deactivate(); + level.player_rig_highway_ledge = maps\_utility::spawn_anim_model("player_rig",level.player.origin); + level.player_rig_highway_ledge hide(); + var_03 = 0.5; + level.player playerlinktoblend(level.player_rig_highway_ledge,"tag_player",var_03); + level.player common_scripts\utility::delaycall(var_03,::playerlinktodelta,level.player_rig_highway_ledge,"tag_player",1,7,7,5,5,1); + level.player_rig_highway_ledge common_scripts\utility::delaycall(var_03,::show); + thread maps\lagos_vo::highway_ledge_jump_go_dialogue(); + level.player maps\_utility::remove_damage_function(::frogger_impact_damage_function); + level.burke maps\lagos_utility::setup_ai_for_bus_sequence(); + level.burke animscripts\utility::setunstableground(1); + level.burke maps\_utility::disable_pain(); + level.burke maps\_utility::disable_surprise(); + level.burke.grenadeammo = 0; + level.burke.baseaccuracy = 0.15; + level.burke thread maps\lagos_utility::keep_filling_clip_ammo(1); + level.burke pushplayer(1); + level.burke.pushable = 0; + var_00 maps\_anim::anim_first_frame_solo(level.player_rig_highway_ledge,"traffic_start_VM"); + var_00 notify("stop_loop"); + var_00 thread maps\_anim::anim_single_solo(level.burke,"burke_traffic_start_pt2"); + var_00 thread maps\_anim::anim_single_solo(level.player_bus_start,"highway_bus_1_pass_fence"); + thread start_bus_moving_before_anim_ends(level.player_bus_start,"start_bus_traverse_1",14); + thread traffic_anim_bus_1(var_00,var_02); + if(level.currentgen) + { + level.org_player_highway_ledge maps\_anim::anim_single_solo(level.player_rig_highway_ledge,"traffic_start_VM",undefined,0.25); + } + else + { + level.org_player_highway_ledge maps\_anim::anim_single_solo(level.player_rig_highway_ledge,"traffic_start_VM"); + } + + level.burke maps\_utility::set_goal_radius(16); + var_04 = getnode("cover_bus_traverse_1","targetname"); + level.burke maps\_utility::set_goal_node(var_04); + level.player unlink(); + level.player_rig_highway_ledge delete(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.player allowjump(1); + level.player thread maps\lagos_utility::give_player_more_ammo(5); + level.player disableslowaim(); + if(level.currentgen) + { + level.player setorigin(level.player.origin + (0,-36,5)); + } + + common_scripts\utility::flag_set("obj_progress_pursue_hostage_truck_highway_traverse"); + thread maps\lagos_jump::exo_jump_process(); + thread maps\_player_exo::player_exo_activate(); + common_scripts\utility::flag_set("flag_player_traversing_traffic"); + thread traffic_traverse_fail_check(); +} + +//Function Number: 273 +check_look_both_ways_achievement() +{ + if(isdefined(level.lookbothways) && level.lookbothways) + { + maps\_utility::giveachievement_wrapper("LEVEL_3A"); + } +} + +//Function Number: 274 +traffic_ledge_burke_loop_wait(param_00) +{ + param_00 maps\_anim::anim_single_solo(level.burke,"burke_traffic_start_pt1"); + if(!common_scripts\utility::flag("flag_highway_ledge_climb_started")) + { + param_00 thread maps\_anim::anim_loop_solo(level.burke,"burke_traffic_start_idle","stop_loop"); + } +} + +//Function Number: 275 +start_bus_moving_before_anim_ends(param_00,param_01,param_02) +{ + wait(param_02); + var_03 = getvehiclenode(param_01,"targetname"); + param_00 startpath(var_03); +} + +//Function Number: 276 +traffic_anim_bus_1(param_00,param_01) +{ + thread traffic_start_camera_shake(); + param_01 thread wheel_for_hostage_car(); + param_00 maps\_anim::anim_single_solo(param_01,"hostage_truck_pass_fence"); + common_scripts\utility::flag_set("flag_start_traffic_traverse"); +} + +//Function Number: 277 +wheel_for_hostage_car() +{ + wait(0.5); + self setanim(%lag_takedown_van_wheels,1,0,-1); +} + +//Function Number: 278 +traffic_start_camera_shake() +{ + level endon("flag_highway_ledge_jump_fail"); + wait(13); + if(common_scripts\utility::flag("flag_highway_ledge_jump_started") && !common_scripts\utility::flag("missionfailed")) + { + earthquake(0.4,8,level.player.origin,5000); + wait(4); + traffic_camera_shake_before_middle_td(); + } +} + +//Function Number: 279 +traffic_camera_shake_before_middle_td() +{ + var_00 = common_scripts\utility::getstruct("camera_shake_traffic_1","targetname"); + earthquake(0.2,500,var_00.origin,15000); +} + +//Function Number: 280 +traffic_camera_shake_after_middle_td() +{ + var_00 = common_scripts\utility::getstruct("camera_shake_traffic_2","targetname"); + earthquake(0.2,500,var_00.origin,24000); +} + +//Function Number: 281 +trigger_kill_player() +{ + level endon("player_fell_highway"); + level.player endon("qte_fail"); + while(!common_scripts\utility::flag("flag_highway_final_takedown_started")) + { + self waittill("trigger",var_00); + if(isdefined(var_00) && isplayer(var_00) && level.player.jump_state != 2 && !common_scripts\utility::flag("flag_highway_final_takedown_started")) + { + earthquake(0.5,2,level.player.origin,512); + level.player playrumbleonentity("damage_heavy"); + level.player freezecontrols(1); + level.player kill(); + level notify("player_fell_highway"); + } + } +} + +//Function Number: 282 +traffic_traverse_ledge_player_input() +{ + wait(3); + common_scripts\utility::run_thread_on_targetname("trigger_player_ready_for_ledge_climb",::traffic_traverse_ledge_player_validation); + var_00 = getent("traffic_traverse_mantle_point","targetname"); + var_01 = maps\_shg_utility::hint_button_position("a",var_00.origin,150,500); + common_scripts\utility::flag_wait("flag_highway_ledge_climb_started"); + var_01 maps\_shg_utility::hint_button_clear(); +} + +//Function Number: 283 +traffic_traverse_ledge_player_validation() +{ + level endon("flag_highway_ledge_climb_started"); + for(;;) + { + self waittill("trigger",var_00); + if(isplayer(var_00)) + { + level.player allowjump(0); + thread maps\lagos_utility::hint_instant(&"LAGOS_BUS_JUMP_1"); + while(common_scripts\utility::flag("flag_traffic_ledge_jump_trigger")) + { + if(level.player jumpbuttonpressed()) + { + thread maps\lagos_utility::hint_fade_instant(); + common_scripts\utility::flag_set("flag_highway_ledge_climb_started"); + return; + } + + wait 0.05; + } + + level.player allowjump(1); + thread maps\lagos_utility::hint_fade_instant(); + } + } +} + +//Function Number: 284 +traffic_traverse_start_player_input() +{ + level.traffic_ledge_jump_trigger_use = getent("traffic_ledge_jump_trigger_use","targetname"); + common_scripts\utility::run_thread_on_targetname("trigger_player_ready_for_ledge_jump",::traffic_traverse_start_player_validation); + var_00 = level.player_bus_start maps\_shg_utility::hint_button_tag("a","tag_roof_a",900,900); + common_scripts\utility::waittill_any_ents(level.player,"traffic_traverse_start_player",level,"flag_highway_ledge_jump_fail"); + var_00 maps\_shg_utility::hint_button_clear(); +} + +//Function Number: 285 +traffic_traverse_start_player_validation() +{ + level.player notifyonplayercommand("traffic_traverse_start_player","+gostand"); + level.player waittill("traffic_traverse_start_player"); + level.player notifyonplayercommandremove("traffic_traverse_start_player","+gostand"); + common_scripts\utility::flag_set("flag_highway_ledge_jump_started"); +} + +//Function Number: 286 +traffic_rooftop_traverse() +{ + common_scripts\utility::flag_wait("flag_setup_highway_vehicles"); + common_scripts\utility::array_thread(getentarray("trigger_hurt_player","targetname"),::trigger_kill_player); + level.bus_jump_count = 1; + level thread maps\lagos_utility::start_vehicle_traffic_highway_traverse(); + var_00 = maps\_vehicle::spawn_vehicle_from_targetname("KVA_hostage_truck_chase"); + var_01 = getvehiclenode("start_KVA_hostage_truck_chase","targetname"); + var_02 = maps\lagos_jump::spawn_vehicle_from_targetname_and_setup_jump_targets("bus_traverse_1",4,"tag_roof_a","tag_roof_b"); + var_03 = maps\lagos_jump::spawn_vehicle_from_targetname_and_setup_jump_targets("bus_traverse_2",4,"tag_roof_a","tag_roof_b"); + var_04 = maps\lagos_jump::spawn_vehicle_from_targetname_and_setup_jump_targets("bus_traverse_3",4,"tag_roof_a","tag_roof_b"); + var_05 = maps\lagos_jump::spawn_vehicle_from_targetname_and_setup_jump_targets("bus_traverse_4",4,"tag_roof_a","tag_roof_b"); + var_06 = maps\lagos_jump::spawn_vehicle_from_targetname_and_setup_jump_targets("bus_traverse_5",4,"tag_roof_a","tag_roof_b","tag_roof_c"); + var_02.vehicle_stays_alive = 1; + var_03.vehicle_stays_alive = 1; + var_04.vehicle_stays_alive = 1; + var_05.vehicle_stays_alive = 1; + var_06.vehicle_stays_alive = 1; + thread maps\_vehicle_traffic::add_script_car(var_02,0); + thread maps\_vehicle_traffic::add_script_car(var_03,0); + thread maps\_vehicle_traffic::add_script_car(var_04,0); + thread maps\_vehicle_traffic::add_script_car(var_05,0); + thread maps\_vehicle_traffic::add_script_car(var_06,0); + soundscripts\_snd::snd_message("handle_busses",[var_02,var_03,var_04,var_05,var_06]); + level.player_bus_start = var_02; + level.player_bus = var_04; + thread traffic_suv_takedown(); + var_07 = getvehiclenode("start_bus_traverse_1","targetname"); + var_08 = getvehiclenode("start_bus_traverse_2","targetname"); + var_09 = getvehiclenode("start_bus_traverse_3","targetname"); + var_0A = getvehiclenode("start_bus_traverse_4","targetname"); + var_0B = getvehiclenode("start_bus_traverse_5","targetname"); + var_0C = getent("sb_bus_traverse_1","targetname"); + var_0D = getent("sb_bus_traverse_2","targetname"); + var_0E = getent("sb_bus_traverse_3","targetname"); + var_0F = getent("sb_bus_traverse_4","targetname"); + var_10 = getent("sb_bus_traverse_5","targetname"); + var_0C linkto(var_02); + var_0D linkto(var_03); + var_0E linkto(var_04); + var_0F linkto(var_05); + var_10 linkto(var_06); + var_11 = getent("trigger_bus_traverse_2","targetname"); + var_12 = getent("trigger_bus_traverse_3","targetname"); + var_13 = getent("trigger_bus_traverse_4","targetname"); + var_14 = getent("trigger_bus_traverse_5","targetname"); + var_11 maps\lagos_utility::fake_linkto(var_03); + var_12 maps\lagos_utility::fake_linkto(var_04); + var_13 maps\lagos_utility::fake_linkto(var_05); + var_14 maps\lagos_utility::fake_linkto(var_06); + level.trigger_bus_traverse_5_flag_in = getent("traffic_final_takedown_trigger_in","targetname"); + level.trigger_bus_traverse_5_flag_in maps\lagos_utility::fake_linkto(var_06); + level.trigger_bus_traverse_5_threaded = getent("trigger_player_ready_for_final_takedown","targetname"); + level.trigger_bus_traverse_5_threaded enablelinkto(); + level.trigger_bus_traverse_5_threaded linkto(var_06); + level.trigger_bus_traverse_5_looking = getent("traffic_final_takedown_trigger_looking","targetname"); + level.trigger_bus_traverse_5_looking maps\lagos_utility::fake_linkto(var_06); + level.final_bus = var_06; + level.final_bus.animname = "final_bus"; + level.bus_5_hop_blocker_a = getent("bus_5_hop_blocker_a","targetname"); + level.bus_5_hop_blocker_b = getent("bus_5_hop_blocker_b","targetname"); + level.bus_5_hop_blocker_a linkto(var_06); + level.bus_5_hop_blocker_b linkto(var_06); + var_15 = getent("trigger_bus_traverse_2_burke","targetname"); + var_16 = getent("trigger_bus_traverse_3_burke","targetname"); + var_17 = getent("trigger_bus_traverse_4_burke","targetname"); + var_18 = getent("trigger_bus_traverse_5_burke","targetname"); + var_15 maps\lagos_utility::fake_linkto(var_03); + var_16 maps\lagos_utility::fake_linkto(var_04); + var_17 maps\lagos_utility::fake_linkto(var_05); + var_18 maps\lagos_utility::fake_linkto(var_06); + if(!isdefined(level.debugstart_middle_takedown)) + { + common_scripts\utility::flag_wait("flag_start_traffic_traverse"); + var_02 startpath(var_07); + var_02 vehphys_disablecrashing(); + var_03 startpath(var_08); + var_03 vehphys_disablecrashing(); + common_scripts\utility::flag_wait("flag_highway_VM_looking_forward"); + thread traffic_suv_group_a(); + thread traffic_suv_group_b(); + thread traffic_suv_group_c(); + } + + thread traffic_suv_group_d(); + if(!isdefined(level.debugstart_middle_takedown)) + { + traffic_vehicle_start_check("trigger_spawn_traverse_2","bus_traverse_1"); + thread traffic_burke_jump_bus_2(); + traffic_vehicle_start_check("trigger_spawn_traverse_3_start","bus_traverse_2"); + var_04 startpath(var_09); + var_04 vehphys_disablecrashing(); + traffic_vehicle_start_check("trigger_spawn_traverse_3","bus_traverse_2"); + thread traffic_bus_3_flag_check(); + thread traffic_burke_jump_bus_3(); + } + + if(level.nextgen) + { + if(isdefined(level.burke_middle_takedown)) + { + traffic_vehicle_start_check("trigger_spawn_traverse_4_start_debug","bus_traverse_3"); + } + else + { + traffic_vehicle_start_check("trigger_spawn_traverse_4_start","bus_traverse_3"); + } + } + else + { + traffic_vehicle_start_check("trigger_spawn_traverse_4_start_debug","bus_traverse_3"); + } + + var_05 startpath(var_0A); + var_05 vehphys_disablecrashing(); + traffic_vehicle_start_check("trigger_spawn_traverse_4","bus_traverse_3"); + thread traffic_burke_jump_bus_4(); + traffic_vehicle_start_check("trigger_spawn_traverse_5_start","bus_traverse_4"); + var_06 startpath(var_0B); + var_06 vehphys_disablecrashing(); + var_00 startpath(var_01); + traffic_vehicle_start_check("trigger_spawn_traverse_5","bus_traverse_4"); + thread traffic_burke_jump_bus_5(); + common_scripts\utility::flag_wait("flag_bus_traverse_5_start_takedown"); + var_00 delete(); +} + +//Function Number: 287 +test_look_b() +{ + for(;;) + { + var_00 = common_scripts\utility::flag("flag_lookat_highway_enemies_B"); + if(var_00) + { + iprintlnbold("B FLAG"); + return; + } + + wait 0.05; + } +} + +//Function Number: 288 +test_look_c() +{ + for(;;) + { + var_00 = common_scripts\utility::flag("flag_lookat_highway_enemies_C"); + if(var_00) + { + iprintlnbold("C FLAG"); + return; + } + + wait 0.05; + } +} + +//Function Number: 289 +traffic_vehicle_start_check(param_00,param_01) +{ + var_02 = getent(param_00,"targetname"); + for(;;) + { + var_02 waittill("trigger",var_03); + if(isdefined(var_03) && var_03 maps\_vehicle::isvehicle() && var_03.vehicle_spawner.targetname == param_01) + { + return; + } + } +} + +//Function Number: 290 +traffic_bus_start_check_old(param_00,param_01) +{ + common_scripts\utility::flag_clear(param_00); + for(;;) + { + var_02 = common_scripts\utility::flag_wait(param_00); + if(var_02.vehicle_spawner.targetname == param_01) + { + return; + } + else + { + common_scripts\utility::flag_clear(param_00); + } + } +} + +//Function Number: 291 +traffic_burke_jump_settings(param_00) +{ + level.burke_bus_goal = param_00; + if(isdefined(level.bus_jump_count)) + { + level.bus_jump_count++; + } + + level.burke notify("abort_reload"); + level.burke maps\_utility::set_ignoreall(1); + level.burke.ignoreme = 1; + level.burke maps\_utility::set_goal_node(param_00); + level.burke waittill("traverse_finish"); + level.burke maps\_utility::set_ignoreall(0); + level.burke.ignoreme = 0; + if(isdefined(level.bus_jump_count)) + { + thread traffic_burke_miss_failsafe(); + } +} + +//Function Number: 292 +traffic_burke_miss_failsafe() +{ + wait(8); + if(!common_scripts\utility::flag("flag_bus_traverse_" + level.bus_jump_count + "_burke")) + { + traffic_burke_recover_failed_jump(); + } +} + +//Function Number: 293 +traffic_burke_recover_failed_jump() +{ + level.burke maps\_utility::teleport_ai(level.burke_bus_goal); +} + +//Function Number: 294 +traffic_burke_jump_bus_2() +{ + wait(1); + thread maps\lagos_vo::highway_traffic_jump_2_dialogue(); + wait(1); + var_00 = getnode("cover_bus_traverse_2","targetname"); + traffic_burke_jump_settings(var_00); +} + +//Function Number: 295 +traffic_burke_jump_bus_3() +{ + thread maps\lagos_vo::highway_traffic_jump_3_dialogue(); + wait(1); + var_00 = getnode("cover_bus_traverse_3","targetname"); + traffic_burke_jump_settings(var_00); +} + +//Function Number: 296 +traffic_burke_jump_bus_4() +{ + wait(1); + thread maps\lagos_vo::highway_traffic_jump_4_dialogue(); + wait(1); + var_00 = getnode("cover_bus_traverse_4","targetname"); + traffic_burke_jump_settings(var_00); +} + +//Function Number: 297 +traffic_burke_jump_bus_5() +{ + wait(1.5); + thread maps\lagos_vo::highway_traffic_jump_5_dialogue(); + wait(1); + var_00 = getnode("cover_bus_traverse_5","targetname"); + traffic_burke_jump_settings(var_00); +} + +//Function Number: 298 +traffic_bus_3_flag_check() +{ + common_scripts\utility::flag_wait("flag_bus_traverse_3"); + wait(1); + common_scripts\utility::flag_set("flag_begin_suv_takedown"); +} + +//Function Number: 299 +traffic_link_luggage(param_00,param_01,param_02) +{ + foreach(var_04 in param_01) + { + if(var_04.classname == "script_origin") + { + param_00 = var_04; + } + } + + foreach(var_04 in param_01) + { + if(var_04.classname != "script_origin") + { + var_04 linkto(param_00); + } + } + + param_00 linkto(param_02); +} + +//Function Number: 300 +traffic_suv_group_a() +{ + traffic_vehicle_start_check("trigger_enemy_suv_A","bus_traverse_1"); + if(!common_scripts\utility::flag("flag_lookat_highway_enemies_A")) + { + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("traffic_enemy_suv_A1"); + } + else + { + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("traffic_enemy_suv_A1_ALT"); + } + + var_00 maps\_vehicle::vehicle_set_health(3000); + var_00 soundscripts\_snd::snd_message("bus_chase_suv_oneshots"); + var_00 thread maps\lagos_utility::handle_vehicle_death(); + thread maps\_vehicle_traffic::add_script_car(var_00); + thread maps\lagos_vo::highway_traffic_first_suvs(); +} + +//Function Number: 301 +traffic_suv_group_b() +{ + traffic_vehicle_start_check("trigger_enemy_suv_B","bus_traverse_2"); + var_00 = common_scripts\utility::flag("flag_lookat_highway_enemies_B"); + if(!common_scripts\utility::flag("flag_lookat_highway_enemies_B") && !common_scripts\utility::flag("flag_lookat_highway_enemies_B_behind")) + { + var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("traffic_enemy_suv_B1"); + } + else if(!common_scripts\utility::flag("flag_lookat_highway_enemies_B_behind")) + { + var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("traffic_enemy_suv_B1_ALT"); + } + else + { + var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("traffic_enemy_suv_B1_ALT_2"); + } + + var_01 maps\_vehicle::vehicle_set_health(3000); + var_01 soundscripts\_snd::snd_message("bus_chase_suv_oneshots"); + var_01 thread maps\lagos_utility::handle_vehicle_death(); + thread maps\_vehicle_traffic::add_script_car(var_01); +} + +//Function Number: 302 +traffic_suv_group_c() +{ + traffic_vehicle_start_check("trigger_enemy_suv_C","bus_traverse_2"); + var_00 = common_scripts\utility::flag("flag_lookat_highway_enemies_C"); + if(!common_scripts\utility::flag("flag_lookat_highway_enemies_C")) + { + var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("traffic_enemy_suv_C1"); + } + else + { + var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("traffic_enemy_suv_C1_ALT"); + } + + var_01 maps\_vehicle::vehicle_set_health(3000); + var_01 soundscripts\_snd::snd_message("bus_chase_suv_oneshots"); + var_01 thread maps\lagos_utility::handle_vehicle_death(); + thread maps\_vehicle_traffic::add_script_car(var_01); +} + +//Function Number: 303 +traffic_suv_group_d() +{ + traffic_vehicle_start_check("trigger_enemy_helicopter","bus_traverse_3"); + traffic_helicopter(); +} + +//Function Number: 304 +traffic_suv_group_e() +{ + traffic_vehicle_start_check("trigger_enemy_suv_E","bus_traverse_5"); + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("traffic_enemy_suv_E1"); + var_00 maps\_vehicle::vehicle_set_health(3000); + var_00 soundscripts\_snd::snd_message("bus_chase_suv_oneshots"); + var_00 thread maps\lagos_utility::handle_vehicle_death(); + var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("traffic_enemy_suv_E2"); + var_01 maps\_vehicle::vehicle_set_health(3000); + var_01 soundscripts\_snd::snd_message("bus_chase_suv_oneshots"); + var_01 thread maps\lagos_utility::handle_vehicle_death(); + thread maps\_vehicle_traffic::add_script_car(var_01); +} + +//Function Number: 305 +traffic_suv_takedown() +{ + level.player endon("death"); + common_scripts\utility::flag_wait("flag_begin_suv_takedown"); + maps\lagos_qte_middle::setup_vehicles_for_middle_takedown(); + var_00 = getent("KVA_0_middle_takedown","targetname") maps\_utility::spawn_ai(1); + var_01 = getent("KVA_1_middle_takedown","targetname") maps\_utility::spawn_ai(1); + var_02 = getent("KVA_3_middle_takedown","targetname") maps\_utility::spawn_ai(1); + var_00.ignoreall = 1; + var_01.ignoreall = 1; + var_02.ignoreall = 1; + var_00.animname = "KVA_0"; + var_01.animname = "KVA_1"; + var_02.animname = "KVA_3"; + var_01 thread maps\lagos_utility::challenge_point_award_on_damage(); + var_02 thread maps\lagos_utility::challenge_point_award_on_damage(); + var_03 = maps\_utility::spawn_anim_model("player_rig"); + var_04 = getent("anim_org_middle_takedown","targetname"); + thread maps\lagos_vo::highway_traffic_middle_takedown_dialogue(); + common_scripts\utility::flag_clear("flag_player_traversing_traffic"); + thread maps\lagos_qte_middle::takedown_qte_middle(var_04,var_00,var_01,var_02,var_03,level.player_bus,level.kva_truck); + wait(2); + if(isdefined(level.burke_middle_takedown)) + { + if(level.burke_middle_takedown) + { + var_05 = getnode("cover_bus_traverse_3","targetname"); + level.burke maps\_utility::teleport_ai(var_05); + } + } +} + +//Function Number: 306 +traffic_helicopter() +{ + level.helo = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("KVA_helicopter_1"); + level.helo maps\_vehicle::vehicle_set_health(4200); + level.helo endon("death"); + thread maps\lagos_vo::highway_traffic_helo_callout(); + level.vehicle_aianims["script_vehicle_littlebird_kva_armed"][2].explosion_death = %death_explosion_stand_f_v1; + level.vehicle_aianims["script_vehicle_littlebird_kva_armed"][3].explosion_death = %death_explosion_stand_f_v2; + level.vehicle_aianims["script_vehicle_littlebird_kva_armed"][4].explosion_death = %death_explosion_stand_f_v3; + level.vehicle_aianims["script_vehicle_littlebird_kva_armed"][5].explosion_death = %death_explosion_stand_f_v4; + level.vehicle_aianims["script_vehicle_littlebird_kva_armed"][6].explosion_death = %death_explosion_stand_f_v1; + level.vehicle_aianims["script_vehicle_littlebird_kva_armed"][7].explosion_death = %death_explosion_stand_f_v2; + level.helo soundscripts\_snd::snd_message("spawn_traffic_helicopter"); + var_00 = getent("heli_bullet_source_left","targetname"); + var_00 linkto(level.helo); + var_01 = getent("heli_bullet_source_right","targetname"); + var_01 linkto(level.helo); + level.burke.baseaccuracy = 0.05; + level.player maps\_utility::add_damage_function(::highway_veteran_helo_reduction); + wait(3); + level.helo thread traffic_helicopter_magic_bullet_fire(var_01,"flag_traffic_helicopter_stop_right"); + wait(4); + common_scripts\utility::flag_set("flag_traffic_helicopter_stop_right"); + wait(3); + level.helo thread traffic_helicopter_magic_bullet_fire(var_00,"flag_traffic_helicopter_stop_left"); + common_scripts\utility::flag_wait("flag_kill_helicopter"); + common_scripts\utility::flag_set("flag_traffic_helicopter_stop_left"); + if(isdefined(level.helo) || isalive(level.helo)) + { + level.helo notify("death"); + } + + level.player maps\_utility::remove_damage_function(::highway_veteran_helo_reduction); +} + +//Function Number: 307 +highway_veteran_helo_reduction(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + if(param_04 == "MOD_RIFLE_BULLET" && maps\_utility::getdifficulty() == "fu" || maps\_utility::getdifficulty() == "hard") + { + param_00 = level.player.maxhealth * 0.152 / level.player.damagemultiplier; + } +} + +//Function Number: 308 +traffic_helicopter_magic_bullet_fire(param_00,param_01) +{ + self endon("death"); + var_02 = 0; + var_03 = level.burke.origin; + while(!common_scripts\utility::flag(param_01)) + { + if(!isdefined(level.helo) || !isalive(level.helo) || isdefined(level.helo.crashing)) + { + return; + } + + if(var_02 == 0) + { + var_03 = level.burke.origin + 75 * anglestoright(level.burke.origin); + } + else if(var_02 == 1) + { + var_03 = level.burke.origin - 75 * anglestoright(level.burke.origin); + } + else if(var_02 == 2) + { + var_03 = level.player.origin + 75 * anglestoforward(level.burke.origin); + } + else if(var_02 == 3) + { + var_03 = level.burke.origin - 75 * anglestoforward(level.burke.origin); + } + else if(var_02 == 4) + { + var_03 = level.player.origin + 60 * anglestoup(level.player.angles); + } + else if(var_02 == 5) + { + var_03 = level.burke.origin + 75 * anglestoforward(level.burke.origin); + } + else if(var_02 == 6) + { + var_03 = level.burke.origin - 75 * anglestoright(level.burke.origin); + } + else if(var_02 == 7) + { + var_03 = level.player.origin - 75 * anglestoright(level.burke.origin); + } + else if(var_02 == 8) + { + var_03 = level.player.origin; + } + + magicbullet("iw5_bal27_sp",param_00.origin,var_03); + soundscripts\_snd::snd_message("chase_heli_fire"); + wait(0.15); + var_02++; + if(var_02 > 8) + { + var_02 = 0; + } + } +} + +//Function Number: 309 +traffic_takedown() +{ + common_scripts\utility::flag_wait("flag_bus_traverse_5_start_takedown"); + thread maps\lagos_lighting::ramp_down_motion_blur(); + if(isdefined("traffic_weapons")) + { + level.player maps\_utility::restore_players_weapons("traffic_weapons"); + } + + thread maps\_player_exo::player_exo_deactivate(); + thread maps\lagos_vo::highway_traffic_takedown_dialogue(); + var_00 = getent("anim_org_takedown","targetname"); + var_01 = maps\_utility::spawn_anim_model("player_rig",(-7582.65,53106.6,1405.83),(0,209.996,0)); + var_01 hide(); + if(!common_scripts\utility::flag("takedown_playerstart")) + { + level waittill("bus_jump_player_landed"); + level.player notify("exo_jump_process_end"); + level.bus_5_hop_blocker_a delete(); + level.bus_5_hop_blocker_b delete(); + thread maps\lagos_utility::start_end_takedown_highway_path_player_side(); + var_00 maps\lagos_qte::setup_vehicles_for_takedown(); + var_00 maps\_anim::anim_first_frame_solo(level.hostage_truck,"hostage_truck_takedown_pt1"); + level.player unlink(); + var_01.origin = getstartorigin(level.hostage_truck gettagorigin("tag_body"),level.hostage_truck gettagangles("tag_body"),var_01 maps\_utility::getanim("hostage_truck_takedown_pt0")); + var_01 dontcastshadows(); + level.hostage_truck maps\_anim::anim_first_frame_solo(var_01,"hostage_truck_takedown_pt0","tag_body"); + var_00 maps\_anim::anim_first_frame_solo(level.final_bus,"hostage_truck_takedown_pt1"); + var_01 linkto(level.hostage_truck,"tag_body"); + level.player setorigin(var_01 gettagorigin("tag_player")); + level.player playerlinktoabsolute(var_01,"tag_player"); + var_01 show(); + level.hostage_truck thread maps\_anim::anim_single_solo(var_01,"hostage_truck_takedown_pt0","tag_body"); + var_02 = getanimlength(var_01 maps\_utility::getanim("hostage_truck_takedown_pt0")); + level.player common_scripts\utility::delaycall(var_02,::unlink); + var_01 common_scripts\utility::delaycall(var_02,::hide); + level.player maps\_utility::delaythread(var_02,::maps\_shg_utility::setup_player_for_gameplay); + earthquake(1,0.5,level.player.origin,10000); + if(isdefined(level.jumping_rig)) + { + level.jumping_rig delete(); + } + } + else + { + var_00 maps\lagos_qte::setup_vehicles_for_takedown(); + } + + var_01 show(); + level.player notifyonplayercommandremove("exo_jump_button","+gostand"); + if(!common_scripts\utility::flag("takedown_playerstart")) + { + thread maps\_utility::autosave_now_silent(); + var_03 = []; + var_03[var_03.size] = level.final_bus; + var_03[var_03.size] = level.hostage_truck; + var_00 thread maps\_anim::anim_single_solo(level.final_bus,"hostage_truck_takedown_pt1"); + var_00 thread traffic_traverse_final_takedown_truck_start(level.hostage_truck); + level.burke thread traffic_traverse_final_takedown_burke_start(); + thread traffic_traverse_final_takedown_start_player_input(); + common_scripts\utility::flag_wait("flag_highway_final_takedown_started"); + } + else + { + common_scripts\utility::flag_set("flag_highway_final_takedown_started"); + } + + setsaveddvar("g_friendlynamedist",0); + common_scripts\utility::flag_clear("flag_player_traversing_traffic"); + if(!isdefined(level.burke)) + { + level.burke = getent("burke_takedown","targetname") maps\_utility::spawn_ai(1,1); + } + + var_04 = getent("KVA_1_takedown","targetname") maps\_utility::spawn_ai(1); + var_05 = getent("KVA_2_takedown","targetname") maps\_utility::spawn_ai(1); + level.hostage_1 = getent("hostage_1_takedown","targetname") maps\_utility::spawn_ai(1,1); + var_06 = getent("hostage_2_takedown","targetname") maps\_utility::spawn_ai(1,1); + var_07 = getent("hostage_3_takedown","targetname") maps\_utility::spawn_ai(1,1); + var_08 = getent("oncoming_driver_takedown","targetname") maps\_utility::spawn_ai(1); + var_06.ignoreall = 1; + var_07.ignoreall = 1; + var_06.ignoreme = 1; + var_07.ignoreme = 1; + var_04 maps\_utility::gun_remove(); + var_05 maps\_utility::gun_remove(); + var_04 maps\_utility::place_weapon_on("iw5_kf5_sp","right"); + var_05 maps\_utility::place_weapon_on("iw5_kf5_sp","right"); + var_04.weapon = "iw5_kf5_sp"; + var_05.weapon = "iw5_kf5_sp"; + level.burke.ignoreall = 1; + level.burke.animname = "burke"; + var_04.animname = "KVA_1"; + var_05.animname = "KVA_2"; + level.hostage_1.animname = "hostage_1"; + var_06.animname = "hostage_2"; + var_07.animname = "hostage_3"; + var_08.animname = "oncoming_driver"; + var_04.ignoreall = 1; + var_05.ignoreall = 1; + var_04.health = 1; + var_05.health = 1; + var_04 thread maps\lagos_utility::challenge_point_award_on_damage(); + var_05 thread maps\lagos_utility::challenge_point_award_on_damage(); + maps\lagos_utility::disable_exo_for_highway(); + thread maps\lagos_qte::takedown_qte(var_00,level.burke,var_04,var_05,level.hostage_1,var_06,var_07,var_08,var_01,level.hostage_truck,level.hostage_truck_oncoming); + level waittill("swimming_start"); + common_scripts\utility::flag_set("obj_progress_pursue_hostage_truck_highway_swim"); + thread enable_player_swimming(); + thread lagos_player_swimming_pt1(); + thread lagos_player_swimming_pt2(); + level waittill("swimming_fade"); + level.player enableinvulnerability(); + var_09 = 3; + thread maps\_hud_util::fade_out(var_09,"black"); + var_01 common_scripts\utility::delaycall(var_09,::delete); + thread shore_pcap(); + maps\_utility::notify_delay("swimming_end",var_09); +} + +//Function Number: 310 +traffic_traverse_final_takedown_truck_start(param_00) +{ + level endon("flag_player_hold_on"); + level endon("flag_highway_final_takedown_started"); + thread maps\_anim::anim_single_solo(param_00,"hostage_truck_takedown_pt1"); + param_00 thread wheel_for_hostage_car(); + level waittill("hostage_truck_takedown_pt1_fail"); + level notify("traffic_traverse_final_takedown_jump_failed"); + setdvar("ui_deadquote",&"LAGOS_BUS_JUMP_FAILED"); + thread maps\_utility::missionfailedwrapper(); +} + +//Function Number: 311 +traffic_traverse_final_takedown_burke_start() +{ + level endon("flag_player_hold_on"); + level.burke linkto(level.hostage_truck,"tag_body"); + level.hostage_truck maps\_anim::anim_single_solo(level.burke,"lag_truck_takedown_pt1_into","tag_body"); + level.player.jump_state = 0; + level.hostage_truck maps\_anim::anim_loop_solo(level.burke,"lag_truck_takedown_pt1_burke_loop",undefined,"tag_body"); +} + +//Function Number: 312 +traffic_traverse_final_takedown_start_player_input() +{ + var_00 = 600; + common_scripts\utility::run_thread_on_targetname("trigger_player_ready_for_final_takedown",::traffic_traverse_final_takedown_start_player_validation,var_00); + var_01 = level.hostage_truck maps\_shg_utility::hint_button_tag("a","tag_mirror_right",900,900); + common_scripts\utility::flag_wait("flag_highway_final_takedown_started"); + soundscripts\_snd::snd_message("final_takedown_abutton_hit"); + thread maps\lagos_lighting::ramp_up_motion_blur(); + var_01 maps\_shg_utility::hint_button_clear(); +} + +//Function Number: 313 +traffic_traverse_final_takedown_start_player_validation(param_00) +{ + level.player notifyonplayercommand("final_takedown_jump","+gostand"); + level endon("flag_highway_final_takedown_started"); + level endon("traffic_traverse_final_takedown_jump_failed"); + for(;;) + { + while(!level.player isonground()) + { + wait(0.05); + } + + level.player waittill("final_takedown_jump"); + if(traffic_player_hostage_truck_jump_passed(param_00)) + { + common_scripts\utility::flag_set("flag_highway_final_takedown_started"); + } + } +} + +//Function Number: 314 +traffic_player_hostage_truck_jump_passed(param_00) +{ + if(level.player worldpointinreticle_circle(level.hostage_truck.origin + (0,0,72),65,500)) + { + if(distance(level.player.origin,level.hostage_truck.origin) <= param_00) + { + if(level.player getnormalizedmovement()[0] > 0.5) + { + if(common_scripts\utility::flag("flag_traffic_final_takedown_trigger_in")) + { + return 1; + } + } + } + } + + return 0; +} + +//Function Number: 315 +shore_pcap(param_00) +{ + common_scripts\utility::flag_set("obj_complete_pursue_hostage_truck"); + thread maps\_player_exo::player_exo_deactivate(); + level.player enableslowaim(0.2,0.2); + if(isdefined(param_00)) + { + wait(param_00); + } + else + { + wait(6); + } + + var_01 = 55; + level.player lerpfov(var_01,0.1); + if(!isdefined(level.burke)) + { + level.burke = getent("burke_takedown","targetname") maps\_utility::spawn_ai(1,1); + } + + if(!isdefined(level.hostage_1)) + { + level.hostage_1 = getent("hostage_1_takedown","targetname") maps\_utility::spawn_ai(1); + } + + var_02 = getent("joker_takedown","targetname") maps\_utility::spawn_ai(1,1); + var_03 = getent("ajani_takedown","targetname") maps\_utility::spawn_ai(1,1); + var_02.animname = "joker"; + var_03.animname = "ajani"; + level.hostage_1.animname = "hostage_1"; + var_04 = maps\_utility::spawn_anim_model("player_rig"); + level.player maps\_shg_utility::setup_player_for_scene(); + var_05 = getent("anim_org_takedown","targetname"); + thread maps\_hud_util::fade_in(3,"black"); + thread maps\lagos_vo::pcap_shore_outro(); + var_06 = [level.burke,var_02,var_03,var_04,level.hostage_1]; + level.player playerlinktodelta(var_04,"tag_player",1,7,7,5,5,1); + wait 0.05; + soundscripts\_snd::snd_message("shore_ending"); + level.hostage_1 attach("npc_bal27_nocamo","TAG_WEAPON_RIGHT",0); + var_05 thread maps\_anim::anim_single(var_06,"hostage_truck_takedown_pt5"); + thread maps\lagos_fx::vfx_shore_outro_start(); + common_scripts\utility::flag_set("shoreline_lighting"); + maps\lagos_utility::prep_cinematic("fusion_endlogo"); + wait(30); + var_07 = 2; + thread maps\lagos_utility::ending_fade_out(var_07); + thread maps\_utility::battlechatter_off("allies"); + thread maps\_utility::battlechatter_off("axis"); + wait(var_07); + level.player freezecontrols(1); + level.player unlink(); + var_04 delete(); + maps\_utility::nextmission(); +} + +//Function Number: 316 +enable_player_swimming() +{ + thread disable_player_swimming(); + level.player disableweapons(); + level.player disableinvulnerability(); +} + +//Function Number: 317 +disable_player_swimming() +{ + level waittill("swimming_end"); +} + +//Function Number: 318 +lagos_player_swimming_pt1() +{ + level waittill("latch_opened"); + level notify("pry_check_success"); + level notify("swimming_saved"); +} + +//Function Number: 319 +lagos_player_swimming_pt2() +{ + level waittill("swimming_saved"); + common_scripts\utility::flag_wait("player_swimming_end"); + level notify("swimming_shore"); +} + +//Function Number: 320 +lagos_player_swimming_truck_anims() +{ + wait 0.05; +} + +//Function Number: 321 +hostage_truck_swimming_drowning_monitor(param_00) +{ + level endon("swimming_saved"); + level endon("swimming_shore"); + wait(15); + for(var_01 = 0;!common_scripts\utility::flag(param_00);var_01++) + { + level.player dodamage(10,level.player.origin); + if(var_01 == 1 || var_01 == 4 || var_01 == 8) + { + } + + wait(1); + } +} + +//Function Number: 322 +traffic_traverse_fail_check() +{ + level.player endon("death"); + var_00 = 1210000; + while(common_scripts\utility::flag("flag_player_traversing_traffic") && isdefined(level.bus_jump_count)) + { + if(distance2dsquared(level.player.origin,level.burke.origin) > var_00) + { + if(level.bus_jump_count > 1 && !common_scripts\utility::flag("flag_bus_traverse_" + level.bus_jump_count + "_burke")) + { + traffic_burke_recover_failed_jump(); + } + } + + if(distance2dsquared(level.player.origin,level.burke.origin) > var_00) + { + common_scripts\utility::flag_clear("flag_player_traversing_traffic"); + setdvar("ui_deadquote",&"LAGOS_BUS_JUMP_FAILED"); + maps\_utility::missionfailedwrapper(); + } + + wait(0.25); + } +} + +//Function Number: 323 +player_upkeep() +{ + level.player givemaxammo("iw5_bal27_sp_variablereddot"); +} + +//Function Number: 324 +level_bounds() +{ + thread level_bounds_nag(); + thread level_bounds_fail(); +} + +//Function Number: 325 +level_bounds_nag() +{ + var_00 = 0; + for(;;) + { + if(common_scripts\utility::flag("flag_level_bounds_nag")) + { + while(common_scripts\utility::flag("flag_level_bounds_nag")) + { + thread maps\lagos_vo::level_bounds_nag_vo(var_00); + thread maps\lagos_utility::hint_instant(&"LAGOS_BOUNDS_WARNING",8); + wait(8); + var_00++; + if(var_00 > 2) + { + var_00 = 0; + } + } + } + + wait 0.05; + } +} + +//Function Number: 326 +level_bounds_fail() +{ + for(;;) + { + if(common_scripts\utility::flag("flag_level_bounds_fail")) + { + level notify("level_bounds_fail"); + setdvar("ui_deadquote",&"LAGOS_BOUNDS_FAIL"); + maps\_utility::missionfailedwrapper(); + return; + } + + wait(1); + } +} + +//Function Number: 327 +level_progress() +{ + thread level_progress_exodoor(); + thread level_progress_monorail(); + thread level_progress_govexit(); + thread level_progress_roundaboutcombat(); + thread level_progress_alley1combat(); + thread level_progress_oncomingcombat(); + thread level_progress_flankcombat(); + thread level_progress_froggercombat(); + thread level_progress_froggercomplete(); +} + +//Function Number: 328 +level_progress_nag(param_00) +{ + var_01 = 0; + for(;;) + { + if(common_scripts\utility::flag(param_00)) + { + while(common_scripts\utility::flag(param_00)) + { + thread maps\lagos_vo::level_bounds_nag_vo(var_01); + thread maps\lagos_utility::hint_instant(&"LAGOS_BOUNDS_WARNING",8); + wait(8); + var_01++; + if(var_01 > 2) + { + var_01 = 0; + } + } + } + + wait 0.05; + } +} + +//Function Number: 329 +level_progress_fail(param_00) +{ + level endon("level_bounds_fail"); + for(;;) + { + if(common_scripts\utility::flag(param_00)) + { + wait 0.05; + setdvar("ui_deadquote",&"LAGOS_BOUNDS_FAIL"); + maps\_utility::missionfailedwrapper(); + return; + } + + wait(1); + } +} + +//Function Number: 330 +level_progress_exodoor() +{ + var_00 = getent("level_progress_exoDoor_nag","targetname"); + var_01 = getent("level_progress_exoDoor_fail","targetname"); + var_00 common_scripts\utility::trigger_off(); + var_01 common_scripts\utility::trigger_off(); + common_scripts\utility::flag_wait("flag_level_progress_exoDoor"); + wait(2); + var_00 common_scripts\utility::trigger_on(); + var_01 common_scripts\utility::trigger_on(); + thread level_progress_nag("flag_level_progress_exoDoor_nag"); + thread level_progress_fail("flag_level_progress_exoDoor_fail"); +} + +//Function Number: 331 +level_progress_monorail() +{ + var_00 = getent("level_progress_monorail_nag","targetname"); + var_01 = getent("level_progress_monorail_fail","targetname"); + var_00 common_scripts\utility::trigger_off(); + var_01 common_scripts\utility::trigger_off(); + common_scripts\utility::flag_wait("flag_level_progress_monorail"); + wait(2); + var_00 common_scripts\utility::trigger_on(); + var_01 common_scripts\utility::trigger_on(); + thread level_progress_nag("flag_level_progress_monorail_nag"); + thread level_progress_fail("flag_level_progress_monorail_fail"); +} + +//Function Number: 332 +level_progress_govexit() +{ + var_00 = getent("level_progress_govExit_nag","targetname"); + var_01 = getent("level_progress_govExit_fail","targetname"); + var_00 common_scripts\utility::trigger_off(); + var_01 common_scripts\utility::trigger_off(); + common_scripts\utility::flag_wait("flag_level_progress_govExit"); + var_00 common_scripts\utility::trigger_on(); + var_01 common_scripts\utility::trigger_on(); + thread level_progress_nag("flag_level_progress_govExit_nag"); + thread level_progress_fail("flag_level_progress_govExit_fail"); +} + +//Function Number: 333 +level_progress_roundaboutcombat() +{ + var_00 = getent("level_progress_roundaboutCombat_nag","targetname"); + var_01 = getent("level_progress_roundaboutCombat_fail","targetname"); + var_02 = getent("level_progress_roundaboutCombat_bypass_nag","targetname"); + var_03 = getent("level_progress_roundaboutCombat_bypass_fail","targetname"); + var_00 common_scripts\utility::trigger_off(); + var_01 common_scripts\utility::trigger_off(); + var_02 common_scripts\utility::trigger_off(); + var_03 common_scripts\utility::trigger_off(); + common_scripts\utility::flag_wait("flag_level_progress_roundaboutCombat"); + var_00 common_scripts\utility::trigger_on(); + var_01 common_scripts\utility::trigger_on(); + var_02 common_scripts\utility::trigger_on(); + var_03 common_scripts\utility::trigger_on(); + thread level_progress_nag("flag_level_progress_roundaboutCombat_nag"); + thread level_progress_fail("flag_level_progress_roundaboutCombat_fail"); + thread level_progress_nag("flag_level_progress_roundaboutCombat_bypass_nag"); + thread level_progress_fail("flag_level_progress_roundaboutCombat_bypass_fail"); + common_scripts\utility::flag_wait("obj_progress_find_hostage_truck_roundabout_complete"); + var_02 common_scripts\utility::trigger_off(); + var_03 common_scripts\utility::trigger_off(); +} + +//Function Number: 334 +level_progress_alley1combat() +{ + var_00 = getent("level_progress_alley1Combat_nag","targetname"); + var_01 = getent("level_progress_alley1Combat_fail","targetname"); + var_00 common_scripts\utility::trigger_off(); + var_01 common_scripts\utility::trigger_off(); + common_scripts\utility::flag_wait("flag_level_progress_alley1Combat"); + common_scripts\utility::flag_wait("flag_level_progress_alley1Combat_squad"); + var_00 common_scripts\utility::trigger_on(); + var_01 common_scripts\utility::trigger_on(); + thread level_progress_nag("flag_level_progress_alley1Combat_nag"); + thread level_progress_fail("flag_level_progress_alley1Combat_fail"); +} + +//Function Number: 335 +level_progress_oncomingcombat() +{ + var_00 = getent("level_progress_oncomingCombat_nag","targetname"); + var_01 = getent("level_progress_oncomingCombat_fail","targetname"); + var_00 common_scripts\utility::trigger_off(); + var_01 common_scripts\utility::trigger_off(); + common_scripts\utility::flag_wait("oncoming_alley_player_pos"); + var_00 common_scripts\utility::trigger_on(); + var_01 common_scripts\utility::trigger_on(); + thread level_progress_nag("flag_level_progress_oncomingCombat_nag"); + thread level_progress_fail("flag_level_progress_oncomingCombat_fail"); +} + +//Function Number: 336 +level_progress_flankcombat() +{ + var_00 = getent("level_progress_flankCombat_nag","targetname"); + var_01 = getent("level_progress_flankCombat_fail","targetname"); + var_00 common_scripts\utility::trigger_off(); + var_01 common_scripts\utility::trigger_off(); + common_scripts\utility::flag_wait("flag_level_progress_flankCombat"); + var_00 common_scripts\utility::trigger_on(); + var_01 common_scripts\utility::trigger_on(); + thread level_progress_nag("flag_level_progress_flankCombat_nag"); + thread level_progress_fail("flag_level_progress_flankCombat_fail"); +} + +//Function Number: 337 +level_progress_froggercombat() +{ + var_00 = getent("level_progress_froggerCombat_nag","targetname"); + var_01 = getent("level_progress_froggerCombat_fail","targetname"); + var_00 common_scripts\utility::trigger_off(); + var_01 common_scripts\utility::trigger_off(); + common_scripts\utility::flag_wait("flag_level_progress_froggerCombat"); + var_00 common_scripts\utility::trigger_on(); + var_01 common_scripts\utility::trigger_on(); + thread level_progress_nag("flag_level_progress_froggerCombat_nag"); + thread level_progress_fail("flag_level_progress_froggerCombat_fail"); +} + +//Function Number: 338 +level_progress_froggercomplete() +{ + var_00 = getent("level_progress_froggerComplete_nag","targetname"); + var_01 = getent("level_progress_froggerComplete_fail","targetname"); + var_00 common_scripts\utility::trigger_off(); + var_01 common_scripts\utility::trigger_off(); + common_scripts\utility::flag_wait("flag_level_progress_froggerComplete"); + var_00 common_scripts\utility::trigger_on(); + var_01 common_scripts\utility::trigger_on(); + thread level_progress_nag("flag_level_progress_froggerComplete_nag"); + thread level_progress_fail("flag_level_progress_froggerComplete_fail"); +} + +//Function Number: 339 +notetrack_gov_wall_climb_intro_right_start(param_00) +{ + level.player playrumbleonentity("damage_light"); +} + +//Function Number: 340 +notetrack_gov_wall_climb_intro_left_start(param_00) +{ + level.player playrumbleonentity("damage_light"); +} + +//Function Number: 341 +notetrack_gov_wall_climb_intro_right_plant(param_00) +{ + level.player playrumbleonentity("artillery_rumble"); +} + +//Function Number: 342 +notetrack_gov_wall_climb_intro_left_plant(param_00) +{ + level.player playrumbleonentity("artillery_rumble"); +} + +//Function Number: 343 +notetrack_roof_breach_medium(param_00) +{ + level.player playrumbleonentity("damage_heavy"); +} + +//Function Number: 344 +notetrack_roof_breach_small(param_00) +{ + level.player playrumbleonentity("damage_light"); + wait(4); + level.player playrumbleonentity("damage_heavy"); +} + +//Function Number: 345 +notetrack_roof_breach_large(param_00) +{ + wait(0.5); + level.player playrumbleonentity("artillery_rumble"); +} + +//Function Number: 346 +notetrack_roof_breach_land(param_00) +{ + level.player playrumbleonentity("artillery_rumble"); +} + +//Function Number: 347 +notetrack_h_breach_small(param_00) +{ + level.player playrumbleonentity("damage_light"); +} + +//Function Number: 348 +notetrack_gov_rescue_handcuffs(param_00) +{ + level.player playrumbleonentity("damage_light"); +} + +//Function Number: 349 +notetrack_highway_bus_land_from_ledge(param_00) +{ + level.player playrumbleonentity("artillery_rumble"); +} + +//Function Number: 350 +notetrack_highway_jump_land(param_00) +{ + level.player playrumbleonentity("artillery_rumble"); +} + +//Function Number: 351 +notetrack_middle_takedown_grab_side(param_00) +{ + wait(0.1); + level.player playrumbleonentity("damage_heavy"); +} + +//Function Number: 352 +notetrack_middle_takedown_truck_swipe(param_00) +{ + common_scripts\utility::flag_wait("flag_player_dodge"); + wait(0.25); + level.player playrumbleonentity("artillery_rumble"); +} + +//Function Number: 353 +notetrack_middle_takedown_jump_to_truck(param_00) +{ + common_scripts\utility::flag_wait("flag_player_jump"); + level.player playrumbleonentity("damage_light"); +} + +//Function Number: 354 +notetrack_middle_takedown_land_on_truck(param_00) +{ + common_scripts\utility::flag_wait("flag_player_jump"); + wait(1.25); + level.player playrumbleonentity("artillery_rumble"); +} + +//Function Number: 355 +notetrack_middle_takedown_punch_window(param_00) +{ + common_scripts\utility::flag_wait("flag_player_pull_windshield"); + wait(0.25); + level.player playrumbleonentity("artillery_rumble"); + rumble_middle_takedown_throw_guy(); +} + +//Function Number: 356 +rumble_middle_takedown_throw_guy() +{ + wait(1.5); + level.player playrumbleonentity("damage_heavy"); + wait(2); + level.player playrumbleonentity("artillery_rumble"); +} + +//Function Number: 357 +notetrack_middle_takedown_jump_to_bus(param_00) +{ + common_scripts\utility::flag_wait("flag_player_jump2"); + level.player playrumbleonentity("damage_light"); +} + +//Function Number: 358 +notetrack_middle_takedown_land_on_bus(param_00) +{ + common_scripts\utility::flag_wait("flag_player_jump2"); + wait(1.5); + level.player playrumbleonentity("artillery_rumble"); +} + +//Function Number: 359 +notetrack_highway_final_td_mirror_snap_and_drag(param_00) +{ + level.player playrumbleonentity("damage_heavy"); + wait(1); + level.player playrumbleonentity("artillery_rumble"); +} + +//Function Number: 360 +notetrack_highway_final_td_suv_collision(param_00) +{ + level.player playrumbleonentity("artillery_rumble"); +} + +//Function Number: 361 +notetrack_highway_final_td_truck_rail_impact(param_00) +{ + level.player playrumbleonentity("damage_heavy"); + wait(0.4); + level.player playrumbleonentity("artillery_rumble"); +} + +//Function Number: 362 +notetrack_highway_final_td_truck_water_impact(param_00) +{ + wait(0.7); + level.player playrumbleonentity("artillery_rumble"); +} \ No newline at end of file diff --git a/AW/PC/maps/lagos_fx.gsc b/AW/PC/maps/lagos_fx.gsc new file mode 100644 index 0000000..c99bece --- /dev/null +++ b/AW/PC/maps/lagos_fx.gsc @@ -0,0 +1,1159 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: lagos_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 75 + * Decompile Time: 1076 ms + * Timestamp: 4/22/2024 2:33:45 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + precachefx(); + set_lighting_values(); + if(!getdvarint("r_reflectionProbeGenerate")) + { + maps\createfx\lagos_fx::main(); + } + + if(!isdefined(level.createfxent)) + { + level.createfxent = []; + } + + maps\_shg_fx::setup_shg_fx(); + init_smvals(); + common_scripts\utility::flag_init("flag_roundabout_spawn_vehicles"); + common_scripts\utility::flag_init("roundabout_combat_begin"); + common_scripts\utility::flag_init("roundabout_tanker_flash"); + common_scripts\utility::flag_init("tanker_explosion_done"); + common_scripts\utility::flag_init("kill_roundabout_flames"); + common_scripts\utility::flag_init("roundabout_combat_begin"); + common_scripts\utility::flag_init("alley1_oncoming_start"); + thread maps\_shg_fx::fx_zone_watcher(1000,"msg_fx_zone1_overpass"); + thread maps\_shg_fx::fx_zone_watcher(2000,"msg_fx_zone2_train_station"); + thread maps\_shg_fx::fx_zone_watcher(3000,"msg_fx_zone3_train_rooftop_entry","msg_fx_zone3b_train_rooftop_entry"); + thread maps\_shg_fx::fx_zone_watcher(4000,"msg_fx_zone4_government_building","msg_fx_zone4b_gov_building_exit"); + thread maps\_shg_fx::fx_zone_watcher(5000,"msg_fx_zone5_gov_back_street","msg_fx_zone3_train_rooftop_entry"); + thread maps\_shg_fx::fx_zone_watcher(6000,"msg_fx_zone6_roundabout"); + thread maps\_shg_fx::fx_zone_watcher(7000,"msg_fx_zone7_alley1","msg_fx_zone7b_alley1"); + thread maps\_shg_fx::fx_zone_watcher(8000,"msg_fx_zone8_recreationcenter","msg_fx_zone8b_recreationcenter"); + thread maps\_shg_fx::fx_zone_watcher(9000,"msg_fx_zone9a_market","msg_fx_zone9b_market"); + thread maps\_shg_fx::fx_zone_watcher(10000,"msg_fx_zone10a_froggercrossing","msg_fx_zone10b_froggercrossing"); + thread maps\_shg_fx::fx_zone_watcher(11000,"msg_fx_zone11a_freeway_start","msg_fx_zone11b_freeway_start"); + thread maps\_shg_fx::fx_zone_watcher(12000,"msg_fx_zone12_tunnel"); + thread maps\_shg_fx::fx_zone_watcher(13000,"msg_fx_zone13a_bus_takedown","msg_fx_zone13a_bus_takedown"); + thread maps\_shg_fx::fx_zone_watcher(14000,"msg_fx_zone14a_coast","msg_fx_zone14b_coast_van_transition"); + thread maps\_shg_fx::fx_zone_watcher(15000,"msg_fx_zone15a_van_takedown","msg_fx_zone15a_van_takedown","msg_fx_zone16_finale_underwater"); + thread maps\_shg_fx::fx_zone_watcher(16000,"msg_fx_zone16_finale_underwater"); + thread dust_settle_squad_intro(); + thread pigeons_rail_react_intro(); + thread pigeons_camera_view_zone3000(); + thread pigeons_ledges_react_roundabout(); + thread pigeons_flock_takeoff(); + thread pigeons_flyoff_alley1(); + thread vista_pigeons_alley1_market(); +} + +//Function Number: 2 +init_smvals() +{ + setsaveddvar("fx_alphathreshold",7); +} + +//Function Number: 3 +precachefx() +{ + level._effect["flesh_hit"] = loadfx("vfx/weaponimpact/flesh_impact_body_fatal_exit"); + level._effect["tram_dust"] = loadfx("vfx/dust/dust_falling_subtle_tram_runner"); + level._effect["tram_sparks"] = loadfx("vfx/map/lagos/lag_tram_spark_runner"); + level._effect["gun_flash_kva_intro"] = loadfx("vfx/map/lagos/lag_intro_gun_flash"); + level._effect["gun_blood_impact_kva_intro"] = loadfx("vfx/map/lagos/lag_intro_gun_blood_impact"); + level._effect["gun_blood_splash_decal_kva_intro"] = loadfx("vfx/map/lagos/lag_intro_gun_blood_splat_place"); + level._effect["gun_blood_pool_decal_kva_intro"] = loadfx("vfx/map/lagos/lag_intro_gun_blood_pool_place"); + level._effect["blood_drip_sml_runner_edge_slw"] = loadfx("vfx/blood/blood_drip_sml_runner_edge_slw"); + level._effect["flies_intro_conf"] = loadfx("vfx/map/lagos/lag_intro_flies_conf"); + level._effect["heli_dust_settle_10s"] = loadfx("vfx/dust/heli_dust_settle_10s"); + level._effect["smoke_chimney_small_dark"] = loadfx("vfx/smoke/smoke_chimney_small_dark"); + level._effect["spark_exo_door_fast_sm"] = loadfx("vfx/sparks/spark_exo_door_fast_sm"); + level._effect["door_exo_breach_impact"] = loadfx("vfx/explosion/door_exo_breach_impact"); + level._effect["exo_door_hinge_piece"] = loadfx("vfx/props/exo_door_hinge_piece"); + level._effect["exo_door_impact_kick_dust"] = loadfx("vfx/dust/exo_door_impact_kick_dust"); + level._effect["exo_r_gloves_engage_slow"] = loadfx("vfx/ui/exo_r_gloves_engage_slow"); + level._effect["exo_l_gloves_engage_slow"] = loadfx("vfx/ui/exo_l_gloves_engage_slow"); + level._effect["exo_r_gloves_disengage"] = loadfx("vfx/ui/exo_r_gloves_disengage"); + level._effect["exo_l_gloves_disengage"] = loadfx("vfx/ui/exo_l_gloves_disengage"); + level._effect["dust_mag_r_glove_impact"] = loadfx("vfx/dust/dust_mag_r_glove_impact"); + level._effect["dust_mag_l_glove_impact"] = loadfx("vfx/dust/dust_mag_l_glove_impact"); + level._effect["lab_mute_device_plant_vm"] = loadfx("vfx/map/lab/lab_mute_device_plant_vm"); + level._effect["lab_mute_area_distort_player_view"] = loadfx("vfx/map/lab/lab_mute_area_distort_player_view"); + level._effect["lab_mute_device_lights"] = loadfx("vfx/map/lab/lab_mute_device_lights"); + level._effect["mute_breach_distort_vm_enter"] = loadfx("vfx/props/mute_breach_distort_vm_enter"); + level._effect["mute_breach_distort_vm_exit"] = loadfx("vfx/props/mute_breach_distort_vm_exit"); + level._effect["roof_breach_device_laser"] = loadfx("vfx/props/roof_breach_device_laser"); + level._effect["roof_breach_device_radial_blast_charges"] = loadfx("vfx/props/roof_breach_device_radial_blast_charges"); + level._effect["roof_breach_device_laser_cut_fast"] = loadfx("vfx/props/roof_breach_device_laser_cut_fast"); + level._effect["ground_concrete_breach_explosion"] = loadfx("vfx/map/lagos/lag_roof_breach_explosion"); + level._effect["ground_concrete_breach_burst_sml"] = loadfx("vfx/explosion/ground_concrete_breach_burst_sml"); + level._effect["ground_concrete_breach_burst_med"] = loadfx("vfx/explosion/ground_concrete_breach_burst_med"); + level._effect["ground_concrete_breach_burst_lrg"] = loadfx("vfx/explosion/ground_concrete_breach_burst_lrg"); + level._effect["dust_falling_edge_thick"] = loadfx("vfx/dust/dust_falling_edge_thick"); + level._effect["dust_falling_edge_light"] = loadfx("vfx/dust/dust_falling_edge_light"); + level._effect["dust_radial_spread_ground"] = loadfx("vfx/dust/dust_radial_spread_ground"); + level._effect["dust_radial_lingering"] = loadfx("vfx/dust/dust_radial_lingering_single"); + level._effect["dust_linger_shaft_slw_lp"] = loadfx("vfx/dust/dust_linger_shaft_slw_lp"); + level._effect["dust_falling_single_ceiling_tile"] = loadfx("vfx/dust/dust_falling_single_ceiling_tile"); + level._effect["lag_harmonic_breach_strip_single"] = loadfx("vfx/map/lagos/lag_harmonic_breach_strip_single"); + level._effect["lag_harmonic_breach_strip_single_off"] = loadfx("vfx/map/lagos/lag_harmonic_breach_strip_single_off"); + level._effect["lag_harmonic_breach_strip_single_flash"] = loadfx("vfx/map/lagos/lag_harmonic_breach_strip_single_flash"); + level._effect["lag_harmonic_breach_strip_single_bar_lp"] = loadfx("vfx/map/lagos/lag_harmonic_breach_strip_single_bar_lp"); + level._effect["lag_harmonic_breach_on_flash"] = loadfx("vfx/map/lagos/lag_harmonic_breach_on_flash"); + level._effect["lag_harmonic_breach_on_lp"] = loadfx("vfx/map/lagos/lag_harmonic_breach_on_lp"); + level._effect["lag_harmonic_breach_bullet_decal_1"] = loadfx("vfx/map/lagos/lag_hbreach_wood_decal_spawner"); + level._effect["lag_harmonic_breach_bullet_decal_2"] = loadfx("vfx/map/lagos/lag_hbreach_wood_decal_spawner"); + level._effect["lag_harmonic_breach_bullet_decal_3"] = loadfx("vfx/map/lagos/lag_hbreach_wood_decal_spawner"); + level._effect["lag_harmonic_breach_bullet_decal_4"] = loadfx("vfx/map/lagos/lag_hbreach_wood_decal_spawner"); + level._effect["lag_pm_handcuff_break"] = loadfx("vfx/map/lagos/lag_pm_handcuff_break"); + level._effect["roundabout_tanker_explosion_1"] = loadfx("vfx/map/lagos/lag_roundabout_tanker_explosion"); + level._effect["lag_roundabout_tanker_fireball_shockwave"] = loadfx("vfx/map/lagos/lag_roundabout_tanker_fireball_shockwave"); + level._effect["roundabout_tanker_explosion_smoke_fade_lp"] = loadfx("vfx/map/lagos/lag_roundabout_tanker_smk_fade_lp"); + level._effect["smk_low_linger_lp"] = loadfx("vfx/map/lagos/lag_smk_low_linger_lp"); + level._effect["molten_drip_med"] = loadfx("vfx/map/lagos/lag_fire_molten_drip_directional_med"); + level._effect["balcony_fire_lg"] = loadfx("vfx/map/lagos/lag_fire_balcony_lrg"); + level._effect["oil_spill_fire_lp_low"] = loadfx("vfx/map/sanfran_a/sfa_oil_spill_fire_lp_low"); + level._effect["oil_spill_fire_lp_tall"] = loadfx("vfx/map/lagos/lag_roundabout_fire_mid_lp"); + level._effect["fire_embers_mid_lp"] = loadfx("vfx/map/lagos/lag_roundabout_fire_embers_mid_lp"); + level._effect["fire_crawl_wall_lrg"] = loadfx("vfx/fire/fire_crawl_wall_lrg"); + level._effect["falling_burning_debris"] = loadfx("vfx/map/lagos/lag_fall_burning_debris_single"); + level._effect["dust_foot_slide"] = loadfx("vfx/dust/dust_slide_lp"); + level._effect["veh_dust_wheel_skid"] = loadfx("vfx/dust/veh_dust_wheel_skid"); + level._effect["tread_dirt_thick"] = loadfx("vfx/treadfx/tread_dirt_thick"); + level._effect["tread_dust_sedan_bright"] = loadfx("vfx/treadfx/tread_dust_sedan_bright"); + level._effect["veh_trail_dust"] = loadfx("vfx/trail/veh_dust_trail"); + level._effect["lag_gate_controlbox_broken"] = loadfx("vfx/map/lagos/lag_gate_controlbox_broken"); + level._effect["guy_jump_landing_impact"] = loadfx("vfx/smoke/guy_jump_landing_impact"); + level._effect["lag_gate_dust_falling"] = loadfx("vfx/map/lagos/lag_gate_dust_falling"); + level._effect["technical_muzzle_flash"] = loadfx("vfx/muzzleflash/50cal_flash_wv"); + level._effect["blood_impact_burst"] = loadfx("vfx/blood/blood_impact_burst"); + level._effect["lag_mtkdown_kva_truck_side_swipe"] = loadfx("vfx/map/lagos/lag_mtkdown_kva_truck_side_swipe"); + level._effect["lag_mtkdown_bus_impact"] = loadfx("vfx/map/lagos/lag_mtkdown_bus_impact"); + level._effect["lag_mtkdown_kva_truck_windshield_smash"] = loadfx("vfx/map/lagos/lag_mtkdown_kva_truck_windshield_smash"); + level._effect["lag_mtkdown_kva_truck_windshield_smash_smoke"] = loadfx("vfx/map/lagos/lag_mtkdown_kva_truck_windshield_smash_smoke"); + level._effect["lag_mtkdown_kva_truck_flip_collision"] = loadfx("vfx/map/lagos/lag_mtkdown_kva_truck_flip_collision"); + level._effect["lag_tkdown_concrete_piece_spurt_single_med"] = loadfx("vfx/map/lagos/lag_tkdown_concrete_piece_spurt_single_med"); + level._effect["lag_tkdown_kva_pickup_impact_concrete"] = loadfx("vfx/map/lagos/lag_tkdown_kva_pickup_impact_concrete"); + level._effect["lag_tkdown_kva_pickup_crash"] = loadfx("vfx/map/lagos/lag_tkdown_kva_pickup_crash"); + level._effect["lag_fence_dust_falling"] = loadfx("vfx/map/lagos/lag_fence_dust_falling"); + level._effect["dust_tread_fx"] = loadfx("vfx/treadfx/tread_dust_kva_truck"); + level._effect["single_wheel_brake_skid_asphalt"] = loadfx("vfx/treadfx/single_wheel_brake_skid_asphalt"); + level._effect["veh_collision_asphalt"] = loadfx("vfx/vehiclecollision/veh_collision_asphalt"); + level._effect["veh_collision_concrete"] = loadfx("vfx/vehiclecollision/veh_collision_concrete"); + level._effect["veh_collision_concrete_sml"] = loadfx("vfx/vehiclecollision/veh_collision_concrete_sml"); + level._effect["lag_tkdown_truck_blood_impact"] = loadfx("vfx/map/lagos/lag_tkdown_truck_blood_impact"); + level._effect["lag_tkdown_truck_rvmirror_snap"] = loadfx("vfx/map/lagos/lag_tkdown_truck_rvmirror_snap"); + level._effect["lag_truck_headon_impact"] = loadfx("vfx/map/lagos/lag_truck_headon_impact"); + level._effect["lag_tkdown_concrete_piece_spurt_single"] = loadfx("vfx/map/lagos/lag_tkdown_concrete_piece_spurt_single"); + level._effect["lag_tkdown_truck_bubble_trail"] = loadfx("vfx/map/lagos/lag_tkdown_truck_bubble_trail"); + level._effect["lag_tkdown_truck_bubble_trail_lrg"] = loadfx("vfx/map/lagos/lag_tkdown_truck_bubble_trail_lrg"); + level._effect["lag_tkdown_truck_latch_door_open"] = loadfx("vfx/map/lagos/lag_tkdown_truck_latch_door_open"); + level._effect["lag_tkdown_truck_latch_door_edge_lp"] = loadfx("vfx/map/lagos/lag_tkdown_truck_latch_door_edge_lp"); + level._effect["lag_tkdown_truck_underwater_splash"] = loadfx("vfx/map/lagos/lag_tkdown_truck_underwater_splash"); + level._effect["sparks_skid_asphalt_sml"] = loadfx("vfx/sparks/sparks_skid_asphalt_sml"); + level._effect["water_impact_lrg"] = loadfx("vfx/water/water_truck_impact_splash_lrg"); + level._effect["underwater_splash_foam"] = loadfx("vfx/water/underwater_splash_foam"); + level._effect["debris_falling_splashes_area"] = loadfx("vfx/water/debris_falling_splashes_area"); + level._effect["underwater_particulates_glitter"] = loadfx("vfx/water/underwater_particulates_glitter"); + level._effect["underwater_bubble_vm_transition_lp"] = loadfx("vfx/water/underwater_bubble_vm_transition_lp"); + level._effect["underwater_bubble_vm_transition_single"] = loadfx("vfx/water/underwater_bubble_vm_transition_single"); + level._effect["underwater_bubble_vm_gasping_breath"] = loadfx("vfx/water/underwater_bubble_vm_gasping_breath"); + level._effect["underwater_bubble_vm_death_blackout"] = loadfx("vfx/water/underwater_bubble_vm_death_blackout"); + level._effect["bubble_geotrail_thick_med"] = loadfx("vfx/water/bubble_geotrail_thick_med"); + level._effect["bubble_geotrail_thick_vm_child"] = loadfx("vfx/water/bubble_geotrail_thick_vm_child"); + level._effect["bubble_trail_runner_lp"] = loadfx("vfx/water/bubble_trail_runner_lp"); + level._effect["bubble_trail_runner_sml_lp"] = loadfx("vfx/water/bubble_trail_runner_sml_lp"); + level._effect["bubble_geotrail_thick_xsml"] = loadfx("vfx/water/bubble_geotrail_thick_xsml"); + level._effect["underwater_sinking_debris_runner"] = loadfx("vfx/water/underwater_sinking_debris_runner"); + level._effect["underwater_sinking_debris_single_03"] = loadfx("vfx/water/underwater_sinking_debris_single_03"); + level._effect["bubble_long_trail_slw_med"] = loadfx("vfx/water/bubble_long_trail_slw_med"); + level._effect["lag_underwater_murk_xlg_nofog"] = loadfx("vfx/map/lagos/lag_underwater_murk_xlrg_nofog"); + level._effect["lag_underwater_bubble_ring_lp"] = loadfx("vfx/map/lagos/lag_underwater_bubble_ring_lp"); + level._effect["lag_tkdown_truck_barrier_break"] = loadfx("vfx/map/lagos/lag_tkdown_truck_barrier_break"); + level._effect["screen_splash_distort"] = loadfx("vfx/distortion/screen_splash_distort_fast"); + level._effect["water_barrel_barriers_splash"] = loadfx("vfx/water/water_barrel_barriers_splash"); + level._effect["fish_school_side_large"] = loadfx("vfx/animal/fish_school_side_large"); + level._effect["fish_school_top_base"] = loadfx("vfx/animal/fish_school_top_base"); + level._effect["screen_wash_distort"] = loadfx("vfx/distortion/screen_splash_distort_wash"); + level._effect["shore_water_soaked_drip_runner"] = loadfx("vfx/map/lagos/lag_shore_water_soaked_drip_runner"); + level._effect["shore_water_soaked_drip_runner2"] = loadfx("vfx/map/lagos/lag_shore_water_soaked_drip_runner2"); + level._effect["shore_water_soaked_drip_runner2a"] = loadfx("vfx/map/lagos/lag_shore_water_soaked_drip_runner2a"); + level._effect["shore_water_soaked_drip_runner3"] = loadfx("vfx/map/lagos/lag_shore_water_soaked_drip_runner3"); + level._effect["animal_seagulls_flock_large_flying"] = loadfx("vfx/animal/bird_seagull_flock_flying_runner"); + level._effect["ambient_fog_coast"] = loadfx("vfx/map/lagos/lag_ambient_fog_coast"); + level._effect["shore_slap_splash"] = loadfx("vfx/map/lagos/lag_shore_slap_splash"); + level._effect["fire_lp_xs_base"] = loadfx("vfx/fire/fire_lp_xs_base"); + level._effect["blood_pool_spawner_small_fast"] = loadfx("vfx/blood/blood_pool_spawner_small_fast"); + level._effect["paper_burst"] = loadfx("vfx/props/paper_burst"); + level._effect["dust_car_stop"] = loadfx("vfx/map/lagos/dust_car_stop"); + level._effect["heat_distortion_l"] = loadfx("vfx/distortion/heat_distortion_l"); + level._effect["heat_distortion_mirage_med"] = loadfx("vfx/distortion/heat_distortion_mirage_med"); + level._effect["amb_dust_indoor_slw_lp"] = loadfx("vfx/dust/amb_dust_indoor_slw_lp"); + level._effect["amb_dust_indoor_slw_light_lp"] = loadfx("vfx/dust/amb_dust_indoor_slw_light_lp"); + level._effect["low_dust_ambient_lp"] = loadfx("vfx/dust/low_dust_ambient_lp"); + level._effect["smoke_blowing_fast_constant"] = loadfx("vfx/smoke/smoke_blowing_fast_constant"); + level._effect["low_dust_ambient_slw_lp"] = loadfx("vfx/dust/low_dust_ambient_slw_lp"); + level._effect["dust_blowing_fast"] = loadfx("vfx/dust/dust_blowing_fast"); + level._effect["smog_smoke_l"] = loadfx("vfx/dust/amb_dust_verylight"); + level._effect["leaves_small_fall_gentlewind"] = loadfx("vfx/wind/leaves_small_fall_gentlewind"); + level._effect["leaves_small_fall_nowind_light"] = loadfx("vfx/wind/leaves_small_fall_nowind_light"); + level._effect["leaves_falling_constant"] = loadfx("vfx/wind/leaves_falling_constant"); + level._effect["ambient_falling_leaves_far_lp"] = loadfx("vfx/wind/ambient_falling_leaves_far_lp"); + level._effect["ambient_rolling_ground_leaves_fast_runner"] = loadfx("vfx/wind/ambient_rolling_ground_leaves_fast_runner"); + level._effect["trash_wind_vf"] = loadfx("vfx/wind/trash_wind_vf"); + level._effect["paper_windblown_slw_constant"] = loadfx("vfx/wind/paper_windblown_slw_constant"); + level._effect["leaves_windblown_slw_constant"] = loadfx("vfx/wind/leaves_windblown_slw_constant"); + level._effect["wind_blowing_leaves_constant"] = loadfx("vfx/wind/wind_blowing_leaves_constant"); + level._effect["paper_scrap_windblown_runner_light_slw"] = loadfx("vfx/wind/paper_scrap_windblown_runner_light_slw"); + level._effect["low_dust_wave"] = loadfx("vfx/map/lagos/lag_low_dust_wave_runner"); + level._effect["insects_flies_landing"] = loadfx("vfx/animal/insects_flies_landing"); + level._effect["pigeon_flock_vista_runner"] = loadfx("vfx/animal/pigeon_flock_vista_runner"); + level._effect["pigeon_flap_rt_lp"] = loadfx("vfx/animal/pigeon_flap_rt_lp"); + level._effect["pigeon_peck_rt_lp"] = loadfx("vfx/animal/pigeon_peck_rt_lp"); + level._effect["pigeon_fly_off_pos_y_low_runner"] = loadfx("vfx/animal/pigeon_fly_off_pos_y_low_runner"); + level._effect["pigeon_fly_off_pos_y_runner"] = loadfx("vfx/animal/pigeon_fly_off_pos_y_runner"); + level._effect["pigeon_fly_off_neg_y_runner"] = loadfx("vfx/animal/pigeon_fly_off_neg_y_runner"); + level._effect["pigeon_flock_runner"] = loadfx("vfx/animal/pigeon_flock_runner"); + level._effect["pigeon_flock_runner_lp"] = loadfx("vfx/animal/pigeon_flock_runner_lp"); + level._effect["pigeon_flock_runner_lrg"] = loadfx("vfx/animal/pigeon_flock_runner_lrg"); + level._effect["pigeon_rand_idle_single"] = loadfx("vfx/animal/pigeon_rand_idle_single"); + level._effect["roach_flock_straight_lp_slw"] = loadfx("vfx/animal/roach_flock_straight_lp_slw"); + level._effect["smoke_chimney_small"] = loadfx("vfx/smoke/smoke_chimney_small"); + level._effect["steam_column_lp"] = loadfx("vfx/steam/steam_column_lp"); + level._effect["steam_column_white_sm"] = loadfx("vfx/steam/steam_column_white_sm"); + level._effect["steam_column_rising_far"] = loadfx("vfx/steam/steam_column_rising_far"); + level._effect["dust_particles_sml"] = loadfx("vfx/dust/dust_particles_sml"); + level._effect["trash_tornado_s"] = loadfx("vfx/wind/trash_tornado_s"); + level._effect["leaves_tornado_s"] = loadfx("vfx/wind/leaves_tornado_s"); + level._effect["wind_blowing_trash_constant"] = loadfx("vfx/wind/wind_blowing_trash_constant"); + level._effect["trash_tornado_s_runner"] = loadfx("vfx/wind/trash_tornado_s_runner"); + level._effect["leaves_tornado_s_runner"] = loadfx("vfx/wind/leaves_tornado_s_runner"); + level._effect["dust_blowing_ground_fast_constant"] = loadfx("vfx/dust/dust_blowing_ground_fast_constant"); + level._effect["lag_sun_flare"] = loadfx("vfx/map/lagos/lag_sun_flare"); + level._effect["lag_underwater_sun_flare"] = loadfx("vfx/map/lagos/lag_underwater_sun_flare"); + level._effect["light_godray_hazy_highway_side"] = loadfx("vfx/lights/light_godray_hazy_highway_side"); + level._effect["light_godray_hazy_highway_angled_side_long"] = loadfx("vfx/lights/light_godray_hazy_highway_angled_side_long"); + level._effect["light_godray_hazy_highway_angled_overpass_tall"] = loadfx("vfx/lights/light_godray_hazy_highway_angled_op_tall"); + level._effect["light_ramp_godray_hazy_1_angled"] = loadfx("vfx/lights/lagos/light_ramp_godray_hazy_1_angled"); + level._effect["light_godray_hazy_floor"] = loadfx("vfx/lights/lagos/light_godray_hazy_floor"); + level._effect["light_godray_hazy_indoor_nodust"] = loadfx("vfx/lights/lagos/light_godray_hazy_indoor_nodust"); + level._effect["light_godray_lobby"] = loadfx("vfx/map/lagos/lag_lobby_godray_window"); + level._effect["light_ramp_godray_intro"] = loadfx("vfx/lights/lagos/light_ramp_godray_intro"); + level._effect["light_blue_fill_hostage"] = loadfx("vfx/lights/lagos/light_blue_fill_hostage"); + level._effect["light_blue_fill_shoreline"] = loadfx("vfx/lights/lagos/light_blue_fill_shoreline"); + level._effect["light_warm_fill_shoreline"] = loadfx("vfx/lights/lagos/light_warm_fill_shoreline"); + level._effect["light_fill_exo"] = loadfx("vfx/lights/lagos/light_fill_exo"); + level._effect["light_blue_monitor"] = loadfx("vfx/lights/lagos/light_blue_monitor"); + level._effect["light_blue_monitor_hostage"] = loadfx("vfx/lights/lagos/light_blue_monitor_hostage"); + level._effect["light_blue_monitor_large"] = loadfx("vfx/lights/lagos/light_blue_monitor_large"); + level._effect["light_underwater_godray_beam_blurry_lrg"] = loadfx("vfx/lights/lagos/light_underwater_godray_beam_blurry_lrg"); + level._effect["light_underwater_godray_beam_moving_med"] = loadfx("vfx/lights/lagos/light_underwater_godray_beam_moving_med"); + level._effect["gold_building_flare"] = loadfx("vfx/lensflare/lagos/gold_building_flare"); + level._effect["hostage_room_flare"] = loadfx("vfx/lensflare/lagos/hostage_room_flare"); + level._effect["tunnel_light_flare"] = loadfx("vfx/lensflare/lagos/tunnel_light_flare"); +} + +//Function Number: 4 +set_lighting_values() +{ + if(isusinghdr()) + { + setsaveddvar("r_tonemap",2); + } +} + +//Function Number: 5 +drone_intro_execution_gun_flash(param_00) +{ + playfxontag(common_scripts\utility::getfx("gun_flash_kva_intro"),param_00,"TAG_WEAPON_RIGHT"); + common_scripts\_exploder::exploder(10); +} + +//Function Number: 6 +dust_settle_squad_intro() +{ + level waittill("tram_start"); + common_scripts\_exploder::exploder("heli_dust_settle"); + common_scripts\_exploder::exploder("heli_dust_low"); + wait(6); + common_scripts\_exploder::exploder("ambient_dust_lp"); + wait(10); + maps\_utility::pauseexploder("heli_dust_low"); + wait(15); + common_scripts\_exploder::kill_exploder("heli_dust_settle"); + common_scripts\_exploder::kill_exploder("heli_dust_low"); + common_scripts\utility::flag_wait("msg_fx_zone3_train_rooftop_entry"); + maps\_utility::pauseexploder("ambient_dust_lp"); +} + +//Function Number: 7 +pigeons_rail_react_intro() +{ + level waittill("tram_start"); + maps\_shg_fx::setupledgefx("fx_zone1"); + level waittill("intro_walkway_go"); + maps\_shg_fx::swapfx("vfx_pigeon_intro","pigeon_fly_off_neg_y_runner",(0,0,0),0.1); + wait(4); + maps\_shg_fx::swapfx("vfx_pigeon_intro_crossway","pigeon_fly_off_neg_y_runner",(0,0,0),0.25); +} + +//Function Number: 8 +exo_door_kick(param_00) +{ + wait(0.25); + playfxontag(common_scripts\utility::getfx("exo_door_impact_kick_dust"),param_00,"smash_pusher"); + wait(0.05); + playfxontag(common_scripts\utility::getfx("exo_door_hinge_piece"),param_00,"smash_R"); + wait(10); + stopfxontag(common_scripts\utility::getfx("exo_door_hinge_piece"),param_00,"smash_R"); + stopfxontag(common_scripts\utility::getfx("exo_door_impact_kick_dust"),param_00,"smash_pusher"); +} + +//Function Number: 9 +exo_door_break(param_00) +{ + playfxontag(common_scripts\utility::getfx("door_exo_breach_impact"),param_00,"smash_pusher"); + wait(10); + stopfxontag(common_scripts\utility::getfx("door_exo_breach_impact"),param_00,"smash_pusher"); +} + +//Function Number: 10 +pigeons_camera_view_zone3000() +{ + common_scripts\utility::flag_wait("msg_fx_zone2_train_station"); + var_00 = [(-51893.4,12335.6,1143.03),(-53287.2,11359.1,1244.34),(-52160.6,11411.6,1783.72),(-49482.6,9896.68,1342.71),(-50370,10799,1225),(-53668.5,9382.25,1245.96),(-54590.9,11026.9,1121.91),(-48566.8,8800.03,734.885),(-50364.1,12368.1,1106.27)]; + var_01 = [(270,172.875,96.1244),(270,180,39.9991),(270,180,43.9992),(270,0,133.999),(270,0,160),(270,188.531,57.4673),(270,0,-154.002),(270,0,151.999),(270,3.57633,111.422)]; + thread maps\_shg_fx::start_fx_by_view("pigeon_flock_vista_runner",var_00,3,3,"msg_fx_zone4_government_building",0,var_01); +} + +//Function Number: 11 +player_mag_glove_activate_wallclimb(param_00) +{ + playfxontag(common_scripts\utility::getfx("exo_r_gloves_disengage"),param_00,"J_Wrist_RI"); + playfxontag(common_scripts\utility::getfx("exo_l_gloves_disengage"),param_00,"J_Wrist_LE"); +} + +//Function Number: 12 +player_mag_glove_off(param_00) +{ + param_00 endon("death"); + killfxontag(common_scripts\utility::getfx("exo_r_gloves_engage_slow"),param_00,"J_Wrist_RI"); + killfxontag(common_scripts\utility::getfx("exo_l_gloves_engage_slow"),param_00,"J_Wrist_LE"); + wait 0.05; + killfxontag(common_scripts\utility::getfx("exo_r_gloves_disengage"),param_00,"J_Wrist_RI"); + killfxontag(common_scripts\utility::getfx("exo_l_gloves_disengage"),param_00,"J_Wrist_LE"); + wait 0.05; + killfxontag(common_scripts\utility::getfx("exo_r_gloves_engage"),param_00,"J_Wrist_RI"); + killfxontag(common_scripts\utility::getfx("exo_l_gloves_engage"),param_00,"J_Wrist_LE"); +} + +//Function Number: 13 +player_hand_plant_lf_wallclimb(param_00) +{ + killfxontag(common_scripts\utility::getfx("exo_l_gloves_disengage"),param_00,"J_Wrist_LE"); + playfxontag(common_scripts\utility::getfx("exo_l_gloves_engage_slow"),param_00,"J_Wrist_LE"); + playfxontag(common_scripts\utility::getfx("dust_mag_l_glove_impact"),param_00,"J_Mid_LE_0"); +} + +//Function Number: 14 +player_mag_glove_lglove_disengage(param_00) +{ + killfxontag(common_scripts\utility::getfx("exo_l_gloves_engage_slow"),param_00,"J_Wrist_LE"); + killfxontag(common_scripts\utility::getfx("exo_l_gloves_engage"),param_00,"J_Wrist_LE"); + playfxontag(common_scripts\utility::getfx("exo_l_gloves_disengage"),param_00,"J_Wrist_LE"); +} + +//Function Number: 15 +player_hand_plant_rt_wallclimb(param_00) +{ + killfxontag(common_scripts\utility::getfx("exo_r_gloves_disengage"),param_00,"J_Wrist_RI"); + playfxontag(common_scripts\utility::getfx("exo_r_gloves_engage_slow"),param_00,"J_Wrist_RI"); + playfxontag(common_scripts\utility::getfx("dust_mag_r_glove_impact"),param_00,"J_Mid_RI_0"); +} + +//Function Number: 16 +player_mag_glove_rglove_disengage(param_00) +{ + killfxontag(common_scripts\utility::getfx("exo_r_gloves_engage_slow"),param_00,"J_Wrist_RI"); + killfxontag(common_scripts\utility::getfx("exo_r_gloves_engage"),param_00,"J_Wrist_RI"); + playfxontag(common_scripts\utility::getfx("exo_r_gloves_disengage"),param_00,"J_Wrist_RI"); +} + +//Function Number: 17 +burke_hand_plant_lf_wallclimb(param_00) +{ +} + +//Function Number: 18 +burke_hand_plant_rt_wallclimb(param_00) +{ +} + +//Function Number: 19 +bird_flyaway(param_00) +{ + wait(5); + common_scripts\_exploder::exploder(3011); +} + +//Function Number: 20 +mute_device_plant_fx(param_00) +{ + playfxontag(common_scripts\utility::getfx("lab_mute_device_plant_vm"),param_00,"tag_vfx_attach"); + wait(0.15); + playfxontag(common_scripts\utility::getfx("lab_mute_device_lights"),param_00,"spinner"); + wait(10); + stopfxontag(common_scripts\utility::getfx("lab_mute_device_lights"),param_00,"spinner"); + stopfxontag(common_scripts\utility::getfx("lab_mute_device_plant_vm"),param_00,"tag_vfx_attach"); +} + +//Function Number: 21 +roof_breach_device_plant_dust(param_00) +{ +} + +//Function Number: 22 +roof_breach_device_area_mark(param_00) +{ + playfxontag(common_scripts\utility::getfx("roof_breach_device_laser"),param_00,"tag_fx"); + wait(0.4); + playfxontag(common_scripts\utility::getfx("roof_breach_device_laser_cut_fast"),param_00,"tag_laser_1"); + playfxontag(common_scripts\utility::getfx("roof_breach_device_laser_cut_fast"),param_00,"tag_laser_2"); + playfxontag(common_scripts\utility::getfx("roof_breach_device_laser_cut_fast"),param_00,"tag_laser_3"); + playfxontag(common_scripts\utility::getfx("roof_breach_device_laser_cut_fast"),param_00,"tag_laser_4"); + wait(1); + stopfxontag(common_scripts\utility::getfx("roof_breach_device_laser"),param_00,"tag_fx"); + level waittill("kill_fx_burnmarks"); + wait 0.05; + killfxontag(common_scripts\utility::getfx("roof_breach_device_laser_cut_fast"),param_00,"tag_laser_1"); + killfxontag(common_scripts\utility::getfx("roof_breach_device_laser_cut_fast"),param_00,"tag_laser_2"); + killfxontag(common_scripts\utility::getfx("roof_breach_device_laser_cut_fast"),param_00,"tag_laser_3"); + killfxontag(common_scripts\utility::getfx("roof_breach_device_laser_cut_fast"),param_00,"tag_laser_4"); +} + +//Function Number: 23 +roof_breach_device_plant_mini_charges(param_00) +{ + playfxontag(common_scripts\utility::getfx("roof_breach_device_radial_blast_charges"),param_00,"tag_fx"); + level notify("kill_fx_burnmarks"); + earthquake(0.5,0.5,level.player.origin,100); +} + +//Function Number: 24 +roof_breach_device_radial_sml_explosions(param_00) +{ +} + +//Function Number: 25 +roof_breach_chunks_bursts(param_00) +{ + wait(0.2); + playfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_lrg"),param_00,"jo_lag_govt_roof_chunk_02"); + playfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_lrg"),param_00,"jo_lag_govt_roof_chunk_03"); + playfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_lrg"),param_00,"jo_lag_govt_roof_chunk_05"); + playfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_lrg"),param_00,"jo_lag_govt_roof_chunk_06"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_lrg"),param_00,"jo_lag_govt_roof_chunk_07"); + playfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_lrg"),param_00,"jo_lag_govt_roof_chunk_08"); + playfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_lrg"),param_00,"jo_lag_govt_roof_chunk_13"); + wait(0.1); + playfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_med"),param_00,"jo_lag_govt_roof_chunk_12"); + playfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_med"),param_00,"jo_lag_govt_roof_chunk_15"); + playfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_med"),param_00,"jo_lag_govt_roof_chunk_16"); + playfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_med"),param_00,"jo_lag_govt_roof_chunk_18"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_med"),param_00,"jo_lag_govt_roof_chunk_21"); + playfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_med"),param_00,"jo_lag_govt_roof_chunk_24"); + playfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_med"),param_00,"jo_lag_govt_roof_chunk_25"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_sml"),param_00,"jo_lag_govt_roof_chunk_09"); + playfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_sml"),param_00,"jo_lag_govt_roof_chunk_10"); + playfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_sml"),param_00,"jo_lag_govt_roof_chunk_17"); + playfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_sml"),param_00,"jo_lag_govt_roof_chunk_20"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_sml"),param_00,"jo_lag_govt_roof_chunk_22"); + wait(3.6); + thread landing_dust_team(); + wait(3); + stopfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_lrg"),param_00,"jo_lag_govt_roof_chunk_02"); + stopfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_lrg"),param_00,"jo_lag_govt_roof_chunk_03"); + stopfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_lrg"),param_00,"jo_lag_govt_roof_chunk_05"); + stopfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_lrg"),param_00,"jo_lag_govt_roof_chunk_06"); + wait 0.05; + stopfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_lrg"),param_00,"jo_lag_govt_roof_chunk_07"); + stopfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_lrg"),param_00,"jo_lag_govt_roof_chunk_08"); + stopfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_lrg"),param_00,"jo_lag_govt_roof_chunk_13"); + stopfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_med"),param_00,"jo_lag_govt_roof_chunk_12"); + wait 0.05; + stopfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_med"),param_00,"jo_lag_govt_roof_chunk_15"); + stopfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_med"),param_00,"jo_lag_govt_roof_chunk_16"); + stopfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_med"),param_00,"jo_lag_govt_roof_chunk_18"); + stopfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_med"),param_00,"jo_lag_govt_roof_chunk_21"); + wait 0.05; + stopfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_med"),param_00,"jo_lag_govt_roof_chunk_24"); + stopfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_med"),param_00,"jo_lag_govt_roof_chunk_25"); + stopfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_sml"),param_00,"jo_lag_govt_roof_chunk_09"); + stopfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_sml"),param_00,"jo_lag_govt_roof_chunk_10"); + wait 0.05; + stopfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_sml"),param_00,"jo_lag_govt_roof_chunk_17"); + stopfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_sml"),param_00,"jo_lag_govt_roof_chunk_20"); + stopfxontag(common_scripts\utility::getfx("ground_concrete_breach_burst_sml"),param_00,"jo_lag_govt_roof_chunk_22"); +} + +//Function Number: 26 +landing_dust_team() +{ + wait(0.75); + playfxontag(common_scripts\utility::getfx("dust_radial_spread_ground"),level.burke,"tag_origin"); + wait(0.5); + playfxontag(common_scripts\utility::getfx("dust_radial_spread_ground"),level.ajani,"tag_origin"); +} + +//Function Number: 27 +roof_breach_device_explosion(param_00) +{ + common_scripts\_exploder::exploder("breach_explosion"); + common_scripts\_exploder::exploder("dust_edge_thick"); + common_scripts\_exploder::exploder("dust_edge_front"); + wait(1); + common_scripts\_exploder::exploder("dust_radial_lingering"); + common_scripts\_exploder::exploder("dust_linger_roof_hole"); + wait(2); + common_scripts\_exploder::exploder("dust_particles"); + wait(2); + common_scripts\_exploder::exploder("falling_ceiling_tile"); + wait(2); + maps\_utility::pauseexploder("breach_explosion"); + maps\_utility::pauseexploder("dust_edge_thick"); + maps\_utility::pauseexploder("dust_edge_front"); + wait(8); + maps\_utility::pauseexploder("dust_radial_lingering"); + common_scripts\_exploder::kill_exploder("breach_explosion"); + maps\_utility::pauseexploder("dust_particles"); + level waittill("BreachComplete"); + maps\_utility::pauseexploder("dust_particles"); + maps\_utility::pauseexploder("dust_linger_roof_hole"); + wait(8); + common_scripts\_exploder::kill_exploder("dust_particles"); + common_scripts\_exploder::kill_exploder("falling_ceiling_tile"); + common_scripts\_exploder::kill_exploder("dust_linger_roof_hole"); +} + +//Function Number: 28 +harmonic_breach_turn_on() +{ + maps\_utility::delaythread(0.1,::common_scripts\_exploder::exploder,"harmonic_intro_strips"); + maps\_utility::delaythread(1,::common_scripts\_exploder::exploder,"harmonic_breach_screen_on"); + level waittill("BreachComplete"); + wait(1); + common_scripts\_exploder::kill_exploder("harmonic_breach_screen_on"); + common_scripts\_exploder::kill_exploder("harmonic_intro_strips"); + common_scripts\_exploder::exploder("harmonic_screen_flash"); + wait(0.25); + common_scripts\_exploder::exploder("harmonic_screen_off"); + wait 0.05; + common_scripts\_exploder::kill_exploder("harmonic_screen_flash"); + wait(3); + level notify("kill_lcd_material"); + wait(6); + common_scripts\_exploder::kill_exploder("harmonic_screen_off"); +} + +//Function Number: 29 +harmonic_breach_flash_off() +{ + common_scripts\_exploder::exploder("harmonic_wall_flash"); +} + +//Function Number: 30 +env_effects_hostage_room() +{ + common_scripts\_exploder::exploder("blood_decal"); + common_scripts\_exploder::exploder("room_lingering_smk"); + wait(4); + common_scripts\_exploder::exploder("paper_burst_door_kick"); + level waittill("kill_conference_room_effects"); + common_scripts\_exploder::kill_exploder("room_lingering_smk"); + common_scripts\_exploder::kill_exploder("blood_decal"); + common_scripts\_exploder::kill_exploder("paper_burst_door_kick"); +} + +//Function Number: 31 +handcuff_break_fx(param_00) +{ + playfxontag(common_scripts\utility::getfx("lag_pm_handcuff_break"),param_00,"tag_origin"); +} + +//Function Number: 32 +dust_car_stop(param_00) +{ + param_00 waittill("reached_end_node"); + common_scripts\_exploder::exploder(5001); + level notify("kill_conference_room_effects"); +} + +//Function Number: 33 +roundabout_tanker_explosion() +{ + common_scripts\_exploder::exploder(6010); + common_scripts\_exploder::exploder(6015); + common_scripts\_exploder::exploder(6020); + thread explosion_screen_flash(); + wait(1); + common_scripts\_exploder::exploder(6021); + wait(0.5); + common_scripts\utility::flag_wait("kill_roundabout_flames"); + maps\_utility::pauseexploder(6010); + maps\_utility::pauseexploder(6020); + maps\_utility::pauseexploder(6021); +} + +//Function Number: 34 +explosion_screen_flash() +{ + common_scripts\utility::flag_set("roundabout_tanker_flash"); + level.player lightsetforplayer("lagos_roundabout_tanker_explosion"); + level.player setclutforplayer("clut_lagos_explosion",0.15); + maps\_utility::vision_set_fog_changes("lagos_roundabout_tanker_explosion",0.08); + wait(0.15); + level.player lightsetforplayer("lagos_roundabout"); + level.player setclutforplayer("clut_lagos_roundabout",4); + maps\_utility::vision_set_fog_changes("lagos_roundabout",0.75); + common_scripts\utility::flag_set("tanker_explosion_done"); +} + +//Function Number: 35 +pigeons_ledges_react_roundabout() +{ + common_scripts\utility::flag_wait("flag_roundabout_spawn_vehicles"); + maps\_shg_fx::setupledgefx("fx_zone6"); + common_scripts\utility::flag_wait("roundabout_combat_begin"); + wait(0.25); + maps\_shg_fx::swapfx("fx_pigeon_overpass_ledge_far","pigeon_fly_off_pos_y_runner",(0,0,0),0.5); + maps\_shg_fx::swapfx("fx_pigeon_overpass_ledge","pigeon_fly_off_pos_y_runner",(0,0,0),0.15); + maps\_shg_fx::swapfx("fx_pigeon_building_roof_far","pigeon_fly_off_pos_y_runner",(0,0,0),0.15); + maps\_shg_fx::swapfx("fx_pigeon_building_ledge","pigeon_fly_off_pos_y_runner",(0,0,0),0.15); + maps\_shg_fx::swapfx("fx_pigeon_traffic_sign_ledge","pigeon_fly_off_pos_y_runner",(0,0,0),0.25); + maps\_shg_fx::swapfx("fx_pigeon_fountain_monument","pigeon_fly_off_pos_y_low_runner",(0,0,0),0.05); + maps\_shg_fx::swapfx("fx_pigeon_fountain_base_edge","pigeon_fly_off_pos_y_runner",(0,0,0),0.05); +} + +//Function Number: 36 +pigeons_flock_takeoff() +{ + common_scripts\utility::flag_wait("roundabout_combat_begin"); + common_scripts\_exploder::exploder("combat_flock_takeoff"); + wait(15); + common_scripts\_exploder::kill_exploder("combat_flock_takeoff"); +} + +//Function Number: 37 +pigeons_flyoff_alley1() +{ + level waittill("oncoming_go"); + maps\_shg_fx::setupledgefx("fx_zone7"); + level waittill("alley1_oncoming_fx"); + wait(1.75); + maps\_shg_fx::swapfx("fx_pigeons_alley1_far","pigeon_fly_off_pos_y_runner",(45,0,30),0.2); + wait(1); + maps\_shg_fx::swapfx("fx_pigeons_alley1_close","pigeon_fly_off_pos_y_runner",(30,90,0),0.5); +} + +//Function Number: 38 +gate_controlbox_broken_fx(param_00) +{ + wait(0.1); + playfxontag(common_scripts\utility::getfx("lag_gate_controlbox_broken"),param_00,"panelBox"); + wait(1.2); + common_scripts\_exploder::exploder("gate_dust_falling"); +} + +//Function Number: 39 +pull_fence_dust(param_00) +{ + wait(0.1); + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 linkto(param_00,"tag_origin",(-78,0,88),(-90,0,0)); + playfxontag(common_scripts\utility::getfx("lag_fence_dust_falling"),var_01,"tag_origin"); +} + +//Function Number: 40 +guy_jump_landing_puff(param_00) +{ + wait(0.2); + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 linkto(param_00,"tag_origin",(0,0,9),(90,15,0)); + playfxontag(common_scripts\utility::getfx("guy_jump_landing_impact"),var_01,"tag_origin"); + wait(9); + var_01 delete(); +} + +//Function Number: 41 +vista_pigeons_alley1_market() +{ + common_scripts\utility::flag_wait_either("alley1_oncoming_start","msg_fx_zone8_recreationcenter"); + thread maps\_shg_fx::exploder_to_array(12); + var_00 = [(-46713.5,3542.82,945.343),(-45592.5,3600.9,1155.3),(-47504,3855.55,895.125),(-47839.8,1572.01,849.537),(-48173,1032.6,904.365),(-46939.5,324.496,817.125),(-46313.5,-194.44,1055.14),(-47910.4,265.494,899.135),(-46925.6,1474.19,1228.12),(-46696,2669.63,959.955),(-46389.5,3813.8,869.748),(-44890.1,3729.2,712.27),(-45386.6,3484.48,657.968),(-44975.2,3505.28,902.054),(-46211.4,3678.51,748.553),(-46980.2,3722.23,853.378)]; + var_01 = [(270,0,-165),(270,0,174),(270,0,153),(270,225,25.9989),(270,180,66.999),(270,0,127.998),(270,0,154.998),(270,180,92.9972),(270,14.0362,88.9604),(270,14.0362,88.9604),(270,0,-165),(270,0,-169),(270,0,-179),(270,0,-179),(270,0,160),(270,0,175)]; + thread maps\_shg_fx::start_fx_by_view("pigeon_flock_vista_runner",var_00,4,4,"msg_fx_zone10a_froggercrossing",0,var_01); +} + +//Function Number: 42 +truck_dust_trail(param_00) +{ + playfxontag(common_scripts\utility::getfx("veh_trail_dust"),param_00,"tag_origin"); + wait(12); + stopfxontag(common_scripts\utility::getfx("veh_trail_dust"),param_00,"tag_origin"); +} + +//Function Number: 43 +truck_treadfx_wheels(param_00) +{ + playfxontag(common_scripts\utility::getfx("tread_dirt_thick"),param_00,"tag_wheel_front_left"); + playfxontag(common_scripts\utility::getfx("tread_dirt_thick"),param_00,"tag_wheel_front_right"); + level waittill("stop_nonvisible_treads"); + stopfxontag(common_scripts\utility::getfx("tread_dirt_thick"),param_00,"tag_wheel_front_left"); + stopfxontag(common_scripts\utility::getfx("tread_dirt_thick"),param_00,"tag_wheel_front_right"); +} + +//Function Number: 44 +truck_treadfx_skid(param_00) +{ + var_01 = common_scripts\utility::spawn_tag_origin(); + var_02 = common_scripts\utility::spawn_tag_origin(); + playfxontag(common_scripts\utility::getfx("veh_dust_wheel_skid"),var_01,"tag_origin"); + var_01 linkto(param_00,"tag_wheel_front_left",(0,-8,3),(0,45,0)); + playfxontag(common_scripts\utility::getfx("veh_dust_wheel_skid"),var_02,"tag_origin"); + var_02 linkto(param_00,"tag_wheel_back_left",(10,-8,3),(0,45,0)); + wait(3.25); + stopfxontag(common_scripts\utility::getfx("veh_dust_wheel_skid"),var_01,"tag_origin"); + stopfxontag(common_scripts\utility::getfx("veh_dust_wheel_skid"),var_02,"tag_origin"); + var_01 delete(); + var_02 delete(); +} + +//Function Number: 45 +truck_treadfx_turn(param_00) +{ + level notify("stop_nonvisible_treads"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("tread_dirt_thick"),param_00,"tag_wheel_front_left"); + playfxontag(common_scripts\utility::getfx("tread_dirt_thick"),param_00,"tag_wheel_front_right"); + wait(3); + playfxontag(common_scripts\utility::getfx("tread_dirt_thick"),param_00,"tag_wheel_back_right"); + stopfxontag(common_scripts\utility::getfx("tread_dirt_thick"),param_00,"tag_wheel_front_left"); + wait(4); + stopfxontag(common_scripts\utility::getfx("tread_dirt_thick"),param_00,"tag_wheel_front_right"); + stopfxontag(common_scripts\utility::getfx("tread_dirt_thick"),param_00,"tag_wheel_back_right"); +} + +//Function Number: 46 +gideon_slide_dust(param_00) +{ + playfxontag(common_scripts\utility::getfx("dust_foot_slide"),param_00,"tag_origin"); + wait(0.75); + stopfxontag(common_scripts\utility::getfx("dust_foot_slide"),param_00,"tag_origin"); +} + +//Function Number: 47 +middle_takedown_tread_fx() +{ + wait(2.5); + playfxontag(common_scripts\utility::getfx("dust_tread_fx"),level.kva_truck,"TAG_WHEEL_BACK_RIGHT"); + playfxontag(common_scripts\utility::getfx("dust_tread_fx"),level.kva_truck,"TAG_WHEEL_BACK_LEFT"); + playfxontag(common_scripts\utility::getfx("dust_tread_fx"),level.player_bus,"TAG_WHEEL_BACK_LEFT"); + playfxontag(common_scripts\utility::getfx("dust_tread_fx"),level.player_bus,"TAG_WHEEL_FRONT_LEFT"); + level waittill("stop_middle_tkdown_tread_fx"); + stopfxontag(common_scripts\utility::getfx("dust_tread_fx"),level.kva_truck,"TAG_WHEEL_BACK_RIGHT"); + stopfxontag(common_scripts\utility::getfx("dust_tread_fx"),level.kva_truck,"TAG_WHEEL_BACK_LEFT"); + stopfxontag(common_scripts\utility::getfx("dust_tread_fx"),level.player_bus,"TAG_WHEEL_BACK_LEFT"); + stopfxontag(common_scripts\utility::getfx("dust_tread_fx"),level.player_bus,"TAG_WHEEL_FRONT_LEFT"); +} + +//Function Number: 48 +kva_pickup_wheel_skid_ram(param_00) +{ + playfxontag(common_scripts\utility::getfx("single_wheel_brake_skid_asphalt"),param_00,"TAG_WHEEL_BACK_RIGHT"); + playfxontag(common_scripts\utility::getfx("single_wheel_brake_skid_asphalt"),param_00,"TAG_WHEEL_FRONT_right"); + wait(1.75); + stopfxontag(common_scripts\utility::getfx("single_wheel_brake_skid_asphalt"),param_00,"TAG_WHEEL_BACK_RIGHT"); + stopfxontag(common_scripts\utility::getfx("single_wheel_brake_skid_asphalt"),param_00,"TAG_WHEEL_FRONT_RIGHT"); +} + +//Function Number: 49 +kva_pickup_hit_bus(param_00) +{ + playfxontag(common_scripts\utility::getfx("lag_mtkdown_kva_truck_side_swipe"),param_00,"TAG_door_right_front"); + thread bus_kva_impact_sparks(); + wait(5); + stopfxontag(common_scripts\utility::getfx("lag_mtkdown_kva_truck_side_swipe"),param_00,"TAG_door_right_front"); +} + +//Function Number: 50 +bus_kva_impact_sparks() +{ + var_00 = common_scripts\utility::spawn_tag_origin(); + playfxontag(common_scripts\utility::getfx("lag_mtkdown_bus_impact"),var_00,"tag_origin"); + var_00 linkto(level.player_bus,"tag_origin",(55,58,40),(0,90,0)); + wait(5); + stopfxontag(common_scripts\utility::getfx("lag_mtkdown_bus_impact"),var_00,"tag_origin"); + wait 0.05; + var_00 delete(); +} + +//Function Number: 51 +player_land_on_hood(param_00) +{ + playfxontag(common_scripts\utility::getfx("lag_mtkdown_kva_truck_windshield_smash_smoke"),param_00,"TAG_HOOD"); + wait(2.5); + stopfxontag(common_scripts\utility::getfx("lag_mtkdown_kva_truck_windshield_smash_smoke"),param_00,"TAG_HOOD"); +} + +//Function Number: 52 +kva_pickup_hit_windshield(param_00) +{ + playfxontag(common_scripts\utility::getfx("lag_mtkdown_kva_truck_windshield_smash"),param_00,"windowArmor_FL"); + wait(2.5); + playfxontag(common_scripts\utility::getfx("lag_mtkdown_kva_truck_windshield_smash_smoke"),param_00,"tag_hood"); +} + +//Function Number: 53 +kva_death_impact_post(param_00) +{ + common_scripts\_exploder::exploder("blood_impact_post"); + wait(3); + maps\_utility::stop_exploder("blood_impact_post"); +} + +//Function Number: 54 +kva_pickup_hit_divider_01(param_00) +{ + common_scripts\_exploder::exploder("divider_hit_01"); + wait(1.5); + common_scripts\_exploder::exploder("divider_hit_02"); +} + +//Function Number: 55 +kva_pickup_hit_divider_03(param_00) +{ + wait(0.8); + playfxontag(common_scripts\utility::getfx("lag_mtkdown_kva_truck_flip_collision"),param_00,"tag_origin"); + common_scripts\_exploder::exploder("divider_hit_03"); + level notify("stop_middle_tkdown_tread_fx"); + wait(6); + maps\_utility::stop_exploder("divider_hit_03"); +} + +//Function Number: 56 +kva_pickup_flip_and_skid(param_00) +{ + wait(0.9); + common_scripts\_exploder::exploder("pickup_asphalt_impact"); + wait(6); + maps\_utility::stop_exploder("pickup_asphalt_impact"); +} + +//Function Number: 57 +fake_tread_fx_hostage_truck(param_00) +{ + playfxontag(common_scripts\utility::getfx("dust_tread_fx"),param_00,"tag_wheel_front_right"); + playfxontag(common_scripts\utility::getfx("dust_tread_fx"),param_00,"tag_wheel_back_right"); + level waittill("kill_hostage_truck_tread_fx"); + stopfxontag(common_scripts\utility::getfx("dust_tread_fx"),param_00,"tag_wheel_front_right"); + stopfxontag(common_scripts\utility::getfx("dust_tread_fx"),param_00,"tag_wheel_back_right"); +} + +//Function Number: 58 +truck_rearview_mirror_snap(param_00) +{ + playfxontag(common_scripts\utility::getfx("lag_tkdown_truck_rvmirror_snap"),param_00,"tag_mirror_right"); +} + +//Function Number: 59 +vm_hand_sparks(param_00) +{ + playfxontag(common_scripts\utility::getfx("sparks_skid_asphalt_sml"),param_00,"J_Wrist_LE"); + wait(0.65); + playfxontag(common_scripts\utility::getfx("sparks_skid_asphalt_sml"),param_00,"J_Wrist_LE"); +} + +//Function Number: 60 +truck_headon_collision(param_00) +{ + wait(0.25); + playfxontag(common_scripts\utility::getfx("lag_truck_headon_impact"),param_00,"tag_origin"); + wait(2); + thread water_barrell_splash_screen_fx(); +} + +//Function Number: 61 +water_barrell_splash_screen_fx() +{ + wait(0.5); + common_scripts\_exploder::exploder("water_barrier_splash"); + wait(0.2); + var_00 = common_scripts\utility::spawn_tag_origin(); + playfxontag(common_scripts\utility::getfx("screen_splash_distort"),var_00,"tag_origin"); + var_00 linktoplayerview(level.player,"tag_origin",(0,0,0),(0,0,0),1); + wait(2.5); + stopfxontag(common_scripts\utility::getfx("screen_splash_distort"),var_00,"tag_origin"); + common_scripts\_exploder::kill_exploder("water_barrier_splash"); + var_00 delete(); +} + +//Function Number: 62 +truck_rail_impact(param_00) +{ + wait(0.5); + playfxontag(common_scripts\utility::getfx("lag_tkdown_truck_barrier_break"),param_00,"tag_origin"); + common_scripts\_exploder::exploder("concrete_barrier_impact"); + common_scripts\_exploder::exploder("concrete_spurt_single"); + wait(1.25); + common_scripts\_exploder::exploder("water_debris_splashes"); + level waittill("kill_above_water_splashes"); + stopfxontag(common_scripts\utility::getfx("lag_tkdown_truck_barrier_break"),param_00,"tag_origin"); + common_scripts\_exploder::kill_exploder("concrete_spurt_single"); + common_scripts\_exploder::kill_exploder("concrete_barrier_impact"); + common_scripts\_exploder::kill_exploder("water_debris_splashes"); +} + +//Function Number: 63 +truck_water_impact(param_00) +{ + playfxontag(common_scripts\utility::getfx("underwater_splash_foam"),param_00,"tag_origin"); + common_scripts\_exploder::exploder("water_splash_lrg"); + level notify("kill_hostage_truck_tread_fx"); + wait(0.9); + thread water_bubbles_transition_player_view(); + killfxontag(common_scripts\utility::getfx("underwater_splash_foam"),param_00,"tag_origin"); + level waittill("kill_above_water_splashes"); + common_scripts\_exploder::kill_exploder("water_splash_lrg"); +} + +//Function Number: 64 +water_bubbles_transition_player_view() +{ + var_00 = common_scripts\utility::spawn_tag_origin(); + playfxontag(common_scripts\utility::getfx("underwater_bubble_vm_transition_lp"),var_00,"tag_origin"); + var_00 linktoplayerview(level.player,"tag_origin",(0,0,-5),(0,0,0),1); + wait(0.25); + level notify("kill_above_water_splashes"); + common_scripts\_exploder::exploder("underwater_splash"); + wait(2.5); + stopfxontag(common_scripts\utility::getfx("underwater_bubble_vm_transition_lp"),var_00,"tag_origin"); + wait 0.05; + var_00 delete(); +} + +//Function Number: 65 +water_bubbles_truck_door() +{ + common_scripts\_exploder::exploder("godrays_underwater"); + common_scripts\_exploder::exploder("fish_school"); + common_scripts\_exploder::exploder("murky_bottom"); + common_scripts\_exploder::exploder("water_bubble_columns"); + common_scripts\_exploder::exploder("concrete_chunk_sinking"); + common_scripts\_exploder::exploder("water_bubble_ring"); + playfxontag(common_scripts\utility::getfx("lag_tkdown_truck_latch_door_edge_lp"),self,"tag_fx_door_edge"); + playfxontag(common_scripts\utility::getfx("lag_tkdown_truck_bubble_trail_lrg"),self,"tag_origin"); + playfxontag(common_scripts\utility::getfx("lag_tkdown_truck_bubble_trail"),self,"tag_origin"); + wait(2.5); + playfxontag(common_scripts\utility::getfx("bubble_geotrail_thick_xsml"),self,"latch_jnt"); + level waittill("latch_opened"); + stopfxontag(common_scripts\utility::getfx("lag_tkdown_truck_latch_door_edge_lp"),self,"tag_fx_door_edge"); + stopfxontag(common_scripts\utility::getfx("lag_tkdown_truck_bubble_trail"),self,"tag_origin"); + stopfxontag(common_scripts\utility::getfx("bubble_geotrail_thick_xsml"),self,"latch_jnt"); + wait(1); + killfxontag(common_scripts\utility::getfx("lag_tkdown_truck_bubble_trail_lrg"),self,"tag_origin"); + common_scripts\_exploder::kill_exploder("godrays_underwater"); + common_scripts\_exploder::kill_exploder("fish_school"); + common_scripts\_exploder::kill_exploder("murky_bottom"); + common_scripts\_exploder::kill_exploder("water_bubble_columns"); + common_scripts\_exploder::kill_exploder("concrete_chunk_sinking"); + common_scripts\_exploder::kill_exploder("water_bubble_ring"); +} + +//Function Number: 66 +ambient_underwater_effects_rescue(param_00) +{ + wait(5); + common_scripts\_exploder::exploder("fish_school_rescue"); + common_scripts\_exploder::exploder("water_bubbles_rescue"); + common_scripts\_exploder::exploder("water_bubble_column_rescue"); + common_scripts\_exploder::exploder("particulates_rescue"); + wait(2); + common_scripts\_exploder::exploder("godrays_underwater_rescue"); + common_scripts\_exploder::exploder("godray_rescue_gideon"); + common_scripts\_exploder::exploder("concrete_chunk_sinking_rescue"); + common_scripts\_exploder::exploder("water_bubble_ring_rescue"); + level waittill("kill_underwater_effects"); + common_scripts\_exploder::kill_exploder("godrays_underwater_rescue"); + common_scripts\_exploder::kill_exploder("godray_rescue_gideon"); + common_scripts\_exploder::kill_exploder("fish_school_rescue"); + common_scripts\_exploder::kill_exploder("water_bubbles_rescue"); + common_scripts\_exploder::kill_exploder("water_bubble_column_rescue"); + common_scripts\_exploder::kill_exploder("concrete_chunk_sinking_rescue"); + common_scripts\_exploder::kill_exploder("water_bubble_ring_rescue"); + common_scripts\_exploder::kill_exploder("particulates_rescue"); +} + +//Function Number: 67 +truck_latch_open_trail(param_00) +{ + level notify("truck_door_open"); + playfxontag(common_scripts\utility::getfx("bubble_trail_runner_lp"),param_00,"latch_jnt"); + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 linkto(param_00,"tag_origin",(-100,0,25),(0,180,0)); + playfxontag(common_scripts\utility::getfx("lag_tkdown_truck_latch_door_open"),var_01,"tag_origin"); + wait(0.75); + stopfxontag(common_scripts\utility::getfx("bubble_trail_runner_lp"),param_00,"latch_jnt"); + wait(11.25); + stopfxontag(common_scripts\utility::getfx("lag_tkdown_truck_latch_door_open"),var_01,"tag_origin"); + wait 0.05; + var_01 delete(); +} + +//Function Number: 68 +truck_cargo_door_open(param_00) +{ +} + +//Function Number: 69 +hostage_drowned_bubble_trails(param_00) +{ + playfxontag(common_scripts\utility::getfx("bubble_trail_runner_lp"),param_00,"j_spineupper"); + wait(0.5); + playfxontag(common_scripts\utility::getfx("bubble_geotrail_thick_xsml"),param_00,"j_head"); + playfxontag(common_scripts\utility::getfx("bubble_geotrail_thick_med"),param_00,"J_SpineLower"); + wait(2); + stopfxontag(common_scripts\utility::getfx("bubble_geotrail_thick_xsml"),param_00,"j_head"); + stopfxontag(common_scripts\utility::getfx("bubble_trail_runner_lp"),param_00,"j_spineupper"); + stopfxontag(common_scripts\utility::getfx("bubble_geotrail_thick_med"),param_00,"J_SpineLower"); +} + +//Function Number: 70 +gideon_bubble_trails(param_00) +{ + playfxontag(common_scripts\utility::getfx("bubble_trail_runner_lp"),param_00,"j_spineupper"); + playfxontag(common_scripts\utility::getfx("bubble_trail_runner_lp"),param_00,"J_Knee_ri"); + wait(2); + stopfxontag(common_scripts\utility::getfx("bubble_trail_runner_lp"),param_00,"J_Knee_ri"); + wait(2); + playfxontag(common_scripts\utility::getfx("bubble_trail_runner_sml_lp"),param_00,"j_wrist_ri"); + playfxontag(common_scripts\utility::getfx("bubble_geotrail_thick_med"),param_00,"j_knee_ri"); + playfxontag(common_scripts\utility::getfx("bubble_trail_runner_lp"),param_00,"J_Knee_le"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("bubble_geotrail_thick_xsml"),param_00,"j_ankle_le"); + wait(2.5); + playfxontag(common_scripts\utility::getfx("bubble_trail_runner_sml_lp"),param_00,"j_wrist_le"); + stopfxontag(common_scripts\utility::getfx("bubble_geotrail_thick_med"),param_00,"j_knee_ri"); + stopfxontag(common_scripts\utility::getfx("bubble_geotrail_thick_xsml"),param_00,"j_ankle_le"); + wait(1); + stopfxontag(common_scripts\utility::getfx("bubble_trail_runner_sml_lp"),param_00,"j_wrist_ri"); + stopfxontag(common_scripts\utility::getfx("bubble_trail_runner_lp"),param_00,"J_Knee_le"); + level waittill("kill_underwater_effects"); + wait(0.1); + killfxontag(common_scripts\utility::getfx("bubble_trail_runner_lp"),param_00,"j_spineupper"); + killfxontag(common_scripts\utility::getfx("bubble_trail_runner_sml_lp"),param_00,"j_wrist_le"); +} + +//Function Number: 71 +hostage_rescued_bubble_trails(param_00) +{ + playfxontag(common_scripts\utility::getfx("bubble_trail_runner_lp"),param_00,"j_spineupper"); + playfxontag(common_scripts\utility::getfx("bubble_geotrail_thick_xsml"),param_00,"j_ankle_le"); + playfxontag(common_scripts\utility::getfx("bubble_geotrail_thick_xsml"),param_00,"j_wrist_ri"); + wait(2); + stopfxontag(common_scripts\utility::getfx("bubble_geotrail_thick_xsml"),param_00,"j_wrist_ri"); + wait(1); + stopfxontag(common_scripts\utility::getfx("bubble_geotrail_thick_xsml"),param_00,"j_ankle_le"); + level waittill("kill_underwater_effects"); + wait(0.35); + killfxontag(common_scripts\utility::getfx("bubble_trail_runner_lp"),param_00,"j_spineupper"); +} + +//Function Number: 72 +gideon_swim_stroke_up(param_00) +{ + level endon("kill_underwater_effects"); + playfxontag(common_scripts\utility::getfx("bubble_geotrail_thick_xsml"),param_00,"j_wrist_le"); + playfxontag(common_scripts\utility::getfx("bubble_trail_runner_lp"),param_00,"j_spineupper"); + wait(1); + playfxontag(common_scripts\utility::getfx("bubble_geotrail_thick_xsml"),param_00,"j_ankle_le"); + wait(2); + stopfxontag(common_scripts\utility::getfx("bubble_geotrail_thick_xsml"),param_00,"j_wrist_le"); + wait(1); + stopfxontag(common_scripts\utility::getfx("bubble_trail_runner_lp"),param_00,"j_spineupper"); + stopfxontag(common_scripts\utility::getfx("bubble_geotrail_thick_xsml"),param_00,"j_ankle_le"); +} + +//Function Number: 73 +player_gasping_breath() +{ + var_00 = common_scripts\utility::spawn_tag_origin(); + var_00 linktoplayerview(level.player,"tag_origin",(0,0,0),(0,0,0),1); + wait(2.5); + playfxontag(common_scripts\utility::getfx("underwater_bubble_vm_gasping_breath"),var_00,"tag_origin"); + wait(3); + playfxontag(common_scripts\utility::getfx("underwater_bubble_vm_gasping_breath"),var_00,"tag_origin"); + wait(2); + playfxontag(common_scripts\utility::getfx("underwater_bubble_vm_gasping_breath"),var_00,"tag_origin"); + wait(1.5); + killfxontag(common_scripts\utility::getfx("underwater_bubble_vm_gasping_breath"),var_00,"tag_origin"); + var_00 delete(); +} + +//Function Number: 74 +player_drown_end_vm_transition() +{ + common_scripts\utility::flag_wait("player_swimming_drown"); + wait(4); + var_00 = common_scripts\utility::spawn_tag_origin(); + var_00 linktoplayerview(level.player,"tag_origin",(0,0,0),(0,0,0),1); + playfxontag(common_scripts\utility::getfx("underwater_bubble_vm_death_blackout"),var_00,"tag_origin"); + level waittill("kill_underwater_effects"); + killfxontag(common_scripts\utility::getfx("underwater_bubble_vm_death_blackout"),var_00,"tag_origin"); + wait(1.5); + var_00 delete(); +} + +//Function Number: 75 +vfx_shore_outro_start() +{ + level notify("kill_underwater_effects"); + common_scripts\_exploder::exploder(20); + playfxontag(common_scripts\utility::getfx("shore_water_soaked_drip_runner"),level.burke,"J_Knee_RI"); + playfxontag(common_scripts\utility::getfx("shore_water_soaked_drip_runner"),level.burke,"J_Knee_RI"); + playfxontag(common_scripts\utility::getfx("shore_water_soaked_drip_runner"),level.burke,"J_Elbow_RI"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("shore_water_soaked_drip_runner"),level.burke,"J_Shoulder_LE"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("shore_water_soaked_drip_runner2"),level.burke,"J_SpineUpper"); + playfxontag(common_scripts\utility::getfx("shore_water_soaked_drip_runner"),level.hostage_1,"J_Shoulder_RI"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("shore_water_soaked_drip_runner"),level.hostage_1,"J_Elbow_RI"); + playfxontag(common_scripts\utility::getfx("shore_water_soaked_drip_runner"),level.hostage_1,"J_Wrist_RI"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("shore_water_soaked_drip_runner3"),level.hostage_1,"J_Head"); + wait(0.5); + var_00 = common_scripts\utility::spawn_tag_origin(); + playfxontag(common_scripts\utility::getfx("screen_wash_distort"),var_00,"tag_origin"); + var_00 linktoplayerview(level.player,"tag_origin",(0,0,0),(0,0,0),1); + wait(0.37); + var_00 = common_scripts\utility::spawn_tag_origin(); + playfxontag(common_scripts\utility::getfx("shore_slap_splash"),var_00,"tag_origin"); + var_00 linktoplayerview(level.player,"tag_origin",(5,0,0),(0,0,0),1); + wait(25); + stopfxontag(common_scripts\utility::getfx("shore_water_soaked_drip_runner2"),level.burke,"J_SpineUpper"); + playfxontag(common_scripts\utility::getfx("shore_water_soaked_drip_runner2a"),level.burke,"J_SpineUpper"); +} \ No newline at end of file diff --git a/AW/PC/maps/lagos_h_breach.gsc b/AW/PC/maps/lagos_h_breach.gsc new file mode 100644 index 0000000..1be5630 --- /dev/null +++ b/AW/PC/maps/lagos_h_breach.gsc @@ -0,0 +1,1160 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: lagos_h_breach.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 62 + * Decompile Time: 881 ms + * Timestamp: 4/22/2024 2:33:48 AM +*******************************************************************/ + +//Function Number: 1 +precacheharmonicbreach() +{ + precacheharmonicbreachfx(); + precacheharmonicbreachitems(); + precacheharmonicbreachplayerrig(); + precacheharmonicbreachanimations(); +} + +//Function Number: 2 +startharmonicbreach(param_00) +{ + initplayerforharmonicbreach(); + initallysquad(param_00); + thread initdistortionfx(); + foreach(var_02 in level.allysquad) + { + var_02.ignoreall = 1; + } + + thread breachtargetarraymonitor(); + thread breachtrigger(); + thread breachfailstate(); + thread breachdialogreminders(); + thread locktargets(); + thread hostagecorner(); + thread hostagebeatup(); + thread hostagepm(); + thread hostageexecution(); + thread h_breach_timer(); +} + +//Function Number: 3 +precacheharmonicbreachitems() +{ + precacheitem("ak47"); + precacheitem("glock"); + precachemodel("viewhands_sentinel"); + precacheshader("nightvision_overlay_goggles"); + precacheshader("line_vertical"); + precacheshader("remote_chopper_hud_target_hit"); +} + +//Function Number: 4 +precacheharmonicbreachfx() +{ + level._effect["distortion"] = loadfx("vfx/distortion/distortion_harmonic_breach"); + level._effect["pulse"] = loadfx("vfx/weaponimpact/charged_shot_impact_3"); + level._effect["execution_blood"] = loadfx("fx/maps/warlord/execution_blood_fx"); +} + +//Function Number: 5 +precacheharmonicbreachplayerrig() +{ + level.scr_anim["player_hbreach_wrist"]["h_breach_on"] = %vm_turn_on_cloak; + level.scr_animtree["player_hbreach_wrist"] = #animtree; + level.scr_model["player_hbreach_wrist"] = "worldhands_atlas_pmc_smp_custom"; +} + +//Function Number: 6 +precacheharmonicbreachanimations() +{ + level.scr_animtree["generic"] = #animtree; + level.scr_anim["kva_guard_corner"]["hostage_corner"][0] = %prague_interrogate_1_soldier_idle; + level.scr_anim["kva_hostage_corner"]["flythrough_hostage_corner_idle"][0] = %paris_ac130_hostage_cover_idle; + level.scr_anim["kva_guard_corner"]["flythrough_hostage_corner_idle"][0] = %prague_interrogate_2_soldier_idle; + level.scr_anim["kva_pm_guard"]["hostage_drag_idle"][0] = %prague_interrogate_2_soldier_idle; + level.scr_anim["kva_pm_guard"]["execution_onknees_loop"][0] = %prague_interrogate_3_soldier_idle; + level.scr_anim["kva_guard_beatup"]["flythrough_hostage_beatup_idle"][0] = %prague_interrogate_2_soldier_idle; + level.scr_anim["kva_hostage_beatup"]["flythrough_hostage_beatup_idle"][0] = %paris_ac130_hostage_cover_idle; + level.scr_anim["kva_hostage_execution_1"]["execution_onknees_loop"][0] = %africa_execution_prisoner_1_loop; + level.scr_anim["kva_hostage_execution_2"]["execution_onknees_loop"][0] = %africa_execution_prisoner_2_loop; + level.scr_anim["kva_hostage_execution_3"]["execution_onknees_loop"][0] = %africa_execution_prisoner_3_loop; + level.scr_anim["kva_hostage_leader"]["civilian_smoking_A"][0] = %civilian_smoking_a; + level.scr_anim["kva_hostage_leader"]["civilian_smoking_B"][0] = %civilian_smoking_b; + level.scr_anim["kva_hostage_leader"]["civilian_hurried_walk"][0] = %civilian_walk_hurried_1; + level.scr_anim["kva_hostage_leader"]["civilian_hurried_walk"][1] = %civilian_walk_hurried_2; + level.scr_anim["kva_pm_guard"]["h_breach_marking"][0] = %lag_gov_hostage_room_breach_idle_kva_01; + level.scr_anim["kva_hostage_leader"]["h_breach_marking"][0] = %lag_gov_hostage_room_breach_idle_kva_02; + level.scr_anim["kva_guard_beatup"]["h_breach_marking"][0] = %lag_gov_hostage_room_breach_idle_kva_03; + level.scr_anim["kva_guard_corner"]["h_breach_marking"][0] = %lag_gov_hostage_room_breach_idle_kva_04; + level.scr_anim["kva_hostage_execution_1"]["h_breach_marking"][0] = %lag_gov_hostage_room_breach_idle_hostage_01; + level.scr_anim["kva_hostage_execution_2"]["h_breach_marking"][0] = %lag_gov_hostage_room_breach_idle_hostage_02; + level.scr_anim["kva_hostage_execution_3"]["h_breach_marking"][0] = %lag_gov_hostage_room_breach_idle_hostage_03; + level.scr_anim["kva_hostage_minister"]["h_breach_marking"][0] = %lag_gov_hostage_room_breach_idle_hostage_04; + level.scr_anim["kva_hostage_beatup"]["h_breach_marking"][0] = %lag_gov_hostage_room_breach_idle_hostage_05; + level.scr_anim["kva_hostage_execution_3"]["h_breach_execution"] = %lag_gov_hostage_room_breach_execute_hostage_03; + level.scr_anim["kva_guard_corner"]["h_breach_execution"] = %lag_gov_hostage_room_breach_execute_kva_04; + maps\_anim::addnotetrack_customfunction("kva_guard_corner","fire",::hostageexecutionseqvfx,"h_breach_execution"); + maps\_anim::addnotetrack_customfunction("kva_guard_corner","execute",::hostageexecutionseq,"h_breach_execution"); +} + +//Function Number: 7 +drone_intro_conf_flythrough_actors(param_00) +{ + level.kva_guard_beatup = maps\_utility::spawn_targetname("kva_guard_beatup"); + level.kva_guard_beatup.animname = "kva_guard_beatup"; + level.kva_guard_corner = maps\_utility::spawn_targetname("kva_guard_corner"); + level.kva_guard_corner.animname = "kva_guard_corner"; + level.kva_pm_guard = maps\_utility::spawn_targetname("kva_pm_guard"); + level.kva_pm_guard.animname = "kva_pm_guard"; + level.kva_hostage_beatup = maps\_utility::spawn_targetname("kva_hostage_beatup"); + level.kva_hostage_beatup.animname = "kva_hostage_beatup"; + param_00 thread maps\_anim::anim_single_solo(level.kva_guard_beatup,"drone_opening"); + param_00 thread maps\_anim::anim_single_solo(level.kva_guard_corner,"drone_opening"); + param_00 thread maps\_anim::anim_single_solo(level.kva_pm_guard,"drone_opening"); + param_00 thread maps\_anim::anim_single_solo(level.kva_hostage_beatup,"drone_opening"); + level.intro_actors = [level.kva_guard_beatup,level.kva_guard_corner,level.kva_hostage_beatup,level.kva_pm_guard]; + level.kva_hostage_execution_array = maps\_utility::array_spawn_targetname("kva_hostage_execution"); + var_01 = 1; + foreach(var_03 in level.kva_hostage_execution_array) + { + var_03.animname = "kva_hostage_execution_" + var_01; + var_01++; + level.intro_actors = common_scripts\utility::array_add(level.intro_actors,var_03); + param_00 thread maps\_anim::anim_single_solo(var_03,"drone_opening"); + } + + level waittill("drone_opening_finished"); + foreach(var_06 in level.intro_actors) + { + var_06 delete(); + } +} + +//Function Number: 8 +swapwalldelayed() +{ + level thread maps\lagos_fx::harmonic_breach_turn_on(); + wait(1); + level.xraywall_static = getentarray("xraywall_static","targetname"); + level.xraywall_on = getentarray("xraywall_on","targetname"); + common_scripts\utility::array_call(level.xraywall_static,::hide); + common_scripts\utility::array_call(level.xraywall_static,::notsolid); + common_scripts\utility::array_call(level.xraywall_on,::show); +} + +//Function Number: 9 +initdistortionfx() +{ + var_00 = common_scripts\utility::getstruct("XrayPulse","targetname"); + thread swapwalldelayed(); + var_01 = []; + var_02 = common_scripts\utility::getstructarray("distortionfx","targetname"); + foreach(var_04 in var_02) + { + var_05 = var_04 common_scripts\utility::spawn_tag_origin(); + var_01 = common_scripts\utility::array_add(var_01,var_05); + } + + foreach(var_05 in var_01) + { + var_08 = playfxontag(common_scripts\utility::getfx("distortion"),var_05,"tag_origin"); + } + + var_0A = newclienthudelem(level.player); + var_0A.color = (1,0,1); + var_0A.alpha = 1; + var_0B = 200; + var_0C = 25; + if(level.currentgen) + { + var_0B = 175; + var_0C = 3; + } + + var_0A setharmonicbreach(2,var_0C,var_0B,2,1); + maps\_player_exo::setharmonicbreachhudoutlinestyle(); + level waittill("BreachComplete"); + foreach(var_05 in var_01) + { + var_08 = stopfxontag(common_scripts\utility::getfx("distortion"),var_05,"tag_origin"); + } + + level waittill("kill_lcd_material"); + maps\_player_exo::setdefaulthudoutlinestyle(); + var_0A destroy(); +} + +//Function Number: 10 +distortionfxtoggle() +{ +} + +//Function Number: 11 +initplayerforharmonicbreach() +{ + setupplayerhud(); + level.kva = []; + level.hostages = []; + level.breachtargets = []; + setsaveddvar("r_hudoutlineenable",1); + setsaveddvar("r_hudoutlinepostmode",2); + setsaveddvar("r_hudoutlinehaloblurradius",0.5); + level.player.primaryweapon = "iw5_bal27_sp_variablereddot"; + thread playerhbreachwristequipment(); + level.player disableweapons(); + level.player allowjump(0); + level.player allowcrouch(0); + level.player allowprone(0); + level.player disableweaponswitch(); + thread hostagemarktargetstext(); + level.player notifyonplayercommand("MarkTarget","+attack"); + level.player notifyonplayercommand("MarkTarget","+attack_akimbo_accessible"); + level.player thread tracelocation(); + level.player thread restoreplayeractions(); +} + +//Function Number: 12 +restoreplayeractions() +{ + level waittill("BreachComplete"); + level.player allowjump(1); + level.player allowcrouch(1); + level.player allowprone(1); + level.player enableweaponswitch(); + level.player enableoffhandweapons(); +} + +//Function Number: 13 +initallysquad(param_00) +{ + level.allysquad = param_00; +} + +//Function Number: 14 +setupplayerhud() +{ + level.bpm = level.player maps\_hud_util::createclientfontstring("default",1.5); + level.bpm maps\_hud_util::setpoint("CENTER",undefined,0,60); + level.bpm settext(""); + thread biometrichud(); +} + +//Function Number: 15 +biometrichud() +{ + level endon("BreachFailed"); + level endon("LockTargets"); + level endon("Breach_Actor_Dead"); + for(;;) + { + if(isdefined(level.currenttarget) && isai(level.currenttarget) && level.currenttarget.team != "allies") + { + var_00 = level.currenttarget.script_parameters; + var_00 = int(var_00); + var_00 = var_00 + randomintrange(-2,2); + if(isdefined(var_00)) + { + if(!isdefined(level.hudelem_lagos_heart_rate)) + { + level.hudelem_lagos_heart_rate = get_heart_rate_hud(-505,300); + level.hudelem_lagos_heart_rate.label = &"LAGOS_HEART_RATE"; + level.hudelem_lagos_heart_rate.fontscale = 1.5; + level.hudelem_lagos_heart_rate.color = (1,1,1); + level.hudelem_lagos_heart_rate.alignx = "left"; + } + + if(!isdefined(level.hudelem_lagos_heart_rate_bpmvar)) + { + level.hudelem_lagos_heart_rate_bpmvar = get_heart_rate_hud(-395,300); + level.hudelem_lagos_heart_rate_bpmvar.label = var_00; + level.hudelem_lagos_heart_rate_bpmvar.fontscale = 1.5; + level.hudelem_lagos_heart_rate_bpmvar.color = (1,1,1); + } + + if(isdefined(level.hudelem_lagos_heart_rate_bpmvar)) + { + level.hudelem_lagos_heart_rate_bpmvar.label = var_00; + } + + if(!isdefined(level.hudelem_lagos_heart_rate_bpm)) + { + level.hudelem_lagos_heart_rate_bpm = get_heart_rate_hud(-355,300); + level.hudelem_lagos_heart_rate_bpm.label = &"LAGOS_BEATS_PER_MINUTE"; + level.hudelem_lagos_heart_rate_bpm.fontscale = 1.5; + level.hudelem_lagos_heart_rate_bpm.color = (1,1,1); + level.hudelem_lagos_heart_rate_bpm.alignx = "right"; + } + } + } + else + { + delete_heartrate_hud(); + } + + wait(0.5); + } +} + +//Function Number: 16 +get_heart_rate_hud(param_00,param_01,param_02,param_03) +{ + var_04 = param_00; + var_05 = param_01; + if(isdefined(param_02)) + { + var_06 = newclienthudelem(param_02); + } + else + { + var_06 = newhudelem(); + } + + var_06.alignx = "right"; + var_06.aligny = "middle"; + var_06.horzalign = "right"; + var_06.vertalign = "top"; + var_06.x = var_04; + var_06.y = var_05; + var_06.fontscale = 1.6; + var_06.color = (0.8,1,0.8); + var_06.font = "objective"; + var_06.glowcolor = (0.3,0.6,0.3); + var_06.glowalpha = 1; + var_06.foreground = 1; + var_06.hidewheninmenu = 1; + var_06.hidewhendead = 1; + return var_06; +} + +//Function Number: 17 +delete_heartrate_hud() +{ + if(isdefined(level.hudelem_lagos_heart_rate)) + { + level.hudelem_lagos_heart_rate destroy(); + } + + if(isdefined(level.hudelem_lagos_heart_rate_bpmvar)) + { + level.hudelem_lagos_heart_rate_bpmvar destroy(); + } + + if(isdefined(level.hudelem_lagos_heart_rate_bpm)) + { + level.hudelem_lagos_heart_rate_bpm destroy(); + } +} + +//Function Number: 18 +setupaitargetmarkingvariables() +{ + self.currenttarget = 0; + self.targetmarked = 0; + self.health = 1; +} + +//Function Number: 19 +disableaicombatreactions() +{ + maps\_utility::enable_dontevershoot(); + self.alertlevel = "noncombat"; + self.ignoreall = 1; + self.favoriteenemy = undefined; +} + +//Function Number: 20 +enableragdolldeath() +{ + level endon("BreachComplete"); + level endon("BreachFailed"); + self waittill("death"); + self.a.nodeath = 1; + animscripts\notetracks::notetrackstartragdoll("ragdoll"); +} + +//Function Number: 21 +deathcleanup() +{ + level endon("BreachComplete"); + level endon("BreachFailed"); + self waittill("death"); + self hudoutlinedisable(); + if(maps\_utility::is_in_array(level.breachtargets,self)) + { + level.breachtargets = common_scripts\utility::array_remove(level.breachtargets,self); + } + + level notify("Breach_Actor_Dead"); +} + +//Function Number: 22 +hostagepm() +{ + var_00 = getent("anim_org_drone_opening","targetname"); + level.kva_hostage_leader = maps\_utility::spawn_targetname("kva_hostage_leader_post_pcap"); + level.kva_hostage_leader setthreatdetection("disable"); + level.kva = common_scripts\utility::array_add(level.kva,level.kva_hostage_leader); + level.kva_hostage_leader.animname = "kva_hostage_leader"; + level.kva_hostage_leader.maxhealth = 1; + level.kva_hostage_leader.health = 1; + level.kva_hostage_minister = maps\_utility::spawn_targetname("kva_hostage_minister"); + level.hostages = common_scripts\utility::array_add(level.hostages,level.kva_hostage_minister); + level.kva_hostage_minister.animname = "kva_hostage_minister"; + level.kva_hostage_minister maps\_utility::add_damage_function(::hostagedeathdetection); + level.kva_hostage_minister.name = ""; + var_01 = [level.kva_hostage_leader,level.kva_hostage_minister]; + common_scripts\utility::array_thread(var_01,::setupaitargetmarkingvariables); + common_scripts\utility::array_thread(var_01,::deathcleanup); + if(isalive(level.kva_hostage_leader) && isalive(level.kva_hostage_minister)) + { + var_00 thread maps\_anim::anim_loop(var_01,"h_breach_marking"); + foreach(var_03 in var_01) + { + var_03 maps\_utility::set_allowdeath(1); + } + } +} + +//Function Number: 23 +hostagebeatup() +{ + var_00 = getent("anim_org_drone_opening","targetname"); + level.kva_guard_beatup = maps\_utility::spawn_targetname("kva_guard_beatup"); + level.kva_guard_beatup setthreatdetection("disable"); + level.kva = common_scripts\utility::array_add(level.kva,level.kva_guard_beatup); + level.kva_guard_beatup.animname = "kva_guard_beatup"; + level.kva_guard_beatup maps\_utility::gun_remove(); + level.kva_guard_beatup.maxhealth = 1; + level.kva_guard_beatup.health = 1; + level.kva_hostage_beatup = maps\_utility::spawn_targetname("kva_hostage_beatup"); + level.hostages = common_scripts\utility::array_add(level.hostages,level.kva_hostage_beatup); + level.kva_hostage_beatup.animname = "kva_hostage_beatup"; + level.kva_hostage_beatup thread enableragdolldeath(); + level.kva_hostage_beatup maps\_utility::add_damage_function(::hostagedeathdetection); + var_01 = [level.kva_guard_beatup,level.kva_hostage_beatup]; + common_scripts\utility::array_thread(var_01,::setupaitargetmarkingvariables); + common_scripts\utility::array_thread(var_01,::deathcleanup); + var_00 thread maps\_anim::anim_loop(var_01,"h_breach_marking"); + foreach(var_03 in var_01) + { + var_03 maps\_utility::set_allowdeath(1); + } +} + +//Function Number: 24 +hostagecorner() +{ + var_00 = getent("anim_org_drone_opening","targetname"); + level.kva_pm_guard = maps\_utility::spawn_targetname("kva_pm_guard"); + level.kva_pm_guard setthreatdetection("disable"); + level.kva = common_scripts\utility::array_add(level.kva,level.kva_pm_guard); + level.kva_pm_guard.animname = "kva_pm_guard"; + level.kva_pm_guard.maxhealth = 1; + level.kva_pm_guard.health = 1; + var_01 = [level.kva_pm_guard]; + common_scripts\utility::array_thread(var_01,::setupaitargetmarkingvariables); + common_scripts\utility::array_thread(var_01,::deathcleanup); + var_00 thread maps\_anim::anim_loop(var_01,"h_breach_marking"); + foreach(var_03 in var_01) + { + var_03 maps\_utility::set_allowdeath(1); + } +} + +//Function Number: 25 +hostageexecution() +{ + level endon("BreachComplete"); + level endon("BreachFailed"); + level.kva_guard_corner = maps\_utility::spawn_targetname("kva_guard_corner"); + level.kva_guard_corner setthreatdetection("disable"); + level.kva_guard_corner endon("death"); + level.kva_guard_corner.animname = "kva_guard_corner"; + level.kva_guard_corner.battlechatter = 0; + level.kva_guard_corner.sidearm = "glock"; + level.kva_guard_corner thread deathcleanup(); + level.kva_guard_corner maps\_utility::set_allowdeath(1); + level.kva_guard_corner.maxhealth = 1; + level.kva_guard_corner.health = 1; + level.kva = common_scripts\utility::array_add(level.kva,level.kva_guard_corner); + level.executionhostages = maps\_utility::array_spawn_targetname("kva_hostage_execution"); + level.hostages = maps\_utility::array_merge(level.hostages,level.executionhostages); + level.executionhostages[0] thread hostageexecutiondeath(); + level.executionhostages[1] thread hostageexecutiondeath(); + level.executionhostages[2] thread hostageexecutiondeath(); + var_00 = 1; + foreach(var_02 in level.executionhostages) + { + var_02.animname = "kva_hostage_execution_" + var_00; + var_00++; + var_02.team = "axis"; + var_02 thread enableragdolldeath(); + var_02 thread deathcleanup(); + var_02 maps\_utility::add_damage_function(::hostagedeathdetection); + } + + var_04 = common_scripts\utility::array_add(level.executionhostages,level.kva_guard_corner); + common_scripts\utility::array_thread(var_04,::setupaitargetmarkingvariables); + var_05 = getent("anim_org_drone_opening","targetname"); + var_05 thread maps\_anim::anim_loop(level.executionhostages,"h_breach_marking","hostage_start_execution"); + var_05 thread maps\_anim::anim_loop_solo(level.kva_guard_corner,"h_breach_marking","guard_start_execution"); + level waittill("h_breach_timer_done"); + var_05 notify("guard_start_execution"); + var_05 maps\_anim::anim_reach_solo(level.kva_guard_corner,"h_breach_execution"); + var_05 thread maps\_anim::anim_single_solo(level.executionhostages[2],"h_breach_execution"); + var_05 maps\_anim::anim_single_solo(level.kva_guard_corner,"h_breach_execution"); + foreach(var_07 in var_04) + { + var_07 maps\_utility::set_allowdeath(1); + } +} + +//Function Number: 26 +h_breach_timer() +{ + level endon("BreachComplete"); + wait(23); + level notify("execution_start"); + wait(5); + level notify("h_breach_timer_done"); +} + +//Function Number: 27 +hostageexecutionseq(param_00) +{ + level endon("BreachComplete"); + wait(0.5); + level notify("BreachFailed"); +} + +//Function Number: 28 +hostageexecutionseqvfx(param_00) +{ + playfxontag(common_scripts\utility::getfx("execution_blood"),level.executionhostages[2],"J_Head"); +} + +//Function Number: 29 +hostageexecutiondeath() +{ + level endon("BreachComplete"); + level endon("BreachFailed"); + self waittill("death"); + wait(0.75); + level notify("BreachFailed"); +} + +//Function Number: 30 +tracelocation() +{ + level endon("Breach_Actor_Dead"); + level endon("BreachFailed"); + level endon("LockTargets"); + for(;;) + { + var_00 = self geteye(); + var_01 = self getplayerangles(); + var_02 = anglestoforward(var_01); + var_03 = var_00 + var_02 * 250000; + var_04 = bullettrace(var_00,var_03,1,self,0,1,0,0,0); + var_05 = var_04["entity"]; + level.currenttarget = var_05; + if(isdefined(var_05) && isai(var_05) && var_05.team != "allies") + { + if(var_05.currenttarget == 0) + { + var_05 thread activetarget(); + } + } + else if(!isdefined(var_05) || !isai(var_05)) + { + level.player notify("TargetLostAll"); + } + + wait 0.05; + } +} + +//Function Number: 31 +activetarget() +{ + self endon("death"); + level endon("BreachComplete"); + level endon("BreachFailed"); + thread targetmonitor(); + thread tagtarget(); + if(self.targetmarked == 0) + { + soundscripts\_snd::snd_message("hb_highlight_enable"); + self hudoutlineenable(3,1); + } + + waittill_either_differnt_senders(level.player,"TargetLostAll",self,"TargetLost"); + if(self.targetmarked == 0) + { + soundscripts\_snd::snd_message("hb_highlight_disable"); + self hudoutlinedisable(); + } +} + +//Function Number: 32 +waittill_either_differnt_senders(param_00,param_01,param_02,param_03) +{ + param_00 endon(param_01); + param_02 waittill(param_03); +} + +//Function Number: 33 +targetmonitor() +{ + self endon("death"); + level endon("BreachComplete"); + level endon("BreachFailed"); + self.currenttarget = 1; + if(isdefined(level.currenttarget)) + { + while(isdefined(level.currenttarget) && level.currenttarget == self) + { + wait 0.05; + } + } + + self.currenttarget = 0; + self notify("TargetLost"); +} + +//Function Number: 34 +tagtarget() +{ + level endon("BreachComplete"); + level endon("BreachFailed"); + level endon("LockTargets"); + level.player endon("TargetLostAll"); + self endon("TargetLost"); + for(;;) + { + level.player waittill("MarkTarget"); + level notify("player_marking_targets"); + if(self.targetmarked == 0) + { + if(level.breachtargets.size <= 4) + { + level.breachtargets = common_scripts\utility::array_add(level.breachtargets,self); + soundscripts\_snd::snd_message("hb_target_tagged"); + self.targetmarked = 1; + self hudoutlineenable(1,1); + if(self.script_noteworthy == "KVA") + { + level notify("check_target_confirm"); + } + + if(self.script_noteworthy == "Hostage") + { + level notify("check_target_correction"); + } + } + } + else if(self.targetmarked == 1) + { + self.targetmarked = 0; + soundscripts\_snd::snd_message("hb_target_untagged"); + self hudoutlineenable(3,1); + level.breachtargets = common_scripts\utility::array_remove(level.breachtargets,self); + } + + if(self.targetmarked == 1) + { + wait 0.05; + } + } +} + +//Function Number: 35 +breachtargetarraymonitor() +{ + level endon("BreachComplete"); + level endon("BreachFailed"); + level endon("LockTargets"); + var_00 = 0; + for(;;) + { + if(level.breachtargets.size >= 4) + { + if(var_00 == 0) + { + thread hostagelocktargetstext(); + var_00 = 1; + } + } + else if(var_00 == 1) + { + thread hostagemarktargetstext(); + var_00 = 0; + } + + wait 0.05; + } +} + +//Function Number: 36 +locktargets() +{ + for(;;) + { + for(var_00 = 0;level.breachtargets.size >= 4;var_00 = 1) + { + if(level.player usebuttonpressed()) + { + level notify("LockTargets"); + soundscripts\_snd::snd_message("hb_lock_targets"); + thread hostageclearmarklocktext(); + level.bpm settext(""); + level waittill("arms_down"); + level.player enableweapons(); + level.player disableoffhandweapons(); + level.player switchtoweapon(level.player.primaryweapon); + level.player thread h_breach_bullet_decals(); + return; + } + + wait 0.05; + } + + if(!var_00) + { + wait 0.05; + } + } +} + +//Function Number: 37 +breachdialogreminders() +{ + level endon("BreachFailed"); + level endon("Breach_Actor_Dead"); + for(;;) + { + if(level.breachtargets.size == 4) + { + thread maps\lagos_vo::harmonic_breach_shoot_now_dialogue(); + wait(randomfloatrange(5,10)); + } + + wait 0.05; + } +} + +//Function Number: 38 +breachtrigger() +{ + level endon("BreachFailed"); + level waittill("Breach_Actor_Dead"); + thread hostageclearmarklocktext(); + level.bpm settext(""); + if(level.breachtargets.size > 0) + { + var_00 = getentarray("NoSight","targetname"); + foreach(var_02 in var_00) + { + var_02 delete(); + } + + thread togglebreachslomo(); + wait 0.05; + thread h_breach_hostile_elim(); + thread h_breach_multi_sync_kill_player_god(); + maps\_utility::waittill_dead_or_dying(level.breachtargets); + } + + var_04 = returnfilterednoteworthyarray("KVA"); + if(var_04.size == 0) + { + soundscripts\_snd::snd_message("hb_shots_fired"); + level notify("BreachComplete"); + level notify("player_god_off"); + wait(1); + level notify("HostageMonitorOff"); + soundscripts\_snd::snd_message("hb_sensor_flash_off"); + common_scripts\utility::array_call(level.xraywall_static,::show); + common_scripts\utility::array_call(level.xraywall_static,::solid); + common_scripts\utility::array_call(level.xraywall_on,::hide); + level notify("h_breach_wall_solid"); + thread remove_h_breach_hostages(); + return; + } + + soundscripts\_snd::snd_message("hb_shots_fired"); + level notify("BreachFailed"); +} + +//Function Number: 39 +remove_h_breach_hostages() +{ + if(!common_scripts\utility::flag("post_h_breach_playerstart")) + { + foreach(var_01 in level.hostages) + { + if(isdefined(var_01)) + { + var_01 notify("internal_stop_magic_bullet_shield"); + var_01 delete(); + } + } + + foreach(var_04 in level.kva) + { + if(isdefined(var_04)) + { + var_04 delete(); + } + } + } +} + +//Function Number: 40 +shootenemy(param_00) +{ + self endon("death"); + maps\_utility::disable_surprise(); + maps\_utility::disable_bulletwhizbyreaction(); + self.alertlevel = "combat"; + var_01 = self.baseaccuracy; + maps\_utility::disable_dontevershoot(); + self.ignoreall = 0; + self.baseaccuracy = 50000; + if(isdefined(param_00) && isalive(param_00)) + { + self.favoriteenemy = param_00; + param_00 waittill("death"); + } + + self.baseaccuracy = var_01; + self.favoriteenemy = undefined; + self.ignoreall = 1; + maps\_utility::enable_dontevershoot(); +} + +//Function Number: 41 +shootkva_enemyindexer(param_00,param_01) +{ + for(var_02 = 0;var_02 < param_01.size;var_02++) + { + if(param_00 == param_01[var_02]) + { + return var_02; + } + } +} + +//Function Number: 42 +shootkva() +{ + self endon("death"); + maps\_utility::disable_surprise(); + maps\_utility::disable_bulletwhizbyreaction(); + self.alertlevel = "combat"; + self.old_accuracy = self.baseaccuracy; + maps\_utility::disable_dontevershoot(); + self.ignoreall = 0; + self.baseaccuracy = 50000; + if(self.animname == "burke") + { + if(isalive(level.kva[0])) + { + self.favoriteenemy = level.kva[0]; + level.kva[0] waittill("death"); + wait 0.05; + } + } + + if(self.animname == "joker") + { + if(isalive(level.kva[1])) + { + self.favoriteenemy = level.kva[1]; + level.kva[1] waittill("death"); + wait 0.05; + } + } + + if(self.animname == "ajani") + { + if(isalive(level.kva[2])) + { + self.favoriteenemy = level.kva[2]; + level.kva[2] waittill("death"); + wait 0.05; + } + } + + self.baseaccuracy = self.old_accuracy; + self.favoriteenemy = undefined; + self.ignoreall = 1; + maps\_utility::enable_dontevershoot(); +} + +//Function Number: 43 +h_breach_hostile_elim() +{ + var_00 = common_scripts\utility::getstructarray("magic_bullet_loc_h","targetname"); + var_00 = common_scripts\utility::array_randomize(var_00); + thread h_breach_multi_sync_kills(level.breachtargets,var_00); +} + +//Function Number: 44 +togglebreachslomo() +{ + setslowmotion(1,0.65,0.45); + wait(2); + setslowmotion(0.45,1,0.65); +} + +//Function Number: 45 +breachfailstate() +{ + level endon("BreachComplete"); + level waittill("BreachFailed"); + level notify("DisableBreachTrigger"); + thread togglebreachslomo(); + level.player disableweapons(); + setsaveddvar("r_hudoutlineenable",0); + thread hostageclearmarklocktext(); + level.bpm settext(""); + common_scripts\utility::array_thread(level.hostages,::teamswap,"allies"); + common_scripts\utility::array_thread(level.allysquad,::disableaicombatreactions); + delete_heartrate_hud(); + setdvar("ui_deadquote",&"LAGOS_HBREACH_FAILED"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 46 +removeharmonicbreachhostages() +{ + foreach(var_01 in level.hostages) + { + var_01 delete(); + } +} + +//Function Number: 47 +returnfilterednoteworthyarray(param_00) +{ + var_01 = getentarray(param_00,"script_noteworthy"); + var_01 = maps\_utility::array_removedead_or_dying(var_01); + var_01 = common_scripts\utility::array_removeundefined(var_01); + return var_01; +} + +//Function Number: 48 +stopscriptedanimations() +{ + if(isdefined(self) && isalive(self)) + { + self stopanimscripted(); + } +} + +//Function Number: 49 +teamswap(param_00) +{ + if(isdefined(self) && isalive(self)) + { + self.team = param_00; + } +} + +//Function Number: 50 +hostagedeathdetection(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + delete_heartrate_hud(); + setdvar("ui_deadquote",&"LAGOS_HBREACH_FAILED"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 51 +hostagemarktargetstext() +{ + maps\_utility::hint(&"LAGOS_HBREACH_TARGET"); +} + +//Function Number: 52 +hostagelocktargetstext() +{ + maps\_utility::hint(&"LAGOS_HBREACH_LOCK"); +} + +//Function Number: 53 +hostageclearmarklocktext() +{ + maps\_utility::hint(""); +} + +//Function Number: 54 +playerhbreachwristequipment() +{ + thread playerhudelements(); + thread playerwristmodelanim(); +} + +//Function Number: 55 +playerhudelements() +{ + var_00 = "remote_chopper_hud_target_hit"; + var_01 = newclienthudelem(level.player); + var_01 setshader(var_00,32,32); + var_01.x = 0; + var_01.y = 0; + var_01.alignx = "center"; + var_01.aligny = "middle"; + var_01.horzalign = "center"; + var_01.vertalign = "middle"; + var_01.alpha = 1; + level waittill("LockTargets"); + var_01 maps\_hud_util::destroyelem(); + delete_heartrate_hud(); +} + +//Function Number: 56 +playerwristmodelanim() +{ + var_00 = maps\_utility::spawn_anim_model("player_hbreach_wrist",level.player.origin); + var_00 linktoplayerview(level.player,"tag_origin",(0,0,-2),(0,0,0),1); + level.player thread maps\_anim::anim_single_solo(var_00,"h_breach_on"); + level waittill("LockTargets"); + level.player maps\_anim::anim_set_rate_single(var_00,"h_breach_on",1); + wait(0.7); + var_00 delete(); + level notify("arms_down"); +} + +//Function Number: 57 +h_breach_multi_sync_kills(param_00,param_01) +{ + level.target_array = param_00; + level.shoot_point_array = []; + level.shoot_point_array[level.shoot_point_array.size] = level.burke gettagorigin("tag_flash"); + level.shoot_point_array[level.shoot_point_array.size] = level.joker gettagorigin("tag_flash"); + level.shoot_point_array[level.shoot_point_array.size] = level.ajani gettagorigin("tag_flash"); + thread h_breach_multi_sync_kills_timeout(); + while(level.target_array.size > 0) + { + level.target_array = maps\_utility::array_removedead_or_dying(level.target_array); + if(isalive(level.target_array[0])) + { + var_02 = level.target_array[0]; + var_03 = level.shoot_point_array[0]; + level.target_array = common_scripts\utility::array_remove(level.target_array,level.target_array[0]); + level.shoot_point_array = common_scripts\utility::array_remove(level.shoot_point_array,level.shoot_point_array[0]); + thread h_breach_multi_sync_kill_shooter(var_02,var_03); + } + + wait 0.05; + } +} + +//Function Number: 58 +h_breach_multi_sync_kills_timeout() +{ + wait(0.15); + foreach(var_01 in level.kva) + { + if(isalive(var_01)) + { + var_01 kill(); + } + } +} + +//Function Number: 59 +h_breach_multi_sync_kill_shooter(param_00,param_01) +{ + param_00.maxhealth = 1; + param_00.health = 1; + var_02 = param_00 gettagorigin("TAG_EYE"); + while(isalive(param_00)) + { + if(!isdefined(param_01)) + { + wait 0.05; + continue; + } + + magicbullet("iw5_bal27_sp",param_01,var_02); + level notify("h_breach_shot",param_01,var_02); + wait(randomfloatrange(0.07,0.1)); + } + + level.shoot_point_array = common_scripts\utility::array_add(level.shoot_point_array,param_01); + level.shoot_point_array = common_scripts\utility::array_randomize(level.shoot_point_array); +} + +//Function Number: 60 +h_breach_multi_sync_kill_player_god() +{ + level.player enableinvulnerability(); + level waittill("player_god_off"); + level.player disableinvulnerability(); +} + +//Function Number: 61 +h_breach_bullet_decals() +{ + self waittill("weapon_fired"); + var_00 = []; + var_00[var_00.size] = spawnstruct(); + var_01 = self geteye(); + var_02 = self geteye() + anglestoforward(self getgunangles()) * 100; + var_00[0].start = var_01; + var_00[0].end = var_02; + switch(level.breachtargets.size) + { + case 3: + level waittill("h_breach_shot",var_01,var_02); + var_03 = var_00.size; + var_00[var_03] = spawnstruct(); + var_00[var_03].start = var_01; + var_00[var_03].end = var_02; + break; + + case 2: + level waittill("h_breach_shot",var_01,var_02); + var_03 = var_00.size; + var_00[var_03] = spawnstruct(); + var_00[var_03].start = var_01; + var_00[var_03].end = var_02; + break; + + case 1: + level waittill("h_breach_shot",var_01,var_02); + var_03 = var_00.size; + var_00[var_03] = spawnstruct(); + var_00[var_03].start = var_01; + var_00[var_03].end = var_02; + break; + + default: + break; + } + + level waittill("h_breach_wall_solid"); + foreach(var_05 in var_00) + { + h_breach_bullet_spawn_decal(var_05.start,var_05.end); + h_breach_bullet_spawn_decal(var_05.end,var_05.start); + } +} + +//Function Number: 62 +h_breach_bullet_spawn_decal(param_00,param_01) +{ + var_02 = bullettrace(param_00,param_01,0); + var_03 = var_02["position"]; + var_04 = var_02["normal"] * 360 + (0,90,0); + var_05 = var_02["normal"] * 360; + if(!isdefined(var_02["entity"]) || isdefined(var_02["entity"].targetname) && var_02["entity"].targetname == "xraywall_static") + { + playfx(common_scripts\utility::getfx("lag_harmonic_breach_bullet_decal_" + randomint(4) + 1),var_03,var_04,var_05); + } +} \ No newline at end of file diff --git a/AW/PC/maps/lagos_jump.gsc b/AW/PC/maps/lagos_jump.gsc new file mode 100644 index 0000000..0a2c862 --- /dev/null +++ b/AW/PC/maps/lagos_jump.gsc @@ -0,0 +1,474 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: lagos_jump.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 19 + * Decompile Time: 271 ms + * Timestamp: 4/22/2024 2:33:49 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} + +//Function Number: 2 +exo_jump_process() +{ + level.player endon("exo_jump_process_end"); + common_scripts\utility::flag_wait("flag_setup_highway_vehicles"); + wait 0.05; + level.player notifyonplayercommand("exo_jump_button","+gostand"); + thread exo_jump_button_listener(); + level.player.exo_jump_button_pressed = 0; + level.jumping_rig = maps\_utility::spawn_anim_model("player_arms",(0,0,0)); + level.handplant_target = spawn("script_origin",(0,0,0)); + level.script_origin_target_array = getentarray("jump_target","targetname"); + var_00 = 999999999; + for(var_01 = 0;var_01 < level.script_origin_target_array.size;var_01++) + { + var_02 = distancesquared(level.script_origin_target_array[var_01].origin,level.player.origin); + if(var_00 > var_02) + { + var_00 = var_02; + level.jump_target = level.script_origin_target_array[var_01]; + } + } + + level.player.jump_state = 1; + for(;;) + { + waittillframeend; + switch(level.player.jump_state) + { + case 1: + if(level.player.exo_jump_button_pressed) + { + player_assisted_jump(level.script_origin_target_array); + } + break; + + case 2: + break; + + case 3: + if(level.player buttonpressed("DPAD_UP")) + { + player_unlock(); + level.player.jump_state = 1; + } + else if(level.player isonground() && level.player.exo_jump_button_pressed) + { + player_assisted_jump(level.script_origin_target_array); + } + break; + } + + wait 0.05; + } +} + +//Function Number: 3 +exo_jump_button_listener() +{ + level.player endon("exo_jump_process_end"); + for(;;) + { + level.player waittill("exo_jump_button"); + var_00 = getgroundposition(level.player.origin,16); + var_01 = abs(var_00[2] - level.player.origin[2]); + if(var_01 < 20) + { + level.player.exo_jump_button_pressed = 1; + } + + wait 0.05; + level.player.exo_jump_button_pressed = 0; + } +} + +//Function Number: 4 +exo_jump_end() +{ + level.player notify("exo_jump_process_end"); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.player maps\_utility::restore_players_weapons("traffic_weapons"); + level.player.jump_state = 1; + if(isdefined(level.jumping_rig)) + { + level.player unlink(); + } + + if(isdefined(level.jumping_rig)) + { + level.jumping_rig delete(); + } + + if(isdefined(level.handplant_target)) + { + level.handplant_target delete(); + } + + level.player notifyonplayercommandremove("exo_jump_button","+gostand"); + level.player.exo_jump_button_pressed = undefined; +} + +//Function Number: 5 +player_exo_jump_hint(param_00) +{ + for(;;) + { + var_01 = get_best_jump_target(param_00); + if(isdefined(var_01)) + { + maps\_utility::display_hint_timeout("player_exo_jump",20); + break; + } + + wait(0.1); + } +} + +//Function Number: 6 +player_assisted_jump(param_00) +{ + var_01 = get_best_jump_target(param_00); + if(isdefined(var_01)) + { + level.jump_target = var_01; + var_02 = (0,0,0); + if(isdefined(level.burke_bus_goal)) + { + var_03 = 40; + if(distance2dsquared(level.burke_bus_goal.origin,var_01.origin) < var_03 * var_03) + { + var_04 = vectornormalize(var_01.origin - level.burke_bus_goal.origin); + var_02 = level.burke_bus_goal.origin + var_03 * var_04 - var_01.origin; + } + } + + var_05 = var_01.origin + var_02; + var_06 = var_05 - level.player.origin; + var_07 = distance2d(var_05,level.player.origin); + level.player.jump_state = 2; + level.player maps\_shg_utility::setup_player_for_scene(); + level.player maps\_utility::store_players_weapons("traffic_weapons"); + level.player takeallweapons(); + thread animate_script_origin(var_01,var_02,var_06,var_07,1); + player_unlock(); + } +} + +//Function Number: 7 +player_handplant() +{ + level.jumping_rig waittill("notetrack_vm_exo_magnet_start"); + maps\_anim::anim_set_rate_single(level.jumping_rig,level.jump_animstring,0); + level.player.jump_state = 3; + maps\_utility::display_hint_timeout("player_exo_jump_release",5); +} + +//Function Number: 8 +player_handplant_standalone() +{ + var_00 = level.handplant_target; + level.jump_target = var_00; + level.jumping_rig showallparts(); + level.player maps\_shg_utility::setup_player_for_scene(); + level.player maps\_utility::store_players_weapons("traffic_weapons"); + level.player takeallweapons(); + match_angles_pos(level.jumping_rig,level.player); + match_angles_pos(var_00,level.jumping_rig); + level.jumping_rig linkto(var_00); + level.player playerlinktoblend(level.jumping_rig,"tag_player",1,0.1,0.1); + level.jump_animstring = "bus_jump_vm_handplant"; + level.jumping_rig thread maps\_anim::anim_single_solo(level.jumping_rig,level.jump_animstring); + thread player_handplant(); +} + +//Function Number: 9 +player_link_to(param_00,param_01) +{ + level.player endon("exo_jump_process_end"); + level.player endon("exo_jump_stop_view_clamp"); + level.player endon("death"); + var_02 = 1; + switch(param_00) + { + case "bus_jump_vm_a": + var_02 = 0.75 / param_01; + break; + + case "bus_jump_vm_b": + var_02 = 0.9 / param_01; + break; + + case "bus_jump_vm_c": + var_02 = 1.1 / param_01; + break; + + default: + break; + } + + level.player playerlinktoblend(level.jumping_rig,"tag_player",var_02); + level.jumping_rig hide(); + wait(var_02); + level.jumping_rig show(); + level waittill("bus_jump_player_landed"); + wait(1); + level.player playerlinktodelta(level.jumping_rig,"tag_player"); + level.player lerpviewangleclamp(1,0.2,0.2,70,35,70,10); +} + +//Function Number: 10 +player_unlock() +{ + maps\_anim::anim_set_rate_single(level.jumping_rig,level.jump_animstring,1); + level.jumping_rig waittill("notetrack_vm_exo_magnet_end"); + level.player unlink(); + level.player playerlinktodelta(level.jump_target,""); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.player maps\_utility::restore_players_weapons("traffic_weapons"); + wait(0.5); + level.player unlink(); + level.player.jump_state = 1; +} + +//Function Number: 11 +get_stick_dir_in_world_coor() +{ + var_00 = level.player getnormalizedmovement(); + var_00 = (var_00[0],var_00[1] * -1,0); + var_01 = rotatevector(var_00,level.player.angles); + var_01 = vectornormalize(var_01); + return var_01; +} + +//Function Number: 12 +get_best_jump_target(param_00) +{ + if(!isdefined(level.const_cosine_stick_angle)) + { + level.const_cosine_stick_angle = cos(30); + } + + if(!isdefined(level.const_cosine_bunched_angle)) + { + level.const_cosine_bunched_angle = cos(2); + } + + var_01 = level.player getnormalizedmovement(); + var_02 = vectortoyaw(var_01); + var_03 = 45; + if(common_scripts\utility::flag("flag_bus_traverse_4")) + { + var_03 = 60; + } + + if(var_03 < var_02 && var_02 < 360 - var_03) + { + return undefined; + } + + var_04 = get_stick_dir_in_world_coor(); + if(distance2d(var_04,(0,0,0)) < 0.1) + { + return undefined; + } + + var_05 = 0; + var_06 = -1; + var_07 = 99999; + for(var_08 = 0;var_08 < param_00.size;var_08++) + { + var_09 = param_00[var_08] getlinkedparent(); + var_0A = level.jump_target getlinkedparent(); + if(isdefined(var_09) && isdefined(var_0A) && var_09 == var_0A) + { + continue; + } + + if(level.player.origin[2] - param_00[var_08].origin[2] < -120) + { + continue; + } + + var_0B = distance2dsquared(param_00[var_08].origin,level.player.origin); + if(var_0B > 360000 || var_0B < 100) + { + continue; + } + + var_0C = sqrt(var_0B); + var_0D = param_00[var_08].origin - level.player.origin; + var_0E = var_0D * 1 / var_0C; + var_0F = vectordot(var_04,var_0E); + if(var_06 != -1 && abs(var_05 - var_0F) < abs(var_05 - level.const_cosine_bunched_angle) && abs(var_0C - var_07) < 50) + { + if((var_01[0] < 0.5 && var_0C < var_07) || var_01[0] > 0.5 && var_0C > var_07) + { + var_05 = var_0F; + var_06 = var_08; + var_07 = var_0C; + } + else + { + } + + continue; + } + + if(var_0F > var_05) + { + var_05 = var_0F; + var_06 = var_08; + var_07 = var_0C; + } + } + + if(var_05 < level.const_cosine_stick_angle || var_06 == -1) + { + return undefined; + } + + return param_00[var_06]; +} + +//Function Number: 13 +orient_facing(param_00,param_01) +{ + var_02 = param_01.origin - param_00.origin; + var_03 = vectortoangles(var_02); + param_00.angles = var_03; +} + +//Function Number: 14 +match_angles_pos(param_00,param_01) +{ + param_00.angles = param_01.angles; + param_00.origin = param_01.origin; +} + +//Function Number: 15 +animate_script_origin(param_00,param_01,param_02,param_03,param_04) +{ + level.player endon("exo_jump_process_end"); + level.jumping_rig.origin = param_00.origin; + var_05 = vectortoangles(param_02); + param_00 linkto(param_00.linkparent_ent,param_00.linkparent_tag,param_01,var_05 - param_00.linkparent_ent.angles); + level.jumping_rig linkto(param_00); + level.jump_animstring = ""; + if(param_03 < 118.5) + { + level.jump_animstring = "bus_jump_vm_a"; + } + else if(param_03 < 240.93) + { + level.jump_animstring = "bus_jump_vm_b"; + } + else + { + level.jump_animstring = "bus_jump_vm_c"; + } + + var_06 = level.player getmovingplatformparent(); + if(isdefined(var_06) && isdefined(var_06.targetname) && var_06.targetname == "sb_bus_traverse_4") + { + common_scripts\utility::flag_set("flag_bus_traverse_5_start_takedown"); + } + + var_07 = 1.2; + if(param_04) + { + thread player_link_to(level.jump_animstring,var_07); + } + + param_00 maps\_utility::delaythread(0.05,::maps\_anim::anim_set_rate_single,level.jumping_rig,level.jump_animstring,var_07); + param_00 maps\_anim::anim_single_solo(level.jumping_rig,level.jump_animstring); + if(isdefined(level.jumping_rig)) + { + level.jumping_rig hide(); + } +} + +//Function Number: 16 +notetrack_vm_exo_magnet_start(param_00) +{ +} + +//Function Number: 17 +notetrack_vm_exo_magnet_end(param_00) +{ + if(isdefined(level.jumping_rig)) + { + level.jumping_rig notify("notetrack_vm_exo_magnet_end"); + } +} + +//Function Number: 18 +spawn_vehicle_from_targetname_and_setup_jump_targets(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = maps\_vehicle::spawn_vehicle_from_targetname(param_00); + var_06 = ""; + var_05.script_origin_roof = []; + if(!isdefined(param_01)) + { + param_01 = 4; + } + + var_07 = 0; + for(var_08 = 0;var_08 < param_01;var_08++) + { + if(var_08 == 0) + { + var_06 = "tag_roof_a"; + } + else if(var_08 == 1) + { + var_06 = "tag_roof_b"; + } + else if(var_08 == 2) + { + var_06 = "tag_roof_c"; + } + else if(var_08 == 3) + { + var_06 = "tag_roof_d"; + } + + if(isdefined(param_02) && param_02 == var_06) + { + continue; + } + else if(isdefined(param_03) && param_03 == var_06) + { + continue; + } + else if(isdefined(param_04) && param_04 == var_06) + { + continue; + } + + if(isdefined(var_05 gettagorigin(var_06))) + { + var_05.script_origin_roof[var_07] = spawn("script_origin",(0,0,0)); + var_05.script_origin_roof[var_07].origin = var_05 gettagorigin(var_06); + var_05.script_origin_roof[var_07].targetname = "jump_target"; + var_05.script_origin_roof[var_07] linkto(var_05,var_06); + var_05.script_origin_roof[var_07].linkparent_tag = var_06; + var_05.script_origin_roof[var_07].linkparent_ent = var_05; + var_07++; + } + } + + var_05 thread test(); + return var_05; +} + +//Function Number: 19 +test() +{ + wait 0.05; +} \ No newline at end of file diff --git a/AW/PC/maps/lagos_lighting.gsc b/AW/PC/maps/lagos_lighting.gsc new file mode 100644 index 0000000..766388d --- /dev/null +++ b/AW/PC/maps/lagos_lighting.gsc @@ -0,0 +1,2103 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: lagos_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 118 + * Decompile Time: 1688 ms + * Timestamp: 4/22/2024 2:33:54 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + thread set_level_lighting_values(); + thread setup_dof_presets(); + thread setup_dof_viewmodel_presets(); + thread setup_flickerlight_presets(); + thread test_sun_flare(); + init_level_lighting_flags(); + thread setup_lighting_intro_drone(); + thread setup_lighting_intro_start(); + thread setup_lighting_government_start(); + thread setup_lighting_pre_h_breach_start(); + thread setup_lighting_post_h_breach_start(); + thread setup_lighting_roundabout_start(); + thread setup_lighting_alley1_start(); + thread setup_lighting_oncoming_start(); + thread setup_lighting_alley2_start(); + thread setup_lighting_flank_start(); + thread setup_lighting_frogger_start(); + thread setup_lighting_rail_start(); + thread setup_lighting_middle_takedown_start(); + thread setup_lighting_post_middle_takedown_start(); + thread setup_lighting_van_takedown_start(); + thread setup_lighting_underwater_start(); + thread setup_lighting_shoreline_start(); + thread setup_lighting_outro_start(); + thread setup_dof_drone(); + thread setup_lightgrid_lighting_drone(); + thread setup_lighting_drone(); + thread setup_hostage_key_fov_tune(); + thread setup_lighting_lagos_generic(); + thread setup_lighting_sunflare(); + thread setup_dof_intro(); + thread setup_lighting_lagos_intro_interiors(); + thread setup_lighting_lagos_intro_post_exo_interiors(); + thread setup_lighting_lagos_intro_alley(); + thread setup_lighting_lagos_intro_alley_transition(); + thread setup_lighting_government_overlook_door(); + thread setup_lighting_government_overlook(); + thread setup_dof_government_overlook(); + thread setup_government_rpg_explosion_lighting(); + thread setup_government_rpg_explosion_dof(); + thread setup_lighting_railwalk(); + thread setup_government_climb_sunlerp(); + thread setup_lighting_override_exo_wallclimb(); + thread setup_dof_government_climb(); + thread setup_dof_government_breach(); + thread setup_lighting_government_breach(); + thread setup_lighting_government(); + thread setup_lighting_harmonic_breach(); + thread setup_lighting_harmonic_breach_hud(); + thread setup_lighting_harmonic_breach_dof(); + thread setup_lighting_government_hostage(); + thread setup_lighting_hostage_release(); + thread setup_dof_hostage_release(); + thread setup_lighting_government_ext(); + thread setup_lighting_lobby(); + thread setup_lighting_roundabout(); + thread setup_lighting_roundabout_transition(); + thread setup_lighting_initial_rpgs(); + thread setup_dof_roundabout_tanker_explosion(); + thread setup_lighting_tanker_aftermath(); + thread setup_lighting_alley(); + thread setup_lighting_alley_interiors(); + thread setup_motion_blur_oncoming(); + thread setup_lighting_rec_yard(); + thread setup_lighting_rec_yard_transition(); + thread setup_lighting_marketplace(); + thread setup_lighting_marketplace_interiors(); + thread setup_lighting_traffic_crossing(); + thread setup_lighting_chase_start(); + thread setup_motion_blur_chase_start(); + thread setup_lighting_chase_tunnel_transition(); + thread setup_lighting_chase_tunnel(); + thread setup_lighting_suv_takedown(); + thread setup_lighting_chase_buildings(); + thread setup_lighting_van_takedown(); + thread setup_dof_van_takedown(); + thread setup_lighting_underwater(); + thread setup_lighting_underwater_sunlerp(); + thread setup_lighting_underwater_lights(); + thread setup_lighting_shoreline(); + thread setup_dof_shoreline(); + thread setup_lighting_outro(); +} + +//Function Number: 2 +init_level_lighting_flags() +{ + common_scripts\utility::flag_init("fly_drone_done_lighting"); + common_scripts\utility::flag_init("exo_door_lighting"); + common_scripts\utility::flag_init("exo_door_lighting_complete"); + common_scripts\utility::flag_init("begin_harmonic_breach_lighting"); + common_scripts\utility::flag_init("harmonic_complete_lighting"); + common_scripts\utility::flag_init("hostage_release_lighting"); + common_scripts\utility::flag_init("alley_oncoming_gate_lighting"); + common_scripts\utility::flag_init("alley_oncoming_truck_lighting"); + common_scripts\utility::flag_init("chase_lighting"); + common_scripts\utility::flag_init("traffic_ledge_lighting"); + common_scripts\utility::flag_init("suv_takedown_lighting"); + common_scripts\utility::flag_init("suv_takedown_shoot_lighting"); + common_scripts\utility::flag_init("suv_takedown_dodge_lighting"); + common_scripts\utility::flag_init("suv_takedown_jump_lighting"); + common_scripts\utility::flag_init("suv_takedown_windshield_lighting"); + common_scripts\utility::flag_init("suv_takedown_jump2_lighting"); + common_scripts\utility::flag_init("flag_post_suv_takedown_lighting"); + common_scripts\utility::flag_init("van_takedown_hold_lighting"); + common_scripts\utility::flag_init("van_takedown_shoot_lighting"); + common_scripts\utility::flag_init("van_takedown_impact_lighting"); + common_scripts\utility::flag_init("government_rpg_lighting"); + common_scripts\utility::flag_init("climb_begin_lighting"); + common_scripts\utility::flag_init("climb_ending_lighting"); + common_scripts\utility::flag_init("gov_breach_start_lighting"); + common_scripts\utility::flag_init("trigger_start_tour_bus_lighting"); + common_scripts\utility::flag_init("takedown_playerstart_lighting"); + common_scripts\utility::flag_init("takedown_underwater_lighting"); + common_scripts\utility::flag_init("underwater_lighting"); + common_scripts\utility::flag_init("van_door_open_lighting"); + common_scripts\utility::flag_init("shoreline_lighting"); +} + +//Function Number: 3 +set_level_lighting_values() +{ + if(isusinghdr()) + { + setsaveddvar("r_disablelightsets",0); + if(maps\_utility::is_gen4()) + { + level.player lightsetforplayer("lagos_intro_drone"); + } + + if(level.nextgen) + { + setsaveddvar("r_hemiAoEnable",1); + } + } +} + +//Function Number: 4 +setup_dof_presets() +{ + if(level.nextgen) + { + maps\_lighting::create_dof_preset("lagos_drone",0,150,4,250,800,2,0.5); + maps\_lighting::create_dof_preset("lagos_drone_hostage",0,50,6,200,390,4,0.5); + maps\_lighting::create_dof_preset("lagos_intro",5,35,5,400,4000,1.5,0.5); + maps\_lighting::create_dof_preset("lagos_standard",0,20,5,1000,7000,1,0.5); + maps\_lighting::create_dof_preset("lagos_government_overlook",10,40,8,350,1300,2,0.5); + maps\_lighting::create_dof_preset("lagos_government_climb",0,20,6,25,315,2,0.5); + maps\_lighting::create_dof_preset("lagos_government_climb_blurry",0,120,7,25,315,2,0.5); + maps\_lighting::create_dof_preset("lagos_government_breach",0,24,6,500,1880,1.8,0.5); + maps\_lighting::create_dof_preset("lagos_hostage_room",5,35,6,250,2500,3.5,0.5); + maps\_lighting::create_dof_preset("lagos_roundabout_tanker",10,250,6,1000,3000,2,0.5); + maps\_lighting::create_dof_preset("lagos_chase_start",65,400,6,650,1000,1.5,0.5); + maps\_lighting::create_dof_preset("lagos_van_takedown",0,60,6,1000,7000,2,0.5); + maps\_lighting::create_dof_preset("lagos_van_takedown_shootout",0,60,6,214,800,2,0.5); + maps\_lighting::create_dof_preset("lagos_underwater",0,15,3,1000,5000,0.1,0.5); + return; + } + + maps\_lighting::create_dof_preset("lagos_default",0,30,1,1000,7000,1.259,0.5); + maps\_lighting::create_dof_preset("lagos_drone",0,150,3,250,800,1,0.5); + maps\_lighting::create_dof_preset("lagos_drone_hostage",0,50,5,200,390,2,0.5); + maps\_lighting::create_dof_preset("lagos_intro",5,35,4,400,4000,0.75,0.5); + maps\_lighting::create_dof_preset("lagos_standard",0,20,4,1000,7000,0.5,0.5); + maps\_lighting::create_dof_preset("lagos_government_overlook",10,40,6,350,1300,1,0.5); + maps\_lighting::create_dof_preset("lagos_government_climb",0,20,5,25,315,1,0.5); + maps\_lighting::create_dof_preset("lagos_government_climb_blurry",0,60,6,25,315,1,0.5); + maps\_lighting::create_dof_preset("lagos_government_breach",0,24,5,500,1880,0.9,0.5); + maps\_lighting::create_dof_preset("lagos_hostage_room",5,35,5,250,2500,1.75,0.5); + maps\_lighting::create_dof_preset("lagos_roundabout_tanker",10,125,5,1000,6000,0.75,0.5); + maps\_lighting::create_dof_preset("lagos_chase_start",65,200,5,650,1000,0.75,0.5); + maps\_lighting::create_dof_preset("lagos_chase_buildings",0,60,1,1000,7000,1.66,0.5); + maps\_lighting::create_dof_preset("lagos_van_takedown",0,60,5,1000,7000,1,0.5); + maps\_lighting::create_dof_preset("lagos_van_takedown_shootout",0,60,5,214,800,1,0.5); + maps\_lighting::create_dof_preset("lagos_underwater",0,15,2,1000,5000,0.1,0.5); +} + +//Function Number: 5 +setup_dof_viewmodel_presets() +{ + maps\_lighting::create_dof_viewmodel_preset("lagos_viewmodel_standard",1,12); + maps\_lighting::create_dof_viewmodel_preset("lagos_viewmodel_harmonic_breach",0,32); + maps\_lighting::create_dof_viewmodel_preset("lagos_viewmodel_vantakedown_shootout",0,22); +} + +//Function Number: 6 +setup_flickerlight_presets() +{ + maps\_lighting::create_flickerlight_preset("lagos_underwater",(0.972549,0.62451,1),(0.2,0.1462746,1),0.005,0.2,5); +} + +//Function Number: 7 +test_sun_flare() +{ + thread maps\_shg_fx::vfx_sunflare("lag_sun_flare"); +} + +//Function Number: 8 +setup_lighting_intro_drone() +{ + common_scripts\utility::flag_wait("fly_drone_start"); + wait(0.5); + level.player lightsetforplayer("lagos_intro_drone_exterior"); + level.player setclutforplayer("clut_lagos_drone",0.25); + maps\_utility::vision_set_fog_changes("lagos_intro_drone",0.5); + maps\_shg_fx::set_sun_flare_position((-31,-35,0)); +} + +//Function Number: 9 +setup_lighting_intro_start() +{ + common_scripts\utility::flag_wait("intro_playerstart"); + wait(0.1); + level.player lightsetforplayer("lagos_intro_sequence"); + level.player setclutforplayer("clut_lagos_intro_exterior",1); + maps\_utility::vision_set_fog_changes("lagos_intro",0.1); + maps\_shg_fx::set_sun_flare_position((-29,-60,0)); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + thread maps\_lighting::lerp_spot_intensity("intro_primary_rim",0.25,1000000); + thread maps\_lighting::lerp_spot_intensity("intro_primary_final_rim",0.25,200000); + } + + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("intro_primary_uplight",0.25,80000); + } + else + { + thread maps\_lighting::lerp_spot_intensity("intro_primary_uplight",0.25,140000); + } + + var_00 = getent("initial_talking_lighting_centroid","targetname"); + var_01 = getent("under_train_lighting_centroid","targetname"); + if(level.nextgen) + { + var_02 = getent("intro_primary_final_rim","targetname"); + var_03 = getent("intro_primary_rim","targetname"); + var_02 setlightshadowstate("force_on"); + var_03 setlightshadowstate("force_on"); + } + + level.burke overridelightingorigin(var_00.origin); + wait(12); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("intro_primary_uplight",2,0); + thread maps\_lighting::lerp_spot_intensity("intro_primary_final_rim",5,40000); + } + + wait(6); + level.player lightsetforplayer("lagos_intro"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + thread maps\_lighting::lerp_spot_intensity("intro_primary_final_rim",2,0); + thread maps\_lighting::lerp_spot_intensity("intro_primary_rim",5,0); + var_02 = getent("intro_primary_final_rim","targetname"); + var_03 = getent("intro_primary_rim","targetname"); + var_02 setlightshadowstate("normal"); + var_03 setlightshadowstate("normal"); + } + + level.burke defaultlightingorigin(); +} + +//Function Number: 10 +setup_lighting_government_start() +{ + common_scripts\utility::flag_wait("government_courtyard_playerstart"); + wait(0.1); + level.player lightsetforplayer("lagos_government_building_ext"); + level.player setclutforplayer("clut_lagos_intro_exterior",1); + maps\_utility::vision_set_fog_changes("lagos_government_building_ext",0.1); + if(level.nextgen) + { + } + + maps\_shg_fx::set_sun_flare_position((-31,-35,0)); +} + +//Function Number: 11 +setup_lighting_pre_h_breach_start() +{ + common_scripts\utility::flag_wait("pre_h_breach_playerstart"); + wait(0.1); + level.player lightsetforplayer("lagos_government"); + level.player setclutforplayer("clut_lagos_government_interior",0.1); + maps\_utility::vision_set_fog_changes("lagos_government_building",0.1); + if(level.nextgen) + { + } + + maps\_shg_fx::set_sun_flare_position((-31,-35,0)); + thread maps\_lighting::lerp_spot_intensity("government_hostage_fill",3,20000); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("government_window_back_02",1,250000); + var_00 = getent("government_window_back_02","targetname"); + var_00 setlightfovrange(45,10); + } + + common_scripts\_exploder::exploder(4007); +} + +//Function Number: 12 +setup_lighting_post_h_breach_start() +{ + common_scripts\utility::flag_wait("post_h_breach_playerstart"); + wait(0.1); + level.player lightsetforplayer("lagos_government"); + level.player setclutforplayer("clut_lagos_government_interior",0.1); + maps\_utility::vision_set_fog_changes("lagos_government_building",0.1); + if(level.nextgen) + { + } + + maps\_shg_fx::set_sun_flare_position((-31,-35,0)); + thread maps\_lighting::lerp_spot_intensity("government_hostage_fill",3,20000); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("government_window_back_02",1,250000); + thread maps\_lighting::lerp_spot_intensity("government_building_breach_player",1,120000); + var_00 = getent("government_window_back_02","targetname"); + var_00 setlightfovrange(45,10); + } + + common_scripts\_exploder::exploder(4007); + common_scripts\_exploder::exploder(4023); +} + +//Function Number: 13 +setup_lighting_roundabout_start() +{ + common_scripts\utility::flag_wait("roundabout_playerstart"); + wait(0.1); + level.player lightsetforplayer("lagos_government_building_transition"); + level.player setclutforplayer("clut_lagos_intro_exterior",0.1); + maps\_utility::vision_set_fog_changes("lagos_government_building_ext",0.1); + if(level.nextgen) + { + } + + maps\_shg_fx::set_sun_flare_position((-39,-45,0)); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("government_window_back_02",1,0); + } +} + +//Function Number: 14 +setup_lighting_alley1_start() +{ + common_scripts\utility::flag_wait("alley1_playerstart"); + wait(0.1); + level.player lightsetforplayer("lagos_alley"); + level.player setclutforplayer("clut_lagos_intro_exterior",0.1); + maps\_utility::vision_set_fog_changes("lagos_alley",0.1); + if(level.nextgen) + { + } + + maps\_shg_fx::set_sun_flare_position((-39,-45,0)); +} + +//Function Number: 15 +setup_lighting_oncoming_start() +{ + common_scripts\utility::flag_wait("oncoming_downhill_playerstart"); + wait(0.1); + level.player lightsetforplayer("lagos_alley"); + level.player setclutforplayer("clut_lagos_intro_exterior",0.1); + maps\_utility::vision_set_fog_changes("lagos_alley",0.1); + if(level.nextgen) + { + } + + maps\_shg_fx::set_sun_flare_position((-39,-45,0)); +} + +//Function Number: 16 +setup_lighting_alley2_start() +{ + common_scripts\utility::flag_wait("alley2_playerstart"); + wait(0.1); + level.player lightsetforplayer("lagos_alley_rec_transition"); + level.player setclutforplayer("clut_lagos_intro_exterior",0.1); + maps\_utility::vision_set_fog_changes("lagos_rec_yard",0.1); + if(level.nextgen) + { + } + + maps\_shg_fx::set_sun_flare_position((-40,-39,0)); +} + +//Function Number: 17 +setup_lighting_flank_start() +{ + common_scripts\utility::flag_wait("flank_playerstart"); + wait(0.1); + level.player lightsetforplayer("lagos_alley_interiors"); + level.player setclutforplayer("clut_lagos_intro_exterior",0.1); + maps\_utility::vision_set_fog_changes("lagos_alley_interiors",0.1); + if(level.nextgen) + { + } + + maps\_shg_fx::set_sun_flare_position((-40,-39,0)); +} + +//Function Number: 18 +setup_lighting_frogger_start() +{ + common_scripts\utility::flag_wait("frogger_playerstart"); + wait(0.1); + level.player lightsetforplayer("lagos_frogger"); + level.player setclutforplayer("clut_lagos_frogger",0.1); + maps\_utility::vision_set_fog_changes("lagos_traffic_crossing",0.1); + if(level.nextgen) + { + } + + maps\_shg_fx::set_sun_flare_position((-40,-50,0)); +} + +//Function Number: 19 +setup_lighting_rail_start() +{ + common_scripts\utility::flag_wait("rail_playerstart"); + wait(0.1); + level.player lightsetforplayer("lagos_frogger"); + level.player setclutforplayer("clut_lagos_frogger",0.1); + maps\_utility::vision_set_fog_changes("lagos_traffic_crossing",0.1); + if(level.nextgen) + { + } + + maps\_shg_fx::set_sun_flare_position((-40,-39,0)); +} + +//Function Number: 20 +setup_lighting_middle_takedown_start() +{ + common_scripts\utility::flag_wait("flag_begin_suv_takedown"); + wait(0.1); + level.player lightsetforplayer("lagos_chase"); + level.player setclutforplayer("clut_lagos_chase",0.1); + maps\_utility::vision_set_fog_changes("lagos_chase",0.1); + if(level.nextgen) + { + } + + maps\_shg_fx::set_sun_flare_position((-40,65,0)); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + } +} + +//Function Number: 21 +setup_lighting_post_middle_takedown_start() +{ + common_scripts\utility::flag_wait("flag_post_suv_takedown_lighting"); + wait(0.1); + level.player lightsetforplayer("lagos_chase"); + level.player setclutforplayer("clut_lagos_chase",0.1); + maps\_utility::vision_set_fog_changes("lagos_chase",0.1); + if(level.nextgen) + { + } + + maps\_shg_fx::set_sun_flare_position((-40,65,0)); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + } + + wait(0.3); + lerpsunangles((-40,72,0),(-85,120,0),0.5); + wait(2.2); + lerpsunangles((-85,120,0),(-40,72,0),1); + wait(5); + resetsundirection(); +} + +//Function Number: 22 +setup_lighting_van_takedown_start() +{ + common_scripts\utility::flag_wait("takedown_playerstart_lighting"); + wait(0.1); + level.player lightsetforplayer("lagos_chase"); + level.player setclutforplayer("clut_lagos_chase_vista",0.1); + maps\_utility::vision_set_fog_changes("lagos_chase_vista",0.1); + if(level.nextgen) + { + } + + maps\_shg_fx::set_sun_flare_position((-20,80,0)); + thread ramp_up_motion_blur(); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + } +} + +//Function Number: 23 +setup_lighting_underwater_start() +{ + common_scripts\utility::flag_wait("takedown_underwater_lighting"); + wait(0.1); + level.player lightsetforplayer("lagos_underwater"); + level.player setclutforplayer("clut_lagos_chase",0.1); + maps\_utility::vision_set_fog_changes("lagos_underwater",0.1); + if(level.nextgen) + { + } + + maps\_shg_fx::set_sun_flare_position((-20,80,0)); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + } +} + +//Function Number: 24 +setup_lighting_shoreline_start() +{ + common_scripts\utility::flag_wait("shore_pcap_playerstart"); + wait(0.1); + level.player lightsetforplayer("lagos_shoreline"); + level.player setclutforplayer("clut_lagos_shoreline",0.1); + maps\_utility::vision_set_fog_changes("lagos_shoreline",0.1); + maps\_shg_fx::set_sun_flare_position((-20,80,0)); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + } + + setsaveddvar("r_lightgridenabletweaks","1"); + maps\_utility::lerp_saveddvar("r_lightgridintensity",0.75,1); +} + +//Function Number: 25 +setup_lighting_outro_start() +{ + common_scripts\utility::flag_wait("outro_playerstart"); + wait(0.1); + level.player lightsetforplayer("lagos_outro"); + maps\_utility::vision_set_fog_changes("lagos_outro",0.1); + if(level.nextgen) + { + } + + maps\_shg_fx::set_sun_flare_position((-20,80,0)); +} + +//Function Number: 26 +droneviewstatic() +{ + level.dronevignette = newhudelem(level.player); + level.dronevignette.x = 0; + level.dronevignette.y = 0; + level.dronevignette.alpha = 0.15; + level.dronevignette.horzalign = "fullscreen"; + level.dronevignette.vertalign = "fullscreen"; + level.dronevignette.sort = 3; + level.dronevignette setshader("s1_railgun_hud_outer_shadow",640,480); + common_scripts\utility::flag_wait("fly_drone_done_lighting"); + level.dronevignette destroy(); +} + +//Function Number: 27 +setup_dof_drone() +{ + common_scripts\utility::flag_wait("fly_drone_start"); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehenable","1"); + } + + common_scripts\utility::flag_wait("flag_player_input_for_drone_start"); + wait(29); + maps\_utility::vision_set_fog_changes("lagos_intro_drone_hostage",3); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(3,100); +} + +//Function Number: 28 +setup_lightgrid_lighting_drone() +{ + common_scripts\utility::flag_wait("fly_drone_start"); + wait(9); + setsaveddvar("r_lightgridenabletweaks","1"); + maps\_utility::lerp_saveddvar("r_lightgridintensity",0.5,2); + wait(18); + maps\_utility::lerp_saveddvar("r_lightgridintensity",1,5); + if(level.nextgen) + { + var_00 = getent("government_window_back_02","targetname"); + var_00 setlightshadowstate("force_on"); + common_scripts\utility::flag_wait("fly_drone_done_lighting"); + var_00 setlightshadowstate("normal"); + } +} + +//Function Number: 29 +setup_lighting_drone() +{ + common_scripts\utility::flag_wait("fly_drone_start"); + thread droneviewstatic(); + common_scripts\_exploder::exploder(4024); + common_scripts\_exploder::exploder(4023); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + } + + common_scripts\utility::flag_wait("flag_player_input_for_drone_start"); + wait(8); + level.player lightsetforplayer("lagos_intro_drone"); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("government_window_front_01",3,2000000); + thread maps\_lighting::lerp_spot_intensity("government_window_front_02",3,2000000); + thread maps\_lighting::lerp_spot_intensity("government_window_front_03",3,2000000); + thread maps\_lighting::lerp_spot_intensity("government_window_front_04",3,2000000); + thread maps\_lighting::lerp_spot_intensity("government_window_front_05",3,2000000); + thread maps\_lighting::lerp_spot_intensity("government_window_back_02",3,1000000); + } + + thread maps\_lighting::lerp_spot_intensity("government_hostage_rim_01",3,25000); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("government_hostage_fill",3,15000); + } + else + { + thread maps\_lighting::lerp_spot_intensity("government_hostage_fill",2,35000); + } + + wait(50); + thread maps\_lighting::lerp_spot_intensity("government_hostage_fill",5,55000); + wait(11); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("government_window_back_02",5,6000000); + } + + common_scripts\utility::flag_wait("fly_drone_done_lighting"); + common_scripts\_exploder::kill_exploder(4024); + common_scripts\_exploder::kill_exploder(4023); + if(level.nextgen) + { + setsaveddvar("r_mbCameraRotationInfluence","0"); + thread maps\_lighting::lerp_spot_intensity("government_window_front_01",3,0); + thread maps\_lighting::lerp_spot_intensity("government_window_front_02",3,0); + thread maps\_lighting::lerp_spot_intensity("government_window_front_03",3,0); + thread maps\_lighting::lerp_spot_intensity("government_window_front_04",3,0); + thread maps\_lighting::lerp_spot_intensity("government_window_front_05",3,0); + thread maps\_lighting::lerp_spot_intensity("government_window_back_02",3,0); + } + + thread maps\_lighting::lerp_spot_intensity("government_hostage_rim_01",3,0); + thread maps\_lighting::lerp_spot_intensity("government_hostage_fill",2,20000); +} + +//Function Number: 30 +setup_hostage_key_fov_tune() +{ + if(level.currentgen) + { + return; + } + + var_00 = getent("government_window_back_02","targetname"); + var_01 = getent("government_hostage_rim_01","targetname"); + common_scripts\utility::flag_wait("fly_drone_start"); + wait(36); + var_00 setlightfovrange(20,10); + wait(16.3); + var_01 setlightfovrange(50,40); + wait(6); + var_01 setlightfovrange(90,40); + common_scripts\utility::flag_wait("fly_drone_done"); + var_00 setlightfovrange(45,10); +} + +//Function Number: 31 +setup_lighting_lagos_generic() +{ + var_00 = getentarray("lagos_lighting_generic_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_generic_volume(); + } +} + +//Function Number: 32 +setup_lighting_generic_volume() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("lagos"); + maps\_utility::vision_set_fog_changes("lagos",1); + } +} + +//Function Number: 33 +setup_lighting_sunflare() +{ + var_00 = getentarray("lagos_lighting_sunflare_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_lagos_sunflare_volume(); + } +} + +//Function Number: 34 +setup_lighting_lagos_sunflare_volume() +{ + for(;;) + { + self waittill("trigger"); + common_scripts\_exploder::exploder(1025); + while(level.player istouching(self)) + { + wait(0.1); + } + + common_scripts\_exploder::kill_exploder(1025); + } +} + +//Function Number: 35 +setup_dof_intro() +{ + common_scripts\utility::flag_wait("intro_playerstart"); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehenable","1"); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(2,72); + wait(2); + level.player setphysicaldepthoffield(2.5,30); + wait(3.5); + level.player setphysicaldepthoffield(2,88); + wait(6); + level.player setphysicaldepthoffield(2,133); + wait(4.35); + level.player setphysicaldepthoffield(2.5,23); + wait(1.7); + level.player disablephysicaldepthoffieldscripting(); + wait(0.2); + } + else + { + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(3.7,70); + wait(2); + level.player setphysicaldepthoffield(3.7,34.3); + wait(3.5); + level.player setphysicaldepthoffield(2.16,67); + wait(6); + level.player setphysicaldepthoffield(1.76,102.711); + wait(4.35); + level.player setphysicaldepthoffield(5.032,24.346); + wait(1.7); + wait(0.2); + level.player setphysicaldepthoffield(19,5); + } + + wait(1.7); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehenable","0"); + } +} + +//Function Number: 36 +setup_lighting_lagos_intro_alley() +{ + var_00 = getentarray("lagos_intro_alley_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lagos_intro_alley_volume(); + } +} + +//Function Number: 37 +setup_lagos_intro_alley_volume() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("lagos_intro"); + level.player setclutforplayer("clut_lagos_intro_exterior",1); + maps\_utility::vision_set_fog_changes("lagos_intro_alley",3); + maps\_shg_fx::set_sun_flare_position((-29,-60,0)); + } +} + +//Function Number: 38 +setup_lighting_lagos_intro_alley_transition() +{ + var_00 = getentarray("lagos_intro_alley_transition_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lagos_intro_alley_transition_volume(); + } +} + +//Function Number: 39 +setup_lagos_intro_alley_transition_volume() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("lagos_intro"); + level.player setclutforplayer("clut_lagos_intro_exterior",3); + maps\_utility::vision_set_fog_changes("lagos_intro_alley_transition",3); + } +} + +//Function Number: 40 +setup_lighting_lagos_intro_interiors() +{ + var_00 = getentarray("lagos_intro_interiors_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lagos_intro_interiors_volume(); + } +} + +//Function Number: 41 +setup_lagos_intro_interiors_volume() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("lagos_intro_interiors"); + level.player setclutforplayer("clut_lagos_intro_exterior",3); + maps\_utility::vision_set_fog_changes("lagos_intro_interiors",3); + maps\_shg_fx::set_sun_flare_position((-31,-35,0)); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("government_window_front_01",1,0); + thread maps\_lighting::lerp_spot_intensity("government_window_front_02",1,0); + thread maps\_lighting::lerp_spot_intensity("government_window_front_03",1,0); + thread maps\_lighting::lerp_spot_intensity("government_window_front_04",1,0); + thread maps\_lighting::lerp_spot_intensity("government_window_front_05",1,0); + } + } +} + +//Function Number: 42 +setup_lighting_government_overlook_door() +{ + var_00 = getent("lighting_centroid_overlook_door","targetname"); + var_01 = getent("lighting_centroid_overlook_door_exterior","targetname"); + var_02 = getent("lighting_reflection_overlook_door_exterior","targetname"); + var_03 = getent("exo_door_model","targetname"); + var_03 overridelightingorigin(var_00.origin); + common_scripts\utility::flag_wait("exo_door_lighting"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + } + + wait(2.75); + var_03 overridelightingorigin(var_01.origin); + var_03 overridereflectionprobe(var_02.origin); + common_scripts\utility::flag_set("exo_door_lighting_complete"); + wait(3); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + setsaveddvar("r_mbCameraRotationInfluence","0"); + } +} + +//Function Number: 43 +setup_lighting_lagos_intro_post_exo_interiors() +{ + var_00 = getentarray("lagos_intro_interiors_post_exo_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lagos_intro_interiors_post_exo_volume(); + } +} + +//Function Number: 44 +setup_lagos_intro_interiors_post_exo_volume() +{ + for(;;) + { + self waittill("trigger"); + common_scripts\utility::flag_wait("exo_door_lighting_complete"); + common_scripts\_exploder::exploder(2032); + level.player lightsetforplayer("lagos_intro_interiors_post_exo"); + level.player setclutforplayer("clut_lagos_intro_exterior",3); + maps\_utility::vision_set_fog_changes("lagos_intro_interiors",3); + maps\_shg_fx::set_sun_flare_position((-31,-35,0)); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("government_window_front_01",1,0); + thread maps\_lighting::lerp_spot_intensity("government_window_front_02",1,0); + thread maps\_lighting::lerp_spot_intensity("government_window_front_03",1,0); + thread maps\_lighting::lerp_spot_intensity("government_window_front_04",1,0); + thread maps\_lighting::lerp_spot_intensity("government_window_front_05",1,0); + } + } +} + +//Function Number: 45 +setup_lighting_government_overlook() +{ + var_00 = getentarray("lagos_government_overlook_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_government_overlook_volume(); + } +} + +//Function Number: 46 +setup_lighting_government_overlook_volume() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("lagos_government_building_ext"); + level.player setclutforplayer("clut_lagos_intro_exterior",4); + maps\_utility::vision_set_fog_changes("lagos_government_building_ext",4); + } +} + +//Function Number: 47 +setup_dof_government_overlook() +{ + common_scripts\utility::flag_wait("exo_door_lighting"); + level.player enablephysicaldepthoffieldscripting(); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehenable","1"); + } + + level.player setphysicaldepthoffield(1.2,47); + wait(3.75); + if(level.nextgen) + { + level.player disablephysicaldepthoffieldscripting(); + setsaveddvar("r_dof_physical_bokehenable","0"); + return; + } + + level.player setphysicaldepthoffield(19,5); +} + +//Function Number: 48 +setup_government_rpg_explosion_lighting() +{ + common_scripts\utility::flag_wait("exo_door_lighting"); + common_scripts\utility::flag_wait("government_rpg_lighting"); + level.player lightsetforplayer("lagos_roundabout_tanker_explosion"); + maps\_utility::vision_set_fog_changes("lagos_roundabout_tanker_explosion",0.08); + wait(0.15); + level.player lightsetforplayer("lagos_government_building_ext"); + maps\_utility::vision_set_fog_changes("lagos_government_building_ext",0.75); +} + +//Function Number: 49 +setup_government_rpg_explosion_dof() +{ + common_scripts\utility::flag_wait("exo_door_lighting"); + common_scripts\utility::flag_wait("government_rpg_lighting"); + wait(2); +} + +//Function Number: 50 +setup_lighting_railwalk() +{ + var_00 = getentarray("lagos_railwalk_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_railwalk_volume(); + } +} + +//Function Number: 51 +setup_lighting_railwalk_volume() +{ + for(;;) + { + self waittill("trigger"); + common_scripts\utility::flag_wait("exo_door_lighting_complete"); + level.player lightsetforplayer("lagos_railwalk"); + while(level.player istouching(self)) + { + wait(0.1); + } + + level.player lightsetforplayer("lagos_government_building_ext"); + } +} + +//Function Number: 52 +setup_government_climb_sunlerp() +{ + common_scripts\utility::flag_wait("climb_begin_lighting"); + common_scripts\_exploder::kill_exploder(2032); + wait(6.9); + lerpsunangles((-55,-15,0),(-55,-82,0),1); + common_scripts\utility::flag_wait("climb_ending_lighting"); + lerpsunangles((-55,-82,0),(-40,-115,0),5); +} + +//Function Number: 53 +setup_lighting_override_exo_wallclimb() +{ + common_scripts\utility::flag_wait("climb_begin_lighting"); + var_00 = getent("lighting_centroid_overlook_door_exterior","targetname"); + var_01 = getent("lighting_reflection_overlook_door_exterior","targetname"); + var_02 = level.exo_climb_rig; + var_02 overridelightingorigin(var_00.origin); + var_02 overridereflectionprobe(var_01.origin); + common_scripts\utility::flag_wait("climb_ending_lighting"); + var_02 defaultlightingorigin(); + var_02 defaultreflectionprobe(); +} + +//Function Number: 54 +setup_dof_government_climb() +{ + common_scripts\utility::flag_wait("climb_begin_lighting"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + } + + level.player lightsetforplayer("lagos_wall_climb"); + if(level.nextgen) + { + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(2,95); + wait(7.65); + level.player setphysicaldepthoffield(4.5,11); + setsaveddvar("r_dof_physical_bokehenable",1); + wait(6); + level.player setphysicaldepthoffield(8,16); + common_scripts\utility::flag_wait("climb_ending_lighting"); + wait(1.5); + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + wait(0.3); + level.player setphysicaldepthoffield(2,13,20,20); + wait(1); + level.player setphysicaldepthoffield(2,27,20,20); + wait(1.25); + level.player setphysicaldepthoffield(2,18,20,20); + wait(1); + level.player setphysicaldepthoffield(2,109,20,20); + wait(2); + setsaveddvar("r_dof_physical_bokehenable",0); + level.player disablephysicaldepthoffieldscripting(); + } + else + { + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(2,95); + wait(7.65); + level.player setphysicaldepthoffield(4.5,11); + wait(6); + level.player setphysicaldepthoffield(8,16); + common_scripts\utility::flag_wait("climb_ending_lighting"); + wait(1.5); + wait(0.3); + level.player setphysicaldepthoffield(3.75,12.55,20,20); + wait(1); + level.player setphysicaldepthoffield(2,32,20,20); + wait(1.25); + level.player setphysicaldepthoffield(2,18,20,20); + wait(1); + level.player setphysicaldepthoffield(2,109,20,20); + wait(2); + level.player setphysicaldepthoffield(19,5); + } + + level.player lightsetforplayer("lagos_government_rooftop"); + wait(0.5); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + setsaveddvar("r_mbCameraRotationInfluence","0"); + } + + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("government_window_front_01",1,2000000); + thread maps\_lighting::lerp_spot_intensity("government_window_front_02",1,2000000); + thread maps\_lighting::lerp_spot_intensity("government_window_front_03",1,2000000); + thread maps\_lighting::lerp_spot_intensity("government_window_front_04",1,2000000); + thread maps\_lighting::lerp_spot_intensity("government_window_front_05",1,2000000); + thread maps\_lighting::lerp_spot_intensity("government_window_back_02",1,250000); + common_scripts\_exploder::exploder(3056); + common_scripts\_exploder::exploder(4007); + } +} + +//Function Number: 55 +setup_lighting_government_breach() +{ + common_scripts\utility::flag_wait("gov_breach_start_lighting"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + } + + level.player lightsetforplayer("lagos_government_breach"); + wait(11.75); + lerpsunangles((-40,-115,0),(-55,-15,0),1); + wait(0.25); + resetsundirection(); + wait(3); + level.player lightsetforplayer("lagos_government"); + level.player setclutforplayer("clut_lagos_government_interior",4); + maps\_utility::vision_set_fog_changes("lagos_government_building",4); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + setsaveddvar("r_mbCameraRotationInfluence","0"); + } +} + +//Function Number: 56 +setup_dof_government_breach() +{ + common_scripts\utility::flag_wait("gov_breach_start_lighting"); + wait(2); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehenable",1); + } + + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(1.2,106); + wait(4); + level.player setphysicaldepthoffield(1.2,67); + wait(10); + if(level.nextgen) + { + level.player disablephysicaldepthoffieldscripting(); + setsaveddvar("r_dof_physical_bokehenable",0); + return; + } + + level.player setphysicaldepthoffield(19,5); +} + +//Function Number: 57 +setup_lighting_government() +{ + var_00 = getentarray("lagos_government_lighting_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_government_volume(); + } +} + +//Function Number: 58 +setup_lighting_government_volume() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("lagos_government"); + maps\_utility::vision_set_fog_changes("lagos_government_building",4); + } +} + +//Function Number: 59 +setup_lighting_harmonic_breach() +{ + common_scripts\utility::flag_wait("begin_harmonic_breach_lighting"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + thread maps\_lighting::lerp_spot_intensity("government_building_breach_friendly",1,100000); + thread maps\_lighting::lerp_spot_intensity("government_building_breach_player",1,500000); + } + + wait(11); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + setsaveddvar("r_mbCameraRotationInfluence","0"); + thread maps\_lighting::lerp_spot_intensity("government_building_breach_player",1,1000); + common_scripts\utility::flag_wait("harmonic_complete_lighting"); + thread maps\_lighting::lerp_spot_intensity("government_building_breach_player",1,200000); + common_scripts\_exploder::exploder(4023); + } +} + +//Function Number: 60 +setup_lighting_harmonic_breach_hud() +{ + common_scripts\utility::flag_wait("begin_harmonic_breach_lighting"); + wait(12.6); + level.player lightsetforplayer("lagos_breach_hud_bright"); + wait(0.35); + level.player lightsetforplayer("lagos_breach_hud"); + common_scripts\utility::flag_wait("harmonic_complete_lighting"); + wait(0.75); + level.player lightsetforplayer("lagos_breach_hud_bright"); + wait(0.35); + level.player lightsetforplayer("lagos_government"); +} + +//Function Number: 61 +setup_lighting_harmonic_breach_dof() +{ + common_scripts\utility::flag_wait("begin_harmonic_breach_lighting"); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehenable",1); + } + + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(2,16.1); + wait(3.15); + level.player setphysicaldepthoffield(2,142.5,20,20); + wait(4.5); + level.player setphysicaldepthoffield(2,16.1,20,20); + wait(0.75); + level.player setphysicaldepthoffield(2,23.7,20,20); + wait(0.75); + level.player setphysicaldepthoffield(2,13.2,20,20); + wait(0.75); + level.player setphysicaldepthoffield(2,20.9,20,20); + wait(1.25); + level.player setphysicaldepthoffield(22,100,20,20); + common_scripts\utility::flag_wait("harmonic_complete_lighting"); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehenable",0); + level.player disablephysicaldepthoffieldscripting(); + } + else + { + level.player setphysicaldepthoffield(19,5); + } + + wait(0.25); +} + +//Function Number: 62 +setup_lighting_government_hostage() +{ + var_00 = getentarray("lagos_government_hostage_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_government_hostage_volume(); + } +} + +//Function Number: 63 +setup_lighting_government_hostage_volume() +{ + for(;;) + { + self waittill("trigger"); + if(level.nextgen) + { + level.player lightsetforplayer("lagos_hostage_room"); + maps\_utility::vision_set_fog_changes("lagos_hostage_room",4); + level.player setclutforplayer("clut_lagos_conference_room",4); + thread maps\_lighting::lerp_spot_intensity("government_window_back_02",1,250000); + } + + thread maps\_lighting::lerp_spot_intensity("government_hostage_fill",3,20000); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_hipfstop",5); + } + } +} + +//Function Number: 64 +setup_lighting_hostage_release() +{ + common_scripts\utility::flag_wait("hostage_release_lighting"); + var_00 = getent("government_hostage_fill","targetname"); + var_00 setlightfovrange(90,50); + thread maps\_lighting::lerp_spot_intensity("government_hostage_fill",4,10000); + if(level.nextgen) + { + } + + wait(28); + if(level.nextgen) + { + } + + thread maps\_lighting::lerp_spot_intensity("government_hostage_fill",3,20000); +} + +//Function Number: 65 +setup_dof_hostage_release() +{ + common_scripts\utility::flag_wait("hostage_release_lighting"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + } + + if(level.nextgen) + { + level.player enablephysicaldepthoffieldscripting(); + wait(0.5); + level.player setphysicaldepthoffield(2,13.75); + wait(2); + level.player setphysicaldepthoffield(2.6,36); + wait(7.25); + level.player setphysicaldepthoffield(2.6,102.5); + wait(10); + level.player setphysicaldepthoffield(2.6,46); + wait(7); + level.player disablephysicaldepthoffieldscripting(); + setsaveddvar("r_mbEnable","0"); + setsaveddvar("r_mbCameraRotationInfluence","0"); + } + else + { + level.player enablephysicaldepthoffieldscripting(); + wait(0.5); + level.player setphysicaldepthoffield(2,13.75); + wait(2); + level.player setphysicaldepthoffield(2.6,36); + wait(7.25); + level.player setphysicaldepthoffield(2.6,102.5); + wait(10); + level.player setphysicaldepthoffield(2.6,46); + wait(7); + level.player setphysicaldepthoffield(19,5); + } + + wait(0.5); +} + +//Function Number: 66 +setup_lighting_government_ext() +{ + var_00 = getentarray("lagos_government_ext_lighting_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_government_ext_volume(); + } +} + +//Function Number: 67 +setup_lighting_government_ext_volume() +{ + for(;;) + { + self waittill("trigger"); + maps\_utility::vision_set_fog_changes("lagos_government_building_ext",4); + level.player setclutforplayer("clut_lagos_intro_exterior",4); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("government_window_back_02",1,0); + } + + common_scripts\_exploder::kill_exploder(4007); + maps\_utility::lerp_saveddvar("r_lightgridintensity",1,2); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_hipfstop",2); + } + } +} + +//Function Number: 68 +setup_lighting_lobby() +{ + var_00 = getentarray("lagos_lobby_lighting_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_lobby_volume(); + } +} + +//Function Number: 69 +setup_lighting_lobby_volume() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("lagos_lobby"); + maps\_utility::vision_set_fog_changes("lagos_lobby",4); + level.player setclutforplayer("clut_lagos_intro_exterior",4); + setsaveddvar("r_lightgridenabletweaks","1"); + maps\_utility::lerp_saveddvar("r_lightgridintensity",1.75,2); + } +} + +//Function Number: 70 +setup_lighting_roundabout_transition() +{ + var_00 = getentarray("lagos_roundabout_transition_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_roundabout_transition_volume(); + } +} + +//Function Number: 71 +setup_lighting_roundabout_transition_volume() +{ + for(;;) + { + self waittill("trigger"); + maps\_utility::vision_set_fog_changes("lagos_roundabout",2); + level.player lightsetforplayer("lagos_roundabout"); + level.player setclutforplayer("clut_lagos_roundabout",6); + maps\_utility::lerp_saveddvar("r_lightgridintensity",1,2); + } +} + +//Function Number: 72 +setup_lighting_roundabout() +{ + var_00 = getentarray("lagos_roundabout_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_roundabout_volume(); + } +} + +//Function Number: 73 +setup_lighting_roundabout_volume() +{ + for(;;) + { + self waittill("trigger"); + maps\_utility::vision_set_fog_changes("lagos_roundabout",2); + level.player lightsetforplayer("lagos_roundabout"); + level.player setclutforplayer("clut_lagos_roundabout",6); + } +} + +//Function Number: 74 +setup_lighting_initial_rpgs() +{ + common_scripts\utility::flag_wait("roundabout_RPG_start"); + wait(0.95); + common_scripts\_exploder::kill_exploder(4023); + level.player lightsetforplayer("lagos_roundabout_tanker_explosion"); + level.player setclutforplayer("clut_lagos_explosion",0.15); + maps\_utility::vision_set_fog_changes("lagos_roundabout_tanker_explosion",0.08); + wait(2); + level.player lightsetforplayer("lagos_roundabout"); + level.player setclutforplayer("clut_lagos_roundabout",4); + maps\_utility::vision_set_fog_changes("lagos_roundabout",0.5); +} + +//Function Number: 75 +setup_dof_roundabout_tanker_explosion() +{ + common_scripts\utility::flag_wait("roundabout_tanker_flash"); + wait(3); +} + +//Function Number: 76 +setup_lighting_tanker_aftermath() +{ + var_00 = getentarray("tanker_explosion_aftermath_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_tanker_aftermath_volume(); + var_02 thread setup_lighting_tanker_aftermath_cleanup(); + } +} + +//Function Number: 77 +setup_lighting_tanker_aftermath_volume() +{ + for(;;) + { + self waittill("trigger"); + common_scripts\utility::flag_wait("tanker_explosion_done"); + maps\_utility::vision_set_fog_changes("lagos_roundabout_tanker_aftermath",2); + while(level.player istouching(self)) + { + wait(0.1); + } + + maps\_utility::vision_set_fog_changes("lagos_roundabout",5); + } +} + +//Function Number: 78 +setup_lighting_tanker_aftermath_cleanup() +{ + for(;;) + { + self waittill("trigger"); + common_scripts\utility::flag_wait("kill_roundabout_flames"); + maps\_utility::vision_set_fog_changes("lagos_roundabout",2); + } +} + +//Function Number: 79 +setup_lighting_alley() +{ + var_00 = getentarray("lagos_alley_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_alley_volume(); + } +} + +//Function Number: 80 +setup_lighting_alley_volume() +{ + for(;;) + { + self waittill("trigger"); + maps\_utility::vision_set_fog_changes("lagos_alley",2); + level.player lightsetforplayer("lagos_alley"); + level.player setclutforplayer("clut_lagos_intro_exterior",4); + } +} + +//Function Number: 81 +setup_lighting_alley_interiors() +{ + var_00 = getentarray("lagos_alley_interiors_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_alley_interiors_volume(); + } +} + +//Function Number: 82 +setup_lighting_alley_interiors_volume() +{ + for(;;) + { + self waittill("trigger"); + maps\_utility::vision_set_fog_changes("lagos_alley_interiors",2); + level.player lightsetforplayer("lagos_alley_interiors"); + level.player setclutforplayer("clut_lagos_intro_exterior",2); + } +} + +//Function Number: 83 +setup_motion_blur_oncoming() +{ + common_scripts\utility::flag_wait("alley_oncoming_gate_lighting"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbvelocityscalar",".75"); + } + + common_scripts\utility::flag_wait("alley_oncoming_truck_lighting"); + wait(18); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + setsaveddvar("r_mbvelocityscalar","1"); + } +} + +//Function Number: 84 +setup_lighting_rec_yard_transition() +{ + var_00 = getentarray("lagos_rec_yard_transition_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_rec_yard_transition_volume(); + } +} + +//Function Number: 85 +setup_lighting_rec_yard_transition_volume() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("lagos_alley_rec_transition"); + } +} + +//Function Number: 86 +setup_lighting_rec_yard() +{ + var_00 = getentarray("lagos_rec_yard_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_rec_yard_volume(); + } +} + +//Function Number: 87 +setup_lighting_rec_yard_volume() +{ + for(;;) + { + self waittill("trigger"); + maps\_utility::vision_set_fog_changes("lagos_rec_yard",2); + level.player lightsetforplayer("lagos_alley"); + level.player setclutforplayer("clut_lagos_intro_exterior",4); + } +} + +//Function Number: 88 +setup_lighting_marketplace() +{ + var_00 = getentarray("lagos_marketplace_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_marketplace_volume(); + } +} + +//Function Number: 89 +setup_lighting_marketplace_volume() +{ + for(;;) + { + self waittill("trigger"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + } + + maps\_utility::vision_set_fog_changes("lagos_alley",2); + level.player lightsetforplayer("lagos_alley"); + level.player setclutforplayer("clut_lagos_intro_exterior",10); + } +} + +//Function Number: 90 +setup_lighting_marketplace_interiors() +{ + var_00 = getentarray("lagos_marketplace_interiors_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_marketplace_interiors_volume(); + } +} + +//Function Number: 91 +setup_lighting_marketplace_interiors_volume() +{ + for(;;) + { + self waittill("trigger"); + maps\_utility::vision_set_fog_changes("lagos_alley_interiors",2); + level.player lightsetforplayer("lagos_alley_interiors"); + level.player setclutforplayer("clut_lagos_intro_exterior",2); + } +} + +//Function Number: 92 +setup_flank_wall_climb_lighting() +{ + common_scripts\utility::flag_wait("flag_exo_climbing_enabled"); + level.player lightsetforplayer("lagos_wall_climb"); + level.player enablephysicaldepthoffieldscripting(); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + setsaveddvar("r_dof_physical_bokehenable",1); + } + + level.player setphysicaldepthoffield(8,16); +} + +//Function Number: 93 +setup_flank_wall_climb_lighting_complete() +{ + wait(5); + level.player lightsetforplayer("lagos_frogger"); + level.player setclutforplayer("clut_lagos_frogger",0.1); + maps\_utility::vision_set_fog_changes("lagos_traffic_crossing",0.1); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + setsaveddvar("r_mbCameraRotationInfluence","0"); + setsaveddvar("r_dof_physical_bokehenable",0); + wait(1); + level.player disablephysicaldepthoffieldscripting(); + return; + } + + level.player setphysicaldepthoffield(19,5); +} + +//Function Number: 94 +setup_lighting_traffic_crossing() +{ + var_00 = getentarray("lagos_traffic_crossing_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_traffic_crossing_volume(); + } +} + +//Function Number: 95 +setup_lighting_traffic_crossing_volume() +{ + for(;;) + { + self waittill("trigger"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + } + + level.player lightsetforplayer("lagos_frogger"); + level.player setclutforplayer("clut_lagos_frogger",2); + maps\_utility::vision_set_fog_changes("lagos_traffic_crossing",2); + } +} + +//Function Number: 96 +setup_lighting_chase_start() +{ + var_00 = getentarray("lagos_chase_start_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_chase_start_volume(); + } +} + +//Function Number: 97 +setup_lighting_chase_start_volume() +{ + for(;;) + { + self waittill("trigger"); + common_scripts\utility::flag_set("chase_lighting"); + level.player lightsetforplayer("lagos_first_jump_chase_landing"); + level.player setclutforplayer("clut_lagos_chase",1); + maps\_utility::vision_set_fog_changes("lagos_chase_tunnel_ent",2); + wait(3); + level.player lightsetforplayer("lagos_chase"); + } +} + +//Function Number: 98 +setup_motion_blur_chase_start() +{ + common_scripts\utility::flag_wait("traffic_ledge_lighting"); + level.player lightsetforplayer("lagos_pre_chase_jump"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + } +} + +//Function Number: 99 +setup_lighting_chase_tunnel_transition() +{ + var_00 = getentarray("lagos_chase_tunnel_transition_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_chase_tunnel_transition_volume(); + } +} + +//Function Number: 100 +setup_lighting_chase_tunnel_transition_volume() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("lagos_chase_tunnel_transition"); + } +} + +//Function Number: 101 +setup_lighting_chase_tunnel() +{ + var_00 = getentarray("lagos_chase_tunnel_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_chase_tunnel_volume(); + } +} + +//Function Number: 102 +setup_lighting_chase_tunnel_volume() +{ + for(;;) + { + self waittill("trigger"); + maps\_utility::vision_set_fog_changes("lagos_chase_tunnel",5); + level.player lightsetforplayer("lagos_chase_tunnel"); + level.player setclutforplayer("clut_lagos_tunnel",2); + maps\_shg_fx::set_sun_flare_position((-20,80,0)); + while(level.player istouching(self)) + { + wait(0.1); + } + + maps\_utility::vision_set_fog_changes("lagos_chase",1); + level.player lightsetforplayer("lagos_chase"); + level.player setclutforplayer("clut_lagos_chase",2); + maps\_shg_fx::set_sun_flare_position((-40,65,0)); + } +} + +//Function Number: 103 +setup_lighting_suv_takedown() +{ + common_scripts\utility::flag_wait("suv_takedown_lighting"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + } + + common_scripts\utility::flag_wait("suv_takedown_shoot_lighting"); + wait(7); + common_scripts\utility::flag_wait("suv_takedown_dodge_lighting"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + } + + common_scripts\utility::flag_wait("suv_takedown_jump_lighting"); + wait(1); + level.player lightsetforplayer("lagos_chase_suv_punch"); + lerpsunangles((-40,72,0),(-85,120,0),0.5); + wait(4); + lerpsunangles((-85,120,0),(-40,72,0),0.5); + wait(1); + resetsundirection(); + common_scripts\utility::flag_wait("suv_takedown_windshield_lighting"); + common_scripts\utility::flag_wait("suv_takedown_jump2_lighting"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + } + + level.player lightsetforplayer("lagos_chase"); + wait(0.3); + lerpsunangles((-40,72,0),(-85,120,0),0.5); + wait(2.2); + lerpsunangles((-85,120,0),(-40,72,0),1); + wait(5); + resetsundirection(); +} + +//Function Number: 104 +setup_lighting_chase_buildings() +{ + var_00 = getentarray("lagos_chase_buildings_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_chase_buildings_volume(); + } +} + +//Function Number: 105 +setup_lighting_chase_buildings_volume() +{ + for(;;) + { + self waittill("trigger"); + maps\_utility::vision_set_fog_changes("lagos_chase",4); + level.player lightsetforplayer("lagos_chase"); + level.player setclutforplayer("clut_lagos_chase_vista",2); + while(level.player istouching(self)) + { + wait(0.1); + } + + maps\_utility::vision_set_fog_changes("lagos_chase_vista",5); + level.player lightsetforplayer("lagos_chase"); + level.player setclutforplayer("clut_lagos_chase_vista",2); + } +} + +//Function Number: 106 +ramp_down_motion_blur() +{ + setsaveddvar("r_mbvelocityscalar",0.4); +} + +//Function Number: 107 +ramp_up_motion_blur() +{ + wait(0.5); + setsaveddvar("r_mbvelocityscalar",1); +} + +//Function Number: 108 +setup_lighting_van_takedown() +{ + common_scripts\utility::flag_wait("flag_highway_final_takedown_started"); + level.player lightsetforplayer("lagos_chase"); + level.player setclutforplayer("clut_lagos_chase_vista",1); + maps\_utility::vision_set_fog_changes("lagos_chase_vista",2); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + } + + common_scripts\utility::flag_wait("van_takedown_hold_lighting"); + common_scripts\utility::flag_wait("van_takedown_shoot_lighting"); + common_scripts\utility::flag_wait("van_takedown_impact_lighting"); + wait(13.9); + level.player lightsetforplayer("lagos_underwater_impact"); +} + +//Function Number: 109 +setup_dof_van_takedown() +{ + common_scripts\utility::flag_wait("flag_takedown_kva_van"); +} + +//Function Number: 110 +setup_lighting_underwater() +{ + var_00 = getentarray("lagos_underwater_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_underwater_volume(); + } +} + +//Function Number: 111 +setup_lighting_underwater_volume() +{ + for(;;) + { + self waittill("trigger"); + common_scripts\utility::flag_set("underwater_lighting"); + level.player lightsetforplayer("lagos_underwater"); + level.player setclutforplayer("clut_lagos_chase",0.25); + maps\_utility::vision_set_fog_changes("lagos_underwater",0.25); + } +} + +//Function Number: 112 +setup_underwater_dof() +{ + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(0.73,65); + common_scripts\utility::flag_wait("van_door_open_lighting"); + level.player setphysicaldepthoffield(1.78,39); +} + +//Function Number: 113 +setup_lighting_underwater_sunlerp() +{ + common_scripts\utility::flag_wait("underwater_lighting"); + if(level.currentgen) + { + thread setup_underwater_dof(); + } + + lerpsunangles((-40,72,0),(-30,0,0),1); + common_scripts\utility::flag_wait("van_door_open_lighting"); + wait(5); + lerpsunangles((-30,0,0),(-40,52,0),1); + wait(4); + lerpsunangles((-40,52,0),(-79,-66,0),0.05); + maps\_utility::vision_set_fog_changes("lagos_underwater_swim_to_surface",3); +} + +//Function Number: 114 +setup_lighting_underwater_lights() +{ + common_scripts\utility::flag_wait("underwater_lighting"); + thread maps\_lighting::lerp_spot_intensity("underwater_omni",1,0); + maps\_lighting::play_flickerlight_preset("static_screen","underwater_key_light_01",10000000); + common_scripts\_exploder::exploder(16032); + common_scripts\utility::flag_wait("van_door_open_lighting"); + wait(6.5); + thread maps\_utility::sun_light_fade((13,13,13),(1,1,1),1); + wait(3); + thread maps\_utility::sun_light_fade((1,1,1),(13,13,13),1); + wait(1); + resetsunlight(); + thread maps\_lighting::lerp_spot_intensity("underwater_omni",2,2000000000); + maps\_lighting::play_flickerlight_preset("static_screen","underwater_omni",2000000000); +} + +//Function Number: 115 +setup_lighting_shoreline() +{ + common_scripts\utility::flag_wait("shoreline_lighting"); + resetsundirection(); + thread maps\_lighting::lerp_spot_intensity("underwater_omni",1,0); + level.player lightsetforplayer("lagos_shoreline"); + level.player setclutforplayer("clut_lagos_shoreline",2); + maps\_utility::vision_set_fog_changes("lagos_shoreline",0.5); + var_00 = getent("shoreline_rim","targetname"); + var_00 setlightfovrange(27,5); + thread maps\_lighting::lerp_spot_intensity("shoreline_rim",0.25,250000); + thread maps\_lighting::lerp_spot_intensity("shoreline_omni_fill",0.25,35000); + thread maps\_lighting::lerp_spot_color("shoreline_omni_fill",0.015,(0.5,0.6,1)); +} + +//Function Number: 116 +setup_dof_shoreline() +{ + common_scripts\utility::flag_wait("shoreline_lighting"); + if(level.nextgen) + { + level.player enablephysicaldepthoffieldscripting(); + setsaveddvar("r_dof_physical_bokehenable",1); + level.player setphysicaldepthoffield(2.5,23,20,20); + wait(5.35); + level.player setphysicaldepthoffield(2.5,40,20,20); + wait(2); + level.player setphysicaldepthoffield(2.5,78,20,20); + wait(1); + level.player setphysicaldepthoffield(2.5,40,20,20); + wait(2); + level.player setphysicaldepthoffield(2.5,60,20,20); + wait(1); + level.player setphysicaldepthoffield(2.5,78,20,20); + wait(2); + level.player setphysicaldepthoffield(2.5,40,20,20); + wait(4.25); + level.player setphysicaldepthoffield(2.5,90,20,20); + wait(3.5); + level.player setphysicaldepthoffield(2.5,40,20,20); + wait(5.35); + level.player setphysicaldepthoffield(2.5,23,20,20); + wait(0.15); + level.player setphysicaldepthoffield(2.5,13,20,20); + wait(0.6); + level.player setphysicaldepthoffield(2.5,60,20,20); + return; + } + + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(3.86,25.48); + wait(5.35); + level.player setphysicaldepthoffield(3.55,33); + wait(5); + level.player setphysicaldepthoffield(3.37,40.48); + wait(7.25); + level.player setphysicaldepthoffield(3.37,40.48); + wait(4.5); + level.player setphysicaldepthoffield(3.55,33,20,20); + wait(1.65); + level.player setphysicaldepthoffield(3.33,22.7,20,20); + wait(2.5); + level.player setphysicaldepthoffield(3.65,23,20,20); + wait(1); + level.player setphysicaldepthoffield(2,60,20,20); + level.player setphysicaldepthoffield(19,5); +} + +//Function Number: 117 +setup_lighting_outro() +{ + var_00 = getentarray("lagos_outro_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_outro_volume(); + } +} + +//Function Number: 118 +setup_lighting_outro_volume() +{ + for(;;) + { + self waittill("trigger"); + maps\_utility::vision_set_fog_changes("lagos_outro",1); + level.player lightsetforplayer("lagos_outro"); + } +} \ No newline at end of file diff --git a/AW/PC/maps/lagos_precache.gsc b/AW/PC/maps/lagos_precache.gsc new file mode 100644 index 0000000..dc731b3 --- /dev/null +++ b/AW/PC/maps/lagos_precache.gsc @@ -0,0 +1,64 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: lagos_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 47 ms + * Timestamp: 4/22/2024 2:33:55 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + common_scripts\utility::add_destructible_type_function("vehicle_pickup",::destructible_scripts\vehicle_pickup::main); + vehicle_scripts\_atlas_suv::main("vehicle_atlas_suv",undefined,"script_vehicle_atlas_suv"); + vehicle_scripts\_atlas_suv::main("vehicle_atlas_suv","atlas_suv_physics","script_vehicle_atlas_suv_physics"); + vehicle_scripts\_civ_boxtruck_ai::main("vehicle_civ_boxtruck_ai",undefined,"script_vehicle_civ_boxtruck_ai"); + vehicle_scripts\_civ_domestic_bus::main("vehicle_civ_domestic_bus_05_ai",undefined,"script_vehicle_civ_domestic_bus_05_ai"); + vehicle_scripts\_civ_domestic_bus::main("vehicle_civ_domestic_bus_05_ai","civ_domestic_bus_physics","script_vehicle_civ_domestic_bus_05_ai_physics"); + vehicle_scripts\_civ_domestic_bus::main("vehicle_civ_domestic_bus_06_ai",undefined,"script_vehicle_civ_domestic_bus_06_ai"); + vehicle_scripts\_civ_domestic_bus::main("vehicle_civ_domestic_bus_06_ai","civ_domestic_bus_physics","script_vehicle_civ_domestic_bus_06_ai_physics"); + vehicle_scripts\_civ_domestic_bus::main("vehicle_civ_domestic_bus","civ_domestic_bus_physics","script_vehicle_civ_domestic_bus_physics"); + vehicle_scripts\_civ_domestic_economy_ai::main("vehicle_civ_domestic_economy_ai","civ_domestic_economy_ai_physics","script_vehicle_civ_domestic_economy_ai_physics"); + vehicle_scripts\_civ_domestic_economy_ai::main("vehicle_civ_domestic_economy_clr02_ai","civ_domestic_economy_ai_physics","script_vehicle_civ_domestic_economy_clr02_ai_physics"); + vehicle_scripts\_civ_domestic_economy_ai::main("vehicle_civ_domestic_economy_clr03_ai","civ_domestic_economy_ai_physics","script_vehicle_civ_domestic_economy_clr03_ai_physics"); + vehicle_scripts\_civ_domestic_economy_ai::main("vehicle_civ_domestic_economy_clr04_ai","civ_domestic_economy_ai_physics","script_vehicle_civ_domestic_economy_clr04_ai_physics"); + vehicle_scripts\_civ_domestic_economy_ai::main("vehicle_civ_domestic_economy_clr05_ai","civ_domestic_economy_ai_physics","script_vehicle_civ_domestic_economy_clr05_ai_physics"); + vehicle_scripts\_civ_domestic_economy_ai::main("vehicle_civ_domestic_economy_clr06_ai","civ_domestic_economy_ai_physics","script_vehicle_civ_domestic_economy_clr06_ai_physics"); + vehicle_scripts\_civ_domestic_economy_ai::main("vehicle_civ_domestic_economy_simple",undefined,"script_vehicle_civ_domestic_economy_simple"); + vehicle_scripts\_civ_domestic_minivan::main("vehicle_civ_domestic_minivan_02_simple",undefined,"script_vehicle_civ_domestic_minivan_02_simple"); + vehicle_scripts\_civ_domestic_minivan::main("vehicle_civ_domestic_minivan","civ_domestic_minivan_physics","script_vehicle_civ_domestic_minivan_physics"); + vehicle_scripts\_civ_domestic_sedan_01::main("vehicle_civ_domestic_sedan_01_gray","civ_domestic_sedan_01_physics","script_vehicle_civ_domestic_sedan_01_gray_physics"); + vehicle_scripts\_civ_domestic_sedan_01::main("vehicle_civ_domestic_sedan_01_grn","civ_domestic_sedan_01_physics","script_vehicle_civ_domestic_sedan_01_grn_physics"); + vehicle_scripts\_civ_domestic_sedan_01::main("vehicle_civ_domestic_sedan_01","civ_domestic_sedan_01_physics","script_vehicle_civ_domestic_sedan_01_physics"); + vehicle_scripts\_civ_domestic_sedan_01::main("vehicle_civ_domestic_sedan_01_simple_blue",undefined,"script_vehicle_civ_domestic_sedan_01_simple_blue"); + vehicle_scripts\_civ_domestic_sedan_01::main("vehicle_civ_domestic_sedan_01_simple_grn",undefined,"script_vehicle_civ_domestic_sedan_01_simple_grn"); + vehicle_scripts\_civ_domestic_sedan_01::main("vehicle_civ_domestic_sedan_01_simple_silver",undefined,"script_vehicle_civ_domestic_sedan_01_simple_silver"); + vehicle_scripts\_civ_domestic_sedan_01::main("vehicle_civ_domestic_sedan_01_simple_taxi",undefined,"script_vehicle_civ_domestic_sedan_01_simple_taxi"); + vehicle_scripts\_civ_domestic_sedan_01::main("vehicle_civ_domestic_sedan_01_simple_white",undefined,"script_vehicle_civ_domestic_sedan_01_simple_white"); + vehicle_scripts\_civ_domestic_sedan_01::main("vehicle_civ_domestic_sedan_01_slvr","civ_domestic_sedan_01_physics","script_vehicle_civ_domestic_sedan_01_slvr_physics"); + vehicle_scripts\_civ_domestic_sedan_taxi_01::main("vehicle_civ_domestic_sedan_taxi_01",undefined,"script_vehicle_civ_domestic_sedan_taxi_01"); + vehicle_scripts\_civ_domestic_sedan_taxi_01::main("vehicle_civ_domestic_sedan_taxi_01","civ_domestic_sedan_taxi_01_physics","script_vehicle_civ_domestic_sedan_taxi_01_physics"); + vehicle_scripts\_civ_domestic_sedan_taxi_01::main("vehicle_civ_domestic_sedan_taxi_02",undefined,"script_vehicle_civ_domestic_sedan_taxi_02"); + vehicle_scripts\_civ_domestic_sedan_taxi_01::main("vehicle_civ_domestic_sedan_taxi_02","civ_domestic_sedan_taxi_01_physics","script_vehicle_civ_domestic_sedan_taxi_02_physics"); + vehicle_scripts\_civ_domestic_sportscar_01::main("vehicle_civ_domestic_sportscar_01","civ_domestic_sportscar_01_physics","script_vehicle_civ_domestic_sportscar_01_physics"); + vehicle_scripts\_civ_domestic_sportscar_01::main("vehicle_civ_domestic_sportscar_01_simple",undefined,"script_vehicle_civ_domestic_sportscar_01_simple"); + vehicle_scripts\_civ_domestic_suv::main("vehicle_civ_domestic_suv_simple",undefined,"script_vehicle_civ_domestic_suv_simple"); + vehicle_scripts\_civ_domestic_truck::main("vehicle_civ_domestic_truck_grn","civ_domestic_truck_physics","script_vehicle_civ_domestic_truck_grn_physics"); + vehicle_scripts\_civ_domestic_truck::main("vehicle_civ_domestic_truck","civ_domestic_truck_physics","script_vehicle_civ_domestic_truck_physics"); + vehicle_scripts\_civ_full_size_technical::main("vehicle_civ_full_size_technical",undefined,"script_vehicle_civ_full_size_technical"); + vehicle_scripts\_civ_full_size_technical::main("vehicle_civ_full_size_technical","civ_full_size_technical_turret","script_vehicle_civ_full_size_technical_turret"); + vehicle_scripts\_civ_pickup_truck_01::main("vehicle_civ_pickup_truck_01",undefined,"script_vehicle_civ_pickup_truck_01"); + vehicle_scripts\_civ_smartcar::main("vehicle_civ_smartcar_02_blue","civ_smartcar_physics","script_vehicle_civ_smartcar_02_blue_physics"); + vehicle_scripts\_civ_smartcar::main("vehicle_civ_smartcar_02_wht",undefined,"script_vehicle_civ_smartcar_02_wht"); + vehicle_scripts\_civ_smartcar::main("vehicle_civ_smartcar_02_wht","civ_smartcar_physics","script_vehicle_civ_smartcar_02_wht_physics"); + vehicle_scripts\_civ_smartcar::main("vehicle_civ_smartcar_02_ylw","civ_smartcar_physics","script_vehicle_civ_smartcar_02_ylw_physics"); + vehicle_scripts\_civ_smartcar::main("vehicle_civ_smartcar","civ_smartcar_physics","script_vehicle_civ_smartcar_physics"); + vehicle_scripts\_civ_smartcar::main("vehicle_civ_smartcar_simple_ylw",undefined,"script_vehicle_civ_smartcar_simple_ylw"); + vehicle_scripts\_civ_workvan::main("vehicle_civ_workvan",undefined,"script_vehicle_civ_workvan"); + vehicle_scripts\_civ_workvan::main("vehicle_civ_workvan","civ_workvan_physics","script_vehicle_civ_workvan_physics"); + vehicle_scripts\_littlebird::main("vehicle_mil_helicopter_littlebird_kva_ai",undefined,"script_vehicle_littlebird_kva_armed"); + vehicle_scripts\_gaz::main("vehicle_mil_gaz_lagos_ai",undefined,"script_vehicle_mil_gaz_lagos_ai"); + vehicle_scripts\_uk_delivery_truck::main("vehicle_uk_delivery_truck",undefined,"script_vehicle_uk_delivery_truck"); +} \ No newline at end of file diff --git a/AW/PC/maps/lagos_qte.gsc b/AW/PC/maps/lagos_qte.gsc new file mode 100644 index 0000000..76b7bb2 --- /dev/null +++ b/AW/PC/maps/lagos_qte.gsc @@ -0,0 +1,1112 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: lagos_qte.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 52 + * Decompile Time: 723 ms + * Timestamp: 4/22/2024 2:33:57 AM +*******************************************************************/ + +//Function Number: 1 +takedown_qte(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A) +{ + level.player.no_breath_hud = 1; + if(!common_scripts\utility::flag("takedown_underwater")) + { + maps\lagos_utility::start_end_takedown_highway_path_player_side(); + level.player allowads(1); + param_08 hide(); + level.player maps\_shg_utility::setup_player_for_scene(); + level.player takeallweapons(); + var_0B = 1; + level.player playerlinktoblend(param_08,"tag_player",var_0B); + level.player common_scripts\utility::delaycall(var_0B,::playerlinktodelta,param_08,"tag_player",1,7,7,5,5,1); + param_08 common_scripts\utility::delaycall(var_0B,::show); + level.player enableinvulnerability(); + level.player notifyonplayercommand("gunFired","+attack"); + var_0C = [param_02,param_03,param_08]; + var_0D = [param_01,param_02,param_03,param_08]; + var_0E = [param_02,param_03,param_08]; + var_0F = [param_02,param_03]; + var_10 = [param_02,param_03,param_09]; + var_11 = [param_02,param_03]; + param_02 maps\_utility::deletable_magic_bullet_shield(); + param_03 maps\_utility::deletable_magic_bullet_shield(); + thread truck_takedown_player_hold_check("flag_player_hold_on",param_09); + foreach(var_13 in var_0D) + { + var_13 linkto(param_09,"tag_body"); + } + + param_09 maps\_anim::anim_single(var_0C,"hostage_truck_takedown_pt1","tag_body"); + level thread maps\lagos_fx::fake_tread_fx_hostage_truck(param_09); + if(!common_scripts\utility::flag("flag_player_hold_on")) + { + soundscripts\_snd::snd_printlnbold("Van Grab failure"); + hostage_truck_failure(); + param_00 maps\_anim::anim_first_frame_solo(param_09,"hostage_truck_takedown_pt2"); + param_09 maps\_anim::anim_first_frame(var_0C,"hostage_truck_takedown_pt2","tag_body"); + param_00 thread maps\_anim::anim_single_solo(param_09,"hostage_truck_takedown_pt2"); + param_09 thread maps\_anim::anim_single(var_0C,"hostage_truck_takedown_pt2","tag_body"); + wait(0.4); + level.player unlink(); + level.player thread truck_takedown_player_hold_fail(param_08 gettagorigin("tag_player"),param_08 gettagangles("tag_player"),(-400,500,-200),(-320,128,0)); + param_08 stopanimscripted(); + param_08 delete(); + hostage_truck_gameover(); + return; + } + + soundscripts\_snd::snd_message("final_takedown_xbutton_hit"); + param_00 notify("stop_loop"); + thread maps\lagos_vo::highway_traffic_final_takedown_hold_on(); + param_08 attach("npc_titan45_base_loot","TAG_WEAPON_RIGHT",0); + soundscripts\_snd::snd_printlnbold("Van Grab Success"); + thread truck_takedown_player_shot_enemy_check("flag_player_shot_enemy",4.55,param_02,param_03,param_09); + thread player_free_aim(param_08,param_09,param_00); + hostage_truck_anim_single_break_when_timeout_or_fail(param_00,var_0D,param_09); + level.player notify("part2_done"); + soundscripts\_snd::snd_message("hostage_truck_slomo_end_pt2"); + if(!common_scripts\utility::flag("flag_player_shot_enemy")) + { + soundscripts\_snd::snd_printlnbold("Shoot Driver Fail"); + hostage_truck_failure(); + if(isdefined(param_02) && isalive(param_02)) + { + param_02 thread shootblankthread(1); + } + + if(isdefined(param_03) && isalive(param_03)) + { + param_03 thread shootblankthread(0); + } + + param_00 thread maps\_anim::anim_single_solo(param_09,"hostage_truck_takedown_pt3"); + wait 0.05; + wait 0.05; + param_09 thread maps\_anim::anim_single_solo(param_08,"hostage_truck_takedown_fail_pt2","tag_body"); + wait(0.3); + level.player forcemovingplatformentity(undefined); + level.player unlink(); + level.burke hide(); + level.player thread truck_takedown_player_hold_fail(param_08 gettagorigin("tag_player"),param_08 gettagangles("tag_player"),(0,500,-200),(-96,360,0)); + param_08 stopanimscripted(); + param_08 delete(); + hostage_truck_gameover(); + return; + } + + soundscripts\_snd::snd_printlnbold("Shoot Driver Success"); + level.player common_scripts\utility::delaycall(6,::lerpviewangleclamp,1,1,0,0,0,0,0); + param_09 thread maps\_anim::anim_single_solo(level.burke,"hostage_truck_takedown_pt3","tag_body"); + param_00 thread maps\_anim::anim_single_solo(param_0A,"hostage_truck_takedown_pt3"); + param_00 thread maps\_anim::anim_single_solo(param_09,"hostage_truck_takedown_pt3"); + param_09 thread maps\_anim::anim_single_solo(param_08,"hostage_truck_takedown_pt3","tag_body"); + param_08 waittillmatch("kva_part3_start","single anim"); + param_09 thread maps\_anim::anim_single(var_0F,"hostage_truck_takedown_pt3","tag_body"); + param_08 waittillmatch("unlink_from_truck","single anim"); + thread maps\_utility::autosave_now_silent(); + param_09 delete(); + param_02 delete(); + param_03 delete(); + } + + thread takedown_underwater_portion(param_00,param_08,param_01,param_09,param_04,param_05,param_06); +} + +//Function Number: 2 +shootblankthread(param_00) +{ + if(param_00) + { + self shootblank(); + wait 0.05; + self shootblank(); + wait 0.05; + self shoot(); + wait 0.05; + self shoot(); + wait 0.05; + self shoot(); + wait 0.05; + wait 0.05; + wait 0.05; + self shoot(); + wait 0.05; + wait 0.05; + self shoot(); + wait 0.05; + wait 0.05; + self shoot(); + wait 0.05; + wait 0.05; + self shoot(); + wait 0.05; + wait 0.05; + self shoot(); + return; + } + + self shootblank(); + wait 0.05; + self shoot(); + wait 0.05; + self shoot(); + wait 0.05; + wait 0.05; + wait 0.05; + self shoot(); + wait 0.05; + wait 0.05; + wait 0.05; + self shoot(); + wait 0.05; + wait 0.05; + self shoot(); + wait 0.05; + wait 0.05; + self shoot(); + wait 0.05; + wait 0.05; + self shoot(); +} + +//Function Number: 3 +viewmodel_swim_handle_notetracks() +{ + for(;;) + { + self waittill("swim_notes",var_00); + switch(var_00) + { + case "lagos_swimming_into_stroke": + case "lagos_swimming_drowning_start": + case "lagos_swimming_stroke": + soundscripts\_snd::snd_message(var_00); + break; + } + } +} + +//Function Number: 4 +viewmodel_swim_animations_loop(param_00,param_01,param_02,param_03) +{ + level endon("missionfailed"); + level endon(param_02); + level.player enablemousesteer(1); + param_00 childthread viewmodel_swim_handle_notetracks(); + var_04 = %wm_unarmed_underwater_swim_idle_loop; + var_05 = %wm_unarmed_underwater_swim_loop_into; + var_06 = %wm_unarmed_underwater_swim_loop; + var_07 = %wm_unarmed_underwater_swim_drown; + var_08 = %wm_unarmed_underwater_swim_arms_off_screen; + var_09 = getnotetracktimes(var_06,"anim_interupt"); + var_0A = getanimlength(var_04); + var_0B = getanimlength(var_05); + var_0C = getanimlength(var_06); + var_0D = 1; + var_0E = 2; + var_0F = 3; + var_10 = 4; + var_11 = var_0D; + param_00 setflaggedanimknob("swim_notes",var_08,1,0); + param_00 setflaggedanimknob("swim_notes",var_04,1,0.5); + var_12 = 0; + for(;;) + { + level.player hideviewmodel(); + var_13 = level.player getnormalizedmovement(); + var_14 = level.player getnormalizedcameramovements(); + var_15 = 0; + if(var_13[0] > 0.2) + { + var_15 = 1; + } + + var_16 = var_11; + var_17 = param_01.origin - level.player.origin; + if(!common_scripts\utility::flag("van_door_open_lighting") && length(var_17) < 150) + { + var_15 = 0; + } + else if(common_scripts\utility::flag("van_door_open_lighting") && length(var_17) < 110) + { + var_15 = 0; + } + + if(param_01.origin[2] > level.player.origin[2] && !common_scripts\utility::flag("flag_van_door_open")) + { + setdvar("ui_deadquote",&"LAGOS_SWIM_FAIL"); + maps\_utility::missionfailedwrapper(); + level.player enablemousesteer(0); + return; + } + + var_18 = 12; + var_19 = (0,0,0); + if(!var_15 && param_03) + { + var_19 = (0,0,-10); + } + + param_00 moveto(param_00.origin + anglestoforward(param_00.angles) * var_13[0] * var_18 * var_15 + var_19,0.1,0.05,0.05); + var_1A = 5; + param_00 rotateto(param_00.angles - (0,1,0) * var_14[1] * var_1A - (1,0,0) * var_14[0] * var_1A,0.1,0.05,0.05); + if(common_scripts\utility::flag("player_swimming_drown")) + { + if(var_11 == var_0F) + { + var_1B = param_00 getanimtime(var_06); + foreach(var_1D in var_09) + { + if(var_1B > var_1D - 0.1 && var_1B < var_1D + 0.1) + { + var_11 = var_10; + } + } + } + else + { + var_11 = var_10; + } + } + + if(var_11 == var_0D) + { + if(var_15) + { + var_11 = var_0E; + } + else if(var_12 >= var_0A) + { + var_16 = 0; + } + } + else if(var_11 == var_0E) + { + if(var_12 >= var_0B) + { + if(var_15) + { + var_11 = var_0F; + } + else + { + var_11 = var_0D; + } + } + } + else if(var_11 == var_0F) + { + if(var_15) + { + if(var_12 >= var_0C) + { + var_16 = 0; + } + } + else + { + var_1B = param_00 getanimtime(var_06); + foreach(var_1D in var_09) + { + if(var_1B > var_1D - 0.1 && var_1B < var_1D + 0.1) + { + var_11 = var_0D; + } + } + } + } + + if(var_16 != var_11) + { + if(var_11 == var_0D) + { + if(var_16 == var_0F || var_16 == var_0E) + { + param_00 setflaggedanimknobrestart("swim_notes",var_04,1,1); + } + else + { + param_00 setflaggedanimknobrestart("swim_notes",var_04); + } + } + else if(var_11 == var_0E) + { + soundscripts\_snd::snd_message("lagos_swimming_into_stroke"); + param_00 setflaggedanimknobrestart("swim_notes",var_05); + } + else if(var_11 == var_0F) + { + param_00 setflaggedanimknobrestart("swim_notes",var_06); + } + else if(var_11 == var_10) + { + param_00 setflaggedanimknobrestart("swim_notes",var_07,1,0.75); + } + + var_12 = 0.05; + } + + wait(0.05); + var_12 = var_12 + 0.05; + } + + level.player enablemousesteer(0); +} + +//Function Number: 5 +viewmodel_swim_animations(param_00,param_01,param_02,param_03) +{ + var_04 = spawn("script_model",level.player.origin); + var_04 setmodel("worldhands_atlas_pmc_smp"); + var_04 dontcastshadows(); + if(isdefined(param_03)) + { + var_04.angles = param_03.angles; + } + else + { + var_04.angles = level.player.angles; + } + + var_04 useanimtree(#animtree); + level.player playerlinktodelta(var_04,"tag_player",1,0,0,0,0); + viewmodel_swim_animations_loop(var_04,param_00,param_01,param_02); + if(!common_scripts\utility::flag("missionfailed")) + { + var_04 setflaggedanimknobrestart("swim_notes",%wm_unarmed_underwater_swim_arms_off_screen); + var_05 = getanimlength(%wm_unarmed_underwater_swim_arms_off_screen); + wait(var_05); + } + + var_04 unlink(); + var_04 delete(); +} + +//Function Number: 6 +swim_bounds_fail() +{ + level endon("swimming_fade"); + common_scripts\utility::flag_clear("flag_swim_bounds"); + for(;;) + { + if(common_scripts\utility::flag("flag_swim_bounds")) + { + setdvar("ui_deadquote",&"LAGOS_SWIM_FAIL"); + maps\_utility::missionfailedwrapper(); + return; + } + + wait 0.05; + } +} + +//Function Number: 7 +swim_time_fail() +{ + wait(10); + if(!common_scripts\utility::flag("flag_van_door_open")) + { + setdvar("ui_deadquote",&"LAGOS_SWIM_FAIL"); + maps\_utility::missionfailedwrapper(); + } +} + +//Function Number: 8 +takedown_underwater_portion(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + var_07 = 30; + var_08 = [param_02,param_01,param_04,param_05,param_06]; + var_09 = maps\_utility::spawn_anim_model("hostage_truck",param_03.origin,param_03.angles); + var_09 thread hostage_truck_scripted_descent(var_07); + var_0A = common_scripts\utility::getstruct("van_takedown_underwater_player","targetname"); + param_02 hide(); + param_01 hide(); + level.player forcemovingplatformentity(undefined); + level.player unlink(); + level.player maps\_utility::teleport_player(var_0A); + var_0B = (13,0,0); + level.player.origin = (-34194,76524,130); + level.player.angles = var_0B; + wait 0.05; + level notify("swimming_start"); + var_09 thread maps\lagos_fx::water_bubbles_truck_door(); + soundscripts\_snd::snd_message("underwater_sequence",var_09); + thread swim_bounds_fail(); + thread swim_time_fail(); + thread viewmodel_swim_animations(var_09,"latch_opened",1,undefined); + level.player waittill_player_uses_truck_latch(var_09,var_07); + level notify("swimming_end"); + level.player disableweapons(); + param_04 hide(); + param_05 hide(); + param_06 hide(); + param_04 linkto(var_09,"tag_body"); + param_05 linkto(var_09,"tag_body"); + param_06 linkto(var_09,"tag_body"); + var_0C = 0.75; + level.player playerlinktoblend(param_01,"tag_player",var_0C,0.5); + level.player common_scripts\utility::delaycall(var_0C,::playerlinktodelta,param_01,"tag_player",1,7,7,5,5,1); + param_01 common_scripts\utility::delaycall(var_0C,::show); + param_02 common_scripts\utility::delaycall(var_0C,::show); + param_04 common_scripts\utility::delaycall(var_0C,::show); + param_05 common_scripts\utility::delaycall(var_0C,::show); + param_06 common_scripts\utility::delaycall(var_0C,::show); + var_09 thread maps\_anim::anim_single_solo(var_09,"hostage_truck_takedown_pt4_into","tag_origin"); + var_09 thread maps\_anim::anim_single(var_08,"hostage_truck_takedown_pt4_into","tag_body"); + soundscripts\_snd::snd_message("underwater_rescue"); + foreach(var_0E in var_08) + { + var_0E linkto(var_09,"tag_body"); + } + + var_07 = getanimlength(param_01 maps\_utility::getanim("hostage_truck_takedown_pt4_into")); + wait(var_07); + level thread maps\lagos_fx::ambient_underwater_effects_rescue(var_09); + param_00 thread maps\_anim::anim_single_solo(var_09,"hostage_truck_takedown_pt4"); + var_09 thread maps\_anim::anim_single(var_08,"hostage_truck_takedown_pt4","tag_body"); + maps\_vehicle_traffic::delete_traffic_path("highway_path_player_side"); + maps\_vehicle_traffic::delete_traffic_path("highway_path_other_side"); + param_01 waittillmatch("unlink_from_truck","single anim"); + level thread maps\lagos_fx::player_gasping_breath(); + common_scripts\utility::flag_set("obj_progress_pursue_hostage_truck_highway_rescue"); + level.player unlink(); + param_01 hide(); + thread viewmodel_swim_animations(var_09,"swimming_end",0,param_01); + level thread maps\lagos_fx::player_drown_end_vm_transition(); + maps\_utility::delaythread(7,::common_scripts\utility::flag_set,"player_swimming_drown"); + maps\_utility::delaythread(11,::common_scripts\utility::flag_set,"player_swimming_end"); + common_scripts\utility::flag_wait("player_swimming_end"); + level notify("swimming_fade"); + wait(4); + foreach(var_0E in var_08) + { + if(isdefined(var_0E)) + { + var_0E stopanimscripted(); + } + } + + level.player allowads(1); +} + +//Function Number: 9 +hostage_truck_anim_single_break_when_timeout_or_fail(param_00,param_01,param_02) +{ + level.player endon("part2_done"); + level endon("flag_player_shot_enemy"); + param_00 maps\_anim::anim_first_frame_solo(param_02,"hostage_truck_takedown_pt2"); + param_02 maps\_anim::anim_first_frame(param_01,"hostage_truck_takedown_pt2","tag_body"); + param_00 thread maps\_anim::anim_single_solo(param_02,"hostage_truck_takedown_pt2"); + param_02 maps\_anim::anim_single(param_01,"hostage_truck_takedown_pt2","tag_body"); +} + +//Function Number: 10 +hostage_truck_scripted_descent(param_00) +{ + var_01 = common_scripts\utility::getstruct("hostage_truck_sinking_control","targetname"); + var_02 = common_scripts\utility::getstruct(var_01.target,"targetname"); + self.origin = var_01.origin; + self.angles = var_01.angles; + self moveto(var_02.origin,param_00,0,param_00); + self rotateto(var_02.angles,param_00); +} + +//Function Number: 11 +printorigin3duntilnotify(param_00,param_01,param_02,param_03,param_04) +{ + self endon(param_04); + wait(0.05); +} + +//Function Number: 12 +truck_takedown_player_hold_check(param_00,param_01) +{ + level.player waittill("slowmo_start"); + soundscripts\_snd::snd_printlnbold("Slowmo Start"); + var_02 = param_01 maps\_shg_utility::hint_button_tag("x","tag_mirror_right",900,900); + common_scripts\utility::flag_set("van_takedown_hold_lighting"); + if(level.player common_scripts\utility::is_player_gamepad_enabled()) + { + wait_for_flag_or_player_command("flag_hostage_truck_is_failure","+usereload"); + } + else + { + wait_for_flag_or_player_command("flag_hostage_truck_is_failure","+activate"); + } + + if(common_scripts\utility::flag("flag_hostage_truck_is_failure")) + { + maps\lagos_utility::clear_hint_button(var_02); + return; + } + + soundscripts\_snd::snd_message("van_takedown_1stjump_button_press"); + hostage_truck_slomo_end(1); + var_02 maps\_shg_utility::hint_button_clear(); + common_scripts\utility::flag_set(param_00); +} + +//Function Number: 13 +truck_takedown_player_hold_fail(param_00,param_01,param_02,param_03) +{ + level.player disableinvulnerability(); + var_04 = common_scripts\utility::spawn_tag_origin(); + var_04.origin = param_00; + var_04.angles = param_01; + self playerlinktoabsolute(var_04,"tag_origin"); + var_05 = bullettrace(level.player geteye(),level.player geteye() + param_02,0); + var_06 = 0.25; + var_07 = 25; + var_08 = 360; + var_09 = 45; + var_0A = var_05["position"] + (0,0,64); + var_04 truck_takedown_player_fall(var_06,var_07,var_08,var_09,var_0A,"heavy"); + var_06 = 0.4; + var_07 = 105; + var_08 = 360; + var_09 = 255; + var_0A = var_0A + param_03; + var_04 truck_takedown_player_fall(var_06,var_07,var_08,var_09,var_0A,"light"); + level.player kill(); + var_06 = 0.6; + var_07 = 95; + var_08 = 200; + var_09 = 155; + var_0A = var_0A + param_03; + var_04 truck_takedown_player_fall(var_06,var_07,var_08,var_09,var_0A,"heavy"); +} + +//Function Number: 14 +truck_takedown_player_fall(param_00,param_01,param_02,param_03,param_04,param_05) +{ + self moveto(param_04,param_00,0,0); + self rotateby((param_01,param_02,param_03),param_00,0,0); + earthquake(1,param_00 * 2,self.origin,500); + level.player dodamage(34,self.origin + (0,0,-32)); + if(isdefined(param_05)) + { + if(param_05 == "heavy") + { + level.player playrumbleonentity("damage_heavy"); + } + else if(param_05 == "light") + { + level.player playrumbleonentity("damage_light"); + } + } + + wait(param_00); +} + +//Function Number: 15 +truck_takedown_player_shot_enemy_check(param_00,param_01,param_02,param_03,param_04) +{ + param_02 thread kva_fake_death_checker(param_04,"hostage_truck_takedown_death"); + param_03 thread kva_fake_death_checker(param_04,"hostage_truck_takedown_death"); + for(;;) + { + level.kva_dead_count = 0; + if(!isalive(param_02) || param_02.fake_death) + { + level.kva_dead_count++; + } + + if(!isalive(param_03) || param_03.fake_death) + { + level.kva_dead_count++; + } + + level.kva_1_dead = !isalive(param_02) || param_02.fake_death; + level.kva_2_dead = !isalive(param_03) || param_03.fake_death; + if(level.kva_dead_count >= 2) + { + hostage_truck_slomo_end(1); + common_scripts\utility::flag_set(param_00); + break; + } + + wait 0.05; + } + + level.player.weapon_out = undefined; + level.player notify("set_normal_time_if_gun_fired_kill"); +} + +//Function Number: 16 +set_normal_time_if_gun_fired() +{ + level.player endon("part2_done"); + for(;;) + { + level.player waittill("gunFired"); + hostage_truck_slomo_end(1); + wait 0.05; + } +} + +//Function Number: 17 +kva_fake_death_checker(param_00,param_01) +{ + level.player endon("part1_done"); + level.player endon("part2_done"); + self.fake_death = 0; + thread kva_fake_death_checker_bloodfx(); + self waittill("damage",var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A,var_0B); + self.fake_death = 1; + if(!isdefined(self getlinkedparent())) + { + self linkto(param_00.tag_driver); + } + + if(isdefined(param_00) && isdefined(param_01)) + { + self stopanimscripted(); + param_00 thread maps\_anim::anim_single_solo(self,param_01,"tag_body"); + } +} + +//Function Number: 18 +kva_fake_death_checker_bloodfx() +{ + self endon("death"); + for(;;) + { + self waittill("damage",var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09); + var_0A = common_scripts\utility::spawn_tag_origin(); + var_0A linkto(self,var_07,(0,0,0),(0,0,0)); + playfxontag(common_scripts\utility::getfx("lag_tkdown_truck_blood_impact"),var_0A,"TAG_ORIGIN"); + } +} + +//Function Number: 19 +doclamping() +{ + wait(3); + level.player lerpviewangleclamp(1,0.25,0.25,0,0,0,0); +} + +//Function Number: 20 +doclampingrelease() +{ + wait(0.6); + level.player lerpviewangleclamp(0.05,0.25,0.25,35,35,22.5,22.5); +} + +//Function Number: 21 +player_free_aim(param_00,param_01,param_02) +{ + thread doclamping(); + level.player waittill("do_viewmodel_swap"); + thread doclampingrelease(); + var_03 = "iw5_titan45lagostrucktakedown_sp"; + level.player enableweapons(); + level.player hideviewmodel(); + level.player giveweapon(var_03); + level.player switchtoweapon(var_03); + wait(0.3); + level.player showviewmodel(); + soundscripts\_snd::snd_message("final_takedown_gun_up"); + common_scripts\utility::flag_set("van_takedown_shoot_lighting"); + level.player forcemovingplatformentity(param_00); + level.player forcemovingplatformentity(param_01); + level.player playerrecoilscaleon(0); + level.player waittill("part2_done"); + level.player disableweapons(); + wait(1); + level.player playerrecoilscaleon(1); + common_scripts\utility::flag_set("van_takedown_impact_lighting"); + level.player takeweapon(var_03); + if(isdefined(param_00)) + { + param_00 showallparts(); + } +} + +//Function Number: 22 +waittill_player_uses_truck_latch(param_00,param_01) +{ + var_02 = param_00 maps\_shg_utility::hint_button_tag("x","latch_jnt",150,900); + var_03 = common_scripts\utility::spawn_tag_origin(); + var_03.origin = param_00 gettagorigin("latch_jnt") - 32 * anglestoforward(param_00.angles); + var_03 linkto(param_00,"latch_jnt"); + var_03 makeusable(); + level.obj_tag = common_scripts\utility::spawn_tag_origin(); + level.obj_tag.origin = param_00 gettagorigin("latch_jnt"); + level.obj_tag linkto(param_00,"latch_jnt"); + var_04 = getent("trigger_player_ready_for_van_open","targetname"); + var_05 = getent("swim_latch_open_trigger","targetname"); + var_04 maps\lagos_utility::fake_linkto(param_00); + var_05 maps\lagos_utility::fake_linkto(param_00); + common_scripts\utility::run_thread_on_targetname("trigger_player_ready_for_van_open",::truck_swim_latch_open_player_validation); + var_06 = var_04 common_scripts\utility::waittill_notify_or_timeout_return("latch_opening",param_01 - 5); + var_02 maps\_shg_utility::hint_button_clear(); + if(isdefined(var_06)) + { + setdvar("ui_deadquote",&"LAGOS_SWIM_FAIL"); + maps\_utility::missionfailedwrapper(); + hostage_truck_gameover(); + } + + level notify("latch_opened"); + common_scripts\utility::flag_set("van_door_open_lighting"); + common_scripts\utility::flag_set("flag_van_door_open"); + var_03 delete(); + thread truck_latch_rumble(); +} + +//Function Number: 23 +truck_latch_rumble() +{ + wait(5); + level.player playrumbleonentity("damage_heavy"); +} + +//Function Number: 24 +truck_swim_latch_open_player_validation() +{ + for(;;) + { + self waittill("trigger",var_00); + if(isplayer(var_00)) + { + while(common_scripts\utility::flag("flag_swim_latch_open_trigger")) + { + if(level.player usebuttonpressed()) + { + self notify("latch_opening"); + return; + } + + wait 0.05; + } + } + } +} + +//Function Number: 25 +truck_takedown_player_pry_open(param_00,param_01) +{ + level.player waittill("slowmo_start"); + display_hint_timeout_override_old("qte_pry_open",20); + wait_for_flag_or_player_command("flag_hostage_truck_is_failure","+usereload"); + if(common_scripts\utility::flag("flag_hostage_truck_is_failure")) + { + return; + } + + hostage_truck_slomo_end(1); + if(param_00 == "flag_player_pry_open") + { + level notify("pry_chk_complete"); + } + + common_scripts\utility::flag_set(param_00); +} + +//Function Number: 26 +hostage_truck_failure() +{ + common_scripts\utility::flag_set("flag_hostage_truck_is_failure"); + hostage_truck_slomo_end(1); +} + +//Function Number: 27 +hostage_truck_gameover() +{ + level waittill("forever"); +} + +//Function Number: 28 +setup_vehicles_for_takedown() +{ + level.hostage_truck = maps\_vehicle::spawn_vehicle_from_targetname("KVA_hostage_truck_takedown"); + level.hostage_truck.vehicle_stays_alive = 1; + level.hostage_truck setmodel("vehicle_civ_boxtruck_highres_ai"); + level.hostage_truck.animname = "hostage_truck"; + level.hostage_truck useanimtree(#animtree); + thread maps\_vehicle_traffic::add_script_car(level.hostage_truck); + level.hostage_truck.tag_driver = spawn("script_origin",(0,0,0)); + level.hostage_truck.tag_driver.origin = level.hostage_truck gettagorigin("tag_driver"); + level.hostage_truck.tag_driver.angles = level.hostage_truck gettagangles("tag_driver"); + level.hostage_truck.tag_driver linkto(level.hostage_truck); + level.hostage_truck_oncoming = maps\_vehicle::spawn_vehicle_from_targetname("oncoming_hostage_truck_takedown"); + level.hostage_truck_oncoming.animname = "oncoming_truck"; + level.hostage_truck_oncoming useanimtree(#animtree); +} + +//Function Number: 29 +hostage_truck_slomo_start(param_00,param_01,param_02) +{ + if(common_scripts\utility::flag("flag_truck_middle_takedown_is_failure")) + { + return; + } + + level.player notify("slowmo_start"); + var_03 = level.player; + var_03 thread maps\_utility::play_sound_on_entity("slomo_whoosh"); + var_03 thread player_heartbeat(); + maps\_utility::slowmo_start(); + var_03 allowmelee(0); + maps\_utility::slowmo_setspeed_norm(param_00); + maps\_utility::slowmo_setspeed_slow(param_01); + maps\_utility::slowmo_setlerptime_in(param_02); + maps\_utility::slowmo_lerp_in(); +} + +//Function Number: 30 +hostage_truck_slomo_end(param_00) +{ + var_01 = 0.75; + if(isdefined(param_00) && param_00) + { + var_01 = 0.05; + } + + level notify("stop_player_heartbeat"); + level.player thread maps\_utility::play_sound_on_entity("slomo_whoosh"); + maps\_utility::slowmo_setspeed_norm(1); + maps\_utility::slowmo_setlerptime_out(var_01); + maps\_utility::slowmo_lerp_out(); + maps\_utility::slowmo_end(); +} + +//Function Number: 31 +player_heartbeat() +{ + level endon("stop_player_heartbeat"); + for(;;) + { + self playlocalsound("breathing_heartbeat"); + wait(0.5); + } +} + +//Function Number: 32 +hostage_truck_slomo_end_notetrack(param_00) +{ + level.player notify("slowmo_end"); + hostage_truck_slomo_end(0); +} + +//Function Number: 33 +hostage_truck_slomo_start_pt1(param_00) +{ + soundscripts\_snd::snd_message("hostage_truck_slomo_start_pt1"); + var_01 = 0.095; + var_02 = 0.095; + var_03 = 0.2; + hostage_truck_slomo_start(var_01,var_02,var_03); +} + +//Function Number: 34 +hostage_truck_slomo_start_pt2(param_00) +{ + var_01 = 0.1; + var_02 = 0.1; + var_03 = 0.2; + common_scripts\utility::flag_set("flag_hostage_truck_fire_input_window_started"); + if(!isdefined(level.kva_1_dead) || !isdefined(level.kva_1_dead) || !level.kva_1_dead || !level.kva_1_dead) + { + soundscripts\_snd::snd_message("hostage_truck_slomo_start_pt2"); + hostage_truck_slomo_start(var_01,var_02,var_03); + } +} + +//Function Number: 35 +hostage_truck_slomo_end_pt2(param_00) +{ + if(common_scripts\utility::flag("flag_hostage_truck_fire_input_window_started")) + { + level.player notify("check_and_wait_for_shooting_result"); + } + + hostage_truck_slomo_end_notetrack(param_00); +} + +//Function Number: 36 +hostage_truck_slomo_start_pt3(param_00) +{ + soundscripts\_snd::snd_message("hostage_truck_slomo_start_pt3"); + var_01 = 0.095; + var_02 = 0.095; + var_03 = 0.2; + hostage_truck_slomo_start(var_01,var_02,var_03); +} + +//Function Number: 37 +hostage_truck_slomo_start_pt4(param_00) +{ + soundscripts\_snd::snd_message("hostage_truck_slomo_start_pt4"); + var_01 = 0.095; + var_02 = 0.095; + var_03 = 0.2; + hostage_truck_slomo_start(var_01,var_02,var_03); +} + +//Function Number: 38 +hostage_truck_viewmodel_swap(param_00) +{ + level.player allowmelee(0); + level.player notify("do_viewmodel_swap"); +} + +//Function Number: 39 +traverse_start_jump_start_slowmo(param_00) +{ + soundscripts\_snd::snd_message("traverse_start_jump_start_slowmo"); + var_01 = 0.095; + var_02 = 0.095; + var_03 = 0.2; + if(level.currentgen) + { + var_01 = 0.2; + var_02 = 0.2; + var_03 = 0.1; + } + + hostage_truck_slomo_start(var_01,var_02,var_03); +} + +//Function Number: 40 +traverse_start_jump_start_prompt(param_00) +{ + thread maps\lagos_code::traffic_traverse_start_player_input(); + common_scripts\utility::flag_wait("flag_highway_ledge_jump_started"); + maps\lagos_utility::disable_exo_for_highway(); + traverse_start_jump_end_slowmo(); + if(isdefined(level.traffic_ledge_jump_trigger_use)) + { + level.traffic_ledge_jump_trigger_use delete(); + } +} + +//Function Number: 41 +traverse_start_jump_end_prompt(param_00) +{ + if(isdefined(level.traffic_ledge_jump_trigger_use)) + { + level.traffic_ledge_jump_trigger_use delete(); + } +} + +//Function Number: 42 +traverse_start_jump_end_slowmo(param_00) +{ + soundscripts\_snd::snd_message("traverse_start_jump_end_slowmo"); + hostage_truck_slomo_end_notetrack(); + if(common_scripts\utility::flag("flag_highway_ledge_jump_started")) + { + return; + } + + common_scripts\utility::flag_set("flag_highway_ledge_jump_fail"); + level.org_player_highway_ledge maps\_utility::anim_stopanimscripted(); + level.org_player_highway_ledge maps\_anim::anim_single_solo(level.player_rig_highway_ledge,"traffic_start_VM_fail"); + setdvar("ui_deadquote",&"LAGOS_BUS_JUMP_FAILED"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 43 +traverse_start_jump_player_looking(param_00) +{ + common_scripts\utility::flag_set("flag_highway_VM_looking_forward"); +} + +//Function Number: 44 +wait_for_flag_or_player_command_aux(param_00,param_01) +{ + level.player endon("qte_success_message"); + common_scripts\utility::flag_wait(param_00); + return 1; +} + +//Function Number: 45 +wait_for_flag_or_player_command(param_00,param_01) +{ + level.player notifyonplayercommand("qte_success_message",param_01); + var_02 = wait_for_flag_or_player_command_aux(param_00,param_01); + level.player notifyonplayercommandremove("qte_success_message",param_01); +} + +//Function Number: 46 +display_hint_timeout_override_old(param_00,param_01) +{ + level.player.remove_hint = level.player.current_global_hint; + level.player maps\_utility::display_hint_timeout(param_00,param_01); +} + +//Function Number: 47 +qte_grab_hold_off() +{ + if(level.player usebuttonpressed() || isdefined(level.player.remove_hint) && level.player.remove_hint == &"LAGOS_QTE_GRAB_HOLD") + { + return 1; + } + + return 0; +} + +//Function Number: 48 +qte_shoot_kva_off() +{ + var_00 = "BUTTON_RTRIG"; + if(!level.console && !level.player common_scripts\utility::is_player_gamepad_enabled()) + { + var_00 = "mouse2"; + } + + if(level.player buttonpressed(var_00) || isdefined(level.player.remove_hint) && level.player.remove_hint == &"LAGOS_QTE_SHOOT_KVA") + { + return 1; + } + + return 0; +} + +//Function Number: 49 +qte_pry_open_off() +{ + if(level.player usebuttonpressed() || isdefined(level.player.remove_hint) && level.player.remove_hint == &"LAGOS_QTE_PRY_OPEN") + { + return 1; + } + + return 0; +} + +//Function Number: 50 +qte_swim_off() +{ + if(level.player getnormalizedmovement() > 0.01 || isdefined(level.player.remove_hint) && level.player.remove_hint == &"LAGOS_QTE_SWIM") + { + return 1; + } + + return 0; +} + +//Function Number: 51 +qte_success_off() +{ + if(isdefined(level.player.remove_hint) && level.player.remove_hint == &"LAGOS_QTE_SUCCESS") + { + return 1; + } + + return 0; +} + +//Function Number: 52 +qte_fail_off() +{ + if(isdefined(level.player.remove_hint) && level.player.remove_hint == &"LAGOS_QTE_FAIL") + { + return 1; + } + + return 0; +} \ No newline at end of file diff --git a/AW/PC/maps/lagos_qte_middle.gsc b/AW/PC/maps/lagos_qte_middle.gsc new file mode 100644 index 0000000..e40312f --- /dev/null +++ b/AW/PC/maps/lagos_qte_middle.gsc @@ -0,0 +1,642 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: lagos_qte_middle.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 33 + * Decompile Time: 471 ms + * Timestamp: 4/22/2024 2:33:59 AM +*******************************************************************/ + +//Function Number: 1 +anim_single_solo_d(param_00,param_01) +{ + maps\_anim::anim_single_solo(param_00,param_01); +} + +//Function Number: 2 +anim_single_qte_middle(param_00,param_01,param_02) +{ + var_03 = param_00[0]; + var_04 = param_00[1]; + thread anim_single_solo_d(param_01[0],param_02); + var_04.tag_driver thread anim_single_solo_d(param_01[1],param_02); + var_04.tag_driver thread anim_single_solo_d(param_01[2],param_02); + var_04.tag_driver thread anim_single_solo_d(param_01[3],param_02); + thread anim_single_solo_d(param_00[1],param_02); + if(param_02 == "truck_middle_takedown_pt4") + { + thread anim_single_solo_d(param_00[0],param_02); + var_05 = getanimlength(param_00[0] maps\_utility::getanim(param_02)); + var_06 = int(var_05 * 20); + wait(var_06 / 20); + return; + } + + anim_single_solo_d(param_00[0],param_02); +} + +//Function Number: 3 +anim_single_qte_middle_fail(param_00,param_01,param_02,param_03) +{ + var_04 = param_00[0]; + var_05 = param_00[1]; + var_06 = param_01[0]; + var_05.tag_driver thread anim_single_solo_d(param_01[1],param_03); + var_05.tag_driver thread anim_single_solo_d(param_01[2],param_03); + var_05.tag_driver thread anim_single_solo_d(param_01[3],param_03); + thread anim_single_solo_d(param_00[0],param_03); + thread anim_single_solo_d(param_00[1],param_03); + var_06 linkto(var_04.tag_driver); + var_04.tag_driver anim_single_solo_d(var_06,param_02); +} + +//Function Number: 4 +takedown_qte_middle(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + maps\lagos_utility::start_middle_takedown_highway_path_player_side(); + maps\_utility::delaythread(0.05,::maps\_utility::autosave_now_silent); + level.hint_nofadein = 1; + maps\lagos_jump::exo_jump_end(); + common_scripts\utility::flag_set("suv_takedown_lighting"); + level.player.old_weapon = level.player getcurrentweapon(); + if(level.player.old_weapon == "none") + { + var_07 = level.player getweaponslistprimaries(); + level.player.old_weapon = var_07[0]; + } + + level.player allowads(1); + level.player maps\_shg_utility::setup_player_for_scene(); + maps\lagos_utility::disable_exo_for_highway(); + level.player maps\_utility::store_players_weapons("traffic_weapons"); + level.player takeallweapons(); + level.player allowmelee(0); + thread maps\_player_exo::player_exo_deactivate(); + param_00 maps\_anim::anim_first_frame_solo(param_04,"truck_middle_takedown_pt1"); + level.player playerlinktodelta(param_04,"tag_player",1,7,7,5,5,1); + level.player enableinvulnerability(); + level.player notifyonplayercommand("gunFired","+attack"); + param_06.tag_driver = spawn("script_origin",(0,0,0)); + param_06.tag_driver.origin = param_06 gettagorigin("tag_driver"); + param_06.tag_driver.angles = param_06 gettagangles("tag_driver"); + param_06.tag_driver linkto(param_06); + param_05.tag_driver = spawn("script_origin",(0,0,0)); + param_05.tag_driver.origin = param_05 gettagorigin("tag_driver"); + param_05.tag_driver.angles = param_05 gettagangles("tag_driver"); + param_05.tag_driver linkto(param_05); + param_01 linkto(param_06.tag_driver); + param_02 linkto(param_06.tag_driver); + param_03 linkto(param_06.tag_driver); + var_08 = [param_04,param_01,param_02,param_03]; + var_09 = [param_05,param_06]; + param_01 maps\_utility::magic_bullet_shield(); + param_02 maps\_utility::magic_bullet_shield(); + param_03 maps\_utility::magic_bullet_shield(); + if(!isdefined(level.debugstart_post_middle_takedown)) + { + thread truck_middle_takedown_player_shot_enemy_check("flag_player_shot_enemy",4.55,param_01,param_02,param_03,param_06); + level.player lerpviewangleclamp(2,0,0,20,20,10,-7); + thread truck_middle_takedown_middle_player_free_aim(param_04,param_05,param_00,var_09); + thread truck_middle_takedown_player_dodge_check("flag_player_dodge"); + thread truck_middle_takedown_player_shot_timer(var_09,var_08,"truck_middle_takedown_fail_pt1"); + player_bus_anim_single_break_when_timeout_or_fail(param_00,var_09,var_08); + if(!common_scripts\utility::flag("flag_player_shot_enemy")) + { + truck_middle_takedown_failure(); + truck_middle_takedown_gameover(); + return; + } + + if(!common_scripts\utility::flag("flag_player_dodge")) + { + truck_middle_takedown_failure(); + param_00 anim_single_qte_middle_fail(var_09,var_08,"truck_middle_takedown_fail_pt2","truck_middle_takedown_pt2"); + truck_middle_takedown_gameover(); + return; + } + + level.player notifyonplayercommandremove("gunFired","+attack"); + thread truck_middle_takedown_player_jump("flag_player_jump",21); + param_00 anim_single_qte_middle(var_09,var_08,"truck_middle_takedown_pt2"); + if(!common_scripts\utility::flag("flag_player_jump")) + { + truck_middle_takedown_failure(); + param_00 anim_single_qte_middle_fail(var_09,var_08,"truck_middle_takedown_fail_pt3","truck_middle_takedown_pt3"); + truck_middle_takedown_gameover(); + return; + } + + var_0A = getnode("cover_bus_traverse_3","targetname"); + level.burke maps\_utility::teleport_ai(var_0A); + level.burke.ignoreall = 1; + thread truck_middle_takedown_player_pull_windshield("flag_player_pull_windshield",21); + param_00 anim_single_qte_middle(var_09,var_08,"truck_middle_takedown_pt3"); + if(!common_scripts\utility::flag("flag_player_pull_windshield")) + { + truck_middle_takedown_failure(); + param_00 anim_single_qte_middle_fail(var_09,var_08,"truck_middle_takedown_fail_pt4","truck_middle_takedown_pt4"); + truck_middle_takedown_gameover(); + return; + } + + thread truck_middle_takedown_player_jump2("flag_player_jump2",21); + common_scripts\utility::delay_script_call(4.5,::maps\lagos_utility::post_middle_takedown_highway_path_player_side); + param_00 thread anim_single_solo_d(level.hit_kva_bus,"truck_middle_takedown_pt5"); + param_00 anim_single_qte_middle(var_09,var_08,"truck_middle_takedown_pt4"); + if(!common_scripts\utility::flag("flag_player_jump2")) + { + truck_middle_takedown_failure(); + param_00 anim_single_qte_middle_fail(var_09,var_08,"truck_middle_takedown_fail_pt5","truck_middle_takedown_pt5"); + truck_middle_takedown_gameover(); + return; + } + } + + common_scripts\utility::flag_set("flag_player_jump2"); + soundscripts\_snd::snd_message("truck_whipeout_anim_begin"); + thread maps\lagos_utility::post_middle_takedown_highway_path_player_side(); + thread maps\lagos_code::traffic_camera_shake_after_middle_td(); + level.burke maps\lagos_utility::setup_ai_for_bus_sequence(); + level.burke animscripts\utility::setunstableground(1); + level.burke maps\_utility::disable_pain(); + level.burke maps\_utility::disable_surprise(); + level.burke.grenadeammo = 0; + level.burke.baseaccuracy = 0.15; + level.burke thread maps\lagos_utility::keep_filling_clip_ammo(1); + level.burke pushplayer(1); + level.burke.pushable = 0; + thread maps\lagos_code::start_bus_moving_before_anim_ends(level.player_bus,"start_bus_traverse_3",3.7); + param_00 anim_single_qte_middle(var_09,var_08,"truck_middle_takedown_pt5"); + level.kva_truck common_scripts\utility::delaycall(15,::delete); + param_00 common_scripts\utility::delaycall(15.1,::delete); + param_01 maps\_utility::stop_magic_bullet_shield(); + param_02 maps\_utility::stop_magic_bullet_shield(); + param_03 maps\_utility::stop_magic_bullet_shield(); + param_01 delete(); + param_02 delete(); + param_03 delete(); + level.hit_kva_bus delete(); + level.player playerlinkto(level.player_bus.script_origin_roof[1]); + level.player forcemovingplatformentity(undefined); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.player allowmelee(1); + level.player maps\_utility::restore_players_weapons("traffic_weapons"); + thread maps\_player_exo::player_exo_activate(); + level.player showviewmodel(); + level.player allowads(1); + level.player switchtoweaponimmediate(level.player.old_weapon); + level.player unlink(); + var_0B = getvehiclenode("start_bus_traverse_3","targetname"); + level.player_bus startpath(var_0B); + level.player notify("qte_done"); + wait 0.05; + var_0A = getnode("cover_bus_traverse_3","targetname"); + level.burke maps\_utility::teleport_ai(var_0A); + level.burke.ignoreall = 0; + maps\_utility::autosave_by_name(); + thread maps\lagos_jump::exo_jump_process(); + common_scripts\utility::flag_set("flag_middle_takedown_complete"); + common_scripts\utility::flag_set("flag_player_traversing_traffic"); + thread maps\lagos_code::traffic_traverse_fail_check(); + level.player disableinvulnerability(); + param_04 delete(); + level.hint_nofadein = undefined; + level.kva_dead_count = undefined; + level.player.old_weapon = undefined; +} + +//Function Number: 5 +player_bus_anim_single_break_when_timeout_or_fail(param_00,param_01,param_02) +{ + level.player endon("part1_done"); + param_00 anim_single_qte_middle(param_01,param_02,"truck_middle_takedown_pt1"); + level.player notify("part1_done"); +} + +//Function Number: 6 +truck_middle_takedown_player_shot_timer(param_00,param_01,param_02) +{ + var_03 = param_00[0]; + var_04 = param_00[1]; + var_05 = param_01[0]; + wait(12.5); + if(level.kva_dead_count < 2) + { + level.player notify("part1_done"); + earthquake(0.5,0.1,level.player.origin,300000); + wait(0.1); + level.player disableweapons(); + var_05 linkto(var_03.tag_driver); + var_03.tag_driver anim_single_solo_d(var_05,param_02); + level.player dodamage(level.player.maxhealth,var_04.origin); + } +} + +//Function Number: 7 +truck_middle_takedown_player_shot_enemy_check(param_00,param_01,param_02,param_03,param_04,param_05) +{ + level.player endon("part1_done"); + param_03 thread maps\lagos_qte::kva_fake_death_checker(param_05,"truck_middle_takedown_death_guy1"); + param_04 thread maps\lagos_qte::kva_fake_death_checker(param_05,"truck_middle_takedown_death_guy3"); + thread truck_middle_takedown_set_normal_time_if_gun_fired(); + for(;;) + { + level.kva_dead_count = 0; + if(!isalive(param_03) || param_03.fake_death) + { + level.kva_dead_count++; + } + + if(!isalive(param_04) || param_04.fake_death) + { + level.kva_dead_count++; + } + + if(level.kva_dead_count >= 2) + { + maps\lagos_qte::hostage_truck_slomo_end(1); + common_scripts\utility::flag_set(param_00); + break; + } + + wait 0.05; + } + + level.player notify("set_normal_time_if_gun_fired_kill_middle"); +} + +//Function Number: 8 +truck_middle_takedown_set_normal_time_if_gun_fired() +{ + level.player endon("part1_done"); + for(;;) + { + level.player waittill("gunFired"); + maps\lagos_qte::hostage_truck_slomo_end(1); + wait 0.05; + } +} + +//Function Number: 9 +doclamping_middle() +{ + wait(4); + level.player lerpviewangleclamp(1,0.25,0.25,0,0,0,0); +} + +//Function Number: 10 +player_allow_damage(param_00) +{ + level.player notify("player_allow_damage_one_thread_only"); + level.player endon("player_allow_damage_one_thread_only"); + if(param_00) + { + wait(1); + for(;;) + { + level.player disableinvulnerability(); + level.player enabledeathshield(1); + wait(randomfloatrange(0.25,0.5)); + level.player enableinvulnerability(); + level.player enabledeathshield(0); + wait(randomfloatrange(0.25,0.5)); + } + + return; + } + + level.player enableinvulnerability(); + level.player enabledeathshield(0); +} + +//Function Number: 11 +truck_middle_takedown_middle_player_free_aim(param_00,param_01,param_02,param_03) +{ + level.player endon("qte_done"); + level.player endon("qte_fail"); + thread doclamping_middle(); + common_scripts\utility::flag_set("suv_takedown_shoot_lighting"); + var_04 = 0.7; + var_05 = "iw5_titan45lagostruckmiddletakedown_sp"; + for(;;) + { + level.player waittill("do_viewmodel_swap"); + param_00 hideallparts(); + param_00.hidden = 1; + level.player enableweapons(); + level.player hideviewmodel(); + level.player giveweapon(var_05); + level.player switchtoweapon(var_05); + wait(0.7); + level.player showviewmodel(); + level.player thread player_allow_damage(1); + level.player giveweapon(var_05); + level.player switchtoweaponimmediate(var_05); + level.player forcemovingplatformentity(param_00); + level.player playerrecoilscaleon(0); + level.player lerpviewangleclamp(0.05,0.25,0.25,25,40,22.5,22.5); + level.player allowmelee(0); + soundscripts\_snd::snd_message("middle_takedown_gun_up"); + level.player waittill("do_viewmodel_swap"); + level.player allowmelee(0); + level.player thread player_allow_damage(0); + level.player lerpviewangleclamp(2,0,0,20,20,10,-7); + level.player playerrecoilscaleon(1); + level.player disableweapons(); + wait(var_04); + level.player hideviewmodel(); + level.player takeweapon(var_05); + param_00 showallparts(); + var_04 = 1.1; + var_05 = "iw5_titan45lagostruckmiddletakedown2_sp"; + } +} + +//Function Number: 12 +truck_middle_takedown_player_dodge_check(param_00) +{ + level.player waittill("qte_prompt"); + if(level.kva_dead_count < 2) + { + return; + } + + var_01 = level.kva_truck maps\_shg_utility::hint_button_tag("a","tag_headlight_right",900,900); + common_scripts\utility::flag_set("suv_takedown_dodge_lighting"); + maps\lagos_qte::wait_for_flag_or_player_command("flag_truck_middle_takedown_is_failure","+gostand"); + var_01 maps\_shg_utility::hint_button_clear(); + if(common_scripts\utility::flag("flag_truck_middle_takedown_is_failure")) + { + return; + } + + maps\lagos_qte::hostage_truck_slomo_end(1); + common_scripts\utility::flag_set(param_00); + soundscripts\_snd::snd_message("truck_middle_dodge_slowmo_end"); +} + +//Function Number: 13 +truck_middle_takedown_player_jump(param_00,param_01) +{ + level.player waittill("qte_prompt"); + var_02 = level.kva_truck maps\_shg_utility::hint_button_tag("a","tag_hood",900,900); + common_scripts\utility::flag_set("suv_takedown_jump_lighting"); + maps\lagos_qte::wait_for_flag_or_player_command("flag_truck_middle_takedown_is_failure","+gostand"); + var_02 maps\_shg_utility::hint_button_clear(); + if(common_scripts\utility::flag("flag_truck_middle_takedown_is_failure")) + { + return; + } + + maps\lagos_qte::hostage_truck_slomo_end(1); + common_scripts\utility::flag_set(param_00); + soundscripts\_snd::snd_message("truck_middle_jump_slowmo_end"); +} + +//Function Number: 14 +truck_middle_takedown_player_pull_windshield(param_00,param_01) +{ + level.player waittill("qte_prompt"); + var_02 = level.kva_truck maps\_shg_utility::hint_button_tag("melee","winsmash_l",900,900); + common_scripts\utility::flag_set("suv_takedown_windshield_lighting"); + var_03 = getbuttonsconfig(); + var_04 = undefined; + if(issubstr(var_03,"buttons_default") || issubstr(var_03,"buttons_tactical")) + { + var_04 = "+melee_zoom"; + } + else if(issubstr(var_03,"buttons_lefty") || issubstr(var_03,"buttons_nomad")) + { + var_04 = "+melee_breath"; + } + else if(issubstr(var_03,"buttons_nomad_tactical")) + { + var_04 = "+stance"; + } + + maps\lagos_qte::wait_for_flag_or_player_command("flag_truck_middle_takedown_is_failure",var_04); + var_02 maps\_shg_utility::hint_button_clear(); + if(common_scripts\utility::flag("flag_truck_middle_takedown_is_failure")) + { + return; + } + + maps\lagos_qte::hostage_truck_slomo_end(1); + common_scripts\utility::flag_set(param_00); + soundscripts\_snd::snd_message("truck_middle_punch_slowmo_end"); +} + +//Function Number: 15 +truck_middle_takedown_player_jump2(param_00,param_01) +{ + level.player waittill("qte_prompt"); + var_02 = level.player_bus maps\_shg_utility::hint_button_tag("a","tag_roof_b",900,900); + common_scripts\utility::flag_set("suv_takedown_jump2_lighting"); + maps\lagos_qte::wait_for_flag_or_player_command("flag_truck_middle_takedown_is_failure","+gostand"); + var_02 maps\_shg_utility::hint_button_clear(); + if(common_scripts\utility::flag("flag_truck_middle_takedown_is_failure")) + { + return; + } + + maps\lagos_qte::hostage_truck_slomo_end(1); + common_scripts\utility::flag_set(param_00); + soundscripts\_snd::snd_message("truck_middle_jump2_slowmo_end"); +} + +//Function Number: 16 +truck_middle_takedown_failure() +{ + level.player notify("qte_fail"); + common_scripts\utility::flag_set("flag_truck_middle_takedown_is_failure"); + maps\lagos_qte::hostage_truck_slomo_end(); + level.player forcemovingplatformentity(undefined); +} + +//Function Number: 17 +truck_middle_takedown_gameover() +{ + setdvar("ui_deadquote",""); + maps\_utility::missionfailedwrapper(); + level waittill("forever"); +} + +//Function Number: 18 +setup_vehicles_for_middle_takedown() +{ + level.player_bus.animname = "player_bus"; + level.player_bus useanimtree(#animtree); + level.kva_truck = getent("kva_truck_middle_takedown","targetname"); + level.kva_truck.animname = "kva_truck"; + level.kva_truck useanimtree(#animtree); + level.hit_kva_bus = maps\_vehicle::spawn_vehicle_from_targetname("hit_kva_bus"); + level.hit_kva_bus.animname = "hit_kva_bus"; + level.hit_kva_bus useanimtree(#animtree); + level thread maps\lagos_fx::middle_takedown_tread_fx(); +} + +//Function Number: 19 +notify_qte_prompt_and_slowmo(param_00) +{ + level.player endon("qte_success_message"); + if(level.kva_dead_count < 2) + { + return; + } + + level.player notify("qte_prompt"); + wait 0.05; + soundscripts\_snd::snd_message("notify_qte_prompt_and_slowmo"); + var_01 = 0.095; + var_02 = 0.095; + var_03 = 0.2; + maps\lagos_qte::hostage_truck_slomo_start(var_01,var_02,var_03); +} + +//Function Number: 20 +player_bus_slomo_end_notetrack(param_00) +{ + level.player notify("slowmo_end"); + maps\lagos_qte::hostage_truck_slomo_end(0); +} + +//Function Number: 21 +player_bus_slomo_start_pt1(param_00) +{ + soundscripts\_snd::snd_message("player_bus_slomo_start_pt1"); + var_01 = 0.095; + var_02 = 0.095; + var_03 = 0.2; + maps\lagos_qte::hostage_truck_slomo_start(var_01,var_02,var_03); +} + +//Function Number: 22 +player_bus_slomo_start_pt2(param_00) +{ + soundscripts\_snd::snd_message("player_bus_slomo_start_pt2"); + var_01 = 0.1; + var_02 = 0.1; + var_03 = 0.2; + maps\lagos_qte::hostage_truck_slomo_start(var_01,var_02,var_03); +} + +//Function Number: 23 +player_bus_slomo_end_pt2(param_00) +{ + soundscripts\_snd::snd_message("player_bus_slomo_end_pt2"); + player_bus_slomo_end_notetrack(param_00); +} + +//Function Number: 24 +player_bus_slomo_start_pt3(param_00) +{ + soundscripts\_snd::snd_message("player_bus_slomo_start_pt3"); + var_01 = 0.095; + var_02 = 0.095; + var_03 = 0.2; + maps\lagos_qte::hostage_truck_slomo_start(var_01,var_02,var_03); +} + +//Function Number: 25 +player_bus_slomo_start_pt4(param_00) +{ + soundscripts\_snd::snd_message("player_bus_slomo_start_pt4"); + var_01 = 0.095; + var_02 = 0.095; + var_03 = 0.2; + maps\lagos_qte::hostage_truck_slomo_start(var_01,var_02,var_03); +} + +//Function Number: 26 +player_bus_slomo_start_pt5(param_00) +{ + soundscripts\_snd::snd_message("player_bus_slomo_start_pt5"); + var_01 = 0.095; + var_02 = 0.095; + var_03 = 0.2; + maps\lagos_qte::hostage_truck_slomo_start(var_01,var_02,var_03); +} + +//Function Number: 27 +notetrack_unlink_and_start_ragdoll(param_00) +{ + param_00 unlink(); + param_00 startragdoll(); +} + +//Function Number: 28 +notetrack_unlink(param_00) +{ + param_00 unlink(); + var_01 = spawn("script_origin",(0,0,0)); + var_01.origin = level.player.origin; + param_00 linkto(var_01); +} + +//Function Number: 29 +qte_middle_shoot_off() +{ + var_00 = "BUTTON_RTRIG"; + if(!level.console && !level.player common_scripts\utility::is_player_gamepad_enabled()) + { + var_00 = "mouse1"; + } + + if(level.player buttonpressed(var_00) || isdefined(level.player.remove_hint) && level.player.remove_hint == &"LAGOS_QTE_MIDDLE_SHOOT_KVA") + { + return 1; + } + + return 0; +} + +//Function Number: 30 +qte_middle_dodge_off() +{ + if(level.player usebuttonpressed() || isdefined(level.player.remove_hint) && level.player.remove_hint == &"LAGOS_QTE_MIDDLE_DODGE") + { + return 1; + } + + return 0; +} + +//Function Number: 31 +qte_middle_jump_off() +{ + if(level.player jumpbuttonpressed() || isdefined(level.player.remove_hint) && level.player.remove_hint == &"LAGOS_QTE_MIDDLE_JUMP") + { + return 1; + } + + return 0; +} + +//Function Number: 32 +qte_middle_pull_windshield_off() +{ + if(level.player usebuttonpressed() || isdefined(level.player.remove_hint) && level.player.remove_hint == &"LAGOS_QTE_MIDDLE_PULL_WINDSHIELD") + { + return 1; + } + + return 0; +} + +//Function Number: 33 +qte_middle_pull_kva_off() +{ + var_00 = "BUTTON_RTRIG"; + if(!level.console && !level.player common_scripts\utility::is_player_gamepad_enabled()) + { + var_00 = "mouse1"; + } + + if(level.player buttonpressed(var_00) || isdefined(level.player.remove_hint) && level.player.remove_hint == &"LAGOS_QTE_MIDDLE_PULL_KVA") + { + return 1; + } + + return 0; +} \ No newline at end of file diff --git a/AW/PC/maps/lagos_utility.gsc b/AW/PC/maps/lagos_utility.gsc new file mode 100644 index 0000000..f1a8395 --- /dev/null +++ b/AW/PC/maps/lagos_utility.gsc @@ -0,0 +1,2862 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: lagos_utility.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 137 + * Decompile Time: 1953 ms + * Timestamp: 4/22/2024 2:34:05 AM +*******************************************************************/ + +//Function Number: 1 +drone_lookat_ent(param_00,param_01,param_02,param_03) +{ + self endon("fly_drone_done"); + self notify("start_new_drone_lookat"); + self endon("start_new_drone_lookat"); + if(!isdefined(param_03)) + { + param_03 = (0,0,0); + } + + var_04 = getent(param_00,"targetname"); + var_05 = vectortoangles(var_04.origin - self.origin); + if(!isdefined(param_01) || param_01 == 0) + { + self.angles = var_05; + } + else + { + self rotateto(var_05 + param_03,param_01,param_01 / 5,param_01 / 5); + self waittill("rotatedone"); + self notify("drone_lookat_done"); + } + + if(isdefined(param_02) && param_02) + { + for(;;) + { + var_05 = vectortoangles(var_04.origin - self.origin) + param_03; + self rotateto(var_05,0.1,0,0); + wait(0.1); + } + } +} + +//Function Number: 2 +drone_moveto_ent(param_00,param_01,param_02,param_03) +{ + var_04 = getent(param_00,"targetname"); + if(!isdefined(param_02)) + { + param_02 = 0; + } + + if(!isdefined(param_03)) + { + param_03 = 0; + } + + self moveto(var_04.origin,param_01,param_02,param_03); + self waittill("movedone"); + self notify("drone_moveto_done"); +} + +//Function Number: 3 +drone_view_shake(param_00) +{ + self notify("start_new_intro_shake"); + self endon("start_new_intro_shake"); + for(;;) + { + if(common_scripts\utility::flag("fly_drone_done")) + { + break; + } + + earthquake(param_00,0.1,level.player.origin,200); + wait(0.1); + } +} + +//Function Number: 4 +showstatic(param_00) +{ + level.overlaystatic = newhudelem(level.player); + level.overlaystatic.x = 0; + level.overlaystatic.y = 0; + level.overlaystatic.alpha = 1; + level.overlaystatic.horzalign = "fullscreen"; + level.overlaystatic.vertalign = "fullscreen"; + level.overlaystatic.sort = 4; + level.overlaystatic setshader("overlay_static_digital",640,480); + wait(param_00); + level.overlaystatic destroy(); +} + +//Function Number: 5 +fly_drone_ui_on() +{ + setomnvar("ui_lagosflydrone",1); + setsaveddvar("cg_cinematicfullscreen","0"); + cinematicingame("flydrone_UI"); + common_scripts\utility::flag_wait("drone_fly_anim_done"); + fly_drone_ui_off(); +} + +//Function Number: 6 +fly_drone_ui_off() +{ + stopcinematicingame(); + setomnvar("ui_lagosflydrone",0); + wait(40.5); + fly_drone_transition_on(); +} + +//Function Number: 7 +fly_drone_transition_on() +{ + setomnvar("ui_lagosflydrone",1); + setsaveddvar("cg_cinematicfullscreen","0"); + cinematicingame("fly_drone_shut_down"); + wait(1); + thread maps\_introscreen::introscreen_generic_black_fade_in(1,0.89,0.1); + level.player.overlay["black"].sort = -1; + level.player.overlay["black"].foreground = 0; + wait(5); + fly_drone_transition_off(); +} + +//Function Number: 8 +fly_drone_transition_off() +{ + stopcinematicingame(); + setomnvar("ui_lagosflydrone",0); +} + +//Function Number: 9 +hide_friendname_until_flag_or_notify(param_00) +{ + if(!isdefined(self.name)) + { + return; + } + + level.player endon("death"); + self endon("death"); + self.old_name = self.name; + self.name = " "; + level waittill(param_00); + self.name = self.old_name; +} + +//Function Number: 10 +calculateleftstickdeadzone() +{ + var_00 = level.player getnormalizedmovement(); + var_00 = (scalestickinput(var_00[0]),scalestickinput(var_00[1]),var_00[2]); + return var_00; +} + +//Function Number: 11 +stickinputindeadzone(param_00,param_01) +{ + return abs(param_00) < param_01; +} + +//Function Number: 12 +scalestickinput(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = 0.25; + } + + if(stickinputindeadzone(param_00,param_01)) + { + return 0; + } + + return param_00 * abs(param_00) - param_01 / 1 - param_01; +} + +//Function Number: 13 +drone_panic_spawn(param_00) +{ + var_01 = param_00 maps\_utility::spawn_ai(); + var_01.goalradius = 32; + var_01.ignoreall = 1; + var_01.ignoreme = 1; + var_01.animname = "civilian_run"; + var_02 = randomintrange(1,6); + var_01 maps\_utility::set_run_anim("civ_run_panic_" + var_02,1); + var_01.run_override_weights = undefined; + var_01.alertlevelint = 2; + var_01 thread drone_panic_delete(); +} + +//Function Number: 14 +drone_panic_delete() +{ + self waittill("goal"); + self delete(); +} + +//Function Number: 15 +populate_drone_civilians(param_00,param_01) +{ + var_02 = []; + foreach(var_04 in param_01) + { + var_05 = param_00 maps\_utility::dronespawn(); + var_02 = common_scripts\utility::array_add(var_02,var_05); + param_00.count = 1; + var_05.origin = var_04.origin; + var_05.angles = var_04.angles; + var_05.allowdeath = 0; + var_05 thread civilian_drone_runner_collision(); + wait 0.05; + if(isdefined(var_04.script_squadname)) + { + var_05 thread civilian_anim_setup(var_04); + } + else + { + var_05 thread loopingidleanimation(var_04); + } + + if(isdefined(var_04.script_noteworthy)) + { + var_05 thread stop_loop_and_react(var_04); + } + } + + return var_02; +} + +//Function Number: 16 +civilian_drone_runner_collision() +{ + self endon("goal"); + self endon("death"); + while(isdefined(self)) + { + while(distance(self.origin,level.player.origin) > 100) + { + wait(0.1); + } + + var_00 = self setcontents(0); + while(distance(self.origin,level.player.origin) <= 100) + { + wait(0.1); + } + + self setcontents(var_00); + } +} + +//Function Number: 17 +populate_ai_civilians(param_00,param_01,param_02,param_03) +{ + var_04 = []; + foreach(var_06 in param_01) + { + var_07 = param_00 maps\_utility::spawn_ai(); + var_04 = common_scripts\utility::array_add(var_04,var_07); + param_00.count = 1; + var_08 = spawn("script_origin",var_06.origin); + if(isdefined(var_06.angles)) + { + var_08.angles = var_06.angles; + } + + var_08.animation = var_06.animation; + var_08.script_noteworthy = var_06.script_noteworthy; + var_08.script_parameters = var_06.script_parameters; + var_08.script_index = var_06.script_index; + var_08.script_squadname = var_06.script_squadname; + var_08.script_nodestate = var_06.script_nodestate; + var_07 immune_sonic_blast(); + var_07 teleport(var_08.origin,var_08.angles); + wait 0.05; + if(isdefined(param_02) && param_02 == 1) + { + if(isdefined(var_08.script_squadname)) + { + var_07 thread civilian_anim_setup(var_08,param_03); + } + else + { + var_07 thread loopingidleanimation(var_08); + var_07 thread stop_loop_and_react(var_08); + } + + continue; + } + + var_07 thread loopingidleanimation(var_08); + } + + return var_04; +} + +//Function Number: 18 +civilian_anim_setup(param_00,param_01) +{ + self endon("death"); + var_02 = float(param_00.script_index); + var_03 = param_00.script_nodestate; + var_04 = param_00.animation; + var_05 = param_00.script_noteworthy; + var_06 = param_00.script_parameters; + var_07 = param_00.script_squadname; + thread special_loopingidleanimation(param_00,var_04); + self.alertlevelint = 0; + if(isdefined(var_03)) + { + common_scripts\utility::flag_wait(var_03); + wait(randomfloatrange(0.1,0.75)); + param_00 notify("stop_loop"); + self.alertlevelint = 2; + wait 0.05; + } + else + { + while(self.alertlevelint < 2) + { + wait(0.1); + if(!isdefined(self)) + { + return; + } + + foreach(var_09 in level.alpha_squad_and_player) + { + if(distance(self.origin,var_09.origin) < var_02) + { + param_00 notify("stop_loop"); + self.alertlevelint = 2; + wait 0.05; + } + } + } + } + + if(isdefined(var_06)) + { + if(issubstr(var_06,"panic")) + { + self.animname = "civilian_react_move_back"; + } + else if(issubstr(var_06,"run")) + { + self.animname = "civilian_react_then_run"; + } + + param_00 maps\_anim::anim_single_solo(self,var_06); + param_00.origin = self.origin; + param_00.angles = self.angles; + } + + if(isdefined(var_05)) + { + self.animname = "civilian_react"; + param_00 thread maps\_anim::anim_loop_solo(self,var_05,"stop_loop"); + common_scripts\utility::flag_wait(param_01); + wait(randomfloatrange(0.1,0.5)); + param_00 notify("stop_loop"); + } + + self setgoalvolumeauto(getent(var_07,"targetname")); + thread cleanup_on_goal(); + param_00 delete(); +} + +//Function Number: 19 +walking_civilian_react() +{ + self endon("death"); + var_00 = getnode(self.target,"targetname"); + var_01 = var_00.script_nodestate; + var_02 = float(var_00.script_index); + var_03 = var_00.script_noteworthy; + var_04 = var_00.script_parameters; + var_05 = var_00.script_squadname; + self.alertlevelint = 0; + if(isdefined(var_01)) + { + common_scripts\utility::flag_wait(var_01); + self.alertlevelint = 2; + wait 0.05; + } + else + { + while(self.alertlevelint < 2) + { + wait(0.1); + if(!isdefined(self)) + { + return; + } + + foreach(var_07 in level.alpha_squad_and_player) + { + if(distance(self.origin,var_07.origin) < var_02) + { + self.alertlevelint = 2; + wait 0.05; + } + } + } + } + + wait(randomfloatrange(0.1,0.75)); + var_00 = spawn("script_origin",self.origin); + var_00.angles = self.angles; + if(isdefined(var_04)) + { + if(issubstr(var_04,"panic")) + { + self.animname = "civilian_react_move_back"; + } + else if(issubstr(var_04,"run")) + { + self.animname = "civilian_react_then_run"; + } + + var_00 maps\_anim::anim_single_solo(self,var_04); + var_00.origin = self.origin; + var_00.angles = self.angles; + } + + if(isdefined(var_03)) + { + self.animname = "civilian_react"; + var_00 thread maps\_anim::anim_loop_solo(self,var_03,"stop_loop"); + common_scripts\utility::flag_wait("flag_Roundabout_Civilians_Flee"); + wait(randomfloatrange(0.1,0.75)); + var_00 notify("stop_loop"); + } + + self setgoalvolumeauto(getent(var_05,"targetname")); + thread cleanup_on_goal(); + var_00 delete(); +} + +//Function Number: 20 +randomidleanimation(param_00) +{ + self endon("death"); + for(;;) + { + var_01 = common_scripts\utility::random(level.randomidleanims); + param_00 maps\_anim::anim_generic(self,var_01); + wait 0.05; + } +} + +//Function Number: 21 +loopingidleanimation(param_00) +{ + self.animname = "generic"; + var_01 = param_00.animation; + param_00 thread maps\_anim::anim_generic_loop(self,var_01,"stop_loop"); + var_02 = attachprops(var_01); + common_scripts\utility::waittill_either("stop_loop","death"); + if(isdefined(var_02)) + { + var_02 delete(); + } +} + +//Function Number: 22 +attachprops(param_00) +{ + if(isdefined(self.hasattachedprops)) + { + return; + } + + initcivilianprops(); + var_01 = level.civilianprops[param_00]; + if(isdefined(var_01)) + { + self.attachedpropmodel = var_01; + self.attachedproptag = "tag_inhand"; + var_02 = self attach(self.attachedpropmodel,self.attachedproptag,1); + self.hasattachedprops = 1; + return var_02; + } +} + +//Function Number: 23 +initcivilianprops() +{ + if(isdefined(level.civilianprops)) + { + return; + } + + anim.civilianprops = []; + level.civilianprops["civilian_texting_standing"] = "electronics_pda"; + level.civilianprops["civilian_texting_sitting"] = "electronics_pda"; + level.civilianprops["civilian_sitting_business_lunch_A_1"] = "com_cellphone_on"; + level.civilianprops["civilian_sitting_business_lunch_B_1"] = "com_cellphone_on"; + level.civilianprops["civilian_smoking_A"] = "prop_cigarette"; + level.civilianprops["civilian_smoking_B"] = "prop_cigarette"; + level.civilianprops["parabolic_leaning_guy_smoking_idle"] = "prop_cigarette"; + level.civilianprops["oilrig_balcony_smoke_idle"] = "prop_cigarette"; + level.civilianprops["guardB_sit_drinker_idle"] = "cs_coffeemug02"; + level.civilianprops["civilian_sitting_business_lunch_A_1"] = "com_cellphone_on"; + level.civilianprops["civilian_sitting_business_lunch_B_1"] = "com_cellphone_on"; + level.civilianprops["civilian_reader_1"] = "lab_tablet_flat_on"; + level.civilianprops["civilian_reader_2"] = "lab_tablet_flat_on"; + level.civilianprops["civilian_briefcase_walk"] = "hjk_metal_briefcase"; + level.civilianprops["civilian_crazy_walk"] = "electronics_pda"; + level.civilianprops["civilian_cellphone_walk"] = "com_cellphone_on"; + level.civilianprops["civilian_soda_walk"] = "ma_cup_single_closed"; + level.civilianprops["civilian_paper_walk"] = "paper_memo"; + level.civilianprops["civilian_coffee_walk"] = "cs_coffeemug02"; + level.civilianprops["civilian_pda_walk"] = "electronics_pda"; +} + +//Function Number: 24 +stop_loop_and_react(param_00) +{ + switch(param_00.script_noteworthy) + { + case "location_rb_lobby_exit": + common_scripts\utility::flag_wait("flag_roundabout_move_1"); + break; + + case "location_rb_lobby_exit_stairs": + common_scripts\utility::flag_wait("flag_roundabout_move_1"); + break; + + case "location_rb_lobby_exit_sidewalk": + common_scripts\utility::flag_wait("flag_roundabout_move_2"); + break; + + case "location_rb_street_northwest": + common_scripts\utility::flag_wait("flag_roundabout_move_3"); + break; + + case "location_rb_street_middle": + common_scripts\utility::flag_wait("roundabout_combat_begin"); + break; + + default: + common_scripts\utility::flag_wait("flag_roundabout_move_5"); + break; + } + + if(isdefined(self)) + { + wait(randomfloatrange(0.1,0.75)); + param_00 notify("stop_loop"); + self.animname = "civilian_react"; + var_01 = randomintrange(1,5); + var_02 = "civ_idle_panic_" + var_01; + param_00 thread maps\_anim::anim_loop_solo(self,var_02,"stop_loop"); + common_scripts\utility::flag_wait("flag_Roundabout_Civilians_Flee"); + level.rb_flee_goal_pick++; + var_03 = randomintrange(1,8); + param_00 notify("stop_loop"); + wait(randomfloatrange(0.1,0.75)); + civilain_flee_to_goal(); + } + + param_00 delete(); +} + +//Function Number: 25 +civilain_flee_to_goal() +{ + self endon("death"); + var_00 = level.roundabout_flee_goals; + var_01 = 0; + while(!var_01) + { + foreach(var_03 in var_00) + { + var_03.distance_to_goalvol_sq = distancesquared(self.origin,var_03.origin); + } + + var_00 = common_scripts\utility::array_sort_with_func(var_00,::closer_to_goal_vol); + self setgoalvolumeauto(var_00[0]); + thread cleanup_on_goal(); + var_05 = common_scripts\utility::waittill_any_return("bad_path","goal"); + if(var_05 == "goal") + { + var_01 = 1; + } + else if(var_05 == "bad_path") + { + var_00 = common_scripts\utility::array_remove(var_00,var_00[0]); + } + + if(var_00.size < 1) + { + if(isdefined(self) && isdefined(self.magic_bullet_shield) && self.magic_bullet_shield) + { + maps\_utility::stop_magic_bullet_shield(); + } + + maps\_shg_design_tools::delete_auto(); + return; + } + } +} + +//Function Number: 26 +closer_to_goal_vol(param_00,param_01) +{ + return param_00.distance_to_goalvol_sq < param_01.distance_to_goalvol_sq; +} + +//Function Number: 27 +farther_to_goal_vol(param_00,param_01) +{ + return param_00.distance_to_goalvol_sq > param_01.distance_to_goalvol_sq; +} + +//Function Number: 28 +special_loopingidleanimation(param_00,param_01) +{ + self.animname = "generic"; + var_02 = param_01; + param_00 thread maps\_anim::anim_generic_loop(self,var_02,"stop_loop"); + var_03 = attachprops(var_02); + self waittill("death"); + if(isdefined(var_03)) + { + var_03 delete(); + } +} + +//Function Number: 29 +delete_at_path_end() +{ + self waittill("reached_path_end"); + self.allowdeath = 1; + if(isalive(self)) + { + self kill(); + } + + wait(0.1); + if(isdefined(self)) + { + self delete(); + } +} + +//Function Number: 30 +bike_rider(param_00,param_01) +{ + var_02 = getent(param_00,"targetname"); + var_03 = getent(var_02.target,"targetname"); + var_04 = spawn("script_model",var_02.origin); + var_04 setmodel("com_bike_animated"); + var_04 useanimtree(level.scr_animtree["bike"]); + var_05 = spawn("script_model",var_04.origin); + var_05 useanimtree(#animtree); + if(!isdefined(level.spawned_bike_rider)) + { + level.spawned_bike_rider = 1; + var_05 character\character_civilian_slum_male_aa::main(); + } + else + { + var_05 character\character_civilian_slum_male_ab::main(); + } + + var_05.origin = var_04 gettagorigin("j_frame"); + var_05.origin = var_05.origin + (-12,0,-30); + var_05.angles = var_04 gettagangles("j_frame"); + var_05.angles = var_05.angles + (0,180,0); + var_05 linkto(var_04,"j_frame"); + var_06 = vectortoangles(var_02.origin - var_03.origin); + var_04.angles = (0,var_06[1],0); + var_04 setanim(level.scr_anim["bike"]["pedal"]); + var_05 setanim(level.scr_anim["generic"]["bike_rider"]); + var_04 moveto(var_03.origin,param_01,0,0); + wait(param_01); + var_05 delete(); + var_04 delete(); +} + +//Function Number: 31 +civilian_get_out_of_car_setup(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = get_civilian_car(param_00); + if(isdefined(var_05)) + { + var_06 = undefined; + if(issubstr(param_01,"drone")) + { + var_06 = get_civilian_drone(param_01,var_05.animname); + } + else + { + var_06 = get_civilian_ai(param_01,var_05.animname); + } + + if(issubstr(var_05.vehicle_spawner.targetname,"roundabout_lobby")) + { + var_06["ai"].target = var_05.vehicle_spawner.targetname + "_target"; + } + + level thread civilian_in_car_get_out(var_05,var_06,param_02,param_03,param_04); + } +} + +//Function Number: 32 +get_civilian_car(param_00) +{ + var_01 = maps\_utility::get_vehicle(param_00,"targetname"); + if(issubstr(var_01.model,"sedan")) + { + var_01.animname = "sedan"; + var_01 useanimtree(#animtree); + } + else if(issubstr(var_01.model,"compact")) + { + var_01.animname = "compact"; + var_01 useanimtree(#animtree); + } + else if(issubstr(var_01.model,"truck")) + { + var_01.animname = "truck"; + var_01 useanimtree(#animtree); + } + else + { + var_01 = undefined; + } + + return var_01; +} + +//Function Number: 33 +get_civilian_ai(param_00,param_01) +{ + var_02 = []; + var_03 = getent(param_00,"targetname"); + if(!isdefined(var_03.count) || var_03.count < 1) + { + var_03.count = 1; + } + + var_02["ai"] = var_03 maps\_utility::spawn_ai(1,0); + var_02["ai"] immune_sonic_blast(); + var_02["ai"].ignoreall = 1; + var_02["ai"].animname = param_01 + "_driver"; + if(isdefined(var_03.target)) + { + var_02["goal"] = getnode(var_03.target,"targetname"); + } + + return var_02; +} + +//Function Number: 34 +get_civilian_drone(param_00,param_01) +{ + var_02 = []; + var_03 = getent(param_00,"targetname"); + if(!isdefined(var_03.count) || var_03.count < 1) + { + var_03.count = 1; + } + + var_02["ai"] = var_03 maps\_utility::dronespawn(); + var_02["ai"].ignoreall = 1; + var_02["ai"].animname = param_01 + "_driver"; + var_02["ai"].allowdeath = 0; + var_02["ai"].damageshield = 1; + var_02["ai"] thread civilian_drone_runner_collision(); + return var_02; +} + +//Function Number: 35 +civilian_in_car_get_out(param_00,param_01,param_02,param_03,param_04) +{ + level.player endon("death"); + param_01["ai"] endon("death"); + var_05 = randomintrange(1,3); + param_01["ai"] linkto(param_00,"tag_driver"); + param_00 thread maps\_anim::anim_loop_solo(param_01["ai"],"loop_0" + var_05,"stop_driver_loop","tag_driver"); + if(isdefined(param_01["ai"])) + { + level waittill(param_02); + wait(randomfloatrange(0.1,0.6)); + param_01["ai"] unlink(); + param_01["ai"] maps\_utility::set_run_anim("run_0" + var_05,1); + param_01["ai"].run_override_weights = undefined; + param_00 notify("stop_driver_loop"); + param_00 thread maps\_anim::anim_single_solo(param_00,"get_out_0" + var_05); + param_00 maps\_anim::anim_single_solo_run(param_01["ai"],"get_out_0" + var_05,"tag_driver"); + if(isdefined(param_01["ai"].script_moveoverride)) + { + param_01["ai"] thread maps\_drone::drone_move(); + } + else + { + param_01["ai"] civilain_flee_to_goal(); + } + + if(isdefined(param_01["ai"]) && isalive(param_01["ai"])) + { + param_01["ai"] thread cleanup_on_goal(); + } + } +} + +//Function Number: 36 +roundabout_civilian_flee_path_and_run_select() +{ + level.rb_flee_goal_pick++; + var_00 = randomintrange(1,8); + if(isdefined(self) && isalive(self)) + { + self.animname = "civilian_run"; + maps\_utility::set_run_anim("civ_run_panic_" + var_00); + civilain_flee_to_goal(); + } +} + +//Function Number: 37 +cleanup_on_goal() +{ + self endon("death"); + if(isdefined(self)) + { + self waittill("goal"); + if(isdefined(self) && isdefined(self.magic_bullet_shield) && self.magic_bullet_shield) + { + maps\_utility::stop_magic_bullet_shield(); + } + + maps\_shg_design_tools::delete_auto(); + } +} + +//Function Number: 38 +civilian_loop_setup(param_00,param_01,param_02) +{ + var_03 = []; + var_04 = getent(param_00,"targetname"); + var_03[0] = var_04 maps\_utility::spawn_ai(1,0); + if(!isdefined(var_03[0])) + { + return; + } + + var_03[0].animname = "civilian"; + var_03[0].ignoreall = 1; + if(isdefined(param_01)) + { + var_05 = getent(param_01,"targetname"); + var_03[1] = var_05 maps\_utility::spawn_ai(1,0); + if(!isdefined(var_03[1])) + { + var_03[0].script_noteworthy = "seated"; + } + else + { + var_03[1].animname = "civilian_b"; + var_03[1].ignoreall = 1; + } + } + + level thread start_civilian_loop_anims(var_03,param_02); + foreach(var_07 in var_03) + { + var_07 thread no_civilian_friendly_fire_until_seen(); + } +} + +//Function Number: 39 +no_civilian_friendly_fire_until_seen() +{ + self endon("death"); + self.no_friendly_fire_penalty = 1; + var_00 = 0.05; + if(level.currentgen) + { + var_00 = 0.5; + } + + for(;;) + { + if(maps\_utility::player_can_see_ai(self)) + { + break; + } + + if(player_can_see_civ(self)) + { + break; + } + + wait(var_00); + } + + self.no_friendly_fire_penalty = undefined; +} + +//Function Number: 40 +player_can_see_civ(param_00) +{ + if(!common_scripts\utility::within_fov(level.player.origin,level.player.angles,param_00.origin,0.743)) + { + return 0; + } + + var_01 = level.player geteye(); + var_02 = undefined; + for(var_03 = 0;var_03 < 2;var_03++) + { + var_04 = param_00.origin; + var_05 = param_00 geteye(); + var_06 = var_05 + var_04 * 0.5; + var_07 = bullettrace(var_01,var_06,0,var_02); + if(var_07["fraction"] < 0.99) + { + if(isdefined(var_07["entity"]) && isai(var_07["entity"]) && var_07["entity"] != param_00) + { + var_02 = var_07["entity"]; + } + } + else + { + return 1; + } + + if(!isdefined(var_02)) + { + break; + } + } + + return 0; +} + +//Function Number: 41 +start_civilian_loop_anims(param_00,param_01) +{ + wait(randomfloatrange(0,0.25)); + if(isalive(param_00[0]) && !isalive(param_00[1])) + { + if(param_00[0].script_noteworthy == "paired") + { + param_00[0].script_noteworthy = "seated"; + } + } + else if(!isalive(param_00[0]) && isalive(param_00[1])) + { + param_00[0] = param_00[1]; + param_00[1] = undefined; + param_00[0].script_noteworthy = "seated"; + } + else if(!isalive(param_00[0]) && !isalive(param_00[1])) + { + return; + } + + if(!isdefined(param_00[0].script_noteworthy)) + { + return; + } + + if(param_00[0].script_noteworthy == "laying") + { + if(randomint(100) < 50) + { + var_02 = "laying_1"; + } + else + { + var_02 = "laying_2"; + } + + param_00[0] thread maps\_anim::anim_loop_solo(param_00[0],var_02,param_01); + } + else if(param_00[0].script_noteworthy == "seated") + { + var_03 = randomint(100); + if(var_03 < 33) + { + var_02 = "seated_1"; + } + else if(var_02 < 66) + { + var_02 = "seated_2"; + } + else + { + var_02 = "seated_3"; + } + + param_00[0] thread maps\_anim::anim_loop_solo(param_00[0],var_02,param_01); + } + else if(param_00[0].script_noteworthy == "paired") + { + if(randomint(100) < 50) + { + var_02 = "paired_1"; + } + else + { + var_02 = "paired_2"; + } + + param_00[0] thread maps\_anim::anim_loop(param_00,var_02,param_01); + } + else + { + } + + level thread civilian_clean_up(param_00,param_01); +} + +//Function Number: 42 +civilian_clean_up(param_00,param_01) +{ + level waittill(param_01); + wait(1); + foreach(var_03 in param_00) + { + if(isalive(var_03)) + { + var_03 notify(param_01); + var_03 delete(); + } + } +} + +//Function Number: 43 +ignore_all_until_path_end() +{ + self endon("death"); + self.ignoreall = 1; + self waittill("reached_path_end"); + self.ignoreall = 0; +} + +//Function Number: 44 +delete_civilian_at_trigger() +{ + for(;;) + { + self waittill("trigger",var_00); + if(var_00.team == "neutral") + { + var_00 delete(); + } + + wait(0.1); + } +} + +//Function Number: 45 +start_vehicle_traffic_highway_traverse() +{ + var_00 = getvehiclenodearray("highway_path_player_side_1","targetname"); + foreach(var_02 in var_00) + { + var_02.do_pathbased_avoidance = 1; + var_02.dont_spawn_over_obstacles = 1; + var_02.lagoshack = 1; + var_02.vehicle_easy_crash_die = 1; + } + + maps\_vehicle_traffic::mark_nodes_near_spawnnodes_and_startnodes("highway_path_player_side_1"); + maps\_vehicle_traffic::traffic_set_traffic_tuning_lagos_highway(); + wait(0.25); + thread maps\_vehicle_traffic::setup_traffic_path_with_options("highway_path_other_side","highway_damageable_vehicle_spawner",1,level.player,10,1,1); + thread start_vehicle_traffic_highway_traverse_player_side(); +} + +//Function Number: 46 +start_vehicle_traffic_highway_traverse_player_side() +{ + if(common_scripts\utility::flag("flag_player_jump2")) + { + return; + } + + change_spawn_chance_highway_path_player_side(["1","2","3","4"],100); + change_spawn_dist_highway_path_player_side(["1","2","3","4"],4000); + thread maps\_vehicle_traffic::setup_traffic_path_with_options("highway_path_player_side","highway_damageable_vehicle_spawner",1,level.player,20,1,1,0); + common_scripts\utility::flag_wait("flag_highway_ledge_climb_started"); + thread maps\lagos_code::destroy_all_frogger_vehicles_lane(1); + thread maps\lagos_code::destroy_all_frogger_vehicles_lane(2); + thread maps\lagos_code::destroy_all_frogger_vehicles_lane(3); + thread maps\lagos_code::destroy_all_frogger_vehicles_lane(4); + if(level.currentgen) + { + thread maps\lagos_code::destroy_all_frogger_vehicles_lane(5); + thread maps\lagos_code::destroy_all_frogger_vehicles_lane(6); + thread maps\lagos_code::destroy_all_frogger_vehicles_lane(7); + thread maps\lagos_code::destroy_all_frogger_vehicles_lane(8); + } + + set_force_script_models_highway_path_player_side(["1","2","3","4"],0); + common_scripts\utility::delay_script_call(0,::disable_highway_path_player_side,["1"]); + common_scripts\utility::delay_script_call(5,::disable_highway_path_player_side,["3"]); + common_scripts\utility::delay_script_call(7,::enable_highway_path_player_side,["1"]); + level.player waittill("traffic_traverse_start_player"); + if(level.nextgen) + { + thread maps\lagos_code::destroy_all_frogger_vehicles_lane(5); + thread maps\lagos_code::destroy_all_frogger_vehicles_lane(6); + thread maps\lagos_code::destroy_all_frogger_vehicles_lane(7); + thread maps\lagos_code::destroy_all_frogger_vehicles_lane(8); + } + + change_spawn_dist_highway_path_player_side(["1","2","3","4"],2600); + wait(2); + change_spawn_dist_highway_path_player_side(["1","2","3","4"],10000); + change_spawn_chance_highway_path_player_side(["1","2","3","4"],10); +} + +//Function Number: 47 +start_middle_takedown_highway_path_player_side() +{ + delete_highway_player_side(); +} + +//Function Number: 48 +post_middle_takedown_highway_path_player_side() +{ + if(!isdefined(level.post_middle_takedown_traffic_done)) + { + level.post_middle_takedown_traffic_done = 1; + } + else + { + return; + } + + wait 0.05; + reset_highway_path_player_side(["2","3","4"],10,8000); + wait(2); + enable_highway_path_player_side(["1"]); +} + +//Function Number: 49 +start_end_takedown_highway_path_player_side() +{ + if(!isdefined(level.start_end_takedown_traffic_done)) + { + level.start_end_takedown_traffic_done = 1; + } + else + { + return; + } + + delete_highway_player_side(); +} + +//Function Number: 50 +set_force_script_models_highway_path_player_side(param_00,param_01) +{ + var_02 = getvehiclenodearray("highway_path_player_side_1","targetname"); + foreach(var_04 in var_02) + { + foreach(var_06 in param_00) + { + if(isdefined(var_04.script_noteworthy) && var_04.script_noteworthy == var_06) + { + var_04.traffic_force_script_models_only = param_01; + } + } + } +} + +//Function Number: 51 +enable_highway_path_player_side(param_00,param_01) +{ + disable_highway_path_player_side(param_00,0); +} + +//Function Number: 52 +disable_highway_path_player_side(param_00,param_01) +{ + var_02 = getvehiclenodearray("highway_path_player_side_1","targetname"); + foreach(var_04 in var_02) + { + foreach(var_06 in param_00) + { + if(isdefined(var_04.script_noteworthy) && var_04.script_noteworthy == var_06) + { + if(!isdefined(param_01) || param_01) + { + var_04.nospawn = 1; + continue; + } + + var_04.nospawn = 0; + } + } + } +} + +//Function Number: 53 +change_spawn_dist_highway_path_player_side(param_00,param_01) +{ + var_02 = getvehiclenodearray("highway_path_player_side_1","targetname"); + foreach(var_04 in var_02) + { + foreach(var_06 in param_00) + { + if(isdefined(var_04.script_noteworthy) && var_04.script_noteworthy == var_06) + { + if(isdefined(param_01)) + { + var_04.despawn_dist_sq = float(param_01) * float(param_01); + } + } + } + } +} + +//Function Number: 54 +change_spawn_chance_highway_path_player_side(param_00,param_01) +{ + var_02 = getvehiclenodearray("highway_path_player_side_1","targetname"); + foreach(var_04 in var_02) + { + foreach(var_06 in param_00) + { + if(isdefined(var_04.script_noteworthy) && var_04.script_noteworthy == var_06) + { + if(isdefined(param_01)) + { + var_04.spawn_chance_override = param_01; + } + } + } + } +} + +//Function Number: 55 +reset_highway_path_player_side(param_00,param_01,param_02,param_03) +{ + delete_highway_player_side(); + var_04 = undefined; + var_05 = getvehiclenodearray("highway_path_player_side_1","targetname"); + foreach(var_07 in var_05) + { + var_07.nospawn = 1; + var_07.despawn_dist_sq = float(param_02) * float(param_02); + } + + foreach(var_07 in var_05) + { + foreach(var_0B in param_00) + { + if(isdefined(var_07.script_noteworthy) && var_07.script_noteworthy == var_0B) + { + var_07.nospawn = 0; + if(isdefined(param_01)) + { + var_07.spawn_chance_override = param_01; + } + } + } + } + + if(!isdefined(param_03)) + { + param_03 = 0; + } + + level.traffic_tune_no_spawn = undefined; + thread maps\_vehicle_traffic::setup_traffic_path_with_options("highway_path_player_side","highway_damageable_vehicle_spawner",1,level.player,20,1,param_03,0,var_04); +} + +//Function Number: 56 +delete_highway_player_side() +{ + level.traffic_tune_no_spawn = "highway_path_player_side"; + thread maps\_vehicle_traffic::delete_traffic_path("highway_path_player_side"); +} + +//Function Number: 57 +start_vehicle_traffic_roundabout_straightways() +{ + wait(0.25); + maps\_vehicle_traffic::traffic_set_traffic_tuning(1); + thread maps\_vehicle_traffic::setup_traffic_path_with_options("east_lane_inner","roundabout_damageable_vehicle_spawner",1,undefined,10,1,1); + thread maps\_vehicle_traffic::setup_traffic_path_with_options("east_lane_outer","roundabout_damageable_vehicle_spawner",1,undefined,10,1,1); + thread maps\_vehicle_traffic::setup_traffic_path_with_options("east_lane_split","roundabout_damageable_vehicle_spawner",0,undefined,10,1,1); + thread maps\_vehicle_traffic::setup_traffic_path_with_options("west_lane","roundabout_damageable_vehicle_spawner",1,undefined,10,1,1); + thread maps\_vehicle_traffic::setup_traffic_path_with_options("highway_westward","roundabout_damageable_vehicle_spawner",1,undefined,10,1,1); + thread maps\_vehicle_traffic::traffic_path_head_car_traffic_jam("west_lane"); + thread maps\_vehicle_traffic::traffic_path_head_car_traffic_jam("highway_westward"); + thread maps\_vehicle_traffic::traffic_path_head_car_traffic_jam("west_lane"); + thread maps\_vehicle_traffic::traffic_path_head_car_traffic_jam("east_lane_outer"); +} + +//Function Number: 58 +resume_vehicle_traffic_roundabout_straightways() +{ + thread maps\_vehicle_traffic::traffic_path_all_cars_set_force_stop("east_lane_inner",0); + thread maps\_vehicle_traffic::traffic_path_all_cars_set_force_stop("east_lane_outer",0); + thread maps\_vehicle_traffic::traffic_path_all_cars_set_force_stop("east_lane_split",0); + thread maps\_vehicle_traffic::traffic_path_all_cars_set_force_stop("west_lane",0); + thread maps\_vehicle_traffic::traffic_path_all_cars_set_force_stop("highway_westward",0); + var_00 = getvehiclenode("pf2_auto4204","targetname"); + var_00.is_blockage = undefined; + var_00 = getvehiclenode("pf2_auto4205","targetname"); + var_00.is_blockage = undefined; + var_01 = 0; +} + +//Function Number: 59 +delete_vehicle_traffic_roundabout_straightways() +{ + thread maps\_vehicle_traffic::delete_traffic_path("east_lane_inner"); + thread maps\_vehicle_traffic::delete_traffic_path("east_lane_outer"); + thread maps\_vehicle_traffic::delete_traffic_path("east_lane_split"); + thread maps\_vehicle_traffic::delete_traffic_path("west_lane"); + thread maps\_vehicle_traffic::delete_traffic_path("highway_westward"); + var_00 = getvehiclenode("pf2_auto4204","targetname"); + var_00.is_blockage = undefined; + var_00 = getvehiclenode("pf2_auto4205","targetname"); + var_00.is_blockage = undefined; +} + +//Function Number: 60 +stop_vehicle_traffic_roundabout_straightways() +{ + var_00 = getvehiclenode("east_lane_inner_1","targetname"); + var_01 = getvehiclenode("east_lane_outer_1","targetname"); + var_00 notify("stop_traffic_lane"); + var_01 notify("stop_traffic_lane"); + thread maps\_vehicle_traffic::traffic_path_all_cars_set_force_stop("west_lane",1); + thread maps\_vehicle_traffic::traffic_path_all_cars_set_force_stop("highway_westward",1); + thread maps\_vehicle_traffic::traffic_path_all_cars_set_force_stop("east_lane_inner",1); + thread maps\_vehicle_traffic::traffic_path_all_cars_set_force_stop("east_lane_outer",1); + thread maps\_vehicle_traffic::traffic_path_all_cars_set_force_stop("east_lane_split",1); + thread maps\_vehicle_traffic::traffic_path_remove_cars_at_node("east_lane_inner","pf2_auto4204"); + thread maps\_vehicle_traffic::traffic_path_remove_cars_at_node("east_lane_outer","pf2_auto4205"); + thread maps\_vehicle_traffic::traffic_path_remove_cars_at_node("east_lane_inner","pf2_auto4206"); + thread maps\_vehicle_traffic::traffic_path_remove_cars_at_node("east_lane_outer","pf2_auto4207"); + thread maps\_vehicle_traffic::traffic_path_remove_cars_at_node("east_lane_inner","pf2_auto4208"); + thread maps\_vehicle_traffic::traffic_path_remove_cars_at_node("east_lane_outer","pf2_auto4209"); + thread maps\_vehicle_traffic::traffic_path_remove_cars_at_node("east_lane_inner","pf2_auto4196"); + thread maps\_vehicle_traffic::traffic_path_remove_cars_at_node("east_lane_outer","pf2_auto4197"); + thread maps\_vehicle_traffic::traffic_path_remove_cars_at_node("east_lane_inner","pf2_auto4198"); + thread maps\_vehicle_traffic::traffic_path_remove_cars_at_node("east_lane_outer","pf2_auto4199"); + thread maps\_vehicle_traffic::traffic_path_remove_cars_at_node("east_lane_split","pf2_highway_path_1"); + thread maps\_vehicle_traffic::traffic_path_remove_cars_at_node("east_lane_split","pf2_auto4232"); + thread maps\_vehicle_traffic::traffic_path_remove_cars_at_node("east_lane_inner","pf2_auto4200"); + thread maps\_vehicle_traffic::traffic_path_remove_cars_at_node("east_lane_inner","pf2_auto4202"); + thread maps\_vehicle_traffic::traffic_path_remove_cars_at_node("east_lane_inner","pf2_auto4210"); + thread maps\_vehicle_traffic::traffic_path_remove_cars_at_node("east_lane_outer","pf2_auto4201"); + thread maps\_vehicle_traffic::traffic_path_remove_cars_at_node("east_lane_outer","pf2_auto4203"); + thread maps\_vehicle_traffic::traffic_path_remove_cars_at_node("east_lane_outer","pf2_auto4211"); + thread maps\_vehicle_traffic::traffic_path_remove_cars_at_node("east_lane_split","pf2_auto4233"); + thread maps\_vehicle_traffic::traffic_path_set_cars_at_node_ai_path_blocker("west_lane","pf2_auto4083"); + thread maps\_vehicle_traffic::traffic_path_remove_cars_at_node("west_lane","pf2_auto4077"); + thread maps\_vehicle_traffic::traffic_path_set_cars_at_node_ai_path_blocker("west_lane","pf2_auto4071"); + thread maps\_vehicle_traffic::traffic_path_set_cars_at_node_ai_path_blocker("west_lane","pf2_auto4090"); + thread maps\_vehicle_traffic::traffic_path_remove_cars_at_node("west_lane","pf2_auto4084"); + thread maps\_vehicle_traffic::traffic_path_remove_cars_at_node("west_lane","pf2_auto4078"); + thread maps\_vehicle_traffic::traffic_path_set_cars_at_node_ai_path_blocker("west_lane","pf2_auto4072"); + thread maps\_vehicle_traffic::traffic_path_remove_cars_at_node("east_lane_split","pf2_auto4230"); + thread maps\_vehicle_traffic::traffic_path_remove_cars_at_node("east_lane_split","pf2_auto4231"); + thread maps\_vehicle_traffic::traffic_path_all_cars_set_force_stop("east_lane_inner",1); + thread maps\_vehicle_traffic::traffic_path_all_cars_set_force_stop("east_lane_outer",1); + thread maps\_vehicle_traffic::traffic_path_all_cars_set_force_stop("east_lane_split",1); + thread maps\_vehicle_traffic::traffic_path_all_cars_set_force_stop("west_lane",1); +} + +//Function Number: 61 +rumble_flydrone_animation() +{ + wait(0.75); + var_00 = level.player maps\_utility::get_rumble_ent("steady_rumble"); + var_00 maps\_utility::set_rumble_intensity(0.08); + common_scripts\utility::flag_wait("drone_fly_anim_done"); + wait(2.5); + var_00 stoprumble("steady_rumble"); + var_00 delete(); +} + +//Function Number: 62 +rumble_flydrone_control() +{ + if(common_scripts\utility::flag("intro_playerstart")) + { + return; + } + + level.fly_drone_rumbling = 1; + var_00 = level.player maps\_utility::get_rumble_ent("steady_rumble"); + var_00 maps\_utility::set_rumble_intensity(0.08); + level waittill("fly_drone_not_moving"); + var_00 stoprumble("steady_rumble"); + var_00 delete(); + level.fly_drone_rumbling = 0; +} + +//Function Number: 63 +rumble_roundabout_rpg_car_hit() +{ + if(distance(self.origin,level.player.origin) > 500) + { + return; + } + + if(distance(self.origin,level.player.origin) <= 500 && distance(self.origin,level.player.origin) >= 250) + { + level.player playrumbleonentity("damage_heavy"); + earthquake(0.5,0.75,level.player.origin,1000); + return; + } + + if(distance(self.origin,level.player.origin) < 250) + { + level.player playrumbleonentity("artillery_rumble"); + earthquake(1,0.75,level.player.origin,1000); + return; + } +} + +//Function Number: 64 +rumble_roundabout_tanker() +{ + var_00 = getent("magicOrg_roundabout_tanker_dest","targetname"); + if(distance(var_00.origin,level.player.origin) > 1750) + { + return; + } + + if(distance(var_00.origin,level.player.origin) <= 1750 && distance(var_00.origin,level.player.origin) >= 1200) + { + level.player playrumbleonentity("damage_heavy"); + return; + } + + if(distance(var_00.origin,level.player.origin) < 1200) + { + level.player playrumbleonentity("artillery_rumble"); + return; + } +} + +//Function Number: 65 +rumble_frogger_vehicles() +{ + var_00 = level.player maps\_utility::get_rumble_ent("heavy_1s"); + var_00 maps\_utility::set_rumble_intensity(0.01); + var_00 maps\_utility::rumble_ramp_to(1,0.5); + wait(0.5); + var_00 stoprumble("heavy_1s"); + var_00 delete(); +} + +//Function Number: 66 +disable_exo_for_highway() +{ + maps\_player_exo::player_exo_remove_single("boost_dash"); +} + +//Function Number: 67 +challenge_point_award() +{ + if(isdefined(self.damagelocation) && issubstr(self.damagelocation,"head")) + { + level.player maps\_upgrade_challenge::give_player_challenge_headshot(1); + return; + } + + level.player maps\_upgrade_challenge::give_player_challenge_kill(1); +} + +//Function Number: 68 +challenge_point_award_on_damage() +{ + self waittill("damage"); + challenge_point_award(); +} + +//Function Number: 69 +hint_instant(param_00,param_01,param_02) +{ + if(!isdefined(param_02)) + { + param_02 = 0; + } + + var_03 = 0.5; + level endon("clearing_hints"); + if(isdefined(level.hintelement)) + { + level.hintelement maps\_hud_util::destroyelem(); + } + + level.hintelement = maps\_hud_util::createfontstring("default",1.5); + level.hintelement maps\_hud_util::setpoint("MIDDLE",undefined,0,30 + param_02); + level.hintelement.color = (1,1,1); + level.hintelement settext(param_00); + level.hintelement.alpha = 0; + level.hintelement.alpha = 1; + wait(0.5); + level.hintelement endon("death"); + if(isdefined(param_01)) + { + wait(param_01); + } + else + { + return; + } + + level.hintelement fadeovertime(var_03); + level.hintelement.alpha = 0; + wait(var_03); + level.hintelement maps\_hud_util::destroyelem(); +} + +//Function Number: 70 +hint_fade_instant() +{ + if(isdefined(level.hintelement)) + { + level notify("clearing_hints"); + level.hintelement.alpha = 0; + } +} + +//Function Number: 71 +ignore_until_goal_reached() +{ + self.ignoreall = 1; + common_scripts\utility::waittill_notify_or_timeout("goal",5); + if(isdefined(self) && isalive(self)) + { + self.ignoreall = 0; + } +} + +//Function Number: 72 +ignore_until_timeout(param_00) +{ + self.ignoreme = 1; + wait(param_00); + if(isdefined(self) && isalive(self)) + { + self.ignoreme = 0; + } +} + +//Function Number: 73 +lagos_custom_laser() +{ + thread animscripts\utility::follow_enemy_with_laser(self,"lag_snipper_laser"); +} + +//Function Number: 74 +spawn_wave_upkeep_and_flag(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_02)) + { + param_02 = 0; + } + + if(!isdefined(param_03)) + { + param_03 = 0; + } + + while(!common_scripts\utility::flag(param_01)) + { + param_00 = maps\_utility::array_removedead_or_dying(param_00); + if(param_00.size <= param_02) + { + wait(param_03); + common_scripts\utility::flag_set(param_01); + } + + wait 0.05; + } +} + +//Function Number: 75 +spawn_wave_upkeep_and_block(param_00,param_01,param_02) +{ + if(!isdefined(param_01)) + { + param_01 = 0; + } + + if(!isdefined(param_02)) + { + param_02 = 0; + } + + for(;;) + { + param_00 = maps\_utility::array_removedead_or_dying(param_00); + if(param_00.size <= param_01) + { + wait(param_02); + return; + } + + wait 0.05; + } +} + +//Function Number: 76 +kill_after_timeout(param_00,param_01,param_02) +{ + wait(param_01); + foreach(var_04 in param_00) + { + if(isdefined(var_04) && isalive(var_04)) + { + var_04 kill(); + if(isdefined(param_02) && param_02) + { + wait(randomfloatrange(0.75,1.25)); + } + } + } +} + +//Function Number: 77 +timeout_and_flag(param_00,param_01) +{ + wait(param_01); + if(!common_scripts\utility::flag(param_00)) + { + common_scripts\utility::flag_set(param_00); + } +} + +//Function Number: 78 +notify_on_flag(param_00,param_01) +{ + common_scripts\utility::flag_wait(param_01); + self notify(param_00); +} + +//Function Number: 79 +vehicle_unload_how_at_end(param_00) +{ + self waittill("reached_end_node"); + if(isdefined(param_00)) + { + maps\_vehicle::vehicle_unload(param_00); + return; + } + + maps\_vehicle::vehicle_unload(); +} + +//Function Number: 80 +delete_after_wait(param_00,param_01) +{ + wait(param_01); + param_00 delete(); +} + +//Function Number: 81 +equip_microwave_grenade() +{ + self.grenadeweapon = "microwave_grenade"; + self.grenadeammo = 2; +} + +//Function Number: 82 +immune_sonic_blast() +{ + self.ignoresonicaoe = 1; +} + +//Function Number: 83 +setup_ai_for_bus_sequence() +{ + self allowedstances("stand"); + self.a.disablepain = 1; + self.dontavoidplayer = 1; + self.nododgemove = 1; + self.badplaceawareness = 0; + self.dontmelee = 1; + self.doorflashchance = 0.05; + self.aggressivemode = 1; + self.ignoresuppression = 1; + self.no_pistol_switch = 1; + self.norunngun = 1; + self.disablebulletwhizbyreaction = 1; + self.nogrenadereturnthrow = 1; + var_00 = self.grenadeawareness; + self.grenadeawareness = 0; +} + +//Function Number: 84 +disable_awareness() +{ + self.ignoreall = 1; + self.dontmelee = 1; + self.ignoresuppression = 1; + self.suppressionwait_old = self.suppressionwait; + self.suppressionwait = 0; + maps\_utility::disable_surprise(); + self.ignorerandombulletdamage = 1; + maps\_utility::disable_bulletwhizbyreaction(); + maps\_utility::disable_pain(); + self.grenadeawareness = 0; + maps\_utility::enable_dontevershoot(); + self.disablefriendlyfirereaction = 1; + self.dodangerreact = 0; +} + +//Function Number: 85 +enable_awareness() +{ + self.ignoreall = 0; + self.dontmelee = undefined; + self.ignoresuppression = 0; + if(isdefined(self.suppressionwait_old)) + { + self.suppressionwait = self.suppressionwait_old; + } + + self.suppressionwait_old = undefined; + maps\_utility::enable_surprise(); + self.ignorerandombulletdamage = 0; + maps\_utility::enable_bulletwhizbyreaction(); + maps\_utility::enable_pain(); + self.grenadeawareness = 1; + self.ignoreme = 0; + maps\_utility::disable_dontevershoot(); + self.disablefriendlyfirereaction = undefined; + self.dodangerreact = 1; +} + +//Function Number: 86 +fake_linkto(param_00,param_01,param_02,param_03) +{ + thread fake_linkto_internal(param_00,param_01,param_02,param_03); +} + +//Function Number: 87 +fake_linkto_internal(param_00,param_01,param_02,param_03) +{ + self endon("death"); + param_00 endon("death"); + self notify("fake_unlink"); + self endon("fake_unlink"); + if(!isdefined(param_02) || !isdefined(param_03)) + { + if(isdefined(param_01)) + { + var_04 = param_00 gettagorigin(param_01); + var_05 = param_00 gettagangles(param_01); + } + else + { + var_04 = param_02.origin; + var_05 = param_01.angles; + } + + var_06 = transformmove((0,0,0),(0,0,0),var_04,var_05,self.origin,self.angles); + param_02 = var_06["origin"]; + param_03 = var_06["angles"]; + } + + for(;;) + { + if(isdefined(param_01)) + { + var_04 = param_00 gettagorigin(param_01); + var_05 = param_00 gettagangles(param_01); + } + else + { + var_04 = param_00.origin; + var_05 = param_00.angles; + } + + var_06 = transformmove(var_04,var_05,(0,0,0),(0,0,0),param_02,param_03); + self.origin = var_06["origin"]; + self.angles = var_06["angles"]; + wait 0.05; + } +} + +//Function Number: 88 +fake_unlink() +{ + self notify("fake_unlink"); +} + +//Function Number: 89 +magic_threat_grenade(param_00,param_01,param_02) +{ + var_03 = magicgrenade("paint_grenade_var",param_00.origin,param_01.origin,param_02); + if(isdefined(var_03)) + { + var_03 thread maps\_variable_grenade::detection_grenade_think(level.player); + } +} + +//Function Number: 90 +boost_jump_toggle() +{ + level.player notifyonplayercommand("use_boost_jump","+actionslot 1"); + for(;;) + { + level.player waittill("use_boost_jump"); + level.player maps\_player_high_jump::enable_high_jump(); + level.player maps\_utility::blend_movespeedscale_percent(150,1); + level.player waittill("use_boost_jump"); + level.player maps\_player_high_jump::disable_high_jump(); + level.player maps\_utility::blend_movespeedscale_percent(100,1); + } +} + +//Function Number: 91 +ally_redirect_goto_node(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + var_08 = undefined; + foreach(var_0A in level.alpha_squad) + { + if(isdefined(var_0A.script_friendname) && var_0A.script_friendname == param_00) + { + var_08 = var_0A; + } + } + + var_0C = getnode(param_01,"targetname"); + if(isdefined(var_08.node)) + { + var_08.node maps\_utility::script_delay(); + } + + var_08 maps\_utility::enable_ai_color(); + var_08 maps\_utility::set_goal_node(var_0C); + if(isdefined(param_03)) + { + var_08 thread exec_function(param_02,param_03,param_04,param_05,param_06,param_07); + } +} + +//Function Number: 92 +exec_function(param_00,param_01,param_02,param_03,param_04,param_05) +{ + var_06 = 0; + if(isdefined(param_05)) + { + var_06 = 4; + } + else if(isdefined(param_04)) + { + var_06 = 3; + } + else if(isdefined(param_03)) + { + var_06 = 2; + } + else if(isdefined(param_02)) + { + var_06 = 1; + } + + if(param_00 == 1) + { + switch(var_06) + { + case 0: + thread [[ param_01 ]](); + break; + + case 1: + thread [[ param_01 ]](param_02); + break; + + case 2: + thread [[ param_01 ]](param_02,param_03); + break; + + case 3: + thread [[ param_01 ]](param_02,param_03,param_04); + break; + + case 4: + thread [[ param_01 ]](param_02,param_03,param_04,param_05); + break; + } + + return; + } + + switch(var_06) + { + case 0: + [[ param_01 ]](); + break; + + case 1: + [[ param_01 ]](param_02); + break; + + case 2: + [[ param_01 ]](param_02,param_03); + break; + + case 3: + [[ param_01 ]](param_02,param_03,param_04); + break; + + case 4: + [[ param_01 ]](param_02,param_03,param_04,param_05); + break; + } +} + +//Function Number: 93 +assign_goal_vol(param_00,param_01) +{ + if(isdefined(self)) + { + var_02 = getent(param_00,"targetname"); + self setgoalvolumeauto(var_02); + if(isdefined(param_01)) + { + self.goalradius = param_01; + } + } +} + +//Function Number: 94 +assign_goal_node(param_00,param_01) +{ + if(isdefined(self)) + { + var_02 = getnode(param_00,"targetname"); + self setgoalnode(var_02); + if(isdefined(param_01)) + { + self.goalradius = param_01; + } + } +} + +//Function Number: 95 +setupenemygoalvolumesettings(param_00,param_01) +{ + param_00 = common_scripts\utility::array_randomize(param_00); + if(level.player istouching(param_00[0])) + { + self setgoalvolumeauto(param_00[1]); + wait 0.05; + if(isdefined(param_01)) + { + self.goalradius = param_01; + return; + } + + return; + } + + self setgoalvolumeauto(param_00[0]); + wait 0.05; + if(isdefined(param_01)) + { + self.goalradius = param_01; + } +} + +//Function Number: 96 +ally_move_dynamic_speed() +{ + self notify("start_dynamic_run_speed"); + self endon("death"); + self endon("stop_dynamic_run_speed"); + self endon("start_dynamic_run_speed"); + if(maps\_utility::ent_flag_exist("_stealth_custom_anim")) + { + maps\_utility::ent_flag_waitopen("_stealth_custom_anim"); + } + + self.run_speed_state = ""; + ally_reset_dynamic_speed(); + var_00 = 144; + var_01 = ["sprint","run"]; + var_02 = []; + var_02["player_sprint"]["sprint"][0] = 225 * var_00; + var_02["player_sprint"]["sprint"][1] = 900 * var_00; + var_02["player_sprint"]["run"][0] = 900 * var_00; + var_02["player_sprint"]["run"][1] = 900 * var_00; + var_02["player_run"]["sprint"][0] = 225 * var_00; + var_02["player_run"]["sprint"][1] = 400 * var_00; + var_02["player_run"]["run"][0] = 400 * var_00; + var_02["player_run"]["run"][1] = 625 * var_00; + var_02["player_crouch"]["run"][0] = 4 * var_00; + var_02["player_crouch"]["run"][1] = 100 * var_00; + var_03 = 123; + var_04 = 189; + var_05 = 283; + for(;;) + { + wait(0.2); + if(isdefined(self.force_run_speed_state)) + { + ally_dynamic_run_set(self.force_run_speed_state); + continue; + } + + var_06 = vectornormalize(anglestoforward(self.angles)); + var_07 = vectornormalize(self.origin - level.player.origin); + var_08 = vectordot(var_06,var_07); + var_09 = distancesquared(self.origin,level.player.origin); + if(isdefined(self.cqbwalking) && self.cqbwalking) + { + self.moveplaybackrate = 1; + } + + if(common_scripts\utility::flag_exist("_stealth_spotted") && common_scripts\utility::flag("_stealth_spotted")) + { + ally_dynamic_run_set("run"); + continue; + } + + if(var_08 < -0.25 && var_09 > 225 * var_00) + { + ally_dynamic_run_set("sprint"); + continue; + } + + ally_dynamic_run_set("cqb"); + } +} + +//Function Number: 97 +ally_stop_dynamic_speed() +{ + self endon("death"); + self notify("stop_dynamic_run_speed"); + ally_reset_dynamic_speed(); +} + +//Function Number: 98 +ally_reset_dynamic_speed() +{ + self endon("death"); + maps\_utility::disable_cqbwalk(); + self.moveplaybackrate = 1; + maps\_utility::clear_run_anim(); + self notify("stop_loop"); +} + +//Function Number: 99 +ally_dynamic_run_set(param_00) +{ + if(self.run_speed_state == param_00) + { + return; + } + + self.run_speed_state = param_00; + switch(param_00) + { + case "sprint": + if(isdefined(self.cqbwalking) && self.cqbwalking) + { + self.moveplaybackrate = 1; + } + else + { + self.moveplaybackrate = 1; + } + + maps\_utility::set_generic_run_anim("DRS_sprint"); + maps\_utility::disable_cqbwalk(); + self notify("stop_loop"); + break; + + case "run": + self.moveplaybackrate = 1; + maps\_utility::clear_run_anim(); + maps\_utility::disable_cqbwalk(); + self notify("stop_loop"); + break; + + case "jog": + self.moveplaybackrate = 1; + maps\_utility::set_generic_run_anim("DRS_combat_jog"); + maps\_utility::disable_cqbwalk(); + self notify("stop_loop"); + break; + + case "cqb": + self.moveplaybackrate = 1; + maps\_utility::enable_cqbwalk(); + self notify("stop_loop"); + break; + } +} + +//Function Number: 100 +right_swing_pressed() +{ + if(level.console || level.player common_scripts\utility::is_player_gamepad_enabled()) + { + return level.player attackbuttonpressed(); + } + + return level.player buttonpressed("mouse2"); +} + +//Function Number: 101 +left_swing_pressed() +{ + var_00 = "BUTTON_LTRIG"; + if(!level.console && !level.player common_scripts\utility::is_player_gamepad_enabled()) + { + var_00 = "mouse1"; + } + + return level.player buttonpressed(var_00); +} + +//Function Number: 102 +break_left_climb_hint() +{ + if(isdefined(level.player.waiting_on_left_swing) && level.player.waiting_on_left_swing == 0) + { + return 1; + } + + return 0; +} + +//Function Number: 103 +break_right_climb_hint() +{ + if(isdefined(level.player.waiting_on_right_swing) && level.player.waiting_on_right_swing == 0) + { + return 1; + } + + return 0; +} + +//Function Number: 104 +wait_until_right_swing_pressed() +{ + level.player.waiting_on_right_swing = 1; + var_00 = common_scripts\utility::spawn_tag_origin(); + var_00.origin = level.player geteye() + anglestoforward(level.player getgunangles()) * 12 + anglestoright(level.player getgunangles()) * 6; + var_00.angles = level.player.angles + (0,180,0); + var_01 = display_hint_button(&"LAGOS_PRESS_CLIMB_RIGHT",var_00,"tag_origin",0); + for(;;) + { + if(right_swing_pressed() && level.player.left_swing_released == 1) + { + level.player.waiting_on_right_swing = 0; + clear_hint_button(var_01); + soundscripts\_snd::snd_message("exo_climb_right_swing_pressed"); + return; + } + + wait(0.05); + } +} + +//Function Number: 105 +wait_until_left_swing_pressed() +{ + level.player.waiting_on_left_swing = 1; + var_00 = common_scripts\utility::spawn_tag_origin(); + var_00.origin = level.player geteye() + anglestoforward(level.player getgunangles()) * 12 - anglestoright(level.player getgunangles()) * 6; + var_00.angles = level.player.angles + (0,180,0); + var_01 = display_hint_button(&"LAGOS_PRESS_CLIMB_LEFT",var_00,"tag_origin",0); + for(;;) + { + if(left_swing_pressed() && level.player.right_swing_released == 1) + { + level.player.waiting_on_left_swing = 0; + clear_hint_button(var_01); + var_00 delete(); + soundscripts\_snd::snd_message("exo_climb_left_swing_pressed"); + return; + } + + wait(0.05); + } +} + +//Function Number: 106 +wait_until_next_right_swing() +{ + level.player.waiting_on_right_swing = 1; + maps\_utility::display_hint_timeout("right_climb_hint",5); + for(;;) + { + if(isdefined(level.player.right_swing_released) && level.player.right_swing_released == 1 && right_swing_pressed()) + { + level.player.waiting_on_right_swing = 0; + return; + } + + wait(0.05); + } +} + +//Function Number: 107 +wait_until_next_left_swing() +{ + level.player.waiting_on_left_swing = 1; + maps\_utility::display_hint_timeout("left_climb_hint",5); + for(;;) + { + if(isdefined(level.player.left_swing_released) && level.player.left_swing_released == 1 && left_swing_pressed()) + { + level.player.waiting_on_left_swing = 0; + return; + } + + wait(0.05); + } +} + +//Function Number: 108 +monitor_right_swing_released() +{ + level.player.right_swing_released = 0; + for(;;) + { + if(!right_swing_pressed()) + { + level.player.right_swing_released = 1; + return; + } + + wait(0.05); + } +} + +//Function Number: 109 +monitor_left_swing_released() +{ + level.player.left_swing_released = 0; + for(;;) + { + if(!left_swing_pressed()) + { + level.player.left_swing_released = 1; + return; + } + + wait(0.05); + } +} + +//Function Number: 110 +player_climb_wall_head_sway() +{ + level endon("stop_player_cam_sway"); + for(;;) + { + screenshake(level.player.origin,7,9,4,2,0.2,0.2,0,0.3,0.375,0.225); + wait(1); + } +} + +//Function Number: 111 +hint_string_disable_exo_door() +{ + if(level.player usebuttonpressed()) + { + return 1; + } + + return 0; +} + +//Function Number: 112 +hint_string_disable_exo_climb() +{ + if(level.player usebuttonpressed()) + { + return 1; + } + + return 0; +} + +//Function Number: 113 +hint_string_disable_mute_charge() +{ + if(level.player usebuttonpressed()) + { + return 1; + } + + return 0; +} + +//Function Number: 114 +hint_string_disable_place_sensor() +{ + if(level.player usebuttonpressed()) + { + return 1; + } + + return 0; +} + +//Function Number: 115 +display_hint_button(param_00,param_01,param_02,param_03) +{ + var_04 = newclienthudelem(level.player); + var_04.alignx = "center"; + var_04.aligny = "middle"; + var_04.fontscale = 3; + var_04.positioninworld = 1; + if(isdefined(param_01)) + { + if(isdefined(param_02)) + { + var_04 settargetent(param_01,param_02); + } + else + { + var_04 settargetent(param_01); + } + } + + var_04 settext(param_00); + var_04.hidewheninmenu = 1; + var_04.sort = -1; + var_04.alpha = 1; + level.player.hint_button = var_04; + var_04 thread scale_3d_hud_elem(param_01,param_02,level.player,param_03); + return var_04; +} + +//Function Number: 116 +scale_3d_hud_elem(param_00,param_01,param_02,param_03) +{ + self endon("death"); + if(!isdefined(param_03)) + { + param_03 = 40; + } + + for(;;) + { + var_04 = distance(param_00 gettagorigin(param_01),param_02 geteye()); + self.fontscale = maps\_shg_utility::linear_map_clamp(var_04,16,1024,2.5,1.5); + if(param_03 != 0 && var_04 > param_03) + { + self.alpha = 0.3; + } + else + { + self.alpha = 1; + } + + wait 0.05; + } +} + +//Function Number: 117 +clear_hint_button(param_00) +{ + param_00 destroy(); +} + +//Function Number: 118 +keep_filling_clip_ammo(param_00) +{ + self endon("death"); + while(!common_scripts\utility::flag("flag_bus_traverse_5_start_takedown")) + { + wait(param_00); + if(isdefined(self.weapon) && !issubstr(self.weapon,"rpg")) + { + self.bulletsinclip = weaponclipsize(self.weapon); + } + } +} + +//Function Number: 119 +give_player_more_ammo(param_00) +{ + self endon("death"); + while(!common_scripts\utility::flag("flag_bus_traverse_5_start_takedown")) + { + wait(param_00); + var_01 = self getcurrentweapon(); + if(isdefined(var_01) && !issubstr(var_01,"rpg")) + { + self givemaxammo(var_01); + } + } +} + +//Function Number: 120 +bloody_death(param_00,param_01) +{ + self endon("death"); + if(!issentient(self) || !isalive(self)) + { + return; + } + + if(isdefined(self.bloody_death) && self.bloody_death) + { + return; + } + + self.bloody_death = 1; + if(isdefined(param_00)) + { + wait(randomfloat(param_00)); + } + + var_02 = []; + var_02[0] = "j_hip_le"; + var_02[1] = "j_hip_ri"; + var_02[2] = "j_head"; + var_02[3] = "j_spine4"; + var_02[4] = "j_elbow_le"; + var_02[5] = "j_elbow_ri"; + var_02[6] = "j_clavicle_le"; + var_02[7] = "j_clavicle_ri"; + var_03 = getdvarint("cg_fov"); + for(var_04 = 0;var_04 < 3 + randomint(5);var_04++) + { + var_05 = randomintrange(0,var_02.size); + thread bloody_death_fx(var_02[var_05],undefined); + wait(randomfloat(0.1)); + if(isdefined(param_01) && isai(param_01) && isalive(param_01)) + { + if(!level.player worldpointinreticle_circle(param_01.origin,var_03,500)) + { + param_01 shootblank(); + } + } + } + + self dodamage(self.health + 50,self.origin); +} + +//Function Number: 121 +bloody_death_fx(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = level._effect["flesh_hit"]; + } + + playfxontag(param_01,self,param_00); +} + +//Function Number: 122 +alley1_stage3_refill_think() +{ + self endon("death"); + var_00 = 256; + var_01 = 512; + level.alley1_kva = common_scripts\utility::array_add(level.alley1_kva,self); + thread assign_goal_vol("alley1_stage3_vol1"); + maps\_utility::disable_long_death(); + equip_microwave_grenade(); + self setengagementmaxdist(var_00,var_01); +} + +//Function Number: 123 +handle_vehicle_death() +{ + thread vehicle_crash_when_driver_dies(); + thread vehicle_crash_on_death(); +} + +//Function Number: 124 +vehicle_crash_when_driver_dies() +{ + self endon("death"); + self.vehicle_keeps_going_after_driver_dies = 1; + var_00 = vehicle_get_driver(); + if(!isdefined(var_00)) + { + return; + } + + var_00 waittill("death"); + var_01 = undefined; + if(isdefined(var_00)) + { + var_01 = var_00.lastattacker; + } + + vehicle_crash_now(var_01); +} + +//Function Number: 125 +vehicle_crash_on_death() +{ + self.vehicle_stays_alive = 1; + while(self.health > 0) + { + self waittill("damage"); + waittillframeend; + if(self.health < self.healthbuffer) + { + break; + } + } + + vehicle_crash_now(self.attacker); +} + +//Function Number: 126 +vehicle_crash_when_blocked() +{ + self endon("death"); + var_00 = 24; + var_01 = 39; + var_02 = 156; + var_03 = undefined; + for(;;) + { + var_04 = self localtoworldcoords((var_01,0,var_00)); + var_05 = self localtoworldcoords((var_02,0,var_00)); + var_06 = bullettrace(var_04,var_05,0,self); + var_07 = var_06["entity"]; + if(isdefined(var_07)) + { + if(var_07.code_classname == "script_model" || var_07.code_classname == "script_vehicle" && var_07.health <= 0) + { + var_03 = var_07.attacker; + break; + } + } + + if(isdefined(self.vehicle_crashing_now)) + { + return; + } + + wait(0.5); + } + + thread vehicle_crash_now(var_03); +} + +//Function Number: 127 +vehicle_crash_now(param_00) +{ + var_01 = 0.75; + var_02 = 3; + var_03 = 60; + var_04 = 1.5; + var_05 = 39; + var_06 = 1.8; + if(isdefined(self.vehicle_crashing_now)) + { + return; + } + + self.vehicle_crashing_now = 1; + self notify("vehicle_crashing_now"); + soundscripts\_snd::snd_message("bus_chase_suv_lose_control"); + var_07 = vehicle_get_crash_struct(var_01,var_02,var_03,var_04); + if(isdefined(var_07)) + { + var_07.used = 1; + var_08 = spawnstruct(); + var_08.crash_struct = var_07; + var_08.vehicle = self; + var_08.vehicle_to_crash_struct = var_08.crash_struct.origin - var_08.vehicle.origin; + var_08.vehicle_to_crash_struct_dir = vectornormalize(var_08.vehicle_to_crash_struct); + var_08.right_dir = anglestoright(common_scripts\utility::flat_angle(vectortoangles(var_08.vehicle_to_crash_struct_dir))); + var_08.goal_pos = var_08.crash_struct.origin + vectornormalize(var_08.vehicle_to_crash_struct) * var_05; + var_08.crash_speed_ips = max(self vehicle_getspeed() * 17.6 * var_04,1); + var_08.crash_speed_mph = var_08.crash_speed_ips / 17.6; + var_08.wait_time = length(var_08.vehicle_to_crash_struct) / var_08.crash_speed_ips * var_06; + thread vehicle_crazy_steering(var_08); + vehicle_wait_for_crash(var_08); + } + else + { + } + + self.vehicle_stays_alive = undefined; + if(isdefined(param_00)) + { + self dodamage(self.health + 2000,self.origin,param_00,self); + return; + } + + self dodamage(self.health + 2000,self.origin); +} + +//Function Number: 128 +vehicle_get_driver() +{ + foreach(var_01 in self.attachedguys) + { + if(isdefined(var_01.drivingvehicle) && var_01.drivingvehicle) + { + return var_01; + } + } +} + +//Function Number: 129 +vehicle_get_crash_struct(param_00,param_01,param_02,param_03) +{ + var_04 = self vehicle_getspeed() * 17.6 * param_03; + var_05 = squared(var_04 * param_00); + var_06 = squared(var_04 * param_01); + var_07 = cos(param_02); + var_08 = sortbydistance(common_scripts\utility::getstructarray("vehicle_crash_struct","script_noteworthy"),self.origin); + foreach(var_0A in var_08) + { + var_0B = distancesquared(var_0A.origin,self.origin); + if(var_0B < var_05) + { + continue; + } + + if(var_0B > var_06) + { + break; + } + + if(isdefined(var_0A.used)) + { + continue; + } + + if(vectordot(vectornormalize(var_0A.origin - self.origin),anglestoforward(self.angles)) < var_07) + { + continue; + } + + return var_0A; + } + + return undefined; +} + +//Function Number: 130 +vehicle_wait_for_crash(param_00) +{ + thread maps\_utility::notify_delay("max_time",param_00.wait_time); + thread vehicle_detect_crash(param_00); + var_01 = common_scripts\utility::waittill_any_return("max_time","veh_collision","script_vehicle_collision","detect_crash"); + if(!isdefined(var_01)) + { + var_01 = "unknown"; + } + + self notify("stop_vehicle_detect_crash"); +} + +//Function Number: 131 +vehicle_detect_crash(param_00) +{ + self endon("stop_vehicle_detect_crash"); + waittillframeend; + var_01 = squared(234); + if(isdefined(level.vehicle_death_radiusdamage[self.classname]) && isdefined(level.vehicle_death_radiusdamage[self.classname].range)) + { + var_01 = squared(level.vehicle_death_radiusdamage[self.classname].range * 0.75); + } + + for(;;) + { + if(abs(angleclamp180(self.angles[0])) > 30 || abs(angleclamp180(self.angles[2])) > 30) + { + break; + } + + if(distancesquared(self.origin,level.player.origin) < var_01) + { + break; + } + + if(self vehicle_getspeed() / param_00.crash_speed_mph < 0.25) + { + break; + } + + if(vectordot(param_00.goal_pos - self.origin,param_00.vehicle_to_crash_struct_dir) < 0) + { + break; + } + + wait 0.05; + } + + self notify("detect_crash"); + soundscripts\_snd::snd_message("bus_chase_suv_explode"); +} + +//Function Number: 132 +vehicle_crazy_steering(param_00) +{ + var_01 = 20; + var_02 = 4; + var_03 = 195; + var_04 = var_03 * tan(var_01); + var_05 = self vehicle_getspeed(); + var_06 = 0; + self endon("death"); + for(;;) + { + var_07 = 0; + if(vectordot(param_00.crash_struct.origin - self.origin,param_00.right_dir) < 0) + { + var_07 = 1; + } + + var_08 = randomfloat(var_04); + if(var_07) + { + var_08 = var_08 * -1; + } + + var_09 = self.origin + param_00.vehicle_to_crash_struct_dir * var_03 + param_00.right_dir * var_08; + var_0A = clamp(var_06 / var_02,0,1); + var_0B = maps\_utility::linear_interpolate(var_0A,var_05,param_00.crash_speed_mph); + self vehicledriveto(var_09,param_00.crash_speed_mph); + var_0C = randomfloatrange(0.05,0.2); + var_06 = var_06 + var_0C; + wait(var_0C); + } +} + +//Function Number: 133 +vehicle_crazy_steering_frogger() +{ + var_00 = 10; + var_01 = 4; + var_02 = 195; + var_03 = var_02 * tan(var_00); + var_04 = self vehicle_getspeed(); + var_05 = 0; + if(self.lane < 5) + { + var_06 = (30,-500,0); + } + else + { + var_06 = (30,500,0); + } + + var_07 = self.origin + var_06; + var_08 = vectornormalize(var_06); + var_09 = anglestoright(common_scripts\utility::flat_angle(vectortoangles(var_08))); + self.oldcontents = self setcontents(0); + self endon("death"); + while(var_05 < 2) + { + var_0A = 0; + if(vectordot(var_07 - self.origin,var_09) < 0) + { + var_0A = 1; + } + + var_0B = randomfloat(var_03); + if(var_0A) + { + var_0B = var_0B * -1; + } + + var_0C = self.origin + var_08 * var_02 + var_09 * var_0B; + self vehicledriveto(var_0C,30); + var_0D = randomfloatrange(0.05,0.2); + var_05 = var_05 + var_0D; + wait(var_0D); + } + + var_0E = getvehiclenode("frogger_lane_" + self.lane + "_mid","targetname"); + self vehicledriveto(var_0E.origin,70); + wait(0.1); + common_scripts\utility::delaycall(3,::setcontents,self.oldcontents); + thread maps\_vehicle::vehicle_paths(var_0E); + self startpath(var_0E); +} + +//Function Number: 134 +vehicle_crazy_steering_frogger_fail_check() +{ +} + +//Function Number: 135 +prep_cinematic(param_00) +{ + setsaveddvar("cg_cinematicFullScreen","0"); + cinematicingame(param_00,1); + level.current_cinematic = param_00; +} + +//Function Number: 136 +play_cinematic(param_00,param_01,param_02) +{ + if(isdefined(level.current_cinematic)) + { + pausecinematicingame(0); + setsaveddvar("cg_cinematicFullScreen","1"); + level.current_cinematic = undefined; + } + else + { + cinematicingame(param_00); + } + + if(!isdefined(param_02) || !param_02) + { + setsaveddvar("cg_cinematicCanPause","1"); + } + + wait(1); + while(iscinematicplaying()) + { + wait(0.05); + } + + if(!isdefined(param_02) || !param_02) + { + setsaveddvar("cg_cinematicCanPause","0"); + } +} + +//Function Number: 137 +ending_fade_out(param_00) +{ + var_01 = newhudelem(); + var_01.x = 0; + var_01.y = 0; + var_01.horzalign = "fullscreen"; + var_01.vertalign = "fullscreen"; + var_01 setshader("black",640,480); + if(isdefined(param_00) && param_00 > 0) + { + var_01.alpha = 0; + var_01 fadeovertime(param_00); + var_01.alpha = 1; + wait(param_00); + } + + wait(2); + var_01 destroy(); +} \ No newline at end of file diff --git a/AW/PC/maps/lagos_vo.gsc b/AW/PC/maps/lagos_vo.gsc new file mode 100644 index 0000000..a8760eb --- /dev/null +++ b/AW/PC/maps/lagos_vo.gsc @@ -0,0 +1,1580 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: lagos_vo.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 92 + * Decompile Time: 1397 ms + * Timestamp: 4/22/2024 2:34:09 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setup_vo(); + thread init_pcap_vo(); +} + +//Function Number: 2 +setup_vo() +{ + level.scr_radio["lag_brk_youreup"] = "lag_brk_youreup"; + level.scr_radio["lag_gdn_approachingtargetbuilding"] = "lag_gdn_approachingtargetbuilding"; + level.scr_radio["lag_gdn_hades"] = "lag_gdn_hades"; + level.scr_radio["lag_jkr_wegonnabaghim"] = "lag_jkr_wegonnabaghim"; + level.scr_radio["lag_gdn_thepmsourfirstpriority"] = "lag_gdn_thepmsourfirstpriority"; + level.scr_radio["lag_jkr_flydronelive"] = "lag_jkr_flydronelive"; + level.scr_radio["lag_brk_gotit"] = "lag_brk_gotit"; + level.scr_radio["lag_jkr_fivekva"] = "lag_jkr_fivekva"; + level.scr_radio["lag_brk_keepmoving"] = "lag_brk_keepmoving"; + level.scr_radio["lag_jkr_roomahead"] = "lag_jkr_roomahead"; + level.scr_radio["lag_brk_bingo"] = "lag_brk_bingo"; + level.scr_sound["drone_intro"]["lag_kva_ineedtwomenby"] = "lag_kva_ineedtwomenby"; + level.scr_sound["drone_intro"]["lag_kva_movemove"] = "lag_kva_movemove"; + level.scr_sound["drone_intro"]["lag_kva_coverthatdoor"] = "lag_kva_coverthatdoor"; + level.scr_sound["drone_intro"]["lag_kva_getinposition"] = "lag_kva_getinposition"; + level.scr_radio["lagos_pmr_iamtheonlyperson"] = "lagos_pmr_iamtheonlyperson"; + level.scr_radio["lagos_hade_wearemenborntodie"] = "lagos_hade_wearemenborntodie"; + level.scr_radio["lagos_pmr_wealllivebygods"] = "lagos_pmr_wealllivebygods"; + level.scr_radio["lagos_hade_youaremistaken"] = "lagos_hade_youaremistaken"; + level.scr_sound["burke"]["lag_brk_throwsspanner"] = "lag_brk_throwsspanner"; + level.scr_radio["lagos_prt_copyatlastwooneyouhave"] = "lagos_prt_copyatlastwooneyouhave"; + level.scr_sound["joker"]["lag_jkr_waitforsundown"] = "lag_jkr_waitforsundown"; + level.scr_sound["burke"]["lagos_brk_threemikestophaseline"] = "lagos_brk_threemikestophaseline"; + level.scr_sound["ajani"]["lagos_brk_ifweattacknowtheyll"] = "lagos_brk_ifweattacknowtheyll"; + level.scr_sound["burke"]["lag_brk_gametime"] = "lag_brk_gametime"; + level.scr_sound["joker"]["lag_jkr_losecherry"] = "lag_jkr_losecherry"; + level.scr_radio["lag_prpt_readyonmark"] = "lag_prpt_readyonmark"; + level.scr_sound["burke"]["lag_brk_checkpointzed"] = "lag_brk_checkpointzed"; + level.scr_radio["lag_prpt_vidlink"] = "lag_prpt_vidlink"; + level.scr_radio["lag_irs_letsshowthemwhatatlas2"] = "lag_irs_letsshowthemwhatatlas2"; + level.scr_radio["lag_irs_ahandshakewiththeprime"] = "lag_irs_ahandshakewiththeprime"; + level.scr_sound["burke"]["lag_brk_pressure"] = "lag_brk_pressure"; + level.scr_radio["lag_irns_goodluck"] = "lag_irns_goodluck"; + level.scr_sound["joker"]["lag_jkr_locked"] = "lag_jkr_locked"; + level.scr_sound["burke"]["lag_brk_feelforexo"] = "lag_brk_feelforexo"; + level.scr_sound["burke"]["lag_brk_getdoor"] = "lag_brk_getdoor"; + level.scr_sound["ajani"]["lag_ajn_mymenareinposition"] = "lag_ajn_mymenareinposition"; + level.scr_sound["burke"]["lag_gdn_noonefiresunlesswe"] = "lag_gdn_noonefiresunlesswe"; + level.scr_sound["ajani"]["lag_ajn_understood"] = "lag_ajn_understood"; + level.scr_sound["burke"]["lag_gdn_letsgo"] = "lag_gdn_letsgo"; + level.scr_sound["ajani"]["lag_ajni_uphere"] = "lag_ajni_uphere"; + level.scr_sound["nigerian_army"]["lag_finalwarning"] = "lag_finalwarning"; + level.scr_sound["nigerian_army"]["lagos_ngr_thisisthenigerianarmy"] = "lagos_ngr_thisisthenigerianarmy"; + level.scr_sound["nigerian_army"]["lagos_ngr_youwillnotbeharmed"] = "lagos_ngr_youwillnotbeharmed"; + level.scr_sound["burke"]["lag_brk_overhere"] = "lag_brk_overhere"; + level.scr_sound["burke"]["lag_brk_activatemaggrip"] = "lag_brk_activatemaggrip"; + level.scr_sound["burke"]["lag_brk_alrightajani"] = "lag_brk_alrightajani"; + level.scr_sound["ajani"]["lag_ajni_ceasefire"] = "lag_ajni_ceasefire"; + level.scr_radio["lagos_ngr_yessireveryoneholdfire"] = "lagos_ngr_yessireveryoneholdfire"; + level.scr_sound["burke"]["lag_brk_readymute"] = "lag_brk_readymute"; + level.scr_sound["burke"]["lag_brk_placecharge"] = "lag_brk_placecharge"; + level.scr_sound["burke"]["lag_brk_moveit"] = "lag_brk_moveit"; + level.scr_sound["joker"]["lag_jkr_hostageroom"] = "lag_jkr_hostageroom"; + level.scr_sound["burke"]["lag_brk_clearedperimeter"] = "lag_brk_clearedperimeter"; + level.scr_radio["lag_prt_copytwoone"] = "lag_prt_copytwoone"; + level.scr_sound["burke"]["lag_brk_move"] = "lag_brk_move"; + level.scr_sound["joker"]["lag_jkr_clear"] = "lag_jkr_clear"; + level.scr_sound["burke"]["lag_brk_takelook"] = "lag_brk_takelook"; + level.scr_sound["burke"]["lag_brk_eyesontarget"] = "lag_brk_eyesontarget"; + level.scr_sound["ajani"]["lag_ajni_whatisthis"] = "lag_ajni_whatisthis"; + level.scr_sound["ajani"]["lag_ajni_whatbethis"] = "lag_ajni_whatbethis"; + level.scr_sound["burke"]["lag_brk_harmonicpulse"] = "lag_brk_harmonicpulse"; + level.scr_sound["joker"]["lag_jkr_showtime"] = "lag_jkr_showtime"; + level.scr_sound["burke"]["lag_brk_markem"] = "lag_brk_markem"; + level.scr_sound["burke"]["lag_brk_targetconfirmed"] = "lag_brk_targetconfirmed"; + level.scr_sound["burke"]["lag_brk_gothim"] = "lag_brk_gothim"; + level.scr_sound["burke"]["lagos_brk_targetlocked"] = "lagos_brk_targetlocked"; + level.scr_sound["burke"]["lag_brk_yousurehostile"] = "lag_brk_yousurehostile"; + level.scr_sound["burke"]["lag_brk_untaghim"] = "lag_brk_untaghim"; + level.scr_sound["burke"]["lag_brk_marktargets"] = "lag_brk_marktargets"; + level.scr_sound["burke"]["lag_brk_markfuckintargets"] = "lag_brk_markfuckintargets"; + level.scr_sound["burke"]["lag_brk_executehostage"] = "lag_brk_executehostage"; + level.scr_sound["burke"]["lag_brk_takethem"] = "lag_brk_takethem"; + level.scr_sound["burke"]["lag_brk_hitem"] = "lag_brk_hitem"; + level.scr_sound["burke"]["lag_brk_hostilesonly"] = "lag_brk_hostilesonly"; + level.scr_sound["joker"]["lag_jkr_hostilestagged"] = "lag_jkr_hostilestagged"; + level.scr_sound["burke"]["lag_brk_onyourgo"] = "lag_brk_onyourgo"; + level.scr_sound["burke"]["lag_brk_payattention"] = "lag_brk_payattention"; + level.scr_sound["burke"]["lag_brk_hitemnow"] = "lag_brk_hitemnow"; + level.scr_sound["joker"]["lag_jkr_targetsdown"] = "lag_jkr_targetsdown"; + level.scr_sound["ajani"]["lag_ajni_nigerianarmy"] = "lag_ajni_nigerianarmy"; + level.scr_sound["burke"]["lag_brk_ontheground"] = "lag_brk_ontheground"; + level.scr_sound["burke"]["lag_brk_positiveid"] = "lag_brk_positiveid"; + level.scr_radio["lag_brk_taptrafficcams"] = "lag_brk_taptrafficcams"; + level.scr_sound["burke"]["lag_brk_rogerthat"] = "lag_brk_rogerthat"; + level.scr_radio["lag_pm_techsummit"] = "lag_pm_techsummit"; + level.scr_sound["burke"]["lag_gdn_mitchellsecurethepm"] = "lag_gdn_mitchellsecurethepm"; + level.scr_sound["burke"]["lag_brk_ajani"] = "lag_brk_ajani"; + level.scr_sound["ajani"]["lag_ajni_whiteboxtruck"] = "lag_ajni_whiteboxtruck"; + level.scr_sound["burke"]["lag_brk_safehere"] = "lag_brk_safehere"; + level.scr_radio["lag_pm_tysoldier"] = "lag_pm_tysoldier"; + level.scr_sound["joker"]["lag_jkr_rushhour"] = "lag_jkr_rushhour"; + level.scr_sound["ajani"]["lag_ajni_outofway"] = "lag_ajni_outofway"; + level.scr_sound["ajani"]["lag_ajni_outderoad"] = "lag_ajni_outderoad"; + level.scr_sound["joker"]["lag_jkr_rpg"] = "lag_jkr_rpg"; + level.scr_sound["street_drop_bike"]["lag_civ2_dontshoot"] = "lag_civ2_dontshoot"; + level.scr_sound["lobby_security"]["lagos_cv1_mygod"] = "lagos_cv1_mygod"; + level.scr_sound["lobby_security"]["lagos_cv1_whatsgoingon"] = "lagos_cv1_whatsgoingon"; + level.scr_sound["joker"]["lag_jkr_kvabalcony"] = "lag_jkr_kvabalcony"; + level.scr_sound["burke"]["lag_brk_threatgrenade"] = "lag_brk_threatgrenade"; + level.scr_sound["joker"]["lag_jkr_kvaright"] = "lag_jkr_kvaright"; + level.scr_sound["joker"]["lag_jkr_tangosbehind"] = "lag_jkr_tangosbehind"; + level.scr_sound["joker"]["lag_jkr_kvaatsix"] = "lag_jkr_kvaatsix"; + level.scr_sound["ajani"]["lag_ajni_snipersbalcony"] = "lag_ajni_snipersbalcony"; + level.scr_sound["burke"]["lag_brk_areaclear"] = "lag_brk_areaclear"; + level.scr_sound["burke"]["lag_brk_throughhere"] = "lag_brk_throughhere"; + level.scr_radio["lag_prpt_truckhalfmilewest"] = "lag_prpt_truckhalfmilewest"; + level.scr_sound["burke"]["lag_brk_wereonit"] = "lag_brk_wereonit"; + level.scr_sound["burke"]["lagos_brk_areaclear"] = "lagos_brk_areaclear"; + level.scr_sound["ajani"]["lagos_ajn_throughthegatehere"] = "lagos_ajn_throughthegatehere"; + level.scr_sound["joker"]["lag_jkr_ivegotit"] = "lag_jkr_ivegotit"; + level.scr_sound["burke"]["lag_brk_thisway"] = "lag_brk_thisway"; + level.scr_sound["burke"]["lag_brk_hookright"] = "lag_brk_hookright"; + level.scr_sound["burke"]["lag_brk_upstairs"] = "lag_brk_upstairs"; + level.scr_sound["burke"]["lag_brk_throughhere2"] = "lag_brk_throughhere2"; + level.scr_sound["ajani"]["lag_ajn_independenceroadisthroughhere"] = "lag_ajn_independenceroadisthroughhere"; + level.scr_sound["joker"]["lag_jkr_technical"] = "lag_jkr_technical"; + level.scr_sound["burke"]["lag_brk_inside"] = "lag_brk_inside"; + level.scr_sound["joker"]["lag_jkr_turretshielded"] = "lag_jkr_turretshielded"; + level.scr_sound["burke"]["lag_brk_flanktechnical"] = "lag_brk_flanktechnical"; + level.scr_sound["joker"]["lag_jkr_getbehind"] = "lag_jkr_getbehind"; + level.scr_sound["burke"]["lag_brk_decentwork"] = "lag_brk_decentwork"; + level.scr_radio["lag_prpt_libertyhwy"] = "lag_prpt_libertyhwy"; + level.scr_sound["ajani"]["lag_ajni_wereclosehere"] = "lag_ajni_wereclosehere"; + level.scr_sound["burke"]["lag_brk_getacross"] = "lag_brk_getacross"; + level.scr_sound["burke"]["lag_brk_watchyourself"] = "lag_brk_watchyourself"; + level.scr_sound["joker"]["lag_jkr_roadkill"] = "lag_jkr_roadkill"; + level.scr_sound["joker"]["lagos_jkr_dontwantroadkillon"] = "lagos_jkr_dontwantroadkillon"; + level.scr_radio["lagos_prt_targettruckisapproachingyour"] = "lagos_prt_targettruckisapproachingyour"; + level.scr_sound["burke"]["lag_brk_copythat"] = "lag_brk_copythat"; + level.scr_sound["burke"]["lag_brk_onme"] = "lag_brk_onme"; + level.scr_sound["burke"]["lag_brk_mitchellhere"] = "lag_brk_mitchellhere"; + level.scr_radio["lag_prpt_eyesontruck"] = "lag_prpt_eyesontruck"; + level.scr_sound["burke"]["lag_brk_iseeit"] = "lag_brk_iseeit"; + level.scr_sound["burke"]["lag_brk_nocleanshot"] = "lag_brk_nocleanshot"; + level.scr_sound["burke"]["lag_brk_fuckit"] = "lag_brk_fuckit"; + level.scr_sound["burke"]["lag_brk_jump"] = "lag_brk_jump"; + level.scr_radio["lag_jkr_whereyougo"] = "lag_jkr_whereyougo"; + level.scr_sound["burke"]["lag_brk_followus"] = "lag_brk_followus"; + level.scr_radio["lag_jkr_rogerthat"] = "lag_jkr_rogerthat"; + level.scr_sound["burke"]["lag_brk_maggripbalance"] = "lag_brk_maggripbalance"; + level.scr_sound["burke"]["lag_brk_usemaggrip"] = "lag_brk_usemaggrip"; + level.scr_sound["burke"]["lag_brk_stayclose"] = "lag_brk_stayclose"; + level.scr_sound["burke"]["lag_brk_kvaonbus"] = "lag_brk_kvaonbus"; + level.scr_sound["burke"]["lag_brk_takeoutsuv"] = "lag_brk_takeoutsuv"; + level.scr_sound["burke"]["lag_brk_readyjump"] = "lag_brk_readyjump"; + level.scr_sound["burke"]["lag_brk_go"] = "lag_brk_go"; + level.scr_sound["burke"]["lag_brk_jumpnow"] = "lag_brk_jumpnow"; + level.scr_sound["burke"]["lag_brk_thereitis"] = "lag_brk_thereitis"; + level.scr_sound["burke"]["lag_brk_mitchelljump"] = "lag_brk_mitchelljump"; + level.scr_sound["burke"]["lagos_brk_nodozing"] = "lagos_brk_nodozing"; + level.scr_sound["joker"]["lagos_jkr_pleasetellmehesfuckin"] = "lagos_jkr_pleasetellmehesfuckin"; + level.scr_sound["burke"]["lagos_brk_stopstressinghesbreathingbarely"] = "lagos_brk_stopstressinghesbreathingbarely"; + level.scr_sound["joker"]["lagos_jkr_thehelltheywantwith"] = "lagos_jkr_thehelltheywantwith"; + level.scr_sound["burke"]["lagos_brk_dontknowdontcare"] = "lagos_brk_dontknowdontcare"; + level.scr_radio["lagos_ajn_youdeliveredexactlyaspromised"] = "lagos_ajn_youdeliveredexactlyaspromised"; + level.scr_sound["burke"]["lagos_brk_lookstojokerandmitchell"] = "lagos_brk_lookstojokerandmitchell"; + level.scr_sound["burke"]["lag_gdn_fuckme"] = "lag_gdn_fuckme"; + level.scr_radio["lag_gdn_comeonmitchell"] = "lag_gdn_comeonmitchell"; + level.scr_sound["burke"]["lag_gdn_movearoundthatwindow2"] = "lag_gdn_movearoundthatwindow2"; + level.scr_sound["burke"]["lag_gdn_markthetargets"] = "lag_gdn_markthetargets"; + level.scr_sound["burke"]["lag_gdn_welltakethemdowntogether"] = "lag_gdn_welltakethemdowntogether"; + level.scr_sound["joker"]["lag_jkr_lookslikehadesrabbitted"] = "lag_jkr_lookslikehadesrabbitted"; + level.scr_sound["burke"]["lag_gdn_notourproblem"] = "lag_gdn_notourproblem"; + level.scr_sound["burke"]["lag_gdn_mitchellfreetheprimeminister"] = "lag_gdn_mitchellfreetheprimeminister"; + level.scr_sound["burke"]["lag_gdn_whatareyouwaitingfor"] = "lag_gdn_whatareyouwaitingfor"; + level.scr_sound["burke"]["lag_gdn_tangowithrpgontop"] = "lag_gdn_tangowithrpgontop"; + level.scr_sound["burke"]["lag_gdn_theyreusingmmgsstayclear"] = "lag_gdn_theyreusingmmgsstayclear"; + level.scr_sound["burke"]["lag_gdn_useyouroverdrive"] = "lag_gdn_useyouroverdrive"; + level.scr_sound["joker"]["lag_jkr_morecominginbythe"] = "lag_jkr_morecominginbythe"; + level.scr_sound["joker"]["lag_gdr_enemiesbytheshops"] = "lag_gdr_enemiesbytheshops"; + level.scr_sound["joker"]["lag_jkr_boooom"] = "lag_jkr_boooom"; + level.scr_sound["ajani"]["lag_ajn_wecantakeashortcut2"] = "lag_ajn_wecantakeashortcut2"; + level.scr_sound["burke"]["lag_gdn_needtogetoverthis"] = "lag_gdn_needtogetoverthis"; + level.scr_sound["burke"]["lag_gdn_getacrossthestreetmitchell2"] = "lag_gdn_getacrossthestreetmitchell2"; + level.scr_sound["burke"]["lag_gdn_crossthestreet2"] = "lag_gdn_crossthestreet2"; + level.scr_sound["burke"]["lag_gdn_clearcrossover"] = "lag_gdn_clearcrossover"; + level.scr_sound["burke"]["lag_gdn_mitchellgetoverherenow"] = "lag_gdn_mitchellgetoverherenow"; + level.scr_sound["burke"]["lag_gdn_enemychoppertakeitdown2"] = "lag_gdn_enemychoppertakeitdown2"; + level.scr_sound["burke"]["lag_gdn_holdon"] = "lag_gdn_holdon"; + level.scr_sound["burke"]["lag_gdn_mitchellstayonmission2"] = "lag_gdn_mitchellstayonmission2"; + level.scr_sound["burke"]["lag_gdn_wherethehellareyou2"] = "lag_gdn_wherethehellareyou2"; + level.scr_radio["lag_gdn_activatethedronemitchell"] = "lag_gdn_activatethedronemitchell"; + level.scr_sound["burke"]["lag_gdn_startclimbingmitchell"] = "lag_gdn_startclimbingmitchell"; + level.scr_sound["burke"]["lag_brk_moveit"] = "lag_brk_moveit"; +} + +//Function Number: 3 +init_dialogue_flags() +{ +} + +//Function Number: 4 +start_dialogue_threads() +{ + switch(level.start_point) + { + case "outro": + case "flank alley": + case "alley 2": + case "oncoming alley": + case "alley 1": + case "default": + case "van_takedown": + case "traffic_traverse": + case "traffic_frogger": + case "government_building": + case "intro_squad": + case "intro_drone": + case "roundabout": + break; + + default: + break; + } +} + +//Function Number: 5 +pcap_drone_opening() +{ +} + +//Function Number: 6 +pcap_squad_briefing() +{ +} + +//Function Number: 7 +pcap_pm_rescue() +{ +} + +//Function Number: 8 +pcap_shore_outro() +{ +} + +//Function Number: 9 +fly_drone_intro_dialogue() +{ + radio_dialogue_queue_global("lag_brk_youreup"); + wait(1); + radio_dialogue_queue_global("lag_jkr_flydronelive"); + level notify("DroneCameraAudioStart"); + thread fly_drone_nag(); + common_scripts\utility::flag_wait("flag_player_input_for_drone_start"); + thread fly_drone_intro_kva_dialogue(); + radio_dialogue_queue_global("lag_brk_gotit"); + wait(4); + radio_dialogue_queue_global("lag_gdn_approachingtargetbuilding"); + wait(8); + radio_dialogue_queue_global("lag_jkr_fivekva"); + wait(1); + radio_dialogue_queue_global("lag_brk_keepmoving"); + wait(4); + radio_dialogue_queue_global("lag_jkr_roomahead"); + wait(6); + soundscripts\_snd::snd_message("lag_intro_vo_overlap_mix"); + radio_dialogue_queue_global("lag_brk_bingo"); + radio_dialogue_queue_global("lag_gdn_hades"); + radio_dialogue_queue_global("lag_jkr_wegonnabaghim"); + radio_dialogue_queue_global("lag_gdn_thepmsourfirstpriority"); + level notify("lag_intro_vo_overlap_mix_done"); +} + +//Function Number: 10 +fly_drone_nag() +{ + var_00 = 0; + var_01 = 2; + while(!common_scripts\utility::flag("flag_player_input_for_drone_start")) + { + wait(randomintrange(8,10)); + switch(var_00) + { + case 0: + if(!common_scripts\utility::flag("flag_player_input_for_drone_start")) + { + radio_dialogue_queue_global("lag_gdn_activatethedronemitchell"); + } + break; + + case 1: + if(!common_scripts\utility::flag("flag_player_input_for_drone_start")) + { + radio_dialogue_queue_global("lag_gdn_comeonmitchell"); + } + break; + } + + var_00++; + if(var_00 >= var_01) + { + var_00 = 0; + } + } +} + +//Function Number: 11 +fly_drone_intro_kva_dialogue() +{ + wait(10); + level.kva_opening_vo dialogue_queue_global("lag_kva_ineedtwomenby"); + wait(0.5); + level.kva_opening_vo dialogue_queue_global("lag_kva_movemove"); + wait(4); + level.kva_opening_vo dialogue_queue_global("lag_kva_coverthatdoor"); + wait(2); + level.kva_opening_vo dialogue_queue_global("lag_kva_getinposition"); +} + +//Function Number: 12 +squad_move_out_dialogue() +{ + thread play_irons_pip(); + wait(1); + radio_dialogue_queue_global("lag_prpt_vidlink"); + thread exo_door_dialogue(); +} + +//Function Number: 13 +play_irons_pip() +{ + lagos_irons_speech_bink(); + thread maps\_shg_utility::play_videolog("lagos_videolog_02","screen_add"); + wait(24); + common_scripts\utility::flag_set("flag_irons_videolog_complete"); +} + +//Function Number: 14 +lagos_irons_speech_bink() +{ + level.player playscheduledcinematicsound(126,"lag_irs_letsshowthemwhatatlas2"); + level.player playscheduledcinematicsound(345,"lag_irs_ahandshakewiththeprime"); + level.burke playscheduledcinematicsound(555,"lag_brk_pressure"); + level.player playscheduledcinematicsound(625,"lag_irns_goodluck"); +} + +//Function Number: 15 +play_hostage_vehicle_pip() +{ + maps\_shg_utility::play_videolog("lagos_videolog_01","screen_add",undefined,undefined,undefined,undefined,undefined,0.5); +} + +//Function Number: 16 +exo_door_dialogue() +{ + common_scripts\utility::flag_wait("flag_irons_videolog_complete"); + common_scripts\utility::flag_wait("exo_door_trigger"); + level.joker dialogue_queue_global("lag_jkr_locked"); + wait(0.33); + level.burke dialogue_queue_global("lag_brk_feelforexo"); + wait(5); + while(!common_scripts\utility::flag("done_exo_door_kick")) + { + if(!common_scripts\utility::flag("done_exo_door_kick")) + { + level.burke dialogue_queue_global("lag_brk_getdoor"); + continue; + } + + return; + wait(8); + } +} + +//Function Number: 17 +government_building_reveal_dialogue() +{ + level.nigerian_bullhorn dialogue_queue_global("lagos_ngr_thisisthenigerianarmy"); + level.ajani dialogue_queue_global("lag_ajn_mymenareinposition"); + wait(0.33); + level.burke dialogue_queue_global("lag_gdn_noonefiresunlesswe"); + wait(0.33); + level.ajani dialogue_queue_global("lag_ajn_understood"); + wait(0.33); + level.burke dialogue_queue_global("lag_gdn_letsgo"); + wait(1); + level.ajani dialogue_queue_global("lag_ajni_uphere"); + wait(2); + thread government_building_rail_walk_dialogue(); + wait(10); + while(!common_scripts\utility::flag("done_rail_walk_start")) + { + if(!common_scripts\utility::flag("done_rail_walk_start")) + { + level.burke dialogue_queue_global("lag_brk_overhere"); + continue; + } + + return; + wait(10); + } +} + +//Function Number: 18 +government_building_rail_walk_dialogue() +{ + for(var_00 = 0;!common_scripts\utility::flag("vo_government_building_mag_exo_dialogue");var_00++) + { + if(var_00 == 0) + { + level.nigerian_bullhorn dialogue_queue_global("lagos_ngr_youwillnotbeharmed"); + wait(6); + } + else if(var_00 == 1) + { + level.nigerian_bullhorn dialogue_queue_global("lag_finalwarning"); + wait(6); + } + else if(var_00 == 2) + { + level.nigerian_bullhorn dialogue_queue_global("lagos_ngr_thisisthenigerianarmy"); + wait(6); + } + + if(var_00 >= 2) + { + var_00 = 0; + continue; + } + } +} + +//Function Number: 19 +government_building_mag_exo_dialogue() +{ + wait(1.33); + level.burke dialogue_queue_global("lag_brk_activatemaggrip"); + thread government_building_mag_exo_dialogue_nag(); + common_scripts\utility::flag_wait("vo_government_building_mag_exo_past_window"); + level.burke dialogue_queue_global("lag_gdn_movearoundthatwindow2"); +} + +//Function Number: 20 +government_building_mag_exo_dialogue_nag() +{ + var_00 = 0; + var_01 = 3; + while(!common_scripts\utility::flag("flag_start_mag_climb")) + { + wait(randomintrange(8,10)); + switch(var_00) + { + case 0: + if(!common_scripts\utility::flag("flag_start_mag_climb")) + { + level.burke dialogue_queue_global("lag_gdn_startclimbingmitchell"); + } + break; + + case 1: + if(!common_scripts\utility::flag("flag_start_mag_climb")) + { + level.burke dialogue_queue_global("lag_brk_moveit"); + } + break; + + case 2: + if(!common_scripts\utility::flag("flag_start_mag_climb")) + { + level.burke dialogue_queue_global("lag_brk_payattention"); + } + break; + } + + var_00++; + if(var_00 >= var_01) + { + var_00 = 0; + } + } +} + +//Function Number: 21 +notetrack_vo_exo_climb(param_00) +{ + common_scripts\utility::flag_set("flag_exo_climb_started"); +} + +//Function Number: 22 +government_building_roof_breach_dialogue() +{ + wait(0.85); + level notify("cease_fire_init"); + wait(0.15); + level notify("gov_breach_init"); + wait(7); + level.burke dialogue_queue_global("lag_brk_readymute"); + level notify("roof_breach_plant"); + thread government_building_roof_breach_dialogue_nag(); +} + +//Function Number: 23 +government_building_roof_breach_dialogue_nag() +{ + var_00 = 0; + var_01 = 3; + while(!common_scripts\utility::flag("done_roof_breach_start")) + { + wait(randomintrange(8,10)); + switch(var_00) + { + case 0: + if(!common_scripts\utility::flag("done_roof_breach_start")) + { + level.burke dialogue_queue_global("lag_brk_placecharge"); + } + break; + + case 1: + if(!common_scripts\utility::flag("done_roof_breach_start")) + { + level.burke dialogue_queue_global("lag_brk_moveit"); + } + break; + + case 2: + if(!common_scripts\utility::flag("done_roof_breach_start")) + { + level.burke dialogue_queue_global("lag_brk_payattention"); + } + break; + } + + var_00++; + if(var_00 >= var_01) + { + var_00 = 0; + } + } +} + +//Function Number: 24 +government_building_interior_dialogue() +{ + wait(3); + level.joker dialogue_queue_global("lag_jkr_hostageroom"); + wait(0.33); + level.burke dialogue_queue_global("lag_brk_clearedperimeter"); + wait(0.33); + level maps\_utility::dialogue_queue("lag_prt_copytwoone"); + wait(0.33); + level.burke dialogue_queue_global("lag_brk_move"); + wait(2); + level.joker dialogue_queue_global("lag_jkr_clear"); + wait(0.33); + harmonic_breach_prep_dialogue(); +} + +//Function Number: 25 +harmonic_breach_prep_dialogue() +{ + level.burke dialogue_queue_global("lag_brk_takelook"); + thread harmonic_breach_prep_dialogue_nag(); +} + +//Function Number: 26 +harmonic_breach_prep_dialogue_nag() +{ + var_00 = 0; + var_01 = 3; + while(!common_scripts\utility::flag("done_gov_building_h_breach_start")) + { + wait(randomintrange(9,15)); + switch(var_00) + { + case 0: + if(!common_scripts\utility::flag("done_gov_building_h_breach_start")) + { + level.burke dialogue_queue_global("lag_brk_eyesontarget"); + } + break; + + case 1: + if(!common_scripts\utility::flag("done_gov_building_h_breach_start")) + { + level.burke dialogue_queue_global("lag_brk_moveit"); + } + break; + + case 2: + if(!common_scripts\utility::flag("done_gov_building_h_breach_start")) + { + level.burke dialogue_queue_global("lag_brk_payattention"); + } + break; + } + + var_00++; + if(var_00 >= var_01) + { + var_00 = 0; + } + } +} + +//Function Number: 27 +harmonic_breach_start_dialogue() +{ + wait(6.5); + level.ajani dialogue_queue_global("lag_ajni_whatbethis"); + wait(0.33); + level.burke dialogue_queue_global("lag_brk_harmonicpulse"); + wait(1.6); + level.joker dialogue_queue_global("lag_jkr_showtime"); + wait(0.33); + level.burke dialogue_queue_global("lag_brk_markem"); + wait(0.33); + level.burke dialogue_queue_global("lag_gdn_welltakethemdowntogether"); + thread harmonic_breach_confirmation_dialogue(); + thread harmonic_breach_correction_dialogue(); + thread harmonic_breach_nag_dialogue(); +} + +//Function Number: 28 +harmonic_breach_nag_timer() +{ + level endon("BreachComplete"); + level endon("execution_start"); + for(;;) + { + var_00 = level common_scripts\utility::waittill_notify_or_timeout_return("check_target_confirm",6); + if(isdefined(var_00) && issubstr(var_00,"timeout")) + { + level notify("nag_h_breach"); + } + } +} + +//Function Number: 29 +harmonic_breach_nag_dialogue() +{ + level endon("BreachComplete"); + level endon("execution_start"); + var_00 = 0; + var_01 = 3; + thread harmonic_breach_nag_timer(); + for(;;) + { + level waittill("nag_h_breach"); + switch(var_00) + { + case 0: + if(!common_scripts\utility::flag("flag_h_breach_complete")) + { + level.burke dialogue_queue_global("lag_brk_marktargets"); + } + break; + + case 1: + if(!common_scripts\utility::flag("flag_h_breach_complete")) + { + level.burke dialogue_queue_global("lag_brk_markfuckintargets"); + } + break; + + case 2: + if(!common_scripts\utility::flag("flag_h_breach_complete")) + { + level.burke dialogue_queue_global("lag_brk_payattention"); + } + break; + } + + var_00++; + if(var_00 >= var_01) + { + var_00 = 1; + } + } +} + +//Function Number: 30 +harmonic_breach_correction_dialogue() +{ + level endon("BreachComplete"); + level endon("execution_start"); + var_00 = 0; + var_01 = 3; + for(;;) + { + level waittill("check_target_correction"); + switch(var_00) + { + case 0: + if(!common_scripts\utility::flag("flag_h_breach_complete")) + { + level.burke dialogue_queue_global("lag_brk_yousurehostile"); + } + break; + + case 1: + if(!common_scripts\utility::flag("flag_h_breach_complete")) + { + level.burke dialogue_queue_global("lag_brk_untaghim"); + } + break; + + case 2: + if(!common_scripts\utility::flag("flag_h_breach_complete")) + { + level.burke dialogue_queue_global("lag_brk_hostilesonly"); + } + break; + } + + var_00++; + if(var_00 >= var_01) + { + var_00 = 0; + } + } +} + +//Function Number: 31 +harmonic_breach_confirmation_dialogue() +{ + level endon("BreachComplete"); + level endon("execution_start"); + var_00 = 0; + var_01 = 2; + for(;;) + { + level waittill("check_target_confirm"); + switch(var_00) + { + case 0: + if(!common_scripts\utility::flag("flag_h_breach_complete")) + { + level.burke dialogue_queue_global("lag_brk_targetconfirmed"); + } + break; + + case 1: + if(!common_scripts\utility::flag("flag_h_breach_complete")) + { + level.burke dialogue_queue_global("lag_brk_gothim"); + } + break; + } + + var_00++; + if(var_00 >= var_01) + { + var_00 = 0; + } + } +} + +//Function Number: 32 +harmonic_breach_shoot_now_dialogue() +{ + level endon("BreachComplete"); + var_00 = 0; + var_01 = 3; + wait(1); + for(;;) + { + switch(var_00) + { + case 0: + if(!common_scripts\utility::flag("flag_h_breach_complete")) + { + level.joker dialogue_queue_global("lag_jkr_hostilestagged"); + } + break; + + case 1: + if(!common_scripts\utility::flag("flag_h_breach_complete")) + { + level.burke dialogue_queue_global("lag_brk_onyourgo"); + } + break; + + case 2: + if(!common_scripts\utility::flag("flag_h_breach_complete")) + { + level.burke dialogue_queue_global("lag_brk_takethem"); + } + break; + + case 3: + if(!common_scripts\utility::flag("flag_h_breach_complete")) + { + level.burke dialogue_queue_global("lag_brk_hitemnow"); + } + break; + } + + var_00++; + if(var_00 >= var_01) + { + var_00 = 0; + } + + wait(2); + } +} + +//Function Number: 33 +harmonic_breach_timer_warning_dialogue() +{ + level waittill("execution_start"); + level.burke dialogue_queue_global("lag_brk_executehostage"); +} + +//Function Number: 34 +harmonic_breach_secure_pm() +{ + level.joker dialogue_queue_global("lag_jkr_lookslikehadesrabbitted"); + wait(0.33); + level.burke dialogue_queue_global("lag_gdn_notourproblem"); + wait(0.5); + level.burke dialogue_queue_global("lag_gdn_mitchellsecurethepm"); + level notify("scan_idle_go"); + level endon("player_end_scan"); + var_00 = 0; + var_01 = 3; + for(;;) + { + wait(randomintrange(7,10)); + switch(var_00) + { + case 0: + level.burke dialogue_queue_global("lag_gdn_mitchellfreetheprimeminister"); + break; + + case 1: + level.burke dialogue_queue_global("lag_gdn_mitchellsecurethepm"); + break; + + case 2: + level.burke dialogue_queue_global("lag_gdn_whatareyouwaitingfor"); + break; + } + + var_00++; + if(var_00 >= var_01) + { + var_00 = 0; + } + } +} + +//Function Number: 35 +harmonic_breach_complete_dialogue() +{ + wait(2); + level.joker dialogue_queue_global("lag_jkr_targetsdown"); +} + +//Function Number: 36 +leaving_gov_building() +{ + common_scripts\utility::flag_wait("flag_leaving_gov_building"); + wait(1); + thread play_hostage_vehicle_pip(); + wait(4); + radio_dialogue_queue_global("lag_brk_taptrafficcams"); + wait(0.33); + level.burke dialogue_queue_global("lag_brk_rogerthat"); +} + +//Function Number: 37 +approaching_roundabout_dialogue() +{ + common_scripts\utility::flag_wait("flag_roundabout_player_move_1"); + wait(1); + level.civilian_roundabout_vo_1 dialogue_queue_global("lagos_cv1_mygod"); + wait(2); + level.civilian_roundabout_vo_2 dialogue_queue_global("lagos_cv1_whatsgoingon"); + common_scripts\utility::flag_wait("flag_roundabout_move_3"); + level.joker dialogue_queue_global("lag_jkr_rushhour"); + wait(1); + level.ajani dialogue_queue_global("lag_ajni_outofway"); + wait(4); + level.ajani dialogue_queue_global("lag_ajni_outderoad"); +} + +//Function Number: 38 +roundabout_combat_dialogue() +{ + common_scripts\utility::flag_wait("roundabout_RPG_start"); + wait(0.25); + level.joker dialogue_queue_global("lag_jkr_rpg"); + level notify("roundabout_lag_jkr_rpg"); + wait(1.75); + if(isdefined(level.civilian_roundabout_vo_3) && isalive(level.civilian_roundabout_vo_3)) + { + level.civilian_roundabout_vo_3 dialogue_queue_global("lag_civ2_dontshoot"); + } + + wait(2); + level.burke dialogue_queue_global("lag_gdn_tangowithrpgontop"); + wait(1); + level.burke dialogue_queue_global("lag_brk_threatgrenade"); + common_scripts\utility::flag_wait("flag_roundabout_magic_MWG"); + wait(1); + level.burke dialogue_queue_global("lag_gdn_theyreusingmmgsstayclear"); + common_scripts\utility::flag_wait("roundabout_wave_1A_complete"); + wait(1.25); + level.ajani dialogue_queue_global("lag_ajni_snipersbalcony"); + wait(1); + level.burke dialogue_queue_global("lag_gdn_useyouroverdrive"); + common_scripts\utility::flag_wait("roundabout_wave_2_all_spawned"); + wait(4); + level.joker dialogue_queue_global("lag_jkr_morecominginbythe"); + common_scripts\utility::flag_wait("roundabout_wave_2B_complete"); + wait(1.5); + level.joker dialogue_queue_global("lag_gdr_enemiesbytheshops"); + common_scripts\utility::flag_wait("roundabout_wave_3_complete"); + wait(5); + level.joker dialogue_queue_global("lag_jkr_boooom"); + level.burke dialogue_queue_global("lag_brk_areaclear"); + wait(1); + level.ajani dialogue_queue_global("lag_ajn_wecantakeashortcut2"); + wait(3); + level.burke dialogue_queue_global("lag_brk_throughhere"); +} + +//Function Number: 39 +alley_a_dialogue() +{ + radio_dialogue_queue_global("lag_prpt_truckhalfmilewest"); + wait(0.33); + level.burke dialogue_queue_global("lag_brk_wereonit"); + common_scripts\utility::flag_wait("roundabout_wave_2_all_spawned"); +} + +//Function Number: 40 +alley_1_complete_dialogue() +{ + wait(2); + level.burke dialogue_queue_global("lagos_brk_areaclear"); + wait(0.5); + level.ajani dialogue_queue_global("lagos_ajn_throughthegatehere"); + wait(0.33); + level.joker dialogue_queue_global("lag_jkr_ivegotit"); +} + +//Function Number: 41 +alley_oncoming_dialogue() +{ + level.burke dialogue_queue_global("lag_brk_thisway"); + level waittill("oncoming_truck_go"); + wait(0.66); + level.burke dialogue_queue_global("lag_brk_hookright"); + wait(3.5); + level.burke dialogue_queue_global("lag_brk_upstairs"); + wait(1); +} + +//Function Number: 42 +alley_b_dialogue() +{ + wait(6); + level.ajani dialogue_queue_global("lag_ajn_independenceroadisthroughhere"); +} + +//Function Number: 43 +alley_flank_dialogue() +{ + wait(1.5); + level.joker dialogue_queue_global("lag_jkr_technical"); + wait(0.33); + level.burke dialogue_queue_global("lag_brk_inside"); + wait(3); + level.joker dialogue_queue_global("lag_jkr_turretshielded"); + wait(3); + level.burke dialogue_queue_global("lag_brk_flanktechnical"); + thread alley_flank_dialogue_nag(); + common_scripts\utility::flag_wait("flank_alley_complete"); + wait(1); + level.burke dialogue_queue_global("lag_brk_decentwork"); + wait(1); + thread highway_frogger_dialogue(); +} + +//Function Number: 44 +alley_flank_dialogue_nag() +{ + wait(8); + while(!common_scripts\utility::flag("done_flank_alley_flank_start")) + { + if(!common_scripts\utility::flag("done_flank_alley_flank_start")) + { + level.joker dialogue_queue_global("lag_jkr_getbehind"); + continue; + } + + return; + wait(20); + } +} + +//Function Number: 45 +highway_frogger_dialogue() +{ + radio_dialogue_queue_global("lag_prpt_libertyhwy"); + wait(0.33); + level.ajani dialogue_queue_global("lag_ajni_wereclosehere"); + wait(0.33); + level.burke dialogue_queue_global("lag_gdn_needtogetoverthis"); + common_scripts\utility::flag_wait("trigger_start_frogger_kva"); + wait(1); + level.burke dialogue_queue_global("lag_brk_getacross"); + thread highway_frogger_middle_ai_check(); + thread highway_frogger_middle_nag(); + common_scripts\utility::flag_wait("trigger_start_frogger_kva_B"); + level.burke dialogue_queue_global("lag_brk_watchyourself"); + thread highway_frogger_end_nag(); + common_scripts\utility::flag_wait("frogger_flag_player_end"); + wait(4); + level.joker dialogue_queue_global("lag_jkr_roadkill"); +} + +//Function Number: 46 +highway_frogger_middle_ai_check() +{ + common_scripts\utility::flag_wait("flag_frogger_middle_spawned"); + while(level.frogger_middle_guys.size > 0) + { + level.frogger_middle_guys = maps\_utility::array_removedead_or_dying(level.frogger_middle_guys); + wait 0.05; + } + + wait(1); + if(!common_scripts\utility::flag("frogger_flag_player_middle")) + { + level.burke dialogue_queue_global("lag_gdn_clearcrossover"); + } +} + +//Function Number: 47 +highway_frogger_middle_nag() +{ + var_00 = 0; + var_01 = 2; + while(!common_scripts\utility::flag("frogger_flag_player_middle")) + { + wait(randomintrange(8,12)); + switch(var_00) + { + case 0: + if(!common_scripts\utility::flag("frogger_flag_player_middle")) + { + level.burke dialogue_queue_global("lag_gdn_getacrossthestreetmitchell2"); + } + break; + + case 1: + if(!common_scripts\utility::flag("frogger_flag_player_middle")) + { + level.burke dialogue_queue_global("lag_gdn_crossthestreet2"); + } + break; + } + + var_00++; + if(var_00 >= var_01) + { + var_00 = 0; + } + } +} + +//Function Number: 48 +highway_frogger_end_nag() +{ + var_00 = 0; + var_01 = 2; + while(!common_scripts\utility::flag("frogger_flag_player_end")) + { + wait(randomintrange(10,15)); + switch(var_00) + { + case 0: + if(!common_scripts\utility::flag("frogger_flag_player_end")) + { + level.burke dialogue_queue_global("lag_gdn_getacrossthestreetmitchell2"); + } + break; + + case 1: + if(!common_scripts\utility::flag("frogger_flag_player_end")) + { + level.burke dialogue_queue_global("lag_gdn_crossthestreet2"); + } + break; + } + + var_00++; + if(var_00 >= var_01) + { + var_00 = 0; + } + } +} + +//Function Number: 49 +highway_ledge_jump_prep_dialogue() +{ + level maps\_utility::dialogue_queue("lagos_prt_targettruckisapproachingyour"); + wait(0.33); + level.burke dialogue_queue_global("lag_brk_copythat"); + wait(2); + level.burke dialogue_queue_global("lag_brk_onme"); + soundscripts\_snd::snd_message("lag_brk_onme_done"); + var_00 = 0; + var_01 = 2; + while(!common_scripts\utility::flag("done_traffic_ledge_jump_start")) + { + wait(randomintrange(5,11)); + switch(var_00) + { + case 0: + if(!common_scripts\utility::flag("done_traffic_ledge_jump_start")) + { + level.burke dialogue_queue_global("lag_brk_mitchellhere"); + } + break; + + case 1: + if(!common_scripts\utility::flag("done_traffic_ledge_jump_start")) + { + level.burke dialogue_queue_global("lag_gdn_mitchellgetoverherenow"); + } + break; + } + + var_00++; + if(var_00 >= var_01) + { + var_00 = 0; + } + } +} + +//Function Number: 50 +highway_ledge_jump_go_dialogue() +{ +} + +//Function Number: 51 +traverse_start_you_should_have_eyes(param_00) +{ + radio_dialogue_queue_global("lag_prpt_eyesontruck"); +} + +//Function Number: 52 +traverse_start_i_see_it(param_00) +{ +} + +//Function Number: 53 +traverse_start_damn_no_clear_shot(param_00) +{ +} + +//Function Number: 54 +traverse_start_fuck_it(param_00) +{ +} + +//Function Number: 55 +highway_traffic_traverse_dialogue() +{ + radio_dialogue_queue_global("lag_jkr_whereyougo"); + wait(0.33); + level.burke dialogue_queue_global("lag_brk_followus"); + wait(0.33); + radio_dialogue_queue_global("lag_jkr_rogerthat"); +} + +//Function Number: 56 +highway_traffic_jump_2_dialogue() +{ + if(!common_scripts\utility::flag("flag_bus_traverse_2")) + { + level.burke dialogue_queue_global("lag_brk_readyjump"); + } + + wait(6.5); + highway_traffic_traverse_dialogue(); +} + +//Function Number: 57 +highway_traffic_jump_3_dialogue() +{ + if(!common_scripts\utility::flag("flag_bus_traverse_3")) + { + level.burke dialogue_queue_global("lag_brk_stayclose"); + } + + soundscripts\_snd::snd_message("lag_brk_stayclose_done"); +} + +//Function Number: 58 +highway_traffic_jump_4_dialogue() +{ + if(!common_scripts\utility::flag("flag_bus_traverse_4")) + { + level.burke dialogue_queue_global("lag_brk_go"); + } +} + +//Function Number: 59 +highway_traffic_jump_5_dialogue() +{ + if(!common_scripts\utility::flag("flag_bus_traverse_5_start_takedown")) + { + level.burke dialogue_queue_global("lag_brk_jumpnow"); + } + + wait(0.33); + level.burke dialogue_queue_global("lag_brk_thereitis"); +} + +//Function Number: 60 +highway_traffic_takedown_dialogue() +{ + if(!common_scripts\utility::flag("takedown_playerstart")) + { + level.burke dialogue_queue_global("lag_brk_mitchelljump"); + } +} + +//Function Number: 61 +highway_traffic_first_suvs() +{ + wait(4); + level.burke dialogue_queue_global("lag_brk_takeoutsuv"); +} + +//Function Number: 62 +highway_traffic_middle_takedown_dialogue() +{ + wait(4); + soundscripts\_snd::snd_message("lag_brk_takeoutsuv_done"); +} + +//Function Number: 63 +highway_traffic_helo_callout() +{ + wait(2); + level.burke dialogue_queue_global("lag_gdn_enemychoppertakeitdown2"); +} + +//Function Number: 64 +highway_traffic_final_takedown_hold_on() +{ + wait(1); + level.burke dialogue_queue_global("lag_gdn_holdon"); +} + +//Function Number: 65 +level_bounds_nag_vo(param_00) +{ + switch(param_00) + { + case 0: + level.burke dialogue_queue_global("lag_gdn_mitchellstayonmission2"); + break; + + case 1: + level.burke dialogue_queue_global("lag_gdn_wherethehellareyou2"); + break; + + case 2: + level.burke dialogue_queue_global("lag_brk_payattention"); + break; + } +} + +//Function Number: 66 +dialogue_queue_global(param_00,param_01) +{ + if(isdefined(level.scr_sound[self.animname][param_00]) && soundexists(level.scr_sound[self.animname][param_00])) + { + global_dialogue_internal(param_00,self,param_01); + } +} + +//Function Number: 67 +radio_dialogue_queue_global(param_00,param_01) +{ + if(isdefined(level.scr_radio[param_00]) && soundexists(level.scr_radio[param_00])) + { + global_dialogue_internal(param_00,undefined,param_01); + } +} + +//Function Number: 68 +global_dialogue_internal(param_00,param_01,param_02) +{ + if(!isdefined(level.global_dialogue_function_stack)) + { + level.global_dialogue_function_stack = spawnstruct(); + } + + if(isdefined(param_01)) + { + if(isdefined(param_02)) + { + level.global_dialogue_function_stack maps\_utility::function_stack_timeout(param_02,::global_dialogue_internal_play_dialogue,param_00,param_01); + return; + } + + level.global_dialogue_function_stack maps\_utility::function_stack(::global_dialogue_internal_play_dialogue,param_00,param_01); + return; + } + + if(isdefined(param_02)) + { + level.global_dialogue_function_stack maps\_utility::function_stack_timeout(param_02,::global_dialogue_internal_play_radio,param_00); + return; + } + + level.global_dialogue_function_stack maps\_utility::function_stack(::global_dialogue_internal_play_radio,param_00); +} + +//Function Number: 69 +global_dialogue_internal_play_dialogue(param_00,param_01) +{ + if(isdefined(param_01)) + { + common_scripts\utility::flag_set("dialogue_playing"); + maps\_utility::bcs_scripted_dialogue_start(); + param_01 maps\_anim::anim_single_queue(param_01,param_00); + common_scripts\utility::flag_clear("dialogue_playing"); + } +} + +//Function Number: 70 +global_dialogue_internal_play_radio(param_00) +{ + common_scripts\utility::flag_set("dialogue_playing"); + level maps\_utility::dialogue_queue(param_00); + common_scripts\utility::flag_clear("dialogue_playing"); +} + +//Function Number: 71 +init_pcap_vo() +{ + thread init_pcap_vo_hostage_scene(); + thread init_pcap_vo_intro_briefing(); + thread init_pcap_vo_video_log(); + thread init_pcap_vo_hostage_breach(); + thread init_pcap_vo_freeway_jump_gideon(); + thread init_pcap_vo_truck_takedown(); +} + +//Function Number: 72 +init_pcap_vo_hostage_scene() +{ + if(level.currentgen) + { + if(level.transient_zone != "intro") + { + return; + } + } + + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%lag_gov_hostage_room_flythrough_guy2,"aud_lag_start_hostage_scene",::lag_hostage_pm); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%lag_gov_hostage_room_flythrough_guy1,"aud_lag_start_hostage_scene",::lag_hostage_hades); +} + +//Function Number: 73 +init_pcap_vo_intro_briefing() +{ + if(level.currentgen) + { + if(level.transient_zone != "intro") + { + return; + } + } + + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%lag_intro_briefing_burke,"aud_lag_intro_briefing_burke_start",::lag_intro_brief_gdn); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%lag_intro_briefing_joker,"aud_lag_intro_briefing_joker_start",::lag_intro_brief_jkr); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%lag_intro_briefing_ajani,"aud_lag_intro_briefing_ajani_start",::lag_intro_brief_ajn); +} + +//Function Number: 74 +init_pcap_vo_video_log() +{ + if(level.currentgen) + { + if(level.transient_zone != "intro") + { + return; + } + } +} + +//Function Number: 75 +init_pcap_vo_hostage_breach() +{ + if(level.currentgen) + { + if(level.transient_zone != "intro") + { + return; + } + } + + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%lag_gov_hostage_room_breach_pt1_burke,"aud_lag_pm_rescue",::lag_pm_rescue_pt1_gdn); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%lag_gov_hostage_room_breach_pt2_burke,"aud_lag_pm_rescue_02",::lag_pm_rescue_pt2_gdn); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%lag_gov_hostage_room_breach_pt2_guy2,"aud_lag_pm_rescue_02",::lag_pm_rescue_pt2_pm); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%lag_gov_hostage_room_breach_pt2_guy3,"aud_lag_pm_rescue_02",::lag_pm_rescue_pt2_ajn); +} + +//Function Number: 76 +init_pcap_vo_freeway_jump_gideon() +{ + if(level.currentgen) + { + if(level.transient_zone != "intro") + { + return; + } + } + + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%lag_pullbackfence_jump_burke_pt2,"aud_start_gideon_freeway_jump",::lag_freeway_jump_gideon); +} + +//Function Number: 77 +init_pcap_vo_truck_takedown() +{ + if(level.currentgen && level.transient_zone != "outro") + { + level waittill("tff_post_alley_to_outro"); + } + + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%lag_truck_takedown_pt5_burke,"aud_lag_takedown_pt5_rescue_start",::lag_shore_rescue_burke); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%lag_truck_takedown_pt5_ajani,"aud_lag_takedown_pt5_rescue_start_ajani",::lag_shore_rescue_ajani); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%lag_truck_takedown_pt5_guy3,"aud_lag_takedown_pt5_rescue_start_joker",::lag_shore_rescue_joker); +} + +//Function Number: 78 +lag_hostage_pm(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lagos_pmr_iamtheonlyperson",0.12); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lagos_pmr_wealllivebygods",24.21); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lag_pmr_gasp",38); +} + +//Function Number: 79 +lag_hostage_hades(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lagos_hade_wearemenborntodie",12.24); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lagos_hade_youaremistaken",33.27); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lag_hade_itwillachieveagreat",41.12); +} + +//Function Number: 80 +lag_intro_brief_gdn(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lag_brk_throwsspanner",1.21); + level maps\_utility::delaythread(4.8,::maps\_utility::dialogue_queue,"lagos_prt_copyatlastwooneyouhave"); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lagos_brk_threemikestophaseline",9.09); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lag_gdn_theyllkillhimanyway",13.06); +} + +//Function Number: 81 +lag_intro_brief_jkr(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lag_jkr_waitforsundown",7.12); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lag_jkr_losecherry",16.09); +} + +//Function Number: 82 +lag_intro_brief_ajn(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lagos_brk_ifweattacknowtheyll",11); +} + +//Function Number: 83 +lag_video_log_irs(param_00) +{ + soundscripts\_snd_pcap::snd_pcap_play_radio_vo_30fps("lag_irs_letsshowthemwhatatlas2",2.21); + soundscripts\_snd_pcap::snd_pcap_play_radio_vo_30fps("lag_irs_ahandshakewiththeprime",10); + level.burke maps\_utility::delaythread(17,::dialogue_queue_global,"lag_brk_pressure"); + soundscripts\_snd_pcap::snd_pcap_play_radio_vo_30fps("lag_irns_goodluck",19.09); +} + +//Function Number: 84 +lag_pm_rescue_pt1_gdn(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lag_gdn_atlasrescueforcenobodymove",5.15); + wait(9); + harmonic_breach_secure_pm(); +} + +//Function Number: 85 +lag_pm_rescue_pt2_gdn(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lag_gdn_ajani",5.15); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lag_gdn_color",9.21); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lag_gdn_position",12.18); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lag_gdn_alrightletsmove",16); +} + +//Function Number: 86 +lag_pm_rescue_pt2_pm(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lag_pmr_theyvetakenallofthe2",0); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lag_pmr_thetechnologistsfromoursummit",1.18); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lag_pmr_thekvawantedthemnot",3.03); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lag_pmr_thankyousoldier",21.03); + soundscripts\_snd::snd_message("leaving_gov_building_post_vo"); +} + +//Function Number: 87 +lag_pm_rescue_pt2_ajn(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lag_ajn_ehehwhat",6.03); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lag_ajn_ehehwhawhatcolor",10.06); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lag_ajn_whawhere",13.09); +} + +//Function Number: 88 +lag_freeway_jump_gideon(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lag_brk_iseeit",4.27); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lag_brk_nocleanshot",6.27,"lag_brk_nocleanshot_done"); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lag_brk_fuckit",9.06); + thread start_freeway_music(); +} + +//Function Number: 89 +start_freeway_music() +{ + level waittill("lag_brk_nocleanshot_done"); + soundscripts\_snd::snd_message("lag_brk_nocleanshot_done"); +} + +//Function Number: 90 +lag_shore_rescue_burke(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lag_gdn_oyenodozing",0.24); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lag_gdn_stopstessinghesbreathingbarely",8.09); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lag_gdn_dontknowdontcare2",13.18); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lag_gdn_drinksonmetonight",21.03); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lag_gdn_youdidalrightmitchell",25.15); +} + +//Function Number: 91 +lag_shore_rescue_ajani(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lagos_ajn_youdeliveredexactlyaspromised",18.12); +} + +//Function Number: 92 +lag_shore_rescue_joker(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lagos_jkr_pleasetellmehesfuckin",6.18); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("lagos_jkr_thehelltheywantwith",11.18); +} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/_adrenaline.gsc b/AW/PC/maps/mp/_adrenaline.gsc similarity index 98% rename from AW/PC/MP/maps/mp/_adrenaline.gsc rename to AW/PC/maps/mp/_adrenaline.gsc index 5281587..d3aaa52 100644 --- a/AW/PC/MP/maps/mp/_adrenaline.gsc +++ b/AW/PC/maps/mp/_adrenaline.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_adrenaline.gsc + * Decompiled File: mp\_adrenaline.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 11 - * Decompile Time: 170 ms - * Timestamp: 10/27/2023 1:48:22 AM + * Decompile Time: 225 ms + * Timestamp: 4/22/2024 2:15:18 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/_aerial_pathnodes.gsc b/AW/PC/maps/mp/_aerial_pathnodes.gsc similarity index 98% rename from AW/PC/MP/maps/mp/_aerial_pathnodes.gsc rename to AW/PC/maps/mp/_aerial_pathnodes.gsc index aa2ceb5..3b1e4c3 100644 --- a/AW/PC/MP/maps/mp/_aerial_pathnodes.gsc +++ b/AW/PC/maps/mp/_aerial_pathnodes.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_aerial_pathnodes.gsc + * Decompiled File: mp\_aerial_pathnodes.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 13 - * Decompile Time: 206 ms - * Timestamp: 10/27/2023 1:48:23 AM + * Decompile Time: 200 ms + * Timestamp: 4/22/2024 2:15:19 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/_animatedmodels.gsc b/AW/PC/maps/mp/_animatedmodels.gsc similarity index 91% rename from AW/PC/MP/maps/mp/_animatedmodels.gsc rename to AW/PC/maps/mp/_animatedmodels.gsc index 658e21f..969f021 100644 --- a/AW/PC/MP/maps/mp/_animatedmodels.gsc +++ b/AW/PC/maps/mp/_animatedmodels.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_animatedmodels.gsc + * Decompiled File: mp\_animatedmodels.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 29 ms - * Timestamp: 10/27/2023 1:48:24 AM + * Decompile Time: 49 ms + * Timestamp: 4/22/2024 2:15:19 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/maps/mp/_areas.gsc b/AW/PC/maps/mp/_areas.gsc similarity index 92% rename from AW/PC/ZM/maps/mp/_areas.gsc rename to AW/PC/maps/mp/_areas.gsc index c5451ad..9c12665 100644 --- a/AW/PC/ZM/maps/mp/_areas.gsc +++ b/AW/PC/maps/mp/_areas.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_areas.gsc + * Decompiled File: mp\_areas.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 5 - * Decompile Time: 98 ms - * Timestamp: 10/27/2023 2:07:56 AM + * Decompile Time: 83 ms + * Timestamp: 4/22/2024 2:15:20 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/_art.gsc b/AW/PC/maps/mp/_art.gsc similarity index 98% rename from AW/PC/MP/maps/mp/_art.gsc rename to AW/PC/maps/mp/_art.gsc index e97e0b3..cfdf976 100644 --- a/AW/PC/MP/maps/mp/_art.gsc +++ b/AW/PC/maps/mp/_art.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_art.gsc + * Decompiled File: mp\_art.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 36 - * Decompile Time: 555 ms - * Timestamp: 10/27/2023 1:48:27 AM + * Decompile Time: 532 ms + * Timestamp: 4/22/2024 2:15:21 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/_audio.gsc b/AW/PC/maps/mp/_audio.gsc similarity index 95% rename from AW/PC/MP/maps/mp/_audio.gsc rename to AW/PC/maps/mp/_audio.gsc index 72564c3..233d5e9 100644 --- a/AW/PC/MP/maps/mp/_audio.gsc +++ b/AW/PC/maps/mp/_audio.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_audio.gsc + * Decompiled File: mp\_audio.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 34 - * Decompile Time: 644 ms - * Timestamp: 10/27/2023 1:48:29 AM + * Decompile Time: 519 ms + * Timestamp: 4/22/2024 2:15:23 AM *******************************************************************/ //Function Number: 1 @@ -538,21 +538,44 @@ aud_print_3d_on_ent(param_00,param_01,param_02,param_03,param_04) switch(var_0A) { case "red": + var_0A = var_06; break; case "white": + var_0A = var_05; break; case "blue": + var_0A = var_08; break; case "green": + var_0A = var_07; break; default: + var_0A = var_05; break; } } + + if(isdefined(param_04)) + { + thread audx_print_3d_timer(param_04); + } + + self endon("death"); + self endon("aud_stop_3D_print"); + while(isdefined(self)) + { + var_0B = param_00; + if(isdefined(param_03)) + { + var_0B = var_0B + self [[ param_03 ]](); + } + + wait(0.05); + } } } diff --git a/AW/PC/MP/maps/mp/_awards.gsc b/AW/PC/maps/mp/_awards.gsc similarity index 98% rename from AW/PC/MP/maps/mp/_awards.gsc rename to AW/PC/maps/mp/_awards.gsc index 66b8558..722530e 100644 --- a/AW/PC/MP/maps/mp/_awards.gsc +++ b/AW/PC/maps/mp/_awards.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_awards.gsc + * Decompiled File: mp\_awards.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 19 - * Decompile Time: 295 ms - * Timestamp: 10/27/2023 1:48:30 AM + * Decompile Time: 307 ms + * Timestamp: 4/22/2024 2:15:24 AM *******************************************************************/ //Function Number: 1 @@ -349,8 +349,10 @@ shouldaveragetotal(param_00) { case "scorePerMinute": case "kdratio": - break; + return 1; } + + return 0; } //Function Number: 13 @@ -360,6 +362,8 @@ getformattedvalue(param_00,param_01) switch(var_02) { case "float": + param_01 = maps\mp\_utility::limitdecimalplaces(param_01,2); + param_01 = param_01 * 100; break; case "multi": @@ -371,6 +375,9 @@ getformattedvalue(param_00,param_01) default: break; } + + param_01 = int(param_01); + return param_01; } //Function Number: 14 diff --git a/AW/PC/MP/maps/mp/_braggingrights.gsc b/AW/PC/maps/mp/_braggingrights.gsc similarity index 94% rename from AW/PC/MP/maps/mp/_braggingrights.gsc rename to AW/PC/maps/mp/_braggingrights.gsc index 88cfa77..247d6ff 100644 --- a/AW/PC/MP/maps/mp/_braggingrights.gsc +++ b/AW/PC/maps/mp/_braggingrights.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_braggingrights.gsc + * Decompiled File: mp\_braggingrights.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 28 ms - * Timestamp: 10/27/2023 1:48:31 AM + * Decompile Time: 51 ms + * Timestamp: 4/22/2024 2:15:25 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/maps/mp/_compass.gsc b/AW/PC/maps/mp/_compass.gsc similarity index 94% rename from AW/PC/ZM/maps/mp/_compass.gsc rename to AW/PC/maps/mp/_compass.gsc index 9585ba7..790f6c3 100644 --- a/AW/PC/ZM/maps/mp/_compass.gsc +++ b/AW/PC/maps/mp/_compass.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_compass.gsc + * Decompiled File: mp\_compass.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 2:08:02 AM + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 2:15:25 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/_createfx.gsc b/AW/PC/maps/mp/_createfx.gsc similarity index 95% rename from AW/PC/MP/maps/mp/_createfx.gsc rename to AW/PC/maps/mp/_createfx.gsc index 14b0927..adaea34 100644 --- a/AW/PC/MP/maps/mp/_createfx.gsc +++ b/AW/PC/maps/mp/_createfx.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_createfx.gsc + * Decompiled File: mp\_createfx.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 4 - * Decompile Time: 62 ms - * Timestamp: 10/27/2023 1:48:32 AM + * Decompile Time: 73 ms + * Timestamp: 4/22/2024 2:15:26 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/maps/mp/_crib.gsc b/AW/PC/maps/mp/_crib.gsc similarity index 99% rename from AW/PC/ZM/maps/mp/_crib.gsc rename to AW/PC/maps/mp/_crib.gsc index 99659d1..32d1d34 100644 --- a/AW/PC/ZM/maps/mp/_crib.gsc +++ b/AW/PC/maps/mp/_crib.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_crib.gsc + * Decompiled File: mp\_crib.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 36 - * Decompile Time: 520 ms - * Timestamp: 10/27/2023 2:08:04 AM + * Decompile Time: 566 ms + * Timestamp: 4/22/2024 2:15:28 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/maps/mp/_destructables.gsc b/AW/PC/maps/mp/_destructables.gsc similarity index 94% rename from AW/PC/ZM/maps/mp/_destructables.gsc rename to AW/PC/maps/mp/_destructables.gsc index 98243ae..f428d10 100644 --- a/AW/PC/ZM/maps/mp/_destructables.gsc +++ b/AW/PC/maps/mp/_destructables.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_destructables.gsc + * Decompiled File: mp\_destructables.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 7 - * Decompile Time: 119 ms - * Timestamp: 10/27/2023 2:08:05 AM + * Decompile Time: 128 ms + * Timestamp: 4/22/2024 2:15:29 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/maps/mp/_dynamic_events.gsc b/AW/PC/maps/mp/_dynamic_events.gsc similarity index 97% rename from AW/PC/ZM/maps/mp/_dynamic_events.gsc rename to AW/PC/maps/mp/_dynamic_events.gsc index 0308a7d..6529c8a 100644 --- a/AW/PC/ZM/maps/mp/_dynamic_events.gsc +++ b/AW/PC/maps/mp/_dynamic_events.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_dynamic_events.gsc + * Decompiled File: mp\_dynamic_events.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 9 - * Decompile Time: 149 ms - * Timestamp: 10/27/2023 2:08:06 AM + * Decompile Time: 194 ms + * Timestamp: 4/22/2024 2:15:30 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/_dynamic_world.gsc b/AW/PC/maps/mp/_dynamic_world.gsc similarity index 99% rename from AW/PC/MP/maps/mp/_dynamic_world.gsc rename to AW/PC/maps/mp/_dynamic_world.gsc index 61dc9fc..4a6e211 100644 --- a/AW/PC/MP/maps/mp/_dynamic_world.gsc +++ b/AW/PC/maps/mp/_dynamic_world.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\_dynamic_world.gsc + * Decompiled File: mp\_dynamic_world.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 73 - * Decompile Time: 1254 ms - * Timestamp: 10/27/2023 1:45:15 AM + * Decompile Time: 1190 ms + * Timestamp: 4/22/2024 2:15:33 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/maps/mp/_empgrenade.gsc b/AW/PC/maps/mp/_empgrenade.gsc similarity index 97% rename from AW/PC/ZM/maps/mp/_empgrenade.gsc rename to AW/PC/maps/mp/_empgrenade.gsc index 0d4d4e5..a94ecfe 100644 --- a/AW/PC/ZM/maps/mp/_empgrenade.gsc +++ b/AW/PC/maps/mp/_empgrenade.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_empgrenade.gsc + * Decompiled File: mp\_empgrenade.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 12 - * Decompile Time: 173 ms - * Timestamp: 10/27/2023 2:08:07 AM + * Decompile Time: 203 ms + * Timestamp: 4/22/2024 2:15:34 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/maps/mp/_entityheadicons.gsc b/AW/PC/maps/mp/_entityheadicons.gsc similarity index 98% rename from AW/PC/ZM/maps/mp/_entityheadicons.gsc rename to AW/PC/maps/mp/_entityheadicons.gsc index 4e32f21..2d2f127 100644 --- a/AW/PC/ZM/maps/mp/_entityheadicons.gsc +++ b/AW/PC/maps/mp/_entityheadicons.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_entityheadicons.gsc + * Decompiled File: mp\_entityheadicons.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 10 - * Decompile Time: 150 ms - * Timestamp: 10/27/2023 2:08:08 AM + * Decompile Time: 177 ms + * Timestamp: 4/22/2024 2:15:35 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/maps/mp/_events.gsc b/AW/PC/maps/mp/_events.gsc similarity index 82% rename from AW/PC/ZM/maps/mp/_events.gsc rename to AW/PC/maps/mp/_events.gsc index 5046b4a..76cceb9 100644 --- a/AW/PC/ZM/maps/mp/_events.gsc +++ b/AW/PC/maps/mp/_events.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_events.gsc + * Decompiled File: mp\_events.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 105 - * Decompile Time: 1600 ms - * Timestamp: 10/27/2023 2:08:13 AM + * Decompile Time: 1606 ms + * Timestamp: 4/22/2024 2:15:40 AM *******************************************************************/ //Function Number: 1 @@ -343,15 +343,19 @@ pointblankevent(param_00,param_01,param_02) { case "iw5_dlcgun4": case "iw5_dlcgun3": + maps\mp\gametypes\_missions::processchallenge("ch_tier1_1_" + var_03); break; case "iw5_dlcgun8loot1": + maps\mp\gametypes\_missions::processchallenge("ch_tier1_1_iw5_dlcgun9"); break; case "iw5_dlcgun13": + maps\mp\gametypes\_missions::processchallenge("ch_tier1_1_iw5_dlcgun10"); break; default: + maps\mp\gametypes\_missions::processchallenge("ch_pointblank_" + var_03); break; } } @@ -371,12 +375,14 @@ killedplayerevent(param_00,param_01,param_02) { case "killstreak_orbital_laser_mp": case "orbital_laser_fov_mp": + var_03 = "vulcan_kill"; break; case "paint_missile_killstreak_mp": case "warbird_player_turret_mp": case "warbird_remote_turret_mp": case "warbird_missile_mp": + var_03 = "warbird_kill"; break; case "orbitalsupport_small_turret_mp": @@ -386,12 +392,15 @@ killedplayerevent(param_00,param_01,param_02) case "orbitalsupport_40mm_mp": case "orbitalsupport_missile_mp": case "orbitalsupport_105mm_mp": + var_03 = "paladin_kill"; break; case "airdrop_trap_explosive_mp": + var_03 = "airdrop_trap_kill"; break; case "orbital_carepackage_pod_mp": + var_03 = "airdrop_kill"; break; case "remotemissile_projectile_secondary_mp": @@ -401,6 +410,7 @@ killedplayerevent(param_00,param_01,param_02) case "remotemissile_projectile_gas_mp": case "remotemissile_projectile_cluster_parent_mp": case "remotemissile_projectile_mp": + var_03 = "missile_strike_kill"; break; case "iw5_dlcgun12loot3_mp": @@ -411,16 +421,19 @@ killedplayerevent(param_00,param_01,param_02) case "turretheadmg_mp": case "turretheadrocket_mp": case "turretheadenergy_mp": + var_03 = "sentry_gun_kill"; break; case "airstrike_missile_mp": case "orbital_carepackage_pod_plane_mp": case "stealth_bomb_mp": + var_03 = "strafing_run_kill"; break; case "assaultdrone_c4_mp": case "drone_assault_remote_turret_mp": case "ugv_missile_mp": + var_03 = "assault_drone_kill"; break; case "playermech_rocket_mp": @@ -432,6 +445,7 @@ killedplayerevent(param_00,param_01,param_02) case "killstreak_goliathsd_mp": case "orbital_carepackage_droppod_mp": case "iw5_juggtitan45_mp": + var_03 = "goliath_kill"; break; case "iw5_dlcgun12loot2_mp": @@ -443,8 +457,22 @@ killedplayerevent(param_00,param_01,param_02) case "dam_turret_mp": case "refraction_turret_mp": case "killstreak_solar_mp": + var_03 = "map_killstreak_kill"; break; } + + if(var_03 != "kill") + { + maps\mp\_utility::incplayerstat(var_03,1); + maps\mp\gametypes\_missions::ch_streak_kill(var_03); + } + + if(level.practiceround) + { + thread practiceroundkillevent(param_00,var_03,param_01,param_02); + } + + level thread maps\mp\gametypes\_rank::awardgameevent(var_03,self,param_01,param_00,param_02); } //Function Number: 7 @@ -552,10 +580,10 @@ isthinkfastweapon(param_00) case "paint_grenade_mp": case "semtex_mp": case "frag_grenade_mp": - break; + return 1; default: - break; + return 0; } } @@ -740,21 +768,27 @@ airtoairevent(param_00,param_01,param_02) switch(var_03) { case "iw5_dlcgun4": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_1_" + var_03); break; case "iw5_dlcgun8loot1": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_1_iw5_dlcgun9"); break; case "iw5_dlcgun18": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_1_iw5_dlcgun11"); break; case "iw5_dlcgun28": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_1_iw5_dlcgunb"); break; case "iw5_dlcgun38": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_1_iw5_dlcgund"); break; default: + maps\mp\gametypes\_missions::processchallenge("ch_dogfight_" + var_03); break; } } @@ -779,24 +813,31 @@ airtogroundevent(param_00,param_01,param_02) { case "iw5_dlcgun1": case "iw5_dlcgun2": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_1_" + var_03); break; case "iw5_dlcgun6": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_1_iw5_dlcgun5"); break; case "iw5_dlcgun7loot0": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_1_iw5_dlcgun7"); break; case "iw5_dlcgun7loot6": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_1_iw5_dlcgun8"); break; case "iw5_dlcgun23": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_1_iw5_dlcguna"); break; case "iw5_dlcgun33": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_1_iw5_dlcgunc"); break; default: + maps\mp\gametypes\_missions::processchallenge("ch_strafe_" + var_03); break; } } @@ -820,9 +861,11 @@ groundtoairevent(param_00,param_01,param_02) switch(var_03) { case "iw5_dlcgun2": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_3_" + var_03); break; default: + maps\mp\gametypes\_missions::processchallenge("ch_skeet_" + var_03); break; } } @@ -880,26 +923,45 @@ islongshot(param_00,param_01,param_02,param_03) switch(var_05) { case "weapon_pistol": + var_06 = 800; break; case "weapon_smg": + var_06 = 1200; break; case "weapon_heavy": case "weapon_assault": + var_06 = 1500; break; case "weapon_sniper": + var_06 = 2000; break; case "weapon_shotgun": + var_06 = 500; break; case "weapon_projectile": default: + var_06 = 1536; break; } + + if(issubstr(param_01,"exoknife_mp") || issubstr(param_01,"exocrossbow")) + { + var_06 = 1200; + } + + var_07 = var_06 * var_06; + if(distancesquared(var_04,param_03.origin) > var_07) + { + return 1; + } } + + return 0; } //Function Number: 30 @@ -1104,29 +1166,105 @@ multikillevent(param_00,param_01,param_02,param_03) switch(param_01) { case 2: + level thread maps\mp\gametypes\_rank::awardgameevent("doublekill",self); + maps\mp\_utility::incplayerstat("doublekill",1); + maps\mp\gametypes\_missions::processchallenge("ch_killer_double"); + maps\mp\gametypes\_missions::processchallenge("ch_" + level.gametype + "_double"); + if(var_04 == "weapon_smg" || var_04 == "weapon_shotgun" || var_04 == "weapon_sniper" || var_05 == "iw5_microdronelauncher" || var_05 == "iw5_exocrossbow") + { + switch(var_05) + { + case "iw5_dlcgun6loot5": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_3_iw5_dlcgun6"); + break; + + case "iw5_dlcgun18": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_2_iw5_dlcgun11"); + break; + + case "iw5_dlcgun28": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_2_iw5_dlcgunb"); + break; + + case "iw5_dlcgun38": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_2_iw5_dlcgund"); + break; + + default: + maps\mp\gametypes\_missions::processchallenge("ch_double_" + var_05); + break; + } + } + + if(isdefined(level.challengeinfo["ch_attach_unlock_double_" + var_06])) + { + maps\mp\gametypes\_missions::processchallenge("ch_attach_unlock_double_" + var_06); + } break; case 3: + level thread maps\mp\gametypes\_rank::awardgameevent("triplekill",self); + level thread maps\mp\_utility::teamplayercardsplash("callout_3xkill",self); + maps\mp\_utility::incplayerstat("triplekill",1); + maps\mp\gametypes\_missions::processchallenge("ch_killer_triple"); + maps\mp\gametypes\_missions::processchallenge("ch_" + level.gametype + "_triple"); + if(maps\mp\gametypes\_missions::isatbrinkofdeath()) + { + maps\mp\gametypes\_missions::processchallenge("ch_precision_sitcrit"); + } + + if(isdefined(var_04) && var_04 == "weapon_smg" || var_04 == "weapon_heavy" && param_03 == 0) + { + maps\mp\gametypes\_missions::processchallenge("ch_precision_hello"); + } break; case 4: + level thread maps\mp\gametypes\_rank::awardgameevent("fourkill",self); + level thread maps\mp\_utility::teamplayercardsplash("callout_4xkill",self); + maps\mp\_utility::incplayerstat("fourkill",1); + maps\mp\gametypes\_missions::processchallenge("ch_killer_feed"); + maps\mp\gametypes\_missions::processchallenge("ch_killer_fury"); + maps\mp\gametypes\_missions::processchallenge("ch_limited_bloodshed_fury"); break; case 5: + level thread maps\mp\gametypes\_rank::awardgameevent("fivekill",self); + level thread maps\mp\_utility::teamplayercardsplash("callout_5xkill",self); + maps\mp\_utility::incplayerstat("fivekill",1); + maps\mp\gametypes\_missions::processchallenge("ch_killer_frenzy"); break; case 6: + level thread maps\mp\gametypes\_rank::awardgameevent("sixkill",self); + level thread maps\mp\_utility::teamplayercardsplash("callout_6xkill",self); + maps\mp\_utility::incplayerstat("sixkill",1); + maps\mp\gametypes\_missions::processchallenge("ch_killer_super"); break; case 7: + level thread maps\mp\gametypes\_rank::awardgameevent("sevenkill",self); + level thread maps\mp\_utility::teamplayercardsplash("callout_7xkill",self); + maps\mp\_utility::incplayerstat("sevenkill",1); + maps\mp\gametypes\_missions::processchallenge("ch_killer_mega"); break; case 8: + level thread maps\mp\gametypes\_rank::awardgameevent("eightkill",self); + level thread maps\mp\_utility::teamplayercardsplash("callout_8xkill",self); + maps\mp\_utility::incplayerstat("eightkill",1); + maps\mp\gametypes\_missions::processchallenge("ch_killer_ultra"); break; default: + level thread maps\mp\gametypes\_rank::awardgameevent("multikill",self); + thread maps\mp\_utility::teamplayercardsplash("callout_9xpluskill",self); + maps\mp\_utility::incplayerstat("multikill",1); + maps\mp\gametypes\_missions::processchallenge("ch_killer_chain"); break; } + + thread maps\mp\_matchdata::logmultikill(param_00,param_01); } //Function Number: 46 @@ -1605,15 +1743,28 @@ oneshotkillevent(param_00,param_01,param_02) switch(var_03) { case "iw5_dlcgun4": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_2_" + var_03); break; case "iw5_dlcgun8loot1": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_2_iw5_dlcgun9"); break; default: break; } } + + if(var_04 == "weapon_sniper") + { + self notify("increment_sharpshooter_kills"); + return; + } + + if(var_04 == "weapon_shotgun") + { + self notify("increment_oneshotgun_kills"); + } } //Function Number: 89 @@ -1820,26 +1971,77 @@ checkstreakingevents(param_00) switch(var_01) { case 5: + level thread maps\mp\gametypes\_rank::awardgameevent("5killstreak",self); + maps\mp\_utility::incplayerstat("5killstreak",1); + maps\mp\gametypes\_missions::processchallenge("ch_killer_blood"); + if(isdefined(self.challengedata["ch_limited_bloodshed"]) && self.challengedata["ch_limited_bloodshed"] == 1) + { + maps\mp\gametypes\_missions::processchallenge("ch_limited_bloodshed",5); + } break; case 10: + level thread maps\mp\gametypes\_rank::awardgameevent("10killstreak",self); + maps\mp\_utility::incplayerstat("10killstreak",1); + maps\mp\gametypes\_missions::processchallenge("ch_killer_merciless"); + maps\mp\gametypes\_missions::processchallenge("ch_" + level.gametype + "_merciless"); + if(isdefined(self.challengedata["ch_limited_bloodshed"]) && self.challengedata["ch_limited_bloodshed"] == 2) + { + maps\mp\gametypes\_missions::processchallenge("ch_limited_bloodshed",5); + } + + if(self.loadoutoffhand == "specialty_null" && self.loadoutequipment == "specialty_null") + { + maps\mp\gametypes\_missions::processchallenge("ch_precision_wetwork"); + } break; case 15: + level thread maps\mp\gametypes\_rank::awardgameevent("15killstreak",self); + maps\mp\_utility::incplayerstat("15killstreak",1); + maps\mp\gametypes\_missions::processchallenge("ch_killer_ruthless"); + if(isdefined(self.challengedata["ch_limited_bloodshed"]) && self.challengedata["ch_limited_bloodshed"] == 3) + { + maps\mp\gametypes\_missions::processchallenge("ch_limited_bloodshed",5); + } break; case 20: + level thread maps\mp\gametypes\_rank::awardgameevent("20killstreak",self); + maps\mp\_utility::incplayerstat("20killstreak",1); + maps\mp\gametypes\_missions::processchallenge("ch_killer_relentless"); + if(isdefined(self.challengedata["ch_limited_bloodshed"]) && self.challengedata["ch_limited_bloodshed"] == 4) + { + maps\mp\gametypes\_missions::processchallenge("ch_limited_bloodshed",5); + } break; case 25: + level thread maps\mp\gametypes\_rank::awardgameevent("25killstreak",self); + maps\mp\_utility::incplayerstat("25killstreak",1); + maps\mp\gametypes\_missions::processchallenge("ch_killer_brutal"); + if(isdefined(self.challengedata["ch_limited_bloodshed"]) && self.challengedata["ch_limited_bloodshed"] == 5) + { + maps\mp\gametypes\_missions::processchallenge("ch_limited_bloodshed",5); + } break; case 30: + level thread maps\mp\gametypes\_rank::awardgameevent("30killstreak",self); + maps\mp\_utility::incplayerstat("30killstreak",1); + if(isdefined(self.challengedata["ch_limited_bloodshed"]) && self.challengedata["ch_limited_bloodshed"] == 6) + { + maps\mp\gametypes\_missions::processchallenge("ch_limited_bloodshed",5); + } break; default: + level thread maps\mp\gametypes\_rank::awardgameevent("30pluskillstreak",self); + maps\mp\_utility::incplayerstat("30pluskillstreak",1); break; } + + thread maps\mp\_utility::teamplayercardsplash("callout_kill_streaking",self,undefined,var_01); } //Function Number: 101 @@ -1944,27 +2146,35 @@ killafterdodgeevent(param_00) { case "iw5_dlcgun3": case "iw5_dlcgun1": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_3_" + var_01); break; case "iw5_dlcgun6": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_3_iw5_dlcgun5"); break; case "iw5_dlcgun7loot0": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_3_iw5_dlcgun7"); break; case "iw5_dlcgun7loot6": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_3_iw5_dlcgun8"); break; case "iw5_dlcgun13": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_2_iw5_dlcgun10"); break; case "iw5_dlcgun23": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_3_iw5_dlcguna"); break; case "iw5_dlcgun33": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_3_iw5_dlcgunc"); break; default: + maps\mp\gametypes\_missions::processchallenge("ch_dodge_" + var_01); break; } } @@ -1987,6 +2197,40 @@ camosprintslidekillevent(param_00,param_01) case "weapon_special": case "weapon_shotgun": case "weapon_smg": + switch(var_02) + { + case "iw5_dlcgun3": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_1_iw5_dlcgun3"); + break; + + case "iw5_dlcgun4": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_3_iw5_dlcgun4"); + break; + + case "iw5_dlcgun8loot1": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_3_iw5_dlcgun9"); + break; + + case "iw5_dlcgun13": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_1_iw5_dlcgun10"); + break; + + case "iw5_dlcgun18": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_3_iw5_dlcgun11"); + break; + + case "iw5_dlcgun28": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_3_iw5_dlcgunb"); + break; + + case "iw5_dlcgun38": + maps\mp\gametypes\_missions::processchallenge("ch_tier2_3_iw5_dlcgund"); + break; + + default: + maps\mp\gametypes\_missions::processchallenge("ch_slide_" + var_02); + break; + } break; } } \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/_exo_battery.gsc b/AW/PC/maps/mp/_exo_battery.gsc similarity index 96% rename from AW/PC/MP/maps/mp/_exo_battery.gsc rename to AW/PC/maps/mp/_exo_battery.gsc index 46032c7..04e66c1 100644 --- a/AW/PC/MP/maps/mp/_exo_battery.gsc +++ b/AW/PC/maps/mp/_exo_battery.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_exo_battery.gsc + * Decompiled File: mp\_exo_battery.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 5 - * Decompile Time: 81 ms - * Timestamp: 10/27/2023 1:48:43 AM + * Decompile Time: 91 ms + * Timestamp: 4/22/2024 2:15:41 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/_exo_cloak.gsc b/AW/PC/maps/mp/_exo_cloak.gsc similarity index 98% rename from AW/PC/MP/maps/mp/_exo_cloak.gsc rename to AW/PC/maps/mp/_exo_cloak.gsc index 8130cc8..ff70e45 100644 --- a/AW/PC/MP/maps/mp/_exo_cloak.gsc +++ b/AW/PC/maps/mp/_exo_cloak.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_exo_cloak.gsc + * Decompiled File: mp\_exo_cloak.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 12 - * Decompile Time: 180 ms - * Timestamp: 10/27/2023 1:48:44 AM + * Decompile Time: 202 ms + * Timestamp: 4/22/2024 2:15:42 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/_exo_hover.gsc b/AW/PC/maps/mp/_exo_hover.gsc similarity index 97% rename from AW/PC/MP/maps/mp/_exo_hover.gsc rename to AW/PC/maps/mp/_exo_hover.gsc index 5148729..b583fe9 100644 --- a/AW/PC/MP/maps/mp/_exo_hover.gsc +++ b/AW/PC/maps/mp/_exo_hover.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_exo_hover.gsc + * Decompiled File: mp\_exo_hover.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 7 - * Decompile Time: 109 ms - * Timestamp: 10/27/2023 1:48:45 AM + * Decompile Time: 130 ms + * Timestamp: 4/22/2024 2:15:42 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/maps/mp/_exo_mute.gsc b/AW/PC/maps/mp/_exo_mute.gsc similarity index 97% rename from AW/PC/ZM/maps/mp/_exo_mute.gsc rename to AW/PC/maps/mp/_exo_mute.gsc index 0380323..8920485 100644 --- a/AW/PC/ZM/maps/mp/_exo_mute.gsc +++ b/AW/PC/maps/mp/_exo_mute.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_exo_mute.gsc + * Decompiled File: mp\_exo_mute.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 11 - * Decompile Time: 162 ms - * Timestamp: 10/27/2023 2:08:16 AM + * Decompile Time: 170 ms + * Timestamp: 4/22/2024 2:15:43 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/maps/mp/_exo_ping.gsc b/AW/PC/maps/mp/_exo_ping.gsc similarity index 98% rename from AW/PC/ZM/maps/mp/_exo_ping.gsc rename to AW/PC/maps/mp/_exo_ping.gsc index 468f973..20b0d68 100644 --- a/AW/PC/ZM/maps/mp/_exo_ping.gsc +++ b/AW/PC/maps/mp/_exo_ping.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_exo_ping.gsc + * Decompiled File: mp\_exo_ping.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 11 - * Decompile Time: 160 ms - * Timestamp: 10/27/2023 2:08:17 AM + * Decompile Time: 177 ms + * Timestamp: 4/22/2024 2:15:44 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/maps/mp/_exo_repulsor.gsc b/AW/PC/maps/mp/_exo_repulsor.gsc similarity index 99% rename from AW/PC/ZM/maps/mp/_exo_repulsor.gsc rename to AW/PC/maps/mp/_exo_repulsor.gsc index cf51f50..d8b4c65 100644 --- a/AW/PC/ZM/maps/mp/_exo_repulsor.gsc +++ b/AW/PC/maps/mp/_exo_repulsor.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_exo_repulsor.gsc + * Decompiled File: mp\_exo_repulsor.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 13 - * Decompile Time: 216 ms - * Timestamp: 10/27/2023 2:08:18 AM + * Decompile Time: 235 ms + * Timestamp: 4/22/2024 2:15:45 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/_exo_shield.gsc b/AW/PC/maps/mp/_exo_shield.gsc similarity index 96% rename from AW/PC/MP/maps/mp/_exo_shield.gsc rename to AW/PC/maps/mp/_exo_shield.gsc index 2dc8039..c3022de 100644 --- a/AW/PC/MP/maps/mp/_exo_shield.gsc +++ b/AW/PC/maps/mp/_exo_shield.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_exo_shield.gsc + * Decompiled File: mp\_exo_shield.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 5 - * Decompile Time: 75 ms - * Timestamp: 10/27/2023 1:48:49 AM + * Decompile Time: 92 ms + * Timestamp: 4/22/2024 2:15:45 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/_exo_suit.gsc b/AW/PC/maps/mp/_exo_suit.gsc similarity index 98% rename from AW/PC/MP/maps/mp/_exo_suit.gsc rename to AW/PC/maps/mp/_exo_suit.gsc index 776655a..74dcd61 100644 --- a/AW/PC/MP/maps/mp/_exo_suit.gsc +++ b/AW/PC/maps/mp/_exo_suit.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_exo_suit.gsc + * Decompiled File: mp\_exo_suit.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 12 * Decompile Time: 189 ms - * Timestamp: 10/27/2023 1:48:50 AM + * Timestamp: 4/22/2024 2:15:46 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/_exocrossbow.gsc b/AW/PC/maps/mp/_exocrossbow.gsc similarity index 96% rename from AW/PC/MP/maps/mp/_exocrossbow.gsc rename to AW/PC/maps/mp/_exocrossbow.gsc index b587fd5..7620a94 100644 --- a/AW/PC/MP/maps/mp/_exocrossbow.gsc +++ b/AW/PC/maps/mp/_exocrossbow.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_exocrossbow.gsc + * Decompiled File: mp\_exocrossbow.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 8 - * Decompile Time: 145 ms - * Timestamp: 10/27/2023 1:48:51 AM + * Decompile Time: 129 ms + * Timestamp: 4/22/2024 2:15:47 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/_exoknife.gsc b/AW/PC/maps/mp/_exoknife.gsc similarity index 98% rename from AW/PC/MP/maps/mp/_exoknife.gsc rename to AW/PC/maps/mp/_exoknife.gsc index b8b178c..cab711a 100644 --- a/AW/PC/MP/maps/mp/_exoknife.gsc +++ b/AW/PC/maps/mp/_exoknife.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_exoknife.gsc + * Decompiled File: mp\_exoknife.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 15 - * Decompile Time: 223 ms - * Timestamp: 10/27/2023 1:48:52 AM + * Decompile Time: 218 ms + * Timestamp: 4/22/2024 2:15:48 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/_explosive_drone.gsc b/AW/PC/maps/mp/_explosive_drone.gsc similarity index 96% rename from AW/PC/MP/maps/mp/_explosive_drone.gsc rename to AW/PC/maps/mp/_explosive_drone.gsc index 2df5eae..00dd53c 100644 --- a/AW/PC/MP/maps/mp/_explosive_drone.gsc +++ b/AW/PC/maps/mp/_explosive_drone.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_explosive_drone.gsc + * Decompiled File: mp\_explosive_drone.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 68 - * Decompile Time: 1102 ms - * Timestamp: 10/27/2023 1:48:56 AM + * Decompile Time: 1000 ms + * Timestamp: 4/22/2024 2:15:51 AM *******************************************************************/ //Function Number: 1 @@ -787,14 +787,23 @@ explosivedrone_movetoplayer(param_00) switch(param_00 getstance()) { case "stand": + var_03 = 65; break; case "crouch": + var_03 = 50; break; case "prone": + var_03 = 22; break; } + + var_04 = (var_02,var_01,var_03); + self setdronegoalpos(param_00,var_04); + self.intransit = 1; + thread explosivedrone_watchforgoal(); + thread explosivedrone_watchtargetdisconnect(); } //Function Number: 26 @@ -848,23 +857,58 @@ explosivedrone_highlighttarget() self.owner endon("joined_spectators"); self.lasertag = spawn("script_model",self.origin); self.lasertag setmodel("tag_laser"); - if(isdefined(self.trackedplayer)) + for(;;) { - self.lasertag.origin = self gettagorigin("tag_weapon"); - var_00 = 20; - var_01 = (randomfloat(var_00),randomfloat(var_00),randomfloat(var_00)) - (10,10,10); - var_02 = 65; - switch(self.trackedplayer getstance()) + if(isdefined(self.trackedplayer)) { - case "stand": - break; + self.lasertag.origin = self gettagorigin("tag_weapon"); + var_00 = 20; + var_01 = (randomfloat(var_00),randomfloat(var_00),randomfloat(var_00)) - (10,10,10); + var_02 = 65; + switch(self.trackedplayer getstance()) + { + case "stand": + var_02 = 65; + break; + + case "crouch": + var_02 = 50; + break; + + case "prone": + var_02 = 22; + break; + } - case "crouch": - break; - - case "prone": - break; + self.lasertag.angles = vectortoangles(self.trackedplayer.origin + (0,0,var_02 - 20) + var_01 - self.origin); } + + if(isdefined(self.stunned) && self.stunned) + { + wait(0.5); + continue; + } + + var_03 = undefined; + if(isdefined(self.trackedplayer)) + { + var_04 = bullettrace(self.origin,self.trackedplayer.origin,1,self); + var_03 = var_04["entity"]; + } + + if(isdefined(self.trackedplayer) && self.trackedplayer != self.owner && isdefined(var_03) && var_03 == self.trackedplayer && distancesquared(self.origin,self.trackedplayer.origin) < self.maxlaserrange * self.maxlaserrange) + { + if(self.trackedplayer.is_being_tracked == 0) + { + starthighlightingplayerexplosive(self.trackedplayer); + } + } + else if(isdefined(self.trackedplayer) && self.trackedplayer.is_being_tracked == 1) + { + stophighlightingplayerexplosive(self.trackedplayer); + } + + wait(0.05); } } diff --git a/AW/PC/MP/maps/mp/_explosive_gel.gsc b/AW/PC/maps/mp/_explosive_gel.gsc similarity index 84% rename from AW/PC/MP/maps/mp/_explosive_gel.gsc rename to AW/PC/maps/mp/_explosive_gel.gsc index e7493bc..06d6c1c 100644 --- a/AW/PC/MP/maps/mp/_explosive_gel.gsc +++ b/AW/PC/maps/mp/_explosive_gel.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_explosive_gel.gsc + * Decompiled File: mp\_explosive_gel.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 15 - * Decompile Time: 244 ms - * Timestamp: 10/27/2023 1:48:57 AM + * Decompile Time: 230 ms + * Timestamp: 4/22/2024 2:15:52 AM *******************************************************************/ //Function Number: 1 @@ -275,27 +275,66 @@ minedamagemonitor() self.maxhealth = 100000; self.health = self.maxhealth; var_00 = undefined; - self waittill("damage",var_01,var_00,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09); - if(!isplayer(var_00)) + for(;;) { - continue; - } - - if(!maps\mp\gametypes\_weapons::friendlyfirecheck(self.owner,var_00)) - { - continue; - } - - if(isdefined(var_09)) - { - var_0A = maps\mp\_utility::strip_suffix(var_09,"_lefthand"); - switch(var_0A) + self waittill("damage",var_01,var_00,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09); + if(!isplayer(var_00)) { - case "smoke_grenade_var_mp": - case "smoke_grenade_mp": - break; + continue; + } + + if(!maps\mp\gametypes\_weapons::friendlyfirecheck(self.owner,var_00)) + { + continue; + } + + if(isdefined(var_09)) + { + var_0A = maps\mp\_utility::strip_suffix(var_09,"_lefthand"); + switch(var_0A) + { + case "smoke_grenade_var_mp": + case "smoke_grenade_mp": + break; + } + } + + break; + } + + self notify("mine_destroyed"); + if(isdefined(var_04) && issubstr(var_04,"MOD_GRENADE") || issubstr(var_04,"MOD_EXPLOSIVE")) + { + self.waschained = 1; + } + + if(isdefined(var_08) && var_08 & level.idflags_penetration) + { + self.wasdamagedfrombulletpenetration = 1; + } + + self.wasdamaged = 1; + if(isplayer(var_00)) + { + var_00 maps\mp\gametypes\_damagefeedback::updatedamagefeedback("bouncing_betty"); + } + + if(level.teambased) + { + if(isdefined(var_00) && isdefined(var_00.pers["team"]) && isdefined(self.owner) && isdefined(self.owner.pers["team"])) + { + if(var_00.pers["team"] != self.owner.pers["team"]) + { + var_00 notify("destroyed_explosive"); + } } } + else if(isdefined(self.owner) && isdefined(var_00) && var_00 != self.owner) + { + var_00 notify("destroyed_explosive"); + } + + thread mineexplode(var_00); } //Function Number: 12 diff --git a/AW/PC/MP/maps/mp/_extrahealth.gsc b/AW/PC/maps/mp/_extrahealth.gsc similarity index 98% rename from AW/PC/MP/maps/mp/_extrahealth.gsc rename to AW/PC/maps/mp/_extrahealth.gsc index c40fd9b..33a0c20 100644 --- a/AW/PC/MP/maps/mp/_extrahealth.gsc +++ b/AW/PC/maps/mp/_extrahealth.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_extrahealth.gsc + * Decompiled File: mp\_extrahealth.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 11 - * Decompile Time: 160 ms - * Timestamp: 10/27/2023 1:48:58 AM + * Decompile Time: 172 ms + * Timestamp: 4/22/2024 2:15:53 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/_fastheal.gsc b/AW/PC/maps/mp/_fastheal.gsc similarity index 95% rename from AW/PC/MP/maps/mp/_fastheal.gsc rename to AW/PC/maps/mp/_fastheal.gsc index fd5a0fa..caaa859 100644 --- a/AW/PC/MP/maps/mp/_fastheal.gsc +++ b/AW/PC/maps/mp/_fastheal.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_fastheal.gsc + * Decompiled File: mp\_fastheal.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 7 - * Decompile Time: 103 ms - * Timestamp: 10/27/2023 1:48:58 AM + * Decompile Time: 112 ms + * Timestamp: 4/22/2024 2:15:53 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/_flashgrenades.gsc b/AW/PC/maps/mp/_flashgrenades.gsc similarity index 97% rename from AW/PC/MP/maps/mp/_flashgrenades.gsc rename to AW/PC/maps/mp/_flashgrenades.gsc index 0f1d2c4..46891b8 100644 --- a/AW/PC/MP/maps/mp/_flashgrenades.gsc +++ b/AW/PC/maps/mp/_flashgrenades.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_flashgrenades.gsc + * Decompiled File: mp\_flashgrenades.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 7 - * Decompile Time: 103 ms - * Timestamp: 10/27/2023 1:48:59 AM + * Decompile Time: 130 ms + * Timestamp: 4/22/2024 2:15:54 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/maps/mp/_fx.gsc b/AW/PC/maps/mp/_fx.gsc similarity index 92% rename from AW/PC/ZM/maps/mp/_fx.gsc rename to AW/PC/maps/mp/_fx.gsc index 0218cb6..dee1265 100644 --- a/AW/PC/ZM/maps/mp/_fx.gsc +++ b/AW/PC/maps/mp/_fx.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_fx.gsc + * Decompiled File: mp\_fx.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 5 - * Decompile Time: 72 ms - * Timestamp: 10/27/2023 2:08:24 AM + * Decompile Time: 93 ms + * Timestamp: 4/22/2024 2:15:55 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/_global_fx.gsc b/AW/PC/maps/mp/_global_fx.gsc similarity index 96% rename from AW/PC/MP/maps/mp/_global_fx.gsc rename to AW/PC/maps/mp/_global_fx.gsc index 6af1753..28836af 100644 --- a/AW/PC/MP/maps/mp/_global_fx.gsc +++ b/AW/PC/maps/mp/_global_fx.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_global_fx.gsc + * Decompiled File: mp\_global_fx.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 14 ms - * Timestamp: 10/27/2023 1:49:00 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:15:55 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/_global_fx_code.gsc b/AW/PC/maps/mp/_global_fx_code.gsc similarity index 90% rename from AW/PC/MP/maps/mp/_global_fx_code.gsc rename to AW/PC/maps/mp/_global_fx_code.gsc index c49fc80..9a26842 100644 --- a/AW/PC/MP/maps/mp/_global_fx_code.gsc +++ b/AW/PC/maps/mp/_global_fx_code.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_global_fx_code.gsc + * Decompiled File: mp\_global_fx_code.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 13 ms - * Timestamp: 10/27/2023 1:49:00 AM + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:15:55 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/maps/mp/_grappling_hook.gsc b/AW/PC/maps/mp/_grappling_hook.gsc similarity index 97% rename from AW/PC/ZM/maps/mp/_grappling_hook.gsc rename to AW/PC/maps/mp/_grappling_hook.gsc index d6904bd..8126b8c 100644 --- a/AW/PC/ZM/maps/mp/_grappling_hook.gsc +++ b/AW/PC/maps/mp/_grappling_hook.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\_grappling_hook.gsc + * Decompiled File: mp\_grappling_hook.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 12 - * Decompile Time: 193 ms - * Timestamp: 10/27/2023 2:07:11 AM + * Decompile Time: 181 ms + * Timestamp: 4/22/2024 2:15:56 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/_lasersight.gsc b/AW/PC/maps/mp/_lasersight.gsc similarity index 94% rename from AW/PC/MP/maps/mp/_lasersight.gsc rename to AW/PC/maps/mp/_lasersight.gsc index 8997a1f..d1062a8 100644 --- a/AW/PC/MP/maps/mp/_lasersight.gsc +++ b/AW/PC/maps/mp/_lasersight.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_lasersight.gsc + * Decompiled File: mp\_lasersight.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 1:49:01 AM + * Decompile Time: 48 ms + * Timestamp: 4/22/2024 2:15:57 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/maps/mp/_load.gsc b/AW/PC/maps/mp/_load.gsc similarity index 75% rename from AW/PC/ZM/maps/mp/_load.gsc rename to AW/PC/maps/mp/_load.gsc index 11863f4..1bb58d6 100644 --- a/AW/PC/ZM/maps/mp/_load.gsc +++ b/AW/PC/maps/mp/_load.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_load.gsc + * Decompiled File: mp\_load.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 9 - * Decompile Time: 135 ms - * Timestamp: 10/27/2023 2:08:26 AM + * Decompile Time: 171 ms + * Timestamp: 4/22/2024 2:15:57 AM *******************************************************************/ //Function Number: 1 @@ -87,30 +87,94 @@ main() } thread maps\mp\_global_fx::main(); - var_02 = 0; - if(var_02 < 6) + for(var_02 = 0;var_02 < 6;var_02++) { switch(var_02) { case 0: + var_03 = "trigger_multiple"; break; case 1: + var_03 = "trigger_once"; break; case 2: + var_03 = "trigger_use"; break; case 3: + var_03 = "trigger_radius"; break; case 4: + var_03 = "trigger_lookat"; break; default: + var_03 = "trigger_damage"; break; } + + var_04 = getentarray(var_03,"classname"); + for(var_01 = 0;var_01 < var_04.size;var_01++) + { + if(isdefined(var_04[var_01].script_prefab_exploder)) + { + var_04[var_01].script_exploder = var_04[var_01].script_prefab_exploder; + } + + if(isdefined(var_04[var_01].script_exploder)) + { + level thread exploder_load(var_04[var_01]); + } + } } + + var_05 = getentarray("trigger_hurt","classname"); + foreach(var_07 in var_05) + { + if(isdefined(level.hurttriggerfunc)) + { + var_07 thread [[ level.hurttriggerfunc ]](); + continue; + } + + var_07 thread hurtplayersthink(); + } + + thread maps\mp\_animatedmodels::main(); + level.func["damagefeedback"] = ::maps\mp\gametypes\_damagefeedback::updatedamagefeedback; + level.func["setTeamHeadIcon"] = ::maps\mp\_entityheadicons::setteamheadicon; + level.laseron_func = ::laseron; + level.laseroff_func = ::laseroff; + level.connectpathsfunction = ::connectpaths; + level.disconnectpathsfunction = ::disconnectpaths; + setdvar("sm_spotLightScoreModelScale",0.1); + setdvar("sm_spotShadowFadeTime",1); + setdvar("r_specularcolorscale",2.5); + setdvar("r_diffusecolorscale",1); + setdvar("r_lightGridEnableTweaks",0); + setdvar("r_lightGridIntensity",1); + setdvar("r_lightGridContrast",0); + setdvar("r_dof_physical_enable",1); + setdvar("r_volumeLightScatter",0); + setdvar("r_uiblurdstmode",0); + setdvar("r_blurdstgaussianblurradius",1); + setdvar("r_dof_physical_bokehEnable",0); + if(level.nextgen) + { + setdvar("sm_polygonOffsetPreset",0); + } + + setupdestructiblekillcaments(); + if(level.virtuallobbyactive == 0 && !isdefined(level.iszombiegame) && level.iszombiegame) + { + precacheitem("bomb_site_mp"); + } + + level.fauxvehiclecount = 0; + load_costume_indices(); } //Function Number: 2 @@ -333,16 +397,49 @@ hurtplayersthink() setupdestructiblekillcaments() { var_00 = getentarray("destructible_vehicle","targetname"); - var_01 = var_00; - var_06 = getfirstarraykey(var_01); - if(isdefined(var_06)) + foreach(var_02 in var_00) { - var_02 = var_01[var_06]; switch(getdvar("mapname")) { case "mp_interchange": + if(var_02.origin[2] > 150) + { + break; + } break; } + + var_03 = var_02.origin + (0,0,5); + var_04 = var_02.origin + (0,0,128); + var_05 = bullettrace(var_03,var_04,0,var_02); + var_02.killcament = spawn("script_model",var_05["position"]); + var_02.killcament.targetname = "killCamEnt_destructible_vehicle"; + var_02.killcament setscriptmoverkillcam("explosive"); + var_02 thread deletedestructiblekillcament(); + } + + var_07 = getentarray("destructible_toy","targetname"); + foreach(var_02 in var_07) + { + var_03 = var_02.origin + (0,0,5); + var_04 = var_02.origin + (0,0,128); + var_05 = bullettrace(var_03,var_04,0,var_02); + var_02.killcament = spawn("script_model",var_05["position"]); + var_02.killcament.targetname = "killCamEnt_destructible_toy"; + var_02.killcament setscriptmoverkillcam("explosive"); + var_02 thread deletedestructiblekillcament(); + } + + var_0A = getentarray("explodable_barrel","targetname"); + foreach(var_02 in var_0A) + { + var_03 = var_02.origin + (0,0,5); + var_04 = var_02.origin + (0,0,128); + var_05 = bullettrace(var_03,var_04,0,var_02); + var_02.killcament = spawn("script_model",var_05["position"]); + var_02.killcament.targetname = "killCamEnt_explodable_barrel"; + var_02.killcament setscriptmoverkillcam("explosive"); + var_02 thread deletedestructiblekillcament(); } } diff --git a/AW/PC/MP/maps/mp/_lsrmissileguidance.gsc b/AW/PC/maps/mp/_lsrmissileguidance.gsc similarity index 93% rename from AW/PC/MP/maps/mp/_lsrmissileguidance.gsc rename to AW/PC/maps/mp/_lsrmissileguidance.gsc index 89899c9..0250e54 100644 --- a/AW/PC/MP/maps/mp/_lsrmissileguidance.gsc +++ b/AW/PC/maps/mp/_lsrmissileguidance.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_lsrmissileguidance.gsc + * Decompiled File: mp\_lsrmissileguidance.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 45 ms - * Timestamp: 10/27/2023 1:49:02 AM + * Decompile Time: 69 ms + * Timestamp: 4/22/2024 2:15:58 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/_matchdata.gsc b/AW/PC/maps/mp/_matchdata.gsc similarity index 99% rename from AW/PC/MP/maps/mp/_matchdata.gsc rename to AW/PC/maps/mp/_matchdata.gsc index e7eac10..3ade8ed 100644 --- a/AW/PC/MP/maps/mp/_matchdata.gsc +++ b/AW/PC/maps/mp/_matchdata.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_matchdata.gsc + * Decompiled File: mp\_matchdata.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 38 - * Decompile Time: 641 ms - * Timestamp: 10/27/2023 1:49:05 AM + * Decompile Time: 644 ms + * Timestamp: 4/22/2024 2:16:00 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/maps/mp/_menus.gsc b/AW/PC/maps/mp/_menus.gsc similarity index 72% rename from AW/PC/ZM/maps/mp/_menus.gsc rename to AW/PC/maps/mp/_menus.gsc index 4513308..d4feee7 100644 --- a/AW/PC/ZM/maps/mp/_menus.gsc +++ b/AW/PC/maps/mp/_menus.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_menus.gsc + * Decompiled File: mp\_menus.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 14 ms - * Timestamp: 10/27/2023 2:08:29 AM + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 2:16:00 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/_microdronelauncher.gsc b/AW/PC/maps/mp/_microdronelauncher.gsc similarity index 98% rename from AW/PC/MP/maps/mp/_microdronelauncher.gsc rename to AW/PC/maps/mp/_microdronelauncher.gsc index 95088f2..8e44f97 100644 --- a/AW/PC/MP/maps/mp/_microdronelauncher.gsc +++ b/AW/PC/maps/mp/_microdronelauncher.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_microdronelauncher.gsc + * Decompiled File: mp\_microdronelauncher.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 18 - * Decompile Time: 281 ms - * Timestamp: 10/27/2023 1:49:06 AM + * Decompile Time: 279 ms + * Timestamp: 4/22/2024 2:16:02 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/_movers.gsc b/AW/PC/maps/mp/_movers.gsc similarity index 84% rename from AW/PC/MP/maps/mp/_movers.gsc rename to AW/PC/maps/mp/_movers.gsc index ccbcf0e..e6651d2 100644 --- a/AW/PC/MP/maps/mp/_movers.gsc +++ b/AW/PC/maps/mp/_movers.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_movers.gsc + * Decompiled File: mp\_movers.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 64 - * Decompile Time: 985 ms - * Timestamp: 10/27/2023 1:49:10 AM + * Decompile Time: 998 ms + * Timestamp: 4/22/2024 2:16:05 AM *******************************************************************/ //Function Number: 1 @@ -126,11 +126,8 @@ script_mover_init() var_00 = common_scripts\utility::getstructarray(self.target,"targetname"); } - var_01 = var_00; - var_03 = getfirstarraykey(var_01); - if(isdefined(var_03)) + foreach(var_02 in var_00) { - var_02 = var_01[var_03]; if(!isdefined(var_02.script_noteworthy)) { continue; @@ -139,16 +136,86 @@ script_mover_init() switch(var_02.script_noteworthy) { case "origin": + if(!isdefined(var_02.angles)) + { + var_02.angles = (0,0,0); + } + + self.origin_ent = spawn("script_model",var_02.origin); + self.origin_ent.angles = var_02.angles; + self.origin_ent setmodel("tag_origin"); + self.origin_ent linkto(self); break; case "scene_node": case "scripted_node": + if(!isdefined(var_02.angles)) + { + var_02.angles = (0,0,0); + } + + self.scripted_node = var_02; break; default: break; } } + + var_04 = []; + if(isdefined(self.target)) + { + var_04 = getentarray(self.target,"targetname"); + } + + foreach(var_02 in var_04) + { + if(!isdefined(var_02.script_noteworthy)) + { + continue; + } + + var_06 = strtok(var_02.script_noteworthy,";"); + foreach(var_08 in var_06) + { + switch(var_08) + { + case "use_trigger_link": + var_02 enablelinkto(); + var_02 linkto(self); + break; + + case "use_trigger": + var_02 script_mover_parse_targets(); + thread script_mover_use_trigger(var_02); + self.use_triggers[self.use_triggers.size] = var_02; + break; + + case "link": + var_02 linkto(self); + self.linked_ents[self.linked_ents.size] = var_02; + break; + + default: + break; + } + } + } + + thread script_mover_parse_targets(); + thread script_mover_init_move_parameters(); + thread script_mover_save_default_move_parameters(); + thread script_mover_set_defaults(); + thread script_mover_apply_move_parameters(self); + thread script_mover_reset_init(); + script_mover_start(); + foreach(var_0C in self.use_triggers) + { + script_mover_set_usable(var_0C,1); + } + + self.script_mover_init = 1; + self notify("script_mover_init"); } //Function Number: 8 @@ -240,8 +307,7 @@ script_mover_parse_targets() var_01 = getentarray(self.target,"targetname"); } - var_02 = 0; - if(var_02 < var_00.size) + for(var_02 = 0;var_02 < var_00.size;var_02++) { var_03 = var_00[var_02]; if(!isdefined(var_03.script_noteworthy)) @@ -252,15 +318,46 @@ script_mover_parse_targets() switch(var_03.script_noteworthy) { case "ignore": + if(isdefined(var_03.target)) + { + var_04 = common_scripts\utility::getstructarray(var_03.target,"targetname"); + foreach(var_06 in var_04) + { + var_00[var_00.size] = var_06; + } + } break; case "goal": + var_03 script_mover_init_move_parameters(); + var_03 script_mover_parse_targets(); + self.goals[self.goals.size] = var_03; + if(isdefined(var_03.params["name"])) + { + if(!isdefined(level.script_mover_named_goals[var_03.params["name"]])) + { + level.script_mover_named_goals[var_03.params["name"]] = []; + } + + var_08 = level.script_mover_named_goals[var_03.params["name"]].size; + level.script_mover_named_goals[var_03.params["name"]][var_08] = var_03; + } break; default: break; } } + + foreach(var_0A in var_01) + { + if(var_0A script_mover_is_script_mover()) + { + self.movers[self.movers.size] = var_0A; + } + + thread script_mover_parse_ent(var_0A); + } } //Function Number: 15 @@ -277,11 +374,8 @@ script_mover_parse_ent(param_00) } var_01 = strtok(param_00.script_noteworthy,";"); - var_02 = var_01; - var_08 = getfirstarraykey(var_02); - if(isdefined(var_08)) + foreach(var_03 in var_01) { - var_03 = var_02[var_08]; var_04 = strtok(var_03,"_"); if(var_04.size < 3 || var_04[1] != "on") { @@ -298,33 +392,46 @@ script_mover_parse_ent(param_00) switch(var_05) { case "connectpaths": + thread script_mover_func_on_notify(param_00,var_06,::script_mover_connectpaths,::script_mover_disconnectpaths); break; case "disconnectpaths": + thread script_mover_func_on_notify(param_00,var_06,::script_mover_disconnectpaths,::script_mover_connectpaths); break; case "solid": + param_00 notsolid(); + thread script_mover_func_on_notify(param_00,var_06,::script_mover_solid,::script_mover_notsolid); break; case "notsolid": + thread script_mover_func_on_notify(param_00,var_06,::script_mover_notsolid,::script_mover_solid); break; case "delete": + thread script_mover_func_on_notify(param_00,var_06,::script_mover_delete); break; case "hide": + thread script_mover_func_on_notify(param_00,var_06,::script_mover_hide,::script_mover_show); break; case "show": + param_00 hide(); + thread script_mover_func_on_notify(param_00,var_06,::script_mover_show,::script_mover_hide); break; case "triggerhide": + thread script_mover_func_on_notify(param_00,var_06,::script_mover_trigger_off,::script_mover_trigger_on); break; case "triggershow": + param_00 common_scripts\utility::trigger_off(); + thread script_mover_func_on_notify(param_00,var_06,::script_mover_trigger_on,::script_mover_trigger_off); break; case "trigger": + thread script_mover_func_on_notify(param_00,var_06,::script_mover_trigger,::script_mover_reset); break; default: @@ -708,11 +815,8 @@ script_mover_parse_move_parameters(param_00) } var_01 = strtok(param_00,";"); - var_02 = var_01; - var_07 = getfirstarraykey(var_02); - if(isdefined(var_07)) + foreach(var_03 in var_01) { - var_03 = var_02[var_07]; var_04 = strtok(var_03,"="); if(var_04.size != 2) { @@ -735,6 +839,7 @@ script_mover_parse_move_parameters(param_00) case "decel_time": case "accel_time": case "move_time": + self.params[var_04[0]] = script_mover_parse_range(var_04[1]); break; case "wait_till": @@ -742,14 +847,22 @@ script_mover_parse_move_parameters(param_00) case "hintstring": case "animation": case "name": + self.params[var_04[0]] = var_04[1]; break; case "delay_till_trigger": case "usable": case "solid": + self.params[var_04[0]] = int(var_04[1]); break; case "script_params": + var_05 = var_04[1]; + var_06 = level.script_mover_parameters[var_05]; + if(isdefined(var_06)) + { + script_mover_parse_move_parameters(var_06); + } break; default: diff --git a/AW/PC/MP/maps/mp/_mp_lights.gsc b/AW/PC/maps/mp/_mp_lights.gsc similarity index 98% rename from AW/PC/MP/maps/mp/_mp_lights.gsc rename to AW/PC/maps/mp/_mp_lights.gsc index 1751b8d..939e271 100644 --- a/AW/PC/MP/maps/mp/_mp_lights.gsc +++ b/AW/PC/maps/mp/_mp_lights.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_mp_lights.gsc + * Decompiled File: mp\_mp_lights.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 23 - * Decompile Time: 364 ms - * Timestamp: 10/27/2023 1:49:11 AM + * Decompile Time: 328 ms + * Timestamp: 4/22/2024 2:16:06 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/_mutebomb.gsc b/AW/PC/maps/mp/_mutebomb.gsc similarity index 96% rename from AW/PC/MP/maps/mp/_mutebomb.gsc rename to AW/PC/maps/mp/_mutebomb.gsc index 0fd96a1..1ba310f 100644 --- a/AW/PC/MP/maps/mp/_mutebomb.gsc +++ b/AW/PC/maps/mp/_mutebomb.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_mutebomb.gsc + * Decompiled File: mp\_mutebomb.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 7 - * Decompile Time: 103 ms - * Timestamp: 10/27/2023 1:49:12 AM + * Decompile Time: 124 ms + * Timestamp: 4/22/2024 2:16:07 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/_na45.gsc b/AW/PC/maps/mp/_na45.gsc similarity index 98% rename from AW/PC/MP/maps/mp/_na45.gsc rename to AW/PC/maps/mp/_na45.gsc index 9fb0f44..72ff45e 100644 --- a/AW/PC/MP/maps/mp/_na45.gsc +++ b/AW/PC/maps/mp/_na45.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_na45.gsc + * Decompiled File: mp\_na45.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 12 - * Decompile Time: 174 ms - * Timestamp: 10/27/2023 1:49:13 AM + * Decompile Time: 186 ms + * Timestamp: 4/22/2024 2:16:08 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/maps/mp/_opticsthermal.gsc b/AW/PC/maps/mp/_opticsthermal.gsc similarity index 92% rename from AW/PC/ZM/maps/mp/_opticsthermal.gsc rename to AW/PC/maps/mp/_opticsthermal.gsc index 48e7821..1688e87 100644 --- a/AW/PC/ZM/maps/mp/_opticsthermal.gsc +++ b/AW/PC/maps/mp/_opticsthermal.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_opticsthermal.gsc + * Decompiled File: mp\_opticsthermal.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 45 ms - * Timestamp: 10/27/2023 2:08:31 AM + * Decompile Time: 71 ms + * Timestamp: 4/22/2024 2:16:08 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/_reinforcements.gsc b/AW/PC/maps/mp/_reinforcements.gsc similarity index 91% rename from AW/PC/MP/maps/mp/_reinforcements.gsc rename to AW/PC/maps/mp/_reinforcements.gsc index f297c28..81ce1d9 100644 --- a/AW/PC/MP/maps/mp/_reinforcements.gsc +++ b/AW/PC/maps/mp/_reinforcements.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_reinforcements.gsc + * Decompiled File: mp\_reinforcements.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 14 - * Decompile Time: 218 ms - * Timestamp: 10/27/2023 1:49:14 AM + * Decompile Time: 217 ms + * Timestamp: 4/22/2024 2:16:09 AM *******************************************************************/ //Function Number: 1 @@ -159,20 +159,22 @@ gettimetoreinforcementfortypems(param_00) switch(param_00) { case 1: - break; + return 120000; case 2: - break; + return 240000; case 3: - break; + return 360000; case 4: - break; + return 60000; default: break; } + + return 0; } //Function Number: 11 @@ -181,20 +183,22 @@ geticontypeforreinforcementoftype(param_00) switch(param_00) { case 1: - break; + return 1; case 2: - break; + return 2; case 3: - break; + return 3; case 4: - break; + return 1; default: break; } + + return 0; } //Function Number: 12 @@ -203,20 +207,22 @@ getcarepackagestreakforreinforcementoftype(param_00) switch(param_00) { case 1: - break; + return "airdrop_reinforcement_common"; case 2: - break; + return "airdrop_reinforcement_uncommon"; case 3: - break; + return "airdrop_reinforcement_rare"; case 4: - break; + return "airdrop_reinforcement_practice"; default: break; } + + return ""; } //Function Number: 13 diff --git a/AW/PC/MP/maps/mp/_riotshield.gsc b/AW/PC/maps/mp/_riotshield.gsc similarity index 99% rename from AW/PC/MP/maps/mp/_riotshield.gsc rename to AW/PC/maps/mp/_riotshield.gsc index c9cc332..ce11ab1 100644 --- a/AW/PC/MP/maps/mp/_riotshield.gsc +++ b/AW/PC/maps/mp/_riotshield.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_riotshield.gsc + * Decompiled File: mp\_riotshield.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 36 - * Decompile Time: 548 ms - * Timestamp: 10/27/2023 1:49:16 AM + * Decompile Time: 542 ms + * Timestamp: 4/22/2024 2:16:11 AM *******************************************************************/ //Function Number: 1 @@ -157,8 +157,10 @@ entisstucktoshield() case "tag_shield_back": case "tag_weapon_left": case "tag_inhand": - break; + return 1; } + + return 0; } //Function Number: 11 diff --git a/AW/PC/MP/maps/mp/_scoreboard.gsc b/AW/PC/maps/mp/_scoreboard.gsc similarity index 97% rename from AW/PC/MP/maps/mp/_scoreboard.gsc rename to AW/PC/maps/mp/_scoreboard.gsc index 09c0245..901d565 100644 --- a/AW/PC/MP/maps/mp/_scoreboard.gsc +++ b/AW/PC/maps/mp/_scoreboard.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_scoreboard.gsc + * Decompiled File: mp\_scoreboard.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 47 ms - * Timestamp: 10/27/2023 1:49:17 AM + * Decompile Time: 56 ms + * Timestamp: 4/22/2024 2:16:11 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/maps/mp/_shutter.gsc b/AW/PC/maps/mp/_shutter.gsc similarity index 97% rename from AW/PC/ZM/maps/mp/_shutter.gsc rename to AW/PC/maps/mp/_shutter.gsc index 4c202bc..98fc072 100644 --- a/AW/PC/ZM/maps/mp/_shutter.gsc +++ b/AW/PC/maps/mp/_shutter.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_shutter.gsc + * Decompiled File: mp\_shutter.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 5 - * Decompile Time: 82 ms - * Timestamp: 10/27/2023 2:08:32 AM + * Decompile Time: 86 ms + * Timestamp: 4/22/2024 2:16:12 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/_snd_common_mp.gsc b/AW/PC/maps/mp/_snd_common_mp.gsc similarity index 98% rename from AW/PC/MP/maps/mp/_snd_common_mp.gsc rename to AW/PC/maps/mp/_snd_common_mp.gsc index c8321c4..02502fc 100644 --- a/AW/PC/MP/maps/mp/_snd_common_mp.gsc +++ b/AW/PC/maps/mp/_snd_common_mp.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_snd_common_mp.gsc + * Decompiled File: mp\_snd_common_mp.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 30 - * Decompile Time: 473 ms - * Timestamp: 10/27/2023 1:49:19 AM + * Decompile Time: 435 ms + * Timestamp: 4/22/2024 2:16:13 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/_stinger.gsc b/AW/PC/maps/mp/_stinger.gsc similarity index 98% rename from AW/PC/MP/maps/mp/_stinger.gsc rename to AW/PC/maps/mp/_stinger.gsc index d0db7ab..36f37ca 100644 --- a/AW/PC/MP/maps/mp/_stinger.gsc +++ b/AW/PC/maps/mp/_stinger.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_stinger.gsc + * Decompiled File: mp\_stinger.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 11 - * Decompile Time: 182 ms - * Timestamp: 10/27/2023 1:49:20 AM + * Decompile Time: 190 ms + * Timestamp: 4/22/2024 2:16:14 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/_javelin.gsc b/AW/PC/maps/mp/_stingerm7.gsc similarity index 99% rename from AW/PC/MP/maps/mp/_javelin.gsc rename to AW/PC/maps/mp/_stingerm7.gsc index bb2a480..7ffd918 100644 --- a/AW/PC/MP/maps/mp/_javelin.gsc +++ b/AW/PC/maps/mp/_stingerm7.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\_javelin.gsc + * Decompiled File: mp\_stingerm7.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 15 - * Decompile Time: 254 ms - * Timestamp: 10/27/2023 1:45:43 AM + * Decompile Time: 234 ms + * Timestamp: 4/22/2024 2:16:15 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/maps/mp/_stock.gsc b/AW/PC/maps/mp/_stock.gsc similarity index 86% rename from AW/PC/ZM/maps/mp/_stock.gsc rename to AW/PC/maps/mp/_stock.gsc index 23d5e19..0c3e7fd 100644 --- a/AW/PC/ZM/maps/mp/_stock.gsc +++ b/AW/PC/maps/mp/_stock.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_stock.gsc + * Decompiled File: mp\_stock.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 14 ms - * Timestamp: 10/27/2023 2:08:33 AM + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:16:16 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/maps/mp/_target_enhancer.gsc b/AW/PC/maps/mp/_target_enhancer.gsc similarity index 88% rename from AW/PC/ZM/maps/mp/_target_enhancer.gsc rename to AW/PC/maps/mp/_target_enhancer.gsc index f814d30..543f20d 100644 --- a/AW/PC/ZM/maps/mp/_target_enhancer.gsc +++ b/AW/PC/maps/mp/_target_enhancer.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_target_enhancer.gsc + * Decompiled File: mp\_target_enhancer.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 14 ms - * Timestamp: 10/27/2023 2:08:34 AM + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 2:16:16 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/_teleport.gsc b/AW/PC/maps/mp/_teleport.gsc similarity index 96% rename from AW/PC/MP/maps/mp/_teleport.gsc rename to AW/PC/maps/mp/_teleport.gsc index b13caa5..cbc57a2 100644 --- a/AW/PC/MP/maps/mp/_teleport.gsc +++ b/AW/PC/maps/mp/_teleport.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_teleport.gsc + * Decompiled File: mp\_teleport.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 59 - * Decompile Time: 962 ms - * Timestamp: 10/27/2023 1:49:26 AM + * Decompile Time: 904 ms + * Timestamp: 4/22/2024 2:16:19 AM *******************************************************************/ //Function Number: 1 @@ -105,20 +105,37 @@ teleport_onstartgametype() switch(level.gametype) { case "dom": + var_01 = ::teleport_onstartgamedom; break; case "ctf": + var_01 = ::teleport_onstartgamectf; break; case "hp": + var_01 = ::teleport_onstartgamehp; break; case "ball": + var_01 = ::teleport_onstartgameball; break; default: break; } + + if(isdefined(var_00)) + { + level [[ var_00 ]](); + } + + level [[ level.teleport_onstartgametype ]](); + if(isdefined(var_01)) + { + level [[ var_01 ]](); + } + + common_scripts\utility::flag_set("teleport_setup_complete"); } //Function Number: 5 @@ -872,11 +889,8 @@ teleport_parse_zone_targets(param_00) var_01 = common_scripts\utility::array_combine(var_02,var_01); } - var_03 = var_01; - var_0D = getfirstarraykey(var_03); - if(isdefined(var_0D)) + foreach(var_04 in var_01) { - var_04 = var_03[var_0D]; if(!isdefined(var_04.script_noteworthy)) { var_04.script_noteworthy = "teleport_origin"; @@ -885,15 +899,46 @@ teleport_parse_zone_targets(param_00) switch(var_04.script_noteworthy) { case "teleport_origin": + var_05 = var_04.origin + (0,0,1); + var_06 = var_04.origin - (0,0,250); + var_07 = bullettrace(var_05,var_06,0); + if(var_07["fraction"] == 1) + { + break; + } + var_04.origin = var_07["position"]; break; case "telport_origin_nodrop": + if(!isdefined(var_04.script_parameters)) + { + var_04.script_parameters = "none,axis,allies"; + } + + var_08 = strtok(var_04.script_parameters,", "); + foreach(var_0A in var_08) + { + if(!isdefined(param_00.teleport_origins[var_0A])) + { + continue; + } + + if(!isdefined(var_04.angles)) + { + var_04.angles = (0,0,0); + } + + var_0B = param_00.teleport_origins[var_0A].size; + param_00.teleport_origins[var_0A][var_0B] = var_04; + } break; default: break; } } + + param_00.origins_pasrsed = 1; } //Function Number: 36 diff --git a/AW/PC/MP/maps/mp/_threatdetection.gsc b/AW/PC/maps/mp/_threatdetection.gsc similarity index 93% rename from AW/PC/MP/maps/mp/_threatdetection.gsc rename to AW/PC/maps/mp/_threatdetection.gsc index a9820ab..38616bf 100644 --- a/AW/PC/MP/maps/mp/_threatdetection.gsc +++ b/AW/PC/maps/mp/_threatdetection.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_threatdetection.gsc + * Decompiled File: mp\_threatdetection.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 38 - * Decompile Time: 599 ms - * Timestamp: 10/27/2023 1:49:28 AM + * Decompile Time: 583 ms + * Timestamp: 4/22/2024 2:16:21 AM *******************************************************************/ //Function Number: 1 @@ -536,15 +536,65 @@ visitorupdatemarkerpos(param_00,param_01,param_02) switch(self getstance()) { case "prone": + var_04 = "threat_detect_model_prone"; break; case "crouch": + var_04 = "threat_detect_model_crouch"; break; case "stand": default: + var_04 = "threat_detect_model_stand"; break; } + + var_05 = param_00 != self._threatdetection.mark_friendly_model; + var_06 = self._threatdetection.friendly_pose; + if(var_05) + { + var_04 = var_04 + "_hostile"; + var_06 = self._threatdetection.hostile_pose; + } + + if(var_06 != var_04) + { + var_07 = anglestoforward(self.angles); + var_08 = anglestoup(self.angles); + if(var_05) + { + self._threatdetection.mark_enemy_model delete(); + self._threatdetection.mark_enemy_model = spawnfx(common_scripts\utility::getfx(var_04),self.origin,var_07,var_08); + self._threatdetection.mark_enemy_model hide(); + self._threatdetection.hostile_pose = var_04; + } + else + { + self._threatdetection.mark_friendly_model delete(); + self._threatdetection.mark_friendly_model = spawnfx(common_scripts\utility::getfx(var_04),self.origin,var_07,var_08); + self._threatdetection.mark_friendly_model hide(); + self._threatdetection.friendly_pose = var_04; + } + } + + if(var_05) + { + triggerfx(self._threatdetection.mark_enemy_model); + return; + } + + triggerfx(self._threatdetection.mark_friendly_model); + return; + } + + if(var_03 == "attached_glow") + { + return; + } + + if(var_03 == "stencil_outline") + { + return; } } diff --git a/AW/PC/ZM/maps/mp/_tracking_drone.gsc b/AW/PC/maps/mp/_tracking_drone.gsc similarity index 83% rename from AW/PC/ZM/maps/mp/_tracking_drone.gsc rename to AW/PC/maps/mp/_tracking_drone.gsc index 7efe764..7c0e47a 100644 --- a/AW/PC/ZM/maps/mp/_tracking_drone.gsc +++ b/AW/PC/maps/mp/_tracking_drone.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_tracking_drone.gsc + * Decompiled File: mp\_tracking_drone.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 48 - * Decompile Time: 830 ms - * Timestamp: 10/27/2023 2:08:40 AM + * Decompile Time: 726 ms + * Timestamp: 4/22/2024 2:16:23 AM *******************************************************************/ //Function Number: 1 @@ -152,15 +152,130 @@ createtrackingdrone(param_00,param_01,param_02,param_03,param_04) switch(self getstance()) { case "stand": + var_0B = 80; break; case "crouch": + var_0B = 65; break; case "prone": + var_0B = 37; break; } + + var_0C = (0,0,var_0B); + var_0C = var_0C + var_0A; + var_0C = var_0C + var_09; + if(isdefined(self.trackingdronestartposition) && isdefined(self.trackingdronestartangles)) + { + var_0D = self.trackingdronestartposition; + var_07 = self.trackingdronestartangles; + } + else + { + var_0D = self.origin + var_0C; + } } + else + { + var_0D = param_04; + var_0E = param_02; + var_07 = param_03; + } + + var_0F = self; + if(isdefined(level.ishorde) && level.ishorde) + { + var_0F = level.player; + } + + var_10 = spawnhelicopter(var_0F,var_0D,var_07,level.trackingdronesettings.vehicleinfo,level.trackingdronesettings.modelbase); + if(!isdefined(var_10)) + { + return; + } + + if(isdefined(param_04)) + { + var_10.type = "explosive_drone"; + var_10 setmodel("vehicle_pdrone"); + } + else + { + var_10.type = "tracking_drone"; + } + + var_10 common_scripts\utility::make_entity_sentient_mp(self.team); + var_10 makevehiclenotcollidewithplayers(1); + var_10 addtotrackingdronelist(); + var_10 thread removefromtrackingdronelistondeath(); + var_10.health = level.trackingdronesettings.health; + var_10.maxhealth = level.trackingdronesettings.maxhealth; + var_10.damagetaken = 0; + var_10.speed = 20; + var_10.followspeed = 20; + var_10.owner = self; + var_10.team = self.team; + var_10 vehicle_setspeed(var_10.speed,10,10); + var_10 setyawspeed(120,90); + var_10 setneargoalnotifydist(64); + var_10 sethoverparams(4,5,5); + var_10.fx_tag0 = undefined; + if(isdefined(var_10.type)) + { + if(var_10.type == "tracking_drone") + { + var_10.fx_tag0 = "fx_joint_0"; + } + else if(var_10.type == "explosive_drone") + { + var_10.fx_tag0 = "TAG_EYE"; + } + } + + if(level.teambased) + { + var_10 maps\mp\_entityheadicons::setteamheadicon(self.team,(0,0,25),var_10.fx_tag0); + } + else + { + var_10 maps\mp\_entityheadicons::setplayerheadicon(self.owner,(0,0,25),var_10.fx_tag0); + } + + var_10.maxtrackingrange = 2000; + var_10.maxlaserrange = 300; + var_10.trackedplayer = undefined; + var_11 = 45; + var_12 = 45; + var_10 setmaxpitchroll(var_11,var_12); + var_10.targetpos = var_0D; + var_10.attract_strength = 10000; + var_10.attract_range = 150; + var_10.attractor = missile_createattractorent(var_10,var_10.attract_strength,var_10.attract_range); + var_10.hasdodged = 0; + var_10.stunned = 0; + var_10.inactive = 0; + var_10 thread maps\mp\gametypes\_damage::setentitydamagecallback(var_10.maxhealth,undefined,::ontrackingdronedeath,undefined,0); + var_10 thread trackingdrone_watchdisable(); + var_10 thread trackingdrone_watchdeath(); + var_10 thread trackingdrone_watchownerloss(); + var_10 thread trackingdrone_watchownerdeath(); + var_10 thread trackingdrone_watchroundend(); + var_10 thread trackingdrone_watchhostmigration(); + if(!isdefined(level.ishorde)) + { + var_10 thread trackingdrone_watchtimeout(); + } + + if(var_10.type == "tracking_drone") + { + var_10 thread trackingdrone_enemy_lightfx(); + var_10 thread trackingdrone_friendly_lightfx(); + var_10 thread drone_thrusterfx(); + } + + return var_10; } //Function Number: 5 @@ -563,15 +678,43 @@ trackingdrone_movetoplayer(param_00) switch(param_00 getstance()) { case "stand": + var_03 = 105; break; case "crouch": + var_03 = 75; break; case "prone": + var_03 = 45; break; } } + else + { + var_01 = -65; + var_02 = 0; + switch(param_00 getstance()) + { + case "stand": + var_03 = 65; + break; + + case "crouch": + var_03 = 50; + break; + + case "prone": + var_03 = 22; + break; + } + } + + var_04 = (var_02,var_01,var_03); + self setdronegoalpos(param_00,var_04); + self.intransit = 1; + thread trackingdrone_watchforgoal(); + thread trackingdrone_watchtargetdisconnect(); } //Function Number: 19 @@ -628,23 +771,58 @@ trackingdrone_highlighttarget() self.owner endon("joined_spectators"); self.lasertag = spawn("script_model",self.origin); self.lasertag setmodel("tag_laser"); - if(isdefined(self.trackedplayer)) + for(;;) { - self.lasertag.origin = self gettagorigin("tag_weapon"); - var_00 = 20; - var_01 = (randomfloat(var_00),randomfloat(var_00),randomfloat(var_00)) - (10,10,10); - var_02 = 65; - switch(self.trackedplayer getstance()) + if(isdefined(self.trackedplayer)) { - case "stand": - break; + self.lasertag.origin = self gettagorigin("tag_weapon"); + var_00 = 20; + var_01 = (randomfloat(var_00),randomfloat(var_00),randomfloat(var_00)) - (10,10,10); + var_02 = 65; + switch(self.trackedplayer getstance()) + { + case "stand": + var_02 = 65; + break; + + case "crouch": + var_02 = 50; + break; + + case "prone": + var_02 = 22; + break; + } - case "crouch": - break; - - case "prone": - break; + self.lasertag.angles = vectortoangles(self.trackedplayer.origin + (0,0,var_02 - 20) + var_01 - self.origin); } + + if(isdefined(self.stunned) && self.stunned) + { + wait(0.5); + continue; + } + + var_03 = undefined; + if(isdefined(self.trackedplayer)) + { + var_04 = bullettrace(self.origin,self.trackedplayer.origin,1,self); + var_03 = var_04["entity"]; + } + + if(isdefined(self.trackedplayer) && self.trackedplayer != self.owner && isdefined(var_03) && var_03 == self.trackedplayer && distancesquared(self.origin,self.trackedplayer.origin) < self.maxlaserrange * self.maxlaserrange) + { + if(self.trackedplayer.is_being_tracked == 0) + { + starthighlightingplayer(self.trackedplayer); + } + } + else if(isdefined(self.trackedplayer) && self.trackedplayer.is_being_tracked == 1) + { + stophighlightingplayer(self.trackedplayer); + } + + wait(0.05); } } diff --git a/AW/PC/ZM/maps/mp/_trackrounds.gsc b/AW/PC/maps/mp/_trackrounds.gsc similarity index 95% rename from AW/PC/ZM/maps/mp/_trackrounds.gsc rename to AW/PC/maps/mp/_trackrounds.gsc index df96730..385be2a 100644 --- a/AW/PC/ZM/maps/mp/_trackrounds.gsc +++ b/AW/PC/maps/mp/_trackrounds.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_trackrounds.gsc + * Decompiled File: mp\_trackrounds.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 5 - * Decompile Time: 71 ms - * Timestamp: 10/27/2023 2:08:40 AM + * Decompile Time: 89 ms + * Timestamp: 4/22/2024 2:16:24 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/_tridrone.gsc b/AW/PC/maps/mp/_tridrone.gsc similarity index 90% rename from AW/PC/MP/maps/mp/_tridrone.gsc rename to AW/PC/maps/mp/_tridrone.gsc index ebad713..a403789 100644 --- a/AW/PC/MP/maps/mp/_tridrone.gsc +++ b/AW/PC/maps/mp/_tridrone.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_tridrone.gsc + * Decompiled File: mp\_tridrone.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 27 - * Decompile Time: 444 ms - * Timestamp: 10/27/2023 1:49:33 AM + * Decompile Time: 416 ms + * Timestamp: 4/22/2024 2:16:25 AM *******************************************************************/ //Function Number: 1 @@ -331,27 +331,67 @@ minedamagemonitor() self.maxhealth = 100000; self.health = self.maxhealth; var_00 = undefined; - self waittill("damage",var_01,var_00,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09); - if(!isplayer(var_00)) + for(;;) { - continue; - } - - if(!maps\mp\gametypes\_weapons::friendlyfirecheck(self.owner,var_00)) - { - continue; - } - - if(isdefined(var_09)) - { - var_0A = maps\mp\_utility::strip_suffix(var_09,"_lefthand"); - switch(var_0A) + self waittill("damage",var_01,var_00,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09); + if(!isplayer(var_00)) { - case "smoke_grenade_var_mp": - case "smoke_grenade_mp": - break; + continue; + } + + if(!maps\mp\gametypes\_weapons::friendlyfirecheck(self.owner,var_00)) + { + continue; + } + + if(isdefined(var_09)) + { + var_0A = maps\mp\_utility::strip_suffix(var_09,"_lefthand"); + switch(var_0A) + { + case "smoke_grenade_var_mp": + case "smoke_grenade_mp": + break; + } + } + + break; + } + + self notify("mine_destroyed"); + removegroupedtridrone(); + if(isdefined(var_04) && issubstr(var_04,"MOD_GRENADE") || issubstr(var_04,"MOD_EXPLOSIVE")) + { + self.waschained = 1; + } + + if(isdefined(var_08) && var_08 & level.idflags_penetration) + { + self.wasdamagedfrombulletpenetration = 1; + } + + self.wasdamaged = 1; + if(isplayer(var_00)) + { + var_00 maps\mp\gametypes\_damagefeedback::updatedamagefeedback("bouncing_betty"); + } + + if(level.teambased) + { + if(isdefined(var_00) && isdefined(var_00.pers["team"]) && isdefined(self.owner) && isdefined(self.owner.pers["team"])) + { + if(var_00.pers["team"] != self.owner.pers["team"]) + { + var_00 notify("destroyed_explosive"); + } } } + else if(isdefined(self.owner) && isdefined(var_00) && var_00 != self.owner) + { + var_00 notify("destroyed_explosive"); + } + + thread mineexplode(var_00); } //Function Number: 17 diff --git a/AW/PC/MP/maps/mp/_utility.gsc b/AW/PC/maps/mp/_utility.gsc similarity index 99% rename from AW/PC/MP/maps/mp/_utility.gsc rename to AW/PC/maps/mp/_utility.gsc index 9b3b878..6efea0c 100644 --- a/AW/PC/MP/maps/mp/_utility.gsc +++ b/AW/PC/maps/mp/_utility.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_utility.gsc + * Decompiled File: mp\_utility.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 392 - * Decompile Time: 6038 ms - * Timestamp: 10/27/2023 1:49:51 AM + * Decompile Time: 5728 ms + * Timestamp: 4/22/2024 2:16:43 AM *******************************************************************/ //Function Number: 1 @@ -3319,8 +3319,10 @@ isdestructibleweapon(param_00) case "destructible": case "destructible_car": case "destructible_toy": - break; + return 1; } + + return 0; } //Function Number: 200 @@ -3359,8 +3361,10 @@ isbombsiteweapon(param_00) case "bomb_site_mp": case "search_dstry_bomb_defuse_mp": case "search_dstry_bomb_mp": - break; + return 1; } + + return 0; } //Function Number: 204 @@ -3394,10 +3398,10 @@ is_legacy_weapon(param_00) case "iw5_dlcgun7loot0": case "iw5_dlcgun6loot5": case "iw5_dlcgun6": - break; + return 1; default: - break; + return 0; } } @@ -4044,10 +4048,10 @@ iscacprimaryweapon(param_00) case "weapon_riot": case "weapon_assault": case "weapon_smg": - break; + return 1; default: - break; + return 0; } } @@ -4060,10 +4064,10 @@ iscacsecondaryweapon(param_00) case "weapon_machine_pistol": case "weapon_pistol": case "weapon_projectile": - break; + return 1; default: - break; + return 0; } } @@ -4717,10 +4721,10 @@ isridekillstreak(param_00) case "mp_levity": case "mp_detroit": case "mp_dam": - break; + return 1; default: - break; + return 0; } } @@ -4734,10 +4738,10 @@ iscarrykillstreak(param_00) case "deployable_grenades": case "deployable_ammo": case "sentry": - break; + return 1; default: - break; + return 0; } } @@ -4751,8 +4755,10 @@ shouldpreventearlyuse(param_00) case "orbitalsupport": case "orbital_strike_laser": case "missile_strike": - break; + return 1; } + + return 0; } //Function Number: 280 @@ -4770,10 +4776,10 @@ iskillstreakaffectedbyemp(param_00) case "deployable_juicebox": case "deployable_grenades": case "deployable_ammo": - break; + return 0; default: - break; + return 1; } } @@ -4800,10 +4806,10 @@ isflyingkillstreak(param_00) case "orbital_strike_laser": case "orbital_strike": case "missile_strike": - break; + return 0; default: - break; + return 1; } } @@ -4924,23 +4930,32 @@ getkillstreakweapon(param_00,param_01) //Function Number: 297 _getmodulekillstreakweapon(param_00,param_01) { - var_02 = param_01; - var_04 = getfirstarraykey(var_02); - if(isdefined(var_04)) + foreach(var_03 in param_01) { - var_03 = var_02[var_04]; switch(var_03) { case "warbird_ai_follow": case "warbird_ai_attack": + if(issubstr(param_00,"warbird")) + { + return tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,"uav",level.global_tables["killstreakTable"].weapon_col); + } break; case "assault_ugv_ai": + if(issubstr(param_00,"ugv")) + { + return tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,"uav",level.global_tables["killstreakTable"].weapon_col); + } break; case "turretheadmg_mp": case "turretheadrocket_mp": case "turretheadenergy_mp": + if(issubstr(param_00,"ripped_turret")) + { + return var_03; + } break; default: @@ -5441,12 +5456,16 @@ getteamindex(param_00) switch(param_00) { case "axis": + var_01 = 1; break; case "allies": + var_01 = 2; break; } } + + return var_01; } //Function Number: 329 @@ -6128,14 +6147,21 @@ makegloballyusablebytype(param_00,param_01,param_02,param_03) switch(param_00) { case "killstreakRemote": + var_04 = 300; break; case "coopStreakPrompt": + var_04 = 301; break; default: break; } + + _insertintoglobalusablelist(var_04,param_00,param_02,param_03); + self makeglobalusable(var_04,param_02,param_03); + self sethintstring(param_01); + self setcursorhint("HINT_NOICON"); } //Function Number: 369 @@ -6281,10 +6307,10 @@ is_exo_ability_weapon(param_00) case "exocloak_equipment_mp": case "extra_health_mp": case "adrenaline_mp": - break; + return 1; default: - break; + return 0; } } diff --git a/AW/PC/MP/maps/mp/_vl_base.gsc b/AW/PC/maps/mp/_vl_base.gsc similarity index 99% rename from AW/PC/MP/maps/mp/_vl_base.gsc rename to AW/PC/maps/mp/_vl_base.gsc index fd91501..a53956e 100644 --- a/AW/PC/MP/maps/mp/_vl_base.gsc +++ b/AW/PC/maps/mp/_vl_base.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\_vl_base.gsc + * Decompiled File: mp\_vl_base.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 30 - * Decompile Time: 521 ms - * Timestamp: 10/27/2023 1:46:37 AM + * Decompile Time: 460 ms + * Timestamp: 4/22/2024 2:16:44 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/_vl_camera.gsc b/AW/PC/maps/mp/_vl_camera.gsc similarity index 98% rename from AW/PC/MP/maps/mp/_vl_camera.gsc rename to AW/PC/maps/mp/_vl_camera.gsc index eb4a602..0246917 100644 --- a/AW/PC/MP/maps/mp/_vl_camera.gsc +++ b/AW/PC/maps/mp/_vl_camera.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\_vl_camera.gsc + * Decompiled File: mp\_vl_camera.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 121 - * Decompile Time: 2033 ms - * Timestamp: 10/27/2023 1:46:43 AM + * Decompile Time: 1810 ms + * Timestamp: 4/22/2024 2:16:50 AM *******************************************************************/ //Function Number: 1 @@ -3521,18 +3521,106 @@ start_anim() { case "prelobby_loot": case "prelobby": + var_00 = 0; + if(isdefined(level.vlavatars)) + { + foreach(var_02 in level.vlavatars) + { + if(!isdefined(var_02.animalias)) + { + var_03 = var_02.avatar_spawnpoint findpositionnum(); + if(isdefined(self.ownerid) && self.ownerid == 0) + { + var_00 = 8; + } + else if(var_03 < level.num_lobby_idles) + { + var_00 = var_03; + } + else + { + var_00++; + if(var_00 >= level.num_lobby_idles) + { + var_00 = 0; + } + } + + var_04 = "lobby_idle"; + use_animstate(var_00,undefined,var_04); + } + } + } break; case "cac": case "transition": case "game_lobby": + var_00 = 0; + if(isdefined(level.vlavatars)) + { + foreach(var_02 in level.vlavatars) + { + if(!isdefined(var_02.animalias)) + { + var_03 = var_02.avatar_spawnpoint findpositionnum(); + if(isdefined(self.ownerid) && self.ownerid == 0) + { + var_00 = 8; + } + else if(var_03 < level.num_lobby_idles) + { + var_00 = var_03; + } + else + { + var_00++; + if(var_00 >= level.num_lobby_idles) + { + var_00 = 0; + } + } + + var_04 = "lobby_idle"; + use_animstate(var_00,undefined,var_04); + } + } + } break; case "clanprofile": case "cao": + if(!isdefined(self.animalias)) + { + if(isdefined(self.ownerid) && self.ownerid == 0) + { + var_00 = 8; + } + else + { + var_00 = randomintrange(0,level.num_lobby_idles - 1); + } + + var_04 = "lobby_idle"; + use_animstate(var_00,undefined,var_04); + } break; default: + if(!isdefined(self.animalias)) + { + if(isdefined(self.ownerid) && self.ownerid == 0) + { + var_00 = 8; + } + else + { + var_00 = randomintrange(0,level.num_lobby_idles - 1); + } + + var_04 = "lobby_idle"; + use_animstate(var_00,undefined,var_04); + } break; } } diff --git a/AW/PC/MP/maps/mp/_vl_firingrange.gsc b/AW/PC/maps/mp/_vl_firingrange.gsc similarity index 99% rename from AW/PC/MP/maps/mp/_vl_firingrange.gsc rename to AW/PC/maps/mp/_vl_firingrange.gsc index e6cfe83..67cf846 100644 --- a/AW/PC/MP/maps/mp/_vl_firingrange.gsc +++ b/AW/PC/maps/mp/_vl_firingrange.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\_vl_firingrange.gsc + * Decompiled File: mp\_vl_firingrange.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 82 - * Decompile Time: 1347 ms - * Timestamp: 10/27/2023 1:46:48 AM + * Decompile Time: 1203 ms + * Timestamp: 4/22/2024 2:16:54 AM *******************************************************************/ //Function Number: 1 @@ -1319,10 +1319,10 @@ isbadequipment(param_00) case "exoknife_mp": case "specialty_null": case "none": - break; + return 1; default: - break; + return 0; } } @@ -1499,9 +1499,11 @@ target_logic() break; case "cover": + thread popinpopout(); break; case "move": + thread movebackforth(); break; } } diff --git a/AW/PC/MP/maps/mp/_vl_selfiebooth.gsc b/AW/PC/maps/mp/_vl_selfiebooth.gsc similarity index 96% rename from AW/PC/MP/maps/mp/_vl_selfiebooth.gsc rename to AW/PC/maps/mp/_vl_selfiebooth.gsc index f226913..6c358ff 100644 --- a/AW/PC/MP/maps/mp/_vl_selfiebooth.gsc +++ b/AW/PC/maps/mp/_vl_selfiebooth.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\_vl_selfiebooth.gsc + * Decompiled File: mp\_vl_selfiebooth.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 5 - * Decompile Time: 95 ms - * Timestamp: 10/27/2023 1:46:48 AM + * Decompile Time: 82 ms + * Timestamp: 4/22/2024 2:16:54 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/_water.gsc b/AW/PC/maps/mp/_water.gsc similarity index 94% rename from AW/PC/MP/maps/mp/_water.gsc rename to AW/PC/maps/mp/_water.gsc index 98ea3b7..bbb5cf7 100644 --- a/AW/PC/MP/maps/mp/_water.gsc +++ b/AW/PC/maps/mp/_water.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_water.gsc + * Decompiled File: mp\_water.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 27 - * Decompile Time: 441 ms - * Timestamp: 10/27/2023 1:49:53 AM + * Decompile Time: 384 ms + * Timestamp: 4/22/2024 2:16:56 AM *******************************************************************/ //Function Number: 1 @@ -593,17 +593,31 @@ playerenableunderwater(param_00) switch(param_00) { case "deep": + give_water_weapon(level.deep_water_weapon); + self switchtoweaponimmediate(level.deep_water_weapon); + self.underwatermotiontype = "deep"; break; case "shallow": + give_water_weapon(level.shallow_water_weapon); + self switchtoweaponimmediate(level.shallow_water_weapon); + self.underwatermotiontype = "shallow"; break; case "none": + self.underwatermotiontype = "none"; break; default: + give_water_weapon(level.shallow_water_weapon); + self switchtoweaponimmediate(level.shallow_water_weapon); + self.underwatermotiontype = "shallow"; break; } + + self disableweaponpickup(); + common_scripts\utility::_disableweaponswitch(); + common_scripts\utility::_disableoffhandweapons(); } //Function Number: 20 @@ -649,17 +663,23 @@ playerdisableunderwater() switch(var_00) { case "deep": + take_water_weapon(level.deep_water_weapon); break; case "shallow": + take_water_weapon(level.shallow_water_weapon); break; case "none": break; default: + take_water_weapon(level.shallow_water_weapon); break; } + + self.underwatermotiontype = undefined; + self.dont_give_or_take_weapon = undefined; } } @@ -721,9 +741,9 @@ isvalidunderwaterweapon(param_00) case "iw5_underwater_mp": case "iw5_combatknife_mp": case "none": - break; + return 1; default: - break; + return 0; } } \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/_zipline.gsc b/AW/PC/maps/mp/_zipline.gsc similarity index 80% rename from AW/PC/ZM/maps/mp/_zipline.gsc rename to AW/PC/maps/mp/_zipline.gsc index b79aa2a..23809a4 100644 --- a/AW/PC/ZM/maps/mp/_zipline.gsc +++ b/AW/PC/maps/mp/_zipline.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_zipline.gsc + * Decompiled File: mp\_zipline.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 13 * Decompile Time: 204 ms - * Timestamp: 10/27/2023 2:09:00 AM + * Timestamp: 4/22/2024 2:16:57 AM *******************************************************************/ //Function Number: 1 @@ -167,12 +167,79 @@ onuse_elevator(param_00) switch(self.location) { case "floor1": + if(level.elevator.states["floor1"] == "closed") + { + if(level.elevator.location == "floor1") + { + if(level.elevator.states["elevator"] == "closed") + { + level thread open("floor1"); + level thread open("elevator"); + } + } + else if(level.elevator.location == "floor2") + { + if(level.elevator.states["elevator"] == "opened") + { + level notify("stop_autoClose"); + level thread close("floor2"); + level close("elevator"); + } + + if(level.elevator.states["elevator"] == "closed") + { + level move(); + level thread open("floor1"); + level thread open("elevator"); + } + } + } break; case "floor2": + if(level.elevator.states["floor2"] == "closed") + { + if(level.elevator.location == "floor2") + { + if(level.elevator.states["elevator"] == "closed") + { + level thread open("floor2"); + level thread open("elevator"); + } + } + else if(level.elevator.location == "floor1") + { + if(level.elevator.states["elevator"] == "opened") + { + level notify("stop_autoClose"); + level thread close("floor1"); + level close("elevator"); + } + + if(level.elevator.states["elevator"] == "closed") + { + level move(); + level thread open("floor2"); + level thread open("elevator"); + } + } + } break; case "elevator": + if(level.elevator.states["elevator"] == "opened") + { + level notify("stop_autoClose"); + level thread close(level.elevator.location); + level close("elevator"); + } + + if(level.elevator.states["elevator"] == "closed") + { + level move(); + level thread open(level.elevator.location); + level thread open("elevator"); + } break; } } diff --git a/AW/PC/MP/maps/mp/agents/_agent_common.gsc b/AW/PC/maps/mp/agents/_agent_common.gsc similarity index 95% rename from AW/PC/MP/maps/mp/agents/_agent_common.gsc rename to AW/PC/maps/mp/agents/_agent_common.gsc index 15fc9c2..fc8af65 100644 --- a/AW/PC/MP/maps/mp/agents/_agent_common.gsc +++ b/AW/PC/maps/mp/agents/_agent_common.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\agents\_agent_common.gsc + * Decompiled File: mp\agents\_agent_common.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 8 - * Decompile Time: 141 ms - * Timestamp: 10/27/2023 1:40:57 AM + * Decompile Time: 136 ms + * Timestamp: 4/22/2024 2:08:15 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/maps/mp/agents/_agent_utility.gsc b/AW/PC/maps/mp/agents/_agent_utility.gsc similarity index 98% rename from AW/PC/ZM/maps/mp/agents/_agent_utility.gsc rename to AW/PC/maps/mp/agents/_agent_utility.gsc index 7c42337..ad9254b 100644 --- a/AW/PC/ZM/maps/mp/agents/_agent_utility.gsc +++ b/AW/PC/maps/mp/agents/_agent_utility.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\agents\_agent_utility.gsc + * Decompiled File: mp\agents\_agent_utility.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 15 - * Decompile Time: 263 ms - * Timestamp: 10/27/2023 2:07:04 AM + * Decompile Time: 243 ms + * Timestamp: 4/22/2024 2:08:16 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/agents/_agents.gsc b/AW/PC/maps/mp/agents/_agents.gsc similarity index 95% rename from AW/PC/MP/maps/mp/agents/_agents.gsc rename to AW/PC/maps/mp/agents/_agents.gsc index 1a752f9..80b60c8 100644 --- a/AW/PC/MP/maps/mp/agents/_agents.gsc +++ b/AW/PC/maps/mp/agents/_agents.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\agents\_agents.gsc + * Decompiled File: mp\agents\_agents.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 13 - * Decompile Time: 238 ms - * Timestamp: 10/27/2023 1:40:59 AM + * Decompile Time: 207 ms + * Timestamp: 4/22/2024 2:08:17 AM *******************************************************************/ //Function Number: 1 @@ -387,13 +387,33 @@ on_agent_generic_damaged(param_00,param_01,param_02,param_03,param_04,param_05,p case "neck": case "helmet": case "head": + var_0C = "headshot"; + break; + } + } + else + { + switch(param_08) + { + case "neck": + case "helmet": + case "head": + var_0C = "killshot_headshot"; + break; + + default: + var_0C = "killshot"; break; } } } } } + + param_01 thread maps\mp\gametypes\_damagefeedback::updatedamagefeedback(var_0C); } + + return self [[ maps\mp\agents\_agent_utility::agentfunc("on_damaged_finished") ]](param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09); } //Function Number: 10 diff --git a/AW/PC/maps/mp/agents/_agents_gametype_ball.gsc b/AW/PC/maps/mp/agents/_agents_gametype_ball.gsc new file mode 100644 index 0000000..23a9077 --- /dev/null +++ b/AW/PC/maps/mp/agents/_agents_gametype_ball.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\agents\_agents_gametype_ball.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:08:17 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/agents/_agents_gametype_conf.gsc b/AW/PC/maps/mp/agents/_agents_gametype_conf.gsc new file mode 100644 index 0000000..bbcc82f --- /dev/null +++ b/AW/PC/maps/mp/agents/_agents_gametype_conf.gsc @@ -0,0 +1,75 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\agents\_agents_gametype_conf.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 4 + * Decompile Time: 70 ms + * Timestamp: 4/22/2024 2:08:18 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setup_callbacks(); +} + +//Function Number: 2 +setup_callbacks() +{ + level.agent_funcs["squadmate"]["gametype_update"] = ::agent_squadmember_conf_think; + level.agent_funcs["player"]["think"] = ::agent_player_conf_think; +} + +//Function Number: 3 +agent_player_conf_think() +{ + thread maps\mp\bots\_bots_gametype_conf::bot_conf_think(); +} + +//Function Number: 4 +agent_squadmember_conf_think() +{ + if(!isdefined(self.tags_seen_by_owner)) + { + self.tags_seen_by_owner = []; + } + + if(!isdefined(self.next_time_check_tags)) + { + self.next_time_check_tags = gettime() + 500; + } + + if(gettime() > self.next_time_check_tags) + { + self.next_time_check_tags = gettime() + 500; + var_00 = 0.78; + var_01 = self.owner getnearestnode(); + if(isdefined(var_01)) + { + var_02 = self.owner maps\mp\bots\_bots_gametype_conf::bot_find_visible_tags(1,var_01,var_00); + self.tags_seen_by_owner = maps\mp\bots\_bots_gametype_conf::bot_combine_tag_seen_arrays(var_02,self.tags_seen_by_owner); + } + } + + self.tags_seen_by_owner = maps\mp\bots\_bots_gametype_conf::bot_remove_invalid_tags(self.tags_seen_by_owner); + var_03 = maps\mp\bots\_bots_gametype_conf::bot_find_best_tag_from_array(self.tags_seen_by_owner,0); + if(isdefined(var_03)) + { + if(!isdefined(self.tag_getting) || distancesquared(var_03.curorigin,self.tag_getting.curorigin) > 1) + { + self.tag_getting = var_03; + maps\mp\bots\_bots_strategy::bot_defend_stop(); + self botsetscriptgoal(self.tag_getting.curorigin,0,"objective",undefined,level.bot_tag_obj_radius); + } + + return 1; + } + else if(isdefined(self.tag_getting)) + { + self botclearscriptgoal(); + self.tag_getting = undefined; + } + + return 0; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/agents/_agents_gametype_ctf.gsc b/AW/PC/maps/mp/agents/_agents_gametype_ctf.gsc new file mode 100644 index 0000000..8cf7ef1 --- /dev/null +++ b/AW/PC/maps/mp/agents/_agents_gametype_ctf.gsc @@ -0,0 +1,21 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\agents\_agents_gametype_ctf.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 45 ms + * Timestamp: 4/22/2024 2:08:18 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setup_callbacks(); +} + +//Function Number: 2 +setup_callbacks() +{ + level.agent_funcs["player"]["think"] = ::maps\mp\bots\_bots_gametype_ctf::bot_ctf_think; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/agents/_agents_gametype_dm.gsc b/AW/PC/maps/mp/agents/_agents_gametype_dm.gsc new file mode 100644 index 0000000..f656eba --- /dev/null +++ b/AW/PC/maps/mp/agents/_agents_gametype_dm.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\agents\_agents_gametype_dm.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:08:19 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/agents/_agents_gametype_dom.gsc b/AW/PC/maps/mp/agents/_agents_gametype_dom.gsc new file mode 100644 index 0000000..0b394f7 --- /dev/null +++ b/AW/PC/maps/mp/agents/_agents_gametype_dom.gsc @@ -0,0 +1,57 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\agents\_agents_gametype_dom.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 4 + * Decompile Time: 83 ms + * Timestamp: 4/22/2024 2:08:19 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setup_callbacks(); +} + +//Function Number: 2 +setup_callbacks() +{ + level.agent_funcs["squadmate"]["gametype_update"] = ::agent_squadmember_dom_think; + level.agent_funcs["player"]["think"] = ::agent_player_dom_think; +} + +//Function Number: 3 +agent_player_dom_think() +{ + thread maps\mp\bots\_bots_gametype_dom::bot_dom_think(); +} + +//Function Number: 4 +agent_squadmember_dom_think() +{ + var_00 = undefined; + foreach(var_02 in self.owner.touchtriggers) + { + if(var_02.useobj.id == "domFlag") + { + var_00 = var_02; + } + } + + if(isdefined(var_00)) + { + var_04 = var_00 maps\mp\gametypes\dom::getflagteam(); + if(var_04 != self.team) + { + if(!maps\mp\bots\_bots_gametype_dom::bot_is_capturing_flag(var_00)) + { + maps\mp\bots\_bots_gametype_dom::capture_flag(var_00,"critical",1); + } + + return 1; + } + } + + return 0; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/agents/_agents_gametype_gun.gsc b/AW/PC/maps/mp/agents/_agents_gametype_gun.gsc new file mode 100644 index 0000000..2cdf89c --- /dev/null +++ b/AW/PC/maps/mp/agents/_agents_gametype_gun.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\agents\_agents_gametype_gun.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:08:20 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/agents/_agents_gametype_horde.gsc b/AW/PC/maps/mp/agents/_agents_gametype_horde.gsc new file mode 100644 index 0000000..b46ad72 --- /dev/null +++ b/AW/PC/maps/mp/agents/_agents_gametype_horde.gsc @@ -0,0 +1,724 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\agents\_agents_gametype_horde.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 33 + * Decompile Time: 579 ms + * Timestamp: 4/22/2024 2:08:22 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setup_callbacks(); + level thread runroundspawning(); + if(maps\mp\_utility::getmapname() == "mp_detroit") + { + level.goliathexploittrigger = spawn("trigger_radius",(-1662,-72,582.5),0,86,64); + } +} + +//Function Number: 2 +setup_callbacks() +{ + level.agent_funcs["player"]["onAIConnect"] = ::onaiconnect; + level.agent_funcs["player"]["think"] = ::enemyagentthink; + level.agent_funcs["player"]["on_killed"] = ::onagentkilled; + level.agent_funcs["squadmate"]["onAIConnect"] = ::onaiconnect; + level.agent_funcs["squadmate"]["think"] = ::allyagentthink; + level.agent_funcs["dog"]["onAIConnect"] = ::onaiconnect; + level.agent_funcs["dog"]["think"] = ::agentdogthink; + level.agent_funcs["dog"]["on_killed"] = ::ondogkilled; +} + +//Function Number: 3 +onaiconnect() +{ + self.gamemodefirstspawn = 1; + self.agentname = &"HORDE_GRUNT"; + self.horde_type = ""; +} + +//Function Number: 4 +runroundspawning() +{ + level endon("game_ended"); + for(;;) + { + level waittill("start_round"); + wait(2); + if(maps\mp\_utility::getmapname() == "mp_prison_z" && level.currentroundnumber > 10) + { + runzombieround(); + continue; + } + + runnormalround(); + } +} + +//Function Number: 5 +runnormalround() +{ + level childthread highlightlastenemies(); + while(level.currentenemycount < level.maxenemycount) + { + while(level.currentaliveenemycount < level.maxaliveenemycount) + { + createenemy(); + if(level.currentenemycount == level.maxenemycount) + { + break; + } + } + + level.wavefirstspawn = 0; + level waittill("enemy_death"); + } +} + +//Function Number: 6 +runzombieround() +{ + level.zombiesdead = 0; + level waittill("beginZombieSpawn"); + while(level.currentenemycount < level.maxenemycount) + { + while(level.currentaliveenemycount < level.maxaliveenemycount) + { + createenemy(); + wait(0.1); + } + + level.wavefirstspawn = 0; + level common_scripts\utility::waittill_any("enemy_death","go_zombie"); + level.zombiesdead++; + } +} + +//Function Number: 7 +createenemy() +{ + if(level.maxdogcount > 1 && level.dogsalive < level.maxdogcount) + { + createdogenemy(); + return; + } + + if(level.maxwarbirdcount > 0) + { + foreach(var_01 in level.players) + { + if(maps\mp\gametypes\_horde_util::isonhumanteam(var_01) && isalive(var_01)) + { + level.maxwarbirdcount--; + var_01 createwarbirdenemy(); + break; + } + } + + return; + } + + if(level.maxdronecount > 0) + { + createdroneenemy(); + level.maxdronecount--; + return; + } + + createhumanoidenemy(); +} + +//Function Number: 8 +createhumanoidenemy() +{ + var_00 = undefined; + while(!isdefined(var_00)) + { + var_00 = maps\mp\agents\_agents::add_humanoid_agent("player",level.enemyteam,"class1"); + if(isdefined(var_00)) + { + level.currentenemycount++; + level.currentaliveenemycount++; + } + + wait 0.05; + } +} + +//Function Number: 9 +createdogenemy() +{ + var_00 = undefined; + while(!isdefined(var_00)) + { + var_00 = maps\mp\agents\_agent_common::connectnewagent("dog",level.enemyteam); + if(isdefined(var_00)) + { + var_00 thread [[ var_00 maps\mp\agents\_agent_utility::agentfunc("spawn") ]](); + var_00.awardpoints = 100; + level.currentenemycount++; + level.currentaliveenemycount++; + level.dogsalive++; + } + + wait 0.05; + } +} + +//Function Number: 10 +createdroneenemy() +{ + thread waitingtospawndrone(); + level.currentenemycount++; + level.currentaliveenemycount++; +} + +//Function Number: 11 +waitingtospawndrone() +{ + level.numdroneswaitingtospawn++; + while(maps\mp\_utility::currentactivevehiclecount(2) >= maps\mp\_utility::maxvehiclesallowed()) + { + wait(1); + } + + level.numdroneswaitingtospawn--; + wait 0.05; + var_00 = maps\mp\gametypes\_horde_drones::hordecreatedrone(level.players[0],"assault_uav_horde",level.hordedronemodel); + var_00 hudoutlineenable(level.enemyoutlinecolor,1); + var_00.droneturret hudoutlineenable(level.enemyoutlinecolor,1); + var_00.outlinecolor = level.enemyoutlinecolor; +} + +//Function Number: 12 +createwarbirdenemy() +{ + thread maps\mp\gametypes\_horde_warbird::hordecreatewarbird(); + handle_first_warbird(); +} + +//Function Number: 13 +handle_first_warbird() +{ + if(!isdefined(level.first_warbird_spawned)) + { + level.first_warbird_spawned = 1; + } + else + { + return; + } + + while(!isdefined(level.spawnedwarbirds)) + { + wait 0.05; + } + + level.spawnedwarbirds[0] endon("death"); + level.spawnedwarbirds[0] endon("crashing"); + wait(30); +} + +//Function Number: 14 +playaispawneffect() +{ + playfx(level._effect["spawn_effect"],self.origin); +} + +//Function Number: 15 +highlightlastenemies() +{ + level endon("round_ended"); + for(;;) + { + level waittill("enemy_death"); + if(level.currentenemycount != level.maxenemycount) + { + continue; + } + + if(level.currentaliveenemycount < 3) + { + foreach(var_01 in level.flying_attack_drones) + { + var_01 hudoutlineenable(level.enemyoutlinecolor,0); + var_01.droneturret hudoutlineenable(level.enemyoutlinecolor,0); + var_01.lasttwoenemies = 1; + } + + foreach(var_04 in level.spawnedwarbirds) + { + if(isdefined(var_04.team) && var_04.team == "axis" && !isdefined(var_04.iscrashing) && var_04.iscrashing) + { + var_04 hudoutlineenable(level.enemyoutlinecolor,0); + var_04.warbirdturret hudoutlineenable(level.enemyoutlinecolor,0); + var_04.lasttwoenemies = 1; + } + } + + foreach(var_07 in level.characters) + { + if(maps\mp\gametypes\_horde_util::isonhumanteam(var_07)) + { + continue; + } + + if(maps\mp\_utility::isreallyalive(var_07) && !var_07 iscloaked()) + { + var_07 hudoutlineenable(level.enemyoutlinecolor,0); + var_07.outlinecolor = level.enemyoutlinecolor; + } + } + + setdvar("bg_compassShowEnemies",1); + break; + } + } +} + +//Function Number: 16 +onagentkilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + if(!maps\mp\gametypes\_horde_util::isonhumanteam(self)) + { + hordeenemykilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08); + } + + self hudoutlinedisable(); + maps\mp\agents\_agents::on_humanoid_agent_killed_common(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,0); + maps\mp\agents\_agent_utility::deactivateagent(); +} + +//Function Number: 17 +ondogkilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + if(!maps\mp\gametypes\_horde_util::isonhumanteam(self)) + { + hordeenemykilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08); + } + + self hudoutlinedisable(); + maps\mp\killstreaks\_dog_killstreak::on_agent_dog_killed(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08); +} + +//Function Number: 18 +hordeenemykilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + level.currentaliveenemycount--; + level.killssinceinteldrop++; + level.killssinceammodrop++; + if(level.objdefend) + { + maps\mp\gametypes\horde::checkdefendkill(self,param_01); + } + + trackintelkills(param_04,param_03); + level thread maps\mp\gametypes\horde::chancetospawnpickup(self); + level notify("enemy_death",param_01,self); + level.enemiesleft--; + if(!level.zombiesstarted) + { + setomnvar("ui_horde_enemies_left",level.enemiesleft); + } + + if(isplayer(param_01) && !level.zombiesstarted) + { + maps\mp\gametypes\_horde_util::awardhordekill(param_01); + param_01 thread maps\mp\gametypes\_rank::xppointspopup("kill",self.awardpoints); + level thread maps\mp\gametypes\_horde_util::hordeupdatescore(param_01,self.awardpoints); + if(param_01 maps\mp\_utility::_hasperk("specialty_triggerhappy")) + { + } + } + + if(isdefined(param_01) && isdefined(param_01.owner) && isplayer(param_01.owner) && isdefined(param_01.owner.killz)) + { + maps\mp\gametypes\_horde_util::awardhordekill(param_01.owner); + param_01.owner thread maps\mp\gametypes\_rank::xppointspopup("kill",self.awardpoints); + level thread maps\mp\gametypes\_horde_util::hordeupdatescore(param_01.owner,self.awardpoints); + } +} + +//Function Number: 19 +trackintelkills(param_00,param_01) +{ + if(level.isteamintelcomplete) + { + return; + } + + if(param_00 == "none") + { + return; + } + + if(maps\mp\_utility::ismeleemod(param_01)) + { + level.nummeleekillsintel++; + } + + if(!maps\mp\_utility::iskillstreakweapon(param_00) && param_01 == "MOD_HEAD_SHOT") + { + level.numheadshotsintel++; + } + + if(maps\mp\_utility::iskillstreakweapon(param_00) && param_00 != level.intelminigun) + { + level.numkillstreakkillsintel++; + } + + if(maps\mp\gametypes\_class::isvalidequipment(param_00,0) || maps\mp\gametypes\_class::isvalidoffhand(param_00,0)) + { + level.numequipmentkillsintel++; + } +} + +//Function Number: 20 +enemyagentthink() +{ + self endon("death"); + level endon("game_ended"); + self botsetflag("no_enemy_search",1); + thread monitorbadhumanoidai(); + thread locateenemypositions(); +} + +//Function Number: 21 +monitorbadhumanoidai() +{ + self endon("death"); + level endon("game_ended"); + var_00 = gettime(); + for(;;) + { + wait(5); + if(!maps\mp\bots\_bots_util::bot_in_combat(120000)) + { + if(!maps\mp\bots\_bots_util::bot_in_combat(240000)) + { + break; + } + } + + if(checkexpiretime(var_00,240,480)) + { + break; + } + } +} + +//Function Number: 22 +monitorbaddogai() +{ + self endon("death"); + level endon("game_ended"); + var_00 = gettime(); + var_01 = self.origin; + var_02 = var_00; + for(;;) + { + wait(5); + var_03 = distancesquared(self.origin,var_01); + var_04 = gettime() - var_02 / 1000; + if(var_03 > 16384) + { + var_01 = self.origin; + var_02 = gettime(); + } + else if(var_04 > 25) + { + if(var_04 > 55) + { + break; + } + } + + if(checkexpiretime(var_00,120,240)) + { + break; + } + } + + maps\mp\agents\_agent_utility::killagent(self); +} + +//Function Number: 23 +checkexpiretime(param_00,param_01,param_02) +{ + var_03 = gettime() - param_00 / 1000; + if(var_03 > param_01) + { + if(var_03 > param_02) + { + return 1; + } + } + + return 0; +} + +//Function Number: 24 +allyagentthink() +{ + self endon("death"); + level endon("game_ended"); + self endon("owner_disconnect"); + self botsetflag("force_sprint",1); + var_00 = 0; + var_01 = 0; + for(;;) + { + if(float(self.owner.health) / self.owner.maxhealth < 0.5 && gettime() > var_01) + { + var_02 = getnodesinradiussorted(self.owner.origin,256,0); + if(var_02.size >= 2) + { + self.defense_force_next_node_goal = var_02[1]; + self notify("defend_force_node_recalculation"); + var_01 = gettime() + 1000; + } + } + else if(float(self.health) / self.maxhealth >= 0.6) + { + var_00 = 0; + } + else if(!var_00) + { + var_03 = maps\mp\bots\_bots_util::bot_find_node_to_guard_player(self.owner.origin,350,1); + if(isdefined(var_03)) + { + self.defense_force_next_node_goal = var_03; + self notify("defend_force_node_recalculation"); + var_00 = 1; + } + } + + if(!maps\mp\bots\_bots_util::bot_is_guarding_player(self.owner)) + { + var_04["override_goal_type"] = "critical"; + var_04["min_goal_time"] = 20; + var_04["max_goal_time"] = 30; + maps\mp\bots\_bots_strategy::bot_guard_player(self.owner,350,var_04); + } + + wait(0.05); + } +} + +//Function Number: 25 +hordesetupdogstate() +{ + self.enableextendedkill = 0; + self.agentname = &"HORDE_QUAD"; + self.horde_type = "Quad"; + thread maps\mp\gametypes\horde::hordeapplyaimodifiers(); + self.lassetgoalpos = (0,0,0); + self.bhasnopath = 0; + self.randompathstoptime = 0; + self.maxhealth = 60; + self.health = self.maxhealth; +} + +//Function Number: 26 +agentdogthink() +{ + self endon("death"); + level endon("game_ended"); + self endon("owner_disconnect"); + maps\mp\agents\dog\_dog_think::setupdogstate(); + hordesetupdogstate(); + thread locateenemypositions(); + self thread [[ self.watchattackstatefunc ]](); + thread waitforbadpathhorde(); + thread monitorbaddogai(); + thread agentdogbark(); + for(;;) + { + if(self.aistate != "melee" && !self.statelocked && maps\mp\agents\dog\_dog_think::readytomeleetarget() && !maps\mp\agents\dog\_dog_think::didpastmeleefail()) + { + self scragentbeginmelee(self.curmeleetarget); + } + + if(self.randompathstoptime > gettime()) + { + wait(0.05); + continue; + } + + if(!isdefined(self.enemy) || self.bhasnopath) + { + var_00 = getnodesinradiussorted(self.origin,1024,256,128,"Path"); + if(var_00.size > 0) + { + var_01 = randomintrange(int(var_00.size * 0.9),var_00.size); + self scragentsetgoalpos(var_00[var_01].origin); + self.bhasnopath = 0; + self.randompathstoptime = gettime() + 2500; + } + } + else + { + var_02 = maps\mp\agents\dog\_dog_think::getattackpoint(self.enemy); + self.curmeleetarget = self.enemy; + self.movemode = "sprint"; + self.barrivalsenabled = 0; + if(distancesquared(var_02,self.lassetgoalpos) > 4096) + { + self scragentsetgoalpos(var_02); + self.lassetgoalpos = var_02; + } + } + + wait(0.05); + } +} + +//Function Number: 27 +agentdogbark() +{ + self endon("death"); + level endon("game_ended"); + for(;;) + { + while(!isdefined(self.curmeleetarget)) + { + wait(0.25); + } + + while(isdefined(self.curmeleetarget) && distance(self.origin,self.curmeleetarget.origin) > 200) + { + wait(randomfloatrange(0,2)); + self playsound("anml_doberman_bark"); + } + + wait(0.05); + } +} + +//Function Number: 28 +waitforbadpathhorde() +{ + self endon("death"); + level endon("game_ended"); + for(;;) + { + self waittill("bad_path",var_00); + self.bhasnopath = 1; + } +} + +//Function Number: 29 +locateenemypositions() +{ + self endon("death"); + level endon("game_ended"); + for(;;) + { + foreach(var_01 in level.participants) + { + if(maps\mp\gametypes\_horde_util::isonhumanteam(var_01)) + { + self getenemyinfo(var_01); + if(isdefined(var_01.hordedrone)) + { + self getenemyinfo(var_01.hordedrone); + } + } + } + + wait(0.5); + } +} + +//Function Number: 30 +findclosestplayer() +{ + var_00 = undefined; + var_01 = 1410065408; + foreach(var_03 in level.players) + { + if(maps\mp\_utility::isreallyalive(var_03) && maps\mp\gametypes\_horde_util::isonhumanteam(var_03) && !maps\mp\gametypes\_horde_util::isplayerinlaststand(var_03)) + { + var_04 = distancesquared(var_03.origin,self.origin); + if(var_04 < var_01) + { + var_00 = var_03; + var_01 = var_04; + } + } + } + + return var_00; +} + +//Function Number: 31 +handledetroitgoliathtrailerexploit() +{ + self endon("death"); + level endon("game_ended"); + wait(1); + for(;;) + { + if(isdefined(self.enemy) && self.enemy istouching(level.goliathexploittrigger)) + { + self botsetscriptgoal((-1696,-408,608.5),32,"critical",200); + while(isdefined(self.enemy) && maps\mp\_utility::isreallyalive(self.enemy) && !maps\mp\gametypes\_horde_util::isplayerinlaststand(self.enemy) && self.enemy istouching(level.goliathexploittrigger)) + { + wait(0.25); + } + + self botclearscriptgoal(); + } + + wait(1); + } +} + +//Function Number: 32 +hordejuggrocketswarmthink() +{ + self endon("death"); + level endon("game_ended"); + while(!isdefined(self.enemy) || !sighttracepassed(self gettagorigin("TAG_ROCKET4"),self.enemy geteye(),0,undefined)) + { + wait(0.05); + } + + wait(randomintrange(5,10)); + for(;;) + { + while(!isdefined(self.enemy) || !sighttracepassed(self gettagorigin("TAG_ROCKET4"),self.enemy geteye(),0,undefined)) + { + wait(0.05); + } + + var_00 = anglestoforward(self getplayerangles()); + var_01 = anglestoright(self getplayerangles()); + var_02 = [(0,0,50),(0,0,20),(10,0,0),(0,10,0)]; + var_03 = self gettagorigin("TAG_ROCKET4"); + playfxontag(common_scripts\utility::getfx("swarm_rocket_wv"),self,"TAG_ROCKET4"); + for(var_04 = 0;var_04 < 4;var_04++) + { + var_05 = var_03 + var_00 * 20 + var_01 * -30; + var_06 = var_00 + maps\mp\killstreaks\_juggernaut::random_vector(0.2); + var_07 = magicbullet("iw5_juggernautrockets_mp",var_03,self.enemy geteye(),self); + var_07 thread rockettargetent(self.enemy,var_02[var_04]); + var_07 thread maps\mp\killstreaks\_juggernaut::rocketdestroyaftertime(7); + wait(0.1); + } + + wait(randomintrange(10,20)); + } +} + +//Function Number: 33 +rockettargetent(param_00,param_01) +{ + if(isdefined(param_00)) + { + self missile_settargetent(param_00,param_01); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/agents/_agents_gametype_hp.gsc b/AW/PC/maps/mp/agents/_agents_gametype_hp.gsc new file mode 100644 index 0000000..17bb67f --- /dev/null +++ b/AW/PC/maps/mp/agents/_agents_gametype_hp.gsc @@ -0,0 +1,21 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\agents\_agents_gametype_hp.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 2:08:22 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setup_callbacks(); +} + +//Function Number: 2 +setup_callbacks() +{ + level.agent_funcs["player"]["think"] = ::maps\mp\bots\_bots_gametype_hp::bot_hp_think; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/agents/_agents_gametype_infect.gsc b/AW/PC/maps/mp/agents/_agents_gametype_infect.gsc new file mode 100644 index 0000000..799ef3a --- /dev/null +++ b/AW/PC/maps/mp/agents/_agents_gametype_infect.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\agents\_agents_gametype_infect.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 34 ms + * Timestamp: 4/22/2024 2:08:22 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/agents/_agents_gametype_sd.gsc b/AW/PC/maps/mp/agents/_agents_gametype_sd.gsc new file mode 100644 index 0000000..fb5117e --- /dev/null +++ b/AW/PC/maps/mp/agents/_agents_gametype_sd.gsc @@ -0,0 +1,33 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\agents\_agents_gametype_sd.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 72 ms + * Timestamp: 4/22/2024 2:08:23 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setup_callbacks(); +} + +//Function Number: 2 +setup_callbacks() +{ + level.agent_funcs["player"]["think"] = ::agent_player_sd_think; +} + +//Function Number: 3 +agent_player_sd_think() +{ + common_scripts\utility::_enableusability(); + foreach(var_01 in level.bombzones) + { + var_01.trigger enableplayeruse(self); + } + + thread maps\mp\bots\_bots_gametype_sd::bot_sd_think(); +} \ No newline at end of file diff --git a/AW/PC/SP/animscripts/civilian/civilian_cover_stand.gsc b/AW/PC/maps/mp/agents/_agents_gametype_sr.gsc similarity index 66% rename from AW/PC/SP/animscripts/civilian/civilian_cover_stand.gsc rename to AW/PC/maps/mp/agents/_agents_gametype_sr.gsc index 21b18bb..4f05b30 100644 --- a/AW/PC/SP/animscripts/civilian/civilian_cover_stand.gsc +++ b/AW/PC/maps/mp/agents/_agents_gametype_sr.gsc @@ -1,15 +1,15 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\civilian\civilian_cover_stand.gsc + * Decompiled File: mp\agents\_agents_gametype_sr.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 * Decompile Time: 36 ms - * Timestamp: 10/27/2023 1:52:56 AM + * Timestamp: 4/22/2024 2:08:23 AM *******************************************************************/ //Function Number: 1 main() { - animscripts\civilian::cover(); + maps\mp\agents\_agents_gametype_sd::setup_callbacks(); } \ No newline at end of file diff --git a/AW/PC/maps/mp/agents/_agents_gametype_twar.gsc b/AW/PC/maps/mp/agents/_agents_gametype_twar.gsc new file mode 100644 index 0000000..bdea829 --- /dev/null +++ b/AW/PC/maps/mp/agents/_agents_gametype_twar.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\agents\_agents_gametype_twar.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:08:24 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/agents/_agents_gametype_vlobby.gsc b/AW/PC/maps/mp/agents/_agents_gametype_vlobby.gsc new file mode 100644 index 0000000..daeb843 --- /dev/null +++ b/AW/PC/maps/mp/agents/_agents_gametype_vlobby.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\agents\_agents_gametype_vlobby.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:08:24 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/agents/_agents_gametype_war.gsc b/AW/PC/maps/mp/agents/_agents_gametype_war.gsc new file mode 100644 index 0000000..35b6044 --- /dev/null +++ b/AW/PC/maps/mp/agents/_agents_gametype_war.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\agents\_agents_gametype_war.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:08:24 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/agents/_agents_gametype_zombies.gsc b/AW/PC/maps/mp/agents/_agents_gametype_zombies.gsc new file mode 100644 index 0000000..3220971 --- /dev/null +++ b/AW/PC/maps/mp/agents/_agents_gametype_zombies.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\agents\_agents_gametype_zombies.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:08:25 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/agents/_scripted_agent_anim_util.gsc b/AW/PC/maps/mp/agents/_scripted_agent_anim_util.gsc new file mode 100644 index 0000000..039d2ab --- /dev/null +++ b/AW/PC/maps/mp/agents/_scripted_agent_anim_util.gsc @@ -0,0 +1,269 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\agents\_scripted_agent_anim_util.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 16 + * Decompile Time: 254 ms + * Timestamp: 4/22/2024 2:08:26 AM +*******************************************************************/ + +//Function Number: 1 +playanimnatrateuntilnotetrack_safe(param_00,param_01,param_02,param_03,param_04,param_05) +{ + self endon("disconnect"); + self endon("death"); + if(isdefined(param_00)) + { + if(isdefined(param_01)) + { + var_06 = getanimlength(self getanimentry(param_00,param_01)); + } + else + { + var_06 = getanimlength(self getanimentry(param_01,0)); + } + + childthread notetrack_timeout(param_03,var_06 * 1 / param_02,param_04); + } + + playanimnatrateuntilnotetrack(param_00,param_01,param_02,param_03,param_04,param_05); + self notify("Notetrack_Timeout"); +} + +//Function Number: 2 +playanimnuntilnotetrack_safe(param_00,param_01,param_02,param_03,param_04) +{ + playanimnatrateuntilnotetrack_safe(param_00,param_01,1,param_02,param_03,param_04); +} + +//Function Number: 3 +playanimnatrateuntilnotetrack(param_00,param_01,param_02,param_03,param_04,param_05) +{ + set_anim_state(param_00,param_01,param_02); + if(!isdefined(param_04)) + { + param_04 = "end"; + } + + waituntilnotetrack(param_03,param_04,param_00,param_01,param_05); +} + +//Function Number: 4 +waituntilnotetrack_safe(param_00,param_01,param_02) +{ + self endon("disconnect"); + self endon("death"); + if(isdefined(param_02)) + { + childthread notetrack_timeout(param_00,param_02,param_01); + } + + waituntilnotetrack(param_00,param_01); + self notify("Notetrack_Timeout"); +} + +//Function Number: 5 +waituntilnotetrack(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = gettime(); + var_06 = undefined; + var_07 = undefined; + if(isdefined(param_02) && isdefined(param_03)) + { + var_07 = getanimlength(self getanimentry(param_02,param_03)); + } + + for(;;) + { + self waittill(param_00,var_08); + if(isdefined(var_07)) + { + var_06 = gettime() - var_05 * 0.001 / var_07; + } + + if(!isdefined(var_07) || var_06 > 0) + { + if(var_08 == param_01 || var_08 == "end" || var_08 == "anim_will_finish" || var_08 == "finish") + { + break; + } + } + + if(isdefined(param_04)) + { + [[ param_04 ]](var_08,param_02,param_03,var_06); + } + } +} + +//Function Number: 6 +notetrack_timeout(param_00,param_01,param_02) +{ + self notify("Notetrack_Timeout"); + self endon("Notetrack_Timeout"); + param_01 = max(0.05,param_01); + wait(param_01); + if(isdefined(param_02)) + { + self notify(param_00,param_02); + return; + } + + self notify(param_00,"end"); +} + +//Function Number: 7 +playanimnatratefortime(param_00,param_01,param_02,param_03) +{ + set_anim_state(param_00,param_01,param_02); + wait(param_03); +} + +//Function Number: 8 +loop_anim_state_randomize(param_00,param_01,param_02) +{ + for(;;) + { + var_03 = randomint(self getanimentrycount(param_00)); + set_anim_state(param_00,var_03,param_01); + var_04 = getanimlength(self getanimentry(param_00,var_03)) * 1 / param_01; + waituntilnotetrack_safe(param_02,"end",var_04); + } +} + +//Function Number: 9 +set_anim_state(param_00,param_01,param_02) +{ + if(isdefined(param_02)) + { + self setanimstate(param_00,param_01,param_02); + return; + } + + if(isdefined(param_01)) + { + self setanimstate(param_00,param_01); + return; + } + + self setanimstate(param_00); +} + +//Function Number: 10 +getangleindexvariable(param_00,param_01) +{ + if(param_01 <= 1) + { + return 0; + } + + var_02 = 360 / param_01 - 1; + var_03 = var_02 * 0.2222222; + if(param_00 < 0) + { + return int(ceil(180 + param_00 - var_03 / var_02)); + } + + return int(floor(180 + param_00 + var_03 / var_02)); +} + +//Function Number: 11 +getanimscalefactors(param_00,param_01,param_02) +{ + var_03 = length2d(param_00); + var_04 = param_00[2]; + var_05 = length2d(param_01); + var_06 = param_01[2]; + var_07 = 1; + var_08 = 1; + if(isdefined(param_02) && param_02) + { + var_09 = (param_01[0],param_01[1],0); + var_0A = vectornormalize(var_09); + if(vectordot(var_0A,param_00) < 0) + { + var_07 = 0; + } + else if(var_05 > 0) + { + var_07 = var_03 / var_05; + } + } + else if(var_05 > 0) + { + var_07 = var_03 / var_05; + } + + if(abs(var_06) > 0.001 && var_06 * var_04 >= 0) + { + var_08 = var_04 / var_06; + } + + var_0B = spawnstruct(); + var_0B.xy = var_07; + var_0B.z = var_08; + return var_0B; +} + +//Function Number: 12 +onenteranimstate(param_00,param_01) +{ + self notify("killanimscript"); + if(isdefined(self.animcbs.onexit[param_00])) + { + self [[ self.animcbs.onexit[param_00] ]](); + } + + exitaistate(param_00); + if(!isdefined(self.animcbs.onenter[param_01])) + { + return; + } + + if(param_00 == param_01 && param_01 != "traverse") + { + return; + } + + self.aistate = param_01; + enteraistate(param_01); + self [[ self.animcbs.onenter[param_01] ]](); +} + +//Function Number: 13 +enteraistate(param_00) +{ + self.aistate = param_00; + switch(param_00) + { + case "idle": + self.bhasbadpath = 0; + break; + + default: + break; + } +} + +//Function Number: 14 +exitaistate(param_00) +{ + switch(param_00) + { + default: + break; + } +} + +//Function Number: 15 +isstatelocked() +{ + return self.statelocked; +} + +//Function Number: 16 +setstatelocked(param_00,param_01) +{ + self.statelocked = param_00; +} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/agents/_scriptedagents.gsc b/AW/PC/maps/mp/agents/_scriptedagents.gsc similarity index 98% rename from AW/PC/MP/maps/mp/agents/_scriptedagents.gsc rename to AW/PC/maps/mp/agents/_scriptedagents.gsc index 23a6c6a..9d7d13d 100644 --- a/AW/PC/MP/maps/mp/agents/_scriptedagents.gsc +++ b/AW/PC/maps/mp/agents/_scriptedagents.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\agents\_scriptedagents.gsc + * Decompiled File: mp\agents\_scriptedagents.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 21 - * Decompile Time: 387 ms - * Timestamp: 10/27/2023 1:41:01 AM + * Decompile Time: 335 ms + * Timestamp: 4/22/2024 2:08:27 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/agents/dog/_dog_idle.gsc b/AW/PC/maps/mp/agents/dog/_dog_idle.gsc similarity index 91% rename from AW/PC/MP/maps/mp/agents/dog/_dog_idle.gsc rename to AW/PC/maps/mp/agents/dog/_dog_idle.gsc index 8ffe626..3b0b7b4 100644 --- a/AW/PC/MP/maps/mp/agents/dog/_dog_idle.gsc +++ b/AW/PC/maps/mp/agents/dog/_dog_idle.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\agents\dog\_dog_idle.gsc + * Decompiled File: mp\agents\dog\_dog_idle.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 16 - * Decompile Time: 286 ms - * Timestamp: 10/27/2023 1:40:50 AM + * Decompile Time: 260 ms + * Timestamp: 4/22/2024 2:07:56 AM *******************************************************************/ //Function Number: 1 @@ -37,24 +37,38 @@ updatestate() { self endon("killanimscript"); self endon("cancelidleloop"); - var_00 = self.animsubstate; - var_01 = determinestate(); - if(var_01 != self.animsubstate) + for(;;) { - enterstate(var_01); - } + var_00 = self.animsubstate; + var_01 = determinestate(); + if(var_01 != self.animsubstate) + { + enterstate(var_01); + } - updateangle(); - switch(self.animsubstate) - { - case "idle_combat": - break; - - case "idle_noncombat": - break; - - default: - break; + updateangle(); + switch(self.animsubstate) + { + case "idle_combat": + wait(0.2); + break; + + case "idle_noncombat": + if(var_00 == "none") + { + } + else if(gettime() > self.timeofnextsound) + { + settimeofnextsound(); + } + + wait(0.5); + break; + + default: + wait(1); + break; + } } } diff --git a/AW/PC/MP/maps/mp/agents/dog/_dog_melee.gsc b/AW/PC/maps/mp/agents/dog/_dog_melee.gsc similarity index 98% rename from AW/PC/MP/maps/mp/agents/dog/_dog_melee.gsc rename to AW/PC/maps/mp/agents/dog/_dog_melee.gsc index 203707d..907bc48 100644 --- a/AW/PC/MP/maps/mp/agents/dog/_dog_melee.gsc +++ b/AW/PC/maps/mp/agents/dog/_dog_melee.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\agents\dog\_dog_melee.gsc + * Decompiled File: mp\agents\dog\_dog_melee.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 12 - * Decompile Time: 212 ms - * Timestamp: 10/27/2023 1:40:51 AM + * Decompile Time: 206 ms + * Timestamp: 4/22/2024 2:07:57 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/agents/dog/_dog_move.gsc b/AW/PC/maps/mp/agents/dog/_dog_move.gsc similarity index 88% rename from AW/PC/MP/maps/mp/agents/dog/_dog_move.gsc rename to AW/PC/maps/mp/agents/dog/_dog_move.gsc index e69ddbe..de03ca8 100644 --- a/AW/PC/MP/maps/mp/agents/dog/_dog_move.gsc +++ b/AW/PC/maps/mp/agents/dog/_dog_move.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\agents\dog\_dog_move.gsc + * Decompiled File: mp\agents\dog\_dog_move.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 23 - * Decompile Time: 411 ms - * Timestamp: 10/27/2023 1:40:53 AM + * Decompile Time: 364 ms + * Timestamp: 4/22/2024 2:07:59 AM *******************************************************************/ //Function Number: 1 @@ -379,8 +379,69 @@ handlefootstepnotetracks(param_00,param_01,param_02,param_03) case "footstep_back_left_small": case "footstep_front_right_small": case "footstep_front_left_small": - break; + var_04 = undefined; + if(isdefined(self.surfacetype)) + { + var_04 = self.surfacetype; + self.lastsurfacetype = var_04; + } + else if(isdefined(self.lastsurfacetype)) + { + var_04 = self.lastsurfacetype; + } + else + { + var_04 = "dirt"; + } + + if(var_04 != "dirt" && var_04 != "concrete" && var_04 != "wood" && var_04 != "metal") + { + var_04 = "dirt"; + } + + if(var_04 == "concrete") + { + var_04 = "cement"; + } + + if(self.aistate == "traverse") + { + var_05 = "land"; + } + else if(self.movemode == "sprint") + { + var_05 = "sprint"; + } + else if(self.movemode == "fastwalk") + { + var_05 = "walk"; + } + else + { + var_05 = "run"; + } + + self playsoundonmovingent("dogstep_" + var_05 + "_" + var_04); + if(issubstr(param_00,"front_left")) + { + var_06 = "anml_dog_mvmt_accent"; + var_07 = "anml_dog_mvmt_vest"; + if(var_05 == "walk") + { + var_08 = "_npc"; + } + else + { + var_08 = "_run_npc"; + } + + self playsoundonmovingent(var_06 + var_08); + self playsoundonmovingent(var_07 + var_08); + } + return 1; } + + return 0; } //Function Number: 21 diff --git a/AW/PC/MP/maps/mp/agents/dog/_dog_think.gsc b/AW/PC/maps/mp/agents/dog/_dog_think.gsc similarity index 85% rename from AW/PC/MP/maps/mp/agents/dog/_dog_think.gsc rename to AW/PC/maps/mp/agents/dog/_dog_think.gsc index f15d6ff..6e89bf4 100644 --- a/AW/PC/MP/maps/mp/agents/dog/_dog_think.gsc +++ b/AW/PC/maps/mp/agents/dog/_dog_think.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\agents\dog\_dog_think.gsc + * Decompiled File: mp\agents\dog\_dog_think.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 39 - * Decompile Time: 691 ms - * Timestamp: 10/27/2023 1:40:55 AM + * Decompile Time: 610 ms + * Timestamp: 4/22/2024 2:08:01 AM *******************************************************************/ //Function Number: 1 @@ -108,21 +108,29 @@ think() self thread [[ self.watchattackstatefunc ]](); thread monitorflash(); - if(self.aistate != "melee" && !self.statelocked && readytomeleetarget() && !didpastmeleefail()) + for(;;) { - self scragentbeginmelee(self.curmeleetarget); - } + if(self.aistate != "melee" && !self.statelocked && readytomeleetarget() && !didpastmeleefail()) + { + self scragentbeginmelee(self.curmeleetarget); + } - switch(self.aistate) - { - case "idle": - break; + switch(self.aistate) + { + case "idle": + updateidle(); + break; + + case "move": + updatemove(); + break; + + case "melee": + updatemelee(); + break; + } - case "move": - break; - - case "melee": - break; + wait(0.05); } } @@ -181,9 +189,12 @@ enteraistate(param_00) switch(param_00) { case "idle": + self.movestate = "idle"; + self.bhasbadpath = 0; break; case "move": + self.movestate = "follow"; break; case "melee": @@ -200,6 +211,7 @@ exitaistate(param_00) switch(param_00) { case "move": + self.ownerprevpos = undefined; break; default: @@ -585,11 +597,8 @@ findpointnearowner() var_0A = 0; var_0B = 0; var_04[var_04.size] = var_03; - var_0C = var_04; - var_16 = getfirstarraykey(var_0C); - if(isdefined(var_16)) + foreach(var_0D in var_04) { - var_0D = var_0C[var_16]; var_0E = 0; var_0F = var_0D.origin - self.owner.origin; var_10 = length(var_0F); @@ -618,15 +627,83 @@ findpointnearowner() switch(var_13) { case "stand": + if(var_12 < cos(35) && var_12 > cos(45)) + { + var_0E = var_0E + var_06; + } break; case "crouch": + if(var_12 < cos(75) && var_12 > cos(90)) + { + var_0E = var_0E + var_06; + } break; case "prone": + if(var_12 < cos(125) && var_12 > cos(135)) + { + var_0E = var_0E + var_06; + } break; } + + var_14 = cross2d(var_0F,var_01); + if(var_14 * var_02 > 0) + { + var_0E = var_0E + var_07; + } + + if(var_09) + { + var_15 = vectordot(self.damagedownertome,var_0F); + var_0E = var_0E + var_15 * var_08; + } + + if(var_0E > var_0A) + { + var_0A = var_0E; + var_0B = var_0D; + } } + + if(!isdefined(var_0B)) + { + return self.origin; + } + + var_17 = var_0B.origin - self.owner.origin; + var_18 = length(var_17); + if(var_18 > self.preferredoffsetfromowner) + { + var_19 = var_03.origin - self.owner.origin; + if(vectordot(var_19,var_17 / var_18) < 0) + { + var_1A = var_0B.origin; + } + else + { + var_1B = vectornormalize(var_0B.origin - var_03.origin); + var_1A = var_03.origin + var_1B * self.preferredoffsetfromowner; + } + } + else + { + var_1A = var_0C.origin; + } + + var_1A = maps\mp\agents\_scriptedagents::droppostoground(var_1A); + if(!isdefined(var_1A)) + { + return self.origin; + } + + if(self.bhasbadpath && distance2dsquared(var_1A,self.lastbadpathgoal) < 4) + { + return self.origin; + } + + return var_1A; } //Function Number: 26 @@ -839,19 +916,28 @@ watchownerdeath() { self endon("death"); level endon("game_ended"); - if(!isdefined(self.owner)) + for(;;) { - return; - } + if(!isdefined(self.owner)) + { + return; + } - self.owner waittill("death"); - switch(level.gametype) - { - case "sd": - break; - - case "sr": - break; + self.owner waittill("death"); + switch(level.gametype) + { + case "sd": + maps\mp\agents\_agent_utility::killdog(); + break; + + case "sr": + var_00 = level common_scripts\utility::waittill_any_return("sr_player_eliminated","sr_player_respawned"); + if(isdefined(var_00) && var_00 == "sr_player_eliminated") + { + maps\mp\agents\_agent_utility::killdog(); + } + break; + } } } @@ -900,9 +986,11 @@ ondamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07 switch(self.aistate) { case "idle": + thread maps\mp\agents\dog\_dog_idle::ondamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09); break; case "move": + thread maps\mp\agents\dog\_dog_move::ondamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09); break; } } @@ -938,18 +1026,23 @@ shouldplayhitreaction(param_00,param_01,param_02) monitorflash() { self endon("death"); - self waittill("flashbang",var_00,var_01,var_02,var_03,var_04,var_05); - if(isdefined(var_03) && var_03 == self.owner) + for(;;) { - continue; - } + self waittill("flashbang",var_00,var_01,var_02,var_03,var_04,var_05); + if(isdefined(var_03) && var_03 == self.owner) + { + continue; + } - switch(self.aistate) - { - case "idle": - break; - - case "move": - break; + switch(self.aistate) + { + case "idle": + maps\mp\agents\dog\_dog_idle::onflashbanged(); + break; + + case "move": + maps\mp\agents\dog\_dog_move::onflashbanged(); + break; + } } } \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/agents/dog/_dog_traverse.gsc b/AW/PC/maps/mp/agents/dog/_dog_traverse.gsc similarity index 98% rename from AW/PC/MP/maps/mp/agents/dog/_dog_traverse.gsc rename to AW/PC/maps/mp/agents/dog/_dog_traverse.gsc index 6c1f9eb..d6a616d 100644 --- a/AW/PC/MP/maps/mp/agents/dog/_dog_traverse.gsc +++ b/AW/PC/maps/mp/agents/dog/_dog_traverse.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\agents\dog\_dog_traverse.gsc + * Decompiled File: mp\agents\dog\_dog_traverse.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 4 - * Decompile Time: 82 ms - * Timestamp: 10/27/2023 1:40:56 AM + * Decompile Time: 80 ms + * Timestamp: 4/22/2024 2:08:01 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/mp/agents/dog/_instinct_dog_think.gsc b/AW/PC/maps/mp/agents/dog/_instinct_dog_think.gsc new file mode 100644 index 0000000..94333b5 --- /dev/null +++ b/AW/PC/maps/mp/agents/dog/_instinct_dog_think.gsc @@ -0,0 +1,1115 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\agents\dog\_instinct_dog_think.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 39 + * Decompile Time: 631 ms + * Timestamp: 4/22/2024 2:08:03 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setupdogstate(); + thread think(); + thread watchownerdamage(); + thread watchownerdeath(); + thread watchownerteamchange(); + thread waitforbadpath(); + thread waitforpathset(); +} + +//Function Number: 2 +setupdogstate() +{ + self.blockgoalpos = 0; + self.ownerradiussq = 65536; + self.meleeradiussq = 16384; + self.attackoffset = 25 + self.radius; + self.attackradiussq = 9437184; + self.warningradiussq = 302500; + self.warningzheight = 96; + self.attackzheight = 54; + self.attackzheightdown = -64; + self.ownerdamagedradiussq = 2250000; + self.dogdamagedradiussq = 2250000; + self.keeppursuingtargetradiussq = 9000000; + self.preferredoffsetfromowner = 256; + self.minoffsetfromowner = 50; + self.forceattack = 0; + self.ignoreclosefoliage = 1; + self.movemode = "run"; + self.enableextendedkill = 1; + self.attackstate = "idle"; + self.movestate = "idle"; + self.bhasbadpath = 0; + self.timeoflastdamage = 0; + self.allowcrouch = 1; + self scragentsetgoalradius(24); +} + +//Function Number: 3 +init() +{ + self.animcbs = spawnstruct(); + self.animcbs.onenter = []; + self.animcbs.onenter["idle"] = ::maps\mp\agents\dog\_dog_idle::main; + self.animcbs.onenter["move"] = ::maps\mp\agents\dog\_dog_move::main; + self.animcbs.onenter["traverse"] = ::maps\mp\agents\dog\_dog_traverse::main; + self.animcbs.onenter["melee"] = ::maps\mp\agents\dog\_dog_melee::main; + self.animcbs.onexit = []; + self.animcbs.onexit["idle"] = ::maps\mp\agents\dog\_dog_idle::end_script; + self.animcbs.onexit["move"] = ::maps\mp\agents\dog\_dog_move::end_script; + self.animcbs.onexit["melee"] = ::maps\mp\agents\dog\_dog_melee::end_script; + self.animcbs.onexit["traverse"] = ::maps\mp\agents\dog\_dog_traverse::end_script; + self.watchattackstatefunc = ::watchattackstate; + self.aistate = "idle"; + self.movemode = "fastwalk"; + self.radius = 15; + self.height = 40; +} + +//Function Number: 4 +onenteranimstate(param_00,param_01) +{ + self notify("killanimscript"); + if(!isdefined(self.animcbs.onenter[param_01])) + { + return; + } + + if(param_00 == param_01 && param_01 != "traverse") + { + return; + } + + if(isdefined(self.animcbs.onexit[param_00])) + { + self [[ self.animcbs.onexit[param_00] ]](); + } + + exitaistate(self.aistate); + self.aistate = param_01; + enteraistate(param_01); + self [[ self.animcbs.onenter[param_01] ]](); +} + +//Function Number: 5 +think() +{ + self endon("timeoutRetreat"); + self endon("death"); + level endon("game_ended"); + if(isdefined(self.owner)) + { + self endon("owner_disconnect"); + thread destroyonownerdisconnect(self.owner); + } + + self thread [[ self.watchattackstatefunc ]](); + thread monitorflash(); + for(;;) + { + if(self.aistate != "melee" && !self.statelocked && readytomeleetarget() && !didpastmeleefail()) + { + self scragentbeginmelee(self.curmeleetarget); + } + + switch(self.aistate) + { + case "idle": + updateidle(); + break; + + case "move": + updatemove(); + break; + + case "melee": + updatemelee(); + break; + } + + wait(0.05); + } +} + +//Function Number: 6 +didpastpursuitfail(param_00) +{ + if(isdefined(self.curmeleetarget) && param_00 != self.curmeleetarget) + { + return 0; + } + + if(!isdefined(self.lastpursuitfailedpos) || !isdefined(self.lastpursuitfailedmypos)) + { + return 0; + } + + if(distance2dsquared(param_00.origin,self.lastpursuitfailedpos) > 4) + { + return 0; + } + + if(self.blastpursuitfailedposbad) + { + return 1; + } + + if(distancesquared(self.origin,self.lastpursuitfailedmypos) > 4096 && gettime() - self.lastpursuitfailedtime > 2000) + { + return 0; + } + + return 1; +} + +//Function Number: 7 +didpastmeleefail() +{ + if(isdefined(self.lastmeleefailedpos) && isdefined(self.lastmeleefailedmypos) && distance2dsquared(self.curmeleetarget.origin,self.lastmeleefailedpos) < 4 && distancesquared(self.origin,self.lastmeleefailedmypos) < 2500) + { + return 1; + } + + if(wanttoattacktargetbutcant(0)) + { + return 1; + } + + return 0; +} + +//Function Number: 8 +enteraistate(param_00) +{ + exitaistate(self.aistate); + self.aistate = param_00; + switch(param_00) + { + case "idle": + self.movestate = "idle"; + self.bhasbadpath = 0; + break; + + case "move": + self.movestate = "follow"; + break; + + case "melee": + break; + + default: + break; + } +} + +//Function Number: 9 +exitaistate(param_00) +{ + switch(param_00) + { + case "move": + self.ownerprevpos = undefined; + break; + + default: + break; + } +} + +//Function Number: 10 +updateidle() +{ + updatemovestate(); +} + +//Function Number: 11 +updatemove() +{ + updatemovestate(); +} + +//Function Number: 12 +updatemelee() +{ + self endon("timeoutRetreat"); + self scragentsetgoalpos(self.origin); +} + +//Function Number: 13 +updatemovestate() +{ + self endon("timeoutRetreat"); + if(self.blockgoalpos) + { + return; + } + + self.prevmovestate = self.movestate; + var_00 = undefined; + var_01 = 0; + var_02 = 0; + var_03 = 500; + if(self.bhasbadpath && gettime() - self.lastbadpathtime < var_03) + { + self.movestate = "follow"; + var_01 = 1; + } + else + { + self.movestate = getmovestate(); + } + + if(self.movestate == "pursuit") + { + var_00 = getattackpoint(self.enemy); + var_04 = 0; + if(isdefined(self.lastbadpathtime) && gettime() - self.lastbadpathtime < 3000) + { + if(distance2dsquared(var_00,self.lastbadpathgoal) < 16) + { + var_04 = 1; + } + else if(isdefined(self.lastbadpathmovestate) && self.lastbadpathmovestate == "pursuit" && distance2dsquared(self.lastbadpathultimategoal,self.enemy.origin) < 16) + { + var_04 = 1; + } + } + + if(var_04) + { + self.movestate = "follow"; + var_02 = 1; + } + else if(wanttoattacktargetbutcant(1)) + { + self.movestate = "follow"; + var_02 = 1; + } + else if(didpastpursuitfail(self.enemy)) + { + self.movestate = "follow"; + var_02 = 1; + } + } + + setpastpursuitfailed(var_02); + if(self.movestate == "follow") + { + self.curmeleetarget = undefined; + self.movemode = getfollowmovemode(self.movemode); + self.barrivalsenabled = 1; + var_05 = self getpathgoalpos(); + if(!isdefined(var_05)) + { + var_05 = self.origin; + } + + if(isdefined(self.owner) && self.owner.sessionstate == "spectator") + { + return; + } + + if(gettime() - self.timeoflastdamage < 5000) + { + var_01 = 1; + } + + var_06 = self.owner getstance(); + if(!isdefined(self.owner.prevstance) && isdefined(self.owner)) + { + self.owner.prevstance = var_06; + } + + var_07 = !isdefined(self.ownerprevpos) || distance2dsquared(self.ownerprevpos,self.owner.origin) > 100; + if(var_07) + { + self.ownerprevpos = self.owner.origin; + } + + var_08 = distance2dsquared(var_05,self.owner.origin); + if(var_01 || var_08 > self.ownerradiussq && var_07 || self.owner.prevstance != var_06 || self.prevmovestate != "idle" && self.prevmovestate != self.movestate) + { + var_09 = 1; + var_0A = findpointnearowner(); + var_0B = spawn("trigger_radius",self.owner.origin,0,256,256); + var_0C = getnodesintrigger(var_0B); + var_0C = sortbydistance(var_0C,self.owner.origin); + while(var_09 == 1) + { + var_09 = 0; + foreach(var_0E in level.instinctdogs) + { + if(var_09 == 0) + { + var_0F = var_0E scragentgetgoalpos(); + var_10 = distance(var_0A,var_0F); + if(var_10 < 60) + { + var_09 = 1; + } + } + } + + if(var_09 == 1) + { + if(var_0C.size > 0) + { + for(var_12 = 0;var_12 < var_0C.size;var_12++) + { + var_13 = 1; + foreach(var_0E in level.instinctdogs) + { + if(var_13 == 1) + { + var_0F = var_0E scragentgetgoalpos(); + var_10 = distance(var_0C[var_12].origin,var_0F); + var_15 = distance(var_0C[var_12].origin,self.owner.origin); + if(var_10 < 60 || var_15 < 128) + { + var_13 = 0; + } + } + } + + if(var_13 == 1) + { + self scragentsetgoalpos(var_0C[var_12].origin); + var_09 = 0; + break; + } + } + } + else + { + var_17 = getrandomnodedestination(self.owner.origin,self.owner.angles); + self scragentsetgoalpos(var_17.origin); + var_09 = 0; + } + + continue; + } + + self scragentsetgoalpos(var_0A); + wait 0.05; + } + + self.owner.prevstance = var_06; + var_0B delete(); + return; + } + + return; + } + + if(self.movestate == "pursuit") + { + self.curmeleetarget = self.enemy; + self.movemode = "sprint"; + self.barrivalsenabled = 0; + self scragentsetgoalpos(var_08); + } +} + +//Function Number: 14 +getmovestate(param_00) +{ + if(isdefined(self.enemy)) + { + if(isdefined(self.favoriteenemy) && self.enemy == self.favoriteenemy) + { + return "pursuit"; + } + + if(abs(self.origin[2] - self.enemy.origin[2]) < self.warningzheight && distance2dsquared(self.enemy.origin,self.origin) < self.attackradiussq) + { + return "pursuit"; + } + + if(isdefined(self.curmeleetarget) && self.curmeleetarget == self.enemy) + { + if(distance2dsquared(self.curmeleetarget.origin,self.origin) < self.keeppursuingtargetradiussq) + { + return "pursuit"; + } + } + } + + return "follow"; +} + +//Function Number: 15 +setpastpursuitfailed(param_00) +{ + if(param_00) + { + if(!isdefined(self.lastpursuitfailedpos)) + { + self.lastpursuitfailedpos = self.enemy.origin; + self.lastpursuitfailedmypos = self.origin; + var_01 = maps\mp\agents\_scriptedagents::droppostoground(self.enemy.origin); + self.blastpursuitfailedposbad = !isdefined(var_01); + self.lastpursuitfailedtime = gettime(); + return; + } + + return; + } + + self.lastpursuitfailedpos = undefined; + self.lastpursuitfailedmypos = undefined; + self.blastpursuitfailedposbad = undefined; + self.lastpursuitfailedtime = undefined; +} + +//Function Number: 16 +waitforbadpath() +{ + self endon("death"); + level endon("game_ended"); + for(;;) + { + self waittill("bad_path",var_00); + self.bhasbadpath = 1; + self.lastbadpathtime = gettime(); + self.lastbadpathgoal = var_00; + self.lastbadpathmovestate = self.movestate; + if(self.movestate == "follow" && isdefined(self.owner)) + { + self.lastbadpathultimategoal = self.owner.origin; + continue; + } + + if(self.movestate == "pursuit" && isdefined(self.enemy)) + { + self.lastbadpathultimategoal = self.enemy.origin; + } + } +} + +//Function Number: 17 +waitforpathset() +{ + self endon("death"); + level endon("game_ended"); + for(;;) + { + self waittill("path_set"); + self.bhasbadpath = 0; + } +} + +//Function Number: 18 +getfollowmovemode(param_00) +{ + var_01 = 40000; + var_02 = 65536; + var_03 = self getpathgoalpos(); + if(isdefined(var_03)) + { + var_04 = distancesquared(var_03,self.origin); + if(param_00 == "run" || param_00 == "sprint") + { + if(var_04 < var_01) + { + return "fastwalk"; + } + else if(param_00 == "sprint") + { + return "run"; + } + } + else if(param_00 == "fastwalk") + { + if(var_04 > var_02) + { + return "run"; + } + } + } + + return param_00; +} + +//Function Number: 19 +iswithinattackheight(param_00) +{ + var_01 = param_00[2] - self.origin[2]; + return var_01 <= self.attackzheight && var_01 >= self.attackzheightdown; +} + +//Function Number: 20 +wanttoattacktargetbutcant(param_00) +{ + if(!isdefined(self.curmeleetarget)) + { + return 0; + } + + return !iswithinattackheight(self.curmeleetarget.origin) && distance2dsquared(self.origin,self.curmeleetarget.origin) < self.meleeradiussq * 0.75 * 0.75 && !param_00 || self agentcanseesentient(self.curmeleetarget); +} + +//Function Number: 21 +readytomeleetarget() +{ + if(!isdefined(self.curmeleetarget)) + { + return 0; + } + + if(!maps\mp\_utility::isreallyalive(self.curmeleetarget)) + { + return 0; + } + + if(self.aistate == "traverse") + { + return 0; + } + + if(distance2dsquared(self.origin,self.curmeleetarget.origin) > self.meleeradiussq) + { + return 0; + } + + if(!iswithinattackheight(self.curmeleetarget.origin)) + { + return 0; + } + + return 1; +} + +//Function Number: 22 +wantstogrowlattarget() +{ + if(!isdefined(self.enemy)) + { + return 0; + } + + if(abs(self.origin[2] - self.enemy.origin[2]) <= self.warningzheight || self agentcanseesentient(self.enemy)) + { + var_00 = distance2dsquared(self.origin,self.enemy.origin); + if(var_00 < self.warningradiussq) + { + return 1; + } + } + + return 0; +} + +//Function Number: 23 +getattackpoint(param_00) +{ + var_01 = param_00.origin - self.origin; + var_01 = vectornormalize(var_01); + var_02 = self getpathgoalpos(); + var_03 = self.attackoffset + 4; + if(isdefined(var_02) && distance2dsquared(var_02,param_00.origin) < var_03 * var_03 && maps\mp\agents\_scriptedagents::canmovepointtopoint(param_00.origin,var_02)) + { + return var_02; + } + + var_04 = param_00.origin - var_01 * self.attackoffset; + var_04 = maps\mp\agents\_scriptedagents::droppostoground(var_04); + if(!isdefined(var_04)) + { + return param_00.origin; + } + + if(!maps\mp\agents\_scriptedagents::canmovepointtopoint(param_00.origin,var_04)) + { + var_05 = anglestoforward(param_00.angles); + var_04 = param_00.origin + var_05 * self.attackoffset; + if(!maps\mp\agents\_scriptedagents::canmovepointtopoint(param_00.origin,var_04)) + { + return param_00.origin; + } + } + + return var_04; +} + +//Function Number: 24 +cross2d(param_00,param_01) +{ + return param_00[0] * param_01[1] - param_01[0] * param_00[1]; +} + +//Function Number: 25 +findpointnearowner() +{ + var_00 = vectornormalize(self.origin - self.owner.origin); + var_01 = anglestoforward(self.owner.angles); + var_01 = (var_01[0],var_01[1],0); + var_01 = vectornormalize(var_01); + var_02 = cross2d(var_00,var_01); + var_03 = getclosestnodeinsight(self.owner.origin); + if(!isdefined(var_03)) + { + return self.origin; + } + + var_04 = getlinkednodes(var_03); + var_05 = 5; + var_06 = 10; + var_07 = 15; + var_08 = -15; + var_09 = gettime() - self.timeoflastdamage < 5000; + var_0A = 0; + var_0B = 0; + var_04[var_04.size] = var_03; + foreach(var_0D in var_04) + { + var_0E = 0; + var_0F = var_0D.origin - self.owner.origin; + var_10 = length(var_0F); + if(var_10 >= self.preferredoffsetfromowner) + { + var_0E = var_0E + var_05; + } + else if(var_10 < self.minoffsetfromowner) + { + var_11 = 1 - self.minoffsetfromowner - var_10 / self.minoffsetfromowner; + var_0E = var_0E + var_05 * var_11 * var_11; + } + else + { + var_0E = var_0E + var_05 * var_10 / self.preferredoffsetfromowner; + } + + if(var_10 == 0) + { + var_10 = 1; + } + + var_0F = var_0F / var_10; + var_12 = vectordot(var_01,var_0F); + var_13 = self.owner getstance(); + switch(var_13) + { + case "stand": + if(var_12 < cos(35) && var_12 > cos(45)) + { + var_0E = var_0E + var_06; + } + break; + + case "crouch": + if(var_12 < cos(75) && var_12 > cos(90)) + { + var_0E = var_0E + var_06; + } + break; + + case "prone": + if(var_12 < cos(125) && var_12 > cos(135)) + { + var_0E = var_0E + var_06; + } + break; + } + + var_14 = cross2d(var_0F,var_01); + if(var_14 * var_02 > 0) + { + var_0E = var_0E + var_07; + } + + if(var_09) + { + var_15 = vectordot(self.damagedownertome,var_0F); + var_0E = var_0E + var_15 * var_08; + } + + if(var_0E > var_0A) + { + var_0A = var_0E; + var_0B = var_0D; + } + } + + if(!isdefined(var_0B)) + { + return self.origin; + } + + var_17 = var_0B.origin - self.owner.origin; + var_18 = length(var_17); + if(var_18 > self.preferredoffsetfromowner) + { + var_19 = var_03.origin - self.owner.origin; + if(vectordot(var_19,var_17 / var_18) < 0) + { + var_1A = var_0B.origin; + } + else + { + var_1B = vectornormalize(var_0B.origin - var_03.origin); + var_1A = var_03.origin + var_1B * self.preferredoffsetfromowner; + } + } + else + { + var_1A = var_0C.origin; + } + + var_1A = maps\mp\agents\_scriptedagents::droppostoground(var_1A); + if(!isdefined(var_1A)) + { + return self.origin; + } + + if(self.bhasbadpath && distance2dsquared(var_1A,self.lastbadpathgoal) < 4) + { + return self.origin; + } + + return var_1A; +} + +//Function Number: 26 +destroyonownerdisconnect(param_00) +{ + self endon("death"); + param_00 common_scripts\utility::waittill_any("disconnect","joined_team"); + self notify("owner_disconnect"); + if(maps\mp\gametypes\_hostmigration::waittillhostmigrationdone()) + { + wait(0.05); + } + + self notify("killanimscript"); + if(isdefined(self.animcbs.onexit[self.aistate])) + { + self [[ self.animcbs.onexit[self.aistate] ]](); + } + + self suicide(); +} + +//Function Number: 27 +watchattackstate() +{ + self endon("death"); + level endon("game_ended"); + for(;;) + { + if(self.aistate == "melee") + { + if(self.attackstate != "melee") + { + self.attackstate = "melee"; + setsoundstate(undefined); + } + } + else if(self.movestate == "pursuit") + { + if(self.attackstate != "attacking") + { + self.attackstate = "attacking"; + setsoundstate("bark","attacking"); + } + } + else if(self.attackstate != "warning") + { + if(wantstogrowlattarget()) + { + self.attackstate = "warning"; + setsoundstate("growl","warning"); + } + else + { + self.attackstate = self.aistate; + setsoundstate("pant"); + } + } + else if(!wantstogrowlattarget()) + { + self.attackstate = self.aistate; + setsoundstate("pant"); + } + + wait(0.05); + } +} + +//Function Number: 28 +setsoundstate(param_00,param_01) +{ + if(!isdefined(param_00)) + { + self notify("end_dog_sound"); + self.soundstate = undefined; + return; + } + + if(!isdefined(self.soundstate) || self.soundstate != param_00) + { + self notify("end_dog_sound"); + self.soundstate = param_00; + if(param_00 == "bark") + { + thread playbark(param_01); + return; + } + + if(param_00 == "growl") + { + thread playgrowl(param_01); + return; + } + + if(param_00 == "pant") + { + thread playpanting(); + return; + } + + return; + } +} + +//Function Number: 29 +playbark(param_00) +{ + self endon("death"); + level endon("game_ended"); + self endon("end_dog_sound"); + if(!isdefined(self.barking_sound)) + { + self.barking_sound = 1; + thread watchbarking(); + } +} + +//Function Number: 30 +watchbarking() +{ + self endon("death"); + level endon("game_ended"); + self endon("end_dog_sound"); + wait(randomintrange(5,10)); + self.barking_sound = undefined; +} + +//Function Number: 31 +playgrowl(param_00) +{ + self endon("death"); + level endon("game_ended"); + self endon("end_dog_sound"); + if(isdefined(self.lastgrowlplayedtime) && gettime() - self.lastgrowlplayedtime < 3000) + { + wait(3); + } + + for(;;) + { + self.lastgrowlplayedtime = gettime(); + wait(randomintrange(3,6)); + } +} + +//Function Number: 32 +playpanting(param_00) +{ + self endon("death"); + level endon("game_ended"); + self endon("end_dog_sound"); + if(isdefined(self.lastpantplayedtime) && gettime() - self.lastpantplayedtime < 3000) + { + wait(3); + } + + self.lastpantplayedtime = gettime(); + for(;;) + { + if(self.aistate == "idle") + { + wait(3); + continue; + } + + self.lastpantplayedtime = gettime(); + wait(randomintrange(6,8)); + } +} + +//Function Number: 33 +watchownerdamage() +{ + self endon("death"); + level endon("game_ended"); + for(;;) + { + if(!isdefined(self.owner)) + { + return; + } + + self.owner waittill("damage",var_00,var_01); + if(isplayer(var_01) && var_01 != self.owner) + { + if(self.attackstate == "attacking") + { + continue; + } + + if(distancesquared(self.owner.origin,self.origin) > self.ownerdamagedradiussq) + { + continue; + } + + if(distancesquared(self.owner.origin,var_01.origin) > self.ownerdamagedradiussq) + { + continue; + } + + self.favoriteenemy = var_01; + self.forceattack = 1; + thread watchfavoriteenemydeath(); + } + } +} + +//Function Number: 34 +watchownerdeath() +{ + self endon("death"); + level endon("game_ended"); + for(;;) + { + if(!isdefined(self.owner)) + { + return; + } + + self.owner waittill("death"); + switch(level.gametype) + { + case "sd": + maps\mp\agents\_agent_utility::killdog(); + break; + + case "sr": + var_00 = level common_scripts\utility::waittill_any_return("sr_player_eliminated","sr_player_respawned"); + if(isdefined(var_00) && var_00 == "sr_player_eliminated") + { + maps\mp\agents\_agent_utility::killdog(); + } + break; + } + } +} + +//Function Number: 35 +watchownerteamchange() +{ + self endon("death"); + level endon("game_ended"); + for(;;) + { + if(!isdefined(self.owner)) + { + return; + } + + var_00 = self.owner common_scripts\utility::waittill_any_return_no_endon_death("joined_team","joined_spectators"); + if(isdefined(var_00) && var_00 == "joined_team" || var_00 == "joined_spectators") + { + maps\mp\agents\_agent_utility::killdog(); + } + } +} + +//Function Number: 36 +watchfavoriteenemydeath() +{ + self notify("watchFavoriteEnemyDeath"); + self endon("watchFavoriteEnemyDeath"); + self endon("death"); + self.favoriteenemy common_scripts\utility::waittill_any_timeout(5,"death","disconnect"); + self.favoriteenemy = undefined; + self.forceattack = 0; +} + +//Function Number: 37 +ondamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ + self.timeoflastdamage = gettime(); + if(isdefined(self.owner)) + { + self.damagedownertome = vectornormalize(self.origin - self.owner.origin); + } + + if(shouldplayhitreaction(param_02,param_05,param_04)) + { + switch(self.aistate) + { + case "idle": + thread maps\mp\agents\dog\_dog_idle::ondamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09); + break; + + case "move": + thread maps\mp\agents\dog\_dog_move::ondamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09); + break; + } + } +} + +//Function Number: 38 +shouldplayhitreaction(param_00,param_01,param_02) +{ + if(isdefined(param_01) && weaponclass(param_01) == "sniper") + { + return 1; + } + + if(isdefined(param_02) && isexplosivedamagemod(param_02) && param_00 >= 10) + { + return 1; + } + + if(isdefined(param_02) && param_02 == "MOD_MELEE") + { + return 1; + } + + if(isdefined(param_01) && param_01 == "concussion_grenade_mp") + { + return 1; + } + + return 0; +} + +//Function Number: 39 +monitorflash() +{ + self endon("death"); + for(;;) + { + self waittill("flashbang",var_00,var_01,var_02,var_03,var_04,var_05); + if(isdefined(var_03) && var_03 == self.owner) + { + continue; + } + + switch(self.aistate) + { + case "idle": + maps\mp\agents\dog\_dog_idle::onflashbanged(); + break; + + case "move": + maps\mp\agents\dog\_dog_move::onflashbanged(); + break; + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/agents/dog/_zombie_dog_idle.gsc b/AW/PC/maps/mp/agents/dog/_zombie_dog_idle.gsc new file mode 100644 index 0000000..a4c2ba7 --- /dev/null +++ b/AW/PC/maps/mp/agents/dog/_zombie_dog_idle.gsc @@ -0,0 +1,259 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\agents\dog\_zombie_dog_idle.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 12 + * Decompile Time: 204 ms + * Timestamp: 4/22/2024 2:08:04 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animsubstate = "none"; + self scragentsetgoalpos(self.origin); + self scragentsetorientmode("face angle abs",self.angles); + self scragentsetanimmode("anim deltas"); + self scragentsetphysicsmode("gravity"); + updatestate(); +} + +//Function Number: 2 +end_script() +{ + if(isdefined(self.prevturnrate)) + { + self scragentsetmaxturnspeed(self.prevturnrate); + self.prevturnrate = undefined; + } +} + +//Function Number: 3 +updatestate() +{ + self endon("killanimscript"); + self endon("UpdateState"); + for(;;) + { + var_00 = determinestate(); + if(var_00 != self.animsubstate) + { + exitstate(self.animsubstate); + enterstate(var_00); + } + + updateangle(); + switch(self.animsubstate) + { + case "idle_combat": + wait(0.2); + break; + + case "idle_noncombat": + wait(0.5); + break; + + default: + wait(1); + break; + } + } +} + +//Function Number: 4 +determinestate() +{ + if(isdefined(self.idlestateoverridefunc)) + { + return [[ self.idlestateoverridefunc ]](); + } + + if(shouldattackidle()) + { + return "idle_combat"; + } + + return "idle_noncombat"; +} + +//Function Number: 5 +enterstate(param_00) +{ + self.animsubstate = param_00; + playidleanim(); +} + +//Function Number: 6 +exitstate(param_00) +{ + if(isdefined(self.prevturnrate)) + { + self scragentsetmaxturnspeed(self.prevturnrate); + self.prevturnrate = undefined; + } +} + +//Function Number: 7 +playidleanim() +{ + maps\mp\agents\_scripted_agent_anim_util::set_anim_state(self.animsubstate); +} + +//Function Number: 8 +updateangle() +{ + var_00 = undefined; + if(isdefined(self.targetofinterest) && distancesquared(self.targetofinterest.origin,self.origin) < 262144) + { + var_00 = self.targetofinterest; + } + else if(isdefined(self.distractiondrone) && distancesquared(self.distractiondrone.groundpos,self.origin) < 16384) + { + var_00 = self.distractiondrone; + } + else if(isdefined(self.enemy) && distancesquared(self.enemy.origin,self.origin) < 1048576) + { + var_00 = self.enemy; + } + else if(isdefined(self.owner) && distancesquared(self.owner.origin,self.origin) > 576) + { + var_00 = self.owner; + } + + if(isdefined(var_00)) + { + var_01 = var_00.origin - self.origin; + var_02 = vectortoangles(var_01); + if(abs(angleclamp180(var_02[1] - self.angles[1])) > 1) + { + turntoangle(var_02[1]); + } + } +} + +//Function Number: 9 +shouldattackidle() +{ + if(!isdefined(self.enemy)) + { + return 0; + } + + if(!maps\mp\_utility::isreallyalive(self.enemy)) + { + return 0; + } + + if(distancesquared(self.origin,self.enemy.origin) >= 1000000) + { + return 0; + } + + return 1; +} + +//Function Number: 10 +getturnanimstate(param_00) +{ + var_01 = "idle_noncombat_turn"; + if(shouldattackidle()) + { + var_01 = "idle_combat_turn"; + } + + var_02 = self getanimentrycount(var_01); + var_03 = 0; + if(var_02 == 3) + { + if(param_00 < -135 || param_00 > 135) + { + var_03 = 0; + } + else if(param_00 < 0) + { + var_03 = 1; + } + else + { + var_03 = 2; + } + } + + return [var_01,var_03]; +} + +//Function Number: 11 +turntoangle(param_00) +{ + var_01 = self.angles[1]; + var_02 = angleclamp180(param_00 - var_01); + if(-0.5 < var_02 && var_02 < 0.5) + { + return; + } + + if(-10 < var_02 && var_02 < 10) + { + rotatetoangle(param_00,2); + return; + } + + var_03 = getturnanimstate(var_02); + var_04 = var_03[0]; + var_05 = var_03[1]; + var_06 = self getanimentry(var_04,var_05); + var_07 = getanimlength(var_06); + var_08 = getangledelta3d(var_06); + self scragentsetanimmode("anim angle delta"); + if(animhasnotetrack(var_06,"turn_begin") && animhasnotetrack(var_06,"turn_end")) + { + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_04,var_05,self.generalspeedratescale,"turn_in_place"); + var_09 = getnotetracktimes(var_06,"turn_begin"); + var_0A = getnotetracktimes(var_06,"turn_end"); + var_0B = var_0A[0] - var_09[0] * var_07; + var_0C = angleclamp180(var_02 - var_08[1]); + var_0D = abs(var_0C) / var_0B / 20; + var_0D = var_0D * 3.14159 / 180; + var_0E = (0,angleclamp180(self.angles[1] + var_0C),0); + self.prevturnrate = self scragentgetmaxturnspeed(); + self scragentsetmaxturnspeed(var_0D); + self scragentsetorientmode("face angle abs",var_0E); + var_07 = getanimlength(self getanimentry(var_04,var_05)); + maps\mp\agents\_scripted_agent_anim_util::waituntilnotetrack_safe("turn_in_place","turn_end",var_07); + self scragentsetmaxturnspeed(self.prevturnrate); + self.prevturnrate = undefined; + maps\mp\agents\_scripted_agent_anim_util::waituntilnotetrack_safe("turn_in_place","end",var_07); + } + else + { + self.prevturnrate = self scragentgetmaxturnspeed(); + var_0D = abs(angleclamp180(var_04 - var_0E[1])) / var_0D / 20; + var_0E = var_0E * 3.14159 / 180; + self scragentsetmaxturnspeed(var_0E); + var_0E = (0,angleclamp180(var_01 - var_0D[1]),0); + self scragentsetorientmode("face angle abs",var_0E); + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_04,var_05,self.generalspeedratescale,"turn_in_place"); + self scragentsetmaxturnspeed(self.prevturnrate); + self.prevturnrate = undefined; + } + + self scragentsetanimmode("anim deltas"); + playidleanim(); +} + +//Function Number: 12 +rotatetoangle(param_00,param_01) +{ + if(abs(angleclamp180(param_00 - self.angles[1])) <= param_01) + { + return; + } + + var_02 = (0,param_00,0); + self scragentsetorientmode("face angle abs",var_02); + while(angleclamp180(param_00 - self.angles[1]) > param_01) + { + wait(0.1); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/agents/dog/_zombie_dog_melee.gsc b/AW/PC/maps/mp/agents/dog/_zombie_dog_melee.gsc new file mode 100644 index 0000000..b927547 --- /dev/null +++ b/AW/PC/maps/mp/agents/dog/_zombie_dog_melee.gsc @@ -0,0 +1,178 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\agents\dog\_zombie_dog_melee.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 6 + * Decompile Time: 99 ms + * Timestamp: 4/22/2024 2:08:05 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self endon("death"); + self endon("killanimscript"); + self.curmeleetarget endon("disconnect"); + var_00 = distancesquared(self.curmeleetarget.origin,self.origin); + var_01 = maps\mp\agents\humanoid\_humanoid::getmeleeattackpoint(self.curmeleetarget); + if(maps\mp\agents\humanoid\_humanoid_melee::ismeleeblocked()) + { + return maps\mp\agents\humanoid\_humanoid_melee::meleefailed(); + } + + doattackstandard(self.curmeleetarget,var_01.origin); +} + +//Function Number: 2 +end_script() +{ + self scragentsetanimscale(1,1); +} + +//Function Number: 3 +getmeleeanimstate() +{ + return "attack_run_and_jump"; +} + +//Function Number: 4 +doattackstandard(param_00,param_01) +{ + var_02 = getmeleeanimstate(); + var_03 = self.nonmoveratescale; + var_04 = 0; + var_05 = 0; + self.lastmeleefailedmypos = undefined; + self.lastmeleefailedpos = undefined; + var_06 = randomint(self getanimentrycount(var_02)); + var_07 = self getanimentry(var_02,var_06); + var_08 = getanimlength(var_07); + var_09 = getnotetracktimes(var_07,"dog_melee"); + var_0A = var_08 / var_03 * 0.33; + if(var_09.size > 0) + { + var_0A = var_08 / var_03 * var_09[0]; + } + + self scragentsetphysicsmode("gravity"); + if(var_05) + { + self scragentsetorientmode("face enemy"); + } + else + { + self scragentsetorientmode("face angle abs",(0,vectortoyaw(param_00.origin - self.origin),0)); + } + + self scragentsetanimmode("anim deltas"); + maps\mp\agents\_scripted_agent_anim_util::set_anim_state(var_02,var_06,var_03); + if(var_04) + { + self scragentsetanimscale(0,1); + self scragentdoanimlerp(self.origin,param_01,var_0A); + childthread updatelerppos(param_00,var_0A,1,self.lungelerprange); + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(1,"DoAttackStandard"); + } + else + { + self scragentsetanimscale(1,1); + } + + wait(var_0A); + self notify("cancel_updatelerppos"); + self scragentsetanimmode("anim deltas"); + self scragentsetanimscale(1,1); + if(var_04) + { + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(0,"DoAttackStandard"); + } + + if(maps\mp\agents\humanoid\_humanoid_melee::attackshouldhit(param_00)) + { + self notify("attack_hit",param_00,param_01); + var_0B = 0; + if(isdefined(param_00)) + { + var_0B = param_00.health; + } + + if(isdefined(self.meleedamage)) + { + var_0B = self.meleedamage; + } + + if(isalive(param_00)) + { + maps\mp\agents\humanoid\_humanoid_melee::domeleedamage(param_00,var_0B,"MOD_IMPACT"); + } + } + else + { + self notify("attack_miss",param_00,param_01); + } + + self.lastmeleepos = self.origin; + var_0C = var_08 / var_03 - var_0A; + if(var_0C > 0) + { + maps\mp\agents\_scripted_agent_anim_util::waituntilnotetrack_safe("attack_anim","end",var_0C); + } + + self.lastmeleefinishtime = gettime(); +} + +//Function Number: 5 +updatelerppos(param_00,param_01,param_02) +{ + self endon("killanimscript"); + self endon("death"); + self endon("cancel_updatelerppos"); + param_00 endon("disconnect"); + param_00 endon("death"); + var_03 = param_01; + var_04 = 0.05; + for(;;) + { + wait(var_04); + var_03 = var_03 - var_04; + if(var_03 <= 0) + { + break; + } + + var_05 = getupdatedattackpos(param_00,param_02); + if(!isdefined(var_05)) + { + break; + } + + self scragentdoanimlerp(self.origin,var_05,var_03); + } +} + +//Function Number: 6 +getupdatedattackpos(param_00,param_01) +{ + if(!param_01) + { + var_02 = maps\mp\zombies\_util::droppostoground(param_00.origin); + return var_02; + } + + var_03 = param_01.origin - self.origin; + var_04 = length(var_03); + if(var_04 < self.attackoffset) + { + return self.origin; + } + + var_03 = var_03 / var_04; + var_05 = param_01.origin - var_03 * self.attackoffset; + if(maps\mp\zombies\_util::canmovepointtopoint(self.origin,var_05)) + { + return var_05; + } + + return undefined; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/agents/dog/_zombie_dog_move.gsc b/AW/PC/maps/mp/agents/dog/_zombie_dog_move.gsc new file mode 100644 index 0000000..fb3a104 --- /dev/null +++ b/AW/PC/maps/mp/agents/dog/_zombie_dog_move.gsc @@ -0,0 +1,390 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\agents\dog\_zombie_dog_move.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 18 + * Decompile Time: 292 ms + * Timestamp: 4/22/2024 2:08:06 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self endon("killanimscript"); + self scragentsetphysicsmode("gravity"); + self.ismoving = 1; + startmove(); + continuemovement(); +} + +//Function Number: 2 +end_script() +{ + self.ismoving = undefined; + cancelallbut(undefined); + self scragentsetanimscale(1,1); +} + +//Function Number: 3 +setupmovement() +{ + thread maps\mp\agents\humanoid\_humanoid_move::waitforrunwalkchange(); + thread waitforturn(); + thread waitforstop(); +} + +//Function Number: 4 +continuemovement() +{ + setupmovement(); + self scragentsetanimmode("code_move"); + self scragentsetorientmode("face motion"); + self scragentsetanimscale(1,1); + setmoveanim(self.movemode); +} + +//Function Number: 5 +setmoveanim(param_00) +{ + self notify("zombiedogmove_endwait_setmoveanim"); + self endon("zombiedogmove_endwait_setmoveanim"); + self endon("killanimscript"); + var_01 = randomint(self getanimentrycount(param_00)); + maps\mp\agents\_scripted_agent_anim_util::set_anim_state(param_00,var_01,self.moveratescale); +} + +//Function Number: 6 +doturn(param_00) +{ + self notify("zombiedogmove_DoTurn"); + self endon("zombiedogmove_DoTurn"); + self endon("killanimscript"); + var_01 = "turn_" + self.movemode; + var_02 = vectortoangles(param_00); + var_03 = angleclamp180(var_02[1] - self.angles[1]); + var_04 = self getanimentrycount(var_01); + if(var_04 <= 0) + { + thread waitforturn(); + return; + } + + var_05 = maps\mp\agents\_scripted_agent_anim_util::getangleindexvariable(var_03,var_04); + if(var_05 == int(var_04 * 0.5)) + { + thread waitforturn(); + return; + } + + var_06 = self getanimentry(var_01,var_05); + var_07 = getangledelta(var_06); + var_08 = (0,angleclamp180(var_02[1] - var_07),0); + if(!maps\mp\agents\humanoid\_humanoid_move::candoturnanim(var_06,var_08,var_05 == 3 || var_05 == 5,1)) + { + thread waitforturn(); + return; + } + + cancelallbut("turn"); + self scragentsetanimmode("anim deltas"); + self scragentsetorientmode("face angle abs",var_08); + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_01,var_05,self.moveratescale,"turn"); + thread continuemovement(); +} + +//Function Number: 7 +waitforturn() +{ + self notify("zombiedogmove_endwait_turn"); + self endon("zombiedogmove_endwait_turn"); + self waittill("path_dir_change",var_00); + childthread doturn(var_00); +} + +//Function Number: 8 +waitforstop() +{ + self notify("zombiedogmove_endwait_stop"); + self endon("zombiedogmove_endwait_stop"); + self endon("killanimscript"); + self waittill("stop_soon"); + if(!maps\mp\zombies\_util::is_true(self.barrivalsenabled)) + { + thread waitforstop(); + return; + } + + var_00 = "stop_" + self.movemode; + var_01 = self getanimentrycount(var_00); + if(var_01 <= 0) + { + thread waitforstop(); + return; + } + + var_02 = 0; + if(isdefined(self.node)) + { + var_02 = self.node.angles[1] - self.angles[1]; + } + + var_03 = maps\mp\agents\_scripted_agent_anim_util::getangleindexvariable(var_02,var_01); + var_04 = self getanimentry(var_00,var_03); + var_05 = getmovedelta(var_04); + var_06 = getangledelta(var_04); + var_07 = self getpathgoalpos(); + var_08 = var_07 - self.origin; + if(length(var_08) + 12 < length(var_05)) + { + thread waitforstop(); + return; + } + + var_09 = getstopdata(); + var_0A = calcanimstartpos(var_09.pos,var_09.angles[1],var_05,var_06); + var_0B = maps\mp\zombies\_util::droppostoground(var_0A); + if(!isdefined(var_0B)) + { + thread waitforstop(); + return; + } + + if(!maps\mp\zombies\_util::canmovepointtopoint(var_09.pos,var_0B)) + { + thread waitforstop(); + return; + } + + cancelallbut("stop"); + thread waitforpathsetwhilestopping(); + thread waitforturnwhilestopping(); + if(distancesquared(var_0A,self.origin) > 4) + { + self scragentsetwaypoint(var_0A); + thread waitforblockedwhilestopping(); + self waittill("waypoint_reached"); + self notify("zombiedogmove_endwait_blockedwhilestopping"); + } + + var_0C = var_07 - self.origin; + var_0D = vectortoangles(var_0C); + var_0E = (0,var_0D[1] - var_06,0); + var_0F = maps\mp\agents\_scripted_agent_anim_util::getanimscalefactors(var_07 - self.origin,var_05); + self scragentsetanimmode("anim deltas"); + self scragentsetorientmode("face angle abs",var_0E,(0,var_0D[1],0)); + self scragentsetanimscale(var_0F.xy,var_0F.z); + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_00,var_03,self.moveratescale,"move_stop"); + self scragentsetgoalpos(self.origin); +} + +//Function Number: 9 +waitforpathsetwhilestopping() +{ + self notify("zombiedogmove_endwait_pathsetwhilestopping"); + self endon("zombiedogmove_endwait_pathsetwhilestopping"); + self endon("killanimscript"); + var_00 = self scragentgetgoalpos(); + self waittill("path_set"); + var_01 = self scragentgetgoalpos(); + if(distancesquared(var_00,var_01) < 1) + { + thread waitforpathsetwhilestopping(); + return; + } + + self notify("zombiedogmove_endwait_stop"); + self notify("zombiedogmove_endwait_turnwhilestopping"); + thread continuemovement(); +} + +//Function Number: 10 +waitforturnwhilestopping() +{ + self notify("zombiedogmove_endwait_turnwhilestopping"); + self endon("zombiedogmove_endwait_turnwhilestopping"); + self endon("killanimscript"); + self waittill("path_dir_change",var_00); + self notify("zombiedogmove_endwait_pathsetwhilestopping"); + self notify("zombiedogmove_endwait_stop"); + thread doturn(var_00); +} + +//Function Number: 11 +waitforblockedwhilestopping() +{ + self notify("zombiedogmove_endwait_blockedwhilestopping"); + self endon("zombiedogmove_endwait_blockedwhilestopping"); + self endon("killanimscript"); + self waittill("path_blocked"); + self notify("zombiedogmove_endwait_stop"); + self scragentsetwaypoint(undefined); +} + +//Function Number: 12 +cancelallbut(param_00) +{ + var_01 = ["turn","stop","pathsetwhilestopping","blockedwhilestopping","turnwhilestopping","setmoveanim","modechange"]; + var_02 = isdefined(param_00); + foreach(var_04 in var_01) + { + if(var_02 && var_04 == param_00) + { + continue; + } + + self notify("zombiedogmove_endwait_" + var_04); + } +} + +//Function Number: 13 +startmove() +{ + var_00 = self getnegotiationstartnode(); + if(isdefined(var_00)) + { + var_01 = var_00.origin; + } + else + { + var_01 = self getpathgoalpos(); + } + + if(distancesquared(var_01,self.origin) < 10000) + { + return; + } + + var_02 = self getlookaheaddir(); + var_03 = vectortoangles(var_02); + var_04 = self getvelocity(); + if(length2dsquared(var_04) > 16) + { + var_04 = vectornormalize(var_04); + if(vectordot(var_04,var_02) > 0.707) + { + return; + } + } + + var_05 = "move_start"; + var_06 = angleclamp180(var_03[1] - self.angles[1]); + var_07 = self getanimentrycount(var_05); + if(var_07 == 0) + { + return; + } + + var_08 = maps\mp\agents\_scripted_agent_anim_util::getangleindexvariable(var_06,var_07); + var_09 = self getanimentry(var_05,var_08); + var_0A = getmovedelta(var_09); + var_0B = rotatevector(var_0A,self.angles) + self.origin; + if(!maps\mp\zombies\_util::canmovepointtopoint(self.origin,var_0B,0)) + { + return; + } + + var_0C = getangledelta3d(var_09); + self scragentsetanimmode("anim deltas"); + if(abs(var_08 - int(var_07 * 0.5)) <= 1) + { + self scragentsetorientmode("face angle abs",(0,angleclamp180(var_03[1] - var_0C[1]),0)); + } + else + { + self scragentsetorientmode("face angle abs",self.angles); + } + + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_05,var_08,self.moveratescale,"move_start","code_move"); +} + +//Function Number: 14 +getstopdata() +{ + var_00 = spawnstruct(); + if(isdefined(self.node)) + { + var_00.pos = self.node.origin; + var_00.angles = self.node.angles; + } + else + { + var_01 = self getpathgoalpos(); + var_00.pos = var_01; + var_00.angles = vectortoangles(self getlookaheaddir()); + } + + return var_00; +} + +//Function Number: 15 +calcanimstartpos(param_00,param_01,param_02,param_03) +{ + var_04 = param_01 - param_03; + var_05 = (0,var_04,0); + var_06 = anglestoforward(var_05); + var_07 = anglestoright(var_05); + var_08 = var_06 * param_02[0]; + var_09 = var_07 * param_02[1]; + return param_00 - var_08 + var_09; +} + +//Function Number: 16 +dohitreaction(param_00,param_01) +{ + cancelallbut(undefined); + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(1,"DoHitReaction"); + var_02 = angleclamp180(param_00 - self.angles[1]); + var_03 = ""; + var_04 = 0; + if(isdefined(param_01) && param_01 == "boost_slam_mp" && var_02 < 45 && randomfloat(1) < 0.4) + { + var_03 = "pain_knockback_front"; + var_04 = 0; + } + else + { + var_03 = "run_pain"; + if(var_02 > 0) + { + var_04 = 1; + } + else + { + var_04 = 0; + } + } + + self scragentsetanimmode("anim deltas"); + self scragentsetorientmode("face angle abs",self.angles); + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack(var_03,var_04,self.nonmoveratescale,"pain_anim"); + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(0,"DoHitReaction"); + continuemovement(); +} + +//Function Number: 17 +ondamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ + if(maps\mp\agents\_scripted_agent_anim_util::isstatelocked()) + { + return; + } + + if(isdefined(param_07)) + { + var_0A = vectortoangles(param_07); + var_0B = var_0A[1] - 180; + thread dohitreaction(var_0B,param_05); + } +} + +//Function Number: 18 +onflashbanged(param_00,param_01,param_02,param_03,param_04,param_05) +{ + if(maps\mp\agents\_scripted_agent_anim_util::isstatelocked()) + { + return; + } + + dohitreaction(self.angles[1] + 180); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/agents/dog/_zombie_dog_think.gsc b/AW/PC/maps/mp/agents/dog/_zombie_dog_think.gsc new file mode 100644 index 0000000..aad0bc5 --- /dev/null +++ b/AW/PC/maps/mp/agents/dog/_zombie_dog_think.gsc @@ -0,0 +1,243 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\agents\dog\_zombie_dog_think.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 10 + * Decompile Time: 166 ms + * Timestamp: 4/22/2024 2:08:07 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setupdogstate(); + thread think(); + thread maps\mp\zombies\_util::waitforbadpath(); + thread waitforpathset(); +} + +//Function Number: 2 +setupdogstate() +{ + self.attackoffset = 40 + self.radius; + self.meleesectortype = "normal"; + self.meleesectorupdatetime = 50; + self.attackzheight = 54; + self.attackzheightdown = -64; + self.damagedradiussq = 2250000; + self.ignoreclosefoliage = 1; + self.moveratescale = 1; + self.nonmoveratescale = 1; + self.traverseratescale = 1; + self.generalspeedratescale = 1; + self.bhasbadpath = 0; + self.bhasnopath = 0; + self.timeoflastdamage = 0; + self.allowcrouch = 1; + self.meleecheckheight = 30; + self.meleeradiusbase = 80; + self.meleeradiusbasesq = squared(self.meleeradiusbase); + maps\mp\zombies\_util::setmeleeradius(self.meleeradiusbase); + self.defaultgoalradius = self.radius + 5; + self scragentsetgoalradius(self.defaultgoalradius); + self.meleedot = 0.85; + self.lastmeleefinishtime = 0; + self.meleedebouncetime = 1; + self.played_damage_for_threshold = []; +} + +//Function Number: 3 +init() +{ + self.animcbs = spawnstruct(); + self.animcbs.onenter = []; + self.animcbs.onenter["idle"] = ::maps\mp\agents\dog\_zombie_dog_idle::main; + self.animcbs.onenter["move"] = ::maps\mp\agents\dog\_zombie_dog_move::main; + self.animcbs.onenter["traverse"] = ::maps\mp\agents\dog\_zombie_dog_traverse::main; + self.animcbs.onenter["melee"] = ::maps\mp\agents\dog\_zombie_dog_melee::main; + self.animcbs.onexit = []; + self.animcbs.onexit["idle"] = ::maps\mp\agents\dog\_zombie_dog_idle::end_script; + self.animcbs.onexit["move"] = ::maps\mp\agents\dog\_zombie_dog_move::end_script; + self.animcbs.onexit["melee"] = ::maps\mp\agents\dog\_zombie_dog_melee::end_script; + self.animcbs.onexit["traverse"] = ::maps\mp\agents\dog\_zombie_dog_traverse::end_script; + self.animcbs.ondamage = []; + self.animcbs.ondamage["move"] = ::maps\mp\agents\dog\_zombie_dog_move::ondamage; + self.aistate = "idle"; + self.movemode = "run"; + self.radius = 18; + if(maps\mp\zombies\_util::getzombieslevelnum() >= 3) + { + self.radius = 17; + } + + self.height = 41; +} + +//Function Number: 4 +think() +{ + self endon("death"); + level endon("game_ended"); + self endon("owner_disconnect"); + thread maps\mp\zombies\_zombies::zombieaimonitorthreads(); + thread zombie_dog_moan(); + thread zombie_dog_audio_monitor(); + thread maps\mp\zombies\_zombies::updatebuffs(); + self.sharpturnnotifydist = 125; + for(;;) + { + wait(0.05); + if(maps\mp\zombies\_behavior::humanoid_begin_melee()) + { + continue; + } + + if(maps\mp\zombies\_behavior::humanoid_seek_enemy_melee()) + { + continue; + } + + if(maps\mp\zombies\_behavior::humanoid_seek_enemies_all_known()) + { + continue; + } + + if(maps\mp\zombies\_behavior::humanoid_seek_random_loc()) + { + continue; + } + } +} + +//Function Number: 5 +zombie_dog_moan() +{ + self endon("death"); + level endon("game_ended"); + for(;;) + { + while(!isdefined(self.curmeleetarget)) + { + wait(0.25); + } + + while(isdefined(self.curmeleetarget) && distancesquared(self.origin,self.curmeleetarget.origin) > 40000) + { + wait(randomfloatrange(0,2)); + maps\mp\zombies\_zombies_audio::do_zombies_playvocals("idle",self.agent_type); + } + + wait(0.05); + } +} + +//Function Number: 6 +zombie_dog_audio_monitor() +{ + self endon("death"); + level endon("game_ended"); + for(;;) + { + var_00 = common_scripts\utility::waittill_any_return_parms("attack_hit","attack_miss"); + switch(var_00[0]) + { + case "attack_hit": + var_01 = var_00[1]; + if(isdefined(var_01) && isplayer(var_01)) + { + if(isalive(var_01)) + { + var_01 playlocalsound("zmb_dog_bite_wound"); + } + else + { + var_01 playsoundtoplayer("zmb_dog_bite_wound",var_01); + } + } + break; + + case "attack_miss": + maps\mp\zombies\_zombies_audio::do_zombies_playvocals("attack",self.agent_type); + break; + } + } +} + +//Function Number: 7 +waitforpathset() +{ + self endon("death"); + level endon("game_ended"); + for(;;) + { + self waittill("path_set"); + self.bhasbadpath = 0; + } +} + +//Function Number: 8 +ondamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ + self.timeoflastdamage = gettime(); + if(isdefined(self.owner)) + { + self.damagedownertome = vectornormalize(self.origin - self.owner.origin); + } + + if(isdefined(self.animcbs.ondamage[self.aistate]) && shouldplaystophitreaction(param_02,param_05,param_04,param_08)) + { + self [[ self.animcbs.ondamage[self.aistate] ]](param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09); + } +} + +//Function Number: 9 +shouldplaystophitreaction(param_00,param_01,param_02,param_03) +{ + if(isdefined(param_01) && maps\mp\zombies\_util::iszombiednagrenade(param_01)) + { + return 0; + } + + if(maps\mp\agents\_scripted_agent_anim_util::isstatelocked()) + { + return 0; + } + + if(isdefined(param_01) && param_01 == "zombie_water_trap_mp") + { + return 1; + } + + var_04 = self.health - param_00; + var_05 = [self.maxhealth * 0.6]; + for(var_06 = 0;var_06 < var_05.size;var_06++) + { + if(!isdefined(self.played_damage_for_threshold[var_06]) && var_04 < var_05[var_06]) + { + self.played_damage_for_threshold[var_06] = 1; + return 1; + } + } + + return 0; +} + +//Function Number: 10 +monitorflash() +{ + self endon("death"); + for(;;) + { + self waittill("flashbang",var_00,var_01,var_02,var_03,var_04,var_05); + if(isdefined(var_03) && var_03 == self.owner) + { + continue; + } + + if(!maps\mp\agents\_scripted_agent_anim_util::isstatelocked()) + { + maps\mp\agents\dog\_zombie_dog_move::onflashbanged(); + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/agents/dog/_zombie_dog_traverse.gsc b/AW/PC/maps/mp/agents/dog/_zombie_dog_traverse.gsc new file mode 100644 index 0000000..8d81c14 --- /dev/null +++ b/AW/PC/maps/mp/agents/dog/_zombie_dog_traverse.gsc @@ -0,0 +1,78 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\agents\dog\_zombie_dog_traverse.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 58 ms + * Timestamp: 4/22/2024 2:08:07 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(!isdefined(level.zombietraverseanims) || !isdefined(level.zombietraverseanims["dog"])) + { + initzombiedogtraverseanims(); + } + + maps\mp\agents\humanoid\_humanoid_traverse::dotraverse(); +} + +//Function Number: 2 +end_script() +{ + maps\mp\agents\humanoid\_humanoid_traverse::end_script(); +} + +//Function Number: 3 +initzombiedogtraverseanims() +{ + if(!isdefined(level.zombietraverseanims)) + { + level.zombietraverseanims = []; + } + + if(!isdefined(level.zombietraverseanims["dog"])) + { + level.zombietraverseanims["dog"] = []; + } + + level.zombietraverseanims["dog"]["jump_across_100"] = "traverse_jump_over_24"; + level.zombietraverseanims["dog"]["jump_across_196"] = "traverse_jump_over_24"; + level.zombietraverseanims["dog"]["boost_jump_across_100"] = level.zombietraverseanims["dog"]["jump_across_100"]; + level.zombietraverseanims["dog"]["boost_jump_across_196"] = level.zombietraverseanims["dog"]["jump_across_196"]; + level.zombietraverseanims["dog"]["jump_down_40"] = "traverse_jump_down_40"; + level.zombietraverseanims["dog"]["jump_down_slow"] = "traverse_jump_down_70"; + level.zombietraverseanims["dog"]["jump_down_fast"] = "traverse_jump_down_70"; + level.zombietraverseanims["dog"]["step_over_40"] = "traverse_jump_over_36"; + level.zombietraverseanims["dog"]["window_over_36"] = "traverse_jump_over_36"; + level.zombietraverseanims["dog"]["step_up_40"] = "traverse_jump_up_40"; + level.zombietraverseanims["dog"]["wall_over_40"] = "traverse_jump_over_36"; + level.zombietraverseanims["dog"]["boost_jump_up"] = "traverse_jump_up_70"; + level.zombietraverseanims["dog"]["climbup_shaft"] = "traverse_climbup_shaft"; + level.zombietraverseanims["dog"]["spawn_closet_door"] = "traverse_spawn_closet_door"; + level.zombietraverseanims["dog"]["spawn_closet_vault"] = "traverse_spawn_closet_vault"; + level.zombietraverseanims["dog"]["spawn_closet_window"] = "traverse_spawn_closet_window"; + level.zombietraverseanims["dog"]["spawn_closet_high_window"] = "traverse_jump_over_36"; + if(!isdefined(level.zombietraverseanimchance)) + { + level.zombietraverseanimchance = []; + } + + if(!isdefined(level.zombietraverseanimchance["dog"])) + { + level.zombietraverseanimchance["dog"] = []; + } + + level.zombietraverseanimchance["dog"]["traverse_jump_up_70"][0] = 0.7; + level.zombietraverseanimchance["dog"]["traverse_jump_up_70"][1] = 0.3; + foreach(var_01 in level.zombietraverseanimchance["dog"]) + { + var_02 = 0; + foreach(var_04 in var_01) + { + var_02 = var_02 + var_04; + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/agents/humanoid/_humanoid.gsc b/AW/PC/maps/mp/agents/humanoid/_humanoid.gsc new file mode 100644 index 0000000..a0aa946 --- /dev/null +++ b/AW/PC/maps/mp/agents/humanoid/_humanoid.gsc @@ -0,0 +1,543 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\agents\humanoid\_humanoid.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 20 + * Decompile Time: 335 ms + * Timestamp: 4/22/2024 2:08:08 AM +*******************************************************************/ + +//Function Number: 1 +setuphumanoidstate() +{ + self.attackoffset = 26 + self.radius; + self.meleesectortype = "normal"; + self.meleesectorupdatetime = 50; + self.attackzheight = 54; + self.attackzheightdown = -64; + self.damagedradiussq = 2250000; + self.ignoreclosefoliage = 1; + self.moveratescale = 1; + self.nonmoveratescale = 1; + self.traverseratescale = 1; + self.generalspeedratescale = 1; + self.bhasbadpath = 0; + self.bhasnopath = 1; + self.timeoflastdamage = 0; + self.allowcrouch = 1; + self.meleecheckheight = 40; + self.meleeradiusbase = 60; + self.meleeradiusbasesq = squared(self.meleeradiusbase); + maps\mp\zombies\_util::setmeleeradius(self.meleeradiusbase); + self.defaultgoalradius = self.radius + 1; + self scragentsetgoalradius(self.defaultgoalradius); + self.meleedot = 0.5; +} + +//Function Number: 2 +init() +{ + self.animcbs = spawnstruct(); + self.animcbs.onenter = []; + self.animcbs.onenter["idle"] = ::maps\mp\agents\humanoid\_humanoid_idle::main; + self.animcbs.onenter["move"] = ::maps\mp\agents\humanoid\_humanoid_move::main; + self.animcbs.onenter["traverse"] = ::maps\mp\agents\humanoid\_humanoid_traverse::main; + self.animcbs.onenter["melee"] = ::maps\mp\agents\humanoid\_humanoid_melee::main; + self.animcbs.onenter["scripted"] = ::onscriptedbegin; + self.animcbs.onexit = []; + self.animcbs.onexit["idle"] = ::maps\mp\agents\humanoid\_humanoid_idle::end_script; + self.animcbs.onexit["move"] = ::maps\mp\agents\humanoid\_humanoid_move::end_script; + self.animcbs.onexit["melee"] = ::maps\mp\agents\humanoid\_humanoid_melee::end_script; + self.animcbs.onexit["traverse"] = ::maps\mp\agents\humanoid\_humanoid_traverse::end_script; + self.animcbs.onexit["scripted"] = ::onscriptedend; + self.animcbs.ondamage = []; + self.animcbs.ondamage["move"] = ::maps\mp\agents\humanoid\_humanoid_move::ondamage; + self.aistate = "idle"; + self.movemode = "walk"; + self.sharpturnnotifydist = 100; + self.radius = 15; + self.height = 40; +} + +//Function Number: 3 +onscriptedbegin() +{ + self.isscripted = 1; +} + +//Function Number: 4 +onscriptedend() +{ + self.isscripted = undefined; +} + +//Function Number: 5 +spawn_humanoid(param_00,param_01,param_02,param_03) +{ + self setmodel("tag_origin"); + self.species = "humanoid"; + self.onenteranimstate = ::maps\mp\agents\_scripted_agent_anim_util::onenteranimstate; + if(isdefined(param_01) && isdefined(param_02)) + { + var_04 = param_01; + var_05 = param_02; + } + else + { + var_06 = self [[ level.getspawnpoint ]](); + var_04 = var_06.origin; + var_05 = var_06.angles; + } + + maps\mp\agents\_agent_utility::activateagent(); + self.spawntime = gettime(); + self.lastspawntime = gettime(); + init(); + var_07 = 15; + var_08 = 60; + if(isdefined(level.getradiusandheight) && isdefined(level.getradiusandheight[self.agent_type])) + { + var_09 = [[ level.getradiusandheight[self.agent_type] ]](); + var_07 = var_09[0]; + var_08 = var_09[1]; + } + + self spawnagent(var_04,var_05,param_00,var_07,var_08,param_03); + level notify("spawned_agent",self); + maps\mp\agents\_agent_common::set_agent_health(100); + if(isdefined(param_03)) + { + maps\mp\agents\_agent_utility::set_agent_team(param_03.team,param_03); + } + + self takeallweapons(); + self scragentsetspecies("human"); + self scragentsetnopenetrate(1); + self scragentsetorienttoground(0); + self scragentsetobstacleavoid(0); + self scragentsetlateralcodemove(0); + self scragentsetpathteamspread(1); + self scragentsetallowragdoll(1); + self thread [[ maps\mp\agents\_agent_utility::agentfunc("think") ]](); +} + +//Function Number: 6 +didpastmeleefail() +{ + if(isdefined(self.lastmeleefailedpos) && isdefined(self.lastmeleefailedmypos) && distance2dsquared(self.curmeleetarget.origin,self.lastmeleefailedpos) < 4 && distancesquared(self.origin,self.lastmeleefailedmypos) < 2500) + { + return 1; + } + + return 0; +} + +//Function Number: 7 +didpastlungemeleefail() +{ + if(isdefined(self.lastlungemeleefailedpos) && isdefined(self.lastlungemeleefailedmypos) && distance2dsquared(self.curmeleetarget.origin,self.lastlungemeleefailedpos) < 4 && distancesquared(self.origin,self.lastlungemeleefailedmypos) < 2500) + { + return 1; + } + + return 0; +} + +//Function Number: 8 +iswithinattackheight(param_00) +{ + var_01 = 0; + var_02 = param_00[2] - self.origin[2]; + var_01 = var_02 <= self.attackzheight && var_02 >= self.attackzheightdown; + if(!var_01 && isplayer(self.curmeleetarget) && maps\mp\zombies\_util::is_true(self.curmeleetarget.isinexploitspot)) + { + if(length(self getvelocity()) < 5) + { + var_01 = var_02 <= self.attackzheight * 2 && var_02 >= self.attackzheightdown; + } + } + + return var_01; +} + +//Function Number: 9 +wanttoattacktargetbutcant() +{ + if(maps\mp\agents\humanoid\_humanoid_util::isentstandingonme(self.curmeleetarget)) + { + return 0; + } + + return !iswithinattackheight(self.curmeleetarget.origin) && distance2dsquared(self.origin,self.curmeleetarget.origin) < maps\mp\agents\humanoid\_humanoid_util::getmeleeradiussq() * 0.75 * 0.75; +} + +//Function Number: 10 +readytomeleetarget(param_00) +{ + if(!isdefined(self.curmeleetarget)) + { + return 0; + } + + if(!maps\mp\_utility::isreallyalive(self.curmeleetarget)) + { + return 0; + } + + if(self.aistate == "traverse") + { + return 0; + } + + if(!maps\mp\agents\humanoid\_humanoid_util::isentstandingonme(self.curmeleetarget)) + { + if(!iswithinattackheight(self.curmeleetarget.origin)) + { + return 0; + } + + if(param_00 == "normal" && !maps\mp\agents\humanoid\_humanoid_util::withinmeleeradius()) + { + return 0; + } + else if(param_00 == "base" && !maps\mp\agents\humanoid\_humanoid_util::withinmeleeradiusbase()) + { + return 0; + } + } + + if(maps\mp\agents\humanoid\_humanoid_melee::ismeleeblocked()) + { + return 0; + } + + return 1; +} + +//Function Number: 11 +getmeleeattackpoint(param_00) +{ + if(!isdefined(self.meleeattackpoint)) + { + self.meleeattackpoint = spawnstruct(); + } + + if(maps\mp\agents\humanoid\_humanoid_util::isentunreachabledrone(param_00) && !maps\mp\agents\humanoid\_humanoid_util::hascalculatednearestnodetounreachabledrone()) + { + maps\mp\agents\humanoid\_humanoid_util::calculatenearestnodetounreachabledrone(); + } + + var_01 = maps\mp\agents\humanoid\_humanoid_util::getoriginformeleesectors(param_00); + self.meleeattackpoint.enemysectororigin = var_01; + var_02 = maps\mp\agents\humanoid\_humanoid_util::getmeleetargetpoint(param_00,var_01); + if(isdefined(var_02)) + { + self.meleeattackpoint.valid = 1; + self.meleeattackpoint.origin = var_02; + } + else + { + self.meleeattackpoint.valid = 0; + self.meleeattackpoint.origin = var_01; + if(isdefined(self.distractiondrone)) + { + if(!isdefined(maps\mp\agents\humanoid\_humanoid_util::dropsectorpostoground(self.meleeattackpoint.origin,15,55))) + { + if(!isdefined(self.random_sector_order)) + { + self.random_sector_order = []; + for(var_03 = 0;var_03 < maps\mp\agents\humanoid\_humanoid_util::getnummeleesectors();var_03++) + { + self.random_sector_order[self.random_sector_order.size] = var_03; + } + + self.random_sector_order = common_scripts\utility::array_randomize(self.random_sector_order); + } + + foreach(var_05 in self.random_sector_order) + { + var_06 = param_00 maps\mp\agents\humanoid\_humanoid_util::getmeleesectors(self.meleesectortype); + var_07 = var_06[var_05]; + if(isdefined(var_07.origin)) + { + self.meleeattackpoint.origin = var_07.origin; + break; + } + } + } + } + } + + return self.meleeattackpoint; +} + +//Function Number: 12 +watchfavoriteenemydeath() +{ + self notify("watchFavoriteEnemyDeath"); + self endon("watchFavoriteEnemyDeath"); + self endon("death"); + self endon("disconnect"); + self.favoriteenemy common_scripts\utility::waittill_any_timeout(5,"death","disconnect"); + maps\mp\agents\humanoid\_humanoid_util::setfavoriteenemy(undefined); +} + +//Function Number: 13 +dostophitreaction(param_00,param_01,param_02,param_03,param_04) +{ + self endon("death"); + if(maps\mp\agents\_scripted_agent_anim_util::isstatelocked()) + { + return; + } + + if(maps\mp\agents\humanoid\_humanoid_util::iscrawling()) + { + return; + } + + self scragentsetscripted(1); + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(1,"DoStopHitReaction"); + self.inpain = 1; + var_05 = "pain_stand"; + if(isdefined(param_01) && param_01 == "head") + { + var_05 = "pain_stand_head"; + } + + var_06 = 0; + var_07 = angleclamp180(param_00 - self.angles[1]); + if(isdefined(param_02) && param_02 == "boost_slam_mp") + { + if(param_04 / self.maxhealth > 0.2) + { + if(abs(var_07) < 45) + { + var_05 = "pain_knockback_front"; + } + else if(abs(var_07) > 135) + { + var_05 = "pain_knockback_back"; + } + else if(var_07 > 0) + { + var_05 = "pain_knockback_right"; + } + else + { + var_05 = "pain_knockback_left"; + } + } + else + { + var_05 = "pain_stun"; + } + + var_08 = self getanimentrycount(var_05); + var_06 = randomint(var_08); + } + else if(isdefined(param_03) && param_03 == "iw5_linegundamagezm_mp") + { + if(abs(var_08) < 45) + { + var_06 = "pain_knockback_front"; + } + else if(abs(var_08) > 135) + { + var_06 = "pain_knockback_back"; + } + else if(var_08 > 0) + { + var_06 = "pain_knockback_right"; + } + else + { + var_06 = "pain_knockback_left"; + } + + var_08 = self getanimentrycount(var_06); + var_06 = randomint(var_08); + } + else + { + var_08 = self getanimentrycount(var_06); + var_06 = maps\mp\agents\humanoid\_humanoid_util::getpainangleindexvariable(var_07,var_08); + } + + self scragentsetanimmode("anim deltas"); + self scragentsetorientmode("face angle abs",self.angles); + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_05,var_06,self.nonmoveratescale,"pain_anim"); + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(0,"DoStopHitReaction"); + self.inpain = undefined; + self scragentsetscripted(0); +} + +//Function Number: 14 +ondamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ + self.timeoflastdamage = gettime(); + if(isdefined(self.owner)) + { + self.damagedownertome = vectornormalize(self.origin - self.owner.origin); + } + + if(shouldplaystophitreaction(param_02,param_05,param_04,param_08)) + { + thread dostophitreaction(maps\mp\agents\humanoid\_humanoid_util::damagehitangle(param_06,param_07),param_08,param_05,param_04,param_02); + return; + } + + if(isdefined(self.animcbs.ondamage[self.aistate])) + { + self [[ self.animcbs.ondamage[self.aistate] ]](param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09); + } +} + +//Function Number: 15 +shouldplaystophitreaction(param_00,param_01,param_02,param_03) +{ + if(isdefined(param_01) && maps\mp\zombies\_util::iszombiednagrenade(param_01) || param_01 == "trap_zm_mp" || param_01 == "zombie_water_trap_mp") + { + return 0; + } + + if(maps\mp\agents\_scripted_agent_anim_util::isstatelocked()) + { + return 0; + } + + if(self.aistate == "traverse") + { + return 0; + } + + if(isdefined(param_03) && param_03 == "head" && !isdefined(self.lastheadshot) || gettime() - self.lastheadshot > 10000) + { + if(!maps\mp\zombies\_util::is_true(self.noheadshotpainreaction)) + { + self.lastheadshot = gettime(); + return 1; + } + } + + if(shouldboostslamhitreaction(param_01)) + { + return 1; + } + + if(shouldrepulsorhitreaction(param_01) && param_00 < self.health) + { + return 1; + } + + if(shouldlinegunhitreaction(param_01) && param_00 < self.health) + { + return 1; + } + + if(!maps\mp\zombies\_zombies::shouldplayhitreactionpainsensor()) + { + return 0; + } + + if(isdefined(param_01) && weaponclass(param_01) == "sniper") + { + return 1; + } + + if(isdefined(param_02) && isexplosivedamagemod(param_02) && param_00 >= 10) + { + return 1; + } + + if(isdefined(param_02) && param_02 == "MOD_MELEE") + { + return 1; + } + + if(isdefined(param_01) && param_01 == "concussion_grenade_mp") + { + return 1; + } + + if(isdefined(self.shouldplaystophitreactionfunc) && [[ self.shouldplaystophitreactionfunc ]]()) + { + return 1; + } + + return 0; +} + +//Function Number: 16 +shouldboostslamhitreaction(param_00) +{ + if(maps\mp\zombies\_util::nohitreactions()) + { + return 0; + } + + if(isdefined(param_00) && param_00 == "boost_slam_mp") + { + return 1; + } + + return 0; +} + +//Function Number: 17 +shouldrepulsorhitreaction(param_00) +{ + if(maps\mp\zombies\_util::nohitreactions()) + { + return 0; + } + + if(isdefined(param_00) && param_00 == "repulsor_zombie_mp") + { + return 1; + } + + return 0; +} + +//Function Number: 18 +shouldlinegunhitreaction(param_00) +{ + if(maps\mp\zombies\_util::nohitreactions()) + { + return 0; + } + + if(isdefined(param_00) && param_00 == "iw5_linegundamagezm_mp") + { + return 1; + } + + return 0; +} + +//Function Number: 19 +monitorflash() +{ + self endon("death"); + for(;;) + { + self waittill("flashbang",var_00,var_01,var_02,var_03,var_04,var_05); + if(isdefined(var_03) && var_03 == self.owner) + { + continue; + } + + if(!maps\mp\agents\_scripted_agent_anim_util::isstatelocked()) + { + onflashbanged(); + } + } +} + +//Function Number: 20 +onflashbanged(param_00,param_01,param_02,param_03,param_04,param_05) +{ + dostophitreaction(self.angles[1] + 180); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/agents/humanoid/_humanoid_idle.gsc b/AW/PC/maps/mp/agents/humanoid/_humanoid_idle.gsc new file mode 100644 index 0000000..5f60ad1 --- /dev/null +++ b/AW/PC/maps/mp/agents/humanoid/_humanoid_idle.gsc @@ -0,0 +1,259 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\agents\humanoid\_humanoid_idle.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 12 + * Decompile Time: 189 ms + * Timestamp: 4/22/2024 2:08:09 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self.animsubstate = "none"; + self scragentsetgoalpos(self.origin); + self scragentsetorientmode("face angle abs",self.angles); + self scragentsetanimmode("anim deltas"); + self scragentsetphysicsmode("gravity"); + updatestate(); +} + +//Function Number: 2 +end_script() +{ + if(isdefined(self.prevturnrate)) + { + self scragentsetmaxturnspeed(self.prevturnrate); + self.prevturnrate = undefined; + } +} + +//Function Number: 3 +updatestate() +{ + self endon("killanimscript"); + self endon("UpdateState"); + for(;;) + { + var_00 = determinestate(); + if(var_00 != self.animsubstate) + { + exitstate(self.animsubstate); + enterstate(var_00); + } + + updateangle(); + switch(self.animsubstate) + { + case "idle_combat": + wait(0.2); + break; + + case "idle_noncombat": + wait(0.5); + break; + + default: + wait(1); + break; + } + } +} + +//Function Number: 4 +determinestate() +{ + if(isdefined(self.idlestateoverridefunc)) + { + return [[ self.idlestateoverridefunc ]](); + } + + if(shouldattackidle()) + { + return "idle_combat"; + } + + return "idle_noncombat"; +} + +//Function Number: 5 +enterstate(param_00) +{ + self.animsubstate = param_00; + playidleanim(); +} + +//Function Number: 6 +exitstate(param_00) +{ + if(isdefined(self.prevturnrate)) + { + self scragentsetmaxturnspeed(self.prevturnrate); + self.prevturnrate = undefined; + } +} + +//Function Number: 7 +playidleanim() +{ + maps\mp\agents\_scripted_agent_anim_util::set_anim_state(self.animsubstate); +} + +//Function Number: 8 +updateangle() +{ + var_00 = undefined; + if(isdefined(self.targetofinterest) && distancesquared(self.targetofinterest.origin,self.origin) < 262144) + { + var_00 = self.targetofinterest; + } + else if(isdefined(self.distractiondrone) && distancesquared(self.distractiondrone.groundpos,self.origin) < 16384) + { + var_00 = self.distractiondrone; + } + else if(isdefined(self.enemy) && distancesquared(self.enemy.origin,self.origin) < 1048576) + { + var_00 = self.enemy; + } + else if(isdefined(self.owner) && distancesquared(self.owner.origin,self.origin) > 576) + { + var_00 = self.owner; + } + + if(isdefined(var_00)) + { + var_01 = var_00.origin - self.origin; + var_02 = vectortoangles(var_01); + if(abs(angleclamp180(var_02[1] - self.angles[1])) > 1) + { + turntoangle(var_02[1]); + } + } +} + +//Function Number: 9 +shouldattackidle() +{ + if(!isdefined(self.enemy)) + { + return 0; + } + + if(!maps\mp\_utility::isreallyalive(self.enemy)) + { + return 0; + } + + if(distancesquared(self.origin,self.enemy.origin) >= 1000000) + { + return 0; + } + + return 1; +} + +//Function Number: 10 +getturnanimstate(param_00) +{ + var_01 = "idle_noncombat_turn"; + if(shouldattackidle()) + { + var_01 = "idle_combat_turn"; + } + + var_02 = self getanimentrycount(var_01); + var_03 = 0; + if(var_02 == 3) + { + if(param_00 < -135 || param_00 > 135) + { + var_03 = 0; + } + else if(param_00 < 0) + { + var_03 = 1; + } + else + { + var_03 = 2; + } + } + + return [var_01,var_03]; +} + +//Function Number: 11 +turntoangle(param_00) +{ + var_01 = self.angles[1]; + var_02 = angleclamp180(param_00 - var_01); + if(-0.5 < var_02 && var_02 < 0.5) + { + return; + } + + if(-10 < var_02 && var_02 < 10) + { + rotatetoangle(param_00,2); + return; + } + + var_03 = getturnanimstate(var_02); + var_04 = var_03[0]; + var_05 = var_03[1]; + var_06 = self getanimentry(var_04,var_05); + var_07 = getanimlength(var_06); + var_08 = getangledelta3d(var_06); + self scragentsetanimmode("anim angle delta"); + if(animhasnotetrack(var_06,"turn_begin") && animhasnotetrack(var_06,"turn_end")) + { + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_04,var_05,self.generalspeedratescale,"turn_in_place"); + var_09 = getnotetracktimes(var_06,"turn_begin"); + var_0A = getnotetracktimes(var_06,"turn_end"); + var_0B = var_0A[0] - var_09[0] * var_07; + var_0C = angleclamp180(var_02 - var_08[1]); + var_0D = abs(var_0C) / var_0B / 20; + var_0D = var_0D * 3.14159 / 180; + var_0E = (0,angleclamp180(self.angles[1] + var_0C),0); + self.prevturnrate = self scragentgetmaxturnspeed(); + self scragentsetmaxturnspeed(var_0D); + self scragentsetorientmode("face angle abs",var_0E); + var_07 = getanimlength(self getanimentry(var_04,var_05)); + maps\mp\agents\_scripted_agent_anim_util::waituntilnotetrack_safe("turn_in_place","turn_end",var_07); + self scragentsetmaxturnspeed(self.prevturnrate); + self.prevturnrate = undefined; + maps\mp\agents\_scripted_agent_anim_util::waituntilnotetrack_safe("turn_in_place","end",var_07); + } + else + { + self.prevturnrate = self scragentgetmaxturnspeed(); + var_0D = abs(angleclamp180(var_04 - var_0E[1])) / var_0D / 20; + var_0E = var_0E * 3.14159 / 180; + self scragentsetmaxturnspeed(var_0E); + var_0E = (0,angleclamp180(var_01 - var_0D[1]),0); + self scragentsetorientmode("face angle abs",var_0E); + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_04,var_05,self.generalspeedratescale,"turn_in_place"); + self scragentsetmaxturnspeed(self.prevturnrate); + self.prevturnrate = undefined; + } + + self scragentsetanimmode("anim deltas"); + playidleanim(); +} + +//Function Number: 12 +rotatetoangle(param_00,param_01) +{ + if(abs(angleclamp180(param_00 - self.angles[1])) <= param_01) + { + return; + } + + var_02 = (0,param_00,0); + self scragentsetorientmode("face angle abs",var_02); + while(angleclamp180(param_00 - self.angles[1]) > param_01) + { + wait(0.1); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/agents/humanoid/_humanoid_melee.gsc b/AW/PC/maps/mp/agents/humanoid/_humanoid_melee.gsc new file mode 100644 index 0000000..4627b17 --- /dev/null +++ b/AW/PC/maps/mp/agents/humanoid/_humanoid_melee.gsc @@ -0,0 +1,384 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\agents\humanoid\_humanoid_melee.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 15 + * Decompile Time: 267 ms + * Timestamp: 4/22/2024 2:08:10 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self endon("death"); + self endon("killanimscript"); + self.curmeleetarget endon("disconnect"); + var_00 = maps\mp\agents\humanoid\_humanoid::getmeleeattackpoint(self.curmeleetarget); + if(ismeleeblocked()) + { + return meleefailed(); + } + + if(maps\mp\zombies\_util::is_true(self.lungemeleeenabled) && var_00.valid) + { + if(!isdefined(self.lungelast)) + { + self.lungelast = 0; + } + + if(isdefined(self.meleemovemode)) + { + var_01 = gettime() - self.lungelast > self.lungedebouncems; + var_02 = maps\mp\agents\humanoid\_humanoid_util::canhumanoidmovepointtopoint(self.origin,var_00.origin); + var_03 = distancesquared(self.curmeleetarget.origin,self.origin) > self.lungeminrangesq; + if(var_01 && var_02 && var_03) + { + self.lungelast = gettime(); + doattacklunge(self.curmeleetarget,var_00.origin); + return; + } + } + + if(!maps\mp\agents\humanoid\_humanoid_util::withinmeleeradiusbase()) + { + lungemeleefailed(); + return; + } + } + + doattackstandard(self.curmeleetarget,var_00.origin); +} + +//Function Number: 2 +ismeleeblocked() +{ + var_00 = self.origin + (0,0,self.meleecheckheight); + var_01 = self.curmeleetarget.origin + (0,0,self.meleecheckheight); + var_02 = undefined; + if(isdefined(self.curmeleetarget.classname) && self.curmeleetarget.classname == "misc_turret" && isdefined(self.curmeleetarget.aiclip)) + { + var_02 = physicstrace(var_00,var_01,self.curmeleetarget.aiclip); + } + else + { + var_02 = physicstrace(var_00,var_01); + } + + return distancesquared(var_02,var_01) > 1; +} + +//Function Number: 3 +end_script() +{ + self scragentsetanimscale(1,1); +} + +//Function Number: 4 +doattack(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + self.lastmeleefailedmypos = undefined; + self.lastmeleefailedpos = undefined; + if(!isdefined(param_06)) + { + param_06 = 0; + } + + var_07 = randomint(self getanimentrycount(param_02)); + var_08 = self getanimentry(param_02,var_07); + var_09 = getanimlength(var_08); + var_0A = getnotetracktimes(var_08,"hit"); + var_0B = var_09 / param_05 * 0.33; + if(var_0A.size > 0) + { + var_0B = var_09 / param_05 * var_0A[0]; + } + + self scragentsetphysicsmode("gravity"); + if(param_04) + { + self scragentsetorientmode("face enemy"); + } + else + { + self scragentsetorientmode("face angle abs",(0,vectortoyaw(param_00.origin - self.origin),0)); + } + + self scragentsetanimmode("anim deltas"); + maps\mp\agents\_scripted_agent_anim_util::set_anim_state(param_02,var_07,param_05); + if(param_06) + { + var_0C = getnotetracktimes(var_08,"lunge_start"); + var_0D = 0; + if(var_0C.size > 0) + { + var_0D = var_09 / param_05 * var_0C[0]; + } + + var_0B = var_0B - var_0D; + if(var_0D > 0) + { + wait(var_0D); + } + + maps\mp\agents\humanoid\_humanoid_util::play_boost_fx(self.lungefx); + if(self.lungeanimratescale) + { + var_0E = param_01 - self.origin; + var_0F = getmovedelta(var_08,var_0C[0],var_0A[0]); + var_10 = maps\mp\agents\_scripted_agent_anim_util::getanimscalefactors(var_0E,var_0F); + param_05 = param_05 * clamp(1 / var_10.xy,0.5,1); + var_0B = var_09 / param_05 * var_0A[0] - var_09 / param_05 * var_0C[0]; + maps\mp\agents\_scripted_agent_anim_util::set_anim_state(param_02 + "_norestart",var_07,param_05); + } + } + + if(param_03) + { + self scragentsetanimscale(0,1); + self scragentdoanimlerp(self.origin,param_01,var_0B); + childthread updatelerppos(param_00,var_0B,1,self.lungelerprange); + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(1,"DoAttack"); + } + else + { + self scragentsetanimscale(1,1); + } + + wait(var_0B); + self notify("cancel_updatelerppos"); + self scragentsetanimmode("anim deltas"); + self scragentsetanimscale(1,1); + if(param_03) + { + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(0,"DoAttack"); + } + + if(attackshouldhit(param_00)) + { + self notify("attack_hit",param_00,param_01); + var_11 = 0; + if(isdefined(param_00)) + { + var_11 = param_00.health; + } + + if(isdefined(self.meleedamage)) + { + var_11 = self.meleedamage; + } + + if(isalive(param_00)) + { + domeleedamage(param_00,var_11,"MOD_IMPACT"); + } + } + else + { + self notify("attack_miss",param_00,param_01); + } + + self.lastmeleepos = self.origin; + var_12 = var_09 / param_05 - var_0B; + if(var_12 > 0) + { + maps\mp\agents\_scripted_agent_anim_util::waituntilnotetrack_safe("attack_anim","end",var_12); + } + + self.lastmeleefinishtime = gettime(); +} + +//Function Number: 5 +attackshouldhit(param_00) +{ + if(!isalive(param_00)) + { + return 0; + } + + if(!withinmeleedamagerange()) + { + return 0; + } + + if(isenemyinfrontofme(param_00,self.meleedot)) + { + return 1; + } + + if(maps\mp\agents\humanoid\_humanoid_util::isentstandingonme(param_00)) + { + return 1; + } + + return 0; +} + +//Function Number: 6 +isenemyinfrontofme(param_00,param_01) +{ + var_02 = vectornormalize(param_00.origin - self.origin * (1,1,0)); + var_03 = anglestoforward(self.angles); + var_04 = vectordot(var_02,var_03); + return var_04 > param_01; +} + +//Function Number: 7 +withinmeleedamagerange() +{ + if(!maps\mp\agents\humanoid\_humanoid::readytomeleetarget("normal")) + { + return 0; + } + + if(maps\mp\agents\humanoid\_humanoid_util::getmeleeradius() > self.meleeradiusbase && !maps\mp\agents\humanoid\_humanoid_util::withinmeleeradiusbase()) + { + return 0; + } + + return 1; +} + +//Function Number: 8 +doattackstandard(param_00,param_01) +{ + var_02 = "attack_stand"; + var_03 = self.nonmoveratescale; + var_04 = 0; + if(isdefined(self.meleemovemode)) + { + var_02 = "attack_" + self.meleemovemode; + var_04 = 1; + self.meleemovemode = undefined; + } + + doattack(param_00,param_01,var_02,0,var_04,var_03); +} + +//Function Number: 9 +doattacklunge(param_00,param_01) +{ + doattack(param_00,param_01,self.lungeanimstate,1,1,self.nonmoveratescale,1); +} + +//Function Number: 10 +updatelerppos(param_00,param_01,param_02,param_03) +{ + self endon("killanimscript"); + self endon("death"); + self endon("cancel_updatelerppos"); + param_00 endon("disconnect"); + param_00 endon("death"); + var_04 = self.origin; + var_05 = param_01; + var_06 = 0.05; + for(;;) + { + wait(var_06); + var_05 = var_05 - var_06; + if(var_05 <= 0) + { + break; + } + + var_07 = getupdatedattackpos(param_00,param_02); + if(!isdefined(var_07)) + { + break; + } + + if(isdefined(param_03)) + { + var_08 = param_03; + } + else + { + var_08 = maps\mp\agents\humanoid\_humanoid_util::getmeleeradius() - self.radius; + } + + var_09 = var_07 - var_04; + if(lengthsquared(var_09) > var_08 * var_08) + { + var_07 = var_04 + vectornormalize(var_09) * var_08; + } + + self scragentsetorientmode("face enemy"); + self scragentdoanimlerp(self.origin,var_07,var_05); + } +} + +//Function Number: 11 +getupdatedattackpos(param_00,param_01) +{ + if(!param_01) + { + var_02 = maps\mp\zombies\_util::droppostoground(param_00.origin); + return var_02; + } + + var_03 = param_01.origin - self.origin; + var_04 = length(var_03); + if(var_04 < self.attackoffset) + { + return self.origin; + } + + var_03 = var_03 / var_04; + var_05 = maps\mp\agents\humanoid\_humanoid::getmeleeattackpoint(param_01); + if(maps\mp\agents\humanoid\_humanoid_util::canhumanoidmovepointtopoint(self.origin,var_05.origin)) + { + return var_05.origin; + } + + return undefined; +} + +//Function Number: 12 +isprotectedbyriotshield(param_00) +{ + if(param_00 maps\mp\_riotshield::hasriotshield()) + { + var_01 = self.origin - param_00.origin; + var_02 = vectornormalize((var_01[0],var_01[1],0)); + var_03 = anglestoforward(param_00.angles); + var_04 = vectordot(var_03,var_01); + if(param_00 maps\mp\_riotshield::hasriotshieldequipped()) + { + if(var_04 > 0.766) + { + return 1; + } + } + else if(var_04 < -0.766) + { + return 1; + } + } + + return 0; +} + +//Function Number: 13 +domeleedamage(param_00,param_01,param_02) +{ + if(isprotectedbyriotshield(param_00)) + { + return; + } + + param_00 dodamage(param_01,self.origin,self,self,param_02); +} + +//Function Number: 14 +meleefailed() +{ + self.lastmeleefailedmypos = self.origin; + self.lastmeleefailedpos = self.curmeleetarget.origin; +} + +//Function Number: 15 +lungemeleefailed() +{ + self.lastlungemeleefailedmypos = self.origin; + self.lastlungemeleefailedpos = self.curmeleetarget.origin; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/agents/humanoid/_humanoid_move.gsc b/AW/PC/maps/mp/agents/humanoid/_humanoid_move.gsc new file mode 100644 index 0000000..3958726 --- /dev/null +++ b/AW/PC/maps/mp/agents/humanoid/_humanoid_move.gsc @@ -0,0 +1,749 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\agents\humanoid\_humanoid_move.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 22 + * Decompile Time: 375 ms + * Timestamp: 4/22/2024 2:08:11 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + self endon("killanimscript"); + self scragentsetphysicsmode("gravity"); + self.ismoving = 1; + startmove(); + continuemovement(); +} + +//Function Number: 2 +end_script() +{ + self.ismoving = undefined; + cancelallbut(undefined); + self scragentsetanimscale(1,1); +} + +//Function Number: 3 +setupmovement() +{ + thread waitforrunwalkchange(); + thread waitforturn(); + thread waitforstop(); + thread waitfordodge(); + thread waitforleap(); +} + +//Function Number: 4 +continuemovement() +{ + setupmovement(); + self scragentsetanimmode("code_move"); + self scragentsetorientmode("face motion"); + self scragentsetanimscale(1,1); + setmoveanim(self.movemode); +} + +//Function Number: 5 +setmoveanim(param_00) +{ + self notify("humanoidmove_endwait_setmoveanim"); + self endon("humanoidmove_endwait_setmoveanim"); + self endon("killanimscript"); + self.inpainmoving = 0; + self.inturnanim = 0; + var_01 = randomint(self getanimentrycount(param_00)); + maps\mp\agents\_scripted_agent_anim_util::set_anim_state(param_00,var_01,self.moveratescale); +} + +//Function Number: 6 +setmoveanimpain(param_00,param_01,param_02) +{ + self notify("humanoidmove_endwait_setmoveanim"); + self endon("humanoidmove_endwait_setmoveanim"); + self endon("killanimscript"); + if(maps\mp\agents\humanoid\_humanoid_util::iscrawling()) + { + return; + } + + var_03 = "pain_" + self.movemode; + if(param_02) + { + var_03 = var_03 + "_lower"; + } + + var_04 = angleclamp180(param_00 - self.angles[1]); + var_05 = self getanimentrycount(var_03); + var_06 = maps\mp\agents\humanoid\_humanoid_util::getpainangleindexvariable(var_04,var_05); + self.inpainmoving = 1; + self scragentsetanimmode("code_move"); + self scragentsetorientmode("face motion"); + self scragentsetanimscale(1,1); + var_07 = self.moveratescale; + if(self.movemode == "walk") + { + var_07 = var_07 - 0.2; + } + else if(self.movemode == "run") + { + var_07 = var_07 - 0.1; + } + + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_03,var_06,var_07,"pain_anim"); + thread continuemovement(); +} + +//Function Number: 7 +waitforrunwalkchange() +{ + self notify("humanoidmove_endwait_modechange"); + self endon("humanoidmove_endwait_modechange"); + self endon("killanimscript"); + var_00 = self.movemode; + var_01 = self.moveratescale; + for(;;) + { + var_02 = 0; + if(isdefined(self.movemode) && !isdefined(var_00) || var_00 != self.movemode) + { + var_02 = 1; + } + + if(isdefined(self.moveratescale) && !isdefined(var_01) || var_01 != self.moveratescale) + { + var_02 = 1; + } + + if(var_02) + { + thread setmoveanim(self.movemode); + var_00 = self.movemode; + var_01 = self.moveratescale; + } + + wait(0.05); + } +} + +//Function Number: 8 +doturn(param_00) +{ + self notify("humanoidmove_DoTurn"); + self endon("humanoidmove_DoTurn"); + self endon("killanimscript"); + var_01 = "turn_" + self.movemode; + if(self.movemode == "sprint" && maps\mp\zombies\_util::getzombieslevelnum() >= 2) + { + var_01 = var_01 + "_v2"; + } + + var_02 = vectortoangles(param_00); + var_03 = angleclamp180(var_02[1] - self.angles[1]); + var_04 = self getanimentrycount(var_01); + if(var_04 <= 0) + { + thread waitforturn(); + return; + } + + var_05 = maps\mp\agents\_scripted_agent_anim_util::getangleindexvariable(var_03,var_04); + if(var_05 == int(var_04 * 0.5)) + { + thread waitforturn(); + return; + } + + var_06 = self getanimentry(var_01,var_05); + var_07 = getangledelta(var_06); + var_08 = (0,angleclamp180(var_02[1] - var_07),0); + if(!candoturnanim(var_06,var_08,var_05 == 3 || var_05 == 5,1)) + { + var_01 = var_01 + "_quick"; + var_09 = 0; + if(self hasanimstate(var_01) && maps\mp\zombies\_util::getzombieslevelnum() >= 2) + { + var_06 = self getanimentry(var_01,var_05); + var_07 = getangledelta(var_06); + var_08 = (0,angleclamp180(var_02[1] - var_07),0); + if(candoturnanim(var_06,var_08,var_05 == 3 || var_05 == 5,2)) + { + var_09 = 1; + } + } + + if(!var_09) + { + thread waitforturn(); + return; + } + } + + cancelallbut("turn"); + self.inturnanim = 1; + self scragentsetanimmode("anim deltas"); + self scragentsetorientmode("face angle abs",var_08); + var_0A = self.moveratescale; + if(!maps\mp\agents\humanoid\_humanoid_util::iscrawling() && self.movemode == "sprint" && maps\mp\zombies\_util::getzombieslevelnum() < 2) + { + var_0A = level.moveratescalemod["run"][1]; + var_0A = var_0A + self.moveratescale - level.moveratescalemod["sprint"][0]; + } + + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_01,var_05,var_0A,"turn"); + thread continuemovement(); +} + +//Function Number: 9 +candoturnanim(param_00,param_01,param_02,param_03) +{ + var_04 = 0.5; + var_05 = getnotetracktimes(param_00,"turn_extent"); + if(var_05.size == 1) + { + var_04 = var_05[0]; + } + + var_06 = 1; + var_07 = getnotetracktimes(param_00,"finish"); + if(var_07.size == 0) + { + var_07 = getnotetracktimes(param_00,"end"); + } + + if(var_07.size == 1) + { + var_06 = var_07[0]; + } + + var_08 = getmovedelta(param_00,0,var_04); + var_09 = getmovedelta(param_00,0,var_06); + var_0A = self.origin; + var_0B = rotatevector(var_08,param_01) + var_0A; + var_0C = rotatevector(var_09,param_01) + var_0A; + if(!maps\mp\zombies\_util::canmovepointtopoint(var_0B,var_0C,0)) + { + return 0; + } + + var_0D = self.radius; + if(!param_02) + { + var_0D = self.radius / 2; + } + + if(!maps\mp\zombies\_util::canmovepointtopoint(var_0A,var_0B,0,var_0D)) + { + return 0; + } + + return 1; +} + +//Function Number: 10 +waitforturn() +{ + self notify("humanoidmove_endwait_turn"); + self endon("humanoidmove_endwait_turn"); + self endon("killanimscript"); + self waittill("path_dir_change",var_00); + if(maps\mp\zombies\_util::is_true(self.inairforleap)) + { + thread waitforturn(); + } + + if(maps\mp\zombies\_util::is_true(self.inpainmoving)) + { + thread waitforturn(); + } + + childthread doturn(var_00); +} + +//Function Number: 11 +waitforstop() +{ + self notify("humanoidmove_endwait_stop"); + self endon("humanoidmove_endwait_stop"); + self endon("killanimscript"); + self waittill("stop_soon"); + if(maps\mp\zombies\_util::is_true(self.inairforleap)) + { + thread waitforstop(); + } + + if(!maps\mp\zombies\_util::is_true(self.barrivalsenabled)) + { + thread waitforstop(); + return; + } + + var_00 = "stop_" + self.movemode; + var_01 = self getanimentrycount(var_00); + if(var_01 <= 0) + { + thread waitforstop(); + return; + } + + var_02 = 0; + if(isdefined(self.node)) + { + var_02 = self.node.angles[1] - self.angles[1]; + } + + var_03 = maps\mp\agents\_scripted_agent_anim_util::getangleindexvariable(var_02,var_01); + if(var_00 == "stop_sprint" && maps\mp\zombies\_util::getzombieslevelnum() >= 2) + { + var_00 = var_00 + "_v2"; + } + + var_04 = self getanimentry(var_00,var_03); + var_05 = getmovedelta(var_04); + var_06 = getangledelta(var_04); + var_07 = self getpathgoalpos(); + var_08 = var_07 - self.origin; + if(length(var_08) + 12 < length(var_05)) + { + thread waitforstop(); + return; + } + + var_09 = getstopdata(); + var_0A = calcanimstartpos(var_09.pos,var_09.angles[1],var_05,var_06); + var_0B = maps\mp\zombies\_util::droppostoground(var_0A); + if(!isdefined(var_0B)) + { + thread waitforstop(); + return; + } + + if(!maps\mp\zombies\_util::canmovepointtopoint(var_09.pos,var_0B)) + { + thread waitforstop(); + return; + } + + cancelallbut("stop"); + thread waitforpathsetwhilestopping(); + thread waitforturnwhilestopping(); + if(distancesquared(var_0A,self.origin) > 4) + { + self scragentsetwaypoint(var_0A); + thread waitforblockedwhilestopping(); + self waittill("waypoint_reached"); + self notify("humanoidmove_endwait_blockedwhilestopping"); + } + + var_0C = var_07 - self.origin; + var_0D = vectortoangles(var_0C); + var_0E = (0,var_0D[1] - var_06,0); + var_0F = maps\mp\agents\_scripted_agent_anim_util::getanimscalefactors(var_07 - self.origin,var_05); + self scragentsetanimmode("anim deltas"); + self scragentsetorientmode("face angle abs",var_0E,(0,var_0D[1],0)); + self scragentsetanimscale(var_0F.xy,var_0F.z); + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_00,var_03,self.moveratescale,"move_stop"); + self scragentsetgoalpos(self.origin); +} + +//Function Number: 12 +waitfordodge() +{ + self notify("humanoidmove_endwait_dodge"); + self endon("humanoidmove_endwait_dodge"); + self endon("killanimscript"); + maps\mp\zombies\_util::waittill_enter_game(); + while(isalive(self)) + { + self waittill("damage",var_00,var_01); + wait(0.05); + if(!isalive(self)) + { + return; + } + + if(!maps\mp\zombies\_util::is_true(self.dodgeenabled)) + { + return; + } + + if(maps\mp\agents\_scripted_agent_anim_util::isstatelocked()) + { + continue; + } + + if(!isdefined(var_01) || !isalive(var_01) || !isplayer(var_01)) + { + continue; + } + + var_02 = var_01.origin - self.origin; + var_03 = anglestoforward(self.angles); + if(vectordot(vectornormalize(var_02),var_03) < 0.7) + { + continue; + } + + var_04 = lengthsquared(var_02); + if(var_04 > 1000000 || var_04 < 40000) + { + continue; + } + + if(isdefined(self.dodgelast) && gettime() - self.dodgelast < self.dodgedebouncems) + { + continue; + } + + self.dodgelast = gettime(); + if(randomfloat(1) < self.dodgechance) + { + wait(randomfloatrange(0.1,0.3)); + if(!isalive(self)) + { + return; + } + + if(maps\mp\agents\_scripted_agent_anim_util::isstatelocked()) + { + continue; + } + + cancelallbut("dodge"); + self.lungelast = gettime(); + var_05 = vectornormalize((var_02[0],var_02[1],0)); + var_06 = vectortoangles(var_05); + var_07 = self.dodgeanimstate; + var_08 = randomint(self getanimentrycount(var_07)); + maps\mp\agents\humanoid\_humanoid_util::play_boost_fx(self.dodge_fx[var_08]); + self scragentsetanimmode("anim deltas"); + self scragentsetorientmode("face angle abs",var_06,var_06); + self scragentsetanimscale(1,1); + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_07,var_08,self.nonmoveratescale,"dodge"); + self.bhasnopath = 1; + thread continuemovement(); + } + } +} + +//Function Number: 13 +waitforleap() +{ + self notify("humanoidmove_endwait_leap"); + self endon("humanoidmove_endwait_leap"); + self endon("killanimscript"); + maps\mp\zombies\_util::waittill_enter_game(); + for(;;) + { + wait(0.05); + if(!isalive(self)) + { + return; + } + + if(!maps\mp\zombies\_util::is_true(self.leapenabled)) + { + return; + } + + if(maps\mp\agents\_scripted_agent_anim_util::isstatelocked()) + { + continue; + } + + if(!isdefined(self.curmeleetarget)) + { + continue; + } + + if((issentient(self.curmeleetarget) && !self agentcanseesentient(self.curmeleetarget)) || !maps\mp\_utility::findisfacing(self,self.curmeleetarget,25)) + { + continue; + } + + if(isdefined(self.getleaptargetpointfunc)) + { + var_00 = [[ self.getleaptargetpointfunc ]](); + } + else + { + var_00 = maps\mp\agents\humanoid\_humanoid::getmeleeattackpoint(self.curmeleetarget); + } + + if(!var_00.valid) + { + continue; + } + + var_01 = distancesquared(self.curmeleetarget.origin,self.origin); + if(var_01 > self.leapmaxrangesq || var_01 < self.leapminrangesq) + { + continue; + } + + var_02 = gettime(); + var_03 = var_02 - self.leaplastperform; + if(var_03 < self.leapdebouncems) + { + continue; + } + + var_04 = var_02 - self.leaplastcheck; + if(var_04 < self.leapchecktimems) + { + continue; + } + + self.leaplastcheck = var_02; + var_05 = self.leapchance; + if(randomfloat(1) >= var_05) + { + continue; + } + + var_07 = randomint(self getanimentrycount(self.leapanimstate)); + var_08 = self getanimentry(self.leapanimstate,var_07); + var_09 = getnotetracktimes(var_08,"h_point")[0]; + var_0A = getmovedelta(var_08,0,var_09); + var_0B = self localtoworldcoords(var_0A); + var_0C = playerphysicstrace(self.origin,var_0B,self); + if(distancesquared(var_0C,var_0B) > 1) + { + self.leaplastcheck = self.leaplastcheck + 1000; + continue; + } + + var_0C = playerphysicstrace(var_0B,var_00.origin,self); + if(distancesquared(var_0C,var_00.origin) > 1) + { + self.leaplastcheck = self.leaplastcheck + 1000; + continue; + } + + cancelallbut("leap"); + self.leaplastperform = gettime(); + maps\mp\agents\humanoid\_humanoid_util::play_boost_fx(self.leapfx); + var_0D = getanimlength(var_08); + var_0E = getnotetracktimes(var_08,"land"); + var_0E[0] = var_0E[0] - 0.1; + var_0F = var_0D / self.nonmoveratescale * var_0E[0]; + self scragentsetphysicsmode("noclip"); + self scragentsetorientmode("face angle abs",(0,vectortoyaw(var_00.origin - self.origin),0)); + self scragentsetanimmode("anim deltas"); + self scragentsetanimscale(0,1); + self scragentdoanimlerp(self.origin,var_00.origin,var_0F); + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(1,"WaitForLeap"); + self.inairforleap = 1; + maps\mp\agents\_scripted_agent_anim_util::set_anim_state(self.leapanimstate,var_07,self.nonmoveratescale); + wait(var_0F); + self notify("cancel_updatelerppos"); + self scragentsetanimmode("anim deltas"); + self scragentsetanimscale(1,1); + self scragentsetphysicsmode("gravity"); + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(0,"WaitForLeap"); + self.inairforleap = 0; + if(var_0D - var_0F > 0) + { + maps\mp\agents\_scripted_agent_anim_util::waituntilnotetrack_safe("leap","end",var_0D - var_0F); + } + + thread continuemovement(); + } +} + +//Function Number: 14 +waitforpathsetwhilestopping() +{ + self notify("humanoidmove_endwait_pathsetwhilestopping"); + self endon("humanoidmove_endwait_pathsetwhilestopping"); + self endon("killanimscript"); + var_00 = self scragentgetgoalpos(); + self waittill("path_set"); + var_01 = self scragentgetgoalpos(); + if(distancesquared(var_00,var_01) < 1) + { + thread waitforpathsetwhilestopping(); + return; + } + + self notify("humanoidmove_endwait_stop"); + self notify("humanoidmove_endwait_turnwhilestopping"); + thread continuemovement(); +} + +//Function Number: 15 +waitforturnwhilestopping() +{ + self notify("humanoidmove_endwait_turnwhilestopping"); + self endon("humanoidmove_endwait_turnwhilestopping"); + self endon("killanimscript"); + self waittill("path_dir_change",var_00); + self notify("humanoidmove_endwait_pathsetwhilestopping"); + self notify("humanoidmove_endwait_stop"); + thread doturn(var_00); +} + +//Function Number: 16 +waitforblockedwhilestopping() +{ + self notify("humanoidmove_endwait_blockedwhilestopping"); + self endon("humanoidmove_endwait_blockedwhilestopping"); + self endon("killanimscript"); + self waittill("path_blocked"); + self notify("humanoidmove_endwait_stop"); + self scragentsetwaypoint(undefined); +} + +//Function Number: 17 +cancelallbut(param_00) +{ + var_01 = ["turn","stop","pathsetwhilestopping","blockedwhilestopping","turnwhilestopping","dodge","setmoveanim","modechange"]; + var_02 = isdefined(param_00); + foreach(var_04 in var_01) + { + if(var_02 && var_04 == param_00) + { + continue; + } + + self notify("humanoidmove_endwait_" + var_04); + } +} + +//Function Number: 18 +startmove() +{ + var_00 = self getnegotiationstartnode(); + if(isdefined(var_00)) + { + var_01 = var_00.origin; + } + else + { + var_01 = self getpathgoalpos(); + } + + if(distancesquared(var_01,self.origin) < 10000) + { + return; + } + + var_02 = self getlookaheaddir(); + var_03 = vectortoangles(var_02); + var_04 = self getvelocity(); + if(length2dsquared(var_04) > 16) + { + var_04 = vectornormalize(var_04); + if(vectordot(var_04,var_02) > 0.707) + { + return; + } + } + + var_05 = "start_" + self.movemode; + if(self.movemode == "sprint" && maps\mp\zombies\_util::getzombieslevelnum() >= 2) + { + var_05 = var_05 + "_v2"; + } + + var_06 = angleclamp180(var_03[1] - self.angles[1]); + var_07 = self getanimentrycount(var_05); + if(var_07 == 0) + { + return; + } + + var_08 = maps\mp\agents\_scripted_agent_anim_util::getangleindexvariable(var_06,var_07); + var_09 = self getanimentry(var_05,var_08); + var_0A = getmovedelta(var_09); + var_0B = rotatevector(var_0A,self.angles) + self.origin; + if(!maps\mp\zombies\_util::canmovepointtopoint(self.origin,var_0B)) + { + return; + } + + var_0C = getangledelta3d(var_09); + self scragentsetanimmode("anim deltas"); + if(abs(var_08 - int(var_07 * 0.5)) <= 1) + { + self scragentsetorientmode("face angle abs",(0,angleclamp180(var_03[1] - var_0C[1]),0)); + } + else + { + self scragentsetorientmode("face angle abs",self.angles); + } + + var_0D = self.moveratescale; + if(!maps\mp\agents\humanoid\_humanoid_util::iscrawling() && self.movemode == "sprint" && maps\mp\zombies\_util::getzombieslevelnum() < 2) + { + var_0D = level.moveratescalemod["run"][1]; + var_0D = var_0D + self.moveratescale - level.moveratescalemod["sprint"][0]; + } + + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_05,var_08,var_0D,"move_start","code_move"); +} + +//Function Number: 19 +getstopdata() +{ + var_00 = spawnstruct(); + if(isdefined(self.node)) + { + var_00.pos = self.node.origin; + var_00.angles = self.node.angles; + } + else + { + var_01 = self getpathgoalpos(); + var_00.pos = var_01; + var_00.angles = vectortoangles(self getlookaheaddir()); + } + + return var_00; +} + +//Function Number: 20 +calcanimstartpos(param_00,param_01,param_02,param_03) +{ + var_04 = param_01 - param_03; + var_05 = (0,var_04,0); + var_06 = anglestoforward(var_05); + var_07 = anglestoright(var_05); + var_08 = var_06 * param_02[0]; + var_09 = var_07 * param_02[1]; + return param_00 - var_08 + var_09; +} + +//Function Number: 21 +islowerbody(param_00) +{ + switch(param_00) + { + case "left_foot": + case "right_foot": + case "left_leg_lower": + case "right_leg_lower": + case "left_leg_upper": + case "right_leg_upper": + return 1; + + default: + return 0; + } +} + +//Function Number: 22 +ondamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ + if(!maps\mp\zombies\_zombies::shouldplayhitreactionpainsensor()) + { + return; + } + + if(!maps\mp\agents\_scripted_agent_anim_util::isstatelocked() && !maps\mp\zombies\_util::is_true(self.inpainmoving)) + { + thread setmoveanimpain(maps\mp\agents\humanoid\_humanoid_util::damagehitangle(param_06,param_07),self.movemode,islowerbody(param_08)); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/agents/humanoid/_humanoid_traverse.gsc b/AW/PC/maps/mp/agents/humanoid/_humanoid_traverse.gsc new file mode 100644 index 0000000..610bcee --- /dev/null +++ b/AW/PC/maps/mp/agents/humanoid/_humanoid_traverse.gsc @@ -0,0 +1,360 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\agents\humanoid\_humanoid_traverse.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 5 + * Decompile Time: 97 ms + * Timestamp: 4/22/2024 2:08:12 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(!isdefined(level.zombietraverseanims) || !isdefined(level.zombietraverseanims["humanoid"])) + { + inithumanoidtraverseanims(); + } + + dotraverse(); +} + +//Function Number: 2 +dotraverse() +{ + self endon("killanimscript"); + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(1,"DoTraverse"); + var_00 = self getnegotiationstartnode(); + var_01 = self getnegotiationendnode(); + self.traversalvector = vectornormalize(var_01.origin - var_00.origin); + if(var_00.animscript == "bot_walk_forward") + { + var_02 = var_01.origin - var_00.origin; + var_03 = length(var_02) / 64; + var_04 = (var_02[0],var_02[1],0); + var_05 = vectortoangles(var_04); + self scragentsetorientmode("face angle abs",var_05); + self scragentdoanimlerp(var_00.origin,var_01.origin,var_03); + self scragentsetphysicsmode("noclip"); + maps\mp\agents\_scripted_agent_anim_util::playanimnatratefortime(self.movemode,randomint(self getanimentrycount(self.movemode)),self.moveratescale,var_03); + return; + } + + var_06 = undefined; + var_06 = level.zombietraverseanims[self.species][var_04.animscript]; + if(!isdefined(var_06)) + { + return; + } + + var_07 = -1; + if(isdefined(level.zombietraverseanimchance[self.species][var_06])) + { + var_08 = randomfloat(1); + for(var_09 = 0;var_09 < level.zombietraverseanimchance[self.species][var_06].size;var_09++) + { + var_0A = level.zombietraverseanimchance[self.species][var_06][var_09]; + if(var_08 < var_0A) + { + var_07 = var_09; + break; + } + else + { + var_08 = var_08 - var_0A; + } + } + } + else + { + var_07 = randomint(self getanimentrycount(var_06)); + } + + var_02 = var_05.origin - var_04.origin; + var_04 = (var_07[0],var_07[1],0); + var_05 = vectortoangles(var_07); + var_0B = issubstr(var_01.animscript,"jump_across"); + var_0C = (var_03 == "traverse_boost" || issubstr(var_01.animscript,"boost_jump_across")) && self.species == "humanoid"; + if(var_0C) + { + maps\mp\agents\humanoid\_humanoid_util::play_boost_fx(level._effect["boost_jump"]); + } + + self scragentsetorientmode("face angle abs",var_07); + self scragentsetanimmode("anim deltas"); + if(maps\mp\zombies\_util::getzombieslevelnum() >= 4) + { + self setvelocity((0,0,0)); + } + + var_0D = self getanimentry(var_03,var_04); + var_0E = getnotetracktimes(var_0D,"code_move"); + if(var_0E.size > 0) + { + var_0F = getmovedelta(var_0D,0,var_0E[0]); + } + else + { + var_0F = getmovedelta(var_0E,0,1); + } + + var_10 = maps\mp\agents\_scripted_agent_anim_util::getanimscalefactors(var_05,var_0F); + var_11 = animhasnotetrack(var_0D,"ignoreanimscaling"); + if(var_11) + { + var_10.xy = 1; + } + + self scragentsetphysicsmode("noclip"); + if(maps\mp\zombies\_util::getzombieslevelnum() >= 3 && var_0B && abs(var_05[2]) < 48) + { + var_12 = getnotetracktimes(var_0D,"traverse_jump_start"); + var_13 = getnotetracktimes(var_0D,"traverse_jump_end"); + var_14 = getanimlength(var_0D); + var_15 = var_12[0] * var_14; + var_16 = var_13[0] * var_14; + self scragentsetanimscale(var_10.xy,1); + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_03,var_04,self.traverseratescale,"traverse","traverse_jump_start"); + self scragentsetanimscale(var_10.xy,0); + childthread traverse_lerp_z_over_time(var_01.origin[2],var_02.origin[2],var_16 - var_15 / self.traverseratescale); + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_03 + "_norestart",var_04,self.traverseratescale,"traverse","traverse_jump_end"); + self scragentsetanimscale(var_10.xy,1); + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_03 + "_norestart",var_04,self.traverseratescale,"traverse"); + return; + } + + if(var_05[2] > 16) + { + if(var_0F[2] > 0) + { + if(var_0C) + { + self scragentsetanimscale(var_10.xy,var_10.z); + var_17 = clamp(2 / var_10.z,0.5,1); + if(animhasnotetrack(var_0D,"traverse_jump_end")) + { + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_03,var_04,var_17 * self.traverseratescale,"traverse","traverse_jump_end"); + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(0,"DoTraverse"); + var_18 = var_03 + "_norestart"; + maps\mp\agents\_scripted_agent_anim_util::set_anim_state(var_18,var_04,self.traverseratescale); + maps\mp\agents\_scripted_agent_anim_util::waituntilnotetrack_safe("traverse","code_move"); + } + else if(maps\mp\zombies\_util::getzombieslevelnum() >= 4) + { + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_03,var_04,self.traverseratescale,"traverse","code_move"); + } + else + { + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_03,var_04,self.traverseratescale,"traverse"); + } + + self scragentsetanimscale(1,1); + return; + } + + var_12 = getnotetracktimes(var_0D,"traverse_jump_start"); + if(var_12.size > 0) + { + var_10.xy = 1; + var_10.z = 1; + if(!var_11 && length2dsquared(var_06) < 0.64 * length2dsquared(var_0F)) + { + var_10.xy = 0.4; + } + + self scragentsetanimscale(var_10.xy,var_10.z); + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_03,var_04,self.traverseratescale,"traverse","traverse_jump_start"); + var_13 = getnotetracktimes(var_0D,"traverse_jump_end"); + var_19 = getmovedelta(var_0D,0,var_12[0]); + var_1A = getmovedelta(var_0D,0,var_13[0]); + var_10.xy = 1; + var_10.z = 1; + var_1B = var_02.origin - self.origin; + var_1C = var_0F - var_19; + if(!var_11 && length2dsquared(var_1B) < 0.5625 * length2dsquared(var_1C)) + { + var_10.xy = 0.75; + } + + var_1D = var_0F - var_1A; + var_1E = (var_1D[0] * var_10.xy,var_1D[1] * var_10.xy,var_1D[2] * var_10.z); + var_1F = rotatevector(var_1E,var_07); + var_20 = var_02.origin - var_1F; + var_21 = var_1A - var_19; + var_22 = rotatevector(var_21,var_07); + var_23 = var_20 - self.origin; + var_24 = var_10; + var_10 = maps\mp\agents\_scripted_agent_anim_util::getanimscalefactors(var_23,var_22,1); + if(var_11) + { + var_10.xy = 1; + } + + if(var_23[2] <= 0) + { + var_10.z = 0; + } + + self scragentsetanimscale(var_10.xy,var_10.z); + maps\mp\agents\_scripted_agent_anim_util::waituntilnotetrack_safe("traverse","traverse_jump_end"); + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(0,"DoTraverse"); + var_10 = var_24; + self scragentsetanimscale(var_10.xy,var_10.z); + maps\mp\agents\_scripted_agent_anim_util::waituntilnotetrack_safe("traverse","code_move"); + return; + } + + self scragentsetanimscale(var_10.xy,var_10.z); + if(maps\mp\zombies\_util::getzombieslevelnum() >= 4) + { + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_03,var_04,self.traverseratescale,"traverse","code_move"); + return; + } + + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_03,var_04,self.traverseratescale,"traverse"); + return; + } + + return; + } + + if(abs(var_06[2]) < 16 || var_10[2] == 0) + { + self scragentsetanimscale(var_11.xy,var_11.z); + var_17 = clamp(2 / var_11.z,0.5,1); + if(animhasnotetrack(var_0E,"traverse_jump_end")) + { + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_04,var_05,var_17 * self.traverseratescale,"traverse","traverse_jump_end"); + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(0,"DoTraverse"); + var_18 = var_04 + "_norestart"; + maps\mp\agents\_scripted_agent_anim_util::set_anim_state(var_18,var_05,self.traverseratescale); + maps\mp\agents\_scripted_agent_anim_util::waituntilnotetrack_safe("traverse","code_move"); + } + else if(maps\mp\zombies\_util::getzombieslevelnum() >= 4) + { + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_04,var_05,self.traverseratescale,"traverse","code_move"); + } + else + { + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_04,var_05,self.traverseratescale,"traverse"); + } + + self scragentsetanimscale(1,1); + return; + } + + if(var_10[2] < 0) + { + self scragentsetanimscale(var_11.xy,var_11.z); + var_17 = clamp(2 / var_11.z,0.5,1); + var_26 = var_04 + "_norestart"; + if(animhasnotetrack(var_0E,"traverse_jump_start")) + { + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_04,var_05,self.traverseratescale,"traverse","traverse_jump_start"); + var_04 = var_26; + } + + if(animhasnotetrack(var_0E,"traverse_jump_end")) + { + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_04,var_05,var_17 * 1,"traverse","traverse_jump_end"); + maps\mp\agents\_scripted_agent_anim_util::set_anim_state(var_26,var_05,self.traverseratescale); + if(animhasnotetrack(var_0E,"removestatelock")) + { + maps\mp\agents\_scripted_agent_anim_util::waituntilnotetrack_safe("traverse","removestatelock"); + } + + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(0,"DoTraverse"); + maps\mp\agents\_scripted_agent_anim_util::waituntilnotetrack_safe("traverse","code_move"); + } + else if(maps\mp\zombies\_util::getzombieslevelnum() >= 4) + { + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_04,var_05,self.traverseratescale,"traverse","code_move"); + } + else + { + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_04,var_05,1,"traverse"); + } + + self scragentsetanimscale(1,1); + return; + } +} + +//Function Number: 3 +traverse_lerp_z_over_time(param_00,param_01,param_02) +{ + var_03 = gettime(); + for(;;) + { + var_04 = gettime() - var_03 / 1000; + var_05 = var_04 / param_02; + if(var_05 > 1) + { + break; + } + + var_06 = maps\mp\zombies\_util::lerp(var_05,param_00,param_01); + self setorigin((self.origin[0],self.origin[1],var_06),0); + wait(0.05); + } +} + +//Function Number: 4 +end_script() +{ + self scragentsetanimscale(1,1); + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(0,"Traverse end_script"); + self.hastraversed = 1; + self.traversalvector = undefined; +} + +//Function Number: 5 +inithumanoidtraverseanims() +{ + if(!isdefined(level.zombietraverseanims)) + { + level.zombietraverseanims = []; + } + + if(!isdefined(level.zombietraverseanims["humanoid"])) + { + level.zombietraverseanims["humanoid"] = []; + } + + level.zombietraverseanims["humanoid"]["jump_across_100"] = "traverse_jump_across_100"; + level.zombietraverseanims["humanoid"]["jump_across_196"] = "traverse_jump_across_196"; + level.zombietraverseanims["humanoid"]["boost_jump_across_100"] = level.zombietraverseanims["humanoid"]["jump_across_100"]; + level.zombietraverseanims["humanoid"]["boost_jump_across_196"] = level.zombietraverseanims["humanoid"]["jump_across_196"]; + level.zombietraverseanims["humanoid"]["jump_down_40"] = "traverse_jump_down_40"; + level.zombietraverseanims["humanoid"]["jump_down_slow"] = "traverse_jump_down_slow"; + level.zombietraverseanims["humanoid"]["jump_down_fast"] = "traverse_jump_down_fast"; + level.zombietraverseanims["humanoid"]["step_over_40"] = "traverse_step_over_40"; + level.zombietraverseanims["humanoid"]["window_over_36"] = "traverse_window_over_36"; + level.zombietraverseanims["humanoid"]["step_up_40"] = "traverse_step_up_40"; + level.zombietraverseanims["humanoid"]["wall_over_40"] = "traverse_mantle_over_40"; + level.zombietraverseanims["humanoid"]["nonboost_jump_up_120"] = "traverse_jump_up_120"; + level.zombietraverseanims["humanoid"]["boost_jump_up"] = "traverse_boost"; + level.zombietraverseanims["humanoid"]["climbup_shaft"] = "traverse_climbup_shaft"; + level.zombietraverseanims["humanoid"]["spawn_closet_door"] = "traverse_spawn_closet_door"; + level.zombietraverseanims["humanoid"]["spawn_closet_vault"] = "traverse_spawn_closet_vault"; + level.zombietraverseanims["humanoid"]["spawn_closet_window"] = "traverse_spawn_closet_window"; + level.zombietraverseanims["humanoid"]["spawn_closet_high_window"] = "traverse_spawn_closet_high_window"; + if(!isdefined(level.zombietraverseanimchance)) + { + level.zombietraverseanimchance = []; + } + + if(!isdefined(level.zombietraverseanimchance["humanoid"])) + { + level.zombietraverseanimchance["humanoid"] = []; + } + + foreach(var_01 in level.zombietraverseanimchance["humanoid"]) + { + var_02 = 0; + foreach(var_04 in var_01) + { + var_02 = var_02 + var_04; + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/agents/humanoid/_humanoid_util.gsc b/AW/PC/maps/mp/agents/humanoid/_humanoid_util.gsc new file mode 100644 index 0000000..1668055 --- /dev/null +++ b/AW/PC/maps/mp/agents/humanoid/_humanoid_util.gsc @@ -0,0 +1,931 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\agents\humanoid\_humanoid_util.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 52 + * Decompile Time: 780 ms + * Timestamp: 4/22/2024 2:08:15 AM +*******************************************************************/ + +//Function Number: 1 +canhumanoidmovepointtopoint(param_00,param_01,param_02) +{ + if(!isdefined(param_02)) + { + param_02 = 6; + } + + var_03 = (0,0,1) * param_02; + var_04 = param_00 + var_03; + var_05 = param_01 + var_03; + return capsuletracepassed(var_04,self.radius,self.height - param_02,self,1,0,0,var_05); +} + +//Function Number: 2 +getnummeleesectors() +{ + return 8; +} + +//Function Number: 3 +getmeleeanglestep() +{ + return 360 / getnummeleesectors(); +} + +//Function Number: 4 +meleesectortargetposition(param_00,param_01,param_02) +{ + var_03 = param_01 * getmeleeanglestep() - 180; + var_04 = param_00 + anglestoforward((0,var_03,0)) * param_02; + return var_04; +} + +//Function Number: 5 +getmeleesectors(param_00) +{ + return self.meleesectors[param_00]; +} + +//Function Number: 6 +validatemeleesectors(param_00) +{ + if(!isdefined(self.meleesectors)) + { + self.meleesectors = []; + } + + if(!isdefined(self.meleesectors[param_00])) + { + self.meleesectors[param_00] = []; + for(var_01 = 0;var_01 < getnummeleesectors();var_01++) + { + self.meleesectors[param_00][var_01] = spawnstruct(); + self.meleesectors[param_00][var_01].timestamp = 0; + self.meleesectors[param_00][var_01].claimer = undefined; + self.meleesectors[param_00][var_01].origin = undefined; + self.meleesectors[param_00][var_01].num = var_01; + } + } +} + +//Function Number: 7 +getoriginformeleesectors(param_00) +{ + var_01 = param_00.origin; + if(isdefined(param_00.groundpos)) + { + var_01 = param_00.groundpos; + if(isdefined(self.distractiondrone) && param_00 == self.distractiondrone && hascalculatednearestnodetounreachabledrone()) + { + var_02 = getnearestnodetounreachabledrone(); + if(isdefined(var_02)) + { + var_01 = var_02.origin; + } + } + } + else if(isplayer(param_00) && param_00 isjumping() || param_00 ishighjumping()) + { + if(!isdefined(param_00.playergroundpostime)) + { + param_00.playergroundpostime = 0; + } + + if(gettime() > param_00.playergroundpostime) + { + param_00.playergroundpos = getgroundposition(param_00.origin,15); + param_00.playergroundpostime = gettime(); + } + + if(isdefined(param_00.playergroundpos)) + { + var_01 = param_00.playergroundpos; + } + } + + return var_01; +} + +//Function Number: 8 +hasvalidmeleesectorsfortype(param_00,param_01) +{ + for(var_02 = 0;var_02 < getnummeleesectors();var_02++) + { + var_03 = param_00 getmeleesectors(param_01); + var_04 = var_03[var_02]; + if(isdefined(var_04.origin)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 9 +calculatenearestnodetounreachabledrone() +{ + var_00 = self getnearestnode(); + if(isdefined(var_00)) + { + var_01 = nodegetsplitgroup(var_00); + if(!isdefined(self.distractiondrone.nearestnodeforgroup)) + { + self.distractiondrone.nearestnodeforgroup = []; + } + + var_02 = 0; + var_03 = 500; + var_04 = undefined; + var_05 = undefined; + while(!isdefined(var_04) && var_03 <= 1500) + { + var_06 = []; + if(isdefined(level.nearestnodetounreachabledronesearchheight)) + { + var_06 = getnodesinradiussorted(self.distractiondrone.groundpos,var_03,var_02,level.nearestnodetounreachabledronesearchheight); + } + else + { + var_06 = getnodesinradiussorted(self.distractiondrone.groundpos,var_03,var_02); + } + + var_07 = undefined; + foreach(var_09 in var_06) + { + if(nodegetsplitgroup(var_09) == var_01) + { + if(!isdefined(var_07) || nodesvisible(var_09,var_07,1)) + { + var_04 = var_09; + break; + } + else if(!isdefined(var_05)) + { + var_05 = var_09; + } + } + } + + var_02 = var_03; + var_03 = var_03 + 500; + } + + if(isdefined(var_04)) + { + self.distractiondrone.nearestnodeforgroup[var_01] = var_04; + return; + } + + if(isdefined(var_05)) + { + self.distractiondrone.nearestnodeforgroup[var_01] = var_05; + return; + } + + self.distractiondrone.nearestnodeforgroup[var_01] = 0; + return; + } +} + +//Function Number: 10 +hascalculatednearestnodetounreachabledrone() +{ + var_00 = self getnearestnode(); + if(isdefined(var_00) && isdefined(self.distractiondrone.nearestnodeforgroup)) + { + var_01 = self.distractiondrone.nearestnodeforgroup[nodegetsplitgroup(var_00)]; + if(isdefined(var_01)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 11 +getnearestnodetounreachabledrone() +{ + var_00 = self getnearestnode(); + var_01 = self.distractiondrone.nearestnodeforgroup[nodegetsplitgroup(var_00)]; + if(!isnumber(var_01)) + { + return var_01; + } + + return undefined; +} + +//Function Number: 12 +shouldtargetdistractiondrone() +{ + if(hascalculatednearestnodetounreachabledrone()) + { + var_00 = getnearestnodetounreachabledrone(); + if(!isdefined(var_00)) + { + return 0; + } + } + + return 1; +} + +//Function Number: 13 +isentunreachabledrone(param_00) +{ + if(isdefined(self.distractiondrone) && param_00 == self.distractiondrone) + { + if(self.distractiondronebadpathcount > 5) + { + return 1; + } + } + + return 0; +} + +//Function Number: 14 +getmeleetargetpoint(param_00,param_01) +{ + param_00 validatemeleesectors(self.meleesectortype); + var_02 = param_00 getmeleesectors(self.meleesectortype); + var_04 = param_01; + var_05 = self.origin - var_04; + var_06 = lengthsquared(var_05); + if(var_06 < 256) + { + var_07 = -1; + for(var_08 = 0;var_08 < getnummeleesectors();var_08++) + { + var_09 = var_02[var_08]; + if(isdefined(var_09.claimer) && var_09.claimer == self) + { + var_07 = var_09.num; + } + } + + if(var_07 < 0) + { + var_07 = self getentitynumber() % getnummeleesectors(); + } + + var_0A = var_07; + } + else + { + var_0B = angleclamp180(vectortoyaw(var_07)) + 180; + var_0A = var_0B / getmeleeanglestep(); + var_07 = int(var_0A + 0.5); + } + + var_0C = undefined; + var_0D = -1; + var_0E = 3; + var_0F = 2; + if(var_0A > var_07) + { + var_0D = var_0D * -1; + var_0E = var_0E * -1; + var_0F = var_0F * -1; + } + + var_10 = getnummeleesectors(); + for(var_11 = 0;var_11 < var_10 / 2 + 1;var_11++) + { + for(var_12 = var_0D;var_12 != var_0E;var_12 = var_12 + var_0F) + { + var_13 = var_07 + var_11 * var_12; + if(var_13 >= var_10) + { + var_13 = var_13 - var_10; + } + else if(var_13 < 0) + { + var_13 = var_13 + var_10; + } + + var_09 = var_02[var_13]; + if(!isdefined(var_0C) && gettime() - var_09.timestamp >= self.meleesectorupdatetime) + { + if(isdefined(level.trycalculatesectororigin) && isdefined(level.trycalculatesectororigin[self.agent_type])) + { + [[ level.trycalculatesectororigin[self.agent_type] ]](var_09,var_04,self.attackoffset,self.radius); + } + else + { + trycalculatesectororigin(var_09,var_04,self.attackoffset,self.radius); + } + } + + if(!isdefined(var_0C) && isdefined(var_09.origin)) + { + var_14 = 0; + if(isdefined(var_09.claimer) && var_09.claimer != self) + { + var_15 = vectornormalize(var_04 - var_09.claimer.origin) * self.radius * 2; + var_14 = distancesquared(var_09.claimer.origin + var_15,var_04); + } + + if(!isalive(var_09.claimer) || !isdefined(var_09.claimer.curmeleetarget) || var_09.claimer.curmeleetarget != param_00 || var_09.claimer == self || var_06 < var_14) + { + if(isalive(var_09.claimer) && var_09.claimer != self) + { + var_09.claimer notify("lostSectorClaim"); + var_09.claimer.sector_claimed = undefined; + } + + if(isdefined(self.sector_claimed) && self.sector_claimed != var_09) + { + self.sector_claimed.claimer = undefined; + } + + self.sector_claimed = var_09; + var_09.claimer = self; + var_0C = var_09.origin; + thread monitorsectorclaim(var_09); + } + } + + if(var_11 == 0) + { + break; + } + } + } + + return var_0C; +} + +//Function Number: 15 +monitorsectorclaim(param_00) +{ + level endon("game_ended"); + self notify("monitorSectorClaim"); + self endon("monitorSectorClaim"); + self endon("lostSectorClaim"); + common_scripts\utility::waittill_any("death","disconnect"); + param_00.claimer = undefined; +} + +//Function Number: 16 +trycalculatesectororigin(param_00,param_01,param_02,param_03) +{ + if(gettime() - param_00.timestamp >= 50) + { + param_00.origin = meleesectortargetposition(param_01,param_00.num,param_02); + param_00.origin = dropsectorpostoground(param_00.origin,param_03,55); + param_00.timestamp = gettime(); + } +} + +//Function Number: 17 +dropsectorpostoground(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_03)) + { + param_03 = 18; + } + + var_04 = param_00 + (0,0,param_03); + var_05 = param_00 + (0,0,param_03 * -1); + var_06 = self aiphysicstrace(var_04,var_05,param_01,param_02,1); + if(abs(var_06[2] - var_04[2]) < 0.1) + { + return undefined; + } + + if(abs(var_06[2] - var_05[2]) < 0.1) + { + return undefined; + } + + return var_06; +} + +//Function Number: 18 +iscrawling() +{ + return isdefined(self.dismember_crawl) && self.dismember_crawl; +} + +//Function Number: 19 +getmeleeradius() +{ + if(!isdefined(self.lungemeleeenabled) || self.lungemeleeenabled) + { + return self.meleeradius; + } + + return self.meleeradiusbase; +} + +//Function Number: 20 +getmeleeradiussq() +{ + if(!isdefined(self.lungemeleeenabled) || self.lungemeleeenabled) + { + return self.meleeradiussq; + } + + return self.meleeradiusbasesq; +} + +//Function Number: 21 +lungemeleeupdate(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + self.lungedebouncems = param_00 * 1000; + self.lungefx = param_04; + self.lungeanimstate = param_03; + self.lungeanimratescale = isdefined(param_05) && param_05; + self.lungelerprange = param_06; + self.lungeminrange = param_02; + self.lungeminrangesq = squared(self.lungeminrange); + maps\mp\zombies\_util::setmeleeradius(param_01); +} + +//Function Number: 22 +lungemeleeenable() +{ + if(isdefined(self.disabledlungerefcount) && self.disabledlungerefcount > 0) + { + self.disabledlungerefcount--; + if(self.disabledlungerefcount > 0) + { + return; + } + } + + self.lungemeleeenabled = 1; +} + +//Function Number: 23 +lungemeleedisable() +{ + if(!isdefined(self.disabledlungerefcount)) + { + self.disabledlungerefcount = 0; + } + + self.disabledlungerefcount++; + self.lungemeleeenabled = 0; +} + +//Function Number: 24 +dodgeupdate(param_00,param_01,param_02,param_03) +{ + self.dodgedebouncems = param_00 * 1000; + self.dodgechance = param_01; + self.dodgeanimstate = param_02; + self.dodge_dirs = ["back","right","left"]; + self.dodge_fx = []; + foreach(var_06, var_05 in self.dodge_dirs) + { + self.dodge_fx[var_06] = level._effect[param_03 + var_05]; + } +} + +//Function Number: 25 +dodgeenable() +{ + if(isdefined(self.disableddodgerefcount) && self.disableddodgerefcount > 0) + { + self.disableddodgerefcount--; + if(self.disableddodgerefcount > 0) + { + return; + } + } + + self.dodgeenabled = 1; +} + +//Function Number: 26 +dodgedisable() +{ + if(!isdefined(self.disableddodgerefcount)) + { + self.disableddodgerefcount = 0; + } + + self.disableddodgerefcount++; + self.dodgeenabled = 0; +} + +//Function Number: 27 +leapupdate(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + self.leapdebouncems = param_00 * 1000; + self.leapchecktimems = param_01 * 1000; + self.leapchance = param_02; + self.leapmaxrange = param_03; + self.leapmaxrangesq = squared(self.leapmaxrange); + self.leapminrange = param_04; + self.leapminrangesq = squared(self.leapminrange); + self.leapfx = param_06; + self.leapanimstate = param_05; + self.leaplastcheck = 0; + self.leaplastperform = 0; +} + +//Function Number: 28 +leapenable() +{ + if(isdefined(self.disabledleaprefcount) && self.disabledleaprefcount > 0) + { + self.disabledleaprefcount--; + if(self.disabledleaprefcount > 0) + { + return; + } + } + + self.leapenabled = 1; +} + +//Function Number: 29 +leapdisable() +{ + if(!isdefined(self.disabledleaprefcount)) + { + self.disabledleaprefcount = 0; + } + + self.disabledleaprefcount++; + self.leapenabled = 0; +} + +//Function Number: 30 +changeanimclass(param_00,param_01) +{ + self endon("death"); + self scragentsetscripted(1); + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(1,"ChangeAnimClass"); + self.inpain = 1; + self scragentsetorientmode("face angle abs",(0,self.angles[1],0)); + self scragentsetanimmode("anim deltas"); + self scragentsetanimscale(1,1); + maps\mp\agents\_scripted_agent_anim_util::playanimnuntilnotetrack_safe(param_01,randomint(self getanimentrycount(param_01)),"change_anim_class"); + self setanimclass(param_00); + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(0,"ChangeAnimClass"); + self.inpain = 0; + self scragentsetscripted(0); +} + +//Function Number: 31 +scriptedanimation(param_00,param_01,param_02,param_03,param_04,param_05) +{ + self endon("death"); + if(!isdefined(param_05)) + { + param_05 = 0; + } + + var_06 = self getanimentrycount(param_02); + param_03 = isdefined(param_03) && param_03; + if(isdefined(var_06) && var_06 > 0) + { + self scragentsetscripted(1); + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(1,"ScriptedAnimation"); + if(param_03) + { + self.inspawnanim = 1; + } + + self scragentsetanimmode("anim deltas"); + self scragentsetorientmode("face angle abs",param_01); + self scragentsetanimscale(1,1); + self scragentsetphysicsmode("noclip"); + var_06 = self getanimentrycount(param_02); + var_07 = randomint(var_06); + if(!param_05) + { + lerptoendonground(param_02,var_07); + } + + self.origin = param_00; + self.angles = param_01; + maps\mp\agents\_scripted_agent_anim_util::playanimnuntilnotetrack_safe(param_02,var_07,"scripted_anim","end",param_04); + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(0,"ScriptedAnimation"); + if(param_03) + { + self.inspawnanim = undefined; + self.hastraversed = 1; + } + + self scragentsetscripted(0); + } +} + +//Function Number: 32 +lerptoendonground(param_00,param_01) +{ + var_02 = 2; + var_03 = self getanimentry(param_00,param_01); + var_04 = getlerptime(var_03); + var_05 = getposinspaceatanimtime(var_03,var_04); + var_06 = getverticaldeltatogroundatanimend(var_03); + var_05 = var_05 + (0,0,var_06 + var_02); + thread performlerp(var_05,var_04); +} + +//Function Number: 33 +getverticaldeltatogroundatanimend(param_00) +{ + var_01 = 50; + var_02 = 32; + var_03 = 72; + var_04 = getmovedelta(param_00); + var_04 = rotatevector(var_04,self.angles); + var_05 = self.origin + var_04; + var_06 = (0,0,var_01); + var_07 = self aiphysicstrace(var_05 + var_06,var_05 - var_06,var_02,var_03); + var_08 = var_07 - var_05; + return var_08[2]; +} + +//Function Number: 34 +getposinspaceatanimtime(param_00,param_01) +{ + var_02 = getanimlength(param_00); + var_03 = param_01 / var_02; + var_04 = getmovedelta(param_00,0,var_03); + var_05 = rotatevector(var_04,self.angles); + return self.origin + var_05; +} + +//Function Number: 35 +getlerptime(param_00) +{ + var_01 = 0.2; + var_02 = getanimlength(param_00); + return min(var_01,var_02); +} + +//Function Number: 36 +performlerp(param_00,param_01) +{ + self endon("death"); + level endon("game_ended"); + self scragentdoanimlerp(self.origin,param_00,param_01); + wait(param_01); + self scragentsetanimmode("anim deltas"); +} + +//Function Number: 37 +getpainangleindexvariable(param_00,param_01) +{ + var_02 = 0; + if(param_01 > 1) + { + var_03 = int(param_01 * 0.5); + var_04 = var_03 + param_01 % 2; + if(param_00 < 0) + { + var_02 = randomint(var_04); + } + else + { + var_02 = var_03 + randomint(var_04); + } + } + + return var_02; +} + +//Function Number: 38 +isentstandingonme(param_00) +{ + var_01 = self.origin[2] + self.height; + if(param_00.origin[2] < var_01) + { + return 0; + } + + var_02 = self.origin[2] + self.height + 2 * self.radius; + if(param_00.origin[2] > var_02) + { + return 0; + } + + if(isplayer(param_00)) + { + var_03 = param_00 getvelocity()[2]; + if(abs(var_03) > 12) + { + return 0; + } + } + + var_04 = 15; + if(isdefined(param_00.radius)) + { + var_04 = param_00.radius; + } + + var_05 = self.radius + var_04; + var_05 = var_05 * var_05; + if(distance2dsquared(self.origin,param_00.origin) > var_05) + { + return 0; + } + + return 1; +} + +//Function Number: 39 +setfavoriteenemy(param_00) +{ + self.favoriteenemy = param_00; + self agentsetfavoriteenemy(param_00); +} + +//Function Number: 40 +damagehitangle(param_00,param_01) +{ + var_02 = 0; + if(isdefined(param_00)) + { + var_03 = param_00 - self gettagorigin("J_SpineLower"); + var_03 = (var_03[0],var_03[1],0); + var_04 = vectortoangles(vectornormalize(var_03)); + var_02 = var_04[1]; + } + else if(isdefined(param_01)) + { + var_04 = vectortoangles(param_01); + var_02 = var_04[1] - 180; + } + + return var_02; +} + +//Function Number: 41 +enable_humanoid_exo_abilities() +{ + if(isdefined(self.disabledhumanoidexoabilities) && self.disabledhumanoidexoabilities > 0) + { + self.disabledhumanoidexoabilities--; + if(self.disabledhumanoidexoabilities > 0) + { + return; + } + } + + self.hashumanoidexoabilities = 1; + enable_humanoid_exo_traverse(); + setup_humanoid_exo_combat(); + enable_humanoid_exo_combat(); +} + +//Function Number: 42 +disable_humanoid_exo_abilities() +{ + if(!isdefined(self.disabledhumanoidexoabilities)) + { + self.disabledhumanoidexoabilities = 0; + } + + self.disabledhumanoidexoabilities++; + disable_humanoid_exo_combat(); + disable_humanoid_exo_traverse(); +} + +//Function Number: 43 +has_humanoid_exo_abilities() +{ + return maps\mp\zombies\_util::is_true(self.hashumanoidexoabilities); +} + +//Function Number: 44 +enable_humanoid_exo_traverse() +{ + self scragentallowboost(1); +} + +//Function Number: 45 +disable_humanoid_exo_traverse() +{ + self scragentallowboost(0); +} + +//Function Number: 46 +setup_humanoid_exo_combat() +{ + var_00 = clamp(level.wavecounter / 20,0,1); + var_01 = maps\mp\zombies\_util::lerp(var_00,0.35,0.55); + var_02 = maps\mp\zombies\_util::lerp(var_00,0.06,0.12); + lungemeleeupdate(5,self.meleeradiusbase * 2,self.meleeradiusbase * 1.5,"attack_lunge_boost",level._effect["boost_lunge"]); + dodgeupdate(5,var_01,"dodge_boost","boost_dodge_"); + leapupdate(10,2,var_02,550,350,"leap_boost",level._effect["boost_jump"]); +} + +//Function Number: 47 +enable_humanoid_exo_combat() +{ + lungemeleeenable(); + dodgeenable(); + leapenable(); +} + +//Function Number: 48 +disable_humanoid_exo_combat() +{ + lungemeleedisable(); + dodgedisable(); + leapdisable(); +} + +//Function Number: 49 +play_boost_fx(param_00) +{ + if(!isdefined(self.boostfxtag)) + { + return; + } + + if(self.boostfxtag != "no_boost_fx") + { + playfxontag(param_00,self,self.boostfxtag); + } +} + +//Function Number: 50 +find_valid_pathnodes_for_random_pathing(param_00) +{ + var_01 = []; + foreach(var_03 in level.players) + { + if(maps\mp\zombies\_util::isplayerinlaststand(var_03)) + { + var_01[var_01.size] = var_03; + } + } + + var_05 = []; + foreach(var_07 in param_00) + { + if(maps\mp\zombies\_util::nodeisinspawncloset(var_07)) + { + continue; + } + + var_08 = 0; + foreach(var_03 in var_01) + { + if(distancesquared(var_07.origin,var_03.origin) < 65536) + { + var_08 = 1; + break; + } + } + + if(var_08) + { + continue; + } + + var_05[var_05.size] = var_07; + } + + return var_05; +} + +//Function Number: 51 +withinmeleeradius() +{ + if(getmeleeradius() == self.meleeradiusbase) + { + return withinmeleeradiusbase(); + } + + var_00 = distancesquared(self.origin,self.curmeleetarget.origin) <= getmeleeradiussq(); + return var_00; +} + +//Function Number: 52 +withinmeleeradiusbase() +{ + var_00 = distancesquared(self.origin,self.curmeleetarget.origin) <= self.meleeradiusbasesq; + if(!var_00 && isplayer(self.curmeleetarget) || isagent(self.curmeleetarget) && isalive(self.curmeleetarget)) + { + var_01 = self.curmeleetarget getgroundentity(); + if(isdefined(var_01) && isdefined(var_01.targetname) && var_01.targetname == "care_package") + { + var_00 = distancesquared(self.origin,self.curmeleetarget.origin) <= self.meleeradiusbasesq * 4; + } + } + + if(!var_00 && isplayer(self.curmeleetarget) && maps\mp\zombies\_util::is_true(self.curmeleetarget.isinexploitspot)) + { + if(length(self getvelocity()) < 5) + { + var_00 = distancesquared(self.origin,self.curmeleetarget.origin) <= self.meleeradiusbasesq * 4; + } + } + + return var_00; +} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/bots/_bots.gsc b/AW/PC/maps/mp/bots/_bots.gsc similarity index 99% rename from AW/PC/MP/maps/mp/bots/_bots.gsc rename to AW/PC/maps/mp/bots/_bots.gsc index 5f4e492..7dc9cca 100644 --- a/AW/PC/MP/maps/mp/bots/_bots.gsc +++ b/AW/PC/maps/mp/bots/_bots.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\bots\_bots.gsc + * Decompiled File: mp\bots\_bots.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 111 - * Decompile Time: 1881 ms - * Timestamp: 10/27/2023 1:41:07 AM + * Decompile Time: 1665 ms + * Timestamp: 4/22/2024 2:08:32 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/mp/bots/_bots_gametype_ball.gsc b/AW/PC/maps/mp/bots/_bots_gametype_ball.gsc new file mode 100644 index 0000000..379460c --- /dev/null +++ b/AW/PC/maps/mp/bots/_bots_gametype_ball.gsc @@ -0,0 +1,735 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\bots\_bots_gametype_ball.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 24 + * Decompile Time: 389 ms + * Timestamp: 4/22/2024 2:08:34 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setup_callbacks(); + setup_bot_ball(); +} + +//Function Number: 2 +setup_callbacks() +{ + level.bot_funcs["gametype_think"] = ::bot_ball_think; + level.bot_funcs["crate_can_use"] = ::crate_can_use; +} + +//Function Number: 3 +setup_bot_ball() +{ + level.bot_gametype_attacker_limit_for_team = ::bot_ball_attacker_limit_for_team; + level.bot_gametype_defender_limit_for_team = ::bot_ball_defender_limit_for_team; + level.bot_gametype_allied_attackers_for_team = ::get_allied_attackers_for_team; + level.bot_gametype_allied_defenders_for_team = ::get_allied_defenders_for_team; + maps\mp\bots\_bots_util::bot_waittill_bots_enabled(); + while(!isdefined(level.ball_goals)) + { + wait(0.05); + } + + level.ball_goals["allies"].script_label = "allies"; + level.ball_goals["axis"].script_label = "axis"; + bot_setup_ball_jump_nodes(); + var_00 = getzonenearest(level.ball_goals["allies"].origin); + if(isdefined(var_00)) + { + botzonesetteam(var_00,"allies"); + } + + var_00 = getzonenearest(level.ball_goals["axis"].origin); + if(isdefined(var_00)) + { + botzonesetteam(var_00,"axis"); + } + + foreach(var_02 in level.balls) + { + var_02 thread monitor_ball(); + } + + var_04 = 0; + thread maps\mp\bots\_bots_gametype_common::bot_gametype_attacker_defender_ai_director_update(); + level.bot_gametype_precaching_done = 1; +} + +//Function Number: 4 +monitor_ball() +{ + var_00 = self.visuals[0].origin; + self.nearest_node = getclosestnodeinsight(var_00); + for(;;) + { + var_01 = self.visuals[0].origin; + self.ball_at_rest = maps\mp\bots\_bots_util::bot_vectors_are_equal(var_00,var_01); + if(!self.ball_at_rest) + { + var_02 = getclosestnodeinsight(var_01); + if(!isdefined(var_02)) + { + var_03 = getnodesinradiussorted(var_01,512,0,6000); + if(var_03.size > 0) + { + var_02 = var_03[0]; + } + } + + if(isdefined(var_02)) + { + self.nearest_node = var_02; + } + } + + var_00 = var_01; + wait(0.2); + } +} + +//Function Number: 5 +bot_setup_ball_jump_nodes() +{ + wait(1); + var_00 = 0; + var_01 = 10; + foreach(var_03 in level.ball_goals) + { + var_03.ball_jump_nodes = []; + var_04 = 375; + if(isdefined(level.ballgoalradius)) + { + var_04 = level.ballgoalradius; + } + + var_05 = getnodesinradius(var_03.origin,var_04,0); + foreach(var_07 in var_05) + { + if(var_07.type == "End") + { + continue; + } + + if(isdefined(level.ballpreventgoaljumpfromtraversals) && level.ballpreventgoaljumpfromtraversals && var_07.type == "Begin") + { + continue; + } + + var_00++; + if(bot_ball_origin_can_see_goal(var_07.origin,var_03,1)) + { + var_03.ball_jump_nodes[var_03.ball_jump_nodes.size] = var_07; + } + + if(var_00 % var_01 == 0) + { + wait(0.05); + } + } + + var_09 = 999999999; + foreach(var_07 in var_03.ball_jump_nodes) + { + var_0B = distance2dsquared(var_07.origin,var_03.origin); + if(var_0B < var_09) + { + var_03.nearest_node = var_07; + var_09 = var_0B; + } + } + + wait(0.05); + } +} + +//Function Number: 6 +bot_ball_origin_can_see_goal(param_00,param_01,param_02) +{ + var_03 = bot_ball_trace_to_origin(param_00,param_01.origin); + if(isdefined(param_02) && param_02) + { + if(!var_03) + { + var_04 = param_01.origin - (0,0,param_01.radius * 0.5); + var_03 = bot_ball_trace_to_origin(param_00,var_04); + } + + if(!var_03) + { + var_04 = param_01.origin + (0,0,param_01.radius * 0.5); + var_03 = bot_ball_trace_to_origin(param_00,var_04); + } + } + + return var_03; +} + +//Function Number: 7 +bot_ball_trace_to_origin(param_00,param_01) +{ + if(isdefined(self) && isplayer(self) || isagent(self)) + { + var_02 = playerphysicstrace(param_00,param_01,self); + } + else + { + var_02 = playerphysicstrace(param_01,var_02); + } + + return distancesquared(var_02,param_01) < 1; +} + +//Function Number: 8 +crate_can_use(param_00) +{ + if(isagent(self) && !isdefined(param_00.boxtype)) + { + return 0; + } + + if(has_ball()) + { + return 0; + } + + return 1; +} + +//Function Number: 9 +bot_ball_think() +{ + self notify("bot_ball_think"); + self endon("bot_ball_think"); + self endon("death"); + self endon("disconnect"); + level endon("game_ended"); + self endon("owner_disconnect"); + while(!isdefined(level.bot_gametype_precaching_done)) + { + wait(0.05); + } + + self botsetflag("separation",0); + var_00 = randomint(100) < self botgetdifficultysetting("strategyLevel") * 25; + var_01 = 0; + self.last_pass_throw_check = 0; + self.ball_can_pass_ally = randomint(100) < self botgetdifficultysetting("strategyLevel") * 25; + self.ball_can_pass_enemy = randomint(100) < self botgetdifficultysetting("strategyLevel") * 25; + self.ball_can_throw = randomint(100) < self botgetdifficultysetting("strategyLevel") * 25; + var_02 = level.ball_goals[self.team]; + var_03 = level.ball_goals[common_scripts\utility::get_enemy_team(self.team)]; + childthread watch_ball_pickup_and_loss(); + for(;;) + { + if(self.health <= 0) + { + continue; + } + + var_04 = !isdefined(self.role); + if(var_04) + { + maps\mp\bots\_bots_gametype_common::bot_gametype_initialize_attacker_defender_role(); + } + + self botsetflag("force_sprint",0); + var_05 = bot_ball_get_balls_carried_by_team(self.team); + var_06 = bot_ball_get_balls_carried_by_team(common_scripts\utility::get_enemy_team(self.team)); + foreach(var_08 in var_06) + { + var_09 = var_08 bot_ball_get_origin() - (0,0,75); + self botgetimperfectenemyinfo(var_08.carrier,var_09); + } + + if(has_ball()) + { + self botsetflag("force_sprint",1); + var_0B = distancesquared(self.origin,var_03.nearest_node.origin); + if(var_0B > 360000) + { + var_0C = var_03.nearest_node; + var_0D = 600; + } + else + { + var_0C = common_scripts\utility::get_array_of_closest(self.origin,var_05.ball_jump_nodes)[0]; + var_0D = 16; + } + + clear_defend_or_goal_if_necessary(); + self botsetscriptgoal(var_0C.origin,var_0D,"critical"); + var_0E = maps\mp\bots\_bots_util::bot_waittill_goal_or_fail(undefined,"bot_no_longer_has_ball"); + if(var_0E == "goal" && distancesquared(self.origin,var_0C.origin) <= 256) + { + self botclearscriptgoal(); + var_0F = vectornormalize(var_03.origin - self geteye()); + if(vectordot(var_0F,(0,0,1)) < 0.93) + { + self botlookatpoint(var_03.origin,5,"script_forced"); + } + + var_10 = 0; + var_11 = 0; + var_12 = self.origin[2]; + while(var_10 < 4 && has_ball()) + { + self botsetscriptmove(vectortoyaw(var_03.origin - self.origin),0.05); + if(var_10 == 0.3 || var_10 == 0.75) + { + self botpressbutton("jump"); + } + + var_13 = var_10 > 1.25 && self.origin[2] < var_12; + var_12 = self.origin[2]; + if(!var_11) + { + var_14 = abs(self.origin[2] - var_03.origin[2]); + var_15 = distance2d(self.origin,var_03.origin); + if(var_14 < 10 || var_13 && var_15 > 200) + { + self botpressbutton("sprint"); + var_11 = 1; + } + } + + wait(0.05); + var_10 = var_10 + 0.05; + if(!has_ball() || var_10 > 0.75 && self isonground()) + { + var_10 = 5; + } + } + + self botlookatpoint(undefined); + } + + self botclearscriptgoal(); + } + else if(self.role == "attacker") + { + var_16 = bot_ball_get_free_balls(); + if(var_16.size <= 0) + { + if(var_06.size > 0) + { + var_17 = bot_ball_get_closest_ball(var_06); + var_18 = var_17 bot_ball_get_origin() - (0,0,75); + if(var_00) + { + if(gettime() > var_01) + { + var_01 = gettime() + 5000; + var_19 = undefined; + var_1A = getnodesonpath(var_18,var_02.nearest_node.origin); + if(isdefined(var_1A) && var_1A.size > 0) + { + var_19 = var_1A[int(var_1A.size * randomfloatrange(0.25,0.75))].origin; + } + + clear_defend_or_goal_if_necessary(); + if(isdefined(var_19) && maps\mp\bots\_bots_personality::find_ambush_node(var_19,512)) + { + self botsetscriptgoalnode(self.node_ambushing_from,"guard",self.ambush_yaw); + } + else + { + self botsetscriptgoal(var_18,16,"guard"); + } + } + } + else + { + clear_defend_or_goal_if_necessary(); + self botsetscriptgoal(var_18,16,"guard"); + } + } + else if(var_05.size > 0) + { + if(!maps\mp\bots\_bots_util::bot_is_bodyguarding()) + { + var_1B = bot_ball_get_closest_ball(var_05); + clear_defend_or_goal_if_necessary(); + maps\mp\bots\_bots_strategy::bot_guard_player(var_1B.carrier,500); + } + } + else if(maps\mp\_utility::isjuggernaut()) + { + maps\mp\bots\_bots_personality::update_personality_default(); + } + else + { + var_1C = common_scripts\utility::get_array_of_closest(self.origin,level.ball_starts); + clear_defend_or_goal_if_necessary(); + self botsetscriptgoal(var_1C[0].origin,16,"guard"); + } + } + else if(maps\mp\_utility::isjuggernaut()) + { + maps\mp\bots\_bots_personality::update_personality_default(); + } + else + { + var_1D = bot_ball_get_closest_ball(var_16); + clear_defend_or_goal_if_necessary("objective"); + if(var_1D.ball_at_rest) + { + var_1E = var_1D bot_ball_get_origin(); + if(!self bothasscriptgoal() || !maps\mp\bots\_bots_util::bot_vectors_are_equal(var_1E,self botgetscriptgoal())) + { + self botsetscriptgoal(var_1E,16,"objective",undefined,180); + } + } + else + { + self botsetscriptgoal(var_1D.nearest_node.origin,16,"objective",undefined,180); + } + } + } + else + { + var_1F = undefined; + var_16 = bot_ball_get_free_balls(); + foreach(var_08 in var_16) + { + var_21 = distance2dsquared(var_08 bot_ball_get_origin(),var_02.origin); + if(var_21 < squared(get_ball_goal_protect_radius())) + { + var_1F = var_08; + break; + } + } + + if(isdefined(var_1F) && !maps\mp\_utility::isjuggernaut()) + { + clear_defend_or_goal_if_necessary(); + if(var_1F.ball_at_rest) + { + self botsetscriptgoal(var_1F bot_ball_get_origin(),16,"guard"); + } + else + { + self botsetscriptgoal(var_1F.nearest_node.origin,16,"guard"); + } + + maps\mp\bots\_bots_util::bot_waittill_goal_or_fail(1); + } + else if(!maps\mp\bots\_bots_util::bot_is_protecting()) + { + self botclearscriptgoal(); + var_23["score_flags"] = "strict_los"; + var_23["override_origin_node"] = var_02.nearest_node; + maps\mp\bots\_bots_strategy::bot_protect_point(var_02.nearest_node.origin,get_ball_goal_protect_radius(),var_23); + } + } + + wait(0.05); + } +} + +//Function Number: 10 +watch_ball_pickup_and_loss() +{ + var_00 = 0; + for(;;) + { + if(has_ball() && !var_00) + { + childthread monitor_pass_throw(); + var_00 = 1; + self botsetflag("melee_critical_path",1); + } + else if(!has_ball() && var_00) + { + self notify("bot_no_longer_has_ball"); + var_00 = 0; + self botsetflag("melee_critical_path",0); + } + + wait(0.05); + } +} + +//Function Number: 11 +monitor_pass_throw() +{ + self endon("bot_no_longer_has_ball"); + var_00 = level.ball_goals[self.team]; + var_01 = level.ball_goals[common_scripts\utility::get_enemy_team(self.team)]; + for(;;) + { + if(self.ball_can_pass_ally) + { + if(isdefined(self.pass_target)) + { + var_02 = 1; + if(var_02) + { + var_03 = distancesquared(self.origin,var_01.origin); + var_04 = distancesquared(self.pass_target.origin,var_01.origin); + if(var_04 <= var_03) + { + var_05 = anglestoforward(self getplayerangles()); + var_06 = vectornormalize(self.pass_target.origin - self.origin); + var_07 = vectordot(var_05,var_06); + if(var_07 > 0.7) + { + self botlookatpoint(self.pass_target.origin + (0,0,40),1.25,"script_forced"); + wait(0.25); + self botpressbutton("throw"); + wait(1); + } + } + } + } + } + + if(self.ball_can_pass_enemy) + { + if(isdefined(self.enemy) && isalive(self.enemy) && self botcanseeentity(self.enemy)) + { + var_08 = 1; + if(var_08) + { + var_09 = distancesquared(self.origin,var_00.origin); + var_0A = var_09 < squared(get_ball_goal_protect_radius()); + if(!var_0A && distancesquared(self.origin,self.enemy.origin) < squared(350)) + { + var_0B = anglestoforward(self.enemy getplayerangles()); + var_0C = vectornormalize(self.origin - self.enemy.origin); + var_07 = vectordot(var_0B,var_0C); + if(var_07 > 0.5) + { + var_05 = anglestoforward(self getplayerangles()); + var_0D = -1 * var_0C; + var_07 = vectordot(var_05,var_0D); + if(var_07 > 0.77) + { + self botlookatpoint(self.enemy.origin + (0,0,40),1.25,"script_forced"); + wait(0.25); + self botpressbutton("attack"); + wait(1); + } + } + } + } + } + } + + if(self.ball_can_throw) + { + if(self.health < 100 && bot_ball_origin_can_see_goal(self.origin,var_01)) + { + self botlookatpoint(var_01.origin,1.25,"script_forced"); + wait(0.25); + self botpressbutton("attack"); + wait(1); + } + else if(self.role == "defender") + { + var_09 = distancesquared(self.origin,var_00.origin); + if(var_09 < squared(get_ball_goal_protect_radius())) + { + var_0E = anglestoforward(self getplayerangles() * (0,1,1) + (-30,0,0)); + self botlookatpoint(self geteye() + var_0E * 200,1.25,"script_forced"); + wait(0.25); + self botpressbutton("attack"); + wait(1); + } + } + } + + wait(0.05); + } +} + +//Function Number: 12 +ball_carrier_is_almost_visible(param_00) +{ + var_01 = self getnearestnode(); + var_02 = param_00 getnearestnode(); + if(isdefined(var_01) && isdefined(var_02)) + { + if(nodesvisible(var_01,var_02,1)) + { + return var_02; + } + + var_03 = getlinkednodes(var_02); + foreach(var_05 in var_03) + { + if(nodesvisible(var_01,var_05,1)) + { + return var_05; + } + } + } + + return undefined; +} + +//Function Number: 13 +bot_ball_is_resetting() +{ + return self.compassicons["friendly"] == "waypoint_ball_download" || self.compassicons["friendly"] == "waypoint_ball_upload"; +} + +//Function Number: 14 +bot_ball_get_closest_ball(param_00) +{ + if(param_00.size == 1) + { + return param_00[0]; + } + + var_01 = 99999999; + var_02 = undefined; + foreach(var_04 in param_00) + { + var_05 = distancesquared(self.origin,var_04 bot_ball_get_origin()); + if(var_05 < var_01) + { + var_01 = var_05; + var_02 = var_04; + } + } + + return var_02; +} + +//Function Number: 15 +bot_ball_get_origin() +{ + if(isdefined(self.carrier)) + { + return self.curorigin; + } + + return self.visuals[0].origin; +} + +//Function Number: 16 +clear_defend_or_goal_if_necessary(param_00) +{ + if(maps\mp\bots\_bots_util::bot_is_defending()) + { + maps\mp\bots\_bots_strategy::bot_defend_stop(); + } + + if(self botgetscriptgoaltype() == "objective") + { + var_01 = isdefined(param_00) && param_00 == "objective"; + if(!var_01) + { + self botclearscriptgoal(); + } + } +} + +//Function Number: 17 +has_ball() +{ + return isdefined(self.ball_carried); +} + +//Function Number: 18 +bot_ball_get_free_balls() +{ + var_00 = []; + foreach(var_02 in level.balls) + { + if(var_02 bot_ball_is_resetting()) + { + continue; + } + + if(!isdefined(var_02.carrier)) + { + var_00[var_00.size] = var_02; + } + } + + return var_00; +} + +//Function Number: 19 +bot_ball_get_balls_carried_by_team(param_00) +{ + var_01 = []; + foreach(var_03 in level.balls) + { + if(var_03 bot_ball_is_resetting()) + { + continue; + } + + if(isdefined(var_03.carrier) && var_03.carrier.team == param_00) + { + var_01[var_01.size] = var_03; + } + } + + return var_01; +} + +//Function Number: 20 +bot_ball_attacker_limit_for_team(param_00) +{ + var_01 = maps\mp\bots\_bots_gametype_common::bot_gametype_get_num_players_on_team(param_00); + var_02 = var_01 * 0.67; + var_03 = floor(var_02); + var_04 = ceil(var_02); + var_05 = var_02 - var_03; + var_06 = var_04 - var_02; + if(var_05 < var_06) + { + var_07 = int(var_03); + } + else + { + var_07 = int(var_05); + } + + return var_07; +} + +//Function Number: 21 +bot_ball_defender_limit_for_team(param_00) +{ + var_01 = maps\mp\bots\_bots_gametype_common::bot_gametype_get_num_players_on_team(param_00); + return var_01 - bot_ball_attacker_limit_for_team(param_00); +} + +//Function Number: 22 +get_ball_goal_protect_radius() +{ + if(isalive(self) && !isdefined(level.protect_radius)) + { + var_00 = self botgetworldsize(); + var_01 = var_00[0] + var_00[1] / 2; + level.protect_radius = min(800,var_01 / 5.5); + } + + if(!isdefined(level.protect_radius)) + { + return 900; + } + + return level.protect_radius; +} + +//Function Number: 23 +get_allied_attackers_for_team(param_00) +{ + return maps\mp\bots\_bots_gametype_common::bot_gametype_get_allied_attackers_for_team(param_00,level.ball_goals[param_00].origin,get_ball_goal_protect_radius()); +} + +//Function Number: 24 +get_allied_defenders_for_team(param_00) +{ + return maps\mp\bots\_bots_gametype_common::bot_gametype_get_allied_defenders_for_team(param_00,level.ball_goals[param_00].origin,get_ball_goal_protect_radius()); +} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/bots/_bots_gametype_common.gsc b/AW/PC/maps/mp/bots/_bots_gametype_common.gsc similarity index 98% rename from AW/PC/MP/maps/mp/bots/_bots_gametype_common.gsc rename to AW/PC/maps/mp/bots/_bots_gametype_common.gsc index 08b7c33..7829417 100644 --- a/AW/PC/MP/maps/mp/bots/_bots_gametype_common.gsc +++ b/AW/PC/maps/mp/bots/_bots_gametype_common.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\bots\_bots_gametype_common.gsc + * Decompiled File: mp\bots\_bots_gametype_common.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 13 - * Decompile Time: 231 ms - * Timestamp: 10/27/2023 1:41:08 AM + * Decompile Time: 208 ms + * Timestamp: 4/22/2024 2:08:34 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/mp/bots/_bots_gametype_conf.gsc b/AW/PC/maps/mp/bots/_bots_gametype_conf.gsc new file mode 100644 index 0000000..a813854 --- /dev/null +++ b/AW/PC/maps/mp/bots/_bots_gametype_conf.gsc @@ -0,0 +1,484 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\bots\_bots_gametype_conf.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 16 + * Decompile Time: 252 ms + * Timestamp: 4/22/2024 2:08:35 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setup_callbacks(); + setup_bot_conf(); +} + +//Function Number: 2 +setup_callbacks() +{ + level.bot_funcs["gametype_think"] = ::bot_conf_think; +} + +//Function Number: 3 +setup_bot_conf() +{ + level.bot_tag_obj_radius = 200; + level.bot_tag_allowable_jump_height = 38; + if(maps\mp\_utility::isaugmentedgamemode()) + { + level.bot_tag_allowable_jump_height = level.bot_tag_allowable_jump_height + 170; + } +} + +//Function Number: 4 +bot_conf_think() +{ + self notify("bot_conf_think"); + self endon("bot_conf_think"); + self endon("death"); + self endon("disconnect"); + level endon("game_ended"); + self.next_time_check_tags = gettime() + 500; + self.tags_seen = []; + childthread bot_watch_new_tags(); + if(self.personality == "camper") + { + self.conf_camper_camp_tags = 0; + if(!isdefined(self.conf_camping_tag)) + { + self.conf_camping_tag = 0; + } + } + + for(;;) + { + var_00 = isdefined(self.tag_getting); + var_01 = 0; + if(var_00 && self bothasscriptgoal()) + { + var_02 = self botgetscriptgoal(); + if(maps\mp\bots\_bots_util::bot_vectors_are_equal(self.tag_getting.ground_pos,var_02)) + { + if(self botpursuingscriptgoal()) + { + var_01 = 1; + } + } + else if(maps\mp\bots\_bots_strategy::bot_has_tactical_goal("kill_tag") && self.tag_getting maps\mp\gametypes\_gameobjects::caninteractwith(self.team)) + { + self.tag_getting = undefined; + var_00 = 0; + } + } + + self botsetflag("force_sprint",var_01); + self.tags_seen = bot_remove_invalid_tags(self.tags_seen); + var_03 = bot_find_best_tag_from_array(self.tags_seen,1); + var_04 = isdefined(var_03); + if((var_00 && !var_04) || !var_00 && var_04 || var_00 && var_04 && self.tag_getting != var_03) + { + self.tag_getting = var_03; + self botclearscriptgoal(); + self notify("stop_camping_tag"); + maps\mp\bots\_bots_personality::clear_camper_data(); + maps\mp\bots\_bots_strategy::bot_abort_tactical_goal("kill_tag"); + } + + if(isdefined(self.tag_getting)) + { + self.conf_camping_tag = 0; + if(self.personality == "camper" && self.conf_camper_camp_tags) + { + self.conf_camping_tag = 1; + if(maps\mp\bots\_bots_personality::should_select_new_ambush_point()) + { + if(maps\mp\bots\_bots_personality::find_ambush_node(self.tag_getting.ground_pos,1000)) + { + childthread bot_camp_tag(self.tag_getting,"camp"); + } + else + { + self.conf_camping_tag = 0; + } + } + } + + if(!self.conf_camping_tag) + { + if(!maps\mp\bots\_bots_strategy::bot_has_tactical_goal("kill_tag")) + { + var_05 = spawnstruct(); + var_05.script_goal_type = "objective"; + var_05.objective_radius = level.bot_tag_obj_radius; + maps\mp\bots\_bots_strategy::bot_new_tactical_goal("kill_tag",self.tag_getting.ground_pos,25,var_05); + } + } + } + + var_06 = 0; + if(isdefined(self.additional_tactical_logic_func)) + { + var_06 = self [[ self.additional_tactical_logic_func ]](); + } + + if(!isdefined(self.tag_getting)) + { + if(!var_06) + { + self [[ self.personality_update_function ]](); + } + } + + if(gettime() > self.next_time_check_tags) + { + self.next_time_check_tags = gettime() + 500; + var_07 = bot_find_visible_tags(1); + self.tags_seen = bot_combine_tag_seen_arrays(var_07,self.tags_seen); + } + + wait(0.05); + } +} + +//Function Number: 5 +bot_check_tag_above_head(param_00) +{ + if(isdefined(param_00.on_path_grid) && param_00.on_path_grid) + { + var_01 = self.origin + (0,0,55); + if(distance2dsquared(param_00.curorigin,var_01) < 144) + { + var_02 = param_00.curorigin[2] - var_01[2]; + if(var_02 > 0) + { + if(var_02 < level.bot_tag_allowable_jump_height) + { + if(!isdefined(self.last_time_jumped_for_tag)) + { + self.last_time_jumped_for_tag = 0; + } + + if(gettime() - self.last_time_jumped_for_tag > 3000) + { + self.last_time_jumped_for_tag = gettime(); + thread bot_jump_for_tag(); + } + } + else + { + param_00.on_path_grid = 0; + return 1; + } + } + } + } + + return 0; +} + +//Function Number: 6 +bot_jump_for_tag() +{ + self endon("death"); + self endon("disconnect"); + self botsetstance("stand"); + wait(1); + self botpressbutton("jump"); + wait(0.5); + if(maps\mp\_utility::isaugmentedgamemode()) + { + self botpressbutton("jump"); + } + + wait(0.5); + self botsetstance("none"); +} + +//Function Number: 7 +bot_watch_new_tags() +{ + for(;;) + { + level waittill("new_tag_spawned",var_00); + self.next_time_check_tags = -1; + if(isdefined(var_00)) + { + if((isdefined(var_00.victim) && var_00.victim == self) || isdefined(var_00.attacker) && var_00.attacker == self) + { + if(!isdefined(var_00.on_path_grid) && !isdefined(var_00.calculations_in_progress)) + { + thread calculate_tag_on_path_grid(var_00); + waittill_tag_calculated_on_path_grid(var_00); + if(var_00.on_path_grid) + { + var_01 = spawnstruct(); + var_01.origin = var_00.curorigin; + var_01.tag = var_00; + var_02[0] = var_01; + self.tags_seen = bot_combine_tag_seen_arrays(var_02,self.tags_seen); + } + } + } + } + } +} + +//Function Number: 8 +bot_combine_tag_seen_arrays(param_00,param_01) +{ + var_02 = param_01; + foreach(var_04 in param_00) + { + var_05 = 0; + foreach(var_07 in param_01) + { + if(var_04.tag == var_07.tag && maps\mp\bots\_bots_util::bot_vectors_are_equal(var_04.origin,var_07.origin)) + { + var_05 = 1; + break; + } + } + + if(!var_05) + { + var_02 = common_scripts\utility::array_add(var_02,var_04); + } + } + + return var_02; +} + +//Function Number: 9 +bot_is_tag_visible(param_00,param_01,param_02) +{ + if(!param_00.calculated_nearest_node) + { + param_00.nearest_node = getclosestnodeinsight(param_00.curorigin); + param_00.calculated_nearest_node = 1; + } + + if(isdefined(param_00.calculations_in_progress)) + { + return 0; + } + + var_03 = param_00.nearest_node; + var_04 = !isdefined(param_00.on_path_grid); + if(isdefined(var_03) && var_04 || param_00.on_path_grid) + { + var_05 = var_03 == param_01 || nodesvisible(var_03,param_01,1); + if(var_05) + { + var_06 = common_scripts\utility::within_fov(self.origin,self.angles,param_00.curorigin,param_02); + if(var_06) + { + if(var_04) + { + thread calculate_tag_on_path_grid(param_00); + waittill_tag_calculated_on_path_grid(param_00); + if(!param_00.on_path_grid) + { + return 0; + } + } + + return 1; + } + } + } + + return 0; +} + +//Function Number: 10 +bot_find_visible_tags(param_00,param_01,param_02) +{ + var_03 = undefined; + if(isdefined(param_01)) + { + var_03 = param_01; + } + else + { + var_03 = self getnearestnode(); + } + + var_04 = undefined; + if(isdefined(param_02)) + { + var_04 = param_02; + } + else + { + var_04 = self botgetfovdot(); + } + + var_05 = []; + if(isdefined(var_03)) + { + foreach(var_07 in level.dogtags) + { + if(var_07 maps\mp\gametypes\_gameobjects::caninteractwith(self.team)) + { + var_08 = 0; + if(!param_00 || var_07.attacker == self) + { + if(!isdefined(var_07.calculations_in_progress)) + { + if(!isdefined(var_07.on_path_grid)) + { + level thread calculate_tag_on_path_grid(var_07); + waittill_tag_calculated_on_path_grid(var_07); + } + + var_08 = distancesquared(self.origin,var_07.ground_pos) < 1000000 && var_07.on_path_grid; + } + } + else if(bot_is_tag_visible(var_07,var_03,var_04)) + { + var_08 = 1; + } + + if(var_08) + { + var_09 = spawnstruct(); + var_09.origin = var_07.curorigin; + var_09.tag = var_07; + var_05 = common_scripts\utility::array_add(var_05,var_09); + } + } + } + } + + return var_05; +} + +//Function Number: 11 +calculate_tag_on_path_grid(param_00) +{ + param_00 endon("reset"); + param_00.calculations_in_progress = 1; + param_00.on_path_grid = maps\mp\bots\_bots_util::bot_point_is_on_pathgrid(param_00.curorigin,undefined,level.bot_tag_allowable_jump_height + 55); + if(param_00.on_path_grid) + { + param_00.ground_pos = getgroundposition(param_00.curorigin,32); + if(!isdefined(param_00.ground_pos)) + { + param_00.on_path_grid = 0; + } + } + + param_00.calculations_in_progress = undefined; +} + +//Function Number: 12 +waittill_tag_calculated_on_path_grid(param_00) +{ + while(!isdefined(param_00.on_path_grid)) + { + wait(0.05); + } +} + +//Function Number: 13 +bot_find_best_tag_from_array(param_00,param_01) +{ + var_02 = undefined; + if(param_00.size > 0) + { + var_03 = 1409865409; + foreach(var_05 in param_00) + { + var_06 = get_num_allies_getting_tag(var_05.tag); + if(!param_01 || var_06 < 2) + { + var_07 = distancesquared(var_05.tag.ground_pos,self.origin); + if(var_07 < var_03) + { + var_02 = var_05.tag; + var_03 = var_07; + } + } + } + } + + return var_02; +} + +//Function Number: 14 +bot_remove_invalid_tags(param_00) +{ + var_01 = []; + foreach(var_03 in param_00) + { + if(var_03.tag maps\mp\gametypes\_gameobjects::caninteractwith(self.team) && maps\mp\bots\_bots_util::bot_vectors_are_equal(var_03.tag.curorigin,var_03.origin)) + { + if(!bot_check_tag_above_head(var_03.tag) && var_03.tag.on_path_grid) + { + var_01 = common_scripts\utility::array_add(var_01,var_03); + } + } + } + + return var_01; +} + +//Function Number: 15 +get_num_allies_getting_tag(param_00) +{ + var_01 = 0; + foreach(var_03 in level.participants) + { + if(!isdefined(var_03.team)) + { + continue; + } + + if(var_03.team == self.team && var_03 != self) + { + if(isai(var_03)) + { + if(isdefined(var_03.tag_getting) && var_03.tag_getting == param_00) + { + var_01++; + } + + continue; + } + + if(distancesquared(var_03.origin,param_00.curorigin) < 160000) + { + var_01++; + } + } + } + + return var_01; +} + +//Function Number: 16 +bot_camp_tag(param_00,param_01,param_02) +{ + self notify("bot_camp_tag"); + self endon("bot_camp_tag"); + self endon("stop_camping_tag"); + if(isdefined(param_02)) + { + self endon(param_02); + } + + self botsetscriptgoalnode(self.node_ambushing_from,param_01,self.ambush_yaw); + var_03 = maps\mp\bots\_bots_util::bot_waittill_goal_or_fail(); + if(var_03 == "goal") + { + var_04 = param_00.nearest_node; + if(isdefined(var_04)) + { + var_05 = findentrances(self.origin); + var_05 = common_scripts\utility::array_add(var_05,var_04); + childthread maps\mp\bots\_bots_util::bot_watch_nodes(var_05); + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/bots/_bots_gametype_ctf.gsc b/AW/PC/maps/mp/bots/_bots_gametype_ctf.gsc new file mode 100644 index 0000000..42d8596 --- /dev/null +++ b/AW/PC/maps/mp/bots/_bots_gametype_ctf.gsc @@ -0,0 +1,338 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\bots\_bots_gametype_ctf.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 14 + * Decompile Time: 224 ms + * Timestamp: 4/22/2024 2:08:36 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setup_callbacks(); + setup_bot_ctf(); +} + +//Function Number: 2 +setup_callbacks() +{ + level.bot_funcs["crate_can_use"] = ::crate_can_use; + level.bot_funcs["gametype_think"] = ::bot_ctf_think; + level.bot_funcs["get_watch_node_chance"] = ::bot_ctf_get_node_chance; +} + +//Function Number: 3 +setup_bot_ctf() +{ + level.bot_gametype_attacker_limit_for_team = ::ctf_bot_attacker_limit_for_team; + level.bot_gametype_defender_limit_for_team = ::ctf_bot_defender_limit_for_team; + level.bot_gametype_allied_attackers_for_team = ::get_allied_attackers_for_team; + level.bot_gametype_allied_defenders_for_team = ::get_allied_defenders_for_team; + maps\mp\bots\_bots_util::bot_waittill_bots_enabled(); + while(!isdefined(level.teamflags)) + { + wait(0.05); + } + + level.teamflags["allies"].script_label = "allies"; + level.teamflags["axis"].script_label = "axis"; + maps\mp\bots\_bots_gametype_common::bot_cache_entrances_to_gametype_array(level.teamflags,"flag_"); + var_00 = getzonenearest(level.teamflags["allies"].origin); + if(isdefined(var_00)) + { + botzonesetteam(var_00,"allies"); + } + + var_00 = getzonenearest(level.teamflags["axis"].origin); + if(isdefined(var_00)) + { + botzonesetteam(var_00,"axis"); + } + + level.capzones["allies"].nearest_node = level.teamflags["allies"].nearest_node; + level.capzones["axis"].nearest_node = level.teamflags["axis"].nearest_node; + thread bot_ctf_ai_director_update(); + level.bot_gametype_precaching_done = 1; +} + +//Function Number: 4 +crate_can_use(param_00) +{ + if(isagent(self) && !isdefined(param_00.boxtype)) + { + return 0; + } + + if(isdefined(self.carryflag)) + { + return 0; + } + + return level.teamflags[self.team] maps\mp\gametypes\_gameobjects::ishome(); +} + +//Function Number: 5 +bot_ctf_think() +{ + self notify("bot_ctf_think"); + self endon("bot_ctf_think"); + self endon("death"); + self endon("disconnect"); + level endon("game_ended"); + while(!isdefined(level.bot_gametype_precaching_done)) + { + wait(0.05); + } + + self.next_time_hunt_carrier = 0; + self.next_flag_hide_time = 0; + self botsetflag("separation",0); + self botsetflag("use_obj_path_style",1); + var_00 = 0; + var_01 = 0; + for(;;) + { + wait(0.05); + if(self.health <= 0) + { + continue; + } + + if(!isdefined(self.role)) + { + maps\mp\bots\_bots_gametype_common::bot_gametype_initialize_attacker_defender_role(); + } + + var_02 = 0; + if(self.role == "attacker") + { + if(isdefined(self.carryflag)) + { + var_02 = 1; + } + else if(!isdefined(level.flag_carriers[self.team])) + { + var_02 = distancesquared(self.origin,level.teamflags[level.otherteam[self.team]].curorigin) < squared(get_flag_protect_radius()); + } + } + else if(!level.teamflags[self.team] maps\mp\gametypes\_gameobjects::ishome()) + { + var_02 = !isdefined(level.flag_carriers[level.otherteam[self.team]]); + } + + self botsetflag("force_sprint",var_02); + var_01 = 0; + if(isdefined(self.carryflag)) + { + clear_defend(); + if(!isdefined(level.flag_carriers[level.otherteam[self.team]])) + { + var_01 = 1; + if(!var_00) + { + var_00 = 1; + self botsetpathingstyle("scripted"); + } + + self botsetscriptgoal(level.capzones[self.team].curorigin,16,"critical"); + } + else if(gettime() > self.next_flag_hide_time) + { + var_03 = getnodesinradius(level.capzones[self.team].curorigin,900,0,300); + var_04 = self botnodepick(var_03,var_03.size * 0.15,"node_hide_anywhere"); + if(!isdefined(var_04)) + { + var_04 = level.capzones[self.team].nearest_node; + } + + var_05 = self botsetscriptgoalnode(var_04,"critical"); + if(var_05) + { + self.next_flag_hide_time = gettime() + 15000; + } + } + } + else if(self.role == "attacker") + { + if(isdefined(level.flag_carriers[self.team])) + { + if(!maps\mp\bots\_bots_util::bot_is_bodyguarding()) + { + clear_defend(); + self botclearscriptgoal(); + maps\mp\bots\_bots_strategy::bot_guard_player(level.flag_carriers[self.team],500); + } + } + else + { + clear_defend(); + if(self botgetscriptgoaltype() == "critical") + { + self botclearscriptgoal(); + } + + self botsetscriptgoal(level.teamflags[level.otherteam[self.team]].curorigin,16,"objective",undefined,300); + } + } + else if(!level.teamflags[self.team] maps\mp\gametypes\_gameobjects::ishome()) + { + if(!isdefined(level.flag_carriers[level.otherteam[self.team]])) + { + clear_defend(); + self botsetscriptgoal(level.teamflags[self.team].curorigin,16,"critical"); + } + else + { + var_06 = level.flag_carriers[level.otherteam[self.team]]; + if(gettime() > self.next_time_hunt_carrier || self botcanseeentity(var_06)) + { + clear_defend(); + self botsetscriptgoal(var_06.origin,16,"critical"); + self.next_time_hunt_carrier = gettime() + randomintrange(4500,5500); + } + } + } + else if(!is_protecting_flag()) + { + self botclearscriptgoal(); + var_07["score_flags"] = "strict_los"; + var_07["entrance_points_index"] = "flag_" + level.teamflags[self.team].script_label; + var_07["nearest_node_to_center"] = level.teamflags[self.team].nearest_node; + maps\mp\bots\_bots_strategy::bot_protect_point(level.teamflags[self.team].curorigin,get_flag_protect_radius(),var_07); + } + + if(var_00 && !var_01) + { + var_00 = 0; + self botsetpathingstyle(undefined); + } + } +} + +//Function Number: 6 +clear_defend() +{ + if(maps\mp\bots\_bots_util::bot_is_defending()) + { + maps\mp\bots\_bots_strategy::bot_defend_stop(); + } +} + +//Function Number: 7 +is_protecting_flag() +{ + return maps\mp\bots\_bots_util::bot_is_protecting(); +} + +//Function Number: 8 +get_flag_protect_radius() +{ + if(isalive(self) && !isdefined(level.protect_radius)) + { + var_00 = self botgetworldsize(); + var_01 = var_00[0] + var_00[1] / 2; + level.protect_radius = min(800,var_01 / 5.5); + } + + if(!isdefined(level.protect_radius)) + { + return 900; + } + + return level.protect_radius; +} + +//Function Number: 9 +ctf_bot_attacker_limit_for_team(param_00) +{ + var_01 = maps\mp\bots\_bots_gametype_common::bot_gametype_get_num_players_on_team(param_00); + var_02 = var_01 * 0.67; + var_03 = floor(var_02); + var_04 = ceil(var_02); + var_05 = var_02 - var_03; + var_06 = var_04 - var_02; + if(var_05 < var_06) + { + var_07 = int(var_03); + } + else + { + var_07 = int(var_05); + } + + var_08 = game["teamScores"][param_00]; + var_09 = game["teamScores"][common_scripts\utility::get_enemy_team(param_00)]; + if(var_08 + 1 < var_09) + { + var_07 = int(min(var_07 + 1,var_01)); + } + + return var_07; +} + +//Function Number: 10 +ctf_bot_defender_limit_for_team(param_00) +{ + var_01 = maps\mp\bots\_bots_gametype_common::bot_gametype_get_num_players_on_team(param_00); + return var_01 - ctf_bot_attacker_limit_for_team(param_00); +} + +//Function Number: 11 +get_allied_attackers_for_team(param_00) +{ + return maps\mp\bots\_bots_gametype_common::bot_gametype_get_allied_attackers_for_team(param_00,level.capzones[param_00].curorigin,get_flag_protect_radius()); +} + +//Function Number: 12 +get_allied_defenders_for_team(param_00) +{ + return maps\mp\bots\_bots_gametype_common::bot_gametype_get_allied_defenders_for_team(param_00,level.capzones[param_00].curorigin,get_flag_protect_radius()); +} + +//Function Number: 13 +bot_ctf_ai_director_update() +{ + level notify("bot_ctf_ai_director_update"); + level endon("bot_ctf_ai_director_update"); + level endon("game_ended"); + level.flag_carriers = []; + thread maps\mp\bots\_bots_gametype_common::bot_gametype_attacker_defender_ai_director_update(); + for(;;) + { + level.flag_carriers["allies"] = undefined; + level.flag_carriers["axis"] = undefined; + foreach(var_01 in level.participants) + { + if(isalive(var_01) && isdefined(var_01.carryflag)) + { + level.flag_carriers[var_01.team] = var_01; + } + } + + wait(0.05); + } +} + +//Function Number: 14 +bot_ctf_get_node_chance(param_00) +{ + if(param_00 == self.node_closest_to_defend_center) + { + return 1; + } + + if(!is_protecting_flag()) + { + return 1; + } + + var_01 = param_00 maps\mp\bots\_bots_util::node_is_on_path_from_labels("flag_allies","flag_axis"); + if(var_01) + { + return 1; + } + + return 0.2; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/bots/_bots_gametype_dm.gsc b/AW/PC/maps/mp/bots/_bots_gametype_dm.gsc new file mode 100644 index 0000000..7bf2883 --- /dev/null +++ b/AW/PC/maps/mp/bots/_bots_gametype_dm.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\bots\_bots_gametype_dm.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:08:37 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/bots/_bots_gametype_dom.gsc b/AW/PC/maps/mp/bots/_bots_gametype_dom.gsc new file mode 100644 index 0000000..45e8eb9 --- /dev/null +++ b/AW/PC/maps/mp/bots/_bots_gametype_dom.gsc @@ -0,0 +1,1264 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\bots\_bots_gametype_dom.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 45 + * Decompile Time: 668 ms + * Timestamp: 4/22/2024 2:08:39 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.bot_ignore_precalc_paths = 0; + if(level.currentgen) + { + level.bot_ignore_precalc_paths = 1; + } + + setup_callbacks(); + setup_bot_dom(); + level thread maps\mp\bots\_bots_util::bot_monitor_enemy_camp_spots(::maps\mp\bots\_bots_util::bot_valid_camp_assassin); +} + +//Function Number: 2 +setup_callbacks() +{ + level.bot_funcs["crate_can_use"] = ::crate_can_use; + level.bot_funcs["gametype_think"] = ::bot_dom_think; + level.bot_funcs["should_start_cautious_approach"] = ::should_start_cautious_approach_dom; + level.bot_funcs["leader_dialog"] = ::bot_dom_leader_dialog; + if(!level.bot_ignore_precalc_paths) + { + level.bot_funcs["get_watch_node_chance"] = ::bot_dom_get_node_chance; + } +} + +//Function Number: 3 +crate_can_use(param_00) +{ + if(isagent(self) && !isdefined(param_00.boxtype)) + { + return 0; + } + + if(!maps\mp\_utility::isteamparticipant(self)) + { + return 1; + } + + return maps\mp\bots\_bots_util::bot_is_protecting(); +} + +//Function Number: 4 +monitor_zone_control() +{ + self notify("monitor_zone_control"); + self endon("monitor_zone_control"); + self endon("death"); + level endon("game_ended"); + for(;;) + { + wait(1); + var_00 = maps\mp\gametypes\dom::getflagteam(); + if(var_00 != "neutral") + { + var_01 = getzonenearest(self.origin); + if(isdefined(var_01)) + { + botzonesetteam(var_01,var_00); + } + } + } +} + +//Function Number: 5 +monitor_flag_ownership() +{ + self notify("monitor_flag_ownership"); + self endon("monitor_flag_ownership"); + self endon("death"); + level endon("game_ended"); + var_00 = maps\mp\gametypes\dom::getflagteam(); + for(;;) + { + var_01 = maps\mp\gametypes\dom::getflagteam(); + if(var_01 != var_00) + { + level notify("flag_changed_ownership"); + } + + var_00 = var_01; + wait(0.05); + } +} + +//Function Number: 6 +setup_bot_dom() +{ + maps\mp\bots\_bots_util::bot_waittill_bots_enabled(1); + var_00 = bot_get_all_possible_flags(); + if(var_00.size > 3) + { + while(!isdefined(level.teleport_dom_finished_initializing)) + { + wait(0.05); + } + + var_01 = []; + foreach(var_03 in var_00) + { + if(!isdefined(var_01[var_03.teleport_zone])) + { + var_01[var_03.teleport_zone] = []; + } + + var_01[var_03.teleport_zone] = common_scripts\utility::array_add(var_01[var_03.teleport_zone],var_03); + } + + foreach(var_07, var_06 in var_01) + { + level.entrance_points_finished_caching = 0; + bot_cache_flag_distances(var_06); + maps\mp\bots\_bots_gametype_common::bot_cache_entrances_to_gametype_array(var_06,var_07 + "_flag",level.bot_ignore_precalc_paths); + } + } + else + { + maps\mp\bots\_bots_gametype_common::bot_cache_entrances_to_gametype_array(var_00,"flag",level.bot_ignore_precalc_paths); + bot_cache_flag_distances(var_00); + thread bot_wait_for_event_flag_swap(var_00); + } + + foreach(var_03 in var_00) + { + var_03 thread monitor_zone_control(); + var_03 thread monitor_flag_ownership(); + if(var_03.script_label != "_a" && var_03.script_label != "_b" && var_03.script_label != "_c") + { + } + + var_03.nodes = getnodesintrigger(var_03); + maps\mp\bots\_bots_gametype_common::bot_add_missing_nodes(var_03,var_03); + var_03.last_time_secured["allies"] = 0; + var_03.last_time_secured["axis"] = 0; + } + + level.bot_dom_override_flag_targets = []; + level.bot_dom_override_flag_targets["axis"] = []; + level.bot_dom_override_flag_targets["allies"] = []; + level.bot_gametype_precaching_done = 1; +} + +//Function Number: 7 +bot_wait_for_event_flag_swap(param_00) +{ + level endon("game_ended"); + level waittill("dom_flags_moved"); + maps\mp\bots\_bots_gametype_common::bot_cache_entrances_to_gametype_array(param_00,"flag",level.bot_ignore_precalc_paths,1); + bot_cache_flag_distances(param_00); + foreach(var_02 in param_00) + { + var_02.nodes = getnodesintrigger(var_02); + maps\mp\bots\_bots_gametype_common::bot_add_missing_nodes(var_02,var_02); + } + + foreach(var_05 in level.participants) + { + if(maps\mp\_utility::isaiteamparticipant(var_05)) + { + var_05.force_new_goal = 1; + } + } +} + +//Function Number: 8 +bot_get_all_possible_flags() +{ + if(isdefined(level.all_dom_flags)) + { + return level.all_dom_flags; + } + + return level.flags; +} + +//Function Number: 9 +bot_cache_flag_distances(param_00) +{ + if(!isdefined(level.flag_distances)) + { + level.flag_distances = []; + } + + for(var_01 = 0;var_01 < param_00.size - 1;var_01++) + { + for(var_02 = var_01 + 1;var_02 < param_00.size;var_02++) + { + var_03 = distance(param_00[var_01].origin,param_00[var_02].origin); + var_04 = get_flag_label(param_00[var_01]); + var_05 = get_flag_label(param_00[var_02]); + level.flag_distances[var_04][var_05] = var_03; + level.flag_distances[var_05][var_04] = var_03; + } + } +} + +//Function Number: 10 +should_start_cautious_approach_dom(param_00) +{ + if(param_00) + { + if(self.current_flag maps\mp\gametypes\dom::getflagteam() == "neutral" && flag_has_never_been_captured(self.current_flag)) + { + var_01 = get_closest_flag(self.lastspawnpoint.origin); + if(var_01 == self.current_flag) + { + return 0; + } + else + { + var_02 = get_other_flag(var_01,self.current_flag); + var_03 = distancesquared(var_01.origin,self.current_flag.origin); + var_04 = distancesquared(var_02.origin,self.current_flag.origin); + if(var_03 < var_04) + { + return 0; + } + } + } + } + + return maps\mp\bots\_bots_strategy::should_start_cautious_approach_default(param_00); +} + +//Function Number: 11 +bot_dom_debug_should_capture_all() +{ + return 0; +} + +//Function Number: 12 +bot_dom_debug_should_protect_all() +{ + return 0; +} + +//Function Number: 13 +bot_dom_think() +{ + self notify("bot_dom_think"); + self endon("bot_dom_think"); + self endon("death"); + self endon("disconnect"); + level endon("game_ended"); + while(!isdefined(level.bot_gametype_precaching_done)) + { + wait(0.05); + } + + self.force_new_goal = 0; + self.new_goal_time = 0; + self.next_strat_level_check = 0; + self botsetflag("separation",0); + self botsetflag("grenade_objectives",1); + self botsetflag("use_obj_path_style",1); + for(;;) + { + maps\mp\bots\_bots_util::bot_update_camp_assassin(); + var_00 = gettime(); + if(var_00 > self.next_strat_level_check) + { + self.next_strat_level_check = gettime() + 10000; + self.strategy_level = self botgetdifficultysetting("strategyLevel"); + } + + if(var_00 > self.new_goal_time || self.force_new_goal) + { + if(should_delay_flag_decision()) + { + self.new_goal_time = var_00 + 5000; + } + else + { + self.force_new_goal = 0; + bot_choose_flag(); + self.new_goal_time = var_00 + randomintrange(30000,45000); + } + } + + common_scripts\utility::waittill_notify_or_timeout("needs_new_flag_goal",1); + } +} + +//Function Number: 14 +should_delay_flag_decision() +{ + if(self.force_new_goal) + { + return 0; + } + + if(!maps\mp\bots\_bots_util::bot_is_capturing()) + { + return 0; + } + + if(self.current_flag maps\mp\gametypes\dom::getflagteam() == self.team) + { + return 0; + } + + var_00 = get_flag_capture_radius(); + if(distancesquared(self.origin,self.current_flag.origin) < var_00 * 2 * var_00 * 2) + { + var_01 = get_ally_flags(self.team); + if(var_01.size == 2 && !common_scripts\utility::array_contains(var_01,self.current_flag) && !bot_allowed_to_3_cap()) + { + return 0; + } + + return 1; + } + + return 0; +} + +//Function Number: 15 +get_override_flag_targets() +{ + return level.bot_dom_override_flag_targets[self.team]; +} + +//Function Number: 16 +has_override_flag_targets() +{ + var_00 = get_override_flag_targets(); + return var_00.size > 0; +} + +//Function Number: 17 +flag_has_been_captured_before(param_00) +{ + return !flag_has_never_been_captured(param_00); +} + +//Function Number: 18 +flag_has_never_been_captured(param_00) +{ + return param_00.useobj.firstcapture; +} + +//Function Number: 19 +bot_choose_flag() +{ + var_00 = undefined; + var_01 = []; + var_02 = []; + var_03 = 1; + var_04 = get_override_flag_targets(); + if(var_04.size > 0) + { + var_05 = var_04; + } + else + { + var_05 = level.flags; + } + + for(var_06 = 0;var_06 < var_05.size;var_06++) + { + var_07 = var_05[var_06] maps\mp\gametypes\dom::getflagteam(); + if(var_03) + { + if(flag_has_been_captured_before(var_05[var_06])) + { + var_03 = 0; + } + else + { + } + } + + if(var_07 != self.team) + { + var_01[var_01.size] = var_05[var_06]; + continue; + } + + var_02[var_02.size] = var_05[var_06]; + } + + var_08 = undefined; + if(var_01.size == 3) + { + var_08 = 1; + } + else if(var_01.size == 2) + { + if(var_02.size == 1) + { + if(!bot_should_defend_flag(var_02[0],1)) + { + var_08 = 1; + } + else + { + var_08 = !bot_should_defend(0.34); + } + + if(maps\mp\bots\_bots_util::bot_get_max_players_on_team(self.team) == 1) + { + var_08 = 1; + } + } + else if(var_02.size == 0) + { + var_08 = 1; + } + } + else if(var_01.size == 1) + { + if(var_02.size == 2) + { + if(bot_allowed_to_3_cap()) + { + if(!bot_should_defend_flag(var_02[0],2) && !bot_should_defend_flag(var_02[1],2)) + { + var_08 = 1; + } + else if(self.strategy_level == 0) + { + var_08 = !bot_should_defend(0.34); + } + else + { + var_08 = !bot_should_defend(0.5); + } + } + else + { + var_08 = 0; + } + } + else if(var_02.size == 1) + { + if(!bot_should_defend_flag(var_02[0],1)) + { + var_08 = 1; + } + else + { + var_08 = !bot_should_defend(0.34); + } + } + else if(var_02.size == 0) + { + var_08 = 1; + } + } + else if(var_01.size == 0) + { + var_08 = 0; + } + + if(var_08) + { + if(var_01.size > 1) + { + var_09 = common_scripts\utility::get_array_of_closest(self.origin,var_01); + } + else + { + var_09 = var_02; + } + + if(var_03 && !has_override_flag_targets()) + { + var_0A = get_num_allies_capturing_flag(var_09[0],1); + if(var_0A < min_num_bots_assaulting_first_flag()) + { + var_0B = 0; + } + else + { + var_0C = 20; + var_0D = 65; + var_0E = 15; + if(self.strategy_level == 0) + { + var_0C = 50; + var_0D = 25; + var_0E = 25; + } + else if(self.strategy_level == 1) + { + var_0C = 40; + var_0D = 40; + var_0E = 20; + } + + var_0F = randomint(100); + if(var_0F < var_0C) + { + var_0B = 0; + } + else if(var_0F < var_0C + var_0D) + { + var_0B = 1; + } + else + { + var_0B = 2; + } + } + + var_10 = undefined; + if(var_0B == 0) + { + var_10 = "critical"; + } + + capture_flag(var_09[var_0B],var_10); + return; + } + + if(var_10.size == 1) + { + var_03 = var_10[0]; + } + else if(distancesquared(var_10[0].origin,self.origin) < 102400) + { + var_03 = var_10[0]; + } + else + { + var_11 = []; + var_12 = []; + for(var_09 = 0;var_09 < var_10.size;var_09++) + { + var_13 = distance(var_10[var_09].origin,self.origin); + var_12[var_09] = var_13; + var_11[var_09] = var_13; + } + + if(var_05.size == 1) + { + var_14 = 1.5; + for(var_09 = 0;var_09 < var_11.size;var_09++) + { + var_11[var_09] = var_11[var_09] + level.flag_distances[get_flag_label(var_10[var_09])][get_flag_label(var_05[0])] * var_14; + } + } + + if(self.strategy_level == 0) + { + var_0F = randomint(100); + if(var_0F < 50) + { + var_03 = var_10[0]; + } + else if(var_0F < 50 + 50 / var_10.size - 1) + { + var_03 = var_10[1]; + } + else + { + var_03 = var_10[2]; + } + } + else if(var_11.size == 2) + { + var_15[0] = 50; + var_15[1] = 50; + for(var_09 = 0;var_09 < var_10.size;var_09++) + { + if(var_11[var_09] < var_11[1 - var_09]) + { + var_15[var_09] = var_15[var_09] + 20; + var_15[1 - var_09] = var_15[1 - var_09] - 20; + } + + if(var_12[var_09] < 640) + { + var_15[var_09] = var_15[var_09] + 15; + var_15[1 - var_09] = var_15[1 - var_09] - 15; + } + + if(var_10[var_09] maps\mp\gametypes\dom::getflagteam() == "neutral") + { + var_15[var_09] = var_15[var_09] + 15; + var_15[1 - var_09] = var_15[1 - var_09] - 15; + } + } + + var_0F = randomint(100); + if(var_0F < var_15[0]) + { + var_03 = var_10[0]; + } + else + { + var_03 = var_10[1]; + } + } + else if(var_11.size == 3) + { + var_15[0] = 34; + var_15[1] = 33; + var_15[2] = 33; + for(var_09 = 0;var_09 < var_10.size;var_09++) + { + var_16 = var_09 + 1 % 3; + var_17 = var_09 + 2 % 3; + if(var_11[var_09] < var_11[var_16] && var_11[var_09] < var_11[var_17]) + { + var_15[var_09] = var_15[var_09] + 36; + var_15[var_16] = var_15[var_16] - 18; + var_15[var_17] = var_15[var_17] - 18; + } + + if(var_12[var_09] < 640) + { + var_15[var_09] = var_15[var_09] + 15; + var_15[var_16] = var_15[var_16] - 7; + var_15[var_17] = var_15[var_17] - 8; + } + + if(var_10[var_09] maps\mp\gametypes\dom::getflagteam() == "neutral") + { + var_15[var_09] = var_15[var_09] + 15; + var_15[var_16] = var_15[var_16] - 7; + var_15[var_17] = var_15[var_17] - 8; + } + } + + var_0F = randomint(100); + if(var_0F < var_15[0]) + { + var_03 = var_10[0]; + } + else if(var_0F < var_15[0] + var_15[1]) + { + var_03 = var_10[1]; + } + else + { + var_03 = var_10[2]; + } + } + } + } + else + { + if(var_05.size > 1) + { + var_18 = common_scripts\utility::get_array_of_closest(self.origin,var_05); + } + else + { + var_18 = var_06; + } + + foreach(var_1A in var_18) + { + if(bot_should_defend_flag(var_1A,var_05.size)) + { + var_03 = var_1A; + break; + } + } + + if(!isdefined(var_03)) + { + if(self.strategy_level == 0) + { + var_03 = var_05[0]; + } + else if(var_18.size == 2) + { + var_1C = get_other_flag(var_18[0],var_18[1]); + var_1D = common_scripts\utility::get_array_of_closest(var_1C.origin,var_18); + var_0F = randomint(100); + if(var_0F < 70) + { + var_03 = var_1D[0]; + } + else + { + var_03 = var_1D[1]; + } + } + else + { + var_03 = var_18[0]; + } + } + } + + if(var_0B) + { + capture_flag(var_03); + return; + } + + defend_flag(var_03); +} + +//Function Number: 20 +min_num_bots_assaulting_first_flag() +{ + var_00 = maps\mp\bots\_bots_util::bot_get_max_players_on_team(self.team); + return ceil(var_00 / 3); +} + +//Function Number: 21 +bot_allowed_to_3_cap() +{ + if(self.strategy_level == 0) + { + return 1; + } + + var_00 = get_override_flag_targets(); + if(var_00.size == 3) + { + return 1; + } + + var_01 = maps\mp\gametypes\_gamescore::_getteamscore(common_scripts\utility::get_enemy_team(self.team)); + var_02 = maps\mp\gametypes\_gamescore::_getteamscore(self.team); + var_03 = 200 - var_01; + var_04 = 200 - var_02; + var_05 = var_04 * 0.5 > var_03; + return var_05; +} + +//Function Number: 22 +bot_should_defend(param_00) +{ + if(randomfloat(1) < param_00) + { + return 1; + } + + var_01 = level.bot_personality_type[self.personality]; + if(var_01 == "stationary") + { + return 1; + } + else if(var_01 == "active") + { + return 0; + } +} + +//Function Number: 23 +capture_flag(param_00,param_01,param_02) +{ + self.current_flag = param_00; + if(bot_dom_debug_should_protect_all()) + { + var_03["override_goal_type"] = param_01; + var_03["entrance_points_index"] = get_flag_label(param_00); + maps\mp\bots\_bots_strategy::bot_protect_point(param_00.origin,get_flag_protect_radius(),var_03); + } + else + { + param_00["override_goal_type"] = param_02; + var_03["entrance_points_index"] = get_flag_label(param_00); + maps\mp\bots\_bots_strategy::bot_capture_zone(param_00.origin,param_00.nodes,param_00,var_03); + } + + if(!isdefined(param_02) || !param_02) + { + thread monitor_flag_status(param_00); + } +} + +//Function Number: 24 +defend_flag(param_00) +{ + self.current_flag = param_00; + if(bot_dom_debug_should_capture_all()) + { + var_01["entrance_points_index"] = get_flag_label(param_00); + maps\mp\bots\_bots_strategy::bot_capture_zone(param_00.origin,param_00.nodes,param_00,var_01); + } + else + { + param_00["entrance_points_index"] = get_flag_label(var_01); + var_01["nearest_node_to_center"] = param_00.nearest_node; + maps\mp\bots\_bots_strategy::bot_protect_point(param_00.origin,get_flag_protect_radius(),var_01); + } + + thread monitor_flag_status(param_00); +} + +//Function Number: 25 +get_flag_capture_radius() +{ + if(!isdefined(level.capture_radius)) + { + level.capture_radius = 158; + } + + return level.capture_radius; +} + +//Function Number: 26 +get_flag_protect_radius() +{ + if(!isdefined(level.protect_radius)) + { + var_00 = self botgetworldsize(); + var_01 = var_00[0] + var_00[1] / 2; + level.protect_radius = min(1000,var_01 / 3.5); + } + + return level.protect_radius; +} + +//Function Number: 27 +bot_dom_leader_dialog(param_00,param_01) +{ + if(issubstr(param_00,"losing") && param_00 != "losing_score" && param_00 != "losing_time") + { + var_02 = getsubstr(param_00,param_00.size - 2); + var_03 = get_specific_flag_by_label(var_02); + if(bot_allow_to_capture_flag(var_03)) + { + self botmemoryevent("known_enemy",undefined,var_03.origin); + if(!isdefined(self.last_losing_flag_react) || gettime() - self.last_losing_flag_react > 10000) + { + if(maps\mp\bots\_bots_util::bot_is_protecting()) + { + var_04 = distancesquared(self.origin,var_03.origin) < 490000; + var_05 = bot_is_protecting_flag(var_03); + if(var_04 || var_05) + { + capture_flag(var_03); + self.last_losing_flag_react = gettime(); + } + } + } + } + } + else if(issubstr(param_00,"secured")) + { + var_02 = getsubstr(param_00,param_00.size - 2); + var_06 = get_specific_flag_by_label(var_02); + var_06.last_time_secured[self.team] = gettime(); + } + + maps\mp\bots\_bots_util::bot_leader_dialog(param_00,param_01); +} + +//Function Number: 28 +bot_allow_to_capture_flag(param_00) +{ + var_01 = get_override_flag_targets(); + if(var_01.size == 0) + { + return 1; + } + + if(common_scripts\utility::array_contains(var_01,param_00)) + { + return 1; + } + + return 0; +} + +//Function Number: 29 +monitor_flag_status(param_00) +{ + self notify("monitor_flag_status"); + self endon("monitor_flag_status"); + self endon("death"); + self endon("disconnect"); + level endon("game_ended"); + var_01 = get_num_ally_flags(self.team); + var_02 = get_flag_capture_radius() * get_flag_capture_radius(); + var_03 = get_flag_capture_radius() * 3 * get_flag_capture_radius() * 3; + var_04 = 1; + while(var_04) + { + var_05 = 0; + var_06 = param_00 maps\mp\gametypes\dom::getflagteam(); + var_07 = get_num_ally_flags(self.team); + var_08 = get_enemy_flags(self.team); + if(maps\mp\bots\_bots_util::bot_is_capturing()) + { + if(var_06 == self.team && param_00.useobj.claimteam == "none") + { + if(!bot_dom_debug_should_capture_all()) + { + var_05 = 1; + } + } + + if(var_07 == 2 && var_06 != self.team && !bot_allowed_to_3_cap()) + { + if(distancesquared(self.origin,param_00.origin) > var_02) + { + var_05 = 1; + } + } + + foreach(var_0A in var_08) + { + if(var_0A != param_00 && bot_allow_to_capture_flag(var_0A)) + { + if(distancesquared(self.origin,var_0A.origin) < var_03) + { + var_05 = 1; + } + } + } + + if(self istouching(param_00) && param_00.useobj.userate <= 0) + { + if(self bothasscriptgoal()) + { + var_0C = self botgetscriptgoal(); + var_0D = self botgetscriptgoalradius(); + if(distancesquared(self.origin,var_0C) < squared(var_0D)) + { + var_0E = self getnearestnode(); + if(isdefined(var_0E)) + { + var_0F = undefined; + foreach(var_11 in param_00.nodes) + { + if(!nodesvisible(var_11,var_0E,1)) + { + var_0F = var_11.origin; + break; + } + } + + if(isdefined(var_0F)) + { + self.defense_investigate_specific_point = var_0F; + self notify("defend_force_node_recalculation"); + } + } + } + } + } + } + + if(maps\mp\bots\_bots_util::bot_is_protecting()) + { + if(var_06 != self.team) + { + if(!bot_dom_debug_should_protect_all()) + { + var_05 = 1; + } + } + else if(var_07 == 1 && var_01 > 1) + { + var_05 = 1; + } + } + + var_01 = var_07; + if(var_05) + { + self.force_new_goal = 1; + var_04 = 0; + self notify("needs_new_flag_goal"); + continue; + } + + var_13 = level common_scripts\utility::waittill_notify_or_timeout_return("flag_changed_ownership",1 + randomfloatrange(0,2)); + if(!isdefined(var_13) && var_13 == "timeout") + { + var_14 = max(3 - self.strategy_level * 1 + randomfloatrange(-0.5,0.5),0); + wait(var_14); + } + } +} + +//Function Number: 30 +bot_dom_get_node_chance(param_00) +{ + if(param_00 == self.node_closest_to_defend_center) + { + return 1; + } + + if(!isdefined(self.current_flag)) + { + return 1; + } + + var_01 = 0; + var_02 = get_flag_label(self.current_flag); + var_03 = get_ally_flags(self.team); + foreach(var_05 in var_03) + { + if(var_05 != self.current_flag) + { + var_01 = param_00 maps\mp\bots\_bots_util::node_is_on_path_from_labels(var_02,get_flag_label(var_05)); + if(var_01) + { + var_06 = get_other_flag(self.current_flag,var_05); + var_07 = var_06 maps\mp\gametypes\dom::getflagteam(); + if(var_07 != self.team) + { + if(param_00 maps\mp\bots\_bots_util::node_is_on_path_from_labels(var_02,get_flag_label(var_06))) + { + var_01 = 0; + } + } + } + } + } + + if(var_01) + { + return 0.2; + } + + return 1; +} + +//Function Number: 31 +get_flag_label(param_00) +{ + var_01 = ""; + if(isdefined(param_00.teleport_zone)) + { + var_01 = var_01 + param_00.teleport_zone + "_"; + } + + var_01 = var_01 + "flag" + param_00.script_label; + return var_01; +} + +//Function Number: 32 +get_other_flag(param_00,param_01) +{ + for(var_02 = 0;var_02 < level.flags.size;var_02++) + { + if(level.flags[var_02] != param_00 && level.flags[var_02] != param_01) + { + return level.flags[var_02]; + } + } +} + +//Function Number: 33 +get_specific_flag_by_letter(param_00) +{ + var_01 = "_" + tolower(param_00); + get_specific_flag_by_label(var_01); +} + +//Function Number: 34 +get_specific_flag_by_label(param_00) +{ + for(var_01 = 0;var_01 < level.flags.size;var_01++) + { + if(level.flags[var_01].script_label == param_00) + { + return level.flags[var_01]; + } + } +} + +//Function Number: 35 +get_closest_flag(param_00) +{ + var_01 = undefined; + var_02 = undefined; + foreach(var_04 in level.flags) + { + var_05 = distancesquared(var_04.origin,param_00); + if(!isdefined(var_02) || var_05 < var_02) + { + var_01 = var_04; + var_02 = var_05; + } + } + + return var_01; +} + +//Function Number: 36 +get_num_allies_capturing_flag(param_00,param_01) +{ + var_02 = 0; + var_03 = get_flag_capture_radius(); + foreach(var_05 in level.participants) + { + if(!isdefined(var_05.team)) + { + continue; + } + + if(var_05.team == self.team && var_05 != self && maps\mp\_utility::isteamparticipant(var_05)) + { + if(isai(var_05)) + { + if(var_05 bot_is_capturing_flag(param_00)) + { + var_02++; + } + + continue; + } + + if(!isdefined(param_01) || !param_01) + { + if(var_05 istouching(param_00)) + { + var_02++; + } + } + } + } + + return var_02; +} + +//Function Number: 37 +bot_is_capturing_flag(param_00) +{ + if(!maps\mp\bots\_bots_util::bot_is_capturing()) + { + return 0; + } + + return bot_target_is_flag(param_00); +} + +//Function Number: 38 +bot_is_protecting_flag(param_00) +{ + if(!maps\mp\bots\_bots_util::bot_is_protecting()) + { + return 0; + } + + return bot_target_is_flag(param_00); +} + +//Function Number: 39 +bot_target_is_flag(param_00) +{ + return self.current_flag == param_00; +} + +//Function Number: 40 +get_num_ally_flags(param_00) +{ + var_01 = 0; + for(var_02 = 0;var_02 < level.flags.size;var_02++) + { + var_03 = level.flags[var_02] maps\mp\gametypes\dom::getflagteam(); + if(var_03 == param_00) + { + var_01++; + } + } + + return var_01; +} + +//Function Number: 41 +get_enemy_flags(param_00) +{ + var_01 = []; + for(var_02 = 0;var_02 < level.flags.size;var_02++) + { + var_03 = level.flags[var_02] maps\mp\gametypes\dom::getflagteam(); + if(var_03 == common_scripts\utility::get_enemy_team(param_00)) + { + var_01 = common_scripts\utility::array_add(var_01,level.flags[var_02]); + } + } + + return var_01; +} + +//Function Number: 42 +get_ally_flags(param_00) +{ + var_01 = []; + for(var_02 = 0;var_02 < level.flags.size;var_02++) + { + var_03 = level.flags[var_02] maps\mp\gametypes\dom::getflagteam(); + if(var_03 == param_00) + { + var_01 = common_scripts\utility::array_add(var_01,level.flags[var_02]); + } + } + + return var_01; +} + +//Function Number: 43 +bot_should_defend_flag(param_00,param_01) +{ + var_02 = get_max_num_defenders_wanted_per_flag(param_01); + var_03 = get_players_defending_flag(param_00); + return var_03.size < var_02; +} + +//Function Number: 44 +get_max_num_defenders_wanted_per_flag(param_00) +{ + var_01 = maps\mp\bots\_bots_util::bot_get_max_players_on_team(self.team); + if(param_00 == 1) + { + return ceil(var_01 / 6); + } + + return ceil(var_01 / 3); +} + +//Function Number: 45 +get_players_defending_flag(param_00) +{ + var_01 = get_flag_protect_radius(); + var_02 = []; + foreach(var_04 in level.participants) + { + if(!isdefined(var_04.team)) + { + continue; + } + + if(var_04.team == self.team && var_04 != self && maps\mp\_utility::isteamparticipant(var_04)) + { + if(isai(var_04)) + { + if(var_04 bot_is_protecting_flag(param_00)) + { + var_02 = common_scripts\utility::array_add(var_02,var_04); + } + + continue; + } + + var_05 = gettime() - param_00.last_time_secured[self.team]; + if(var_05 < 10000) + { + continue; + } + + if(distancesquared(param_00.origin,var_04.origin) < var_01 * var_01) + { + var_02 = common_scripts\utility::array_add(var_02,var_04); + } + } + } + + return var_02; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/bots/_bots_gametype_gun.gsc b/AW/PC/maps/mp/bots/_bots_gametype_gun.gsc new file mode 100644 index 0000000..faf52bb --- /dev/null +++ b/AW/PC/maps/mp/bots/_bots_gametype_gun.gsc @@ -0,0 +1,43 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\bots\_bots_gametype_gun.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 4 + * Decompile Time: 80 ms + * Timestamp: 4/22/2024 2:08:40 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setup_callbacks(); + setup_bot_gun(); +} + +//Function Number: 2 +setup_callbacks() +{ + level.bot_funcs["gametype_think"] = ::bot_gun_think; +} + +//Function Number: 3 +setup_bot_gun() +{ +} + +//Function Number: 4 +bot_gun_think() +{ + self notify("bot_gun_think"); + self endon("bot_gun_think"); + self endon("death"); + self endon("disconnect"); + level endon("game_ended"); + self endon("owner_disconnect"); + for(;;) + { + self [[ self.personality_update_function ]](); + wait(0.05); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/bots/_bots_gametype_horde.gsc b/AW/PC/maps/mp/bots/_bots_gametype_horde.gsc new file mode 100644 index 0000000..494e639 --- /dev/null +++ b/AW/PC/maps/mp/bots/_bots_gametype_horde.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\bots\_bots_gametype_horde.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:08:40 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/bots/_bots_gametype_hp.gsc b/AW/PC/maps/mp/bots/_bots_gametype_hp.gsc new file mode 100644 index 0000000..f743bc9 --- /dev/null +++ b/AW/PC/maps/mp/bots/_bots_gametype_hp.gsc @@ -0,0 +1,316 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\bots\_bots_gametype_hp.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 14 + * Decompile Time: 238 ms + * Timestamp: 4/22/2024 2:08:41 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setup_callbacks(); + setup_bot_hp(); +} + +//Function Number: 2 +setup_callbacks() +{ + level.bot_funcs["gametype_think"] = ::bot_hp_think; + level.bot_funcs["should_start_cautious_approach"] = ::should_start_cautious_approach_hp; +} + +//Function Number: 3 +setup_bot_hp() +{ + maps\mp\bots\_bots_util::bot_waittill_bots_enabled(); + for(var_00 = 0;var_00 < level.all_hp_zones.size;var_00++) + { + var_01 = level.all_hp_zones[var_00]; + var_01.script_label = "zone_" + var_00; + var_01 thread monitor_zone_control(); + var_02 = 0; + if(isdefined(var_01.trig.trigger_off) && var_01.trig.trigger_off) + { + var_01.trig common_scripts\utility::trigger_on(); + var_02 = 1; + } + + var_01.nodes = getnodesintrigger(var_01.trig); + maps\mp\bots\_bots_gametype_common::bot_add_missing_nodes(var_01,var_01.trig); + if(var_02) + { + var_01.trig common_scripts\utility::trigger_off(); + } + } + + bot_cache_entrances_to_hardpoints(1); + level.bot_hp_allow_predictive_capping = 1; + level.bot_gametype_precaching_done = 1; + thread bot_cache_entrances_to_hardpoints(0); +} + +//Function Number: 4 +bot_cache_entrances_to_hardpoints(param_00) +{ + var_01 = []; + var_02 = []; + var_03 = 0; + foreach(var_05 in level.all_hp_zones) + { + if((param_00 && var_05 != level.zone) || !param_00 && var_05 == level.zone) + { + continue; + } + + var_06 = 0; + var_05.entrance_indices = []; + var_05.zone_bounds = calculate_zone_node_extents(var_05); + var_05.center_node = zone_get_node_nearest_2d_bounds(var_05,0,0); + var_07 = [(0,0,0),(1,1,0),(1,-1,0),(-1,1,0),(-1,-1,0)]; + foreach(var_09 in var_07) + { + var_0A = zone_get_node_nearest_2d_bounds(var_05,var_09[0],var_09[1]); + var_01[var_03] = var_0A.origin; + var_0B = var_05.script_label + "_" + var_06; + var_02[var_03] = var_0B; + var_05.entrance_indices[var_05.entrance_indices.size] = var_0B; + var_03++; + var_06++; + } + } + + maps\mp\bots\_bots_gametype_common::bot_cache_entrances(var_01,var_02,1); +} + +//Function Number: 5 +calculate_zone_node_extents(param_00) +{ + var_01 = spawnstruct(); + var_01.min_pt = (999999,999999,999999); + var_01.max_pt = (-999999,-999999,-999999); + foreach(var_03 in param_00.nodes) + { + var_01.min_pt = (min(var_03.origin[0],var_01.min_pt[0]),min(var_03.origin[1],var_01.min_pt[1]),min(var_03.origin[2],var_01.min_pt[2])); + var_01.max_pt = (max(var_03.origin[0],var_01.max_pt[0]),max(var_03.origin[1],var_01.max_pt[1]),max(var_03.origin[2],var_01.max_pt[2])); + } + + var_01.center = (var_01.min_pt[0] + var_01.max_pt[0] / 2,var_01.min_pt[1] + var_01.max_pt[1] / 2,var_01.min_pt[2] + var_01.max_pt[2] / 2); + var_01.half_size = (var_01.max_pt[0] - var_01.center[0],var_01.max_pt[1] - var_01.center[1],var_01.max_pt[2] - var_01.center[2]); + var_01.radius = max(var_01.half_size[0],var_01.half_size[1]); + return var_01; +} + +//Function Number: 6 +zone_get_node_nearest_2d_bounds(param_00,param_01,param_02) +{ + var_03 = (param_00.zone_bounds.center[0] + param_01 * param_00.zone_bounds.half_size[0],param_00.zone_bounds.center[1] + param_02 * param_00.zone_bounds.half_size[1],0); + var_04 = undefined; + var_05 = 9999999; + foreach(var_07 in param_00.nodes) + { + var_08 = distance2dsquared(var_07.origin,var_03); + if(var_08 < var_05) + { + var_05 = var_08; + var_04 = var_07; + } + } + + return var_04; +} + +//Function Number: 7 +monitor_zone_control() +{ + self notify("monitor_zone_control"); + self endon("monitor_zone_control"); + self endon("death"); + level endon("game_ended"); + for(;;) + { + var_00 = self.gameobject maps\mp\gametypes\_gameobjects::getownerteam(); + if(var_00 != "neutral" && var_00 != "none") + { + var_01 = getzonenearest(self.origin); + if(isdefined(var_01)) + { + botzonesetteam(var_01,var_00); + } + } + + wait(1); + } +} + +//Function Number: 8 +bot_hp_think() +{ + self notify("bot_hp_think"); + self endon("bot_hp_think"); + self endon("death"); + self endon("disconnect"); + level endon("game_ended"); + while(!isdefined(level.bot_gametype_precaching_done)) + { + wait(0.05); + } + + self botsetflag("separation",0); + self botsetflag("grenade_objectives",1); + var_00 = undefined; + var_01 = level.zone; + for(;;) + { + wait(0.05); + if(self.health <= 0) + { + continue; + } + + if(var_01 != level.zone) + { + var_00 = undefined; + var_01 = level.zone; + } + + if(!isdefined(var_00) && level.randomzonespawn == 0 && level.bot_hp_allow_predictive_capping) + { + var_02 = level.zonemovetime - gettime(); + if(var_02 > 0 && var_02 < 10000) + { + var_03 = level.zone.gameobject maps\mp\gametypes\_gameobjects::getownerteam() == self.team; + if(!var_03) + { + var_04 = level.zone.zone_bounds.radius * 6; + if(var_02 < 5000) + { + var_04 = level.zone.zone_bounds.radius * 3; + } + + var_05 = distance(level.zone.zone_bounds.center,self.origin); + if(var_05 > var_04) + { + var_00 = bot_should_cap_next_zone(); + } + } + else + { + var_06 = maps\mp\bots\_bots_util::bot_get_max_players_on_team(self.team); + var_07 = ceil(var_06 / 2); + if(var_02 < 5000) + { + var_07 = ceil(var_06 / 3); + } + + var_08 = bot_get_num_teammates_capturing_zone(level.zone); + if(var_08 + 1 > var_07) + { + var_00 = bot_should_cap_next_zone(); + } + } + } + } + + var_09 = level.zone; + if(isdefined(var_00) && var_00) + { + var_09 = level.zones[level.prevzoneindex + 1 % level.zones.size]; + } + + if(!bot_is_capturing_zone(var_09)) + { + bot_capture_hp_zone(var_09); + } + } +} + +//Function Number: 9 +bot_should_cap_next_zone() +{ + if(level.randomzonespawn) + { + return 0; + } + + var_00 = self botgetdifficultysetting("strategyLevel"); + var_01 = 0; + if(var_00 == 1) + { + var_01 = 0.1; + } + else if(var_00 == 2) + { + var_01 = 0.5; + } + else if(var_00 == 3) + { + var_01 = 0.8; + } + + return randomfloat(1) < var_01; +} + +//Function Number: 10 +bot_get_num_teammates_capturing_zone(param_00) +{ + return bot_get_teammates_capturing_zone(param_00).size; +} + +//Function Number: 11 +bot_get_teammates_capturing_zone(param_00) +{ + var_01 = []; + foreach(var_03 in level.participants) + { + if(var_03 != self && maps\mp\_utility::isteamparticipant(var_03) && isalliedsentient(self,var_03)) + { + if(var_03 istouching(level.zone.trig)) + { + if(!isai(var_03) || var_03 bot_is_capturing_zone(param_00)) + { + var_01[var_01.size] = var_03; + } + } + } + } + + return var_01; +} + +//Function Number: 12 +bot_is_capturing_zone(param_00) +{ + if(!maps\mp\bots\_bots_util::bot_is_capturing()) + { + return 0; + } + + return self.current_zone == param_00; +} + +//Function Number: 13 +bot_capture_hp_zone(param_00) +{ + self.current_zone = param_00; + var_01["entrance_points_index"] = param_00.entrance_indices; + var_01["override_origin_node"] = param_00.center_node; + maps\mp\bots\_bots_strategy::bot_capture_zone(param_00.origin,param_00.nodes,param_00.trig,var_01); +} + +//Function Number: 14 +should_start_cautious_approach_hp(param_00) +{ + if(param_00) + { + var_01 = level.zone.gameobject maps\mp\gametypes\_gameobjects::getownerteam(); + if(var_01 == "neutral" || var_01 == self.team) + { + return 0; + } + } + + return maps\mp\bots\_bots_strategy::should_start_cautious_approach_default(param_00); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/bots/_bots_gametype_infect.gsc b/AW/PC/maps/mp/bots/_bots_gametype_infect.gsc new file mode 100644 index 0000000..3d4990f --- /dev/null +++ b/AW/PC/maps/mp/bots/_bots_gametype_infect.gsc @@ -0,0 +1,339 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\bots\_bots_gametype_infect.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 10 + * Decompile Time: 169 ms + * Timestamp: 4/22/2024 2:08:42 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setup_callbacks(); + setup_bot_infect(); +} + +//Function Number: 2 +setup_callbacks() +{ + level.bot_funcs["gametype_think"] = ::bot_infect_think; + level.bot_funcs["should_pickup_weapons"] = ::bot_should_pickup_weapons_infect; +} + +//Function Number: 3 +setup_bot_infect() +{ + level.bots_gametype_handles_class_choice = 1; + level.bots_ignore_team_balance = 1; + level.bots_gametype_handles_team_choice = 1; + level.infected_knife_name = "exoknife_mp"; + thread bot_infect_ai_director_update(); +} + +//Function Number: 4 +bot_should_pickup_weapons_infect() +{ + if(level.infect_chosefirstinfected && self.team == "axis") + { + return 0; + } + + return maps\mp\bots\_bots::bot_should_pickup_weapons(); +} + +//Function Number: 5 +bot_infect_think() +{ + self notify("bot_infect_think"); + self endon("bot_infect_think"); + self endon("death"); + self endon("disconnect"); + level endon("game_ended"); + childthread bot_infect_retrieve_knife(); + for(;;) + { + if(level.infect_chosefirstinfected) + { + if(self.team == "axis" && self botgetpersonality() != "run_and_gun") + { + maps\mp\bots\_bots_util::bot_set_personality("run_and_gun"); + } + } + + if(self.bot_team != self.team) + { + self.bot_team = self.team; + } + + if(self.team == "axis") + { + var_00 = maps\mp\bots\_bots_strategy::bot_melee_tactical_insertion_check(); + if(!isdefined(var_00) || var_00) + { + self botclearscriptgoal(); + } + } + + self [[ self.personality_update_function ]](); + wait(0.05); + } +} + +//Function Number: 6 +bot_infect_ai_director_update() +{ + level notify("bot_infect_ai_director_update"); + level endon("bot_infect_ai_director_update"); + level endon("game_ended"); + for(;;) + { + var_00 = []; + var_01 = []; + foreach(var_03 in level.players) + { + if(!isdefined(var_03.initial_spawn_time) && var_03.health > 0 && isdefined(var_03.team) && var_03.team == "allies" || var_03.team == "axis") + { + var_03.initial_spawn_time = gettime(); + } + + if(isdefined(var_03.initial_spawn_time) && gettime() - var_03.initial_spawn_time > 5000) + { + if(!isdefined(var_03.team)) + { + continue; + } + + if(var_03.team == "axis") + { + var_00[var_00.size] = var_03; + continue; + } + + if(var_03.team == "allies") + { + var_01[var_01.size] = var_03; + } + } + } + + if(var_00.size > 0 && var_01.size > 0) + { + var_05 = 1; + foreach(var_07 in var_01) + { + if(isbot(var_07)) + { + var_05 = 0; + } + } + + if(var_05) + { + foreach(var_03 in var_01) + { + if(!isdefined(var_03.last_infected_hiding_time)) + { + var_03.last_infected_hiding_time = gettime(); + var_03.last_infected_hiding_loc = var_03.origin; + var_03.time_spent_hiding = 0; + } + + if(gettime() >= var_03.last_infected_hiding_time + 5000) + { + var_03.last_infected_hiding_time = gettime(); + var_0A = distancesquared(var_03.origin,var_03.last_infected_hiding_loc); + var_03.last_infected_hiding_loc = var_03.origin; + if(var_0A < 90000) + { + var_03.time_spent_hiding = var_03.time_spent_hiding + 5000; + if(var_03.time_spent_hiding >= 20000) + { + var_0B = common_scripts\utility::get_array_of_closest(var_03.origin,var_00); + foreach(var_0D in var_0B) + { + if(isbot(var_0D)) + { + var_0E = var_0D botgetscriptgoaltype(); + if(var_0E != "tactical" && var_0E != "critical") + { + var_0D thread hunt_human(var_03); + break; + } + } + } + } + } + else + { + var_03.time_spent_hiding = 0; + var_03.last_infected_hiding_loc = var_03.origin; + } + } + } + } + } + + wait(1); + } +} + +//Function Number: 7 +hunt_human(param_00) +{ + self endon("disconnect"); + self endon("death"); + self botsetscriptgoal(param_00.origin,0,"critical"); + maps\mp\bots\_bots_util::bot_waittill_goal_or_fail(); + self botclearscriptgoal(); +} + +//Function Number: 8 +bot_infect_retrieve_knife() +{ + if(self.team == "axis") + { + self.can_melee_enemy_time = 0; + self.melee_enemy = undefined; + self.melee_enemy_node = undefined; + self.melee_enemy_new_node_time = 0; + self.melee_self_node = undefined; + self.melee_self_new_node_time = 0; + var_00 = self botgetdifficultysetting("throwKnifeChance"); + if(var_00 < 0.25) + { + self botsetdifficultysetting("throwKnifeChance",0.25); + } + + self botsetdifficultysetting("allowGrenades",1); + for(;;) + { + if(self hasweapon(level.infected_knife_name)) + { + if(maps\mp\_utility::isgameparticipant(self.enemy)) + { + var_01 = gettime(); + if(!isdefined(self.melee_enemy) || self.melee_enemy != self.enemy) + { + self.melee_enemy = self.enemy; + self.melee_enemy_node = self.enemy getnearestnode(); + self.melee_enemy_new_node_time = var_01; + } + else + { + var_02 = squared(self botgetdifficultysetting("meleeDist")); + if(distancesquared(self.enemy.origin,self.origin) <= var_02) + { + self.can_melee_enemy_time = var_01; + } + + var_03 = self.enemy getnearestnode(); + var_04 = self getnearestnode(); + if(!isdefined(self.melee_enemy_node) || self.melee_enemy_node != var_03) + { + self.melee_enemy_new_node_time = var_01; + self.melee_enemy_node = var_03; + } + + if(!isdefined(self.melee_self_node) || self.melee_self_node != var_04) + { + self.melee_self_new_node_time = var_01; + self.melee_self_node = var_04; + } + else if(distancesquared(self.origin,self.melee_self_node.origin) > 9216) + { + self.melee_self_at_same_node_time = var_01; + } + + if(self.can_melee_enemy_time + 3000 < var_01) + { + if(self.melee_self_new_node_time + 3000 < var_01) + { + if(self.melee_enemy_new_node_time + 3000 < var_01) + { + if(bot_infect_angle_too_steep_for_knife_throw(self.origin,self.enemy.origin)) + { + maps\mp\bots\_bots_util::bot_queued_process("find_node_can_see_ent",::bot_infect_find_node_can_see_ent,self.enemy,self.melee_self_node); + } + + if(!self getammocount(level.infected_knife_name)) + { + self setweaponammoclip(level.infected_knife_name,1); + } + + maps\mp\_utility::waitfortimeornotify(30,"enemy"); + self botclearscriptgoal(); + } + } + } + } + } + } + + wait(0.25); + } + } +} + +//Function Number: 9 +bot_infect_angle_too_steep_for_knife_throw(param_00,param_01) +{ + if(abs(param_00[2] - param_01[2]) > 56 && distance2dsquared(param_00,param_01) < 2304) + { + return 1; + } + + return 0; +} + +//Function Number: 10 +bot_infect_find_node_can_see_ent(param_00,param_01) +{ + if(!isdefined(param_00) || !isdefined(param_01)) + { + return; + } + + var_02 = 0; + if(issubstr(param_01.type,"Begin")) + { + var_02 = 1; + } + + var_03 = getlinkednodes(param_01); + if(isdefined(var_03) && var_03.size) + { + var_04 = common_scripts\utility::array_randomize(var_03); + foreach(var_06 in var_04) + { + if(var_02 && issubstr(var_06.type,"End")) + { + continue; + } + + if(bot_infect_angle_too_steep_for_knife_throw(var_06.origin,param_00.origin)) + { + continue; + } + + var_07 = self geteye() - self.origin; + var_08 = var_06.origin + var_07; + var_09 = param_00.origin; + if(isplayer(param_00)) + { + var_09 = param_00 maps\mp\_utility::getstancecenter(); + } + + if(sighttracepassed(var_08,var_09,0,self,param_00)) + { + var_0A = vectortoyaw(var_09 - var_08); + self botsetscriptgoalnode(var_06,"critical",var_0A); + maps\mp\bots\_bots_util::bot_waittill_goal_or_fail(3); + return; + } + + wait(0.05); + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/bots/_bots_gametype_sd.gsc b/AW/PC/maps/mp/bots/_bots_gametype_sd.gsc new file mode 100644 index 0000000..3ce1d67 --- /dev/null +++ b/AW/PC/maps/mp/bots/_bots_gametype_sd.gsc @@ -0,0 +1,1508 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\bots\_bots_gametype_sd.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 44 + * Decompile Time: 698 ms + * Timestamp: 4/22/2024 2:08:44 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setup_callbacks(); + bot_sd_start(); +} + +//Function Number: 2 +setup_callbacks() +{ + level.bot_funcs["crate_can_use"] = ::crate_can_use; + level.bot_funcs["gametype_think"] = ::bot_sd_think; + level.bot_funcs["should_start_cautious_approach"] = ::should_start_cautious_approach_sd; + level.bot_funcs["know_enemies_on_start"] = undefined; + level.bot_funcs["notify_enemy_bots_bomb_used"] = ::notify_enemy_team_bomb_used; +} + +//Function Number: 3 +bot_sd_start() +{ + setup_bot_sd(); +} + +//Function Number: 4 +crate_can_use(param_00) +{ + if(isagent(self) && !isdefined(param_00.boxtype)) + { + return 0; + } + + if(!maps\mp\_utility::isteamparticipant(self)) + { + return 1; + } + + if(!isdefined(self.role)) + { + return 0; + } + + switch(self.role) + { + case "investigate_someone_using_bomb": + case "bomb_defuser": + case "atk_bomber": + return 0; + } + + return 1; +} + +//Function Number: 5 +setup_bot_sd() +{ + level.bots_disable_team_switching = 1; + level.initial_pickup_wait_time = 3000; + maps\mp\bots\_bots_gametype_common::bot_setup_bombzone_bottargets(); + maps\mp\bots\_bots_util::bot_waittill_bots_enabled(1); + level.bot_sd_override_zone_targets = []; + level.bot_sd_override_zone_targets["axis"] = []; + level.bot_sd_override_zone_targets["allies"] = []; + level.bot_default_sd_role_behavior["atk_bomber"] = ::atk_bomber_update; + level.bot_default_sd_role_behavior["clear_target_zone"] = ::clear_target_zone_update; + level.bot_default_sd_role_behavior["defend_planted_bomb"] = ::defend_planted_bomb_update; + level.bot_default_sd_role_behavior["bomb_defuser"] = ::bomb_defuser_update; + level.bot_default_sd_role_behavior["investigate_someone_using_bomb"] = ::investigate_someone_using_bomb_update; + level.bot_default_sd_role_behavior["camp_bomb"] = ::camp_bomb_update; + level.bot_default_sd_role_behavior["defender"] = ::defender_update; + level.bot_default_sd_role_behavior["backstabber"] = ::backstabber_update; + level.bot_default_sd_role_behavior["random_killer"] = ::random_killer_update; + var_00 = 0; + foreach(var_02 in level.bombzones) + { + var_03 = getzonenearest(var_02.curorigin); + if(isdefined(var_03)) + { + botzonesetteam(var_03,game["defenders"]); + } + } + + if(!var_00) + { + maps\mp\bots\_bots_gametype_common::bot_cache_entrances_to_bombzones(); + thread bot_sd_ai_director_update(); + level.bot_gametype_precaching_done = 1; + } +} + +//Function Number: 6 +bot_sd_think() +{ + self notify("bot_sd_think"); + self endon("bot_sd_think"); + self endon("death"); + self endon("disconnect"); + level endon("game_ended"); + while(!isdefined(level.bot_gametype_precaching_done)) + { + wait(0.05); + } + + self botsetflag("separation",0); + self botsetflag("grenade_objectives",1); + self botsetflag("use_obj_path_style",1); + var_00 = game["attackers"]; + var_01 = 1; + if(isdefined(level.sdbomb) && isdefined(level.sdbomb.carrier) && level.sdbomb.carrier == self && isdefined(self.role) && self.role == "atk_bomber") + { + var_01 = 0; + } + + if(var_01) + { + self.role = undefined; + } + + self.suspend_sd_role = undefined; + self.has_started_thinking = 0; + self.atk_bomber_no_path_to_bomb_count = 0; + self.scripted_path_style = undefined; + self.defender_set_script_pathstyle = undefined; + self.defuser_bad_path_counter = 0; + if(!isdefined(level.initial_bomb_location) && !level.multibomb) + { + level.initial_bomb_location = level.sdbomb.curorigin; + level.initial_bomb_location_nearest_node = getclosestnodeinsight(level.sdbomb.curorigin); + } + + if(self.team == var_00 && !isdefined(level.can_pickup_bomb_time)) + { + var_02 = 0; + if(!level.multibomb) + { + var_03 = get_living_players_on_team(var_00); + foreach(var_05 in var_03) + { + if(!isai(var_05)) + { + var_02 = 1; + } + } + } + + if(var_02) + { + var_07 = 6000; + level.can_pickup_bomb_time = gettime() + var_07; + badplace_cylinder("bomb",var_07 / 1000,level.sdbomb.curorigin,75,300,var_00); + } + } + + for(;;) + { + wait(randomintrange(1,3) * 0.05); + if(self.health <= 0) + { + continue; + } + + self.has_started_thinking = 1; + if(!isdefined(self.role)) + { + initialize_sd_role(); + } + + if(isdefined(self.suspend_sd_role)) + { + continue; + } + + if(self.team == var_00) + { + if(!level.multibomb && isdefined(level.can_pickup_bomb_time) && gettime() < level.can_pickup_bomb_time && !isdefined(level.sdbomb.carrier)) + { + if(!maps\mp\bots\_bots_util::bot_is_defending_point(level.sdbomb.curorigin)) + { + var_08 = getclosestnodeinsight(level.sdbomb.curorigin); + if(isdefined(var_08)) + { + var_09["nearest_node_to_center"] = var_08; + maps\mp\bots\_bots_strategy::bot_protect_point(level.sdbomb.curorigin,900,var_09); + } + else + { + level.can_pickup_bomb_time = gettime(); + } + } + } + else + { + self [[ level.bot_default_sd_role_behavior[self.role] ]](); + } + + continue; + } + + if(level.bombplanted) + { + if(distancesquared(self.origin,level.sdbombmodel.origin) > squared(level.protect_radius * 2)) + { + if(!isdefined(self.defender_set_script_pathstyle)) + { + self.defender_set_script_pathstyle = 1; + self botsetpathingstyle("scripted"); + } + } + else if(isdefined(self.defender_set_script_pathstyle) && !isdefined(self.scripted_path_style)) + { + self.defender_set_script_pathstyle = undefined; + self botsetpathingstyle(undefined); + } + } + + if(level.bombplanted && isdefined(level.bomb_defuser) && self.role != "bomb_defuser") + { + if(!maps\mp\bots\_bots_util::bot_is_defending_point(level.sdbombmodel.origin)) + { + self botclearscriptgoal(); + maps\mp\bots\_bots_strategy::bot_protect_point(level.sdbombmodel.origin,level.protect_radius); + } + + continue; + } + + self [[ level.bot_default_sd_role_behavior[self.role] ]](); + } +} + +//Function Number: 7 +bomber_disable_movement_for_time(param_00) +{ + self endon("death"); + self endon("disconnect"); + level endon("game_ended"); + self botsetflag("disable_movement",1); + self botsetstance("stand"); + wait(param_00); + self botsetflag("disable_movement",0); + self botsetstance("none"); +} + +//Function Number: 8 +atk_bomber_update() +{ + self endon("new_role"); + if(maps\mp\bots\_bots_util::bot_is_defending()) + { + maps\mp\bots\_bots_strategy::bot_defend_stop(); + } + + if(isdefined(level.sdbomb) && isdefined(level.sdbomb.carrier) && isalive(level.sdbomb.carrier) && level.sdbomb.carrier != self) + { + wait(0.7); + } + + if(!self.isbombcarrier && !level.multibomb) + { + if(isdefined(level.sdbomb)) + { + if(!isdefined(self.last_bomb_location)) + { + self.last_bomb_location = level.sdbomb.curorigin; + } + + if(distancesquared(self.last_bomb_location,level.sdbomb.curorigin) > 4) + { + self botclearscriptgoal(); + self.last_bomb_location = level.sdbomb.curorigin; + } + } + + if(self.atk_bomber_no_path_to_bomb_count >= 2) + { + var_01 = getnodesinradiussorted(level.sdbomb.curorigin,512,0); + var_02 = undefined; + foreach(var_04 in var_01) + { + if(!var_04 nodeisdisconnected()) + { + var_02 = var_04; + break; + } + } + + if(isdefined(var_02)) + { + self botsetscriptgoal(var_02.origin,20,"critical"); + maps\mp\bots\_bots_util::bot_waittill_goal_or_fail(); + if(isdefined(level.sdbomb) && !isdefined(level.sdbomb.carrier)) + { + level.sdbomb maps\mp\gametypes\_gameobjects::setpickedup(self); + } + } + else + { + } + + return; + } + + if(!self bothasscriptgoal()) + { + var_06 = 15; + var_07 = 32; + var_08 = maps\mp\bots\_bots_util::bot_queued_process("BotGetClosestNavigablePoint",::maps\mp\bots\_bots_util::func_bot_get_closest_navigable_point,level.sdbomb.curorigin,var_06 + var_07,self); + if(isdefined(var_08)) + { + var_09 = self botsetscriptgoal(level.sdbomb.curorigin,0,"critical"); + if(var_09) + { + childthread bomber_monitor_no_path(); + return; + } + + return; + } + + var_01 = getnodesinradiussorted(level.sdbomb.curorigin,512,0); + if(var_08.size > 0) + { + self botsetscriptgoal(var_08[0].origin,0,"critical"); + maps\mp\bots\_bots_util::bot_waittill_goal_or_fail(); + } + + if(isdefined(level.sdbomb) && !isdefined(level.sdbomb.carrier)) + { + var_07 = maps\mp\bots\_bots_util::bot_queued_process("BotGetClosestNavigablePoint",::maps\mp\bots\_bots_util::func_bot_get_closest_navigable_point,level.sdbomb.curorigin,var_05 + var_06,self); + if(!isdefined(var_07)) + { + level.sdbomb maps\mp\gametypes\_gameobjects::setpickedup(self); + return; + } + + return; + } + + return; + } + + return; + } + + if(isdefined(self.dont_plant_until_time) && gettime() < self.dont_plant_until_time) + { + return; + } + + if(!isdefined(level.bomb_zone_assaulting)) + { + level.bomb_zone_assaulting = level.bombzones[randomint(level.bombzones.size)]; + } + + var_0A = level.bomb_zone_assaulting; + self.bombzonegoal = var_0A; + if(!isdefined(level.initial_bomb_pickup_time) || gettime() - level.initial_bomb_pickup_time < level.initial_pickup_wait_time) + { + level.initial_bomb_pickup_time = gettime() + level.initial_pickup_wait_time; + thread bomber_disable_movement_for_time(level.initial_pickup_wait_time / 1000); + wait(level.initial_pickup_wait_time / 1000); + } + + self botclearscriptgoal(); + if(level.attack_behavior == "rush") + { + self botsetpathingstyle("scripted"); + var_0B = self botnodescoremultiple(var_0A.bottargets,"node_exposed"); + var_0C = self botgetdifficultysetting("strategyLevel") * 0.45; + var_0D = self botgetdifficultysetting("strategyLevel") + 1 * 0.15; + foreach(var_0E in var_0A.bottargets) + { + if(!common_scripts\utility::array_contains(var_0A,var_0E)) + { + var_0A[var_0A.size] = var_0E; + } + } + + if(randomfloat(1) < var_0B) + { + var_10 = var_0A[0]; + } + else if(randomfloat(1) < var_0D) + { + var_10 = var_0B[1]; + } + else + { + var_10 = common_scripts\utility::random(var_0B); + } + + self botsetscriptgoal(var_10.origin,0,"critical"); + } + + var_11 = maps\mp\bots\_bots_util::bot_waittill_goal_or_fail(); + if(var_11 == "goal") + { + var_12 = get_round_end_time() - gettime(); + var_13 = var_12 - level.planttime * 2 * 1000; + var_14 = gettime() + var_13; + if(var_13 > 0) + { + maps\mp\bots\_bots_util::bot_waittill_out_of_combat_or_time(var_13); + } + + var_15 = gettime() >= var_14; + var_16 = sd_press_use(level.planttime + 2,"bomb_planted",var_15); + self botclearscriptgoal(); + if(var_16) + { + maps\mp\bots\_bots_strategy::bot_enable_tactical_goals(); + bot_set_role("defend_planted_bomb"); + return; + } + + if(var_13 > 5000) + { + self.dont_plant_until_time = gettime() + 5000; + return; + } + + return; + } +} + +//Function Number: 9 +get_round_end_time() +{ + if(level.bombplanted) + { + return level.defuseendtime; + } + + return gettime() + maps\mp\gametypes\_gamelogic::gettimeremaining(); +} + +//Function Number: 10 +bomber_monitor_no_path() +{ + self notify("bomber_monitor_no_path"); + self endon("death"); + self endon("disconnect"); + self endon("goal"); + self endon("bomber_monitor_no_path"); + level.sdbomb endon("pickup_object"); + for(;;) + { + self waittill("no_path"); + self.atk_bomber_no_path_to_bomb_count++; + } +} + +//Function Number: 11 +clear_target_zone_update() +{ + self endon("new_role"); + if(isdefined(level.atk_bomber)) + { + if(level.attack_behavior == "rush") + { + if(!isdefined(self.set_initial_rush_goal)) + { + if(!level.multibomb) + { + var_00["nearest_node_to_center"] = level.initial_bomb_location_nearest_node; + maps\mp\bots\_bots_strategy::bot_protect_point(level.initial_bomb_location,900,var_00); + wait(randomfloatrange(0,4)); + maps\mp\bots\_bots_strategy::bot_defend_stop(); + } + + self.set_initial_rush_goal = 1; + } + + if(self botgetdifficultysetting("strategyLevel") > 0) + { + set_force_sprint(); + } + + if(isai(level.atk_bomber) && isdefined(level.atk_bomber.bombzonegoal)) + { + var_01 = level.atk_bomber.bombzonegoal; + } + else if(isdefined(level.bomb_zone_assaulting)) + { + var_01 = level.bomb_zone_assaulting; + } + else + { + var_01 = find_closest_bombzone_to_player(level.atk_bomber); + } + + if(!maps\mp\bots\_bots_util::bot_is_defending_point(var_01.curorigin)) + { + var_01["min_goal_time"] = 2; + var_01["max_goal_time"] = 4; + var_01["override_origin_node"] = common_scripts\utility::random(var_01.bottargets); + maps\mp\bots\_bots_strategy::bot_protect_point(var_01.curorigin,level.protect_radius,var_01); + return; + } + } + } +} + +//Function Number: 12 +defend_planted_bomb_update() +{ + self endon("new_role"); + if(level.bombplanted) + { + if(level.attack_behavior == "rush") + { + disable_force_sprint(); + } + + if(!maps\mp\bots\_bots_util::bot_is_defending_point(level.sdbombmodel.origin)) + { + var_00["score_flags"] = "strongly_avoid_center"; + maps\mp\bots\_bots_strategy::bot_protect_point(level.sdbombmodel.origin,level.protect_radius,var_00); + } + } +} + +//Function Number: 13 +bomb_defuser_update() +{ + self endon("new_role"); + if(level.bombdefused) + { + return; + } + + var_00 = find_ticking_bomb(); + if(!isdefined(var_00)) + { + return; + } + + var_01 = common_scripts\utility::get_array_of_closest(level.sdbombmodel.origin,var_00.bottargets); + var_02 = (level.sdbombmodel.origin[0],level.sdbombmodel.origin[1],var_01[0].origin[2]); + if(self.defuser_bad_path_counter <= 1) + { + var_03 = cautious_approach_till_close(var_02,undefined); + } + else + { + self botclearscriptgoal(); + var_03 = self botsetscriptgoal(var_03,20,"critical"); + } + + if(!var_03) + { + return; + } + + var_04 = maps\mp\bots\_bots_util::bot_waittill_goal_or_fail(); + if(var_04 == "bad_path") + { + self.defuser_bad_path_counter++; + if(self.defuser_bad_path_counter >= 4) + { + for(;;) + { + var_05 = getnodesinradiussorted(var_02,50,0); + var_06 = self.defuser_bad_path_counter - 4; + if(var_05.size <= var_06) + { + var_07 = botgetclosestnavigablepoint(var_02,50,self); + if(isdefined(var_07)) + { + self botsetscriptgoal(var_07,20,"critical"); + } + else + { + break; + } + } + else + { + self botsetscriptgoal(var_05[var_06].origin,20,"critical"); + } + + var_04 = maps\mp\bots\_bots_util::bot_waittill_goal_or_fail(); + if(var_04 == "bad_path") + { + self.defuser_bad_path_counter++; + continue; + } + + break; + } + } + } + + if(var_04 == "goal") + { + var_08 = get_round_end_time() - gettime(); + var_09 = var_08 - level.defusetime * 2 * 1000; + var_0A = gettime() + var_09; + if(var_09 > 0) + { + maps\mp\bots\_bots_util::bot_waittill_out_of_combat_or_time(var_09); + } + + var_0B = gettime() >= var_0A; + var_0C = level.sdbombmodel.origin[2] - self.origin[2]; + var_0D = sd_press_use(level.defusetime + 2,"bomb_defused",var_0B,var_0C > 40); + if(!var_0D && self.defuser_bad_path_counter >= 4) + { + self.defuser_bad_path_counter++; + } + + self botclearscriptgoal(); + maps\mp\bots\_bots_strategy::bot_enable_tactical_goals(); + } +} + +//Function Number: 14 +investigate_someone_using_bomb_update() +{ + self endon("new_role"); + if(maps\mp\bots\_bots_util::bot_is_defending()) + { + maps\mp\bots\_bots_strategy::bot_defend_stop(); + } + + var_00 = find_closest_bombzone_to_player(self); + self botsetscriptgoalnode(common_scripts\utility::random(var_00.bottargets),"guard"); + var_01 = maps\mp\bots\_bots_util::bot_waittill_goal_or_fail(); + if(var_01 == "goal") + { + wait(4); + bot_set_role(self.prev_role); + } +} + +//Function Number: 15 +camp_bomb_update() +{ + self endon("new_role"); + if(isdefined(level.sdbomb.carrier)) + { + if(self.prev_role == "defender") + { + self.defend_zone = find_closest_bombzone_to_player(self); + } + + bot_set_role(self.prev_role); + return; + } + + if(!maps\mp\bots\_bots_util::bot_is_defending_point(level.sdbomb.curorigin)) + { + var_00["nearest_node_to_center"] = level.sdbomb.nearest_node_for_camping; + maps\mp\bots\_bots_strategy::bot_protect_point(level.sdbomb.curorigin,level.protect_radius,var_00); + } +} + +//Function Number: 16 +defender_update() +{ + self endon("new_role"); + if(!maps\mp\bots\_bots_util::bot_is_defending_point(self.defend_zone.curorigin)) + { + var_00["score_flags"] = "strict_los"; + var_00["override_origin_node"] = common_scripts\utility::random(self.defend_zone.bottargets); + maps\mp\bots\_bots_strategy::bot_protect_point(self.defend_zone.curorigin,level.protect_radius,var_00); + } +} + +//Function Number: 17 +backstabber_update() +{ + self endon("new_role"); + if(maps\mp\bots\_bots_util::bot_is_defending()) + { + maps\mp\bots\_bots_strategy::bot_defend_stop(); + } + + if(!isdefined(self.backstabber_stage)) + { + self.backstabber_stage = "1_move_to_midpoint"; + } + + if(self.backstabber_stage == "1_move_to_midpoint") + { + var_00 = level.bombzones[0].curorigin; + var_01 = level.bombzones[1].curorigin; + var_02 = (var_00[0] + var_01[0] * 0.5,var_00[1] + var_01[1] * 0.5,var_00[2] + var_01[2] * 0.5); + var_03 = getnodesinradiussorted(var_02,512,0); + if(var_03.size == 0) + { + bot_set_role("random_killer"); + return; + } + + var_04 = undefined; + var_05 = int(var_03.size * var_03.size + 1 * 0.5); + var_06 = randomint(var_05); + for(var_07 = 0;var_07 < var_03.size;var_07++) + { + var_08 = var_03.size - var_07; + if(var_06 < var_08) + { + var_04 = var_03[var_07]; + break; + } + + var_06 = var_06 - var_08; + } + + self botsetpathingstyle("scripted"); + var_09 = self botsetscriptgoalnode(var_04,"guard"); + if(var_09) + { + var_0A = maps\mp\bots\_bots_util::bot_waittill_goal_or_fail(); + if(var_0A == "goal") + { + wait(randomfloatrange(1,4)); + self.backstabber_stage = "2_move_to_enemy_spawn"; + } + } + } + + if(self.backstabber_stage == "2_move_to_enemy_spawn") + { + var_0B = maps\mp\gametypes\_spawnlogic::getspawnpointarray("mp_sd_spawn_attacker"); + var_0C = common_scripts\utility::random(var_0B); + self botsetpathingstyle("scripted"); + var_09 = self botsetscriptgoal(var_0C.origin,250,"guard"); + if(var_09) + { + var_0A = maps\mp\bots\_bots_util::bot_waittill_goal_or_fail(); + if(var_0A == "goal") + { + self.backstabber_stage = "3_move_to_bombzone"; + } + } + } + + if(self.backstabber_stage == "3_move_to_bombzone") + { + if(!isdefined(self.bombzone_num_picked)) + { + self.bombzone_num_picked = randomint(level.bombzones.size); + } + + self botsetpathingstyle(undefined); + var_09 = self botsetscriptgoal(common_scripts\utility::random(level.bombzones[self.bombzone_num_picked].bottargets).origin,160,"objective"); + if(var_09) + { + var_0A = maps\mp\bots\_bots_util::bot_waittill_goal_or_fail(); + if(var_0A == "goal") + { + self botclearscriptgoal(); + self.backstabber_stage = "2_move_to_enemy_spawn"; + self.bombzone_num_picked = 1 - self.bombzone_num_picked; + return; + } + } + } +} + +//Function Number: 18 +random_killer_update() +{ + self endon("new_role"); + if(maps\mp\bots\_bots_util::bot_is_defending()) + { + maps\mp\bots\_bots_strategy::bot_defend_stop(); + } + + self [[ self.personality_update_function ]](); +} + +//Function Number: 19 +set_force_sprint() +{ + if(!isdefined(self.always_sprint)) + { + self botsetflag("force_sprint",1); + self.always_sprint = 1; + } +} + +//Function Number: 20 +disable_force_sprint() +{ + if(isdefined(self.always_sprint)) + { + self botsetflag("force_sprint",0); + self.always_sprint = undefined; + } +} + +//Function Number: 21 +set_scripted_pathing_style() +{ + if(!isdefined(self.scripted_path_style)) + { + self botsetpathingstyle("scripted"); + self.scripted_path_style = 1; + } +} + +//Function Number: 22 +cautious_approach_till_close(param_00,param_01) +{ + var_02 = level.capture_radius; + var_03["entrance_points_index"] = param_01; + maps\mp\bots\_bots_strategy::bot_capture_point(param_00,var_02,var_03); + wait(0.05); + while(distancesquared(self.origin,param_00) > var_02 * var_02 && maps\mp\bots\_bots_util::bot_is_defending()) + { + if(get_round_end_time() - gettime() < 20000) + { + set_scripted_pathing_style(); + set_force_sprint(); + break; + } + + wait(0.05); + } + + if(maps\mp\bots\_bots_util::bot_is_defending()) + { + maps\mp\bots\_bots_strategy::bot_defend_stop(); + } + + return self botsetscriptgoal(param_00,20,"critical"); +} + +//Function Number: 23 +sd_press_use(param_00,param_01,param_02,param_03) +{ + var_04 = 0; + if(self botgetdifficultysetting("strategyLevel") == 1) + { + var_04 = 40; + } + else if(self botgetdifficultysetting("strategyLevel") >= 2) + { + var_04 = 80; + } + + if(randomint(100) < var_04 && !isdefined(param_03) && param_03) + { + self botsetstance("prone"); + wait(0.2); + } + + if(self botgetdifficultysetting("strategyLevel") > 0 && !param_02) + { + childthread notify_on_whizby(); + childthread notify_on_damage(); + } + + self botpressbutton("use",param_00); + var_05 = maps\mp\bots\_bots_util::bot_usebutton_wait(param_00,param_01,"use_interrupted"); + self botsetstance("none"); + self botclearbutton("use"); + var_06 = var_05 == param_01; + return var_06; +} + +//Function Number: 24 +notify_enemy_team_bomb_used(param_00) +{ + var_01 = get_living_players_on_team(common_scripts\utility::get_enemy_team(self.team),1); + foreach(var_03 in var_01) + { + var_04 = 0; + if(param_00 == "plant") + { + var_04 = 300 + var_03 botgetdifficultysetting("strategyLevel") * 100; + } + else if(param_00 == "defuse") + { + var_04 = 500 + var_03 botgetdifficultysetting("strategyLevel") * 500; + } + + if(distancesquared(var_03.origin,self.origin) < squared(var_04)) + { + var_03 bot_set_role("investigate_someone_using_bomb"); + } + } +} + +//Function Number: 25 +notify_on_whizby() +{ + var_00 = find_closest_bombzone_to_player(self); + self waittill("bulletwhizby",var_01); + if(!isdefined(var_01.team) || var_01.team != self.team) + { + var_02 = var_00.usetime - var_00.curprogress; + if(var_02 > 1000) + { + self notify("use_interrupted"); + } + } +} + +//Function Number: 26 +notify_on_damage() +{ + self waittill("damage",var_00,var_01); + if(!isdefined(var_01.team) || var_01.team != self.team) + { + self notify("use_interrupted"); + } +} + +//Function Number: 27 +should_start_cautious_approach_sd(param_00) +{ + var_01 = 2000; + var_02 = var_01 * var_01; + if(param_00) + { + if(get_round_end_time() - gettime() < 15000) + { + return 0; + } + + var_03 = 0; + var_04 = common_scripts\utility::get_enemy_team(self.team); + foreach(var_06 in level.players) + { + if(!isdefined(var_06.team)) + { + continue; + } + + if(isalive(var_06) && var_06.team == var_04) + { + var_03 = 1; + } + } + + return var_03; + } + + return distancesquared(self.origin,self.bot_defending_center) <= var_07 && self botpursuingscriptgoal(); +} + +//Function Number: 28 +find_closest_bombzone_to_player(param_00) +{ + var_01 = undefined; + var_02 = 999999999; + foreach(var_04 in level.bombzones) + { + var_05 = distancesquared(var_04.curorigin,param_00.origin); + if(var_05 < var_02) + { + var_01 = var_04; + var_02 = var_05; + } + } + + return var_01; +} + +//Function Number: 29 +get_players_defending_zone(param_00) +{ + var_01 = []; + var_02 = get_living_players_on_team(game["defenders"]); + foreach(var_04 in var_02) + { + if(isai(var_04) && isdefined(var_04.role) && var_04.role == "defender") + { + if(isdefined(var_04.defend_zone) && var_04.defend_zone == param_00) + { + var_01 = common_scripts\utility::array_add(var_01,var_04); + } + + continue; + } + + if(distancesquared(var_04.origin,param_00.curorigin) < level.protect_radius * level.protect_radius) + { + var_01 = common_scripts\utility::array_add(var_01,var_04); + } + } + + return var_01; +} + +//Function Number: 30 +find_ticking_bomb() +{ + if(isdefined(level.tickingobject)) + { + foreach(var_01 in level.bombzones) + { + if(distancesquared(level.tickingobject.origin,var_01.curorigin) < 90000) + { + return var_01; + } + } + } + + return undefined; +} + +//Function Number: 31 +get_specific_zone(param_00) +{ + param_00 = "_" + tolower(param_00); + for(var_01 = 0;var_01 < level.bombzones.size;var_01++) + { + if(level.bombzones[var_01].label == param_00) + { + return level.bombzones[var_01]; + } + } +} + +//Function Number: 32 +bomber_wait_for_death() +{ + self endon("stopped_being_bomb_carrier"); + self endon("new_role"); + common_scripts\utility::waittill_any("death","disconnect"); + level.atk_bomber = undefined; + level.last_atk_bomber_death_time = gettime(); + if(isdefined(self)) + { + self.role = undefined; + } + + var_00 = get_living_players_on_team(game["attackers"],1); + force_all_players_to_role(var_00,undefined); +} + +//Function Number: 33 +bomber_wait_for_bomb_reset() +{ + self endon("death"); + self endon("disconnect"); + self endon("stopped_being_bomb_carrier"); + level.sdbomb endon("pickup_object"); + level.sdbomb waittill("reset"); + if(maps\mp\_utility::isaiteamparticipant(self)) + { + self botclearscriptgoal(); + } + + bot_set_role("atk_bomber"); +} + +//Function Number: 34 +set_new_bomber() +{ + level.atk_bomber = self; + bot_set_role("atk_bomber"); + thread bomber_wait_for_death(); + if(!level.multibomb) + { + thread bomber_wait_for_bomb_reset(); + } + + if(isai(self)) + { + maps\mp\bots\_bots_strategy::bot_disable_tactical_goals(); + if(level.attack_behavior == "rush" && self botgetdifficultysetting("strategyLevel") > 0) + { + set_force_sprint(); + } + } +} + +//Function Number: 35 +initialize_sd_role() +{ + if(self.team == game["attackers"]) + { + if(level.bombplanted) + { + bot_set_role("defend_planted_bomb"); + return; + } + + if(!isdefined(level.atk_bomber)) + { + set_new_bomber(); + return; + } + + if(level.attack_behavior == "rush") + { + bot_set_role("clear_target_zone"); + return; + } + + return; + } + + var_00 = get_players_by_role("backstabber"); + var_01 = get_players_by_role("defender"); + var_02 = level.bot_personality_type[self.personality]; + var_03 = self botgetdifficultysetting("strategyLevel"); + if(var_02 == "active") + { + if(!isdefined(self.role) && level.allow_backstabbers && var_03 > 0) + { + if(var_00.size == 0) + { + bot_set_role("backstabber"); + } + else + { + var_04 = 1; + foreach(var_06 in var_00) + { + var_07 = level.bot_personality_type[var_06.personality]; + if(var_07 == "active") + { + var_04 = 0; + break; + } + } + + if(var_04) + { + bot_set_role("backstabber"); + var_00[0] bot_set_role(undefined); + } + } + } + + if(!isdefined(self.role)) + { + if(var_01.size < 4) + { + bot_set_role("defender"); + } + } + + if(!isdefined(self.role)) + { + var_09 = randomint(4); + if(var_09 == 3 && level.allow_random_killers && var_03 > 0) + { + bot_set_role("random_killer"); + } + else if(var_09 == 2 && level.allow_backstabbers && var_03 > 0) + { + bot_set_role("backstabber"); + } + else + { + bot_set_role("defender"); + } + } + } + else if(var_02 == "stationary") + { + if(!isdefined(self.role)) + { + if(var_01.size < 4) + { + bot_set_role("defender"); + } + else + { + foreach(var_0B in var_01) + { + var_0C = level.bot_personality_type[var_0B.personality]; + if(var_0C == "active") + { + bot_set_role("defender"); + var_0B bot_set_role(undefined); + break; + } + } + } + } + + if(!isdefined(self.role) && level.allow_backstabbers && var_03 > 0) + { + if(var_00.size == 0) + { + bot_set_role("backstabber"); + } + } + + if(!isdefined(self.role)) + { + bot_set_role("defender"); + } + } + + if(self.role == "defender") + { + var_0E = level.bombzones; + if(has_override_zone_targets(self.team)) + { + var_0E = get_override_zone_targets(self.team); + } + + if(var_0E.size == 1) + { + self.defend_zone = var_0E[0]; + return; + } + + var_0F = get_players_defending_zone(var_0E[0]); + var_10 = get_players_defending_zone(var_0E[1]); + if(var_0F.size < var_10.size) + { + self.defend_zone = var_0E[0]; + return; + } + + if(var_10.size < var_0F.size) + { + self.defend_zone = var_0E[1]; + return; + } + + self.defend_zone = common_scripts\utility::random(var_0E); + return; + } +} + +//Function Number: 36 +bot_set_role(param_00) +{ + if(isai(self)) + { + maps\mp\bots\_bots_strategy::bot_defend_stop(); + self botsetpathingstyle(undefined); + } + + self.prev_role = self.role; + self.role = param_00; + self notify("new_role"); +} + +//Function Number: 37 +bot_set_role_delayed(param_00,param_01) +{ + self endon("death"); + self endon("disconnect"); + self endon("new_role"); + wait(param_01); + bot_set_role(param_00); +} + +//Function Number: 38 +force_all_players_to_role(param_00,param_01,param_02) +{ + foreach(var_04 in param_00) + { + if(isdefined(param_02)) + { + var_04 thread bot_set_role_delayed(param_01,randomfloatrange(0,param_02)); + continue; + } + + var_04 thread bot_set_role(param_01); + } +} + +//Function Number: 39 +get_override_zone_targets(param_00) +{ + return level.bot_sd_override_zone_targets[param_00]; +} + +//Function Number: 40 +has_override_zone_targets(param_00) +{ + var_01 = get_override_zone_targets(param_00); + return var_01.size > 0; +} + +//Function Number: 41 +get_players_by_role(param_00) +{ + var_01 = []; + foreach(var_03 in level.participants) + { + if(isalive(var_03) && maps\mp\_utility::isteamparticipant(var_03) && isdefined(var_03.role) && var_03.role == param_00) + { + var_01[var_01.size] = var_03; + } + } + + return var_01; +} + +//Function Number: 42 +get_living_players_on_team(param_00,param_01) +{ + var_02 = []; + foreach(var_04 in level.participants) + { + if(!isdefined(var_04.team)) + { + continue; + } + + if(maps\mp\_utility::isreallyalive(var_04) && maps\mp\_utility::isteamparticipant(var_04) && var_04.team == param_00) + { + if(!isdefined(param_01) || param_01 && isai(var_04) && isdefined(var_04.role)) + { + var_02[var_02.size] = var_04; + } + } + } + + return var_02; +} + +//Function Number: 43 +bot_sd_ai_director_update() +{ + level notify("bot_sd_ai_director_update"); + level endon("bot_sd_ai_director_update"); + level endon("game_ended"); + level.allow_backstabbers = randomint(3) <= 1; + level.allow_random_killers = randomint(3) <= 1; + level.attack_behavior = "rush"; + level.protect_radius = 725; + level.capture_radius = 140; + for(;;) + { + if(isdefined(level.sdbomb) && isdefined(level.sdbomb.carrier) && !isai(level.sdbomb.carrier)) + { + level.bomb_zone_assaulting = find_closest_bombzone_to_player(level.sdbomb.carrier); + } + + var_00 = 0; + if(!level.bombplanted) + { + var_01 = get_living_players_on_team(game["attackers"]); + foreach(var_03 in var_01) + { + if(var_03.isbombcarrier) + { + level.can_pickup_bomb_time = gettime(); + if(!isdefined(level.atk_bomber) || var_03 != level.atk_bomber) + { + if(isdefined(level.atk_bomber) && isalive(level.atk_bomber)) + { + level.atk_bomber bot_set_role(undefined); + level.atk_bomber notify("stopped_being_bomb_carrier"); + } + + var_00 = 1; + var_03 set_new_bomber(); + } + } + } + + if(!level.multibomb && !isdefined(level.sdbomb.carrier)) + { + var_05 = getclosestnodeinsight(level.sdbomb.curorigin); + if(isdefined(var_05)) + { + level.sdbomb.nearest_node_for_camping = var_05; + var_06 = 0; + var_07 = get_living_players_on_team(game["defenders"],1); + foreach(var_09 in var_07) + { + var_0A = var_09 getnearestnode(); + var_0B = var_09 botgetdifficultysetting("strategyLevel"); + if(var_0B > 0 && var_09.role != "camp_bomb" && isdefined(var_0A) && nodesvisible(var_05,var_0A,1)) + { + var_0C = var_09 botgetfovdot(); + if(common_scripts\utility::within_fov(var_09.origin,var_09.angles,level.sdbomb.curorigin,var_0C)) + { + if(var_0B >= 2 || distancesquared(var_09.origin,level.sdbomb.curorigin) < squared(700)) + { + var_06 = 1; + break; + } + } + } + } + + if(var_06) + { + foreach(var_09 in var_07) + { + if(var_09.role != "camp_bomb" && var_09 botgetdifficultysetting("strategyLevel") > 0) + { + var_09 bot_set_role("camp_bomb"); + } + } + } + } + } + + var_10 = level.bombzones; + if(has_override_zone_targets(game["defenders"])) + { + var_10 = get_override_zone_targets(game["defenders"]); + } + + for(var_11 = 0;var_11 < var_10.size;var_11++) + { + for(var_12 = 0;var_12 < var_10.size;var_12++) + { + var_13 = get_players_defending_zone(var_10[var_11]); + var_14 = get_players_defending_zone(var_10[var_12]); + if(var_13.size > var_14.size + 1) + { + var_15 = []; + foreach(var_03 in var_13) + { + if(isai(var_03)) + { + var_15 = common_scripts\utility::array_add(var_15,var_03); + } + } + + if(var_15.size > 0) + { + var_18 = common_scripts\utility::random(var_15); + var_18 maps\mp\bots\_bots_strategy::bot_defend_stop(); + var_18.defend_zone = var_10[var_12]; + } + } + } + } + } + else + { + if(isdefined(level.atk_bomber)) + { + level.atk_bomber = undefined; + } + + if(!isdefined(level.bomb_defuser) || !isalive(level.bomb_defuser)) + { + var_19 = []; + var_1A = get_players_by_role("defender"); + var_1B = get_players_by_role("backstabber"); + var_1C = get_players_by_role("random_killer"); + if(var_1A.size > 0) + { + var_19 = var_1A; + } + else if(var_1B.size > 0) + { + var_19 = var_1B; + } + else if(var_1C.size > 0) + { + var_19 = var_1C; + } + + if(var_19.size > 0) + { + var_1D = common_scripts\utility::get_array_of_closest(level.sdbombmodel.origin,var_19); + level.bomb_defuser = var_1D[0]; + level.bomb_defuser bot_set_role("bomb_defuser"); + level.bomb_defuser maps\mp\bots\_bots_strategy::bot_disable_tactical_goals(); + level.bomb_defuser thread defuser_wait_for_death(); + } + } + + if(!isdefined(level.sd_bomb_just_planted)) + { + level.sd_bomb_just_planted = 1; + var_1E = get_living_players_on_team(game["attackers"]); + foreach(var_03 in var_1E) + { + if(isdefined(var_03.role)) + { + if(var_03.role == "atk_bomber") + { + var_03 thread bot_set_role(undefined); + continue; + } + + if(var_03.role != "defend_planted_bomb") + { + var_03 thread bot_set_role_delayed("defend_planted_bomb",randomfloatrange(0,3)); + } + } + } + } + } + + wait(0.5); + } +} + +//Function Number: 44 +defuser_wait_for_death() +{ + common_scripts\utility::waittill_any("death","disconnect"); + level.bomb_defuser = undefined; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/bots/_bots_gametype_sr.gsc b/AW/PC/maps/mp/bots/_bots_gametype_sr.gsc new file mode 100644 index 0000000..fe0519a --- /dev/null +++ b/AW/PC/maps/mp/bots/_bots_gametype_sr.gsc @@ -0,0 +1,288 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\bots\_bots_gametype_sr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 14 + * Decompile Time: 237 ms + * Timestamp: 4/22/2024 2:08:45 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\mp\bots\_bots_gametype_sd::setup_callbacks(); + setup_callbacks(); + maps\mp\bots\_bots_gametype_conf::setup_bot_conf(); + maps\mp\bots\_bots_gametype_sd::bot_sd_start(); +} + +//Function Number: 2 +setup_callbacks() +{ + level.bot_funcs["gametype_think"] = ::bot_sr_think; +} + +//Function Number: 3 +bot_sr_think() +{ + self notify("bot_sr_think"); + self endon("bot_sr_think"); + self endon("death"); + self endon("disconnect"); + level endon("game_ended"); + while(!isdefined(level.bot_gametype_precaching_done)) + { + wait(0.05); + } + + self.suspend_sd_role = undefined; + childthread tag_watcher(); + maps\mp\bots\_bots_gametype_sd::bot_sd_think(); +} + +//Function Number: 4 +tag_watcher() +{ + for(;;) + { + wait(0.05); + if(self.health <= 0) + { + continue; + } + + if(!isdefined(self.role)) + { + continue; + } + + var_00 = maps\mp\bots\_bots_gametype_conf::bot_find_visible_tags(0); + if(var_00.size > 0) + { + var_01 = common_scripts\utility::random(var_00); + if(distancesquared(self.origin,var_01.tag.curorigin) < 10000) + { + sr_pick_up_tag(var_01.tag); + } + else if(self.team == game["attackers"]) + { + if(self.role != "atk_bomber") + { + sr_pick_up_tag(var_01.tag); + } + } + else if(self.role != "bomb_defuser") + { + sr_pick_up_tag(var_01.tag); + } + } + } +} + +//Function Number: 5 +sr_pick_up_tag(param_00) +{ + if(isdefined(param_00.bot_picking_up) && isdefined(param_00.bot_picking_up[self.team]) && isalive(param_00.bot_picking_up[self.team]) && param_00.bot_picking_up[self.team] != self) + { + return; + } + + if(sr_ally_near_tag(param_00)) + { + return; + } + + if(!isdefined(self.role)) + { + return; + } + + if(maps\mp\bots\_bots_util::bot_is_defending()) + { + maps\mp\bots\_bots_strategy::bot_defend_stop(); + } + + param_00.bot_picking_up[self.team] = self; + param_00 thread clear_bot_on_reset(); + param_00 thread clear_bot_on_bot_death(self); + self.suspend_sd_role = 1; + childthread notify_when_tag_picked_up_or_unavailable(param_00,"tag_picked_up"); + var_01 = param_00.curorigin; + self botsetscriptgoal(var_01,0,"tactical"); + childthread watch_tag_destination(param_00); + var_02 = maps\mp\bots\_bots_util::bot_waittill_goal_or_fail(undefined,"tag_picked_up","new_role"); + self notify("stop_watch_tag_destination"); + if(var_02 == "no_path") + { + var_01 = var_01 + (16 * rand_pos_or_neg(),16 * rand_pos_or_neg(),0); + self botsetscriptgoal(var_01,0,"tactical"); + var_02 = maps\mp\bots\_bots_util::bot_waittill_goal_or_fail(undefined,"tag_picked_up","new_role"); + if(var_02 == "no_path") + { + var_01 = maps\mp\bots\_bots_util::bot_queued_process("BotGetClosestNavigablePoint",::maps\mp\bots\_bots_util::func_bot_get_closest_navigable_point,param_00.curorigin,32,self); + if(isdefined(var_01)) + { + self botsetscriptgoal(var_01,0,"tactical"); + var_02 = maps\mp\bots\_bots_util::bot_waittill_goal_or_fail(undefined,"tag_picked_up","new_role"); + } + } + } + else if(var_02 == "bad_path") + { + var_03 = getnodesinradiussorted(param_00.curorigin,256,0,level.bot_tag_allowable_jump_height + 55); + if(var_03.size > 0) + { + var_04 = (param_00.curorigin[0],param_00.curorigin[1],var_03[0].origin[2] + param_00.curorigin[2] * 0.5); + self botsetscriptgoal(var_04,0,"tactical"); + var_02 = maps\mp\bots\_bots_util::bot_waittill_goal_or_fail(undefined,"tag_picked_up","new_role"); + } + } + + if(var_02 == "goal" && param_00 maps\mp\gametypes\_gameobjects::caninteractwith(self.team)) + { + wait(3); + } + + if(self bothasscriptgoal() && isdefined(var_01)) + { + var_05 = self botgetscriptgoal(); + if(maps\mp\bots\_bots_util::bot_vectors_are_equal(var_05,var_01)) + { + self botclearscriptgoal(); + } + } + + self notify("stop_tag_watcher"); + param_00.bot_picking_up[self.team] = undefined; + self.suspend_sd_role = undefined; +} + +//Function Number: 6 +watch_tag_destination(param_00) +{ + self endon("stop_watch_tag_destination"); + for(;;) + { + if(!param_00 maps\mp\gametypes\_gameobjects::caninteractwith(self.team)) + { + wait(0.05); + } + + var_01 = self botgetscriptgoal(); + wait(0.05); + } +} + +//Function Number: 7 +sr_ally_near_tag(param_00) +{ + var_01 = distance(self.origin,param_00.curorigin); + var_02 = maps\mp\bots\_bots_gametype_sd::get_living_players_on_team(self.team,1); + foreach(var_04 in var_02) + { + if(var_04 != self && isdefined(var_04.role) && var_04.role != "atk_bomber" && var_04.role != "bomb_defuser") + { + var_05 = distance(var_04.origin,param_00.curorigin); + if(var_05 < var_01 * 0.5) + { + return 1; + } + } + } + + return 0; +} + +//Function Number: 8 +rand_pos_or_neg() +{ + return randomintrange(0,2) * 2 - 1; +} + +//Function Number: 9 +clear_bot_on_reset() +{ + self waittill("reset"); + self.bot_picking_up = []; +} + +//Function Number: 10 +clear_bot_on_bot_death(param_00) +{ + self endon("reset"); + var_01 = param_00.team; + param_00 common_scripts\utility::waittill_any("death","disconnect"); + self.bot_picking_up[var_01] = undefined; +} + +//Function Number: 11 +notify_when_tag_picked_up_or_unavailable(param_00,param_01) +{ + self endon("stop_tag_watcher"); + while(param_00 maps\mp\gametypes\_gameobjects::caninteractwith(self.team) && !maps\mp\bots\_bots_gametype_conf::bot_check_tag_above_head(param_00)) + { + wait(0.05); + } + + self notify(param_01); +} + +//Function Number: 12 +sr_camp_tag(param_00) +{ + if(isdefined(param_00.bot_camping) && isdefined(param_00.bot_camping[self.team]) && isalive(param_00.bot_camping[self.team]) && param_00.bot_camping[self.team] != self) + { + return; + } + + if(!isdefined(self.role)) + { + return; + } + + if(maps\mp\bots\_bots_util::bot_is_defending()) + { + maps\mp\bots\_bots_strategy::bot_defend_stop(); + } + + param_00.bot_camping[self.team] = self; + param_00 thread clear_bot_camping_on_reset(); + param_00 thread clear_bot_camping_on_bot_death(self); + self.suspend_sd_role = 1; + maps\mp\bots\_bots_personality::clear_camper_data(); + var_01 = self.role; + while(param_00 maps\mp\gametypes\_gameobjects::caninteractwith(self.team) && self.role == var_01) + { + if(maps\mp\bots\_bots_personality::should_select_new_ambush_point()) + { + if(maps\mp\bots\_bots_personality::find_ambush_node(param_00.curorigin,1000)) + { + childthread maps\mp\bots\_bots_gametype_conf::bot_camp_tag(param_00,"tactical","new_role"); + } + } + + wait(0.05); + } + + self notify("stop_camping_tag"); + self botclearscriptgoal(); + param_00.bot_camping[self.team] = undefined; + self.suspend_sd_role = undefined; +} + +//Function Number: 13 +clear_bot_camping_on_reset() +{ + self waittill("reset"); + self.bot_camping = []; +} + +//Function Number: 14 +clear_bot_camping_on_bot_death(param_00) +{ + self endon("reset"); + var_01 = param_00.team; + param_00 common_scripts\utility::waittill_any("death","disconnect"); + self.bot_camping[var_01] = undefined; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/bots/_bots_gametype_twar.gsc b/AW/PC/maps/mp/bots/_bots_gametype_twar.gsc new file mode 100644 index 0000000..dea9e8c --- /dev/null +++ b/AW/PC/maps/mp/bots/_bots_gametype_twar.gsc @@ -0,0 +1,215 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\bots\_bots_gametype_twar.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 11 + * Decompile Time: 174 ms + * Timestamp: 4/22/2024 2:08:46 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.bot_ignore_precalc_paths = 0; + if(level.currentgen) + { + level.bot_ignore_precalc_paths = 1; + } + + setup_callbacks(); + setup_bot_twar(); +} + +//Function Number: 2 +setup_callbacks() +{ + level.bot_funcs["gametype_think"] = ::bot_twar_think; + level.bot_funcs["should_start_cautious_approach"] = ::bot_twar_should_start_cautious_approach; + if(!level.bot_ignore_precalc_paths) + { + level.bot_funcs["get_watch_node_chance"] = ::bot_twar_get_node_chance; + } +} + +//Function Number: 3 +setup_bot_twar() +{ + maps\mp\bots\_bots_util::bot_waittill_bots_enabled(1); + for(var_00 = 0;var_00 < level.twar_zones.size;var_00++) + { + level.twar_zones[var_00].script_label = "_" + var_00; + } + + maps\mp\bots\_bots_gametype_common::bot_cache_entrances_to_gametype_array(level.twar_zones,"zone",level.bot_ignore_precalc_paths); + var_01 = 55; + var_02 = 0; + foreach(var_04 in level.twar_zones) + { + if(!isdefined(var_04.nearest_node)) + { + return; + } + + var_04 thread monitor_zone_control(); + var_05 = var_04.origin - (0,0,var_01) + var_04.origin + (0,0,level.zone_height) / 2; + var_06 = level.zone_height + var_01 / 2; + var_04.nodes = getnodesinradius(var_05,level.zone_radius,0,var_06); + if(var_04.nodes.size < 6) + { + var_02++; + if(var_02 == 1) + { + wait(5); + continue; + } + + wait(1); + } + } + + level.bot_gametype_precaching_done = 1; +} + +//Function Number: 4 +monitor_zone_control() +{ + self notify("monitor_zone_control"); + self endon("monitor_zone_control"); + self endon("death"); + level endon("game_ended"); + for(;;) + { + wait(1); + var_00 = self.owner; + if(var_00 == "none" && level.twar_use_obj.userate > 0) + { + var_00 = level.twar_use_obj.claimteam; + } + + if(var_00 != "none") + { + var_01 = getzonenearest(self.origin); + if(isdefined(var_01)) + { + botzonesetteam(var_01,var_00); + } + } + } +} + +//Function Number: 5 +bot_twar_think() +{ + self notify("bot_twar_think"); + self endon("bot_twar_think"); + self endon("death"); + self endon("disconnect"); + level endon("game_ended"); + self endon("owner_disconnect"); + while(!isdefined(level.bot_gametype_precaching_done)) + { + wait(0.05); + } + + self botsetflag("separation",0); + self botsetpathingstyle("beeline"); + self botsetflag("force_sprint",1); + for(;;) + { + if(!bot_twar_is_capturing_zone(level.twar_use_obj.zone)) + { + bot_twar_capture_zone(level.twar_use_obj.zone); + } + + wait(0.05); + } +} + +//Function Number: 6 +bot_twar_capture_zone(param_00) +{ + self.current_zone = param_00; + var_01["entrance_points_index"] = bot_twar_get_zone_label(param_00); + var_01["nearest_node_to_center"] = param_00.nearest_node; + var_01["objective_radius"] = 500; + maps\mp\bots\_bots_strategy::bot_capture_point(param_00.origin,level.zone_radius,var_01); +} + +//Function Number: 7 +bot_twar_is_capturing_zone(param_00) +{ + if(maps\mp\bots\_bots_util::bot_is_capturing()) + { + if(self.current_zone == param_00) + { + return 1; + } + } + + return 0; +} + +//Function Number: 8 +bot_twar_get_node_chance(param_00) +{ + var_01 = 0; + var_02 = bot_twar_get_zone_label(level.twar_use_obj.zone); + var_03 = bot_twar_get_zones_for_team(self.team); + var_01 = 0; + foreach(var_05 in var_03) + { + if(param_00 maps\mp\bots\_bots_util::node_is_on_path_from_labels(var_02,bot_twar_get_zone_label(var_05))) + { + var_01 = 1; + break; + } + } + + if(var_01) + { + var_07 = bot_twar_get_zones_for_team(common_scripts\utility::get_enemy_team(self.team)); + foreach(var_09 in var_07) + { + if(param_00 maps\mp\bots\_bots_util::node_is_on_path_from_labels(var_02,bot_twar_get_zone_label(var_09))) + { + var_01 = 0; + break; + } + } + } + + if(var_01) + { + return 0.2; + } + + return 1; +} + +//Function Number: 9 +bot_twar_get_zones_for_team(param_00) +{ + var_01 = []; + foreach(var_03 in level.twar_zones) + { + if(var_03.owner == param_00) + { + var_01[var_01.size] = var_03; + } + } + + return var_01; +} + +//Function Number: 10 +bot_twar_get_zone_label(param_00) +{ + return "zone" + param_00.script_label; +} + +//Function Number: 11 +bot_twar_should_start_cautious_approach(param_00) +{ + return 0; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/bots/_bots_gametype_vlobby.gsc b/AW/PC/maps/mp/bots/_bots_gametype_vlobby.gsc new file mode 100644 index 0000000..9de2d7c --- /dev/null +++ b/AW/PC/maps/mp/bots/_bots_gametype_vlobby.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\bots\_bots_gametype_vlobby.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 29 ms + * Timestamp: 4/22/2024 2:08:46 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/bots/_bots_gametype_war.gsc b/AW/PC/maps/mp/bots/_bots_gametype_war.gsc similarity index 86% rename from AW/PC/MP/maps/mp/bots/_bots_gametype_war.gsc rename to AW/PC/maps/mp/bots/_bots_gametype_war.gsc index 048b14f..6d512c4 100644 --- a/AW/PC/MP/maps/mp/bots/_bots_gametype_war.gsc +++ b/AW/PC/maps/mp/bots/_bots_gametype_war.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\bots\_bots_gametype_war.gsc + * Decompiled File: mp\bots\_bots_gametype_war.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 4 - * Decompile Time: 78 ms - * Timestamp: 10/27/2023 1:41:09 AM + * Decompile Time: 79 ms + * Timestamp: 4/22/2024 2:08:47 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/mp/bots/_bots_gametype_zombies.gsc b/AW/PC/maps/mp/bots/_bots_gametype_zombies.gsc new file mode 100644 index 0000000..17b4ad5 --- /dev/null +++ b/AW/PC/maps/mp/bots/_bots_gametype_zombies.gsc @@ -0,0 +1,79 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\bots\_bots_gametype_zombies.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 4 + * Decompile Time: 91 ms + * Timestamp: 4/22/2024 2:08:47 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setup_callbacks(); + setup_bot_zombies(); +} + +//Function Number: 2 +setup_callbacks() +{ + level.bot_funcs["gametype_think"] = ::bot_zombies_think; +} + +//Function Number: 3 +setup_bot_zombies() +{ + level.bots_gametype_handles_team_choice = 1; + level.bots_ignore_team_balance = 1; +} + +//Function Number: 4 +bot_zombies_think() +{ + self notify("bot_zombies_think"); + self endon("bot_zombies_think"); + self endon("death"); + self endon("disconnect"); + level endon("game_ended"); + for(;;) + { + if(self botgetpersonality() != "run_and_gun") + { + maps\mp\bots\_bots_util::bot_set_personality("run_and_gun"); + } + + if(!isdefined(self.bot_defend_player_guarding)) + { + var_00 = 9999; + var_01 = undefined; + foreach(var_03 in level.players) + { + if(isbot(var_03)) + { + continue; + } + + if(!isdefined(var_03.guardcount)) + { + var_03.guardcount = 0; + } + + if(var_03.guardcount < var_00) + { + var_00 = var_03.guardcount; + var_01 = var_03; + } + } + + if(isdefined(var_01)) + { + thread maps\mp\bots\_bots_strategy::bot_guard_player(var_01,800); + var_01.guardcount++; + } + } + + self [[ self.personality_update_function ]](); + wait(0.05); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/bots/_bots_ks.gsc b/AW/PC/maps/mp/bots/_bots_ks.gsc new file mode 100644 index 0000000..e55887c --- /dev/null +++ b/AW/PC/maps/mp/bots/_bots_ks.gsc @@ -0,0 +1,800 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\bots\_bots_ks.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 35 + * Decompile Time: 521 ms + * Timestamp: 4/22/2024 2:08:49 AM +*******************************************************************/ + +//Function Number: 1 +bot_killstreak_setup() +{ + var_00 = gettime(); + if(!isdefined(level.killstreak_botfunc)) + { + thread bot_setup_map_specific_killstreaks(); + bot_register_killstreak_func("uav",::bot_killstreak_simple_use); + bot_register_killstreak_func("orbital_carepackage",::bot_killstreak_simple_use); + bot_register_killstreak_func("heavy_exosuit",::bot_killstreak_simple_use); + bot_register_killstreak_func("nuke",::bot_killstreak_simple_use); + bot_register_killstreak_func("emp",::bot_killstreak_simple_use,::bot_can_use_emp); + bot_register_killstreak_func("remote_mg_sentry_turret",::maps\mp\bots\_bots_sentry::bot_killstreak_sentry,::maps\mp\bots\_bots_sentry::bot_can_use_sentry_only_ai_version,"turret"); + bot_register_killstreak_func("assault_ugv",::bot_killstreak_simple_use,::bot_can_use_assault_ugv_only_ai_version); + bot_register_killstreak_func("warbird",::bot_killstreak_simple_use,::bot_can_use_warbird_only_ai_version); + bot_register_killstreak_func("strafing_run_airstrike",::bot_killstreak_choose_loc_enemies,::bot_can_use_strafing_run); + bot_register_killstreak_func("orbitalsupport",::bot_killstreak_never_use,::bot_killstreak_do_not_use); + bot_register_killstreak_func("recon_ugv",::bot_killstreak_never_use,::bot_killstreak_do_not_use); + bot_register_killstreak_func("orbital_strike_laser",::bot_killstreak_never_use,::bot_killstreak_do_not_use); + bot_register_killstreak_func("missile_strike",::bot_killstreak_never_use,::bot_killstreak_do_not_use); + } + + thread maps\mp\bots\_bots_ks_remote_vehicle::remote_vehicle_setup(); +} + +//Function Number: 2 +bot_setup_map_specific_killstreaks() +{ + wait(0.5); + if(isdefined(level.mapcustombotkillstreakfunc)) + { + [[ level.mapcustombotkillstreakfunc ]](); + return; + } + + if(isdefined(level.mapkillstreak)) + { + bot_register_killstreak_func(level.mapkillstreak,::bot_killstreak_never_use,::bot_killstreak_do_not_use); + } +} + +//Function Number: 3 +bot_register_killstreak_func(param_00,param_01,param_02,param_03) +{ + if(!isdefined(level.killstreak_botfunc)) + { + level.killstreak_botfunc = []; + } + + level.killstreak_botfunc[param_00] = param_01; + if(!isdefined(level.killstreak_botcanuse)) + { + level.killstreak_botcanuse = []; + } + + level.killstreak_botcanuse[param_00] = param_02; + if(!isdefined(level.killstreak_botparm)) + { + level.killstreak_botparm = []; + } + + level.killstreak_botparm[param_00] = param_03; + if(!isdefined(level.bot_supported_killstreaks)) + { + level.bot_supported_killstreaks = []; + } + + level.bot_supported_killstreaks[level.bot_supported_killstreaks.size] = param_00; +} + +//Function Number: 4 +bot_is_valid_killstreak(param_00,param_01) +{ + if(bot_killstreak_is_valid_internal(param_00,"bots",undefined)) + { + return 1; + } + else if(param_01) + { + } + + return 0; +} + +//Function Number: 5 +bot_killstreak_is_valid_internal(param_00,param_01,param_02) +{ + if(!bot_killstreak_is_valid_single(param_00,param_01)) + { + return 0; + } + + return 1; +} + +//Function Number: 6 +bot_killstreak_is_valid_single(param_00,param_01) +{ + if(param_01 == "humans") + { + return isdefined(level.killstreakfuncs[param_00]) && maps\mp\_utility::getkillstreakindex(param_00) != -1; + } + else if(param_01 == "bots") + { + return isdefined(level.killstreak_botfunc[param_00]); + } +} + +//Function Number: 7 +bot_think_killstreak() +{ + self notify("bot_think_killstreak"); + self endon("bot_think_killstreak"); + self endon("death"); + self endon("disconnect"); + level endon("game_ended"); + while(!isdefined(level.killstreak_botfunc)) + { + wait(0.05); + } + + for(;;) + { + if(maps\mp\bots\_bots_util::bot_allowed_to_use_killstreaks()) + { + var_00 = self.pers["killstreaks"]; + if(isdefined(var_00)) + { + var_01 = 0; + for(var_02 = 0;var_02 < var_00.size && !var_01;var_02++) + { + var_03 = var_00[var_02]; + if(isdefined(var_03.streakname) && isdefined(self.bot_killstreak_wait) && isdefined(self.bot_killstreak_wait[var_03.streakname]) && gettime() < self.bot_killstreak_wait[var_03.streakname]) + { + continue; + } + + if(var_03.available) + { + var_04 = var_03.streakname; + var_03.weapon = maps\mp\_utility::getkillstreakweapon(var_03.streakname,var_03.modules); + var_05 = level.killstreak_botcanuse[var_04]; + if(isdefined(var_05) && !self [[ var_05 ]](var_03)) + { + continue; + } + + if(!maps\mp\_utility::validateusestreak(var_03.streakname,1)) + { + continue; + } + + var_06 = level.killstreak_botfunc[var_04]; + if(isdefined(var_06)) + { + var_07 = self [[ var_06 ]](var_03,var_00,var_05,level.killstreak_botparm[var_03.streakname]); + if(!isdefined(var_07) || var_07 == 0) + { + if(!isdefined(self.bot_killstreak_wait)) + { + self.bot_killstreak_wait = []; + } + + self.bot_killstreak_wait[var_03.streakname] = gettime() + 5000; + } + } + else + { + var_03.available = 0; + maps\mp\killstreaks\_killstreaks::updatekillstreaks(0); + } + + var_01 = 1; + } + } + } + } + + wait(randomfloatrange(2,4)); + } +} + +//Function Number: 8 +bot_killstreak_never_use() +{ +} + +//Function Number: 9 +bot_killstreak_do_not_use(param_00) +{ + return 0; +} + +//Function Number: 10 +bot_killstreak_can_use_weapon_version(param_00) +{ + return param_00.weapon == "killstreak_uav_mp"; +} + +//Function Number: 11 +bot_can_use_warbird_only_ai_version(param_00) +{ + if(!bot_killstreak_can_use_weapon_version(param_00)) + { + return 0; + } + + if(!bot_can_use_warbird(param_00)) + { + return 0; + } + + return 1; +} + +//Function Number: 12 +bot_can_use_warbird(param_00) +{ + if(!maps\mp\killstreaks\_warbird::canusewarbird()) + { + return 0; + } + + if(vehicle_would_exceed_limit()) + { + return 0; + } + + return 1; +} + +//Function Number: 13 +bot_can_use_assault_ugv_only_ai_version(param_00) +{ + if(!bot_killstreak_can_use_weapon_version(param_00)) + { + return 0; + } + + if(!bot_can_use_assault_ugv(param_00)) + { + return 0; + } + + return 1; +} + +//Function Number: 14 +bot_can_use_assault_ugv(param_00) +{ + if(vehicle_would_exceed_limit()) + { + return 0; + } + + return 1; +} + +//Function Number: 15 +vehicle_would_exceed_limit() +{ + return maps\mp\_utility::currentactivevehiclecount() >= maps\mp\_utility::maxvehiclesallowed() || level.fauxvehiclecount + 1 >= maps\mp\_utility::maxvehiclesallowed(); +} + +//Function Number: 16 +bot_can_use_emp(param_00) +{ + if(isdefined(level.empplayer)) + { + return 0; + } + + var_01 = level.otherteam[self.team]; + if(isdefined(level.teamemped) && isdefined(level.teamemped[var_01]) && level.teamemped[var_01]) + { + return 0; + } + + return 1; +} + +//Function Number: 17 +bot_can_use_strafing_run(param_00) +{ + if(isdefined(level.strafing_run_airstrike)) + { + return 0; + } + + return 1; +} + +//Function Number: 18 +bot_killstreak_simple_use(param_00,param_01,param_02,param_03) +{ + wait(randomintrange(3,5)); + if(!maps\mp\bots\_bots_util::bot_allowed_to_use_killstreaks()) + { + return 1; + } + + if(isdefined(param_02) && !self [[ param_02 ]](param_00)) + { + return 0; + } + + bot_switch_to_killstreak_weapon(param_00,param_01,param_00.weapon); + return 1; +} + +//Function Number: 19 +bot_killstreak_drop_anywhere(param_00,param_01,param_02,param_03) +{ + bot_killstreak_drop(param_00,param_01,param_02,param_03,"anywhere"); +} + +//Function Number: 20 +bot_killstreak_drop_outside(param_00,param_01,param_02,param_03) +{ + bot_killstreak_drop(param_00,param_01,param_02,param_03,"outside"); +} + +//Function Number: 21 +bot_killstreak_drop_hidden(param_00,param_01,param_02,param_03) +{ + bot_killstreak_drop(param_00,param_01,param_02,param_03,"hidden"); +} + +//Function Number: 22 +bot_killstreak_drop(param_00,param_01,param_02,param_03,param_04) +{ + wait(randomintrange(2,4)); + if(!isdefined(param_04)) + { + param_04 = "anywhere"; + } + + if(!maps\mp\bots\_bots_util::bot_allowed_to_use_killstreaks()) + { + return 1; + } + + if(isdefined(param_02) && !self [[ param_02 ]](param_00)) + { + return 0; + } + + var_05 = self getweaponammoclip(param_00.weapon) + self setweaponammostock(param_00.weapon); + if(var_05 == 0) + { + foreach(var_07 in param_01) + { + if(isdefined(var_07.streakname) && var_07.streakname == param_00.streakname) + { + var_07.available = 0; + } + } + + maps\mp\killstreaks\_killstreaks::updatekillstreaks(0); + return 1; + } + + var_09 = undefined; + if(var_07 == "outside") + { + var_0A = []; + var_0B = maps\mp\bots\_bots_util::bot_get_nodes_in_cone(0,750,0.6,1); + foreach(var_0D in var_0B) + { + if(nodeexposedtosky(var_0D)) + { + var_0A = common_scripts\utility::array_add(var_0A,var_0D); + } + } + + if(var_0B.size > 5 && var_0A.size > var_0B.size * 0.6) + { + var_0F = common_scripts\utility::get_array_of_closest(self.origin,var_0A,undefined,undefined,undefined,150); + if(var_0F.size > 0) + { + var_09 = common_scripts\utility::random(var_0F); + } + else + { + var_09 = common_scripts\utility::random(var_0A); + } + } + } + else if(var_07 == "hidden") + { + var_10 = getnodesinradius(self.origin,256,0,40); + var_11 = self getnearestnode(); + if(isdefined(var_11)) + { + var_12 = []; + foreach(var_0D in var_10) + { + if(nodesvisible(var_11,var_0D,1)) + { + var_12 = common_scripts\utility::array_add(var_12,var_0D); + } + } + + var_09 = self botnodepick(var_12,1,"node_hide"); + } + } + + if(isdefined(var_09) || var_07 == "anywhere") + { + self botsetflag("disable_movement",1); + if(isdefined(var_09)) + { + self botlookatpoint(var_09.origin,2.45,"script_forced"); + } + + bot_switch_to_killstreak_weapon(param_03,param_04,param_03.weapon); + wait(2); + self botpressbutton("attack"); + wait(1.5); + self switchtoweapon("none"); + self botsetflag("disable_movement",0); + } + + return 1; +} + +//Function Number: 23 +bot_switch_to_killstreak_weapon(param_00,param_01,param_02) +{ + bot_notify_streak_used(param_00,param_01); + wait(0.05); + self switchtoweapon(param_02); +} + +//Function Number: 24 +bot_notify_streak_used(param_00,param_01) +{ + if(isdefined(param_00.isgimme) && param_00.isgimme) + { + self notify("streakUsed1"); + return; + } + + for(var_02 = 0;var_02 < 3;var_02++) + { + if(isdefined(param_01[var_02].streakname)) + { + if(param_01[var_02].streakname == param_00.streakname) + { + break; + } + } + } + + self notify("streakUsed" + var_02 + 1); +} + +//Function Number: 25 +bot_killstreak_choose_loc_enemies(param_00,param_01,param_02,param_03) +{ + wait(randomintrange(3,5)); + if(!maps\mp\bots\_bots_util::bot_allowed_to_use_killstreaks()) + { + return; + } + + var_04 = getzonenearest(self.origin); + if(!isdefined(var_04)) + { + return; + } + + self botsetflag("disable_movement",1); + bot_switch_to_killstreak_weapon(param_00,param_01,param_00.weapon); + wait(2); + if(!isdefined(self.selectinglocation)) + { + return; + } + + var_05 = level.zonecount; + var_06 = -1; + var_07 = 0; + var_08 = []; + var_09 = randomfloat(100) > 50; + for(var_0A = 0;var_0A < var_05;var_0A++) + { + if(var_09) + { + var_0B = var_05 - 1 - var_0A; + } + else + { + var_0B = var_0A; + } + + if(var_0B != var_04 && botzonegetindoorpercent(var_0B) < 0.25) + { + var_0C = botzonegetcount(var_0B,self.team,"enemy_predict"); + if(var_0C > var_07) + { + var_06 = var_0B; + var_07 = var_0C; + } + + var_08 = common_scripts\utility::array_add(var_08,var_0B); + } + } + + if(var_06 >= 0) + { + var_0D = getzoneorigin(var_06); + } + else if(var_09.size > 0) + { + var_0D = getzoneorigin(common_scripts\utility::random(var_09)); + } + else + { + var_0D = getzoneorigin(randomint(level.zonecount)); + } + + var_0E = (randomfloatrange(-500,500),randomfloatrange(-500,500),0); + var_0F = 1; + while(var_0F) + { + self notify("confirm_location",var_0D + var_0E,randomintrange(0,360)); + var_10 = common_scripts\utility::waittill_any_return("location_selection_complete","airstrikeShowBlockedHUD"); + if(var_10 == "location_selection_complete") + { + var_0F = 0; + continue; + } + + wait(0.5); + } + + wait(1); + self botsetflag("disable_movement",0); +} + +//Function Number: 26 +bot_think_watch_aerial_killstreak() +{ + self notify("bot_think_watch_aerial_killstreak"); + self endon("bot_think_watch_aerial_killstreak"); + self endon("death"); + self endon("disconnect"); + level endon("game_ended"); + if(!isdefined(level.last_global_badplace_time)) + { + level.last_global_badplace_time = -10000; + } + + if(!isdefined(level.killstreak_global_bp_exists_for)) + { + level.killstreak_global_bp_exists_for["allies"] = []; + level.killstreak_global_bp_exists_for["axis"] = []; + } + + if(!isdefined(level.aerial_danger_exists_for)) + { + level.aerial_danger_exists_for["allies"] = 0; + level.aerial_danger_exists_for["axis"] = 0; + } + + var_00 = 0; + var_01 = randomfloatrange(0.05,4); + for(;;) + { + wait(var_01); + var_01 = randomfloatrange(0.05,4); + if(maps\mp\bots\_bots_util::bot_is_remote_or_linked()) + { + continue; + } + + if(self botgetdifficultysetting("strategyLevel") == 0) + { + continue; + } + + var_02 = 0; + var_03 = get_enemy_warbird(self.team); + if(isdefined(var_03)) + { + var_02 = 1; + if(!bot_is_monitoring_aerial_danger(var_03)) + { + childthread monitor_aerial_danger(var_03); + } + } + + if(enemy_paladin_exists(self.team)) + { + var_02 = 1; + if(!bot_is_monitoring_aerial_danger(level.orbitalsupport_planemodel)) + { + childthread monitor_aerial_danger(level.orbitalsupport_planemodel); + } + } + + if(enemy_orbital_laser_exists(self.team)) + { + try_place_global_badplace("orbital_laser",::enemy_orbital_laser_exists); + var_02 = 1; + } + + if(enemy_missile_strike_exists(self.team)) + { + try_place_global_badplace("missile_strike",::enemy_missile_strike_exists); + var_02 = 1; + } + + if(enemy_strafing_run_exists(self.team)) + { + try_place_global_badplace("missile_strike",::enemy_strafing_run_exists); + var_02 = 1; + } + + if(!var_00 && var_02) + { + var_00 = 1; + self botsetflag("hide_indoors",1); + } + + if(var_00 && !var_02) + { + var_00 = 0; + self botsetflag("hide_indoors",0); + } + + level.aerial_danger_exists_for[self.team] = var_02; + } +} + +//Function Number: 27 +bot_is_monitoring_aerial_danger(param_00) +{ + if(!isdefined(self.aerial_dangers_monitoring)) + { + return 0; + } + + return common_scripts\utility::array_contains(self.aerial_dangers_monitoring,param_00); +} + +//Function Number: 28 +monitor_aerial_danger(param_00) +{ + if(!isdefined(self.aerial_dangers_monitoring)) + { + self.aerial_dangers_monitoring = []; + } + + self.aerial_dangers_monitoring[self.aerial_dangers_monitoring.size] = param_00; + var_01 = vectornormalize(param_00.origin - self.origin * (1,1,0)); + while(isalive(param_00)) + { + var_02 = vectornormalize(param_00.origin - self.origin * (1,1,0)); + var_03 = vectordot(var_01,var_02); + if(var_03 <= 0) + { + var_01 = var_02; + self notify("defend_force_node_recalculation"); + } + + wait(0.05); + } + + self.aerial_dangers_monitoring = common_scripts\utility::array_remove(self.aerial_dangers_monitoring,param_00); +} + +//Function Number: 29 +try_place_global_badplace(param_00,param_01) +{ + if(!isdefined(level.killstreak_global_bp_exists_for[self.team][param_00])) + { + level.killstreak_global_bp_exists_for[self.team][param_00] = 0; + } + + if(!level.killstreak_global_bp_exists_for[self.team][param_00]) + { + level.killstreak_global_bp_exists_for[self.team][param_00] = 1; + level thread monitor_enemy_dangerous_killstreak(self.team,param_00,param_01); + } +} + +//Function Number: 30 +monitor_enemy_dangerous_killstreak(param_00,param_01,param_02) +{ + var_03 = 0.5; + while([[ param_02 ]](param_00)) + { + if(gettime() > level.last_global_badplace_time + 4000) + { + badplace_global("",5,param_00,"only_sky"); + level.last_global_badplace_time = gettime(); + } + + wait(var_03); + } + + level.killstreak_global_bp_exists_for[param_00][param_01] = 0; +} + +//Function Number: 31 +get_enemy_warbird(param_00) +{ + if(isdefined(level.spawnedwarbirds)) + { + foreach(var_02 in level.spawnedwarbirds) + { + if(!level.teambased || var_02.team != param_00) + { + return var_02; + } + } + } + + return undefined; +} + +//Function Number: 32 +enemy_orbital_laser_exists(param_00) +{ + if(isdefined(level.orbital_lasers)) + { + foreach(var_02 in level.orbital_lasers) + { + if(!level.teambased || var_02.team != param_00) + { + return 1; + } + } + } + + return 0; +} + +//Function Number: 33 +enemy_paladin_exists(param_00) +{ + if(level.orbitalsupportinuse) + { + if(isdefined(level.orbitalsupport_planemodel) && isdefined(level.orbitalsupport_planemodel.owner)) + { + if(!level.teambased || level.orbitalsupport_planemodel.owner.team != param_00) + { + return 1; + } + } + } + + return 0; +} + +//Function Number: 34 +enemy_missile_strike_exists(param_00) +{ + if(isdefined(level.remotemissileinprogress)) + { + foreach(var_02 in level.rockets) + { + if(var_02.type == "remote" && var_02.team != param_00) + { + return 1; + } + } + } + + return 0; +} + +//Function Number: 35 +enemy_strafing_run_exists(param_00) +{ + if(isdefined(level.artillerydangercenters)) + { + foreach(var_02 in level.artillerydangercenters) + { + if(maps\mp\_utility::isstrstart(var_02.streakname,"strafing_run_airstrike") && var_02.team != param_00) + { + return 1; + } + } + } + + return 0; +} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/bots/_bots_ks_remote_vehicle.gsc b/AW/PC/maps/mp/bots/_bots_ks_remote_vehicle.gsc similarity index 99% rename from AW/PC/MP/maps/mp/bots/_bots_ks_remote_vehicle.gsc rename to AW/PC/maps/mp/bots/_bots_ks_remote_vehicle.gsc index 183140e..3a224ca 100644 --- a/AW/PC/MP/maps/mp/bots/_bots_ks_remote_vehicle.gsc +++ b/AW/PC/maps/mp/bots/_bots_ks_remote_vehicle.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\bots\_bots_ks_remote_vehicle.gsc + * Decompiled File: mp\bots\_bots_ks_remote_vehicle.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 23 - * Decompile Time: 428 ms - * Timestamp: 10/27/2023 1:41:11 AM + * Decompile Time: 338 ms + * Timestamp: 4/22/2024 2:08:50 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/bots/_bots_loadout.gsc b/AW/PC/maps/mp/bots/_bots_loadout.gsc similarity index 73% rename from AW/PC/MP/maps/mp/bots/_bots_loadout.gsc rename to AW/PC/maps/mp/bots/_bots_loadout.gsc index 2b9babd..68f9e96 100644 --- a/AW/PC/MP/maps/mp/bots/_bots_loadout.gsc +++ b/AW/PC/maps/mp/bots/_bots_loadout.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\bots\_bots_loadout.gsc + * Decompiled File: mp\bots\_bots_loadout.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 36 - * Decompile Time: 651 ms - * Timestamp: 10/27/2023 1:41:13 AM + * Decompile Time: 545 ms + * Timestamp: 4/22/2024 2:08:52 AM *******************************************************************/ //Function Number: 1 @@ -133,23 +133,47 @@ bot_loadout_item_allowed(param_00,param_01,param_02) switch(param_00) { case "weapon": + var_05 = maps\mp\_utility::getweaponclass(param_01); break; case "attachment": + var_05 = maps\mp\_utility::getattachmenttype(param_01); break; case "killstreak": + if(getmatchrulesdata("commonOption","allStreaksRestricted")) + { + return 0; + } break; case "module": + var_05 = maps\mp\killstreaks\_killstreaks::getstreakmodulebasekillstreak(param_01); + if(getsubstr(var_05,0,3) == "zm_") + { + return 0; + } break; case "perk": + var_05 = param_02; break; default: - break; + return 0; } + + if(getmatchrulesdata("commonOption",var_03,param_01)) + { + return 0; + } + + if(var_05 != "" && getmatchrulesdata("commonOption",var_04,var_05)) + { + return 0; + } + + return 1; } //Function Number: 6 @@ -660,100 +684,109 @@ bot_loadout_choose_from_default_class(param_00,param_01) switch(param_01) { case "loadoutPrimary": - break; + return maps\mp\gametypes\_class::table_getweapon(level.classtablename,var_02,0); case "loadoutPrimaryAttachment": - break; + return maps\mp\gametypes\_class::table_getweaponattachment(level.classtablename,var_02,0,0); case "loadoutPrimaryAttachment2": - break; + return maps\mp\gametypes\_class::table_getweaponattachment(level.classtablename,var_02,0,1); case "loadoutPrimaryAttachment3": - break; + return maps\mp\gametypes\_class::table_getweaponattachment(level.classtablename,var_02,0,2); case "loadoutPrimaryCamo": - break; + return maps\mp\gametypes\_class::table_getweaponcamo(level.classtablename,var_02,0); case "loadoutPrimaryReticle": - break; + return maps\mp\gametypes\_class::table_getweaponreticle(level.classtablename,var_02,0); case "loadoutSecondary": - break; + return maps\mp\gametypes\_class::table_getweapon(level.classtablename,var_02,1); case "loadoutSecondaryAttachment": - break; + return maps\mp\gametypes\_class::table_getweaponattachment(level.classtablename,var_02,1,0); case "loadoutSecondaryAttachment2": - break; + return maps\mp\gametypes\_class::table_getweaponattachment(level.classtablename,var_02,1,1); case "loadoutSecondaryAttachment3": - break; + return maps\mp\gametypes\_class::table_getweaponattachment(level.classtablename,var_02,1,2); case "loadoutSecondaryCamo": - break; + return maps\mp\gametypes\_class::table_getweaponcamo(level.classtablename,var_02,1); case "loadoutSecondaryReticle": - break; + return maps\mp\gametypes\_class::table_getweaponreticle(level.classtablename,var_02,1); case "loadoutEquipment": - break; + return maps\mp\gametypes\_class::table_getequipment(level.classtablename,var_02); case "loadoutEquipment2": - break; + return tablelookup(level.classtablename,0,"loadoutEquipment2",var_02 + 1); case "loadoutOffhand": - break; + return maps\mp\gametypes\_class::table_getoffhand(level.classtablename,var_02); case "loadoutOffhand2": + if(maps\mp\gametypes\_class::table_getoffhandextra(level.classtablename,var_02)) + { + return maps\mp\gametypes\_class::table_getoffhand(level.classtablename,var_02); + } + else + { + return "specialty_null"; + } + break; case "loadoutStreak1": - break; + return maps\mp\gametypes\_class::table_getkillstreak(level.classtablename,var_02,0); case "loadoutStreakModule1a": - break; + return maps\mp\gametypes\_class::table_getkillstreakmodule(level.classtablename,var_02,0,0); case "loadoutStreakModule1b": - break; + return maps\mp\gametypes\_class::table_getkillstreakmodule(level.classtablename,var_02,0,1); case "loadoutStreakModule1c": - break; + return maps\mp\gametypes\_class::table_getkillstreakmodule(level.classtablename,var_02,0,2); case "loadoutStreak2": - break; + return maps\mp\gametypes\_class::table_getkillstreak(level.classtablename,var_02,1); case "loadoutStreakModule2a": - break; + return maps\mp\gametypes\_class::table_getkillstreakmodule(level.classtablename,var_02,1,0); case "loadoutStreakModule2b": - break; + return maps\mp\gametypes\_class::table_getkillstreakmodule(level.classtablename,var_02,1,1); case "loadoutStreakModule2c": - break; + return maps\mp\gametypes\_class::table_getkillstreakmodule(level.classtablename,var_02,1,2); case "loadoutStreak3": - break; + return maps\mp\gametypes\_class::table_getkillstreak(level.classtablename,var_02,2); case "loadoutStreakModule3a": - break; + return maps\mp\gametypes\_class::table_getkillstreakmodule(level.classtablename,var_02,2,0); case "loadoutStreakModule3b": - break; + return maps\mp\gametypes\_class::table_getkillstreakmodule(level.classtablename,var_02,2,1); case "loadoutStreakModule3c": - break; + return maps\mp\gametypes\_class::table_getkillstreakmodule(level.classtablename,var_02,2,2); case "loadoutStreak4": - break; + return maps\mp\gametypes\_class::table_getkillstreak(level.classtablename,var_02,3); case "loadoutStreakModule4a": - break; + return maps\mp\gametypes\_class::table_getkillstreakmodule(level.classtablename,var_02,3,0); case "loadoutStreakModule4b": - break; + return maps\mp\gametypes\_class::table_getkillstreakmodule(level.classtablename,var_02,3,1); case "loadoutStreakModule4c": - break; + return maps\mp\gametypes\_class::table_getkillstreakmodule(level.classtablename,var_02,3,2); case "loadoutPerk2": case "loadoutPerk1": @@ -761,17 +794,25 @@ bot_loadout_choose_from_default_class(param_00,param_01) case "loadoutPerk5": case "loadoutPerk4": case "loadoutPerk3": - break; + var_03 = int(getsubstr(param_01,11)) - 1; + var_04 = maps\mp\gametypes\_class::table_getperk(level.classtablename,var_02,var_03); + if(var_04 == "") + { + return "specialty_null"; + } + return var_04; case "loadoutWildcard1": - break; + return maps\mp\gametypes\_class::table_getwildcard(level.classtablename,var_04,0); case "loadoutWildcard2": - break; + return maps\mp\gametypes\_class::table_getwildcard(level.classtablename,var_04,1); case "loadoutWildcard3": - break; + return maps\mp\gametypes\_class::table_getwildcard(level.classtablename,var_04,2); } + + return var_02; } //Function Number: 20 @@ -781,131 +822,142 @@ bot_loadout_choose_from_custom_default_class(param_00,param_01) switch(param_01) { case "loadoutPrimary": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","weaponSetups",0,"weapon"); case "loadoutPrimaryAttachment": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","weaponSetups",0,"attachment",0); case "loadoutPrimaryAttachment2": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","weaponSetups",0,"attachment",1); case "loadoutPrimaryAttachment3": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","weaponSetups",0,"attachment",2); case "loadoutPrimaryCamo": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","weaponSetups",0,"camo"); case "loadoutPrimaryReticle": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","weaponSetups",0,"reticle"); case "loadoutSecondary": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","weaponSetups",1,"weapon"); case "loadoutSecondaryAttachment": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","weaponSetups",1,"attachment",0); case "loadoutSecondaryAttachment2": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","weaponSetups",1,"attachment",1); case "loadoutSecondaryAttachment3": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","weaponSetups",1,"attachment",2); case "loadoutSecondaryCamo": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","weaponSetups",1,"camo"); case "loadoutSecondaryReticle": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","weaponSetups",1,"reticle"); case "loadoutEquipment": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","equipmentSetups",0,"equipment"); case "loadoutEquipment2": + if(getmatchrulesdata("defaultClasses",var_02,param_00,"class","equipmentSetups",0,"extra")) + { + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","equipmentSetups",0,"equipment"); + } + else + { + return "specialty_null"; + } + break; case "loadoutOffhand": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","equipmentSetups",1,"equipment"); case "loadoutOffhand2": - break; + return "specialty_null"; case "loadoutStreak1": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","assaultStreaks",0,"streak"); case "loadoutStreakModule1a": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","assaultStreaks",0,"modules",0); case "loadoutStreakModule1b": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","assaultStreaks",0,"modules",1); case "loadoutStreakModule1c": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","assaultStreaks",0,"modules",2); case "loadoutStreak2": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","assaultStreaks",1,"streak"); case "loadoutStreakModule2a": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","assaultStreaks",1,"modules",0); case "loadoutStreakModule2b": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","assaultStreaks",1,"modules",1); case "loadoutStreakModule2c": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","assaultStreaks",1,"modules",2); case "loadoutStreak3": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","assaultStreaks",2,"streak"); case "loadoutStreakModule3a": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","assaultStreaks",2,"modules",0); case "loadoutStreakModule3b": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","assaultStreaks",2,"modules",1); case "loadoutStreakModule3c": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","assaultStreaks",2,"modules",2); case "loadoutStreak4": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","assaultStreaks",3,"streak"); case "loadoutStreakModule4a": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","assaultStreaks",3,"modules",0); case "loadoutStreakModule4b": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","assaultStreaks",3,"modules",1); case "loadoutStreakModule4c": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","assaultStreaks",3,"modules",2); case "loadoutPerk1": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","perkSlots",0); case "loadoutPerk2": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","perkSlots",1); case "loadoutPerk3": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","perkSlots",2); case "loadoutPerk4": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","perkSlots",3); case "loadoutPerk5": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","perkSlots",4); case "loadoutPerk6": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","perkSlots",5); case "loadoutWildcard1": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","wildcardSlots",0); case "loadoutWildcard2": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","wildcardSlots",1); case "loadoutWildcard3": - break; + return getmatchrulesdata("defaultClasses",var_02,param_00,"class","wildcardSlots",2); default: break; } + + return "none"; } //Function Number: 21 @@ -1159,57 +1211,96 @@ bot_loadout_valid_choice(param_00,param_01,param_02,param_03) switch(param_02) { case "loadoutPrimary": + var_05 = param_03; + if(maps\mp\_utility::islootweapon(var_05)) + { + var_05 = maps\mp\gametypes\_class::getbasefromlootversion(var_05); + } + + var_04 = bot_loadout_item_allowed("weapon",var_05,undefined); + var_04 = var_04 && maps\mp\gametypes\_class::isvalidprimary(param_03); break; case "loadoutEquipment": + var_04 = bot_loadout_item_allowed("perk",param_03,"Lethal"); + var_04 = var_04 && maps\mp\gametypes\_class::isvalidequipment(param_03,bot_loadout_set_has_wildcard(param_01,"specialty_wildcard_dualtacticals")); + var_04 = var_04 && bot_loadout_item_valid_for_rank(param_00,param_03,self botgetdifficulty()); break; case "loadoutEquipment2": + var_04 = param_03 == "specialty_null" || param_03 == param_01["loadoutEquipment"]; break; case "loadoutOffhand": + var_04 = bot_loadout_item_allowed("perk",param_03,"Tactical"); + var_04 = var_04 && maps\mp\gametypes\_class::isvalidoffhand(param_03,bot_loadout_set_has_wildcard(param_01,"specialty_wildcard_duallethals")); + var_04 = var_04 && bot_loadout_item_valid_for_rank(param_00,param_03,self botgetdifficulty()); break; case "loadoutOffhand2": + var_04 = param_03 == "specialty_null"; break; case "loadoutPrimaryAttachment": + var_04 = bot_validate_weapon(param_01["loadoutPrimary"],param_03); break; case "loadoutPrimaryAttachment2": + var_04 = bot_validate_weapon(param_01["loadoutPrimary"],param_01["loadoutPrimaryAttachment"],param_03); break; case "loadoutPrimaryAttachment3": + var_04 = bot_validate_weapon(param_01["loadoutPrimary"],param_01["loadoutPrimaryAttachment"],param_01["loadoutPrimaryAttachment2"],param_03); break; case "loadoutPrimaryReticle": + var_04 = bot_validate_reticle("loadoutPrimary",param_01,param_03); break; case "loadoutPrimaryCamo": + var_04 = !isdefined(self.botloadoutfavoritecamoprimary) || param_03 == self.botloadoutfavoritecamoprimary; + var_04 = var_04 && maps\mp\gametypes\_class::isvalidcamo(param_03); break; case "loadoutSecondary": + var_04 = param_03 != param_01["loadoutPrimary"]; + var_05 = param_03; + if(maps\mp\_utility::islootweapon(var_05)) + { + var_05 = maps\mp\gametypes\_class::getbasefromlootversion(var_05); + } + + var_04 = var_04 && bot_loadout_item_allowed("weapon",var_05,undefined); + var_04 = var_04 && maps\mp\gametypes\_class::isvalidsecondary(param_03,bot_loadout_set_has_wildcard(param_01,"specialty_wildcard_dualprimaries")); break; case "loadoutSecondaryAttachment": + var_04 = bot_validate_weapon(param_01["loadoutSecondary"],param_03,"none"); break; case "loadoutSecondaryAttachment2": + var_04 = bot_validate_weapon(param_01["loadoutSecondary"],param_01["loadoutSecondaryAttachment"],param_03); break; case "loadoutSecondaryAttachment3": + var_04 = bot_validate_weapon(param_01["loadoutSecondary"],param_01["loadoutSecondaryAttachment"],param_01["loadoutSecondaryAttachment2"],param_03); break; case "loadoutSecondaryReticle": + var_04 = bot_validate_reticle("loadoutSecondary",param_01,param_03); break; case "loadoutSecondaryCamo": + var_04 = !isdefined(self.botloadoutfavoritecamosecondary) || param_03 == self.botloadoutfavoritecamosecondary; + var_04 = var_04 && maps\mp\gametypes\_class::isvalidcamo(param_03); break; case "loadoutStreak4": case "loadoutStreak3": case "loadoutStreak2": case "loadoutStreak1": + var_04 = maps\mp\bots\_bots_ks::bot_killstreak_is_valid_internal(param_03,"bots",undefined); + var_04 = var_04 && bot_loadout_item_allowed("killstreak",param_03,undefined); break; case "loadoutStreakModule4c": @@ -1224,6 +1315,7 @@ bot_loadout_valid_choice(param_00,param_01,param_02,param_03) case "loadoutStreakModule1c": case "loadoutStreakModule1b": case "loadoutStreakModule1a": + var_04 = bot_loadout_item_allowed("module",param_03,undefined); break; case "loadoutPerk2": @@ -1232,16 +1324,21 @@ bot_loadout_valid_choice(param_00,param_01,param_02,param_03) case "loadoutPerk5": case "loadoutPerk4": case "loadoutPerk3": + var_04 = param_03 == "specialty_null" || bot_validate_perk(param_03,param_02,param_01); + var_04 = var_04 && bot_loadout_item_valid_for_rank(param_00,param_03,self botgetdifficulty()); break; case "loadoutWildcard3": case "loadoutWildcard2": case "loadoutWildcard1": + var_04 = 1; break; default: break; } + + return var_04; } //Function Number: 29 @@ -1269,11 +1366,8 @@ bot_loadout_choose_from_set(param_00,param_01,param_02,param_03,param_04) param_00 = [self.default_class_chosen]; } - var_08 = param_00; - var_0F = getfirstarraykey(var_08); - if(isdefined(var_0F)) + foreach(var_09 in param_00) { - var_09 = var_08[var_0F]; var_0A = undefined; if(getsubstr(var_09,0,9) == "template_") { @@ -1319,16 +1413,49 @@ bot_loadout_choose_from_set(param_00,param_01,param_02,param_03,param_04) switch(var_0D) { case "remote_mg_sentry_turret": + if(var_0E == "a") + { + var_09 = "sentry_guardian"; + } break; case "warbird": + if(var_0E == "a") + { + var_09 = "warbird_ai_attack"; + } break; case "assault_ugv": + if(var_0E == "a") + { + var_09 = "assault_ugv_ai"; + } + else if(var_0E == "b") + { + var_09 = "assault_ugv_mg"; + } break; } } + + if(bot_loadout_valid_choice(param_01,param_02,param_03,var_09)) + { + var_07 = var_07 + 1; + if(randomfloat(1) <= 1 / var_07) + { + var_05 = var_09; + var_06 = var_0A; + } + } } + + if(isdefined(var_06)) + { + self.chosentemplates[var_06] = 1; + } + + return var_05; } //Function Number: 30 diff --git a/AW/PC/MP/maps/mp/bots/_bots_personality.gsc b/AW/PC/maps/mp/bots/_bots_personality.gsc similarity index 99% rename from AW/PC/MP/maps/mp/bots/_bots_personality.gsc rename to AW/PC/maps/mp/bots/_bots_personality.gsc index a3b5f0d..1fecf25 100644 --- a/AW/PC/MP/maps/mp/bots/_bots_personality.gsc +++ b/AW/PC/maps/mp/bots/_bots_personality.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\bots\_bots_personality.gsc + * Decompiled File: mp\bots\_bots_personality.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 24 - * Decompile Time: 417 ms - * Timestamp: 10/27/2023 1:41:15 AM + * Decompile Time: 350 ms + * Timestamp: 4/22/2024 2:08:53 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/bots/_bots_sentry.gsc b/AW/PC/maps/mp/bots/_bots_sentry.gsc similarity index 98% rename from AW/PC/MP/maps/mp/bots/_bots_sentry.gsc rename to AW/PC/maps/mp/bots/_bots_sentry.gsc index 1a41957..546917a 100644 --- a/AW/PC/MP/maps/mp/bots/_bots_sentry.gsc +++ b/AW/PC/maps/mp/bots/_bots_sentry.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\bots\_bots_sentry.gsc + * Decompiled File: mp\bots\_bots_sentry.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 16 - * Decompile Time: 300 ms - * Timestamp: 10/27/2023 1:41:16 AM + * Decompile Time: 259 ms + * Timestamp: 4/22/2024 2:08:54 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/bots/_bots_strategy.gsc b/AW/PC/maps/mp/bots/_bots_strategy.gsc similarity index 99% rename from AW/PC/MP/maps/mp/bots/_bots_strategy.gsc rename to AW/PC/maps/mp/bots/_bots_strategy.gsc index 0a3d9c6..a74863d 100644 --- a/AW/PC/MP/maps/mp/bots/_bots_strategy.gsc +++ b/AW/PC/maps/mp/bots/_bots_strategy.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\bots\_bots_strategy.gsc + * Decompiled File: mp\bots\_bots_strategy.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 50 - * Decompile Time: 864 ms - * Timestamp: 10/27/2023 1:41:19 AM + * Decompile Time: 757 ms + * Timestamp: 4/22/2024 2:08:57 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/bots/_bots_util.gsc b/AW/PC/maps/mp/bots/_bots_util.gsc similarity index 98% rename from AW/PC/MP/maps/mp/bots/_bots_util.gsc rename to AW/PC/maps/mp/bots/_bots_util.gsc index b53d76d..aea7d72 100644 --- a/AW/PC/MP/maps/mp/bots/_bots_util.gsc +++ b/AW/PC/maps/mp/bots/_bots_util.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\bots\_bots_util.gsc + * Decompiled File: mp\bots\_bots_util.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 74 - * Decompile Time: 1279 ms - * Timestamp: 10/27/2023 1:41:23 AM + * Decompile Time: 1184 ms + * Timestamp: 4/22/2024 2:09:01 AM *******************************************************************/ //Function Number: 1 @@ -1042,20 +1042,50 @@ bot_grenade_matches_purpose(param_00,param_01) switch(param_00) { case "trap_directional": + switch(param_01) + { + case "claymore_mp": + return 1; + } break; case "trap": + switch(param_01) + { + case "motion_sensor_mp": + case "proximity_explosive_mp": + case "explosive_drone_mp": + case "trophy_mp": + return 1; + } break; case "trap_follower": + switch(param_01) + { + case "tracking_drone_mp": + return 1; + } break; case "c4": + switch(param_01) + { + case "c4_mp": + return 1; + } break; case "tacticalinsertion": + switch(param_01) + { + case "s1_tactical_insertion_device_mp": + return 1; + } break; } + + return 0; } //Function Number: 48 diff --git a/AW/PC/MP/maps/mp/gametypes/_battlebuddy.gsc b/AW/PC/maps/mp/gametypes/_battlebuddy.gsc similarity index 98% rename from AW/PC/MP/maps/mp/gametypes/_battlebuddy.gsc rename to AW/PC/maps/mp/gametypes/_battlebuddy.gsc index 04c760e..f887e5d 100644 --- a/AW/PC/MP/maps/mp/gametypes/_battlebuddy.gsc +++ b/AW/PC/maps/mp/gametypes/_battlebuddy.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_battlebuddy.gsc + * Decompiled File: mp\gametypes\_battlebuddy.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 27 - * Decompile Time: 405 ms - * Timestamp: 10/27/2023 1:49:56 AM + * Decompile Time: 417 ms + * Timestamp: 4/22/2024 2:09:02 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/gametypes/_battlechatter_mp.gsc b/AW/PC/maps/mp/gametypes/_battlechatter_mp.gsc similarity index 89% rename from AW/PC/MP/maps/mp/gametypes/_battlechatter_mp.gsc rename to AW/PC/maps/mp/gametypes/_battlechatter_mp.gsc index 68989a5..18cca18 100644 --- a/AW/PC/MP/maps/mp/gametypes/_battlechatter_mp.gsc +++ b/AW/PC/maps/mp/gametypes/_battlechatter_mp.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_battlechatter_mp.gsc + * Decompiled File: mp\gametypes\_battlechatter_mp.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 53 - * Decompile Time: 802 ms - * Timestamp: 10/27/2023 1:49:59 AM + * Decompile Time: 813 ms + * Timestamp: 4/22/2024 2:09:05 AM *******************************************************************/ //Function Number: 1 @@ -171,47 +171,102 @@ grenadeproximitytracking() self endon("death"); var_00 = self.origin; var_01 = 147456; - if(common_scripts\utility::cointoss()) + for(;;) { - wait(5); - continue; - } - - var_02 = common_scripts\utility::ter_op(isdefined(level.grenades),level.grenades,[]); - var_03 = common_scripts\utility::ter_op(isdefined(level.missiles),level.missiles,[]); - var_04 = common_scripts\utility::ter_op(isdefined(level.trackingdrones),level.trackingdrones,[]); - if(var_02.size + var_03.size + var_04.size < 1 || !maps\mp\_utility::isreallyalive(self)) - { - wait(0.05); - continue; - } - - var_02 = common_scripts\utility::array_combine(var_02,var_03); - var_02 = common_scripts\utility::array_combine(var_02,var_04); - if(var_02.size < 1) - { - wait(0.05); - continue; - } - - var_05 = var_02; - var_0A = getfirstarraykey(var_05); - if(isdefined(var_0A)) - { - var_06 = var_05[var_0A]; - wait(0.05); - if(!isdefined(var_06)) + if(common_scripts\utility::cointoss()) { + wait(5); continue; } - var_07 = isdefined(var_06.type) && var_06.type == "explosive_drone" || var_06.type == "tracking_drone"; - if(isdefined(var_06.weaponname)) + var_02 = common_scripts\utility::ter_op(isdefined(level.grenades),level.grenades,[]); + var_03 = common_scripts\utility::ter_op(isdefined(level.missiles),level.missiles,[]); + var_04 = common_scripts\utility::ter_op(isdefined(level.trackingdrones),level.trackingdrones,[]); + if(var_02.size + var_03.size + var_04.size < 1 || !maps\mp\_utility::isreallyalive(self)) { - switch(var_06.weaponname) + wait(0.05); + continue; + } + + var_02 = common_scripts\utility::array_combine(var_02,var_03); + var_02 = common_scripts\utility::array_combine(var_02,var_04); + if(var_02.size < 1) + { + wait(0.05); + continue; + } + + foreach(var_06 in var_02) + { + wait(0.05); + if(!isdefined(var_06)) { - case "gamemode_ball": - break; + continue; + } + + var_07 = isdefined(var_06.type) && var_06.type == "explosive_drone" || var_06.type == "tracking_drone"; + if(isdefined(var_06.weaponname)) + { + switch(var_06.weaponname) + { + case "gamemode_ball": + break; + } + + if(weaponinventorytype(var_06.weaponname) != "offhand" && weaponclass(var_06.weaponname) == "grenade") + { + continue; + } + } + + if(!isdefined(var_06.owner) && !var_07) + { + var_06.owner = getmissileowner(var_06); + } + + if(isdefined(var_06.owner) && isdefined(var_06.owner.team) && level.teambased && var_06.owner.team == self.team) + { + continue; + } + + var_08 = distancesquared(var_06.origin,self.origin); + if(var_08 < var_01) + { + if(bullettracepassed(var_06.origin,self.origin,0,self)) + { + var_09 = ""; + if(var_07) + { + var_09 = "drone_incoming"; + } + else if(isdefined(var_06.weaponname)) + { + switch(var_06.weaponname) + { + case "semtex_mp": + var_09 = "semtex_incoming"; + break; + + case "stun_grenade_var_mp": + case "stun_grenade_mp": + var_09 = "stun_incoming"; + break; + + case "emp_grenade_var_mp": + case "emp_grenade_mp": + var_09 = "emp_incoming"; + break; + } + } + + if(var_09 == "") + { + var_09 = "grenade_incoming"; + } + + level thread saylocalsound(self,var_09); + wait(5); + } } } } @@ -595,9 +650,20 @@ saylocalsound(param_00,param_01,param_02,param_03) case "callout_shield": case "callout_hover": case "callout_sniper": + param_01 = "callout_generic"; break; } } + else + { + location_add_last_callout_time(param_02); + var_05 = var_05 + "co_loc_" + param_02; + param_00 thread dothreatcalloutresponse(var_05,param_01); + param_01 = "callout_location"; + } + + param_00 updatechatter(param_01); + param_00 thread dosound(var_05,param_02,param_03); } } diff --git a/AW/PC/MP/maps/mp/gametypes/_callbacksetup.gsc b/AW/PC/maps/mp/gametypes/_callbacksetup.gsc similarity index 98% rename from AW/PC/MP/maps/mp/gametypes/_callbacksetup.gsc rename to AW/PC/maps/mp/gametypes/_callbacksetup.gsc index 3c99f3a..6235dc8 100644 --- a/AW/PC/MP/maps/mp/gametypes/_callbacksetup.gsc +++ b/AW/PC/maps/mp/gametypes/_callbacksetup.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\gametypes\_callbacksetup.gsc + * Decompiled File: mp\gametypes\_callbacksetup.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 22 - * Decompile Time: 382 ms - * Timestamp: 10/27/2023 1:41:30 AM + * Decompile Time: 340 ms + * Timestamp: 4/22/2024 2:09:06 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/gametypes/_class.gsc b/AW/PC/maps/mp/gametypes/_class.gsc similarity index 93% rename from AW/PC/MP/maps/mp/gametypes/_class.gsc rename to AW/PC/maps/mp/gametypes/_class.gsc index 89a5589..1a57201 100644 --- a/AW/PC/MP/maps/mp/gametypes/_class.gsc +++ b/AW/PC/maps/mp/gametypes/_class.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_class.gsc + * Decompiled File: mp\gametypes\_class.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 92 - * Decompile Time: 1504 ms - * Timestamp: 10/27/2023 1:50:04 AM + * Decompile Time: 1397 ms + * Timestamp: 4/22/2024 2:09:10 AM *******************************************************************/ //Function Number: 1 @@ -609,14 +609,24 @@ table_getweaponattachment(param_00,param_01,param_02,param_03) break; case 1: + var_05 = var_05 + "2"; break; case 2: + var_05 = var_05 + "3"; break; default: break; } + + var_04 = tablelookup(param_00,0,var_05,param_01 + 1); + if(var_04 == "" || var_04 == "none") + { + return "none"; + } + + return var_04; } //Function Number: 32 @@ -712,13 +722,13 @@ table_getkillstreakmodule(param_00,param_01,param_02,param_03) switch(param_03) { case 0: - break; + return tablelookup(param_00,0,"loadoutStreakModule" + param_02 + 1 + "a",param_01 + 1); case 1: - break; + return tablelookup(param_00,0,"loadoutStreakModule" + param_02 + 1 + "b",param_01 + 1); case 2: - break; + return tablelookup(param_00,0,"loadoutStreakModule" + param_02 + 1 + "c",param_01 + 1); default: break; @@ -2690,6 +2700,7 @@ giveoffhand(param_00) case "exoknife_jug_mp": case "frag_grenade_mp": case "claymore_mp": + maps\mp\_utility::giveperk(param_00,0); break; case "smoke_grenade_var_mp": @@ -2709,33 +2720,43 @@ giveoffhand(param_00) case "scrambler_mp": case "s1_tactical_insertion_device_mp": case "portable_radar_mp": + self giveweapon(param_00); break; case "exoshield_equipment_mp": + maps\mp\_exo_shield::give_exo_shield(); break; case "adrenaline_mp": + maps\mp\_adrenaline::give_exo_overclock(); break; case "extra_health_mp": + maps\mp\_extrahealth::give_exo_health(); break; case "exorepulsor_equipment_mp": + maps\mp\_exo_repulsor::give_exo_repulsor(); break; case "exocloak_equipment_mp": + maps\mp\_exo_cloak::give_exo_cloak(); break; case "exoping_equipment_mp": + maps\mp\_exo_ping::give_exo_ping(); break; case "exohover_equipment_mp": + maps\mp\_exo_hover::give_exo_hover(); break; case "exomute_equipment_mp": + maps\mp\_exo_mute::give_exo_mute(); break; case "iw5_dlcgun12loot7_mp": + maps\mp\_grappling_hook::give_grappling_hook(); break; default: @@ -2765,6 +2786,7 @@ takeoffhand(param_00) case "exoknife_jug_mp": case "frag_grenade_mp": case "claymore_mp": + maps\mp\_utility::_unsetperk(param_00); break; case "smoke_grenade_var_mp": @@ -2783,33 +2805,43 @@ takeoffhand(param_00) case "flash_grenade_mp": case "scrambler_mp": case "portable_radar_mp": + self takeweapon(param_00); break; case "exoshield_equipment_mp": + maps\mp\_exo_shield::take_exo_shield(); break; case "adrenaline_mp": + maps\mp\_adrenaline::take_exo_overclock(); break; case "extra_health_mp": + maps\mp\_extrahealth::take_exo_health(); break; case "exorepulsor_equipment_mp": + maps\mp\_exo_repulsor::take_exo_repulsor(); break; case "exocloak_equipment_mp": + maps\mp\_exo_cloak::take_exo_cloak(); break; case "exoping_equipment_mp": + maps\mp\_exo_ping::take_exo_ping(); break; case "exohover_equipment_mp": + maps\mp\_exo_hover::take_exo_hover(); break; case "exomute_equipment_mp": + maps\mp\_exo_mute::take_exo_mute(); break; case "iw5_dlcgun12loot7_mp": + maps\mp\_grappling_hook::take_grappling_hook(); break; default: @@ -2854,11 +2886,67 @@ loadouttrackvariablegrenades(param_00,param_01,param_02) case "paint_grenade_var_mp": case "emp_grenade_var_mp": case "stun_grenade_var_mp": + if(isdefined(self.prevlethalvarclass) && self.prevlethalvarclass == param_00 && isdefined(self.prevlethalvartype) && self.prevlethalvartype != param_01) + { + var_03 = self.prevlethalvartype; + self takeweapon(param_01); + self.loadoutequipment = var_03; + self setlethalweapon(var_03); + maps\mp\_utility::giveperk(var_03,0); + param_01 = var_03; + } + + self.prevlethalvarclass = param_00; + self.prevlethalvartype = param_01; break; default: + self.prevlethalvarclass = undefined; + self.prevlethalvartype = undefined; break; } + + var_04 = maps\mp\_utility::strip_suffix(param_02,"_lefthand"); + switch(var_04) + { + case "contact_grenade_var_mp": + case "semtex_grenade_var_mp": + case "frag_grenade_var_mp": + case "smoke_grenade_var_mp": + case "paint_grenade_var_mp": + case "emp_grenade_var_mp": + case "stun_grenade_var_mp": + if(isdefined(self.prevtacticalvarclass) && self.prevtacticalvarclass == param_00 && isdefined(self.prevtacticalvartype) && self.prevtacticalvartype != param_02) + { + var_05 = self.prevtacticalvartype; + self takeweapon(param_02); + self.loadoutoffhand = var_05; + self settacticalweapon(var_05); + maps\mp\_utility::giveperk(var_05,0); + param_02 = var_05; + } + + self.prevtacticalvarclass = param_00; + self.prevtacticalvartype = param_02; + break; + + default: + self.prevtacticalvarclass = undefined; + self.prevtacticalvartype = undefined; + break; + } + + for(;;) + { + self waittill("switched_var_grenade",var_06); + if(issubstr(var_06,"_lefthand")) + { + self.prevtacticalvartype = var_06; + continue; + } + + self.prevlethalvartype = var_06; + } } //Function Number: 57 @@ -3685,11 +3773,107 @@ isvalidprimary(param_00) case "iw5_dlcgun7loot0": case "iw5_dlcgun6loot5": case "iw5_dlcgun6": - break; + return 1; default: break; } + + if(maps\mp\_utility::islootweapon(param_00)) + { + param_00 = getbasefromlootversion(param_00); + } + + switch(param_00) + { + case "iw5_dlcgun52": + case "iw5_dlcgun51": + case "iw5_dlcgun50": + case "iw5_dlcgun49": + case "iw5_dlcgun48": + case "iw5_dlcgun47": + case "iw5_dlcgun46": + case "iw5_dlcgun45": + case "iw5_dlcgun44": + case "iw5_dlcgun43": + case "iw5_dlcgun42": + case "iw5_dlcgun41": + case "iw5_dlcgun40": + case "iw5_dlcgun39": + case "iw5_dlcgun38": + case "iw5_dlcgun37": + case "iw5_dlcgun36": + case "iw5_dlcgun35": + case "iw5_dlcgun34": + case "iw5_dlcgun33": + case "iw5_dlcgun32": + case "iw5_dlcgun31": + case "iw5_dlcgun30": + case "iw5_dlcgun29": + case "iw5_dlcgun28": + case "iw5_dlcgun27": + case "iw5_dlcgun26": + case "iw5_dlcgun25": + case "iw5_dlcgun24": + case "iw5_dlcgun23": + case "iw5_dlcgun22": + case "iw5_dlcgun21": + case "iw5_dlcgun20": + case "iw5_dlcgun19": + case "iw5_dlcgun18": + case "iw5_dlcgun4": + case "iw5_dlcgun3": + case "iw5_dlcgun1": + case "iw5_exoxmgjugg": + case "iw5_juggtitan45": + case "iw5_microdronelauncher": + case "iw5_epm3": + case "iw5_em1atlas": + case "iw5_em1gold": + case "iw5_em1": + case "iw5_uts19": + case "iw5_rhino": + case "iw5_maul": + case "iw5_kf5": + case "iw5_asm1": + case "iw5_sac3": + case "iw5_hmr9": + case "iw5_sn6": + case "iw5_mp11": + case "iw5_asaw": + case "iw5_m182spr": + case "iw5_arx160": + case "iw5_himar": + case "iw5_lsat": + case "iw5_hbra3": + case "iw5_bal27atlas": + case "iw5_bal27": + case "iw5_ak12ghosts": + case "iw5_ak12": + case "iw5_exoshield": + case "iw5_riotshieldjugg": + case "iw5_riotshieldt6": + case "iw5_spas12": + case "iw5_msr": + case "iw5_barrett": + case "iw5_pp90m1": + case "iw5_mp5": + case "riotshield": + case "iw5_exoxmg": + case "iw5_thor": + case "iw5_m990": + case "iw5_gm6": + case "iw5_mors": + case "iw5_dlcgun2": + case "iw5_exominigun": + case "iw5_mechpunch": + case "iw5_combatknife": + return 1; + + default: + recordvalidationinfraction(); + return 0; + } } //Function Number: 83 @@ -3715,11 +3899,56 @@ isvalidsecondary(param_00,param_01) case "iw5_dlcgun11loot4": case "iw5_dlcgun11loot3": case "iw5_dlcgun11loot2": - break; + return 1; default: break; } + + if(maps\mp\_utility::islootweapon(param_00)) + { + param_00 = getbasefromlootversion(param_00); + } + + switch(param_00) + { + case "iw5_juggtitan45_mp": + case "iw5_exocrossbowblops2": + case "iw5_exocrossbow": + case "iw5_titan45atlas": + case "iw5_titan45loot9": + case "iw5_titan45loot8": + case "iw5_titan45loot7": + case "iw5_titan45loot6": + case "iw5_titan45loot5": + case "iw5_titan45loot4": + case "iw5_titan45loot3": + case "iw5_titan45loot2": + case "iw5_titan45loot1": + case "iw5_titan45loot0": + case "iw5_titan45": + case "iw5_rw1": + case "iw5_pbw": + case "iw5_vbr": + case "iw5_mp412jugg": + case "iw5_usp45jugg": + case "stinger": + case "rpg": + case "iw5_spas12": + case "iw5_mahem": + case "iw5_maaws": + case "iw5_stingerm7": + case "iw5_mechpunch": + case "iw5_usp45": + case "iw5_combatknife": + case "m320": + case "none": + return 1; + + default: + recordvalidationinfraction(); + return 0; + } } //Function Number: 84 @@ -3803,11 +4032,26 @@ isvalidattachment(param_00,param_01,param_02) case "gp25": case "gl": case "none": + var_03 = 1; break; default: + var_03 = 0; break; } + + if(var_03 && param_00 != "none") + { + var_04 = maps\mp\_utility::getweaponattachmentarrayfromstats(param_01); + var_03 = common_scripts\utility::array_contains(var_04,param_00); + } + + if(!var_03 && param_02) + { + recordvalidationinfraction(); + } + + return var_03; } //Function Number: 85 @@ -3857,7 +4101,7 @@ isvalidcamo(param_00,param_01) case "multicame": case "gold": case "none": - break; + return 1; case "camo14": case "camo13": @@ -3873,10 +4117,14 @@ isvalidcamo(param_00,param_01) case "camo03": case "camo02": case "camo01": - break; + return 1; default: - break; + recordvalidationinfraction(); + if(!isdefined(param_01) || !param_01) + { + } + return 0; } } @@ -3937,10 +4185,14 @@ isvalidreticle(param_00,param_01) case "ret2": case "ret1": case "none": - break; + return 1; default: - break; + recordvalidationinfraction(); + if(!isdefined(param_01) || !param_01) + { + } + return 0; } } @@ -4009,10 +4261,11 @@ isvalidequipment(param_00,param_01) case "specialty_null": case "frag_grenade_mp": case "claymore_mp": - break; + return 1; default: - break; + recordvalidationinfraction(); + return 0; } } @@ -4041,10 +4294,11 @@ isvalidoffhand(param_00,param_01) case "adrenaline_mp": case "specialty_null": case "none": - break; + return 1; default: - break; + recordvalidationinfraction(); + return 0; } } @@ -4130,9 +4384,10 @@ isvalidkillstreak(param_00) case "mp_prison": case "mp_refraction": case "none": - break; + return 1; default: - break; + recordvalidationinfraction(); + return 0; } } \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/gametypes/_damage.gsc b/AW/PC/maps/mp/gametypes/_damage.gsc similarity index 94% rename from AW/PC/MP/maps/mp/gametypes/_damage.gsc rename to AW/PC/maps/mp/gametypes/_damage.gsc index c1aed4a..9c43325 100644 --- a/AW/PC/MP/maps/mp/gametypes/_damage.gsc +++ b/AW/PC/maps/mp/gametypes/_damage.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_damage.gsc + * Decompiled File: mp\gametypes\_damage.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 98 - * Decompile Time: 1600 ms - * Timestamp: 10/27/2023 1:50:09 AM + * Decompile Time: 1540 ms + * Timestamp: 4/22/2024 2:09:15 AM *******************************************************************/ //Function Number: 1 @@ -1555,20 +1555,25 @@ dofinalkillcam() switch(level.finalkillcam_sweapon[var_03.team]) { case "artillery_mp": + var_03 maps\mp\gametypes\_missions::processchallenge("ch_finishingtouch"); break; case "stealth_bomb_mp": + var_03 maps\mp\gametypes\_missions::processchallenge("ch_technokiller"); break; case "sentry_minigun_mp": + var_03 maps\mp\gametypes\_missions::processchallenge("ch_absentee"); break; case "ac130_40mm_mp": case "ac130_105mm_mp": case "ac130_25mm_mp": + var_03 maps\mp\gametypes\_missions::processchallenge("ch_deathfromabove"); break; case "remotemissile_projectile_mp": + var_03 maps\mp\gametypes\_missions::processchallenge("ch_dronekiller"); break; default: @@ -1576,6 +1581,33 @@ dofinalkillcam() } } } + + waitforstream(var_03); + var_0F = gettime() - var_02.deathtime / 1000; + foreach(var_11 in level.players) + { + var_11 maps\mp\_utility::revertvisionsetforplayer(0); + var_11 setblurforplayer(0,0); + var_11.killcamentitylookat = var_02 getentitynumber(); + if(isdefined(var_03) && isdefined(var_03.lastspawntime)) + { + var_12 = gettime() - var_03.lastspawntime / 1000; + } + else + { + var_12 = 0; + } + + var_11 thread maps\mp\gametypes\_killcam::killcam(var_03,var_04,var_05,var_06,var_08,var_0F + var_09,var_0A,0,getkillcambuffertime(),var_03,var_02,var_0D,var_0E,var_12,var_07); + } + + wait(0.1); + while(anyplayersinkillcam()) + { + wait(0.05); + } + + endfinalkillcam(); } //Function Number: 35 @@ -1617,7 +1649,7 @@ getkillcamentity(param_00,param_01,param_02) switch(param_02) { case "boost_slam_mp": - break; + return param_01; case "iw5_dlcgun12loot6_mp": case "remotemissile_projectile_cluster_child_mp": @@ -1631,39 +1663,86 @@ getkillcamentity(param_00,param_01,param_02) case "explosive_drone_mp": case "bouncingbetty_mp": case "bomb_site_mp": - break; + return param_01.killcament; case "killstreak_laser2_mp": + if(isdefined(param_01.samturret) && isdefined(param_01.samturret.killcament)) + { + return param_01.samturret.killcament; + } break; case "ball_drone_projectile_mp": case "ball_drone_gun_mp": + if(isplayer(param_00) && isdefined(param_00.balldrone) && isdefined(param_00.balldrone.turret) && isdefined(param_00.balldrone.turret.killcament)) + { + return param_00.balldrone.turret.killcament; + } break; case "drone_assault_remote_turret_mp": case "ugv_missile_mp": + if(isdefined(param_01.killcament)) + { + return param_01.killcament; + } + else + { + return undefined; + } + break; case "assaultdrone_c4_mp": + if(isdefined(param_01.hasaioption) && param_01.hasaioption) + { + return param_01; + } + else + { + return undefined; + } + break; case "warbird_missile_mp": case "dam_turret_mp": case "killstreak_solar_mp": + if(isdefined(param_01) && isdefined(param_01.killcament)) + { + return param_01.killcament; + } break; case "warbird_remote_turret_mp": + if(isdefined(param_01) && isdefined(param_01.killcament)) + { + return param_01.killcament; + } + else + { + return undefined; + } + break; case "orbital_laser_fov_mp": - break; + return undefined; case "killstreakmahem_mp": case "remote_energy_turret_mp": case "sentry_minigun_mp": + if(isdefined(param_01) && isdefined(param_01.remotecontrolled)) + { + return undefined; + } break; case "none": + if(isdefined(param_01.targetname) && param_01.targetname == "care_package") + { + return param_01.killcament; + } break; case "killstreak_terrace_mp": @@ -1673,11 +1752,44 @@ getkillcamentity(param_00,param_01,param_02) case "ac130_40mm_mp": case "ac130_105mm_mp": case "ac130_25mm_mp": - break; + return undefined; case "iw5_dlcgun12loot8_mp": + if(isdefined(param_01.killcament)) + { + return param_01.killcament; + } + else + { + return undefined; + } + break; } + + if(maps\mp\_utility::isdestructibleweapon(param_02) || maps\mp\_utility::isbombsiteweapon(param_02)) + { + if(isdefined(param_01.killcament) && !param_00 attackerinremotekillstreak()) + { + return param_01.killcament; + } + else + { + return undefined; + } + } + + if(maps\mp\gametypes\_killcam::isworldkillcam(param_01,param_00)) + { + return param_00.killcament; + } + + if(!isdefined(param_01) || param_00 == param_01 && !isagent(param_00)) + { + return undefined; + } + + return param_01; } //Function Number: 38 @@ -1811,8 +1923,10 @@ ishardwrireprotected(param_00) { case "mp_lab_gas": case "killstreak_strike_missile_gas_mp": - break; + return 1; } + + return 0; } //Function Number: 41 @@ -2523,8 +2637,10 @@ shouldweaponfeedback(param_00) { case "stealth_bomb_mp": case "artillery_mp": - break; + return 0; } + + return 1; } //Function Number: 43 @@ -2638,8 +2754,10 @@ is_countered_by_hardwired(param_00) case "emp_grenade_mp": case "paint_grenade_mp": case "stun_grenade_mp": - break; + return 1; } + + return 0; } //Function Number: 48 @@ -3191,7 +3309,7 @@ gethitlocheight(param_00) case "neck": case "helmet": case "head": - break; + return 60; case "left_hand": case "right_hand": @@ -3201,23 +3319,25 @@ gethitlocheight(param_00) case "right_arm_upper": case "torso_upper": case "gun": - break; + return 48; case "torso_lower": - break; + return 40; case "left_leg_upper": case "right_leg_upper": - break; + return 32; case "left_leg_lower": case "right_leg_lower": - break; + return 10; case "left_foot": case "right_foot": - break; + return 5; } + + return 48; } //Function Number: 67 @@ -3226,59 +3346,61 @@ gethitloctag(param_00) switch(param_00) { case "helmet": - break; + return "j_neck"; case "head": - break; + return "j_neck"; case "neck": - break; + return "j_neck"; case "torso_upper": - break; + return "j_neck"; case "right_arm_upper": - break; + return "J_Shoulder_RI"; case "left_arm_upper": - break; + return "J_Shoulder_LE"; case "right_arm_lower": - break; + return "J_Elbow_RI"; case "left_arm_lower": - break; + return "J_Elbow_LE"; case "right_hand": - break; + return "J_Wrist_RI"; case "left_hand": - break; + return "J_Wrist_LE"; case "gun": - break; + return "J_Wrist_RI"; case "torso_lower": - break; + return "J_SpineLower"; case "right_leg_upper": - break; + return "J_Hip_RI"; case "left_leg_upper": - break; + return "J_Hip_LE"; case "right_leg_lower": - break; + return "J_Knee_RI"; case "left_leg_lower": - break; + return "J_Knee_LE"; case "right_foot": - break; + return "J_Ankle_RI"; case "left_foot": - break; + return "J_Ankle_LE"; } + + return undefined; } //Function Number: 68 @@ -3907,6 +4029,95 @@ processdamagetaken(param_00,param_01,param_02,param_03,param_04,param_05,param_0 case "paint_grenade_mp": break; } + + if(isdefined(level.ishorde) && level.ishorde) + { + self.damageloc = param_0B; + } + + var_0C = [[ self.modifydamagefunc ]](param_01,param_05,param_04,param_02); + if(isdefined(level.ishorde) && level.ishorde) + { + self.damageloc = undefined; + } + } + + if(var_0C < 0) + { + return 1; + } + + if(isdefined(param_03) && param_03 & level.idflags_penetration) + { + self.wasdamagedfrombulletpenetration = 1; + } + + self.wasdamaged = 1; + self.damagetaken = self.damagetaken + var_0C; + maps\mp\killstreaks\_killstreaks::killstreakhit(param_01,param_05,self); + if(isdefined(param_01) && isplayer(param_01)) + { + param_01 maps\mp\gametypes\_damagefeedback::updatedamagefeedback(self.damagefeedback); + if(isnewattacker(param_01)) + { + self.attackerlist[self.attackerlist.size] = param_01; + } + } + + if(self.damagetaken >= self.maxhealth) + { + if(self.biskillstreak && isplayer(param_01)) + { + param_01 notify("destroyed_killstreak",param_05); + } + + if(self.classname == "script_vehicle" || self.classname == "script_model") + { + var_0E = maps\mp\_utility::getbaseweaponname(param_05,1); + if(maps\mp\_utility::islootweapon(var_0E)) + { + var_0E = maps\mp\gametypes\_class::getbasefromlootversion(var_0E); + } + + var_0F = maps\mp\gametypes\_missions::get_challenge_weapon_class(param_05,var_0E); + if(isdefined(self.model) && var_0F == "weapon_launcher") + { + if(issubstr(self.model,"uav")) + { + if(isdefined(level.challengeinfo["ch_uav_" + var_0E])) + { + param_01 maps\mp\gametypes\_missions::processchallenge("ch_uav_" + var_0E); + } + } + + if(issubstr(self.model,"warbird")) + { + if(isdefined(level.challengeinfo["ch_warbird_" + var_0E])) + { + param_01 maps\mp\gametypes\_missions::processchallenge("ch_warbird_" + var_0E); + } + } + + if(issubstr(self.model,"orbital_platform")) + { + if(isdefined(level.challengeinfo["ch_paladin_" + var_0E])) + { + param_01 maps\mp\gametypes\_missions::processchallenge("ch_paladin_" + var_0E); + } + } + + if(issubstr(self.model,"drone") && !issubstr(self.model,"uav")) + { + if(isdefined(level.challengeinfo["ch_drone_" + var_0E])) + { + param_01 maps\mp\gametypes\_missions::processchallenge("ch_drone_" + var_0E); + } + } + } + } + + self.stopdamagefunc = 1; + self thread [[ self.ondeathfunc ]](param_01,param_05,param_04,param_02); } } @@ -3959,9 +4170,26 @@ handlemissiledamage(param_00,param_01,param_02) case "remotemissile_projectile_cluster_parent_mp": case "remotemissile_projectile_mp": case "bomb_site_mp": + self.largeprojectiledamage = 1; + var_03 = self.maxhealth + 1; break; case "killstreak_laser2_mp": + self.largeprojectiledamage = 1; + var_04 = level.sentrygun.ownerlist; + var_05 = 0.34; + if(isdefined(var_04) && var_04.size > 0) + { + var_06 = var_04.size; + if(var_04.size >= 3) + { + var_06 = 3; + } + + var_05 = var_05 * var_06; + } + + var_03 = self.maxhealth * var_05; break; case "killstreak_orbital_laser_mp": @@ -3969,12 +4197,18 @@ handlemissiledamage(param_00,param_01,param_02) case "assaultdrone_c4_mp": case "ugv_missile_mp": case "turretheadrocket_mp": + self.largeprojectiledamage = 0; + var_03 = self.maxhealth + 1; break; case "orbitalsupport_40mmbuddy_mp": case "orbitalsupport_40mm_mp": + self.largeprojectiledamage = 0; + var_03 = var_03 * 2; break; } + + return var_03; } //Function Number: 94 @@ -3993,12 +4227,19 @@ handlegrenadedamage(param_00,param_01,param_02) case "explosive_drone_mp": case "semtex_mp": case "frag_grenade_mp": + param_02 = param_02 * 4; break; default: + if(maps\mp\_utility::isstrstart(param_00,"alt_")) + { + param_02 = param_02 * 3; + } break; } } + + return param_02; } //Function Number: 95 diff --git a/AW/PC/maps/mp/gametypes/_damagefeedback.gsc b/AW/PC/maps/mp/gametypes/_damagefeedback.gsc new file mode 100644 index 0000000..5b0e0ef --- /dev/null +++ b/AW/PC/maps/mp/gametypes/_damagefeedback.gsc @@ -0,0 +1,126 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\gametypes\_damagefeedback.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 63 ms + * Timestamp: 4/22/2024 2:09:16 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ +} + +//Function Number: 2 +updatedamagefeedback(param_00,param_01) +{ + if(!isplayer(self) || !isdefined(param_00)) + { + return; + } + + switch(param_00) + { + case "scavenger": + self playlocalsound("scavenger_pack_pickup"); + if(!level.hardcoremode) + { + setdamagefeedbackclientomnvar(param_00); + } + break; + + case "hitspecialarmor": + setdamagefeedbackclientomnvar("hitspecialarmor"); + break; + + case "hitjuggernaut": + case "hitlightarmor": + case "hitblastshield": + self playlocalsound("mp_hit_armor"); + setdamagefeedbackclientomnvar(param_00); + break; + + case "mp_solar": + if(!isdefined(self.shouldloopdamagefeedback)) + { + if(isdefined(level.mapkillstreakdamagefeedbacksound)) + { + self thread [[ level.mapkillstreakdamagefeedbacksound ]](); + } + } + else + { + self.damagefeedbacktimer = 10; + } + break; + + case "laser": + if(isdefined(level.sentrygun)) + { + if(!isdefined(self.shouldloopdamagefeedback)) + { + if(isdefined(level.mapkillstreakdamagefeedbacksound)) + { + self thread [[ level.mapkillstreakdamagefeedbacksound ]](level.sentrygun); + } + } + } + break; + + case "headshot": + self playlocalsound("mp_hit_headshot"); + setdamagefeedbackclientomnvar("headshot"); + break; + + case "hitmorehealth": + self playlocalsound("mp_hit_armor"); + setdamagefeedbackclientomnvar("hitmorehealth"); + break; + + case "killshot": + self playlocalsound("mp_hit_kill"); + setdamagefeedbackclientomnvar("killshot"); + break; + + case "killshot_headshot": + self playlocalsound("mp_hit_kill_headshot"); + setdamagefeedbackclientomnvar("killshot_headshot"); + break; + + case "nosound": + setdamagefeedbackclientomnvar("standard"); + break; + + case "none": + break; + + default: + self playlocalsound("mp_hit_default"); + setdamagefeedbackclientomnvar("standard"); + break; + } +} + +//Function Number: 3 +setdamagefeedbackclientomnvar(param_00) +{ + var_01 = gettime(); + if(isdefined(self.damagefeedbacktime)) + { + var_02 = self.damagefeedbacktime; + } + else + { + var_02 = 0; + } + + if(var_01 - var_02 < 300 && self getclientomnvar("damage_feedback") == param_00) + { + return; + } + + self.damagefeedbacktime = var_01; + self setclientomnvar("damage_feedback",param_00); +} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/gametypes/_deathicons.gsc b/AW/PC/maps/mp/gametypes/_deathicons.gsc similarity index 93% rename from AW/PC/MP/maps/mp/gametypes/_deathicons.gsc rename to AW/PC/maps/mp/gametypes/_deathicons.gsc index 8526750..489ba68 100644 --- a/AW/PC/MP/maps/mp/gametypes/_deathicons.gsc +++ b/AW/PC/maps/mp/gametypes/_deathicons.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_deathicons.gsc + * Decompiled File: mp\gametypes\_deathicons.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 5 - * Decompile Time: 70 ms - * Timestamp: 10/27/2023 1:50:10 AM + * Decompile Time: 83 ms + * Timestamp: 4/22/2024 2:09:16 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/gametypes/_dev.gsc b/AW/PC/maps/mp/gametypes/_dev.gsc similarity index 87% rename from AW/PC/MP/maps/mp/gametypes/_dev.gsc rename to AW/PC/maps/mp/gametypes/_dev.gsc index 0bf4109..4c3d82f 100644 --- a/AW/PC/MP/maps/mp/gametypes/_dev.gsc +++ b/AW/PC/maps/mp/gametypes/_dev.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_dev.gsc + * Decompiled File: mp\gametypes\_dev.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 9 - * Decompile Time: 155 ms - * Timestamp: 10/27/2023 1:50:11 AM + * Decompile Time: 173 ms + * Timestamp: 4/22/2024 2:09:17 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/gametypes/_divisions.gsc b/AW/PC/maps/mp/gametypes/_divisions.gsc similarity index 99% rename from AW/PC/MP/maps/mp/gametypes/_divisions.gsc rename to AW/PC/maps/mp/gametypes/_divisions.gsc index dae1050..59cebbc 100644 --- a/AW/PC/MP/maps/mp/gametypes/_divisions.gsc +++ b/AW/PC/maps/mp/gametypes/_divisions.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\gametypes\_divisions.gsc + * Decompiled File: mp\gametypes\_divisions.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 26 - * Decompile Time: 493 ms - * Timestamp: 10/27/2023 1:41:45 AM + * Decompile Time: 535 ms + * Timestamp: 4/22/2024 2:09:19 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/gametypes/_equipment.gsc b/AW/PC/maps/mp/gametypes/_equipment.gsc similarity index 63% rename from AW/PC/MP/maps/mp/gametypes/_equipment.gsc rename to AW/PC/maps/mp/gametypes/_equipment.gsc index bc37da8..1705c6d 100644 --- a/AW/PC/MP/maps/mp/gametypes/_equipment.gsc +++ b/AW/PC/maps/mp/gametypes/_equipment.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_equipment.gsc + * Decompiled File: mp\gametypes\_equipment.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 16 - * Decompile Time: 241 ms - * Timestamp: 10/27/2023 1:50:12 AM + * Decompile Time: 266 ms + * Timestamp: 4/22/2024 2:09:20 AM *******************************************************************/ //Function Number: 1 @@ -204,45 +204,131 @@ trophyactive(param_00,param_01,param_02,param_03) } var_04 = param_01 * param_01; - if(!isdefined(level.grenades) || level.grenades.size < 1 && level.missiles.size < 1 && level.trackingdrones.size < 1 || isdefined(self.disabled) || self.stunned == 1) + for(;;) { - wait(0.05); - continue; - } - - var_05 = common_scripts\utility::array_combine(level.grenades,level.missiles); - var_05 = common_scripts\utility::array_combine(var_05,level.trackingdrones); - if(var_05.size < 1) - { - wait(0.05); - continue; - } - - var_06 = var_05; - var_0A = getfirstarraykey(var_06); - if(isdefined(var_0A)) - { - var_07 = var_06[var_0A]; - wait(0.05); - if(!isdefined(var_07)) + if(!isdefined(level.grenades) || level.grenades.size < 1 && level.missiles.size < 1 && level.trackingdrones.size < 1 || isdefined(self.disabled) || self.stunned == 1) { + wait(0.05); continue; } - if(var_07 == self) + var_05 = common_scripts\utility::array_combine(level.grenades,level.missiles); + var_05 = common_scripts\utility::array_combine(var_05,level.trackingdrones); + if(var_05.size < 1) { + wait(0.05); continue; } - if(isdefined(var_07.weaponname)) + foreach(var_07 in var_05) { - switch(var_07.weaponname) + wait(0.05); + if(!isdefined(var_07)) { - case "orbital_carepackage_droppod_mp": - case "orbital_carepackage_pod_mp": - case "claymore_mp": + continue; + } + + if(var_07 == self) + { + continue; + } + + if(isdefined(var_07.weaponname)) + { + switch(var_07.weaponname) + { + case "orbital_carepackage_droppod_mp": + case "orbital_carepackage_pod_mp": + case "claymore_mp": + break; + } + } + + switch(var_07.model) + { + case "mp_trophy_system": + case "weapon_radar": + case "weapon_jammer": + case "weapon_parabolic_knife": break; } + + if(!isdefined(var_07.owner)) + { + var_07.owner = getmissileowner(var_07); + } + + if(isdefined(var_07.owner) && level.teambased && var_07.owner.team == param_00.team) + { + continue; + } + + if(isdefined(var_07.owner) && var_07.owner == param_00) + { + continue; + } + + if(!trophywithinmindot(var_07)) + { + continue; + } + + var_08 = distancesquared(var_07.origin,self.origin); + if(var_08 < var_04) + { + if(bullettracepassed(var_07.origin,self.origin,0,self)) + { + var_09 = self.origin + (0,0,32); + if(isdefined(self.laserent)) + { + var_09 = self.laserent.origin; + } + + playfx(level.sentry_fire,var_09,var_07.origin - self.origin,anglestoup(self.angles)); + thread trophyhandlelaser(param_00,var_07); + self playsound("trophy_detect_projectile"); + if(isdefined(var_07.classname) && var_07.classname == "rocket" && isdefined(var_07.type) && var_07.type == "remote") + { + if(isdefined(var_07.type) && var_07.type == "remote") + { + level thread maps\mp\gametypes\_missions::vehiclekilled(var_07.owner,param_00,undefined,param_00,undefined,"MOD_EXPLOSIVE",param_03); + level thread maps\mp\_utility::teamplayercardsplash("callout_destroyed_predator_missile",param_00); + level thread maps\mp\gametypes\_rank::awardgameevent("kill",param_00,param_03,undefined,"MOD_EXPLOSIVE"); + param_00 notify("destroyed_killstreak",param_03); + } + + if(isdefined(level.chopper_fx["explode"]["medium"])) + { + playfx(level.chopper_fx["explode"]["medium"],var_07.origin); + } + + if(isdefined(level.barrelexpsound)) + { + var_07 playsound(level.barrelexpsound); + } + } + + if(isdefined(var_07.type) && var_07.type == "tracking_drone") + { + var_07 thread maps\mp\_tracking_drone::trackingdrone_leave(); + } + else + { + param_00 thread projectileexplode(var_07,self); + param_00 maps\mp\gametypes\_missions::processchallenge("ch_noboomforyou"); + } + + if(!param_02) + { + self.ammo--; + } + + if(self.ammo <= 0) + { + thread trophybreak(); + } + } + } } } } @@ -351,37 +437,77 @@ trophydamage(param_00) self.health = 999999; self.maxhealth = 100; self.damagetaken = 0; - self waittill("damage",var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A); - if(!isplayer(var_02)) + for(;;) { - continue; - } - - if(!maps\mp\gametypes\_weapons::friendlyfirecheck(self.owner,var_02)) - { - continue; - } - - if(isdefined(var_0A)) - { - var_0B = maps\mp\_utility::strip_suffix(var_0A,"_lefthand"); - } - else - { - var_0B = undefined; - } - - if(isdefined(var_0B)) - { - switch(var_0B) + self waittill("damage",var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A); + if(!isplayer(var_02)) { - case "smoke_grenade_var_mp": - case "stun_grenade_var_mp": - case "smoke_grenade_mp": - case "stun_grenade_mp": - case "concussion_grenade_mp": - case "flash_grenade_mp": - break; + continue; + } + + if(!maps\mp\gametypes\_weapons::friendlyfirecheck(self.owner,var_02)) + { + continue; + } + + if(isdefined(var_0A)) + { + var_0B = maps\mp\_utility::strip_suffix(var_0A,"_lefthand"); + } + else + { + var_0B = undefined; + } + + if(isdefined(var_0B)) + { + switch(var_0B) + { + case "smoke_grenade_var_mp": + case "stun_grenade_var_mp": + case "smoke_grenade_mp": + case "stun_grenade_mp": + case "concussion_grenade_mp": + case "flash_grenade_mp": + break; + } + } + + if(!isdefined(self)) + { + return; + } + + if(maps\mp\_utility::ismeleemod(var_05)) + { + self.damagetaken = self.damagetaken + self.maxhealth; + } + + if(isdefined(var_09) && var_09 & level.idflags_penetration) + { + self.wasdamagedfrombulletpenetration = 1; + } + + self.wasdamaged = 1; + if(isdefined(var_0B) && var_0B == "emp_grenade_mp" || var_0B == "emp_grenade_var_mp" || var_0B == "emp_grenade_killstreak_mp") + { + self.damagetaken = self.damagetaken + self.maxhealth; + } + + self.damagetaken = self.damagetaken + var_01; + if(isplayer(var_02)) + { + var_02 maps\mp\gametypes\_damagefeedback::updatedamagefeedback("trophy"); + } + + if(self.damagetaken >= self.maxhealth) + { + if(isdefined(param_00) && var_02 != param_00) + { + var_02 notify("destroyed_explosive"); + } + + thread trophybreak(); } } } diff --git a/AW/PC/MP/maps/mp/gametypes/_friendicons.gsc b/AW/PC/maps/mp/gametypes/_friendicons.gsc similarity index 95% rename from AW/PC/MP/maps/mp/gametypes/_friendicons.gsc rename to AW/PC/maps/mp/gametypes/_friendicons.gsc index ff0c239..46deeb0 100644 --- a/AW/PC/MP/maps/mp/gametypes/_friendicons.gsc +++ b/AW/PC/maps/mp/gametypes/_friendicons.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_friendicons.gsc + * Decompiled File: mp\gametypes\_friendicons.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 7 - * Decompile Time: 140 ms - * Timestamp: 10/27/2023 1:50:13 AM + * Decompile Time: 123 ms + * Timestamp: 4/22/2024 2:09:21 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/gametypes/_gamelogic.gsc b/AW/PC/maps/mp/gametypes/_gamelogic.gsc similarity index 93% rename from AW/PC/MP/maps/mp/gametypes/_gamelogic.gsc rename to AW/PC/maps/mp/gametypes/_gamelogic.gsc index fe058a6..f23474f 100644 --- a/AW/PC/MP/maps/mp/gametypes/_gamelogic.gsc +++ b/AW/PC/maps/mp/gametypes/_gamelogic.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_gamelogic.gsc + * Decompiled File: mp\gametypes\_gamelogic.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 97 - * Decompile Time: 1539 ms - * Timestamp: 10/27/2023 1:50:18 AM + * Decompile Time: 1477 ms + * Timestamp: 4/22/2024 2:09:25 AM *******************************************************************/ //Function Number: 1 @@ -704,28 +704,100 @@ updatewinstats(param_00) switch(level.gametype) { case "war": + if(game["teamScores"][param_00.team] >= game["teamScores"][maps\mp\_utility::getotherteam(param_00.team)] + 20) + { + param_00 maps\mp\gametypes\_missions::processchallenge("ch_war_crushing"); + } break; case "hp": + if(game["teamScores"][param_00.team] >= game["teamScores"][maps\mp\_utility::getotherteam(param_00.team)] + 70) + { + param_00 maps\mp\gametypes\_missions::processchallenge("ch_hp_crushing"); + } break; case "conf": + if(game["teamScores"][param_00.team] >= game["teamScores"][maps\mp\_utility::getotherteam(param_00.team)] + 15) + { + param_00 maps\mp\gametypes\_missions::processchallenge("ch_conf_crushing"); + } break; case "ball": + if(game["teamScores"][param_00.team] >= game["teamScores"][maps\mp\_utility::getotherteam(param_00.team)] + 7) + { + param_00 maps\mp\gametypes\_missions::processchallenge("ch_ball_crushing"); + } break; case "infect": + if(param_00.team == "allies") + { + if(game["teamScores"][param_00.team] >= 4) + { + param_00 maps\mp\gametypes\_missions::processchallenge("ch_infect_crushing"); + } + + if(game["teamScores"][maps\mp\_utility::getotherteam(param_00.team)] == 1) + { + param_00 maps\mp\gametypes\_missions::processchallenge("ch_infect_cleanup"); + } + } break; case "dm": + if(isdefined(level.placement["all"][0])) + { + var_02 = level.placement["all"][0]; + var_03 = 9999; + if(param_00 == var_02) + { + foreach(var_05 in level.players) + { + if(param_00 == var_05) + { + continue; + } + + var_06 = param_00.score - var_05.score; + if(var_06 < var_03) + { + var_03 = var_06; + } + } + + if(var_03 >= 7) + { + param_00 maps\mp\gametypes\_missions::processchallenge("ch_dm_crushing"); + } + } + } break; case "gun": + foreach(var_09 in level.players) + { + if(param_00 == var_09) + { + continue; + } + + if(param_00.score < var_09.score + 5) + { + break; + } + } + + param_00 maps\mp\gametypes\_missions::processchallenge("ch_gun_crushing"); break; case "twar": case "ctf": + if(game["shut_out"][param_00.team]) + { + param_00 maps\mp\gametypes\_missions::processchallenge("ch_" + level.gametype + "_crushing"); + } break; } } @@ -760,22 +832,16 @@ checkgameendchallenges() { if(level.gametype == "dom") { - var_00 = level.domflags; - var_06 = getfirstarraykey(var_00); - if(isdefined(var_06)) + foreach(var_01 in level.domflags) { - var_01 = var_00[var_06]; if(!isdefined(var_01.ownedtheentireround) || !var_01.ownedtheentireround) { continue; } var_02 = var_01 maps\mp\gametypes\_gameobjects::getownerteam(); - var_03 = level.players; - var_05 = getfirstarraykey(var_03); - if(isdefined(var_05)) + foreach(var_04 in level.players) { - var_04 = var_03[var_05]; if(var_04.team != var_02) { continue; @@ -784,12 +850,15 @@ checkgameendchallenges() switch(var_01.label) { case "_a": + var_04 maps\mp\gametypes\_missions::processchallenge("ch_dom_alphalock"); break; case "_b": + var_04 maps\mp\gametypes\_missions::processchallenge("ch_dom_bravolock"); break; case "_c": + var_04 maps\mp\gametypes\_missions::processchallenge("ch_dom_charlielock"); break; } } @@ -3195,60 +3264,185 @@ endgame(param_00,param_01,param_02) switch(var_03) { case 1: + var_17 = "MP_SCORE_LIMIT_REACHED"; break; case 2: + var_17 = "MP_TIME_LIMIT_REACHED"; break; case 3: + var_17 = "MP_PLAYERS_FORFEITED"; break; case 4: + var_17 = "MP_TARGET_DESTROYED"; break; case 5: + var_17 = "MP_BOMB_DEFUSED"; break; case 6: + var_17 = "MP_GHOSTS_ELIMINATED"; break; case 7: + var_17 = "MP_FEDERATION_ELIMINATED"; break; case 8: + var_17 = "MP_GHOSTS_FORFEITED"; break; case 9: + var_17 = "MP_FEDERATION_FORFEITED"; break; case 10: + var_17 = "MP_ENEMIES_ELIMINATED"; break; case 11: + var_17 = "MP_MATCH_TIE"; break; case 12: + var_17 = "GAME_OBJECTIVECOMPLETED"; break; case 13: + var_17 = "GAME_OBJECTIVEFAILED"; break; case 14: + var_17 = "MP_SWITCHING_SIDES"; break; case 15: + var_17 = "MP_ROUND_LIMIT_REACHED"; break; case 16: + var_17 = "MP_ENDED_GAME"; break; case 17: + var_17 = "MP_HOST_ENDED_GAME"; break; default: break; } } + + if(!isdefined(var_0B)) + { + var_0B = -1; + } + + var_18 = 15; + var_19 = var_18; + var_1A = getmatchdata("playerCount"); + var_1B = getmatchdata("lifeCount"); + if(!isdefined(level.matchdata)) + { + var_1C = 0; + var_1D = 0; + var_1E = 0; + var_1F = 0; + var_20 = 0; + var_21 = 0; + var_22 = 0; + } + else + { + if(isdefined(level.matchdata["botJoinCount"])) + { + var_1C = level.matchdata["botJoinCount"]; + } + else + { + var_1C = 0; + } + + if(isdefined(level.matchdata["deathCount"])) + { + var_1D = level.matchdata["deathCount"]; + } + else + { + var_1D = 0; + } + + if(isdefined(level.matchdata["badSpawnDiedTooFastCount"])) + { + var_1E = level.matchdata["badSpawnDiedTooFastCount"]; + } + else + { + var_1E = 0; + } + + if(isdefined(level.matchdata["badSpawnKilledTooFastCount"])) + { + var_1F = level.matchdata["badSpawnKilledTooFastCount"]; + } + else + { + var_1F = 0; + } + + if(isdefined(level.matchdata["badSpawnDmgDealtCount"])) + { + var_20 = level.matchdata["badSpawnDmgDealtCount"]; + } + else + { + var_20 = 0; + } + + if(isdefined(level.matchdata["badSpawnDmgReceivedCount"])) + { + var_21 = level.matchdata["badSpawnDmgReceivedCount"]; + } + else + { + var_21 = 0; + } + + if(isdefined(level.matchdata["badSpawnByAnyMeansCount"])) + { + var_22 = level.matchdata["badSpawnByAnyMeansCount"]; + } + else + { + var_22 = 0; + } + } + + var_23 = 0; + if(isdefined(level.spawnsighttracesused_pres1tu)) + { + var_23 = var_23 + 1; + } + + if(isdefined(level.spawnsighttracesused_posts1tu)) + { + var_23 = var_23 + 2; + } + + reconevent("@"script_mp_match_end: script_file %s, gameTime %d, match_winner %s, win_reason %s, version %d, joinCount %d, botJoinCount %d, spawnCount %d, deathCount %d, badSpawnDiedTooFastCount %d, badSpawnKilledTooFastCount %d, badSpawnDmgDealtCount %d, badSpawnDmgReceivedCount %d, badSpawnByAnyMeansCount %d, sightTraceMethodsUsed %d",var_15,var_0B,var_16,var_17,var_19,var_1A,var_1C,var_1B,var_1D,var_1E,var_1F,var_20,var_21,var_22,var_23); + if(isdefined(level.ishorde) && level.ishorde) + { + if(isdefined(level.zombiescompleted) && level.zombiescompleted) + { + setdvar("cg_drawCrosshair",1); + } + } + + level notify("exitLevel_called"); + exitlevel(0); } //Function Number: 75 @@ -3525,23 +3719,48 @@ setweaponstat(param_00,param_01,param_02) switch(var_03) { case "shots": + self.trackingweaponshots++; + self.currentfirefightshots++; break; case "hits": + self.trackingweaponhits++; break; case "headShots": + self.trackingweaponheadshots++; + self.trackingweaponhits++; break; case "kills": + self.trackingweaponkills++; break; case "hipfirekills": + self.trackingweaponhipfirekills++; break; case "timeInUse": + self.trackingweaponusetime = self.trackingweaponusetime + param_02; break; } + + if(var_03 == "deaths") + { + var_07 = maps\mp\_utility::getbaseweaponname(param_01); + if(!maps\mp\_utility::iscacprimaryweapon(var_07) && !maps\mp\_utility::iscacsecondaryweapon(var_07)) + { + return; + } + + var_08 = maps\mp\_utility::getweaponattachmentsbasenames(param_01); + maps\mp\gametypes\_persistence::incrementweaponstat(var_07,var_03,param_02); + maps\mp\_matchdata::logweaponstat(var_07,"deaths",param_02); + foreach(var_0A in var_08) + { + maps\mp\gametypes\_persistence::incrementattachmentstat(var_0A,var_03,param_02); + } + } } //Function Number: 85 diff --git a/AW/PC/MP/maps/mp/gametypes/_gameobjects.gsc b/AW/PC/maps/mp/gametypes/_gameobjects.gsc similarity index 99% rename from AW/PC/MP/maps/mp/gametypes/_gameobjects.gsc rename to AW/PC/maps/mp/gametypes/_gameobjects.gsc index 2a1267f..8cbeeb9 100644 --- a/AW/PC/MP/maps/mp/gametypes/_gameobjects.gsc +++ b/AW/PC/maps/mp/gametypes/_gameobjects.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_gameobjects.gsc + * Decompiled File: mp\gametypes\_gameobjects.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 102 - * Decompile Time: 1603 ms - * Timestamp: 10/27/2023 1:50:23 AM + * Decompile Time: 1606 ms + * Timestamp: 4/22/2024 2:09:30 AM *******************************************************************/ //Function Number: 1 @@ -3022,19 +3022,37 @@ caninteractwith(param_00,param_01) switch(self.interactteam) { case "none": - break; + return 0; case "any": - break; + return 1; case "friendly": + if(param_00 == self.ownerteam) + { + return 1; + } + else + { + return 0; + } + break; case "enemy": + if(param_00 != self.ownerteam) + { + return 1; + } + else + { + return 0; + } + break; default: - break; + return 0; } } diff --git a/AW/PC/MP/maps/mp/gametypes/_gamescore.gsc b/AW/PC/maps/mp/gametypes/_gamescore.gsc similarity index 98% rename from AW/PC/MP/maps/mp/gametypes/_gamescore.gsc rename to AW/PC/maps/mp/gametypes/_gamescore.gsc index d030152..7022b7a 100644 --- a/AW/PC/MP/maps/mp/gametypes/_gamescore.gsc +++ b/AW/PC/maps/mp/gametypes/_gamescore.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_gamescore.gsc + * Decompiled File: mp\gametypes\_gamescore.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 22 - * Decompile Time: 338 ms - * Timestamp: 10/27/2023 1:50:25 AM + * Decompile Time: 346 ms + * Timestamp: 4/22/2024 2:09:32 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/gametypes/_globallogic.gsc b/AW/PC/maps/mp/gametypes/_globallogic.gsc similarity index 81% rename from AW/PC/MP/maps/mp/gametypes/_globallogic.gsc rename to AW/PC/maps/mp/gametypes/_globallogic.gsc index ae17169..29a67e1 100644 --- a/AW/PC/MP/maps/mp/gametypes/_globallogic.gsc +++ b/AW/PC/maps/mp/gametypes/_globallogic.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_globallogic.gsc + * Decompiled File: mp\gametypes\_globallogic.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 9 - * Decompile Time: 138 ms - * Timestamp: 10/27/2023 1:50:26 AM + * Decompile Time: 160 ms + * Timestamp: 4/22/2024 2:09:32 AM *******************************************************************/ //Function Number: 1 @@ -101,20 +101,49 @@ init() switch(level.script) { case "mp_zombie_brg": + precacheleaderboards("LB_GM_ZOMBIES_2 LB_GM_ZOMBIES_2_BESTS"); break; case "mp_zombie_ark": + precacheleaderboards("LB_GM_ZOMBIES_3 LB_GM_ZOMBIES_3_BESTS"); break; case "mp_zombie_h2o": + if(isdefined(game["start_in_zmb_hard_mode"]) && game["start_in_zmb_hard_mode"]) + { + precacheleaderboards("LB_GM_ZOMBIES_4X LB_GM_ZOMBIES_4X_BESTS"); + } + else + { + precacheleaderboards("LB_GM_ZOMBIES_4 LB_GM_ZOMBIES_4_BESTS"); + } break; case "mp_zombie_lab": default: + precacheleaderboards("LB_GM_ZOMBIES LB_GM_ZOMBIES_BESTS"); break; } } + else + { + precacheleaderboards("LB_GB_TOTALXP_AT LB_GB_TOTALXP_LT LB_GB_WINS_AT LB_GB_WINS_LT LB_GB_KILLS_AT LB_GB_KILLS_LT LB_GB_ACCURACY_AT LB_ACCOLADES LB_GB_RANKEDPLAY" + var_01 + var_00); + } } + + level.teamcount["allies"] = 0; + level.teamcount["axis"] = 0; + level.teamcount["spectator"] = 0; + level.alivecount["allies"] = 0; + level.alivecount["axis"] = 0; + level.alivecount["spectator"] = 0; + level.livescount["allies"] = 0; + level.livescount["axis"] = 0; + level.onelefttime = []; + level.hasspawned["allies"] = 0; + level.hasspawned["axis"] = 0; + var_02 = 9; + init_multiteamdata(var_02); } //Function Number: 2 diff --git a/AW/PC/MP/maps/mp/gametypes/_healthoverlay.gsc b/AW/PC/maps/mp/gametypes/_healthoverlay.gsc similarity index 98% rename from AW/PC/MP/maps/mp/gametypes/_healthoverlay.gsc rename to AW/PC/maps/mp/gametypes/_healthoverlay.gsc index 5a9b756..0576ffb 100644 --- a/AW/PC/MP/maps/mp/gametypes/_healthoverlay.gsc +++ b/AW/PC/maps/mp/gametypes/_healthoverlay.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_healthoverlay.gsc + * Decompiled File: mp\gametypes\_healthoverlay.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 9 - * Decompile Time: 138 ms - * Timestamp: 10/27/2023 1:50:27 AM + * Decompile Time: 137 ms + * Timestamp: 4/22/2024 2:09:33 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/gametypes/_high_jump_mp.gsc b/AW/PC/maps/mp/gametypes/_high_jump_mp.gsc similarity index 95% rename from AW/PC/MP/maps/mp/gametypes/_high_jump_mp.gsc rename to AW/PC/maps/mp/gametypes/_high_jump_mp.gsc index 117e927..3185709 100644 --- a/AW/PC/MP/maps/mp/gametypes/_high_jump_mp.gsc +++ b/AW/PC/maps/mp/gametypes/_high_jump_mp.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_high_jump_mp.gsc + * Decompiled File: mp\gametypes\_high_jump_mp.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 7 - * Decompile Time: 108 ms - * Timestamp: 10/27/2023 1:50:27 AM + * Decompile Time: 113 ms + * Timestamp: 4/22/2024 2:09:34 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/mp/gametypes/_horde_armory.gsc b/AW/PC/maps/mp/gametypes/_horde_armory.gsc new file mode 100644 index 0000000..72c7aeb --- /dev/null +++ b/AW/PC/maps/mp/gametypes/_horde_armory.gsc @@ -0,0 +1,1235 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\gametypes\_horde_armory.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 31 + * Decompile Time: 469 ms + * Timestamp: 4/22/2024 2:09:35 AM +*******************************************************************/ + +//Function Number: 1 +initarmories() +{ + level.hordearmories = getentarray("horde_armory","targetname"); + foreach(var_01 in level.hordearmories) + { + var_01.monitors = getentarray(var_01.target,"targetname"); + var_01 thread armorythink(); + } +} + +//Function Number: 2 +armorythink() +{ + level endon("armories_online"); + level endon("game_ended"); + self makeusable(); + self hudoutlineenable(5,1); + foreach(var_01 in self.monitors) + { + if(self.script_parameters == "specops_ui_equipmentstore" && var_01.model == "mp_exo_upgrade_screen_01_glass") + { + var_01 setmodel("mp_weapon_upgrade_screen_01_glass"); + } + + var_01 hudoutlineenable(5,1); + } + + var_03 = &"HORDE_ARMORY_EXO"; + var_04 = "specops_ui_exostore"; + if(self.script_parameters == "specops_ui_equipmentstore") + { + var_04 = "specops_ui_weaponstore"; + var_03 = &"HORDE_ARMORY_WEAPONS"; + } + + self sethintstring(var_03); + foreach(var_06 in level.players) + { + self.headicon = maps\mp\_entityheadicons::setheadicon(var_06,var_04,(0,0,48),4,4,undefined,undefined,0,1,undefined,0); + } + + var_08 = maps\mp\gametypes\_gameobjects::getnextobjid(); + objective_add(var_08,"active",self.origin,var_04); + self.objectiveindex = var_08; + for(;;) + { + self waittill("trigger",var_06); + if(iscarryingturrethead(var_06)) + { + var_06 iprintlnbold(&"HORDE_ARMORY_TURRET_DENIED"); + level thread armorypurchasefail(var_06); + continue; + } + + if(isdefined(var_06.changingweapon) && maps\mp\_utility::iskillstreakweapon(var_06.changingweapon)) + { + level thread armorypurchasefail(var_06); + continue; + } + + if(var_06 isusingoffhand() || var_06 isthrowinggrenade() || isdefined(var_06.changingweapon) && var_06.changingweapon == var_06 gettacticalweapon() || var_06.changingweapon == var_06 getlethalweapon()) + { + level thread armorypurchasefail(var_06); + continue; + } + + if(!isdefined(level.empowner)) + { + var_06 setclientomnvar("ui_horde_armory_type",self.script_noteworthy); + var_06 setclientomnvar("ui_horde_show_armory",1); + var_06.usingarmory = 1; + var_06 disableusability(); + var_06 notify("exo_cloak_cancel"); + continue; + } + + var_06 iprintlnbold(&"HORDE_ARMORY_OFFLINE"); + } +} + +//Function Number: 3 +iscarryingturrethead(param_00) +{ + var_01 = param_00 getcurrentprimaryweapon(); + if(issubstr(var_01,"turret")) + { + return 1; + } + + return 0; +} + +//Function Number: 4 +hordedisablearmories() +{ + level endon("game_ended"); + foreach(var_01 in level.hordearmories) + { + foreach(var_03 in level.players) + { + var_01 maps\mp\_entityheadicons::setheadicon("none","",(0,0,0)); + } + + if(isdefined(var_01.headicon)) + { + var_01.headicon destroy(); + } + + maps\mp\_utility::_objective_delete(var_01.objectiveindex); + var_01 hudoutlinedisable(); + foreach(var_06 in var_01.monitors) + { + var_06 hudoutlinedisable(); + } + } + + thread hordearmoryemptimeout(); + level waittill("armories_online"); + foreach(var_01 in level.hordearmories) + { + var_01 thread armorythink(); + } +} + +//Function Number: 5 +hordearmoryemptimeout() +{ + level endon("game_ended"); + maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(level.hordeempduration); + level notify("armories_online"); +} + +//Function Number: 6 +closehordearmoryonoffhandweapon() +{ + level endon("game_ended"); + self endon("disconnect"); + for(;;) + { + self waittill("weapon_switch_started",var_00); + if(self getclientomnvar("ui_horde_show_armory") == 1 && var_00 == self gettacticalweapon() || var_00 == self getlethalweapon()) + { + var_01 = self getclientomnvar("ui_horde_armory_type"); + if(var_01 != "killstreak_armory" && var_01 != "perk_armory") + { + hordecleanuparmory(self); + } + } + } +} + +//Function Number: 7 +classswitchwait() +{ + wait(1); + self.classswitchwaiting = 0; +} + +//Function Number: 8 +monitorupgrades(param_00) +{ + level endon("game_ended"); + level thread horderesetarmory(param_00); + for(;;) + { + param_00.isrunningarmorycommand = 0; + param_00 waittill("luinotifyserver",var_01,var_02); + if(maps\mp\gametypes\_horde_util::isplayerinlaststand(param_00)) + { + continue; + } + + param_00.isrunningarmorycommand = 1; + if(!hordeisarmoryupgrade(var_01)) + { + continue; + } + + var_03 = "mp/hordeMenus.csv"; + var_04 = tablelookup(var_03,0,var_02,2); + var_05 = int(tablelookup(var_03,0,var_02,6)); + if(var_02 == 9999) + { + addarmorypoints(param_00,"support_bar_filled"); + param_00 playsoundtoplayer("new_title_unlocks",param_00); + continue; + } + + if(var_01 == "horde_stat_upgrade") + { + var_06 = 0; + switch(var_04) + { + case "horde_weapon_proficiency": + var_06 = param_00.weaponproficiency; + break; + + case "horde_armor": + var_06 = param_00.hordearmor; + break; + + case "horde_exo_battery": + var_06 = param_00.hordeexobattery; + break; + } + + if(var_06 > 9) + { + var_05 = 10 + int(var_06 - 10 * 0.5); + } + else if(var_06 > 7) + { + var_05 = var_05 + 3; + } + else if(var_06 > 5) + { + var_05 = var_05 + 2; + } + else if(var_06 > 2) + { + var_05 = var_05 + 1; + } + } + + if(hordeshouldupgradefail(param_00,var_01,var_04,var_05)) + { + level thread armorypurchasefail(param_00); + continue; + } + + param_00 playsoundtoplayer("new_title_unlocks",param_00); + param_00 setclientomnvar("ui_horde_armory_purchase",var_02); + switch(var_01) + { + case "horde_exo_class": + if(var_04 == "light" || var_04 == "heavy" || var_04 == "support" || var_04 == "demolition") + { + param_00 notify("horde_class_change"); + param_00.usingarmory = 0; + param_00.classselection = 0; + var_07 = param_00 getclientomnvar("ui_horde_player_class"); + maps\mp\gametypes\_horde_util::check_class_time(param_00); + param_00.classdmgmod = param_00.classsettings[var_04]["classDmgMod"]; + param_00.classmaxhealth = param_00.classsettings[var_04]["classhealth"]; + var_08 = param_00.health / param_00.maxhealth; + param_00.maxhealth = param_00.classmaxhealth + param_00.hordearmor * 40; + param_00.health = int(param_00.maxhealth * var_08); + param_00.movespeedscaler = param_00.classsettings[var_04]["speed"]; + param_00 maps\mp\_utility::playerallowdodge(param_00.classsettings[var_04]["allowDodge"],"class"); + param_00 maps\mp\_utility::playerallowpowerslide(param_00.classsettings[var_04]["allowSlide"],"class"); + var_09 = param_00 gettacticalweapon(); + param_00.classsettings[var_07]["battery"] = param_00 getweaponammoclip(var_09); + if(isdefined(var_07) && var_07 != "none" && isdefined(param_00.loadoutequipment)) + { + var_0A = param_00 getlethalweapon(); + param_00.hordeclassweapons[var_07]["lethalStoredGrenade"] = var_0A; + param_00.hordeclassweapons[var_07]["lethalStoredGrenadeStock"] = param_00 setweaponammostock(var_0A); + } + + if(isdefined(var_07) && var_07 != "none" && isdefined(param_00.hordeclassweapons[var_07]["primary"])) + { + param_00.hordeclassweapons[var_07]["primaryStoredAmmoClip"] = param_00 getweaponammoclip(param_00.hordeclassweapons[var_07]["primary"]); + param_00.hordeclassweapons[var_07]["primaryStoredAmmoStock"] = param_00 setweaponammostock(param_00.hordeclassweapons[var_07]["primary"]); + } + + if(isdefined(var_07) && var_07 != "none" && isdefined(param_00.hordeclassweapons[var_07]["secondary"])) + { + param_00.hordeclassweapons[var_07]["secondaryStoredAmmoClip"] = param_00 getweaponammoclip(param_00.hordeclassweapons[var_07]["secondary"]); + param_00.hordeclassweapons[var_07]["secondaryStoredAmmoStock"] = param_00 setweaponammostock(param_00.hordeclassweapons[var_07]["secondary"]); + } + + param_00 setclientomnvar("ui_horde_player_class",var_04); + hordegiveability(param_00,var_04); + var_0B = param_00 getweaponslistprimaries(); + foreach(var_0D in var_0B) + { + if(param_00 getclientomnvar("horde_first_spawn") == 1) + { + if(var_0D != param_00.hordeclassweapons[var_04]["primary"]) + { + param_00 takeweapon(var_0D); + } + + continue; + } + + param_00 takeweapon(var_0D); + } + + param_00.isrunningweapongive = 1; + thread hordegiveclassweapons(param_00,var_04,var_07); + param_00 armorygiveexoability(param_00.classsettings[var_04]["exoAbility"],1); + wait(0.1); + if(param_00 getclientomnvar("horde_first_spawn") == 1) + { + thread hordeclassrunfirstspawn(param_00); + } + + param_00.classswitchwaiting = 1; + param_00 thread classswitchwait(); + } + break; + + case "horde_exo_upgrade": + param_00 armorygiveexoability(var_04); + break; + + case "horde_equipment_upgrade": + var_0F = param_00 getlethalweapon(); + if(var_04 != param_00 getlethalweapon()) + { + param_00 setlethalweapon(var_04); + param_00 giveweapon(var_04); + param_00 setweaponammostock(var_0F,0); + param_00 setweaponammoclip(var_0F,0); + } + else + { + param_00 setweaponammoclip(var_04,4); + } + break; + + case "horde_weapon_upgrade": + if(!issubstr(var_04,"iw5") && !issubstr(var_04,"ammo") && !issubstr(var_04,"turrethead")) + { + var_10 = param_00 getcurrentprimaryweapon(); + if(issubstr(var_04,"scopevz")) + { + if(issubstr(var_10,"mors")) + { + var_04 = "morsscopevz"; + } + else if(issubstr(var_10,"thor")) + { + var_04 = "thorscopevz"; + } + else if(issubstr(var_10,"gm6")) + { + var_04 = "gm6scopevz"; + } + else if(issubstr(var_10,"m990")) + { + var_04 = "m990scopevz"; + } + } + + var_11 = maps\mp\gametypes\_horde_util::hordegetweaponupgrades(var_10,param_00); + var_12 = maps\mp\gametypes\_horde_util::hordegetattachmentstring(var_11,var_04); + wait(0.05); + var_13 = getweaponbasename(var_10); + maps\mp\gametypes\_horde_util::trygivehordeweapon(param_00,var_13 + var_12,1,1); + } + else if(issubstr(var_04,"ammo")) + { + var_0B = param_00 getweaponslistprimaries(); + foreach(var_15 in var_0B) + { + var_16 = weaponclipsize(var_15); + param_00 setweaponammoclip(var_15,var_16); + param_00 givemaxammo(var_15); + } + } + else + { + wait(0.05); + if(issubstr(var_04,"turrethead")) + { + param_00 thread maps\mp\killstreaks\_rippedturret::playergiveturrethead(var_04); + } + else + { + maps\mp\gametypes\_horde_util::trygivehordeweapon(param_00,var_04,1,1); + } + } + break; + + case "horde_perk_upgrade": + if(issubstr(var_04,"oost")) + { + setdvar("high_jump_height",512); + } + else if(issubstr(var_04,"upgrade_points")) + { + addarmorypoints(param_00,"round"); + } + else + { + param_00 hordegiveperk(var_04); + } + break; + + case "horde_killstreak_upgrade": + param_00 hordegivekillstreak(var_04,var_02); + break; + + case "horde_stat_upgrade": + switch(var_04) + { + case "horde_weapon_proficiency": + param_00.weaponproficiency++; + param_00 setclientomnvar(var_04,param_00.weaponproficiency); + level thread hordeweaponlevel(param_00); + maps\mp\gametypes\_horde_util::givegearformaxweaponproficiency(param_00); + break; + + case "horde_armor": + param_00.hordearmor++; + param_00 setclientomnvar(var_04,param_00.hordearmor); + param_00.maxhealth = param_00.classmaxhealth + param_00.hordearmor * 40; + param_00.health = param_00.maxhealth; + maps\mp\gametypes\_horde_util::givegearformaxarmorproficiency(param_00); + break; + + case "horde_exo_battery": + param_00.hordeexobattery = param_00.hordeexobattery + 1; + level thread hordebatterylevel(param_00); + param_00 setclientomnvar(var_04,param_00.hordeexobattery); + var_09 = param_00 gettacticalweapon(); + param_00 batteryfullrecharge(var_09); + param_00 setclientomnvar("ui_exo_battery_level0",param_00 batterygetsize(var_09)); + break; + } + break; + + case "horde_ability_upgrade": + hordegivescorestreakupgrade(param_00,var_04); + break; + } + + if(getdvarint("horde_ignore_cost") == 0) + { + if(var_05 > 0) + { + param_00.armorypoints = param_00.armorypoints - var_05; + param_00 setclientomnvar("ui_horde_player_points",param_00.armorypoints); + } + } + + wait(0.05); + } +} + +//Function Number: 9 +horderesetarmory(param_00) +{ + level endon("game_ended"); + param_00 endon("disconnect"); + var_01 = 0; + for(;;) + { + param_00 waittill("luinotifyserver",var_02,var_03); + if(var_02 == "horde_reset_armory") + { + param_00 setclientomnvar("ui_horde_armory_type","none"); + if(var_03 == 2) + { + hordecleanuparmory(param_00); + } + + continue; + } + + if(var_02 == "ui_horde_secondary_index") + { + var_04 = param_00 getweaponslistprimaries(); + var_05 = maps\mp\gametypes\_horde_util::hordegetweaponbasenamespecial(param_00 getcurrentprimaryweapon()); + foreach(var_07 in var_04) + { + var_08 = maps\mp\gametypes\_horde_util::hordegetweaponbasenamespecial(var_07); + if(var_08 != var_05) + { + var_01 = int(tablelookup("mp/hordeMenus.csv",2,var_08,0)); + } + } + + param_00 setclientomnvar("ui_horde_secondary_index",var_01); + } + } +} + +//Function Number: 10 +hordecleanuparmory(param_00) +{ + if(isdefined(param_00.usingarmory)) + { + param_00.usingarmory = undefined; + param_00 setclientomnvar("ui_horde_show_armory",0); + if(!maps\mp\gametypes\_horde_util::isplayerinlaststand(param_00)) + { + param_00 enableusability(); + } + } +} + +//Function Number: 11 +hordeclassrunfirstspawn(param_00) +{ + param_00.health = param_00.classmaxhealth; + param_00.ignoreme = 0; + param_00 setclientomnvar("horde_first_spawn",0); + param_00 setclientomnvar("ui_horde_show_armory",0); + param_00.classchosen = 1; + param_00 hordeequipstartgrenade(); + level.noonespawnedyet = 0; +} + +//Function Number: 12 +hordeequipstartgrenade() +{ + var_00 = 4; + var_01 = self getclientomnvar("ui_horde_player_class"); + var_02 = self.classsettings[var_01]["classGrenade"]; + self setlethalweapon(var_02); + self setweaponammoclip(var_02,var_00); + self giveweapon(var_02); +} + +//Function Number: 13 +hordegiveclassweapons(param_00,param_01,param_02) +{ + param_00 endon("disconnect"); + level endon("game_ended"); + var_03 = undefined; + var_04 = undefined; + if(param_02 != "none") + { + var_03 = param_00.hordeclassweapons[param_02]["secondary"]; + var_04 = param_00.hordeclassweapons[param_02]["primary"]; + } + + maps\mp\gametypes\_horde_util::trygivehordeweapon(param_00,param_00.hordeclassweapons[param_01]["secondary"],1,0,var_03,"secondary"); + if(param_00 getclientomnvar("horde_first_spawn") == 0 || param_00 getclientomnvar("horde_first_spawn") == 1 && param_00.hordeclassweapons[param_01]["primary"] != "iw5_kf5_mp") + { + maps\mp\gametypes\_horde_util::trygivehordeweapon(param_00,param_00.hordeclassweapons[param_01]["primary"],1,1,var_04,"primary"); + } + + if(isdefined(param_01) && isdefined(param_02) && param_02 != "none") + { + if(isdefined(param_00.hordeclassweapons[param_01]["primaryStoredAmmoClip"])) + { + param_00 setweaponammoclip(param_00.hordeclassweapons[param_01]["primary"],param_00.hordeclassweapons[param_01]["primaryStoredAmmoClip"]); + } + + if(isdefined(param_00.hordeclassweapons[param_01]["primaryStoredAmmoStock"])) + { + param_00 setweaponammostock(param_00.hordeclassweapons[param_01]["primary"],param_00.hordeclassweapons[param_01]["primaryStoredAmmoStock"]); + } + + if(isdefined(param_00.hordeclassweapons[param_01]["secondaryStoredAmmoClip"])) + { + param_00 setweaponammoclip(param_00.hordeclassweapons[param_01]["secondary"],param_00.hordeclassweapons[param_01]["secondaryStoredAmmoClip"]); + } + + if(isdefined(param_00.hordeclassweapons[param_01]["secondaryStoredAmmoStock"])) + { + param_00 setweaponammostock(param_00.hordeclassweapons[param_01]["secondary"],param_00.hordeclassweapons[param_01]["secondaryStoredAmmoStock"]); + } + + if(!isdefined(param_00.hordeclassweapons[param_01]["lethalStoredGrenade"])) + { + param_00 hordeequipstartgrenade(); + } + else + { + param_00 setlethalweapon(param_00.hordeclassweapons[param_01]["lethalStoredGrenade"]); + param_00 giveweapon(param_00.hordeclassweapons[param_01]["lethalStoredGrenade"]); + param_00 setweaponammostock(param_00.hordeclassweapons[param_01]["lethalStoredGrenade"],param_00.hordeclassweapons[param_01]["lethalStoredGrenadeStock"]); + param_00 setweaponammoclip(param_00.hordeclassweapons[param_01]["lethalStoredGrenade"],param_00.hordeclassweapons[param_01]["lethalStoredGrenadeStock"]); + } + } + + param_00.isrunningweapongive = 0; +} + +//Function Number: 14 +addarmorypoints(param_00,param_01) +{ + var_02 = 0; + switch(param_01) + { + case "round": + var_02 = 2; + break; + + case "support_bar_filled": + var_02 = 1; + break; + + case "objective_complete": + var_02 = 2; + break; + } + + param_00.armorypoints = param_00.armorypoints + var_02; + param_00.armorypoints = int(min(param_00.armorypoints,999)); + param_00 setclientomnvar("ui_horde_player_points",param_00.armorypoints); + param_00.roundupgradepoints = param_00.roundupgradepoints + var_02; +} + +//Function Number: 15 +armorygiveexoability(param_00,param_01) +{ + var_02 = self getclientomnvar("ui_horde_player_class"); + var_03 = self gettacticalweapon(); + switch(var_03) + { + case "exocloakhorde_equipment_mp": + maps\mp\_exo_cloak::take_exo_cloak(); + break; + + case "exohoverhorde_equipment_mp": + maps\mp\_exo_hover::take_exo_hover(); + break; + + case "exoshieldhorde_equipment_mp": + maps\mp\_exo_shield::take_exo_shield(); + break; + + case "exoping_equipment_mp": + maps\mp\_exo_ping::take_exo_ping(); + break; + + case "exorepulsor_equipment_mp": + maps\mp\_exo_repulsor::take_exo_repulsor(); + break; + + case "extra_health_mp": + maps\mp\_extrahealth::take_exo_health(); + break; + } + + wait(0.05); + self settacticalweapon(param_00); + switch(param_00) + { + case "exocloakhorde_equipment_mp": + maps\mp\_exo_cloak::give_exo_cloak(); + break; + + case "exohoverhorde_equipment_mp": + maps\mp\_exo_hover::give_exo_hover(); + break; + + case "exoshieldhorde_equipment_mp": + maps\mp\_exo_shield::give_exo_shield(); + break; + + case "exoping_equipment_mp": + maps\mp\_exo_ping::give_exo_ping(); + break; + + case "exorepulsor_equipment_mp": + maps\mp\_exo_repulsor::give_exo_repulsor(); + break; + + case "extra_health_mp": + maps\mp\_extrahealth::give_exo_health(); + break; + } + + wait 0.05; + if(isdefined(param_01) && param_01) + { + self batterysetcharge(param_00,self.classsettings[var_02]["battery"]); + self setclientomnvar("ui_exo_battery_level0",self.classsettings[var_02]["battery"]); + } + else + { + self batteryfullrecharge(param_00); + } + + self.classsettings[var_02]["exoAbility"] = param_00; + level thread hordebatterylevel(self); +} + +//Function Number: 16 +armorypurchasefail(param_00) +{ + param_00 playsoundtoplayer("disable_activeperk",param_00); +} + +//Function Number: 17 +hordeweaponlevel(param_00) +{ + var_01 = param_00.weaponproficiency; + while(isdefined(param_00.updatinglootweapon) && param_00.updatinglootweapon) + { + wait 0.05; + } + + if(param_00.weaponproficiency > var_01) + { + return; + } + + var_02 = getweaponbasename(param_00 getcurrentprimaryweapon()); + if(isdefined(var_02)) + { + var_02 = maps\mp\_utility::strip_suffix(var_02,"_mp"); + } + + var_03 = param_00 getweaponslistprimaries(); + foreach(var_05 in var_03) + { + var_06 = 0; + if(!isdefined(var_02) || issubstr(var_05,var_02)) + { + var_06 = 1; + } + + if(issubstr(var_05,"alt_iw5")) + { + continue; + } + + var_07 = getweaponbasename(var_05); + var_08 = getsubstr(var_05,var_07.size); + var_09 = var_07 + var_08; + maps\mp\gametypes\_horde_util::trygivehordeweapon(param_00,var_09,1,var_06,var_05); + } + + param_00.weapondmgmod = param_00.weapondmgmod + 0.2; +} + +//Function Number: 18 +hordebatterylevel(param_00) +{ + var_01 = -0.1; + param_00 batterysetdischargescale("exocloakhorde_equipment_mp",1 + param_00.hordeexobattery * var_01); + param_00 batterysetdischargescale("exoshieldhorde_equipment_mp",1 + param_00.hordeexobattery * var_01); + param_00 batterysetdischargescale("exohoverhorde_equipment_mp",1 + param_00.hordeexobattery * var_01); + param_00 batterysetdischargescale("exorepulsor_equipment_mp",1 + param_00.hordeexobattery * var_01); + param_00 batterysetdischargescale("extra_health_mp",1 + param_00.hordeexobattery * var_01); +} + +//Function Number: 19 +hordegiveability(param_00,param_01) +{ + param_00.currentkillstreaks[1] = param_00.classsettings[param_01]["killstreak"]; + if(param_00.classabilityready) + { + var_02 = param_00 maps\mp\killstreaks\_killstreaks::getnexthordekillstreakslotindex(1); + param_00 thread maps\mp\killstreaks\_killstreaks::givehordekillstreak(param_00.currentkillstreaks[1],self.owner,param_00.hordekillstreakmodules,1,1); + thread maps\mp\gametypes\_horde_util::hordescorestreaksplash(param_00,param_00.currentkillstreaks[1],"horde_ss_splash_" + param_00.currentkillstreaks[1],var_02); + } + else + { + param_00 thread maps\mp\killstreaks\_killstreaks::givehordekillstreak(param_00.currentkillstreaks[1],self.owner,param_00.hordekillstreakmodules,1,0); + } + + level thread hordemonitorclassability(param_00,param_01); +} + +//Function Number: 20 +hordemonitorclassability(param_00,param_01) +{ + param_00 endon("death"); + param_00 endon("disconnect"); + param_00 endon("horde_class_change"); + param_00 endon("ability_upgraded"); + param_00 endon("horde_end_spectate"); + level endon("game_ended"); + level endon("zombies_start"); + for(;;) + { + if(param_01 == "light") + { + param_00 waittill("used_horde_uav"); + } + else if(param_01 == "heavy") + { + param_00 waittill("used_horde_goliath"); + } + else if(param_01 == "demolition") + { + param_00 waittill("used_horde_missile_strike"); + } + else if(param_01 == "support") + { + while(!isdefined(param_00.hordeclassturret) || isdefined(param_00.hordeclassturret) && isdefined(param_00.iscarrying) && param_00.iscarrying) + { + wait(0.1); + } + } + + param_00.classabilityready = 0; + var_02 = getabilitywaittime(param_00); + if(param_01 == "support") + { + level thread hordewaitforturretdeath(param_00,var_02); + } + else if(param_01 == "heavy") + { + level thread hordewaitforgoliathdeath(param_00,var_02); + } + else + { + level thread hordeabilityregenbar(param_00,var_02); + } + + param_00 waittill("ability_regenerated"); + } +} + +//Function Number: 21 +getabilitywaittime(param_00) +{ + var_01 = 120; + if(param_00 maps\mp\_utility::_hasperk("specialty_class_hardline")) + { + var_01 = 90; + } + + return var_01; +} + +//Function Number: 22 +hordeabilityregenbar(param_00,param_01) +{ + param_00 endon("death"); + param_00 endon("disconnect"); + param_00 endon("horde_end_spectate"); + level endon("game_ended"); + level endon("zombies_start"); + var_02 = 0; + while(var_02 < 1) + { + wait(1); + var_02 = var_02 + 1 / param_01; + param_00 setclientomnvar("ks_count1",var_02); + param_00 setclientomnvar("ks_count_updated",1); + } + + param_00 setclientomnvar("ks_count1",0); + param_00 setclientomnvar("ks_count_updated",1); + param_00.classabilityready = 1; + var_03 = param_00 maps\mp\killstreaks\_killstreaks::getnexthordekillstreakslotindex(1); + param_00 thread maps\mp\killstreaks\_killstreaks::givehordekillstreak(param_00.currentkillstreaks[1],self.owner,param_00.hordekillstreakmodules,1,1); + thread maps\mp\gametypes\_horde_util::hordescorestreaksplash(param_00,param_00.currentkillstreaks[1],"horde_ss_splash_" + param_00.currentkillstreaks[1],var_03); + param_00 notify("ability_regenerated"); +} + +//Function Number: 23 +hordewaitforturretdeath(param_00,param_01) +{ + param_00 endon("death"); + param_00 endon("disconnect"); + param_00 endon("becameSpectator"); + level endon("game_ended"); + level endon("zombies_start"); + param_00.hordeclassturret waittill("death"); + param_00.hordeclassturret = undefined; + level thread hordeabilityregenbar(param_00,param_01); +} + +//Function Number: 24 +hordewaitforgoliathdeath(param_00,param_01) +{ + param_00 endon("death"); + param_00 endon("disconnect"); + param_00 endon("becameSpectator"); + param_00 endon("cancel_goliath_wait"); + level endon("game_ended"); + level endon("zombies_start"); + param_00 waittill("startJuggCooldown"); + level thread hordeabilityregenbar(param_00,param_01); +} + +//Function Number: 25 +hordeisarmoryupgrade(param_00) +{ + if(param_00 == "horde_stat_upgrade" || param_00 == "horde_weapon_upgrade" || param_00 == "horde_perk_upgrade" || param_00 == "horde_killstreak_upgrade" || param_00 == "horde_exo_upgrade" || param_00 == "horde_exo_class" || param_00 == "horde_equipment_upgrade" || param_00 == "horde_ability_upgrade") + { + return 1; + } + + return 0; +} + +//Function Number: 26 +hordeisinscorestreakmodules(param_00,param_01) +{ + if(param_01 == "sentry_machinegun_turret") + { + if(common_scripts\utility::array_contains(param_00.hordekillstreakmodules,"sentry_energy_turret")) + { + return 0; + } + + if(common_scripts\utility::array_contains(param_00.hordekillstreakmodules,"sentry_rocket_turret")) + { + return 0; + } + + return 1; + } + + return common_scripts\utility::array_contains(param_00.hordekillstreakmodules,param_01); +} + +//Function Number: 27 +hordeshouldupgradefail(param_00,param_01,param_02,param_03) +{ + var_04 = param_00 getclientomnvar("ui_horde_armory_type"); + if(param_00.classswitchwaiting) + { + return 1; + } + + if(getdvarint("horde_ignore_cost") == 1) + { + return 0; + } + + var_05 = param_00 getweaponslistprimaries(); + var_06 = param_00 getcurrentprimaryweapon(); + var_07 = param_00 gettacticalweapon(); + var_08 = param_00 getlethalweapon(); + var_09 = 9; + var_0A = 9; + if(var_06 == "none") + { + return 1; + } + + if((issubstr(var_06,"turret") || isdefined(param_00.iscarrying) && param_00.iscarrying) && !var_04 == "perk_armory" || var_04 == "killstreak_armory") + { + return 1; + } + + if(param_02 == var_07 || param_02 == var_08 || hordeisinscorestreakmodules(param_00,param_02)) + { + if(var_07 == param_02) + { + if(param_00 getfractionmaxammo(param_02) == 1) + { + param_00 setclientomnvar("ui_horde_armory_purchase_fail",6); + return 1; + } + } + else if(param_02 == var_08) + { + if(param_00 getfractionmaxammo(param_02) == 1) + { + param_00 setclientomnvar("ui_horde_armory_purchase_fail",5); + return 1; + } + } + else + { + param_00 setclientomnvar("ui_horde_armory_purchase_fail",1); + return 1; + } + } + + if(param_01 == "horde_stat_upgrade") + { + if((param_02 == "horde_weapon_proficiency" && param_00.weaponproficiency > var_09) || param_02 == "horde_armor" && param_00.hordearmor > var_0A || param_02 == "horde_exo_battery" && param_00.hordeexobattery > 4) + { + param_00 setclientomnvar("ui_horde_armory_purchase_fail",3); + return 1; + } + } + + if(param_03 > param_00.armorypoints) + { + param_00 setclientomnvar("ui_horde_armory_purchase_fail",0); + return 1; + } + + if(param_01 == "horde_exo_class" && param_00 getclientomnvar("ui_horde_player_class") == param_02) + { + param_00 setclientomnvar("ui_horde_armory_purchase_fail",1); + return 1; + } + + if(((param_01 == "horde_exo_class" && param_00.classchosen) || param_01 == "horde_weapon_upgrade" || param_02 == "horde_weapon_proficiency") && level.hordeweaponsjammed) + { + param_00 setclientomnvar("ui_horde_armory_purchase_fail",4); + return 1; + } + + if(param_01 == "horde_weapon_upgrade") + { + if(param_02 == "ammo") + { + if(hordeammofull(param_00,var_05)) + { + param_00 setclientomnvar("ui_horde_armory_purchase_fail",5); + return 1; + } + + return 0; + } + else if(!issubstr(param_02,"iw5_")) + { + var_0B = maps\mp\gametypes\_horde_util::hordegetweaponupgrades(var_06,param_00); + var_0C = maps\mp\gametypes\_horde_util::hordegetattachmentstring(var_0B,param_02); + var_0D = 3; + if(issubstr(var_0C,"optics") || issubstr(var_0C,"variablereddot") || issubstr(var_0C,"scope") || issubstr(var_06,"akimbosac3")) + { + var_0D = 4; + } + + if(issubstr(param_02,"optics") || issubstr(param_02,"variablereddot") || issubstr(param_02,"scope")) + { + return 0; + } + + if(var_0B.size + 1 > var_0D) + { + param_00 setclientomnvar("ui_horde_armory_purchase_fail",2); + return 1; + } + } + else + { + foreach(var_0F in var_05) + { + var_10 = getweaponbasename(var_0F); + var_11 = maps\mp\gametypes\_horde_util::hordegetweaponsuffixspecial(param_02); + param_02 = maps\mp\_utility::strip_suffix(param_02,var_11); + if(issubstr(var_10,param_02)) + { + param_00 setclientomnvar("ui_horde_armory_purchase_fail",1); + return 1; + } + } + } + } + + return 0; +} + +//Function Number: 28 +hordeammofull(param_00,param_01) +{ + foreach(var_03 in param_01) + { + if(issubstr(var_03,"turret")) + { + continue; + } + else if(param_00 setweaponammostock(var_03) < weaponmaxammo(var_03) || param_00 getweaponammoclip(var_03) < weaponclipsize(var_03)) + { + return 0; + } + } + + return 1; +} + +//Function Number: 29 +hordegiveperk(param_00) +{ + if(!maps\mp\_utility::_hasperk(param_00)) + { + maps\mp\_utility::giveperk(param_00,1,1); + maps\mp\perks\_perks::applyperks(); + var_01 = tablelookup("mp/hordeMenus.csv",2,param_00,0); + self setclientomnvar("ui_horde_update_perk",int(var_01)); + var_02 = self.horde_perks.size; + self.horde_perks[var_02]["name"] = param_00; + self.horde_perks[var_02]["index"] = int(var_01); + if(param_00 == "specialty_horde_weaponsfree") + { + self setclientomnvar("horde_has_weaponsfree",1); + } + } +} + +//Function Number: 30 +hordegivekillstreak(param_00,param_01) +{ + var_02 = maps\mp\gametypes\_horde_util::getslotnumber(self); + if(!isdefined(var_02)) + { + return; + } + + var_03 = strtok(tablelookup("mp/hordeMenus.csv",0,param_01,8)," "); + var_03 = common_scripts\utility::array_combine(var_03,self.hordekillstreakmodules); + var_03 = common_scripts\utility::array_remove_duplicates(var_03); + self playlocalsound("ammo_crate_use"); + var_04 = maps\mp\killstreaks\_killstreaks::getnexthordekillstreakslotindex(var_02); + thread maps\mp\killstreaks\_killstreaks::givehordekillstreak(param_00,self,var_03,var_02,1); + self.currentkillstreaks[var_02] = param_00; + thread maps\mp\gametypes\_horde_util::hordescorestreaksplash(self,param_00,"horde_ss_splash_" + param_00,var_04); +} + +//Function Number: 31 +hordegivescorestreakupgrade(param_00,param_01) +{ + var_02 = param_00 getclientomnvar("ui_horde_player_class"); + param_00.hordekillstreakmodules[param_00.hordekillstreakmodules.size] = param_01; + if(param_01 == "sentry_machinegun_turret" || param_01 == "sentry_energy_turret" || param_01 == "sentry_rocket_turret") + { + if(param_01 == "sentry_machinegun_turret") + { + foreach(var_04 in param_00.hordekillstreakmodules) + { + if(var_04 == "sentry_machinegun_turret") + { + param_00.hordekillstreakmodules = common_scripts\utility::array_remove(param_00.hordekillstreakmodules,"sentry_machinegun_turret"); + } + } + + foreach(var_04 in param_00.hordekillstreakmodules) + { + if(var_04 == "sentry_energy_turret") + { + param_00.hordekillstreakmodules = common_scripts\utility::array_remove(param_00.hordekillstreakmodules,"sentry_energy_turret"); + } + } + + foreach(var_04 in param_00.hordekillstreakmodules) + { + if(var_04 == "sentry_rocket_turret") + { + param_00.hordekillstreakmodules = common_scripts\utility::array_remove(param_00.hordekillstreakmodules,"sentry_rocket_turret"); + } + } + } + else if(param_01 == "sentry_energy_turret") + { + foreach(var_04 in param_00.hordekillstreakmodules) + { + if(var_04 == "sentry_rocket_turret") + { + param_00.hordekillstreakmodules = common_scripts\utility::array_remove(param_00.hordekillstreakmodules,"sentry_rocket_turret"); + } + } + } + else if(param_01 == "sentry_rocket_turret") + { + foreach(var_04 in param_00.hordekillstreakmodules) + { + if(var_04 == "sentry_energy_turret") + { + param_00.hordekillstreakmodules = common_scripts\utility::array_remove(param_00.hordekillstreakmodules,"sentry_energy_turret"); + } + } + } + } + else if(param_01 == "warbird_ai_attack" || param_01 == "warbird_ai_follow") + { + if(param_01 == "warbird_ai_attack") + { + foreach(var_04 in param_00.hordekillstreakmodules) + { + if(var_04 == "warbird_ai_follow") + { + param_00.hordekillstreakmodules = common_scripts\utility::array_remove(param_00.hordekillstreakmodules,"warbird_ai_follow"); + } + } + } + else if(param_01 == "warbird_ai_follow") + { + foreach(var_04 in param_00.hordekillstreakmodules) + { + if(var_04 == "warbird_ai_attack") + { + param_00.hordekillstreakmodules = common_scripts\utility::array_remove(param_00.hordekillstreakmodules,"warbird_ai_attack"); + } + } + } + } + else if(param_01 == "missile_strike_hellfire" || param_01 == "missile_strike_cluster" || param_01 == "missile_strike_chem") + { + if(param_01 == "missile_strike_cluster") + { + foreach(var_04 in param_00.hordekillstreakmodules) + { + if(var_04 == "missile_strike_hellfire") + { + param_00.hordekillstreakmodules = common_scripts\utility::array_remove(param_00.hordekillstreakmodules,"missile_strike_hellfire"); + } + + if(var_04 == "missile_strike_chem") + { + param_00.hordekillstreakmodules = common_scripts\utility::array_remove(param_00.hordekillstreakmodules,"missile_strike_chem"); + } + } + } + else if(param_01 == "missile_strike_hellfire") + { + foreach(var_04 in param_00.hordekillstreakmodules) + { + if(var_04 == "missile_strike_cluster") + { + param_00.hordekillstreakmodules = common_scripts\utility::array_remove(param_00.hordekillstreakmodules,"missile_strike_cluster"); + } + + if(var_04 == "missile_strike_chem") + { + param_00.hordekillstreakmodules = common_scripts\utility::array_remove(param_00.hordekillstreakmodules,"missile_strike_chem"); + } + } + } + else if(param_01 == "missile_strike_chem") + { + foreach(var_04 in param_00.hordekillstreakmodules) + { + if(var_04 == "missile_strike_cluster") + { + param_00.hordekillstreakmodules = common_scripts\utility::array_remove(param_00.hordekillstreakmodules,"missile_strike_cluster"); + } + + if(var_04 == "missile_strike_hellfire") + { + param_00.hordekillstreakmodules = common_scripts\utility::array_remove(param_00.hordekillstreakmodules,"missile_strike_hellfire"); + } + } + } + } + + for(var_18 = param_00.currentkillstreaks.size;var_18 >= 0;var_18--) + { + if(param_00.pers["killstreaks"][var_18].available == 1) + { + param_00 thread maps\mp\killstreaks\_killstreaks::givehordekillstreak(param_00.currentkillstreaks[var_18],self.owner,param_00.hordekillstreakmodules,var_18,1); + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/gametypes/_horde_crates.gsc b/AW/PC/maps/mp/gametypes/_horde_crates.gsc new file mode 100644 index 0000000..3693a7f --- /dev/null +++ b/AW/PC/maps/mp/gametypes/_horde_crates.gsc @@ -0,0 +1,180 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\gametypes\_horde_crates.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 7 + * Decompile Time: 138 ms + * Timestamp: 4/22/2024 2:09:36 AM +*******************************************************************/ + +//Function Number: 1 +createhordecrates() +{ + level.hordeicon["support_drop"] = "specops_ui_airsupport"; + maps\mp\killstreaks\_airdrop::addcratetype("horde_support_drop","support_drop",100,::hordecratethink,&"HORDE_ARMORY_EXO"); +} + +//Function Number: 2 +hordecratethink(param_00) +{ + self endon("death"); + self endon("restarting_physics"); + var_01 = &"HORDE_HINT_SUPPORT_DROP"; + maps\mp\killstreaks\_airdrop::cratesetupforuse("all",["specops_ui_airsupport"]); + maps\mp\killstreaks\_airdrop::cratesetuphintstrings(var_01); + childthread crateallcapturethinkhorde(5); + level thread removeonnextairdrop(self); + self.friendlymodel hudoutlineenable(5,1); + for(;;) + { + self waittill("captured",var_02); + maps\mp\gametypes\_horde_util::awardhordesupportdrop(var_02); + var_03 = randomintrange(1,100); + if(var_03 < 36) + { + param_00 = "perk_armory"; + } + else if(isdefined(maps\mp\gametypes\_horde_util::getslotnumber(var_02))) + { + param_00 = "killstreak_armory"; + } + else + { + param_00 = "perk_armory"; + } + + if(param_00 == var_02.lastdroptype) + { + var_02.numsincesamedroptype++; + } + else + { + var_02.numsincesamedroptype = 0; + } + + if(var_02.numsincesamedroptype > 3) + { + if(var_02.lastdroptype == "perk_armory" && isdefined(maps\mp\gametypes\_horde_util::getslotnumber(var_02))) + { + param_00 = "killstreak_armory"; + } + else + { + param_00 = "perk_armory"; + } + } + + var_02 setclientomnvar("ui_horde_armory_type",param_00); + var_02.lastdroptype = param_00; + var_02.usingarmory = 1; + var_02 setclientomnvar("ui_horde_show_armory",1); + self.friendlymodel hudoutlinedisable(); + self playsound("orbital_pkg_use_self_destruct"); + maps\mp\killstreaks\_airdrop::deletecrate(); + } +} + +//Function Number: 3 +crateallcapturethinkhorde(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 500; + } + + while(isdefined(self)) + { + self makeusable(); + self waittill("trigger",var_01); + if(handleagentuse(var_01)) + { + continue; + } + + if(!maps\mp\killstreaks\_airdrop::validateopenconditions(var_01)) + { + continue; + } + + self makeunusable(); + var_01.iscapturingcrate = 1; + if(!maps\mp\killstreaks\_airdrop::useholdthink(var_01,param_00)) + { + var_01.iscapturingcrate = 0; + continue; + } + + var_01.iscapturingcrate = 0; + self notify("captured",var_01); + } +} + +//Function Number: 4 +handleagentuse(param_00) +{ + if(!isplayer(param_00)) + { + if(isdefined(param_00.disableplayeruseent)) + { + param_00.disableplayeruseent enableplayeruse(param_00); + } + + param_00.disableplayeruseent = self; + self disableplayeruse(param_00); + return 1; + } + + return 0; +} + +//Function Number: 5 +getfinaldroplocation(param_00) +{ + if(!isplayernearlocation(param_00)) + { + return param_00; + } + + var_01 = getnodesinradiussorted(param_00,256,64,128,"Path"); + foreach(var_03 in var_01) + { + if(!isplayernearlocation(var_03.origin)) + { + return var_03.origin; + } + } + + return undefined; +} + +//Function Number: 6 +isplayernearlocation(param_00) +{ + var_01 = 0; + foreach(var_03 in level.participants) + { + var_04 = distance2dsquared(var_03.origin,param_00); + if(var_04 < 4096) + { + var_01 = 1; + break; + } + } + + return var_01; +} + +//Function Number: 7 +removeonnextairdrop(param_00) +{ + param_00 endon("death"); + param_00 endon("restarting_physics"); + level waittill("airSupport"); + while(isdefined(param_00.inuse) && param_00.inuse) + { + wait(0.05); + } + + param_00 maps\mp\killstreaks\_airdrop::deletecrate(); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/gametypes/_horde_dialog.gsc b/AW/PC/maps/mp/gametypes/_horde_dialog.gsc new file mode 100644 index 0000000..e378129 --- /dev/null +++ b/AW/PC/maps/mp/gametypes/_horde_dialog.gsc @@ -0,0 +1,347 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\gametypes\_horde_dialog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 8 + * Decompile Time: 144 ms + * Timestamp: 4/22/2024 2:09:37 AM +*******************************************************************/ + +//Function Number: 1 +hordedialoginit() +{ + level.hordedialog = []; + game["dialog"]["REPLACEMEREPLACEMEREPLACEME"] = "REPLACEMEREPLACEMEREPLACEME"; + game["dialog"]["coop_gdn_intro"] = "coop_gdn_intro"; + game["dialog"]["coop_gdn_sensorsareshowing"] = "coop_gdn_sensorsareshowing"; + game["dialog"]["coop_gdn_badguysincoming"] = "coop_gdn_badguysincoming"; + game["dialog"]["coop_gdn_readyupenemy"] = "coop_gdn_readyupenemy"; + game["dialog"]["coop_gdn_isrshowingalarge"] = "coop_gdn_isrshowingalarge"; + game["dialog"]["coop_gdn_eyesopenteam"] = "coop_gdn_eyesopenteam"; + game["dialog"]["coop_gdn_hostileemtroops"] = "coop_gdn_hostileemtroops"; + game["dialog"]["coop_gdn_enemyhazmat"] = "coop_gdn_enemyhazmat"; + game["dialog"]["coop_gdn_epm3"] = "coop_gdn_epm3"; + game["dialog"]["coop_gdn_enemydronehandlers"] = "coop_gdn_enemydronehandlers"; + game["dialog"]["coop_gdn_hostilesincoming"] = "coop_gdn_hostilesincoming"; + game["dialog"]["coop_gdn_tangosinbound"] = "coop_gdn_tangosinbound"; + game["dialog"]["coop_gdn_enemyunitsapproaching"] = "coop_gdn_enemyunitsapproaching"; + game["dialog"]["coop_gdn_wereseeingmicrodronesignature"] = "coop_gdn_wereseeingmicrodronesignature"; + game["dialog"]["coop_gdn_teambeadvisedenemiesareusing"] = "coop_gdn_teambeadvisedenemiesareusing"; + game["dialog"]["coop_gdn_rockets"] = "coop_gdn_rockets"; + game["dialog"]["coop_gdn_warbird_inc"] = "coop_gdn_warbird_inc"; + game["dialog"]["coop_gdn_incomingmechs"] = "coop_gdn_incomingmechs"; + level.hordedialog["round_begin"] = ["coop_gdn_sensorsareshowing","coop_gdn_badguysincoming","coop_gdn_readyupenemy","coop_gdn_hostilesincoming","coop_gdn_tangosinbound","coop_gdn_enemyunitsapproaching"]; + game["dialog"]["coop_gdn_roundover"] = "coop_gdn_roundover"; + game["dialog"]["coop_gdn_locationdefended"] = "coop_gdn_locationdefended"; + game["dialog"]["coop_gdn_hardpoint"] = "coop_gdn_hardpoint"; + game["dialog"]["coop_gdn_allgodtagssecured"] = "coop_gdn_allgodtagssecured"; + game["dialog"]["coop_gdn_dogtagsareinthefield"] = "coop_gdn_dogtagsareinthefield"; + game["dialog"]["coop_gdn_intelaquired"] = "coop_gdn_intelaquired"; + game["dialog"]["coop_gdn_allintelaquired"] = "coop_gdn_allintelaquired"; + game["dialog"]["coop_gdn_hostilesincomingsearchdowned"] = "coop_gdn_hostilesincomingsearchdowned"; + game["dialog"]["coop_gdn_empbombsshowingonsensors"] = "coop_gdn_empbombsshowingonsensors"; + game["dialog"]["coop_gdn_satellite_start"] = "coop_gdn_satellite_start"; + game["dialog"]["coop_gdn_satellite_acquire"] = "coop_gdn_satellite_acquire"; + game["dialog"]["coop_gdn_satellite_lost"] = "coop_gdn_satellite_lost"; + game["dialog"]["coop_gdn_satellite_enemy"] = "coop_gdn_satellite_enemy"; + game["dialog"]["coop_gdn_satellite_intercept"] = "coop_gdn_satellite_intercept"; + game["dialog"]["coop_gdn_satellite_incoming"] = "coop_gdn_satellite_incoming"; + game["dialog"]["coop_gdn_satellite_reset"] = "coop_gdn_satellite_reset"; + game["dialog"]["coop_gdn_satellite_returned"] = "coop_gdn_satellite_returned"; + game["dialog"]["coop_gdn_get_it_back"] = "coop_gdn_get_it_back"; + game["dialog"]["coop_gdn_uplink_station"] = "coop_gdn_uplink_station"; + game["dialog"]["coop_gdn_satellite_success"] = "coop_gdn_satellite_success"; + game["dialog"]["coop_gdn_objective_complete"] = "coop_gdn_objective_complete"; + game["dialog"]["coop_gdn_tangosarepoppingsmoke"] = "coop_gdn_tangosarepoppingsmoke"; + game["dialog"]["coop_gdn_sentryguns"] = "coop_gdn_sentryguns"; + game["dialog"]["coop_gdn_weaponsoffline"] = "coop_gdn_weaponsoffline"; + game["dialog"]["coop_gdn_systemhack"] = "coop_gdn_systemhack"; + game["dialog"]["coop_gdn_nanostrike"] = "coop_gdn_nanostrike"; + game["dialog"]["coop_gdn_exoarmoryisup"] = "coop_gdn_exoarmoryisup"; + game["dialog"]["coop_gdn_weaponsarmory"] = "coop_gdn_weaponsarmory"; + game["dialog"]["coop_gdn_statupgradesavailable"] = "coop_gdn_statupgradesavailable"; + game["dialog"]["coop_gdn_exolauncherupgrages"] = "coop_gdn_exolauncherupgrages"; + game["dialog"]["coop_gdn_enemydrones"] = "coop_gdn_enemydrones"; + game["dialog"]["coop_gdn_enemydrones"] = "coop_gdn_enemydrones"; + game["dialog"]["coop_gdn_sensorsshowingem"] = "coop_gdn_sensorsshowingem"; + game["dialog"]["coop_gdn_enemyairsupport"] = "coop_gdn_enemyairsupport"; + game["dialog"]["coop_gdn_enemyk9units"] = "coop_gdn_enemyk9units"; + game["dialog"]["coop_gdn_supportdropincoming"] = "coop_gdn_supportdropincoming"; + game["dialog"]["coop_gdn_allydownedrepeat"] = "coop_gdn_allydownedrepeat"; + game["dialog"]["coop_gdn_friendlyisdownlocate"] = "coop_gdn_friendlyisdownlocate"; + game["dialog"]["coop_gdn_friendlydowned"] = "coop_gdn_friendlydowned"; + game["dialog"]["coop_gdn_teammatewounded"] = "coop_gdn_teammatewounded"; + level.hordedialog["laststand"] = ["coop_gdn_allydownedrepeat","coop_gdn_friendlyisdownlocate","coop_gdn_friendlydowned","coop_gdn_teammatewounded"]; + game["dialog"]["coop_gdn_notgoodenough"] = "coop_gdn_notgoodenough"; + game["dialog"]["coop_gdn_yougotmassacredoutthere"] = "coop_gdn_yougotmassacredoutthere"; + game["dialog"]["coop_gdn_notagoodeffort"] = "coop_gdn_notagoodeffort"; + game["dialog"]["coop_gdn_notimpressed"] = "coop_gdn_notimpressed"; + game["dialog"]["coop_gdn_wevelostitfallback"] = "coop_gdn_wevelostitfallback"; + game["dialog"]["coop_gdn_wegothammeredoutthere"] = "coop_gdn_wegothammeredoutthere"; + level.hordedialog["fail_angry"] = ["coop_gdn_notgoodenough","coop_gdn_yougotmassacredoutthere","coop_gdn_notagoodeffort","coop_gdn_notimpressed","coop_gdn_wevelostitfallback","coop_gdn_wegothammeredoutthere"]; + game["dialog"]["coop_gdn_goodjobbutyoucandobetter"] = "coop_gdn_goodjobbutyoucandobetter"; + game["dialog"]["coop_gdn_goodeffortteam"] = "coop_gdn_goodeffortteam"; + game["dialog"]["coop_gdn_welldonteam"] = "coop_gdn_welldonteam"; + game["dialog"]["coop_gdn_nicelydoneletstryagain"] = "coop_gdn_nicelydoneletstryagain"; + game["dialog"]["coop_gdn_welldonegentlemen"] = "coop_gdn_welldonegentlemen"; + game["dialog"]["coop_gdn_jobwelldone"] = "coop_gdn_jobwelldone"; + level.hordedialog["fail_happy"] = ["coop_gdn_goodjobbutyoucandobetter","coop_gdn_goodeffortteam","coop_gdn_welldonteam","coop_gdn_nicelydoneletstryagain","coop_gdn_welldonegentlemen","coop_gdn_jobwelldone"]; + game["dialog"]["coop_gdn_sensorsareshowingmanticore"] = "coop_gdn_sensorsareshowingmanticore"; + game["dialog"]["coop_gdn_hitthedeck"] = "coop_gdn_hitthedeck"; + game["dialog"]["coop_gdn_watchout"] = "coop_gdn_watchout"; + game["dialog"]["coop_gdn_takecover"] = "coop_gdn_takecover"; + game["dialog"]["coop_gdn_teamreportstatus"] = "coop_gdn_teamreportstatus"; + game["dialog"]["coop_gdn_doesanyonehaveme"] = "coop_gdn_doesanyonehaveme"; + game["dialog"]["coop_gdn_alliedforcesthisisgideon"] = "coop_gdn_alliedforcesthisisgideon"; + game["dialog"]["coop_gdn_isanyoneoutthere"] = "coop_gdn_isanyoneoutthere"; + game["dialog"]["coop_gdn_welcomebackteam"] = "coop_gdn_welcomebackteam"; + game["dialog"]["coop_gdn_armoriesaredownexosareoffline"] = "coop_gdn_armoriesaredownexosareoffline"; + game["dialog"]["coop_gdn_irsisshowingfastmovers"] = "coop_gdn_irsisshowingfastmovers"; + game["dialog"]["coop_gdn_thatdnabombshouldhavetaken"] = "coop_gdn_thatdnabombshouldhavetaken"; + game["dialog"]["coop_gdn_headsupteamsomthings"] = "coop_gdn_headsupteamsomthings"; + game["dialog"]["coop_gdn_heretheycome"] = "coop_gdn_heretheycome"; + game["dialog"]["coop_gdn_whatthebloddyhell"] = "coop_gdn_whatthebloddyhell"; + game["dialog"]["coop_gdn_whatthehellisgoingon"] = "coop_gdn_whatthehellisgoingon"; + game["dialog"]["coop_gdn_teamreportwhatthehell"] = "coop_gdn_teamreportwhatthehell"; + game["dialog"]["coop_gdn_exosarebackupuseboostjump"] = "coop_gdn_exosarebackupuseboostjump"; + game["dialog"]["coop_gdn_iaminboundwithanextraction"] = "coop_gdn_iaminboundwithanextraction"; + game["dialog"]["coop_gdn_moveitteam30sec"] = "coop_gdn_moveitteam30sec"; + game["dialog"]["coop_gdn_teammoveyourasses"] = "coop_gdn_teammoveyourasses"; + game["dialog"]["coop_gdn_moveitteam15sec"] = "coop_gdn_moveitteam15sec"; + thread hordevoroundstart(); + thread hordevolaststand(); +} + +//Function Number: 2 +hordevoroundstart() +{ + level endon("game_ended"); + level endon("zombies_started"); + level.hordedialog["round_begin"] = common_scripts\utility::array_randomize(level.hordedialog["round_begin"]); + level.roundstartlineindex = 0; + var_00 = ""; + for(;;) + { + level common_scripts\utility::waittill_any("round_begin","all_players_ready"); + wait(1); + switch(level.currentroundnumber) + { + case 1: + break; + + case 3: + break; + + case 4: + var_00 = "coop_gdn_enemyk9units"; + break; + + case 5: + var_00 = "coop_gdn_enemydrones"; + break; + + case 6: + break; + + case 7: + var_00 = "coop_gdn_hostileemtroops"; + break; + + case 8: + var_00 = "coop_gdn_teambeadvisedenemiesareusing"; + break; + + case 9: + break; + + case 10: + var_00 = "coop_gdn_incomingmechs"; + break; + + case 11: + if(maps\mp\_utility::getmapname() == "mp_prison_z") + { + break; + } + else + { + if(level.hordelevelflip > 1) + { + var_00 = "coop_gdn_enemyk9units"; + } + else + { + var_00 = "coop_gdn_warbird_inc"; + } + + break; + } + + break; + + case 12: + var_00 = "coop_gdn_epm3"; + break; + + case 13: + break; + + case 14: + var_00 = "coop_gdn_enemydronehandlers"; + break; + + case 15: + var_00 = "coop_gdn_warbird_inc"; + break; + + case 16: + break; + + case 17: + var_00 = "coop_gdn_enemydronesintheair"; + break; + + case 18: + var_00 = "coop_gdn_wereseeingmicrodronesignature"; + break; + + case 19: + break; + + case 20: + var_00 = "coop_gdn_incomingmechs"; + break; + + case 22: + break; + + case 23: + var_00 = "coop_gdn_warbird_inc"; + break; + + case 24: + break; + + default: + var_00 = hordegetroundstartline(); + break; + } + + if(level.currentroundnumber < 26) + { + thread hordeleaderdialogallplayers(var_00,"horde",1); + } + + wait(0.05); + } +} + +//Function Number: 3 +hordegetroundstartline() +{ + var_00 = level.hordedialog["round_begin"][level.roundstartlineindex]; + level.roundstartlineindex++; + if(level.roundstartlineindex >= level.hordedialog["round_begin"].size) + { + level.roundstartlineindex = 0; + } + + return var_00; +} + +//Function Number: 4 +hordevolaststand() +{ + level endon("game_ended"); + level.hordedialog["laststand"] = common_scripts\utility::array_randomize(level.hordedialog["laststand"]); + var_00 = -1; + var_01 = ""; + for(;;) + { + level waittill("player_last_stand"); + if(maps\mp\gametypes\_horde_util::getnumplayers() < 2) + { + continue; + } + + if(var_00 >= level.hordedialog["laststand"].size - 1) + { + var_00 = 0; + } + else + { + var_00++; + } + + var_01 = level.hordedialog["laststand"][var_00]; + foreach(var_03 in level.players) + { + var_03 maps\mp\_utility::leaderdialogonplayer(var_01,"horde",1); + } + + wait(0.05); + } +} + +//Function Number: 5 +zombiedialog() +{ + level endon("game_ended"); + wait(3); + maps\mp\_utility::leaderdialogonplayers("coop_gdn_armoriesaredownexosareoffline",level.players,"horde"); + wait(5); + maps\mp\_utility::leaderdialogonplayers("coop_gdn_thatdnabombshouldhavetaken",level.players,"horde"); + wait(7.5); + maps\mp\_utility::leaderdialogonplayers("coop_gdn_headsupteamsomthings",level.players,"horde"); + level notify("beginZombieSpawn"); + while(level.zombiesdead < 5) + { + wait(0.25); + } + + wait(randomfloatrange(1,3)); + maps\mp\_utility::leaderdialogonplayers("coop_gdn_whatthebloddyhell",level.players,"horde"); + wait(randomintrange(8,12)); + maps\mp\_utility::leaderdialogonplayers("coop_gdn_teamreportwhatthehell",level.players,"horde"); + wait(4); + maps\mp\_utility::leaderdialogonplayers("coop_gdn_whatthehellisgoingon",level.players,"horde"); +} + +//Function Number: 6 +hordeleaderdialogallplayers(param_00,param_01,param_02,param_03) +{ + level endon("game_ended"); + if(isdefined(param_03)) + { + wait(param_03); + } + + foreach(var_05 in level.players) + { + var_05 maps\mp\_utility::leaderdialogonplayer(param_00,param_01,param_02); + } +} + +//Function Number: 7 +hordevomissionfail() +{ + if(level.currentroundnumber < 15 && level.hordelevelflip < 2) + { + hordeleaderdialogallplayers(level.hordedialog["fail_angry"][randomintrange(0,level.hordedialog["fail_angry"].size)],"horde",1); + return; + } + + hordeleaderdialogallplayers(level.hordedialog["fail_happy"][randomintrange(0,level.hordedialog["fail_happy"].size)],"horde",1); +} + +//Function Number: 8 +extraction_nag_lines() +{ + level endon("zombies_ended"); + level endon("game_ended"); + wait(22); + maps\mp\_utility::leaderdialogonplayers("coop_gdn_moveitteam15sec",level.players,"horde"); + wait(8); + maps\mp\_utility::leaderdialogonplayers("coop_gdn_teammoveyourasses",level.players,"horde"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/gametypes/_horde_drones.gsc b/AW/PC/maps/mp/gametypes/_horde_drones.gsc new file mode 100644 index 0000000..e579160 --- /dev/null +++ b/AW/PC/maps/mp/gametypes/_horde_drones.gsc @@ -0,0 +1,802 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\gametypes\_horde_drones.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 28 + * Decompile Time: 454 ms + * Timestamp: 4/22/2024 2:09:38 AM +*******************************************************************/ + +//Function Number: 1 +hordecreatedrone(param_00,param_01,param_02) +{ + var_03 = hordegetdronespawn(); + var_04 = (randomfloatrange(0.1,5),randomfloatrange(0.1,5),randomfloatrange(0.1,5)); + var_05 = spawnhelicopter(param_00,var_03.origin + var_04,(0,0,0),param_01,param_02); + var_05.current_air_space = getent(var_03.target,"targetname"); + var_05.maxhealth = level.dronehealth; + var_05.damagetaken = 0; + var_05.fx_tag0 = "TAG_EYE"; + var_05.speed = 20; + var_05.followspeed = 20; + var_05.owner = param_00; + var_05.team = "axis"; + var_05.ishordedrone = 1; + var_05.maxtrackingrange = 2000; + var_05.maxlaserrange = 300; + var_05.trackedplayer = undefined; + var_05 sethoverparams(0,0,0); + var_05 setmaxpitchroll(90,90); + var_05 vehicle_setspeed(40,40,40); + var_05 vehicle_helicoptersetmaxangularvelocity(90,180,90); + var_05 vehicle_helicoptersetmaxangularacceleration(1000); + var_05 setneargoalnotifydist(5); + var_05 setyawspeed(1000,250,100,0.1); + var_05 thread horde_drone_flying_fx(); + var_05 thread hordedrone_handledamage(); + var_05 thread hordedrone_watchdeath(); + var_05.droneturret = var_05 hordespawndroneturret(level.droneweapon,"vehicle_xh9_warbird_turret_coop","TAG_EYE"); + var_05 thread hordedroneshoot(); + self.currenttarget = common_scripts\utility::random(level.players); + var_05 thread flying_attack_drone_logic(); + return var_05; +} + +//Function Number: 2 +hordegetdronespawn() +{ + var_00 = common_scripts\utility::array_randomize(level.hordedronespawns); + foreach(var_02 in var_00) + { + var_03 = 1; + foreach(var_05 in level.players) + { + if(spawnsighttrace(var_02,var_02.origin,var_05.origin,0)) + { + var_03 = 0; + break; + } + } + + if(var_03) + { + return var_02; + } + } + + return common_scripts\utility::random(level.hordedronespawns); +} + +//Function Number: 3 +hordedroneshoot() +{ + self endon("death"); + for(;;) + { + if(isdefined(self.targetenemy)) + { + if(isdefined(self.targetenemy.isaerialassaultdrone) && self.targetenemy.isaerialassaultdrone) + { + self.droneturret settargetentity(self.targetenemy,(0,0,-20)); + } + else + { + self.droneturret settargetentity(self.targetenemy); + } + + if(isdefined(self.droneturret getturrettarget(0))) + { + var_00 = randomintrange(5,10); + for(var_01 = 0;var_01 < var_00;var_01++) + { + self.droneturret shootturret(); + wait(0.08); + } + + wait(randomintrange(3,5)); + } + else + { + wait(randomintrange(1,3)); + } + } + + wait(0.05); + } +} + +//Function Number: 4 +horde_drone_flying_fx() +{ + self endon("death"); + var_00 = 0.3; + var_01 = common_scripts\utility::getfx("drone_fan_distortion"); + if(level.hordedronetype == "drone_large_energy") + { + var_01 = common_scripts\utility::getfx("drone_fan_distortion_large"); + } + + foreach(var_03 in level.players) + { + playfxontagforclients(var_01,self,"TAG_FX_FAN_L",var_03); + wait 0.05; + playfxontagforclients(var_01,self,"TAG_FX_FAN_R",var_03); + playfxontagforclients(common_scripts\utility::getfx("drone_beacon_red"),self,"TAG_FX_BEACON_0",var_03); + wait(var_00); + playfxontagforclients(common_scripts\utility::getfx("drone_beacon_red"),self,"TAG_FX_BEACON_1",var_03); + wait(var_00); + playfxontagforclients(common_scripts\utility::getfx("drone_beacon_red"),self,"TAG_FX_BEACON_2",var_03); + } +} + +//Function Number: 5 +hordedrone_handledamage() +{ + self endon("death"); + level endon("game_ended"); + self setcandamage(1); + for(;;) + { + self waittill("damage",var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09); + if((!isdefined(var_01) || var_01.classname == "worldspawn") && isdefined(var_09) && var_09 == "killstreak_strike_missile_gas_mp" || var_09 == "warbird_missile_mp") + { + continue; + } + + if(isdefined(var_01.team)) + { + if(self.team == var_01.team) + { + continue; + } + } + else if(isdefined(var_01.owner) && isdefined(var_01.owner.team)) + { + if(self.team == var_01.owner.team) + { + continue; + } + } + + self.lasttododamage = var_01; + if(!isdefined(self)) + { + return; + } + + if(isdefined(var_08) && var_08 & level.idflags_penetration) + { + self.wasdamagedfrombulletpenetration = 1; + } + + self.wasdamaged = 1; + var_0A = var_00; + if(isplayer(var_01)) + { + var_01 maps\mp\gametypes\_damagefeedback::updatedamagefeedback("tracking_drone"); + if(var_04 == "MOD_RIFLE_BULLET" || var_04 == "MOD_PISTOL_BULLET") + { + if(var_01 maps\mp\_utility::_hasperk("specialty_armorpiercing")) + { + var_0A = var_0A + var_00 * level.armorpiercingmod; + } + } + } + + if(isdefined(var_01.owner) && isplayer(var_01.owner)) + { + var_01.owner maps\mp\gametypes\_damagefeedback::updatedamagefeedback("tracking_drone"); + } + + if(isdefined(var_09)) + { + var_0B = maps\mp\_utility::strip_suffix(var_09,"_lefthand"); + switch(var_0B) + { + case "ac130_40mm_mp": + case "ac130_105mm_mp": + case "stinger_mp": + case "remotemissile_projectile_mp": + self.largeprojectiledamage = 1; + var_0A = self.maxhealth + 1; + break; + + case "emp_grenade_killstreak_mp": + case "emp_grenade_var_mp": + case "emp_grenade_mp": + var_0A = self.maxhealth + 1; + break; + + case "stun_grenade_var_mp": + case "stun_grenade_mp": + case "flash_grenade_mp": + case "concussion_grenade_mp": + break; + } + + maps\mp\killstreaks\_killstreaks::killstreakhit(var_01,var_09,self); + } + + self.damagetaken = self.damagetaken + var_0A; + if(self.damagetaken >= self.maxhealth) + { + if(maps\mp\_utility::ismeleemod(var_04) || var_04 == "MOD_IMPACT") + { + maps\mp\gametypes\_horde_util::awardhordemeleekills(var_01); + } + + self notify("death"); + return; + } + } +} + +//Function Number: 6 +hordedrone_watchdeath() +{ + level endon("game_ended"); + self endon("gone"); + self waittill("death",var_00); + var_00 = self.lasttododamage; + thread hordedronedestroyed(var_00); +} + +//Function Number: 7 +hordedronedestroyed(param_00) +{ + if(!isdefined(self)) + { + return; + } + + level.currentaliveenemycount--; + level.enemiesleft--; + setomnvar("ui_horde_enemies_left",level.enemiesleft); + if(level.objdefend) + { + maps\mp\gametypes\horde::checkdefendkill(self,param_00); + } + + level notify("enemy_death",param_00,self); + wait 0.05; + if(isplayer(param_00)) + { + maps\mp\gametypes\_horde_util::awardhordekill(param_00); + param_00 thread maps\mp\gametypes\_rank::xppointspopup("kill",100); + level thread maps\mp\gametypes\_horde_util::hordeupdatescore(param_00,100); + if(param_00 maps\mp\_utility::_hasperk("specialty_triggerhappy")) + { + } + } + + if(isdefined(param_00) && isdefined(param_00.owner) && isplayer(param_00.owner) && isdefined(param_00.owner.killz)) + { + maps\mp\gametypes\_horde_util::awardhordekill(param_00.owner); + param_00.owner thread maps\mp\gametypes\_rank::xppointspopup("kill",100); + level thread maps\mp\gametypes\_horde_util::hordeupdatescore(param_00.owner,100); + } + + maps\mp\_tracking_drone::trackingdrone_stunend(); + if(isdefined(level.trackingdronesettings.fxid_explode)) + { + playfx(level.trackingdronesettings.fxid_explode,self.origin); + } + + if(isdefined(level.trackingdronesettings.sound_explode)) + { + self playsound("horde_uav_assault_drone_exp"); + } + + level.currentpointtotal = level.currentpointtotal + 100; + level notify("pointsEarned"); + self.droneturret delete(); + self delete(); +} + +//Function Number: 8 +hordespawndroneturret(param_00,param_01,param_02) +{ + var_03 = spawnturret("misc_turret",self gettagorigin(param_02),param_00,0); + var_03.angles = self gettagangles(param_02); + var_03 setmodel(param_01); + var_03 setdefaultdroppitch(-45); + var_03 linkto(self,param_02,(0,0,0),(0,0,0)); + var_03.owner = self.owner; + var_03.health = 10000; + var_03.maxhealth = 10000; + var_03.damagetaken = 0; + var_03.stunned = 0; + var_03.stunnedtime = 0; + var_03 setcandamage(1); + var_03 setcanradiusdamage(1); + var_03 setbottomarc(180); + var_03.team = self.team; + var_03.pers["team"] = self.team; + if(level.teambased) + { + var_03 setturretteam(self.team); + } + + var_03 setmode("auto_nonai"); + var_03 setsentryowner(undefined); + var_03 setturretminimapvisible(0); + var_03.chopper = self; + var_03 setleftarc(180); + var_03 setrightarc(180); + var_03 maketurretinoperable(); + var_03 maketurretsolid(); + var_03 makeunusable(); + var_03 thread hordedroneturret_setupdamagecallback(); + return var_03; +} + +//Function Number: 9 +hordedroneturret_setupdamagecallback() +{ + self.damagecallback = ::hordedroneturret_handledamagecallback; + self setcandamage(1); + self setdamagecallbackon(1); +} + +//Function Number: 10 +hordedroneturret_handledamagecallback(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B) +{ + self.chopper notify("damage",param_02,param_01,param_07,param_06,param_04,undefined,undefined,param_0B,param_03,param_05); +} + +//Function Number: 11 +flying_attack_drone_system_init() +{ + level.drone_air_spaces = []; + level.flying_attack_drones = []; + level.hordedronespawns = common_scripts\utility::getstructarray("horde_drone_spawn","targetname"); + level.player_test_points = common_scripts\utility::getstructarray("player_test_point","targetname"); + var_00 = getentarray("trigger_once","classname"); + foreach(var_02 in var_00) + { + if(isdefined(var_02.script_noteworthy) && var_02.script_noteworthy == "drone_air_space") + { + level.drone_air_spaces[level.drone_air_spaces.size] = var_02; + } + } + + init_linked_air_spaces(); + init_target_points(); + if(!isdefined(level.flying_attack_drones)) + { + level.flying_attack_drones = []; + } +} + +//Function Number: 12 +init_drone_motion() +{ + var_00 = undefined; + if(!isdefined(self.script_airspeed)) + { + var_00 = 40; + } + else + { + var_00 = self.script_airspeed; + } + + self setneargoalnotifydist(30); + self vehicle_setspeed(var_00,var_00 / 4,var_00 / 4); +} + +//Function Number: 13 +flying_attack_drone_logic(param_00) +{ + self notify("pdrone_flying_attack_drone_logic"); + self endon("pdrone_flying_attack_drone_logic"); + self endon("death"); + param_00 = self; + param_00 thread flying_attack_drone_damage_monitor(); + param_00 thread flying_attack_drone_death_monitor(); + param_00.attack_delay = 1; + param_00.attack_accuracy = 1; + param_00 init_drone_motion(); + if(isdefined(param_00.target)) + { + param_00 waittill("reached_dynamic_path_end"); + } + + param_00 thread flying_attack_drone_move_think(); +} + +//Function Number: 14 +get_target_air_space(param_00) +{ + var_01 = 500000000; + var_02 = undefined; + foreach(var_04 in level.player_test_points) + { + var_05 = distancesquared(var_04.origin,param_00.origin); + if(var_05 < var_01) + { + var_01 = var_05; + var_02 = var_04; + } + } + + return var_02.link; +} + +//Function Number: 15 +get_random_air_space() +{ + var_00 = common_scripts\utility::random(level.player_test_points); + return var_00.link; +} + +//Function Number: 16 +flying_attack_drone_move_think() +{ + self endon("death"); + if(!isdefined(level.drone_air_spaces)) + { + return; + } + + update_flying_attack_drone_goal_pos(); + self waittill("near_goal"); + wait(0.05); + for(;;) + { + var_00 = maps\mp\gametypes\_horde_util::hordegetclosesthealthyenemy(self); + if(isdefined(var_00)) + { + self setlookatent(var_00); + self.targetenemy = var_00; + var_01 = get_target_air_space(var_00); + } + else + { + var_01 = get_random_air_space(); + } + + if(var_01 != self.current_air_space) + { + var_02 = get_next_air_space(self.current_air_space,var_01,level.drone_air_spaces); + if(isdefined(var_02)) + { + self.current_air_space = var_02; + } + } + + update_flying_attack_drone_goal_pos(); + self waittill("near_goal"); + if(var_01 == self.current_air_space) + { + wait_in_current_air_space(); + } + } +} + +//Function Number: 17 +wait_in_current_air_space() +{ + level endon("pdrone_wait_in_current_air_space"); + wait(randomfloatrange(0.5,1.5)); +} + +//Function Number: 18 +calc_flock_goal_pos() +{ + var_00 = self.origin; + if(!ispointinvolume(var_00,self.current_air_space)) + { + var_00 = get_random_point_in_air_space(self.current_air_space); + } + else + { + var_01 = 0; + var_02 = 0; + var_03 = (0,0,0); + var_04 = 0; + var_05 = (0,0,0); + foreach(var_07 in level.flying_attack_drones) + { + if(self != var_07 && isdefined(self.current_air_space) && isdefined(var_07.current_air_space)) + { + if(self.current_air_space == var_07.current_air_space) + { + var_01++; + var_08 = var_07.origin - self.origin; + var_09 = length(var_08); + if(var_09 < 90) + { + var_02++; + var_03 = var_03 - 0.5 * 90 - var_09 * var_08 / var_09; + } + else if(var_09 > 150) + { + var_04++; + var_05 = var_05 + 0.5 * var_09 - 150 * var_08 / var_09; + } + } + } + } + + if(var_01 > 0) + { + if(randomint(5) == 0) + { + var_00 = get_random_point_in_air_space(self.current_air_space); + } + else + { + if(var_02 > 0) + { + var_00 = var_00 + var_03 / var_02; + } + + if(var_04 > 0) + { + var_00 = var_00 + var_05 / var_04; + } + } + } + else + { + var_00 = get_random_point_in_air_space(self.current_air_space); + } + } + + return var_00; +} + +//Function Number: 19 +get_tactical_goal_pos() +{ + if(self.current_air_space != level.drone_tactical_picker_data.target_air_space || !isdefined(self.flock_goal_position) || !isdefined(self.flock_goal_offset)) + { + return get_random_point_in_air_space(self.current_air_space); + } + + if(isdefined(self.dodge_position)) + { + return self.dodge_position; + } + + return self.flock_goal_position + self.flock_goal_offset; +} + +//Function Number: 20 +tactical_move_to_goal_pos() +{ + var_00 = get_tactical_goal_pos(); + var_01 = undefined; + var_02 = self.angles[1]; + if(!isdefined(self.drone_threat_data) || !isdefined(self.drone_threat_data.threat)) + { + var_01 = 1; + var_03 = var_00 - self.origin; + if(var_03 != (0,0,0)) + { + var_04 = vectortoangles(var_03); + var_02 = var_04[1]; + } + } + + self vehicle_helisetai(var_00,60,50,50,undefined,var_01,var_02,0,0,0,0,0,1); +} + +//Function Number: 21 +update_flying_attack_drone_goal_pos() +{ + self setvehgoalpos(calc_flock_goal_pos(),1); +} + +//Function Number: 22 +get_random_point_in_air_space(param_00) +{ + for(var_01 = param_00 getpointinbounds(randomfloatrange(-1,1),randomfloatrange(-1,1),randomfloatrange(-1,1));!ispointinvolume(var_01,param_00);var_01 = param_00 getpointinbounds(randomfloatrange(-1,1),randomfloatrange(-1,1),randomfloatrange(-1,1))) + { + } + + return var_01; +} + +//Function Number: 23 +flying_attack_drone_damage_monitor() +{ + self endon("death"); + self.damagetaken = 0; + self.istakingdamage = 0; + for(;;) + { + self waittill("damage",var_00,var_01,var_02,var_03,var_04); + if(!isdefined(var_01) || !isplayer(var_01)) + { + continue; + } + + self notify("flying_attack_drone_damaged_by_player"); + thread flying_attack_drone_damage_update(); + } +} + +//Function Number: 24 +flying_attack_drone_damage_update() +{ + self notify("taking damage"); + self endon("taking damage"); + self endon("death"); + self.istakingdamage = 1; + wait(1); + self.istakingdamage = 0; +} + +//Function Number: 25 +flying_attack_drone_death_monitor() +{ + if(!isdefined(level.flying_attack_drones)) + { + level.flying_attack_drones = []; + } + + level.flying_attack_drones = common_scripts\utility::array_add(level.flying_attack_drones,self); + self waittill("death"); + level.flying_attack_drones = common_scripts\utility::array_remove(level.flying_attack_drones,self); + level notify("flying_attack_drone_destroyed"); +} + +//Function Number: 26 +init_linked_air_spaces() +{ + var_00 = level.drone_air_spaces; + var_01 = []; + var_02 = 0; + for(var_03 = 0;var_03 < var_00.size;var_03++) + { + if(!isdefined(var_00[var_03].script_linkname)) + { + var_01[var_01.size] = var_03; + continue; + } + + if(int(var_00[var_03].script_linkname) > var_02) + { + var_02 = int(var_00[var_03].script_linkname); + } + } + + for(var_03 = 0;var_03 < var_01.size;var_03++) + { + var_02++; + var_00[var_01[var_03]].script_linkname = var_02; + } + + for(var_03 = 0;var_03 < var_00.size;var_03++) + { + if(!isdefined(var_00[var_03].links)) + { + var_00[var_03].links = []; + } + + var_04 = []; + if(isdefined(var_00[var_03].script_linkto)) + { + var_04 = strtok(var_00[var_03].script_linkto," "); + for(var_05 = 0;var_05 < var_04.size;var_05++) + { + for(var_06 = 0;var_06 < var_00.size;var_06++) + { + if(var_00[var_06].script_linkname == var_04[var_05]) + { + var_07 = 0; + for(var_08 = 0;var_08 < var_00[var_03].links.size;var_08++) + { + if(var_00[var_03].links[var_08] == var_00[var_06]) + { + var_07 = 1; + break; + } + } + + if(!var_07) + { + var_00[var_03].links[var_00[var_03].links.size] = var_00[var_06]; + } + + if(!isdefined(var_00[var_06].links)) + { + var_00[var_06].links = []; + } + + var_07 = 0; + for(var_08 = 0;var_08 < var_00[var_06].links.size;var_08++) + { + if(var_00[var_06].links[var_08] == var_00[var_03]) + { + var_07 = 1; + break; + } + } + + if(!var_07) + { + var_00[var_06].links[var_00[var_06].links.size] = var_00[var_03]; + } + + break; + } + } + } + } + } +} + +//Function Number: 27 +init_target_points() +{ + for(var_00 = 0;var_00 < level.player_test_points.size;var_00++) + { + level.player_test_points[var_00].link = getent(level.player_test_points[var_00].target,"targetname"); + } +} + +//Function Number: 28 +get_next_air_space(param_00,param_01,param_02) +{ + var_03 = param_00; + param_00 = param_01; + param_01 = var_03; + var_04 = []; + var_04[0] = param_00; + var_05 = []; + param_00.f_score = distancesquared(param_00.origin,param_01.origin); + param_00.g_score = 0; + while(var_04.size > 0) + { + var_06 = undefined; + var_07 = 500000000; + foreach(var_09 in var_04) + { + if(var_09.f_score < var_07) + { + var_06 = var_09; + var_07 = var_09.f_score; + } + } + + if(var_06 == param_01) + { + return var_06.came_from; + } + + var_04 = common_scripts\utility::array_remove(var_04,var_06); + var_05[var_05.size] = var_06; + var_0B = var_06.links; + foreach(var_09 in var_0B) + { + if(common_scripts\utility::array_contains(var_05,var_09)) + { + continue; + } + + var_0D = var_06.g_score + distancesquared(var_06.origin,var_09.origin); + var_0E = common_scripts\utility::array_contains(var_04,var_09); + if(!var_0E) + { + var_09.came_from = var_06; + var_09.g_score = var_0D; + var_09.f_score = var_09.g_score + distancesquared(var_09.origin,param_01.origin); + var_04[var_04.size] = var_09; + continue; + } + + if(var_0D < var_09.g_score) + { + var_09.came_from = var_06; + var_09.g_score = var_0D; + var_09.f_score = var_09.g_score + distancesquared(var_09.origin,param_01.origin); + } + } + } + + return undefined; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/gametypes/_horde_laststand.gsc b/AW/PC/maps/mp/gametypes/_horde_laststand.gsc new file mode 100644 index 0000000..3e51887 --- /dev/null +++ b/AW/PC/maps/mp/gametypes/_horde_laststand.gsc @@ -0,0 +1,1051 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\gametypes\_horde_laststand.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 28 + * Decompile Time: 433 ms + * Timestamp: 4/22/2024 2:09:40 AM +*******************************************************************/ + +//Function Number: 1 +callback_playerlaststandhorde(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + while(self.isrunningarmorycommand || self.isrunningweapongive) + { + wait 0.05; + } + + if(isdefined(self.iscarrying) && self.iscarrying) + { + self notify("force_cancel_placement"); + wait 0.05; + } + + registerlaststandparameter(param_00,param_01,param_02,param_03,param_04,param_05,param_06); + if(gameshouldend(self)) + { + self.uselaststandparams = 1; + maps\mp\_utility::_suicide(); + maps\mp\gametypes\_horde_util::hordeupdatescore(self,0); + hordeendgame(); + return; + } + + if(!maydolaststandhorde(self)) + { + self.uselaststandparams = 0; + if(level.players.size < 2) + { + maps\mp\_utility::_suicide(); + maps\mp\gametypes\_horde_util::hordeupdatescore(self,0); + hordeendgame(); + return; + } + else + { + if(isdefined(level.hordedropandresetuplinkball)) + { + self [[ level.hordedropandresetuplinkball ]](); + } + + if(isdefined(self.underwater)) + { + var_09 = self getcurrentprimaryweapon(); + self takeweapon(var_09); + } + + thread laststandmonitorabandonment(); + startspectatemode(1,1,0); + return; + } + } + + self.inlaststand = 1; + self.laststand = 1; + self.ignoreme = 1; + self.health = 1; + self allowmelee(0); + thread leaveremotekillstreaks(); + thread laststandexoabilitymonitor(); + self waittill("last_stand_offhand_secondary_disabled"); + var_0A = self getweaponslistprimaries(); + self.primaryweapons = []; + foreach(var_0C in var_0A) + { + if(!issubstr(var_0C,"combatknife")) + { + self.primaryweapons[self.primaryweapons.size] = var_0C; + } + } + + self.lastequippedweapon = self getcurrentprimaryweapon(); + if(self.lastequippedweapon == "iw5_carrydrone_mp" || self.lastequippedweapon == "search_dstry_bomb_defuse_mp" || issubstr(self.lastequippedweapon,"killstreak") || issubstr(self.lastequippedweapon,"turrethead") && !isdefined(self.pers["rippableSentry"])) + { + self.lastequippedweapon = self.primaryweapons[0]; + } + + foreach(var_0C in self.primaryweapons) + { + self.primaryweaponsammo[var_0C]["ammoclip"] = self getweaponammoclip(var_0C); + self.primaryweaponsammo[var_0C]["ammostock"] = self setweaponammostock(var_0C); + if((issubstr(var_0C,"exoxmg") && !issubstr(var_0C,"alt_")) || issubstr(var_0C,"sac3")) + { + self.primaryweaponsammo[var_0C]["ammoclipleft"] = self getweaponammoclip(var_0C,"left"); + } + } + + foreach(var_11 in self.primaryweapons) + { + if(!issubstr(var_11,"titan")) + { + self takeweapon(var_11); + } + } + + var_13 = hordelaststandweapon(); + maps\mp\gametypes\_weapons::saveweapon("laststand",self.lastequippedweapon,var_13); + if(!haslaststandweapon(var_13)) + { + self giveweapon(var_13); + } + + self.wasunderwater = isdefined(self.underwater); + if(!isdefined(self.underwater)) + { + if(!issubstr(self.lastequippedweapon,"titan")) + { + self switchtoweaponimmediate(var_13); + } + } + + thread maps\mp\gametypes\_horde_util::hordeallowallboost(0,"laststand"); + self setclientomnvar("ui_horde_show_armory",0); + self setclientomnvar("ui_horde_laststand",1); + self hudoutlineenable(1,0); + common_scripts\utility::_disableusability(); + self disableweaponswitch(); + self disableoffhandweapons(); + thread laststandrevivehorde(param_00,param_01,param_04,param_07,param_03); +} + +//Function Number: 2 +leaveremotekillstreaks() +{ + if(maps\mp\_utility::isinremotetransition()) + { + maps\mp\killstreaks\_killstreaks::playerwaittillridekillstreakcomplete(); + } + + if(isdefined(self.usingremote)) + { + if(self.usingremote == "warbird") + { + foreach(var_01 in level.spawnedwarbirds) + { + if(var_01.owner == self) + { + var_01 notify("death"); + var_01 thread maps\mp\killstreaks\_aerial_utility::heli_leave(); + wait(1); + break; + } + } + + return; + } + + if(self.usingremote == "orbital_strike") + { + foreach(var_04 in level.orbital_lasers) + { + if(var_04.owner == self) + { + var_04 notify("death"); + wait(1); + break; + } + } + + return; + } + + if(isdefined(self.remoteturretlist)) + { + self.remoteturretlist[0] notify("death"); + return; + } + + return; + } +} + +//Function Number: 3 +startspectatemode(param_00,param_01,param_02) +{ + if(maps\mp\killstreaks\_emp::issystemhacked() && !level.gameended) + { + maps\mp\killstreaks\_emp::removeemp(); + wait 0.05; + } + + laststandsaveloadoutinfo(param_00,param_01,!param_02); + self.lastperks = self.horde_perks; + maps\mp\_utility::_clearperks(); + self.lastkillstreaks = []; + var_03 = self getclientomnvar("ui_horde_player_class"); + var_04 = self.classsettings[var_03]["killstreak"]; + var_05 = 0; + foreach(var_07 in self.pers["killstreaks"]) + { + if(!var_05 && isdefined(var_07.streakname) && var_07.streakname == var_04) + { + var_05 = 1; + continue; + } + + if(var_07.available) + { + var_08 = self.lastkillstreaks.size; + self.lastkillstreaks[var_08]["name"] = var_07.streakname; + self.lastkillstreaks[var_08]["modules"] = var_07.modules; + } + } + + self notify("becameSpectator"); + self.pers["class"] = undefined; + self.class = undefined; + self.isspectator = 1; + self.ignoreme = 1; + if(param_02) + { + thread maps\mp\gametypes\_playerlogic::spawnspectator(self geteye() - (0,0,8),self getplayerangles()); + } + else + { + thread maps\mp\gametypes\_playerlogic::spawnspectator(); + } + + self notify("revive"); +} + +//Function Number: 4 +laststandsaveloadoutinfo(param_00,param_01,param_02) +{ + if(param_00) + { + self.lastequippedweapon = self getcurrentprimaryweapon(); + self.primaryweapons = self getweaponslistprimaries(); + self.wasunderwater = isdefined(self.underwater); + foreach(var_04 in self.primaryweapons) + { + self.primaryweaponsammo[var_04]["ammoclip"] = self getweaponammoclip(var_04); + self.primaryweaponsammo[var_04]["ammostock"] = self setweaponammostock(var_04); + if((issubstr(var_04,"exoxmg") && !issubstr(var_04,"alt_")) || issubstr(var_04,"sac3")) + { + self.primaryweaponsammo[var_04]["ammoclipleft"] = self getweaponammoclip(var_04,"left"); + } + } + } + + if(param_02) + { + self.lastlethalweapon = self getlethalweapon(); + self.lastlethalweaponammoclip = self getweaponammoclip(self.lastlethalweapon); + } + + if(param_01) + { + var_06 = self getclientomnvar("ui_horde_player_class"); + self.lasttacticalweapon = self gettacticalweapon(); + self.lasttacticalweaponammoclip = self batterygetcharge(self.lasttacticalweapon); + self.classsettings[var_06]["battery"] = self.lasttacticalweaponammoclip; + } +} + +//Function Number: 5 +hordelaststandweapon() +{ + return "iw5_titan45_mp_xmags"; +} + +//Function Number: 6 +haslaststandweapon(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = hordelaststandweapon(); + } + + var_01 = self getweaponslistprimaries(); + foreach(var_03 in var_01) + { + if(var_03 == param_00) + { + self.hadlaststandweapon = 1; + return 1; + } + } + + self.hadlaststandweapon = 0; + return 0; +} + +//Function Number: 7 +gameshouldend(param_00) +{ + if(level.players.size < 2) + { + if(isdefined(self.hasselfrevive) && self.hasselfrevive) + { + return 0; + } + } + + var_01 = 0; + foreach(var_03 in level.participants) + { + if(param_00 == var_03 && !maps\mp\gametypes\_horde_util::hasagentsquadmember(param_00)) + { + continue; + } + + if(!maps\mp\gametypes\_horde_util::isonhumanteam(var_03)) + { + continue; + } + + if(maps\mp\gametypes\_horde_util::isplayerinlaststand(var_03) && !maps\mp\gametypes\_horde_util::hasagentsquadmember(var_03)) + { + continue; + } + + if((!isdefined(var_03.sessionstate) || var_03.sessionstate != "playing") && !isdefined(var_03.goliathdeath)) + { + continue; + } + + var_01 = 1; + break; + } + + return !var_01; +} + +//Function Number: 8 +hordeendgame(param_00) +{ + setomnvar("horde_game_ended",1); + foreach(var_02 in level.players) + { + var_02 setclientomnvar("ui_horde_show_armory",0); + } + + foreach(var_05 in level.carepackages) + { + var_05 maps\mp\killstreaks\_airdrop::deletecrate(); + } + + if(!level.zombiesstarted) + { + thread maps\mp\gametypes\_horde_armory::hordedisablearmories(); + } + + level notify("defend_cancel"); + wait(0.05); + level.finalkillcam_winner = level.enemyteam; + if(!isdefined(param_00)) + { + level thread maps\mp\gametypes\_gamelogic::endgame(level.enemyteam,game["end_reason"]["survivors_eliminated"]); + } + else if(param_00 == "extraction_failed") + { + level thread maps\mp\gametypes\_gamelogic::endgame(level.enemyteam,game["end_reason"]["zombie_extraction_failed"]); + } + else if(param_00 == "zombies_completed") + { + level thread maps\mp\gametypes\_gamelogic::endgame(level.playerteam,game["end_reason"]["zombies_completed"]); + } + + if(level.currentroundnumber > 4) + { + setnojipscore(0); + } +} + +//Function Number: 9 +maydolaststandhorde(param_00) +{ + if(param_00 maps\mp\_utility::touchingbadtrigger()) + { + return 0; + } + + return 1; +} + +//Function Number: 10 +registerlaststandparameter(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + var_07 = spawnstruct(); + var_07.einflictor = param_00; + var_07.attacker = param_01; + var_07.idamage = param_02; + var_07.attackerposition = param_01.origin; + var_07.smeansofdeath = param_03; + var_07.sweapon = param_04; + var_07.vdir = param_05; + var_07.shitloc = param_06; + var_07.laststandstarttime = gettime(); + if(isdefined(param_01) && isplayer(param_01) && param_01 getcurrentprimaryweapon() != "none") + { + var_07.sprimaryweapon = param_01 getcurrentprimaryweapon(); + } + else + { + var_07.sprimaryweapon = undefined; + } + + self.laststandparams = var_07; +} + +//Function Number: 11 +laststandrevivehorde(param_00,param_01,param_02,param_03,param_04) +{ + self endon("death"); + self endon("disconnect"); + self endon("revive"); + level endon("game_ended"); + level notify("player_last_stand"); + self notify("player_start_last_stand"); + self notify("force_cancel_placement"); + level thread maps\mp\gametypes\_horde_util::playsoundtoallplayers("mp_last_stand"); + level thread maps\mp\_utility::leaderdialog("ally_down",level.playerteam,"status"); + thread laststandwaittilldeathhorde(); + thread laststandammowacher(); + thread laststandkeepoverlayhorde(); + thread laststandmonitorabandonment(); + var_05 = spawn("script_model",self.origin); + var_05 setmodel("tag_origin"); + var_05 setcursorhint("HINT_NOICON"); + var_05 sethintstring(&"PLATFORM_REVIVE"); + var_05 makeusable(); + var_05.inuse = 0; + var_05.curprogress = 0; + var_05.usetime = level.laststandusetime; + var_05.userate = 1; + var_05.id = "last_stand"; + var_05.targetname = "revive_trigger"; + var_05.owner = self; + var_05 linkto(self,"tag_origin",(0,0,20),(0,0,0)); + var_05 thread maps\mp\gametypes\_damage::deleteonreviveordeathordisconnect(); + var_06 = newteamhudelem(self.team); + var_06 setshader("waypoint_revive",8,8); + var_06 setwaypoint(1,1); + var_06 settargetent(self); + var_06.color = (0.33,0.75,0.24); + var_06 thread maps\mp\gametypes\_damage::destroyonreviveentdeath(var_05); + thread laststandupdatereviveiconcolorhorde(var_05,var_06,25); + var_05 thread reviveentmonitor(); + var_05 thread revivetriggerthinkhorde(); + var_05 thread laststandwaittillliferecived(); + self.hasselfrevive = 0; + if(level.players.size < 2) + { + thread laststandselfrevive(); + level thread selfrevivethinkloop(self); + } + else + { + thread laststandtimerhorde(25,var_05); + } + + var_05 endon("death"); + wait(25); + while(isdefined(var_05.inuse) && var_05.inuse) + { + wait 0.05; + } + + self hudoutlinedisable(); + self disableweapons(); + self.movespeedscaler = 0.05; + if(level.players.size > 1) + { + startspectatemode(0,0,0); + } +} + +//Function Number: 12 +laststandselfrevive() +{ + self endon("disconnect"); + self setclientomnvar("ui_use_bar_text",3); + self setclientomnvar("ui_use_bar_start_time",int(gettime())); + self.curprogress = 0; + self.userate = 1; + self.usetime = 8000; + var_00 = -1; + while(maps\mp\_utility::isreallyalive(self) && isdefined(self.laststand) && !level.gameended) + { + if(var_00 != self.userate) + { + if(self.curprogress > self.usetime) + { + self.curprogress = self.usetime; + } + + if(self.userate > 0) + { + var_01 = gettime(); + var_02 = self.curprogress / self.usetime; + var_03 = var_01 + 1 - var_02 * self.usetime / self.userate; + self setclientomnvar("ui_use_bar_end_time",int(var_03)); + } + + var_00 = self.userate; + } + + wait(0.05); + } + + self setclientomnvar("ui_use_bar_end_time",0); +} + +//Function Number: 13 +selfrevivethinkloop(param_00) +{ + while(!level.gameended && maps\mp\_utility::isreallyalive(param_00) && param_00.curprogress < param_00.usetime) + { + param_00.curprogress = param_00.curprogress + 50 * param_00.userate; + if(param_00.curprogress >= param_00.usetime) + { + param_00 notify("revive_trigger"); + } + + wait(0.05); + } +} + +//Function Number: 14 +revivetriggerthinkhorde() +{ + self endon("death"); + level endon("game_ended"); + for(;;) + { + self makeusable(); + self waittill("trigger",var_00); + self makeunusable(); + self.curprogress = 0; + self.inuse = 1; + self.owner.beingrevived = 1; + var_00 freezecontrols(1); + var_00 common_scripts\utility::_disableweaponswitch(); + var_00 allowfire(0); + var_00.isreviving = 1; + thread revivetriggerthinkhorde_cleanup(var_00); + var_01 = maps\mp\gametypes\_damage::reviveholdthink(var_00,undefined,0); + self.inuse = 0; + if(isdefined(self.owner)) + { + self.owner.beingrevived = 0; + } + + if(isdefined(var_00) && maps\mp\_utility::isreallyalive(var_00)) + { + self notify("reviveTriggerThinkHorde_cleanup"); + if(isdefined(var_01) && var_01) + { + var_00 thread maps\mp\gametypes\_hud_message::splashnotifydelayed("horde_reviver"); + maps\mp\gametypes\_horde_util::playsoundtoallplayers("mp_challenge_complete"); + if(isplayer(var_00)) + { + maps\mp\gametypes\_horde_util::awardhorderevive(var_00); + } + else if(isdefined(var_00.owner) && isplayer(var_00.owner) && var_00.owner != self.owner) + { + maps\mp\gametypes\_horde_util::awardhorderevive(var_00.owner); + } + } + + if(!isdefined(var_01)) + { + var_00 maps\mp\gametypes\_gameobjects::updateuiprogress(self,0); + } + } + + if(isdefined(var_01) && var_01) + { + self.owner notify("revive_trigger",var_00); + break; + } + } +} + +//Function Number: 15 +revivetriggerthinkhorde_cleanup(param_00) +{ + common_scripts\utility::waittill_any_ents(self,"death",self,"reviveTriggerThinkHorde_cleanup"); + param_00 freezecontrols(0); + param_00 allowfire(1); + param_00 common_scripts\utility::_enableweaponswitch(); + param_00.isreviving = 0; +} + +//Function Number: 16 +laststandwaittillliferecived() +{ + level endon("game_ended"); + var_00 = self.owner; + var_00 endon("becameSpectator"); + var_00 endon("death"); + var_00 endon("disconnect"); + var_00 waittill("revive_trigger",var_01); + if(isdefined(var_01) && isplayer(var_01) && var_01 != var_00) + { + var_00 thread maps\mp\gametypes\_hud_message::playercardsplashnotify("revived",var_01); + } + + if(var_00 isreloading()) + { + while(var_00 isreloading()) + { + wait 0.05; + } + + wait 0.05; + } + + var_00 laststandrespawnplayerhorde(); +} + +//Function Number: 17 +reviveentmonitor() +{ + self endon("death"); + self.owner common_scripts\utility::waittill_any("revive_trigger","disconnect","becameSpectator"); + self delete(); +} + +//Function Number: 18 +laststandrespawnplayerhorde() +{ + self notify("revive"); + var_00 = self getclientomnvar("ui_horde_player_class"); + var_01 = level.classsettings[var_00]["speed"]; + self.laststand = undefined; + self.inlaststand = 0; + self.headicon = ""; + self.health = self.maxhealth; + self.movespeedscaler = var_01; + self.ignoreme = 0; + self.beingrevived = 0; + if(maps\mp\_utility::_hasperk("specialty_lightweight")) + { + self.movespeedscaler = maps\mp\_utility::lightweightscalar(); + } + + self hudoutlinedisable(); + self laststandrevive(); + if(!isdefined(self.underwater)) + { + self setstance("crouch"); + } + + if(!self.hadlaststandweapon) + { + var_02 = hordelaststandweapon(); + self takeweapon(var_02); + self loadweapons(var_02); + } + + if(!self.wasunderwater && isdefined(self.underwater)) + { + self.lastequippedweapon = level.shallow_water_weapon; + } + + if(isdefined(self.underwater)) + { + self giveweapon(level.shallow_water_weapon); + self switchtoweaponimmediate(level.shallow_water_weapon); + } + + thread maps\mp\gametypes\_horde_util::hordeallowallboost(1,"laststand"); + self allowmelee(1); + self enableweapons(); + common_scripts\utility::_enableusability(); + self enableoffhandweapons(); + maps\mp\gametypes\_weapons::updatemovespeedscale(); + maps\mp\_utility::clearlowermessage("last_stand"); + maps\mp\_utility::giveperk("specialty_pistoldeath",0); + if(isdefined(self.underwater) || issubstr(self.lastequippedweapon,"turret")) + { + givebackstoredplayerweapons(var_00,0,self.lastequippedweapon); + if(isdefined(self.underwater) || issubstr(self.lastequippedweapon,"turret")) + { + self giveweapon(self.lastequippedweapon); + while(!self loadweapons([self.lastequippedweapon])) + { + wait 0.05; + } + } + } + else + { + givebackstoredplayerweapons(var_00,1); + } + + maps\mp\gametypes\_weapons::restoreweapon("laststand"); + if(level.hordeweaponsjammed == 0 && !isdefined(self.underwater)) + { + self enableweaponswitch(); + } + + if(!canspawn(self.origin)) + { + maps\mp\_movers::unresolved_collision_nearest_node(self,0); + } +} + +//Function Number: 19 +givestoredweapon(param_00,param_01,param_02) +{ + maps\mp\gametypes\_horde_util::trygivehordeweapon(self,param_00,1,param_02,undefined,param_01); + self setweaponammoclip(param_00,self.primaryweaponsammo[param_00]["ammoclip"]); + self setweaponammostock(param_00,self.primaryweaponsammo[param_00]["ammostock"]); +} + +//Function Number: 20 +givebackstoredplayerweapons(param_00,param_01,param_02) +{ + if(level.zombiesstarted) + { + foreach(var_04 in self.primaryweapons) + { + self giveweapon(var_04); + self setweaponammostock(var_04,self.primaryweaponsammo[var_04]["ammostock"]); + self setweaponammoclip(var_04,self.primaryweaponsammo[var_04]["ammoclip"]); + } + + self switchtoweaponimmediate(self.lastequippedweapon); + return; + } + + var_06 = self.lastequippedweapon == self.hordeclassweapons[var_03]["secondary"]; + var_07 = var_04 && !var_06 && !level.hordeweaponsjammed; + var_08 = var_04 && var_06 && !level.hordeweaponsjammed; + givestoredweapon(self.hordeclassweapons[var_03]["primary"],"primary",var_07); + givestoredweapon(self.hordeclassweapons[var_03]["secondary"],"secondary",var_08); + foreach(var_09 in self.primaryweapons) + { + if((issubstr(var_09,"exoxmg") && !issubstr(var_09,"alt_")) || issubstr(var_09,"sac3")) + { + self setweaponammoclip(var_09,self.primaryweaponsammo[var_09]["ammoclipleft"],"left"); + } + } + + var_0B = self getweaponslistprimaries(); + foreach(var_09 in var_0B) + { + if(isdefined(var_04) && var_09 == var_04) + { + continue; + } + + if(var_09 != self.hordeclassweapons[param_02]["primary"] && var_09 != self.hordeclassweapons[param_02]["secondary"]) + { + if(!issubstr(var_09,"alt_iw5_")) + { + self takeweapon(var_09); + } + } + } + + if(level.hordeweaponsjammed) + { + if(isdefined(var_04)) + { + var_0E = var_04; + } + else if(var_06) + { + var_0E = self.hordeclassweapons[var_03]["secondary"]; + } + else + { + var_0E = self.hordeclassweapons[var_03]["primary"]; + } + + maps\mp\gametypes\horde::handlejammedpistols(var_0E); + } +} + +//Function Number: 21 +laststandwaittilldeathhorde() +{ + self endon("disconnect"); + self endon("revive"); + level endon("game_ended"); + self waittill("death"); + self.laststand = undefined; + self.inlaststand = 0; + self.ignoreme = 0; +} + +//Function Number: 22 +laststandkeepoverlayhorde() +{ + self endon("death"); + self endon("disconnect"); + self endon("revive"); + level endon("game_ended"); + for(;;) + { + self.health = 2; + wait 0.05; + self.health = 1; + wait 0.05; + } +} + +//Function Number: 23 +laststandmonitorabandonment() +{ + level endon("game_ended"); + self endon("disconnect"); + self endon("revive_trigger"); + self endon("horde_end_spectate"); + for(;;) + { + level waittill("player_disconnected"); + if(gameshouldend(self)) + { + self.uselaststandparams = 1; + maps\mp\_utility::_suicide(); + maps\mp\gametypes\_horde_util::hordeupdatescore(self,0); + if(getomnvar("horde_game_ended") == 0) + { + hordeendgame(); + } + + return; + } + + wait 0.05; + } +} + +//Function Number: 24 +laststandupdatereviveiconcolorhorde(param_00,param_01,param_02) +{ + self endon("death"); + self endon("disconnect"); + self endon("revive"); + level endon("game_ended"); + param_00 endon("death"); + maps\mp\_utility::playdeathsound(); + wait(param_02 / 3); + param_01.color = (1,0.64,0); + while(param_00.inuse) + { + wait(0.05); + } + + maps\mp\_utility::playdeathsound(); + wait(param_02 / 3); + param_01.color = (1,0,0); + while(param_00.inuse) + { + wait(0.05); + } + + maps\mp\_utility::playdeathsound(); +} + +//Function Number: 25 +laststandtimerhorde(param_00,param_01) +{ + self endon("disconnect"); + var_02 = 90; + if(!issplitscreen()) + { + var_02 = 120; + } + + var_03 = maps\mp\gametypes\_hud_util::createtimer("hudsmall",1); + var_03 maps\mp\gametypes\_hud_util::setpoint("CENTER",undefined,0,var_02); + var_03.label = &"MP_HORDE_BLEED_OUT"; + var_03.color = (0.804,0.804,0.035); + var_03.archived = 0; + var_03.showinkillcam = 0; + var_03 settimer(param_00 - 1); + param_01 common_scripts\utility::waittill_any_timeout(param_00,"death"); + if(!isdefined(var_03)) + { + return; + } + + var_03 notify("destroying"); + var_03 maps\mp\gametypes\_hud_util::destroyelem(); +} + +//Function Number: 26 +laststandammowacher() +{ + self endon("death"); + self endon("disconnect"); + self endon("revive"); + level endon("game_ended"); + for(;;) + { + wait(1.5); + var_00 = self getcurrentprimaryweapon(); + if(!maps\mp\gametypes\_weapons::isprimaryweapon(var_00)) + { + continue; + } + + var_01 = self setweaponammostock(var_00); + var_02 = weaponclipsize(var_00); + if(var_01 < var_02) + { + self setweaponammostock(var_00,var_02); + } + } +} + +//Function Number: 27 +laststandexoabilitymonitor() +{ + self endon("death"); + self endon("disconnect"); + self endon("becameSpectator"); + level endon("game_ended"); + var_00 = self getclientomnvar("ui_horde_player_class"); + self.lasttacticalweapon = self gettacticalweapon(); + self.lasttacticalweaponammoclip = self batterygetcharge(self.lasttacticalweapon); + self.classsettings[var_00]["battery"] = self.lasttacticalweaponammoclip; + switch(self.lasttacticalweapon) + { + case "exocloakhorde_equipment_mp": + maps\mp\_exo_cloak::take_exo_cloak(); + break; + + case "exohoverhorde_equipment_mp": + maps\mp\_exo_hover::take_exo_hover(); + break; + + case "exoshieldhorde_equipment_mp": + if(isdefined(self.exo_shield_on) && self.exo_shield_on) + { + self batterysetcharge("exoshieldhorde_equipment_mp",0); + self waittillmatch("battery_discharge_end"); + } + + maps\mp\_exo_shield::take_exo_shield(); + break; + + case "exoping_equipment_mp": + maps\mp\_exo_ping::take_exo_ping(); + break; + + case "exorepulsor_equipment_mp": + maps\mp\_exo_repulsor::take_exo_repulsor(); + break; + + case "extra_health_mp": + maps\mp\_extrahealth::take_exo_health(); + break; + } + + wait 0.05; + self notify("last_stand_offhand_secondary_disabled"); + self disableoffhandsecondaryweapons(); + self waittill("revive"); + switch(self.lasttacticalweapon) + { + case "exocloakhorde_equipment_mp": + maps\mp\_exo_cloak::give_exo_cloak(); + break; + + case "exohoverhorde_equipment_mp": + maps\mp\_exo_hover::give_exo_hover(); + break; + + case "exoshieldhorde_equipment_mp": + maps\mp\_exo_shield::give_exo_shield(); + break; + + case "exoping_equipment_mp": + maps\mp\_exo_ping::give_exo_ping(); + break; + + case "exorepulsor_equipment_mp": + maps\mp\_exo_repulsor::give_exo_repulsor(); + break; + + case "extra_health_mp": + maps\mp\_extrahealth::give_exo_health(); + break; + } + + self batterysetcharge(self.lasttacticalweapon,self.lasttacticalweaponammoclip); + self setclientomnvar("ui_exo_battery_level0",self.lasttacticalweaponammoclip); + self enableoffhandsecondaryweapons(); + level thread maps\mp\gametypes\_horde_armory::hordebatterylevel(self); +} + +//Function Number: 28 +hordehandlejuggdeath() +{ + level endon("game_ended"); + self endon("disconnect"); + self.goliathdeath = 1; + self.inliveplayerkillstreak = undefined; + self.mechhealth = undefined; + self.markedformech = []; + if(isdefined(self.barrel)) + { + self.barrel hide(); + } + + self takeweapon("iw5_exominigun_mp"); + maps\mp\killstreaks\_juggernaut::playerreset(self.heavyexodata); + self hudoutlinedisable(); + self playerhide(); + self notify("horde_cancel_goliath"); + waittillframeend; + startspectatemode(0,0,1); + self setmlgspectator(1); + self freezecontrols(1); + self setclientomnvar("ui_hide_hud",1); + wait(2.5); + self setmlgspectator(0); + self freezecontrols(0); + self setclientomnvar("ui_hide_hud",0); + self detachall(); + self setcostumemodels(self.costume); + self playershow(); + level thread maps\mp\gametypes\horde::respawnplayer(self); + if(!level.zombiesstarted) + { + if(isdefined(self.hordeclassgoliathowner)) + { + self.hordeclassgoliathowner.hordeclassgoliathcontroller = undefined; + self.hordeclassgoliathowner notify("startJuggCooldown"); + } + else + { + self notify("startJuggCooldown"); + } + } + + if(isdefined(self.hordegoliathowner)) + { + self.hordegoliathowner.hordegoliathcontroller = undefined; + } + + self.hordeclassgoliathowner = undefined; + self.hordegoliathowner = undefined; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/gametypes/_horde_sentry.gsc b/AW/PC/maps/mp/gametypes/_horde_sentry.gsc new file mode 100644 index 0000000..f5183e7 --- /dev/null +++ b/AW/PC/maps/mp/gametypes/_horde_sentry.gsc @@ -0,0 +1,297 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\gametypes\_horde_sentry.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 9 + * Decompile Time: 159 ms + * Timestamp: 4/22/2024 2:09:41 AM +*******************************************************************/ + +//Function Number: 1 +hordesentryinit() +{ + level.hordesentryspawns = getentarray("horde_sentry","targetname"); + level.hordesentryarray = []; + if(maps\mp\_utility::getmapname() == "mp_recovery") + { + foreach(var_01 in level.hordesentryspawns) + { + if(distancesquared(var_01.origin,(-2099,719.9,120)) < 4096) + { + level.hordesentryspawns = common_scripts\utility::array_remove(level.hordesentryspawns,var_01); + } + } + } +} + +//Function Number: 2 +hordespawnenemyturret(param_00,param_01) +{ + var_02 = spawnturret("misc_turret",param_01.origin,param_00); + var_02.angles = param_01.angles; + var_02.owner = undefined; + var_02.health = 500; + var_02.maxhealth = 500; + var_02.turrettype = "mg_turret"; + var_02.stunned = 0; + var_02.directhacked = 0; + var_02.stunnedtime = 5; + var_02.issentry = 1; + var_02.weaponinfo = param_00; + var_02.energyturret = 0; + var_02.rocketturret = 0; + var_02.guardian = 0; + var_02.ishordeenemysentry = 1; + var_02.isalive = 1; + var_02 setmodel("npc_sentry_energy_turret_base"); + var_02 setmode("sentry"); + var_02 setturretteam("axis"); + var_02 setsentryowner(undefined); + var_02 setturretminimapvisible(1,param_00); + var_02 setleftarc(360); + var_02 setrightarc(360); + var_02 setbottomarc(90); + var_02 setdefaultdroppitch(-89); + var_02 setcandamage(1); + var_02.damagefade = 1; + var_02 thread hordeturretpicktarget(); + var_02 thread hordeturretshoot(); + var_02 thread hordeturret_setactive(); + var_02 thread maps\mp\killstreaks\_remoteturret::turret_watchdisabled(); + level.hordesentryarray[level.hordesentryarray.size] = var_02; + playfx(level._effect["spawn_effect"],var_02.origin); + return var_02; +} + +//Function Number: 3 +hordeturretshoot() +{ + self endon("death"); + self endon("deleting"); + level endon("game_ended"); + for(;;) + { + wait(0.05); + if(isdefined(self.targetplayer) && isplayer(self.targetplayer) && self.targetplayer.ignoreme) + { + continue; + } + + if(isdefined(self.targetplayer)) + { + if(isdefined(self getturrettarget(1))) + { + var_00 = randomintrange(25,50); + for(var_01 = 0;var_01 < var_00;var_01++) + { + self shootturret(); + wait(0.1); + } + + wait(randomintrange(3,5)); + continue; + } + + wait(randomintrange(1,3)); + } + } +} + +//Function Number: 4 +hordeturretpicktarget() +{ + self endon("death"); + self endon("deleting"); + level endon("game_ended"); + for(;;) + { + var_00 = maps\mp\gametypes\_horde_util::hordegetclosehealthyenemyforturret(self); + if(!self.stunned && !isdefined(self.waitingtodie) && isdefined(var_00)) + { + if(isdefined(var_00.isaerialassaultdrone) && var_00.isaerialassaultdrone) + { + self settargetentity(var_00,(0,0,-20)); + } + else + { + self settargetentity(var_00); + } + + self.targetplayer = var_00; + } + else + { + self cleartargetentity(); + self.targetplayer = undefined; + } + + wait(0.1); + } +} + +//Function Number: 5 +hordeturret_setactive() +{ + self endon("death"); + self setdefaultdroppitch(0); + self makeunusable(); + self maketurretsolid(); + self.team = "axis"; + self setturretteam("axis"); + thread hordeturret_handledeath(); + thread hordeturret_setupdamagecallback(); +} + +//Function Number: 6 +hordeturret_handledeath() +{ + var_00 = self getentitynumber(); + self waittill("death",var_01,var_02,var_03); + self.isalive = 0; + if(isdefined(var_01)) + { + if(isplayer(var_01)) + { + maps\mp\gametypes\_horde_util::awardhordekill(var_01); + var_01 thread maps\mp\gametypes\_rank::xppointspopup("kill",200); + level thread maps\mp\gametypes\_horde_util::hordeupdatescore(var_01,200); + } + else if(isdefined(var_01.owner) && isplayer(var_01.owner)) + { + maps\mp\gametypes\_horde_util::awardhordekill(var_01.owner); + var_01.owner thread maps\mp\gametypes\_rank::xppointspopup("kill",200); + level thread maps\mp\gametypes\_horde_util::hordeupdatescore(var_01.owner,200); + } + } + + level.hordesentryarray = common_scripts\utility::array_remove(level.hordesentryarray,self); + self.damagecallback = undefined; + self setcandamage(0); + self setdamagecallbackon(0); + self freeentitysentient(); + if(!isdefined(self)) + { + return; + } + + hordeturret_setinactive(); + self setdefaultdroppitch(35); + self setsentryowner(undefined); + self setturretminimapvisible(0); + var_04 = self.owner; + self.waitingtodie = 1; + self playsound("sentry_explode"); + playfxontag(common_scripts\utility::getfx("sentry_explode_mp"),self,"tag_aim"); + playfxontag(common_scripts\utility::getfx("sentry_smoke_mp"),self,"tag_aim"); + self playsound("sentry_explode_smoke"); + wait(1.5); + self notify("deleting"); + if(isdefined(self.target_ent)) + { + self.target_ent delete(); + } + + if(isdefined(self.ownertrigger)) + { + self.ownertrigger delete(); + } + + if(isdefined(self.pickupent)) + { + self.pickupent delete(); + } + + if(isdefined(self.remoteent)) + { + self.remoteent delete(); + } + + self delete(); +} + +//Function Number: 7 +hordeturret_setupdamagecallback() +{ + self.damagecallback = ::hordeturret_handledamagecallback; + self setcandamage(1); + self setdamagecallbackon(1); +} + +//Function Number: 8 +hordeturret_handledamagecallback(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B) +{ + if((!isdefined(param_01) || param_01.classname == "worldspawn") && isdefined(param_05) && param_05 == "killstreak_strike_missile_gas_mp" || param_05 == "warbird_missile_mp") + { + return; + } + + var_0C = param_02; + if(maps\mp\_utility::ismeleemod(param_04)) + { + var_0C = var_0C + self.maxhealth; + } + + if(isdefined(param_03) && param_03 & level.idflags_penetration) + { + self.wasdamagedfrombulletpenetration = 1; + } + + self.wasdamaged = 1; + self.damagefade = 0; + if(isplayer(param_01)) + { + param_01 maps\mp\gametypes\_damagefeedback::updatedamagefeedback("remote_turret"); + if(param_01 maps\mp\_utility::_hasperk("specialty_armorpiercing")) + { + var_0C = var_0C * level.armorpiercingmod; + } + } + + if(isdefined(param_01.owner) && isplayer(param_01.owner)) + { + param_01.owner maps\mp\gametypes\_damagefeedback::updatedamagefeedback("remote_turret"); + } + + if(isdefined(param_05)) + { + var_0D = maps\mp\_utility::strip_suffix(param_05,"_lefthand"); + switch(var_0D) + { + case "ac130_40mm_mp": + case "ac130_105mm_mp": + case "stinger_mp": + case "remotemissile_projectile_mp": + self.largeprojectiledamage = 1; + var_0C = self.maxhealth + 1; + break; + + case "stealth_bomb_mp": + case "artillery_mp": + self.largeprojectiledamage = 0; + var_0C = var_0C + param_02 * 4; + break; + + case "emp_grenade_killstreak_mp": + case "emp_grenade_var_mp": + case "emp_grenade_mp": + case "bomb_site_mp": + self.largeprojectiledamage = 0; + var_0C = self.maxhealth + 1; + break; + + case "semtex_horde_mp": + case "frag_grenade_horde_mp": + var_0C = int(self.maxhealth / 2 + 1); + break; + } + } + + self finishentitydamage(param_00,param_01,var_0C,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B); +} + +//Function Number: 9 +hordeturret_setinactive() +{ + self setmode("sentry_offline"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/gametypes/_horde_smart_grenade.gsc b/AW/PC/maps/mp/gametypes/_horde_smart_grenade.gsc new file mode 100644 index 0000000..f47dbad --- /dev/null +++ b/AW/PC/maps/mp/gametypes/_horde_smart_grenade.gsc @@ -0,0 +1,330 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\gametypes\_horde_smart_grenade.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 13 + * Decompile Time: 217 ms + * Timestamp: 4/22/2024 2:09:42 AM +*******************************************************************/ + +//Function Number: 1 +init_smart_grenade() +{ + precache_var_grenade_fx(); +} + +//Function Number: 2 +monitorsmartgrenade(param_00) +{ + param_00 endon("disconnect"); + param_00 endon("death"); + level endon("game_ended"); + for(;;) + { + param_00 waittill("grenade_fire",var_01,var_02); + if(issubstr(var_02,"smart")) + { + var_01 thread tracking_grenade_think(param_00); + } + } +} + +//Function Number: 3 +precache_var_grenade_fx() +{ +} + +//Function Number: 4 +tracking_grenade_think(param_00) +{ + var_01 = 40; + var_02 = 20; + var_03 = 195; + var_04 = 1.5; + var_05 = 2; + var_06 = 0.35; + var_07 = 88; + var_08 = 7; + var_09 = 1056; + var_0A = 2; + var_0B = 0.05; + var_0C = (0,0,-300 * var_0B); + var_0D = 3000 * var_0B; + var_0E = 600 * var_0B; + var_0F = 0.2; + var_10 = 0.6; + var_11 = 2; + var_12 = sin(2); + var_13 = 0.05; + var_14 = make_tracking_grenade(self); + var_14 thread tracking_grenade_handle_damage(param_00); + var_15 = common_scripts\utility::spawn_tag_origin(); + var_15 linkto(var_14,"",(0,0,0),(-90,0,0)); + var_16 = param_00 geteye(); + var_17 = anglestoforward(param_00.angles); + var_18 = bullettrace(var_16,var_16 + var_17 * 7000,0,var_14); + var_19 = var_18["position"]; + var_1A = var_14 tracking_grenade_get_target(param_00); + var_1B = var_17 + (0,0,0.2) * 50 * 17.6; + var_1C = (0,0,0); + var_1A = undefined; + var_1D = (0,0,0); + var_1E = (0,0,0); + var_1F = 0; + var_20 = 0; + while(var_20 < var_08) + { + if(!isalive(var_1A)) + { + var_1A = var_14 tracking_grenade_get_target(param_00); + } + + if(var_20 > var_05 && !var_1F) + { + var_21 = var_14 tracking_grenade_get_target(param_00); + if(isdefined(var_21)) + { + var_1F = 1; + var_1A = var_21; + tracking_grenade_scare_enemies(var_1A.origin); + } + } + + if(var_20 > var_05) + { + if(isdefined(var_1A)) + { + var_19 = var_1A.origin + var_1A get_npc_center_offset(); + } + } + else + { + var_16 = param_00 geteye(); + var_17 = anglestoforward(param_00.angles); + var_18 = bullettrace(var_16,var_16 + var_17 * 7000,0,var_14); + var_22 = var_18["position"]; + if(distancesquared(var_22,param_00.origin) > distancesquared(var_14.origin,param_00.origin)) + { + var_19 = var_22; + } + } + + if(vectordot(var_19 - var_14.origin,var_19 - param_00.origin) < 0) + { + break; + } + + if(var_20 > var_05) + { + var_23 = linear_map_clamp(var_20 - var_05 - var_06,0,var_0A,0,var_09); + var_1C = vectornormalize(var_19 - var_14.origin) * var_23; + if(var_20 < var_05 + var_06) + { + var_1C = (0,0,var_07); + } + } + else + { + var_16 = param_00 geteye(); + var_24 = param_00.angles; + var_17 = anglestoforward(var_24); + var_25 = anglestoright(var_24); + var_26 = -1 * common_scripts\utility::sign(vectordot(var_16 - var_14.origin,var_25)); + var_27 = var_16 + var_17 * var_03 + (0,0,var_01) + var_25 * var_26 * var_02; + var_28 = var_27 - var_14.origin; + var_1C = var_28 * var_04; + } + + var_29 = vectorclamp(var_1C - var_1B * var_10 - var_0C,var_0D); + var_29 = vectorlerp(var_29,var_1D,var_0F); + var_1E = var_1E + var_29; + var_1E = var_1E + common_scripts\utility::randomvector(var_13 * length(var_1E)); + var_2A = length(var_1E); + if(var_2A > 0) + { + var_2B = anglestoup(var_14.angles); + var_14.angles = combineangles(vectortoangles(var_1E),(90,0,0)); + var_2C = vectornormalize(var_1E); + var_2D = vectorcross(var_2C,var_2B); + var_2E = vectorcross(var_2C,var_2D); + var_2F = length(var_2E); + if(var_2F > var_12) + { + var_14 tracking_grenade_thrust_effect(var_2E,"tracking_grenade_spray_small",var_2C * var_11); + if(var_2F > 2 * var_12) + { + var_14 tracking_grenade_thrust_effect(-1 * var_2E,"tracking_grenade_spray_small",var_2C * var_11 * -1); + } + } + + if(var_2A > var_0E) + { + foreach(var_31 in level.players) + { + playfxontagforclients(common_scripts\utility::getfx("tracking_grenade_spray_large"),var_14,"tag_fx",var_31); + } + + var_1E = (0,0,0); + var_1B = var_1B + vectorclamp(var_29,var_0D,var_0E); + } + + var_1B = var_1B + var_0C; + } + + var_1E = (0,0,0); + var_33 = var_14.origin + var_1B * 0.05; + var_34 = bullettrace(var_14.origin,var_33,1,param_00); + if(var_34["fraction"] < 1) + { + break; + } + + var_14.origin = var_33; + var_1D = var_29; + if(var_20 == var_05) + { + } + else if(var_20 == var_05 + var_06) + { + } + + wait(0.05); + var_20 = var_20 + 0.05; + } + + var_14 tracking_grenade_detonate(param_00,var_1B); + var_15 delete(); +} + +//Function Number: 5 +tracking_grenade_detonate(param_00,param_01) +{ + var_02 = 300; + if(distance(param_00.origin,self.origin) > var_02) + { + magicgrenademanual("frag_grenade_mp",self.origin,param_01,0.05,param_00); + self delete(); + return; + } + + self physicslaunchserver(self.origin,param_01 * 0.1); + common_scripts\utility::delaycall(3,::delete); +} + +//Function Number: 6 +tracking_grenade_handle_damage(param_00) +{ + self endon("death"); + self makeentitysentient(param_00.team,1); + self waittill("damage"); + tracking_grenade_detonate(); +} + +//Function Number: 7 +tracking_grenade_scare_enemies(param_00) +{ + badplace_cylinder("",4,param_00 + (0,0,-64),117,128,"all"); +} + +//Function Number: 8 +tracking_grenade_get_target(param_00) +{ + var_01 = param_00 geteye(); + var_02 = anglestoforward(param_00.angles); + var_03 = cos(20); + var_04 = undefined; + var_05 = []; + foreach(var_07 in level.agentarray) + { + if(var_07.team == "axis") + { + var_05[var_05.size] = var_07; + } + } + + foreach(var_0A in var_05) + { + var_0B = var_0A geteye(); + var_0C = vectordot(vectornormalize(var_0B - var_01),var_02); + if(var_0C <= var_03) + { + continue; + } + + if(distancesquared(var_0B,var_01) < distancesquared(self.origin,var_01)) + { + continue; + } + + if(!sighttracepassed(self.origin,var_0B,0,self)) + { + continue; + } + + if(isdefined(var_04) && !sighttracepassed(self.origin,var_0B,0,self,param_00)) + { + continue; + } + + var_03 = var_0C; + var_04 = var_0A; + } + + return var_04; +} + +//Function Number: 9 +tracking_grenade_thrust_effect(param_00,param_01,param_02) +{ + var_03 = common_scripts\utility::spawn_tag_origin(); + if(isdefined(param_02)) + { + var_03.origin = var_03.origin + param_02; + } + + var_03.angles = vectortoangles(param_00); + var_03 linkto(self); + foreach(var_05 in level.players) + { + playfxontagforclients(common_scripts\utility::getfx(param_01),self,"tag_fx",var_05); + } + + var_03 common_scripts\utility::delaycall(0.3,::delete); +} + +//Function Number: 10 +make_tracking_grenade(param_00) +{ + var_01 = param_00.origin; + param_00 delete(); + var_02 = spawn("script_model",var_01); + var_02 setmodel("npc_variable_grenade_lethal"); + return var_02; +} + +//Function Number: 11 +get_npc_center_offset() +{ + if(isai(self) && isalive(self)) + { + var_00 = self geteye()[2]; + var_01 = self.origin[2]; + var_02 = var_00 - var_01; + return (0,0,var_02); + } + + return (0,0,0); +} + +//Function Number: 12 +linear_map_clamp(param_00,param_01,param_02,param_03,param_04) +{ + return clamp(linear_map(param_00,param_01,param_02,param_03,param_04),min(param_03,param_04),max(param_03,param_04)); +} + +//Function Number: 13 +linear_map(param_00,param_01,param_02,param_03,param_04) +{ + return param_03 + param_00 - param_01 * param_04 - param_03 / param_02 - param_01; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/gametypes/_horde_util.gsc b/AW/PC/maps/mp/gametypes/_horde_util.gsc new file mode 100644 index 0000000..8f83300 --- /dev/null +++ b/AW/PC/maps/mp/gametypes/_horde_util.gsc @@ -0,0 +1,1242 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\gametypes\_horde_util.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 51 + * Decompile Time: 767 ms + * Timestamp: 4/22/2024 2:09:44 AM +*******************************************************************/ + +//Function Number: 1 +isplayerinlaststand(param_00) +{ + return isdefined(param_00.laststand) && param_00.laststand; +} + +//Function Number: 2 +isonhumanteam(param_00) +{ + if(isdefined(param_00.team)) + { + return param_00.team == level.playerteam; + } + + return 0; +} + +//Function Number: 3 +isonhumanteamorspectator(param_00) +{ + if(isdefined(param_00.team)) + { + if(param_00.team == level.playerteam || param_00.team == "spectator") + { + return 1; + } + } + + return 0; +} + +//Function Number: 4 +getnumplayers() +{ + var_00 = 0; + if(!isdefined(level.players)) + { + return 0; + } + + foreach(var_02 in level.players) + { + if(isonhumanteam(var_02)) + { + var_00++; + } + } + + return var_00; +} + +//Function Number: 5 +showteamsplashhorde(param_00) +{ + foreach(var_02 in level.players) + { + if(isonhumanteam(var_02) && maps\mp\_utility::isreallyalive(var_02)) + { + var_02 thread maps\mp\gametypes\_hud_message::splashnotify(param_00); + } + } +} + +//Function Number: 6 +hasagentsquadmember(param_00) +{ + var_01 = 0; + if(isagent(param_00)) + { + return var_01; + } + + foreach(var_03 in param_00.pers["killstreaks"]) + { + if(isdefined(var_03) && isdefined(var_03.streakname) && var_03.available && var_03.streakname == "agent") + { + var_01 = 1; + break; + } + } + + return var_01; +} + +//Function Number: 7 +getplayerweaponhorde(param_00) +{ + var_01 = param_00 getcurrentprimaryweapon(); + if(isdefined(param_00.changingweapon)) + { + var_01 = param_00.changingweapon; + } + + if(!maps\mp\gametypes\_weapons::isprimaryweapon(var_01)) + { + var_01 = param_00 common_scripts\utility::getlastweapon(); + } + + if(!param_00 hasweapon(var_01)) + { + var_01 = param_00 maps\mp\killstreaks\_killstreaks::getfirstprimaryweapon(); + } + + return var_01; +} + +//Function Number: 8 +playsoundtoallplayers(param_00) +{ + level endon("game_ended"); + foreach(var_02 in level.players) + { + if(!maps\mp\_utility::isreallyalive(var_02)) + { + continue; + } + + if(!isonhumanteam(var_02)) + { + continue; + } + + var_02 playsoundtoplayer(param_00,var_02); + } +} + +//Function Number: 9 +refillammohorde(param_00) +{ + var_01 = param_00 getweaponslistprimaries(); + foreach(var_03 in var_01) + { + if(issubstr(var_03,"iw5_microdronelaunchercoop_mp")) + { + var_04 = param_00 setweaponammostock(var_03); + var_05 = weaponmaxammo(var_03); + var_06 = var_04 / var_05 + 0.5; + param_00 givemaxammo(var_03,var_06); + continue; + } + + if(!issubstr(var_03,"turrethead")) + { + param_00 givemaxammo(var_03); + } + } +} + +//Function Number: 10 +getslotnumber(param_00) +{ + var_01 = undefined; + var_02 = 2; + var_03 = 5; + for(var_04 = var_02;var_04 < var_03;var_04++) + { + var_05 = param_00.pers["killstreaks"][var_04]; + if(!isdefined(var_05) || !isdefined(var_05.streakname) || var_05.available == 0) + { + var_01 = var_04; + break; + } + } + + return var_01; +} + +//Function Number: 11 +hordeenableweapons(param_00) +{ + param_00 endon("death"); + level endon("game_ended"); + level endon("stop_enable_weapons"); + for(;;) + { + param_00 waittill("luinotifyserver",var_01,var_02); + if(var_01 == "horde_close_armory") + { + param_00 enableweapons(); + level notify("stop_enable_weapons"); + } + + wait 0.05; + } +} + +//Function Number: 12 +awardhordekill(param_00) +{ + if(param_00.killz < 65535) + { + param_00.killz++; + } + + param_00 sethordeplayerdata("killsTotal",param_00.killz); + if(param_00.killz > param_00 gethordeplayerdata("killsBest")) + { + param_00 sethordeplayerdata("killsBest",param_00.killz); + } + + param_00.kills = param_00.killz; + param_00 maps\mp\_utility::setpersstat("kills",param_00.kills); + param_00.roundkills++; +} + +//Function Number: 13 +awardhordeheadshots(param_00,param_01) +{ + param_00.hordeheadshots = param_00.hordeheadshots + param_01; + if(param_00.hordeheadshots > 65535) + { + param_00.hordeheadshots = 65535; + } + + param_00 maps\mp\_utility::setpersstat("headshots",param_01); +} + +//Function Number: 14 +awardhordemeleekills(param_00) +{ + if(param_00.meleekills < 65535) + { + param_00.meleekills++; + } + + param_00 sethordeplayerdata("meleeKillsTotal",param_00.meleekills); + if(param_00.meleekills > param_00 gethordeplayerdata("meleeKillsBest")) + { + param_00 sethordeplayerdata("meleeKillsBest",param_00.meleekills); + } +} + +//Function Number: 15 +awardhordeheadshotkills(param_00) +{ + if(param_00.headshotkills < 65535) + { + param_00.headshotkills++; + } + + param_00 sethordeplayerdata("headshotKillsTotal",param_00.headshotkills); + if(param_00.headshotkills > param_00 gethordeplayerdata("headshotKillsBest")) + { + param_00 sethordeplayerdata("headshotKillsBest",param_00.headshotkills); + } +} + +//Function Number: 16 +awardhordeobjectivescompleted(param_00) +{ + if(param_00.objectivescompleted < 65535) + { + param_00.objectivescompleted++; + } + + param_00 sethordeplayerdata("objectivesTotal",param_00.objectivescompleted); + if(param_00.objectivescompleted > param_00 gethordeplayerdata("objectivesBest")) + { + param_00 sethordeplayerdata("objectivesBest",param_00.objectivescompleted); + } +} + +//Function Number: 17 +awardhordesupportdrop(param_00) +{ + if(param_00.numcratesobtained < 65535) + { + param_00.numcratesobtained++; + } + + param_00 sethordeplayerdata("cratesTotal",param_00.numcratesobtained); + if(param_00.numcratesobtained > param_00 gethordeplayerdata("cratesBest")) + { + param_00 sethordeplayerdata("cratesBest",param_00.numcratesobtained); + } + + param_00.extrascore0 = param_00.numcratesobtained; + param_00 maps\mp\_utility::setpersstat("extrascore0",param_00.numcratesobtained); +} + +//Function Number: 18 +awardhorderevive(param_00) +{ + if(param_00.numrevives < 65535) + { + param_00.numrevives++; + } + + param_00 sethordeplayerdata("revivesTotal",param_00.numrevives); + if(param_00.numrevives > param_00 gethordeplayerdata("revivesBest")) + { + param_00 sethordeplayerdata("revivesBest",param_00.numrevives); + } + + param_00.assists = int(param_00.numrevives / 128); + param_00.extrascore1 = param_00.numrevives % 128; + param_00 maps\mp\_utility::setpersstat("assists",param_00.assists); + param_00 maps\mp\_utility::setpersstat("extrascore1",param_00.extrascore1); +} + +//Function Number: 19 +awardhorderoundnumber(param_00) +{ + if(param_00.roundsplayed < 65535) + { + param_00.roundsplayed++; + } + + param_00 sethordeplayerdata("roundsTotal",param_00.roundsplayed); + if(param_00.roundsplayed > param_00 gethordeplayerdata("roundsBest")) + { + param_00 sethordeplayerdata("roundsBest",param_00.roundsplayed); + } + + var_01 = hordegetmapindex(); + if(var_01 == -1) + { + return; + } + + var_02 = 0; + if(var_01 < 4) + { + var_02 = 1; + } + else if(var_01 < 8) + { + var_03 = 0; + for(var_04 = 0;var_04 < 4;var_04++) + { + var_03 = var_03 + param_00 gethordeplayerdata("numWavesCompleted",var_04); + } + + if(var_03 >= 50) + { + var_02 = 1; + } + } + else if(var_01 < 12) + { + var_03 = 0; + for(var_04 = 4;var_04 < 8;var_04++) + { + var_03 = var_03 + param_00 gethordeplayerdata("numWavesCompleted",var_04); + } + + if(var_03 >= 75) + { + var_02 = 1; + } + } + else if(var_01 == 12) + { + var_03 = 0; + for(var_04 = 8;var_04 < 12;var_04++) + { + var_03 = var_03 + param_00 gethordeplayerdata("numWavesCompleted",var_04); + } + + if(var_03 >= 100) + { + var_02 = 1; + } + } + + if(var_02) + { + var_05 = param_00 gethordeplayerdata("numWavesCompleted",var_01); + if(var_05 < 65535) + { + var_05++; + } + + param_00 sethordeplayerdata("numWavesCompleted",var_01,var_05); + if(param_00.roundsplayed > param_00 gethordeplayerdata("highestWave",var_01)) + { + param_00 sethordeplayerdata("highestWave",var_01,param_00.roundsplayed); + } + } +} + +//Function Number: 20 +awardhordweaponlevel(param_00,param_01) +{ +} + +//Function Number: 21 +hordeupdatescore(param_00,param_01) +{ + param_00.horde_score = param_00.horde_score + param_01; + if(param_00.horde_score > 16777215) + { + param_00.horde_score = 16777215; + } + + param_00 sethordeplayerdata("scoreTotal",param_00.horde_score); + if(param_00.horde_score > param_00 gethordeplayerdata("scoreBest")) + { + param_00 sethordeplayerdata("scoreBest",param_00.horde_score); + } + + var_02 = int(0); + var_03 = int(0); + var_02 = int(param_00.horde_score / 512); + var_03 = 511 - param_00.horde_score % 512; + param_00.score = var_02; + param_00.deaths = var_03; + param_00 maps\mp\_utility::setpersstat("score",param_00.score); + param_00 maps\mp\_utility::setpersstat("deaths",param_00.deaths); +} + +//Function Number: 22 +hordetriggeroff() +{ + self.origin = self.origin - (0,0,9999); +} + +//Function Number: 23 +hordetriggeron() +{ + self.origin = self.origin + (0,0,9999); +} + +//Function Number: 24 +hordegetclosesthealthyplayer(param_00) +{ + if(level.players.size == 0) + { + return undefined; + } + + var_01 = []; + foreach(var_03 in level.players) + { + if(var_03.ignoreme == 1 || var_03.sessionstate == "spectator") + { + continue; + } + + var_01 = common_scripts\utility::array_add(var_01,var_03); + } + + if(var_01.size > 0) + { + var_03 = common_scripts\utility::getclosest(param_00,var_01); + return var_03; + } + + return undefined; +} + +//Function Number: 25 +hordegetclosesthealthyenemy(param_00) +{ + if(level.players.size == 0) + { + return undefined; + } + + var_01 = []; + foreach(var_03 in level.players) + { + if(!var_03.ignoreme && var_03.sessionstate != "spectator") + { + var_01[var_01.size] = var_03; + } + + if(isdefined(var_03.turret) && !var_03.iscarrying && isdefined(var_03.turret.damagetaken) && var_03.turret.damagetaken < var_03.turret.maxhealth) + { + var_01[var_01.size] = var_03.turret; + } + + if(isdefined(var_03.aerialassaultdrone)) + { + var_01[var_01.size] = var_03.aerialassaultdrone; + } + } + + var_05 = 500000000; + var_06 = undefined; + foreach(var_08 in var_01) + { + var_09 = distancesquared(var_08.origin,param_00.origin); + if(var_09 < var_05) + { + var_05 = var_09; + var_06 = var_08; + } + } + + return var_06; +} + +//Function Number: 26 +hordegetclosehealthyenemyforturret(param_00) +{ + var_01 = (0,0,72); + var_02 = (0,0,60); + var_03 = (0,0,40); + if(level.players.size == 0) + { + return undefined; + } + + var_04 = []; + var_05 = []; + foreach(var_07 in level.players) + { + if(!var_07.ignoreme && var_07.sessionstate != "spectator") + { + var_05[var_05.size] = var_07; + } + + if(isdefined(var_07.turret) && !var_07.iscarrying && isdefined(var_07.turret.damagetaken) && var_07.turret.damagetaken < var_07.turret.maxhealth) + { + var_04[var_04.size] = var_07.turret; + } + + if(isdefined(var_07.aerialassaultdrone)) + { + var_04[var_04.size] = var_07.aerialassaultdrone; + } + } + + var_09 = 500000000; + var_0A = undefined; + foreach(var_07 in var_05) + { + var_0C = distancesquared(var_07.origin,param_00.origin); + if(var_0C < var_09) + { + if(sighttracepassed(var_07.origin + var_01,param_00.origin + var_02,0,undefined)) + { + var_09 = var_0C; + var_0A = var_07; + } + } + } + + if(isdefined(var_0A)) + { + return var_0A; + } + + var_09 = 500000000; + foreach(var_0F in var_04) + { + var_0C = distancesquared(var_0F.origin,param_00.origin); + if(var_0C < var_09) + { + var_10 = var_0F.origin; + if(isdefined(var_0F.issentry) && var_0F.issentry) + { + var_10 = var_10 + var_03; + } + + if(sighttracepassed(var_10,param_00.origin + var_03,0,self,var_0F)) + { + var_09 = var_0C; + var_0A = var_0F; + } + } + } + + return var_0A; +} + +//Function Number: 27 +hordescorestreaksplash(param_00,param_01,param_02,param_03) +{ + param_00 notify("horde_score_streak_splash_request"); + param_00 endon("horde_score_streak_splash_request"); + while(param_00 getclientomnvar("ui_horde_show_armory") != 0) + { + wait 0.05; + } + + param_00 thread maps\mp\gametypes\_hud_message::splashnotify(param_02,undefined,param_03); + param_00 maps\mp\_utility::leaderdialogonplayer(param_01,"horde",0); +} + +//Function Number: 28 +horderemoveksicon(param_00,param_01,param_02) +{ + if(param_02 != 1) + { + var_03 = "ks_icon" + common_scripts\utility::tostring(param_02); + self setclientomnvar(var_03,0); + } +} + +//Function Number: 29 +hordeallowallboost(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = "default"; + } + + maps\mp\_utility::playerallowdodge(param_00,param_01); + maps\mp\_utility::playerallowpowerslide(param_00,param_01); + maps\mp\_utility::playerallowhighjump(param_00,param_01); +} + +//Function Number: 30 +trygivehordeweapon(param_00,param_01,param_02,param_03,param_04,param_05) +{ + param_00 playlocalsound("ammo_crate_use"); + var_06 = param_00 getclientomnvar("ui_horde_player_class"); + if(isdefined(param_04)) + { + var_07 = param_04; + } + else + { + var_07 = "none"; + } + + var_08 = param_00 getweaponslistprimaries(); + var_09 = getweaponbasename(param_01); + if(var_08.size > 1 && !isdefined(param_00.underwater)) + { + var_0A = 1; + if(!isdefined(var_07) || var_07 == "none") + { + var_07 = param_00 getcurrentprimaryweapon(); + } + + param_00 takeweapon(var_07); + } + + var_0B = param_00.weaponproficiency > 0 && isdefined(param_02) && param_02; + if(var_0B) + { + param_00.updatinglootweapon = 1; + var_0C = getweaponbasename(param_01); + var_0D = getsubstr(param_01,var_0C.size); + param_01 = var_0C + var_0D; + } + + var_0E = []; + if(getweaponbasename(param_01) == "iw5_microdronelaunchercoop_mp") + { + var_0E[var_0E.size] = "iw5_microdronelauncher_mp"; + } + + var_0E[var_0E.size] = param_01; + var_0F = !param_00 loadweapons(var_0E); + param_00.classweaponswait = var_0F; + while(var_0F) + { + wait 0.05; + var_0F = !param_00 loadweapons(var_0E); + } + + param_00 loadweapons(maps\mp\gametypes\_horde_laststand::hordelaststandweapon()); + param_00 loadweapons(["iw5_microdronelauncher_mp"]); + if(issubstr(param_01,"camo")) + { + param_01 = getsubstr(param_01,0,param_01.size - 7); + } + + var_10 = getcamostring(param_00); + var_11 = getcamoindex(param_00); + param_00 maps\mp\_utility::_giveweapon(param_01,var_11); + param_00 givemaxammo(param_01 + var_10,1); + if(var_0B) + { + param_00.updatinglootweapon = 0; + } + + if(isdefined(param_03) && param_03) + { + param_00 switchtoweaponimmediate(param_01 + var_10); + } + + if(isdefined(param_05)) + { + param_00.hordeclassweapons[var_06][param_05] = param_01 + var_10; + return; + } + + if(var_07 == param_00.hordeclassweapons[var_06]["primary"]) + { + param_00.hordeclassweapons[var_06]["primary"] = param_01 + var_10; + return; + } + + param_00.hordeclassweapons[var_06]["secondary"] = param_01 + var_10; +} + +//Function Number: 31 +getcamostring(param_00) +{ + var_01 = ""; + if(param_00.weaponproficiency > 0) + { + var_01 = "_camo" + level.weaponcamoorder[param_00.weaponproficiency]; + } + + return var_01; +} + +//Function Number: 32 +getcamoindex(param_00) +{ + var_01 = 0; + var_02 = ""; + if(param_00.weaponproficiency > 0) + { + var_02 = level.weaponcamoorder[param_00.weaponproficiency]; + var_02 = strip_prefix(var_02,"0"); + var_01 = int(var_02); + } + + return var_01; +} + +//Function Number: 33 +hordegetweaponupgrades(param_00,param_01) +{ + var_02 = []; + var_03 = []; + var_04 = getweaponbasename(param_00); + if(var_04 == param_00) + { + return var_02; + } + + var_05 = getsubstr(param_00,var_04.size); + var_06 = strtok(var_05,"_"); + for(var_07 = 0;var_07 < var_06.size;var_07++) + { + if(!issubstr(var_06[var_07],"camo")) + { + var_03[var_03.size] = var_06[var_07]; + } + } + + return var_03; +} + +//Function Number: 34 +hordegetattachmentstring(param_00,param_01) +{ + var_02 = ""; + if(param_00.size) + { + var_03 = param_00.size; + for(var_04 = 0;var_04 < var_03;var_04++) + { + if((issubstr(param_00[var_04],"optics") || issubstr(param_00[var_04],"reddot") || issubstr(param_00[var_04],"scope")) && issubstr(param_01,"optics") || issubstr(param_01,"reddot") || issubstr(param_01,"scope")) + { + param_00[var_04] = param_01; + continue; + } + + param_00[param_00.size] = param_01; + } + } + else + { + param_00[0] = param_01; + } + + param_00 = common_scripts\utility::array_remove_duplicates(param_00); + param_00 = common_scripts\utility::alphabetize(param_00); + for(var_04 = 0;var_04 < param_00.size;var_04++) + { + var_02 = var_02 + "_" + param_00[var_04]; + } + + return var_02; +} + +//Function Number: 35 +hordegetweaponbasenamespecial(param_00) +{ + var_01 = getweaponbasename(param_00); + if(issubstr(param_00,"exoxmg")) + { + var_01 = "iw5_exoxmg_mp_akimboxmg"; + } + else if(issubstr(param_00,"sac3")) + { + var_01 = "iw5_sac3_mp_akimbosac3"; + } + else if(issubstr(param_00,"mors")) + { + var_01 = "iw5_mors_mp_morsscope"; + } + else if(issubstr(param_00,"gm6")) + { + var_01 = "iw5_gm6_mp_gm6scope"; + } + else if(issubstr(param_00,"m990")) + { + var_01 = "iw5_m990_mp_m990scope"; + } + else if(issubstr(param_00,"thor")) + { + var_01 = "iw5_thor_mp_thorscope"; + } + + return var_01; +} + +//Function Number: 36 +hordegetweaponsuffixspecial(param_00) +{ + var_01 = "_mp"; + if(issubstr(param_00,"exoxmg")) + { + var_01 = "_mp_akimboxmg"; + } + else if(issubstr(param_00,"sac3")) + { + var_01 = "_mp_akimbosac3"; + } + else if(issubstr(param_00,"mors")) + { + var_01 = "_mp_morsscope"; + } + else if(issubstr(param_00,"gm6")) + { + var_01 = "_mp_gm6scope"; + } + else if(issubstr(param_00,"m990")) + { + var_01 = "_mp_m990scope"; + } + else if(issubstr(param_00,"thor")) + { + var_01 = "_mp_thorscope"; + } + + return var_01; +} + +//Function Number: 37 +cointossweighted(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 50; + } + + return randomint(100) <= param_00; +} + +//Function Number: 38 +hordegetmapindex() +{ + var_00 = ["mp_lab2","mp_venus","mp_detroit","mp_refraction","mp_levity","mp_comeback","mp_terrace","mp_instinct","mp_greenband","mp_solar","mp_recovery","mp_laser2","mp_prison_z"]; + for(var_01 = 0;var_01 < var_00.size;var_01++) + { + if(maps\mp\_utility::getmapname() == var_00[var_01]) + { + return var_01; + } + } + + return -1; +} + +//Function Number: 39 +hordecleardata(param_00) +{ + param_00 sethordeplayerdata("roundsTotal",0); + param_00 sethordeplayerdata("matchesTotal",0); + param_00 sethordeplayerdata("scoreTotal",0); + param_00 sethordeplayerdata("killsTotal",0); + param_00 sethordeplayerdata("cratesTotal",0); + param_00 sethordeplayerdata("revivesTotal",0); + param_00 sethordeplayerdata("objectivesTotal",0); + param_00 sethordeplayerdata("meleeKillsTotal",0); + param_00 sethordeplayerdata("headshotKillsTotal",0); + param_00 sethordeplayerdata("timePlayedTotal",0); +} + +//Function Number: 40 +hordecompletetu1transition(param_00) +{ + for(var_01 = 0;var_01 < 13;var_01++) + { + var_02 = param_00 gethordeplayerdata("highestWave",var_01); + var_03 = param_00 gethordeplayerdata("numWavesCompleted",var_01); + if(var_02 > var_03) + { + param_00 sethordeplayerdata("numWavesCompleted",var_01,var_02); + } + } +} + +//Function Number: 41 +hordeupdatetimestats(param_00) +{ + var_01 = int(getomnvar("ui_game_duration") / 1000); + param_00 sethordeplayerdata("timePlayedTotal",var_01); + if(var_01 > param_00 gethordeplayerdata("timePlayedBest")) + { + param_00 sethordeplayerdata("timePlayedBest",var_01); + } + + check_class_time(param_00); +} + +//Function Number: 42 +givegearforwavescompleted(param_00) +{ + var_01 = param_00 gethordeplayerdata("numWaves"); + if(var_01 < 32767) + { + var_01++; + param_00 sethordeplayerdata("numWaves",var_01); + } + + if(var_01 > 199 && !param_00 gethordeplayerdata("requirement_beat200Waves")) + { + param_00 sethordeplayerdata("requirement_beat200Waves",1); + param_00 setclientomnvar("ui_horde_loot_unlocked",1); + return; + } + + if(var_01 > 99 && !param_00 gethordeplayerdata("requirement_beat100Waves")) + { + param_00 sethordeplayerdata("requirement_beat100Waves",1); + param_00 setclientomnvar("ui_horde_loot_unlocked",1); + return; + } + + if(var_01 > 49 && !param_00 gethordeplayerdata("requirement_beat50Waves")) + { + param_00 sethordeplayerdata("requirement_beat50Waves",1); + param_00 setclientomnvar("ui_horde_loot_unlocked",1); + return; + } +} + +//Function Number: 43 +givegearformapsplayed(param_00) +{ + var_01 = hordegetmapindex(); + if(var_01 == -1) + { + return; + } + + if(!param_00 gethordeplayerdata("requirement_unlockedTier2")) + { + var_02 = 0; + for(var_03 = 0;var_03 < 4;var_03++) + { + var_02 = var_02 + param_00 gethordeplayerdata("numWavesCompleted",var_03); + } + + if(var_01 < 4) + { + var_02 = var_02 + param_00.roundsplayed; + } + + if(var_02 >= 50) + { + param_00 sethordeplayerdata("requirement_unlockedTier2",1); + param_00 setclientomnvar("ui_horde_loot_unlocked",1); + return; + } + + return; + } + + if(!param_00 gethordeplayerdata("requirement_unlockedTier3")) + { + var_02 = 0; + for(var_03 = 4;var_03 < 8;var_03++) + { + var_02 = var_02 + param_00 gethordeplayerdata("numWavesCompleted",var_03); + } + + if(var_01 >= 4 && var_01 < 8) + { + var_02 = var_02 + param_00.roundsplayed; + } + + if(var_02 >= 75) + { + param_00 sethordeplayerdata("requirement_unlockedTier3",1); + param_00 setclientomnvar("ui_horde_loot_unlocked",1); + return; + } + + return; + } + + if(!param_00 gethordeplayerdata("requirement_unlockedPrison")) + { + var_02 = 0; + for(var_03 = 8;var_03 < 12;var_03++) + { + var_02 = var_02 + param_00 gethordeplayerdata("numWavesCompleted",var_03); + } + + if(var_01 >= 8 && var_01 < 12) + { + var_02 = var_02 + param_00.roundsplayed; + } + + if(var_02 >= 100) + { + param_00 sethordeplayerdata("requirement_unlockedPrison",1); + param_00 setclientomnvar("ui_horde_loot_unlocked",1); + return; + } + + return; + } + + if(!param_00 gethordeplayerdata("requirement_playedAllMaps")) + { + var_04 = 1; + for(var_03 = 0;var_03 < 13;var_03++) + { + if(param_00 gethordeplayerdata("numWavesCompleted",var_03) == 0 && var_01 != var_03) + { + var_04 = 0; + break; + } + } + + if(var_04) + { + param_00 sethordeplayerdata("requirement_playedAllMaps",1); + param_00 setclientomnvar("ui_horde_loot_unlocked",1); + return; + } + + return; + } +} + +//Function Number: 44 +givegearformaxweaponproficiency(param_00) +{ + if(!param_00 gethordeplayerdata("requirement_maxWeaponProficiency")) + { + if(param_00.weaponproficiency > 9) + { + param_00 sethordeplayerdata("requirement_maxWeaponProficiency",1); + param_00 setclientomnvar("ui_horde_loot_unlocked",1); + } + } +} + +//Function Number: 45 +givegearformaxarmorproficiency(param_00) +{ + if(!param_00 gethordeplayerdata("requirement_maxArmorProficiency")) + { + if(param_00.hordearmor > 9) + { + param_00 sethordeplayerdata("requirement_maxArmorProficiency",1); + param_00 setclientomnvar("ui_horde_loot_unlocked",1); + } + } +} + +//Function Number: 46 +strip_prefix(param_00,param_01) +{ + if(param_00.size <= param_01.size) + { + return param_00; + } + + if(getsubstr(param_00,0,param_01.size) == param_01) + { + return getsubstr(param_00,param_01.size,param_00.size); + } + + return param_00; +} + +//Function Number: 47 +hordeupdatenummatches(param_00) +{ + param_00.exosurvivalmatches = param_00 gethordeplayerdata("numMatches"); + if(param_00.exosurvivalmatches < 32767) + { + param_00.exosurvivalmatches = param_00.exosurvivalmatches + 1; + param_00 sethordeplayerdata("numMatches",param_00.exosurvivalmatches); + } + + if(param_00.exosurvivalmatches == 50) + { + param_00 giveachievement("COOP_VETERAN"); + } +} + +//Function Number: 48 +check_class_time(param_00) +{ + var_01 = param_00 getclientomnvar("ui_horde_player_class"); + param_00.hordeclassendtime = gettime(); + if(isdefined(param_00.hordeclassstarttime)) + { + var_02 = int(param_00.hordeclassendtime - param_00.hordeclassstarttime / 100); + var_03 = 0; + switch(var_01) + { + case "light": + var_03 = param_00 gethordeplayerdata("lightClassTime"); + if(isdefined(var_03)) + { + var_03 = var_03 + int(var_02 / 10); + if(var_03 <= 7200) + { + param_00 sethordeplayerdata("lightClassTime",var_03); + } + } + break; + + case "heavy": + var_03 = param_00 gethordeplayerdata("heavyClassTime"); + if(isdefined(var_03)) + { + var_03 = var_03 + int(var_02 / 10); + if(var_03 <= 7200) + { + param_00 sethordeplayerdata("heavyClassTime",var_03); + } + } + break; + + case "support": + var_03 = param_00 gethordeplayerdata("specialistClassTime"); + if(isdefined(var_03)) + { + var_03 = var_03 + int(var_02 / 10); + if(var_03 <= 7200) + { + param_00 sethordeplayerdata("specialistClassTime",var_03); + } + } + break; + } + } + + var_04 = param_00 gethordeplayerdata("lightClassTime"); + var_05 = param_00 gethordeplayerdata("heavyClassTime"); + var_06 = param_00 gethordeplayerdata("specialistClassTime"); + if(isdefined(var_04) && isdefined(var_05) && isdefined(var_06)) + { + if(var_04 >= 1800 && var_05 >= 1800 && var_06 >= 1800) + { + param_00 giveachievement("COOP_WARFARE"); + } + } + + param_00.hordeclassstarttime = gettime(); +} + +//Function Number: 49 +hordegivebackgoliath(param_00) +{ + if(param_00) + { + self notify("cancel_goliath_wait"); + self setclientomnvar("ks_count1",0); + self setclientomnvar("ks_count_updated",1); + self.classabilityready = 1; + var_01 = maps\mp\killstreaks\_killstreaks::getnexthordekillstreakslotindex(1); + thread maps\mp\killstreaks\_killstreaks::givehordekillstreak(self.currentkillstreaks[1],level.owner,self.hordekillstreakmodules,1,1); + thread hordescorestreaksplash(self,self.currentkillstreaks[1],"horde_ss_splash_" + self.currentkillstreaks[1],var_01); + self notify("ability_regenerated"); + return; + } + + maps\mp\gametypes\_horde_armory::hordegivekillstreak("heavy_exosuit",1007); +} + +//Function Number: 50 +hordeonunderwater(param_00) +{ + if(isplayer(self)) + { + if(isdefined(level.objuplink) && level.objuplink) + { + var_01 = 1; + foreach(var_03 in level.balls) + { + if(isdefined(var_03.carrier) && var_03.carrier == self) + { + self.water_last_weapon = maps\mp\gametypes\_gameobjects::getcarrierweaponcurrent(var_03); + var_03 thread maps\mp\gametypes\_gameobjects::setdropped(); + var_01 = 0; + } + } + + if(var_01) + { + if(self getcurrentweapon() == "iw5_carrydrone_mp" && isdefined(self.changingweapon)) + { + self.water_last_weapon = self.changingweapon; + } + else if(isdefined(self.pass_or_throw_active) && self.pass_or_throw_active) + { + var_05 = self getweaponslistprimaries(); + self.water_last_weapon = common_scripts\utility::ter_op(var_05.size,var_05[0],undefined); + } + } + } + + var_06 = "none"; + if(isdefined(self.water_last_weapon)) + { + var_06 = self.water_last_weapon; + } + + maps\mp\gametypes\_weapons::saveweapon("underwater",var_06,level.shallow_water_weapon); + } +} + +//Function Number: 51 +hordedropandresetuplinkball() +{ + if(isdefined(self.ball_carried)) + { + var_00 = self.ball_carried; + var_00 maps\mp\gametypes\horde_ball::ball_set_dropped(1); + var_00 maps\mp\gametypes\horde_ball::ball_return_home(); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/gametypes/_horde_warbird.gsc b/AW/PC/maps/mp/gametypes/_horde_warbird.gsc new file mode 100644 index 0000000..64039d1 --- /dev/null +++ b/AW/PC/maps/mp/gametypes/_horde_warbird.gsc @@ -0,0 +1,748 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\gametypes\_horde_warbird.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 22 + * Decompile Time: 331 ms + * Timestamp: 4/22/2024 2:09:45 AM +*******************************************************************/ + +//Function Number: 1 +hordecreatewarbird() +{ + foreach(var_01 in level.spawnedwarbirds) + { + var_01 thread maps\mp\killstreaks\_aerial_utility::heli_leave(); + waittillframeend; + } + + var_03 = -1; + var_04 = ["sentry_guardian","assault_ugv_ai","assault_ugv_mg","warbird_ai_attack"]; + var_05 = maps\mp\killstreaks\_warbird::buildvalidflightpaths(); + horde_patch_flight_paths(); + var_06 = maps\mp\killstreaks\_warbird::findbestspawnlocation(var_05); + var_06 = maps\mp\killstreaks\_warbird::rotatehelispawn(var_06); + var_07 = spawnhelicopter(self,var_06.origin,var_06.angles,"warbird_horde",level.warbirdsetting["Warbird"].modelbase); + var_07.currentnode = var_06; + if(!isdefined(var_07)) + { + return 0; + } + + var_07 thread maps\mp\killstreaks\_warbird::warbird_audio(); + var_07 hide(); + var_07 thread maps\mp\killstreaks\_warbird::warbirdmakevehiclesolidcapsule(); + var_07.targetent = spawn("script_origin",(0,0,0)); + var_07.vehicletype = "Warbird"; + var_07.heli_type = level.warbirdsetting["Warbird"].helitype; + var_07.helitype = level.warbirdsetting["Warbird"].helitype; + var_07.attractor = missile_createattractorent(var_07,level.heli_attract_strength,level.heli_attract_range); + var_07.lifeid = var_03; + var_07.team = "axis"; + var_07.pers["team"] = "axis"; + var_07.maxhealth = level.warbirdhealth + maps\mp\gametypes\_horde_util::getnumplayers() - 1 * level.warbirdhealth / 2; + var_07.zoffset = (0,0,0); + var_07.targeting_delay = level.heli_targeting_delay; + var_07.primarytarget = undefined; + var_07.secondarytarget = undefined; + var_07.attacker = undefined; + var_07.currentstate = "ok"; + var_07.picknewtarget = 1; + var_07.lineofsight = 0; + var_07.overheattime = 6; + var_07.firetime = 0; + var_07.weaponfire = 0; + var_07.ismoving = 1; + var_07.cloakcooldown = 0; + var_07.iscrashing = 0; + var_07.ispossessed = 0; + var_07.modules = var_04; + var_07.aiattack = common_scripts\utility::array_contains(var_07.modules,"warbird_ai_attack"); + var_07.aifollow = common_scripts\utility::array_contains(var_07.modules,"warbird_ai_follow"); + var_07.hasai = var_07.aiattack || var_07.aifollow; + var_07.cancloak = common_scripts\utility::array_contains(var_07.modules,"warbird_cloak"); + var_07.hasrockets = common_scripts\utility::array_contains(var_07.modules,"warbird_rockets"); + var_07.coopoffensive = common_scripts\utility::array_contains(var_07.modules,"warbird_coop_offensive"); + var_07.extraflare = common_scripts\utility::array_contains(var_07.modules,"warbird_flares"); + if(var_07.extraflare) + { + var_07.numextraflares = 1; + } + else + { + var_07.numextraflares = 0; + } + + if(var_07.hasrockets) + { + var_07.rocketclip = 3; + } + else + { + var_07.rocketclip = 0; + } + + var_07.remainingrocketshots = var_07.rocketclip; + var_07 common_scripts\utility::make_entity_sentient_mp(var_07.team); + if(!isdefined(level.spawnedwarbirds)) + { + level.spawnedwarbirds = []; + } + + level.spawnedwarbirds = common_scripts\utility::array_add(level.spawnedwarbirds,var_07); + var_07 maps\mp\killstreaks\_aerial_utility::addtohelilist(); + var_07 thread maps\mp\killstreaks\_aerial_utility::heli_flares_monitor(var_07.numextraflares); + var_07 thread maps\mp\killstreaks\_aerial_utility::heli_monitoremp(); + var_07 thread maps\mp\gametypes\_damage::setentitydamagecallback(var_07.maxhealth,"hitjuggernaut",::maps\mp\killstreaks\_warbird::warbirdondeath,::hordewarbirdmodifydamage,1); + var_07 thread maps\mp\killstreaks\_warbird::warbird_health(); + var_07 thread maps\mp\killstreaks\_aerial_utility::heli_existance(); + var_07 thread hordewarbird_watchdeath(); + thread maps\mp\killstreaks\_warbird::monitoraiwarbirddeathortimeout(var_07); + var_07.warbirdturret = var_07 maps\mp\killstreaks\_warbird::spawn_warbird_turret("warbird_remote_turret_mp","vehicle_xh9_warbird_turret_cloaked_inout_killstreak_mp_cloak","tag_player_mp",0); + var_07.warbirdturret.ishordeenemywarbird = 1; + var_07.warbirdturret hide(); + var_08 = "orbitalsupport_big_turret_mp"; + if(var_07.coopoffensive) + { + var_08 = "warbird_remote_turret_mp"; + } + + var_07.warbirdbuddyturret = var_07 maps\mp\killstreaks\_warbird::spawn_warbird_turret(var_08,"vehicle_xh9_warbird_turret_cloaked_inout_killstreak_mp_cloak","tag_playerbuddy_mp",1); + var_07.warbirdbuddyturret hide(); + thread maps\mp\killstreaks\_warbird::setupcloaking(var_07); + var_09 = 3; + maps\mp\_utility::delaythread(var_09,::maps\mp\killstreaks\_warbird::cloakingtransition,var_07,0); + var_07 common_scripts\utility::delaycall(var_09,::hudoutlineenable,level.enemyoutlinecolor,1); + var_07.warbirdturret common_scripts\utility::delaycall(var_09,::hudoutlineenable,level.enemyoutlinecolor,1); + var_07.ispossessed = 0; + var_07.warbirdturret setmode("auto_nonai"); + var_07.getstingertargetposfunc = ::hordewarbird_stinger_target_pos; + waittillframeend; + var_07 thread hordewarbirdaiattack(var_07); + var_07.killcamstarttime = gettime(); + var_07.warbirdturret.killcament = var_07; + var_07.player = undefined; + if(isdefined(var_07)) + { + level.currentenemycount++; + level.currentaliveenemycount++; + level.warbirdinuse = 1; + return 1; + } + + return 0; +} + +//Function Number: 2 +hordewarbird_watchdeath() +{ + level endon("game_ended"); + self endon("gone"); + common_scripts\utility::waittill_any("crashing","death"); + if(isdefined(self)) + { + self hudoutlinedisable(); + } + + if(isdefined(self.warbirdturret)) + { + self.warbirdturret hudoutlinedisable(); + } + + var_00 = self.lasttododamage; + thread hordewarbirddestroyed(var_00); +} + +//Function Number: 3 +hordewarbirddestroyed(param_00) +{ + if(!isdefined(self)) + { + return; + } + + level.currentaliveenemycount--; + level.enemiesleft--; + setomnvar("ui_horde_enemies_left",level.enemiesleft); + if(level.objdefend) + { + maps\mp\gametypes\horde::checkdefendkill(self,param_00); + } + + level notify("enemy_death",param_00,self); + level.warbirdinuse = 0; + if(isplayer(param_00)) + { + maps\mp\gametypes\_horde_util::awardhordekill(param_00); + param_00 thread maps\mp\gametypes\_rank::xppointspopup("kill",1000); + level thread maps\mp\gametypes\_horde_util::hordeupdatescore(param_00,100); + } + + if(isdefined(param_00) && isdefined(param_00.owner) && isplayer(param_00.owner) && isdefined(param_00.owner.killz)) + { + maps\mp\gametypes\_horde_util::awardhordekill(param_00.owner); + param_00.owner thread maps\mp\gametypes\_rank::xppointspopup("kill",1000); + level thread maps\mp\gametypes\_horde_util::hordeupdatescore(param_00.owner,100); + } +} + +//Function Number: 4 +hordewarbirdaiattack(param_00) +{ + thread hordewarbirdfire(param_00); + thread hordewarbirdlookatenemy(param_00); + thread hordewarbirdmovetoattackpoint(param_00); +} + +//Function Number: 5 +hordewarbirdmovetoattackpoint(param_00) +{ + self endon("warbirdPlayerControlled"); + self endon("warbirdStreakComplete"); + if(!isdefined(level.warbirdhordebasespeed)) + { + level.warbirdhordebasespeed = 40; + } + + if(!isdefined(level.warbirdhordeneargoal)) + { + level.warbirdhordeneargoal = 100; + } + + var_01 = level.warbirdhordebasespeed; + param_00 vehicle_setspeed(var_01,var_01 / 4,var_01 / 4); + param_00 setneargoalnotifydist(level.warbirdhordeneargoal); + var_02 = param_00.currentnode; + if(!isdefined(var_02)) + { + var_03 = common_scripts\utility::get_array_of_closest(param_00.origin,maps\mp\killstreaks\_warbird::buildvalidflightpaths()); + var_04 = param_00.origin; + for(var_05 = 0;var_05 < var_03.size;var_05++) + { + var_06 = var_03[var_05].origin; + if(maps\mp\killstreaks\_aerial_utility::flynodeorgtracepassed(var_04,var_06,param_00)) + { + var_07 = var_06 - var_04; + var_08 = distance(var_04,var_06); + var_09 = rotatevector(var_07,(0,90,0)); + var_0A = var_04 + var_09 * 100; + var_0B = var_0A + var_07 * var_08; + if(maps\mp\killstreaks\_aerial_utility::flynodeorgtracepassed(var_0A,var_0B,param_00)) + { + var_0C = rotatevector(var_07,(0,-90,0)); + var_0A = var_04 + var_0C * 100; + var_0B = var_0A + var_07 * var_08; + if(maps\mp\killstreaks\_aerial_utility::flynodeorgtracepassed(var_0A,var_0B,param_00)) + { + var_02 = var_03[var_05]; + break; + } + } + } + + wait 0.05; + } + } + else + { + var_02 = var_02.next; + } + + if(!isdefined(var_02)) + { + return; + } + + if(isdefined(var_02.horde_patch_slow_from_prev) || isdefined(var_02.horde_patch_slow_from_next)) + { + param_00.horde_approach_next_node_slow = 1; + } + else + { + param_00.horde_approach_next_node_slow = 0; + } + + for(;;) + { + var_0D = param_00.horde_approach_next_node_slow; + param_00 setvehgoalpos(var_02.origin,var_0D); + param_00.ismoving = 1; + param_00 waittill("near_goal"); + param_00.currentnode = var_02; + param_00.ismoving = 0; + var_02 = hordewarbirdwaituntilmovereturnnode(param_00); + param_00.currentnode = undefined; + } +} + +//Function Number: 6 +hordewarbirdwaituntilmovereturnnode(param_00) +{ + var_01 = param_00.currentnode; + var_02 = var_01.prev; + var_03 = var_01.next; + var_04 = maps\mp\_utility::getlivingplayers("allies"); + var_04 = sortbydistance(var_04,param_00.origin); + if(var_04.size == 0) + { + return param_00.currentnode.next; + } + + var_05 = var_04[0]; + var_06 = var_03; + if(distancesquared(var_05.origin,var_02.origin) < distancesquared(var_05.origin,var_03.origin)) + { + var_06 = var_02; + } + else + { + var_06 = var_03; + } + + if(randomfloat(1) < 0.2) + { + if(var_06 == var_02) + { + var_06 = var_03; + } + else + { + var_06 = var_02; + } + } + + if((isdefined(var_06.horde_patch_slow_from_prev) && var_06 == var_03) || isdefined(var_06.horde_patch_slow_from_next) && var_06 == var_02) + { + param_00.horde_approach_next_node_slow = 1; + } + else + { + param_00.horde_approach_next_node_slow = 0; + } + + return var_06; +} + +//Function Number: 7 +hordewarbirdlookatenemy(param_00) +{ + param_00 endon("death"); + for(;;) + { + if(isdefined(param_00.enemy_target)) + { + hordemonitorlookatent(param_00); + param_00.warbirdturret cleartargetentity(); + } + + wait 0.05; + } +} + +//Function Number: 8 +hordemonitorlookatent(param_00) +{ + param_00 endon("death"); + param_00 endon("pickNewTarget"); + param_00 setlookatent(param_00.enemy_target); + if(isdefined(param_00.enemy_target.isaerialassaultdrone) && param_00.enemy_target.isaerialassaultdrone) + { + param_00.warbirdturret settargetentity(param_00.enemy_target,(0,0,50)); + } + else + { + param_00.warbirdturret settargetentity(param_00.enemy_target); + } + + param_00.enemy_target common_scripts\utility::waittill_any_timeout(randomfloatrange(3,5),"death","disconnect"); + param_00.picknewtarget = 1; + param_00.lineofsight = 0; +} + +//Function Number: 9 +hordewarbirdfire(param_00) +{ + param_00 endon("crashing"); + param_00 endon("death"); + thread hordewarbirdfireai(param_00); + for(;;) + { + if(param_00.picknewtarget) + { + var_01 = level.participants; + var_01 = common_scripts\utility::array_combine(var_01,level.ugvs); + var_01 = common_scripts\utility::array_combine(var_01,level.turrets); + var_02 = []; + foreach(var_04 in var_01) + { + if(var_04.team != self.team) + { + var_02 = common_scripts\utility::array_add(var_02,var_04); + } + } + + if(param_00.aiattack) + { + var_02 = sortbydistance(var_02,param_00.origin); + } + else + { + var_02 = sortbydistance(var_02,self.origin); + } + + var_06 = undefined; + foreach(var_04 in var_02) + { + if(!isdefined(var_04)) + { + continue; + } + + if(!isalive(var_04) || isdefined(var_04.isspectator) && var_04.isspectator || isdefined(var_04.inlaststand) && var_04.inlaststand) + { + continue; + } + + if(var_04 maps\mp\_utility::_hasperk("specialty_blindeye")) + { + continue; + } + + if(isdefined(var_04.spawntime) && gettime() - var_04.spawntime / 1000 < 5) + { + continue; + } + + var_06 = var_04; + param_00.enemy_target = var_06; + checkhordewarbirdtargetlos(param_00); + break; + } + } + + param_00 notify("LostLOS"); + wait(0.05); + } +} + +//Function Number: 10 +hordewarbirdfireai(param_00) +{ + param_00 endon("crashing"); + param_00 endon("death"); + param_00.remainingrocketshots = param_00.rocketclip; + var_01 = hordewarbirdburstendtime(); + var_02 = 0.2; + param_00.firing_rocket = 0; + if(level.hordelevelflip > 1) + { + param_00.hasrockets = 1; + } + + for(;;) + { + if(gettime() > var_01) + { + hordewarbirdburstdelay(); + var_01 = hordewarbirdburstendtime(); + } + else + { + wait(var_02); + } + + if(!isdefined(param_00.enemy_target) || !isalive(param_00.enemy_target) || isdefined(param_00.enemy_target.isspectator) && param_00.enemy_target.isspectator || isdefined(param_00.enemy_target.inlaststand) && param_00.enemy_target.inlaststand || !param_00.lineofsight) + { + continue; + } + + if(param_00.hasrockets) + { + if(!param_00.firing_rocket) + { + thread hordewarbirdfireairocket(param_00); + } + } + + param_00.warbirdturret shootturret(); + } +} + +//Function Number: 11 +hordewarbirdfireairocket(param_00) +{ + var_01 = param_00 gettagorigin("tag_missile_right"); + var_02 = vectornormalize(anglestoforward(param_00.angles)); + var_03 = param_00 vehicle_getvelocity(); + var_04 = magicbullet("warbird_missile_mp",var_01 + var_03 / 10,self geteye() + var_03 + var_02 * 1000); + var_04.killcament = param_00; + playfxontag(level.chopper_fx["rocketlaunch"]["warbird"],param_00,"tag_missile_right"); + var_04 missile_settargetent(param_00.enemy_target); + var_04 missile_setflightmodedirect(); + param_00.remainingrocketshots--; + if(param_00.remainingrocketshots <= 0) + { + thread hordewarbirdairocketreload(param_00); + } + + param_00.firing_rocket = 1; + waittillhordewarbirdrocketdeath(param_00,var_04); + param_00.firing_rocket = 0; +} + +//Function Number: 12 +hordewarbirdairocketreload(param_00) +{ + param_00 endon("warbirdStreakComplete"); + wait(6); + param_00.remainingrocketshots = param_00.rocketclip; +} + +//Function Number: 13 +waittillhordewarbirdrocketdeath(param_00,param_01) +{ + param_00.enemy_target endon("death"); + param_00.enemy_target endon("disconnect"); + param_01 waittill("death"); +} + +//Function Number: 14 +checkhordewarbirdtargetlos(param_00) +{ + self endon("warbirdPlayerControlled"); + self endon("warbirdStreakComplete"); + param_00.enemy_target endon("death"); + param_00.enemy_target endon("disconnect"); + for(;;) + { + var_01 = param_00 gettagorigin("TAG_FLASH1"); + var_02 = (0,0,0); + if(isdefined(param_00.enemy_target.issentry) && param_00.enemy_target.issentry) + { + var_02 = param_00.enemy_target.origin + (0,0,40); + } + else + { + var_02 = param_00.enemy_target geteye(); + } + + var_03 = vectornormalize(var_02 - var_01); + var_04 = var_01 + var_03 * 20; + var_05 = bullettrace(var_04,var_02,0,param_00,0,0,0,0,0); + if((isdefined(param_00.enemy_target.isspectator) && param_00.enemy_target.isspectator) || isdefined(param_00.enemy_target.inlaststand) && param_00.enemy_target.inlaststand || var_05["fraction"] < 0.99) + { + param_00.enemy_target = undefined; + param_00 clearlookatent(); + param_00.warbirdturret cleartargetentity(); + param_00.lineofsight = 0; + param_00.picknewtarget = 1; + param_00 notify("pickNewTarget"); + return; + } + + param_00.lineofsight = 1; + wait(0.25); + } +} + +//Function Number: 15 +hordewarbirdchecktargetisinvision(param_00) +{ + var_01 = anglestoforward(param_00.angles); + var_02 = param_00.enemy_target.origin - param_00.origin; + var_03 = vectordot(var_01,var_02); + return var_03 > 0; +} + +//Function Number: 16 +hordewarbirdburstendtime() +{ + var_00 = 1000; + var_01 = 2000; + return gettime() + randomintrange(var_00,var_01); +} + +//Function Number: 17 +hordewarbirdburstdelay() +{ + var_00 = 2; + var_01 = 4; + wait(randomfloatrange(var_00,var_01)); +} + +//Function Number: 18 +hordewarbirdmodifydamage(param_00,param_01,param_02,param_03) +{ + var_04 = 1; + self.damagefeedback = "hitjuggernaut"; + if(isdefined(self.damageloc) && issubstr(self.damageloc,"rotor") || issubstr(self.damageloc,"wing")) + { + var_04 = 1.25; + self.damagefeedback = "headshot"; + } + + var_05 = maps\mp\gametypes\_damage::modifydamage(param_00,param_01,param_02,param_03 * var_04); + if(issubstr(param_01,"turret") && !isplayer(param_00)) + { + var_05 = var_05 * 0.1; + } + + if(issubstr(param_01,"remotemissile_projectile_cluster")) + { + var_05 = 1000; + } + else if(issubstr(param_01,"remotemissile_")) + { + var_05 = 1400; + } + else if(issubstr(param_01,"playermech_rocket_mp")) + { + var_05 = 500; + } + + if(weaponclass(param_01) == "rocketlauncher") + { + var_06 = 500; + if(getweaponbasename(param_01) == "iw5_maaws_mp") + { + var_05 = var_05; + } + + if(getweaponbasename(param_01) == "iw5_mahem_mp") + { + var_05 = var_05 * 2.5; + } + + if(getweaponbasename(param_01) == "iw5_stingerm7_mp") + { + var_05 = 500; + } + } + + if(var_05 > 0) + { + self.lasttododamage = param_00; + maps\mp\killstreaks\_aerial_utility::heli_staticdamage(param_01,param_02,var_05); + if(isdefined(param_00)) + { + if(isplayer(param_00)) + { + param_00 maps\mp\gametypes\horde::givepointsfordamage(self,var_05,"none",param_01,undefined,undefined,"none",0); + } + else if(isdefined(param_00.owner) && isplayer(param_00.owner)) + { + param_00.owner maps\mp\gametypes\horde::givepointsfordamage(self,var_05,"none",param_01,undefined,undefined,"none",0); + } + } + } + + return var_05; +} + +//Function Number: 19 +hordewarbird_stinger_target_pos() +{ + return self gettagorigin("tag_origin") + (0,0,64); +} + +//Function Number: 20 +horde_patch_flight_paths() +{ + if(isdefined(level.horde_flight_paths_patched)) + { + return; + } + + if(isdefined(level.warbirdflightpathnodes)) + { + foreach(var_02 in level.horde_warbird_path_patch_array) + { + var_03 = level.warbirdflightpathnodes[var_02.index]; + if(isdefined(var_02.slow_from_next)) + { + var_03.horde_patch_slow_from_next = var_02.slow_from_next; + } + + if(isdefined(var_02.slow_from_prev)) + { + var_03.horde_patch_slow_from_prev = var_02.slow_from_prev; + } + } + + level.horde_flight_paths_patched = 1; + } +} + +//Function Number: 21 +horde_setup_warbird_pathnode_patch() +{ + var_00 = []; + switch(level.script) + { + case "mp_comeback": + var_00[0] = horde_create_patch_node(3,1,0); + var_00[1] = horde_create_patch_node(2,1,0); + var_00[2] = horde_create_patch_node(4,0,1); + break; + + case "mp_lab2": + var_00[0] = horde_create_patch_node(1,1,1); + var_00[1] = horde_create_patch_node(0,1,0); + var_00[2] = horde_create_patch_node(5,1,0); + maps\mp\killstreaks\_aerial_utility::patchheliloopnode((-468,-2000,1536),(-318,-2058,1536)); + maps\mp\killstreaks\_aerial_utility::patchheliloopnode((720,3144,1508),(870,3086,1508)); + break; + + case "mp_laser2": + maps\mp\killstreaks\_aerial_utility::patchheliloopnode((-1992,1648,2164),(-1329,768,2164)); + var_00[0] = horde_create_patch_node(1,1,0); + var_00[1] = horde_create_patch_node(3,0,1); + break; + + case "mp_levity": + var_00[0] = horde_create_patch_node(5,1,1); + break; + + case "mp_refraction": + var_00[0] = horde_create_patch_node(4,1,0); + var_00[1] = horde_create_patch_node(5,0,1); + break; + + case "mp_terrace": + var_00[0] = horde_create_patch_node(3,1,0); + var_00[1] = horde_create_patch_node(4,0,1); + break; + + case "mp_venus": + var_00[0] = horde_create_patch_node(5,1,0); + var_00[1] = horde_create_patch_node(6,0,1); + break; + + case "mp_urban": + var_00[0] = horde_create_patch_node(0,0,1); + var_00[1] = horde_create_patch_node(5,1,0); + level.warbirdhordebasespeed = 33; + break; + } + + level.horde_warbird_path_patch_array = var_00; +} + +//Function Number: 22 +horde_create_patch_node(param_00,param_01,param_02) +{ + var_03 = spawnstruct(); + var_03.index = param_00; + if(isdefined(param_01) && param_01) + { + var_03.slow_from_prev = 1; + } + + if(isdefined(param_02) && param_02) + { + var_03.slow_from_next = 1; + } + + return var_03; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/gametypes/_horde_zombies.gsc b/AW/PC/maps/mp/gametypes/_horde_zombies.gsc new file mode 100644 index 0000000..e6a1f98 --- /dev/null +++ b/AW/PC/maps/mp/gametypes/_horde_zombies.gsc @@ -0,0 +1,944 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\gametypes\_horde_zombies.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 43 + * Decompile Time: 655 ms + * Timestamp: 4/22/2024 2:09:48 AM +*******************************************************************/ + +//Function Number: 1 +initzombies() +{ + precacherumble("dna_carpet_bomb"); + level.zombieweapons = getentarray("zombie_weapon","targetname"); + foreach(var_01 in level.zombieweapons) + { + var_01 hide(); + var_01 makeunusable(); + } +} + +//Function Number: 2 +runhordezombies() +{ + level.zombiesstarted = 1; + level.hordedronetype = "vehicle_atlas_assault_drone"; + level.dnadronelocs = common_scripts\utility::getstructarray("dna_locs","targetname"); + level.interiordnadrones = getentarray("dna_drone_interior","targetname"); + level.dnadrones = []; + level.dronesatgoal = 0; + thread zombiespatchclip(); + foreach(var_01 in level.players) + { + level thread zombiepreloadweapons(var_01); + var_01 setdemigod(1); + } + + wait(3); + disablekillstreaks(); + foreach(var_01 in level.players) + { + if(isdefined(var_01.changingweapon) && maps\mp\_utility::iskillstreakweapon(var_01.changingweapon)) + { + if(var_01.changingweapon == "killstreak_predator_missile_mp" || var_01.changingweapon == "orbital_laser_fov_mp") + { + while(!var_01 maps\mp\_utility::isusingremote()) + { + wait 0.05; + } + } + else + { + var_01 switchtoweapon(var_01.hordeclassweapons[var_01 getclientomnvar("ui_horde_player_class")]["primary"]); + } + } + + if(isdefined(var_01.enteringgoliath)) + { + while(isdefined(var_01.enteringgoliath)) + { + wait(0.05); + } + } + + if(isdefined(var_01.iscarrying) && var_01.iscarrying) + { + var_01 notify("force_cancel_placement"); + } + } + + foreach(var_06 in level.hordesentryarray) + { + if(isdefined(var_06)) + { + var_06 notify("death"); + } + } + + foreach(var_09 in level.carepackages) + { + var_09 maps\mp\killstreaks\_airdrop::deletecrate(); + } + + thread zombiesdisablearmories(); + thread zombiesdestroykillstreaks(); + foreach(var_01 in level.players) + { + var_01 setclientomnvar("ui_hide_hints_hud",1); + } + + level thread zombiesmusic(); + level thread hordednaexplosion(); + preloadcinematicforall("coop_outro"); + level thread monitorgameended(); +} + +//Function Number: 3 +disablekillstreaks() +{ + foreach(var_01 in level.players) + { + for(var_02 = 1;var_02 <= var_01.currentkillstreaks.size;var_02++) + { + if(var_01.pers["killstreaks"][var_02].available == 1) + { + var_01 thread maps\mp\killstreaks\_killstreaks::givehordekillstreak(var_01.currentkillstreaks[var_02],var_01,var_01.lastkillstreakmodules,var_02,0); + } + } + + var_03 = 5; + if(level.console || var_01 common_scripts\utility::is_player_gamepad_enabled()) + { + var_03 = 1; + } + + for(var_02 = 0;var_02 < var_03;var_02++) + { + var_01 maps\mp\_utility::_setactionslot(var_02 + 4,""); + var_01.actionslotenabled[var_02] = 0; + } + + var_01 setclientomnvar("ks_count1",0); + var_01 setclientomnvar("ks_count_updated",1); + } +} + +//Function Number: 4 +monitorgameended() +{ + level waittill("game_ended"); + stopcinematicforall("coop_outro"); +} + +//Function Number: 5 +hordednaexplosion() +{ + level endon("game_ended"); + level thread startexteriordnadrones(); + foreach(var_01 in level.interiordnadrones) + { + level thread startinteriordnadrones(var_01); + } + + wait(2); + foreach(var_04 in level.players) + { + level thread droneswarmaudio(var_04); + } + + maps\mp\_utility::leaderdialogonplayers("coop_gdn_sensorsareshowingmanticore",level.players,"horde"); + wait(3); + level waittill("dna_explode"); + for(var_06 = 1;var_06 < level.dnadrones.size + 1;var_06++) + { + level thread startdnadronelights(level.dnadrones[var_06]); + } + + wait(3); + maps\mp\_utility::leaderdialogonplayers("coop_gdn_hitthedeck",level.players,"horde"); + for(var_06 = 1;var_06 < level.dnadrones.size + 1;var_06++) + { + level thread stopdnadronelights(level.dnadrones[var_06]); + } + + wait(0.5); + thread dnadronesexplode(); + wait(1); + thread dnablackout_moveplayers_off_roof(); + foreach(var_04 in level.players) + { + var_04 thread dnablackout(); + var_04 maps\mp\_utility::playerallowdodge(1,"class"); + var_04 maps\mp\_utility::playerallowhighjumpdrop(1,"class"); + var_04 maps\mp\_utility::playerallowhighjump(1,"class"); + var_04 maps\mp\_utility::playerallowpowerslide(1,"class"); + var_04 maps\mp\_utility::playerallowdodge(0,"zombie"); + var_04 maps\mp\_utility::playerallowhighjumpdrop(0,"zombie"); + var_04 maps\mp\_utility::playerallowhighjump(0,"zombie"); + var_04 maps\mp\_utility::playerallowpowerslide(0,"zombie"); + var_04.weapondmgmod = 1; + var_04 maps\mp\_utility::_clearperks(); + var_04.horde_perks = []; + var_04.lastperks = []; + var_04 maps\mp\_utility::giveperk("specialty_pistoldeath",0); + var_04 maps\mp\_utility::giveperk("specialty_horde_dualprimary",1,1); + } + + level.players[0] thread play_backout_sound_heartbeat(); + level waittill("blackout_done"); + foreach(var_0A in level.zombieweapons) + { + var_0A show(); + var_0A makeusable(); + var_0A hudoutlineenable(4,1); + var_0A thread zombieweaponpickup(); + } + + activateclientexploder(60); + foreach(var_0D in level.hordedome) + { + var_0D hide(); + } + + foreach(var_04 in level.players) + { + var_04 takeallweapons(); + var_04 setclientomnvar("ui_horde_zombie_hud",1); + var_04 setclientomnvar("ui_hide_hints_hud",0); + if(isdefined(var_04.hasselfrevive)) + { + var_04.hasselfrevive = 0; + } + + var_04 setdemigod(0); + var_04.maxhealth = var_04.classsettings["support"]["classhealth"]; + var_04.health = var_04.maxhealth; + var_04.movespeedscaler = 1.1; + } + + level notify("zombie_go_night"); + wait(2.2); + maps\mp\_utility::leaderdialogonplayers("coop_gdn_teamreportstatus",level.players,"horde"); + wait(6); + maps\mp\_utility::leaderdialogonplayers("coop_gdn_alliedforcesthisisgideon",level.players,"horde"); + wait(5); + maps\mp\_utility::leaderdialogonplayers("coop_gdn_isanyoneoutthere",level.players,"horde"); + wait(8); + maps\mp\_utility::leaderdialogonplayers("coop_gdn_welcomebackteam",level.players,"horde"); + thread func_4136(); + thread maps\mp\gametypes\_horde_dialog::zombiedialog(); + thread zombiewavesequence(); + thread zombieincreasewavecount(); +} + +//Function Number: 6 +startinteriordnadrones(param_00) +{ + level endon("game_ended"); + wait(5); + playfxontag(level._effect["bagh_dna_bomb_drone_loop"],param_00,"tag_origin"); + wait(0.25); + var_01 = common_scripts\utility::getstruct(param_00.target,"targetname"); + param_00 moveto(var_01.origin,1,0.2,0.5); + param_00 thread dnadronereachedgoal(var_01); + var_02 = int(param_00.script_parameters); + level.dnadrones[var_02][level.dnadrones[var_02].size] = param_00; +} + +//Function Number: 7 +startexteriordnadrones() +{ + level endon("game_ended"); + foreach(var_01 in level.dnadronelocs) + { + var_02 = spawn("script_model",var_01.origin + (0,0,6000)); + var_02 setmodel("sentinel_survey_drone_sphere_ai_swarm"); + var_02.drone_travel_time = randomfloatrange(7.5,9); + var_02 moveto(var_01.origin,var_02.drone_travel_time,0.5,0.2); + var_02 thread dnadronereachedgoal(var_01); + var_03 = int(var_01.script_parameters); + var_04 = bullettrace(var_01.origin,var_01.origin + (0,0,6001),0,undefined,0,0,0,0,1); + if(isdefined(var_04["glass"])) + { + var_05 = calculate_break_time(var_02,var_04["position"]); + thread dnadronebreakprisonglass(var_05,var_04["glass"]); + } + + if(!isdefined(level.dnadrones[var_03])) + { + level.dnadrones[var_03] = []; + } + + level.dnadrones[var_03][level.dnadrones[var_03].size] = var_02; + } +} + +//Function Number: 8 +startdnadronelights(param_00) +{ + level endon("game_ended"); + foreach(var_02 in param_00) + { + playfxontag(level._effect["bagh_dna_bomb_drone_loop"],var_02,"tag_origin"); + } +} + +//Function Number: 9 +stopdnadronelights(param_00) +{ + level endon("game_ended"); + foreach(var_02 in param_00) + { + killfxontag(level._effect["bagh_dna_bomb_drone_loop"],var_02,"tag_origin"); + } +} + +//Function Number: 10 +func_4136() +{ + level endon("game_ended"); + level.extractionloc = getent("zombie_extraction","targetname"); + var_00 = getent("zombie_outro","targetname"); + level waittill("start_extraction"); + foreach(var_02 in level.players) + { + var_02 setclientomnvar("ui_hide_hud",0); + } + + maps\mp\gametypes\horde::sethudtimer("escape_time",40); + if(getdvarint("horde_nozombieoutro") < 1) + { + var_00 thread hordestartzombieoutro(); + } + + maps\mp\_utility::leaderdialogonplayers("coop_gdn_iaminboundwithanextraction",level.players,"horde"); + thread maps\mp\gametypes\_horde_dialog::extraction_nag_lines(); + var_04 = maps\mp\gametypes\_gameobjects::getnextobjid(); + level.extractionloc.objid = var_04; + objective_add(var_04,"active",level.extractionloc.origin); + foreach(var_02 in level.players) + { + level.extractionloc.headicon = level.extractionloc maps\mp\_entityheadicons::setheadicon(var_02,"waypoint_extraction",(0,0,0),4,4,undefined,undefined,0,1,undefined,0); + } + + maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(40); + maps\mp\gametypes\horde::clearhudtimer(); + if(!isdefined(level.zombiescompleted)) + { + maps\mp\gametypes\_horde_laststand::hordeendgame("extraction_failed"); + } +} + +//Function Number: 11 +zombiewavesequence() +{ + level endon("game_ended"); + while(level.enemiesleft > 85) + { + wait(0.25); + } + + wait(randomfloatrange(1,3)); + maps\mp\_utility::leaderdialogonplayers("coop_gdn_exosarebackupuseboostjump",level.players,"horde"); + foreach(var_01 in level.players) + { + var_01 maps\mp\_utility::playerallowdodge(1,"zombie"); + var_01 maps\mp\_utility::playerallowhighjumpdrop(1,"zombie"); + var_01 maps\mp\_utility::playerallowhighjump(1,"zombie"); + var_01 maps\mp\_utility::playerallowpowerslide(1,"zombie"); + } + + while(level.enemiesleft > 60) + { + wait(0.25); + } + + level notify("start_extraction"); +} + +//Function Number: 12 +zombieincreasewavecount() +{ + level endon("game_ended"); + level endon("start_extraction"); + for(;;) + { + wait(20); + level notify("go_zombie"); + level.maxaliveenemycount = min(20,level.maxaliveenemycount + 2); + } +} + +//Function Number: 13 +dnadronereachedgoal(param_00) +{ + level endon("game_ended"); + self endon("death"); + while(distance(self.origin,param_00.origin) > 16) + { + wait(0.1); + } + + level.dronesatgoal++; + if(level.dronesatgoal == level.dnadronelocs.size) + { + level notify("dna_explode"); + } + + var_01 = self.origin; + for(;;) + { + var_02 = (0,0,randomintrange(16,24)); + var_03 = (0,0,randomintrange(-24,-16)); + self moveto(var_01 + var_02,1,0.3,0.3); + wait(1); + self moveto(var_01 + var_03,1,0.3,0.3); + wait(1); + } +} + +//Function Number: 14 +dnadronesexplode() +{ + level endon("game_ended"); + foreach(var_01 in level.players) + { + var_01 playsound("bagh_dna_bombs_main"); + var_01 playsound("dna_bomb_gas_start"); + var_01 playrumbleonentity("dna_carpet_bomb"); + var_01 setclienttriggervisionset("mp_prison_z_zombiefog",1); + level thread dnaexplosionscreenshake(var_01); + } + + for(var_03 = 1;var_03 < level.dnadrones.size + 1;var_03++) + { + level thread dnadroneexplode(level.dnadrones[var_03]); + } +} + +//Function Number: 15 +dnadroneexplode(param_00) +{ + level endon("game_ended"); + foreach(var_02 in param_00) + { + wait(randomfloatrange(0.1,0.2)); + playfx(level._effect["bagh_dna_bomb_explode"],var_02.origin); + var_02 delete(); + } +} + +//Function Number: 16 +dnaexplosionscreenshake(param_00) +{ + earthquake(1,1,param_00.origin,9999); + wait(1.2); + earthquake(0.7,1,param_00.origin,9999); + wait(1.4); + earthquake(0.5,1,param_00.origin,9999); +} + +//Function Number: 17 +dnablackout() +{ + self endon("disconnect"); + self endon("game_ended"); + self endon("death"); + self endon("leftTrigger"); + if(!isdefined(self.blackoutoverlay)) + { + self.blackoutoverlay = newclienthudelem(self); + self.blackoutoverlay.x = 0; + self.blackoutoverlay.y = 0; + self.blackoutoverlay setshader("black",640,480); + self.blackoutoverlay.alignx = "left"; + self.blackoutoverlay.aligny = "top"; + self.blackoutoverlay.horzalign = "fullscreen"; + self.blackoutoverlay.vertalign = "fullscreen"; + self.blackoutoverlay.alpha = 0; + } + + wait(1); + self freezecontrols(1); + self disableweapons(); + self disableoffhandweapons(); + self disableoffhandsecondaryweapons(); + self setstance("prone"); + self allowstand(0); + self allowcrouch(0); + self allowmelee(0); + self allowsprint(0); + thread play_backout_sound_breath(); + self.blackoutoverlay hordefadeinblackout(2,1); + level notify("blackout_done"); + wait(16); + self.blackoutoverlay thread hordefadeoutblackout(5,0); + self freezecontrols(0); + wait(4); + self allowmelee(1); + self allowstand(1); + self allowcrouch(1); + self setstance("stand"); + wait(0.65); + self allowsprint(1); + self enableweapons(); + self giveweapon("iw5_titan45_mp_xmags"); + self switchtoweaponimmediate("iw5_titan45_mp_xmags"); + thread zombiegivemaxammo(); + wait(0.5); + level notify("end_blackout_sounds"); +} + +//Function Number: 18 +finalblackout(param_00) +{ + param_00 endon("disconnect"); + level endon("game_ended"); + param_00.blackoutoverlay hordefadeinblackout(1,1); + param_00 freezecontrols(1); + param_00 setdemigod(1); + param_00 setclientomnvar("ui_hide_hud",1); +} + +//Function Number: 19 +play_backout_sound_heartbeat() +{ + maps\mp\_audio::snd_play_loop_in_space("zombie_fadeout_heartbeat",self.origin,"end_blackout_sounds",2); +} + +//Function Number: 20 +play_backout_sound_breath() +{ + level endon("end_blackout_sounds"); + level endon("game_ended"); + self endon("disconnect"); + var_00 = check_player_gender(); + var_01 = undefined; + if(maps\mp\killstreaks\_juggernaut::get_is_in_mech()) + { + return; + } + + switch(var_00) + { + case 0: + var_01 = "deaths_door_mp_male"; + break; + + case 1: + var_01 = "deaths_door_mp_female"; + break; + + default: + break; + } + + for(;;) + { + self playsoundtoplayer(var_01,self); + wait(1.6); + } +} + +//Function Number: 21 +hordestartzombieoutro() +{ + level endon("game_ended"); + for(;;) + { + self waittill("trigger",var_00); + if(maps\mp\gametypes\_horde_util::isonhumanteam(var_00) && isplayer(var_00)) + { + foreach(var_02 in level.players) + { + level thread finalblackout(var_02); + } + + maps\mp\_utility::_objective_delete(level.extractionloc.objid); + level.zombiescompleted = 1; + setdvar("cg_drawCrosshair",0); + level notify("zombies_ended"); + wait(1); + foreach(var_02 in level.players) + { + level.extractionloc maps\mp\_entityheadicons::setheadicon("none","",(0,0,0)); + } + + if(isdefined(level.extractionloc.headicon)) + { + level.extractionloc.headicon destroy(); + } + + foreach(var_02 in level.players) + { + var_02.ignoreme = 1; + } + + wait(1); + thread outro_horde_cleanup(); + playcinematicforall("coop_outro",1); + foreach(var_02 in level.players) + { + var_02 giveachievement("COOP_UNDEAD_SURVIVOR"); + } + + break; + } + + wait(0.05); + } + + wait(55); + stopcinematicforall("coop_outro"); + foreach(var_02 in level.players) + { + if(!var_02 gethordeplayerdata("requirement_beatenZombies")) + { + var_02 sethordeplayerdata("requirement_beatenZombies",1); + var_02 setclientomnvar("ui_hide_hud",0); + var_02 setclientomnvar("ui_horde_zombie_hud",1); + var_02 setclientomnvar("ui_horde_loot_unlocked",1); + } + } + + wait(3); + maps\mp\gametypes\_horde_laststand::hordeendgame("zombies_completed"); +} + +//Function Number: 22 +hordefadeinblackout(param_00,param_01) +{ + self fadeovertime(param_00); + self.alpha = param_01; + wait(param_00); +} + +//Function Number: 23 +hordefadeoutblackout(param_00,param_01) +{ + self fadeovertime(param_00); + self.alpha = param_01; + wait(param_00); +} + +//Function Number: 24 +zombiegivemaxammo() +{ + self endon("death"); + level endon("game_ended"); + for(;;) + { + wait(5); + self givemaxammo("iw5_titan45_mp_xmags",1); + } +} + +//Function Number: 25 +hordezombiesounds() +{ + thread hordezombiechasesounds(); + thread hordezombiedeathsounds(); + thread hordezombiepainsounds(); +} + +//Function Number: 26 +hordezombiechasesounds() +{ + self endon("death"); + level endon("game_ended"); + level endon("zombies_ended"); + for(;;) + { + while(!isdefined(self.enemy)) + { + wait(0.25); + } + + while(isdefined(self.enemy) && distance(self.origin,self.enemy.origin) > 200) + { + wait(randomfloatrange(4,8)); + self playsound("zombie_screech"); + } + + wait(0.05); + } +} + +//Function Number: 27 +hordezombiepainsounds() +{ + level endon("game_ended"); + level endon("zombies_ended"); + self endon("death"); + for(;;) + { + self waittill("damage"); + if(!isdefined(self.playing_pain_sound)) + { + childthread hordezombieplaypainsound(1.5); + } + + wait(0.05); + } +} + +//Function Number: 28 +hordezombiedeathsounds() +{ + level endon("game_ended"); + level endon("zombies_ended"); + self waittill("death"); + waittillframeend; + self playsound("zombie_death"); +} + +//Function Number: 29 +hordezombieplaypainsound(param_00) +{ + self playsound("zombie_pain"); + self.playing_pain_sound = 1; + wait(param_00); + self.playing_pain_sound = undefined; +} + +//Function Number: 30 +zombieweaponpickup() +{ + level endon("game_ended"); + self waittill("trigger",var_00); + if(isdefined(self.script_parameters)) + { + var_01 = weaponclipsize(self.script_parameters); + var_00 setweaponammostock(self.script_parameters,500); + var_00 setweaponammoclip(self.script_parameters,var_01); + } +} + +//Function Number: 31 +zombiesdisablearmories() +{ + level endon("game_ended"); + foreach(var_01 in level.hordearmories) + { + foreach(var_03 in level.players) + { + var_01 maps\mp\_entityheadicons::setheadicon("none","",(0,0,0)); + var_03 setclientomnvar("ui_horde_show_armory",0); + var_03 enableusability(); + } + + if(isdefined(var_01.headicon)) + { + var_01.headicon destroy(); + } + + maps\mp\_utility::_objective_delete(var_01.objectiveindex); + var_01 hudoutlinedisable(); + foreach(var_06 in var_01.monitors) + { + var_06 hudoutlinedisable(); + } + + var_01 makeunusable(); + } +} + +//Function Number: 32 +zombiesdestroykillstreaks() +{ + level endon("game_ended"); + var_00 = "MOD_EXPLOSIVE"; + var_01 = "killstreak_emp_mp"; + var_02 = 5000; + var_03 = level.players[0]; + foreach(var_05 in level.orbital_lasers) + { + var_05 notify("death",var_03,var_00,var_01); + wait(0.05); + } + + var_07 = common_scripts\utility::array_combine(level.ugvs,level.uavmodels["allies"]); + var_07 = common_scripts\utility::array_combine(var_07,level.turrets); + var_07 = common_scripts\utility::array_combine(var_07,level.helis); + var_07 = common_scripts\utility::array_combine(var_07,level.planes); + var_07 = common_scripts\utility::array_combine(var_07,level.littlebirds); + if(isdefined(level.orbitalsupport_planemodel)) + { + var_07[var_07.size] = level.orbitalsupport_planemodel; + } + + foreach(var_09 in var_07) + { + var_02 = var_09.maxhealth + 1; + var_09 dodamage(var_02,var_09.origin,var_03,var_03,var_00,var_01); + wait(0.05); + } + + foreach(var_0C in level.players) + { + if(isdefined(var_0C.missileweapon) && isdefined(var_0C.rocket)) + { + var_0C.rocket setdamagecallbackon(0); + var_0C.missileweapon notify("ms_early_exit"); + var_0C.rocket maps\mp\killstreaks\_missile_strike::missilestrikeondeath(var_03,var_01,var_00,var_02); + var_0C.missileweapon = undefined; + var_0C.rocket = undefined; + } + } + + foreach(var_0C in level.players) + { + if(isdefined(var_0C.isjuggernaut) && var_0C.isjuggernaut) + { + var_0C maps\mp\_snd_common_mp::snd_message("goliath_self_destruct"); + playfx(common_scripts\utility::getfx("goliath_self_destruct"),var_0C.origin,anglestoup(var_0C.angles)); + wait(0.05); + var_0C.hideondeath = 1; + var_0C.juggernautsuicide = 1; + var_0C thread [[ level.hordehandlejuggdeath ]](); + } + } +} + +//Function Number: 33 +droneswarmaudio(param_00) +{ + level endon("game_ended"); + param_00 endon("disconnect"); + param_00 playsound("bagh_dna_drone_swarm_layer"); + wait(5.66); + param_00 playsound("bagh_dna_drone_flyby_01"); +} + +//Function Number: 34 +zombiepreloadweapons(param_00) +{ + level endon("game_ended"); + param_00 endon("disconnect"); + param_00 loadweapons(["iw5_em1_mp","iw5_sn6_mp","iw5_maul_mp","iw5_lsat_mp"]); + wait(3); + param_00 loadweapons(["iw5_hbra3_mp","iw5_asm1_mp","iw5_uts19_mp"]); +} + +//Function Number: 35 +zombiesetspeedscale(param_00) +{ + param_00 endon("disconnect"); + level endon("game_ended"); + var_01 = 0.2; + while(var_01 < param_00.classsettings["light"]["speed"]) + { + param_00.movespeedscaler = var_01; + var_01 = var_01 + 0.05; + wait(1); + } +} + +//Function Number: 36 +hordesetzombiemodel(param_00) +{ + var_01 = ["zombies_body_afr_a","zombies_body_afr_b","zombies_body_afr_c","zombies_body_afr_d"]; + var_02 = ["zombies_head_afr_a","zombies_head_afr_b","zombies_head_afr_c","zombies_head_afr_c"]; + var_03 = ["zombies_body_cau_a","zombies_body_cau_b","zombies_body_cau_c","zombies_body_cau_d"]; + var_04 = ["zombies_head_cau_a","zombies_head_cau_b","zombies_head_cau_c","zombies_head_shg_b"]; + var_05 = ["zombies_body_civ_cau_a","zombies_body_civ_cau_b","zombies_body_civ_cau_c","zombies_body_civ_cau_d"]; + var_06 = ["zombies_body_civ_afr_a","zombies_body_civ_afr_b","zombies_body_civ_afr_c","zombies_body_civ_afr_d"]; + var_07[0] = var_01; + var_07[1] = var_03; + var_07[2] = var_06; + var_07[3] = var_05; + var_08[0] = var_02; + var_08[1] = var_04; + var_08[2] = var_02; + var_08[3] = var_04; + var_09 = randomintrange(0,4); + var_0A = randomintrange(0,4); + var_0B = randomintrange(0,4); + var_0C = var_07[var_09][var_0A]; + var_0D = var_08[var_09][var_0B]; + self detachall(); + self setmodel(var_0C); + self.headmodel = var_0D; + self attach(self.headmodel,"",1); +} + +//Function Number: 37 +zombiesmusic() +{ + level endon("game_ended"); + level waittill("blackout_done"); + maps\mp\_audio::snd_play_loop_in_space("det_mus_horror_lp_01",level.players[0].origin,"beginZombieSpawn",3); + level waittill("beginZombieSpawn"); + maps\mp\_audio::snd_play_loop_in_space("det_mus_horror_lp_02",level.players[0].origin,"stopZombieMusic",3); + wait(60); + level notify("stopZombieMusic"); + level waittill("start_extraction"); + maps\mp\_audio::snd_play_loop_in_space("det_mus_high_tension1",level.players[0].origin,"zombies_ended",1); +} + +//Function Number: 38 +outro_horde_cleanup() +{ + foreach(var_01 in level.agentarray) + { + maps\mp\agents\_agent_utility::killagent(var_01); + } +} + +//Function Number: 39 +dnadronebreakprisonglass(param_00,param_01) +{ + wait(param_00); + destroyglass(param_01); +} + +//Function Number: 40 +calculate_break_time(param_00,param_01) +{ + var_02 = 6000; + var_03 = distance(param_00.origin,param_01); + var_04 = param_00.drone_travel_time; + var_05 = var_03 * var_04 / var_02; + return var_05; +} + +//Function Number: 41 +check_player_gender() +{ + if(isdefined(self.costume)) + { + return self.costume[0]; + } + + return 0; +} + +//Function Number: 42 +dnablackout_moveplayers_off_roof() +{ + var_00 = getentarray("org_zombie_player_start_point","targetname"); + common_scripts\utility::array_randomize(var_00); + level waittill("blackout_done"); + for(var_01 = 0;var_01 < level.players.size;var_01++) + { + level.players[var_01] setorigin(var_00[var_01].origin); + wait(0.5); + level.players[var_01] setplayerangles(var_00[var_01].angles); + } +} + +//Function Number: 43 +zombiespatchclip() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1407.27,2567.11,704),(0,300.1,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1407.27,2567.11,960),(0,300.1,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1407.27,2567.11,1216),(0,300.1,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1185.79,2695.5,704),(0,300.1,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1185.79,2695.5,960),(0,300.1,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1185.79,2695.5,1216),(0,300.1,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-964.314,2823.89,704),(0,300.1,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-964.314,2823.89,960),(0,300.1,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-964.314,2823.89,1216),(0,300.1,0)); +} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/gametypes/_hostmigration.gsc b/AW/PC/maps/mp/gametypes/_hostmigration.gsc similarity index 97% rename from AW/PC/MP/maps/mp/gametypes/_hostmigration.gsc rename to AW/PC/maps/mp/gametypes/_hostmigration.gsc index a7255f2..3043013 100644 --- a/AW/PC/MP/maps/mp/gametypes/_hostmigration.gsc +++ b/AW/PC/maps/mp/gametypes/_hostmigration.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_hostmigration.gsc + * Decompiled File: mp\gametypes\_hostmigration.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 11 - * Decompile Time: 184 ms - * Timestamp: 10/27/2023 1:50:28 AM + * Decompile Time: 169 ms + * Timestamp: 4/22/2024 2:09:48 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/gametypes/_hud.gsc b/AW/PC/maps/mp/gametypes/_hud.gsc similarity index 94% rename from AW/PC/MP/maps/mp/gametypes/_hud.gsc rename to AW/PC/maps/mp/gametypes/_hud.gsc index 3a4b85e..bcfdbc5 100644 --- a/AW/PC/MP/maps/mp/gametypes/_hud.gsc +++ b/AW/PC/maps/mp/gametypes/_hud.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_hud.gsc + * Decompiled File: mp\gametypes\_hud.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 44 ms - * Timestamp: 10/27/2023 1:50:29 AM + * Decompile Time: 55 ms + * Timestamp: 4/22/2024 2:09:49 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/gametypes/_hud_message.gsc b/AW/PC/maps/mp/gametypes/_hud_message.gsc similarity index 82% rename from AW/PC/MP/maps/mp/gametypes/_hud_message.gsc rename to AW/PC/maps/mp/gametypes/_hud_message.gsc index 694e90c..d920011 100644 --- a/AW/PC/MP/maps/mp/gametypes/_hud_message.gsc +++ b/AW/PC/maps/mp/gametypes/_hud_message.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_hud_message.gsc + * Decompiled File: mp\gametypes\_hud_message.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 33 - * Decompile Time: 523 ms - * Timestamp: 10/27/2023 1:50:31 AM + * Decompile Time: 679 ms + * Timestamp: 4/22/2024 2:09:51 AM *******************************************************************/ //Function Number: 1 @@ -674,14 +674,44 @@ actionnotify(param_00) switch(param_00.type) { case "urgent_splash": + self.notifytext.alpha = 0; + self.notifytext2.alpha = 0; + self.notifyicon.alpha = 0; + self setclientomnvar("ui_splash_idx",-1); + self setclientomnvar("ui_splash_killstreak_mod_1",-1); + self setclientomnvar("ui_splash_killstreak_mod_2",-1); + self setclientomnvar("ui_splash_killstreak_mod_3",-1); + self setclientomnvar("ui_splash_killstreak_idx",-1); + thread actionnotifymessage(param_00); break; case "killstreak_splash": case "killstreak_coop_splash": case "splash": + if(self.doingsplash[var_01].type != "splash" && self.doingsplash[var_01].type != "urgent_splash" && self.doingsplash[var_01].type != "killstreak_coop_splash" && self.doingsplash[var_01].type != "killstreak_splash" && self.doingsplash[var_01].type != "challenge_splash" && self.doingsplash[var_01].type != "promotion_splash" && self.doingsplash[var_01].type != "intel_splash" && self.doingsplash[var_01].type != "rankup_splash") + { + self.notifytext.alpha = 0; + self.notifytext2.alpha = 0; + self.notifyicon.alpha = 0; + thread actionnotifymessage(param_00); + return; + } break; } } + + if(param_00.type == "challenge_splash" || param_00.type == "killstreak_splash" || param_00.type == "killstreak_coop_splash") + { + for(var_02 = self.splashqueue[var_01].size;var_02 > 0;var_02--) + { + self.splashqueue[var_01][var_02] = self.splashqueue[var_01][var_02 - 1]; + } + + self.splashqueue[var_01][0] = param_00; + return; + } + + self.splashqueue[var_01][self.splashqueue[var_01].size] = param_00; } //Function Number: 19 @@ -723,26 +753,143 @@ actionnotifymessage(param_00) { case "killstreak_splash": case "killstreak_coop_splash": + if(isdefined(param_00.killstreakslot) && !level.console) + { + self setclientomnvar("ui_splash_killstreak_slot_idx",param_00.killstreakslot); + } + + self setclientomnvar("ui_splash_killstreak_idx",var_02); + if(isdefined(param_00.playercardplayer) && param_00.playercardplayer != self) + { + self setclientomnvar("ui_splash_killstreak_clientnum",param_00.playercardplayer getentitynumber()); + } + else + { + self setclientomnvar("ui_splash_killstreak_clientnum",-1); + } + + if(isdefined(param_00.optionalnumber)) + { + self setclientomnvar("ui_splash_killstreak_optional_number",param_00.optionalnumber); + } + else + { + self setclientomnvar("ui_splash_killstreak_optional_number",0); + } + + if(isdefined(param_00.module1idx)) + { + self setclientomnvar("ui_splash_killstreak_mod_1",param_00.module1idx); + } + else + { + self setclientomnvar("ui_splash_killstreak_mod_1",-1); + } + + if(isdefined(param_00.module2idx)) + { + self setclientomnvar("ui_splash_killstreak_mod_2",param_00.module2idx); + } + else + { + self setclientomnvar("ui_splash_killstreak_mod_2",-1); + } + + if(isdefined(param_00.module3idx)) + { + self setclientomnvar("ui_splash_killstreak_mod_3",param_00.module3idx); + } + else + { + self setclientomnvar("ui_splash_killstreak_mod_3",-1); + } break; case "playercard_splash": + if(isdefined(param_00.playercardplayer)) + { + self setclientomnvar("ui_splash_playercard_idx",var_02); + if(isplayer(param_00.playercardplayer)) + { + self setclientomnvar("ui_splash_playercard_clientnum",param_00.playercardplayer getentitynumber()); + } + + if(isdefined(param_00.optionalnumber)) + { + self setclientomnvar("ui_splash_playercard_optional_number",param_00.optionalnumber); + } + } break; case "intel_splash": case "urgent_splash": case "splash": + self setclientomnvar("ui_splash_idx",var_02); + if(isdefined(param_00.optionalnumber)) + { + self setclientomnvar("ui_splash_optional_number",param_00.optionalnumber); + } break; case "rankup_splash": + self setclientomnvar("ui_rankup_splash_idx",var_02); + if(isdefined(param_00.rank)) + { + self setclientomnvar("ui_rank_splash_rank",param_00.rank); + } + + if(isdefined(param_00.prestige)) + { + self setclientomnvar("ui_rank_splash_prestige",param_00.prestige); + } break; case "perk_challenge_splash": case "challenge_splash": + var_02 = int(tablelookup("mp/allchallengestable.csv",0,param_00.name,27)); + self setclientomnvar("ui_challenge_splash_idx",var_02); + if(isdefined(param_00.challengetier)) + { + self setclientomnvar("ui_challenge_splash_tier",param_00.challengetier); + } + + if(isdefined(param_00.optionalnumber)) + { + self setclientomnvar("ui_challenge_splash_optional_number",param_00.optionalnumber); + } break; default: break; } + + self.doingsplash[var_01] = param_00; + if(isdefined(param_00.sound)) + { + self playlocalsound(param_00.sound); + } + + if(isdefined(param_00.leadersound)) + { + if(isdefined(param_00.leadersoundgroup)) + { + maps\mp\_utility::leaderdialogonplayer(param_00.leadersound,param_00.leadersoundgroup,1); + } + else + { + maps\mp\_utility::leaderdialogonplayer(param_00.leadersound); + } + } + + self notify("actionNotifyMessage" + var_01); + self endon("actionNotifyMessage" + var_01); + wait(var_03 + 0.5); + self.doingsplash[var_01] = undefined; + } + + if(self.splashqueue[var_01].size) + { + thread dispatchnotify(var_01); } } @@ -893,11 +1040,26 @@ matchoutcomenotify(param_00) switch(param_00) { case "victory": + var_02.glowcolor = game["colors"]["cyan"]; break; default: + var_02.glowcolor = game["colors"]["orange"]; break; } + + var_03 = maps\mp\gametypes\_hud_util::createicon(game["icons"][var_01],64,64); + var_03 maps\mp\gametypes\_hud_util::setparent(var_02); + var_03 maps\mp\gametypes\_hud_util::setpoint("TOP","BOTTOM",0,30); + var_03.foreground = 1; + var_03.hidewheninmenu = 0; + var_03.archived = 0; + var_03.alpha = 0; + var_03 fadeovertime(0.5); + var_03.alpha = 1; + wait(3); + var_02 maps\mp\gametypes\_hud_util::destroyelem(); + var_03 maps\mp\gametypes\_hud_util::destroyelem(); } //Function Number: 28 diff --git a/AW/PC/MP/maps/mp/gametypes/_hud_util.gsc b/AW/PC/maps/mp/gametypes/_hud_util.gsc similarity index 95% rename from AW/PC/MP/maps/mp/gametypes/_hud_util.gsc rename to AW/PC/maps/mp/gametypes/_hud_util.gsc index 782a434..39c447c 100644 --- a/AW/PC/MP/maps/mp/gametypes/_hud_util.gsc +++ b/AW/PC/maps/mp/gametypes/_hud_util.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_hud_util.gsc + * Decompiled File: mp\gametypes\_hud_util.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 52 - * Decompile Time: 812 ms - * Timestamp: 10/27/2023 1:50:34 AM + * Decompile Time: 799 ms + * Timestamp: 4/22/2024 2:09:54 AM *******************************************************************/ //Function Number: 1 @@ -214,8 +214,11 @@ setpoint(param_00,param_01,param_02,param_03,param_04) switch(self.elemtype) { case "bar": + setpointbar(param_00,param_01,param_02,param_03); break; } + + updatechildren(); } //Function Number: 6 @@ -806,9 +809,14 @@ transitionzoomin(param_00) { case "timer": case "font": + self.fontscale = 6.3; + self changefontscaleovertime(param_00); + self.fontscale = self.basefontscale; break; case "icon": + self setshader(self.shader,self.width * 6,self.height * 6); + self scaleovertime(param_00,self.width,self.height); break; } } @@ -822,6 +830,7 @@ transitionpulsefxin(param_00,param_01) { case "timer": case "font": + self setpulsefx(var_02 + 250,var_03 + var_02,var_02 + 250); break; default: @@ -840,17 +849,25 @@ transitionslidein(param_00,param_01) switch(param_01) { case "left": + self.x = self.x + 1000; break; case "right": + self.x = self.x - 1000; break; case "up": + self.y = self.y - 1000; break; case "down": + self.y = self.y + 1000; break; } + + self moveovertime(param_00); + self.x = self.xoffset; + self.y = self.yoffset; } //Function Number: 38 @@ -866,17 +883,26 @@ transitionslideout(param_00,param_01) switch(param_01) { case "left": + var_02 = var_02 + 1000; break; case "right": + var_02 = var_02 - 1000; break; case "up": + var_03 = var_03 - 1000; break; case "down": + var_03 = var_03 + 1000; break; } + + self.alpha = 1; + self moveovertime(param_00); + self.x = var_02; + self.y = var_03; } //Function Number: 39 @@ -886,9 +912,12 @@ transitionzoomout(param_00) { case "timer": case "font": + self changefontscaleovertime(param_00); + self.fontscale = 6.3; break; case "icon": + self scaleovertime(param_00,self.width * 6,self.height * 6); break; } } diff --git a/AW/PC/MP/maps/mp/gametypes/_killcam.gsc b/AW/PC/maps/mp/gametypes/_killcam.gsc similarity index 81% rename from AW/PC/MP/maps/mp/gametypes/_killcam.gsc rename to AW/PC/maps/mp/gametypes/_killcam.gsc index b14f5bd..17bb86b 100644 --- a/AW/PC/MP/maps/mp/gametypes/_killcam.gsc +++ b/AW/PC/maps/mp/gametypes/_killcam.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_killcam.gsc + * Decompiled File: mp\gametypes\_killcam.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 24 - * Decompile Time: 376 ms - * Timestamp: 10/27/2023 1:50:35 AM + * Decompile Time: 371 ms + * Timestamp: 4/22/2024 2:09:55 AM *******************************************************************/ //Function Number: 1 @@ -333,12 +333,139 @@ killcam(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07, switch(param_0C) { case "score": + self setclientomnvar("ui_killcam_type",1); break; case "normal": default: + self setclientomnvar("ui_killcam_type",0); break; } + + var_1A = var_11 + param_05 + var_10; + var_1B = gettime(); + self notify("begin_killcam",var_1B); + if(!var_0F && !isagent(param_09) && isdefined(param_09) && isplayer(param_0A)) + { + param_09 visionsyncwithplayer(param_0A); + } + + maps\mp\_utility::updatesessionstate("spectator"); + self.spectatekillcam = 1; + if(isagent(param_09)) + { + param_01 = param_0A getentitynumber(); + } + + self onlystreamactiveweapon(0); + if(var_0F) + { + self.forcespectatorclient = param_0A getentitynumber(); + } + else + { + self.forcespectatorclient = param_01; + } + + self.killcamentity = -1; + var_1C = setkillcamerastyle(param_00,param_01,param_02,param_04,param_0A,var_11); + if(!var_1C) + { + thread setkillcamentity(param_02,var_1A,param_03); + } + + if(var_0F) + { + if(var_1A > gettime() / 1000) + { + var_1A = gettime() / 1000; + } + } + else if(var_1A > param_0D) + { + var_1A = param_0D; + } + + self.archivetime = var_1A; + self.killcamlength = var_13; + self.psoffsettime = param_06; + self allowspectateteam("allies",1); + self allowspectateteam("axis",1); + self allowspectateteam("freelook",1); + self allowspectateteam("none",1); + if(level.multiteambased) + { + foreach(var_1E in level.teamnamelist) + { + self allowspectateteam(var_1E,1); + } + } + + foreach(var_1E in level.teamnamelist) + { + self allowspectateteam(var_1E,1); + } + + thread endedkillcamcleanup(); + wait(0.05); + if(!isdefined(self)) + { + return; + } + + if(self.archivetime < var_1A) + { + } + + var_11 = self.archivetime - 0.05 - param_05; + var_13 = var_11 + var_12; + self.killcamlength = var_13; + if(var_11 <= 0) + { + maps\mp\_utility::updatesessionstate("dead"); + maps\mp\_utility::clearkillcamstate(); + self notify("killcam_ended"); + return; + } + + self setclientomnvar("ui_killcam_end_milliseconds",int(var_13 * 1000) + gettime()); + if(level.showingfinalkillcam) + { + thread dofinalkillcamfx(var_11,param_02); + } + + self.killcam = 1; + if(isdefined(self.battlebuddy) && !level.gameended) + { + self.battlebuddyrespawntimestamp = gettime(); + } + + thread spawnedkillcamcleanup(); + self.skippedkillcam = 0; + self.killcamstartedtimedeciseconds = maps\mp\_utility::gettimepasseddecisecondsincludingrounds(); + if(!level.showingfinalkillcam) + { + thread waitskipkillcambutton(param_07); + } + else + { + self notify("showing_final_killcam"); + } + + thread endkillcamifnothingtoshow(); + waittillkillcamover(); + if(level.showingfinalkillcam) + { + if(self == param_09) + { + param_09 maps\mp\gametypes\_missions::processchallenge("ch_precision_moviestar"); + } + + thread maps\mp\gametypes\_playerlogic::spawnendofgame(); + return; + } + + thread killcamcleanup(1); } //Function Number: 10 diff --git a/AW/PC/MP/maps/mp/gametypes/_menus.gsc b/AW/PC/maps/mp/gametypes/_menus.gsc similarity index 99% rename from AW/PC/MP/maps/mp/gametypes/_menus.gsc rename to AW/PC/maps/mp/gametypes/_menus.gsc index f967942..9e96f83 100644 --- a/AW/PC/MP/maps/mp/gametypes/_menus.gsc +++ b/AW/PC/maps/mp/gametypes/_menus.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_menus.gsc + * Decompiled File: mp\gametypes\_menus.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 23 - * Decompile Time: 345 ms - * Timestamp: 10/27/2023 1:50:37 AM + * Decompile Time: 370 ms + * Timestamp: 4/22/2024 2:09:56 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/mp/gametypes/_missions.gsc b/AW/PC/maps/mp/gametypes/_missions.gsc new file mode 100644 index 0000000..1a4b48d --- /dev/null +++ b/AW/PC/maps/mp/gametypes/_missions.gsc @@ -0,0 +1,4431 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\gametypes\_missions.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 94 + * Decompile Time: 1464 ms + * Timestamp: 4/22/2024 2:10:01 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + precachestring(&"MP_CHALLENGE_COMPLETED"); + if(!mayprocesschallenges()) + { + return; + } + + level.missioncallbacks = []; + registermissioncallback("playerKilled",::ch_kills); + registermissioncallback("playerKilled",::ch_vehicle_kills); + registermissioncallback("playerHardpoint",::ch_hardpoints); + registermissioncallback("playerAssist",::ch_assists); + registermissioncallback("roundEnd",::ch_roundwin); + registermissioncallback("roundEnd",::ch_roundplayed); + registermissioncallback("vehicleKilled",::ch_vehicle_killed); + level thread onplayerconnect(); +} + +//Function Number: 2 +mayprocesschallenges() +{ + if(maps\mp\_utility::practiceroundgame()) + { + return 0; + } + + return level.rankedmatch; +} + +//Function Number: 3 +onplayerconnect() +{ + for(;;) + { + level waittill("connected",var_00); + if(isbot(var_00)) + { + continue; + } + + if(!isdefined(var_00.pers["postGameChallenges"])) + { + var_00.pers["postGameChallenges"] = 0; + } + + var_00 thread onplayerspawned(); + var_00 thread initmissiondata(); + var_00 thread monitorbombuse(); + var_00 thread monitorstreaks(); + var_00 thread monitorstreakreward(); + var_00 thread monitorscavengerpickup(); + var_00 thread monitorblastshieldsurvival(); + var_00 thread monitorprocesschallenge(); + var_00 thread monitorkillstreakprogress(); + var_00 thread monitorfinalstandsurvival(); + var_00 thread monitoradstime(); + var_00 thread monitorpronetime(); + var_00 thread monitorpowerslidetime(); + var_00 thread monitorweaponswap(); + var_00 thread monitorflashbang(); + var_00 thread monitorconcussion(); + var_00 thread monitorminetriggering(); + var_00 thread monitorboostjumpdistance(); + var_00 thread monitorplayermatchchallenges(); + var_00 notifyonplayercommand("hold_breath","+breath_sprint"); + var_00 notifyonplayercommand("hold_breath","+melee_breath"); + var_00 notifyonplayercommand("release_breath","-breath_sprint"); + var_00 notifyonplayercommand("release_breath","-melee_breath"); + var_00 thread monitorholdbreath(); + var_00 notifyonplayercommand("jumped","+goStand"); + var_00 thread monitormantle(); + } +} + +//Function Number: 4 +onplayerspawned() +{ + self endon("disconnect"); + for(;;) + { + self waittill("spawned_player"); + thread onplayerdeath(); + thread monitorsprintdistance(); + } +} + +//Function Number: 5 +onplayerdeath() +{ + self endon("disconnect"); + self waittill("death"); + if(isdefined(self.hasscavengedammothislife)) + { + self.hasscavengedammothislife = 0; + } +} + +//Function Number: 6 +monitorscavengerpickup() +{ + self endon("disconnect"); + for(;;) + { + self waittill("scavenger_pickup"); + if(self isitemunlocked("specialty_scavenger") && maps\mp\_utility::_hasperk("specialty_scavenger") && !maps\mp\_utility::isjuggernaut()) + { + processchallenge("ch_scavenger_pro"); + self.hasscavengedammothislife = 1; + } + + wait(0.05); + } +} + +//Function Number: 7 +monitorstreakreward() +{ + self endon("disconnect"); + for(;;) + { + self waittill("received_earned_killstreak"); + if(self isitemunlocked("specialty_hardline") && maps\mp\_utility::_hasperk("specialty_hardline")) + { + processchallenge("ch_hardline_pro"); + } + + wait(0.05); + } +} + +//Function Number: 8 +monitorblastshieldsurvival() +{ + self endon("disconnect"); + for(;;) + { + self waittill("survived_explosion",var_00); + if(isdefined(var_00) && isplayer(var_00) && self == var_00) + { + continue; + } + + if(self isitemunlocked("_specialty_blastshield") && maps\mp\_utility::_hasperk("_specialty_blastshield")) + { + processchallenge("ch_blastshield_pro"); + } + + wait 0.05; + } +} + +//Function Number: 9 +monitorfinalstandsurvival() +{ + self endon("disconnect"); + for(;;) + { + self waittill("revive"); + processchallenge("ch_livingdead"); + wait 0.05; + } +} + +//Function Number: 10 +initmissiondata() +{ + var_00 = getarraykeys(level.killstreakfuncs); + foreach(var_02 in var_00) + { + self.pers[var_02] = 0; + } + + self.pers["lastBulletKillTime"] = 0; + self.pers["bulletStreak"] = 0; + self.explosiveinfo = []; +} + +//Function Number: 11 +registermissioncallback(param_00,param_01) +{ + if(!isdefined(level.missioncallbacks[param_00])) + { + level.missioncallbacks[param_00] = []; + } + + level.missioncallbacks[param_00][level.missioncallbacks[param_00].size] = param_01; +} + +//Function Number: 12 +getchallengestatus(param_00) +{ + if(isdefined(self.challengedata[param_00])) + { + return self.challengedata[param_00]; + } + + return 0; +} + +//Function Number: 13 +ch_assists(param_00) +{ + var_01 = param_00.player; + var_01 processchallenge("ch_assists"); +} + +//Function Number: 14 +ch_streak_kill(param_00) +{ + switch(param_00) + { + case "vulcan_kill": + processchallenge("ch_streak_orbitallaser"); + break; + + case "warbird_kill": + processchallenge("ch_streak_warbird"); + break; + + case "paladin_kill": + processchallenge("ch_streak_paladin"); + break; + + case "missile_strike_kill": + processchallenge("ch_streak_missle"); + break; + + case "sentry_gun_kill": + processchallenge("ch_streak_sentry"); + break; + + case "strafing_run_kill": + processchallenge("ch_streak_strafing"); + break; + + case "assault_drone_kill": + processchallenge("ch_streak_assault"); + break; + + case "goliath_kill": + processchallenge("ch_streak_goliath"); + break; + + default: + break; + } +} + +//Function Number: 15 +ch_hardpoints(param_00) +{ + if(isbot(param_00.player)) + { + return; + } + + var_01 = param_00.player; + var_01.pers[param_00.hardpointtype]++; + switch(param_00.hardpointtype) + { + case "uav": + var_01 processchallenge("ch_uav"); + var_01 processchallenge("ch_assault_streaks"); + if(var_01.pers["uav"] >= 3) + { + var_01 processchallenge("ch_nosecrets"); + } + break; + + case "airdrop_assault": + var_01 processchallenge("ch_airdrop_assault"); + var_01 processchallenge("ch_assault_streaks"); + break; + + case "airdrop_sentry_minigun": + var_01 processchallenge("ch_airdrop_sentry_minigun"); + var_01 processchallenge("ch_assault_streaks"); + break; + + case "nuke": + var_01 processchallenge("ch_nuke"); + break; + } +} + +//Function Number: 16 +ch_vehicle_kills(param_00) +{ + if(!isdefined(param_00.attacker) || !isplayer(param_00.attacker)) + { + return; + } + + if(!maps\mp\_utility::iskillstreakweapon(param_00.sweapon)) + { + return; + } + + var_01 = param_00.attacker; + if(!isdefined(var_01.pers[param_00.sweapon + "_streak"]) || isdefined(var_01.pers[param_00.sweapon + "_streakTime"]) && gettime() - var_01.pers[param_00.sweapon + "_streakTime"] > 7000) + { + var_01.pers[param_00.sweapon + "_streak"] = 0; + var_01.pers[param_00.sweapon + "_streakTime"] = gettime(); + } + + var_01.pers[param_00.sweapon + "_streak"]++; + switch(param_00.sweapon) + { + case "artillery_mp": + var_01 processchallenge("ch_carpetbomber"); + if(var_01.pers[param_00.sweapon + "_streak"] >= 5) + { + var_01 processchallenge("ch_carpetbomb"); + } + + if(isdefined(var_01.finalkill)) + { + var_01 processchallenge("ch_finishingtouch"); + } + break; + + case "stealth_bomb_mp": + var_01 processchallenge("ch_thespirit"); + if(var_01.pers[param_00.sweapon + "_streak"] >= 6) + { + var_01 processchallenge("ch_redcarpet"); + } + + if(isdefined(var_01.finalkill)) + { + var_01 processchallenge("ch_technokiller"); + } + break; + + case "sentry_minigun_mp": + var_01 processchallenge("ch_looknohands"); + if(isdefined(var_01.finalkill)) + { + var_01 processchallenge("ch_absentee"); + } + break; + + case "ac130_40mm_mp": + case "ac130_105mm_mp": + case "ac130_25mm_mp": + var_01 processchallenge("ch_spectre"); + if(isdefined(var_01.finalkill)) + { + var_01 processchallenge("ch_deathfromabove"); + } + break; + + case "remotemissile_projectile_mp": + var_01 processchallenge("ch_predator"); + if(var_01.pers[param_00.sweapon + "_streak"] >= 4) + { + var_01 processchallenge("ch_reaper"); + } + + if(isdefined(var_01.finalkill)) + { + var_01 processchallenge("ch_dronekiller"); + } + break; + + case "nuke_mp": + param_00.victim processchallenge("ch_radiationsickness"); + break; + + default: + break; + } +} + +//Function Number: 17 +ch_vehicle_killed(param_00) +{ + if(!isdefined(param_00.attacker) || !isplayer(param_00.attacker)) + { + return; + } + + var_01 = param_00.attacker; + var_02 = maps\mp\_utility::getbaseweaponname(param_00.sweapon,1); + if(maps\mp\_utility::islootweapon(var_02)) + { + var_02 = maps\mp\gametypes\_class::getbasefromlootversion(var_02); + } + + var_03 = get_challenge_weapon_class(param_00.sweapon,var_02); + if(var_03 == "weapon_launcher") + { + var_01 processchallenge("ch_launcher_kill"); + if(isdefined(level.challengeinfo["ch_vehicle_" + var_02])) + { + var_01 processchallenge("ch_vehicle_" + var_02); + } + + if(isdefined(level.challengeinfo["ch_marksman_" + var_02])) + { + var_01 processchallenge("ch_marksman_" + var_02); + } + } + + if(var_01 maps\mp\_utility::_hasperk("specialty_coldblooded") && var_01 maps\mp\_utility::_hasperk("specialty_spygame") && var_01 maps\mp\_utility::_hasperk("specialty_heartbreaker")) + { + if(!isdefined(param_00.vehicle) || !isdefined(param_00.vehicle.sentrytype) || param_00.vehicle.sentrytype != "prison_turret") + { + var_01 processchallenge("ch_precision_airhunt"); + } + } + + if(isdefined(param_00.vehicle) && isdefined(param_00.vehicle.vehicletype) && param_00.vehicle.vehicletype == "drone_recon" && issubstr(var_02,"exoknife")) + { + var_01 processchallenge("ch_precision_knife"); + } + + if(var_01 maps\mp\_utility::_hasperk("specialty_class_blindeye") && !isdefined(param_00.vehicle.vehicleinfo) || param_00.vehicle.vehicleinfo != "vehicle_tracking_drone_mp") + { + var_01 processchallenge("ch_perk_blindeye"); + } +} + +//Function Number: 18 +clearidshortly(param_00) +{ + self endon("disconnect"); + self notify("clearing_expID_" + param_00); + self endon("clearing_expID_" + param_00); + wait(3); + self.explosivekills[param_00] = undefined; +} + +//Function Number: 19 +mgkill() +{ + var_00 = self; + if(!isdefined(var_00.pers["MGStreak"])) + { + var_00.pers["MGStreak"] = 0; + var_00 thread endmgstreakwhenleavemg(); + if(!isdefined(var_00.pers["MGStreak"])) + { + return; + } + } + + var_00.pers["MGStreak"]++; + if(var_00.pers["MGStreak"] >= 5) + { + var_00 processchallenge("ch_mgmaster"); + } +} + +//Function Number: 20 +endmgstreakwhenleavemg() +{ + self endon("disconnect"); + for(;;) + { + if(!isalive(self) || self usebuttonpressed()) + { + self.pers["MGStreak"] = undefined; + break; + } + + wait(0.05); + } +} + +//Function Number: 21 +endmgstreak() +{ + self.pers["MGStreak"] = undefined; +} + +//Function Number: 22 +killedbestenemyplayer(param_00) +{ + if(!isdefined(self.pers["countermvp_streak"]) || !param_00) + { + self.pers["countermvp_streak"] = 0; + } + + self.pers["countermvp_streak"]++; + if(self.pers["countermvp_streak"] == 3) + { + processchallenge("ch_thebiggertheyare"); + } + else if(self.pers["countermvp_streak"] == 5) + { + processchallenge("ch_thehardertheyfall"); + } + + if(self.pers["countermvp_streak"] >= 10) + { + processchallenge("ch_countermvp"); + } +} + +//Function Number: 23 +ishighestscoringplayer(param_00) +{ + if(!isdefined(param_00.score) || param_00.score < 1) + { + return 0; + } + + var_01 = level.players; + if(level.teambased) + { + var_02 = param_00.pers["team"]; + } + else + { + var_02 = "all"; + } + + var_03 = param_00.score; + for(var_04 = 0;var_04 < var_01.size;var_04++) + { + if(!isdefined(var_01[var_04].score)) + { + continue; + } + + if(var_01[var_04].score < 1) + { + continue; + } + + if(var_02 != "all" && var_01[var_04].pers["team"] != var_02) + { + continue; + } + + if(var_01[var_04].score > var_03) + { + return 0; + } + } + + return 1; +} + +//Function Number: 24 +processchallengedaily(param_00,param_01,param_02) +{ + if(!maps\mp\_utility::rankingenabled() || maps\mp\_utility::privatematch()) + { + return; + } + + if(getdvarint("dailychallenge_killswitch",0) == 0 && getdvarint("dailychallenge_killswitch2",0) == 0) + { + return; + } + + var_03 = self getplayerdata("dailyChallengeId",0); + var_04 = getdvarint("scr_current_playlist",0); + var_05 = getdvarint("scr_game_division",0); + var_06 = 0; + var_06 = var_04 == 1 || var_04 == 2 || var_04 == 3 || var_04 == 4; + var_07 = 0; + var_07 = var_04 == 3; + if(!isdefined(var_03) || !isdefined(param_00) || var_03 != param_00) + { + return; + } + + switch(var_03) + { + case 1: + var_08 = param_01; + if(isdefined(var_08) && level.gametype == "war" && var_08 == "weapon_shotgun") + { + processchallenge("ch_daily_01"); + } + break; + + case 2: + if(level.gametype == "war") + { + processchallenge("ch_daily_02"); + } + break; + + case 3: + var_08 = param_01; + if(isdefined(var_08) && level.gametype == "conf" && var_08 == "weapon_sniper") + { + processchallenge("ch_daily_03"); + } + break; + + case 4: + if(level.gametype == "conf") + { + processchallenge("ch_daily_04"); + } + break; + + case 5: + var_08 = param_01; + if(isdefined(var_08) && level.gametype == "dom" && var_08 == "weapon_heavy") + { + processchallenge("ch_daily_05"); + } + break; + + case 6: + if(level.gametype == "dom") + { + processchallenge("ch_daily_06"); + } + break; + + case 7: + var_08 = param_01; + if(isdefined(var_08) && level.gametype == "dom" && var_08 == "weapon_smg") + { + processchallenge("ch_daily_07"); + } + break; + + case 8: + var_08 = param_01; + if(isdefined(var_08) && var_06 == 1 && var_08 == "weapon_smg") + { + processchallenge("ch_daily_08"); + } + break; + + case 9: + var_08 = param_01; + if(isdefined(var_08) && var_06 == 1 && var_08 == "weapon_heavy") + { + processchallenge("ch_daily_09"); + } + break; + + case 10: + var_08 = param_01; + if(isdefined(var_08) && var_06 == 1 && var_08 == "weapon_launcher") + { + processchallenge("ch_daily_10"); + } + break; + + case 11: + var_09 = param_01; + if(isdefined(var_09) && var_06 == 1 && maps\mp\_utility::iskillstreakweapon(var_09)) + { + processchallenge("ch_daily_11"); + } + break; + + case 12: + var_08 = param_01; + if(isdefined(var_08) && level.gametype == "ball" && var_08 == "weapon_shotgun") + { + processchallenge("ch_daily_12"); + } + break; + + case 13: + var_0A = param_01; + if(isdefined(var_0A) && level.gametype == "ball") + { + processchallenge("ch_daily_13",var_0A); + } + break; + + case 14: + var_08 = param_01; + if(isdefined(var_08) && level.gametype == "hp" && var_08 == "weapon_smg") + { + processchallenge("ch_daily_14"); + } + break; + + case 15: + var_08 = param_01; + if(isdefined(var_08) && level.gametype == "hp" && var_08 == "weapon_heavy") + { + processchallenge("ch_daily_15"); + } + break; + + case 16: + if(level.gametype == "ctf") + { + processchallenge("ch_daily_16"); + } + break; + + case 17: + if(level.gametype == "ctf") + { + processchallenge("ch_daily_17"); + } + break; + + case 18: + var_08 = param_01; + if(isdefined(var_08) && level.gametype == "ctf" && var_08 == "weapon_smg") + { + processchallenge("ch_daily_18"); + } + break; + + case 19: + var_08 = param_01; + if(isdefined(var_08) && level.gametype == "ctf" && var_08 == "weapon_heavy") + { + processchallenge("ch_daily_19"); + } + break; + + case 20: + var_09 = param_01; + if(isdefined(var_09) && issubstr(var_09,"_lefthand")) + { + var_09 = maps\mp\_utility::strip_suffix(var_09,"_lefthand"); + } + + if(isdefined(var_09) && level.gametype == "hp" && is_lethal_equipment(var_09)) + { + processchallenge("ch_daily_20"); + } + break; + + case 21: + if(level.gametype == "conf") + { + processchallenge("ch_daily_21"); + } + break; + + case 22: + var_0B = param_01; + var_0C = 0; + foreach(var_0E in self.ch_unique_earned_streaks) + { + if(var_0E == var_0B) + { + var_0C = 1; + break; + } + } + + if(var_0C == 0) + { + self.ch_unique_earned_streaks[self.ch_unique_earned_streaks.size] = var_0B; + } + + if(self.ch_unique_earned_streaks.size == 4) + { + processchallenge("ch_daily_22"); + } + break; + + case 23: + var_0B = param_01; + if(isdefined(var_0B) && var_0B == "orbital_carepackage") + { + processchallenge("ch_daily_23"); + } + break; + + case 24: + var_09 = param_01; + if(isdefined(var_09)) + { + var_10 = getweaponattachments(var_09); + if(level.gametype == "war" && maps\mp\_utility::iscacprimaryweapon(var_09) && var_10.size == 3) + { + processchallenge("ch_daily_24"); + } + } + break; + + case 25: + if(level.gametype == "ctf") + { + processchallenge("ch_daily_25"); + } + break; + + case 26: + if(level.gametype == "dom") + { + processchallenge("ch_daily_26"); + } + break; + + case 27: + if(level.gametype == "conf") + { + processchallenge("ch_daily_27"); + } + break; + + case 28: + if(level.gametype == "ball") + { + processchallenge("ch_daily_28"); + } + break; + + case 29: + if(level.gametype == "twar") + { + processchallenge("ch_daily_29"); + } + break; + + case 30: + if(level.gametype == "hp") + { + processchallenge("ch_daily_30"); + } + break; + + case 31: + var_08 = param_01; + if(isdefined(var_08) && level.gametype == "sd" && var_08 == "weapon_assault") + { + processchallenge("ch_daily_31"); + } + break; + + case 32: + var_0B = param_01; + if(isdefined(var_0B) && var_0B == "orbital_strike_laser") + { + processchallenge("ch_daily_32"); + } + break; + + case 33: + if(var_07 == 1) + { + processchallenge("ch_daily_33"); + } + break; + + case 34: + processchallenge("ch_daily_34"); + break; + + case 35: + var_0B = param_01; + if(isdefined(var_0B) && var_0B == "missile_strike") + { + processchallenge("ch_daily_35"); + } + break; + + case 36: + if(var_06 == 1) + { + processchallenge("ch_daily_36"); + } + break; + + case 37: + if(var_05 == 1) + { + processchallenge("ch_daily_37"); + } + break; + + case 38: + processchallenge("ch_daily_38"); + break; + + case 39: + var_08 = param_01; + if(isdefined(var_08) && var_05 == 1 && var_08 == "weapon_smg") + { + processchallenge("ch_daily_39"); + } + break; + + case 40: + var_08 = param_01; + if(isdefined(var_08) && var_05 == 1 && var_08 == "weapon_assault") + { + processchallenge("ch_daily_40"); + } + break; + + case 41: + var_11 = param_01; + if(isdefined(var_11) && isdefined(self.lastslidetime) && var_11 - self.lastslidetime < 2000) + { + processchallenge("ch_daily_41"); + } + break; + + case 42: + if(level.gametype == "hp") + { + processchallenge("ch_daily_42"); + } + break; + + case 43: + var_09 = param_01; + if(isdefined(var_09)) + { + if(issubstr(var_09,"_lefthand")) + { + var_09 = maps\mp\_utility::strip_suffix(var_09,"_lefthand"); + } + + if(level.gametype == "twar" && is_lethal_equipment(var_09)) + { + processchallenge("ch_daily_43"); + } + } + break; + + case 44: + var_08 = param_01; + if(isdefined(var_08) && level.gametype == "twar" && var_08 == "weapon_shotgun") + { + processchallenge("ch_daily_44"); + } + break; + + case 45: + var_09 = param_01; + if(isdefined(var_09)) + { + var_10 = getweaponattachments(var_09); + if(level.gametype == "ball" && maps\mp\_utility::iscacprimaryweapon(var_09) && var_10.size == 3) + { + processchallenge("ch_daily_45"); + } + } + break; + + default: + break; + } +} + +//Function Number: 25 +ch_kills(param_00) +{ + param_00.victim playerdied(); + if(!isdefined(param_00.attacker) || !isplayer(param_00.attacker)) + { + return; + } + else + { + var_01 = param_00.attacker; + } + + if(isbot(var_01)) + { + return; + } + + var_02 = 0; + var_03 = 0; + var_04 = 1; + var_05[param_00.victim.name] = param_00.victim.name; + var_06[param_00.sweapon] = param_00.sweapon; + var_07 = 1; + var_08 = []; + var_09 = param_00.smeansofdeath; + var_0A = param_00.time; + var_0B = getweaponattachments(param_00.sweapon); + var_0C = 0; + if(isdefined(var_01.pickedupweaponfrom[param_00.sweapon]) && !maps\mp\_utility::ismeleemod(var_09)) + { + var_0C++; + } + + var_0D = maps\mp\_utility::iskillstreakweapon(param_00.sweapon); + var_0E = maps\mp\_utility::isenvironmentweapon(param_00.sweapon); + var_0F = 0; + if(var_09 == "MOD_HEAD_SHOT") + { + var_0F = 1; + } + + var_10 = 0; + var_11 = 0; + if(isdefined(param_00.modifiers["longshot"])) + { + var_10 = 1; + var_11++; + } + + var_12 = param_00.was_ads; + var_13 = 0; + if(var_01.recentkillcount == 2) + { + var_13 = 1; + } + + var_14 = 0; + if(var_01.recentkillcount == 3) + { + var_14 = 1; + } + + var_15 = ""; + if(isdefined(param_00.attackerstance)) + { + var_15 = param_00.attackerstance; + } + + var_16 = 0; + var_17 = 0; + var_18 = 0; + var_19 = 0; + var_1A = 0; + var_1B = 0; + switch(var_01.killsthislife.size + 1) + { + case 5: + var_16 = 1; + break; + + case 10: + var_17 = 1; + break; + + case 15: + var_18 = 1; + break; + + case 20: + var_19 = 1; + break; + + case 25: + var_1A = 1; + break; + + case 30: + var_1B = 1; + break; + + default: + break; + } + + foreach(var_1D in var_01.killsthislife) + { + if(maps\mp\_utility::iscacsecondaryweapon(var_1D.sweapon) && !maps\mp\_utility::ismeleemod(var_1D.smeansofdeath)) + { + var_03++; + } + + if(isdefined(var_1D.modifiers["longshot"])) + { + var_11++; + } + + if(var_11 == 3) + { + var_01 processchallenge("ch_precision_farsight"); + } + + if(var_0A - var_1D.time < 10000) + { + var_04++; + } + + if(isdefined(var_01.pickedupweaponfrom[var_1D.sweapon]) && !maps\mp\_utility::ismeleemod(var_1D.smeansofdeath)) + { + var_0C++; + if(var_0C == 5) + { + var_01 processchallenge("ch_humiliation_finders"); + } + } + + if(maps\mp\_utility::iskillstreakweapon(var_1D.sweapon)) + { + if(!isdefined(var_08[var_1D.sweapon])) + { + var_08[var_1D.sweapon] = 0; + } + + var_08[var_1D.sweapon]++; + continue; + } + + if(isdefined(level.onelefttime[var_01.team]) && var_1D.time > level.onelefttime[var_01.team]) + { + var_02++; + } + + if(isdefined(var_1D.victim)) + { + if(!isdefined(var_05[var_1D.victim.name]) && !isdefined(var_06[var_1D.sweapon]) && !maps\mp\_utility::iskillstreakweapon(var_1D.sweapon)) + { + var_07++; + } + + var_05[var_1D.victim.name] = var_1D.victim.name; + } + + var_06[var_1D.sweapon] = var_1D.sweapon; + } + + var_1F = maps\mp\_utility::getbaseweaponname(param_00.sweapon,1); + if(maps\mp\_utility::islootweapon(var_1F)) + { + var_1F = maps\mp\gametypes\_class::getbasefromlootversion(var_1F); + } + + var_20 = var_1F; + if(common_scripts\utility::string_starts_with(var_1F,"iw5_")) + { + var_20 = getsubstr(var_1F,4); + } + + var_21 = get_challenge_weapon_class(param_00.sweapon,var_1F); + if(level.teambased) + { + if(level.teamcount[param_00.victim.pers["team"]] > 3 && var_01.killedplayers.size >= level.teamcount[param_00.victim.pers["team"]]) + { + var_01 processchallenge("ch_precision_cleanhouse"); + } + } + + if(isdefined(var_01.explosive_drone_owner) && param_00.victim == var_01.explosive_drone_owner) + { + var_01 processchallenge("ch_precision_protected"); + } + + if(isdefined(var_01.powerslidetime) && var_0A - var_01.powerslidetime < 3000) + { + var_01 processchallenge("ch_boot_hero"); + } + + var_22 = undefined; + if(maps\mp\_utility::isstrstart(param_00.sweapon,"alt_")) + { + var_22 = getsubstr(param_00.sweapon,4); + } + + if(isdefined(var_01.pickedupweaponfrom[param_00.sweapon]) || isdefined(var_22) && isdefined(var_01.pickedupweaponfrom[var_22])) + { + if(!maps\mp\_utility::ismeleemod(var_09)) + { + var_01 processchallenge("ch_boot_stolen"); + } + } + + if(var_15 == "crouch") + { + var_01 processchallenge("ch_boot_crouch"); + } + + if(var_15 == "prone") + { + var_01 processchallenge("ch_boot_prone"); + } + + if(param_00.victim != param_00.attacker) + { + foreach(var_24 in var_01.loadoutwildcards) + { + var_25 = undefined; + var_26 = 0; + if(var_24 == "specialty_wildcard_perkslot1") + { + var_26 = 1; + var_25 = ["specialty_extended_battery","specialty_class_lowprofile","specialty_class_flakjacket","specialty_class_lightweight","specialty_class_dangerclose"]; + } + + if(var_24 == "specialty_wildcard_perkslot2") + { + var_26 = 2; + var_25 = ["specialty_class_blindeye","specialty_class_coldblooded","specialty_class_peripherals","specialty_class_fasthands","specialty_class_dexterity"]; + } + + if(var_24 == "specialty_wildcard_perkslot3") + { + var_26 = 3; + var_25 = ["specialty_class_hardwired","specialty_class_toughness","specialty_class_scavenger","specialty_class_hardline","specialty_exo_blastsuppressor"]; + } + + if(isdefined(var_25) && var_26 > 0) + { + var_27 = 0; + foreach(var_29 in var_01.loadoutperks) + { + if(common_scripts\utility::array_contains(var_25,var_29)) + { + var_27++; + } + } + + if(var_27 >= 2 && var_26 == 1 && var_24 == "specialty_wildcard_perkslot1") + { + var_01 processchallenge("ch_wild_perk1"); + } + + if(var_27 >= 2 && var_26 == 2 && var_24 == "specialty_wildcard_perkslot2") + { + var_01 processchallenge("ch_wild_perk2"); + } + + if(var_27 >= 2 && var_26 == 3 && var_24 == "specialty_wildcard_perkslot3") + { + var_01 processchallenge("ch_wild_perk3"); + } + } + + if(var_24 == "specialty_wildcard_primaryattachment" || var_24 == "specialty_wildcard_secondaryattachment") + { + if(var_24 == "specialty_wildcard_primaryattachment" && maps\mp\_utility::iscacprimaryweapon(param_00.sweapon) && var_0B.size >= 3) + { + var_01 processchallenge("ch_wild_primary"); + } + + if(var_24 == "specialty_wildcard_secondaryattachment" && maps\mp\_utility::iscacsecondaryweapon(param_00.sweapon) && var_0B.size >= 2) + { + var_01 processchallenge("ch_wild_secondary"); + } + } + + if(var_24 == "specialty_wildcard_dualprimaries") + { + var_2B = var_01.loadoutprimary; + var_2C = var_01.loadoutsecondary; + if(!maps\mp\_utility::iscacprimaryweapon(var_2B) || !maps\mp\_utility::iscacprimaryweapon(var_2C)) + { + continue; + } + + var_2D = maps\mp\_utility::getbaseweaponname(param_00.sweapon); + var_2E = undefined; + if(var_2D == var_2B) + { + var_2E = var_2C; + } + else if(var_2D == var_2C) + { + var_2E = var_2B; + } + else + { + continue; + } + + var_2F = var_01.killsthislife; + var_30 = 0; + var_31 = 0; + foreach(var_33 in var_2F) + { + if(maps\mp\_utility::getbaseweaponname(var_33.sweapon) == var_2E) + { + var_30 = 1; + } + + if(maps\mp\_utility::getbaseweaponname(var_33.sweapon) == var_2D) + { + var_31 = 1; + } + } + + if(var_30 && !var_31) + { + var_01 processchallenge("ch_wild_overkill"); + var_01 processchallengedaily(2,var_1F,var_21); + var_01 processchallengedaily(42,var_1F,var_21); + } + } + + if(var_24 == "specialty_wildcard_dualtacticals") + { + if(maps\mp\_utility::is_exo_ability_weapon(var_01.loadoutequipment) && maps\mp\_utility::is_exo_ability_weapon(var_01.loadoutoffhand)) + { + var_01 processchallenge("ch_wild_exotac"); + } + } + + if(var_24 == "specialty_wildcard_duallethals" && !maps\mp\_utility::isgrapplinghookgamemode()) + { + if(maps\mp\gametypes\_weapons::isgrenade(param_00.sweapon) && !issubstr(param_00.sweapon,"exoknife_mp")) + { + if(var_01.loadoutequipment != "specialty_null" && maps\mp\gametypes\_class::isvalidequipment(var_01.loadoutequipment,0) && var_01.loadoutoffhand != "specialty_null" && maps\mp\gametypes\_class::isvalidequipment(var_01.loadoutoffhand,0)) + { + var_01 processchallenge("ch_wild_exobomb"); + } + } + } + + if(var_24 == "specialty_wildcard_extrastreak") + { + if(!var_0D) + { + continue; + } + + if(var_01.killstreaks.size < 4) + { + continue; + } + + var_01 processchallenge("ch_wild_fourthscore"); + } + } + } + + if(param_00.victim != param_00.attacker) + { + var_36 = !level.teambased || param_00.victim.team != param_00.attacker.team; + if(var_36 && var_01 maps\mp\_utility::_hasperk("specialty_class_lowprofile")) + { + var_37 = 0; + if(isdefined(level.uavmodels)) + { + if(level.teambased) + { + var_37 = level.uavmodels[maps\mp\_utility::getotherteam(param_00.attacker.team)].size; + } + else if(level.uavmodels.size > 0) + { + var_38 = 0; + foreach(var_3A in level.uavmodels) + { + if(var_3A.owner == var_01) + { + var_38++; + } + } + + if(var_38 > 0) + { + var_37 = level.uavmodels.size - var_38; + } + else + { + var_37 = level.uavmodels.size; + } + } + } + + if(var_37 > 0) + { + var_01 processchallenge("ch_perk_lowprofile"); + } + } + + if(var_36 && var_01 maps\mp\_utility::_hasperk("specialty_class_quickdraw") && var_01 adsbuttonpressed()) + { + var_01 processchallenge("ch_perk_quickdraw"); + } + + if(var_36 && var_01 maps\mp\_utility::_hasperk("specialty_class_lightweight")) + { + var_01 processchallenge("ch_perk_lightweight"); + } + + if(var_36 && var_01 maps\mp\_utility::_hasperk("specialty_class_coldblooded")) + { + var_01 processchallenge("ch_perk_coldblood"); + } + + if(var_36 && var_01 maps\mp\_utility::_hasperk("specialty_class_peripherals")) + { + var_01 processchallenge("ch_perk_peripheral"); + } + + if(var_36 && var_01 maps\mp\_utility::_hasperk("specialty_class_dexterity") && var_01 issprinting() || var_01 ispowersliding()) + { + var_01 processchallenge("ch_perk_gungho"); + } + + if(var_36 && var_01 maps\mp\_utility::_hasperk("specialty_exo_blastsuppressor")) + { + var_01 processchallenge("ch_perk_blast"); + } + + if(var_36 && var_01 maps\mp\_utility::_hasperk("specialty_class_hardwired")) + { + var_3C = 0; + if(isdefined(level.uavmodels)) + { + if(level.teambased) + { + foreach(var_3A in level.uavmodels[maps\mp\_utility::getotherteam(var_01.team)]) + { + if(var_3A.uavtype == "counter") + { + var_3C = 1; + break; + } + } + + if(isdefined(level.empowner) && level.empowner.team != var_01.team) + { + var_3C = 1; + } + } + else + { + foreach(var_3A in level.uavmodels) + { + if(var_3A.uavtype == "counter" && !var_3A.owner == var_01) + { + var_3C = 1; + break; + } + } + } + } + + if(var_3C) + { + var_01 processchallenge("ch_perk_hardwire"); + } + } + + if(var_36 && var_01 maps\mp\_utility::_hasperk("specialty_class_fasthands")) + { + if(isdefined(var_01.lastprimaryweaponswaptime) && gettime() - var_01.lastprimaryweaponswaptime < 5000) + { + var_01 processchallenge("ch_perk_fasthand"); + } + } + + if(var_36 && var_01 maps\mp\_utility::_hasperk("specialty_class_toughness")) + { + if(isdefined(var_01.lastdamagefromenemytargettime) && gettime() - var_01.lastdamagefromenemytargettime < 2000) + { + var_01 processchallenge("ch_perk_tough"); + } + } + + if(var_36 && var_01 maps\mp\_utility::_hasperk("specialty_class_scavenger") && isdefined(var_01.hasscavengedammothislife) && var_01.hasscavengedammothislife == 1) + { + var_01 processchallenge("ch_perk_scavenge"); + } + } + + if(var_0A < param_00.victim.concussionendtime) + { + var_01 processchallenge("ch_exolauncher_stun"); + } + + if(isdefined(param_00.victim.inplayersmokescreen)) + { + var_01 processchallenge("ch_exolauncher_smoke"); + } + + foreach(var_42 in param_00.victim._threatdetection.showlist) + { + if(var_42.eventtype == "PAINT_GRENADE" && var_0A < var_42.endtime) + { + var_01 processchallenge("ch_exolauncher_threat"); + break; + } + } + + if(isdefined(param_00.victim.empgrenaded) && param_00.victim.empgrenaded == 1 || var_0A < param_00.victim.empendtime) + { + var_01 processchallenge("ch_exolauncher_emp"); + } + + if(isdefined(param_00.victim.died_being_tracked) && param_00.victim.died_being_tracked == 1) + { + param_00.victim.died_being_tracked = undefined; + var_01 processchallenge("ch_exolauncher_tracking"); + } + + if((var_01.loadoutequipment == "adrenaline_mp" || var_01.loadoutoffhand == "adrenaline_mp") && var_01.overclock_on == 1) + { + var_01 processchallenge("ch_exoability_overclock"); + } + + if(var_01.loadoutequipment == "exocloak_equipment_mp" || var_01.loadoutoffhand == "exocloak_equipment_mp") + { + if(var_01.exo_cloak_on == 1 || isdefined(var_01.exo_cloak_off_time) && param_00.time < var_01.exo_cloak_off_time + 3000) + { + var_01 processchallenge("ch_exoability_cloak"); + } + } + + if((var_01.loadoutequipment == "exohover_equipment_mp" || var_01.loadoutoffhand == "exohover_equipment_mp") && var_01.exo_hover_on == 1) + { + var_01 processchallenge("ch_exoability_hover"); + } + + if((var_01.loadoutequipment == "exomute_equipment_mp" || var_01.loadoutoffhand == "exomute_equipment_mp") && var_01.mute_on == 1) + { + var_01 processchallenge("ch_exoability_mute"); + } + + if((var_01.loadoutequipment == "extra_health_mp" || var_01.loadoutoffhand == "extra_health_mp") && var_01.exo_health_on == 1) + { + if(isdefined(param_00.attacker.lastdamagedtime) && param_00.time < param_00.attacker.lastdamagedtime + 4000) + { + var_01 processchallenge("ch_exoability_health"); + } + } + + foreach(var_45 in var_0B) + { + switch(var_45) + { + case "opticsacog2ar": + case "opticsacog2": + if(var_12) + { + var_01 processchallenge("ch_attach_kill_opticsacog2"); + } + break; + + case "opticstargetenhancer": + case "variablereddot": + case "opticseotech": + case "opticsreddot": + case "ironsights": + if(var_12) + { + var_01 processchallenge("ch_attach_kill_" + var_45); + } + break; + + case "heatsink": + case "trackrounds": + case "lasersight": + case "stock": + case "quickdraw": + case "longrange": + case "firerate": + case "foregrip": + case "parabolicmicrophone": + case "dualmag": + case "xmags": + case "akimbo": + var_01 processchallenge("ch_attach_kill_" + var_45); + break; + + case "opticsthermalar": + case "opticsthermal": + var_01 processchallenge("ch_attach_kill_opticsthermal"); + break; + + case "silencersniper": + case "silencerpistol": + case "silencer01": + var_01 processchallenge("ch_attach_kill_silencer01"); + break; + + case "thorstabilizer": + case "m990stabilizer": + case "gm6stabilizer": + case "morsstabilizer": + case "stabilizer": + var_01 processchallenge("ch_attach_kill_stabilizer"); + break; + + case "m990scopevz": + case "thorscopevz": + case "gm6scopevz": + case "morsscopevz": + case "scopevz": + var_01 processchallenge("ch_attach_kill_scopevz"); + break; + } + } + + if((var_09 == "MOD_PISTOL_BULLET" || var_09 == "MOD_RIFLE_BULLET" || var_09 == "MOD_HEAD_SHOT" || var_1F == "iw5_m990") && !var_0E && !var_0D) + { + switch(var_21) + { + case "weapon_smg": + var_01 processchallenge("ch_smg_kill"); + if(var_0F) + { + var_01 processchallenge("ch_smg_headshot"); + } + break; + + case "weapon_assault": + var_01 processchallenge("ch_ar_kill"); + if(var_0F) + { + var_01 processchallenge("ch_ar_headshot"); + } + break; + + case "weapon_shotgun": + var_01 processchallenge("ch_shotgun_kill"); + if(var_0F) + { + var_01 processchallenge("ch_shotgun_headshot"); + } + break; + + case "weapon_sniper": + var_01 processchallenge("ch_sniper_kill"); + if(var_0F) + { + var_01 processchallenge("ch_sniper_headshot"); + } + break; + + case "weapon_pistol": + var_01 processchallenge("ch_pistol_kill"); + if(var_0F) + { + var_01 processchallenge("ch_pistol_headshot"); + } + break; + + case "weapon_heavy": + var_01 processchallenge("ch_heavy_kill"); + if(var_0F) + { + var_01 processchallenge("ch_heavy_headshot"); + } + break; + + case "weapon_special": + var_01 processchallenge("ch_special_kill"); + break; + + default: + break; + } + + if(var_09 == "MOD_HEAD_SHOT") + { + if(var_21 == "weapon_pistol") + { + var_01 notify("increment_pistol_headshots"); + } + else if(var_21 == "weapon_assault") + { + var_01 notify("increment_ar_headshots"); + } + } + + switch(var_1F) + { + case "iw5_dlcgun6": + var_01 processchallenge("ch_marksman_iw5_dlcgun5"); + break; + + case "iw5_dlcgun6loot5": + var_01 processchallenge("ch_marksman_iw5_dlcgun6"); + break; + + case "iw5_dlcgun7loot0": + var_01 processchallenge("ch_marksman_iw5_dlcgun7"); + break; + + case "iw5_dlcgun7loot6": + var_01 processchallenge("ch_marksman_iw5_dlcgun8"); + break; + + case "iw5_dlcgun8loot1": + var_01 processchallenge("ch_marksman_iw5_dlcgun9"); + break; + + case "iw5_dlcgun13": + var_01 processchallenge("ch_marksman_iw5_dlcgun10"); + break; + + case "iw5_dlcgun18": + var_01 processchallenge("ch_marksman_iw5_dlcgun11"); + break; + + case "iw5_dlcgun23": + var_01 processchallenge("ch_marksman_iw5_dlcguna"); + break; + + case "iw5_dlcgun28": + var_01 processchallenge("ch_marksman_iw5_dlcgunb"); + break; + + case "iw5_dlcgun33": + var_01 processchallenge("ch_marksman_iw5_dlcgunc"); + break; + + case "iw5_dlcgun38": + var_01 processchallenge("ch_marksman_iw5_dlcgund"); + break; + + default: + var_01 processchallenge("ch_marksman_" + var_1F); + break; + } + } + else if(issubstr(var_1F,"microdronelauncher") && !maps\mp\_utility::ismeleemod(var_09)) + { + var_01 processchallenge("ch_marksman_" + var_1F); + } + else if(issubstr(var_1F,"exocrossbow") && !maps\mp\_utility::ismeleemod(var_09)) + { + var_01 processchallenge("ch_marksman_" + var_1F); + } + + if(issubstr(param_00.sweapon,"iw5_dlcgun12loot7_mp")) + { + var_01 processchallenge("ch_tier2_1_iw5_dlcgun12"); + } + + if(isdefined(var_01.last_grapple_time)) + { + var_47 = var_0A - var_01.last_grapple_time; + var_48 = undefined; + if(isdefined(var_01.last_grapple_time_prev)) + { + var_48 = var_0A - var_01.last_grapple_time_prev; + } + + if(var_47 < 0 && isdefined(var_48)) + { + if(var_48 < 2000) + { + var_01 processchallenge("ch_tier2_3_iw5_dlcgun12"); + } + } + else if(var_47 < 2000 && var_47 > 0) + { + var_01 processchallenge("ch_tier2_3_iw5_dlcgun12"); + } + } + + var_01 processchallengedaily(1,var_21,undefined); + var_01 processchallengedaily(3,var_21,undefined); + var_01 processchallengedaily(5,var_21,undefined); + var_01 processchallengedaily(7,var_21,undefined); + var_01 processchallengedaily(8,var_21,undefined); + var_01 processchallengedaily(9,var_21,undefined); + var_01 processchallengedaily(12,var_21,undefined); + var_01 processchallengedaily(14,var_21,undefined); + var_01 processchallengedaily(15,var_21,undefined); + var_01 processchallengedaily(18,var_21,undefined); + var_01 processchallengedaily(19,var_21,undefined); + var_01 processchallengedaily(24,param_00.sweapon,undefined); + var_01 processchallengedaily(31,var_21,undefined); + var_01 processchallengedaily(33,undefined,undefined); + var_01 processchallengedaily(39,var_21,undefined); + var_01 processchallengedaily(40,var_21,undefined); + var_01 processchallengedaily(41,var_0A,undefined); + var_01 processchallengedaily(44,var_21,undefined); + var_01 processchallengedaily(45,param_00.sweapon,undefined); + var_01 processchallengedaily(20,param_00.sweapon,undefined); + var_01 processchallengedaily(43,param_00.sweapon,undefined); + var_01 processchallengedaily(11,param_00.sweapon,undefined); + if((var_09 == "MOD_PISTOL_BULLET" || var_09 == "MOD_RIFLE_BULLET" || var_09 == "MOD_HEAD_SHOT" || var_1F == "iw5_m990") && !var_0E && !var_0D) + { + switch(var_21) + { + case "weapon_pistol": + case "weapon_special": + case "weapon_heavy": + case "weapon_shotgun": + case "weapon_sniper": + case "weapon_assault": + case "weapon_smg": + switch(var_1F) + { + case "iw5_dlcgun4": + case "iw5_dlcgun3": + case "iw5_dlcgun1": + case "iw5_dlcgun2": + var_01 processchallenge("ch_attach_unlock_type1_" + var_20); + break; + + case "iw5_dlcgun6": + var_01 processchallenge("ch_attach_unlock_type1_dlcgun5"); + break; + + case "iw5_dlcgun6loot5": + var_01 processchallenge("ch_attach_unlock_type1_dlcgun6"); + break; + + case "iw5_dlcgun7loot0": + var_01 processchallenge("ch_attach_unlock_type1_dlcgun7"); + break; + + case "iw5_dlcgun7loot6": + var_01 processchallenge("ch_attach_unlock_type1_dlcgun8"); + break; + + case "iw5_dlcgun8loot1": + var_01 processchallenge("ch_attach_unlock_type1_dlcgun9"); + break; + + case "iw5_dlcgun13": + var_01 processchallenge("ch_attach_unlock_type1_dlcgun10"); + break; + + case "iw5_dlcgun18": + var_01 processchallenge("ch_attach_unlock_type1_dlcgun11"); + break; + + case "iw5_dlcgun23": + var_01 processchallenge("ch_attach_unlock_type1_dlcguna"); + break; + + case "iw5_dlcgun28": + var_01 processchallenge("ch_attach_unlock_type1_dlcgunb"); + break; + + case "iw5_dlcgun33": + var_01 processchallenge("ch_attach_unlock_type1_dlcgunc"); + break; + + case "iw5_dlcgun38": + var_01 processchallenge("ch_attach_unlock_type1_dlcgund"); + break; + + default: + var_01 processchallenge("ch_attach_unlock_kills_" + var_20); + break; + } + + if(var_12) + { + switch(var_1F) + { + case "iw5_dlcgun4": + case "iw5_dlcgun3": + case "iw5_dlcgun1": + case "iw5_dlcgun2": + var_01 processchallenge("ch_attach_unlock_type3_" + var_20); + break; + + case "iw5_dlcgun6": + var_01 processchallenge("ch_attach_unlock_type3_dlcgun5"); + break; + + case "iw5_dlcgun6loot5": + var_01 processchallenge("ch_attach_unlock_type3_dlcgun6"); + break; + + case "iw5_dlcgun7loot0": + var_01 processchallenge("ch_attach_unlock_type3_dlcgun7"); + break; + + case "iw5_dlcgun7loot6": + var_01 processchallenge("ch_attach_unlock_type3_dlcgun8"); + break; + + case "iw5_dlcgun8loot1": + var_01 processchallenge("ch_attach_unlock_type3_dlcgun9"); + break; + + case "iw5_dlcgun13": + var_01 processchallenge("ch_attach_unlock_type3_dlcgun10"); + break; + + case "iw5_dlcgun18": + var_01 processchallenge("ch_attach_unlock_type3_dlcgun11"); + break; + + case "iw5_dlcgun23": + var_01 processchallenge("ch_attach_unlock_type3_dlcguna"); + break; + + case "iw5_dlcgun28": + var_01 processchallenge("ch_attach_unlock_type3_dlcgunb"); + break; + + case "iw5_dlcgun33": + var_01 processchallenge("ch_attach_unlock_type3_dlcgunc"); + break; + + case "iw5_dlcgun38": + var_01 processchallenge("ch_attach_unlock_type3_dlcgund"); + break; + + default: + var_01 processchallenge("ch_attach_unlock_ads_" + var_20); + break; + } + } + else + { + switch(var_1F) + { + case "iw5_dlcgun4": + case "iw5_dlcgun3": + case "iw5_dlcgun1": + case "iw5_dlcgun2": + var_01 processchallenge("ch_attach_unlock_type2_" + var_20); + break; + + case "iw5_dlcgun6": + var_01 processchallenge("ch_attach_unlock_type2_dlcgun5"); + break; + + case "iw5_dlcgun7loot0": + var_01 processchallenge("ch_attach_unlock_type2_dlcgun7"); + break; + + case "iw5_dlcgun7loot6": + var_01 processchallenge("ch_attach_unlock_type2_dlcgun8"); + break; + + case "iw5_dlcgun13": + var_01 processchallenge("ch_attach_unlock_type2_dlcgun10"); + break; + + case "iw5_dlcgun18": + var_01 processchallenge("ch_attach_unlock_type2_dlcgun11"); + break; + + case "iw5_dlcgun23": + var_01 processchallenge("ch_attach_unlock_type2_dlcguna"); + break; + + case "iw5_dlcgun28": + var_01 processchallenge("ch_attach_unlock_type2_dlcgunb"); + break; + + case "iw5_dlcgun33": + var_01 processchallenge("ch_attach_unlock_type2_dlcgunc"); + break; + + case "iw5_dlcgun38": + var_01 processchallenge("ch_attach_unlock_type2_dlcgund"); + break; + + default: + var_01 processchallenge("ch_attach_unlock_hipfirekills_" + var_20); + break; + } + } + + break; + + default: + break; + } + + if(var_09 == "MOD_HEAD_SHOT") + { + switch(var_1F) + { + case "iw5_dlcgun6loot5": + var_01 processchallenge("ch_attach_unlock_type2_dlcgun6"); + break; + + default: + var_01 processchallenge("ch_attach_unlock_headShots_" + var_20); + break; + } + } + } + + if(isdefined(var_01.riotshieldentity)) + { + if(var_0A - var_01.riotshieldentity.birthtime < 3000) + { + var_01 processchallenge("ch_attach_unlock_postplant_riotshieldt6"); + } + } + + if(maps\mp\_utility::ismeleemod(var_09) && !var_0E && !var_0D) + { + if(!issubstr(var_1F,"riotshield")) + { + var_01.pers["meleeKillStreak"]++; + foreach(var_45 in var_0B) + { + if(var_45 == "tactical") + { + var_01 processchallenge("ch_attach_kill_tactical"); + } + } + } + else if(issubstr(var_1F,"riotshield")) + { + if(var_1F == "iw5_riotshieldt6") + { + var_01 processchallenge("ch_attach_unlock_meleekills_riotshieldt6"); + var_01 processchallenge("ch_marksman_iw5_riotshieldt6"); + var_01 processchallenge("ch_special_kill"); + var_01.pers["shieldKillStreak"]++; + } + } + + if(issubstr(var_1F,"exoshield")) + { + var_01 processchallenge("ch_exoability_shield"); + } + + if(issubstr(var_1F,"combatknife")) + { + var_01 notify("increment_knife_kill"); + } + } + + if(issubstr(var_09,"MOD_IMPACT") && !var_0E && !var_0D) + { + if(issubstr(param_00.sweapon,"exoknife_mp")) + { + var_01 notify("increment_knife_kill"); + var_01 processchallenge("ch_exolauncher_knife"); + if(var_10) + { + var_01 processchallenge("ch_humiliation_hailmary"); + } + + foreach(var_24 in var_01.loadoutwildcards) + { + if(var_24 == "specialty_wildcard_duallethals" && !maps\mp\_utility::isgrapplinghookgamemode()) + { + var_4C = maps\mp\_utility::strip_suffix(var_01.loadoutequipment,"_lefthand"); + var_4D = maps\mp\_utility::strip_suffix(var_01.loadoutoffhand,"_lefthand"); + if(is_lethal_equipment(var_4C) && is_lethal_equipment(var_4D)) + { + var_01 notify("increment_duallethal_kills"); + } + + break; + } + } + } + + if(var_1F == "iw5_microdronelauncher" && isdefined(level.challengeinfo["ch_impact_iw5_microdronelauncher"])) + { + var_01 processchallenge("ch_impact_iw5_microdronelauncher"); + } + + if(var_1F == "iw5_exocrossbow") + { + if(isdefined(level.challengeinfo["ch_attach_unlock_kills_" + var_20])) + { + var_01 processchallenge("ch_attach_unlock_kills_" + var_20); + } + + if(var_12) + { + if(isdefined(level.challengeinfo["ch_attach_unlock_ads_" + var_20])) + { + var_01 processchallenge("ch_attach_unlock_ads_" + var_20); + } + } + } + } + + if(issubstr(var_09,"MOD_GRENADE") || issubstr(var_09,"MOD_PROJECTILE") || issubstr(var_09,"MOD_EXPLOSIVE") && !var_0E && !var_0D) + { + switch(var_21) + { + case "weapon_special": + var_01 processchallenge("ch_special_kill"); + break; + + default: + break; + } + + if(var_1F == "iw5_exocrossbow") + { + if(isdefined(level.challengeinfo["ch_attach_unlock_kills_" + var_20])) + { + var_01 processchallenge("ch_attach_unlock_kills_" + var_20); + } + + if(var_12) + { + if(isdefined(level.challengeinfo["ch_attach_unlock_ads_" + var_20])) + { + var_01 processchallenge("ch_attach_unlock_ads_" + var_20); + } + } + } + + if(maps\mp\_utility::isstrstart(param_00.sweapon,"frag_")) + { + var_01 processchallenge("ch_exolauncher_frag"); + if(param_00.victim.explosiveinfo["cookedKill"]) + { + var_01 processchallenge("ch_precision_masterchef"); + } + + if(param_00.victim.explosiveinfo["throwbackKill"]) + { + var_01 processchallenge("ch_precision_return"); + } + } + + if(maps\mp\_utility::isstrstart(param_00.sweapon,"semtex_")) + { + var_01 processchallenge("ch_exolauncher_semtex"); + } + + if(maps\mp\_utility::isstrstart(param_00.sweapon,"explosive_drone")) + { + var_01 processchallenge("ch_exolauncher_explosive_drone"); + } + + if(isdefined(param_00.einflictor.classname) && param_00.einflictor.classname == "scriptable") + { + var_01 processchallenge("ch_boot_vandalism"); + var_01 processchallenge("ch_precision_sitaware"); + } + + if(isdefined(param_00.sweapon) && param_00.sweapon == "mp_lab_gas_explosion") + { + var_01 processchallenge("ch_precision_sitaware"); + } + + if(issubstr(param_00.sweapon,"frag") || issubstr(param_00.sweapon,"semtex") || issubstr(param_00.sweapon,"explosive_drone")) + { + foreach(var_24 in var_01.loadoutwildcards) + { + if(var_24 == "specialty_wildcard_duallethals" && !maps\mp\_utility::isgrapplinghookgamemode()) + { + var_4C = maps\mp\_utility::strip_suffix(var_01.loadoutequipment,"_lefthand"); + var_4D = maps\mp\_utility::strip_suffix(var_01.loadoutoffhand,"_lefthand"); + if(is_lethal_equipment(var_4C) && is_lethal_equipment(var_4D)) + { + var_01 notify("increment_duallethal_kills"); + } + + break; + } + } + } + + if(maps\mp\_utility::isplayeronenemyteam(var_01) && var_01 maps\mp\_utility::_hasperk("specialty_class_dangerclose")) + { + var_01 processchallenge("ch_perk_dangerclose"); + } + } + + foreach(var_45 in var_0B) + { + switch(var_45) + { + case "gl": + if(isdefined(level.challengeinfo["ch_attach_kill_" + var_45])) + { + var_01 processchallenge("ch_attach_kill_" + var_45); + } + break; + } + } + + if(issubstr(var_09,"MOD_EXPLOSIVE") && param_00.sweapon == "airdrop_trap_explosive_mp") + { + var_01 processchallenge("ch_precision_surprise"); + } + + if(!maps\mp\_utility::ismeleemod(var_09) && var_09 == "MOD_PISTOL_BULLET" || var_09 == "MOD_RIFLE_BULLET" || var_09 == "MOD_HEAD_SHOT" || var_1F == "iw5_microdronelauncher" || var_1F == "iw5_exocrossbow" || var_1F == "iw5_m990") + { + if(var_10) + { + if(var_21 == "weapon_assault" || var_21 == "weapon_sniper" || var_1F == "iw5_exocrossbow" || var_21 == "weapon_heavy") + { + switch(var_1F) + { + case "iw5_dlcgun1": + case "iw5_dlcgun2": + var_01 processchallenge("ch_tier1_1_" + var_1F); + break; + + case "iw5_dlcgun6": + var_01 processchallenge("ch_tier1_1_iw5_dlcgun5"); + break; + + case "iw5_dlcgun6loot5": + var_01 processchallenge("ch_tier1_1_iw5_dlcgun6"); + break; + + case "iw5_dlcgun7loot0": + var_01 processchallenge("ch_tier1_1_iw5_dlcgun7"); + break; + + case "iw5_dlcgun7loot6": + var_01 processchallenge("ch_tier1_1_iw5_dlcgun8"); + break; + + case "iw5_dlcgun23": + var_01 processchallenge("ch_tier1_1_iw5_dlcguna"); + break; + + case "iw5_dlcgun33": + var_01 processchallenge("ch_tier1_1_iw5_dlcgunc"); + break; + + default: + var_01 processchallenge("ch_longshot_" + var_1F); + break; + } + } + } + + if(!var_12) + { + if(var_21 == "weapon_shotgun" || var_21 == "weapon_smg" || var_21 == "weapon_heavy" || var_1F == "iw5_microdronelauncher") + { + switch(var_1F) + { + case "iw5_dlcgun4": + case "iw5_dlcgun2": + var_01 processchallenge("ch_tier1_2_" + var_1F); + break; + + case "iw5_dlcgun8loot1": + var_01 processchallenge("ch_tier1_2_iw5_dlcgun9"); + break; + + case "iw5_dlcgun18": + var_01 processchallenge("ch_tier1_1_iw5_dlcgun11"); + break; + + case "iw5_dlcgun28": + var_01 processchallenge("ch_tier1_1_iw5_dlcgunb"); + break; + + case "iw5_dlcgun38": + var_01 processchallenge("ch_tier1_1_iw5_dlcgund"); + break; + + default: + var_01 processchallenge("ch_hip_" + var_1F); + break; + } + } + } + + if(issubstr(var_1F,"iw5_exocrossbow")) + { + if(!var_12) + { + var_01 processchallenge("ch_hip_iw5_exocrossbow"); + } + } + + if(var_0F) + { + switch(var_21) + { + case "weapon_pistol": + case "weapon_special": + case "weapon_shotgun": + case "weapon_sniper": + case "weapon_assault": + case "weapon_smg": + switch(var_1F) + { + case "iw5_dlcgun3": + case "iw5_dlcgun1": + var_01 processchallenge("ch_tier1_2_" + var_1F); + break; + + case "iw5_dlcgun6": + var_01 processchallenge("ch_tier1_2_iw5_dlcgun5"); + break; + + case "iw5_dlcgun6loot5": + var_01 processchallenge("ch_tier1_2_iw5_dlcgun6"); + break; + + case "iw5_dlcgun7loot0": + var_01 processchallenge("ch_tier1_2_iw5_dlcgun7"); + break; + + case "iw5_dlcgun7loot6": + var_01 processchallenge("ch_tier1_2_iw5_dlcgun8"); + break; + + case "iw5_dlcgun13": + var_01 processchallenge("ch_tier1_2_iw5_dlcgun10"); + break; + + case "iw5_dlcgun18": + var_01 processchallenge("ch_tier1_2_iw5_dlcgun11"); + break; + + case "iw5_dlcgun23": + var_01 processchallenge("ch_tier1_2_iw5_dlcguna"); + break; + + case "iw5_dlcgun28": + var_01 processchallenge("ch_tier1_2_iw5_dlcgunb"); + break; + + case "iw5_dlcgun33": + var_01 processchallenge("ch_tier1_2_iw5_dlcgunc"); + break; + + case "iw5_dlcgun38": + var_01 processchallenge("ch_tier1_2_iw5_dlcgund"); + break; + + default: + var_01 processchallenge("ch_headshot_" + var_1F); + break; + } + break; + } + } + + if(var_1F == "iw5_microdronelauncher") + { + if(isdefined(level.challengeinfo["ch_kills_iw5_microdronelauncher"])) + { + var_01 processchallenge("ch_kills_iw5_microdronelauncher"); + } + } + } + + if(!maps\mp\_utility::ismeleemod(var_09) && var_21 == "weapon_launcher") + { + if(isdefined(level.challengeinfo["ch_kills_" + var_1F])) + { + var_01 processchallenge("ch_kills_" + var_1F); + } + + var_01 processchallengedaily(10,var_21,undefined); + if(issubstr(param_00.victim.model,"npc_exo_armor_mp_base")) + { + var_01 processchallenge("ch_launcher_kill"); + if(isdefined(level.challengeinfo["ch_vehicle_" + var_1F])) + { + var_01 processchallenge("ch_vehicle_" + var_1F); + } + + if(isdefined(level.challengeinfo["ch_goliath_" + var_1F])) + { + var_01 processchallenge("ch_goliath_" + var_1F); + } + } + } + + if(var_16 || var_17 || var_18 || var_19 || var_1A || var_1B) + { + if(var_21 == "weapon_sniper") + { + switch(var_1F) + { + case "iw5_dlcgun6loot5": + var_01 processchallenge("ch_tier2_2_iw5_dlcgun6"); + break; + + default: + var_01 processchallenge("ch_blood_" + var_1F); + break; + } + } + else if(var_21 == "weapon_assault" || var_21 == "weapon_heavy" || var_1F == "iw5_microdronelauncher") + { + switch(var_1F) + { + case "iw5_dlcgun1": + case "iw5_dlcgun2": + var_01 processchallenge("ch_tier2_2_" + var_1F); + break; + + case "iw5_dlcgun6": + var_01 processchallenge("ch_tier2_2_iw5_dlcgun5"); + break; + + case "iw5_dlcgun7loot0": + var_01 processchallenge("ch_tier2_2_iw5_dlcgun7"); + break; + + case "iw5_dlcgun7loot6": + var_01 processchallenge("ch_tier2_2_iw5_dlcgun8"); + break; + + case "iw5_dlcgun23": + var_01 processchallenge("ch_tier2_2_iw5_dlcguna"); + break; + + case "iw5_dlcgun33": + var_01 processchallenge("ch_tier2_2_iw5_dlcgunc"); + break; + + default: + var_01 processchallenge("ch_triple_" + var_1F); + break; + } + } + } + + if(var_0B.size == 0) + { + if(!issubstr(var_09,"MOD_MELEE")) + { + switch(var_21) + { + case "weapon_pistol": + case "weapon_special": + case "weapon_heavy": + case "weapon_shotgun": + case "weapon_sniper": + case "weapon_assault": + case "weapon_smg": + switch(var_1F) + { + case "iw5_dlcgun4": + case "iw5_dlcgun3": + case "iw5_dlcgun1": + case "iw5_dlcgun2": + var_01 processchallenge("ch_tier2_4_" + var_1F); + break; + + case "iw5_dlcgun6": + var_01 processchallenge("ch_tier2_4_iw5_dlcgun5"); + break; + + case "iw5_dlcgun6loot5": + var_01 processchallenge("ch_tier2_4_iw5_dlcgun6"); + break; + + case "iw5_dlcgun7loot0": + var_01 processchallenge("ch_tier2_4_iw5_dlcgun7"); + break; + + case "iw5_dlcgun7loot6": + var_01 processchallenge("ch_tier2_4_iw5_dlcgun8"); + break; + + case "iw5_dlcgun8loot1": + var_01 processchallenge("ch_tier2_4_iw5_dlcgun9"); + break; + + case "iw5_dlcgun13": + var_01 processchallenge("ch_tier2_3_iw5_dlcgun10"); + break; + + case "iw5_dlcgun18": + var_01 processchallenge("ch_tier2_4_iw5_dlcgun11"); + break; + + case "iw5_dlcgun23": + var_01 processchallenge("ch_tier2_4_iw5_dlcguna"); + break; + + case "iw5_dlcgun28": + var_01 processchallenge("ch_tier2_4_iw5_dlcgunb"); + break; + + case "iw5_dlcgun33": + var_01 processchallenge("ch_tier2_4_iw5_dlcgunc"); + break; + + case "iw5_dlcgun38": + var_01 processchallenge("ch_tier2_4_iw5_dlcgund"); + break; + + default: + var_01 processchallenge("ch_barebone_" + var_1F); + break; + } + break; + } + } + } + + var_53 = 0; + foreach(var_55 in var_01.loadoutperks) + { + if(var_55 == "specialty_null") + { + var_53++; + continue; + } + + break; + } + + if(var_53 == 6 && !maps\mp\_utility::ismeleemod(var_09)) + { + switch(var_21) + { + case "weapon_pistol": + case "weapon_special": + case "weapon_heavy": + case "weapon_shotgun": + case "weapon_sniper": + case "weapon_assault": + case "weapon_smg": + switch(var_1F) + { + case "iw5_dlcgun4": + case "iw5_dlcgun3": + case "iw5_dlcgun1": + case "iw5_dlcgun2": + var_01 processchallenge("ch_tier2_5_" + var_1F); + break; + + case "iw5_dlcgun6": + var_01 processchallenge("ch_tier2_5_iw5_dlcgun5"); + break; + + case "iw5_dlcgun6loot5": + var_01 processchallenge("ch_tier2_5_iw5_dlcgun6"); + break; + + case "iw5_dlcgun7loot0": + var_01 processchallenge("ch_tier2_5_iw5_dlcgun7"); + break; + + case "iw5_dlcgun7loot6": + var_01 processchallenge("ch_tier2_5_iw5_dlcgun8"); + break; + + case "iw5_dlcgun8loot1": + var_01 processchallenge("ch_tier2_5_iw5_dlcgun9"); + break; + + case "iw5_dlcgun13": + var_01 processchallenge("ch_tier2_4_iw5_dlcgun10"); + break; + + case "iw5_dlcgun18": + var_01 processchallenge("ch_tier2_5_iw5_dlcgun11"); + break; + + case "iw5_dlcgun23": + var_01 processchallenge("ch_tier2_5_iw5_dlcguna"); + break; + + case "iw5_dlcgun28": + var_01 processchallenge("ch_tier2_5_iw5_dlcgunb"); + break; + + case "iw5_dlcgun33": + var_01 processchallenge("ch_tier2_5_iw5_dlcgunc"); + break; + + case "iw5_dlcgun38": + var_01 processchallenge("ch_tier2_5_iw5_dlcgund"); + break; + + default: + var_01 processchallenge("ch_noperk_" + var_1F); + break; + } + break; + } + } + + if(isdefined(var_01.patient_zero)) + { + var_01.patient_zero++; + if(var_01.patient_zero == 3) + { + var_01 processchallenge("ch_infect_patientzero"); + } + } +} + +//Function Number: 26 +get_challenge_weapon_class(param_00,param_01) +{ + var_02 = maps\mp\_utility::getweaponclass(param_00); + if(!isdefined(param_01)) + { + param_01 = maps\mp\_utility::getbaseweaponname(param_00,1); + if(maps\mp\_utility::islootweapon(param_01)) + { + param_01 = maps\mp\gametypes\_class::getbasefromlootversion(param_01); + } + } + + if(param_01 == "iw5_exocrossbow" || param_01 == "iw5_exocrossbowblops2") + { + return "weapon_special"; + } + + if(param_01 == "iw5_maaws" || param_01 == "iw5_mahem" || param_01 == "iw5_stingerm7") + { + return "weapon_launcher"; + } + + return var_02; +} + +//Function Number: 27 +ch_bulletdamagecommon(param_00,param_01,param_02,param_03) +{ + if(!maps\mp\_utility::isenvironmentweapon(param_00.sweapon)) + { + param_01 endmgstreak(); + } + + if(maps\mp\_utility::iskillstreakweapon(param_00.sweapon)) + { + return; + } + + if(isbot(param_01)) + { + return; + } + + if(param_01.pers["lastBulletKillTime"] == param_02) + { + param_01.pers["bulletStreak"]++; + } + else + { + param_01.pers["bulletStreak"] = 1; + } + + param_01.pers["lastBulletKillTime"] = param_02; + if(!param_00.victimonground) + { + param_01 processchallenge("ch_hardlanding"); + } + + if(!param_00.attackeronground) + { + param_01.pers["midairStreak"]++; + } + + if(param_01.pers["midairStreak"] == 2) + { + param_01 processchallenge("ch_airborne"); + } + + if(param_02 < param_00.victim.flashendtime) + { + param_01 processchallenge("ch_flashbangvet"); + } + + if(param_02 < param_01.flashendtime) + { + param_01 processchallenge("ch_blindfire"); + } + + if(param_02 < param_00.victim.concussionendtime) + { + param_01 processchallenge("ch_concussionvet"); + } + + if(param_02 < param_01.concussionendtime) + { + param_01 processchallenge("ch_slowbutsure"); + } + + if(param_01.pers["bulletStreak"] == 2) + { + if(isdefined(param_00.modifiers["headshot"])) + { + foreach(var_05 in param_01.killsthislife) + { + if(var_05.time != param_02) + { + continue; + } + + if(!isdefined(param_00.modifiers["headshot"])) + { + continue; + } + + param_01 processchallenge("ch_allpro"); + } + } + + if(param_03 == "weapon_sniper") + { + param_01 processchallenge("ch_collateraldamage"); + } + } + + if(param_03 == "weapon_pistol") + { + if(isdefined(param_00.victim.attackerdata) && isdefined(param_00.victim.attackerdata[param_01.guid])) + { + if(isdefined(param_00.victim.attackerdata[param_01.guid].isprimary)) + { + param_01 processchallenge("ch_fastswap"); + } + } + } + + if(!isdefined(param_01.infinalstand) || !param_01.infinalstand) + { + if(param_00.attackerstance == "crouch") + { + param_01 processchallenge("ch_crouchshot"); + } + else if(param_00.attackerstance == "prone") + { + param_01 processchallenge("ch_proneshot"); + if(param_03 == "weapon_sniper") + { + param_01 processchallenge("ch_invisible"); + } + } + } + + if(param_03 == "weapon_sniper") + { + if(isdefined(param_00.modifiers["oneshotkill"])) + { + param_01 processchallenge("ch_ghillie"); + } + } + + if(issubstr(param_00.sweapon,"silencer")) + { + param_01 processchallenge("ch_stealthvet"); + } +} + +//Function Number: 28 +ch_roundplayed(param_00) +{ + var_01 = param_00.player; + if(var_01.wasaliveatmatchstart) + { + var_02 = var_01.pers["deaths"]; + var_03 = var_01.pers["kills"]; + var_04 = 1000000; + if(var_02 > 0) + { + var_04 = var_03 / var_02; + } + + if(var_04 >= 5 && var_03 >= 5) + { + var_01 processchallenge("ch_starplayer"); + } + + if(var_02 == 0 && maps\mp\_utility::gettimepassed() > 300000) + { + var_01 processchallenge("ch_flawless"); + } + + if(level.placement["all"].size < 3) + { + return; + } + + if(var_01.score > 0) + { + switch(level.gametype) + { + case "dm": + if(param_00.place < 3) + { + var_01 processchallenge("ch_victor_dm"); + var_01 processchallenge("ch_ffa_win"); + } + + var_01 processchallenge("ch_ffa_participate"); + break; + + case "war": + if(param_00.winner) + { + var_01 processchallenge("ch_war_win"); + } + + var_01 processchallenge("ch_war_participate"); + break; + + case "kc": + if(param_00.winner) + { + var_01 processchallenge("ch_kc_win"); + } + + var_01 processchallenge("ch_kc_participate"); + break; + + case "dd": + if(param_00.winner) + { + var_01 processchallenge("ch_dd_win"); + } + + var_01 processchallenge("ch_dd_participate"); + break; + + case "koth": + if(param_00.winner) + { + var_01 processchallenge("ch_koth_win"); + } + + var_01 processchallenge("ch_koth_participate"); + break; + + case "sab": + if(param_00.winner) + { + var_01 processchallenge("ch_sab_win"); + } + + var_01 processchallenge("ch_sab_participate"); + break; + + case "sd": + if(param_00.winner) + { + var_01 processchallenge("ch_sd_win"); + } + + var_01 processchallenge("ch_sd_participate"); + break; + + case "dom": + if(param_00.winner) + { + var_01 processchallenge("ch_dom_win"); + } + + var_01 processchallenge("ch_dom_participate"); + break; + + case "ctf": + if(param_00.winner) + { + var_01 processchallenge("ch_ctf_win"); + } + + var_01 processchallenge("ch_ctf_participate"); + break; + + case "tdef": + if(param_00.winner) + { + var_01 processchallenge("ch_tdef_win"); + } + + var_01 processchallenge("ch_tdef_participate"); + break; + + case "hp": + if(param_00.winner) + { + var_01 processchallenge("ch_hp_win"); + } + var_01 processchallenge("ch_hp_participate"); + break; + } + } + } +} + +//Function Number: 29 +ch_roundwin(param_00) +{ + if(!param_00.winner) + { + return; + } + + var_01 = param_00.player; + if(var_01.wasaliveatmatchstart) + { + switch(level.gametype) + { + case "war": + if(level.hardcoremode) + { + var_01 processchallenge("ch_teamplayer_hc"); + if(param_00.place == 0) + { + var_01 processchallenge("ch_mvp_thc"); + } + } + else + { + var_01 processchallenge("ch_teamplayer"); + if(param_00.place == 0) + { + var_01 processchallenge("ch_mvp_tdm"); + } + } + break; + + case "sab": + var_01 processchallenge("ch_victor_sab"); + break; + + case "sd": + var_01 processchallenge("ch_victor_sd"); + break; + + case "hc": + case "koth": + case "dom": + case "ctf": + case "dm": + case "hp": + break; + + default: + break; + } + } +} + +//Function Number: 30 +playerdamaged(param_00,param_01,param_02,param_03,param_04,param_05) +{ + if(!isplayer(self)) + { + return; + } + + self endon("disconnect"); + if(isdefined(param_01)) + { + param_01 endon("disconnect"); + } + + wait(0.05); + maps\mp\_utility::waittillslowprocessallowed(); + var_06 = spawnstruct(); + var_06.victim = self; + var_06.einflictor = param_00; + var_06.attacker = param_01; + var_06.idamage = param_02; + var_06.smeansofdeath = param_03; + var_06.sweapon = param_04; + var_06.shitloc = param_05; + var_06.victimonground = var_06.victim isonground(); + if(isplayer(param_01)) + { + var_06.attackerinlaststand = isdefined(var_06.attacker.laststand); + var_06.attackeronground = var_06.attacker isonground(); + var_06.attackerstance = var_06.attacker getstance(); + } + else + { + var_06.attackerinlaststand = 0; + var_06.attackeronground = 0; + var_06.attackerstance = "stand"; + } + + if(isdefined(self) && isdefined(param_01) && isdefined(self.team) && isdefined(param_01.team)) + { + if(self.team != param_01.team && maps\mp\_utility::_hasperk("specialty_class_flakjacket") && isexplosivedamagemod(var_06.smeansofdeath) && maps\mp\_utility::isreallyalive(self) && param_04 != "killstreak_solar_mp") + { + processchallenge("ch_perk_flakjack"); + } + + if(self.team != param_01.team && maps\mp\_utility::_hasperk("specialty_class_toughness")) + { + self.lastdamagefromenemytargettime = gettime(); + } + } + + domissioncallback("playerDamaged",var_06); +} + +//Function Number: 31 +playerkilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + self.anglesondeath = self getplayerangles(); + if(isdefined(param_01)) + { + param_01.anglesonkill = param_01 getplayerangles(); + } + + self endon("disconnect"); + var_08 = spawnstruct(); + var_08.victim = self; + var_08.einflictor = param_00; + var_08.attacker = param_01; + var_08.idamage = param_02; + var_08.smeansofdeath = param_03; + var_08.sweapon = param_04; + var_08.sprimaryweapon = param_05; + var_08.shitloc = param_06; + var_08.time = gettime(); + var_08.modifiers = param_07; + var_08.victimonground = var_08.victim isonground(); + if(isplayer(param_01)) + { + var_08.attackerinlaststand = isdefined(var_08.attacker.laststand); + var_08.attackeronground = var_08.attacker isonground(); + var_08.attackerstance = var_08.attacker getstance(); + } + else + { + var_08.attackerinlaststand = 0; + var_08.attackeronground = 0; + var_08.attackerstance = "stand"; + } + + var_09 = 0; + if(isdefined(var_08.einflictor) && isdefined(var_08.einflictor.firedads)) + { + var_09 = var_08.einflictor.firedads; + } + else if(isdefined(param_01) && isplayer(param_01)) + { + var_09 = param_01 playerads(); + } + + var_08.was_ads = 0; + if(var_09 >= 0.2) + { + var_08.was_ads = 1; + } + + waitandprocessplayerkilledcallback(var_08); + if(isdefined(param_01) && maps\mp\_utility::isreallyalive(param_01)) + { + param_01.killsthislife[param_01.killsthislife.size] = var_08; + } + + var_08.attacker notify("playerKilledChallengesProcessed"); +} + +//Function Number: 32 +vehiclekilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + var_07 = spawnstruct(); + var_07.vehicle = param_01; + var_07.victim = param_00; + var_07.einflictor = param_02; + var_07.attacker = param_03; + var_07.idamage = param_04; + var_07.smeansofdeath = param_05; + var_07.sweapon = param_06; + var_07.time = gettime(); + domissioncallback("vehicleKilled",var_07); +} + +//Function Number: 33 +waitandprocessplayerkilledcallback(param_00) +{ + if(isdefined(param_00.attacker)) + { + param_00.attacker endon("disconnect"); + } + + self.processingkilledchallenges = 1; + wait(0.05); + maps\mp\_utility::waittillslowprocessallowed(); + domissioncallback("playerKilled",param_00); + self.processingkilledchallenges = undefined; +} + +//Function Number: 34 +playerassist() +{ + var_00 = spawnstruct(); + var_00.player = self; + domissioncallback("playerAssist",var_00); +} + +//Function Number: 35 +usehardpoint(param_00) +{ + self endon("disconnect"); + wait(0.05); + maps\mp\_utility::waittillslowprocessallowed(); + var_01 = spawnstruct(); + var_01.player = self; + var_01.hardpointtype = param_00; + domissioncallback("playerHardpoint",var_01); +} + +//Function Number: 36 +roundbegin() +{ + domissioncallback("roundBegin"); +} + +//Function Number: 37 +roundend(param_00) +{ + var_01 = spawnstruct(); + if(level.teambased) + { + var_02 = "allies"; + for(var_03 = 0;var_03 < level.placement[var_02].size;var_03++) + { + var_01.player = level.placement[var_02][var_03]; + var_01.winner = var_02 == param_00; + var_01.place = var_03; + domissioncallback("roundEnd",var_01); + } + + var_02 = "axis"; + for(var_03 = 0;var_03 < level.placement[var_02].size;var_03++) + { + var_01.player = level.placement[var_02][var_03]; + var_01.winner = var_02 == param_00; + var_01.place = var_03; + domissioncallback("roundEnd",var_01); + } + + return; + } + + for(var_03 = 0;var_03 < level.placement["all"].size;var_03++) + { + var_01.player = level.placement["all"][var_03]; + var_01.winner = isdefined(param_00) && isplayer(param_00) && var_01.player == param_00; + var_01.place = var_03; + domissioncallback("roundEnd",var_01); + } +} + +//Function Number: 38 +domissioncallback(param_00,param_01) +{ + if(!mayprocesschallenges()) + { + return; + } + + if(getdvarint("disable_challenges") > 0) + { + return; + } + + if(!isdefined(level.missioncallbacks[param_00])) + { + return; + } + + if(isdefined(param_01)) + { + for(var_02 = 0;var_02 < level.missioncallbacks[param_00].size;var_02++) + { + thread [[ level.missioncallbacks[param_00][var_02] ]](param_01); + } + + return; + } + + for(var_02 = 0;var_02 < level.missioncallbacks[param_00].size;var_02++) + { + thread [[ level.missioncallbacks[param_00][var_02] ]](); + } +} + +//Function Number: 39 +monitorsprintdistance() +{ + level endon("game_ended"); + self endon("spawned_player"); + self endon("death"); + self endon("disconnect"); + for(;;) + { + self waittill("sprint_begin"); + self.sprintdistthissprint = 0; + thread monitorsprinttime(); + monitorsinglesprintdistance(); + if(self isitemunlocked("specialty_longersprint") && maps\mp\_utility::_hasperk("specialty_longersprint")) + { + processchallenge("ch_longersprint_pro",int(self.sprintdistthissprint / 12)); + } + } +} + +//Function Number: 40 +monitorsinglesprintdistance() +{ + level endon("game_ended"); + self endon("spawned_player"); + self endon("death"); + self endon("disconnect"); + self endon("sprint_end"); + var_00 = self.origin; + for(;;) + { + wait(0.1); + self.sprintdistthissprint = self.sprintdistthissprint + distance(self.origin,var_00); + var_00 = self.origin; + } +} + +//Function Number: 41 +monitorsprinttime() +{ + level endon("game_ended"); + self endon("spawned_player"); + self endon("death"); + self endon("disconnect"); + self waittill("sprint_end"); + self.lastsprintendtime = gettime(); +} + +//Function Number: 42 +monitorfalldistance() +{ + self endon("disconnect"); + level endon("game_ended"); + for(;;) + { + if(!isalive(self)) + { + self waittill("spawned_player"); + continue; + } + + if(!self isonground()) + { + var_00 = self.origin[2]; + while(!self isonground() && isalive(self)) + { + if(self.origin[2] > var_00) + { + var_00 = self.origin[2]; + } + + wait(0.05); + } + + var_01 = var_00 - self.origin[2]; + if(var_01 < 0) + { + var_01 = 0; + } + + if(var_01 / 12 > 15 && isalive(self) && maps\mp\_utility::isemped()) + { + processchallenge("ch_boot_shortcut"); + } + + if(var_01 / 12 > 30 && !isalive(self) && maps\mp\_utility::isemped()) + { + processchallenge("ch_boot_gravity"); + } + } + + wait(0.05); + } +} + +//Function Number: 43 +monitorboostjumpdistance() +{ + level endon("game_ended"); + self endon("disconnect"); + for(;;) + { + if(!isalive(self)) + { + self waittill("spawned_player"); + continue; + } + + self waittill("exo_boost"); + if(!self isonground()) + { + var_00 = self.origin[2]; + var_01 = self.origin[2]; + while(!self isonground() && isalive(self)) + { + if(self.origin[2] > var_00) + { + var_00 = self.origin[2]; + } + + wait(0.05); + } + + var_02 = var_00 - var_01; + if(var_02 < 0) + { + var_02 = 0; + } + + processchallenge("ch_exomech_frontier",int(ceil(var_02 / 12 / 10))); + } + + wait(0.05); + } +} + +//Function Number: 44 +monitorplayermatchchallenges() +{ + thread monitormatchchallenges("increment_knife_kill",15,"ch_precision_slice"); + thread monitormatchchallenges("increment_stuck_kills",5,"ch_precision_ticktick"); + thread monitormatchchallenges("increment_pistol_headshots",10,"ch_precision_pistoleer"); + thread monitormatchchallenges("increment_ar_headshots",5,"ch_precision_headhunt"); + thread monitormatchchallenges("increment_sharpshooter_kills",10,"ch_precision_sharpshoot"); + thread monitormatchchallenges("increment_oneshotgun_kills",10,"ch_precision_cqexpert"); + thread monitormatchchallenges("increment_duallethal_kills",5,"ch_precision_dangerclose"); +} + +//Function Number: 45 +monitormatchchallenges(param_00,param_01,param_02) +{ + level endon("game_ended"); + self endon("disconnect"); + if(!isdefined(game[param_02])) + { + game[param_02] = []; + } + + if(!isdefined(game[param_02][self.guid])) + { + game[param_02][self.guid] = 0; + } + + thread remove_tracking_on_disconnect(param_02); + for(;;) + { + self waittill(param_00); + var_03 = game[param_02][self.guid]; + var_03++; + game[param_02][self.guid] = var_03; + if(var_03 == param_01) + { + processchallenge(param_02); + } + } +} + +//Function Number: 46 +remove_tracking_on_disconnect(param_00) +{ + level endon("game_ended"); + self waittill("disconnect"); + if(isdefined(game[param_00][self.guid])) + { + game[param_00][self.guid] = undefined; + } +} + +//Function Number: 47 +lastmansd() +{ + if(!mayprocesschallenges()) + { + return; + } + + if(!self.wasaliveatmatchstart) + { + return; + } + + if(self.teamkillsthisround > 0) + { + return; + } + + processchallenge("ch_lastmanstanding"); +} + +//Function Number: 48 +monitorbombuse() +{ + self endon("disconnect"); + for(;;) + { + var_00 = common_scripts\utility::waittill_any_return("bomb_planted","bomb_defused"); + if(!isdefined(var_00)) + { + continue; + } + + if(var_00 == "bomb_planted") + { + processchallenge("ch_saboteur"); + continue; + } + + if(var_00 == "bomb_defused") + { + processchallenge("ch_hero"); + } + } +} + +//Function Number: 49 +monitorlivetime() +{ + for(;;) + { + self waittill("spawned_player"); + thread survivalistchallenge(); + } +} + +//Function Number: 50 +survivalistchallenge() +{ + self endon("death"); + self endon("disconnect"); + wait(300); + if(isdefined(self)) + { + processchallenge("ch_survivalist"); + } +} + +//Function Number: 51 +monitorstreaks() +{ + self endon("disconnect"); + self.pers["airstrikeStreak"] = 0; + self.pers["meleeKillStreak"] = 0; + self.pers["shieldKillStreak"] = 0; + thread monitormisc(); + for(;;) + { + self waittill("death"); + self.pers["airstrikeStreak"] = 0; + self.pers["meleeKillStreak"] = 0; + self.pers["shieldKillStreak"] = 0; + } +} + +//Function Number: 52 +monitormisc() +{ + self endon("disconnect"); + for(;;) + { + var_00 = common_scripts\utility::waittill_any_return_no_endon_death("destroyed_explosive","begin_airstrike","destroyed_car","destroyed_car"); + monitormisccallback(var_00); + } +} + +//Function Number: 53 +monitormisccallback(param_00) +{ + switch(param_00) + { + case "begin_airstrike": + self.pers["airstrikeStreak"] = 0; + break; + + case "destroyed_explosive": + processchallenge("ch_backdraft"); + if(self isitemunlocked("specialty_detectexplosive") && maps\mp\_utility::_hasperk("specialty_detectexplosive")) + { + processchallenge("ch_detectexplosives_pro"); + } + break; + + case "destroyed_car": + processchallenge("ch_vandalism"); + break; + + case "crushed_enemy": + processchallenge("ch_heads_up"); + if(isdefined(self.finalkill)) + { + processchallenge("ch_droppincrates"); + } + break; + } +} + +//Function Number: 54 +healthregenerated() +{ + if(!isalive(self)) + { + return; + } + + if(!mayprocesschallenges()) + { + return; + } + + if(!maps\mp\_utility::rankingenabled()) + { + return; + } + + thread resetbrinkofdeathkillstreakshortly(); + if(isdefined(self.lastdamagewasfromenemy) && self.lastdamagewasfromenemy) + { + self.healthregenerationstreak++; + if(self.healthregenerationstreak >= 5) + { + processchallenge("ch_invincible"); + } + } +} + +//Function Number: 55 +resetbrinkofdeathkillstreakshortly() +{ + self endon("disconnect"); + self endon("death"); + self endon("damage"); + wait(1); + self.brinkofdeathkillstreak = 0; +} + +//Function Number: 56 +playerspawned() +{ + self.brinkofdeathkillstreak = 0; + self.healthregenerationstreak = 0; +} + +//Function Number: 57 +playerdied() +{ + self.brinkofdeathkillstreak = 0; + self.healthregenerationstreak = 0; +} + +//Function Number: 58 +isatbrinkofdeath() +{ + var_00 = self.health / self.maxhealth; + return var_00 <= level.healthoverlaycutoff; +} + +//Function Number: 59 +processchallenge(param_00,param_01,param_02) +{ + if(!mayprocesschallenges()) + { + return; + } + + if(level.players.size < 2 && !getdvarint("force_ranking")) + { + var_03 = undefined; + if(isdefined(var_03)) + { + if(var_03 == 0) + { + return; + } + } + else + { + return; + } + } + + if(!maps\mp\_utility::rankingenabled()) + { + return; + } + + if(!isdefined(param_01)) + { + param_01 = 1; + } + + var_04 = getchallengestatus(param_00); + if(var_04 == 0) + { + return; + } + + if(var_04 > level.challengeinfo[param_00]["targetval"].size) + { + return; + } + + var_05 = maps\mp\gametypes\_hud_util::ch_getprogress(param_00); + if(isdefined(param_02) && param_02) + { + var_06 = param_01; + } + else if(maps\mp\gametypes\_hud_util::isweaponclasschallenge(param_01)) + { + var_06 = var_06; + } + else + { + var_06 = var_06 + param_02; + } + + var_07 = 0; + var_08 = level.challengeinfo[param_00]["targetval"][var_04]; + while(isdefined(var_08) && var_06 >= var_08) + { + var_07++; + var_08 = level.challengeinfo[param_00]["targetval"][var_04 + var_07]; + } + + if(var_05 < var_06) + { + maps\mp\gametypes\_hud_util::ch_setprogress(param_00,var_06); + } + + if(var_07 > 0) + { + var_09 = var_04; + while(var_07) + { + thread giverankxpafterwait(param_00,var_04); + var_0A = getchallengeid(param_00,var_04); + self challengenotification(var_0A); + var_0B = common_scripts\utility::tostring(var_0A); + var_0C = int(getsubstr(var_0B,0,var_0B.size - 2)); + if(!isdefined(game["challengeStruct"]["challengesCompleted"][self.guid])) + { + game["challengeStruct"]["challengesCompleted"][self.guid] = []; + } + + var_0D = 0; + foreach(var_0F in game["challengeStruct"]["challengesCompleted"][self.guid]) + { + if(var_0F == var_0C) + { + var_0D = 1; + } + } + + if(!var_0D) + { + game["challengeStruct"]["challengesCompleted"][self.guid][game["challengeStruct"]["challengesCompleted"][self.guid].size] = var_0C; + } + + if(var_04 >= level.challengeinfo[param_00]["targetval"].size && level.challengeinfo[param_00]["parent_challenge"] != "") + { + processchallenge(level.challengeinfo[param_00]["parent_challenge"]); + } + + var_04++; + var_07--; + var_11 = getchallengerewarditem(var_0A); + if(var_11 != 0) + { + maps\mp\_matchdata::logcompletedchallenge(var_0A); + } + } + + if(!issubstr(param_00,"ch_limited_bloodshed")) + { + thread maps\mp\gametypes\_hud_message::challengesplashnotify(param_00,var_09,var_04); + } + + maps\mp\gametypes\_hud_util::ch_setstate(param_00,var_04); + self.challengedata[param_00] = var_04; + } +} + +//Function Number: 60 +giverankxpafterwait(param_00,param_01) +{ + self endon("disconnect"); + wait(0.25); + maps\mp\gametypes\_rank::giverankxp("challenge",level.challengeinfo[param_00]["reward"][param_01],undefined,undefined,param_00); +} + +//Function Number: 61 +getmarksmanunlockattachment(param_00,param_01) +{ + return tablelookup("mp/unlockTable.csv",0,param_00,4 + param_01); +} + +//Function Number: 62 +masterychallengeprocess(param_00) +{ + if(tablelookup("mp/allChallengesTable.csv",0,"ch_" + param_00 + "_mastery",1) == "") + { + return; + } + + var_01 = 0; + var_02 = maps\mp\_utility::getweaponattachmentfromstats(param_00); + foreach(var_04 in var_02) + { + if(var_04 == "") + { + continue; + } + + if(maps\mp\gametypes\_class::isattachmentunlocked(param_00,var_04)) + { + var_01++; + } + } + + processchallenge("ch_" + param_00 + "_mastery",var_01,1); +} + +//Function Number: 63 +ischallengeunlocked(param_00,param_01) +{ + var_02 = tablelookupbyrow("mp/allChallengesTable.csv",param_01,8); + if(var_02 != "") + { + var_03 = getchallengestatus(var_02); + if(var_03 > 1) + { + return 1; + } + } + + var_04 = tablelookupbyrow("mp/allChallengesTable.csv",param_01,6); + if(var_04 != "") + { + var_05 = maps\mp\gametypes\_rank::getrank(); + if(var_05 < int(var_04)) + { + return 0; + } + } + + var_06 = tablelookupbyrow("mp/allChallengesTable.csv",param_01,7); + if(var_06 != "") + { + var_07 = getchallengestatus(var_06); + if(var_07 <= 1) + { + return 0; + } + } + + return 1; +} + +//Function Number: 64 +updatechallenges() +{ + self.challengedata = []; + if(!isdefined(self.ch_unique_earned_streaks)) + { + self.ch_unique_earned_streaks = []; + } + + if(!isdefined(game["challengeStruct"])) + { + game["challengeStruct"] = []; + } + + if(!isdefined(game["challengeStruct"]["limitedChallengesReset"])) + { + game["challengeStruct"]["limitedChallengesReset"] = []; + } + + if(!isdefined(game["challengeStruct"]["challengesCompleted"])) + { + game["challengeStruct"]["challengesCompleted"] = []; + } + + self endon("disconnect"); + if(!mayprocesschallenges()) + { + return; + } + + if(!self isitemunlocked("challenges")) + { + return; + } + + var_00 = 0; + foreach(var_05, var_02 in level.challengeinfo) + { + var_00++; + if(var_00 % 40 == 0) + { + wait(0.05); + } + + self.challengedata[var_05] = 0; + var_03 = var_02["index"]; + var_04 = maps\mp\gametypes\_hud_util::ch_getstate(var_05); + if(maps\mp\gametypes\_hud_util::istimelimitedchallenge(var_05) && !isdefined(game["challengeStruct"]["limitedChallengesReset"][self.guid])) + { + maps\mp\gametypes\_hud_util::ch_setprogress(var_05,0); + var_04 = 0; + } + + if(var_04 == 0) + { + maps\mp\gametypes\_hud_util::ch_setstate(var_05,1); + var_04 = 1; + } + + self.challengedata[var_05] = var_04; + } + + game["challengeStruct"]["limitedChallengesReset"][self.guid] = 1; +} + +//Function Number: 65 +isinunlocktable(param_00) +{ + return tablelookup("mp/unlockTable.csv",0,param_00,0) != ""; +} + +//Function Number: 66 +getchallengefilter(param_00) +{ + return tablelookup("mp/allChallengesTable.csv",0,param_00,5); +} + +//Function Number: 67 +getchallengetable(param_00) +{ + return tablelookup("mp/challengeTable.csv",8,param_00,4); +} + +//Function Number: 68 +gettierfromtable(param_00,param_01) +{ + return tablelookup(param_00,0,param_01,1); +} + +//Function Number: 69 +isweaponchallenge(param_00) +{ + if(!isdefined(param_00)) + { + return 0; + } + + var_01 = getchallengefilter(param_00); + if(isdefined(var_01) && var_01 == "riotshield") + { + return 1; + } + + var_02 = maps\mp\_utility::getweaponnametokens(param_00); + for(var_03 = 0;var_03 < var_02.size;var_03++) + { + var_04 = var_02[var_03]; + if(var_04 == "iw5" || var_04 == "iw6") + { + var_04 = var_02[var_03] + "_" + var_02[var_03 + 1]; + } + + if(maps\mp\gametypes\_class::isvalidprimary(var_04) || maps\mp\gametypes\_class::isvalidsecondary(var_04,0)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 70 +getweaponfromchallenge(param_00) +{ + var_01 = "ch_"; + if(issubstr(param_00,"ch_marksman_")) + { + var_01 = "ch_marksman_"; + } + else if(issubstr(param_00,"ch_expert_")) + { + var_01 = "ch_expert_"; + } + else if(issubstr(param_00,"pr_marksman_")) + { + var_01 = "pr_marksman_"; + } + else if(issubstr(param_00,"pr_expert_")) + { + var_01 = "pr_expert_"; + } + + var_02 = getsubstr(param_00,var_01.size,param_00.size); + var_03 = maps\mp\_utility::getweaponnametokens(var_02); + var_02 = undefined; + if(var_03[0] == "iw5" || var_03[0] == "iw6") + { + var_02 = var_03[0] + "_" + var_03[1]; + } + else + { + var_02 = var_03[0]; + } + + return var_02; +} + +//Function Number: 71 +getweaponattachmentfromchallenge(param_00) +{ + var_01 = "ch_"; + if(issubstr(param_00,"ch_marksman_")) + { + var_01 = "ch_marksman_"; + } + else if(issubstr(param_00,"ch_expert_")) + { + var_01 = "ch_expert_"; + } + else if(issubstr(param_00,"pr_marksman_")) + { + var_01 = "pr_marksman_"; + } + else if(issubstr(param_00,"pr_expert_")) + { + var_01 = "pr_expert_"; + } + + var_02 = getsubstr(param_00,var_01.size,param_00.size); + var_03 = maps\mp\_utility::getweaponnametokens(var_02); + var_04 = undefined; + if(isdefined(var_03[2]) && maps\mp\_utility::isattachment(var_03[2])) + { + var_04 = var_03[2]; + } + + return var_04; +} + +//Function Number: 72 +iskillstreakchallenge(param_00) +{ + if(!isdefined(param_00)) + { + return 0; + } + + var_01 = getchallengefilter(param_00); + if(isdefined(var_01) && var_01 == "killstreaks_assault" || var_01 == "killstreaks_support") + { + return 1; + } + + return 0; +} + +//Function Number: 73 +getkillstreakfromchallenge(param_00) +{ + var_01 = "ch_"; + var_02 = getsubstr(param_00,var_01.size,param_00.size); + if(var_02 == "assault_streaks" || var_02 == "support_streaks") + { + var_02 = undefined; + } + + return var_02; +} + +//Function Number: 74 +challenge_targetval(param_00,param_01,param_02) +{ + var_03 = tablelookup(param_00,0,param_01,9 + param_02 - 1 * 2); + return int(var_03); +} + +//Function Number: 75 +challenge_rewardval(param_00,param_01,param_02) +{ + var_03 = tablelookup(param_00,0,param_01,10 + param_02 - 1 * 2); + return int(var_03); +} + +//Function Number: 76 +challenge_parentchallenge(param_00,param_01) +{ + var_02 = tablelookup(param_00,0,param_01,42); + if(!isdefined(var_02)) + { + var_02 = ""; + } + + return var_02; +} + +//Function Number: 77 +buildchallengetableinfo(param_00,param_01) +{ + var_02 = 0; + var_03 = 0; + for(;;) + { + var_03++; + var_04 = tablelookupbyrow(param_00,var_03,0); + if(var_04 == "") + { + break; + } + + var_05 = tablelookupbyrow(param_00,var_03,43); + if(var_05 == "1") + { + continue; + } + + level.challengeinfo[var_04] = []; + level.challengeinfo[var_04]["index"] = var_03; + level.challengeinfo[var_04]["type"] = param_01; + level.challengeinfo[var_04]["targetval"] = []; + level.challengeinfo[var_04]["reward"] = []; + level.challengeinfo[var_04]["parent_challenge"] = ""; + if(isweaponchallenge(var_04)) + { + var_06 = getweaponfromchallenge(var_04); + var_07 = getweaponattachmentfromchallenge(var_04); + if(isdefined(var_06)) + { + level.challengeinfo[var_04]["weapon"] = var_06; + } + + if(isdefined(var_07)) + { + level.challengeinfo[var_04]["attachment"] = var_07; + } + } + else if(iskillstreakchallenge(var_04)) + { + var_08 = getkillstreakfromchallenge(var_04); + if(isdefined(var_08)) + { + level.challengeinfo[var_04]["killstreak"] = var_08; + } + } + + for(var_09 = 1;var_09 < 11;var_09++) + { + var_0A = challenge_targetval(param_00,var_04,var_09); + var_0B = challenge_rewardval(param_00,var_04,var_09); + if(var_0A == 0) + { + break; + } + + level.challengeinfo[var_04]["targetval"][var_09] = var_0A; + level.challengeinfo[var_04]["reward"][var_09] = var_0B; + var_02 = var_02 + var_0B; + } + + level.challengeinfo[var_04]["parent_challenge"] = challenge_parentchallenge(param_00,var_04); + } + + return int(var_02); +} + +//Function Number: 78 +buildchallegeinfo() +{ + level.challengeinfo = []; + if(getdvar("virtualLobbyActive") == "1") + { + return; + } + + var_00 = 0; + var_00 = var_00 + buildchallengetableinfo("mp/allChallengesTable.csv",0); +} + +//Function Number: 79 +monitorprocesschallenge() +{ + self endon("disconnect"); + level endon("game_end"); + for(;;) + { + if(!mayprocesschallenges()) + { + return; + } + + self waittill("process",var_00); + processchallenge(var_00); + } +} + +//Function Number: 80 +monitorkillstreakprogress() +{ + self endon("disconnect"); + level endon("game_end"); + for(;;) + { + self waittill("got_killstreak",var_00); + if(!isdefined(var_00)) + { + continue; + } + + if(var_00 == 9 && isdefined(self.killstreaks[7]) && isdefined(self.killstreaks[8]) && isdefined(self.killstreaks[9])) + { + processchallenge("ch_6fears7"); + } + + if(var_00 == 10 && self.killstreaks.size == 0) + { + processchallenge("ch_theloner"); + } + } +} + +//Function Number: 81 +monitorkilledkillstreak() +{ + self endon("disconnect"); + level endon("game_end"); + for(;;) + { + self waittill("destroyed_killstreak",var_00); + if(self isitemunlocked("specialty_blindeye") && maps\mp\_utility::_hasperk("specialty_blindeye")) + { + processchallenge("ch_blindeye_pro"); + } + + if(isdefined(var_00) && var_00 == "stinger_mp") + { + processchallenge("ch_marksman_stinger"); + processchallenge("pr_marksman_stinger"); + } + } +} + +//Function Number: 82 +genericchallenge(param_00,param_01) +{ + switch(param_00) + { + case "hijacker_airdrop": + processchallenge("ch_smoothcriminal"); + break; + + case "wargasm": + processchallenge("ch_wargasm"); + break; + + case "weapon_assault": + processchallenge("ch_surgical_assault"); + break; + + case "weapon_smg": + processchallenge("ch_surgical_smg"); + break; + + case "weapon_lmg": + processchallenge("ch_surgical_lmg"); + break; + + case "weapon_dmr": + break; + + case "weapon_sniper": + processchallenge("ch_surgical_sniper"); + break; + + case "shield_damage": + if(!maps\mp\_utility::isjuggernaut()) + { + processchallenge("ch_shield_damage",param_01); + } + break; + + case "shield_bullet_hits": + if(!maps\mp\_utility::isjuggernaut()) + { + processchallenge("ch_shield_bullet",param_01); + } + break; + + case "shield_explosive_hits": + if(!maps\mp\_utility::isjuggernaut()) + { + processchallenge("ch_shield_explosive",param_01); + } + break; + } +} + +//Function Number: 83 +playerhasammo() +{ + var_00 = self getweaponslistprimaries(); + foreach(var_02 in var_00) + { + if(self getweaponammoclip(var_02)) + { + return 1; + } + + var_03 = weaponaltweaponname(var_02); + if(!isdefined(var_03) || var_03 == "none") + { + continue; + } + + if(self getweaponammoclip(var_03)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 84 +monitoradstime() +{ + self endon("disconnect"); + self.adstime = 0; + for(;;) + { + if(self playerads() == 1) + { + self.adstime = self.adstime + 0.05; + } + else + { + self.adstime = 0; + } + + wait(0.05); + } +} + +//Function Number: 85 +monitorpronetime() +{ + self endon("disconnect"); + level endon("game_ended"); + self.pronetime = undefined; + var_00 = 0; + for(;;) + { + var_01 = self getstance(); + if(var_01 == "prone" && var_00 == 0) + { + self.pronetime = gettime(); + var_00 = 1; + } + else if(var_01 != "prone") + { + self.pronetime = undefined; + var_00 = 0; + } + + wait(0.05); + } +} + +//Function Number: 86 +monitorpowerslidetime() +{ + self endon("disconnect"); + level endon("game_ended"); + self.powerslidetime = undefined; + for(;;) + { + while(!self ispowersliding()) + { + wait(0.05); + } + + self.powerslidetime = gettime(); + wait(0.05); + } +} + +//Function Number: 87 +monitorholdbreath() +{ + self endon("disconnect"); + self.holdingbreath = 0; + for(;;) + { + self waittill("hold_breath"); + self.holdingbreath = 1; + self waittill("release_breath"); + self.holdingbreath = 0; + } +} + +//Function Number: 88 +monitormantle() +{ + self endon("disconnect"); + self.mantling = 0; + for(;;) + { + self waittill("jumped"); + var_00 = self getcurrentweapon(); + common_scripts\utility::waittill_notify_or_timeout("weapon_change",1); + var_01 = self getcurrentweapon(); + if(var_01 == "none") + { + self.mantling = 1; + } + else + { + self.mantling = 0; + } + + if(self.mantling) + { + if(self isitemunlocked("specialty_fastmantle") && maps\mp\_utility::_hasperk("specialty_fastmantle")) + { + processchallenge("ch_fastmantle"); + } + + common_scripts\utility::waittill_notify_or_timeout("weapon_change",1); + var_01 = self getcurrentweapon(); + if(var_01 == var_00) + { + self.mantling = 0; + } + } + } +} + +//Function Number: 89 +monitorweaponswap() +{ + self endon("disconnect"); + var_00 = self getcurrentweapon(); + for(;;) + { + self waittill("weapon_change",var_01); + if(var_01 == "none") + { + continue; + } + + if(var_01 == var_00) + { + continue; + } + + if(maps\mp\_utility::iskillstreakweapon(var_01)) + { + continue; + } + + if(maps\mp\_utility::isbombsiteweapon(var_01)) + { + continue; + } + + var_02 = weaponinventorytype(var_01); + if(var_02 != "primary") + { + continue; + } + + self.lastprimaryweaponswaptime = gettime(); + } +} + +//Function Number: 90 +monitorflashbang() +{ + self endon("disconnect"); + for(;;) + { + self waittill("flashbang",var_00,var_01,var_02,var_03); + if(isdefined(var_03) && self == var_03) + { + continue; + } + + self.lastflashedtime = gettime(); + } +} + +//Function Number: 91 +monitorconcussion() +{ + self endon("disconnect"); + for(;;) + { + self waittill("concussed",var_00); + if(self == var_00) + { + continue; + } + + self.lastconcussedtime = gettime(); + } +} + +//Function Number: 92 +monitorminetriggering() +{ + self endon("disconnect"); + for(;;) + { + common_scripts\utility::waittill_any("triggered_mine","triggered_claymore"); + thread waitdelayminetime(); + } +} + +//Function Number: 93 +waitdelayminetime() +{ + self endon("death"); + self endon("disconnect"); + level endon("game_ended"); + wait(level.delayminetime + 2); + processchallenge("ch_delaymine"); +} + +//Function Number: 94 +is_lethal_equipment(param_00) +{ + if(!isdefined(param_00)) + { + return 0; + } + + switch(param_00) + { + case "explosive_drone_mp": + case "exoknife_mp": + case "semtex_mp": + case "frag_grenade_mp": + return 1; + + default: + return 0; + } +} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/gametypes/_music_and_dialog.gsc b/AW/PC/maps/mp/gametypes/_music_and_dialog.gsc similarity index 96% rename from AW/PC/MP/maps/mp/gametypes/_music_and_dialog.gsc rename to AW/PC/maps/mp/gametypes/_music_and_dialog.gsc index da409fd..5f73793 100644 --- a/AW/PC/MP/maps/mp/gametypes/_music_and_dialog.gsc +++ b/AW/PC/maps/mp/gametypes/_music_and_dialog.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_music_and_dialog.gsc + * Decompiled File: mp\gametypes\_music_and_dialog.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 14 - * Decompile Time: 233 ms - * Timestamp: 10/27/2023 1:50:42 AM + * Decompile Time: 220 ms + * Timestamp: 4/22/2024 2:10:02 AM *******************************************************************/ //Function Number: 1 @@ -380,12 +380,39 @@ onroundswitch() switch(var_00) { case "halftime": + foreach(var_02 in level.players) + { + if(var_02 issplitscreenplayer() && !var_02 issplitscreenplayerprimary()) + { + continue; + } + + var_02 maps\mp\_utility::leaderdialogonplayer("halftime"); + } break; case "overtime": + foreach(var_02 in level.players) + { + if(var_02 issplitscreenplayer() && !var_02 issplitscreenplayerprimary()) + { + continue; + } + + var_02 maps\mp\_utility::leaderdialogonplayer("overtime"); + } break; default: + foreach(var_02 in level.players) + { + if(var_02 issplitscreenplayer() && !var_02 issplitscreenplayerprimary()) + { + continue; + } + + var_02 maps\mp\_utility::leaderdialogonplayer("side_switch"); + } break; } } diff --git a/AW/PC/MP/maps/mp/gametypes/_objpoints.gsc b/AW/PC/maps/mp/gametypes/_objpoints.gsc similarity index 96% rename from AW/PC/MP/maps/mp/gametypes/_objpoints.gsc rename to AW/PC/maps/mp/gametypes/_objpoints.gsc index c8acb5e..ac634da 100644 --- a/AW/PC/MP/maps/mp/gametypes/_objpoints.gsc +++ b/AW/PC/maps/mp/gametypes/_objpoints.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_objpoints.gsc + * Decompiled File: mp\gametypes\_objpoints.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 9 - * Decompile Time: 131 ms - * Timestamp: 10/27/2023 1:50:43 AM + * Decompile Time: 143 ms + * Timestamp: 4/22/2024 2:10:03 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/gametypes/_orbital.gsc b/AW/PC/maps/mp/gametypes/_orbital.gsc similarity index 77% rename from AW/PC/MP/maps/mp/gametypes/_orbital.gsc rename to AW/PC/maps/mp/gametypes/_orbital.gsc index b28445e..2a4ecdb 100644 --- a/AW/PC/MP/maps/mp/gametypes/_orbital.gsc +++ b/AW/PC/maps/mp/gametypes/_orbital.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_orbital.gsc + * Decompiled File: mp\gametypes\_orbital.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 66 - * Decompile Time: 1030 ms - * Timestamp: 10/27/2023 1:50:47 AM + * Decompile Time: 1008 ms + * Timestamp: 4/22/2024 2:10:06 AM *******************************************************************/ //Function Number: 1 @@ -35,9 +35,17 @@ precacheorbital() switch(var_00) { case "mp_refraction": + level.drop_pod_dome["friendly"] = loadfx("vfx/unique/orbital_dome_friendly_ref"); + level.drop_pod_dome["enemy"] = loadfx("vfx/unique/orbital_dome_enemy_ref"); + level.drop_pod_dome_ground["friendly"] = loadfx("vfx/unique/orbital_dome_ground_friendly_ref"); + level.drop_pod_dome_ground["enemy"] = loadfx("vfx/unique/orbital_dome_ground_enemy_ref"); break; default: + level.drop_pod_dome["friendly"] = loadfx("vfx/unique/orbital_dome_friendly"); + level.drop_pod_dome["enemy"] = loadfx("vfx/unique/orbital_dome_enemy"); + level.drop_pod_dome_ground["friendly"] = loadfx("vfx/unique/orbital_dome_ground_friendly"); + level.drop_pod_dome_ground["enemy"] = loadfx("vfx/unique/orbital_dome_ground_enemy"); break; } } @@ -58,11 +66,91 @@ initializeoribtalmode() switch(var_00) { case "mp_refraction": + setdvar("missileRemoteSteerPitchRange","37 88"); + level.left_loop_start = getent("orbital_plane_left_loop_start","targetname"); + level.left_big_loop_start = getent("orbital_plane_left_big_loop_start","targetname"); + level.right_loop_start = getent("orbital_plane_right_loop_start","targetname"); + level.right_big_loop_start = getent("orbital_plane_right_big_loop_start","targetname"); + level.left_pivot = getent("orbital_left_loop_pivot","targetname"); + level.left_big_pivot = getent("orbital_left_big_loop_pivot","targetname"); + level.right_pivot = getent("orbital_right_loop_pivot","targetname"); + level.right_big_pivot = getent("orbital_right_big_loop_pivot","targetname"); + level.orbital_ships.missilespawn["target"] = getent("orbitalMissileTarget","targetname"); + level.orbital_ships.cameraview["allies"] = spawn("script_model",level.left_loop_start.origin); + level.orbital_ships.cameraview["allies"] setmodel("tag_player"); + level.orbital_ships.cameraview["allies"].angles = level.orbital_ships.cameraview["allies"].angles + (0,220,0); + level.orbital_ships.cameraview["allies"].team = "allies"; + level.orbital_ships.cameraview["allies"] vehicle_jetbikesethoverforcescale(level.left_pivot); + level.orbital_ships.cameraview["allies"].track = "left"; + level.orbital_ships.cameraview["allies"] hide(); + level.orbital_ships.cameraview["axis"] = spawn("script_model",level.left_big_loop_start.origin); + level.orbital_ships.cameraview["axis"] setmodel("tag_player"); + level.orbital_ships.cameraview["axis"].angles = level.orbital_ships.cameraview["axis"].angles + (0,330,0); + level.orbital_ships.cameraview["axis"].team = "axis"; + level.orbital_ships.cameraview["axis"] vehicle_jetbikesethoverforcescale(level.left_big_pivot); + level.orbital_ships.cameraview["axis"].track = "left_big"; + level.orbital_ships.cameraview["axis"] hide(); + level.orbital_ships.ship["allies"] = spawn("script_model",level.left_loop_start.origin); + level.orbital_ships.ship["allies"] setmodel("vehicle_ac130_coop"); + level.orbital_ships.ship["allies"].angles = level.orbital_ships.ship["allies"].angles + (0,220,0); + level.orbital_ships.ship["allies"] vehicle_jetbikesethoverforcescale(level.orbital_ships.cameraview["allies"],"",(0,0,80),(0,0,0)); + level.orbital_ships.ship["axis"] = spawn("script_model",level.left_big_loop_start.origin); + level.orbital_ships.ship["axis"] setmodel("vehicle_ac130_coop"); + level.orbital_ships.ship["axis"].angles = level.orbital_ships.ship["axis"].angles + (0,330,0); + level.orbital_ships.ship["axis"] vehicle_jetbikesethoverforcescale(level.orbital_ships.cameraview["axis"],"",(0,0,80),(0,0,0)); + thread rotateorbitalshippivots(); + level.orbital_ships.cameraview["allies"] thread monitortrackswitching(); + level.orbital_ships.cameraview["axis"] thread monitortrackswitching(); break; default: + setdvar("missileRemoteSteerPitchRange","47 88"); + var_01 = getent("airstrikeheight","targetname"); + var_02 = getentarray("minimap_corner","targetname"); + if(var_02.size == 2) + { + level.orbital_ships.center = maps\mp\gametypes\_spawnlogic::findboxcenter(var_02[0].origin,var_02[1].origin); + } + else + { + } + + level.orbital_ships.dist_from_center = 3500; + level.orbital_ships.extra_height = 2000; + level.orbital_ships.center = level.orbital_ships.center * (1,1,0); + level.orbital_ships.center = level.orbital_ships.center + (0,0,var_01.origin[2] + level.orbital_ships.extra_height); + var_03 = level.orbital_ships.center; + var_04 = (0,0,0); + var_05 = (0,180,0); + var_06 = var_03 + anglestoforward(var_04) * level.orbital_ships.dist_from_center; + var_07 = var_03 + anglestoforward(var_05) * level.orbital_ships.dist_from_center; + level.orbital_ships.script_origin = spawn("script_origin",level.orbital_ships.center); + level.orbital_ships.cameraview["allies"] = spawn("script_model",var_06); + level.orbital_ships.cameraview["allies"] setmodel("tag_player"); + level.orbital_ships.cameraview["allies"].angles = level.orbital_ships.cameraview["allies"].angles + (0,180,0); + level.orbital_ships.cameraview["allies"] vehicle_jetbikesethoverforcescale(level.orbital_ships.script_origin); + level.orbital_ships.cameraview["allies"] hide(); + level.orbital_ships.cameraview["axis"] = spawn("script_model",var_07); + level.orbital_ships.cameraview["axis"] setmodel("tag_player"); + level.orbital_ships.cameraview["axis"].angles = level.orbital_ships.cameraview["axis"].angles + (0,0,0); + level.orbital_ships.cameraview["axis"] vehicle_jetbikesethoverforcescale(level.orbital_ships.script_origin); + level.orbital_ships.cameraview["axis"] hide(); + level.orbital_ships.missilespawn["target"] = spawn("script_origin",level.orbital_ships.center - (0,0,7000)); + level.orbital_ships.missilespawn["target"].targetname = "orbitalMissileTarget"; + level.orbital_ships.ship["allies"] = spawn("script_model",var_06); + level.orbital_ships.ship["allies"] setmodel("vehicle_ac130_coop"); + level.orbital_ships.ship["allies"].angles = level.orbital_ships.ship["allies"].angles + (0,180,0); + level.orbital_ships.ship["allies"] vehicle_jetbikesethoverforcescale(level.orbital_ships.cameraview["allies"],"",(0,0,100),(15,0,0)); + level.orbital_ships.ship["axis"] = spawn("script_model",var_07); + level.orbital_ships.ship["axis"] setmodel("vehicle_ac130_coop"); + level.orbital_ships.ship["axis"].angles = level.orbital_ships.ship["axis"].angles + (0,0,0); + level.orbital_ships.ship["axis"] vehicle_jetbikesethoverforcescale(level.orbital_ships.cameraview["axis"],"",(0,0,100),(15,0,0)); + level.orbital_ships.script_origin thread rotateorbitalships(); break; } + + thread showdroppodbadspawnoverlay(); + thread spawnplayerinorbital(); } //Function Number: 3 @@ -73,24 +161,86 @@ monitortrackswitching() level.ship_pos_wait_delay = 0.5; var_00 = 4; wait(2); - var_01 = "none"; - var_02 = self.track; - switch(var_02) + for(;;) { - case "right": - break; + var_01 = "none"; + var_02 = self.track; + switch(var_02) + { + case "right": + var_01 = distance(self.origin,level.left_big_loop_start.origin); + if(var_01 <= 200 && self.started_bank == 0) + { + level.ship_pos_wait_delay = 0.05; + } + + if(var_01 <= var_00) + { + self unlink(); + self.origin = level.left_big_loop_start.origin; + self vehicle_jetbikesethoverforcescale(level.left_big_pivot); + self.track = "left_big"; + level.ship_pos_wait_delay = 0.5; + } + break; + + case "left_big": + var_01 = distance(self.origin,level.left_loop_start.origin); + if(var_01 <= 200 && self.started_bank == 0) + { + level.ship_pos_wait_delay = 0.05; + } + + if(var_01 <= var_00) + { + self unlink(); + self.origin = level.left_loop_start.origin; + self vehicle_jetbikesethoverforcescale(level.left_pivot); + self.track = "left"; + level.ship_pos_wait_delay = 0.5; + } + break; + + case "left": + var_01 = distance(self.origin,level.right_big_loop_start.origin); + if(var_01 <= 200 && self.started_bank == 0) + { + level.ship_pos_wait_delay = 0.05; + } + + if(var_01 <= var_00) + { + self unlink(); + self.origin = level.right_big_loop_start.origin; + self vehicle_jetbikesethoverforcescale(level.right_big_pivot); + self.track = "right_big"; + level.ship_pos_wait_delay = 0.5; + } + break; + + case "right_big": + var_01 = distance(self.origin,level.right_loop_start.origin); + if(var_01 <= 200 && self.started_bank == 0) + { + level.ship_pos_wait_delay = 0.05; + } + + if(var_01 <= var_00) + { + self unlink(); + self.origin = level.right_loop_start.origin; + self vehicle_jetbikesethoverforcescale(level.right_pivot); + self.track = "right"; + level.ship_pos_wait_delay = 0.5; + } + break; + + default: + break; + } - case "left_big": - break; - - case "left": - break; - - case "right_big": - break; - - default: - break; + level.var_2B71 = var_01; + wait(level.ship_pos_wait_delay); } } @@ -489,11 +639,17 @@ linkplayerorbitalship() switch(var_01) { case "mp_refraction": + self playerlinkto(level.orbital_ships.cameraview[self.pers["team"]],"tag_player",0,180,180,-40,80,0); break; default: + self playerlinkto(level.orbital_ships.cameraview[self.pers["team"]],"tag_player",1,90,90,-50,80,0); break; } + + thread centerorbitalview(); + self setclientomnvar("ui_orbital_collision_warn",0); + thread tracecollisionwarn(); } //Function Number: 15 @@ -537,15 +693,20 @@ setorbitalview(param_00,param_01) switch(param_00) { case "ship": + self setclientomnvar("ui_orbital_toggle_ship_view",1); break; case "pod": + self setclientomnvar("ui_orbital_collision_warn",0); + self setclientomnvar("ui_orbital_toggle_pod_view",1); break; case "drop": + self setclientomnvar("ui_orbital_toggle_drop_view",1); break; case "off": + self setclientomnvar("ui_orbital_is_dropping",0); break; default: @@ -888,8 +1049,7 @@ getnearestpathnode() { var_01 = 0; var_02 = distancesquared(self.origin,var_00[0].origin); - var_03 = 0; - if(var_03 < var_00.size) + for(var_03 = 0;var_03 < var_00.size;var_03++) { switch(var_00[var_03].type) { @@ -898,13 +1058,34 @@ getnearestpathnode() case "Begin": case "Cover Stand": case "End": + var_00[var_03] = undefined; break; default: break; } + + if(isdefined(var_00[var_03].script_noteworthy)) + { + if(var_00[var_03].script_noteworthy == "orbital_no_spawn") + { + var_00[var_03] = undefined; + continue; + } + } + + var_04 = distancesquared(self.origin,var_00[var_03].origin); + if(var_04 < var_02) + { + var_02 = var_04; + var_01 = var_03; + } } + + return var_00[var_01]; } + + return undefined; } //Function Number: 32 @@ -1292,11 +1473,8 @@ podsetuptrophyfx(param_00) showplayericons(param_00) { self endon("death"); - var_01 = level.players; - var_03 = getfirstarraykey(var_01); - if(isdefined(var_03)) + foreach(var_02 in level.players) { - var_02 = var_01[var_03]; if(var_02 == self || isdefined(var_02.isdropping)) { continue; @@ -1305,12 +1483,28 @@ showplayericons(param_00) switch(param_00) { case "friendly": + if(var_02.team == self.team) + { + var_02 maps\mp\_entityheadicons::setheadicon(self,"ac130_hud_friendly_vehicle_target",(0,0,0),4,4,undefined,undefined,undefined,undefined,undefined,0); + } break; case "enemy": + if(!var_02.team == self.team) + { + var_02 maps\mp\_entityheadicons::setheadicon(self,"hud_fofbox_hostile",(0,0,0),4,4,undefined,undefined,undefined,undefined,undefined,0); + } break; case "both": + if(var_02.team == self.team) + { + var_02 maps\mp\_entityheadicons::setheadicon(self,"ac130_hud_friendly_vehicle_target",(0,0,0),4,4,undefined,undefined,undefined,undefined,undefined,0); + } + else + { + var_02 maps\mp\_entityheadicons::setheadicon(self,"hud_fofbox_hostile",(0,0,0),4,4,undefined,undefined,undefined,undefined,undefined,0); + } break; default: diff --git a/AW/PC/MP/maps/mp/gametypes/_persistence.gsc b/AW/PC/maps/mp/gametypes/_persistence.gsc similarity index 99% rename from AW/PC/MP/maps/mp/gametypes/_persistence.gsc rename to AW/PC/maps/mp/gametypes/_persistence.gsc index 1d44a8d..623c7a4 100644 --- a/AW/PC/MP/maps/mp/gametypes/_persistence.gsc +++ b/AW/PC/maps/mp/gametypes/_persistence.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_persistence.gsc + * Decompiled File: mp\gametypes\_persistence.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 22 - * Decompile Time: 329 ms - * Timestamp: 10/27/2023 1:50:48 AM + * Decompile Time: 343 ms + * Timestamp: 4/22/2024 2:10:07 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/gametypes/_player_boost_jump_mp.gsc b/AW/PC/maps/mp/gametypes/_player_boost_jump_mp.gsc similarity index 88% rename from AW/PC/MP/maps/mp/gametypes/_player_boost_jump_mp.gsc rename to AW/PC/maps/mp/gametypes/_player_boost_jump_mp.gsc index e9c5bb6..a0134df 100644 --- a/AW/PC/MP/maps/mp/gametypes/_player_boost_jump_mp.gsc +++ b/AW/PC/maps/mp/gametypes/_player_boost_jump_mp.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_player_boost_jump_mp.gsc + * Decompiled File: mp\gametypes\_player_boost_jump_mp.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 44 ms - * Timestamp: 10/27/2023 1:50:49 AM + * Decompile Time: 56 ms + * Timestamp: 4/22/2024 2:10:08 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/gametypes/_playercards.gsc b/AW/PC/maps/mp/gametypes/_playercards.gsc similarity index 78% rename from AW/PC/MP/maps/mp/gametypes/_playercards.gsc rename to AW/PC/maps/mp/gametypes/_playercards.gsc index e86fb99..d2e3cf0 100644 --- a/AW/PC/MP/maps/mp/gametypes/_playercards.gsc +++ b/AW/PC/maps/mp/gametypes/_playercards.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_playercards.gsc + * Decompiled File: mp\gametypes\_playercards.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 48 ms - * Timestamp: 10/27/2023 1:50:49 AM + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 2:10:08 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/gametypes/_playerlogic.gsc b/AW/PC/maps/mp/gametypes/_playerlogic.gsc similarity index 99% rename from AW/PC/MP/maps/mp/gametypes/_playerlogic.gsc rename to AW/PC/maps/mp/gametypes/_playerlogic.gsc index dd960c1..d2fcea8 100644 --- a/AW/PC/MP/maps/mp/gametypes/_playerlogic.gsc +++ b/AW/PC/maps/mp/gametypes/_playerlogic.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_playerlogic.gsc + * Decompiled File: mp\gametypes\_playerlogic.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 71 - * Decompile Time: 1089 ms - * Timestamp: 10/27/2023 1:50:53 AM + * Decompile Time: 1111 ms + * Timestamp: 4/22/2024 2:10:12 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/gametypes/_portable_radar.gsc b/AW/PC/maps/mp/gametypes/_portable_radar.gsc similarity index 70% rename from AW/PC/MP/maps/mp/gametypes/_portable_radar.gsc rename to AW/PC/maps/mp/gametypes/_portable_radar.gsc index bbd3680..d4bfc3f 100644 --- a/AW/PC/MP/maps/mp/gametypes/_portable_radar.gsc +++ b/AW/PC/maps/mp/gametypes/_portable_radar.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_portable_radar.gsc + * Decompiled File: mp\gametypes\_portable_radar.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 8 - * Decompile Time: 133 ms - * Timestamp: 10/27/2023 1:50:53 AM + * Decompile Time: 128 ms + * Timestamp: 4/22/2024 2:10:12 AM *******************************************************************/ //Function Number: 1 @@ -120,32 +120,75 @@ portableradardamagelistener(param_00) self.health = 999999; self.maxhealth = 100; self.damagetaken = 0; - self waittill("damage",var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A); - if(!maps\mp\gametypes\_weapons::friendlyfirecheck(self.owner,var_02)) + for(;;) { - continue; - } - - if(isdefined(var_0A)) - { - var_0B = maps\mp\_utility::strip_suffix(var_0A,"_lefthand"); - } - else - { - var_0B = undefined; - } - - if(isdefined(var_0B)) - { - switch(var_0B) + self waittill("damage",var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A); + if(!maps\mp\gametypes\_weapons::friendlyfirecheck(self.owner,var_02)) { - case "smoke_grenade_var_mp": - case "stun_grenade_var_mp": - case "smoke_grenade_mp": - case "stun_grenade_mp": - case "concussion_grenade_mp": - case "flash_grenade_mp": - break; + continue; + } + + if(isdefined(var_0A)) + { + var_0B = maps\mp\_utility::strip_suffix(var_0A,"_lefthand"); + } + else + { + var_0B = undefined; + } + + if(isdefined(var_0B)) + { + switch(var_0B) + { + case "smoke_grenade_var_mp": + case "stun_grenade_var_mp": + case "smoke_grenade_mp": + case "stun_grenade_mp": + case "concussion_grenade_mp": + case "flash_grenade_mp": + break; + } + } + + if(!isdefined(self)) + { + return; + } + + if(maps\mp\_utility::ismeleemod(var_05)) + { + self.damagetaken = self.damagetaken + self.maxhealth; + } + + if(isdefined(var_09) && var_09 & level.idflags_penetration) + { + self.wasdamagedfrombulletpenetration = 1; + } + + self.wasdamaged = 1; + self.damagetaken = self.damagetaken + var_01; + if(isdefined(var_0B) && var_0B == "emp_grenade_mp" || var_0B == "emp_grenade_var_mp" || var_0B == "emp_grenade_killstreak_mp") + { + self.damagetaken = self.maxhealth + 1; + } + + if(isplayer(var_02)) + { + var_02 maps\mp\gametypes\_damagefeedback::updatedamagefeedback("portable_radar"); + } + + if(self.damagetaken >= self.maxhealth) + { + if(isdefined(param_00) && var_02 != param_00) + { + var_02 notify("destroyed_explosive"); + } + + self playsound("sentry_explode"); + self.deatheffect = playfx(common_scripts\utility::getfx("equipment_explode"),self.origin); + self freeentitysentient(); + var_02 thread deleteportableradar(self); } } } diff --git a/AW/PC/MP/maps/mp/gametypes/_quickmessages.gsc b/AW/PC/maps/mp/gametypes/_quickmessages.gsc similarity index 65% rename from AW/PC/MP/maps/mp/gametypes/_quickmessages.gsc rename to AW/PC/maps/mp/gametypes/_quickmessages.gsc index 2642306..69c99c2 100644 --- a/AW/PC/MP/maps/mp/gametypes/_quickmessages.gsc +++ b/AW/PC/maps/mp/gametypes/_quickmessages.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_quickmessages.gsc + * Decompiled File: mp\gametypes\_quickmessages.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 7 - * Decompile Time: 113 ms - * Timestamp: 10/27/2023 1:50:54 AM + * Decompile Time: 132 ms + * Timestamp: 4/22/2024 2:10:13 AM *******************************************************************/ //Function Number: 1 @@ -55,29 +55,51 @@ quickcommands(param_00) switch(param_00) { case "1": + var_01 = "mp_cmd_followme"; + var_02 = &"QUICKMESSAGE_FOLLOW_ME"; break; case "2": + var_01 = "mp_cmd_movein"; + var_02 = &"QUICKMESSAGE_MOVE_IN"; break; case "3": + var_01 = "mp_cmd_fallback"; + var_02 = &"QUICKMESSAGE_FALL_BACK"; break; case "4": + var_01 = "mp_cmd_suppressfire"; + var_02 = &"QUICKMESSAGE_SUPPRESSING_FIRE"; break; case "5": + var_01 = "mp_cmd_attackleftflank"; + var_02 = &"QUICKMESSAGE_ATTACK_LEFT_FLANK"; break; case "6": + var_01 = "mp_cmd_attackrightflank"; + var_02 = &"QUICKMESSAGE_ATTACK_RIGHT_FLANK"; break; case "7": + var_01 = "mp_cmd_holdposition"; + var_02 = &"QUICKMESSAGE_HOLD_THIS_POSITION"; break; default: + var_01 = "mp_cmd_regroup"; + var_02 = &"QUICKMESSAGE_REGROUP"; break; } + + saveheadicon(); + doquickmessage(var_01,var_02); + wait(2); + self.spamdelay = undefined; + restoreheadicon(); } //Function Number: 3 @@ -92,26 +114,46 @@ quickstatements(param_00) switch(param_00) { case "1": + var_01 = "mp_stm_enemyspotted"; + var_02 = &"QUICKMESSAGE_ENEMY_SPOTTED"; break; case "2": + var_01 = "mp_stm_enemiesspotted"; + var_02 = &"QUICKMESSAGE_ENEMIES_SPOTTED"; break; case "3": + var_01 = "mp_stm_iminposition"; + var_02 = &"QUICKMESSAGE_IM_IN_POSITION"; break; case "4": + var_01 = "mp_stm_areasecure"; + var_02 = &"QUICKMESSAGE_AREA_SECURE"; break; case "5": + var_01 = "mp_stm_watchsix"; + var_02 = &"QUICKMESSAGE_WATCH_SIX"; break; case "6": + var_01 = "mp_stm_sniper"; + var_02 = &"QUICKMESSAGE_SNIPER"; break; default: + var_01 = "mp_stm_needreinforcements"; + var_02 = &"QUICKMESSAGE_NEED_REINFORCEMENTS"; break; } + + saveheadicon(); + doquickmessage(var_01,var_02); + wait(2); + self.spamdelay = undefined; + restoreheadicon(); } //Function Number: 4 @@ -126,23 +168,41 @@ quickresponses(param_00) switch(param_00) { case "1": + var_01 = "mp_rsp_yessir"; + var_02 = &"QUICKMESSAGE_YES_SIR"; break; case "2": + var_01 = "mp_rsp_nosir"; + var_02 = &"QUICKMESSAGE_NO_SIR"; break; case "3": + var_01 = "mp_rsp_onmyway"; + var_02 = &"QUICKMESSAGE_IM_ON_MY_WAY"; break; case "4": + var_01 = "mp_rsp_sorry"; + var_02 = &"QUICKMESSAGE_SORRY"; break; case "5": + var_01 = "mp_rsp_greatshot"; + var_02 = &"QUICKMESSAGE_GREAT_SHOT"; break; default: + var_01 = "mp_rsp_comeon"; + var_02 = &"QUICKMESSAGE_COME_ON"; break; } + + saveheadicon(); + doquickmessage(var_01,var_02); + wait(2); + self.spamdelay = undefined; + restoreheadicon(); } //Function Number: 5 diff --git a/AW/PC/MP/maps/mp/gametypes/_rank.gsc b/AW/PC/maps/mp/gametypes/_rank.gsc similarity index 83% rename from AW/PC/MP/maps/mp/gametypes/_rank.gsc rename to AW/PC/maps/mp/gametypes/_rank.gsc index 059b77d..3f973ea 100644 --- a/AW/PC/MP/maps/mp/gametypes/_rank.gsc +++ b/AW/PC/maps/mp/gametypes/_rank.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_rank.gsc + * Decompiled File: mp\gametypes\_rank.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 28 - * Decompile Time: 438 ms - * Timestamp: 10/27/2023 1:50:56 AM + * Decompile Time: 435 ms + * Timestamp: 4/22/2024 2:10:15 AM *******************************************************************/ //Function Number: 1 @@ -315,6 +315,95 @@ giverankxp(param_00,param_01,param_02,param_03,param_04,param_05) break; default: + if(maps\mp\_utility::getgametypenumlives() > 0 && param_00 != "shield_damage") + { + var_08 = max(1,int(10 / maps\mp\_utility::getgametypenumlives())); + if(level.gametype == "sr") + { + var_08 = max(1,int(5 / maps\mp\_utility::getgametypenumlives())); + } + + var_06 = int(var_06 * var_08); + } + + if(level.xpscale > 1) + { + var_06 = int(var_06 * level.xpscale); + } + + if(self getrankedplayerdata("hasDoubleXPItem")) + { + var_06 = int(var_06 * 2); + } + + if(isdefined(level.nukedetonated) && level.nukedetonated) + { + if(level.teambased && level.nukeinfo.team == self.team) + { + var_06 = var_06 * level.nukeinfo.xpscalar; + } + else if(!level.teambased && level.nukeinfo.player == self) + { + var_06 = var_06 * level.nukeinfo.xpscalar; + } + + var_06 = int(var_06); + } + + if(isdefined(self.costumebonus) && isdefined(self.costumebonus["xp"])) + { + var_09 = int(var_06 + param_01 * self.costumebonus["xp"]["bonusTotal"]); + var_06 = var_09; + } + + var_07 = self getclanwarsbonus(); + break; + } + + var_0A = int(var_06 * var_07); + var_0B = getrankxp(); + incrankxp(var_06 + var_0A); + if(maps\mp\_utility::rankingenabled() && updaterank(var_0B)) + { + thread updaterankannouncehud(); + } + + syncxpstat(); + var_0C = maps\mp\gametypes\_missions::isweaponchallenge(param_04); + if(var_0C) + { + param_02 = self getcurrentweapon(); + } + + if(param_00 == "shield_damage") + { + param_02 = self getcurrentweapon(); + param_03 = "MOD_MELEE"; + } + + self.pers["summary"]["clanWarsXP"] = self.pers["summary"]["clanWarsXP"] + var_0A; + self.pers["summary"]["xp"] = self.pers["summary"]["xp"] + var_06 + var_0A; + switch(param_00) + { + case "loss": + case "win": + case "tie": + self.pers["summary"]["match"] = self.pers["summary"]["match"] + var_06; + break; + + case "challenge": + self.pers["summary"]["challenge"] = self.pers["summary"]["challenge"] + var_06; + break; + + default: + if(isregisteredevent(param_00)) + { + self.pers["summary"]["score"] = self.pers["summary"]["score"] + var_06; + } + else + { + self.pers["summary"]["misc"] = self.pers["summary"]["misc"] + var_06; + } break; } } diff --git a/AW/PC/MP/maps/mp/gametypes/_scrambler.gsc b/AW/PC/maps/mp/gametypes/_scrambler.gsc similarity index 85% rename from AW/PC/MP/maps/mp/gametypes/_scrambler.gsc rename to AW/PC/maps/mp/gametypes/_scrambler.gsc index 5537604..b6ce167 100644 --- a/AW/PC/MP/maps/mp/gametypes/_scrambler.gsc +++ b/AW/PC/maps/mp/gametypes/_scrambler.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_scrambler.gsc + * Decompiled File: mp\gametypes\_scrambler.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 17 - * Decompile Time: 277 ms - * Timestamp: 10/27/2023 1:50:57 AM + * Decompile Time: 260 ms + * Timestamp: 4/22/2024 2:10:16 AM *******************************************************************/ //Function Number: 1 @@ -101,13 +101,13 @@ _getscrambletypeidforstring(param_00) switch(param_00) { case "emp": - break; + return 1; case "systemHack": - break; + return 2; default: - break; + return 0; } } @@ -319,24 +319,62 @@ scramblerdamagelistener(param_00) self.health = 999999; self.maxhealth = 100; self.damagetaken = 0; - self waittill("damage",var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A); - if(!maps\mp\gametypes\_weapons::friendlyfirecheck(self.owner,var_02)) + for(;;) { - continue; - } - - if(isdefined(var_0A)) - { - var_0B = maps\mp\_utility::strip_suffix(var_0A,"_lefthand"); - switch(var_0B) + self waittill("damage",var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A); + if(!maps\mp\gametypes\_weapons::friendlyfirecheck(self.owner,var_02)) { - case "smoke_grenade_var_mp": - case "stun_grenade_var_mp": - case "smoke_grenade_mp": - case "stun_grenade_mp": - case "concussion_grenade_mp": - case "flash_grenade_mp": - break; + continue; + } + + if(isdefined(var_0A)) + { + var_0B = maps\mp\_utility::strip_suffix(var_0A,"_lefthand"); + switch(var_0B) + { + case "smoke_grenade_var_mp": + case "stun_grenade_var_mp": + case "smoke_grenade_mp": + case "stun_grenade_mp": + case "concussion_grenade_mp": + case "flash_grenade_mp": + break; + } + } + + if(!isdefined(self)) + { + return; + } + + if(maps\mp\_utility::ismeleemod(var_05)) + { + self.damagetaken = self.damagetaken + self.maxhealth; + } + + if(isdefined(var_09) && var_09 & level.idflags_penetration) + { + self.wasdamagedfrombulletpenetration = 1; + } + + self.wasdamaged = 1; + self.damagetaken = self.damagetaken + var_01; + if(isplayer(var_02)) + { + var_02 maps\mp\gametypes\_damagefeedback::updatedamagefeedback("scrambler"); + } + + if(self.damagetaken >= self.maxhealth) + { + if(isdefined(param_00) && var_02 != param_00) + { + var_02 notify("destroyed_explosive"); + } + + self playsound("sentry_explode"); + self.deatheffect = playfx(common_scripts\utility::getfx("equipment_explode"),self.origin); + self freeentitysentient(); + var_02 thread deletescrambler(self); } } } diff --git a/AW/PC/MP/maps/mp/gametypes/_serversettings.gsc b/AW/PC/maps/mp/gametypes/_serversettings.gsc similarity index 95% rename from AW/PC/MP/maps/mp/gametypes/_serversettings.gsc rename to AW/PC/maps/mp/gametypes/_serversettings.gsc index c796b82..fd07f20 100644 --- a/AW/PC/MP/maps/mp/gametypes/_serversettings.gsc +++ b/AW/PC/maps/mp/gametypes/_serversettings.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_serversettings.gsc + * Decompiled File: mp\gametypes\_serversettings.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 46 ms - * Timestamp: 10/27/2023 1:50:58 AM + * Decompile Time: 57 ms + * Timestamp: 4/22/2024 2:10:16 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/gametypes/_shellshock.gsc b/AW/PC/maps/mp/gametypes/_shellshock.gsc similarity index 98% rename from AW/PC/MP/maps/mp/gametypes/_shellshock.gsc rename to AW/PC/maps/mp/gametypes/_shellshock.gsc index c45d2de..f7834a4 100644 --- a/AW/PC/MP/maps/mp/gametypes/_shellshock.gsc +++ b/AW/PC/maps/mp/gametypes/_shellshock.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_shellshock.gsc + * Decompiled File: mp\gametypes\_shellshock.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 12 - * Decompile Time: 177 ms - * Timestamp: 10/27/2023 1:50:59 AM + * Decompile Time: 186 ms + * Timestamp: 4/22/2024 2:10:17 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/gametypes/_spawnfactor.gsc b/AW/PC/maps/mp/gametypes/_spawnfactor.gsc similarity index 98% rename from AW/PC/MP/maps/mp/gametypes/_spawnfactor.gsc rename to AW/PC/maps/mp/gametypes/_spawnfactor.gsc index 38047a7..e7e7b0d 100644 --- a/AW/PC/MP/maps/mp/gametypes/_spawnfactor.gsc +++ b/AW/PC/maps/mp/gametypes/_spawnfactor.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_spawnfactor.gsc + * Decompiled File: mp\gametypes\_spawnfactor.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 26 - * Decompile Time: 417 ms - * Timestamp: 10/27/2023 1:51:00 AM + * Decompile Time: 387 ms + * Timestamp: 4/22/2024 2:10:18 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/gametypes/_spawnlogic.gsc b/AW/PC/maps/mp/gametypes/_spawnlogic.gsc similarity index 99% rename from AW/PC/MP/maps/mp/gametypes/_spawnlogic.gsc rename to AW/PC/maps/mp/gametypes/_spawnlogic.gsc index e844dc8..cf0189a 100644 --- a/AW/PC/MP/maps/mp/gametypes/_spawnlogic.gsc +++ b/AW/PC/maps/mp/gametypes/_spawnlogic.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_spawnlogic.gsc + * Decompiled File: mp\gametypes\_spawnlogic.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 43 - * Decompile Time: 672 ms - * Timestamp: 10/27/2023 1:51:03 AM + * Decompile Time: 655 ms + * Timestamp: 4/22/2024 2:10:20 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/gametypes/_spawnscoring.gsc b/AW/PC/maps/mp/gametypes/_spawnscoring.gsc similarity index 99% rename from AW/PC/MP/maps/mp/gametypes/_spawnscoring.gsc rename to AW/PC/maps/mp/gametypes/_spawnscoring.gsc index 487dd7e..9c3e73b 100644 --- a/AW/PC/MP/maps/mp/gametypes/_spawnscoring.gsc +++ b/AW/PC/maps/mp/gametypes/_spawnscoring.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_spawnscoring.gsc + * Decompiled File: mp\gametypes\_spawnscoring.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 46 - * Decompile Time: 727 ms - * Timestamp: 10/27/2023 1:51:05 AM + * Decompile Time: 671 ms + * Timestamp: 4/22/2024 2:10:23 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/gametypes/_spectating.gsc b/AW/PC/maps/mp/gametypes/_spectating.gsc similarity index 65% rename from AW/PC/MP/maps/mp/gametypes/_spectating.gsc rename to AW/PC/maps/mp/gametypes/_spectating.gsc index fa82612..7b315d7 100644 --- a/AW/PC/MP/maps/mp/gametypes/_spectating.gsc +++ b/AW/PC/maps/mp/gametypes/_spectating.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_spectating.gsc + * Decompiled File: mp\gametypes\_spectating.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 10 - * Decompile Time: 154 ms - * Timestamp: 10/27/2023 1:51:06 AM + * Decompile Time: 153 ms + * Timestamp: 4/22/2024 2:10:23 AM *******************************************************************/ //Function Number: 1 @@ -153,14 +153,128 @@ setspectatepermissions() switch(var_02) { case 0: + if(level.multiteambased) + { + for(var_01 = 0;var_01 < level.teamnamelist.size;var_01++) + { + self allowspectateteam(level.teamnamelist[var_01],0); + } + } + else + { + self allowspectateteam("allies",0); + self allowspectateteam("axis",0); + } + + self allowspectateteam("freelook",0); + self allowspectateteam("none",0); break; case 1: + if(!level.teambased) + { + self allowspectateteam("allies",1); + self allowspectateteam("axis",1); + self allowspectateteam("none",1); + self allowspectateteam("freelook",0); + } + else if(isdefined(var_00) && var_00 == "allies" || var_00 == "axis" && !level.multiteambased) + { + self allowspectateteam(var_00,1); + self allowspectateteam(maps\mp\_utility::getotherteam(var_00),0); + self allowspectateteam("freelook",0); + self allowspectateteam("none",0); + } + else if(isdefined(var_00) && issubstr(var_00,"team_") && level.multiteambased) + { + for(var_01 = 0;var_01 < level.teamnamelist.size;var_01++) + { + if(var_00 == level.teamnamelist[var_01]) + { + self allowspectateteam(level.teamnamelist[var_01],1); + continue; + } + + self allowspectateteam(level.teamnamelist[var_01],0); + } + + self allowspectateteam("freelook",0); + self allowspectateteam("none",0); + } + else + { + if(level.multiteambased) + { + for(var_01 = 0;var_01 < level.teamnamelist.size;var_01++) + { + self allowspectateteam(level.teamnamelist[var_01],0); + } + } + else + { + self allowspectateteam("allies",0); + self allowspectateteam("axis",0); + } + + self allowspectateteam("freelook",0); + self allowspectateteam("none",0); + } break; case 2: + if(level.multiteambased) + { + for(var_01 = 0;var_01 < level.teamnamelist.size;var_01++) + { + self allowspectateteam(level.teamnamelist[var_01],1); + } + } + else + { + self allowspectateteam("allies",1); + self allowspectateteam("axis",1); + } + + self allowspectateteam("freelook",1); + self allowspectateteam("none",1); break; } + + var_04 = self getxuid(); + if(!self ismlgspectator()) + { + switch(var_03) + { + case 0: + self forcespectatepov(var_04,"freelook"); + break; + + case 1: + self allowspectateteam("none",0); + self allowspectateteam("freelook",0); + self forcespectatepov(var_04,"first_person"); + break; + + case 2: + self allowspectateteam("none",0); + self allowspectateteam("freelook",0); + self forcespectatepov(var_04,"third_person"); + break; + } + } + + if(isdefined(var_00) && var_00 == "axis" || var_00 == "allies") + { + if(isdefined(level.spectateoverride[var_00].allowfreespectate)) + { + self allowspectateteam("freelook",1); + } + + if(isdefined(level.spectateoverride[var_00].allowenemyspectate)) + { + self allowspectateteam(maps\mp\_utility::getotherteam(var_00),1); + } + } } //Function Number: 9 diff --git a/AW/PC/MP/maps/mp/gametypes/_teams.gsc b/AW/PC/maps/mp/gametypes/_teams.gsc similarity index 99% rename from AW/PC/MP/maps/mp/gametypes/_teams.gsc rename to AW/PC/maps/mp/gametypes/_teams.gsc index 4706b19..0a26a8e 100644 --- a/AW/PC/MP/maps/mp/gametypes/_teams.gsc +++ b/AW/PC/maps/mp/gametypes/_teams.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_teams.gsc + * Decompiled File: mp\gametypes\_teams.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 49 - * Decompile Time: 780 ms - * Timestamp: 10/27/2023 1:51:09 AM + * Decompile Time: 740 ms + * Timestamp: 4/22/2024 2:10:26 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/gametypes/_tweakables.gsc b/AW/PC/maps/mp/gametypes/_tweakables.gsc similarity index 53% rename from AW/PC/MP/maps/mp/gametypes/_tweakables.gsc rename to AW/PC/maps/mp/gametypes/_tweakables.gsc index b7e151b..0b5ecb0 100644 --- a/AW/PC/MP/maps/mp/gametypes/_tweakables.gsc +++ b/AW/PC/maps/mp/gametypes/_tweakables.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_tweakables.gsc + * Decompiled File: mp\gametypes\_tweakables.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 8 - * Decompile Time: 118 ms - * Timestamp: 10/27/2023 1:51:09 AM + * Decompile Time: 130 ms + * Timestamp: 4/22/2024 2:10:27 AM *******************************************************************/ //Function Number: 1 @@ -14,32 +14,44 @@ gettweakabledvarvalue(param_00,param_01) switch(param_00) { case "rule": + var_02 = level.rules[param_01].dvar; break; case "game": + var_02 = level.gametweaks[var_02].dvar; break; case "team": + var_02 = level.teamtweaks[var_02].dvar; break; case "player": + var_02 = level.playertweaks[var_02].dvar; break; case "class": + var_02 = level.classtweaks[var_02].dvar; break; case "weapon": + var_02 = level.weapontweaks[var_02].dvar; break; case "hardpoint": + var_02 = level.hardpointtweaks[var_02].dvar; break; case "hud": + var_02 = level.hudtweaks[var_02].dvar; break; default: + var_02 = undefined; break; } + + var_03 = getdvarint(var_02); + return var_03; } //Function Number: 2 @@ -48,32 +60,43 @@ gettweakabledvar(param_00,param_01) switch(param_00) { case "rule": + var_02 = level.rules[param_01].dvar; break; case "game": + var_02 = level.gametweaks[var_02].dvar; break; case "team": + var_02 = level.teamtweaks[var_02].dvar; break; case "player": + var_02 = level.playertweaks[var_02].dvar; break; case "class": + var_02 = level.classtweaks[var_02].dvar; break; case "weapon": + var_02 = level.weapontweaks[var_02].dvar; break; case "hardpoint": + var_02 = level.hardpointtweaks[var_02].dvar; break; case "hud": + var_02 = level.hudtweaks[var_02].dvar; break; default: + var_02 = undefined; break; } + + return var_02; } //Function Number: 3 @@ -82,32 +105,43 @@ gettweakablevalue(param_00,param_01) switch(param_00) { case "rule": + var_02 = level.rules[param_01].value; break; case "game": + var_02 = level.gametweaks[var_02].value; break; case "team": + var_02 = level.teamtweaks[var_02].value; break; case "player": + var_02 = level.playertweaks[var_02].value; break; case "class": + var_02 = level.classtweaks[var_02].value; break; case "weapon": + var_02 = level.weapontweaks[var_02].value; break; case "hardpoint": + var_02 = level.hardpointtweaks[var_02].value; break; case "hud": + var_02 = level.hudtweaks[var_02].value; break; default: + var_02 = undefined; break; } + + return var_02; } //Function Number: 4 @@ -116,32 +150,43 @@ gettweakablelastvalue(param_00,param_01) switch(param_00) { case "rule": + var_02 = level.rules[param_01].lastvalue; break; case "game": + var_02 = level.gametweaks[var_02].lastvalue; break; case "team": + var_02 = level.teamtweaks[var_02].lastvalue; break; case "player": + var_02 = level.playertweaks[var_02].lastvalue; break; case "class": + var_02 = level.classtweaks[var_02].lastvalue; break; case "weapon": + var_02 = level.weapontweaks[var_02].lastvalue; break; case "hardpoint": + var_02 = level.hardpointtweaks[var_02].lastvalue; break; case "hud": + var_02 = level.hudtweaks[var_02].lastvalue; break; default: + var_02 = undefined; break; } + + return var_02; } //Function Number: 5 @@ -150,32 +195,43 @@ settweakablevalue(param_00,param_01,param_02) switch(param_00) { case "rule": + var_03 = level.rules[param_01].dvar; break; case "game": + var_03 = level.gametweaks[param_02].dvar; break; case "team": + var_03 = level.teamtweaks[param_02].dvar; break; case "player": + var_03 = level.playertweaks[param_02].dvar; break; case "class": + var_03 = level.classtweaks[param_02].dvar; break; case "weapon": + var_03 = level.weapontweaks[param_02].dvar; break; case "hardpoint": + var_03 = level.hardpointtweaks[param_02].dvar; break; case "hud": + var_03 = level.hudtweaks[param_02].dvar; break; default: + var_03 = undefined; break; } + + setdvar(var_03,param_02); } //Function Number: 6 @@ -184,27 +240,35 @@ settweakablelastvalue(param_00,param_01,param_02) switch(param_00) { case "rule": + level.rules[param_01].lastvalue = param_02; break; case "game": + level.gametweaks[param_01].lastvalue = param_02; break; case "team": + level.teamtweaks[param_01].lastvalue = param_02; break; case "player": + level.playertweaks[param_01].lastvalue = param_02; break; case "class": + level.classtweaks[param_01].lastvalue = param_02; break; case "weapon": + level.weapontweaks[param_01].lastvalue = param_02; break; case "hardpoint": + level.hardpointtweaks[param_01].lastvalue = param_02; break; case "hud": + level.hudtweaks[param_01].lastvalue = param_02; break; default: @@ -227,27 +291,91 @@ registertweakable(param_00,param_01,param_02,param_03) switch(param_00) { case "rule": + if(!isdefined(level.rules[param_01])) + { + level.rules[param_01] = spawnstruct(); + } + + level.rules[param_01].value = param_03; + level.rules[param_01].lastvalue = param_03; + level.rules[param_01].dvar = param_02; break; case "game": + if(!isdefined(level.gametweaks[param_01])) + { + level.gametweaks[param_01] = spawnstruct(); + } + + level.gametweaks[param_01].value = param_03; + level.gametweaks[param_01].lastvalue = param_03; + level.gametweaks[param_01].dvar = param_02; break; case "team": + if(!isdefined(level.teamtweaks[param_01])) + { + level.teamtweaks[param_01] = spawnstruct(); + } + + level.teamtweaks[param_01].value = param_03; + level.teamtweaks[param_01].lastvalue = param_03; + level.teamtweaks[param_01].dvar = param_02; break; case "player": + if(!isdefined(level.playertweaks[param_01])) + { + level.playertweaks[param_01] = spawnstruct(); + } + + level.playertweaks[param_01].value = param_03; + level.playertweaks[param_01].lastvalue = param_03; + level.playertweaks[param_01].dvar = param_02; break; case "class": + if(!isdefined(level.classtweaks[param_01])) + { + level.classtweaks[param_01] = spawnstruct(); + } + + level.classtweaks[param_01].value = param_03; + level.classtweaks[param_01].lastvalue = param_03; + level.classtweaks[param_01].dvar = param_02; break; case "weapon": + if(!isdefined(level.weapontweaks[param_01])) + { + level.weapontweaks[param_01] = spawnstruct(); + } + + level.weapontweaks[param_01].value = param_03; + level.weapontweaks[param_01].lastvalue = param_03; + level.weapontweaks[param_01].dvar = param_02; break; case "hardpoint": + if(!isdefined(level.hardpointtweaks[param_01])) + { + level.hardpointtweaks[param_01] = spawnstruct(); + } + + level.hardpointtweaks[param_01].value = param_03; + level.hardpointtweaks[param_01].lastvalue = param_03; + level.hardpointtweaks[param_01].dvar = param_02; break; case "hud": + if(!isdefined(level.hudtweaks[param_01])) + { + level.hudtweaks[param_01] = spawnstruct(); + } + + level.hudtweaks[param_01].value = param_03; + level.hudtweaks[param_01].lastvalue = param_03; + level.hudtweaks[param_01].dvar = param_02; break; } } diff --git a/AW/PC/MP/maps/mp/gametypes/_weapons.gsc b/AW/PC/maps/mp/gametypes/_weapons.gsc similarity index 86% rename from AW/PC/MP/maps/mp/gametypes/_weapons.gsc rename to AW/PC/maps/mp/gametypes/_weapons.gsc index 0c718c0..82c4c6c 100644 --- a/AW/PC/MP/maps/mp/gametypes/_weapons.gsc +++ b/AW/PC/maps/mp/gametypes/_weapons.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/gametypes/_weapons.gsc + * Decompiled File: mp\gametypes\_weapons.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 156 - * Decompile Time: 2447 ms - * Timestamp: 10/27/2023 1:51:17 AM + * Decompile Time: 2424 ms + * Timestamp: 4/22/2024 2:10:34 AM *******************************************************************/ //Function Number: 1 @@ -21,14 +21,180 @@ init() switch(maps\mp\_utility::getintproperty("perk_scavengerMode",0)) { case 1: + level.scavenger_altmode = 0; break; case 2: + level.scavenger_secondary = 0; break; case 3: + level.scavenger_altmode = 0; + level.scavenger_secondary = 0; break; } + + var_00 = getdvar("g_gametype"); + var_01 = maps\mp\_utility::getattachmentlistbasenames(); + var_01 = common_scripts\utility::alphabetize(var_01); + var_02 = 150; + level.weaponlist = []; + level.weaponattachments = []; + for(var_03 = 0;var_03 <= var_02;var_03++) + { + var_04 = tablelookup("mp/statstable.csv",0,var_03,4); + if(var_04 == "") + { + continue; + } + + if(tablelookup("mp/statsTable.csv",0,var_03,51) != "") + { + continue; + } + + if(!issubstr(tablelookup("mp/statsTable.csv",0,var_03,2),"weapon_")) + { + continue; + } + + if(issubstr(var_04,"iw5") || issubstr(var_04,"iw6")) + { + var_05 = maps\mp\_utility::getweaponnametokens(var_04); + var_04 = var_05[0] + "_" + var_05[1] + "_mp"; + level.weaponlist[level.weaponlist.size] = var_04; + continue; + } + else + { + level.weaponlist[level.weaponlist.size] = var_04 + "_mp"; + } + + var_06 = maps\mp\_utility::getweaponattachmentarrayfromstats(var_04); + var_07 = []; + foreach(var_09 in var_01) + { + if(!isdefined(var_06[var_09])) + { + continue; + } + + level.weaponlist[level.weaponlist.size] = var_04 + "_" + var_09 + "_mp"; + var_07[var_07.size] = var_09; + } + + var_0B = []; + for(var_0C = 0;var_0C < var_07.size - 1;var_0C++) + { + var_0D = tablelookuprownum("mp/attachmentCombos.csv",0,var_07[var_0C]); + for(var_0E = var_0C + 1;var_0E < var_07.size;var_0E++) + { + if(tablelookup("mp/attachmentCombos.csv",0,var_07[var_0E],var_0D) == "no") + { + continue; + } + + var_0B[var_0B.size] = var_07[var_0C] + "_" + var_07[var_0E]; + } + } + + foreach(var_10 in var_0B) + { + level.weaponlist[level.weaponlist.size] = var_04 + "_" + var_10 + "_mp"; + } + } + + if(!isdefined(level.iszombiegame) || !level.iszombiegame) + { + foreach(var_13 in level.weaponlist) + { + precacheitem(var_13); + } + } + + thread maps\mp\_flashgrenades::main(); + thread maps\mp\_entityheadicons::init(); + thread maps\mp\_empgrenade::init(); + if(!isdefined(level.iszombiegame) || !level.iszombiegame) + { + thread maps\mp\_tridrone::init(); + thread maps\mp\_explosive_gel::init(); + thread maps\mp\_riotshield::init(); + } + + thread maps\mp\_exoknife::init(); + if(!isdefined(level.weapondropfunction)) + { + level.weapondropfunction = ::dropweaponfordeath; + } + + var_16 = 70; + level.claymoredetectiondot = cos(var_16); + level.claymoredetectionmindist = 20; + level.claymoredetectiongraceperiod = 0.75; + level.claymoredetonateradius = 192; + if(!isdefined(level.iszombiegame) || !level.iszombiegame) + { + level.minedetectiongraceperiod = 0.3; + level.minedetectionradius = 100; + level.minedetectionheight = 20; + level.minedamageradius = 256; + level.minedamagemin = 70; + level.minedamagemax = 210; + level.minedamagehalfheight = 46; + level.mineselfdestructtime = 120; + level.mine_launch = loadfx("vfx/weaponimpact/bouncing_betty_launch_dirt"); + level.mine_spin = loadfx("vfx/dust/bouncing_betty_swirl"); + level.mine_explode = loadfx("vfx/explosion/bouncing_betty_explosion"); + level.mine_beacon["enemy"] = loadfx("vfx/lights/light_c4_blink"); + level.mine_beacon["friendly"] = loadfx("vfx/lights/light_mine_blink_friendly"); + level.empgrenadeexplode = loadfx("vfx/explosion/emp_grenade_mp"); + } + + level._effect["mine_stunned"] = loadfx("vfx/sparks/emp_drone_damage"); + level.delayminetime = 3; + level.sentry_fire = loadfx("fx/muzzleflashes/shotgunflash"); + level.stingerfxid = loadfx("fx/explosions/aerial_explosion_large"); + level.primary_weapon_array = []; + level.side_arm_array = []; + level.grenade_array = []; + level.missile_array = []; + level.inventory_array = []; + level.mines = []; + level.trophies = []; + if(!maps\mp\_utility::invirtuallobby()) + { + if(!isdefined(level.iszombiegame) || !level.iszombiegame) + { + precachemodel("weapon_claymore_bombsquad"); + precachemodel("weapon_c4_bombsquad"); + precachemodel("projectile_m67fraggrenade_bombsquad"); + precachemodel("projectile_semtex_grenade_bombsquad"); + precachemodel("weapon_light_stick_tactical_bombsquad"); + precachemodel("projectile_bouncing_betty_grenade"); + precachemodel("projectile_bouncing_betty_grenade_bombsquad"); + precachemodel("weapon_jammer"); + precachemodel("weapon_jammer_bombsquad"); + precachemodel("weapon_radar"); + precachemodel("weapon_radar_bombsquad"); + precachemodel("mp_trophy_system"); + precachemodel("mp_trophy_system_bombsquad"); + precachemodel("projectile_semtex_grenade"); + precachemodel("npc_variable_grenade_lethal"); + precacheshader("exo_hud_cloak_overlay"); + } + + precachelaser("mp_attachment_lasersight"); + precachelaser("mp_attachment_directhack"); + precachelaser("mp_attachment_lasersight_short"); + level._effect["equipment_explode"] = loadfx("vfx/explosion/sparks_burst_lrg_c"); + level._effect["sniperDustLarge"] = loadfx("vfx/dust/sniper_dust_kickup"); + level._effect["sniperDustLargeSuppress"] = loadfx("vfx/dust/sniper_dust_kickup_accum_suppress"); + } + + level thread onplayerconnect(); + level.c4explodethisframe = 0; + common_scripts\utility::array_thread(getentarray("misc_turret","classname"),::turret_monitoruse); } //Function Number: 2 @@ -1212,9 +1378,11 @@ checkhit(param_00,param_01) case "pistol": case "rifle": case "sniper": + self.hits++; break; case "spread": + self.hits = 1; break; case "rocketlauncher": @@ -1228,6 +1396,39 @@ checkhit(param_00,param_01) default: break; } + + if(issubstr(param_00,"riotshield")) + { + thread maps\mp\gametypes\_gamelogic::threadedsetweaponstatbyname("riotshield",self.hits,"hits"); + self.hits = 0; + } + + waittillframeend; + if(isdefined(self.hitsthismag[param_00])) + { + thread checkhitsthismag(param_00); + } + + if(!isdefined(self.lasthittime[param_00])) + { + self.lasthittime[param_00] = 0; + } + + if(self.lasthittime[param_00] == gettime()) + { + return; + } + + self.lasthittime[param_00] = gettime(); + var_08 = maps\mp\gametypes\_persistence::statgetbuffered("totalShots"); + var_09 = maps\mp\gametypes\_persistence::statgetbuffered("hits") + 1; + if(var_09 <= var_08) + { + maps\mp\gametypes\_persistence::statsetbuffered("hits",var_09); + maps\mp\gametypes\_persistence::statsetbuffered("misses",int(var_08 - var_09)); + var_0A = clamp(float(var_09) / float(var_08),0,1) * 10000; + maps\mp\gametypes\_persistence::statsetbuffered("accuracy",int(var_0A)); + } } //Function Number: 34 @@ -1376,12 +1577,16 @@ begingrenadetracking() case "frag_grenade_var_mp": case "semtex_mp": case "frag_grenade_mp": + var_01 thread maps\mp\gametypes\_shellshock::grenade_earthquake(); + var_01.originalowner = self; break; case "flash_grenade_mp": + var_01 thread ninebangexplodewaiter(); break; case "concussion_grenade_mp": + var_01 thread empexplodewaiter(); break; case "stun_grenade_var_mp": @@ -1390,11 +1595,13 @@ begingrenadetracking() case "smoke_grenade_var_mp": case "smoke_grenade_mp": + var_01 thread watchsmokeexplode(); break; case "paint_grenade_horde_mp": case "paint_grenade_var_mp": case "paint_grenade_mp": + var_01 thread watchpaintgrenade(); break; } } @@ -1555,32 +1762,51 @@ waitsmoketime(param_00,param_01,param_02) watchmissileusage() { self endon("disconnect"); - self waittill("missile_fire",var_00,var_01); - var_02 = [var_00]; - if(issubstr(var_01,"_gl")) + for(;;) { - var_00.owner = self; - var_00.primaryweapon = self getcurrentprimaryweapon(); - var_00 thread maps\mp\gametypes\_shellshock::grenade_earthquake(); - } - - if(isdefined(var_00)) - { - var_00.weaponname = var_01; - if(isprimaryorsecondaryprojectileweapon(var_01)) + self waittill("missile_fire",var_00,var_01); + var_02 = [var_00]; + if(issubstr(var_01,"_gl")) { - var_00.firedads = self playerads(); + var_00.owner = self; + var_00.primaryweapon = self getcurrentprimaryweapon(); + var_00 thread maps\mp\gametypes\_shellshock::grenade_earthquake(); } - } - switch(var_01) - { - case "iw5_lsr_mp": - case "stinger_mp": - break; + if(isdefined(var_00)) + { + var_00.weaponname = var_01; + if(isprimaryorsecondaryprojectileweapon(var_01)) + { + var_00.firedads = self playerads(); + } + } - default: - break; + switch(var_01) + { + case "iw5_lsr_mp": + case "stinger_mp": + var_00.lockedstingertarget = self.stingertarget; + level notify("stinger_fired",self,var_02); + thread maps\mp\_utility::setaltsceneobj(var_00,"tag_origin",65); + break; + + default: + break; + } + + switch(var_01) + { + case "ac130_40mm_mp": + case "ac130_105mm_mp": + case "rpg_mp": + case "remotemissile_projectile_mp": + var_00 thread maps\mp\gametypes\_shellshock::grenade_earthquake(); + break; + + default: + break; + } } } @@ -1763,14 +1989,22 @@ flashbangplayer(param_00,param_01,param_02) switch(param_00 getstance()) { case "stand": + var_0C = (var_0C[0],var_0C[1],var_0C[2] + var_05); break; case "crouch": + var_0C = (var_0C[0],var_0C[1],var_0C[2] + var_06); break; case "prone": + var_0C = (var_0C[0],var_0C[1],var_0C[2] + var_07); break; } + + var_0D = param_01 - var_0C; + var_0D = vectornormalize(var_0D); + var_0E = 0.5 * 1 + vectordot(var_0B,var_0D); + param_00 notify("flashbang",param_01,var_09,var_0E,param_02); } //Function Number: 49 @@ -2522,31 +2756,92 @@ c4damage() self.maxhealth = 100000; self.health = self.maxhealth; var_00 = undefined; - self waittill("damage",var_01,var_00,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09); - if(!isplayer(var_00) && !isagent(var_00)) + for(;;) { - continue; - } - - if(!friendlyfirecheck(self.owner,var_00)) - { - continue; - } - - if(isdefined(var_09)) - { - var_0A = maps\mp\_utility::strip_suffix(var_09,"_lefthand"); - switch(var_0A) + self waittill("damage",var_01,var_00,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09); + if(!isplayer(var_00) && !isagent(var_00)) { - case "smoke_grenade_var_mp": - case "stun_grenade_var_mp": - case "smoke_grenade_mp": - case "stun_grenade_mp": - case "concussion_grenade_mp": - case "flash_grenade_mp": - break; + continue; + } + + if(!friendlyfirecheck(self.owner,var_00)) + { + continue; + } + + if(isdefined(var_09)) + { + var_0A = maps\mp\_utility::strip_suffix(var_09,"_lefthand"); + switch(var_0A) + { + case "smoke_grenade_var_mp": + case "stun_grenade_var_mp": + case "smoke_grenade_mp": + case "stun_grenade_mp": + case "concussion_grenade_mp": + case "flash_grenade_mp": + break; + } + } + + break; + } + + if(level.c4explodethisframe) + { + wait(0.1 + randomfloat(0.4)); + } + else + { + wait(0.05); + } + + if(!isdefined(self)) + { + return; + } + + level.c4explodethisframe = 1; + thread resetc4explodethisframe(); + if(isdefined(var_04) && issubstr(var_04,"MOD_GRENADE") || issubstr(var_04,"MOD_EXPLOSIVE")) + { + self.waschained = 1; + } + + if(isdefined(var_08) && var_08 & level.idflags_penetration) + { + self.wasdamagedfrombulletpenetration = 1; + } + + self.wasdamaged = 1; + if(isplayer(var_00)) + { + var_00 maps\mp\gametypes\_damagefeedback::updatedamagefeedback("c4"); + } + + if(level.teambased) + { + if(isdefined(var_00) && isdefined(self.owner)) + { + var_0B = var_00.pers["team"]; + var_0C = self.owner.pers["team"]; + if(isdefined(var_0B) && isdefined(var_0C) && var_0B != var_0C) + { + var_00 notify("destroyed_explosive"); + } } } + else if(isdefined(self.owner) && isdefined(var_00) && var_00 != self.owner) + { + var_00 notify("destroyed_explosive"); + } + + if(isdefined(self.trigger)) + { + self.trigger delete(); + } + + self detonate(var_00); } //Function Number: 76 @@ -2746,11 +3041,8 @@ getdamageableents(param_00,param_01,param_02,param_03) } var_0F = getentarray("misc_turret","classname"); - var_10 = var_0F; - var_12 = getfirstarraykey(var_10); - if(isdefined(var_12)) + foreach(var_11 in var_0F) { - var_11 = var_10[var_12]; var_0B = var_11.origin + (0,0,32); var_09 = distancesquared(param_00,var_0B); if(var_09 < var_05 && !param_02 || weapondamagetracepassed(param_00,var_0B,param_03,var_11)) @@ -2762,10 +3054,29 @@ getdamageableents(param_00,param_01,param_02,param_03) case "mp_remote_turret": case "mp_scramble_turret": case "sentry_minigun_weak": + var_04[var_04.size] = maps\mp\_utility::get_damageable_sentry(var_11,var_0B); break; } } } + + var_13 = getentarray("script_model","classname"); + foreach(var_15 in var_13) + { + if(var_15.model != "projectile_bouncing_betty_grenade" && var_15.model != "ims_scorpion_body") + { + continue; + } + + var_0B = var_15.origin + (0,0,32); + var_09 = distancesquared(param_00,var_0B); + if(var_09 < var_05 && !param_02 || weapondamagetracepassed(param_00,var_0B,param_03,var_15)) + { + var_04[var_04.size] = maps\mp\_utility::get_damageable_mine(var_15,var_0B); + } + } + + return var_04; } //Function Number: 83 @@ -2943,15 +3254,139 @@ onweapondamage(param_00,param_01,param_02,param_03,param_04) case "stun_grenade_var_mp": case "stun_grenade_mp": case "stun_grenade_horde_mp": + var_0D = param_00.origin; + var_0E = distancesquared(var_0D,self.origin); + if(var_0E > var_07) + { + return; + } + + var_0F = self sightconetrace(var_0D); + if(var_0F < 0.5) + { + return; + } + + if(var_0E <= var_08) + { + var_10 = 1; + } + else + { + var_10 = 1 - var_0F - var_09 / var_08 - var_09; + } + + var_11 = anglestoforward(self getplayerangles()); + var_12 = self.origin; + switch(self getstance()) + { + case "stand": + var_12 = (var_12[0],var_12[1],var_12[2] + var_09); + break; + + case "crouch": + var_12 = (var_12[0],var_12[1],var_12[2] + var_0A); + break; + + case "prone": + var_12 = (var_12[0],var_12[1],var_12[2] + var_0B); + break; + } + + var_13 = var_0D - var_12; + var_13 = vectornormalize(var_13); + var_14 = 0.5 * 1 + vectordot(var_11,var_13); + if(!isdefined(param_00)) + { + return; + } + else if(param_02 == "MOD_IMPACT") + { + return; + } + + var_15 = 1; + if(isdefined(param_00.owner) && param_00.owner == param_04) + { + var_15 = 0; + } + + var_16 = 3; + if(isdefined(self.stunscaler)) + { + var_16 = var_16 * self.stunscaler; + } + + wait(0.05); + self notify("concussed",param_04); + if(param_04 != self) + { + param_04 maps\mp\gametypes\_missions::processchallenge("ch_alittleconcussed"); + } + + var_17 = var_10 * var_14 * var_16; + self shellshock("stun_grenade_mp",var_17,0,1,var_10 * var_16); + self.concussionendtime = gettime() + var_16 * 1000; + if(var_17 > 0.1) + { + thread maps\mp\_utility::light_set_override_for_player("flashed",0.1,0.1,var_10 * var_14 * var_16 - 0.1); + } + + if(var_15 && param_04 != self) + { + param_04 thread maps\mp\gametypes\_damagefeedback::updatedamagefeedback("stun"); + } break; case "concussion_grenade_mp": + if(!isdefined(param_00)) + { + return; + } + else if(param_02 == "MOD_IMPACT") + { + return; + } + + var_15 = 1; + if(isdefined(param_00.owner) && param_00.owner == param_04) + { + var_15 = 0; + } + + var_18 = 512; + var_19 = 1 - distance(self.origin,param_00.origin) / var_18; + if(var_19 < 0) + { + var_19 = 0; + } + + var_16 = 2 + 4 * var_19; + if(isdefined(self.stunscaler)) + { + var_16 = var_16 * self.stunscaler; + } + + wait(0.05); + self notify("concussed",param_04); + if(param_04 != self) + { + param_04 maps\mp\gametypes\_missions::processchallenge("ch_alittleconcussed"); + } + + self shellshock("concussion_grenade_mp",var_16); + self.concussionendtime = gettime() + var_16 * 1000; + if(var_15 && param_04 != self) + { + param_04 thread maps\mp\gametypes\_damagefeedback::updatedamagefeedback("stun"); + } break; case "weapon_cobra_mk19_mp": break; default: + maps\mp\gametypes\_shellshock::shellshockondamage(param_02,param_03); break; } } @@ -3017,10 +3452,10 @@ isprimaryweapon(param_00) case "rifle": case "sniper": case "spread": - break; + return 1; default: - break; + return 0; } } @@ -3041,16 +3476,16 @@ isbulletweapon(param_00) case "weapon_sniper": case "weapon_assault": case "weapon_smg": - break; + return 1; case "weapon_heavy": - break; + return issubstr(param_00,"exoxmg") || issubstr(param_00,"lsat") || issubstr(param_00,"asaw") || issubstr(param_00,"dlcgun2_mp") || issubstr(param_00,"dlcgun2loot"); case "weapon_special": - break; + return issubstr(param_00,"dlcgun3_mp") || issubstr(param_00,"dlcgun3loot") || issubstr(param_00,"dlcgun5loot5"); default: - break; + return 0; } } @@ -3520,32 +3955,73 @@ minedamagemonitor() self.maxhealth = 100000; self.health = self.maxhealth; var_00 = undefined; - self waittill("damage",var_01,var_00,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09); - if(!isplayer(var_00) && !isagent(var_00)) + for(;;) { - continue; - } - - if(isdefined(var_09) && var_09 == "bouncingbetty_mp") - { - continue; - } - - if(!friendlyfirecheck(self.owner,var_00)) - { - continue; - } - - if(isdefined(var_09)) - { - var_0A = maps\mp\_utility::strip_suffix(var_09,"_lefthand"); - switch(var_0A) + self waittill("damage",var_01,var_00,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09); + if(!isplayer(var_00) && !isagent(var_00)) { - case "smoke_grenade_var_mp": - case "smoke_grenade_mp": - break; + continue; + } + + if(isdefined(var_09) && var_09 == "bouncingbetty_mp") + { + continue; + } + + if(!friendlyfirecheck(self.owner,var_00)) + { + continue; + } + + if(isdefined(var_09)) + { + var_0A = maps\mp\_utility::strip_suffix(var_09,"_lefthand"); + switch(var_0A) + { + case "smoke_grenade_var_mp": + case "smoke_grenade_mp": + break; + } + } + + break; + } + + self notify("mine_destroyed"); + if(isdefined(var_04) && issubstr(var_04,"MOD_GRENADE") || issubstr(var_04,"MOD_EXPLOSIVE")) + { + self.waschained = 1; + } + + if(isdefined(var_08) && var_08 & level.idflags_penetration) + { + self.wasdamagedfrombulletpenetration = 1; + } + + self.wasdamaged = 1; + if(isplayer(var_00)) + { + var_00 maps\mp\gametypes\_damagefeedback::updatedamagefeedback("bouncing_betty"); + } + + if(level.teambased) + { + if(isdefined(var_00) && isdefined(self.owner)) + { + var_0B = var_00.pers["team"]; + var_0C = self.owner.pers["team"]; + if(isdefined(var_0B) && isdefined(var_0C) && var_0B != var_0C) + { + var_00 notify("destroyed_explosive"); + } } } + else if(isdefined(self.owner) && isdefined(var_00) && var_00 != self.owner) + { + var_00 notify("destroyed_explosive"); + } + + thread mineexplode(var_00); } //Function Number: 120 @@ -4405,11 +4881,30 @@ isweaponallowedingrenadegraceperiod(param_00) case "explosive_drone_mp": case "semtex_mp": case "frag_grenade_mp": - break; + return 0; default: break; } + + var_01 = getweaponbasename(param_00); + if(isdefined(var_01)) + { + switch(var_01) + { + case "iw5_stingerm7_mp": + case "iw5_microdronelauncher_mp": + case "iw5_exocrossbow_mp": + case "iw5_maaws_mp": + case "iw5_mahem_mp": + return 0; + + default: + break; + } + } + + return 1; } //Function Number: 152 diff --git a/AW/PC/MP/maps/mp/gametypes/ball.gsc b/AW/PC/maps/mp/gametypes/ball.gsc similarity index 97% rename from AW/PC/MP/maps/mp/gametypes/ball.gsc rename to AW/PC/maps/mp/gametypes/ball.gsc index 057f702..8256be1 100644 --- a/AW/PC/MP/maps/mp/gametypes/ball.gsc +++ b/AW/PC/maps/mp/gametypes/ball.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\gametypes\ball.gsc + * Decompiled File: mp\gametypes\ball.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 96 - * Decompile Time: 1598 ms - * Timestamp: 10/27/2023 1:43:02 AM + * Decompile Time: 1435 ms + * Timestamp: 4/22/2024 2:10:39 AM *******************************************************************/ //Function Number: 1 @@ -406,20 +406,20 @@ ball_default_origins() { level.default_goal_origins = []; var_00 = getentarray("flag_primary","targetname"); - var_01 = var_00; - var_03 = getfirstarraykey(var_01); - if(isdefined(var_03)) + foreach(var_02 in var_00) { - var_02 = var_01[var_03]; switch(var_02.script_label) { case "_a": + level.default_goal_origins[game["attackers"]] = var_02.origin; break; case "_b": + level.default_ball_origin = var_02.origin; break; case "_c": + level.default_goal_origins[game["defenders"]] = var_02.origin; break; } } @@ -635,20 +635,26 @@ ball_location_hud(param_00) return; } - var_01 = common_scripts\utility::waittill_any_return("pickup_object","dropped","reset"); - switch(var_01) + for(;;) { - case "pickup_object": - break; - - case "dropped": - break; - - case "reset": - break; - - default: - break; + var_01 = common_scripts\utility::waittill_any_return("pickup_object","dropped","reset"); + switch(var_01) + { + case "pickup_object": + setomnvar("ui_uplink_ball_carrier" + param_00 + 1,self.carrier getentitynumber()); + break; + + case "dropped": + setomnvar("ui_uplink_ball_carrier" + param_00 + 1,-2); + break; + + case "reset": + setomnvar("ui_uplink_ball_carrier" + param_00 + 1,-1); + break; + + default: + break; + } } } @@ -2154,7 +2160,28 @@ ball_create_team_goal(param_00) default: break; } + + if(!isdefined(var_03.origin)) + { + var_03.origin = level.default_goal_origins[param_00]; + } + + var_03 ball_find_ground(); + if(maps\mp\_utility::isaugmentedgamemode()) + { + var_03.origin = var_03.ground_origin + (0,0,220); + } + else + { + var_03.origin = var_03.ground_origin + (0,0,90); + } } + + var_03.radius = 70; + var_03.team = param_00; + var_03.ball_in_goal = 0; + var_03.highestspawndistratio = 0; + level.ball_goals[param_00] = var_03; } //Function Number: 88 @@ -2194,6 +2221,27 @@ ball_create_ball_starts(param_00) default: break; } + + if(!isdefined(var_09)) + { + var_09 = level.default_ball_origin; + } + + ball_add_start(var_09); + } + + var_0A = param_00 - level.ball_starts.size; + if(var_0A <= 0) + { + return; + } + + var_0B = level.ball_starts[0].origin; + var_0C = getnodesinradius(var_0B,200,20,50); + var_0C = common_scripts\utility::array_randomize(var_0C); + for(var_0D = 0;var_0D < var_0A && var_0D < var_0C.size;var_0D++) + { + ball_add_start(var_0C[var_0D].origin); } } diff --git a/AW/PC/MP/maps/mp/gametypes/common_sd_sr.gsc b/AW/PC/maps/mp/gametypes/common_sd_sr.gsc similarity index 99% rename from AW/PC/MP/maps/mp/gametypes/common_sd_sr.gsc rename to AW/PC/maps/mp/gametypes/common_sd_sr.gsc index 11ba502..ba4ea69 100644 --- a/AW/PC/MP/maps/mp/gametypes/common_sd_sr.gsc +++ b/AW/PC/maps/mp/gametypes/common_sd_sr.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\gametypes\common_sd_sr.gsc + * Decompiled File: mp\gametypes\common_sd_sr.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 38 - * Decompile Time: 656 ms - * Timestamp: 10/27/2023 1:43:04 AM + * Decompile Time: 569 ms + * Timestamp: 4/22/2024 2:10:41 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/gametypes/conf.gsc b/AW/PC/maps/mp/gametypes/conf.gsc similarity index 99% rename from AW/PC/MP/maps/mp/gametypes/conf.gsc rename to AW/PC/maps/mp/gametypes/conf.gsc index e4ffd7a..1b03f8c 100644 --- a/AW/PC/MP/maps/mp/gametypes/conf.gsc +++ b/AW/PC/maps/mp/gametypes/conf.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\gametypes\conf.gsc + * Decompiled File: mp\gametypes\conf.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 12 - * Decompile Time: 236 ms - * Timestamp: 10/27/2023 1:43:05 AM + * Decompile Time: 189 ms + * Timestamp: 4/22/2024 2:10:41 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/gametypes/ctf.gsc b/AW/PC/maps/mp/gametypes/ctf.gsc similarity index 99% rename from AW/PC/MP/maps/mp/gametypes/ctf.gsc rename to AW/PC/maps/mp/gametypes/ctf.gsc index 22cb82a..06a4621 100644 --- a/AW/PC/MP/maps/mp/gametypes/ctf.gsc +++ b/AW/PC/maps/mp/gametypes/ctf.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\gametypes\ctf.gsc + * Decompiled File: mp\gametypes\ctf.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 57 - * Decompile Time: 996 ms - * Timestamp: 10/27/2023 1:43:09 AM + * Decompile Time: 973 ms + * Timestamp: 4/22/2024 2:10:45 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/gametypes/dm.gsc b/AW/PC/maps/mp/gametypes/dm.gsc similarity index 97% rename from AW/PC/MP/maps/mp/gametypes/dm.gsc rename to AW/PC/maps/mp/gametypes/dm.gsc index 91493fe..af7b953 100644 --- a/AW/PC/MP/maps/mp/gametypes/dm.gsc +++ b/AW/PC/maps/mp/gametypes/dm.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\gametypes\dm.gsc + * Decompiled File: mp\gametypes\dm.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 8 - * Decompile Time: 147 ms - * Timestamp: 10/27/2023 1:43:09 AM + * Decompile Time: 146 ms + * Timestamp: 4/22/2024 2:10:45 AM *******************************************************************/ //Function Number: 1 @@ -196,6 +196,8 @@ issoringevent(param_00) case "warbird_kill": case "vulcan_kill": case "kill": - break; + return 1; } + + return 0; } \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/gametypes/dom.gsc b/AW/PC/maps/mp/gametypes/dom.gsc similarity index 96% rename from AW/PC/MP/maps/mp/gametypes/dom.gsc rename to AW/PC/maps/mp/gametypes/dom.gsc index 32284a7..4eadf3d 100644 --- a/AW/PC/MP/maps/mp/gametypes/dom.gsc +++ b/AW/PC/maps/mp/gametypes/dom.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\gametypes\dom.gsc + * Decompiled File: mp\gametypes\dom.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 39 - * Decompile Time: 716 ms - * Timestamp: 10/27/2023 1:43:12 AM + * Decompile Time: 605 ms + * Timestamp: 4/22/2024 2:10:47 AM *******************************************************************/ //Function Number: 1 @@ -1110,20 +1110,60 @@ getflagteam() //Function Number: 35 flagsetup() { - var_00 = level.domflags; - var_02 = getfirstarraykey(var_00); - if(isdefined(var_02)) + foreach(var_01 in level.domflags) { - var_01 = var_00[var_02]; switch(var_01.label) { case "_a": + var_01.dompointnumber = 0; break; case "_b": + var_01.dompointnumber = 1; break; case "_c": + var_01.dompointnumber = 2; + break; + } + } + + var_03 = maps\mp\gametypes\_spawnlogic::getspawnpointarray("mp_dom_spawn"); + foreach(var_05 in var_03) + { + var_05.preferreddompoint = undefined; + if(isdefined(var_05.script_noteworthy)) + { + if(var_05.script_noteworthy == "a_override") + { + var_05.preferreddompoint = 0; + continue; + } + else if(var_05.script_noteworthy == "b_override") + { + var_05.preferreddompoint = 1; + continue; + } + else if(var_05.script_noteworthy == "c_override") + { + var_05.preferreddompoint = 2; + continue; + } + } + + var_05.nearflagpoint = getnearestflagpoint(var_05); + switch(var_05.nearflagpoint.useobj.dompointnumber) + { + case 0: + var_05.preferreddompoint = 0; + break; + + case 1: + var_05.preferreddompoint = 1; + break; + + case 2: + var_05.preferreddompoint = 2; break; } } diff --git a/AW/PC/MP/maps/mp/gametypes/gun.gsc b/AW/PC/maps/mp/gametypes/gun.gsc similarity index 95% rename from AW/PC/MP/maps/mp/gametypes/gun.gsc rename to AW/PC/maps/mp/gametypes/gun.gsc index 832a4af..9d6ac57 100644 --- a/AW/PC/MP/maps/mp/gametypes/gun.gsc +++ b/AW/PC/maps/mp/gametypes/gun.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\gametypes\gun.gsc + * Decompiled File: mp\gametypes\gun.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 23 - * Decompile Time: 402 ms - * Timestamp: 10/27/2023 1:43:14 AM + * Decompile Time: 384 ms + * Timestamp: 4/22/2024 2:10:49 AM *******************************************************************/ //Function Number: 1 @@ -593,12 +593,22 @@ setguns() switch(var_05) { case 1: + level.gun_guns = var_03; break; case 2: + level.gun_guns = var_04; break; case 3: + for(var_01 = 0;var_01 < level.gun_guns.size;var_01++) + { + level.gun_guns[var_01] = var_03[var_01]; + if(common_scripts\utility::cointoss()) + { + level.gun_guns[var_01] = var_04[var_01]; + } + } break; } } @@ -610,38 +620,50 @@ assign_random_loot_variant(param_00,param_01) switch(var_02) { case 0: + param_00 = param_00 + "loot0"; break; case 1: + param_00 = param_00 + "loot1"; break; case 2: + param_00 = param_00 + "loot2"; break; case 3: + param_00 = param_00 + "loot3"; break; case 4: + param_00 = param_00 + "loot4"; break; case 5: + param_00 = param_00 + "loot5"; break; case 6: + param_00 = param_00 + "loot6"; break; case 7: + param_00 = param_00 + "loot7"; break; case 8: + param_00 = param_00 + "loot8"; break; case 9: + param_00 = param_00 + "loot9"; break; default: break; } + + return param_00; } //Function Number: 23 diff --git a/AW/PC/maps/mp/gametypes/horde.gsc b/AW/PC/maps/mp/gametypes/horde.gsc new file mode 100644 index 0000000..eba52f9 --- /dev/null +++ b/AW/PC/maps/mp/gametypes/horde.gsc @@ -0,0 +1,5303 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\gametypes\horde.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 174 + * Decompile Time: 2768 ms + * Timestamp: 4/22/2024 2:10:57 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\mp\gametypes\_globallogic::init(); + lib_0540::setupcallbacks(); + maps\mp\gametypes\_globallogic::setupcallbacks(); + if(isusingmatchrulesdata()) + { + level.initializematchrules = ::initializematchrules; + [[ level.initializematchrules ]](); + level thread maps\mp\_utility::reinitializematchrulesonmigration(); + } + else + { + maps\mp\_utility::registerroundswitchdvar(level.gametype,0,0,9); + maps\mp\_utility::registertimelimitdvar(level.gametype,0); + maps\mp\_utility::registerscorelimitdvar(level.gametype,0); + maps\mp\_utility::registerroundlimitdvar(level.gametype,1); + maps\mp\_utility::registerwinlimitdvar(level.gametype,1); + maps\mp\_utility::registernumlivesdvar(level.gametype,1); + maps\mp\_utility::registerhalftimedvar(level.gametype,0); + setdvarifuninitialized("scr_horde_startinground",0); + setdvarifuninitialized("scr_horde_difficulty",0); + setdynamicdvar("scr_horde_hardcore",0); + } + + setdynamicdvar("r_hudOutlineWidth",2); + setdynamicdvar("scr_horde_timeLimit",0); + setdynamicdvar("scr_horde_numLives",1); + setdvarifuninitialized("horde_set_character_models",0); + maps\mp\_utility::registertimelimitdvar(level.gametype,0); + setdvarifuninitialized("scr_waveTableVersion",2); + setspecialloadouts(); + initpickups(); + loadeffects(); + level.teambased = 1; + level.ishorde = 1; + level.disableforfeit = 1; + level.nobuddyspawns = 1; + level.alwaysdrawfriendlynames = 1; + level.scorelimitoverride = 1; + level.allowlatecomers = 1; + level.skiplivesxpscalar = 1; + level.highlightairdrop = 1; + level.nocratetimeout = 1; + level.noairdropkills = 1; + level.allowlaststandai = 1; + level.enableteamintel = 1; + level.isteamintelcomplete = 1; + level.removekillstreakicons = 1; + level.assists_disabled = 1; + level.skippointdisplayxp = 1; + level.forceranking = 1; + level.allowfauxdeath = 0; + level.killstreakrewards = 0; + level.supportintel = 0; + level.donottrackgamesplayed = 1; + level.playerteam = "allies"; + level.enemyteam = "axis"; + level.laststandusetime = 2000; + level.currentteamintelname = ""; + level.timeromnvars = []; + level.rankedmatch = 0; + level.grenadegraceperiod = 0; + level.disableweaponstats = 1; + level.weaponweightfunc = ::hordeweaponweight; + level.onstartgametype = ::onstartgametype; + level.getspawnpoint = ::getspawnpoint; + level.onnormaldeath = ::onnormaldeath; + level.onspawnplayer = ::onspawnplayer; + level.modifyplayerdamage = ::modifyplayerdamagehorde; + level.callbackplayerlaststand = ::maps\mp\gametypes\_horde_laststand::callback_playerlaststandhorde; + level.ondeadevent = ::ondeadevent; + level.customcratefunc = ::maps\mp\gametypes\_horde_crates::createhordecrates; + level.onsuicidedeath = ::onnormaldeath; + level.weapondropfunction = ::dropweaponfordeathhorde; + level.hordevomissionfail = ::maps\mp\gametypes\_horde_dialog::hordevomissionfail; + level.hordeupdatetimestats = ::maps\mp\gametypes\_horde_util::hordeupdatetimestats; + level.cb_usedkillstreak = ::maps\mp\gametypes\_horde_util::horderemoveksicon; + level.custom_giveloadout = ::hordecustomgiveloadout; + level.hordehandlejuggdeath = ::maps\mp\gametypes\_horde_laststand::hordehandlejuggdeath; + level.hordegivebackgoliath = ::maps\mp\gametypes\_horde_util::hordegivebackgoliath; + level.laststandsaveloadoutinfo = ::maps\mp\gametypes\_horde_laststand::laststandsaveloadoutinfo; + level.hordeonunderwater = ::maps\mp\gametypes\_horde_util::hordeonunderwater; + level.hordedropandresetuplinkball = ::maps\mp\gametypes\_horde_util::hordedropandresetuplinkball; + level.hordenumroundscompleted = 0; + level.wavefirstspawn = 1; + level.enemiesleft = 0; + level.activehordedefendlocs = []; + level.hordedefendlocs = []; + level.horde_defend_killcount = 10; + level.horde_collect_count = 20; + level.horde_defuse_count = 3; + level.hordecollected = 0; + level.objdefend = 0; + level.objcollect = 0; + level.objintel = 0; + level.objdefuse = 0; + level.objuplink = 0; + level.isobjectiveround = 0; + level.killssinceinteldrop = 0; + level.killssinceammodrop = 0; + level.hordewaveadjust = 0; + level.hordelevelflip = 1; + level.hordeempduration = 60; + level.hordepreviousfailureevent = "None"; + level.hordeweaponsjammed = 0; + level.zombiesstarted = 0; + level.onlydronesremaining = 0; + level.fastesttime = undefined; + level.numdroneswaitingtospawn = 0; + level.droneweapon = "remote_turret_mp"; + level.hordeclassic = 1; + level.players_ready = 0; + level.noonespawnedyet = 1; + level.weaponcamoorder = ["0","01","03","05","06","12","09","11","14","13","15","01","03","05","06","12","09","11","14","15","16"]; + level.horderoundstats = []; + level.horderoundstats["support_drops_earned"] = 0; + level.horderoundstats["round_time"] = 0; + level.horderoundstats["objective_points"] = 0; + level.classsettings = []; + level.classsettings["light"]["classhealth"] = 125; + level.classsettings["light"]["classDmgMod"] = 1; + level.classsettings["light"]["allowDodge"] = 1; + level.classsettings["light"]["allowSlide"] = 1; + level.classsettings["light"]["speed"] = 1.15; + level.classsettings["light"]["killstreak"] = "uav"; + level.classsettings["light"]["exoAbility"] = "exohoverhorde_equipment_mp"; + level.classsettings["light"]["classGrenade"] = "frag_grenade_horde_mp"; + level.classsettings["light"]["battery"] = 100; + level.classsettings["heavy"]["classhealth"] = 250; + level.classsettings["heavy"]["classDmgMod"] = 1.15; + level.classsettings["heavy"]["allowDodge"] = 0; + level.classsettings["heavy"]["allowSlide"] = 0; + level.classsettings["heavy"]["speed"] = 0.9; + level.classsettings["heavy"]["killstreak"] = "heavy_exosuit"; + level.classsettings["heavy"]["exoAbility"] = "exoshieldhorde_equipment_mp"; + level.classsettings["heavy"]["classGrenade"] = "frag_grenade_horde_mp"; + level.classsettings["heavy"]["battery"] = 100; + level.classsettings["support"]["classhealth"] = 150; + level.classsettings["support"]["classDmgMod"] = 1; + level.classsettings["support"]["allowDodge"] = 0; + level.classsettings["support"]["allowSlide"] = 0; + level.classsettings["support"]["speed"] = 1; + level.classsettings["support"]["killstreak"] = "remote_mg_sentry_turret"; + level.classsettings["support"]["exoAbility"] = "exocloakhorde_equipment_mp"; + level.classsettings["support"]["classGrenade"] = "frag_grenade_horde_mp"; + level.classsettings["support"]["battery"] = 100; + level.classsettings["demolition"]["classhealth"] = 150; + level.classsettings["demolition"]["classDmgMod"] = 1; + level.classsettings["demolition"]["allowDodge"] = 0; + level.classsettings["demolition"]["allowSlide"] = 1; + level.classsettings["demolition"]["speed"] = 1; + level.classsettings["demolition"]["killstreak"] = "missile_strike"; + level.classsettings["demolition"]["exoAbility"] = "exorepulsor_equipment_mp"; + level.classsettings["demolition"]["classGrenade"] = "contact_grenade_horde_mp"; + level.classsettings["demolition"]["battery"] = 100; + level.modifiershieldaitypes = []; + level.modifierexplosiveaitypes = []; + level.modifiercompanionaitypes = []; + level.modifiertoxicaitypes = []; + level.hordemodedodgers = ["assault","assault_elite","em1","em1_heavy","cloak","rocket","em1_heavy"]; + level.hordemodegrunts = ["shotgun","smg","assault","em1"]; + level.hordemodeelites = ["em1_heavy","assault_elite","rocket","cloak","epm3","handler"]; + level.hordemodespecials = ["Quad","jugg","jugg_handler","em1_heavy"]; + level.hordegetoutsideposition = ::hordegetoutsideposition; + level.hordedome = getentarray("horde_dome","targetname"); + level thread watchforhostmigrationselectclass(); + level thread hordeexploitclip(); + thread maps\mp\gametypes\_horde_warbird::horde_setup_warbird_pathnode_patch(); +} + +//Function Number: 2 +hordegetoutsideposition() +{ + sortdroplocations(); + var_00 = level.hordedroplocations[0]; + level.hordeuseddroplocations[level.hordeuseddroplocations.size] = var_00; + level.hordedroplocations = common_scripts\utility::array_remove(level.hordedroplocations,var_00); + return var_00; +} + +//Function Number: 3 +hordeautoassign() +{ + thread maps\mp\gametypes\_menus::setteam(level.playerteam); +} + +//Function Number: 4 +loadeffects() +{ + level._effect["spawn_effect"] = loadfx("fx/maps/mp_siege_dam/mp_siege_spawn"); + level._effect["drone_fan_distortion"] = loadfx("vfx/distortion/drone_fan_distortion"); + level._effect["drone_fan_distortion_large"] = loadfx("vfx/distortion/drone_fan_distortion_large"); + level._effect["drone_thruster_distortion"] = loadfx("vfx/distortion/drone_thruster_distortion"); + level._effect["pdrone_death_explosion"] = loadfx("vfx/explosion/vehicle_pdrone_explosion"); + level._effect["pdrone_large_death_explosion"] = loadfx("vfx/explosion/vehicle_pdrone_large_explosion"); + level._effect["pdrone_emp_death"] = loadfx("vfx/explosion/vehicle_pdrone_explosion"); + level._effect["drone_beacon_red"] = loadfx("vfx/lights/light_drone_beacon_red"); + level._effect["drone_beacon_red_fast"] = loadfx("vfx/lights/light_drone_beacon_red_fast"); + level._effect["drone_beacon_red_slow_nolight"] = loadfx("vfx/lights/light_drone_beacon_red_slow_nolight"); + level._effect["drone_beacon_red_sm_nolight"] = loadfx("vfx/lights/light_drone_beacon_red_sm_nolight"); + level._effect["emp_drone_damage"] = loadfx("vfx/sparks/emp_drone_damage"); + level._effect["tracking_grenade_spray_large"] = loadfx("vfx/trail/tracking_grenade_hovering"); + level._effect["tracking_grenade_spray_small"] = loadfx("vfx/trail/tracking_grenade_spay_small"); + level._effect["tracking_grenade_trail"] = loadfx("vfx/trail/tracking_grenade_trail"); + level._effect["toxic_gas"] = loadfx("vfx/props/flare_ambient_green"); +} + +//Function Number: 5 +initpickups() +{ + level.maxpickupsperround = getmaxpickupsperround(); + level.maxammopickupsperround = 4; + level.currentpickupcount = 0; + level.currentammopickupcount = 0; + level.ammopickupmodel = "mil_grenade_box"; + level.collectpickupmodel = "prop_dogtags_future_enemy_animated"; + level.ammopickupfunc = ::ammopickup; + level.collectpickupfunc = ::collectpickup; +} + +//Function Number: 6 +waitthenflashhudtimer(param_00) +{ + level endon("all_players_ready"); + level endon("collect_complete"); + maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(param_00); + settimeromnvar("ui_cranked_bomb_timer_final_seconds",1); +} + +//Function Number: 7 +sethudtimer(param_00,param_01) +{ + level thread waitthenflashhudtimer(param_01 - 5); + settimeromnvar("ui_cranked_bomb_timer_text",param_00); + settimeromnvar("ui_cranked_bomb_timer_end_milliseconds",int(gettime() + param_01 * 1000)); +} + +//Function Number: 8 +clearhudtimer() +{ + settimeromnvar("ui_cranked_bomb_timer_end_milliseconds",0); +} + +//Function Number: 9 +settimeromnvar(param_00,param_01) +{ + level.timeromnvars[param_00] = param_01; + foreach(var_03 in level.players) + { + if(!isagent(var_03)) + { + var_03 setclientomnvar(param_00,param_01); + } + } +} + +//Function Number: 10 +updatetimeromnvars(param_00) +{ + foreach(var_03, var_02 in level.timeromnvars) + { + if(!isagent(param_00)) + { + param_00 setclientomnvar(var_03,var_02); + } + } +} + +//Function Number: 11 +getmaxpickupsperround() +{ + var_00 = maps\mp\gametypes\_horde_util::getnumplayers() + 1; + return clamp(var_00,3,5); +} + +//Function Number: 12 +initializematchrules() +{ + maps\mp\_utility::setcommonrulesfrommatchrulesdata(); + setdynamicdvar("scr_horde_roundswitch",0); + maps\mp\_utility::registerroundswitchdvar("horde",0,0,9); + setdynamicdvar("scr_horde_roundlimit",1); + maps\mp\_utility::registerroundlimitdvar("horde",1); + setdynamicdvar("scr_horde_winlimit",1); + maps\mp\_utility::registerwinlimitdvar("horde",1); + setdynamicdvar("scr_horde_halftime",0); + maps\mp\_utility::registerhalftimedvar("horde",0); + setdynamicdvar("scr_horde_timeLimit",0); + maps\mp\_utility::registertimelimitdvar(level.gametype,0); + setdynamicdvar("scr_horde_numLives",1); + maps\mp\_utility::registernumlivesdvar(level.gametype,1); + setdynamicdvar("scr_horde_difficulty",getmatchrulesdata("hordeData","difficulty")); + setdynamicdvar("scr_horde_startinground",getmatchrulesdata("hordeData","startingWave")); + setdynamicdvar("scr_horde_hardcore",getmatchrulesdata("hordeData","supportDropsOff")); + setdynamicdvar("r_hudOutlineWidth",2); +} + +//Function Number: 13 +onstartgametype() +{ + setclientnamemode("auto_change"); + if(!isdefined(game["switchedsides"])) + { + game["switchedsides"] = 0; + } + + maps\mp\_utility::setobjectivetext("allies",&"OBJECTIVES_DOM"); + maps\mp\_utility::setobjectivetext("axis",&"OBJECTIVES_DOM"); + maps\mp\_utility::setobjectivescoretext("allies",&"HORDE_OBJECTIVE_SCORE"); + maps\mp\_utility::setobjectivescoretext("axis",&"HORDE_OBJECTIVE_SCORE"); + maps\mp\_utility::setobjectivehinttext("allies",&"HORDE_OBJECTIVE_HINT"); + maps\mp\_utility::setobjectivehinttext("axis",&"HORDE_OBJECTIVE_HINT"); + initspawns(); + maps\mp\gametypes\_horde_dialog::hordedialoginit(); + var_00[0] = level.gametype; + maps\mp\gametypes\_gameobjects::main(var_00); + inithordesettings(); + level thread monitoronlydrones(); + level thread onplayerconnecthorde(); + level thread runhordemode(); + if(!level.hordeishardcore) + { + level thread rundroplocations(); + } +} + +//Function Number: 14 +inithordesettings() +{ + setdvar("g_keyboarduseholdtime",250); + level.hordedroplocations = common_scripts\utility::getstructarray("horde_drop","targetname"); + level.hordeuseddroplocations = []; + level.intelminigun = "iw6_minigunjugg_mp"; + level.hordedifficultylevel = int(clamp(getdvarint("scr_horde_difficulty"),0,2)); + level.hordestartinground = getdvarint("scr_horde_startinground"); + level.hordeishardcore = getdvarint("scr_horde_hardcore"); + level.maxrounds = 25; + level.currentroundnumber = 0; + level.currentpointtotal = 0; + level.enemyoutlinecolor = 0; + level.droplocationindex = 0; + hordedroplocationtrace(); + level.chancetospawndog = 0; + level.lastdoground = 0; + level.pointevents = []; + level.pointevents["damage_body"] = 10; + level.pointevents["damage_head"] = 30; + level.pointevents["kill_normal"] = 20; + level.pointevents["kill_melee"] = 50; + level.pointevents["kill_head"] = 50; + level.pointevents["kill_defend"] = 50; + level.pointevents["collect"] = 50; + level.hudleftspace = 50; + level.huddownspace = 395; + if(maps\mp\_utility::getmapname() == "mp_prison_z") + { + level.maxrounds = 12; + } +} + +//Function Number: 15 +hordedroplocationtrace() +{ + foreach(var_01 in level.hordedroplocations) + { + var_02 = var_01.origin + (0,0,32); + var_03 = var_01.origin - (0,0,256); + var_04 = bullettrace(var_02,var_03,0); + var_01.tracelocation = var_01.origin; + if(var_04["fraction"] < 1) + { + var_01.tracelocation = var_04["position"]; + } + } +} + +//Function Number: 16 +onplayerconnecthorde() +{ + for(;;) + { + level waittill("connected",var_00); + var_00.gamemodefirstspawn = 1; + level thread createplayervariables(var_00); + level thread monitorstuck(var_00); + level thread monitordome(var_00); + level thread updateoutlines(var_00); + level thread updateobjectiveui(var_00); + level thread maps\mp\gametypes\_horde_smart_grenade::monitorsmartgrenade(var_00); + level thread maps\mp\gametypes\_horde_util::hordeupdatenummatches(var_00); + level thread monitorplayercamping(var_00); + level thread monitordisconnect(var_00); + if(isdefined(level.objdefend) && level.objdefend) + { + level thread hordedefendenemyoutline(var_00); + } + + thread forceclassselection(var_00); + var_00 thread maps\mp\gametypes\_horde_armory::closehordearmoryonoffhandweapon(); + } +} + +//Function Number: 17 +forceclassselection(param_00) +{ + param_00 endon("horde_class_change"); + param_00 endon("disconnect"); + param_00.usingarmory = 1; + param_00.classselection = 1; + thread monitorclassselection(param_00); + var_01 = param_00 common_scripts\utility::waittill_any_timeout(60,"death","becameSpectator"); + param_00 setclientomnvar("ui_horde_show_armory",0); + param_00.usingarmory = 0; + param_00.classselection = 0; + if(var_01 == "timeout") + { + param_00 notify("luinotifyserver","horde_exo_class",100); + } +} + +//Function Number: 18 +monitorclassselection(param_00) +{ + level endon("game_ended"); + param_00 endon("horde_class_change"); + param_00 endon("death"); + param_00 endon("becameSpectator"); + for(;;) + { + param_00 waittill("luinotifyserver",var_01,var_02); + if(var_01 == "horde_armory_closed") + { + wait(0.5); + param_00 setclientomnvar("ui_horde_armory_type","class"); + param_00 setclientomnvar("ui_horde_show_armory",1); + } + } +} + +//Function Number: 19 +monitordisconnect(param_00) +{ + level endon("game_ended"); + param_00 waittill("disconnect"); + level notify("player_disconnected"); +} + +//Function Number: 20 +createplayervariables(param_00) +{ + param_00.horde_perks = []; + param_00.pointnotifylua = []; + param_00.beingrevived = 0; + param_00.wasunderwater = 0; + param_00.hasselfrevive = 0; + param_00.saveweapons = []; + param_00.firstsaveweapon = "none"; + param_00.classselection = 0; + param_00.killz = 0; + param_00.numrevives = int(0); + param_00.numcratesobtained = 0; + param_00.roundsplayed = 0; + param_00.horde_score = int(0); + param_00.deaths = 511; + param_00 maps\mp\_utility::setpersstat("deaths",param_00.deaths); + param_00.objectivescompleted = 0; + param_00.meleekills = 0; + param_00.headshotkills = 0; + param_00.numsincesamedroptype = 0; + param_00.lastdroptype = "none"; + param_00.roundkills = 0; + param_00.roundheadshots = 0; + param_00.roundupgradepoints = 0; + param_00.hordeheadshots = 0; + param_00.armorypoints = 0; + param_00.collectcount = 0; + param_00.classdmgmod = 1; + param_00.weaponproficiency = 0; + param_00.hordearmor = 0; + param_00.hordeexobattery = 0; + param_00.energydmgmod = 1; + param_00.weapondmgmod = 1; + param_00.classabilitytime = 0; + param_00.classabilityready = 1; + param_00.classchosen = 0; + param_00.hordeclassturret = undefined; + param_00.isrunningarmorycommand = 0; + param_00.classswitchwaiting = 0; + param_00.isrunningweapongive = 0; + param_00.missileweapon = undefined; + param_00.rocket = undefined; + param_00.markedformech = []; + param_00.aerialassaultdrone = undefined; + param_00.hordeclassweapons["light"]["primary"] = "iw5_kf5_mp"; + param_00.hordeclassweapons["light"]["secondary"] = "iw5_titan45_mp_xmags"; + param_00.hordeclassweapons["support"]["primary"] = "iw5_uts19_mp"; + param_00.hordeclassweapons["support"]["secondary"] = "iw5_vbr_mp_xmags"; + param_00.hordeclassweapons["heavy"]["primary"] = "iw5_em1_mp"; + param_00.hordeclassweapons["heavy"]["secondary"] = "iw5_pbw_mp_xmags"; + param_00.hordeclassweapons["demolition"]["primary"] = "iw5_microdronelaunchercoop_mp"; + param_00.hordeclassweapons["demolition"]["secondary"] = "iw5_titan45_mp_xmags"; + param_00.hordekillstreakmodules = ["sentry_guardian","assault_ugv_ai","assault_ugv_mg"]; + param_00.classsettings = level.classsettings; + param_00.ignoreme = 1; + if(1) + { + if(0) + { + level.playerstartweaponname = "iw5_kf5_mp_none"; + } + else + { + level.playerstartweaponname = "iw5_kf5_mp"; + } + + var_01 = getweaponbasename(level.playerstartweaponname); + } + + level thread activateplayerhud(param_00); + level thread monitorpointnotifylua(param_00); + level thread maps\mp\gametypes\_horde_armory::monitorupgrades(param_00); + maps\mp\gametypes\_horde_util::hordecleardata(param_00); + maps\mp\gametypes\_horde_util::hordecompletetu1transition(param_00); + if(maps\mp\_utility::matchmakinggame()) + { + monitorinactivity(param_00); + } +} + +//Function Number: 21 +monitorinactivity(param_00) +{ + param_00 endon("disconnect"); + level endon("game_ended"); + var_01 = 0; + var_02 = 0; + for(;;) + { + var_03 = param_00 getnormalizedmovement(); + if(param_00 attackbuttonpressed() || param_00 adsbuttonpressed() || param_00 meleebuttonpressed() || param_00 fragbuttonpressed() || param_00 secondaryoffhandbuttonpressed() || param_00 jumpbuttonpressed() || param_00 sprintbuttonpressed() || var_03[0] != 0 || var_03[1] != 0) + { + var_01 = 0; + var_02 = 0; + } + + if(var_01 >= 180) + { + kick(param_00 getentitynumber(),"EXE_PLAYERKICKED_INACTIVE"); + break; + } + else if(var_01 >= 170 && !var_02) + { + param_00 iprintlnbold(&"GAME_INACTIVEDROPWARNING"); + var_02 = 1; + } + + if(param_00.sessionstate != "spectator") + { + var_01 = var_01 + 0.05; + } + + if(level.zombiesstarted) + { + break; + } + + wait(0.05); + } +} + +//Function Number: 22 +hasweaponstate(param_00,param_01) +{ + return isdefined(param_01) && isdefined(param_00.weaponstate[param_01]); +} + +//Function Number: 23 +playaispawneffect() +{ + playfx(level._effect["spawn_effect"],self.origin); +} + +//Function Number: 24 +onspawnplayer() +{ + var_00 = undefined; + if(self.gamemodefirstspawn) + { + self.pers["class"] = "gamemode"; + self.pers["lastClass"] = ""; + self.pers["gamemodeLoadout"] = level.hordeloadouts[level.playerteam]; + self.class = self.pers["class"]; + self.lastclass = self.pers["lastClass"]; + maps\mp\gametypes\_class::giveloadout(self.team,self.class); + self.maxhealth = 200; + self.health = self.maxhealth; + } + + if(isagent(self)) + { + if(!maps\mp\gametypes\_horde_util::isonhumanteam(self)) + { + setenemydifficultysettings(self); + var_00 = self.hordeloadout; + self.pers["gamemodeLoadout"] = var_00; + self.horde_type = var_00["type"]; + self.awardpoints = var_00["points"]; + if(var_00["type"] == "zombie") + { + self.agentname = undefined; + } + else + { + self.agentname = var_00["name_localized"]; + } + + thread playaispawneffect(); + self botsetdifficultysetting("allowGrenades",1); + } + else + { + self.pers["gamemodeLoadout"] = level.hordeloadouts["squadmate"]; + maps\mp\bots\_bots_util::bot_set_personality("camper"); + maps\mp\bots\_bots_util::bot_set_difficulty("regular"); + self botsetdifficultysetting("allowGrenades",1); + } + + self.avoidkillstreakonspawntimer = 0; + } + + thread onspawnfinished(var_00); +} + +//Function Number: 25 +setenemydifficultysettings(param_00) +{ + param_00 maps\mp\bots\_bots_util::bot_set_personality("run_and_gun"); + param_00 maps\mp\bots\_bots_util::bot_set_difficulty("recruit"); + param_00 hordeaddgeneraltuningvalues(); +} + +//Function Number: 26 +onspawnfinished(param_00) +{ + self endon("death"); + self endon("disconnect"); + level endon("game_ended"); + if(!self.gamemodefirstspawn) + { + return; + } + + self waittill("applyLoadout"); + maps\mp\killstreaks\_killstreaks::clearkillstreaks(); + if(maps\mp\gametypes\_horde_util::isonhumanteam(self)) + { + self givemaxammo(level.playerstartweaponname); + if(self.gamemodefirstspawn) + { + self setclientomnvar("ui_horde_show_armory",1); + } + + if(isplayer(self)) + { + self setweaponammoclip("frag_grenade_mp",1); + self setweaponammoclip("none",0); + self setclientomnvar("exo_ability_nrg_total0",0); + self setclientomnvar("ui_exo_battery_level0",0); + self takeweapon("frag_grenade_mp"); + self setlethalweapon("frag_grenade_horde_mp"); + self giveweapon("frag_grenade_horde_mp"); + self setweaponammoclip("frag_grenade_horde_mp",4); + maps\mp\_utility::giveperk("specialty_pistoldeath",0); + maps\mp\_utility::giveperk("specialty_horde_dualprimary",1,1); + self loadweapons(["iw5_em1_mp","iw5_kf5_mp","iw5_uts19_mp","iw5_titan45_mp","iw5_vbr_mp","iw5_pbw_mp"]); + self loadweapons(["iw5_microdronelauncher_mp","iw5_microdronelaunchercoop_mp"]); + self loadweapons(maps\mp\gametypes\_horde_laststand::hordelaststandweapon()); + childthread updaterespawnsplash(self.gamemodefirstspawn); + removeperkhud(self); + updatetimeromnvars(self); + } + + if(isagent(self)) + { + self.agentname = &"HORDE_GRUNT"; + self.horde_type = "Buddy"; + childthread ammorefillprimary(); + thread maps\mp\bots\_bots::bot_think_revive(); + } + } + else + { + childthread ammorefillprimary(); + childthread ammorefillsecondary(); + self.maxhealth = hordegetenemyhealth(param_00); + self.health = self.maxhealth; + hordeaddnavigationabilities(); + if(self.horde_type != "zombie") + { + hordeapplyaimodifiers(); + } + + switch(self.horde_type) + { + case "shotgun": + self.agentname = &"HORDE_GRUNT"; + self botsetdifficultysetting("maxNonAutoFireDelay",1500); + self botsetdifficultysetting("minNonAutoFireDelay",800); + self setagentcostumeindex(randomintrange(1,5)); + break; + + case "smg": + self.agentname = &"HORDE_GUNNER"; + hordesetcharactermodel("kva_body_smg_mp","kva_head_smg"); + self botsetdifficultysetting("minBurstFireTime",100); + self botsetdifficultysetting("maxBurstFireTime",600); + self botsetdifficultysetting("minTimeBetweenBursts",600); + self botsetdifficultysetting("maxTimeBetweenBursts",1500); + self botsetdifficultysetting("dodgeChance",0.3); + self botsetdifficultysetting("dodgeIntelligence",0.8); + self setagentcostumeindex(randomintrange(5,9)); + break; + + case "cloak": + self.agentname = &"HORDE_ASSASSIN"; + self.movespeedscaler = param_00["movespeedscale"]; + self botsetdifficultysetting("minBurstFireTime",200); + self botsetdifficultysetting("maxBurstFireTime",1000); + self botsetdifficultysetting("minTimeBetweenBursts",500); + self botsetdifficultysetting("maxTimeBetweenBursts",1200); + self botsetdifficultysetting("dodgeChance",0.8); + self botsetdifficultysetting("dodgeIntelligence",1); + self setagentcostumeindex(10); + self cloakingenable(); + break; + + case "assault": + self.agentname = &"HORDE_ASSAULT"; + self botsetdifficultysetting("minBurstFireTime",400); + self botsetdifficultysetting("maxBurstFireTime",1200); + self botsetdifficultysetting("minTimeBetweenBursts",400); + self botsetdifficultysetting("maxTimeBetweenBursts",1200); + self botsetdifficultysetting("dodgeChance",0.6); + self botsetdifficultysetting("dodgeIntelligence",0.8); + if(level.hordelevelflip < 2) + { + self botsetdifficultysetting("strafeChance",0.4); + self botsetdifficultysetting("reactionTime",425); + } + + self setagentcostumeindex(10); + break; + + case "assault_elite": + self.agentname = &"HORDE_ELITE"; + self botsetdifficultysetting("minBurstFireTime",600); + self botsetdifficultysetting("maxBurstFireTime",2400); + self botsetdifficultysetting("minTimeBetweenBursts",100); + self botsetdifficultysetting("maxTimeBetweenBursts",600); + self botsetdifficultysetting("dodgeChance",0.6); + self botsetdifficultysetting("dodgeIntelligence",0.8); + self botsetdifficultysetting("reactionTime",100); + self botsetdifficultysetting("diveChance",0.2); + if(level.hordelevelflip < 3) + { + self botsetdifficultysetting("strafeChance",0.7); + } + + self setagentcostumeindex(randomintrange(19,23)); + if(level.hordelevelflip > 1 || getdvarint("scr_horde_preview") > 0) + { + self takeallweapons(); + self giveweapon("turretheadmg_mp"); + self switchtoweaponimmediate("turretheadmg_mp"); + } + break; + + case "epm3": + self.agentname = &"HORDE_EPM3"; + self botsetdifficultysetting("dodgeChance",0.4); + self botsetdifficultysetting("dodgeIntelligence",0.8); + self botsetdifficultysetting("minInaccuracy",0.1); + self botsetdifficultysetting("maxInaccuracy",0.15); + self botsetdifficultysetting("minNonAutoFireDelay",200); + self botsetdifficultysetting("maxNonAutoFireDelay",400); + if(level.hordelevelflip < 3) + { + self botsetdifficultysetting("reactionTime",200); + } + + if(level.hordelevelflip < 2) + { + self botsetdifficultysetting("strafeChance",0.5); + } + + self setagentcostumeindex(15); + break; + + case "em1": + self.agentname = &"HORDE_BEAMER"; + hordesetcharactermodel("kva_hazmat_body_a_mp","kva_hazmat_head_a"); + self botsetdifficultysetting("dodgeChance",0.3); + self botsetdifficultysetting("dodgeIntelligence",0.5); + self botsetdifficultysetting("maxNonAutoFireDelay",2800); + self botsetdifficultysetting("minNonAutoFireDelay",1500); + self setagentcostumeindex(9); + break; + + case "em1_heavy": + self.agentname = &"HORDE_BEAMER_HEAVY"; + hordesetcharactermodel("nk_army_assault_body_mp","nk_army_a_head"); + self botsetdifficultysetting("dodgeChance",0.5); + self botsetdifficultysetting("dodgeIntelligence",0.5); + self botsetdifficultysetting("maxNonAutoFireDelay",1400); + self botsetdifficultysetting("minNonAutoFireDelay",750); + self setagentcostumeindex(18); + break; + + case "rocket": + self.agentname = &"HORDE_LAUNCHER"; + hordesetcharactermodel("atlas_arctic_guard_body_mp","atlas_arctic_head_a"); + self botsetdifficultysetting("maxNonAutoFireDelay",2000); + self botsetdifficultysetting("minNonAutoFireDelay",1000); + self setagentcostumeindex(17); + if(level.hordelevelflip > 1 || getdvarint("scr_horde_preview") > 0) + { + self takeallweapons(); + self giveweapon("turretheadrocket_mp"); + self switchtoweaponimmediate("turretheadrocket_mp"); + } + break; + + case "jugg": + self.agentname = &"HORDE_AST"; + maps\mp\killstreaks\_juggernaut::playersetjuggexomodel(); + self setplayermech(1); + self botsetstance("stand"); + self allowjump(0); + self allowladder(0); + self allowmantle(0); + self allowcrouch(0); + self allowprone(0); + maps\mp\_utility::playerallowhighjump(0,"class"); + maps\mp\_utility::playerallowdodge(0,"class"); + hordeattachminigunbarrel(); + thread hordeaddcompaniondrone(1,1,1); + thread maps\mp\killstreaks\_juggernaut::playercleanupbarrel(); + thread maps\mp\killstreaks\_juggernaut::play_goliath_death_fx(); + if(maps\mp\_utility::getmapname() == "mp_detroit") + { + thread maps\mp\agents\_agents_gametype_horde::handledetroitgoliathtrailerexploit(); + } + break; + + case "jugg_handler": + self.agentname = &"HORDE_AST"; + maps\mp\killstreaks\_juggernaut::playersetjuggexomodel(); + self setplayermech(1); + thread hordeaddcompaniondrone(1,1,1); + self botsetstance("stand"); + self allowjump(0); + self allowladder(0); + self allowmantle(0); + self allowcrouch(0); + self allowprone(0); + maps\mp\_utility::playerallowhighjump(0,"class"); + maps\mp\_utility::playerallowdodge(0,"class"); + hordeattachminigunbarrel(); + thread maps\mp\killstreaks\_juggernaut::playercleanupbarrel(); + thread maps\mp\killstreaks\_juggernaut::play_goliath_death_fx(); + if(maps\mp\_utility::getmapname() == "mp_detroit") + { + thread maps\mp\agents\_agents_gametype_horde::handledetroitgoliathtrailerexploit(); + } + + if(level.currentroundnumber > 13 || level.hordelevelflip > 1 || getdvarint("scr_horde_preview") > 0) + { + thread maps\mp\agents\_agents_gametype_horde::hordejuggrocketswarmthink(); + } + break; + + case "handler": + self.agentname = &"HORDE_HANDLER"; + self botsetdifficultysetting("minBurstFireTime",1500); + self botsetdifficultysetting("maxBurstFireTime",3000); + self botsetdifficultysetting("dodgeChance",0.2); + self botsetdifficultysetting("dodgeIntelligence",0.4); + thread hordeaddcompaniondrone(); + self setagentcostumeindex(randomintrange(11,15)); + break; + + case "zombie": + maps\mp\gametypes\_horde_zombies::hordesetzombiemodel(); + maps\mp\gametypes\_horde_zombies::hordezombiesounds(); + self botsetstance("stand"); + self allowcrouch(0); + break; + + default: + break; + } + + self setclothtype("cloth"); + } + + self.gamemodefirstspawn = 0; +} + +//Function Number: 27 +hordeattachminigunbarrel() +{ + self.barrellinker = spawn("script_model",self gettagorigin("tag_barrel")); + self.barrellinker setmodel("generic_prop_raven"); + self.barrellinker vehicle_jetbikesethoverforcescale(self,"tag_barrel",(12.7,0,-2.9),(90,0,0)); + self.barrel = spawn("script_model",self.barrellinker gettagorigin("j_prop_1")); + self.barrel setmodel("npc_exo_armor_minigun_barrel"); + self.barrel vehicle_jetbikesethoverforcescale(self.barrellinker,"j_prop_1",(0,0,0),(-90,0,0)); +} + +//Function Number: 28 +hordeaddgeneraltuningvalues() +{ + var_00 = self; + var_00 botsetdifficultysetting("visionBlinded",0.05); + var_00 botsetdifficultysetting("hearingDeaf",0.05); + var_00 botsetdifficultysetting("targetVehicleChance",1); + var_00 botsetdifficultysetting("meleeReactAllowed",1); + var_00 botsetdifficultysetting("meleeReactionTime",600); + var_00 botsetdifficultysetting("meleeDist",85); + var_00 botsetdifficultysetting("meleeChargeDist",100); + var_00 botsetdifficultysetting("minBurstFireTime",400); + var_00 botsetdifficultysetting("maxBurstFireTime",2400); + var_00 botsetdifficultysetting("minTimeBetweenBursts",400); + var_00 botsetdifficultysetting("maxTimeBetweenBursts",1200); + var_00 botsetdifficultysetting("dodgeChance",0); + var_00 botsetdifficultysetting("dodgeIntelligence",0); + var_00 botsetdifficultysetting("strafeChance",0.35); + var_00 botsetdifficultysetting("avoidSkyPercent",0); + if(level.currentroundnumber > 8 && level.hordelevelflip == 1) + { + var_00 botsetdifficultysetting("minInaccuracy",0.75); + var_00 botsetdifficultysetting("maxInaccuracy",1.5); + } + else if(level.hordelevelflip == 1) + { + var_00 botsetdifficultysetting("minInaccuracy",2.25); + var_00 botsetdifficultysetting("maxInaccuracy",4.5); + } + + if(level.currentroundnumber > 20 || level.hordelevelflip > 1) + { + var_00 botsetdifficultysetting("adsAllowed",1); + var_00 botsetdifficultysetting("diveChance",0.15); + var_00 botsetdifficultysetting("strafeChance",0.5); + var_00 botsetdifficultysetting("strategyLevel",1); + } + + if(level.hordelevelflip == 2) + { + var_00 botsetdifficultysetting("reactionTime",200); + var_00 botsetdifficultysetting("strategyLevel",3); + var_00 botsetdifficultysetting("cornerFireChance",0.5); + var_00 botsetdifficultysetting("cornerJumpChance",0.3); + var_00 botsetdifficultysetting("strafeChance",0.7); + var_00 botsetdifficultysetting("diveChance",0.2); + var_00 botsetdifficultysetting("launcherRespawnChance",0.25); + var_00 botsetdifficultysetting("minInaccuracy",0.5); + var_00 botsetdifficultysetting("maxInaccuracy",1); + var_00 botsetdifficultysetting("grenadeCookPrecision",500); + return; + } + + if(level.hordelevelflip > 2) + { + var_00 botsetdifficultysetting("reactionTime",100); + var_00 botsetdifficultysetting("strategyLevel",3); + var_00 botsetdifficultysetting("cornerFireChance",1); + var_00 botsetdifficultysetting("cornerJumpChance",0.75); + var_00 botsetdifficultysetting("diveChance",0.2); + var_00 botsetdifficultysetting("strafeChance",0.9); + var_00 botsetdifficultysetting("launcherRespawnChance",0.4); + var_00 botsetdifficultysetting("minInaccuracy",0.25); + var_00 botsetdifficultysetting("maxInaccuracy",0.75); + var_00 botsetdifficultysetting("grenadeCookPrecision",100); + } +} + +//Function Number: 29 +hordeaddnavigationabilities() +{ + var_00 = self; + if((isdefined(var_00.horde_type) && var_00.horde_type == "jugg") || var_00.horde_type == "jugg_handler") + { + return; + } + + if(level.hordelevelflip > 1 || level.currentroundnumber >= 8) + { + if(isdefined(var_00.horde_type) && !common_scripts\utility::array_contains(level.hordemodedodgers,var_00.horde_type)) + { + return; + } + + if(common_scripts\utility::cointoss()) + { + return; + } + + var_00 maps\mp\_utility::playerallowdodge(1,"class"); + var_00 botsetdifficultysetting("dodgeChance",0.3); + var_00 botsetdifficultysetting("dodgeIntelligence",0.8); + return; + } + + if(level.currentroundnumber < 3) + { + var_00 maps\mp\_utility::playerallowdodge(0,"class"); + } +} + +//Function Number: 30 +hordeapplyaimodifiers() +{ + if(level.hordelevelflip == 1 && level.currentroundnumber < 12) + { + return; + } + + var_00 = clamp(level.hordelevelflip,1,4); + switch(int(var_00)) + { + case 4: + if(maps\mp\_utility::currentactivevehiclecount(2) < maps\mp\_utility::maxvehiclesallowed()) + { + if(hordeapplyaimodifiersdiceroll(level.modifiercompanionaitypes,clamp(5 * level.hordelevelflip,5,25))) + { + thread hordeaddcompaniondrone(); + } + } + + break; + + case 3: + if(hordeapplyaimodifiersdiceroll(level.modifierexplosiveaitypes,clamp(10 * level.hordelevelflip,10,45))) + { + thread hordeaddexplosivedeath(); + } + + break; + + case 2: + if(hordeapplyaimodifiersdiceroll(level.modifiershieldaitypes,clamp(20 * level.hordelevelflip,20,75))) + { + hordeaddexoshield(); + } + + break; + } +} + +//Function Number: 31 +hordeapplyaimodifiersdiceroll(param_00,param_01) +{ + if(common_scripts\utility::array_contains(param_00,self.horde_type) && maps\mp\gametypes\_horde_util::cointossweighted(param_01)) + { + return 1; + } + + return 0; +} + +//Function Number: 32 +hordeaddtoxicgas() +{ + var_00 = spawn("script_model",self.origin); + var_00 setmodel("tag_origin"); + wait 0.05; + var_00 linkto(self,"tag_origin",(0,0,16),(0,0,0)); + wait(1); + foreach(var_02 in level.players) + { + playfxontagforclients(common_scripts\utility::getfx("toxic_gas"),var_00,"tag_origin",var_02); + } + + thread hordeaddtoxicgasthink(); + thread hordeaddtoxicgascleanup(var_00); +} + +//Function Number: 33 +hordeaddtoxicgascleanup(param_00) +{ + self waittill("death"); + foreach(var_02 in level.players) + { + stopfxontagforclient(common_scripts\utility::getfx("toxic_gas"),param_00,"tag_origin",var_02); + } + + param_00 delete(); +} + +//Function Number: 34 +hordeaddtoxicgasthink() +{ + self endon("death"); + for(;;) + { + foreach(var_01 in level.players) + { + if(distance(self.origin,var_01.origin) < 100) + { + var_01 shellshock("mp_lab_gas",1); + } + } + + wait(1); + } +} + +//Function Number: 35 +hordeaddexplosivedeath() +{ + self waittill("death"); + var_00 = self.origin; + magicgrenademanual("frag_grenade_mp",var_00,(0,0,0),2); +} + +//Function Number: 36 +hordeaddexoshield() +{ + self botsetdifficultysetting("allowGrenades",1); + self botsetdifficultysetting("exoTacticalAllowed",1); + self.pers["numberOfTimesShieldUsed"] = 0; + self settacticalweapon("exoshieldhorde_equipment_mp"); + self giveweapon("exoshieldhorde_equipment_mp"); + thread maps\mp\_exo_shield::exo_shield_think(); + maps\mp\_utility::giveperk("specialty_extratactical",0); + var_00 = self getweaponammoclip("exoshieldhorde_equipment_mp"); + self setweaponammoclip("exoshieldhorde_equipment_mp",var_00 + 1); +} + +//Function Number: 37 +hordeaddcompaniondrone(param_00,param_01,param_02) +{ + self endon("death"); + if(!isdefined(param_00)) + { + param_00 = 1; + } + + if(!isdefined(param_01)) + { + param_01 = 0; + } + + if(!isdefined(param_02)) + { + param_02 = 0; + } + + for(var_03 = 0;var_03 < param_00;var_03++) + { + while(maps\mp\_utility::currentactivevehiclecount(2) >= maps\mp\_utility::maxvehiclesallowed()) + { + wait(1); + } + + var_04 = maps\mp\_tracking_drone::createtrackingdrone(); + thread maps\mp\_tracking_drone::starttrackingdrone(var_04); + var_04 thread handlerdronethink(self,param_01,param_02); + } +} + +//Function Number: 38 +handlerdronethink(param_00,param_01,param_02) +{ + self endon("death"); + if(param_01) + { + thread respawnhandlerdrone(param_00); + } + + if(param_02) + { + param_00 common_scripts\utility::waittill_any_timeout(30,"damage","weapon_fired"); + if(isdefined(param_00) && isalive(param_00)) + { + param_00 common_scripts\utility::waittill_any_timeout(randomintrange(10,20),"death"); + } + } + else + { + param_00 waittill("death"); + } + + self.maxhealth = 1; + self playloopsound(level.trackingdronesettings.sound_lock); + self notify("leaving"); + var_03 = maps\mp\gametypes\_horde_util::hordegetclosesthealthyplayer(self.origin); + if(!isdefined(var_03)) + { + thread maps\mp\_tracking_drone::trackingdroneexplode(); + return; + } + + self setdronegoalpos(var_03,(0,0,72)); + thread handlerdronedetonate(var_03); + common_scripts\utility::waittill_any_timeout(10,"detonate"); + self stoploopsound(); + self playsound("drone_warning_beap"); + wait(1.4); + self radiusdamage(self.origin,256,200,25,self,"MOD_EXPLOSIVE"); + thread maps\mp\_tracking_drone::trackingdroneexplode(); +} + +//Function Number: 39 +respawnhandlerdrone(param_00) +{ + level endon("game_ended"); + param_00 endon("death"); + self waittill("death"); + wait(randomintrange(10,15)); + if(isdefined(param_00)) + { + param_00 thread hordeaddcompaniondrone(1,1,1); + } +} + +//Function Number: 40 +handlerdronedetonate(param_00) +{ + self endon("explode"); + param_00 endon("disconnect"); + param_00 endon("death"); + while(distance(self.origin,param_00.origin) > 150) + { + wait(0.1); + } + + self notify("detonate"); +} + +//Function Number: 41 +updaterespawnsplash(param_00) +{ + self waittill("spawned_player"); + if(!param_00) + { + thread maps\mp\gametypes\_hud_message::splashnotify("horde_respawn"); + } +} + +//Function Number: 42 +monitorstuck(param_00) +{ + param_00 endon("disconnect"); + for(;;) + { + param_00 waittill("unresolved_collision"); + maps\mp\_movers::unresolved_collision_nearest_node(param_00,0); + wait(0.5); + } +} + +//Function Number: 43 +monitordome(param_00) +{ + param_00 endon("disconnect"); + level endon("game_ended"); + if(!isdefined(level.hordedome[0])) + { + return; + } + + for(;;) + { + while(!param_00 maps\mp\_utility::isusingremote()) + { + wait(0.1); + } + + foreach(var_02 in level.hordedome) + { + var_02 hide(); + } + + foreach(param_00 in level.players) + { + if(!param_00 maps\mp\_utility::isusingremote()) + { + foreach(var_02 in level.hordedome) + { + var_02 showtoplayer(param_00); + } + } + } + + while(param_00 maps\mp\_utility::isusingremote()) + { + wait(0.1); + } + + foreach(var_02 in level.hordedome) + { + var_02 showtoplayer(param_00); + } + } +} + +//Function Number: 44 +monitoronlydrones() +{ + level endon("zombies_start"); + level endon("game_ended"); + for(;;) + { + var_00 = 1; + if(isdefined(level.flying_attack_drones) && level.flying_attack_drones.size > 0 && isdefined(level.currentaliveenemycount) && isdefined(level.numdroneswaitingtospawn) && level.flying_attack_drones.size + level.numdroneswaitingtospawn >= level.currentaliveenemycount) + { + foreach(var_02 in level.players) + { + if(maps\mp\_utility::isreallyalive(var_02) && !maps\mp\gametypes\_horde_util::isplayerinlaststand(var_02)) + { + if(var_02.armorypoints > 0) + { + var_00 = 0; + break; + } + + var_03 = 0; + var_04 = var_02 getweaponslistprimaries(); + foreach(var_06 in var_04) + { + if(var_02 getammocount(var_06) > 0) + { + var_03 = 1; + break; + } + } + + if(var_03) + { + var_00 = 0; + break; + } + } + } + } + else + { + var_00 = 0; + } + + if(var_00) + { + foreach(var_02 in level.players) + { + if(maps\mp\_utility::isreallyalive(var_02) && !maps\mp\gametypes\_horde_util::isplayerinlaststand(var_02)) + { + var_02 thread maps\mp\gametypes\_hud_message::splashnotify("horde_team_restock"); + maps\mp\gametypes\_horde_util::refillammohorde(var_02); + } + } + } + + wait(1); + } +} + +//Function Number: 45 +updateoutlines(param_00) +{ + param_00 endon("disconnect"); + if(level.currentroundnumber == 0) + { + return; + } + + if(!isdefined(level.carepackages)) + { + return; + } + + foreach(var_02 in level.carepackages) + { + if(isdefined(var_02.outlinecolor)) + { + var_02.friendlymodel hudoutlineenable(var_02.outlinecolor,0); + } + } + + wait(0.05); + if(!isdefined(level.characters)) + { + return; + } + + foreach(var_05 in level.characters) + { + if(isdefined(var_05.outlinecolor)) + { + var_05 hudoutlineenable(var_05.outlinecolor,0); + } + } + + foreach(var_08 in level.flying_attack_drones) + { + if(isdefined(var_08.lasttwoenemies)) + { + var_08 hudoutlineenable(level.enemyoutlinecolor,0); + var_08.droneturret hudoutlineenable(level.enemyoutlinecolor,0); + continue; + } + + var_08 hudoutlineenable(level.enemyoutlinecolor,1); + var_08.droneturret hudoutlineenable(level.enemyoutlinecolor,1); + } + + foreach(var_0B in level.spawnedwarbirds) + { + if(isdefined(var_0B.lasttwoenemies)) + { + var_0B hudoutlineenable(level.enemyoutlinecolor,0); + var_0B.warbirdturret hudoutlineenable(level.enemyoutlinecolor,0); + continue; + } + + var_0B hudoutlineenable(level.enemyoutlinecolor,1); + var_0B.warbirdturret hudoutlineenable(level.enemyoutlinecolor,1); + } + + if(isdefined(level.hordearmories)) + { + foreach(var_0E in level.hordearmories) + { + var_0F = "specops_ui_exostore"; + if(var_0E.script_parameters == "specops_ui_equipmentstore") + { + var_0F = "specops_ui_weaponstore"; + } + + var_0E.headicon = var_0E maps\mp\_entityheadicons::setheadicon(param_00,var_0F,(0,0,48),4,4,undefined,undefined,0,1,undefined,0); + } + } +} + +//Function Number: 46 +updateobjectiveui(param_00) +{ + if(level.isobjectiveround) + { + setomnvar("ui_horde_show_objstatus",1); + if(level.objdefend) + { + param_00 setclientomnvar("ui_horde_count_type","horde_defend"); + setomnvar("ui_horde_objcount_1",level.currentdefendloc.killcount); + setomnvar("ui_horde_objmax_1",level.horde_defend_killcount); + return; + } + + if(level.objcollect || level.objintel) + { + var_01 = "horde_collect"; + if(level.objintel) + { + var_01 = "horde_intel"; + } + + param_00 setclientomnvar("ui_horde_count_type",var_01); + setomnvar("ui_horde_objcount_1",level.hordecollected); + setomnvar("ui_horde_objmax_1",level.horde_collect_count); + return; + } + + if(level.objdefuse) + { + param_00 setclientomnvar("ui_horde_count_type","horde_defuse"); + setomnvar("ui_horde_objcount_1",level.hordedefused); + setomnvar("ui_horde_objmax_1",level.horde_defuse_count); + return; + } + + if(level.objuplink) + { + param_00 setclientomnvar("ui_horde_count_type","horde_uplink"); + setomnvar("ui_horde_objcount_1",level.horde_ball_score); + setomnvar("ui_horde_objmax_1",level.horde_ball_score_count); + return; + } + + return; + } +} + +//Function Number: 47 +hordesetcharactermodel(param_00,param_01) +{ + if(getdvarint("horde_set_character_models") == 1 || maps\mp\_utility::getmapname() == "mp_prison_z" && issubstr(param_00,"zombie")) + { + self detachall(); + self setmodel(param_00); + if(isdefined(param_01)) + { + self.headmodel = param_01; + self attach(self.headmodel,"",1); + } + } +} + +//Function Number: 48 +ammorefillprimary() +{ + if(self.primaryweapon == "none") + { + return; + } + + for(;;) + { + self givemaxammo(self.primaryweapon); + wait(12); + } +} + +//Function Number: 49 +ammorefillsecondary() +{ + if(self.secondaryweapon == "none") + { + return; + } + + for(;;) + { + self givemaxammo(self.secondaryweapon); + wait(8); + } +} + +//Function Number: 50 +runhordemode() +{ + level endon("game_ended"); + waituntilmatchstart(); + maps\mp\gametypes\_horde_armory::initarmories(); + thread hordeinitdefuseobjects(); + if(maps\mp\_utility::getmapname() != "mp_prison_z") + { + thread hordeinituplinkobjects(); + } + + horderandomizeaimodifiertypes(); + level.turretsettings["mg_turret"].timeout = 120; + foreach(var_01 in level.players) + { + if(var_01.class == "gamemode") + { + } + + if(level.players.size < 2) + { + var_01.hasselfrevive = 1; + } + } + + maps\mp\gametypes\_horde_drones::flying_attack_drone_system_init(); + maps\mp\gametypes\_horde_sentry::hordesentryinit(); + while(level.noonespawnedyet) + { + wait(0.05); + } + + for(;;) + { + updatehordesettings(); + shownextroundmessage(); + if(level.currentroundnumber == 3 && level.hordelevelflip == 1 && maps\mp\_utility::getmapname() == "mp_urban") + { + level.dynamiceventstartnow = 1; + } + + runhordeobjective(); + level notify("start_round"); + level.horderoundstats["round_time"] = gettime(); + level childthread monitorroundend(); + level waittill("round_ended"); + while(level.objcollect || level.objdefuse || level.objuplink) + { + wait(0.05); + } + + if(level.currentroundnumber < 25) + { + hordeupdateroundstats(); + } + + hordeloadwaveweapons(); + foreach(var_01 in level.players) + { + maps\mp\gametypes\_horde_util::awardhorderoundnumber(var_01); + maps\mp\gametypes\_horde_util::hordeupdatetimestats(var_01); + maps\mp\gametypes\_horde_util::givegearforwavescompleted(var_01); + maps\mp\gametypes\_horde_util::givegearformapsplayed(var_01); + } + } +} + +//Function Number: 51 +runhordeobjective() +{ + level.hordeobjectivesuccess = 1; + if(!isobjectiveround()) + { + return; + } + + if(!isdefined(level.hordeobjectiveorder) || level.hordeobjectiveindex >= level.hordeobjectiveorder.size) + { + level.hordeobjectiveorder = [1,2,3,4]; + if(maps\mp\_utility::getmapname() != "mp_prison_z") + { + level.hordeobjectiveorder = common_scripts\utility::array_add(level.hordeobjectiveorder,5); + } + + level.hordeobjectiveorder = common_scripts\utility::array_randomize(level.hordeobjectiveorder); + level.hordeobjectiveindex = 0; + } + + var_00 = level.hordeobjectiveorder[level.hordeobjectiveindex]; + switch(var_00) + { + case 1: + thread runhordedefend(); + break; + + case 2: + thread runhordecollect(); + break; + + case 3: + thread runhordeintel(); + break; + + case 4: + thread runhordedefuse(); + break; + + case 5: + thread runhordeuplink(); + break; + } + + level.hordeobjectiveindex++; +} + +//Function Number: 52 +isobjectiveround() +{ + var_00 = [3,6,9,13,16,19,22,24]; + if(maps\mp\_utility::getmapname() == "mp_prison_z") + { + var_00 = [3,6]; + } + + foreach(var_02 in var_00) + { + if(level.currentroundnumber == var_02) + { + return 1; + } + } + + return 0; +} + +//Function Number: 53 +hordeobjectivesuccess() +{ + foreach(var_01 in level.players) + { + var_01 thread maps\mp\gametypes\_hud_message::splashnotify("horde_obj_complete"); + thread maps\mp\gametypes\_horde_armory::addarmorypoints(var_01,"objective_complete"); + maps\mp\gametypes\_horde_util::awardhordeobjectivescompleted(var_01); + } + + maps\mp\gametypes\_horde_util::playsoundtoallplayers("mp_ctf_obj_cap_ally"); + level.hordeobjectivesuccess = 1; + level.isobjectiveround = 0; +} + +//Function Number: 54 +hordeinituplinkobjects() +{ + maps\mp\gametypes\horde_ball::setup(); +} + +//Function Number: 55 +runhordeuplink() +{ + level endon("game_ended"); + level endon("uplink_completed"); + setomnvar("ui_horde_show_objstatus",1); + level.hordeobjectivesuccess = 0; + level.isobjectiveround = 1; + level.objuplink = 1; + foreach(var_01 in level.players) + { + var_01 thread maps\mp\gametypes\_hud_message::splashnotify("horde_obj_uplink"); + var_01 maps\mp\_utility::leaderdialogonplayer("coop_gdn_satellite_start","horde",1); + var_01 setclientomnvar("ui_horde_count_type","horde_uplink"); + } + + level.horde_ball_score_count = int(min(10,3 + 1 * maps\mp\gametypes\_horde_util::getnumplayers() - 1)); + setomnvar("ui_horde_objcount_1",0); + setomnvar("ui_horde_objmax_1",level.horde_ball_score_count); + level thread maps\mp\gametypes\horde_ball::run_horde_ball(); + thread hordesuccessmonitor(); + thread hordeuplinkcancel(); + var_03 = level.hordelevelflip - 1 * 25 + level.currentroundnumber; + var_04 = 120 + floor(var_03 / 12) * 5; + if(getdvarint("scr_hordenoobjtimers") == 0) + { + sethudtimer("uplink_time",var_04); + } + + if(getdvarint("scr_hordenoobjtimers") > 0) + { + level waittill("round_ended"); + } + else + { + maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(var_04); + } + + level notify("uplink_completed"); +} + +//Function Number: 56 +hordesuccessmonitor() +{ + level endon("uplink_completed"); + var_00 = level.horde_ball_score; + for(;;) + { + if(level.horde_ball_score != var_00) + { + setomnvar("ui_horde_objcount_1",level.horde_ball_score); + var_00 = level.horde_ball_score; + } + + if(level.horde_ball_score >= level.horde_ball_score_count) + { + thread maps\mp\gametypes\_horde_dialog::hordeleaderdialogallplayers("coop_gdn_objective_complete","horde",1,1); + hordeobjectivesuccess(); + level notify("uplink_completed"); + break; + } + + wait(0.05); + } +} + +//Function Number: 57 +hordeuplinkcancel() +{ + level endon("game_ended"); + level waittill("uplink_completed"); + hordecheckobjectivefailure(); + clearhudtimer(); + level thread maps\mp\gametypes\horde_ball::horde_ball_cleanup(); + level.isobjectiveround = 0; + level.objuplink = 0; + wait(3); + setomnvar("ui_horde_show_objstatus",0); + setomnvar("ui_horde_objcount_1",0); + setomnvar("ui_horde_objmax_1",0); +} + +//Function Number: 58 +runhordedefend() +{ + level endon("game_ended"); + setomnvar("ui_horde_show_objstatus",1); + level.hordeobjectivesuccess = 0; + level.isobjectiveround = 1; + level.objdefend = 1; + if(level.currentroundnumber < 10) + { + level.horde_defend_killcount = 10; + } + else if(level.currentroundnumber < 20) + { + level.horde_defend_killcount = 12; + } + else + { + level.horde_defend_killcount = 15; + } + + foreach(var_01 in level.players) + { + var_01 thread maps\mp\gametypes\_hud_message::splashnotify("horde_obj_defend"); + var_01 maps\mp\_utility::leaderdialogonplayer("coop_gdn_hardpoint","horde",1); + var_01 setclientomnvar("ui_horde_count_type","horde_defend"); + } + + if(!isdefined(level.hordedefendlocs) || level.hordedefendlocs.size < 1) + { + level.hordedefendlocs = common_scripts\utility::getstructarray("horde_defend","targetname"); + level.hordedefendlocs = common_scripts\utility::array_randomize(level.hordedefendlocs); + } + + level.currentdefendloc = common_scripts\utility::random(level.hordedefendlocs); + common_scripts\utility::array_remove(level.hordedefendlocs,level.currentdefendloc); + var_03 = maps\mp\gametypes\_gameobjects::getnextobjid(); + objective_add(var_03,"active",level.currentdefendloc.origin,"waypoint_defend"); + level.currentdefendloc.index = var_03; + level.currentdefendloc.killcount = 0; + foreach(var_01 in level.players) + { + if(var_01.sessionstate == "spectator") + { + continue; + } + + level.currentdefendloc.headicon = level.currentdefendloc maps\mp\_entityheadicons::setheadicon(var_01,"waypoint_defend",(0,0,0),4,4,undefined,undefined,undefined,1,undefined,0); + level thread hordedefendenemyoutline(var_01); + } + + setomnvar("ui_horde_objcount_1",0); + setomnvar("ui_horde_objmax_1",level.horde_defend_killcount); + thread hordedefendcancel(); + level common_scripts\utility::waittill_any("defend_complete","defend_cancel"); + level.isobjectiveround = 0; + level.objdefend = 0; + setomnvar("ui_horde_show_objstatus",0); + foreach(var_01 in level.players) + { + level.currentdefendloc maps\mp\_entityheadicons::setheadicon("none","",(0,0,0)); + } + + if(isdefined(level.currentdefendloc.headicon)) + { + level.currentdefendloc.headicon destroy(); + } + + maps\mp\_utility::_objective_delete(level.currentdefendloc.index); + setomnvar("ui_horde_objcount_1",0); + setomnvar("ui_horde_objmax_1",0); +} + +//Function Number: 59 +hordedefendcancel() +{ + level endon("game_ended"); + level endon("defend_complete"); + level waittill("round_ended"); + level notify("defend_cancel"); + hordecheckobjectivefailure(); +} + +//Function Number: 60 +hordedefendenemyoutline(param_00,param_01) +{ + param_00 endon("disconnect"); + level endon("game_ended"); + if(!isdefined(param_01)) + { + param_01 = level.currentdefendloc; + } + + while(level.objdefend) + { + foreach(var_03 in level.agentarray) + { + if(common_scripts\utility::array_contains(param_00.markedformech,var_03)) + { + continue; + } + + if(distance(param_00.origin,param_01.origin) < 800) + { + if(level.currentaliveenemycount < 3) + { + var_03 hudoutlineenableforclient(param_00,4,0); + } + else + { + var_03 hudoutlineenableforclient(param_00,4,1); + } + + continue; + } + + if(level.currentaliveenemycount < 3) + { + var_03 hudoutlineenableforclient(param_00,level.enemyoutlinecolor,0); + } + else + { + var_03 hudoutlinedisableforclient(param_00); + } + + var_03.outlinecolor = level.enemyoutlinecolor; + } + + wait(0.05); + } + + foreach(var_03 in level.agentarray) + { + if(level.currentaliveenemycount < 3) + { + var_03 hudoutlineenableforclient(param_00,level.enemyoutlinecolor,0); + continue; + } + + var_03 hudoutlinedisableforclient(param_00); + } +} + +//Function Number: 61 +hordeinitdefuseobjects() +{ + level.hordebombs = getentarray("horde_defuse_bomb","targetname"); + level.hordedefuseobjects = []; + for(var_00 = 0;var_00 < level.hordebombs.size;var_00++) + { + level.hordebombs[var_00] show(); + level.hordebombs[var_00] initdefuseobject(); + level.hordebombs[var_00] makeusable(); + var_01 = &"PLATFORM_HOLD_TO_DEFUSE_EXPLOSIVES"; + level.hordebombs[var_00] sethintstring(var_01); + } +} + +//Function Number: 62 +initdefuseobject() +{ + var_00[0] = self; + var_01 = getent(self.target,"targetname"); + var_01 makeunusable(); + var_02 = maps\mp\gametypes\_gameobjects::createuseobject("allies",var_01,var_00,(0,0,32),1); + var_02 maps\mp\gametypes\_gameobjects::allowuse("friendly"); + var_02 maps\mp\gametypes\_gameobjects::setusetime(5); + var_02 maps\mp\gametypes\_gameobjects::setusetext(&"MP_DEFUSING_EXPLOSIVE"); + var_02 maps\mp\gametypes\_gameobjects::setusehinttext(&"PLATFORM_HOLD_TO_DEFUSE_EXPLOSIVES"); + var_02.onbeginuse = ::hordedefuseonbeginuse; + var_02.onenduse = ::hordedefuseonenduse; + var_02.onuse = ::hordeonusedefuseobject; + var_02.useweapon = "search_dstry_bomb_defuse_mp"; + var_02.visuals[0] hide(); + level.hordedefuseobjects[level.hordedefuseobjects.size] = var_02; + self.trigger = var_01; +} + +//Function Number: 63 +defusethink() +{ + level endon("game_ended"); + level endon("defuse_completed"); + for(;;) + { + self waittill("trigger",var_00); + self.trigger notify("trigger",var_00); + } +} + +//Function Number: 64 +runhordedefuse() +{ + level endon("game_ended"); + level endon("defuse_completed"); + level.hordedefused = 0; + level.isobjectiveround = 1; + level.hordeobjectivesuccess = 0; + level.objdefuse = 1; + setomnvar("ui_horde_show_objstatus",1); + setomnvar("ui_horde_objcount_1",0); + setomnvar("ui_horde_objmax_1",level.horde_defuse_count); + foreach(var_01 in level.players) + { + var_01 setclientomnvar("ui_horde_count_type","horde_defuse"); + var_01 thread maps\mp\gametypes\_hud_message::splashnotify("horde_obj_defuse"); + var_01 maps\mp\_utility::leaderdialogonplayer("coop_gdn_empbombsshowingonsensors","horde",1); + } + + level.hordedefuselocs = getentarray("horde_defuse","targetname"); + level.hordedefuselocs = common_scripts\utility::array_randomize(level.hordedefuselocs); + if(level.hordedefuselocs.size < 3) + { + level.hordedefuselocs = level.hordecollectlocs; + } + + level.hordedefuselocs = common_scripts\utility::array_randomize(level.hordedefuselocs); + hordemovebaddefuselocations(); + for(var_03 = 0;var_03 < level.hordedefuseobjects.size;var_03++) + { + var_04 = maps\mp\gametypes\_gameobjects::getnextobjid(); + level.hordedefuseobjects[var_03].objectiveindex = var_04; + objective_add(var_04,"active",level.hordedefuselocs[var_03].origin,"objective_sm"); + level.hordedefuseobjects[var_03].curorigin = level.hordedefuselocs[var_03].origin; + level.hordedefuseobjects[var_03].visuals[0].curorigin = level.hordedefuselocs[var_03].origin; + level.hordedefuseobjects[var_03].trigger.origin = level.hordedefuselocs[var_03].origin; + level.hordedefuseobjects[var_03].origin = level.hordedefuselocs[var_03].origin; + level.hordedefuseobjects[var_03].visuals[0].origin = level.hordedefuselocs[var_03].origin; + level.hordedefuseobjects[var_03].visuals[0].angles = level.hordedefuselocs[var_03].angles; + level.hordedefuseobjects[var_03].visuals[0] hudoutlineenable(4,0); + level.hordedefuseobjects[var_03].visuals[0] show(); + level.hordedefuseobjects[var_03].visuals[0] makeusable(); + level.hordedefuseobjects[var_03].visuals[0] thread defusethink(); + } + + if(getdvarint("scr_hordenoobjtimers") == 0) + { + sethudtimer("defuse_time",120); + } + + thread hordedefusecancel(); + if(getdvarint("scr_hordenoobjtimers") > 0) + { + level waittill("round_ended"); + } + else + { + maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(120); + } + + level notify("defuse_completed"); +} + +//Function Number: 65 +hordemovebaddefuselocations() +{ + if(maps\mp\_utility::getmapname() == "mp_torqued") + { + foreach(var_01 in level.hordedefuselocs) + { + if(var_01.origin == (1024.7,-285.7,883)) + { + var_01.origin = (1209.58,-161.35,862); + var_01.angles = (0,0,0); + } + } + } +} + +//Function Number: 66 +hordedefuseonbeginuse(param_00) +{ + param_00 maps\mp\_utility::notify_enemy_bots_bomb_used("defuse"); + param_00 playsound("mp_bomb_defuse"); + param_00.isdefusing = 1; + self.visuals[0] makeunusable(); + self.visuals[0] hide(); +} + +//Function Number: 67 +hordedefuseonenduse(param_00,param_01,param_02) +{ + self.visuals[0] show(); + self.visuals[0] makeusable(); + if(!isdefined(param_01)) + { + return; + } + + if(isalive(param_01)) + { + param_01.isdefusing = 0; + param_01.isplanting = 0; + } +} + +//Function Number: 68 +hordeplayerdefusing() +{ + level endon("game_ended"); + foreach(var_01 in level.players) + { + if(isdefined(var_01.isdefusing) && var_01.isdefusing) + { + return 1; + } + } + + return 0; +} + +//Function Number: 69 +hordeonusedefuseobject(param_00) +{ + param_00 thread maps\mp\gametypes\_rank::xppointspopup("horde_defuse",700); + level thread maps\mp\gametypes\_horde_util::hordeupdatescore(param_00,700); + level.currentpointtotal = level.currentpointtotal + 700; + level notify("pointsEarned"); + maps\mp\_utility::_objective_delete(self.objectiveindex); + self.objectiveindex = undefined; + self.visuals[0] hide(); + self.visuals[0] makeunusable(); + level.hordedefused++; + setomnvar("ui_horde_objcount_1",level.hordedefused); + if(level.hordedefused > 2) + { + hordeobjectivesuccess(); + level notify("defuse_completed"); + return; + } + + level thread maps\mp\gametypes\_horde_util::showteamsplashhorde("horde_defused"); +} + +//Function Number: 70 +hordedefusecancel() +{ + level endon("game_ended"); + level waittill("defuse_completed"); + clearhudtimer(); + while(hordeplayerdefusing()) + { + wait(0.05); + } + + hordecheckobjectivefailure(); + foreach(var_01 in level.hordedefuseobjects) + { + if(isdefined(var_01.objectiveindex)) + { + maps\mp\_utility::_objective_delete(var_01.objectiveindex); + } + + var_01.visuals[0] hide(); + var_01.visuals[0] makeunusable(); + var_01.objectiveindex = undefined; + } + + level.objdefuse = 0; + wait(3); + setomnvar("ui_horde_show_objstatus",0); +} + +//Function Number: 71 +runhordecollect() +{ + level endon("game_ended"); + level endon("collect_completed"); + level.horde_collect_count = int(min(20,10 + 5 * maps\mp\gametypes\_horde_util::getnumplayers() - 1)); + level.hordecollected = 0; + level.collectobjects = []; + level.hordeobjectivesuccess = 0; + level.isobjectiveround = 1; + setomnvar("ui_horde_show_objstatus",1); + foreach(var_01 in level.players) + { + var_01 setclientomnvar("ui_horde_count_type","horde_collect"); + var_01 thread maps\mp\gametypes\_hud_message::splashnotify("horde_obj_collect"); + var_01 maps\mp\_utility::leaderdialogonplayer("coop_gdn_dogtagsareinthefield","horde",1); + } + + level.hordecollectlocs = common_scripts\utility::getstructarray("horde_collect","targetname"); + level.hordecollectlocs = common_scripts\utility::array_randomize(level.hordecollectlocs); + for(var_03 = 0;var_03 < level.horde_collect_count;var_03++) + { + var_04 = spawnpickup(level.hordecollectlocs[var_03].origin,level.collectpickupmodel,level.collectpickupfunc,112,0); + var_05 = maps\mp\gametypes\_gameobjects::getnextobjid(); + var_04.objectiveindex = var_05; + objective_add(var_05,"active",level.hordecollectlocs[var_03].origin,"objective_sm"); + level.collectobjects[level.collectobjects.size] = var_04; + } + + level.objcollect = 1; + setomnvar("ui_horde_objcount_1",0); + setomnvar("ui_horde_objmax_1",level.horde_collect_count); + if(getdvarint("scr_hordenoobjtimers") == 0) + { + sethudtimer("collect_time",120); + } + + thread hordecollectcancel(); + if(getdvarint("scr_hordenoobjtimers") > 0) + { + level waittill("round_ended"); + } + else + { + maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(120); + } + + level notify("collect_completed"); +} + +//Function Number: 72 +hordecollectcancel() +{ + level endon("game_ended"); + level waittill("collect_completed"); + hordecheckobjectivefailure(); + clearhudtimer(); + foreach(var_01 in level.collectobjects) + { + if(isdefined(var_01)) + { + maps\mp\_utility::_objective_delete(var_01.objectiveindex); + } + } + + level.objcollect = 0; + wait(3); + setomnvar("ui_horde_show_objstatus",0); +} + +//Function Number: 73 +runhordeintel() +{ + level endon("game_ended"); + level.objintel = 1; + level.killssinceinteldrop = 0; + level.hordecollected = 0; + level.collectobjects = []; + if(level.currentroundnumber < 10) + { + level.horde_collect_count = 3; + } + else if(level.currentroundnumber < 20) + { + level.horde_collect_count = 4; + } + else + { + level.horde_collect_count = 5; + } + + level.hordeobjectivesuccess = 0; + level.isobjectiveround = 1; + setomnvar("ui_horde_show_objstatus",1); + foreach(var_01 in level.players) + { + var_01 thread maps\mp\gametypes\_hud_message::splashnotify("horde_obj_intel"); + var_01 setclientomnvar("ui_horde_count_type","horde_intel"); + var_01 maps\mp\_utility::leaderdialogonplayer("coop_gdn_hostilesincomingsearchdowned","horde",1); + } + + setomnvar("ui_horde_objcount_1",0); + setomnvar("ui_horde_objmax_1",level.horde_collect_count); + thread hordeintelcancel(); + level common_scripts\utility::waittill_any("collect_completed","intel_cancel"); + hordecheckobjectivefailure(); + level.objintel = 0; + foreach(var_04 in level.collectobjects) + { + if(isdefined(var_04)) + { + maps\mp\_utility::_objective_delete(var_04.objectiveindex); + var_04 delete(); + } + } + + wait(3); + setomnvar("ui_horde_show_objstatus",0); +} + +//Function Number: 74 +hordeintelcancel() +{ + level endon("game_ended"); + level endon("collect_completed"); + level waittill("round_ended"); + level notify("intel_cancel"); +} + +//Function Number: 75 +checkdefendkill(param_00,param_01) +{ + if(isdefined(param_01) && isplayer(param_01) || isplayer(param_01.owner) && level.currentdefendloc.killcount < level.horde_defend_killcount) + { + if(param_01 maps\mp\_utility::isusingremote() && param_01.usingremote == "mg_turret" && isdefined(param_01.turret)) + { + param_01 = param_01.turret; + } + + if(isdefined(param_01.tank) && isdefined(param_01.tank.isaerialassaultdrone) && param_01.tank.isaerialassaultdrone && isdefined(param_01.owner)) + { + param_01 = param_01.owner; + } + + if(distancesquared(param_01.origin,level.currentdefendloc.origin) <= 640000) + { + level.currentdefendloc.killcount++; + level.currentpointtotal = level.currentpointtotal + 150; + level notify("pointsEarned"); + setomnvar("ui_horde_objcount_1",level.currentdefendloc.killcount); + if(isdefined(param_01.owner)) + { + param_01.owner thread maps\mp\gametypes\_rank::xppointspopup("horde_defend",150); + level thread maps\mp\gametypes\_horde_util::hordeupdatescore(param_01.owner,150); + param_01.owner setclientomnvar("ui_horde_count",1); + } + else if(isdefined(param_01)) + { + param_01 setclientomnvar("ui_horde_count",1); + param_01 thread maps\mp\gametypes\_rank::xppointspopup("horde_defend",150); + level thread maps\mp\gametypes\_horde_util::hordeupdatescore(param_01,150); + } + + if(level.currentdefendloc.killcount >= level.horde_defend_killcount) + { + thread maps\mp\gametypes\_horde_dialog::hordeleaderdialogallplayers("coop_gdn_locationdefended","horde",1); + thread hordeobjectivesuccess(); + level notify("defend_complete"); + level.currentdefendloc notify("defended"); + return; + } + } + } +} + +//Function Number: 76 +hordecheckobjectivefailure() +{ + level.objectivefailureevents = []; + level.objectivefailureevents[0] = "Emp"; + level.objectivefailureevents[1] = "Smoke"; + level.objectivefailureevents[2] = "Sentry"; + level.objectivefailureevents[3] = "Pistols"; + level.objectivefailureevents[4] = "NanoSwarm"; + if(!level.hordeobjectivesuccess) + { + maps\mp\gametypes\_horde_util::playsoundtoallplayers("mp_ctf_obj_cap_enemy"); + for(;;) + { + var_00 = common_scripts\utility::random(level.objectivefailureevents); + if(var_00 != level.hordepreviousfailureevent) + { + level.hordepreviousfailureevent = var_00; + break; + } + } + + level thread maps\mp\gametypes\_horde_util::showteamsplashhorde("horde_obj_failed_" + var_00); + level.isobjectiveround = 0; + switch(var_00) + { + case "Emp": + thread failureeventemp(); + break; + + case "Smoke": + thread failureeventsmoke(); + break; + + case "NanoSwarm": + thread failureeventmissileburst(1); + break; + + case "Sentry": + thread failureeventsentry(); + break; + + case "Pistols": + thread failureeventpistolsonly(); + break; + } + } +} + +//Function Number: 77 +failureeventemp() +{ + foreach(var_01 in level.players) + { + var_02 = var_01 getclientomnvar("ui_horde_armory_type"); + if(var_02 != "killstreak_armory" && var_02 != "perk_armory") + { + maps\mp\gametypes\_horde_armory::hordecleanuparmory(var_01); + } + } + + thread maps\mp\gametypes\_horde_dialog::hordeleaderdialogallplayers("coop_gdn_systemhack","horde",1,1); + thread maps\mp\gametypes\_horde_armory::hordedisablearmories(); + level.players[0] maps\mp\killstreaks\_emp::emp_jamteam(level.playerteam,["emp_exo_kill","emp_streak_kill","emp_equipment_kill"]); +} + +//Function Number: 78 +failureeventsmoke() +{ + level endon("game_ended"); + thread maps\mp\gametypes\_horde_dialog::hordeleaderdialogallplayers("coop_gdn_tangosarepoppingsmoke","horde",1,1); + var_00 = gettime() + int(60000); + while(gettime() < var_00) + { + var_01 = common_scripts\utility::random(level.players); + var_01 thread failureeventsmokethink(); + wait(randomfloatrange(10,12)); + } +} + +//Function Number: 79 +failureeventsmokethink() +{ + level endon("game_ended"); + self endon("death"); + for(var_00 = 0;var_00 != 3;var_00++) + { + wait(randomfloatrange(0.25,0.85)); + var_01 = _getrandomorginfrontofplayer(); + var_02 = getnodesinradiussorted(var_01,512,32,256,"path"); + var_03 = common_scripts\utility::random(var_02); + if(!isdefined(var_03)) + { + continue; + } + + magicgrenademanual("smoke_grenade_mp",var_03.origin,(0,0,0),1); + } +} + +//Function Number: 80 +_getrandomorginfrontofplayer() +{ + var_00 = anglestoforward(self.angles); + var_01 = anglestoright(self.angles); + var_02 = self.origin + var_00 * randomfloatrange(128,256); + var_03 = var_02 + var_01 * randomfloatrange(64,128); + if(common_scripts\utility::cointoss()) + { + var_03 = var_02 + var_01 * 128; + } + else + { + var_03 = var_02 - var_01 * 128; + } + + return var_03; +} + +//Function Number: 81 +failureeventmissileburst(param_00) +{ + level endon("game_ended"); + var_01 = getentarray("remoteMissileSpawn","targetname"); + thread maps\mp\gametypes\_horde_dialog::hordeleaderdialogallplayers("coop_gdn_nanostrike","horde",1,1); + if(param_00) + { + var_02 = 3; + var_03 = 1; + var_04 = 2; + var_05 = 5; + var_06 = 10; + var_07 = 15; + } + else + { + var_02 = 3; + var_03 = 5; + var_04 = 0.25; + var_05 = 1.25; + var_06 = 2; + var_07 = 5; + } + + var_08 = gettime() + int(60000); + while(gettime() < var_08) + { + wait(randomfloatrange(3,6)); + foreach(var_0A in level.players) + { + if(isdefined(var_0A.laststand) && var_0A.laststand == 1) + { + continue; + } + + var_0A failureeventmissileburstthink(var_01,param_00,var_02,var_03,var_04,var_05,var_06,var_07); + } + } +} + +//Function Number: 82 +failureeventmissileburstthink(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + self endon("death"); + self endon("disconnect"); + level endon("game_ended"); + var_08 = "warbird_missile_mp"; + for(var_09 = 0;var_09 < param_02;var_09++) + { + for(var_0A = 0;var_0A < param_03;var_0A++) + { + var_0B = maps\mp\killstreaks\_missile_strike::getbestspawnpoint(param_00); + var_0C = _getrandomorginfrontofplayer(); + var_0D = magicbullet(var_08,var_0B.origin,var_0C); + if(param_01) + { + var_0D thread hordespawnnanoswarm(); + } + + var_0D missile_settargetpos(var_0C); + var_0D missile_setflightmodedirect(); + var_0D setmissileminimapvisible(1); + wait(randomfloatrange(param_04,param_05)); + } + + wait(randomfloatrange(param_06,param_07)); + } +} + +//Function Number: 83 +hordespawnnanoswarm() +{ + self endon("cancel_swarm"); + common_scripts\utility::waittill_any("death","startSwarm"); + var_00 = spawn("script_model",self.origin); + var_00 setmodel("tag_origin"); + var_01 = spawn("script_model",var_00.origin); + var_00.killcament = var_01; + var_02 = level._missile_strike_setting["Particle_FX"].gas; + wait 0.05; + foreach(var_04 in level.players) + { + playfxontagforclients(var_02,var_00,"tag_origin",var_04); + } + + badplace_cylinder("gas_zone" + var_00 getentitynumber(),20,var_00.origin,200,128,level.enemyteam); + var_00 thread failureeventmissileburstgasdamage(); + wait(20); + var_00.killcament delete(); + var_00 delete(); +} + +//Function Number: 84 +failureeventmissileburstgasdamage() +{ + self endon("death"); + var_00 = 200; + var_01 = 12; + for(;;) + { + self.killcament radiusdamage(self.origin,var_00,var_01,var_01,undefined,"MOD_TRIGGER_HURT","killstreak_strike_missile_gas_mp",0); + wait(1); + } +} + +//Function Number: 85 +failureeventsentry() +{ + level endon("game_ended"); + thread maps\mp\gametypes\_horde_dialog::hordeleaderdialogallplayers("coop_gdn_sentryguns","horde",1,1); + var_00 = ["remote_energy_turret_mp","sentry_minigun_mp"]; + var_01 = common_scripts\utility::random(var_00); + var_02 = clamp(level.hordesentryspawns.size / 2,1,5); + level.hordesentryspawns = common_scripts\utility::array_randomize(level.hordesentryspawns); + for(var_03 = 0;var_03 < var_02;var_03++) + { + var_04 = maps\mp\gametypes\_horde_sentry::hordespawnenemyturret(var_01,level.hordesentryspawns[var_03]); + wait(2.5); + } +} + +//Function Number: 86 +failureeventpistolsonly() +{ + level endon("game_ended"); + var_00 = []; + var_01 = 45; + level.hordeweaponsjammed = 1; + setomnvar("ui_horde_allow_classchange",0); + level thread failureeventpistolsreenabled(var_01); + thread maps\mp\gametypes\_horde_dialog::hordeleaderdialogallplayers("coop_gdn_weaponsoffline","horde",1,1); + foreach(var_03 in level.players) + { + while(isdefined(var_03.ball_carried)) + { + wait(0.05); + } + + var_03 thread failureeventpistolsonlythink(var_01); + var_03 thread failureeventpistolsonlyjammedbar(var_01,var_00); + if(var_03 maps\mp\_utility::isusingremote()) + { + var_03 thread failurepistolshandleremotereturn(); + } + } +} + +//Function Number: 87 +failureeventpistolsonlyjammedbar(param_00,param_01) +{ + self endon("disconnect"); + self endon("death"); + var_02 = maps\mp\gametypes\_hud_util::createprimaryprogressbar(0,190); + var_03 = maps\mp\gametypes\_hud_util::createprimaryprogressbartext(0,185); + var_03 settext(&"HORDE_WEAPONS_JAMMED"); + var_02 thread failureeventupdateweaponjammedbar(param_00,param_01); + thread failureeventpistolonlyjammedbarhide(var_02,var_03); + var_02 waittill("Clear_JammedBar_UI"); + var_02 maps\mp\gametypes\_hud_util::destroyelem(); + var_03 maps\mp\gametypes\_hud_util::destroyelem(); +} + +//Function Number: 88 +failureeventupdateweaponjammedbar(param_00,param_01) +{ + self endon("death"); + self endon("disconnect"); + var_02 = 0; + while(var_02 != param_00) + { + var_02++; + maps\mp\gametypes\_hud_util::updatebar(var_02 / param_00); + wait(1); + } + + self notify("Clear_JammedBar_UI"); +} + +//Function Number: 89 +failureeventpistolonlyjammedbarhide(param_00,param_01) +{ + self endon("death"); + self endon("disconnect"); + param_00 endon("Clear_JammedBar_UI"); + var_02 = [param_00,param_01]; + for(;;) + { + if(!isdefined(self.inlaststand)) + { + wait(0.05); + continue; + } + + if(isdefined(self.inlaststand) && self.inlaststand == 0) + { + foreach(var_04 in var_02) + { + var_04 maps\mp\gametypes\_hud_util::showelem(); + } + } + + if(isdefined(self.inlaststand) && self.inlaststand == 1) + { + foreach(var_04 in var_02) + { + var_04 maps\mp\gametypes\_hud_util::hideelem(); + } + } + + wait(0.05); + } +} + +//Function Number: 90 +failureeventpistolsonlythink(param_00) +{ + self endon("death"); + self endon("disconnect"); + var_01 = self getclientomnvar("ui_horde_player_class"); + var_02 = self getcurrentprimaryweapon(); + if(maps\mp\_utility::isusingremote()) + { + var_02 = self.hordeclassweapons[var_01]["primary"]; + } + + if(var_02 == "iw5_carrydrone_mp") + { + var_03 = self getweaponslistprimaries(); + var_02 = var_03[0]; + } + + maps\mp\gametypes\_weapons::saveweapon("jam",var_02,maps\mp\gametypes\_horde_laststand::hordelaststandweapon()); + self.weaponjamcompletiontime = gettime() + param_00 * 1000; + handlejammedpistols(var_02); + maps\mp\gametypes\_weapons::restoreweapon("jam"); +} + +//Function Number: 91 +handlejammedpistols(param_00) +{ + self notify("horde_handle_jammed_pistols"); + self endon("horde_handle_jammed_pistols"); + if(isdefined(self.isjuggernaut) && self.isjuggernaut) + { + return; + } + + var_01 = maps\mp\gametypes\_horde_laststand::hordelaststandweapon(); + if(!maps\mp\gametypes\_horde_laststand::haslaststandweapon(var_01)) + { + self giveweapon(var_01); + } + + if(!isdefined(self.underwater) && !maps\mp\gametypes\_horde_util::isplayerinlaststand(self)) + { + self switchtoweaponimmediate(var_01); + } + + self disableweaponswitch(); + var_02 = self setweaponammostock(param_00); + var_03 = weaponclipsize(param_00); + if(var_02 < var_03) + { + self setweaponammostock(param_00,var_03); + } + + var_04 = self.weaponjamcompletiontime - gettime() * 0.001; + wait(var_04); + if(!isdefined(self.underwater) && !maps\mp\gametypes\_horde_util::isplayerinlaststand(self)) + { + self enableweaponswitch(); + } + + if(!self.hadlaststandweapon) + { + self takeweapon(var_01); + } +} + +//Function Number: 92 +failureeventpistolsreenabled(param_00) +{ + level endon("game_ended"); + wait(param_00); + setomnvar("ui_horde_allow_classchange",1); + level thread maps\mp\gametypes\_horde_util::showteamsplashhorde("horde_weapons_enabled"); + maps\mp\gametypes\_horde_util::playsoundtoallplayers("mp_ctf_obj_cap_ally"); + wait(0.5); + level.hordeweaponsjammed = 0; +} + +//Function Number: 93 +failurepistolshandleremotereturn() +{ + self endon("disconnect"); + level endon("game_ended"); + self waittill("stopped_using_remote"); + if(isdefined(level.hordeweaponsjammed) && level.hordeweaponsjammed) + { + self switchtoweaponimmediate("iw5_titan45_mp_xmags"); + } +} + +//Function Number: 94 +closeclassmenu() +{ + self endon("death"); + self endon("disconnect"); + level endon("game_ended"); + wait(0.05); + if(!isagent(self)) + { + thread maps\mp\gametypes\_playerlogic::setuioptionsmenu(-1); + } +} + +//Function Number: 95 +monitorroundend() +{ + level.enemiesleft = level.maxenemycount; + for(;;) + { + level waittill("enemy_death"); + if(level.currentenemycount == level.maxenemycount && level.currentaliveenemycount == 0) + { + notifyroundover(); + foreach(var_01 in level.players) + { + maps\mp\gametypes\_horde_armory::addarmorypoints(var_01,"round"); + } + + level.enemiesleft = 0; + setomnvar("ui_horde_enemies_left",level.enemiesleft); + return; + } + } +} + +//Function Number: 96 +notifyroundover() +{ + level endon("game_ended"); + if(getdvarint("scr_hordenoobjtimers") < 1) + { + while(level.objcollect || level.objdefuse || level.objuplink) + { + wait(0.05); + } + } + + level thread respawneliminatedplayers(); + var_00 = "horde_wave_complete"; + if(level.currentroundnumber == level.maxrounds) + { + var_00 = "horde_map_flip"; + } + + waittillframeend; + if(level.hordeobjectivesuccess) + { + if(level.currentroundnumber == 10 && maps\mp\_utility::getmapname() == "mp_prison_z") + { + level notify("zombies_start"); + setnojiptime(1); + thread maps\mp\gametypes\_horde_zombies::runhordezombies(); + } + else + { + level thread maps\mp\gametypes\_horde_util::showteamsplashhorde(var_00); + thread maps\mp\gametypes\_horde_dialog::hordeleaderdialogallplayers("coop_gdn_roundover","horde",1,1); + } + } + + setdvar("bg_compassShowEnemies",0); + level.hordenumroundscompleted++; + if(level.currentroundnumber == level.maxrounds) + { + wait(10); + } + + level notify("round_ended"); +} + +//Function Number: 97 +respawneliminatedplayers() +{ + level endon("game_ended"); + foreach(var_01 in level.players) + { + if(!maps\mp\gametypes\_horde_util::isonhumanteamorspectator(var_01)) + { + continue; + } + + if(!isdefined(self.goliathdeath)) + { + level thread respawnplayer(var_01); + } + } +} + +//Function Number: 98 +hordecustomgiveloadout(param_00) +{ + if(isdefined(self.isspectator)) + { + self.loadout = undefined; + return; + } + + maps\mp\gametypes\_class::applyloadout(); +} + +//Function Number: 99 +setupplayerafterrevivefromspectator() +{ + self notify("revive"); + var_00 = self getclientomnvar("ui_horde_player_class"); + var_01 = level.classsettings[var_00]["speed"]; + self.laststand = undefined; + self.inlaststand = 0; + self.headicon = ""; + self.movespeedscaler = var_01; + self.ignoreme = 0; + self.beingrevived = 0; + self.saveweapons = []; + self.firstsaveweapon = "none"; + if(maps\mp\_utility::_hasperk("specialty_lightweight")) + { + self.movespeedscaler = maps\mp\_utility::lightweightscalar(); + } + + self hudoutlinedisable(); + self laststandrevive(); + self setstance("stand"); + thread maps\mp\gametypes\_horde_util::hordeallowallboost(1,"laststand"); + self allowmelee(1); + self enableweapons(); + common_scripts\utility::_enableusability(); + self enableoffhandweapons(); + maps\mp\gametypes\_weapons::updatemovespeedscale(); + maps\mp\_utility::clearlowermessage("last_stand"); + maps\mp\_utility::giveperk("specialty_pistoldeath",0); + maps\mp\_utility::giveperk("specialty_horde_dualprimary",1,1); + if(maps\mp\killstreaks\_emp::issystemhacked() && !maps\mp\_utility::_hasperk("specialty_empimmune")) + { + maps\mp\killstreaks\_emp::applyemp(); + } + + maps\mp\_utility::_setactionslot(1,""); + maps\mp\_utility::_setactionslot(3,"altMode"); + maps\mp\_utility::_setactionslot(4,""); + if(!level.console) + { + maps\mp\_utility::_setactionslot(5,""); + maps\mp\_utility::_setactionslot(6,""); + maps\mp\_utility::_setactionslot(7,""); + maps\mp\_utility::_setactionslot(8,""); + } +} + +//Function Number: 100 +resetwateronrevivefromspectator() +{ + self notify("above_water"); + self.wasunderwater = 0; + wait(0.1); +} + +//Function Number: 101 +respawnplayer(param_00) +{ + level endon("game_ended"); + if(isdefined(param_00.isspectator)) + { + param_00.pers["lives"] = 1; + param_00.pers["class"] = "gamemode"; + param_00.class = param_00.pers["class"]; + param_00.addtoteam = level.playerteam; + param_00.alreadyaddedtoalivecount = 1; + param_00 maps\mp\killstreaks\_killstreaks::clearkillstreaks(1); + param_00 notify("horde_end_spectate"); + var_01 = param_00 getclientomnvar("ui_horde_player_class"); + if(var_01 == "none") + { + var_01 = "light"; + param_00 setclientomnvar("ui_horde_player_class",var_01); + param_00.classmaxhealth = param_00.classsettings[var_01]["classhealth"]; + var_02 = param_00.hordeclassweapons[var_01]["secondary"]; + param_00.primaryweaponsammo[var_02]["ammoclip"] = 15; + param_00.primaryweaponsammo[var_02]["ammostock"] = 90; + param_00 setweaponammoclip(var_02,15); + param_00.classsettings[var_01]["battery"] = level.classsettings[var_01]["battery"]; + param_00.lasttacticalweapon = param_00.classsettings[var_01]["exoAbility"]; + wait(0.1); + if(param_00 getclientomnvar("horde_first_spawn") == 1) + { + thread maps\mp\gametypes\_horde_armory::hordeclassrunfirstspawn(param_00); + } + } + + param_00 maps\mp\gametypes\_playerlogic::spawnplayer(0,0); + param_00.isspectator = undefined; + wait(0.1); + if(param_00.wasunderwater) + { + resetwateronrevivefromspectator(); + } + + param_00 setupplayerafterrevivefromspectator(); + param_00 setlethalweapon(param_00.lastlethalweapon); + param_00 giveweapon(param_00.lastlethalweapon); + param_00 settacticalweapon(param_00.lasttacticalweapon); + param_00 giveweapon(param_00.lasttacticalweapon); + param_00 setweaponammoclip(param_00.lastlethalweapon,param_00.lastlethalweaponammoclip); + param_00 maps\mp\gametypes\_horde_armory::armorygiveexoability(param_00.lasttacticalweapon,1); + param_00 maps\mp\_utility::playerallowdodge(param_00.classsettings[var_01]["allowDodge"],"class"); + param_00 maps\mp\_utility::playerallowpowerslide(param_00.classsettings[var_01]["allowSlide"],"class"); + param_00 thread addlastperks(); + var_03 = param_00 getclientomnvar("ui_horde_player_class"); + maps\mp\gametypes\_horde_armory::hordegiveability(param_00,var_03); + param_00 setclientomnvar("ks_count1",0); + param_00 setclientomnvar("ks_count_updated",1); + param_00.maxhealth = param_00.classmaxhealth + param_00.hordearmor * 40; + param_00.health = param_00.maxhealth; + if(!param_00.classabilityready && !level.zombiesstarted) + { + if(isdefined(param_00.hordeclassgoliathcontroller) || isdefined(param_00.hordeclassgoliathpodinfield)) + { + level thread maps\mp\gametypes\_horde_armory::hordewaitforgoliathdeath(param_00,maps\mp\gametypes\_horde_armory::getabilitywaittime(param_00)); + } + else + { + level thread maps\mp\gametypes\_horde_armory::hordeabilityregenbar(param_00,maps\mp\gametypes\_horde_armory::getabilitywaittime(param_00)); + } + } + + param_00.goliathdeath = undefined; + param_00 maps\mp\gametypes\_horde_laststand::givebackstoredplayerweapons(var_01,1); + foreach(var_05 in param_00.lastkillstreaks) + { + var_06 = maps\mp\gametypes\_horde_util::getslotnumber(param_00); + if(!isdefined(var_06)) + { + continue; + } + + param_00 thread maps\mp\killstreaks\_killstreaks::givekillstreak(var_05["name"],0,0,param_00,var_05["modules"],var_06); + param_00.currentkillstreaks[var_06] = var_05["name"]; + } + + return; + } + + if(maps\mp\gametypes\_horde_util::isplayerinlaststand(param_00)) + { + param_00 notify("revive_trigger",param_00); + } +} + +//Function Number: 102 +addlastperks() +{ + self endon("death"); + level endon("game_ended"); + foreach(var_01 in self.lastperks) + { + wait(0.1); + if(!maps\mp\_utility::_hasperk(var_01["name"])) + { + maps\mp\gametypes\_horde_armory::hordegiveperk(var_01["name"]); + } + } +} + +//Function Number: 103 +updateachievements() +{ + if(level.hordelevelflip > 1) + { + foreach(var_01 in level.players) + { + var_01 giveachievement("COOP_EXO_SURVIVOR"); + } + } + + if(level.hordelevelflip > 2) + { + foreach(var_01 in level.players) + { + var_01 giveachievement("COOP_FLIP_FLOP"); + } + } +} + +//Function Number: 104 +updatehordesettings() +{ + if(level.currentroundnumber == level.maxrounds) + { + level.hordelevelflip++; + setomnvar("ui_horde_flip",level.hordelevelflip); + horderandomizeaimodifiertypes(); + } + + if(maps\mp\_utility::getmapname() == "mp_prison_z" && level.currentroundnumber == 10) + { + level.hordewaveadjust = 15; + } + + level.currentroundnumber = getnextroundnumber(); + level.maxdronecount = 0; + level.maxwarbirdcount = 0; + level.maxalivedronecount = 0; + level.maxdogcount = 0; + level.maxalivedogcount = 0; + level.dogsalive = 0; + level.wavefirstspawn = 1; + level.horderoundstats["support_drops_earned"] = 0; + var_00 = getwavetable(); + level.specialaistats = []; + level.specialaitypes = strtok(tablelookup(var_00,1,level.currentroundnumber + level.hordewaveadjust,5)," "); + level.specialaicount = strtok(tablelookup(var_00,1,level.currentroundnumber + level.hordewaveadjust,6)," "); + for(var_01 = 0;var_01 < level.specialaitypes.size;var_01++) + { + level.specialaistats[level.specialaitypes[var_01]]["count"] = 0; + level.specialaistats[level.specialaitypes[var_01]]["maxCount"] = int(level.specialaicount[var_01]) + getaicountincrease(level.specialaitypes[var_01]); + } + + level.nonhumantypes = strtok(tablelookup(var_00,1,level.currentroundnumber + level.hordewaveadjust,7)," "); + for(var_01 = 0;var_01 < level.nonhumantypes.size;var_01++) + { + if(issubstr(level.nonhumantypes[var_01],"drone") && !level.hordelevelflip > 1 && level.currentroundnumber == 9) + { + level.maxdronecount = getmaxdronecount(level.currentroundnumber); + level.maxalivedronecount = level.maxdronecount; + level.droneweapon = tablelookup(getwavetable(),1,level.hordedronetype,4); + level.dronehealth = int(tablelookup(getwavetable(),1,level.hordedronetype,7)); + level.hordedronemodel = "vehicle_atlas_assault_drone"; + if(level.hordedronetype == "drone_large_energy") + { + level.hordedronemodel = "vehicle_atlas_assault_drone_large"; + } + } + + if(issubstr(level.nonhumantypes[var_01],"warbird") || level.hordelevelflip > 1 && level.currentroundnumber == 9 || level.hordelevelflip == 1 && level.currentroundnumber == 11) + { + level.maxwarbirdcount = getmaxwarbirdcount(level.currentroundnumber); + if((level.hordelevelflip > 1 && level.currentroundnumber == 9) || level.hordelevelflip == 1 && level.currentroundnumber == 11) + { + level.maxwarbirdcount = 1; + level.hordewarbirdtype = "warbird"; + } + + level.warbirdweapon = tablelookup(getwavetable(),1,level.hordewarbirdtype,4); + level.warbirdhealth = int(tablelookup(getwavetable(),1,level.hordewarbirdtype,7)); + level.hordewarbirdmodel = "vehicle_atlas_assault_warbird"; + } + + if(issubstr(level.nonhumantypes[var_01],"dog") && !level.hordelevelflip == 1 && level.currentroundnumber == 11) + { + level.maxdogcount = getmaxdogcount(level.currentroundnumber); + level.maxalivedogcount = level.maxdogcount; + } + } + + level.maxenemycount = getmaxenemycount(level.currentroundnumber); + level.currentenemycount = 0; + level.maxaliveenemycount = getmaxaliveenemycount(level.currentroundnumber); + level.currentaliveenemycount = 0; + level.enemiesleft = 0; + level.maxpickupsperround = getmaxpickupsperround(); + level.currentpickupcount = 0; + level.currentammopickupcount = 0; + level.chancetospawndog = 0; + if(level.currentroundnumber == 10 && maps\mp\gametypes\_horde_util::getnumplayers() < 2) + { + level.maxenemycount = 1; + level.maxaliveenemycount = 1; + } + + if(level.currentroundnumber > 4) + { + setnojipscore(1); + } + + foreach(var_03 in level.players) + { + var_03.roundkills = 0; + var_03.roundheadshots = 0; + var_03.roundupgradepoints = 0; + } + + updateachievements(); +} + +//Function Number: 105 +horderandomizeaimodifiertypes() +{ + var_00 = clamp(level.hordelevelflip,1,4); + switch(int(var_00)) + { + case 4: + level.modifiercompanionaitypes = hordereturnrandomaitypes(level.hordemodeelites,undefined,3); + break; + + case 3: + level.modifierexplosiveaitypes = hordereturnrandomaitypes(level.hordemodeelites,undefined,2); + break; + + case 2: + level.modifiertoxicaitypes = hordereturnrandomaitypes(level.hordemodespecials,level.hordemodeelites,3); + break; + + case 1: + level.modifiershieldaitypes = hordereturnrandomaitypes(level.hordemodegrunts,undefined,level.hordemodegrunts.size / 2); + break; + } +} + +//Function Number: 106 +hordereturnrandomaitypes(param_00,param_01,param_02) +{ + var_03 = []; + if(isdefined(param_01)) + { + param_00 = common_scripts\utility::array_combine(param_00,param_01); + } + + for(var_04 = 0;var_04 < param_02;var_04++) + { + var_05 = common_scripts\utility::random(param_00); + var_03 = common_scripts\utility::add_to_array(var_03,var_05); + param_00 = common_scripts\utility::array_remove(param_00,var_05); + } + + return var_03; +} + +//Function Number: 107 +hordeupdateroundstats() +{ + level.horderoundstats["round_time"] = gettime() - level.horderoundstats["round_time"]; + if(!isdefined(level.fastesttime) || level.horderoundstats["round_time"] < level.fastesttime) + { + level.fastesttime = level.horderoundstats["round_time"]; + } + + var_00 = int(level.horderoundstats["round_time"] / 1000); + if(var_00 > 999) + { + var_00 = 999; + } + + setomnvar("ui_horde_round_time",var_00); + setomnvar("ui_horde_round_drops",level.horderoundstats["support_drops_earned"]); + foreach(var_02 in level.players) + { + var_02 setclientomnvar("ui_horde_round_kills",var_02.roundkills); + var_02 setclientomnvar("ui_horde_round_headshots",var_02.roundheadshots); + var_02 setclientomnvar("ui_horde_round_points",var_02.roundupgradepoints); + } + + if(getomnvar("ui_horde_show_objstatus") > 0) + { + setomnvar("ui_horde_show_objstatus",0); + } + + if(!level.zombiesstarted) + { + setomnvar("ui_horde_show_roundstats",1); + } + + var_04 = 300 - var_00 * 5; + if(var_04 < 0) + { + var_04 = 0; + } + + foreach(var_02 in level.players) + { + var_06 = var_02.roundkills * 50; + var_07 = level.horderoundstats["support_drops_earned"] * 500; + var_08 = var_02.roundupgradepoints * 500; + var_09 = var_02.roundheadshots * 50; + var_0A = var_04 + var_06 + var_07 + var_08 + var_09; + level thread maps\mp\gametypes\_horde_util::hordeupdatescore(var_02,var_0A); + level thread maps\mp\gametypes\_horde_util::awardhordeheadshots(var_02,var_02.roundheadshots); + } + + thread hordehideroundstats(); +} + +//Function Number: 108 +hordehideroundstats() +{ + level endon("game_ended"); + common_scripts\utility::waittill_any_timeout(15,"all_players_ready","round_begin"); + setomnvar("ui_horde_show_roundstats",0); + if(level.isobjectiveround) + { + setomnvar("ui_horde_show_objstatus",1); + } +} + +//Function Number: 109 +getnextroundnumber() +{ + if(level.currentroundnumber == level.maxrounds) + { + var_00 = 1; + } + else if(level.currentroundnumber == 0) + { + var_00 = hordegetstartingroundnum(getdvarint("scr_horde_startinground")); + } + else + { + var_00 = level.currentroundnumber + 1; + } + + return var_00; +} + +//Function Number: 110 +hordegetstartingroundnum(param_00) +{ + var_01 = 1; + switch(param_00) + { + case 0: + var_01 = 1; + break; + + case 1: + var_01 = 5; + break; + + case 2: + var_01 = 10; + break; + + case 3: + var_01 = 15; + break; + + case 4: + var_01 = 20; + break; + + case 5: + var_01 = 25; + break; + } + + return var_01; +} + +//Function Number: 111 +getrownumber(param_00) +{ + param_00 = int(clamp(param_00,1,20)); + param_00 = param_00 - 1; + return param_00 * 4 + maps\mp\gametypes\_horde_util::getnumplayers(); +} + +//Function Number: 112 +getmaxrounds(param_00) +{ + var_01 = 100; + switch(param_00) + { + case 1: + case 0: + var_01 = 20; + break; + + case 2: + var_01 = 40; + break; + + case 3: + var_01 = 100; + break; + + default: + var_01 = 100; + break; + } + + return var_01; +} + +//Function Number: 113 +getmaxenemycount(param_00) +{ + var_01 = int(tablelookup(getwavetable(),1,level.currentroundnumber + level.hordewaveadjust,2)) + getaicountincrease(); + return var_01; +} + +//Function Number: 114 +getmaxdronecount(param_00) +{ + var_01 = getwavetable(); + level.hordedronetype = tablelookup(var_01,1,level.currentroundnumber + level.hordewaveadjust,7); + var_02 = int(tablelookup(var_01,1,level.currentroundnumber + level.hordewaveadjust,8)); + return var_02; +} + +//Function Number: 115 +getmaxdogcount(param_00) +{ + level.hordedogtype = tablelookup(getwavetable(),1,level.currentroundnumber + level.hordewaveadjust,7); + var_01 = int(tablelookup(getwavetable(),1,level.currentroundnumber + level.hordewaveadjust,8)); + return var_01; +} + +//Function Number: 116 +getmaxwarbirdcount(param_00) +{ + var_01 = getwavetable(); + level.hordewarbirdtype = tablelookup(var_01,1,level.currentroundnumber + level.hordewaveadjust,7); + var_02 = int(tablelookup(var_01,1,level.currentroundnumber + level.hordewaveadjust,8)); + return var_02; +} + +//Function Number: 117 +getmaxaliveenemycount(param_00) +{ + var_01 = int(tablelookup(getwavetable(),1,level.currentroundnumber + level.hordewaveadjust,3)) + getaicountincrease(); + return var_01; +} + +//Function Number: 118 +getaicountincrease(param_00) +{ + if(level.currentroundnumber == 5 || level.currentroundnumber == 10) + { + return 0; + } + + var_01 = maps\mp\gametypes\_horde_util::getnumplayers() - 1; + if(isdefined(param_00) && issubstr(param_00,"jugg")) + { + if(level.currentroundnumber < 14) + { + var_01 = 0; + } + else if(level.currentroundnumber < 24) + { + var_01 = min(1,maps\mp\gametypes\_horde_util::getnumplayers() - 1); + } + else if(level.currentroundnumber == 25) + { + var_01 = min(2,maps\mp\gametypes\_horde_util::getnumplayers() - 1); + } + } + + return var_01; +} + +//Function Number: 119 +waituntilmatchstart() +{ + maps\mp\_utility::gameflagwait("prematch_done"); + while(!isdefined(level.bot_loadouts_initialized) || level.bot_loadouts_initialized == 0) + { + wait(0.05); + } + + while(!level.players.size) + { + wait(0.05); + } +} + +//Function Number: 120 +shownextroundmessage() +{ + level.players_ready = 0; + if(level.currentroundnumber > 1) + { + foreach(var_01 in level.players) + { + level thread hordemonitordoubletap(var_01,"readyup"); + } + + level thread hordemonitorplayersready(); + } + + setomnvar("ui_horde_round_number_unlock",level.currentroundnumber); + horderoundintermission(); + foreach(var_01 in level.players) + { + var_01 setclientomnvar("ui_horde_show_readyup",0); + } + + setomnvar("ui_horde_round_number",level.currentroundnumber); + level thread respawneliminatedplayers(); + var_05 = "horde_wave_start"; + level childthread maps\mp\gametypes\_horde_util::playsoundtoallplayers(var_05); + if(maps\mp\_utility::getmapname() == "mp_prison_z" && level.currentroundnumber > 10) + { + maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(5); + } +} + +//Function Number: 121 +showintermissiontimer() +{ + if(level.currentroundnumber == 1) + { + return 0; + } + + if(maps\mp\_utility::getmapname() == "mp_prison_z" && level.currentroundnumber > 10) + { + return 0; + } + + if(isdefined(level.hordeobjectivesuccess) && !level.hordeobjectivesuccess) + { + return 0; + } + + return 1; +} + +//Function Number: 122 +hordemonitorplayersready() +{ + level endon("game_ended"); + level endon("start_round"); + while(level.players_ready < level.players.size) + { + wait(0.05); + } + + level notify("all_players_ready"); + setomnvar("ui_horde_show_roundstats",0); + clearhudtimer(); +} + +//Function Number: 123 +horderoundintermission() +{ + level endon("game_ended"); + level endon("all_players_ready"); + if(showintermissiontimer()) + { + sethudtimer("start_time",getroundintermissiontimer()); + foreach(var_01 in level.players) + { + var_01 setclientomnvar("ui_horde_show_readyup",1); + } + } + + if(level.currentroundnumber == 1) + { + thread maps\mp\gametypes\_horde_dialog::hordeleaderdialogallplayers("coop_gdn_intro","horde",1,2); + } + + maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(getroundintermissiontimer() - 6); + if(!level.zombiesstarted) + { + level notify("wave_final_countdown"); + foreach(var_01 in level.players) + { + var_01 setclientomnvar("ui_horde_show_readyup",0); + } + + hordeintermissionfinalcountdown(); + thread hordeintermissionclearcountdown(); + } + + level notify("round_begin"); +} + +//Function Number: 124 +hordeintermissionfinalcountdown(param_00) +{ + clearhudtimer(); + if(!isdefined(param_00)) + { + param_00 = 5; + } + + setomnvar("ui_match_countdown_toggle",1); + setomnvar("ui_match_countdown_title",4); + while(param_00 > 0 && !level.gameended) + { + if(getomnvar("ui_match_countdown_title") == 4) + { + setomnvar("ui_match_countdown",param_00); + } + + wait(1); + param_00--; + } +} + +//Function Number: 125 +hordeintermissionclearcountdown() +{ + setomnvar("ui_match_countdown_title",5); + setomnvar("ui_match_countdown",0); + setomnvar("ui_match_countdown_toggle",0); + wait(2); + setomnvar("ui_match_countdown_title",0); +} + +//Function Number: 126 +getroundintermissiontimer() +{ + if(!showintermissiontimer()) + { + return 10; + } + + return 45; +} + +//Function Number: 127 +hordemonitordoubletap(param_00,param_01) +{ + param_00 endon("disconnect"); + param_00 endon("death"); + level endon("game_ended"); + if(param_01 == "dismiss_info") + { + param_00 endon("info_dismissed"); + } + else if(param_01 == "readyup") + { + param_00 endon("ready"); + level endon("start_round"); + level endon("wave_final_countdown"); + } + + var_02 = 0; + for(;;) + { + if(param_00 usebuttonpressed()) + { + var_02 = 0; + while(param_00 usebuttonpressed()) + { + var_02 = var_02 + 0.05; + wait(0.05); + } + + if(var_02 >= 0.5) + { + continue; + } + + var_02 = 0; + while(!param_00 usebuttonpressed() && var_02 < 0.5) + { + var_02 = var_02 + 0.05; + wait(0.05); + } + + if(var_02 >= 0.5) + { + continue; + } + + switch(param_01) + { + case "readyup": + if(!param_00 maps\mp\_utility::isusingremote()) + { + level.players_ready++; + if(level.players_ready < level.players.size) + { + param_00 setclientomnvar("ui_horde_show_readyup",2); + } + + param_00 notify("ready"); + } + break; + + case "dismiss_info": + param_00 notify("info_dismissed"); + break; + } + } + + wait(0.05); + } +} + +//Function Number: 128 +rundroplocations() +{ + level endon("game_ended"); + level endon("zombies_start"); + waituntilmatchstart(); + if(!isdefined(level.hordedroplocations) || !level.hordedroplocations.size) + { + return; + } + + level childthread monitorsupportdropprogress(); + for(;;) + { + level waittill("airSupport"); + thread maps\mp\gametypes\_horde_dialog::hordeleaderdialogallplayers("coop_gdn_supportdropincoming","horde",1,1); + level childthread displayincomingairdropmessage(); + for(var_00 = 0;var_00 < level.hordeuseddroplocations.size;var_00++) + { + level.hordedroplocations[level.hordedroplocations.size] = level.hordeuseddroplocations[0]; + level.hordeuseddroplocations = common_scripts\utility::array_remove(level.hordeuseddroplocations,level.hordeuseddroplocations[0]); + } + + foreach(var_02 in level.players) + { + if(!maps\mp\_utility::isreallyalive(var_02)) + { + continue; + } + + var_03 = var_02 thread maps\mp\killstreaks\_orbital_carepackage::playerlaunchcarepackage("horde_support_drop",var_02.killstreakmodules); + } + + level.horderoundstats["support_drops_earned"]++; + } +} + +//Function Number: 129 +sortdroplocations() +{ + var_00 = (0,0,0); + var_01 = 0; + foreach(var_03 in level.players) + { + if(!maps\mp\gametypes\_horde_util::isonhumanteam(var_03) || !isalive(var_03)) + { + continue; + } + + var_01++; + var_00 = var_00 + (var_03.origin[0],var_03.origin[1],var_03.origin[2]); + } + + var_05 = var_00 / var_01; + level.hordedroplocations = sortbydistance(level.hordedroplocations,var_05); +} + +//Function Number: 130 +monitorsupportdropprogress() +{ + level.supportbarsize = getsupportbarsize(); + for(;;) + { + level common_scripts\utility::waittill_any("pointsEarned","host_migration_end"); + if(level.currentpointtotal >= level.supportbarsize) + { + level notify("airSupport"); + foreach(var_01 in level.players) + { + maps\mp\gametypes\_horde_armory::addarmorypoints(var_01,"support_bar_filled"); + } + + level.currentpointtotal = level.currentpointtotal - level.supportbarsize; + level.supportbarsize = getsupportbarsize(); + setomnvar("ui_horde_support_drop_progress",100); + wait(2.72); + } + + setomnvar("ui_horde_support_drop_progress",int(level.currentpointtotal / level.supportbarsize * 100)); + } +} + +//Function Number: 131 +getsupportbarsize() +{ + var_00 = getmaxenemycount(level.currentroundnumber); + var_01 = int(level.currentroundnumber / 4); + var_02 = 45 + var_01 * 15; + var_03 = 1500; + if(maps\mp\gametypes\_horde_util::getnumplayers() == 2) + { + var_03 = 2100; + } + else if(maps\mp\gametypes\_horde_util::getnumplayers() == 3) + { + var_03 = 3300; + } + else if(maps\mp\gametypes\_horde_util::getnumplayers() == 4) + { + var_03 = 4100; + } + + var_03 = var_03 + 800 * level.hordedifficultylevel; + return var_03 + var_00 * var_02; +} + +//Function Number: 132 +activateplayerhud(param_00) +{ + level endon("game_ended"); + param_00 endon("disconnect"); + param_00 waittill("spawned_player"); + wait(0.05); + if(level.currentroundnumber == 0) + { + var_01 = hordegetstartingroundnum(getdvarint("scr_horde_startinground")); + } + else + { + var_01 = level.currentroundnumber; + } + + setomnvar("ui_horde_round_number",var_01); + thread watchforhostmigrationsetround(); +} + +//Function Number: 133 +watchforhostmigrationsetround() +{ + level endon("game_ended"); + for(;;) + { + level waittill("host_migration_end"); + var_00 = int(max(level.currentroundnumber,1)); + setomnvar("ui_horde_round_number",var_00); + foreach(var_02 in level.players) + { + if(isai(var_02)) + { + continue; + } + + if(!isdefined(var_02)) + { + continue; + } + + if(!isdefined(var_02.horde_perks)) + { + continue; + } + + if(!var_02.horde_perks.size) + { + continue; + } + + var_03 = var_02.horde_perks.size; + for(var_04 = 0;var_04 < var_03;var_04++) + { + if(!isdefined(var_02)) + { + continue; + } + + if(!isagent(var_02)) + { + var_02 setclientomnvar("ui_horde_update_perk",var_02.horde_perks[var_04]["index"]); + } + + wait(0.05); + } + } + } +} + +//Function Number: 134 +watchforhostmigrationselectclass() +{ + level endon("game_ended"); + for(;;) + { + level waittill("host_migration_begin"); + foreach(var_01 in level.players) + { + var_02 = var_01 getclientomnvar("ui_horde_show_armory"); + var_03 = var_01 getclientomnvar("ui_horde_armory_type"); + if(var_02 && var_03 != "killstreak_armory" && var_03 != "perk_armory") + { + var_01 setclientomnvar("ui_horde_show_armory",0); + var_01 enableusability(); + } + } + + level waittill("host_migration_end"); + foreach(var_01 in level.players) + { + if(!var_01.classchosen) + { + var_01 setclientomnvar("ui_horde_armory_type","class"); + var_01 setclientomnvar("ui_horde_show_armory",1); + } + } + } +} + +//Function Number: 135 +getweaponfxheight(param_00) +{ + var_01 = param_00 getstance(); + if(var_01 == "stand") + { + return 48; + } + + if(var_01 == "crouch") + { + return 32; + } + + return 12; +} + +//Function Number: 136 +displayincomingairdropmessage() +{ + wait(0.05); + foreach(var_01 in level.players) + { + if(!maps\mp\gametypes\_horde_util::isonhumanteam(var_01)) + { + continue; + } + + if(var_01.sessionstate == "spectator") + { + continue; + } + + var_01 thread maps\mp\gametypes\_hud_message::splashnotify("horde_support_drop"); + } +} + +//Function Number: 137 +initspawns() +{ + level.spawnmins = (0,0,0); + level.spawnmaxs = (0,0,0); + maps\mp\gametypes\_spawnlogic::addstartspawnpoints("mp_tdm_spawn_allies_start"); + maps\mp\gametypes\_spawnlogic::addstartspawnpoints("mp_tdm_spawn_axis_start"); + level.spawn_name = "mp_tdm_spawn"; + maps\mp\gametypes\_spawnlogic::addspawnpoints("allies",level.spawn_name); + maps\mp\gametypes\_spawnlogic::addspawnpoints("axis",level.spawn_name); + level.mapcenter = maps\mp\gametypes\_spawnlogic::findboxcenter(level.spawnmins,level.spawnmaxs); + setmapcenter(level.mapcenter); +} + +//Function Number: 138 +getspawnpoint() +{ + var_00 = self.team; + if(!maps\mp\gametypes\_horde_util::isonhumanteam(self) && self.agent_type == "player") + { + self.hordeloadout = hordegetenemyloadout(); + } + + if(maps\mp\gametypes\_horde_util::isonhumanteam(self)) + { + var_01 = maps\mp\gametypes\_spawnlogic::getteamspawnpoints(var_00); + if(level.ingraceperiod) + { + var_02 = maps\mp\gametypes\_spawnlogic::getspawnpoint_random(var_01); + } + else + { + var_02 = maps\mp\gametypes\_spawnscoring::getspawnpoint_nearteam(var_02); + } + + return var_02; + } + + var_01 = maps\mp\gametypes\_spawnlogic::getteamspawnpoints(var_02); + if(isdefined(self.hordeloadout) && issubstr(self.hordeloadout["type"],"jugg")) + { + var_02 = cullbadjuggspawns(var_02); + } + else if(isdefined(self.agent_type) && self.agent_type == "dog") + { + var_02 = cullbaddogspawns(var_02); + } + + var_02 = maps\mp\gametypes\_spawnscoring::getspawnpoint_safeguard(var_02); + return var_02; +} + +//Function Number: 139 +cullbadjuggspawns(param_00) +{ + if(isarray(param_00)) + { + foreach(var_02 in param_00) + { + if(maps\mp\_utility::getmapname() == "mp_recovery" && distance2dsquared(var_02.origin,(-631,-313.2,38)) < 4096 || distance2dsquared(var_02.origin,(-1276,-129,148)) < 4096) + { + param_00 = common_scripts\utility::array_remove(param_00,var_02); + } + + if(maps\mp\_utility::getmapname() == "mp_refraction" && distance2dsquared(var_02.origin,(-2356,-1208,2304)) < 4096) + { + param_00 = common_scripts\utility::array_remove(param_00,var_02); + } + + if(maps\mp\_utility::getmapname() == "mp_comeback" && distance2dsquared(var_02.origin,(814,-945,239)) < 4096 || distance2dsquared(var_02.origin,(474,788,184)) < 4096) + { + param_00 = common_scripts\utility::array_remove(param_00,var_02); + } + } + } + + return param_00; +} + +//Function Number: 140 +cullbaddogspawns(param_00) +{ + if(isarray(param_00)) + { + foreach(var_02 in param_00) + { + if(maps\mp\_utility::getmapname() == "mp_lab2" && distance2dsquared(var_02.origin,(-529,1378,499)) < 4096) + { + param_00 = common_scripts\utility::array_remove(param_00,var_02); + } + } + } + + return param_00; +} + +//Function Number: 141 +getagentdamagescalar() +{ + var_00 = 0.25; + var_01 = maps\mp\gametypes\_horde_util::getnumplayers(); + switch(var_01) + { + case 0: + var_00 = 0.015; + break; + + case 1: + var_00 = 0.015; + break; + + case 2: + var_00 = 0.025; + break; + + case 3: + var_00 = 0.05; + break; + + case 4: + default: + var_00 = 0.05; + break; + } + + return var_00; +} + +//Function Number: 142 +getplayerdamagescale() +{ + var_00 = maps\mp\gametypes\_horde_util::getnumplayers(); + var_01 = 0.05; + switch(var_00) + { + case 1: + var_01 = 0.05; + break; + + case 2: + var_01 = 0.14; + break; + + case 3: + var_01 = 0.32; + break; + + case 4: + var_01 = 0.46; + break; + } + + var_01 = var_01 + 0.15 * level.hordedifficultylevel; + var_01 = var_01 + 0.3 * level.hordelevelflip - 1; + return var_01; +} + +//Function Number: 143 +modifyplayerdamagehorde(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + if(!isdefined(param_00)) + { + return 0; + } + + if((!isdefined(param_02) || param_02.classname == "worldspawn") && param_00.team == level.enemyteam && isdefined(param_05) && param_05 == "killstreak_strike_missile_gas_mp" || param_05 == "warbird_missile_mp") + { + return 0; + } + + if(isdefined(param_02) && isdefined(param_02.team) && param_02.team == param_00.team) + { + if(param_05 == "destructible_toy" || param_05 == "mp_lab_gas_explosion") + { + param_03 = 60; + param_03 = int(min(param_03 + param_03 * getplayerdamagescale(),0.7 * param_00.maxhealth)); + if(isdefined(param_00.horde_perks)) + { + foreach(var_0A in param_00.horde_perks) + { + if(var_0A["name"] == "specialty_class_flakjacket") + { + param_03 = param_03 * 0.5; + break; + } + } + } + + return int(param_03); + } + else if(param_05 == "stun_grenade_horde_mp") + { + return param_03; + } + else + { + return 0; + } + } + + if(isdefined(param_02) && isplayer(param_02)) + { + if(param_00 == param_02 && maps\mp\_utility::iskillstreakweapon(param_05)) + { + param_03 = 0; + } + + var_0C = getweaponbasename(param_05); + if(param_00.team == level.enemyteam && param_02.team == level.playerteam) + { + if(maps\mp\_utility::ismeleemod(param_04)) + { + param_03 = param_00.maxhealth + 1; + } + + var_0D = weaponclass(param_05); + if(isdefined(param_00.horde_type) && param_00.horde_type == "jugg" || param_00.horde_type == "jugg_handler") + { + if(maps\mp\_utility::ismeleemod(param_04)) + { + param_03 = int(param_03 * 0.25); + } + else if(param_05 == "boost_slam_mp") + { + param_03 = int(param_03 * 0.25); + } + else if(issubstr(param_05,"microdronelauncher")) + { + param_03 = int(param_03 * 3); + } + else if(issubstr(param_05,"crossbow")) + { + param_03 = int(param_03 * 2); + } + else if(var_0D == "rocketlauncher") + { + if(issubstr(param_05,"stinger")) + { + param_03 = int(param_03 * 0.05); + } + else if(param_04 == "MOD_PROJECTILE_SPLASH") + { + param_03 = param_03 * 0.9; + } + else + { + param_03 = int(param_03 * 0.1); + } + } + else if(param_05 == "orbital_laser_fov_mp") + { + param_03 = int(param_03 * 0.13); + } + else if(param_05 == "warbird_remote_turret_mp") + { + param_03 = int(param_03 * 4); + } + else if(param_05 == "remotemissile_projectile_mp") + { + param_03 = int(param_03 * 7); + } + else if(param_05 == "stealth_bomb_mp") + { + param_03 = int(param_03 * 4); + } + else if(issubstr(param_05,"em1")) + { + if(randomintrange(0,101) < 50) + { + param_03 = 1; + } + else + { + return 0; + } + } + else if(var_0D == "mg" && param_05 != "iw5_exominigun_mp") + { + param_03 = int(param_03 * 0.2); + } + else if(issubstr(param_05,"epm3")) + { + param_03 = int(param_03 * 2); + } + else if(param_05 == "iw5_exominigun_mp") + { + param_03 = int(param_03 * 3); + } + else if(param_05 == "playermech_rocket_mp" || param_05 == "iw5_juggernautrockets_mp" || param_05 == "playermech_rocket_swarm_mp") + { + param_03 = int(param_03 * 0.035); + } + } + else + { + param_03 = int(param_03 * param_02.weapondmgmod); + } + + if(weaponclass(param_05) == "sniper") + { + param_03 = param_03 * 2; + } + + if(weaponclass(param_05) == "rocketlauncher") + { + var_0E = 1000; + if(getweaponbasename(param_05) == "iw5_maaws_mp") + { + if(param_04 == "MOD_PROJECTILE_SPLASH") + { + param_03 = param_03 * 2; + } + + if(param_03 > var_0E) + { + param_03 = var_0E; + } + } + + if(getweaponbasename(param_05) == "iw5_mahem_mp") + { + if(param_04 == "MOD_PROJECTILE_SPLASH") + { + param_03 = param_03 * 3; + } + + if(param_03 > var_0E) + { + param_03 = var_0E; + } + } + } + + if(maps\mp\_utility::iskillstreakweapon(param_05)) + { + param_03 = int(param_03 + 0 * level.currentroundnumber); + } + + if(maps\mp\gametypes\_class::isvalidequipment(param_05,0)) + { + if(isexplosivedamagemod(param_04)) + { + param_03 = int(param_00.maxhealth) + 1; + } + + if(param_05 == "throwingknife_mp") + { + param_03 = param_00.maxhealth + 1; + } + } + + param_03 = int(param_03 * param_02.classdmgmod); + if(param_08 == "head" && param_03 >= param_00.health) + { + param_02.roundheadshots++; + } + + param_02 givepointsfordamage(param_00,param_03,param_04,param_05,param_06,param_07,param_08,0); + } + } + + if(isdefined(param_02) && isdefined(param_02.owner) && isplayer(param_02.owner)) + { + var_0F = 0; + if(maps\mp\_utility::iskillstreakweapon(param_05)) + { + param_03 = int(param_03 + 0 * level.currentroundnumber); + } + + if(isagent(param_02)) + { + param_03 = int(param_03 + param_03 * 0.1 * level.currentroundnumber - 2); + var_0F = 1; + } + + if(!isdefined(param_02.chopper) && !isdefined(param_02.ishordeenemysentry)) + { + param_02.owner givepointsfordamage(param_00,param_03,param_04,param_05,param_06,param_07,param_08,var_0F); + } + } + + if(isplayer(param_00) || maps\mp\gametypes\_horde_util::isonhumanteam(param_00)) + { + if(maps\mp\gametypes\_horde_util::isplayerinlaststand(param_00) && !param_00 maps\mp\_utility::touchingbadtrigger()) + { + return 0; + } + + if(param_05 == "semtexproj_mp") + { + param_03 = param_03 * 3; + } + + if(isplayer(param_00)) + { + if(issubstr(param_05,"_em1")) + { + param_03 = int(param_03 * 0.33 + 1); + } + + if(issubstr(param_05,"microdronelauncher")) + { + param_03 = int(param_03 * getplayerdamagescale() + 0.4); + } + else if(issubstr(param_05,"exominigun")) + { + param_03 = int(param_03 * 0.4); + } + else if(issubstr(param_05,"mp11") || issubstr(param_05,"bal27")) + { + param_03 = int(param_03 * getplayerdamagescale() + 0.08); + } + else if(issubstr(param_05,"maul")) + { + param_03 = int(param_03 * getplayerdamagescale() - 0.02); + } + else if(issubstr(param_05,"himar")) + { + param_03 = int(param_03 * getplayerdamagescale() + 0.16); + } + else if(issubstr(param_05,"iw5_em1_mp")) + { + param_03 = int(param_03 * getplayerdamagescale() + 0.05); + } + else if(issubstr(param_05,"iw5_em1loot8_mp")) + { + param_03 = int(param_03 * getplayerdamagescale() + 0.12); + } + else if(issubstr(param_05,"iw5_em1loot4_mp")) + { + param_03 = int(param_03 * getplayerdamagescale() + 0.08); + } + else if(issubstr(param_05,"iw5_em1loot1_mp")) + { + param_03 = int(param_03 * getplayerdamagescale() + 0.16); + } + else if(issubstr(param_05,"epm3")) + { + param_03 = int(param_03 * getplayerdamagescale() + 0.35); + } + else if(issubstr(param_05,"remote_turret")) + { + param_03 = int(param_03 * getplayerdamagescale() + 0.06); + } + else if(issubstr(param_05,"warbird_missile_mp")) + { + param_03 = param_03 * 2; + if(param_03 > 400) + { + param_03 = 400; + } + + param_03 = int(param_03 * getplayerdamagescale()); + if(isdefined(param_00.horde_perks)) + { + foreach(var_0A in param_00.horde_perks) + { + if(var_0A["name"] == "specialty_class_flakjacket") + { + param_03 = int(param_03 * 0.5); + break; + } + } + } + } + else if(issubstr(param_05,"remote_energy_turret")) + { + param_03 = int(param_03 * getplayerdamagescale() + 0.1); + } + else if(param_05 == "frag_grenade_mp") + { + param_03 = int(param_03 * getplayerdamagescale() + 0.3); + } + else if(param_05 == "iw5_juggernautrockets_mp") + { + param_03 = 20 + 30 * level.hordelevelflip - 1; + } + else if(isdefined(param_02) && isdefined(param_02.type) && issubstr(param_02.type,"tracking_drone")) + { + param_03 = int(min(param_03 * getplayerdamagescale() + 0.35,param_00.maxhealth * 0.8)); + } + else if(param_05 == "killstreak_strike_missile_gas_mp") + { + return int(param_00.maxhealth * 0.1); + } + else if(param_04 == "MOD_TRIGGER_HURT" && param_00 maps\mp\_utility::touchingbadtrigger()) + { + param_00.classselection = 0; + if(isdefined(param_00.enteringgoliath) && param_00.enteringgoliath) + { + maps\mp\_snd_common_mp::snd_message("goliath_self_destruct"); + playfx(common_scripts\utility::getfx("goliath_self_destruct"),self.origin,anglestoup(self.angles)); + self thread [[ level.hordehandlejuggdeath ]](); + } + + if(maps\mp\gametypes\_horde_util::isplayerinlaststand(param_00)) + { + if(isdefined(param_00.isspectator) && param_00.isspectator) + { + return 0; + } + + self hudoutlinedisable(); + self disableweapons(); + self.movespeedscaler = 0.05; + if(level.players.size > 1) + { + thread maps\mp\gametypes\_horde_laststand::startspectatemode(0,0,0); + } + else + { + return 10000; + } + + return 0; + } + + return 10000; + } + else + { + param_03 = int(param_03 * getplayerdamagescale()); + } + + if(param_00.classselection) + { + return 0; + } + } + else + { + param_03 = int(param_03 * getagentdamagescalar()); + } + + if(isdefined(param_02) && isagent(param_02)) + { + if(maps\mp\_utility::ismeleemod(param_04)) + { + if(issubstr(param_05,"zombiemelee")) + { + param_03 = int(param_00.maxhealth / 8) + 1; + } + else + { + param_03 = int(param_00.maxhealth / 3) + 1; + } + } + + if(param_02.agent_type == "dog") + { + param_03 = int(param_03 * 0.5); + if(isdefined(param_00.isjuggernaut) && param_00.isjuggernaut) + { + param_03 = int(param_03 / 4); + } + } + } + + if(issubstr(param_05,"em1")) + { + param_03 = param_03 * param_00.energydmgmod; + } + + if(isdefined(param_00.isreviving) && param_00.isreviving) + { + if(isagent(param_00)) + { + param_03 = 0; + } + + if(isplayer(param_00)) + { + param_03 = int(param_03 * 0.7); + } + } + + if(param_00 maps\mp\_utility::isusingremote()) + { + param_03 = int(param_03 * 0.4); + } + } + + if(param_03 < 1) + { + param_03 = 1; + } + + return param_03; +} + +//Function Number: 144 +givepointsfordamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + var_08 = maps\mp\_utility::isheadshot(param_03,param_06,param_02,self); + var_09 = maps\mp\_utility::ismeleemod(param_02) || param_02 == "MOD_IMPACT"; + var_0A = param_01 >= param_00.health; + if(var_09 && param_06 == "shield") + { + return; + } + + var_0B = undefined; + if(var_0A) + { + if(var_09) + { + var_0B = "kill_melee"; + maps\mp\gametypes\_horde_util::awardhordemeleekills(self); + } + else if(var_08) + { + var_0B = "kill_head"; + maps\mp\gametypes\_horde_util::awardhordeheadshotkills(self); + } + else + { + var_0B = "kill_normal"; + } + } + else if(var_08 && isdefined(param_03) && !maps\mp\_utility::iskillstreakweapon(param_03)) + { + var_0B = "damage_head"; + } + else + { + var_0B = "damage_body"; + } + + givepointsforevent(var_0B,param_03,param_07); +} + +//Function Number: 145 +givepointsforevent(param_00,param_01,param_02) +{ + if(isdefined(level.empowner)) + { + return; + } + + if(level.hordeishardcore) + { + return; + } + + var_03 = level.pointevents[param_00]; + if(issubstr(param_01,"em1") || issubstr(param_01,"turret")) + { + var_03 = 4; + } + + self.pointnotifylua[self.pointnotifylua.size] = var_03; + level thread maps\mp\gametypes\_rank::awardgameevent(param_00,self); + level.currentpointtotal = level.currentpointtotal + var_03; + level notify("pointsEarned"); + if(param_02) + { + } +} + +//Function Number: 146 +monitorpointnotifylua(param_00) +{ + level endon("game_ended"); + param_00 endon("disconnect"); + param_00 endon("death"); + for(;;) + { + if(param_00.pointnotifylua.size > 0) + { + if(!isagent(param_00)) + { + param_00 setclientomnvar("ui_horde_award_points",param_00.pointnotifylua[param_00.pointnotifylua.size - 1]); + } + + param_00.pointnotifylua = removelastelement(param_00.pointnotifylua); + } + + wait(0.05); + } +} + +//Function Number: 147 +monitorbackbutton(param_00) +{ + param_00 endon("death"); + param_00 endon("disconnect"); + level endon("game_ended"); + for(;;) + { + if(param_00 buttonpressed("BUTTON_BACK")) + { + if((param_00 maps\mp\_utility::isusingremote() && param_00.usingremote == "horde_player_drone") || !param_00 maps\mp\_utility::isusingremote()) + { + param_00 setclientomnvar("ui_horde_show_armory",1); + } + } + + wait(0.05); + } +} + +//Function Number: 148 +removelastelement(param_00) +{ + var_01 = []; + for(var_02 = 0;var_02 < param_00.size - 1;var_02++) + { + var_01[var_02] = param_00[var_02]; + } + + return var_01; +} + +//Function Number: 149 +onnormaldeath(param_00,param_01,param_02) +{ + removeperkhud(param_00); + if(isplayer(param_00) && maps\mp\gametypes\_horde_util::isplayerinlaststand(param_00)) + { + maps\mp\gametypes\_horde_util::hordeupdatescore(self,0); + if(maps\mp\gametypes\_horde_laststand::gameshouldend(param_00)) + { + maps\mp\gametypes\_horde_laststand::hordeendgame(); + } + else + { + param_00 maps\mp\gametypes\_horde_laststand::startspectatemode(0,0,0); + } + } + + if(!isdefined(param_01)) + { + return; + } + + if(game["state"] == "postgame" && game["teamScores"][param_01.team] > game["teamScores"][level.otherteam[param_01.team]]) + { + param_01.finalkill = 1; + } +} + +//Function Number: 150 +removeperkhud(param_00) +{ + if(isplayer(param_00) && !isagent(param_00)) + { + param_00 setclientomnvar("ui_horde_update_perk",0); + param_00.horde_perks = []; + } +} + +//Function Number: 151 +chancetospawnpickup(param_00) +{ + level endon("game_ended"); + if(param_00.agent_type == "dog" || param_00.horde_type == "zombie") + { + return; + } + + if(level.objintel && level.killssinceinteldrop > 2) + { + thread spawnintelpickup(param_00.origin + (0,0,22)); + level.killssinceinteldrop = 0; + return; + } + + if(level.hordelevelflip == 1) + { + var_01 = 8; + var_02 = 11; + } + else + { + var_01 = 11; + var_02 = 15; + } + + if(level.currentpickupcount >= level.maxpickupsperround) + { + return; + } + + if(level.killssinceammodrop < randomintrange(var_01,var_02)) + { + return; + } + + if(level.currentammopickupcount < level.maxammopickupsperround) + { + var_03 = level.ammopickupmodel; + var_04 = level.ammopickupfunc; + level.currentammopickupcount++; + level.killssinceammodrop = 0; + spawnpickup(param_00.origin + (0,0,22),var_03,var_04,undefined,1); + } +} + +//Function Number: 152 +spawnintelpickup(param_00) +{ + var_01 = spawn("script_model",param_00); + var_01 setmodel("greece_drone_control_pad"); + var_01.angles = (0,0,0) + (randomint(360),randomint(360),randomint(360)); + var_01 physicslaunchserver(var_01.origin,(0,0,-1)); + var_01 makeusable(); + var_01 sethintstring(&"HORDE_PICKUP_INTEL"); + var_01 hudoutlineenable(4,0); + var_02 = maps\mp\gametypes\_gameobjects::getnextobjid(); + objective_add(var_02,"active",var_01.origin,"objective_sm"); + var_01.objectiveindex = var_02; + level.collectobjects[level.collectobjects.size] = var_01; + var_01 waittill("trigger",var_03); + var_03 playlocalsound("mp_killconfirm_tags_pickup"); + level.hordecollected++; + setomnvar("ui_horde_objcount_1",level.hordecollected); + var_03 setclientomnvar("ui_horde_count",1); + var_03 thread maps\mp\gametypes\_rank::xppointspopup("horde_collect",500); + level thread maps\mp\gametypes\_horde_util::hordeupdatescore(var_03,500); + level.currentpointtotal = level.currentpointtotal + 500; + level notify("pointsEarned"); + if(level.hordecollected == level.horde_collect_count) + { + thread maps\mp\gametypes\_horde_dialog::hordeleaderdialogallplayers("coop_gdn_allintelaquired","horde",1,1); + hordeobjectivesuccess(); + level notify("collect_completed"); + level.hordecollected = 0; + } + + maps\mp\_utility::_objective_delete(var_02); + var_01 delete(); +} + +//Function Number: 153 +spawnpickup(param_00,param_01,param_02,param_03,param_04) +{ + if(!isdefined(param_03)) + { + param_03 = 15; + } + + var_05[0] = spawn("script_model",(0,0,0)); + var_05[0] setmodel(param_01); + if(isdefined(param_04) && param_04) + { + var_05[0] hudoutlineenable(1,0); + } + + var_06 = spawn("trigger_radius",(0,0,0),0,32,32); + var_07 = maps\mp\gametypes\_gameobjects::createuseobject(level.playerteam,var_06,var_05,(0,0,16),1); + var_08 = param_00; + var_07.curorigin = var_08; + var_07.trigger.origin = var_08; + var_07.visuals[0].origin = var_08; + var_07 maps\mp\gametypes\_gameobjects::setusetime(0); + var_07 maps\mp\gametypes\_gameobjects::allowuse("friendly"); + var_07.onuse = param_02; + level.currentpickupcount++; + var_07 thread pickupbounce(); + var_07 thread pickuptimer(param_03); + return var_07; +} + +//Function Number: 154 +pickupbounce() +{ + level endon("game_ended"); + self endon("deleted"); + self endon("death"); + var_00 = self; + var_01 = self.curorigin; + var_02 = self.curorigin + (0,0,12); + var_03 = 1.25; + if(isdefined(self.visuals) && isdefined(self.visuals[0])) + { + var_00 = self.visuals[0]; + } + + for(;;) + { + var_00 moveto(var_02,var_03,0.15,0.15); + var_00 rotateyaw(180,var_03); + wait(var_03); + var_00 moveto(var_01,var_03,0.15,0.15); + var_00 rotateyaw(180,var_03); + wait(var_03); + } +} + +//Function Number: 155 +pickuptimer(param_00) +{ + self endon("deleted"); + wait(param_00); + thread pickupstartflashing(); + wait(8); + level thread removepickup(self); +} + +//Function Number: 156 +pickupstartflashing() +{ + self endon("deleted"); + for(;;) + { + self.visuals[0] hide(); + wait(0.25); + self.visuals[0] show(); + wait(0.25); + } +} + +//Function Number: 157 +removepickup(param_00) +{ + param_00 notify("deleted"); + wait(0.05); + param_00.trigger delete(); + param_00.visuals[0] delete(); +} + +//Function Number: 158 +ammopickup(param_00) +{ + foreach(var_02 in level.players) + { + if(maps\mp\gametypes\_horde_util::isonhumanteam(var_02) && maps\mp\_utility::isreallyalive(var_02)) + { + var_02 thread maps\mp\gametypes\_hud_message::splashnotify("horde_team_restock"); + maps\mp\gametypes\_horde_util::refillammohorde(var_02); + var_02.health = var_02.maxhealth; + } + } + + param_00 playlocalsound("scavenger_pack_pickup"); + level thread removepickup(self); +} + +//Function Number: 159 +collectpickup(param_00) +{ + param_00.collectcount++; + param_00 playlocalsound("mp_killconfirm_tags_pickup"); + level.hordecollected++; + setomnvar("ui_horde_objcount_1",level.hordecollected); + param_00 setclientomnvar("ui_horde_count",1); + param_00 thread maps\mp\gametypes\_rank::xppointspopup("horde_collect",200); + level thread maps\mp\gametypes\_horde_util::hordeupdatescore(param_00,200); + level.currentpointtotal = level.currentpointtotal + 200; + level notify("pointsEarned"); + maps\mp\_utility::_objective_delete(self.objectiveindex); + level.collectobjects = common_scripts\utility::array_remove(level.collectobjects,self); + if(level.hordecollected == level.horde_collect_count) + { + thread maps\mp\gametypes\_horde_dialog::hordeleaderdialogallplayers("coop_gdn_allgodtagssecured","horde",1,1); + hordeobjectivesuccess(); + level notify("collect_completed"); + level.hordecollected = 0; + } + + level thread removepickup(self); +} + +//Function Number: 160 +dropweaponfordeathhorde(param_00,param_01) +{ + waittillframeend; +} + +//Function Number: 161 +ondeadevent(param_00) +{ + if(param_00 != level.enemyteam) + { + iprintln(&"MP_GHOSTS_ELIMINATED"); + logstring("team eliminated, win: opfor, allies: " + game["teamScores"]["allies"] + ", opfor: " + game["teamScores"]["axis"]); + level.finalkillcam_winner = "axis"; + level thread maps\mp\gametypes\_gamelogic::endgame("axis",game["end_reason"]["allies_eliminated"]); + } +} + +//Function Number: 162 +setspecialloadouts() +{ + level.hordeloadouts["allies"]["loadoutPrimary"] = "iw5_kf5"; + level.hordeloadouts["allies"]["loadoutPrimaryAttachment"] = "none"; + level.hordeloadouts["allies"]["loadoutPrimaryAttachment2"] = "none"; + level.hordeloadouts["allies"]["loadoutPrimaryAttachment3"] = "none"; + level.hordeloadouts["allies"]["loadoutPrimaryBuff"] = "specialty_null"; + level.hordeloadouts["allies"]["loadoutPrimaryCamo"] = "none"; + level.hordeloadouts["allies"]["loadoutPrimaryReticle"] = "none"; + level.hordeloadouts["allies"]["loadoutSecondary"] = "none"; + level.hordeloadouts["allies"]["loadoutSecondaryAttachment"] = "none"; + level.hordeloadouts["allies"]["loadoutSecondaryAttachment2"] = "none"; + level.hordeloadouts["allies"]["loadoutSecondaryAttachment3"] = "none"; + level.hordeloadouts["allies"]["loadoutSecondaryBuff"] = "specialty_null"; + level.hordeloadouts["allies"]["loadoutSecondaryCamo"] = "none"; + level.hordeloadouts["allies"]["loadoutSecondaryReticle"] = "none"; + level.hordeloadouts["allies"]["loadoutEquipment"] = "frag_grenade_mp"; + level.hordeloadouts["allies"]["loadoutOffhand"] = "none"; + level.hordeloadouts["allies"]["loadoutKillstreaks"][0] = "none"; + level.hordeloadouts["allies"]["loadoutKillstreaks"][1] = "none"; + level.hordeloadouts["allies"]["loadoutKillstreaks"][2] = "none"; + level.hordeloadouts["allies"]["loadoutKillstreaks"][3] = "none"; + level.hordeloadouts["allies"]["loadoutJuggernaut"] = 0; + level.hordeloadouts["allies"]["loadoutPerks"] = ["specialty_falldamage","specialty_null","specialty_null","specialty_null","specialty_null","specialty_null","specialty_null"]; + level.hordeloadouts["allies"]["loadoutWildcards"] = ["specialty_null","specialty_null","specialty_null"]; + level.hordeloadouts["squadmate"]["loadoutPrimary"] = "iw5_ak12"; + level.hordeloadouts["squadmate"]["loadoutPrimaryAttachment"] = "none"; + level.hordeloadouts["squadmate"]["loadoutPrimaryAttachment2"] = "none"; + level.hordeloadouts["squadmate"]["loadoutPrimaryAttachment3"] = "none"; + level.hordeloadouts["squadmate"]["loadoutPrimaryBuff"] = "specialty_null"; + level.hordeloadouts["squadmate"]["loadoutPrimaryCamo"] = "none"; + level.hordeloadouts["squadmate"]["loadoutPrimaryReticle"] = "none"; + level.hordeloadouts["squadmate"]["loadoutSecondary"] = "none"; + level.hordeloadouts["squadmate"]["loadoutSecondaryAttachment"] = "none"; + level.hordeloadouts["squadmate"]["loadoutSecondaryAttachment2"] = "none"; + level.hordeloadouts["squadmate"]["loadoutSecondaryAttachment3"] = "none"; + level.hordeloadouts["squadmate"]["loadoutSecondaryBuff"] = "specialty_null"; + level.hordeloadouts["squadmate"]["loadoutSecondaryCamo"] = "none"; + level.hordeloadouts["squadmate"]["loadoutSecondaryReticle"] = "none"; + level.hordeloadouts["squadmate"]["loadoutEquipment"] = "frag_grenade_mp"; + level.hordeloadouts["squadmate"]["loadoutOffhand"] = "none"; + level.hordeloadouts["squadmate"]["loadoutKillstreaks"][0] = "none"; + level.hordeloadouts["squadmate"]["loadoutKillstreaks"][1] = "none"; + level.hordeloadouts["squadmate"]["loadoutKillstreaks"][2] = "none"; + level.hordeloadouts["squadmate"]["loadoutKillstreaks"][3] = "none"; + level.hordeloadouts["squadmate"]["loadoutJuggernaut"] = 0; + level.hordeloadouts["squadmate"]["loadoutPerks"] = ["specialty_falldamage","specialty_null","specialty_null","specialty_null","specialty_null","specialty_null","specialty_null"]; + level.hordeloadouts["squadmate"]["loadoutWildcards"] = ["specialty_null","specialty_null","specialty_null"]; +} + +//Function Number: 163 +hordegetenemyloadout() +{ + var_00 = getwavetable(); + var_01 = tablelookup(var_00,1,level.currentroundnumber + level.hordewaveadjust,4); + if(level.specialaitypes.size > 0) + { + for(var_02 = 0;var_02 < level.specialaistats.size;var_02++) + { + if(level.wavefirstspawn && level.specialaistats[level.specialaitypes[var_02]]["count"] < level.specialaistats[level.specialaitypes[var_02]]["maxCount"]) + { + level.specialaistats[level.specialaitypes[var_02]]["count"]++; + var_01 = level.specialaitypes[var_02]; + break; + } + else if(!level.wavefirstspawn && !level.specialaitypes[var_02] == "jugg" || level.specialaitypes[var_02] == "jugg_handler") + { + if(maps\mp\gametypes\_horde_util::cointossweighted(hordegetchancetorespawn(level.specialaitypes[var_02]))) + { + var_01 = level.specialaitypes[var_02]; + } + } + } + } + + if(level.hordelevelflip > 1) + { + var_03["loadoutPrimary"] = tablelookup(getwavetable(),1,var_01,10); + var_03["loadoutPrimaryAttachment"] = tablelookup(getwavetable(),1,var_01,11); + var_03["loadoutEquipment"] = tablelookup(getwavetable(),1,var_01,12); + var_03["startinghealth"] = int(tablelookup(getwavetable(),1,var_01,13)); + } + else + { + var_03["loadoutPrimary"] = tablelookup(getwavetable(),1,var_03,4); + var_03["loadoutPrimaryAttachment"] = "none"; + var_03["loadoutEquipment"] = tablelookup(getwavetable(),1,var_01,5); + var_03["startinghealth"] = int(tablelookup(getwavetable(),1,var_01,7)); + } + + var_03["loadoutPrimaryAttachment2"] = "none"; + var_03["loadoutPrimaryAttachment3"] = "none"; + var_03["loadoutPrimaryBuff"] = "specialty_null"; + var_03["loadoutPrimaryCamo"] = "none"; + var_03["loadoutPrimaryReticle"] = "none"; + var_03["loadoutSecondary"] = "none"; + var_03["loadoutSecondaryAttachment"] = "none"; + var_03["loadoutSecondaryAttachment2"] = "none"; + var_03["loadoutSecondaryAttachment3"] = "none"; + var_03["loadoutSecondaryBuff"] = "specialty_null"; + var_03["loadoutSecondaryCamo"] = "none"; + var_03["loadoutSecondaryReticle"] = "none"; + var_03["loadoutKillstreaks"][0] = "none"; + var_03["loadoutKillstreaks"][1] = "none"; + var_03["loadoutKillstreaks"][2] = "none"; + var_03["loadoutKillstreaks"][3] = "none"; + var_03["name_localized"] = &"HORDE_HAMMER"; + var_03["type"] = tablelookup(getwavetable(),1,var_01,1); + var_03["loadoutPerks"] = ["specialty_falldamage","specialty_lightweight","specialty_null","specialty_null","specialty_null","specialty_null","specialty_null"]; + var_03["loadoutWildcards"] = ["specialty_null","specialty_null","specialty_null"]; + if(issubstr(var_03["type"],"jugg")) + { + var_03["loadoutJuggernaut"] = 1; + } + else + { + var_03["loadoutJuggernaut"] = 0; + } + + if(issubstr(var_03["type"],"elite")) + { + var_03["loadoutOffhand"] = "exoshield_equipment_mp"; + } + else + { + var_03["loadoutOffhand"] = "specialty_null"; + } + + var_03["movespeedscale"] = int(tablelookup(getwavetable(),1,var_01,8)); + var_03["points"] = int(tablelookup(getwavetable(),1,var_01,9)); + return var_03; +} + +//Function Number: 164 +hordegetchancetorespawn(param_00) +{ + var_01 = 70; + if(param_00 == "handler") + { + var_01 = 30; + } + + return var_01; +} + +//Function Number: 165 +hordegetenemyhealth(param_00) +{ + var_01 = int(param_00["startinghealth"] + param_00["startinghealth"] * level.hordelevelflip - 1 * 0.5); + if(maps\mp\gametypes\_horde_util::getnumplayers() == 3) + { + var_01 = int(var_01 * 1.2); + } + else if(maps\mp\gametypes\_horde_util::getnumplayers() == 4) + { + var_01 = int(var_01 * 1.4); + } + + return var_01; +} + +//Function Number: 166 +hordeloadwaveweapons() +{ + level.hordewaveweapons = []; + var_00 = tablelookup(getwavetable(),1,level.currentroundnumber + 1 + level.hordewaveadjust,4); + level.hordewaveweapons[level.hordewaveweapons.size] = tablelookup(getwavetable(),1,var_00,4) + "_mp"; + level.hordewaveweapons[level.hordewaveweapons.size] = tablelookup(getwavetable(),1,var_00,10) + "_mp"; + var_01 = strtok(tablelookup(getwavetable(),1,level.currentroundnumber + 1 + level.hordewaveadjust,5)," "); + foreach(var_00 in var_01) + { + level.hordewaveweapons[level.hordewaveweapons.size] = tablelookup(getwavetable(),1,var_00,4) + "_mp"; + } + + foreach(var_05 in level.players) + { + var_05 loadweapons(level.hordewaveweapons); + var_05 loadweapons(["iw5_microdronelauncher_mp"]); + } +} + +//Function Number: 167 +monitorplayercamping(param_00) +{ + param_00 endon("death"); + param_00 endon("disconnect"); + level endon("start_extraction"); + level endon("game_ended"); + while(!isdefined(level.currentroundnumber) || level.currentroundnumber < 5) + { + wait(3); + } + + for(;;) + { + wait(10); + var_01 = param_00.origin; + var_02 = gettime(); + for(;;) + { + wait(1); + var_03 = distancesquared(param_00.origin,var_01); + var_04 = gettime() - var_02 / 1000; + if(var_03 > 16384) + { + var_01 = param_00.origin; + var_02 = gettime(); + } + else if(var_04 > 30) + { + break; + } + + if(!isdefined(level.currentaliveenemycount) || level.currentaliveenemycount < 1 || maps\mp\gametypes\_horde_util::isplayerinlaststand(param_00) || isdefined(param_00.isspectator) && param_00.isspectator || isdefined(param_00.usingarmory) || param_00 maps\mp\_utility::isusingremote() || isdefined(param_00.isreviving) && param_00.isreviving) + { + while(!isdefined(level.currentaliveenemycount) || level.currentaliveenemycount < 1 || maps\mp\gametypes\_horde_util::isplayerinlaststand(param_00) || isdefined(param_00.isspectator) && param_00.isspectator || isdefined(param_00.usingarmory) || param_00 maps\mp\_utility::isusingremote() || isdefined(param_00.isreviving) && param_00.isreviving) + { + wait(0.5); + } + + var_01 = param_00.origin; + var_02 = gettime(); + } + } + + var_05 = spawncamperdrone(); + if(!isdefined(var_05)) + { + continue; + } + + var_05 vehicle_setminimapvisible(0); + var_05.health = 50; + var_05 camperdroneseektarget(param_00); + } +} + +//Function Number: 168 +spawncamperdrone() +{ + level endon("game_ended"); + level endon("start_extraction"); + while(maps\mp\_utility::currentactivevehiclecount(2) >= maps\mp\_utility::maxvehiclesallowed()) + { + wait(1); + } + + var_00 = hordegetcamperdronespawn(); + if(!isdefined(var_00)) + { + return undefined; + } + + var_01 = var_00 maps\mp\_tracking_drone::createtrackingdrone(); + var_00 thread maps\mp\_tracking_drone::starttrackingdrone(var_01); + return var_01; +} + +//Function Number: 169 +hordegetcamperdronespawn() +{ + var_00 = common_scripts\utility::array_randomize(level.participants); + foreach(var_02 in var_00) + { + if(!isagent(var_02)) + { + var_00 = common_scripts\utility::array_remove(var_00,var_02); + continue; + } + + var_03 = 1; + foreach(var_05 in level.players) + { + if(spawnsighttrace(var_02,var_02.origin,var_05.origin,0)) + { + var_03 = 0; + break; + } + } + + if(var_03) + { + return var_02; + } + } + + if(var_00.size > 0) + { + return common_scripts\utility::random(var_00); + } + + return undefined; +} + +//Function Number: 170 +camperdroneseektarget(param_00) +{ + level endon("game_ended"); + self endon("death"); + self notify("leaving"); + self setdronegoalpos(param_00,(0,0,72)); + thread handlerdronedetonate(param_00); + thread hordespawnnanoswarm(); + thread camperdronecancel(param_00,param_00.origin); + common_scripts\utility::waittill_any_timeout(20,"detonate"); + self stoploopsound(); + self playsound("drone_warning_beap"); + wait(1.4); + self notify("startSwarm"); + wait 0.05; + self radiusdamage(self.origin,256,100,25,self,"MOD_EXPLOSIVE"); + thread maps\mp\_tracking_drone::trackingdroneexplode(); +} + +//Function Number: 171 +camperdronecancel(param_00,param_01) +{ + self endon("startSwarm"); + self endon("death"); + level endon("game_ended"); + for(;;) + { + if(!isdefined(level.currentaliveenemycount) || level.currentaliveenemycount < 1 || maps\mp\gametypes\_horde_util::isplayerinlaststand(param_00) || isdefined(param_00.isspectator) && param_00.isspectator || isdefined(param_00.usingarmory) || param_00 maps\mp\_utility::isusingremote() || isdefined(param_00.isreviving) && param_00.isreviving) + { + self notify("cancel_swarm"); + wait 0.05; + thread maps\mp\_tracking_drone::trackingdroneexplode(); + } + + wait(0.25); + } +} + +//Function Number: 172 +hordeexploitclip() +{ + if(maps\mp\_utility::getmapname() == "mp_instinct") + { + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(236.851,-1405,1016),(0,22.7,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(79,-1339.9,1016),(0,292.7,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(730.1,792.5,1080),(0,241.8,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(681.5,955.9,1080),(0,151.8,0)); + } + + if(maps\mp\_utility::getmapname() == "mp_laser2") + { + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(526,2476,467),(90,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(526,2361,436),(60,90,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(159.5,2473.1,513.5),(70,90,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-102.5,2473.1,513.5),(70,90,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-2336.58,1331.1,936),(0,114.9,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-2162.7,1279.51,936),(0,204.9,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-2232.93,1233.68,936),(0,114.9,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-2059.05,1182.1,936),(0,204.9,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-2135.11,1182.07,936),(0,114.9,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-2047.53,993.406,936),(0,114.9,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-2071.25,885.376,936),(0,114.9,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-2063.75,743.332,936),(0,114.9,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1990.92,909.438,936),(0,204.9,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1998.42,1051.48,936),(0,204.9,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-1962.26,1094.72,872),(0,24.9,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-2002.68,1181.8,872),(0,24.9,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-2002.68,1181.8,1000),(0,24.9,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-1962.26,1094.72,1000),(0,24.9,0)); + } + + if(maps\mp\_utility::getmapname() == "mp_detroit") + { + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(147,2272,673),(0,20,0)); + } + + if(maps\mp\_utility::getmapname() == "mp_recovery") + { + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1200,-1984,32),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1456,-1984,32),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1712,-1984,32),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1200,-1984,288),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1456,-1984,288),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1712,-1984,288),(0,270,0)); + } + + if(maps\mp\_utility::getmapname() == "mp_venus") + { + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(496,-2248,384),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(496,-2504,384),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(496,-2760,384),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(496,-2248,640),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(496,-2504,640),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(496,-2760,640),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(496,-2248,896),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(496,-2504,896),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(496,-2760,896),(0,0,0)); + } + + if(maps\mp\_utility::getmapname() == "mp_prison_z") + { + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1516,2164,1016),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1636,2028,1016),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1636,1772,1016),(0,0,0)); + } +} + +//Function Number: 173 +getwavetable() +{ + var_00 = getdvarint("scr_waveTableVersion"); + var_01 = "mp/hordeWaves.csv"; + switch(var_00) + { + case 2: + var_01 = "mp/hordeWavesV2.csv"; + break; + + case 1: + default: + var_01 = "mp/hordeWaves.csv"; + break; + } + + return var_01; +} + +//Function Number: 174 +hordeweaponweight(param_00) +{ + var_01 = tablelookup("mp/statstable.csv",4,param_00,8); + if(!isdefined(var_01) || var_01 == "") + { + var_01 = tablelookup("mp/hordeStatsTable.csv",0,param_00,1); + } + + if(!isdefined(var_01) || var_01 == "") + { + var_01 = 4; + } + + return int(var_01); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/gametypes/horde_ball.gsc b/AW/PC/maps/mp/gametypes/horde_ball.gsc new file mode 100644 index 0000000..e9aaac2 --- /dev/null +++ b/AW/PC/maps/mp/gametypes/horde_ball.gsc @@ -0,0 +1,1628 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\gametypes\horde_ball.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 75 + * Decompile Time: 1085 ms + * Timestamp: 4/22/2024 2:11:01 AM +*******************************************************************/ + +//Function Number: 1 +setup() +{ + level.ball_starts = []; + level.goal_starts = []; + level.balls = []; + level.goals = []; + ball_create_goals(); + ball_create_ball_starts(); + ball_init_map_min_max(); + level._effect["ball_trail"] = loadfx("vfx/trail/vfx_uplink_ball_trl"); + level._effect["ball_idle"] = loadfx("vfx/unique/vfx_uplink_ball_idle"); + level._effect["ball_download"] = loadfx("vfx/trail/vfx_uplink_ball_trl2"); + level._effect["ball_download_end"] = loadfx("vfx/unique/vfx_uplink_ball_impact"); + level._effect["ball_goal_enemy"] = loadfx("vfx/unique/vfx_uplink_goal"); + level._effect["ball_goal_friendly"] = loadfx("vfx/unique/vfx_uplink_goal_friendly"); + level._effect["ball_goal_activated_enemy"] = loadfx("vfx/unique/vfx_uplink_ball_score"); + level._effect["ball_goal_activated_friendly"] = loadfx("vfx/unique/vfx_uplink_ball_score_friendly"); + level._effect["ball_teleport"] = loadfx("vfx/unique/vfx_uplink_ball_glow"); + level._effect["ball_physics_impact"] = loadfx("vfx/treadfx/footstep_dust"); + level.horde_ball_score_count = 5; + level.horde_ball_score = 0; + setomnvar("ui_uplink_num_balls",1); +} + +//Function Number: 2 +ball_create_ball_starts() +{ + var_00 = common_scripts\utility::getstructarray("ball_start","targetname"); + var_00 = common_scripts\utility::array_combine(var_00,common_scripts\utility::getstructarray("ball_start_non_augmented","targetname")); + var_00 = common_scripts\utility::array_combine(var_00,common_scripts\utility::getstructarray("horde_collect","targetname")); + foreach(var_02 in var_00) + { + ball_add_start(var_02.origin); + } +} + +//Function Number: 3 +ball_add_start(param_00) +{ + var_01 = 30; + var_02 = spawnstruct(); + var_02.origin = param_00 + (0,0,var_01); + var_02.in_use = 0; + var_03 = undefined; + var_04 = -1; + foreach(var_06 in level.goal_starts) + { + var_07 = 99999999; + var_07 = min(var_07,distance2dsquared(var_02.origin,var_06.origin)); + if(var_07 > var_04) + { + var_04 = var_07; + var_03 = var_06; + } + } + + var_02.preferred_goal = var_03; + level.ball_starts[level.ball_starts.size] = var_02; +} + +//Function Number: 4 +ball_init_map_min_max() +{ + level.ball_mins = (1000,1000,1000); + level.ball_maxs = (-1000,-1000,-1000); + var_00 = getallnodes(); + if(var_00.size > 0) + { + foreach(var_02 in var_00) + { + level.ball_mins = maps\mp\gametypes\_spawnlogic::expandmins(level.ball_mins,var_02.origin); + level.ball_maxs = maps\mp\gametypes\_spawnlogic::expandmaxs(level.ball_maxs,var_02.origin); + } + + return; + } + + level.ball_mins = level.spawnmins; + level.ball_maxs = level.spawnmaxs; +} + +//Function Number: 5 +ball_create_goals() +{ + var_00 = common_scripts\utility::getstructarray("ball_goal_allies","targetname"); + var_00 = common_scripts\utility::array_combine(var_00,common_scripts\utility::getstructarray("ball_goal_axis","targetname")); + foreach(var_02 in var_00) + { + var_02.radius = 70; + var_02.team = "axis"; + var_02.ball_in_goal = 0; + } + + level.goal_starts = var_00; +} + +//Function Number: 6 +run_horde_ball() +{ + level endon("uplink_completed"); + level.horde_ball_score = 0; + var_00 = 0; + while(level.horde_ball_score < level.horde_ball_score_count) + { + level notify("next_horde_ball"); + ball_spawn(var_00); + var_00 = 1; + level waittill("horde_ball_scored"); + horde_ball_cleanup(); + wait(1); + } +} + +//Function Number: 7 +ball_spawn(param_00) +{ + var_01 = common_scripts\utility::random(level.ball_starts); + var_02 = spawn("script_model",var_01.origin); + var_02 setmodel("prop_drone_sphere"); + var_02 thread physics_impact_watch(); + var_03 = 24; + var_04 = getent("ball_pickup_1","targetname"); + if(isdefined(var_04)) + { + var_04.origin = var_02.origin; + } + else + { + var_04 = spawn("trigger_radius",var_02.origin - (0,0,var_03 / 2),0,var_03,var_03); + } + + if(!isdefined(var_04.linkto_on)) + { + var_04 enablelinkto(); + var_04.linkto_on = 1; + } + + var_04 linkto(var_02); + var_04.no_moving_platfrom_unlink = 1; + var_05 = maps\mp\gametypes\_gameobjects::createcarryobject("any",var_04,[var_02],(0,0,32)); + var_05.objectiveonvisuals = 1; + var_05 maps\mp\gametypes\_gameobjects::allowcarry("any"); + var_05 ball_waypoint_neutral(); + var_05 maps\mp\gametypes\_gameobjects::setvisibleteam("any"); + var_05.objidpingenemy = 1; + var_05.objpingdelay = 1; + var_05.allowweapons = 0; + var_05.carryweapon = "iw5_carrydrone_mp"; + var_05.keepcarryweapon = 1; + var_05.waterbadtrigger = 0; + var_05.visualgroundoffset = (0,0,30); + var_05.canuseobject = ::ball_can_pickup; + var_05.onpickup = ::ball_on_pickup; + var_05.setdropped = ::ball_set_dropped; + var_05.onreset = ::ball_on_reset; + var_05.carryweaponthink = ::ball_pass_shoot_watch; + var_05.in_goal = 0; + var_05.lastcarrierscored = 0; + var_05.requireslos = 1; + var_05 ball_assign_start(var_01); + level.balls = [var_05]; + var_05 ball_fx_start(); + if(param_00) + { + thread maps\mp\gametypes\_horde_dialog::hordeleaderdialogallplayers("coop_gdn_satellite_incoming","horde",1,1); + } + + var_05 ball_on_reset(1); + level goal_spawn(var_01); + var_05 thread ball_location_hud(0); +} + +//Function Number: 8 +ball_assign_start(param_00) +{ + foreach(var_02 in self.visuals) + { + var_02.baseorigin = param_00.origin; + } + + self.trigger.baseorigin = param_00.origin; + if(isdefined(self.current_start)) + { + self.current_start.in_use = 0; + } + + self.current_start = param_00; + param_00.in_use = 1; +} + +//Function Number: 9 +ball_location_hud(param_00) +{ + self endon("death"); + level endon("next_horde_ball"); + if(param_00 > 4 || param_00 < 0) + { + return; + } + + for(;;) + { + var_01 = common_scripts\utility::waittill_any_return("pickup_object","dropped","reset"); + switch(var_01) + { + case "pickup_object": + if(isplayer(self.carrier)) + { + setomnvar("ui_uplink_ball_carrier" + param_00 + 1,self.carrier getentitynumber()); + } + break; + + case "dropped": + setomnvar("ui_uplink_ball_carrier" + param_00 + 1,-2); + break; + + case "reset": + setomnvar("ui_uplink_ball_carrier" + param_00 + 1,-1); + break; + + default: + break; + } + } +} + +//Function Number: 10 +ball_fx_active() +{ + return isdefined(self.ball_fx_active) && self.ball_fx_active; +} + +//Function Number: 11 +ball_fx_start() +{ + if(!ball_fx_active()) + { + var_00 = self.visuals[0]; + playfxontag(common_scripts\utility::getfx("ball_trail"),var_00,"tag_origin"); + playfxontag(common_scripts\utility::getfx("ball_idle"),var_00,"tag_origin"); + self.ball_fx_active = 1; + } +} + +//Function Number: 12 +ball_fx_stop() +{ + if(ball_fx_active()) + { + var_00 = self.visuals[0]; + stopfxontag(common_scripts\utility::getfx("ball_trail"),var_00,"tag_origin"); + killfxontag(common_scripts\utility::getfx("ball_idle"),var_00,"tag_origin"); + } + + self.ball_fx_active = 0; +} + +//Function Number: 13 +goal_spawn(param_00) +{ + var_01 = param_00.preferred_goal; + var_01 set_goal_useobject(); + var_01 start_goal_fx(); + level.goals = [var_01]; +} + +//Function Number: 14 +set_goal_useobject() +{ + self.trigger = spawn("trigger_radius",self.origin - (0,0,self.radius),0,self.radius,self.radius * 2); + self.useobject = maps\mp\gametypes\_gameobjects::createuseobject(self.team,self.trigger,[],(0,0,self.radius * 2.1)); + self.useobject.goal = self; + self.useobject maps\mp\gametypes\_gameobjects::set2dicon("enemy","waypoint_ball_goal"); + self.useobject maps\mp\gametypes\_gameobjects::set3dicon("enemy","waypoint_ball_goal"); + self.useobject maps\mp\gametypes\_gameobjects::setvisibleteam("any"); + self.useobject maps\mp\gametypes\_gameobjects::allowuse("enemy"); + self.useobject maps\mp\gametypes\_gameobjects::setkeyobject(level.balls); + self.useobject maps\mp\gametypes\_gameobjects::setusetime(0); + self.useobject.onuse = ::ball_carrier_touched_goal; + self.useobject.canuseobject = ::ball_goal_can_use; +} + +//Function Number: 15 +start_goal_fx() +{ + self.score_fx["friendly"] = spawnfx(common_scripts\utility::getfx("ball_goal_activated_friendly"),self.origin,(1,0,0)); + self.score_fx["enemy"] = spawnfx(common_scripts\utility::getfx("ball_goal_activated_enemy"),self.origin,(1,0,0)); + thread ball_play_fx_joined_team(); + foreach(var_01 in level.players) + { + ball_goal_fx_for_player(var_01); + } +} + +//Function Number: 16 +ball_play_fx_joined_team() +{ + level endon("next_horde_ball"); + level endon("uplink_completed"); + for(;;) + { + level waittill("joined_team",var_00); + ball_goal_fx_for_player(var_00); + } +} + +//Function Number: 17 +ball_goal_fx_for_player(param_00) +{ + var_01 = ball_get_view_team(param_00); + param_00 player_delete_ball_goal_fx(); + var_02 = common_scripts\utility::ter_op(self.team == var_01,"ball_goal_friendly","ball_goal_enemy"); + var_03 = spawnfxforclient(common_scripts\utility::getfx(var_02),self.origin,param_00,(1,0,0)); + setfxkillondelete(var_03,1); + param_00.ball_goal_fx[var_02] = var_03; + triggerfx(var_03); +} + +//Function Number: 18 +player_delete_ball_goal_fx() +{ + if(!isdefined(self.ball_goal_fx)) + { + return; + } + + foreach(var_01 in self.ball_goal_fx) + { + if(isdefined(var_01)) + { + var_01 delete(); + } + } +} + +//Function Number: 19 +horde_ball_cleanup() +{ + level notify("stop_horde_ball"); + foreach(var_01 in level.balls) + { + if(isdefined(var_01.carrier)) + { + var_01 ball_set_dropped(1); + } + + var_01 thread delete_horde_ball(); + } + + level.balls = []; + foreach(var_04 in level.goals) + { + var_04.useobject maps\mp\gametypes\_gameobjects::set2dicon("enemy",undefined); + var_04.useobject maps\mp\gametypes\_gameobjects::set3dicon("enemy",undefined); + var_04.useobject maps\mp\gametypes\_gameobjects::deleteuseobject(); + } + + foreach(var_07 in level.players) + { + var_07 player_delete_ball_goal_fx(); + } + + level.goals = []; +} + +//Function Number: 20 +delete_horde_ball() +{ + while(isdefined(self.in_goal) && self.in_goal == 1) + { + wait(0.05); + } + + if(isdefined(self.projectile)) + { + self.projectile delete(); + } + + ball_fx_stop(); + ball_waypoint_clear(); + maps\mp\gametypes\_gameobjects::deletecarryobject(); +} + +//Function Number: 21 +ball_waypoint_neutral() +{ + maps\mp\gametypes\_gameobjects::set2dicon("friendly","waypoint_ball"); + maps\mp\gametypes\_gameobjects::set2dicon("enemy","waypoint_ball"); + maps\mp\gametypes\_gameobjects::set3dicon("friendly","waypoint_ball"); + maps\mp\gametypes\_gameobjects::set3dicon("enemy","waypoint_ball"); +} + +//Function Number: 22 +ball_waypoint_held() +{ + maps\mp\gametypes\_gameobjects::set2dicon("friendly","waypoint_ball_friendly"); + maps\mp\gametypes\_gameobjects::set2dicon("enemy","waypoint_ball_enemy"); + maps\mp\gametypes\_gameobjects::set3dicon("friendly","waypoint_ball_friendly"); + maps\mp\gametypes\_gameobjects::set3dicon("enemy","waypoint_ball_enemy"); +} + +//Function Number: 23 +ball_waypoint_upload() +{ + maps\mp\gametypes\_gameobjects::set2dicon("friendly","waypoint_ball_upload"); + maps\mp\gametypes\_gameobjects::set2dicon("enemy","waypoint_ball_upload"); + maps\mp\gametypes\_gameobjects::set3dicon("friendly","waypoint_ball_upload"); + maps\mp\gametypes\_gameobjects::set3dicon("enemy","waypoint_ball_upload"); +} + +//Function Number: 24 +ball_waypoint_download() +{ + maps\mp\gametypes\_gameobjects::set2dicon("friendly","waypoint_ball_download"); + maps\mp\gametypes\_gameobjects::set2dicon("enemy","waypoint_ball_download"); + maps\mp\gametypes\_gameobjects::set3dicon("friendly","waypoint_ball_download"); + maps\mp\gametypes\_gameobjects::set3dicon("enemy","waypoint_ball_download"); +} + +//Function Number: 25 +ball_waypoint_clear() +{ + maps\mp\gametypes\_gameobjects::set2dicon("friendly",undefined); + maps\mp\gametypes\_gameobjects::set2dicon("enemy",undefined); + maps\mp\gametypes\_gameobjects::set3dicon("friendly",undefined); + maps\mp\gametypes\_gameobjects::set3dicon("enemy",undefined); +} + +//Function Number: 26 +ball_play_local_team_sound(param_00,param_01,param_02) +{ + var_03 = maps\mp\_utility::getotherteam(param_00); + foreach(var_05 in level.players) + { + if(var_05.team == param_00) + { + var_05 playlocalsound(param_01); + continue; + } + + if(var_05.team == var_03) + { + var_05 playlocalsound(param_02); + } + } +} + +//Function Number: 27 +ball_score_sound(param_00) +{ + ball_play_local_team_sound(param_00,"mp_obj_notify_pos_lrg","mp_obj_notify_neg_lrg"); +} + +//Function Number: 28 +physics_impact_watch() +{ + self endon("death"); + level endon("uplink_completed"); + for(;;) + { + self waittill("physics_impact",var_00,var_01,var_02,var_03); + var_04 = level._effect["ball_physics_impact"]; + if(isdefined(var_03) && isdefined(level._effect["ball_physics_impact_" + var_03])) + { + var_04 = level._effect["ball_physics_impact_" + var_03]; + } + + playfx(var_04,var_00,var_01); + wait(0.3); + } +} + +//Function Number: 29 +ball_can_pickup(param_00) +{ + if(!isdefined(param_00)) + { + return 0; + } + + if(isdefined(param_00.underwater) && param_00.underwater) + { + return 0; + } + + if(isdefined(self.droptime) && self.droptime >= gettime()) + { + return 0; + } + + if(isdefined(param_00.agent_type) && param_00.agent_type == "dog") + { + return 0; + } + + if(!param_00 common_scripts\utility::isweaponenabled()) + { + return 0; + } + + if(param_00 isusingturret()) + { + return 0; + } + + if(isdefined(param_00.manuallyjoiningkillstreak) && param_00.manuallyjoiningkillstreak) + { + return 0; + } + + if(isdefined(param_00.using_remote_turret) && param_00.using_remote_turret) + { + return 0; + } + + if(isdefined(param_00.inlaststand) && param_00.inlaststand) + { + return 0; + } + + if(isdefined(param_00.usingarmory) && param_00.usingarmory) + { + return 0; + } + + var_01 = param_00 getcurrentweapon(); + if(isdefined(var_01)) + { + if(!valid_ball_pickup_weapon(var_01)) + { + return 0; + } + } + + var_02 = param_00.changingweapon; + if(isdefined(var_02) && param_00 isreloading()) + { + if(!valid_ball_pickup_weapon(var_02)) + { + return 0; + } + } + + if(isdefined(param_00.exo_shield_on) && param_00.exo_shield_on == 1) + { + return 0; + } + + if(param_00 maps\mp\_utility::isjuggernaut()) + { + return 0; + } + + if(param_00 player_no_pickup_time()) + { + return 0; + } + + return 1; +} + +//Function Number: 30 +valid_ball_pickup_weapon(param_00) +{ + if(param_00 == "none") + { + return 0; + } + + if(param_00 == "iw5_carrydrone_mp") + { + return 0; + } + + if(maps\mp\_utility::iskillstreakweapon(param_00)) + { + return 0; + } + + if(param_00 == "iw5_combatknifegoliath_mp") + { + return 0; + } + + return 1; +} + +//Function Number: 31 +player_no_pickup_time() +{ + return isdefined(self.nopickuptime) && self.nopickuptime > gettime(); +} + +//Function Number: 32 +ball_on_pickup(param_00) +{ + var_01 = self.visuals[0] getlinkedparent(); + if(isdefined(var_01)) + { + self.visuals[0] unlink(); + } + + self.visuals[0] physicsstop(); + self.visuals[0] maps\mp\_movers::notify_moving_platform_invalid(); + self.visuals[0] show(); + self.visuals[0] ghost(); + self.trigger maps\mp\_movers::stop_handling_moving_platforms(); + self.current_start.in_use = 0; + var_02 = 0; + if(isdefined(self.projectile)) + { + var_02 = 1; + self.projectile delete(); + } + + var_03 = param_00.team; + var_04 = maps\mp\_utility::getotherteam(param_00.team); + if(!var_02) + { + if(isplayer(param_00)) + { + thread maps\mp\gametypes\_horde_dialog::hordeleaderdialogallplayers("coop_gdn_satellite_acquire","horde",1,1); + } + else + { + thread maps\mp\gametypes\_horde_dialog::hordeleaderdialogallplayers("coop_gdn_satellite_enemy","horde",1,1); + } + } + else if(self.lastcarrierteam != param_00.team && isbot(param_00)) + { + thread maps\mp\gametypes\_horde_dialog::hordeleaderdialogallplayers("coop_gdn_satellite_intercept","horde",1,1); + } + + param_00 playsound("mp_ul_ball_catch"); + ball_play_local_team_sound(var_03,"mp_obj_notify_pos_sml","mp_obj_notify_neg_sml"); + ball_fx_stop(); + self.lastcarrierscored = 0; + self.lastcarrier = param_00; + self.lastcarrierteam = param_00.team; + self.ownerteam = param_00.team; + ball_waypoint_held(); + param_00 setweaponammoclip("iw5_carrydrone_mp",1); + param_00 maps\mp\_utility::giveperk("specialty_ballcarrier",0); + param_00.ball_carried = self; + param_00.objective = 1; + param_00.hasperksprintfire = param_00 hasperk("specialty_sprintfire",1); + param_00 maps\mp\_utility::giveperk("specialty_sprintfire",0); + param_00 common_scripts\utility::_disableusability(); + param_00 maps\mp\killstreaks\_coop_util::playerstoppromptforstreaksupport(); + param_00 thread player_update_pass_target(self); + param_00 thread player_drop_on_last_stand(); + maps\mp\gametypes\_gamelogic::sethasdonecombat(param_00,1); +} + +//Function Number: 33 +player_drop_on_last_stand() +{ + self endon("death"); + self.ball_carried endon("dropped"); + level endon("uplink_completed"); + self waittill("player_start_last_stand"); + if(isdefined(self.ball_carried)) + { + thread maps\mp\gametypes\_horde_dialog::hordeleaderdialogallplayers("coop_gdn_satellite_lost","horde",1,1); + self.ball_carried thread ball_set_dropped(1); + } +} + +//Function Number: 34 +player_update_pass_target(param_00) +{ + self endon("disconnect"); + self endon("cancel_update_pass_target"); + level endon("uplink_completed"); + if(!isdefined(self) || isbot(self)) + { + return; + } + + player_update_pass_target_hudoutline(); + childthread player_joined_update_pass_target_hudoutline(); + var_01 = 0.2; + for(;;) + { + var_02 = undefined; + if(!self isonladder()) + { + var_03 = anglestoforward(self getplayerangles()); + var_04 = self geteye(); + var_05 = []; + foreach(var_07 in level.players) + { + if(var_07.team != self.team) + { + continue; + } + + if(!maps\mp\_utility::isreallyalive(var_07)) + { + continue; + } + + if(!param_00 ball_can_pickup(var_07)) + { + continue; + } + + var_08 = var_07 geteye(); + var_09 = distancesquared(var_08,var_04); + if(var_09 > 1000000) + { + continue; + } + + var_0A = vectornormalize(var_08 - var_04); + var_0B = vectordot(var_03,var_0A); + if(var_0B > var_01) + { + var_07.pass_dot = var_0B; + var_07.pass_origin = var_08; + var_05[var_05.size] = var_07; + } + } + + var_05 = maps\mp\_utility::quicksort(var_05,::compare_player_pass_dot); + foreach(var_07 in var_05) + { + if(sighttracepassed(var_04,var_07.pass_origin,0,self,var_07)) + { + var_02 = var_07; + break; + } + } + } + + player_set_pass_target(var_02); + wait 0.05; + } +} + +//Function Number: 35 +compare_player_pass_dot(param_00,param_01) +{ + return param_00.pass_dot >= param_01.pass_dot; +} + +//Function Number: 36 +player_update_pass_target_hudoutline() +{ + var_00 = []; + var_01 = []; + foreach(var_03 in level.participants) + { + if(isplayer(var_03)) + { + var_00 = common_scripts\utility::array_add(var_00,var_03); + continue; + } + + var_01 = common_scripts\utility::array_add(var_01,var_03); + } + + foreach(var_06 in var_00) + { + if(isplayer(self) && var_06 != self) + { + self hudoutlinedisableforclient(var_06); + if(!isdefined(var_06.inlaststand) || !var_06.inlaststand) + { + var_06 hudoutlinedisableforclient(self); + } + } + + if(var_06 maps\mp\_utility::isjuggernaut()) + { + continue; + } + + if(level.currentaliveenemycount < 3) + { + continue; + } + + foreach(var_08 in var_01) + { + var_08 hudoutlinedisableforclient(var_06); + } + } + + if(isdefined(self.carryobject)) + { + if(isplayer(self)) + { + foreach(var_06 in var_00) + { + if(var_06 == self) + { + continue; + } + + if(var_06 maps\mp\_utility::isjuggernaut()) + { + continue; + } + + if(isdefined(var_06.inlaststand) && var_06.inlaststand) + { + continue; + } + + if(isdefined(self.pass_target) && self.pass_target == var_06) + { + self hudoutlineenableforclient(var_06,1,0); + var_06 hudoutlineenableforclient(self,1,0); + continue; + } + + self hudoutlineenableforclient(var_06,5,0); + var_06 hudoutlineenableforclient(self,5,0); + } + + if(level.currentaliveenemycount >= 3) + { + foreach(var_08 in var_01) + { + var_08 hudoutlineenableforclient(self,3,1); + } + + return; + } + + return; + } + + foreach(var_08 in var_02) + { + if(var_08 maps\mp\_utility::isjuggernaut()) + { + continue; + } + + if(level.currentaliveenemycount < 3) + { + continue; + } + + self hudoutlineenableforclient(var_08,0,0); + } + } +} + +//Function Number: 37 +player_joined_update_pass_target_hudoutline() +{ + self endon("cancel_update_pass_target"); + level endon("uplink_completed"); + for(;;) + { + level common_scripts\utility::waittill_any("participant_added","player_joined","player_last_stand"); + player_update_pass_target_hudoutline(); + } +} + +//Function Number: 38 +player_set_pass_target(param_00) +{ + if(isdefined(self.pass_target) && isdefined(param_00) && self.pass_target == param_00) + { + return; + } + + if(!isdefined(self.pass_target) && !isremovedentity(self.pass_target) && !isdefined(param_00)) + { + return; + } + + player_clear_pass_target(); + if(isdefined(param_00)) + { + var_01 = (0,0,80); + self.pass_icon = param_00 maps\mp\_entityheadicons::setheadicon(self,"waypoint_ball_pass",var_01,10,10,0,0.05,0,1,0,0,"tag_origin"); + self.pass_target = param_00; + self setclientomnvar("ui_uplink_can_pass",1); + self setballpassallowed(1); + } + + player_update_pass_target_hudoutline(); +} + +//Function Number: 39 +player_clear_pass_target() +{ + if(isdefined(self.pass_icon)) + { + self.pass_icon destroy(); + } + + self setclientomnvar("ui_uplink_can_pass",0); + self.pass_target = undefined; + self setballpassallowed(0); + player_update_pass_target_hudoutline(); +} + +//Function Number: 40 +ball_set_dropped(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 0; + } + + self.isresetting = 1; + self.droptime = gettime(); + self notify("dropped"); + waittillframeend; + var_01 = self.carrier; + if(isdefined(var_01) && var_01.team != "spectator") + { + var_02 = var_01.origin; + } + else + { + var_02 = self.safeorigin; + } + + var_02 = var_02 + (0,0,40); + var_03 = (0,0,0); + for(var_04 = 0;var_04 < self.visuals.size;var_04++) + { + self.visuals[var_04].origin = var_02; + self.visuals[var_04].angles = var_03; + self.visuals[var_04] show(); + } + + self.trigger.origin = var_02; + ball_dont_interpolate(); + self.curorigin = self.trigger.origin; + ball_carrier_cleanup(); + ball_fx_start(); + self.ownerteam = "any"; + ball_waypoint_neutral(); + if(isdefined(var_01)) + { + var_01 player_update_pass_target_hudoutline(); + } + + maps\mp\gametypes\_gameobjects::updatecompassicons(); + maps\mp\gametypes\_gameobjects::updateworldicons(); + self.isresetting = 0; + if(!param_00) + { + ball_physics_launch((0,0,80)); + } + + var_05 = spawnstruct(); + var_05.carryobject = self; + var_05.deathoverridecallback = ::ball_overridemovingplatformdeath; + self.trigger thread maps\mp\_movers::handle_moving_platforms(var_05); + return 1; +} + +//Function Number: 41 +ball_overridemovingplatformdeath(param_00) +{ +} + +//Function Number: 42 +ball_dont_interpolate() +{ + self.visuals[0] dontinterpolate(); + self.ball_fx_active = 0; +} + +//Function Number: 43 +ball_carrier_cleanup() +{ + if(isdefined(self.carrier)) + { + self.carrier.nopickuptime = gettime() + 500; + self.carrier player_clear_pass_target(); + self.carrier notify("cancel_update_pass_target"); + self.carrier setballpassallowed(0); + self.carrier setclientomnvar("ui_uplink_can_pass",0); + self.carrier maps\mp\_utility::_unsetperk("specialty_ballcarrier"); + if(!self.carrier.hasperksprintfire) + { + self.carrier maps\mp\_utility::_unsetperk("specialty_sprintfire"); + } + + self.carrier common_scripts\utility::_enableusability(); + self.carrier maps\mp\killstreaks\_coop_util::playerstartpromptforstreaksupport(); + self.carrier.objective = 0; + var_00 = self.carrier; + maps\mp\gametypes\_gameobjects::clearcarrier(); + var_00.ball_carried = undefined; + } +} + +//Function Number: 44 +ball_on_reset(param_00) +{ + if(!isdefined(param_00) && param_00) + { + ball_assign_random_start(); + thread maps\mp\gametypes\_horde_dialog::hordeleaderdialogallplayers("coop_gdn_satellite_reset","horde",1,1); + } + + var_01 = self.visuals[0]; + var_01 maps\mp\_movers::notify_moving_platform_invalid(); + var_02 = var_01 getlinkedparent(); + if(isdefined(var_02)) + { + var_01 unlink(); + } + + var_01 physicsstop(); + ball_dont_interpolate(); + if(isdefined(self.projectile)) + { + self.projectile delete(); + } + + var_03 = "none"; + var_04 = self.lastcarrierteam; + if(isdefined(var_04)) + { + var_03 = maps\mp\_utility::getotherteam(var_04); + } + + ball_carrier_cleanup(); + self.trigger maps\mp\_movers::stop_handling_moving_platforms(); + ball_waypoint_download(); + maps\mp\gametypes\_gameobjects::setposition(var_01.baseorigin + (0,0,4000),(0,0,0)); + var_05 = 3; + var_01 moveto(var_01.baseorigin,var_05,0,var_05); + var_01 rotatevelocity((0,720,0),var_05,0,var_05); + if(!isdefined(param_00) && param_00) + { + playsoundatpos(var_01.baseorigin,"uplink_ball_reset"); + } + + self.ownerteam = "any"; + thread ball_download_fx(var_01,var_05); + thread ball_download_wait(var_05); +} + +//Function Number: 45 +ball_assign_random_start() +{ + var_00 = undefined; + var_01 = common_scripts\utility::array_randomize(level.ball_starts); + foreach(var_03 in var_01) + { + if(var_03.in_use) + { + continue; + } + + var_00 = var_03; + break; + } + + if(!isdefined(var_00)) + { + return; + } + + ball_assign_start(var_00); +} + +//Function Number: 46 +ball_download_fx(param_00,param_01) +{ + level endon("uplink_completed"); + playfxontag(level._effect["ball_download"],param_00,"tag_origin"); + common_scripts\utility::waittill_notify_or_timeout("pickup_object",param_01); + stopfxontag(level._effect["ball_download"],param_00,"tag_origin"); +} + +//Function Number: 47 +ball_download_wait(param_00) +{ + self endon("pickup_object"); + level endon("uplink_completed"); + wait(param_00); + playfx(level._effect["ball_download_end"],self.current_start.origin); + ball_waypoint_neutral(); + ball_fx_start(); +} + +//Function Number: 48 +ball_pass_shoot_watch() +{ + thread ball_pass_watch(); + thread ball_shoot_watch(); +} + +//Function Number: 49 +ball_pass_watch() +{ + self endon("ball_shoot"); + level endon("uplink_completed"); + self endon("disconnect"); + self endon("death"); + self endon("drop_object"); + for(;;) + { + self waittill("ball_pass",var_00); + if(var_00 != "iw5_carrydrone_mp") + { + continue; + } + + break; + } + + self notify("ball_pass"); + if(isdefined(self.carryobject) && isdefined(self.pass_target)) + { + thread ball_pass_or_throw_active(); + var_01 = self.pass_target; + var_02 = self.pass_target.origin; + wait(0.15); + if(isdefined(self.pass_target)) + { + var_01 = self.pass_target; + } + + self playsound("mp_ul_ball_throw"); + self.carryobject thread ball_pass_projectile(self,var_01,var_02); + } +} + +//Function Number: 50 +ball_shoot_watch() +{ + self endon("ball_pass"); + level endon("uplink_completed"); + self endon("disconnect"); + self endon("death"); + self endon("drop_object"); + for(;;) + { + self waittill("weapon_fired",var_00); + if(var_00 != "iw5_carrydrone_mp") + { + continue; + } + + break; + } + + self notify("ball_shoot"); + if(isdefined(self.carryobject)) + { + var_01 = getdvarfloat("scr_ball_shoot_extra_pitch",-12); + var_02 = getdvarfloat("scr_ball_shoot_force",320); + var_03 = self getplayerangles(); + var_03 = var_03 + (var_01,0,0); + var_03 = (clamp(var_03[0],-85,85),var_03[1],var_03[2]); + var_04 = anglestoforward(var_03); + thread ball_pass_or_throw_active(); + wait(0.25); + self playsound("mp_ul_ball_throw"); + self.carryobject thread ball_physics_launch_drop(var_04 * var_02,self); + } +} + +//Function Number: 51 +ball_pass_or_throw_active() +{ + self endon("death"); + self endon("disconnect"); + level endon("uplink_completed"); + self.pass_or_throw_active = 1; + self allowmelee(0); + while("iw5_carrydrone_mp" == self getcurrentweapon()) + { + wait 0.05; + } + + self allowmelee(1); + self.pass_or_throw_active = 0; +} + +//Function Number: 52 +ball_pass_projectile(param_00,param_01,param_02) +{ + ball_set_dropped(1); + if(isdefined(param_01)) + { + param_02 = param_01.origin; + } + + var_03 = (0,0,40); + var_04 = vectornormalize(param_02 + var_03 - self.visuals[0].origin); + var_05 = var_04 * 1000; + self.projectile = magicgrenademanual("gamemode_ball",self.visuals[0].origin,var_05,30,param_00,1); + if(isdefined(param_01)) + { + self.projectile missile_settargetent(param_01); + } + + self.visuals[0] linkto(self.projectile); + ball_dont_interpolate(); + ball_clear_contents(); + thread ball_on_projectile_hit_client(); + thread ball_on_projectile_death(); + thread ball_pass_touch_goal(); +} + +//Function Number: 53 +ball_on_projectile_hit_client() +{ + self endon("pass_end"); + level endon("uplink_completed"); + self.projectile waittill("projectile_impact_player",var_00); + self.trigger notify("trigger",var_00); +} + +//Function Number: 54 +ball_on_projectile_death() +{ + level endon("stop_horde_ball"); + level endon("uplink_completed"); + self.projectile waittill("death"); + if(!isdefined(self.carrier) && !self.in_goal) + { + ball_physics_launch((0,0,10)); + } + + ball_restore_contents(); + var_00 = self.visuals[0]; + var_00 notify("pass_end"); +} + +//Function Number: 55 +ball_pass_touch_goal() +{ + var_00 = self.visuals[0]; + var_00 endon("pass_end"); + ball_touch_goal_watch(var_00); +} + +//Function Number: 56 +ball_physics_launch_drop(param_00,param_01) +{ + ball_set_dropped(1); + ball_physics_launch(param_00,param_01); +} + +//Function Number: 57 +ball_touch_goal_watch(param_00) +{ + level endon("stop_horde_ball"); + level endon("uplink_completed"); + for(;;) + { + foreach(var_02 in level.goals) + { + if(!var_02.useobject ball_goal_can_use()) + { + continue; + } + + var_03 = distance(param_00.origin,var_02.origin); + if(var_03 <= var_02.radius) + { + thread ball_touched_goal(var_02); + return; + } + + if(isdefined(param_00.origin_prev)) + { + var_04 = line_interect_sphere(param_00.origin_prev,param_00.origin,var_02.origin,var_02.radius); + if(var_04) + { + thread ball_touched_goal(var_02); + return; + } + } + } + + wait 0.05; + } +} + +//Function Number: 58 +ball_goal_can_use(param_00) +{ + var_01 = self.goal; + if(var_01.ball_in_goal) + { + return 0; + } + + return 1; +} + +//Function Number: 59 +ball_touched_goal(param_00) +{ + ball_play_score_fx(param_00); + var_01 = param_00.team; + var_02 = maps\mp\_utility::getotherteam(var_01); + ball_score_sound(var_02); + if(isdefined(self.lastcarrier)) + { + self.lastcarrierscored = 1; + self.lastcarrier thread maps\mp\gametypes\_rank::xppointspopup("horde_uplink",300); + } + + thread ball_score_event(param_00,1); +} + +//Function Number: 60 +ball_play_score_fx(param_00) +{ + param_00.score_fx["friendly"] hide(); + param_00.score_fx["enemy"] hide(); + foreach(var_02 in level.players) + { + var_03 = ball_get_view_team(var_02); + if(var_03 == param_00.team) + { + param_00.score_fx["friendly"] showtoplayer(var_02); + continue; + } + + param_00.score_fx["enemy"] showtoplayer(var_02); + } + + triggerfx(param_00.score_fx["friendly"]); + triggerfx(param_00.score_fx["enemy"]); +} + +//Function Number: 61 +ball_score_event(param_00,param_01) +{ + self notify("score_event"); + self.in_goal = 1; + param_00.ball_in_goal = 1; + var_02 = self.visuals[0]; + if(isdefined(self.projectile)) + { + self.projectile delete(); + } + + var_02 physicsstop(); + maps\mp\gametypes\_gameobjects::allowcarry("none"); + ball_waypoint_upload(); + level.horde_ball_score = level.horde_ball_score + param_01; + if(level.horde_ball_score < level.horde_ball_score_count) + { + thread maps\mp\gametypes\_horde_dialog::hordeleaderdialogallplayers("coop_gdn_satellite_success","horde",1,1); + if(param_01 > 1) + { + level thread maps\mp\gametypes\_horde_util::showteamsplashhorde("horde_uplink_touchdown"); + } + else + { + level thread maps\mp\gametypes\_horde_util::showteamsplashhorde("horde_uplink_fieldgoal"); + } + } + + level.currentpointtotal = level.currentpointtotal + 300 * param_01; + level notify("pointsEarned"); + var_03 = 0.4; + var_04 = 1.2; + var_05 = 1; + var_06 = var_03 + var_05; + var_07 = var_06 + var_04; + var_02 moveto(param_00.origin,var_03,0,var_03); + var_02 rotatevelocity((1080,1080,0),var_07,var_07,0); + wait(var_06); + param_00.ball_in_goal = 0; + var_02 movez(4000,var_04,var_04 * 0.1,0); + wait(var_04); + maps\mp\gametypes\_gameobjects::allowcarry("any"); + self.in_goal = 0; + level notify("horde_ball_scored"); +} + +//Function Number: 62 +ball_carrier_touched_goal(param_00) +{ + if(!isdefined(param_00) || !isdefined(param_00.carryobject)) + { + return; + } + + var_01 = self.goal.team; + var_02 = maps\mp\_utility::getotherteam(var_01); + ball_score_sound(var_02); + ball_play_score_fx(self.goal); + if(isdefined(param_00.shoot_charge_bar)) + { + param_00.shoot_charge_bar.inuse = 0; + } + + var_03 = param_00.carryobject; + var_03.lastcarrierscored = 1; + var_03 ball_set_dropped(1); + var_03 thread ball_score_event(self.goal,2); + param_00 thread maps\mp\gametypes\_rank::xppointspopup("horde_uplink",600); +} + +//Function Number: 63 +ball_return_home() +{ + self.in_goal = 0; + var_00 = self.visuals[0]; + playfx(common_scripts\utility::getfx("ball_teleport"),var_00.origin); + if(isdefined(self.carrier)) + { + self.carrier maps\mp\_utility::delaythread(0.05,::player_update_pass_target_hudoutline); + } + + thread maps\mp\gametypes\_gameobjects::returnhome(); +} + +//Function Number: 64 +ball_clear_contents() +{ + self.visuals[0].old_contents = self.visuals[0] setcontents(0); +} + +//Function Number: 65 +ball_restore_contents() +{ + if(isdefined(self.visuals[0].old_contents)) + { + self.visuals[0] setcontents(self.visuals[0].old_contents); + self.visuals[0].old_contents = undefined; + } +} + +//Function Number: 66 +line_interect_sphere(param_00,param_01,param_02,param_03) +{ + var_04 = vectornormalize(param_01 - param_00); + var_05 = vectordot(var_04,param_00 - param_02); + var_05 = var_05 * var_05; + var_06 = param_00 - param_02; + var_06 = var_06 * var_06; + var_07 = param_03 * param_03; + return var_05 - var_06 + var_07 >= 0; +} + +//Function Number: 67 +ball_get_view_team(param_00) +{ + var_01 = param_00.team; + if(var_01 != "allies" && var_01 != "axis") + { + var_01 = "allies"; + } + + return var_01; +} + +//Function Number: 68 +ball_physics_launch(param_00,param_01) +{ + var_02 = self.visuals[0]; + var_02.origin_prev = undefined; + ball_fx_start(); + var_02 physicslaunchserver(var_02.origin,param_00); + thread ball_physics_touch_cant_pickup_player(param_01); + thread ball_physics_out_of_level(); + thread ball_physics_timeout(param_01); + thread ball_physics_bad_trigger_watch(); + thread ball_physics_touch_goal(); +} + +//Function Number: 69 +ball_physics_touch_cant_pickup_player(param_00) +{ + var_01 = self.visuals[0]; + var_02 = self.trigger; + var_01 endon("physics_finished"); + level endon("uplink_completed"); + for(;;) + { + var_02 waittill("trigger",var_03); + if(isdefined(param_00) && param_00 == var_03 && var_03 player_no_pickup_time()) + { + continue; + } + + if(self.droptime >= gettime()) + { + continue; + } + + if(!ball_can_pickup(var_03)) + { + thread ball_physics_fake_bounce(); + } + } +} + +//Function Number: 70 +ball_physics_out_of_level() +{ + level endon("stop_horde_ball"); + self endon("reset"); + self endon("pickup_object"); + level endon("uplink_completed"); + var_00 = self.visuals[0]; + var_01[0] = 200; + var_01[1] = 200; + var_01[2] = 1000; + var_02[0] = 200; + var_02[1] = 200; + var_02[2] = 200; + for(;;) + { + for(var_03 = 0;var_03 < 2;var_03++) + { + if(var_00.origin[var_03] > level.ball_maxs[var_03] + var_01[var_03]) + { + ball_return_home(); + return; + } + + if(var_00.origin[var_03] < level.ball_mins[var_03] - var_02[var_03]) + { + ball_return_home(); + return; + } + } + + wait 0.05; + } +} + +//Function Number: 71 +ball_physics_timeout(param_00) +{ + self endon("reset"); + self endon("pickup_object"); + self endon("score_event"); + level endon("uplink_completed"); + var_01 = getdvarfloat("scr_ball_reset_time",15); + var_02 = 10; + var_03 = 3; + if(var_01 >= var_02) + { + wait(var_03); + var_01 = var_01 - var_03; + } + + wait(var_01); + ball_return_home(); +} + +//Function Number: 72 +ball_physics_bad_trigger_watch() +{ + level endon("uplink_completed"); + self.visuals[0] endon("physics_finished"); + self.visuals[0] endon("death"); + thread ball_physics_bad_trigger_at_rest(); + wait(0.1); + for(;;) + { + if(maps\mp\gametypes\_gameobjects::istouchingbadtrigger()) + { + ball_return_home(); + return; + } + + wait 0.05; + } +} + +//Function Number: 73 +ball_physics_bad_trigger_at_rest() +{ + self endon("pickup_object"); + self endon("reset"); + self endon("score_event"); + level endon("uplink_completed"); + var_00 = self.visuals[0]; + var_00 endon("death"); + var_00 waittill("physics_finished"); + thread maps\mp\gametypes\_horde_dialog::hordeleaderdialogallplayers("coop_gdn_satellite_lost","horde",1,1); + if(maps\mp\gametypes\_gameobjects::istouchingbadtrigger()) + { + ball_return_home(); + } +} + +//Function Number: 74 +ball_physics_fake_bounce() +{ + var_00 = self.visuals[0]; + if(!var_00 physicsisactive()) + { + return; + } + + var_01 = var_00 physicsgetlinvel(); + var_02 = length(var_01) / 10; + var_03 = -1 * vectornormalize(var_01); + var_00 physicsstop(); + var_00 physicslaunchserver(var_00.origin,var_03 * var_02); +} + +//Function Number: 75 +ball_physics_touch_goal() +{ + var_00 = self.visuals[0]; + var_00 endon("physics_finished"); + ball_touch_goal_watch(var_00); +} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/gametypes/hp.gsc b/AW/PC/maps/mp/gametypes/hp.gsc similarity index 99% rename from AW/PC/MP/maps/mp/gametypes/hp.gsc rename to AW/PC/maps/mp/gametypes/hp.gsc index 120e989..c194728 100644 --- a/AW/PC/MP/maps/mp/gametypes/hp.gsc +++ b/AW/PC/maps/mp/gametypes/hp.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\gametypes\hp.gsc + * Decompiled File: mp\gametypes\hp.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 40 - * Decompile Time: 716 ms - * Timestamp: 10/27/2023 1:43:16 AM + * Decompile Time: 618 ms + * Timestamp: 4/22/2024 2:11:03 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/gametypes/infect.gsc b/AW/PC/maps/mp/gametypes/infect.gsc similarity index 99% rename from AW/PC/MP/maps/mp/gametypes/infect.gsc rename to AW/PC/maps/mp/gametypes/infect.gsc index d296e0b..aa4645c 100644 --- a/AW/PC/MP/maps/mp/gametypes/infect.gsc +++ b/AW/PC/maps/mp/gametypes/infect.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\gametypes\infect.gsc + * Decompiled File: mp\gametypes\infect.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 35 - * Decompile Time: 597 ms - * Timestamp: 10/27/2023 1:43:18 AM + * Decompile Time: 545 ms + * Timestamp: 4/22/2024 2:11:05 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/gametypes/sd.gsc b/AW/PC/maps/mp/gametypes/sd.gsc similarity index 98% rename from AW/PC/MP/maps/mp/gametypes/sd.gsc rename to AW/PC/maps/mp/gametypes/sd.gsc index d76641f..1789f0a 100644 --- a/AW/PC/MP/maps/mp/gametypes/sd.gsc +++ b/AW/PC/maps/mp/gametypes/sd.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\gametypes\sd.gsc + * Decompiled File: mp\gametypes\sd.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 7 - * Decompile Time: 124 ms - * Timestamp: 10/27/2023 1:43:19 AM + * Decompile Time: 125 ms + * Timestamp: 4/22/2024 2:11:05 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/gametypes/sr.gsc b/AW/PC/maps/mp/gametypes/sr.gsc similarity index 99% rename from AW/PC/MP/maps/mp/gametypes/sr.gsc rename to AW/PC/maps/mp/gametypes/sr.gsc index 137572b..dafb673 100644 --- a/AW/PC/MP/maps/mp/gametypes/sr.gsc +++ b/AW/PC/maps/mp/gametypes/sr.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\gametypes\sr.gsc + * Decompiled File: mp\gametypes\sr.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 16 - * Decompile Time: 270 ms - * Timestamp: 10/27/2023 1:43:20 AM + * Decompile Time: 257 ms + * Timestamp: 4/22/2024 2:11:06 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/gametypes/twar.gsc b/AW/PC/maps/mp/gametypes/twar.gsc similarity index 95% rename from AW/PC/MP/maps/mp/gametypes/twar.gsc rename to AW/PC/maps/mp/gametypes/twar.gsc index d20f0d3..78dc4a3 100644 --- a/AW/PC/MP/maps/mp/gametypes/twar.gsc +++ b/AW/PC/maps/mp/gametypes/twar.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\gametypes\twar.gsc + * Decompiled File: mp\gametypes\twar.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 80 - * Decompile Time: 1362 ms - * Timestamp: 10/27/2023 1:43:25 AM + * Decompile Time: 1228 ms + * Timestamp: 4/22/2024 2:11:10 AM *******************************************************************/ //Function Number: 1 @@ -1267,14 +1267,44 @@ twarzoneangleoverride(param_00) switch(var_01) { case "mp_detroit": + if(var_03 == 5) + { + var_02 = (0,215,0); + } + + if(var_03 == 1) + { + var_02 = (0,245,0); + } break; case "mp_instinct": + if(var_03 == 1) + { + var_02 = (0,190,0); + } + + if(var_03 == 2) + { + var_02 = (0,285,0); + } + + if(var_03 == 4) + { + var_02 = (0,340,0); + } + + if(var_03 == 5) + { + var_02 = (0,350,0); + } break; default: break; } + + return var_02; } //Function Number: 49 @@ -1618,8 +1648,7 @@ getnearestspawns(param_00,param_01,param_02,param_03) } var_0C = []; - var_0D = 0; - if(var_0D < var_05.size && var_0C.size < param_01) + for(var_0D = 0;var_0D < var_05.size && var_0C.size < param_01;var_0D++) { var_07 = var_05[var_0D]; if(var_07.dist < param_02) @@ -1630,9 +1659,41 @@ getnearestspawns(param_00,param_01,param_02,param_03) switch(var_09) { case "mp_instinct": + if(var_0B == 0) + { + if(var_07.index == 1) + { + break; + } + } + else if(var_0B == 1) + { + if(var_07.index == 14) + { + break; + } + } + else if(var_0B == 3) + { + if(var_07.index == 16) + { + break; + } + } + else if(var_0B == 4) + { + if(var_07.index == 16) + { + break; + } + } break; } + + var_0C[var_0C.size] = var_07; } + + return var_0C; } //Function Number: 62 @@ -1722,7 +1783,7 @@ updateminions() } } - if(!level.gameended) + while(!level.gameended) { if(isdefined(var_04)) { @@ -1741,11 +1802,8 @@ updateminions() var_0F[var_11] = 0; } - var_13 = level.twar_zones; - var_1B = getfirstarraykey(var_13); - if(isdefined(var_1B)) + foreach(var_14 in level.twar_zones) { - var_14 = var_13[var_1B]; var_11 = var_14.owner; if(var_11 != "allies" && var_11 != "axis") { @@ -1763,17 +1821,55 @@ updateminions() switch(var_18) { case 2: + var_19 = "iw5_kf5_mp"; break; case 1: + var_19 = "iw5_hbra3_mp"; break; case 0: default: + var_19 = "iw5_titan45_mp"; break; } + + var_17 giveweapon(var_19); + var_17 switchtoweaponimmediate(var_19); + var_17 maps\mp\_utility::giveperk("specialty_minion",0); + var_17.movespeedscaler = getdvarfloat("scr_twar_minionmovespeedscale",0.85); + var_17.damage_scale = getdvarfloat("scr_twar_miniondamagescale",0.5); + var_17.agentname = &"MP_MINION"; + var_17.nonkillstreakagent = 1; + var_17 thread minion_ai(); + update_minion_hud_outlines(); + var_17 detachall(); + var_17 setmodel("kva_hazmat_body_infected_mp"); + var_17 attach("kva_hazmat_head_infected"); + var_17 setclothtype("cloth"); + var_1A = getdvarfloat("scr_twar_minionhealthscale",0.75); + var_17 maps\mp\agents\_agent_common::set_agent_health(int(var_17.health * var_1A)); + var_0F[var_11]++; } } + + foreach(var_1D in var_03) + { + foreach(var_0A, var_1F in var_1D) + { + var_1F hud_set_visible(); + var_1F setvalue(var_0F[var_0A]); + var_1F maps\mp\_utility::delaythread(3,::hud_set_invisible); + } + } + + continue; + } + + if(isdefined(var_05)) + { + var_05 hud_set_visible(); + var_05 maps\mp\_utility::delaythread(3,::hud_set_invisible); } } } diff --git a/AW/PC/MP/maps/mp/gametypes/vlobby.gsc b/AW/PC/maps/mp/gametypes/vlobby.gsc similarity index 96% rename from AW/PC/MP/maps/mp/gametypes/vlobby.gsc rename to AW/PC/maps/mp/gametypes/vlobby.gsc index f7d524a..bd62400 100644 --- a/AW/PC/MP/maps/mp/gametypes/vlobby.gsc +++ b/AW/PC/maps/mp/gametypes/vlobby.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\gametypes\vlobby.gsc + * Decompiled File: mp\gametypes\vlobby.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 6 - * Decompile Time: 123 ms - * Timestamp: 10/27/2023 1:43:26 AM + * Decompile Time: 94 ms + * Timestamp: 4/22/2024 2:11:11 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/gametypes/war.gsc b/AW/PC/maps/mp/gametypes/war.gsc similarity index 98% rename from AW/PC/MP/maps/mp/gametypes/war.gsc rename to AW/PC/maps/mp/gametypes/war.gsc index 5b9295d..8e1172a 100644 --- a/AW/PC/MP/maps/mp/gametypes/war.gsc +++ b/AW/PC/maps/mp/gametypes/war.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\gametypes\war.gsc + * Decompiled File: mp\gametypes\war.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 7 - * Decompile Time: 127 ms - * Timestamp: 10/27/2023 1:43:26 AM + * Decompile Time: 121 ms + * Timestamp: 4/22/2024 2:11:11 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/mp/gametypes/zombies.gsc b/AW/PC/maps/mp/gametypes/zombies.gsc new file mode 100644 index 0000000..529acef --- /dev/null +++ b/AW/PC/maps/mp/gametypes/zombies.gsc @@ -0,0 +1,3964 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\gametypes\zombies.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 157 + * Decompile Time: 2441 ms + * Timestamp: 4/22/2024 2:11:19 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setzombiesdlclevel(); + maps\mp\gametypes\_globallogic::init(); + lib_0540::setupcallbacks(); + maps\mp\gametypes\_globallogic::setupcallbacks(); + maps\mp\zombies\_mutators::main(); + if(isusingmatchrulesdata()) + { + level.initializematchrules = ::initializematchrules; + [[ level.initializematchrules ]](); + level thread maps\mp\_utility::reinitializematchrulesonmigration(); + } + else + { + maps\mp\_utility::registerroundswitchdvar(level.gametype,0,0,9); + maps\mp\_utility::registertimelimitdvar(level.gametype,0); + maps\mp\_utility::registerscorelimitdvar(level.gametype,0); + maps\mp\_utility::registerroundlimitdvar(level.gametype,1); + maps\mp\_utility::registerwinlimitdvar(level.gametype,1); + maps\mp\_utility::registernumlivesdvar(level.gametype,1); + maps\mp\_utility::registerhalftimedvar(level.gametype,0); + } + + setdynamicdvar("r_hudOutlineWidth",2); + setdynamicdvar("scr_zombies_timeLimit",0); + setdynamicdvar("scr_zombies_numLives",1); + setdynamicdvar("hover_max_travel_distance",5000); + setdynamicdvar("scr_game_matchstarttime",0); + setdynamicdvar("scr_game_playerwaittime",5); + setdynamicdvar("scr_game_playerwaittime_ds",5); + setdynamicdvar("scr_game_graceperiod",5); + setdynamicdvar("scr_game_graceperiod_ds",5); + setdynamicdvar("scr_player_healthregentime",3); + maps\mp\_utility::registertimelimitdvar(level.gametype,0); + setspecialloadouts(); + initpickups(); + loadeffects(); + level.teambased = 1; + level.iszombiegame = 1; + level.disableforfeit = 1; + level.alwaysdrawfriendlynames = 1; + level.scorelimitoverride = 1; + level.allowlatecomers = 1; + level.skiplivesxpscalar = 1; + level.nocratetimeout = 1; + level.assists_disabled = 1; + level.skipspawnsighttraces = 1; + level.killstreakrewards = 0; + level.disableweaponstats = 1; + level.gamehasstarted = 0; + level.rankedmatch = 0; + level.playerteam = "allies"; + level.enemyteam = "axis"; + level.spawndistanceteamskip = "axis"; + level.laststandusetime = 2000; + level.grenadegraceperiod = 0; + level.playermeleedamage = 150; + level.playerexomeleedamage = 500; + level.tokensenabled = 0; + level.modifyweapondamage = []; + level.damageweapontoweapon = []; + level.onstartgametype = ::onstartgametype; + level.getspawnpoint = ::getspawnpoint; + level.onnormaldeath = ::onnormaldeath; + level.onspawnplayer = ::onplayerspawn; + level.modifyplayerdamage = ::modifyplayerdamagezombies; + level.callbackplayerlaststand = ::maps\mp\zombies\_zombies_laststand::callback_playerlaststandzombies; + level.callbackplayerdamage = ::callback_playerdamage; + level.bypassclasschoicefunc = ::zombiegameclass; + level.ondeadevent = ::ondeadevent; + level.onsuicidedeath = ::onsuicidedeath; + level.weapondropfunction = ::dropweaponfordeathzombies; + level.autoassign = ::zombiesautoassign; + level.groundslam = ::maps\mp\zombies\_terminals::zombiesgroundslam; + level.groundslamhitplayer = ::maps\mp\zombies\_terminals::zombiesgroundslamhitplayer; + level.weaponweightfunc = ::zombieweaponweight; + level.customcratefunc = ::maps\mp\zombies\killstreaks\_zombie_killstreaks::airdropcustomfunc; + level.customplaydeathsound = ::maps\mp\zombies\_zombies_audio::zmplaydeathsound; + level.customplaydamagesound = ::maps\mp\zombies\_zombies_audio::zmplaydamagesound; + level.bot_killstreak_setup_func = ::maps\mp\zombies\killstreaks\_zombie_killstreaks::bot_killstreak_setup; + level.cb_usedkillstreak = ::maps\mp\zombies\_util::removeksicon; + level.callbackplayergrenadesuicide = ::ongrenadesuicide; + level.disablespawningforplayerfunc = ::disablespawningforplayerfunc; + level.hurttriggerfunc = ::hurtplayersthink; + level.moversuicidecustom = ::moversuicidecustom; +} + +//Function Number: 2 +loadeffects() +{ + level._effect["mutant_blood_pool"] = loadfx("vfx/blood/dlc_zombie_gib_bloodpool"); + level._effect["mutant_gib_death"] = loadfx("vfx/blood/dlc_zombie_gib_burst"); + level._effect["electrical_arc"] = loadfx("fx/misc/electrical_arc"); + level._effect["slow_zone"] = loadfx("vfx/test/hms_mutant_ooze_impact_burst"); + level._effect["boost_jump"] = loadfx("vfx/code/high_jump_jetpack"); + level._effect["boost_lunge"] = loadfx("vfx/code/dodge_forward_jetpack"); + level._effect["boost_dodge_back"] = loadfx("vfx/code/dodge_back_jetpack"); + level._effect["boost_dodge_right"] = loadfx("vfx/code/dodge_right_jetpack"); + level._effect["boost_dodge_left"] = loadfx("vfx/code/dodge_left_jetpack"); + level._effect["torso_arm_loss_left"] = loadfx("vfx/blood/dlc_zombie_torso_loss_arm_le"); + level._effect["torso_arm_loss_left_emz"] = loadfx("vfx/gameplay/mp/zombie/zombie_torso_dismem_arm_le_emz"); + level._effect["torso_arm_loss_left_ovr"] = loadfx("vfx/gameplay/mp/zombie/zombie_torso_dismem_arm_le_chrz"); + level._effect["torso_arm_loss_left_exp"] = loadfx("vfx/gameplay/mp/zombie/zombie_torso_dismem_arm_le_xplod"); + level._effect["torso_arm_loss_right"] = loadfx("vfx/blood/dlc_zombie_torso_loss_arm_ri"); + level._effect["torso_arm_loss_right_emz"] = loadfx("vfx/gameplay/mp/zombie/zombie_torso_dismem_arm_ri_emz"); + level._effect["torso_arm_loss_right_ovr"] = loadfx("vfx/gameplay/mp/zombie/zombie_torso_dismem_arm_ri_chrz"); + level._effect["torso_arm_loss_right_exp"] = loadfx("vfx/gameplay/mp/zombie/zombie_torso_dismem_arm_ri_xplod"); + level._effect["torso_head_loss"] = loadfx("vfx/blood/dlc_zombie_torso_loss_head"); + level._effect["torso_head_loss_emz"] = loadfx("vfx/gameplay/mp/zombie/zombie_torso_dismem_head_emz"); + level._effect["torso_head_loss_ovr"] = loadfx("vfx/gameplay/mp/zombie/zombie_torso_dismem_head_ovrchrz"); + level._effect["torso_head_loss_exp"] = loadfx("vfx/gameplay/mp/zombie/zombie_torso_dismem_head_xplod"); + level._effect["torso_loss_left"] = loadfx("vfx/blood/dlc_zombie_torso_loss_impact_le"); + level._effect["torso_loss_left_emz"] = loadfx("vfx/gameplay/mp/zombie/zombie_torso_dismem_leg_le_emz"); + level._effect["torso_loss_left_ovr"] = loadfx("vfx/gameplay/mp/zombie/zombie_torso_dismem_leg_le_chrz"); + level._effect["torso_loss_left_exp"] = loadfx("vfx/gameplay/mp/zombie/zombie_torso_dismem_leg_le_xplod"); + level._effect["torso_loss_right"] = loadfx("vfx/blood/dlc_zombie_torso_loss_impact_ri"); + level._effect["torso_loss_right_emz"] = loadfx("vfx/gameplay/mp/zombie/zombie_torso_dismem_leg_ri_emz"); + level._effect["torso_loss_right_ovr"] = loadfx("vfx/gameplay/mp/zombie/zombie_torso_dismem_leg_ri_chrz"); + level._effect["torso_loss_right_exp"] = loadfx("vfx/gameplay/mp/zombie/zombie_torso_dismem_leg_ri_xplod"); + level._effect["arm_loss_left"] = loadfx("vfx/blood/dlc_zombie_arm_loss_impact_le"); + level._effect["arm_loss_left_emz"] = loadfx("vfx/gameplay/mp/zombie/zombie_limb_dismem_arm_le_emz"); + level._effect["arm_loss_left_ovr"] = loadfx("vfx/gameplay/mp/zombie/zombie_limb_dismem_arm_le_ovrchrz"); + level._effect["arm_loss_left_exp"] = loadfx("vfx/gameplay/mp/zombie/zombie_limb_dismem_arm_le_xplod"); + level._effect["arm_loss_right"] = loadfx("vfx/blood/dlc_zombie_arm_loss_impact_ri"); + level._effect["arm_loss_right_emz"] = loadfx("vfx/gameplay/mp/zombie/zombie_limb_dismem_arm_ri_emz"); + level._effect["arm_loss_right_ovr"] = loadfx("vfx/gameplay/mp/zombie/zombie_limb_dismem_arm_ri_ovrchrz"); + level._effect["arm_loss_right_exp"] = loadfx("vfx/gameplay/mp/zombie/zombie_limb_dismem_arm_ri_xplod"); + level._effect["head_loss"] = loadfx("vfx/blood/dlc_zombie_head_loss_impact"); + level._effect["head_loss_emz"] = loadfx("vfx/gameplay/mp/zombie/zombie_limb_dismem_head_emz"); + level._effect["head_loss_ovr"] = loadfx("vfx/gameplay/mp/zombie/zombie_limb_dismem_head_ovrchrz"); + level._effect["head_loss_exp"] = loadfx("vfx/gameplay/mp/zombie/zombie_limb_dismem_head_xplod"); + level._effect["limb_loss_left"] = loadfx("vfx/blood/dlc_zombie_limb_loss_impact_le"); + level._effect["limb_loss_left_emz"] = loadfx("vfx/gameplay/mp/zombie/zombie_limb_dismem_leg_le_emz"); + level._effect["limb_loss_left_ovr"] = loadfx("vfx/gameplay/mp/zombie/zombie_limb_dismem_leg_le_ovrchrz"); + level._effect["limb_loss_left_exp"] = loadfx("vfx/gameplay/mp/zombie/zombie_limb_dismem_leg_le_xplod"); + level._effect["limb_loss_right"] = loadfx("vfx/blood/dlc_zombie_limb_loss_impact_ri"); + level._effect["limb_loss_right_emz"] = loadfx("vfx/gameplay/mp/zombie/zombie_limb_dismem_leg_ri_emz"); + level._effect["limb_loss_right_ovr"] = loadfx("vfx/gameplay/mp/zombie/zombie_limb_dismem_leg_ri_ovrchrz"); + level._effect["limb_loss_right_exp"] = loadfx("vfx/gameplay/mp/zombie/zombie_limb_dismem_leg_ri_xplod"); + level._effect["gib_full_body"] = loadfx("vfx/blood/dlc_zombie_gib_full_body"); + level._effect["gib_full_body_cheap"] = loadfx("vfx/blood/dlc_zombie_gib_full_body_cheap"); + level._effect["gib_full_body_emz"] = loadfx("vfx/gameplay/mp/zombie/zombie_gib_full_body_emz"); + level._effect["gib_full_body_ovr"] = loadfx("vfx/gameplay/mp/zombie/zombie_gib_full_body_ovrchrz"); + level._effect["gib_full_body_exp"] = loadfx("vfx/gameplay/mp/zombie/zombie_gib_full_body_xplod"); + level._effect["gib_bloodpool"] = loadfx("vfx/blood/dlc_zombie_blood_tread_fx"); + level._effect["crawl_dust"] = loadfx("vfx/treadfx/DLC/crawl_dust"); + level._effect["nuke_blast"] = loadfx("vfx/gameplay/mp/zombie/zombie_nuke_burst"); + loadeyeeffects(); + level._effect["station_buy_weapon"] = loadfx("vfx/props/dlc_prop_weapon_dispenser_fx_main"); + level._effect["station_buy_weapon_pwr_on"] = loadfx("vfx/props/dlc_prop_weapon_dispenser_icon_pwr_on"); + level._effect["station_buy_exo"] = loadfx("vfx/props/dlc_prop_exo_buy_fx_main"); + level._effect["station_buy_exo_pwr_on"] = loadfx("vfx/props/dlc_prop_exo_buy_icon_pwr_on"); + level._effect["station_buy_exo_pwr_off"] = loadfx("vfx/props/dlc_prop_exo_buy_icon_pwr_off"); + level._effect["station_mystery_box"] = loadfx("vfx/props/dlc_prop_mystery_box_fx_main"); + level._effect["station_mystery_box_icon_on"] = loadfx("vfx/props/dlc_prop_mystery_box_icon_pwr_on"); + level._effect["station_mystery_box_icon_off"] = loadfx("vfx/props/dlc_prop_mystery_box_icon_pwr_off"); + level._effect["station_mystery_box_icon_money"] = loadfx("vfx/props/dlc_prop_mystery_box_icon_money"); + level._effect["station_upgrade_exo"] = loadfx("vfx/props/dlc_prop_exo_upgrade_fx_main"); + level._effect["station_upgrade_exo_health_pwr_on"] = loadfx("vfx/props/dlc_prop_exo_upg_icon_health_pwr_on"); + level._effect["station_upgrade_exo_health_pwr_off"] = loadfx("vfx/props/dlc_prop_exo_upg_icon_health_pwr_off"); + level._effect["station_upgrade_exo_reload_pwr_on"] = loadfx("vfx/props/dlc_prop_exo_upg_icon_reload_pwr_on"); + level._effect["station_upgrade_exo_reload_pwr_off"] = loadfx("vfx/props/dlc_prop_exo_upg_icon_reload_pwr_off"); + level._effect["station_upgrade_exo_revive_pwr_on"] = loadfx("vfx/props/dlc_prop_exo_upg_icon_revive_pwr_on"); + level._effect["station_upgrade_exo_revive_pwr_off"] = loadfx("vfx/props/dlc_prop_exo_upg_icon_revive_pwr_off"); + level._effect["station_upgrade_exo_slam_pwr_on"] = loadfx("vfx/props/dlc_prop_exo_upg_icon_slam_pwr_on"); + level._effect["station_upgrade_exo_slam_pwr_off"] = loadfx("vfx/props/dlc_prop_exo_upg_icon_slam_pwr_off"); + level._effect["station_upgrade_exo_stabilizer_pwr_on"] = loadfx("vfx/props/dlc_prop_exo_upg_icon_stble_pwr_on"); + level._effect["station_upgrade_exo_stabilizer_pwr_off"] = loadfx("vfx/props/dlc_prop_exo_upg_icon_stble_pwr_off"); + level._effect["station_upgrade_exo_tactarmor_pwr_on"] = loadfx("vfx/props/dlc_prop_exo_upg_icon_tact_pwr_on"); + level._effect["station_upgrade_exo_tactarmor_pwr_off"] = loadfx("vfx/props/dlc_prop_exo_upg_icon_tact_pwr_off"); + level._effect["station_upgrade_weapon"] = loadfx("vfx/props/dlc_prop_weapon_upgrade_fx_main"); + level._effect["station_upgrade_weapon_pwr_on"] = loadfx("vfx/props/dlc_prop_weapon_upg_icon_pwr_on"); + level._effect["weapon_cycle_slow"] = loadfx("vfx/props/dlc_prop_mystery_box_weap_lp"); + level._effect["weapon_cycle_fast"] = loadfx("vfx/props/dlc_prop_mystery_box_weap_lp_fast"); + if(maps\mp\zombies\_util::getzombieslevelnum() == 3) + { + if(level.currentgen) + { + } + else + { + level._effect["weapon_cycle_slow"] = loadfx("vfx/props/dlc3_prop_mystery_box_weap_lp"); + level._effect["weapon_cycle_fast"] = loadfx("vfx/props/dlc3_prop_mystery_box_weap_lp_fast"); + } + } + else if(maps\mp\zombies\_util::getzombieslevelnum() == 4) + { + if(level.nextgen) + { + level._effect["weapon_cycle_slow"] = loadfx("vfx/props/dlc4_prop_mystery_box_weap_lp"); + level._effect["weapon_cycle_fast"] = loadfx("vfx/props/dlc4_prop_mystery_box_weap_lp_fast"); + } + } + + level._effect["magic_box_move"] = loadfx("vfx/props/dlc_prop_mystery_box_weap_broken"); + level._effect["weapon_level_20"] = loadfx("vfx/props/dlc_prop_weapon_upg_fanfare"); + level._effect["magic_box_steam"] = loadfx("vfx/props/dlc_prop_mystery_box_use"); + level._effect["wall_buy_steam"] = loadfx("vfx/props/dlc_prop_weapon_dispenser_use"); + level._effect["pickup_nuke"] = loadfx("vfx/gameplay/mp/zombie/dlc_pickup_zombies_01_apocalypse"); + level._effect["pickup_doublepoints"] = loadfx("vfx/gameplay/mp/zombie/dlc_pickup_zombies_01_dble_pts"); + level._effect["pickup_instakill"] = loadfx("vfx/gameplay/mp/zombie/dlc_pickup_zombies_01_insta_kill"); + level._effect["pickup_maxammo"] = loadfx("vfx/gameplay/mp/zombie/dlc_pickup_zombies_01_max_ammo"); + level._effect["pickup_firesale"] = loadfx("vfx/gameplay/mp/zombie/dlc_pickup_zombies_01_power_surge"); + level._effect["pickup_tombstone"] = loadfx("vfx/gameplay/mp/zombie/dlc_pickup_zombies_01_tombstone"); + level._effect["pickup_trap"] = loadfx("vfx/gameplay/mp/zombie/dlc_pickup_zombies_01_trap"); +} + +//Function Number: 3 +loadeyeeffectsfortype(param_00,param_01) +{ + if(!isdefined(level.valideyetypes)) + { + level.valideyetypes = ["vanilla","emp","exploder","fast"]; + } + + if(isdefined(level.addvalideyetypesfunc)) + { + [[ level.addvalideyetypesfunc ]](); + } + + if(!isdefined(level.validheadtypes)) + { + level.validheadtypes = ["afr_dlc_a","afr_dlc_b","afr_dlc_c","cau_dlc_a","cau_dlc_b","cau_dlc_c","shg_dlc_b"]; + } + + if(!isdefined(param_01)) + { + param_01 = 0; + } + + var_02 = "zombie_eye_" + param_00; + level._effect[var_02] = loadfx("vfx/gameplay/mp/zombie/" + var_02); + if(!param_01) + { + foreach(var_04 in level.validheadtypes) + { + var_02 = "zombie_eye_" + param_00 + "_" + var_04; + level._effect[var_02] = loadfx("vfx/gameplay/mp/zombie/" + var_02); + } + } +} + +//Function Number: 4 +geteyeeffectforzombie(param_00,param_01) +{ + var_02 = param_01; + if(isdefined(param_01) && common_scripts\utility::string_starts_with(param_01,"zombies_head_")) + { + var_02 = getsubstr(param_01,13); + } + + if(!isdefined(var_02) || !isdefined(common_scripts\utility::array_find(level.validheadtypes,var_02))) + { + var_03 = "zombie_eye_" + param_00; + } + else + { + var_03 = "zombie_eye_" + param_01 + "_" + var_03; + } + + return var_03; +} + +//Function Number: 5 +loadeyeeffects() +{ + loadeyeeffectsfortype("vanilla"); + loadeyeeffectsfortype("emp"); + loadeyeeffectsfortype("exploder"); + loadeyeeffectsfortype("fast"); +} + +//Function Number: 6 +zombieweaponweight(param_00) +{ + var_01 = tablelookup("mp/zombieStatsTable.csv",0,param_00,1); + if(!isdefined(var_01) || var_01 == "") + { + var_01 = tablelookup("mp/statstable.csv",4,param_00,8); + } + + if(!isdefined(var_01) || var_01 == "") + { + var_01 = 4; + } + + return int(var_01); +} + +//Function Number: 7 +initpickups() +{ + level.pickupents = []; + level.maxpickupsperround = getmaxpickupsperround(); + level.percentchancetodrop = getpercentchancetodrop(); + level.dropscheduled = 0; + level.currentpickupcount = 0; + level.pickuphuds = []; + level.pickuprotation = []; + level.pickuprotationindex = 0; + level.pickuprecent = undefined; + level.firesaletestcounter = 0; + level.pickup["ammo"]["func"] = ::ammopickup; + level.pickup["ammo"]["fx"] = "pickup_maxammo"; + level.pickup["insta_kill"]["func"] = ::instakillpickup; + level.pickup["insta_kill"]["fx"] = "pickup_instakill"; + level.pickup["double_points"]["func"] = ::doublepointspickup; + level.pickup["double_points"]["fx"] = "pickup_doublepoints"; + level.pickup["fire_sale"]["func"] = ::firesalepickup; + level.pickup["fire_sale"]["fx"] = "pickup_firesale"; + level.pickup["nuke"]["func"] = ::nukepickup; + level.pickup["nuke"]["fx"] = "pickup_nuke"; + level.pickup["trap"]["func"] = ::trappickup; + level.pickup["trap"]["fx"] = "pickup_trap"; + prespawnpickupents(); + randomizepickuplist(); + level thread scheduledrops(); +} + +//Function Number: 8 +prespawnpickupents() +{ + var_00 = 4; + for(var_01 = 0;var_01 < var_00;var_01++) + { + spawnpickupent(); + } +} + +//Function Number: 9 +getpickupent() +{ + var_00 = undefined; + foreach(var_02 in level.pickupents) + { + if(!var_02.inuse) + { + var_00 = var_02; + break; + } + } + + if(!isdefined(var_00)) + { + var_00 = spawnpickupent(); + } + + var_00 show(); + var_00.inuse = 1; + var_00 dontinterpolate(); + var_00.trigger dontinterpolate(); + return var_00; +} + +//Function Number: 10 +spawnpickupent() +{ + var_00 = spawn("script_model",(0,0,0)); + var_00 setmodel("dlc_dogtags_zombie_invisible"); + var_00 ghost(); + var_00.inuse = 0; + var_00.trigger = spawn("trigger_radius",(0,0,0),0,32,32); + level.pickupents[level.pickupents.size] = var_00; + return var_00; +} + +//Function Number: 11 +randomizepickuplist() +{ + level.pickuprotation = []; + foreach(var_02, var_01 in level.pickup) + { + level.pickuprotation[level.pickuprotation.size] = var_02; + } + + level.pickuprotation = common_scripts\utility::array_randomize(level.pickuprotation); + while(isdefined(level.pickuprecent) && level.pickuprotation.size > 1 && level.pickuprotation[0] == level.pickuprecent) + { + level.pickuprotation = common_scripts\utility::array_randomize(level.pickuprotation); + } +} + +//Function Number: 12 +selectnextpickup() +{ + if(level.pickuprotationindex >= level.pickuprotation.size) + { + level.pickuprotationindex = 0; + randomizepickuplist(); + } + + if(isdefined(level.pickuprecent) && level.pickuprotation[level.pickuprotationindex] == level.pickuprecent && level.pickuprotationindex < level.pickuprotation.size - 1) + { + var_00 = level.pickuprotation[level.pickuprotationindex]; + level.pickuprotation[level.pickuprotationindex] = level.pickuprotation[level.pickuprotationindex + 1]; + level.pickuprotation[level.pickuprotationindex + 1] = var_00; + } + + var_01 = level.pickuprotation[level.pickuprotationindex]; + level.pickuprotationindex++; + return var_01; +} + +//Function Number: 13 +ispickupvalid(param_00) +{ + if(isdefined(level.pickuprecent) && param_00 == level.pickuprecent) + { + return 0; + } + + if(param_00 == "fire_sale") + { + if(!maps\mp\zombies\_wall_buys::magicboxhasmoved()) + { + return 0; + } + + if(level.wavecounter <= 5) + { + return 0; + } + + if(maps\mp\_utility::gameflag("fire_sale")) + { + return 0; + } + + level.firesaletestcounter++; + if(level.firesaletestcounter % 2 == 1) + { + return 0; + } + } + + if(param_00 == "trap") + { + if(isdefined(level.trappickupdisabled)) + { + return 0; + } + + if(!maps\mp\zombies\_doors::doorhasbeenopened()) + { + return 0; + } + } + + return 1; +} + +//Function Number: 14 +selectnextvalidpickup() +{ + for(var_00 = selectnextpickup();!ispickupvalid(var_00);var_00 = selectnextpickup()) + { + } + + return var_00; +} + +//Function Number: 15 +selectnextvalidpickupavoid(param_00) +{ + var_01 = selectnextvalidpickup(); + if(var_01 != param_00) + { + return var_01; + } + + while(var_01 == param_00) + { + var_01 = selectnextvalidpickup(); + } + + for(var_02 = level.pickuprotation.size - 1;var_02 >= level.pickuprotationindex;var_02--) + { + level.pickuprotation[var_02 + 1] = level.pickuprotation[var_02]; + } + + level.pickuprotation[level.pickuprotationindex] = param_00; + if(level.pickuprotationindex < level.pickuprotation.size - 1 && level.pickuprotation[level.pickuprotationindex] == level.pickuprotation[level.pickuprotationindex + 1]) + { + level.pickuprotationindex++; + } + + return var_01; +} + +//Function Number: 16 +scheduledrops() +{ + level waittill("zombie_wave_started"); + var_00 = level.players.size * 1000; + var_01 = level.players.size * 2000; + var_02 = 1.14; + var_03 = var_00 + var_01; + pickupdebugprint("Next Scheduled at " + var_03 + " points"); + for(;;) + { + var_04 = 0; + foreach(var_06 in level.players) + { + if(isdefined(var_06.moneyearnedtotal)) + { + var_04 = var_04 + var_06.moneyearnedtotal; + } + } + + if(var_04 > var_03) + { + level.dropscheduled = 1; + pickupdebugprint("Reached Scheduled " + var_04 + ">" + var_03); + var_01 = var_01 * var_02; + var_03 = var_04 + var_01; + pickupdebugprint("Next Scheduled at " + var_03 + " points"); + } + + wait(0.5); + } +} + +//Function Number: 17 +getmaxpickupsperround() +{ + var_00 = maps\mp\zombies\_util::getnumplayers() + 1; + return clamp(var_00,2,4); +} + +//Function Number: 18 +getpercentchancetodrop() +{ + if(maps\mp\zombies\_util::getzombieslevelnum() >= 3) + { + return 1; + } + + return 2; +} + +//Function Number: 19 +initializematchrules() +{ + maps\mp\_utility::setcommonrulesfrommatchrulesdata(); + setdynamicdvar("scr_zombies_roundswitch",0); + maps\mp\_utility::registerroundswitchdvar(level.gametype,0,0,9); + setdynamicdvar("scr_zombies_roundlimit",1); + maps\mp\_utility::registerroundlimitdvar(level.gametype,1); + setdynamicdvar("scr_zombies_winlimit",1); + maps\mp\_utility::registerwinlimitdvar(level.gametype,1); + setdynamicdvar("scr_zombies_halftime",0); + maps\mp\_utility::registerhalftimedvar(level.gametype,0); + setdynamicdvar("scr_zombies_timeLimit",0); + maps\mp\_utility::registertimelimitdvar(level.gametype,0); + setdynamicdvar("scr_zombies_numLives",1); + maps\mp\_utility::registernumlivesdvar(level.gametype,1); + setdynamicdvar("r_hudOutlineWidth",1); +} + +//Function Number: 20 +onstartgametype() +{ + setclientnamemode("auto_change"); + if(!isdefined(game["switchedsides"])) + { + game["switchedsides"] = 0; + } + + maps\mp\_utility::setobjectivetext("allies",&"ZOMBIES_EMPTY_STRING"); + maps\mp\_utility::setobjectivetext("axis",&"ZOMBIES_EMPTY_STRING"); + maps\mp\_utility::setobjectivescoretext("allies",&"ZOMBIES_EMPTY_STRING"); + maps\mp\_utility::setobjectivescoretext("axis",&"ZOMBIES_EMPTY_STRING"); + maps\mp\_utility::setobjectivehinttext("allies",undefined); + maps\mp\_utility::setobjectivehinttext("axis",undefined); + thread init_spawns(); + thread init_structs(); + var_00[0] = level.gametype; + maps\mp\gametypes\_gameobjects::main(var_00); + initzombiesettings(); + level thread zombievignette(); + level thread onplayerconnectzombies(); + level thread maps\mp\zombies\_util::handlenetworkeffects(); + level thread initializedefaultcharacter(); + level thread maps\mp\zombies\zombies_spawn_manager::init(); + level thread maps\mp\zombies\_wall_buys::init(); + level thread maps\mp\zombies\_power::init(); + level thread maps\mp\zombies\_doors::init(); + level thread maps\mp\zombies\_terminals::init(); + level thread maps\mp\zombies\_traps::init(); + level thread maps\mp\zombies\killstreaks\_zombie_killstreaks::init(); + level thread maps\mp\zombies\weapons\_zombie_weapons::init(); + level thread maps\mp\zombies\_zombies_audio::init(); + level thread maps\mp\zombies\_zombies_sidequests::init(); + level thread maps\mp\zombies\_debug::init(); + level thread runzombiesmode(); + level thread handlezombieshostmigration(); + thread horde_audio(); + if(isdefined(level.onstartgametypelevelfunc)) + { + [[ level.onstartgametypelevelfunc ]](); + } +} + +//Function Number: 21 +initzombiesettings() +{ + maps\mp\_utility::gameflaginit("insta_kill",0); + maps\mp\_utility::gameflaginit("double_points",0); + maps\mp\_utility::gameflaginit("fire_sale",0); + maps\mp\_utility::gameflaginit("power_off",0); + level.wavecounter = 0; + level.specialroundnumber = 0; + level.specialroundcounter = 0; + level.roundtype = "normal"; + level.lastenemydeathpos = (0,0,0); + level.zombiegamepaused = 0; + level.doorsopenedbitmask = 0; + level.pointevents = []; + level.pointevents["damage_body"] = 10; + level.pointevents["damage_head"] = 10; + level.pointevents["kill_trap"] = 10; + level.pointevents["kill_limb"] = 50; + level.pointevents["kill_streak"] = 40; + level.pointevents["kill_body"] = 60; + level.pointevents["kill_head"] = 100; + level.pointevents["kill_melee"] = 130; + level.pointevents["power_on"] = 100; + level.pointevents["atm"] = 100; + level.pointevents["atm_jackpot"] = 10; + level.pointevents["cure"] = 100; + level.pointevents["crate"] = 500; + level.pointevents["nuke"] = 400; + level.pointevents["reward_bronze"] = 500; + level.pointevents["reward_silver"] = 1000; + level.pointevents["reward_gold"] = 2000; + level.pointevents["breach_fix"] = 200; + if(!isdefined(level.doorbitmaskarray)) + { + level.doorbitmaskarray = []; + } +} + +//Function Number: 22 +setzombiesdlclevel() +{ + level.zombiedlclevel = 99; + var_00 = getdvar("mapname"); + if(var_00 == "mp_zombie_lab") + { + level.zombiedlclevel = 1; + return; + } + + if(var_00 == "mp_zombie_brg") + { + level.zombiedlclevel = 2; + return; + } + + if(var_00 == "mp_zombie_ark") + { + level.zombiedlclevel = 3; + return; + } + + if(var_00 == "mp_zombie_h2o") + { + level.zombiedlclevel = 4; + return; + } +} + +//Function Number: 23 +zombiesautoassign() +{ + thread maps\mp\gametypes\_menus::setteam("allies"); + self.sessionteam = "allies"; +} + +//Function Number: 24 +onplayerconnectzombies() +{ + for(;;) + { + level waittill("connected",var_00); + var_00 thread maps\mp\zombies\_zombies_audio::init_audio_functions(); + var_00 thread playermonitorweapon(); + var_00 thread playermonitorboostevents(); + var_00 thread playermonitortokenuse(); + var_00 thread playermonitorlastgroundpos(); + level thread createplayervariables(var_00); + var_01 = undefined; + if(isdefined(level.givecustomcharacters)) + { + var_00 [[ level.givecustomcharacters ]](var_01); + } + else + { + var_00 maps\mp\zombies\_util::givecustomcharactersdefault(var_01); + } + + if(isbot(var_00)) + { + continue; + } + } +} + +//Function Number: 25 +playermonitorlastgroundpos() +{ + self endon("disconnect"); + for(;;) + { + if(maps\mp\zombies\_util::getzombieslevelnum() == 4 && maps\mp\zombies\_util::is_true(self.inwater)) + { + wait 0.05; + continue; + } + + if(self isonground() && !maps\mp\zombies\_util::is_true(self.disabletombstonedropinarea)) + { + self.lastgroundposition = self.origin; + } + + wait 0.05; + } +} + +//Function Number: 26 +playermonitortokenuse() +{ + self endon("disconnect"); + if(!isbot(self)) + { + self notifyonplayercommand("TokenUseDown","+actionslot 3"); + self notifyonplayercommand("TokenUseUp","-actionslot 3"); + } + + for(;;) + { + self.tokenbuttonpressed = 0; + self waittill("TokenUseDown"); + self.tokenbuttonpressed = 1; + self waittill("TokenUseUp"); + } +} + +//Function Number: 27 +initializedefaultcharacter() +{ + var_00 = ["head_hero_cormack_sentinel_halo","mp_exo_01a"]; + maps\mp\zombies\_util::initializecharactermodel("default","atlas_arctic_guard_body_mp","viewhands_security_guard",var_00); +} + +//Function Number: 28 +createplayervariables(param_00) +{ + param_00.weaponstate = []; + param_00.pointnotifylua = []; + param_00.hasradar = 0; + param_00.radarshowenemydirection = 0; + param_00.magicboxuses = 0; + param_00.trapuses = 0; + param_00.headshotkills = 0; + param_00.meleekills = 0; + param_00.sidequest = 0; + param_00.numberofdowns = 0; + param_00.numberofbleedouts = 0; + param_00.exosuitround = 0; + param_00.numupgrades = 0; + if(maps\mp\zombies\_util::iszombieshardmode()) + { + param_00.deaths = 0; + param_00.score = 0; + param_00.timeplayed["total"] = 0; + param_00.suicides = 0; + param_00.kills = 0; + param_00.headshots = 0; + param_00.assists = 0; + param_00 maps\mp\_utility::setpersstat("kills",0); + param_00 maps\mp\_utility::setpersstat("assists",0); + } + + param_00 resetmoney(500); + param_00 inittokens(); + maps\mp\zombies\_util::clearzombiestats(param_00); + createzombieweaponstate(param_00,"iw5_titan45zm_mp"); + level thread monitorpointnotifylua(param_00); + level thread weaponleveldisplay(param_00); + level thread playerinitroundmatchdata(param_00); +} + +//Function Number: 29 +updatepersistentmoney() +{ + var_00 = 8388607; + var_01 = 128; + var_02 = 65536; + var_03 = self.moneycurrent; + if(var_03 > var_00) + { + var_03 = var_00; + } + + var_04 = int(var_03 / var_02); + var_05 = var_03 % var_02; + self.extrascore1 = var_04; + maps\mp\_utility::setpersstat("extrascore1",var_04); + self.score = var_05; + maps\mp\_utility::setpersstat("score",var_05); + var_06 = 67108863; + var_07 = 1024; + var_08 = 65536; + var_09 = self.moneyearnedtotal; + if(var_09 > var_06) + { + var_09 = var_06; + } + + var_0A = int(var_09 / var_08); + var_0B = var_09 % var_08; + self.deaths = var_0A; + maps\mp\_utility::setpersstat("deaths",var_0A); + self.extrascore0 = var_0B; + maps\mp\_utility::setpersstat("extrascore0",var_0B); +} + +//Function Number: 30 +resetmoney(param_00) +{ + self.moneycurrent = param_00; + self.moneyearnedtotal = param_00; + updatepersistentmoney(); +} + +//Function Number: 31 +givemoney(param_00) +{ + if(!isdefined(param_00)) + { + return; + } + + var_01 = param_00; + if(var_01 > 9999) + { + var_01 = 9999; + } + + self.pointnotifylua[self.pointnotifylua.size] = var_01; + if(level.gameended) + { + return; + } + + self.moneycurrent = self.moneycurrent + param_00; + self.moneyearnedtotal = self.moneyearnedtotal + param_00; + if(isdefined(self.roundmoneyearned)) + { + self.roundmoneyearned = self.roundmoneyearned + param_00; + } + + givemoneybagsachievement(); + updatepersistentmoney(); +} + +//Function Number: 32 +givemoneybagsachievement() +{ + if(self.moneycurrent < 15000 || isdefined(self.moneybags)) + { + return; + } + + givezombieachievement("DLC1_ZOMBIE_MONEYBAGS"); + self.moneybags = 1; +} + +//Function Number: 33 +spendmoney(param_00) +{ + var_01 = 0 - param_00; + if(var_01 < -9999) + { + var_01 = -9999; + } + + self.pointnotifylua[self.pointnotifylua.size] = var_01; + self.moneycurrent = self.moneycurrent - param_00; + if(isdefined(self.roundmoneyspent)) + { + self.roundmoneyspent = self.roundmoneyspent + param_00; + } + + updatepersistentmoney(); +} + +//Function Number: 34 +getcurrentmoney(param_00) +{ + return param_00.moneycurrent; +} + +//Function Number: 35 +inittokens() +{ + var_00 = self getcommonplayerdatareservedint("tokensAvailable"); + settokens(var_00); +} + +//Function Number: 36 +gettokenusetime() +{ + return 1000; +} + +//Function Number: 37 +hastoken(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 1; + } + + return self.tokens >= param_00; +} + +//Function Number: 38 +givetoken(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 1; + } + + settokens(self.tokens + param_00); +} + +//Function Number: 39 +spendtoken(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 1; + } + + settokens(self.tokens - param_00); +} + +//Function Number: 40 +settokens(param_00) +{ + if(level.tokensenabled) + { + if(param_00 < 0) + { + param_00 = 0; + } + + self.tokens = param_00; + self setcommonplayerdatareservedint("tokensAvailable",self.tokens); + self setclientomnvar("ui_zm_token_count",self.tokens); + return; + } + + self.tokens = -1; + self setclientomnvar("ui_zm_token_count",-1); +} + +//Function Number: 41 +createzombieweaponstate(param_00,param_01) +{ + var_02 = getweaponbasename(param_01); + if(maps\mp\zombies\_util::haszombieweaponstate(param_00,var_02)) + { + return; + } + + param_00.weaponstate[var_02]["level"] = 1; +} + +//Function Number: 42 +weaponleveldisplay(param_00) +{ + level endon("game_ended"); + param_00 endon("disconnect"); + for(;;) + { + param_00 common_scripts\utility::waittill_any("weaponLevelEarned","weapon_change"); + var_01 = maps\mp\zombies\_util::getplayerweaponzombies(param_00); + var_02 = getweaponbasename(var_01); + if(!maps\mp\zombies\_util::haszombieweaponstate(param_00,var_02)) + { + continue; + } + + var_03 = param_00.weaponstate[var_02]["level"]; + if(100 < var_03) + { + var_03 = 100; + } + + param_00 setclientomnvar("ui_horde_count",var_03); + } +} + +//Function Number: 43 +playerinitroundmatchdata(param_00) +{ + level endon("game_ended"); + param_00 endon("disconnect"); + param_00 waittill("spawned"); + var_01 = 0; + if(isdefined(level.wavecounter)) + { + var_01 = level.wavecounter - 1; + } + + param_00 maps\mp\zombies\_util::recordplayermatchdataforroundstart(var_01); +} + +//Function Number: 44 +monitordisconnect(param_00) +{ + level endon("game_ended"); + param_00 waittill("disconnect"); + level notify("player_disconnected"); +} + +//Function Number: 45 +zombiegameclass() +{ + self.pers["class"] = "gamemode"; + self.pers["lastClass"] = ""; + self.pers["gamemodeLoadout"] = level.modeloadouts[level.playerteam]; + self.class = self.pers["class"]; + self.lastclass = self.pers["lastClass"]; +} + +//Function Number: 46 +onplayerspawn() +{ + if(isagent(self)) + { + self thread [[ maps\mp\agents\_agent_utility::agentfunc("spawn") ]](); + return; + } + + maps\mp\zombies\_util::zombieallowallboost(0,"class"); + maps\mp\zombies\_terminals::onplayerspawn(); + thread onspawnfinished(); +} + +//Function Number: 47 +onspawnfinished(param_00) +{ + self endon("death"); + self endon("disconnect"); + level endon("game_ended"); + self waittill("applyLoadout"); + maps\mp\killstreaks\_killstreaks::clearkillstreaks(); + if(maps\mp\zombies\_util::isonhumanteam(self)) + { + var_01 = "iw5_titan45zm_mp"; + if(isplayer(self)) + { + if(isdefined(self.characterindex)) + { + var_02 = "ui_zm_character_" + self.characterindex + "_alive"; + setomnvar(var_02,1); + } + + self setlethalweapon("frag_grenade_throw_zombies_mp"); + self giveweapon("frag_grenade_throw_zombies_mp"); + self setweaponammoclip("frag_grenade_throw_zombies_mp",4); + maps\mp\_utility::giveperk("specialty_pistoldeath",0); + maps\mp\_utility::giveperk("specialty_wildcard_duallethals",0); + maps\mp\_utility::giveperk("specialty_coldblooded",0); + if(level.wavecounter <= 1 && !isdefined(self.joinedround1)) + { + self.joinedround1 = 1; + } + + self.hideondeath = undefined; + if(isdefined(self.body)) + { + self.body delete(); + } + + if((!isdefined(self.playedspawnweaponflourish) || !self.playedspawnweaponflourish) && !isdefined(level.zombieinitialcountdownover) || !level.zombieinitialcountdownover) + { + playintroweaponflourish(); + self.playedspawnweaponflourish = 1; + } + else + { + var_01 = maps\mp\zombies\_wall_buys::getupgradeweaponname(self,"iw5_titan45zm_mp"); + self giveweapon(var_01); + self setspawnweapon(var_01); + } + } + + self givemaxammo(var_01); + } +} + +//Function Number: 48 +waittoloadweapons(param_00) +{ + self endon("disconnect"); + for(;;) + { + if(self hasloadedcustomizationplayerview(self,param_00)) + { + break; + } + + wait 0.05; + } +} + +//Function Number: 49 +freezecontrolsduringcharacterintroflourish() +{ + self endon("disconnect"); + self freezecontrols(1); + maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(4); + self freezecontrols(0); +} + +//Function Number: 50 +getcharacterintroweaponname() +{ + switch(self.characterindex) + { + case 0: + return "char_intro_guardzm_mp"; + + case 1: + return "char_intro_execzm_mp"; + + case 2: + return "char_intro_itzm_mp"; + + case 3: + default: + if(maps\mp\zombies\_util::getzombieslevelnum() >= 3) + { + return "char_intro_pilotzm_mp"; + } + return "char_intro_janitorzm_mp"; + } +} + +//Function Number: 51 +getcharacterintroidleweapon() +{ + switch(self.characterindex) + { + case 3: + return "char_intro_pilotidlezm_mp"; + + default: + return ""; + } +} + +//Function Number: 52 +getexosuitequipweaponname() +{ + switch(self.characterindex) + { + case 0: + return "exo_suit_equip_guardzm_mp"; + + case 1: + return "exo_suit_equip_execzm_mp"; + + case 2: + return "exo_suit_equip_itzm_mp"; + + case 3: + default: + if(maps\mp\zombies\_util::getzombieslevelnum() >= 3) + { + return "exo_suit_equip_pilotzm_mp"; + } + return "exo_suit_equip_janitorzm_mp"; + } +} + +//Function Number: 53 +getexosuitequipweaponduration() +{ + return 2.7; +} + +//Function Number: 54 +getexosuitperkweaponname(param_00) +{ + switch(param_00) + { + case "health": + return "exo_suit_perk_healthzm_mp"; + + case "slam": + return "exo_suit_perk_slamzm_mp"; + + case "fastreload": + return "exo_suit_perk_speedzm_mp"; + + case "stabilizer": + return "exo_suit_perk_stabilizerzm_mp"; + + case "stim": + default: + return "exo_suit_perk_stimzm_mp"; + } +} + +//Function Number: 55 +getexosuitperkweaponduration() +{ + return 1.5; +} + +//Function Number: 56 +playpilotintroweaponflourish() +{ + self endon("disconnect"); + var_00 = "char_intro_pilotidlezm_mp"; + var_01 = "char_intro_pilotzm_mp"; + var_02[0] = "iw5_titan45zm_mp"; + var_02[1] = var_01; + var_02[2] = var_00; + self hasloadedcustomizationplayerview(self,var_02); + self giveweapon(var_00); + self switchtoweaponimmediate(var_00); + self disableweaponswitch(); + maps\mp\zombies\_util::playerallowfire(0,"flourish"); + maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(0.2); + thread freezecontrolsduringcharacterintroflourish(); + wait(1); + self giveweapon(var_01); + self switchtoweaponimmediate(var_01); + common_scripts\utility::_disableweaponswitch(); + maps\mp\zombies\_util::playerallowfire(0,"flourish"); + maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(3.6); + waittoloadweapons(var_02); + common_scripts\utility::_enableweaponswitch(); + maps\mp\zombies\_util::playerallowfire(1,"flourish"); + self takeweapon(var_00); + self takeweapon(var_01); + self giveweapon("iw5_titan45zm_mp"); + self switchtoweaponimmediate("iw5_titan45zm_mp"); +} + +//Function Number: 57 +playintroweaponflourish() +{ + if(maps\mp\zombies\_util::getzombieslevelnum() >= 3 && self.characterindex == 3) + { + playpilotintroweaponflourish(); + return; + } + + self endon("disconnect"); + var_00 = getcharacterintroweaponname(); + var_01[0] = "iw5_titan45zm_mp"; + var_01[1] = var_00; + waittoloadweapons(var_01); + thread freezecontrolsduringcharacterintroflourish(); + maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(1); + self giveweapon(var_00); + self switchtoweaponimmediate(var_00); + common_scripts\utility::_disableweaponswitch(); + maps\mp\zombies\_util::playerallowfire(0,"flourish"); + maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(3.6); + common_scripts\utility::_enableweaponswitch(); + maps\mp\zombies\_util::playerallowfire(1,"flourish"); + self takeweapon(var_00); + self giveweapon("iw5_titan45zm_mp"); + self switchtoweaponimmediate("iw5_titan45zm_mp"); +} + +//Function Number: 58 +playweaponflourish(param_00,param_01) +{ + self endon("disconnect"); + if(maps\mp\zombies\_util::isplayerinlaststand(self)) + { + return; + } + + var_02 = self getcurrentweapon(1); + if(maps\mp\zombies\_util::iszombiekillstreakweapon(var_02) || maps\mp\zombies\_util::isrippedturretweapon(var_02)) + { + return; + } + + self.playingweaponflourish = 1; + self giveweapon(param_00); + self switchtoweaponimmediate(param_00); + common_scripts\utility::_disableweaponswitch(); + maps\mp\zombies\_util::playerallowfire(0,"flourish"); + maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(param_01); + maps\mp\zombies\_util::playerallowfire(1,"flourish"); + self takeweapon(param_00); + common_scripts\utility::_enableweaponswitch(); + if(!maps\mp\zombies\_util::isplayerinlaststand(self)) + { + self switchtoweaponimmediate(var_02); + } + + self.playingweaponflourish = 0; +} + +//Function Number: 59 +closeclassmenu() +{ + self endon("death"); + self endon("disconnect"); + level endon("game_ended"); + wait(0.05); + if(!isagent(self)) + { + thread maps\mp\gametypes\_playerlogic::setuioptionsmenu(-1); + } +} + +//Function Number: 60 +waituntilmatchstart() +{ + maps\mp\_utility::gameflagwait("prematch_done"); + setomnvar("ui_match_countdown_title",0); + while(!isdefined(level.bot_loadouts_initialized) || level.bot_loadouts_initialized == 0) + { + wait(0.05); + } + + while(!level.players.size) + { + wait(0.05); + } +} + +//Function Number: 61 +watchforhostmigrationsetround() +{ + level endon("game_ended"); + for(;;) + { + level waittill("host_migration_end"); + var_00 = int(max(level.wavecounter,1)); + setomnvar("ui_horde_round_number",var_00); + foreach(var_02 in level.players) + { + if(isai(var_02)) + { + continue; + } + + if(!isdefined(var_02)) + { + continue; + } + + if(!isdefined(var_02.horde_perks)) + { + continue; + } + + if(!var_02.horde_perks.size) + { + continue; + } + + var_03 = var_02.horde_perks.size; + for(var_04 = 0;var_04 < var_03;var_04++) + { + if(!isdefined(var_02)) + { + continue; + } + + if(!isagent(var_02)) + { + var_02 setclientomnvar("ui_horde_update_perk",var_02.horde_perks[var_04]["index"]); + } + + wait(0.05); + } + } + } +} + +//Function Number: 62 +getspawnpoint() +{ + var_00 = self.team; + if(maps\mp\zombies\_util::isonhumanteam(self)) + { + var_01 = maps\mp\gametypes\_spawnlogic::getteamspawnpoints(var_00); + if(level.ingraceperiod) + { + var_02 = level.startspawnpoints; + if(isdefined(level.filterstartspawnfunc)) + { + var_02 = self [[ level.filterstartspawnfunc ]](var_02); + } + + var_03 = maps\mp\gametypes\_spawnlogic::getspawnpoint_random(var_02); + } + else if(isdefined(self.lastdeathpos)) + { + if(isdefined(level.filterrespawnfunc)) + { + var_03 = self [[ level.filterrespawnfunc ]](var_03); + } + + var_03 = maps\mp\zombies\_zombies_spawnscoring::getzombiesspawnpoint_neartombstone(var_03); + } + else + { + if(isdefined(level.filterrespawnfunc)) + { + var_03 = self [[ level.filterrespawnfunc ]](var_03); + } + + var_03 = maps\mp\zombies\_zombies_spawnscoring::getzombiesspawnpoint_nearteam(var_03); + } + + return var_03; + } + + var_01 = maps\mp\gametypes\_spawnlogic::getteamspawnpoints(var_03); + var_03 = maps\mp\gametypes\_spawnscoring::getspawnpoint_safeguard(var_03); + return var_03; +} + +//Function Number: 63 +onnormaldeath(param_00,param_01,param_02) +{ +} + +//Function Number: 64 +onsuicidedeath(param_00) +{ + var_01 = "ui_zm_character_" + param_00.characterindex + "_alive"; + setomnvar(var_01,0); +} + +//Function Number: 65 +ongrenadesuicide(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + if(level.players.size > 1) + { + param_00 laststanddie(); + } + + [[ level.callbackplayerlaststand ]](param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,0); +} + +//Function Number: 66 +disablespawningforplayerfunc(param_00) +{ + return !self.hasspawned && level.wavecounter > 1 && isdefined(level.zombie_wave_running) && level.zombie_wave_running; +} + +//Function Number: 67 +callback_playerdamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ + if((param_04 == "MOD_MELEE" || param_04 == "MOD_IMPACT") && self issprinting()) + { + thread meleesprintdeactivate(); + } + + maps\mp\gametypes\_damage::callback_playerdamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09); +} + +//Function Number: 68 +meleesprintdeactivate() +{ + self endon("death"); + level endon("game_ended"); + self allowsprint(0); + wait 0.05; + if(isalive(self)) + { + self allowsprint(1); + } +} + +//Function Number: 69 +playerinvinciblefromcrateorpowerup(param_00,param_01,param_02) +{ + if(maps\mp\zombies\_util::iscrategodmode(param_00)) + { + if(isdefined(param_02) && param_02 == "MOD_TRIGGER_HURT") + { + return 0; + } + + if(isdefined(param_01)) + { + if(maps\mp\zombies\_util::is_true(param_01.iszomboni)) + { + return 0; + } + + if(isai(param_01) && !isscriptedagent(param_01)) + { + return 0; + } + } + + return 1; + } + + return 0; +} + +//Function Number: 70 +isfriendlyfireroundkill(param_00,param_01,param_02,param_03,param_04,param_05) +{ + return maps\mp\zombies\_util::isfriendlyfireround() && isdefined(param_00) && isdefined(param_02) && isdefined(param_00.characterindex) && isdefined(param_02.characterindex) && param_00 != param_02; +} + +//Function Number: 71 +calculatefriendlyfirerounddamage(param_00,param_01,param_02,param_03,param_04,param_05) +{ + if(!isdefined(param_05)) + { + return 0; + } + + if(param_05 == "repulsor_zombie_mp") + { + return 0; + } + + var_06 = maps\mp\_utility::getbaseweaponname(param_05); + if(isdefined(param_04) && isexplosivedamagemod(param_04)) + { + return 25; + } + + if(isdefined(param_04) && maps\mp\_utility::ismeleemod(param_04)) + { + return 34; + } + + var_07 = 3; + var_08 = 0; + if(var_06 == "iw5_em1zm_mp") + { + var_07 = 2; + } + else if(var_06 == "iw5_gm6zm_mp") + { + var_07 = 34; + } + + if(isdefined(param_02.weaponstate) && isdefined(param_02.weaponstate[param_05]) && isdefined(param_02.weaponstate[param_05]["level"])) + { + var_08 = param_02.weaponstate[param_05]["level"]; + } + + return var_07 + var_08; +} + +//Function Number: 72 +modifyplayerdamagezombies(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + var_09 = param_03; + if(!isdefined(param_00)) + { + return 0; + } + + if(!isdefined(param_05)) + { + return 0; + } + + if(isfriendlyfireroundkill(param_00,param_01,param_02,param_03,param_04,param_05)) + { + return calculatefriendlyfirerounddamage(param_00,param_01,param_02,param_03,param_04,param_05); + } + + var_0A = 1; + if(isdefined(param_02) && param_02.classname == "trigger_hurt" && var_09 == 999999) + { + var_0A = 0; + } + + if(var_0A) + { + if(isdefined(param_00.godmode) && param_00.godmode) + { + return 0; + } + + if(isdefined(param_00.onlydamagedbylargeenemies) && param_00.onlydamagedbylargeenemies) + { + if(isdefined(param_02) && !isdefined(param_02.meleesectortype) && param_02.meleesectortype == "large") + { + return 0; + } + } + } + + if(isdefined(param_02) && isdefined(param_02.owner)) + { + param_02 = param_02.owner; + } + + var_0B = maps\mp\_utility::attackerishittingteam(param_00,param_02); + var_0C = getweaponbasename(param_05); + if(!isdefined(var_0C)) + { + var_0C = "none"; + } + + if(isdefined(level.damageweapontoweapon[var_0C])) + { + var_0C = level.damageweapontoweapon[var_0C]; + } + + if(isdefined(level.defusedamagemultiplier) && maps\mp\zombies\_util::is_true(param_00.isdefusing) && isai(param_02) && !isscriptedagent(param_02)) + { + var_09 = int(var_09 * level.defusedamagemultiplier); + } + + if(isplayer(param_00)) + { + if(isai(param_02) && param_02 maps\mp\zombies\_util::zombiewaitingfordeath()) + { + return 0; + } + + if(var_0B) + { + return 0; + } + + if(maps\mp\zombies\_util::isplayerinlaststand(param_00)) + { + return 0; + } + + if(maps\mp\zombies\_util::is_true(param_00.enteringgoliath)) + { + return 0; + } + + if(playerinvinciblefromcrateorpowerup(param_00,param_01,param_04)) + { + return 0; + } + + if(isdefined(param_00.lastrevivetime)) + { + var_0D = 1000; + if(gettime() - param_00.lastrevivetime < var_0D) + { + return 0; + } + } + + if(isdefined(param_05) && maps\mp\_utility::iskillstreakweapon(param_05) || maps\mp\zombies\_util::iszombieequipment(param_05) || maps\mp\zombies\_traps::isexplosivetrap(param_05) || param_05 == "exploder_zm_small_mp") + { + return 0; + } + + if(var_0C == "iw5_exocrossbowzm_mp" || var_0C == "iw5_mahemzm_mp") + { + var_09 = 20; + } + + if(isdefined(param_02) && isai(param_02)) + { + var_0D = 500; + if(isscriptedagent(param_02) && isdefined(param_00.lastzombiedamagetime) && gettime() - param_00.lastzombiedamagetime < var_0D) + { + return 0; + } + + var_0E = level.agentclasses[param_02.agent_type].melee_damage_scale; + var_0F = level.agentclasses[param_02.agent_type].damage_scale; + if(isdefined(var_0E) && param_04 == "MOD_MELEE") + { + var_09 = int(max(var_09 * var_0E,1)); + } + else if(isdefined(var_0F)) + { + var_09 = int(max(var_09 * var_0F,1)); + } + } + + if(maps\mp\zombies\_util::isplayerinfected(param_00)) + { + return int(min(var_09,param_00.health - 1)); + } + + if(isdefined(param_02) && isai(param_02)) + { + if(isdefined(level.ondamageplayerfunc) && isdefined(level.ondamageplayerfunc[param_02.agent_type])) + { + param_02 [[ level.ondamageplayerfunc[param_02.agent_type] ]](param_00); + } + } + + if(param_05 == "exploder_zm_large_mp") + { + param_00 addzmexploderbloodfx(); + } + } + + if(isai(param_00) && !isplayer(param_00) && !isdefined(param_02)) + { + if(param_04 == "MOD_FALLING") + { + return 0; + } + + if(param_05 == "exploder_zm_small_mp" || param_05 == "exploder_zm_large_mp") + { + var_09 = int(level.wavecounter * 100 + 50); + } + + if(maps\mp\zombies\_util::isinstakill() && !param_00 maps\mp\zombies\_util::instakillimmune()) + { + var_09 = param_00.maxhealth + 10; + } + } + + if(isai(param_00) && !isplayer(param_00) && isai(param_02)) + { + if(!isscriptedagent(param_02) && isalliedsentient(param_00,param_02)) + { + return 0; + } + + if(isdefined(param_00.agent_type) && param_00.agent_type == "sq_character" && param_00.godmode) + { + return 0; + } + + if(isdefined(param_00.agent_type) && param_00.agent_type == "zm_squadmate") + { + var_0F = level.agentclasses[param_02.agent_type].damagescalevssquadmates; + if(isdefined(var_0F)) + { + var_09 = int(var_09 * var_0F); + } + } + + if(maps\mp\zombies\_util::is_true(param_00.nodamageself) && param_00 == param_02) + { + return 0; + } + } + + if(isai(param_00) && !isplayer(param_00) && isdefined(param_01) && param_01.classname == "misc_turret") + { + if(isdefined(param_01.team) && param_01.team == param_00.team) + { + return 0; + } + } + + if(isdefined(param_02) && isplayer(param_02) && isai(param_00) && !isplayer(param_00)) + { + if(isdefined(level.modifyweapondamage[var_0C])) + { + var_09 = [[ level.modifyweapondamage[var_0C] ]](param_00,param_02,var_09,param_04,param_05,param_06,param_07,param_08); + } + + if(isdefined(level.modifyweapondamagebyagenttype) && isdefined(param_00.agent_type)) + { + if(isdefined(level.modifyweapondamagebyagenttype[param_00.agent_type]) && isdefined(level.modifyweapondamagebyagenttype[param_00.agent_type][var_0C])) + { + var_09 = [[ level.modifyweapondamagebyagenttype[param_00.agent_type][var_0C] ]](param_00,param_02,var_09,param_04,param_05,param_06,param_07,param_08); + } + } + + var_09 = param_00 maps\mp\zombies\killstreaks\_zombie_killstreaks::modifydamagekillstreak(param_01,param_02,var_09,param_05,param_04); + if(maps\mp\zombies\_util::haszombieweaponstate(param_02,var_0C)) + { + var_10 = 0.2; + if(isdefined(param_02.weaponstate[var_0C]["weapon_level_increase"])) + { + var_10 = param_02.weaponstate[var_0C]["weapon_level_increase"]; + } + + var_09 = int(var_09 + var_09 * var_10 * param_02.weaponstate[var_0C]["level"] - 1); + } + + var_09 = param_00 modifyplayerequipmentdamage(param_05,var_09,param_04,param_06); + if(isdefined(param_04) && param_04 == "MOD_MELEE") + { + if(param_02 ishighjumpallowed()) + { + var_09 = level.playerexomeleedamage; + } + else + { + var_09 = level.playermeleedamage; + } + } + + if(isdefined(level.modifydamagebyagenttype) && isdefined(level.modifydamagebyagenttype[param_00.agent_type])) + { + var_09 = [[ level.modifydamagebyagenttype[param_00.agent_type] ]](param_00,param_02,var_09,param_04,param_05,param_06,param_07,param_08); + } + + var_09 = param_00 mutatormodifydamage(param_01,param_02,param_05,var_09,param_08,param_04); + var_09 = param_00 trapmodifydamage(param_05,var_09,param_08,param_04); + if(maps\mp\zombies\_util::is_true(param_00.inairforleap)) + { + var_09 = var_09 * 2; + } + + if(isdefined(level.zombie_rewards)) + { + if(isdefined(level.laststandupgrade) && level.laststandupgrade == 1 && maps\mp\zombies\_util::isplayerinlaststand(param_02)) + { + var_09 = var_09 * 4; + } + } + + if(maps\mp\zombies\_util::isinstakill() && !param_00 maps\mp\zombies\_util::instakillimmune()) + { + var_09 = param_00.maxhealth + 10; + } + + if(param_00 maps\mp\zombies\_util::zombiewaitingfordeath()) + { + return 0; + } + + if(param_00 maps\mp\zombies\_util::zombieshouldwaitfordeath(param_00,param_02,var_09,param_04,param_05,param_06,param_07,param_08)) + { + param_00 thread maps\mp\zombies\_util::zombiedelaydeath(param_00,param_02,var_09,param_04,param_05,param_06,param_07,param_08); + return 0; + } + + if(!maps\mp\zombies\_util::ispendingdeath(param_00)) + { + param_02 givepointsfordamage(param_00,var_09,param_04,param_05,param_06,param_07,param_08,0); + } + + if(isdefined(level.processenemydamagedfunc)) + { + self thread [[ level.processenemydamagedfunc ]](param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08); + } + } + + if(isplayer(param_00)) + { + param_00 maps\mp\zombies\_zombies_audio::player_hurt(param_02,var_09,param_04); + if(isdefined(param_02) && isai(param_02) && isscriptedagent(param_02)) + { + param_00.lastzombiedamagetime = gettime(); + } + } + else if(isai(param_00) && isscriptedagent(param_00)) + { + param_00 maps\mp\zombies\_zombies_audio::zombie_hurt(param_02,var_09); + } + + return var_09; +} + +//Function Number: 73 +modifyplayerequipmentdamage(param_00,param_01,param_02,param_03) +{ + if(param_02 == "MOD_IMPACT") + { + return param_01; + } + + if(maps\mp\zombies\_util::iszombiednagrenade(param_00)) + { + return level.wavecounter * param_01; + } + + if(isdefined(param_00) && param_00 == "repulsor_zombie_mp") + { + if(maps\mp\zombies\_util::instakillimmune()) + { + return 0; + } + + if(isdefined(self.agent_type) && issubstr(self.agent_type,"ranged_elite_soldier_goliath")) + { + return 0; + } + + var_04 = 0; + foreach(var_06 in level.agentclasses) + { + var_07 = calculatezombiehealth(var_06); + if(var_07 > var_04) + { + var_04 = var_07; + } + } + + return var_04 + 1; + } + + if(isdefined(var_05) && var_05 == "teleport_zombies_mp") + { + if(var_07 == "MOD_CRUSH") + { + return var_06; + } + } + + if(maps\mp\zombies\_util::iszombieequipment(var_05) || maps\mp\zombies\_traps::isexplosivetrap(var_05)) + { + var_06 = level.wavecounter * randomintrange(100,200); + if(isdefined(level.modifyplayerequipmentdamagefunc)) + { + var_06 = [[ level.modifyplayerequipmentdamagefunc ]](var_05,var_06,var_08); + } + + if(isdefined(self.agent_type) && isdefined(level.modifyequipmentdamagebyagenttype) && isdefined(level.modifyequipmentdamagebyagenttype[self.agent_type])) + { + var_06 = [[ level.modifyequipmentdamagebyagenttype[self.agent_type] ]](var_05,var_06,var_08); + } + } + + return var_06; +} + +//Function Number: 74 +mutatormodifydamage(param_00,param_01,param_02,param_03,param_04,param_05) +{ + var_06 = isdefined(level.zmdamageignoresarmor) && [[ level.zmdamageignoresarmor ]](param_00,param_01,param_02,param_03,param_04,param_05); + if(!var_06) + { + if(isdefined(self.hashelmet) && maps\mp\_utility::isheadshot(param_02,param_04,param_05)) + { + param_03 = int(param_03 * 0.5); + } + + if(isdefined(self.hasarmor) && !maps\mp\_utility::isheadshot(param_02,param_04,param_05)) + { + param_03 = int(param_03 * 0.5); + } + } + + return param_03; +} + +//Function Number: 75 +zmdamageignoresarmor(param_00,param_01,param_02,param_03,param_04,param_05) +{ + if(isdefined(param_02)) + { + if(param_02 == "repulsor_zombie_mp") + { + return 1; + } + + if(param_02 == "explosive_touch_zombies_mp") + { + return 1; + } + + if(param_02 == "teleport_zombies_mp" & param_05 == "MOD_CRUSH") + { + return 1; + } + } + + if(isdefined(param_00)) + { + if(maps\mp\zombies\_util::is_true(param_00.iszomboni)) + { + return 1; + } + + if(maps\mp\zombies\_util::is_true(param_00.is_door)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 76 +trapmodifydamage(param_00,param_01,param_02,param_03) +{ + if(isdefined(param_00) && param_00 == "trap_sniper_zm_mp") + { + if(common_scripts\utility::cointoss()) + { + param_01 = self.health + 10; + if(isdefined(self.maxhealth)) + { + param_01 = self.maxhealth + 10; + } + } + else + { + param_01 = int(self.health * 0.5); + if(isdefined(self.maxhealth)) + { + param_01 = int(self.maxhealth * 0.5); + } + } + + if(maps\mp\zombies\_util::istrapresistant()) + { + param_01 = int(param_01 * 0.05); + } + } + + if(isdefined(param_00) && param_00 == "zombie_trap_turret_mp") + { + if(maps\mp\zombies\_util::istrapresistant()) + { + param_01 = int(param_01 * 0.05); + } + } + + return param_01; +} + +//Function Number: 77 +givepointsfordamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + var_08 = maps\mp\_utility::isheadshot(param_03,param_06,param_02,self); + var_09 = maps\mp\_utility::ismeleemod(param_02) || param_02 == "MOD_IMPACT"; + var_0A = param_01 >= param_00.health; + var_0B = maps\mp\_utility::iskillstreakweapon(param_03); + var_0C = maps\mp\zombies\_util::istrapweapon(param_03); + if(var_09 && param_06 == "shield") + { + return; + } + + var_0D = undefined; + if(var_0A) + { + var_0D = "kill_limb"; + if(var_08) + { + var_0D = "kill_head"; + self.headshotkills++; + } + + if(var_09 && !var_0C) + { + var_0D = "kill_melee"; + self.meleekills++; + } + else + { + if(isbodyshot(param_03,param_06,param_02,self)) + { + var_0D = "kill_body"; + } + + if(var_0B) + { + var_0D = "kill_streak"; + } + + if(var_0C) + { + var_0D = "kill_trap"; + } + + if(isdefined(level.givepointsforkillshotfunc)) + { + var_0D = [[ level.givepointsforkillshotfunc ]](var_0D,param_03); + } + } + } + else + { + if(var_0B) + { + return; + } + + if(var_0C) + { + return; + } + + var_0D = "damage_body"; + if(var_08 && isdefined(param_03) && !maps\mp\_utility::iskillstreakweapon(param_03)) + { + var_0D = "damage_head"; + } + + if(!playercanawardpointsfordamage(param_03,param_00)) + { + return; + } + } + + givepointsforevent(var_0D); +} + +//Function Number: 78 +playercanawardpointsfordamage(param_00,param_01) +{ + if(issubstr(param_00,"iw5_em1zm_mp") || param_00 == "turretheadenergy_mp") + { + if(isdefined(self.nextem1pointstime) && gettime() < self.nextem1pointstime) + { + return 0; + } + + self.nextem1pointstime = gettime() + 200; + } + else if(isdefined(param_01) && maps\mp\zombies\_util::iszombiednagrenade(param_00)) + { + if(isdefined(param_01.nextdnaaoepointstime) && gettime() < param_01.nextdnaaoepointstime) + { + return 0; + } + + param_01.nextdnaaoepointstime = gettime() + 1000; + } + + if(isdefined(level.playercanawardpointsfordamagefunc) && ![[ level.playercanawardpointsfordamagefunc ]](param_00,param_01)) + { + return 0; + } + + if(maps\mp\zombies\_util::iszombieshardmode()) + { + return 0; + } + + return 1; +} + +//Function Number: 79 +isbodyshot(param_00,param_01,param_02,param_03) +{ + if(isdefined(param_03)) + { + if(isdefined(param_03.owner)) + { + if(param_03.code_classname == "script_vehicle") + { + return 0; + } + + if(param_03.code_classname == "misc_turret") + { + return 0; + } + + if(param_03.code_classname == "script_model") + { + return 0; + } + } + + if(isdefined(param_03.agent_type)) + { + if(param_03.agent_type == "dog" || param_03.agent_type == "alien") + { + return 0; + } + } + } + + var_04 = param_01 == "torso_upper" || param_01 == "right_arm_upper" || param_01 == "left_arm_upper" || param_01 == "gun" || param_01 == "torso_lower"; + return var_04 && !maps\mp\_utility::ismeleemod(param_02) && param_02 != "MOD_IMPACT" && !maps\mp\_utility::isenvironmentweapon(param_00); +} + +//Function Number: 80 +givepointsforevent(param_00,param_01,param_02) +{ + if(isdefined(level.disablescoring) && level.disablescoring) + { + return; + } + + var_03 = level.pointevents[param_00]; + if(isdefined(param_01)) + { + var_03 = param_01; + } + + if(!var_03) + { + return; + } + + if(maps\mp\_utility::gameflag("double_points")) + { + var_03 = int(var_03 * 2); + } + + if(isdefined(param_02) && param_02) + { + var_04 = common_scripts\utility::tostring(var_03); + var_04 = strinsertnumericdelimiters(var_04); + self iprintlnbold(&"ZOMBIES_PLUS_CREDITS",var_04); + } + + givemoney(var_03); +} + +//Function Number: 81 +canbuy(param_00,param_01) +{ + if(param_00 > getcurrentmoney(self)) + { + if(!isdefined(param_01) || !param_01) + { + displayneedmoremoneymessage(self); + } + + self playlocalsound("interact_purchase_fail"); + return 0; + } + + if(isdefined(self.playingweaponflourish) && self.playingweaponflourish) + { + self playlocalsound("interact_purchase_fail"); + return 0; + } + + return 1; +} + +//Function Number: 82 +attempttobuy(param_00,param_01) +{ + if(!canbuy(param_00,param_01)) + { + return 0; + } + + spendmoney(param_00); + return 1; +} + +//Function Number: 83 +displayneedmoremoneymessage(param_00) +{ + param_00 playsoundtoplayer("ui_button_error",param_00); + param_00 iprintlnbold(&"ZOMBIES_NEED_MORE_MONEY"); +} + +//Function Number: 84 +monitorpointnotifylua(param_00) +{ + level endon("game_ended"); + param_00 endon("disconnect"); + for(;;) + { + if(param_00.pointnotifylua.size > 0) + { + if(!isagent(param_00)) + { + param_00 setclientomnvar("ui_zm_award_points",param_00.pointnotifylua[param_00.pointnotifylua.size - 1]); + } + + param_00.pointnotifylua = removelastelement(param_00.pointnotifylua); + } + + wait(0.05); + } +} + +//Function Number: 85 +removelastelement(param_00) +{ + var_01 = []; + for(var_02 = 0;var_02 < param_00.size - 1;var_02++) + { + var_01[var_02] = param_00[var_02]; + } + + return var_01; +} + +//Function Number: 86 +maydropweaponzombies(param_00) +{ + if(isai(self)) + { + return 0; + } + + if(!isdefined(param_00) || param_00 == "none") + { + return 0; + } + + var_01 = getweaponbasename(param_00); + if(var_01 == "iw5_titan45zm_mp") + { + return 0; + } + + return 1; +} + +//Function Number: 87 +shouldsavetombstoneweapon() +{ + if(!maps\mp\zombies\_util::is_true(self.laststand) && !maps\mp\zombies\_util::is_true(self.infected)) + { + var_00 = self getcurrentprimaryweapon(); + return !maps\mp\_utility::iskillstreakweapon(var_00); + } + + return 0; +} + +//Function Number: 88 +dropweaponfordeathzombies(param_00,param_01,param_02) +{ + if(maps\mp\zombies\_util::iszombieshardmode()) + { + return; + } + + if(isai(self)) + { + return; + } + + var_03 = maps\mp\zombies\_util::getplayerweaponzombies(self); + if(shouldsavetombstoneweapon()) + { + maps\mp\zombies\_zombies_laststand::savelaststandweapons(var_03,0); + } + + if(isdefined(self.tombstoneweapon)) + { + var_03 = self.tombstoneweapon; + } + + if(!maydropweaponzombies(var_03)) + { + return; + } + + var_04 = self.origin; + if(isdefined(param_02)) + { + var_04 = param_02; + } + else if(isdefined(param_01) && param_01 == "MOD_TRIGGER_HURT" || param_01 == "MOD_SUICIDE" && isdefined(self.lastgroundposition)) + { + var_04 = self.lastgroundposition; + } + else if(isdefined(self.disabletombstonedropinarea) && self.disabletombstonedropinarea && isdefined(self.lastgroundposition)) + { + var_04 = self.lastgroundposition; + } + + var_05 = (0,0,18); + var_06 = spawn("script_model",var_04 + var_05); + var_06 setmodel("dlc_dogtags_zombie_invisible"); + var_06 scriptmodelplayanim("mp_dogtag_spin"); + var_06 hide(); + var_06.owner = self; + var_06.curorigin = var_04 + var_05; + var_06.trackingweaponname = var_03; + var_06.visuals = spawn("script_model",var_04 + var_05); + var_06.visuals setmodel("pickups_zombies_01_tombstone"); + var_06.visuals hide(); + var_06.visuals hudoutlineenable(1,0); + var_06.visuals linkto(var_06,"j_dogtag",(0,0,-12),(0,0,0)); + var_06.trigger = spawn("trigger_radius",var_04 + var_05,0,32,32); + foreach(var_08 in level.players) + { + if(var_06.owner == var_08) + { + var_06 showtoplayer(var_06.owner); + var_06.visuals showtoplayer(var_06.owner); + } + } + + maps\mp\zombies\_util::playfxontagforclientnetwork(level._effect["pickup_tombstone"],var_06,"j_dogtag",var_06.owner); + var_06 thread watchweaponownerdisconnect(); + var_06 thread watchweaponpickupzombies(); + var_06 thread removeweaponpickupzombies(param_02); +} + +//Function Number: 89 +watchweaponownerdisconnect() +{ + self endon("death"); + level endon("game_ended"); + self.owner waittill("disconnect"); + self.visuals delete(); + self.trigger delete(); + self delete(); +} + +//Function Number: 90 +watchweaponpickupzombies() +{ + self endon("death"); + for(;;) + { + self.trigger waittill("trigger",var_00); + if(var_00 == self.owner) + { + if(canpickuptombstone(var_00)) + { + break; + } + else + { + wait(0.25); + } + } + } + + maps\mp\zombies\_wall_buys::givezombieweapon(var_00,self.trackingweaponname,undefined,level.dotombstoneweaponswitch); + var_00 thread maps\mp\gametypes\_hud_message::splashnotify("zombie_tombstome"); + var_00 playlocalsound("zmb_pickup_general"); + self.visuals delete(); + self.trigger delete(); + self delete(); +} + +//Function Number: 91 +canpickuptombstone(param_00) +{ + if(maps\mp\zombies\_util::isplayerinlaststand(param_00)) + { + return 0; + } + + if(isdefined(param_00.playingweaponflourish) && param_00.playingweaponflourish) + { + return 0; + } + + return 1; +} + +//Function Number: 92 +removeweaponpickupzombies(param_00) +{ + self endon("death"); + level endon("game_ended"); + if(!isdefined(param_00)) + { + self.owner common_scripts\utility::waittill_any("started_spawnPlayer","disconnect"); + } + + wait(52); + thread startweaponpickupflashing(); + wait(8); + if(!isdefined(self)) + { + return; + } + + self.visuals delete(); + self.trigger delete(); + self delete(); +} + +//Function Number: 93 +startweaponpickupflashing() +{ + self endon("trigger"); + self endon("death"); + level endon("game_ended"); + if(isdefined(self.owner)) + { + self.owner endon("disconnect"); + } + + for(;;) + { + self hide(); + self.visuals hide(); + wait(0.25); + self showtoplayer(self.owner); + self.visuals showtoplayer(self.owner); + wait(0.25); + } +} + +//Function Number: 94 +ondeadevent(param_00) +{ + if(param_00 != level.enemyteam) + { + maps\mp\zombies\_zombies_laststand::zombieendgame(); + } +} + +//Function Number: 95 +setspecialloadouts() +{ + level.modeloadouts["allies"] = maps\mp\gametypes\_class::getemptyloadout(); + level.modeloadouts["allies"]["loadoutPrimary"] = "none"; + level.modeloadouts["allies"]["loadoutSecondary"] = "none"; +} + +//Function Number: 96 +init_spawns() +{ + level.spawnmins = (0,0,0); + level.spawnmaxs = (0,0,0); + maps\mp\gametypes\_spawnlogic::addstartspawnpoints("mp_tdm_spawn_allies_start"); + level.spawn_name = "mp_tdm_spawn"; + maps\mp\gametypes\_spawnlogic::addspawnpoints("allies",level.spawn_name); + maps\mp\gametypes\_spawnlogic::addspawnpoints("axis",level.spawn_name); + level.mapcenter = maps\mp\gametypes\_spawnlogic::findboxcenter(level.spawnmins,level.spawnmaxs); + setmapcenter(level.mapcenter); +} + +//Function Number: 97 +init_structs() +{ + while(!isdefined(level.struct_class_names)) + { + wait(0.05); + } + + level.evac_points = common_scripts\utility::getstructarray("evac_point","targetname"); +} + +//Function Number: 98 +runzombiesmode() +{ + waituntilmatchstart(); + level.gamehasstarted = 1; + level thread maps\mp\zombies\_zombies_audio::play_level_start_vox(); + level thread maps\mp\zombies\_zombies::init(); + runinitialcountdown(); + level.zombieinitialcountdownover = 1; + for(;;) + { + updatezombiesettings(); + while(maps\mp\zombies\_util::iszombiegamepaused()) + { + wait 0.05; + } + + if(isdefined(level.zombieroundstartupdate)) + { + [[ level.zombieroundstartupdate ]](); + } + + runroundstart(level.wavecounter); + level notify("zombie_wave_started"); + while(maps\mp\zombies\_util::iszombiegamepaused()) + { + wait 0.05; + } + + maps\mp\zombies\_zombies_audio_announcer::announcerrounddialog(level.roundtype); + if(isdefined(level.runwavefunc) && isdefined(level.runwavefunc[level.roundtype])) + { + level thread [[ level.runwavefunc[level.roundtype] ]](level.wavecounter); + } + else + { + level thread maps\mp\zombies\zombies_spawn_manager::runwave(level.wavecounter); + } + + level waittill("zombie_wave_ended"); + runroundend(); + } +} + +//Function Number: 99 +handlezombieshostmigration() +{ + level endon("game_ended"); + for(;;) + { + level waittill("host_migration_begin"); + if(level.wavecounter > 4 || maps\mp\zombies\_util::iszombieshardmode()) + { + setnojipscore(1); + } + + level.dismemberedbodyparts = []; + level.nextdismemberedbodypartindex = 0; + } +} + +//Function Number: 100 +horde_audio() +{ + self endon("death"); + wait(1); + level.horde_audio_ent = spawn("script_origin",(0,0,0)); + for(;;) + { + level.horde_audio_ent scalevolume(0); + level waittill("zombie_wave_started"); + wait(0.5); + if(level.roundtype == "zombie_dog") + { + level.horde_audio_ent playsound("zmb_dog_round_start"); + wait(1.5); + level.horde_audio_ent playloopsound("zmb_horde_dog"); + } + else if(level.roundtype == "zombie_host") + { + level.horde_audio_ent playsound("zmb_hst_round_start"); + wait(1.5); + level.horde_audio_ent playloopsound("zmb_horde_host"); + } + else if(level.roundtype == "normal") + { + level.horde_audio_ent playsound("zmb_gen_round_start"); + wait(1.5); + level.horde_audio_ent playloopsound("zmb_horde_general"); + } + + level.horde_audio_ent scalevolume(1,3); + level waittill("zombie_wave_ended"); + level.horde_audio_ent stoploopsound(); + } +} + +//Function Number: 101 +runinitialcountdown() +{ + wait(5); +} + +//Function Number: 102 +updatezombiesettings() +{ + level.wavecounter++; + if(maps\mp\zombies\_util::isspecialround()) + { + level.specialroundcounter++; + } + + level.roundtype = calculateroundtype(); + level.maxpickupsperround = getmaxpickupsperround(); + level.percentchancetodrop = getpercentchancetodrop(); + level.currentpickupcount = 0; + foreach(var_01 in level.agentclasses) + { + var_01.roundhealth = calculatezombiehealth(var_01); + } + + if(level.specialroundnumber <= level.wavecounter - 1) + { + level.specialroundnumber = calculatenextspecialround(); + } + + if(level.wavecounter > 4) + { + setnojipscore(1); + } + + giveroundachievement(); + level notify("zombie_round_count_update"); +} + +//Function Number: 103 +giveroundachievement() +{ + var_00 = undefined; + var_01 = maps\mp\_utility::getmapname(); + if(var_01 == "mp_zombie_h2o" && level.wavecounter == 7 && level.doorsopenedbitmask == 0) + { + giveplayerszombieachievement("DLC4_ZOMBIE_NODOORS"); + } + + switch(var_01) + { + case "mp_zombie_lab": + var_00 = "DLC1_"; + break; + + case "mp_zombie_brg": + var_00 = "DLC2_"; + break; + + case "mp_zombie_ark": + var_00 = "DLC3_"; + break; + + default: + break; + } + + switch(level.wavecounter) + { + case 10: + var_00 = var_00 + "ZOMBIE_ROUND10"; + break; + + case 25: + if(var_01 == "mp_zombie_lab") + { + var_00 = var_00 + "ZOMBIE_ROUND30"; + break; + } + else if(var_01 == "mp_zombie_brg") + { + var_00 = var_00 + "ZOMBIE_ROUND25"; + break; + } + else + { + return; + } + break; + + case 30: + if(var_01 == "mp_zombie_ark") + { + var_00 = var_00 + "ZOMBIE_ROUND30"; + } + else + { + return; + } + break; + + default: + break; + } + + giveplayerszombieachievement(var_00); +} + +//Function Number: 104 +calculatenextspecialround() +{ + if(isdefined(level.calculatenextspecialround)) + { + return [[ level.calculatenextspecialround ]](); + } + + var_00 = level.specialroundnumber + randomintrange(4,6); + return var_00; +} + +//Function Number: 105 +calculateroundtype() +{ + if(isdefined(level.calculateroundtypeoverridefunc)) + { + return [[ level.calculateroundtypeoverridefunc ]](); + } + + if(maps\mp\zombies\_util::isspecialround()) + { + if(isdefined(level.calculatespecialroundtypeoverride)) + { + return [[ level.calculatespecialroundtypeoverride ]](); + } + else + { + return calculatespecialroundtype(); + } + } + + return "normal"; +} + +//Function Number: 106 +calculatespecialroundtype() +{ + var_00 = ["zombie_dog","zombie_host"]; + var_01 = var_00[0]; + switch(level.specialroundcounter) + { + case 1: + var_01 = "zombie_dog"; + break; + + case 2: + var_01 = "zombie_host"; + break; + + default: + if(!isdefined(level.specialroundarray) || level.specialroundindex == level.specialroundarray.size) + { + level.specialroundarray = common_scripts\utility::array_randomize(var_00); + level.specialroundindex = 0; + } + + var_01 = level.specialroundarray[level.specialroundindex]; + level.specialroundindex++; + break; + } + + return var_01; +} + +//Function Number: 107 +calculatezombiehealth(param_00) +{ + var_01 = 0; + if(isdefined(param_00.healthoverridefunc)) + { + var_01 = [[ param_00.healthoverridefunc ]](); + } + else + { + var_02 = 150; + if(level.wavecounter == 1) + { + var_01 = var_02; + } + else if(level.wavecounter <= 9) + { + var_01 = var_02 + level.wavecounter - 1 * 100; + } + else + { + var_03 = 950; + var_04 = level.wavecounter - 9; + var_01 = var_03 * pow(1.1,var_04); + } + } + + var_01 = int(var_01 * param_00.health_scale); + if(maps\mp\zombies\_util::iszombieshardmode()) + { + var_01 = int(var_01 * 1.75); + } + + if(isdefined(param_00.roundhealth) && param_00.roundhealth > var_01) + { + var_01 = param_00.roundhealth; + } + + return var_01; +} + +//Function Number: 108 +runroundstart(param_00) +{ + var_01 = 0; + if(maps\mp\zombies\_util::getzombieslevelnum() == 4 && param_00 == 1 && maps\mp\zombies\_util::iszombieshardmode()) + { + var_01 = 1; + } + + if(var_01) + { + maps\mp\zombies\_zombies_music::changezombiemusic("round_start_hard_mode"); + } + else + { + maps\mp\zombies\_zombies_music::changezombiemusic("round_start"); + } + + level notify("zombie_round_countdown_started"); + var_02 = 5; + while(var_02 > 0) + { + while(maps\mp\zombies\_util::iszombiegamepaused()) + { + wait 0.05; + } + + setomnvar("ui_zm_round_countdown",var_02); + var_02--; + wait(1); + } + + setomnvar("ui_zm_round_countdown",0); + if(isdefined(level.roundstartfunc[level.roundtype])) + { + [[ level.roundstartfunc[level.roundtype] ]](); + } + + var_03 = maps\mp\gametypes\_gamelogic::getgameduration(); + setomnvar("ui_zm_round_start",var_03 * 1000); + setomnvar("ui_horde_round_number",param_00); + setomnvar("ui_zm_round_type",maps\mp\zombies\_util::getroundtype(level.roundtype)); + maps\mp\zombies\_zombies_music::changezombiemusic("round_" + level.roundtype); + level maps\mp\zombies\_util::recordmatchdataforroundstart(param_00 - 1); +} + +//Function Number: 109 +runroundend() +{ + while(maps\mp\zombies\_util::iszombiegamepaused()) + { + wait 0.05; + } + + thread maps\mp\zombies\_zombies_music::changezombiemusic("round_end"); + thread maps\mp\zombies\_zombies_music::changezombiemusic("round_intermission"); + level thread revivedownedplayers(); + if(isdefined(level.roundendfunc[level.roundtype])) + { + [[ level.roundendfunc[level.roundtype] ]](); + } + + maps\mp\zombies\weapons\_zombie_weapons::givegrenadesafterrounds(); + level maps\mp\zombies\_util::recordmatchdataforroundend(level.wavecounter - 1); + wait(10); +} + +//Function Number: 110 +revivedownedplayers() +{ + foreach(var_01 in level.players) + { + if(var_01.sessionstate == "spectator" || var_01.sessionstate == "dead") + { + var_02 = "ui_zm_character_" + var_01.characterindex + "_alive"; + setomnvar(var_02,1); + var_01 thread maps\mp\zombies\_zombies_laststand::revivefromspectatemode(); + } + else if(maps\mp\zombies\_util::isplayerinlaststand(var_01)) + { + var_01 notify("revive_trigger"); + } + + if(maps\mp\zombies\_util::isplayerinfected(var_01)) + { + var_01 notify("cured",0); + } + } +} + +//Function Number: 111 +pickupdebugprint(param_00) +{ + if(!maps\mp\zombies\_util::is_true(level.pickupdebugprint)) + { + return; + } + + var_01 = maps\mp\gametypes\_gamelogic::getgameduration(); + var_02 = var_01 - int(getomnvar("ui_zm_round_start") / 1000); +} + +//Function Number: 112 +chancetospawnpickup(param_00,param_01,param_02,param_03) +{ + if(maps\mp\zombies\_util::arepickupsdisabled()) + { + return; + } + + if(isdefined(level.candroppickupsfunc[level.roundtype]) && ![[ level.candroppickupsfunc[level.roundtype] ]](param_00)) + { + var_04 = 0; + if(!var_04) + { + return; + } + } + + if(level.currentpickupcount >= level.maxpickupsperround) + { + return; + } + + if(isdefined(level.canspawnpickupoverridefunc)) + { + if(![[ level.canspawnpickupoverridefunc ]](param_00,param_01,param_02,param_03)) + { + return 0; + } + } + + if(isdefined(param_02) && param_02 == "MOD_SUICIDE") + { + return; + } + + if(maps\mp\zombies\_util::is_true(param_01.killedbynuke)) + { + return; + } + + if(maps\mp\zombies\_util::is_true(param_01.nopickups)) + { + return; + } + + if(isdefined(param_03) && maps\mp\zombies\_util::istrapweapon(param_03)) + { + return; + } + + if(isdefined(param_00) && isagent(param_00) && !isscriptedagent(param_00)) + { + return; + } + + if(isdefined(level.nopickuppenalty) && level.nopickuppenalty == 1) + { + return; + } + + level endon("game_ended"); + var_05 = randomint(100); + var_06 = "none"; + if(var_05 > level.percentchancetodrop) + { + if(!level.dropscheduled) + { + return; + } + + var_06 = "score"; + } + else + { + var_06 = "random"; + } + + if(isdefined(level.zone_data) && !maps\mp\zombies\_zombies_zone_manager::iszombieinenabledzone(param_01)) + { + return; + } + + var_07 = common_scripts\utility::ter_op(level.dropscheduled,"true ","false "); + var_08 = common_scripts\utility::ter_op(var_05 > level.percentchancetodrop,"false ","true "); + var_09 = "Scheduled: " + var_07 + "Chance: " + var_08 + "(" + var_05 + "<=" + level.percentchancetodrop + ")"; + level.dropscheduled = 0; + var_0A = selectnextvalidpickup(); + createpickup(var_0A,param_01.origin,var_09); +} + +//Function Number: 113 +createpickuporgive(param_00,param_01,param_02) +{ + if(isdefined(level.zone_data) && maps\mp\zombies\_zombies_zone_manager::ispointinanyzone(param_01 + (0,0,1))) + { + createpickup(param_00,param_01,param_02); + return; + } + + var_03 = common_scripts\utility::random(level.players); + [[ level.pickup[param_00]["func"] ]](var_03); +} + +//Function Number: 114 +createpickup(param_00,param_01,param_02) +{ + var_03 = level.pickup[param_00]["model"]; + var_04 = level.pickup[param_00]["func"]; + var_05 = level.pickup[param_00]["icon"]; + var_06 = level.pickup[param_00]["fx"]; + var_07 = level.pickup[param_00]["outline"]; + level.currentpickupcount++; + level.pickuprecent = param_00; + if(!isdefined(param_02)) + { + param_02 = ""; + } + + pickupdebugprint(param_00 + " Dropped - " + param_02); + spawnpickupmodel(param_01 + (0,0,22),var_03,var_05,var_06,var_04,undefined,var_07); +} + +//Function Number: 115 +spawnpickupmodel(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + var_07[0] = getpickupent(); + if(isdefined(param_03)) + { + var_07[0] setmodel("dlc_dogtags_zombie_invisible"); + } + else + { + var_07[0] setmodel(param_01); + } + + if(isdefined(param_06) && param_06) + { + var_07[0] hudoutlineenable(0,0); + } + + var_08 = var_07[0].trigger; + var_09 = maps\mp\gametypes\_gameobjects::createuseobject(level.playerteam,var_08,var_07,(0,0,16),1); + var_0A = param_00; + var_09.curorigin = var_0A; + var_09.trigger.origin = var_0A; + var_09.visuals[0].origin = var_0A; + if(isdefined(param_02) && param_02 != "") + { + var_09.icon = var_08 maps\mp\_entityheadicons::setheadicon(level.playerteam,param_02,(0,0,30),14,14,undefined,undefined,undefined,undefined,undefined,0); + } + + var_09 maps\mp\gametypes\_gameobjects::setusetime(0); + var_09 maps\mp\gametypes\_gameobjects::allowuse("friendly"); + var_09.onuse = param_04; + if(isdefined(param_05)) + { + var_09.canuseobject = param_05; + } + else + { + var_09.canuseobject = ::canactivatepickup; + } + + if(isdefined(param_03)) + { + var_09.visuals[0] scriptmodelplayanim("mp_dogtag_spin"); + var_09.visuals[0].origin = var_0A + (0,0,-12); + var_09.fx = level._effect[param_03]; + var_09.fxtag = "j_dogtag"; + playfxontag(var_09.fx,var_09.visuals[0],var_09.fxtag); + } + else + { + var_09 thread pickupbounce(); + } + + var_09 thread pickuptimer(); +} + +//Function Number: 116 +canactivatepickup(param_00) +{ + if(isdefined(param_00) && isagent(param_00)) + { + return 0; + } + + return 1; +} + +//Function Number: 117 +pickupbounce() +{ + level endon("game_ended"); + self endon("deleted"); + self endon("death"); + var_00 = self; + var_01 = self.curorigin; + var_02 = self.curorigin + (0,0,12); + var_03 = 1.25; + if(isdefined(self.visuals) && isdefined(self.visuals[0])) + { + var_00 = self.visuals[0]; + } + + for(;;) + { + var_00 moveto(var_02,var_03,0.15,0.15); + var_00 rotateyaw(180,var_03); + wait(var_03); + var_00 moveto(var_01,var_03,0.15,0.15); + var_00 rotateyaw(180,var_03); + wait(var_03); + } +} + +//Function Number: 118 +pickuptimer() +{ + self endon("deleted"); + wait(15); + thread pickupstartflashing(); + thread pickupexpiringsound(self.curorigin); + wait(8); + playsoundatpos(self.curorigin,"zmb_pickup_expired"); + level thread removepickup(self); +} + +//Function Number: 119 +pickupexpiringsound(param_00) +{ + var_01 = spawn("script_origin",param_00); + var_01 playloopsound("zmb_pickup_timer"); + self waittill("deleted"); + var_01 stoploopsound(); + wait 0.05; + var_01 delete(); +} + +//Function Number: 120 +pickupstartflashing() +{ + self endon("deleted"); + for(;;) + { + if(isdefined(self.fx)) + { + stopfxontag(self.fx,self.visuals[0],self.fxtag); + } + else if(isdefined(self.visuals) && isdefined(self.visuals[0])) + { + self.visuals[0] ghost(); + } + + wait(0.25); + if(isdefined(self.fx)) + { + playfxontag(self.fx,self.visuals[0],self.fxtag); + } + else if(isdefined(self.visuals) && isdefined(self.visuals[0])) + { + self.visuals[0] show(); + } + + wait(0.25); + } +} + +//Function Number: 121 +removepickup(param_00) +{ + if(!isdefined(param_00.visuals)) + { + return; + } + + param_00 notify("deleted"); + param_00.visuals[0] show(); + param_00.visuals[0] ghost(); + if(isdefined(param_00.fx)) + { + stopfxontag(param_00.fx,param_00.visuals[0],param_00.fxtag); + } + + param_00.trigger.origin = param_00.trigger.origin - (0,0,-10000); + wait(1); + param_00.visuals[0].inuse = 0; +} + +//Function Number: 122 +ammopickup(param_00) +{ + showteamsplashzombies("zombie_max_ammo"); + param_00 playlocalsound("zmb_pickup_general"); + level thread activatemaxammo(); + maps\mp\zombies\_zombies_audio_announcer::announcerpickupdialog("full_reload",param_00); + level thread removepickup(self); +} + +//Function Number: 123 +activatemaxammo() +{ + foreach(var_01 in level.players) + { + if(maps\mp\zombies\_util::isonhumanteam(var_01) && maps\mp\_utility::isreallyalive(var_01)) + { + refillammozombies(var_01); + var_01 playersetem1maxammo(); + var_01.health = var_01.maxhealth; + if(isdefined(level.activatemaxammofunc)) + { + var_01 [[ level.activatemaxammofunc ]](); + } + } + } +} + +//Function Number: 124 +refillammozombies(param_00,param_01) +{ + var_02 = param_00 getweaponslistprimaries(); + var_02[var_02.size] = param_00 getlethalweapon(); + var_02[var_02.size] = param_00 gettacticalweapon(); + if(!isdefined(param_01)) + { + param_01 = 0; + } + + foreach(var_04 in var_02) + { + if(var_04 == "none") + { + continue; + } + + if(maps\mp\zombies\_util::isrippedturretweapon(var_04) || maps\mp\zombies\_util::iszombiekillstreakweapon(var_04)) + { + continue; + } + + if(maps\mp\zombies\_util::iszombieequipment(var_04)) + { + if(!param_01) + { + maps\mp\zombies\_wall_buys::fillweaponclip(param_00,var_04); + } + else + { + maps\mp\zombies\_wall_buys::plusoneweaponclip(param_00,var_04); + } + + continue; + } + + param_00 givemaxammo(var_04); + if(issubstr(var_04,"dlcgun1")) + { + var_05 = weaponclipsize(var_04); + param_00 setweaponammoclip(var_04,var_05,"right"); + } + } + + if(maps\mp\zombies\_util::isplayerinlaststand(param_00)) + { + param_00 maps\mp\zombies\_zombies_laststand::refillstoredweaponammo(); + } +} + +//Function Number: 125 +instakillpickup(param_00) +{ + showteamsplashzombies("zombie_insta_kill"); + param_00 playlocalsound("zmb_pickup_overdrive"); + level thread activateinstakill(); + maps\mp\zombies\_zombies_audio_announcer::announcerpickupdialog("hyper_dmg",param_00); + level thread removepickup(self); +} + +//Function Number: 126 +refreshmeleecharge() +{ + var_00 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + foreach(var_02 in var_00) + { + if(isalive(var_02)) + { + var_02 maps\mp\zombies\_zombies::updatemeleechargeforcurrenthealth(); + } + } +} + +//Function Number: 127 +activateinstakill() +{ + level notify("instaKillPickup"); + level endon("game_ended"); + level endon("instaKillPickup"); + var_00 = 30; + if(isdefined(level.instakilltime)) + { + var_00 = level.instakilltime; + } + + level thread setendtimeomnvarwithhostmigration("ui_zm_instakill",gettime() + var_00 * 1000); + maps\mp\_utility::gameflagset("insta_kill"); + refreshmeleecharge(); + maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(var_00); + maps\mp\_utility::gameflagclear("insta_kill"); + refreshmeleecharge(); +} + +//Function Number: 128 +doublepointspickup(param_00) +{ + showteamsplashzombies("zombie_double_points"); + param_00 playlocalsound("zmb_pickup_general"); + level thread activatedoublepoints(); + maps\mp\zombies\_zombies_audio_announcer::announcerpickupdialog("multiplier",param_00); + level thread removepickup(self); +} + +//Function Number: 129 +activatedoublepoints() +{ + level notify("doublePointsPickup"); + level endon("game_ended"); + level endon("doublePointsPickup"); + var_00 = 30; + if(isdefined(level.doublepointstime)) + { + var_00 = level.doublepointstime; + } + + level thread setendtimeomnvarwithhostmigration("ui_zm_doublepoints",gettime() + var_00 * 1000); + maps\mp\_utility::gameflagset("double_points"); + maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(var_00); + maps\mp\_utility::gameflagclear("double_points"); +} + +//Function Number: 130 +firesalepickup(param_00) +{ + showteamsplashzombies("zombie_fire_sale"); + param_00 playlocalsound("zmb_pickup_general"); + level thread activatefiresale(); + maps\mp\zombies\_zombies_audio_announcer::announcerpickupdialog("pow_surge",param_00); + level thread removepickup(self); +} + +//Function Number: 131 +activatefiresale() +{ + level notify("fireSalePickup"); + level endon("game_ended"); + level endon("fireSalePickup"); + var_00 = 30; + if(isdefined(level.firesaletime)) + { + var_00 = level.firesaletime; + } + + level thread setendtimeomnvarwithhostmigration("ui_zm_firesale",gettime() + var_00 * 1000); + if(!maps\mp\_utility::gameflag("fire_sale")) + { + maps\mp\_utility::gameflagset("fire_sale"); + foreach(var_02 in level.magicboxlocations) + { + level thread turnonfiresalemachine(var_02); + } + } + + maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(var_00); + maps\mp\_utility::gameflagclear("fire_sale"); + foreach(var_02 in level.magicboxlocations) + { + level thread turnofffiresalemachine(var_02); + } +} + +//Function Number: 132 +turnonfiresalemachine(param_00) +{ + while(param_00.isdispensingweapon) + { + wait(0.05); + } + + param_00 sethintstring(&"ZOMBIES_FIRE_SALE_MAGIC_BOX"); + param_00 setsecondaryhintstring(param_00 maps\mp\zombies\_wall_buys::getmagicboxhintstringcost()); + param_00 maps\mp\zombies\_util::settokencost(maps\mp\zombies\_util::creditstotokens(param_00.cost)); + param_00 maps\mp\zombies\_util::tokenhintstring(1); + if(!param_00.active) + { + param_00 maps\mp\zombies\_wall_buys::activatemagicboxeffects(param_00.modelent,param_00.light); + level thread maps\mp\zombies\_wall_buys::watchmagicboxtrigger(param_00,1); + return; + } + + if(param_00.ismoving) + { + while(param_00.ismoving) + { + wait(0.05); + } + + param_00 maps\mp\zombies\_wall_buys::activatemagicboxeffects(param_00.modelent,param_00.light); + level thread maps\mp\zombies\_wall_buys::watchmagicboxtrigger(param_00,1); + } +} + +//Function Number: 133 +turnofffiresalemachine(param_00) +{ + while(param_00.isdispensingweapon) + { + wait(0.05); + } + + if(!param_00.active) + { + param_00 sethintstring(maps\mp\zombies\_wall_buys::getmagicboxhintsting(1)); + param_00 setsecondaryhintstring(maps\mp\zombies\_wall_buys::getmagicboxhintstringcost(1)); + param_00 maps\mp\zombies\_util::tokenhintstring(0); + param_00 maps\mp\zombies\_wall_buys::deactivatemagicboxeffects(param_00.modelent,param_00.light); + param_00 notify("fireSaleOver"); + return; + } + + param_00 sethintstring(maps\mp\zombies\_wall_buys::getmagicboxhintsting()); + param_00 setsecondaryhintstring(maps\mp\zombies\_wall_buys::getmagicboxhintstringcost()); + param_00 setsecondaryhintstring(param_00 maps\mp\zombies\_wall_buys::getmagicboxhintstringcost()); + param_00 maps\mp\zombies\_util::settokencost(maps\mp\zombies\_util::creditstotokens(param_00.cost)); + param_00 maps\mp\zombies\_util::tokenhintstring(1); +} + +//Function Number: 134 +trappickup(param_00) +{ + showteamsplashzombies("zombie_activate_traps"); + param_00 playsoundtoteam("zmb_pickup_traps","allies"); + level thread activatetrappickup(param_00); + maps\mp\zombies\_zombies_audio_announcer::announcerpickupdialog("security",param_00); + level thread removepickup(self); +} + +//Function Number: 135 +activatetrappickup(param_00) +{ + var_01 = maps\mp\zombies\_traps::get_trap_time(); + level thread setendtimeomnvarwithhostmigration("ui_zm_alltraps",gettime() + var_01 * 1000); + foreach(var_03 in level.traps) + { + var_03 maps\mp\zombies\_traps::trap_activate(param_00,1); + } + + foreach(var_06 in level.zombiedoors) + { + var_06 notify("trap_trigger",param_00,var_01); + } +} + +//Function Number: 136 +nukepickup(param_00) +{ + showteamsplashzombies("zombie_nuke"); + param_00 playlocalsound("zmb_pickup_apocalypse"); + earthquake(0.35,0.95,param_00.origin,128); + playfx(common_scripts\utility::getfx("nuke_blast"),param_00.origin,anglestoforward(param_00.angles),anglestoup(param_00.angles)); + level thread activatenukepickup(param_00.origin); + maps\mp\zombies\_zombies_audio_announcer::announcerpickupdialog("dna_bomb",param_00); + level thread removepickup(self); +} + +//Function Number: 137 +activatenukepickup(param_00) +{ + foreach(var_02 in level.players) + { + var_02 givepointsforevent("nuke"); + } + + var_04 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + var_04 = sortbydistance(var_04,param_00); + foreach(var_06 in var_04) + { + if(var_06.agentteam == level.playerteam) + { + continue; + } + + if(var_06 maps\mp\zombies\_util::instakillimmune()) + { + continue; + } + + wait(0.1); + if(isalive(var_06)) + { + var_07 = "MOD_EXPLOSIVE"; + if(!isscriptedagent(var_06)) + { + var_07 = "MOD_ENERGY"; + } + + var_06.killedbynuke = 1; + var_06 dodamage(var_06.health,var_06.origin,undefined,undefined,var_07,level.ocp_weap_name); + } + } +} + +//Function Number: 138 +showteamsplashzombies(param_00) +{ + foreach(var_02 in level.players) + { + if(maps\mp\zombies\_util::isonhumanteam(var_02) && maps\mp\_utility::isreallyalive(var_02)) + { + var_02 thread maps\mp\gametypes\_hud_message::splashnotify(param_00); + } + } +} + +//Function Number: 139 +zombievignette() +{ + if(isdefined(level.zombievignette)) + { + var_00 = newhudelem(); + var_00.x = 0; + var_00.y = 0; + var_00.alpha = 1; + var_00.horzalign = "fullscreen"; + var_00.vertalign = "fullscreen"; + var_00.sort = 3; + var_00 setshader(level.zombievignette,640,480); + } +} + +//Function Number: 140 +playermonitorweapon() +{ + self endon("disconnect"); + self setclientomnvar("ui_energy_ammo",1); + for(;;) + { + self waittill("weapon_change",var_00); + wait 0.05; + thread playerdoem1logic(var_00); + } +} + +//Function Number: 141 +playerdoem1logic(param_00) +{ + self endon("disconnect"); + if(!issubstr(param_00,"iw5_em1zm_mp")) + { + if(maps\mp\zombies\_util::playerhasem1ammoinfo() && maps\mp\zombies\_util::playergetem1ammo() <= 0 && !playerhasem1() && !maps\mp\zombies\_util::isplayerinlaststand(self)) + { + maps\mp\zombies\_util::playerclearem1ammoinfo(); + } + + return; + } + + playersetem1ammo(); + self setweaponammostock(param_00,0); + thread playersetupem1ammo(); + self waittill("weapon_change"); + maps\mp\zombies\_util::playerallowfire(1,"em1"); + self notifyonplayercommandremove("fire_em1_weapon","+attack"); + self notifyonplayercommandremove("fire_em1_weapon","+attack_akimbo_accessible"); +} + +//Function Number: 142 +playerhasem1() +{ + var_00 = self getweaponslistprimaries(); + foreach(var_02 in var_00) + { + if(issubstr(var_02,"iw5_em1zm_mp")) + { + return 1; + } + } + + return 0; +} + +//Function Number: 143 +playerupdateem1omnvar() +{ + var_00 = getem1maxammo(1); + var_01 = maps\mp\zombies\_util::playergetem1ammo(); + var_02 = var_01 / var_00; + self setclientomnvar("ui_energy_ammo",var_02); +} + +//Function Number: 144 +playersetupem1ammo() +{ + self endon("death"); + self endon("disconnect"); + self endon("weapon_change"); + self notifyonplayercommand("fire_em1_weapon","+attack"); + self notifyonplayercommand("fire_em1_weapon","+attack_akimbo_accessible"); + var_00 = maps\mp\zombies\_util::playergetem1ammo(); + playerupdateem1omnvar(); + if(var_00 <= 0) + { + maps\mp\zombies\_util::playerallowfire(0,"em1"); + } + + for(;;) + { + if(!self attackbuttonpressed()) + { + self waittill("fire_em1_weapon"); + } + + var_01 = self getcurrentweapon(); + if(self isreloading() || !issubstr(var_01,"iw5_em1zm_mp") || !self isfiring() || self isusingoffhand()) + { + wait 0.05; + continue; + } + + var_00 = maps\mp\zombies\_util::playergetem1ammo(); + playerupdateem1omnvar(); + if(var_00 <= 0) + { + var_02 = self getweaponslistprimaries(); + var_03 = maps\mp\_utility::getbaseweaponname(var_02[0]); + if(var_03 != "iw5_em1zm") + { + maps\mp\zombies\_util::playerallowfire(0,"em1"); + self switchtoweapon(var_02[0]); + wait 0.05; + continue; + } + + if(var_02.size > 1) + { + var_03 = maps\mp\_utility::getbaseweaponname(var_02[1]); + if(var_03 != "iw5_em1zm") + { + self switchtoweapon(var_02[1]); + maps\mp\zombies\_util::playerallowfire(0,"em1"); + wait 0.05; + continue; + } + } + + maps\mp\zombies\_util::playerallowfire(0,"em1"); + wait 0.05; + continue; + } + + wait 0.05; + if(maps\mp\zombies\_util::gameflagexists("unlimited_ammo") && maps\mp\_utility::gameflag("unlimited_ammo")) + { + continue; + } + + var_00 = maps\mp\zombies\_util::playergetem1ammo(); + maps\mp\zombies\_util::playerrecordem1ammo(var_00 - 1); + } +} + +//Function Number: 145 +playersetem1ammo() +{ + if(!isdefined(self.pers["em1Ammo"])) + { + self.pers["em1Ammo"] = spawnstruct(); + playersetem1maxammo(); + maps\mp\zombies\_util::playerallowfire(1,"em1"); + } +} + +//Function Number: 146 +getem1maxammo(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 0; + } + + var_01 = 1; + if(!param_00 && self hasperk("specialty_stockpile",1)) + { + var_01 = var_01 * 1.2; + } + + return 1800 * var_01; +} + +//Function Number: 147 +playersetem1maxammo() +{ + if(isdefined(self.pers["em1Ammo"])) + { + var_00 = getem1maxammo(); + self.pers["em1Ammo"].ammo = var_00; + playerupdateem1omnvar(); + maps\mp\zombies\_util::playerallowfire(1,"em1"); + } +} + +//Function Number: 148 +playerpostslam_deathwaiter(param_00) +{ + self notify("postSlamDeathWaiter"); + self endon("postSlamDeathWaiter"); + self endon("postSlamTimedOut"); + self waittill("death"); + playerpostslam_reenableboost(param_00); +} + +//Function Number: 149 +playerpostslam_reenableboost(param_00) +{ + maps\mp\gametypes\_scrambler::playersethudempscrambledoff(param_00); + maps\mp\_utility::playerallowhighjump(1,"postSlam"); + maps\mp\_utility::playerallowhighjumpdrop(1,"postSlam"); + maps\mp\_utility::playerallowboostjump(1,"postSlam"); + maps\mp\_utility::playerallowpowerslide(1,"postSlam"); + maps\mp\_utility::playerallowdodge(1,"postSlam"); +} + +//Function Number: 150 +playerpostslam_disableboost() +{ + self notify("postSlamDisableBoost"); + self endon("postSlamDisableBoost"); + self endon("death"); + self endon("disconnect"); + var_00 = 2; + var_01 = gettime() + var_00 * 1000; + var_02 = maps\mp\gametypes\_scrambler::playersethudempscrambled(var_01,1,"postSlam"); + maps\mp\_utility::playerallowhighjump(0,"postSlam"); + maps\mp\_utility::playerallowhighjumpdrop(0,"postSlam"); + maps\mp\_utility::playerallowboostjump(0,"postSlam"); + maps\mp\_utility::playerallowpowerslide(0,"postSlam"); + maps\mp\_utility::playerallowdodge(0,"postSlam"); + thread playerpostslam_deathwaiter(var_02); + wait(var_00); + self notify("postSlamTimedOut"); + playerpostslam_reenableboost(var_02); +} + +//Function Number: 151 +playermonitorboostevents() +{ + self endon("disconnect"); + self.exoeventtime = 0; + self.exoboosttime = 0; + self.exoslamtime = 0; + self.exododgetime = 0; + self.exoslidetime = 0; + for(;;) + { + var_00 = common_scripts\utility::waittill_any_return_no_endon_death("exo_boost","ground_slam","exo_dodge","exo_slide"); + self.exoeventtime = gettime(); + switch(var_00) + { + case "exo_boost": + self.exoboosttime = gettime(); + break; + + case "ground_slam": + self.exoslamtime = gettime(); + break; + + case "exo_dodge": + self.exododgetime = gettime(); + break; + + case "exo_slide": + self.exoslidetime = gettime(); + break; + } + } +} + +//Function Number: 152 +giveplayerszombieachievement(param_00) +{ + foreach(var_02 in level.players) + { + if(!isdefined(var_02.joinedround1) || !var_02.joinedround1) + { + continue; + } + + var_02 givezombieachievement(param_00); + } +} + +//Function Number: 153 +givezombieachievement(param_00) +{ + var_01 = maps\mp\_utility::getmapname(); + switch(var_01) + { + case "mp_zombie_lab": + if(!issubstr(param_00,"DLC1")) + { + return; + } + break; + + case "mp_zombie_brg": + if(!issubstr(param_00,"DLC2")) + { + return; + } + break; + + case "mp_zombie_ark": + if(!issubstr(param_00,"DLC3")) + { + return; + } + break; + + case "mp_zombie_h2o": + if(!issubstr(param_00,"DLC4")) + { + return; + } + break; + } + + self giveachievement(param_00); +} + +//Function Number: 154 +setendtimeomnvarwithhostmigration(param_00,param_01) +{ + level endon("game_ended"); + level notify(param_00 + "_cancel"); + level endon(param_00 + "_cancel"); + for(;;) + { + setomnvar(param_00,param_01); + level common_scripts\utility::waittill_notify_or_timeout("host_migration_begin",param_01 - gettime() / 1000); + setomnvar(param_00,0); + if(gettime() >= param_01) + { + break; + } + + var_02 = maps\mp\gametypes\_hostmigration::waittillhostmigrationdone(); + param_01 = param_01 + var_02; + if(gettime() >= param_01) + { + break; + } + } +} + +//Function Number: 155 +hurtplayersthink() +{ + level endon("game_ended"); + wait(randomfloat(1)); + for(;;) + { + foreach(var_01 in level.players) + { + if(var_01 istouching(self) && maps\mp\_utility::isreallyalive(var_01)) + { + var_02 = "ui_zm_character_" + var_01.characterindex + "_alive"; + setomnvar(var_02,0); + var_01 maps\mp\_utility::_suicide(); + } + } + + wait(0.5); + } +} + +//Function Number: 156 +moversuicidecustom() +{ + var_00 = "ui_zm_character_" + self.characterindex + "_alive"; + setomnvar(var_00,0); + maps\mp\_utility::_suicide(); + if(level.players.size < 2) + { + maps\mp\zombies\_zombies_laststand::zombieendgame(undefined,"MOD_SUICIDE"); + } +} + +//Function Number: 157 +getroundintermissionduration() +{ + return 10; +} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/killstreaks/_aerial_utility.gsc b/AW/PC/maps/mp/killstreaks/_aerial_utility.gsc similarity index 98% rename from AW/PC/ZM/maps/mp/killstreaks/_aerial_utility.gsc rename to AW/PC/maps/mp/killstreaks/_aerial_utility.gsc index b53040d..7febc13 100644 --- a/AW/PC/ZM/maps/mp/killstreaks/_aerial_utility.gsc +++ b/AW/PC/maps/mp/killstreaks/_aerial_utility.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_aerial_utility.gsc + * Decompiled File: mp\killstreaks\_aerial_utility.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 77 - * Decompile Time: 1192 ms - * Timestamp: 10/27/2023 2:09:04 AM + * Decompile Time: 1148 ms + * Timestamp: 4/22/2024 2:11:23 AM *******************************************************************/ //Function Number: 1 @@ -281,8 +281,16 @@ heli_flares_monitor(param_00) switch(self.helitype) { default: + self.numflares = 1; break; } + + if(isdefined(param_00)) + { + self.numflares = self.numflares + param_00; + } + + thread handleincomingstinger(); } //Function Number: 23 @@ -1198,23 +1206,31 @@ playershowstreakstaticforrange(param_00) switch(param_00) { case 0: + var_01 = 1; break; case 1: + var_01 = 3; break; case 2: + var_01 = 4; break; case 3: + var_01 = 5; break; case 4: + var_01 = 6; break; default: break; } + + self notify("playerUpdateStreakStatic"); + self setclientomnvar("ui_streak_overlay_state",var_01); } //Function Number: 64 diff --git a/AW/PC/MP/maps/mp/killstreaks/_agent_killstreak.gsc b/AW/PC/maps/mp/killstreaks/_agent_killstreak.gsc similarity index 97% rename from AW/PC/MP/maps/mp/killstreaks/_agent_killstreak.gsc rename to AW/PC/maps/mp/killstreaks/_agent_killstreak.gsc index 095ef6a..45bce86 100644 --- a/AW/PC/MP/maps/mp/killstreaks/_agent_killstreak.gsc +++ b/AW/PC/maps/mp/killstreaks/_agent_killstreak.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_agent_killstreak.gsc + * Decompiled File: mp\killstreaks\_agent_killstreak.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 10 - * Decompile Time: 153 ms - * Timestamp: 10/27/2023 1:51:22 AM + * Decompile Time: 171 ms + * Timestamp: 4/22/2024 2:11:23 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/killstreaks/_airdrop.gsc b/AW/PC/maps/mp/killstreaks/_airdrop.gsc similarity index 99% rename from AW/PC/MP/maps/mp/killstreaks/_airdrop.gsc rename to AW/PC/maps/mp/killstreaks/_airdrop.gsc index 71c39c5..479cc06 100644 --- a/AW/PC/MP/maps/mp/killstreaks/_airdrop.gsc +++ b/AW/PC/maps/mp/killstreaks/_airdrop.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_airdrop.gsc + * Decompiled File: mp\killstreaks\_airdrop.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 64 - * Decompile Time: 995 ms - * Timestamp: 10/27/2023 1:51:25 AM + * Decompile Time: 960 ms + * Timestamp: 4/22/2024 2:11:27 AM *******************************************************************/ //Function Number: 1 @@ -354,7 +354,7 @@ getcratetypefordroptype(param_00,param_01) case "airdrop_assault_odds": case "airdrop_assault": default: - break; + return getrandomcratetype(param_00,param_01); } } @@ -1541,10 +1541,10 @@ isairdropmarker(param_00) { case "airdrop_mp": case "airdrop_marker_mp": - break; + return 1; default: - break; + return 0; } } diff --git a/AW/PC/MP/maps/mp/killstreaks/_airstrike.gsc b/AW/PC/maps/mp/killstreaks/_airstrike.gsc similarity index 99% rename from AW/PC/MP/maps/mp/killstreaks/_airstrike.gsc rename to AW/PC/maps/mp/killstreaks/_airstrike.gsc index a58be81..02df972 100644 --- a/AW/PC/MP/maps/mp/killstreaks/_airstrike.gsc +++ b/AW/PC/maps/mp/killstreaks/_airstrike.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_airstrike.gsc + * Decompiled File: mp\killstreaks\_airstrike.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 63 - * Decompile Time: 988 ms - * Timestamp: 10/27/2023 1:51:29 AM + * Decompile Time: 961 ms + * Timestamp: 4/22/2024 2:11:30 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/maps/mp/killstreaks/_assaultdrone_ai.gsc b/AW/PC/maps/mp/killstreaks/_assaultdrone_ai.gsc similarity index 99% rename from AW/PC/ZM/maps/mp/killstreaks/_assaultdrone_ai.gsc rename to AW/PC/maps/mp/killstreaks/_assaultdrone_ai.gsc index 4158a3d..dcbee16 100644 --- a/AW/PC/ZM/maps/mp/killstreaks/_assaultdrone_ai.gsc +++ b/AW/PC/maps/mp/killstreaks/_assaultdrone_ai.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_assaultdrone_ai.gsc + * Decompiled File: mp\killstreaks\_assaultdrone_ai.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 24 - * Decompile Time: 364 ms - * Timestamp: 10/27/2023 2:09:12 AM + * Decompile Time: 367 ms + * Timestamp: 4/22/2024 2:11:31 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/maps/mp/killstreaks/_autosentry.gsc b/AW/PC/maps/mp/killstreaks/_autosentry.gsc similarity index 97% rename from AW/PC/ZM/maps/mp/killstreaks/_autosentry.gsc rename to AW/PC/maps/mp/killstreaks/_autosentry.gsc index fcd81d6..8766b93 100644 --- a/AW/PC/ZM/maps/mp/killstreaks/_autosentry.gsc +++ b/AW/PC/maps/mp/killstreaks/_autosentry.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_autosentry.gsc + * Decompiled File: mp\killstreaks\_autosentry.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 56 - * Decompile Time: 926 ms - * Timestamp: 10/27/2023 2:09:15 AM + * Decompile Time: 828 ms + * Timestamp: 4/22/2024 2:11:34 AM *******************************************************************/ //Function Number: 1 @@ -254,9 +254,40 @@ sentry_initsentry(param_00,param_01) switch(param_00) { case "sam_turret": + self maketurretinoperable(); + self setleftarc(180); + self setrightarc(180); + self settoparc(80); + self setdefaultdroppitch(-89); + self.laser_on = 0; + var_02 = spawn("script_model",self gettagorigin("tag_laser")); + var_02 linkto(self); + self.killcament = var_02; + self.killcament setscriptmoverkillcam("explosive"); break; default: + self maketurretinoperable(); + self setdefaultdroppitch(-89); + break; + } + + self setturretmodechangewait(1); + sentry_setinactive(); + sentry_setowner(param_01); + thread sentry_handledeath(); + thread sentry_timeout(); + switch(param_00) + { + case "sam_turret": + thread sentry_handleuse(); + thread sentry_beepsounds(); + break; + + default: + thread sentry_handleuse(); + thread sentry_attacktargets(); + thread sentry_beepsounds(); break; } } diff --git a/AW/PC/ZM/maps/mp/killstreaks/_coop_util.gsc b/AW/PC/maps/mp/killstreaks/_coop_util.gsc similarity index 99% rename from AW/PC/ZM/maps/mp/killstreaks/_coop_util.gsc rename to AW/PC/maps/mp/killstreaks/_coop_util.gsc index 49e1d8b..dc01788 100644 --- a/AW/PC/ZM/maps/mp/killstreaks/_coop_util.gsc +++ b/AW/PC/maps/mp/killstreaks/_coop_util.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_coop_util.gsc + * Decompiled File: mp\killstreaks\_coop_util.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 31 - * Decompile Time: 480 ms - * Timestamp: 10/27/2023 2:09:17 AM + * Decompile Time: 492 ms + * Timestamp: 4/22/2024 2:11:36 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/killstreaks/_dog_killstreak.gsc b/AW/PC/maps/mp/killstreaks/_dog_killstreak.gsc similarity index 97% rename from AW/PC/MP/maps/mp/killstreaks/_dog_killstreak.gsc rename to AW/PC/maps/mp/killstreaks/_dog_killstreak.gsc index c36f72d..063ed60 100644 --- a/AW/PC/MP/maps/mp/killstreaks/_dog_killstreak.gsc +++ b/AW/PC/maps/mp/killstreaks/_dog_killstreak.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_dog_killstreak.gsc + * Decompiled File: mp\killstreaks\_dog_killstreak.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 8 - * Decompile Time: 117 ms - * Timestamp: 10/27/2023 1:51:36 AM + * Decompile Time: 134 ms + * Timestamp: 4/22/2024 2:11:36 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/killstreaks/_drone_assault.gsc b/AW/PC/maps/mp/killstreaks/_drone_assault.gsc similarity index 99% rename from AW/PC/MP/maps/mp/killstreaks/_drone_assault.gsc rename to AW/PC/maps/mp/killstreaks/_drone_assault.gsc index df0943c..8c46afc 100644 --- a/AW/PC/MP/maps/mp/killstreaks/_drone_assault.gsc +++ b/AW/PC/maps/mp/killstreaks/_drone_assault.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_drone_assault.gsc + * Decompiled File: mp\killstreaks\_drone_assault.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 39 - * Decompile Time: 599 ms - * Timestamp: 10/27/2023 1:51:38 AM + * Decompile Time: 630 ms + * Timestamp: 4/22/2024 2:11:38 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/maps/mp/killstreaks/_drone_carepackage.gsc b/AW/PC/maps/mp/killstreaks/_drone_carepackage.gsc similarity index 97% rename from AW/PC/ZM/maps/mp/killstreaks/_drone_carepackage.gsc rename to AW/PC/maps/mp/killstreaks/_drone_carepackage.gsc index aff2a6c..5f32c64 100644 --- a/AW/PC/ZM/maps/mp/killstreaks/_drone_carepackage.gsc +++ b/AW/PC/maps/mp/killstreaks/_drone_carepackage.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_drone_carepackage.gsc + * Decompiled File: mp\killstreaks\_drone_carepackage.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 12 - * Decompile Time: 173 ms - * Timestamp: 10/27/2023 2:09:20 AM + * Decompile Time: 199 ms + * Timestamp: 4/22/2024 2:11:39 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/maps/mp/killstreaks/_drone_common.gsc b/AW/PC/maps/mp/killstreaks/_drone_common.gsc similarity index 98% rename from AW/PC/ZM/maps/mp/killstreaks/_drone_common.gsc rename to AW/PC/maps/mp/killstreaks/_drone_common.gsc index 3ef4423..3b676ec 100644 --- a/AW/PC/ZM/maps/mp/killstreaks/_drone_common.gsc +++ b/AW/PC/maps/mp/killstreaks/_drone_common.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_drone_common.gsc + * Decompiled File: mp\killstreaks\_drone_common.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 24 - * Decompile Time: 390 ms - * Timestamp: 10/27/2023 2:09:21 AM + * Decompile Time: 364 ms + * Timestamp: 4/22/2024 2:11:41 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/killstreaks/_drone_recon.gsc b/AW/PC/maps/mp/killstreaks/_drone_recon.gsc similarity index 99% rename from AW/PC/MP/maps/mp/killstreaks/_drone_recon.gsc rename to AW/PC/maps/mp/killstreaks/_drone_recon.gsc index c5bff4a..f44c5df 100644 --- a/AW/PC/MP/maps/mp/killstreaks/_drone_recon.gsc +++ b/AW/PC/maps/mp/killstreaks/_drone_recon.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_drone_recon.gsc + * Decompiled File: mp\killstreaks\_drone_recon.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 28 - * Decompile Time: 429 ms - * Timestamp: 10/27/2023 1:51:42 AM + * Decompile Time: 440 ms + * Timestamp: 4/22/2024 2:11:42 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/killstreaks/_emp.gsc b/AW/PC/maps/mp/killstreaks/_emp.gsc similarity index 99% rename from AW/PC/MP/maps/mp/killstreaks/_emp.gsc rename to AW/PC/maps/mp/killstreaks/_emp.gsc index c52c7fe..5247a33 100644 --- a/AW/PC/MP/maps/mp/killstreaks/_emp.gsc +++ b/AW/PC/maps/mp/killstreaks/_emp.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_emp.gsc + * Decompiled File: mp\killstreaks\_emp.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 32 - * Decompile Time: 492 ms - * Timestamp: 10/27/2023 1:51:44 AM + * Decompile Time: 482 ms + * Timestamp: 4/22/2024 2:11:44 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/maps/mp/killstreaks/_juggernaut.gsc b/AW/PC/maps/mp/killstreaks/_juggernaut.gsc similarity index 97% rename from AW/PC/ZM/maps/mp/killstreaks/_juggernaut.gsc rename to AW/PC/maps/mp/killstreaks/_juggernaut.gsc index a33cca3..75b6514 100644 --- a/AW/PC/ZM/maps/mp/killstreaks/_juggernaut.gsc +++ b/AW/PC/maps/mp/killstreaks/_juggernaut.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_juggernaut.gsc + * Decompiled File: mp\killstreaks\_juggernaut.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 145 - * Decompile Time: 2261 ms - * Timestamp: 10/27/2023 2:09:32 AM + * Decompile Time: 2162 ms + * Timestamp: 4/22/2024 2:11:51 AM *******************************************************************/ //Function Number: 1 @@ -124,8 +124,47 @@ givejuggernaut(param_00,param_01) { case "juggernaut_exosuit": default: + var_02 = 1; + var_03 = "juggernaut_exosuit"; + if(!isdefined(param_01) || common_scripts\utility::array_contains(param_01,"heavy_exosuit_maniac")) + { + var_02 = 1.15; + var_03 = "juggernaut_exosuit_maniac"; + } + + self.juggmovespeedscaler = var_02; + removeweapons(); + var_04 = isdefined(self.perks["specialty_hardline"]); + maps\mp\gametypes\_class::giveandapplyloadout(self.pers["team"],var_03,0,0); + maps\mp\gametypes\_playerlogic::streamclassweapons(0,0,var_03); + self.isjuggernaut = 1; + self.movespeedscaler = var_02; + maps\mp\_utility::giveperk("specialty_radarjuggernaut",0); + if(var_04) + { + maps\mp\_utility::giveperk("specialty_hardline",0); + } + + thread playersetupjuggernautexo(param_01,param_00); + self.saved_lastweapon = self getweaponslistprimaries()[0]; break; } + + maps\mp\gametypes\_weapons::updatemovespeedscale(); + self disableweaponpickup(); + if(!isdefined(param_01) || common_scripts\utility::array_contains(param_01,"heavy_exosuit_maniac")) + { + self playsound("goliath_suit_up_mp"); + } + else + { + self playsound("goliath_suit_up_mp"); + } + + thread maps\mp\_utility::teamplayercardsplash(level.juggsettings[param_00].splashusedname,self); + thread juggremover(); + level notify("juggernaut_equipped",self); + maps\mp\_matchdata::logkillstreakevent("juggernaut",self.origin); } //Function Number: 6 @@ -1779,20 +1818,31 @@ handleattachmentdamage(param_00,param_01,param_02,param_03,param_04,param_05,par case "ac130_105mm_mp": case "stinger_mp": case "remotemissile_projectile_mp": + self.largeprojectiledamage = 1; + var_0C = self.maxhealth + 1; break; case "stealth_bomb_mp": case "artillery_mp": + self.largeprojectiledamage = 0; + var_0C = var_0C + param_02 * 4; break; case "emp_grenade_killstreak_mp": case "emp_grenade_var_mp": case "emp_grenade_mp": case "bomb_site_mp": + self.largeprojectiledamage = 0; + var_0C = self.maxhealth + 1; break; } + + maps\mp\killstreaks\_killstreaks::killstreakhit(param_01,param_05,self); } } + + self.lasttimedamaged = gettime(); + self finishentitydamage(param_00,param_01,var_0C,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B); } //Function Number: 73 @@ -2009,26 +2059,35 @@ playerplayattachmentdialog(param_00) switch(param_00) { case "juggernaut_sentry_mp_mp": + var_01 = "sntryoff_mp_exoai"; break; case "speedAttachment": + var_01 = "mancoff_mp_exoai"; break; case "punchAttachment": + var_01 = "longoff_mp_exoai"; break; case "radar": + var_01 = "rcnoff_mp_exoai"; break; case "rocketAttachment": + var_01 = "rcktoff_mp_exoai"; break; case "trophy": + var_01 = "trphyoff_mp_exoai"; break; default: + var_01 = "weakdmg_mp_exoai"; break; } + + maps\mp\_utility::leaderdialogonplayer(var_01); } //Function Number: 86 @@ -2787,6 +2846,7 @@ state_main_pump() break; case "none": + playermech_ui_state_reset(); break; default: diff --git a/AW/PC/ZM/maps/mp/killstreaks/_killstreaks.gsc b/AW/PC/maps/mp/killstreaks/_killstreaks.gsc similarity index 89% rename from AW/PC/ZM/maps/mp/killstreaks/_killstreaks.gsc rename to AW/PC/maps/mp/killstreaks/_killstreaks.gsc index d560665..cbfcf79 100644 --- a/AW/PC/ZM/maps/mp/killstreaks/_killstreaks.gsc +++ b/AW/PC/maps/mp/killstreaks/_killstreaks.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_killstreaks.gsc + * Decompiled File: mp\killstreaks\_killstreaks.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 79 - * Decompile Time: 1227 ms - * Timestamp: 10/27/2023 2:09:36 AM + * Decompile Time: 1204 ms + * Timestamp: 4/22/2024 2:11:54 AM *******************************************************************/ //Function Number: 1 @@ -798,132 +798,166 @@ killstreakusewaiter() } thread finishdeathwaiter(); - if(!isdefined(self.justswitchedtokillstreakweapon)) + for(;;) { - self waittill("weapon_change",var_00); - } - else - { - var_00 = self.justswitchedtokillstreakweapon; - self.justswitchedtokillstreakweapon = undefined; - } - - var_01 = maps\mp\_utility::iskillstreakweapon(var_00); - if(!isalive(self)) - { - continue; - } - - if(var_01) - { - } - - if(isdefined(self.ball_carried)) - { - continue; - } - - if(var_01) - { - } - - if(!isdefined(self.killstreakindexweapon)) - { - if(!level.console) + if(!isdefined(self.justswitchedtokillstreakweapon)) { - if(isdefined(self.lastdroppableweapon) && var_00 == "killstreak_predator_missile_mp") + self waittill("weapon_change",var_00); + } + else + { + var_00 = self.justswitchedtokillstreakweapon; + self.justswitchedtokillstreakweapon = undefined; + } + + var_01 = maps\mp\_utility::iskillstreakweapon(var_00); + if(!isalive(self)) + { + continue; + } + + if(var_01) + { + } + + if(isdefined(self.ball_carried)) + { + continue; + } + + if(var_01) + { + } + + if(!isdefined(self.killstreakindexweapon)) + { + if(!level.console) + { + if(isdefined(self.lastdroppableweapon) && var_00 == "killstreak_predator_missile_mp") + { + self switchtoweapon(self.lastdroppableweapon); + } + } + + continue; + } + + if(var_01) + { + } + + if(isdefined(self.manuallyjoiningkillstreak) && self.manuallyjoiningkillstreak) + { + continue; + } + + if(var_01) + { + } + + if(isdefined(self.iscarrying) && self.iscarrying) + { + continue; + } + + if(var_01) + { + } + + if(!isdefined(self.pers["killstreaks"][self.killstreakindexweapon]) || !isdefined(self.pers["killstreaks"][self.killstreakindexweapon].streakname)) + { + continue; + } + + if(var_01) + { + } + + var_02 = maps\mp\_utility::getkillstreakweapon(self.pers["killstreaks"][self.killstreakindexweapon].streakname,self.pers["killstreaks"][self.killstreakindexweapon].modules); + if(var_00 != var_02) + { + if(issubstr(var_00,"turrethead")) { self switchtoweapon(self.lastdroppableweapon); } + + if(maps\mp\_utility::isstrstart(var_00,"airdrop_")) + { + self takeweapon(var_00); + self switchtoweapon(self.lastdroppableweapon); + } + + continue; } - continue; - } - - if(var_01) - { - } - - if(isdefined(self.manuallyjoiningkillstreak) && self.manuallyjoiningkillstreak) - { - continue; - } - - if(var_01) - { - } - - if(isdefined(self.iscarrying) && self.iscarrying) - { - continue; - } - - if(var_01) - { - } - - if(!isdefined(self.pers["killstreaks"][self.killstreakindexweapon]) || !isdefined(self.pers["killstreaks"][self.killstreakindexweapon].streakname)) - { - continue; - } - - if(var_01) - { - } - - var_02 = maps\mp\_utility::getkillstreakweapon(self.pers["killstreaks"][self.killstreakindexweapon].streakname,self.pers["killstreaks"][self.killstreakindexweapon].modules); - if(var_00 != var_02) - { - if(issubstr(var_00,"turrethead")) + if(var_01) { - self switchtoweapon(self.lastdroppableweapon); } - if(maps\mp\_utility::isstrstart(var_00,"airdrop_")) + waittillframeend; + var_03 = self.pers["killstreaks"][self.killstreakindexweapon].streakname; + var_04 = self.pers["killstreaks"][self.killstreakindexweapon].isgimme; + var_05 = self.pers["killstreaks"][self.killstreakindexweapon].modules; + var_06 = playergetkillstreaklastweapon(); + var_07 = self.killstreakindexweapon; + if(shouldswitchweaponafterraiseanimation(var_02)) { - self takeweapon(var_00); - self switchtoweapon(self.lastdroppableweapon); + childthread switchweaponafterraiseanimation(var_02,var_06); } - continue; - } - - if(var_01) - { - } - - waittillframeend; - var_03 = self.pers["killstreaks"][self.killstreakindexweapon].streakname; - var_04 = self.pers["killstreaks"][self.killstreakindexweapon].isgimme; - var_05 = self.pers["killstreaks"][self.killstreakindexweapon].modules; - var_06 = playergetkillstreaklastweapon(); - var_07 = self.killstreakindexweapon; - if(shouldswitchweaponafterraiseanimation(var_02)) - { - childthread switchweaponafterraiseanimation(var_02,var_06); - } - - var_08 = gettime(); - var_09 = killstreakusepressed(); - var_0A = gettime(); - var_0B = var_0A - var_08 / 1000; - if(!var_09 && !isalive(self) && !self hasweapon(common_scripts\utility::getlastweapon())) - { - var_06 = playergetkillstreaklastweapon(var_09); - maps\mp\_utility::_giveweapon(var_06); - } - - if(var_09) - { - thread waittakekillstreakweapon(var_02); - } - - if(shouldswitchweaponpostkillstreak(var_09,var_02,var_03,var_05) && !isdefined(self.justswitchedtokillstreakweapon)) - { - switch(var_02) + var_08 = gettime(); + var_09 = killstreakusepressed(); + var_0A = gettime(); + var_0B = var_0A - var_08 / 1000; + if(!var_09 && !isalive(self) && !self hasweapon(common_scripts\utility::getlastweapon())) { - case "killstreak_predator_missile_mp": - break; + var_06 = playergetkillstreaklastweapon(var_09); + maps\mp\_utility::_giveweapon(var_06); + } + + if(var_09) + { + thread waittakekillstreakweapon(var_02); + } + + if(shouldswitchweaponpostkillstreak(var_09,var_02,var_03,var_05) && !isdefined(self.justswitchedtokillstreakweapon)) + { + switch(var_02) + { + case "killstreak_predator_missile_mp": + if(!var_09 && 1.2 - var_0B > 0) + { + wait(1.2 - var_0B); + } + break; + } + + if(!isdefined(self.underwater)) + { + if(!isdefined(level.ishorde) || isdefined(level.ishorde) && level.ishorde && !level.hordeweaponsjammed && issubstr(var_02,"turrethead")) + { + maps\mp\_utility::switch_to_last_weapon(var_06); + } + } + else + { + self.water_last_weapon = var_06; + } + } + + if(self getcurrentweapon() == "none") + { + while(self getcurrentweapon() == "none") + { + wait(0.05); + } + + waittillframeend; + } + + if(isdefined(level.cb_usedkillstreak) && var_09) + { + [[ level.cb_usedkillstreak ]](var_03,var_04,var_07); } } } @@ -934,11 +968,14 @@ switchweaponafterraiseanimation(param_00,param_01) switch(param_00) { case "killstreak_uav_mp": + wait(0.75); break; default: break; } + + maps\mp\_utility::switch_to_last_weapon(param_01); } //Function Number: 26 @@ -1057,12 +1094,19 @@ shouldswitchweaponpostkillstreak(param_00,param_01,param_02,param_03) switch(param_02) { case "warbird": - break; + return common_scripts\utility::array_contains(param_03,"warbird_ai_attack") || common_scripts\utility::array_contains(param_03,"warbird_ai_follow"); case "zm_ugv": case "assault_ugv": - break; + return common_scripts\utility::array_contains(param_03,"assault_ugv_ai"); } + + if(maps\mp\_utility::isridekillstreak(param_02)) + { + return 0; + } + + return 1; } //Function Number: 30 @@ -1071,10 +1115,10 @@ shouldswitchweaponafterraiseanimation(param_00) switch(param_00) { case "killstreak_uav_mp": - break; + return 1; default: - break; + return 0; } } @@ -1609,18 +1653,23 @@ getkillstreakcrateicon(param_00,param_01) switch(param_01.size) { case 1: + var_02 = 15; break; case 2: + var_02 = 16; break; case 3: + var_02 = 17; break; default: break; } } + + return tablelookup(level.killstreak_string_table,1,param_00,var_02); } //Function Number: 49 @@ -2307,38 +2356,98 @@ pc_watchstreakuse() thread pc_watchcontrolschanged(); } - var_00 = common_scripts\utility::waittill_any_return("streakUsed1","streakUsed2","streakUsed3","streakUsed4","streakUsed5"); - if(common_scripts\utility::is_player_gamepad_enabled()) + for(;;) { - continue; - } + var_00 = common_scripts\utility::waittill_any_return("streakUsed1","streakUsed2","streakUsed3","streakUsed4","streakUsed5"); + if(common_scripts\utility::is_player_gamepad_enabled()) + { + continue; + } - if(!isdefined(var_00)) - { - continue; - } + if(!isdefined(var_00)) + { + continue; + } - if(isdefined(self.changingweapon) && self.changingweapon == "none") - { - continue; - } + if(isdefined(self.changingweapon) && self.changingweapon == "none") + { + continue; + } - switch(var_00) - { - case "streakUsed1": - break; + switch(var_00) + { + case "streakUsed1": + if(self.pers["killstreaks"][level.killstreak_gimme_slot].available && self.actionslotenabled[level.killstreak_gimme_slot]) + { + self.killstreakindexweapon = level.killstreak_gimme_slot; + } + break; + + case "streakUsed2": + if(self.pers["killstreaks"][level.killstreak_slot_1].available && self.actionslotenabled[level.killstreak_slot_1]) + { + self.killstreakindexweapon = level.killstreak_slot_1; + } + break; + + case "streakUsed3": + if(self.pers["killstreaks"][level.killstreak_slot_2].available && self.actionslotenabled[level.killstreak_slot_2]) + { + self.killstreakindexweapon = level.killstreak_slot_2; + } + break; + + case "streakUsed4": + if(self.pers["killstreaks"][level.killstreak_slot_3].available && self.actionslotenabled[level.killstreak_slot_3]) + { + self.killstreakindexweapon = level.killstreak_slot_3; + } + break; + + case "streakUsed5": + if(self.pers["killstreaks"][level.killstreak_slot_4].available && self.actionslotenabled[level.killstreak_slot_4]) + { + self.killstreakindexweapon = level.killstreak_slot_4; + } + break; + } - case "streakUsed2": - break; + if(isdefined(self.killstreakindexweapon) && !self.pers["killstreaks"][self.killstreakindexweapon].available) + { + self.killstreakindexweapon = undefined; + } - case "streakUsed3": - break; + if(isdefined(self.killstreakindexweapon)) + { + if(!isbot(self)) + { + disablekillstreakactionslots(); + } - case "streakUsed4": - break; + for(;;) + { + self waittill("weapon_change",var_01); + if(isdefined(self.killstreakindexweapon)) + { + var_02 = maps\mp\_utility::getkillstreakweapon(self.pers["killstreaks"][self.killstreakindexweapon].streakname,self.pers["killstreaks"][self.killstreakindexweapon].modules); + if(var_01 == var_02 || var_01 == "none" || var_02 == "killstreak_uav_mp" && var_01 == "uav_remote_mp" || var_02 == "killstreak_recreation_mp" && var_01 == "uav_remote_mp") + { + continue; + } - case "streakUsed5": - break; + break; + } + + break; + } + + if(!isbot(self)) + { + enablekillstreakactionslots(); + } + + self.killstreakindexweapon = undefined; + } } } diff --git a/AW/PC/ZM/maps/mp/killstreaks/_killstreaks_init.gsc b/AW/PC/maps/mp/killstreaks/_killstreaks_init.gsc similarity index 96% rename from AW/PC/ZM/maps/mp/killstreaks/_killstreaks_init.gsc rename to AW/PC/maps/mp/killstreaks/_killstreaks_init.gsc index 2c0bda2..805b591 100644 --- a/AW/PC/ZM/maps/mp/killstreaks/_killstreaks_init.gsc +++ b/AW/PC/maps/mp/killstreaks/_killstreaks_init.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_killstreaks_init.gsc + * Decompiled File: mp\killstreaks\_killstreaks_init.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 48 ms - * Timestamp: 10/27/2023 2:09:37 AM + * Decompile Time: 68 ms + * Timestamp: 4/22/2024 2:11:55 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/killstreaks/_marking_util.gsc b/AW/PC/maps/mp/killstreaks/_marking_util.gsc similarity index 77% rename from AW/PC/MP/maps/mp/killstreaks/_marking_util.gsc rename to AW/PC/maps/mp/killstreaks/_marking_util.gsc index fc724fb..7cb364f 100644 --- a/AW/PC/MP/maps/mp/killstreaks/_marking_util.gsc +++ b/AW/PC/maps/mp/killstreaks/_marking_util.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_marking_util.gsc + * Decompiled File: mp\killstreaks\_marking_util.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 15 ms - * Timestamp: 10/27/2023 1:51:56 AM + * Decompile Time: 29 ms + * Timestamp: 4/22/2024 2:11:55 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/maps/mp/killstreaks/_missile_strike.gsc b/AW/PC/maps/mp/killstreaks/_missile_strike.gsc similarity index 99% rename from AW/PC/ZM/maps/mp/killstreaks/_missile_strike.gsc rename to AW/PC/maps/mp/killstreaks/_missile_strike.gsc index 4606be1..c8ddc40 100644 --- a/AW/PC/ZM/maps/mp/killstreaks/_missile_strike.gsc +++ b/AW/PC/maps/mp/killstreaks/_missile_strike.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_missile_strike.gsc + * Decompiled File: mp\killstreaks\_missile_strike.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 63 - * Decompile Time: 986 ms - * Timestamp: 10/27/2023 2:09:41 AM + * Decompile Time: 979 ms + * Timestamp: 4/22/2024 2:11:58 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/maps/mp/killstreaks/_nuke.gsc b/AW/PC/maps/mp/killstreaks/_nuke.gsc similarity index 98% rename from AW/PC/ZM/maps/mp/killstreaks/_nuke.gsc rename to AW/PC/maps/mp/killstreaks/_nuke.gsc index 2849be5..5e9af6c 100644 --- a/AW/PC/ZM/maps/mp/killstreaks/_nuke.gsc +++ b/AW/PC/maps/mp/killstreaks/_nuke.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_nuke.gsc + * Decompiled File: mp\killstreaks\_nuke.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 21 - * Decompile Time: 325 ms - * Timestamp: 10/27/2023 2:09:42 AM + * Decompile Time: 314 ms + * Timestamp: 4/22/2024 2:12:00 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/killstreaks/_orbital_carepackage.gsc b/AW/PC/maps/mp/killstreaks/_orbital_carepackage.gsc similarity index 98% rename from AW/PC/MP/maps/mp/killstreaks/_orbital_carepackage.gsc rename to AW/PC/maps/mp/killstreaks/_orbital_carepackage.gsc index bc84238..5494a34 100644 --- a/AW/PC/MP/maps/mp/killstreaks/_orbital_carepackage.gsc +++ b/AW/PC/maps/mp/killstreaks/_orbital_carepackage.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_orbital_carepackage.gsc + * Decompiled File: mp\killstreaks\_orbital_carepackage.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 38 - * Decompile Time: 584 ms - * Timestamp: 10/27/2023 1:52:03 AM + * Decompile Time: 615 ms + * Timestamp: 4/22/2024 2:12:02 AM *******************************************************************/ //Function Number: 1 @@ -257,25 +257,25 @@ getdroptypefromstreakname(param_00) switch(param_00) { case "orbital_carepackage_juggernaut_exosuit": - break; + return "orbital_carepackage_juggernaut_exosuit"; case "airdrop_reinforcement_common": - break; + return "airdrop_reinforcement_common"; case "airdrop_reinforcement_uncommon": - break; + return "airdrop_reinforcement_uncommon"; case "airdrop_reinforcement_rare": - break; + return "airdrop_reinforcement_rare"; case "airdrop_reinforcement_practice": - break; + return "airdrop_reinforcement_practice"; case "horde_support_drop": - break; + return "horde_support_drop"; default: - break; + return "airdrop_assault"; } } diff --git a/AW/PC/ZM/maps/mp/killstreaks/_orbital_strike.gsc b/AW/PC/maps/mp/killstreaks/_orbital_strike.gsc similarity index 99% rename from AW/PC/ZM/maps/mp/killstreaks/_orbital_strike.gsc rename to AW/PC/maps/mp/killstreaks/_orbital_strike.gsc index 592019a..4e821d0 100644 --- a/AW/PC/ZM/maps/mp/killstreaks/_orbital_strike.gsc +++ b/AW/PC/maps/mp/killstreaks/_orbital_strike.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_orbital_strike.gsc + * Decompiled File: mp\killstreaks\_orbital_strike.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 75 - * Decompile Time: 1187 ms - * Timestamp: 10/27/2023 2:09:48 AM + * Decompile Time: 1172 ms + * Timestamp: 4/22/2024 2:12:05 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/killstreaks/_orbital_util.gsc b/AW/PC/maps/mp/killstreaks/_orbital_util.gsc similarity index 99% rename from AW/PC/MP/maps/mp/killstreaks/_orbital_util.gsc rename to AW/PC/maps/mp/killstreaks/_orbital_util.gsc index 38b5b1a..c2996c6 100644 --- a/AW/PC/MP/maps/mp/killstreaks/_orbital_util.gsc +++ b/AW/PC/maps/mp/killstreaks/_orbital_util.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_orbital_util.gsc + * Decompiled File: mp\killstreaks\_orbital_util.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 37 - * Decompile Time: 557 ms - * Timestamp: 10/27/2023 1:52:09 AM + * Decompile Time: 580 ms + * Timestamp: 4/22/2024 2:12:07 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/maps/mp/killstreaks/_orbitalsupport.gsc b/AW/PC/maps/mp/killstreaks/_orbitalsupport.gsc similarity index 99% rename from AW/PC/ZM/maps/mp/killstreaks/_orbitalsupport.gsc rename to AW/PC/maps/mp/killstreaks/_orbitalsupport.gsc index dad1393..c2621d5 100644 --- a/AW/PC/ZM/maps/mp/killstreaks/_orbitalsupport.gsc +++ b/AW/PC/maps/mp/killstreaks/_orbitalsupport.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_orbitalsupport.gsc + * Decompiled File: mp\killstreaks\_orbitalsupport.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 77 - * Decompile Time: 1181 ms - * Timestamp: 10/27/2023 2:09:54 AM + * Decompile Time: 1195 ms + * Timestamp: 4/22/2024 2:12:11 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/killstreaks/_placeable.gsc b/AW/PC/maps/mp/killstreaks/_placeable.gsc similarity index 99% rename from AW/PC/MP/maps/mp/killstreaks/_placeable.gsc rename to AW/PC/maps/mp/killstreaks/_placeable.gsc index 9ef4136..f2c9e34 100644 --- a/AW/PC/MP/maps/mp/killstreaks/_placeable.gsc +++ b/AW/PC/maps/mp/killstreaks/_placeable.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_placeable.gsc + * Decompiled File: mp\killstreaks\_placeable.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 30 - * Decompile Time: 491 ms - * Timestamp: 10/27/2023 1:52:15 AM + * Decompile Time: 497 ms + * Timestamp: 4/22/2024 2:12:13 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/killstreaks/_remoteturret.gsc b/AW/PC/maps/mp/killstreaks/_remoteturret.gsc similarity index 98% rename from AW/PC/MP/maps/mp/killstreaks/_remoteturret.gsc rename to AW/PC/maps/mp/killstreaks/_remoteturret.gsc index cb0cb54..3f3566c 100644 --- a/AW/PC/MP/maps/mp/killstreaks/_remoteturret.gsc +++ b/AW/PC/maps/mp/killstreaks/_remoteturret.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_remoteturret.gsc + * Decompiled File: mp\killstreaks\_remoteturret.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 95 - * Decompile Time: 1644 ms - * Timestamp: 10/27/2023 1:52:21 AM + * Decompile Time: 1410 ms + * Timestamp: 4/22/2024 2:12:17 AM *******************************************************************/ //Function Number: 1 @@ -2137,28 +2137,45 @@ sentry_heatmonitor(param_00,param_01,param_02) var_03 = weaponfiretime(param_00); var_04 = 0; var_05 = 0; - if(self.heatlevel != var_04) + for(;;) { - wait(var_03); - } - else - { - self.heatlevel = max(0,self.heatlevel - 0.05); - } - - if(self.heatlevel > param_01) - { - self.overheated = 1; - self turretsetbarrelspinenabled(0); - thread playheatfx(); - switch(self.turrettype) + if(self.heatlevel != var_04) { - case "mg_turret": - break; - - default: - break; + wait(var_03); } + else + { + self.heatlevel = max(0,self.heatlevel - 0.05); + } + + if(self.heatlevel > param_01) + { + self.overheated = 1; + self turretsetbarrelspinenabled(0); + thread playheatfx(); + switch(self.turrettype) + { + case "mg_turret": + playfxontag(common_scripts\utility::getfx("sentry_smoke_mp"),self,"tag_aim"); + break; + + default: + break; + } + + while(self.heatlevel) + { + self.heatlevel = max(0,self.heatlevel - param_02); + wait(0.1); + } + + self turretsetbarrelspinenabled(1); + self.overheated = 0; + self notify("not_overheated"); + } + + var_04 = self.heatlevel; + wait(0.05); } } diff --git a/AW/PC/MP/maps/mp/killstreaks/_rippedturret.gsc b/AW/PC/maps/mp/killstreaks/_rippedturret.gsc similarity index 98% rename from AW/PC/MP/maps/mp/killstreaks/_rippedturret.gsc rename to AW/PC/maps/mp/killstreaks/_rippedturret.gsc index dd8993e..8ab3234 100644 --- a/AW/PC/MP/maps/mp/killstreaks/_rippedturret.gsc +++ b/AW/PC/maps/mp/killstreaks/_rippedturret.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_rippedturret.gsc + * Decompiled File: mp\killstreaks\_rippedturret.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 20 - * Decompile Time: 311 ms - * Timestamp: 10/27/2023 1:52:22 AM + * Decompile Time: 309 ms + * Timestamp: 4/22/2024 2:12:19 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/killstreaks/_teamammorefill.gsc b/AW/PC/maps/mp/killstreaks/_teamammorefill.gsc similarity index 90% rename from AW/PC/MP/maps/mp/killstreaks/_teamammorefill.gsc rename to AW/PC/maps/mp/killstreaks/_teamammorefill.gsc index da0ee38..aa03005 100644 --- a/AW/PC/MP/maps/mp/killstreaks/_teamammorefill.gsc +++ b/AW/PC/maps/mp/killstreaks/_teamammorefill.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_teamammorefill.gsc + * Decompiled File: mp\killstreaks\_teamammorefill.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 4 - * Decompile Time: 57 ms - * Timestamp: 10/27/2023 1:52:23 AM + * Decompile Time: 80 ms + * Timestamp: 4/22/2024 2:12:19 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/maps/mp/killstreaks/_uav.gsc b/AW/PC/maps/mp/killstreaks/_uav.gsc similarity index 99% rename from AW/PC/ZM/maps/mp/killstreaks/_uav.gsc rename to AW/PC/maps/mp/killstreaks/_uav.gsc index a9dd14e..605ef11 100644 --- a/AW/PC/ZM/maps/mp/killstreaks/_uav.gsc +++ b/AW/PC/maps/mp/killstreaks/_uav.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_uav.gsc + * Decompiled File: mp\killstreaks\_uav.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 33 - * Decompile Time: 512 ms - * Timestamp: 10/27/2023 2:10:02 AM + * Decompile Time: 535 ms + * Timestamp: 4/22/2024 2:12:21 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/maps/mp/killstreaks/_warbird.gsc b/AW/PC/maps/mp/killstreaks/_warbird.gsc similarity index 99% rename from AW/PC/ZM/maps/mp/killstreaks/_warbird.gsc rename to AW/PC/maps/mp/killstreaks/_warbird.gsc index 801f1af..8cb892f 100644 --- a/AW/PC/ZM/maps/mp/killstreaks/_warbird.gsc +++ b/AW/PC/maps/mp/killstreaks/_warbird.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_warbird.gsc + * Decompiled File: mp\killstreaks\_warbird.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 93 - * Decompile Time: 1507 ms - * Timestamp: 10/27/2023 2:10:07 AM + * Decompile Time: 1420 ms + * Timestamp: 4/22/2024 2:12:26 AM *******************************************************************/ //Function Number: 1 @@ -354,15 +354,19 @@ warbirdrockethudupdate(param_00) switch(param_00.remainingrocketshots) { case 0: + self setclientomnvar("ui_warbird_missile",0); break; case 1: + self setclientomnvar("ui_warbird_missile",1); break; case 2: + self setclientomnvar("ui_warbird_missile",2); break; case 3: + self setclientomnvar("ui_warbird_missile",3); break; } } diff --git a/AW/PC/ZM/maps/mp/killstreaks/streak_mp_bigben2.gsc b/AW/PC/maps/mp/killstreaks/streak_mp_bigben2.gsc similarity index 99% rename from AW/PC/ZM/maps/mp/killstreaks/streak_mp_bigben2.gsc rename to AW/PC/maps/mp/killstreaks/streak_mp_bigben2.gsc index eccde9e..986f03a 100644 --- a/AW/PC/ZM/maps/mp/killstreaks/streak_mp_bigben2.gsc +++ b/AW/PC/maps/mp/killstreaks/streak_mp_bigben2.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\killstreaks\streak_mp_bigben2.gsc + * Decompiled File: mp\killstreaks\streak_mp_bigben2.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 26 - * Decompile Time: 452 ms - * Timestamp: 10/27/2023 2:07:05 AM + * Decompile Time: 396 ms + * Timestamp: 4/22/2024 2:12:27 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/killstreaks/streak_mp_blackbox.gsc b/AW/PC/maps/mp/killstreaks/streak_mp_blackbox.gsc similarity index 84% rename from AW/PC/MP/maps/mp/killstreaks/streak_mp_blackbox.gsc rename to AW/PC/maps/mp/killstreaks/streak_mp_blackbox.gsc index ad21a8d..e62d454 100644 --- a/AW/PC/MP/maps/mp/killstreaks/streak_mp_blackbox.gsc +++ b/AW/PC/maps/mp/killstreaks/streak_mp_blackbox.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\killstreaks\streak_mp_blackbox.gsc + * Decompiled File: mp\killstreaks\streak_mp_blackbox.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC - * Function Count: 28 - * Decompile Time: 500 ms - * Timestamp: 10/27/2023 1:44:47 AM + * Function Count: 26 + * Decompile Time: 395 ms + * Timestamp: 4/22/2024 2:12:28 AM *******************************************************************/ //Function Number: 1 @@ -106,7 +106,7 @@ enable_alien_mode() level.perkunsetfuncs["specialty_exo_creature"] = ::unsetcreature; self.map_killstreak_active = 1; disable_exo_usage(); - alien_mode_abilities(0); + alien_mode_abilities(); enable_clientfx(); enable_fx(); thread alien_mode_reapply_on_death(); @@ -128,7 +128,17 @@ disable_alien_mode() alien_extra_health_off(); self allowsprint(0); wait(0.1); - remove_alien_perks(); + maps\mp\_utility::_clearperks(); + self.perks = self.oldperks; + maps\mp\perks\_perks::applyperks(); + foreach(var_01 in self.loadoutperks) + { + if(var_01 == "specialty_exo_blastsuppressor") + { + maps\mp\_utility::giveperk("specialty_exo_blastsuppressor",0); + } + } + self allowsprint(1); self notify("stop_exo_repulsor"); self.killstreaksdisabled = undefined; @@ -239,10 +249,10 @@ reenable_exo_usage() } //Function Number: 10 -alien_mode_abilities(param_00) +alien_mode_abilities() { alien_mode_overdrive_on(); - thread alien_extra_health_on(param_00); + alien_extra_health_on(); give_alien_perks(); self.killstreaksdisabled = 1; thread alien_mode_exo_repulsor_on(); @@ -252,6 +262,7 @@ alien_mode_abilities(param_00) //Function Number: 11 give_alien_perks() { + self.oldperks = self.perks; self setviewkickscale(0.5); maps\mp\_utility::giveperk("specialty_exo_slamboots",0); maps\mp\_utility::giveperk("specialty_radarimmune",0); @@ -291,127 +302,17 @@ give_alien_perks() } //Function Number: 12 -should_remove_alien_perk(param_00) -{ - if(maps\mp\_utility::_hasperk(param_00)) - { - return 0; - } - - var_01 = isdefined(self.reinforcementperks) && isdefined(self.reinforcementperks[param_00]) && self.reinforcementperks[param_00]; - if(var_01) - { - return 0; - } - - return 1; -} - -//Function Number: 13 -remove_alien_perks() -{ - if(should_remove_alien_perk("specialty_extended_battery")) - { - maps\mp\_utility::_unsetperk("specialty_exo_slamboots"); - } - - if(should_remove_alien_perk("specialty_class_lowprofile")) - { - maps\mp\_utility::_unsetperk("specialty_radarimmune"); - maps\mp\_utility::_unsetperk("specialty_exoping_immune"); - } - - if(should_remove_alien_perk("specialty_class_flakjacket")) - { - maps\mp\_utility::_unsetperk("specialty_hard_shell"); - maps\mp\_utility::_unsetperk("specialty_throwback"); - maps\mp\_utility::_unsetperk("_specialty_blastshield"); - } - - if(should_remove_alien_perk("specialty_class_lightweight")) - { - maps\mp\_utility::_unsetperk("specialty_lightweight"); - } - - if(should_remove_alien_perk("specialty_class_dangerclose")) - { - maps\mp\_utility::_unsetperk("specialty_explosivedamage"); - } - - if(should_remove_alien_perk("specialty_class_blindeye")) - { - maps\mp\_utility::_unsetperk("specialty_blindeye"); - maps\mp\_utility::_unsetperk("specialty_plainsight"); - } - - if(should_remove_alien_perk("specialty_class_coldblooded")) - { - maps\mp\_utility::_unsetperk("specialty_coldblooded"); - maps\mp\_utility::_unsetperk("specialty_spygame"); - maps\mp\_utility::_unsetperk("specialty_heartbreaker"); - } - - if(should_remove_alien_perk("specialty_class_peripherals") || maps\mp\_utility::practiceroundgame()) - { - maps\mp\_utility::_unsetperk("specialty_moreminimap"); - maps\mp\_utility::_unsetperk("specialty_silentkill"); - } - - if(should_remove_alien_perk("specialty_class_fasthands")) - { - maps\mp\_utility::_unsetperk("specialty_quickswap"); - maps\mp\_utility::_unsetperk("specialty_fastoffhand"); - maps\mp\_utility::_unsetperk("specialty_sprintreload"); - } - - if(should_remove_alien_perk("specialty_class_dexterity")) - { - maps\mp\_utility::_unsetperk("specialty_sprintfire"); - } - - if(should_remove_alien_perk("specialty_class_hardwired")) - { - maps\mp\_utility::_unsetperk("specialty_empimmune"); - maps\mp\_utility::_unsetperk("specialty_stun_resistance"); - } - - if(should_remove_alien_perk("specialty_class_toughness")) - { - self setviewkickscale(0.5); - } - - if(should_remove_alien_perk("specialty_class_scavenger")) - { - maps\mp\_utility::_unsetperk("specialty_scavenger"); - maps\mp\_utility::_unsetperk("specialty_bulletresupply"); - maps\mp\_utility::_unsetperk("specialty_extraammo"); - } - - if(should_remove_alien_perk("specialty_class_hardline")) - { - maps\mp\_utility::_unsetperk("specialty_hardline"); - } - - maps\mp\_utility::_unsetperk("specialty_exo_creature"); -} - -//Function Number: 14 -alien_extra_health_on(param_00) +alien_extra_health_on() { thread maps\mp\perks\_perkfunctions::setlightarmor(); self.maxhealth = int(self.maxhealth * 3); self.ignoreregendelay = 1; self.healthregenlevel = 0.99; - if(param_00) - { - self waittill("playerHealthRegen"); - } - self notify("damage"); maps\mp\_extrahealth::killstimfx(); } -//Function Number: 15 +//Function Number: 13 alien_extra_health_off() { thread maps\mp\perks\_perkfunctions::unsetlightarmor(); @@ -433,7 +334,7 @@ alien_extra_health_off() maps\mp\_extrahealth::killstimfx(); } -//Function Number: 16 +//Function Number: 14 alien_mode_overdrive_on() { if(isdefined(self.overclock_on) && self.overclock_on == 1) @@ -461,7 +362,7 @@ alien_mode_overdrive_on() thread maps\mp\_adrenaline::killoverclockfx(); } -//Function Number: 17 +//Function Number: 15 alien_mode_overdrive_off() { self notify("EndAdrenaline"); @@ -484,7 +385,7 @@ alien_mode_overdrive_off() self.adrenaline_speed_scalar = undefined; } -//Function Number: 18 +//Function Number: 16 alien_mode_exo_ping_on() { if(isdefined(self.exo_ping_on) && self.exo_ping_on == 1) @@ -512,7 +413,7 @@ alien_mode_exo_ping_on() } } -//Function Number: 19 +//Function Number: 17 alien_mode_exo_repulsor_on() { if(!isdefined(level.exo_repulsor_impact)) @@ -548,7 +449,7 @@ alien_mode_exo_repulsor_on() thread alien_mode_repulsor_on(); } -//Function Number: 20 +//Function Number: 18 alien_mode_repulsor_on() { level endon("game_ended"); @@ -760,7 +661,7 @@ alien_mode_repulsor_on() thread maps\mp\_exo_repulsor::stop_repulsor(1); } -//Function Number: 21 +//Function Number: 19 alien_mode_unlimited_ammo() { self endon("notify_end_killstreak_mode"); @@ -772,7 +673,7 @@ alien_mode_unlimited_ammo() } } -//Function Number: 22 +//Function Number: 20 alien_mode_reapply_on_death() { self endon("notify_end_killstreak_mode"); @@ -780,15 +681,15 @@ alien_mode_reapply_on_death() { self waittill("death"); disable_alien_mode(); - self waittill("spawnplayer_giveloadout"); - alien_mode_abilities(1); - thread aud_play_respawn_squish(); - wait(0.2); + self waittill("spawned_player"); + waittillframeend; + alien_mode_abilities(); enable_fx(); + thread aud_play_respawn_squish(); } } -//Function Number: 23 +//Function Number: 21 alien_mode_timer() { level endon("game_ended"); @@ -798,33 +699,33 @@ alien_mode_timer() wait(60); } -//Function Number: 24 +//Function Number: 22 enable_clientfx() { self setclutoverrideenableforplayer("clut_mp_blackbox_ks",0.2); } -//Function Number: 25 +//Function Number: 23 disable_clientfx() { self setclutoverridedisableforplayer(0.5); } -//Function Number: 26 +//Function Number: 24 enable_fx() { playfxontag(level.killstreak_chest_fx,self,"j_spine4"); playfxontag(level.killstreak_trail_fx,self,"tag_origin"); } -//Function Number: 27 +//Function Number: 25 disable_fx() { stopfxontag(level.killstreak_trail_fx,self,"tag_origin"); stopfxontag(level.killstreak_chest_fx,self,"j_spine4"); } -//Function Number: 28 +//Function Number: 26 aud_play_respawn_squish() { wait(0.5); diff --git a/AW/PC/maps/mp/killstreaks/streak_mp_comeback.gsc b/AW/PC/maps/mp/killstreaks/streak_mp_comeback.gsc new file mode 100644 index 0000000..83e2063 --- /dev/null +++ b/AW/PC/maps/mp/killstreaks/streak_mp_comeback.gsc @@ -0,0 +1,285 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\killstreaks\streak_mp_comeback.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 14 + * Decompile Time: 218 ms + * Timestamp: 4/22/2024 2:12:29 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level.killstreakwieldweapons["killstreak_comeback_mp"] = "mp_comeback"; + level.killstreakfuncs["mp_comeback"] = ::tryusekillstreak; + level.mapkillstreak = "mp_comeback"; + level.mapkillstreakpickupstring = &"MP_COMEBACK_MAP_KILLSTREAK_PICKUP"; + level.mapcustombotkillstreakfunc = ::setupbotsformapkillstreak; + level.killstreak_tank_groups = []; + level.killstreak_tanks = getentarray("walker_tank","targetname"); + common_scripts\utility::array_thread(level.killstreak_tanks,::init_tank); + level.killstreak_tank_groups = common_scripts\utility::array_randomize(level.killstreak_tank_groups); + level.sky_nodes = []; + var_00 = getallnodes(); + foreach(var_02 in var_00) + { + if(nodeexposedtosky(var_02,1)) + { + level.sky_nodes[level.sky_nodes.size] = var_02; + } + } + + level.missile_start_offset = 20; + precachempanim("mp_comeback_spider_tank_idle"); + precachempanim("mp_comeback_spider_tank_fire"); +} + +//Function Number: 2 +setupbotsformapkillstreak() +{ + level thread maps\mp\bots\_bots_ks::bot_register_killstreak_func("mp_comeback",::maps\mp\bots\_bots_ks::bot_killstreak_simple_use); +} + +//Function Number: 3 +tryusekillstreak(param_00,param_01) +{ + var_02 = undefined; + foreach(var_04 in level.killstreak_tank_groups) + { + var_05 = !isdefined(var_02) || var_04.last_run_time < var_02.last_run_time; + if(!var_04.active && var_05) + { + var_02 = var_04; + } + } + + if(!isdefined(var_02)) + { + iprintlnbold(&"MP_COMEBACK_MAP_KILLSTREAK_NOT_AVAILABLE"); + return 0; + } + + var_02 thread group_run(self); + return 1; +} + +//Function Number: 4 +init_tank() +{ + self.start_origin = self.origin; + self.start_angles = self.angles; + self.objids = []; + var_00 = ["allies","axis"]; + foreach(var_02 in var_00) + { + self.objids[var_02] = maps\mp\gametypes\_gameobjects::getnextobjid(); + objective_add(self.objids[var_02],"invisible",(0,0,0)); + objective_icon(self.objids[var_02],common_scripts\utility::ter_op(var_02 == "allies","compass_objpoint_tank_friendly","compass_objpoint_tank_enemy")); + } + + self.group = self.script_noteworthy; + if(!isdefined(self.group)) + { + self.group = "default"; + } + + if(!isdefined(level.killstreak_tank_groups[self.group])) + { + level.killstreak_tank_groups[self.group] = init_new_tank_group(); + } + + var_04 = level.killstreak_tank_groups[self.group].tanks.size; + level.killstreak_tank_groups[self.group].tanks[var_04] = self; + tank_idle(self); +} + +//Function Number: 5 +init_new_tank_group() +{ + var_00 = spawnstruct(); + var_00.active = 0; + var_00.tanks = []; + var_00.last_run_time = 0; + return var_00; +} + +//Function Number: 6 +group_run(param_00) +{ + self.active = 1; + self.owner_team = param_00.team; + self.owner = param_00; + self.last_run_time = gettime(); + self.tank_count = self.tanks.size; + foreach(var_02 in self.tanks) + { + thread tank_run(var_02); + } + + self waittill("all_tanks_done"); + self.active = 0; +} + +//Function Number: 7 +tank_run(param_00,param_01) +{ + tank_show_icon(param_00); + tank_attack(param_00); + tank_idle(param_00); + tank_end(param_00); +} + +//Function Number: 8 +tank_show_icon(param_00) +{ + foreach(var_03, var_02 in param_00.objids) + { + objective_state(var_02,"active"); + if(var_03 == "allies") + { + objective_playerteam(var_02,self.owner getentitynumber()); + } + else + { + objective_playerenemyteam(var_02,self.owner getentitynumber()); + } + + objective_onentitywithrotation(var_02,param_00); + } +} + +//Function Number: 9 +tank_hide_icon(param_00) +{ + foreach(var_02 in param_00.objids) + { + objective_state(var_02,"invisible"); + } +} + +//Function Number: 10 +tank_idle(param_00) +{ + param_00 scriptmodelplayanimdeltamotion("mp_comeback_spider_tank_idle"); +} + +//Function Number: 11 +tank_attack(param_00) +{ + self.owner endon("disconnect"); + param_00 endon("tank_destroyed"); + param_00 playsound("walker_start"); + param_00 scriptmodelplayanimdeltamotion("mp_comeback_spider_tank_fire","comeback_tank"); + var_01 = 0; + var_02 = 0; + for(;;) + { + param_00 waittill("comeback_tank",var_03); + switch(var_03) + { + case "fire_right": + var_01++; + var_04 = "tag_missile_" + var_01 + "_r"; + tank_fire_missile(param_00,var_04); + break; + + case "fire_left": + var_02++; + var_04 = "tag_missile_" + var_02 + "_l"; + tank_fire_missile(param_00,var_04); + break; + + case "end": + break; + } + } +} + +//Function Number: 12 +tank_fire_missile(param_00,param_01) +{ + var_02 = param_00 gettagorigin(param_01); + var_03 = param_00 gettagangles(param_01); + var_04 = anglestoforward(var_03); + var_05 = var_02 + var_04 * level.missile_start_offset; + var_06 = var_05 + var_04; + var_07 = magicbullet("killstreak_comeback_mp",var_05,var_06,self.owner); + thread tank_missile_set_target(var_07); +} + +//Function Number: 13 +tank_missile_set_target(param_00) +{ + param_00 endon("death"); + wait(randomfloatrange(0.2,0.4)); + var_01 = undefined; + var_02 = randomfloatrange(0.5,1); + var_03 = gettime() + var_02 * 1000; + var_04 = maps\mp\_utility::getotherteam(self.owner_team); + while(gettime() < var_03 && !isdefined(var_01)) + { + var_05 = common_scripts\utility::array_randomize(level.players); + foreach(var_07 in var_05) + { + if(var_07.team != var_04) + { + continue; + } + + if(!maps\mp\_utility::isreallyalive(var_07)) + { + continue; + } + + if(isdefined(var_07.tank_no_target_time) && var_07.tank_no_target_time > gettime()) + { + continue; + } + + if(isdefined(var_07.spawntime) && var_07.spawntime + 3000 > gettime()) + { + continue; + } + + if(sighttracepassed(param_00.origin,var_07.origin + (0,0,40),0,param_00,var_07,0)) + { + var_01 = var_07; + break; + } + } + + wait(0.05); + } + + if(isdefined(var_01)) + { + var_01.tank_no_target_time = gettime() + 3000; + param_00 missile_settargetent(var_01); + return; + } + + var_09 = 250; + var_0A = var_09 * var_09; + var_0B = common_scripts\utility::random(level.sky_nodes); + if(isdefined(self.owner)) + { + for(var_0C = 0;var_0C < 10 && distancesquared(var_0B.origin,self.owner.origin) < var_0A;var_0C++) + { + var_0B = common_scripts\utility::random(level.sky_nodes); + } + } + + param_00 missile_settargetpos(var_0B.origin); +} + +//Function Number: 14 +tank_end(param_00) +{ + tank_hide_icon(param_00); + self.tank_count--; + if(self.tank_count == 0) + { + self notify("all_tanks_done"); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/killstreaks/streak_mp_dam.gsc b/AW/PC/maps/mp/killstreaks/streak_mp_dam.gsc new file mode 100644 index 0000000..bc9b6f8 --- /dev/null +++ b/AW/PC/maps/mp/killstreaks/streak_mp_dam.gsc @@ -0,0 +1,520 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\killstreaks\streak_mp_dam.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 23 + * Decompile Time: 372 ms + * Timestamp: 4/22/2024 2:12:31 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level.killstreakfuncs["mp_dam"] = ::tryusedamkillstreak; + level.mapkillstreak = "mp_dam"; + level.mapkillstreakpickupstring = &"MP_DAM_MAP_KILLSTREAK_PICKUP"; + level.dam_killstreak_duration = 30; + precacheshader("s1_railgun_hud_reticle_center"); + precacheshader("s1_railgun_hud_reticle_meter_circ"); + precacheshader("s1_railgun_hud_inner_frame_edge"); + precacheshader("s1_railgun_hud_inner_frame_edge_right"); + precacheitem("killstreak_dam_mp"); + precachemodel("mp_dam_large_caliber_turret"); + level.huditem = []; +} + +//Function Number: 2 +tryusedamkillstreak(param_00,param_01) +{ + if(isdefined(level.mp_dam_player)) + { + self iprintlnbold(&"MP_DAM_IN_USE"); + return 0; + } + + if(maps\mp\_utility::isusingremote()) + { + return 0; + } + + if(maps\mp\_utility::isairdenied()) + { + return 0; + } + + if(maps\mp\_utility::isemped()) + { + return 0; + } + + if(isdefined(self.controllingwarbird) && self.controllingwarbird == 1) + { + self iprintlnbold(&"MP_WARBIRD_ACTIVE"); + return 0; + } + + var_02 = maps\mp\killstreaks\_killstreaks::initridekillstreak(); + if(var_02 != "success") + { + return 0; + } + + maps\mp\_utility::setusingremote("mp_dam"); + var_02 = setmpdamplayer(self); + if(isdefined(var_02) && var_02) + { + maps\mp\_matchdata::logkillstreakevent("mp_dam",self.origin); + } + else if(maps\mp\_utility::isusingremote()) + { + maps\mp\_utility::clearusingremote(); + } + + return var_02; +} + +//Function Number: 3 +setmpdamplayer(param_00) +{ + self endon("mp_dam_player_removed"); + if(isdefined(level.mp_dam_player)) + { + return 0; + } + + level.mp_dam_player = param_00; + param_00 notifyonplayercommand("SwitchTurret","weapnext"); + param_00 notifyonplayercommand("SwitchVisionMode","+actionslot 1"); + thread maps\mp\_utility::teamplayercardsplash("used_mp_dam",param_00); + param_00 thread waitsetthermal(1); + if(getdvarint("camera_thirdPerson")) + { + param_00 maps\mp\_utility::setthirdpersondof(0); + } + + param_00 thread cycleturretcontrol(); + param_00 thread removempdamplayeraftertime(level.dam_killstreak_duration); + param_00 thread removempdamplayerondisconnect(); + param_00 thread removempdamplayeronchangeteams(); + param_00 thread removempdamplayeronspectate(); + param_00 thread removempdamplayerongamecleanup(); + param_00 thread removempdamplayeroncommand(); + return 1; +} + +//Function Number: 4 +cycleturretcontrol() +{ + self endon("mp_dam_player_removed"); + var_00 = self; + if(isdefined(level.damturrets)) + { + var_00 enableslowaim(0.2,0.2); + for(;;) + { + for(var_01 = 0;var_01 < level.damturrets.size;var_01++) + { + var_02 = level.damturrets[var_01]; + var_02.owner = var_00; + var_02.team = var_00.team; + var_02.pers["team"] = var_00.team; + if(level.teambased) + { + var_02 setturretteam(var_00.team); + } + + var_00.turret = var_02; + var_02 setmode("sentry_manual"); + var_02 setsentryowner(var_00); + var_00 thread shotfired(var_02); + if(var_01 == 0) + { + var_00 playerlinkweaponviewtodelta(var_02,"tag_player",0,60,30,5,58,0); + } + else + { + var_00 playerlinkweaponviewtodelta(var_02,"tag_player",0,40,50,5,58,0); + } + + var_00 playerlinkedsetusebaseangleforviewclamp(1); + var_00 remotecontrolturret(var_02,40); + if(!isdefined(var_02.killcament)) + { + var_03 = (-142,0,562); + var_02.killcament = spawn("script_model",var_02 gettagorigin("tag_player") + var_03); + var_02.killcament setscriptmoverkillcam("explosive"); + var_02.killcament linkto(var_02); + var_02.killcament setcontents(0); + } + + wait(0.5); + if(isdefined(self.damthermal) && self.damthermal == 1) + { + self thermalvisionon(); + } + + self setclientomnvar("ui_damturret_toggle",1); + self waittill("SwitchTurret"); + if(isdefined(self.damthermal) && self.damthermal == 1) + { + self thermalvisionoff(); + } + + self setclientomnvar("ui_damturret_toggle",0); + if(isdefined(var_02.killcament)) + { + var_02.killcament delete(); + } + + var_00 transitionturret(); + var_00 unlink(); + var_00 remotecontrolturretoff(var_02); + var_02 setmode("manual"); + var_02 settargetentity(level.damdefaultaiment); + } + } + } +} + +//Function Number: 5 +transitionturret() +{ + self visionsetnakedforplayer("black_bw",0.75); + wait(0.8); + revertvisionsetforturretplayer(0.5); +} + +//Function Number: 6 +revertvisionsetforturretplayer(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 1; + } + + if(isdefined(level.nukedetonated) && isdefined(level.nukevisionset)) + { + self visionsetnakedforplayer(level.nukevisionset,param_00); + return; + } + + if(isdefined(self.usingremote) && isdefined(self.ridevisionset)) + { + self visionsetnakedforplayer(self.ridevisionset,param_00); + return; + } + + self visionsetnakedforplayer("",param_00); +} + +//Function Number: 7 +waitsetthermal(param_00) +{ + self endon("disconnect"); + level endon("mp_dam_player_removed"); + wait(param_00); + self visionsetthermalforplayer(game["thermal_vision"],0); + self thermalvisionfofoverlayon(); + self setblurforplayer(1.1,0); +} + +//Function Number: 8 +thermalvision() +{ + self endon("mp_dam_player_removed"); + for(;;) + { + self.damthermal = 0; + self waittill("SwitchVisionMode"); + self thermalvisionon(); + self.damthermal = 1; + self waittill("SwitchVisionMode"); + self thermalvisionoff(); + } +} + +//Function Number: 9 +creatempdamkillstreakclock() +{ + level endon("game_ended"); + self endon("disconnect"); + self endon("mp_dam_player_removed"); + self.dam_clock = maps\mp\gametypes\_hud_util::createtimer("hudsmall",0.9); + self.dam_clock maps\mp\gametypes\_hud_util::setpoint("CENTER","CENTER",0,-145); + self.dam_clock settimer(level.dam_killstreak_duration); + self.dam_clock.color = (1,1,1); + self.dam_clock.archived = 0; + self.dam_clock.foreground = 1; + thread destroympdamkillstreakclock(); +} + +//Function Number: 10 +destroympdamkillstreakclock() +{ + self waittill("mp_dam_player_removed"); + if(isdefined(self.dam_clock)) + { + self.dam_clock destroy(); + } +} + +//Function Number: 11 +removempdamplayeroncommand() +{ + self endon("mp_dam_player_removed"); + for(;;) + { + var_00 = 0; + while(self usebuttonpressed()) + { + var_00 = var_00 + 0.05; + if(var_00 > 0.75) + { + level thread removempdamplayer(self,0); + return; + } + + wait(0.05); + } + + wait(0.05); + } +} + +//Function Number: 12 +removempdamplayerongamecleanup() +{ + self endon("mp_dam_player_removed"); + level waittill("game_cleanup"); + level thread removempdamplayer(self,0); +} + +//Function Number: 13 +removempdamplayerondeath() +{ + self endon("mp_dam_player_removed"); + self waittill("death"); + level thread removempdamplayer(self,0); +} + +//Function Number: 14 +removempdamplayerondisconnect() +{ + self endon("mp_dam_player_removed"); + self waittill("disconnect"); + level thread removempdamplayer(self,1); +} + +//Function Number: 15 +removempdamplayeronchangeteams() +{ + self endon("mp_dam_player_removed"); + self waittill("joined_team"); + level thread removempdamplayer(self,0); +} + +//Function Number: 16 +removempdamplayeronspectate() +{ + self endon("mp_dam_player_removed"); + common_scripts\utility::waittill_any("joined_spectators","spawned"); + level thread removempdamplayer(self,0); +} + +//Function Number: 17 +removempdamplayeraftertime(param_00) +{ + self endon("mp_dam_player_removed"); + if(maps\mp\_utility::_hasperk("specialty_blackbox") && isdefined(self.specialty_blackbox_bonus)) + { + param_00 = param_00 * self.specialty_blackbox_bonus; + } + + maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(param_00); + level thread removempdamplayer(self,0); +} + +//Function Number: 18 +removempdamplayer(param_00,param_01) +{ + param_00 notify("mp_dam_player_removed"); + level notify("mp_dam_player_removed"); + waittillframeend; + if(!param_01) + { + param_00 setclientomnvar("ui_damturret_toggle",0); + param_00 setblurforplayer(0,0); + param_00 thermalvisionoff(); + param_00 thermalvisionfofoverlayoff(); + param_00 remotecontrolturretoff(param_00.turret); + param_00 unlink(); + param_00 maps\mp\_utility::clearusingremote(); + param_00 maps\mp\_utility::revertvisionsetforplayer(0.5); + param_00 disableslowaim(); + if(getdvarint("camera_thirdPerson")) + { + param_00 maps\mp\_utility::setthirdpersondof(1); + } + + if(isdefined(param_00.darkscreenoverlay)) + { + param_00.darkscreenoverlay destroy(); + } + + foreach(var_03 in level.damturrets) + { + var_03 setmode("manual"); + var_03 settargetentity(level.damdefaultaiment); + if(isdefined(var_03.killcament)) + { + var_03.killcament delete(); + } + } + + param_00.turret = undefined; + } + + level.mp_dam_player = undefined; +} + +//Function Number: 19 +overlay(param_00) +{ + level.huditem["thermal_vision"] = newclienthudelem(param_00); + level.huditem["thermal_vision"].x = 200; + level.huditem["thermal_vision"].y = 0; + level.huditem["thermal_vision"].alignx = "left"; + level.huditem["thermal_vision"].aligny = "top"; + level.huditem["thermal_vision"].horzalign = "left"; + level.huditem["thermal_vision"].vertalign = "top"; + level.huditem["thermal_vision"].fontscale = 2.5; + level.huditem["thermal_vision"] settext(&"AC130_HUD_FLIR"); + level.huditem["thermal_vision"].alpha = 1; + level.huditem["enhanced_vision"] = newclienthudelem(param_00); + level.huditem["enhanced_vision"].x = -200; + level.huditem["enhanced_vision"].y = 0; + level.huditem["enhanced_vision"].alignx = "right"; + level.huditem["enhanced_vision"].aligny = "top"; + level.huditem["enhanced_vision"].horzalign = "right"; + level.huditem["enhanced_vision"].vertalign = "top"; + level.huditem["enhanced_vision"].fontscale = 2.5; + level.huditem["enhanced_vision"] settext(&"AC130_HUD_OPTICS"); + level.huditem["enhanced_vision"].alpha = 1; + param_00 setblurforplayer(1.2,0); +} + +//Function Number: 20 +shotfired(param_00) +{ + self endon("mp_dam_player_removed"); + self endon("SwitchTurret"); + for(;;) + { + param_00 waittill("turret_fire"); + earthquake(0.25,1,param_00.origin,3500); + playrumbleonposition("artillery_rumble",param_00.origin); + thread shotfireddarkscreenoverlay(); + wait(0.05); + } +} + +//Function Number: 21 +shotfireddarkscreenoverlay() +{ + self endon("mp_dam_player_removed"); + self notify("darkScreenOverlay"); + self endon("darkScreenOverlay"); + if(!isdefined(self.darkscreenoverlay)) + { + self.darkscreenoverlay = newclienthudelem(self); + self.darkscreenoverlay.x = 0; + self.darkscreenoverlay.y = 0; + self.darkscreenoverlay.alignx = "left"; + self.darkscreenoverlay.aligny = "top"; + self.darkscreenoverlay.horzalign = "fullscreen"; + self.darkscreenoverlay.vertalign = "fullscreen"; + self.darkscreenoverlay setshader("black",640,480); + self.darkscreenoverlay.sort = -10; + self.darkscreenoverlay.alpha = 0; + } + + self.darkscreenoverlay.alpha = 0; + self.darkscreenoverlay fadeovertime(0.05); + self.darkscreenoverlay.alpha = 0.2; + wait(0.4); + self.darkscreenoverlay fadeovertime(0.8); + self.darkscreenoverlay.alpha = 0; +} + +//Function Number: 22 +movementaudio(param_00) +{ + self endon("mp_dam_player_removed"); + self endon("SwitchTurret"); + if(!isdefined(level.aud)) + { + level.aud = spawnstruct(); + } + + thread movementaudiocleanup(); + for(;;) + { + var_01 = param_00 getturretyawrate(); + var_01 = abs(var_01); + var_02 = param_00 getturretpitchrate(); + var_02 = abs(var_02); + if(var_01 > 0.1) + { + if(!isdefined(level.aud.turretyawlp)) + { + level.aud.turretyawlp = spawn("script_origin",param_00.origin); + level.aud.turretyawlp playloopsound("wpn_railgun_dam_lat_move_lp"); + } + } + else if(isdefined(level.aud.turretyawlp)) + { + level.aud.turretyawlp stoploopsound(); + level.aud.turretyawlp delete(); + level.aud.turretyawlp = undefined; + param_00 playsound("wpn_railgun_dam_lat_stop"); + } + + if(var_02 > 0.1) + { + if(!isdefined(level.aud.turretpitchlp)) + { + level.aud.turretpitchlp = spawn("script_origin",param_00.origin); + level.aud.turretpitchlp playloopsound("wpn_railgun_dam_vert_move_lp"); + } + } + else if(isdefined(level.aud.turretpitchlp)) + { + level.aud.turretpitchlp stoploopsound(); + level.aud.turretpitchlp delete(); + level.aud.turretpitchlp = undefined; + param_00 playsound("wpn_railgun_dam_vert_stop"); + } + + wait(0.05); + } +} + +//Function Number: 23 +movementaudiocleanup() +{ + self waittill("mp_dam_player_removed"); + if(isdefined(level.aud.turretyawlp)) + { + level.aud.turretyawlp stoploopsound(); + level.aud.turretyawlp delete(); + level.aud.turretyawlp = undefined; + } + + if(isdefined(level.aud.turretpitchlp)) + { + level.aud.turretpitchlp stoploopsound(); + level.aud.turretpitchlp delete(); + level.aud.turretpitchlp = undefined; + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/killstreaks/streak_mp_detroit.gsc b/AW/PC/maps/mp/killstreaks/streak_mp_detroit.gsc new file mode 100644 index 0000000..49b9491 --- /dev/null +++ b/AW/PC/maps/mp/killstreaks/streak_mp_detroit.gsc @@ -0,0 +1,313 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\killstreaks\streak_mp_detroit.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 17 + * Decompile Time: 266 ms + * Timestamp: 4/22/2024 2:12:32 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level.killstreakwieldweapons["detroit_tram_turret_mp"] = "mp_detroit"; + level.killstreakfuncs["mp_detroit"] = ::tryusekillstreak; + level.mapkillstreak = "mp_detroit"; + level.mapkillstreakpickupstring = &"MP_DETROIT_MAP_KILLSTREAK_PICKUP"; + level.getaerialkillstreakarray = ::tramlockonentsforteam; + level.streak_trams = getentarray("streak_tram","targetname"); + common_scripts\utility::array_thread(level.streak_trams,::maps\mp\mp_detroit_events::tram_init); + common_scripts\utility::array_thread(level.streak_trams,::tram_killstreak_init); + level.detroittramobjids = []; + var_00 = ["allies","axis"]; + foreach(var_02 in var_00) + { + level.detroittramobjids[var_02] = maps\mp\gametypes\_gameobjects::getnextobjid(); + objective_add(level.detroittramobjids[var_02],"invisible",(0,0,0)); + objective_icon(level.detroittramobjids[var_02],common_scripts\utility::ter_op(var_02 == "allies","compass_objpoint_tram_turret_friendly","compass_objpoint_tram_turret_enemy")); + } +} + +//Function Number: 2 +setupbotsformapkillstreak() +{ + level thread maps\mp\bots\_bots_ks::bot_register_killstreak_func("mp_detroit",::maps\mp\bots\_bots_ks::bot_killstreak_simple_use); +} + +//Function Number: 3 +tram_killstreak_init() +{ + self.getstingertargetposfunc = ::tram_stinger_target_pos; +} + +//Function Number: 4 +tram_stinger_target_pos() +{ + return self gettagorigin("tag_turret"); +} + +//Function Number: 5 +tramlockonentsforteam(param_00) +{ + var_01 = []; + foreach(var_03 in level.streak_trams) + { + if(var_03.active && isdefined(var_03.owner) && !level.teambased || var_03.owner.team == param_00) + { + var_01[var_01.size] = var_03; + } + } + + return var_01; +} + +//Function Number: 6 +tryusekillstreak(param_00,param_01) +{ + if(level.fauxvehiclecount + 1 >= maps\mp\_utility::maxvehiclesallowed()) + { + self iprintlnbold(&"MP_TOO_MANY_VEHICLES"); + return 0; + } + + var_02 = 0; + foreach(var_04 in level.streak_trams) + { + if(var_04.active) + { + var_02 = 1; + break; + } + else + { + var_04 maps\mp\mp_detroit_events::tram_reset(); + } + } + + var_06 = undefined; + if(!var_02) + { + level.streak_trams = sortbydistance(level.streak_trams,self.origin); + var_06 = level.streak_trams[0]; + } + + if(isdefined(var_06)) + { + var_07 = maps\mp\killstreaks\_killstreaks::initridekillstreak("mp_detroit_tram"); + if(var_07 != "success") + { + return 0; + } + + maps\mp\_utility::incrementfauxvehiclecount(); + thread run_tram_killstreak(var_06); + return 1; + } + + self iprintlnbold(&"MP_DETROIT_MAP_KILLSTREAK_NOT_AVAILABLE"); + return 0; +} + +//Function Number: 7 +run_tram_killstreak(param_00) +{ + var_01 = 35; + param_00 maps\mp\mp_detroit_events::tram_reset(); + param_00.owner = self; + param_00.team = self.team; + param_00.turret = param_00 spawn_tram_turret(); + param_00.isleaving = 0; + param_00.stopdamagefunc = 0; + param_00 tram_show_icon(); + param_00 thread maps\mp\gametypes\_damage::setentitydamagecallback(1000,undefined,::tramondeath,undefined,1); + self notifyonplayercommand("CancelTramStart","+usereload"); + self notifyonplayercommand("CancelTramEnd","-usereload"); + maps\mp\_utility::setusingremote("mp_detroit_tram"); + self remotecontrolturret(param_00.turret,30,param_00.angles[1] - 90); + param_00 thread tram_update_shooting_location(); + param_00 common_scripts\utility::make_entity_sentient_mp(param_00.team); + self playerlinkweaponviewtodelta(param_00,"tag_player",0,180,180,0,90,0); + self playerlinkedsetviewznear(0); + self thermalvisionfofoverlayon(); + self setclientomnvar("ui_detroit_tram_turret",1); + param_00 thread tram_killstreak_team_change_watch(); + param_00 thread tram_killstreak_cancel_watch(); + param_00 thread tram_killstreak_exit_watch(); + param_00 thread tram_killstreak_move(var_01); + param_00 thread tram_killstreak_match_ended(); + param_00 thread maps\mp\killstreaks\_killstreaks::updateaerialkillstreakmarker(); +} + +//Function Number: 8 +tram_update_shooting_location() +{ + var_00 = self.owner; + self endon("player_exit"); + var_00 endon("disconnect"); + self.turret endon("death"); + self.target_ent = spawn("script_model",(0,0,0)); + self.target_ent setmodel("tag_origin"); + self.turret turretsetgroundaimentity(self.target_ent); + for(;;) + { + var_01 = self.turret gettagorigin("tag_player"); + var_02 = self.turret gettagorigin("tag_player") + anglestoforward(self.turret gettagangles("tag_player")) * 20000; + var_03 = bullettrace(var_01,var_02,0,self.turret); + var_04 = var_03["position"]; + self.target_ent.origin = var_04; + wait 0.05; + } +} + +//Function Number: 9 +tram_killstreak_match_ended() +{ + self endon("player_exit"); + level waittill("game_ended"); + self notify("player_exit"); +} + +//Function Number: 10 +tram_show_icon() +{ + foreach(var_02, var_01 in level.detroittramobjids) + { + objective_state(var_01,"active"); + if(var_02 == "allies") + { + objective_playerteam(var_01,self.owner getentitynumber()); + } + else + { + objective_playerenemyteam(var_01,self.owner getentitynumber()); + } + + objective_onentitywithrotation(var_01,self.turret.obj_ent); + } +} + +//Function Number: 11 +tram_hide_icon() +{ + foreach(var_01 in level.detroittramobjids) + { + objective_state(var_01,"invisible"); + } +} + +//Function Number: 12 +tramondeath(param_00,param_01,param_02,param_03) +{ + self notify("player_exit"); + maps\mp\gametypes\_damage::onkillstreakkilled(param_00,param_01,param_02,param_03,"map_killstreak_destroyed",undefined,"callout_destroyed_tram_turet",1); + wait 0.05; + playfxontag(common_scripts\utility::getfx("vehicle_pdrone_explosion"),self,"tag_turret"); + if(isdefined(self.turret)) + { + self.turret delete(); + } + + if(isdefined(self.target_ent)) + { + self.target_ent delete(); + } +} + +//Function Number: 13 +tram_killstreak_cancel_watch() +{ + var_00 = self.owner; + self endon("player_exit"); + var_00 endon("disconnect"); + for(;;) + { + var_00 waittill("CancelTramStart"); + var_01 = var_00 common_scripts\utility::waittill_any_timeout(1,"CancelTramEnd"); + if(var_01 == "timeout") + { + self notify("player_exit"); + } + } +} + +//Function Number: 14 +tram_killstreak_team_change_watch() +{ + var_00 = self.owner; + self endon("player_exit"); + var_00 endon("disconnect"); + var_00 common_scripts\utility::waittill_any("joined_team","joined_spectators"); + self notify("player_exit"); +} + +//Function Number: 15 +tram_killstreak_move(param_00) +{ + maps\mp\mp_detroit_events::tram_spline_move(param_00); + self notify("player_exit"); + self waittill("trackEnd"); + if(isdefined(self.turret)) + { + self.turret delete(); + } + + if(isdefined(self.target_ent)) + { + self.target_ent delete(); + } +} + +//Function Number: 16 +tram_killstreak_exit_watch() +{ + self endon("disconnect"); + self waittill("player_exit"); + tram_hide_icon(); + self.owner setclientomnvar("ui_detroit_tram_turret",0); + self.owner thermalvisionfofoverlayoff(); + self.owner unlink(); + self.owner remotecontrolturretoff(self.turret); + self freeentitysentient(); + self.owner maps\mp\_utility::clearusingremote(); + self.owner = undefined; + thread maps\mp\killstreaks\_killstreaks::updateaerialkillstreakmarker(); + self notify("leaving"); + self.isleaving = 1; +} + +//Function Number: 17 +spawn_tram_turret() +{ + var_00 = "tag_turret"; + var_01 = spawnturret("misc_turret",self.origin,"detroit_tram_turret_mp",0); + var_01.angles = (0,0,0); + var_01 setmodel("vehicle_xh9_warbird_turret_detroit_mp"); + var_01 setdefaultdroppitch(45); + var_01 linkto(self,var_00,(0,0,0),(0,0,0)); + var_01.owner = self.owner; + var_01.health = 99999; + var_01.maxhealth = 1000; + var_01.damagetaken = 0; + var_01.stunned = 0; + var_01.stunnedtime = 0; + var_01 setcandamage(0); + var_01 setcanradiusdamage(0); + var_01.team = self.team; + var_01.pers["team"] = self.team; + if(level.teambased) + { + var_01 setturretteam(self.team); + } + + var_01 setmode("sentry_manual"); + var_01 setsentryowner(self.owner); + var_01 setturretminimapvisible(0); + var_01.chopper = self; + var_02 = spawn("script_model",self.origin); + var_02 linkto(var_01,"tag_aim_pivot",(0,0,0),(0,0,0)); + var_02 setcontents(0); + var_01 thread common_scripts\utility::delete_on_death(var_02); + var_01.obj_ent = var_02; + return var_01; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/killstreaks/streak_mp_instinct.gsc b/AW/PC/maps/mp/killstreaks/streak_mp_instinct.gsc new file mode 100644 index 0000000..f8b5ebf --- /dev/null +++ b/AW/PC/maps/mp/killstreaks/streak_mp_instinct.gsc @@ -0,0 +1,289 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\killstreaks\streak_mp_instinct.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 14 + * Decompile Time: 226 ms + * Timestamp: 4/22/2024 2:12:33 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level.killstreakfuncs["mp_instinct"] = ::tryusempinstinct; + level.mapkillstreak = "mp_instinct"; + level.instinctdogs = []; + precachemodel("animal_iw6_dog_a"); + level.killstreakwieldweapons["killstreak_instinct_mp"] = "mp_instinct"; + level.instinctdogspawnpoints = []; + var_00 = getnodearray("InstinctDogSpawnPoint","targetname"); + foreach(var_02 in var_00) + { + var_03 = spawnstruct(); + var_03.spawnpoint = var_02; + var_03.weight = 0; + level.instinctdogspawnpoints = common_scripts\utility::add_to_array(level.instinctdogspawnpoints,var_03); + } + + onplayerconnect(); +} + +//Function Number: 2 +tryusempinstinct(param_00,param_01) +{ + return spawninstinctdogs(); +} + +//Function Number: 3 +setmpinstinctplayer(param_00) +{ + level.mp_instinct_owner = param_00; + thread maps\mp\_utility::teamplayercardsplash("used_mp_instinct",param_00); + return 1; +} + +//Function Number: 4 +onplayerconnect() +{ + var_00 = 0; + for(;;) + { + level waittill("connected",var_01); + if(var_00 == 0) + { + if(!isdefined(level.ishorde) || !level.ishorde) + { + level.agent_funcs["dog"]["think"] = ::maps\mp\agents\dog\_instinct_dog_think::main; + level.agent_funcs["dog"]["on_killed"] = ::on_agent_dog_killed; + } + } + + var_00++; + var_01 thread onplayerspawned(); + } +} + +//Function Number: 5 +onplayerspawned() +{ + self endon("disconnect"); + self waittill("spawned_player"); + thread monitorkills(); +} + +//Function Number: 6 +spawninstinctdogs() +{ + if(maps\mp\agents\_agent_utility::getnumactiveagents("dog") >= 3) + { + self iprintlnbold(&"KILLSTREAKS_TOO_MANY_DOGS"); + return 0; + } + + if(maps\mp\agents\_agent_utility::getnumownedactiveagentsbytype(self,"dog") >= 3) + { + self iprintlnbold(&"KILLSTREAKS_ALREADY_HAVE_DOG"); + return 0; + } + + if(maps\mp\agents\_agent_utility::getnumownedactiveagents(self) >= 3) + { + self iprintlnbold(&"KILLSTREAKS_AGENT_MAX"); + return 0; + } + + var_00 = getmaxagents(); + if(maps\mp\agents\_agent_utility::getnumactiveagents() >= var_00) + { + self iprintlnbold(&"KILLSTREAKS_UNAVAILABLE"); + return 0; + } + + if(!maps\mp\_utility::isreallyalive(self)) + { + return 0; + } + + connectandspawninstinctdogpack(); + return 1; +} + +//Function Number: 7 +sortinstinctdogspawnpoints() +{ + foreach(var_01 in level.instinctdogspawnpoints) + { + var_01.weight = 0; + var_02 = distance(var_01.spawnpoint.origin,self.origin); + if(var_02 < 1500) + { + var_01.weight = 1; + } + else if(var_02 > 1500 && var_02 < 2000) + { + var_01.weight = 2; + } + else if(var_02 > 2000 && var_02 < 2500) + { + var_01.weight = 3; + } + else if(var_02 > 2500) + { + var_01.weight = 4; + } + + foreach(var_04 in level.players) + { + var_05 = var_01.spawnpoint.origin; + var_06 = var_04.origin; + var_07 = sighttracepassed(var_05,var_06,0,var_04); + if(var_07) + { + var_01.weight--; + } + + var_02 = distance(var_01.spawnpoint.origin,var_04.origin); + if(var_02 < 256) + { + var_01.weight--; + } + } + } + + level.instinctdogspawnpoints = common_scripts\utility::array_sort_with_func(level.instinctdogspawnpoints,::ispointascoredhigherthanb); +} + +//Function Number: 8 +pickinstinctdogspawnpoint() +{ + var_00 = level.instinctdogspawnpoints[0]; + level.instinctdogspawnpoints = common_scripts\utility::array_remove(level.instinctdogspawnpoints,level.instinctdogspawnpoints[0]); + return var_00; +} + +//Function Number: 9 +ispointascoredhigherthanb(param_00,param_01) +{ + return param_00.weight > param_01.weight; +} + +//Function Number: 10 +waitfortimeout() +{ + common_scripts\utility::waittill_any_timeout(60,"KillCountMet"); + self notify("retreat"); + var_00 = getnodearray("DeletePoint","targetname"); + var_01 = common_scripts\utility::getclosest(self.origin,var_00); + self notify("timeoutRetreat"); + self scragentsetgoalpos(var_01.origin); + common_scripts\utility::waittill_any_timeout(20,"stop_soon"); + self suicide(); + self notify("death"); +} + +//Function Number: 11 +connectandspawninstinctdogpack() +{ + sortinstinctdogspawnpoints(); + for(var_00 = 0;var_00 < 3;var_00++) + { + var_01 = pickinstinctdogspawnpoint(); + if(!isdefined(var_01)) + { + return 0; + } + + var_02 = maps\mp\agents\_agent_common::connectnewagent("dog",self.team); + if(!isdefined(var_02)) + { + return 0; + } + + var_03 = self.health; + var_04 = 25; + self.agenthealth = var_04; + self.health = var_04; + self.maxhealth = var_04; + level.instinctdogs = common_scripts\utility::array_add(level.instinctdogs,var_02); + var_02 thread waitfordeath(var_01); + var_02 maps\mp\agents\_agent_utility::set_agent_team(self.team,self); + var_05 = var_01.spawnpoint.origin; + var_06 = vectortoangles(self.origin - var_01.spawnpoint.origin); + var_02 thread [[ var_02 maps\mp\agents\_agent_utility::agentfunc("spawn") ]](var_05,var_06,self); + if(isdefined(self.balldrone) && self.balldrone.balldronetype == "ball_drone_backup") + { + maps\mp\gametypes\_missions::processchallenge("ch_twiceasdeadly"); + } + + var_02 thread waitfortimeout(); + } +} + +//Function Number: 12 +waitfordeath(param_00) +{ + common_scripts\utility::waittill_any("death","retreat"); + level.instinctdogspawnpoints = common_scripts\utility::array_add(level.instinctdogspawnpoints,param_00); + level.instinctdogs = common_scripts\utility::array_remove(level.instinctdogs,self); +} + +//Function Number: 13 +monitorkills() +{ + for(;;) + { + self waittill("death",var_00); + foreach(var_02 in level.instinctdogs) + { + if(var_00 == var_02) + { + if(!isdefined(var_02.enemykills)) + { + var_02.enemykills = 0; + } + + var_02.enemykills++; + if(var_02.enemykills >= 2) + { + var_02 notify("KillCountMet"); + } + } + } + } +} + +//Function Number: 14 +on_agent_dog_killed(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + self.isactive = 0; + self.hasdied = 0; + param_01.lastkilldogtime = gettime(); + if(isdefined(self.animcbs.onexit[self.aistate])) + { + self [[ self.animcbs.onexit[self.aistate] ]](); + } + + if(isplayer(param_01) && isdefined(self.owner) && param_01 != self.owner) + { + self.owner maps\mp\_utility::leaderdialogonplayer("dog_kia_mp_instinct"); + maps\mp\gametypes\_damage::onkillstreakkilled(param_01,param_04,param_03,param_02,"destroyed_guard_dog"); + if(isplayer(param_01)) + { + param_01 maps\mp\gametypes\_missions::processchallenge("ch_notsobestfriend"); + if(!self isonground()) + { + param_01 maps\mp\gametypes\_missions::processchallenge("ch_hoopla"); + } + } + } + + self setanimstate("death"); + var_09 = self getanimentry(); + var_0A = getanimlength(var_09); + param_08 = int(var_0A * 1000); + self.body = self finishagentdamage(param_08); + self playsound("anml_dog_shot_death"); + maps\mp\agents\_agent_utility::deactivateagent(); + self notify("killanimscript"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/killstreaks/streak_mp_laser2.gsc b/AW/PC/maps/mp/killstreaks/streak_mp_laser2.gsc new file mode 100644 index 0000000..e17630d --- /dev/null +++ b/AW/PC/maps/mp/killstreaks/streak_mp_laser2.gsc @@ -0,0 +1,1616 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\killstreaks\streak_mp_laser2.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 63 + * Decompile Time: 1007 ms + * Timestamp: 4/22/2024 2:12:36 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + initlaserfx(); + initlasersound(); + initlaser(); + initlaserents(); + level.killstreakfuncs["mp_laser2"] = ::tryusemplaser; + level.mapkillstreak = "mp_laser2"; + level.mapkillstreakpickupstring = &"MP_LASER2_MAP_KILLSTREAK_PICKUP"; + level.mapkillstreakdamagefeedbacksound = ::handledamagefeedbacksound; + level.killstreak_laser_fxmode = 0; + level.mapcustombotkillstreakfunc = ::setupbotsformapkillstreak; +} + +//Function Number: 2 +setupbotsformapkillstreak() +{ + level thread maps\mp\bots\_bots_ks::bot_register_killstreak_func("mp_laser2",::maps\mp\bots\_bots_ks::bot_killstreak_simple_use); +} + +//Function Number: 3 +initlaserfx() +{ + level.laser_fx["beahm"] = loadfx("vfx/muzzleflash/laser_wv_mp_laser"); + level.laser_fx["beahm_smoke"] = loadfx("vfx/muzzleflash/laser_wv_mp_laser_smoke"); + level.laser_fx["laser_field1"] = loadfx("vfx/map/mp_laser2/laser_core_lvl1"); + level.laser_fx["laser_field1_cheap"] = loadfx("vfx/map/mp_laser2/laser_core_lvl1_cheap"); + level.laser_fx["laser_field2"] = loadfx("vfx/map/mp_laser2/laser_core_lvl2"); + level.laser_fx["laser_field2_cheap"] = loadfx("vfx/map/mp_laser2/laser_core_lvl2_cheap"); + level.laser_fx["laser_field3"] = loadfx("vfx/map/mp_laser2/laser_core_lvl3"); + level.laser_fx["laser_field2_up"] = loadfx("vfx/map/mp_laser2/laser_core_up_lvl2"); + level.laser_fx["laser_field3_up"] = loadfx("vfx/map/mp_laser2/laser_core_up_lvl3"); + level.laser_fx["laser_field1_up_slow"] = loadfx("vfx/map/mp_laser2/laser_core_up_slow_lvl1"); + level.laser_fx["laser_field2_down"] = loadfx("vfx/map/mp_laser2/laser_core_down_lvl2"); + level.laser_fx["laser_field3_down"] = loadfx("vfx/map/mp_laser2/laser_core_down_lvl3"); + level.laser_fx["laser_field1_down_slow"] = loadfx("vfx/map/mp_laser2/laser_core_down_slow_lvl1"); + level.laser_fx["laser_charge1"] = loadfx("vfx/map/mp_laser2/laser_energy_fire_lvl1"); + level.laser_fx["laser_beam_done1"] = loadfx("vfx/map/mp_laser2/laser_energy_beam_done_lvl1"); + level.laser_fx["hatch_light"] = loadfx("vfx/lights/mp_laser2/light_lasercore_glow"); + level.laser_fx["hatch_light_close"] = loadfx("vfx/lights/mp_laser2/light_lasercore_glow_close"); + level.laser_fx["laser_steam"] = loadfx("vfx/map/mp_laser2/laser_core_steam"); + level.laser_fx["laser_movement_sparks"] = loadfx("vfx/sparks/machinery_scrape_sparks_looping"); +} + +//Function Number: 4 +initlasersound() +{ + game["dialog"]["laser_deactivated"] = "laser_deactivated"; + game["dialog"]["laser_offline"] = "laser_offline"; + game["dialog"]["laser_strength"] = "laser_strength"; +} + +//Function Number: 5 +initlaser() +{ + var_00 = spawnstruct(); + var_00.health = 999999; + var_00.maxhealth = 1000; + var_00.burstmin = 20; + var_00.burstmax = 120; + var_00.pausemin = 0.15; + var_00.pausemax = 0.35; + var_00.sentrymodeon = "sentry_manual"; + var_00.sentrymodeoff = "sentry_offline"; + var_00.timeout = 45; + var_00.spinuptime = 0.05; + var_00.overheattime = 8; + var_00.cooldowntime = 0.1; + var_00.fxtime = 0.3; + var_00.streakname = "sky_laser_turret"; + var_00.weaponinfo = "sky_laser_mp"; + var_00.useweaponinfo = "killstreak_laser2_mp"; + var_00.modelbase = "mp_sky_laser_turret_head"; + var_00.modeldestroyed = "mp_sky_laser_turret_head"; + var_00.headicon = 1; + var_00.teamsplash = "used_mp_laser2"; + var_00.shouldsplash = 0; + var_00.vodestroyed = "laser_deactivated"; + var_00.vooffline = "laser_offline"; + var_00.vopower = "laser_strength"; + var_00.coreshellshock = "default"; + if(!isdefined(level.sentrysettings)) + { + level.sentrysettings = []; + } + + level.sentrysettings["sky_laser_turret"] = var_00; + level.killstreakwieldweapons["mp_laser2_core"] = "mp_laser2"; +} + +//Function Number: 6 +initlaserents() +{ + var_00 = "sky_laser_turret"; + precacheitem("mp_laser2_core"); + precachemodel("lsr_laser_button_01_obj"); + var_01 = getent("lasergun","targetname"); + var_01 hide(); + var_01 laserlightfill(); + var_01.fxents = var_01 laser_initfxents(); + var_01.offswitch = var_01 laser_initoffswitch(); + var_01.lifter = getent("laser_animated_prop","targetname"); + var_01.lifter.parts = getentarray("lsr_animated_parts","targetname"); + var_01.lifter laserlightfill(); + var_01.moveorgs = var_01.lifter laser_initmoveorgs(); + var_01.lifter.animup = "lsr_laser_turret_up"; + var_01.lifter.animdown = "lsr_laser_turret_down"; + var_01.lifter.animidledown = "lsr_laser_turret_idle_down"; + var_01.lifter.animidleup = "lsr_laser_turret_idle_up"; + var_01.generatorhat = getent("generator_hat","targetname"); + var_01.generatorhat.anim_up = "laser_button_on"; + var_01.generatorhat.anim_down = "laser_button_off"; + var_01.generatorhat.anim_idle_up = "laser_button_idle_on"; + var_01.generatorhat.anim_idle_down = "laser_button_idle_off"; + var_01.coredamagetrig = getent("trig_lasercore_damage","targetname"); + var_01.coredeathtrig = getent("trig_lasercore_death","targetname"); + var_01.firingdamagetrig = getent("trig_laserfire_damage","targetname"); + var_01.ownerlist = []; + var_01.collision = spawnstruct(); + var_01.collision.col_base = getent("laser_collision_base","targetname"); + var_01.collision.col_head = getent("laser_collision_head","targetname"); + var_01.flaps_top = getentarray("lsr_flap_top","targetname"); + var_01.attachments = getentarray("lsr_geo_attach","targetname"); + var_01.lifter linkgeototurret(var_01,1); + var_02 = getentarray("lsr_flap_bottom","targetname"); + var_01.flaps = common_scripts\utility::array_combine(var_01.flaps_top,var_02); + foreach(var_04 in var_01.flaps) + { + var_04.col_base = getent(var_04.target,"targetname"); + if(isdefined(var_04.col_base)) + { + var_04.col_base.unresolved_collision_kill = 1; + } + + var_04.col_t = getent(var_04.col_base.target,"targetname"); + if(isdefined(var_04.col_t)) + { + var_04.col_t.unresolved_collision_kill = 1; + } + + var_04.col_base vehicle_jetbikesethoverforcescale(var_04,"mainFlapBase"); + var_04.col_t vehicle_jetbikesethoverforcescale(var_04,"mainFlap_T"); + } + + var_01.flap_animclose = "lsr_energy_hatch_close"; + var_01.flap_animidleclose = "lsr_energy_hatch_close_idle"; + var_01.flap_animopen = "lsr_energy_hatch_open"; + var_01.flap_animidleopen = "lsr_energy_hatch_open_idle"; + level.sentrygun = var_01; + level.sentrygun laser_initsentry(var_00); +} + +//Function Number: 7 +linkgeototurret(param_00,param_01) +{ + if(param_01 == 0) + { + param_00.collision.col_base unlink(); + param_00.collision.col_head unlink(); + foreach(var_03 in param_00.flaps_top) + { + var_03 unlink(); + } + + foreach(var_06 in param_00.attachments) + { + var_06 unlink(); + } + + foreach(var_09 in param_00.lifter.parts) + { + var_09 unlink(); + } + + return; + } + + if(param_01 == 1) + { + param_00.collision.col_base linkto(self,"tag_origin"); + param_00.collision.col_head linkto(self,"tag_aim_pivot"); + foreach(var_03 in param_00.flaps_top) + { + var_03 vehicle_jetbikesethoverforcescale(self); + } + + foreach(var_06 in param_00.attachments) + { + var_06 vehicle_jetbikesethoverforcescale(self); + } + + foreach(var_09 in param_00.lifter.parts) + { + var_09 vehicle_jetbikesethoverforcescale(self); + } + } +} + +//Function Number: 8 +laser_initmoveorgs() +{ + var_00 = common_scripts\utility::getstruct("laser_lifter_top_loc","targetname"); + var_01 = common_scripts\utility::getstruct("laser_lifter_bottom_loc","targetname"); + var_02 = var_00.origin - var_01.origin; + var_03 = []; + var_03["bottom"] = self.origin; + var_03["top"] = self.origin + var_02; + return var_03; +} + +//Function Number: 9 +laser_initfxents() +{ + var_00 = undefined; + var_01 = common_scripts\utility::getstruct("laser_core_fx_pos","targetname"); + var_00 = var_01 common_scripts\utility::spawn_tag_origin(); + var_00 show(); + var_02 = []; + var_02["charge_up"] = var_00; + return var_02; +} + +//Function Number: 10 +laser_initoffswitch() +{ + var_00 = getent("laser_use_trig","targetname"); + var_01 = getent("laser_switch","targetname"); + var_02 = []; + var_03 = spawn("script_model",var_01.origin); + var_03.angles = var_01.angles; + var_03 setmodel("lsr_laser_button_01_obj"); + var_03 hide(); + var_04 = [var_03]; + var_05 = maps\mp\gametypes\_gameobjects::createuseobject("none",var_00,var_04,(0,0,64)); + var_05 maps\mp\gametypes\_gameobjects::allowuse("none"); + var_05 maps\mp\gametypes\_gameobjects::setusetime(5); + var_05 maps\mp\gametypes\_gameobjects::setusetext(&"MP_LASERTURRET_HACKING"); + var_05 maps\mp\gametypes\_gameobjects::setusehinttext(&"MP_LASERTURRET_HACK"); + var_05.onbeginuse = ::laser_offswitch_onbeginuse; + var_05.onenduse = ::laser_offswitch_onenduse; + var_05.onuse = ::laser_offswitch_onuseplantobject; + var_05.oncantuse = ::laser_offswitch_oncantuse; + var_05.useweapon = "search_dstry_bomb_mp"; + var_02 = []; + var_02["switch_obj"] = var_03; + var_02["use_zone"] = var_05; + return var_02; +} + +//Function Number: 11 +laser_offswitch_onbeginuse(param_00) +{ +} + +//Function Number: 12 +laser_offswitch_onenduse(param_00,param_01,param_02) +{ +} + +//Function Number: 13 +laser_offswitch_onuseplantobject(param_00) +{ + level.sentrygun endon("death"); + level endon("game_ended"); + if(isdefined(level.sentrygun.owner)) + { + level.sentrygun.owner thread maps\mp\_utility::leaderdialogonplayer(level.sentrysettings[level.sentrygun.sentrytype].vodestroyed); + } + + param_00 playsound("mp_bomb_plant"); + var_01 = level.sentrysettings["sky_laser_turret"].maxhealth; + level.sentrygun notify("damage",var_01,param_00,(0,0,0),(0,0,0),"MOD_UNKNOWN",undefined,undefined,undefined,undefined,"none"); +} + +//Function Number: 14 +laser_offswitch_oncantuse(param_00) +{ +} + +//Function Number: 15 +laser_initsentry(param_00) +{ + self.sentrytype = param_00; + self setmodel(level.sentrysettings[self.sentrytype].modelbase); + self.shouldsplash = 1; + self setcandamage(0); + self maketurretinoperable(); + self setleftarc(180); + self setrightarc(180); + self settoparc(80); + self setdefaultdroppitch(-10); + self.laser_on = 0; + self.lifter scriptmodelplayanimdeltamotion(self.lifter.animidledown); + foreach(var_02 in self.lifter.parts) + { + var_02 scriptmodelplayanimdeltamotion(self.lifter.animidledown); + } + + var_04 = spawn("script_model",self gettagorigin("tag_laser")); + var_04 linkto(self); + self.killcament = var_04; + self.killcament setscriptmoverkillcam("explosive"); + maps\mp\killstreaks\_autosentry::sentry_makesolid(); + self setturretmodechangewait(1); + laser_setinactive(); + thread laser_handledamage(); + thread laser_handlefakedeath(); + thread maps\mp\killstreaks\_autosentry::sentry_beepsounds(); +} + +//Function Number: 16 +laser_handledamage() +{ + self endon("death"); + level endon("game_ended"); + for(;;) + { + self.health = level.sentrysettings[self.sentrytype].health; + self.maxhealth = level.sentrysettings[self.sentrytype].maxhealth; + self.damagetaken = 0; + self waittill("damage",var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09); + if(!maps\mp\gametypes\_weapons::friendlyfirecheck(self.owner,var_01)) + { + continue; + } + + if(isdefined(var_08) && var_08 & level.idflags_penetration) + { + self.wasdamagedfrombulletpenetration = 1; + } + + switch(var_09) + { + case "stealth_bomb_mp": + case "artillery_mp": + var_00 = var_00 * 4; + break; + + case "bomb_site_mp": + var_00 = self.maxhealth; + break; + } + + if(var_04 == "MOD_MELEE") + { + self.damagetaken = self.damagetaken + self.maxhealth; + } + + var_0A = var_00; + if(isplayer(var_01)) + { + var_01 maps\mp\gametypes\_damagefeedback::updatedamagefeedback("sentry"); + if(var_01 maps\mp\_utility::_hasperk("specialty_armorpiercing")) + { + var_0A = var_00 * level.armorpiercingmod; + } + } + + if(isdefined(var_01.owner) && isplayer(var_01.owner)) + { + var_01.owner maps\mp\gametypes\_damagefeedback::updatedamagefeedback("sentry"); + } + + if(isdefined(var_09)) + { + var_0B = maps\mp\_utility::strip_suffix(var_09,"_lefthand"); + switch(var_0B) + { + case "ac130_40mm_mp": + case "ac130_105mm_mp": + case "stinger_mp": + case "remotemissile_projectile_mp": + self.largeprojectiledamage = 1; + var_0A = self.maxhealth + 1; + break; + + case "stealth_bomb_mp": + case "artillery_mp": + self.largeprojectiledamage = 0; + var_0A = var_0A + var_00 * 4; + break; + + case "emp_grenade_var_mp": + case "emp_grenade_mp": + case "bomb_site_mp": + self.largeprojectiledamage = 0; + var_0A = self.maxhealth + 1; + break; + } + + maps\mp\killstreaks\_killstreaks::killstreakhit(var_01,var_09,self); + } + + self.damagetaken = self.damagetaken + var_0A; + if(self.damagetaken >= self.maxhealth) + { + thread maps\mp\gametypes\_missions::vehiclekilled(self.owner,self,undefined,var_01,var_00,var_04,var_09); + if(isplayer(var_01) && !isdefined(self.owner) || var_01 != self.owner) + { + level thread maps\mp\gametypes\_rank::awardgameevent("kill",var_01,var_09,undefined,var_04); + } + + if(isdefined(self.owner)) + { + self.owner thread maps\mp\_utility::leaderdialogonplayer(level.sentrysettings[self.sentrytype].vodestroyed,undefined,undefined,self.origin); + } + + self notify("fakedeath"); + } + } +} + +//Function Number: 17 +laser_handlefakedeath() +{ + self endon("death"); + level endon("game_ended"); + for(;;) + { + self waittill("fakedeath"); + laser_setinactive(); + self.ownerlist = []; + self setsentryowner(undefined); + self.samtargetent = undefined; + if(level.teambased) + { + self.team = undefined; + } + + if(isdefined(self.ownertrigger)) + { + self.ownertrigger delete(); + } + + self playsound("sentry_explode"); + if(isdefined(self.inuseby)) + { + self.inuseby.turret_overheat_bar maps\mp\gametypes\_hud_util::destroyelem(); + self.inuseby maps\mp\killstreaks\_autosentry::restoreperks(); + self.inuseby maps\mp\killstreaks\_autosentry::restoreweapons(); + self notify("deleting"); + wait(1); + continue; + } + + wait(1.5); + self playsound("sentry_explode_smoke"); + var_00 = 8; + while(var_00 > 0) + { + wait(0.4); + var_00 = var_00 - 0.4; + } + } +} + +//Function Number: 18 +tryusemplaser(param_00,param_01) +{ + if(!playercanuselaser()) + { + self iprintlnbold(&"MP_LASERTURRET_ENEMY"); + return 0; + } + + if(maps\mp\_utility::isusingremote()) + { + return 0; + } + + if(maps\mp\_utility::isairdenied()) + { + return 0; + } + + if(maps\mp\_utility::isemped()) + { + return 0; + } + + if(isdefined(level.sentrygun.locked) && level.sentrygun.locked == 1) + { + self iprintlnbold(&"MP_LASERTURRET_BUSY"); + return 0; + } + + maps\mp\_matchdata::logkillstreakevent("mp_laser2",self.origin); + level.sentrygun laser_setowner(self); + var_02 = level.sentrygun getmode(); + if((!isdefined(level.sentrygun.mode) || level.sentrygun.mode == "off") && !isdefined(level.sentrygun.moving) || level.sentrygun.moving == 0) + { + laser_setplacesentry(level.sentrygun,level.sentrygun.sentrytype); + } + + return 1; +} + +//Function Number: 19 +playercanuselaser() +{ + if(!isdefined(level.sentrygun)) + { + return 0; + } + + if(level.teambased) + { + if(isdefined(level.sentrygun.team) && level.sentrygun.team != self.team) + { + return 0; + } + } + else + { + foreach(var_01 in level.sentrygun.ownerlist) + { + if(isdefined(var_01) && var_01 != self) + { + return 0; + } + } + } + + return 1; +} + +//Function Number: 20 +laser_setowner(param_00) +{ + self.owner = param_00; + self.ownerlist = common_scripts\utility::array_add(self.ownerlist,param_00); + self setsentryowner(self.owner); + self setturretminimapvisible(1,"sam_turret"); + if(level.teambased) + { + self.team = self.owner.team; + self setturretteam(self.team); + } + + thread laser_handleownerdisconnect(param_00); + thread player_sentry_timeout(param_00); + if(self.ownerlist.size > 1) + { + thread playlasercontainmentswap(); + } +} + +//Function Number: 21 +laser_handleownerdisconnect(param_00) +{ + self endon("death"); + self endon("fakedeath"); + level endon("game_ended"); + param_00 common_scripts\utility::waittill_any("disconnect","joined_team","joined_spectators"); + self.ownerlist = common_scripts\utility::array_remove(self.ownerlist,param_00); + if(param_00 != self.owner) + { + thread stoplasercontainmentswap(); + return; + } + + if(param_00 == self.owner) + { + var_01 = getnextplayerinownerqueue(self.ownerlist); + if(isdefined(var_01)) + { + laser_setowner(var_01); + return; + } + + self notify("fakedeath"); + return; + } +} + +//Function Number: 22 +array_removefirstinqueue(param_00,param_01) +{ + var_02 = []; + var_03 = undefined; + for(var_04 = 0;var_04 < param_00.size;var_04++) + { + if(param_00[var_04] == param_01) + { + var_02[var_02.size] = var_04; + } + } + + var_03 = var_02[var_02.size - 1]; + var_05 = []; + for(var_04 = 0;var_04 < param_00.size;var_04++) + { + if(var_04 != var_03) + { + var_05[var_05.size] = param_00[var_04]; + } + } + + return var_05; +} + +//Function Number: 23 +getnextplayerinownerqueue(param_00) +{ + if(!isdefined(param_00)) + { + return undefined; + } + + param_00 = common_scripts\utility::array_reverse(param_00); + foreach(var_02 in param_00) + { + if(isdefined(var_02) && isplayer(var_02) && isalive(var_02)) + { + return var_02; + } + } + + return undefined; +} + +//Function Number: 24 +laser_setplacesentry(param_00,param_01) +{ + self endon("death"); + self endon("disconnect"); + var_02 = self; + if(!var_02 maps\mp\_utility::validateusestreak()) + { + return 0; + } + + var_02.last_sentry = param_01; + param_00 laser_setplaced(self); + return 1; +} + +//Function Number: 25 +laser_setplaced(param_00) +{ + if(self getmode() == "manual") + { + self setmode(level.sentrysettings[self.sentrytype].sentrymodeoff); + self.mode = "off"; + } + + self setsentrycarrier(undefined); + self setcandamage(1); + if(isdefined(self.owner)) + { + self.owner.iscarrying = 0; + } + + thread laser_setactive(param_00); + thread playlasercoreevent(); + thread playlasercontainmentstart(); + self playsound("sentry_gun_plant"); + self notify("placed"); +} + +//Function Number: 26 +playlasercoreevent() +{ + wait(2); + playfxontag(level.laser_fx["laser_steam"],self.fxents["charge_up"],"tag_origin"); +} + +//Function Number: 27 +stoplasercoreevent() +{ + wait(4); + stopfxontag(level.laser_fx["laser_steam"],self.fxents["charge_up"],"tag_origin"); + level common_scripts\utility::noself_delaycall(3.5,::activatepersistentclientexploder,200); +} + +//Function Number: 28 +startlaserlights() +{ + var_00 = getscriptablearray("laser_light","targetname"); + foreach(var_02 in var_00) + { + var_02 setscriptablepartstate("lsr_part_a","laser_on_a"); + } + + var_00 = getscriptablearray("laser_light_b","targetname"); + foreach(var_02 in var_00) + { + var_02 setscriptablepartstate("lsr_part_b","laser_on_b"); + } + + var_00 = getscriptablearray("laser_point_lights","targetname"); + foreach(var_02 in var_00) + { + var_02 setscriptablepartstate("static_part1","warning"); + } +} + +//Function Number: 29 +stoplaserlights() +{ + var_00 = getscriptablearray("laser_light","targetname"); + foreach(var_02 in var_00) + { + var_02 setscriptablepartstate("lsr_part_a","laser_off_a"); + } + + var_00 = getscriptablearray("laser_light_b","targetname"); + foreach(var_02 in var_00) + { + var_02 setscriptablepartstate("lsr_part_b","laser_off_b"); + } + + var_00 = getscriptablearray("laser_point_lights","targetname"); + foreach(var_02 in var_00) + { + var_02 setscriptablepartstate("static_part1","healthy"); + } +} + +//Function Number: 30 +playlasercontainmentstart() +{ + level.killstreak_laser_fxmode = 1; + stopclientexploder(200); + playfxontag(level.laser_fx["hatch_light"],self.fxents["charge_up"],"tag_origin"); + playfxontag(level.laser_fx["hatch_light"],level.sentrygun.lifter,"tag_origin"); + wait(5.33); + startlaserlights(); + playfxontag(level.laser_fx["laser_field1_up_slow"],self.fxents["charge_up"],"tag_origin"); + wait(1); + playfxontag(level.laser_fx["laser_field1"],self.fxents["charge_up"],"tag_origin"); +} + +//Function Number: 31 +playlasercontainmentswap() +{ + if(!isdefined(self.ownerlist) || self.ownerlist.size < 1) + { + return; + } + + level.killstreak_laser_fxmode = self.ownerlist.size; + var_00 = level.killstreak_laser_fxmode; + switch(var_00) + { + case 0: + break; + + case 1: + break; + + case 2: + stopfxontag(level.laser_fx["laser_field1"],self.fxents["charge_up"],"tag_origin"); + playfxontag(level.laser_fx["laser_field1_cheap"],self.fxents["charge_up"],"tag_origin"); + playfxontag(level.laser_fx["laser_field2_up"],self.fxents["charge_up"],"tag_origin"); + wait(1); + var_01 = getscriptablearray("laser_light","targetname"); + foreach(var_03 in var_01) + { + var_03 setscriptablepartstate("lsr_part_a","laser_on_02_a"); + } + + var_05 = getscriptablearray("laser_light_b","targetname"); + foreach(var_07 in var_05) + { + var_07 setscriptablepartstate("lsr_part_b","laser_on_02_b"); + } + + playfxontag(level.laser_fx["laser_field2"],self.fxents["charge_up"],"tag_origin"); + break; + + case 3: + stopfxontag(level.laser_fx["laser_field2"],self.fxents["charge_up"],"tag_origin"); + playfxontag(level.laser_fx["laser_field2_cheap"],self.fxents["charge_up"],"tag_origin"); + playfxontag(level.laser_fx["laser_field3_up"],self.fxents["charge_up"],"tag_origin"); + wait(1); + var_09 = getscriptablearray("laser_light","targetname"); + foreach(var_0B in var_09) + { + var_0B setscriptablepartstate("lsr_part_a","laser_on_03_a"); + } + + var_05 = getscriptablearray("laser_light_b","targetname"); + foreach(var_07 in var_05) + { + var_07 setscriptablepartstate("lsr_part_b","laser_on_03_b"); + } + + playfxontag(level.laser_fx["laser_field3"],self.fxents["charge_up"],"tag_origin"); + break; + + default: + break; + } +} + +//Function Number: 32 +stoplasercontainmentswap() +{ + if(!isdefined(level.killstreak_laser_fxmode)) + { + return; + } + + var_00 = level.killstreak_laser_fxmode; + level.killstreak_laser_fxmode = self.ownerlist.size; + wait(1); + switch(var_00) + { + case 0: + break; + + case 1: + break; + + case 2: + playfxontag(level.laser_fx["laser_field2_down"],self.fxents["charge_up"],"tag_origin"); + stopfxontag(level.laser_fx["laser_field2"],self.fxents["charge_up"],"tag_origin"); + stopfxontag(level.laser_fx["laser_field1_cheap"],self.fxents["charge_up"],"tag_origin"); + playfxontag(level.laser_fx["laser_field1"],self.fxents["charge_up"],"tag_origin"); + var_01 = getscriptablearray("laser_light","targetname"); + foreach(var_03 in var_01) + { + var_03 setscriptablepartstate("lsr_part_a","laser_on_a"); + } + + var_01 = getscriptablearray("laser_light_b","targetname"); + foreach(var_03 in var_01) + { + var_03 setscriptablepartstate("lsr_part_b","laser_on_b"); + } + break; + + case 3: + playfxontag(level.laser_fx["laser_field3_down"],self.fxents["charge_up"],"tag_origin"); + stopfxontag(level.laser_fx["laser_field3"],self.fxents["charge_up"],"tag_origin"); + stopfxontag(level.laser_fx["laser_field2_cheap"],self.fxents["charge_up"],"tag_origin"); + playfxontag(level.laser_fx["laser_field2"],self.fxents["charge_up"],"tag_origin"); + var_01 = getscriptablearray("laser_light","targetname"); + foreach(var_03 in var_01) + { + var_03 setscriptablepartstate("lsr_part_a","laser_on_02_a"); + } + + var_01 = getscriptablearray("laser_light_b","targetname"); + foreach(var_03 in var_01) + { + var_03 setscriptablepartstate("lsr_part_b","laser_on_02_b"); + } + break; + + default: + break; + } +} + +//Function Number: 33 +stoplasercontainmentend() +{ + if(!isdefined(level.killstreak_laser_fxmode)) + { + return; + } + + var_00 = level.killstreak_laser_fxmode; + level.killstreak_laser_fxmode = 0; + wait(1.6); + switch(var_00) + { + case 0: + break; + + case 1: + playfxontag(level.laser_fx["laser_field1_down_slow"],self.fxents["charge_up"],"tag_origin"); + killfxontag(level.laser_fx["laser_field1"],self.fxents["charge_up"],"tag_origin"); + stoplaserlights(); + wait(1.5); + playfxontag(level.laser_fx["hatch_light_close"],self.fxents["charge_up"],"tag_origin"); + playfxontag(level.laser_fx["hatch_light_close"],level.sentrygun.lifter,"tag_origin"); + break; + + default: + break; + } +} + +//Function Number: 34 +laser_setinactive() +{ + self.samtargetent = undefined; + self cleartargetentity(); + self setmode(level.sentrysettings[self.sentrytype].sentrymodeoff); + self.mode = "off"; + var_00 = self getentitynumber(); + maps\mp\killstreaks\_autosentry::removefromturretlist(var_00); + if(level.teambased) + { + setteamheadicon_large("none",(0,0,0)); + } + else if(isdefined(self.owner)) + { + setteamheadicon_large("none",(0,0,0)); + } + + self setdefaultdroppitch(-10); + level.sentrygun setturretminimapvisible(0); + self setturretminimapvisible(0); + self setcandamage(0); + laser_coredamage_deactivated(self.coredamagetrig); + laser_coredamage_deactivated(self.coredeathtrig); + if(self.lifter.origin != self.moveorgs["bottom"]) + { + laser_usableoffswitch_off(); + thread stoplasercoreevent(); + thread stoplasercontainmentend(); + thread laser_handlemovebottom(); + } +} + +//Function Number: 35 +laser_handlemovebottom() +{ + self endon("death"); + self endon("fakedeath"); + level endon("game_ended"); + foreach(var_01 in self.lifter.parts) + { + } + + self.locked = 1; + self.moving = 1; + wait(1); + linkgeototurret(self,0); + self.lifter show(); + self.lifter linkgeototurret(self,1); + self hide(); + var_03 = []; + var_03["laser_xform_down_sec1_start"] = "laser_xform_down_sec1_start"; + var_03["laser_xform_down_sec1_end"] = "laser_xform_down_sec1_end"; + var_03["laser_xform_down_sec2_start"] = "laser_xform_down_sec2_start"; + var_03["laser_xform_down_sec2_end"] = "laser_xform_down_sec2_end"; + self.lifter scriptmodelplayanimdeltamotion(self.lifter.animdown,"laser_xform_down_sec1_start"); + foreach(var_01 in self.lifter.parts) + { + var_01 scriptmodelplayanimdeltamotion(self.lifter.animdown,"laser_xform_down_sec1_start"); + } + + self.lifter thread maps\mp\_audio::snd_play_on_notetrack(var_03,"laser_xform_down_sec1_start"); + foreach(var_07 in self.flaps) + { + if(isdefined(var_07.targetname) && var_07.targetname == "lsr_flap_bottom") + { + var_07 scriptmodelplayanimdeltamotion(self.flap_animclose); + continue; + } + + var_07 scriptmodelplayanim(self.flap_animclose); + } + + self.lifter thread aud_play_laser_move_down(6); + self.lifter thread playmovementsparks(2.5); + self.lifter maps\mp\_utility::delaythread(6,::stopmovementsparks); + wait(7.8); + self.moving = 0; + self.locked = 0; +} + +//Function Number: 36 +laser_handlemovetop() +{ + self endon("death"); + self endon("fakedeath"); + level endon("game_ended"); + foreach(var_01 in self.lifter.parts) + { + } + + self.moving = 1; + var_03 = []; + var_03["laser_xform_up_sec1_start"] = "laser_xform_up_sec1_start"; + var_03["laser_xform_up_sec1_end"] = "laser_xform_up_sec1_end"; + var_03["laser_xform_up_sec2_start"] = "laser_xform_up_sec2_start"; + var_03["laser_xform_up_sec2_end"] = "laser_xform_up_sec2_end"; + self.lifter scriptmodelplayanimdeltamotion(self.lifter.animup,"laser_xform_up_sec1_start"); + foreach(var_01 in self.lifter.parts) + { + var_01 scriptmodelplayanimdeltamotion(self.lifter.animup,"laser_xform_up_sec1_start"); + } + + self.lifter thread maps\mp\_audio::snd_play_on_notetrack(var_03,"laser_xform_up_sec1_start"); + foreach(var_07 in self.flaps) + { + if(isdefined(var_07.targetname) && var_07.targetname == "lsr_flap_bottom") + { + var_07 scriptmodelplayanimdeltamotion(self.flap_animopen); + continue; + } + + var_07 scriptmodelplayanim(self.flap_animopen); + } + + self.lifter thread aud_play_laser_move_up(5); + self.lifter thread playmovementsparks(1.5); + self.lifter maps\mp\_utility::delaythread(5,::stopmovementsparks); + wait(8); + self.lifter linkgeototurret(self,0); + self show(); + linkgeototurret(self,1); + self.lifter hide(); + waittillframeend; + self.moving = 0; +} + +//Function Number: 37 +aud_play_laser_move_up(param_00) +{ + thread maps\mp\_audio::snd_play_in_space_delayed("laser_beam_power_up",(15,382,902),5.2); + thread maps\mp\_audio::snd_play_linked("laser_platform_move_up_start",self); + thread aud_laser_energy_beam_start(); + thread maps\mp\_audio::snd_play_loop_in_space("laser_platform_move_alarm_lp",(-1,355,945),"aud_stop_laser_alarm",2); + wait(param_00); + thread maps\mp\_audio::snd_play_linked("laser_platform_move_up_end",self); + level notify("aud_stop_laser_alarm"); +} + +//Function Number: 38 +aud_play_laser_move_down(param_00) +{ + thread maps\mp\_audio::snd_play_in_space_delayed("laser_beam_power_down",(15,382,902),1.25); + thread aud_laser_pre_move_down(); + wait(2.5); + var_01 = thread maps\mp\_audio::snd_play_linked("laser_platform_move_down_start",self); + wait(3); + thread maps\mp\_audio::snd_play_linked("laser_platform_move_down_legs_fold",self); + var_01 scalevolume(0,0.05); + var_01 stopsounds(); + level notify("aud_laser_energy_lp_off"); + wait(0.7); + thread maps\mp\_audio::snd_play_linked("laser_platform_move_down_end",self); +} + +//Function Number: 39 +aud_laser_pre_move_down() +{ + wait(1); + var_00 = thread maps\mp\_audio::snd_play_linked("laser_platform_pre_move_down",self); +} + +//Function Number: 40 +aud_laser_energy_beam_start() +{ + thread maps\mp\_audio::snd_play_loop_in_space("laser_base_pulse_energy_lp",(-13,393,352),"aud_laser_energy_lp_off",2); + thread maps\mp\_audio::snd_play_loop_in_space("laser_base_pulse_low_lp",(-13,393,352),"aud_laser_energy_lp_off",2); + thread maps\mp\_audio::snd_play_loop_in_space("laser_base_pulse_motor_lp",(-13,393,352),"aud_laser_energy_lp_off",2); +} + +//Function Number: 41 +playmovementsparks(param_00) +{ + wait(param_00); + foreach(var_02 in self.parts) + { + if(var_02.model == "mp_sky_laser_turret_lega") + { + playfxontag(level.laser_fx["laser_movement_sparks"],var_02,"fx_joint_0"); + } + } +} + +//Function Number: 42 +stopmovementsparks() +{ + foreach(var_01 in self.parts) + { + if(var_01.model == "mp_sky_laser_turret_lega") + { + stopfxontag(level.laser_fx["laser_movement_sparks"],var_01,"fx_joint_0"); + } + } +} + +//Function Number: 43 +player_sentry_timeout(param_00) +{ + self endon("death"); + self endon("fakedeath"); + level endon("game_ended"); + param_00 endon("disconnect"); + param_00 endon("joined_team"); + param_00 endon("joined_spectators"); + for(var_01 = level.sentrysettings[self.sentrytype].timeout;var_01;var_01 = max(0,var_01 - 1)) + { + wait(1); + maps\mp\gametypes\_hostmigration::waittillhostmigrationdone(); + } + + if(isdefined(param_00)) + { + self.ownerlist = array_removefirstinqueue(self.ownerlist,param_00); + if(self.ownerlist.size != 0) + { + param_00 thread maps\mp\_utility::leaderdialogonplayer(level.sentrysettings[level.sentrygun.sentrytype].vopower); + thread stoplasercontainmentswap(); + return; + } + + param_00 thread maps\mp\_utility::leaderdialogonplayer(level.sentrysettings[level.sentrygun.sentrytype].vooffline); + self notify("fakedeath"); + } +} + +//Function Number: 44 +laser_setactive(param_00) +{ + foreach(param_00 in level.players) + { + var_02 = self getentitynumber(); + maps\mp\killstreaks\_autosentry::addtoturretlist(var_02); + } + + if(self.shouldsplash) + { + level thread maps\mp\_utility::teamplayercardsplash(level.sentrysettings[self.sentrytype].teamsplash,self.owner,self.owner.team); + self.shouldsplash = 0; + } + + laser_coredamage_activated(self.coredamagetrig); + laser_coredamage_activated(self.coredeathtrig,1); + laser_handlemovetop(); + self setdefaultdroppitch(5); + self setmode(level.sentrysettings[self.sentrytype].sentrymodeon); + self.mode = "on"; + laser_usableoffswitch_on(); + if(level.sentrysettings[self.sentrytype].headicon) + { + if(level.teambased) + { + setteamheadicon_large(self.team,(0,0,400)); + } + else + { + setteamheadicon_large(self.team,(0,0,400)); + } + } + + thread laser_attacktargets(); + thread laser_watchdisabled(); +} + +//Function Number: 45 +laser_usableoffswitch_off() +{ + self.generatorhat scriptmodelplayanim(self.generatorhat.anim_down); + level.sentrygun.offswitch["use_zone"] maps\mp\gametypes\_gameobjects::disableobject(); + level.sentrygun.offswitch["switch_obj"] hide(); +} + +//Function Number: 46 +laser_usableoffswitch_on() +{ + var_00 = "none"; + if(isdefined(level.sentrygun.owner) && isdefined(level.sentrygun.owner.team)) + { + var_00 = level.sentrygun.owner.team; + } + + self.generatorhat scriptmodelplayanim(self.generatorhat.anim_up); + level.sentrygun.offswitch["use_zone"].interactteam = "enemy"; + level.sentrygun.offswitch["use_zone"] maps\mp\gametypes\_gameobjects::setownerteam(var_00); + foreach(var_02 in level.players) + { + if(var_02.team != var_00 && var_00 != "none") + { + var_02.laseroffswitch_isvisible = 1; + level.sentrygun.offswitch["switch_obj"] showtoplayer(var_02); + } + } +} + +//Function Number: 47 +setteamheadicon_large(param_00,param_01) +{ + if(!level.teambased) + { + return; + } + + if(!isdefined(self.entityheadiconteam)) + { + self.entityheadiconteam = "none"; + self.entityheadicon = undefined; + } + + var_02 = game["entity_headicon_" + param_00]; + self.entityheadiconteam = param_00; + if(isdefined(param_01)) + { + self.entityheadiconoffset = param_01; + } + else + { + self.entityheadiconoffset = (0,0,0); + } + + self notify("kill_entity_headicon_thread"); + if(param_00 == "none") + { + if(isdefined(self.entityheadicon)) + { + self.entityheadicon destroy(); + } + + return; + } + + var_03 = newteamhudelem(param_00); + var_03.archived = 1; + var_03.x = self.origin[0] + self.entityheadiconoffset[0]; + var_03.y = self.origin[1] + self.entityheadiconoffset[1]; + var_03.z = self.origin[2] + self.entityheadiconoffset[2]; + var_03.alpha = 1; + var_03 setshader(var_02,50,50); + var_03 setwaypoint(0,0,0,1); + self.entityheadicon = var_03; + thread maps\mp\_entityheadicons::keepiconpositioned(); + thread maps\mp\_entityheadicons::destroyheadiconsondeath(); +} + +//Function Number: 48 +setplayerheadicon_large(param_00,param_01) +{ + if(level.teambased) + { + return; + } + + if(!isdefined(self.entityheadiconteam)) + { + self.entityheadiconteam = "none"; + self.entityheadicon = undefined; + } + + self notify("kill_entity_headicon_thread"); + if(!isdefined(param_00)) + { + if(isdefined(self.entityheadicon)) + { + self.entityheadicon destroy(); + } + + return; + } + + var_02 = param_00.team; + self.entityheadiconteam = var_02; + if(isdefined(param_01)) + { + self.entityheadiconoffset = param_01; + } + else + { + self.entityheadiconoffset = (0,0,0); + } + + var_03 = game["entity_headicon_" + var_02]; + var_04 = newclienthudelem(param_00); + var_04.archived = 1; + var_04.x = self.origin[0] + self.entityheadiconoffset[0]; + var_04.y = self.origin[1] + self.entityheadiconoffset[1]; + var_04.z = self.origin[2] + self.entityheadiconoffset[2]; + var_04.alpha = 1; + var_04 setshader(var_03,50,50); + var_04 setwaypoint(0,0,0,1); + self.entityheadicon = var_04; + thread maps\mp\_entityheadicons::keepiconpositioned(); + thread maps\mp\_entityheadicons::destroyheadiconsondeath(); +} + +//Function Number: 49 +laser_watchdisabled() +{ + self endon("death"); + self endon("fakedeath"); + level endon("game_ended"); + self notify("laser_watchDisabled"); + self endon("laser_watchDisabled"); + for(;;) + { + self waittill("emp_damage",var_00,var_01); + playfxontag(common_scripts\utility::getfx("sentry_explode_mp"),self,"tag_aim"); + self setdefaultdroppitch(-10); + self setmode(level.sentrysettings[self.sentrytype].sentrymodeoff); + self.mode = "none"; + wait(var_01); + self setdefaultdroppitch(5); + self setmode(level.sentrysettings[self.sentrytype].sentrymodeon); + self.mode = "on"; + } +} + +//Function Number: 50 +laser_attacktargets() +{ + self endon("death"); + self endon("fakedeath"); + level endon("game_ended"); + self notify("laser_attackTargets"); + self endon("laser_attackTargets"); + self.samtargetent = undefined; + self.sammissilegroups = []; + for(;;) + { + self.samtargetent = maps\mp\killstreaks\_autosentry::sam_acquiretarget(); + laser_fireontarget(); + wait(0.05); + } +} + +//Function Number: 51 +laser_watchlightbeam() +{ + self endon("death"); + level endon("game_ended"); + wait(0.5); + if(!isdefined(self.ownerlist) || self.ownerlist.size < 1) + { + return; + } + + var_00 = self.ownerlist.size; + playfxontag(level.laser_fx["laser_charge1"],self.fxents["charge_up"],"tag_origin"); + playfxontag(level.laser_fx["beahm"],self,"tag_laser"); + laser_coredamage_activated(self.firingdamagetrig); + var_01 = maps\mp\_audio::snd_play_linked("wpn_skylaser_fire_startup",self); + thread common_scripts\utility::play_loop_sound_on_entity("wpn_skylaser_beam_lp"); + self laseron("mp_laser2_laser"); + while(isdefined(self.samtargetent) && isdefined(self getturrettarget(1)) && self getturrettarget(1) == self.samtargetent) + { + wait(0.05); + } + + self laseroff(); + stopfxontag(level.laser_fx["laser_charge1"],self.fxents["charge_up"],"tag_origin"); + playfxontag(level.laser_fx["laser_beam_done1"],self.fxents["charge_up"],"tag_origin"); + stopfxontag(level.laser_fx["beahm"],self,"tag_laser"); + playfxontag(level.laser_fx["beahm_smoke"],self,"tag_laser"); + laser_coredamage_deactivated(self.firingdamagetrig); + common_scripts\utility::stop_loop_sound_on_entity("wpn_skylaser_beam_lp"); + var_02 = maps\mp\_audio::snd_play_linked("wpn_skylaser_beam_stop",self); + if(isdefined(var_01)) + { + var_01 stopsounds(); + } +} + +//Function Number: 52 +laser_fireontarget() +{ + self endon("death"); + self endon("fakedeath"); + level endon("game_ended"); + if(isdefined(self.samtargetent)) + { + if(isdefined(level.orbitalsupport_planemodel) && self.samtargetent == level.orbitalsupport_planemodel && !isdefined(level.orbitalsupport_player)) + { + self.samtargetent = undefined; + self cleartargetentity(); + return; + } + + self settargetentity(self.samtargetent); + self waittill("turret_on_target"); + if(!isdefined(self.samtargetent)) + { + return; + } + + if(!self.laser_on) + { + thread laser_watchlightbeam(); + thread maps\mp\killstreaks\_autosentry::sam_watchlaser(); + thread maps\mp\killstreaks\_autosentry::sam_watchcrashing(); + thread maps\mp\killstreaks\_autosentry::sam_watchleaving(); + thread maps\mp\killstreaks\_autosentry::sam_watchlineofsight(); + } + + wait(0.5); + if(!isdefined(self.samtargetent)) + { + return; + } + + if(isdefined(level.orbitalsupport_planemodel) && self.samtargetent == level.orbitalsupport_planemodel && !isdefined(level.orbitalsupport_player)) + { + self.samtargetent = undefined; + self cleartargetentity(); + return; + } + + self shootturret(); + firelaserbeam(); + } +} + +//Function Number: 53 +firelaserbeam() +{ + self endon("death"); + self endon("fakedeath"); + level endon("game_ended"); + var_00 = self gettagorigin("tag_laser"); + var_01 = anglestoforward(self gettagangles("tag_laser")); + var_02 = var_00 + 15000 * var_01; + var_03 = bullettrace(var_00,var_02,1,self); + if(isdefined(level.orbitalsupport_planemodel) && self.samtargetent == level.orbitalsupport_planemodel && isdefined(level.orbitalsupport_player)) + { + radiusdamage(level.orbitalsupport_planemodel.origin,512,100,100,self.owner,"MOD_EXPLOSIVE","killstreak_laser2_mp"); + return; + } + + if(isdefined(self.samtargetent.ispodrocket) && self.samtargetent.ispodrocket) + { + self.samtargetent notify("damage",1000,self.owner,undefined,undefined,"mod_explosive",undefined,undefined,undefined,undefined,"killstreak_laser2_mp"); + return; + } + + radiusdamage(var_03["position"],512,200,200,self.owner,"MOD_EXPLOSIVE","killstreak_laser2_mp"); +} + +//Function Number: 54 +laser_coredamage_activated(param_00,param_01) +{ + level endon("game_ended"); + thread watchplayerenterlasercore(param_00,param_01); + param_00 common_scripts\utility::trigger_on(); +} + +//Function Number: 55 +laser_coredamage_deactivated(param_00) +{ + level endon("game_ended"); + param_00 notify("laser_coreDamage_deactivated"); + param_00 common_scripts\utility::trigger_off(); +} + +//Function Number: 56 +watchplayerenterlasercore(param_00,param_01) +{ + level endon("game_ended"); + param_00 endon("laser_coreDamage_deactivated"); + for(;;) + { + param_00 waittill("trigger",var_02); + if(!isplayer(var_02)) + { + continue; + } + + if(!isalive(var_02)) + { + continue; + } + + if(isdefined(var_02.lasercoretrigids) && isdefined(var_02.lasercoretrigids[param_00.targetname]) && var_02.lasercoretrigids[param_00.targetname] == 1) + { + continue; + } + else + { + if(!isdefined(var_02.lasercoretrigids)) + { + var_02.lasercoretrigids = []; + } + + var_02.lasercoretrigids[param_00.targetname] = 1; + var_02 thread player_lasercoreeffect(param_00,param_01); + if(isalive(var_02)) + { + var_02 thread player_watchexitlasercore(param_00); + var_02 thread player_watchdeath(param_00); + continue; + } + + var_02.lasercoretrigids[param_00.targetname] = 0; + } + } +} + +//Function Number: 57 +player_watchexitlasercore(param_00) +{ + level endon("game_ended"); + self endon("player_leftLaserCoreTrigger" + param_00.targetname); + self endon("stop_watching_trig"); + while(self istouching(param_00)) + { + wait(0.05); + } + + if(isdefined(self.lasercoretrigids)) + { + self.lasercoretrigids[param_00.targetname] = 0; + } + + player_resetlasercorevalues(); + self notify("player_leftLaserCoreTrigger" + param_00.targetname); +} + +//Function Number: 58 +player_lasercoreeffect(param_00,param_01) +{ + level endon("game_ended"); + self endon("player_leftLaserCoreTrigger" + param_00.targetname); + self endon("stop_watching_trig"); + if(isdefined(param_01) && param_01) + { + maps\mp\_utility::_suicide(); + return; + } + + self.poison = 0; + var_02 = level.sentrysettings[level.sentrygun.sentrytype].coreshellshock; + if(!isdefined(self.usingremote) && !isdefined(self.ridevisionset)) + { + self visionsetnakedforplayer("aftermath",0.5); + self shellshock(var_02,60); + } + else + { + self.lasercorevisualsblocked = 1; + } + + for(;;) + { + self.poison++; + switch(self.poison) + { + case 1: + self viewkick(1,self.origin); + break; + + case 2: + self viewkick(3,self.origin); + player_dolasercoredamage(15); + break; + + case 3: + self viewkick(15,self.origin); + player_dolasercoredamage(15); + break; + + case 4: + self viewkick(75,self.origin); + maps\mp\_utility::_suicide(); + break; + } + + wait(1); + } +} + +//Function Number: 59 +player_watchdeath(param_00) +{ + level endon("game_ended"); + self endon("player_leftLaserCoreTrigger" + param_00.targetname); + common_scripts\utility::waittill_any("disconnect","joined_team","joined_spectators","death"); + self.lasercoretrigids = undefined; + player_resetlasercorevalues(); + self notify("stop_watching_trig"); +} + +//Function Number: 60 +player_resetlasercorevalues() +{ + if(!isdefined(self.lasercorevisualsblocked)) + { + self stopshellshock(); + thread maps\mp\_utility::revertvisionsetforplayer(0.5); + } + + self.lasercorevisualsblocked = undefined; +} + +//Function Number: 61 +laserlightfill() +{ + playfxontag(common_scripts\utility::getfx("light_laser_fill"),self,"tag_origin"); +} + +//Function Number: 62 +player_dolasercoredamage(param_00) +{ + if(!isdefined(level.sentrygun.owner)) + { + return; + } + + self thread [[ level.callbackplayerdamage ]](self,level.sentrygun.owner,param_00,0,"MOD_TRIGGER_HURT","mp_laser2_core",self.origin,(0,0,0) - self.origin,"none",0); +} + +//Function Number: 63 +handledamagefeedbacksound(param_00) +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/killstreaks/streak_mp_lost.gsc b/AW/PC/maps/mp/killstreaks/streak_mp_lost.gsc new file mode 100644 index 0000000..c4312c9 --- /dev/null +++ b/AW/PC/maps/mp/killstreaks/streak_mp_lost.gsc @@ -0,0 +1,1519 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\killstreaks\streak_mp_lost.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 68 + * Decompile Time: 1010 ms + * Timestamp: 4/22/2024 2:12:39 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level.mp_lost_killstreak_duration = 40; + precacheitem("iw5_dlcgun12loot6_mp"); + precacheshader("dpad_killstreak_lost_static"); + level.killstreakfuncs["mp_lost"] = ::tryusecleaningdrone; + level.mapkillstreak = "mp_lost"; + level.mapkillstreakpickupstring = &"MP_LOST_MAP_KILLSTREAK_PICKUP"; + level.mp_lost_inuse = 0; + level.cleaningdronemaxperplayer = 3; + level.cleaningdronesettings = spawnstruct(); + level.cleaningdronesettings.health = 999999; + level.cleaningdronesettings.maxhealth = 60; + level.cleaningdronesettings.vehicleinfo = "vehicle_lost_drone_mp"; + level.cleaningdronesettings.modelbase = "Lost_attack_drone"; + level.cleaningdronesettings.fxid_sparks = loadfx("vfx/sparks/direct_hack_stun"); + level.cleaningdronesettings.fxid_laser_glow = loadfx("vfx/lights/tracking_drone_laser_blue"); + level.cleaningdronesettings.fxid_explode = loadfx("vfx/explosion/tracking_drone_explosion"); + level.cleaningdronesettings.fxid_spawn = loadfx("vfx/map/mp_lost/lost_attack_drone_spawn"); + level.cleaningdronesettings.fxid_hit = loadfx("vfx/map/mp_lost/lost_attack_drone_hit"); + level.cleaningdronesettings.fxid_lethalexplode = loadfx("vfx/explosion/frag_grenade_default"); + level.cleaningdronesettings.fxid_warning = loadfx("vfx/map/mp_lost/lost_attack_drone_lights_danger"); + level.cleaningdronesettings.fxid_enemy_light = loadfx("vfx/map/mp_lost/lost_attack_drone_lights_enemy"); + level.cleaningdronesettings.fxid_friendly_light = loadfx("vfx/map/mp_lost/lost_attack_drone_lights_friendly"); + level.cleaningdronesettings.fxid_thruster_forward = loadfx("vfx/distortion/drone_thruster_lost"); + level.cleaningdronesettings.fxid_thruster_attack = loadfx("vfx/distortion/lost_drone_attack"); + level.cleaningdronesettings.fxid_thruster_down = loadfx("vfx/distortion/lost_drone_distortion_hemi"); + level.cleaningdronesettings.sound_explode = "veh_tracking_drone_explode"; + level.cleaningdronesettings.sound_lock = "veh_tracking_drone_lock_lp"; + level.cleaningdrones = []; + level.startpointlocations = common_scripts\utility::getstructarray("lost_drone_spawn_point","script_noteworthy"); + level.spawncratelocations = getentarray("lost_drone_spawn_crate","targetname"); + level.cleaningdronedone = 0; + foreach(var_01 in level.players) + { + var_01.is_being_tracked = 0; + } + + level thread ontrackingplayerconnect(); + level.cleaningdronedebugposition = 0; + level.cleaningdronedebugpositionforward = 65; + level.cleaningdronedebugpositionheight = 0; +} + +//Function Number: 2 +tryusecleaningdrone(param_00,param_01) +{ + var_02 = level.cleaningdronemaxperplayer; + if(maps\mp\_utility::currentactivevehiclecount() >= maps\mp\_utility::maxvehiclesallowed() || level.fauxvehiclecount + var_02 >= maps\mp\_utility::maxvehiclesallowed()) + { + self iprintlnbold(&"MP_AIR_SPACE_TOO_CROWDED"); + return 0; + } + + if(level.mp_lost_inuse) + { + self iprintlnbold(&"MP_LOST_IN_USE"); + return 0; + } + + if(maps\mp\_utility::isusingremote()) + { + return 0; + } + + if(maps\mp\_utility::isairdenied()) + { + return 0; + } + + if(maps\mp\_utility::isemped()) + { + return 0; + } + + var_03 = setlostdroneactive(); + if(isdefined(var_03) && var_03) + { + maps\mp\_matchdata::logkillstreakevent("mp_lost",self.origin); + } + + level.cleaningdronedone = 0; + foreach(var_05 in level.players) + { + var_05.is_being_tracked = 0; + } + + if(!isdefined(level.cleaningdronecount)) + { + level.cleaningdronecount = 0; + } + + if(!isdefined(level.startpointlocations)) + { + level.startpointlocations = common_scripts\utility::getstructarray("lost_drone_spawn_point","script_noteworthy"); + } + + for(var_07 = 0;var_07 < level.cleaningdronemaxperplayer;var_07 = var_07 + 1) + { + maps\mp\_utility::incrementfauxvehiclecount(); + var_08 = createcleaningdrone(); + if(!isdefined(var_08)) + { + maps\mp\_utility::decrementfauxvehiclecount(); + return 0; + } + + level.cleaningdrones common_scripts\utility::add_to_array(level.cleaningdrones,var_08); + level.cleaningdrones = common_scripts\utility::array_removeundefined(level.cleaningdrones); + thread startcleaningdrone(var_08); + var_08 thread cleaningdronemonitordeath(); + level.cleaningdronecount = level.cleaningdronecount + 1; + wait(0.25); + } + + thread cleaningdronespawnwaves(); + thread cleaningdronemonitortime(); + return 1; +} + +//Function Number: 3 +cleaningdronemonitortime() +{ + self endon("disconnect"); + level endon("game_ended"); + var_00 = level.mp_lost_killstreak_duration; + wait(var_00); + level.cleaningdronedone = 1; + level.mp_lost_inuse = 0; +} + +//Function Number: 4 +cleaningdronespawnwaves() +{ + self endon("disconnect"); + level endon("game_ended"); + while(level.cleaningdronedone == 0) + { + if(level.cleaningdronecount < level.cleaningdronemaxperplayer) + { + var_00 = createcleaningdrone(); + if(!isdefined(var_00)) + { + maps\mp\_utility::decrementfauxvehiclecount(); + return 0; + } + + level.cleaningdrones common_scripts\utility::add_to_array(level.cleaningdrones,var_00); + level.cleaningdrones = common_scripts\utility::array_removeundefined(level.cleaningdrones); + level.cleaningdronecount = level.cleaningdronecount + 1; + var_00 thread cleaningdronemonitordeath(); + thread startcleaningdrone(var_00); + wait(2); + } + + wait 0.05; + } +} + +//Function Number: 5 +cleaningdronemonitordeath() +{ + common_scripts\utility::waittill_either("death","destroyed"); + level.cleaningdronecount = level.cleaningdronecount - 1; +} + +//Function Number: 6 +setlostdroneactive() +{ + if(level.mp_lost_inuse) + { + return 0; + } + + level.mp_lost_inuse = 1; + return 1; +} + +//Function Number: 7 +createcleaningdrone(param_00,param_01,param_02,param_03,param_04) +{ + if(!isdefined(param_01)) + { + param_01 = 0; + } + + var_05 = "nil"; + var_06 = "nil"; + var_07 = "nil"; + if(!param_01) + { + var_07 = common_scripts\utility::getclosest(self.origin,level.startpointlocations); + level.startpointlocations = common_scripts\utility::array_remove(level.startpointlocations,var_07); + thread clearspawnlocation(var_07); + var_05 = var_07.origin; + var_06 = var_07.angles; + } + + var_08 = self; + if(isdefined(level.ishorde) && level.ishorde) + { + var_08 = level.player; + } + + var_09 = spawnhelicopter(var_08,var_05,var_06,level.cleaningdronesettings.vehicleinfo,level.cleaningdronesettings.modelbase); + var_09 setmodel("tag_origin"); + var_09 hide(); + var_09.modelbase = spawn("script_model",var_05); + var_09.modelbase.angles = (0,0,0); + var_09.modelbase setmodel(level.cleaningdronesettings.modelbase); + var_09 thread cleaningdrone_spawnanim(var_07); + var_09.owner = self; + var_0A = spawn("script_model",var_09.modelbase gettagorigin("tag_origin")); + var_0A setmodel("tag_origin"); + var_0A vehicle_jetbikesethoverforcescale(var_09.modelbase,"tag_origin",(-40,0,10),(0,0,0)); + var_09.killcament = var_0A; + var_09.killcament setscriptmoverkillcam("rocket"); + if(!isdefined(var_09)) + { + return; + } + + if(isdefined(param_04)) + { + var_09.type = "cleaning_drone"; + } + else + { + var_09.type = "cleaning_drone"; + } + + var_09 common_scripts\utility::make_entity_sentient_mp(self.team); + var_09 makeunusable(); + var_09 makevehiclesolidcapsule(23,23,23); + var_09 addtocleaningdronelist(); + var_09 thread removefromcleaningdronelistondeath(); + var_09.modelbase setcandamage(1); + var_09.modelbase setcanradiusdamage(1); + var_09.modelbase.health = level.cleaningdronesettings.health; + var_09.modelbase.maxhealth = level.cleaningdronesettings.maxhealth; + var_09.modelbase.damagetaken = 0; + var_09.speed = 20; + var_09.followspeed = 20; + var_09.owner = self; + var_09.team = self.team; + var_09 vehicle_setspeed(var_09.speed,10,10); + var_09 setyawspeed(120,90); + var_09 setneargoalnotifydist(30); + var_09 sethoverparams(4,5,5); + var_09.fx_tag0 = undefined; + if(isdefined(var_09.type)) + { + if(var_09.type == "cleaning_drone") + { + var_09.fx_tag0 = "TAG_EYE"; + } + else if(var_09.type == "explosive_drone") + { + var_09.fx_tag0 = "TAG_EYE"; + } + } + + if(level.teambased) + { + var_09.modelbase maps\mp\_entityheadicons::setteamheadicon(self.team,(0,0,40),"TAG_ORIGIN"); + } + else + { + var_09.modelbase maps\mp\_entityheadicons::setplayerheadicon(self.owner,(0,0,40),"TAG_ORIGIN"); + } + + var_09.maxtrackingrange = 80000; + var_09.startattackrange = 450; + var_09.maxattackrange = 300; + var_09.minattackrange = 100; + var_09.trackedplayer = undefined; + var_0B = 45; + var_0C = 45; + var_09 setmaxpitchroll(var_0B,var_0C); + var_09.targetpos = var_05; + var_09.attract_strength = 10000; + var_09.attract_range = 500; + var_09.hasdodged = 0; + var_09.stunned = 0; + var_09.inactive = 0; + var_09.modelbase thread maps\mp\gametypes\_damage::setentitydamagecallback(var_09.modelbase.maxhealth,undefined,::oncleaningdronedeath,undefined,0); + var_09.modelbase thread cleaningdrone_watchdamage(); + var_09 thread cleaningdrone_watchdisable(); + var_09.modelbase thread cleaningdrone_watchdeath(var_09); + var_09 thread cleaningdrone_watchownerloss(); + var_09 thread cleaningdrone_watchownerdeath(); + var_09 thread cleaningdrone_watchroundend(); + var_09 thread cleaningdrone_watchhostmigration(); + var_09 thread cleaningdrone_watchtimeout(); + var_09 thread cleaningdrone_enemy_lightfx(); + var_09 thread cleaningdrone_friendly_lightfx(); + var_09.modelbase thread drone_thrusterfx(1.5); + return var_09; +} + +//Function Number: 8 +cleaningdrone_watchdamage() +{ + self endon("death"); + self waittill("damage"); +} + +//Function Number: 9 +clearspawnlocation(param_00) +{ + wait(6); + level.startpointlocations = common_scripts\utility::array_add(level.startpointlocations,param_00); +} + +//Function Number: 10 +idletargetmover(param_00) +{ + self endon("disconnect"); + level endon("game_ended"); + param_00 endon("death"); + var_01 = anglestoforward(self.angles); + for(;;) + { + if(maps\mp\_utility::isreallyalive(self) && !maps\mp\_utility::isusingremote() && anglestoforward(self.angles) != var_01) + { + var_01 = anglestoforward(self.angles); + var_02 = self.origin + var_01 * -100 + (0,0,40); + param_00 moveto(var_02,0.5); + } + + wait(0.5); + } +} + +//Function Number: 11 +playfxontagforclients_alivecheck(param_00,param_01,param_02,param_03) +{ + self endon("death"); + param_03 endon("disconnect"); + while(!isalive(param_03)) + { + wait 0.05; + } + + playfxontagforclients(param_00,param_01,param_02,param_03); +} + +//Function Number: 12 +cleaningdrone_lightfx(param_00,param_01) +{ + self endon("death"); + param_01 endon("disconnect"); + while(!isalive(param_01)) + { + wait 0.05; + } + + playfxontagforclients(param_00,self.modelbase,"tag_origin",param_01); +} + +//Function Number: 13 +cleaningdrone_removelightfx() +{ + self endon("death"); + foreach(var_01 in level.players) + { + killfxontagforclient(level.cleaningdronesettings.fxid_enemy_light,self.modelbase,"tag_origin",var_01); + killfxontagforclient(level.cleaningdronesettings.fxid_friendly_light,self.modelbase,"tag_origin",var_01); + } +} + +//Function Number: 14 +cleaningdrone_enemy_lightfx() +{ + self endon("death"); + foreach(var_01 in level.players) + { + if(isdefined(var_01) && issentient(var_01) && issentient(self) && var_01.team != self.team) + { + childthread cleaningdrone_lightfx(level.cleaningdronesettings.fxid_enemy_light,var_01); + wait 0.05; + } + } +} + +//Function Number: 15 +cleaningdrone_friendly_lightfx() +{ + self endon("death"); + self notify("killwatchplayfx"); + foreach(var_01 in level.players) + { + if(isdefined(var_01) && issentient(var_01) && issentient(self) && var_01.team == self.team) + { + childthread cleaningdrone_lightfx(level.cleaningdronesettings.fxid_friendly_light,var_01); + wait 0.05; + } + } + + thread watchconnectedplayfx(); + thread watchjoinedteamplayfx(); +} + +//Function Number: 16 +drone_thrusterfx(param_00) +{ + self endon("death"); + self notify("drone_thrusterFX"); + self endon("drone_thrusterFX"); + wait(param_00); + foreach(var_02 in level.players) + { + if(isdefined(var_02) && isdefined(self) && isdefined(level.cleaningdronesettings.fxid_thruster_forward)) + { + playfxontagforclients_alivecheck(level.cleaningdronesettings.fxid_thruster_forward,self,"TAG_THRUSTER",var_02); + } + + wait 0.05; + if(isdefined(var_02) && isdefined(self) && isdefined(level.cleaningdronesettings.fxid_thruster_down)) + { + playfxontagforclients_alivecheck(level.cleaningdronesettings.fxid_thruster_down,self,"TAG_THRUSTER_DOWN",var_02); + } + } + + for(;;) + { + level waittill("connected",var_02); + var_02 waittill("spawned_player"); + if(isdefined(var_02) && isdefined(self) && isdefined(level.cleaningdronesettings.fxid_thruster_forward)) + { + playfxontagforclients(level.cleaningdronesettings.fxid_thruster_forward,self,"TAG_THRUSTER",var_02); + } + + wait 0.05; + if(isdefined(var_02) && isdefined(self) && isdefined(level.cleaningdronesettings.fxid_thruster_down)) + { + playfxontagforclients(level.cleaningdronesettings.fxid_thruster_down,self,"TAG_THRUSTER_DOWN",var_02); + } + } +} + +//Function Number: 17 +drone_thrusterattackfx() +{ + playfxontag(level.cleaningdronesettings.fxid_thruster_attack,self,"TAG_THRUSTER"); + thread aud_drone_thrusterattack(); +} + +//Function Number: 18 +watchconnectedplayfx() +{ + self endon("death"); + self endon("killwatchplayfx"); + for(;;) + { + level waittill("connected",var_00); + var_00 waittill("spawned_player"); + if(isdefined(var_00) && var_00.team == self.team) + { + childthread cleaningdrone_lightfx(level.cleaningdronesettings.fxid_friendly_light,var_00); + wait(0.2); + } + } +} + +//Function Number: 19 +watchjoinedteamplayfx() +{ + self endon("death"); + self endon("killwatchplayfx"); + for(;;) + { + level waittill("joined_team",var_00); + var_00 waittill("spawned_player"); + if(isdefined(var_00) && var_00.team == self.team) + { + childthread cleaningdrone_lightfx(level.cleaningdronesettings.fxid_friendly_light,var_00); + wait(0.2); + } + } +} + +//Function Number: 20 +startcleaningdrone(param_00) +{ + level endon("game_ended"); + param_00 endon("death"); + wait(1.6); + param_00 thread cleaningdrone_followtarget(); + param_00 thread aud_drone_start_jets(); + if(isdefined(param_00.type)) + { + if(param_00.type == "explosive_drone") + { + param_00 thread checkforexplosivegoal(); + return; + } + + if(param_00.type == "cleaning_drone" && !isdefined(level.ishorde)) + { + param_00 thread cleaningdroneattacktarget(); + return; + } + } +} + +//Function Number: 21 +cleaningdrone_spawnanim(param_00) +{ + level endon("game_ended"); + level endon("host_migration_begin"); + self endon("death"); + self endon("leaving"); + thread aud_drone_launch(); + var_01 = common_scripts\utility::getclosest(param_00.origin,level.spawncratelocations); + var_01 scriptmodelplayanim("lost_attack_drone_spawn_crate"); + playfx(level.cleaningdronesettings.fxid_spawn,var_01.origin,anglestoforward(var_01.angles + (270,0,0))); + self.modelbase scriptmodelplayanimdeltamotionfrompos("lost_attack_drone_spawn",param_00.origin,param_00.angles); + wait(1.6); + self.modelbase scriptmodelclearanim(); + self.modelbase scriptmodelplayanim("lost_attack_drone_spin_idle"); + self vehicle_teleport(self.modelbase.origin,self.modelbase.angles); + self.modelbase vehicle_jetbikesethoverforcescale(self,"tag_origin",(0,0,0),(0,0,0)); +} + +//Function Number: 22 +checkforexplosivegoal() +{ + level endon("game_ended"); + level endon("host_migration_begin"); + self endon("death"); + self endon("leaving"); + for(;;) + { + common_scripts\utility::waittill_any("goal","near_goal","hit_goal"); + if(self.trackedplayer != self.owner && maps\mp\_utility::isreallyalive(self.trackedplayer)) + { + var_00 = distancesquared(self.trackedplayer.origin,self.origin); + if(var_00 <= 16384) + { + self notify("exploding"); + thread blowupdronesequence(); + break; + } + } + } +} + +//Function Number: 23 +blowupdronesequence() +{ + var_00 = 2; + var_01 = undefined; + if(isdefined(self.owner)) + { + var_01 = self.owner; + } + + if(isdefined(self)) + { + thread turnondangerlights(); + self playsound("drone_warning_beap"); + } + + wait(var_00); + if(isdefined(self)) + { + self playsound("drone_bomb_explosion"); + var_02 = anglestoup(self.angles); + var_03 = anglestoforward(self.angles); + playfx(level.cleaningdronesettings.fxid_lethalexplode,self.origin,var_03,var_02); + if(isdefined(var_01)) + { + self radiusdamage(self.origin,256,1000,25,var_01,"MOD_EXPLOSIVE","killstreak_missile_strike_mp"); + } + else + { + self radiusdamage(self.origin,256,1000,25,undefined,"MOD_EXPLOSIVE","killstreak_missile_strike_mp"); + } + + self notify("death"); + } +} + +//Function Number: 24 +turnondangerlights() +{ + if(isdefined(self)) + { + cleaningdrone_removelightfx(); + } + + wait(0.05); + if(isdefined(self)) + { + playfxontag(level.cleaningdronesettings.fxid_warning,self.modelbase,"tag_origin"); + } +} + +//Function Number: 25 +cleaningdrone_followtarget() +{ + level endon("game_ended"); + level endon("host_migration_begin"); + self endon("death"); + self endon("leaving"); + self endon("exploding"); + if(!isdefined(self.owner)) + { + thread cleaningdrone_leave(); + return; + } + + self.owner endon("disconnect"); + self endon("owner_gone"); + self vehicle_setspeed(self.followspeed,10,10); + self.previoustrackedplayer = self.owner; + self.trackedplayer = undefined; + var_00 = []; + if(isdefined(level.ishorde) && level.ishorde) + { + self.trackedplayer = self.owner; + } + + for(;;) + { + if(isdefined(self.stunned) && self.stunned) + { + wait(0.5); + continue; + } + + if(isdefined(self.owner) && isalive(self.owner)) + { + var_01 = self.maxtrackingrange * self.maxtrackingrange; + var_02 = var_01; + if(!isdefined(level.ishorde)) + { + if(!isdefined(self.trackedplayer) || self.trackedplayer == self.owner || !isalive(self.trackedplayer)) + { + foreach(var_04 in level.players) + { + if(isdefined(var_04) && isalive(var_04) && var_04.team != self.team && !var_04 maps\mp\_utility::_hasperk("specialty_blindeye") && checkplayertracked(var_04) == 0) + { + var_00 = common_scripts\utility::array_add(var_00,var_04); + } + } + + var_06 = common_scripts\utility::getclosest(self.origin,var_00); + self.trackedplayer = var_06; + var_00 = "nil"; + var_00 = []; + } + } + + if(isdefined(self.trackedplayer) && checkplayertracked(self.trackedplayer) == 0) + { + thread cleaningdrone_movetoplayer(self.trackedplayer); + thread setplayertracked(self.trackedplayer); + thread watchplayerdeathdisconnect(self.trackedplayer); + } + else if(!isdefined(self.goalnode)) + { + thread cleaningdrone_followowner(); + thread cleaningdrone_watchforgoal(); + } + } + + wait 0.05; + } +} + +//Function Number: 26 +checkplayertracked(param_00) +{ + if(!isdefined(param_00.istracked)) + { + param_00.istracked = 0; + return 0; + } + + if(param_00.istracked == 0) + { + return 0; + } + + return 1; +} + +//Function Number: 27 +clearplayertracked(param_00) +{ + param_00.istracked = 0; +} + +//Function Number: 28 +setplayertracked(param_00) +{ + param_00.istracked = 1; + thread clearplayertrackedondronedeath(param_00); + param_00 common_scripts\utility::waittill_either("death","leaving"); + param_00.istracked = 0; +} + +//Function Number: 29 +clearplayertrackedondronedeath(param_00) +{ + common_scripts\utility::waittill_either("death","destroyed"); + if(isalive(param_00)) + { + if(isdefined(param_00.istracked)) + { + param_00.istracked = 0; + } + } +} + +//Function Number: 30 +watchplayerdeathdisconnect(param_00) +{ + self endon("death"); + self endon("leaving"); + self endon("exploding"); + param_00 common_scripts\utility::waittill_any("death","disconnect","faux_spawn","joined_team"); + if(isdefined(param_00)) + { + if(param_00.is_being_tracked == 1) + { + if(!isalive(param_00)) + { + param_00.died_being_tracked = 1; + thread cleaningdrone_leave(); + return; + } + + return; + } + + self.trackedplayer = undefined; + } +} + +//Function Number: 31 +cleaningdrone_movetoplayer(param_00) +{ + level endon("game_ended"); + self endon("death"); + self endon("leaving"); + self.owner endon("death"); + self.owner endon("disconnect"); + self endon("owner_gone"); + self notify("cleaningDrone_moveToPlayer"); + self endon("cleaningDrone_moveToPlayer"); + self notify("clear_goal"); + self.goalnode = "nil"; + var_01 = 0; + var_02 = 0; + var_03 = 0; + if(isdefined(level.ishorde) && level.ishorde) + { + var_01 = 0; + var_02 = 30; + switch(param_00 getstance()) + { + case "stand": + var_03 = 105; + break; + + case "crouch": + var_03 = 75; + break; + + case "prone": + var_03 = 45; + break; + } + } + else + { + var_01 = -65; + var_02 = 0; + switch(param_00 getstance()) + { + case "stand": + var_03 = 65; + break; + + case "crouch": + var_03 = 50; + break; + + case "prone": + var_03 = 22; + break; + } + } + + var_04 = (var_02,var_01,var_03); + self setdronegoalpos(param_00,var_04); + self.intransit = 1; + thread cleaningdrone_watchforgoal(); + thread cleaningdrone_watchtargetdisconnect(); +} + +//Function Number: 32 +cleaningdrone_followowner() +{ + level endon("game_ended"); + self endon("death"); + self endon("leaving"); + self.owner endon("death"); + self.owner endon("disconnect"); + self endon("owner_gone"); + self notify("cleaningDrone_moveToOwner"); + self endon("cleaningDrone_moveToOwner"); + var_00 = (randomintrange(100,300),randomintrange(100,300),105); + self setdronegoalpos(self.owner,var_00); + self.intransit = 1; + thread cleaningdrone_watchforgoal(); +} + +//Function Number: 33 +cleaningdrone_stopmovement() +{ + self setvehgoalpos(self.origin,1); + self.intransit = 0; + self.inactive = 1; +} + +//Function Number: 34 +cleaningdrone_changeowner(param_00) +{ + maps\mp\_utility::incrementfauxvehiclecount(); + var_01 = param_00 createcleaningdrone(undefined,1,self.origin,self.angles); + if(!isdefined(var_01)) + { + maps\mp\_utility::decrementfauxvehiclecount(); + return 0; + } + + if(!isdefined(param_00.cleaningdronearray)) + { + param_00.cleaningdronearray = []; + } + + param_00.cleaningdronearray[param_00.cleaningdronearray.size] = var_01; + level.cleaningdrones = common_scripts\utility::array_removeundefined(level.cleaningdrones); + level.cleaningdrones[level.trackingdrones.size] = var_01; + param_00 thread startcleaningdrone(var_01); + if(isdefined(level.drone_settings.fxid_sparks)) + { + stopfxontag(level.cleaningdronesettings.fxid_sparks,self,self.fx_tag0); + } + + removecleaningdrone(); + return 1; +} + +//Function Number: 35 +attack_anim_check(param_00,param_01) +{ + var_02 = 24; + var_03 = var_02 * 2; + var_04 = self.origin; + var_05 = var_04 + param_01 * param_00; + var_06 = self aiphysicstrace(var_04,var_05,var_02,var_03,1,1); + return var_06["fraction"] >= 1; +} + +//Function Number: 36 +do_stationary_attack() +{ + thread cleaningdrone_removelightfx(); + wait 0.05; + self.modelbase unlink(); + var_00 = self.trackedplayer.origin + (0,0,40) - self.modelbase.origin; + var_00 = vectornormalize(var_00); + var_01 = vectortoangles(var_00); + self.modelbase scriptmodelplayanimdeltamotionfrompos("lost_attack_drone_stationary_attack",self.modelbase.origin,var_01); + self.drone_anim_state = "lost_attack_drone_stationary_attack"; + childthread cleaningdrone_attack(); + childthread cleaningdrone_collide(self.trackedplayer); + childthread cleaningdrone_targetdead(self.trackedplayer,var_01); + self.modelbase childthread drone_thrusterattackfx(); + common_scripts\utility::waittill_any_timeout(0.4,"damage_stop","hit"); + if(isalive(self.trackedplayer)) + { + self.modelbase scriptmodelclearanim(); + self.modelbase scriptmodelplayanim("lost_attack_drone_spin_down"); + self.drone_anim_state = "lost_attack_drone_spin_down"; + self vehicle_teleport(self.modelbase.origin,self.modelbase.angles); + self.modelbase vehicle_jetbikesethoverforcescale(self,"tag_origin",(0,0,0),(0,0,0)); + wait(0.66); + self notify("damage_stop"); + self.modelbase scriptmodelplayanim("lost_attack_drone_spin_idle"); + self.drone_anim_state = "lost_attack_drone_spin_idle"; + self.modelbase thread drone_thrusterfx(0); + thread cleaningdrone_enemy_lightfx(); + thread cleaningdrone_friendly_lightfx(); + return; + } + + self.modelbase scriptmodelclearanim(); + self.modelbase scriptmodelplayanimdeltamotion("lost_attack_drone_react"); + self.drone_anim_state = "lost_attack_drone_spin_react"; + wait(2); + self.modelbase scriptmodelclearanim(); + self vehicle_teleport(self.modelbase.origin,self.modelbase.angles); + self.modelbase vehicle_jetbikesethoverforcescale(self,"tag_origin",(0,0,0),(0,0,0)); + self.modelbase scriptmodelplayanim("lost_attack_drone_spin_idle"); + self.drone_anim_state = "lost_attack_drone_spin_idle"; + self.modelbase thread drone_thrusterfx(0); + thread cleaningdrone_enemy_lightfx(); + thread cleaningdrone_friendly_lightfx(); +} + +//Function Number: 37 +cleaningdroneattacktarget() +{ + level endon("game_ended"); + self endon("death"); + self endon("leaving"); + if(!isdefined(self.owner)) + { + thread cleaningdrone_leave(); + return; + } + + self.owner endon("disconnect"); + self.owner endon("joined_team"); + self.owner endon("joined_spectators"); + self.drone_anim_state = "lost_attack_drone_spin_idle"; + for(;;) + { + if(isdefined(self.trackedplayer) && self.trackedplayer != self.owner && distancesquared(self.origin,self.trackedplayer.origin) < self.startattackrange * self.startattackrange && 0.8 < self sightconetrace(self.trackedplayer.origin + (0,0,40),self.trackedplayer)) + { + self.modelbase scriptmodelclearanim(); + self.modelbase scriptmodelplayanim("lost_attack_drone_spin_up"); + self.drone_anim_state = "lost_attack_drone_spin_up"; + wait(1); + if(isdefined(self.trackedplayer) && self.trackedplayer != self.owner && isalive(self.trackedplayer)) + { + var_00 = 0.8 < self sightconetrace(self.trackedplayer.origin + (0,0,40),self.trackedplayer); + if(var_00) + { + var_01 = distancesquared(self.origin,self.trackedplayer.origin); + if(var_01 < self.maxattackrange * self.maxattackrange && var_01 > self.minattackrange * self.minattackrange) + { + var_02 = self.trackedplayer.origin + (0,0,40) - self.origin; + var_02 = vectornormalize(var_02); + var_03 = attack_anim_check(var_02,self.maxattackrange); + if(var_03) + { + thread cleaningdrone_removelightfx(); + wait 0.05; + self.modelbase unlink(); + var_04 = vectortoangles(var_02); + self.modelbase scriptmodelplayanimdeltamotionfrompos("lost_attack_drone_attack",self.modelbase.origin,var_04); + self.drone_anim_state = "lost_attack_drone_attack"; + childthread cleaningdrone_attack(); + childthread cleaningdrone_collide(self.trackedplayer); + childthread cleaningdrone_targetdead(self.trackedplayer,var_04); + self.modelbase childthread drone_thrusterattackfx(); + common_scripts\utility::waittill_any_timeout(0.8,"damage_stop","hit"); + if(isalive(self.trackedplayer)) + { + self.modelbase scriptmodelclearanim(); + self.modelbase scriptmodelplayanim("lost_attack_drone_spin_down"); + self.drone_anim_state = "lost_attack_drone_spin_down"; + self vehicle_teleport(self.modelbase.origin,self.modelbase.angles); + self.modelbase vehicle_jetbikesethoverforcescale(self,"tag_origin",(0,0,0),(0,0,0)); + wait(0.66); + self notify("damage_stop"); + self.modelbase scriptmodelplayanim("lost_attack_drone_spin_idle"); + self.drone_anim_state = "lost_attack_drone_spin_idle"; + self.modelbase thread drone_thrusterfx(0); + thread cleaningdrone_enemy_lightfx(); + thread cleaningdrone_friendly_lightfx(); + } + else + { + self.modelbase scriptmodelclearanim(); + self.modelbase scriptmodelplayanimdeltamotion("lost_attack_drone_react"); + self.drone_anim_state = "lost_attack_drone_react"; + wait(2); + self.modelbase scriptmodelclearanim(); + self vehicle_teleport(self.modelbase.origin,self.modelbase.angles); + self.modelbase vehicle_jetbikesethoverforcescale(self,"tag_origin",(0,0,0),(0,0,0)); + self.modelbase scriptmodelplayanim("lost_attack_drone_spin_idle"); + self.drone_anim_state = "lost_attack_drone_spin_idle"; + self.modelbase thread drone_thrusterfx(0); + thread cleaningdrone_enemy_lightfx(); + thread cleaningdrone_friendly_lightfx(); + } + } + else + { + thread cleaningdrone_movetoplayer(self.trackedplayer); + } + } + else if(var_01 <= self.minattackrange * self.minattackrange && var_01 > self.minattackrange - 25 * self.minattackrange - 25) + { + var_02 = self.trackedplayer.origin + (0,0,40) - self.origin; + var_02 = vectornormalize(var_02); + var_03 = attack_anim_check(var_02,80); + if(var_03) + { + thread cleaningdrone_removelightfx(); + wait 0.05; + self.modelbase unlink(); + var_04 = vectortoangles(var_02); + self.modelbase scriptmodelplayanimdeltamotionfrompos("lost_attack_drone_100_attack",self.modelbase.origin,var_04); + self.drone_anim_state = "lost_attack_drone_100_attack"; + childthread cleaningdrone_attack(); + childthread cleaningdrone_collide(self.trackedplayer); + childthread cleaningdrone_targetdead(self.trackedplayer,var_04); + self.modelbase childthread drone_thrusterattackfx(); + common_scripts\utility::waittill_any_timeout(0.4,"damage_stop","hit"); + if(isalive(self.trackedplayer)) + { + self.modelbase scriptmodelclearanim(); + self.modelbase scriptmodelplayanim("lost_attack_drone_spin_down"); + self.drone_anim_state = "lost_attack_drone_spin_down"; + self vehicle_teleport(self.modelbase.origin,self.modelbase.angles); + self.modelbase vehicle_jetbikesethoverforcescale(self,"tag_origin",(0,0,0),(0,0,0)); + wait(0.66); + self notify("damage_stop"); + self.modelbase scriptmodelplayanim("lost_attack_drone_spin_idle"); + self.drone_anim_state = "lost_attack_drone_spin_idle"; + self.modelbase thread drone_thrusterfx(0); + thread cleaningdrone_enemy_lightfx(); + thread cleaningdrone_friendly_lightfx(); + } + else + { + self.modelbase scriptmodelclearanim(); + self.modelbase scriptmodelplayanimdeltamotion("lost_attack_drone_react"); + self.drone_anim_state = "lost_attack_drone_spin_react"; + wait(2); + self.modelbase scriptmodelclearanim(); + self vehicle_teleport(self.modelbase.origin,self.modelbase.angles); + self.modelbase vehicle_jetbikesethoverforcescale(self,"tag_origin",(0,0,0),(0,0,0)); + self.modelbase scriptmodelplayanim("lost_attack_drone_spin_idle"); + self.drone_anim_state = "lost_attack_drone_spin_idle"; + self.modelbase thread drone_thrusterfx(0); + thread cleaningdrone_enemy_lightfx(); + thread cleaningdrone_friendly_lightfx(); + } + } + else + { + thread cleaningdrone_movetoplayer(self.trackedplayer); + } + } + else if(var_01 <= self.minattackrange - 25 * self.minattackrange - 25) + { + do_stationary_attack(); + } + } + } + else + { + self.modelbase scriptmodelplayanim("lost_attack_drone_spin_idle"); + self.drone_anim_state = "lost_attack_drone_spin_idle"; + } + } + else if(self.drone_anim_state != "lost_attack_drone_spin_idle") + { + self.modelbase scriptmodelplayanim("lost_attack_drone_spin_idle"); + self.drone_anim_state = "lost_attack_drone_spin_idle"; + } + + wait 0.05; + } +} + +//Function Number: 38 +cleaningdrone_attack() +{ + self endon("damage_stop"); + self.owner endon("disconnect"); + while(isdefined(self.modelbase)) + { + var_00 = 50; + self radiusdamage(self.modelbase.origin,var_00,500,100,self,"MOD_EXPLOSIVE","iw5_dlcgun12loot6_mp"); + wait 0.05; + } +} + +//Function Number: 39 +cleaningdrone_targetdead(param_00,param_01) +{ + self endon("damage_stop"); + param_00 waittill("death"); + var_02 = param_00.body gettagorigin("j_neck"); + playfx(level.cleaningdronesettings.fxid_hit,var_02); + playimpactheadfatalfx(var_02,var_02 - self.origin); + self notify("target_dead"); + self notify("damage_stop"); +} + +//Function Number: 40 +cleaningdrone_collide(param_00) +{ + self endon("damage_stop"); + self waittill("touch",var_01); + if(var_01 != param_00 && var_01 != self.modelbase) + { + self notify("hit"); + } +} + +//Function Number: 41 +stophighlightingplayer(param_00) +{ + if(isdefined(self.lasertag)) + { + self.lasertag laseroff(); + stopfxontag(level.cleaningdronesettings.fxid_laser_glow,self.lasertag,"tag_laser"); + } + + if(isdefined(param_00)) + { + if(isdefined(level.cleaningdronesettings.sound_lock)) + { + self stoploopsound(); + } + + if(param_00 hasperk("specialty_radararrow",1)) + { + param_00 unsetperk("specialty_radararrow",1); + } + + param_00 notify("player_not_tracked"); + param_00.is_being_tracked = 0; + param_00.trackedbyplayer = undefined; + } +} + +//Function Number: 42 +ontrackingplayerconnect() +{ + level endon("game_ended"); + for(;;) + { + level waittill("connected",var_00); + var_00.is_being_tracked = 0; + foreach(var_00 in level.players) + { + if(!isdefined(var_00.is_being_tracked)) + { + var_00.is_being_tracked = 0; + } + } + } +} + +//Function Number: 43 +cleaningdrone_watchforgoal() +{ + level endon("game_ended"); + self endon("death"); + self endon("leaving"); + self.owner endon("disconnect"); + self endon("owner_gone"); + self endon("cleaningDrone_watchForGoal"); + self endon("cleaningDrone_moveToOwner"); + var_00 = common_scripts\utility::waittill_any_return("goal","near_goal","hit_goal","clear_goal"); + self notify("cleaningDrone_watchForGoal"); + self notify("cleaningDrone_moveToOwner"); + self.intransit = 0; + self.inactive = 0; + self notify("hit_goal"); + self.goalnode = "nil"; +} + +//Function Number: 44 +cleaningdrone_watchdeath(param_00) +{ + level endon("game_ended"); + param_00 endon("gone"); + self waittill("death"); + param_00 notify("death"); + param_00 thread cleaningdronedestroyed(); +} + +//Function Number: 45 +cleaningdrone_watchtimeout() +{ + level endon("game_ended"); + level endon("host_migration_begin"); + self endon("death"); + self.owner endon("disconnect"); + self endon("owner_gone"); + while(level.cleaningdronedone == 0) + { + wait 0.05; + } + + thread cleaningdrone_leave(); +} + +//Function Number: 46 +cleaningdrone_watchownerloss() +{ + level endon("game_ended"); + self endon("death"); + self endon("leaving"); + self.owner common_scripts\utility::waittill_any("disconnect","joined_team","joined_spectators"); + self notify("owner_gone"); + thread cleaningdrone_leave(); +} + +//Function Number: 47 +cleaningdrone_watchownerdeath() +{ + level endon("game_ended"); + self endon("death"); + self endon("leaving"); + for(;;) + { + self.owner waittill("death"); + thread cleaningdrone_leave(); + } +} + +//Function Number: 48 +cleaningdrone_watchtargetdisconnect() +{ + level endon("game_ended"); + level endon("host_migration_begin"); + self endon("death"); + self endon("leaving"); + self.owner endon("death"); + self.owner endon("disconnect"); + self endon("owner_gone"); + self notify("cleaningDrone_watchTargetDisconnect"); + self endon("cleaningDrone_watchTargetDisconnect"); + self.trackedplayer waittill("disconnect"); + stophighlightingplayer(self.trackedplayer); + cleaningdrone_movetoplayer(self.owner); +} + +//Function Number: 49 +cleaningdrone_watchroundend() +{ + level endon("game_ended"); + self endon("death"); + self endon("leaving"); + self.owner endon("disconnect"); + self endon("owner_gone"); + level common_scripts\utility::waittill_any("round_end_finished","game_ended"); + thread cleaningdrone_leave(); +} + +//Function Number: 50 +cleaningdrone_watchhostmigration() +{ + level endon("game_ended"); + self endon("death"); + self endon("leaving"); + self.owner endon("death"); + self.owner endon("disconnect"); + self endon("owner_gone"); + level waittill("host_migration_begin"); + stophighlightingplayer(self.trackedplayer); + cleaningdrone_stopmovement(); + maps\mp\gametypes\_hostmigration::waittillhostmigrationdone(); + thread cleaningdrone_changeowner(self.owner); +} + +//Function Number: 51 +cleaningdrone_leave() +{ + self endon("death"); + self notify("leaving"); + stophighlightingplayer(self.trackedplayer); + cleaningdroneexplode(); +} + +//Function Number: 52 +oncleaningdronedeath(param_00,param_01,param_02,param_03) +{ + self notify("death"); +} + +//Function Number: 53 +cleaningdrone_watchdisable() +{ + self endon("death"); + self.owner endon("disconnect"); + level endon("game_ended"); + for(;;) + { + self waittill("emp_damage",var_00,var_01); + thread cleaningdrone_stunned(); + } +} + +//Function Number: 54 +cleaningdrone_stunned() +{ + self notify("cleaningDrone_stunned"); + self endon("cleaningDrone_stunned"); + self endon("death"); + self.owner endon("disconnect"); + level endon("game_ended"); + cleaningdrone_stunbegin(); + wait(10); + cleaningdrone_stunend(); +} + +//Function Number: 55 +cleaningdrone_stunbegin() +{ + if(self.stunned) + { + return; + } + + self.stunned = 1; + if(isdefined(level.cleaningdronesettings.fxid_sparks)) + { + } + + thread stophighlightingplayer(self.trackedplayer); + self.trackedplayer = undefined; + self.previoustrackedplayer = self.owner; + thread cleaningdrone_stopmovement(); +} + +//Function Number: 56 +cleaningdrone_stunend() +{ + if(isdefined(level.cleaningdronesettings.fxid_sparks)) + { + } + + self.stunned = 0; + self.inactive = 0; +} + +//Function Number: 57 +cleaningdronedestroyed() +{ + if(!isdefined(self)) + { + return; + } + + stophighlightingplayer(self.trackedplayer); + cleaningdrone_stunend(); + cleaningdrone_removelightfx(); + cleaningdroneexplode(); +} + +//Function Number: 58 +cleaningdroneexplode() +{ + if(isdefined(level.cleaningdronesettings.fxid_explode)) + { + playfx(level.cleaningdronesettings.fxid_explode,self.origin); + } + + if(isdefined(level.cleaningdronesettings.sound_explode)) + { + self playsound(level.cleaningdronesettings.sound_explode); + } + + self notify("explode"); + self.modelbase scriptmodelclearanim(); + thread cleaningdrone_removelightfx(); + wait 0.05; + self.modelbase unlink(); + self vehicle_teleport(self.modelbase.origin,self.modelbase.angles); + self.modelbase delete(); + removecleaningdrone(); +} + +//Function Number: 59 +deletecleaningdrone() +{ + if(!isremovedentity(self) && isdefined(self)) + { + if(isdefined(self.attractor)) + { + missile_deleteattractor(self.attractor); + } + + self delete(); + } +} + +//Function Number: 60 +removecleaningdrone() +{ + maps\mp\_utility::decrementfauxvehiclecount(); + if(isdefined(self.owner) && isdefined(self.owner.trackingdrone)) + { + self.owner.trackingdrone = undefined; + } + + if(isdefined(self.lasertag)) + { + self.lasertag delete(); + } + + deletecleaningdrone(); +} + +//Function Number: 61 +addtocleaningdronelist() +{ + level.cleaningdrones[self getentitynumber()] = self; +} + +//Function Number: 62 +removefromcleaningdronelistondeath() +{ + var_00 = self getentitynumber(); + self waittill("death"); + level.cleaningdrones[var_00] = undefined; + level.cleaningdrones = common_scripts\utility::array_removeundefined(level.cleaningdrones); +} + +//Function Number: 63 +exceededmaxcleaningdrones() +{ + if(level.cleaningdrones.size >= maps\mp\_utility::maxvehiclesallowed()) + { + return 1; + } + + return 0; +} + +//Function Number: 64 +destroy_cleaning_drone_in_water() +{ + self endon("death"); + if(!isdefined(level.water_triggers)) + { + return; + } + + for(;;) + { + foreach(var_01 in level.water_triggers) + { + if(self istouching(var_01)) + { + if(isdefined(level.cleaningdronesettings.fxid_explode)) + { + playfx(level.cleaningdronesettings.fxid_explode,self.origin); + } + + if(isdefined(level.cleaningdronesettings.sound_explode)) + { + self playsound(level.cleaningdronesettings.sound_explode); + } + + deletecleaningdrone(); + } + } + + wait(0.05); + } +} + +//Function Number: 65 +prevent_cleaning_drone_in_water(param_00) +{ + if(!isdefined(level.water_triggers)) + { + return 0; + } + + foreach(var_02 in level.water_triggers) + { + if(ispointinvolume(param_00,var_02)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 66 +aud_drone_launch() +{ + thread maps\mp\_audio::snd_play_in_space("veh_lost_tracking_drone_launch",self.origin); + thread maps\mp\_audio::snd_play_in_space("veh_lost_tracking_drone_launch_lyr2",self.origin); + thread maps\mp\_audio::snd_play_in_space("veh_lost_tracking_drone_launch_lyr3",self.origin); + thread maps\mp\_audio::snd_play_in_space("veh_lost_tracking_drone_launch_lyr4",self.origin); +} + +//Function Number: 67 +aud_drone_start_jets() +{ + self playloopsound("veh_lost_tracking_drone_eng_low_lp"); +} + +//Function Number: 68 +aud_drone_thrusterattack() +{ + var_00 = maps\mp\_audio::snd_play_linked("veh_lost_tracking_drone_attack",self); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/killstreaks/streak_mp_prison.gsc b/AW/PC/maps/mp/killstreaks/streak_mp_prison.gsc new file mode 100644 index 0000000..0bde90f --- /dev/null +++ b/AW/PC/maps/mp/killstreaks/streak_mp_prison.gsc @@ -0,0 +1,682 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\killstreaks\streak_mp_prison.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 25 + * Decompile Time: 378 ms + * Timestamp: 4/22/2024 2:12:41 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level.mp_prison_killstreak_duration = 25; + precachelocationselector("map_artillery_selector"); + precachestring(&"KILLSTREAKS_MP_PRISON"); + precacheitem("prison_turret_mp"); + precachelaser("prison_laser"); + level.mp_prison_inuse = 0; + level.prison_turrets_alive = 0; + level.prison_turret_alarm_sfx = "mp_prison_ks_alarm"; + level.prison_turret_burn_sfx = "orbital_laser"; + level.prison_turret_warning_light_friendly = loadfx("vfx/lights/light_tracking_prison_blink_friendly"); + level.prison_turret_warning_light_enemy = loadfx("vfx/lights/light_tracking_prison_blink_enemy"); + level.prison_turret_laser_glow = loadfx("vfx/lights/prison_tracking_laser_blue"); + level.killstreakfuncs["mp_prison"] = ::tryusempprison; + level.mapkillstreak = "mp_prison"; + if(!isdefined(level.sentrysettings)) + { + level.sentrysettings = []; + } + + level.sentrysettings["prison_turret"] = spawnstruct(); + level.sentrysettings["prison_turret"].health = 999999; + level.sentrysettings["prison_turret"].maxhealth = 1000; + level.sentrysettings["prison_turret"].burstmin = 20; + level.sentrysettings["prison_turret"].burstmax = 120; + level.sentrysettings["prison_turret"].pausemin = 0.15; + level.sentrysettings["prison_turret"].pausemax = 0.35; + level.sentrysettings["prison_turret"].sentrymodeon = "sentry"; + level.sentrysettings["prison_turret"].sentrymodeoff = "sentry_offline"; + level.sentrysettings["prison_turret"].timeout = 90; + level.sentrysettings["prison_turret"].spinuptime = 0.05; + level.sentrysettings["prison_turret"].overheattime = 8; + level.sentrysettings["prison_turret"].cooldowntime = 0.1; + level.sentrysettings["prison_turret"].fxtime = 0.3; + level.sentrysettings["prison_turret"].streakname = "sentry"; + level.sentrysettings["prison_turret"].weaponinfo = "prison_turret_mp"; + level.sentrysettings["prison_turret"].modelbase = "prison_security_laser"; + level.sentrysettings["prison_turret"].modelplacement = "sentry_minigun_weak_obj"; + level.sentrysettings["prison_turret"].modelplacementfailed = "sentry_minigun_weak_obj_red"; + level.sentrysettings["prison_turret"].modeldestroyed = "sentry_minigun_weak_destroyed"; + level.sentrysettings["prison_turret"].hintstring = &"MP_PRISON_SENSOR_PICKUP"; + level.sentrysettings["prison_turret"].headicon = 1; + level.sentrysettings["prison_turret"].teamsplash = "used_sentry"; + level.sentrysettings["prison_turret"].shouldsplash = 0; + level.sentrysettings["prison_turret"].vodestroyed = "sentry_destroyed"; + level.mapkillstreakpickupstring = level.sentrysettings["prison_turret"].hintstring; + level thread onprisonplayerconnect(); + level.prison_turrets = setupprisonturrets(); +} + +//Function Number: 2 +tryusempprison(param_00,param_01) +{ + if(level.mp_prison_inuse) + { + self iprintlnbold(&"MP_PRISON_IN_USE"); + return 0; + } + + if(maps\mp\_utility::isusingremote()) + { + return 0; + } + + if(maps\mp\_utility::isairdenied()) + { + return 0; + } + + if(maps\mp\_utility::isemped()) + { + return 0; + } + + var_02 = setprisonturretplayer(self); + if(isdefined(var_02) && var_02) + { + maps\mp\_matchdata::logkillstreakevent("mp_prison",self.origin); + } + + return var_02; +} + +//Function Number: 3 +setupprisonturrets() +{ + var_00 = getentarray("prison_turret","targetname"); + var_01 = "prison_turret"; + for(var_02 = 0;var_02 < var_00.size;var_02++) + { + var_00[var_02].spawned_turret = spawnturret("misc_turret",var_00[var_02].origin,level.sentrysettings[var_01].weaponinfo,0); + var_00[var_02].spawned_turret maketurretsolid(); + var_00[var_02].spawned_turret sentry_initsentry(var_01); + var_00[var_02].spawned_turret.angles = var_00[var_02].angles; + var_00[var_02].spawned_turret.alarm_on = 0; + var_00[var_02].spawned_turret.burn_on = 0; + var_00[var_02].spawned_turret.proxy_alarm_on = 0; + var_00[var_02].spawned_turret.prison_turret_active = 0; + } + + return var_00; +} + +//Function Number: 4 +sentry_initsentry(param_00) +{ + self.sentrytype = param_00; + self.canbeplaced = 1; + self setmodel(level.sentrysettings[self.sentrytype].modelbase); + self maketurretinoperable(); + self setdefaultdroppitch(0); + self setturretmodechangewait(1); + maps\mp\killstreaks\_autosentry::sentry_setinactive(); + thread maps\mp\killstreaks\_autosentry::sentry_handleuse(); +} + +//Function Number: 5 +setprisonturretplayer(param_00) +{ + if(level.mp_prison_inuse) + { + return 0; + } + + level.mp_prison_inuse = 1; + for(var_01 = 0;var_01 < level.prison_turrets.size;var_01++) + { + level.prison_turrets_alive++; + level.prison_turrets[var_01].spawned_turret sentry_setowner(param_00); + level.prison_turrets[var_01].spawned_turret.shouldsplash = 0; + level.prison_turrets[var_01].spawned_turret.carriedby = param_00; + level.prison_turrets[var_01].spawned_turret sentry_setplaced(); + level.prison_turrets[var_01].spawned_turret setcandamage(1); + level.prison_turrets[var_01].spawned_turret setcanradiusdamage(1); + level.prison_turrets[var_01].spawned_turret thread sentry_handledamage(); + level.prison_turrets[var_01].spawned_turret thread sentry_handledeath(); + level.prison_turrets[var_01].spawned_turret.alarm_on = 0; + level.prison_turrets[var_01].spawned_turret.burn_on = 0; + level.prison_turrets[var_01].spawned_turret.proxy_alarm_on = 0; + level.prison_turrets[var_01].spawned_turret.shocking_target = 0; + level.prison_turrets[var_01].spawned_turret.prison_turret_active = 1; + level.prison_turrets[var_01].spawned_turret.numnearbyplayers = 0; + level.prison_turrets[var_01].spawned_turret thread prisonturretportableradar(); + level.prison_turrets[var_01].spawned_turret thread repeatoneshotprisonalarm(); + level.prison_turrets[var_01].spawned_turret thread aud_play_announcer_warning(); + } + + level thread prisonturrettimer(); + level thread monitorprisonkillstreakownership(); + level thread applyprisonturretradararrow(); + return 1; +} + +//Function Number: 6 +prisonturrettimer() +{ + level endon("game_ended"); + var_00 = level.mp_prison_killstreak_duration; + while(var_00 > 0) + { + wait(1); + maps\mp\gametypes\_hostmigration::waittillhostmigrationdone(); + var_00--; + if(level.mp_prison_inuse == 0) + { + return; + } + } + + for(var_01 = 0;var_01 < level.prison_turrets.size;var_01++) + { + level.prison_turrets[var_01].spawned_turret notify("fake_prison_death"); + } +} + +//Function Number: 7 +sentry_setowner(param_00) +{ + self.owner = param_00; + self setsentryowner(self.owner); + if(level.teambased && isdefined(param_00)) + { + self.team = self.owner.team; + self setturretteam(self.team); + } + + thread sentry_handleownerdisconnect(); +} + +//Function Number: 8 +sentry_setplaced() +{ + self setsentrycarrier(undefined); + self.carriedby forceusehintoff(); + self.carriedby = undefined; + if(isdefined(self.owner)) + { + self.owner.iscarrying = 0; + } + + sentry_setactive(); + self playsound("sentry_gun_plant"); + self notify("placed"); +} + +//Function Number: 9 +sentry_handledamage() +{ + self endon("fake_prison_death"); + level endon("game_ended"); + self.health = level.sentrysettings[self.sentrytype].health; + self.maxhealth = level.sentrysettings[self.sentrytype].maxhealth; + self.damagetaken = 0; + for(;;) + { + self waittill("damage",var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09); + if(!maps\mp\gametypes\_weapons::friendlyfirecheck(self.owner,var_01)) + { + continue; + } + + if(isdefined(var_08) && var_08 & level.idflags_penetration) + { + self.wasdamagedfrombulletpenetration = 1; + } + + var_0A = 0; + if(isdefined(var_09)) + { + var_0B = maps\mp\_utility::strip_suffix(var_09,"_lefthand"); + switch(var_0B) + { + case "emp_grenade_var_mp": + case "emp_grenade_mp": + self.largeprojectiledamage = 0; + var_0A = self.maxhealth + 1; + if(isplayer(var_01)) + { + var_01 maps\mp\gametypes\_damagefeedback::updatedamagefeedback("sentry"); + } + break; + + default: + if(var_04 == "MOD_RIFLE_BULLET" || var_04 == "MOD_PISTOL_BULLET") + { + var_0A = var_00 * 3.5; + } + else + { + var_0A = 0; + } + + if(isplayer(var_01)) + { + var_01 maps\mp\gametypes\_damagefeedback::updatedamagefeedback("sentry"); + } + break; + } + + maps\mp\killstreaks\_killstreaks::killstreakhit(var_01,var_09,self); + } + + self.damagetaken = self.damagetaken + var_0A; + if(self.damagetaken >= self.maxhealth) + { + thread maps\mp\gametypes\_missions::vehiclekilled(self.owner,self,undefined,var_01,var_00,var_04,var_09); + if(isplayer(var_01) && !isdefined(self.owner) || var_01 != self.owner) + { + var_01 maps\mp\_utility::incplayerstat("map_killstreak_destroyed",1); + level thread maps\mp\gametypes\_rank::awardgameevent("map_killstreak_destroyed",var_01,var_09,undefined,var_04); + } + + if(isdefined(self.owner)) + { + self.owner thread maps\mp\_utility::leaderdialogonplayer(level.sentrysettings[self.sentrytype].vodestroyed,undefined,undefined,self.origin); + } + + self notify("fake_prison_death"); + return; + } + } +} + +//Function Number: 10 +sentry_handledeath() +{ + self waittill("fake_prison_death"); + if(!isdefined(self)) + { + return; + } + + maps\mp\killstreaks\_autosentry::sentry_setinactive(); + self setsentryowner(undefined); + self setturretminimapvisible(0); + if(level.sentrysettings[self.sentrytype].headicon) + { + if(level.teambased) + { + maps\mp\_entityheadicons::setteamheadicon("none",(0,0,0)); + } + else + { + maps\mp\_entityheadicons::setplayerheadicon("none",(0,0,0)); + } + } + + level.prison_turrets_alive--; + self setcandamage(0); + self setcanradiusdamage(0); + if(self.alarm_on == 1) + { + self.alarm_on = 0; + } + + if(self.burn_on == 1) + { + self.burn_on = 0; + } + + if(isdefined(self.previous_turret_target)) + { + self notify("lost_or_changed_target"); + self.previous_turret_target = undefined; + } + + self.shocking_target = 0; + self.turret_on_target = undefined; + if(self.proxy_alarm_on == 1) + { + self.proxy_alarm_on = 0; + } + + self.prison_turret_active = 0; +} + +//Function Number: 11 +sentry_setactive() +{ + self setmode(level.sentrysettings[self.sentrytype].sentrymodeon); + if(level.sentrysettings[self.sentrytype].headicon) + { + if(level.teambased) + { + maps\mp\_entityheadicons::setteamheadicon(self.team,(0,0,25)); + return; + } + + maps\mp\_entityheadicons::setplayerheadicon(self.owner,(0,0,25)); + } +} + +//Function Number: 12 +sentry_handleownerdisconnect() +{ + level endon("game_ended"); + self endon("fake_prison_death"); + self.owner common_scripts\utility::waittill_any("disconnect","joined_team","joined_spectators"); + self notify("fake_prison_death"); +} + +//Function Number: 13 +monitorprisonkillstreakownership() +{ + level endon("game_ended"); + while(level.prison_turrets_alive > 0) + { + wait(0.05); + } + + level.mp_prison_inuse = 0; + for(var_00 = 0;var_00 < level.prison_turrets.size;var_00++) + { + if(level.prison_turrets[var_00].spawned_turret.proxy_alarm_on == 1) + { + level.prison_turrets[var_00].spawned_turret.proxy_alarm_on = 0; + } + + for(var_01 = 0;var_01 < level.players.size;var_01++) + { + level.players[var_01].laser_tag_array[var_00] laseroff(); + stopfxontag(level.prison_turret_laser_glow,level.players[var_01].laser_tag_array[var_00],"tag_laser"); + level.players[var_01].laser_tag_array[var_00] clearlookattarget(); + level.players[var_01].laser_tag_array[var_00].laserfxactive = 0; + } + } + + for(var_02 = 0;var_02 < level.players.size;var_02++) + { + level.players[var_02].numnearbyprisonturrets = 0; + if(level.players[var_02] hasperk("specialty_radararrow",1)) + { + level.players[var_02] unsetperk("specialty_radararrow",1); + } + + level.players[var_02] notify("player_not_tracked"); + level.players[var_02].is_being_tracked = 0; + } +} + +//Function Number: 14 +handleprisonturretlights() +{ + playfxontag(level.prison_turret_warning_light_friendly,self,"tag_fx"); + self waittill("fake_prison_death"); + stopfxontag(level.prison_turret_warning_light_friendly,self,"tag_fx"); +} + +//Function Number: 15 +prisonturretportableradar() +{ + level endon("game_ended"); + self.portable_radar = spawn("script_model",self.origin); + self.portable_radar.team = self.team; + self.portable_radar makeportableradar(self.owner); + self waittill("fake_prison_death"); + level maps\mp\gametypes\_portable_radar::deleteportableradar(self.portable_radar); + self.portable_radar = undefined; +} + +//Function Number: 16 +applyprisonturretradararrow() +{ + level endon("game_ended"); + while(level.mp_prison_inuse) + { + if(isdefined(level.prison_turrets) && isdefined(level.players)) + { + for(var_00 = 0;var_00 < level.prison_turrets.size;var_00++) + { + if(level.prison_turrets[var_00].spawned_turret.prison_turret_active != 1) + { + for(var_01 = 0;var_01 < level.players.size;var_01++) + { + if(level.players[var_01].laser_tag_array[var_00].laserfxactive == 1) + { + level.players[var_01].laser_tag_array[var_00] laseroff(); + level.players[var_01].laser_tag_array[var_00] clearlookattarget(); + level.players[var_01].laser_tag_array[var_00].laserfxactive = 0; + } + } + + continue; + } + + level.prison_turrets[var_00].spawned_turret.numnearbyplayers = 0; + for(var_01 = 0;var_01 < level.players.size;var_01++) + { + var_02 = 0; + var_03 = 10; + var_04 = (randomfloat(var_03),randomfloat(var_03),randomfloat(var_03)) - (5,5,5); + if(level.players[var_01] getstance() == "stand") + { + var_05 = (0,0,50) + var_04; + } + else if(level.players[var_01] getstance() == "crouch") + { + var_05 = (0,0,35) + var_04; + } + else + { + var_05 = (0,0,10) + var_04; + } + + if(isdefined(level.players[var_01]) && isalive(level.players[var_01]) && (level.teambased && level.players[var_01].team != level.prison_turrets[var_00].spawned_turret.team) || !level.teambased && level.players[var_01] != level.prison_turrets[var_00].spawned_turret.owner) + { + var_06 = distancesquared(level.players[var_01].origin,level.prison_turrets[var_00].spawned_turret.origin); + if(var_06 < 3610000) + { + if(sighttracepassed(level.prison_turrets[var_00].spawned_turret.origin,level.players[var_01].origin + var_05,0,undefined)) + { + var_02 = 1; + } + } + } + + if(var_02) + { + if(level.players[var_01].laser_tag_array[var_00].laserfxactive == 0) + { + level.players[var_01].laser_tag_array[var_00].laserfxactive = 1; + level.players[var_01].laser_tag_array[var_00] laseron("prison_laser"); + playfxontag(level.prison_turret_laser_glow,level.players[var_01].laser_tag_array[var_00],"tag_laser"); + level.players[var_01].laser_tag_array[var_00] setlookattarget(level.players[var_01],"bone","tag_eye","randomoffset"); + } + + level.players[var_01].numnearbyprisonturrets++; + level.prison_turrets[var_00].spawned_turret.numnearbyplayers++; + continue; + } + + if(level.players[var_01].laser_tag_array[var_00].laserfxactive == 1) + { + level.players[var_01].laser_tag_array[var_00].laserfxactive = 0; + level.players[var_01].laser_tag_array[var_00] laseroff(); + stopfxontag(level.prison_turret_laser_glow,level.players[var_01].laser_tag_array[var_00],"tag_laser"); + level.players[var_01].laser_tag_array[var_00] clearlookattarget(); + } + } + + if(level.prison_turrets[var_00].spawned_turret.numnearbyplayers > 0) + { + if(level.prison_turrets[var_00].spawned_turret.proxy_alarm_on == 0) + { + level.prison_turrets[var_00].spawned_turret.proxy_alarm_on = 1; + } + + continue; + } + + if(level.prison_turrets[var_00].spawned_turret.proxy_alarm_on == 1) + { + level.prison_turrets[var_00].spawned_turret.proxy_alarm_on = 0; + } + } + + for(var_07 = 0;var_07 < level.players.size;var_07++) + { + if(level.players[var_07].numnearbyprisonturrets > 0) + { + level.players[var_07] setperk("specialty_radararrow",1,0); + if(level.players[var_07].is_being_tracked == 0) + { + level.players[var_07].is_being_tracked = 1; + } + } + else + { + if(level.players[var_07] hasperk("specialty_radararrow",1)) + { + level.players[var_07] unsetperk("specialty_radararrow",1); + } + + level.players[var_07] notify("player_not_tracked"); + level.players[var_07].is_being_tracked = 0; + } + + level.players[var_07].numnearbyprisonturrets = 0; + } + } + + wait(0.1); + } +} + +//Function Number: 17 +createlasertagarray() +{ + if(!isdefined(self.laser_tag_array)) + { + self.laser_tag_array = []; + for(var_00 = 0;var_00 < level.prison_turrets.size;var_00++) + { + var_01 = level.prison_turrets[var_00].spawned_turret.origin; + self.laser_tag_array[var_00] = spawn("script_model",var_01); + self.laser_tag_array[var_00] setmodel("tag_laser"); + self.laser_tag_array[var_00].laserfxactive = 0; + } + } +} + +//Function Number: 18 +deletelasertagarray() +{ + if(isdefined(self.laser_tag_array)) + { + for(var_00 = 0;var_00 < level.prison_turrets.size;var_00++) + { + self.laser_tag_array[var_00] clearlookattarget(); + self.laser_tag_array[var_00] delete(); + } + } +} + +//Function Number: 19 +onprisonplayerconnect() +{ + level endon("game_ended"); + for(;;) + { + level waittill("connected",var_00); + var_00.is_being_tracked = 0; + var_00 createlasertagarray(); + var_00.numnearbyprisonturrets = 0; + var_00 thread onprisonplayerdisconnect(); + } +} + +//Function Number: 20 +onprisonplayerdisconnect() +{ + level endon("game_ended"); + self waittill("disconnect"); + deletelasertagarray(); +} + +//Function Number: 21 +createprisonturrettrackingoverlay() +{ + if(!isdefined(self.prisonturrettrackingoverlay)) + { + self.prisonturrettrackingoverlay = newclienthudelem(self); + self.prisonturrettrackingoverlay.x = -80; + self.prisonturrettrackingoverlay.y = -60; + self.prisonturrettrackingoverlay setshader("tracking_drone_targeted_overlay",800,600); + self.prisonturrettrackingoverlay.alignx = "left"; + self.prisonturrettrackingoverlay.aligny = "top"; + self.prisonturrettrackingoverlay.horzalign = "fullscreen"; + self.prisonturrettrackingoverlay.vertalign = "fullscreen"; + self.prisonturrettrackingoverlay.alpha = 0; + } +} + +//Function Number: 22 +fadeinoutprisontrackingoverlay() +{ + level endon("game_ended"); + self endon("player_not_tracked"); + self endon("death"); + self endon("disconnect"); + self endon("joined_team"); + self endon("joined_spectators"); + for(;;) + { + if(isdefined(self.turrettrackingoverlay)) + { + var_00 = randomfloatrange(0.25,1); + self.prisonturrettrackingoverlay fadeovertime(0.1); + self.prisonturrettrackingoverlay.color = (var_00,var_00,var_00); + self.prisonturrettrackingoverlay.alpha = 1; + wait(0.1); + } + + wait(0.05); + } +} + +//Function Number: 23 +endprisontrackingoverlay() +{ + level endon("game_ended"); + self endon("death"); + self endon("disconnect"); + self endon("joined_team"); + self endon("joined_spectators"); + self.prisonturrettrackingoverlay fadeovertime(0.2); + self.prisonturrettrackingoverlay.alpha = 0; +} + +//Function Number: 24 +repeatoneshotprisonalarm() +{ + self endon("fake_prison_death"); + while(level.mp_prison_inuse) + { + if(self.proxy_alarm_on == 1) + { + playsoundatpos(self.origin,level.prison_turret_alarm_sfx); + } + + wait(4); + } +} + +//Function Number: 25 +aud_play_announcer_warning() +{ + wait(2.5); + playsoundatpos((0,0,0),"mp_prison_anouncer_ext"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/killstreaks/streak_mp_recovery.gsc b/AW/PC/maps/mp/killstreaks/streak_mp_recovery.gsc new file mode 100644 index 0000000..0ce87fd --- /dev/null +++ b/AW/PC/maps/mp/killstreaks/streak_mp_recovery.gsc @@ -0,0 +1,581 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\killstreaks\streak_mp_recovery.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 33 + * Decompile Time: 534 ms + * Timestamp: 4/22/2024 2:12:42 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level.mp_recovery_killstreak = spawnstruct(); + level.mp_recovery_killstreak.killstreak_inuse = 0; + level.mp_recovery_killstreak.killstreak_duration = 25; + level.mp_recovery_killstreak.speed_scale = 1.25; + level.mp_recovery_killstreak.health_scale = 1.75; + level.mp_recovery_killstreak.max_health_amplify_object = 1500; + level.mp_recovery_killstreak.exo_super_vfx = loadfx("vfx/lights/air_light_exosuper_yellow"); + level.mp_recovery_killstreak.amplify_vfx = loadfx("vfx/lights/air_light_amplifymachine_yellow"); + var_00 = getent("damage_ring_01","targetname"); + var_01 = getent("damage_ring_02","targetname"); + level.mp_recovery_killstreak.damageringsarray = [var_00,var_01]; + foreach(var_03 in level.mp_recovery_killstreak.damageringsarray) + { + var_03 hudoutlineenable(1,1); + var_03 setcandamage(1); + var_03 setcanradiusdamage(1); + var_03.max_fake_health = level.mp_recovery_killstreak.max_health_amplify_object; + var_03.health = var_03.max_fake_health; + var_03.maxhealth = var_03.max_fake_health; + var_03.fakehealth = var_03.max_fake_health; + var_04 = common_scripts\utility::getstructarray(var_03.target,"targetname"); + var_03.tag_array = []; + foreach(var_06 in var_04) + { + var_07 = common_scripts\utility::spawn_tag_origin(); + var_07.origin = var_06.origin; + var_07 show(); + var_03.tag_array[var_03.tag_array.size] = var_07; + } + } + + precachestring(&"KILLSTREAKS_MP_RECOVERY"); + level.killstreakfuncs["mp_recovery"] = ::tryusemprecovery; + level.mapkillstreak = "mp_recovery"; + level thread onrecoveryplayerconnect(); +} + +//Function Number: 2 +tryusemprecovery(param_00,param_01) +{ + if(level.mp_recovery_killstreak.killstreak_inuse) + { + self iprintlnbold(&"MP_RECOVERY_IN_USE"); + return 0; + } + + if(maps\mp\_utility::isusingremote()) + { + return 0; + } + + if(maps\mp\_utility::isairdenied()) + { + return 0; + } + + if(maps\mp\_utility::isemped()) + { + return 0; + } + + var_02 = exoteambuffsetup(self); + if(isdefined(var_02) && var_02) + { + maps\mp\_matchdata::logkillstreakevent("mp_recovery",self.origin); + } + + return var_02; +} + +//Function Number: 3 +exoteambuffsetup(param_00) +{ + if(isdefined(param_00)) + { + level.mp_recovery_killstreak.killstreak_inuse = 1; + level.mp_recovery_killstreak.owner = param_00; + level.mp_recovery_killstreak.killstreak_team = param_00.team; + } + else + { + return 0; + } + + var_01 = param_00.team; + thread startexorecoverykillstreak(param_00,var_01); + return 1; +} + +//Function Number: 4 +startexorecoverykillstreak(param_00,param_01) +{ + setupamplifierdamagemonitor(param_00,param_01); + sortplayersandgivepowers(param_00,param_01); + thread setmapkillstreaktimer(); + level common_scripts\utility::waittill_any("time_up","amplifier_destroyed"); + shutoffamplifyobjectvfx(); + shutoffallplayersexobuffs(); + level notify("recovery_streak_over"); + wait(0.25); + level.mp_recovery_killstreak.killstreak_inuse = 0; +} + +//Function Number: 5 +setmapkillstreaktimer() +{ + level endon("recovery_streak_over"); + wait(level.mp_recovery_killstreak.killstreak_duration); + level notify("time_up"); +} + +//Function Number: 6 +setupamplifierdamagemonitor(param_00,param_01) +{ + var_02 = "atlas"; + var_03 = "axis"; + if(param_01 == "axis") + { + var_02 = "atlas"; + var_03 = "allies"; + } + else if(param_01 == "allies") + { + var_02 = "sentinel"; + var_03 = "axis"; + } + + var_04 = "faction_128_" + var_02; + foreach(var_06 in level.mp_recovery_killstreak.damageringsarray) + { + var_06 setcandamage(1); + var_06 setcanradiusdamage(1); + var_06.health = var_06.max_fake_health; + var_06.maxhealth = var_06.max_fake_health; + var_06.fakehealth = var_06.max_fake_health; + var_06 thread startamplifyobjectvfx(); + var_06 thread monitoramplifierdamage(param_00,param_01); + if(level.dynamiceventstatus == "before" && var_06.targetname == "damage_ring_02") + { + continue; + } + else if(level.dynamiceventstatus == "after" && var_06.targetname == "damage_ring_01") + { + continue; + } + + if(level.teambased == 0) + { + foreach(var_08 in level.players) + { + if(var_08 != param_00) + { + var_06 maps\mp\_entityheadicons::setheadicon(var_08,var_04,(0,0,0),18,18,undefined,undefined,undefined,1,0,0); + } + } + + continue; + } + + if(level.teambased == 1) + { + var_06 maps\mp\_entityheadicons::setheadicon(var_03,var_04,(0,0,0),18,18,undefined,undefined,undefined,1,0,0); + } + } +} + +//Function Number: 7 +monitoramplifierdamage(param_00,param_01) +{ + level endon("recovery_streak_over"); + while(level.mp_recovery_killstreak.killstreak_inuse == 1) + { + self waittill("damage",var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A,var_0B); + if(!isvalidstreakplayer(var_03,param_00,param_01)) + { + self.fakehealth = self.fakehealth + var_02 * -1; + if(self.fakehealth <= 0) + { + level notify("amplifier_destroyed"); + return; + } + } + } +} + +//Function Number: 8 +startamplifyobjectvfx() +{ + foreach(var_01 in level.mp_recovery_killstreak.damageringsarray) + { + foreach(var_03 in var_01.tag_array) + { + playfxontag(level.mp_recovery_killstreak.amplify_vfx,var_03,"tag_origin"); + } + } +} + +//Function Number: 9 +shutoffamplifyobjectvfx() +{ + shutoffplayerhudoutline(); + foreach(var_01 in level.mp_recovery_killstreak.damageringsarray) + { + var_01 destroyplayericons(); + foreach(var_03 in var_01.tag_array) + { + stopfxontag(level.mp_recovery_killstreak.amplify_vfx,var_03,"tag_origin"); + } + } +} + +//Function Number: 10 +destroyplayericons() +{ + if(isdefined(self.entityheadicons)) + { + if(isdefined(self.entityheadicons["allies"])) + { + self.entityheadicons["allies"] destroy(); + self.entityheadicons["allies"] = undefined; + } + + if(isdefined(self.entityheadicons["axis"])) + { + self.entityheadicons["axis"] destroy(); + self.entityheadicons["axis"] = undefined; + } + + foreach(var_01 in level.players) + { + if(isdefined(self.entityheadicons[var_01.guid])) + { + self.entityheadicons[var_01.guid] destroy(); + self.entityheadicons[var_01.guid] = undefined; + } + } + } +} + +//Function Number: 11 +shutoffplayerhudoutline() +{ + foreach(var_01 in level.players) + { + foreach(var_03 in level.mp_recovery_killstreak.damageringsarray) + { + var_03 hudoutlinedisableforclient(var_01); + } + } +} + +//Function Number: 12 +turnonplayerhudoutline(param_00,param_01) +{ + foreach(var_03 in level.players) + { + if(!isvalidstreakplayer(var_03,param_00,param_01)) + { + foreach(var_05 in level.mp_recovery_killstreak.damageringsarray) + { + var_05 hudoutlineenableforclient(var_03,1,1); + } + } + } +} + +//Function Number: 13 +sortplayersandgivepowers(param_00,param_01) +{ + foreach(var_03 in level.players) + { + if(isvalidstreakplayer(var_03,param_00,param_01) == 1) + { + if(maps\mp\_utility::isreallyalive(var_03)) + { + var_03 setupsuperexo(); + var_03 thread givesuperexo(); + } + } + + var_03 thread monitorspawndurringstreak(param_00,param_01); + } + + thread monitorconnectedduringstreak(param_00,param_01); +} + +//Function Number: 14 +shutoffallplayersexobuffs() +{ + foreach(var_01 in level.players) + { + var_01 shutoffexobuffs(); + } +} + +//Function Number: 15 +shutoffexobuffs() +{ + if(isdefined(self.superexosettings) && isdefined(self.superexosettings.isactive)) + { + self.superexosettings.isactive = 0; + } + + shutoffspeed(); + shutofffx(); + shutoffhealth(); + shutoffslam(); +} + +//Function Number: 16 +shutoffslam() +{ + if(isdefined(self.cac_has_slam) && self.cac_has_slam == 1) + { + } + else if(maps\mp\_utility::_hasperk("specialty_exo_slamboots")) + { + maps\mp\_utility::_unsetperk("specialty_exo_slamboots"); + } + + self.cac_has_slam = undefined; +} + +//Function Number: 17 +shutoffspeed() +{ + self.movespeedscaler = level.baseplayermovescale; + if(maps\mp\_utility::_hasperk("specialty_lightweight")) + { + self.movespeedscaler = maps\mp\_utility::lightweightscalar(); + } + + maps\mp\gametypes\_weapons::updatemovespeedscale(); +} + +//Function Number: 18 +shutoffhealth() +{ + self.maxhealth = int(self.maxhealth / level.mp_recovery_killstreak.health_scale); + if(self.health > self.maxhealth) + { + self.health = self.maxhealth; + } + + self.healthregenlevel = undefined; +} + +//Function Number: 19 +shutofffx() +{ + if(isdefined(self.superexosettings) && isdefined(self.superexosettings.overlay)) + { + self.superexosettings.overlay destroy(); + } + + if(isdefined(level.mp_recovery_killstreak.exo_super_vfx)) + { + if(maps\mp\_utility::isreallyalive(self)) + { + stopfxontag(level.mp_recovery_killstreak.exo_super_vfx,self,"tag_shield_back"); + stopfxontag(level.mp_recovery_killstreak.exo_super_vfx,self,"j_knee_le"); + stopfxontag(level.mp_recovery_killstreak.exo_super_vfx,self,"j_knee_ri"); + } + } +} + +//Function Number: 20 +givesuperexo() +{ + setupsuperexo(); + self.superexosettings.isactive = 1; + givesuperspeed(); + givesuperhealth(); + givesuperstomp(); + givesuperpunch(); + givesuperrepulse(); + turnonsuperfx(); + thread watchfordeath(); +} + +//Function Number: 21 +watchfordeath() +{ + level endon("game_ended"); + level endon("recovery_streak_over"); + self endon("disconnect"); + self waittill("death"); + if(level.mp_recovery_killstreak.killstreak_inuse == 1) + { + shutoffexobuffs(); + } +} + +//Function Number: 22 +givesuperspeed() +{ + self endon("death"); + self endon("disconnect"); + self endon("joined_team"); + self endon("faux_spawn"); + self.movespeedscaler = level.mp_recovery_killstreak.speed_scale; + maps\mp\gametypes\_weapons::updatemovespeedscale(); +} + +//Function Number: 23 +givesuperhealth() +{ + self endon("death"); + self endon("disconnect"); + self endon("joined_team"); + self endon("faux_spawn"); + self.maxhealth = int(self.maxhealth * level.mp_recovery_killstreak.health_scale); + self.ignoreregendelay = 1; + self.healthregenlevel = 0.99; + self notify("damage"); +} + +//Function Number: 24 +givesuperstomp() +{ + self endon("death"); + self endon("disconnect"); + self endon("joined_team"); + self endon("faux_spawn"); + self.cac_has_slam = undefined; + if(maps\mp\_utility::_hasperk("specialty_exo_slamboots")) + { + self.cac_has_slam = 1; + return; + } + + maps\mp\_utility::giveperk("specialty_exo_slamboots",0); + self.cac_has_slam = 0; +} + +//Function Number: 25 +givesuperpunch() +{ + self endon("death"); + self endon("disconnect"); + self endon("joined_team"); + self endon("faux_spawn"); +} + +//Function Number: 26 +givesuperrepulse() +{ + self endon("death"); + self endon("disconnect"); + self endon("joined_team"); + self endon("faux_spawn"); + thread maps\mp\_exo_repulsor::do_exo_repulsor(); +} + +//Function Number: 27 +turnonsuperfx() +{ + self endon("death"); + self endon("disconnect"); + self endon("joined_team"); + self endon("faux_spawn"); + if(!isdefined(self.superexosettings.overlay)) + { + self.superexosettings.overlay = newclienthudelem(self); + self.superexosettings.overlay.x = 0; + self.superexosettings.overlay.y = 0; + self.superexosettings.overlay.horzalign = "fullscreen"; + self.superexosettings.overlay.vertalign = "fullscreen"; + self.superexosettings.overlay setshader("exo_hud_cloak_overlay",640,480); + self.superexosettings.overlay.archive = 1; + self.superexosettings.overlay.alpha = 1; + } + + if(isdefined(level.mp_recovery_killstreak.exo_super_vfx)) + { + playfxontag(level.mp_recovery_killstreak.exo_super_vfx,self,"tag_shield_back"); + playfxontag(level.mp_recovery_killstreak.exo_super_vfx,self,"j_knee_le"); + playfxontag(level.mp_recovery_killstreak.exo_super_vfx,self,"j_knee_ri"); + } +} + +//Function Number: 28 +setupsuperexo() +{ + if(!isdefined(self.superexosettings)) + { + self.superexosettings = spawnstruct(); + } + + if(!isdefined(level.mp_recovery_killstreak.exo_super_vfx)) + { + level.mp_recovery_killstreak.exo_super_vfx = loadfx("vfx/lights/air_light_exosuper_yellow"); + } + + self.superexosettings.isactive = 0; +} + +//Function Number: 29 +isvalidstreakplayer(param_00,param_01,param_02) +{ + if(level.teambased == 0 && isdefined(param_01) && param_00 == param_01) + { + return 1; + } + + if(level.teambased == 1 && param_00.team == param_02) + { + return 1; + } + + return 0; +} + +//Function Number: 30 +monitorspawndurringstreak(param_00,param_01) +{ + self endon("disconnect"); + level endon("game_ended"); + level endon("recovery_streak_over"); + while(level.mp_recovery_killstreak.killstreak_inuse == 1) + { + self waittill("spawned_player"); + if(isvalidstreakplayer(self,param_00,param_01) == 1) + { + wait(0.25); + if(level.mp_recovery_killstreak.killstreak_inuse == 1) + { + setupsuperexo(); + thread givesuperexo(); + } + } + } +} + +//Function Number: 31 +monitorconnectedduringstreak(param_00,param_01) +{ + level endon("game_ended"); + level endon("recovery_streak_over"); + while(level.mp_recovery_killstreak.killstreak_inuse == 1) + { + level waittill("connected",var_02); + var_02 monitorspawndurringstreak(param_00,param_01); + } +} + +//Function Number: 32 +onrecoveryplayerconnect() +{ + level endon("game_ended"); + for(;;) + { + level waittill("connected",var_00); + foreach(var_02 in level.mp_recovery_killstreak.damageringsarray) + { + var_02 hudoutlinedisableforclient(var_00); + } + + var_00 thread onrecoveryplayerdisconnect(); + } +} + +//Function Number: 33 +onrecoveryplayerdisconnect() +{ + level endon("game_ended"); + self waittill("disconnect"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/killstreaks/streak_mp_refraction.gsc b/AW/PC/maps/mp/killstreaks/streak_mp_refraction.gsc new file mode 100644 index 0000000..b15f8cf --- /dev/null +++ b/AW/PC/maps/mp/killstreaks/streak_mp_refraction.gsc @@ -0,0 +1,583 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\killstreaks\streak_mp_refraction.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 21 + * Decompile Time: 352 ms + * Timestamp: 4/22/2024 2:12:44 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level.mp_refraction_killstreak_duration = 25; + level.mp_refraction_inuse = 0; + level.refraction_turrets_alive = 0; + level.refraction_turrets_moved_down = 0; + level.mp_refraction_owner = undefined; + level.killstreakfuncs["mp_refraction"] = ::tryusemprefraction; + level.mapkillstreak = "mp_refraction"; + level.mapkillstreakpickupstring = &"MP_REFRACTION_MAP_KILLSTREAK_PICKUP"; + level.killstreakwieldweapons["refraction_turret_mp"] = "refraction_turret_mp"; + if(!isdefined(level.sentrysettings)) + { + level.sentrysettings = []; + } + + level.sentrysettings["refraction_turret"] = spawnstruct(); + level.sentrysettings["refraction_turret"].health = 999999; + level.sentrysettings["refraction_turret"].maxhealth = 1000; + level.sentrysettings["refraction_turret"].burstmin = 20; + level.sentrysettings["refraction_turret"].burstmax = 120; + level.sentrysettings["refraction_turret"].pausemin = 0.15; + level.sentrysettings["refraction_turret"].pausemax = 0.35; + level.sentrysettings["refraction_turret"].sentrymodeon = "sentry"; + level.sentrysettings["refraction_turret"].sentrymodeoff = "sentry_offline"; + level.sentrysettings["refraction_turret"].timeout = 90; + level.sentrysettings["refraction_turret"].spinuptime = 0.05; + level.sentrysettings["refraction_turret"].overheattime = 8; + level.sentrysettings["refraction_turret"].cooldowntime = 0.1; + level.sentrysettings["refraction_turret"].fxtime = 0.3; + level.sentrysettings["refraction_turret"].streakname = "sentry"; + level.sentrysettings["refraction_turret"].weaponinfo = "refraction_turret_mp"; + level.sentrysettings["refraction_turret"].modelbase = "ref_turret_01"; + level.sentrysettings["refraction_turret"].sentrytype = "refraction_turret"; + level.sentrysettings["refraction_turret"].modelplacement = "sentry_minigun_weak_obj"; + level.sentrysettings["refraction_turret"].modelplacementfailed = "sentry_minigun_weak_obj_red"; + level.sentrysettings["refraction_turret"].modeldestroyed = "sentry_minigun_weak_destroyed"; + level.sentrysettings["refraction_turret"].hintstring = &"SENTRY_PICKUP"; + level.sentrysettings["refraction_turret"].headicon = 1; + level.sentrysettings["refraction_turret"].teamsplash = "used_sentry"; + level.sentrysettings["refraction_turret"].shouldsplash = 0; + level.sentrysettings["refraction_turret"].vodestroyed = "sentry_destroyed"; + level.refraction_turrets = turret_setup(); + level.turret_movement_sound = "mp_refraction_turret_movement1"; + level.turret_movement2_sound = "mp_refraction_turret_movement2"; + level.turret_movement3_sound = "mp_refraction_turret_movement3"; +} + +//Function Number: 2 +tryusemprefraction(param_00,param_01) +{ + if(isdefined(level.mp_refraction_owner) || level.mp_refraction_inuse) + { + self iprintlnbold(&"MP_REFRACTION_IN_USE"); + return 0; + } + + if(maps\mp\_utility::isusingremote()) + { + return 0; + } + + if(maps\mp\_utility::isairdenied()) + { + return 0; + } + + if(maps\mp\_utility::isemped()) + { + return 0; + } + + var_02 = setrefractionturretplayer(self); + if(isdefined(var_02) && var_02) + { + maps\mp\_matchdata::logkillstreakevent("mp_refraction",self.origin); + } + + return var_02; +} + +//Function Number: 3 +refractionturrettimer() +{ + self endon("game_ended"); + var_00 = level.mp_refraction_killstreak_duration; + if(level.mp_refraction_owner maps\mp\_utility::_hasperk("specialty_blackbox") && isdefined(level.mp_refraction_owner.specialty_blackbox_bonus)) + { + var_00 = var_00 * level.mp_refraction_owner.specialty_blackbox_bonus; + } + + while(var_00 > 0) + { + wait(1); + maps\mp\gametypes\_hostmigration::waittillhostmigrationdone(); + var_00 = var_00 - 1; + if(level.mp_refraction_inuse == 0) + { + return; + } + } + + for(var_01 = 0;var_01 < level.refraction_turrets.size;var_01++) + { + level.refraction_turrets[var_01] notify("fake_refraction_death"); + } +} + +//Function Number: 4 +monitorrefractionkillstreakownership() +{ + level endon("game_ended"); + while(level.refraction_turrets_alive > 0 || level.refraction_turrets_moved_down < level.refraction_turrets.size) + { + wait(0.05); + } + + unsetrefractionturretplayer(); +} + +//Function Number: 5 +setrefractionturretplayer(param_00) +{ + if(isdefined(level.mp_refraction_owner)) + { + return 0; + } + + level.mp_refraction_inuse = 1; + level.mp_refraction_owner = param_00; + thread maps\mp\_utility::teamplayercardsplash("used_mp_refraction",param_00); + var_01 = "refraction_turret"; + for(var_02 = 0;var_02 < level.refraction_turrets.size;var_02++) + { + level.refraction_turrets_alive++; + level.refraction_turrets_moved_down = 0; + level.refraction_turrets[var_02] sentry_setowner(param_00); + level.refraction_turrets[var_02] setleftarc(45); + level.refraction_turrets[var_02] setrightarc(45); + level.refraction_turrets[var_02] settoparc(10); + level.refraction_turrets[var_02].shouldsplash = 0; + level.refraction_turrets[var_02].carriedby = param_00; + level.refraction_turrets[var_02] sentry_setplaced(); + level.refraction_turrets[var_02] thread sentry_handledamage(); + level.refraction_turrets[var_02] thread sentry_handledeath(); + level.refraction_turrets[var_02] thread sentry_lasermark(); + level.refraction_turrets[var_02] thread aud_turrets_activate(); + } + + level thread refractionturrettimer(); + level thread monitorrefractionkillstreakownership(); + return 1; +} + +//Function Number: 6 +aud_turrets_activate() +{ + thread maps\mp\_audio::snd_play_in_space("turret_cover_explode",self.origin); + thread maps\mp\_audio::snd_play_in_space("turret_rise_start",self.origin); +} + +//Function Number: 7 +unsetrefractionturretplayer() +{ + level.mp_refraction_owner = undefined; + level.mp_refraction_inuse = 0; +} + +//Function Number: 8 +turret_setup() +{ + var_00 = getentarray("turret_killer","targetname"); + foreach(var_02 in var_00) + { + var_03 = undefined; + if(isdefined(var_02.target)) + { + var_03 = getentarray(var_02.target,"targetname"); + } + + foreach(var_05 in var_03) + { + if(isdefined(var_05.script_noteworthy) && var_05.script_noteworthy == "turret_lifter") + { + var_02.lifter = var_05; + continue; + } + else if(isdefined(var_05.script_noteworthy) && var_05.script_noteworthy == "hatch") + { + var_02.hatch = var_05; + continue; + } + else + { + } + } + + var_02.lifter.animup = "ref_turret_gun_raise"; + var_02.lifter.animdown = "ref_turret_gun_lower"; + var_02.lifter.idleup = "ref_turret_gun_idle_up"; + var_02.lifter.idledown = "ref_turret_gun_idle_down"; + var_02.hatch.animup = "ref_turret_hatch_raise"; + var_02.hatch.animdown = "ref_turret_hatch_lower"; + var_02.hatch.idleup = "ref_turret_hatch_idle_up"; + var_02.hatch.idledown = "ref_turret_hatch_idle_down"; + var_02.collision = spawnstruct(); + var_07 = undefined; + if(isdefined(var_02.lifter.target)) + { + var_07 = getentarray(var_02.lifter.target,"targetname"); + } + + foreach(var_09 in var_07) + { + if(isdefined(var_09.script_noteworthy)) + { + switch(var_09.script_noteworthy) + { + case "ref_turret_body_col": + var_02.collision.col_body = var_09; + break; + + case "ref_turret_head_col": + var_02.collision.col_head = var_09; + break; + + case "ref_turret_leg_r_col": + var_02.collision.col_leg_r = var_09; + break; + + case "ref_turret_leg_l_col": + var_02.collision.col_leg_l = var_09; + break; + + case "ref_turret_gun_col": + var_02.collision.col_gun = var_09; + break; + } + } + } + + var_02.sound_tag = common_scripts\utility::spawn_tag_origin(); + var_02.sound_tag.origin = var_02.origin + (0,0,24); + var_02 setdefaultdroppitch(0); + var_0B = level.sentrysettings["refraction_turret"].sentrytype; + var_02 sentry_initsentry(var_0B); + var_02 maketurretsolid(); + var_02 hide(); + var_02.laser_tag = spawn("script_model",var_02.origin); + var_02.laser_tag setmodel("tag_laser"); + } + + return var_00; +} + +//Function Number: 9 +linkcollisiontoturret(param_00,param_01) +{ + if(param_01 == 0) + { + if(isdefined(param_00.collision.col_body)) + { + param_00.collision.col_body unlink(); + } + + if(isdefined(param_00.collision.col_head)) + { + param_00.collision.col_head unlink(); + } + + if(isdefined(param_00.collision.col_leg_r)) + { + param_00.collision.col_leg_r unlink(); + } + + if(isdefined(param_00.collision.col_leg_l)) + { + param_00.collision.col_leg_l unlink(); + } + + if(isdefined(param_00.collision.col_gun)) + { + param_00.collision.col_gun unlink(); + return; + } + + return; + } + + if(param_01 == 1) + { + if(isdefined(param_00.collision.col_body)) + { + param_00.collision.col_body linkto(self,"tag_origin"); + } + + if(isdefined(param_00.collision.col_head)) + { + param_00.collision.col_head linkto(self,"tag_aim_animated"); + } + + if(isdefined(param_00.collision.col_leg_r)) + { + param_00.collision.col_leg_r linkto(self,"arm_r"); + } + + if(isdefined(param_00.collision.col_leg_l)) + { + param_00.collision.col_leg_l linkto(self,"arm_l"); + } + + if(isdefined(param_00.collision.col_gun)) + { + param_00.collision.col_gun linkto(self,"tag_barrel"); + return; + } + } +} + +//Function Number: 10 +sentry_lasermark() +{ + level endon("game_ended"); + self waittill("refraction_turret_moved_up"); + self.laser_tag laseron(); + self.laser_tag.origin = self gettagorigin("tag_flash"); + self.laser_tag.angles = self gettagangles("tag_flash"); + self.laser_tag linkto(self,"tag_flash"); + self waittill("fake_refraction_death"); + self.laser_tag laseroff(); +} + +//Function Number: 11 +turret_moveup() +{ + wait(randomfloatrange(1,1.5)); + self.killcament = spawn("script_model",self gettagorigin("tag_player")); + self.killcament setscriptmoverkillcam("explosive"); + self.lifter linkcollisiontoturret(self,1); + var_00 = []; + var_00["ref_turret_raise_doors_start"] = "ref_turret_raise_doors_start"; + var_00["ref_turret_raise_doors_end"] = "ref_turret_raise_doors_end"; + var_00["ref_turret_down_start"] = "ref_turret_down_start"; + var_00["ref_turret_down_end"] = "ref_turret_down_end"; + var_00["ref_turret_doors_close_start"] = "ref_turret_doors_close_start"; + var_00["ref_turret_doors_close_end"] = "ref_turret_doors_close_end"; + var_00["ref_turret_barrell_ext_start"] = "ref_turret_barrell_ext_start"; + var_00["ref_turret_barrell_ext_end"] = "ref_turret_barrell_ext_end"; + self.hatch scriptmodelplayanimdeltamotion(self.hatch.animup); + self.lifter scriptmodelplayanimdeltamotion(self.lifter.animup,"ref_turret_raise_doors_start"); + self.lifter thread maps\mp\_audio::snd_play_on_notetrack(var_00,"ref_turret_raise_doors_start"); + thread playfxturretmoveup(); + thread playaudioturretmoveup(); + wait(4.17); + self.lifter linkcollisiontoturret(self,0); + self show(); + self.lifter hide(); + self notify("refraction_turret_moved_up"); +} + +//Function Number: 12 +playfxturretmoveup() +{ + level thread common_scripts\_exploder::activate_clientside_exploder(1); + level thread common_scripts\_exploder::activate_clientside_exploder(2); + level thread common_scripts\_exploder::activate_clientside_exploder(3); + level thread common_scripts\_exploder::activate_clientside_exploder(4); + level thread common_scripts\_exploder::activate_clientside_exploder(5); + level thread common_scripts\_exploder::activate_clientside_exploder(6); + level thread common_scripts\_exploder::activate_clientside_exploder(7); + level thread common_scripts\_exploder::activate_clientside_exploder(8); +} + +//Function Number: 13 +playaudioturretmoveup() +{ + self.sound_tag thread maps\mp\_utility::play_sound_on_tag(level.turret_movement_sound,"tag_origin"); + wait(1); + self.sound_tag thread maps\mp\_utility::play_sound_on_tag(level.turret_movement2_sound,"tag_origin"); + wait(1); + self.sound_tag thread maps\mp\_utility::play_sound_on_tag(level.turret_movement3_sound,"tag_origin"); +} + +//Function Number: 14 +turret_movedown(param_00) +{ + wait(randomfloatrange(1,1.5)); + self.lifter show(); + self.lifter linkcollisiontoturret(self,1); + self hide(); + var_01 = []; + var_01["ref_turret_raise_doors_start"] = "ref_turret_raise_doors_start"; + var_01["ref_turret_raise_doors_end"] = "ref_turret_raise_doors_end"; + var_01["ref_turret_down_start"] = "ref_turret_down_start"; + var_01["ref_turret_down_end"] = "ref_turret_down_end"; + var_01["ref_turret_barrell_close_start"] = "ref_turret_barrell_close_start"; + var_01["ref_turret_barrell_close_end"] = "ref_turret_barrell_close_end"; + var_01["ref_turret_doors_close_start"] = "ref_turret_doors_close_start"; + var_01["ref_turret_doors_close_end"] = "ref_turret_doors_close_end"; + var_01["ref_turret_doors_lock_start"] = "ref_turret_doors_lock_start"; + var_01["ref_turret_doors_lock_end"] = "ref_turret_doors_lock_end"; + var_02 = self.hatch.angles + (-90,0,0); + common_scripts\utility::noself_delaycall(4.1,::playfx,common_scripts\utility::getfx("mp_ref_turret_steam_off"),self.hatch.origin,anglestoforward(var_02),anglestoup(var_02)); + self.hatch scriptmodelplayanimdeltamotion(self.hatch.animdown); + self.lifter scriptmodelplayanimdeltamotion(self.lifter.animdown,"ref_turret_down_end"); + self.lifter thread maps\mp\_audio::snd_play_on_notetrack(var_01,"ref_turret_down_end"); + wait(4.64); + waittillframeend; + self.lifter linkcollisiontoturret(self,0); + level.refraction_turrets_moved_down++; +} + +//Function Number: 15 +sentry_setplaced() +{ + self setsentrycarrier(undefined); + self.carriedby forceusehintoff(); + self.carriedby = undefined; + if(isdefined(self.owner)) + { + self.owner.iscarrying = 0; + } + + thread sentry_setactive(); + self playsound("sentry_gun_plant"); + self notify("placed"); +} + +//Function Number: 16 +sentry_setactive() +{ + turret_moveup(); + self setcandamage(1); + self setcanradiusdamage(1); + self setmode(level.sentrysettings[self.sentrytype].sentrymodeon); + if(level.sentrysettings[self.sentrytype].headicon) + { + if(level.teambased) + { + maps\mp\_entityheadicons::setteamheadicon(self.team,(0,0,95)); + return; + } + + maps\mp\_entityheadicons::setplayerheadicon(self.owner,(0,0,95)); + } +} + +//Function Number: 17 +sentry_initsentry(param_00) +{ + self.sentrytype = param_00; + self.canbeplaced = 1; + self setmodel(level.sentrysettings[self.sentrytype].modelbase); + self maketurretinoperable(); + self setdefaultdroppitch(0); + self setturretmodechangewait(1); + maps\mp\killstreaks\_autosentry::sentry_setinactive(); + thread maps\mp\killstreaks\_autosentry::sentry_handleuse(); + thread maps\mp\killstreaks\_autosentry::sentry_attacktargets(); +} + +//Function Number: 18 +sentry_handledeath() +{ + self waittill("fake_refraction_death"); + if(!isdefined(self)) + { + return; + } + + maps\mp\killstreaks\_autosentry::sentry_setinactive(); + self setsentryowner(undefined); + self setturretminimapvisible(0); + self setcandamage(0); + self setcanradiusdamage(0); + self.laser_tag laseroff(); + turret_movedown(); + level.refraction_turrets_alive--; + if(isdefined(self.killcament)) + { + self.killcament delete(); + } +} + +//Function Number: 19 +sentry_setowner(param_00) +{ + self.owner = param_00; + self setsentryowner(self.owner); + self setturretminimapvisible(1,self.sentrytype); + if(level.teambased && isdefined(param_00)) + { + self.team = self.owner.team; + self setturretteam(self.team); + } + + thread sentry_handleownerdisconnect(); +} + +//Function Number: 20 +sentry_handleownerdisconnect() +{ + level endon("game_ended"); + self endon("fake_refraction_death"); + self.owner common_scripts\utility::waittill_any("disconnect","joined_team","joined_spectators"); + self notify("fake_refraction_death"); +} + +//Function Number: 21 +sentry_handledamage() +{ + self endon("fake_refraction_death"); + level endon("game_ended"); + self.health = level.sentrysettings[self.sentrytype].health; + self.maxhealth = level.sentrysettings[self.sentrytype].maxhealth; + self.damagetaken = 0; + for(;;) + { + self waittill("damage",var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09); + if(!maps\mp\gametypes\_weapons::friendlyfirecheck(self.owner,var_01)) + { + continue; + } + + if(isdefined(var_08) && var_08 & level.idflags_penetration) + { + self.wasdamagedfrombulletpenetration = 1; + } + + var_0A = 0; + if(isdefined(var_09)) + { + var_0B = maps\mp\_utility::strip_suffix(var_09,"_lefthand"); + switch(var_0B) + { + case "emp_grenade_var_mp": + case "emp_grenade_mp": + self.largeprojectiledamage = 0; + var_0A = self.maxhealth + 1; + if(isplayer(var_01)) + { + var_01 maps\mp\gametypes\_damagefeedback::updatedamagefeedback("sentry"); + } + break; + + default: + var_0A = 0; + break; + } + + maps\mp\killstreaks\_killstreaks::killstreakhit(var_01,var_09,self); + } + + self.damagetaken = self.damagetaken + var_0A; + if(self.damagetaken >= self.maxhealth) + { + thread maps\mp\gametypes\_missions::vehiclekilled(self.owner,self,undefined,var_01,var_00,var_04,var_09); + if(isplayer(var_01) && !isdefined(self.owner) || var_01 != self.owner) + { + level thread maps\mp\gametypes\_rank::awardgameevent("kill",var_01,var_09,undefined,var_04); + } + + if(isdefined(self.owner)) + { + self.owner thread maps\mp\_utility::leaderdialogonplayer(level.sentrysettings[self.sentrytype].vodestroyed,undefined,undefined,self.origin); + } + + self notify("fake_refraction_death"); + return; + } + } +} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/killstreaks/streak_mp_seoul2.gsc b/AW/PC/maps/mp/killstreaks/streak_mp_seoul2.gsc similarity index 99% rename from AW/PC/MP/maps/mp/killstreaks/streak_mp_seoul2.gsc rename to AW/PC/maps/mp/killstreaks/streak_mp_seoul2.gsc index 182a4c5..131e72a 100644 --- a/AW/PC/MP/maps/mp/killstreaks/streak_mp_seoul2.gsc +++ b/AW/PC/maps/mp/killstreaks/streak_mp_seoul2.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\killstreaks\streak_mp_seoul2.gsc + * Decompiled File: mp\killstreaks\streak_mp_seoul2.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 43 - * Decompile Time: 758 ms - * Timestamp: 10/27/2023 1:44:50 AM + * Decompile Time: 722 ms + * Timestamp: 4/22/2024 2:12:46 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/mp/killstreaks/streak_mp_solar.gsc b/AW/PC/maps/mp/killstreaks/streak_mp_solar.gsc new file mode 100644 index 0000000..5600057 --- /dev/null +++ b/AW/PC/maps/mp/killstreaks/streak_mp_solar.gsc @@ -0,0 +1,553 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\killstreaks\streak_mp_solar.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 30 + * Decompile Time: 470 ms + * Timestamp: 4/22/2024 2:12:48 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level.solar_killstreak_duration = 30; + level.solar_fire_fx = loadfx("vfx/fire/fire_xsglow_runner_5s"); + level.solar_reflector_sfx = "mp_solar_array_player"; + level.solar_reflector_target_sfx = "mp_solar_array_target"; + level.killstreakfuncs["mp_solar"] = ::tryusesolarreflector; + level.mapkillstreak = "mp_solar"; + level.mapkillstreakpickupstring = &"MP_SOLAR_MAP_KILLSTREAK_PICKUP"; + level.mapkillstreakdamagefeedbacksound = ::handledamagefeedbacksound; + level.mapcustombotkillstreakfunc = ::setupbotsformapkillstreak; + level.killstreakwieldweapons["killstreak_solar_mp"] = "mp_solar"; +} + +//Function Number: 2 +setupbotsformapkillstreak() +{ + level thread maps\mp\bots\_bots_ks::bot_register_killstreak_func("mp_solar",::maps\mp\bots\_bots_ks::bot_killstreak_never_use,::maps\mp\bots\_bots_ks::bot_killstreak_do_not_use); +} + +//Function Number: 3 +tryusesolarreflector(param_00,param_01) +{ + if(isdefined(level.solar_reflector_player)) + { + self iprintlnbold(&"MP_SOLAR_REFLECTOR_IN_USE"); + return 0; + } + + if(maps\mp\_utility::isusingremote()) + { + return 0; + } + + if(maps\mp\_utility::isairdenied()) + { + return 0; + } + + if(maps\mp\_utility::isemped()) + { + return 0; + } + + var_02 = maps\mp\killstreaks\_killstreaks::initridekillstreak(); + if(var_02 != "success") + { + return 0; + } + + maps\mp\_utility::setusingremote("mp_solar"); + var_02 = setsolarreflectorplayer(self); + if(isdefined(var_02) && var_02) + { + maps\mp\_matchdata::logkillstreakevent("mp_solar",self.origin); + } + else if(maps\mp\_utility::isusingremote()) + { + maps\mp\_utility::clearusingremote(); + } + + return isdefined(var_02) && var_02; +} + +//Function Number: 4 +setsolarreflectorplayer(param_00) +{ + self endon("solar_reflector_player_removed"); + level.solar_reflector_player = param_00; + thread maps\mp\_utility::teamplayercardsplash("used_mp_solar",param_00); + thread onplayerconnect(); + thread setupplayerdeath(); + param_00 thread overlay(); + param_00 thread runbeam(); + param_00 thread removesolarreflectorplayeraftertime(level.solar_killstreak_duration); + param_00 thread removesolarreflectorplayerwatch(); + param_00 thread removesolarreflectorlevelwatch(); + param_00 thread removesolarreflectorplayeroncommand(); + return 1; +} + +//Function Number: 5 +beamminimap(param_00) +{ + var_01 = "compassping_orbitallaser_friendly"; + var_02 = "compassping_orbitallaser_hostile"; + var_03 = maps\mp\gametypes\_gameobjects::getnextobjid(); + objective_add(var_03,"invisible",(0,0,0)); + objective_onentity(var_03,param_00); + objective_state(var_03,"active"); + if(level.teambased) + { + objective_team(var_03,self.team); + } + else + { + objective_player(var_03,self getentitynumber()); + } + + objective_icon(var_03,var_01); + var_04 = var_03; + var_03 = maps\mp\gametypes\_gameobjects::getnextobjid(); + objective_add(var_03,"invisible",(0,0,0)); + objective_onentity(var_03,param_00); + objective_state(var_03,"active"); + if(level.teambased) + { + objective_team(var_03,level.otherteam[self.team]); + } + else + { + objective_playerenemyteam(var_03,self getentitynumber()); + } + + objective_icon(var_03,var_02); + var_05 = var_03; + level waittill("solar_reflector_player_removed"); + maps\mp\_utility::_objective_delete(var_04); + maps\mp\_utility::_objective_delete(var_05); +} + +//Function Number: 6 +beamsounds(param_00,param_01) +{ + wait 0.05; + param_01 playloopsound(level.solar_reflector_target_sfx); + param_00 playloopsound(level.solar_reflector_sfx); + playsoundatpos(param_00.origin,"array_beam_start"); + level waittill("solar_reflector_player_removed"); + playsoundatpos(param_00.origin,"array_beam_stop"); + param_01 stoploopsound(); + param_00 stoploopsound(); +} + +//Function Number: 7 +runbeam() +{ + var_00 = common_scripts\utility::getstruct("solar_cam_pos","targetname"); + var_01 = common_scripts\utility::getstruct("solar_beam_pos","targetname"); + var_02 = common_scripts\utility::getstruct("solar_ground_pos","targetname"); + var_03 = getgroundent(var_02); + var_04 = getcameraent(var_00,var_02); + thread playersetcamera(var_04); + var_05 = getbeament(var_01,var_02); + thread beamminimap(var_03); + thread beamsounds(var_04,var_03); + runbeamupdate(var_05,var_04,var_03); + var_05.killcament delete(); + var_05 delete(); + var_04 delete(); + var_03 delete(); +} + +//Function Number: 8 +getcameraent(param_00,param_01) +{ + var_02 = spawn("script_model",param_00.origin); + var_02.angles = vectortoangles(param_01.origin - param_00.origin); + var_02 setmodel("tag_player"); + return var_02; +} + +//Function Number: 9 +getgroundent(param_00) +{ + var_01 = spawn("script_model",param_00.origin); + var_01.angles = (0,0,0); + var_01 setmodel("tag_origin"); + return var_01; +} + +//Function Number: 10 +playersetcamera(param_00) +{ + param_00 endon("death"); + self playerlinkweaponviewtodelta(param_00,"tag_player",1,40,40,12,10); + self setplayerangles(param_00 gettagangles("tag_player")); + self setclientomnvar("fov_scale",0.2); + self thermalvisionfofoverlayon(); + for(;;) + { + self enableslowaim(0.05,0.05); + level waittill("host_migration_begin"); + wait 0.05; + self setclientomnvar("fov_scale",0.2); + self thermalvisionfofoverlayon(); + maps\mp\gametypes\_hostmigration::waittillhostmigrationdone(); + } +} + +//Function Number: 11 +getbeament(param_00,param_01) +{ + var_02 = spawn("script_model",param_00.origin); + var_02.angles = vectortoangles(param_01.origin - param_00.origin); + var_02 setmodel("tag_laser"); + var_02 laseron("solar_laser"); + var_03 = anglestoforward(var_02.angles) * 5000 - (0,0,100); + var_04 = spawn("script_model",param_00.origin + var_03); + var_04.angles = var_02.angles; + var_04 linkto(var_02); + var_02.killcament = var_04; + return var_02; +} + +//Function Number: 12 +beamgroundfx(param_00) +{ + param_00 endon("death"); + var_01 = undefined; + for(;;) + { + wait 0.05; + if(!isdefined(param_00.surfacetype)) + { + continue; + } + + var_02 = beamgetgroundfx(param_00.surfacetype); + if(!isdefined(var_01) || var_01 != var_02) + { + if(isdefined(var_01)) + { + stopfxontag(var_01,param_00,"tag_origin"); + } + + playfxontag(var_02,param_00,"tag_origin"); + var_01 = var_02; + } + } +} + +//Function Number: 13 +beamgetgroundfx(param_00) +{ + switch(param_00) + { + case "water_waist": + case "water": + return common_scripts\utility::getfx("steam_column_rising"); + + default: + return common_scripts\utility::getfx("fx_flare_solar"); + } +} + +//Function Number: 14 +runbeamupdate(param_00,param_01,param_02) +{ + self endon("solar_reflector_player_removed"); + var_03 = 300; + var_04 = 20000; + var_05 = spawnstruct(); + var_05.origin = param_02.origin; + var_06 = 0; + for(;;) + { + var_07 = self getplayerangles(); + var_07 = (var_07[0],var_07[1],0); + var_09 = anglestoforward(var_07); + var_0A = abs(param_01.origin[2] - var_05.origin[2] / var_09[2]); + var_0B = param_01.origin + var_09 * var_0A; + var_0C = distance2d(var_0B,var_05.origin); + if(var_0C <= var_03 * 0.05) + { + var_05.origin = var_0B; + } + else + { + var_0D = var_0B - var_05.origin; + var_0D = vectornormalize(var_0D); + var_05.origin = var_05.origin + var_0D * var_03 * 0.05; + } + + var_0E = vectornormalize(var_05.origin - param_00.origin); + param_00 rotateto(vectortoangles(var_0E),0.1); + var_0F = param_00.origin; + var_10 = var_0F + var_0E * var_04; + var_11 = bullettrace(var_0F,var_10,0); + param_02 moveto(var_11["position"],0.1); + param_02.surfacetype = var_11["surfacetype"]; + param_02.killcament = param_00.killcament; + param_02 radiusdamage(param_02.origin,128,8,2,self,"MOD_EXPLOSIVE","killstreak_solar_mp"); + wait 0.05; + } +} + +//Function Number: 15 +handledamagefeedbacksound() +{ + self.shouldloopdamagefeedback = 1; + self.damagefeedbacktimer = 10; + self playlocalsound("MP_solar_hit_alert"); + self playrumblelooponentity("damage_light"); + while(self.damagefeedbacktimer > 0) + { + self.damagefeedbacktimer--; + wait(0.05); + } + + self stoprumble("damage_light"); + self stoplocalsound("MP_solar_hit_alert"); + self.shouldloopdamagefeedback = undefined; +} + +//Function Number: 16 +removesolarreflectorplayeroncommand() +{ + self endon("solar_reflector_player_removed"); + for(;;) + { + var_00 = 0; + while(self usebuttonpressed()) + { + var_00 = var_00 + 0.05; + if(var_00 > 0.75) + { + level thread removesolarreflectorplayer(self); + return; + } + + wait 0.05; + } + + wait 0.05; + } +} + +//Function Number: 17 +removesolarreflectorplayerwatch() +{ + self endon("solar_reflector_player_removed"); + common_scripts\utility::waittill_any("disconnect","joined_team","joined_spectators","spawned","killstreak_exit"); + level thread removesolarreflectorplayer(self); +} + +//Function Number: 18 +removesolarreflectorlevelwatch() +{ + self endon("solar_reflector_player_removed"); + level waittill("game_cleanup"); + level thread removesolarreflectorplayer(self); +} + +//Function Number: 19 +removesolarreflectorplayeraftertime(param_00) +{ + self endon("solar_reflector_player_removed"); + wait(1); + if(maps\mp\_utility::_hasperk("specialty_blackbox") && isdefined(self.specialty_blackbox_bonus)) + { + param_00 = param_00 * self.specialty_blackbox_bonus; + } + + thread solarrelectortimer(param_00); + maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(param_00); + level thread removesolarreflectorplayer(self); +} + +//Function Number: 20 +solarrelectortimer(param_00) +{ + self endon("solar_reflector_player_removed"); + var_01 = gettime() + param_00 * 1000; + for(;;) + { + self setclientomnvar("ui_solar_beam_timer",var_01); + level waittill("host_migration_begin"); + var_02 = maps\mp\gametypes\_hostmigration::waittillhostmigrationdone(); + var_01 = var_01 + var_02; + } +} + +//Function Number: 21 +removesolarreflectorplayer(param_00) +{ + param_00 notify("solar_reflector_player_removed"); + level notify("solar_reflector_player_removed"); + waittillframeend; + if(isdefined(param_00)) + { + param_00 maps\mp\_utility::clearusingremote(); + param_00 show(); + param_00 unlink(); + param_00 thermalvisionfofoverlayoff(); + param_00 setblurforplayer(0,0); + param_00 setclientomnvar("ui_solar_beam",0); + param_00 disableslowaim(); + param_00 setclientomnvar("fov_scale",1); + } + + level.solar_reflector_player = undefined; +} + +//Function Number: 22 +overlay() +{ + self endon("disconnect"); + level endon("solar_reflector_player_removed"); + wait(1); + self setblurforplayer(1.2,0); + self setclientomnvar("ui_solar_beam",1); +} + +//Function Number: 23 +onplayerconnect() +{ + level notify("solarOnPlayerConnect"); + level endon("solarOnPlayerConnect"); + level endon("solar_reflector_player_removed"); + for(;;) + { + level waittill("connected",var_00); + var_00.prekilledfunc = ::playerprekilled; + var_00 thread onplayerspawned(); + var_00 thread playerimmunetofire(); + } +} + +//Function Number: 24 +onplayerspawned() +{ + level notify("solarOnPlayerSpawned"); + level endon("solarOnPlayerSpawned"); + level endon("solar_reflector_player_removed"); + for(;;) + { + self waittill("player_spawned"); + self.hideondeath = undefined; + } +} + +//Function Number: 25 +setupplayerdeath() +{ + foreach(var_01 in level.players) + { + if(!isdefined(var_01) || var_01 == level.solar_reflector_player) + { + continue; + } + + var_01.prekilledfunc = ::playerprekilled; + var_01 thread onplayerspawned(); + } +} + +//Function Number: 26 +playerplayvaporizefx() +{ + self.hideondeath = 1; + var_00 = (0,0,30); + var_01 = self getstance(); + if(var_01 == "crouch") + { + var_00 = (0,0,20); + } + else if(var_01 == "prone") + { + var_00 = (0,0,10); + } + + playfx(common_scripts\utility::getfx("solar_killstreak_death"),self.origin + var_00); +} + +//Function Number: 27 +playerprekilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A) +{ + if(param_05 == "killstreak_solar_mp") + { + playerplayvaporizefx(); + } +} + +//Function Number: 28 +playerimmunetofire() +{ + self endon("disconnect"); + self.solarimmunefire = 1; + wait(5); + self.solarimmunefire = undefined; +} + +//Function Number: 29 +beamstartfires(param_00) +{ + level endon("solar_reflector_player_removed"); + var_01 = spawnfx(level.solar_fire_fx,(0,0,0)); + var_02 = (0,0,0); + var_03 = gettime(); + for(;;) + { + wait 0.05; + var_04 = distance2dsquared(param_00.origin,var_02); + var_05 = var_03 - gettime() / 1000; + if(var_04 > 2500 || var_05 > 5) + { + var_02 = param_00.origin; + if(!isdefined(param_00.surfacetype) || !maps\mp\_utility::isstrstart(param_00.surfacetype,"water_")) + { + level thread fireatposition(var_02,self); + } + + var_03 = gettime(); + } + } +} + +//Function Number: 30 +fireatposition(param_00,param_01) +{ + playfx(level.solar_fire_fx,param_00); + var_02 = gettime() + 5000; + while(gettime() < var_02) + { + foreach(var_04 in level.players) + { + if(isdefined(var_04.solarimmunefire)) + { + continue; + } + + if(var_04.origin[2] < param_00[2] - 5) + { + continue; + } + + if(var_04.origin[2] > param_00[2] + 80) + { + continue; + } + + var_05 = distance2dsquared(var_04.origin,param_00); + if(var_05 < 4900) + { + var_04 dodamage(4,param_00,param_01,param_01,"MOD_EXPLOSIVE","killstreak_solar_mp"); + } + } + + wait(0.1); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/killstreaks/streak_mp_spark.gsc b/AW/PC/maps/mp/killstreaks/streak_mp_spark.gsc new file mode 100644 index 0000000..6db2f10 --- /dev/null +++ b/AW/PC/maps/mp/killstreaks/streak_mp_spark.gsc @@ -0,0 +1,54 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\killstreaks\streak_mp_spark.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 4 + * Decompile Time: 71 ms + * Timestamp: 4/22/2024 2:12:48 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level.killstreakfuncs["mp_spark"] = ::tryuseremotesentrydisruptor; + level.killstreakwieldweapons["iw5_dlcgun12loot3_mp"] = "mp_spark"; + level.mapkillstreak = "mp_spark"; + level.mapkillstreakpickupstring = &"MP_SPARK_MAP_KILLSTREAK_PICKUP"; + level.mapcustombotkillstreakfunc = ::setupbotsformapkillstreak; + level._effect["turret_distortion"] = loadfx("vfx/muzzleflash/dlc_sentry_disruptor_wave"); +} + +//Function Number: 2 +tryuseremotesentrydisruptor(param_00,param_01) +{ + var_02 = getnumdisruptorturrets(); + if(var_02 >= 12) + { + self iprintlnbold(&"MP_SPARK_MAP_KILLSTREAK_MAX"); + return 0; + } + + return maps\mp\killstreaks\_remoteturret::tryuseremotemgsentryturret(param_00,["sentry_disruptor"]); +} + +//Function Number: 3 +getnumdisruptorturrets() +{ + var_00 = 0; + foreach(var_02 in level.turrets) + { + if(isdefined(var_02.model) && issubstr(var_02.model,"disruptor")) + { + var_00++; + } + } + + return var_00; +} + +//Function Number: 4 +setupbotsformapkillstreak() +{ + level thread maps\mp\bots\_bots_ks::bot_register_killstreak_func("mp_spark",::maps\mp\bots\_bots_sentry::bot_killstreak_sentry,undefined,"turret"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/killstreaks/streak_mp_terrace.gsc b/AW/PC/maps/mp/killstreaks/streak_mp_terrace.gsc new file mode 100644 index 0000000..bf0c4bb --- /dev/null +++ b/AW/PC/maps/mp/killstreaks/streak_mp_terrace.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\killstreaks\streak_mp_terrace.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:12:49 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level.killstreakwieldweapons["killstreak_terrace_mp"] = "mp_terrace"; + level.killstreakfuncs["mp_terrace"] = ::tryusekillstreak; + level.mapkillstreak = "mp_terrace"; + level.mapkillstreakpickupstring = &"MP_TERRACE_MAP_KILLSTREAK_PICKUP"; +} + +//Function Number: 2 +tryusekillstreak(param_00,param_01) +{ + param_01 = ["mp_terrace"]; + return maps\mp\killstreaks\_drone_assault::tryuseassaultdrone(param_00,param_01); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/killstreaks/streak_mp_torqued.gsc b/AW/PC/maps/mp/killstreaks/streak_mp_torqued.gsc new file mode 100644 index 0000000..e1b72a5 --- /dev/null +++ b/AW/PC/maps/mp/killstreaks/streak_mp_torqued.gsc @@ -0,0 +1,751 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\killstreaks\streak_mp_torqued.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 46 + * Decompile Time: 885 ms + * Timestamp: 4/22/2024 2:12:52 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level.killstreakfuncs["mp_torqued"] = ::tryusemptorqued; + level.mapkillstreak = "mp_torqued"; + level.mapkillstreakpickupstring = &"MP_TORQUED_MAP_KILLSTREAK_PICKUP"; + level.killstreakwieldweapons["mp_torqued_beam"] = "mp_torqued"; + level.mapcustombotkillstreakfunc = ::setupbotsformapkillstreak; + level.torquedkillstreakactive = 0; + thread fusioncoresetup(); +} + +//Function Number: 2 +setupbotsformapkillstreak() +{ + level thread maps\mp\bots\_bots_ks::bot_register_killstreak_func("mp_torqued",::maps\mp\bots\_bots_ks::bot_killstreak_simple_use); +} + +//Function Number: 3 +fusioncoresetup() +{ + if(!isdefined(level.fusioncore)) + { + level.fusioncore = spawnstruct(); + } + + level.fusioncore.particle01 = loadfx("vfx/map/mp_torqued/reactor_core"); + level.fusioncore.particleexplosion = loadfx("vfx/map/mp_torqued/mp_torqued_shock_impact"); + level.fusioncore.particleexplosion2 = loadfx("fx/explosions/generic_explosion_distortion"); + level.fusioncore.particlezap = loadfx("vfx/map/mp_torqued/mp_torqued_energy_impact"); + level.fusioncore.particlezaptrail = loadfx("vfx/trail/charged_shot_2_trail_blue"); + level.fusioncore.particlezaptrail2 = loadfx("vfx/map/mp_torqued/mp_torqued_energy_trail"); + level.fusioncore.particlefinger01 = loadfx("vfx/map/mp_torqued/mp_torqued_electric_trail"); + level.fusioncore.camspawnarray = getentarray("core_killcam","targetname"); + fusioncoresetuppos(1); + level.fusioncore.minimapenemyicon = "compassping_torqued_streak_enemy"; + level.fusioncore.minimapfriendlyicon = "compassping_torqued_streak_friendly"; + level thread onplayerconnectfucntions(); + foreach(var_01 in level.fusioncore.camspawnarray) + { + var_01 fusioncorekillcam(); + } +} + +//Function Number: 4 +fusioncoresetuppos(param_00) +{ + if(!isdefined(level.fusioncore)) + { + return; + } + + level.fusioncore.icon = getent("fusion_world_icon_" + param_00,"targetname"); + level.fusioncore.icon_fake = level.fusioncore.icon; + level.fusioncore.center = common_scripts\utility::getstruct("fusion_origin_" + param_00,"targetname"); + level.fusioncore.laserarray = common_scripts\utility::getstructarray("laser_origin_" + param_00,"targetname"); +} + +//Function Number: 5 +onplayerconnectfucntions() +{ + level endon("game_ended"); + for(;;) + { + level waittill("connected",var_00); + var_00 createtorquedfusiontrackingoverlay(); + } +} + +//Function Number: 6 +tryusemptorqued(param_00,param_01) +{ + if(!maps\mp\_utility::validateusestreak()) + { + return 0; + } + + if(maps\mp\_utility::isusingremote()) + { + return 0; + } + + if(level.torquedkillstreakactive == 1) + { + self iprintlnbold(&"MP_TORQUED_IN_USE"); + return 0; + } + + level thread killstreaktorqued(self); + return 1; +} + +//Function Number: 7 +killstreaktorqued(param_00) +{ + level endon("killstreak_over"); + level.torquedkillstreakactive = 1; + var_01 = param_00.team; + while(level.torqued_rockfall_active) + { + wait 0.05; + } + + level.fusioncore.kill_list = []; + fusioncorespinup(param_00); + fusioncoretrackpeople(var_01,param_00); + fusioncorekillpeople(var_01,param_00); + fusioncorecooldown(); + fusioncoretrackpeople(var_01,param_00); + fusioncorekillpeople(var_01,param_00); + fusioncorecooldown(); + fusioncorecleanup(param_00); + thread killstreakend(); +} + +//Function Number: 8 +fusioncorecleanup(param_00) +{ + level notify("shutdown_streak_particles"); + level.fusioncore.icon_fake minimapremoveteamicon(); + destroyfriendlyplayericons(param_00); + foreach(var_02 in level.players) + { + var_02 endtorquedtrackingoverlay(); + } +} + +//Function Number: 9 +fusioncorespinup(param_00) +{ + var_01 = 768; + var_02 = 0.25; + var_03 = "steady_rumble"; + var_04 = spawn("script_origin",level.fusioncore.center.origin); + var_04 thread fusionspinupsound(); + playrumblelooponposition(var_03,level.fusioncore.center.origin); + thread quakethink(var_02,var_01,level.fusioncore.center); +} + +//Function Number: 10 +destroyfriendlyplayericons(param_00) +{ + if(isdefined(level.fusioncore.icon.entityheadicons)) + { + if(isdefined(level.fusioncore.icon.entityheadicons[param_00.team])) + { + level.fusioncore.icon.entityheadicons[param_00.team] destroy(); + level.fusioncore.icon.entityheadicons[param_00.team] = undefined; + return; + } + + if(isdefined(level.fusioncore.icon.entityheadicons[param_00.guid])) + { + level.fusioncore.icon.entityheadicons[param_00.guid] destroy(); + level.fusioncore.icon.entityheadicons[param_00.guid] = undefined; + return; + } + } +} + +//Function Number: 11 +fusionspinupsound() +{ + thread maps\mp\_utility::playsoundinspace("mp_torqued_reactor_engine",level.fusioncore.center.origin); +} + +//Function Number: 12 +fusioncoretrackpeople(param_00,param_01) +{ + var_02 = 3; + var_03 = "tank_rumble"; + level.fusioncore.center thread particlethink(level.fusioncore.particle01); + playrumblelooponposition(var_03,level.fusioncore.center.origin); + thread maps\mp\_utility::playsoundinspace("mp_torqued_reactor_ramp_up",level.fusioncore.center.origin); + thread startlasertest(param_00,param_01); + wait(var_02); +} + +//Function Number: 13 +fusioncorekillpeople(param_00,param_01) +{ + level.fusioncore.center thread particlethink(level.fusioncore.particleexplosion,2); + level.fusioncore.center thread particlethink(level.fusioncore.particleexplosion2,2); + thread maps\mp\_utility::playsoundinspace("mp_torqued_reactor_blast",level.fusioncore.center.origin); + thread empenemyteam(param_00,param_01); + foreach(var_03 in level.fusioncore.kill_list) + { + if(isdefined(var_03) && maps\mp\_utility::isreallyalive(var_03)) + { + var_03 thread deathtouchzap(param_01); + } + } + + level notify("zap_players"); +} + +//Function Number: 14 +empenemyteam(param_00,param_01) +{ + for(var_02 = 0;var_02 < level.teamnamelist.size;var_02++) + { + if(param_00 != level.teamnamelist[var_02]) + { + thread destroyactivesmallvehicles(param_01,level.teamnamelist[var_02]); + } + } + + foreach(var_04 in level.players) + { + if(var_04.team != param_00) + { + if(maps\mp\_utility::isreallyalive(var_04)) + { + var_04 notify("emp_grenaded",param_01); + } + } + } +} + +//Function Number: 15 +destroyactivesmallvehicles(param_00,param_01) +{ + thread maps\mp\killstreaks\_emp::destroyactiveturrets(param_00,param_01); + thread maps\mp\killstreaks\_emp::destroyactiverockets(param_00,param_01); + thread maps\mp\killstreaks\_emp::destroyactiveugvs(param_00,param_01); +} + +//Function Number: 16 +fusioncorecooldown() +{ + level notify("shutdown_streak_particles"); + var_00 = 3; + level notify("Reactor_Cooldown"); + stopallrumbles(); + level.fusioncore.kill_list = []; + foreach(var_02 in level.players) + { + var_02 endtorquedtrackingoverlay(); + } + + wait(var_00); +} + +//Function Number: 17 +particlelaserthink(param_00) +{ + var_01 = 15; + for(var_02 = 0;var_02 < var_01;var_02++) + { + thread particlelaserspawn(param_00); + } +} + +//Function Number: 18 +particlelaserspawn(param_00) +{ + level endon("Reactor_Cooldown"); + var_01 = spawnfx(param_00,self.origin); + var_02 = randomintrange(-180,180); + var_03 = randomintrange(-180,180); + var_04 = randomintrange(-180,180); + var_05 = (var_02,var_03,var_04); + var_01.angles = var_05; + var_01 thread particlelasercleanup(); + for(;;) + { + triggerfx(var_01); + wait(0.05); + } +} + +//Function Number: 19 +particlelasercleanup() +{ + level waittill("Reactor_Cooldown"); + self delete(); +} + +//Function Number: 20 +particlethink(param_00,param_01) +{ + var_02 = spawnfx(param_00,self.origin); + var_02.angles = self.angles; + triggerfx(var_02); + if(!isdefined(param_01)) + { + level waittill("shutdown_streak_particles"); + if(isdefined(var_02)) + { + var_02 delete(); + return; + } + + return; + } + + if(isdefined(param_01)) + { + wait(param_01); + if(isdefined(var_02)) + { + var_02 delete(); + return; + } + } +} + +//Function Number: 21 +particletrailthink(param_00,param_01) +{ + var_02 = level.fusioncore.center.origin; + if(isdefined(self.lasernode)) + { + var_02 = self.lasernode.origin; + } + + var_03 = self geteye() + (0,0,-3); + var_04 = var_02; + var_05 = vectortoangles(var_03 - var_02); + var_04 = var_04 + anglestoforward(var_05) * 32; + var_06 = spawnfx(param_00,var_04); + var_06.angles = var_05; + triggerfx(var_06); + var_07 = 3; + for(var_08 = 0;var_08 < var_07;var_08++) + { + thread particlevolley(param_01,var_04,var_03,var_05); + wait(0.05); + } + + var_06 delete(); +} + +//Function Number: 22 +particlevolley(param_00,param_01,param_02,param_03) +{ + var_04 = common_scripts\utility::spawn_tag_origin(); + var_04.origin = param_01; + var_04.angles = param_03; + var_04 show(); + wait(0.05); + var_04 show(); + var_04 moveto(param_02,0.25); + playfxontag(param_00,var_04,"tag_origin"); + wait(0.05); + var_04 show(); + playfxontag(param_00,var_04,"tag_origin"); + wait(0.05); + var_04 show(); + playfxontag(param_00,var_04,"tag_origin"); + var_04 waittill("movedone"); + stopfxontag(param_00,var_04,"tag_origin"); + var_04 delete(); +} + +//Function Number: 23 +zapplayers(param_00) +{ +} + +//Function Number: 24 +quakethink(param_00,param_01,param_02) +{ + level endon("killstreak_over"); + for(;;) + { + var_03 = randomfloatrange(1,1.7); + earthquake(param_00,var_03,param_02.origin,param_01); + wait(var_03 - 0.2); + } +} + +//Function Number: 25 +deathtouchzap(param_00) +{ + particletrailthink(level.fusioncore.particlezaptrail,level.fusioncore.particlezaptrail2); + thread particlethink(level.fusioncore.particlezap,1); + var_01 = findfarthestkillcam(); + if(self.fuisioncorekillrange) + { + setplayerprekilledfunc(); + self thread [[ level.callbackplayerdamage ]](var_01,param_00,self.health + 9999,0,"MOD_HEAD_SHOT","mp_torqued_beam",self.origin,(0,0,0) - self.origin,"none",0); + clearplayerprekilledfunc(); + return; + } + + thread maps\mp\_flashgrenades::applyflash(5,2.5); +} + +//Function Number: 26 +setplayerprekilledfunc() +{ + self.prekilledfunc = ::playerprekilled; +} + +//Function Number: 27 +clearplayerprekilledfunc() +{ + self.prekilledfunc = undefined; + self.hideondeath = 0; +} + +//Function Number: 28 +playerprekilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A) +{ + if(param_05 == "mp_torqued_beam") + { + playerplayvaporizefx(); + } +} + +//Function Number: 29 +playerplayvaporizefx() +{ + self.hideondeath = 1; + var_00 = (0,0,30); + var_01 = self getstance(); + if(var_01 == "crouch") + { + var_00 = (0,0,20); + } + else if(var_01 == "prone") + { + var_00 = (0,0,10); + } + + playfx(common_scripts\utility::getfx("torqued_killstreak_death"),self.origin + var_00); +} + +//Function Number: 30 +findfarthestkillcam() +{ + var_00 = sortbydistance(level.fusioncore.camspawnarray,self.origin); + var_01 = var_00[var_00.size - 1]; + return var_01; +} + +//Function Number: 31 +fusioncorekillcam(param_00) +{ + var_01 = undefined; + var_01 = spawn("script_model",self.origin); + var_01.angles = self.angles; + self.killcament = var_01; +} + +//Function Number: 32 +removekillcamentity() +{ + if(isdefined(self.killcament)) + { + self.killcament delete(); + } +} + +//Function Number: 33 +startlasertest(param_00,param_01) +{ + foreach(var_03 in level.players) + { + if(level.teambased == 0 && var_03 != param_01) + { + var_03 thread tracktargets(); + continue; + } + + if(var_03 == param_01) + { + continue; + } + + if(var_03.team != param_00) + { + var_03 thread tracktargets(); + continue; + } + + var_03 thread onteamswitchdurringstreak(param_00); + } + + thread onplayerconnectdurringstreak(param_00); +} + +//Function Number: 34 +tracktargets() +{ + self endon("disconnected"); + level endon("zap_players"); + var_00 = 0.1; + self.lasernode = undefined; + var_01 = 500; + var_02 = 1000; + var_03 = var_01 * var_01; + var_04 = var_02 * var_02; + for(;;) + { + foreach(var_06 in level.fusioncore.laserarray) + { + var_07 = 0; + while(var_07 == 0) + { + if(isdefined(self)) + { + var_08 = self geteye() + (0,0,-3); + var_09 = distancesquared(var_08,var_06.origin); + if(var_09 <= var_04) + { + var_0A = bullettrace(var_06.origin,var_08,1,0); + if(isdefined(var_0A["entity"]) && self == var_0A["entity"] && isalive(self)) + { + self.fuisioncorekillrange = var_09 <= var_03; + if(!common_scripts\utility::array_contains(level.fusioncore.kill_list,self)) + { + level.fusioncore.kill_list = common_scripts\utility::add_to_array(level.fusioncore.kill_list,self); + self.lasernode = var_06; + thread fadeinouttorquedtrackingoverlay(); + thread watchdeath(); + } + + thread drawparticleline(var_06); + wait(var_00); + continue; + } + } + + level.fusioncore.kill_list = common_scripts\utility::array_remove(level.fusioncore.kill_list,self); + var_07 = 1; + self notify("player_not_tracked"); + endtorquedtrackingoverlay(); + wait(var_00); + } + } + } + + wait(var_00); + } +} + +//Function Number: 35 +drawparticleline(param_00) +{ + var_01 = 200; + var_02 = 1; + var_03 = 200; + var_04 = self geteye(); + var_05 = param_00.origin; + var_01 = distance(var_04,var_05); + if(var_01 < 200) + { + var_01 = 200; + } + + var_02 = var_01 / var_03; + var_02 = var_02 + 0.5; + var_02 = int(var_02); + var_06 = vectortoangles(var_04 - var_05); + for(var_07 = 0;var_07 < var_02;var_07++) + { + var_08 = spawnfx(level.fusioncore.particlefinger01,var_05); + var_08.angles = var_06; + triggerfx(var_08); + var_08 thread deleteparticlefinger(); + var_05 = var_05 + anglestoforward(var_06) * 200; + } +} + +//Function Number: 36 +deleteparticlefinger() +{ + wait(0.15); + self delete(); +} + +//Function Number: 37 +watchdeath() +{ + level endon("zap_players"); + level endon("killstreak_over"); + self endon("disconnected"); + self waittill("death"); + level.fusioncore.kill_list = common_scripts\utility::array_remove(level.fusioncore.kill_list,self); + endtorquedtrackingoverlay(); +} + +//Function Number: 38 +waitingforspawnduringstreak(param_00) +{ + level endon("zap_players"); + self waittill("spawned_player"); + level.fusioncore.kill_list = common_scripts\utility::array_remove(level.fusioncore.kill_list,self); + if(level.teambased == 0) + { + thread tracktargets(); + return; + } + + if(self.team != param_00) + { + thread tracktargets(); + } +} + +//Function Number: 39 +onteamswitchdurringstreak(param_00) +{ + level endon("zap_players"); + for(;;) + { + self waittill("joined_team"); + thread waitingforspawnduringstreak(param_00); + return 1; + } +} + +//Function Number: 40 +onplayerconnectdurringstreak(param_00) +{ + level endon("zap_players"); + for(;;) + { + level waittill("connected",var_01); + var_01 thread waitingforspawnduringstreak(param_00); + return 1; + } +} + +//Function Number: 41 +minimapdisplayteamicon(param_00,param_01,param_02) +{ + if(!level.teambased) + { + var_03 = maps\mp\gametypes\_gameobjects::getnextobjid(); + objective_add(var_03,"invisible",self.origin); + objective_state(var_03,"active"); + objective_player(var_03,param_00 getentitynumber()); + objective_icon(var_03,param_01); + self.objid01 = var_03; + var_03 = maps\mp\gametypes\_gameobjects::getnextobjid(); + objective_add(var_03,"invisible",self.origin); + objective_state(var_03,"active"); + objective_playerenemyteam(var_03,param_00 getentitynumber()); + objective_icon(var_03,param_02); + self.objid02 = var_03; + return; + } + + var_03 = maps\mp\gametypes\_gameobjects::getnextobjid(); + objective_add(var_03,"invisible",self.origin); + objective_state(var_03,"active"); + objective_team(var_03,param_00.team); + objective_icon(var_03,param_01); + self.objid03 = var_03; + var_03 = maps\mp\gametypes\_gameobjects::getnextobjid(); + objective_add(var_03,"invisible",self.origin); + objective_state(var_03,"active"); + objective_team(var_03,level.otherteam[param_00.team]); + objective_icon(var_03,param_02); + self.objid04 = var_03; +} + +//Function Number: 42 +minimapremoveteamicon() +{ + if(isdefined(self.objid01)) + { + maps\mp\_utility::_objective_delete(self.objid01); + } + + if(isdefined(self.objid02)) + { + maps\mp\_utility::_objective_delete(self.objid02); + } + + if(isdefined(self.objid03)) + { + maps\mp\_utility::_objective_delete(self.objid03); + } + + if(isdefined(self.objid04)) + { + maps\mp\_utility::_objective_delete(self.objid04); + } +} + +//Function Number: 43 +createtorquedfusiontrackingoverlay() +{ + if(!isdefined(self.torquedfusiontrackingoverlay)) + { + self.torquedfusiontrackingoverlay = newclienthudelem(self); + self.torquedfusiontrackingoverlay.x = 0; + self.torquedfusiontrackingoverlay.y = 0; + self.torquedfusiontrackingoverlay setshader("torqued_reactor_tracking_overlay",640,480); + self.torquedfusiontrackingoverlay.alignx = "left"; + self.torquedfusiontrackingoverlay.aligny = "top"; + self.torquedfusiontrackingoverlay.horzalign = "fullscreen"; + self.torquedfusiontrackingoverlay.vertalign = "fullscreen"; + self.torquedfusiontrackingoverlay.alpha = 0; + } +} + +//Function Number: 44 +fadeinouttorquedtrackingoverlay() +{ + level endon("zap_players"); + level endon("killstreak_over"); + level endon("game_ended"); + self endon("player_not_tracked"); + if(isdefined(self.torquedfusiontrackingoverlay)) + { + for(;;) + { + self.torquedfusiontrackingoverlay fadeovertime(0.2); + self.torquedfusiontrackingoverlay.alpha = 1; + wait(0.3); + self.torquedfusiontrackingoverlay fadeovertime(0.2); + self.torquedfusiontrackingoverlay.alpha = 0.3; + wait(0.3); + } + } +} + +//Function Number: 45 +endtorquedtrackingoverlay() +{ + if(isdefined(self.torquedfusiontrackingoverlay)) + { + self.torquedfusiontrackingoverlay fadeovertime(0.2); + self.torquedfusiontrackingoverlay.alpha = 0; + } +} + +//Function Number: 46 +killstreakend() +{ + var_00 = 3; + level notify("killstreak_over"); + stopallrumbles(); + wait(var_00); + level.torquedkillstreakactive = 0; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_bigben2.gsc b/AW/PC/maps/mp/mp_bigben2.gsc new file mode 100644 index 0000000..506377a --- /dev/null +++ b/AW/PC/maps/mp/mp_bigben2.gsc @@ -0,0 +1,1056 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_bigben2.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 58 + * Decompile Time: 853 ms + * Timestamp: 4/22/2024 2:17:00 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.callbackstartgametype = ::bigben2_callbackstartgametype; + maps\mp\mp_bigben2_precache::main(); + maps\createart\mp_bigben2_art::main(); + maps\mp\mp_bigben2_fx::main(); + maps\mp\_load::main(); + maps\mp\mp_bigben2_lighting::main(); + maps\mp\mp_bigben2_aud::main(); + maps\mp\_water::init(); + maps\mp\_compass::setupminimap("compass_map_mp_bigben2"); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + level.ospvisionset = "mp_bigben2_osp"; + level.osplightset = "mp_bigben2_osp"; + level.dronevisionset = "mp_bigben2_drone"; + level.dronelightset = "mp_bigben2_drone"; + level.warbirdvisionset = "mp_bigben2_warbird"; + level.warbirdlightset = "mp_bigben2_warbird"; + level.vulcanvisionset = "mp_bigben2_osp"; + level.vulcanlightset = "mp_bigben2_osp"; + level.allow_swimming = 0; + thread flickeringlights(); + level thread resetuplinkballoutofbounds(); + level.orbitallaseroverridefunc = ::bigben2vulcanoverrides; + level.orbitalsupportoverridefunc = ::bigben2paladinoverrides; + level.mapcustomkillstreakfunc = ::bigben2customkillstreakfunc; + if(level.nextgen) + { + thread start_radar_animations(); + } + + thread fixdroppedbomb(); + if(level.nextgen) + { + thread patch_clip_fixes(); + } + else + { + thread resetuplinkballcg(); + } + + if(isdefined(level.gametype) && level.gametype == "sd" || level.gametype == "sr") + { + level thread fix_b_bomb_site_killcam(); + } +} + +//Function Number: 2 +fix_b_bomb_site_killcam() +{ + while(!isdefined(level.bombzones)) + { + wait 0.05; + } + + var_00 = getentarray("bombzone","targetname"); + var_01 = getentarray(var_00[1].target,"targetname"); + var_01[0].killcament.origin = (4236,2260,468); +} + +//Function Number: 3 +resetuplinkballcg() +{ + var_00 = spawn("trigger_radius",(1878,2636,224),0,70,50); + var_00.targetname = "out_of_bounds_at_rest"; + var_01 = spawn("trigger_radius",(1856,3926,224),0,70,50); + var_01.targetname = "out_of_bounds_at_rest"; +} + +//Function Number: 4 +bigben2customkillstreakfunc() +{ + level thread maps\mp\killstreaks\streak_mp_bigben2::init(); +} + +//Function Number: 5 +bigben2vulcanoverrides() +{ + level.orbitallaseroverrides.spawnpoint = (4000,4000,0); + level.orbitallaseroverrides.spawnheight = 3024; +} + +//Function Number: 6 +bigben2paladinoverrides() +{ + level.orbitalsupportoverrides.spawnheight = 9279; + level.orbitalsupportoverrides.spawnradius = 8000; + level.orbitalsupportoverrides.spawnangle = 312; +} + +//Function Number: 7 +bigben2_callbackstartgametype() +{ + maps\mp\gametypes\_gamelogic::callback_startgametype(); + common_scripts\_bcs_location_trigs_dlc::bcs_location_trigs_dlc_init(); +} + +//Function Number: 8 +flickeringlights() +{ + var_00 = getscriptablearray("damaged","targetname"); + foreach(var_02 in var_00) + { + var_02 setscriptablepartstate(0,1); + } + + var_04 = getscriptablearray("destroyed","targetname"); + foreach(var_06 in var_04) + { + var_06 setscriptablepartstate(0,4); + } +} + +//Function Number: 9 +brokensigns() +{ + var_00 = getscriptablearray("sign_damaged","targetname"); + foreach(var_02 in var_00) + { + var_02 setscriptablepartstate(0,1); + } +} + +//Function Number: 10 +start_radar_animations() +{ + var_00 = getent("radar_dish","targetname"); + var_01 = getent("large_radar_stick_1","targetname"); + var_02 = getent("radar_stick_1","targetname"); + var_03 = getent("radar_stick_2","targetname"); + var_04 = getent("radar_stick_3","targetname"); + var_05 = getent("radar_stick_4","targetname"); + var_06 = getent("radar_stick_5","targetname"); + var_00 scriptmodelplayanimdeltamotion("bbn_radar_dish_01_idle"); + var_01 scriptmodelplayanimdeltamotion("bbn_radar_stick_02_idle"); + var_02 scriptmodelplayanimdeltamotion("bbn_radar_stick_02_idle"); + wait(0.3); + var_03 scriptmodelplayanimdeltamotion("bbn_radar_stick_02_idle"); + wait(1); + var_04 scriptmodelplayanimdeltamotion("bbn_radar_stick_02_idle"); + wait(0.25); + var_05 scriptmodelplayanimdeltamotion("bbn_radar_stick_02_idle"); + wait(0.45); + var_06 scriptmodelplayanimdeltamotion("bbn_radar_stick_02_idle"); +} + +//Function Number: 11 +resetuplinkballoutofbounds() +{ + level endon("game_ended"); + if(level.gametype == "ball") + { + while(!isdefined(level.balls)) + { + wait(0.05); + } + + foreach(var_01 in level.balls) + { + var_01 thread watchcarryobjects(); + } + } +} + +//Function Number: 12 +watchcarryobjects() +{ + level endon("game_ended"); + for(;;) + { + self waittill("dropped"); + wait(0.1); + thread monitorballstate(); + var_00 = common_scripts\utility::waittill_any_return("pickup_object","reset"); + } +} + +//Function Number: 13 +monitorballstate() +{ + self endon("pickup_object"); + self endon("reset"); + for(;;) + { + if(isoutofbounds()) + { + thread maps\mp\gametypes\_gameobjects::returnhome(); + return; + } + + wait(0.05); + } +} + +//Function Number: 14 +isoutofbounds() +{ + var_00 = getentarray("object_out_of_bounds","targetname"); + for(var_01 = 0;var_01 < var_00.size;var_01++) + { + if(!self.visuals[0] istouching(var_00[var_01])) + { + continue; + } + + return 1; + } + + if(self.visuals[0].origin[2] <= 176) + { + return 1; + } + + return 0; +} + +//Function Number: 15 +fixdroppedbomb() +{ + if(level.gametype == "sd") + { + while(!isdefined(level.sdbomb)) + { + wait(0.05); + } + + level.sdbomb thread watchcarryobjects(); + return; + } + + if(level.gametype == "sr") + { + while(!isdefined(level.sdbomb)) + { + wait(0.05); + } + + level.sdbomb thread watchcarryobjects(); + return; + } + + if(level.gametype == "ball") + { + while(!isdefined(level.balls)) + { + wait(0.05); + } + + foreach(var_01 in level.balls) + { + var_01 thread watchcarryobjects(); + } + + return; + } + + if(level.gametype == "ctf") + { + while(!isdefined(level.teamflags) || !isdefined(level.teamflags[game["defenders"]]) || !isdefined(level.teamflags[game["attackers"]])) + { + wait(0.05); + } + + level.teamflags[game["defenders"]] thread watchcarryobjects(); + level.teamflags[game["attackers"]] thread watchcarryobjects(); + return; + } +} + +//Function Number: 16 +patch_clip_fixes() +{ + thread issue_17896(); + thread issue_17935(); + thread issue_17999(); + thread issue_18482(); + thread issue_18855(); + thread issue_17154(); + thread issue_18770(); + thread issue_18797(); + thread issue_18457(); + thread issue_17696(); + thread issue_18772(); + thread issue_13645(); + thread issue_18752(); + thread issue_13590(); + thread issue_18582(); + thread issue_16533(); + thread issue_19907(); + thread issue_20694(); + thread issue_20908(); + thread issue_20914(); + thread issue_16646(); + thread issue_22753(); + thread issue_23525(); + thread issue_23548(); + thread issue_23543(); + thread issue_23543_b(); + thread issue_23522(); + thread issue_23551(); + thread issue_14030(); + thread issue_23552(); + thread issue_25514(); + thread waterlanding_deathtriggertoohigh(); + thread anotherattempttofixmiddleledgeaft(); + thread anotherattempttofixmiddleledgeforward(); + thread radarantennagrappletotop(); + thread ticketinglampost(); + thread hoverintobow(); + thread sterngrappleoutmap(); +} + +//Function Number: 17 +sterngrappleoutmap() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1088,2592,272),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1088,2592,528),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1088,2592,784),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1088,2848,272),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1088,2848,528),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1088,2848,784),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1088,3104,272),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1088,3104,528),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1088,3104,784),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1088,3360,272),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1088,3360,528),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1088,3360,784),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1088,3616,272),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1088,3616,528),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1088,3616,784),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1088,3872,272),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1088,3872,528),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1088,3872,784),(0,0,0)); +} + +//Function Number: 18 +hoverintobow() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(5979,3801,219),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(5979,3929,219),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(5979,3945,219),(0,0,0)); +} + +//Function Number: 19 +ticketinglampost() +{ + var_00 = 773; + for(var_01 = 0;var_01 < 12;var_01++) + { + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3108,5321,var_00),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3108,5320,var_00),(0,0,0)); + var_00 = var_00 + 128; + } +} + +//Function Number: 20 +radarantennagrappletotop() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3768,2420,986),(15.9999,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3803,2420,1109),(15.9999,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3838,2420,1232),(15.9999,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3873,2420,1355),(15.9999,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3908,2420,1478),(15.9999,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3943,2420,1601),(15.9999,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3978,2420,1724),(15.9999,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4013,2420,1847),(15.9999,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3733,2420,863),(15.9999,0,0)); +} + +//Function Number: 21 +anotherattempttofixmiddleledgeforward() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3778.5,2625,1080),(0,16.9995,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3778.5,2625,1336),(0,16.9995,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3778.5,2625,1592),(0,16.9995,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3747,2728,1080),(0,16.9995,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3747,2728,1336),(0,16.9995,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3747,2728,1592),(0,16.9995,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3710,2976,1080),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3710,2976,1336),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3710,2976,1592),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3710,3232,1080),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3710,3232,1336),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3710,3232,1592),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3710,3488,1080),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3710,3488,1336),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3710,3488,1592),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3710,3744,1080),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3710,3744,1336),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3710,3744,1592),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3710,4000,1080),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3710,4000,1336),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3710,4000,1592),(0,0,0)); +} + +//Function Number: 22 +anotherattempttofixmiddleledgeaft() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(4256,2464,1136),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(4256,2464,1392),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(4256,2464,1648),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(4256,2720,1136),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(4256,2720,1392),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(4256,2720,1648),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(4256,2976,1136),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(4256,2976,1392),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(4256,2976,1648),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(4256,3232,1136),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(4256,3232,1392),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(4256,3232,1648),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(4256,3488,1136),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(4256,3488,1392),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(4256,3488,1648),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(4256,3744,1136),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(4256,3744,1392),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(4256,3744,1648),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(4256,4000,1136),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(4256,4000,1392),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(4256,4000,1648),(0,0,0)); +} + +//Function Number: 23 +waterlanding_deathtriggertoohigh() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4379,4740,132),(0,326.9,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3685,4735,132),(0,302.3,0)); +} + +//Function Number: 24 +issue_17935() +{ + maps\mp\_utility::spawnpatchclip("patchclip_grapple_16_256_256",(6663,5566.5,335),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_grapple_16_256_256",(6919.5,5566.5,335),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_grapple_16_256_256",(7175.5,5566.5,335),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_grapple_16_256_256",(6663,5566.5,586),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_grapple_16_256_256",(6919.5,5566.5,586),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_grapple_16_256_256",(7175.5,5566.5,586),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(6656.5,5581,337.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(6912.5,5581,337.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(7168.5,5581,337.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(6656.5,5581,593),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(6912.5,5581,593),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(7168.5,5581,593),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(6656.5,5581,849.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(6912.5,5581,849.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(7168.5,5581,849.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(7424.5,5581,337.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(7424.5,5581,593),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(7424.5,5581,849.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(7680.5,5581,337.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(7680.5,5581,593),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(7680.5,5581,849.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(7936.5,5581,337.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(7936.5,5581,593),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(7936.5,5581,849.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(8192.5,5581,337.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(8192.5,5581,593),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(8192.5,5581,849.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(8448.5,5581,337.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(8448.5,5581,593),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(8448.5,5581,849.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(8704.5,5581,337.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(8704.5,5581,593),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(8704.5,5581,849.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(8960.5,5581,337.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(8960.5,5581,593),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(8960.5,5581,849.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(9216.5,5581,337.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(9216.5,5581,593),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(9216.5,5581,849.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(9472.5,5581,337.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(9472.5,5581,593),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(9472.5,5581,849.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(9728.5,5581,337.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(9728.5,5581,593),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(9728.5,5581,849.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(9984.5,5581,337.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(9984.5,5581,593),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(9984.5,5581,849.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(10240.5,5581,337.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(10240.5,5581,593),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(10240.5,5581,849.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(10496.5,5581,337.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(10496.5,5581,593),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(10496.5,5581,849.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(10752.5,5581,337.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(10752.5,5581,593),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(10752.5,5581,849.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(11008.5,5581,337.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(11008.5,5581,593),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(11008.5,5581,849.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(11264.5,5581,337.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(11264.5,5581,593),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(11264.5,5581,849.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(11520.5,5581,337.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(11520.5,5581,593),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(11520.5,5581,849.5),(0,270,0)); +} + +//Function Number: 25 +issue_17999() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(5094.5,4159,878),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4966.5,4159,878),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4838.5,4159,878),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(5094.5,4159,1005.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4966.5,4159,1005.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4838.5,4159,1005.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(5094.5,4159,1133.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4966.5,4159,1133.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4838.5,4159,1133.5),(0,0,0)); +} + +//Function Number: 26 +issue_17896() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(696,3084,604),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(696,3212,604),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(696,3340,604),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(696,3084,732),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(696,3212,732),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(696,3340,732),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(696,3084,860),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(696,3212,860),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(696,3340,860),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(440,3084,604),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(568,3084,604),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(440,3084,732),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(568,3084,732),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(440,3084,860),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(568,3084,860),(0,0,0)); +} + +//Function Number: 27 +issue_18482() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(3863.5,4380.5,804.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(3847.5,4380.5,804.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(3863.5,4380.5,932.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(3847.5,4380.5,932.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(3863.5,4380.5,1060.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(3847.5,4380.5,1060.5),(0,0,0)); +} + +//Function Number: 28 +issue_18855() +{ + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(6661,5586.5,450),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(6661,5602.5,450),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(6661,5618.5,450),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(6917,5586.5,450),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(6917,5602.5,450),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(6917,5618.5,450),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(7173,5586.5,450),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(7173,5602.5,450),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(7173,5618.5,450),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(7429,5586.5,450),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(7429,5602.5,450),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(7429,5618.5,450),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(7685,5586.5,450),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(7685,5602.5,450),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(7685,5618.5,450),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(7941,5586.5,450),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(7941,5602.5,450),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(7941,5618.5,450),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(8197,5586.5,450),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(8197,5602.5,450),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(8197,5618.5,450),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(8453,5586.5,450),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(8453,5602.5,450),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(8453,5618.5,450),(0,270,0)); +} + +//Function Number: 29 +issue_17154() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(4293,3912,1212),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(4293,3912,1340),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(4293,3912,1468),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(4293,3912,1596),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(4293,3912,1724),(0,0,0)); +} + +//Function Number: 30 +issue_18770() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(2025,3845,558),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(2025,3836,558),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(2025,3845,526),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(2025,3836,526),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(2025,3845,494),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(2025,3836,494),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(2057,3845,590),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(2057,3836,590),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(2025,3845,590),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(2025,3836,590),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(1998,3845,590),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(1998,3836,590),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(1998,3845,558),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(1998,3836,558),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(1998,3845,526),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(1998,3836,526),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(1998,3845,494),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(1998,3836,494),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(1998,3836,462),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(1998,3845,462),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(1973.7,3845,587.3),(343.4,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(1973.7,3836,587.3),(343.4,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(1982.9,3845,556.7),(343.4,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(1982.9,3836,556.7),(343.3,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(1992,3845,526),(343.3,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(1992,3836,526),(343.3,0,0)); +} + +//Function Number: 31 +issue_18797() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(2464,4178,327.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(2464,4218,327.5),(0,0,0)); +} + +//Function Number: 32 +issue_18457() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(2168,5236,352),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(2168,5236,480),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(2168,5236,608),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(2168,5236,736),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(2168,5236,864),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(2168,5236,992),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(2168,5236,1120),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(2168,5236,1248),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(2726,5236,352),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(2726,5236,480),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(2726,5236,608),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(2726,5236,736),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(2726,5236,864),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(2726,5236,992),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(2726,5236,1120),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(2726,5236,1248),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(5416,5236,352),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(5416,5236,480),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(5416,5236,608),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(5416,5236,736),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(5416,5236,864),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(5416,5236,992),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(5416,5236,1120),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(5416,5236,1248),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(5976,5236,352),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(5976,5236,480),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(5976,5236,608),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(5976,5236,736),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(5976,5236,864),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(5976,5236,992),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(5976,5236,1120),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(5976,5236,1248),(0,0,0)); +} + +//Function Number: 33 +issue_17696() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(5116,5528,1072),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(5116,5528,816),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(5116,5528,560),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(5116,5528,304),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(5328,5528,1072),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(5328,5528,816),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(5328,5528,560),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(5328,5528,304),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(5584,5528,1072),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(5584,5528,816),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(5584,5528,560),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(5584,5528,304),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(5840,5528,1072),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(5840,5528,816),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(5840,5528,560),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(5840,5528,304),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(6096,5528,1072),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(6096,5528,816),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(6096,5528,560),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(6096,5528,304),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(6228,5448,1072),(0,180,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(6228,5448,816),(0,180,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(6228,5448,560),(0,180,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(6228,5448,304),(0,180,0)); +} + +//Function Number: 34 +issue_18772() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(4844,2518,462),(0,10.9998,0)); +} + +//Function Number: 35 +issue_13645() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(3686,5387,470),(360,270,9.89992)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(3798,5387,480),(0,89.9999,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(4306,5388,480),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(4418,5388,470),(360,89.9999,9.9996)); +} + +//Function Number: 36 +issue_18752() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(976,2496,392),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(976,2496,456),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(976,2496,520),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(976,2496,584),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(976,2496,648),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(976,2496,712),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(976,2496,776),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(976,2496,840),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(976,2496,904),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(976,2496,968),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(976,2496,1032),(0,0,0)); +} + +//Function Number: 37 +issue_13590() +{ + var_00 = spawn("trigger_radius",(5872,2688,556),0,73,50); + var_00.targetname = "out_of_bounds"; + var_01 = spawn("trigger_radius",(5876,3873,556),0,73,50); + var_01.targetname = "out_of_bounds"; +} + +//Function Number: 38 +issue_18628() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3742,2456,990),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3742,2456,1118),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3742,2456,1246),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3788,2816,1036),(0,20,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3788,2816,1164),(0,20,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3788,2816,1292),(0,20,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3788,2816,1420),(0,20,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3788,2816,1548),(0,20,0)); +} + +//Function Number: 39 +issue_18582() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(2704,4432,288),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(2832,4432,288),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(2960,4432,288),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(2704,4304,288),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(2832,4304,288),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(2960,4304,288),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(5392,4432,288),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(5264,4432,288),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(5136,4432,288),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(5136,4304,288),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(5264,4304,288),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(5392,4304,288),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4953.21,4608.72,286.304),(5.86831,282.064,1.25168)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4926.6,4733.23,299.391),(5.86831,282.064,1.25168)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4801.4,4706.77,296.609),(5.86831,282.064,1.25168)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4828.01,4582.25,283.522),(5.86831,282.064,1.25168)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3275.02,4692.6,303.4),(5.86833,258.064,1.25167)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3248.68,4568.05,290.3),(5.86833,258.064,1.25167)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3149.91,4719.41,300.6),(5.86833,258.064,1.25167)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3123.53,4594.76,287.5),(5.86833,258.064,1.25167)); +} + +//Function Number: 40 +issue_16533() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(4464,4296,796),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(4464,4283,827),(0,0,45.9991)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(4464,4237,871),(0,0,45.9991)); + var_00 = maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(3857,4413,692),(0,0,0)); + var_01 = maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(3857,4349,692),(0,0,0)); + var_02 = maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(3857,4285,692),(0,0,0)); + var_03 = maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(3857,4413,756),(0,0,0)); + var_04 = maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(3857,4349,756),(0,0,0)); + var_05 = maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(3857,4285,756),(0,0,0)); + var_00 method_8568(0); + var_00 method_856C(0); + var_01 method_8568(0); + var_01 method_856C(0); + var_02 method_8568(0); + var_02 method_856C(0); + var_03 method_8568(0); + var_03 method_856C(0); + var_04 method_8568(0); + var_04 method_856C(0); + var_05 method_8568(0); + var_05 method_856C(0); +} + +//Function Number: 41 +issue_19907() +{ + var_00 = maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(6040,2720,284),(0,0,0)); + var_00 = maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(6040,2720,156),(0,0,0)); + var_00 = maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(6040,2592,284),(0,0,0)); + var_00 = maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(6040,2592,156),(0,0,0)); + var_00 = maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(5968.14,2513.89,284),(0,290,0)); + var_00 = maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(5968.14,2513.89,156),(0,290,0)); + var_00 = maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(5847.86,2470.11,284),(0,290,0)); + var_00 = maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(5847.86,2470.11,156),(0,290,0)); +} + +//Function Number: 42 +issue_20694() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(2448,4208,328),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(2448,4180,328),(0,0,0)); +} + +//Function Number: 43 +issue_20908() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3648,5960,1512),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3776,5960,1512),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3904,5960,1512),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4032,5960,1512),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4160,5960,1512),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4288,5960,1512),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4416,5960,1512),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4544,5960,1512),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3648,5920,1640),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3776,5920,1640),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3904,5920,1640),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4032,5920,1640),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4160,5920,1640),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4288,5920,1640),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4416,5920,1640),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4544,5920,1640),(0,0,0)); +} + +//Function Number: 44 +issue_20914() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(3844,3804,912),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(3844,3740,912),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(3844,3676,912),(0,0,0)); +} + +//Function Number: 45 +issue_18972() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4261,3024,1139.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4261,3024,1267.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4261,3024,1395.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4261,3024,1523.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4261,3152,1139.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4261,3152,1267.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4261,3152,1395.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4261,3152,1523.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4261,3280,1139.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4261,3280,1267.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4261,3280,1395.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4261,3280,1523.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4261,3408,1139.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4261,3408,1267.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4261,3408,1395.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4261,3408,1523.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4261,3536,1139.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4261,3536,1267.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4261,3536,1395.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(4261,3536,1523.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3761,3536,1031.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3761,3536,1159.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3761,3536,1287.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3761,3536,1415.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3761,3408,1031.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3761,3408,1159.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3761,3408,1287.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3761,3408,1415.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3761,3280,1031.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3761,3280,1159.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3761,3280,1287.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3761,3280,1415.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3761,3152,1031.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3761,3152,1159.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3761,3152,1287.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3761,3152,1415.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3761,3024,1031.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3761,3024,1159.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3761,3024,1287.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(3761,3024,1415.5),(0,0,0)); +} + +//Function Number: 46 +issue_16646() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(976,2496,350),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(976,2496,414),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(976,2496,478),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(976,2496,542),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(976,2496,606),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(976,2496,670),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(976,2496,734),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(976,2496,798),(0,0,0)); +} + +//Function Number: 47 +issue_17170() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(3724,2450,976),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(3724,2450,1040),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(3724,2450,1104),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(3724,2450,1168),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(3724,2450,1232),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(3724,2450,1296),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(3724,2450,1360),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(3724,2450,1424),(0,0,0)); +} + +//Function Number: 48 +issue_22753() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(4688,4232,272),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(4644,4232,272),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(4516,4232,272),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(4388,4232,272),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(4260,4232,272),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(4132,4232,272),(0,270,0)); +} + +//Function Number: 49 +issue_23525() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(6042,2656,224),(0,0,0)); +} + +//Function Number: 50 +issue_23545() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(6042,3898,224),(0,0,0)); +} + +//Function Number: 51 +issue_23548() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1338,3853,224),(0,286.3,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1583.5,3925.5,224),(0,286.3,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1829,3997.5,224),(0,286.3,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(2074.5,4070,224),(0,286.3,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(2320,4142.5,224),(0,286.3,0)); +} + +//Function Number: 52 +issue_23543() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(4749.5,4486.5,522.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(4749.5,4422.5,522.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(4749.5,4358.5,522.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(4749.5,4294.5,522.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(4749.5,4230.5,522.5),(0,0,0)); +} + +//Function Number: 53 +issue_23522() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(4749.5,4230.5,522.5),(0,0,0)); +} + +//Function Number: 54 +issue_23551() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(4576,2130,628),(-10,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(4200,2130,628),(-10,270,0)); +} + +//Function Number: 55 +issue_14030() +{ + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_64_64_64",(4234,4174,1006),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_64_64_64",(4170,4174,1006),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_64_64_64",(4034,4173,1006),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_64_64_64",(3970,4173,1006),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_64_64_64",(3818,4173,1006),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_64_64_64",(3754,4173,1006),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_64_64_64",(3684,4144,1025),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_64_64_64",(3687,4052,1003),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_64_64_64",(3687,3988,1003),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_64_64_64",(3687,3895,1024),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_64_64_64",(3687,3895,1024),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_64_64_64",(3728,3572,992),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_64_64_64",(4229,3376,1104),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_64_64_64",(3728,3378,992),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_64_64_64",(4229,3185,1104),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_64_64_64",(3728,3192,992),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_64_64_64",(4230,2992,1104),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_64_64_64",(3728,2998,992),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_64_64_64",(3758,2805,992),(0,18.4995,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_64_64_64",(3820,2617,992),(0,18.4995,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_64_64_64",(3813,2549,1160),(0,320.1,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_64_64_64",(3816,2356,1160),(0,226.2,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_64_64_64",(4085,2356,1160),(0,320.1,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_64_64_64",(4090,2546,1160),(0,226.2,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_64_64_64",(3819,2618,1004),(0,199.1,0)); +} + +//Function Number: 56 +issue_23543_b() +{ + var_00 = 864; + for(var_01 = 0;var_01 < 4;var_01++) + { + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3888,4332,var_00),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3872,4332,var_00),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3856,4332,var_00),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3840,4332,var_00),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3824,4332,var_00),(0,0,0)); + var_00 = var_00 + 256; + } + + var_00 = 911; + for(var_01 = 0;var_01 < 4;var_01++) + { + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(4469,4163,var_00),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(4453,4163,var_00),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(4437,4163,var_00),(0,0,0)); + var_00 = var_00 + 256; + } + + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(4718.5,4307,420),(11.2,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(4718.5,4381,420),(11.2,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(4718.5,4455,420),(11.2,0,0)); +} + +//Function Number: 57 +issue_23552() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(4111.5,3737,931.5),(350.3,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(4115.5,3697,906),(350.3,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(4111.5,3697,931.5),(350.3,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(4115.5,3737,906),(350.3,0,0)); +} + +//Function Number: 58 +issue_25514() +{ + var_00 = 429; + for(var_01 = 0;var_01 < 20;var_01++) + { + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(4689,4253.5,var_00),(0,270,0)); + var_00 = var_00 + 64; + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_bigben2_aud.gsc b/AW/PC/maps/mp/mp_bigben2_aud.gsc new file mode 100644 index 0000000..7512b9a --- /dev/null +++ b/AW/PC/maps/mp/mp_bigben2_aud.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_bigben2_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:17:00 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_bigben2_fx.gsc b/AW/PC/maps/mp/mp_bigben2_fx.gsc new file mode 100644 index 0000000..9d153f9 --- /dev/null +++ b/AW/PC/maps/mp/mp_bigben2_fx.gsc @@ -0,0 +1,367 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_bigben2_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 25 + * Decompile Time: 370 ms + * Timestamp: 4/22/2024 2:17:01 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["mp_bigb_water_stream_med"] = loadfx("vfx/map/mp_bigben/mp_bigb_water_stream_med"); + level._effect["mp_bigb_falling_water_splash_runner"] = loadfx("vfx/map/mp_bigben/mp_bigb_falling_water_splash_runner"); + level._effect["dirty_foam_flowing"] = loadfx("vfx/map/mp_bigben/dirty_foam_flowing"); + level._effect["mp_bigb_window_glow_03"] = loadfx("vfx/map/mp_bigben/mp_bigb_window_glow_03"); + level._effect["mp_bigb_window_glow_02"] = loadfx("vfx/map/mp_bigben/mp_bigb_window_glow_02"); + level._effect["mp_bigb_rain_splash_200x200_no_distort"] = loadfx("vfx/map/mp_bigben/mp_bigb_rain_splash_200x200_no_distort"); + level._effect["mp_bigb_window_glow"] = loadfx("vfx/map/mp_bigben/mp_bigb_window_glow"); + level._effect["rain_splash_sm_runner_no_ripple"] = loadfx("vfx/rain/rain_splash_sm_runner_no_ripple"); + level._effect["mp_bigb_fire_vista_glow"] = loadfx("vfx/map/mp_bigben/mp_bigb_fire_vista_glow"); + level._effect["mp_bigb_killstreak_curvy_missile"] = loadfx("vfx/map/mp_bigben/mp_bigb_killstreak_curvy_missile"); + level._effect["mp_bigb_rain_splash_line"] = loadfx("vfx/map/mp_bigben/mp_bigb_rain_splash_line"); + level._effect["mp_bigb_firelight"] = loadfx("vfx/map/mp_bigben/mp_bigb_firelight"); + level._effect["mp_bigb_river_fire"] = loadfx("vfx/fire/mp_bigb_river_fire"); + level._effect["mp_bigb_light_mist"] = loadfx("vfx/map/mp_bigben/mp_bigb_light_mist"); + level._effect["electrical_sparks_small_runner"] = loadfx("vfx/explosion/electrical_sparks_small_runner"); + level._effect["jet_flyover"] = loadfx("vfx/unique/jet_flyover"); + level._effect["dust_falling_int_runner"] = loadfx("vfx/dust/dust_falling_int_runner"); + level._effect["mp_bigb_bridge_smoke"] = loadfx("vfx/map/mp_bigben/mp_bigb_bridge_smoke"); + level._effect["bigb_light_vent_steam"] = loadfx("vfx/map/mp_bigben/bigb_light_vent_steam"); + level._effect["mp_bigb_ambient_int_dust"] = loadfx("vfx/map/mp_bigben/mp_bigb_ambient_int_dust"); + level._effect["battlefield_smoke_m_dark"] = loadfx("vfx/smoke/dlc/battlefield_smoke_m_dark"); + level._effect["mp_bigb_deck_wind_runner"] = loadfx("vfx/map/mp_bigben/mp_bigb_deck_wind_runner"); + level._effect["bigb_aa_flash_tracer"] = loadfx("vfx/map/mp_bigben/bigb_aa_flash_tracer"); + level._effect["mp_bigb_searchlights"] = loadfx("vfx/map/mp_bigben/mp_bigb_searchlights"); + level._effect["mp_bigb_building_hit"] = loadfx("vfx/map/mp_bigben/mp_bigb_building_hit"); + level._effect["mp_bigb_boat_explosion"] = loadfx("vfx/map/mp_bigben/mp_bigb_boat_explosion"); + level._effect["mp_bigb_atm_paper_runner"] = loadfx("vfx/map/mp_bigben/mp_bigb_atm_paper_runner"); + level._effect["mp_bigb_water_edge_splash_sml_runner"] = loadfx("vfx/map/mp_bigben/mp_bigb_water_edge_splash_sml_runner"); + level._effect["mp_trash_blowing_runner"] = loadfx("vfx/map/mp_lost/mp_trash_blowing_runner"); + level._effect["mp_bigb_concrete_debris_water_runner"] = loadfx("vfx/map/mp_bigben/mp_bigb_concrete_debris_water_runner"); + level._effect["mp_bigb_building_smoke_debris_runner"] = loadfx("vfx/map/mp_bigben/mp_bigb_building_smoke_debris_runner"); + level._effect["mp_bigb_water_explosion_runner"] = loadfx("vfx/map/mp_bigben/mp_bigb_water_explosion_runner"); + level._effect["steam_pipe_burst_lp_xsml"] = loadfx("vfx/steam/dlc/steam_pipe_burst_lp_xsml"); + level._effect["mp_bigb_falling_leaves_runner"] = loadfx("vfx/map/mp_bigben/mp_bigb_falling_leaves_runner"); + level._effect["mp_bigb_bus_headlight_flicker"] = loadfx("vfx/map/mp_bigben/mp_bigb_bus_headlight_flicker"); + level._effect["mp_bigb_bus_headlight"] = loadfx("vfx/map/mp_bigben/mp_bigb_bus_headlight"); + level._effect["mp_bigb_vista_smk_stack"] = loadfx("vfx/map/mp_bigben/mp_bigb_vista_smk_stack"); + level._effect["mp_bigb_water_mist_deck_lrg_runner"] = loadfx("vfx/map/mp_bigben/mp_bigb_water_mist_deck_lrg_runner"); + level._effect["falling_water_drip_runner_slow"] = loadfx("vfx/water/falling_water_drip_runner_slow"); + level._effect["smoke_pillar_white_01"] = loadfx("vfx/smoke/smoke_pillar_white_01"); + level._effect["water_stream_med"] = loadfx("vfx/rain/water_stream_med"); + level._effect["mp_bigb_falling_water_exterior_short"] = loadfx("vfx/map/mp_bigben/mp_bigb_falling_water_exterior_short"); + level._effect["mp_bigb_water_edge_runoff_sml"] = loadfx("vfx/map/mp_bigben/mp_bigb_water_edge_runoff_sml"); + level._effect["mp_bigb_water_edge_runoff"] = loadfx("vfx/map/mp_bigben/mp_bigb_water_edge_runoff"); + level._effect["mp_bigb_falling_water_exterior"] = loadfx("vfx/map/mp_bigben/mp_bigb_falling_water_exterior"); + level._effect["mp_bigb_rain_splash_sm_50x50_lp"] = loadfx("vfx/map/mp_bigben/mp_bigb_rain_splash_sm_50x50_lp"); + level._effect["rain_splat_on_lens_sml_rnr_night"] = loadfx("vfx/rain/rain_splat_on_lens_sml_rnr_night"); + level._effect["mp_bigb_water_explosion"] = loadfx("vfx/map/mp_bigben/mp_bigb_water_explosion"); + level._effect["mp_bigb_rain_volume_far"] = loadfx("vfx/map/mp_bigben/mp_bigb_rain_volume_far"); + level._effect["mp_bigb_fire_l_blacksmk_nonlit"] = loadfx("vfx/map/mp_bigben/mp_bigb_fire_l_blacksmk_nonlit"); + level._effect["mp_bigb_fire_lp_clocktower_smoke"] = loadfx("vfx/map/mp_bigben/mp_bigb_fire_lp_clocktower_smoke"); + level._effect["smoke_pillar_black_medium_slow"] = loadfx("vfx/smoke/smoke_pillar_black_medium_slow"); + level._effect["mp_bigb_building_explosion_runner"] = loadfx("vfx/map/mp_bigben/mp_bigb_building_explosion_runner"); + level._effect["fire_tiny_area"] = loadfx("vfx/map/mp_blackbox/fire_tiny_area"); + level._effect["fire_falling_runner_point_infrequent"] = loadfx("vfx/fire/fire_falling_runner_point_infrequent"); + level._effect["fire_vista_lp_lrg_blacksmk_thick"] = loadfx("vfx/fire/fire_vista_lp_lrg_blacksmk_thick"); + level._effect["electrical_sparks_runner_slit"] = loadfx("vfx/explosion/electrical_sparks_runner_slit"); + level._effect["fire_lp_m_no_light"] = loadfx("vfx/fire/fire_lp_m_no_light"); + level._effect["fire_lp_s_no_light"] = loadfx("vfx/fire/fire_lp_s_no_light"); + level._effect["mp_bigb_rain_splash_sm_200x200_lp"] = loadfx("vfx/map/mp_bigben/mp_bigb_rain_splash_sm_200x200_lp"); + level._effect["mp_bigb_rain_splash_sm_100x100_lp"] = loadfx("vfx/map/mp_bigben/mp_bigb_rain_splash_sm_100x100_lp"); + level._effect["mp_bigb_rain_volume_close"] = loadfx("vfx/map/mp_bigben/mp_bigb_rain_volume_close"); + level._effect["mp_bigb_water_displacement_patch"] = loadfx("vfx/map/mp_bigben/mp_bigb_water_displacement_patch"); + level._effect["smoketrail_rpg"] = loadfx("vfx/trail/smoketrail_rpg"); + level._effect["smoketrail_missile_thick"] = loadfx("vfx/trail/smoketrail_missile_thick"); + level._effect["mp_bigb_killstreak_rocket_explosion"] = loadfx("vfx/map/mp_bigben/mp_bigb_killstreak_rocket_explosion"); + level._effect["mp_bigb_killstreak_ventsmoke"] = loadfx("vfx/map/mp_bigben/mp_bigb_killstreak_ventsmoke"); + level._effect["mp_bigb_killstreak_rockettrail"] = loadfx("vfx/map/mp_bigben/mp_bigb_killstreak_rockettrail"); + level thread onplayerconnect(); + level thread start_temporary_fx(); + level thread manage_close_explosions(); +} + +//Function Number: 2 +onplayerconnect() +{ + for(;;) + { + level waittill("connected",var_00); + level thread start_persistent_fx(var_00); + } +} + +//Function Number: 3 +start_persistent_fx(param_00) +{ + if(!isdefined(level.skylight_vista_fx_off) && level.skylight_vista_fx_off) + { + level thread rain_splashes(param_00); + level thread vista_smoke(param_00); + level thread water_explosions_far(param_00); + level thread bridge_rubble(param_00); + } + + if(isdefined(level.bridgeexploded) && level.bridgeexploded) + { + level thread bridge_explosion(param_00); + } +} + +//Function Number: 4 +start_temporary_fx() +{ + level thread boat_explosion_bow(); + level thread boat_explosion_stern(); + level thread car_explosion_bridge(); + level thread car_explosion(); + level thread bus_explosion(); + level thread rock_explosion_bridge(); + wait(300); + level.bridgeexploded = 1; + level thread bridge_explosion(); +} + +//Function Number: 5 +manage_close_explosions() +{ + while(!isdefined(level.players)) + { + wait(1); + } + + for(;;) + { + var_00 = randomintrange(8,12); + wait(var_00); + while(isdefined(level.skylight_available) && !level.skylight_available) + { + wait(40); + } + + level thread water_explosions_bow(); + var_00 = randomintrange(8,12); + wait(var_00); + while(isdefined(level.skylight_available) && !level.skylight_available) + { + wait(40); + } + + level thread water_explosions_stern(); + } +} + +//Function Number: 6 +water_explosions_bow() +{ + level thread common_scripts\_exploder::activate_clientside_exploder(4); + wait(1); + level thread water_explosion_earthquake_bow(); + wait(5); + stopclientexploder(4); +} + +//Function Number: 7 +water_explosion_earthquake_bow() +{ + var_00 = 1000; + var_01 = (5345.45,1850.61,145); + earthquake(0.9,1,var_01,var_00); + foreach(var_03 in level.players) + { + if(!isdefined(var_03.team) && var_03.team == "spectator") + { + if(distancesquared(var_03.origin,var_01) < var_00 * var_00) + { + var_03 playrumbleonentity("heavygun_fire"); + } + } + } +} + +//Function Number: 8 +water_explosions_stern() +{ + level thread common_scripts\_exploder::activate_clientside_exploder(3); + wait(1); + level thread water_explosion_earthquake_stern(); + wait(5); + stopclientexploder(3); +} + +//Function Number: 9 +water_explosion_earthquake_stern() +{ + var_00 = 1000; + var_01 = (2889.97,2035.69,147); + earthquake(0.9,1,var_01,var_00); + foreach(var_03 in level.players) + { + if(!isdefined(var_03.team) && var_03.team == "spectator") + { + if(distancesquared(var_03.origin,var_01) < var_00 * var_00) + { + var_03 playrumbleonentity("heavygun_fire"); + } + } + } +} + +//Function Number: 10 +water_explosions_far(param_00) +{ + level thread common_scripts\_exploder::activate_clientside_exploder(5,param_00); +} + +//Function Number: 11 +boat_explosion_bow() +{ + var_00 = randomintrange(30,550); + wait(var_00); + start_fx_exploder(); + level thread common_scripts\_exploder::activate_clientside_exploder(10); + finish_fx_exploder(); +} + +//Function Number: 12 +boat_explosion_stern() +{ + var_00 = randomintrange(30,550); + wait(var_00); + start_fx_exploder(); + level thread common_scripts\_exploder::activate_clientside_exploder(11); + finish_fx_exploder(); +} + +//Function Number: 13 +car_explosion() +{ + var_00 = randomintrange(30,550); + wait(var_00); + start_fx_exploder(); + level thread common_scripts\_exploder::activate_clientside_exploder(21); + finish_fx_exploder(); +} + +//Function Number: 14 +bus_explosion() +{ + var_00 = randomintrange(30,550); + wait(var_00); + start_fx_exploder(); + level thread common_scripts\_exploder::activate_clientside_exploder(22); + finish_fx_exploder(); +} + +//Function Number: 15 +bridge_explosion(param_00) +{ + level thread common_scripts\_exploder::activate_clientside_exploder(23,param_00); + var_01 = getscriptablearray("fiyah","targetname"); + foreach(var_03 in var_01) + { + var_03 setscriptablepartstate(0,1); + } +} + +//Function Number: 16 +car_explosion_bridge() +{ + var_00 = randomintrange(30,550); + wait(var_00); + start_fx_exploder(); + level thread common_scripts\_exploder::activate_clientside_exploder(24); + finish_fx_exploder(); +} + +//Function Number: 17 +rock_explosion_bridge() +{ + var_00 = randomintrange(30,550); + wait(var_00); + start_fx_exploder(); + level thread common_scripts\_exploder::activate_clientside_exploder(25); + finish_fx_exploder(); +} + +//Function Number: 18 +bridge_rubble(param_00) +{ + level thread common_scripts\_exploder::activate_clientside_exploder(31,param_00); +} + +//Function Number: 19 +vista_smoke(param_00) +{ + level thread common_scripts\_exploder::activate_clientside_exploder(32,param_00); +} + +//Function Number: 20 +rain_splashes(param_00) +{ + level thread common_scripts\_exploder::activate_clientside_exploder(33,param_00); +} + +//Function Number: 21 +stop_vista_vfx() +{ + level endon("skylight_start"); + level.skylight_vista_fx_off = 1; + wait(0.1); + level thread killstreak_exhaust_smoke(); + wait(0.1); + stopclientexploder(5); + stopclientexploder(31); + wait(0.1); + stopclientexploder(32); + stopclientexploder(33); + wait(40); + waittillframeend; + foreach(var_01 in level.players) + { + level thread restart_vista_fx(var_01); + } + + level.skylight_vista_fx_off = 0; +} + +//Function Number: 22 +restart_vista_fx(param_00) +{ + level thread rain_splashes(param_00); + wait(0.1); + level thread vista_smoke(param_00); + wait(0.1); + level thread water_explosions_far(param_00); + wait(0.1); + level thread bridge_rubble(param_00); +} + +//Function Number: 23 +killstreak_exhaust_smoke() +{ + level thread common_scripts\_exploder::activate_clientside_exploder(30); + wait(2); + stopclientexploder(30); +} + +//Function Number: 24 +start_fx_exploder() +{ + while(isdefined(level.exploderexploding) && level.exploderexploding) + { + wait(7); + } + + level.exploderexploding = 1; +} + +//Function Number: 25 +finish_fx_exploder() +{ + wait(5); + level.exploderexploding = 0; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_bigben2_lighting.gsc b/AW/PC/maps/mp/mp_bigben2_lighting.gsc new file mode 100644 index 0000000..b1d32c1 --- /dev/null +++ b/AW/PC/maps/mp/mp_bigben2_lighting.gsc @@ -0,0 +1,24 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_bigben2_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 2:17:02 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + set_level_lighting_values(); +} + +//Function Number: 2 +set_level_lighting_values() +{ + if(isusinghdr()) + { + setdvar("r_disablelightsets",0); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_bigben2_precache.gsc b/AW/PC/maps/mp/mp_bigben2_precache.gsc new file mode 100644 index 0000000..e80f681 --- /dev/null +++ b/AW/PC/maps/mp/mp_bigben2_precache.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_bigben2_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 79 ms + * Timestamp: 4/22/2024 2:17:02 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_blackbox.gsc b/AW/PC/maps/mp/mp_blackbox.gsc new file mode 100644 index 0000000..bb7fb98 --- /dev/null +++ b/AW/PC/maps/mp/mp_blackbox.gsc @@ -0,0 +1,310 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_blackbox.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 23 + * Decompile Time: 358 ms + * Timestamp: 4/22/2024 2:17:04 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.callbackstartgametype = ::blackbox_callbackstartgametype; + maps\mp\mp_blackbox_precache::main(); + maps\createart\mp_blackbox_art::main(); + maps\mp\mp_blackbox_fx::main(); + maps\mp\_load::main(); + maps\mp\mp_blackbox_lighting::main(); + maps\mp\mp_blackbox_aud::main(); + maps\mp\_compass::setupminimap("compass_map_mp_blackbox"); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + level.ospvisionset = "mp_blackbox_osp"; + level.osplightset = "mp_blackbox_osp"; + level.dronevisionset = "mp_blackbox_drone"; + level.dronelightset = "mp_blackbox_drone"; + level.warbirdvisionset = "mp_blackbox_warbird"; + level.warbirdlightset = "mp_blackbox_warbird"; + level.mapcustomkillstreakfunc = ::blackboxcustomkillstreakfunc; + level.orbitalsupportoverridefunc = ::blackboxcustomospfunc; + thread blackboxcustomairstrike(); + level.orbitallaseroverridefunc = ::blackboxcustomorbitallaserfunc; + thread surface_light_relocation(); + level thread resetuplinkballoutofbounds(); + level thread patchclip(); +} + +//Function Number: 2 +patchclip() +{ + thread grappleshipclip01(); + thread grappleshipclip02(); + thread grappleshipclip03(); + thread grappleshipclip04(); + thread grappleshipclip05(); + thread spectateshipclip01(); + thread grappleexteriordebris01(); + thread grappleexteriorship01(); + thread grapplerock01(); + thread droneterrainclip(); + thread cockpitgrappleclip(); +} + +//Function Number: 3 +grappleshipclip05() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-581,-1713,1788),(0,250,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-581,-1713,1660),(0,250,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-581,-1713,1532),(0,250,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-581,-1713,1404),(0,250,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-537,-1593,1788),(0,250,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-537,-1593,1660),(0,250,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-537,-1593,1532),(0,250,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-537,-1593,1404),(0,250,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-476,-1752,1788),(0,250,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-476,-1752,1660),(0,250,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-476,-1752,1532),(0,250,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-476,-1752,1404),(0,250,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-433,-1632,1788),(0,250,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-433,-1632,1660),(0,250,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-433,-1632,1532),(0,250,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-433,-1632,1404),(0,250,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-389,-1512,1788),(0,250,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-389,-1512,1660),(0,250,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-389,-1512,1532),(0,250,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-389,-1512,1404),(0,250,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-355,-1673,1818),(0,250,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-355,-1673,1690),(0,250,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-355,-1673,1562),(0,250,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-311,-1553,1818),(0,250,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-311,-1553,1690),(0,250,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-311,-1553,1562),(0,250,0)); +} + +//Function Number: 4 +spectateshipclip01() +{ + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(752,-1012,1432),(89.9999,38.8699,-31.1302)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(692,-1178,1432),(89.9999,38.8699,-31.1302)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_128_128",(586,-1020,1498),(0,69.9994,0)); +} + +//Function Number: 5 +grappleshipclip04() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(646,-452,1420),(0,29.1973,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(646,-452,1676),(0,29.1973,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(646,-452,1932),(0,29.1973,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(672,-444,1932),(0,19.1973,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(672,-444,1676),(0,19.1973,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(672,-444,1420),(0,19.1973,0)); +} + +//Function Number: 6 +grapplerock01() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1022,1918,1237),(0,2.69981,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1034,1663,1237),(0,2.69981,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1034,1663,1493),(0,2.69981,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1022,1918,1493),(0,2.69981,0)); + maps\mp\_utility::spawnpatchclip("patchclip_grapple_16_256_256",(1034,1663,1237),(0,2.69981,0)); +} + +//Function Number: 7 +grappleshipclip01() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(955,34.5,1574),(0,244,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(955,34.5,1830),(0,244,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(955,34.5,2086),(0,244,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(955,34.5,2342),(0,244,0)); +} + +//Function Number: 8 +grappleshipclip02() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-1083.99,-2538.42,1468),(0,157.1,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-1083.99,-2538.42,1596),(0,157.1,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-1083.99,-2538.42,1724),(0,157.1,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-1083.99,-2538.42,1852),(0,157.1,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-1083.99,-2538.42,1980),(0,157.1,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-1083.99,-2538.42,2108),(0,157.1,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-1098.6,-2448.2,1468),(0,207.7,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-1098.6,-2448.2,1596),(0,207.7,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-1098.6,-2448.2,1724),(0,207.7,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-1098.6,-2448.2,1852),(0,207.7,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-1098.6,-2448.2,1980),(0,207.7,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-1098.6,-2448.2,2108),(0,207.7,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1215.06,-2369.69,1532),(0,253.3,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1215.06,-2369.69,1788),(0,253.3,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1215.06,-2369.69,2044),(0,253.3,0)); +} + +//Function Number: 9 +grappleshipclip03() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-170,76,1212),(90,297.479,1.4795)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-282,306,1212),(90,297.479,1.4795)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-334,412,1212),(90,297.479,1.4795)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(398,314,1212),(90,297.479,1.4795)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(286,544,1212),(90,297.479,1.4795)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(228,664,1212),(90,297.479,1.4795)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-158,24,1186),(0,295.999,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-28,26,1186),(0,251.998,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(42,-20,1268),(0,295.999,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(330,200,1186),(0,339.999,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(408,292,1186),(0,295.999,0)); +} + +//Function Number: 10 +grappleexteriordebris01() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1436,-2710,1612),(0,295.999,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1436,-2710,1868),(0,295.999,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1436,-2710,2124),(0,295.999,0)); + maps\mp\_utility::spawnpatchclip("patchclip_grapple_16_256_256",(1430,-2710,1612),(0,295.999,0)); +} + +//Function Number: 11 +grappleexteriorship01() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-514,486,1760),(0,295.999,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-514,486,1504),(0,295.999,0)); +} + +//Function Number: 12 +droneterrainclip() +{ + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(1320.71,-3140.18,1344),(270,184.081,67.9193)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(1399.82,-2896.71,1344),(270,184.081,67.9193)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(1643.29,-2975.82,1344),(270,184.081,67.9193)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(1564.18,-3219.29,1344),(270,184.081,67.9193)); +} + +//Function Number: 13 +cockpitgrappleclip() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-252,2332,854),(296.672,48.4086,-64.9689)); +} + +//Function Number: 14 +resetuplinkballoutofbounds() +{ + level endon("game_ended"); + if(level.gametype == "ball") + { + while(!isdefined(level.balls)) + { + wait(0.05); + } + + foreach(var_01 in level.balls) + { + var_01 thread watchcarryobjects(); + } + } +} + +//Function Number: 15 +watchcarryobjects() +{ + level endon("game_ended"); + for(;;) + { + self waittill("dropped"); + wait(0.1); + thread monitorballstate(); + var_00 = common_scripts\utility::waittill_any_return("pickup_object","reset"); + } +} + +//Function Number: 16 +monitorballstate() +{ + self endon("pickup_object"); + self endon("reset"); + for(;;) + { + if(isoutofbounds()) + { + thread maps\mp\gametypes\_gameobjects::returnhome(); + return; + } + + wait(0.05); + } +} + +//Function Number: 17 +isoutofbounds() +{ + var_00 = getentarray("object_out_of_bounds","targetname"); + for(var_01 = 0;var_01 < var_00.size;var_01++) + { + if(!self.visuals[0] istouching(var_00[var_01])) + { + continue; + } + + return 1; + } + + return 0; +} + +//Function Number: 18 +blackbox_callbackstartgametype() +{ + maps\mp\gametypes\_gamelogic::callback_startgametype(); + common_scripts\_bcs_location_trigs_dlc::bcs_location_trigs_dlc_init(); +} + +//Function Number: 19 +blackboxcustomkillstreakfunc() +{ + level.killstreakweildweapons["iw5_dlcgun12loot4_mp"] = 1; + level thread maps\mp\killstreaks\streak_mp_blackbox::streak_init(); +} + +//Function Number: 20 +surface_light_relocation() +{ + var_00 = getentarray("alien_green_surface_lights","targetname"); + foreach(var_02 in var_00) + { + var_02 hide(); + } +} + +//Function Number: 21 +blackboxcustomospfunc() +{ + level.orbitalsupportoverrides.spawnanglemin = 10; + level.orbitalsupportoverrides.spawnanglemax = 70; + level.orbitalsupportoverrides.spawnheight = 9000; + if(level.currentgen) + { + level.orbitalsupportoverrides.leftarc = 20; + level.orbitalsupportoverrides.rightarc = 20; + level.orbitalsupportoverrides.toparc = -30; + level.orbitalsupportoverrides.bottomarc = 60; + } +} + +//Function Number: 22 +blackboxcustomairstrike() +{ + if(!isdefined(level.airstrikeoverrides)) + { + level.airstrikeoverrides = spawnstruct(); + } + + level.airstrikeoverrides.spawnheight = 6000; +} + +//Function Number: 23 +blackboxcustomorbitallaserfunc() +{ + level.orbitallaseroverrides.spawnheight = 3500; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_blackbox_aud.gsc b/AW/PC/maps/mp/mp_blackbox_aud.gsc new file mode 100644 index 0000000..c1e1e14 --- /dev/null +++ b/AW/PC/maps/mp/mp_blackbox_aud.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_blackbox_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 29 ms + * Timestamp: 4/22/2024 2:17:04 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_blackbox_fx.gsc b/AW/PC/maps/mp/mp_blackbox_fx.gsc new file mode 100644 index 0000000..88109ac --- /dev/null +++ b/AW/PC/maps/mp/mp_blackbox_fx.gsc @@ -0,0 +1,50 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_blackbox_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:17:05 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["electrical_sparks_runner_slit"] = loadfx("vfx/explosion/electrical_sparks_runner_slit"); + level._effect["battlefield_smoke_windy_m"] = loadfx("vfx/smoke/battlefield_smoke_windy_m"); + level._effect["smoldering_smk_direction_fast_m_shadow"] = loadfx("vfx/smoke/smoldering_smk_direction_fast_m_shadow"); + level._effect["smoldering_smk_direction_fast_s"] = loadfx("vfx/smoke/smoldering_smk_direction_fast_s"); + level._effect["smk_stacks_lp_sml_a"] = loadfx("vfx/smoke/smk_stacks_lp_sml_a"); + level._effect["fire_crawl_interior_wall_small"] = loadfx("vfx/fire/fire_crawl_interior_wall_small"); + level._effect["bla_falling_debris"] = loadfx("vfx/map/mp_blackbox/bla_falling_debris"); + level._effect["fire_pipe_leak_sml_runner"] = loadfx("vfx/fire/fire_pipe_leak_sml_runner"); + level._effect["fire_lp_xs_no_light"] = loadfx("vfx/fire/fire_lp_xs_no_light"); + level._effect["fire_lp_s_no_light"] = loadfx("vfx/fire/fire_lp_s_no_light"); + level._effect["seo_dust_ambient_interior"] = loadfx("vfx/map/seoul/seo_dust_ambient_interior"); + level._effect["fire_lp_m_no_light"] = loadfx("vfx/fire/fire_lp_m_no_light"); + level._effect["bla_falling_gu_runner"] = loadfx("vfx/map/mp_blackbox/bla_falling_gu_runner"); + level._effect["fire_lp_smk_s"] = loadfx("vfx/fire/fire_lp_smk_s"); + level._effect["bla_goo_pollen_smk"] = loadfx("vfx/map/mp_blackbox/bla_goo_pollen_smk"); + level._effect["fire_falling_runner_point_infrequent"] = loadfx("vfx/fire/fire_falling_runner_point_infrequent"); + level._effect["smoke_grey_column_spot_directional_med"] = loadfx("vfx/smoke/smoke_grey_column_spot_directional_med"); + level._effect["smoke_grey_column_spot_directional_lg"] = loadfx("vfx/smoke/smoke_grey_column_spot_directional_lg"); + level._effect["fire_ceiling_edge_med"] = loadfx("vfx/fire/dlc/fire_ceiling_edge_med"); + level._effect["fire_wrap_post_sml"] = loadfx("vfx/fire/fire_wrap_post_sml"); + level._effect["fire_wrap_post_med"] = loadfx("vfx/fire/fire_wrap_post_med"); + level._effect["fire_wrap_post_lrg"] = loadfx("vfx/fire/fire_wrap_post_lrg"); + level._effect["fire_tiny_area"] = loadfx("vfx/map/mp_blackbox/fire_tiny_area"); + level._effect["smoke_plume"] = loadfx("vfx/map/mp_blackbox/smoke_plume"); + level._effect["steam_xs_vent_slow"] = loadfx("vfx/steam/steam_xs_vent_slow"); + level._effect["ash_ember_cloud_freq_lrg_loop"] = loadfx("vfx/ash/ash_ember_cloud_freq_lrg_loop"); + level._effect["embers_burst_lrg_constant"] = loadfx("vfx/fire/embers_burst_lrg_constant"); + level._effect["fire_campfire_small"] = loadfx("vfx/fire/dlc/fire_campfire_small"); + level._effect["grass_blowing_wind_01"] = loadfx("vfx/foliage/grass_blowing_wind_01"); + level._effect["bird_vulture_circle_runner_less"] = loadfx("vfx/animal/bird_vulture_circle_runner_less"); + level._effect["fire_vista_lp_lrg_blacksmk_thick"] = loadfx("vfx/fire/fire_vista_lp_lrg_blacksmk_thick"); + level._effect["fx_sunflare_blackbox"] = loadfx("vfx/lensflare/fx_sunflare_blackbox"); + level._effect["bla_godray_hazy_lrg"] = loadfx("vfx/map/mp_blackbox/bla_godray_hazy_lrg"); + level._effect["bla_godray_hazy_sml"] = loadfx("vfx/map/mp_blackbox/bla_godray_hazy_sml"); + level._effect["bla_floodlight_flare_01"] = loadfx("vfx/map/mp_blackbox/bla_floodlight_flare_01"); + level._effect["bla_floodlight_flare_orange_sq"] = loadfx("vfx/map/mp_blackbox/bla_floodlight_flare_orange_sq"); +} \ No newline at end of file diff --git a/AW/PC/SP/animscripts/civilian/civilian_grenade_response.gsc b/AW/PC/maps/mp/mp_blackbox_lighting.gsc similarity index 64% rename from AW/PC/SP/animscripts/civilian/civilian_grenade_response.gsc rename to AW/PC/maps/mp/mp_blackbox_lighting.gsc index a987bc2..e19ad11 100644 --- a/AW/PC/SP/animscripts/civilian/civilian_grenade_response.gsc +++ b/AW/PC/maps/mp/mp_blackbox_lighting.gsc @@ -1,15 +1,16 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\civilian\civilian_grenade_response.gsc + * Decompiled File: mp\mp_blackbox_lighting.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:52:57 AM + * Timestamp: 4/22/2024 2:17:05 AM *******************************************************************/ //Function Number: 1 main() { - animscripts\civilian::cover(); + setdvar("r_lightGridEnableTweaks",1); + setdvar("r_lightGridIntensity",1.5); } \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_blackbox_precache.gsc b/AW/PC/maps/mp/mp_blackbox_precache.gsc new file mode 100644 index 0000000..8fe5a6d --- /dev/null +++ b/AW/PC/maps/mp/mp_blackbox_precache.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_blackbox_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:17:06 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_climate_3.gsc b/AW/PC/maps/mp/mp_climate_3.gsc new file mode 100644 index 0000000..5a56050 --- /dev/null +++ b/AW/PC/maps/mp/mp_climate_3.gsc @@ -0,0 +1,1081 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_climate_3.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 51 + * Decompile Time: 777 ms + * Timestamp: 4/22/2024 2:17:08 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.callbackstartgametype = ::climate_callbackstartgametype; + maps\mp\mp_climate_3_precache::main(); + maps\createart\mp_climate_3_art::main(); + maps\mp\mp_climate_3_fx::main(); + maps\mp\_load::main(); + maps\mp\mp_climate_3_lighting::main(); + maps\mp\mp_climate_3_aud::main(); + precacherumble("tank_rumble"); + precacherumble("heavygun_fire"); + precacherumble("smg_fire"); + precacheshellshock("mp_climate_acid"); + if(level.nextgen) + { + precachempanim("cli_elevator_tower02_car01"); + precachempanim("cli_elevator_tower02_car02"); + precachempanim("cli_elevator_tower02_car03"); + precachempanim("cli_elevator_tower02_car04"); + precachempanim("cli_elevator_tower03_car01"); + precachempanim("cli_elevator_tower03_car02"); + precachempanim("cli_elevator_tower03_car03"); + precachempanim("cli_elevator_tower03_car04"); + precachempanim("cli_elevator_tower04_car01"); + precachempanim("cli_elevator_tower04_car02"); + precachempanim("cli_elevator_tower04_car03"); + precachempanim("cli_elevator_tower04_car04"); + precachempanim("cli_elevator_tower05_car01"); + precachempanim("cli_elevator_tower05_car02"); + precachempanim("cli_elevator_tower05_car03"); + precachempanim("cli_elevator_tower05_car04"); + } + + level.bots_ignore_water = 1; + maps\mp\_water::setshallowwaterweapon("iw5_combatknife_mp"); + maps\mp\_water::setdeepwaterweapon("iw5_combatknife_mp"); + maps\mp\_water::init(); + setdvar("scr_ball_water_drop_delay",20); + maps\mp\_compass::setupminimap("compass_map_mp_climate_3"); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + level.watermovescale = 0.8; + if(level.nextgen) + { + thread setupelevatoranims(); + } + + level dynamicevent_init(); + level thread maps\mp\_dynamic_events::dynamicevent(::startdynamicevent,undefined,::enddynamicevent); + level.orbitalsupportoverridefunc = ::climatepaladinoverrides; + level.ospvisionset = "mp_climate_3_osp"; + level.osplightset = "mp_climate_3_osp"; + level.warbirdvisionset = "mp_climate_3_osp"; + level.warbirdlightset = "mp_climate_3_osp"; + level.vulcanvisionset = "mp_climate_3_osp"; + level.vulcanlightset = "mp_climate_3_osp"; + spawnsetup(); + level thread onplayerconnect(); + if(!isdefined(level.wateristoxic) && level.wateristoxic) + { + thread preparetoxicwater(); + } + + var_00 = getent("waterfall_model_small","targetname"); + var_01 = getent("waterfall_model_large","targetname"); + if(isdefined(var_01)) + { + var_01 notsolid(); + } + + if(isdefined(var_00)) + { + var_00 notsolid(); + } + + thread trigger_fixes(); + thread clip_fixes(); +} + +//Function Number: 2 +trigger_fixes() +{ + var_00 = 1024; + var_01 = getentarray("ball_out_of_bounds_triggers","targetname"); + foreach(var_03 in var_01) + { + if(distancesquared(var_03.origin,(-216,-372,20)) <= var_00) + { + var_03.origin = var_03.origin - (0,0,5000); + } + } +} + +//Function Number: 3 +clip_fixes() +{ + thread greenhouseroofclip01(); + thread greenhouseroofclip02(); + thread greenhouseroofclip03(); + thread canyonrockclip01(); + thread eagleheadclip01(); + thread archrockclip01(); + thread archrockclip02(); + thread lionheadrockclip01(); + thread waterfallrockclip01(); + thread climatronclip01(); + thread grapplenorthernbridge(); + thread swcanopygrappleoutbounds(); + thread sewerclip01(); + thread sewerclip02(); +} + +//Function Number: 4 +sewerclip01() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(594,-200,104),(270,90,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(604,-136,104),(270,90,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(608,-72,104),(270,90,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(568,-72,80),(0,180,-180)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(568,-72,16),(0,180,-180)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(608,-32,16),(0,270,-180)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(608,-32,80),(0,270,-180)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(608,-70,91),(60,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(608,-45,69),(30,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(604.5,-157,104),(270,0,85.6)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(594.5,-217,104),(270,360,76.2)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(573.5,-266.5,104),(270,0,60)); +} + +//Function Number: 5 +sewerclip02() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-56,568,104),(270,270,-90)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-120,568,104),(270,270,-90)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-184,568,104),(270,270,-90)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-248,568,104),(270,270,-90)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-251,560,91),(60,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-276,560,69),(30,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-289,560,16),(0,0,180)); +} + +//Function Number: 6 +swcanopygrappleoutbounds() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-703,1321,785),(0,44.8996,-15.4004)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-877,1496,717),(0,44.8996,-15.4004)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1051,1671,647),(0,44.8996,-15.4004)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-691,1332,785),(0,44.8996,-15.4004)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-866,1508,717),(0,44.8996,-15.4004)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1040,1683,647),(0,44.8996,-15.4004)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-680,1344,785),(0,44.8996,-15.4004)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-854,1519,717),(0,44.8996,-15.4004)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1028,1694,647),(0,44.8996,-15.4004)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-668,1355,785),(0,44.8996,-15.4004)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-842,1530,717),(0,44.8996,-15.4004)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1016,1705,647),(0,44.8996,-15.4004)); +} + +//Function Number: 7 +greenhouseroofclip01() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(998,461,913),(0,27.0962,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(998,461,1169),(0,27.0962,0)); +} + +//Function Number: 8 +greenhouseroofclip02() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1018.5,0,879.8),(0,27.8994,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1018.5,0,1135.8),(0,27.8994,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1166,-203,879.8),(0,44.0983,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1166,-203,1135.8),(0,44.0983,0)); + var_00 = 814; + for(var_01 = 0;var_01 < 4;var_01++) + { + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(1308,-243.5,var_00),(0,42.1972,0)); + var_00 = var_00 + 128; + } +} + +//Function Number: 9 +greenhouseroofclip03() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1013.5,1638,786),(0,24.8,-32.6)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-925,1444.5,925),(0,24.8,-32.6)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-793,1233,883.5),(0,36.9,30.7)); +} + +//Function Number: 10 +canyonrockclip01() +{ + var_00 = -102; + for(var_01 = 0;var_01 < 12;var_01++) + { + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(1455.5,-27,var_00),(0,305.4,0)); + var_00 = var_00 + 128; + } +} + +//Function Number: 11 +eagleheadclip01() +{ + var_00 = 432; + for(var_01 = 0;var_01 < 6;var_01++) + { + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1476,364.5,var_00),(0,64.1,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1483,350,var_00),(0,64.1,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1469,379,var_00),(0,64.1,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1490,335.5,var_00),(0,64.1,0)); + var_00 = var_00 + 256; + } +} + +//Function Number: 12 +archrockclip01() +{ + var_00 = 455; + for(var_01 = 0;var_01 < 12;var_01++) + { + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-767,341.5,var_00),(0,24.8989,0)); + var_00 = var_00 + 128; + } + + var_00 = 300; + for(var_01 = 0;var_01 < 7;var_01++) + { + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-786,290.5,var_00),(0,355.4,0)); + var_00 = var_00 + 256; + } +} + +//Function Number: 13 +archrockclip02() +{ + var_00 = 354; + for(var_01 = 0;var_01 < 3;var_01++) + { + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_128_128_128",(-904,-12,var_00),(0,0,0)); + var_00 = var_00 + 128; + } +} + +//Function Number: 14 +lionheadrockclip01() +{ + var_00 = 640; + for(var_01 = 0;var_01 < 7;var_01++) + { + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(504,704,var_00),(0,315,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(552,648,var_00),(0,315,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(483,635,var_00),(0,270,0)); + var_00 = var_00 + 128; + } +} + +//Function Number: 15 +waterfallrockclip01() +{ + var_00 = 64; + for(var_01 = 0;var_01 < 4;var_01++) + { + maps\mp\_utility::spawnpatchclip("patchclip_item_16_128_128",(-1408,-1304,var_00),(0,0,0)); + var_00 = var_00 + 128; + } + + maps\mp\_utility::spawnpatchclip("patchclip_item_16_128_128",(-1480,-1284.5,512),(270,0,0)); +} + +//Function Number: 16 +climatronclip01() +{ + var_00 = 1176; + for(var_01 = 0;var_01 < 8;var_01++) + { + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-476.7,-800.5,var_00),(0,1.7,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-728.2,-1131.6,var_00),(0,293.5,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-847.75,-1159.5,var_00),(0,271.1,0)); + var_00 = var_00 + 128; + } + + var_00 = 1240; + for(var_01 = 0;var_01 < 4;var_01++) + { + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-534.14,-945.92,var_00),(0,329.3,0)); + var_00 = var_00 + 256; + } +} + +//Function Number: 17 +grapplenorthernbridge() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1328,518,751),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1328,518,1007),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1328,518,1263),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1138,518,751),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1138,518,1007),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1138,518,1263),(0,270,0)); +} + +//Function Number: 18 +climate_callbackstartgametype() +{ + maps\mp\gametypes\_gamelogic::callback_startgametype(); + common_scripts\_bcs_location_trigs_dlc::bcs_location_trigs_dlc_init(); +} + +//Function Number: 19 +preparetoxicwater() +{ + var_00 = getentarray("water_bad","targetname"); + var_01 = getent("waterfall_01_bad","targetname"); + linkallbadwater(var_00,var_01); + moveallbadwater((0,0,-12000)); +} + +//Function Number: 20 +linkallbadwater(param_00,param_01) +{ + level.water_bad_link = param_00[0]; + for(var_02 = 1;var_02 < param_00.size;var_02++) + { + var_03 = param_00[var_02].origin - level.water_bad_link.origin; + var_04 = param_00[var_02].angles - level.water_bad_link.angles; + param_00[var_02] linkto(level.water_bad_link,"",var_03,var_04); + } + + var_03 = param_01.origin - level.water_bad_link.origin; + var_04 = param_01.angles - level.water_bad_link.angles; + param_01 linkto(level.water_bad_link,"",var_03,var_04); +} + +//Function Number: 21 +moveallbadwater(param_00) +{ + level.water_bad_link.origin = level.water_bad_link.origin + param_00; +} + +//Function Number: 22 +setupelevatoranims() +{ + var_00 = common_scripts\utility::getstructarray("tower_2_anim_node_01","targetname"); + var_01 = common_scripts\utility::getstructarray("tower_2_anim_node_02","targetname"); + var_02 = common_scripts\utility::getstructarray("tower_2_anim_node_03","targetname"); + var_03 = common_scripts\utility::getstructarray("tower_2_anim_node_04","targetname"); + var_04 = common_scripts\utility::getstructarray("tower_3_anim_node_01","targetname"); + var_05 = common_scripts\utility::getstructarray("tower_3_anim_node_02","targetname"); + var_06 = common_scripts\utility::getstructarray("tower_3_anim_node_03","targetname"); + var_07 = common_scripts\utility::getstructarray("tower_3_anim_node_04","targetname"); + var_08 = common_scripts\utility::getstructarray("tower_4_anim_node_01","targetname"); + var_09 = common_scripts\utility::getstructarray("tower_4_anim_node_02","targetname"); + var_0A = common_scripts\utility::getstructarray("tower_4_anim_node_03","targetname"); + var_0B = common_scripts\utility::getstructarray("tower_4_anim_node_04","targetname"); + var_0C = common_scripts\utility::getstructarray("tower_5_anim_node_01","targetname"); + var_0D = common_scripts\utility::getstructarray("tower_5_anim_node_02","targetname"); + var_0E = common_scripts\utility::getstructarray("tower_5_anim_node_03","targetname"); + var_0F = common_scripts\utility::getstructarray("tower_5_anim_node_04","targetname"); + foreach(var_11 in var_00) + { + var_12 = spawn("script_model",var_11.origin); + var_12 setmodel("cli_vista_tower_elevator_02"); + var_12.angles = var_11.angles; + thread startelevatoranims(var_12,"tower02","car01",5.56); + wait 0.05; + } + + foreach(var_11 in var_01) + { + var_15 = spawn("script_model",var_11.origin); + var_15 setmodel("cli_vista_tower_elevator_02"); + var_15.angles = var_11.angles; + thread startelevatoranims(var_15,"tower02","car02",16.73); + wait 0.05; + } + + foreach(var_11 in var_02) + { + var_18 = spawn("script_model",var_11.origin); + var_18 setmodel("cli_vista_tower_elevator_02"); + var_18.angles = var_11.angles; + thread startelevatoranims(var_18,"tower02","car03",12.23); + wait 0.05; + } + + foreach(var_11 in var_03) + { + var_1B = spawn("script_model",var_11.origin); + var_1B setmodel("cli_vista_tower_elevator_02"); + var_1B.angles = var_11.angles; + thread startelevatoranims(var_1B,"tower02","car04",0); + wait 0.05; + } + + foreach(var_11 in var_04) + { + var_12 = spawn("script_model",var_11.origin); + var_12 setmodel("cli_vista_tower_elevator_02"); + var_12.angles = var_11.angles; + thread startelevatoranims(var_12,"tower03","car01",5.56); + wait 0.05; + } + + foreach(var_11 in var_05) + { + var_15 = spawn("script_model",var_11.origin); + var_15 setmodel("cli_vista_tower_elevator_02"); + var_15.angles = var_11.angles; + thread startelevatoranims(var_15,"tower03","car02",16.73); + wait 0.05; + } + + foreach(var_11 in var_06) + { + var_18 = spawn("script_model",var_11.origin); + var_18 setmodel("cli_vista_tower_elevator_02"); + var_18.angles = var_11.angles; + thread startelevatoranims(var_18,"tower03","car03",12.23); + wait 0.05; + } + + foreach(var_11 in var_07) + { + var_1B = spawn("script_model",var_11.origin); + var_1B setmodel("cli_vista_tower_elevator_02"); + var_1B.angles = var_11.angles; + thread startelevatoranims(var_1B,"tower03","car04",0); + wait 0.05; + } + + foreach(var_11 in var_08) + { + var_12 = spawn("script_model",var_11.origin); + var_12 setmodel("cli_vista_tower_elevator_02"); + var_12.angles = var_11.angles; + thread startelevatoranims(var_12,"tower04","car01",5.56); + wait 0.05; + } + + foreach(var_11 in var_09) + { + var_15 = spawn("script_model",var_11.origin); + var_15 setmodel("cli_vista_tower_elevator_02"); + var_15.angles = var_11.angles; + thread startelevatoranims(var_15,"tower04","car02",16.73); + wait 0.05; + } + + foreach(var_11 in var_0A) + { + var_18 = spawn("script_model",var_11.origin); + var_18 setmodel("cli_vista_tower_elevator_02"); + var_18.angles = var_11.angles; + thread startelevatoranims(var_18,"tower04","car03",12.23); + wait 0.05; + } + + foreach(var_11 in var_0B) + { + var_1B = spawn("script_model",var_11.origin); + var_1B setmodel("cli_vista_tower_elevator_02"); + var_1B.angles = var_11.angles; + thread startelevatoranims(var_1B,"tower04","car04",0); + wait 0.05; + } + + foreach(var_11 in var_0C) + { + var_12 = spawn("script_model",var_11.origin); + var_12 setmodel("cli_vista_tower_elevator_02"); + var_12.angles = var_11.angles; + thread startelevatoranims(var_12,"tower05","car01",5.56); + wait 0.05; + } + + foreach(var_11 in var_0D) + { + var_15 = spawn("script_model",var_11.origin); + var_15 setmodel("cli_vista_tower_elevator_02"); + var_15.angles = var_11.angles; + thread startelevatoranims(var_15,"tower05","car02",16.73); + wait 0.05; + } + + foreach(var_11 in var_0E) + { + var_18 = spawn("script_model",var_11.origin); + var_18 setmodel("cli_vista_tower_elevator_02"); + var_18.angles = var_11.angles; + thread startelevatoranims(var_18,"tower05","car03",12.23); + wait 0.05; + } + + foreach(var_11 in var_0F) + { + var_1B = spawn("script_model",var_11.origin); + var_1B setmodel("cli_vista_tower_elevator_02"); + var_1B.angles = var_11.angles; + thread startelevatoranims(var_1B,"tower05","car04",0); + wait 0.05; + } +} + +//Function Number: 23 +startelevatoranims(param_00,param_01,param_02,param_03) +{ + wait(param_03); + param_00 scriptmodelplayanim("cli_elevator_" + param_01 + "_" + param_02); +} + +//Function Number: 24 +dynamicevent_init() +{ + level endon("game_ended"); + maps\mp\_dynamic_events::setdynamiceventstartpercent(0.5); + setdvar("scr_dynamic_event_start_perc",level.dynamicevent["start_percent"]); + var_00 = getent("toxic_water_trigger","targetname"); + var_00 common_scripts\utility::trigger_off(); + var_01 = getentarray("out_of_bounds","targetname"); + var_02 = "nil"; + foreach(var_04 in var_01) + { + if(var_04.script_noteworthy == "toxic_water_objective_trigger") + { + var_02 = var_04; + } + } + + if(isdefined(var_02)) + { + var_02 common_scripts\utility::trigger_off(); + } + + level.cancelbadwaterspawns = 0; + level.wateristoxic = 0; + level.ventishot = 0; + level.toxiceventstarted = 0; + level.toxiceventcomplete = 0; + level.toxicquake = common_scripts\utility::getstruct("toxic_quake","targetname"); +} + +//Function Number: 25 +startdynamicevent() +{ + level endon("game_ended"); + level.toxiceventstarted = 1; + var_00 = spawn("script_origin",(0,0,0)); + var_00 playsound("climate_event_warn"); + level.cancelbadwaterspawns = 1; + wait(4.9); + thread starttoxicquake(0.3,1); + wait(0.1); + level.toxicstage1finished = 1; + thread disconnectnodesslowly(); + aud_event_explosion_warning(); + aud_event_explosion(1); + thread maps\mp\mp_climate_3_fx::top_vent_damage_fx(); + wait(0.1); + level.toxicstage2finished = 1; + if(level.nextgen) + { + thread maps\mp\mp_climate_3_fx::clear_water_transition_fx(); + thread maps\mp\mp_climate_3_fx::clear_water_transition_looping_fx(); + } + + thread maps\mp\mp_climate_3_fx::electrical_arcs_fx(); + thread maps\mp\mp_climate_3_fx::electrical_arc_coils_fx(); + wait(0.1); + level.toxicstage3finished = 1; + thread maps\mp\mp_climate_3_fx::toxic_vent_steam_fx(); + thread maps\mp\mp_climate_3_fx::small_toxic_vent_steam_fx(); + thread maps\mp\mp_climate_3_fx::machine_toxic_window_fx(); + wait(0.7); + thread starttoxicquake(0.3,1); + wait(0.1); + level.toxicstage4finished = 1; + thread maps\mp\mp_climate_3_fx::vent_metal_shards_fx(); + thread maps\mp\mp_climate_3_fx::vent_firecrawl_fx(); + foreach(var_02 in level.players) + { + var_02 thread dyneventflash(); + } + + thread aud_event_explosion(2); + wait(0.1); + thread setuptoxicwater(1); + wait(0.85); + level.toxicstage5finished = 1; + thread maps\mp\mp_climate_3_fx::machine_toxic_pipes_fx(); + wait(1.25); + thread starttoxicquake(0.6,2); + wait(0.1); + thread aud_toxic_water_boil_activate(); + var_04 = getent("machine_vent_pristine","targetname"); + var_04 setmodel("cli_climate_control_machine_vent_dstry2"); + aud_event_explosion(3); + level.ventishot = 1; + if(isdefined(level.players)) + { + foreach(var_02 in level.players) + { + var_02 thread check_vent_damage(); + } + } + + if(level.nextgen) + { + thread maps\mp\mp_climate_3_fx::water_transition_fx(); + } + + wait(0.1); + level.toxicstage6finished = 1; + thread maps\mp\mp_climate_3_fx::dead_fish_fx(); + if(level.nextgen) + { + thread maps\mp\mp_climate_3_fx::toxic_waterfall_start(); + } + + wait(1.9); + level.toxicstage7finished = 1; + thread maps\mp\mp_climate_3_fx::vent_smoke_damage_fx(); + wait(1); + wait(1); + wait(1); + wait(1); + var_00 playsound("climate_event_finished"); + wait(1); + wait(1); + wait(0.3); + thread maps\mp\mp_climate_3_fx::less_freq_electrical_sparks_fx(); + thread maps\mp\mp_climate_3_fx::water_surface_steam_fx(); + level.toxiceventcomplete = 1; +} + +//Function Number: 26 +check_vent_damage() +{ + level endon("game_ended"); + self endon("disconnect"); + var_00 = getent("hot_vent","targetname"); + for(;;) + { + if(self istouching(var_00)) + { + while(isalive(self) && self istouching(var_00)) + { + self dodamage(5,self.origin,undefined,undefined,"MOD_TRIGGER_HURT","none","none"); + wait(0.1); + maps\mp\gametypes\_hostmigration::waittillhostmigrationdone(); + } + } + + wait 0.05; + } +} + +//Function Number: 27 +enddynamicevent() +{ + var_00 = getent("machine_vent_pristine","targetname"); + var_00 setmodel("cli_climate_control_machine_vent_dstry2"); + level.toxiceventcomplete = 1; + level.cancelbadwaterspawns = 1; + thread disconnectnodesslowly(); + thread setuptoxicwater(0); +} + +//Function Number: 28 +setuptoxicwater(param_00) +{ + level endon("game_ended"); + self endon("death"); + self endon("disconnect"); + level.wateristoxic = 1; + var_01 = getent("toxic_water_trigger","targetname"); + var_01 common_scripts\utility::trigger_on(); + var_02 = getentarray("out_of_bounds","targetname"); + var_03 = "nil"; + foreach(var_05 in var_02) + { + if(var_05.script_noteworthy == "toxic_water_objective_trigger") + { + var_03 = var_05; + } + } + + if(isdefined(var_03)) + { + var_03 common_scripts\utility::trigger_on(); + var_03 childthread handle_ball_water_return(); + } + + var_07 = getentarray("water_good","targetname"); + foreach(var_09 in var_07) + { + var_09 delete(); + } + + if(param_00) + { + moveallbadwater((0,0,12000)); + } + + if(isdefined(level.players)) + { + foreach(var_0C in level.players) + { + var_0C thread handle_toxic_water_damage(); + } + } + + thread setupsupportdropvolumes(var_01); +} + +//Function Number: 29 +disconnectnodesslowly() +{ + var_00 = getnodearray("water_node","targetname"); + for(var_01 = 0;var_01 < var_00.size;var_01++) + { + var_00[var_01] disconnectnode(); + if(var_01 % 50 == 0) + { + wait 0.05; + } + } + + wait 0.05; + var_02 = getnodearray("water_node","script_noteworthy"); + for(var_01 = 0;var_01 < var_02.size;var_01++) + { + var_02[var_01] disconnectnode(); + if(var_01 % 50 == 0) + { + wait 0.05; + } + } + + wait 0.05; + disconnectnodepairs(var_00); +} + +//Function Number: 30 +disconnectnodepairs(param_00) +{ + foreach(var_02 in param_00) + { + var_03 = []; + var_03 = getlinkednodes(var_02,1); + if(var_03.size > 0) + { + foreach(var_05 in var_03) + { + disconnectnodepair(var_02,var_05); + } + } + } +} + +//Function Number: 31 +setupsupportdropvolumes(param_00) +{ + while(!isdefined(level.orbital_util_covered_volumes)) + { + wait 0.05; + } + + level.orbital_util_covered_volumes[level.orbital_util_covered_volumes.size] = param_00; + while(!isdefined(level.goliath_bad_landing_volumes)) + { + wait 0.05; + } + + level.goliath_bad_landing_volumes[level.goliath_bad_landing_volumes.size] = param_00; +} + +//Function Number: 32 +handle_ball_water_return() +{ + var_00 = self; + if(isdefined(level.balls) && level.balls.size != 0) + { + for(;;) + { + foreach(var_02 in level.balls) + { + if(isdefined(var_02.visuals[0]) && var_02.visuals[0] istouching(var_00)) + { + var_02 thread maps\mp\gametypes\_gameobjects::returnhome(); + } + } + + wait(2); + } + } +} + +//Function Number: 33 +starttoxicquake(param_00,param_01) +{ + earthquake(param_00,param_01,level.toxicquake.origin,3500); + toxic_quake_rumble(param_01); +} + +//Function Number: 34 +toxic_quake_rumble(param_00) +{ + level notify("Toxic_Quake_End"); + waittillframeend; + foreach(var_02 in level.players) + { + if(isalive(var_02)) + { + var_02 thread toxic_quake_rumble_player(param_00); + } + } +} + +//Function Number: 35 +toxic_quake_rumble_player(param_00) +{ + level endon("Toxic_Quake_End"); + var_01 = "tank_rumble"; + var_02 = "heavygun_fire"; + var_03 = "smg_fire"; + self playrumblelooponentity(var_01); + thread watch_toxic_rumble_end(var_01,param_00); + var_04 = 0; + if(distancesquared(level.toxicquake.origin,self.origin) < 1210000) + { + self playrumbleonentity(var_02); + var_04 = 1; + } + + if(!var_04 && distancesquared(level.toxicquake.origin,self.origin) < 6250000) + { + self playrumbleonentity(var_03); + } +} + +//Function Number: 36 +watch_toxic_rumble_end(param_00,param_01) +{ + level endon("Toxic_Quake_End"); + self endon("disconnect"); + thread watch_toxic_rumble_end_early(param_00); + while(param_01 > 0) + { + param_01 = param_01 - 0.05; + wait(0.05); + } + + self stoprumble(param_00); + self notify("Toxic_Quake_Rumble_End"); +} + +//Function Number: 37 +watch_toxic_rumble_end_early(param_00) +{ + self endon("Toxic_Quake_Rumble_End"); + self endon("disconnect"); + level waittill("Toxic_Quake_End"); + self stoprumble(param_00); +} + +//Function Number: 38 +handle_toxic_water_damage() +{ + level endon("game_ended"); + self endon("disconnect"); + var_00 = getent("toxic_water_trigger","targetname"); + for(;;) + { + if(self istouching(var_00)) + { + var_01 = 0; + while(isalive(self) && self istouching(var_00)) + { + if(var_01 == 0) + { + self shellshock("mp_climate_acid",5,0,0,0); + var_01 = 1; + } + + self dodamage(5,self.origin,undefined,undefined,"MOD_TRIGGER_HURT","none","none"); + wait(0.1); + maps\mp\gametypes\_hostmigration::waittillhostmigrationdone(); + } + + self fadeoutshellshock(); + } + + wait 0.05; + } +} + +//Function Number: 39 +onplayerconnect() +{ + for(;;) + { + level waittill("connected",var_00); + var_00 thread onplayerspawned(); + if(level.wateristoxic) + { + var_00 thread handle_toxic_water_damage(); + } + + if(level.ventishot) + { + var_00 thread check_vent_damage(); + } + } +} + +//Function Number: 40 +onplayerspawned() +{ + self endon("disconnect"); + for(;;) + { + self waittill("spawned_player"); + thread aud_toxic_water_boil_setup(); + } +} + +//Function Number: 41 +spawnsetup() +{ + level.dynamicspawns = ::getlistofgoodspawnpoints; +} + +//Function Number: 42 +getlistofgoodspawnpoints(param_00) +{ + var_01 = []; + foreach(var_03 in param_00) + { + if(!isdefined(var_03.targetname) || var_03.targetname == "" || var_03 isvalidspawn() == 1) + { + var_01 = common_scripts\utility::add_to_array(var_01,var_03); + } + } + + return var_01; +} + +//Function Number: 43 +isvalidspawn() +{ + if((level.cancelbadwaterspawns == 1 || level.wateristoxic == 1) && self.targetname == "water_spawn") + { + return 0; + } + + return 1; +} + +//Function Number: 44 +climatepaladinoverrides() +{ + level.orbitalsupportoverrides.spawnheight = 9279; + level.orbitalsupportoverrides.spawnradius = 8000; + level.orbitalsupportoverrides.spawnangle = 312; +} + +//Function Number: 45 +aud_event_explosion_warning() +{ + var_00 = 30; + maps\mp\_audio::snd_play_loop_in_space("climate3_event_alarm_lp",(-1150,-1030,1065),"aud_stop_alarm_loops",var_00); +} + +//Function Number: 46 +aud_event_explosion(param_00) +{ + var_01 = 20; + var_02 = 5; + if(param_00 == 1) + { + maps\mp\_audio::snd_play_in_space("climate3_event_explo_01",(-1150,-1030,1065)); + maps\mp\_audio::snd_play_in_space("climate3_event_explo_deep",(-1150,-1030,1065)); + maps\mp\_audio::snd_play_in_space("climate3_event_explo_metal",(-1150,-1030,1065)); + maps\mp\_audio::snd_play_in_space("climate3_event_explo_machine",(-1150,-1030,1065)); + level.aud_event_started = 1; + wait(2); + maps\mp\_audio::snd_play_in_space("climate3_event_explo_metal_2",(-1150,-1030,1065)); + } + + if(param_00 == 2) + { + thread aud_event_start_loops(); + maps\mp\_audio::snd_play_in_space("climate3_event_explo_02",(-630,-580,897),var_01,var_02); + maps\mp\_audio::snd_play_in_space("climate3_event_explo_02_debris",(-630,-580,897),var_01,var_02); + wait(0.2); + maps\mp\_audio::snd_play_in_space("climate3_event_explo_01",(-1150,-1030,1065),var_01,var_02); + wait(0.3); + maps\mp\_audio::snd_play_in_space("climate3_event_explo_01",(-1150,-1030,1065),var_01,var_02); + maps\mp\_audio::snd_play_in_space("climate3_event_explo_02",(-630,-580,897),var_01,var_02); + maps\mp\_audio::snd_play_in_space("climate3_event_explo_03",(-684,-617,1267),var_01,var_02); + wait(0.5); + maps\mp\_audio::snd_play_in_space("climate3_event_explo_01",(-630,-580,897),var_01,var_02); + wait(0.3); + maps\mp\_audio::snd_play_in_space("climate3_event_explo_02",(-630,-580,897),var_01,var_02); + maps\mp\_audio::snd_play_in_space("climate3_event_explo_03",(-684,-617,1267),var_01,var_02); + } + + if(param_00 == 3) + { + maps\mp\_audio::snd_play_in_space("climate3_event_explo_final",(-630,-580,897),var_01,var_02); + level notify("aud_stop_alarm_loops"); + } +} + +//Function Number: 47 +aud_event_start_loops() +{ + if(level.aud_event_started == 1) + { + var_00 = [(-723,-496,969),(-573,-643,840),(-639,-592,777),(-595,-668,538),(-730,-497,775),(-652,-590,546),(-699,-496,939),(-692,-510,778),(-568,-662,646),(-702,-521,577),(-1184,-1047,959)]; + wait(0.1); + for(var_01 = 0;var_01 < var_00.size;var_01++) + { + maps\mp\_audio::snd_play_loop_in_space("climate3_event_fire_lp",var_00[var_01],"aud_stop_fire_loops"); + if(var_01 % 3 == 2) + { + wait(0.1); + } + } + } +} + +//Function Number: 48 +aud_toxic_water_boil_setup() +{ + if(!level.wateristoxic) + { + self clientaddsoundsubmix("mp_pre_event_mix",1); + return; + } + + self clientaddsoundsubmix("mp_post_event_mix",1); +} + +//Function Number: 49 +aud_toxic_water_boil_activate() +{ + foreach(var_01 in level.players) + { + var_01 clientclearsoundsubmix("mp_pre_event_mix",1); + var_01 clientaddsoundsubmix("mp_post_event_mix",1); + wait(0.05); + } +} + +//Function Number: 50 +dyneventflash() +{ + self visionsetnakedforplayer("mp_climate_3_dynEventFlash",0.6); + thread endvisionondeath(); + wait(0.25); + level notify("end_flash"); + thread maps\mp\_utility::revertvisionsetforplayer(1.25); +} + +//Function Number: 51 +endvisionondeath() +{ + level endon("end_flash"); + self waittill("death"); + thread maps\mp\_utility::revertvisionsetforplayer(0); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_climate_3_aud.gsc b/AW/PC/maps/mp/mp_climate_3_aud.gsc new file mode 100644 index 0000000..e58b650 --- /dev/null +++ b/AW/PC/maps/mp/mp_climate_3_aud.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_climate_3_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:17:08 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_climate_3_fx.gsc b/AW/PC/maps/mp/mp_climate_3_fx.gsc new file mode 100644 index 0000000..c1eac0a --- /dev/null +++ b/AW/PC/maps/mp/mp_climate_3_fx.gsc @@ -0,0 +1,392 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_climate_3_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 30 + * Decompile Time: 504 ms + * Timestamp: 4/22/2024 2:17:10 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["mp_climate_center_window_toxic"] = loadfx("vfx/map/mp_climate/mp_climate_center_window_toxic"); + level._effect["mp_climate_center_machine_window"] = loadfx("vfx/map/mp_climate/mp_climate_center_machine_window"); + level._effect["cli_screen_drops"] = loadfx("vfx/map/mp_climate/cli_screen_drops"); + level._effect["toxic_waterfall_splashes"] = loadfx("vfx/map/mp_climate/toxic_waterfall_splashes"); + level._effect["mp_climate_toxic_waterfall_release"] = loadfx("vfx/map/mp_climate/mp_climate_toxic_waterfall_release"); + level._effect["mp_climate_toxic_waterfall_large"] = loadfx("vfx/map/mp_climate/mp_climate_toxic_waterfall_large"); + level._effect["mp_climate_vent_trans_runner"] = loadfx("vfx/map/mp_climate/mp_climate_vent_trans_runner"); + level._effect["cli_waterfall_rainbow"] = loadfx("vfx/map/mp_climate/cli_waterfall_rainbow"); + level._effect["mp_climate_waterfall_mesh_distort"] = loadfx("vfx/map/mp_climate/mp_climate_waterfall_mesh_distort"); + level._effect["mp_climate_fish_school_circle"] = loadfx("vfx/map/mp_climate/mp_climate_fish_school_circle"); + level._effect["mp_climate_window_toxic"] = loadfx("vfx/map/mp_climate/mp_climate_window_toxic"); + level._effect["cli_lilypad_runner"] = loadfx("vfx/map/mp_climate/cli_lilypad_runner"); + level._effect["cli_calm_water_foam_strip"] = loadfx("vfx/map/mp_climate/cli_calm_water_foam_strip"); + level._effect["cli_calm_water_foam_sm"] = loadfx("vfx/map/mp_climate/cli_calm_water_foam_sm"); + level._effect["cli_calm_water_foam"] = loadfx("vfx/map/mp_climate/cli_calm_water_foam"); + level._effect["mp_climate_waterfall_large_02"] = loadfx("vfx/map/mp_climate/mp_climate_waterfall_large_02"); + level._effect["mp_climate_machine_window"] = loadfx("vfx/map/mp_climate/mp_climate_machine_window"); + level._effect["cli_heat_distortion_large"] = loadfx("vfx/map/mp_climate/cli_heat_distortion_large"); + level._effect["cli_electrical_sparks_runner_no_bounce"] = loadfx("vfx/map/mp_climate/cli_electrical_sparks_runner_no_bounce"); + level._effect["mp_climate_toxic_med_pipe"] = loadfx("vfx/map/mp_climate/mp_climate_toxic_med_pipe"); + level._effect["mp_climate_toxic_sml_pipe"] = loadfx("vfx/map/mp_climate/mp_climate_toxic_sml_pipe"); + level._effect["mp_climate_toxic_lrg_pipe"] = loadfx("vfx/map/mp_climate/mp_climate_toxic_lrg_pipe"); + level._effect["mp_climate_lrg_pipe"] = loadfx("vfx/map/mp_climate/mp_climate_lrg_pipe"); + level._effect["mp_climate_med_pipe"] = loadfx("vfx/map/mp_climate/mp_climate_med_pipe"); + level._effect["mp_climate_sml_pipe"] = loadfx("vfx/map/mp_climate/mp_climate_sml_pipe"); + level._effect["mp_climate_vent_filler"] = loadfx("vfx/map/mp_climate/mp_climate_vent_filler"); + level._effect["cli_small_toxic_steam"] = loadfx("vfx/map/mp_climate/cli_small_toxic_steam"); + level._effect["cli_slow_steam_linger"] = loadfx("vfx/map/mp_climate/cli_slow_steam_linger"); + level._effect["cli_lightrays_sml"] = loadfx("vfx/map/mp_climate/cli_lightrays_sml"); + level._effect["cli_clear_water_displacement_patch"] = loadfx("vfx/map/mp_climate/cli_clear_water_displacement_patch"); + level._effect["cli_toxic_water_displacement_patch"] = loadfx("vfx/map/mp_climate/cli_toxic_water_displacement_patch"); + level._effect["cli_electrical_arc_roll"] = loadfx("vfx/map/mp_climate/cli_electrical_arc_roll"); + level._effect["mp_climate_green_room_ambient"] = loadfx("vfx/map/mp_climate/mp_climate_green_room_ambient"); + level._effect["cli_butterfly_runner"] = loadfx("vfx/map/mp_climate/cli_butterfly_runner"); + level._effect["cli_toxic_water_displacement_patch"] = loadfx("vfx/map/mp_climate/cli_toxic_water_displacement_patch"); + level._effect["cli_lightrays_lrg"] = loadfx("vfx/map/mp_climate/cli_lightrays_lrg"); + level._effect["cli_toxic_water_boiling_clear_runner"] = loadfx("vfx/map/mp_climate/cli_toxic_water_boiling_clear_runner"); + level._effect["cli_smoke_rise"] = loadfx("vfx/map/mp_climate/cli_smoke_rise"); + level._effect["mp_climate_vent_smoke_transition_b"] = loadfx("vfx/map/mp_climate/mp_climate_vent_smoke_transition_b"); + level._effect["cli_insect_dragonfly_runner"] = loadfx("vfx/map/mp_climate/cli_insect_dragonfly_runner"); + level._effect["mp_godray_dusty"] = loadfx("vfx/map/mp_climate/mp_godray_dusty"); + level._effect["falling_water_drip_line_runner_fast"] = loadfx("vfx/water/falling_water_drip_line_runner_fast"); + level._effect["cli_vent_fire_crawl"] = loadfx("vfx/map/mp_climate/cli_vent_fire_crawl"); + level._effect["cli_lilypad"] = loadfx("vfx/map/mp_climate/cli_lilypad"); + level._effect["cli_lilypad_death"] = loadfx("vfx/map/mp_climate/cli_lilypad_death"); + level._effect["mp_climate_vent_transition"] = loadfx("vfx/map/mp_climate/mp_climate_vent_transition"); + level._effect["cli_toxic_water_transition_pool_2"] = loadfx("vfx/map/mp_climate/cli_toxic_water_transition_pool_2"); + level._effect["cli_toxic_water_transition_pool_1"] = loadfx("vfx/map/mp_climate/cli_toxic_water_transition_pool_1"); + level._effect["mp_climate_electrical_sparks_heavy"] = loadfx("vfx/map/mp_climate/mp_climate_electrical_sparks_heavy"); + level._effect["cli_less_freq_electrical_sparks_runner"] = loadfx("vfx/map/mp_climate/cli_less_freq_electrical_sparks_runner"); + level._effect["cli_electrical_sparks_runner"] = loadfx("vfx/map/mp_climate/cli_electrical_sparks_runner"); + level._effect["mp_climate_vent_smoke_transition"] = loadfx("vfx/map/mp_climate/mp_climate_vent_smoke_transition"); + level._effect["mp_climate_electrical_arcs_runner"] = loadfx("vfx/map/mp_climate/mp_climate_electrical_arcs_runner"); + level._effect["mp_climate_smoke_plume"] = loadfx("vfx/map/mp_climate/mp_climate_smoke_plume"); + level._effect["mp_climate_steam_toxic_transition"] = loadfx("vfx/map/mp_climate/mp_climate_steam_toxic_transition"); + level._effect["mp_climate_vent_steam_small"] = loadfx("vfx/map/mp_climate/mp_climate_vent_steam_small"); + level._effect["mp_climate_ambient_int"] = loadfx("vfx/map/mp_climate/mp_climate_ambient_int"); + level._effect["mp_climate_dust_ambient_int"] = loadfx("vfx/map/mp_climate/mp_climate_dust_ambient_int"); + level._effect["water_pipe_drip_lp"] = loadfx("vfx/water/water_pipe_drip_lp"); + level._effect["electrical_sparks_small_runner"] = loadfx("vfx/explosion/electrical_sparks_small_runner"); + level._effect["mp_climate_fish_jumping_runner"] = loadfx("vfx/map/mp_climate/mp_climate_fish_jumping_runner"); + level._effect["mp_climate_fish_jumping"] = loadfx("vfx/map/mp_climate/mp_climate_fish_jumping"); + level._effect["mp_climate_vent_steam"] = loadfx("vfx/map/mp_climate/mp_climate_vent_steam"); + level._effect["mp_climate_leaves_blow_runner"] = loadfx("vfx/map/mp_climate/mp_climate_leaves_blow_runner"); + level._effect["mp_climate_birds_takeoff_runner"] = loadfx("vfx/map/mp_climate/mp_climate_birds_takeoff_runner"); + level._effect["mp_climate_crumbling_rock_runner"] = loadfx("vfx/map/mp_climate/mp_climate_crumbling_rock_runner"); + level._effect["mp_climate_cloud_cover"] = loadfx("vfx/map/mp_climate/mp_climate_cloud_cover"); + level._effect["cli_toxic_water_boiling_bubble_runner"] = loadfx("vfx/map/mp_climate/cli_toxic_water_boiling_bubble_runner"); + level._effect["cli_water_surface_steam"] = loadfx("vfx/map/mp_climate/cli_water_surface_steam"); + level._effect["test_effect"] = loadfx("vfx/test/test_fx"); + level._effect["fx_sunflare_mp_climate_3"] = loadfx("vfx/lensflare/fx_sunflare_mp_climate_3"); + level._effect["mp_climate_waterfall_large"] = loadfx("vfx/map/mp_climate/mp_climate_waterfall_large"); + level._effect["flower_petals_runner"] = loadfx("vfx/map/mp_climate/flower_petals_runner"); + level._effect["ambient_needles_runner"] = loadfx("vfx/map/mp_climate/ambient_needles_runner"); + level._effect["mp_climate_fish_school"] = loadfx("vfx/map/mp_climate/mp_climate_fish_school"); + level._effect["waterfall_splashes"] = loadfx("vfx/map/mp_climate/waterfall_splashes"); + level._effect["mp_climate_waterfall_release"] = loadfx("vfx/map/mp_climate/mp_climate_waterfall_release"); + level._effect["plastic_shreds_hanging_e_slow"] = loadfx("vfx/wind/plastic_shreds_hanging_e_slow"); + level._effect["mp_climate_streaming_water"] = loadfx("vfx/map/mp_climate/mp_climate_streaming_water"); + level._effect["mp_ground_grassdirt_runner"] = loadfx("vfx/map/mp_climate/mp_ground_grassdirt_runner"); + level thread onplayerconnect(); +} + +//Function Number: 2 +onplayerconnect() +{ + for(;;) + { + level waittill("connected",var_00); + start_persistent_fx(var_00); + } +} + +//Function Number: 3 +start_persistent_fx(param_00) +{ + if(level.toxiceventcomplete) + { + toxic_fx(param_00); + return; + } + + if(level.toxiceventstarted) + { + mid_event_fx(param_00); + return; + } + + clean_fx(param_00); +} + +//Function Number: 4 +clean_fx(param_00) +{ + vent_steam_fx(param_00); + waterfall_start(param_00); + machine_window_fx(param_00); + clean_water_foam_fx(param_00); + fish_school_fx(param_00); +} + +//Function Number: 5 +toxic_fx(param_00) +{ + top_vent_damage_fx(param_00); + clear_water_transition_looping_fx(param_00); + toxic_vent_steam_fx(param_00); + small_toxic_vent_steam_fx(param_00); + machine_toxic_window_fx(param_00); + vent_firecrawl_fx(param_00); + machine_toxic_pipes_fx(param_00); + dead_fish_fx(param_00); + toxic_waterfall_start(param_00); + vent_smoke_damage_fx(param_00); + less_freq_electrical_sparks_fx(param_00); + water_surface_steam_fx(param_00); +} + +//Function Number: 6 +mid_event_fx(param_00) +{ + if(!isdefined(level.toxicstage6finished)) + { + fish_school_fx(param_00); + waterfall_start(param_00); + if(!isdefined(level.toxicstage5finished)) + { + clean_water_foam_fx(param_00); + machine_window_fx(param_00); + if(!isdefined(level.toxicstage3finished)) + { + vent_steam_fx(param_00); + } + } + } + + if(isdefined(level.toxicstage1finished) && level.toxicstage1finished) + { + top_vent_damage_fx(param_00); + if(isdefined(level.toxicstage2finished) && level.toxicstage2finished) + { + clear_water_transition_looping_fx(param_00); + electrical_arcs_fx(param_00); + if(isdefined(level.toxicstage3finished) && level.toxicstage3finished) + { + toxic_vent_steam_fx(param_00); + small_toxic_vent_steam_fx(param_00); + machine_toxic_window_fx(param_00); + if(isdefined(level.toxicstage4finished) && level.toxicstage4finished) + { + vent_firecrawl_fx(param_00); + if(isdefined(level.toxicstage5finished) && level.toxicstage5finished) + { + machine_toxic_pipes_fx(param_00); + if(isdefined(level.toxicstage6finished) && level.toxicstage6finished) + { + dead_fish_fx(param_00); + toxic_waterfall_start(param_00); + if(isdefined(level.toxicstage7finished) && level.toxicstage7finished) + { + vent_smoke_damage_fx(param_00); + return; + } + + return; + } + + return; + } + + return; + } + + return; + } + } + } +} + +//Function Number: 7 +water_surface_steam_fx(param_00) +{ + level thread common_scripts\_exploder::activate_clientside_exploder(1,param_00); +} + +//Function Number: 8 +waterfall_start(param_00) +{ + level thread common_scripts\_exploder::activate_clientside_exploder(20,param_00); +} + +//Function Number: 9 +toxic_waterfall_start(param_00) +{ + if(!isdefined(param_00)) + { + stopclientexploder(20); + } + + level thread common_scripts\_exploder::activate_clientside_exploder(21,param_00); +} + +//Function Number: 10 +dead_fish_fx(param_00) +{ + if(!isdefined(param_00)) + { + stopclientexploder(2); + wait(1); + } + + level thread common_scripts\_exploder::activate_clientside_exploder(3,param_00); +} + +//Function Number: 11 +machine_window_fx(param_00) +{ + level thread common_scripts\_exploder::activate_clientside_exploder(17,param_00); +} + +//Function Number: 12 +machine_toxic_pipes_fx(param_00) +{ + if(!isdefined(param_00)) + { + stopclientexploder(17); + } + + level thread common_scripts\_exploder::activate_clientside_exploder(18,param_00); +} + +//Function Number: 13 +machine_toxic_window_fx(param_00) +{ + level thread common_scripts\_exploder::activate_clientside_exploder(19,param_00); +} + +//Function Number: 14 +fish_school_fx(param_00) +{ + level thread common_scripts\_exploder::activate_clientside_exploder(2,param_00); +} + +//Function Number: 15 +water_transition_fx() +{ + level thread common_scripts\_exploder::activate_clientside_exploder(200); + wait(8); + stopclientexploder(201); + wait 0.05; + stopclientexploder(203); +} + +//Function Number: 16 +clear_water_transition_fx() +{ + level thread common_scripts\_exploder::activate_clientside_exploder(201); +} + +//Function Number: 17 +clear_water_transition_looping_fx(param_00) +{ + if(!isdefined(param_00)) + { + wait 0.05; + } + + level thread common_scripts\_exploder::activate_clientside_exploder(202,param_00); +} + +//Function Number: 18 +vent_steam_fx(param_00) +{ + level thread common_scripts\_exploder::activate_clientside_exploder(6,param_00); +} + +//Function Number: 19 +toxic_vent_steam_fx(param_00) +{ + if(!isdefined(param_00)) + { + stopclientexploder(6); + } + + level thread common_scripts\_exploder::activate_clientside_exploder(5,param_00); +} + +//Function Number: 20 +small_toxic_vent_steam_fx(param_00) +{ + level thread common_scripts\_exploder::activate_clientside_exploder(16,param_00); +} + +//Function Number: 21 +top_vent_damage_fx(param_00) +{ + level thread common_scripts\_exploder::activate_clientside_exploder(7,param_00); +} + +//Function Number: 22 +vent_smoke_damage_fx(param_00) +{ + level thread common_scripts\_exploder::activate_clientside_exploder(8,param_00); +} + +//Function Number: 23 +vent_metal_shards_fx() +{ + level thread common_scripts\_exploder::activate_clientside_exploder(9); +} + +//Function Number: 24 +freq_electrical_sparks_fx() +{ + level thread common_scripts\_exploder::activate_clientside_exploder(10); +} + +//Function Number: 25 +less_freq_electrical_sparks_fx(param_00) +{ + if(!isdefined(param_00)) + { + stopclientexploder(10); + stopclientexploder(12); + stopclientexploder(13); + } + + level thread common_scripts\_exploder::activate_clientside_exploder(11,param_00); +} + +//Function Number: 26 +electrical_arcs_fx(param_00) +{ + level thread common_scripts\_exploder::activate_clientside_exploder(12,param_00); +} + +//Function Number: 27 +electrical_arc_coils_fx() +{ + level thread common_scripts\_exploder::activate_clientside_exploder(15); +} + +//Function Number: 28 +heavy_electrical_sparks_fx() +{ + level thread common_scripts\_exploder::activate_clientside_exploder(13); +} + +//Function Number: 29 +vent_firecrawl_fx(param_00) +{ + level thread common_scripts\_exploder::activate_clientside_exploder(14,param_00); +} + +//Function Number: 30 +clean_water_foam_fx(param_00) +{ + level thread common_scripts\_exploder::activate_clientside_exploder(203,param_00); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_climate_3_lighting.gsc b/AW/PC/maps/mp/mp_climate_3_lighting.gsc new file mode 100644 index 0000000..8dbba86 --- /dev/null +++ b/AW/PC/maps/mp/mp_climate_3_lighting.gsc @@ -0,0 +1,16 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_climate_3_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:17:11 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setdvar("r_lightGridEnableTweaks",1); + setdvar("r_lightGridIntensity",1.33); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_climate_3_precache.gsc b/AW/PC/maps/mp/mp_climate_3_precache.gsc new file mode 100644 index 0000000..a76c025 --- /dev/null +++ b/AW/PC/maps/mp/mp_climate_3_precache.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_climate_3_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 30 ms + * Timestamp: 4/22/2024 2:17:11 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_clowntown3.gsc b/AW/PC/maps/mp/mp_clowntown3.gsc new file mode 100644 index 0000000..62f51de --- /dev/null +++ b/AW/PC/maps/mp/mp_clowntown3.gsc @@ -0,0 +1,1177 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_clowntown3.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 56 + * Decompile Time: 813 ms + * Timestamp: 4/22/2024 2:17:14 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.callbackstartgametype = ::clowntown3_callbackstartgametype; + maps\mp\mp_clowntown3_precache::main(); + maps\createart\mp_clowntown3_art::main(); + maps\mp\mp_clowntown3_fx::main(); + maps\mp\_load::main(); + maps\mp\mp_clowntown3_lighting::main(); + maps\mp\mp_clowntown3_aud::main(); + maps\mp\_compass::setupminimap("compass_map_mp_clowntown3"); + maps\mp\_water::init(); + precacheitem("iw5_dlcgun12loot9_mp"); + precacheitem("iw5_dlcgun12loot8_mp"); + precachempanim("ct_motel_sign_idle"); + precachempanim("ct_motel_sign_hat_off"); + precachempanim("ct_motel_sign_hat_off_idle"); + precachempanim("ct_motel_sign_hat_on"); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + thread aud_event_sign_mech_idle(); + if(level.nextgen) + { + thread ct_vista_cars(); + thread delete_ct_vista_cars(); + } + + sign_init(); + bombs_init(); + thread rotating_bed_setup(); + thread rotating_fans_setup(); + thread clowntownclippatch(); + var_00 = level.gametype; + if(!var_00 == "twar" || var_00 == "sd" || var_00 == "sr") + { + level thread maps\mp\_dynamic_events::dynamicevent(::clowntown_dynamic_event); + } + + setdvar("sm_minSpotLightScore",0.0007); + level.ospvisionset = "mp_clowntown3_osp"; + level.osplightset = "mp_clowntown3_osp"; + level.warbirdvisionset = "mp_clowntown3_osp"; + level.warbirdlightset = "mp_clowntown3_osp"; + level.vulcanvisionset = "mp_clowntown3_osp"; + level.vulcanlightset = "mp_clowntown3_osp"; + level thread clowntowncustomairstrike(); + level thread clowntowncustomosp(); + level thread getclownlights(); + level thread resetuplinkballoutofbounds(); + if(var_00 == "ctf") + { + while(!isdefined(level.teamflags["allies"]) || !isdefined(level.teamflags["axis"])) + { + wait(0.5); + } + + foreach(var_02 in level.teamflags) + { + if(isdefined(var_02)) + { + var_02.onpickupfailed = ::customresetflag; + } + } + } + + if(isdefined(level.gametype)) + { + if(level.gametype == "sd" || level.gametype == "sr") + { + level thread movebombsitea(); + } + } +} + +//Function Number: 2 +movebombsitea() +{ + var_00 = 15; + var_01 = 0; + var_02 = 0; + var_03 = 5; + var_04 = getentarray("bombzone","targetname"); + var_05 = []; + foreach(var_07 in var_04) + { + if(isdefined(var_07.script_label) && var_07.script_label == "_a") + { + var_05[var_05.size] = var_07; + var_08 = getent(var_07.target,"targetname"); + var_05[var_05.size] = var_08; + var_05[var_05.size] = getent(var_08.target,"targetname"); + break; + } + } + + var_0A = getentarray("exploder","targetname"); + foreach(var_0C in var_0A) + { + if(isdefined(var_0C.script_gameobjectname) && var_0C.script_gameobjectname == "bombzone") + { + if(isdefined(var_0C.script_exploder) && issubstr(var_0C.script_exploder,"_1")) + { + var_05[var_05.size] = var_0C; + break; + } + } + } + + var_0E = getentarray("script_brushmodel","classname"); + foreach(var_10 in var_0E) + { + if(isdefined(var_10.script_gameobjectname) && var_10.script_gameobjectname == "bombzone") + { + if(isdefined(var_10.script_label) && var_10.script_label == "bombzone_a") + { + var_05[var_05.size] = var_10; + break; + } + } + } + + foreach(var_13 in var_05) + { + var_13.origin = var_13.origin + (0,0,var_00); + var_13.angles = var_13.angles + (var_01,var_02,var_03); + } +} + +//Function Number: 3 +resetuplinkballoutofbounds() +{ + level endon("game_ended"); + if(level.gametype == "ball") + { + while(!isdefined(level.balls)) + { + wait(0.05); + } + + foreach(var_01 in level.balls) + { + var_01 thread watchcarryobjects(); + } + } +} + +//Function Number: 4 +watchcarryobjects() +{ + level endon("game_ended"); + for(;;) + { + self waittill("dropped"); + wait(0.1); + thread monitorballstate(); + var_00 = common_scripts\utility::waittill_any_return("pickup_object","reset"); + } +} + +//Function Number: 5 +monitorballstate() +{ + self endon("pickup_object"); + self endon("reset"); + for(;;) + { + if(isoutofbounds()) + { + thread maps\mp\gametypes\_gameobjects::returnhome(); + return; + } + + wait(0.05); + } +} + +//Function Number: 6 +isoutofbounds() +{ + var_00 = getentarray("object_out_of_bounds","targetname"); + for(var_01 = 0;var_01 < var_00.size;var_01++) + { + if(!self.visuals[0] istouching(var_00[var_01])) + { + continue; + } + + return 1; + } + + return 0; +} + +//Function Number: 7 +getclownlights() +{ + level.clownlightson = getentarray("lights_on","targetname"); + level.clownlightsoff = getentarray("lights_off","targetname"); + foreach(var_01 in level.clownlightson) + { + var_01 hide(); + } +} + +//Function Number: 8 +clowntowncustomosp() +{ + level.orbitalsupportoverrides.spawnheight = 6500; + level.orbitalsupportoverrides.spawnradius = 6500; +} + +//Function Number: 9 +clowntowncustomairstrike() +{ + if(!isdefined(level.airstrikeoverrides)) + { + level.airstrikeoverrides = spawnstruct(); + } + + level.airstrikeoverrides.spawnheight = 750; +} + +//Function Number: 10 +clowntown3_callbackstartgametype() +{ + maps\mp\gametypes\_gamelogic::callback_startgametype(); + common_scripts\_bcs_location_trigs_dlc::bcs_location_trigs_dlc_init(); +} + +//Function Number: 11 +rotating_bed_setup() +{ + var_00 = getentarray("bed_collision","targetname"); + var_01 = getent("bed_model","targetname"); + var_02 = 10000; + thread aud_bed_sfx(var_01); + foreach(var_04 in var_00) + { + var_04 linkto(var_01); + } + + var_01 rotatevelocity((0,-10,0),var_02); +} + +//Function Number: 12 +rotating_fans_setup() +{ + level.fans = getentarray("ceilingfan_01","targetname"); + foreach(var_03, var_01 in level.fans) + { + var_02 = common_scripts\utility::mod(var_03,3) + 1; + var_01 scriptmodelplayanim("ct_ceiling_fan_idle_" + var_02); + wait(0.2); + } +} + +//Function Number: 13 +clowntown_dynamic_event() +{ + level endon("dynamic_event_starting"); + wait(8); + sign_startup_sequence(); + wait(5); + for(;;) + { + cannon_firing_event(); + while(level.bombsonstandby.size <= level.bomb_count_min) + { + wait 0.05; + } + + if(isdefined(level.ishorde) && level.ishorde) + { + wait(randomintrange(300,360)); + while(level.currentaliveenemycount < 1) + { + wait(10); + } + + continue; + } + + wait(randomintrange(20,30)); + } +} + +//Function Number: 14 +sign_init() +{ + level.anim_sign = getent("clown_sign","targetname"); + level.sign_off = getent("clown_sign_off","targetname"); + level.sign_on = getent("clown_sign_on_static","targetname"); + level.anim_sign hide(); + level.sign_on hide(); +} + +//Function Number: 15 +sign_startup_sequence() +{ + thread aud_clowntown_sign_startup_sequence(); + if(isdefined(level.clownlightsoff) && isdefined(level.clownlightson)) + { + foreach(var_01 in level.clownlightsoff) + { + var_01 hide(); + } + + foreach(var_01 in level.clownlightson) + { + var_01 show(); + } + } + + sign_on(); + wait(0.5); + sign_off(); + wait(0.3); + sign_on(); + wait(0.3); + sign_off(); + wait(0.5); + sign_on(); + wait(0.5); + sign_off(); + wait(0.3); + sign_on(); + wait(1); + level.sign_on hide(); + level.anim_sign show(); + thread scriptmodelplayanimwithnotifycheap(level.anim_sign,"ct_motel_sign_idle","motel_sign_idle_notify","ct_motel_sign_idle_start","ct3_cannon_idle_mech","aud_stop_01","aud_stop_02","aud_stop_03"); +} + +//Function Number: 16 +sign_off() +{ + level.sign_on ghost(); + level.sign_off show(); +} + +//Function Number: 17 +sign_on() +{ + level.sign_on show(); + level.sign_off ghost(); +} + +//Function Number: 18 +cannon_firing_event() +{ + var_00 = level.bombsonstandby.size; + level.bomb_targets = common_scripts\utility::array_randomize(level.bomb_targets); + level.anim_sign waittillmatch("ct_motel_sign_idle_start","motel_sign_idle_notify"); + level.anim_sign scriptmodelclearanim(); + level.anim_sign scriptmodelplayanim("ct_motel_sign_hat_off","anim_end"); + var_01 = 20; + aud_event_sign_hat_off(var_01); + wait(6.96); + for(var_02 = 0;var_02 < var_00;var_02++) + { + if(isdefined(level.bombsonstandby[0])) + { + level.bombsonstandby[0] bomb_fires(var_02); + level.anim_sign scriptmodelclearanim(); + level.anim_sign scriptmodelplayanim("ct_motel_sign_hat_off_idle","anim_end"); + wait(4); + } + } + + level.anim_sign scriptmodelclearanim(); + level.anim_sign scriptmodelplayanim("ct_motel_sign_hat_on","anim_end"); + aud_event_sign_hat_on(var_01); + wait(7.7); + scriptmodelplayanimwithnotifycheap(level.anim_sign,"ct_motel_sign_idle","motel_sign_idle_notify","ct_motel_sign_idle_start","ct3_cannon_idle_mech","aud_stop_01","aud_stop_02","aud_stop_03"); + wait(1); +} + +//Function Number: 19 +bombs_init() +{ + wait(1); + level.bombsonstandby = []; + level.launch_point = getent("org_bomb_launch","targetname"); + level.bomb_targets = getentarray("org_bomb_targets","targetname"); + level.bomb_count_max = 6; + level.bomb_count_min = 2; + for(var_00 = 0;var_00 < level.bomb_count_max;var_00++) + { + var_01 = spawn("script_model",(0,0,-10)); + var_01 setmodel("npc_bomb_clown"); + var_01 thread bomb_physics_impact_watch(); + var_02 = 24; + var_03 = getent("bomb_pickup_" + var_00 + 1,"targetname"); + if(isdefined(var_03)) + { + var_03.origin = var_01.origin; + } + else + { + var_03 = spawn("trigger_radius",var_01.origin - (0,0,var_02 / 2),0,var_02,var_02); + } + + var_03 enablelinkto(); + var_03 linkto(var_01); + var_03.no_moving_platfrom_unlink = 1; + var_04 = [var_01]; + var_05 = maps\mp\gametypes\_gameobjects::createcarryobject("any",var_03,var_04,(0,0,32)); + var_05 maps\mp\gametypes\_gameobjects::allowcarry("any"); + var_05 maps\mp\gametypes\_gameobjects::setvisibleteam("any"); + var_05.objidpingenemy = 1; + var_05.objpingdelay = 1; + var_05.allowweapons = 0; + var_05.carryweapon = "iw5_dlcgun12loot9_mp"; + var_05.keepcarryweapon = 1; + var_05.waterbadtrigger = 0; + var_05.visualgroundoffset = (0,0,30); + var_05.canuseobject = ::bomb_can_pickup; + var_05.onpickup = ::bomb_on_pickup; + var_05.setdropped = ::bomb_set_dropped; + var_05.carryweaponthink = ::bomb_throw; + var_05.requireslos = 1; + maps\mp\_utility::_objective_delete(var_05.objidallies); + maps\mp\_utility::_objective_delete(var_05.objidaxis); + maps\mp\_utility::_objective_delete(var_05.objidmlgspectator); + var_05.compassicons = undefined; + var_05.objidallies = undefined; + var_05.objidaxis = undefined; + var_05.objidmlgspectator = undefined; + level.bombsonstandby[level.bombsonstandby.size] = var_05; + wait 0.05; + } +} + +//Function Number: 20 +bomb_fires(param_00) +{ + var_01 = level.bomb_targets[param_00]; + var_02 = self.visuals[0]; + var_02 show(); + var_02 dontinterpolate(); + self.bomb_fx_active = 0; + var_02 physicsstop(); + var_02.origin = level.launch_point.origin; + level.mines[level.mines.size] = var_02; + var_03 = var_01.origin + (randomfloatrange(-10,10),randomfloatrange(-10,10),randomfloatrange(-10,10)); + var_04 = var_03 - var_02.origin * 2; + var_05 = (0,0,0); + var_02 physicslaunchserver(var_02.origin + var_05,var_04); + aud_event_fire_bomb(); + thread bomb_fuse_default(); + level.bombsonstandby = common_scripts\utility::array_remove(level.bombsonstandby,self); + bomb_fx_start(); + radiusdamage(level.launch_point.origin + (0,0,20),20,50,40); + playfx(common_scripts\utility::getfx("cannon_firing"),level.launch_point.origin + (0,0,35)); + var_06 = anglestoforward(level.launch_point.origin); + var_07 = anglestoup(level.launch_point.origin); +} + +//Function Number: 21 +bomb_fuse_default() +{ + self endon("stop_fuse"); + self endon("pickup_object"); + var_00 = 15; + var_01 = self.visuals[0]; + playfxontag(common_scripts\utility::getfx("mp_clowntown_bomb_fuse"),var_01,"tag_fx"); + while(var_00 > 0) + { + if(isdefined(self) && var_00 < 4) + { + playfx(common_scripts\utility::getfx("ball_flash"),self.visuals[0].origin); + } + + wait(1); + var_00 = var_00 - 1; + } + + magicgrenademanual("iw5_dlcgun12loot8_mp",self.visuals[0].origin,(0,0,0),0); + thread bomb_cleanup(); +} + +//Function Number: 22 +bomb_fuse_short() +{ + self endon("stop_fuse"); + self endon("pickup_object"); + for(var_00 = 3;var_00 > 0;var_00 = var_00 - 1) + { + if(isdefined(self) && var_00 < 4) + { + playfx(common_scripts\utility::getfx("ball_flash"),self.visuals[0].origin); + } + + wait(1); + } + + magicgrenademanual("iw5_dlcgun12loot8_mp",self.visuals[0].origin,(0,0,0),0); + thread bomb_cleanup(); +} + +//Function Number: 23 +bomb_can_pickup(param_00) +{ + if(!isdefined(param_00)) + { + return 0; + } + + if(isdefined(param_00.underwater) && param_00.underwater) + { + return 0; + } + + if(isdefined(self.droptime) && self.droptime >= gettime()) + { + return 0; + } + + if(!param_00 common_scripts\utility::isweaponenabled()) + { + return 0; + } + + if(param_00 isusingturret()) + { + return 0; + } + + if(isdefined(param_00.manuallyjoiningkillstreak) && param_00.manuallyjoiningkillstreak) + { + return 0; + } + + var_01 = param_00 getcurrentweapon(); + if(isdefined(var_01)) + { + if(!valid_bomb_pickup_weapon(var_01)) + { + return 0; + } + } + + var_02 = param_00.changingweapon; + if(isdefined(var_02) && param_00 isreloading()) + { + if(!valid_bomb_pickup_weapon(var_02)) + { + return 0; + } + } + + if(isdefined(param_00.exo_shield_on) && param_00.exo_shield_on == 1) + { + return 0; + } + + if(param_00 maps\mp\_utility::isjuggernaut()) + { + return 0; + } + + if(isbot(param_00) || isagent(param_00)) + { + return 0; + } + + if(param_00 player_no_pickup_time()) + { + return 0; + } + + return 1; +} + +//Function Number: 24 +valid_bomb_pickup_weapon(param_00) +{ + if(param_00 == "none") + { + return 0; + } + + if(param_00 == "iw5_dlcgun12loot9_mp") + { + return 0; + } + + if(maps\mp\_utility::iskillstreakweapon(param_00)) + { + return 0; + } + + if(param_00 == "iw5_combatknifegoliath_mp") + { + return 0; + } + + return 1; +} + +//Function Number: 25 +player_no_pickup_time() +{ + return isdefined(self.nopickuptime) && self.nopickuptime > gettime(); +} + +//Function Number: 26 +bomb_on_pickup(param_00) +{ + level.usestartspawns = 0; + self notify("pickup_object"); + level.mines = common_scripts\utility::array_remove(level.mines,self.visuals[0]); + var_01 = self.visuals[0] getlinkedparent(); + if(isdefined(var_01)) + { + self.visuals[0] unlink(); + } + + self.visuals[0] physicsstop(); + self.visuals[0] maps\mp\_movers::notify_moving_platform_invalid(); + self.visuals[0] show(); + self.visuals[0] ghost(); + self.trigger maps\mp\_movers::stop_handling_moving_platforms(); + bomb_fx_stop(); + param_00 setweaponammoclip("iw5_dlcgun12loot9_mp",1); + param_00 maps\mp\_utility::giveperk("specialty_ballcarrier",0); + param_00 common_scripts\utility::_disableusability(); + param_00 maps\mp\killstreaks\_coop_util::playerstoppromptforstreaksupport(); +} + +//Function Number: 27 +bomb_throw() +{ + self endon("disconnect"); + thread bomb_throw_watch(); + self.carryobject waittill("dropped"); +} + +//Function Number: 28 +bomb_throw_watch() +{ + level endon("game_ended"); + self endon("disconnect"); + self endon("death"); + self endon("drop_object"); + var_00 = getdvarfloat("scr_ball_shoot_extra_pitch",-12); + var_01 = getdvarfloat("scr_ball_shoot_force",320); + for(;;) + { + self waittill("weapon_fired",var_02); + if(var_02 != "iw5_dlcgun12loot9_mp") + { + continue; + } + + break; + } + + if(isdefined(self.carryobject)) + { + var_03 = self getplayerangles(); + var_03 = var_03 + (var_00,0,0); + var_03 = (clamp(var_03[0],-85,85),var_03[1],var_03[2]); + var_04 = anglestoforward(var_03); + thread bomb_throw_active(); + wait(0.25); + self playsound("mp_ul_ball_throw"); + self.carryobject bomb_create_killcam_ent(); + self.carryobject thread bomb_physics_launch_drop(var_04 * var_01,self); + } +} + +//Function Number: 29 +bomb_physics_impact_watch() +{ + self endon("death"); + for(;;) + { + self waittill("physics_impact",var_00,var_01,var_02,var_03); + var_04 = level._effect["ball_physics_impact"]; + if(isdefined(var_03) && isdefined(level._effect["ball_physics_impact_" + var_03])) + { + var_04 = level._effect["ball_physics_impact_" + var_03]; + } + + playfx(var_04,var_00,var_01); + thread aud_play_bomb_bounce(); + wait(0.3); + } +} + +//Function Number: 30 +bomb_throw_active() +{ + self endon("death"); + self endon("disconnect"); + self.pass_or_throw_active = 1; + self allowmelee(0); + while("iw5_dlcgun12loot9_mp" == self getcurrentweapon()) + { + wait 0.05; + } + + self allowmelee(1); + self.pass_or_throw_active = 0; +} + +//Function Number: 31 +bomb_physics_launch_drop(param_00,param_01) +{ + bomb_carrier_cleanup(); + self.ownerteam = "any"; + maps\mp\gametypes\_gameobjects::clearcarrier(); + bomb_physics_launch(param_00,param_01); +} + +//Function Number: 32 +bomb_physics_launch(param_00,param_01) +{ + var_02 = self.visuals[0]; + var_02.origin_prev = undefined; + bomb_cleanup(); + var_03 = anglestoforward(param_01 getplayerangles()) * 940 + anglestoup(param_01 getplayerangles()) * 120; + var_04 = param_01 geteye(); + var_05 = magicgrenademanual("iw5_dlcgun12loot8_mp",var_04,var_03,2,param_01); +} + +//Function Number: 33 +bomb_create_killcam_ent() +{ + if(isdefined(self.killcament)) + { + self.killcament delete(); + } + + self.killcament = spawn("script_model",self.visuals[0].origin); + self.killcament linkto(self.visuals[0]); + self.killcament setcontents(0); + self.killcament setscriptmoverkillcam("explosive"); +} + +//Function Number: 34 +bomb_set_dropped(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 0; + } + + self.isresetting = 1; + self.droptime = gettime(); + self notify("dropped"); + var_01 = self.carrier; + if(isdefined(var_01) && var_01.team != "spectator") + { + var_02 = var_01.origin; + } + else + { + var_02 = self.safeorigin; + } + + var_03 = self.visuals[0]; + var_03.origin = var_02; + var_03 show(); + var_03 physicslaunchserver(var_03.origin + (0,1,0)); + level.mines[level.mines.size] = var_03; + thread bomb_fuse_short(); + bomb_carrier_cleanup(); + bomb_fx_start(); + self.ownerteam = "any"; + maps\mp\gametypes\_gameobjects::clearcarrier(); + return 1; +} + +//Function Number: 35 +bomb_carrier_cleanup() +{ + if(isdefined(self.carrier)) + { + self.carrier.nopickuptime = gettime() + 500; + self.carrier maps\mp\_utility::_unsetperk("specialty_ballcarrier"); + self.carrier common_scripts\utility::_enableusability(); + self.carrier maps\mp\killstreaks\_coop_util::playerstartpromptforstreaksupport(); + } +} + +//Function Number: 36 +bomb_dont_interpolate() +{ + self.visuals[0] dontinterpolate(); + self.bomb_fx_active = 0; +} + +//Function Number: 37 +bomb_cleanup() +{ + self notify("stop_fuse"); + bomb_fx_stop(); + self.visuals[0] dontinterpolate(); + self.bomb_fx_active = 0; + self.visuals[0] physicsstop(); + self.visuals[0].origin = (0,0,0); + level.mines = common_scripts\utility::array_remove(level.mines,self.visuals[0]); + level.bombsonstandby = common_scripts\utility::array_add(level.bombsonstandby,self); +} + +//Function Number: 38 +bomb_fx_start() +{ + if(!bomb_fx_active()) + { + var_00 = self.visuals[0]; + playfxontag(common_scripts\utility::getfx("ball_trail"),var_00,"body_animate_jnt"); + playfxontag(common_scripts\utility::getfx("ball_idle"),var_00,"body_animate_jnt"); + var_00 hudoutlineenable(0,0); + self.bomb_fx_active = 1; + var_00 playloopsound("mp_clown_bomb_fuse_lp_world"); + } +} + +//Function Number: 39 +bomb_fx_stop() +{ + if(bomb_fx_active()) + { + var_00 = self.visuals[0]; + stopfxontag(common_scripts\utility::getfx("ball_trail"),var_00,"body_animate_jnt"); + killfxontag(common_scripts\utility::getfx("ball_idle"),var_00,"body_animate_jnt"); + killfxontag(common_scripts\utility::getfx("mp_clowntown_bomb_fuse"),var_00,"tag_fx"); + var_00 hudoutlinedisable(); + var_00 stopsounds(); + } + + self.bomb_fx_active = 0; +} + +//Function Number: 40 +bomb_fx_active() +{ + return isdefined(self.bomb_fx_active) && self.bomb_fx_active; +} + +//Function Number: 41 +customresetflag(param_00) +{ + var_01 = param_00.pers["team"]; + if(var_01 == "allies") + { + var_02 = "axis"; + } + else + { + var_02 = "allies"; + } + + if(var_01 == maps\mp\gametypes\_gameobjects::getownerteam()) + { + maps\mp\gametypes\ctf::flageffectsstop(); + thread maps\mp\gametypes\ctf::returnflag(); + maps\mp\_utility::leaderdialog("flag_returned",var_01,"status"); + maps\mp\_utility::playsoundonplayers("mp_obj_notify_pos_med",var_01); + maps\mp\_utility::leaderdialog("enemy_flag_returned",var_02,"status"); + maps\mp\_utility::playsoundonplayers("mp_obj_notify_neg_med",var_02); + param_00 thread maps\mp\_events::flagreturnevent(); + maps\mp\gametypes\ctf::onresetflaghudstatus(var_01); + } +} + +//Function Number: 42 +ct_vista_cars() +{ + level endon("game_ended"); + var_00 = (33,62,-3); + var_01 = (33,-105,-3); + level.car01 = spawncar(var_00,(0,252,0)); + level.car02 = spawncar(var_00,(0,252,0)); + level.car03 = spawncar(var_01,(0,252,0)); + level.car04 = spawncar(var_01,(0,252,0)); + level.car05 = spawncar(var_01,(0,252,0)); + level.car06 = spawncar(var_00,(0,252,0)); + level.car07 = spawncar(var_00,(0,252,0)); + level.car08 = spawncar(var_00,(0,252,0)); + level.car09 = spawncar(var_01,(0,252,0)); + level.car10 = spawncar(var_01,(0,252,0)); + level.car11 = spawncar(var_01,(0,252,0)); + level.car12 = spawncar(var_00,(0,252,0)); + level.car13 = spawncar(var_00,(0,252,0)); + level.car14 = spawncar(var_00,(0,252,0)); + level.car15 = spawncar(var_01,(0,252,0)); + level.car16 = spawncar(var_01,(0,252,0)); + level.car17 = spawncar(var_01,(0,252,0)); + level.car18 = spawncar(var_00,(0,252,0)); + level.car19 = spawncar(var_00,(0,252,0)); + level.car20 = spawncar(var_00,(0,252,0)); + level.car21 = spawncar(var_01,(0,252,0)); + level.car22 = spawncar(var_01,(0,252,0)); + level.car23 = spawncar(var_01,(0,252,0)); + level.car24 = spawncar(var_00,(0,252,0)); + level.car01 setmodel("vehicle_ct_civ_vista_cars_01"); + level.car02 setmodel("vehicle_ct_civ_vista_cars_02"); + level.car03 setmodel("vehicle_ct_civ_vista_cars_03"); + level.car04 setmodel("vehicle_ct_civ_vista_cars_04"); + level.car05 setmodel("vehicle_ct_civ_vista_cars_05"); + level.car06 setmodel("vehicle_ct_civ_vista_cars_06"); + level.car07 setmodel("vehicle_ct_civ_vista_cars_06"); + level.car08 setmodel("vehicle_ct_civ_vista_cars_05"); + level.car09 setmodel("vehicle_ct_civ_vista_cars_04"); + level.car10 setmodel("vehicle_ct_civ_vista_cars_03"); + level.car11 setmodel("vehicle_ct_civ_vista_cars_02"); + level.car12 setmodel("vehicle_ct_civ_vista_cars_01"); + level.car13 setmodel("vehicle_ct_civ_vista_cars_03"); + level.car14 setmodel("vehicle_ct_civ_vista_cars_01"); + level.car15 setmodel("vehicle_ct_civ_vista_cars_02"); + level.car16 setmodel("vehicle_ct_civ_vista_cars_06"); + level.car17 setmodel("vehicle_ct_civ_vista_cars_04"); + level.car18 setmodel("vehicle_ct_civ_vista_cars_05"); + level.car19 setmodel("vehicle_ct_civ_vista_cars_02"); + level.car20 setmodel("vehicle_ct_civ_vista_cars_04"); + level.car21 setmodel("vehicle_ct_civ_vista_cars_06"); + level.car22 setmodel("vehicle_ct_civ_vista_cars_01"); + level.car23 setmodel("vehicle_ct_civ_vista_cars_03"); + level.car24 setmodel("vehicle_ct_civ_vista_cars_05"); + level.car01 notsolid(); + level.car02 notsolid(); + level.car03 notsolid(); + level.car04 notsolid(); + level.car05 notsolid(); + level.car06 notsolid(); + level.car07 notsolid(); + level.car08 notsolid(); + level.car09 notsolid(); + level.car10 notsolid(); + level.car11 notsolid(); + level.car12 notsolid(); + level.car13 notsolid(); + level.car14 notsolid(); + level.car15 notsolid(); + level.car16 notsolid(); + level.car17 notsolid(); + level.car18 notsolid(); + level.car19 notsolid(); + level.car20 notsolid(); + level.car21 notsolid(); + level.car22 notsolid(); + level.car23 notsolid(); + level.car24 notsolid(); + level.car01 hide(); + level.car02 hide(); + level.car03 hide(); + level.car04 hide(); + level.car05 hide(); + level.car06 hide(); + level.car07 hide(); + level.car08 hide(); + level.car09 hide(); + level.car10 hide(); + level.car11 hide(); + level.car12 hide(); + level.car13 hide(); + level.car14 hide(); + level.car15 hide(); + level.car16 hide(); + level.car17 hide(); + level.car18 hide(); + level.car19 hide(); + level.car20 hide(); + level.car21 hide(); + level.car22 hide(); + level.car23 hide(); + level.car24 hide(); + wait(0.05); + level.car01 scriptmodelplayanim("ct_vista_car_1"); + level.car02 scriptmodelplayanim("ct_vista_car_2"); + level.car03 scriptmodelplayanim("ct_vista_car_3"); + level.car04 scriptmodelplayanim("ct_vista_car_4"); + level.car05 scriptmodelplayanim("ct_vista_car_5"); + level.car06 scriptmodelplayanim("ct_vista_car_6"); + level.car01 thread unhidecar(); + level.car02 thread unhidecar(); + level.car03 thread unhidecar(); + level.car04 thread unhidecar(); + level.car05 thread unhidecar(); + level.car06 thread unhidecar(); + wait(5); + level.car07 scriptmodelplayanim("ct_vista_car_1"); + level.car08 scriptmodelplayanim("ct_vista_car_2"); + level.car09 scriptmodelplayanim("ct_vista_car_3"); + level.car10 scriptmodelplayanim("ct_vista_car_4"); + level.car11 scriptmodelplayanim("ct_vista_car_5"); + level.car12 scriptmodelplayanim("ct_vista_car_6"); + level.car07 thread unhidecar(); + level.car08 thread unhidecar(); + level.car09 thread unhidecar(); + level.car10 thread unhidecar(); + level.car11 thread unhidecar(); + level.car12 thread unhidecar(); + wait(5); + level.car13 scriptmodelplayanim("ct_vista_car_1"); + level.car14 scriptmodelplayanim("ct_vista_car_2"); + level.car15 scriptmodelplayanim("ct_vista_car_3"); + level.car16 scriptmodelplayanim("ct_vista_car_4"); + level.car17 scriptmodelplayanim("ct_vista_car_5"); + level.car18 scriptmodelplayanim("ct_vista_car_6"); + level.car13 thread unhidecar(); + level.car14 thread unhidecar(); + level.car15 thread unhidecar(); + level.car16 thread unhidecar(); + level.car17 thread unhidecar(); + level.car18 thread unhidecar(); + wait(5); + level.car19 scriptmodelplayanim("ct_vista_car_1"); + level.car20 scriptmodelplayanim("ct_vista_car_2"); + level.car21 scriptmodelplayanim("ct_vista_car_3"); + level.car22 scriptmodelplayanim("ct_vista_car_4"); + level.car23 scriptmodelplayanim("ct_vista_car_5"); + level.car24 scriptmodelplayanim("ct_vista_car_6"); + level.car19 thread unhidecar(); + level.car20 thread unhidecar(); + level.car21 thread unhidecar(); + level.car22 thread unhidecar(); + level.car23 thread unhidecar(); + level.car24 thread unhidecar(); +} + +//Function Number: 43 +unhidecar() +{ + wait(0.1); + self show(); +} + +//Function Number: 44 +spawncar(param_00,param_01) +{ + var_02 = spawn("script_model",param_00); + var_02.angles = param_01; + return var_02; +} + +//Function Number: 45 +delete_ct_vista_cars() +{ + level waittill("game_ended"); + level.car01 delete(); + level.car02 delete(); + level.car03 delete(); + level.car04 delete(); + level.car05 delete(); + level.car06 delete(); + level.car07 delete(); + level.car08 delete(); + level.car09 delete(); + level.car10 delete(); + level.car11 delete(); + level.car12 delete(); + level.car13 delete(); + level.car14 delete(); + level.car15 delete(); + level.car16 delete(); + level.car17 delete(); + level.car18 delete(); + level.car19 delete(); + level.car20 delete(); + level.car21 delete(); + level.car22 delete(); + level.car23 delete(); + level.car24 delete(); +} + +//Function Number: 46 +aud_play_bomb_flash() +{ +} + +//Function Number: 47 +aud_play_bomb_bounce() +{ + if(isdefined(self)) + { + maps\mp\_audio::snd_play_in_space("wpn_clown_bomb_bounce",self.origin); + } +} + +//Function Number: 48 +aud_bed_sfx(param_00) +{ + maps\mp\_audio::snd_play_linked_loop("emt_mp_ct3_bed_music_lp",param_00); +} + +//Function Number: 49 +aud_clowntown_sign_startup_sequence() +{ + maps\mp\_audio::snd_play_in_space("ct3_cannon_shot_music",level.launch_point.origin); + maps\mp\_audio::snd_play_in_space("mp_anr_clown_dyn_welcome",level.launch_point.origin); +} + +//Function Number: 50 +aud_event_sign_mech_idle() +{ + wait(1.5); + maps\mp\_audio::snd_play_loop_in_space("ct3_cannon_idle_mech_lp",level.launch_point.origin,"aud_stop_mech_loop"); +} + +//Function Number: 51 +aud_event_sign_hat_off(param_00) +{ + maps\mp\_audio::snd_play_in_space("ct3_cannon_mech_start",level.launch_point.origin,param_00); + maps\mp\_audio::snd_play_in_space("ct3_cannon_shot_fireworks",level.launch_point.origin,param_00); + maps\mp\_audio::snd_play_in_space("ct3_cannon_shot_music",level.launch_point.origin,param_00); + maps\mp\_audio::snd_play_in_space("mp_anr_clown_dyn_carnival",level.launch_point.origin); +} + +//Function Number: 52 +aud_event_fire_bomb() +{ + maps\mp\_audio::snd_play_in_space("ct3_cannon_shot",level.launch_point.origin); +} + +//Function Number: 53 +aud_event_sign_hat_on(param_00) +{ + maps\mp\_audio::snd_play_in_space_delayed("ct3_cannon_mech_end",level.launch_point.origin,0.55,param_00); + maps\mp\_audio::snd_play_in_space("mp_anr_clown_dyn_carnival",level.launch_point.origin); +} + +//Function Number: 54 +scriptmodelplayanimwithnotifycheap(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + if(isdefined(param_05)) + { + level endon(param_05); + } + + param_00 scriptmodelplayanimdeltamotion(param_01,param_02); + thread scriptmodelplayanimwithnotifycheap_notetracks(param_00,param_02,param_03,param_04,param_05,param_06,param_07); +} + +//Function Number: 55 +scriptmodelplayanimwithnotifycheap_notetracks(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + if(isdefined(param_04)) + { + level endon(param_04); + } + + if(isdefined(param_05)) + { + param_00 endon(param_05); + } + + if(isdefined(param_06)) + { + param_00 endon(param_06); + } + + param_00 endon("death"); + for(;;) + { + param_00 waittillmatch(param_02,param_01); + param_00 playsound(param_03); + } +} + +//Function Number: 56 +clowntownclippatch() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_clowntown3_aud.gsc b/AW/PC/maps/mp/mp_clowntown3_aud.gsc new file mode 100644 index 0000000..beb15d8 --- /dev/null +++ b/AW/PC/maps/mp/mp_clowntown3_aud.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_clowntown3_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:17:14 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_clowntown3_fx.gsc b/AW/PC/maps/mp/mp_clowntown3_fx.gsc new file mode 100644 index 0000000..dca49b6 --- /dev/null +++ b/AW/PC/maps/mp/mp_clowntown3_fx.gsc @@ -0,0 +1,65 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_clowntown3_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:17:14 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["ball_trail"] = loadfx("vfx/map/mp_clowntown/vfx_clown_ball_trl"); + level._effect["ball_idle"] = loadfx("vfx/map/mp_clowntown/vfx_clown_ball_idle"); + level._effect["cannon_firing"] = loadfx("vfx/map/mp_clowntown/ct_cannon_blast"); + level._effect["ball_flash"] = loadfx("vfx/map/mp_clowntown/vfx_clown_ball_glow"); + level._effect["ball_physics_impact"] = loadfx("vfx/map/mp_clowntown/clown_ball_bounce"); + level._effect["spark_fountain1"] = loadfx("vfx/weaponimpact/metal_spark_fountain_large"); + level._effect["mp_clowtown_sign_bubbles"] = loadfx("vfx/map/mp_clowntown/mp_clowtown_sign_bubbles"); + level._effect["mp_trash_blowing_ground"] = loadfx("vfx/wind/dlc/mp_trash_blowing_ground"); + level._effect["plastic_shreds_hanging_e_slow"] = loadfx("vfx/wind/plastic_shreds_hanging_e_slow"); + level._effect["amb_dust_patch_light"] = loadfx("vfx/dust/amb_dust_patch_light"); + level._effect["water_pipe_drip_lp"] = loadfx("vfx/water/water_pipe_drip_lp"); + level._effect["mp_dust_blowing_runner"] = loadfx("vfx/map/mp_clowntown/mp_dust_blowing_runner"); + level._effect["mp_ground_grassdirt_runner"] = loadfx("vfx/map/mp_clowntown/mp_ground_grassdirt_runner"); + level._effect["bird_vulture_circle_a_loop"] = loadfx("vfx/animal/bird_vulture_circle_a_loop"); + level._effect["rock_dust_falling_runner"] = loadfx("vfx/map/mp_clowntown/rock_dust_falling_runner"); + level._effect["fx_sunflare_clowntown_dlc"] = loadfx("vfx/lensflare/fx_sunflare_clowntown_dlc"); + level._effect["mp_ground_dirt_loop_runner"] = loadfx("vfx/map/mp_clowntown/mp_ground_dirt_loop_runner"); + level._effect["mp_clowntown_amb_dust_lg"] = loadfx("vfx/map/mp_clowntown/mp_clowntown_amb_dust_lg"); + level._effect["mp_clowntown_ambient_needles"] = loadfx("vfx/map/mp_clowntown/mp_clowntown_ambient_needles"); + level._effect["insects_flies_wall"] = loadfx("vfx/animal/insects_flies_wall"); + level._effect["mp_clowntown_dust_ambient_int"] = loadfx("vfx/map/mp_clowntown/mp_clowntown_dust_ambient_int"); + level._effect["falling_sewage_water_ripple_runner"] = loadfx("vfx/map/mp_clowntown/falling_sewage_water_ripple_runner"); + level._effect["sewage_water_stream"] = loadfx("vfx/map/mp_clowntown/sewage_water_stream"); + level._effect["roach_flock_slow_crawl_runner"] = loadfx("vfx/map/mp_clowntown/roach_flock_slow_crawl_runner"); + level._effect["roach_flock_scatter_runner"] = loadfx("vfx/map/mp_clowntown/roach_flock_scatter_runner"); + level._effect["sewage_water_trash"] = loadfx("vfx/map/mp_clowntown/sewage_water_trash"); + level._effect["sewage_water_bubbles"] = loadfx("vfx/map/mp_clowntown/sewage_water_bubbles"); + level._effect["insects_fruitflies_flying"] = loadfx("vfx/animal/insects_fruitflies_flying"); + level._effect["sewage_flies_flying"] = loadfx("vfx/map/mp_clowntown/sewage_flies_flying"); + level._effect["mp_clowntown_cloud_cover"] = loadfx("vfx/map/mp_clowntown/mp_clowntown_cloud_cover"); + level._effect["birds_tree_flyout_runner"] = loadfx("vfx/animal/birds_tree_flyout_runner"); + level._effect["mp_godray_dusty"] = loadfx("vfx/map/mp_clowntown/mp_godray_dusty"); + level._effect["insects_dragonfly_runner_a"] = loadfx("vfx/animal/insects_dragonfly_runner_a"); + level._effect["insects_moths"] = loadfx("vfx/animal/insects_moths"); + level._effect["insects_flies_landing"] = loadfx("vfx/animal/insects_flies_landing"); + level._effect["falling_water_drip_line_runner_slow"] = loadfx("vfx/water/falling_water_drip_line_runner_slow"); + level._effect["falling_water_drip_line_lg_runner_fast"] = loadfx("vfx/water/falling_water_drip_line_lg_runner_fast"); + level._effect["trash_dust_tornado_s_runner"] = loadfx("vfx/wind/trash_dust_tornado_s_runner"); + level._effect["mp_ground_dirt_loop_runner_flat"] = loadfx("vfx/map/mp_clowntown/mp_ground_dirt_loop_runner_flat"); + level._effect["mp_clowntown_rock_slide_s"] = loadfx("vfx/map/mp_clowntown/mp_clowntown_rock_slide_s"); + level._effect["mp_ground_ambient_sitting_dust"] = loadfx("vfx/map/mp_clowntown/mp_ground_ambient_sitting_dust"); + level._effect["electrical_sparks_small_runner"] = loadfx("vfx/explosion/electrical_sparks_small_runner"); + level._effect["mp_clowntown_bathroom_steam"] = loadfx("vfx/map/mp_clowntown/mp_clowntown_bathroom_steam"); + level._effect["mp_clowtown_sign_bubbles_runner"] = loadfx("vfx/map/mp_clowntown/mp_clowtown_sign_bubbles_runner"); + level._effect["mp_clowntown_bomb_fuse"] = loadfx("vfx/map/mp_clowntown/mp_clowntown_bomb_fuse"); + level._effect["mp_dust_blowing_runner_02"] = loadfx("vfx/map/mp_clowntown/mp_dust_blowing_runner_02"); + level._effect["dust_blowing_vista"] = loadfx("vfx/dust/dust_blowing_vista"); + level._effect["ct_heat_distortion_large"] = loadfx("vfx/map/mp_clowntown/ct_heat_distortion_large"); + level._effect["ground_sand_skitter"] = loadfx("vfx/sand/ground_sand_skitter"); + level._effect["mp_ground_dirt_loop_04"] = loadfx("vfx/map/mp_clowntown/mp_ground_dirt_loop_04"); + level._effect["clowntown_fire_m"] = loadfx("vfx/map/mp_clowntown/clowntown_fire_m"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_clowntown3_lighting.gsc b/AW/PC/maps/mp/mp_clowntown3_lighting.gsc new file mode 100644 index 0000000..03bdff5 --- /dev/null +++ b/AW/PC/maps/mp/mp_clowntown3_lighting.gsc @@ -0,0 +1,16 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_clowntown3_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 31 ms + * Timestamp: 4/22/2024 2:17:15 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setdvar("r_lightGridEnableTweaks",1); + setdvar("r_lightGridIntensity",1.33); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_clowntown3_precache.gsc b/AW/PC/maps/mp/mp_clowntown3_precache.gsc new file mode 100644 index 0000000..95cc30e --- /dev/null +++ b/AW/PC/maps/mp/mp_clowntown3_precache.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_clowntown3_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 2:17:15 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_comeback.gsc b/AW/PC/maps/mp/mp_comeback.gsc new file mode 100644 index 0000000..31c644c --- /dev/null +++ b/AW/PC/maps/mp/mp_comeback.gsc @@ -0,0 +1,101 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_comeback.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 7 + * Decompile Time: 107 ms + * Timestamp: 4/22/2024 2:17:16 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\mp\mp_comeback_precache::main(); + maps\createart\mp_comeback_art::main(); + maps\mp\mp_comeback_fx::main(); + maps\mp\_load::main(); + maps\mp\mp_comeback_lighting::main(); + maps\mp\mp_comeback_aud::main(); + level.aerial_pathnode_offset = 600; + level.aerial_pathnode_group_connect_dist = 275; + maps\mp\_compass::setupminimap("compass_map_mp_comeback"); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + level.mapcustomkillstreakfunc = ::comebackcustomkillstreakfunc; + level.orbitalsupportoverridefunc = ::comebackcustomospfunc; + level thread init_ceiling_fans(); + level thread init_traffic(); + level.ospvisionset = "mp_comeback_osp"; + level.osplightset = "mp_comeback_osp"; + level.dronevisionset = "mp_comeback_drone"; + level.dronelightset = "mp_comeback_drone"; + level.warbirdvisionset = "mp_comeback_warbird"; + level.warbirdlightset = "mp_comeback_warbird"; + level.goliath_bad_landing_volumes = getentarray("goliath_bad_landing_volume","targetname"); + maps\mp\killstreaks\_aerial_utility::patchheliloopnode((-2172,364,1836),(-1472,364,1836)); +} + +//Function Number: 2 +comebackcustomkillstreakfunc() +{ + level thread maps\mp\killstreaks\streak_mp_comeback::init(); +} + +//Function Number: 3 +comebackcustomospfunc() +{ + if(level.currentgen) + { + level.orbitalsupportoverrides.spawnanglemin = 30; + level.orbitalsupportoverrides.spawnanglemax = 90; + level.orbitalsupportoverrides.spawnheight = 9541; + level.orbitalsupportoverrides.leftarc = 15; + level.orbitalsupportoverrides.rightarc = 15; + level.orbitalsupportoverrides.toparc = -40; + level.orbitalsupportoverrides.bottomarc = 60; + } +} + +//Function Number: 4 +init_ceiling_fans() +{ + var_00 = getentarray("ceiling_fan","targetname"); + common_scripts\utility::array_thread(var_00,::ceiling_fan); +} + +//Function Number: 5 +ceiling_fan() +{ + var_00 = 1800; + var_01 = randomfloatrange(700,750); + for(;;) + { + self rotatevelocity((0,var_01,0),var_00); + wait(var_00); + } +} + +//Function Number: 6 +init_traffic() +{ + var_00 = []; + for(var_01 = 1;var_01 <= 7;var_01++) + { + var_02 = "mp_comeback_vista_cars_0" + var_01; + precachempanim(var_02); + var_00[var_00.size] = var_02; + } + + var_03 = getentarray("traffic","targetname"); + for(var_01 = 0;var_01 < var_03.size && var_00.size;var_01++) + { + var_03[var_01] thread run_traffic(var_00[var_01]); + } +} + +//Function Number: 7 +run_traffic(param_00) +{ + self scriptmodelplayanimdeltamotionfrompos(param_00,(0,0,0),(0,0,0)); +} \ No newline at end of file diff --git a/AW/PC/SP/1342.gsc b/AW/PC/maps/mp/mp_comeback_aud.gsc similarity index 56% rename from AW/PC/SP/1342.gsc rename to AW/PC/maps/mp/mp_comeback_aud.gsc index a66d51b..5fd3462 100644 --- a/AW/PC/SP/1342.gsc +++ b/AW/PC/maps/mp/mp_comeback_aud.gsc @@ -1,23 +1,20 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: 1342.gsc + * Decompiled File: mp\mp_comeback_aud.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 0 ms - * Timestamp: 10/27/2023 1:57:06 AM + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 2:17:16 AM *******************************************************************/ //Function Number: 1 -initstructs() +main() { - level.struct = []; + level thread setup_audio(); } //Function Number: 2 -createstruct() +setup_audio() { - var_00 = spawnstruct(); - level.struct[level.struct.size] = var_00; - return var_00; } \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_comeback_fx.gsc b/AW/PC/maps/mp/mp_comeback_fx.gsc new file mode 100644 index 0000000..5435fe4 --- /dev/null +++ b/AW/PC/maps/mp/mp_comeback_fx.gsc @@ -0,0 +1,77 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_comeback_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:17:16 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["mp_gb_sparks_runner"] = loadfx("vfx/map/mp_greenband/mp_gb_sparks_runner"); + level._effect["glass_falling_s_lp"] = loadfx("vfx/glass/glass_falling_s_lp"); + level._effect["mp_det_light_spotlight_cone_flare"] = loadfx("vfx/lights/mp_detroit/mp_det_light_spotlight_cone_flare"); + level._effect["ground_sand_light_wind_lp"] = loadfx("vfx/sand/ground_sand_light_wind_lp"); + level._effect["fire_wreckage_ground_nolight"] = loadfx("vfx/map/crash/fire_wreckage_ground_nolight"); + level._effect["fire_crawl_wall_lrg"] = loadfx("vfx/fire/fire_crawl_wall_lrg"); + level._effect["fire_crawl_interior_wall_med"] = loadfx("vfx/fire/fire_crawl_interior_wall_med"); + level._effect["fire_lp_l_blacksmk_thick_nonlit2"] = loadfx("vfx/fire/fire_lp_l_blacksmk_thick_nonlit2"); + level._effect["sand_car_kickup"] = loadfx("vfx/sand/sand_car_kickup"); + level._effect["mp_comeback_tower_walls"] = loadfx("vfx/map/mp_comeback/mp_comeback_tower_walls"); + level._effect["mp_comeback_tower_steam_flare02"] = loadfx("vfx/map/mp_comeback/mp_comeback_tower_steam_flare02"); + level._effect["wind_gust_fan_vortex_lt_mp"] = loadfx("vfx/map/mp_dam/wind_gust_fan_vortex_lt_mp"); + level._effect["fire_lp_m_blacksmk"] = loadfx("vfx/fire/fire_lp_m_blacksmk"); + level._effect["fireball_lp_smk_xlrg_tall"] = loadfx("vfx/fire/fireball_lp_smk_xlrg_tall"); + level._effect["fireball_lp_smk_s"] = loadfx("vfx/fire/fireball_lp_smk_s"); + level._effect["rain_forest_dripping_leaves_100x100_runner2"] = loadfx("vfx/water/rain_forest_dripping_leaves_100x100_runner2"); + level._effect["mp_comeback_tower_steam_flare01"] = loadfx("vfx/map/mp_comeback/mp_comeback_tower_steam_flare01"); + level._effect["rain_forest_dripping_leaves_100x100_runner"] = loadfx("vfx/water/rain_forest_dripping_leaves_100x100_runner"); + level._effect["grass_tornado_s_runner"] = loadfx("vfx/wind/grass_tornado_s_runner"); + level._effect["leaves_tornado_s_runner"] = loadfx("vfx/wind/leaves_tornado_s_runner"); + level._effect["ie_leaves_tornado_runner"] = loadfx("vfx/map/irons_estate/ie_leaves_tornado_runner"); + level._effect["fluorescent_glow_2"] = loadfx("vfx/lights/global/fluorescent_glow_2"); + level._effect["grass_blowing_wind_01"] = loadfx("vfx/foliage/grass_blowing_wind_01"); + level._effect["falling_water_drip_line_lg_runner_sht_fast"] = loadfx("vfx/water/falling_water_drip_line_lg_runner_sht_fast"); + level._effect["glass_falling_m_runner"] = loadfx("vfx/glass/glass_falling_m_runner"); + level._effect["mp_cb_gdry_01"] = loadfx("vfx/lights/mp_comeback/mp_cb_gdry_01"); + level._effect["mp_cb_gdry_02"] = loadfx("vfx/lights/mp_comeback/mp_cb_gdry_02"); + level._effect["mp_cb_gdry_03"] = loadfx("vfx/lights/mp_comeback/mp_cb_gdry_03"); + level._effect["mp_cb_gdry_04"] = loadfx("vfx/lights/mp_comeback/mp_cb_gdry_04"); + level._effect["ambient_sand_lingering"] = loadfx("vfx/sand/ambient_sand_lingering"); + level._effect["mp_comeback_tower_steam_below"] = loadfx("vfx/map/mp_comeback/mp_comeback_tower_steam_below"); + level._effect["bird_vulture_circle_runner"] = loadfx("vfx/animal/bird_vulture_circle_runner"); + level._effect["generator_damage_runner"] = loadfx("vfx/explosion/generator_damage_runner"); + level._effect["insects_dragonfly_runner_a"] = loadfx("vfx/animal/insects_dragonfly_runner_a"); + level._effect["light_godray_beam_5"] = loadfx("vfx/lights/light_godray_beam_5"); + level._effect["light_godray_beam_7"] = loadfx("vfx/lights/light_godray_beam_7"); + level._effect["light_godray_beam_9"] = loadfx("vfx/lights/light_godray_beam_9"); + level._effect["light_godray_beam_8"] = loadfx("vfx/lights/light_godray_beam_8"); + level._effect["ground_sand_drifts_flat_lp"] = loadfx("vfx/sand/ground_sand_drifts_flat_lp"); + level._effect["steam_sm_vent2"] = loadfx("vfx/steam/steam_sm_vent2"); + level._effect["fx_sunflare_comback"] = loadfx("vfx/map/mp_comeback/fx_sunflare_comback"); + level._effect["godray_window_large2_mp"] = loadfx("vfx/map/mp_dam/godray_window_large2_mp"); + level._effect["dust_blowing_ground_02_runner"] = loadfx("vfx/map/mp_solar/dust_blowing_ground_02_runner"); + level._effect["amb_dust_wind_01"] = loadfx("vfx/dust/amb_dust_wind_01"); + level._effect["det_fluorescent_glow"] = loadfx("vfx/lights/global/det_fluorescent_glow"); + level._effect["falling_water_drip_circle_lg_runner_fast"] = loadfx("vfx/water/falling_water_drip_circle_lg_runner_fast"); + level._effect["mp_levity_dust_ambient_int"] = loadfx("vfx/map/mp_levity/mp_levity_dust_ambient_int"); + level._effect["mp_comeback_tower_steam"] = loadfx("vfx/map/mp_comeback/mp_comeback_tower_steam"); + level._effect["det_light_spotlight_cone_haze_cool"] = loadfx("vfx/lights/detroit/det_light_spotlight_cone_haze_cool"); + level._effect["det_light_spotlight_cone_haze"] = loadfx("vfx/lights/detroit/det_light_spotlight_cone_haze"); + level._effect["fluorescent_glow"] = loadfx("vfx/lights/global/fluorescent_glow"); + level._effect["insects_flies_landing"] = loadfx("vfx/animal/insects_flies_landing"); + level._effect["base_tower_light_glow_red_steady"] = loadfx("vfx/lights/base/base_tower_light_glow_red_steady"); + level._effect["det_light_panel_glow"] = loadfx("vfx/lights/det_light_panel_glow"); + level._effect["amb_dust_patch_light"] = loadfx("vfx/dust/amb_dust_patch_light"); + level._effect["vehicle_engine_fire_no_light"] = loadfx("vfx/fire/vehicle_engine_fire_no_light"); + level._effect["trash_tornado_s_runner"] = loadfx("vfx/wind/trash_tornado_s_runner"); + level._effect["leaves_fall_gentlewind"] = loadfx("vfx/wind/leaves_fall_gentlewind"); + level._effect["wind_blowing_trash"] = loadfx("vfx/wind/wind_blowing_trash"); + level._effect["steam_sm_vent"] = loadfx("vfx/steam/steam_sm_vent"); + level._effect["steam_generator"] = loadfx("vfx/steam/steam_generator"); + level._effect["smoke_pillar_black_medium_slow"] = loadfx("vfx/smoke/smoke_pillar_black_medium_slow"); + level._effect["exterior_ground_steam_lp"] = loadfx("vfx/steam/exterior_ground_steam_lp"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_comeback_lighting.gsc b/AW/PC/maps/mp/mp_comeback_lighting.gsc new file mode 100644 index 0000000..10b0396 --- /dev/null +++ b/AW/PC/maps/mp/mp_comeback_lighting.gsc @@ -0,0 +1,24 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_comeback_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 35 ms + * Timestamp: 4/22/2024 2:17:17 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setdvar("r_reflectionprobefog","1"); + setdvar("r_lightGridEnableTweaks","1"); + setdvar("r_lightGridIntensity","1.33"); + setdvar("r_gunSightColorEntityScale","7"); + setdvar("r_gunSightColorNoneScale","0.8"); + if(level.currentgen) + { + setdvar("r_intensity",1.15); + setdvar("r_brightness",getdvar("r_brightness") + 0.07); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_comeback_precache.gsc b/AW/PC/maps/mp/mp_comeback_precache.gsc new file mode 100644 index 0000000..fcf7872 --- /dev/null +++ b/AW/PC/maps/mp/mp_comeback_precache.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_comeback_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:17:17 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_dam.gsc b/AW/PC/maps/mp/mp_dam.gsc new file mode 100644 index 0000000..e4f2983 --- /dev/null +++ b/AW/PC/maps/mp/mp_dam.gsc @@ -0,0 +1,588 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_dam.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 29 + * Decompile Time: 440 ms + * Timestamp: 4/22/2024 2:17:19 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + precachemodel("mp_dam_large_caliber_turret"); + maps\mp\mp_dam_precache::main(); + maps\createart\mp_dam_art::main(); + maps\mp\mp_dam_fx::main(); + maps\mp\_load::main(); + maps\mp\mp_dam_lighting::main(); + maps\mp\_compass::setupminimap("compass_map_mp_dam"); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + level.aerial_pathnode_offset = 600; + level.mapcustomkillstreakfunc = ::damcustomkillstreakfunc; + level.orbitalsupportoverridefunc = ::damcustomospfunc; + setdvar("r_mpRimColor","1 1 1"); + setdvar("r_mpRimStrength","1"); + setdvar("r_mpRimDiffuseTint","1 1 1"); + thread rotategenerators(); + thread crane1movement(); + thread crane2movement(); + thread setupkillstreakturrets(); + thread handle_glass_pathing(); + thread damcustomairstrike(); + thread dampatchclip(); + thread removebadtriggerhurtthatguyplacedwrong(); +} + +//Function Number: 2 +removebadtriggerhurtthatguyplacedwrong() +{ + var_00 = (-467,1256,510); + var_01 = getentarray("trigger_hurt","classname"); + foreach(var_03 in var_01) + { + var_04 = distance(var_00,var_03.origin); + if(var_04 < 32) + { + var_03 dontinterpolate(); + var_03.origin = var_03.origin + (0,0,-10000); + } + } +} + +//Function Number: 3 +dampatchclip() +{ + thread uppertreeclip(); + thread constructionclip(); + thread droneexteriorclip(); + thread loungeclip(); +} + +//Function Number: 4 +loungeclip() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-732,524,207),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-675,528,207),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-676,482,207),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-737,452,212),(0,0,0)); +} + +//Function Number: 5 +droneexteriorclip() +{ + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_128_128_128",(2455,-223,194),(0,18,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_128_128_128",(2495.3,-344.9,194),(0,18,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_128_128_128",(2534.91,-466.64,194),(0,18,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_128_128_128",(2574.46,-588.38,194),(0,18,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_128_128_128",(2455.8,-223.2,66),(0,18,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_128_128_128",(2495.4,-344.9,66),(0,18,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_128_128_128",(2534.9,-466.6,66),(0,18,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_128_128_128",(2574.5,-588.4,66),(0,18,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_128_128_128",(2455.8,-223.2,-62),(0,18,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_128_128_128",(2495.4,-344.9,-62),(0,18,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_128_128_128",(2534.9,-466.6,-62),(0,18,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_128_128_128",(2574.5,-588.4,-62),(0,18,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_128_128_128",(2577.54,-183.62,194),(0,18,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_128_128_128",(2617.09,-305.35,194),(0,18,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_128_128_128",(2656.64,-427.09,194),(0,18,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_128_128_128",(2696.2,-548.82,194),(0,18,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_128_128_128",(2577.5,-183.6,66),(0,18,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_128_128_128",(2617.1,-305.4,66),(0,18,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_128_128_128",(2656.6,-427.1,66),(0,18,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_128_128_128",(2696.2,-548.8,66),(0,18,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_128_128_128",(2577.5,-183.6,-62),(0,18,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_128_128_128",(2617.1,-305.4,-62),(0,18,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_128_128_128",(2656.6,-427.1,-62),(0,18,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_128_128_128",(2696.2,-548.8,-62),(0,18,0)); +} + +//Function Number: 6 +uppertreeclip() +{ + var_00 = (0,344,0); + var_01 = (-20,-2700,302); + var_02 = 0; + for(var_03 = 0;var_03 < 8;var_03++) + { + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",var_01 + (0,0,var_02),var_00); + var_02 = var_02 + 128; + } +} + +//Function Number: 7 +constructionclip() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(894,-704,766),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1150,-704,766),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1406,-704,766),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1662,-704,766),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(774,-840,766),(0,180,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(774,-1096,766),(0,180,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(802,-840,766),(0,180,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(802,-1096,766),(0,180,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(894,-704,1022),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1252,-908,766),(0,180,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1150,-704,1022),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1406,-704,1022),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(894,-790,766),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1150,-790,766),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1406,-790,766),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1662,-790,766),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1662,-704,1022),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(774,-840,1022),(0,180,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(774,-1096,1022),(0,180,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(802,-840,1022),(0,180,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(802,-1096,1022),(0,180,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1252,-908,1022),(0,180,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(894,-790,1022),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1150,-790,1022),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1406,-790,1022),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1662,-790,1022),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(894,-704,1278),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1150,-704,1278),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1406,-704,1278),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1662,-704,1278),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(774,-840,1278),(0,180,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(774,-1096,1278),(0,180,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(802,-840,1278),(0,180,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(802,-1096,1278),(0,180,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1252,-908,1278),(0,180,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(894,-790,1278),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1150,-790,1278),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1406,-790,1278),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1662,-790,1278),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1544,-726,572),(0,262,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1292,-708,572),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1156,-708,572),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(904,-726,572),(0,278,0)); +} + +//Function Number: 8 +damcustomairstrike() +{ + if(!isdefined(level.airstrikeoverrides)) + { + level.airstrikeoverrides = spawnstruct(); + } + + level.airstrikeoverrides.spawnheight = 1750; +} + +//Function Number: 9 +damcustomkillstreakfunc() +{ + level.killstreakweildweapons["mp_dam_railgun"] = 1; + level.killstreakweildweapons["dam_turret_mp"] = 1; + level thread maps\mp\killstreaks\streak_mp_dam::init(); +} + +//Function Number: 10 +damcustomospfunc() +{ + level.orbitalsupportoverrides.spawnorigin = (1544,1016,200); + level.orbitalsupportoverrides.spawnangle = 120; + level.orbitalsupportoverrides.spawnradius = undefined; + level.orbitalsupportoverrides.spawnheight = undefined; +} + +//Function Number: 11 +setupkillstreakturrets() +{ + var_00 = []; + var_01 = getent("railgun_attachpoint0","targetname"); + var_02 = var_01 spawndamturret("dam_turret_mp","mp_dam_large_caliber_turret","tag_player_mp"); + var_00 = common_scripts\utility::array_add(var_00,var_02); + var_01 = getent("railgun_attachpoint1","targetname"); + var_02 = var_01 spawndamturret("dam_turret_mp","mp_dam_large_caliber_turret","tag_player_mp"); + var_00 = common_scripts\utility::array_add(var_00,var_02); + level.damturrets = var_00; +} + +//Function Number: 12 +spawndamturret(param_00,param_01,param_02) +{ + var_03 = spawnturret("misc_turret",self.origin,param_00,0); + var_03.attachpoint = self; + var_03.angles = common_scripts\utility::flat_angle(self.angles); + var_03 setmodel(param_01); + var_03 setdefaultdroppitch(45); + var_03.health = 99999; + var_03.maxhealth = 1000; + var_03.damagetaken = 0; + var_03.stunned = 0; + var_03.stunnedtime = 0; + var_03 setcandamage(0); + var_03 setcanradiusdamage(0); + var_03 setmode("manual"); + level.damdefaultaiment = getent("DamTurretDefaultTarget","targetname"); + var_03 settargetentity(level.damdefaultaiment); + return var_03; +} + +//Function Number: 13 +setupcraneanimations() +{ + precachempanim("dam_crane01_idle_l"); + precachempanim("dam_crane01_idle_r"); + precachempanim("dam_crane01_l_2_r"); + precachempanim("dam_crane01_r_2_l"); + precachempanim("dam_crane02_idle_l"); + precachempanim("dam_crane02_idle_r"); + precachempanim("dam_crane02_l_2_r"); + precachempanim("dam_crane02_r_2_l"); + precachempanim("dam_crane01_tag_idle_l"); + precachempanim("dam_crane01_tag_idle_r"); + precachempanim("dam_crane01_tag_l_2_r"); + precachempanim("dam_crane01_tag_r_2_l"); + precachempanim("dam_crane02_tag_idle_l"); + precachempanim("dam_crane02_tag_idle_r"); + precachempanim("dam_crane02_tag_l_2_r"); + precachempanim("dam_crane02_tag_r_2_l"); + precachempanim("dam_crane01_collisiontest"); +} + +//Function Number: 14 +cranecollisiontest() +{ + var_00 = getent("Crane_02","targetname"); + var_01 = getent("crane2PipeCollision","targetname"); + var_01 linkto(var_00,"j_tube_01_c"); + for(;;) + { + var_00 scriptmodelplayanimdeltamotion("dam_crane01_collisiontest"); + wait(20); + } +} + +//Function Number: 15 +tempcraneidlesetup() +{ + var_00 = getent("Crane_01","targetname"); + var_01 = getent("crane1PipeCollision","targetname"); + var_01 linkto(var_00,"j_tube_01_c"); + var_02 = getent("Crane_02","targetname"); + var_03 = getent("crane2PipeCollision","targetname"); + var_03 linkto(var_02,"j_tube_01_c"); + var_00 scriptmodelplayanimdeltamotion("dam_crane02_idle_l"); + var_02 scriptmodelplayanimdeltamotion("dam_crane01_idle_l"); +} + +//Function Number: 16 +crane1movement() +{ + var_00 = getent("Crane_01_TagProxy","targetname"); + var_01 = getent("Crane_01","targetname"); + var_02 = getent("crane1PipeCollision","targetname"); + var_03 = getent("crane_01_bcs_trigger","targetname"); + var_04 = getent("Crane_01_TagBaseProxy","targetname"); + var_05 = getent("crane1Collision","targetname"); + var_02 vehicle_jetbikesethoverforcescale(var_00,"tag_origin"); + var_03 handle_trigger_updateto(var_02); + var_05.angles = var_05.angles + (0,-249.215,0); + var_05 vehicle_jetbikesethoverforcescale(var_04,"tag_origin"); + var_06 = 20; + var_07 = (2181,-1069,1407); + thread aud_play_crane_sfx(var_07,var_06,"crane_01"); + for(;;) + { + var_00 scriptmodelclearanim(); + var_00.origin = var_01.origin; + var_00.angles = var_01.angles; + var_04 scriptmodelclearanim(); + var_01 scriptmodelplayanimdeltamotion("dam_crane01_l_2_r"); + var_00 scriptmodelplayanimdeltamotion("dam_crane01_tag_l_2_r"); + var_04 scriptmodelplayanimdeltamotion("dam_crane01_tag_base_l_2_r"); + wait(var_06); + var_00 scriptmodelclearanim(); + var_00.origin = var_01.origin; + var_00.angles = var_01.angles; + var_04 scriptmodelclearanim(); + var_01 scriptmodelplayanimdeltamotion("dam_crane01_r_2_l"); + var_00 scriptmodelplayanimdeltamotion("dam_crane01_tag_r_2_l"); + var_04 scriptmodelplayanimdeltamotion("dam_crane01_tag_base_r_2_l"); + wait(var_06); + } +} + +//Function Number: 17 +crane2movement() +{ + var_00 = getent("Crane_02_TagProxy","targetname"); + var_01 = getent("Crane_02","targetname"); + var_02 = getent("crane2PipeCollision","targetname"); + var_03 = getent("crane_02_bcs_trigger","targetname"); + var_04 = getent("Crane_02_TagBaseProxy","targetname"); + var_05 = getent("crane2Collision","targetname"); + var_06 = 20; + var_07 = (849,2315,1455); + thread aud_play_crane_sfx(var_07,var_06,"crane_02"); + var_02 vehicle_jetbikesethoverforcescale(var_00,"tag_origin"); + var_03 handle_trigger_updateto(var_02); + var_05.angles = var_05.angles + (0,-117.312,0); + var_05 vehicle_jetbikesethoverforcescale(var_04,"tag_origin"); + for(;;) + { + var_00 scriptmodelclearanim(); + var_00.origin = var_01.origin; + var_00.angles = var_01.angles; + var_04 scriptmodelclearanim(); + var_01 scriptmodelplayanimdeltamotion("dam_crane02_l_2_r"); + var_00 scriptmodelplayanimdeltamotion("dam_crane02_tag_l_2_r"); + var_04 scriptmodelplayanimdeltamotion("dam_crane02_tag_base_l_2_r"); + wait(var_06); + var_00 scriptmodelclearanim(); + var_00.origin = var_01.origin; + var_00.angles = var_01.angles; + var_04 scriptmodelclearanim(); + var_01 scriptmodelplayanimdeltamotion("dam_crane02_r_2_l"); + var_00 scriptmodelplayanimdeltamotion("dam_crane02_tag_r_2_l"); + var_04 scriptmodelplayanimdeltamotion("dam_crane02_tag_base_r_2_l"); + wait(var_06); + } +} + +//Function Number: 18 +handle_trigger_updateto(param_00) +{ + level endon("game_ended"); + var_01 = self.origin - param_00.origin; + var_02 = self.angles - param_00.angles; + childthread movetrig(param_00,var_01,var_02); +} + +//Function Number: 19 +movetrig(param_00,param_01,param_02) +{ + for(;;) + { + self.origin = param_00.origin + param_01; + self.angles = param_00.angles - param_02; + wait(0.05); + } +} + +//Function Number: 20 +aud_play_crane_sfx(param_00,param_01,param_02) +{ + var_03 = param_00; + var_04 = spawn("script_origin",var_03); +} + +//Function Number: 21 +rotategenerators() +{ + var_00 = getentarray("generator_fan","targetname"); + foreach(var_02 in var_00) + { + var_02 thread rotatefan(); + } +} + +//Function Number: 22 +rotatefan() +{ + if(!isdefined(level.genrotatespeed)) + { + level.genrotatespeed = -180; + } + + var_00 = 0; + for(;;) + { + if(var_00 != level.genrotatespeed) + { + self rotatevelocity((0,level.genrotatespeed,0),3600); + var_00 = level.genrotatespeed; + } + + wait(0.5); + } +} + +//Function Number: 23 +rotatecrane() +{ + level endon("game_ended"); + for(;;) + { + self.cab rotateto((0,getdvarint(self.end_angle_dvar,180),0),getdvarint(self.time_dvar,10),1,1); + self.platform rotateto((0,getdvarint(self.end_angle_dvar,180),0),getdvarint(self.time_dvar,10),1,1); + self.pipe rotateto((0,getdvarint(self.end_angle_dvar,180),0),getdvarint(self.time_dvar,10),1,1); + self.pulley rotateto((0,getdvarint(self.end_angle_dvar,180),0),getdvarint(self.time_dvar,10),1,1); + self.hook rotateto((0,getdvarint(self.end_angle_dvar,180),0),getdvarint(self.time_dvar,10),1,1); + self.heightoscillator moveto((0,0,getdvarint(self.pipe_end_height_dvar,0)),getdvarint(self.time_dvar,10),1,1); + self.radiusoscillator moveto((0,0,getdvarint(self.pipe_end_radius_dvar,0)),getdvarint(self.time_dvar,10),1,1); + wait(getdvarint(self.time_dvar,10) + 5); + self.cab rotateto((0,getdvarint(self.start_angle_dvar,130),0),getdvarint(self.time_dvar,10),1,1); + self.platform rotateto((0,getdvarint(self.start_angle_dvar,130),0),getdvarint(self.time_dvar,10),1,1); + self.pipe rotateto((0,getdvarint(self.start_angle_dvar,130),0),getdvarint(self.time_dvar,10),1,1); + self.pulley rotateto((0,getdvarint(self.start_angle_dvar,130),0),getdvarint(self.time_dvar,10),1,1); + self.hook rotateto((0,getdvarint(self.start_angle_dvar,130),0),getdvarint(self.time_dvar,10),1,1); + self.heightoscillator moveto((0,0,getdvarint(self.pipe_start_height_dvar,0)),getdvarint(self.time_dvar,10),1,1); + self.radiusoscillator moveto((0,0,getdvarint(self.pipe_start_radius_dvar,0)),getdvarint(self.time_dvar,10),1,1); + wait(getdvarint(self.time_dvar,10) + 5); + } +} + +//Function Number: 24 +movecranepipe() +{ + level endon("game_ended"); + for(;;) + { + var_00 = (cos(self.platform.angles[1] + 90) * self.radiusoscillator.origin[2] + self.cab.origin[0],sin(self.platform.angles[1] + 90) * self.radiusoscillator.origin[2] + self.cab.origin[1],self.heightoscillator.origin[2]); + self.pipe moveto(var_00,0.05,0.025,0.025); + self.pulley moveto((var_00[0],var_00[1],self.pulley.origin[2]),0.05,0.025,0.025); + self.hook moveto(var_00 + (0,0,270),0.05,0.025,0.025); + wait(0.05); + } +} + +//Function Number: 25 +handlepowersurge() +{ + for(;;) + { + wait(getdvarint("mp_dam_surge_interval",50)); + foreach(var_01 in level.spark_origin_tags) + { + playfxontag(level.mp_dam_fx["dam_surge_sparks"],var_01,"tag_origin"); + } + + foreach(var_04 in level.surge_vo_origin_tags) + { + var_04 thread maps\mp\_utility::play_sound_on_tag(level.pa_warning0,"tag_origin"); + } + + wait(getdvarint("mp_dam_surge_delay",7)); + level.power_surge_active = 1; + level.genrotatespeed = level.genrotatespeed * 2; + foreach(var_01 in level.spark_origin_tags) + { + playfxontag(level.mp_dam_fx["dam_surge_arcs"],var_01,"tag_origin"); + } + + foreach(var_09 in level.smoke_origin_tags) + { + } + + foreach(var_0C in level.elec_sparks_origin_tags) + { + var_0C thread common_scripts\utility::play_loop_sound_on_entity(level.surge_sparks_noise); + } + + foreach(var_04 in level.surge_vo_origin_tags) + { + var_04 thread maps\mp\_utility::play_sound_on_tag(level.pa_warning1,"tag_origin"); + } + + wait(getdvarint("mp_dam_surge_duration",30)); + level.power_surge_active = 0; + level.genrotatespeed = level.genrotatespeed / 2; + foreach(var_01 in level.spark_origin_tags) + { + stopfxontag(level.mp_dam_fx["dam_surge_sparks"],var_01,"tag_origin"); + stopfxontag(level.mp_dam_fx["dam_surge_arcs"],var_01,"tag_origin"); + } + + foreach(var_09 in level.smoke_origin_tags) + { + } + + foreach(var_0C in level.elec_sparks_origin_tags) + { + var_0C thread common_scripts\utility::stop_loop_sound_on_entity(level.surge_sparks_noise); + } + + wait(0.05); + } +} + +//Function Number: 26 +handlepowersurgedamage() +{ + for(;;) + { + if(level.power_surge_active == 1) + { + foreach(var_01 in level.players) + { + foreach(var_03 in level.dam_surge_triggers) + { + if(var_01 istouching(var_03)) + { + var_01 playrumbleonentity("damage_heavy"); + var_01 shellshock("orbital_laser_mp",1); + var_01 dodamage(5,var_01.origin); + } + } + } + } + + wait(0.05); + } +} + +//Function Number: 27 +handle_glass_pathing() +{ + var_00 = getglassarray("skylights"); + var_01 = getentarray("skylights","targetname"); + var_02 = getentarray("glass_pathing","targetname"); + if(!isdefined(var_01)) + { + return 0; + } + + var_03 = 8; + foreach(var_05 in var_00) + { + var_06 = getglassorigin(var_05); + foreach(var_08 in var_01) + { + if(distance(var_06,var_08.origin) <= var_03) + { + var_08.glass_id = var_05; + break; + } + } + } + + common_scripts\utility::array_thread(var_01,::handle_pathing_on_glass); +} + +//Function Number: 28 +handle_pathing_on_glass() +{ + level endon("game_ended"); + var_00 = getent(self.target,"targetname"); + if(!isdefined(var_00)) + { + return 0; + } + + var_00 common_scripts\utility::trigger_off(); + var_00 connectpaths(); + waittill_glass_break(self.glass_id); + var_00 common_scripts\utility::trigger_on(); + var_00 disconnectpaths(); + var_00 common_scripts\utility::trigger_off(); +} + +//Function Number: 29 +waittill_glass_break(param_00) +{ + level endon("game_ended"); + for(;;) + { + if(isglassdestroyed(param_00)) + { + return 1; + } + + wait(0.05); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_dam_fx.gsc b/AW/PC/maps/mp/mp_dam_fx.gsc new file mode 100644 index 0000000..d681912 --- /dev/null +++ b/AW/PC/maps/mp/mp_dam_fx.gsc @@ -0,0 +1,89 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_dam_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 29 ms + * Timestamp: 4/22/2024 2:17:19 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["plastic_shreds_hanging_e"] = loadfx("vfx/wind/plastic_shreds_hanging_e"); + level._effect["plastic_shreds_hanging_d"] = loadfx("vfx/wind/plastic_shreds_hanging_d"); + level._effect["plastic_shreds_hanging_c"] = loadfx("vfx/wind/plastic_shreds_hanging_c"); + level._effect["plastic_shreds_hanging_b"] = loadfx("vfx/wind/plastic_shreds_hanging_b"); + level._effect["plastic_shreds_hanging_a"] = loadfx("vfx/wind/plastic_shreds_hanging_a"); + level._effect["fog_distant_vista_dirty_ocean"] = loadfx("vfx/fog/fog_distant_vista_dirty_ocean"); + level._effect["godray_ambient_mp"] = loadfx("vfx/lights/godray_ambient_mp"); + level._effect["light_dust_particles_2"] = loadfx("vfx/dust/light_dust_particles_2"); + level._effect["waterfall_rainbow"] = loadfx("vfx/unique/waterfall_rainbow"); + level._effect["mp_dam_mist_screen_splashes"] = loadfx("vfx/map/mp_dam/mp_dam_mist_screen_splashes"); + level._effect["wind_gust_water_mist_sparkles_lrg"] = loadfx("vfx/wind/wind_gust_water_mist_sparkles_lrg"); + level._effect["wind_gust_water_mist_distant_lrg"] = loadfx("vfx/wind/wind_gust_water_mist_distant_lrg"); + level._effect["electrical_sparks_runner"] = loadfx("vfx/explosion/electrical_sparks_runner"); + level._effect["trash_tornado_s_runner"] = loadfx("vfx/wind/trash_tornado_s_runner"); + level._effect["paper_scrap_windblown_runner_light_slw2"] = loadfx("vfx/wind/paper_scrap_windblown_runner_light_slw2"); + level._effect["steam_pipe_leak_interior_burst_runner_lp"] = loadfx("vfx/steam/steam_pipe_leak_interior_burst_runner_lp"); + level._effect["flare_ambient"] = loadfx("vfx/props/flare_ambient"); + level._effect["Flocking_birds_direction_x_mp"] = loadfx("vfx/map/mp_dam/flocking_birds_direction_x_mp"); + level._effect["steam_ambient_street_large_windy"] = loadfx("vfx/map/mp_dam/steam_ambient_street_large_windy_mp"); + level._effect["steam_ambient_street_large"] = loadfx("vfx/map/mp_dam/steam_ambient_street_large_mp"); + level._effect["steam_ambient_tunnel_low"] = loadfx("vfx/map/mp_dam/steam_ambient_tunnel_low_mp"); + level._effect["steam_ambient_tunnel_low_dim"] = loadfx("vfx/map/mp_dam/steam_ambient_tunnel_low_dim"); + level._effect["steam_ambient_tunnel"] = loadfx("vfx/map/mp_dam/steam_ambient_tunnel_mp"); + level._effect["steam_ambient_tunnel_dim"] = loadfx("vfx/map/mp_dam/steam_ambient_tunnel_dim_mp"); + level._effect["steam_ambient_vents"] = loadfx("vfx/map/mp_dam/steam_ambient_vents"); + level._effect["steam_pipe_tunnel_small"] = loadfx("vfx/steam/steam_pipe_leak_interior_dim_sm"); + level._effect["water_drip_line_slow"] = loadfx("vfx/water/falling_water_drip_line_runner_slow"); + level._effect["water_drip_line_fast"] = loadfx("vfx/water/falling_water_drip_line_runner_fast"); + level._effect["clouds_ambient_xlarge"] = loadfx("vfx/map/mp_dam/ambient_cloud_mist_xlg"); + level._effect["clouds_ambient_large"] = loadfx("vfx/map/mp_dam/ambient_cloud_mist_lg"); + level._effect["clouds_ambient_large_oriented"] = loadfx("vfx/map/mp_dam/ambient_cloud_mist_lg_oriented"); + level._effect["leaves_falling_slow_01"] = loadfx("vfx/wind/leaves_runner"); + level._effect["insects_gnats_flying"] = loadfx("vfx/map/mp_dam/insects_gnats_flying"); + level._effect["wind_gust_turbine"] = loadfx("vfx/map/mp_dam/wind_gust_turbine"); + level._effect["wind_gust_turbine_vortex"] = loadfx("vfx/map/mp_dam/wind_gust_turbine_vortex"); + level._effect["wind_blowing_papers"] = loadfx("vfx/map/mp_dam/wind_blowing_papers"); + level._effect["godray_window_small_mp"] = loadfx("vfx/map/mp_dam/godray_window_small_mp"); + level._effect["godray_window_small_dim"] = loadfx("vfx/map/mp_dam/godray_window_small_dim"); + level._effect["godray_window_medium_mp"] = loadfx("vfx/map/mp_dam/godray_window_med_mp"); + level._effect["godray_window_large_mp"] = loadfx("vfx/map/mp_dam/godray_window_large_mp"); + level._effect["godray_window_large2_mp"] = loadfx("vfx/map/mp_dam/godray_window_large2_mp"); + level._effect["godray_window_large3_outside"] = loadfx("vfx/map/mp_dam/godray_window_large_3_outside"); + level._effect["glow_light_bulb_bright"] = loadfx("vfx/map/mp_dam/flare_light_bulb_bright"); + level._effect["glow_light_bulb"] = loadfx("vfx/map/mp_dam/flare_light_bulb"); + level._effect["glow_light_bulb_amber"] = loadfx("vfx/map/mp_dam/flare_light_bulb_amber"); + level._effect["glow_light_bulb_red"] = loadfx("vfx/map/mp_dam/flare_light_bulb_red"); + level._effect["glow_light_bulb2"] = loadfx("vfx/map/mp_dam/flare_light_bulb2"); + level._effect["glow_light_bulb2a"] = loadfx("vfx/map/mp_dam/flare_light_bulb2a"); + level._effect["glow_light_bulb3"] = loadfx("vfx/map/mp_dam/flare_light_bulb3"); + level._effect["glow_light_bulb3a"] = loadfx("vfx/map/mp_dam/flare_light_bulb3a"); + level._effect["glow_light_bulb4"] = loadfx("vfx/map/mp_dam/flare_light_bulb4"); + level._effect["glow_light_bulb5"] = loadfx("vfx/map/mp_dam/flare_light_bulb5"); + level._effect["glow_light_bulb_spot"] = loadfx("vfx/map/mp_dam/flare_light_bulb_spot"); + level._effect["electrical_arc_coil"] = loadfx("vfx/map/mp_dam/electrical_arc_coil"); + level._effect["light_red_pinlight_bright"] = loadfx("vfx/lights/beacon_light_red_static"); + level._effect["light_amber_rotate_01"] = loadfx("vfx/lights/light_amber_rotate_01"); + level._effect["light_red_blinking"] = loadfx("vfx/lights/light_red_blink_dam"); + level._effect["light_red_blinking_small"] = loadfx("vfx/lights/beacon_light_red_blink_small"); + level._effect["light_white_strobe_dam"] = loadfx("vfx/lights/light_white_strobe_dam"); + level._effect["fx_sunflare_dam"] = loadfx("vfx/lensflare/fx_sunflare_dam"); + level._effect["rainbow_dam_mist"] = loadfx("vfx/map/mp_dam/rainbow_dam_mist"); + level._effect["water_release_dam"] = loadfx("vfx/map/mp_dam/waterfall_release_dam_mp"); + level._effect["water_release_dam_splash"] = loadfx("vfx/map/mp_dam/waterfall_release_dam_splash_mp"); + level._effect["water_release_dam_splash2"] = loadfx("vfx/map/mp_dam/waterfall_release_dam_splash2_mp"); + level._effect["water_release_dam_distance"] = loadfx("vfx/map/mp_dam/waterfall_release_dam_distance_mp"); + level._effect["water_release_dam_splash_distance"] = loadfx("vfx/map/mp_dam/waterfall_release_dam_splash_dis_mp"); + level._effect["water_mist_ambient"] = loadfx("vfx/map/mp_dam/wind_gust_water_mist_large"); + level._effect["water_falling_narrow"] = loadfx("vfx/map/mp_dam/falling_water_narrow"); + level._effect["water_falling_wide"] = loadfx("vfx/map/mp_dam/falling_water_wide"); + level._effect["water_falling_tunnel"] = loadfx("vfx/map/mp_dam/falling_water_trickle_wide"); + level._effect["water_pipe_spray_dam"] = loadfx("vfx/map/mp_dam/water_gush_pipe_xlarge_mp"); + level._effect["water_pipe_spray_impact_dam"] = loadfx("vfx/map/mp_dam/water_gush_pipe_xlarge_splash_mp"); + level._effect["water_edge_distortion_small"] = loadfx("vfx/water/wall_edge_wave_distortion_small"); + level._effect["water_edge_distortion_xsmall"] = loadfx("vfx/water/wall_edge_wave_distortion_xsmall_mesh"); + level._effect["gas_pump_exp"] = loadfx("explosions/gas_pump_exp"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_dam_lighting.gsc b/AW/PC/maps/mp/mp_dam_lighting.gsc new file mode 100644 index 0000000..21f4384 --- /dev/null +++ b/AW/PC/maps/mp/mp_dam_lighting.gsc @@ -0,0 +1,16 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_dam_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 2:17:19 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setdvar("r_gunSightColorEntityScale","7"); + setdvar("r_gunSightColorNoneScale","0.8"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_dam_precache.gsc b/AW/PC/maps/mp/mp_dam_precache.gsc new file mode 100644 index 0000000..bc4082b --- /dev/null +++ b/AW/PC/maps/mp/mp_dam_precache.gsc @@ -0,0 +1,17 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_dam_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 36 ms + * Timestamp: 4/22/2024 2:17:20 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + common_scripts\utility::add_destructible_type_function("berlin_hotel_lights_wall2",::destructible_scripts\berlin_hotel_lights_wall2::main); + common_scripts\utility::add_destructible_type_function("toy_electricbox4",::destructible_scripts\toy_electricbox4::main); + maps\animated_models\fence_tarp_108x76_med_01::main(); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_detroit.gsc b/AW/PC/maps/mp/mp_detroit.gsc new file mode 100644 index 0000000..0af781a --- /dev/null +++ b/AW/PC/maps/mp/mp_detroit.gsc @@ -0,0 +1,90 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_detroit.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 6 + * Decompile Time: 103 ms + * Timestamp: 4/22/2024 2:17:20 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\mp\mp_detroit_precache::main(); + maps\createart\mp_detroit_art::main(); + maps\mp\mp_detroit_fx::main(); + maps\mp\_load::main(); + maps\mp\mp_detroit_lighting::main(); + maps\mp\mp_detroit_aud::main(); + maps\mp\_compass::setupminimap("compass_map_mp_detroit"); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + maps\mp\_water::setshallowwaterweapon("iw5_underwater_mp"); + maps\mp\_water::init(); + level.ospvisionset = "(mp_detroit_osp)"; + level.osplightset = "(mp_detroit_osp)"; + level.dronevisionset = "(mp_detroit_drone)"; + level.dronelightset = "(mp_detroit_drone)"; + level.warbirdvisionset = "(mp_detroit_warbird)"; + level.warbirdlightset = "(mp_detroit_warbird)"; + level.aerial_pathnode_offset = 425; + level thread maps\mp\mp_detroit_events::trams(); + level.mapcustomkillstreakfunc = ::detroitcustomkillstreakfunc; + level.orbitalsupportoverridefunc = ::detroitpaladinoverrides; + level thread detroitstrikeheightoverrides(); + level thread detroitpatchclip(); + thread set_lighting_values(); +} + +//Function Number: 2 +detroitstrikeheightoverrides() +{ + if(!isdefined(level.airstrikeoverrides)) + { + level.airstrikeoverrides = spawnstruct(); + } + + level.airstrikeoverrides.spawnheight = 2500; + setdvar("bg_bombingRunNoMissileClip",1); +} + +//Function Number: 3 +detroitpaladinoverrides() +{ + level.orbitalsupportoverrides.spawnanglemin = 220; + level.orbitalsupportoverrides.spawnanglemax = 260; + if(level.currentgen) + { + level.orbitalsupportoverrides.leftarc = 15; + level.orbitalsupportoverrides.rightarc = 15; + level.orbitalsupportoverrides.toparc = -35; + level.orbitalsupportoverrides.bottomarc = 55; + } +} + +//Function Number: 4 +detroitcustomkillstreakfunc() +{ + level thread maps\mp\killstreaks\streak_mp_detroit::init(); +} + +//Function Number: 5 +detroitpatchclip() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-1440.64,-10.0738,697.5),(0,353.054,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-1440.64,-10.0738,569.5),(0,353.054,0)); +} + +//Function Number: 6 +set_lighting_values() +{ + if(isusinghdr()) + { + for(;;) + { + level waittill("connected",var_00); + var_00 setclientdvars("r_tonemap","1","r_tonemapLockAutoExposureAdjust","0","r_tonemapAutoExposureAdjust","0"); + } + } +} \ No newline at end of file diff --git a/AW/PC/MP/1342.gsc b/AW/PC/maps/mp/mp_detroit_aud.gsc similarity index 56% rename from AW/PC/MP/1342.gsc rename to AW/PC/maps/mp/mp_detroit_aud.gsc index fbb95c4..865f012 100644 --- a/AW/PC/MP/1342.gsc +++ b/AW/PC/maps/mp/mp_detroit_aud.gsc @@ -1,23 +1,21 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: 1342.gsc + * Decompiled File: mp\mp_detroit_aud.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 0 ms - * Timestamp: 10/27/2023 1:46:52 AM + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:17:21 AM *******************************************************************/ //Function Number: 1 -initstructs() +main() { - level.struct = []; + level thread setup_audio(); } //Function Number: 2 -createstruct() +setup_audio() { - var_00 = spawnstruct(); - level.struct[level.struct.size] = var_00; - return var_00; + ambientplay("amb_mp_detroit_ext_east"); } \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_detroit_events.gsc b/AW/PC/maps/mp/mp_detroit_events.gsc new file mode 100644 index 0000000..2f74085 --- /dev/null +++ b/AW/PC/maps/mp/mp_detroit_events.gsc @@ -0,0 +1,410 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_detroit_events.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 18 + * Decompile Time: 256 ms + * Timestamp: 4/22/2024 2:17:22 AM +*******************************************************************/ + +//Function Number: 1 +trams() +{ + level.trams = getentarray("ambient_tram","targetname"); + common_scripts\utility::array_thread(level.trams,::tram_init); + var_00 = ["mp_detroit_train_01","mp_detroit_train_02"]; + foreach(var_02 in var_00) + { + precachempanim(var_02); + } + + foreach(var_05 in level.trams) + { + var_05 playloopsound("mp_detroit_tram_close"); + } + + for(;;) + { + foreach(var_05 in level.trams) + { + if(!var_05.active) + { + var_08 = common_scripts\utility::random(var_00); + var_05 thread tram_animate(var_08); + break; + } + } + + wait(randomfloatrange(10,15)); + } +} + +//Function Number: 2 +object_init_reset() +{ + self.reset_origin = self.origin; + self.reset_angles = self.angles; +} + +//Function Number: 3 +object_reset() +{ + self dontinterpolate(); + self.origin = self.reset_origin; + self.angles = self.reset_angles; +} + +//Function Number: 4 +tram_init() +{ + if(isdefined(self.target)) + { + var_00 = getentarray(self.target,"targetname"); + foreach(var_02 in var_00) + { + var_02 linkto(self); + } + } + + self.active = 0; + object_init_reset(); +} + +//Function Number: 5 +tram_reset() +{ + object_reset(); +} + +//Function Number: 6 +tram_spline_debug() +{ + for(;;) + { + while(self.active || !getdvarint("detroit_tram_spline_debug",0)) + { + wait 0.05; + } + + tram_reset(); + self.active = 1; + var_00 = tram_spline_vehicle_spawn(); + var_00 waittill("playSpaceStart"); + var_00 thread tram_spline_stay_in_playspace(); + while(getdvarint("detroit_tram_spline_debug",0)) + { + wait 0.05; + } + + thread tram_spline_leave(var_00,40); + } +} + +//Function Number: 7 +tram_spline_vehicle_spawn() +{ + var_00 = spawnvehicle("tag_origin","detroit_tram","detroit_tram_mp",self.origin,self.angles); + var_00.owner = self.owner; + var_01 = getvehiclenode(self.target,"targetname"); + var_02 = undefined; + var_03 = undefined; + var_04 = undefined; + var_05 = var_01; + while(isdefined(var_05.target)) + { + var_05 = getvehiclenode(var_05.target,"targetname"); + if(common_scripts\utility::string_starts_with(var_05.targetname,"play_space_edge")) + { + if(!isdefined(var_02)) + { + var_02 = var_05; + continue; + } + + var_03 = var_05; + } + + if(common_scripts\utility::string_starts_with(var_05.targetname,"track_end")) + { + var_04 = var_05; + } + } + + thread tram_node_notify(var_00,var_02,"playSpaceStart"); + thread tram_node_notify(var_00,var_03,"playSpaceEnd"); + thread tram_node_notify(var_00,var_04,"trackEnd"); + var_00 attachpath(var_01); + var_00 startpath(var_01); + var_00.spline_speed = 25; + var_00.spline_accel = 15; + var_00.spline_decel = 20; + var_00.spline_fast_decel = var_00.spline_decel * 2; + self linkto(var_00); + return var_00; +} + +//Function Number: 8 +tram_spline_move(param_00) +{ + self.active = 1; + var_01 = tram_spline_vehicle_spawn(); + self.endtime = gettime() + param_00 * 1000; + self.owner setclientomnvar("ui_warbird_countdown",self.endtime); + wait 0.05; + var_02 = 40; + var_01 tram_set_forward(); + var_01 vehicle_setspeedimmediate(var_02,var_01.spline_accel,var_01.spline_decel); + var_01 tram_stop_player_control(); + var_03 = common_scripts\utility::waittill_any_return("playSpaceStart","player_exit"); + if(var_03 != "player_exit") + { + var_01 tram_start_player_control(); + var_01 thread tram_spline_stay_in_playspace(::tram_start_player_control,::tram_stop_player_control); + common_scripts\utility::waittill_notify_or_timeout("player_exit",self.endtime - gettime() / 1000); + } + + var_01 tram_stop_player_control(); + thread tram_spline_leave(var_01,var_02); +} + +//Function Number: 9 +tram_spline_leave(param_00,param_01) +{ + param_00 notify("stop_stay_in_playspace"); + param_00 tram_set_forward(); + param_00 vehicle_setspeed(param_01,param_00.spline_accel,param_00.spline_decel); + param_00 waittill("trackEnd"); + self unlink(); + param_00 delete(); + maps\mp\_utility::decrementfauxvehiclecount(); + self.active = 0; +} + +//Function Number: 10 +tram_spline_stay_in_playspace(param_00,param_01) +{ + self endon("stop_stay_in_playspace"); + for(;;) + { + var_02 = common_scripts\utility::waittill_any_return("playSpaceStart","playSpaceEnd"); + if(isdefined(param_01)) + { + self [[ param_01 ]](); + } + + self vehicle_setspeed(0,self.spline_accel,self.spline_fast_decel); + while(self.veh_speed != 0) + { + wait 0.05; + } + + if(var_02 == "playSpaceStart") + { + tram_set_forward(); + } + else + { + tram_set_reverse(); + } + + self vehicle_setspeed(self.spline_speed,self.spline_accel,self.spline_decel); + self waittill(var_02); + if(isdefined(param_00)) + { + self [[ param_00 ]](); + } + } +} + +//Function Number: 11 +tram_node_notify(param_00,param_01,param_02) +{ + param_00 endon("death"); + for(;;) + { + param_01 waittill("trigger",var_03); + if(var_03 == param_00) + { + param_00 notify(param_02); + self notify(param_02); + } + } +} + +//Function Number: 12 +tram_set_forward() +{ + self.current_dir = "forward"; + self.veh_transmission = self.current_dir; + self.veh_pathdir = self.current_dir; +} + +//Function Number: 13 +tram_set_reverse() +{ + self.current_dir = "reverse"; + self.veh_transmission = self.current_dir; + self.veh_pathdir = self.current_dir; +} + +//Function Number: 14 +tram_start_player_control() +{ + thread tram_update_player_spline_control(); +} + +//Function Number: 15 +tram_stop_player_control() +{ + self notify("stop_player_control"); +} + +//Function Number: 16 +tram_update_player_spline_control() +{ + self endon("death"); + self endon("player_exit"); + self endon("stop_player_control"); + var_00 = self.owner; + var_00 endon("disconnect"); + self setacceleration(self.spline_accel); + self setdeceleration(self.spline_decel); + for(;;) + { + var_01 = var_00 getnormalizedmovement(); + var_02 = var_01[0]; + var_03 = var_01[1]; + var_04 = var_00 getnormalizedmovement(); + var_05 = length(var_04); + if(var_05 < 0.1) + { + self vehicle_setspeed(0); + } + else + { + var_06 = var_00 getplayerangles(); + var_04 = (var_04[0],var_04[1] * -1,0); + var_07 = vectortoangles(var_04); + var_07 = common_scripts\utility::flat_angle(combineangles(var_07,var_06)); + var_04 = anglestoforward(var_07); + var_08 = anglestoforward(self.angles); + var_09 = vectordot(var_04,var_08); + if(var_09 > 0) + { + if(self.current_dir != "forward" && self.veh_speed != 0) + { + self vehicle_setspeed(0,self.spline_accel,self.spline_fast_decel); + } + else if(self.current_dir != "forward") + { + tram_set_forward(); + } + else + { + self vehicle_setspeed(self.spline_speed,self.spline_accel,self.spline_decel); + } + } + else if(self.current_dir != "reverse" && self.veh_speed != 0) + { + self vehicle_setspeed(0,self.spline_accel,self.spline_fast_decel); + } + else if(self.current_dir != "reverse") + { + tram_set_reverse(); + } + else + { + self vehicle_setspeed(self.spline_speed,self.spline_accel,self.spline_decel); + } + } + + wait 0.05; + } +} + +//Function Number: 17 +tram_animate(param_00) +{ + var_01 = common_scripts\utility::getstruct("tram_node","targetname"); + if(!isdefined(var_01)) + { + return; + } + + self.active = 1; + self scriptmodelplayanimdeltamotionfrompos(param_00,var_01.origin,var_01.angles,"tram_anim"); + self waittillmatch("end","tram_anim"); + self.active = 0; +} + +//Function Number: 18 +tram_move(param_00,param_01) +{ + self endon("dropped"); + var_02 = 3.14159; + if(!isdefined(param_01)) + { + param_01 = param_00; + } + + self.active = 1; + for(var_03 = self;isdefined(var_03.target);var_03 = var_04) + { + var_04 = common_scripts\utility::getstruct(var_03.target,"targetname"); + var_05 = param_00; + var_06 = undefined; + if(isdefined(var_04.script_noteworthy)) + { + switch(var_04.script_noteworthy) + { + case "fast": + var_05 = param_01; + break; + + case "clockwise_fast": + var_05 = param_01; + var_06 = -90; + break; + + case "clockwise": + var_06 = -90; + break; + + case "counterclockwise_fast": + var_05 = param_01; + var_06 = 90; + break; + + case "counterclockwise": + var_06 = 90; + break; + + default: + break; + } + } + + if(isdefined(var_06)) + { + var_07 = spawn("script_origin",var_04.origin); + self vehicle_jetbikesethoverforcescale(var_07); + var_08 = distance(var_07.origin,self.origin); + var_09 = var_08 * 2 * var_02; + var_0A = var_09 * abs(var_06) / 360; + var_0B = var_0A / var_05; + var_07 rotateyaw(var_06,var_0B); + var_07 waittill("rotatedone"); + self unlink(); + var_07 delete(); + continue; + } + + var_0A = distance(self.origin,var_04.origin); + var_0B = var_0A / var_05; + self moveto(var_04.origin,var_0B); + self waittill("movedone"); + } + + self.active = 0; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_detroit_fx.gsc b/AW/PC/maps/mp/mp_detroit_fx.gsc new file mode 100644 index 0000000..a29f823 --- /dev/null +++ b/AW/PC/maps/mp/mp_detroit_fx.gsc @@ -0,0 +1,85 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_detroit_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 37 ms + * Timestamp: 4/22/2024 2:17:22 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["mp_det_water_shower_drops"] = loadfx("vfx/map/mp_detroit/mp_det_water_shower_drops"); + level._effect["mp_det_light_spotlight_cone_flare"] = loadfx("vfx/lights/mp_detroit/mp_det_light_spotlight_cone_flare"); + level._effect["floating_foam_runner_lp2"] = loadfx("vfx/water/floating_foam_runner_lp2"); + level._effect["steam_sm_street_lt"] = loadfx("vfx/steam/steam_sm_street_lt"); + level._effect["smoke_grey_column_spot_windy"] = loadfx("vfx/smoke/smoke_grey_column_spot_windy"); + level._effect["steam_sm_street"] = loadfx("vfx/steam/steam_sm_street"); + level._effect["smoke_grey_column_spot_directional_lg"] = loadfx("vfx/smoke/smoke_grey_column_spot_directional_lg"); + level._effect["smoke_chimney_small_dark"] = loadfx("vfx/smoke/smoke_chimney_small_dark"); + level._effect["ie_birds_scatter_runner"] = loadfx("vfx/map/irons_estate/ie_birds_scatter_runner"); + level._effect["fireball_lp_smk_xlrg_tall"] = loadfx("vfx/fire/fireball_lp_smk_xlrg_tall"); + level._effect["wind_blowing_debris2"] = loadfx("vfx/wind/wind_blowing_debris2"); + level._effect["wind_blowing_debris"] = loadfx("vfx/wind/wind_blowing_debris"); + level._effect["vehicle_pdrone_explosion"] = loadfx("vfx/explosion/vehicle_pdrone_explosion"); + level._effect["smoldering_smk_direction_m"] = loadfx("vfx/smoke/smoldering_smk_direction_m"); + level._effect["steam_sm_vent"] = loadfx("vfx/steam/steam_sm_vent"); + level._effect["fire_lp_m_blacksmk"] = loadfx("vfx/fire/fire_lp_m_blacksmk"); + level._effect["fireball_lp_smk_s"] = loadfx("vfx/fire/fireball_lp_smk_s"); + level._effect["mp_det_body_scanner"] = loadfx("vfx/map/mp_detroit/mp_det_body_scanner"); + level._effect["mp_detroit_sunflare"] = loadfx("vfx/map/mp_detroit/mp_detroit_sunflare"); + level._effect["insects_mosquitos_flying"] = loadfx("vfx/animal/insects_mosquitos_flying"); + level._effect["det_light_dust_particles"] = loadfx("vfx/map/detroit/det_light_dust_particles"); + level._effect["det_amb_ground_dust_blue"] = loadfx("vfx/map/detroit/det_amb_ground_dust_blue"); + level._effect["det_dyn_spotlight_train"] = loadfx("vfx/lights/detroit/det_dyn_spotlight_train"); + level._effect["det_godray_med_tracks"] = loadfx("vfx/lights/detroit/det_godray_med_tracks"); + level._effect["det_godray_sm"] = loadfx("vfx/lights/detroit/det_godray_sm"); + level._effect["dripping_ledges_heavy_splash"] = loadfx("vfx/rain/dripping_ledges_heavy_splash"); + level._effect["falling_dust_subtle01"] = loadfx("vfx/dust/falling_dust_subtle01"); + level._effect["floating_trash_pallet_foam_runner"] = loadfx("vfx/water/floating_trash_pallet_foam_runner"); + level._effect["floating_trash_barrel_foam_runner"] = loadfx("vfx/water/floating_trash_barrel_foam_runner"); + level._effect["floating_bottles_runner_lp"] = loadfx("vfx/water/floating_bottles_runner_lp"); + level._effect["floating_foam_slow_runner_lp"] = loadfx("vfx/water/floating_foam_slow_runner_lp"); + level._effect["floating_foam_runner_lp"] = loadfx("vfx/water/floating_foam_runner_lp"); + level._effect["floating_trash_runner_lp"] = loadfx("vfx/water/floating_trash_runner_lp"); + level._effect["spider_web_mesh"] = loadfx("vfx/unique/spider_web_mesh"); + level._effect["falling_dust_subtle"] = loadfx("vfx/dust/falling_dust_subtle"); + level._effect["dust_ground_slow"] = loadfx("vfx/map/detroit/dust_ground_slow"); + level._effect["fog_wispy_sheeting"] = loadfx("vfx/map/detroit/fog_wispy_sheeting"); + level._effect["leaves_blowing"] = loadfx("vfx/wind/leaves_blowing"); + level._effect["det_trash_blowing_mp"] = loadfx("vfx/wind/det_trash_blowing_mp"); + level._effect["det_trash_blowing"] = loadfx("vfx/wind/det_trash_blowing"); + level._effect["wind_blowing_trash"] = loadfx("vfx/wind/wind_blowing_trash"); + level._effect["insects_flies_landing_sm"] = loadfx("vfx/animal/insects_flies_landing_sm"); + level._effect["mp_levity_dust_ambient_int"] = loadfx("vfx/map/mp_levity/mp_levity_dust_ambient_int"); + level._effect["falling_water_drip_splash_impact_mp_loop"] = loadfx("vfx/water/falling_water_drip_splash_impact_mp_loop"); + level._effect["rain_splash_sm_200x50_lp"] = loadfx("vfx/rain/rain_splash_sm_200x50_lp"); + level._effect["mp_det_fluorescent_glow"] = loadfx("vfx/map/mp_detroit/mp_det_fluorescent_glow"); + level._effect["mp_det_heat_dryer"] = loadfx("vfx/map/mp_detroit/mp_det_heat_dryer"); + level._effect["det_light_spotlight_cone_haze_dim"] = loadfx("vfx/lights/det_light_spotlight_cone_haze_dim"); + level._effect["mp_det_water_shower"] = loadfx("vfx/map/mp_detroit/mp_det_water_shower"); + level._effect["foam_small_distributer"] = loadfx("vfx/water/foam_small_distributer"); + level._effect["insects_moths"] = loadfx("vfx/animal/insects_moths"); + level._effect["insects_flies_landing"] = loadfx("vfx/animal/insects_flies_landing"); + level._effect["falling_water_drips_splashes_loop"] = loadfx("vfx/water/falling_water_drips_splashes_loop"); + level._effect["falling_water_drip_100x100_runner"] = loadfx("vfx/water/falling_water_drip_100x100_runner"); + level._effect["beacon_light_red_static"] = loadfx("vfx/lights/beacon_light_red_static"); + level._effect["light_skylight_haze"] = loadfx("vfx/lights/light_skylight_haze"); + level._effect["det_light_panel_glow"] = loadfx("vfx/lights/det_light_panel_glow"); + level._effect["det_particle_smoke"] = loadfx("vfx/lights/det_particle_smoke"); + level._effect["det_fluorescent_glow"] = loadfx("vfx/lights/global/det_fluorescent_glow"); + level._effect["det_light_godray_bar"] = loadfx("vfx/lights/det_light_godray_bar"); + level._effect["fluorescent_glow"] = loadfx("vfx/lights/global/fluorescent_glow"); + level._effect["det_light_spotlight_cone_haze_cool"] = loadfx("vfx/lights/detroit/det_light_spotlight_cone_haze_cool"); + level._effect["seo_light_godray_bar"] = loadfx("vfx/lights/seoul/seo_light_godray_bar"); + level._effect["seo_floodlight_godray"] = loadfx("vfx/lights/seoul/seo_floodlight_godray"); + level._effect["cap_fire_barrel"] = loadfx("vfx/map/captured/cap_fire_barrel"); + level._effect["mp_det_fire"] = loadfx("vfx/map/mp_detroit/mp_det_fire"); + level._effect["falling_water_drip_line_lg_runner_fast"] = loadfx("vfx/water/falling_water_drip_line_lg_runner_fast"); + level._effect["trash_tornado_s_runner"] = loadfx("vfx/wind/trash_tornado_s_runner"); + level._effect["mp_gb_sparks_runner"] = loadfx("vfx/map/mp_greenband/mp_gb_sparks_runner"); + level._effect["mp_gb_tlight_red_blnk_med"] = loadfx("vfx/map/mp_greenband/mp_gb_tlight_red_blnk_med"); + level._effect["sparks_burst_lrg_a"] = loadfx("vfx/explosion/sparks_burst_lrg_a"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_detroit_lighting.gsc b/AW/PC/maps/mp/mp_detroit_lighting.gsc new file mode 100644 index 0000000..d709c62 --- /dev/null +++ b/AW/PC/maps/mp/mp_detroit_lighting.gsc @@ -0,0 +1,18 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_detroit_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 2:17:22 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setdvar("r_lightGridEnableTweaks",1); + setdvar("r_lightGridIntensity",1.33); + setdvar("r_gunSightColorEntityScale","7"); + setdvar("r_gunSightColorNoneScale","0.8"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_detroit_precache.gsc b/AW/PC/maps/mp/mp_detroit_precache.gsc new file mode 100644 index 0000000..1673e33 --- /dev/null +++ b/AW/PC/maps/mp/mp_detroit_precache.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_detroit_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 2:17:23 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_fracture.gsc b/AW/PC/maps/mp/mp_fracture.gsc new file mode 100644 index 0000000..8a63c74 --- /dev/null +++ b/AW/PC/maps/mp/mp_fracture.gsc @@ -0,0 +1,1056 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_fracture.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 63 + * Decompile Time: 946 ms + * Timestamp: 4/22/2024 2:17:26 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.callbackstartgametype = ::fracture_callbackstartgametype; + maps\mp\mp_fracture_precache::main(); + maps\createart\mp_fracture_art::main(); + maps\mp\mp_fracture_fx::main(); + maps\mp\_load::main(); + maps\mp\mp_fracture_lighting::main(); + maps\mp\mp_fracture_aud::main(); + maps\mp\_water::init(); + maps\mp\_water::init(); + maps\mp\_compass::setupminimap("compass_map_mp_cargoship2"); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + level.goliath_bad_landing_volumes = []; + precachemodel("genericprop"); + precacherumble("cgo_event_rumble_loop"); + level.ospvisionset = "mp_fracture_osp"; + level.osplightset = "mp_fracture_osp"; + level.dronevisionset = "mp_fracture_drone"; + level.dronelightset = "mp_fracture_drone"; + level.warbirdvisionset = "mp_fracture_warbird"; + level.warbirdlightset = "mp_fracture_warbird"; + level.availableicebergs = []; + level.usedicebergs = []; + level.icebergspawn = getent("icebergSpawner","targetname"); + level.icebergfinish = getent("icebergEnd","targetname"); + level thread onplayerconnect(); + level thread initcarepackagebadvolumes(); + thread fracturekillstreakoverrides(); + level dynamicevent_init(); + level thread maps\mp\_dynamic_events::dynamicevent(::handleiceberglanebreakup,::handleiceberglanereset,::handleiceberglanebreakupend); + level thread fracturegoliathdeathhack(); + setdvar("scr_spawnfactor_maxenemydistance",2000); + level.ballpreventgoaljumpfromtraversals = 1; + level.ballgoalradius = 180; +} + +//Function Number: 2 +fracture_callbackstartgametype() +{ + maps\mp\gametypes\_gamelogic::callback_startgametype(); + common_scripts\_bcs_location_trigs_dlc::bcs_location_trigs_dlc_init(); +} + +//Function Number: 3 +fracturekillstreakoverrides() +{ + while(!isdefined(level.orbitalsupportoverrides)) + { + wait 0.05; + } + + level.orbitalsupportoverrides.spawnheight = 6500; + level.remote_missile_height_override = 18000; + level.orbitalsupportoverrides.spawnangle = 90; +} + +//Function Number: 4 +onplayerconnect() +{ + for(;;) + { + level waittill("connected",var_00); + var_00 thread handleicewaterdamagetrigger(); + } +} + +//Function Number: 5 +handleicewaterdamagetrigger() +{ + var_00 = getent("ice_water_hurt_trig","targetname"); + for(;;) + { + while(isalive(self) && self istouching(var_00)) + { + self dodamage(5,self.origin,undefined,undefined,"MOD_TRIGGER_HURT","none","none"); + wait(0.1); + maps\mp\gametypes\_hostmigration::waittillhostmigrationdone(); + } + + wait 0.05; + } +} + +//Function Number: 6 +handledynamiceventspawns() +{ + waittillframeend; + spawnsetup(); + if(!isdefined(level.endstateinit)) + { + level.predynamicevent = 1; + level.postdynamicevent = 0; + level waittill("dynamic_event_started"); + level.predynamicevent = 0; + level.postdynamicevent = 0; + level waittill("dynamic_event_complete"); + } + + level.predynamicevent = 0; + level.postdynamicevent = 1; +} + +//Function Number: 7 +spawnsetup() +{ + level.dynamicspawns = ::getlistofgoodspawnpoints; +} + +//Function Number: 8 +getlistofgoodspawnpoints(param_00) +{ + var_01 = []; + foreach(var_03 in param_00) + { + if(!isdefined(var_03.targetname) || var_03.targetname == "" || var_03 isvalidspawn() == 1) + { + var_01 = common_scripts\utility::add_to_array(var_01,var_03); + } + } + + return var_01; +} + +//Function Number: 9 +isvalidspawn() +{ + if(level.predynamicevent == 1 && self.targetname == "post_dynamic_event_spawn") + { + return 0; + } + else if(level.predynamicevent == 0 && level.postdynamicevent == 0 && self.targetname == "pre_dynamic_event_spawn" || self.targetname == "post_dynamic_event_spawn") + { + return 0; + } + else if(level.postdynamicevent == 1 && self.targetname == "pre_dynamic_event_spawn") + { + return 0; + } + + return 1; +} + +//Function Number: 10 +getspawnsexcludingtargetname(param_00) +{ + var_01 = []; + foreach(var_03 in level.allspawns) + { + if(var_03.targetname != param_00) + { + var_01 = common_scripts\utility::add_to_array(var_01,var_03); + } + } + + return var_01; +} + +//Function Number: 11 +dynamicevent_init() +{ + setupicebergbonelist(); + setupiceberglane(); + thread setupiceberganimproxy(); + setupiceberglanebadvolume(); + thread handledynamiceventspawns(); + thread handledynamiceventpaths(); + thread setupicebergeventshake(); + thread setupicebergfxchunks(); +} + +//Function Number: 12 +setupicebergbonelist() +{ + var_00 = [setupbonestruct("chunk_A",(2340,971,-440.139),1),setupbonestruct("A_container_01_red",(1977.2,724.165,-307.299),1),setupbonestruct("A_container_01_orange",(1631,714.695,-182.16),1),setupbonestruct("chunk_B",(1052.38,1040.26,-138.983),0),setupbonestruct("B_snowcat",(162.003,746.972,-384.812),1),setupbonestruct("B_container_01_liteblue1",(-1540,780.63,-416.497),1),setupbonestruct("chunk_C",(227,1128.54,-402.207),1),setupbonestruct("chunk_D",(-561,1029.83,-122.877),0),setupbonestruct("chunk_E",(-1963,1031.29,-384.02),1)]; + level.icebergbonelist = []; + foreach(var_02 in var_00) + { + level.icebergbonelist[var_02.jointname] = var_02; + } +} + +//Function Number: 13 +setupiceberglane() +{ + level.iceberglanemodel = spawn("script_model",(0,0,0)); + level.iceberglanemodel setmodel("cgo_iceberg_lane"); + level.iceberglanemodel.angles = (0,-90,0); + level.iceberglanemodel hide(); + foreach(var_01 in level.icebergbonelist) + { + if(ismajoricebergchunkent(var_01.jointname)) + { + var_02 = getentarray(var_01.jointname,"targetname"); + foreach(var_04 in var_02) + { + var_04.origin = var_04.origin + (0,-1024,0); + } + } + } +} + +//Function Number: 14 +prepareiceberganimation(param_00) +{ + wait(0.001); + if(isdefined(level.endstateinit)) + { + return; + } + + param_00.animproxy scriptmodelplayanimdeltamotion(param_00.animname); + param_00.animproxy scriptmodelpauseanim(1); + level waittill("icebergAnimStart"); + param_00.animproxy scriptmodelpauseanim(0); +} + +//Function Number: 15 +setupiceberglanebadvolume() +{ + level.iceberglanebadvolumelist = getentarray("iceberg_lane_badplace_volume","targetname"); +} + +//Function Number: 16 +ismajoricebergchunkent(param_00) +{ + if(param_00 == "chunk_A_jnt" || param_00 == "chunk_B_jnt" || param_00 == "chunk_C_jnt" || param_00 == "chunk_D_jnt" || param_00 == "chunk_E_jnt") + { + return 1; + } + + return 0; +} + +//Function Number: 17 +setupbonestruct(param_00,param_01,param_02) +{ + var_03 = spawnstruct(); + var_03.jointname = param_00 + "_jnt"; + var_03.animname = "cgo_iceberg_lane_collapse_" + param_00; + var_03.xmodelname = "cgo_iceberg_lane_" + param_00; + var_03.endpos = param_01; + var_03.shouldclean = param_02; + return var_03; +} + +//Function Number: 18 +setupicebergeventshake() +{ + var_00 = []; + var_00["A"] = getscriptablearray("crack_event_A","targetname")[0]; + var_00["B"] = getscriptablearray("crack_event_B","targetname")[0]; + var_00["C"] = getscriptablearray("crack_event_C","targetname")[0]; + var_00["D"] = getscriptablearray("crack_event_D","targetname")[0]; + var_00["E"] = getscriptablearray("crack_event_E","targetname")[0]; + var_00["start"] = getscriptablearray("start_event","targetname")[0]; + level.icebergeventscriptables = var_00; + var_01 = []; + var_01["A"] = getentarray("event_shake_trigger_A","targetname"); + var_01["B"] = getentarray("event_shake_trigger_B","targetname"); + var_01["C"] = getentarray("event_shake_trigger_C","targetname"); + var_01["D"] = getentarray("event_shake_trigger_D","targetname"); + var_01["E"] = getentarray("event_shake_trigger_E","targetname"); + var_01["liteblue1"] = getentarray("event_shake_trigger_liteblue1","targetname"); + var_01["snowcat"] = getentarray("event_shake_trigger_snowcat","targetname"); + var_01["orange"] = getentarray("event_shake_trigger_orange","targetname"); + var_01["red"] = getentarray("event_shake_trigger_red","targetname"); + foreach(var_03 in var_01) + { + foreach(var_05 in var_03) + { + var_05 hide(); + } + } + + level.icebergshaketriggerlists = var_01; + level.icebergcontinuingrumble = "cgo_event_rumble_loop"; +} + +//Function Number: 19 +setupicebergfxchunks() +{ + if(level.currentgen) + { + return; + } + + common_scripts\utility::flag_init("icebergChunks"); + while(isdefined(level.icebergchunks1) == 0) + { + level.icebergchunks1 = getent("icebergChunks1","targetname"); + wait(0.2); + } + + level.icebergchunks1 hide(); + while(isdefined(level.icebergchunks2) == 0) + { + level.icebergchunks2 = getent("icebergChunks2","targetname"); + wait(0.2); + } + + level.icebergchunks2 hide(); + while(isdefined(level.icebergchunks3) == 0) + { + level.icebergchunks3 = getent("icebergChunks3","targetname"); + wait(0.2); + } + + level.icebergchunks3 hide(); + common_scripts\utility::flag_set("icebergChunks"); +} + +//Function Number: 20 +handleiceberglanebreakup() +{ + thread handleinitialicebergshake(); + thread doiceberglanebadplace(); + level notify("dynamic_event_pre_start"); + wait(5); + level notify("dynamic_event_started"); + wait(3); + common_scripts\utility::flag_wait("icebergAnimProxy"); + thread notifyaftermajormotion(); + thread maps\mp\mp_fracture_fx::ice_cracking_fx(); + thread handleicebergeventshake(); + if(level.nextgen) + { + thread playicebergchunks1(); + thread playicebergchunks2(); + thread playicebergchunks3(); + } + + level notify("icebergAnimStart"); + thread aud_play_iceberg_splitting(); + wait(30); + level notify("dynamic_event_complete"); + thread cleanupsunkenchunks(); +} + +//Function Number: 21 +aud_play_iceberg_splitting() +{ + var_00 = (2322.8,1093.73,-73.7358); + wait(0.5); + thread common_scripts\utility::play_sound_in_space("iceberg_full_event",var_00); +} + +//Function Number: 22 +notifyaftermajormotion() +{ + common_scripts\utility::flag_init("icebergMajorMotionComplete"); + wait(18); + common_scripts\utility::flag_set("icebergMajorMotionComplete"); +} + +//Function Number: 23 +doiceberglanebadplace() +{ + var_00 = 0; + foreach(var_02 in level.iceberglanebadvolumelist) + { + badplace_brush("IBLaneBadplace" + var_00,15,var_02,"axis","allies"); + var_00++; + } +} + +//Function Number: 24 +playicebergchunks1() +{ + wait(2.67); + common_scripts\utility::flag_wait("icebergChunks"); + thread aud_iceberg_sequence_01(); + var_00 = spawnfx(common_scripts\utility::getfx("mp_cgo_iceberg_foam_1"),(2322.8,1093.73,-73.7358),anglestoforward((270,0,178)),anglestoup((270,0,178))); + triggerfx(var_00); + wait(3); + level.icebergchunks1 show(); + level.icebergchunks1 scriptmodelplayanimdeltamotion("vfx_cgo_iceberg_breakup_1"); + wait(55); + var_00 delete(); +} + +//Function Number: 25 +playicebergchunks2() +{ + wait(5.67); + common_scripts\utility::flag_wait("icebergChunks"); + thread aud_iceberg_sequence_02(); + var_00 = spawnfx(common_scripts\utility::getfx("mp_cgo_iceberg_foam_1"),(-1236.57,973.315,-78),anglestoforward((270,0,173)),anglestoup((270,0,173))); + triggerfx(var_00); + wait(4); + level.icebergchunks2 show(); + level.icebergchunks2 scriptmodelplayanimdeltamotion("vfx_cgo_iceberg_breakup_2"); + wait(55); + var_00 delete(); +} + +//Function Number: 26 +playicebergchunks3() +{ + wait(1.33); + common_scripts\utility::flag_wait("icebergChunks"); + thread aud_iceberg_sequence_03(); + var_00 = spawnfx(common_scripts\utility::getfx("mp_cgo_iceberg_foam_1"),(498.966,1091.24,-78),anglestoforward((270,0,173)),anglestoup((270,0,173))); + triggerfx(var_00); + wait(3); + level.icebergchunks3 show(); + level.icebergchunks3 scriptmodelplayanimdeltamotion("vfx_cgo_iceberg_breakup_3"); + wait(55); + var_00 delete(); +} + +//Function Number: 27 +aud_iceberg_sequence_01() +{ + var_00 = (2322.8,1093.73,-73.7358); + thread common_scripts\utility::play_sound_in_space("iceberg_full_event",var_00); +} + +//Function Number: 28 +aud_iceberg_sequence_02() +{ + var_00 = (-1236.57,973.315,-78); + thread common_scripts\utility::play_sound_in_space("iceberg_full_event",var_00); +} + +//Function Number: 29 +aud_iceberg_sequence_03() +{ + var_00 = (498.966,1091.24,-78); + thread common_scripts\utility::play_sound_in_space("iceberg_full_event",var_00); +} + +//Function Number: 30 +handleinitialicebergshake() +{ + wait(4); + thread maps\mp\_audio::snd_play_in_space("mp_fracture_ty_initial_hit",(0,0,0)); + thread executeicebergeventscriptable(level.icebergeventscriptables["start"]); +} + +//Function Number: 31 +handleicebergeventshake() +{ + thread wakeupphysicsnearjoint(level.icebergbonelist["B_container_01_liteblue1_jnt"],10.1); + thread wakeupphysicsnearjoint(level.icebergbonelist["A_container_01_orange_jnt"],7.7); + thread wakeupphysicsnearjoint(level.icebergbonelist["A_container_01_red_jnt"],12.8); + thread wakeupphysicsnearjoint(level.icebergbonelist["B_snowcat_jnt"],8); + thread executeicebergeventscriptable(level.icebergeventscriptables["C"]); + thread activateicebergshaketriggerlists(level.icebergshaketriggerlists["C"]); + thread wakeupphysicsnearjoint(level.icebergbonelist["chunk_C_jnt"]); + wait(1); + thread executeicebergeventscriptable(level.icebergeventscriptables["D"]); + thread activateicebergshaketriggerlists(level.icebergshaketriggerlists["D"]); + thread wakeupphysicsnearjoint(level.icebergbonelist["chunk_D_jnt"]); + wait(0.3); + thread executeicebergeventscriptable(level.icebergeventscriptables["B"]); + thread activateicebergshaketriggerlists(level.icebergshaketriggerlists["B"]); + thread wakeupphysicsnearjoint(level.icebergbonelist["chunk_B_jnt"]); + wait(0.7); + thread executeicebergeventscriptable(level.icebergeventscriptables["E"]); + thread activateicebergshaketriggerlists(level.icebergshaketriggerlists["E"]); + thread wakeupphysicsnearjoint(level.icebergbonelist["chunk_E_jnt"]); + wait(0.1); + thread activateicebergshaketriggerlists(level.icebergshaketriggerlists["snowcat"]); + wait(0.2); + thread executeicebergeventscriptable(level.icebergeventscriptables["A"]); + thread activateicebergshaketriggerlists(level.icebergshaketriggerlists["A"]); + thread wakeupphysicsnearjoint(level.icebergbonelist["chunk_A_jnt"]); + wait(0.7); + thread activateicebergshaketriggerlists(level.icebergshaketriggerlists["orange"]); + thread wakeupphysicsnearjoint(level.icebergbonelist["A_container_01_orange_jnt"]); + wait(0.7); + thread activateicebergshaketriggerlists(level.icebergshaketriggerlists["liteblue1"]); + thread wakeupphysicsnearjoint(level.icebergbonelist["B_container_01_liteblue1_jnt"]); + wait(6.3); + thread activateicebergshaketriggerlists(level.icebergshaketriggerlists["red"]); + thread wakeupphysicsnearjoint(level.icebergbonelist["A_container_01_red_jnt"]); + level waittill("dynamic_event_complete"); + level notify("fracture_event_shake_end"); + foreach(var_01 in level.icebergshaketriggerlists) + { + foreach(var_03 in var_01) + { + var_03 common_scripts\utility::trigger_off(); + } + } +} + +//Function Number: 32 +wakeupphysicsnearjoint(param_00,param_01) +{ + if(isdefined(param_01) && param_01 > 0) + { + wait(param_01); + } + + physicsexplosionsphere(param_00.animproxy.origin,800,0,0); +} + +//Function Number: 33 +executeicebergeventshakesection(param_00) +{ + thread executeicebergeventscriptable(level.icebergeventscriptables[param_00]); + var_01 = "chunk_" + param_00 + "_jnt"; + thread activateicebergshaketriggerlists(level.icebergshaketriggerlists[param_00],var_01); +} + +//Function Number: 34 +executeicebergeventscriptable(param_00) +{ + param_00 setscriptablepartstate(0,1); + wait(0.1); + param_00 setscriptablepartstate(0,0); +} + +//Function Number: 35 +activateicebergshaketriggerlists(param_00) +{ + foreach(var_02 in param_00) + { + var_02 thread common_scripts\_dynamic_world::triggertouchthink(::entericebergshaketrigger,::exiticebergshaketrigger); + } +} + +//Function Number: 36 +entericebergshaketrigger(param_00) +{ + var_01 = 0; + if(isdefined(self.fractureshaketriggercount)) + { + var_01 = self.fractureshaketriggercount; + } + + if(var_01 == 0 && !isdefined(self.fractureshakeactive)) + { + self.fractureshakeactive = 1; + thread icebergtriggershakethink(); + if(!common_scripts\utility::flag("icebergMajorMotionComplete")) + { + thread setupicebergdeath(); + } + } + + self.fractureshaketriggercount = var_01 + 1; +} + +//Function Number: 37 +exiticebergshaketrigger(param_00) +{ + self.fractureshaketriggercount--; + waittillframeend; + if(self.fractureshaketriggercount == 0) + { + self notify("fracture_event_triggers_left"); + self.fractureshakeactive = undefined; + self.icebergtriggerrumbling = undefined; + } +} + +//Function Number: 38 +icebergtriggershakethink() +{ + if(isbot(self)) + { + return; + } + + self endon("death"); + self endon("disconnect"); + self endon("fracture_event_triggers_left"); + level endon("dynamic_event_complete"); + level endon("fracture_event_shake_end"); + for(;;) + { + while(!self isonground() || !isdefined(self getmovingplatformparent())) + { + wait 0.05; + } + + thread icebergtriggershake(); + wait(0.4); + } +} + +//Function Number: 39 +icebergtriggershake() +{ + self notify("fracture_event_shake"); + self endon("death"); + self endon("disconnect"); + self endon("fracture_event_shake"); + if(!isdefined(self.icebergtriggerrumbling)) + { + self playrumblelooponentity(level.icebergcontinuingrumble); + self.icebergtriggerrumbling = 1; + } + + earthquake(0.075,0.5,self.origin,63360,self); + wait(0.5); + self stoprumble(level.icebergcontinuingrumble); + self.icebergtriggerrumbling = undefined; +} + +//Function Number: 40 +setupiceberganimproxy() +{ + common_scripts\utility::flag_init("icebergAnimProxy"); + foreach(var_01 in level.icebergbonelist) + { + connectenttoanimproxy(var_01); + } + + common_scripts\utility::flag_set("icebergAnimProxy"); +} + +//Function Number: 41 +setupanimproxy(param_00) +{ + var_01 = level.iceberglanemodel gettagorigin(param_00.jointname); + var_02 = level.iceberglanemodel gettagangles(param_00.jointname); + var_03 = spawn("script_model",var_01); + var_03 setmodel(param_00.xmodelname); + var_03.angles = var_02; + return var_03; +} + +//Function Number: 42 +connectenttoanimproxy(param_00,param_01) +{ + param_00.animproxy = setupanimproxy(param_00); + if(isdefined(param_01)) + { + wait(param_01); + } + + var_02 = getentarray(param_00.jointname,"targetname"); + foreach(var_04 in var_02) + { + var_04 vehicle_jetbikesethoverforcescale(param_00.animproxy); + if(isdefined(param_01)) + { + wait(param_01); + } + } + + thread prepareiceberganimation(param_00); + if(isdefined(param_01)) + { + wait(param_01); + } +} + +//Function Number: 43 +disconnectentfromanimproxyanddelete(param_00,param_01,param_02) +{ + var_03 = getentarray(param_00.jointname,"targetname"); + foreach(var_05 in var_03) + { + var_05 unlink(); + var_05 delete(); + if(isdefined(param_02)) + { + wait(param_02); + } + } +} + +//Function Number: 44 +cleanupsunkenchunks() +{ + foreach(var_01 in level.icebergbonelist) + { + if(isdefined(var_01.shouldclean) && var_01.shouldclean == 1) + { + disconnectentfromanimproxyanddelete(var_01,level.iceberglanecollapseanimproxy,0.1); + } + } + + wait(26.67); + if(level.nextgen) + { + common_scripts\utility::flag_wait("icebergChunks"); + level.icebergchunks1 delete(); + level.icebergchunks2 delete(); + level.icebergchunks3 delete(); + } +} + +//Function Number: 45 +handleiceberglanebreakupend() +{ + level.endstateinit = 1; + level notify("dynamic_event_started"); + foreach(var_01 in level.icebergbonelist) + { + var_01.animproxy.origin = var_01.endpos; + } + + level notify("dynamic_event_complete"); + thread cleanupsunkenchunks(); +} + +//Function Number: 46 +handleiceberglanereset() +{ +} + +//Function Number: 47 +handledynamiceventpaths() +{ + var_00 = getent("post_dynamic_event_temp_geo","targetname"); + var_01 = getent("pre_dynamic_event_temp_geo","targetname"); + var_00 delete(); + var_01 delete(); + patchaerialnodes(); + waittillframeend; + thread handledynamiceventcarepackagebadvolumes(); + if(!isdefined(level.endstateinit)) + { + thread disconnectnodes("post_dynamic_event_pathnodes"); + level waittill("dynamic_event_started"); + thread disconnectnodes("pre_dynamic_event_pathnodes",1); + level waittill("icebergMajorMotionComplete"); + thread connectnodes("post_dynamic_event_pathnodes",1); + return; + } + + thread disconnectnodes("pre_dynamic_event_pathnodes"); +} + +//Function Number: 48 +initcarepackagebadvolumes() +{ + while(!isdefined(level.orbital_util_covered_volumes)) + { + wait 0.05; + } + + var_00 = getentarray("carepackage_bad_vol","targetname"); + foreach(var_02 in var_00) + { + level.orbital_util_covered_volumes[level.orbital_util_covered_volumes.size] = var_02; + } + + foreach(var_02 in var_00) + { + level.goliath_bad_landing_volumes[level.goliath_bad_landing_volumes.size] = var_02; + } +} + +//Function Number: 49 +handledynamiceventcarepackagebadvolumes() +{ + var_00 = getentarray("pre_event_bad_vol","targetname"); + var_01 = getentarray("post_event_bad_vol","targetname"); + while(!isdefined(level.orbital_util_covered_volumes)) + { + wait 0.05; + } + + foreach(var_03 in var_00) + { + level.orbital_util_covered_volumes[level.orbital_util_covered_volumes.size] = var_03; + } + + foreach(var_03 in var_00) + { + level.goliath_bad_landing_volumes[level.goliath_bad_landing_volumes.size] = var_03; + } + + foreach(var_03 in var_01) + { + level.orbital_util_covered_volumes[level.orbital_util_covered_volumes.size] = var_03; + } + + foreach(var_03 in var_01) + { + level.goliath_bad_landing_volumes[level.goliath_bad_landing_volumes.size] = var_03; + } + + if(!isdefined(level.endstateinit)) + { + thread disabletriggerset(var_01); + level waittill("dynamic_event_pre_start"); + thread enabletriggerset(var_01); + level waittill("dynamic_event_complete"); + } + + thread disabletriggerset(var_00); +} + +//Function Number: 50 +enabletriggerset(param_00) +{ + foreach(var_02 in param_00) + { + var_02 common_scripts\utility::trigger_on(); + } +} + +//Function Number: 51 +disabletriggerset(param_00) +{ + foreach(var_02 in param_00) + { + var_02 common_scripts\utility::trigger_off(); + } +} + +//Function Number: 52 +disconnectnodes(param_00,param_01) +{ + var_02 = getnodearray(param_00,"targetname"); + for(var_03 = 0;var_03 < var_02.size;var_03++) + { + var_02[var_03] disconnectnode(); + if(isdefined(param_01) && param_01 && var_03 % 20 == 0) + { + wait 0.05; + } + } + + if(isdefined(param_01) && param_01) + { + wait 0.05; + } + + var_04 = getnodearray(param_00,"script_noteworthy"); + for(var_03 = 0;var_03 < var_04.size;var_03++) + { + var_04[var_03] disconnectnode(); + if(isdefined(param_01) && param_01 && var_03 % 20 == 0) + { + wait 0.05; + } + } + + if(isdefined(param_01) && param_01) + { + wait 0.05; + } + + disconnectnodepairs(var_02,param_01); + if(isdefined(param_01) && param_01) + { + wait 0.05; + } + + disconnectnodepairs(var_04,param_01); +} + +//Function Number: 53 +connectnodes(param_00,param_01) +{ + var_02 = 0; + var_03 = getnodearray(param_00,"targetname"); + foreach(var_05 in var_03) + { + var_05 connectnode(); + reconnectnodepairs(var_05); + var_02++; + if(isdefined(param_01) && param_01 && var_02 % 20 == 0) + { + wait 0.05; + } + } + + var_07 = getnodearray(param_00,"script_noteworthy"); + foreach(var_09 in var_07) + { + var_09 connectnode(); + reconnectnodepairs(var_09); + var_02++; + if(isdefined(param_01) && param_01 && var_02 % 20 == 0) + { + wait 0.05; + } + } +} + +//Function Number: 54 +reconnectnodepairs(param_00) +{ + if(isdefined(param_00.disconnections)) + { + foreach(var_02 in param_00.disconnections) + { + connectnodepair(param_00,var_02); + } + } +} + +//Function Number: 55 +disconnectnodepairs(param_00,param_01) +{ + var_02 = 0; + foreach(var_04 in param_00) + { + var_05 = []; + var_05 = getlinkednodes(var_04,1); + if(var_05.size > 0) + { + if(!isdefined(var_04.disconnections)) + { + var_04.disconnections = []; + } + + foreach(var_07 in var_05) + { + if(!isdefined(var_07.targetname) || var_07.targetname == "") + { + var_04.disconnections[var_04.disconnections.size] = var_07; + } + + disconnectnodepair(var_04,var_07); + var_02++; + if(isdefined(param_01) && param_01 && var_02 % 20 == 0) + { + wait 0.05; + } + } + } + } +} + +//Function Number: 56 +patchaerialnodes() +{ + var_00 = []; + var_00[var_00.size] = getnodearray("post_dynamic_event_pathnodes","script_noteworthy"); + var_00[var_00.size] = getnodearray("pre_dynamic_event_pathnodes","script_noteworthy"); + var_00[var_00.size] = getnodearray("post_dynamic_event_pathnodes","targetname"); + var_00[var_00.size] = getnodearray("pre_dynamic_event_pathnodes","targetname"); + foreach(var_02 in var_00) + { + foreach(var_04 in var_02) + { + var_04.forceenableaerialnode = 1; + } + } +} + +//Function Number: 57 +setupicebergdeath() +{ + if(isdefined(self.isjuggernaut) && self.isjuggernaut) + { + return; + } + + self.prev_body = self.body; + thread cleanupicebergdeath(); + self.prekilledfunc = ::onicebergdeath; +} + +//Function Number: 58 +cleanupicebergdeath() +{ + self endon("doneIcebergDeath"); + self endon("disconnect"); + common_scripts\utility::waittill_any("fracture_event_triggers_left","icebergMajorMotionComplete"); + self.prekilledfunc = undefined; +} + +//Function Number: 59 +onicebergdeath(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A) +{ + thread onicebergdeath_internal(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A); +} + +//Function Number: 60 +onicebergdeath_internal(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A) +{ + self.prekilledfunc = undefined; + waittillframeend; + if(!isdefined(self.body) || isremovedentity(self.body) || isdefined(self.prev_body) && self.prev_body == self.body) + { + return; + } + + var_0B = undefined; + if(isdefined(param_04)) + { + if(isexplosivedamagemod(param_04)) + { + var_0B = 0.5; + } + else if(param_04 == "MOD_MELEE_ALT" && param_02 getstance() != "prone") + { + var_0B = 0.5; + } + } + + if(isdefined(var_0B)) + { + wait(var_0B); + } + + if(!isdefined(self.body) || isremovedentity(self.body)) + { + return; + } + + self.body startragdoll(); + self notify("doneIcebergDeath"); +} + +//Function Number: 61 +fracturegoliathdeathhack() +{ + level endon("dynamic_event_complete"); + for(;;) + { + level waittill("juggernaut_equipped",var_00); + if(!isai(var_00)) + { + var_00.prekilledfunc = ::fracturegoliathdeathhack_internal; + var_00 thread fracturegoliathdeathhack_cleanup(); + } + } +} + +//Function Number: 62 +fracturegoliathdeathhack_internal(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A) +{ + if(self.origin[1] > 480 && !isdefined(self.juggernautsuicide) && self.juggernautsuicide) + { + playfx(common_scripts\utility::getfx("goliath_self_destruct"),self.origin,anglestoup(self.angles)); + maps\mp\_snd_common_mp::snd_message("goliath_death_explosion"); + self.juggernautsuicide = 1; + self.hideondeath = 1; + } + + self.prekilledfunc = undefined; + self notify("deathHackFinished"); +} + +//Function Number: 63 +fracturegoliathdeathhack_cleanup() +{ + self endon("deathHackFinished"); + common_scripts\utility::waittill_any("disconnect","joined_team","joined_spectators","jugg_removed"); + self.prekilledfunc = undefined; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_fracture_aud.gsc b/AW/PC/maps/mp/mp_fracture_aud.gsc new file mode 100644 index 0000000..8815012 --- /dev/null +++ b/AW/PC/maps/mp/mp_fracture_aud.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_fracture_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:17:26 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_fracture_fx.gsc b/AW/PC/maps/mp/mp_fracture_fx.gsc new file mode 100644 index 0000000..2198de9 --- /dev/null +++ b/AW/PC/maps/mp/mp_fracture_fx.gsc @@ -0,0 +1,43 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_fracture_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:17:26 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["mp_cgo_iceberg_foam_1"] = loadfx("vfx/map/mp_cargoship/mp_cgo_iceberg_foam_1"); + level._effect["dust_ambient_interior"] = loadfx("vfx/map/greece/dust_ambient_interior"); + level._effect["mp_cgo_falling_object_splash"] = loadfx("vfx/map/mp_cargoship/mp_cgo_falling_object_splash"); + level._effect["mp_cgo_lrg_ice_break_splash"] = loadfx("vfx/map/mp_cargoship/mp_cgo_lrg_ice_break_splash"); + level._effect["mp_cgo_ice_break_splash"] = loadfx("vfx/map/mp_cargoship/mp_cgo_ice_break_splash"); + level._effect["mp_cgo_ocean_wave_01"] = loadfx("vfx/map/mp_cargoship/mp_cgo_ocean_wave_01"); + level._effect["mp_cgo_snow_geyser_blast"] = loadfx("vfx/map/mp_cargoship/mp_cgo_snow_geyser_blast"); + level._effect["mp_cgo_falling_snow_chunks_2"] = loadfx("vfx/map/mp_cargoship/mp_cgo_falling_snow_chunks_2"); + level._effect["mp_cgo_falling_snow_chunks_1"] = loadfx("vfx/map/mp_cargoship/mp_cgo_falling_snow_chunks_1"); + level._effect["mp_cgo_snow_wind_gust_runner"] = loadfx("vfx/map/mp_cargoship/mp_cgo_snow_wind_gust_runner"); + level._effect["mp_cgo_godray_hazy_lrg"] = loadfx("vfx/map/mp_cargoship/mp_cgo_godray_hazy_lrg"); + level._effect["mp_cgo_floodlight_flare_01"] = loadfx("vfx/map/mp_cargoship/mp_cgo_floodlight_flare_01"); + level._effect["mp_cgo_floodlight_flare_02"] = loadfx("vfx/map/mp_cargoship/mp_cgo_floodlight_flare_02"); + level._effect["mp_cgo_heat_lamp_01"] = loadfx("vfx/map/mp_cargoship/mp_cgo_heat_lamp_01"); + level._effect["mp_cgo_fluorescent_flare_01"] = loadfx("vfx/map/mp_cargoship/mp_cgo_fluorescent_flare_01"); + level._effect["electrical_sparks_runner_no_impact_spawn"] = loadfx("vfx/explosion/electrical_sparks_runner_no_impact_spawn"); + level._effect["test_effect"] = loadfx("vfx/test/test_fx"); + level._effect["fx_sunflare_cargoship2"] = loadfx("vfx/lensflare/fx_sunflare_cargoship2"); +} + +//Function Number: 2 +ice_cracking_fx() +{ + wait(0.1); + activateclientexploder(1); + wait(1.3); + activateclientexploder(2); + wait(0.6); + activateclientexploder(3); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_fracture_lighting.gsc b/AW/PC/maps/mp/mp_fracture_lighting.gsc new file mode 100644 index 0000000..5acd493 --- /dev/null +++ b/AW/PC/maps/mp/mp_fracture_lighting.gsc @@ -0,0 +1,24 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_fracture_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:17:27 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + set_level_lighting_values(); +} + +//Function Number: 2 +set_level_lighting_values() +{ + if(isusinghdr()) + { + setdvar("r_disablelightsets",0); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_fracture_precache.gsc b/AW/PC/maps/mp/mp_fracture_precache.gsc new file mode 100644 index 0000000..56c11c8 --- /dev/null +++ b/AW/PC/maps/mp/mp_fracture_precache.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_fracture_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:17:27 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_greenband.gsc b/AW/PC/maps/mp/mp_greenband.gsc new file mode 100644 index 0000000..6293fca --- /dev/null +++ b/AW/PC/maps/mp/mp_greenband.gsc @@ -0,0 +1,268 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_greenband.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 14 + * Decompile Time: 219 ms + * Timestamp: 4/22/2024 2:17:28 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\mp\mp_greenband_precache::main(); + maps\createart\mp_greenband_art::main(); + maps\mp\mp_greenband_fx::main(); + maps\mp\_load::main(); + thread setup_audio(); + maps\mp\_compass::setupminimap("compass_map_mp_greenband"); + setdvar("r_lightGridEnableTweaks",1); + setdvar("r_lightGridIntensity",1.33); + setdvar("r_diffuseColorScale",1.5); + setdvar("r_gunSightColorEntityScale","7"); + setdvar("r_gunSightColorNoneScale","0.8"); + level.ospvisionset = "(mp_greenband_osp)"; + level.osplightset = "(mp_greenband_osp)"; + level.dronevisionset = "(mp_greenband_drone)"; + level.dronelightset = "(mp_greenband_drone)"; + level.warbirdvisionset = "(mp_greenband_warbird)"; + level.warbirdlightset = "(mp_greenband_warbird)"; + game["attackers"] = "allies"; + game["defenders"] = "axis"; + if(level.nextgen) + { + level.aerial_pathnode_group_connect_dist = 600; + } + + level thread maps\mp\_water::init(); + level thread greenband_drones(); + if(!isdefined(level.airstrikeoverrides)) + { + level.airstrikeoverrides = spawnstruct(); + } + + level.airstrikeoverrides.spawnheight = 2500; + level.orbitalsupportoverridefunc = ::greenbandcustomospfunc; + level.goliath_bad_landing_volumes = getentarray("goliath_bad_landing_volume","targetname"); + level thread greenbandpatchclip(); +} + +//Function Number: 2 +greenbandpatchclip() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1722,-3380,128),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1722,-3380,384),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1722,-3380,640),(0,270,0)); +} + +//Function Number: 3 +greenbandcustomospfunc() +{ + level.orbitalsupportoverrides.spawnheight = 9279; + level.orbitalsupportoverrides.spawnradius = 7000; + level.orbitalsupportoverrides.turretpitch = 50; + level.orbitalsupportoverrides.spawnanglemin = undefined; + level.orbitalsupportoverrides.spawnanglemax = undefined; + if(level.currentgen) + { + level.orbitalsupportoverrides.toparc = -40; + } +} + +//Function Number: 4 +setup_audio() +{ + ambientplay("amb_gnb_ext"); +} + +//Function Number: 5 +greenband_drones() +{ + level.drones = []; + level thread ambient_police_drones(); + level thread vista_police_drones(); + level thread vista_police_group_drones(); +} + +//Function Number: 6 +spawn_police_drone_with_anim(param_00,param_01,param_02) +{ + var_03 = common_scripts\utility::getstruct("event_anim_node","targetname"); + var_04 = spawn_police_drone(param_00); + if(isdefined(param_02)) + { + for(;;) + { + var_04.health = 20; + var_04 setcandamage(1); + var_04 thread police_drone_play_anim(param_01,param_02,param_00,var_03); + var_04 waittill("death"); + var_04 hide(); + playfx(level._effect["vehicle_pdrone_explosion"],var_04.origin); + playsoundatpos(var_04.origin,"mp_greenband_drone_exp"); + var_04 waittillmatch("enter_start","event_police_drone"); + var_04 show(); + var_04 thread police_drone_play_all_fx(); + } + + return; + } + + var_04 thread police_drone_play_anim(param_01,undefined,param_00,var_03); +} + +//Function Number: 7 +police_drone_play_anim(param_00,param_01,param_02,param_03) +{ + self notify("police_drone_play_anim"); + self endon("police_drone_play_anim"); + self scriptmodelclearanim(); + if(isdefined(param_01)) + { + self scriptmodelplayanimdeltamotionfrompos(param_01,param_03.origin,param_03.angles,"event_police_drone"); + self waittillmatch("end","event_police_drone"); + } + + self scriptmodelplayanimdeltamotionfrompos(param_00,param_03.origin,param_03.angles,"event_police_drone"); +} + +//Function Number: 8 +spawn_police_drone(param_00) +{ + var_01 = spawn("script_model",(0,0,0)); + var_01.angles = (0,0,0); + var_01.destroyed = 0; + var_01.dronetype = param_00; + if(!isdefined(level.drones[param_00])) + { + level.drones[param_00] = []; + } + + level.drones[param_00][level.drones[param_00].size] = var_01; + switch(param_00) + { + case "ambient": + case "test": + var_01.light_fx_name = "mp_gb_drone_blink_nt"; + var_01.exhaust_fx_name = "mp_gb_drone_trail"; + var_01 setmodel("vehicle_police_drone_01_anim"); + var_01 playloopsound("mp_gnb_police_drone_hover_lp"); + break; + + case "vista": + var_01.light_fx_name = "mp_gb_drone_blink_vista"; + var_01.exhaust_fx_name = "mp_gb_drone_trail_vista"; + var_01 setmodel("vehicle_police_drone_01_simple_anim"); + break; + + case "vista_group": + var_01.light_fx_name = "mp_gb_drone_hd_grp"; + var_01.exhaust_fx_name = "mp_gb_drone_trail_grp"; + var_01 setmodel("vehicle_police_drone_01_group_anim"); + var_01 playloopsound("mp_gnb_drone_group_flyby"); + break; + + default: + break; + } + + var_01 thread police_drone_play_all_fx(); + return var_01; +} + +//Function Number: 9 +police_drone_play_all_fx() +{ + self endon("death"); + thread police_drone_play_fx(self.light_fx_name,"tag_lights"); + thread police_drone_play_fx(self.exhaust_fx_name,"tag_exhaust"); + for(;;) + { + level waittill("connected",var_00); + thread police_drone_play_fx(self.light_fx_name,"tag_lights",var_00); + thread police_drone_play_fx(self.exhaust_fx_name,"tag_exhaust",var_00); + } +} + +//Function Number: 10 +police_drone_play_fx(param_00,param_01,param_02) +{ + if(!isdefined(param_00)) + { + return; + } + + if(isdefined(param_02)) + { + param_02 endon("death"); + } + + wait 0.05; + var_03 = [param_01]; + if(self.dronetype == "vista_group") + { + for(var_04 = 1;var_04 < 5;var_04++) + { + var_03[var_03.size] = param_01 + "" + var_04; + } + } + + foreach(var_06 in var_03) + { + if(isdefined(param_02)) + { + playfxontagforclients(level._effect[param_00],self,var_06,param_02); + } + else + { + playfxontag(level._effect[param_00],self,var_06); + } + + wait 0.05; + } +} + +//Function Number: 11 +vista_police_group_drones() +{ + level thread spawn_police_drone_with_anim("vista_group","mp_gb_drone_vista_group_01"); + level thread spawn_police_drone_with_anim("vista_group","mp_gb_drone_vista_group_02"); +} + +//Function Number: 12 +vista_police_drones() +{ + level thread spawn_police_drone_with_anim("vista","mp_gb_drone_vista_01"); + level thread spawn_police_drone_with_anim("vista","mp_gb_drone_vista_02"); + level thread spawn_police_drone_with_anim("vista","mp_gb_drone_vista_03"); + level thread spawn_police_drone_with_anim("vista","mp_gb_drone_vista_04"); +} + +//Function Number: 13 +ambient_police_drones() +{ + level thread spawn_police_drone_with_anim("ambient","mp_gb_drone_circle_01","mp_gb_drone_circle_01_enter"); + level thread spawn_police_drone_with_anim("ambient","mp_gb_drone_circle_02","mp_gb_drone_circle_02_enter"); + level thread spawn_police_drone_with_anim("ambient","mp_gb_drone_circle_03","mp_gb_drone_circle_03_enter"); + level thread spawn_police_drone_with_anim("ambient","mp_gb_drone_circle_04","mp_gb_drone_circle_04_enter"); + level thread ambient_police_drone_vo(); +} + +//Function Number: 14 +ambient_police_drone_vo() +{ + for(;;) + { + foreach(var_01 in level.drones["ambient"]) + { + if(!var_01.destroyed) + { + wait(randomfloatrange(7,15)); + var_01 playsound("mp_gnb_police_drone_chatter"); + } + } + + wait(1); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_greenband_fx.gsc b/AW/PC/maps/mp/mp_greenband_fx.gsc new file mode 100644 index 0000000..85090b7 --- /dev/null +++ b/AW/PC/maps/mp/mp_greenband_fx.gsc @@ -0,0 +1,74 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_greenband_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 29 ms + * Timestamp: 4/22/2024 2:17:28 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["mp_gb_watersteps_sm"] = loadfx("vfx/map/mp_greenband/mp_gb_watersteps_sm"); + level._effect["mp_gb_water_wake_steps"] = loadfx("vfx/map/mp_greenband/mp_gb_water_wake_steps"); + level._effect["mp_gnb_holo1_glow"] = loadfx("vfx/map/mp_greenband/mp_gnb_holo1_glow"); + level._effect["mp_gnb_sign_holo1"] = loadfx("vfx/map/mp_greenband/mp_gnb_sign_holo1"); + level._effect["mp_gb_water_rocks2"] = loadfx("vfx/map/mp_greenband/mp_gb_water_rocks2"); + level._effect["leaves_fall_gentlewind2"] = loadfx("vfx/wind/leaves_fall_gentlewind2"); + level._effect["leaves_fall_gentlewind_no_physics"] = loadfx("vfx/wind/leaves_fall_gentlewind_no_physics"); + level._effect["mp_gb_waterbubbles2"] = loadfx("vfx/map/mp_greenband/mp_gb_waterbubbles2"); + level._effect["mp_gb_col_smog_playspace"] = loadfx("vfx/map/mp_greenband/mp_gb_col_smog_playspace"); + level._effect["mp_gb_water_rocks"] = loadfx("vfx/map/mp_greenband/mp_gb_water_rocks"); + level._effect["mp_gb_sign_leaves_falling"] = loadfx("vfx/map/mp_greenband/mp_gb_sign_leaves_falling"); + level._effect["mp_gb_waterdrip"] = loadfx("vfx/map/mp_greenband/mp_gb_waterdrip"); + level._effect["mp_gb_red_bglows"] = loadfx("vfx/map/mp_greenband/mp_gb_red_bglows"); + level._effect["mp_gb_groundflower_runner"] = loadfx("vfx/map/mp_greenband/mp_gb_groundflower_runner"); + level._effect["mp_gb_holo_urbanstay"] = loadfx("vfx/map/mp_greenband/mp_gb_holo_urbanstay"); + level._effect["mp_gb_col_smog_or"] = loadfx("vfx/map/mp_greenband/mp_gb_col_smog_or"); + level._effect["mp_gb_emp_screenfx"] = loadfx("vfx/map/mp_greenband/mp_gb_emp_screenfx"); + level._effect["mp_gb_blossom_runner"] = loadfx("vfx/map/mp_greenband/mp_gb_blossom_runner"); + level._effect["mp_gb_petal_runner"] = loadfx("vfx/map/mp_greenband/mp_gb_petal_runner"); + level._effect["mp_gb_waterbubbles"] = loadfx("vfx/map/mp_greenband/mp_gb_waterbubbles"); + level._effect["mp_gb_leaf_01"] = loadfx("vfx/map/mp_greenband/mp_gb_leaf_01"); + level._effect["mp_gb_godray_lrg"] = loadfx("vfx/map/mp_greenband/mp_gb_godray_lrg"); + level._effect["mp_gb_veh_blue"] = loadfx("vfx/map/mp_greenband/mp_gb_veh_blue"); + level._effect["mp_gb_watersteps"] = loadfx("vfx/map/mp_greenband/mp_gb_watersteps"); + level._effect["mp_gb_chimney"] = loadfx("vfx/map/mp_greenband/mp_gb_chimney"); + level._effect["mp_gb_godray_ctree"] = loadfx("vfx/map/mp_greenband/mp_gb_godray_ctree"); + level._effect["mp_gnb_sign_floater6_runner"] = loadfx("vfx/map/mp_greenband/mp_gnb_sign_floater6_runner"); + level._effect["mp_gnb_sign_floater5_runner"] = loadfx("vfx/map/mp_greenband/mp_gnb_sign_floater5_runner"); + level._effect["mp_gnb_sign_floater4_runner"] = loadfx("vfx/map/mp_greenband/mp_gnb_sign_floater4_runner"); + level._effect["mp_gnb_sign_floater3_runner"] = loadfx("vfx/map/mp_greenband/mp_gnb_sign_floater3_runner"); + level._effect["mp_gnb_sign_floater2_runner"] = loadfx("vfx/map/mp_greenband/mp_gnb_sign_floater2_runner"); + level._effect["mp_gnb_sign_floater1_runner"] = loadfx("vfx/map/mp_greenband/mp_gnb_sign_floater1_runner"); + level._effect["mp_gb_sparks_runner"] = loadfx("vfx/map/mp_greenband/mp_gb_sparks_runner"); + level._effect["mp_gb_steam_int"] = loadfx("vfx/map/mp_greenband/mp_gb_steam_int"); + level._effect["mp_gb_corridor_lights"] = loadfx("vfx/map/mp_greenband/mp_gb_corridor_lights"); + level._effect["mp_gb_steam_haze"] = loadfx("vfx/map/mp_greenband/mp_gb_steam_haze"); + level._effect["mp_gb_sand_runner"] = loadfx("vfx/map/mp_greenband/mp_gb_sand_runner"); + level._effect["mp_gb_waterfall"] = loadfx("vfx/map/mp_greenband/mp_gb_waterfall"); + level._effect["mp_gb_birds_runner"] = loadfx("vfx/map/mp_greenband/mp_gb_birds_runner"); + level._effect["mp_gb_tlight_white_blnk_fast"] = loadfx("vfx/map/mp_greenband/mp_gb_tlight_white_blnk_fast"); + level._effect["mp_gb_tlight_red_blnk_med"] = loadfx("vfx/map/mp_greenband/mp_gb_tlight_red_blnk_med"); + level._effect["mp_gb_tlight_red_blnk_slw"] = loadfx("vfx/map/mp_greenband/mp_gb_tlight_red_blnk_slw"); + level._effect["mp_gb_birds_takeoff_runner"] = loadfx("vfx/map/mp_greenband/mp_gb_birds_takeoff_runner"); + level._effect["mp_gb_leaf_kickup_runner"] = loadfx("vfx/map/mp_greenband/mp_gb_leaf_kickup_runner"); + level._effect["mp_gb_drone_hd_grp"] = loadfx("vfx/map/mp_greenband/mp_gb_drone_hd_grp"); + level._effect["mp_gb_drone_trail_grp"] = loadfx("vfx/map/mp_greenband/mp_gb_drone_trail_grp"); + level._effect["vehicle_pdrone_explosion"] = loadfx("vfx/explosion/vehicle_pdrone_explosion"); + level._effect["mp_gb_drone_blink_vista"] = loadfx("vfx/map/mp_greenband/mp_gb_drone_blink_vista"); + level._effect["mp_gb_drone_trail_vista"] = loadfx("vfx/map/mp_greenband/mp_gb_drone_trail_vista"); + level._effect["mp_gb_drone_blink_nt"] = loadfx("vfx/map/mp_greenband/mp_gb_drone_blink_nt"); + level._effect["mp_gb_drone_trail"] = loadfx("vfx/map/mp_greenband/mp_gb_drone_trail"); + level._effect["mp_gb_watercurtain"] = loadfx("vfx/map/mp_greenband/mp_gb_watercurtain"); + level._effect["mp_gb_water_splash_sm"] = loadfx("vfx/map/mp_greenband/mp_gb_water_splash_sm"); + level._effect["mp_gb_wind_debris"] = loadfx("vfx/map/mp_greenband/mp_gb_wind_debris"); + level._effect["mp_gb_sunflare"] = loadfx("vfx/map/mp_greenband/mp_gb_sunflare"); + level._effect["mp_gb_light_cone_single"] = loadfx("vfx/map/mp_greenband/mp_gb_light_cone_single"); + level._effect["mp_gb_light_glow_teal"] = loadfx("vfx/map/mp_greenband/mp_gb_light_glow_teal"); + level._effect["mp_gb_light_glow_warm"] = loadfx("vfx/map/mp_greenband/mp_gb_light_glow_warm"); + level._effect["mp_gb_light_uplight"] = loadfx("vfx/map/mp_greenband/mp_gb_light_uplight"); + level._effect["mp_gb_paper_runner"] = loadfx("vfx/map/mp_greenband/mp_gb_paper_runner"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_greenband_precache.gsc b/AW/PC/maps/mp/mp_greenband_precache.gsc new file mode 100644 index 0000000..e17409c --- /dev/null +++ b/AW/PC/maps/mp/mp_greenband_precache.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_greenband_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 2:17:29 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_highrise2.gsc b/AW/PC/maps/mp/mp_highrise2.gsc new file mode 100644 index 0000000..2e907eb --- /dev/null +++ b/AW/PC/maps/mp/mp_highrise2.gsc @@ -0,0 +1,315 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_highrise2.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 19 + * Decompile Time: 316 ms + * Timestamp: 4/22/2024 2:17:30 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.callbackstartgametype = ::highrise2_callbackstartgametype; + common_scripts\_mp_pipes::main(); + maps\mp\mp_highrise2_precache::main(); + maps\createart\mp_highrise2_art::main(); + maps\mp\mp_highrise2_fx::main(); + maps\mp\_load::main(); + maps\mp\mp_highrise2_lighting::main(); + maps\mp\mp_highrise2_aud::main(); + maps\mp\_compass::setupminimap("compass_map_mp_highrise2"); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + level.ospvisionset = "mp_highrise2_osp"; + level.osplightset = "mp_highrise2_osp"; + level.dronevisionset = "mp_highrise2_drone"; + level.dronelightset = "mp_highrise2_drone"; + level.warbirdvisionset = "mp_highrise2_warbird"; + level.warbirdlightset = "mp_highrise2_warbird"; + setdvar("sm_minSpotLightScore",0.0005); + level thread droneanims(); + level thread resetuplinkballoutofbounds(); + level thread customairstrikeheight(); + level.orbitalsupportoverridefunc = ::custompaladinoverrides; + level.orbitallaseroverridefunc = ::customlaserstreakfunc; + level.pipes_use_simple_normal = 1; + thread scriptinvalidcarepackagearea(); + if(level.nextgen) + { + thread scriptpatchclip(); + } + + thread scriptpatchkilltrigger(); +} + +//Function Number: 2 +scriptpatchkilltrigger() +{ + thread spawnkilltriggerthink((346,6398,3097),108,128); +} + +//Function Number: 3 +spawnkilltriggerthink(param_00,param_01,param_02) +{ + level endon("game_ended"); + var_03 = spawn("trigger_radius",param_00,0,param_01,param_02); + if(!isdefined(var_03)) + { + return; + } + + for(;;) + { + var_03 waittill("trigger",var_04); + if(isdefined(var_04) && isplayer(var_04) && isdefined(var_04.health)) + { + var_04 dodamage(var_04.health + 999,var_03.origin); + } + } +} + +//Function Number: 4 +highrise2_callbackstartgametype() +{ + maps\mp\gametypes\_gamelogic::callback_startgametype(); + common_scripts\_bcs_location_trigs_dlc::bcs_location_trigs_dlc_init(); +} + +//Function Number: 5 +customairstrikeheight() +{ + if(!isdefined(level.airstrikeoverrides)) + { + level.airstrikeoverrides = spawnstruct(); + } + + level.airstrikeoverrides.spawnheight = 4700; +} + +//Function Number: 6 +custompaladinoverrides() +{ + var_00 = maps\mp\killstreaks\_aerial_utility::gethelianchor(); + level.orbitalsupportoverrides.spawnorigin = var_00.origin; + level.orbitalsupportoverrides.spawnheight = 10000; + level.orbitalsupportoverrides.bottomarc = 60; + level.orbitalsupportoverrides.leftarc = 35; + level.orbitalsupportoverrides.rightarc = 35; + level.orbitalsupportoverrides.toparc = -30; + level.orbitalsupportoverrides.spawnradius = 6000; +} + +//Function Number: 7 +customlaserstreakfunc() +{ + var_00 = maps\mp\killstreaks\_aerial_utility::gethelianchor(); + level.orbitallaseroverrides.spawnpoint = var_00.origin; + level.orbitallaseroverrides.spawnheight = var_00.origin[2] - 3550; +} + +//Function Number: 8 +droneanims() +{ + var_00 = getentarray("drone_lift_animated","targetname"); + foreach(var_02 in var_00) + { + var_03 = "hr_drone_idle_01"; + if(isdefined(var_02.script_parameters)) + { + var_03 = var_02.script_parameters; + } + + var_02 thread animatedrone(var_03); + } + + if(level.nextgen) + { + thread spawmdroneandanimate("hr2_drone_lift_nocable_rig_01","hr_drone_flight_01",(364,16624,2000),(0,0,0)); + thread spawmdroneandanimate("hr2_drone_lift_nocable_rig_01","hr_drone_flight_01",(-3124,-12888,4434),(0,0,0)); + } +} + +//Function Number: 9 +animatedrone(param_00) +{ + wait(0.05); + self scriptmodelplayanim(param_00); + playfxontag(common_scripts\utility::getfx("mp_hr2_drone_lightbeam"),self,"tag_light"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("mp_hr2_drone_prop_wind"),self,"tag_light"); + wait 0.05; +} + +//Function Number: 10 +spawmdroneandanimate(param_00,param_01,param_02,param_03) +{ + var_04 = spawn("script_model",param_02); + var_04 setmodel(param_00); + var_04.angles = param_03; + wait(0.05); + var_04 scriptmodelplayanim(param_01); + playfxontag(common_scripts\utility::getfx("mp_hr2_drone_lightbeam"),var_04,"tag_light"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("mp_hr2_drone_prop_wind"),var_04,"tag_light"); + wait 0.05; +} + +//Function Number: 11 +resetuplinkballoutofbounds() +{ + level endon("game_ended"); + if(level.gametype == "ball") + { + while(!isdefined(level.balls)) + { + wait(0.05); + } + + foreach(var_01 in level.balls) + { + var_01 thread watchcarryobjects(); + } + } +} + +//Function Number: 12 +watchcarryobjects() +{ + level endon("game_ended"); + for(;;) + { + self waittill("dropped"); + wait(0.1); + thread monitorballstate(); + var_00 = common_scripts\utility::waittill_any_return("pickup_object","reset"); + } +} + +//Function Number: 13 +monitorballstate() +{ + self endon("pickup_object"); + self endon("reset"); + for(;;) + { + if(isoutofbounds()) + { + thread maps\mp\gametypes\_gameobjects::returnhome(); + return; + } + + wait(0.05); + } +} + +//Function Number: 14 +isoutofbounds() +{ + var_00 = getentarray("object_out_of_bounds","targetname"); + if(isdefined(var_00)) + { + for(var_01 = 0;var_01 < var_00.size;var_01++) + { + if(!self.visuals[0] istouching(var_00[var_01])) + { + continue; + } + + return 1; + } + } + + return 0; +} + +//Function Number: 15 +scriptinvalidcarepackagearea() +{ + var_00 = getentarray("orbital_node_covered","targetname"); + foreach(var_02 in var_00) + { + if(!isdefined(level.goliath_bad_landing_volumes)) + { + level.goliath_bad_landing_volumes = []; + } + + level.goliath_bad_landing_volumes[level.goliath_bad_landing_volumes.size] = var_02; + var_03 = getnodesintrigger(var_02); + if(!isdefined(level.goliath_bad_landing_nodes)) + { + level.goliath_bad_landing_nodes = []; + } + + if(var_03.size > 0) + { + foreach(var_05 in var_03) + { + level.goliath_bad_landing_nodes[level.goliath_bad_landing_nodes.size] = var_05; + } + } + } + + var_08 = []; + var_08 = common_scripts\utility::array_combine(var_08,getnodesinradius((-448,6620,2888),250,0,22)); + var_08 = common_scripts\utility::array_combine(var_08,getnodesinradius((-964,6620,2888),250,0,45)); + var_08 = common_scripts\utility::array_combine(var_08,getnodesinradius((-964,7140,2888),250,0,45)); + var_08 = common_scripts\utility::array_combine(var_08,getnodesinradius((-448,7140,2888),250,0,45)); + var_08 = common_scripts\utility::array_combine(var_08,getnodesinradius((-1404,7140,2888),250,0,45)); + var_08 = common_scripts\utility::array_combine(var_08,getnodesinradius((-1404,6620,2888),250,0,45)); + var_08 = common_scripts\utility::array_combine(var_08,getnodesinradius((-1620,6498,2888),250,0,45)); + var_08 = common_scripts\utility::array_combine(var_08,getnodesinradius((-1984,6620,2888),250,0,45)); + var_08 = common_scripts\utility::array_combine(var_08,getnodesinradius((-2240,6620,2888),250,0,45)); + var_08 = common_scripts\utility::array_combine(var_08,getnodesinradius((-2240,7140,2888),250,0,45)); + var_08 = common_scripts\utility::array_combine(var_08,getnodesinradius((-1876,7140,2888),250,0,45)); + var_08 = common_scripts\utility::array_remove_duplicates(var_08); + level.goliath_bad_landing_nodes = common_scripts\utility::array_combine(var_08,level.goliath_bad_landing_nodes); + if(level.goliath_bad_landing_nodes.size > 0) + { + foreach(var_05 in level.goliath_bad_landing_nodes) + { + nodesetremotemissilename(var_05,"none"); + } + } +} + +//Function Number: 16 +scriptpatchclip() +{ + thread outsideexecutiveofficeledgestuck(); + thread insideexecutiveofficethroughvent(); + thread cratejumpthroughceiling(); +} + +//Function Number: 17 +cratejumpthroughceiling() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-1427,6198,2776),(270,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-1301,6198,2776),(270,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-1427,6132,2776),(270,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-1301,6132,2776),(270,0,0)); +} + +//Function Number: 18 +insideexecutiveofficethroughvent() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(438,6072,3104),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(438,6136,3104),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(438,6200,3104),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(438,6264,3104),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(438,6328,3104),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(438,6392,3104),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(438,6456,3104),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(438,6520,3104),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(438,6584,3104),(0,0,0)); +} + +//Function Number: 19 +outsideexecutiveofficeledgestuck() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-2810,5136,2999),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-2810,5158,2999),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-2778,5136,2999),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-2778,5158,2999),(0,0,0)); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_highrise2_aud.gsc b/AW/PC/maps/mp/mp_highrise2_aud.gsc new file mode 100644 index 0000000..38d64bd --- /dev/null +++ b/AW/PC/maps/mp/mp_highrise2_aud.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_highrise2_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 29 ms + * Timestamp: 4/22/2024 2:17:30 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_highrise2_fx.gsc b/AW/PC/maps/mp/mp_highrise2_fx.gsc new file mode 100644 index 0000000..be4363e --- /dev/null +++ b/AW/PC/maps/mp/mp_highrise2_fx.gsc @@ -0,0 +1,69 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_highrise2_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 2:17:31 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["mp_hr2_water_dripping_edges_splashes"] = loadfx("vfx/map/mp_highrise2/mp_hr2_water_dripping_edges_splashes"); + level._effect["light_heli_red_blink_no_light"] = loadfx("vfx/lights/dlc/light_heli_red_blink_no_light"); + level._effect["mp_hr2_interior_dust_sm"] = loadfx("vfx/map/mp_highrise2/mp_hr2_interior_dust_sm"); + level._effect["mp_hr2_vista_fog_bright_far"] = loadfx("vfx/map/mp_highrise2/mp_hr2_vista_fog_bright_far"); + level._effect["steam_pipe_burst_lp_xsml"] = loadfx("vfx/steam/dlc/steam_pipe_burst_lp_xsml"); + level._effect["mp_hr2_interior_dust"] = loadfx("vfx/map/mp_highrise2/mp_hr2_interior_dust"); + level._effect["mp_hr2_drone_prop_wind"] = loadfx("vfx/map/mp_highrise2/mp_hr2_drone_prop_wind"); + level._effect["mp_hr2_drone_lightbeam"] = loadfx("vfx/map/mp_highrise2/mp_hr2_drone_lightbeam"); + level._effect["test_axis_effectnow"] = loadfx("vfx/test/test_axis_effectnow"); + level._effect["steam_ambient_vents_light"] = loadfx("vfx/map/mp_dam/steam_ambient_vents_light"); + level._effect["steam_sm_vent_a"] = loadfx("vfx/steam/dlc/steam_sm_vent_a"); + level._effect["steam_pipe_burst_lp_sm"] = loadfx("vfx/steam/dlc/steam_pipe_burst_lp_sm"); + level._effect["steam_ambient_vents"] = loadfx("vfx/map/mp_dam/steam_ambient_vents"); + level._effect["insects_moths"] = loadfx("vfx/animal/insects_moths"); + level._effect["mp_hr2_water_pipe_drips"] = loadfx("vfx/map/mp_highrise2/mp_hr2_water_pipe_drips"); + level._effect["mp_hr2_pipe_fan_spray"] = loadfx("vfx/map/mp_highrise2/mp_hr2_pipe_fan_spray"); + level._effect["mp_hr2_hose_water"] = loadfx("vfx/map/mp_highrise2/mp_hr2_hose_water"); + level._effect["mp_hr2_water_spray_narrow"] = loadfx("vfx/map/mp_highrise2/mp_hr2_water_spray_narrow"); + level._effect["mp_hr2_water_spray"] = loadfx("vfx/map/mp_highrise2/mp_hr2_water_spray"); + level._effect["mp_hr2_water_splashes_lp_runner"] = loadfx("vfx/map/mp_highrise2/mp_hr2_water_splashes_lp_runner"); + level._effect["mp_hr2_water_dripping_edges"] = loadfx("vfx/map/mp_highrise2/mp_hr2_water_dripping_edges"); + level._effect["mp_hr2_water_edge_runoff"] = loadfx("vfx/map/mp_highrise2/mp_hr2_water_edge_runoff"); + level._effect["mp_hr2_water_ring_ripple_lp"] = loadfx("vfx/map/mp_highrise2/mp_hr2_water_ring_ripple_lp"); + level._effect["mp_hr2_water_geyser"] = loadfx("vfx/map/mp_highrise2/mp_hr2_water_geyser"); + level._effect["mp_hr2_longflare"] = loadfx("vfx/map/mp_highrise2/mp_hr2_longflare"); + level._effect["mp_hr2_keyline_flare"] = loadfx("vfx/map/mp_highrise2/mp_hr2_keyline_flare"); + level._effect["mp_hr2_vista_fog_bright"] = loadfx("vfx/map/mp_highrise2/mp_hr2_vista_fog_bright"); + level._effect["mp_hr2_vista_fog"] = loadfx("vfx/map/mp_highrise2/mp_hr2_vista_fog"); + level._effect["mp_hr2_wind_gust_runner"] = loadfx("vfx/map/mp_highrise2/mp_hr2_wind_gust_runner"); + level._effect["mp_hr2_wind_gust_01"] = loadfx("vfx/map/mp_highrise2/mp_hr2_wind_gust_01"); + level._effect["electrical_sparks_runner_no_impact_spawn"] = loadfx("vfx/explosion/electrical_sparks_runner_no_impact_spawn"); + level._effect["brg_dust_mote_ambient_interior"] = loadfx("vfx/map/mp_zombie_brg/brg_dust_mote_ambient_interior"); + level._effect["trash_tornado_s_runner"] = loadfx("vfx/wind/dlc/trash_tornado_s_runner"); + level._effect["wind_blowing_debris_02"] = loadfx("vfx/wind/dlc/wind_blowing_debris_02"); + level._effect["light_clr_shell_filament_blue"] = loadfx("vfx/lights/light_clr_shell_filament_blue"); + level._effect["mp_pipe_gas_fire_leak_runner"] = loadfx("vfx/fire/mp_pipe_gas_fire_leak_runner"); + level._effect["fx_drone_flood_lgt_flare"] = loadfx("vfx/lensflare/fx_drone_flood_lgt_flare"); + level._effect["light_heli_red_blink"] = loadfx("vfx/lights/dlc/light_heli_red_blink"); + level._effect["mp_plex_drone_hover"] = loadfx("vfx/map/mp_perplex/mp_plex_drone_hover"); + level._effect["mp_hr2_light_glow_square"] = loadfx("vfx/map/mp_highrise2/mp_hr2_light_glow_square"); + level._effect["fx_highrise_flour_flare"] = loadfx("vfx/lensflare/fx_highrise_flour_flare"); + level._effect["mp_hr2_light_glow_spot"] = loadfx("vfx/map/mp_highrise2/mp_hr2_light_glow_spot"); + level._effect["fx_hr2_fluor_interior_flare"] = loadfx("vfx/lensflare/fx_hr2_fluor_interior_flare"); + thread helipad_light_fx(); +} + +//Function Number: 2 +helipad_light_fx() +{ + wait(2); + var_00 = common_scripts\utility::getstructarray("helipad_fx_loc","targetname"); + foreach(var_02 in var_00) + { + playfx(common_scripts\utility::getfx("light_clr_shell_filament_blue"),var_02.origin); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_highrise2_lighting.gsc b/AW/PC/maps/mp/mp_highrise2_lighting.gsc new file mode 100644 index 0000000..733f24e --- /dev/null +++ b/AW/PC/maps/mp/mp_highrise2_lighting.gsc @@ -0,0 +1,24 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_highrise2_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 2:17:31 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + set_level_lighting_values(); +} + +//Function Number: 2 +set_level_lighting_values() +{ + if(isusinghdr()) + { + setdvar("r_disablelightsets",0); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_highrise2_precache.gsc b/AW/PC/maps/mp/mp_highrise2_precache.gsc new file mode 100644 index 0000000..7155157 --- /dev/null +++ b/AW/PC/maps/mp/mp_highrise2_precache.gsc @@ -0,0 +1,16 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_highrise2_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 29 ms + * Timestamp: 4/22/2024 2:17:32 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + common_scripts\_pipes::main(); + maps\animated_models\com_roofvent2::main(); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_instinct.gsc b/AW/PC/maps/mp/mp_instinct.gsc new file mode 100644 index 0000000..ea58815 --- /dev/null +++ b/AW/PC/maps/mp/mp_instinct.gsc @@ -0,0 +1,181 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_instinct.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 12 + * Decompile Time: 207 ms + * Timestamp: 4/22/2024 2:17:33 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\mp\mp_instinct_precache::main(); + maps\createart\mp_instinct_art::main(); + maps\mp\mp_instinct_fx::main(); + maps\mp\_load::main(); + maps\mp\mp_instinct_lighting::main(); + maps\mp\mp_instinct_aud::main(); + level.ospvisionset = "mp_instinct_osp"; + level.osplightset = "mp_instinct_osp"; + level.warbirdvisionset = "mp_instinct_osp"; + maps\mp\_compass::setupminimap("compass_map_mp_instinct"); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + level.aerial_pathnode_offset = 350; + level.orbitalsupportoverridefunc = ::instinctcustomospfunc; + precachemodel("ins_crane_drilling_mechanism"); + precachemodel("ins_cave_drill"); + precachemodel("ins_generator_engine_01_fan"); + level.river_drills = getentarray("river_drill","targetname"); + level.cave_drills = getentarray("cave_drill","targetname"); + level.cave_drills_inside = getentarray("cave_drill_inside","targetname"); + level thread drilling_animation(); + level thread generator_fans(); + level.goliath_bad_landing_volumes = getentarray("goliath_bad_landing_volume","targetname"); + thread scriptpatchclip(); + setdvar("r_reactivemotionfrequencyscale",0.5); + setdvar("r_reactivemotionamplitudescale",0.5); +} + +//Function Number: 2 +scriptpatchclip() +{ + thread treepatchclip(); +} + +//Function Number: 3 +treepatchclip() +{ + var_00 = (0,348,0); + var_01 = (1314,60,616); + var_02 = 0; + for(var_03 = 0;var_03 < 16;var_03++) + { + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",var_01 + (0,0,var_02),var_00); + var_02 = var_02 + 64; + } +} + +//Function Number: 4 +instinctcustomospfunc() +{ + level.orbitalsupportoverrides.spawnheight = 9615; + level.orbitalsupportoverrides.toparc = -35; + level.orbitalsupportoverrides.rightarc = 18; + level.orbitalsupportoverrides.leftarc = 18; +} + +//Function Number: 5 +set_lighting_values() +{ + if(isusinghdr()) + { + for(;;) + { + level waittill("connected",var_00); + var_00 setclientdvars("r_tonemap","2","r_tonemapLockAutoExposureAdjust","0","r_tonemapAutoExposureAdjust","0"); + } + } +} + +//Function Number: 6 +river_drilling_animation() +{ + level endon("game_ended"); + var_00 = common_scripts\utility::spawn_tag_origin(); + var_01 = common_scripts\utility::spawn_tag_origin(); + var_02 = common_scripts\utility::spawn_tag_origin(); + var_03 = common_scripts\utility::spawn_tag_origin(); + wait(0.05); + var_00 show(); + var_01 show(); + var_02 show(); + var_03 show(); + wait(0.4); + var_00 linkto(self,"poundee",(75,0,400),(0,0,0)); + var_01 linkto(self,"poundee",(75,0,400),(90,0,90)); + var_02 linkto(self,"tag_origin",(0,0,100),(0,0,0)); + var_03 linkto(self,"tag_origin",(0,0,-100),(270,180,90)); + common_scripts\utility::noself_delaycall(1,::playfxontag,common_scripts\utility::getfx("diesel_drill_smk_loop"),var_00,"tag_origin"); + wait(0.1); + for(;;) + { + earthquake(0.15,1,var_02.origin,500); + common_scripts\utility::noself_delaycall(0.4,::playfxontag,common_scripts\utility::getfx("drill_impact_dust"),var_03,"tag_origin"); + wait(2); + common_scripts\utility::noself_delaycall(0.4,::playfxontag,common_scripts\utility::getfx("diesel_drill_smk_ring"),var_01,"tag_origin"); + } +} + +//Function Number: 7 +drilling_animation() +{ + level endon("end_drill_anims"); + wait(1); + animate_drills(); +} + +//Function Number: 8 +animate_drills() +{ + if(isdefined(level.river_drills)) + { + common_scripts\utility::array_thread(level.river_drills,::update_river_drill_anim); + } + + if(isdefined(level.cave_drills)) + { + common_scripts\utility::array_thread(level.cave_drills,::update_cave_drill_anim); + } + + if(isdefined(level.cave_drills_inside)) + { + common_scripts\utility::array_thread(level.cave_drills_inside,::update_cave_drill_anim_inside); + } +} + +//Function Number: 9 +update_river_drill_anim() +{ + level endon("end_drill_anims"); + var_00 = randomfloat(2); + wait(0.05); + wait(var_00); + maps\mp\_audio::scriptmodelplayanimwithnotify(self,"ins_drilling_machine","ps_ins_piledriver_hit","ins_piledriver_hit","end_drill_anims","stop_sequencing_notetracks","lagos_dyn_event"); + thread river_drilling_animation(); +} + +//Function Number: 10 +update_cave_drill_anim() +{ + var_00 = randomfloat(2); + wait(0.05); + wait(var_00); + maps\mp\_audio::scriptmodelplayanimwithnotify(self,"ins_cave_drill_idle","ins_piledriver_cave_hit","ins_piledriver_cave_hit","end_drill_anims","stop_sequencing_notetracks","lagos_dyn_event"); + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "impact_fx") + { + wait(0.5); + thread maps\mp\mp_instinct_fx::cave_drill_rock_impact_fx(); + } +} + +//Function Number: 11 +update_cave_drill_anim_inside() +{ + level endon("end_drill_anims"); + var_00 = randomfloat(2); + wait(var_00); + maps\mp\_audio::scriptmodelplayanimwithnotify(self,"ins_cave_drill_idle","ins_piledriver_cave_hit","ins_piledriver_cave_hit","end_drill_anims","stop_sequencing_notetracks","lagos_dyn_event"); +} + +//Function Number: 12 +generator_fans() +{ + var_00 = getentarray("generator_fans","targetname"); + foreach(var_02 in var_00) + { + var_02 scriptmodelplayanim("ins_generator_fan"); + } +} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/mp_vlobby_room_aud.gsc b/AW/PC/maps/mp/mp_instinct_aud.gsc similarity index 77% rename from AW/PC/MP/maps/mp/mp_vlobby_room_aud.gsc rename to AW/PC/maps/mp/mp_instinct_aud.gsc index 52d477f..9eee90b 100644 --- a/AW/PC/MP/maps/mp/mp_vlobby_room_aud.gsc +++ b/AW/PC/maps/mp/mp_instinct_aud.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\mp_vlobby_room_aud.gsc + * Decompiled File: mp\mp_instinct_aud.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 * Decompile Time: 31 ms - * Timestamp: 10/27/2023 1:46:51 AM + * Timestamp: 4/22/2024 2:17:33 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/mp/mp_instinct_fx.gsc b/AW/PC/maps/mp/mp_instinct_fx.gsc new file mode 100644 index 0000000..4d3ff9b --- /dev/null +++ b/AW/PC/maps/mp/mp_instinct_fx.gsc @@ -0,0 +1,167 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_instinct_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 9 + * Decompile Time: 185 ms + * Timestamp: 4/22/2024 2:17:34 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["mp_ins_cave_flames_swap"] = loadfx("vfx/map/mp_instinct/mp_ins_cave_flames_swap"); + level._effect["river_splashes_1"] = loadfx("vfx/water/river_splashes_1"); + level._effect["light_godray_beam_9"] = loadfx("vfx/lights/light_godray_beam_9"); + level._effect["light_godray_beam_8"] = loadfx("vfx/lights/light_godray_beam_8"); + level._effect["mp_ins_cave_dust_lrg"] = loadfx("vfx/map/mp_instinct/mp_ins_cave_dust_lrg"); + level._effect["insects_flies_landing"] = loadfx("vfx/animal/insects_flies_landing"); + level._effect["insects_dragonfly_runner_a"] = loadfx("vfx/animal/insects_dragonfly_runner_a"); + level._effect["insects_moths"] = loadfx("vfx/animal/insects_moths"); + level._effect["ambient_particles"] = loadfx("vfx/dust/ambient_particles_bright"); + level._effect["rocks_fake_impacts_3sec"] = loadfx("vfx/rock/rocks_fake_impacts_3sec"); + level._effect["rocks_rolling_down_hill_3sec"] = loadfx("vfx/rock/rocks_rolling_down_hill_3sec"); + level._effect["mp_ins_cave_dust_lrg"] = loadfx("vfx/map/mp_instinct/mp_ins_cave_dust_lrg"); + level._effect["falling_water_exterior_thin"] = loadfx("vfx/water/falling_water_exterior_thin"); + level._effect["falling_water_exterior_narrow"] = loadfx("vfx/water/falling_water_exterior_narrow"); + level._effect["boulder_spurt"] = loadfx("vfx/rock/boulder_spurt"); + level._effect["exploding_boulder"] = loadfx("vfx/rock/exploding_boulder"); + level._effect["dirt_slide_bottom"] = loadfx("vfx/dust/dirt_slide_bottom"); + level._effect["pigeon_flock_runner_lrg2"] = loadfx("vfx/animal/pigeon_flock_runner_lrg2"); + level._effect["dmg_fire_box"] = loadfx("vfx/fire/dmg_fire_box"); + level._effect["dmg_fire_cylinder"] = loadfx("vfx/fire/dmg_fire_cylinder"); + level._effect["mp_ins_pyramid_fire_glow"] = loadfx("vfx/map/mp_instinct/mp_ins_pyramid_fire_glow"); + level._effect["mp_ins_cave_drill_impact_lp"] = loadfx("vfx/map/mp_instinct/mp_ins_cave_drill_impact_lp"); + level._effect["diesel_drill_dmg_smk_1"] = loadfx("vfx/smoke/diesel_drill_dmg_smk_1"); + level._effect["diesel_drill_smk_ring_lt_lp"] = loadfx("vfx/smoke/diesel_drill_smk_ring_lt_lp"); + level._effect["diesel_drill_smk_lt"] = loadfx("vfx/smoke/diesel_drill_smk_lt"); + level._effect["mp_ins_cave_dust_directional"] = loadfx("vfx/map/mp_instinct/mp_ins_cave_dust_directional"); + level._effect["mp_ins_smk_dirty_column"] = loadfx("vfx/map/mp_instinct/mp_ins_smk_dirty_column"); + level._effect["mp_ins_thick_cave_debris"] = loadfx("vfx/map/mp_instinct/mp_ins_thick_cave_debris"); + level._effect["cave_explosion_long_runner"] = loadfx("vfx/explosion/cave_explosion_long_runner"); + level._effect["cave_explosion_runner"] = loadfx("vfx/explosion/cave_explosion_runner"); + level._effect["cave_explosion_1"] = loadfx("vfx/explosion/cave_explosion_1"); + level._effect["gas_distortion_strip"] = loadfx("vfx/distortion/gas_distortion_strip"); + level._effect["ground_rock_impacts"] = loadfx("vfx/rock/ground_rock_impacts"); + level._effect["natural_gas_burst_lp"] = loadfx("vfx/gas/natural_gas_burst_lp"); + level._effect["lrg_rubble_fire_strip"] = loadfx("vfx/fire/lrg_rubble_fire_strip"); + level._effect["lrg_rubble_fire"] = loadfx("vfx/fire/lrg_rubble_fire"); + level._effect["fire_lrg_100x100_runner2"] = loadfx("vfx/fire/fire_lrg_100x100_runner2"); + level._effect["mp_ins_pyramid_smoke_column2"] = loadfx("vfx/map/mp_instinct/mp_ins_pyramid_smoke_column2"); + level._effect["pyramid_pre_explosion"] = loadfx("vfx/map/mp_instinct/pyramid_pre_explosion"); + level._effect["pyramid_explosion"] = loadfx("vfx/map/mp_instinct/pyramid_explosion"); + level._effect["pyramid_dirt_slide"] = loadfx("vfx/map/mp_instinct/pyramid_dirt_slide"); + level._effect["pyramid_exterior_explosion_rocks"] = loadfx("vfx/map/mp_instinct/pyramid_exterior_explosion_rocks"); + level._effect["mp_ins_gas_leak_ambient"] = loadfx("vfx/map/mp_instinct/mp_ins_gas_leak_ambient"); + level._effect["leaves_fall_twirl_no_physics_3"] = loadfx("vfx/wind/leaves_fall_twirl_no_physics_3"); + level._effect["diesel_drill_smk_ring"] = loadfx("vfx/smoke/diesel_drill_smk_ring"); + level._effect["diesel_drill_smk_loop"] = loadfx("vfx/smoke/diesel_drill_smk_loop"); + level._effect["drill_impact_dust"] = loadfx("vfx/dust/drill_impact_dust"); + level._effect["diesel_drill_smoke_puffs"] = loadfx("vfx/smoke/diesel_drill_smoke_puffs"); + level._effect["mp_ins_pyramid_smoke_column"] = loadfx("vfx/map/mp_instinct/mp_ins_pyramid_smoke_column"); + level._effect["small_generator_dmg_fire"] = loadfx("vfx/fire/small_generator_dmg_fire"); + level._effect["generator_damage_runner"] = loadfx("vfx/explosion/generator_damage_runner"); + level._effect["electrical_sparks_runner"] = loadfx("vfx/explosion/electrical_sparks_runner"); + level._effect["fire_lrg_100x20_runner"] = loadfx("vfx/fire/fire_lrg_100x20_runner"); + level._effect["fire_lrg_100x100_runner"] = loadfx("vfx/fire/fire_lrg_100x100_runner"); + level._effect["fire_med_50x50_runner"] = loadfx("vfx/fire/fire_med_50x50_runner"); + level._effect["fire_med_50x10_runner"] = loadfx("vfx/fire/fire_med_50x10_runner"); + level._effect["fire_lp_sm_radius10"] = loadfx("vfx/fire/fire_lp_sm_radius10"); + level._effect["fire_lp_med_radius10"] = loadfx("vfx/fire/fire_lp_med_radius10"); + level._effect["gas_pipe_leak_fire_burst"] = loadfx("vfx/fire/gas_pipe_leak_fire_burst"); + level._effect["dust_falling_cave_debris"] = loadfx("vfx/dust/dust_falling_cave_debris"); + level._effect["gas_distortion_oriented_lrg"] = loadfx("vfx/distortion/gas_distortion_oriented_lrg"); + level._effect["sfa_oil_tanker_explosion"] = loadfx("vfx/map/sanfran_a/sfa_oil_tanker_explosion"); + level._effect["fireball_hallway_1"] = loadfx("vfx/fire/fireball_hallway_1"); + level._effect["natural_gas_burst"] = loadfx("vfx/gas/natural_gas_burst"); + level._effect["rain_forest_dripping_leaves_100x100_runner"] = loadfx("vfx/water/rain_forest_dripping_leaves_100x100_runner"); + level._effect["cloud_shadows_lrg_blur"] = loadfx("vfx/cloud/cloud_shadows_lrg_blur"); + level._effect["diesel_drill_smk_puff_lp"] = loadfx("vfx/smoke/diesel_drill_smk_puff_lp"); + level._effect["diesel_drill_smk_puff"] = loadfx("vfx/smoke/diesel_drill_smk_puff"); + level._effect["fog_rising_patch_ground_narrow"] = loadfx("vfx/fog/fog_rising_patch_ground_narrow"); + level._effect["fog_rising_patch_ground"] = loadfx("vfx/fog/fog_rising_patch_ground"); + level._effect["large_shadows"] = loadfx("vfx/cloud/cloud_shadows_lrg"); + level._effect["foliage_tree_shadows_02"] = loadfx("vfx/foliage/foliage_tree_shadows_02"); + level._effect["foliage_tree_shadows_03"] = loadfx("vfx/foliage/foliage_tree_shadows_03"); + level._effect["foliage_tree_shadows_04"] = loadfx("vfx/foliage/foliage_tree_shadows_04"); + level._effect["foliage_tree_shadows_05"] = loadfx("vfx/foliage/foliage_tree_shadows_05"); + level._effect["foliage_tree_shadows_06"] = loadfx("vfx/foliage/foliage_tree_shadows_06"); + level._effect["rock_drill_debris_smk"] = loadfx("vfx/dust/rock_drill_debris_smk"); + level._effect["fog_rising_patch"] = loadfx("vfx/fog/fog_rising_patch"); + level._effect["dust_falling_debris_05_runner"] = loadfx("vfx/dust/dust_falling_debris_05_runner"); + level._effect["exterior_ground_steam_lp"] = loadfx("vfx/steam/exterior_ground_steam_lp"); + level._effect["light_dust_particles_far_lrg"] = loadfx("vfx/dust/light_dust_particles_far_lrg"); + level._effect["dust_falling_light_runner"] = loadfx("vfx/dust/dust_falling_light_runner"); + level._effect["exterior_ground_steam_far_lp"] = loadfx("vfx/steam/exterior_ground_steam_far_lp"); + level._effect["flare_ambient"] = loadfx("vfx/props/flare_ambient"); + level._effect["flare_ambient_02"] = loadfx("vfx/props/flare_ambient_02"); + level._effect["light_godray_beam_7"] = loadfx("vfx/lights/light_godray_beam_7"); + level._effect["light_godray_beam_6"] = loadfx("vfx/lights/light_godray_beam_6"); + level._effect["plastic_shreds_hanging_e_slow"] = loadfx("vfx/wind/plastic_shreds_hanging_e_slow"); + level._effect["falling_water_drip_100x100_runner_slow"] = loadfx("vfx/water/falling_water_drip_100x100_runner_slow"); + level._effect["falling_water_drip_100x100_runner"] = loadfx("vfx/water/falling_water_drip_100x100_runner"); + level._effect["instinct_red_glow"] = loadfx("vfx/lights/mp_instinct/instinct_red_glow"); + level._effect["fx_sunflare_instinct"] = loadfx("vfx/lensflare/fx_sunflare_instinct"); + thread cave_falling_debris_fx(); + thread ambient_flare_fx(); + thread cave_drill_fx(); + thread drill_dust_fx(); +} + +//Function Number: 2 +cave_falling_debris_fx() +{ + wait(1); + common_scripts\_exploder::activate_clientside_exploder(105); +} + +//Function Number: 3 +cave_drill_fx() +{ + wait(2.5); + common_scripts\_exploder::activate_clientside_exploder(201); + common_scripts\_exploder::activate_clientside_exploder(202); + common_scripts\_exploder::activate_clientside_exploder(203); + common_scripts\_exploder::activate_clientside_exploder(204); +} + +//Function Number: 4 +cave_drill_pounding_fx() +{ + common_scripts\_exploder::activate_clientside_exploder(172); +} + +//Function Number: 5 +drill_damage_fx() +{ + wait(2); + common_scripts\_exploder::activate_clientside_exploder(171); +} + +//Function Number: 6 +cave_drill_rock_impact_fx() +{ + wait(0.4); + common_scripts\_exploder::activate_clientside_exploder(172); +} + +//Function Number: 7 +ambient_flare_fx() +{ + wait(1); + common_scripts\_exploder::activate_clientside_exploder(200); +} + +//Function Number: 8 +stop_ambient_flare_fx() +{ + stopclientexploder(200); +} + +//Function Number: 9 +drill_dust_fx() +{ + wait(5.7); + common_scripts\_exploder::activate_clientside_exploder(172); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_instinct_lighting.gsc b/AW/PC/maps/mp/mp_instinct_lighting.gsc new file mode 100644 index 0000000..e67c02a --- /dev/null +++ b/AW/PC/maps/mp/mp_instinct_lighting.gsc @@ -0,0 +1,34 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_instinct_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:17:34 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setdvar("r_lightGridEnableTweaks",1); + setdvar("r_lightGridIntensity",1.33); + setdvar("r_volumeLightScatterUseTweaks","1"); + setdvar("r_lightGridEnableTweaks","1"); + setdvar("r_lightGridIntensity","1.33"); + setdvar("r_volumeLightScatter","1"); + setdvar("r_volumeLightScatterUseTweaks","1"); + setdvar("r_volumeLightScatterAngularAtten",".05"); + setdvar("r_volumeLightScatterColor",".96 0.96 0.94"); + setdvar("r_volumeLightScatterLinearAtten","1"); + setdvar("r_volumeLightScatterEV","14"); + setdvar("r_mpRimColor",".8 .8 .6 0"); + setdvar("r_mpRimStrength","0"); + setdvar("r_mpRimDiffuseTint","1.2 1.5 1.5"); + setdvar("r_gunSightColorEntityScale","7"); + setdvar("r_gunSightColorNoneScale","0.8"); + if(level.currentgen) + { + setdvar("r_dof_tweak",2); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_instinct_precache.gsc b/AW/PC/maps/mp/mp_instinct_precache.gsc new file mode 100644 index 0000000..b6ad1df --- /dev/null +++ b/AW/PC/maps/mp/mp_instinct_precache.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_instinct_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:17:35 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_kremlin.gsc b/AW/PC/maps/mp/mp_kremlin.gsc new file mode 100644 index 0000000..268d195 --- /dev/null +++ b/AW/PC/maps/mp/mp_kremlin.gsc @@ -0,0 +1,1152 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_kremlin.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 59 + * Decompile Time: 869 ms + * Timestamp: 4/22/2024 2:17:38 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.callbackstartgametype = ::kremlin_callbackstartgametype; + maps\mp\mp_kremlin_precache::main(); + maps\createart\mp_kremlin_art::main(); + maps\mp\mp_kremlin_fx::main(); + maps\mp\_load::main(); + maps\mp\mp_kremlin_lighting::main(); + maps\mp\mp_kremlin_aud::main(); + maps\mp\_compass::setupminimap("compass_map_mp_kremlin"); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + level.ospvisionset = "mp_kremlin_osp"; + level.osplightset = "mp_kremlin_osp"; + level.dronevisionset = "mp_kremlin_drone"; + level.dronelightset = "mp_kremlin_drone"; + level.warbirdvisionset = "mp_kremlin_warbird"; + level.warbirdlightset = "mp_kremlin_warbird"; + precachempanim("krem_killstreak_mine_close"); + precachempanim("krem_killstreak_mine_closed_idle"); + precachempanim("krem_killstreak_mine_open"); + precachempanim("krem_killstreak_mine_open_idle"); + level.orbitalsupportoverridefunc = ::kremlinpaladinoverrides; + thread mine_init(); + level dynamicevent_init_sound(); + level dynamicevent_init(); + level thread maps\mp\_dynamic_events::dynamicevent(::startdynamicevent,::resetdynamicevent,::enddynamicevent); + if(level.nextgen) + { + thread set_walker_tank_anims(); + } + + level thread resetuplinkballoutofbounds(); + level.airstrikeoverrides = spawnstruct(); + level.airstrikeoverrides.spawnheight = 600; + if(level.nextgen) + { + thread scriptpatchclip(); + } +} + +//Function Number: 2 +kremlin_callbackstartgametype() +{ + maps\mp\gametypes\_gamelogic::callback_startgametype(); + common_scripts\_bcs_location_trigs_dlc::bcs_location_trigs_dlc_init(); +} + +//Function Number: 3 +kremlinpaladinoverrides() +{ + level.orbitalsupportoverrides.spawnanglemin = 30; + level.orbitalsupportoverrides.spawnanglemax = 120; + level.orbitalsupportoverrides.spawnheight = 7000; + level.orbitalsupportoverrides.spawnradius = 5000; + level.orbitalsupportoverrides.leftarc = 45; + level.orbitalsupportoverrides.rightarc = 45; + level.orbitalsupportoverrides.toparc = -32; + level.orbitalsupportoverrides.bottomarc = 80; +} + +//Function Number: 4 +set_walker_tank_anims() +{ + var_00 = getent("walker_tank_south_1","targetname"); + var_00.animname = "krem_walker_tank_south01"; + var_00.animtime = 54.2; + var_01 = getent("walker_tank_north_1","targetname"); + var_01.animname = "krem_walker_tank_north01"; + var_01.animtime = 93.36; + var_02 = getent("walker_tank_north_2","targetname"); + var_02.animname = "krem_walker_tank_north02"; + var_02.animtime = 93.36; + var_03 = getent("walker_tank_west_1","targetname"); + var_03.animname = "krem_walker_tank_west01"; + var_03.animtime = 111; + var_04 = [var_00,var_01,var_02,var_03]; + foreach(var_06 in var_04) + { + var_06 hide(); + } + + var_01 thread sequence_walker_tank_anims(); + wait(10); + var_03 thread sequence_walker_tank_anims(); +} + +//Function Number: 5 +sequence_walker_tank_anims() +{ + level endon("game_ended"); + for(;;) + { + play_walker_tank_anims(); + wait(10); + } +} + +//Function Number: 6 +play_walker_tank_anims() +{ + self scriptmodelplayanim(self.animname); + self show(); + wait(self.animtime); + self hide(); +} + +//Function Number: 7 +mine_init() +{ + level.minesettings = []; + level.minesettings["mine"] = spawnstruct(); + level.minesettings["mine"].weaponinfo = "iw5_dlcgun12loot1_mp"; + level.minesettings["mine"].modelbase = "krm_mine"; + level.minesettings["mine"].animationactivate = "krem_killstreak_mine_open"; + level.minesettings["mine"].animationdeactivate = "krem_killstreak_mine_close"; + level.minesettings["mine"].animationidleactive = "krem_killstreak_mine_open_idle"; + level.minesettings["mine"].animationidleinactive = "krem_killstreak_mine_closed_idle"; + level.minesettings["mine"].lifespan = 90; + level.minesettings["mine"].graceperiod = 0.2; + level.minesettings["mine"].modelexplosive = "ims_scorpion_explosive_iw6"; + level.minesettings["mine"].tagexplosive1 = "tag_explosive1"; + level.minesettings["mine"].team = "neutral"; + level.minesettings["mine"].eventstartcountdown = 6; + level.minesettings["mine"].eventduration = 60; + level.minesettings["mine"].eventdisableduration = 1; + level.minesettings["mine"].attackcooldown = 2; + level.minesettings["mine"].empdisableduration = 10; + if(level.currentgen) + { + level.minesettings["mine"].collision = getent("mineField_mineCollision","targetname"); + } + + level.minekillcamoffset = (0,0,12); + level._effect["mine_antenna_light_mp"] = loadfx("vfx/map/mp_kremlin/krem_light_detonator_blink"); + level._effect["mine_emp_disable_fx"] = loadfx("vfx/sparks/emp_drone_damage"); +} + +//Function Number: 8 +dynamicevent_init_sound() +{ + level.minesoundactivatealarm = "mp_kre_mine_warning"; + level.minesoundactivatemine = "mp_kre_mine_activate"; + level.minesoundlaunchmine = "mp_kre_mine_popup"; +} + +//Function Number: 9 +dynamicevent_init() +{ + level endon("game_ended"); + maps\mp\_dynamic_events::setdynamiceventstartpercent(0.5); + setdvar("scr_dynamic_event_start_perc",level.dynamicevent["start_percent"]); + level.minetype = "mine"; + thread minefielddeploy(); + level.cancelbadminefieldspawns = 0; + level.mineeventcomplete = 0; +} + +//Function Number: 10 +minefielddeploy() +{ + level endon("game_ended"); + level.minelist = []; + level.minespawnlist = common_scripts\utility::getstructarray("mineField_mineLoc","targetname"); + common_scripts\utility::array_randomize(level.minespawnlist); + foreach(var_01 in level.minespawnlist) + { + createmine(var_01); + } +} + +//Function Number: 11 +startdynamicevent() +{ + level endon("game_ended"); + level notify("minefield_beginActivation"); + thread handleminefieldsettimer(); + thread minefieldsetactive(); + thread minefieldsetinactive(); + thread minefieldareafx(); +} + +//Function Number: 12 +resetdynamicevent() +{ + if(!isdefined(level.mineeventcomplete) || !level.mineeventcomplete) + { + level waittill("minefield_complete"); + } + + wait(1); + level.cancelbadminefieldspawns = 0; + level.mineeventcomplete = 0; +} + +//Function Number: 13 +debugmineactivatewarning() +{ + level endon("game_ended"); + iprintlnbold("Warning: Mine Field Active in 5 seconds..."); + wait(2); + iprintlnbold("4..."); + wait(1); + iprintlnbold("3..."); + wait(1); + iprintlnbold("2..."); + wait(1); + iprintlnbold("1..."); + wait(1); + iprintlnbold("Mine Field Active"); +} + +//Function Number: 14 +debugminedectivatewarning() +{ + level endon("game_ended"); + iprintlnbold("Kremlin Defense Field is now deactive"); +} + +//Function Number: 15 +enddynamicevent() +{ + level endon("game_ended"); + thread minefieldsetinactive(); +} + +//Function Number: 16 +createmine(param_00) +{ + var_01 = level.minetype; + var_02 = spawn("script_model",param_00.origin); + var_02 setmodel(level.minesettings[var_01].modelbase); + var_02.scale = 3; + var_02.health = 1000; + var_02.angles = (0,0,0); + if(isdefined(param_00.angles)) + { + var_02.angles = param_00.angles; + } + + var_02.minetype = level.minetype; + var_02.team = level.minesettings["mine"].team; + var_02.shouldsplash = 0; + var_02.attackradius = param_00.radius; + var_02.attackheight = param_00.height; + if(param_00.origin == (-204.3,893.5,122.9)) + { + var_02.attackheight = 80; + } + + var_02.animationactivate = level.minesettings[var_02.minetype].animationactivate; + var_02.animationdeactivate = level.minesettings[var_02.minetype].animationdeactivate; + var_02.animationidleactive = level.minesettings[var_02.minetype].animationidleactive; + var_02.animationidleinactive = level.minesettings[var_02.minetype].animationidleinactive; + if(isdefined(var_02.animationidleinactive)) + { + var_02 scriptmodelplayanim(var_02.animationidleinactive); + } + + if(level.nextgen) + { + var_03 = param_00.target; + var_02.minecollision = getent(var_03,"targetname"); + } + + var_02.explosive = spawn("script_model",var_02 gettagorigin(level.minesettings[var_02.minetype].tagexplosive1)); + var_02.explosive setmodel(level.minesettings[var_02.minetype].modelexplosive); + var_02.explosive.tag = level.minesettings[var_02.minetype].tagexplosive1; + var_02.explosive linkto(var_02); + var_02.explosive.isenvironmentweapon = 1; + var_02.script_stay_drone = 1; + if(level.nextgen) + { + var_02.explosive.killcament = spawn("script_model",var_02.explosive.origin + level.minekillcamoffset); + var_02.explosive.killcament setscriptmoverkillcam("explosive"); + } + + var_02 setcandamage(0); + level.minelist = common_scripts\utility::add_to_array(level.minelist,var_02); + var_02.activateoffsettime = level.minelist.size * 0.1; + return var_02; +} + +//Function Number: 17 +reload_mine() +{ + if(isdefined(self.explosive)) + { + self.explosive.fired = undefined; + self.explosive.origin = self gettagorigin(level.minesettings[self.minetype].tagexplosive1); + self.explosive.angles = (0,0,0); + self.explosive linkto(self); + if(level.nextgen) + { + self.explosive.killcament.origin = self.explosive.origin + level.minekillcamoffset; + } + + self.explosive show(); + } + + if(level.currentgen && isdefined(self.targetplayer)) + { + self.targetplayer = undefined; + } +} + +//Function Number: 18 +handleminefieldsettimer() +{ + level endon("game_ended"); + level waittill("minefield_active"); + if(isdefined(level.minesettings["mine"].eventdisableduration) && level.minesettings["mine"].eventdisableduration == 1) + { + return; + } + + wait(level.minesettings[level.minetype].eventduration); + level notify("minefield_beginDisable"); +} + +//Function Number: 19 +minefieldsetactive() +{ + level endon("game_ended"); + level endon("minefield_deactiavte_begin"); + var_00 = getentarray("mine_field_trigger","targetname"); + thread handleminefieldwarningsound(); + thread disconnectnodesslowly(); + if(isdefined(level.minelist)) + { + foreach(var_02 in level.minelist) + { + var_02 thread activateminewithdelay(); + } + } + + if(level.currentgen) + { + thread cg_minecollisionmoveup(); + } + + level notify("minefield_active"); +} + +//Function Number: 20 +cg_minecollisionmoveup() +{ + var_00 = level.minelist.size * 0.1 + 2.2; + wait(var_00); + if(isdefined(level.minesettings["mine"].collision)) + { + level.minesettings["mine"].collision moveto(level.minesettings["mine"].collision.origin + (0,0,30),0.5); + } +} + +//Function Number: 21 +cg_minecollisionmovedown() +{ + if(isdefined(level.minesettings["mine"].collision)) + { + level.minesettings["mine"].collision moveto(level.minesettings["mine"].collision.origin + (0,0,-30),0.5); + } +} + +//Function Number: 22 +activateminewithdelay() +{ + var_00 = level.minesettings[self.minetype].eventstartcountdown; + if(isdefined(self.activateoffsettime)) + { + wait(self.activateoffsettime); + } + + thread play_mine_open_anim(); + thread play_mine_fx(); + wait(var_00); + thread mine_setactive(); +} + +//Function Number: 23 +minefieldsetinactive() +{ + level endon("game_ended"); + level waittill("minefield_beginDisable"); + var_00 = getentarray("mine_field_trigger","targetname"); + foreach(var_02 in var_00) + { + thread clearsetupsupportdropvolumes(var_02); + } + + thread reconnectnodesslowly(); + if(isdefined(level.minelist)) + { + foreach(var_05 in level.minelist) + { + var_05 thread mine_setinactive(); + } + } + + if(level.currentgen) + { + thread cg_minecollisionmovedown(); + } + + level.mineeventcomplete = 1; + level notify("minefield_complete"); +} + +//Function Number: 24 +minefieldareafx() +{ + thread maps\mp\mp_kremlin_fx::laser_grid_a_fx(); + thread maps\mp\mp_kremlin_fx::laser_grid_b_fx(); +} + +//Function Number: 25 +mine_setactive() +{ + thread mine_handledamage(); + self setcandamage(1); + self makeentitynomeleetarget(); + var_00 = (0,0,20); + var_01 = (0,0,128); + var_02 = []; + var_03 = self gettagorigin(level.minesettings[self.minetype].tagexplosive1) + var_00; + var_02[0] = bullettrace(var_03,var_03 + var_01 - var_00,0,self); + var_04 = var_02[0]; + for(var_05 = 0;var_05 < var_02.size;var_05++) + { + if(var_02[var_05]["position"][2] < var_04["position"][2]) + { + var_04 = var_02[var_05]; + } + } + + self.attackheightpos = var_04["position"] - (0,0,20); + var_06 = spawn("trigger_radius",self.origin,0,self.attackradius,self.attackheight); + self.attacktrigger = var_06; + self.attackmovetime = distance(self.origin,self.attackheightpos) / 350; + thread mine_attacktargets(); +} + +//Function Number: 26 +mine_setinactive() +{ + self setcandamage(0); + self freeentitysentient(); + if(isdefined(self.activateoffsettime)) + { + wait(self.activateoffsettime); + } + + thread play_mine_close_anim(); + if(isdefined(self.attacktrigger)) + { + self.attacktrigger delete(); + } + + self notify("mine_deactivate"); +} + +//Function Number: 27 +mine_attacktargets() +{ + level endon("game_ended"); + self endon("mine_deactivate"); + for(;;) + { + if(!isdefined(self.attacktrigger)) + { + break; + } + + self.attacktrigger waittill("trigger",var_00); + if(isplayer(var_00)) + { + if(isdefined(var_00) && var_00 maps\mp\_utility::_hasperk("specialty_blindeye")) + { + continue; + } + + if(!maps\mp\_utility::isreallyalive(var_00)) + { + continue; + } + } + else if(isdefined(var_00.owner)) + { + continue; + } + + if(!sighttracepassed(self.attackheightpos,var_00.origin + (0,0,50),0,self) || !sighttracepassed(self gettagorigin(level.minesettings[self.minetype].tagexplosive1) + (0,0,5),var_00.origin + (0,0,50),0,self)) + { + continue; + } + + if(level.currentgen) + { + self.targetplayer = var_00; + var_01 = 0; + var_02 = common_scripts\utility::array_remove(level.minelist,self); + foreach(var_04 in var_02) + { + if(isdefined(var_04.targetplayer) && var_04.targetplayer == self.targetplayer) + { + var_01 = 1; + self.targetplayer = undefined; + break; + } + } + + if(var_01 == 1) + { + continue; + } + } + + if(isplayer(var_00) && var_00 maps\mp\_utility::_hasperk("specialty_delaymine")) + { + var_00 notify("triggered_mine"); + wait(level.delayminetime); + } + else + { + wait(level.minesettings[self.minetype].graceperiod); + } + + self playsound(level.minesoundactivatemine); + if(isdefined(self.explosive) && !isdefined(self.explosive.fired)) + { + fire_sensor(self.explosive); + } + + wait(level.minesettings[self.minetype].attackcooldown); + thread reload_mine(); + } +} + +//Function Number: 28 +fire_sensor(param_00) +{ + param_00.fired = 1; + param_00 unlink(); + param_00 rotateyaw(3600,self.attackmovetime); + param_00 moveto(self.attackheightpos,self.attackmovetime,self.attackmovetime * 0.25,self.attackmovetime * 0.25); + if(isdefined(param_00.killcament)) + { + param_00.killcament moveto(self.attackheightpos + level.minekillcamoffset,self.attackmovetime,self.attackmovetime * 0.25,self.attackmovetime * 0.25); + } + + param_00 playsound(level.minesoundlaunchmine); + param_00 waittill("movedone"); + param_00 method_856A(level.minesettings["mine"].weaponinfo); + param_00 hide(); +} + +//Function Number: 29 +mine_handledamage() +{ + self endon("mine_deactivate"); + level endon("game_ended"); + self.health = 999999; + for(;;) + { + self waittill("damage",var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09); + if(isdefined(var_09)) + { + var_0A = maps\mp\_utility::strip_suffix(var_09,"_lefthand"); + switch(var_0A) + { + case "emp_grenade_var_mp": + case "emp_grenade_mp": + thread mine_temporary_emp_disable(); + break; + } + } + + self.health = 999999; + } +} + +//Function Number: 30 +mine_temporary_emp_disable() +{ + level endon("game_ended"); + self notify("mine_emp"); + self endon("mine_emp"); + if(!isdefined(self.empdisable) || self.empdisable == 0) + { + self.empdisable = 1; + if(isdefined(self.attacktrigger)) + { + self.attacktrigger common_scripts\utility::trigger_off(); + } + + playfxontag(common_scripts\utility::getfx("mine_emp_disable_fx"),self,"tag_origin"); + } + + wait_for_emp_disable_done(); + stopfxontag(common_scripts\utility::getfx("mine_emp_disable_fx"),self,"tag_origin"); + if(isdefined(self.attacktrigger)) + { + self.attacktrigger common_scripts\utility::trigger_on(); + } + + self.empdisable = 0; + self notify("emp_Disable_Complete"); +} + +//Function Number: 31 +wait_for_emp_disable_done() +{ + self endon("mine_deactivate"); + var_00 = 0.75; + wait(level.minesettings[self.minetype].empdisableduration - var_00); + self notify("emp_disable_almost_complete"); + wait(var_00); +} + +//Function Number: 32 +spawnsetup() +{ + level.dynamicspawns = ::getlistofgoodspawnpoints; +} + +//Function Number: 33 +getlistofgoodspawnpoints(param_00) +{ + var_01 = []; + foreach(var_03 in param_00) + { + if(!isdefined(var_03.targetname) || var_03.targetname == "" || var_03 isvalidspawn() == 1) + { + var_01 = common_scripts\utility::add_to_array(var_01,var_03); + } + } + + return var_01; +} + +//Function Number: 34 +isvalidspawn() +{ + if(level.cancelbadminefieldspawns == 1 && self.targetname == "mineField_spawn") + { + return 0; + } + + return 1; +} + +//Function Number: 35 +handleminefieldwarningsound() +{ + level endon("game_ended"); + var_00 = common_scripts\utility::getstructarray("speaker_ent","targetname"); + var_01 = 0; + for(;;) + { + if(isdefined(var_00)) + { + foreach(var_03 in var_00) + { + playsoundatpos(var_03.origin,level.minesoundactivatealarm); + } + + playsoundatpos((0,0,0),level.minesoundactivatealarm); + } + + wait(4); + var_01 = var_01 + 1; + if(var_01 > 2) + { + return; + } + } +} + +//Function Number: 36 +play_mine_open_anim() +{ + wait(2.2); + thread maps\mp\mp_kremlin_fx::snow_puff_fx(); + if(isdefined(self.animationactivate)) + { + var_00 = 2.94; + self scriptmodelplayanim(self.animationactivate); + wait(var_00); + } + + if(level.nextgen) + { + self.minecollision thread minecollisionmoveup(); + } + + if(isdefined(self.animationidleactive)) + { + self scriptmodelplayanim(self.animationidleactive); + } + + self notify("mine_opened"); +} + +//Function Number: 37 +play_mine_close_anim() +{ + if(isdefined(self.empdisable) && self.empdisable == 1) + { + self waittill("emp_Disable_Complete"); + } + + if(isdefined(self.animationdeactivate)) + { + var_00 = 5.03; + self scriptmodelplayanim(self.animationdeactivate); + wait(var_00); + } + + if(level.nextgen) + { + self.minecollision thread minecollisionmovedown(); + } + + if(isdefined(self.animationidleinactive)) + { + self scriptmodelplayanim(self.animationidleinactive); + } +} + +//Function Number: 38 +minecollisionmoveup() +{ + self moveto(self.origin + (0,0,30),0.5); +} + +//Function Number: 39 +minecollisionmovedown() +{ + self moveto(self.origin + (0,0,-30),0.5); +} + +//Function Number: 40 +play_mine_fx() +{ + level endon("game_ended"); + self waittill("mine_opened"); + var_00 = 1; + self.mine_fx_on = 1; + playfxontag(common_scripts\utility::getfx("krem_mine_laser_origin_main"),self,"tag_origin"); + if(level.nextgen) + { + var_01 = function_02DF(common_scripts\utility::getfx("mine_antenna_light_mp"),self,"tag_fx",var_00,0); + mine_fx_wait_for_end(var_01); + if(isdefined(self.mine_fx_on) && self.mine_fx_on == 1) + { + killfxontag(common_scripts\utility::getfx("krem_mine_laser_origin_main"),self,"tag_origin"); + if(isdefined(var_01)) + { + var_01 delete(); + } + + self.mine_fx_on = 0; + return; + } + + return; + } + + mine_fx_wait_for_end(); + if(isdefined(self.mine_fx_on) && self.mine_fx_on == 1) + { + killfxontag(common_scripts\utility::getfx("krem_mine_laser_origin_main"),self,"tag_origin"); + self.mine_fx_on = 0; + } +} + +//Function Number: 41 +mine_fx_wait_for_end(param_00) +{ + level endon("minefield_complete"); + self endon("mine_deactivate"); + if(isdefined(level.mineeventcomplete) && level.mineeventcomplete == 1) + { + return; + } + + for(;;) + { + if(!isdefined(self.empdisable) || self.empdisable == 0) + { + self waittill("mine_emp"); + } + + if(isdefined(param_00)) + { + param_00 hide(); + } + + killfxontag(common_scripts\utility::getfx("krem_mine_laser_origin_main"),self,"tag_origin"); + self.mine_fx_on = 0; + self waittill("emp_disable_almost_complete"); + if(isdefined(param_00)) + { + param_00 show(); + } + + playfxontag(common_scripts\utility::getfx("krem_mine_laser_origin_main"),self,"tag_origin"); + self.mine_fx_on = 1; + common_scripts\utility::waittill_any("emp_Disable_Complete","mine_emp"); + } +} + +//Function Number: 42 +disconnectnodesslowly() +{ + var_00 = getnodearray("minefield_node","targetname"); + for(var_01 = 0;var_01 < var_00.size;var_01++) + { + var_00[var_01] disconnectnode(); + if(var_01 % 50 == 0) + { + wait 0.05; + } + } + + wait 0.05; + var_02 = getnodearray("minefield_node","script_noteworthy"); + for(var_01 = 0;var_01 < var_02.size;var_01++) + { + var_02[var_01] disconnectnode(); + if(var_01 % 50 == 0) + { + wait 0.05; + } + } +} + +//Function Number: 43 +reconnectnodesslowly() +{ + var_00 = getnodearray("minefield_node","targetname"); + for(var_01 = 0;var_01 < var_00.size;var_01++) + { + var_00[var_01] connectnode(); + if(var_01 % 50 == 0) + { + wait 0.05; + } + } + + wait 0.05; + var_02 = getnodearray("minefield_node","script_noteworthy"); + for(var_01 = 0;var_01 < var_02.size;var_01++) + { + var_02[var_01] connectnode(); + if(var_01 % 50 == 0) + { + wait 0.05; + } + } +} + +//Function Number: 44 +setupsupportdropvolumes(param_00) +{ + while(!isdefined(level.orbital_util_covered_volumes)) + { + wait 0.05; + } + + level.orbital_util_covered_volumes[level.orbital_util_covered_volumes.size] = param_00; + while(!isdefined(level.goliath_bad_landing_volumes)) + { + wait 0.05; + } + + level.goliath_bad_landing_volumes[level.goliath_bad_landing_volumes.size] = param_00; +} + +//Function Number: 45 +clearsetupsupportdropvolumes(param_00) +{ + while(!isdefined(level.orbital_util_covered_volumes)) + { + wait 0.05; + } + + level.orbital_util_covered_volumes = common_scripts\utility::array_remove(level.orbital_util_covered_volumes,param_00); + while(!isdefined(level.goliath_bad_landing_volumes)) + { + wait 0.05; + } + + level.goliath_bad_landing_volumes = common_scripts\utility::array_remove(level.goliath_bad_landing_volumes,param_00); +} + +//Function Number: 46 +resetuplinkballoutofbounds() +{ + level endon("game_ended"); + if(level.gametype == "ball") + { + while(!isdefined(level.balls)) + { + wait(0.05); + } + + foreach(var_01 in level.balls) + { + var_01 thread watchcarryobjects(); + } + } +} + +//Function Number: 47 +watchcarryobjects() +{ + level endon("game_ended"); + for(;;) + { + self waittill("dropped"); + wait(0.1); + thread monitorballstate(); + var_00 = common_scripts\utility::waittill_any_return("pickup_object","reset"); + } +} + +//Function Number: 48 +monitorballstate() +{ + self endon("pickup_object"); + self endon("reset"); + for(;;) + { + if(isoutofbounds()) + { + thread maps\mp\gametypes\_gameobjects::returnhome(); + return; + } + + wait(0.05); + } +} + +//Function Number: 49 +isoutofbounds() +{ + var_00 = getentarray("object_out_of_bounds","targetname"); + for(var_01 = 0;var_01 < var_00.size;var_01++) + { + if(!self.visuals[0] istouching(var_00[var_01])) + { + continue; + } + + return 1; + } + + return 0; +} + +//Function Number: 50 +scriptpatchclip() +{ + thread northgallerybigwindow(); + thread atriumsidewallstanding(); + thread westcourtyardvehiclebounds(); + thread bridgeledgewestside(); + thread atriumgrapplegap(); + thread southeasttreeledge(); + thread northwestgrappleintowall(); + thread northwestledgeoutsidetower(); + thread breachhovertowallstand(); +} + +//Function Number: 51 +breachhovertowallstand() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(2016,-862,769),(0,0,0)); + var_00 = 865; + for(var_01 = 0;var_01 < 11;var_01++) + { + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(1984,-830,var_00),(0,0,0)); + var_00 = var_00 + 128; + } +} + +//Function Number: 52 +northwestledgeoutsidetower() +{ + var_00 = 555.5; + for(var_01 = 0;var_01 < 12;var_01++) + { + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(2099,345,var_00),(0,0,0)); + var_00 = var_00 + 128; + } +} + +//Function Number: 53 +northgallerybigwindow() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(1572,1061,736),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(1572,1273,736),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(1572,1110,728),(0,0,-25.9002)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(1572,1224,728),(180,0,-25.9002)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(1572,1167,775),(0,0,0)); +} + +//Function Number: 54 +atriumsidewallstanding() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1258,-374,429),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1258,-374,685),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1258,-374,941),(0,270,0)); +} + +//Function Number: 55 +westcourtyardvehiclebounds() +{ + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(-44,1440,188),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(210,1409,188),(0,256,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(458,1347,188),(0,256,0)); +} + +//Function Number: 56 +bridgeledgewestside() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-364.5,215,209),(5,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-620.5,217,186),(5,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(236,208,303.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(169,208,303.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(105,208,303.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(41,208,303.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-23,208,303.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-87,208,303.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-151,208,303.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-215,208,303.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-279,208,303.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-343,208,303.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-407,208,303.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-471,208,303.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-535,208,303.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-599,208,303.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-663,208,303.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-727,208,303.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-791,208,303.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(105,208,357.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(41,208,352.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-23,208,347.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-87,208,342.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-151,208,336.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-215,208,329.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-279,208,321.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-343,208,315.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-407,208,313.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-471,208,306.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-535,208,298.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-599,208,295.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-663,208,288.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-727,208,282.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-791,208,277.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(256,212,236),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(512,212,236),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(262.344,212,280.126),(0,270,5)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(517.156,212,302.374),(0,270,5)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(158,212,402),(0,270,5)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(168.5,212,403),(0,270,5)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-160,209,288),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-144,199,333.5),(8,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-176,199,333.5),(8,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-208,199.5,269.5),(8,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-240,199.5,269.5),(8,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-272,199.5,269.5),(8,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-304,199.5,269.5),(8,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-336,199.5,269.5),(8,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-368,199.5,269.5),(8,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-400,199.5,269.5),(8,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-432,199.5,269.5),(8,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-464,199.5,269.5),(8,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-496,199.5,269.55),(8,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-528,199.5,269.5),(8,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-560,199.5,269.5),(8,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-592,199.5,269.5),(8,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-624,199.5,269.5),(8,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-656,199.5,269.5),(8,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-688,199.5,269.5),(8,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-720,199.5,269.5),(8,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-752,199.5,269.5),(8,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-784,199.5,269.5),(8,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-816,199.5,269.5),(8,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-848,199.5,269.5),(8,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-880,199.5,269.5),(8,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-912,199.5,269.5),(8,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-944,199.5,269.5),(8,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-976,199.5,269.5),(8,270,0)); +} + +//Function Number: 57 +atriumgrapplegap() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1264,260,801),(270,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1264,4,801),(270,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1264,-252,801),(270,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1384,260,921),(360,180,-180)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1384,4,921),(360,180,-180)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1384,-252,921),(360,180,-180)); +} + +//Function Number: 58 +southeasttreeledge() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-827.5,-514,160),(0,324,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-827.5,-514,288),(0,324,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-827.5,-514,416),(0,324,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-827.5,-514,544),(0,324,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-827.5,-514,672),(0,324,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-827.5,-514,800),(0,324,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-827.5,-514,928),(0,324,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-827.5,-514,1056),(0,324,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-827.5,-514,1184),(0,324,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-827.5,-514,1312),(0,324,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-827.5,-514,1440),(0,324,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-896,-566.5,160),(0,290.9,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-896,-566.5,288),(0,290.9,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-896,-566.5,416),(0,290.9,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-896,-566.5,544),(0,290.9,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-896,-566.5,672),(0,290.9,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-896,-566.5,800),(0,290.9,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-896,-566.5,928),(0,290.9,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-896,-566.5,1056),(0,290.9,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-896,-566.5,1184),(0,290.9,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-896,-566.5,1312),(0,290.9,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(-896,-566.5,1440),(0,290.9,0)); +} + +//Function Number: 59 +northwestgrappleintowall() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1698,1823,928),(0,350.3,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1682,1823,928),(0,350.3,0)); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_kremlin_aud.gsc b/AW/PC/maps/mp/mp_kremlin_aud.gsc new file mode 100644 index 0000000..6d59a25 --- /dev/null +++ b/AW/PC/maps/mp/mp_kremlin_aud.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_kremlin_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:17:38 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_kremlin_fx.gsc b/AW/PC/maps/mp/mp_kremlin_fx.gsc new file mode 100644 index 0000000..28a8fd1 --- /dev/null +++ b/AW/PC/maps/mp/mp_kremlin_fx.gsc @@ -0,0 +1,136 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_kremlin_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 4 + * Decompile Time: 86 ms + * Timestamp: 4/22/2024 2:17:39 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["krem_mine_burst"] = loadfx("vfx/map/mp_kremlin/krem_mine_burst"); + level._effect["krem_snow_light_wind_puff_a"] = loadfx("vfx/map/mp_kremlin/krem_snow_light_wind_puff_a"); + level._effect["krem_snow_light_wind_puff_a"] = loadfx("vfx/snow/krem_snow_light_wind_puff_a"); + level._effect["krem_mine_laser_origin_main"] = loadfx("vfx/map/mp_kremlin/krem_mine_laser_origin_main"); + level._effect["krm_mine_snow_puff"] = loadfx("vfx/map/mp_kremlin/krm_mine_snow_puff"); + level._effect["krem_mine_laser_origin"] = loadfx("vfx/map/mp_kremlin/krem_mine_laser_origin"); + level._effect["krem_laser_patch_b"] = loadfx("vfx/map/mp_kremlin/krem_laser_patch_b"); + level._effect["krem_laser_patch_a"] = loadfx("vfx/map/mp_kremlin/krem_laser_patch_a"); + level._effect["krem_mine_burst"] = loadfx("vfx/map/mp_kremlin/krem_mine_burst"); + level._effect["krem_battlefield_smoke_ground"] = loadfx("vfx/map/mp_kremlin/krem_battlefield_smoke_ground"); + level._effect["electrical_sparks_runner"] = loadfx("vfx/explosion/electrical_sparks_runner"); + level._effect["krem_ambient_exp_runner_b"] = loadfx("vfx/map/mp_kremlin/krem_ambient_exp_runner_b"); + level._effect["krem_burning_fire_trail"] = loadfx("vfx/map/mp_kremlin/krem_burning_fire_trail"); + level._effect["krem_smoldering_smk_direction_l"] = loadfx("vfx/map/mp_kremlin/krem_smoldering_smk_direction_l"); + level._effect["insects_fruitflies_flying"] = loadfx("vfx/animal/insects_fruitflies_flying"); + level._effect["insects_flies_landing_sm"] = loadfx("vfx/animal/insects_flies_landing_sm"); + level._effect["krem_snow_mist_blowing_runner"] = loadfx("vfx/map/mp_clowntown/krem_snow_mist_blowing_runner"); + level._effect["krem_smk_fire_sm"] = loadfx("vfx/map/mp_kremlin/krem_smk_fire_sm"); + level._effect["krem_small_fire_b"] = loadfx("vfx/map/mp_kremlin/krem_small_fire_b"); + level._effect["fire_sm_licks_loop"] = loadfx("vfx/fire/fire_sm_licks_loop"); + level._effect["krem_ground_fire_sm"] = loadfx("vfx/map/mp_kremlin/krem_ground_fire_sm"); + level._effect["krem_smoke_white_slow"] = loadfx("vfx/map/mp_kremlin/krem_smoke_white_slow"); + level._effect["krem_snow_blowing_tunnel"] = loadfx("vfx/map/mp_kremlin/krem_snow_blowing_tunnel"); + level._effect["krem_burning_fire_no_embers"] = loadfx("vfx/map/mp_kremlin/krem_burning_fire_no_embers"); + level._effect["krem_sm_smoldering_smk"] = loadfx("vfx/map/mp_kremlin/krem_sm_smoldering_smk"); + level._effect["krem_wind_blowing_corner"] = loadfx("vfx/map/mp_kremlin/krem_wind_blowing_corner"); + level._effect["smoke_pillar_black_large_slow"] = loadfx("vfx/smoke/smoke_pillar_black_large_slow"); + level._effect["krem_vista_smk_stack_dark"] = loadfx("vfx/map/mp_kremlin/krem_vista_smk_stack_dark"); + level._effect["krem_small_fire"] = loadfx("vfx/map/mp_kremlin/krem_small_fire"); + level._effect["krem_smoke_rise"] = loadfx("vfx/map/mp_kremlin/krem_smoke_rise"); + level._effect["krem_smoke_column_smaller"] = loadfx("vfx/map/mp_kremlin/krem_smoke_column_smaller"); + level._effect["krem_smoke_column_slower"] = loadfx("vfx/map/mp_kremlin/krem_smoke_column_slower"); + level._effect["krem_falling_leaves_b"] = loadfx("vfx/map/mp_kremlin/krem_falling_leaves_b"); + level._effect["krem_wind_snow_puff"] = loadfx("vfx/map/mp_kremlin/krem_wind_snow_puff"); + level._effect["krem_falling_leaves"] = loadfx("vfx/map/mp_kremlin/krem_falling_leaves"); + level._effect["krem_snow_light_wind_puff_a"] = loadfx("vfx/map/mp_kremlin/krem_snow_light_wind_puff_a"); + level._effect["krem_moths_area_sml"] = loadfx("vfx/map/mp_kremlin/krem_moths_area_sml"); + level._effect["krem_snow_light_wind_puff_a"] = loadfx("vfx/snow/krem_snow_light_wind_puff_a"); + level._effect["krem_birds_scatter_runner"] = loadfx("vfx/map/mp_kremlin/krem_birds_scatter_runner"); + level._effect["krem_dust_falling_no_debri_runner"] = loadfx("vfx/map/mp_kremlin/krem_dust_falling_no_debri_runner"); + level._effect["krem_close_smoke_rise"] = loadfx("vfx/map/mp_kremlin/krem_close_smoke_rise"); + level._effect["krem_smoldering_smk_direction_m"] = loadfx("vfx/map/mp_kremlin/krem_smoldering_smk_direction_m"); + level._effect["krem_vista_smk_stack"] = loadfx("vfx/map/mp_kremlin/krem_vista_smk_stack"); + level._effect["smk_stack_single_01_lp_med_rev_unlit"] = loadfx("vfx/smoke/smk_stack_single_01_lp_med_rev_unlit"); + level._effect["krem_fire_smoke_med"] = loadfx("vfx/map/mp_kremlin/krem_fire_smoke_med"); + level._effect["krem_smoke_stack"] = loadfx("vfx/map/mp_kremlin/krem_smoke_stack"); + level._effect["krem_vent_steam_small"] = loadfx("vfx/map/mp_kremlin/krem_vent_steam_small"); + level._effect["krem_smoke_column"] = loadfx("vfx/map/mp_kremlin/krem_smoke_column"); + level._effect["krem_snow_light_wind_gust_runner"] = loadfx("vfx/map/mp_kremlin/krem_snow_light_wind_gust_runner"); + level._effect["krem_snow_chunks_falling"] = loadfx("vfx/map/mp_kremlin/krem_snow_chunks_falling"); + level._effect["wind_blowing_trash"] = loadfx("vfx/wind/wind_blowing_trash"); + level._effect["mp_trash_blowing_runner"] = loadfx("vfx/map/mp_lost/mp_trash_blowing_runner"); + level._effect["krem_lightrays_sml"] = loadfx("vfx/map/mp_kremlin/krem_lightrays_sml"); + level._effect["krem_birds_runner"] = loadfx("vfx/map/mp_kremlin/krem_birds_runner"); + level._effect["krem_wind_blowing_snow_2"] = loadfx("vfx/map/mp_kremlin/krem_wind_blowing_snow_2"); + level._effect["krem_wind_blowing_snow"] = loadfx("vfx/map/mp_kremlin/krem_wind_blowing_snow"); + level._effect["fireball_lp_smk_s_cg"] = loadfx("vfx/fire/fireball_lp_smk_s_cg"); + level._effect["krem_distant_large_smoke"] = loadfx("vfx/map/mp_kremlin/krem_distant_large_smoke"); + level._effect["krem_dust_falling_runner"] = loadfx("vfx/map/mp_kremlin/krem_dust_falling_runner"); + level._effect["krem_burning_fire"] = loadfx("vfx/map/mp_kremlin/krem_burning_fire"); + level._effect["krem_electrical_sparks_runner"] = loadfx("vfx/map/mp_kremlin/krem_electrical_sparks_runner"); + level._effect["krem_dust_ambient_int"] = loadfx("vfx/map/mp_kremlin/krem_dust_ambient_int"); + level._effect["krem_heavy_dust_smoke"] = loadfx("vfx/map/mp_kremlin/krem_heavy_dust_smoke"); + level._effect["krem_molten_drip"] = loadfx("vfx/map/mp_kremlin/krem_molten_drip"); + level._effect["krem_settled_dust"] = loadfx("vfx/map/mp_kremlin/krem_settled_dust"); + level._effect["krem_settling_dust"] = loadfx("vfx/map/mp_kremlin/krem_settling_dust"); + level._effect["krem_snow_fall"] = loadfx("vfx/map/mp_kremlin/krem_snow_fall"); + level._effect["test_effect"] = loadfx("vfx/test/test_fx"); + level._effect["snow_blizard_far"] = loadfx("vfx/wind/snow_blizard_far"); + level._effect["ground_snow_hvy_wind_flat_crash"] = loadfx("vfx/snow/ground_snow_hvy_wind_flat_crash"); + level._effect["snow_dune_top"] = loadfx("vfx/wind/snow_dune_top"); + level._effect["fx_sunflare_mp_kremlin"] = loadfx("vfx/lensflare/fx_sunflare_mp_kremlin"); + level._effect["mp_godray_angled_dusty"] = loadfx("vfx/map/mp_kremlin/mp_godray_angled_dusty"); + level._effect["mp_godray_angled_gold_dusty"] = loadfx("vfx/map/mp_kremlin/mp_godray_angled_gold_dusty"); + level._effect["mp_godray_sm"] = loadfx("vfx/map/mp_kremlin/mp_godray_sm"); + level._effect["sphere_flare"] = loadfx("vfx/map/mp_kremlin/sphere_flare"); + level._effect["sphere_flare_sm"] = loadfx("vfx/map/mp_kremlin/sphere_flare_sm"); + level._effect["blue_sm_lens"] = loadfx("vfx/lights/mp_kremlin/blue_sm_lens"); + level._effect["sconce_sm"] = loadfx("vfx/lights/mp_kremlin/sconce_sm"); + level._effect["sconce_lrg"] = loadfx("vfx/lights/mp_kremlin/sconce_lrg"); + level._effect["stadium_sm"] = loadfx("vfx/lights/mp_kremlin/stadium_sm"); + level._effect["stadium_sm_bright"] = loadfx("vfx/lights/mp_kremlin/stadium_sm_bright"); + level._effect["stadium_blue_sm"] = loadfx("vfx/lights/mp_kremlin/stadium_blue_sm"); + level._effect["torqued_flou_flare"] = loadfx("vfx/lights/mp_torqued/torqued_flou_flare"); + level._effect["flare_ambient"] = loadfx("vfx/props/flare_ambient"); + level._effect["dlc_flare_light_spot_6_sm"] = loadfx("vfx/lensflare/dlc/dlc_flare_light_spot_6_sm"); + level._effect["flare_spot_sm"] = loadfx("vfx/lights/mp_kremlin/flare_spot_sm"); +} + +//Function Number: 2 +laser_grid_a_fx() +{ + level endon("game_ended"); + wait(level.minesettings[self.minetype].eventstartcountdown - 1.5); + var_00 = (360,359,0); + var_01 = anglestoforward(var_00); + var_02 = anglestoup(var_00); + var_03 = spawnfx(common_scripts\utility::getfx("krem_laser_patch_a"),(-61,834,139),var_01,var_02); + triggerfx(var_03); + level waittill("minefield_complete"); + var_03 delete(); +} + +//Function Number: 3 +laser_grid_b_fx() +{ + level endon("game_ended"); + wait(level.minesettings[self.minetype].eventstartcountdown - 1.3); + var_00 = (270,0,0); + var_01 = anglestoforward(var_00); + var_02 = anglestoup(var_00); + var_03 = spawnfx(common_scripts\utility::getfx("krem_laser_patch_b"),(-353,-706,156),var_01,var_02); + triggerfx(var_03); + level waittill("minefield_complete"); + var_03 delete(); +} + +//Function Number: 4 +snow_puff_fx() +{ + wait(1); + playfxontag(common_scripts\utility::getfx("krm_mine_snow_puff"),self,"tag_origin"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_kremlin_lighting.gsc b/AW/PC/maps/mp/mp_kremlin_lighting.gsc new file mode 100644 index 0000000..b0b6143 --- /dev/null +++ b/AW/PC/maps/mp/mp_kremlin_lighting.gsc @@ -0,0 +1,24 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_kremlin_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 2:17:39 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + set_level_lighting_values(); +} + +//Function Number: 2 +set_level_lighting_values() +{ + if(isusinghdr()) + { + setdvar("r_disablelightsets",0); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_kremlin_precache.gsc b/AW/PC/maps/mp/mp_kremlin_precache.gsc new file mode 100644 index 0000000..a56fc2d --- /dev/null +++ b/AW/PC/maps/mp/mp_kremlin_precache.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_kremlin_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 29 ms + * Timestamp: 4/22/2024 2:17:39 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_lab2.gsc b/AW/PC/maps/mp/mp_lab2.gsc new file mode 100644 index 0000000..e470089 --- /dev/null +++ b/AW/PC/maps/mp/mp_lab2.gsc @@ -0,0 +1,1709 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_lab2.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 74 + * Decompile Time: 1147 ms + * Timestamp: 4/22/2024 2:17:43 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\mp\mp_lab2_precache::main(); + maps\createart\mp_lab2_art::main(); + maps\mp\mp_lab2_fx::main(); + common_scripts\utility::setlightingstate(1); + maps\mp\_load::main(); + thread setup_audio(); + thread set_lighting_values(); + thread set_umbra_values(); + level.ospvisionset = "mp_lab2_osp"; + level.osplightset = "mp_lab2_osp"; + level.warbirdvisionset = "mp_lab2_osp"; + level.warbirdlightset = "mp_lab2_osp"; + level.vulcanvisionset = "mp_lab2_osp"; + level.vulcanlightset = "mp_lab2_osp"; + maps\mp\_compass::setupminimap("compass_map_mp_lab2"); + setdvar("sm_minSpotLightScore",0.0007); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + if(level.nextgen) + { + level.aerial_pathnode_group_connect_dist = 350; + } + + precachemodel("lab2_cannister_holder_01"); + precachemodel("lab2_industrial_crane_01"); + precachempanim("lab2_dynamic_event_helicopter_anim"); + precachempanim("lab2_dynamic_event_harness_anim"); + precachempanim("lab2_dynamic_event_building_anim"); + precachempanim("lab2_industrial_crane_anim"); + precachempanim("lab2_dynamic_event_harness_invis_anim"); + precacheshellshock("mp_lab_gas"); + precacheshader("lab_gas_overlay"); + level.missileparticles = spawnstruct(); + level.missileparticles.spraymachine = loadfx("vfx/water/industrial_hot_water_sprayer"); + level.missileparticles.spraymachinedrips = loadfx("vfx/water/industrial_hot_water_sprayer_drips"); + level.missileparticles.canisterdrips = loadfx("vfx/map/mp_lab/canister_drips"); + level.missileparticles.canistersteam = loadfx("vfx/map/mp_lab/canister_steam"); + level.missileparticles.drymachine = loadfx("vfx/map/mp_lab/industrial_dryer_fan"); + level.missileparticles.sparkgreenloop = loadfx("vfx/map/mp_lab/flare_sparks_ambient_green"); + level.missileparticles.greencrazylightloop = loadfx("vfx/smoke/smoke_flare_marker_green_windy"); + level.missileparticles.greensmokeloop = loadfx("vfx/map/mp_lab/chem_smoke_green"); + level.missileparticles.missileexplosion = loadfx("vfx/explosion/poison_gas_canister_explosion"); + level.missileparticles.cranesparks = loadfx("vfx/sparks/crane_scrape_sparks_small_looping"); + level.alarmfx01 = loadfx("vfx/lights/mp_lab2/lab2_crane_red_alarm"); + if(isdefined(level.createfx_enabled) && level.createfx_enabled) + { + return; + } + + thread setupcranechem(); + thread onplayerconnectfucntions(); + thread setupdynamicevent(); + thread setuprobotarmnotetracks(); + thread maps\mp\_utility::findandplayanims("animated_prop",1); + thread specialgametypescript(); + setdvar("r_reactivemotionfrequencyscale",0.5); + setdvar("r_reactivemotionamplitudescale",0.5); + setdvar("r_gunSightColorEntityScale","7"); + setdvar("r_gunSightColorNoneScale","0.8"); + level.labtemptuner1 = 9; + level.labtemptuner2 = 4; + level.labtemptuner3 = -2; + level.orbitalsupportoverridefunc = ::labpaladinoverrides; + level.orbitallaseroverridefunc = ::lab2customlaserstreakfunc; + thread lab2customairstrike(); + thread lab2botkilltrigger(); + thread lab2playerkilltrigger(); +} + +//Function Number: 2 +set_umbra_values() +{ + setdvar("r_umbraAccurateOcclusionThreshold",128); +} + +//Function Number: 3 +specialgametypescript() +{ + thread waitcarryobjects(); +} + +//Function Number: 4 +waitcarryobjects() +{ + level endon("game_ended"); + if(level.gametype == "sd") + { + while(!isdefined(level.sdbomb)) + { + wait(0.05); + } + + level.sdbomb thread watchcarryobjects(); + return; + } + + if(level.gametype == "sab") + { + while(!isdefined(level.sabbomb)) + { + wait(0.05); + } + + level.sabbomb thread watchcarryobjects(); + return; + } + + if(level.gametype == "tdef") + { + while(!isdefined(level.gameflag)) + { + wait(0.05); + } + + level.gameflag thread watchcarryobjects(); + return; + } + + if(level.gametype == "ball") + { + while(!isdefined(level.balls)) + { + wait(0.05); + } + + foreach(var_01 in level.balls) + { + var_01 thread watchcarryobjects(); + } + + return; + } + + if(level.gametype == "ctf") + { + while(!isdefined(level.teamflags) || !isdefined(level.teamflags[game["defenders"]]) || !isdefined(level.teamflags[game["attackers"]])) + { + wait(0.05); + } + + level.teamflags[game["defenders"]] thread watchcarryobjects(); + level.teamflags[game["attackers"]] thread watchcarryobjects(); + return; + } +} + +//Function Number: 5 +watchcarryobjects() +{ + level endon("game_ended"); + for(;;) + { + self waittill("dropped"); + wait(0.1); + if(isoutofbounds()) + { + maps\mp\gametypes\_gameobjects::returnhome(); + continue; + } + + if(isdefined(level.flyingbuildingent) && level.flyingbuildingent.flying == 1 && isdefined(level.flyingbuildingent.triggerhurtlower) && isdefined(level.flyingbuildingent.triggerhurtupper)) + { + while(level.flyingbuildingent.flying == 1) + { + if(self.visuals[0] istouching(level.flyingbuildingent.triggerhurtlower) || self.visuals[0] istouching(level.flyingbuildingent.triggerhurtupper)) + { + maps\mp\gametypes\_gameobjects::returnhome(); + break; + } + + wait(0.05); + } + } + } +} + +//Function Number: 6 +isoutofbounds() +{ + var_00 = getentarray("radiation","targetname"); + for(var_01 = 0;var_01 < var_00.size;var_01++) + { + if(!self.visuals[0] istouching(var_00[var_01])) + { + continue; + } + + return 1; + } + + var_02 = getentarray("minefield","targetname"); + for(var_01 = 0;var_01 < var_02.size;var_01++) + { + if(!self.visuals[0] istouching(var_02[var_01])) + { + continue; + } + + return 1; + } + + var_03 = getentarray("trigger_hurt","classname"); + for(var_01 = 0;var_01 < var_03.size;var_01++) + { + if(!self.visuals[0] istouching(var_03[var_01])) + { + continue; + } + + return 1; + } + + var_04 = getentarray("boost_jump_border_trig","targetname"); + for(var_01 = 0;var_01 < var_04.size;var_01++) + { + if(!self.visuals[0] istouching(var_04[var_01])) + { + continue; + } + + return 1; + } + + var_05 = getentarray("object_out_of_bounds","targetname"); + for(var_01 = 0;var_01 < var_05.size;var_01++) + { + if(!self.visuals[0] istouching(var_05[var_01])) + { + continue; + } + + return 1; + } + + return 0; +} + +//Function Number: 7 +setupdynamicevent() +{ + var_00 = getentarray("ground_shadow_patch_before","targetname"); + var_01 = getentarray("ground_shadow_patch_after","targetname"); + var_02 = getent("teleport_from","targetname"); + var_03 = getent("teleport_to","targetname"); + foreach(var_05 in var_00) + { + var_05.origin = var_05.origin + var_03.origin - var_02.origin; + } + + foreach(var_05 in var_01) + { + var_05 hide(); + } + + common_scripts\utility::setlightingstate(2); + var_09 = getentarray("dynamic_building_master_prefab","targetname"); + var_0A = undefined; + var_0B = []; + foreach(var_0D in var_09) + { + if(isdefined(var_0D.script_noteworthy) && var_0D.script_noteworthy == "origin") + { + var_0A = spawn("script_origin",var_0D.origin); + continue; + } + + var_0B[var_0B.size] = var_0D; + } + + if(!isdefined(var_0A)) + { + var_0A = spawn("script_origin",var_09[0].origin); + } + + var_0A.radiant_pos = var_0A.origin; + var_0A.flying = 0; + var_0A.parts = var_0B; + var_0A.triggerhurtlower = getent("building_hurt_01","targetname"); + var_0A.triggerhurtupper = getent("building_hurt_02","targetname"); + var_0A.triggerkillvehiclesheli = getent("vehicle_kill_heli","targetname"); + var_0A.triggerkillvehicleshelioffset = (525,36,635); + var_0A.triggerkillvehiclesheli.origin = var_0A.triggerkillvehiclesheli.origin + (0,0,-10000); + var_0A.triggerkillvehiclesbuilding = getent("vehicle_kill_building","targetname"); + var_0A.triggerkillvehiclesbuildingoffset = var_0A.triggerkillvehiclesbuilding.origin - var_0A.origin; + var_0A.triggerkillvehiclesbuilding.origin = var_0A.triggerkillvehiclesbuilding.origin + (0,0,-10000); + foreach(var_0D in var_0A.parts) + { + if(var_0D.classname == "info_null_meter") + { + continue; + } + else if(isdefined(var_0D.script_noteworthy) && var_0D.script_noteworthy == "trigger_origin_01") + { + var_0A.triggerlowerorigin = var_0D; + } + else if(isdefined(var_0D.script_noteworthy) && var_0D.script_noteworthy == "trigger_origin_02") + { + var_0A.triggerupperorigin = var_0D; + } + + var_0D vehicle_jetbikesethoverforcescale(var_0A); + } + + var_0A.dynamicpathblock = getent("flying_building_paths_unblock","targetname"); + var_0A.dynamicpathrampswitch = getent("flying_building_path_ramp_switch","targetname"); + var_0A.dynamicpathblock vehicle_jetbikesethoverforcescale(var_0A); + var_0A.og_spawn = (15959.85,-24712.88,5209.891); + var_0A.og_heli_spawn = (15940.68,-24711.62,5888.014); + var_0A.origin = var_0A.og_spawn; + wait(0.05); + var_0A.triggerhurtlower.origin = var_0A.triggerlowerorigin.origin; + var_0A.triggerhurtlower.angles = var_0A.triggerlowerorigin.angles; + var_0A.triggerhurtupper.origin = var_0A.triggerupperorigin.origin; + var_0A.triggerhurtupper.angles = var_0A.triggerupperorigin.angles; + opendynamicbuildingplatformpath(var_0A); + foreach(var_0D in var_0A.parts) + { + if(var_0D.classname == "info_null_meter") + { + continue; + } + + var_0D hide(); + } + + var_0A hide(); + level.flyingbuildingent = var_0A; + level thread maps\mp\_dynamic_events::dynamicevent(::dynamiceventstartfunc,undefined,::dynamiceventendfunc); +} + +//Function Number: 8 +opendynamicbuildingplatformpath(param_00) +{ + param_00.dynamicpathrampswitch.origin = param_00.dynamicpathrampswitch.origin + (0,0,-10000); + param_00.dynamicpathblock connectpaths(); + foreach(var_02 in param_00.parts) + { + if(isdefined(var_02.script_noteworthy)) + { + if(var_02.script_noteworthy == "flying_building_collision_shell" || var_02.script_noteworthy == "collision" || var_02.script_noteworthy == "building_brush_geo") + { + var_02 connectpaths(); + if(var_02.script_noteworthy == "flying_building_collision_shell") + { + var_02 setaisightlinevisible(0); + } + } + } + } + + if(level.gametype == "dom") + { + wait(0.05); + maps\mp\gametypes\dom::flagsetup(); + } +} + +//Function Number: 9 +dynamiceventstartfunc() +{ + if(isdefined(level.flyingbuildingent) && !isdefined(level.ishorde)) + { + level.flyingbuildingent moveflyingbuilding(); + } +} + +//Function Number: 10 +dynamiceventendfunc() +{ + var_00 = getentarray("ground_shadow_patch_before","targetname"); + var_01 = getentarray("ground_shadow_patch_after","targetname"); + var_01[0] show(); + var_00[0] hide(); + if(isdefined(level.flyingbuildingent)) + { + level.flyingbuildingent.dynamicpathblock unlink(); + level.flyingbuildingent.dynamicpathblock.origin = level.flyingbuildingent.dynamicpathblock.origin + (0,0,-10000); + level.flyingbuildingent dontinterpolate(); + level.flyingbuildingent.origin = level.flyingbuildingent.radiant_pos; + wait(0.05); + level.flyingbuildingent.triggerhurtlower dontinterpolate(); + level.flyingbuildingent.triggerhurtupper dontinterpolate(); + level.flyingbuildingent.triggerhurtlower.origin = level.flyingbuildingent.triggerhurtlower.origin + (0,0,-10000); + level.flyingbuildingent.triggerhurtupper.origin = level.flyingbuildingent.triggerhurtupper.origin + (0,0,-10000); + foreach(var_03 in level.flyingbuildingent.parts) + { + var_03 unlink(); + var_03 show(); + var_03.unresolved_collision_kill = 0; + if(isdefined(var_03.script_noteworthy)) + { + if(var_03.script_noteworthy == "flying_building_collision_shell") + { + var_03 disconnectpaths(); + var_03 setaisightlinevisible(1); + continue; + } + + if(var_03.script_noteworthy == "collision") + { + var_03 delete(); + } + } + } + + level.flyingbuildingent.dynamicpathrampswitch connectpaths(); + level thread common_scripts\_exploder::activate_clientside_exploder(100); + } + + if(level.gametype == "dom") + { + dom_b_move(); + } +} + +//Function Number: 11 +getnetquantizedangle(param_00) +{ + var_01 = param_00 / 360; + var_02 = var_01 - floor(var_01) * 360; + var_03 = var_02 - 360; + if(var_03 >= 0) + { + var_02 = var_03; + } + + var_04 = int(floor(var_02 * 4095 / 360 + 0.5)); + param_00 = var_04 * 360 / 4095; + return param_00; +} + +//Function Number: 12 +dom_b_move() +{ + wait(0.05); + var_00 = common_scripts\utility::getstruct("dom_point_b_location","targetname"); + foreach(var_02 in level.flags) + { + if(var_02.script_label == "_b") + { + var_02.origin = var_00.origin; + var_02.useobj.visuals[0].origin = var_00.origin + (0,0,1.125); + var_02.useobj.visuals[0].baseorigin = var_00.origin + (0,0,1.125); + var_02.useobj.curorigin = var_00.origin + (0,0,1.125); + var_02.useobj.baseeffectpos = var_00.origin + (0,0,1.125); + var_02.useobj maps\mp\gametypes\dom::updatevisuals(); + if(isdefined(var_02.useobj.objidallies)) + { + objective_position(var_02.useobj.objidallies,var_00.origin); + } + + if(isdefined(var_02.useobj.objidaxis)) + { + objective_position(var_02.useobj.objidaxis,var_00.origin); + } + + var_03 = var_00.origin + (0,0,100); + foreach(var_05 in level.teamnamelist) + { + var_06 = "objpoint_" + var_05 + "_" + var_02.useobj.entnum; + var_07 = maps\mp\gametypes\_objpoints::getobjpointbyname(var_06); + var_07.x = var_03[0]; + var_07.y = var_03[1]; + var_07.z = var_03[2]; + } + } + } + + level notify("dom_flags_moved"); + maps\mp\gametypes\dom::flagsetup(); +} + +//Function Number: 13 +moveflyingbuilding() +{ + var_00 = level.labtemptuner1; + var_01 = level.labtemptuner2; + var_02 = level.labtemptuner3; + self.heavy_lifter = spawn("script_model",self.og_heli_spawn + (var_02,var_01,var_00)); + var_03 = getnetquantizedangle(36.078); + self.heavy_lifter.angles = (0,36.044,0); + self.heavy_lifter setmodel("vehicle_heavy_lift_helicopter_01"); + self.harness = spawn("script_model",self.heavy_lifter gettagorigin("tag_crane")); + self.harness.angles = self.heavy_lifter gettagangles("tag_crane") + (0,0,0); + self.harness setmodel("heavy_lift_wires"); + self.building_bone = spawn("script_model",self.og_spawn + (0,0,var_00)); + self.building_bone.angles = self.harness gettagangles("tag_cargo") + (0,180,0); + self.building_bone setmodel("tag_origin_animate"); + self.flying = 1; + wait(0.05); + self.triggerkillvehiclesheli thread maps\mp\killstreaks\_aerial_utility::setup_kill_drone_trig(); + self.triggerkillvehiclesbuilding thread maps\mp\killstreaks\_aerial_utility::setup_kill_drone_trig(); + thread killwarbirds(self.triggerkillvehiclesbuilding); + thread killwarbirds(self.triggerkillvehiclesheli); + foreach(var_05 in self.parts) + { + var_05 show(); + } + + wait(0.05); + foreach(var_08 in self.parts) + { + var_08.unresolved_collision_kill = 1; + } + + self.origin = self.og_spawn + (0,0,var_00); + self.angles = self.harness gettagangles("tag_cargo") + (0,180,0); + self vehicle_jetbikesethoverforcescale(self.harness,"tag_cargo"); + wait(0.05); + self.heavy_lifter scriptmodelplayanimdeltamotion("lab2_dynamic_event_helicopter_anim","building_unlink_notify"); + self.harness scriptmodelplayanimdeltamotion("lab2_dynamic_event_harness_anim"); + self.heavy_lifter thread aud_transport_chopper(); + thread movebuildingdeathtriggers(); + self.heavy_lifter thread maps\mp\mp_lab2_fx::startheavylifterfx(); + self.heavy_lifter waittillmatch("vfx_heligroundfx_start","building_unlink_notify"); + self.heavy_lifter thread maps\mp\mp_lab2_fx::startheligroundfx(); + self.heavy_lifter waittillmatch("vfx_crane_sparks_start","building_unlink_notify"); + playfxontag(common_scripts\utility::getfx("crane_sparks"),self.heavy_lifter,"TAG_CRANE"); + self.heavy_lifter waittillmatch("helicopter_descend","building_unlink_notify"); + var_0A = []; + foreach(var_05 in self.parts) + { + if(isdefined(var_05.script_noteworthy) && var_05.script_noteworthy == "collision") + { + var_05 unlink(); + var_05 delete(); + continue; + } + + var_0A[var_0A.size] = var_05; + } + + self.parts = var_0A; + self.dynamicpathblock unlink(); + self.dynamicpathblock delete(); + self.heavy_lifter thread aud_building_pre_drop(); + self.heavy_lifter waittillmatch("vfx_crane_sparks_stop","building_unlink_notify"); + stopfxontag(common_scripts\utility::getfx("crane_sparks"),self.heavy_lifter,"TAG_CRANE"); + self.heavy_lifter waittillmatch("vfx_building_land","building_unlink_notify"); + common_scripts\_exploder::activate_clientside_exploder(99); + self.heavy_lifter waittillmatch("drop_building","building_unlink_notify"); + self.harness thread maps\mp\mp_lab2_fx::clampreleasefx(); + self.heavy_lifter thread aud_building_drop(); + var_0D = getentarray("ground_shadow_patch_before","targetname"); + var_0E = getentarray("ground_shadow_patch_after","targetname"); + var_0E[0] show(); + var_0D[0] hide(); + self unlink(); + self.flying = 0; + foreach(var_05 in self.parts) + { + if(isdefined(var_05)) + { + var_05 unlink(); + var_05.unresolved_collision_kill = 0; + if(isdefined(var_05.script_noteworthy)) + { + if(var_05.script_noteworthy == "flying_building_collision_shell") + { + var_05 disconnectpaths(); + var_05 setaisightlinevisible(1); + } + } + } + } + + self.dynamicpathrampswitch connectpaths(); + if(level.gametype == "dom") + { + dom_b_move(); + } + + common_scripts\_exploder::activate_clientside_exploder(100); + self.heavy_lifter waittillmatch("vfx_heligroundfx_stop","building_unlink_notify"); + self.heavy_lifter thread maps\mp\mp_lab2_fx::stopheligroundfx(); + self.heavy_lifter waittillmatch("helicopter_end","building_unlink_notify"); + self.heavy_lifter delete(); + self.harness delete(); +} + +//Function Number: 14 +killwarbirds(param_00) +{ + if(isdefined(param_00)) + { + while(self.flying == 1) + { + if(isdefined(level.spawnedwarbirds)) + { + foreach(var_02 in level.spawnedwarbirds) + { + if(isdefined(var_02)) + { + if(var_02 istouching(param_00)) + { + var_02 thread maps\mp\killstreaks\_aerial_utility::heli_explode(1); + } + } + } + } + + wait(0.05); + } + } +} + +//Function Number: 15 +movebuildingdeathtriggers() +{ + while(self.flying == 1) + { + self.triggerhurtlower.origin = self.triggerlowerorigin.origin; + self.triggerhurtlower.angles = self.triggerlowerorigin.angles; + self.triggerhurtupper.origin = self.triggerupperorigin.origin; + self.triggerhurtupper.angles = self.triggerupperorigin.angles; + var_00 = self.heavy_lifter gettagangles("body_animate_jnt"); + var_01 = 360 - var_00[0]; + var_02 = var_00[1] + 180; + var_03 = 360 - var_00[2]; + self.triggerkillvehiclesheli.angles = (var_01,var_02,var_03); + self.triggerkillvehiclesheli.origin = self.heavy_lifter.origin + self.triggerkillvehicleshelioffset; + self.triggerkillvehiclesbuilding.origin = self.origin + self.triggerkillvehiclesbuildingoffset; + self.triggerkillvehiclesbuilding.angles = self.angles; + wait(0.05); + } + + self.triggerhurtlower dontinterpolate(); + self.triggerhurtupper dontinterpolate(); + self.triggerkillvehiclesheli dontinterpolate(); + self.triggerkillvehiclesbuilding dontinterpolate(); + self.triggerhurtlower.origin = self.triggerhurtlower.origin + (0,0,-10000); + self.triggerhurtupper.origin = self.triggerhurtupper.origin + (0,0,-10000); + self.triggerkillvehiclesheli.origin = self.triggerkillvehiclesheli.origin + (0,0,-10000); + self.triggerkillvehiclesbuilding.origin = self.triggerkillvehiclesbuilding.origin + (0,0,-10000); +} + +//Function Number: 16 +labpaladinoverrides() +{ + level.orbitalsupportoverrides.spawnanglemin = 70; + level.orbitalsupportoverrides.spawnanglemax = 150; + level.orbitalsupportoverrides.spawnheight = 7500; + level.orbitalsupportoverrides.spawnradius = 5000; + level.orbitalsupportoverrides.leftarc = 30; + level.orbitalsupportoverrides.rightarc = 30; + level.orbitalsupportoverrides.toparc = -42; + level.orbitalsupportoverrides.bottomarc = 67; +} + +//Function Number: 17 +lab2customlaserstreakfunc() +{ + var_00 = maps\mp\killstreaks\_aerial_utility::gethelianchor(); + level.orbitallaseroverrides.spawnheight = var_00.origin[2] + 2724; +} + +//Function Number: 18 +lab2customairstrike() +{ + if(!isdefined(level.airstrikeoverrides)) + { + level.airstrikeoverrides = spawnstruct(); + } + + level.airstrikeoverrides.spawnheight = 1700; +} + +//Function Number: 19 +lab2botkilltrigger() +{ + level endon("game_ended"); + var_00 = spawn("trigger_radius",(-584,1728,176),0,300,128); + for(;;) + { + var_00 waittill("trigger",var_01); + if(isbot(var_01) || isagent(var_01)) + { + var_01 dodamage(var_01.health + 999,var_00.origin); + } + } +} + +//Function Number: 20 +lab2playerkilltrigger() +{ + level endon("game_ended"); + var_00 = spawn("trigger_radius",(-566,1636,220),0,64,64); + for(;;) + { + var_00 waittill("trigger",var_01); + var_01 dodamage(var_01.health + 999,var_00.origin); + } +} + +//Function Number: 21 +onplayerconnectfucntions() +{ + level endon("game_ended"); + for(;;) + { + level waittill("connected",var_00); + var_00.gastime = 0; + var_00 thread creategastrackingoverlay(); + } +} + +//Function Number: 22 +set_lighting_values() +{ + if(isusinghdr()) + { + for(;;) + { + level waittill("connected",var_00); + var_00 setclientdvars("r_tonemap","1"); + } + } +} + +//Function Number: 23 +rotatemeshes(param_00) +{ + for(;;) + { + self rotateyaw(360,param_00); + wait(param_00); + } +} + +//Function Number: 24 +setupcranechem() +{ + level.alarmsystem = spawnstruct(); + level.alarmsystem.spinnerarray = getentarray("horizontal_spinner","targetname"); + level.alarmsystem.alarmsoundent = getent("alarm_missile_sound01","targetname"); + level.gasmachine = spawnstruct(); + level.gasmachine.totalspawned = []; + level.gasmachine.cranecollisiontotal = []; + level.gasmachine.cranechemcollisiontotal = []; + level.gasmachine.explosionoffset = 72; + level.gasmachine.explosionangleoffset = (-90,0,0); + level.gasmachine.machinesparkarray = getentarray("sparkgroup","targetname"); + level.gasmachine.sprayerdriparray = getentarray("dripgroup","targetname"); + level.gasmachine.partciledrylocation = common_scripts\utility::getstruct("particle_dryer","targetname"); + level.gasmachine.chemical_rackpausetime = 0; + level.gasmachine.chemical_racksactive = 1; + level.gasmachine.chemical_rackgotosarray = common_scripts\utility::getstructarray("missile_rack_start01","targetname"); + level.gasmachine.damageradius = 375; + level.gasmachine.maxdamageamount = 300; + level.gasmachine.mindamageamount = 75; + level.gasmachine.spraysheetstate = 1; + level.gasmachine.totalchemcanhealth = 100; + level.gasmachine.particlespawnoriginoffset = (0,0,0); + level.gasmachine.dryerfan = getent("dryer_fan","targetname"); + level.gasmachine.dryerfanrotatevelocity = (0,1400,0); + level.gasmachine.gasrange = 170; + var_00 = level.gasmachine.chemical_rackgotosarray[0]; + for(;;) + { + if(isdefined(var_00.target)) + { + var_01 = common_scripts\utility::getstruct(var_00.target,"targetname"); + level.gasmachine.chemical_rackgotosarray = common_scripts\utility::add_to_array(level.gasmachine.chemical_rackgotosarray,var_01); + var_00 = var_01; + continue; + } + else + { + break; + } + + wait(0.05); + } + + level.gasmachine.cranecollisiontotal = getentarray("crane_collision01","targetname"); + level.gasmachine.cranecollision = level.gasmachine.cranecollisiontotal; + foreach(var_03 in level.gasmachine.cranecollisiontotal) + { + var_03.unresolved_collision_kill = 1; + } + + level.gasmachine.cranechemcollisiontotal = getentarray("rack_collision01","targetname"); + level.gasmachine.cranechemcollision = level.gasmachine.cranechemcollisiontotal; + foreach(var_03 in level.gasmachine.cranechemcollisiontotal) + { + var_03.unresolved_collision_kill = 1; + } + + cranethink(level.gasmachine.chemical_rackgotosarray); +} + +//Function Number: 25 +addtototalspawned() +{ + level.gasmachine.totalspawned = common_scripts\utility::add_to_array(level.gasmachine.totalspawned,self); +} + +//Function Number: 26 +removefromtotalspawned() +{ + wait(0.05); + level.gasmachine.totalspawned = common_scripts\utility::array_removeundefined(level.gasmachine.totalspawned); +} + +//Function Number: 27 +cranethink(param_00) +{ + var_01 = 5; + var_02 = 5; + for(;;) + { + if(level.gasmachine.chemical_racksactive == 1) + { + if(level.gasmachine.cranecollision.size > 0) + { + var_03 = randomint(100); + if(var_03 > 40) + { + var_04 = spawncrane(param_00,1); + if(isdefined(var_04)) + { + var_04 thread startnotelisten(var_02,var_01); + } + } + } + + wait(var_01 + var_02 + randomfloatrange(3,7)); + continue; + } + + wait(1); + } +} + +//Function Number: 28 +startnotelisten(param_00,param_01) +{ + thread watchcranenotetrack(param_00,param_01); +} + +//Function Number: 29 +watchcranenotetrack(param_00,param_01) +{ + self endon("death"); + self endon("deleted"); + for(;;) + { + self waittill("crane_note_track",var_02); + if(var_02 == "crane_move_start") + { + if(level.gasmachine.chemical_racksactive == 0) + { + if(isdefined(self) && self.paused == 0) + { + self scriptmodelpauseanim(1); + self.paused = 1; + checkforunpause(); + } + } + else + { + thread maps\mp\_audio::snd_play_linked("emt_conveyor_belt_gears",self); + thread maps\mp\_audio::snd_play_linked("emt_conveyor_belt_sparks",self); + playfxontag(level.missileparticles.cranesparks,self,"TAG_ORIGIN"); + } + + continue; + } + + if(var_02 == "crane_move_stop") + { + thread stopcranesound(); + stopfxontag(level.missileparticles.cranesparks,self,"TAG_ORIGIN"); + continue; + } + + if(var_02 == "crane_wiggle_stop") + { + continue; + } + + if(var_02 == "crane_particle_01" || var_02 == "crane_particle_02" || var_02 == "crane_particle_03") + { + thread spraycans(param_00,var_02); + continue; + } + + if(var_02 == "rotate_start") + { + thread rotatethink(param_00); + continue; + } + + if(var_02 == "rotate_stop") + { + thread stopcranesound(); + continue; + } + + if(var_02 == "crane_finish") + { + thread removerack(); + } + } +} + +//Function Number: 30 +checkforunpause() +{ + self endon("death"); + self endon("deleted"); + for(;;) + { + if(isdefined(self)) + { + if(level.gasmachine.chemical_racksactive == 1) + { + if(self.paused == 1) + { + self scriptmodelpauseanim(0); + self.paused = 0; + thread maps\mp\_audio::snd_play_linked("emt_conveyor_belt_gears",self); + thread maps\mp\_audio::snd_play_linked("emt_conveyor_belt_sparks",self); + playfxontag(level.missileparticles.cranesparks,self,"TAG_ORIGIN"); + break; + } + } + } + else + { + break; + } + + wait(0.5); + } +} + +//Function Number: 31 +setuprobotarmnotetracks() +{ + var_00 = getentarray("lab2_robot_arm","targetname"); + foreach(var_02 in var_00) + { + wait(randomfloatrange(0,1)); + var_02 scriptmodelplayanimdeltamotion("lab2_robot_arm_01_idle_anim","emt_servo_sparks"); + var_02 thread watchrobotarmnotetrack(); + } +} + +//Function Number: 32 +watchrobotarmnotetrack() +{ + self endon("death"); + self endon("deleted"); + for(;;) + { + self waittill("emt_servo_sparks",var_00); + if(isdefined(var_00) && var_00 == "robot_arm_sparks_on") + { + playfxontag(common_scripts\utility::getfx("welding_sparks"),self,"wristSwivel"); + continue; + } + + if(isdefined(var_00) && var_00 == "emt_servo_sparks") + { + thread maps\mp\_audio::snd_play_linked("emt_servo_sparks",self); + } + } +} + +//Function Number: 33 +stopcranesound() +{ + self stopsounds(); + wait(0.05); + thread maps\mp\_audio::snd_play_linked("mp_lab_missilerack_stop01",self); +} + +//Function Number: 34 +rotatethink(param_00) +{ + if(self.has_chemicals == 1) + { + if(level.gasmachine.chemical_racksactive == 1) + { + thread maps\mp\_audio::snd_play_in_space("emt_air_blast_turn",level.gasmachine.partciledrylocation.origin); + thread maps\mp\_audio::snd_play_in_space("emt_air_blast_clean",level.gasmachine.partciledrylocation.origin); + level.gasmachine.partciledrylocation thread particlespray(level.missileparticles.drymachine,level.gasmachine.partciledrylocation.angles,3); + thread startcanisterfx(level.missileparticles.canistersteam,param_00); + thread rotatedryerfan(); + } + } +} + +//Function Number: 35 +rotatedryerfan() +{ + level.gasmachine.dryerfan rotatevelocity(level.gasmachine.dryerfanrotatevelocity,7,1,5); +} + +//Function Number: 36 +spraycans(param_00,param_01) +{ + if(self.has_chemicals == 1) + { + if(level.gasmachine.chemical_racksactive == 1) + { + thread particlespraymultiplenode(param_01,param_00); + thread startcanisterfx(level.missileparticles.canisterdrips,param_00); + } + } +} + +//Function Number: 37 +spawncrane(param_00,param_01) +{ + var_02 = -210; + var_03 = spawn("script_model",param_00[0].origin + (0,0,var_02)); + var_03 playcranespawnvfx(); + var_04 = getcollision(level.gasmachine.cranecollision); + if(isdefined(var_04) && isdefined(var_04.collision)) + { + var_03 setmodel("lab2_industrial_crane_01"); + var_03.paused = 0; + var_03.cranecollision = var_04.collision; + level.gasmachine.cranecollision = var_04.pool; + var_03.cranecollision.origin = var_03.origin; + var_03.cranecollision.angles = var_03.angles; + var_03.cranecollision vehicle_jetbikesethoverforcescale(var_03); + var_03 solid(); + } + else + { + if(isdefined(var_03)) + { + var_03 delete(); + } + + return undefined; + } + + var_03 addtototalspawned(); + wait(0.5); + playfxontag(common_scripts\utility::getfx("lab_crane_arm_01_lights"),var_03,"TAG_ORIGIN"); + playfxontag(level.missileparticles.cranesparks,var_03,"TAG_ORIGIN"); + if(param_01 == 1) + { + var_04 = getcollision(level.gasmachine.cranechemcollision); + if(isdefined(var_04) && isdefined(var_04.collision)) + { + var_03.chemical_rack = spawn("script_model",var_03 gettagorigin("tag_cargo")); + var_03.exploding = 0; + var_03.chemical_rack setmodel("lab2_cannister_holder_01"); + var_03.chemical_rack linkto(var_03,"tag_cargo"); + var_03.chemical_rack addtototalspawned(); + var_03.has_chemicals = 1; + var_03.chemical_rack solid(); + thread playorangegoo(var_03.chemical_rack); + var_03.chemical_rack.damageradius = level.gasmachine.damageradius; + var_03.chemical_rack.maxdamageamount = level.gasmachine.maxdamageamount; + var_03.chemical_rack.mindamageamount = level.gasmachine.mindamageamount; + var_03.chemical_rack thread watchdamagechemical(var_03); + var_03.chemical_rack.cranechemcollision = var_04.collision; + level.gasmachine.cranechemcollision = var_04.pool; + var_03.chemical_rack.cranechemcollision thread common_scripts\utility::entity_path_disconnect_thread(1); + var_03.chemical_rack.cranechemcollision.origin = var_03.chemical_rack.origin; + var_03.chemical_rack.cranechemcollision.angles = var_03.chemical_rack.angles; + var_03.chemical_rack.cranechemcollision vehicle_jetbikesethoverforcescale(var_03.chemical_rack); + } + else + { + var_03.has_chemicals = 0; + } + } + else + { + var_03.has_chemicals = 0; + } + + var_03 scriptmodelplayanimdeltamotion("lab2_industrial_crane_anim","crane_note_track"); + return var_03; +} + +//Function Number: 38 +playorangegoo(param_00) +{ + var_01 = 3; + for(var_02 = 0;var_02 < var_01;var_02++) + { + wait(0.05); + if(isdefined(param_00) && !isremovedentity(param_00)) + { + param_00 show(); + if(var_02 == 2) + { + var_03 = playfxontag(common_scripts\utility::getfx("lab_canister_liquid_orange"),param_00,"tag_origin"); + param_00 show(); + } + + continue; + } + + return; + } +} + +//Function Number: 39 +playcranespawnvfx() +{ + var_00 = 0.05; + var_01 = level.gasmachine.particlespawnoriginoffset; + wait(0.05); + if(!isdefined(self)) + { + return; + } + + var_02 = self.origin + var_01; + wait(var_00); +} + +//Function Number: 40 +getcollision(param_00) +{ + if(param_00.size > 0) + { + var_01 = spawnstruct(); + var_01.collision = param_00[param_00.size - 1]; + param_00 = common_scripts\utility::array_remove(param_00,var_01.collision); + param_00 = common_scripts\utility::array_remove_duplicates(param_00); + var_01.pool = param_00; + return var_01; + } +} + +//Function Number: 41 +addcollisiontopool(param_00) +{ + self notify("entity_path_disconnect_thread"); + self unlink(); + self.origin = (0,0,-5000); + param_00 = common_scripts\utility::add_to_array(param_00,self); + return param_00; +} + +//Function Number: 42 +watchdamagechemical(param_00) +{ + self endon("deleted"); + self endon("death"); + self.health = 10000000; + self.fakehealth = level.gasmachine.totalchemcanhealth; + self setcandamage(1); + self setcanradiusdamage(1); + self.leaking = 0; + for(;;) + { + if(isdefined(self)) + { + self waittill("damage",var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A); + if(isdefined(var_0A)) + { + var_0B = maps\mp\_utility::strip_suffix(var_0A,"_lefthand"); + switch(var_0B) + { + case "paint_grenade_mp": + case "mp_lab_gas_explosion": + case "smoke_grenade_mp": + case "flash_grenade_mp": + case "concussion_grenade_mp": + case "mp_lab_gas": + break; + } + + if(issubstr(var_0A,"m990")) + { + if(var_05 == "MOD_PISTOL_BULLET") + { + var_01 = 50; + } + else if(var_05 == "MOD_EXPLOSIVE") + { + var_01 = 100; + } + } + } + + if(isdefined(var_05)) + { + if(maps\mp\_utility::ismeleemod(var_05) || var_05 == "MOD_TRIGGER_HURT") + { + continue; + } + } + + if(isdefined(var_02)) + { + var_02 maps\mp\gametypes\_damagefeedback::updatedamagefeedback("standard"); + } + + if(param_00.exploding == 0) + { + self.fakehealth = self.fakehealth + var_01 * -1; + if(self.fakehealth <= 0) + { + thread pauseracksystem(); + thread blowitup(param_00,var_02); + level notify("Chemical_Exploded"); + break; + } + } + else if(param_00.exploding == 1) + { + break; + } + + continue; + } + + if(!isdefined(self)) + { + break; + } + } +} + +//Function Number: 43 +timebomb(param_00) +{ + self endon("deleted"); + self endon("death"); + thread timebombparticle(level.missileparticles.sparkgreenloop); + var_01 = level.gasmachine.totalchemcanhealth * 0.05; + var_01 = int(var_01); + while(isdefined(self)) + { + wait(1); + self notify("damage",var_01,param_00); + } +} + +//Function Number: 44 +timebombparticle(param_00) +{ + thread common_scripts\utility::play_loop_sound_on_entity("mp_lab_gas_leak_loop01",(0,0,64)); + playfxontag(param_00,self,"tag_origin"); +} + +//Function Number: 45 +blowitup(param_00,param_01) +{ + param_00 endon("death"); + var_02 = 0.1; + param_00.exploding = 1; + var_03 = self.origin; + if(isdefined(self) && !isremovedentity(self)) + { + if(isdefined(self.cranechemcollision)) + { + self notify("entity_path_disconnect_thread"); + self.cranechemcollision connectpaths(); + } + } + + var_04 = level.gasmachine.explosionoffset; + var_05 = level.gasmachine.explosionangleoffset; + var_06 = thread common_scripts\utility::spawn_tag_origin(); + var_06 show(); + var_06 dontinterpolate(); + var_06.origin = param_00.origin + (0,0,var_04); + var_06.angles = var_05; + var_06 vehicle_jetbikesethoverforcescale(param_00,"tag_origin"); + playfxontag(level.missileparticles.missileexplosion,var_06,"tag_origin"); + var_06 thread deleteexplosiontag(param_00,self,0.05); + var_07 = param_00.origin + (0,0,var_04); + thread aud_play_tank_explosion(var_07); + wait(0.05); + if(isdefined(self) && !isremovedentity(self)) + { + if(isdefined(self.cranechemcollision)) + { + level.gasmachine.cranechemcollision = self.cranechemcollision addcollisiontopool(level.gasmachine.cranechemcollision); + } + + killfxontag(common_scripts\utility::getfx("lab_canister_liquid_orange"),self,"tag_origin"); + maps\mp\_utility::delaythread(var_02,::unlinkanddelete); + } + + if(isdefined(param_00) && !isremovedentity(param_00)) + { + param_00.has_chemicals = 0; + } + + wait(var_02 + 0.05); + thread missileexplosion(param_01,var_03); + thread missilechem(level.missileparticles.greensmokeloop,var_03 + (0,0,-70),param_01); +} + +//Function Number: 46 +deleteexplosiontag(param_00,param_01,param_02) +{ + param_01 common_scripts\utility::waittill_any("death","deleted"); + wait(param_02); + if(isdefined(self) && !isremovedentity(self)) + { + self delete(); + } +} + +//Function Number: 47 +killchemrackvfx() +{ + self endon("death"); + wait(0.05); + if(isdefined(self) && !isremovedentity(self)) + { + killfxontag(common_scripts\utility::getfx("lab_canister_liquid_orange"),self,"tag_origin"); + wait(0.05); + if(isdefined(self) && !isremovedentity(self)) + { + self delete(); + } + } +} + +//Function Number: 48 +unlinkanddelete() +{ + if(isdefined(self) && !isremovedentity(self)) + { + self unlink(); + self delete(); + } +} + +//Function Number: 49 +missileexplosion(param_00,param_01) +{ + if(isdefined(param_00)) + { + radiusdamage(param_01 + (0,0,-44),level.gasmachine.damageradius,level.gasmachine.maxdamageamount,level.gasmachine.mindamageamount,param_00,"MOD_EXPLOSIVE","mp_lab_gas_explosion"); + return; + } + + radiusdamage(param_01 + (0,0,-44),level.gasmachine.damageradius,level.gasmachine.maxdamageamount,level.gasmachine.mindamageamount,undefined,"MOD_EXPLOSIVE","mp_lab_gas_explosion"); +} + +//Function Number: 50 +missilechem(param_00,param_01,param_02) +{ + level.gasparticletime = level.pausetime * 0.15; + var_03 = spawnfx(param_00,param_01 + (0,0,0)); + var_04 = spawn("script_origin",param_01); + thread chemdamagethink(var_04,param_01,param_02); + wait(level.gasparticletime); + wait(5); + var_04 notify("Gas_Particle_Gone"); + wait(1); + var_04 deletedefined(); + var_03 deletedefined(); +} + +//Function Number: 51 +deletedefined() +{ + if(isdefined(self)) + { + self delete(); + } +} + +//Function Number: 52 +chemdamagethink(param_00,param_01,param_02) +{ + param_00 endon("Gas_Particle_Gone"); + for(;;) + { + if(isdefined(param_02)) + { + param_02 radiusdamage(param_01,level.gasmachine.gasrange,10,10,param_02,"MOD_TRIGGER_HURT","mp_lab_gas"); + } + else + { + radiusdamage(param_01,level.gasmachine.gasrange,10,10,undefined,"MOD_TRIGGER_HURT","mp_lab_gas"); + } + + thread findshockvictims(param_01); + wait(1); + } +} + +//Function Number: 53 +findshockvictims(param_00) +{ + var_01 = level.gasmachine.gasrange * level.gasmachine.gasrange; + foreach(var_03 in level.players) + { + if(!var_03 maps\mp\_utility::isusingremote()) + { + var_04 = distancesquared(var_03.origin,param_00); + if(var_04 < var_01 && !var_03 maps\mp\_utility::_hasperk("specialty_stun_resistance")) + { + var_03 thread shockthink(); + } + } + } +} + +//Function Number: 54 +shockthink() +{ + if(self.gastime <= 0) + { + thread fadeinoutgastrackingoverlay(); + thread rempveoverlaydeath(); + } + + self.gastime = 2; + self shellshock("mp_lab_gas",1); + while(self.gastime > 0) + { + self.gastime--; + wait(1); + } + + self notify("gas_end"); + endgastrackingoverlay(); +} + +//Function Number: 55 +rempveoverlaydeath() +{ + self endon("gas_end"); + self waittill("death"); + thread endgastrackingoverlaydeath(); +} + +//Function Number: 56 +particlespraymultiplenode(param_00,param_01) +{ + foreach(var_03 in level.gasmachine.machinesparkarray) + { + if(var_03.script_noteworthy == param_00) + { + self playsound("emt_water_spray_hard"); + var_03 thread particlespray(level.missileparticles.spraymachine,var_03.angles,param_01); + } + } + + foreach(var_03 in level.gasmachine.sprayerdriparray) + { + if(var_03.script_noteworthy == param_00) + { + var_03 thread sprayerdrip(level.missileparticles.spraymachinedrips,var_03.angles,param_01); + } + } +} + +//Function Number: 57 +startcanisterfx(param_00,param_01) +{ + wait(param_01); + var_02 = 0; + var_03 = 0.1; + while(var_02 < 4.25) + { + if(isdefined(self) && self.has_chemicals == 1) + { + var_04 = self.origin + (0,0,-8); + var_05 = self.angles + (270,0,0); + playfx(param_00,var_04,anglestoforward(var_05),anglestoup(var_05)); + wait(var_03); + var_02 = var_02 + var_03; + continue; + } + + return; + } +} + +//Function Number: 58 +particlespray(param_00,param_01,param_02) +{ + var_03 = spawnfx(param_00,self.origin,anglestoforward(param_01),anglestoup(param_01)); + triggerfx(var_03); + if(isdefined(param_02)) + { + wait(param_02); + } + + if(isdefined(var_03)) + { + var_03 delete(); + } +} + +//Function Number: 59 +sprayerdrip(param_00,param_01,param_02) +{ + if(isdefined(param_02)) + { + wait(param_02); + } + + playfx(param_00,self.origin,anglestoforward(param_01),anglestoup(param_01)); +} + +//Function Number: 60 +removerack() +{ + if(isdefined(self) && !isremovedentity(self)) + { + if(isdefined(self.chemical_rack) && !isremovedentity(self.chemical_rack)) + { + killfxontag(common_scripts\utility::getfx("lab_canister_liquid_orange"),self.chemical_rack,"tag_origin"); + } + + wait(0.05); + if(isdefined(self) && !isremovedentity(self)) + { + if(isdefined(self.chemical_rack) && !isremovedentity(self.chemical_rack)) + { + if(isdefined(self.chemical_rack.cranechemcollision)) + { + level.gasmachine.cranechemcollision = self.chemical_rack.cranechemcollision addcollisiontopool(level.gasmachine.cranechemcollision); + } + + self.chemical_rack unlink(); + self.chemical_rack delete(); + } + + level.gasmachine.cranecollision = self.cranecollision addcollisiontopool(level.gasmachine.cranecollision); + self notify("deleted"); + self delete(); + } + } + + thread removefromtotalspawned(); +} + +//Function Number: 61 +pauseracksystem() +{ + if(!isdefined(level.pausetime)) + { + level.pausetime = 20; + } + + level.gasmachine.chemical_rackpausetime = level.pausetime; + if(level.gasmachine.chemical_racksactive == 1) + { + common_scripts\utility::array_thread(level.alarmsystem.spinnerarray,::spinalarmsstart); + } + + if(level.gasmachine.chemical_racksactive == 1) + { + thread playalarmloop(); + } + else + { + return; + } + + level.gasmachine.chemical_racksactive = 0; + while(level.gasmachine.chemical_rackpausetime > 0) + { + wait(1); + level.gasmachine.chemical_rackpausetime--; + } + + common_scripts\utility::array_thread(level.alarmsystem.spinnerarray,::spinalarmsstop); + level.gasmachine.chemical_racksactive = 1; + level notify("Restarting_System"); +} + +//Function Number: 62 +spinalarmsstart() +{ + self hide(); + level thread common_scripts\_exploder::activate_clientside_exploder(200); +} + +//Function Number: 63 +spinalarmsstop() +{ + self show(); + stopclientexploder(200); +} + +//Function Number: 64 +playalarmloop() +{ + var_00 = spawn("script_origin",level.alarmsystem.alarmsoundent.origin); + var_00 playloopsound("mp_lab_alarm_shutdown01"); + wait(5); + var_00 stopsounds(); + wait(0.05); + var_00 delete(); +} + +//Function Number: 65 +creategastrackingoverlay() +{ + if(!isdefined(self.gastrackingoverlay)) + { + self.gastrackingoverlay = newclienthudelem(self); + self.gastrackingoverlay.x = 0; + self.gastrackingoverlay.y = 0; + self.gastrackingoverlay setshader("lab_gas_overlay",640,480); + self.gastrackingoverlay.alignx = "left"; + self.gastrackingoverlay.aligny = "top"; + self.gastrackingoverlay.horzalign = "fullscreen"; + self.gastrackingoverlay.vertalign = "fullscreen"; + self.gastrackingoverlay.alpha = 0; + } +} + +//Function Number: 66 +fadeinoutgastrackingoverlay() +{ + level endon("game_ended"); + self endon("gas_end"); + self endon("death"); + if(isdefined(self.gastrackingoverlay)) + { + for(;;) + { + self.gastrackingoverlay fadeovertime(0.4); + self.gastrackingoverlay.alpha = 1; + wait(0.5); + self.gastrackingoverlay fadeovertime(0.4); + self.gastrackingoverlay.alpha = 0.5; + wait(0.5); + } + } +} + +//Function Number: 67 +endgastrackingoverlay() +{ + if(isdefined(self.gastrackingoverlay)) + { + self.gastrackingoverlay fadeovertime(0.2); + self.gastrackingoverlay.alpha = 0; + } +} + +//Function Number: 68 +endgastrackingoverlaydeath() +{ + if(isdefined(self.gastrackingoverlay)) + { + self.gastrackingoverlay.alpha = 0; + } +} + +//Function Number: 69 +setup_audio() +{ +} + +//Function Number: 70 +aud_play_tank_explosion(param_00) +{ + thread maps\mp\_audio::snd_play_in_space("lab2_tank_exp",param_00); +} + +//Function Number: 71 +aud_transport_chopper() +{ + var_00 = self; + var_01 = "veh_drone_heavy_lifter_lp"; + thread maps\mp\_audio::snd_play_linked_loop(var_01,var_00); + var_00 thread aud_warning_vo(); +} + +//Function Number: 72 +aud_warning_vo() +{ + wait(32); + thread maps\mp\_audio::snd_play_linked("vo_heli_warn_ext",self); + wait(6.5); + thread maps\mp\_audio::snd_play_linked("vo_heli_warn_ext",self); +} + +//Function Number: 73 +aud_building_pre_drop() +{ + thread maps\mp\_audio::snd_play_linked("lab2_building_sway",self); +} + +//Function Number: 74 +aud_building_drop() +{ + thread maps\mp\_audio::snd_play_linked("lab2_building_drop",self); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_lab2_fx.gsc b/AW/PC/maps/mp/mp_lab2_fx.gsc new file mode 100644 index 0000000..43824b5 --- /dev/null +++ b/AW/PC/maps/mp/mp_lab2_fx.gsc @@ -0,0 +1,205 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_lab2_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 6 + * Decompile Time: 113 ms + * Timestamp: 4/22/2024 2:17:44 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["steam_canister_hide"] = loadfx("vfx/map/mp_lab/steam_canister_hide"); + level._effect["valley_fog"] = loadfx("vfx/map/mp_lab/valley_fog"); + level._effect["fog_distant_vista_snow"] = loadfx("vfx/fog/fog_distant_vista_snow"); + level._effect["freezer_capsule_frost"] = loadfx("vfx/map/mp_lab/freezer_capsule_frost"); + level._effect["lab2_crane_red_alarm_2"] = loadfx("vfx/lights/mp_lab2/lab2_crane_red_alarm_2"); + level._effect["lab_canister_liquid_orange"] = loadfx("vfx/water/lab_canister_liquid_orange"); + level._effect["ground_light_wind_snow_mesh_lp"] = loadfx("vfx/snow/ground_light_wind_snow_mesh_lp"); + level._effect["snow_cloud_fall_lrg_lp"] = loadfx("vfx/snow/snow_cloud_fall_lrg_lp"); + level._effect["snow_light_wind_gust_lrg_runner"] = loadfx("vfx/snow/snow_light_wind_gust_lrg_runner"); + level._effect["snow_light_wind_gust_runner"] = loadfx("vfx/snow/snow_light_wind_gust_runner"); + level._effect["snow_light_wind_gust_a"] = loadfx("vfx/snow/snow_light_wind_gust_a"); + level._effect["vertical_light_wind_snow_runner"] = loadfx("vfx/snow/vertical_light_wind_snow_runner"); + level._effect["ground_snow_light_wind_runner"] = loadfx("vfx/snow/ground_snow_light_wind_runner"); + level._effect["roof_snow_hvy_wind_lp"] = loadfx("vfx/snow/roof_snow_hvy_wind_lp"); + level._effect["light_dust_particles_2"] = loadfx("vfx/dust/light_dust_particles_2"); + level._effect["ground_snow_hvy_wind_lrg_lp"] = loadfx("vfx/snow/ground_snow_hvy_wind_lrg_lp"); + level._effect["ground_snow_hvy_wind_flat_wide_lp"] = loadfx("vfx/snow/ground_snow_hvy_wind_flat_wide_lp"); + level._effect["ground_snow_hvy_wind_flat_lp"] = loadfx("vfx/snow/ground_snow_hvy_wind_flat_lp"); + level._effect["heavy_lift_chopper_rotor"] = loadfx("vfx/unique/heavy_lift_chopper_rotor"); + level._effect["light_welding_sparks_room_lrg"] = loadfx("vfx/lights/light_welding_sparks_room_lrg"); + level._effect["heli_dust_lab_heavy_chopper"] = loadfx("vfx/treadfx/heli_dust_lab_heavy_chopper"); + level._effect["heavy_lift_chopper_engine"] = loadfx("vfx/vehicle/heavy_lift_chopper_engine"); + level._effect["clamp_release_puff"] = loadfx("vfx/smoke/clamp_release_puff"); + level._effect["crane_sparks"] = loadfx("vfx/sparks/crane_scrape_sparks_looping"); + level._effect["falling_pipe_water_trickle_lp"] = loadfx("vfx/water/falling_pipe_water_trickle_lp"); + level._effect["aircraft_light_wingtip_green"] = loadfx("vfx/lights/aircraft_light_wingtip_green_large"); + level._effect["aircraft_light_wingtip_red"] = loadfx("vfx/lights/aircraft_light_wingtip_red_large"); + level._effect["aircraft_light_red_blink"] = loadfx("vfx/lights/aircraft_light_red_blink_large"); + level._effect["aircraft_light_white_blink"] = loadfx("vfx/lights/aircraft_light_white_blink_large"); + level._effect["building_drop_smoke"] = loadfx("vfx/map/mp_lab/building_drop_smoke"); + level._effect["hologram_bio_lab_canister_child_tablegfx"] = loadfx("vfx/unique/hologram_bio_lab_canister_child_tablegfx"); + level._effect["hologram_lab2_chemical_vat_child_tablegfx"] = loadfx("vfx/unique/hologram_lab2_chemical_vat_child_tablegfx"); + level._effect["lab_chemical_vat_bubbles"] = loadfx("vfx/water/lab_chemical_vat_bubbles"); + level._effect["lab_machine_bubbles"] = loadfx("vfx/water/lab_machine_bubbles"); + level._effect["killstreak_scanner_beam_vertical"] = loadfx("vfx/map/mp_lab/killstreak_scanner_beam_vertical"); + level._effect["killstreak_scanner_beam_horizontal"] = loadfx("vfx/map/mp_lab/killstreak_scanner_beam_horizontal"); + level._effect["falling_pipe_water_trickle_lp"] = loadfx("vfx/water/falling_pipe_water_trickle_lp"); + level._effect["falling_water_drip_line_runner_fast"] = loadfx("vfx/water/falling_water_drip_line_runner_fast"); + level._effect["snow_tornado_s_runner"] = loadfx("vfx/snow/snow_tornado_s_runner"); + level._effect["snow_blown_off_rocks_lp"] = loadfx("vfx/snow/snow_blown_off_rocks_lp"); + level._effect["hologram_bio_lab_canister"] = loadfx("vfx/unique/hologram_bio_lab_canister"); + level._effect["hologram_lab_chemical_vat"] = loadfx("vfx/unique/hologram_lab_chemical_vat"); + level._effect["steam_building_exhaust_windy"] = loadfx("vfx/steam/steam_building_exhaust_windy"); + level._effect["generator_steam_windy_sm"] = loadfx("vfx/steam/generator_steam_windy_sm"); + level._effect["steam_vent_burst_runner"] = loadfx("vfx/steam/steam_vent_burst_runner"); + level._effect["ground_snow_drifts_flat_lp"] = loadfx("vfx/snow/ground_snow_drifts_flat_lp"); + level._effect["plastic_shreds_hanging_a"] = loadfx("vfx/wind/plastic_shreds_hanging_a"); + level._effect["plastic_shreds_hanging_b"] = loadfx("vfx/wind/plastic_shreds_hanging_b"); + level._effect["plastic_shreds_hanging_c"] = loadfx("vfx/wind/plastic_shreds_hanging_c"); + level._effect["plastic_shreds_hanging_d"] = loadfx("vfx/wind/plastic_shreds_hanging_d"); + level._effect["plastic_shreds_hanging_e"] = loadfx("vfx/wind/plastic_shreds_hanging_e"); + level._effect["generator_steam_windy"] = loadfx("vfx/steam/generator_steam_windy"); + level._effect["plastic_shreds_sheet_a"] = loadfx("vfx/wind/plastic_shreds_sheet_a"); + level._effect["plastic_shreds_sheet_b"] = loadfx("vfx/wind/plastic_shreds_sheet_b"); + level._effect["ground_snow_hvy_wind_lp"] = loadfx("vfx/snow/ground_snow_hvy_wind_lp"); + level._effect["snow_cloud_lrg_lp"] = loadfx("vfx/snow/snow_cloud_lrg_lp"); + level._effect["steam_xs_vent_slow"] = loadfx("vfx/steam/steam_xs_vent_slow"); + level._effect["cloud_shadows_lrg"] = loadfx("vfx/cloud/cloud_shadows_lrg"); + level._effect["frost_patch"] = loadfx("vfx/fog/frost_patch"); + level._effect["whispy_clouds_hemisphere"] = loadfx("vfx/cloud/clouds_hemisphere_lab2"); + level._effect["welding_sparks"] = loadfx("vfx/sparks/welding_sparks_oneshot"); + level._effect["falling_water_drip_100x100_runner"] = loadfx("vfx/water/falling_water_drip_100x100_runner"); + level._effect["falling_pipe_water_trickle_lp"] = loadfx("vfx/water/falling_pipe_water_trickle_lp"); + level._effect["falling_water_drip_line_runner_fast"] = loadfx("vfx/water/falling_water_drip_line_runner_fast"); + level._effect["snow_tornado_s_runner"] = loadfx("vfx/snow/snow_tornado_s_runner"); + level._effect["snow_blown_off_rocks_lp"] = loadfx("vfx/snow/snow_blown_off_rocks_lp"); + level._effect["electrical_sparks_runner"] = loadfx("vfx/explosion/electrical_sparks_runner"); + level._effect["light_fluorescent_smoke"] = loadfx("vfx/lights/light_fluorescent_smoke"); + level._effect["lights_conelight_smokey"] = loadfx("vfx/lights/lights_conelight_smokey"); + level._effect["light_spotlight_cone_haze"] = loadfx("vfx/lights/light_spotlight_cone_haze"); + level._effect["light_godray_beam_2"] = loadfx("vfx/lights/light_godray_beam_2"); + level._effect["lights_conelight_smokey"] = loadfx("vfx/lights/lights_conelight_smokey"); + level._effect["wind_blowing_debris"] = loadfx("vfx/wind/wind_blowing_debris"); + level._effect["wpn_crn_rm_spt_flare"] = loadfx("vfx/lights/mp_lab2/wpn_crn_rm_spt_flare"); + level._effect["conveyer_bldg_spt_flare"] = loadfx("vfx/lights/mp_lab2/conveyer_bldg_spt_flare"); + level._effect["lab_crane_arm_01_lights"] = loadfx("vfx/props/lab_crane_arm_01_lights"); + level._effect["lab_int_win03_whole128_glow"] = loadfx("vfx/lensflare/lab_int_win03_whole128_glow"); + level._effect["lab_int_doorframe_trans_glow"] = loadfx("vfx/lensflare/lab_int_doorframe_trans_glow"); + level._effect["lab_int_win_whole128_glw_black"] = loadfx("vfx/lights/mp_lab2/lab_int_win_whole128_glw_black"); + level._effect["fx_sunflare_lab2"] = loadfx("vfx/lensflare/fx_sunflare_lab2"); + level._effect["light_point_green"] = loadfx("vfx/lights/light_point_green"); + level._effect["light_point_green_sm"] = loadfx("vfx/lights/light_point_green_sm"); + level._effect["lab2_crane_red_alarm"] = loadfx("vfx/lights/mp_lab2/lab2_crane_red_alarm"); + thread setupholograms(); +} + +//Function Number: 2 +setupholograms() +{ + var_00 = 15; + wait(0.5); + var_01 = getent("canister_holo","targetname"); + if(isdefined(var_01)) + { + var_02 = var_01 common_scripts\utility::spawn_tag_origin(); + if(isdefined(var_01)) + { + var_02 show(); + wait(0.5); + var_02 thread maps\mp\mp_lab2::rotatemeshes(16); + playfxontag(common_scripts\utility::getfx("hologram_bio_lab_canister"),var_02,"tag_origin"); + var_03 = spawnfx(common_scripts\utility::getfx("hologram_bio_lab_canister_child_tablegfx"),var_01.origin,(0,0,270)); + triggerfx(var_03); + for(;;) + { + wait(var_00); + stopfxontag(common_scripts\utility::getfx("hologram_bio_lab_canister"),var_02,"tag_origin"); + var_03 delete(); + playfxontag(common_scripts\utility::getfx("hologram_lab_chemical_vat"),var_02,"tag_origin"); + var_04 = spawnfx(common_scripts\utility::getfx("hologram_lab2_chemical_vat_child_tablegfx"),var_01.origin,(0,0,270)); + triggerfx(var_04); + var_05 = getscriptablearray("hologram_blue_light","targetname"); + foreach(var_07 in var_05) + { + var_07 setscriptablepartstate("bluelgt","blue_off"); + } + + wait(0.1); + var_05 = getscriptablearray("hologram_yellow_light","targetname"); + foreach(var_07 in var_05) + { + var_07 setscriptablepartstate("yellgt","yel_on"); + } + + wait(var_00); + stopfxontag(common_scripts\utility::getfx("hologram_lab_chemical_vat"),var_02,"tag_origin"); + var_04 delete(); + playfxontag(common_scripts\utility::getfx("hologram_bio_lab_canister"),var_02,"tag_origin"); + var_03 = spawnfx(common_scripts\utility::getfx("hologram_bio_lab_canister_child_tablegfx"),var_01.origin,(0,0,270)); + triggerfx(var_03); + var_05 = getscriptablearray("hologram_yellow_light","targetname"); + foreach(var_07 in var_05) + { + var_07 setscriptablepartstate("yellgt","yel_off"); + } + + wait(0.1); + var_05 = getscriptablearray("hologram_blue_light","targetname"); + foreach(var_07 in var_05) + { + var_07 setscriptablepartstate("bluelgt","blue_on"); + } + } + } + } +} + +//Function Number: 3 +startheavylifterfx() +{ + playfxontag(common_scripts\utility::getfx("heavy_lift_chopper_rotor"),self,"TAG_SPIN_MAIN_ROTOR_L"); + playfxontag(common_scripts\utility::getfx("heavy_lift_chopper_rotor"),self,"TAG_SPIN_MAIN_ROTOR_R"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("heavy_lift_chopper_engine"),self,"wingWrist_L"); + playfxontag(common_scripts\utility::getfx("heavy_lift_chopper_engine"),self,"wingWrist_R"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("aircraft_light_wingtip_green"),self,"TAG_LIGHT_WING_L"); + playfxontag(common_scripts\utility::getfx("aircraft_light_wingtip_green"),self,"TAG_LIGHT_TAIL_L"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("aircraft_light_wingtip_red"),self,"TAG_LIGHT_WING_R"); + playfxontag(common_scripts\utility::getfx("aircraft_light_wingtip_red"),self,"TAG_LIGHT_TAIL_R"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("aircraft_light_red_blink"),self,"TAG_LIGHT_BELLY"); + playfxontag(common_scripts\utility::getfx("aircraft_light_white_blink"),self,"TAG_LIGHT_CRANE_L"); + playfxontag(common_scripts\utility::getfx("aircraft_light_white_blink"),self,"TAG_LIGHT_CRANE_R"); +} + +//Function Number: 4 +startheligroundfx() +{ + playfxontag(common_scripts\utility::getfx("heli_dust_lab_heavy_chopper"),self,"TAG_HELIGROUNDFX_L"); + playfxontag(common_scripts\utility::getfx("heli_dust_lab_heavy_chopper"),self,"TAG_HELIGROUNDFX_R"); +} + +//Function Number: 5 +stopheligroundfx() +{ + stopfxontag(common_scripts\utility::getfx("heli_dust_lab_heavy_chopper"),self,"TAG_HELIGROUNDFX_L"); + stopfxontag(common_scripts\utility::getfx("heli_dust_lab_heavy_chopper"),self,"TAG_HELIGROUNDFX_R"); +} + +//Function Number: 6 +clampreleasefx() +{ + playfxontag(common_scripts\utility::getfx("clamp_release_puff"),self,"cableClawFR"); + wait(0.1); + playfxontag(common_scripts\utility::getfx("clamp_release_puff"),self,"cableClawFL"); + wait(0.1); + playfxontag(common_scripts\utility::getfx("clamp_release_puff"),self,"cableClawKR"); + wait(0.1); + playfxontag(common_scripts\utility::getfx("clamp_release_puff"),self,"cableClawKL"); +} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/agents/_agents_gametype_vlobby.gsc b/AW/PC/maps/mp/mp_lab2_precache.gsc similarity index 74% rename from AW/PC/MP/maps/mp/agents/_agents_gametype_vlobby.gsc rename to AW/PC/maps/mp/mp_lab2_precache.gsc index b80251f..630bac1 100644 --- a/AW/PC/MP/maps/mp/agents/_agents_gametype_vlobby.gsc +++ b/AW/PC/maps/mp/mp_lab2_precache.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\agents\_agents_gametype_vlobby.gsc + * Decompiled File: mp\mp_lab2_precache.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 * Decompile Time: 31 ms - * Timestamp: 10/27/2023 1:40:59 AM + * Timestamp: 4/22/2024 2:17:44 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/mp/mp_lair.gsc b/AW/PC/maps/mp/mp_lair.gsc new file mode 100644 index 0000000..089104f --- /dev/null +++ b/AW/PC/maps/mp/mp_lair.gsc @@ -0,0 +1,535 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_lair.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 20 + * Decompile Time: 346 ms + * Timestamp: 4/22/2024 2:17:45 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.callbackstartgametype = ::lair_callbackstartgametype; + maps\mp\mp_lair_precache::main(); + maps\createart\mp_lair_art::main(); + maps\mp\mp_lair_fx::main(); + maps\mp\_load::main(); + maps\mp\mp_lair_lighting::main(); + maps\mp\mp_lair_aud::main(); + maps\mp\_compass::setupminimap("compass_map_mp_lair"); + maps\mp\_water::init(); + level.osplightset = "mp_lair_osp"; + level.warbirdlightset = "mp_lair_warbird"; + level.vulcanlightset = "mp_lair_osp"; + level.zone_height = 90; + thread overridevulcanheight(); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + precacheitem("iw5_dlcgun12loot8_mp"); + level dynamicevent_init(); + level thread maps\mp\_dynamic_events::dynamicevent(::startdynamicevent,::enddynamicevent,::enddynamicevent); + level.orbitalsupportoverridefunc = ::lairpaladinoverrides; + level thread onplayerconnect(); + thread aud_handle_fireworks_sfx(); +} + +//Function Number: 2 +lair_callbackstartgametype() +{ + maps\mp\gametypes\_gamelogic::callback_startgametype(); + common_scripts\_bcs_location_trigs_dlc::bcs_location_trigs_dlc_init(); +} + +//Function Number: 3 +dynamicevent_init() +{ + level endon("game_ended"); + if(level.gametype == "infect") + { + maps\mp\_dynamic_events::setdynamiceventstartpercent(0.2); + } + else if(level.gametype == "twar") + { + maps\mp\_dynamic_events::setdynamiceventstartpercent(0.25); + } + else if(level.gametype == "gun") + { + maps\mp\_dynamic_events::setdynamiceventstartpercent(0.3); + } + else + { + maps\mp\_dynamic_events::setdynamiceventstartpercent(0.4); + } + + setdvar("scr_dynamic_event_start_perc",level.dynamicevent["start_percent"]); + thread init_towers(); +} + +//Function Number: 4 +startdynamicevent() +{ + level endon("game_ended"); + thread monitor_towers(); + foreach(var_01 in level.players) + { + if(var_01.team == "axis") + { + var_01 playlocalsound("at_anr0_ks_lair_plasma_activate"); + continue; + } + + if(var_01.team == "allies") + { + var_01 playlocalsound("se_anr0_ks_lair_plasma_activate"); + } + } + + wait(15); + level.teslacoilsactivated = 1; + thread maps\mp\mp_lair_fx::start_vista_vfx(); + wait(0.8); + foreach(var_01 in level.players) + { + if(var_01.team == "axis") + { + var_01 playlocalsound("at_anr0_ks_lair_plasma_on"); + continue; + } + + if(var_01.team == "allies") + { + var_01 playlocalsound("se_anr0_ks_lair_plasma_on"); + } + } +} + +//Function Number: 5 +enddynamicevent() +{ + foreach(var_01 in level.tesla_towers) + { + var_01 notify("end_dynamic_event"); + level notify("aud_stop_dynamic_event_loops"); + var_01 setcandamage(0); + var_01.chargingfx hide(); + } +} + +//Function Number: 6 +onplayerconnect() +{ + for(;;) + { + level waittill("connected",var_00); + var_00 thread onplayerspawned(); + var_00 thread onplayerslam(); + } +} + +//Function Number: 7 +onplayerspawned() +{ + self endon("disconnect"); + for(;;) + { + self waittill("spawned_player"); + thread detectshockdeath(); + } +} + +//Function Number: 8 +onplayerslam() +{ + self endon("Disconnect"); + for(;;) + { + self waittill("ground_slam",var_00); + var_01 = getdvarfloat("ground_slam_min_height",maps\mp\_exo_suit::getgroundslamminheight()); + var_02 = getdvarfloat("ground_slam_max_height",maps\mp\_exo_suit::getgroundslammaxheight()); + var_03 = getdvarfloat("ground_slam_min_radius",maps\mp\_exo_suit::getgroundslamminradius()); + var_04 = getdvarfloat("ground_slam_max_radius",maps\mp\_exo_suit::getgroundslammaxradius()); + if(var_00 < var_01) + { + continue; + } + + var_05 = var_00 - var_01 / var_02 - var_01; + var_05 = clamp(var_05,0,1); + var_06 = var_04 - var_03 * var_05 + var_03; + foreach(var_08 in level.tesla_towers) + { + if(distance2dsquared(var_08.origin,self.origin) <= var_06 * var_06) + { + if(var_08.script_noteworthy == "lamp_08") + { + var_09 = var_08.origin + (0,0,65); + var_0A = self gettagorigin("J_SPINELOWER"); + if(sighttracepassed(var_09,var_0A,0,var_08,self,0)) + { + var_08 dodamage(1,self.origin,self,self,"MOD_TRIGGER_HURT","boost_slam_mp"); + } + } + else + { + var_08 dodamage(1,self.origin,self,self,"MOD_TRIGGER_HURT","boost_slam_mp"); + } + + break; + } + } + } +} + +//Function Number: 9 +detectshockdeath() +{ + self endon("disconnect"); + self waittill("death",var_00,var_01,var_02); + if(isdefined(var_02) && var_02 == "iw5_dlcgun12loot8_mp") + { + thread playshockdeathfx(); + } +} + +//Function Number: 10 +playshockdeathfx() +{ + playfx(common_scripts\utility::getfx("lightning_bolt_impact"),self.body gettagorigin("J_SpineUpper"),anglestoforward(self.body gettagangles("J_SpineUpper")),anglestoup(self.body gettagangles("J_SpineUpper"))); + playfxontag(common_scripts\utility::getfx("shocked_corpse"),self.body,"j_spineupper"); +} + +//Function Number: 11 +init_towers() +{ + level.tesla_towers = getentarray("tesla_tower","targetname"); + foreach(var_01 in level.tesla_towers) + { + var_01.chargingfx = spawnfx(common_scripts\utility::getfx("tesla_coil_charging"),var_01.origin,anglestoforward(var_01.angles),anglestoup(var_01.angles)); + var_01.chargingfx hide(); + var_01.dischargingfx = spawnfx(common_scripts\utility::getfx("tesla_coil_discharging"),var_01.origin,anglestoforward(var_01.angles),anglestoup(var_01.angles)); + var_01.dischargingfx hide(); + var_01 setdamagecallbackon(1); + var_01.damagecallback = ::tower_processdamagetaken; + } +} + +//Function Number: 12 +tower_processdamagetaken(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B) +{ + self notify("tower_damage",param_00,param_01,param_05,param_04); +} + +//Function Number: 13 +monitor_towers() +{ + foreach(var_01 in level.tesla_towers) + { + var_01 thread tower_lifetime(); + wait(0.1); + } +} + +//Function Number: 14 +tower_lifetime() +{ + self endon("end_dynamic_event"); + var_00 = 15; + self.chargingfx show(); + triggerfx(self.chargingfx); + wait(var_00); + for(;;) + { + thread maps\mp\_audio::snd_play_linked("mp_lair_murder_spark_powered_up",self); + var_01 = maps\mp\_audio::snd_play_loop_in_space("mp_lair_murder_lamp_lp",self.origin,"aud_stop_dynamic_event_loops"); + var_02 = maps\mp\_audio::snd_play_loop_in_space("mp_lair_murder_lamp_lp_hi",self.origin,"aud_stop_dynamic_event_loops"); + self setcandamage(1); + self.health = 99999; + self waittill("tower_damage",var_03,var_04,var_05,var_06); + if(isdefined(var_05)) + { + switch(var_05) + { + case "killstreakmahem_mp": + if(isdefined(var_04) && isdefined(var_04.turret)) + { + self.killcament = var_04.turret; + } + break; + + case "killstreak_strike_missile_gas_mp": + case "remote_energy_turret_mp": + case "sentry_minigun_mp": + if(isdefined(var_03)) + { + self.killcament = var_03; + } + break; + + case "drone_assault_remote_turret_mp": + if(isdefined(var_03.owner)) + { + var_04 = var_03.owner; + } + + break; + + case "warbird_remote_turret_mp": + case "warbird_missile_mp": + case "ugv_missile_mp": + case "orbital_carepackage_pod_plane_mp": + case "stealth_bomb_mp": + case "orbital_carepackage_droppod_mp": + if(isdefined(var_03) && isdefined(var_03.killcament)) + { + self.killcament = var_03.killcament; + } + break; + + case "stun_grenade_var_mp_lefthand": + case "emp_grenade_var_mp_lefthand": + case "stun_grenade_mp_lefthand": + case "emp_grenade_mp_lefthand": + case "iw5_microdronelauncher_mp": + case "frag_grenade_mp_lefthand": + case "semtex_mp_lefthand": + case "emp_grenade_var_mp": + case "stun_grenade_var_mp": + case "emp_grenade_mp": + case "stun_grenade_mp": + case "semtex_mp": + case "frag_grenade_mp": + if(isdefined(var_06) && var_06 == "MOD_IMPACT") + { + break; + } + break; + + case "paint_grenade_var_mp_lefthand": + case "paint_grenade_mp_lefthand": + case "paint_grenade_killstreak_mp": + case "paint_missile_killstreak_mp": + case "smoke_grenade_var_mp_lefthand": + case "smoke_grenade_mp_lefthand": + case "smoke_grenade_var_mp": + case "paint_grenade_var_mp": + case "smoke_grenade_mp": + case "paint_grenade_mp": + break; + + default: + break; + } + } + + self setcandamage(0); + thread aud_murder_zap_seq(); + self playsound("mp_lair_murder_spark_zap"); + self playsound("mp_lair_murder_lamp_sweeps"); + if(isdefined(var_01)) + { + var_01 stopsounds(); + wait(0.05); + var_01 delete(); + } + + if(isdefined(var_02)) + { + var_02 stopsounds(); + wait(0.05); + var_02 delete(); + } + + self.chargingfx hide(); + thread start_shock(var_04); + self waittill("tower_shock_done"); + self.chargingfx show(); + triggerfx(self.chargingfx); + wait(var_00); + } +} + +//Function Number: 15 +aud_murder_zap_seq() +{ + var_00 = randomfloatrange(0.1,0.3); + var_01 = randomintrange(7,10); + for(var_02 = 0;var_02 < var_01;var_02++) + { + self playsound("mp_lair_murder_spark_zap"); + wait(var_00); + } +} + +//Function Number: 16 +start_shock(param_00) +{ + level.shock_time = 2.2; + var_01 = 0.2; + var_02 = self.radius * self.radius; + var_03 = self.origin + (0,0,115); + var_04 = common_scripts\utility::spawn_tag_origin(); + var_04.origin = var_03; + var_04.angles = (270,0,0); + var_04 show(); + playfxontag(common_scripts\utility::getfx("tesla_lightning_loop"),var_04,"tag_origin"); + self.dischargingfx show(); + triggerfx(self.dischargingfx); + thread maps\mp\_audio::snd_play_linked("mp_lair_murder_spark_zap",self); + for(var_05 = 0;var_05 < level.shock_time;var_05 = var_05 + var_01) + { + var_06 = []; + var_07 = []; + var_08 = []; + foreach(var_0A in level.players) + { + if((isdefined(param_00.team) && var_0A.team != param_00.team) || var_0A == param_00) + { + if(var_0A.health > 0 && distancesquared(var_0A.origin,self.origin) <= var_02) + { + var_06[var_06.size] = var_0A; + } + } + } + + if(isdefined(level.ugvs)) + { + foreach(var_0D in level.ugvs) + { + if(var_0D.team != param_00.team || var_0D.owner == param_00) + { + if(var_0D.damagetaken < var_0D.maxhealth && distancesquared(var_0D.origin,self.origin) <= var_02) + { + var_07[var_07.size] = var_0D; + } + } + } + } + + if(isdefined(level.trackingdrones)) + { + foreach(var_0D in level.trackingdrones) + { + if(var_0D.team != param_00.team || var_0D.owner == param_00) + { + if(var_0D.damagetaken < var_0D.maxhealth && distancesquared(var_0D.origin,self.origin) <= var_02) + { + var_07[var_07.size] = var_0D; + } + } + } + } + + if(isdefined(level.turrets)) + { + foreach(var_12 in level.turrets) + { + if(var_12.team != param_00.team || var_12.owner == param_00) + { + if(var_12.health > 0 && distancesquared(var_12.origin,self.origin) <= var_02) + { + var_08[var_08.size] = var_12; + } + } + } + } + + foreach(var_15 in var_06) + { + var_16 = var_15 gettagorigin("j_neck"); + if(sighttracepassed(var_03,var_16,0,self,var_15,0)) + { + var_15 dodamage(1000,var_03,param_00,self,"MOD_EXPLOSIVE","iw5_dlcgun12loot8_mp","none"); + } + } + + foreach(var_0D in var_07) + { + var_16 = var_0D.origin; + var_19 = var_0D.angles; + if(sighttracepassed(var_03,var_16,0,self,var_0D,0)) + { + playfx(common_scripts\utility::getfx("lightning_bolt_impact"),var_16,anglestoforward(var_19),anglestoup(var_19)); + var_0D dodamage(1000,var_03,param_00,self,"MOD_EXPLOSIVE","iw5_dlcgun12loot8_mp","none"); + } + } + + foreach(var_12 in var_08) + { + var_16 = var_12 gettagorigin("tag_aim_animated"); + var_19 = var_12 gettagangles("tag_aim_animated"); + if(sighttracepassed(var_03,var_16,0,self,var_12,0)) + { + var_12 dodamage(1000,var_03,param_00,self,"MOD_EXPLOSIVE","iw5_dlcgun12loot8_mp","none"); + playfx(common_scripts\utility::getfx("lightning_bolt_impact"),var_16,anglestoforward(var_19),anglestoup(var_19)); + playfxontag(common_scripts\utility::getfx("shocked_corpse"),var_12,"tag_aim_animated"); + } + } + + wait(var_01); + } + + wait(0.1); + var_04 delete(); + self.dischargingfx hide(); + self notify("tower_shock_done"); +} + +//Function Number: 17 +lairpaladinoverrides() +{ + level.orbitalsupportoverrides.spawnheight = 9200; + level.orbitalsupportoverrides.spawnradius = 8000; + level.orbitalsupportoverrides.spawnangle = 182; +} + +//Function Number: 18 +overridevulcanheight() +{ + wait(1); + if(!isdefined(level.orbitallaseroverrides)) + { + level.orbitallaseroverrides = spawnstruct(); + } + + level.orbitallaseroverrides.spawnheight = 2800; +} + +//Function Number: 19 +disconnect_lamp_nodes(param_00) +{ + var_01 = getnodearray(param_00,"script_noteworthy"); + var_02 = getnodearray(param_00,"script_noteworthy"); + for(var_03 = 0;var_03 < var_01.size;var_03++) + { + var_01[var_03] disconnectnode(); + } + + wait 0.05; + for(var_03 = 0;var_03 < var_02.size;var_03++) + { + var_02[var_03] disconnectnode(); + } + + wait 0.05; + wait(level.shock_time); + for(var_03 = 0;var_03 < var_01.size;var_03++) + { + var_01[var_03] connectnode(); + } + + wait 0.05; + for(var_03 = 0;var_03 < var_02.size;var_03++) + { + var_02[var_03] connectnode(); + } +} + +//Function Number: 20 +aud_handle_fireworks_sfx() +{ + level waittill("aud_fireworks"); + var_00 = spawn("script_origin",(0,0,0)); + var_00 playloopsound("amb_mp_lair_fworks"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_lair_aud.gsc b/AW/PC/maps/mp/mp_lair_aud.gsc new file mode 100644 index 0000000..433c101 --- /dev/null +++ b/AW/PC/maps/mp/mp_lair_aud.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_lair_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 2:17:46 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_lair_fx.gsc b/AW/PC/maps/mp/mp_lair_fx.gsc new file mode 100644 index 0000000..19025ce --- /dev/null +++ b/AW/PC/maps/mp/mp_lair_fx.gsc @@ -0,0 +1,162 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_lair_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 11 + * Decompile Time: 189 ms + * Timestamp: 4/22/2024 2:17:47 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["mp_lair_jumping_fountain_ct_nozzle"] = loadfx("vfx/map/mp_lair/mp_lair_jumping_fountain_ct_nozzle"); + level._effect["mp_lair_jumping_fountain_nozzle"] = loadfx("vfx/map/mp_lair/mp_lair_jumping_fountain_nozzle"); + level._effect["mp_lair_jumping_fountain_splash"] = loadfx("vfx/map/mp_lair/mp_lair_jumping_fountain_splash"); + level._effect["mp_lair_godray_vista_dusty"] = loadfx("vfx/map/mp_lair/mp_lair_godray_vista_dusty"); + level._effect["mp_lair_boat_foam"] = loadfx("vfx/map/mp_lair/mp_lair_boat_foam"); + level._effect["mp_lair_big_fountain_geyser_burst"] = loadfx("vfx/map/mp_lair/mp_lair_big_fountain_geyser_burst"); + level._effect["mp_lair_jumping_fountain_center"] = loadfx("vfx/map/mp_lair/mp_lair_jumping_fountain_center"); + level._effect["mp_lair_jumping_fountain"] = loadfx("vfx/map/mp_lair/mp_lair_jumping_fountain"); + level._effect["mp_lair_roof_smoke"] = loadfx("vfx/map/mp_lair/mp_lair_roof_smoke"); + level._effect["mp_lair_fountian_geyser"] = loadfx("vfx/map/mp_lair/mp_lair_fountian_geyser"); + level._effect["mp_lair_fountian_foam"] = loadfx("vfx/map/mp_lair/mp_lair_fountian_foam"); + level._effect["fountain_water_distortion"] = loadfx("vfx/map/mp_lair/fountain_water_distortion"); + level._effect["mp_lair_searchlights_far"] = loadfx("vfx/map/mp_lair/mp_lair_searchlights_far"); + level._effect["mp_lair_ambient_boats_idle"] = loadfx("vfx/map/mp_lair/mp_lair_ambient_boats_idle"); + level._effect["insects_flies_landing"] = loadfx("vfx/animal/dlc/insects_flies_landing"); + level._effect["mp_lair_clouds_oriented_vista"] = loadfx("vfx/map/mp_lair/mp_lair_clouds_oriented_vista"); + level._effect["mp_lair_fountain_coins"] = loadfx("vfx/map/mp_lair/mp_lair_fountain_coins"); + level._effect["lib_birds_runner"] = loadfx("vfx/map/mp_liberty/lib_birds_runner"); + level._effect["mp_lair_boat_blinking_light_01"] = loadfx("vfx/map/mp_lair/mp_lair_boat_blinking_light_01"); + level._effect["mp_lair_falling_vista_needles"] = loadfx("vfx/map/mp_lair/mp_lair_falling_vista_needles"); + level._effect["mp_lair_boat_blinking_light"] = loadfx("vfx/map/mp_lair/mp_lair_boat_blinking_light"); + level._effect["mp_lair_vista_fireworks_far"] = loadfx("vfx/map/mp_lair/mp_lair_vista_fireworks_far"); + level._effect["mp_lair_ambient_boats"] = loadfx("vfx/map/mp_lair/mp_lair_ambient_boats"); + level._effect["mp_lair_big_fountain_arcs"] = loadfx("vfx/map/mp_lair/mp_lair_big_fountain_arcs"); + level._effect["mp_lair_ground_loop_blue_runner"] = loadfx("vfx/map/mp_lair/mp_lair_ground_loop_blue_runner"); + level._effect["mp_lair_big_fountain_splash"] = loadfx("vfx/map/mp_lair/mp_lair_big_fountain_splash"); + level._effect["mp_lair_ground_grassdirt_loop_blue"] = loadfx("vfx/map/mp_lair/mp_lair_ground_grassdirt_loop_blue"); + level._effect["mp_lair_building_blink"] = loadfx("vfx/map/mp_lair/mp_lair_building_blink"); + level._effect["mp_lair_light_flares"] = loadfx("vfx/map/mp_lair/mp_lair_light_flares"); + level._effect["mp_lair_vista_fireworks"] = loadfx("vfx/map/mp_lair/mp_lair_vista_fireworks"); + level._effect["mp_lair_big_fountain"] = loadfx("vfx/map/mp_lair/mp_lair_big_fountain"); + level._effect["mp_lair_fountian_splash_top_line_runner"] = loadfx("vfx/map/mp_lair/mp_lair_fountian_splash_top_line_runner"); + level._effect["mp_lair_pedal_loop_blue_runner"] = loadfx("vfx/map/mp_lair/mp_lair_pedal_loop_blue_runner"); + level._effect["insects_flit_moths_complex"] = loadfx("vfx/animal/dlc/insects_flit_moths_complex"); + level._effect["mp_lair_ambient_air_dust"] = loadfx("vfx/map/mp_lair/mp_lair_ambient_air_dust"); + level._effect["mp_lair_ground_loop_red_runner"] = loadfx("vfx/map/mp_lair/mp_lair_ground_loop_red_runner"); + level._effect["mp_lair_ground_loop_purple_runner"] = loadfx("vfx/map/mp_lair/mp_lair_ground_loop_purple_runner"); + level._effect["cli_insect_dragonfly_runner"] = loadfx("vfx/map/mp_climate/cli_insect_dragonfly_runner"); + level._effect["mp_lair_fountian_splash_line_runner"] = loadfx("vfx/map/mp_lair/mp_lair_fountian_splash_line_runner"); + level._effect["mp_lair_speaker_distort_sml"] = loadfx("vfx/map/mp_lair/mp_lair_speaker_distort_sml"); + level._effect["mp_bigb_searchlights"] = loadfx("vfx/map/mp_bigben/mp_bigb_searchlights"); + level._effect["mp_lair_ac_smoke"] = loadfx("vfx/map/mp_lair/mp_lair_ac_smoke"); + level._effect["mp_lair_pedal_loop_red_runner"] = loadfx("vfx/map/mp_lair/mp_lair_pedal_loop_red_runner"); + level._effect["mp_lair_pedal_loop_purple_runner"] = loadfx("vfx/map/mp_lair/mp_lair_pedal_loop_purple_runner"); + level._effect["dust_falling_runner"] = loadfx("vfx/dust/dust_falling_runner"); + level._effect["mp_lair_vista_sand_fog"] = loadfx("vfx/map/mp_lair/mp_lair_vista_sand_fog"); + level._effect["mp_lair_speaker_distort"] = loadfx("vfx/map/mp_lair/mp_lair_speaker_distort"); + level._effect["mp_lair_ambient_needles_runner"] = loadfx("vfx/map/mp_lair/mp_lair_ambient_needles_runner"); + level._effect["mp_ground_ambient_sitting_dust"] = loadfx("vfx/map/mp_lair/mp_ground_ambient_sitting_dust"); + level._effect["mp_ground_dirt_loop_runner"] = loadfx("vfx/map/mp_lair/mp_ground_dirt_loop_runner"); + level._effect["window_wind_runner"] = loadfx("vfx/map/mp_lair/window_wind_runner"); + level._effect["mp_lair_ground_grassdirt_loop_red_runner"] = loadfx("vfx/map/mp_lair/mp_lair_ground_grassdirt_loop_red_runner"); + level._effect["mp_lair_goblet_fire"] = loadfx("vfx/map/mp_lair/mp_lair_goblet_fire"); + level._effect["bird_seagull_flock_large_flying"] = loadfx("vfx/animal/bird_seagull_flock_large_flying"); + level._effect["insects_moths"] = loadfx("vfx/animal/insects_moths"); + level._effect["insects_fruitflies_flying"] = loadfx("vfx/animal/insects_fruitflies_flying"); + level._effect["butterfly_a_sml_runner"] = loadfx("vfx/animal/butterfly_a_sml_runner"); + level._effect["mp_lair_ambient_int_dust"] = loadfx("vfx/map/mp_lair/mp_lair_ambient_int_dust"); + level._effect["mp_bigb_falling_leaves_runner"] = loadfx("vfx/map/mp_bigben/mp_bigb_falling_leaves_runner"); + level._effect["tesla_lightning_loop_friendly"] = loadfx("vfx/map/mp_lair/tesla_lightning_loop_friendly"); + level._effect["tesla_coil_discharging"] = loadfx("vfx/map/mp_lair/tesla_coil_discharging"); + level._effect["tesla_coil_charging"] = loadfx("vfx/map/mp_lair/tesla_coil_charging"); + level._effect["tesla_coil_active"] = loadfx("vfx/map/mp_lair/tesla_coil_active"); + level._effect["lightning_bolt_impact"] = loadfx("vfx/explosion/lightning_bolt_impact"); + level._effect["shocked_corpse"] = loadfx("vfx/sparks/shocked_corpse"); + level._effect["tesla_lightning_loop"] = loadfx("vfx/map/mp_lair/tesla_lightning_loop"); + level._effect["test_effect"] = loadfx("vfx/test/test_fx"); + level thread onplayerconnect(); +} + +//Function Number: 2 +onplayerconnect() +{ + for(;;) + { + level waittill("connected",var_00); + level thread start_persistent_fx(var_00); + } +} + +//Function Number: 3 +start_persistent_fx(param_00) +{ + if(isdefined(level.teslacoilsactivated) && level.teslacoilsactivated) + { + start_vista_vfx(param_00); + } + else + { + level thread start_big_fountain(param_00); + } + + thread ambient_speed_boats_01(param_00); + thread ambient_speed_boats_02(param_00); + thread ambient_speed_boats_03(param_00); +} + +//Function Number: 4 +start_big_fountain(param_00) +{ + level thread common_scripts\_exploder::activate_clientside_exploder(11,param_00); +} + +//Function Number: 5 +start_vista_vfx(param_00) +{ + level thread vista_fireworks(param_00); + level notify("aud_fireworks"); + level thread fountain_water_show(param_00); + wait(1); + stopclientexploder(11,param_00); + level thread fountain_water_show_center(param_00); +} + +//Function Number: 6 +vista_fireworks(param_00) +{ + level thread common_scripts\_exploder::activate_clientside_exploder(10,param_00); +} + +//Function Number: 7 +fountain_water_show(param_00) +{ + level thread common_scripts\_exploder::activate_clientside_exploder(12,param_00); +} + +//Function Number: 8 +fountain_water_show_center(param_00) +{ + level thread common_scripts\_exploder::activate_clientside_exploder(13,param_00); +} + +//Function Number: 9 +ambient_speed_boats_01(param_00) +{ + level thread common_scripts\_exploder::activate_clientside_exploder(20,param_00); +} + +//Function Number: 10 +ambient_speed_boats_02(param_00) +{ + level thread common_scripts\_exploder::activate_clientside_exploder(21,param_00); +} + +//Function Number: 11 +ambient_speed_boats_03(param_00) +{ + level thread common_scripts\_exploder::activate_clientside_exploder(22,param_00); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_lair_lighting.gsc b/AW/PC/maps/mp/mp_lair_lighting.gsc new file mode 100644 index 0000000..19bb171 --- /dev/null +++ b/AW/PC/maps/mp/mp_lair_lighting.gsc @@ -0,0 +1,16 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_lair_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:17:47 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setdvar("r_lightGridEnableTweaks",1); + setdvar("r_lightGridIntensity",1.33); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_lair_precache.gsc b/AW/PC/maps/mp/mp_lair_precache.gsc new file mode 100644 index 0000000..841bb3d --- /dev/null +++ b/AW/PC/maps/mp/mp_lair_precache.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_lair_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:17:47 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_laser2.gsc b/AW/PC/maps/mp/mp_laser2.gsc new file mode 100644 index 0000000..1348014 --- /dev/null +++ b/AW/PC/maps/mp/mp_laser2.gsc @@ -0,0 +1,1250 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_laser2.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 70 + * Decompile Time: 1121 ms + * Timestamp: 4/22/2024 2:17:51 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\mp\mp_laser2_precache::main(); + maps\createart\mp_laser2_art::main(); + maps\mp\mp_laser2_fx::main(); + thread aud_init(); + maps\mp\_load::main(); + maps\mp\mp_laser2_lighting::main(); + maps\mp\mp_laser2_aud::main(); + maps\mp\_compass::setupminimap("compass_map_mp_laser2"); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + level.aerial_pathnode_offset = 450; + thread set_lighting_values(); + thread set_umbra_values(); + level.ospvisionset = "mp_laser2_osp"; + if(level.nextgen == 1) + { + level thread rotateradar(); + } + + level.ospvisionset = "mp_laser2_osp"; + level.osplightset = "mp_laser2_streak"; + level.mapcustomkillstreakfunc = ::laser2customkillstreakfunc; + level.orbitalsupportoverridefunc = ::laser2customospfunc; + level.orbitallaseroverridefunc = ::laser2customorbitallaserfunc; + thread laser2customairstrike(); + level.anim_laserbuoy = "laser_buoy_loop"; + level.waterline_offset = 2; + maps\mp\_water::setshallowwaterweapon("iw5_underwater_mp"); + level thread maps\mp\_water::init(); + precacherumble("damage_light"); + level dynamicevent_init_sound(); + level dynamicevent_init(); + level thread maps\mp\_dynamic_events::dynamicevent(::handlemovingwater,undefined,::handleendwater); + level.alarmsystem = spawnstruct(); + level.alarmsystem.spinnerarray = getentarray("horizonal_spinner","targetname"); + foreach(var_01 in level.alarmsystem.spinnerarray) + { + var_01 hide(); + } + + level thread handleclouds(); + thread spawnsetup(); +} + +//Function Number: 2 +dynamicevent_init_sound() +{ + level.tsunami_alarm = "mp_laser2_typhoon_alarm"; + level.tsunami_vo_int = "mp_laser2_vo_tsunami_warning_int"; + level.tsunami_vo_ext = "mp_laser2_vo_tsunami_warning_ext"; +} + +//Function Number: 3 +laser2customkillstreakfunc() +{ + level.killstreakweildweapons["mp_laser2_core"] = 1; + level thread maps\mp\killstreaks\streak_mp_laser2::init(); +} + +//Function Number: 4 +laser2customospfunc() +{ + level.orbitalsupportoverrides.spawnanglemin = 30; + level.orbitalsupportoverrides.spawnanglemax = 90; + level.orbitalsupportoverrides.spawnheight = 9541; + if(level.currentgen) + { + level.orbitalsupportoverrides.leftarc = 20; + level.orbitalsupportoverrides.rightarc = 20; + level.orbitalsupportoverrides.toparc = -30; + level.orbitalsupportoverrides.bottomarc = 60; + } +} + +//Function Number: 5 +laser2customorbitallaserfunc() +{ + level.orbitallaseroverrides.spawnheight = 3300; +} + +//Function Number: 6 +laser2customairstrike() +{ + if(!isdefined(level.airstrikeoverrides)) + { + level.airstrikeoverrides = spawnstruct(); + } + + level.airstrikeoverrides.spawnheight = 1750; +} + +//Function Number: 7 +set_lighting_values() +{ + if(isusinghdr()) + { + for(;;) + { + level waittill("connected",var_00); + var_00 setclientdvars("r_tonemap","2"); + } + } +} + +//Function Number: 8 +set_umbra_values() +{ + setdvar("r_umbraAccurateOcclusionThreshold",256); +} + +//Function Number: 9 +handleclouds() +{ + var_00 = 122; + activatepersistentclientexploder(var_00); + level thread handlecloudsaerialjoin(); + level thread handlecloudsaerialleave(); +} + +//Function Number: 10 +enablecloudsexploder(param_00) +{ + var_01 = 122; + var_02 = 0; + var_03 = []; + if(isdefined(param_00)) + { + var_02 = 1; + var_03[var_03.size] = param_00; + if(isdefined(param_00.disablecloudscount)) + { + param_00.disablecloudscount--; + if(param_00.disablecloudscount <= 0) + { + param_00.disablecloudscount = 0; + } + } + } + else + { + foreach(var_05 in level.players) + { + if(isdefined(var_05.disablecloudscount)) + { + var_05.disablecloudscount--; + if(var_05.disablecloudscount > 0) + { + var_02 = 1; + } + else + { + var_05.disablecloudscount = 0; + } + + var_03[var_03.size] = var_05; + } + } + } + + if(var_02) + { + activatepersistentclientexploder(var_01,var_03); + return; + } + + activatepersistentclientexploder(var_01); +} + +//Function Number: 11 +disablecloudsexploder(param_00,param_01) +{ + var_02 = 122; + var_03 = []; + level thread common_scripts\_exploder::deactivate_clientside_exploder(var_02,param_00,param_01); + if(isdefined(param_00)) + { + var_03[var_03.size] = param_00; + } + else + { + var_03 = level.players; + } + + foreach(var_05 in var_03) + { + if(isdefined(var_05.disablecloudscount)) + { + var_05.disablecloudscount++; + continue; + } + + var_05.disablecloudscount = 1; + } +} + +//Function Number: 12 +handlecloudsaerialjoin() +{ + for(;;) + { + level waittill("player_start_aerial_view",var_00); + level disablecloudsexploder(var_00,1); + } +} + +//Function Number: 13 +handlecloudsaerialleave() +{ + for(;;) + { + level waittill("player_stop_aerial_view",var_00); + level enablecloudsexploder(var_00); + } +} + +//Function Number: 14 +rotateradar() +{ + wait(0.05); + var_00 = getent("radar_dish01_rotate","targetname"); + maps\mp\_audio::scriptmodelplayanimwithnotify(var_00,"lsr_radar_dish_loop","ps_emt_satellite_dish_rotate","emt_satellite_dish_rotate","laser2_custom_end_notify","laser2_custom_ent_end_notify","laser2_custom_ent2_end_notify"); +} + +//Function Number: 15 +handlepropattachments(param_00) +{ + if(isdefined(self.target)) + { + var_01 = getentarray(self.target,"targetname"); + foreach(var_03 in var_01) + { + if(isdefined(param_00)) + { + var_03 vehicle_jetbikesethoverforcescale(param_00); + continue; + } + + var_03 vehicle_jetbikesethoverforcescale(self); + } + } +} + +//Function Number: 16 +dynamicevent_init() +{ + level endon("game_ended"); + level.water_warning = undefined; + level.ocean = undefined; + var_00 = getentarray("ocean_water","targetname"); + if(isdefined(var_00)) + { + level.ocean = var_00[0]; + if(var_00.size > 0) + { + level.ocean_pieces = common_scripts\utility::array_remove(var_00,level.ocean); + common_scripts\utility::array_thread(level.ocean_pieces,::linktoent,level.ocean); + } + } + + level.ocean.warning_time = 30; + level.ocean.origin = level.ocean.origin - (0,0,132); + var_01 = getent("ocean_water_underside","targetname"); + var_02 = getentarray("trigger_underwater","targetname"); + var_03 = getentarray("ocean_moving_prop","targetname"); + var_04 = getentarray("buoy","targetname"); + var_05 = []; + level.moving_buoys = []; + var_06 = getentarray("water_clip","targetname"); + level.post_event_geo = getentarray("post_event_geo","targetname"); + level.end_state_geo = getentarray("end_state_geo","targetname"); + level.post_event_nodes = getnodearray("post_event_node","targetname"); + level.pre_event_nodes = getnodearray("pre_event_node","targetname"); + level.goliath_bad_landing_volumes = getentarray("goliath_bad_landing_volume","targetname"); + level.drop_pod_bad_places = getentarray("drop_pod_bad_place","targetname"); + level.post_event_pathing_blockers = getentarray("post_event_pathing_blocker","targetname"); + level.pre_event_pathing_blockers = getentarray("pre_event_pathing_blocker","targetname"); + level handle_event_geo_off(); + level thread handle_pathing_pre_event(); + foreach(var_08 in var_03) + { + if(isdefined(var_08.script_noteworthy) && var_08.script_noteworthy == "has_collision") + { + var_05[var_05.size] = var_08; + } + } + + foreach(var_0B in var_04) + { + if(isdefined(var_0B.script_noteworthy) && var_0B.script_noteworthy == "moving") + { + level.moving_buoys[level.moving_buoys.size] = var_0B; + } + } + + var_0D = common_scripts\utility::array_combine(var_03,level.moving_buoys); + thread maps\mp\mp_laser2_fx::setupwaves(level.ocean); + thread maps\mp\mp_laser2_fx::setupoceanfoam(level.ocean); + if(isdefined(level.waterline_ents)) + { + common_scripts\utility::array_thread(level.waterline_ents,::linktoent,level.ocean); + } + + if(level.nextgen) + { + var_01 linktoent(level.ocean); + } + + if(isdefined(var_06) && var_06.size > 0) + { + common_scripts\utility::array_thread(var_06,::linktoent,level.ocean); + } + + if(isdefined(var_0D) && var_0D.size > 0) + { + common_scripts\utility::array_thread(var_0D,::linktoent,level.ocean); + } + + if(isdefined(var_02) && var_02.size > 0 && isdefined(level.ocean)) + { + foreach(var_0F in var_02) + { + var_0F thread handlewatertriggermovement(level.ocean); + } + } + + if(isdefined(level.goliath_bad_landing_volumes) && level.goliath_bad_landing_volumes.size > 0 && isdefined(level.ocean)) + { + foreach(var_0F in level.goliath_bad_landing_volumes) + { + if(isdefined(var_0F.script_noteworthy) && var_0F.script_noteworthy == "dont_move_me") + { + continue; + } + else + { + var_0F thread handlewatertriggermovement(level.ocean); + } + } + } + + if(isdefined(var_05) && var_05.size > 0) + { + common_scripts\utility::array_thread(var_05,::handlepropattachments,level.ocean); + } + + if(isdefined(var_04) && var_04.size > 0) + { + common_scripts\utility::array_thread(var_04,::playbuoylights); + } + + if(isdefined(level.moving_buoys) && level.moving_buoys.size > 0) + { + common_scripts\utility::array_thread(level.moving_buoys,::playpropanim,level.anim_laserbuoy); + common_scripts\utility::array_thread(level.moving_buoys,::handlepropattachments,level.ocean); + } + + var_13 = getent("tidal_wave","targetname"); + var_13 hide(); + common_scripts\utility::trigger_off("trig_kill_00","targetname"); + common_scripts\utility::trigger_off("trig_kill_01","targetname"); + common_scripts\utility::trigger_off("trig_kill_02","targetname"); + common_scripts\utility::trigger_off("trig_kill_03","targetname"); + common_scripts\utility::trigger_off("trig_kill_04","targetname"); + common_scripts\utility::trigger_off("trig_kill_drone_vista","targetname"); + maps\mp\killstreaks\_aerial_utility::setup_kill_drone_trig("trig_kill_00","targetname"); + maps\mp\killstreaks\_aerial_utility::setup_kill_drone_trig("trig_kill_01","targetname"); + maps\mp\killstreaks\_aerial_utility::setup_kill_drone_trig("trig_kill_02","targetname"); + maps\mp\killstreaks\_aerial_utility::setup_kill_drone_trig("trig_kill_03","targetname"); + maps\mp\killstreaks\_aerial_utility::setup_kill_drone_trig("trig_kill_04","targetname"); + maps\mp\killstreaks\_aerial_utility::setup_kill_drone_trig("trig_kill_drone_vista","targetname"); + thread maps\mp\mp_laser2_fx::playwaves("end_initial_waves",4,6,"breaking_wave_01"); + level setoceansinvalueslowtide(); +} + +//Function Number: 17 +connect_paths() +{ + if(isdefined(self)) + { + self connectpaths(); + } +} + +//Function Number: 18 +disconnect_paths() +{ + if(isdefined(self)) + { + self disconnectpaths(); + } +} + +//Function Number: 19 +connect_nodes() +{ + if(isdefined(self)) + { + self connectnode(); + } +} + +//Function Number: 20 +disconnect_nodes() +{ + if(isdefined(self)) + { + self disconnectnode(); + } +} + +//Function Number: 21 +hidegeo() +{ + if(isdefined(self) && !isdefined(self.ishidden)) + { + self.ishidden = 1; + common_scripts\utility::trigger_off(); + } +} + +//Function Number: 22 +showgeo() +{ + if(isdefined(self) && isdefined(self.ishidden)) + { + self.ishidden = undefined; + common_scripts\utility::trigger_on(); + } +} + +//Function Number: 23 +oceansinmovement(param_00) +{ + level endon("game_ended"); + level endon("end_initial_waves"); + self notify("ocean_sin_movement"); + self endon("ocean_sin_movement"); + for(;;) + { + self moveto((0,level.oceansinamplitude,level.oceansinamplitude) + param_00,level.oceansinperiod / 2,level.oceansinperiod * 0.25,level.oceansinperiod * 0.25); + wait(level.oceansinperiod / 2); + self moveto(-1 * (0,level.oceansinamplitude,level.oceansinamplitude) + param_00,level.oceansinperiod / 2,level.oceansinperiod * 0.25,level.oceansinperiod * 0.25); + wait(level.oceansinperiod / 2); + } +} + +//Function Number: 24 +setoceansinvalueslowtide() +{ + if(level.nextgen) + { + level.oceansinamplitude = 12; + level.oceansinperiod = 10; + return; + } + + level.oceansinamplitude = 16; + level.oceansinperiod = 20; +} + +//Function Number: 25 +setoceansinvalueshightide() +{ + level.oceansinamplitude = 6; + level.oceansinperiod = 10; +} + +//Function Number: 26 +linktoent(param_00) +{ + var_01 = self; + var_01 vehicle_jetbikesethoverforcescale(param_00); +} + +//Function Number: 27 +handlebuoydings(param_00,param_01) +{ + level endon("game_ended"); + for(;;) + { + wait(randomfloatrange(0.05,0.5)); + while(!isdefined(level.water_warning) || level.water_warning != 1) + { + maps\mp\_utility::play_sound_on_tag(param_01,"tag_origin"); + wait(randomfloatrange(3,7)); + } + + while(level.water_warning == 1) + { + maps\mp\_utility::play_sound_on_tag(param_00,"tag_origin"); + wait(randomfloatrange(1.5,4.5)); + } + } +} + +//Function Number: 28 +playbuoylights() +{ + self notify("stop_buoy_lights"); + self endon("stop_buoy_lights"); + playfxontag(common_scripts\utility::getfx("light_buoy_red"),self,"fx_joint_0"); + wait(randomfloat(4)); + stopfxontag(common_scripts\utility::getfx("light_buoy_red"),self,"fx_joint_0"); + wait(0.05); + playfxontag(common_scripts\utility::getfx("light_buoy_red"),self,"fx_joint_0"); +} + +//Function Number: 29 +playpropanim(param_00) +{ + wait(randomfloatrange(0.1,1)); + self scriptmodelplayanim(param_00); +} + +//Function Number: 30 +oceanmover_init(param_00) +{ + level endon("game_ended"); + var_01 = getent(param_00,"targetname"); + if(!isdefined(var_01)) + { + return undefined; + } + + var_01.warning_time = 30; + return var_01; +} + +//Function Number: 31 +oceanobjectmover_init(param_00) +{ + var_01 = spawn("script_origin",(0,0,0)); + var_01.targetname = "OceanObjectMover"; + var_01.dist_prop = (0,352,0); + return var_01; +} + +//Function Number: 32 +moving_water_init() +{ + level endon("game_ended"); + thread maps\mp\mp_laser2_fx::playwaves("end_initial_waves",4,6,"breaking_wave_01"); +} + +//Function Number: 33 +handleendwater() +{ + level.ocean.origin = level.ocean.origin + (0,0,72); + level notify("end_initial_waves"); + thread maps\mp\mp_laser2_fx::playwaves(undefined,6,8,"breaking_wave_01"); + level thread common_scripts\_exploder::activate_clientside_exploder(201); + level thread common_scripts\_exploder::activate_clientside_exploder(202); + level thread common_scripts\_exploder::activate_clientside_exploder(203); + level thread common_scripts\_exploder::activate_clientside_exploder(204); + level thread common_scripts\_exploder::activate_clientside_exploder(205); + level thread common_scripts\_exploder::activate_clientside_exploder(206); + level thread common_scripts\_exploder::activate_clientside_exploder(207); + level thread common_scripts\_exploder::activate_clientside_exploder(208); + level thread common_scripts\_exploder::activate_clientside_exploder(209); + level thread common_scripts\_exploder::activate_clientside_exploder(121); + if(isdefined(level.end_state_geo)) + { + common_scripts\utility::array_thread(level.end_state_geo,::showgeo); + } + + level handle_event_geo_on(); + level maps\mp\_utility::delaythread(0.05,::handle_pathing_post_event); +} + +//Function Number: 34 +handlemovingwater() +{ + level endon("game_ended"); + level disablecloudsexploder(undefined,0); + level.skipoceanspawns = 1; + var_00 = level.ocean; + var_01 = getent("tidal_wave","targetname"); + var_01 show(); + var_02 = common_scripts\utility::spawn_tag_origin(); + var_02.targetname = "ocean_tag_origin"; + var_02 show(); + var_03 = getent("lsr_tidal_wave_car","targetname"); + var_04 = getent("lsr_tidal_wave_shipping_container_closed","targetname"); + var_05 = getent("lsr_tidal_wave_shipping_container_open","targetname"); + create_bot_badplaces(); + foreach(var_07 in level.water_triggers) + { + var_07 thread killobjectsunderwater(); + } + + level thread addposteventgeotocratebadplacearray(); + level thread killplayersusingremotestreaks(); + wait(0.05); + level.water_warning = 1; + level notify("end_initial_waves"); + thread maps\mp\mp_laser2_aud::start_rough_tide(); + var_09 = 2; + earthquake(0.3,var_09,(0,0,0),5000); + thread aud_dynamic_event_startup(var_09); + thread play_earthquake_rumble_for_all_players(0.75); + level maps\mp\_utility::delaythread(3,::handletsunamiwarningsounds); + var_0A = 26.667; + var_0B = 36.7; + var_0C = var_0B; + if(var_0A > var_0B) + { + var_0C = var_0A; + } + + if(var_00.warning_time > var_0C) + { + wait(var_00.warning_time - var_0C); + } + else + { + wait(2); + } + + var_01 thread tidal_wave_notetracks(); + var_01 scriptmodelplayanimdeltamotion("lsr_tidal_wave_mesh_anim","tidal_wave_notetrack"); + var_00 linkto(var_02); + var_02 scriptmodelplayanimdeltamotion("lsr_tidal_wave_ocean_anim"); + if(isdefined(var_03)) + { + var_03 scriptmodelplayanimdeltamotion("lsr_tidal_wave_car"); + } + + var_04 scriptmodelplayanimdeltamotion("lsr_tidal_wave_shipping_container_closed"); + var_05 scriptmodelplayanimdeltamotion("lsr_tidal_wave_shipping_container_open"); + foreach(var_0E in level.moving_buoys) + { + if(isdefined(var_0E.animation)) + { + var_0E scriptmodelclearanim(); + var_0E unlink(); + var_0E scriptmodelplayanimdeltamotion(var_0E.animation); + var_0E thread playbuoylights(); + var_0E maps\mp\_utility::delaythread(var_0B,::buoys_return_to_bobbing); + } + } + + level maps\mp\_utility::delaythread(var_0A - 3,::stop_water_warning); + level maps\mp\_utility::delaythread(var_0A - 2.9,::play_earthquake_rumble_for_all_players,0.75); + var_01 common_scripts\utility::delaycall(var_0A,::hide); + var_02 common_scripts\utility::delaycall(var_0B,::hide); + var_00 common_scripts\utility::delaycall(var_0B,::unlink); + wait(var_0C); + var_10 = getnodearray("water_nodes","targetname"); + foreach(var_12 in var_10) + { + nodesetnotusable(var_12,1); + } + + delete_bot_badplaces(); + level.skipoceanspawns = 0; + wait(2); + thread maps\mp\mp_laser2_fx::playwaves(undefined,6,8,"breaking_wave_01"); + level notify("dynamic_event_complete"); +} + +//Function Number: 35 +create_bot_badplaces() +{ + badplace_cylinder("badplace_1",-1,(-1096,-688,229.5),300,200); + badplace_cylinder("badplace_2",-1,(-544,-1104,158),500,200); + badplace_cylinder("badplace_3",-1,(0,-1024,154.286),500,200); + badplace_cylinder("badplace_4",-1,(608,-1152,153.195),500,200); + badplace_cylinder("badplace_5",-1,(1360,-832,203.4),500,200); + badplace_cylinder("badplace_6",-1,(2128,-416,159.325),500,200); + badplace_cylinder("badplace_7",-1,(2464,176,128),500,200); +} + +//Function Number: 36 +delete_bot_badplaces() +{ + badplace_delete("badplace_1"); + badplace_delete("badplace_2"); + badplace_delete("badplace_3"); + badplace_delete("badplace_4"); + badplace_delete("badplace_5"); + badplace_delete("badplace_6"); + badplace_delete("badplace_7"); +} + +//Function Number: 37 +killobjectsunderwater() +{ + level endon("game_ended"); + level endon("dynamic_event_complete"); + for(;;) + { + if(isdefined(level.turrets)) + { + foreach(var_01 in level.turrets) + { + if(var_01 istouching(self)) + { + var_01 notify("death"); + } + } + } + + if(isdefined(level.carepackages)) + { + foreach(var_04 in level.carepackages) + { + if(isdefined(var_04) && !isremovedentity(var_04) && var_04 iscarepackageinposteventgeo()) + { + if(isdefined(var_04.cratetype) && var_04.cratetype != "juggernaut") + { + var_04 maps\mp\killstreaks\_airdrop::deletecrate(1,1); + continue; + } + + if(isdefined(var_04.cratetype) && var_04.cratetype == "juggernaut") + { + var_04 maps\mp\killstreaks\_juggernaut::deletegoliathpod(1,1); + } + } + } + } + + wait(0.05); + } +} + +//Function Number: 38 +iscarepackageinposteventgeo() +{ + if(isdefined(level.drop_pod_bad_places)) + { + foreach(var_01 in level.drop_pod_bad_places) + { + if(ispointinvolume(self.origin,var_01)) + { + return 1; + } + } + } + + return 0; +} + +//Function Number: 39 +addposteventgeotocratebadplacearray() +{ + level waittill("post_event_geo_on"); + foreach(var_01 in level.drop_pod_bad_places) + { + level.orbital_util_covered_volumes[level.orbital_util_covered_volumes.size] = var_01; + } +} + +//Function Number: 40 +killplayersusingremotestreaks() +{ + level endon("game_ended"); + level endon("dynamic_event_complete"); + self endon("death"); + self endon("disconnect"); + for(;;) + { + foreach(var_01 in level.players) + { + if(isdefined(var_01) && isdefined(var_01.inwater) && var_01 maps\mp\_utility::isusingremote()) + { + var_01 maps\mp\_utility::_suicide(); + } + } + + wait(0.05); + } +} + +//Function Number: 41 +buoys_return_to_bobbing() +{ + linktoent(level.ocean); + self scriptmodelclearanim(); + wait(randomfloatrange(0.1,1)); + self scriptmodelplayanim(level.anim_laserbuoy); + thread playbuoylights(); +} + +//Function Number: 42 +play_earthquake_rumble_for_all_players(param_00) +{ + foreach(var_02 in level.players) + { + var_02 thread play_earthquake_rumble(param_00); + } +} + +//Function Number: 43 +play_earthquake_rumble(param_00) +{ + self endon("death"); + level endon("game_ended"); + for(var_01 = param_00 * 20;var_01 >= 0;var_01 = var_01 - 2) + { + self playrumbleonentity("damage_light"); + wait(0.1); + } +} + +//Function Number: 44 +stop_water_warning() +{ + level.water_warning = 0; + common_scripts\utility::array_thread(level.alarmsystem.spinnerarray,::spinalarmsstop); +} + +//Function Number: 45 +tidal_wave_notetracks() +{ + thread event_fx(); + thread event_killtriggers(); + thread event_geo(); +} + +//Function Number: 46 +event_fx() +{ + self waittillmatch("vfx_wave_mist_start","tidal_wave_notetrack"); + thread maps\mp\mp_laser2_fx::start_wave_mist_fx(); + self waittillmatch("vfx_receding_foam_start","tidal_wave_notetrack"); + level thread common_scripts\_exploder::activate_clientside_exploder(120); + level thread common_scripts\_exploder::activate_clientside_exploder(100); + self waittillmatch("vfx_rocks1_splash","tidal_wave_notetrack"); + level thread common_scripts\_exploder::activate_clientside_exploder(101); + level thread common_scripts\_exploder::activate_clientside_exploder(201); + thread maps\mp\mp_laser2_fx::playoceanfoam("tidal_wave_lingering_foam1",0); + self waittillmatch("vfx_tower_splash","tidal_wave_notetrack"); + level thread common_scripts\_exploder::activate_clientside_exploder(102); + level thread common_scripts\_exploder::activate_clientside_exploder(202); + thread maps\mp\mp_laser2_fx::playoceanfoam("tidal_wave_lingering_foam1",1); + self waittillmatch("vfx_concrete_chunk1_splash","tidal_wave_notetrack"); + level thread common_scripts\_exploder::activate_clientside_exploder(103); + level thread common_scripts\_exploder::activate_clientside_exploder(203); + thread maps\mp\mp_laser2_fx::playoceanfoam("tidal_wave_lingering_foam1",2); + thread maps\mp\mp_laser2_fx::stop_wave_mist_fx(); + self waittillmatch("vfx_wave_collapse1_splash","tidal_wave_notetrack"); + level thread common_scripts\_exploder::activate_clientside_exploder(104); + level thread common_scripts\_exploder::activate_clientside_exploder(204); + thread maps\mp\mp_laser2_fx::playoceanfoam("tidal_wave_lingering_foam1",3); + self waittillmatch("vfx_wave_collapse2_splash","tidal_wave_notetrack"); + level thread common_scripts\_exploder::activate_clientside_exploder(105); + level thread common_scripts\_exploder::activate_clientside_exploder(205); + thread maps\mp\mp_laser2_fx::playoceanfoam("tidal_wave_lingering_foam1",4); + self waittillmatch("vfx_wave_collapse3_splash","tidal_wave_notetrack"); + level thread common_scripts\_exploder::activate_clientside_exploder(106); + level thread common_scripts\_exploder::activate_clientside_exploder(206); + thread maps\mp\mp_laser2_fx::playoceanfoam("tidal_wave_lingering_foam1",5); + self waittillmatch("vfx_midbeach_splash","tidal_wave_notetrack"); + level thread common_scripts\_exploder::activate_clientside_exploder(107); + level thread common_scripts\_exploder::activate_clientside_exploder(207); + thread maps\mp\mp_laser2_fx::playoceanfoam("tidal_wave_lingering_foam1",6); + self waittillmatch("vfx_helipad_splash","tidal_wave_notetrack"); + level thread common_scripts\_exploder::activate_clientside_exploder(108); + level thread common_scripts\_exploder::activate_clientside_exploder(208); + thread maps\mp\mp_laser2_fx::playoceanfoam("tidal_wave_lingering_foam1",7); + self waittillmatch("vfx_helipad_splash2","tidal_wave_notetrack"); + level thread common_scripts\_exploder::activate_clientside_exploder(109); + level thread common_scripts\_exploder::activate_clientside_exploder(209); + thread maps\mp\mp_laser2_fx::playoceanfoam("tidal_wave_lingering_foam1",8); + wait(1); + level thread common_scripts\_exploder::activate_clientside_exploder(121); + level enablecloudsexploder(); +} + +//Function Number: 47 +event_killtriggers() +{ + common_scripts\utility::trigger_on("trig_kill_drone_vista","targetname"); + self waittillmatch("kill_trig_00","tidal_wave_notetrack"); + common_scripts\utility::trigger_off("trig_kill_drone_vista","targetname"); + common_scripts\utility::trigger_on("trig_kill_00","targetname"); + self waittillmatch("kill_trig_01","tidal_wave_notetrack"); + common_scripts\utility::trigger_off("trig_kill_00","targetname"); + common_scripts\utility::trigger_on("trig_kill_01","targetname"); + self waittillmatch("kill_trig_02","tidal_wave_notetrack"); + common_scripts\utility::trigger_off("trig_kill_01","targetname"); + common_scripts\utility::trigger_on("trig_kill_02","targetname"); + self waittillmatch("kill_trig_03","tidal_wave_notetrack"); + common_scripts\utility::trigger_off("trig_kill_02","targetname"); + common_scripts\utility::trigger_on("trig_kill_03","targetname"); + self waittillmatch("kill_trig_04","tidal_wave_notetrack"); + common_scripts\utility::trigger_off("trig_kill_03","targetname"); + common_scripts\utility::trigger_on("trig_kill_04","targetname"); + maps\mp\_utility::delaythread(1,::common_scripts\utility::trigger_off,"trig_kill_04","targetname"); +} + +//Function Number: 48 +event_geo() +{ + self waittillmatch("kill_trig_04","tidal_wave_notetrack"); + level handle_event_geo_on(); + level handle_pathing_post_event(); +} + +//Function Number: 49 +handle_event_geo_on() +{ + if(isdefined(level.post_event_geo)) + { + foreach(var_01 in level.post_event_geo) + { + var_01 showgeo(); + } + + level notify("post_event_geo_on"); + } + + if(isdefined(level.drop_pod_bad_places)) + { + foreach(var_04 in level.drop_pod_bad_places) + { + var_04 showgeo(); + } + } +} + +//Function Number: 50 +handle_event_geo_off() +{ + if(isdefined(level.post_event_geo)) + { + foreach(var_01 in level.post_event_geo) + { + var_01 hidegeo(); + } + + level notify("post_event_geo_off"); + } + + if(isdefined(level.drop_pod_bad_places)) + { + foreach(var_04 in level.drop_pod_bad_places) + { + var_04 hidegeo(); + } + } + + if(isdefined(level.end_state_geo)) + { + common_scripts\utility::array_thread(level.end_state_geo,::hidegeo); + } +} + +//Function Number: 51 +handle_pathing_pre_event() +{ + if(getdvar("scr_dynamic_event_state","on") != "endstate" && !isdefined(level.dynamiceventstype) || level.dynamiceventstype != 2) + { + wait(0.05); + } + + foreach(var_01 in level.pre_event_pathing_blockers) + { + var_01 disconnect_paths(); + var_01 hidegeo(); + } + + foreach(var_01 in level.post_event_pathing_blockers) + { + var_01 hidegeo(); + var_01 connect_paths(); + } +} + +//Function Number: 52 +handle_pathing_post_event() +{ + if(isdefined(level.post_event_pathing_blockers)) + { + foreach(var_01 in level.post_event_pathing_blockers) + { + var_01 showgeo(); + var_01 disconnect_paths(); + var_01 hidegeo(); + } + } + + if(isdefined(level.pre_event_pathing_blockers)) + { + common_scripts\utility::array_thread(level.pre_event_pathing_blockers,::connect_paths); + } +} + +//Function Number: 53 +oceanobjectmover_set_goal(param_00) +{ + if(param_00.direction == "up" && 0) + { + self.goal = self.loc_start; + return; + } + + if(param_00.direction == "down" && 1) + { + self.goal = self.loc_start; + return; + } + + self.goal = self.loc_end; +} + +//Function Number: 54 +activate_splashes(param_00,param_01,param_02,param_03) +{ + level endon("game_ended"); + if(isdefined(param_01)) + { + level notify(param_01); + level endon(param_01); + } + + if(!isdefined(param_02)) + { + param_02 = 3; + } + + if(!isdefined(param_03)) + { + param_03 = 5; + } + + for(;;) + { + level thread common_scripts\_exploder::activate_clientside_exploder(param_00); + wait(randomfloatrange(param_02,param_03)); + } +} + +//Function Number: 55 +handlewatertriggermovement(param_00) +{ + level endon("game_ended"); + var_01 = undefined; + if(isdefined(self.target)) + { + var_01 = common_scripts\utility::getstruct(self.target,"targetname"); + } + + var_02 = self.origin - param_00.origin; + childthread movetrig(param_00,var_02); + if(isdefined(var_01)) + { + var_03 = var_01.origin[2] - self.origin[2]; + var_04 = var_02 + (0,0,var_03); + var_01 childthread movetrig(param_00,var_04); + } +} + +//Function Number: 56 +movetrig(param_00,param_01) +{ + for(;;) + { + self.origin = param_00.origin + param_01; + wait(0.05); + } +} + +//Function Number: 57 +spawnsetup() +{ + level.skipoceanspawns = 0; + level.dynamicspawns = ::getlistofgoodspawnpoints; +} + +//Function Number: 58 +getlistofgoodspawnpoints(param_00) +{ + var_01 = []; + foreach(var_03 in param_00) + { + if(!isdefined(var_03.targetname) || var_03.targetname == "" || var_03 isvalidspawn() == 1) + { + var_01 = common_scripts\utility::add_to_array(var_01,var_03); + } + } + + return var_01; +} + +//Function Number: 59 +isvalidspawn() +{ + if(level.skipoceanspawns == 1 && self.targetname == "ocean_spawn") + { + return 0; + } + + return 1; +} + +//Function Number: 60 +spinalarmsstart() +{ + self show(); + self rotatevelocity((0,600,0),12); + var_00 = getscriptablearray("tsunami_alarm","targetname"); + foreach(var_02 in var_00) + { + var_02 setscriptablepartstate("static_part","siren_on"); + } +} + +//Function Number: 61 +spinalarmsstop() +{ + self hide(); + var_00 = getscriptablearray("tsunami_alarm","targetname"); + foreach(var_02 in var_00) + { + var_02 setscriptablepartstate("static_part","siren_off"); + } +} + +//Function Number: 62 +aud_init() +{ +} + +//Function Number: 63 +aud_dynamic_event_startup(param_00) +{ + thread aud_handle_earthquake(param_00); + thread aud_handle_warning_vo(); + thread aud_handle_wave_incoming(); + thread aud_handle_buoy_sfx(); +} + +//Function Number: 64 +aud_handle_warning_vo() +{ + wait(2); + thread maps\mp\_audio::snd_play_in_space("mp_laser2_vo_tsunami_warn_tide",(0,0,0)); + wait(5); + thread maps\mp\_audio::snd_play_in_space("mp_laser2_vo_tsunami_warn_high_ground",(0,0,0)); +} + +//Function Number: 65 +aud_handle_earthquake(param_00) +{ + thread maps\mp\_audio::snd_play_in_space("mp_laser2_ty_initial_hit",(0,0,0)); +} + +//Function Number: 66 +aud_handle_buoy_sfx() +{ + level endon("aud_kill_dings"); + for(;;) + { + thread maps\mp\_audio::snd_play_in_space("mp_laser_buoy_ding_event",(150,-2295,403)); + wait(0.5); + thread maps\mp\_audio::snd_play_in_space("mp_laser_buoy_ding_event",(1026,-2381,403)); + wait(6); + } +} + +//Function Number: 67 +aud_handle_wave_incoming() +{ + var_00 = thread maps\mp\_audio::snd_play_loop_in_space("mp_laser2_ty_quake_lp",(79,-1591,455),"aud_dynamic_event_end"); + thread aud_handle_waves_crash(); + var_00 scalevolume(0,0.05); + wait(16.5); + thread aud_handle_incoming(); + var_00 scalevolume(0.8,8); +} + +//Function Number: 68 +aud_handle_incoming() +{ + thread maps\mp\_audio::snd_play_in_space("mp_laser2_ty_incoming",(79,-1591,455)); + wait(4); + level notify("aud_kill_dings"); + earthquake(0.1,4,(79,-1591,455),2500); + wait(1.2); + earthquake(0.2,4,(79,-1591,455),2500); + wait(2); + earthquake(0.3,5.5,(79,-1591,455),2500); +} + +//Function Number: 69 +aud_handle_waves_crash() +{ + wait(27); + level notify("aud_dynamic_event_end"); + level._snd.dynamic_event_happened = 1; + foreach(var_01 in level.players) + { + var_01 clientclearsoundsubmix("mp_pre_event_mix"); + wait(0.05); + } + + wait(0.05); + foreach(var_01 in level.players) + { + var_01 clientaddsoundsubmix("mp_post_event_mix",1); + wait(0.05); + } +} + +//Function Number: 70 +handletsunamiwarningsounds() +{ + level endon("game_ended"); + var_00 = getentarray("tsunami_speaker","targetname"); + while(level.water_warning == 1) + { + if(isdefined(var_00)) + { + foreach(var_02 in var_00) + { + playsoundatpos(var_02.origin,level.tsunami_alarm); + } + + playsoundatpos((0,0,0),level.tsunami_alarm); + } + + common_scripts\utility::array_thread(level.alarmsystem.spinnerarray,::spinalarmsstart); + wait(2); + if(!isdefined(level.water_warning) || level.water_warning != 1) + { + return; + } + + foreach(var_02 in var_00) + { + } + + wait(3); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_laser2_aud.gsc b/AW/PC/maps/mp/mp_laser2_aud.gsc new file mode 100644 index 0000000..af7048a --- /dev/null +++ b/AW/PC/maps/mp/mp_laser2_aud.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_laser2_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 4 + * Decompile Time: 70 ms + * Timestamp: 4/22/2024 2:17:52 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + thread watch_for_underwater(); +} + +//Function Number: 2 +watch_for_underwater() +{ + level endon("game_ended"); +} + +//Function Number: 3 +start_rough_tide() +{ + wait(1.5); + playsoundatpos((2382,44,140),"mp_laser2_wave_crashes_under_helipad_large"); + wait(5); + thread play_interval_sound("mp_laser2_wave_crashes_under_helipad",(2265,-273,184),12,15); + wait(6); + thread play_interval_sound("mp_laser2_wave_crashes_under_helipad",(2554,188,181),11,20); + wait(5); + thread play_interval_sound("mp_laser2_wave_crashes_under_helipad",(2562,477,184),11,16); +} + +//Function Number: 4 +play_interval_sound(param_00,param_01,param_02,param_03) +{ + for(;;) + { + playsoundatpos(param_01,param_00); + var_04 = level common_scripts\utility::waittill_any_timeout(randomintrange(param_02,param_03),"end_high_tide_waves"); + if(var_04 != "timeout") + { + return; + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_laser2_fx.gsc b/AW/PC/maps/mp/mp_laser2_fx.gsc new file mode 100644 index 0000000..d76400b --- /dev/null +++ b/AW/PC/maps/mp/mp_laser2_fx.gsc @@ -0,0 +1,204 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_laser2_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 9 + * Decompile Time: 146 ms + * Timestamp: 4/22/2024 2:17:52 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["steam_sm_street_windy"] = loadfx("vfx/steam/steam_sm_street_windy"); + level._effect["ref_wall_light"] = loadfx("vfx/lights/lgt_fixtures/ref_wall_light"); + level._effect["lab2_interiorlight_1_intct_loop"] = loadfx("vfx/lights/lgt_fixtures/lab2_interiorlight_1_intct_loop"); + level._effect["lab2_mod_wall_light_x64_glow_loop"] = loadfx("vfx/lights/lgt_fixtures/lab2_mod_wall_light_x64_glow_loop"); + level._effect["laser2_lighthouse_light"] = loadfx("vfx/lights/mp_laser2/laser2_lighthouse_light"); + level._effect["light_laser_fill"] = loadfx("vfx/lights/mp_laser2/light_laser_fill"); + level._effect["light_laser_off_lightbeam"] = loadfx("vfx/lights/mp_laser2/light_laser_off_lightbeam"); + level._effect["boat_edge_wave_distortion"] = loadfx("vfx/map/mp_laser2/laser2_boat_edge_wave_distortion"); + level._effect["shallow_debris_physics"] = loadfx("vfx/map/mp_laser2/shallow_debris_physics"); + level._effect["cargo_containers_physics"] = loadfx("vfx/map/mp_laser2/cargo_containers_physics"); + level._effect["test_water_physics"] = loadfx("vfx/test/test_water_physics"); + level._effect["rain_floorsheet_slow_foam_200x200_mist"] = loadfx("vfx/rain/rain_floorsheet_slow_foam_200x200_mist"); + level._effect["beacon_light_red_blink"] = loadfx("vfx/lights/beacon_light_red_blink"); + level._effect["beacon_light_red_static"] = loadfx("vfx/lights/beacon_light_red_static_large"); + level._effect["falling_water_wall_long"] = loadfx("vfx/water/falling_water_wall_long"); + level._effect["water_stream_med"] = loadfx("vfx/rain/water_stream_med"); + level._effect["water_drips_fat_splash"] = loadfx("vfx/rain/water_drips_fat_splash"); + level._effect["water_runoff_narrow_splashes_lp"] = loadfx("vfx/rain/water_runoff_narrow_splashes_lp"); + level._effect["water_edge_runoff_wide"] = loadfx("vfx/water/water_edge_runoff_wide"); + level._effect["falling_water_trickle_wide"] = loadfx("vfx/water/falling_water_trickle_wide_nofoam"); + level._effect["falling_water_exterior_narrow"] = loadfx("vfx/water/falling_water_exterior_narrow"); + level._effect["falling_water_drip_100x100_runner"] = loadfx("vfx/water/falling_water_drip_100x100_runner"); + level._effect["water_edge_runoff_short"] = loadfx("vfx/water/water_edge_runoff_short"); + level._effect["tidal_wave_receding_foam1"] = loadfx("vfx/water/tidal_wave_receding_foam1"); + level._effect["tidal_wave_crest_mist"] = loadfx("vfx/water/tidal_wave_crest_mist"); + level._effect["det_light_spotlight_cone_haze"] = loadfx("vfx/lights/detroit/det_light_spotlight_cone_haze"); + level._effect["tidal_wave_lingering_foam1"] = loadfx("vfx/water/tidal_wave_lingering_foam1"); + level._effect["tidal_wave_hit_01"] = loadfx("vfx/water/tidal_wave_hit_01"); + level._effect["test_effect"] = loadfx("vfx/test/test_fx"); + level._effect["tire_industrial_01_rubber"] = loadfx("vfx/destructible/tire_industrial_01_rubber"); + level._effect["wave_hit_mist_01"] = loadfx("vfx/water/wave_hit_mist_01"); + level._effect["water_wave_splash"] = loadfx("fx/water/water_wave_splash"); + level._effect["water_froth_oilrig"] = loadfx("fx/misc/water_froth_oilrig"); + level._effect["wavebreak_01"] = loadfx("fx/misc/wavebreak_01"); + level._effect["breaking_wave_01"] = loadfx("vfx/water/breaking_wave_01"); + level._effect["breaking_wave_large_01"] = loadfx("vfx/water/breaking_wave_large_01"); + level._effect["light_buoy_red"] = loadfx("vfx/lights/light_buoy_red"); + level._effect["fx_sunflare_laser2"] = loadfx("vfx/lensflare/fx_sunflare_laser2"); + level._effect["laser_core_lvl1"] = loadfx("vfx/map/mp_laser2/laser_core_lvl1"); + level._effect["light_glow_white_square"] = loadfx("vfx/lights/global/light_glow_white_square"); + level._effect["laser_fluorescent_smoke_dim"] = loadfx("vfx/map/mp_laser2/laser_fluorescent_smoke_dim"); + level._effect["leaves_runner"] = loadfx("vfx/wind/leaves_runner"); + level._effect["falling_water_drip_line_runner_fast"] = loadfx("vfx/water/falling_water_drip_line_runner_fast"); + level._effect["falling_water_drip_line_runner_slow"] = loadfx("vfx/water/falling_water_drip_line_runner_slow"); + level._effect["single_drip_runner"] = loadfx("vfx/water/single_drip_runner"); + level._effect["single_drip_runner_frequent"] = loadfx("vfx/water/single_drip_runner_frequent"); + level._effect["bird_seagull_flock_large"] = loadfx("vfx/animal/bird_seagull_flock_large"); + level._effect["electrical_sparks_runner"] = loadfx("vfx/explosion/electrical_sparks_runner"); + level._effect["dust_falling_debris_runner"] = loadfx("vfx/dust/dust_falling_debris_runner"); + level._effect["insects_flies_landing"] = loadfx("vfx/animal/insects_flies_landing"); + level._effect["insects_moths"] = loadfx("vfx/animal/insects_moths"); + level._effect["roach_flock_straight_runner"] = loadfx("vfx/animal/roach_flock_straight_runner"); + level._effect["roach_lrg_pipe_scatter_runner"] = loadfx("vfx/animal/roach_lrg_pipe_scatter_runner"); + level._effect["roach_med_pipe_scatter_runner"] = loadfx("vfx/animal/roach_med_pipe_scatter_runner"); + level._effect["trash_tornado_s_runner"] = loadfx("vfx/wind/trash_tornado_s_runner"); + level._effect["light_skylight_haze"] = loadfx("vfx/lights/light_skylight_haze"); + level._effect["light_skylight_haze_narrow"] = loadfx("vfx/lights/light_skylight_haze_narrow"); + level._effect["laser_generator_glow_blue"] = loadfx("vfx/map/mp_laser2/laser_generator_glow_blue"); + level._effect["laser_long_fluorescent_glow"] = loadfx("vfx/map/mp_laser2/laser_long_fluorescent_glow"); + level._effect["fog_distant_vista_dense"] = loadfx("vfx/fog/fog_distant_vista_dense"); + level._effect["fog_close_onbridge"] = loadfx("vfx/fog/fog_close_onbridge"); + level._effect["fog_distant_aerialview"] = loadfx("vfx/fog/fog_distant_aerialview"); + level._effect["fog_over_hill_slow"] = loadfx("vfx/fog/fog_over_hill_slow"); + level._effect["fog_distant_vista"] = loadfx("vfx/fog/fog_distant_vista"); + level._effect["fog_laser2_hills"] = loadfx("vfx/map/mp_laser2/fog_laser2_hills"); + level._effect["fog_laser2_distant_vista_1"] = loadfx("vfx/map/mp_laser2/fog_laser2_distant_vista_1"); + level.fx_waves = []; + level.fx_oceanfoam = []; + thread deactivatedlaserfx(); +} + +//Function Number: 2 +setupwaves(param_00) +{ + var_01 = [(-584.903,-1536.18,163.125),1.5,(-252.849,-2122.8,166.125),0,(-156.219,-1567.68,160.125),2,(172.208,-1528.17,167.125),3,(1054.11,-1649.7,164.125),0,(1602.57,-1416.54,167.125),1,(2043.16,-942.894,167.125),1.6,(2530.3,-567.627,164.125),2.2,(2852.56,-303.176,163.79),4,(-1169.37,-1656.77,161.125),1,(-1622.98,-1736.73,164.125),0,(-2182.48,-480.268,168),1.2,(-2455.47,-131.343,168),0,(-1917.2,-1068.53,159),2,(2980.57,245.072,170.125),0.5,(3434.08,736.992,210.864),3,(4049.32,1242.84,168),4.5,(2270.59,-692.692,170.125),3.5]; + for(var_02 = 0;var_02 < var_01.size;var_02 = var_02 + 2) + { + var_03 = spawnstruct(); + var_03.delay = var_01[var_02 + 1]; + var_04 = common_scripts\utility::spawn_tag_origin(); + var_04 show(); + var_04.origin = (var_01[var_02][0],var_01[var_02][1],param_00.origin[2]); + var_04.angles = (270,0,-90); + var_04 vehicle_jetbikesethoverforcescale(param_00); + var_03.ent = var_04; + level.fx_waves[level.fx_waves.size] = var_03; + } +} + +//Function Number: 3 +setupoceanfoam(param_00) +{ + var_01 = [(-589.197,-1605.05,233.502),(270,0,-90),0,(-843.596,-1305.72,258.718),(270,0,-90),1,(37.7022,-1250.75,255.878),(270,0,-90),2,(-605.969,-878.506,254.76),(270,0,-90),3,(-225.131,-725.816,254.456),(270,0,-90),4,(503.141,-654.117,273.566),(270,0,-90),5,(1366.39,-1202.34,266.587),(270,0,-77),6,(2322.31,-81.669,215.623),(270,0,-77),7,(3591.37,752.588,255),(270,0,-58),8]; + for(var_02 = 0;var_02 < var_01.size;var_02 = var_02 + 3) + { + var_03 = spawnstruct(); + var_03.num = var_01[var_02 + 2]; + var_04 = common_scripts\utility::spawn_tag_origin(); + var_04 show(); + var_04.origin = (var_01[var_02][0],var_01[var_02][1],param_00.origin[2]); + var_04.angles = var_01[var_02 + 1]; + var_04 vehicle_jetbikesethoverforcescale(param_00); + var_03.ent = var_04; + level.fx_oceanfoam[level.fx_oceanfoam.size] = var_03; + } +} + +//Function Number: 4 +playwaves(param_00,param_01,param_02,param_03) +{ + level endon("game_ended"); + if(isdefined(param_00)) + { + level notify(param_00); + level endon(param_00); + } + + if(!isdefined(param_01)) + { + param_01 = 3; + } + + if(!isdefined(param_02)) + { + param_02 = 5; + } + + for(;;) + { + foreach(var_05 in level.fx_waves) + { + var_05.fxid = param_03; + thread playfxent(var_05); + } + + wait(randomfloatrange(param_01,param_02)); + } +} + +//Function Number: 5 +playfxent(param_00) +{ + wait(param_00.delay); + playfxontag(common_scripts\utility::getfx(param_00.fxid),param_00.ent,"tag_origin"); +} + +//Function Number: 6 +playoceanfoam(param_00,param_01) +{ + foreach(var_03 in level.fx_oceanfoam) + { + if(var_03.num == param_01) + { + playfxontag(common_scripts\utility::getfx(param_00),var_03.ent,"tag_origin"); + } + } +} + +//Function Number: 7 +start_wave_mist_fx() +{ + playfxontag(common_scripts\utility::getfx("tidal_wave_crest_mist"),self,"tag_fx_5"); + wait(0.2); + playfxontag(common_scripts\utility::getfx("tidal_wave_crest_mist"),self,"tag_fx_4"); + wait(0.2); + playfxontag(common_scripts\utility::getfx("tidal_wave_crest_mist"),self,"tag_fx_3"); + wait(0.2); + playfxontag(common_scripts\utility::getfx("tidal_wave_crest_mist"),self,"tag_fx_2"); + wait(0.2); + playfxontag(common_scripts\utility::getfx("tidal_wave_crest_mist"),self,"tag_fx_1"); +} + +//Function Number: 8 +stop_wave_mist_fx() +{ + stopfxontag(common_scripts\utility::getfx("tidal_wave_crest_mist"),self,"tag_fx_1"); + wait(0.2); + stopfxontag(common_scripts\utility::getfx("tidal_wave_crest_mist"),self,"tag_fx_2"); + wait(0.2); + stopfxontag(common_scripts\utility::getfx("tidal_wave_crest_mist"),self,"tag_fx_3"); + wait(0.2); + stopfxontag(common_scripts\utility::getfx("tidal_wave_crest_mist"),self,"tag_fx_4"); + wait(0.2); + stopfxontag(common_scripts\utility::getfx("tidal_wave_crest_mist"),self,"tag_fx_5"); +} + +//Function Number: 9 +deactivatedlaserfx() +{ + activatepersistentclientexploder(200); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_laser2_lighting.gsc b/AW/PC/maps/mp/mp_laser2_lighting.gsc new file mode 100644 index 0000000..4bd1042 --- /dev/null +++ b/AW/PC/maps/mp/mp_laser2_lighting.gsc @@ -0,0 +1,34 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_laser2_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 29 ms + * Timestamp: 4/22/2024 2:17:53 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setdvar("r_reflectionprobefog","1"); + setdvar("r_lightGridEnableTweaks","1"); + setdvar("r_lightGridIntensity","1.33"); + setdvar("r_volumeLightScatter","1"); + setdvar("r_volumeLightScatterUseTweaks","1"); + setdvar("r_volumeLightScatterAngularAtten",".34"); + setdvar("r_volumeLightScatterColor","0.97 0.98 0.96"); + setdvar("r_volumeLightScatterLinearAtten","1"); + setdvar("r_volumeLightScatterEV","12.7"); + setdvar("r_volumeLightScatterBackgroundDistance","200000"); + setdvar("r_gunSightColorEntityScale","7"); + setdvar("r_gunSightColorNoneScale","0.8"); + setdvar("r_mpRimColor","1 0.8 0.5"); + setdvar("r_mpRimStrength","0"); + setdvar("r_mpRimDiffuseTint","1 1 1"); + if(level.currentgen) + { + setdvar("r_intensity",1.15); + setdvar("r_brightness",getdvar("r_brightness") + 0.07); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_laser2_precache.gsc b/AW/PC/maps/mp/mp_laser2_precache.gsc new file mode 100644 index 0000000..6610fa3 --- /dev/null +++ b/AW/PC/maps/mp/mp_laser2_precache.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_laser2_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 2:17:53 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_levity.gsc b/AW/PC/maps/mp/mp_levity.gsc new file mode 100644 index 0000000..a5fd2b0 --- /dev/null +++ b/AW/PC/maps/mp/mp_levity.gsc @@ -0,0 +1,365 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_levity.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 24 + * Decompile Time: 372 ms + * Timestamp: 4/22/2024 2:17:54 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\mp\mp_levity_precache::main(); + maps\createart\mp_levity_art::main(); + maps\mp\mp_levity_fx::main(); + maps\mp\_load::main(); + thread set_lighting_values(); + maps\mp\mp_levity_lighting::main(); + thread maps\mp\mp_levity_aud::main(); + level.aerial_pathnode_offset = 600; + level.aerial_pathnodes_force_connect[0] = spawnstruct(); + level.aerial_pathnodes_force_connect[0].origin = (-977,-1811,2054); + level.aerial_pathnodes_force_connect[0].radius = 275; + maps\mp\_compass::setupminimap("compass_map_mp_levity"); + setdvar("r_lightGridEnableTweaks",1); + setdvar("r_lightGridIntensity",1.33); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + common_scripts\utility::array_thread(getentarray("com_radar_dish","targetname"),::radar_dish_rotate); + level thread hanger_event(); + level thread init_fans(); + level thread init_antenna(); + level thread levitypatchclip(); + if(level.nextgen) + { + level thread init_assembly_line(); + setdvar("sm_polygonOffsetPreset",2); + } +} + +//Function Number: 2 +levitypatchclip() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(766,-3192,1488.5),(352.5,311.3,0.110002)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(963.5,-3033,1488.5),(352.5,306.4,0.109992)); +} + +//Function Number: 3 +init_assembly_line() +{ + var_00 = ["mp_lev_drone_assembly_line_01","mp_lev_drone_assembly_line_02","mp_lev_drone_assembly_line_03","mp_lev_drone_assembly_line_04","mp_lev_drone_assembly_line_05","mp_lev_drone_assembly_line_06","mp_lev_drone_assembly_line_07"]; + foreach(var_02 in var_00) + { + precachempanim(var_02); + } + + var_04 = common_scripts\utility::getstruct("robot_arm_scripted_node","targetname"); + var_05 = getentarray("assembly_line_drone","targetname"); + foreach(var_08, var_07 in var_05) + { + var_07 thread run_assembly_line(var_04,var_00[var_08]); + } +} + +//Function Number: 4 +run_assembly_line(param_00,param_01) +{ + self endon("death"); + var_02 = "droneNT"; + self scriptmodelplayanimdeltamotionfrompos(param_01,param_00.origin,param_00.angles,var_02); + for(;;) + { + self waittill(var_02,var_03); + var_04 = self gettagorigin("j_drone"); + switch(var_03) + { + case "drone_sound_start": + playsoundatpos(var_04,"drone_gear_start"); + break; + + case "drone_sound_stop": + playsoundatpos(var_04,"drone_gear_stop"); + break; + + default: + break; + } + } +} + +//Function Number: 5 +init_fans() +{ + var_00 = "mp_lev_ind_thermanl_cell_fan_spin"; + precachempanim(var_00); + var_01 = getentarray("levity_animated_fan","targetname"); + common_scripts\utility::array_thread(var_01,::run_fan,var_00); +} + +//Function Number: 6 +run_fan(param_00) +{ + self scriptmodelplayanimdeltamotion(param_00); +} + +//Function Number: 7 +init_antenna() +{ + var_00 = getentarray("levity_antenna","targetname"); + common_scripts\utility::array_thread(var_00,::radar_dish_rotate,20); +} + +//Function Number: 8 +radar_dish_rotate(param_00) +{ + var_01 = 40000; + if(!isdefined(param_00)) + { + param_00 = 70; + } + + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "lockedspeed") + { + wait(0); + } + else + { + wait(randomfloatrange(0,1)); + } + + for(;;) + { + self rotatevelocity((0,param_00,0),var_01); + wait(var_01); + } +} + +//Function Number: 9 +set_lighting_values() +{ + if(isusinghdr()) + { + for(;;) + { + level waittill("connected",var_00); + var_00 setclientdvars("r_tonemap","1"); + } + } +} + +//Function Number: 10 +hanger_event() +{ + level.event_ents = getentarray("hanger_event","targetname"); + common_scripts\utility::array_thread(level.event_ents,::hanger_floor_init); + common_scripts\utility::array_thread(level.event_ents,::hanger_ent_init); + common_scripts\utility::array_thread(level.event_ents,::hanger_event_idle_anims); +} + +//Function Number: 11 +event_start() +{ + common_scripts\utility::array_thread(level.event_ents,::hanger_floor_run); + thread maps\mp\mp_levity_aud::event_aud(); +} + +//Function Number: 12 +event_reset() +{ + common_scripts\utility::array_thread(level.event_ents,::hanger_ent_reset); + common_scripts\utility::array_thread(level.event_ents,::hanger_event_idle_anims); + hanger_event_connect_nodes_drone(); + hanger_event_connect_nodes_floor(); +} + +//Function Number: 13 +hanger_ent_init() +{ + self.start_origin = self.origin; + self.start_angles = self.angles; +} + +//Function Number: 14 +hanger_ent_reset() +{ + if(isdefined(self.event_animated) && self.event_animated) + { + self scriptmodelclearanim(); + if(isdefined(self.collision_prop)) + { + self.collision_prop scriptmodelclearanim(); + } + } + + self.origin = self.start_origin; + self.angles = self.start_angles; +} + +//Function Number: 15 +hanger_floor_init() +{ + var_00 = (60,0,0); + switch(self.script_noteworthy) + { + case "hanger_door_left": + self.origin = self.origin - var_00; + self disconnectpaths(); + break; + + case "hanger_door_right": + self.origin = self.origin + var_00; + self disconnectpaths(); + break; + + case "drone": + if(isdefined(self.target)) + { + var_01 = getent(self.target,"targetname"); + var_01.carepackagetouchvalid = 1; + var_01 linkto(self); + } + break; + + default: + break; + } +} + +//Function Number: 16 +drone_fx() +{ + waittillframeend; + var_00 = spawnlinkedfx(common_scripts\utility::getfx("mp_levity_aircraft_light"),self,"tag_fx_camera"); + triggerfx(var_00); +} + +//Function Number: 17 +hanger_event_idle_anims() +{ + switch(self.script_noteworthy) + { + case "drone": + self.event_animated = 1; + var_00 = []; + var_00["drone"] = "mp_lev_drone_deploy_idle"; + var_01 = common_scripts\utility::getstruct("ref_anim_node","targetname"); + self scriptmodelplayanimdeltamotionfrompos(var_00[self.script_noteworthy],var_01.origin,var_01.angles); + if(isdefined(self.collision_prop)) + { + self.collision_prop scriptmodelplayanimdeltamotionfrompos(var_00[self.script_noteworthy + "_collision"],var_01.origin,var_01.angles); + } + + thread drone_fx(); + break; + + default: + break; + } +} + +//Function Number: 18 +hanger_floor_run() +{ + var_00 = 270; + var_01 = 2; + var_02 = 110; + var_03 = 2; + var_04 = 90; + var_05 = 1.5; + var_06 = 2; + var_07 = -512; + var_08 = 6000; + var_09 = 2; + var_0A = 1; + var_0B = 1; + switch(self.script_noteworthy) + { + case "hanger_floor_left": + hanger_event_disconnect_nodes_floor(); + self movex(-1 * var_00,var_01); + break; + + case "hanger_floor_right": + self movex(var_00,var_01); + break; + + case "drone": + var_0C = []; + var_0C["drone"] = "mp_lev_drone_deploy"; + var_0D = common_scripts\utility::getstruct("ref_anim_node","targetname"); + wait(var_05); + self scriptmodelplayanimdeltamotionfrompos(var_0C[self.script_noteworthy],var_0D.origin,var_0D.angles); + if(isdefined(self.collision_prop)) + { + self.collision_prop scriptmodelplayanimdeltamotionfrompos(var_0C[self.script_noteworthy + "_collision"],var_0D.origin,var_0D.angles); + } + break; + + case "window": + wait(var_05); + var_0E = common_scripts\utility::getstruct(self.target,"targetname"); + self moveto(var_0E.origin,var_0A); + break; + + case "window_step": + wait(var_05); + var_0E = common_scripts\utility::getstruct(self.target,"targetname"); + self moveto(var_0E.origin,var_0B); + break; + + default: + break; + } +} + +//Function Number: 19 +hanger_event_disconnect_nodes(param_00) +{ + var_01 = getent(param_00,"targetname"); + if(!isdefined(var_01)) + { + return; + } + + var_01.origin = var_01.origin + (0,0,1200); + var_01 disconnectpaths(); + var_01.origin = var_01.origin - (0,0,1200); +} + +//Function Number: 20 +hanger_event_disconnect_nodes_drone() +{ + hanger_event_disconnect_nodes("path_node_disconnect_drone"); +} + +//Function Number: 21 +hanger_event_disconnect_nodes_floor() +{ + hanger_event_disconnect_nodes("path_node_disconnect_floor"); +} + +//Function Number: 22 +hanger_event_connect_nodes(param_00) +{ + var_01 = getent(param_00,"targetname"); + if(!isdefined(var_01)) + { + return; + } + + var_01 connectpaths(); +} + +//Function Number: 23 +hanger_event_connect_nodes_drone() +{ + hanger_event_connect_nodes("path_node_disconnect_drone"); +} + +//Function Number: 24 +hanger_event_connect_nodes_floor() +{ + hanger_event_connect_nodes("path_node_disconnect_floor"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_levity_aud.gsc b/AW/PC/maps/mp/mp_levity_aud.gsc new file mode 100644 index 0000000..8975795 --- /dev/null +++ b/AW/PC/maps/mp/mp_levity_aud.gsc @@ -0,0 +1,32 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_levity_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 56 ms + * Timestamp: 4/22/2024 2:17:55 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level thread setup_audio(); + level.aud_piston_ent = []; + level.aud_piston_ent[1] = spawn("script_origin",(249,-2260,1418)); + level.aud_piston_ent[2] = spawn("script_origin",(249,-1996,1418)); + level.aud_piston_ent[3] = spawn("script_origin",(-225,-1996,1418)); + level.aud_piston_ent[4] = spawn("script_origin",(-225,-2260,1418)); +} + +//Function Number: 2 +setup_audio() +{ +} + +//Function Number: 3 +event_aud(param_00) +{ + playsoundatpos((0,-2225,1311),"mp_levity_hanger_door_verb"); + playsoundatpos((0,-2225,1311),"mp_levity_hanger_door"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_levity_fx.gsc b/AW/PC/maps/mp/mp_levity_fx.gsc new file mode 100644 index 0000000..fde924c --- /dev/null +++ b/AW/PC/maps/mp/mp_levity_fx.gsc @@ -0,0 +1,88 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_levity_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:17:55 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["mp_lev_steam_vents_lg"] = loadfx("vfx/map/mp_levity/mp_lev_steam_vents_lg"); + level._effect["ambient_snowing_indoor_blend"] = loadfx("vfx/snow/ambient_snowing_indoor_blend"); + level._effect["mp_levity_spot_flare3"] = loadfx("vfx/lights/mp_levity/mp_levity_spot_flare3"); + level._effect["falling_water_narrow_noimpact"] = loadfx("vfx/map/mp_dam/falling_water_narrow_noimpact"); + level._effect["falling_water_drip_caves"] = loadfx("vfx/water/falling_water_drip_caves"); + level._effect["falling_water_narrow"] = loadfx("vfx/map/mp_dam/falling_water_narrow"); + level._effect["mp_levity_spot_flare2"] = loadfx("vfx/lights/mp_levity/mp_levity_spot_flare2"); + level._effect["mp_levity_hologram_satellite_4"] = loadfx("vfx/map/mp_levity/mp_levity_hologram_satellite_4"); + level._effect["mp_levity_hologram_satellite_3"] = loadfx("vfx/map/mp_levity/mp_levity_hologram_satellite_3"); + level._effect["mp_levity_hologram_satellite_2"] = loadfx("vfx/map/mp_levity/mp_levity_hologram_satellite_2"); + level._effect["snow_swirl_lp"] = loadfx("vfx/snow/snow_swirl_lp"); + level._effect["snow_cloud_moutain_peak"] = loadfx("vfx/wind/snow_cloud_moutain_peak"); + level._effect["mp_levity_distant_drone"] = loadfx("vfx/map/mp_levity/mp_levity_distant_drone"); + level._effect["light_welding_sparks_room_sm"] = loadfx("vfx/lights/light_welding_sparks_room_sm"); + level._effect["mp_levity_hologram_satellite"] = loadfx("vfx/map/mp_levity/mp_levity_hologram_satellite"); + level._effect["mp_lev_godray_01"] = loadfx("vfx/map/mp_levity/mp_lev_godray_01"); + level._effect["mp_levity_spot_flare"] = loadfx("vfx/lights/mp_levity/mp_levity_spot_flare"); + level._effect["mp_lev_wall_vent"] = loadfx("vfx/map/mp_levity/mp_lev_wall_vent"); + level._effect["mp_levity_drone_arclight"] = loadfx("vfx/map/mp_levity/mp_levity_drone_arclight"); + level._effect["mp_levity_rotating_decal_2"] = loadfx("vfx/map/mp_levity/mp_levity_rotating_decal_2"); + level._effect["frost_patch"] = loadfx("vfx/fog/frost_patch"); + level._effect["mp_levity_aircraft_light"] = loadfx("vfx/map/mp_levity/mp_levity_aircraft_light"); + level._effect["snow_light_wind_puff_runner"] = loadfx("vfx/snow/snow_light_wind_puff_runner"); + level._effect["mp_levity_drone_arc"] = loadfx("vfx/map/mp_levity/mp_levity_drone_arc"); + level._effect["light_welding_sparks_room_md"] = loadfx("vfx/lights/light_welding_sparks_room_md"); + level._effect["welding_sparks_lp"] = loadfx("vfx/sparks/welding_sparks_lp"); + level._effect["mp_levity_fan_01_lp"] = loadfx("vfx/map/mp_levity/mp_levity_fan_01_lp"); + level._effect["mp_lev_steam_vents"] = loadfx("vfx/map/mp_levity/mp_lev_steam_vents"); + level._effect["mp_lev_steam_vents_turb"] = loadfx("vfx/map/mp_levity/mp_lev_steam_vents_turb"); + level._effect["mp_levity_screen_drops_01"] = loadfx("vfx/map/mp_levity/mp_levity_screen_drops_01"); + level._effect["mp_levity_waterfall_mist_03"] = loadfx("vfx/map/mp_levity/mp_levity_waterfall_mist_03"); + level._effect["mp_levity_waterfall_mist_02"] = loadfx("vfx/map/mp_levity/mp_levity_waterfall_mist_02"); + level._effect["mp_lev_electrical_arc_lp"] = loadfx("vfx/map/mp_levity/mp_lev_electrical_arc_lp"); + level._effect["falling_ice_runner_far"] = loadfx("vfx/snow/falling_ice_runner_far"); + level._effect["falling_snow_runner_far"] = loadfx("vfx/snow/falling_snow_runner_far"); + level._effect["mp_levity_waterfall_d"] = loadfx("vfx/map/mp_levity/mp_levity_waterfall_d"); + level._effect["mp_levity_waterfall_mist_01"] = loadfx("vfx/map/mp_levity/mp_levity_waterfall_mist_01"); + level._effect["waterfall_splash_base_lg_mp"] = loadfx("vfx/water/waterfall_splash_base_lg_mp"); + level._effect["mp_levity_waterfall_c"] = loadfx("vfx/map/mp_levity/mp_levity_waterfall_c"); + level._effect["mp_levity_river_splashes"] = loadfx("vfx/map/mp_levity/mp_levity_river_splashes"); + level._effect["waterfall_splash_base_mp"] = loadfx("vfx/water/waterfall_splash_base_mp"); + level._effect["mp_levity_waterfall_b"] = loadfx("vfx/map/mp_levity/mp_levity_waterfall_b"); + level._effect["mp_levity_waterfall_a"] = loadfx("vfx/map/mp_levity/mp_levity_waterfall_a"); + level._effect["waterfall_splash_lg"] = loadfx("vfx/water/waterfall_splash_lg"); + level._effect["electrical_arc"] = loadfx("vfx/map/mp_dam/electrical_arc"); + level._effect["ground_snow_drifts_flat_lp3"] = loadfx("vfx/snow/ground_snow_drifts_flat_lp3"); + level._effect["mp_levity_machineroom_dust"] = loadfx("vfx/map/mp_levity/mp_levity_machineroom_dust"); + level._effect["mp_lev_steam2"] = loadfx("vfx/map/mp_levity/mp_lev_steam2"); + level._effect["mp_levity_dust_ambient_int"] = loadfx("vfx/map/mp_levity/mp_levity_dust_ambient_int"); + level._effect["mp_levity_hanging_light_01"] = loadfx("vfx/lights/mp_levity/mp_levity_hanging_light_01"); + level._effect["snow_blowing_door_lp"] = loadfx("vfx/snow/snow_blowing_door_lp"); + level._effect["snow_blown_off_rocks_lp"] = loadfx("vfx/snow/snow_blown_off_rocks_lp"); + level._effect["ambient_snowing"] = loadfx("vfx/snow/ambient_snowing"); + level._effect["roof_snow_hvy_wind_lp"] = loadfx("vfx/snow/roof_snow_hvy_wind_lp"); + level._effect["snow_tornado_s_runner"] = loadfx("vfx/snow/snow_tornado_s_runner"); + level._effect["snow_light_wind_gust_runner"] = loadfx("vfx/snow/snow_light_wind_gust_runner"); + level._effect["ground_snow_drifts_flat_lp"] = loadfx("vfx/snow/ground_snow_drifts_flat_lp"); + level._effect["ground_snow_light_wind_lp"] = loadfx("vfx/snow/ground_snow_light_wind_lp"); + level._effect["ground_snow_flurries"] = loadfx("vfx/snow/ground_snow_flurries"); + level._effect["falling_snow_runner"] = loadfx("vfx/snow/falling_snow_runner"); + level._effect["mp_lev_smoke_vista"] = loadfx("vfx/map/mp_levity/mp_lev_smoke_vista"); + level._effect["mp_levity_splash_ripple"] = loadfx("vfx/map/mp_levity/mp_levity_splash_ripple"); + level._effect["ripple_flow_distortion"] = loadfx("vfx/water/ripple_flow_distortion"); + level._effect["mp_levity_distortion_heat"] = loadfx("vfx/map/mp_levity/mp_levity_distortion_heat"); + level._effect["mp_levity_drone_hover"] = loadfx("vfx/map/mp_levity/mp_levity_drone_hover"); + level._effect["mp_levity_drone_hologram"] = loadfx("vfx/map/mp_levity/mp_levity_drone_hologram"); + level._effect["mp_levity_steam_rising_indoor"] = loadfx("vfx/map/mp_levity/mp_levity_steam_rising_indoor"); + level._effect["mp_lev_steam"] = loadfx("vfx/map/mp_levity/mp_lev_steam"); + level._effect["mp_levity_hologram"] = loadfx("vfx/map/mp_levity/mp_levity_hologram"); + level._effect["mp_levity_rotating_decal"] = loadfx("vfx/map/mp_levity/mp_levity_rotating_decal"); + level._effect["mp_gb_sparks_runner"] = loadfx("vfx/map/mp_greenband/mp_gb_sparks_runner"); + level._effect["falling_water_drip_runner_fast"] = loadfx("vfx/water/falling_water_drip_runner_fast"); + level._effect["falling_water_drip_line_lg_runner_fast"] = loadfx("vfx/water/falling_water_drip_line_lg_runner_fast"); + level._effect["mp_levity_waterfall_playspacemist"] = loadfx("vfx/map/mp_levity/mp_levity_waterfall_playspacemist"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_levity_lighting.gsc b/AW/PC/maps/mp/mp_levity_lighting.gsc new file mode 100644 index 0000000..1e0d5ce --- /dev/null +++ b/AW/PC/maps/mp/mp_levity_lighting.gsc @@ -0,0 +1,30 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_levity_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:17:55 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setdvar("r_lightGridEnableTweaks",1); + setdvar("r_lightGridIntensity",1.33); + setdvar("r_mpRimColor",".7 .9 1"); + setdvar("r_mpRimStrength","7"); + setdvar("r_mpRimDiffuseTint",".77 .85 1.1"); + setdvar("r_gunSightColorEntityScale","7"); + setdvar("r_gunSightColorNoneScale","0.8"); + if(level.currentgen) + { + level.ospvisionset = "mp_levity_osp"; + level.osplightset = "mp_levity_osp"; + level.warbirdvisionset = "mp_levity_warbird"; + level.warbirdlightset = "mp_levity_warbird"; + level.dronevisionset = "mp_levity_drone"; + level.dronelightset = "mp_levity_drone"; + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_levity_precache.gsc b/AW/PC/maps/mp/mp_levity_precache.gsc new file mode 100644 index 0000000..af1560c --- /dev/null +++ b/AW/PC/maps/mp/mp_levity_precache.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_levity_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 37 ms + * Timestamp: 4/22/2024 2:17:56 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_liberty.gsc b/AW/PC/maps/mp/mp_liberty.gsc new file mode 100644 index 0000000..b085198 --- /dev/null +++ b/AW/PC/maps/mp/mp_liberty.gsc @@ -0,0 +1,480 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_liberty.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 27 + * Decompile Time: 416 ms + * Timestamp: 4/22/2024 2:17:57 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.callbackstartgametype = ::liberty_callbackstartgametype; + maps\mp\mp_liberty_precache::main(); + maps\createart\mp_liberty_art::main(); + maps\mp\mp_liberty_fx::main(); + maps\mp\_load::main(); + maps\mp\mp_liberty_lighting::main(); + maps\mp\mp_liberty_aud::main(); + maps\mp\_compass::setupminimap("compass_map_mp_liberty"); + thread setupdynamicevent(); + thread dynamictraversals(); + thread aud_pa_map_event_1min(); + thread aud_pa_system_announcements_decon(); + thread aud_pa_system_announcements_vessel(); + thread aud_pa_system_announcements_medzone(); + maps\mp\_water::init(); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + level.ospvisionset = "mp_liberty_osp"; + level.osplightset = "mp_liberty_osp"; + level.dronevisionset = "mp_liberty_drone"; + level.dronelightset = "mp_liberty_drone"; + level.warbirdvisionset = "mp_liberty_warbird"; + level.warbirdlightset = "mp_liberty_warbird"; + level.skip_bot_node_checks = 1; + level.monkeytriggerplayers = []; + level.monkeytriggerplayers2 = []; + level thread monkeysmonitorshooting(); + level thread monkeysmonitorshooting2(); + level thread monkeys(); + level thread monkeys2(); + if(level.nextgen) + { + level thread patchclip(); + } +} + +//Function Number: 2 +liberty_callbackstartgametype() +{ + maps\mp\gametypes\_gamelogic::callback_startgametype(); + common_scripts\_bcs_location_trigs_dlc::bcs_location_trigs_dlc_init(); +} + +//Function Number: 3 +patchclip() +{ +} + +//Function Number: 4 +setupdynamicevent() +{ + level thread maps\mp\_dynamic_events::dynamicevent(::dynamiceventstartfunc,undefined,::dynamiceventendfunc); +} + +//Function Number: 5 +dynamiceventstartfunc() +{ + level thread common_scripts\_exploder::activate_clientside_exploder(2); + playsoundatpos((0,0,0),"mp_liberty_alarm_start"); + wait(6); + level notify("doors opening"); + var_00 = getent("ape_door","targetname"); + var_01 = getent("ape_door2","targetname"); + var_02 = getent("physicsJolt","targetname"); + physicsjolt(var_02.origin,512,256,(0,-0.4,0.1)); + var_03 = var_00 common_scripts\utility::spawn_tag_origin(); + var_03 linkto(var_00); + var_03 show(); + playfxontag(common_scripts\utility::getfx("lib_hatchet_doors_open"),var_03,"tag_origin"); + var_04 = var_01 common_scripts\utility::spawn_tag_origin(); + var_04 linkto(var_01); + var_04 show(); + playfxontag(common_scripts\utility::getfx("lib_hatchet_doors_open_2"),var_04,"tag_origin"); + thread maps\mp\mp_liberty_fx::dynamic_door_dust_effect(); + thread disconnectnodes(); + var_05 = getentarray("ape_door_sfx","targetname"); + foreach(var_07 in var_05) + { + } + + level thread common_scripts\_exploder::activate_clientside_exploder(2); + var_00 rotateto((0,0,-80),15,4,4); + var_01 rotateto((0,0,80),15,4,4); + var_09 = var_00 getlinkedchildren(); + var_09 = common_scripts\utility::array_combine(var_09,var_01 getlinkedchildren()); + for(var_0A = 0;var_0A < var_09.size;var_0A++) + { + if(isdefined(var_09[var_0A].targetname) && var_09[var_0A].targetname == "care_package") + { + var_09[var_0A] maps\mp\killstreaks\_airdrop::deletecrate(); + } + + if(isdefined(var_09[var_0A].classname) && var_09[var_0A].classname == "misc_turret") + { + var_09[var_0A] notify("death"); + } + } + + thread maps\mp\_audio::snd_play_in_space("mp_lib_monkey_doors_full",var_00.origin); + thread maps\mp\_audio::snd_play_in_space("mp_lib_monkey_doors_bed",var_00.origin); + thread maps\mp\_audio::snd_play_in_space("dynwarn_liberty_doors_opening",(216,179,545)); + wait(12); + var_0B = getent("physicsJolt2","targetname"); + physicsjolt(var_0B.origin,512,256,(0,-0.4,0.1)); + maps\mp\_audio::snd_play_in_space("dynwarn_liberty_doors_open",(216,179,545)); + wait(2); +} + +//Function Number: 6 +dynamiceventendfunc() +{ + level notify("doors opening"); + var_00 = getent("ape_door","targetname"); + var_01 = getent("ape_door2","targetname"); + var_00 rotateto((0,0,-80),1); + var_01 rotateto((0,0,80),1); + thread disconnectnodes(); +} + +//Function Number: 7 +dynamictraversals() +{ + var_00 = getnodearray("dynamic_traversal_add","script_noteworthy"); + foreach(var_02 in var_00) + { + var_02 disconnectnode(); + } + + level waittill("doors opening"); + foreach(var_02 in var_00) + { + var_02 connectnode(); + } +} + +//Function Number: 8 +disconnectnodes() +{ + var_00 = getnodearray("dynamic_node_delete","targetname"); + foreach(var_02 in var_00) + { + var_02 disconnectnode(); + } + + var_04 = getnodearray("dynamic_traversal_delete","script_noteworthy"); + foreach(var_06 in var_04) + { + var_06 disconnectnode(); + } +} + +//Function Number: 9 +monkeys() +{ + level.monkeytriggers = getent("monkey_trigger","targetname"); + level.monkeys = getentarray("caged_monkey","targetname"); + level.monkeyanimvariants = ["a","a2","b","b2"]; + level.monkeyanimsubvariants = ["","2"]; + foreach(var_01 in level.monkeys) + { + var_01 thread startdefaultanim(); + } + + level.monkeytriggers thread monkeytriggerthink(); +} + +//Function Number: 10 +startdefaultanim() +{ + var_00 = randomfloatrange(0.5,5); + wait(var_00); + var_01 = common_scripts\utility::random(level.monkeyanimvariants); + var_02 = common_scripts\utility::random(level.monkeyanimsubvariants); + if(var_01 == "a") + { + var_02 = ""; + } + else if(var_01 == "a2") + { + var_02 = "2"; + } + else if(var_01 == "b") + { + var_02 = ""; + } + else if(var_01 == "b2") + { + var_02 = "2"; + } + + self scriptmodelplayanim("liberty_monkey_calm_idle_" + var_01 + var_02); + self.freakoutstate = "calm"; +} + +//Function Number: 11 +monkeytriggerthink() +{ + for(;;) + { + self waittill("trigger",var_00); + if(isplayer(var_00) && !common_scripts\utility::array_contains(level.monkeytriggerplayers,var_00)) + { + level.monkeytriggerplayers = common_scripts\utility::array_add(level.monkeytriggerplayers,var_00); + var_00 thread monitormonkeytriggerexit(self); + } + } +} + +//Function Number: 12 +monkeysmonitorshooting() +{ + for(;;) + { + foreach(var_01 in level.monkeytriggerplayers) + { + if(isplayer(var_01) && var_01 isfiring()) + { + foreach(var_03 in level.monkeys) + { + if(var_03.freakoutstate == "calm") + { + var_03 thread monkeyfreakout(); + } + } + + wait(1); + } + } + + wait(0.05); + } +} + +//Function Number: 13 +monitormonkeytriggerexit(param_00) +{ + while(isdefined(self) && self istouching(param_00)) + { + wait(0.05); + } + + if(common_scripts\utility::array_contains(level.monkeytriggerplayers,self)) + { + level.monkeytriggerplayers = common_scripts\utility::array_remove(level.monkeytriggerplayers,self); + } +} + +//Function Number: 14 +monkeyfreakout() +{ + self.freakoutstate = "freaking_out"; + thread aud_monkey_freakout(); + var_00 = randomfloatrange(0.1,2.5); + wait(var_00); + var_01 = common_scripts\utility::random(level.monkeyanimvariants); + var_02 = common_scripts\utility::random(level.monkeyanimsubvariants); + if(var_01 == "a") + { + var_02 = ""; + } + else if(var_01 == "a2") + { + var_02 = "2"; + } + else if(var_01 == "b") + { + var_02 = ""; + } + else if(var_01 == "b2") + { + var_02 = "2"; + } + + self scriptmodelclearanim(); + self scriptmodelplayanim("liberty_monkey_calm_2_freak_" + var_01 + var_02,"freak_out"); + self waittillmatch("end","freak_out"); + self scriptmodelclearanim(); + self scriptmodelplayanim("liberty_monkey_freak_idle_" + var_01 + var_02,"freak_idle"); + self.freakoutstate = "freaking_out"; + self waittillmatch("end","freak_idle"); + self scriptmodelclearanim(); + self endon("cancel_calmdown"); + self.freakoutstate = "calm"; + self scriptmodelplayanim("liberty_monkey_freak_2_calm_" + var_01 + var_02,"freak_2_calm"); + self waittillmatch("end","freak_2_calm"); + self scriptmodelclearanim(); + restartdefaultanim(var_01); +} + +//Function Number: 15 +aud_monkey_freakout() +{ + var_00 = randomfloatrange(1,2.5); + wait(var_00); + self playsound("mp_lib_monkey_yells"); + wait(var_00); + self playsound("mp_lib_monkey_yells"); +} + +//Function Number: 16 +restartdefaultanim(param_00) +{ + self scriptmodelplayanim("liberty_monkey_calm_idle_" + param_00); + self.freakoutstate = "calm"; +} + +//Function Number: 17 +monkeys2() +{ + level.monkeytriggers2 = getent("monkey_trigger2","targetname"); + level.monkeys2 = getentarray("caged_monkey2","targetname"); + level.monkeyanimvariants = ["a","b"]; + level.monkeyanimsubvariants = ["","2"]; + foreach(var_01 in level.monkeys2) + { + var_01 thread startdefaultanim2(); + } + + level.monkeytriggers2 thread monkeytriggerthink2(); +} + +//Function Number: 18 +startdefaultanim2() +{ + var_00 = randomfloatrange(0.5,5); + wait(var_00); + var_01 = common_scripts\utility::random(level.monkeyanimvariants); + if(var_01 != "b") + { + var_02 = common_scripts\utility::random(level.monkeyanimsubvariants); + } + else + { + var_02 = ""; + } + + self scriptmodelplayanim("liberty_monkey_calm_idle_" + var_01 + var_02); + self.freakoutstate = "calm"; +} + +//Function Number: 19 +monkeytriggerthink2() +{ + for(;;) + { + self waittill("trigger",var_00); + if(isplayer(var_00) && !common_scripts\utility::array_contains(level.monkeytriggerplayers2,var_00)) + { + level.monkeytriggerplayers2 = common_scripts\utility::array_add(level.monkeytriggerplayers2,var_00); + var_00 thread monitormonkeytriggerexit2(self); + } + } +} + +//Function Number: 20 +monkeysmonitorshooting2() +{ + for(;;) + { + foreach(var_01 in level.monkeytriggerplayers2) + { + if(isplayer(var_01) && var_01 isfiring()) + { + foreach(var_03 in level.monkeys2) + { + if(var_03.freakoutstate == "calm") + { + var_03 thread monkeyfreakout2(); + } + } + + wait(1); + } + } + + wait(0.05); + } +} + +//Function Number: 21 +monitormonkeytriggerexit2(param_00) +{ + while(isdefined(self) && self istouching(param_00)) + { + wait(0.05); + } + + if(common_scripts\utility::array_contains(level.monkeytriggerplayers2,self)) + { + level.monkeytriggerplayers2 = common_scripts\utility::array_remove(level.monkeytriggerplayers2,self); + } +} + +//Function Number: 22 +monkeyfreakout2() +{ + self.freakoutstate = "freaking_out"; + thread aud_monkey_freakout(); + var_00 = randomfloatrange(0.1,2.5); + wait(var_00); + var_01 = common_scripts\utility::random(level.monkeyanimvariants); + var_02 = common_scripts\utility::random(level.monkeyanimsubvariants); + self scriptmodelclearanim(); + self scriptmodelplayanim("liberty_monkey_calm_2_freak_" + var_01 + var_02,"freak_out"); + self waittillmatch("end","freak_out"); + self scriptmodelclearanim(); + self scriptmodelplayanim("liberty_monkey_freak_idle_" + var_01 + var_02,"freak_idle"); + self.freakoutstate = "freaking_out"; + self waittillmatch("end","freak_idle"); + self scriptmodelclearanim(); + self endon("cancel_calmdown"); + self.freakoutstate = "calm"; + self scriptmodelplayanim("liberty_monkey_freak_2_calm_" + var_01 + var_02,"freak_2_calm"); + self waittillmatch("end","freak_2_calm"); + self scriptmodelclearanim(); + restartdefaultanim2(var_01); +} + +//Function Number: 23 +restartdefaultanim2(param_00) +{ + self scriptmodelplayanim("liberty_monkey_calm_idle_" + param_00); + self.freakoutstate = "calm"; +} + +//Function Number: 24 +aud_pa_map_event_1min() +{ + wait(240); + common_scripts\utility::play_sound_in_space("dynwarn_liberty_doors_1min",(216,179,545)); +} + +//Function Number: 25 +aud_pa_system_announcements_decon() +{ + var_00 = randomfloatrange(40,75); + for(;;) + { + wait(var_00); + thread common_scripts\utility::play_sound_in_space("dynwarn_liberty_decon",(2149,28,347)); + wait(4); + } +} + +//Function Number: 26 +aud_pa_system_announcements_vessel() +{ + var_00 = randomfloatrange(45,60); + for(;;) + { + wait(var_00); + thread common_scripts\utility::play_sound_in_space("dynwarn_liberty_vessel",(-337,2701,427)); + wait(7); + } +} + +//Function Number: 27 +aud_pa_system_announcements_medzone() +{ + var_00 = randomfloatrange(35,55); + for(;;) + { + wait(var_00); + thread common_scripts\utility::play_sound_in_space("dynwarn_liberty_medzone",(286,-681,439)); + wait(10); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_liberty_aud.gsc b/AW/PC/maps/mp/mp_liberty_aud.gsc new file mode 100644 index 0000000..b49c982 --- /dev/null +++ b/AW/PC/maps/mp/mp_liberty_aud.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_liberty_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:17:58 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_liberty_fx.gsc b/AW/PC/maps/mp/mp_liberty_fx.gsc new file mode 100644 index 0000000..e76e13b --- /dev/null +++ b/AW/PC/maps/mp/mp_liberty_fx.gsc @@ -0,0 +1,112 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_liberty_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 46 ms + * Timestamp: 4/22/2024 2:17:58 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["lib_fan_glow"] = loadfx("vfx/map/mp_liberty/lib_fan_glow"); + level._effect["lib_int_dust_suction_lighter"] = loadfx("vfx/map/mp_liberty/lib_int_dust_suction_lighter"); + level._effect["lib_hay_falling_runner"] = loadfx("vfx/map/mp_liberty/lib_hay_falling_runner"); + level._effect["lib_harbor_mist_close"] = loadfx("vfx/map/mp_liberty/lib_harbor_mist_close"); + level._effect["insects_flies_landing_sm"] = loadfx("vfx/animal/insects_flies_landing_sm"); + level._effect["lib_int_dust_suction"] = loadfx("vfx/map/mp_liberty/lib_int_dust_suction"); + level._effect["lib_distant_large_amb_dust"] = loadfx("vfx/map/mp_liberty/lib_distant_large_amb_dust"); + level._effect["lib_dust_falling_round_runner"] = loadfx("vfx/map/mp_liberty/lib_dust_falling_round_runner"); + level._effect["lib_dust_falling_runner"] = loadfx("vfx/map/mp_liberty/lib_dust_falling_runner"); + level._effect["lib_hatchet_doors_open_2"] = loadfx("vfx/map/mp_liberty/lib_hatchet_doors_open_2"); + level._effect["lib_triple_vent_steam"] = loadfx("vfx/map/mp_liberty/lib_triple_vent_steam"); + level._effect["lib_vent_steam_double_rise"] = loadfx("vfx/map/mp_liberty/lib_vent_steam_double_rise"); + level._effect["lib_gate_open_dust"] = loadfx("vfx/map/mp_liberty/lib_gate_open_dust"); + level._effect["lib_hatchet_doors_open"] = loadfx("vfx/map/mp_liberty/lib_hatchet_doors_open"); + level._effect["lib_water_bubbles"] = loadfx("vfx/map/mp_liberty/lib_water_bubbles"); + level._effect["lib_hay_sticks_lp"] = loadfx("vfx/map/mp_liberty/lib_hay_sticks_lp"); + level._effect["lib_ripple_distortion"] = loadfx("vfx/map/mp_liberty/lib_ripple_distortion"); + level._effect["lib_hay_sticks_runner"] = loadfx("vfx/map/mp_liberty/lib_hay_sticks_runner"); + level._effect["lib_falling_water_drip_edge_runner"] = loadfx("vfx/map/mp_liberty/lib_falling_water_drip_edge_runner"); + level._effect["bet_electrical_sparks_runner"] = loadfx("vfx/map/betrayal/bet_electrical_sparks_runner"); + level._effect["lib_hand_scanner"] = loadfx("vfx/map/mp_liberty/lib_hand_scanner"); + level._effect["lib_falling_drip_slow_edge"] = loadfx("vfx/map/mp_liberty/lib_falling_drip_slow_edge"); + level._effect["lib_ambient_needles_runner"] = loadfx("vfx/map/mp_liberty/lib_ambient_needles_runner"); + level._effect["ambient_needles_runner"] = loadfx("vfx/map/mp_climate/ambient_needles_runner"); + level._effect["ambient_rolling_ground_leaves_fast_runner"] = loadfx("vfx/wind/ambient_rolling_ground_leaves_fast_runner"); + level._effect["falling_water_drip_100x100_runner"] = loadfx("vfx/water/falling_water_drip_100x100_runner"); + level._effect["lib_leaves_fall_gentlewind"] = loadfx("vfx/map/mp_liberty/lib_leaves_fall_gentlewind"); + level._effect["lib_hay_tornado_s_runner"] = loadfx("vfx/map/mp_liberty/lib_hay_tornado_s_runner"); + level._effect["lib_leaves_tornado_s_runner"] = loadfx("vfx/map/mp_liberty/lib_leaves_tornado_s_runner"); + level._effect["lib_godray_angled_dusty_wrm"] = loadfx("vfx/map/mp_liberty/lib_godray_angled_dusty_wrm"); + level._effect["leaves_runner_2"] = loadfx("vfx/wind/leaves_runner_2"); + level._effect["leaves_runner"] = loadfx("vfx/wind/leaves_runner"); + level._effect["lib_thick_dust"] = loadfx("vfx/map/mp_liberty/lib_thick_dust"); + level._effect["lib_dirt_runner"] = loadfx("vfx/map/mp_liberty/lib_dirt_runner"); + level._effect["lib_int_dust_cool"] = loadfx("vfx/map/mp_liberty/lib_int_dust_cool"); + level._effect["insects_moths"] = loadfx("vfx/animal/insects_moths"); + level._effect["lib_rain_splash_sm_50x50_lp"] = loadfx("vfx/map/mp_liberty/lib_rain_splash_sm_50x50_lp"); + level._effect["lib_rain_splashes"] = loadfx("vfx/map/mp_liberty/lib_rain_splashes"); + level._effect["lib_int_dust"] = loadfx("vfx/map/mp_liberty/lib_int_dust"); + level._effect["lib_hay_blowing_runner"] = loadfx("vfx/map/mp_liberty/lib_hay_blowing_runner"); + level._effect["lib_hay_blowing_oriented_runner"] = loadfx("vfx/map/mp_liberty/lib_hay_blowing_oriented_runner"); + level._effect["lib_ground_vent_steam"] = loadfx("vfx/map/mp_liberty/lib_ground_vent_steam"); + level._effect["lib_light_mist"] = loadfx("vfx/map/mp_liberty/lib_light_mist"); + level._effect["lib_harbor_mist"] = loadfx("vfx/map/mp_liberty/lib_harbor_mist"); + level._effect["sewage_flies_flying"] = loadfx("vfx/map/mp_clowntown/sewage_flies_flying"); + level._effect["lib_sky_dome"] = loadfx("vfx/map/mp_liberty/lib_sky_dome"); + level._effect["electrical_sparks_runner"] = loadfx("vfx/explosion/electrical_sparks_runner"); + level._effect["lib_water_dripping_edges"] = loadfx("vfx/map/mp_highrise2/lib_water_dripping_edges"); + level._effect["lib_water_pipe_drips"] = loadfx("vfx/map/mp_liberty/lib_water_pipe_drips"); + level._effect["steam_pipe_event"] = loadfx("vfx/map/mp_solar/steam_pipe_event"); + level._effect["plastic_shreds_hanging_e_slow"] = loadfx("vfx/wind/plastic_shreds_hanging_e_slow"); + level._effect["plastic_shreds_sheet_a"] = loadfx("vfx/wind/plastic_shreds_sheet_a"); + level._effect["lib_light_drizzle"] = loadfx("vfx/map/mp_liberty/lib_light_drizzle"); + level._effect["lib_distant_smoke_rise"] = loadfx("vfx/map/mp_liberty/lib_distant_smoke_rise"); + level._effect["lib_ambient_int_dust"] = loadfx("vfx/map/mp_liberty/lib_ambient_int_dust"); + level._effect["mp_lair_ambient_int_dust"] = loadfx("vfx/map/mp_liberty/lib_int_dust"); + level._effect["lib_vent_steam_single_rise"] = loadfx("vfx/map/mp_liberty/lib_vent_steam_single_rise"); + level._effect["lib_vent_steam"] = loadfx("vfx/map/mp_liberty/lib_vent_steam"); + level._effect["steam_ambient_vents"] = loadfx("vfx/map/mp_dam/steam_ambient_vents"); + level._effect["steam_building_exhaust_windy"] = loadfx("vfx/steam/steam_building_exhaust_windy"); + level._effect["lib_vent_smoke"] = loadfx("vfx/map/mp_kremlin/lib_vent_smoke"); + level._effect["insects_fruitflies_flying"] = loadfx("vfx/animal/insects_fruitflies_flying"); + level._effect["lib_dust_ambient_int"] = loadfx("vfx/map/mp_liberty/lib_dust_ambient_int"); + level._effect["mp_trash_blowing_runner"] = loadfx("vfx/map/mp_lost/mp_trash_blowing_runner"); + level._effect["mp_trash_blowing_ground"] = loadfx("vfx/wind/dlc/mp_trash_blowing_ground"); + level._effect["lib_leaves_dirt_loop_runner"] = loadfx("vfx/map/mp_liberty/lib_leaves_dirt_loop_runner"); + level._effect["mp_ground_dirt_loop_runner"] = loadfx("vfx/map/mp_clowntown/mp_ground_dirt_loop_runner"); + level._effect["lib_leaves_runner"] = loadfx("vfx/map/mp_liberty/lib_leaves_runner"); + level._effect["lib_birds_runner"] = loadfx("vfx/map/mp_liberty/lib_birds_runner"); + level._effect["krem_birds_runner"] = loadfx("vfx/map/mp_kremlin/krem_birds_runner"); + level._effect["mp_ground_grassdirt_runner"] = loadfx("vfx/map/mp_climate/mp_ground_grassdirt_runner"); + level._effect["mp_lib_leaves_falling"] = loadfx("vfx/map/mp_liberty/mp_lib_leaves_falling"); + level._effect["test_effect"] = loadfx("vfx/test/test_fx"); + level._effect["mp_godray_angled_dusty"] = loadfx("vfx/map/mp_liberty/mp_godray_angled_dusty"); + level._effect["mp_godray_angled_dusty_wrm"] = loadfx("vfx/map/mp_liberty/mp_godray_angled_dusty_wrm"); + level._effect["mp_godray_angled_dusty_wrm_sm"] = loadfx("vfx/map/mp_liberty/mp_godray_angled_dusty_wrm_sm"); + level._effect["mp_godray_angled_dusty_cool_sm"] = loadfx("vfx/map/mp_liberty/mp_godray_angled_dusty_cool_sm"); + level._effect["mp_godray_angled_dusty_cool"] = loadfx("vfx/map/mp_liberty/mp_godray_angled_dusty_cool"); + level._effect["mp_godray_angled_dusty_lrg"] = loadfx("vfx/map/mp_liberty/mp_godray_angled_dusty_lrg"); + level._effect["mp_godray_angled_dusty_white"] = loadfx("vfx/map/mp_liberty/mp_godray_angled_dusty_white"); + level._effect["light_spotlight_cone_blue"] = loadfx("vfx/map/mp_liberty/light_spotlight_cone_blue"); + level._effect["lightbank_fluorescent_glow"] = loadfx("vfx/map/mp_liberty/lightbank_fluorescent_glow"); + level._effect["lightbank_fluorescent_glow_sm"] = loadfx("vfx/map/mp_liberty/lightbank_fluorescent_glow_sm"); + level._effect["lightbank_fluorescent_glow_sm_dim"] = loadfx("vfx/map/mp_liberty/lightbank_fluorescent_glow_sm_dim"); + level._effect["light_spotlight_fan_shadow"] = loadfx("vfx/map/mp_liberty/light_spotlight_fan_shadow"); + level._effect["fx_sunflare_mp_liberty"] = loadfx("vfx/lensflare/fx_sunflare_mp_liberty"); + level._effect["fx_ape_pit"] = loadfx("vfx/smoke/smk_obscure_low_thick_far_m"); + level._effect["fx_ape_pit_alarm"] = loadfx("vfx/lights/beacon_light_red_blink"); + level._effect["lab2_interiorlight_1_intct_loop"] = loadfx("vfx/lights/lgt_fixtures/lab2_interiorlight_1_intct_loop"); +} + +//Function Number: 2 +dynamic_door_dust_effect() +{ + wait(0.25); + level thread common_scripts\_exploder::activate_clientside_exploder(3); + wait(5); + level thread common_scripts\_exploder::activate_clientside_exploder(4); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_liberty_lighting.gsc b/AW/PC/maps/mp/mp_liberty_lighting.gsc new file mode 100644 index 0000000..076f616 --- /dev/null +++ b/AW/PC/maps/mp/mp_liberty_lighting.gsc @@ -0,0 +1,24 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_liberty_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:17:59 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + set_level_lighting_values(); +} + +//Function Number: 2 +set_level_lighting_values() +{ + if(isusinghdr()) + { + setdvar("r_disablelightsets",0); + } +} \ No newline at end of file diff --git a/AW/PC/SP/animscripts/civilian/civilian_stop.gsc b/AW/PC/maps/mp/mp_liberty_precache.gsc similarity index 72% rename from AW/PC/SP/animscripts/civilian/civilian_stop.gsc rename to AW/PC/maps/mp/mp_liberty_precache.gsc index ee9a5b4..6f3d7dd 100644 --- a/AW/PC/SP/animscripts/civilian/civilian_stop.gsc +++ b/AW/PC/maps/mp/mp_liberty_precache.gsc @@ -1,15 +1,14 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\civilian\civilian_stop.gsc + * Decompiled File: mp\mp_liberty_precache.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:53:01 AM + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:17:59 AM *******************************************************************/ //Function Number: 1 main() { - animscripts\civilian::stop(); } \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_lost.gsc b/AW/PC/maps/mp/mp_lost.gsc new file mode 100644 index 0000000..2fdea4e --- /dev/null +++ b/AW/PC/maps/mp/mp_lost.gsc @@ -0,0 +1,348 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_lost.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 15 + * Decompile Time: 383 ms + * Timestamp: 4/22/2024 2:18:00 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.callbackstartgametype = ::lost_callbackstartgametype; + maps\mp\mp_lost_precache::main(); + maps\createart\mp_lost_art::main(); + maps\mp\mp_lost_fx::main(); + maps\mp\_load::main(); + maps\mp\mp_lost_lighting::main(); + maps\mp\mp_lost_aud::main(); + maps\mp\_compass::setupminimap("compass_map_mp_lost"); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + level.mapcustomkillstreakfunc = ::lostcustomkillstreakfunc; + maps\mp\_water::init(); + level.orbitalsupportoverridefunc = ::lostpaladinoverrides; + level.ospvisionset = "mp_lost_osp"; + level.osplightset = "mp_lost_osp"; + if(level.currentgen) + { + level.warbirdzoffset = 575; + } + + thread drone_anims(); + thread sandcrawler_anims(); + thread core_watersheeting(); + var_00 = getent("lost_reactor_core_machine_mid","targetname"); + if(isdefined(var_00)) + { + var_00 delete(); + } + + thread kill_triggers(); + thread patchclipfixes(); +} + +//Function Number: 2 +patchclipfixes() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3120,-1784,-48),(0,30,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3120,-1784,208),(0,30,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3120,-1784,464),(0,30,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3120,-1784,720),(0,30,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3120,-1784,976),(0,30,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3120,-1784,1232),(0,30,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-2200,-1352,224),(0,135,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-2200,-1352,480),(0,135,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-2200,-1352,736),(0,135,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-2200,-1352,992),(0,135,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-2376,-1528,224),(0,135,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-2376,-1528,480),(0,135,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-2376,-1528,736),(0,135,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-2376,-1528,992),(0,135,0)); +} + +//Function Number: 3 +kill_triggers() +{ + var_00 = 300; + var_01 = 300; + var_02 = []; + var_02[var_02.size] = spawn("trigger_radius",(2160,-1216,88),0,var_00,var_01); + var_02[var_02.size] = spawn("trigger_radius",(2160,-544,88),0,var_00,var_01); + var_02[var_02.size] = spawn("trigger_radius",(2112,48,88),0,var_00,var_01); + var_02[var_02.size] = spawn("trigger_radius",(2048,592,72),0,var_00,var_01); + var_02[var_02.size] = spawn("trigger_radius",(2136,1056,72),0,64,var_01); + var_02[var_02.size] = spawn("trigger_radius",(2008,1324,72),0,64,var_01); + foreach(var_04 in var_02) + { + var_04 thread hurtplayersthink(); + } + + var_06 = getentarray("trigger_hurt","classname"); + var_07 = 8; + foreach(var_04 in var_06) + { + if(distance(var_04.origin,(-2036,-2428,80)) <= var_07) + { + var_04.origin = var_04.origin + (0,0,32); + continue; + } + + if(distance(var_04.origin,(-2968,-168,80)) <= var_07) + { + var_04.origin = var_04.origin + (32,0,32); + } + } + + var_04 = spawn("trigger_radius",(-1776,1016,-64),0,var_00,var_01); + var_04 thread hurtplayersthink(); + if(isdefined(level.ishorde) && level.ishorde) + { + level.hordekilltriggers = []; + foreach(var_0B in var_02) + { + level.hordekilltriggers[level.hordekilltriggers.size] = var_0B; + } + + level.hordekilltriggers[level.hordekilltriggers.size] = var_04; + } +} + +//Function Number: 4 +hurtplayersthink() +{ + level endon("game_ended"); + wait(randomfloat(1)); + for(;;) + { + foreach(var_01 in level.players) + { + if(var_01 istouching(self) && maps\mp\_utility::isreallyalive(var_01)) + { + if(isdefined(level.ishorde) && level.ishorde) + { + var_01 dodamage(10000,var_01.origin,undefined,undefined,"MOD_TRIGGER_HURT","none","none"); + continue; + } + + var_01 maps\mp\_utility::_suicide(); + } + } + + wait(0.5); + } +} + +//Function Number: 5 +core_watersheeting() +{ + level endon("game_ended"); + var_00 = getentarray("core_watersheeting","targetname"); + foreach(var_02 in var_00) + { + var_02 thread watch_player_inwatersheeting(); + } +} + +//Function Number: 6 +watch_player_inwatersheeting() +{ + level endon("game_ended"); + for(;;) + { + self waittill("trigger",var_00); + if(!isplayer(var_00) && !isai(var_00)) + { + continue; + } + + if(!isalive(var_00)) + { + continue; + } + + if(var_00 maps\mp\_utility::isusingremote()) + { + continue; + } + + if(!isdefined(var_00.inwatersheeting)) + { + var_00 thread player_inwatersheeting(self); + } + } +} + +//Function Number: 7 +player_inwatersheeting(param_00) +{ + level endon("game_ended"); + self endon("death"); + self endon("disconnect"); + self endon("joined_team"); + for(;;) + { + if(!self istouching(param_00)) + { + player_end_watersheeting(1,0.5); + return 0; + } + + if(isdefined(self.inwatersheeting) && maps\mp\_utility::isusingremote()) + { + player_end_watersheeting(); + return 0; + } + else if(!isdefined(self.inwatersheeting)) + { + self.inwatersheeting = 1; + thread player_loop_watersheeting(); + thread player_watch_disconnect(); + } + + wait(0.1); + } +} + +//Function Number: 8 +player_end_watersheeting(param_00,param_01) +{ + if(!isdefined(param_00)) + { + param_00 = 0; + } + + if(isdefined(self) && isplayer(self)) + { + self.inwatersheeting = undefined; + self notify("end_watersheeting"); + if(isdefined(param_01)) + { + self setwatersheeting(param_00,param_01); + return; + } + + self setwatersheeting(param_00); + } +} + +//Function Number: 9 +player_loop_watersheeting() +{ + level endon("game_ended"); + self endon("death"); + self endon("disconnect"); + self endon("end_watersheeting"); + self endon("joined_team"); + while(isdefined(self.inwatersheeting)) + { + self setwatersheeting(1,20); + wait(10.367); + } +} + +//Function Number: 10 +player_watch_disconnect() +{ + level endon("game_ended"); + common_scripts\utility::waittill_any("disconnect","joined_team","joined_spectators","death"); + player_end_watersheeting(); +} + +//Function Number: 11 +lostpaladinoverrides() +{ + level.orbitalsupportoverrides.spawnheight = 9553; +} + +//Function Number: 12 +lost_callbackstartgametype() +{ + maps\mp\gametypes\_gamelogic::callback_startgametype(); + common_scripts\_bcs_location_trigs_dlc::bcs_location_trigs_dlc_init(); +} + +//Function Number: 13 +lostcustomkillstreakfunc() +{ + level thread maps\mp\killstreaks\streak_mp_lost::init(); +} + +//Function Number: 14 +drone_anims() +{ + var_00 = getent("drone_cleaner_01","targetname"); + var_01 = getent("drone_cleaner_02","targetname"); + var_02 = getent("drone_cleaner_03","targetname"); + var_03 = var_01.origin; + var_04 = var_01.angles; + var_00 willneverchange(0); + var_01 willneverchange(0); + var_02 willneverchange(0); + var_05 = spawn("script_model",(0,0,0)); + var_05 setmodel("lost_repair_drone_01"); + var_05.origin = var_00.origin; + var_05.angles = var_00.angles; + maps\mp\_audio::scriptmodelplayanimwithnotify_uniquename(var_05,"lost_repair_drone_standby_idle01","drone_cleaner_01_notify","aud_lost_drone_idle_01","mp_lost_drone_idle_01","aud_drone_01_end_01","aud_drone_01_end_02","aud_drone_01_end_03"); + var_05 thread maps\mp\mp_lost_fx::play_jackhammer_robot_concrete_fx(); + var_06 = spawn("script_model",(0,0,0)); + var_06 setmodel("lost_repair_drone_01"); + var_06.origin = var_01.origin - (0,0,25); + var_06.angles = var_01.angles; + maps\mp\_audio::scriptmodelplayanimwithnotify_uniquename(var_06,"lost_repair_drone_standby_idle02","drone_cleaner_02_notify","aud_lost_drone_idle_02","mp_lost_drone_idle_02","aud_drone_02_end_01","aud_drone_02_end_02","aud_drone_02_end_03"); + var_06 thread maps\mp\mp_lost_fx::play_poking_robot_concrete_fx(); + var_07 = spawn("script_model",(0,0,0)); + var_07 setmodel("lost_repair_drone_01"); + var_07.origin = var_02.origin; + var_07.angles = var_02.angles; + maps\mp\_audio::scriptmodelplayanimwithnotify_uniquename(var_07,"lost_repair_drone_standby_idle03","drone_cleaner_03_notify","aud_lost_drone_idle_03","mp_lost_drone_idle_03","aud_drone_03_end_01","aud_drone_03_end_02","aud_drone_03_end_03"); + var_07 thread maps\mp\mp_lost_fx::play_jackhammer_robot_fx(); + var_00 delete(); + var_01 delete(); + var_02 delete(); + var_08 = getent("drone_cleaner_02_sign","targetname"); + var_09 = spawn("script_model",var_03); + var_09 setmodel("genericprop"); + var_09.angles = var_04; + var_08.origin = var_03; + var_08.angles = var_04; + var_08 linkto(var_09,"tag_origin_animated"); + var_09 scriptmodelplayanim("lost_repair_drone_standby_idle02_sign"); + var_0A = getent("drone_cleaner_02_sign02","targetname"); + var_0B = spawn("script_model",var_03); + var_0B setmodel("genericprop"); + var_0B.angles = var_04; + var_0A.origin = var_03; + var_0A.angles = var_04; + var_0A linkto(var_0B,"tag_origin_animated"); + var_0B scriptmodelplayanim("lost_repair_drone_standby_idle02_sign02"); + wait(0.05); + var_0C = ["ps_mp_lost_drone_walk_pt_01","ps_mp_lost_drone_walk_pt_02","ps_mp_lost_drone_walk_pt_03","ps_mp_lost_drone_walk_pt_04","ps_mp_lost_drone_drill_01","ps_mp_lost_drone_walk_pt_05","ps_mp_lost_drone_walk_pt_06","ps_mp_lost_drone_walk_pt_07","ps_mp_lost_drone_walk_pt_08","ps_mp_lost_drone_drill_02"]; + var_0D = ["mp_lost_drone_walk_pt_01","mp_lost_drone_walk_pt_02","mp_lost_drone_walk_pt_03","mp_lost_drone_walk_pt_04","mp_lost_drone_walk_drill_01","mp_lost_drone_walk_pt_05","mp_lost_drone_walk_pt_06","mp_lost_drone_walk_pt_07","mp_lost_drone_walk_pt_08","mp_lost_drone_walk_drill_02"]; + var_0E = getent("drone_cleaner_04","targetname"); + maps\mp\_audio::scriptmodelplayanimwithnotify_uniquename(var_0E,"lost_canal_drone01_walk_to_idle02","drone_cleaner_04_notify",var_0C,var_0D,"aud_drone_04_end_01","aud_drone_04_end_02","aud_drone_04_end_03"); + var_0E thread maps\mp\mp_lost_fx::play_cleaner_walk_fx(); + var_0F = getent("lost_canal_drone_04_collision","targetname"); + var_0F linkto(var_0E,"tag_origin"); + var_0F solid(); + wait(3); + var_10 = getent("drone_cleaner_05","targetname"); + maps\mp\_audio::scriptmodelplayanimwithnotify_uniquename(var_10,"lost_canal_drone01_walk_to_idle02","drone_cleaner_05_notify",var_0C,var_0D,"aud_drone_05_end_01","aud_drone_05_end_02","aud_drone_05_end_03"); + var_10 thread maps\mp\mp_lost_fx::play_cleaner_walk_fx(); + var_11 = getent("lost_canal_drone_05_collision","targetname"); + var_11 linkto(var_10,"tag_origin"); + var_11 solid(); +} + +//Function Number: 15 +sandcrawler_anims() +{ + level endon("game_ended"); + var_00 = getentarray("lost_sandcrawler","targetname"); + foreach(var_02 in var_00) + { + var_02 scriptmodelplayanim("lost_sand_crawler_idle01"); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_lost_aud.gsc b/AW/PC/maps/mp/mp_lost_aud.gsc new file mode 100644 index 0000000..f537157 --- /dev/null +++ b/AW/PC/maps/mp/mp_lost_aud.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_lost_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:18:01 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_lost_fx.gsc b/AW/PC/maps/mp/mp_lost_fx.gsc new file mode 100644 index 0000000..be972f8 --- /dev/null +++ b/AW/PC/maps/mp/mp_lost_fx.gsc @@ -0,0 +1,138 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_lost_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 7 + * Decompile Time: 133 ms + * Timestamp: 4/22/2024 2:18:01 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["water_curtain_purple"] = loadfx("vfx/map/mp_lost/water_curtain_purple"); + level._effect["mp_lost_sand_dots"] = loadfx("vfx/map/mp_lost/mp_lost_sand_dots"); + level._effect["leaves_windblown_slw_constant"] = loadfx("vfx/wind/leaves_windblown_slw_constant"); + level._effect["mp_lost_ambient_needles"] = loadfx("vfx/map/mp_lost/mp_lost_ambient_needles"); + level._effect["lost_fire_stream_large"] = loadfx("vfx/map/mp_lost/lost_fire_stream_large"); + level._effect["shooting_water_purple"] = loadfx("vfx/map/mp_lost/shooting_water_purple"); + level._effect["walker_pulling_concrete2"] = loadfx("vfx/map/mp_lost/walker_pulling_concrete2"); + level._effect["welding_robot_drill"] = loadfx("vfx/unique/welding_robot_drill"); + level._effect["ground_sand_skitter"] = loadfx("vfx/sand/ground_sand_skitter_bright"); + level._effect["walker_pulling_concrete"] = loadfx("vfx/map/mp_lost/walker_pulling_concrete"); + level._effect["walker_drilling_concrete"] = loadfx("vfx/map/mp_lost/walker_drilling_concrete"); + level._effect["lost_robot_drillsplash"] = loadfx("vfx/map/mp_lost/lost_robot_drillsplash"); + level._effect["fireball_lp_l_blacksmk_thick_windy"] = loadfx("vfx/map/mp_lost/lost_fireball_lp_l_blacksmk_thick_windy"); + level._effect["dirt_rotate_up"] = loadfx("vfx/map/mp_lost/dirt_rotate_up"); + level._effect["falling_water_purple_line_runner_slow"] = loadfx("vfx/map/mp_lost/falling_water_purple_line_runner_slow"); + level._effect["bubble_ring"] = loadfx("vfx/map/mp_lost/bubble_ring"); + level._effect["water_cleaner_machine"] = loadfx("vfx/map/mp_lost/water_cleaner_machine"); + level._effect["dirt_cast_up"] = loadfx("vfx/map/mp_lost/dirt_cast_up"); + level._effect["ground_sand_scroll"] = loadfx("vfx/sand/ground_sand_scroll"); + level._effect["heat_distortion_small"] = loadfx("vfx/map/mp_lost/heat_distortion_small"); + level._effect["center_machine_steam"] = loadfx("vfx/map/mp_lost/center_machine_steam"); + level._effect["drone_jackhammer_concrete"] = loadfx("vfx/map/mp_lost/drone_jackhammer_concrete"); + level._effect["welding_robot_torch"] = loadfx("vfx/unique/welding_robot_torch"); + level._effect["lost_robot_footsplash"] = loadfx("vfx/map/mp_lost/lost_robot_footsplash"); + level._effect["ground_sand_fine_flat"] = loadfx("vfx/map/mp_lost/ground_sand_fine_flat"); + level._effect["mp_sand_in_air"] = loadfx("vfx/map/mp_lost/mp_sand_in_air"); + level._effect["dirty_foam_flowing"] = loadfx("vfx/map/mp_lost/dirty_foam_flowing"); + level._effect["mp_lost_poision_smk"] = loadfx("vfx/map/mp_lost/mp_lost_poision_smk"); + level._effect["algae_foam01_flowing"] = loadfx("vfx/map/mp_lost/algae_foam01_flowing"); + level._effect["algae_foam_flowing"] = loadfx("vfx/map/mp_lost/algae_foam_flowing"); + level._effect["mp_lost_water_wavy_flat"] = loadfx("vfx/map/mp_lost/mp_lost_water_wavy_flat"); + level._effect["mp_lost_sand_wavy_flat"] = loadfx("vfx/map/mp_lost/mp_lost_sand_wavy_flat"); + level._effect["foam_center_out_lrg"] = loadfx("vfx/map/mp_lost/foam_center_out_lrg"); + level._effect["dirty_foam_small_distributer"] = loadfx("vfx/map/mp_lost/dirty_foam_small_distributer"); + level._effect["sand_mesh_large"] = loadfx("vfx/map/mp_lost/sand_mesh_large"); + level._effect["toxic_foam_flowing"] = loadfx("vfx/map/mp_lost/toxic_foam_flowing"); + level._effect["heat_distortion_large"] = loadfx("vfx/map/mp_lost/heat_distortion_large"); + level._effect["sandfall_meshonly"] = loadfx("vfx/sand/sandfall_meshonly"); + level._effect["ground_wind_sand_mesh_large"] = loadfx("vfx/map/mp_lost/ground_wind_sand_mesh_large"); + level._effect["mp_light_sand_particles"] = loadfx("vfx/map/mp_lost/mp_light_sand_particles"); + level._effect["godray_ambient_outdoors_wide_lrg"] = loadfx("vfx/map/mp_lost/godray_ambient_outdoors_wide_lrg"); + level._effect["godray_ambient_outdoors_med"] = loadfx("vfx/map/greece/godray_ambient_outdoors_med"); + level._effect["ground_light_wind_sand_mesh_large"] = loadfx("vfx/map/mp_lost/ground_light_wind_sand_mesh_large"); + level._effect["light_wind_sand_lp"] = loadfx("vfx/map/mp_lost/light_wind_sand_lp"); + level._effect["light_wind_sand_runner"] = loadfx("vfx/map/mp_lost/light_wind_sand_runner"); + level._effect["sand_dripping"] = loadfx("vfx/map/mp_lost/sand_dripping"); + level._effect["sand_tornado_s_runner"] = loadfx("vfx/map/mp_lost/sand_tornado_s_runner"); + level._effect["mp_ground_sand_fine_flat_loop"] = loadfx("vfx/map/mp_lost/mp_ground_sand_fine_flat_loop"); + level._effect["ground_light_wind_sand_mesh_lp"] = loadfx("vfx/map/mp_lost/ground_light_wind_sand_mesh_lp"); + level._effect["mp_sand_gust_fast"] = loadfx("vfx/map/mp_lost/mp_sand_gust_fast"); + level._effect["sand_storm_exterior"] = loadfx("vfx/map/mp_lost/sand_storm_exterior"); + level._effect["test_effect"] = loadfx("vfx/test/test_fx"); + level._effect["ground_sand_wind_slow_runner"] = loadfx("vfx/sand/ground_sand_wind_slow_runner"); + level._effect["water_pipe_drip_lp"] = loadfx("vfx/water/water_pipe_drip_lp"); + level._effect["amb_dust_patch_light"] = loadfx("vfx/dust/amb_dust_patch_light"); + level._effect["light_dust_particles_2"] = loadfx("vfx/dust/light_dust_particles_2"); + level._effect["dust_falling_debris_runner"] = loadfx("vfx/dust/dust_falling_debris_runner"); + level._effect["godray_ambient_outdoors_large"] = loadfx("vfx/map/greece/godray_ambient_outdoors_large"); + level._effect["amb_dust_indoor_slw_lp"] = loadfx("vfx/dust/amb_dust_indoor_slw_lp"); + level._effect["light_godray_hazy_highway_angled_op_tall"] = loadfx("vfx/lights/light_godray_hazy_highway_angled_op_tall"); + level._effect["trash_blowing"] = loadfx("vfx/wind/trash_blowing"); + level._effect["mp_godray_angled_dusty"] = loadfx("vfx/map/mp_lost/mp_godray_angled_dusty"); + level._effect["mp_gb_sparks_runner"] = loadfx("vfx/map/mp_greenband/mp_gb_sparks_runner"); + level._effect["plastic_shreds_hanging_e_slow"] = loadfx("vfx/wind/plastic_shreds_hanging_e_slow"); + level._effect["mp_trash_blowing_runner"] = loadfx("vfx/map/mp_lost/mp_trash_blowing_runner"); + level._effect["fx_sunflare_mp_lost"] = loadfx("vfx/lensflare/fx_sunflare_mp_lost"); + level._effect["warm_flare_light"] = loadfx("vfx/map/mp_lost/warm_flare_light"); + level._effect["light_fire_godray"] = loadfx("vfx/map/mp_lost/light_fire_godray"); +} + +//Function Number: 2 +play_jackhammer_robot_fx() +{ + wait(2); + playfxontag(common_scripts\utility::getfx("drone_jackhammer_concrete"),self,"spike_KR"); +} + +//Function Number: 3 +play_jackhammer_robot_concrete_fx() +{ + wait(2); + playfxontag(common_scripts\utility::getfx("walker_drilling_concrete"),self,"spike_KL"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("walker_pulling_concrete"),self,"wristTwist_FL"); +} + +//Function Number: 4 +play_poking_robot_concrete_fx() +{ + wait(2); + playfxontag(common_scripts\utility::getfx("walker_pulling_concrete2"),self,"wristTwist_FR"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("walker_pulling_concrete2"),self,"wristTwist_FL"); +} + +//Function Number: 5 +play_cleaner_walk_fx() +{ + wait(2); + playfxontag(common_scripts\utility::getfx("lost_robot_footsplash"),self,"FOOT_FL"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("lost_robot_footsplash"),self,"FOOT_FR"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("lost_robot_footsplash"),self,"FOOT_KL"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("lost_robot_footsplash"),self,"FOOT_KR"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("lost_robot_drillsplash"),self,"spike_KR"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("lost_robot_drillsplash"),self,"spike_KL"); +} + +//Function Number: 6 +play_welding_robot_fx() +{ + wait(2); + playfxontag(common_scripts\utility::getfx("welding_robot_torch"),self,"tag_fx"); +} + +//Function Number: 7 +play_drilling_robot_fx() +{ + wait(2); + playfxontag(common_scripts\utility::getfx("welding_robot_drill"),self,"tag_fx"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_lost_lighting.gsc b/AW/PC/maps/mp/mp_lost_lighting.gsc new file mode 100644 index 0000000..cb1eea8 --- /dev/null +++ b/AW/PC/maps/mp/mp_lost_lighting.gsc @@ -0,0 +1,16 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_lost_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:18:02 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setdvar("r_lightGridEnableTweaks",1); + setdvar("r_lightGridIntensity",1.33); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_lost_precache.gsc b/AW/PC/maps/mp/mp_lost_precache.gsc new file mode 100644 index 0000000..cffe9b0 --- /dev/null +++ b/AW/PC/maps/mp/mp_lost_precache.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_lost_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:18:02 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_perplex_1.gsc b/AW/PC/maps/mp/mp_perplex_1.gsc new file mode 100644 index 0000000..5b2f15d --- /dev/null +++ b/AW/PC/maps/mp/mp_perplex_1.gsc @@ -0,0 +1,869 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_perplex_1.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 37 + * Decompile Time: 589 ms + * Timestamp: 4/22/2024 2:18:04 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.callbackstartgametype = ::perplex_callbackstartgametype; + maps\mp\mp_perplex_1_precache::main(); + maps\createart\mp_perplex_1_art::main(); + maps\mp\mp_perplex_1_fx::main(); + maps\mp\_load::main(); + maps\mp\mp_perplex_1_lighting::main(); + maps\mp\mp_perplex_1_aud::main(); + maps\mp\_water::init(); + maps\mp\_water::init(); + maps\mp\_compass::setupminimap("compass_map_mp_perplex_1"); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + precachemodel("genericprop"); + if(level.nextgen) + { + precachempanim("per_ferry_boat"); + precachempanim("per_sail_boat"); + precachempanim("per_sail_boat_idle_a"); + precachempanim("per_sail_boat_idle_b"); + precachempanim("per_sail_boat_idle_c"); + precachempanim("per_sail_boat_idle_d"); + precachempanim("per_windmill_idle01"); + precachempanim("per_windmill_idle02"); + precachempanim("per_windmill_idle03"); + precachempanim("per_windmill_idle04"); + } + + level.goliath_bad_landing_volumes = []; + if(level.nextgen) + { + thread vignetteferry(); + thread vignettesailboats(); + } + + thread vignetterooftopwindmills(); + thread perplexkillstreakoverrides(); + thread removecentermissilespawn(); + thread gamemodetraversalcheck(); + level dynamicevent_init(); + level thread maps\mp\_dynamic_events::dynamicevent(::dynamiceventsuspendedapartmentshiftanim,undefined,::dynamiceventsuspendedapartmentshiftanimend); + level.osplightset = "mp_perplex_osp"; + level.warbirdlightset = "mp_perplex_osp"; + level.vulcanlightset = "mp_perplex_osp"; + if(level.currentgen) + { + thread cg_overridevulcanheight(); + thread cg_overridewarbirdheight(); + } + + thread clip_fixes(); + thread trigger_fixes(); +} + +//Function Number: 2 +clip_fixes() +{ + thread boardwalkvehicleholefix(); + thread atriumdronepushholefix(); + thread modelapartmentstuckspotfix(); +} + +//Function Number: 3 +boardwalkvehicleholefix() +{ + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(-190,1376,-64),(270,180,180)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(66,1376,-64),(270,180,180)); +} + +//Function Number: 4 +atriumdronepushholefix() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(552,473,192),(0,180,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-488,273,192),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-416,-296,192),(0,90,0)); +} + +//Function Number: 5 +trigger_fixes() +{ + thread goliathoutofmapfix(); +} + +//Function Number: 6 +goliathoutofmapfix() +{ + level endon("game_ended"); + var_00 = spawn("trigger_radius",(0,0,-320),0,72,3072); + for(;;) + { + var_00 waittill("trigger",var_01); + if(isbot(var_01) || isagent(var_01)) + { + var_01 dodamage(var_01.health + 999,var_00.origin); + } + } +} + +//Function Number: 7 +modelapartmentstuckspotfix() +{ + var_00 = 0; + var_01 = 0; + for(var_02 = 0;var_02 < 6;var_02++) + { + var_00 = 12 - var_02 * 10; + var_01 = 1570 - var_02 * 16; + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(var_01,-1280,var_00),(0,0,0)); + } +} + +//Function Number: 8 +cg_overridevulcanheight() +{ + wait(1); + if(!isdefined(level.orbitallaseroverrides)) + { + level.orbitallaseroverrides = spawnstruct(); + } + + level.orbitallaseroverrides.spawnheight = 2352; +} + +//Function Number: 9 +cg_overridewarbirdheight() +{ + if(!isdefined(level.helianchor)) + { + level waittill("reset_warbird_height"); + } + + wait(1); + if(level.helianchor.origin[2] < 2352) + { + level.warbirdzoffset = 1328; + return; + } + + level.helianchor.origin[2] = 2352; +} + +//Function Number: 10 +removecentermissilespawn() +{ + var_00 = getent("auto613","target"); + var_01 = getent("auto613","targetname"); + if(isdefined(var_00)) + { + var_00 delete(); + } + + if(isdefined(var_01)) + { + var_01 delete(); + } +} + +//Function Number: 11 +perplex_callbackstartgametype() +{ + maps\mp\gametypes\_gamelogic::callback_startgametype(); + common_scripts\_bcs_location_trigs_dlc::bcs_location_trigs_dlc_init(); +} + +//Function Number: 12 +dynamicevent_init() +{ + level endon("game_ended"); + level thread handledynamiceventpathnodesforstate(); + level thread handledynamiceventcarepackagebadvol(); + level thread handledynamiceventobjectresettriggers(); + level.drone_top_origins = []; + level.dynamiceventdrones = []; + level.dynamiceventapartments = []; + level.dynamiceventanimorg = getent("dynamic_event_animorg","targetname"); + level.building04 = dynamiceventsetupsuspendedapartment("dynamic_event_apartment_04","per_drone04_idle"); + level.building03 = dynamiceventsetupsuspendedapartment("dynamic_event_apartment_03","per_drone03_idle"); + level.building02 = dynamiceventsetupsuspendedapartment("dynamic_event_apartment_02","per_drone02_idle"); + level.building01 = dynamiceventsetupsuspendedapartment("dynamic_event_apartment_01","per_drone01_idle"); + level thread do_drone_top_damage(); + if(level.nextgen) + { + var_00 = getent("mp_recovery_signage","targetname"); + var_00 common_scripts\utility::hide_notsolid(); + } +} + +//Function Number: 13 +dynamiceventsetupsuspendedapartment(param_00,param_01) +{ + var_02 = getentarray(param_00,"targetname"); + var_03 = undefined; + foreach(var_05 in var_02) + { + if(var_05.classname == "script_origin") + { + var_03 = var_05; + break; + } + } + + foreach(var_05 in var_02) + { + if(var_05 != var_03) + { + var_05 vehicle_jetbikesethoverforcescale(var_03); + } + } + + var_09 = getent(param_00 + "_col","targetname"); + var_0A = getent(param_00 + "_drone","targetname"); + var_0B = getent(param_00 + "_drone_reset_trig","targetname"); + var_0C = getent(param_00 + "_drone_body_col","targetname"); + var_0D = getent(param_00 + "_drone_killorg","targetname"); + if(isdefined(level.drone_top_origins) && isdefined(var_0D)) + { + level.drone_top_origins[level.drone_top_origins.size] = var_0D; + } + + thread handleobjectresettrigger(var_0B,var_0D); + if(!getdvarint("scr_game_grappling_hook",0)) + { + thread handleragdollwakeup(var_03.origin,500); + } + + thread playdronevfx(var_0A); + var_0E = var_0A gettagorigin("TAG_HANDLE"); + var_0F = var_0A gettagangles("TAG_HANDLE"); + var_10 = spawn("script_model",var_0E); + var_10 setmodel("genericprop"); + var_10.angles = var_0F; + var_10 vehicle_jetbikesethoverforcescale(var_0A,"TAG_HANDLE"); + var_11 = var_0A gettagorigin("body_main"); + var_12 = var_0A gettagangles("body_main"); + var_13 = spawn("script_model",var_11); + var_13 setmodel("genericprop"); + var_13.angles = var_12; + var_13 vehicle_jetbikesethoverforcescale(var_0A,"body_main"); + if(level.nextgen) + { + var_14 = getent(param_00 + "_drone_leg_frontright_col","targetname"); + var_15 = getent(param_00 + "_drone_leg_frontleft_col","targetname"); + var_16 = getent(param_00 + "_drone_leg_backright_col","targetname"); + var_17 = getent(param_00 + "_drone_leg_backleft_col","targetname"); + var_18 = var_0A gettagorigin("fx_joint_0"); + var_19 = var_0A gettagangles("fx_joint_0"); + var_1A = spawn("script_model",var_18); + var_1A setmodel("genericprop"); + var_1A.angles = var_19; + var_1A vehicle_jetbikesethoverforcescale(var_0A,"fx_joint_0"); + var_1B = var_0A gettagorigin("fx_joint_1"); + var_1C = var_0A gettagangles("fx_joint_1"); + var_1D = spawn("script_model",var_1B); + var_1D setmodel("genericprop"); + var_1D.angles = var_1C; + var_1D vehicle_jetbikesethoverforcescale(var_0A,"fx_joint_1"); + var_1E = var_0A gettagorigin("fx_joint_2"); + var_1F = var_0A gettagangles("fx_joint_2"); + var_20 = spawn("script_model",var_1E); + var_20 setmodel("genericprop"); + var_20.angles = var_1F; + var_20 vehicle_jetbikesethoverforcescale(var_0A,"fx_joint_2"); + var_21 = var_0A gettagorigin("fx_joint_3"); + var_22 = var_0A gettagangles("fx_joint_3"); + var_23 = spawn("script_model",var_21); + var_23 setmodel("genericprop"); + var_23.angles = var_19; + var_23 vehicle_jetbikesethoverforcescale(var_0A,"fx_joint_3"); + var_15 vehicle_jetbikesethoverforcescale(var_1A); + var_14 vehicle_jetbikesethoverforcescale(var_1D); + var_17 vehicle_jetbikesethoverforcescale(var_20); + var_16 vehicle_jetbikesethoverforcescale(var_23); + var_0A.clipents = [var_15,var_1A,var_14,var_1D,var_17,var_20,var_16,var_23,var_0C,var_13,var_0D,var_0B]; + } + else + { + var_24 = getent(param_00 + "_drone_legs_col","targetname"); + var_24 vehicle_jetbikesethoverforcescale(var_13); + var_0A.legsclip = var_24; + var_0A.clipents = [var_0C,var_13,var_0D,var_0B]; + } + + var_25 = getent("dynamic_event_slot_clip","targetname"); + thread dynamiceventcollisionhandling(var_09,var_25); + var_09 vehicle_jetbikesethoverforcescale(var_03); + var_03.col = var_09; + var_03.proxy = var_10; + var_0C vehicle_jetbikesethoverforcescale(var_13); + var_0D vehicle_jetbikesethoverforcescale(var_13); + var_0A.bodyclip = var_0C; + var_0A.bodyclip.parent = var_13; + var_03.origin = var_0E; + var_03.angles = var_0F - (0,180,0); + var_09.angles = var_03.angles; + var_03 vehicle_jetbikesethoverforcescale(var_10); + var_0A scriptmodelplayanimdeltamotionfrompos(param_01,level.dynamiceventanimorg.origin,level.dynamiceventanimorg.angles,"droneIdle"); + level.dynamiceventdrones[level.dynamiceventdrones.size] = var_0A; + level.dynamiceventapartments[level.dynamiceventapartments.size] = var_03; + return var_03; +} + +//Function Number: 14 +dynamiceventsuspendedapartmentshiftanim() +{ + if(!getdvarint("scr_game_grappling_hook",0)) + { + var_00 = spawn("script_origin",(0,0,0)); + var_00 playsound("anrx_per_dynevent_warn"); + wait(5); + level notify("dynamic_event_started"); + var_01 = getent("dynamic_event_apartment_01_drone","targetname"); + var_02 = getent("dynamic_event_apartment_02_drone","targetname"); + var_03 = getent("dynamic_event_apartment_03_drone","targetname"); + var_04 = getent("dynamic_event_apartment_04_drone","targetname"); + dynamiceventhandleshiftingapartment(var_01,level.building01,"per_apartment01_drop","per_drone01_drop_apartment",30); + dynamiceventhandleshiftingapartment(var_02,level.building02,"per_apartment02_drop","per_drone02_drop_apartment",28); + dynamiceventhandleshiftingapartment(var_03,level.building03,"per_apartment03_drop","per_drone03_drop_apartment",27); + dynamiceventhandlefinalshiftingapartment(var_04,level.building04,"per_drone04_flight","per_drone04_idle02"); + level notify("dynamic_event_complete"); + var_00 playsound("anrx_per_dynevent_act"); + } +} + +//Function Number: 15 +dynamiceventhandleshiftingapartment(param_00,param_01,param_02,param_03,param_04) +{ + param_00 waittillmatch("end","droneIdle"); + if(level.currentgen) + { + param_00.legsclip delete(); + } + + thread playdroneactivevfx(param_00); + param_00 scriptmodelclearanim(); + param_01 aud_map_event_start(); + param_01.proxy unlink(); + param_00 scriptmodelplayanimdeltamotionfrompos(param_03,level.dynamiceventanimorg.origin,level.dynamiceventanimorg.angles,"droneDropoff"); + param_01.proxy scriptmodelplayanimdeltamotionfrompos(param_02,level.dynamiceventanimorg.origin,level.dynamiceventanimorg.angles); + thread dynamiceventplayaccordion(param_01.targetname + "_accordian",5); + thread notifybuildinginplace(param_01.targetname,15); + wait(param_04); + param_00 deletedroneandcollision(); +} + +//Function Number: 16 +deletedroneandcollision() +{ + if(isdefined(self)) + { + if(isdefined(self.clipents)) + { + foreach(var_01 in self.clipents) + { + var_01 delete(); + } + } + + self delete(); + } +} + +//Function Number: 17 +handleobjectresettrigger(param_00,param_01) +{ + level endon("game_ended"); + var_02 = 32; + if(isdefined(param_00)) + { + param_00.targetname = "out_of_bounds"; + } + + if(level.gametype == "ball") + { + var_02 = 24; + } + + while(isdefined(param_00) && isdefined(param_01)) + { + param_00.origin = param_01.origin - (0,0,var_02); + wait(0.5); + } +} + +//Function Number: 18 +handleragdollwakeup(param_00,param_01) +{ + level waittill("dynamic_event_started"); + physicsexplosionsphere(param_00,param_01,0,0); +} + +//Function Number: 19 +notifybuildinginplace(param_00,param_01) +{ + if(isdefined(param_01)) + { + wait(param_01); + } + + level notify(param_00 + "_in_place"); +} + +//Function Number: 20 +dynamiceventhandlefinalshiftingapartment(param_00,param_01,param_02,param_03) +{ + param_00 waittillmatch("end","droneIdle"); + param_00 scriptmodelclearanim(); + param_00 scriptmodelplayanimdeltamotionfrompos(param_02,level.dynamiceventanimorg.origin,level.dynamiceventanimorg.angles,"droneReposition"); + param_00 waittillmatch("end","droneReposition"); + param_00 scriptmodelclearanim(); + param_00 scriptmodelplayanimdeltamotionfrompos(param_03,level.dynamiceventanimorg.origin,level.dynamiceventanimorg.angles); +} + +//Function Number: 21 +dynamiceventcollisionhandling(param_00,param_01) +{ + wait(1); + foreach(var_03 in level.dynamiceventdrones) + { + if(isdefined(var_03.bodyclip)) + { + var_03.bodyclip unlink(); + } + } + + level waittill("dynamic_event_started"); + foreach(var_03 in level.dynamiceventdrones) + { + if(isdefined(var_03.bodyclip)) + { + if(level.nextgen) + { + var_03.bodyclip.origin = var_03.bodyclip.parent.origin; + var_03.bodyclip.angles = var_03.bodyclip.parent.angles; + } + + var_03.bodyclip vehicle_jetbikesethoverforcescale(var_03.bodyclip.parent); + } + } + + param_00.unresolved_collision_kill = 1; + param_01.unresolved_collision_kill = 1; +} + +//Function Number: 22 +dynamiceventplayaccordion(param_00,param_01) +{ + var_02 = getscriptablearray(param_00,"targetname"); + if(isdefined(param_01)) + { + wait(param_01); + } + + if(isdefined(var_02)) + { + foreach(var_04 in var_02) + { + var_04 setscriptablepartstate("root_part","anim_state"); + } + } +} + +//Function Number: 23 +handledynamiceventcarepackagebadvol() +{ + var_00 = getent("carepackage_bad_vol","targetname"); + while(!isdefined(level.orbital_util_covered_volumes)) + { + wait 0.05; + } + + level.orbital_util_covered_volumes[level.orbital_util_covered_volumes.size] = var_00; + level.goliath_bad_landing_volumes[level.goliath_bad_landing_volumes.size] = var_00; +} + +//Function Number: 24 +handledynamiceventobjectresettriggers() +{ + var_00 = getent("object_reset_trigger_01","targetname"); + var_01 = getent("object_reset_trigger_02","targetname"); + var_02 = getent("uplink_ball_blocker","targetname"); + var_00.targetname = "out_of_bounds"; + var_01.targetname = "out_of_bounds"; + var_00 common_scripts\utility::trigger_off(); + var_01 common_scripts\utility::trigger_off(); + var_02 common_scripts\utility::trigger_off(); + level waittill("dynamic_event_started"); + var_00 common_scripts\utility::trigger_on(); + level waittill("dynamic_event_apartment_01_in_place"); + var_00 delete(); + var_02 common_scripts\utility::trigger_on(); + level waittill("dynamic_event_apartment_02_in_place"); + var_01 common_scripts\utility::trigger_on(); + level waittill("dynamic_event_apartment_03_in_place"); + var_01 delete(); +} + +//Function Number: 25 +dynamiceventsuspendedapartmentshiftanimend() +{ + var_00 = getent("final_position_apartment_01","targetname"); + var_01 = getent("final_position_apartment_02","targetname"); + var_02 = getent("final_position_apartment_03","targetname"); + var_03 = getent("final_position_apartment_04","targetname"); + var_04 = undefined; + foreach(var_06 in level.dynamiceventdrones) + { + if(var_06.targetname == "dynamic_event_apartment_04_drone") + { + var_04 = var_06; + break; + } + } + + foreach(var_09 in level.dynamiceventapartments) + { + var_09 unlink(); + } + + level.building01.origin = var_00.origin; + level.building01.angles = var_00.angles; + level.building02.origin = var_01.origin; + level.building02.angles = var_01.angles; + level.building03.origin = var_02.origin; + level.building03.angles = var_02.angles; + level.building04.origin = var_03.origin; + level.building04.angles = var_03.angles; + foreach(var_09 in level.dynamiceventapartments) + { + var_09.col.origin = var_09.origin; + var_09.col.angles = var_09.angles; + } + + var_04 scriptmodelclearanim(); + var_04.origin = level.dynamiceventanimorg.origin; + var_04.angles = level.dynamiceventanimorg.angles; + level.building04.origin = level.dynamiceventanimorg.origin; + level.building04.angles = level.dynamiceventanimorg.angles - (0,180,0); + level.building04.proxy.origin = level.dynamiceventanimorg.origin; + level.building04.proxy.angles = level.dynamiceventanimorg.angles; + var_04 scriptmodelplayanimdeltamotion("per_drone04_idle02"); + level.building04 vehicle_jetbikesethoverforcescale(level.building04.proxy); + foreach(var_06 in level.dynamiceventdrones) + { + if(isdefined(var_06) && var_06 != var_04) + { + var_06 deletedroneandcollision(); + } + } + + handledynamiceventpathnodesforstate(1); +} + +//Function Number: 26 +playdronevfx(param_00) +{ + playfxontag(common_scripts\utility::getfx("mp_plex_drone_hover"),param_00,"TAG_ORIGIN"); + param_00 playloopsound("mp_pp_drone_idle_lo"); +} + +//Function Number: 27 +playdroneactivevfx(param_00) +{ + playfxontag(common_scripts\utility::getfx("mp_plex_drone_active"),param_00,"TAG_ORIGIN"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("mp_plex_drone_leg_glow"),param_00,"fx_joint_0"); + playfxontag(common_scripts\utility::getfx("mp_plex_drone_leg_glow"),param_00,"fx_joint_1"); + playfxontag(common_scripts\utility::getfx("mp_plex_drone_leg_glow"),param_00,"fx_joint_2"); + playfxontag(common_scripts\utility::getfx("mp_plex_drone_leg_glow"),param_00,"fx_joint_3"); +} + +//Function Number: 28 +do_drone_top_damage() +{ + level endon("game_ended"); + var_00 = 198; + var_01 = 12; + var_02 = -100; + var_03 = var_00 * var_00; + while(!isdefined(level.players)) + { + wait 0.05; + } + + var_04 = level.drone_top_origins.size; + for(;;) + { + if(!isdefined(level.drone_top_origins) || var_04 == 0) + { + return; + } + + var_05 = 0; + foreach(var_07 in level.drone_top_origins) + { + if(isdefined(var_07)) + { + foreach(var_09 in level.players) + { + if(!isdefined(var_09) || !isalive(var_09)) + { + continue; + } + + if(distance2dsquared(var_07.origin,var_09.origin) < var_03) + { + var_0A = var_09.origin[2] - var_07.origin[2]; + if(var_0A > var_02 && var_0A < var_01) + { + var_09 dodamage(1000,var_07.origin,undefined,undefined,"MOD_TRIGGER_HURT","none","none"); + } + } + } + + if(isdefined(level.ugvs)) + { + foreach(var_0D in level.ugvs) + { + if(distance2dsquared(var_07.origin,var_0D.origin) < var_03) + { + var_0E = var_0D.origin[2] - var_07.origin[2]; + if(var_0E > var_02 + 85 && var_0E < var_01) + { + var_0D notify("death"); + } + } + } + } + + var_05++; + } + } + + var_04 = var_05; + wait(0.05); + } +} + +//Function Number: 29 +handledynamiceventpathnodesforstate(param_00) +{ + level endon("game_ended"); + level notify("override_dynamic_path_handling"); + level endon("override_dynamic_path_handling"); + wait(1); + var_01 = getent("building_01_dynamic_path_brush","targetname"); + var_02 = getent("building_02_dynamic_path_brush","targetname"); + var_03 = getent("building_03_dynamic_path_brush","targetname"); + var_04 = getent("pre_dynamic_event_dynamic_path_brush","targetname"); + var_05 = getent("both_dynamic_path_brush","targetname"); + var_06 = getentarray("dynamic_event_temp_clip","targetname"); + foreach(var_08 in var_06) + { + var_08 delete(); + } + + if(isdefined(param_00) && param_00 == 1) + { + disconnectnodesforbrush(var_04); + connectnodesforbrush(var_01); + connectnodesforbrush(var_02); + connectnodesforbrush(var_03); + connectnodesforbrush(var_05); + return; + } + + var_01 disconnectpaths(); + var_01 common_scripts\utility::trigger_off(); + var_02 disconnectpaths(); + var_02 common_scripts\utility::trigger_off(); + var_03 disconnectpaths(); + var_03 common_scripts\utility::trigger_off(); + var_04 connectpaths(); + var_04 common_scripts\utility::trigger_off(); + var_05 connectpaths(); + var_05 common_scripts\utility::trigger_off(); + level waittill("dynamic_event_started"); + disconnectnodesforbrush(var_04); + disconnectnodesforbrush(var_05); + level waittill("dynamic_event_apartment_01_in_place"); + connectnodesforbrush(var_01); + level waittill("dynamic_event_apartment_02_in_place"); + connectnodesforbrush(var_02); + connectnodesforbrush(var_05); + level waittill("dynamic_event_apartment_03_in_place"); + connectnodesforbrush(var_03); +} + +//Function Number: 30 +gamemodetraversalcheck() +{ + wait(2); + var_00 = getent("uplink_non_goalnode_brush","targetname"); + if(level.gametype == "ball") + { + var_00 disconnectpaths(); + var_00 common_scripts\utility::trigger_off(); + } + else + { + var_00 connectpaths(); + var_00 common_scripts\utility::trigger_off(); + } + + var_00 delete(); +} + +//Function Number: 31 +connectnodesforbrush(param_00) +{ + param_00 common_scripts\utility::trigger_on(); + param_00 connectpaths(); + param_00 common_scripts\utility::trigger_off(); +} + +//Function Number: 32 +disconnectnodesforbrush(param_00) +{ + param_00 common_scripts\utility::trigger_on(); + param_00 disconnectpaths(); + param_00 common_scripts\utility::trigger_off(); +} + +//Function Number: 33 +perplexkillstreakoverrides() +{ + while(!isdefined(level.orbitalsupportoverrides)) + { + wait 0.05; + } + + level.orbitalsupportoverrides.spawnheight = 6500; + level.remote_missile_height_override = 18000; +} + +//Function Number: 34 +vignetteferry() +{ + var_00 = getent("ferry_loop_org","targetname"); + var_01 = spawn("script_model",var_00.origin); + var_01 setmodel("per_ferryboat_01"); + var_01.angles = var_00.angles; + for(;;) + { + var_01 scriptmodelplayanim("per_ferry_boat"); + playfxontag(common_scripts\utility::getfx("boat_wake_ferryboat_main_foam"),var_01,"boat_body"); + var_02 = randomintrange(220,340); + wait(var_02); + stopfxontag(common_scripts\utility::getfx("boat_wake_ferryboat_main_foam"),var_01,"boat_body"); + wait(2); + var_01 scriptmodelclearanim(); + } +} + +//Function Number: 35 +vignetterooftopwindmills() +{ + var_00 = getentarray("rooftop_windmill","targetname"); + foreach(var_02 in var_00) + { + if(isdefined(var_02.script_noteworthy)) + { + var_02 scriptmodelplayanim(var_02.script_noteworthy); + continue; + } + + var_02 scriptmodelplayanim("per_windmill_idle01"); + } +} + +//Function Number: 36 +vignettesailboats() +{ + for(var_00 = 1;var_00 < 6;var_00 = var_00 + 1) + { + switch(var_00) + { + case 1: + var_01 = getent("sailboat_idle_a_org","targetname"); + var_02 = spawn("script_model",var_01.origin); + var_02 setmodel("per_sailboat_01"); + var_02.angles = var_01.angles; + playfxontag(common_scripts\utility::getfx("boat_wake_sailboat_main_foam"),var_02,"boat_body"); + var_02 scriptmodelplayanim("per_sail_boat_idle_a"); + break; + + case 2: + var_01 = getent("sailboat_idle_b_org","targetname"); + var_02 = spawn("script_model",var_01.origin); + var_02 setmodel("per_sailboat_01"); + var_02.angles = var_01.angles; + playfxontag(common_scripts\utility::getfx("boat_wake_sailboat_main_foam"),var_02,"boat_body"); + var_02 scriptmodelplayanim("per_sail_boat_idle_b"); + break; + + case 3: + var_01 = getent("sailboat_idle_c_org","targetname"); + var_02 = spawn("script_model",var_01.origin); + var_02 setmodel("per_sailboat_01"); + var_02.angles = var_01.angles; + playfxontag(common_scripts\utility::getfx("boat_wake_sailboat_main_foam"),var_02,"boat_body"); + var_02 scriptmodelplayanim("per_sail_boat_idle_c"); + break; + + case 4: + var_01 = getent("sailboat_idle_d_org","targetname"); + var_02 = spawn("script_model",var_01.origin); + var_02 setmodel("per_sailboat_01"); + var_02.angles = var_01.angles; + playfxontag(common_scripts\utility::getfx("boat_wake_sailboat_main_foam"),var_02,"boat_body"); + var_02 scriptmodelplayanim("per_sail_boat_idle_d"); + break; + + case 5: + var_01 = getent("ferry_idle_org","targetname"); + var_03 = spawn("script_model",var_01.origin); + var_03 setmodel("per_ferryboat_01"); + var_03.angles = var_01.angles; + var_03 scriptmodelplayanim("per_ferry_boat_dock_idle"); + break; + } + } + + var_04 = getent("sailboat_loop_org","targetname"); + var_02 = spawn("script_model",var_04.origin); + var_02 setmodel("per_sailboat_01"); + var_02.angles = var_04.angles; + for(;;) + { + var_02 scriptmodelplayanim("per_sail_boat"); + playfxontag(common_scripts\utility::getfx("boat_wake_sailboat_main_foam"),var_02,"boat_body"); + var_05 = randomintrange(180,300); + wait(var_05); + stopfxontag(common_scripts\utility::getfx("boat_wake_sailboat_main_foam"),var_02,"boat_body"); + wait(2); + var_02 scriptmodelclearanim(); + } +} + +//Function Number: 37 +aud_map_event_start() +{ + var_00 = self; + if(var_00 == level.building01) + { + maps\mp\_audio::snd_play_linked("mp_pp_bldg_move_01",var_00,60); + } + + if(var_00 == level.building02) + { + maps\mp\_audio::snd_play_linked("mp_pp_bldg_move_02",var_00,60); + } + + if(var_00 == level.building03) + { + maps\mp\_audio::snd_play_linked("mp_pp_bldg_move_03",var_00,60); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_perplex_1_aud.gsc b/AW/PC/maps/mp/mp_perplex_1_aud.gsc new file mode 100644 index 0000000..893f474 --- /dev/null +++ b/AW/PC/maps/mp/mp_perplex_1_aud.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_perplex_1_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:18:05 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_perplex_1_fx.gsc b/AW/PC/maps/mp/mp_perplex_1_fx.gsc new file mode 100644 index 0000000..4174926 --- /dev/null +++ b/AW/PC/maps/mp/mp_perplex_1_fx.gsc @@ -0,0 +1,53 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_perplex_1_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:18:05 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["mp_plex_wind_streamers"] = loadfx("vfx/map/mp_perplex/mp_plex_wind_streamers"); + level._effect["mp_plex_bridge_vehicles_sml"] = loadfx("vfx/map/mp_perplex/mp_plex_bridge_vehicles_sml"); + level._effect["mp_plex_drone_leg_glow"] = loadfx("vfx/map/mp_perplex/mp_plex_drone_leg_glow"); + level._effect["mp_plex_drone_active"] = loadfx("vfx/map/mp_perplex/mp_plex_drone_active"); + level._effect["insects_fruitflies_flying"] = loadfx("vfx/animal/insects_fruitflies_flying"); + level._effect["mp_plex_pier_mist_runner"] = loadfx("vfx/map/mp_perplex/mp_plex_pier_mist_runner"); + level._effect["mp_plex_pier_mist"] = loadfx("vfx/map/mp_perplex/mp_plex_pier_mist"); + level._effect["cli_butterfly_runner"] = loadfx("vfx/map/mp_climate/cli_butterfly_runner"); + level._effect["mp_plex_water_edge_splash_sml_runner"] = loadfx("vfx/map/mp_perplex/mp_plex_water_edge_splash_sml_runner"); + level._effect["mp_plex_park_leaves_runner"] = loadfx("vfx/map/mp_perplex/mp_plex_park_leaves_runner"); + level._effect["mp_plex_column_waves"] = loadfx("vfx/map/mp_perplex/mp_plex_column_waves"); + level._effect["mp_plex_godray"] = loadfx("vfx/map/mp_perplex/mp_plex_godray"); + level._effect["mp_plex_big_waves"] = loadfx("vfx/map/mp_perplex/mp_plex_big_waves"); + level._effect["mp_plex_ambient_sailboats_idle"] = loadfx("vfx/map/mp_perplex/mp_plex_ambient_sailboats_idle"); + level._effect["trash_tornado_s_runner"] = loadfx("vfx/wind/dlc/trash_tornado_s_runner"); + level._effect["mp_plex_vent_air_parent"] = loadfx("vfx/wind/mp_plex_vent_air_parent"); + level._effect["mp_plex_bridge_vehicles"] = loadfx("vfx/map/mp_perplex/mp_plex_bridge_vehicles"); + level._effect["mp_plex_water_caustics_parent"] = loadfx("vfx/map/mp_perplex/mp_plex_water_caustics_parent"); + level._effect["mp_plex_water_caustics_a"] = loadfx("vfx/map/mp_perplex/mp_plex_water_caustics_a"); + level._effect["mp_plex_smoke_stack"] = loadfx("vfx/map/mp_perplex/mp_plex_smoke_stack"); + level._effect["mp_plex_ambient_sailboats"] = loadfx("vfx/map/mp_perplex/mp_plex_ambient_sailboats"); + level._effect["plastic_shreds_hanging_e_small"] = loadfx("vfx/wind/plastic_shreds_hanging_e_small"); + level._effect["mp_plex_vista_waves_runner"] = loadfx("vfx/map/mp_perplex/mp_plex_vista_waves_runner"); + level._effect["boat_wake_sailboat_main_foam"] = loadfx("vfx/treadfx/boat_wake_sailboat_main_foam"); + level._effect["boat_wake_ferryboat_main_foam"] = loadfx("vfx/treadfx/boat_wake_ferryboat_main_foam"); + level._effect["fx_sunflare_perplex"] = loadfx("vfx/lensflare/fx_sunflare_perplex"); + level._effect["floating_trash_runner_slow"] = loadfx("vfx/map/mp_perplex/floating_trash_runner_slow"); + level._effect["mp_plex_building_fog"] = loadfx("vfx/map/mp_perplex/mp_plex_building_fog"); + level._effect["mp_plex_wavebreaks_runner"] = loadfx("vfx/map/mp_perplex/mp_plex_wavebreaks_runner"); + level._effect["mp_plex_vista_fog"] = loadfx("vfx/map/mp_perplex/mp_plex_vista_fog"); + level._effect["bird_seagull_flying_runner"] = loadfx("vfx/animal/bird_seagull_flying_runner"); + level._effect["ambient_falling_leaves_big_runner"] = loadfx("vfx/wind/dlc/ambient_falling_leaves_big_runner"); + level._effect["mp_plex_roof_wind_runner"] = loadfx("vfx/map/mp_perplex/mp_plex_roof_wind_runner"); + level._effect["mp_plex_planter_leaves_runner"] = loadfx("vfx/map/mp_perplex/mp_plex_planter_leaves_runner"); + level._effect["wind_blowing_debris_02"] = loadfx("vfx/wind/dlc/wind_blowing_debris_02"); + level._effect["mp_plex_falling_building_dust_runner"] = loadfx("vfx/map/mp_perplex/mp_plex_falling_building_dust_runner"); + level._effect["plastic_shreds_hanging_e_slow"] = loadfx("vfx/wind/plastic_shreds_hanging_e_slow"); + level._effect["mp_plex_ambient_int_dust"] = loadfx("vfx/map/mp_perplex/mp_plex_ambient_int_dust"); + level._effect["mp_plex_drone_hover"] = loadfx("vfx/map/mp_perplex/mp_plex_drone_hover"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_perplex_1_lighting.gsc b/AW/PC/maps/mp/mp_perplex_1_lighting.gsc new file mode 100644 index 0000000..de9a556 --- /dev/null +++ b/AW/PC/maps/mp/mp_perplex_1_lighting.gsc @@ -0,0 +1,16 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_perplex_1_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 38 ms + * Timestamp: 4/22/2024 2:18:05 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setdvar("r_lightGridEnableTweaks",1); + setdvar("r_lightGridIntensity",1.33); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_perplex_1_precache.gsc b/AW/PC/maps/mp/mp_perplex_1_precache.gsc new file mode 100644 index 0000000..c5fea5b --- /dev/null +++ b/AW/PC/maps/mp/mp_perplex_1_precache.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_perplex_1_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 31 ms + * Timestamp: 4/22/2024 2:18:06 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_prison.gsc b/AW/PC/maps/mp/mp_prison.gsc new file mode 100644 index 0000000..3b34710 --- /dev/null +++ b/AW/PC/maps/mp/mp_prison.gsc @@ -0,0 +1,755 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_prison.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 40 + * Decompile Time: 795 ms + * Timestamp: 4/22/2024 2:18:09 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\mp\mp_prison_precache::main(); + maps\createart\mp_prison_art::main(); + maps\mp\mp_prison_fx::main(); + maps\mp\mp_prison_lighting::main(); + maps\mp\_load::main(); + maps\mp\_compass::setupminimap("compass_map_mp_prison"); + setdvar("r_lightGridEnableTweaks",1); + setdvar("r_lightGridIntensity",1.33); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + level.mapcustomkillstreakfunc = ::prisoncustomkillstreakfunc; + level.orbitalsupportoverridefunc = ::prisonpaladinoverrides; + thread goliathvolumes(); + level.dronevisionset = "mp_instinct_osp"; + level.dronelightset = "mp_prison_drone"; + thread ambientanimation(); +} + +//Function Number: 2 +goliathvolumes() +{ + level.goliath_bad_landing_volumes = getentarray("goliath_bad_landing_volume","targetname"); +} + +//Function Number: 3 +prisoncustomkillstreakfunc() +{ + level thread maps\mp\killstreaks\streak_mp_prison::init(); +} + +//Function Number: 4 +set_lighting_values() +{ + if(isusinghdr()) + { + for(;;) + { + level waittill("connected",var_00); + var_00 setclientdvars("r_tonemap","1","r_tonemapLockAutoExposureAdjust","0","r_tonemapAutoExposureAdjust","0"); + } + } +} + +//Function Number: 5 +prisonpaladinoverrides() +{ + level.orbitalsupportoverrides.spawnheight = 7500; + level.orbitalsupportoverrides.spawnradius = 4500; + level.orbitalsupportoverrides.leftarc = 40; + level.orbitalsupportoverrides.rightarc = 40; + level.orbitalsupportoverrides.toparc = -38; + level.orbitalsupportoverrides.bottomarc = 78; +} + +//Function Number: 6 +ambientanimation() +{ + var_00 = getentarray("guard_tower_radar","targetname"); + foreach(var_02 in var_00) + { + var_02 thread rotateradar(); + } +} + +//Function Number: 7 +rotateradar() +{ + if(!isdefined(level.rotatetime)) + { + level.rotatetime = 20; + } + + for(;;) + { + self rotatevelocity((0,-100,0),level.rotatetime); + wait(level.rotatetime); + } +} + +//Function Number: 8 +setupriotsuppresionsystem() +{ + precachelocationselector("map_artillery_selector"); + precachestring(&"KILLSTREAKS_MP_PRISON"); + precacheitem("mp_prison_gas"); + level.gasedvisionset = "mp_prison_gas"; + level.gas_alarm_sfx_alias = "mp_prison_gas_on_siren"; + level.gate_spark_fx = "gate_sparks"; + level._effect[level.gate_spark_fx] = loadfx("vfx/sparks/electrical_sparks_oneshot"); + var_00 = getentarray("gas_trigger","targetname"); + thread gasfieldsoff(); + if(var_00.size > 0) + { + precacheshellshock("mp_prison_gas"); + foreach(var_02 in var_00) + { + var_02 thread common_scripts\_dynamic_world::triggertouchthink(::playerenterarea,::playerleavearea); + } + + thread onplayerconnect(); + } + + thread gasvisualssetup(); + thread setupgates(); + thread monitorriotsuppressionsystem(); +} + +//Function Number: 9 +monitorriotsuppressionsystem() +{ + level endon("debug_mp_prison_gas"); + level.dynamiceventcount = 3; + var_00 = 2; + var_01 = maps\mp\_utility::gettimelimit(); + var_02 = gettime() + var_00 * 1000; + var_03 = var_01 / level.dynamiceventcount * 60 * 1000; + for(var_04 = 1;var_04 < level.dynamiceventcount;var_04++) + { + if(var_01 > 0) + { + var_02 = gettime() + var_03; + } + else + { + var_02 = gettime() + var_00 * 1000; + } + + while(gettime() < var_02) + { + wait(1); + } + + startriotsuppressionsystem(); + } +} + +//Function Number: 10 +startriotsuppressionsystem() +{ + var_00 = 20; + thread gasvisualswarningstart(); + thread movegates(); + thread rotategates(); + thread rotategatesconstant(); + thread gas_alarm_on_vo(); + wait(5); + thread gasvisualsstart(); + thread aud_gas_sfx(); + gasfieldson(); + wait(var_00); + level notify("stop_gas_sfx"); + thread resetgates(); + thread resetrotategates(); + thread resetrotategateconstant(); + thread gas_alarm_off_vo(); + gasfieldsoff(); +} + +//Function Number: 11 +aud_gas_sfx() +{ + var_00 = (-2666,1305,828); + var_01 = (-2282,1305,840); + var_02 = (-2026,1305,840); + var_03 = (-1557,1305,840); + var_04 = (-1512,903,840); + var_05 = (-2024,903,840); + var_06 = (-2411,903,840); + var_07 = (-2666,903,840); + var_08 = [var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07]; + foreach(var_0A in var_08) + { + thread maps\mp\_audio::snd_play_in_space("mp_prison_gas_valve_start",var_0A); + thread maps\mp\_audio::snd_play_loop_in_space("mp_prison_gas_lp",var_0A,"stop_gas_sfx",2.2); + } +} + +//Function Number: 12 +gas_alarm_on_vo() +{ + var_00 = spawn("script_origin",(-2143,1108,946)); + var_00 playsound("mp_prison_gas_on"); +} + +//Function Number: 13 +gas_alarm_off_vo() +{ + var_00 = spawn("script_origin",(-2143,1108,946)); + var_00 playsound("mp_prison_gas_off_02"); +} + +//Function Number: 14 +gasvisualssetup() +{ + if(!isdefined(level.mp_prison_killstreak)) + { + level.mp_prison_killstreak = spawnstruct(); + } + + if(!isdefined(level.mp_prison_killstreak.gas_tags)) + { + var_00 = common_scripts\utility::getstructarray("gas_org","targetname"); + level.mp_prison_killstreak.gas_tags = []; + foreach(var_02 in var_00) + { + var_03 = var_02 common_scripts\utility::spawn_tag_origin(); + var_03 show(); + level.mp_prison_killstreak.gas_tags[level.mp_prison_killstreak.gas_tags.size] = var_03; + } + } + + if(!isdefined(level.mp_prison_killstreak.gas_warning_light_tags)) + { + var_00 = common_scripts\utility::getstructarray("flashing_red_light","targetname"); + level.mp_prison_killstreak.gas_warning_light_tags = []; + foreach(var_02 in var_00) + { + var_03 = var_02 common_scripts\utility::spawn_tag_origin(); + var_03 show(); + level.mp_prison_killstreak.gas_warning_light_tags[level.mp_prison_killstreak.gas_warning_light_tags.size] = var_03; + } + } +} + +//Function Number: 15 +gasvisualswarningstart() +{ + foreach(var_01 in level.mp_prison_killstreak.gas_warning_light_tags) + { + var_01 thread playloopingsoundonorigin(); + } + + activateclientexploder(10); +} + +//Function Number: 16 +setupgates() +{ + var_00 = getentarray("moving_gate","targetname"); + level.mp_prison_killstreak.gates = []; + foreach(var_02 in var_00) + { + var_03 = spawnstruct(); + var_02.originalpos = var_02.origin; + var_03.gate = var_02; + var_04 = common_scripts\utility::getstruct(var_02.target,"targetname"); + var_03.dest = var_04; + var_05 = getent(var_04.target,"targetname"); + var_05.originalpos = var_05.origin; + var_03.collision = var_05; + var_06 = common_scripts\utility::getstruct(var_05.target,"targetname"); + var_07 = var_06 common_scripts\utility::spawn_tag_origin(); + var_07 show(); + var_07 linkto(var_02); + var_08 = common_scripts\utility::getstruct(var_06.target,"targetname"); + var_09 = var_08 common_scripts\utility::spawn_tag_origin(); + var_09 show(); + var_09 linkto(var_02); + var_03.sparks = [var_07,var_09]; + level.mp_prison_killstreak.gates[level.mp_prison_killstreak.gates.size] = var_03; + } + + var_00 = getentarray("rotating_gate","targetname"); + level.mp_prison_killstreak.rotating_gates = []; + foreach(var_02 in var_00) + { + var_03 = spawnstruct(); + var_02.originalpos = var_02.origin; + var_02.originalrot = var_02.angles; + var_03.gate = var_02; + var_04 = common_scripts\utility::getstruct(var_02.target,"targetname"); + var_03.dest = var_04; + var_05 = getent(var_04.target,"targetname"); + var_05.originalpos = var_05.origin; + var_05.angles = var_02.angles + (0,-90,0); + var_05.originalrot = var_05.angles; + var_03.collision = var_05; + var_06 = common_scripts\utility::getstruct(var_05.target,"targetname"); + var_07 = var_06 common_scripts\utility::spawn_tag_origin(); + var_07 show(); + var_07 linkto(var_02); + var_08 = common_scripts\utility::getstruct(var_06.target,"targetname"); + var_09 = var_08 common_scripts\utility::spawn_tag_origin(); + var_09 show(); + var_09 linkto(var_02); + var_03.sparks = [var_07,var_09]; + if(isdefined(var_08.target)) + { + var_0C = getent(var_08.target,"targetname"); + var_03.kill_vol = var_0C; + var_03.kill_vol common_scripts\utility::trigger_off_proc(); + } + + level.mp_prison_killstreak.rotating_gates[level.mp_prison_killstreak.rotating_gates.size] = var_03; + } + + var_00 = getentarray("rotating_gate_constant","targetname"); + level.mp_prison_killstreak.rotating_gate_constant = []; + foreach(var_02 in var_00) + { + var_03 = spawnstruct(); + var_02.originalpos = var_02.origin; + var_02.originalrot = var_02.angles; + var_03.gate = var_02; + var_04 = common_scripts\utility::getstruct(var_02.target,"targetname"); + var_03.dest = var_04; + var_06 = common_scripts\utility::getstruct(var_04.target,"targetname"); + if(!isdefined(var_06)) + { + continue; + } + + var_07 = var_06 common_scripts\utility::spawn_tag_origin(); + var_07 show(); + var_07 linkto(var_02); + var_08 = common_scripts\utility::getstruct(var_06.target,"targetname"); + if(!isdefined(var_08)) + { + var_07 delete(); + continue; + } + + var_09 = var_08 common_scripts\utility::spawn_tag_origin(); + var_09 show(); + var_09 linkto(var_02); + var_03.sparks = [var_07,var_09]; + level.mp_prison_killstreak.rotating_gate_constant[level.mp_prison_killstreak.rotating_gate_constant.size] = var_03; + } +} + +//Function Number: 17 +movegates() +{ + var_00 = 0.5; + foreach(var_02 in level.mp_prison_killstreak.gates) + { + var_02.gate moveto(var_02.dest.origin,var_00,0.1,0.2); + var_02.collision moveto(var_02.dest.origin,var_00,0.1,0.2); + var_02 thread bouncegate(var_00); + } +} + +//Function Number: 18 +rotategates() +{ + var_00 = 0.5; + foreach(var_02 in level.mp_prison_killstreak.rotating_gates) + { + var_02 thread gatefxon(); + var_02.gate moveto(var_02.dest.origin,var_00,0.1,0.2); + var_02.gate rotateto(var_02.dest.angles,var_00,0.1,0.2); + var_02.collision rotateto(var_02.dest.angles - (0,90,0),var_00,0.1,0.2); + var_02.collision moveto(var_02.dest.origin,var_00,0.1,0.2); + } + + wait(var_00); + foreach(var_02 in level.mp_prison_killstreak.rotating_gates) + { + var_02 thread gatefxoff(); + } +} + +//Function Number: 19 +rotategatesconstant() +{ + foreach(var_01 in level.mp_prison_killstreak.rotating_gate_constant) + { + var_01 thread rotategatebounce(); + } +} + +//Function Number: 20 +rotategatebounce() +{ + self endon("stop_bounce"); + for(;;) + { + var_00 = randomfloatrange(0.1,0.5); + thread gatefxon(); + self.gate moveto(self.dest.origin,var_00,0.05,0.05); + self.gate rotateto(self.dest.angles,var_00,0.05,0.05); + wait(var_00); + self.gate moveto(self.gate.originalpos,var_00,0.05,0.05); + self.gate rotateto(self.gate.originalrot,var_00,0.05,0.05); + thread gatefxoff(); + wait(randomfloatrange(0.1,1)); + } +} + +//Function Number: 21 +resetrotategateconstant() +{ + var_00 = 0.5; + foreach(var_02 in level.mp_prison_killstreak.rotating_gate_constant) + { + var_02 notify("stop_bounce"); + } + + wait(0.5); + foreach(var_02 in level.mp_prison_killstreak.rotating_gate_constant) + { + var_02 thread gatefxon(); + var_02.gate moveto(var_02.gate.originalpos,var_00,0.05,0.05); + var_02.gate rotateto(var_02.gate.originalrot,var_00,0.05,0.05); + } + + wait(var_00); + foreach(var_02 in level.mp_prison_killstreak.rotating_gate_constant) + { + var_02 thread gatefxoff(); + } +} + +//Function Number: 22 +resetrotategates() +{ + var_00 = 0.5; + foreach(var_02 in level.mp_prison_killstreak.rotating_gates) + { + var_02 thread gatefxon(); + if(isdefined(var_02.kill_vol)) + { + var_02.kill_vol common_scripts\utility::trigger_on_proc(); + } + + var_02.gate moveto(var_02.gate.originalpos,var_00,0.1,0.2); + var_02.gate rotateto(var_02.gate.originalrot,var_00,0.1,0.2); + var_02.collision rotateto(var_02.collision.originalrot,var_00,0.1,0.2); + var_02.collision moveto(var_02.collision.originalpos,var_00,0.1,0.2); + } + + wait(var_00); + foreach(var_02 in level.mp_prison_killstreak.rotating_gates) + { + if(isdefined(var_02.kill_vol)) + { + var_02.kill_vol common_scripts\utility::trigger_off_proc(); + } + + var_02 thread gatefxoff(); + } +} + +//Function Number: 23 +resetgates() +{ + var_00 = 0.5; + foreach(var_02 in level.mp_prison_killstreak.gates) + { + var_02 notify("stop_bounce"); + } + + wait(0.5); + foreach(var_02 in level.mp_prison_killstreak.gates) + { + var_02 thread gatefxon(); + var_02.gate moveto(var_02.gate.originalpos,var_00,0.1,0.2); + var_02.collision moveto(var_02.collision.originalpos,var_00,0.1,0.2); + } + + wait(var_00); + foreach(var_02 in level.mp_prison_killstreak.gates) + { + var_02 thread gatefxoff(); + } +} + +//Function Number: 24 +bouncegate(param_00) +{ + self endon("stop_bounce"); + thread gatefxon(); + wait(param_00); + thread gatefxoff(); + var_01 = anglestoforward(vectortoangles(self.dest.origin - self.gate.originalpos)); + var_02 = var_01 * 2; + for(;;) + { + var_03 = randomfloatrange(0.1,0.5); + var_04 = randomfloatrange(0.1,0.5); + thread gatefxon(); + self.gate moveto(self.gate.origin + var_02,var_03,0.05,0.05); + wait(var_03); + self.gate moveto(self.dest.origin,var_04,0.05,0.05); + wait(var_04); + thread gatefxoff(); + wait(randomfloat(2)); + } +} + +//Function Number: 25 +gatefxon() +{ + self endon("stop_sparks"); + for(;;) + { + foreach(var_01 in self.sparks) + { + playfxontag(common_scripts\utility::getfx(level.gate_spark_fx),var_01,"tag_origin"); + } + + wait(randomfloatrange(0.5,1)); + } +} + +//Function Number: 26 +gatefxoff() +{ + self notify("stop_sparks"); + foreach(var_01 in self.sparks) + { + stopfxontag(common_scripts\utility::getfx(level.gate_spark_fx),var_01,"tag_origin"); + } +} + +//Function Number: 27 +gasvisualsstart() +{ + activateclientexploder(20); +} + +//Function Number: 28 +gasvisualsend() +{ +} + +//Function Number: 29 +playloopingsoundonorigin() +{ + wait(3.5); + thread maps\mp\_utility::playsoundinspace(level.gas_alarm_sfx_alias,self.origin); +} + +//Function Number: 30 +onplayerconnect() +{ + for(;;) + { + level waittill("connected",var_00); + var_00.numareas = 0; + } +} + +//Function Number: 31 +playerenterarea(param_00) +{ + self.numareas++; + if(self.numareas == 1) + { + gaseffect(); + } +} + +//Function Number: 32 +playerleavearea(param_00) +{ + self.numareas--; + if(self.numareas != 0) + { + return; + } + + self.poison = 0; + self notify("leftTrigger"); + if(isdefined(self.gasoverlay)) + { + self.gasoverlay fadeoutblackout(0.1,0); + } +} + +//Function Number: 33 +gasfieldson() +{ + var_00 = getentarray("gas_trigger","targetname"); + foreach(var_02 in var_00) + { + var_02 common_scripts\utility::trigger_on(); + } +} + +//Function Number: 34 +gasfieldsoff() +{ + var_00 = getentarray("gas_trigger","targetname"); + foreach(var_02 in var_00) + { + var_02 common_scripts\utility::trigger_off(); + } +} + +//Function Number: 35 +soundwatcher(param_00) +{ + common_scripts\utility::waittill_any("death","leftTrigger"); + self stoploopsound(); +} + +//Function Number: 36 +gaseffect() +{ + self endon("disconnect"); + self endon("game_ended"); + self endon("death"); + self endon("leftTrigger"); + self.poison = 0; + thread soundwatcher(self); + for(;;) + { + self.poison++; + switch(self.poison) + { + case 1: + self viewkick(1,self.origin); + break; + + case 3: + self shellshock("mp_prison_gas",4); + self viewkick(3,self.origin); + dogasdamage(25); + break; + + case 4: + self shellshock("mp_prison_gas",5); + self viewkick(15,self.origin); + thread blackout(); + dogasdamage(45); + break; + + case 6: + self shellshock("mp_prison_gas",5); + self viewkick(75,self.origin); + dogasdamage(80); + break; + + case 8: + self shellshock("mp_prison_gas",5); + self viewkick(127,self.origin); + dogasdamage(175); + break; + } + + wait(1); + } + + wait(5); +} + +//Function Number: 37 +blackout() +{ + self endon("disconnect"); + self endon("game_ended"); + self endon("death"); + self endon("leftTrigger"); + if(!isdefined(self.gasoverlay)) + { + self.gasoverlay = newclienthudelem(self); + self.gasoverlay.x = 0; + self.gasoverlay.y = 0; + self.gasoverlay setshader("black",640,480); + self.gasoverlay.alignx = "left"; + self.gasoverlay.aligny = "top"; + self.gasoverlay.horzalign = "fullscreen"; + self.gasoverlay.vertalign = "fullscreen"; + self.gasoverlay.alpha = 0; + } + + var_00 = 1; + var_01 = 2; + var_02 = 0.25; + var_03 = 1; + var_04 = 5; + var_05 = 100; + var_06 = 0; + for(;;) + { + while(self.poison > 1) + { + var_07 = var_05 - var_04; + var_06 = self.poison - var_04 / var_07; + if(var_06 < 0) + { + var_06 = 0; + } + else if(var_06 > 1) + { + var_06 = 1; + } + + var_08 = var_01 - var_00; + var_09 = var_00 + var_08 * 1 - var_06; + var_0A = var_03 - var_02; + var_0B = var_02 + var_0A * var_06; + var_0C = var_06 * 0.5; + if(var_06 == 1) + { + break; + } + + var_0D = var_09 / 2; + self.gasoverlay fadeinblackout(var_0D,var_0B); + self.gasoverlay fadeoutblackout(var_0D,var_0C); + wait(var_06 * 0.5); + } + + if(var_06 == 1) + { + break; + } + + if(self.gasoverlay.alpha != 0) + { + self.gasoverlay fadeoutblackout(1,0); + } + + wait(0.05); + } + + self.gasoverlay fadeinblackout(2,0); +} + +//Function Number: 38 +dogasdamage(param_00) +{ + self thread [[ level.callbackplayerdamage ]](self,self,param_00,0,"MOD_SUICIDE","mp_prison_gas",self.origin,(0,0,0) - self.origin,"none",0); +} + +//Function Number: 39 +fadeinblackout(param_00,param_01) +{ + self fadeovertime(param_00); + self.alpha = param_01; + wait(param_00); +} + +//Function Number: 40 +fadeoutblackout(param_00,param_01) +{ + self fadeovertime(param_00); + self.alpha = param_01; + wait(param_00); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_prison_fx.gsc b/AW/PC/maps/mp/mp_prison_fx.gsc new file mode 100644 index 0000000..e81c719 --- /dev/null +++ b/AW/PC/maps/mp/mp_prison_fx.gsc @@ -0,0 +1,79 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_prison_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 30 ms + * Timestamp: 4/22/2024 2:18:10 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["light_fluorescent_smoke"] = loadfx("vfx/lights/light_fluorescent_smoke"); + level._effect["fireball_smk_M"] = loadfx("vfx/fire/fireball_lp_smk_M_no_light"); + level._effect["fireball_smk_S"] = loadfx("vfx/fire/fireball_lp_smk_S"); + level._effect["light_godray_beam_4"] = loadfx("vfx/lights/prison/prison_light_godray_beam_4"); + level._effect["light_godray_beam_blurry_large"] = loadfx("vfx/lights/light_godray_beam_blurry_large"); + level._effect["dust_falling_debris_runner"] = loadfx("vfx/dust/dust_falling_debris_runner"); + level._effect["dust_falling_debris_s_runner"] = loadfx("vfx/dust/dust_falling_debris_s_runner_loop"); + level._effect["dust_falling_light_runner"] = loadfx("vfx/dust/dust_falling_light_runner"); + level._effect["light_dust_particles"] = loadfx("vfx/dust/light_dust_particles"); + level._effect["prison_elec_sparks_runner"] = loadfx("vfx/explosion/prison_elec_sparks_runner"); + level._effect["steam_pipe_leak_sml"] = loadfx("vfx/steam/steam_pipe_leak_sml"); + level._effect["wind_blowing_debris"] = loadfx("vfx/wind/wind_blowing_debris"); + level._effect["battlefield_smoke_m"] = loadfx("vfx/smoke/battlefield_smoke_m"); + level._effect["battlefield_smoke_m_thick"] = loadfx("vfx/smoke/battlefield_smoke_m_thick"); + level._effect["insects_light_moths_complex"] = loadfx("vfx/animal/insects_light_moths_complex"); + level._effect["insects_flies_landing"] = loadfx("vfx/animal/insects_flies_landing"); + level._effect["trash_tornado_s_runner"] = loadfx("vfx/wind/trash_tornado_s_runner"); + level._effect["single_drip_runner_frequent"] = loadfx("vfx/water/single_drip_runner_frequent"); + level._effect["light_sedan_police"] = loadfx("vfx/lights/light_sedan_police"); + level._effect["light_fire_alarm_strobe"] = loadfx("vfx/lights/light_fire_alarm_strobe"); + level._effect["fire_hydrant_plume"] = loadfx("vfx/water/fire_hydrant_plume"); + level._effect["falling_water_low"] = loadfx("vfx/water/falling_water_low"); + level._effect["falling_water_low_narrow"] = loadfx("vfx/water/falling_water_low_narrow"); + level._effect["falling_water_low_splashes"] = loadfx("vfx/water/falling_water_low_splashes"); + level._effect["foam_flowing_s"] = loadfx("vfx/water/foam_flowing_s"); + level._effect["heat_distortion_m"] = loadfx("vfx/distortion/heat_distortion_m"); + level._effect["hand_scanner"] = loadfx("vfx/props/hand_scanner"); + level._effect["leaves_fall_gentlewind"] = loadfx("vfx/wind/leaves_small_fall_gentlewind"); + level._effect["gutter_splashes_1"] = loadfx("vfx/water/gutter_splashes_1"); + level._effect["prison_fluorescent_warm"] = loadfx("vfx/lights/prison/prison_fluorescent_warm"); + level._effect["prison_lgt_glow_square"] = loadfx("vfx/lights/prison/prison_lgt_glow_square"); + level._effect["fx_stadium_lgt_flare"] = loadfx("vfx/lensflare/fx_stadium_lgt_flare"); + level._effect["fire_lp_m_light"] = loadfx("vfx/fire/fire_lp_m_light"); + level._effect["fire_lp_m_blacksmk"] = loadfx("vfx/fire/fire_lp_m_blacksmk"); + level._effect["fire_lp_m_whitesmk"] = loadfx("vfx/fire/fire_lp_m_whitesmk"); + level._effect["fire_lp_m_light_blacksmk"] = loadfx("vfx/fire/fire_lp_m_light_blacksmk"); + level._effect["fire_lp_m_light_whitesmk"] = loadfx("vfx/fire/fire_lp_m_light_whitesmk"); + level._effect["fire_lp_m_blacksmk_tall"] = loadfx("vfx/fire/fire_lp_m_blacksmk_tall"); + level._effect["fire_lp_m_whitesmk_tall"] = loadfx("vfx/fire/fire_lp_m_whitesmk_tall"); + level._effect["fire_lp_m_light_blacksmk_tall"] = loadfx("vfx/fire/fire_lp_m_light_blacksmk_tall"); + level._effect["fire_lp_m_light_whitesmk_tall"] = loadfx("vfx/fire/fire_lp_m_light_whitesmk_tall"); + level._effect["fire_lp_m_flat_ground"] = loadfx("vfx/fire/fire_lp_m_flat_ground"); + level._effect["fire_lp_s_base"] = loadfx("vfx/fire/fire_lp_s_base"); + level._effect["fire_lp_s_light"] = loadfx("vfx/fire/fire_lp_s_light"); + level._effect["fire_lp_s_blacksmk"] = loadfx("vfx/fire/fire_lp_s_blacksmk"); + level._effect["fire_lp_s_whitesmk"] = loadfx("vfx/fire/fire_lp_s_whitesmk"); + level._effect["fire_lp_s_light_blacksmk"] = loadfx("vfx/fire/fire_lp_s_light_blacksmk"); + level._effect["fire_lp_s_light_whitesmk"] = loadfx("vfx/fire/fire_lp_s_light_whitesmk"); + level._effect["fire_lp_s_flat_ground"] = loadfx("vfx/fire/fire_lp_s_flat_ground"); + level._effect["fire_lp_xs_base"] = loadfx("vfx/fire/fire_lp_xs_base"); + level._effect["fire_lp_xs_light"] = loadfx("vfx/fire/fire_lp_xs_light"); + level._effect["fire_lp_xs_blacksmk"] = loadfx("vfx/fire/fire_lp_xs_blacksmk"); + level._effect["fire_lp_xs_whitesmk"] = loadfx("vfx/fire/fire_lp_xs_whitesmk"); + level._effect["fire_lp_xs_light_blacksmk"] = loadfx("vfx/fire/fire_lp_xs_light_blacksmk"); + level._effect["fire_lp_xs_light_whitesmk"] = loadfx("vfx/fire/fire_lp_xs_light_whitesmk"); + level._effect["fire_ceiling_md_slow"] = loadfx("vfx/fire/fire_ceiling_md_slow"); + level._effect["fire_falling_runner_box_100x100"] = loadfx("vfx/fire/fire_falling_runner_box_100x100"); + level._effect["fire_falling_runner_point"] = loadfx("vfx/fire/fire_falling_runner_point"); + level._effect["fire_falling_runner_point_infrequent"] = loadfx("vfx/fire/fire_falling_runner_point_infrequent"); + level._effect["insects_moths"] = loadfx("vfx/animal/insects_moths"); + level._effect["poison_gas_sprayer_prison"] = loadfx("vfx/fog/poison_gas_sprayer_prison"); + level._effect["poison_gas_sprayer_ground_contact"] = loadfx("vfx/fog/poison_gas_sprayer_prison_ground_contact"); + level._effect["poison_gas_sprayer_ground_fill"] = loadfx("vfx/fog/poison_gas_prison_ground_fill"); + level._effect["poison_gas_prison_door_spill"] = loadfx("vfx/fog/poison_gas_prison_door_spill"); + level._effect["light_poison_gas_alarm_strobe"] = loadfx("vfx/lights/light_poison_gas_alarm_strobe"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_prison_lighting.gsc b/AW/PC/maps/mp/mp_prison_lighting.gsc new file mode 100644 index 0000000..512ac01 --- /dev/null +++ b/AW/PC/maps/mp/mp_prison_lighting.gsc @@ -0,0 +1,33 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_prison_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 49 ms + * Timestamp: 4/22/2024 2:18:10 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setdvar("r_lightGridEnableTweaks",1); + setdvar("r_lightGridIntensity",1.33); + setdvar("r_mpRimColor","0.8 0.6 0.3"); + setdvar("r_mpRimStrength","10"); + setdvar("r_mpRimDiffuseTint","1.5 1.5 1.5"); + setdvar("r_gunSightColorEntityScale","7"); + setdvar("r_gunSightColorNoneScale","0.8"); + if(level.currentgen) + { + setdvar("r_specularcolorscale",1); + } + + maps\mp\_mp_lights::init(); +} + +//Function Number: 2 +fire_flicker() +{ + maps\mp\_mp_lights::play_flickerlight_preset("fire","fire_flicker",3000); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_prison_precache.gsc b/AW/PC/maps/mp/mp_prison_precache.gsc new file mode 100644 index 0000000..cdede08 --- /dev/null +++ b/AW/PC/maps/mp/mp_prison_precache.gsc @@ -0,0 +1,16 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_prison_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 36 ms + * Timestamp: 4/22/2024 2:18:10 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + common_scripts\utility::add_destructible_type_function("toy_locker_double",::destructible_scripts\toy_locker_double::main); + destructible_scripts\toy_locker_double::main(); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_recovery.gsc b/AW/PC/maps/mp/mp_recovery.gsc new file mode 100644 index 0000000..6fda474 --- /dev/null +++ b/AW/PC/maps/mp/mp_recovery.gsc @@ -0,0 +1,799 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_recovery.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 38 + * Decompile Time: 913 ms + * Timestamp: 4/22/2024 2:18:14 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\mp\mp_recovery_precache::main(); + maps\createart\mp_recovery_art::main(); + maps\mp\mp_recovery_fx::main(); + maps\mp\_load::main(); + maps\mp\mp_recovery_lighting::main(); + maps\mp\mp_recovery_aud::main(); + maps\mp\_compass::setupminimap("compass_map_mp_recovery"); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + level.missilefx = loadfx("vfx/test/hms_fireball_explosion_xlrg"); + thread dynamic_ents(); + thread handle_teleport(); + thread dynamic_pathing_main(); + var_00 = level.gametype; + if(!isdefined(level.ishorde)) + { + if(!var_00 == "twar" || var_00 == "sd" || var_00 == "sr") + { + level thread maps\mp\_dynamic_events::dynamicevent(::recovery_dynamic_event); + } + } + + level thread onplayerconnect(); + thread spawnsetup(); + level.dynamiceventstatus = "before"; + level.hp_pause_for_dynamic_event = 0; + level.orbitalsupportoverridefunc = ::recoverycustomospfunc; + level.ospvisionset = "mp_recovery_b"; + level.osplightset = "mp_recovery_osp"; + level.dronevisionset = "mp_recovery_b"; + level.dronelightset = "mp_recovery"; + thread scriptpatchclip(); +} + +//Function Number: 2 +scriptpatchclip() +{ + thread patchclipcentersmallrock(); + thread patchclipsecondsidedoorrocks01(); + thread patchclipsecondsidegoliathrock(); +} + +//Function Number: 3 +patchclipcentersmallrock() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-511,1131,162),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-499,1145,162),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-499,1157,162),(0,0,0)); +} + +//Function Number: 4 +patchclipsecondsidedoorrocks01() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(-208,3304,140),(0,336,0)); +} + +//Function Number: 5 +patchclipsecondsidegoliathrock() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-147,4352.5,170.5),(0,26.9,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-124,4366,170.5),(0,45,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-101.5,4343.5,170.5),(0,45,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-101.5,4343.5,138.5),(0,45,0)); +} + +//Function Number: 6 +recoverycustomospfunc() +{ + level.orbitalsupportoverrides.spawnheight = 9324; + level.orbitalsupportoverrides.spawnanglemin = 290; + level.orbitalsupportoverrides.spawnanglemax = 370; + level.orbitalsupportoverrides.toparc = -45; + thread recoveryeventcustomospfunc(); +} + +//Function Number: 7 +recoveryeventcustomospfunc() +{ + level waittill("Gas_Cloud_Start"); + level.orbitalsupportoverrides.spawnanglemin = 120; + level.orbitalsupportoverrides.spawnanglemax = 180; + level.orbitalsupportoverrides.turretpitch = 55; + level.orbitalsupportoverrides.toparc = -40; + level.orbitalsupportoverrides.bottomarc = 65; +} + +//Function Number: 8 +spawnsetup() +{ + level.dynamichangarspawns = 0; + level.dynamicspawns = ::getlistofgoodspawnpoints; +} + +//Function Number: 9 +set_lighting_values() +{ + if(isusinghdr()) + { + for(;;) + { + level waittill("connected",var_00); + var_00 setclientdvars("r_tonemap","1"); + } + } +} + +//Function Number: 10 +dynamic_ents() +{ + var_00 = getent("mp_recovery_signage","targetname"); + wait(0.05); + var_00 common_scripts\utility::hide_notsolid(); + flickerlights(); + var_01 = getentarray("hangar_door_right","targetname"); + var_02 = getentarray("hangar_door_left","targetname"); + var_03 = getentarray("chemical_missile","targetname"); + var_04 = getentarray("chemical_missile2","targetname"); + var_05 = getentarray("chemical_missile3","targetname"); + var_06 = getentarray("chemical_missile4","targetname"); + var_07 = getentarray("chemical_missile5","targetname"); + var_08 = getentarray("chemical_missile6","targetname"); + var_09 = getentarray("chemical_missile7","targetname"); + var_0A = getentarray("chemical_missile8","targetname"); + var_0B = getentarray("chemical_missile9","targetname"); + var_0C = getentarray("chemical_missile10","targetname"); + var_0D = getentarray("deathTrig_1","targetname"); + var_0E = getentarray("deathTrig_2","targetname"); + var_0F = getentarray("deathTrig_3","targetname"); + foreach(var_11 in var_0D) + { + var_11 dontinterpolate(); + var_11.origin = var_11.origin + (0,0,-10000); + } + + foreach(var_14 in var_0E) + { + var_14 dontinterpolate(); + var_14.origin = var_14.origin + (0,0,-10000); + } + + foreach(var_17 in var_0F) + { + var_17 dontinterpolate(); + var_17.origin = var_17.origin + (0,0,-10000); + } + + level waittill("Missile_Wave2_ended"); + level.dynamichangarspawns = 1; + level.dynamiceventstatus = "after"; + wait(5); + foreach(var_11 in var_0D) + { + var_11 dontinterpolate(); + var_11.origin = var_11.origin + (0,0,10000); + } + + wait(5); + foreach(var_14 in var_0E) + { + var_14 dontinterpolate(); + var_14.origin = var_14.origin + (0,0,10000); + } + + wait(5); + foreach(var_17 in var_0F) + { + var_17 dontinterpolate(); + var_17.origin = var_17.origin + (0,0,10000); + } +} + +//Function Number: 11 +recovery_dynamic_event() +{ + var_00 = getent("hologram_signs","targetname"); + var_00 common_scripts\utility::hide_notsolid(); + var_01 = getent("mp_recovery_signage","targetname"); + var_01 show(); + thread killlights(); + thread spawnhangardoors(); + thread volcanostarteruption(); + thread gascloudstart(); +} + +//Function Number: 12 +handle_teleport() +{ + var_00 = level.gametype; + if(!var_00 == "dom" || var_00 == "ctf" || var_00 == "hp" || var_00 == "ball") + { + return; + } + + if(var_00 == "hp") + { + level waittill("dynamic_event_starting"); + } + else + { + level waittill("hangar_doors_opening"); + } + + level.hp_pause_for_dynamic_event = 1; + maps\mp\_teleport::teleport_to_zone("zone_0",1); + level.usestartspawns = 0; +} + +//Function Number: 13 +dynamic_pathing_main() +{ + var_00 = getentarray("hangar_door_right","targetname"); + level waittill("hangar_doors_opening"); + wait(3); + foreach(var_02 in var_00) + { + if(var_02.classname == "script_brushmodel") + { + var_02 connectpaths(); + } + } + + var_04 = getnodearray("escape_gas_dest_node","targetname"); + var_05 = getentarray("escape_gas_dest_trigger","targetname"); + foreach(var_07 in level.participants) + { + if(isai(var_07)) + { + var_07 maps\mp\bots\_bots_strategy::bot_defend_stop(); + switch(level.gametype) + { + case "dm": + case "infect": + case "conf": + case "war": + var_07 thread escape_gas(var_04,var_05); + break; + + default: + break; + } + } + } + + level waittill("hangar_doors_closed"); + foreach(var_02 in var_00) + { + if(var_02.classname == "script_brushmodel") + { + var_02 disconnectpaths(); + } + } +} + +//Function Number: 14 +get_escape_gas_dest_node(param_00) +{ + var_01 = randomint(param_00.size); + var_02 = param_00[var_01]; + return var_02; +} + +//Function Number: 15 +clear_script_goal_on_gas_end() +{ + level endon("game_ended"); + self endon("disconnect"); + level waittill("hangar_doors_closed"); + wait(0.05); + self botclearscriptgoal(); +} + +//Function Number: 16 +escape_gas(param_00,param_01) +{ + level endon("game_ended"); + level endon("hangar_doors_closed"); + self endon("disconnect"); + thread clear_script_goal_on_gas_end(); + for(;;) + { + var_02 = get_escape_gas_dest_node(param_00); + self botsetscriptgoal(var_02.origin,512,"critical"); + var_03 = maps\mp\bots\_bots_util::bot_waittill_goal_or_fail(undefined,"death"); + if(var_03 == "goal") + { + self botclearscriptgoal(); + wait(5); + continue; + } + + wait(1); + } +} + +//Function Number: 17 +spawnhangardoors() +{ + var_00 = getentarray("hangar_door_right","targetname"); + var_01 = 12; + var_02 = 12; + level waittill("Gas_Cloud_Start"); + level.dynamiceventstatus = "event_in_progress"; + foreach(var_04 in var_00) + { + var_05 = getent(var_04.target,"targetname"); + var_04 moveto(var_05.origin,var_01); + } + + thread notify_doors_open(var_01); + var_07 = getentarray("hangar_open_sfx","targetname"); + foreach(var_09 in var_07) + { + maps\mp\_audio::snd_play_in_space("mp_recovery_hangar_door_open",var_09.origin); + } + + level waittill("close_doors"); + foreach(var_04 in var_00) + { + var_04.unresolved_collision_kill = 1; + var_05 = getent(var_04.target,"targetname"); + var_0C = getent(var_05.target,"targetname"); + var_04 moveto(var_0C.origin,var_02); + level thread maps\mp\mp_recovery_fx::sulfur_door_fx(); + } + + thread notify_doors_close(var_02,var_00); + var_07 = getentarray("hangar_open_sfx","targetname"); + foreach(var_09 in var_07) + { + maps\mp\_audio::snd_play_in_space("mp_recovery_hangar_door_close",var_09.origin); + } +} + +//Function Number: 18 +notify_doors_close(param_00,param_01) +{ + level notify("hangar_doors_closing"); + playsoundatpos((0,0,0),"mp_recovery_doors_closing"); + wait(param_00); + level notify("hangar_doors_closed"); + wait(2); + playsoundatpos((0,0,0),"mp_recovery_doors_sealed"); + foreach(var_03 in param_01) + { + var_03.unresolved_collision_kill = 0; + } +} + +//Function Number: 19 +notify_doors_open(param_00) +{ + level notify("hangar_doors_opening"); + playsoundatpos((0,0,0),"mp_recovery_doors_opening"); + thread side_b_visionset_reset(); + level.hp_pause_for_dynamic_event = 0; + level notify("ready_for_next_hp_zone"); + wait(param_00); + level notify("hangar_doors_opened"); +} + +//Function Number: 20 +volcanostarteruption() +{ + thread aud_dyanmic_event(); + earthquake(0.6,2,(0,0,0),5000); + foreach(var_01 in level.players) + { + var_01 thread play_earthquake_rumble(0.75); + } + + level.gas_cloud_origin = getent("gas_cloud_origin","targetname"); + stopclientexploder(200); + if(isdefined(level.panoramicfx)) + { + level.panoramicfx delete(); + } + + level thread common_scripts\_exploder::activate_clientside_exploder(100); + wait(8); + thread boulderbarrage(15,2,10,19); + wait(5); + foreach(var_01 in level.players) + { + var_01 setclienttriggervisionset("mp_recovery_post",10); + } + + level notify("Gas_Cloud_Start"); +} + +//Function Number: 21 +aud_dyanmic_event() +{ + playsoundatpos((2067,-2296,186),"emt_event_volcano_erupt"); + thread aud_handle_alarms(); + wait(4); + playsoundatpos((0,0,0),"mp_recovery_volcanic_activity"); +} + +//Function Number: 22 +aud_handle_alarms() +{ + level endon("hangar_doors_closed"); + for(;;) + { + playsoundatpos((0,0,0),"mp_recovery_alarms"); + wait(4); + } +} + +//Function Number: 23 +gascloudstart() +{ + level waittill("Gas_Cloud_Start"); + wait(5); + level.gas_cloud_origin = getent("gas_cloud_origin","targetname"); + playfxontag(common_scripts\utility::getfx("pyroclastic_flow_1"),level.gas_cloud_origin,"tag_origin"); + wait(5); + thread boulderbarrage(15,2,20,29); + maps\mp\_utility::delaythread(15,::boulderbarrage,15,1.5,30,39); + level.dynamichangarspawns = 1; + var_00 = 40; + var_01 = 12; + level.gas_cloud_origin moveto(level.gas_cloud_origin.origin + (0,3912,0),var_00); + level.gas_cloud_origin thread killplayersincloud(var_00 + var_01,7.5); + var_02 = var_00 - var_01 / 2; + thread setup_poison_gas_death(); + wait(var_02); + level notify("close_doors"); + wait(var_01); + stopfxontag(common_scripts\utility::getfx("pyroclastic_flow_1"),level.gas_cloud_origin,"tag_origin"); + level.gas_cloud_origin thread instantkillplayersincloud(); + level thread common_scripts\_exploder::activate_clientside_exploder(102); + wait(0.05); + level notify("gas_cloud_finished"); + stopclientexploder(40); +} + +//Function Number: 24 +onplayerconnect() +{ + var_00 = getent("safe_from_gas","targetname"); + for(;;) + { + level waittill("connected",var_01); + var_01 thread swapfogandfx(var_00); + } +} + +//Function Number: 25 +swapfogandfx(param_00) +{ + level endon("gas_cloud_finished"); + self endon("disconnect"); + for(;;) + { + if(!isdefined(param_00) || !isdefined(self)) + { + break; + } + + if(level.dynamiceventstatus == "event_in_progress" && isalive(self)) + { + if(!self istouching(param_00) && isdefined(self.onnopoisonside)) + { + self setclienttriggervisionset("mp_recovery_post",5); + stopfxontag(common_scripts\utility::getfx("pyroclastic_flow_2"),level.gas_cloud_origin,"tag_origin"); + playfxontag(common_scripts\utility::getfx("pyroclastic_flow_1"),level.gas_cloud_origin,"tag_origin"); + self.onnopoisonside = undefined; + } + else if(self istouching(param_00) && !isdefined(self.onnopoisonside)) + { + self setclienttriggervisionset("",5); + stopfxontag(common_scripts\utility::getfx("pyroclastic_flow_1"),level.gas_cloud_origin,"tag_origin"); + playfxontag(common_scripts\utility::getfx("pyroclastic_flow_2"),level.gas_cloud_origin,"tag_origin"); + self.onnopoisonside = 1; + } + + wait(0.2); + continue; + } + + wait(1); + } +} + +//Function Number: 26 +flickerlights() +{ + var_00 = getscriptablearray("stairlgt_die_3","targetname"); + foreach(var_02 in var_00) + { + var_02 setscriptablepartstate(0,1); + } + + var_04 = getscriptablearray("die_2","targetname"); + foreach(var_06 in var_04) + { + var_06 setscriptablepartstate(0,1); + } +} + +//Function Number: 27 +killlights() +{ + var_00 = getscriptablearray("killed_lights","targetname"); + foreach(var_02 in var_00) + { + wait(0.1); + var_02 setscriptablepartstate(0,1); + } + + var_04 = getscriptablearray("danger_red","targetname"); + foreach(var_06 in var_04) + { + var_06 setscriptablepartstate(0,1); + } + + var_08 = getscriptablearray("die","targetname"); + foreach(var_0A in var_08) + { + var_0A setscriptablepartstate(0,2); + wait(0.1); + var_0A setscriptablepartstate(0,3); + } + + var_0C = getscriptablearray("die_2","targetname"); + foreach(var_0E in var_0C) + { + var_0E setscriptablepartstate(0,3); + } + + var_10 = getscriptablearray("stairlgt_die_3","targetname"); + foreach(var_12 in var_10) + { + var_12 setscriptablepartstate(0,3); + } + + var_14 = getscriptablearray("stairlgt_die","targetname"); + foreach(var_16 in var_14) + { + wait(0.1); + var_16 setscriptablepartstate(0,1); + wait(0.15); + var_16 setscriptablepartstate(0,3); + } + + var_18 = getscriptablearray("stairlgt_die_2","targetname"); + foreach(var_1A in var_18) + { + var_1A setscriptablepartstate(0,3); + wait(0.2); + var_1A setscriptablepartstate(0,1); + } + + var_1C = getscriptablearray("evacuate_lights","targetname"); + foreach(var_1E in var_1C) + { + var_1E setscriptablepartstate(0,1); + } + + var_20 = getscriptablearray("evacuate_pill_lights","targetname"); + foreach(var_22 in var_20) + { + var_22 setscriptablepartstate(0,1); + } + + var_24 = getscriptablearray("hologram_lgt","targetname"); + foreach(var_26 in var_24) + { + var_26 setscriptablepartstate(0,2); + } + + var_28 = getscriptablearray("cave_kill","targetname"); + foreach(var_2A in var_28) + { + var_2A setscriptablepartstate(0,1); + wait(0.2); + var_2A setscriptablepartstate(0,2); + } +} + +//Function Number: 28 +boulderbarrage(param_00,param_01,param_02,param_03) +{ + var_04 = gettime() + param_00 * 1000; + var_05 = 0; + var_06 = 0; + while(gettime() < var_04) + { + wait(randomfloatrange(param_01 / 2,param_01)); + while(var_05 == 0) + { + var_05 = randomintrange(param_02,param_03); + if(var_05 == var_06) + { + var_05 = 0; + continue; + } + + var_06 = var_05; + level thread common_scripts\_exploder::activate_clientside_exploder(var_05); + level thread maps\mp\mp_recovery_fx::setup_boulder_audio(var_05); + var_05 = 0; + break; + wait(0.05); + } + } +} + +//Function Number: 29 +killplayersincloud(param_00,param_01) +{ + var_02 = 800; + var_03 = getent("safe_from_gas","targetname"); + var_04 = gettime() + param_00 * 1000; + foreach(var_06 in level.players) + { + var_06.isingas = 0; + } + + while(gettime() < var_04) + { + foreach(var_06 in level.players) + { + var_09 = var_06 getvieworigin(); + if(var_06.origin[1] < self.origin[1] - 500 && !var_06 istouching(var_03)) + { + var_06 dodamage(param_01,var_06.origin); + if(!var_06 maps\mp\_utility::isusingremote() && var_09[1] < self.origin[1] && var_09[2] < var_02) + { + var_06 setclienttriggervisionset("poison_gas",1.5); + var_06 shellshock("mp_lab_gas",1,1,1,0); + } + + var_06.isingas = 1; + continue; + } + + if(!var_06 maps\mp\_utility::isusingremote()) + { + if(var_06.isingas == 1) + { + if(var_06 istouching(var_03)) + { + var_06 maps\mp\_utility::revertvisionsetforplayer(1.5); + } + else + { + var_06 setclienttriggervisionset("mp_recovery_post",1.5); + } + + var_06.isingas = 0; + } + } + } + + if(level.gametype == "ctf") + { + foreach(var_0C in level.teamflags) + { + if(var_0C.curorigin[1] < self.origin[1] && !var_0C.visuals[0] istouching(var_03)) + { + var_0C maps\mp\gametypes\ctf::returnflag(); + } + } + } + + wait(0.25); + } +} + +//Function Number: 30 +instantkillplayersincloud() +{ + var_00 = getent("safe_from_gas","targetname"); + foreach(var_02 in level.players) + { + if(!var_02 istouching(var_00)) + { + var_02 dodamage(10000,var_02.origin); + } + } +} + +//Function Number: 31 +side_b_visionset_reset() +{ + level endon("game_ended"); + level endon("hangar_doors_closed"); + var_00 = getent("safe_from_gas","targetname"); + for(;;) + { + var_00 waittill("trigger",var_01); + if(isdefined(var_01) && isplayer(var_01) && !isdefined(var_01.safefromgas)) + { + var_01 maps\mp\_utility::revertvisionsetforplayer(3); + var_01.safefromgas = 1; + } + } +} + +//Function Number: 32 +setup_poison_gas_death() +{ + foreach(var_01 in level.players) + { + var_01 thread onplayerdeath(); + } +} + +//Function Number: 33 +onplayerdeath() +{ + level endon("game_ended"); + self endon("disconnect"); + self waittill("spawned"); + maps\mp\_utility::revertvisionsetforplayer(0); +} + +//Function Number: 34 +shockthink() +{ + if(!isdefined(self.ingas)) + { + self shellshock("mp_lab_gas",1); + } +} + +//Function Number: 35 +play_event_music() +{ +} + +//Function Number: 36 +play_earthquake_rumble(param_00) +{ + self endon("death"); + level endon("game_ended"); + for(var_01 = param_00 * 20;var_01 >= 0;var_01 = var_01 - 2) + { + self playrumbleonentity("damage_light"); + wait(0.1); + } +} + +//Function Number: 37 +getlistofgoodspawnpoints(param_00) +{ + var_01 = []; + foreach(var_03 in param_00) + { + if(!isdefined(var_03.targetname) || var_03.targetname == "") + { + var_01 = common_scripts\utility::add_to_array(var_01,var_03); + continue; + } + + if(var_03 getvalidspawns() == 1) + { + var_01 = common_scripts\utility::add_to_array(var_01,var_03); + } + } + + return var_01; +} + +//Function Number: 38 +getvalidspawns() +{ + if(level.dynamichangarspawns == 0) + { + if(self.targetname == "first_map_spawns") + { + return 1; + } + } + else if(level.dynamichangarspawns == 1) + { + if(self.targetname == "second_map_spawns") + { + return 1; + } + } + + return 0; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_recovery_aud.gsc b/AW/PC/maps/mp/mp_recovery_aud.gsc new file mode 100644 index 0000000..d2d13cc --- /dev/null +++ b/AW/PC/maps/mp/mp_recovery_aud.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_recovery_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 31 ms + * Timestamp: 4/22/2024 2:18:14 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_recovery_fx.gsc b/AW/PC/maps/mp/mp_recovery_fx.gsc new file mode 100644 index 0000000..85ed98f --- /dev/null +++ b/AW/PC/maps/mp/mp_recovery_fx.gsc @@ -0,0 +1,140 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_recovery_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 7 + * Decompile Time: 123 ms + * Timestamp: 4/22/2024 2:18:15 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["cliffside_upward_mist"] = loadfx("vfx/fog/cliffside_upward_mist"); + level._effect["test_axis_effectnow"] = loadfx("vfx/test/test_axis_effectnow"); + level._effect["pyroclastic_flow_2"] = loadfx("vfx/map/mp_recovery/pyroclastic_flow_2"); + level._effect["cloud_rolling_cliffside_up"] = loadfx("vfx/cloud/cloud_rolling_cliffside_up"); + level._effect["panoramic_screen_runner"] = loadfx("vfx/map/mp_recovery/panoramic_screen_runner"); + level._effect["ocean_vista_fog"] = loadfx("vfx/map/mp_recovery/ocean_vista_fog"); + level._effect["hangar_door_close_sulfur_gas"] = loadfx("vfx/map/mp_recovery/hangar_door_close_sulfur_gas"); + level._effect["volcano_eruption_wind_gust"] = loadfx("vfx/map/mp_recovery/volcano_eruption_wind_gust"); + level._effect["ambient_particles_bright"] = loadfx("vfx/dust/ambient_particles_bright"); + level._effect["steam_pipe_leak_interior_burst_runner_lp"] = loadfx("vfx/steam/steam_pipe_leak_interior_burst_runner_lp"); + level._effect["falling_water_drip_runner_fast"] = loadfx("vfx/water/falling_water_drip_runner_fast"); + level._effect["falling_water_drip_line_runner_fast"] = loadfx("vfx/water/falling_water_drip_line_runner_fast"); + level._effect["sulfur_dust_tornado_runner"] = loadfx("vfx/map/mp_recovery/sulfur_dust_tornado_runner"); + level._effect["sulfur_dust_blowing_runner"] = loadfx("vfx/map/mp_recovery/sulfur_dust_blowing_runner"); + level._effect["steam_pipe_leak_interior_sm"] = loadfx("vfx/steam/steam_pipe_leak_interior_sm"); + level._effect["generator_steam_windy_sm"] = loadfx("vfx/steam/generator_steam_windy_sm"); + level._effect["dust_ambient_street"] = loadfx("vfx/map/mp_recovery/dust_ambient_street_recovery"); + level._effect["trash_tornado_s_runner"] = loadfx("vfx/wind/trash_tornado_s_runner"); + level._effect["electrical_sparks_runner"] = loadfx("vfx/explosion/electrical_sparks_runner"); + level._effect["leaves_runner"] = loadfx("vfx/wind/leaves_runner"); + level._effect["light_dust_particles"] = loadfx("vfx/dust/light_dust_particles"); + level._effect["bird_vulture_circle_runner_less"] = loadfx("vfx/animal/bird_vulture_circle_runner_less"); + level._effect["hologram_recovery_map"] = loadfx("vfx/map/mp_recovery/hologram_recovery_map"); + level._effect["dust_falling_light_runner"] = loadfx("vfx/dust/dust_falling_light_runner"); + level._effect["light_dust_particles_far_lrg"] = loadfx("vfx/dust/light_dust_particles_far_lrg"); + level._effect["falling_water_drip_100x100_runner_slow"] = loadfx("vfx/water/falling_water_drip_100x100_runner_slow"); + level._effect["falling_water_drip_100x100_runner"] = loadfx("vfx/water/falling_water_drip_100x100_runner"); + level._effect["plastic_shreds_hanging_e_slow"] = loadfx("vfx/wind/plastic_shreds_hanging_e_slow"); + level._effect["rain_forest_dripping_leaves_100x100_runner"] = loadfx("vfx/water/rain_forest_dripping_leaves_100x100_runner"); + level._effect["leaves_fall_twirl_no_physics_3"] = loadfx("vfx/wind/leaves_fall_twirl_no_physics_3"); + level._effect["falling_water_exterior_narrow"] = loadfx("vfx/water/falling_water_exterior_narrow"); + level._effect["falling_water_exterior_thin"] = loadfx("vfx/water/falling_water_exterior_thin"); + level._effect["insects_moths"] = loadfx("vfx/animal/insects_moths"); + level._effect["insects_dragonfly_runner_a"] = loadfx("vfx/animal/insects_dragonfly_runner_a"); + level._effect["insects_flies_landing"] = loadfx("vfx/animal/insects_flies_landing"); + level._effect["fx_sunflare_mp_recovery"] = loadfx("vfx/lensflare/fx_sunflare_mp_recovery"); + level._effect["volcano_smk_base_sm"] = loadfx("vfx/map/mp_recovery/volcano_smk_base_sm"); + level._effect["volcano_smk_base"] = loadfx("vfx/map/mp_recovery/volcano_smk_base"); + level._effect["dynamic_strobe_light"] = loadfx("vfx/lights/light_poison_gas_alarm_strobe"); + level._effect["pyroclastic_flow_1_aftermath"] = loadfx("vfx/map/mp_recovery/pyroclastic_flow_1_aftermath"); + level._effect["exploding_volcanic_boulder_3"] = loadfx("vfx/map/mp_recovery/exploding_volcanic_boulder_3"); + level._effect["exploding_volcanic_boulder_2"] = loadfx("vfx/map/mp_recovery/exploding_volcanic_boulder_2"); + level._effect["volcano_eruption"] = loadfx("vfx/map/mp_recovery/volcano_eruption"); + level._effect["exploding_volcanic_boulder_1"] = loadfx("vfx/map/mp_recovery/exploding_volcanic_boulder_1"); + level._effect["pyroclastic_flow_1"] = loadfx("vfx/map/mp_recovery/pyroclastic_flow_1"); + level._effect["volcano_smk_column"] = loadfx("vfx/map/mp_recovery/volcano_smk_column"); + thread sulfursmokefx(); + thread starting_side_fx(); + thread panaramic_screen_fx(); + thread setup_boulder_data(); +} + +//Function Number: 2 +sulfursmokefx() +{ + wait(10); + level thread common_scripts\_exploder::activate_clientside_exploder(200); +} + +//Function Number: 3 +starting_side_fx() +{ + wait(5); + level thread common_scripts\_exploder::activate_clientside_exploder(40); +} + +//Function Number: 4 +sulfur_door_fx() +{ + wait(11); + level thread common_scripts\_exploder::activate_clientside_exploder(201); +} + +//Function Number: 5 +panaramic_screen_fx() +{ + wait(5); + var_00 = (0,180,0); + level.panoramicfx = spawnfx(common_scripts\utility::getfx("panoramic_screen_runner"),(353.028,1314.23,195.384),anglestoforward(var_00)); + setfxkillondelete(level.panoramicfx,1); + triggerfx(level.panoramicfx); +} + +//Function Number: 6 +setup_boulder_audio(param_00) +{ + var_01 = 0; + var_02 = 7; + var_03 = 0.5; + if(param_00 >= 30 && param_00 <= 39) + { + var_04 = 10500 * var_03; + } + else if(var_01 >= 20 && var_01 <= 29) + { + var_04 = 9400 * var_04; + } + else + { + var_04 = 8500 * var_04; + } + + var_05 = common_scripts\utility::spawn_tag_origin(); + var_06 = level.boulder_originandangles[param_00 - 10 * 2]; + var_07 = level.boulder_originandangles[param_00 - 10 * 2 + 1]; + var_08 = var_06; + var_09 = 0.05; + var_0A = anglestoforward(var_07); + while(var_01 < var_02) + { + var_01 = var_01 + var_09; + var_0B = -800 * var_01; + var_0C = var_04 * 1 - var_01 / 10; + var_08 = var_08 + var_0A * var_0C * var_09; + var_08 = var_08 + (0,0,var_0B) * var_09; + var_05.origin = var_08; + wait(var_09); + } + + var_05 delete(); +} + +//Function Number: 7 +setup_boulder_data() +{ + level.boulder_originandangles = [(4764.12,-4666.05,-3881.8),(288.868,134.244,-179.855),(4873.61,-5815.81,-4444.13),(303.151,134.109,0),(6227.04,-4752.63,-4819.45),(299.8,138.328,0),(7191.5,-3747.29,-4450.65),(302.588,140.3,0),(4596.95,-6988.97,-4302.4),(300.576,130.934,0),(6441.57,-4411.88,-4242.7),(312.955,137.356,0),(6425.57,-5079.9,-4603.21),(297.241,147.183,-1.09072),(5873.86,-6335.32,-4248.58),(304.837,140.086,0),(8332.61,-4342.87,-4162.14),(313.281,136.46,-3.19022),(5910,-5556.42,-4065.61),(302.802,112.191,0),(7605.93,-5012.55,-4544.05),(299.936,144.347,-5.22149),(5253.4,-6306.81,-4659.46),(296.95,131.705,5.75097),(7365.08,-5319.51,-4325.73),(296.823,140.553,-2.14372),(6120.12,-6143.28,-4015.62),(299.86,134.308,3.48743),(5156.95,-6251.55,-4748.15),(300.799,138.327,0),(6770.39,-5079.06,-4367.11),(297.942,144.73,-5.50522),(6011.76,-6667.48,-4379.29),(298.408,125.624,11.3708),(6975.09,-6729.87,-4546.35),(307.728,116.68,-7.04682),(8209.06,-4835.69,-4449.04),(305.451,143.43,1.35974),(6772.01,-6863.4,-4306.61),(305.091,134.787,-0.580152),(7553.56,-5943.9,-4536.5),(317.16,130.42,6.41857),(6247.48,-8019.34,-4675.72),(314.179,129.939,6.75466),(6330.58,-5662.52,-4678.99),(296.205,127.452,8.53008),(6771.72,-5961.53,-4667.08),(314.595,137.68,4.20879),(7471.57,-4327.9,-4594.32),(298.442,143.3,0.207649),(5506.12,-6891.88,-4739.88),(299.009,119.934,2.78166),(7444.9,-6233.5,-4591.79),(301.58,144.62,-3.7296),(6281.2,-7304.17,-4699.27),(316.055,125.61,15.0278),(5774.43,-6463.15,-4825.31),(318.098,116.063,3.72898),(6305.33,-5689.15,-4611.9),(296.334,126.042,8.69726)]; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_recovery_lighting.gsc b/AW/PC/maps/mp/mp_recovery_lighting.gsc new file mode 100644 index 0000000..09ed769 --- /dev/null +++ b/AW/PC/maps/mp/mp_recovery_lighting.gsc @@ -0,0 +1,16 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_recovery_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 30 ms + * Timestamp: 4/22/2024 2:18:15 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setdvar("r_lightGridEnableTweaks",1); + setdvar("r_lightGridIntensity",1.33); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_recovery_precache.gsc b/AW/PC/maps/mp/mp_recovery_precache.gsc new file mode 100644 index 0000000..e603de4 --- /dev/null +++ b/AW/PC/maps/mp/mp_recovery_precache.gsc @@ -0,0 +1,16 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_recovery_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:18:15 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + common_scripts\utility::add_destructible_type_function("container_plastic_72x56x48_01_destp",::destructible_scripts\container_plastic_72x56x48_01_destp::main); + destructible_scripts\container_plastic_72x56x48_01_destp::main(); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_refraction.gsc b/AW/PC/maps/mp/mp_refraction.gsc new file mode 100644 index 0000000..432ebf6 --- /dev/null +++ b/AW/PC/maps/mp/mp_refraction.gsc @@ -0,0 +1,166 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_refraction.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 12 + * Decompile Time: 197 ms + * Timestamp: 4/22/2024 2:18:16 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\mp\mp_refraction_precache::main(); + maps\createart\mp_refraction_art::main(); + maps\mp\mp_refraction_lighting::main(); + maps\mp\mp_refraction_fx::main(); + level.aerial_pathnode_offset = 600; + level.aerial_pathnode_group_connect_dist = 300; + level.ospvisionset = "mp_refraction_osp"; + level.osplightset = "mp_refraction_osp"; + level.warbirdvisionset = "mp_refraction_osp"; + level.warbirdlightset = "mp_refraction_osp"; + level.vulcanvisionset = "mp_refraction_osp"; + level.vulcanlightset = "mp_refraction_osp"; + maps\mp\_load::main(); + level.alarmfx = loadfx("vfx/lights/light_red_pulse_fast"); + level.rain = loadfx("vfx/rain/rain_volume_windy"); + level thread common_scripts\_exploder::activate_clientside_exploder(10); + maps\mp\_water::init(); + maps\mp\_compass::setupminimap("compass_map_mp_refraction"); + setdvar("r_lightGridEnableTweaks",1); + setdvar("r_lightGridIntensity",1.33); + thread set_lighting_values(); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + level.mapcustomkillstreakfunc = ::refractioncustomkillstreakfunc; + level.orbitalsupportoverridefunc = ::refractioncustomospfunc; + level.remote_missile_height_override = 16000; + level.orbitallaseroverridefunc = ::refractionvulcancustomfunc; + thread scriptpatchclip(); + thread scriptpatchdisconnectnodes(); + common_scripts\utility::array_thread(getentarray("com_radar_dish","targetname"),::radar_dish_rotate); +} + +//Function Number: 2 +scriptpatchclip() +{ + thread lockingpiececlip(); +} + +//Function Number: 3 +scriptpatchdisconnectnodes() +{ + thread whitneybuildingnodes(); + thread overgapcenternodes01(); +} + +//Function Number: 4 +whitneybuildingnodes() +{ + findpairnodeanddisconnect((2554.5,-700,2286)); + findpairnodeanddisconnect((2778,-886,2204)); +} + +//Function Number: 5 +overgapcenternodes01() +{ + findpairnodeanddisconnect((-289.1,-1157.1,2000)); +} + +//Function Number: 6 +findpairnodeanddisconnect(param_00) +{ + var_01 = getnodesinradius(param_00,64,0,72,"Begin"); + foreach(var_03 in var_01) + { + if(isdefined(var_03.target)) + { + var_04 = getnode(var_03.target,"targetname"); + if(isdefined(var_04) && isdefined(var_03)) + { + disconnectnodepair(var_03,var_04); + } + } + } +} + +//Function Number: 7 +lockingpiececlip() +{ + maps\mp\_utility::spawnpatchclip("patchclip_nosight_16_128_128",(110,-180,2565.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_nosight_16_128_128",(110,-180,2693.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_nosight_16_128_128",(110,-180,2821.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_nosight_16_128_128",(110,-180,2874),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_nosight_16_128_128",(38,-180,2930),(90,0,180)); + maps\mp\_utility::spawnpatchclip("patchclip_nosight_16_128_128",(-38,-180,2930),(90,0,180)); + maps\mp\_utility::spawnpatchclip("patchclip_nosight_16_128_128",(-110,-180,2874),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_nosight_16_128_128",(-110,-180,2821.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_nosight_16_128_128",(-110,-180,2693.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_nosight_16_128_128",(-110,-180,2565.5),(0,0,0)); +} + +//Function Number: 8 +refractioncustomkillstreakfunc() +{ + level.killstreakweildweapons["refraction_turret_mp"] = 1; + level thread maps\mp\killstreaks\streak_mp_refraction::init(); +} + +//Function Number: 9 +refractioncustomospfunc() +{ + level.orbitalsupportoverrides.spawnanglemin = 260; + level.orbitalsupportoverrides.spawnanglemax = 350; + level.orbitalsupportoverrides.turretpitch = 50; + level.orbitalsupportoverrides.toparc = -38; + level.orbitalsupportoverrides.spawnheight = 10426; +} + +//Function Number: 10 +refractionvulcancustomfunc() +{ + level.orbitallaseroverrides.spawnpoint = (20,-500,0); +} + +//Function Number: 11 +radar_dish_rotate() +{ + var_00 = 0; + var_01 = 40000; + var_02 = 1; + if(isdefined(self.speed)) + { + var_02 = self.speed; + } + + var_00 = 70; + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "lockedspeed") + { + wait(0); + } + else + { + wait(randomfloatrange(0,1)); + } + + for(;;) + { + self rotatevelocity((0,var_00,0),var_01); + wait(var_01); + } +} + +//Function Number: 12 +set_lighting_values() +{ + if(isusinghdr()) + { + for(;;) + { + level waittill("connected",var_00); + var_00 setclientdvars("r_tonemap","1"); + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_refraction_fx.gsc b/AW/PC/maps/mp/mp_refraction_fx.gsc new file mode 100644 index 0000000..7374a05 --- /dev/null +++ b/AW/PC/maps/mp/mp_refraction_fx.gsc @@ -0,0 +1,177 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_refraction_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 6 + * Decompile Time: 129 ms + * Timestamp: 4/22/2024 2:18:17 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["mp_ref_panel_lightray_lrg_nomist"] = loadfx("vfx/map/mp_refraction/mp_ref_panel_lightray_lrg_nomist"); + level._effect["falling_water_exterior_wide_near"] = loadfx("vfx/water/falling_water_exterior_wide_near"); + level._effect["rain_splash_sm_150x150_lp"] = loadfx("vfx/rain/rain_splash_sm_150x150_lp"); + level._effect["mp_ref_vista_lights"] = loadfx("vfx/map/mp_refraction/mp_ref_vista_lights"); + level._effect["falling_water_drip_central_fast"] = loadfx("vfx/water/falling_water_drip_central_fast"); + level._effect["turretUP_effect"] = loadfx("vfx/map/mp_refraction/mp_ref_turret_steam"); + level._effect["turretUP_effect2"] = loadfx("vfx/map/mp_refraction/mp_ref_turret_sparks"); + level._effect["lightning"] = loadfx("vfx/map/mp_refraction/lightning_mp_refraction"); + level._effect["rain_splash_sm_100x100_lp"] = loadfx("vfx/rain/rain_splash_sm_100x100_lp"); + level._effect["rain_splash_sm_200x200_lp"] = loadfx("vfx/rain/rain_splash_sm_200x200_lp"); + level._effect["rain_streak_highlights_1kx1k_lp"] = loadfx("vfx/rain/rain_streak_highlights_1kx1k_lp"); + level._effect["roof_edge_rain_mist_lp"] = loadfx("vfx/water/roof_edge_rain_mist_lp"); + level._effect["roof_edge_rain_mist_2_lp"] = loadfx("vfx/water/roof_edge_rain_mist_2_lp"); + level._effect["roof_edge_rain_mist_lrg_lp"] = loadfx("vfx/water/roof_edge_rain_mist_lrg_lp"); + level._effect["wind_gust_water_mist_distant_lrg"] = loadfx("vfx/wind/wind_gust_water_mist_distant_lrg"); + level._effect["falling_water_exterior_wide"] = loadfx("vfx/water/falling_water_exterior_wide"); + level._effect["falling_water_low_narrow_2"] = loadfx("vfx/water/falling_water_low_narrow_2"); + level._effect["water_runoff_narrow_splashes_lp"] = loadfx("vfx/rain/water_runoff_narrow_splashes_lp"); + level._effect["steam_column_rising"] = loadfx("vfx/steam/steam_column_rising"); + level._effect["rain_floorsheet_fast_600x200_lp"] = loadfx("vfx/rain/rain_floorsheet_fast_600x200_lp"); + level._effect["rain_floorsheet_fast_200x200_lp"] = loadfx("vfx/rain/rain_floorsheet_fast_200x200_lp"); + level._effect["mp_ref_elev_rain_inner"] = loadfx("vfx/map/mp_refraction/mp_ref_elev_rain_inner"); + level._effect["mp_ref_elev_rain_outer"] = loadfx("vfx/map/mp_refraction/mp_ref_elev_rain_outer"); + level._effect["steam_cylinder_lrg"] = loadfx("vfx/steam/steam_cylinder_lrg"); + level._effect["steam_pipe_burst_lp_sm"] = loadfx("vfx/steam/steam_pipe_burst_lp_sm"); + level._effect["water_edge_runoff_wide"] = loadfx("vfx/water/water_edge_runoff_wide"); + level._effect["water_edge_runoff_short"] = loadfx("vfx/water/water_edge_runoff_short"); + level._effect["rain_streaks_in_lt_sphere_flare"] = loadfx("vfx/rain/rain_streaks_in_lt_sphere_flare"); + level._effect["mp_ref_distant_lightning"] = loadfx("vfx/map/mp_refraction/mp_ref_distant_lightning"); + level._effect["mp_ref_distant_lightning_bolt"] = loadfx("vfx/map/mp_refraction/mp_ref_distant_lightning_bolt"); + level._effect["lt_soft_cool_glow"] = loadfx("vfx/lights/lt_soft_cool_glow"); + level._effect["mp_ref_elev_descend_sparks"] = loadfx("vfx/map/mp_refraction/mp_ref_elev_descend_sparks"); + level._effect["light_lock_light"] = loadfx("vfx/map/mp_refraction/mp_refraction_lock_light"); + level._effect["light_lock_light_spot"] = loadfx("vfx/map/mp_refraction/mp_refraction_lock_light_spot"); + level._effect["light_red_strobe_02"] = loadfx("vfx/lights/light_red_strobe_02"); + level._effect["mp_ref_elev_steam_release"] = loadfx("vfx/map/mp_refraction/mp_ref_elev_steam_release"); + level._effect["electrical_sparks_runner"] = loadfx("vfx/explosion/electrical_sparks_runner"); + level._effect["electrical_sparks_runner_2sec_30x30"] = loadfx("vfx/explosion/electrical_sparks_runner_2sec_30x30"); + level._effect["mp_ref_turret_steam_off"] = loadfx("vfx/map/mp_refraction/mp_ref_turret_steam_off"); + level._effect["steam_column_sm"] = loadfx("vfx/steam/steam_column_sm"); + level._effect["falling_water_wide_long_no_dist"] = loadfx("vfx/water/falling_water_wide_long_no_dist"); + level._effect["rain_splash_sm_80x6_lp"] = loadfx("vfx/rain/rain_splash_sm_80x6_lp"); + level._effect["rain_splash_sm_20x20_no_dist_lp"] = loadfx("vfx/rain/rain_splash_sm_20x20_no_dist_lp"); + level._effect["falling_water_narrow_long_no_dist"] = loadfx("vfx/water/falling_water_narrow_long_no_dist"); + level._effect["mp_ref_elevator_clouds"] = loadfx("vfx/map/mp_refraction/mp_ref_elevator_clouds"); + level._effect["tower_light_glow_red_steady"] = loadfx("vfx/lights/tower_light_glow_red_steady"); + level._effect["mp_ref_elev_water_trail"] = loadfx("vfx/map/mp_refraction/mp_ref_elev_water_trail"); + level._effect["steam_elev_landing_rise"] = loadfx("vfx/steam/steam_elev_landing_rise"); + level._effect["steam_elev_landing_crawl"] = loadfx("vfx/steam/steam_elev_landing_crawl"); + level._effect["soft_blue_omni_glow"] = loadfx("vfx/lensflare/soft_blue_omni_glow"); + level._effect["soft_red_omni_glow_light"] = loadfx("vfx/lights/mp_ref_soft_red_omni_glow_light"); + level._effect["elevator_shaft_lt_pulse"] = loadfx("vfx/lights/elevator_shaft_lt_pulse"); + level._effect["emergency_lt_red_off"] = loadfx("vfx/lights/emergency_lt_red_off"); + level._effect["emergency_lt_red_on"] = loadfx("vfx/lights/emergency_lt_red_on"); + level._effect["emergency_lt_red_pulse"] = loadfx("vfx/lights/emergency_lt_red_pulse"); + level._effect["sparks_burst_b"] = loadfx("vfx/explosion/sparks_burst_b"); + level._effect["steam_pipe_burst_thin"] = loadfx("vfx/steam/steam_pipe_burst_thin"); + level._effect["light_red_pulse_fast"] = loadfx("vfx/lights/light_red_pulse_fast"); + level._effect["rain_hilight_cylinder"] = loadfx("vfx/rain/rain_hilight_cylinder"); + level._effect["rain_hilight_long_volume"] = loadfx("vfx/rain/rain_hilight_long_volume"); + level._effect["mp_ref_light_fire_alarm_strobe_runner"] = loadfx("vfx/map/mp_refraction/mp_ref_light_fire_alarm_strobe_runner"); + level._effect["steam_sm_vent"] = loadfx("vfx/steam/steam_sm_vent"); + level._effect["rain_volume_windy"] = loadfx("vfx/rain/rain_volume_windy"); + level._effect["steam_sm_vent_slow"] = loadfx("vfx/steam/steam_sm_vent_slow"); + level._effect["mp_ref_ocean_fog"] = loadfx("vfx/map/mp_refraction/mp_ref_ocean_fog"); + level._effect["emergency_lt_red_pulse_lp"] = loadfx("vfx/lights/emergency_lt_red_pulse_lp"); + level._effect["mp_ref_mechanism_steam_light"] = loadfx("vfx/map/mp_refraction/mp_ref_mechanism_steam_light"); + level._effect["elevator_shaft_steam_light"] = loadfx("vfx/lights/elevator_shaft_steam_light"); + level._effect["mp_ref_panel_lightray_sm"] = loadfx("vfx/map/mp_refraction/mp_ref_panel_lightray_sm"); + level._effect["mp_ref_panel_lightray_lrg"] = loadfx("vfx/map/mp_refraction/mp_ref_panel_lightray_lrg"); + level._effect["mp_ref_rain_screen_splashes"] = loadfx("vfx/map/mp_refraction/mp_ref_rain_screen_splashes"); + level._effect["mp_ref_elev_single_lightray_1"] = loadfx("vfx/map/mp_refraction/mp_ref_elev_single_lightray_1"); + level._effect["mp_ref_elev_cylinderframe_lightray"] = loadfx("vfx/map/mp_refraction/mp_ref_elev_cylinderframe_lightray"); + level._effect["mp_ref_elev_frame_lightray"] = loadfx("vfx/map/mp_refraction/mp_ref_elev_frame_lightray"); + level._effect["mp_ref_door_decompress"] = loadfx("vfx/map/mp_refraction/mp_ref_door_decompress"); + level._effect["shutter_opening_steam"] = loadfx("vfx/steam/shutter_opening_steam"); + level._effect["mp_ref_elev_spring_steam"] = loadfx("vfx/map/mp_refraction/mp_ref_elev_spring_steam"); + level._effect["mp_ref_mech_arm_back_lights_pulse"] = loadfx("vfx/map/mp_refraction/mp_ref_mech_arm_back_lights_pulse"); + level._effect["mp_ref_mech_arm_lights_pulse"] = loadfx("vfx/map/mp_refraction/mp_ref_mech_arm_lights_pulse"); + level._effect["mp_ref_mech_arm_back_lights_on"] = loadfx("vfx/map/mp_refraction/mp_ref_mech_arm_back_lights_on"); + level._effect["mp_ref_mech_arm_lights_on"] = loadfx("vfx/map/mp_refraction/mp_ref_mech_arm_lights_on"); + level._effect["steam_wide_vent_burst"] = loadfx("vfx/steam/steam_wide_vent_burst"); + level._effect["mp_ref_elev_ascent_trail"] = loadfx("vfx/map/mp_refraction/mp_ref_elev_ascent_trail"); + level._effect["mp_ref_elev_descent_trail"] = loadfx("vfx/map/mp_refraction/mp_ref_elev_descent_trail"); + level._effect["rain_splash_sm_50x50_lp"] = loadfx("vfx/rain/rain_splash_sm_50x50_lp"); + level._effect["vehicle_damaged_sparks_l"] = loadfx("vfx/sparks/vehicle_damaged_sparks_l"); + level._effect["mp_ref_elev_cloud_opening"] = loadfx("vfx/map/mp_refraction/mp_ref_elev_cloud_opening"); + level._effect["mp_ref_elev_window_steam"] = loadfx("vfx/map/mp_refraction/mp_ref_elev_window_steam"); + level._effect["steam_cylinder_dissipate_near"] = loadfx("vfx/steam/steam_cylinder_dissipate_near"); + level._effect["steam_floor_dissipate_near"] = loadfx("vfx/steam/steam_floor_dissipate_near"); + level._effect["steam_hallway_dissipate"] = loadfx("vfx/steam/steam_hallway_dissipate"); + level._effect["steam_pipe_burst_near"] = loadfx("vfx/steam/steam_pipe_burst_near"); + thread lightning_bolt_fx(); + maps\mp\_utility::delaythread(0.1,::warning_sign_hide_fx); +} + +//Function Number: 2 +cleanout_unneeded_ents_for_createfx() +{ + var_00 = getentarray("elevator2","targetname"); + var_01 = 1; + foreach(var_03 in var_00) + { + if(var_01) + { + var_01 = 0; + continue; + } + + var_03 delete(); + } + + var_05 = getentarray("elevator_ascend","targetname"); + var_01 = 1; + foreach(var_03 in var_05) + { + if(var_01) + { + var_01 = 0; + continue; + } + + var_03 delete(); + } +} + +//Function Number: 3 +mechanism_center_lights_event_fx() +{ + wait(2); +} + +//Function Number: 4 +warning_sign_hide_fx() +{ + var_00 = getentarray("warning_signs","targetname"); + foreach(var_02 in var_00) + { + var_02 hide(); + } +} + +//Function Number: 5 +warning_sign_show_fx() +{ + var_00 = getentarray("warning_signs","targetname"); + foreach(var_02 in var_00) + { + var_02 show(); + } + + level thread common_scripts\_exploder::activate_clientside_exploder(210); +} + +//Function Number: 6 +lightning_bolt_fx() +{ + for(;;) + { + wait(randomfloatrange(2,6)); + var_00 = 220 + randomint(8); + activateclientexploder(var_00); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_refraction_lighting.gsc b/AW/PC/maps/mp/mp_refraction_lighting.gsc new file mode 100644 index 0000000..c51a9d8 --- /dev/null +++ b/AW/PC/maps/mp/mp_refraction_lighting.gsc @@ -0,0 +1,16 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_refraction_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 36 ms + * Timestamp: 4/22/2024 2:18:17 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setdvar("r_gunSightColorEntityScale","7"); + setdvar("r_gunSightColorNoneScale","0.8"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_refraction_precache.gsc b/AW/PC/maps/mp/mp_refraction_precache.gsc new file mode 100644 index 0000000..6ff8f70 --- /dev/null +++ b/AW/PC/maps/mp/mp_refraction_precache.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_refraction_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 30 ms + * Timestamp: 4/22/2024 2:18:18 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_sector17.gsc b/AW/PC/maps/mp/mp_sector17.gsc new file mode 100644 index 0000000..aeaf958 --- /dev/null +++ b/AW/PC/maps/mp/mp_sector17.gsc @@ -0,0 +1,210 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_sector17.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 13 + * Decompile Time: 218 ms + * Timestamp: 4/22/2024 2:18:19 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.callbackstartgametype = ::mpsector17callbackstartgametype; + maps\mp\mp_sector17_precache::main(); + maps\createart\mp_sector17_art::main(); + maps\mp\mp_sector17_fx::main(); + maps\mp\_load::main(); + maps\mp\mp_sector17_lighting::main(); + maps\mp\mp_sector17_aud::main(); + maps\mp\_compass::setupminimap("compass_map_mp_sector17"); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + level.allow_swimming = 0; + level thread maps\mp\_water::init(); + level thread runloudspeakers(); + level thread killstreakoverrides(); + level.isoutofboundscustomfunc = ::isoutofboundscustomfunc; + if(level.nextgen) + { + level thread patchcollision(); + } +} + +//Function Number: 2 +patchcollision() +{ +} + +//Function Number: 3 +mpsector17callbackstartgametype() +{ + maps\mp\gametypes\_gamelogic::callback_startgametype(); + common_scripts\_bcs_location_trigs_dlc::bcs_location_trigs_dlc_init(); +} + +//Function Number: 4 +runloudspeakers() +{ + level endon("game_ended"); + level.sector17voice = "gid"; + if(common_scripts\utility::cointoss()) + { + level.sector17voice = "cor"; + } + + level.sector17aliases = []; + level.sector17aliases[level.sector17aliases.size] = "mp_sec17_amb_" + level.sector17voice + "_01"; + level.sector17aliases[level.sector17aliases.size] = "mp_sec17_amb_" + level.sector17voice + "_02"; + level.sector17aliases[level.sector17aliases.size] = "mp_sec17_amb_" + level.sector17voice + "_03"; + level.sector17aliases[level.sector17aliases.size] = "mp_sec17_amb_" + level.sector17voice + "_04"; + level.sector17aliases[level.sector17aliases.size] = "mp_sec17_amb_" + level.sector17voice + "_05"; + level.sector17aliases[level.sector17aliases.size] = "mp_sec17_amb_" + level.sector17voice + "_06"; + level.sector17aliases = common_scripts\utility::array_randomize(level.sector17aliases); + level.sector17aliasindex = 0; + level waittill("prematch_done"); + for(;;) + { + wait(randomfloatrange(90,120)); + level notify("stopOnPlayerConnectedSector17"); + var_00 = getnextalias(); + var_01 = playloudspeakermessage(var_00); + if(var_01) + { + incrementaliasindex(); + } + } +} + +//Function Number: 5 +onplayerconnectedsector17() +{ + level endon("stopOnPlayerConnectedSector17"); + for(;;) + { + level waittill("connected",var_00); + var_00 thread playerdostartmessage(); + } +} + +//Function Number: 6 +playerdostartmessage() +{ + self endon("disconnect"); + level endon("stopOnPlayerConnectedSector17"); + self waittill("spawned_player"); + self waittill("playLeaderDialogOnPlayer"); + self waittill("playLeaderDialogOnPlayer"); + wait(5); + thread playerdoloudspeakerannouncement("mp_sec17_amb_" + level.sector17voice + "_07"); +} + +//Function Number: 7 +playloudspeakermessage(param_00) +{ + var_01 = 0; + param_00 = getnextalias(); + foreach(var_03 in level.players) + { + if(isdefined(var_03.leaderdialogactive) && var_03.leaderdialogactive != "") + { + continue; + } + + if(isdefined(var_03.leaderdialogqueue) && var_03.leaderdialogqueue.size > 0) + { + continue; + } + + var_01 = 1; + var_03 thread playerdoloudspeakerannouncement(param_00); + } + + return var_01; +} + +//Function Number: 8 +getnextalias() +{ + return level.sector17aliases[level.sector17aliasindex]; +} + +//Function Number: 9 +incrementaliasindex() +{ + level.sector17aliasindex++; + if(level.sector17aliasindex >= level.sector17aliases.size) + { + level.sector17aliases = common_scripts\utility::array_randomize(level.sector17aliases); + level.sector17aliasindex = 0; + } +} + +//Function Number: 10 +playerdoloudspeakerannouncement(param_00) +{ + self.leaderdialoglocalsound = "scripted"; + self.leaderdialogactive = "scripted"; + self.leaderdialoggroup = "scripted"; + self playlocalsound(param_00); + wait(5); + thread restartleaderdialog(); +} + +//Function Number: 11 +restartleaderdialog() +{ + self.leaderdialoglocalsound = ""; + self.leaderdialogactive = ""; + self.leaderdialoggroup = ""; + var_00 = self.pers["team"]; + if(self.leaderdialogqueue.size > 0) + { + var_01 = self.leaderdialogqueue[0]; + var_02 = self.leaderdialoglocqueue[0]; + for(var_03 = 1;var_03 < self.leaderdialogqueue.size;var_03++) + { + self.leaderdialogqueue[var_03 - 1] = self.leaderdialogqueue[var_03]; + } + + for(var_03 = 1;var_03 < self.leaderdialoglocqueue.size;var_03++) + { + self.leaderdialoglocqueue[var_03 - 1] = self.leaderdialoglocqueue[var_03]; + } + + self.leaderdialogqueue[var_03 - 1] = undefined; + self.leaderdialoglocqueue[var_03 - 1] = undefined; + thread maps\mp\_utility::leaderdialogonplayer_internal(var_01,var_00,var_02); + } +} + +//Function Number: 12 +killstreakoverrides() +{ + if(!isdefined(level.airstrikeoverrides)) + { + level.airstrikeoverrides = spawnstruct(); + } + + level.airstrikeoverrides.spawnheight = 1400; +} + +//Function Number: 13 +isoutofboundscustomfunc(param_00,param_01,param_02) +{ + var_03 = 0; + if(isdefined(param_00.vehicletype) && param_00.vehicletype == "orbital_strike" && isdefined(param_02[0].targetname) && param_02[0].targetname == "remote_heli_range") + { + if(param_00.origin[0] < -2496 || param_00.origin[0] > 2416 || param_00.origin[1] < -1640 || param_00.origin[1] > 4272) + { + var_03 = 1; + } + } + else + { + var_03 = param_00 maps\mp\killstreaks\_aerial_utility::vehicletouchinganytrigger(param_02); + } + + return var_03; +} \ No newline at end of file diff --git a/AW/PC/SP/animscripts/civilian/civilian_cover_crouch.gsc b/AW/PC/maps/mp/mp_sector17_aud.gsc similarity index 68% rename from AW/PC/SP/animscripts/civilian/civilian_cover_crouch.gsc rename to AW/PC/maps/mp/mp_sector17_aud.gsc index b238cd8..58a5260 100644 --- a/AW/PC/SP/animscripts/civilian/civilian_cover_crouch.gsc +++ b/AW/PC/maps/mp/mp_sector17_aud.gsc @@ -1,15 +1,15 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: animscripts\civilian\civilian_cover_crouch.gsc + * Decompiled File: mp\mp_sector17_aud.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 * Decompile Time: 29 ms - * Timestamp: 10/27/2023 1:52:54 AM + * Timestamp: 4/22/2024 2:18:19 AM *******************************************************************/ //Function Number: 1 main() { - animscripts\civilian::cover(); + ambientplay("amb_ext_sector17_front"); } \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_sector17_fx.gsc b/AW/PC/maps/mp/mp_sector17_fx.gsc new file mode 100644 index 0000000..69e0c74 --- /dev/null +++ b/AW/PC/maps/mp/mp_sector17_fx.gsc @@ -0,0 +1,50 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_sector17_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:18:20 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["light_rays_moving_01_nosteam"] = loadfx("vfx/lights/light_rays_moving_01_nosteam"); + level._effect["embers_low_lp_med_sector17"] = loadfx("vfx/map/mp_sector17/embers_low_lp_med_sector17"); + level._effect["embers_low_lp_med_vf"] = loadfx("vfx/fire/embers_low_lp_med_vf"); + level._effect["smoke_green_column_lg"] = loadfx("vfx/map/mp_sector17/smoke_green_column_lg"); + level._effect["mp_gb_birds_runner"] = loadfx("vfx/map/mp_greenband/mp_gb_birds_runner"); + level._effect["light_beacon_red_flare_bright"] = loadfx("vfx/lights/mp_sector17/light_beacon_red_flare_bright"); + level._effect["light_beacon_red_bright_flashing"] = loadfx("vfx/lights/mp_sector17/light_beacon_red_bright_flashing"); + level._effect["light_beacon_red_flare"] = loadfx("vfx/lights/mp_sector17/light_beacon_red_flare"); + level._effect["falling_water_drip_circle_lg_runner_fast"] = loadfx("vfx/water/falling_water_drip_circle_lg_runner_fast"); + level._effect["smoke_burnt_vehicle_tall"] = loadfx("vfx/map/mp_sector17/smoke_burnt_vehicle_tall"); + level._effect["brg_dust_mote_ambient_interior"] = loadfx("vfx/map/mp_zombie_brg/brg_dust_mote_ambient_interior"); + level._effect["bagh_sun_flare"] = loadfx("vfx/map/baghdad/bagh_sun_flare"); + level._effect["fire_lp_smk_s_wide"] = loadfx("vfx/fire/fire_lp_smk_s_wide"); + level._effect["fire_lp_smk_s"] = loadfx("vfx/fire/fire_lp_smk_s"); + level._effect["dust_debris_blowing_sm"] = loadfx("vfx/map/mp_sector17/dust_debris_blowing_sm"); + level._effect["light_flashlight_flare"] = loadfx("vfx/lights/mp_sector17/light_flashlight_flare"); + level._effect["leaves_blowing_constant"] = loadfx("vfx/wind/leaves_blowing_constant"); + level._effect["leaves_blowing_slow"] = loadfx("vfx/wind/dlc/leaves_blowing_slow"); + level._effect["flare_light_bulb2"] = loadfx("vfx/map/mp_dam/flare_light_bulb2"); + level._effect["smoke_yellow_column_lg"] = loadfx("vfx/map/mp_sector17/smoke_yellow_column_lg"); + level._effect["smoke_burnt_vehicle_small"] = loadfx("vfx/map/mp_sector17/smoke_burnt_vehicle_small"); + level._effect["mp_climate_vent_poison_gas_small"] = loadfx("vfx/map/mp_sector17/mp_climate_vent_poison_gas_small"); + level._effect["poison_gas_cell_fill"] = loadfx("vfx/map/mp_sector17/poison_gas_cell_fill"); + level._effect["smoke_red_column_lg"] = loadfx("vfx/map/mp_sector17/smoke_red_column_lg"); + level._effect["mp_ground_grassdirt_runner"] = loadfx("vfx/map/mp_climate/mp_ground_grassdirt_runner"); + level._effect["beacon_light_red_static"] = loadfx("vfx/lights/beacon_light_red_static"); + level._effect["bla_falling_debris"] = loadfx("vfx/map/mp_blackbox/bla_falling_debris"); + level._effect["dust_blowing_runner"] = loadfx("vfx/dust/dlc/dust_blowing_runner"); + level._effect["light_rays_moving_01"] = loadfx("vfx/lights/light_rays_moving_01"); + level._effect["pine_needles_blowing"] = loadfx("vfx/wind/pine_needles_blowing"); + level._effect["smoke_flare_marker_orange"] = loadfx("vfx/smoke/smoke_flare_marker_orange"); + level._effect["smoke_flare_marker_green_windy"] = loadfx("vfx/smoke/smoke_flare_marker_green_windy"); + level._effect["smoke_flare_marker_yellow_windy"] = loadfx("vfx/smoke/smoke_flare_marker_yellow_windy"); + level._effect["battlefield_smoke_m"] = loadfx("vfx/smoke/battlefield_smoke_m"); + level._effect["battlefield_smoke_l"] = loadfx("vfx/smoke/battlefield_smoke_l"); + level._effect["poison_gas_green_light_sm_200x200"] = loadfx("vfx/smoke/poison_gas_green_light_sm_200x200"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_sector17_lighting.gsc b/AW/PC/maps/mp/mp_sector17_lighting.gsc new file mode 100644 index 0000000..591f506 --- /dev/null +++ b/AW/PC/maps/mp/mp_sector17_lighting.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_sector17_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 29 ms + * Timestamp: 4/22/2024 2:18:20 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setdvar("r_lightGridEnableTweaks",1); + setdvar("r_lightGridIntensity",1.33); + if(level.nextgen) + { + level.ospvisionset = "mp_sector17_osp"; + level.osplightset = "mp_sector17_osp"; + level.dronevisionset = "mp_sector17_drone"; + level.dronelightset = "mp_sector17_drone"; + level.warbirdvisionset = "mp_sector17_warbird"; + level.warbirdlightset = "mp_sector17_warbird"; + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_sector17_precache.gsc b/AW/PC/maps/mp/mp_sector17_precache.gsc new file mode 100644 index 0000000..630caaf --- /dev/null +++ b/AW/PC/maps/mp/mp_sector17_precache.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_sector17_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:18:20 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_seoul2.gsc b/AW/PC/maps/mp/mp_seoul2.gsc new file mode 100644 index 0000000..41b5444 --- /dev/null +++ b/AW/PC/maps/mp/mp_seoul2.gsc @@ -0,0 +1,132 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_seoul2.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 9 + * Decompile Time: 156 ms + * Timestamp: 4/22/2024 2:18:21 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.callbackstartgametype = ::seoul2_callbackstartgametype; + maps\mp\mp_seoul2_precache::main(); + maps\createart\mp_seoul2_art::main(); + maps\mp\mp_seoul2_fx::main(); + maps\mp\_load::main(); + maps\mp\mp_seoul2_lighting::main(); + maps\mp\mp_seoul2_aud::main(); + maps\mp\_compass::setupminimap("compass_map_mp_seoul2"); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + level.mapcustomkillstreakfunc = ::seoul2customkillstreakfunc; + level thread seoul2customairstrikeheight(); + level thread setup_physics_objects(); + level thread setupsupportdropvolumes(); + level.orbitallaseroverridefunc = ::seoulcustomorbitallaserfunc; + level.orbitalsupportoverridefunc = ::seoulcustomospfunc; + level.ospvisionset = "mp_seoul2_osp"; + level.osplightset = "mp_seoul2_osp"; + level.warbirdvisionset = "mp_seoul2_osp"; + level.warbirdlightset = "mp_seoul2_osp"; + level.vulcanvisionset = "mp_seoul2_osp"; + level.vulcanlightset = "mp_seoul2_osp"; + level.dronevisionset = "mp_seoul2_osp"; + level.dronelightset = "mp_seoul2_osp"; + level.swarmvisionset = "mp_seoul2_osp"; + level.swarmlightset = "mp_seoul2_osp"; + if(level.nextgen) + { + level thread drone_anims(); + } +} + +//Function Number: 2 +seoul2_callbackstartgametype() +{ + maps\mp\gametypes\_gamelogic::callback_startgametype(); + common_scripts\_bcs_location_trigs_dlc::bcs_location_trigs_dlc_init(); +} + +//Function Number: 3 +setup_physics_objects() +{ + var_00 = getentarray("physics_lanterns","targetname"); + var_01 = getentarray("physics_alley_lights","targetname"); + foreach(var_03 in var_01) + { + var_03 method_856C(1); + } + + foreach(var_06 in var_00) + { + var_06 method_856C(1); + } +} + +//Function Number: 4 +seoul2customkillstreakfunc() +{ + level thread maps\mp\killstreaks\streak_mp_seoul2::streak_init(); +} + +//Function Number: 5 +seoul2customairstrikeheight() +{ + if(!isdefined(level.airstrikeoverrides)) + { + level.airstrikeoverrides = spawnstruct(); + } + + level.airstrikeoverrides.spawnheight = 5000; + level.remote_missile_height_override = 18000; +} + +//Function Number: 6 +seoulcustomorbitallaserfunc() +{ + level.orbitallaseroverrides.spawnheight = 3000; +} + +//Function Number: 7 +seoulcustomospfunc() +{ + level.orbitalsupportoverrides.spawnradius = 4500; + level.orbitalsupportoverrides.spawnheight = 8000; + level.orbitalsupportoverrides.leftarc = 25; + level.orbitalsupportoverrides.rightarc = 25; + level.orbitalsupportoverrides.toparc = -40; + level.orbitalsupportoverrides.bottomarc = 70; +} + +//Function Number: 8 +setupsupportdropvolumes() +{ + var_00 = getent("badplace_trigs","targetname"); + while(!isdefined(level.orbital_util_covered_volumes)) + { + wait 0.05; + } + + level.orbital_util_covered_volumes[level.orbital_util_covered_volumes.size] = var_00; + while(!isdefined(level.goliath_bad_landing_volumes)) + { + wait 0.05; + } + + level.goliath_bad_landing_volumes[level.goliath_bad_landing_volumes.size] = var_00; +} + +//Function Number: 9 +drone_anims() +{ + var_00 = getent("drone_cleaner_01","targetname"); + maps\mp\_audio::scriptmodelplayanimwithnotify_uniquename(var_00,"lost_repair_drone_standby_idle02","drone_cleaner_01_notify","aud_lost_drone_idle_02","mp_seoul2_drone_idle_02","aud_drone_01_end_01","aud_drone_01_end_02","aud_drone_01_end_03"); + var_00 thread maps\mp\mp_seoul2_fx::play_drill_fx(); + var_01 = getent("drone_cleaner_02","targetname"); + maps\mp\_audio::scriptmodelplayanimwithnotify_uniquename(var_01,"lost_repair_drone_standby_idle03","drone_cleaner_02_notify","aud_lost_drone_idle_03","mp_seoul2_drone_idle_03","aud_drone_02_end_01","aud_drone_02_end_02","aud_drone_02_end_03"); + var_02 = getent("drone_cleaner_03","targetname"); + maps\mp\_audio::scriptmodelplayanimwithnotify_uniquename(var_02,"lost_repair_drone_standby_idle03","drone_cleaner_03_notify","aud_lost_drone_idle_03","mp_seoul2_drone_idle_03b","aud_drone_03_end_01","aud_drone_03_end_02","aud_drone_03_end_03"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_seoul2_aud.gsc b/AW/PC/maps/mp/mp_seoul2_aud.gsc new file mode 100644 index 0000000..687631e --- /dev/null +++ b/AW/PC/maps/mp/mp_seoul2_aud.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_seoul2_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:18:21 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_seoul2_fx.gsc b/AW/PC/maps/mp/mp_seoul2_fx.gsc new file mode 100644 index 0000000..ad154f6 --- /dev/null +++ b/AW/PC/maps/mp/mp_seoul2_fx.gsc @@ -0,0 +1,72 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_seoul2_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 45 ms + * Timestamp: 4/22/2024 2:18:22 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["fx_sunflare_mp_seoul2"] = loadfx("vfx/lensflare/fx_sunflare_mp_seoul2"); + level._effect["mp_seo2_steam_fan_small"] = loadfx("vfx/map/mp_seoul2/mp_seo2_steam_fan_small"); + level._effect["mp_seo2_steam_wall_vent"] = loadfx("vfx/map/mp_seoul2/mp_seo2_steam_wall_vent"); + level._effect["mp_seo2_sparks_runner"] = loadfx("vfx/map/mp_seoul2/mp_seo2_sparks_runner"); + level._effect["mp_seo2_dust_falling_debris_s_rnr_lp"] = loadfx("vfx/map/mp_seoul2/mp_seo2_dust_falling_debris_s_rnr_lp"); + level._effect["mp_seo2_dust_ambient_interior"] = loadfx("vfx/map/mp_seoul2/mp_seo2_dust_ambient_interior"); + level._effect["mp_seo2_dust_ambient_ground"] = loadfx("vfx/map/mp_seoul2/mp_seo2_dust_ambient_ground"); + level._effect["mp_seo2_dust_ambient_ground_soft"] = loadfx("vfx/map/mp_seoul2/mp_seo2_dust_ambient_ground_soft"); + level._effect["mp_seo2_dust_ambient_ground_signs"] = loadfx("vfx/map/mp_seoul2/mp_seo2_dust_ambient_ground_signs"); + level._effect["mp_seo2_metal_debris_pile_lp"] = loadfx("vfx/map/mp_seoul2/mp_seo2_metal_debris_pile_lp"); + level._effect["mp_seo2_sewer_steam"] = loadfx("vfx/map/mp_seoul2/mp_seo2_sewer_steam"); + level._effect["mp_seo2_construction_smoke_m_thick"] = loadfx("vfx/map/mp_seoul2/mp_seo2_construction_smoke_m_thick"); + level._effect["mp_seo2_godray_dusty"] = loadfx("vfx/map/mp_seoul2/mp_seo2_godray_dusty"); + level._effect["mp_seo2_godray_dusty_thin"] = loadfx("vfx/map/mp_seoul2/mp_seo2_godray_dusty_thin"); + level._effect["mp_seo2_dust_particles"] = loadfx("vfx/map/mp_seoul2/mp_seo2_dust_particles"); + level._effect["mp_seo2_wind_blowing_debris"] = loadfx("vfx/map/mp_seoul2/mp_seo2_wind_blowing_debris"); + level._effect["mp_seo2_falling_leaves_runner"] = loadfx("vfx/map/mp_seoul2/mp_seo2_falling_leaves_runner"); + level._effect["mp_seo2_ground_dust_loop_runner"] = loadfx("vfx/map/mp_seoul2/mp_seo2_ground_dust_loop_runner"); + level._effect["mp_seo2_ground_dust_thick_loop_runner"] = loadfx("vfx/map/mp_seoul2/mp_seo2_ground_dust_thick_loop_runner"); + level._effect["mp_seo2_delivery_truck_flashing_light"] = loadfx("vfx/map/mp_seoul2/mp_seo2_delivery_truck_flashing_light"); + level._effect["fx_hr2_fluor_interior_flare"] = loadfx("vfx/lensflare/fx_hr2_fluor_interior_flare"); + level._effect["mp_hr2_light_glow_square"] = loadfx("vfx/map/mp_highrise2/mp_hr2_light_glow_square"); + level._effect["mp_hr2_light_glow_spot"] = loadfx("vfx/map/mp_highrise2/mp_hr2_light_glow_spot"); + level._effect["fx_seo2_fluor_interior_flare"] = loadfx("vfx/lensflare/fx_seo2_fluor_interior_flare"); + level._effect["ambient_wind_bushes_lp"] = loadfx("vfx/wind/ambient_wind_bushes_lp"); + level._effect["dust_falling_light_runner"] = loadfx("vfx/dust/dust_falling_light_runner"); + level._effect["plastic_shreds_hanging_e_slow"] = loadfx("vfx/wind/plastic_shreds_hanging_e_slow"); + level._effect["plastic_shreds_sheet_a_slow"] = loadfx("vfx/wind/plastic_shreds_sheet_a_slow"); + level._effect["plastic_shreds_sheet_b_slow"] = loadfx("vfx/wind/plastic_shreds_sheet_b_slow"); + level._effect["trash_tornado_s_runner"] = loadfx("vfx/wind/trash_tornado_s_runner"); + level._effect["smk_low_linger"] = loadfx("vfx/smoke/dlc/smk_low_linger"); + level._effect["smoke_pillar_black_medium_slow"] = loadfx("vfx/smoke/smoke_pillar_black_medium_slow"); + level._effect["battlefield_smoke_m"] = loadfx("vfx/smoke/battlefield_smoke_m"); + level._effect["battlefield_smoke_m_thick"] = loadfx("vfx/smoke/battlefield_smoke_m_thick"); + level._effect["smk_stacks_lp_med_unlit_d"] = loadfx("vfx/smoke/smk_stacks_lp_med_unlit_d"); + level._effect["smk_stacks_lp_med_unlit_d_rev"] = loadfx("vfx/smoke/smk_stacks_lp_med_unlit_d_rev"); + level._effect["smk_stack_single_02_lp_med_unlit_c"] = loadfx("vfx/smoke/smk_stack_single_02_lp_med_unlit_c"); + level._effect["insects_light_moths_soft_complex"] = loadfx("vfx/animal/insects_light_moths_soft_complex"); + level._effect["insects_flies_landing"] = loadfx("vfx/animal/insects_flies_landing"); + level._effect["pigeon_flock_vista_runner_lp"] = loadfx("vfx/animal/pigeon_flock_vista_runner_lp"); + level._effect["roach_flock_straight_lp_slw_02"] = loadfx("vfx/animal/roach_flock_straight_lp_slw_02"); + level._effect["fire_lp_s_no_light"] = loadfx("vfx/fire/fire_lp_s_no_light"); + level._effect["fire_lp_m_no_light"] = loadfx("vfx/fire/fire_lp_m_no_light"); + level._effect["fire_vista_lp_lrg_blacksmk_thick"] = loadfx("vfx/fire/fire_vista_lp_lrg_blacksmk_thick"); + level._effect["mp_bigb_fire_lp_clocktower_smoke"] = loadfx("vfx/map/mp_bigben/mp_bigb_fire_lp_clocktower_smoke"); + level._effect["falling_water_drip_line_lg_runner_fast"] = loadfx("vfx/water/falling_water_drip_line_lg_runner_fast"); + level._effect["water_curtain_leak_thin"] = loadfx("vfx/rain/water_curtain_leak_thin"); + level._effect["mp_seo2_walker2_pulling_dirt"] = loadfx("vfx/map/mp_seoul2/mp_seo2_walker2_pulling_dirt"); + level._effect["mp_seo2_walker2_pulling_dirt_b"] = loadfx("vfx/map/mp_seoul2/mp_seo2_walker2_pulling_dirt_b"); +} + +//Function Number: 2 +play_drill_fx() +{ + wait(2); + playfxontag(common_scripts\utility::getfx("mp_seo2_walker2_pulling_dirt"),self,"wristTwist_FR"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("mp_seo2_walker2_pulling_dirt_b"),self,"wristTwist_FL"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_seoul2_lighting.gsc b/AW/PC/maps/mp/mp_seoul2_lighting.gsc new file mode 100644 index 0000000..8bad65f --- /dev/null +++ b/AW/PC/maps/mp/mp_seoul2_lighting.gsc @@ -0,0 +1,24 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_seoul2_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 46 ms + * Timestamp: 4/22/2024 2:18:22 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + set_level_lighting_values(); +} + +//Function Number: 2 +set_level_lighting_values() +{ + if(isusinghdr()) + { + setdvar("r_disablelightsets",0); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_seoul2_precache.gsc b/AW/PC/maps/mp/mp_seoul2_precache.gsc new file mode 100644 index 0000000..461e342 --- /dev/null +++ b/AW/PC/maps/mp/mp_seoul2_precache.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_seoul2_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 30 ms + * Timestamp: 4/22/2024 2:18:23 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_solar.gsc b/AW/PC/maps/mp/mp_solar.gsc new file mode 100644 index 0000000..264d4cf --- /dev/null +++ b/AW/PC/maps/mp/mp_solar.gsc @@ -0,0 +1,76 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_solar.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 6 + * Decompile Time: 103 ms + * Timestamp: 4/22/2024 2:18:23 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\mp\mp_solar_precache::main(); + maps\createart\mp_solar_art::main(); + maps\mp\mp_solar_fx::main(); + maps\mp\mp_solar_aud::main(); + maps\mp\mp_solar_lighting::main(); + maps\mp\_load::main(); + maps\mp\_compass::setupminimap("compass_map_mp_solar"); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + level.mapcustomkillstreakfunc = ::solarcustomkillstreakfunc; + level thread setup_audio(); + level.orbitalsupportoverridefunc = ::solarpaladinoverrides; + level thread init_fans(); + level.ospvisionset = "mp_solar_osp"; + level.osplightset = "mp_solar_osp"; + level.warbirdvisionset = "mp_solar_warbird"; + level.warbirdlightset = "mp_solar_warbird"; + level.dronevisionset = "mp_solar_drone"; + level.dronelightset = "mp_solar_drone"; + if(level.nextgen) + { + setdvar("sm_polygonOffsetPreset",2); + } + + maps\mp\_water::init(); +} + +//Function Number: 2 +solarcustomkillstreakfunc() +{ + level thread maps\mp\killstreaks\streak_mp_solar::init(); +} + +//Function Number: 3 +setup_audio() +{ + ambientplay("amb_mp_solar_ext"); +} + +//Function Number: 4 +solarpaladinoverrides() +{ + level.orbitalsupportoverrides.spawnheight = 9079; +} + +//Function Number: 5 +init_fans() +{ + var_00 = getentarray("solar_fan","targetname"); + common_scripts\utility::array_thread(var_00,::run_fan); +} + +//Function Number: 6 +run_fan() +{ + var_00 = 1800; + var_01 = randomfloatrange(700,750); + for(;;) + { + self rotatevelocity((var_01,0,0),var_00); + wait(var_00); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_solar_aud.gsc b/AW/PC/maps/mp/mp_solar_aud.gsc new file mode 100644 index 0000000..64f06ed --- /dev/null +++ b/AW/PC/maps/mp/mp_solar_aud.gsc @@ -0,0 +1,65 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_solar_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 4 + * Decompile Time: 86 ms + * Timestamp: 4/22/2024 2:18:24 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} + +//Function Number: 2 +watchforlasermovement(param_00) +{ + array_sound_start(); + self endon("solar_reflector_player_removed"); + var_01 = 0.05; + var_02 = 0; + var_03 = self getplayerangles(); + var_04 = spawn("script_origin",level.solar_reflector_cam_tag.origin); + var_04 linkto(level.solar_reflector_cam_tag); + thread wait_for_laser_end(var_04); + for(;;) + { + var_05 = self getplayerangles(); + var_06 = distance2d(var_05,var_03); + if(var_06 > var_01) + { + if(!var_02) + { + var_04 playloopsound("mp_solar_array_player_move"); + var_04 scalevolume(0.7,0.1); + var_02 = 1; + } + } + else if(var_02) + { + var_04 scalevolume(0,0.3); + var_04 stoploopsound(); + var_02 = 0; + } + + var_03 = var_05; + wait(0.05); + } +} + +//Function Number: 3 +array_sound_start() +{ + playsoundatpos((1423.67,1543.22,64.4061),"mp_solar_array_generator"); +} + +//Function Number: 4 +wait_for_laser_end(param_00) +{ + self waittill("solar_reflector_player_removed"); + param_00 stoploopsound(); + wait(0.25); + param_00 delete(); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_solar_fx.gsc b/AW/PC/maps/mp/mp_solar_fx.gsc new file mode 100644 index 0000000..14b0f12 --- /dev/null +++ b/AW/PC/maps/mp/mp_solar_fx.gsc @@ -0,0 +1,73 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_solar_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 2:18:25 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["ground_sand_light_wind_lp"] = loadfx("vfx/sand/ground_sand_light_wind_lp"); + level._effect["falling_pipe_water_trickle_continue"] = loadfx("vfx/water/falling_pipe_water_trickle_continue"); + level._effect["ambient_sand_separate"] = loadfx("vfx/map/mp_solar/ambient_sand_separate"); + level._effect["sand_tornado_s_runner"] = loadfx("vfx/sand/sand_tornado_s_runner"); + level._effect["fire_pipe_leak_xsm"] = loadfx("vfx/fire/fire_pipe_leak_xsm"); + level._effect["solar_tank_bubbles"] = loadfx("vfx/water/solar_tank_bubbles"); + level._effect["water_gush_pipe_xsm"] = loadfx("vfx/water/water_gush_pipe_xsm"); + level._effect["steam_pipe_burst_lp_sm"] = loadfx("vfx/steam/steam_pipe_burst_lp_sm"); + level._effect["water_leak_pipe_large"] = loadfx("vfx/water/water_leak_pipe_large"); + level._effect["qn_water_leak_pipe_small"] = loadfx("vfx/test/qn_water_leak_pipe_small"); + level._effect["fire_pipe_leak_med"] = loadfx("vfx/fire/fire_pipe_leak_med"); + level._effect["amb_dust_wind_particles"] = loadfx("vfx/dust/amb_dust_wind_particles"); + level._effect["wind_gust_fan_vortex_mp"] = loadfx("vfx/map/mp_dam/wind_gust_fan_vortex_mp"); + level._effect["light_godray_solarbeams_01"] = loadfx("vfx/lights/mp_solar/light_godray_solarbeams_01"); + level._effect["amb_dust_wind_02"] = loadfx("vfx/dust/amb_dust_wind_02"); + level._effect["steam_sm_vent2"] = loadfx("vfx/steam/steam_sm_vent2"); + level._effect["falling_water_drip_line_lg_runner_sht_fast"] = loadfx("vfx/water/falling_water_drip_line_lg_runner_sht_fast"); + level._effect["grass_blowing_wind_01"] = loadfx("vfx/foliage/grass_blowing_wind_01"); + level._effect["ground_sand_fine_flat_loop"] = loadfx("vfx/sand/ground_sand_fine_flat_loop"); + level._effect["ground_sand_fine_flat"] = loadfx("vfx/sand/ground_sand_fine_flat"); + level._effect["electrical_arc_2"] = loadfx("vfx/map/mp_solar/electrical_arc_2"); + level._effect["mp_solar_water_wake_02"] = loadfx("vfx/map/mp_solar/mp_solar_water_wake_02"); + level._effect["mp_solar_water_wake_01"] = loadfx("vfx/map/mp_solar/mp_solar_water_wake_01"); + level._effect["mp_levity_dust_ambient_int"] = loadfx("vfx/map/mp_levity/mp_levity_dust_ambient_int"); + level._effect["ambient_sand_lingering"] = loadfx("vfx/sand/ambient_sand_lingering"); + level._effect["ground_sand_drifts_flat_lp"] = loadfx("vfx/sand/ground_sand_drifts_flat_lp"); + level._effect["wind_gust_turbine_vortex_mp"] = loadfx("vfx/map/mp_dam/wind_gust_turbine_vortex_mp"); + precachefx(); +} + +//Function Number: 2 +precachefx() +{ + level._effect["fx_flare_solar"] = loadfx("vfx/map/mp_solar/fx_flare_solar"); + level._effect["boiling_runner"] = loadfx("vfx/map/mp_solar/boiling_runner"); + level._effect["water_gush_pipe"] = loadfx("vfx/map/mp_solar/water_gush_pipe"); + level._effect["dust_blowing_ground_02_runner"] = loadfx("vfx/map/mp_solar/dust_blowing_ground_02_runner"); + level._effect["electrical_arc"] = loadfx("vfx/map/mp_dam/electrical_arc"); + level._effect["steam_column_rising"] = loadfx("vfx/steam/steam_column_rising"); + level._effect["smoke_white_column_lg"] = loadfx("vfx/map/mp_solar/smoke_white_column_lg"); + level._effect["low_dust_wave_runner_lp"] = loadfx("vfx/dust/low_dust_wave_runner_lp"); + level._effect["amb_dust_verylight_fade"] = loadfx("vfx/dust/amb_dust_verylight_fade"); + level._effect["wind_gust_turbine_vortex"] = loadfx("vfx/map/mp_dam/wind_gust_turbine_vortex"); + level._effect["godray_window_small_mp"] = loadfx("vfx/map/mp_dam/godray_window_small_mp"); + level._effect["godray_window_med_mp"] = loadfx("vfx/map/mp_dam/godray_window_med_mp"); + level._effect["godray_window_large2_mp"] = loadfx("vfx/map/mp_dam/godray_window_large2_mp"); + level._effect["godray_window_large_mp"] = loadfx("vfx/map/mp_dam/godray_window_large_mp"); + level._effect["electrical_arc_coil"] = loadfx("vfx/map/mp_dam/electrical_arc_coil"); + level._effect["lights_conelight_smokey"] = loadfx("vfx/lights/lights_conelight_smokey"); + level._effect["light_spotlight_cone_haze"] = loadfx("vfx/lights/light_spotlight_cone_haze"); + level._effect["light_godray_02"] = loadfx("vfx/lights/light_godray_beam_2"); + level._effect["lights_conelight_smokey"] = loadfx("vfx/lights/lights_conelight_smokey"); + level._effect["wind_blowing_debris"] = loadfx("vfx/wind/wind_blowing_debris"); + level._effect["water_tank_loop"] = loadfx("vfx/map/mp_solar/water_tank_loop"); + level._effect["fx_tower_flare"] = loadfx("vfx/map/mp_solar/fx_tower_flare"); + level._effect["solar_killstreak_death"] = loadfx("vfx/map/mp_solar/solar_killstreak_death"); + level._effect["fx_sunflare_lsr2"] = loadfx("vfx/map/mp_solar/fx_sunflare_lsr2"); + level._effect["water_drips_med"] = loadfx("vfx/rain/water_drips_med"); + level._effect["sol_evt_window_loop"] = loadfx("vfx/map/mp_solar/sol_evt_window_loop"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_solar_lighting.gsc b/AW/PC/maps/mp/mp_solar_lighting.gsc new file mode 100644 index 0000000..f41b057 --- /dev/null +++ b/AW/PC/maps/mp/mp_solar_lighting.gsc @@ -0,0 +1,28 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_solar_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 46 ms + * Timestamp: 4/22/2024 2:18:25 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setdvar("r_lightGridEnableTweaks",1); + setdvar("r_lightGridIntensity",1.33); + setdvar("r_gunSightColorEntityScale","7"); + setdvar("r_gunSightColorNoneScale","0.8"); + thread set_lighting_values(); +} + +//Function Number: 2 +set_lighting_values() +{ + if(isusinghdr()) + { + level waittill("connected",var_00); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_solar_precache.gsc b/AW/PC/maps/mp/mp_solar_precache.gsc new file mode 100644 index 0000000..bd2b8e4 --- /dev/null +++ b/AW/PC/maps/mp/mp_solar_precache.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_solar_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 29 ms + * Timestamp: 4/22/2024 2:18:25 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_spark.gsc b/AW/PC/maps/mp/mp_spark.gsc new file mode 100644 index 0000000..d433544 --- /dev/null +++ b/AW/PC/maps/mp/mp_spark.gsc @@ -0,0 +1,322 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_spark.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 16 + * Decompile Time: 263 ms + * Timestamp: 4/22/2024 2:18:26 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.callbackstartgametype = ::spark_callbackstartgametype; + maps\mp\mp_spark_precache::main(); + maps\createart\mp_spark_art::main(); + maps\mp\mp_spark_fx::main(); + maps\mp\_load::main(); + maps\mp\mp_spark_lighting::main(); + maps\mp\mp_spark_aud::main(); + level.mapcustomkillstreakfunc = ::customkillstreakfunc; + maps\mp\_compass::setupminimap("compass_map_mp_spark"); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + level thread animatefusioncore(); + level thread animateassemblyarms(); + level thread animaterobotline(); + level thread animatehangingexos(); + level thread fixcarepackagelinkingtofans(); + if(level.nextgen) + { + level thread vistadroppods(); + level thread spinfans(); + if(level.gametype == "ball") + { + level thread uplinkballvisionset(); + } + } + + level.missileitemclipdelay = 0; + level thread patchclip(); +} + +//Function Number: 2 +spark_callbackstartgametype() +{ + maps\mp\gametypes\_gamelogic::callback_startgametype(); + common_scripts\_bcs_location_trigs_dlc::bcs_location_trigs_dlc_init(); +} + +//Function Number: 3 +customkillstreakfunc() +{ + maps\mp\killstreaks\streak_mp_spark::init(); +} + +//Function Number: 4 +animatefusioncore() +{ + var_00 = ["fusion_core_spin"]; + var_01 = ["fusion_core_spin"]; + var_02 = getent("fusion_core","targetname"); + if(isdefined(var_02)) + { + maps\mp\_audio::scriptmodelplayanimwithnotify_uniquename(var_02,"mp_spark_fusion_core_spin","aud_fusion_core_notify",var_00,var_01,"fusionCore_end_01","fusionCore_end_02","fusionCore_end_03"); + } +} + +//Function Number: 5 +animateassemblyarms() +{ + var_00 = common_scripts\utility::getstruct("robot_anim_node","targetname"); + if(!isdefined(var_00)) + { + return; + } + + if(!isdefined(var_00.angles)) + { + var_00.angles = (0,0,0); + } + + var_01 = getentarray("lab_assembly_robot_arm_02_scaled_anim","targetname"); + for(var_02 = 0;var_02 < var_01.size;var_02++) + { + var_01[var_02] scriptmodelplayanimdeltamotionfrompos("mp_spark_assembly_arm_0" + var_02 + 1,var_00.origin,var_00.angles,"nothing"); + } + + var_03 = getentarray("spk_exolab_track_exo_hanger2","targetname"); + for(var_02 = 0;var_02 < var_03.size;var_02++) + { + var_03[var_02] scriptmodelplayanimdeltamotionfrompos("mp_spark_assembly_exo_0" + var_02 + 1,var_00.origin,var_00.angles,"nothing"); + } +} + +//Function Number: 6 +animaterobotline() +{ + var_00 = common_scripts\utility::getstruct("assembly_line_node","targetname"); + if(!isdefined(var_00)) + { + return; + } + + if(!isdefined(var_00.angles)) + { + var_00.angles = (0,0,0); + } + + var_01 = getentarray("spk_exolab_track_robot_hanger","targetname"); + for(var_02 = 0;var_02 < var_01.size;var_02++) + { + var_01[var_02] scriptmodelplayanimdeltamotionfrompos("mp_spark_robot_line_0" + var_02 + 1,var_00.origin,var_00.angles,"nothing"); + } +} + +//Function Number: 7 +animatehangingexos() +{ + var_00 = common_scripts\utility::getstruct("assembly_line_node","targetname"); + if(!isdefined(var_00)) + { + return; + } + + if(!isdefined(var_00.angles)) + { + var_00.angles = (0,0,0); + } + + var_01 = getentarray("spk_exolab_track_exo_hanger","targetname"); + if(var_01.size < 3) + { + return; + } + + var_01[0] scriptmodelplayanimdeltamotionfrompos("mp_spark_exo_line_01",var_00.origin,var_00.angles,"nothing"); + var_01[1] scriptmodelplayanimdeltamotionfrompos("mp_spark_exo_line_03",var_00.origin,var_00.angles,"nothing"); + var_01[2] scriptmodelplayanimdeltamotionfrompos("mp_spark_exo_line_05",var_00.origin,var_00.angles,"nothing"); + var_01 = getentarray("spk_exolab_track_hanger","targetname"); + if(var_01.size < 2) + { + return; + } + + var_01[0] scriptmodelplayanimdeltamotionfrompos("mp_spark_exo_line_02",var_00.origin,var_00.angles,"nothing"); + var_01[1] scriptmodelplayanimdeltamotionfrompos("mp_spark_exo_line_04",var_00.origin,var_00.angles,"nothing"); +} + +//Function Number: 8 +vistadroppods() +{ + var_00 = 24000; + var_01 = 1; + var_02 = 4; + var_03 = 15; + level.sparkdroppods = getentarray("vistaMissilePods","targetname"); + level.sparkdroplocations = common_scripts\utility::getstructarray("vistaMissileSpawn","targetname"); + level.sparkdroplocationindex = 0; + if(level.sparkdroplocations.size == 0) + { + return; + } + + if(level.sparkdroppods.size == 0) + { + for(var_04 = 0;var_04 < 4;var_04++) + { + var_05 = spawn("script_model",(0,0,-10000)); + var_05 setmodel("spk_vehicle_mil_drop_pod"); + level.sparkdroppods[level.sparkdroppods.size] = var_05; + } + } + + foreach(var_07 in level.sparkdroplocations) + { + var_08 = common_scripts\utility::getstruct(var_07.target,"targetname"); + var_07.end = var_08.origin; + var_09 = vectornormalize(var_07.origin - var_08.origin); + var_07.start = var_08.origin + var_09 * var_00; + var_07.startangles = vectortoangles(var_09) + (270,0,0); + } + + wait(1); + level.sparkdroplocations = common_scripts\utility::array_randomize(level.sparkdroplocations); + for(var_04 = 0;var_04 < level.sparkdroppods.size;var_04++) + { + var_0B = level.sparkdroppods[var_04]; + level thread firepod(var_0B); + var_0C = randomfloatrange(var_01,var_02); + wait(var_0C); + } + + for(;;) + { + level waittill("podComplete",var_0B); + var_0D = var_03 + var_01; + var_0E = var_03 + var_02; + var_0C = randomfloatrange(var_0D,var_0E); + level thread firepod(var_0B,var_0C); + } +} + +//Function Number: 9 +firepod(param_00,param_01) +{ + var_02 = 8; + if(isdefined(param_01)) + { + wait(param_01); + } + + playfxontag(common_scripts\utility::getfx("mp_spark_drop_pod"),param_00,"tag_fx"); + param_00 playloopsound("incoming_ambient_pods_lp"); + if(level.sparkdroplocationindex >= level.sparkdroplocations.size) + { + level.sparkdroplocations = common_scripts\utility::array_randomize(level.sparkdroplocations); + level.sparkdroplocationindex = 0; + } + + var_03 = level.sparkdroplocations[level.sparkdroplocationindex]; + level.sparkdroplocationindex++; + param_00 dontinterpolate(); + param_00.origin = var_03.start; + param_00.angles = var_03.startangles; + param_00 moveto(var_03.end,var_02,var_02,0); + wait(var_02); + killfxontag(common_scripts\utility::getfx("mp_spark_drop_pod"),param_00,"tag_fx"); + param_00 stoploopsound(); + playfx(common_scripts\utility::getfx("mp_spark_drop_pod_impact"),var_03.end); + level notify("podComplete",param_00); +} + +//Function Number: 10 +spinfans() +{ + var_00 = getentarray("spk_wall_fan_blade_rotate_fast_01","targetname"); + foreach(var_02 in var_00) + { + var_02 thread fan1spin(); + } +} + +//Function Number: 11 +fan1spin() +{ + if(!isdefined(self)) + { + return; + } + + var_00 = 500; + var_01 = 20000; + for(;;) + { + self rotatevelocity((var_00,0,0),var_01); + wait(var_01); + } +} + +//Function Number: 12 +fixcarepackagelinkingtofans() +{ + common_scripts\utility::array_thread(getentarray("com_wall_fan_blade_rotate_slow","targetname"),::fannocontents); + common_scripts\utility::array_thread(getentarray("com_wall_fan_blade_rotate","targetname"),::fannocontents); + common_scripts\utility::array_thread(getentarray("com_wall_fan_blade_rotate_fast","targetname"),::fannocontents); + common_scripts\utility::array_thread(getentarray("spk_wall_fan_blade_rotate_fast_01","targetname"),::fannocontents); +} + +//Function Number: 13 +fannocontents() +{ + self setcontents(0); +} + +//Function Number: 14 +uplinkballvisionset() +{ + for(;;) + { + level waittill("connected",var_00); + var_00 thread playerhandleuplinkvisionset(); + } +} + +//Function Number: 15 +playerhandleuplinkvisionset() +{ + self endon("disconnect"); + for(;;) + { + var_00 = self getcurrentprimaryweapon(); + if(isdefined(var_00)) + { + if(issubstr(var_00,"iw5_carrydrone")) + { + self setclienttriggervisionset("mp_spark_uplink_inview",0.3); + self lightsetoverrideenableforplayer("mp_spark_uplink_inview",0.3); + } + else + { + self setclienttriggervisionset("",0.5); + self lightsetoverrideenableforplayer(0.5); + } + } + + wait 0.05; + } +} + +//Function Number: 16 +patchclip() +{ + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_64_64",(-63,165,896),(90,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_64_64",(212,129,896),(90,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_64_64",(493,125,896),(90,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_64_64",(819,216,896),(90,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_64_64",(819,1082,896),(90,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_64_64",(496,1170,896),(90,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_64_64",(209,1168,896),(90,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_64_64",(-57,1128,896),(90,0,0)); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_spark_aud.gsc b/AW/PC/maps/mp/mp_spark_aud.gsc new file mode 100644 index 0000000..51aed7b --- /dev/null +++ b/AW/PC/maps/mp/mp_spark_aud.gsc @@ -0,0 +1,21 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_spark_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 42 ms + * Timestamp: 4/22/2024 2:18:27 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level thread setup_audio(); +} + +//Function Number: 2 +setup_audio() +{ + ambientplay("amb_ext_spark_front"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_spark_fx.gsc b/AW/PC/maps/mp/mp_spark_fx.gsc new file mode 100644 index 0000000..540676b --- /dev/null +++ b/AW/PC/maps/mp/mp_spark_fx.gsc @@ -0,0 +1,68 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_spark_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:18:27 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["mp_spark_flare_rail"] = loadfx("vfx/map/mp_spark/mp_spark_flare_rail"); + level._effect["mp_spark_podlight_blink_2"] = loadfx("vfx/map/mp_spark/mp_spark_podlight_blink_2"); + level._effect["mp_spark_dust_linger_walkway"] = loadfx("vfx/map/mp_spark/mp_spark_dust_linger_walkway"); + level._effect["mp_spark_keyline_flare"] = loadfx("vfx/map/mp_spark/mp_spark_keyline_flare"); + level._effect["mp_spark_cool_flare"] = loadfx("vfx/map/mp_spark/mp_spark_cool_flare"); + level._effect["mp_spark_pipedrips"] = loadfx("vfx/map/mp_spark/mp_spark_pipedrips"); + level._effect["mp_spark_splash"] = loadfx("vfx/map/mp_spark/mp_spark_splash"); + level._effect["mp_spark_drop_pod_impact"] = loadfx("vfx/map/mp_spark/mp_spark_drop_pod_impact"); + level._effect["mp_spark_drop_pod"] = loadfx("vfx/map/mp_spark/mp_spark_drop_pod"); + level._effect["mp_spark_util_light"] = loadfx("vfx/map/mp_spark/mp_spark_util_light"); + level._effect["mp_spark_godray_fl_warm_b"] = loadfx("vfx/map/mp_spark/mp_spark_godray_fl_warm_b"); + level._effect["mp_spark_godray_fl_cool"] = loadfx("vfx/map/mp_spark/mp_spark_godray_fl_cool"); + level._effect["mp_spark_godray_fl_warm"] = loadfx("vfx/map/mp_spark/mp_spark_godray_fl_warm"); + level._effect["mp_spark_warm_flare"] = loadfx("vfx/map/mp_spark/mp_spark_warm_flare"); + level._effect["dlc_flare_light_spot_6_sm"] = loadfx("vfx/lensflare/dlc/dlc_flare_light_spot_6_sm"); + level._effect["mp_spark_large_flare"] = loadfx("vfx/map/mp_spark/mp_spark_large_flare"); + level._effect["mp_spark_small_flare"] = loadfx("vfx/map/mp_spark/mp_spark_small_flare"); + level._effect["mp_spark_elec_fence"] = loadfx("vfx/map/mp_spark/mp_spark_elec_fence"); + level._effect["mp_spark_trainlt_headlights"] = loadfx("vfx/map/mp_spark/mp_spark_trainlt_headlights"); + level._effect["mp_spark_trainlt_top"] = loadfx("vfx/map/mp_spark/mp_spark_trainlt_top"); + level._effect["mp_spark_waterpipe"] = loadfx("vfx/map/mp_spark/mp_spark_waterpipe"); + level._effect["mp_spark_podlight_blink"] = loadfx("vfx/map/mp_spark/mp_spark_podlight_blink"); + level._effect["mp_spark_fire_pod_ext"] = loadfx("vfx/map/mp_spark/mp_spark_fire_pod_ext"); + level._effect["mp_spark_dirtyflare"] = loadfx("vfx/map/mp_spark/mp_spark_dirtyflare"); + level._effect["mp_spark_godray_thin"] = loadfx("vfx/map/mp_spark/mp_spark_godray_thin"); + level._effect["mp_spark_elec_gyro_runner"] = loadfx("vfx/map/mp_spark/mp_spark_elec_gyro_runner"); + level._effect["mp_spark_godray_ground"] = loadfx("vfx/map/mp_spark/mp_spark_godray_ground"); + level._effect["dlc_sentry_disruptor_wave"] = loadfx("vfx/muzzleflash/dlc_sentry_disruptor_wave"); + level._effect["mp_spark_drip_boiler"] = loadfx("vfx/map/mp_spark/mp_spark_drip_boiler"); + level._effect["mp_spark_boilerbeams"] = loadfx("vfx/map/mp_spark/mp_spark_boilerbeams"); + level._effect["mp_spark_longflare"] = loadfx("vfx/map/mp_spark/mp_spark_longflare"); + level._effect["mp_spark_redlight_blink"] = loadfx("vfx/map/mp_spark/mp_spark_redlight_blink"); + level._effect["mp_spark_redlight_static"] = loadfx("vfx/map/mp_spark/mp_spark_redlight_static"); + level._effect["mp_spark_train_steam_low"] = loadfx("vfx/map/mp_spark/mp_spark_train_steam_low"); + level._effect["mp_spark_train_steam"] = loadfx("vfx/map/mp_spark/mp_spark_train_steam"); + level._effect["mp_spark_watersplash"] = loadfx("vfx/map/mp_spark/mp_spark_watersplash"); + level._effect["mp_spark_godray_int"] = loadfx("vfx/map/mp_spark/mp_spark_godray_int"); + level._effect["mp_spark_dust_linger"] = loadfx("vfx/map/mp_spark/mp_spark_dust_linger"); + level._effect["mp_spark_chim_smk"] = loadfx("vfx/map/mp_spark/mp_spark_chim_smk"); + level._effect["mp_spark_steam_cst_large"] = loadfx("vfx/map/mp_spark/mp_spark_steam_cst_large"); + level._effect["mp_spark_dust_falling_runner"] = loadfx("vfx/dust/dlc/mp_spark_dust_falling_runner"); + level._effect["fire_lrg_100x100_runner"] = loadfx("vfx/fire/fire_lrg_100x100_runner"); + level._effect["mp_spark_elec_runner"] = loadfx("vfx/map/mp_spark/mp_spark_elec_runner"); + level._effect["mp_spark_embers"] = loadfx("vfx/map/mp_spark/mp_spark_embers"); + level._effect["mp_spark_fire_fall_runner"] = loadfx("vfx/map/mp_spark/mp_spark_fire_fall_runner"); + level._effect["mp_spark_steam_easy_runner"] = loadfx("vfx/map/mp_spark/mp_spark_steam_easy_runner"); + level._effect["mp_spark_firelight"] = loadfx("vfx/map/mp_spark/mp_spark_firelight"); + level._effect["mp_spark_steam_burst_runner"] = loadfx("vfx/map/mp_spark/mp_spark_steam_burst_runner"); + level._effect["mp_spark_dust_blow_1"] = loadfx("vfx/map/mp_spark/mp_spark_dust_blow_1"); + level._effect["mp_spark_dest_smoke"] = loadfx("vfx/map/mp_spark/mp_spark_dest_smoke"); + level._effect["mp_spark_fire_edge"] = loadfx("vfx/map/mp_spark/mp_spark_fire_edge"); + level._effect["orbital_drop_pod_explode"] = loadfx("vfx/explosion/orbital_drop_pod_explode"); + level._effect["exo_armor_rocket_explosion"] = loadfx("vfx/explosion/exo_armor_rocket_explosion"); + level._effect["test_effect"] = loadfx("vfx/test/test_fx"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_spark_lighting.gsc b/AW/PC/maps/mp/mp_spark_lighting.gsc new file mode 100644 index 0000000..93d0941 --- /dev/null +++ b/AW/PC/maps/mp/mp_spark_lighting.gsc @@ -0,0 +1,34 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_spark_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 30 ms + * Timestamp: 4/22/2024 2:18:28 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setdvar("r_lightGridEnableTweaks",1); + setdvar("r_lightGridIntensity",1.33); + if(level.nextgen) + { + level.ospvisionset = "mp_spark_osp"; + level.osplightset = "mp_spark_osp"; + level.dronevisionset = "mp_spark_drone"; + level.dronelightset = "mp_spark_drone"; + level.warbirdvisionset = "mp_spark_warbird"; + level.warbirdlightset = "mp_spark_warbird"; + level.dnavisionset = "mp_spark_dna"; + setdvar("r_hemiAoEnable",0); + return; + } + + level.ospvisionset = "mp_spark_osp_cg"; + level.dronevisionset = "mp_spark_drone_cg"; + level.warbirdvisionset = "mp_spark_warbird_cg"; + level.dnavisionset = "mp_spark_dna_cg"; + setdvar("r_hemiAoEnable",0); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_spark_precache.gsc b/AW/PC/maps/mp/mp_spark_precache.gsc new file mode 100644 index 0000000..8c68c10 --- /dev/null +++ b/AW/PC/maps/mp/mp_spark_precache.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_spark_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 30 ms + * Timestamp: 4/22/2024 2:18:28 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_terrace.gsc b/AW/PC/maps/mp/mp_terrace.gsc new file mode 100644 index 0000000..f0e0367 --- /dev/null +++ b/AW/PC/maps/mp/mp_terrace.gsc @@ -0,0 +1,122 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_terrace.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 9 + * Decompile Time: 155 ms + * Timestamp: 4/22/2024 2:18:29 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\mp\mp_terrace_precache::main(); + maps\createart\mp_terrace_art::main(); + maps\mp\mp_terrace_fx::main(); + maps\mp\_load::main(); + maps\mp\mp_terrace_lighting::main(); + maps\mp\mp_terrace_aud::main(); + maps\mp\_compass::setupminimap("compass_map_mp_terrace"); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + level.allow_swimming = 0; + level thread maps\mp\_water::init(); + level.aerial_pathnode_group_connect_dist = 400; + level.mapcustomkillstreakfunc = ::terracecustomkillstreakfunc; + level thread init_turbines(); + level thread init_blimps(); + level thread init_bells(); + level.orbitalsupportoverridefunc = ::terracecustomospfunc; + level.ospvisionset = "mp_terrace_osp"; + level.osplightset = "mp_terrace_osp"; + level.dronevisionset = "mp_terrace_drone"; + level.dronelightset = "mp_terrace_drone"; + level.warbirdvisionset = "mp_terrace_warbird"; + level.warbirdlightset = "mp_terrace_warbird"; +} + +//Function Number: 2 +terracecustomospfunc() +{ + level.orbitalsupportoverrides.spawnanglemin = 180; + level.orbitalsupportoverrides.spawnanglemax = 270; + if(level.currentgen) + { + level.orbitalsupportoverrides.leftarc = 17.5; + level.orbitalsupportoverrides.rightarc = 17.5; + level.orbitalsupportoverrides.toparc = -35; + level.orbitalsupportoverrides.bottomarc = 60; + } +} + +//Function Number: 3 +terracecustomkillstreakfunc() +{ + level thread maps\mp\killstreaks\streak_mp_terrace::init(); +} + +//Function Number: 4 +init_turbines() +{ + var_00 = getentarray("turbine_blades","targetname"); + common_scripts\utility::array_thread(var_00,::turbine_spin); +} + +//Function Number: 5 +turbine_spin() +{ + var_00 = 1800; + var_01 = randomfloatrange(30,60); + for(;;) + { + self rotatevelocity((0,var_01,0),var_00); + wait(var_00); + } +} + +//Function Number: 6 +init_blimps() +{ + var_00 = getentarray("blimp","targetname"); + common_scripts\utility::array_thread(var_00,::blimp_run); +} + +//Function Number: 7 +blimp_run() +{ + var_00 = 600; + var_01 = self; + while(isdefined(var_01.target)) + { + var_01 = common_scripts\utility::getstruct(var_01.target,"targetname"); + if(!isdefined(var_01)) + { + return; + } + + self moveto(var_01.origin,var_00,var_00 * 0.1,var_00 * 0.1); + self rotateto(var_01.angles,var_00,var_00 * 0.1,var_00 * 0.1); + wait(var_00); + } +} + +//Function Number: 8 +init_bells() +{ + var_00 = getentarray("bell_collision","targetname"); + common_scripts\utility::array_thread(var_00,::bell_run); +} + +//Function Number: 9 +bell_run() +{ + self setcandamage(1); + self ghost(); + for(;;) + { + self.health = 1000; + self waittill("damage"); + self playsound("physics_bell_default"); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_terrace_aud.gsc b/AW/PC/maps/mp/mp_terrace_aud.gsc new file mode 100644 index 0000000..53627ae --- /dev/null +++ b/AW/PC/maps/mp/mp_terrace_aud.gsc @@ -0,0 +1,20 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_terrace_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 45 ms + * Timestamp: 4/22/2024 2:18:29 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level thread setup_audio(); +} + +//Function Number: 2 +setup_audio() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_terrace_fx.gsc b/AW/PC/maps/mp/mp_terrace_fx.gsc new file mode 100644 index 0000000..645eb0b --- /dev/null +++ b/AW/PC/maps/mp/mp_terrace_fx.gsc @@ -0,0 +1,80 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_terrace_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 37 ms + * Timestamp: 4/22/2024 2:18:30 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["mp_gb_water_splash_sm"] = loadfx("vfx/map/mp_greenband/mp_gb_water_splash_sm"); + level._effect["leaves_blowing_slow"] = loadfx("vfx/wind/leaves_blowing_slow"); + level._effect["mp_terrace_spot_flare2"] = loadfx("vfx/lights/mp_terrace/mp_terrace_spot_flare2"); + level._effect["mp_terrace_spot_flare"] = loadfx("vfx/lights/mp_terrace/mp_terrace_spot_flare"); + level._effect["mp_terrace_sign_flare2"] = loadfx("vfx/lights/mp_terrace/mp_terrace_sign_flare2"); + level._effect["ambient_wind_particles_slow"] = loadfx("vfx/wind/ambient_wind_particles_slow"); + level._effect["insects_moths_area_sml"] = loadfx("vfx/animal/insects_moths_area_sml"); + level._effect["insects_mosquitos_flying"] = loadfx("vfx/animal/insects_mosquitos_flying"); + level._effect["mp_terrace_wall_light_04d"] = loadfx("vfx/lights/mp_terrace/mp_terrace_wall_light_04d"); + level._effect["mp_terrace_wall_light_04c"] = loadfx("vfx/lights/mp_terrace/mp_terrace_wall_light_04c"); + level._effect["mp_terrace_hanging_light3"] = loadfx("vfx/lights/mp_terrace/mp_terrace_hanging_light3"); + level._effect["mp_gb_sparks_runner"] = loadfx("vfx/map/mp_greenband/mp_gb_sparks_runner"); + level._effect["mp_terrace_dust_ambient_int_sm"] = loadfx("vfx/map/mp_terrace/mp_terrace_dust_ambient_int_sm"); + level._effect["mp_terrace_spotlight_cone3"] = loadfx("vfx/lights/mp_terrace/mp_terrace_spotlight_cone3"); + level._effect["mp_terrace_spotlight_cone_purple"] = loadfx("vfx/lights/mp_terrace/mp_terrace_spotlight_cone_purple"); + level._effect["mp_terrace_spotlight_cone_red"] = loadfx("vfx/lights/mp_terrace/mp_terrace_spotlight_cone_red"); + level._effect["mp_terrace_spotlight_cone2"] = loadfx("vfx/lights/mp_terrace/mp_terrace_spotlight_cone2"); + level._effect["mp_terrace_sign_flare"] = loadfx("vfx/lights/mp_terrace/mp_terrace_sign_flare"); + level._effect["mp_terrace_jewelry_light"] = loadfx("vfx/lights/mp_terrace/mp_terrace_jewelry_light"); + level._effect["mp_terrace_hanging_light2"] = loadfx("vfx/lights/mp_terrace/mp_terrace_hanging_light2"); + level._effect["mp_terrace_hanging_light"] = loadfx("vfx/lights/mp_terrace/mp_terrace_hanging_light"); + level._effect["mp_terrace_standing_light2"] = loadfx("vfx/lights/mp_terrace/mp_terrace_standing_light2"); + level._effect["mp_terrace_wall_light_04b"] = loadfx("vfx/lights/mp_terrace/mp_terrace_wall_light_04b"); + level._effect["mp_terrace_wall_light_01b"] = loadfx("vfx/lights/mp_terrace/mp_terrace_wall_light_01b"); + level._effect["mp_terrace_wall_light_02c"] = loadfx("vfx/lights/mp_terrace/mp_terrace_wall_light_02c"); + level._effect["mp_terrace_wall_light_02b"] = loadfx("vfx/lights/mp_terrace/mp_terrace_wall_light_02b"); + level._effect["mp_terrace_window_glow"] = loadfx("vfx/lights/mp_terrace/mp_terrace_window_glow"); + level._effect["mp_terrace_wall_glow"] = loadfx("vfx/lights/mp_terrace/mp_terrace_wall_glow"); + level._effect["mp_terrace_tv_glow"] = loadfx("vfx/lights/mp_terrace/mp_terrace_tv_glow"); + level._effect["mp_terrace_candle_light"] = loadfx("vfx/lights/mp_terrace/mp_terrace_candle_light"); + level._effect["mp_terrace_torch_light"] = loadfx("vfx/lights/mp_terrace/mp_terrace_torch_light"); + level._effect["mp_terrace_standing_light"] = loadfx("vfx/lights/mp_terrace/mp_terrace_standing_light"); + level._effect["mp_terrace_wall_light_04"] = loadfx("vfx/lights/mp_terrace/mp_terrace_wall_light_04"); + level._effect["mp_terrace_wall_light_03"] = loadfx("vfx/lights/mp_terrace/mp_terrace_wall_light_03"); + level._effect["mp_terrace_wall_light_02"] = loadfx("vfx/lights/mp_terrace/mp_terrace_wall_light_02"); + level._effect["mp_terrace_wall_light_01"] = loadfx("vfx/lights/mp_terrace/mp_terrace_wall_light_01"); + level._effect["mp_terrace_spotlight_cone"] = loadfx("vfx/lights/mp_terrace/mp_terrace_spotlight_cone"); + level._effect["mp_terrace_fountain_wake"] = loadfx("vfx/map/mp_terrace/mp_terrace_fountain_wake"); + level._effect["mp_terrace_dust_ambient_ext"] = loadfx("vfx/map/mp_terrace/mp_terrace_dust_ambient_ext"); + level._effect["mp_terrace_dust_ambient_int"] = loadfx("vfx/map/mp_terrace/mp_terrace_dust_ambient_int"); + level._effect["mp_terrace_motes_blue"] = loadfx("vfx/map/mp_terrace/mp_terrace_motes_blue"); + level._effect["dust_blowing_ground_slow_runner"] = loadfx("vfx/dust/dust_blowing_ground_slow_runner"); + level._effect["light_dust_particles"] = loadfx("vfx/dust/light_dust_particles"); + level._effect["ambient_wind_streaks"] = loadfx("vfx/wind/ambient_wind_streaks"); + level._effect["wave_mist"] = loadfx("vfx/water/wave_mist"); + level._effect["wave_hit_large_mp_runner"] = loadfx("vfx/water/wave_hit_large_mp_runner"); + level._effect["breaking_wave_large_01"] = loadfx("vfx/water/breaking_wave_large_01"); + level._effect["falling_water_drip_circle_lg_runner_fast"] = loadfx("vfx/water/falling_water_drip_circle_lg_runner_fast"); + level._effect["mp_terrace_pool_bubbles"] = loadfx("vfx/map/mp_terrace/mp_terrace_pool_bubbles"); + level._effect["mp_terrace_pool_wake"] = loadfx("vfx/map/mp_terrace/mp_terrace_pool_wake"); + level._effect["mp_terrace_lightning"] = loadfx("vfx/map/mp_terrace/mp_terrace_lightning"); + level._effect["mp_terrace_distant_rain"] = loadfx("vfx/map/mp_terrace/mp_terrace_distant_rain"); + level._effect["mp_terrace_steamroom_mist_fast"] = loadfx("vfx/map/mp_terrace/mp_terrace_steamroom_mist_fast"); + level._effect["mp_terrace_shower_spray"] = loadfx("vfx/map/mp_terrace/mp_terrace_shower_spray"); + level._effect["mp_terrace_shower_01"] = loadfx("vfx/map/mp_terrace/mp_terrace_shower_01"); + level._effect["fire_campfire_small"] = loadfx("vfx/fire/fire_campfire_small"); + level._effect["fire_campfire"] = loadfx("vfx/fire/fire_campfire"); + level._effect["embers_constant_sm"] = loadfx("vfx/fire/embers_constant_sm"); + level._effect["insects_gnats_flying_heavy"] = loadfx("vfx/map/mp_dam/insects_gnats_flying_heavy"); + level._effect["insects_flies_landing_sm"] = loadfx("vfx/animal/insects_flies_landing_sm"); + level._effect["wood_piece_falling_sm_runner"] = loadfx("vfx/explosion/wood_piece_falling_sm_runner"); + level._effect["ambient_falling_leaves_infrequent"] = loadfx("vfx/wind/ambient_falling_leaves_infrequent"); + level._effect["mp_terrace_steamroom_mist_lt"] = loadfx("vfx/map/mp_terrace/mp_terrace_steamroom_mist_lt"); + level._effect["mp_terrace_steamroom_mist"] = loadfx("vfx/map/mp_terrace/mp_terrace_steamroom_mist"); + level._effect["sniper_drone_thruster_view"] = loadfx("vfx/distortion/sniper_drone_runner_idle_view"); + level._effect["sniper_drone_wind_marker"] = loadfx("vfx/map/greece/sniper_drone_wind_marker_runner"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_terrace_lighting.gsc b/AW/PC/maps/mp/mp_terrace_lighting.gsc new file mode 100644 index 0000000..ac61fa6 --- /dev/null +++ b/AW/PC/maps/mp/mp_terrace_lighting.gsc @@ -0,0 +1,33 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_terrace_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 62 ms + * Timestamp: 4/22/2024 2:18:30 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + thread set_level_lighting_values(); +} + +//Function Number: 2 +set_level_lighting_values() +{ + if(isusinghdr()) + { + thread setup_lighting(); + } +} + +//Function Number: 3 +setup_lighting() +{ + setdvar("r_lightGridEnableTweaks",1); + setdvar("r_lightGridIntensity",1.33); + setdvar("r_gunSightColorEntityScale","7"); + setdvar("r_gunSightColorNoneScale","0.8"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_terrace_precache.gsc b/AW/PC/maps/mp/mp_terrace_precache.gsc new file mode 100644 index 0000000..17a4ae9 --- /dev/null +++ b/AW/PC/maps/mp/mp_terrace_precache.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_terrace_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:18:31 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_torqued.gsc b/AW/PC/maps/mp/mp_torqued.gsc new file mode 100644 index 0000000..1bafa4e --- /dev/null +++ b/AW/PC/maps/mp/mp_torqued.gsc @@ -0,0 +1,1578 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_torqued.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 74 + * Decompile Time: 1419 ms + * Timestamp: 4/22/2024 2:18:35 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.callbackstartgametype = ::torqued_callbackstartgametype; + maps\mp\mp_torqued_precache::main(); + maps\createart\mp_torqued_art::main(); + maps\mp\mp_torqued_fx::main(); + torqued_set_lighting_state_patched(1,0); + maps\mp\_load::main(); + maps\mp\mp_torqued_lighting::main(); + maps\mp\mp_torqued_aud::main(); + maps\mp\_compass::setupminimap("compass_map_mp_torqued"); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + if(level.nextgen || isdedicatedserver() && getdvar("g_gametype") != "ball") + { + thread torqued_avalanche_setup(); + } + else + { + thread torqued_avalanche_disable(); + } + + maps\mp\_water::init(); + level.ospvisionset = "mp_torqued_osp"; + level.osplightset = "mp_torqued_osp"; + level.warbirdvisionset = "mp_torqued_osp"; + level.warbirdlightset = "mp_torqued_osp"; + level.vulcanvisionset = "mp_torqued_osp"; + level.vulcanlightset = "mp_torqued_osp"; + level.skip_bot_node_checks = 1; + common_scripts\utility::flag_init("event_fatal_damage"); + precacherumble("tank_rumble"); + precacherumble("damage_light"); + precacheshellshock("default"); + if(level.nextgen) + { + precachempanim("trq_gondola_car_swing_01"); + precachempanim("trq_gondola_car_swing_02"); + precachempanim("trq_gondola_car_swing_03"); + precachempanim("trq_gondola_car_swinghard_01"); + precachempanim("trq_avalanche_pine_tree01"); + precachempanim("trq_avalanche_pine_tree02"); + } + + precachempanim("trq_hanglights_02_swing_calm_light00"); + precachempanim("trq_hanglights_02_swing_calm_light01"); + precachempanim("trq_hanglights_02_swing_calm_light02"); + precachempanim("trq_hanglights_02_swing_calm_light03"); + precachempanim("trq_hanglights_02_swing_calm_light04"); + precachempanim("trq_hanglights_02_swing_calm_light05"); + precachempanim("trq_hanglights_02_swing_calm_light06"); + precachempanim("trq_hanglights_02_swing_hard_light00"); + precachempanim("trq_hanglights_02_swing_hard_light01"); + precachempanim("trq_hanglights_02_swing_hard_light02"); + precachempanim("trq_hanglights_02_swing_hard_light03"); + precachempanim("trq_hanglights_02_swing_hard_light04"); + precachempanim("trq_hanglights_02_swing_hard_light05"); + precachempanim("trq_hanglights_02_swing_hard_light06"); + precachempanim("trq_hanglights_03_swing_calm_light00"); + precachempanim("trq_hanglights_03_swing_calm_light01"); + precachempanim("trq_hanglights_03_swing_calm_light02"); + precachempanim("trq_hanglights_03_swing_calm_light03"); + precachempanim("trq_hanglights_03_swing_hard_light00"); + precachempanim("trq_hanglights_03_swing_hard_light01"); + precachempanim("trq_hanglights_03_swing_hard_light02"); + precachempanim("trq_hanglights_03_swing_hard_light03"); + precachempanim("trq_hanglights_04_swing_calm_light00"); + precachempanim("trq_hanglights_04_swing_calm_light01"); + precachempanim("trq_hanglights_04_swing_calm_light02"); + precachempanim("trq_hanglights_04_swing_calm_light03"); + precachempanim("trq_hanglights_04_swing_calm_light04"); + precachempanim("trq_hanglights_04_swing_calm_light05"); + precachempanim("trq_hanglights_04_swing_hard_light00"); + precachempanim("trq_hanglights_04_swing_hard_light01"); + precachempanim("trq_hanglights_04_swing_hard_light02"); + precachempanim("trq_hanglights_04_swing_hard_light03"); + precachempanim("trq_hanglights_04_swing_hard_light04"); + precachempanim("trq_hanglights_04_swing_hard_light05"); + level.orbitalsupportoverridefunc = ::torquedpaladinoverrides; + thread torquedairstrieoverrides(); + thread scriptpatchclip(); + thread scriptkilltrigger(); + thread movewarbirdspawn(); + if(level.nextgen) + { + thread merry_go_round_setup(); + thread gondola_anims(); + thread tree_anims(); + } + else + { + if(isdedicatedserver()) + { + thread merry_go_round_setup(); + } + else + { + thread merry_go_round_disable(); + } + + thread gondola_anims_disable(); + thread tree_anims_disable(); + } + + thread christmas_light_anims(); + thread event_path_swap(); + thread event_bcs_trigger_swap(); + thread scorestreak_blockers(); + if(level.currentgen) + { + level.prevragdollstartvalue = getdvar("r_ragdollStartHeight"); + setdvar("r_ragdollStartHeight",600); + thread setcgragdolldvar(level.prevragdollstartvalue); + } +} + +//Function Number: 2 +scriptkilltrigger() +{ + thread spawnkilltriggerthink((-876,-2008,641.379),128,128); +} + +//Function Number: 3 +spawnkilltriggerthink(param_00,param_01,param_02) +{ + level endon("game_ended"); + var_03 = spawn("trigger_radius",param_00,0,param_01,param_02); + if(!isdefined(var_03)) + { + return; + } + + for(;;) + { + var_03 waittill("trigger",var_04); + if(isdefined(var_04) && isdefined(var_04.health)) + { + if(isplayer(var_04) || isbot(var_04)) + { + var_04 dodamage(var_04.health + 999,var_03.origin); + } + } + } +} + +//Function Number: 4 +movewarbirdspawn() +{ + var_00 = (2372,612,2164); + var_01 = (2152,634,2164); + var_02 = getentarray("script_origin","classname"); + foreach(var_04 in var_02) + { + var_05 = distance(var_04.origin,var_00); + if(var_05 <= 5) + { + var_04.origin = var_01; + break; + } + } +} + +//Function Number: 5 +torqued_callbackstartgametype() +{ + maps\mp\gametypes\_gamelogic::callback_startgametype(); + common_scripts\_bcs_location_trigs_dlc::bcs_location_trigs_dlc_init(); +} + +//Function Number: 6 +scorestreak_blockers() +{ + wait 0.05; + if(!isdefined(level.goliath_bad_landing_volumes)) + { + level.goliath_bad_landing_volumes = []; + } + + level.goliath_bad_landing_volumes = getentarray("no_streak_goliath","targetname"); + level.drop_pod_bad_places = getentarray("drop_pod_bad_place","targetname"); + foreach(var_01 in level.drop_pod_bad_places) + { + level.orbital_util_covered_volumes[level.orbital_util_covered_volumes.size] = var_01; + } +} + +//Function Number: 7 +christmas_light_anims() +{ + var_00 = getent("anim_node_christmas_lights","targetname"); + var_01 = getentarray("lights_02","targetname"); + var_02 = getentarray("lights_03","targetname"); + var_03 = getentarray("lights_04","targetname"); + var_04 = []; + var_04 = common_scripts\utility::array_combine(var_04,var_01); + var_04 = common_scripts\utility::array_combine(var_04,var_02); + var_04 = common_scripts\utility::array_combine(var_04,var_03); + var_05 = 0; + var_06 = 0; + var_07 = 0; + foreach(var_09 in var_01) + { + var_0A = "trq_hanglights_02_swing_calm_light0" + var_05; + var_09 scriptmodelplayanimdeltamotionfrompos(var_0A,var_00.origin,var_00.angles); + var_05++; + wait(0.15); + } + + foreach(var_09 in var_02) + { + var_0A = "trq_hanglights_03_swing_calm_light0" + var_06; + var_09 scriptmodelplayanimdeltamotionfrompos(var_0A,var_00.origin,var_00.angles); + var_06++; + wait(0.15); + } + + foreach(var_09 in var_03) + { + var_0A = "trq_hanglights_04_swing_calm_light0" + var_07; + var_09 scriptmodelplayanimdeltamotionfrompos(var_0A,var_00.origin,var_00.angles); + var_07++; + wait(0.15); + } + + level waittill("avalanche_start"); + foreach(var_09 in var_04) + { + var_09 scriptmodelclearanim(); + wait 0.05; + } + + var_05 = 0; + var_06 = 0; + var_07 = 0; + foreach(var_09 in var_01) + { + var_0A = "trq_hanglights_02_swing_hard_light0" + var_05; + var_09 scriptmodelplayanimdeltamotionfrompos(var_0A,var_00.origin,var_00.angles); + var_05++; + wait(0.15); + } + + foreach(var_09 in var_02) + { + var_0A = "trq_hanglights_03_swing_hard_light0" + var_06; + var_09 scriptmodelplayanimdeltamotionfrompos(var_0A,var_00.origin,var_00.angles); + var_06++; + wait(0.15); + } + + foreach(var_09 in var_03) + { + var_0A = "trq_hanglights_04_swing_hard_light0" + var_07; + var_09 scriptmodelplayanimdeltamotionfrompos(var_0A,var_00.origin,var_00.angles); + var_07++; + wait(0.15); + } + + level waittill("avalanche_stop"); + foreach(var_09 in var_04) + { + var_09 scriptmodelclearanim(); + wait 0.05; + var_09 delete(); + } +} + +//Function Number: 8 +tree_anims_disable() +{ + var_00 = getentarray("tree_ent_01","targetname"); + var_01 = getentarray("tree_ent_02","targetname"); + foreach(var_03 in var_00) + { + var_03 setstatic(); + } + + foreach(var_03 in var_01) + { + var_03 setstatic(); + } +} + +//Function Number: 9 +tree_anims() +{ + var_00 = getentarray("tree_ent_01","targetname"); + var_01 = getentarray("tree_ent_02","targetname"); + var_02 = []; + foreach(var_04 in var_00) + { + var_04.anim_event = "trq_avalanche_pine_tree01"; + } + + foreach(var_04 in var_01) + { + var_04.anim_event = "trq_avalanche_pine_tree02"; + } + + var_02 = common_scripts\utility::array_combine(var_02,var_00); + var_02 = common_scripts\utility::array_combine(var_02,var_01); + level waittill("avalanche_start"); + foreach(var_04 in var_02) + { + wait(0.15); + var_04 scriptmodelplayanim(var_04.anim_event); + } +} + +//Function Number: 10 +gondola_anims_disable() +{ + var_00 = getentarray("gondola_swing","targetname"); + foreach(var_02 in var_00) + { + var_02 setstatic(); + } +} + +//Function Number: 11 +gondola_anims() +{ + var_00 = getentarray("gondola_swing","targetname"); + foreach(var_02 in var_00) + { + var_02 thread swinggondola(); + } +} + +//Function Number: 12 +swinggondola() +{ + var_00 = ["trq_gondola_car_swing_01","trq_gondola_car_swing_02","trq_gondola_car_swing_03"]; + wait(randomfloat(2.5)); + var_01 = randomint(3); + self scriptmodelplayanim(var_00[var_01]); +} + +//Function Number: 13 +setup_audio() +{ +} + +//Function Number: 14 +torqued_avalanche_setup() +{ + precacherumble("tank_rumble"); + precacherumble("damage_light"); + precacheshellshock("default"); + level.snowparticle01 = loadfx("fx/snow/snow_light_outdoor"); + level.snowexplosiondebris01 = loadfx("vfx/test/test_snow_impact_large01_runner"); + level.snowgustdebris01 = loadfx("fx/snow/snow_clifftop_jet_blow_runner"); + level.snowpuffmedium01 = loadfx("vfx/test/test_snow_puff_medium01_runner"); + level.snowflakesswirl01 = loadfx("fx/snow/radar_windy_snow"); + level.snowmistlarge01 = loadfx("fx/snow/snow_blizzard_radar"); + level.dynamicspawns = ::getlistofgoodspawnpoints; + if(!isdefined(level.dyneventavalanche)) + { + level.dyneventavalanche = spawnstruct(); + } + + level.dyneventavalanche.debugmode = 0; + level.dyneventavalanche.avalanchephase1time = 4; + level.dyneventavalanche.avalanchephase2time = 3; + level.dyneventavalanche.avalanchephase3time = 4; + level.dyneventavalanche.meshmovetime = undefined; + level.dyneventavalanche.mesh1moveunits = 184; + level.dyneventavalanche.mesh2moveunits = 128; + level.dyneventavalanche.killgraceperiod = 5; + level.dyneventavalanche.status = "pre_avalanche"; + level.dyneventavalanche.snowexplosionarray = common_scripts\utility::getstructarray("avalanche_explosion01","targetname"); + level.dyneventavalanche.snowdebrisarray = common_scripts\utility::getstructarray("avalanche_debris_gust01","targetname"); + level.dyneventavalanche.snowpuffmediumarray = common_scripts\utility::getstructarray("avalanche_street_medium_puff01","targetname"); + level.dyneventavalanche.snowflakesswirlarray = common_scripts\utility::getstructarray("avalanche_flakes01","targetname"); + level.dyneventavalanche.snowmistlargearray = common_scripts\utility::getstructarray("avalanche_mist_large01","targetname"); + level.dyneventavalanche.quakearray = common_scripts\utility::getstructarray("rumble_quake01","targetname"); + level.dyneventavalanche.killvolumearray = getentarray("quake_kill_volume01","targetname"); + level.dyneventavalanche.quakesmallarray = common_scripts\utility::getstructarray("rumble_quake_small01","targetname"); + level.dyneventavalanche.snowmesh01 = getent("snow_ground01","targetname"); + level.dyneventavalanche.snowmesh02 = getent("snow_ground02","targetname"); + level.dyneventavalanche.preeventscriptables = getscriptablearray("pre_event_scriptable","targetname"); + level.dyneventavalanche.posteventscriptables = getscriptablearray("post_event_scriptable","targetname"); + level.dyneventavalanche.preeventdynents = getentarray("pre_event_dynent","targetname"); + level.dyneventavalanche.posteventdynents = getentarray("post_event_dynent","targetname"); + level.dyneventavalanche.soundlocations = common_scripts\utility::getstructarray("avalanche_sound01","targetname"); + level thread maps\mp\_dynamic_events::dynamicevent(::torqued_avalanche_start,::torqued_avalanche_reset,::torqued_avalanche_end); + thread hidepostdestructibles(); +} + +//Function Number: 15 +torqued_avalanche_disable() +{ + var_00 = getentarray("quake_kill_volume01","targetname"); + foreach(var_02 in var_00) + { + var_02 delete(); + } + + var_02 = getent("snow_ground01","targetname"); + if(isdefined(var_02)) + { + var_02 setstatic(); + } + + var_02 = getent("snow_ground02","targetname"); + if(isdefined(var_02)) + { + var_02 setstatic(); + } + + var_00 = getscriptablearray("pre_event_scriptable","targetname"); + foreach(var_02 in var_00) + { + var_02 setstatic(); + } + + var_00 = getentarray("pre_event_scriptable","targetname"); + foreach(var_02 in var_00) + { + if(var_02.model != "trq_giant_holiday_tree_01" && var_02.model != "trq_giant_holiday_tree_02" && var_02.model != "trq_wooden_door_01" && var_02.model != "rec_safehouse_door_wood_cgdlc1" && var_02.model != "greece_cafepastrydisplay_01") + { + var_02 setstatic(); + } + } + + var_00 = getentarray("pre_event_dynent","targetname"); + foreach(var_02 in var_00) + { + var_02 setstatic(); + } + + var_00 = getscriptablearray("post_event_scriptable","targetname"); + foreach(var_02 in var_00) + { + var_02 delete(); + } + + var_00 = getentarray("post_event_scriptable","targetname"); + foreach(var_02 in var_00) + { + var_02 delete(); + } + + var_00 = getentarray("post_event_dynent","targetname"); + foreach(var_02 in var_00) + { + var_02 delete(); + } +} + +//Function Number: 16 +getlistofgoodspawnpoints(param_00) +{ + var_01 = []; + foreach(var_03 in param_00) + { + if(!isdefined(var_03.targetname) || var_03.targetname == "" || var_03.targetname == "none") + { + var_01 = common_scripts\utility::add_to_array(var_01,var_03); + continue; + } + + if(var_03 getavalanchespawns() == 1) + { + var_01 = common_scripts\utility::add_to_array(var_01,var_03); + } + } + + return var_01; +} + +//Function Number: 17 +getavalanchespawns() +{ + if(level.dyneventavalanche.status == "pre_avalanche") + { + if(self.targetname != "spawner_post_avalanche") + { + return 1; + } + } + else if(level.dyneventavalanche.status == "post_avalanche") + { + if(self.targetname != "spawner_pre_avalanche") + { + return 1; + } + } + else if(level.dyneventavalanche.status == "during_avalanche") + { + } + + return 0; +} + +//Function Number: 18 +hidepostdestructibles() +{ + foreach(var_01 in level.dyneventavalanche.posteventscriptables) + { + var_01 setscriptablepartstate("root_part","hidden_state"); + } + + foreach(var_04 in level.dyneventavalanche.posteventdynents) + { + var_04 hide(); + } +} + +//Function Number: 19 +swapdestructibles() +{ + foreach(var_01 in level.dyneventavalanche.preeventscriptables) + { + var_01 setscriptablepartstate("root_part","hidden_state"); + } + + foreach(var_04 in level.dyneventavalanche.preeventdynents) + { + var_04 hide(); + } + + foreach(var_01 in level.dyneventavalanche.posteventscriptables) + { + var_01 setscriptablepartstate("root_part","intact_state_01"); + } + + foreach(var_04 in level.dyneventavalanche.posteventdynents) + { + var_04 show(); + } +} + +//Function Number: 20 +scriptablelightstatechange() +{ + var_00 = getscriptablearray("destroy_light","targetname"); + foreach(var_02 in var_00) + { + var_02 setscriptablepartstate(0,1); + wait(5); + var_02 setscriptablepartstate(0,3); + } + + var_04 = getscriptablearray("damaged_light","targetname"); + foreach(var_06 in var_04) + { + var_06 setscriptablepartstate(0,1); + } + + var_08 = getscriptablearray("damaged_light_2","targetname"); + foreach(var_0A in var_08) + { + var_0A setscriptablepartstate(0,1); + } + + var_0C = getscriptablearray("light_fixture_damaged","targetname"); + foreach(var_0E in var_0C) + { + var_0E setscriptablepartstate(0,1); + } +} + +//Function Number: 21 +dropavalanchespawnpointstonewground() +{ + if(isdefined(level.spawnpoints)) + { + foreach(var_01 in level.spawnpoints) + { + if(isdefined(var_01.targetname)) + { + var_01.droptoground = 1; + } + } + } +} + +//Function Number: 22 +movemeshafterstart(param_00) +{ + self.origin = self.origin + (0,0,param_00 * -1); +} + +//Function Number: 23 +torqued_show_solid() +{ + if(isdefined(self.oldcontents)) + { + self setcontents(self.oldcontents); + } + + if(isdefined(self.lightingstate) && self.lightingstate == 2) + { + if(isdefined(self.original_origin)) + { + self dontinterpolate(); + self.origin = self.original_origin; + } + } + + self show(); +} + +//Function Number: 24 +torqued_hide_notsolid() +{ + if(!isdefined(self.oldcontents)) + { + self.oldcontents = self setcontents(0); + self dontinterpolate(); + self.original_origin = self.origin; + self.origin = self.origin + (0,0,-2000); + } + + self hide(); +} + +//Function Number: 25 +torqued_set_lighting_state_patched(param_00,param_01) +{ + var_02 = getentarray(); + setomnvar("lighting_state",param_00); + if(!getdvarint("r_reflectionProbeGenerate")) + { + foreach(var_04 in var_02) + { + if(isdefined(var_04.lightingstate) && var_04.classname == "script_brushmodel" || var_04.classname == "script_model") + { + if(var_04.lightingstate == 0) + { + continue; + } + + if(var_04.lightingstate == param_00) + { + var_04 torqued_show_solid(); + var_04 allowriotshieldplant(); + continue; + } + + if(isdefined(param_01) && param_01) + { + var_04 hide(); + var_04 thread delaydelete(0.1); + continue; + } + + var_04 torqued_hide_notsolid(); + } + } + } +} + +//Function Number: 26 +delaydelete(param_00) +{ + wait(param_00); + self delete(); +} + +//Function Number: 27 +torqued_avalanche_start() +{ + level.dyneventavalanche.status = "during_avalanche"; + level notify("avalanche_start"); + thread aud_avalanche_setup(); + thread startquakerumble(level.dyneventavalanche.quakearray,level.dyneventavalanche.quakesmallarray); + thread avalanchesound(level.dyneventavalanche.soundlocations); + thread maps\mp\mp_torqued_fx::window_swap_fx(); + thread maps\mp\mp_torqued_fx::avalanche_fx(); + thread maps\mp\mp_torqued_fx::avalanche_impact_fx(); + thread maps\mp\mp_torqued_fx::coffee_window_back_shatter(); + thread maps\mp\mp_torqued_fx::coffee_window_front_shatter(); + thread maps\mp\mp_torqued_fx::trq_window_front_shatter(); + thread maps\mp\mp_torqued_fx::boardstore_window_back_shatter(); + thread maps\mp\mp_torqued_fx::boardstore_window_front_shatter(); + thread maps\mp\mp_torqued_fx::lodge_window_front_shatter(); + thread scriptablelightstatechange(); + thread maps\mp\mp_torqued_fx::roof_falling_snow_chunk_fx(); + thread maps\mp\mp_torqued_fx::snow_edge_runoff_fx(); + thread maps\mp\mp_torqued_fx::snow_edge_runoff_stop_fx(); + wait(level.dyneventavalanche.avalanchephase1time); + level notify("rumble_stop"); + wait(0.05); + thread rumbleoutro(level.dyneventavalanche.quakearray); + wait(level.dyneventavalanche.killgraceperiod); + thread killvolumethink(level.dyneventavalanche.killvolumearray); + thread maps\mp\mp_torqued_fx::avalanche_treeline_impact_fx(); + thread maps\mp\mp_torqued_fx::alley_snow_fx(); + level.dyneventavalanche.meshmovetime = level.dyneventavalanche.avalanchephase2time; + wait(level.dyneventavalanche.avalanchephase2time + 2); + foreach(var_01 in level.dyneventavalanche.killvolumearray) + { + var_01 thread killobjectsundersnow(); + var_01 thread resetspectatorsundersnow(); + } + + if(isdefined(level.ishorde) && level.ishorde) + { + level.hordeavalanche = 1; + level hordeavalanchekilleverything(level.dyneventavalanche.killvolumearray); + } + + common_scripts\utility::flag_set("event_fatal_damage"); + if(level.currentgen) + { + thread avalanchescreenfade(); + } + + wait(1); + level notify("avalanche_stop"); + level notify("rumble_stop"); + wait(0.05); + thread maps\mp\mp_torqued_fx::avalanche_hide_geo_fx(); + torqued_set_lighting_state_patched(2,1); + swapdestructibles(); + thread rumbleoutro(level.dyneventavalanche.quakearray); + thread avalanchesound(level.dyneventavalanche.soundlocations); + thread maps\mp\mp_torqued_fx::electrical_spark_fx(); + thread maps\mp\mp_torqued_fx::avalanche_snow_linger_fx(); + wait(level.dyneventavalanche.avalanchephase3time); + foreach(var_01 in level.dyneventavalanche.killvolumearray) + { + var_01 thread killobjectsundersnow(); + var_01 thread resetspectatorsundersnow(); + } + + level notify("avalanche_stop"); + level notify("rumble_stop"); + level.dyneventavalanche.status = "post_avalanche"; + dropavalanchespawnpointstonewground(); + level notify("avalanche_over"); +} + +//Function Number: 28 +avalanchescreenfade() +{ + var_00 = getentarray("avalanche_screen_fade_zone","targetname"); + var_01 = common_scripts\utility::getstructarray("avalanche_screen_fade_lospoint","targetname"); + foreach(var_03 in level.players) + { + var_04 = 0; + foreach(var_06 in var_00) + { + if(var_03 istouching(var_06)) + { + var_04 = 1; + break; + } + } + + if(var_04) + { + var_08 = 0; + var_09 = var_03 getvieworigin(); + var_0A = anglestoforward(var_03 getplayerangles()); + foreach(var_0C in var_01) + { + var_0D = var_0C.origin - var_09; + if(vectordot(var_0D,var_0A) >= 0.5 && bullettracepassed(var_09,var_0C.origin,0,undefined)) + { + var_08 = 1; + break; + } + } + + if(var_08) + { + var_03 playersetexpfog(0,350,0.363177,0.458081,0.54287,9,0.8,1); + var_03 thread avalanchescreenfade_shellshock(0.75); + } + } + } + + wait(2.25); + clearfog(1.5); +} + +//Function Number: 29 +avalanchescreenfade_shellshock(param_00) +{ + self endon("death"); + wait(param_00); + self shellshock("stun_grenade_mp",2,1,0,0); +} + +//Function Number: 30 +avalanchesound(param_00) +{ + foreach(var_02 in param_00) + { + var_02 thread playavalanchesound(); + } +} + +//Function Number: 31 +playavalanchesound() +{ + level endon("avalanche_stop"); + wait(randomfloatrange(0.1,0.3)); + for(;;) + { + maps\mp\_utility::playsoundinspace("mp_torqued_avalanche01",self.origin); + wait(randomfloatrange(1.5,2.5)); + } +} + +//Function Number: 32 +movesnowmesh(param_00,param_01) +{ + self movez(param_01 * 0.5,param_00 * 0.25); + self waittill("movedone"); + self movez(param_01 * 0.5,param_00 * 0.75); + self waittill("movedone"); +} + +//Function Number: 33 +hordeavalanchekilleverything(param_00) +{ + var_01 = getentarray("trigger_hurt","classname"); + var_02 = var_01[0]; + foreach(var_04 in param_00) + { + foreach(var_06 in level.players) + { + if(isdefined(var_06.turret) && !var_06.iscarrying && isdefined(var_06.turret.damagetaken) && var_06.turret.damagetaken < var_06.turret.maxhealth) + { + if(var_06.turret istouching(var_04)) + { + hordeavalanchekillobject(var_06.turret,var_02); + } + } + + if(isdefined(var_06.aerialassaultdrone)) + { + if(var_06.aerialassaultdrone istouching(var_04)) + { + var_06.aerialassaultdrone dodamage(10000,var_06.aerialassaultdrone.origin,var_06,var_06,"MOD_EXPLOSIVE","killstreak_emp_mp"); + } + } + } + + foreach(var_09 in level.participants) + { + if(var_09 istouching(var_04)) + { + hordeavalanchekillobject(var_09,var_02); + } + } + + foreach(var_0C in level.flying_attack_drones) + { + if(var_0C istouching(var_04)) + { + hordeavalanchekillobject(var_0C,var_02); + } + } + + foreach(var_0F in level.hordesentryarray) + { + if(var_0F istouching(var_04)) + { + hordeavalanchekillobject(var_0F,var_02); + } + } + + if(isdefined(level.carepackages)) + { + foreach(var_12 in level.carepackages) + { + if(ispointinvolume(var_12.origin,var_04)) + { + if(var_12.cratetype == "juggernaut") + { + var_12 maps\mp\killstreaks\_juggernaut::deletegoliathpod(); + } + else if(!isdefined(var_12.en_route_in_air) || !var_12.en_route_in_air) + { + var_12 maps\mp\killstreaks\_airdrop::deletecrate(); + } + + level.carepackages = common_scripts\utility::array_remove(level.carepackages,var_12); + } + } + } + } +} + +//Function Number: 34 +hordeavalanchekillobject(param_00,param_01) +{ + param_00 dodamage(10000,param_00.origin,param_01,param_01,"MOD_TRIGGER_HURT","none"); +} + +//Function Number: 35 +killvolumethink(param_00) +{ + level endon("avalanche_stop"); + for(;;) + { + if(!isdefined(level.players)) + { + wait(1); + continue; + } + + foreach(var_02 in param_00) + { + var_02 thread volumekill(); + } + + break; + } +} + +//Function Number: 36 +volumekill() +{ + level endon("avalanche_stop"); + var_00 = 5; + var_01 = 0; + for(;;) + { + if(var_01 >= 4) + { + var_00 = 10; + } + + foreach(var_03 in level.participants) + { + if(var_03 istouching(self)) + { + var_03 dodamage(var_00,var_03.origin); + if(isplayer(var_03)) + { + var_03 shellshock("default",2); + } + + if(common_scripts\utility::flag("event_fatal_damage")) + { + var_03 dodamage(10000,var_03.origin); + } + } + } + + var_01++; + wait(0.6); + } +} + +//Function Number: 37 +phaseoneavalancheparticles(param_00,param_01,param_02) +{ + foreach(var_04 in param_01) + { + var_04 thread particlethink(level.snowgustdebris01); + } + + if(isdefined(param_00)) + { + foreach(var_04 in param_00) + { + var_04 thread particlethink(level.snowexplosiondebris01); + } + } + + foreach(var_04 in param_02) + { + var_04 thread particlethink(level.snowflakesswirl01); + } +} + +//Function Number: 38 +phasetwoavalancheparticles(param_00,param_01) +{ + foreach(var_03 in param_00) + { + var_03 thread particlethink(level.snowmistlarge01); + } + + wait(3); + foreach(var_03 in param_01) + { + var_03 thread particlethink(level.snowpuffmedium01); + } +} + +//Function Number: 39 +particlethink(param_00) +{ + var_01 = spawnfx(param_00,self.origin); + var_01.angles = self.angles; + triggerfx(var_01); + level waittill("avalanche_stop"); + var_01 delete(); +} + +//Function Number: 40 +rumbleoutro(param_00) +{ + var_01 = 768; + var_02 = "tank_rumble"; + var_03 = 0.2; + foreach(var_05 in level.players) + { + var_05 thread quake_outro_for_player(param_00); + } + + thread onplayerconnect(var_02); + thread rumblewatch(); +} + +//Function Number: 41 +startquakerumble(param_00,param_01) +{ + var_02 = "tank_rumble"; + var_03 = "damage_light"; + foreach(var_05 in level.players) + { + var_05 thread quake_for_player(param_00,param_01); + var_05 playrumblelooponentity(var_03); + var_05 thread onplayerspawned(var_03); + } + + thread onplayerconnect(var_02); + thread rumblewatch(); +} + +//Function Number: 42 +quake_outro_for_player(param_00) +{ + level endon("avalanche_stop"); + self endon("disconnect"); + var_01 = 1100; + var_02 = "tank_rumble"; + var_03 = 0.2; + for(;;) + { + while(!isalive(self)) + { + wait(0.2); + } + + var_04 = randomfloatrange(1,1.7); + play_closest_quake(param_00,var_03,var_04,var_01,var_02); + wait(var_04 - 0.2); + } +} + +//Function Number: 43 +quake_for_player(param_00,param_01) +{ + level endon("avalanche_stop"); + self endon("disconnect"); + var_02 = 1100; + var_03 = 1100; + var_04 = "tank_rumble"; + var_05 = 0.5; + var_06 = 0.2; + for(;;) + { + while(!isalive(self)) + { + wait(0.2); + } + + var_07 = 0; + var_08 = randomfloatrange(1,1.7); + var_07 = play_closest_quake(param_00,var_05,var_08,var_02,var_04); + if(!var_07) + { + play_closest_quake(param_01,var_06,var_08,var_03,undefined); + } + + wait(var_08 - 0.2); + } +} + +//Function Number: 44 +play_closest_quake(param_00,param_01,param_02,param_03,param_04) +{ + foreach(var_06 in param_00) + { + if(distancesquared(var_06.origin,self.origin) < param_03 * param_03) + { + earthquake(param_01,param_02,var_06.origin,param_03,self); + if(isdefined(param_04)) + { + playrumblelooponposition(param_04,var_06.origin); + } + + return 1; + } + } + + return 0; +} + +//Function Number: 45 +rumblewatch() +{ + level notify("RumbleWatchEnd"); + level endon("RumbleWatchEnd"); + level waittill("rumble_stop"); + stopallrumbles(); +} + +//Function Number: 46 +onplayerconnect(param_00) +{ + level notify("onPlayerConnectEnd"); + level endon("onPlayerConnectEnd"); + level endon("rumble_stop"); + for(;;) + { + level waittill("connected",var_01); + var_01 thread onplayerspawned(param_00); + } +} + +//Function Number: 47 +onplayerspawned(param_00) +{ + level endon("rumble_stop"); + for(;;) + { + self waittill("spawned_player"); + self playrumblelooponentity(param_00); + wait(0.05); + } +} + +//Function Number: 48 +torqued_avalanche_reset() +{ +} + +//Function Number: 49 +torqued_avalanche_end() +{ + thread scriptablelightstatechange(); + torqued_set_lighting_state_patched(2,1); + swapdestructibles(); + level notify("avalanche_stop"); + level.dyneventavalanche.status = "post_avalanche"; + dropavalanchespawnpointstonewground(); + level notify("avalanche_over"); +} + +//Function Number: 50 +torqued_playfxontag(param_00) +{ + if(isdefined(level.players)) + { + foreach(var_02 in level.players) + { + playfxontagforclients(level._effect[param_00],self,"TAG_FX_1",var_02); + } + } +} + +//Function Number: 51 +torqued_floor() +{ + var_00 = getent("trq_rockslide_floor","targetname"); + if(!isdefined(var_00)) + { + return; + } + + var_01 = 0.2; + var_02 = 40; + var_00 rotateroll(var_02,var_01); + wait(var_01); + var_00 notsolid(); + var_00 hide(); + level waittill("rocks_reset"); + var_00 solid(); + var_00 show(); + var_00 rotateroll(-1 * var_02,0.1); +} + +//Function Number: 52 +torquedpaladinoverrides() +{ + level.orbitalsupportoverrides.spawnanglemin = 30; + level.orbitalsupportoverrides.spawnanglemax = 120; + level.orbitalsupportoverrides.spawnheight = 7000; + level.orbitalsupportoverrides.spawnradius = 5000; + level.orbitalsupportoverrides.leftarc = 30; + level.orbitalsupportoverrides.rightarc = 30; + level.orbitalsupportoverrides.toparc = -32; + level.orbitalsupportoverrides.bottomarc = 67; +} + +//Function Number: 53 +torquedairstrieoverrides() +{ + if(!isdefined(level.airstrikeoverrides)) + { + level.airstrikeoverrides = spawnstruct(); + } + + level.airstrikeoverrides.spawnheight = 2000; +} + +//Function Number: 54 +merry_go_round_disable() +{ + var_00 = getent("merry_go_round_platform","targetname"); + var_01 = getent("merry_go_round_model","targetname"); + var_02 = getentarray("merry_go_round_cover","targetname"); + var_03 = getentarray("merry_go_round_reindeer","targetname"); + foreach(var_05 in var_02) + { + } + + foreach(var_05 in var_03) + { + } +} + +//Function Number: 55 +merry_go_round_setup() +{ + level endon("game_ended"); + var_00 = getent("merry_go_round_platform","targetname"); + var_01 = getentarray("merry_go_round_cover","targetname"); + var_02 = getentarray("merry_go_round_reindeer","targetname"); + var_03 = getent("merry_go_round_model","targetname"); + var_04 = 10; + foreach(var_06 in var_01) + { + var_06 linkto(var_00); + } + + foreach(var_06 in var_02) + { + var_06 linkto(var_00); + } + + var_03 linkto(var_00); + for(;;) + { + var_00 rotatevelocity((0,-10,0),var_04); + wait(var_04); + } +} + +//Function Number: 56 +event_path_swap() +{ + wait 0.05; + var_00 = getnodearray("path_event_before","targetname"); + var_01 = getnodearray("path_event_after","targetname"); + foreach(var_03 in var_01) + { + var_03 disconnectnode(); + wait 0.05; + } + + foreach(var_03 in var_00) + { + var_03 connectnode(); + wait 0.05; + } + + level waittill("avalanche_stop"); + foreach(var_03 in var_01) + { + var_03 connectnode(); + wait 0.05; + } +} + +//Function Number: 57 +event_bcs_trigger_swap() +{ + var_00 = getentarray("before_event_bcs","targetname"); + var_01 = getentarray("after_event_bcs","targetname"); + foreach(var_03 in var_01) + { + var_03 common_scripts\utility::trigger_off(); + } + + level waittill("avalanche_stop"); + foreach(var_03 in var_00) + { + var_03 common_scripts\utility::trigger_off(); + } + + foreach(var_03 in var_01) + { + var_03 common_scripts\utility::trigger_on(); + } +} + +//Function Number: 58 +killobjectsundersnow() +{ + level endon("game_ended"); + level endon("avalanche_stop"); + for(;;) + { + if(isdefined(level.turrets)) + { + foreach(var_01 in level.turrets) + { + if(var_01 istouching(self)) + { + var_01 notify("death"); + } + } + } + + if(isdefined(level.carepackages)) + { + foreach(var_04 in level.carepackages) + { + if(isdefined(var_04) && !isremovedentity(var_04) && ispointinvolume(var_04.origin,self)) + { + if(isdefined(var_04.cratetype) && var_04.cratetype != "juggernaut") + { + if(!isdefined(var_04.en_route_in_air) || !var_04.en_route_in_air) + { + var_04 maps\mp\killstreaks\_airdrop::deletecrate(1,1); + } + + continue; + } + + if(isdefined(var_04.cratetype) && var_04.cratetype == "juggernaut") + { + var_04 maps\mp\killstreaks\_juggernaut::deletegoliathpod(1,1); + } + } + } + } + + wait(0.05); + } +} + +//Function Number: 59 +resetspectatorsundersnow() +{ + level endon("game_ended"); + level endon("avalanche_stop"); + var_00 = getent("mp_global_intermission","classname"); + for(;;) + { + foreach(var_02 in level.players) + { + if(isdefined(var_02.team) && var_02.team == "spectator" && ispointinvolume(var_02.origin,self)) + { + var_02 spawn(var_00.origin,var_00.angles); + } + } + + wait(0.05); + } +} + +//Function Number: 60 +aud_avalanche_setup() +{ + thread aud_avalance_alarm(); + thread maps\mp\_audio::snd_play_in_space("mp_torqued_ty_initial_hit",(532,2030,1881)); + var_00 = thread maps\mp\_audio::snd_play_loop_in_space("mp_torqued_rumble_lp",(532,2030,1881),"aud_avalanche_stop"); + var_01 = thread maps\mp\_audio::snd_play_in_space("mp_torqued_avalance_main",(532,2030,1881)); + var_02 = thread maps\mp\_audio::snd_play_in_space("mp_torqued_avalanche_bg",(532,2030,1881)); + var_00 scalevolume(0,0.05); + var_01 scalevolume(0,0.05); + var_02 scalevolume(0,0.05); + wait(0.05); + var_00 scalevolume(0.8,10); + var_01 scalevolume(0.8,5); + var_02 scalevolume(0.8,5); + level waittill("avalanche_stop"); + thread maps\mp\_audio::snd_play_in_space("mp_torqued_avalanche_wall_crash_01",(532,2030,1881)); + thread maps\mp\_audio::snd_play_in_space("mp_torqued_avalanche_rockslide_02",(532,2030,1881)); + level notify("aud_avalanche_stop"); +} + +//Function Number: 61 +aud_avalance_alarm() +{ + var_00 = 2; + thread maps\mp\_audio::snd_play_in_space("mp_torqued_avalance_alarm",(0,0,0)); + wait(var_00); + thread maps\mp\_audio::snd_play_in_space("mp_torqued_avalance_alarm",(0,0,0)); + wait(var_00); + thread maps\mp\_audio::snd_play_in_space("mp_torqued_avalance_alarm",(0,0,0)); + wait(var_00); + thread maps\mp\_audio::snd_play_in_space("mp_torqued_avalance_alarm",(0,0,0)); + wait(var_00); + thread maps\mp\_audio::snd_play_in_space("mp_torqued_avalance_alarm",(0,0,0)); +} + +//Function Number: 62 +scriptpatchclip() +{ + thread nosightclipwall(); + thread vehicleclipdoors(); + thread addpropforbadtreeclip(); + thread playerclipoverhang(); + thread playerclipsnowguard(); + thread playerweirdjitteravalanchearea(); + thread recondronepushplayersthroughwall(); + thread cornercollisionspawngifts(); + thread tourismofficejumpthroughwall(); + if(level.nextgen) + { + thread treetipstuck_makeskypillar(); + } +} + +//Function Number: 63 +treetipstuck_makeskypillar() +{ + var_00 = 1231; + for(var_01 = 0;var_01 < 128;var_01++) + { + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-987,1495,var_00),(0,0,0)); + var_00 = var_00 + 32; + } +} + +//Function Number: 64 +tourismofficejumpthroughwall() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-1311,-1075,1016),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-1311,-1203,1016),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-1319,-1038,968),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-1319,-1070,968),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-1319,-1102,968),(0,0,0)); +} + +//Function Number: 65 +cornercollisionspawngifts() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-1449.26,-527.981,908),(0,38.4979,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-1449.26,-527.981,868),(0,38.4979,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-1436.74,-518.019,868),(0,38.4979,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-1436.74,-518.019,908),(0,38.4979,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_64_64",(-1449.26,-527.981,908),(0,38.4979,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_64_64",(-1449.26,-527.981,868),(0,38.4979,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_64_64",(-1436.74,-518.019,868),(0,38.4979,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_64_64",(-1436.74,-518.019,908),(0,38.4979,0)); + maps\mp\_utility::spawnpatchclip("patchclip_item_16_64_64",(-1449.26,-527.981,908),(0,38.4979,0)); + maps\mp\_utility::spawnpatchclip("patchclip_item_16_64_64",(-1449.26,-527.981,868),(0,38.4979,0)); + maps\mp\_utility::spawnpatchclip("patchclip_item_16_64_64",(-1436.74,-518.019,868),(0,38.4979,0)); + maps\mp\_utility::spawnpatchclip("patchclip_item_16_64_64",(-1436.74,-518.019,908),(0,38.4979,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-1444.13,-534.904,956.81),(0,38.4979,26.2994)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-1431.03,-524.403,956.814),(0,38.4979,26.2994)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-1432.14,-549.74,1021.44),(0,38.4979,26.2994)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-1419.04,-539.239,1021.43),(0,38.4979,26.2994)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_64_64",(-1444.13,-534.904,956.81),(0,38.4979,26.2994)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_64_64",(-1431.03,-524.403,956.814),(0,38.4979,26.2994)); + spawngift("trq_holiday_gift_boxes_01_snow_red",(-1452,-512,834),(0,37.9999,0)); + spawngift("trq_holiday_gift_boxes_01_snow",(-1449,-515,870),(360,37.9998,-3.80005)); + spawngift("trq_holiday_gift_boxes_01_snow_red",(-1449,-515,905),(360,37.9998,-3.80005)); + if(level.nextgen) + { + spawngift("trq_holiday_gift_boxes_sm_02_red_snow",(-1449.43,-526.952,942.026),(0,37,0)); + spawngift("trq_holiday_gift_boxes_sm_02_red_snow",(-1449.4,-527,956),(0,37,0)); + spawngift("trq_holiday_gift_boxes_sm_02_blue_snow",(-1447.4,-507,942),(0,217.3,0)); + return; + } + + spawngift("trq_holiday_gift_boxes_sm_02",(-1449.43,-526.952,942.026),(0,37,0)); + spawngift("trq_holiday_gift_boxes_sm_02",(-1449.4,-527,956),(0,37,0)); + spawngift("trq_holiday_gift_boxes_sm_02",(-1447.4,-507,942),(0,217.3,0)); +} + +//Function Number: 66 +spawngift(param_00,param_01,param_02) +{ + var_03 = spawn("script_model",param_01); + var_03.angles = param_02; + var_03 setmodel(param_00); +} + +//Function Number: 67 +recondronepushplayersthroughwall() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1051,-1496,724),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1051,-1591,724),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-931,-1567,746),(0,180,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-931,-1520,746),(0,180,0)); +} + +//Function Number: 68 +playerweirdjitteravalanchearea() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-336,742,1014),(90,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-336,998,1014),(90,0,0)); +} + +//Function Number: 69 +nosightclipwall() +{ + maps\mp\_utility::spawnpatchclip("patchclip_nosight_16_128_128",(-1082,-534,932),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_nosight_16_128_128",(-1210,-534,932),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_nosight_16_128_128",(-1338,-534,932),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_item_16_128_128",(-1082,-534,932),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_item_16_128_128",(-1210,-534,932),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_item_16_128_128",(-1338,-534,932),(0,270,0)); +} + +//Function Number: 70 +vehicleclipdoors() +{ + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(963,482,986),(0,299.2,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(-2078,572,960),(0,351,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_256_256",(-2118,319,960),(0,351,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_16_128_128",(980,498,1044),(0,300,0)); +} + +//Function Number: 71 +addpropforbadtreeclip() +{ + var_00 = spawn("script_model",(-594,547,1061)); + var_00 setmodel("trq_holiday_gift_boxes_01_snow_red"); + maps\mp\_utility::spawnpatchclip("patchclip_nosight_32_32_32",(-594,549,1077),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_item_16_64_64",(-604,533,1064),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_item_16_64_64",(-585,533,1064),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_item_16_64_64",(-595,533,1064),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(-594,549,1077),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_vehicle_32_32_32",(-594,549,1077),(0,0,0)); +} + +//Function Number: 72 +playerclipoverhang() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1460,-658,1312),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1460,-882,1312),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1288,-520,1308),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1092,-518,1308),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1348,-518,1308),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1468,-638,1308),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1468,-894,1308),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-560,440,1400),(0,45,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-640,440,1400),(0,135,0)); +} + +//Function Number: 73 +playerclipsnowguard() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(112,-901,1316),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(132,-820,1348),(0,315.3,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(132,-820,1284),(0,315.3,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(181,-799,1348),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(181,-799,1284),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1056,-520,1388),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1056,-520,1644),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1312,-520,1388),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1312,-520,1644),(0,270,0)); +} + +//Function Number: 74 +setcgragdolldvar(param_00) +{ + level waittill("game_ended"); + setdvar("r_ragdollStartHeight",param_00); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_torqued_aud.gsc b/AW/PC/maps/mp/mp_torqued_aud.gsc new file mode 100644 index 0000000..a5300b1 --- /dev/null +++ b/AW/PC/maps/mp/mp_torqued_aud.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_torqued_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 65 ms + * Timestamp: 4/22/2024 2:18:36 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_torqued_fx.gsc b/AW/PC/maps/mp/mp_torqued_fx.gsc new file mode 100644 index 0000000..8cc1246 --- /dev/null +++ b/AW/PC/maps/mp/mp_torqued_fx.gsc @@ -0,0 +1,292 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_torqued_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 20 + * Decompile Time: 341 ms + * Timestamp: 4/22/2024 2:18:38 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["fire_lp_s_base_no_embers"] = loadfx("vfx/fire/dlc/fire_lp_s_base_no_embers"); + level._effect["electrical_sparks_runner_no_impact_spawn"] = loadfx("vfx/explosion/electrical_sparks_runner_no_impact_spawn"); + level._effect["torqued_flou_flare_02"] = loadfx("vfx/map/mp_torqued/torqued_flou_flare_02"); + level._effect["torqued_flare_light_bulb_spot2"] = loadfx("vfx/lights/mp_torqued/torqued_flare_light_bulb_spot2"); + level._effect["torqued_flou_flare"] = loadfx("vfx/lights/mp_torqued/torqued_flou_flare"); + level._effect["mp_tor_river_mist"] = loadfx("vfx/map/mp_torqued/mp_tor_river_mist"); + level._effect["mp_tor_river_ice_chunks"] = loadfx("vfx/map/mp_torqued/mp_tor_river_ice_chunks"); + level._effect["glow_warm_lantern_lp"] = loadfx("vfx/lights/glow_warm_lantern_lp"); + level._effect["street_light_basic_glow"] = loadfx("vfx/lights/mp_torqued/street_light_basic_glow"); + level._effect["gondola_tower_sprite_light"] = loadfx("vfx/lights/mp_torqued/gondola_tower_sprite_light"); + level._effect["gondola_cabin_sprite_light"] = loadfx("vfx/lights/mp_torqued/gondola_cabin_sprite_light"); + level._effect["mp_tor_avalanche_impact_hide_view"] = loadfx("vfx/map/mp_torqued/mp_tor_avalanche_impact_hide_view"); + level._effect["mp_tor_avalanche_ground_splashes_sm"] = loadfx("vfx/map/mp_torqued/mp_tor_avalanche_ground_splashes_sm"); + level._effect["building_window_shatter_01_no_collision"] = loadfx("vfx/glass/building_window_shatter_01_no_collision"); + level._effect["steam_ambient_vents_light"] = loadfx("vfx/map/mp_dam/steam_ambient_vents_light"); + level._effect["avalanche_snow_wall"] = loadfx("vfx/snow/avalanche_snow_wall"); + level._effect["mp_tor_avalanche_snow_linger"] = loadfx("vfx/map/mp_torqued/mp_tor_avalanche_snow_linger"); + level._effect["mp_tor_avalanche_edge_runoff_2_stop"] = loadfx("vfx/map/mp_torqued/mp_tor_avalanche_edge_runoff_2_stop"); + level._effect["mp_tor_avalanche_edge_runoff_stop"] = loadfx("vfx/map/mp_torqued/mp_tor_avalanche_edge_runoff_stop"); + level._effect["mp_tor_avalanche_street_gust"] = loadfx("vfx/map/mp_torqued/mp_tor_avalanche_street_gust"); + level._effect["mp_tor_avalanche_edge_runoff_2"] = loadfx("vfx/map/mp_torqued/mp_tor_avalanche_edge_runoff_2"); + level._effect["mp_tor_avalanche_edge_runoff"] = loadfx("vfx/map/mp_torqued/mp_tor_avalanche_edge_runoff"); + level._effect["mp_tor_avalanche_ground_splashes"] = loadfx("vfx/map/mp_torqued/mp_tor_avalanche_ground_splashes"); + level._effect["electrical_sparks_runner"] = loadfx("vfx/explosion/electrical_sparks_runner"); + level._effect["mp_tor_avalanche_spill_over"] = loadfx("vfx/map/mp_torqued/mp_tor_avalanche_spill_over"); + level._effect["mp_tor_avalanche_init_snow_blast"] = loadfx("vfx/map/mp_torqued/mp_tor_avalanche_init_snow_blast"); + level._effect["mp_tor_snow_chunks_falling_2"] = loadfx("vfx/map/mp_torqued/mp_tor_snow_chunks_falling_2"); + level._effect["mp_tor_snow_chunks_fall_from_tree"] = loadfx("vfx/map/mp_torqued/mp_tor_snow_chunks_fall_from_tree"); + level._effect["birds_tree_flyout_noleaves"] = loadfx("vfx/animal/birds_tree_flyout_noleaves"); + level._effect["mp_tor_snow_chunks_falling"] = loadfx("vfx/map/mp_torqued/mp_tor_snow_chunks_falling"); + level._effect["falling_snow_lrg_runner"] = loadfx("vfx/snow/falling_snow_lrg_runner"); + level._effect["snow_light_wind_gust_runner"] = loadfx("vfx/snow/snow_light_wind_gust_runner"); + level._effect["snow_fall_particles"] = loadfx("vfx/snow/snow_fall_particles"); + level._effect["mp_torqued_event_hill_snow_i"] = loadfx("vfx/map/mp_torqued/mp_torqued_event_hill_snow_i"); + level._effect["mp_torqued_event_leaves"] = loadfx("vfx/map/mp_torqued/mp_torqued_event_leaves"); + level._effect["mp_torqued_event_metalhit"] = loadfx("vfx/map/mp_torqued/mp_torqued_event_metalhit"); + level._effect["torqued_killstreak_death"] = loadfx("vfx/map/mp_torqued/torqued_killstreak_death"); + level._effect["mp_torqued_electric_trail"] = loadfx("vfx/map/mp_torqued/mp_torqued_electric_trail"); + level._effect["mp_torqued_energy_trail"] = loadfx("vfx/map/mp_torqued/mp_torqued_energy_trail"); + level._effect["charged_shot_2_trail_blue"] = loadfx("vfx/trail/charged_shot_2_trail_blue"); + level._effect["mp_torqued_energy_impact"] = loadfx("vfx/map/mp_torqued/mp_torqued_energy_impact"); + level._effect["mp_torqued_shock_impact"] = loadfx("vfx/map/mp_torqued/mp_torqued_shock_impact"); + level._effect["birds_tree_flyout_sm"] = loadfx("vfx/animal/birds_tree_flyout_sm"); + level._effect["mp_torqued_paper_ground_linger"] = loadfx("vfx/map/mp_torqued/mp_torqued_paper_ground_linger"); + level._effect["fire_crawl_interior_wall_small"] = loadfx("vfx/fire/fire_crawl_interior_wall_small"); + level._effect["pine_needles_blowing"] = loadfx("vfx/wind/pine_needles_blowing"); + level._effect["ground_snow_drifts_flat_lp2"] = loadfx("vfx/snow/ground_snow_drifts_flat_lp2"); + level._effect["mp_torqued_dust_ambient_int"] = loadfx("vfx/map/mp_torqued/mp_torqued_dust_ambient_int"); + level._effect["dust_particles_sml"] = loadfx("vfx/dust/dust_particles_sml"); + level._effect["car_exhaust_winter"] = loadfx("vfx/smoke/car_exhaust_winter"); + level._effect["mail_blowing_04_looping"] = loadfx("vfx/wind/mail_blowing_04_looping"); + level._effect["bird_vulture_circle_runner_less"] = loadfx("vfx/animal/bird_vulture_circle_runner_less"); + level._effect["mp_gb_sparks_runner"] = loadfx("vfx/map/mp_greenband/mp_gb_sparks_runner"); + level._effect["mp_torqued_steam_int_vent"] = loadfx("vfx/map/mp_torqued/mp_torqued_steam_int_vent"); + level._effect["light_glow_white_square"] = loadfx("vfx/lights/global/light_glow_white_square"); + level._effect["mp_gb_light_uplight"] = loadfx("vfx/map/mp_torqued/mp_torqued_light_uplight"); + level._effect["trash_tornado_s_runner"] = loadfx("vfx/wind/trash_tornado_s_runner"); + level._effect["pine_needles_fall_2"] = loadfx("vfx/wind/pine_needles_fall_2"); + level._effect["steam_sm_street_cold"] = loadfx("vfx/steam/steam_sm_street_cold"); + level._effect["light_godray_torqued_train_01"] = loadfx("vfx/lights/light_godray_torqued_train_01"); + level._effect["mp_torqued_steam_int"] = loadfx("vfx/map/mp_torqued/mp_torqued_steam_int"); + level._effect["snow_blown_off_rocks_lp"] = loadfx("vfx/snow/snow_blown_off_rocks_lp"); + level._effect["mp_torqued_chimney"] = loadfx("vfx/map/mp_torqued/mp_torqued_chimney"); + level._effect["fire_lp_s_base"] = loadfx("vfx/fire/dlc/fire_lp_s_base"); + level._effect["lgtfix_construction_barrel_light"] = loadfx("vfx/lights/lgt_fixtures/lgtfix_construction_barrel_light"); + if(level.nextgen) + { + thread window_broken_hide_fx(); + } +} + +//Function Number: 2 +roof_falling_snow_chunk_fx() +{ + var_00 = level.dyneventavalanche.avalanchephase1time + level.dyneventavalanche.avalanchephase2time + level.dyneventavalanche.avalanchephase3time; + wait 0.05; + activateclientexploder(200); + wait(var_00); + stopclientexploder(200); +} + +//Function Number: 3 +snow_edge_runoff_fx() +{ + wait(1); + activateclientexploder(202); + wait(10); + stopclientexploder(202); +} + +//Function Number: 4 +avalanche_fx() +{ + wait 0.05; + activateclientexploder(199); +} + +//Function Number: 5 +avalanche_treeline_impact_fx() +{ + var_00 = level.dyneventavalanche.avalanchephase1time + level.dyneventavalanche.avalanchephase2time; + wait 0.05; + activateclientexploder(201); + wait(var_00); + stopclientexploder(201); +} + +//Function Number: 6 +avalanche_impact_fx() +{ + wait(9); + activateclientexploder(204); + wait(3); + stopclientexploder(204); + wait 0.05; + activateclientexploder(210); + wait(5); + stopclientexploder(210); +} + +//Function Number: 7 +avalanche_hide_geo_fx() +{ + wait 0.05; + activateclientexploder(211); + wait(2); + stopclientexploder(211); +} + +//Function Number: 8 +alley_snow_fx() +{ + wait(2); + activateclientexploder(203); + wait(7); + stopclientexploder(203); +} + +//Function Number: 9 +electrical_spark_fx() +{ + var_00 = level.dyneventavalanche.avalanchephase1time + level.dyneventavalanche.avalanchephase2time + level.dyneventavalanche.avalanchephase3time; + wait(var_00); + activateclientexploder(205); +} + +//Function Number: 10 +snow_edge_runoff_stop_fx() +{ + var_00 = level.dyneventavalanche.avalanchephase1time + level.dyneventavalanche.avalanchephase2time + level.dyneventavalanche.avalanchephase3time; + wait(var_00); + activateclientexploder(206); + wait(20); + stopclientexploder(206); +} + +//Function Number: 11 +avalanche_snow_linger_fx() +{ + var_00 = level.dyneventavalanche.avalanchephase1time + level.dyneventavalanche.avalanchephase2time + level.dyneventavalanche.avalanchephase3time; + wait(3); + activateclientexploder(207); + wait(30); + stopclientexploder(207); +} + +//Function Number: 12 +window_broken_hide_fx() +{ + wait 0.05; + var_00 = getentarray("window_broken","targetname"); + foreach(var_02 in var_00) + { + var_02 hide(); + } +} + +//Function Number: 13 +window_swap_fx() +{ + wait 0.05; + var_00 = getentarray("window_intact","targetname"); + activateclientexploder(209); + foreach(var_02 in var_00) + { + var_02 thread hide_window_script_delay(); + } +} + +//Function Number: 14 +hide_window_script_delay() +{ + wait(self.script_delay + 0.06); + self hide(); +} + +//Function Number: 15 +coffee_window_back_shatter() +{ + wait(0.25); + var_00 = getglassarray("coffee_windows_back"); + foreach(var_02 in var_00) + { + var_03 = (-1115,478,1059); + var_04 = getglassorigin(var_02); + var_05 = var_04 - var_03; + destroyglass(var_02,var_05); + } +} + +//Function Number: 16 +coffee_window_front_shatter() +{ + wait(10.5); + var_00 = getglassarray("coffee_windows_front"); + foreach(var_02 in var_00) + { + var_03 = (-1124,-91,951); + var_04 = getglassorigin(var_02); + var_05 = var_04 - var_03; + destroyglass(var_02,var_05); + } +} + +//Function Number: 17 +trq_window_front_shatter() +{ + wait(10.6); + var_00 = getglassarray("trq_windows_front"); + foreach(var_02 in var_00) + { + var_03 = (-602,158,930); + var_04 = getglassorigin(var_02); + var_05 = var_04 - var_03; + destroyglass(var_02,var_05); + } +} + +//Function Number: 18 +boardstore_window_back_shatter() +{ + wait(0.4); + var_00 = getglassarray("boardstore_windows_back"); + foreach(var_02 in var_00) + { + var_03 = (487,253,1143); + var_04 = getglassorigin(var_02); + var_05 = var_04 - var_03; + destroyglass(var_02,var_05); + } +} + +//Function Number: 19 +boardstore_window_front_shatter() +{ + wait(10.9); + var_00 = getglassarray("boardstore_windows_front"); + foreach(var_02 in var_00) + { + var_03 = (400,128,1060); + var_04 = getglassorigin(var_02); + var_05 = var_04 - var_03; + destroyglass(var_02,var_05); + } +} + +//Function Number: 20 +lodge_window_front_shatter() +{ + wait(12.2); + var_00 = getglassarray("lodge_windows_front"); + foreach(var_02 in var_00) + { + var_03 = (1566,243,947); + var_04 = getglassorigin(var_02); + var_05 = var_04 - var_03; + destroyglass(var_02,var_05); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_torqued_lighting.gsc b/AW/PC/maps/mp/mp_torqued_lighting.gsc new file mode 100644 index 0000000..9e5a077 --- /dev/null +++ b/AW/PC/maps/mp/mp_torqued_lighting.gsc @@ -0,0 +1,34 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_torqued_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:18:38 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setdvar("r_reflectionprobefog","1"); + setdvar("r_lightGridEnableTweaks","1"); + setdvar("r_lightGridIntensity","1.33"); + setdvar("r_volumeLightScatter","0"); + setdvar("r_volumeLightScatterUseTweaks","1"); + setdvar("r_volumeLightScatterAngularAtten",".34"); + setdvar("r_volumeLightScatterColor","0 0 0"); + setdvar("r_volumeLightScatterLinearAtten","1"); + setdvar("r_volumeLightScatterEV","1"); + setdvar("r_volumeLightScatterBackgroundDistance","200000"); + setdvar("r_mpRimColor",".75 0.8 0.8"); + setdvar("r_mpRimStrength","9"); + setdvar("r_mpRimDiffuseTint",".7 .7 .7"); + setdvar("r_gunSightColorEntityScale","7"); + setdvar("r_gunSightColorNoneScale","0.8"); + if(level.currentgen) + { + setdvar("r_intensity",1.15); + setdvar("r_brightness",getdvar("r_brightness") + 0.07); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_torqued_precache.gsc b/AW/PC/maps/mp/mp_torqued_precache.gsc new file mode 100644 index 0000000..7c784d8 --- /dev/null +++ b/AW/PC/maps/mp/mp_torqued_precache.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_torqued_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:18:38 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_urban.gsc b/AW/PC/maps/mp/mp_urban.gsc new file mode 100644 index 0000000..ed6c917 --- /dev/null +++ b/AW/PC/maps/mp/mp_urban.gsc @@ -0,0 +1,771 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_urban.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 41 + * Decompile Time: 634 ms + * Timestamp: 4/22/2024 2:18:40 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.callbackstartgametype = ::urbancallbackstartgametype; + maps\mp\mp_urban_precache::main(); + maps\createart\mp_urban_art::main(); + maps\mp\mp_urban_fx::main(); + maps\mp\_load::main(); + maps\mp\mp_urban_lighting::main(); + maps\mp\mp_urban_aud::main(); + maps\mp\_compass::setupminimap("compass_map_mp_urban"); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + level.orbitalsupportoverridefunc = ::urbancustomospfunc; + level.orbitallaseroverridefunc = ::urbanvulcancustomfunc; + level.remote_missile_height_override = 20000; + level thread urbanbombingruncustomfunc(); + level thread lockdownevent(); + if(level.nextgen) + { + level thread urbansetuphoverbike(); + level thread urbananimateriders(); + level thread urbananimatedrones(); + } + + level thread setuppolicelights(); + level thread urbanruneffectsfloor(); + level thread urbanpatchwarbird(); + level thread urbanpatchclip(); + level thread urbanshiftbombdefusetrigger(); +} + +//Function Number: 2 +urbancallbackstartgametype() +{ + maps\mp\gametypes\_gamelogic::callback_startgametype(); + common_scripts\_bcs_location_trigs_dlc::bcs_location_trigs_dlc_init(); +} + +//Function Number: 3 +urbancustomospfunc() +{ + level.orbitalsupportoverrides.spawnanglemin = 10; + level.orbitalsupportoverrides.spawnanglemax = 90; + level.orbitalsupportoverrides.spawnheight = 9275; + level.orbitalsupportoverrides.spawnradius = 6000; + level.orbitalsupportoverrides.speed = 246; + level.orbitalsupportoverrides.leftarc = 20; + level.orbitalsupportoverrides.rightarc = 20; + level.orbitalsupportoverrides.toparc = -40; + level.orbitalsupportoverrides.bottomarc = 60; +} + +//Function Number: 4 +urbanvulcancustomfunc() +{ + if(level.nextgen) + { + level.orbitallaseroverrides.spawnpoint = (300,0,0); + return; + } + + level.orbitallaseroverrides.spawnpoint = (300,0,800); +} + +//Function Number: 5 +urbanbombingruncustomfunc() +{ + if(!isdefined(level.airstrikeoverrides)) + { + level.airstrikeoverrides = spawnstruct(); + } + + level.airstrikeoverrides.spawnheight = 100; +} + +//Function Number: 6 +lockdownevent() +{ + if(getdvarint("r_reflectionProbeGenerate")) + { + return; + } + + urbandoorssetup(); + urbansetupshutters(); + if(level.gametype == "ball" || level.gametype == "twar" || level.gametype == "hp" || level.gametype == "infect" || level.gametype == "sr" || level.gametype == "sd") + { + urbanreleaselockdown(); + return; + } + + level.dynamicspawns = ::urbandynamicspawns; + level thread maps\mp\_dynamic_events::dynamicevent(::event_start,::event_reset); + level thread urbanlevelstart(); +} + +//Function Number: 7 +event_start() +{ + thread maps\mp\mp_urban_aud::aud_lockdown_siren(); + level thread playannouncementreleasevo(); + wait(5); + urbanreleaselockdown(); +} + +//Function Number: 8 +playannouncementreleasevo() +{ + wait(0.5); + playsoundatpos((-142,6,2550),"mp_anr_urb_dyn_off_r"); + wait(3); + playsoundatpos((-142,6,2550),"mp_anr_urb_dyn_off_spn_r"); +} + +//Function Number: 9 +playannouncementlockdownvo() +{ + if(level.currentgen) + { + wait(8); + playsoundatpos((-142,6,2550),"mp_anr_urb_dyn_on_r"); + wait(2); + playsoundatpos((-142,6,2550),"mp_anr_urb_dyn_on_spn_r"); + return; + } + + wait(0.5); + playsoundatpos((-142,6,2550),"mp_anr_urb_dyn_on_r"); + wait(3); + playsoundatpos((-142,6,2550),"mp_anr_urb_dyn_on_spn_r"); +} + +//Function Number: 10 +event_reset() +{ + urbanlockdown(); +} + +//Function Number: 11 +urbanlevelstart() +{ + level endon("urbanReleaseLockdown"); + urbanblockerssolid(); + urbananimateopenloop(); + urbandoorsswingshut(); + while(!isdefined(level.prematchperiod)) + { + wait 0.05; + } + + var_00 = 5; + if(level.prematchperiod > 0) + { + if(level.prematchperiodend > 0 && !isdefined(level.hostmigrationtimer)) + { + if(level.prematchperiodend == 5) + { + wait(2); + } + else if(level.prematchperiodend > 5) + { + wait(3.5); + } + } + } + else + { + var_00 = 2; + } + + thread maps\mp\mp_urban_aud::aud_lockdown_siren(); + level thread playannouncementlockdownvo(); + wait(var_00); + urbanlockdown(); +} + +//Function Number: 12 +urbandoorssetup() +{ + var_00 = getent("lockdown_doors","targetname"); + if(isdefined(var_00)) + { + var_00.lockdown = 1; + } + + var_00 = getentarray("door_swing_left","targetname"); + if(isdefined(var_00) && var_00.size > 0) + { + foreach(var_02 in var_00) + { + var_02.open = 1; + } + } + + var_00 = getentarray("door_swing_right","targetname"); + if(isdefined(var_00) && var_00.size > 0) + { + foreach(var_02 in var_00) + { + var_02.open = 1; + } + } +} + +//Function Number: 13 +urbandoorsclose() +{ + var_00 = getent("lockdown_doors","targetname"); + if(!isdefined(var_00) || var_00.lockdown) + { + return; + } + + var_00.lockdown = 0; + var_00 moveto(var_00.startorg,3,1,0.2); + wait(3.1); + var_00 disconnectpaths(); + urbandoorsswingshut(); +} + +//Function Number: 14 +urbandoorsswingshut() +{ + var_00 = getentarray("door_swing_left","targetname"); + if(isdefined(var_00) && var_00.size > 0) + { + foreach(var_02 in var_00) + { + if(!var_02.open) + { + continue; + } + + var_02 rotateyaw(-90,1.5,0.5,0.1); + var_02.open = 0; + } + } + + var_04 = getentarray("door_swing_right","targetname"); + if(isdefined(var_04) && var_04.size > 0) + { + foreach(var_02 in var_04) + { + if(!var_02.open) + { + continue; + } + + var_02 rotateyaw(90,1.5,0.5,0.1); + var_02.open = 0; + } + } +} + +//Function Number: 15 +urbandoorsopen() +{ + var_00 = getent("lockdown_doors","targetname"); + if(!isdefined(var_00) || !var_00.lockdown) + { + return; + } + + var_00.lockdown = 1; + if(!isdefined(var_00.startorg)) + { + var_00.startorg = var_00.origin; + } + + var_01 = var_00.startorg + (0,0,-98); + var_00 moveto(var_01,3,1,0.2); + wait(3.1); + var_00 disconnectpaths(); + urbandoorsswingopen(); +} + +//Function Number: 16 +urbandoorsswingopen() +{ + var_00 = getentarray("door_swing_left","targetname"); + if(isdefined(var_00) && var_00.size > 0) + { + foreach(var_02 in var_00) + { + if(var_02.open) + { + continue; + } + + var_02 rotateyaw(90,1.5,0.5,0.1); + var_02.open = 1; + } + } + + var_04 = getentarray("door_swing_right","targetname"); + if(isdefined(var_04) && var_04.size > 0) + { + foreach(var_02 in var_04) + { + if(var_02.open) + { + continue; + } + + var_02 rotateyaw(-90,1.5,0.5,0.1); + var_02.open = 1; + } + } +} + +//Function Number: 17 +urbanlockdown() +{ + level notify("urbanLockdown"); + urbanblockerssolid(); + common_scripts\_exploder::activate_exploder(50); + level thread urbandoorsclose(); + urbananimatelockdown(); +} + +//Function Number: 18 +urbanblockerssolid() +{ + var_00 = getent("lockdown_blocker","targetname"); + var_00 show(); + var_00 disconnectpaths(); + var_00 solid(); + level.dynamicspawns = ::urbandynamicspawns; +} + +//Function Number: 19 +urbanreleaselockdown() +{ + level notify("urbanReleaseLockdown"); + urbanblockersnonsolid(); + level thread urbandoorsopen(); + urbananimatereleaselockdown(); + common_scripts\_exploder::activate_exploder(20); +} + +//Function Number: 20 +urbanblockersnonsolid() +{ + var_00 = getent("lockdown_blocker","targetname"); + var_00 hide(); + var_00 connectpaths(); + var_00 notsolid(); + level.dynamicspawns = undefined; +} + +//Function Number: 21 +urbandynamicspawns(param_00) +{ + var_01 = []; + foreach(var_03 in param_00) + { + if(!isdefined(var_03.script_noteworthy) || var_03.script_noteworthy != "lockdown_spawn") + { + var_01[var_01.size] = var_03; + } + } + + return var_01; +} + +//Function Number: 22 +urbansetupshutters() +{ + level.urbanshutters = []; + level.urbanshutters[level.urbanshutters.size] = urbansetupshutter("shutter_side_bottom_right_01","urban_front_bottom_shutter_1","urban_front_bottom_shutter_close_1","urban_front_bottom_shutter_loop_1"); + level.urbanshutters[level.urbanshutters.size] = urbansetupshutter("shutter_side_top_right_01","urban_side_top_shutter_1","urban_side_top_shutter_close_1","urban_side_top_shutter_loop_1"); + level.urbanshutters[level.urbanshutters.size] = urbansetupshutter("shutter_side_top_right_02","urban_side_top_shutter_1","urban_side_top_shutter_close_1","urban_side_top_shutter_loop_1"); + level.urbanshutters[level.urbanshutters.size] = urbansetupshutter("shutter_front_top_right_01","urban_front_top_shutter_1","urban_front_top_shutter_close_1","urban_front_top_shutter_loop_1"); + level.urbanshutters[level.urbanshutters.size] = urbansetupshutter("shutter_front_top_right_02","urban_front_top_shutter_2","urban_front_top_shutter_close_2","urban_front_top_shutter_loop_2"); + level.urbanshutters[level.urbanshutters.size] = urbansetupshutter("shutter_front_top_right_03","urban_front_top_shutter_3","urban_front_top_shutter_close_3","urban_front_top_shutter_loop_3"); + level.urbanshutters[level.urbanshutters.size] = urbansetupshutter("shutter_front_top_right_04","urban_front_top_shutter_4","urban_front_top_shutter_close_4","urban_front_top_shutter_loop_4"); + level.urbanshutters[level.urbanshutters.size] = urbansetupshutter("shutter_front_bottom_right_01","urban_side_bottom_shutter_1","urban_side_bottom_shutter_close_1","urban_side_bottom_shutter_loop_1"); + level.urbanshutters[level.urbanshutters.size] = urbansetupshutter("shutter_side_bottom_left_01","urban_front_bottom_shutter_1","urban_front_bottom_shutter_close_1","urban_front_bottom_shutter_loop_1"); + level.urbanshutters[level.urbanshutters.size] = urbansetupshutter("shutter_side_top_left_01","urban_side_top_shutter_1","urban_side_top_shutter_close_1","urban_side_top_shutter_loop_1"); + level.urbanshutters[level.urbanshutters.size] = urbansetupshutter("shutter_side_top_left_02","urban_side_top_shutter_1","urban_side_top_shutter_close_1","urban_side_top_shutter_loop_1"); + level.urbanshutters[level.urbanshutters.size] = urbansetupshutter("shutter_front_top_left_01","urban_front_top_shutter_1","urban_front_top_shutter_close_1","urban_front_top_shutter_loop_1"); + level.urbanshutters[level.urbanshutters.size] = urbansetupshutter("shutter_front_top_left_02","urban_front_top_shutter_2","urban_front_top_shutter_close_2","urban_front_top_shutter_loop_2"); + level.urbanshutters[level.urbanshutters.size] = urbansetupshutter("shutter_front_top_left_03","urban_front_top_shutter_3","urban_front_top_shutter_close_3","urban_front_top_shutter_loop_3"); + level.urbanshutters[level.urbanshutters.size] = urbansetupshutter("shutter_front_top_left_04","urban_front_top_shutter_4","urban_front_top_shutter_close_4","urban_front_top_shutter_loop_4"); + level.urbanshutters[level.urbanshutters.size] = urbansetupshutter("shutter_front_bottom_left_01","urban_side_bottom_shutter_1","urban_side_bottom_shutter_close_1","urban_side_bottom_shutter_loop_1"); +} + +//Function Number: 23 +urbansetupshutter(param_00,param_01,param_02,param_03) +{ + var_04 = getent(param_00,"targetname"); + var_05 = spawnstruct(); + var_05.name = param_00; + var_05.closeanim = param_01; + var_05.openanim = param_02; + var_05.loopingopenanim = param_03; + var_05.ent = var_04; + return var_05; +} + +//Function Number: 24 +urbananimateopenloop() +{ + foreach(var_01 in level.urbanshutters) + { + if(!isdefined(var_01.ent)) + { + continue; + } + + if(var_01.closeanim != "") + { + var_01.ent scriptmodelplayanimdeltamotion(var_01.loopingopenanim); + } + } +} + +//Function Number: 25 +urbananimatelockdown() +{ + foreach(var_01 in level.urbanshutters) + { + if(!isdefined(var_01.ent)) + { + continue; + } + + var_01.ent scriptmodelclearanim(); + if(var_01.closeanim == "") + { + var_01.ent show(); + continue; + } + + var_01.ent scriptmodelplayanimdeltamotion(var_01.closeanim); + } +} + +//Function Number: 26 +urbananimatereleaselockdown() +{ + foreach(var_01 in level.urbanshutters) + { + if(!isdefined(var_01.ent)) + { + continue; + } + + var_01.ent scriptmodelclearanim(); + if(var_01.openanim == "") + { + var_01.ent hide(); + continue; + } + + var_01.ent scriptmodelplayanimdeltamotion(var_01.openanim); + } +} + +//Function Number: 27 +urbansetuphoverbike() +{ + var_00 = getentarray("hoverbike","targetname"); + if(!isdefined(var_00) || var_00.size == 0) + { + return; + } + + foreach(var_02 in var_00) + { + var_02 scriptmodelplayanim("urban_hoverbike_idle","nothing"); + } +} + +//Function Number: 28 +urbananimateriders() +{ + var_00 = 380; + var_01 = 30; + var_02 = var_00 / var_01; + var_03 = 20000; + var_04 = common_scripts\utility::getstruct("urban_event_scripted_node","targetname"); + if(!isdefined(var_04)) + { + return; + } + + if(!isdefined(var_04.angles)) + { + var_04.angles = (0,0,0); + } + + var_05 = spawn("script_model",(0,0,0)); + var_05 setmodel("vehicle_urb_police_hoverbike_ai"); + var_06 = spawn("script_model",(0,0,0)); + var_06 setmodel("vehicle_urb_police_hoverbike_ai"); + var_07 = spawn("script_model",(0,0,0)); + var_07 setmodel("urb_hoverbike_rider"); + var_08 = spawn("script_model",(0,0,0)); + var_08 setmodel("urb_hoverbike_rider"); + var_05 playloopsound("jtbk_engine"); + wait 0.05; + var_07 vehicle_jetbikesethoverforcescale(var_05,"tag_driver",(0,0,0),(0,90,0)); + var_08 vehicle_jetbikesethoverforcescale(var_06,"tag_driver",(0,0,0),(0,90,0)); + wait(1); + level thread urbancalculatebikeunitspersecond(var_05); + level thread urbancalculatebikeunitspersecond(var_06); + for(;;) + { + var_05 scriptmodelplayanimdeltamotionfrompos("urban_hoverbike_racer_1",var_04.origin,var_04.angles); + var_06 scriptmodelplayanimdeltamotionfrompos("urban_hoverbike_racer_2",var_04.origin,var_04.angles); + wait(var_02); + var_09 = max(var_05.unitspersecond,var_06.unitspersecond); + var_0A = var_03 / var_09 * 3; + var_0B = urbanmovebikeforward(var_05,var_03,var_0A); + var_0C = urbanmovebikeforward(var_06,var_03,var_0A); + var_0D = max(var_0B,var_0C); + wait(var_0D + 0.1); + } +} + +//Function Number: 29 +urbanmovebikeforward(param_00,param_01,param_02) +{ + param_00 scriptmodelclearanim(); + var_03 = anglestoforward(param_00.angles); + var_04 = param_00.origin + var_03 * param_01; + param_00 moveto(var_04,param_02,1,0); + return param_02; +} + +//Function Number: 30 +urbancalculatebikeunitspersecond(param_00) +{ + var_01 = 2; + param_00.unitspersecond = 0; + for(;;) + { + var_02 = param_00.origin; + wait(var_01); + var_03 = param_00.origin; + param_00.unitspersecond = distance(var_02,var_03) / var_01; + } +} + +//Function Number: 31 +urbananimatedrones() +{ + var_00 = common_scripts\utility::getstruct("urban_event_scripted_node","targetname"); + if(!isdefined(var_00)) + { + return; + } + + if(!isdefined(var_00.angles)) + { + var_00.angles = (0,0,0); + } + + level thread urbanspawnautoloopingdrone(var_00,"urban_drone_patrol_1"); + level thread urbanspawnmanualloopingdrone(var_00,"urban_drone_patrol_2"); + level thread urbanspawnmanualloopingdrone(var_00,"urban_drone_patrol_3"); +} + +//Function Number: 32 +urbanspawnautoloopingdrone(param_00,param_01) +{ + var_02 = spawn("script_model",(0,0,0)); + var_02 setmodel("vehicle_urb_police_drone_01_group_anim"); + wait(1); + var_02 playloopsound("drone_group_flyby"); + var_02 scriptmodelplayanimdeltamotionfrompos(param_01,param_00.origin,param_00.angles); +} + +//Function Number: 33 +urbanspawnmanualloopingdrone(param_00,param_01) +{ + var_02 = 1000; + var_03 = 30; + var_04 = var_02 / var_03; + var_05 = spawn("script_model",(0,0,0)); + var_05 setmodel("vehicle_urb_police_drone_01_group_anim"); + wait(1); + var_05 playloopsound("drone_group_flyby"); + for(;;) + { + var_05 scriptmodelplayanimdeltamotionfrompos(param_01,param_00.origin,param_00.angles); + wait(var_04); + wait(randomintrange(0,10)); + } +} + +//Function Number: 34 +setuppolicelights() +{ + if(getdvarint("r_reflectionProbeGenerate")) + { + return; + } + + var_00 = getscriptablearray("police_light","targetname"); + foreach(var_02 in var_00) + { + var_02 setscriptablepartstate(0,1); + } +} + +//Function Number: 35 +urbanruneffectsfloor() +{ + var_00 = getent("urban_fx_floor","targetname"); + level.urbflooreffectsents = getentarray("urban_fx_step","targetname"); + if(!isdefined(var_00)) + { + return; + } + + if(isdefined(level.players)) + { + foreach(var_02 in level.players) + { + var_02 playerassigneffectsent(); + var_02 thread playerruneffectsfloor(var_00); + } + } + + level thread onplayerconnectedeffectsfloor(var_00); +} + +//Function Number: 36 +onplayerconnectedeffectsfloor(param_00) +{ + for(;;) + { + level waittill("connected",var_01); + var_01 playerassigneffectsent(); + var_01 thread playerruneffectsfloor(param_00); + } +} + +//Function Number: 37 +playerassigneffectsent() +{ + foreach(var_01 in level.urbflooreffectsents) + { + if(!isdefined(var_01.assigned)) + { + var_01.assigned = self; + var_01.angles = (-90,0,0); + self.urbflooreffectsent = var_01; + return; + } + } + + var_01 = spawn("script_model",(0,0,0)); + var_01 setmodel("tag_origin"); + var_01.angles = (-90,0,0); + level.urbflooreffectsents[level.urbflooreffectsents.size] = var_01; + var_01.assigned = self; + self.urbflooreffectsent = var_01; +} + +//Function Number: 38 +playerruneffectsfloor(param_00) +{ + self endon("disconnect"); + var_01 = 0.5; + var_02 = 1; + var_03 = 1; + for(;;) + { + var_02 = var_03; + if(!isalive(self)) + { + var_03 = 0; + wait 0.05; + continue; + } + + var_03 = self isonground(); + if(!var_03) + { + wait 0.05; + continue; + } + + var_04 = length(self getvelocity()); + if(var_04 == 0 && var_02 && var_03) + { + wait 0.05; + continue; + } + + var_05 = self istouching(param_00); + if(!var_05) + { + wait 0.05; + continue; + } + + self.urbflooreffectsent dontinterpolate(); + self.urbflooreffectsent.origin = (self.origin[0],self.origin[1],2043.5); + self.urbflooreffectsent.angles = (-90,self.angles[1],0); + playfxontag(common_scripts\utility::getfx("mp_ub_foot_digital"),self.urbflooreffectsent,"tag_origin"); + wait(var_01); + } +} + +//Function Number: 39 +urbanpatchwarbird() +{ + level.warbirdaiattackbasespeed = 20; + level.warbirdaiattackneargoal = 300; + maps\mp\killstreaks\_aerial_utility::patchheliloopnode((147,1524,4400),(467,1524,4400)); + maps\mp\killstreaks\_aerial_utility::patchheliloopnode((129,-11,4372),(449,-11,4372)); + maps\mp\killstreaks\_aerial_utility::patchheliloopnode((772,1692,4400),(1028,1692,4400)); + maps\mp\killstreaks\_aerial_utility::patchheliloopnode((1252,1156,4404),(1508,1156,4404)); + maps\mp\killstreaks\_aerial_utility::patchheliloopnode((1424,-1368,4360),(1508,-1368,4360)); + maps\mp\killstreaks\_aerial_utility::patchheliloopnode((428,-1992,4400),(748,-1992,4400)); + maps\mp\killstreaks\_aerial_utility::patchheliloopnode((148,-1556,4392),(468,-1556,4392)); + maps\mp\killstreaks\_aerial_utility::patchheliloopnode((544.5,-1392,4384),(864.5,-1392,4384)); +} + +//Function Number: 40 +urbanpatchclip() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-354,-1280,2688),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-354,-1024,2688),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-354,-768,2688),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-354,768,2688),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-354,1024,2688),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-354,1280,2688),(0,0,0)); +} + +//Function Number: 41 +urbanshiftbombdefusetrigger() +{ + if(level.gametype != "sd" && level.gametype != "sr") + { + return; + } + + var_00 = getentarray("bombzone","targetname"); + var_01 = var_00[0]; + if(var_00[1].origin[0] < 0) + { + var_01 = var_00[1]; + } + + var_02 = getentarray(var_01.target,"targetname"); + var_03 = getent(var_02[0].target,"targetname"); + for(;;) + { + level waittill("bomb_planted",var_04); + if(isdefined(var_04) && isdefined(var_04.bombdefusetrig) && var_04.bombdefusetrig == var_03 && var_03.origin[0] < -555) + { + var_03.origin = (-555,var_03.origin[1],var_03.origin[2]); + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_urban_aud.gsc b/AW/PC/maps/mp/mp_urban_aud.gsc new file mode 100644 index 0000000..489f5be --- /dev/null +++ b/AW/PC/maps/mp/mp_urban_aud.gsc @@ -0,0 +1,31 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_urban_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 55 ms + * Timestamp: 4/22/2024 2:18:41 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level thread setup_audio(); +} + +//Function Number: 2 +setup_audio() +{ + ambientplay("amb_ext_urban_front"); +} + +//Function Number: 3 +aud_lockdown_siren() +{ + playsoundatpos((-142,6,2550),"lockdown_siren"); + wait(3); + playsoundatpos((-142,6,2550),"lockdown_siren"); + wait(3); + playsoundatpos((-142,6,2550),"lockdown_siren"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_urban_fx.gsc b/AW/PC/maps/mp/mp_urban_fx.gsc new file mode 100644 index 0000000..ccac5f5 --- /dev/null +++ b/AW/PC/maps/mp/mp_urban_fx.gsc @@ -0,0 +1,43 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_urban_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 31 ms + * Timestamp: 4/22/2024 2:18:41 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["fx_flare_bright_warm_squares_dlc"] = loadfx("vfx/lensflare/fx_flare_bright_warm_squares_dlc"); + level._effect["fx_flare_blue_bright_cool_squares_dlc"] = loadfx("vfx/lensflare/fx_flare_blue_bright_cool_squares_dlc"); + level._effect["mp_ub_tlight_static_red"] = loadfx("vfx/map/mp_urban/mp_ub_tlight_static_red"); + level._effect["mp_ub_dustvent"] = loadfx("vfx/map/mp_urban/mp_ub_dustvent"); + level._effect["mp_ub_dust_int"] = loadfx("vfx/map/mp_urban/mp_ub_dust_int"); + level._effect["mp_ub_flies"] = loadfx("vfx/map/mp_urban/mp_ub_flies"); + level._effect["mp_ub_birds_takeoff_runner"] = loadfx("vfx/map/mp_urban/mp_ub_birds_takeoff_runner"); + level._effect["mp_ub_birds_runner"] = loadfx("vfx/map/mp_urban/mp_ub_birds_runner"); + level._effect["mp_ub_hoverbike_idle"] = loadfx("vfx/map/mp_urban/mp_ub_hoverbike_idle"); + level._effect["mp_ub_drip_ledge_short"] = loadfx("vfx/map/mp_urban/mp_ub_drip_ledge_short"); + level._effect["mp_ub_drip_ledge"] = loadfx("vfx/map/mp_urban/mp_ub_drip_ledge"); + level._effect["fog_smog_vista_mp"] = loadfx("vfx/fog/fog_smog_vista_mp"); + level._effect["ambient_rolling_ground_leaves"] = loadfx("vfx/wind/ambient_rolling_ground_leaves"); + level._effect["ambient_cloud_fog_area_local"] = loadfx("vfx/map/greece/ambient_cloud_fog_area_local"); + level._effect["single_drip"] = loadfx("vfx/water/single_drip"); + level._effect["fire_lp_m_blacksmk_tall"] = loadfx("vfx/fire/dlc/fire_lp_m_blacksmk_tall"); + level._effect["det_trash_blowing"] = loadfx("vfx/wind/det_trash_blowing"); + level._effect["hovertank_exhaust_regular"] = loadfx("vfx/vehicle/hovertank_exhaust_regular"); + level._effect["hoverbike_pads_idle"] = loadfx("vfx/vehicle/hoverbike_pads_idle"); + level._effect["hoverbike_exhaust_idle"] = loadfx("vfx/vehicle/hoverbike_exhaust_idle"); + level._effect["steam_building_exhaust_windy"] = loadfx("vfx/map/mp_urban/mp_ub_train_steam"); + level._effect["generator_steam_windy"] = loadfx("vfx/steam/generator_steam_windy"); + level._effect["steam_sm_vent"] = loadfx("vfx/steam/steam_sm_vent"); + level._effect["heat_distortion_m"] = loadfx("vfx/distortion/heat_distortion_m"); + level._effect["heat_distortion_l"] = loadfx("vfx/distortion/heat_distortion_l"); + level._effect["test_effect"] = loadfx("vfx/test/test_fx"); + level._effect["light_blink_police_small"] = loadfx("vfx/lights/light_blink_police_small"); + level._effect["light_blink_police"] = loadfx("vfx/lights/light_blink_police"); + level._effect["mp_ub_foot_digital"] = loadfx("vfx/map/mp_urban/mp_ub_foot_digital"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_urban_lighting.gsc b/AW/PC/maps/mp/mp_urban_lighting.gsc new file mode 100644 index 0000000..fdf0db9 --- /dev/null +++ b/AW/PC/maps/mp/mp_urban_lighting.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_urban_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:18:42 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setdvar("r_lightGridEnableTweaks",1); + setdvar("r_lightGridIntensity",1.33); + if(level.nextgen) + { + level.ospvisionset = "mp_urban_osp"; + level.osplightset = "mp_urban_osp"; + level.dronevisionset = "mp_urban_drone"; + level.dronelightset = "mp_urban_drone"; + level.warbirdvisionset = "mp_urban_warbird"; + level.warbirdlightset = "mp_urban_warbird"; + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_urban_precache.gsc b/AW/PC/maps/mp/mp_urban_precache.gsc new file mode 100644 index 0000000..8b158d1 --- /dev/null +++ b/AW/PC/maps/mp/mp_urban_precache.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_urban_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:18:42 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_venus.gsc b/AW/PC/maps/mp/mp_venus.gsc new file mode 100644 index 0000000..a0f46f6 --- /dev/null +++ b/AW/PC/maps/mp/mp_venus.gsc @@ -0,0 +1,131 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_venus.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 6 + * Decompile Time: 100 ms + * Timestamp: 4/22/2024 2:18:43 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\mp\mp_venus_precache::main(); + maps\createart\mp_venus_art::main(); + maps\mp\mp_venus_fx::main(); + maps\mp\_load::main(); + maps\mp\mp_venus_lighting::main(); + maps\mp\mp_venus_aud::main(); + level.aerial_pathnode_offset = 600; + level.aerial_pathnode_group_connect_dist = 300; + level.aerial_pathnodes_force_connect[0] = spawnstruct(); + level.aerial_pathnodes_force_connect[0].origin = (-618,-1166,1123); + level.aerial_pathnodes_force_connect[0].radius = 250; + level.aerial_pathnodes_force_connect[1] = spawnstruct(); + level.aerial_pathnodes_force_connect[1].origin = (-944,845,1245); + level.aerial_pathnodes_force_connect[1].radius = 300; + maps\mp\_compass::setupminimap("compass_map_mp_venus"); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + maps\mp\_water::init(); + level.ospvisionset = "mp_venus_osp"; + level.warbirdvisionset = "mp_venus_osp"; + level.vulcanvisionset = "mp_venus_osp"; + var_00 = getnodearray("pool_nodes","targetname"); + foreach(var_02 in var_00) + { + nodesetnotusable(var_02,1); + } + + level.orbitalsupportoverridefunc = ::venuscustomospfunc; + thread venuscustomairstrike(); + thread handle_glass_pathing(); + level.goliath_bad_landing_volumes = getentarray("goliath_bad_landing_volume","targetname"); +} + +//Function Number: 2 +venuscustomairstrike() +{ + if(!isdefined(level.airstrikeoverrides)) + { + level.airstrikeoverrides = spawnstruct(); + } + + level.airstrikeoverrides.spawnheight = 2100; +} + +//Function Number: 3 +venuscustomospfunc() +{ + level.orbitalsupportoverrides.toparc = -39; + level.orbitalsupportoverrides.spawnheight = 9563.06; + if(level.currentgen) + { + level.orbitalsupportoverrides.leftarc = 20; + level.orbitalsupportoverrides.rightarc = 20; + level.orbitalsupportoverrides.toparc = -35; + level.orbitalsupportoverrides.bottomarc = 60; + } +} + +//Function Number: 4 +handle_glass_pathing() +{ + var_00 = getglassarray("skylights"); + var_01 = getentarray("skylights","targetname"); + var_02 = getentarray("glass_pathing","targetname"); + if(!isdefined(var_01)) + { + return 0; + } + + var_03 = 8; + foreach(var_05 in var_00) + { + var_06 = getglassorigin(var_05); + foreach(var_08 in var_01) + { + if(distance(var_06,var_08.origin) <= var_03) + { + var_08.glass_id = var_05; + break; + } + } + } + + common_scripts\utility::array_thread(var_01,::handle_pathing_on_glass); +} + +//Function Number: 5 +handle_pathing_on_glass() +{ + level endon("game_ended"); + var_00 = getent(self.target,"targetname"); + if(!isdefined(var_00)) + { + return 0; + } + + var_00 common_scripts\utility::trigger_off(); + var_00 connectpaths(); + waittill_glass_break(self.glass_id); + var_00 common_scripts\utility::trigger_on(); + var_00 disconnectpaths(); + var_00 common_scripts\utility::trigger_off(); +} + +//Function Number: 6 +waittill_glass_break(param_00) +{ + level endon("game_ended"); + for(;;) + { + if(isglassdestroyed(param_00)) + { + return 1; + } + + wait(0.05); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_venus_aud.gsc b/AW/PC/maps/mp/mp_venus_aud.gsc new file mode 100644 index 0000000..2088adb --- /dev/null +++ b/AW/PC/maps/mp/mp_venus_aud.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_venus_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 29 ms + * Timestamp: 4/22/2024 2:18:43 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/mp_venus_fx.gsc b/AW/PC/maps/mp/mp_venus_fx.gsc similarity index 97% rename from AW/PC/MP/maps/mp/mp_venus_fx.gsc rename to AW/PC/maps/mp/mp_venus_fx.gsc index 20bdc5e..9f5957a 100644 --- a/AW/PC/MP/maps/mp/mp_venus_fx.gsc +++ b/AW/PC/maps/mp/mp_venus_fx.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/mp_venus_fx.gsc + * Decompiled File: mp\mp_venus_fx.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 14 ms - * Timestamp: 10/27/2023 1:49:54 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:18:43 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/mp/mp_venus_lighting.gsc b/AW/PC/maps/mp/mp_venus_lighting.gsc new file mode 100644 index 0000000..569bf8c --- /dev/null +++ b/AW/PC/maps/mp/mp_venus_lighting.gsc @@ -0,0 +1,21 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_venus_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:18:44 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setdvar("r_lightGridEnableTweaks",1); + setdvar("r_lightGridIntensity",1.33); + setdvar("r_mpRimColor","1.75 1.4 1.1"); + setdvar("r_mpRimStrength","1"); + setdvar("r_mpRimDiffuseTint","2.25 2 1.75"); + setdvar("r_gunSightColorEntityScale","7"); + setdvar("r_gunSightColorNoneScale","0.8"); +} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/mp_venus_precache.gsc b/AW/PC/maps/mp/mp_venus_precache.gsc similarity index 70% rename from AW/PC/MP/maps/mp/mp_venus_precache.gsc rename to AW/PC/maps/mp/mp_venus_precache.gsc index 5d611e7..2810f75 100644 --- a/AW/PC/MP/maps/mp/mp_venus_precache.gsc +++ b/AW/PC/maps/mp/mp_venus_precache.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/mp_venus_precache.gsc + * Decompiled File: mp\mp_venus_precache.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 12 ms - * Timestamp: 10/27/2023 1:49:55 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:18:44 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/MP/maps/mp/mp_vlobby_room.gsc b/AW/PC/maps/mp/mp_vlobby_room.gsc similarity index 97% rename from AW/PC/MP/maps/mp/mp_vlobby_room.gsc rename to AW/PC/maps/mp/mp_vlobby_room.gsc index 68adc8a..f57795d 100644 --- a/AW/PC/MP/maps/mp/mp_vlobby_room.gsc +++ b/AW/PC/maps/mp/mp_vlobby_room.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\mp_vlobby_room.gsc + * Decompiled File: mp\mp_vlobby_room.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 8 - * Decompile Time: 160 ms - * Timestamp: 10/27/2023 1:46:50 AM + * Decompile Time: 153 ms + * Timestamp: 4/22/2024 2:18:45 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/mp/mp_vlobby_room_aud.gsc b/AW/PC/maps/mp/mp_vlobby_room_aud.gsc new file mode 100644 index 0000000..01d6e29 --- /dev/null +++ b/AW/PC/maps/mp/mp_vlobby_room_aud.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_vlobby_room_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 41 ms + * Timestamp: 4/22/2024 2:18:45 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_vlobby_room_fx.gsc b/AW/PC/maps/mp/mp_vlobby_room_fx.gsc new file mode 100644 index 0000000..0f14cf6 --- /dev/null +++ b/AW/PC/maps/mp/mp_vlobby_room_fx.gsc @@ -0,0 +1,258 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_vlobby_room_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 22 + * Decompile Time: 346 ms + * Timestamp: 4/22/2024 2:18:46 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["vlobby_dust"] = loadfx("vfx/map/mp_vlobby_room/vlobby_dust"); + level._effect["vlobby_steam"] = loadfx("vfx/map/mp_vlobby_room/vlobby_steam"); + level._effect["expround_asphalt_1"] = loadfx("vfx/weaponimpact/expround_asphalt_1"); + level._effect["recovery_scoring_add1"] = loadfx("vfx/map/recovery/recovery_scoring_add1"); + level._effect["recovery_scoring_add2"] = loadfx("vfx/map/recovery/recovery_scoring_add2"); + level._effect["recovery_scoring_add25"] = loadfx("vfx/map/recovery/recovery_scoring_add25"); + level._effect["recovery_scoring_add50"] = loadfx("vfx/map/recovery/recovery_scoring_add50"); + level._effect["recovery_scoring_add75"] = loadfx("vfx/map/recovery/recovery_scoring_add75"); + level._effect["recovery_scoring_add100"] = loadfx("vfx/map/recovery/recovery_scoring_add100"); + level._effect["recovery_scoring_minus1"] = loadfx("vfx/map/recovery/recovery_scoring_minus1"); + level._effect["recovery_scoring_minus2"] = loadfx("vfx/map/recovery/recovery_scoring_minus2"); + level._effect["recovery_scoring_minus25"] = loadfx("vfx/map/recovery/recovery_scoring_minus25"); + level._effect["recovery_scoring_minus50"] = loadfx("vfx/map/recovery/recovery_scoring_minus50"); + level._effect["recovery_scoring_minus75"] = loadfx("vfx/map/recovery/recovery_scoring_minus75"); + level._effect["recovery_scoring_minus100"] = loadfx("vfx/map/recovery/recovery_scoring_minus100"); + level._effect["recovery_scoring_target_shutter_enemy"] = loadfx("vfx/map/recovery/recovery_scoring_target_shutter"); + level._effect["recovery_scoring_target_shutter_friendly"] = loadfx("vfx/map/recovery/recovery_scoring_hostage_shutter"); + level._effect["mp_ref_elev_rain_inner"] = loadfx("vfx/map/mp_refraction/mp_ref_elev_rain_inner"); + level._effect["steam_cylinder_lrg"] = loadfx("vfx/steam/steam_cylinder_lrg"); + level._effect["electrical_sparks_runner"] = loadfx("vfx/explosion/electrical_sparks_runner"); + level._effect["emergency_lt_red_off"] = loadfx("vfx/lights/emergency_lt_red_off"); + level._effect["emergency_lt_red_on"] = loadfx("vfx/lights/emergency_lt_red_on"); + level._effect["sparks_burst_b"] = loadfx("vfx/explosion/sparks_burst_b"); + level._effect["emergency_lt_red_pulse_lp"] = loadfx("vfx/lights/emergency_lt_red_pulse_lp"); + level._effect["vlobby_spt_shadow"] = loadfx("vfx/lights/mp_vlobby_refraction/vlobby_spt_shadow"); + thread elevator_rain_on_fx(); + thread elevator_steam_on_fx(); + thread lightning_bolt_fx(); + maps\mp\_utility::delaythread(0.1,::warning_sign_hide_fx); +} + +//Function Number: 2 +elevator_ascend_fx() +{ + wait(1); + level thread common_scripts\_exploder::activate_clientside_exploder(213); +} + +//Function Number: 3 +elevator_rain_on_fx() +{ + wait(1); + level.rain_elevator_fx = common_scripts\utility::spawn_tag_origin(); + level.rain_elevator_fx show(); + wait(1); + level.rain_elevator_fx.origin = (24,1144,6459); + level.rain_elevator_fx.angles = (270,0,0); + playfxontag(common_scripts\utility::getfx("mp_ref_elev_rain_inner"),level.rain_elevator_fx,"tag_origin"); +} + +//Function Number: 4 +elevator_rain_off_fx() +{ + wait(8); + stopfxontag(common_scripts\utility::getfx("mp_ref_elev_rain_inner"),level.rain_elevator_fx,"tag_origin"); + level.rain_elevator_fx delete(); +} + +//Function Number: 5 +elevator_steam_on_fx() +{ + wait(1); + level.steam_elevator_fx = common_scripts\utility::spawn_tag_origin(); + level.steam_elevator_fx show(); + wait(1); + level.steam_elevator_fx.origin = (-10,1150,1482); + level.steam_elevator_fx.angles = (270,0,0); + playfxontag(common_scripts\utility::getfx("steam_cylinder_lrg"),level.steam_elevator_fx,"tag_origin"); +} + +//Function Number: 6 +elevator_steam_off_fx() +{ + wait(8); + stopfxontag(common_scripts\utility::getfx("steam_cylinder_lrg"),level.steam_elevator_fx,"tag_origin"); + level.steam_elevator_fx delete(); +} + +//Function Number: 7 +elevator_descend_spark_fx() +{ + wait(7); + level thread common_scripts\_exploder::activate_clientside_exploder(201); +} + +//Function Number: 8 +elevator_cage_steam_fx() +{ + wait(2); + level thread common_scripts\_exploder::activate_clientside_exploder(202); +} + +//Function Number: 9 +elevator_clamps_spark_fx() +{ + wait(1); + level thread common_scripts\_exploder::activate_clientside_exploder(203); +} + +//Function Number: 10 +elevator_wall_steam_rise_fx() +{ + wait(13); + level thread common_scripts\_exploder::activate_clientside_exploder(204); +} + +//Function Number: 11 +elevator_rm_dripping_water_fx() +{ + wait(10); + level thread common_scripts\_exploder::activate_clientside_exploder(205); +} + +//Function Number: 12 +elevator_arrival_wind_gust_fx() +{ + wait(10); + level thread common_scripts\_exploder::activate_clientside_exploder(206); +} + +//Function Number: 13 +elevator_outer_vent_lights_fx() +{ + wait(9); + level thread common_scripts\_exploder::activate_clientside_exploder(207); +} + +//Function Number: 14 +elevator_shaft_fake_light_rays() +{ + wait(7.5); + level thread common_scripts\_exploder::activate_clientside_exploder(211); +} + +//Function Number: 15 +steam_vent_burst_fx() +{ + wait(12); + level thread common_scripts\_exploder::activate_clientside_exploder(214); +} + +//Function Number: 16 +attach_fx_to_mechanism() +{ + wait(1); + var_00 = getent("elevator_lock_b","targetname"); + playfxontag(common_scripts\utility::getfx("emergency_lt_red_off"),var_00,"TAG_VFX_LIGHT1"); + playfxontag(common_scripts\utility::getfx("emergency_lt_red_off"),var_00,"TAG_VFX_LIGHT2"); + playfxontag(common_scripts\utility::getfx("emergency_lt_red_off"),var_00,"TAG_VFX_LIGHT3"); + playfxontag(common_scripts\utility::getfx("emergency_lt_red_off"),var_00,"TAG_VFX_LIGHT4"); + wait(0.1); + playfxontag(common_scripts\utility::getfx("emergency_lt_red_off"),var_00,"TAG_VFX_LIGHT5"); + playfxontag(common_scripts\utility::getfx("emergency_lt_red_off"),var_00,"TAG_VFX_LIGHT6"); + playfxontag(common_scripts\utility::getfx("emergency_lt_red_off"),var_00,"TAG_VFX_LIGHT7"); + playfxontag(common_scripts\utility::getfx("emergency_lt_red_off"),var_00,"TAG_VFX_LIGHT8"); +} + +//Function Number: 17 +part_b_mechanism_light_pulse_fx() +{ + wait(6); + var_00 = getent("elevator_lock_b","targetname"); + level thread common_scripts\_exploder::activate_clientside_exploder(212); + wait(0.1); + playfxontag(common_scripts\utility::getfx("emergency_lt_red_pulse_lp"),var_00,"TAG_VFX_LIGHT7"); + playfxontag(common_scripts\utility::getfx("emergency_lt_red_pulse_lp"),var_00,"TAG_VFX_LIGHT6"); + playfxontag(common_scripts\utility::getfx("emergency_lt_red_pulse_lp"),var_00,"TAG_VFX_LIGHT2"); + playfxontag(common_scripts\utility::getfx("emergency_lt_red_pulse_lp"),var_00,"TAG_VFX_LIGHT3"); + wait(0.55); + playfxontag(common_scripts\utility::getfx("emergency_lt_red_pulse_lp"),var_00,"TAG_VFX_LIGHT8"); + playfxontag(common_scripts\utility::getfx("emergency_lt_red_pulse_lp"),var_00,"TAG_VFX_LIGHT5"); + playfxontag(common_scripts\utility::getfx("emergency_lt_red_pulse_lp"),var_00,"TAG_VFX_LIGHT4"); + playfxontag(common_scripts\utility::getfx("emergency_lt_red_pulse_lp"),var_00,"TAG_VFX_LIGHT1"); +} + +//Function Number: 18 +part_b_mechanism_light_glow_fx() +{ + wait(1); + var_00 = getent("elevator_lock_b","targetname"); + wait(2); + stopfxontag(common_scripts\utility::getfx("emergency_lt_red_pulse_lp"),var_00,"TAG_VFX_LIGHT1"); + stopfxontag(common_scripts\utility::getfx("emergency_lt_red_pulse_lp"),var_00,"TAG_VFX_LIGHT2"); + stopfxontag(common_scripts\utility::getfx("emergency_lt_red_pulse_lp"),var_00,"TAG_VFX_LIGHT3"); + stopfxontag(common_scripts\utility::getfx("emergency_lt_red_pulse_lp"),var_00,"TAG_VFX_LIGHT4"); + wait(0.55); + stopfxontag(common_scripts\utility::getfx("emergency_lt_red_pulse_lp"),var_00,"TAG_VFX_LIGHT5"); + stopfxontag(common_scripts\utility::getfx("emergency_lt_red_pulse_lp"),var_00,"TAG_VFX_LIGHT6"); + stopfxontag(common_scripts\utility::getfx("emergency_lt_red_pulse_lp"),var_00,"TAG_VFX_LIGHT7"); + stopfxontag(common_scripts\utility::getfx("emergency_lt_red_pulse_lp"),var_00,"TAG_VFX_LIGHT8"); + wait(8); + playfxontag(common_scripts\utility::getfx("emergency_lt_red_on"),var_00,"TAG_VFX_LIGHT1"); + playfxontag(common_scripts\utility::getfx("emergency_lt_red_on"),var_00,"TAG_VFX_LIGHT8"); + wait(0.5); + playfxontag(common_scripts\utility::getfx("emergency_lt_red_on"),var_00,"TAG_VFX_LIGHT2"); + playfxontag(common_scripts\utility::getfx("emergency_lt_red_on"),var_00,"TAG_VFX_LIGHT7"); + wait(0.5); + playfxontag(common_scripts\utility::getfx("sparks_burst_b"),var_00,"TAG_VFX_LIGHT3"); + playfxontag(common_scripts\utility::getfx("emergency_lt_red_on"),var_00,"TAG_VFX_LIGHT6"); + wait(0.5); + playfxontag(common_scripts\utility::getfx("emergency_lt_red_on"),var_00,"TAG_VFX_LIGHT4"); + playfxontag(common_scripts\utility::getfx("emergency_lt_red_on"),var_00,"TAG_VFX_LIGHT5"); + wait(0.5); + playfxontag(common_scripts\utility::getfx("electrical_sparks_runner"),var_00,"TAG_VFX_LIGHT3"); +} + +//Function Number: 19 +elevator_mechanism_steam_fx() +{ + wait(10.2); + level thread common_scripts\_exploder::activate_clientside_exploder(208); +} + +//Function Number: 20 +warning_sign_hide_fx() +{ + var_00 = getentarray("warning_signs","targetname"); + foreach(var_02 in var_00) + { + var_02 hide(); + } +} + +//Function Number: 21 +warning_sign_show_fx() +{ + var_00 = getentarray("warning_signs","targetname"); + foreach(var_02 in var_00) + { + var_02 show(); + } + + level thread common_scripts\_exploder::activate_clientside_exploder(210); +} + +//Function Number: 22 +lightning_bolt_fx() +{ + for(;;) + { + wait(randomfloatrange(2,6)); + var_00 = 220 + randomint(8); + activateclientexploder(var_00); + } +} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/mp_vlobby_room_lighting.gsc b/AW/PC/maps/mp/mp_vlobby_room_lighting.gsc similarity index 84% rename from AW/PC/MP/maps/mp/mp_vlobby_room_lighting.gsc rename to AW/PC/maps/mp/mp_vlobby_room_lighting.gsc index dfb88e4..c67dc28 100644 --- a/AW/PC/MP/maps/mp/mp_vlobby_room_lighting.gsc +++ b/AW/PC/maps/mp/mp_vlobby_room_lighting.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\mp_vlobby_room_lighting.gsc + * Decompiled File: mp\mp_vlobby_room_lighting.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 1:46:51 AM + * Decompile Time: 29 ms + * Timestamp: 4/22/2024 2:18:47 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/mp/mp_vlobby_room_precache.gsc b/AW/PC/maps/mp/mp_vlobby_room_precache.gsc new file mode 100644 index 0000000..adb6057 --- /dev/null +++ b/AW/PC/maps/mp/mp_vlobby_room_precache.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_vlobby_room_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 30 ms + * Timestamp: 4/22/2024 2:18:47 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_zombie_ark.gsc b/AW/PC/maps/mp/mp_zombie_ark.gsc new file mode 100644 index 0000000..183693e --- /dev/null +++ b/AW/PC/maps/mp/mp_zombie_ark.gsc @@ -0,0 +1,1376 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_zombie_ark.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 64 + * Decompile Time: 955 ms + * Timestamp: 4/22/2024 2:18:50 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\mp\mp_zombie_ark_precache::main(); + maps\createart\mp_zombie_ark_art::main(); + maps\mp\mp_zombie_ark_fx::main(); + maps\mp\mp_zombie_ark_sq::createfxhidesidquestents(); + maps\mp\_load::main(); + maps\mp\mp_zombie_ark_lighting::main(); + maps\mp\mp_zombie_ark_aud::main(); + maps\mp\mp_zombie_ark_sq::init_sidequest(); + maps\mp\_compass::setupminimap("compass_map_mp_zombie_ark"); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + level.dlcleaderboardnumber = 3; + level.pickupdebugprint = 1; + level.zombiehostinit = ::maps\mp\zombies\zombie_host::init; + level.zombiedoginit = ::maps\mp\zombies\zombie_dog::init; + level.zombielevelinit = ::initark; + level.agentshouldragdollimmediatelyfunc = ::agentshouldragdollimmediately; + level thread flyoverbink(); + visionsetpain("mp_zombie_ark_pain",0); + level.zombieinfectedvisionset = "mp_zombie_ark_infected"; + level.zombieinfectedvisionset2 = "mp_zombie_ark_infected_uber"; + level.zombieinfectedlightset = "mp_zombie_ark_infected"; + level.zombies_using_civilians = 0; + level.allow_swimming = 0; + level thread maps\mp\_water::init(); + thread disablepronevolumecheck(); + level.nearestnodetounreachabledronesearchheight = 128; + thread initzones(); + thread initcharactermodels(); + thread initarkmutators(); + thread maps\mp\zombies\_pickups_dlc3::init(); + thread maps\mp\zombies\zombie_ammo_drone::init(); + thread maps\mp\zombies\_zombies_audio_dlc3::initdlc3audio(); + thread initareainvalidation(); + thread doidlesharkanimations(); + thread killglass(); + thread zombiearkloadeyeeffects(); + thread exoreveal(); + level.airdropcustomfunclevelspecific = ::airdropcustomfunc; + level.zmgetscorestreaksforschedule = ::getscorestreaksforschedule; + level.zombieweapononplayerspawnedfunc = ::zombieweapononplayerspawned; + level.zombieweaponinitfunc = ::zombieweaponinit; + level.initmagicboxweaponsfunc = ::zombiearkinitmagicboxweapons; + level.onstartgametypelevelfunc = ::zombiearkstartgametypelevel; + level.calculatespecialroundtypeoverride = ::calculatespecialroundtype; + level.givecustomcharacters = ::zombiearkgivecustomcharacter; + level.filterstartspawnfunc = ::zombiearkfilterstartspawns; + level.filterrespawnfunc = ::zombiearkfilterrespawns; + level.zmcustomdamagetriggerweapon = ::zmcustomdamagetriggerweapon; + level.zmbteleportgrenadefindzonecustom = ::zmbteleportgrenadefindzonecustom; + level.zmteleporterinit = ::zmteleporterinit; + level.zmteleporterused = ::zmteleporterused; + level.zmteleporterroomenter = ::zmteleporterroomenter; + level.zmteleporterplayers = ::zmteleporterplayers; + level.zmteleportreadyhint = &"ZOMBIE_ARK_TELEPORT_USE"; + level.zmteleportlookarcs = [0,0,0,0]; + level.zmdamageignoresarmor = ::maps\mp\gametypes\zombies::zmdamageignoresarmor; + level.canspawnpickupoverridefunc = ::maps\mp\zombies\_pickups_dlc3::canspawnpickup; + level.allowzombierecycle = 1; + level.recyclefullhealthzombies = 1; + level.zmblasertrapcustom = "trap_ark_zm"; + level.zmblasertrapwarningcustom = "trap_ark_zm_warning"; + level.zmblasertrapsoundloop = "trap_scanner_beam_lp"; + level.zmblasertrapsoundstop = "trap_scanner_off_shot"; + level.zmblasertrapsoundstart = "trap_scanner_on_shot"; + level.modifygenericzombieclassfunc = ::zombiearkmodifygenericzombieclass; + if(level.nextgen) + { + thread spawnpatchclipfixes(); + } + else + { + thread triggerscriptpatchkilltrigger(); + } + + level.zmpatchshovefunc = ::zombiearkpatchshove; +} + +//Function Number: 2 +triggerscriptpatchkilltrigger() +{ +} + +//Function Number: 3 +spawnkilltriggerthink(param_00,param_01,param_02) +{ + level endon("game_ended"); + var_03 = spawn("trigger_radius",param_00,0,param_01,param_02); + if(!isdefined(var_03)) + { + return; + } + + for(;;) + { + var_03 waittill("trigger",var_04); + if(isdefined(var_04) && isplayer(var_04) && isdefined(var_04.health)) + { + var_04 dodamage(var_04.health + 999,var_03.origin); + } + } +} + +//Function Number: 4 +zombiearkmodifygenericzombieclass(param_00) +{ + var_01 = param_00.model_bodies.size; + if(level.nextgen) + { + param_00.model_bodies[var_01] = ["zom_worker_torso_slice"]; + param_00.model_limbs[var_01]["right_arm"] = ["zom_worker_r_arm_slice"]; + param_00.model_limbs[var_01]["left_arm"] = ["zom_worker_l_arm_slice"]; + param_00.model_limbs[var_01]["right_leg"] = ["zom_worker_r_leg_slice"]; + param_00.model_limbs[var_01]["left_leg"] = ["zom_worker_l_leg_slice"]; + param_00.model_heads[var_01] = ["zombies_head_cau_worker_dlc3_a","zombies_head_cau_worker_dlc3_b","zombies_head_cau_worker_dlc3_c"]; + var_01++; + param_00.model_bodies[var_01] = ["zom_worker_b_torso_slice"]; + param_00.model_limbs[var_01]["right_arm"] = ["zom_worker_b_r_arm_slice"]; + param_00.model_limbs[var_01]["left_arm"] = ["zom_worker_b_l_arm_slice"]; + param_00.model_limbs[var_01]["right_leg"] = ["zom_worker_b_r_leg_slice"]; + param_00.model_limbs[var_01]["left_leg"] = ["zom_worker_b_l_leg_slice"]; + param_00.model_heads[var_01] = ["zombies_head_cau_worker_dlc3_a","zombies_head_cau_worker_dlc3_b","zombies_head_cau_worker_dlc3_c"]; + level.exobodyparts["zom_worker_torso_slice"]["torso"] = "zom_marine_exo_torso_slice"; + level.exobodyparts["zom_worker_torso_slice"]["right_arm"] = "zom_marine_exo_r_arm_slice"; + level.exobodyparts["zom_worker_torso_slice"]["left_arm"] = "zom_marine_exo_l_arm_slice"; + level.exobodyparts["zom_worker_torso_slice"]["right_leg"] = "zom_marine_exo_r_leg_slice"; + level.exobodyparts["zom_worker_torso_slice"]["left_leg"] = "zom_marine_exo_l_leg_slice"; + level.exobodyparts["zom_worker_torso_slice"]["heads"] = ["zombies_head_cau_dlc_a","zombies_head_cau_dlc_b","zombies_head_cau_dlc_c","zombies_head_shg_dlc_b"]; + level.exobodyparts["zom_worker_b_torso_slice"]["torso"] = "zom_marine_exo_torso_slice_ab"; + level.exobodyparts["zom_worker_b_torso_slice"]["right_arm"] = "zom_marine_exo_r_arm_slice"; + level.exobodyparts["zom_worker_b_torso_slice"]["left_arm"] = "zom_marine_exo_l_arm_slice"; + level.exobodyparts["zom_worker_b_torso_slice"]["right_leg"] = "zom_marine_exo_r_leg_slice_ab"; + level.exobodyparts["zom_worker_b_torso_slice"]["left_leg"] = "zom_marine_exo_l_leg_slice_ab"; + level.exobodyparts["zom_worker_b_torso_slice"]["heads"] = ["zombies_head_cau_dlc_a","zombies_head_cau_dlc_b","zombies_head_cau_dlc_c","zombies_head_shg_dlc_b"]; + level.dismemberment["zombies_head_cau_worker_dlc3_a"]["nub"] = "zom_worker_head_slice"; + level.dismemberment["zombies_head_cau_worker_dlc3_b"]["nub"] = "zom_worker_head_slice"; + level.dismemberment["zombies_head_cau_worker_dlc3_c"]["nub"] = "zom_worker_head_slice"; + return param_00; + } + + param_00.model_bodies[var_01] = ["zom_worker_torso_slice"]; + param_00.model_limbs[var_01]["right_arm"] = ["zom_worker_r_arm_slice"]; + param_00.model_limbs[var_01]["left_arm"] = ["zom_worker_l_arm_slice"]; + param_00.model_limbs[var_01]["right_leg"] = ["zom_worker_r_leg_slice"]; + param_00.model_limbs[var_01]["left_leg"] = ["zom_worker_l_leg_slice"]; + param_00.model_heads[var_01] = ["zombies_head_cau_worker_dlc3_a"]; + level.exobodyparts["zom_worker_torso_slice"]["torso"] = "zom_marine_exo_torso_slice"; + level.exobodyparts["zom_worker_torso_slice"]["right_arm"] = "zom_marine_exo_r_arm_slice"; + level.exobodyparts["zom_worker_torso_slice"]["left_arm"] = "zom_marine_exo_l_arm_slice"; + level.exobodyparts["zom_worker_torso_slice"]["right_leg"] = "zom_marine_exo_r_leg_slice"; + level.exobodyparts["zom_worker_torso_slice"]["left_leg"] = "zom_marine_exo_l_leg_slice"; + level.exobodyparts["zom_worker_torso_slice"]["heads"] = ["zombies_head_cau_dlc_a","zombies_head_cau_dlc_b","zombies_head_cau_dlc_c","zombies_head_shg_dlc_b"]; + level.dismemberment["zombies_head_cau_worker_dlc3_a"]["nub"] = "zom_worker_head_slice"; + return param_00; +} + +//Function Number: 5 +zombiearkloadeyeeffects() +{ + level.validheadtypes[level.validheadtypes.size] = "cau_worker_dlc3_a"; + level.validheadtypes[level.validheadtypes.size] = "cau_worker_dlc3_b"; + level.validheadtypes[level.validheadtypes.size] = "cau_worker_dlc3_c"; + level._effect["zombie_eye_vanilla_cau_worker_dlc3_a"] = loadfx("vfx/gameplay/mp/zombie/zombie_eye_vanilla_cau_dlc_a"); + level._effect["zombie_eye_vanilla_cau_worker_dlc3_b"] = loadfx("vfx/gameplay/mp/zombie/zombie_eye_vanilla_cau_dlc_b"); + level._effect["zombie_eye_vanilla_cau_worker_dlc3_c"] = loadfx("vfx/gameplay/mp/zombie/zombie_eye_vanilla_cau_dlc_c"); +} + +//Function Number: 6 +zmcustomdamagetriggerweapon(param_00,param_01,param_02) +{ + if(param_02 == "laser") + { + return "zombie_vaporize_mp"; + } + + return "trap_zm_mp"; +} + +//Function Number: 7 +disablepronevolumecheck() +{ + level endon("game_ended"); + var_00 = getentarray("water_no_prone","targetname"); + foreach(var_02 in var_00) + { + for(;;) + { + var_02 waittill("trigger",var_03); + if(isplayer(var_03)) + { + var_03 thread disableprone(var_02); + } + } + } +} + +//Function Number: 8 +disableprone(param_00) +{ + self notify("noprone"); + self endon("noprone"); + while(self istouching(param_00)) + { + self allowprone(0); + wait(0.5); + } + + self allowprone(1); +} + +//Function Number: 9 +initarkmutators() +{ + maps\mp\zombies\_mutators::initfastmutator(); + maps\mp\zombies\_mutators::initexplodermutator(); + maps\mp\zombies\_mutators::initemzmutator(); + maps\mp\zombies\_mutators_spiked::initspikedmutator(); + maps\mp\zombies\_mutators_armor::initarmormutator(); + maps\mp\zombies\_mutators_teleport::initteleportmutator(); + level.mutatortablesetupfunc = ::buildmutatortable; +} + +//Function Number: 10 +initark() +{ + maps\mp\zombies\zombie_melee_goliath::init(); + maps\mp\zombies\ranged_elite_soldier::init(); + maps\mp\zombies\killstreaks\_zombie_squadmate::init(); +} + +//Function Number: 11 +initzones() +{ + maps\mp\zombies\_zombies_zone_manager::init(); + maps\mp\zombies\_zombies_zone_manager::initializezone("sidebay",1); + maps\mp\zombies\_zombies_zone_manager::initializezone("rearbay",1); + maps\mp\zombies\_zombies_zone_manager::initializezone("cargo_elevator"); + maps\mp\zombies\_zombies_zone_manager::initializezone("cargo_bay"); + maps\mp\zombies\_zombies_zone_manager::initializezone("armory"); + maps\mp\zombies\_zombies_zone_manager::initializezone("biomed"); + maps\mp\zombies\_zombies_zone_manager::initializezone("medical"); + maps\mp\zombies\_zombies_zone_manager::initializezone("moonpool"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("sidebay","rearbay","sidebay_to_rearbay"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("sidebay","armory","sidebay_to_armory"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("rearbay","armory","rearbay_to_armory"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("cargo_elevator","cargo_bay","cargo_elevator_to_cargo_bay"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("biomed","cargo_bay","biomed_to_cargo_bay"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("armory","biomed","armory_to_biomed"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("armory","cargo_elevator","armory_to_cargo_elevator"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("medical","biomed","medical_to_biomed"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("moonpool","cargo_elevator","moonpool_to_cargo_elevator"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("sidebay","medical","sidebay_to_medical"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("rearbay","moonpool","rearbay_to_moonpool"); + level thread zoneopensidebaytorearbay(); + maps\mp\zombies\_zombies_zone_manager::activate(); + level.doorbitmaskarray = []; + level.doorbitmaskarray["sidebay_to_armory"] = 1; + level.doorbitmaskarray["rearbay_to_armory"] = 2; + level.doorbitmaskarray["cargo_elevator_to_cargo_bay"] = 4; + level.doorbitmaskarray["biomed_to_cargo_bay"] = 8; + level.doorbitmaskarray["armory_to_biomed"] = 16; + level.doorbitmaskarray["armory_to_cargo_elevator"] = 32; + level.doorbitmaskarray["medical_to_biomed"] = 64; + level.doorbitmaskarray["moonpool_to_cargo_elevator"] = 128; + level.doorbitmaskarray["sidebay_to_medical"] = 256; + level.doorbitmaskarray["rearbay_to_moonpool"] = 512; + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_ARK_DOOR_TO_SIDEBAY","sidebay_to_armory",0); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_ARK_DOOR_TO_ARMORY","sidebay_to_armory",1); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_ARK_DOOR_TO_REARBAY","rearbay_to_armory",0); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_ARK_DOOR_TO_ARMORY","rearbay_to_armory",1); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_ARK_DOOR_TO_CARGOBAY","cargo_elevator_to_cargo_bay",0); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_ARK_DOOR_TO_CARGOELEVATOR","cargo_elevator_to_cargo_bay",1); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_ARK_DOOR_TO_BIOMED","biomed_to_cargo_bay",0); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_ARK_DOOR_TO_CARGOBAY","biomed_to_cargo_bay",1); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_ARK_DOOR_TO_BIOMED","armory_to_biomed",0); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_ARK_DOOR_TO_ARMORY","armory_to_biomed",1); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_ARK_DOOR_TO_ARMORY","armory_to_cargo_elevator",0); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_ARK_DOOR_TO_CARGOELEVATOR","armory_to_cargo_elevator",1); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_ARK_DOOR_TO_BIOMED","medical_to_biomed",0); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_ARK_DOOR_TO_MEDICAL","medical_to_biomed",1); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_ARK_DOOR_TO_MOONPOOL","moonpool_to_cargo_elevator",0); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_ARK_DOOR_TO_CARGOELEVATOR","moonpool_to_cargo_elevator",1); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_ARK_DOOR_TO_SIDEBAY","sidebay_to_medical",0); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_ARK_DOOR_TO_MEDICAL","sidebay_to_medical",1); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_ARK_DOOR_TO_REARBAY","rearbay_to_moonpool",0); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_ARK_DOOR_TO_MOONPOOL","rearbay_to_moonpool",1); +} + +//Function Number: 12 +zoneopensidebaytorearbay() +{ + level endon("game_ended"); + for(;;) + { + var_00 = level common_scripts\utility::waittill_any_return("player_given_exo_suit","player_purchased_teleport_grenade","zombie_wave_started"); + if(var_00 == "zombie_wave_started" && level.wavecounter < 5) + { + continue; + } + + break; + } + + common_scripts\utility::flag_set("sidebay_to_rearbay"); +} + +//Function Number: 13 +initcharactermodels() +{ + maps\mp\zombies\_util::initializecharactermodel("security","security_guard_body","viewhands_security_guard",["security_guard_head"]); + maps\mp\zombies\_util::initializecharactermodel("exec","executive_body","viewhands_executive",["executive_head"]); + maps\mp\zombies\_util::initializecharactermodel("it","lilith_body","viewhands_lilith",["lilith_head"]); + maps\mp\zombies\_util::initializecharactermodel("pilot","pilot_body_nohelmet","viewhands_pilot_bcambell",["pilot_head"]); + maps\mp\zombies\_util::initializecharactermodel("security_exo","security_guard_body_exo","viewhands_security_guard_exo",["security_guard_head"]); + maps\mp\zombies\_util::initializecharactermodel("exec_exo","executive_body_exo","viewhands_executive_exo",["executive_head"]); + maps\mp\zombies\_util::initializecharactermodel("it_exo","lilith_body_exo","viewhands_lilith_exo",["lilith_head"]); + maps\mp\zombies\_util::initializecharactermodel("pilot_exo","pilot_body_nohelmet_exo","viewhands_pilot_bcambell_exo",["pilot_head"]); + maps\mp\zombies\_util::initializecharactermodel("security_host","security_guard_body",undefined,["security_guard_head_z"]); + maps\mp\zombies\_util::initializecharactermodel("exec_host","executive_body",undefined,["executive_head_z"]); + maps\mp\zombies\_util::initializecharactermodel("it_host","lilith_body",undefined,["lilith_head_z"]); + maps\mp\zombies\_util::initializecharactermodel("pilot_host","pilot_body_nohelmet",undefined,["pilot_head_z"]); +} + +//Function Number: 14 +initareainvalidation() +{ + thread maps\mp\zombies\_area_invalidation::init(); + maps\mp\zombies\_area_invalidation::setupzone("sidebay",90,1,&"ZOMBIE_ARK_SIDE_BAY","dlc3_zombie_bomb_sidebay","dlc3_zombie_bomb_defuse_sidebay","dlc3_zombie_bomb_detonate_sidebay"); + maps\mp\zombies\_area_invalidation::setupzone("rearbay",91,2,&"ZOMBIE_ARK_REAR_BAY","dlc3_zombie_bomb_rearbay","dlc3_zombie_bomb_defuse_rearbay","dlc3_zombie_bomb_detonate_rearbay"); + maps\mp\zombies\_area_invalidation::setupzone("medical",97,3,&"ZOMBIE_ARK_MEDICAL","dlc3_zombie_bomb_medical","dlc3_zombie_bomb_defuse_medical","dlc3_zombie_bomb_detonate_medical",1); + maps\mp\zombies\_area_invalidation::setupzone("armory",92,4,&"ZOMBIE_ARK_ARMORY","dlc3_zombie_bomb_armory","dlc3_zombie_bomb_defuse_armory","dlc3_zombie_bomb_detonate_armory"); + maps\mp\zombies\_area_invalidation::setupzone("moonpool",93,5,&"ZOMBIE_ARK_MOON_POOL","dlc3_zombie_bomb_moonpool","dlc3_zombie_bomb_defuse_moonpool","dlc3_zombie_bomb_detonate_moonpool",1); + maps\mp\zombies\_area_invalidation::setupzone("biomed",94,6,&"ZOMBIE_ARK_BIOMED","dlc3_zombie_bomb_biomed","dlc3_zombie_bomb_defuse_biomed","dlc3_zombie_bomb_detonate_biomed"); + maps\mp\zombies\_area_invalidation::setupzone("cargo_bay",95,7,&"ZOMBIE_ARK_CARGO_ROOM","dlc3_zombie_bomb_cargobay","dlc3_zombie_bomb_defuse_cargobay","dlc3_zombie_bomb_detonate_cargobay"); + maps\mp\zombies\_area_invalidation::setupzone("cargo_elevator",96,8,&"ZOMBIE_ARK_CARGO_ELEVATOR","dlc3_zombie_bomb_cargoelevator","dlc3_zombie_bomb_defuse_cargoelevator","dlc3_zombie_bomb_detonate_cargoelevator"); +} + +//Function Number: 15 +airdropcustomfunc() +{ + maps\mp\killstreaks\_airdrop::addcratetype("airdrop_assault","repulsion_turret",8,::maps\mp\zombies\killstreaks\_zombie_killstreaks::killstreakcratethink,&"KILLSTREAKS_DLC3_DISRUPTOR_TURRET","zm_disruptor"); + maps\mp\killstreaks\_airdrop::addcratetype("airdrop_assault","squadmate",25,::maps\mp\zombies\killstreaks\_zombie_killstreaks::killstreakcratethink,&"ZOMBIE_SQUADMATE_SQUADMATE","zm_squadmate"); +} + +//Function Number: 16 +getscorestreaksforschedule() +{ + var_00 = []; + var_00[var_00.size] = "sentry_" + randomintrange(1,4); + var_00[var_00.size] = "drone_" + randomintrange(1,3); + var_00[var_00.size] = "money"; + var_00[var_00.size] = "camo"; + var_00[var_00.size] = "squadmate"; + var_00[var_00.size] = "repulsion_turret"; + var_00[var_00.size] = "sentry_" + randomintrange(1,4); + var_00[var_00.size] = "drone_" + randomintrange(1,3); + var_00[var_00.size] = "money"; + var_00[var_00.size] = "camo"; + var_00[var_00.size] = "squadmate"; + var_00[var_00.size] = "repulsion_turret"; + return var_00; +} + +//Function Number: 17 +zombieweapononplayerspawned() +{ + thread maps\mp\zombies\weapons\_zombie_repulsor::onplayerspawn(); + thread maps\mp\zombies\weapons\_zombie_teleport_grenade::onplayerspawn(); + thread maps\mp\zombies\weapons\_zombie_line_gun::onplayerspawn(); +} + +//Function Number: 18 +zombieweaponinit() +{ + maps\mp\zombies\weapons\_zombie_repulsor::init(); + maps\mp\zombies\weapons\_zombie_teleport_grenade::init(); + maps\mp\zombies\weapons\_zombie_line_gun::init(); +} + +//Function Number: 19 +zombiearkinitmagicboxweapons() +{ + maps\mp\zombies\_wall_buys::addmagicboxweapon("iw5_linegunzm","npc_zom_line_gun_holo",&"ZOMBIE_WEAPON_LINEGUN_PICKUP","none","none","none",2); + maps\mp\zombies\_wall_buys::addmagicboxweapon("repulsor_zombie","dlc3_repulsor_device_01_holo",&"ZOMBIE_DLC3_REPULSOR","none","none","none",2); + maps\mp\zombies\_wall_buys::addmagicboxweapon("iw5_dlcgun2zm","npc_lmg_shotgun_base_static_holo",&"ZOMBIE_WEAPONDLC2_GUN","none","none","none"); + maps\mp\zombies\_wall_buys::addmagicboxweapon("iw5_dlcgun3zm","npc_m1_irons_base_static_holo",&"ZOMBIE_WEAPONDLC3_GUN","none","none","none"); +} + +//Function Number: 20 +buildmutatortable() +{ + for(;;) + { + level.special_mutators = []; + level waittill("zombie_round_countdown_started"); + var_00 = arkgeneratepossiblemutatorsforwave(level.wavecounter); + foreach(var_03, var_02 in var_00) + { + level.special_mutators[var_03] = [::arkmutatoralwaysvalid,var_02["weight"]]; + } + + level waittill("zombie_wave_ended"); + } +} + +//Function Number: 21 +arkmutatoralwaysvalid(param_00) +{ + return 1; +} + +//Function Number: 22 +arkgetsolowaveoffset() +{ + if(level.players.size < 2) + { + return maps\mp\zombies\zombies_spawn_manager::getsolowaveoffset(); + } + + return 0; +} + +//Function Number: 23 +arkgeneratepossiblemutatorsforwave(param_00) +{ + param_00 = param_00 - arkgetsolowaveoffset(); + var_01 = []; + if(param_00 < 4) + { + } + else if(param_00 == 4) + { + var_01["emz"]["weight"] = 1; + } + else if(param_00 == 5) + { + var_01["emz"]["weight"] = 1; + var_01["fast"]["weight"] = 1; + } + else if(param_00 == 6) + { + var_01["emz"]["weight"] = 2; + var_01["fast"]["weight"] = 1; + var_01["teleport"]["weight"] = 1; + } + else if(param_00 == 7) + { + var_01["emz"]["weight"] = 4; + var_01["fast"]["weight"] = 1; + var_01["teleport"]["weight"] = 2; + var_01["exploder"]["weight"] = 1; + } + else if(param_00 == 8) + { + var_01["emz"]["weight"] = 6; + var_01["fast"]["weight"] = 1; + var_01["teleport"]["weight"] = 3; + var_01["exploder"]["weight"] = 1; + var_01["armor"]["weight"] = 1; + } + else if(param_00 <= 19) + { + var_01["emz"]["weight"] = 8; + var_01["fast"]["weight"] = 1; + var_01["teleport"]["weight"] = 4; + var_01["exploder"]["weight"] = 1; + var_01["armor"]["weight"] = 1; + var_01["spiked"]["weight"] = 1; + } + else if(param_00 >= 20) + { + var_01["emz"]["weight"] = 12; + var_01["teleport"]["weight"] = 3; + var_01["exploder"]["weight"] = 1; + var_01["armor"]["weight"] = 1; + var_01["spiked"]["weight"] = 1; + } + + return var_01; +} + +//Function Number: 24 +zombiearkrunzomboniachievementforplayer() +{ + self endon("disconnect"); + level endon("game_ended"); + self.zomboniridetime = 0; + var_00 = 0.1; + var_01 = 300; + for(;;) + { + wait(var_00); + if(!isalive(self) || maps\mp\zombies\_util::isplayerinlaststand(self)) + { + continue; + } + + if(self.sessionstate == "spectator" || self.sessionstate == "intermission") + { + continue; + } + + var_02 = self getgroundentity(); + if(isdefined(var_02)) + { + var_03 = var_02 getlinkedparent(); + if(isdefined(var_03) && isdefined(var_03.iszomboni) && var_03.iszomboni) + { + self.zomboniridetime = self.zomboniridetime + var_00; + var_04 = 0; + if(self.zomboniridetime >= var_01 && !var_04) + { + maps\mp\gametypes\zombies::givezombieachievement("DLC3_ZOMBIE_ZOMBONI"); + return; + } + } + } + } +} + +//Function Number: 25 +zombiearkrunachievementsforplayer() +{ + thread zombiearkrunzomboniachievementforplayer(); +} + +//Function Number: 26 +zombiearkrunsharktrigger(param_00,param_01) +{ + level endon("game_ended"); + for(;;) + { + self waittill("trigger",var_02); + if(maps\mp\zombies\_util::is_true(var_02.jumpedtheshark)) + { + continue; + } + + if(!var_02 isjumping() && !var_02 ishighjumping()) + { + continue; + } + + if(param_01 && !maps\mp\zombies\_util::is_true(level.zmbsharktriggeractive)) + { + continue; + } + + if(!isdefined(var_02.sharktriggertimes)) + { + var_02.sharktriggertimes = []; + for(var_03 = 0;var_03 < level.numsharktriggers;var_03++) + { + var_02.sharktriggertimes[var_02.sharktriggertimes.size] = 0; + } + } + + var_04 = gettime(); + var_02.sharktriggertimes[param_00] = var_04; + var_05 = var_04; + for(var_03 = 0;var_03 < var_02.sharktriggertimes.size;var_03++) + { + if(var_02.sharktriggertimes[var_03] < var_05) + { + var_05 = var_02.sharktriggertimes[var_03]; + } + } + + var_06 = 0; + var_09 = 10000; + if(var_05 > 0 && var_04 - var_05 < var_09 && !var_06) + { + var_02 maps\mp\gametypes\zombies::givezombieachievement("DLC3_ZOMBIE_JUMPTHESHARK"); + var_02.jumpedtheshark = 1; + } + } +} + +//Function Number: 27 +zombiearkrunsharkachievement() +{ + var_00 = getentarray("shark_trigger_static","targetname"); + var_01 = getentarray("shark_trigger_dynamic","targetname"); + var_02 = 0; + level.numsharktriggers = var_00.size + var_01.size; + foreach(var_04 in var_00) + { + var_04 thread zombiearkrunsharktrigger(var_02,0); + var_02++; + } + + foreach(var_04 in var_01) + { + var_04 thread zombiearkrunsharktrigger(var_02,1); + var_02++; + } +} + +//Function Number: 28 +zombiearkrunachievements() +{ + level endon("game_ended"); + level thread zombiearkrunsharkachievement(); + foreach(var_01 in level.players) + { + var_01 thread zombiearkrunachievementsforplayer(); + } + + for(;;) + { + level waittill("connected",var_01); + var_01 thread zombiearkrunachievementsforplayer(); + } +} + +//Function Number: 29 +zombiearkrunboatsway() +{ + level endon("game_ended"); + for(;;) + { + var_00 = randomfloatrange(0.25,1); + var_01 = randomfloatrange(3,4); + level.swayent rotateto((var_00,0,0),var_01,var_01 * 0.5,var_01 * 0.5); + wait(var_01); + level.swayent rotateto((0 - var_00,0,0),var_01,var_01 * 0.5,var_01 * 0.5); + wait(var_01); + } +} + +//Function Number: 30 +zombiearkapplyswayentforconditions() +{ + if(maps\mp\zombies\_util::is_true(self.intoxicated)) + { + return; + } + + if(maps\mp\zombies\_util::is_true(self.onisland)) + { + self playersetgroundreferenceent(undefined); + return; + } + + if(maps\mp\zombies\_util::is_true(self.boatswaydisabled)) + { + self playersetgroundreferenceent(undefined); + return; + } + + self playersetgroundreferenceent(level.swayent); +} + +//Function Number: 31 +zombiearksetswayrefent() +{ + self endon("disconnect"); + level endon("game_ended"); + zombiearkapplyswayentforconditions(); + for(;;) + { + var_00 = common_scripts\utility::waittill_any_return_no_endon_death("spawned","update_ground_ref_ent"); + if(var_00 == "spawned") + { + maps\mp\zombies\_util::waittillplayersnextsnapshot(self); + } + + zombiearkapplyswayentforconditions(); + } +} + +//Function Number: 32 +zombiearkboatsway() +{ + level endon("game_ended"); + level.swayent = spawn("script_model",(0,0,0)); + level thread zombiearkrunboatsway(); + foreach(var_01 in level.players) + { + var_01 thread zombiearksetswayrefent(); + } + + for(;;) + { + level waittill("connected",var_01); + var_01 thread zombiearksetswayrefent(); + } +} + +//Function Number: 33 +zombiearkstartgametypelevel() +{ + level thread maps\mp\zombies\_teleport::init(); + level thread maps\mp\zombies\_gambling::init(); + level thread maps\mp\zombies\traps\_trap_turrets::init(); + level thread maps\mp\zombies\traps\_trap_water_floor::init(); + maps\mp\zombies\_traps::register_trap_state_models("dlc_trap_activation_console_01_no_signal","dlc_trap_activation_console_01_ready","dlc_trap_activation_console_01_active","dlc_trap_activation_console_01_cooldown"); + level thread maps\mp\zombies\_util::outofboundswatch(0); + level thread zombiearkrunachievements(); + level thread zombiearkboatsway(); +} + +//Function Number: 34 +calculatespecialroundtype() +{ + return maps\mp\gametypes\zombies::calculatespecialroundtype(); +} + +//Function Number: 35 +zombiearkchoosespawncharacters() +{ + var_00 = [0,1]; + var_00 = common_scripts\utility::array_randomize(var_00); + var_01 = [2,3]; + var_01 = common_scripts\utility::array_randomize(var_01); + var_02 = [var_00,var_01]; + var_02 = common_scripts\utility::array_randomize(var_02); + level.spawncharindexforplayerindex = []; + level.spawncharindexforplayerindex[0] = var_02[0][0]; + level.spawncharindexforplayerindex[1] = var_02[0][1]; + level.spawncharindexforplayerindex[2] = var_02[1][0]; + level.spawncharindexforplayerindex[3] = var_02[1][1]; + level.spawnzoneforplayerindex = []; + if(common_scripts\utility::cointoss()) + { + level.spawnzoneforplayerindex[0] = "sidebay"; + level.spawnzoneforplayerindex[1] = "sidebay"; + level.spawnzoneforplayerindex[2] = "rearbay"; + level.spawnzoneforplayerindex[3] = "rearbay"; + return; + } + + level.spawnzoneforplayerindex[0] = "rearbay"; + level.spawnzoneforplayerindex[1] = "rearbay"; + level.spawnzoneforplayerindex[2] = "sidebay"; + level.spawnzoneforplayerindex[3] = "sidebay"; +} + +//Function Number: 36 +zombiearkassignzombieclientid() +{ + if(!isdefined(level.arkconnectedplayers)) + { + level.arkconnectedplayers = []; + } + + level.arkconnectedplayers = common_scripts\utility::array_removeundefined(level.arkconnectedplayers); + level.arkconnectedplayers[level.arkconnectedplayers.size] = self; + for(var_00 = 0;var_00 < 4;var_00++) + { + var_01 = 0; + foreach(var_03 in level.arkconnectedplayers) + { + if(!isdefined(var_03) || isremovedentity(var_03) || var_03 == self) + { + continue; + } + + if(isdefined(var_03.zombieclientid) && var_03.zombieclientid == var_00) + { + var_01 = 1; + break; + } + } + + if(!var_01) + { + self.zombieclientid = var_00; + return; + } + } +} + +//Function Number: 37 +zombiearkgivecustomcharacter(param_00) +{ + zombiearkassignzombieclientid(); + var_01 = self.zombieclientid; + var_01 = int(clamp(var_01,0,3)); + if(!isdefined(level.spawncharindexforplayerindex)) + { + zombiearkchoosespawncharacters(); + } + + if(isdefined(param_00)) + { + self.characterindex = param_00; + } + else + { + self.characterindex = level.spawncharindexforplayerindex[var_01]; + } + + var_03 = 1; + if(self.characterindex == -1) + { + var_03 = 0; + self.characterindex = 0; + } + + if(var_03) + { + var_02 = "ui_zm_character_" + self.characterindex; + setomnvar(var_02,self getentitynumber()); + var_04 = "ui_zm_character_" + self.characterindex + "_alive"; + setomnvar(var_04,0); + thread maps\mp\zombies\_util::resetcharacterondisconnect(var_02,var_04,self.characterindex); + } + + maps\mp\zombies\_util::setcustomcharacter(self.characterindex,0); + maps\mp\zombies\_util::setcharacteraudio(self.characterindex); +} + +//Function Number: 38 +zombiearkfilterstartspawns(param_00) +{ + if(!isplayer(self)) + { + return param_00; + } + + var_01 = self.zombieclientid; + var_01 = int(clamp(var_01,0,3)); + var_02 = level.spawnzoneforplayerindex[var_01]; + var_03 = []; + foreach(var_05 in param_00) + { + if(!isdefined(var_05.script_noteworthy) || var_05.script_noteworthy == var_02) + { + var_03[var_03.size] = var_05; + } + } + + return var_03; +} + +//Function Number: 39 +zombiearkfilterrespawns(param_00) +{ + if(!isplayer(self)) + { + return param_00; + } + + var_01 = self.zombieclientid; + var_01 = int(clamp(var_01,0,3)); + var_02 = level.spawnzoneforplayerindex[var_01]; + var_03 = []; + foreach(var_05 in param_00) + { + if(!isdefined(var_05.script_noteworthy) || maps\mp\zombies\_zombies_zone_manager::iszoneenabled(var_05.script_noteworthy) && maps\mp\zombies\_zombies_zone_manager::getzoneconnectionlength(var_05.script_noteworthy,var_02) >= 0) + { + var_03[var_03.size] = var_05; + } + } + + return var_03; +} + +//Function Number: 40 +zmbteleportgrenadefindzonecustom(param_00,param_01,param_02) +{ + var_03 = getent("zomboni_room_volume","targetname"); + if(isdefined(var_03) && ispointinvolume(param_02,var_03)) + { + return "cargo_bay"; + } +} + +//Function Number: 41 +zmteleporterinit(param_00,param_01) +{ + switch(param_01) + { + case "ark_device": + thread teleporter_device(param_00); + break; + + case "ark_light": + thread teleporter_light(param_00); + break; + + default: + return 0; + } + + return 1; +} + +//Function Number: 42 +zmteleporterused(param_00) +{ + if(isdefined(self.device)) + { + playfxontag(common_scripts\utility::getfx("dlc_teleport_in"),self.device,"tag_fx"); + wait(0.3); + } +} + +//Function Number: 43 +zmteleporterroomenter(param_00,param_01) +{ + common_scripts\utility::array_thread(param_00,::teleporterfx); +} + +//Function Number: 44 +teleporterfx() +{ + if(!isdefined(self.teleportchutefx)) + { + self.teleportchutefx = spawnfxforclient(common_scripts\utility::getfx("dlc_teleport_tunnel_player"),self.origin,self); + self.teleportchutefx thread teleportfxdelete(self); + } + + triggerfx(self.teleportchutefx); +} + +//Function Number: 45 +teleportfxdelete(param_00) +{ + self endon("death"); + param_00 waittill("disconnect"); + self delete(); +} + +//Function Number: 46 +zmteleporterplayers(param_00) +{ + foreach(var_02 in param_00) + { + if(!isdefined(var_02)) + { + continue; + } + + playfx(common_scripts\utility::getfx("teleport_post_fx"),var_02.origin,anglestoforward(var_02.angles)); + } +} + +//Function Number: 47 +teleporter_device(param_00) +{ + self.device = param_00; + param_00 hidepart("TAG_FX_ON"); + param_00 hidepart("TAG_FX_OFF"); + param_00 showpart("TAG_FX_GLOW"); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("dlc_prop_exo_teleport_pwr_off"),param_00,"tag_origin",0); + self waittill("teleportReady"); + param_00 showpart("TAG_FX_ON"); + param_00 hidepart("TAG_FX_OFF"); + param_00 hidepart("TAG_FX_GLOW"); + param_00 playloopsound("teleporter_hum"); + maps\mp\zombies\_util::stopfxontagnetwork(common_scripts\utility::getfx("dlc_prop_exo_teleport_pwr_off"),param_00,"tag_origin"); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("dlc_prop_exo_teleport_pwr_on"),param_00,"tag_origin",0); +} + +//Function Number: 48 +teleporter_light(param_00) +{ + param_00 setlightcolor((0.941176,0,0)); + param_00 setlightintensity(250); + self waittill("teleportReady"); + param_00 setlightcolor((0.501961,1,1)); + param_00 setlightintensity(3500); +} + +//Function Number: 49 +getteleporterlightcoloron() +{ + return (0.501961,1,1); +} + +//Function Number: 50 +getteleporterlightcolorstandby() +{ + return (0.941176,0,0); +} + +//Function Number: 51 +getteleporterlightcoloroff() +{ + return (0.941176,0,0); +} + +//Function Number: 52 +getteleporterlightintensityon() +{ + return 3500; +} + +//Function Number: 53 +getteleporterlightintensitystandby() +{ + return 250; +} + +//Function Number: 54 +getteleporterlightintensityoff() +{ + return 0.001; +} + +//Function Number: 55 +doidlesharkanimations() +{ + var_00 = getentarray("shark_animated","targetname"); + foreach(var_02 in var_00) + { + var_02 scriptmodelplayanim("zom_ark_shark_cage_idle","shark_notetrack"); + var_02 thread maps\mp\mp_zombie_ark_aud::idle_shark_sound(); + wait(2); + } +} + +//Function Number: 56 +killglass() +{ + while(!isdefined(level.players)) + { + wait(0.05); + } + + var_00 = []; + for(var_01 = 0;var_01 <= 1;var_01++) + { + var_02 = getglass("ark_glass_" + var_01); + var_03 = getent("ark_glass_trigger_" + var_01,"targetname"); + if(isdefined(var_02) && isdefined(var_03)) + { + var_00[var_01] = [var_02,var_03]; + } + } + + for(;;) + { + for(var_01 = 0;var_01 < var_00.size;var_01++) + { + var_04 = var_00[var_01]; + if(isglassdestroyed(var_04[0])) + { + var_00[var_01] = var_00[var_00.size - 1]; + var_00[var_00.size - 1] = undefined; + var_01--; + } + } + + if(var_00.size == 0) + { + return; + } + + foreach(var_06 in level.players) + { + if(!isalive(var_06) || var_06.sessionstate == "spectator" || var_06.sessionstate == "intermission") + { + continue; + } + + if(maps\mp\zombies\_util::is_true(var_06.validnotmoving)) + { + foreach(var_04 in var_00) + { + if(var_06 istouching(var_04[1])) + { + destroyglass(var_04[0]); + } + } + } + } + + wait(1); + } +} + +//Function Number: 57 +agentshouldragdollimmediately(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ + return isdefined(param_04) && param_04 == "repulsor_zombie_mp" || param_04 == "zombie_water_trap_mp"; +} + +//Function Number: 58 +flyoverbink() +{ + var_00 = "zombie_bink_env_camera_DLC3"; + var_01 = "scr_" + var_00; + setdvar(var_01,0); + var_02 = "devgui_cmd \"Zombie:2/Toggle Flyover Binks/" + var_00 + "\" \"togglep " + var_01 + " 0 1\";"; + thread setupflyoveranimation("zombie_bink_env_camera_DLC3","j_prop_1",["open_doors","trigger_decontamination"],var_01); +} + +//Function Number: 59 +setupflyoveranimation(param_00,param_01,param_02,param_03) +{ + var_04 = common_scripts\utility::getstruct("shark_anim_node","targetname"); + if(!isdefined(var_04)) + { + return; + } + + if(!isdefined(var_04.angles)) + { + var_04.angles = (0,0,0); + } + + if(!isdefined(param_02)) + { + param_02 = []; + } + + while(getdvarint(param_03,0) == 0) + { + wait 0.05; + } + + setdvar("lui_enabled",0); + setdvar("cg_drawBuildname",0); + setdvar("cg_drawMapBuildInfo",0); + setdvar("cg_drawversion",0); + setdvar("cg_drawviewpos",0); + setdvar("cg_fovScale",1.1); + level.zombiegamepaused = 1; + var_05 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + foreach(var_07 in var_05) + { + var_07.bypasscorpse = 1; + var_07 dodamage(var_07.health + 500000,var_07.origin,level.players[0],undefined,"MOD_EXPLOSIVE","repulsor_zombie_mp"); + } + + wait(2); + var_09 = spawn("script_model",(0,0,0)); + var_09 setmodel("genericprop_x3"); + var_0A = spawn("script_model",(0,0,0)); + var_0A setmodel("tag_player"); + var_0A vehicle_jetbikesethoverforcescale(var_09,param_01,(0,0,0),(0,0,0)); + for(;;) + { + while(getdvarint(param_03,0) == 0) + { + wait 0.05; + } + + level.player playerlinkweaponviewtodelta(var_0A,"tag_player",1,0,0,0,0,1); + level.player playerlinkedsetviewznear(0); + level.player hide(); + var_09 scriptmodelplayanimdeltamotionfrompos(param_00,var_04.origin,var_04.angles,"camera_notetrack"); + foreach(var_0C in param_02) + { + level thread donotetrack(var_09,"camera_notetrack",var_0C); + } + + wait(1); + while(getdvarint(param_03,0) == 1) + { + wait 0.05; + } + + var_09 notify("notetrackDone"); + level.player show(); + level.player unlink(); + var_09 scriptmodelclearanim(); + wait(1); + } +} + +//Function Number: 60 +donotetrack(param_00,param_01,param_02,param_03) +{ + param_00 endon("notetrackDone"); + param_00 waittillmatch(param_02,param_01); + if(param_02 == "trigger_decontamination") + { + var_04 = getentarray("perk_terminal","targetname"); + foreach(var_06 in var_04) + { + if(var_06.trigger.itemtype == "host_cure") + { + var_06.trigger thread maps\mp\zombies\_terminals::perkterminalactivatehostcure(5); + } + } + } + else if(param_02 == "open_doors") + { + foreach(var_09 in level.zombiedoors) + { + var_09 notify("open",level.player); + } + } + + level notify(param_02); +} + +//Function Number: 61 +setupscriptmodelanimation(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = common_scripts\utility::getstruct("env_bink_anim_node","targetname"); + if(!isdefined(var_05)) + { + var_05 = spawnstruct(); + var_05.origin = (0,3584,88); + } + + if(!isdefined(var_05.angles)) + { + var_05.angles = (0,0,0); + } + + if(!isdefined(param_03)) + { + param_03 = []; + } + + var_06 = spawn("script_model",(0,0,0)); + var_06 setmodel(param_01); + for(;;) + { + while(getdvarint(param_04,0) == 0) + { + wait 0.05; + } + + if(isdefined(param_02)) + { + level waittill(param_02); + } + + var_06 scriptmodelplayanimdeltamotionfrompos(param_00,var_05.origin,var_05.angles,"ent_notetrack"); + foreach(var_08 in param_03) + { + level thread donotetrack(var_06,"ent_notetrack",var_08); + } + + wait(1); + while(getdvarint(param_04,0) == 1) + { + wait 0.05; + } + + var_06 notify("notetrackDone"); + var_06 scriptmodelclearanim(); + wait(1); + } +} + +//Function Number: 62 +exoreveal() +{ + level waittill("power_cargo_01"); + foreach(var_01 in level.terminals["exo_suit"]) + { + if(maps\mp\zombies\_util::isusetriggerprimary(var_01)) + { + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("exo_reveal"),var_01.modelent,"tag_origin"); + } + } +} + +//Function Number: 63 +spawnpatchclipfixes() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(68,-773,1088),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(68,-773,1344),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1168,-1898,1456),(0,90,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1168,-1874,1456),(0,90,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1168,-1852,1456),(0,90,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1168,-1178,1456),(0,90,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1168,-1154,1456),(0,90,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-1168,-1132,1456),(0,90,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-1634.5,1281,928),(0,90,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-1891,1075,824),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-1891,1075,867),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-924,338,1267.5),(0,90,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-924,338,1203.5),(0,90,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(-924,338,1159.5),(0,90,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(264,2532,961),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(264,2526,961),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(264,2532,1025),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(264,2526,1025),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(264,2532,1089),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(264,2526,1089),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(264,2532,1147),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(264,2526,1147),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(1434,-74.5,864),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(1434,-94.5,864),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(1434,-74.5,928),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(1434,-94.5,928),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(1434,-74.5,992),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(1434,-94.5,992),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(1434,-74.5,1056),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(1434,-94.5,1056),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1088,768,848),(0,225,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1088,64,848),(0,315,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(316,619,1030),(360,228.599,46.1996)); +} + +//Function Number: 64 +zombiearkpatchshove(param_00,param_01) +{ + if(param_01) + { + if(self.currentzone == "sidebay") + { + if(self.origin[2] >= 1010 && self.origin[2] <= 1012) + { + if(self.origin[0] >= -1670 && self.origin[0] <= -1625 && self.origin[1] >= -693 && self.origin[1] <= -446) + { + self setvelocity((200,0,0)); + } + } + + if(self.origin[2] >= 1073 && self.origin[2] <= 1075) + { + if(self.origin[0] >= -1080 && self.origin[0] <= -970 && self.origin[1] >= -1985 && self.origin[1] <= -1975) + { + self setvelocity((0,-200,0)); + } + } + + if(distancesquared(self.origin,(-1136,-1982,1095)) < 144) + { + self setvelocity((0,-200,0)); + return; + } + + return; + } + + if(self.currentzone == "armory") + { + if(distancesquared(self.origin,(-1036,1057,1127)) < 144) + { + var_02 = self getnearestnode(); + if(isdefined(var_02) && abs(var_02.origin[2] - self.origin[2]) > 120) + { + var_03 = vectornormalize(var_02.origin - self.origin * (1,1,0)); + self setvelocity(var_03 * 100); + return; + } + + return; + } + + return; + } + + if(self.currentzone == "rearbay") + { + if(distancesquared(self.origin,(-757,-1167,879)) < 144) + { + self setvelocity((-200,0,0)); + } + + if(distancesquared(self.origin,(-867,-2016,1120)) < 144) + { + self setvelocity((200,0,0)); + return; + } + + return; + } + + return; + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_zombie_ark_aud.gsc b/AW/PC/maps/mp/mp_zombie_ark_aud.gsc new file mode 100644 index 0000000..8fb521a --- /dev/null +++ b/AW/PC/maps/mp/mp_zombie_ark_aud.gsc @@ -0,0 +1,581 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_zombie_ark_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 44 + * Decompile Time: 725 ms + * Timestamp: 4/22/2024 2:18:53 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + thread onplayerconnectedaudio(); + level.radioalive = 1; + level.radioent1 = spawn("script_origin",(21316,853,742)); + level.radioent2 = spawn("script_origin",(21316,853,742)); + level.radioent3 = spawn("script_origin",(21316,853,742)); + level.radioent4 = spawn("script_origin",(21316,853,742)); + level.radioent5 = spawn("script_origin",(21316,853,742)); + level.radiostate = 1; + thread radioswitchinit(); + level.customzombiemusicstates = ::customzombiemusicstates; + level.aud_drunk_ent = spawn("script_origin",(0,0,0)); + level.aud_cage_playing = 0; + level.aud_plinko_moving = 0; + level.aud_play_stop_sound = 0; + level.aud_plinko_ent = spawn("script_origin",(-128,803,1149)); + level.aud_plinko_gate_last_loc = 0; + level.aud_plinko_machine_activated = 0; +} + +//Function Number: 2 +onplayerconnectedaudio() +{ + for(;;) + { + level waittill("connected",var_00); + var_00 clientaddsoundsubmix("master_mix"); + var_00 clientaddsoundsubmix("mute_security"); + } +} + +//Function Number: 3 +customzombiemusicstates() +{ + level thread maps\mp\zombies\_zombies_music::setupmusicstate(1,"round_normal",["zmb_mus_wave_07_lp","zmb_mus_wave_08_lp","zmb_mus_wave_05_lp","zmb_mus_wave_06_lp"],0,1,1,1); + level thread maps\mp\zombies\_zombies_music::setupmusicstate(1,"round_zombie_dog",["zmb_mus_spec_02_lp","zmb_mus_wave_06_lp","zmb_mus_wave_04_lp"],0,1,1,1); + level thread maps\mp\zombies\_zombies_music::setupmusicstate(1,"round_zombie_host",["zmb_mus_spec_02_lp","zmb_mus_wave_06_lp","zmb_mus_wave_04_lp"],0,1,1,1); + level thread maps\mp\zombies\_zombies_music::setupmusicstate(2,"round_intermission",["zmb_mus_postround","zmb_mus_postround_02","zmb_mus_postround_03","zmb_mus_postround_04"],0,1,1,0); + level thread maps\mp\zombies\_zombies_music::setupmusicstate(0,"victory","zmb_mus_victory",0,0,0,0); +} + +//Function Number: 4 +grenade_in_hopper() +{ + level.aud_plinko_machine_activated = 1; + playsoundatpos((-130,803,1157),"plinko_gren_in_hopper"); +} + +//Function Number: 5 +gate_moving(param_00,param_01) +{ + if(param_00 < 0.2) + { + return; + } + + if(param_00 < 1) + { + if(abs(level.aud_plinko_gate_last_loc - param_01) > 30) + { + playsoundatpos((-128,803,1149),"plinko_hopper_move_start_fast"); + level.aud_play_stop_sound = 1; + } + else + { + playsoundatpos((-128,803,1149),"plinko_hopper_move_start"); + } + + level.aud_plinko_moving = 1; + level.aud_plinko_ent playloopsound("plinko_hopper_move"); + level.aud_plinko_gate_last_loc = param_01; + return; + } + + if(level.aud_plinko_moving == 0) + { + level.aud_plinko_moving = 1; + level.aud_play_stop_sound = 1; + playsoundatpos((-128,803,1149),"plinko_hopper_move_start"); + if(level.aud_plinko_machine_activated) + { + level.aud_plinko_ent playloopsound("plinko_hopper_move"); + return; + } + + return; + } +} + +//Function Number: 6 +gate_stopped() +{ + self endon("gates_moved"); + wait(0.1); + if(level.aud_plinko_moving) + { + level.aud_plinko_ent stoploopsound(); + level.aud_plinko_moving = 0; + if(level.aud_play_stop_sound) + { + playsoundatpos((-128,803,1149),"plinko_hopper_move_stop"); + level.aud_play_stop_sound = 0; + } + } +} + +//Function Number: 7 +got_code() +{ + self playlocalsound("ee_code_pickup"); +} + +//Function Number: 8 +code_accepted() +{ + self playlocalsound("ee_code_accept"); +} + +//Function Number: 9 +idle_shark_sound() +{ + for(;;) + { + self waittillmatch("shark_anim_start","shark_notetrack"); + self playsoundonmovingent("zombie_shark_in_tank"); + } +} + +//Function Number: 10 +start_obstacle_course() +{ + activateclientexploder(200); +} + +//Function Number: 11 +stop_obstacle_course() +{ + stopclientexploder(200); + foreach(var_01 in level.players) + { + var_01 thread mute_obstacle_field_hum(); + } +} + +//Function Number: 12 +mute_obstacle_field_hum() +{ + self clientaddsoundsubmix("mute_security2"); + wait(2); + self clientclearsoundsubmix("mute_security2"); +} + +//Function Number: 13 +throw_rum_bottle(param_00) +{ + wait(0.3); + param_00 playsound("ee_bottle_drop"); +} + +//Function Number: 14 +drink_rum() +{ + if(maps\mp\zombies\_util::is_true(self.intoxicated)) + { + return; + } + + var_00 = "pilot_drink_exert"; + self playlocalsound("ee_drink_rum"); + wait(0.75); + switch(self.characterindex) + { + case 0: + var_00 = "guard_drink_exert"; + break; + + case 1: + var_00 = "exec_drink_exert"; + break; + + case 2: + var_00 = "it_drink_exert"; + break; + + case 3: + default: + if(maps\mp\zombies\_util::getzombieslevelnum() < 3) + { + var_00 = "janitor_drink_exert"; + } + break; + } + + self.isspeaking = 1; + self playlocalsound(var_00); + wait(0.75); + self clientclearsoundsubmix("mute_security"); + self clientaddsoundsubmix("infected"); + level.aud_drunk_ent playloopsound("ee_drunk_loop"); + self.isspeaking = 0; +} + +//Function Number: 15 +rum_wears_off(param_00) +{ + param_00 clientaddsoundsubmix("mute_security"); + param_00 clientclearsoundsubmix("infected"); + wait(5); + level.aud_drunk_ent stoploopsound(); +} + +//Function Number: 16 +obstacle_course_complete() +{ + foreach(var_01 in level.players) + { + var_01 playlocalsound("ee_obstacle_course_complete"); + } +} + +//Function Number: 17 +teleporter_parts_missing() +{ + playsoundatpos((-1869,1181,815),"teleporter_broken"); +} + +//Function Number: 18 +teleporter_place_parts(param_00) +{ + self playlocalsound("ee_teleport_machine_repair"); + wait(1); + playsoundatpos((-1869,1181,815),"teleporter_repair_progress_" + param_00); +} + +//Function Number: 19 +teleporter_repaired() +{ + playsoundatpos((-1869,1181,815),"teleporter_power_on"); + var_00 = spawn("script_origin",(-1869,1181,815)); + var_00 playloopsound("teleporter_hum"); +} + +//Function Number: 20 +get_weapon_disposal_item(param_00) +{ + self playlocalsound("ee_fishing_grab_item"); +} + +//Function Number: 21 +use_fishing_item(param_00) +{ + if(param_00 == "reel") + { + playsoundatpos((-1647,-543,1017),"ee_fishing_install_reel"); + return; + } + + if(param_00 == "line") + { + playsoundatpos((-1647,-543,1017),"ee_fishing_install_line"); + return; + } + + if(param_00 == "hook") + { + playsoundatpos((-1647,-543,1017),"ee_fishing_install_hook"); + return; + } +} + +//Function Number: 22 +fishing_cast_line() +{ + playsoundatpos((-1647,-543,1017),"ee_fishing_cast_line"); + wait(2); + playsoundatpos((-1715,-543,903),"ee_fishing_cast_splash"); +} + +//Function Number: 23 +fishing_retrieve_line() +{ + wait(0.5); + playsoundatpos((-1647,-543,1017),"ee_fishing_retrieve_line"); + wait(1.3); + playsoundatpos((-1715,-543,903),"ee_fishing_retrieve_splash"); +} + +//Function Number: 24 +fishing_drop_item() +{ + self playlocalsound("ee_fishing_drop_item"); + wait(0.8); + playsoundatpos((-1715,-543,903),"ee_fishing_cast_splash"); +} + +//Function Number: 25 +fishing_grab_item(param_00) +{ + self playlocalsound("ee_fishing_grab_item"); +} + +//Function Number: 26 +island_timer_start() +{ + self endon("disconnect"); + wait(5); + self playlocalsound("ee_island_timer"); +} + +//Function Number: 27 +dig() +{ + self playsound("ee_player_dig"); +} + +//Function Number: 28 +treasure_found() +{ + self playsound("ee_treasure_found"); +} + +//Function Number: 29 +treasure_opened() +{ + self playsound("ee_treasure_open"); +} + +//Function Number: 30 +switch_pickup() +{ + self playlocalsound("ee_pickup_cage_switch"); +} + +//Function Number: 31 +switch_place_in_socket() +{ + self playlocalsound("ee_cage_switch_place"); +} + +//Function Number: 32 +cage_switch() +{ + playsoundatpos((157,602,890),"ee_cage_switch_throw"); +} + +//Function Number: 33 +cage_down() +{ + playsoundatpos((731,420,958),"ee_shark_cage_lower"); + playsoundatpos((731,420,793),"zark_moonpool_doors_open"); + wait(3.5); + playsoundatpos((731,420,793),"ee_shark_cage_splash"); +} + +//Function Number: 34 +cage_up() +{ + if(level.aud_cage_playing == 0) + { + level.aud_cage_playing = 1; + playsoundatpos((731,420,958),"ee_shark_cage_raise"); + wait(2.5); + playsoundatpos((731,420,793),"zark_moonpool_doors_close"); + wait(5); + level.aud_cage_playing = 0; + } +} + +//Function Number: 35 +shark_enters() +{ +} + +//Function Number: 36 +shark_loop() +{ +} + +//Function Number: 37 +shark_leaves() +{ +} + +//Function Number: 38 +shark_attack(param_00) +{ + param_00 playlocalsound("ee_shark_attack"); +} + +//Function Number: 39 +grab_eyeball() +{ + self playlocalsound("ee_eyeball"); +} + +//Function Number: 40 +open_locker(param_00) +{ + playsoundatpos(param_00.origin,"ee_locker_opened"); +} + +//Function Number: 41 +radioswitchinit() +{ + thread radioalivemonitor(); + var_00 = getent("island_radio","targetname"); + var_01 = common_scripts\utility::cointoss(); + var_02 = "temp"; + if(var_01 == 0) + { + var_02 = "zmb_mus_radio_04"; + } + else + { + var_02 = "zmb_mus_radio_05"; + } + + level.radioent2 scalevolume(0.02,0.1); + level.radioent3 scalevolume(0.02,0.1); + level.radioent4 scalevolume(0.02,0.1); + level.radioent1 playloopsound("zmb_mus_radio_01"); + level.radioent2 playloopsound("zmb_mus_radio_02"); + level.radioent3 playloopsound("zmb_mus_radio_03"); + level.radioent4 playloopsound(var_02); + if(isdefined(var_00)) + { + for(;;) + { + var_00 waittill("trigger"); + if(level.radioalive == 1) + { + radiochangestation(); + level.radioent5 playsound("zmb_radio_change"); + } + + if(level.radioalive == 0) + { + } + } + } +} + +//Function Number: 42 +radiochangestation() +{ + if(level.radiostate == 1) + { + radiosetvolumes(2); + level.radiostate = 2; + return; + } + + if(level.radiostate == 2) + { + radiosetvolumes(3); + level.radiostate = 3; + return; + } + + if(level.radiostate == 3) + { + radiosetvolumes(1); + level.radiostate = 4; + return; + } + + if(level.radiostate == 4) + { + radiosetvolumes(2); + level.radiostate = 5; + return; + } + + if(level.radiostate == 5) + { + radiosetvolumes(3); + level.radiostate = 6; + return; + } + + if(level.radiostate == 6) + { + radiosetvolumes(1); + level.radiostate = 7; + return; + } + + if(level.radiostate == 7) + { + radiosetvolumes(2); + level.radiostate = 8; + return; + } + + if(level.radiostate == 8) + { + radiosetvolumes(3); + level.radiostate = 9; + return; + } + + if(level.radiostate == 9) + { + radiosetvolumes(1); + level.radiostate = 10; + return; + } + + if(level.radiostate == 10) + { + radiosetvolumes(2); + level.radiostate = 11; + return; + } + + if(level.radiostate == 11) + { + radiosetvolumes(3); + level.radiostate = 12; + return; + } + + if(level.radiostate == 12) + { + radiosetvolumes(1); + level.radiostate = 13; + return; + } + + if(level.radiostate == 13) + { + radiosetvolumes(4); + level.radiostate = 1; + return; + } +} + +//Function Number: 43 +radiosetvolumes(param_00) +{ + var_01[1] = level.radioent1; + var_01[2] = level.radioent2; + var_01[3] = level.radioent3; + var_01[4] = level.radioent4; + var_01[1] scalevolume(0.02,0.1); + var_01[2] scalevolume(0.02,0.1); + var_01[3] scalevolume(0.02,0.1); + var_01[4] scalevolume(0.02,0.1); + var_01[param_00] scalevolume(1,0.1); +} + +//Function Number: 44 +radioalivemonitor() +{ + var_00 = getent("island_radio_dmg","targetname"); + wait(0.5); + var_00 waittill("trigger",var_01); + level.radioalive = 0; + level.radioent1 scalevolume(0,0.1); + level.radioent2 scalevolume(0,0.1); + level.radioent3 scalevolume(0,0.1); + level.radioent4 scalevolume(0,0.1); + wait(1); + level.radioent1 delete(); + level.radioent2 delete(); + level.radioent3 delete(); + level.radioent4 delete(); + level.radioent5 delete(); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_zombie_ark_fx.gsc b/AW/PC/maps/mp/mp_zombie_ark_fx.gsc new file mode 100644 index 0000000..80d51a9 --- /dev/null +++ b/AW/PC/maps/mp/mp_zombie_ark_fx.gsc @@ -0,0 +1,102 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_zombie_ark_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 37 ms + * Timestamp: 4/22/2024 2:18:53 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["ark_security_field_runner"] = loadfx("vfx/map/mp_zombie_ark/ark_security_field_runner"); + level._effect["ark_jellyfish_bubble_tanks"] = loadfx("vfx/map/mp_zombie_ark/ark_jellyfish_bubble_tanks"); + level._effect["ark_medbay_red_flare"] = loadfx("vfx/lights/mp_zombie_ark/ark_medbay_red_flare"); + level._effect["ark_neontube_flare_warm"] = loadfx("vfx/lights/mp_zombie_ark/ark_neontube_flare_warm"); + level._effect["ark_fire_drips"] = loadfx("vfx/map/mp_zombie_ark/ark_fire_drips"); + level._effect["ark_light_spotlight_cone_blue"] = loadfx("vfx/lights/mp_zombie_ark/ark_light_spotlight_cone_blue"); + level._effect["ark_light_vol_smoke_dim"] = loadfx("vfx/map/mp_zombie_ark/ark_light_vol_smoke_dim"); + level._effect["ark_neontube_flare_sm"] = loadfx("vfx/lights/mp_zombie_ark/ark_neontube_flare_sm"); + level._effect["ark_light_spotlight_cone"] = loadfx("vfx/lights/mp_zombie_ark/ark_light_spotlight_cone"); + level._effect["ark_water_bubble_aquarium_red"] = loadfx("vfx/map/mp_zombie_ark/ark_water_bubble_aquarium_red"); + level._effect["dlc_zombie_watertank_gore"] = loadfx("vfx/blood/dlc_zombie_watertank_gore"); + level._effect["ark_moonpool_vol"] = loadfx("vfx/map/mp_zombie_ark/ark_moonpool_vol"); + level._effect["ark_green_goo_drips_lp"] = loadfx("vfx/map/mp_zombie_ark/ark_green_goo_drips_lp"); + level._effect["ark_goo_pool_splash_med_lp"] = loadfx("vfx/map/mp_zombie_ark/ark_goo_pool_splash_med_lp"); + level._effect["ark_steam_ambient_vents"] = loadfx("vfx/map/mp_zombie_ark/ark_steam_ambient_vents"); + level._effect["ark_light_vol_smoke_closets"] = loadfx("vfx/map/mp_zombie_ark/ark_light_vol_smoke_closets"); + level._effect["falling_water_drip_circle_lg_runner_fast"] = loadfx("vfx/water/falling_water_drip_circle_lg_runner_fast"); + level._effect["ark_water_bubble_tanks"] = loadfx("vfx/map/mp_zombie_ark/ark_water_bubble_tanks"); + level._effect["water_trap_jet"] = loadfx("vfx/water/dlc/water_trap_jet"); + level._effect["water_trap_bubbler"] = loadfx("vfx/water/dlc/water_trap_bubbler"); + level._effect["ark_longlight_warm_flare"] = loadfx("vfx/lights/mp_zombie_ark/ark_longlight_warm_flare"); + level._effect["ark_overhead_flare"] = loadfx("vfx/lights/mp_zombie_ark/ark_overhead_flare"); + level._effect["ark_neontube_flare"] = loadfx("vfx/lights/mp_zombie_ark/ark_neontube_flare"); + level._effect["mp_plex_wavebreaks_runner"] = loadfx("vfx/map/mp_perplex/mp_plex_wavebreaks_runner"); + level._effect["ark_longlight_flare"] = loadfx("vfx/lights/mp_zombie_ark/ark_longlight_flare"); + level._effect["ark_steam_pipe_burst_lp_sm_02"] = loadfx("vfx/map/mp_zombie_ark/ark_steam_pipe_burst_lp_sm_02"); + level._effect["ark_water_edge_splashes_rear"] = loadfx("vfx/map/mp_zombie_ark/ark_water_edge_splashes_rear"); + level._effect["ark_water_edge_splashes_flip"] = loadfx("vfx/map/mp_zombie_ark/ark_water_edge_splashes_flip"); + level._effect["water_flow_rain_gutter_small"] = loadfx("vfx/water/water_flow_rain_gutter_small"); + level._effect["ark_water_edge_splashes"] = loadfx("vfx/map/mp_zombie_ark/ark_water_edge_splashes"); + level._effect["ark_water_bubble_aquarium"] = loadfx("vfx/map/mp_zombie_ark/ark_water_bubble_aquarium"); + level._effect["ark_moon_pool_water_overhead"] = loadfx("vfx/map/mp_zombie_ark/ark_moon_pool_water_overhead"); + level._effect["bird_seagull_flock_large_group_loop"] = loadfx("vfx/animal/bird_seagull_flock_large_group_loop"); + level._effect["rain_splash_sm_50x10_lp"] = loadfx("vfx/rain/rain_splash_sm_50x10_lp"); + level._effect["water_edge_splashes_rnr"] = loadfx("vfx/water/water_edge_splashes_rnr"); + level._effect["electrical_sparks_runner_slit_sm"] = loadfx("vfx/explosion/electrical_sparks_runner_slit_sm"); + level._effect["ark_fire_sm"] = loadfx("vfx/map/mp_zombie_ark/ark_fire_sm"); + level._effect["blood_impact_shark_nodecal"] = loadfx("vfx/map/mp_zombie_ark/blood_impact_shark_nodecal"); + level._effect["blood_drip_shark_lp"] = loadfx("vfx/map/mp_zombie_ark/blood_drip_shark_lp"); + level._effect["spark_exo_door_fast_sm_02_runner"] = loadfx("vfx/sparks/spark_exo_door_fast_sm_02_runner"); + level._effect["spark_exo_door_fast_sm_02"] = loadfx("vfx/sparks/spark_exo_door_fast_sm_02"); + level._effect["light_rays_moving_01_nosteam"] = loadfx("vfx/lights/light_rays_moving_01_nosteam"); + level._effect["ark_steam_goo_pool"] = loadfx("vfx/map/mp_zombie_ark/ark_steam_goo_pool"); + level._effect["ark_embers_constant_lg"] = loadfx("vfx/map/mp_zombie_ark/ark_embers_constant_lg"); + level._effect["ark_steam_fall_moonpool"] = loadfx("vfx/map/mp_zombie_ark/ark_steam_fall_moonpool"); + level._effect["ark_mp_hr2_water_spray_sm"] = loadfx("vfx/map/mp_zombie_ark/ark_mp_hr2_water_spray_sm"); + level._effect["ark_mp_hr2_water_spray_narrow"] = loadfx("vfx/map/mp_zombie_ark/ark_mp_hr2_water_spray_narrow"); + level._effect["ark_water_bubble_shark_tank"] = loadfx("vfx/map/mp_zombie_ark/ark_water_bubble_shark_tank"); + level._effect["ark_fire_falling_debris"] = loadfx("vfx/map/mp_zombie_ark/ark_fire_falling_debris"); + level._effect["ark_ship_dripping_fire"] = loadfx("vfx/map/mp_zombie_ark/ark_ship_dripping_fire"); + level._effect["embers_constant_sm"] = loadfx("vfx/fire/embers_constant_sm"); + level._effect["bla_falling_goo_ark"] = loadfx("vfx/map/mp_blackbox/bla_falling_goo_ark"); + level._effect["wind_gust_river_mist_ark"] = loadfx("vfx/wind/wind_gust_river_mist_ark"); + level._effect["mp_tor_river_mist"] = loadfx("vfx/map/mp_torqued/mp_tor_river_mist"); + level._effect["mp_spark_fire_edge"] = loadfx("vfx/map/mp_spark/mp_spark_fire_edge"); + level._effect["mp_spark_fire_fall_runner"] = loadfx("vfx/map/mp_spark/mp_spark_fire_fall_runner"); + level._effect["ark_steam_fall_spawn"] = loadfx("vfx/map/mp_zombie_ark/ark_steam_fall_spawn"); + level._effect["ark_steam_stack"] = loadfx("vfx/map/mp_zombie_ark/ark_steam_stack"); + level._effect["ark_smoke_column"] = loadfx("vfx/map/mp_zombie_ark/ark_smoke_column"); + level._effect["ark_fire_m"] = loadfx("vfx/map/mp_zombie_ark/ark_fire_m"); + level._effect["ark_fire_oil"] = loadfx("vfx/map/mp_zombie_ark/ark_fire_oil"); + level._effect["ark_flare_medbay"] = loadfx("vfx/map/mp_zombie_ark/ark_flare_medbay"); + level._effect["ark_light_vol_smoke"] = loadfx("vfx/map/mp_zombie_ark/ark_light_vol_smoke"); + level._effect["ark_steam_low_rise"] = loadfx("vfx/map/mp_zombie_ark/ark_steam_low_rise"); + level._effect["ark_steam_low"] = loadfx("vfx/map/mp_zombie_ark/ark_steam_low"); + level._effect["ark_dry_ice_flat"] = loadfx("vfx/map/mp_zombie_ark/ark_dry_ice_flat"); + level._effect["ark_flare_long"] = loadfx("vfx/map/mp_zombie_ark/ark_flare_long"); + level._effect["ark_steam_pipe_fall"] = loadfx("vfx/map/mp_zombie_ark/ark_steam_pipe_fall"); + level._effect["ark_steam_small"] = loadfx("vfx/steam/dlc/steam_pipe_burst_lp_sm_02"); + level._effect["test_effect"] = loadfx("vfx/test/test_fx"); + level._effect["turret_distortion"] = loadfx("vfx/muzzleflash/dlc_sentry_disruptor_wave"); + level._effect["gas_door"] = loadfx("vfx/gameplay/mp/zombie/dlc2_host_cloud_doorway"); + level._effect["ark_area_den_6"] = loadfx("vfx/map/mp_zombie_ark/ark_area_den_6"); + level._effect["ark_area_den_5"] = loadfx("vfx/map/mp_zombie_ark/ark_area_den_5"); + level._effect["ark_area_den_4"] = loadfx("vfx/map/mp_zombie_ark/ark_area_den_4"); + level._effect["ark_area_den_3"] = loadfx("vfx/map/mp_zombie_ark/ark_area_den_3"); + level._effect["ark_area_den_2"] = loadfx("vfx/map/mp_zombie_ark/ark_area_den_2"); + level._effect["ark_area_den_1"] = loadfx("vfx/map/mp_zombie_ark/ark_area_den_1"); + level._effect["ark_steam_active"] = loadfx("vfx/steam/dlc/steam_pipe_trap"); + level._effect["zombie_death_vaporize"] = loadfx("vfx/map/mp_solar/solar_killstreak_death"); + level._effect["station_upgrade_exo_tactarmor_pwr_on"] = loadfx("vfx/props/dlc_prop_exo_upg_icon_stock_pwr_on"); + level._effect["station_upgrade_exo_tactarmor_pwr_off"] = loadfx("vfx/props/dlc_prop_exo_upg_icon_stock_pwr_off"); + level._effect["zombie_eye_host_pilot"] = loadfx("vfx/gameplay/mp/zombie/dlc_campbell_eyes_host"); + level._effect["dlc_teleport_in"] = loadfx("vfx/unique/dlc_teleport_in"); + level._effect["dlc_teleport_tunnel_player"] = loadfx("vfx/unique/dlc_teleport_tunnel_player"); + level._effect["dlc_prop_exo_teleport_pwr_off"] = loadfx("vfx/props/dlc_prop_exo_teleport_pwr_off"); + level._effect["dlc_prop_exo_teleport_pwr_on"] = loadfx("vfx/props/dlc_prop_exo_teleport_pwr_on"); + level._effect["exo_reveal"] = loadfx("vfx/props/dlc_prop_exo_buy_fx_main"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_zombie_ark_lighting.gsc b/AW/PC/maps/mp/mp_zombie_ark_lighting.gsc new file mode 100644 index 0000000..c86edaa --- /dev/null +++ b/AW/PC/maps/mp/mp_zombie_ark_lighting.gsc @@ -0,0 +1,24 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_zombie_ark_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 43 ms + * Timestamp: 4/22/2024 2:18:53 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + set_level_lighting_values(); +} + +//Function Number: 2 +set_level_lighting_values() +{ + if(isusinghdr()) + { + setdvar("r_disablelightsets",0); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_zombie_ark_precache.gsc b/AW/PC/maps/mp/mp_zombie_ark_precache.gsc new file mode 100644 index 0000000..6cbbc24 --- /dev/null +++ b/AW/PC/maps/mp/mp_zombie_ark_precache.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_zombie_ark_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:18:54 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_zombie_ark_sq.gsc b/AW/PC/maps/mp/mp_zombie_ark_sq.gsc new file mode 100644 index 0000000..e3302c9 --- /dev/null +++ b/AW/PC/maps/mp/mp_zombie_ark_sq.gsc @@ -0,0 +1,4808 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_zombie_ark_sq.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 242 + * Decompile Time: 3765 ms + * Timestamp: 4/22/2024 2:19:05 AM +*******************************************************************/ + +//Function Number: 1 +init_sidequest() +{ + maps\mp\zombies\_zombies_sidequests::declare_sidequest("main",::init_main_sidequest,::sidequest_logic,::complete_sidequest,::generic_stage_start,::generic_stage_complete); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage1",::stage1_init,::stage1_logic,::stage1_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage2",::stage2_init,::stage2_logic,::stage2_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest("fishing",::init_fishing_sidequest,::sidequest_fishing_logic,::complete_sidequest,::generic_stage_start,::generic_stage_complete); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("fishing","stage1",::fishing_stage1_init,::fishing_stage1_logic,::fishing_stage1_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest("code1",::init_code1_sidequest,::sidequest_code1_logic,::complete_sidequest,::generic_stage_start,::generic_stage_complete,"code3"); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("code1","stage1",::code1_stage1_init,::code1_stage1_logic,::code1_stage1_end,"code3"); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("code1","stage2",::code1_stage2_init,::code1_stage2_logic,::code1_stage2_end,"code3"); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("code1","stage3",::code1_stage3_init,::code1_stage3_logic,::code1_stage3_end,"code3"); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("code1","stage4",::code1_stage4_init,::code1_stage4_logic,::code1_stage4_end,"code3"); + maps\mp\zombies\_zombies_sidequests::declare_sidequest("code2",::init_code2_sidequest,::sidequest_code2_logic,::complete_sidequest,::generic_stage_start,::generic_stage_complete,"code2"); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("code2","stage1",::code2_stage1_init,::code2_stage1_logic,::code2_stage1_end,"code2"); + maps\mp\zombies\_zombies_sidequests::declare_sidequest("code3",::init_code3_sidequest,::sidequest_code3_logic,::complete_sidequest,::generic_stage_start,::generic_stage_complete,"code4"); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("code3","stage1",::code3_stage1_init,::code3_stage1_logic,::code3_stage1_end,"code4"); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("code3","stage2",::code3_stage2_init,::code3_stage2_logic,::code3_stage2_end,"code4"); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("code3","stage3",::code3_stage3_init,::code3_stage3_logic,::code3_stage3_end,"code4"); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("code3","stage4",::code3_stage4_init,::code3_stage4_logic,::code3_stage4_end,"code4"); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("code3","stage5",::code3_stage5_init,::code3_stage5_logic,::code3_stage5_end,"code4"); + maps\mp\zombies\_zombies_sidequests::declare_sidequest("code4",::init_code4_sidequest,::sidequest_code4_logic,::complete_sidequest,::generic_stage_start,::generic_stage_complete,"code1"); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("code4","stage1",::code4_stage1_init,::code4_stage1_logic,::code4_stage1_end,"code1"); + maps\mp\zombies\_zombies_sidequests::declare_sidequest("song",::init_song_sidequest,::sidequest_logic_song); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("song","stage1",::songstage1_init,::songstage1_logic,::songstage1_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("song","stage2",::songstage2_init,::songstage2_logic,::songstage2_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("song","stage3",::songstage3_init,::songstage3_logic,::songstage3_end); + common_scripts\utility::flag_init("sq_plinko"); + level._effect["sq_island_timer"] = loadfx("vfx/unique/dlc_island_timer"); + level._effect["sq_dirt_dig"] = loadfx("vfx/gameplay/mp/zombie/dlc_sand_dig"); + level._effect["sq_fishing_splash"] = loadfx("vfx/water/dlc/water_fishing_splash"); + level._effect["sq_chum"] = loadfx("vfx/blood/dlc_zombie_blood_drip_chum"); + level._effect["sq_door_light_green"] = loadfx("vfx/gameplay/mp/zombie/dlc_engroom_light_green"); + level._effect["sq_door_light_red"] = loadfx("vfx/gameplay/mp/zombie/dlc_engroom_light_red"); + level._effect["dlc_prop_biometric_lock_on"] = loadfx("vfx/props/dlc_prop_biometric_lock_on"); + level._effect["dlc_prop_biometric_lock_pass"] = loadfx("vfx/props/dlc_prop_biometric_lock_pass"); + level._sidequest_counter_base_x = 110; + level._sidequest_counter_base_y = -70; + level.shouldignoreplayercallback = ::arkshouldignoreplayer; + level thread onanyplayerspawned(); + level thread startarksidequest(); + level thread initvo(); + level thread weapondisposallogic(); + level thread runozextras(); +} + +//Function Number: 2 +createfxhidesidquestents() +{ + if(getdvar("createfx") != "" || getdvar("r_reflectionProbeGenerate") == "1") + { + var_00 = getentarray("sqSecurityField","targetname"); + foreach(var_02 in var_00) + { + if(var_02.classname == "script_brushmodel") + { + var_02 hide(); + } + } + } +} + +//Function Number: 3 +onanyplayerspawned() +{ + for(;;) + { + level waittill("player_spawned",var_00); + if(isdefined(var_00) && var_00 playerhasanyitem()) + { + var_01 = inventoryitemgetid(var_00.inventoryitem); + var_00 setclientomnvar("ui_zm_ee_int",var_01); + } + } +} + +//Function Number: 4 +startarksidequest() +{ + var_00 = common_scripts\utility::getstructarray("power_switch","targetname"); + foreach(var_02 in var_00) + { + if(isdefined(var_02.script_flag) && var_02.script_flag == "zomboni_room") + { + var_02.noattract = 1; + } + } + + var_04 = getentarray("sqSecurityField","targetname"); + level.sqsecurityfieldbrushes = []; + level.sqsecurityfieldtriggers = []; + foreach(var_06 in var_04) + { + if(var_06.classname == "script_brushmodel") + { + level.sqsecurityfieldbrushes[level.sqsecurityfieldbrushes.size] = var_06; + var_06 notsolid(); + var_06 hide(); + continue; + } + + if(var_06.classname == "trigger_multiple") + { + level.sqsecurityfieldtriggers[level.sqsecurityfieldtriggers.size] = var_06; + } + } + + var_08 = getent("sqCageSwitch","targetname"); + if(isdefined(var_08)) + { + var_08 hide(); + } + + var_09 = getent("sqPoolClip","targetname"); + if(isdefined(var_09)) + { + var_09.origin = var_09.origin + (0,0,-1000); + } + + var_0A = getent("sqPoolDoor1","targetname"); + if(isdefined(var_0A)) + { + var_0A.unresolved_collision_func = ::maps\mp\_movers::unresolved_collision_void; + } + + var_0B = getent("sqPoolDoor2","targetname"); + if(isdefined(var_0B)) + { + var_0B.unresolved_collision_func = ::maps\mp\_movers::unresolved_collision_void; + } + + var_0C = getent("sqArm","targetname"); + if(isdefined(var_0C)) + { + var_0C hide(); + } + + var_0D = getent("sqIslandCrate2","targetname"); + if(isdefined(var_0D)) + { + var_0D hide(); + } + + var_0E = getent("sqCode2","targetname"); + if(isdefined(var_0E)) + { + var_0E hide(); + } + + var_0E = getent("sqCode3","targetname"); + if(isdefined(var_0E)) + { + var_0E hide(); + } + + var_0F = getent("sqTeleporterLights","targetname"); + if(isdefined(var_0F)) + { + level thread setupteleportlightmodel(var_0F,0); + } + + var_10 = getentarray("sqTeleportLight","targetname"); + foreach(var_12 in var_10) + { + level thread setupteleportlight(var_12,0); + } + + level.waterplayerhandledamagefunc = ::playerhandlewaterdamageark; + level.gamemodeonunderwater = ::playerunderwater; + level thread chumwaters(); + level thread setupsharkcage(); + wait(1); + thread maps\mp\zombies\_zombies_sidequests::sidequest_start("main"); + thread maps\mp\zombies\_zombies_sidequests::sidequest_start("song"); +} + +//Function Number: 5 +setupsharkcage() +{ + var_00 = common_scripts\utility::getstruct("shark_anim_node","targetname"); + var_01 = getent("sqCageModel","targetname"); + var_02 = getent("sqCrane","targetname"); + var_03 = getent("sqCage","targetname"); + var_04 = getent("sqCageDoorClip","targetname"); + var_05 = getent("sqCageDoorBottomClip","targetname"); + var_06 = getent("sqCageVolume","targetname"); + if(!isdefined(var_00) || !isdefined(var_01) || !isdefined(var_02) || !isdefined(var_03) || !isdefined(var_04) || !isdefined(var_05) || !isdefined(var_06)) + { + return; + } + + var_06 enablelinkto(); + var_06 vehicle_jetbikesethoverforcescale(var_01); + var_04 vehicle_jetbikesethoverforcescale(var_01); + var_05 vehicle_jetbikesethoverforcescale(var_01); + var_03 vehicle_jetbikesethoverforcescale(var_01); + if(!isdefined(var_00.angles)) + { + var_00.angles = (0,0,0); + } + + wait 0.05; + var_02 scriptmodelplayanimdeltamotionfrompos("zark_sharkcage_start_idle_crane",var_00.origin,var_00.angles,"cageSequence"); + var_01 scriptmodelplayanimdeltamotionfrompos("zark_sharkcage_start_idle_cage",var_00.origin,var_00.angles,"cageSequence"); + wait 0.05; + var_07 = getnodesinradius(var_01.origin,300,0); + var_03.unresolved_collision_nodes = var_07; + var_04.unresolved_collision_nodes = var_07; + var_05.unresolved_collision_nodes = var_07; +} + +//Function Number: 6 +initvo() +{ + wait 0.05; + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","sq","sq","dlc3_easter",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","sq","sq_dlc3",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","machine_all_players","weap_dis","weap_dis",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","machine_all_players","weap_dis_prize","weap_dis_prize",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","machine_all_players","weap_dis_cred","weap_dis_cred",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","global_priority","sq","dlc3_easter",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_all_players","sq","dlc3_easter",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_all_players","weap_dis","weap_dis",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_all_players","weap_dis_cred","weap_dis_cred",undefined); + if(!isdefined(level.sqarm)) + { + level.sqarm = getent("sqArm","targetname"); + } + + level.vox maps\mp\zombies\_zombies_audio::zmbvoxinitspeaker("announcer_zom","zombie_",level.sqarm,0); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_zom","machine_all_players","gimme","gimme",undefined,60); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_zom","machine_all_players","take","take",undefined,50); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_zom","machine_all_players","credits","credits",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_zom","machine_all_players","item","item",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_zom","machine_all_players","pain","pain",undefined,40); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_zom","machine_all_players","noise","noise",undefined,40); +} + +//Function Number: 7 +arkshouldignoreplayer(param_00) +{ + if(isdefined(level.zmplayerinzomboniroom) && level.zmplayerinzomboniroom == param_00) + { + return 1; + } + else if(isdefined(level.sqplayersteleporting) && level.sqplayersteleporting.size > 0 && common_scripts\utility::array_contains(level.sqplayersteleporting,param_00)) + { + return 1; + } + else if(isdefined(param_00.onisland) && param_00.onisland) + { + return 1; + } + else if(param_00 playerisincage()) + { + return 1; + } + + return 0; +} + +//Function Number: 8 +playerintoxicate(param_00,param_01) +{ + if(maps\mp\zombies\_util::isplayerinfected(self) || maps\mp\zombies\_util::isplayerinlaststand(self)) + { + return; + } + + self endon("disconnect"); + self notify("playerIntoxicate"); + self endon("playerIntoxicate"); + if(isdefined(param_00)) + { + wait(param_00); + } + + if(!isdefined(param_01)) + { + param_01 = 60; + } + + thread maps\mp\mp_zombie_ark_aud::drink_rum(); + self.intoxicated = 1; + self notify("update_ground_ref_ent"); + self setclientomnvar("ui_zm_ee_bool2",1); + thread playerintoxicatedhandlemovement(param_01); + thread playerintoxicatedrotateground(param_01); + thread playerintoxicatedhandlescreen(param_01); + thread playerintoxicatedhandlelaststand(); + updateintoxicatedentities(); + common_scripts\utility::waittill_notify_or_timeout("death",param_01); + playerintoxicatefinish(); + self notify("playerIntociateComplete"); +} + +//Function Number: 9 +playerintoxicatefinish() +{ + self setclientomnvar("ui_zm_ee_bool2",0); + self.intoxicated = undefined; + thread maps\mp\mp_zombie_ark_aud::rum_wears_off(self); + updateintoxicatedentities(); + if(playerhasitem("rum")) + { + playertakeitem("rum"); + } +} + +//Function Number: 10 +playerintoxicatedhandlelaststand() +{ + self endon("playerIntociateComplete"); + self endon("death"); + self endon("disconnect"); + var_00 = common_scripts\utility::waittill_any_return_no_endon_death("player_infected","enter_last_stand"); + self notify("playerIntoxicate"); + thread playerintoxicatedhandlemovement(3); + thread playerintoxicatedrotateground(3); + if(var_00 == "enter_last_stand") + { + thread playerintoxicatedhandlescreen(3); + } + + wait(3); + playerintoxicatefinish(); +} + +//Function Number: 11 +playerstopintoxication() +{ + if(maps\mp\zombies\_util::is_true(self.intoxicated)) + { + thread playerintoxicate(undefined,3); + thread maps\mp\mp_zombie_ark_aud::rum_wears_off(self); + } +} + +//Function Number: 12 +stopallplayersintoxication() +{ + foreach(var_01 in level.players) + { + var_01 playerstopintoxication(); + } +} + +//Function Number: 13 +resetallplayersintoxication() +{ + foreach(var_01 in level.players) + { + var_01 playergiveitem("rum"); + } +} + +//Function Number: 14 +playerisintoxicated() +{ + return maps\mp\zombies\_util::is_true(self.intoxicated); +} + +//Function Number: 15 +playerintoxicatedhandlescreen(param_00) +{ + self endon("disconnect"); + self endon("player_infected"); + self notify("playerIntoxicatedHandleScreen"); + self endon("playerIntoxicatedHandleScreen"); + self visionsetpostapplyforplayer("mp_zombie_ark_intoxicated",1); + self lightsetoverrideenableforplayer("mp_zombie_ark_intoxicated",1); + common_scripts\utility::waittill_notify_or_timeout("death",param_00); + self visionsetpostapplyforplayer("",1); + self lightsetoverrideenableforplayer(1); +} + +//Function Number: 16 +playerintoxicatedhandlemovement(param_00) +{ + self endon("disconnect"); + self notify("playerIntoxicatedHandleMovement"); + self endon("playerIntoxicatedHandleMovement"); + if(!isdefined(self.exomovementoff)) + { + maps\mp\zombies\_util::playerallowextendedsprint(0,"intoxicated"); + maps\mp\zombies\_util::playerallowlightweight(0,"intoxicated"); + maps\mp\_utility::playerallowdodge(0,"intoxicated"); + self.exomovementoff = 1; + self.oldmovescaler = self.movespeedscaler; + self.movespeedscaler = 0.75; + maps\mp\gametypes\_weapons::updatemovespeedscale(); + } + + var_01 = gettime() + param_00 * 1000; + var_02 = 5000; + while(gettime() < var_01) + { + if(!isdefined(self.intoxicatedcanexotime) && self ishighjumping() || self isdodging() || self ispowersliding()) + { + maps\mp\_utility::playerallowpowerslide(0,"intoxicated"); + self.intoxicatedcanexotime = gettime() + var_02; + continue; + } + + if(isdefined(self.intoxicatedcanexotime) && gettime() > self.intoxicatedcanexotime) + { + maps\mp\_utility::playerallowpowerslide(1,"intoxicated"); + self.intoxicatedcanexotime = undefined; + } + + wait 0.05; + } + + maps\mp\zombies\_util::playerallowextendedsprint(1,"intoxicated"); + maps\mp\zombies\_util::playerallowlightweight(1,"intoxicated"); + maps\mp\_utility::playerallowdodge(1,"intoxicated"); + if(isdefined(self.intoxicatedcanexotime)) + { + maps\mp\_utility::playerallowhighjump(1,"intoxicated"); + maps\mp\_utility::playerallowpowerslide(1,"intoxicated"); + self.intoxicatedcanexotime = undefined; + } + + self.movespeedscaler = self.oldmovescaler; + maps\mp\gametypes\_weapons::updatemovespeedscale(); + self.oldmovescaler = undefined; + self.exomovementoff = undefined; +} + +//Function Number: 17 +playerintoxicatedrotateground(param_00) +{ + self endon("disconnect"); + self notify("playerIntoxicatedRotateGround"); + self endon("playerIntoxicatedRotateGround"); + if(!isdefined(self.groundref)) + { + self.groundref = spawn("script_model",(0,0,0)); + } + + self playersetgroundreferenceent(self.groundref); + var_01 = 20; + var_02 = 30; + var_03 = 25; + var_04 = 3; + for(var_05 = int(param_00 / var_04);var_05 > 0;var_05--) + { + var_06 = randomfloatrange(-1 * var_01,var_01); + var_07 = randomfloatrange(-1 * var_02,var_02); + var_08 = randomfloatrange(-1 * var_03,var_03); + var_09 = (var_06,var_07,var_08); + var_0A = randomfloat(var_04 / 2); + var_0B = randomfloat(var_04 / 2); + if(var_05 == 1 || self getstance() == "prone") + { + var_09 = (0,0,0); + } + + self.groundref rotateto(var_09,var_04,var_0A,var_0B); + wait(var_04); + } + + self playersetgroundreferenceent(undefined); + self notify("update_ground_ref_ent"); + self.groundref.angles = (0,0,0); +} + +//Function Number: 18 +playerintoxicatedhudcountdown(param_00) +{ + self endon("disconnect"); + self notify("playerIntoxicatedHudCountdown"); + self endon("playerIntoxicatedHudCountdown"); + if(!isdefined(self.intoxicatedtimer)) + { + self.intoxicatedtimer = maps\mp\gametypes\_hud_util::createfontstring("hudbig",1.5); + self.intoxicatedtimer maps\mp\gametypes\_hud_util::setpoint("CENTER TOP",undefined,0,20); + self.intoxicatedtimer.sort = 3; + self.intoxicatedtimer.label = &"ZOMBIES_INFECTED_TIMER"; + } + + if(param_00 > 0) + { + self.intoxicatedtimer settimer(param_00); + } + + common_scripts\utility::waittill_notify_or_timeout("death",param_00); + if(isdefined(self.intoxicatedtimer)) + { + self.intoxicatedtimer destroy(); + } + + self.intoxicatedtimer = undefined; +} + +//Function Number: 19 +entitysetintoxicatedvisiononly(param_00) +{ + if(!isdefined(level.sqintoxicatedents)) + { + level.sqintoxicatedents = []; + } + + if(param_00) + { + level.sqintoxicatedents[level.sqintoxicatedents.size] = self; + } + else + { + level.sqintoxicatedents = common_scripts\utility::array_remove(level.sqintoxicatedents,self); + } + + updateintoxicatedentities(); +} + +//Function Number: 20 +updateintoxicatedentities() +{ + if(!isdefined(level.sqintoxicatedents)) + { + level.sqintoxicatedents = []; + } + + foreach(var_01 in level.sqintoxicatedents) + { + if(!isdefined(var_01)) + { + continue; + } + + var_01 hide(); + if(isdefined(level.players)) + { + foreach(var_03 in level.players) + { + if(var_03 playerisintoxicated()) + { + var_01 showtoplayer(var_03); + } + } + } + } +} + +//Function Number: 21 +weapondisposallogic() +{ + var_00 = getent("weaponDisposalUse","targetname"); + if(!isdefined(var_00)) + { + return; + } + + var_01 = getent("sqWeaponDisposalSign","targetname"); + if(isdefined(var_01)) + { + var_01 hide(); + } + + level waittill("main_stage1_over"); + if(isdefined(var_01)) + { + var_01 show(); + } + + var_00.angles = (0,0,0); + setupweapontoitemmapping(); + if(!isdefined(level.sqarm)) + { + level.sqarm = getent("sqArm","targetname"); + if(!isdefined(level.sqarm)) + { + return; + } + } + + setuparmstates(); + level thread handlearm(var_00); + for(;;) + { + for(var_02 = undefined;!isdefined(var_02);var_02 = waittillmachineused(var_00)) + { + waittillarmready(); + wait(0.5); + } + + var_03 = var_02 maps\mp\zombies\_wall_buys::getweaponslistprimariesminusalts(); + if(var_02 playerhasvalidweapon() && var_03.size > 1) + { + var_04 = var_02 getcurrentprimaryweapon(); + var_02 takeweapon(var_04); + var_03 = var_02 maps\mp\zombies\_wall_buys::getweaponslistprimariesminusalts(); + foreach(var_06 in var_03) + { + if(var_06 != "" && var_06 != "none") + { + var_02 switchtoweapon(var_06); + } + } + + var_08 = getweaponbasename(var_04); + var_09 = addweapontodisposallist(var_08); + var_0A = maps\mp\zombies\_wall_buys::findholomodel(var_08); + var_0B = spawn("script_model",(0,0,0)); + var_0B setmodel(var_0A); + var_0B vehicle_jetbikesethoverforcescale(level.sqarm,"tag_weapon_right",(0,0,0),(0,0,0)); + level thread changearmstate("take",var_00); + level.sqarm waittillmatch("item_swap","arm_notetrack"); + var_0C = getmodelforitem(var_09); + if(isdefined(var_0C)) + { + var_0B setmodel(var_0C); + var_0D = getoriginoffsetforitem(var_09); + var_0E = getanglesoffsetforitem(var_09); + var_0B vehicle_jetbikesethoverforcescale(level.sqarm,"tag_weapon_right",var_0D,var_0E); + var_0F = zombiearmplaysqvo("item"); + } + else + { + var_0F = zombiearmplaysqvo("credits"); + var_0B delete(); + } + + level.sqarm waittillmatch("end","arm_notetrack"); + var_0F = 0; + if(isdefined(var_0C)) + { + var_0F = zombiearmplaysqvo("item"); + } + else + { + var_0F = zombiearmplaysqvo("credits"); + } + + if(isdefined(var_09) && var_09 == "rum_bottle") + { + level thread launchrumbottle(var_0B); + } + else if(isdefined(var_0C)) + { + var_0B delete(); + } + + if(isdefined(var_02)) + { + var_02 thread playergiveweapondisposalprize(var_09,!var_0F); + } + } + + wait(1); + } +} + +//Function Number: 22 +setuparmstates() +{ + level.const_sq_arm_idle = 0; + level.const_sq_arm_thrash_enter = 1; + level.const_sq_arm_thrash_exit = 2; + level.const_sq_arm_thrash_loop = 3; + level.const_sq_arm_thrash_to_gimme = 4; + level.const_sq_arm_gimme_to_thrash = 5; + level.const_sq_arm_pain = 6; + level.const_sq_arm_pain_retreat = 7; + level.const_sq_arm_gimme_loop = 8; + level.const_sq_arm_take_weapon = 9; + level.const_sq_arm_give_loop = 10; + level.const_sq_arm_give_finish = 11; + setarmtoidle(); +} + +//Function Number: 23 +handlearm(param_00) +{ + var_01 = 1000; + var_02 = 5; + level.sqarm setmodel("zom_civ_ruban_male_r_arm_slice_scripted"); + level.sqarm setcandamage(1); + level.sqarm setdamagecallbackon(1); + level.sqarm.damagecallback = ::armdamaged; + level.sqarm.health = 9999; + level.sqarm.maxhealth = level.sqarm.health; + level.sqarm.currentdamage = 0; + level.sqarm thread armhandlehappiness(); + for(;;) + { + var_03 = level.sqarm common_scripts\utility::waittill_any_return_no_endon_death("handlePain","handleThrash","handleGimme","handleEnter","handleExit"); + var_04 = getarmstate(); + if(var_03 == "handlePain" && armstateislooping(var_04)) + { + if(level.sqarm.currentdamage >= var_01) + { + changearmstate("painLeave",param_00); + wait(var_02); + changearmstate("enter",param_00); + level.sqarm.currentdamage = 0; + } + else + { + changearmstate("pain",param_00); + } + + continue; + } + + if(var_03 == "handleEnter") + { + level.sqarm show(); + changearmstate("enter",param_00); + continue; + } + + if(var_03 == "handleExit") + { + changearmstate("exit",param_00); + level.sqarm ghost(); + level.sqarm.currentdamage = 0; + continue; + } + + if(var_03 == "handleGimme") + { + changearmstate("gimme",param_00); + continue; + } + + if(var_03 == "handleThrash") + { + changearmstate("thrash",param_00); + } + } +} + +//Function Number: 24 +armdamaged(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B) +{ + if(isdefined(param_01) && isplayer(param_01)) + { + self.currentdamage = self.currentdamage + param_02; + self notify("handlePain"); + } +} + +//Function Number: 25 +armhandlehappiness() +{ + var_00 = 360000; + var_01 = 22500; + for(;;) + { + var_02 = getarmstate(); + if(armisidle(var_02)) + { + foreach(var_04 in level.players) + { + if(maps\mp\zombies\_util::isplayerinlaststand(var_04) || !isalive(var_04)) + { + continue; + } + + var_05 = distancesquared(level.sqarm.origin,var_04.origin); + if(var_05 <= var_00) + { + level.sqarm notify("handleEnter"); + break; + } + } + } + else if(armisthrashing(var_02)) + { + doarmnoise(); + var_07 = 1; + foreach(var_04 in level.players) + { + if(maps\mp\zombies\_util::isplayerinlaststand(var_04) || !isalive(var_04)) + { + continue; + } + + var_05 = distancesquared(level.sqarm.origin,var_04.origin); + if(var_05 <= var_01) + { + level.sqarm notify("handleGimme"); + level thread doarmfirstseenvo(var_04); + var_07 = 0; + break; + } + else if(var_05 <= var_00) + { + var_07 = 0; + } + } + + if(var_07) + { + level.sqarm notify("handleExit"); + } + } + else if(armstateisready(var_02)) + { + doarmnoise(); + var_07 = 1; + foreach(var_04 in level.players) + { + if(maps\mp\zombies\_util::isplayerinlaststand(var_04) || !isalive(var_04)) + { + continue; + } + + var_05 = distancesquared(level.sqarm.origin,var_04.origin); + if(var_05 <= var_01) + { + var_07 = 0; + break; + } + } + + if(var_07) + { + level.sqarm notify("handleThrash"); + } + } + + wait(1); + } +} + +//Function Number: 26 +doarmnoise() +{ + if(!isdefined(level.sqarmfirstseenplayed)) + { + return; + } + + if(maps\mp\zombies\_zombies_audio_dlc3::anyplayersspeaking()) + { + return; + } + + if(!isdefined(level.sqarm.noisedebouncevo)) + { + level.sqarm.noisedebouncevo = 0; + } + + if(level.sqarm.noisedebouncevo < gettime()) + { + level.sqarm.noisedebouncevo = gettime() + randomfloatrange(10,20) * 1000; + zombiearmplaysqvo("noise"); + } +} + +//Function Number: 27 +doarmfirstseenvo(param_00) +{ + param_00 endon("disconnect"); + if(!isdefined(level.sqarmfirstseenplayed) && param_00 playerplaysqvo(14)) + { + level.sqarmfirstseenplayed = 1; + wait 0.05; + waittilldonespeaking(param_00); + zombiearmplaysqvo("gimme"); + } +} + +//Function Number: 28 +waittillmachineused(param_00) +{ + level.sqarm endon("pain"); + level.sqarm endon("thrash"); + var_01 = param_00 maps\mp\zombies\_zombies_sidequests::fake_use("arm_used",undefined,undefined,undefined,70,1); + return var_01; +} + +//Function Number: 29 +waittillarmready() +{ + if(!armstateisready(level.sqarm.state)) + { + level.sqarm waittill("gimme"); + } +} + +//Function Number: 30 +changearmstate(param_00,param_01) +{ + if(param_00 == "enter") + { + doarmanim(param_01,"zom_weap_arm_thrash_enter",level.const_sq_arm_thrash_enter,1); + doarmanim(param_01,"zom_weap_arm_thrash_loop",level.const_sq_arm_thrash_loop,0); + return; + } + + if(param_00 == "exit") + { + doarmanim(param_01,"zom_weap_arm_thrash_exit",level.const_sq_arm_thrash_exit,1); + setarmtoidle(); + return; + } + + if(param_00 == "gimme") + { + doarmanim(param_01,"zom_weap_arm_thrash_to_gimme",level.const_sq_arm_thrash_to_gimme,1); + doarmanim(param_01,"zom_weap_arm_gimme_loop",level.const_sq_arm_gimme_loop,0); + level.sqarm notify("gimme"); + zombiearmplaysqvo("gimme"); + return; + } + + if(param_00 == "thrash") + { + level.sqarm notify("thrash"); + doarmanim(param_01,"zom_weap_arm_gimme_to_thrash",level.const_sq_arm_gimme_to_thrash,1); + doarmanim(param_01,"zom_weap_arm_thrash_loop",level.const_sq_arm_thrash_loop,0); + return; + } + + if(param_00 == "pain") + { + var_02 = getarmstate(); + var_03 = getarmanimref(); + level.sqarm notify("pain"); + var_04 = randomintrange(1,3); + zombiearmplaysqvo("pain"); + doarmanim(param_01,"zom_weap_arm_pain_0" + var_04,level.const_sq_arm_pain,1); + if(armstateisready(var_02)) + { + doarmanim(param_01,"zom_weap_arm_thrash_to_gimme",level.const_sq_arm_thrash_to_gimme,1); + } + + doarmanim(param_01,var_03,var_02,0); + if(armstateisready(var_02)) + { + level.sqarm notify("gimme"); + return; + } + + return; + } + + if(param_00 == "painLeave") + { + var_02 = getarmstate(); + level.sqarm notify("pain"); + var_04 = randomintrange(1,3); + doarmanim(param_01,"zom_weap_arm_pain_retreat_0" + var_04,level.const_sq_arm_pain_retreat,1); + setarmtoidle(); + return; + } + + if(param_00 == "take") + { + zombiearmplaysqvo("take"); + doarmanim(param_01,"zom_weap_arm_take_weapon",level.const_sq_arm_take_weapon,1); + var_04 = randomintrange(1,5); + doarmanim(param_01,"zom_weap_arm_give_finish_0" + var_04,level.const_sq_arm_give_finish,1); + doarmanim(param_01,"zom_weap_arm_gimme_loop",level.const_sq_arm_gimme_loop,0); + level.sqarm notify("gimme"); + return; + } +} + +//Function Number: 31 +armstateislooping(param_00) +{ + return param_00 == level.const_sq_arm_gimme_loop || param_00 == level.const_sq_arm_thrash_loop; +} + +//Function Number: 32 +armisidle(param_00) +{ + return param_00 == level.const_sq_arm_idle; +} + +//Function Number: 33 +armisthrashing(param_00) +{ + return param_00 == level.const_sq_arm_thrash_loop; +} + +//Function Number: 34 +armstateisready(param_00) +{ + return param_00 == level.const_sq_arm_gimme_loop; +} + +//Function Number: 35 +getarmstate() +{ + return level.sqarm.state; +} + +//Function Number: 36 +getarmanimref() +{ + return level.sqarm.animref; +} + +//Function Number: 37 +setarmtoidle() +{ + level.sqarm.state = level.const_sq_arm_idle; + level.sqarm.animref = ""; +} + +//Function Number: 38 +doarmanim(param_00,param_01,param_02,param_03) +{ + level.sqarm.state = param_02; + level.sqarm.animref = param_01; + level.sqarm scriptmodelplayanimdeltamotionfrompos(param_01,param_00.origin,param_00.angles,"arm_notetrack"); + if(param_03) + { + level.sqarm waittillmatch("end","arm_notetrack"); + } +} + +//Function Number: 39 +getmodelforitem(param_00) +{ + if(!isdefined(param_00)) + { + return; + } + + switch(param_00) + { + case "rum_bottle": + return "zark_bottle_01"; + + case "hook": + return "zark_fishing_hook_01"; + + case "line": + return "zark_fishing_line_01"; + + case "reel": + return "zark_fishing_reel_01"; + + case "c4": + return "weapon_c4_mp"; + } +} + +//Function Number: 40 +getoriginoffsetforitem(param_00) +{ + if(!isdefined(param_00)) + { + return; + } + + switch(param_00) + { + case "rum_bottle": + return (5,-1,0); + + case "hook": + return (2,0,5); + + case "line": + return (5,-2,1); + + case "reel": + return (5,-2,1); + + case "c4": + return (5,0,4); + } +} + +//Function Number: 41 +getanglesoffsetforitem(param_00) +{ + if(!isdefined(param_00)) + { + return; + } + + switch(param_00) + { + case "rum_bottle": + return (0,0,0); + + case "hook": + return (0,0,90); + + case "line": + return (0,0,0); + + case "reel": + return (0,0,0); + + case "c4": + return (0,0,90); + } +} + +//Function Number: 42 +launchrumbottle(param_00) +{ + setitemascomplete("rum_bottle"); + thread maps\mp\mp_zombie_ark_aud::throw_rum_bottle(param_00); + param_00 unlink(); + var_01 = (500,0,0); + param_00 physicslaunchserver(param_00.origin,var_01); + param_00 common_scripts\utility::waittill_notify_or_timeout("physics_finished",5); + param_00 physicsstop(); + for(;;) + { + var_02 = param_00 maps\mp\zombies\_zombies_sidequests::fake_use("rum_used",undefined,undefined,undefined,40,1); + var_02 playergiveitem("rum"); + wait(0.5); + } +} + +//Function Number: 43 +playergiveweapondisposalprize(param_00,param_01) +{ + level notify("playerGiveWeaponDisposalPrize"); + level endon("playerGiveWeaponDisposalPrize"); + if(!isdefined(param_00)) + { + maps\mp\gametypes\zombies::givepointsforevent("weapon_disposal",200,1); + if(param_01) + { + announcerinworldplaysqvowaittilldone("weap_dis"); + announcerinworldplaysqvowaittilldone("weap_dis_cred"); + return; + } + + return; + } + + if(param_00 != "rum_bottle") + { + playergiveitem(param_00); + thread maps\mp\mp_zombie_ark_aud::get_weapon_disposal_item(param_00); + } + + if(param_01) + { + announcerinworldplaysqvowaittilldone("weap_dis"); + announcerinworldplaysqvowaittilldone("weap_dis_prize"); + } +} + +//Function Number: 44 +addweapontodisposallist(param_00) +{ + var_01 = 2; + if(!common_scripts\utility::array_contains(level.sqweaponsdisposed,param_00)) + { + level.sqweaponsdisposed[level.sqweaponsdisposed.size] = param_00; + if(level.sqweaponsdisposed.size % var_01 == 0) + { + return getnextweapondisposalitem(); + } + } +} + +//Function Number: 45 +getnextweapondisposalitem() +{ + for(var_00 = 0;var_00 < level.sqweapondisposalitems.size;var_00++) + { + var_01 = level.sqweapondisposalitems[var_00]; + if(!isitemcomplete(var_01) && !anyplayerhasitem(var_01)) + { + return var_01; + } + } +} + +//Function Number: 46 +isitemcomplete(param_00) +{ + return common_scripts\utility::array_contains(level.sqitemscomplete,param_00); +} + +//Function Number: 47 +setitemascomplete(param_00) +{ + level.sqitemscomplete[level.sqitemscomplete.size] = param_00; +} + +//Function Number: 48 +setupweapontoitemmapping() +{ + level.sqweaponsdisposed = []; + level.sqweapondisposalitems = []; + level.sqweapondisposalitems[level.sqweapondisposalitems.size] = "rum_bottle"; + level.sqweapondisposalitems[level.sqweapondisposalitems.size] = "reel"; + level.sqweapondisposalitems[level.sqweapondisposalitems.size] = "line"; + level.sqweapondisposalitems[level.sqweapondisposalitems.size] = "hook"; + level.sqweapondisposalitems[level.sqweapondisposalitems.size] = "c4"; + level.sqitemscomplete = []; +} + +//Function Number: 49 +playerhasvalidweapon() +{ + var_00 = self getcurrentprimaryweapon(); + return weaponisvalid(var_00); +} + +//Function Number: 50 +weaponisvalid(param_00) +{ + return param_00 != "" && param_00 != "none" && !maps\mp\zombies\_util::iszombiekillstreakweapon(param_00) && !maps\mp\zombies\_util::isrippedturretweapon(param_00) && !maps\mp\zombies\_util::iszombieequipment(param_00); +} + +//Function Number: 51 +playergiveitem(param_00) +{ + if(param_00 == "rum") + { + if(!maps\mp\zombies\_util::isplayerinfected(self) && !maps\mp\zombies\_util::isplayerinlaststand(self)) + { + thread playerintoxicate(0.5); + } + + return; + } + + if(!isdefined(self.sqplayedfoundfirstcode) && param_00 == "code" && playerplaysqvo(15)) + { + self.sqplayedfoundfirstcode = 1; + } + + if(isdefined(self.inventoryitem)) + { + if(self.inventoryitem == "code") + { + return; + } + + playertakeitem(self.inventoryitem); + } + + self.inventoryitem = param_00; + var_01 = inventoryitemgetid(param_00); + self setclientomnvar("ui_zm_ee_int",var_01); +} + +//Function Number: 52 +playerhasitem(param_00) +{ + return isdefined(self.inventoryitem) && self.inventoryitem == param_00; +} + +//Function Number: 53 +playerhasanyitem() +{ + return isdefined(self.inventoryitem); +} + +//Function Number: 54 +playertakeitem(param_00) +{ + if(isdefined(self.inventoryitem) && self.inventoryitem == param_00) + { + self.inventoryitem = undefined; + self setclientomnvar("ui_zm_ee_int",0); + } +} + +//Function Number: 55 +inventoryitemgetid(param_00) +{ + switch(param_00) + { + case "code": + return 1; + + case "shovel": + return 2; + + case "c4": + return 3; + + case "reel": + return 4; + + case "hook": + return 5; + + case "line": + return 6; + + case "teleportEquipment": + return 7; + + case "eye": + return 8; + + case "fish": + return 9; + + case "switch": + default: + return 10; + } +} + +//Function Number: 56 +init_fishing_sidequest() +{ + setupfishingitems(); +} + +//Function Number: 57 +sidequest_fishing_logic() +{ + maps\mp\zombies\_zombies_sidequests::stage_start("fishing","stage1"); + level waittill("fishing_stage1_over"); + var_00 = getent("sqPole2","targetname"); + if(!isdefined(var_00)) + { + return; + } + + var_00 setcursorhint("HINT_NOICON"); + for(;;) + { + var_00 sethintstring(&"ZOMBIE_ARK_SQ_FISH"); + var_00 setsecondaryhintstring(&"ZOMBIES_COST_100"); + var_00 makeusable(); + var_00 waittill("trigger",var_01); + var_00 makeunusable(); + if(!var_01 maps\mp\gametypes\zombies::attempttobuy(100)) + { + wait(1); + continue; + } + + var_01 thread maps\mp\mp_zombie_ark_aud::fishing_cast_line(); + var_00 scriptmodelplayanim("zark_fishing_pose_fish","fishing_notetrack"); + var_00 waittillmatch("attach_item","fishing_notetrack"); + var_01 thread maps\mp\mp_zombie_ark_aud::fishing_retrieve_line(); + level thread fishonsounds(var_01); + var_02 = getrandomfishingitem(); + var_03 = putitemonhook(var_02,var_00); + var_00 waittillmatch("item_reachable","fishing_notetrack"); + if(isdefined(var_01)) + { + var_00 sethintstring(&"ZOMBIE_ARK_SQ_FISH_GRAB"); + var_00 setsecondaryhintstring(""); + var_00 makeusable(); + var_00.owner = var_01; + var_00 sethintstringvisibleonlytoowner(1); + } + + var_04 = waittillpickedupordonewiggling(var_00); + var_00 scriptmodelplayanim("zark_fishing_pose_finish","fishing_notetrack"); + var_00 makeunusable(); + var_00 sethintstringvisibleonlytoowner(0); + var_00.owner = undefined; + if(!isdefined(var_04) && isdefined(var_01) && var_02.type != "junk") + { + if(var_02.type == "inventory") + { + var_01 playergiveitem(var_02.item); + var_01 thread maps\mp\mp_zombie_ark_aud::fishing_grab_item(var_02.item); + } + else if(var_02.type == "credits") + { + var_01 maps\mp\gametypes\zombies::givepointsforevent("fishing",var_02.value,1); + var_01 playlocalsound("interact_credit_machine"); + } + else if(var_02.type == "ammo") + { + var_01 playergiveammo(); + var_01 thread maps\mp\mp_zombie_ark_aud::fishing_grab_item(var_02.item); + } + + var_03 delete(); + } + else + { + level thread launchanddelete(var_03,var_02,var_00); + var_01 thread maps\mp\mp_zombie_ark_aud::fishing_drop_item(); + } + + var_00 waittillmatch("end","fishing_notetrack"); + var_00 scriptmodelplayanim("zark_fishing_pose_idle","fishing_notetrack"); + wait 0.05; + } +} + +//Function Number: 58 +fishinghint() +{ + level endon("code1_stage2_over"); + level waittill("code1_stage1_over"); + var_00 = getent("sqPole2","targetname"); + if(!isdefined(var_00)) + { + return; + } + + var_01 = 90000; + for(;;) + { + foreach(var_03 in level.players) + { + var_04 = distancesquared(var_00.origin,var_03.origin); + if(var_04 < var_01) + { + if(announcerozglobalplaysq(13)) + { + break; + } + } + } + + wait(0.1); + } +} + +//Function Number: 59 +fishonsounds(param_00) +{ + var_01 = common_scripts\utility::getstruct("sqFishingSplash","targetname"); + if(isdefined(param_00) && !isdefined(param_00.sqfishinggotoneplayed)) + { + param_00 playerplaysqvo(13,undefined,1); + if(isdefined(param_00)) + { + param_00.sqfishinggotoneplayed = 1; + } + } + else + { + wait(1.5); + } + + if(isdefined(var_01)) + { + playfx(common_scripts\utility::getfx("sq_fishing_splash"),var_01.origin); + } +} + +//Function Number: 60 +putitemonhook(param_00,param_01) +{ + var_02 = param_01 gettagorigin("tag_attach"); + var_03 = spawn("script_model",var_02); + var_03 setmodel(param_00.model); + var_03 linkto(param_01,"tag_attach",param_00.offset,param_00.angles); + if(param_00.item == "fish") + { + var_03 thread fishwiggle(); + } + + return var_03; +} + +//Function Number: 61 +fishwiggle() +{ + wait 0.05; + self scriptmodelplayanim("zark_red_herring_wiggle","wiggle_notetrack"); +} + +//Function Number: 62 +playergiveammo() +{ + self endon("death"); + self endon("disconnect"); + var_00 = self getcurrentprimaryweapon(); + if(!weaponisvalid(var_00)) + { + var_00 = undefined; + var_01 = self getweaponslistprimaries(); + foreach(var_03 in var_01) + { + if(weaponisvalid(var_03)) + { + var_00 = var_03; + break; + } + } + } + + if(!isdefined(var_00)) + { + return; + } + + if(issubstr(var_00,"em1")) + { + waittillframeend; + var_05 = maps\mp\zombies\_util::playergetem1ammo(); + var_06 = maps\mp\gametypes\zombies::getem1maxammo(); + if(var_05 >= var_06) + { + return; + } + + var_05 = getnewammoamount(var_05,var_06); + maps\mp\zombies\_util::playerrecordem1ammo(var_05); + maps\mp\gametypes\zombies::playerupdateem1omnvar(); + return; + } + + var_05 = self setweaponammostock(var_06); + var_06 = weaponmaxammo(var_05); + if(var_05 < var_06) + { + var_05 = getnewammoamount(var_05,var_06); + self setweaponammostock(var_00,var_05); + return; + } + + var_05 = self getweaponammoclip(var_00,"right"); + var_06 = weaponclipsize(var_00); + if(var_05 < var_06) + { + var_05 = getnewammoamount(var_05,var_06); + self setweaponammoclip(var_00,var_05,"right"); + } + + if(issubstr(var_00,"akimbo")) + { + var_05 = self getweaponammoclip(var_00,"left"); + if(var_05 < var_06) + { + var_05 = getnewammoamount(var_05,var_06); + self setweaponammoclip(var_00,var_05,"left"); + return; + } + } +} + +//Function Number: 63 +getnewammoamount(param_00,param_01) +{ + var_02 = 0.1; + var_03 = int(max(1,param_01 * var_02)); + if(param_00 + var_03 <= param_01) + { + param_00 = param_00 + var_03; + } + else if(param_00 < param_01) + { + param_00 = param_01; + } + + return param_00; +} + +//Function Number: 64 +launchanddelete(param_00,param_01,param_02) +{ + param_00 unlink(); + var_03 = vectornormalize(param_00.origin - param_02.origin) * param_01.impulse; + param_00 physicslaunchclient(param_02.origin,var_03); + wait(2); + param_00 delete(); +} + +//Function Number: 65 +waittillpickedupordonewiggling(param_00) +{ + param_00 endon("trigger"); + param_00 waittillmatch("end","fishing_notetrack"); + return 1; +} + +//Function Number: 66 +setupfishingitems() +{ + level.sqfishingitem = []; + level.sqfishingitem[level.sqfishingitem.size] = addnewfishingitem("shovel","zark_tool_shovel_01","inventory",undefined,20,(-10,45,-60),(-2,5,-10.2),12); + level.sqfishingitem[level.sqfishingitem.size] = addnewfishingitem("fish","zark_fish_red_herring_01_anim","inventory",undefined,20,(0,0,0),(0,0,0),9); + level.sqfishingitem[level.sqfishingitem.size] = addnewfishingitem("boot","zark_rubber_boot_01","junk",undefined,5,(-20,90,0),(1,1,-14),7); + level.sqfishingitem[level.sqfishingitem.size] = addnewfishingitem("arm","zom_civ_ruban_male_r_arm_phys","junk",undefined,200,(-90,0,0),(0,1,2),7); + level.sqfishingitem[level.sqfishingitem.size] = addnewfishingitem("leg","zom_civ_ruban_male_r_leg_phys","junk",undefined,200,(-90,0,0),(0,0,7),7); + level.sqfishingitem[level.sqfishingitem.size] = addnewfishingitem("head","zom_civ_urban_male_head_phys","junk",undefined,200,(-105,-105,0),(4,1,-5.3),7); + level.sqfishingitem[level.sqfishingitem.size] = addnewfishingitem("vest","zark_life_vest_01","junk",undefined,1000,(0,-87,85),(2,0,-15),7); + level.sqfishingitem[level.sqfishingitem.size] = addnewfishingitem("buoy","zark_buoy_01","junk",undefined,1000,(0,0,0),(2.2,0,-1.5),7); + level.sqfishingitem[level.sqfishingitem.size] = addnewfishingitem("ammo","zark_grenadebag_01","ammo",undefined,20,(180,0,90),(0,2,-9),10); + level.sqfishingitem[level.sqfishingitem.size] = addnewfishingitem("credits1","zark_money_01","credits",50,1000,(0,30,-20),(-2,0,-6.3),20); + level.sqfishingitem[level.sqfishingitem.size] = addnewfishingitem("credits2","zark_money_01","credits",200,1000,(0,30,-20),(-2,0,-6.3),5); + level.sqfishingitem[level.sqfishingitem.size] = addnewfishingitem("credits3","zark_money_01","credits",500,1000,(0,30,-20),(-2,0,-6.3),2); +} + +//Function Number: 67 +addnewfishingitem(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + if(!isdefined(level.sqfishingitemsmaxweight)) + { + level.sqfishingitemsmaxweight = 0; + } + + var_08 = level.sqfishingitemsmaxweight; + level.sqfishingitemsmaxweight = level.sqfishingitemsmaxweight + param_07; + var_09 = level.sqfishingitemsmaxweight; + var_0A = spawnstruct(); + var_0A.item = param_00; + var_0A.model = param_01; + var_0A.type = param_02; + var_0A.startweight = var_08; + var_0A.endweight = var_09; + var_0A.value = param_03; + var_0A.impulse = param_04; + var_0A.angles = param_05; + var_0A.offset = param_06; + return var_0A; +} + +//Function Number: 68 +getrandomfishingitem() +{ + var_00 = randomfloat(level.sqfishingitemsmaxweight); + foreach(var_02 in level.sqfishingitem) + { + if(var_00 >= var_02.startweight && var_00 < var_02.endweight) + { + return var_02; + } + } + + return level.sqfishingitem[randomint(level.sqfishingitem.size)]; +} + +//Function Number: 69 +fishing_stage1_init() +{ +} + +//Function Number: 70 +fishing_stage1_logic() +{ + var_00 = getent("sqPole2","targetname"); + if(!isdefined(var_00)) + { + return; + } + + var_01 = 0; + var_02 = 0; + var_03 = 0; + var_04 = 0; + while(!var_01 || !var_02 || !var_03) + { + var_05 = var_00 maps\mp\zombies\_zombies_sidequests::fake_use("poleUse"); + var_06 = 0; + if(!var_02 && var_05 playerhasitem("reel")) + { + var_06 = 1; + var_05 playertakeitem("reel"); + setitemascomplete("reel"); + var_05 thread maps\mp\mp_zombie_ark_aud::use_fishing_item("reel"); + var_02 = 1; + var_00 setmodel("zark_fishing_pole_reel_01"); + } + + if(var_02 && !var_01 && var_05 playerhasitem("line")) + { + var_06 = 1; + var_05 playertakeitem("line"); + setitemascomplete("line"); + var_05 thread maps\mp\mp_zombie_ark_aud::use_fishing_item("line"); + var_01 = 1; + var_00 setmodel("zark_fishing_pole_reel_line_01"); + } + + if(var_02 && var_01 && !var_03 && var_05 playerhasitem("hook")) + { + var_06 = 1; + var_05 playertakeitem("hook"); + setitemascomplete("hook"); + var_05 thread maps\mp\mp_zombie_ark_aud::use_fishing_item("hook"); + var_03 = 1; + var_00 setmodel("zark_fishing_gear_complete_01"); + var_00 scriptmodelplayanim("zark_fishing_pose_idle","fishing_notetrack"); + } + + if(var_06) + { + if(var_03 && var_02 && var_01) + { + var_05 playerplaysqvo(12); + } + + var_04 = 1; + continue; + } + + if(!var_04) + { + var_05 playerplaysqvo(11); + var_04 = 1; + } + + wait(1); + } + + maps\mp\zombies\_zombies_sidequests::stage_completed("fishing","stage1"); +} + +//Function Number: 71 +fishing_stage1_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Fishing Pole Assembled"); +} + +//Function Number: 72 +init_main_sidequest() +{ +} + +//Function Number: 73 +sidequest_logic() +{ + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage1"); + level waittill("main_stage1_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage2"); + thread maps\mp\zombies\_zombies_sidequests::sidequest_start("fishing"); + thread maps\mp\zombies\_zombies_sidequests::sidequest_start("code4"); + level waittill("sidequest_code4_complete"); + thread maps\mp\zombies\_zombies_sidequests::sidequest_start("code2"); + level waittill("sidequest_code2_complete"); + thread maps\mp\zombies\_zombies_sidequests::sidequest_start("code1"); + level waittill("sidequest_code1_complete"); + thread maps\mp\zombies\_zombies_sidequests::sidequest_start("code3"); + level waittill("sidequest_code3_complete"); + level waittill("main_stage2_over"); +} + +//Function Number: 74 +generic_stage_start() +{ +} + +//Function Number: 75 +generic_stage_complete() +{ +} + +//Function Number: 76 +complete_sidequest() +{ +} + +//Function Number: 77 +stage1_init() +{ +} + +//Function Number: 78 +stage1_logic() +{ + level.zmplayeraltteleport = ::zmplayeraltteleport; + common_scripts\utility::flag_wait("zomboni_room"); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage1"); +} + +//Function Number: 79 +zmplayeraltteleport(param_00,param_01,param_02) +{ + if(maps\mp\zombies\_util::is_true(level.zmbsqobstaclecourserunning)) + { + level notify("securityFieldTouched"); + } + + var_03 = getent("zomboni_room_volume","targetname"); + var_04 = getent("sqCageVolume","targetname"); + var_05 = 0; + var_06 = 2; + if(isdefined(level.zmplayerinzomboniroom) && self == level.zmplayerinzomboniroom) + { + return 1; + } + else if(isdefined(var_03) && ispointinvolume(param_00,var_03)) + { + if(!common_scripts\utility::flag("zomboni_room") && !isdefined(level.zmplayerinzomboniroom)) + { + var_07 = common_scripts\utility::getstructarray("zomboni_room_teleport","targetname"); + foreach(var_09 in var_07) + { + if(capsuletracepassed(var_09.origin + (0,0,5),15,60,self,1)) + { + thread playerinzomboniroom(var_09); + break; + } + + var_05++; + if(var_05 >= var_06) + { + wait 0.05; + var_05 = 0; + } + } + } + + return 1; + } + else if(isdefined(var_04) && ispointinvolume(param_00 + (0,0,10),var_04)) + { + return 1; + } + + return 0; +} + +//Function Number: 80 +playerinzomboniroom(param_00) +{ + level.zmplayerinzomboniroom = self; + self setorigin(param_00.origin,1); + self setplayerangles(param_00.angles); + level thread announcerzomboniroom(self); + wait(5); + if(isdefined(self)) + { + var_01 = common_scripts\utility::getstructarray("zomboni_teleport_out","targetname"); + var_02 = []; + foreach(var_04 in var_01) + { + if(maps\mp\zombies\_zombies_zone_manager::iszoneenabled(var_04.script_noteworthy)) + { + var_02[var_02.size] = var_04; + } + } + + maps\mp\zombies\_teleport::teleport_players_through_chute([self],0); + thread maps\mp\zombies\_teleport::reset_teleport_flag_after_time([self],0.75); + playerteleporttoastructwait(var_02,1); + playfx(common_scripts\utility::getfx("teleport_post_fx"),self.origin,anglestoforward(self.angles)); + } + + level.zmplayerinzomboniroom = undefined; +} + +//Function Number: 81 +announcerzomboniroom(param_00) +{ + announcerglobalplaysqvowaittilldone(1,undefined,[param_00]); + wait(1); + announcerglobalplaysqvowaittilldone(2,undefined,[param_00]); +} + +//Function Number: 82 +playerteleporttoastructwait(param_00,param_01) +{ + self endon("disconnect"); + var_02 = 2; + var_03 = 0; + var_04 = 0; + var_05 = param_00[0]; + if(!isdefined(param_01)) + { + param_01 = 1; + } + + for(;;) + { + foreach(var_07 in param_00) + { + if(playertryteleporttostruct(var_07)) + { + return; + } + + var_03++; + if(var_03 >= var_02) + { + wait 0.05; + var_03 = 0; + } + } + + if(isdefined(var_05) && param_01) + { + param_00 = getnodesinradiussorted(var_05.origin,200,0); + var_05 = undefined; + } + } +} + +//Function Number: 83 +playertryteleporttostruct(param_00) +{ + if(capsuletracepassed(param_00.origin + (0,0,5),15,60,self)) + { + self setorigin(param_00.origin,1); + if(isdefined(param_00.angles)) + { + self setplayerangles(param_00.angles); + } + + thread maps\mp\zombies\killstreaks\_zombie_camouflage::playercamouflagemode(5); + return 1; + } + + return 0; +} + +//Function Number: 84 +stage1_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Zomboni room power on"); +} + +//Function Number: 85 +stage2_init() +{ +} + +//Function Number: 86 +stage2_logic() +{ + var_00 = common_scripts\utility::getstruct("sqEngineRoomDoor","targetname"); + if(!isdefined(var_00)) + { + return; + } + + alldoorlights(); + var_01 = 0; + var_02 = 0; + var_03 = 0; + var_04 = 0; + var_05 = 0; + var_06 = 0; + var_07 = 0; + var_08 = 0; + for(;;) + { + wait(1); + var_09 = var_00 maps\mp\zombies\_zombies_sidequests::fake_use("door_activated",undefined,undefined,"main_stage2_over",85); + if(!var_02) + { + announcerozglobalplaysqwaittilldone(1); + level thread announcerozglobalplaysq(6,randomintrange(10,15)); + var_02 = 1; + continue; + } + else if(var_09 playerhasitem("code")) + { + var_09 playertakeitem("code"); + var_01++; + var_0A = var_01 + 1; + var_0B = common_scripts\utility::getstructarray("sqEngineRoomDoorFx" + var_0A,"targetname"); + foreach(var_0D in var_0B) + { + level thread turnondoorfx(var_0D); + } + + var_09 thread maps\mp\mp_zombie_ark_aud::code_accepted(); + wait(0.5); + var_0F = var_01 + 1; + announcerozglobalplaysqwaittilldone(var_0F); + if(var_01 == 3) + { + wait(1); + level thread unlockspecialweaponupgrade(); + announcerglobalplaysqvowaittilldone(3); + } + + if(var_0F == 2) + { + level thread announcerozglobalplaysq(16,randomintrange(10,15)); + } + + if(var_0F == 3) + { + level thread announcerozglobalplaysq(19,randomintrange(10,15)); + } + + if(var_0F == 4) + { + level thread announcerozglobalplaysq(11,randomintrange(10,15)); + } + + continue; + } + else if(var_01 == 4 && var_09 playerhasitem("c4")) + { + var_09 playertakeitem("c4"); + break; + } + + playsoundatpos(var_00.origin,"ee_engine_door_locked"); + if(!var_03 || !var_04) + { + if(!var_03) + { + var_09 playerplaysqvo(1,0.5,1); + var_03 = 1; + } + else if(!var_04) + { + var_09 playerplaysqvo(3,0.5,1); + var_04 = 1; + } + + continue; + } + + if(var_01 == 1) + { + if(!var_05) + { + var_09 playerplaysqvo(4,0.5,1); + var_05 = 1; + } + + continue; + } + + if(var_01 == 2) + { + if(!var_06) + { + var_09 playerplaysqvo(5,0.5,1); + var_06 = 1; + } + + continue; + } + + if(var_01 == 3) + { + if(!var_07) + { + var_09 playerplaysqvo(6,0.5,1); + var_07 = 1; + } + + continue; + } + + if(var_01 == 4) + { + if(!var_08) + { + var_09 playerplaysqvo(7,0.5,1); + var_08 = 1; + } + + continue; + } + } + + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage2"); +} + +//Function Number: 87 +unlockspecialweaponupgrade() +{ + level notify("special_weapon_box_unlocked"); + var_00 = getent("sqUpgradeStationTop","targetname"); + if(isdefined(var_00)) + { + var_01 = var_00.origin + (0,0,30); + var_00 moveto(var_01,2,0.5,0.5); + } + + var_02 = getent("sqUpgradeStationBottom","targetname"); + if(isdefined(var_02)) + { + var_01 = var_02.origin + (0,0,-30); + var_02 moveto(var_01,2,0.5,0.5); + } +} + +//Function Number: 88 +alldoorlights() +{ + level.sqdoorfx = []; + for(var_00 = 1;var_00 <= 5;var_00++) + { + var_01 = common_scripts\utility::getstructarray("sqEngineRoomDoorFx" + var_00,"targetname"); + foreach(var_03 in var_01) + { + var_03.fx = spawn("script_model",var_03.origin); + var_03.fx setmodel("tag_origin"); + if(!isdefined(var_03.angles)) + { + var_03.angles = (0,0,0); + } + + var_03.fx.angles = var_03.angles; + var_04 = "sq_door_light_red"; + if(var_00 == 1) + { + var_04 = "sq_door_light_green"; + } + + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx(var_04),var_03.fx,"tag_origin"); + } + } +} + +//Function Number: 89 +turnondoorfx(param_00) +{ + maps\mp\zombies\_util::stopfxontagnetwork(common_scripts\utility::getfx("sq_door_light_red"),param_00.fx,"tag_origin"); + maps\mp\zombies\_util::waitnetworkframe(); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("sq_door_light_green"),param_00.fx,"tag_origin"); +} + +//Function Number: 90 +stage2_end(param_00) +{ + level.endgamewaitfunc = ::endgamewaitcinematic; + level thread maps\mp\gametypes\_gamelogic::endgame(level.playerteam,game["end_reason"]["zombies_completed"]); + maps\mp\zombies\_zombies_music::changezombiemusic("victory"); + givesidequestachievement(); + set_side_quest_coop_data_ark(); + maps\mp\zombies\_util::writezombiestats(); +} + +//Function Number: 91 +endgamewaitcinematic(param_00,param_01,param_02,param_03) +{ + addsoundsubmix("bink_mix"); + level.zombiegamepaused = 1; + foreach(var_05 in level.players) + { + var_05 maps\mp\_utility::freezecontrolswrapper(1); + } + + playcinematicforall("zombies_bg_dlc3_outro",1); + wait(60); +} + +//Function Number: 92 +givesidequestachievement() +{ + foreach(var_01 in level.players) + { + if(!isdefined(var_01.joinedround1) || !var_01.joinedround1) + { + continue; + } + + var_01 maps\mp\gametypes\zombies::givezombieachievement("DLC3_ZOMBIE_EASTEREGG"); + } +} + +//Function Number: 93 +init_code1_sidequest() +{ +} + +//Function Number: 94 +sidequest_code1_logic() +{ + maps\mp\zombies\_zombies_sidequests::stage_start("code1","stage1"); + level waittill("code1_stage1_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("code1","stage2"); + level waittill("code1_stage2_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("code1","stage3"); + level waittill("code1_stage3_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("code1","stage4"); + level waittill("code1_stage4_over"); +} + +//Function Number: 95 +code1_stage1_init() +{ + level.processenemykilledcodefunc = ::processenemykilledcode1; + level.sqdroppedteleportequip = []; +} + +//Function Number: 96 +code1_stage1_logic() +{ + var_00 = common_scripts\utility::getstruct("sqTeleportMachineUse","targetname"); + var_01 = getent("sqTeleporterLights","targetname"); + var_02 = getentarray("sqTeleportLight","targetname"); + if(!isdefined(var_00)) + { + return; + } + + level.const_sq_teleporter_status_off = 0; + level.const_sq_teleporter_status_broken = 1; + level.const_sq_teleporter_status_repair = 2; + level.const_sq_teleporter_status_on = 3; + level.const_sq_teleporter_status_cooldown = 4; + if(isdefined(var_01)) + { + level thread setupteleportlightmodel(var_01,level.const_sq_teleporter_status_broken); + } + + foreach(var_04 in var_02) + { + level thread setupteleportlight(var_04,level.const_sq_teleporter_status_broken); + } + + level thread teleportmachinehint(var_00); + var_06 = 20; + var_07 = 0; + while(var_07 < var_06) + { + var_08 = var_00 maps\mp\zombies\_zombies_sidequests::fake_use("machine_piece_placed",::playerhasteleportequipment); + var_08 thread maps\mp\mp_zombie_ark_aud::teleporter_place_parts(var_07 + 1); + var_08 playertakeitem("teleportEquipment"); + var_07++; + if(isdefined(var_01)) + { + if(var_07 < var_06) + { + setupteleportlightmodel(var_01,level.const_sq_teleporter_status_repair); + foreach(var_04 in var_02) + { + level thread setupteleportlight(var_04,level.const_sq_teleporter_status_repair); + } + } + + continue; + } + + var_0B = int(var_07 / var_06 * 100); + iprintlnbold("Teleport machine " + var_0B + " percent repaired."); + wait(0.5); + wait 0.05; + } + + thread maps\mp\mp_zombie_ark_aud::teleporter_repaired(); + maps\mp\zombies\_zombies_sidequests::stage_completed("code1","stage1"); +} + +//Function Number: 97 +processenemykilledcode1(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + if(!maps\mp\zombies\_zombies_zone_manager::iszombieinanyzone(self)) + { + return; + } + + if(!maps\mp\zombies\_util::checkactivemutator("teleport")) + { + return; + } + + if(isdefined(param_03) && param_03 == "MOD_SUICIDE") + { + return; + } + + if(maps\mp\zombies\_util::istrapweapon(param_04)) + { + return; + } + + if(level.sqdroppedteleportequip.size >= 5) + { + return; + } + + level thread dropteleportequip(self.origin); +} + +//Function Number: 98 +dropteleportequip(param_00) +{ + param_00 = param_00 + (0,0,10); + var_01 = spawn("script_model",param_00); + var_01.angles = (0,0,0); + var_01 setmodel("dlc3_teleport_equipment"); + var_01 notsolid(); + var_02 = spawn("trigger_radius",param_00,0,32,32); + var_01.trigger = var_02; + level.sqdroppedteleportequip[level.sqdroppedteleportequip.size] = var_01; + var_01 thread teleportequippickup(); + var_01 thread teleportequiptimer(); + var_01 scriptmodelplayanim("mp_dogtag_spin"); +} + +//Function Number: 99 +teleportequippickup() +{ + self endon("deleted"); + var_00 = self.origin; + for(;;) + { + self.trigger waittill("trigger",var_01); + if(isplayer(var_01) && var_01 playercanpickupteleportequipment()) + { + var_01 playergiveitem("teleportEquipment"); + var_01 thread playerdoteleportpickupsound(); + thread removeteleportequip(self); + return; + } + } +} + +//Function Number: 100 +playerdoteleportpickupsound() +{ + self playlocalsound("ee_teleport_pickup"); + if(!isdefined(level.sqplayedteleportequippickup) && playerplaysqvo(9,0.5)) + { + level.sqplayedteleportequippickup = 1; + } +} + +//Function Number: 101 +playercanpickupteleportequipment() +{ + if(playerhasitem("line") || playerhasitem("hook") || playerhasitem("reel") || playerhasitem("code") || playerhasitem("eye") || playerhasitem("teleportEquipment")) + { + return 0; + } + + if(playerhasitem("shovel") && isdefined(level.sqtreasurefound)) + { + return 0; + } + + return 1; +} + +//Function Number: 102 +teleportequiptimer() +{ + self endon("deleted"); + wait(15); + thread teleportequipstartflashing(); + wait(8); + level thread removeteleportequip(self); +} + +//Function Number: 103 +teleportequipstartflashing() +{ + self endon("deleted"); + for(;;) + { + self ghost(); + wait(0.25); + self show(); + wait(0.25); + } +} + +//Function Number: 104 +removeteleportequip(param_00,param_01) +{ + param_00 notify("deleted"); + wait 0.05; + if(isdefined(param_00.trigger)) + { + param_00.trigger delete(); + } + + param_00 delete(); + if(!maps\mp\zombies\_util::is_true(param_01)) + { + level.sqdroppedteleportequip = common_scripts\utility::array_removeundefined(level.sqdroppedteleportequip); + } +} + +//Function Number: 105 +playerhasteleportequipment() +{ + return playerhasitem("teleportEquipment"); +} + +//Function Number: 106 +teleportmachinehint(param_00) +{ + level endon("code1_stage1_over"); + var_01 = param_00 maps\mp\zombies\_zombies_sidequests::fake_use("machine_used"); + if(var_01 playerhasitem("teleportEquipment")) + { + return; + } + + var_01 thread maps\mp\mp_zombie_ark_aud::teleporter_parts_missing(); + wait(2); + var_01 playerplaysqvo(8); +} + +//Function Number: 107 +code1_stage1_end(param_00) +{ + level.processenemykilledcodefunc = undefined; + foreach(var_02 in level.sqdroppedteleportequip) + { + level thread removeteleportequip(var_02,1); + } + + level.sqdroppedteleportequip = undefined; + level thread runteleportmachine(); + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Repaired Teleport Machine"); +} + +//Function Number: 108 +runteleportmachine() +{ + level.sqtreasurefound = 0; + level.sqtreasurepickedup = 0; + var_00 = common_scripts\utility::getstructarray("sqIslandTeleport","script_noteworthy"); + var_01 = common_scripts\utility::getstruct("sqTeleportMachineUse","targetname"); + level.zmbsqteleportbackspots = common_scripts\utility::getstructarray("sqTeleportBack","targetname"); + var_02 = getent("sqTeleporterLights","targetname"); + var_03 = getentarray("sqTeleportLight","targetname"); + if(!isdefined(var_01)) + { + return; + } + + if(!isdefined(level.sqtreasure)) + { + var_04 = common_scripts\utility::getstructarray("sqIslandDigPos","targetname"); + level.sqtreasure = var_04[randomint(var_04.size)]; + var_05 = bullettrace(level.sqtreasure.origin + (0,0,200),level.sqtreasure.origin + (0,0,-200),0); + level.sqtreasure.origin = var_05["position"]; + } + + var_06 = [&"ZOMBIES_COST_100",&"ZOMBIES_COST_500",&"ZOMBIES_COST_1000"]; + var_07 = [100,500,1000]; + level.sqcostindex = 0; + if(isdefined(var_02)) + { + level thread setupteleportlightmodel(var_02,level.const_sq_teleporter_status_on); + } + + foreach(var_09 in var_03) + { + level thread setupteleportlight(var_09,level.const_sq_teleporter_status_on); + } + + wait(1); + var_0B = spawn("script_model",var_01.origin); + var_0B setmodel("tag_origin"); + var_0B setcursorhint("HINT_NOICON"); + var_0B makeusable(); + level thread doozislandtaunt(); + while(!level.sqtreasurefound || !level.sqtreasurepickedup) + { + level.sqcoststring = var_06[level.sqcostindex]; + level.sqcost = var_07[level.sqcostindex]; + var_0B sethintstring(&"ZOMBIE_ARK_SQ_TELEPORT"); + var_0B setsecondaryhintstring(level.sqcoststring); + var_0B.cooldown = 0; + if(isdefined(var_02)) + { + level thread setupteleportlightmodel(var_02,level.const_sq_teleporter_status_on); + } + + foreach(var_09 in var_03) + { + level thread setupteleportlight(var_09,level.const_sq_teleporter_status_on); + } + + level thread resetcostonroundtransition(var_0B,var_06,var_07); + for(;;) + { + var_0B waittill("trigger",var_0E); + if(var_0E maps\mp\gametypes\zombies::attempttobuy(level.sqcost)) + { + break; + } + + wait(0.5); + } + + if(isdefined(var_02)) + { + playfxontag(common_scripts\utility::getfx("dlc_teleport_in"),var_02,"tag_fx"); + level thread setupteleportlightmodel(var_02,level.const_sq_teleporter_status_cooldown,1.5); + foreach(var_09 in var_03) + { + level thread setupteleportlight(var_09,level.const_sq_teleporter_status_cooldown,1.5); + } + + wait(0.3); + } + + var_0B.cooldown = 1; + var_0B sethintstring(&"ZOMBIES_CURE_COOLDOWN_HINT"); + var_0B setsecondaryhintstring(""); + if(level.sqcostindex + 1 < var_06.size) + { + level.sqcostindex++; + } + + level.sqplayersteleporting = getplayersteleporting(); + maps\mp\zombies\_teleport::teleport_players_through_chute(level.sqplayersteleporting,0); + thread maps\mp\zombies\_teleport::reset_teleport_flag_after_time(level.sqplayersteleporting,0.75); + for(var_11 = 0;var_11 < level.sqplayersteleporting.size;var_11++) + { + level.sqplayersteleporting[var_11] playerteleporttoisland(var_00[var_11]); + } + + level.zmbsqteleportbackindex = 0; + if(!level.sqtreasurefound) + { + foreach(var_0E in level.sqplayersteleporting) + { + var_0E thread playerdig(); + } + } + + var_14 = level.sqplayersteleporting[0].origin; + var_15 = common_scripts\utility::getstruct("sqIslandCenter","targetname"); + if(isdefined(var_15)) + { + var_14 = var_15.origin; + } + + level thread dotimereffect(var_14); + wait(25); + level notify("teleportBackFromIsland"); + foreach(var_0E in level.sqplayersteleporting) + { + if(isdefined(var_0E.digprompt)) + { + var_0E.digprompt makeglobalunusable(); + } + } + + maps\mp\zombies\_teleport::teleport_players_through_chute(level.sqplayersteleporting,0); + thread maps\mp\zombies\_teleport::reset_teleport_flag_after_time(level.sqplayersteleporting,0.75); + for(var_11 = 0;var_11 < level.sqplayersteleporting.size;var_11++) + { + var_0E = level.sqplayersteleporting[var_11]; + if(!isdefined(var_0E) || !isalive(var_0E)) + { + continue; + } + + var_0E thread playerteleportfromisland(level.zmbsqteleportbackspots[level.zmbsqteleportbackindex]); + level.zmbsqteleportbackindex++; + } + + level thread doozislandtaunt2(); + level.sqplayersteleporting = undefined; + wait(30); + wait 0.05; + } + + foreach(var_0E in level.players) + { + if(isdefined(var_0E.digprompt)) + { + var_0E.digprompt delete(); + } + } + + var_0B delete(); +} + +//Function Number: 109 +doozislandtaunt2() +{ + if(!maps\mp\zombies\_util::is_true(level.zmbaudioplayedislandback)) + { + if(announcerozglobalplaysq(14,1)) + { + level.zmbaudioplayedislandback = 1; + } + } +} + +//Function Number: 110 +doozislandtaunt() +{ + var_00 = getent("sqTeleportTrigger","targetname"); + for(;;) + { + var_00 waittill("trigger",var_01); + if(var_01 playerhasitem("shovel")) + { + var_02 = 24; + if(common_scripts\utility::cointoss()) + { + var_02 = 25; + } + + if(announcerozglobalplaysq(var_02)) + { + return; + } + } + } +} + +//Function Number: 111 +playerunderwater(param_00) +{ + if(maps\mp\zombies\_util::is_true(self.onisland)) + { + thread playerwaterteleportbackinternal(); + } +} + +//Function Number: 112 +playerwaterteleportbackinternal() +{ + if(isdefined(level.sqplayersteleporting) && common_scripts\utility::array_contains(level.sqplayersteleporting,self)) + { + self stopsound("ee_island_timer"); + level.sqplayersteleporting = common_scripts\utility::array_remove(level.sqplayersteleporting,self); + maps\mp\zombies\_teleport::teleport_players_through_chute([self],0); + thread maps\mp\zombies\_teleport::reset_teleport_flag_after_time([self],0.75); + thread playerteleportfromisland(level.zmbsqteleportbackspots[level.zmbsqteleportbackindex]); + level.zmbsqteleportbackindex++; + } +} + +//Function Number: 113 +dotimereffect(param_00) +{ + wait(5); + playfx(common_scripts\utility::getfx("sq_island_timer"),param_00); +} + +//Function Number: 114 +resetcostonroundtransition(param_00,param_01,param_02) +{ + param_00 notify("resetCostOnRoundTransition"); + param_00 endon("resetCostOnRoundTransition"); + param_00 endon("death"); + level waittill("zombie_wave_started"); + if(!isdefined(param_00)) + { + return; + } + + level.sqcostindex = 0; + level.sqcost = param_02[level.sqcostindex]; + level.sqcoststring = param_01[level.sqcostindex]; + if(!param_00.cooldown) + { + param_00 setsecondaryhintstring(level.sqcoststring); + } +} + +//Function Number: 115 +setupteleportlightmodel(param_00,param_01,param_02) +{ + if(isdefined(param_02)) + { + wait(param_02); + } + + switch(param_01) + { + case 0: + param_00 hidepart("TAG_FX_ON"); + param_00 showpart("TAG_FX_OFF"); + param_00 hidepart("TAG_FX_GLOW"); + break; + + case 4: + maps\mp\zombies\_util::stopfxontagnetwork(common_scripts\utility::getfx("dlc_prop_exo_teleport_pwr_on"),param_00,"tag_origin"); + break; + + case 1: + param_00 hidepart("TAG_FX_ON"); + param_00 hidepart("TAG_FX_OFF"); + param_00 showpart("TAG_FX_GLOW"); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("dlc_prop_exo_teleport_pwr_off"),param_00,"tag_origin",0); + break; + + case 2: + param_00 showpart("TAG_FX_ON"); + param_00 hidepart("TAG_FX_OFF"); + param_00 hidepart("TAG_FX_GLOW"); + maps\mp\zombies\_util::stopfxontagnetwork(common_scripts\utility::getfx("dlc_prop_exo_teleport_pwr_off"),param_00,"tag_origin"); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("dlc_prop_exo_teleport_pwr_on"),param_00,"tag_origin",0); + wait(0.5); + param_00 hidepart("TAG_FX_ON"); + param_00 hidepart("TAG_FX_OFF"); + param_00 showpart("TAG_FX_GLOW"); + maps\mp\zombies\_util::stopfxontagnetwork(common_scripts\utility::getfx("dlc_prop_exo_teleport_pwr_on"),param_00,"tag_origin"); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("dlc_prop_exo_teleport_pwr_off"),param_00,"tag_origin",0); + break; + + case 3: + maps\mp\zombies\_util::stopfxontagnetwork(common_scripts\utility::getfx("dlc_prop_exo_teleport_pwr_off"),param_00,"tag_origin"); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("dlc_prop_exo_teleport_pwr_on"),param_00,"tag_origin",0); + param_00 showpart("TAG_FX_ON"); + param_00 hidepart("TAG_FX_OFF"); + param_00 hidepart("TAG_FX_GLOW"); + break; + } +} + +//Function Number: 116 +setupteleportlight(param_00,param_01,param_02) +{ + if(isdefined(param_02)) + { + wait(param_02); + } + + switch(param_01) + { + case 0: + param_00 setlightcolor(maps\mp\mp_zombie_ark::getteleporterlightcoloroff()); + param_00 setlightintensity(maps\mp\mp_zombie_ark::getteleporterlightintensityoff()); + break; + + case 4: + case 1: + param_00 setlightcolor(maps\mp\mp_zombie_ark::getteleporterlightcolorstandby()); + param_00 setlightintensity(maps\mp\mp_zombie_ark::getteleporterlightintensitystandby()); + break; + + case 2: + param_00 setlightcolor(maps\mp\mp_zombie_ark::getteleporterlightcoloron()); + param_00 setlightintensity(maps\mp\mp_zombie_ark::getteleporterlightintensityon()); + wait(0.5); + param_00 setlightcolor(maps\mp\mp_zombie_ark::getteleporterlightcolorstandby()); + param_00 setlightintensity(maps\mp\mp_zombie_ark::getteleporterlightintensitystandby()); + break; + + case 3: + param_00 setlightcolor(maps\mp\mp_zombie_ark::getteleporterlightcoloron()); + param_00 setlightintensity(maps\mp\mp_zombie_ark::getteleporterlightintensityon()); + break; + } +} + +//Function Number: 117 +runteleporterlight(param_00) +{ + param_00 setlightcolor((1,0,0)); + self waittill("teleportReady"); + param_00 setlightcolor((0.501,1,1)); +} + +//Function Number: 118 +playerteleporttoisland(param_00) +{ + self setorigin(param_00.origin,1); + if(isdefined(param_00.angles)) + { + self setplayerangles(param_00.angles); + } + + self.onisland = 1; + self method_856B(0); + self notify("update_ground_ref_ent"); + playfx(common_scripts\utility::getfx("teleport_post_fx"),self.origin,anglestoforward(self.angles)); + thread maps\mp\mp_zombie_ark_aud::island_timer_start(); +} + +//Function Number: 119 +playerteleportfromisland(param_00) +{ + self.onisland = undefined; + self method_856B(1); + self notify("update_ground_ref_ent"); + if(!playertryteleporttostruct(param_00)) + { + var_01 = getnodesinradiussorted(param_00.origin,200,0); + playerteleporttoastructwait(var_01,0); + } + + playfx(common_scripts\utility::getfx("teleport_post_fx"),self.origin,anglestoforward(self.angles)); +} + +//Function Number: 120 +playerdig() +{ + level endon("teleportBackFromIsland"); + level endon("treasureFound"); + if(!maps\mp\zombies\_util::is_true(level.sqshovelhint)) + { + level.sqshovelhint = 1; + wait(2); + playerplaysqvo(10); + } + + if(!playerhasitem("shovel")) + { + return; + } + + if(!isdefined(self.digprompt)) + { + self.digprompt = spawn("script_model",self.origin); + self.digprompt hide(); + self.digprompt showtoplayer(self); + self.digprompt setcursorhint("HINT_NOICON"); + self.digprompt sethintstring(&"ZOMBIE_ARK_SQ_DIG"); + } + + for(;;) + { + var_00 = self geteye(); + var_01 = anglestoforward(self getplayerangles()); + var_02 = var_00 + var_01 * 70; + var_03 = bullettrace(var_00,var_02,0,self); + if(var_03["fraction"] == 1 || !isdefined(var_03["surfacetype"]) || var_03["surfacetype"] != "sand") + { + if(maps\mp\zombies\_util::is_true(self.digprompt.usable)) + { + self.digprompt makeglobalunusable(); + self.digprompt.usable = 0; + } + } + else + { + if(!maps\mp\zombies\_util::is_true(self.digprompt.usable)) + { + self.digprompt makeglobalusable(-100,self); + self.digprompt.usable = 1; + } + + if(self usebuttonpressed()) + { + self.digprompt makeglobalunusable(); + self.digprompt.usable = 0; + var_04 = var_03["position"]; + playfx(common_scripts\utility::getfx("sq_dirt_dig"),var_04); + var_05 = distance2dsquared(var_04,level.sqtreasure.origin); + thread maps\mp\mp_zombie_ark_aud::dig(); + if(var_05 < 1024) + { + level.sqtreasure.origin = var_04; + level notify("treasureFound",self); + return; + } + + wait(1); + self.digprompt makeglobalusable(-100,self); + self.digprompt.usable = 1; + } + } + + wait 0.05; + } +} + +//Function Number: 121 +findtreasure(param_00) +{ + level endon("code1_stage4_over"); + level.sqtreasurefound = 1; + var_01 = getent("sqIslandCrate2","targetname"); + var_02 = getent("sqCode3","targetname"); + var_03 = param_00.origin - level.sqtreasure.origin; + var_04 = (0,vectortoyaw(var_03),0); + var_05 = level.sqtreasure.origin + (0,0,-10); + if(!isdefined(var_01)) + { + var_01 = spawn("script_model",var_05); + var_01 setmodel("zark_tablet_chest_anim"); + var_01.targetname = "sqIslandCrate2"; + var_01.angles = var_04; + if(isdefined(var_02)) + { + var_02 show(); + var_02.origin = var_01.origin + (0.5,0,2); + var_02.angles = var_01.angles; + var_02 vehicle_jetbikesethoverforcescale(var_01); + } + } + else + { + var_01 show(); + var_01 thread maps\mp\mp_zombie_ark_aud::treasure_found(); + if(isdefined(var_02)) + { + var_02 show(); + var_02 vehicle_jetbikesethoverforcescale(var_01); + } + + var_01 dontinterpolate(); + var_01.origin = var_05; + var_01.angles = var_04; + } + + wait 0.05; + var_01 scriptmodelplayanim("zark_tablet_chest_closed_loop","chest_notetrack"); + var_06 = playerphysicstraceinfo(var_01.origin + (0,0,20),var_01.origin,param_00); + var_07 = var_01.origin + (0,0,20); + if(var_06["fraction"] > 0) + { + var_07 = (var_01.origin[0],var_01.origin[1],var_06["position"][2] + 1); + } + + wait 0.05; + var_01 moveto(var_07,0.2,0.1,0.1); + wait(0.2); + var_01 physicslaunchserver(var_01.origin,(0,0,-1)); + var_01 common_scripts\utility::waittill_notify_or_timeout("physics_finished",0.5); + var_01 physicsstop(); + var_01 scriptmodelplayanim("zark_tablet_chest_closed_loop","chest_notetrack"); + wait(1); + param_00 = var_01 maps\mp\zombies\_zombies_sidequests::fake_use("chest_opened"); + param_00 thread maps\mp\mp_zombie_ark_aud::treasure_opened(); + var_01 scriptmodelplayanim("zark_tablet_chest_open","chest_notetrack"); + var_01 waittillmatch("end","chest_notetrack"); + var_01 scriptmodelplayanim("zark_tablet_chest_open_loop","chest_notetrack"); + if(isdefined(var_02)) + { + wait(1.5); + param_00 = var_02 maps\mp\zombies\_zombies_sidequests::fake_use("got_code",::playernotholdingcode); + var_02 hide(); + } + + param_00 playergiveitem("code"); + param_00 thread maps\mp\mp_zombie_ark_aud::got_code(); + foreach(param_00 in level.players) + { + param_00 maps\mp\gametypes\zombies::givepointsforevent("sq_code1",2000,1); + } + + level.sqtreasurepickedup = 1; +} + +//Function Number: 122 +getplayersteleporting() +{ + var_00 = []; + var_01 = getent("sqTeleportTrigger","targetname"); + if(isdefined(var_01)) + { + foreach(var_03 in level.players) + { + if(var_03 istouching(var_01) && !var_03 isjumping() && !var_03 ishighjumping() && !var_03 ishighjumping()) + { + var_00[var_00.size] = var_03; + } + } + } + else + { + var_00 = level.players; + } + + return common_scripts\utility::array_randomize(var_00); +} + +//Function Number: 123 +code1_stage2_init() +{ +} + +//Function Number: 124 +code1_stage2_logic() +{ + while(!anyplayerhasshovel()) + { + wait 0.05; + } + + wait(1); + maps\mp\zombies\_zombies_sidequests::stage_completed("code1","stage2"); +} + +//Function Number: 125 +anyplayerhasitem(param_00) +{ + foreach(var_02 in level.players) + { + if(var_02 playerhasitem(param_00)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 126 +anyplayerhasshovel() +{ + return anyplayerhasitem("shovel"); +} + +//Function Number: 127 +code1_stage2_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Found the shovel"); +} + +//Function Number: 128 +code1_stage3_init() +{ +} + +//Function Number: 129 +code1_stage3_logic() +{ + level waittill("treasureFound",var_00); + level thread findtreasure(var_00); + maps\mp\zombies\_zombies_sidequests::stage_completed("code1","stage3"); +} + +//Function Number: 130 +code1_stage3_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Found the treasure"); +} + +//Function Number: 131 +code1_stage4_init() +{ +} + +//Function Number: 132 +code1_stage4_logic() +{ + while(!level.sqtreasurepickedup) + { + wait 0.05; + } + + maps\mp\zombies\_zombies_sidequests::stage_completed("code1","stage4"); +} + +//Function Number: 133 +code1_stage4_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Retreived code from the chest"); +} + +//Function Number: 134 +init_code2_sidequest() +{ +} + +//Function Number: 135 +sidequest_code2_logic() +{ + maps\mp\zombies\_zombies_sidequests::stage_start("code2","stage1"); + level waittill("code2_stage1_over"); +} + +//Function Number: 136 +code2_stage1_init() +{ +} + +//Function Number: 137 +code2_stage1_logic() +{ + var_00 = getent("sqSecurityButton","targetname"); + if(!isdefined(var_00)) + { + return; + } + + level thread runobstaclecourse(); + var_00 waittill("courseCompleted"); + maps\mp\zombies\_zombies_sidequests::stage_completed("code2","stage1"); +} + +//Function Number: 138 +runobstaclecourse() +{ + var_00 = getent("sqSecurityButton","targetname"); + var_01 = getent("sqCode2","targetname"); + if(!isdefined(var_00)) + { + return; + } + + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("dlc_prop_biometric_lock_on"),var_00,"tag_origin"); + wait(1); + var_03 = 120; + if(level.players.size > 1) + { + var_03 = var_03 * 2; + } + + for(;;) + { + for(;;) + { + var_00 maps\mp\zombies\_zombies_sidequests::fake_use("button_pressed",undefined,undefined,"sqCourseStart"); + var_04 = allplayersinzone("biomed"); + if(var_04) + { + setomnvar("ui_zm_ee_bool",0); + level thread maps\mp\gametypes\zombies::setendtimeomnvarwithhostmigration("ui_zm_ee_int2",gettime() + var_03 * 1000); + foreach(var_06 in level.players) + { + if(var_06 playerisintoxicated()) + { + var_06 thread playerintoxicate(undefined,var_03); + } + + var_06 playlocalsound("ee_obstacle_course_on"); + } + + thread maps\mp\mp_zombie_ark_aud::start_obstacle_course(); + level thread maps\mp\zombies\_teleport::teleporter_disable_all(); + break; + } + else + { + setomnvar("ui_zm_ee_int2",0); + level notify("ui_zm_ee_int2_cancel"); + thread maps\mp\mp_zombie_ark_aud::stop_obstacle_course(); + } + + wait(1); + } + + foreach(var_09 in level.sqsecurityfieldbrushes) + { + var_09 entitysetintoxicatedvisiononly(1); + } + + var_00 thread securitybuttonswitchfxon(); + if(isdefined(var_01)) + { + var_01 show(); + } + + level thread doobstaclecoursevo(); + var_0B = securityfieldlogic(var_01,var_03); + level thread delayenableteleporters(); + foreach(var_09 in level.sqsecurityfieldbrushes) + { + var_09 entitysetintoxicatedvisiononly(0); + var_09 hide(); + } + + if(var_0B) + { + var_00 notify("courseCompleted"); + stopallplayersintoxication(); + thread maps\mp\mp_zombie_ark_aud::obstacle_course_complete(); + } + else + { + foreach(var_06 in level.players) + { + var_06 playlocalsound("ee_obstacle_course_fail"); + } + + thread maps\mp\mp_zombie_ark_aud::stop_obstacle_course(); + } + + var_00 thread securitybuttonswitchfxoff(); + wait(1); + } +} + +//Function Number: 139 +doobstaclecoursevo() +{ + level thread doobstaclecourselavavo(); + level thread doobstaclecoursecrouchvo(); + level thread doobstaclecoursemazevo(); +} + +//Function Number: 140 +doobstaclecourselavavo() +{ + level endon("sq_obstacle_course_complete"); + if(maps\mp\zombies\_util::is_true(level.zmbsqplayedlavavo)) + { + return; + } + + var_00 = getent("sqTriggerEnterCargo","targetname"); + if(!isdefined(var_00)) + { + return; + } + + for(;;) + { + var_00 waittill("trigger",var_01); + if(!isplayer(var_01) || !var_01 playerisintoxicated()) + { + continue; + } + + if(var_01 playerplaysqvo(17) || var_01 playerplaysqvo(18)) + { + level.zmbsqplayedlavavo = 1; + var_00 delete(); + return; + } + } +} + +//Function Number: 141 +doobstaclecoursecrouchvo() +{ + level endon("sq_obstacle_course_complete"); + if(maps\mp\zombies\_util::is_true(level.zmbsqplayedcrouchvo)) + { + return; + } + + var_00 = getent("sqTriggerEnterLift","targetname"); + if(!isdefined(var_00)) + { + return; + } + + for(;;) + { + var_00 waittill("trigger",var_01); + if(!isplayer(var_01) || !var_01 playerisintoxicated()) + { + continue; + } + + if(var_01 playerplaysqvo(20)) + { + level.zmbsqplayedcrouchvo = 1; + var_00 delete(); + return; + } + } +} + +//Function Number: 142 +doobstaclecoursemazevo() +{ + level endon("sq_obstacle_course_complete"); + if(maps\mp\zombies\_util::is_true(level.zmbsqplayedmazevo)) + { + return; + } + + var_00 = getent("sqTriggerEnterPool","targetname"); + if(!isdefined(var_00)) + { + return; + } + + for(;;) + { + var_00 waittill("trigger",var_01); + if(!isplayer(var_01) || !var_01 playerisintoxicated()) + { + continue; + } + + if(var_01 playerplaysqvo(21)) + { + level.zmbsqplayedmazevo = 1; + var_00 delete(); + return; + } + } +} + +//Function Number: 143 +delayenableteleporters() +{ + wait(1); + maps\mp\zombies\_teleport::teleporter_enable_all(); +} + +//Function Number: 144 +allplayersinzone(param_00) +{ + var_01 = 0; + foreach(var_03 in level.players) + { + if(isalive(var_03)) + { + var_01++; + } + } + + return maps\mp\zombies\_zombies_zone_manager::getnumberofplayersinzone(param_00) == var_01; +} + +//Function Number: 145 +securityfielddetecttouched() +{ + level endon("code2_stage1_over"); + level endon("sq_obstacle_course_complete"); + waittillframeend; + for(;;) + { + foreach(var_01 in level.players) + { + foreach(var_03 in level.sqsecurityfieldtriggers) + { + if(var_01 istouching(var_03)) + { + level notify("securityFieldTouched"); + return; + } + } + } + + wait 0.05; + } +} + +//Function Number: 146 +securityfieldlogic(param_00,param_01) +{ + var_02 = gettime(); + level.zmbsqobstaclecourserunning = 1; + level thread securityfielddetecttouched(); + level thread coursetimer(param_01); + var_03 = waittillcoursecomplete(param_00); + level notify("sq_obstacle_course_complete"); + level.zmbsqobstaclecourserunning = undefined; + param_00 hide(); + var_04 = gettime(); + var_05 = var_04 - var_02; + level thread doobstaclecoursetime(var_03,var_05); + if(isdefined(var_03)) + { + if(!maps\mp\zombies\_util::is_true(level.sqgotobstaclecoursecode)) + { + var_03 playergiveitem("code"); + var_03 thread maps\mp\mp_zombie_ark_aud::got_code(); + level.sqgotobstaclecoursecode = 1; + } + + return 1; + } + + playfx(common_scripts\utility::getfx("teleport_equipment"),param_00.origin); + return 0; +} + +//Function Number: 147 +coursetimer(param_00) +{ + level endon("code2_stage1_over"); + level endon("sq_obstacle_course_complete"); + wait(param_00); + level notify("sq_obstacle_course_time"); +} + +//Function Number: 148 +doobstaclecoursetime(param_00,param_01) +{ + if(isdefined(param_00)) + { + setomnvar("ui_zm_ee_bool",1); + setomnvar("ui_zm_ee_int2",param_01); + if(param_00 playerhasitem("fish")) + { + level thread dorewardsplash(param_01,param_00); + } + + wait(5); + } + + setomnvar("ui_zm_ee_int2",0); +} + +//Function Number: 149 +dorewardsplash(param_00,param_01) +{ + var_02 = param_00 / 1000; + if(var_02 < 60) + { + maps\mp\gametypes\zombies::showteamsplashzombies("zombie_ark_course_gold"); + var_03 = param_01 getcoopplayerdatareservedint("eggData"); + var_03 = var_03 | 16; + param_01 setcoopplayerdatareservedint("eggData",var_03); + return; + } + + if(var_02 < 75) + { + maps\mp\gametypes\zombies::showteamsplashzombies("zombie_ark_course_silver"); + return; + } + + if(var_02 < 90) + { + maps\mp\gametypes\zombies::showteamsplashzombies("zombie_ark_course_bronze"); + return; + } +} + +//Function Number: 150 +playernotholdingcode() +{ + return !playerhasitem("code"); +} + +//Function Number: 151 +waittillcoursecomplete(param_00) +{ + level endon("securityFieldTouched"); + level endon("sq_obstacle_course_time"); + var_01 = param_00 maps\mp\zombies\_zombies_sidequests::fake_use("got_code",::playernotholdingcode,undefined,"securityFieldTouched"); + return var_01; +} + +//Function Number: 152 +securitybuttonswitchfxon() +{ + maps\mp\zombies\_util::stopfxontagnetwork(common_scripts\utility::getfx("dlc_prop_biometric_lock_on"),self,"tag_origin"); + wait(1); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("dlc_prop_biometric_lock_pass"),self,"tag_origin"); +} + +//Function Number: 153 +securitybuttonswitchfxoff() +{ + maps\mp\zombies\_util::stopfxontagnetwork(common_scripts\utility::getfx("dlc_prop_biometric_lock_pass"),self,"tag_origin"); + wait(1); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("dlc_prop_biometric_lock_on"),self,"tag_origin"); +} + +//Function Number: 154 +code2_stage1_end(param_00) +{ + setitemascomplete("rum"); + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Completed the obstacle course & got code."); +} + +//Function Number: 155 +init_code3_sidequest() +{ +} + +//Function Number: 156 +sidequest_code3_logic() +{ + maps\mp\zombies\_zombies_sidequests::stage_start("code3","stage1"); + level waittill("code3_stage1_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("code3","stage2"); + level waittill("code3_stage2_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("code3","stage3"); + level waittill("code3_stage3_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("code3","stage4"); + level waittill("code3_stage4_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("code3","stage5"); + level waittill("code3_stage5_over"); +} + +//Function Number: 157 +code3_stage1_init() +{ +} + +//Function Number: 158 +code3_stage1_logic() +{ + var_00 = getent("sqLocker1","targetname"); + if(!isdefined(var_00)) + { + return; + } + + var_01 = spawnstruct(); + var_01.origin = (65,-496,1023); + var_02 = var_01 maps\mp\zombies\_zombies_sidequests::fake_use("doorUsed",undefined,undefined,"code3_stage1_over",80); + playsoundatpos(var_01.origin,"ee_locker_locked"); + var_02 playerplaysqvo(22,0.5); + maps\mp\zombies\_zombies_sidequests::stage_completed("code3","stage1"); +} + +//Function Number: 159 +code3_stage1_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Found locker."); +} + +//Function Number: 160 +code3_stage2_init() +{ + level thread dosharkhint(); +} + +//Function Number: 161 +dosharkhint() +{ + level endon("code3_stage3_over"); + var_00 = getent("sqLocker1","targetname"); + if(!isdefined(var_00)) + { + return; + } + + var_01 = spawnstruct(); + var_01.origin = (65,-496,1023); + var_02 = var_01 maps\mp\zombies\_zombies_sidequests::fake_use("doorUsed",undefined,undefined,"code3_stage1_over",80); + playsoundatpos(var_01.origin,"ee_locker_locked"); + var_02 playerplaysqvo(23,0.5); + level thread announcerozglobalplaysq(12,randomintrange(10,15)); +} + +//Function Number: 162 +code3_stage2_logic() +{ + for(;;) + { + level waittill("zombie_ammo_drone_spawn",var_00,var_01,var_02); + level thread waitspawnsqdrone(var_00,var_01,var_02); + } +} + +//Function Number: 163 +waitspawnsqdrone(param_00,param_01,param_02) +{ + var_03 = getsqdronestartnode(param_01,param_02); + if(!isdefined(var_03)) + { + return; + } + + maps\mp\_utility::incrementfauxvehiclecount(); + level.ammodrone2 = maps\mp\zombies\zombie_ammo_drone::spawnammodrone(var_03.origin,(0,0,0)); + if(!isdefined(level.ammodrone2)) + { + maps\mp\_utility::decrementfauxvehiclecount(); + return; + } + + level.ammodrone2.startzone = param_01; + level.ammodrone2.linegunignore = 1; + level thread maps\mp\zombies\zombie_ammo_drone::waittillactivate(level.ammodrone2,param_01); + level waittill("zombie_ammo_drone_activate",param_00,var_04,var_05); + var_06 = maps\mp\zombies\zombie_ammo_drone::getdestinationzone(param_01,var_04); + var_07 = maps\mp\zombies\zombie_ammo_drone::getdestinationnode(var_06,var_03); + level.ammodrone2.endnode = var_07; + level.ammodrone2.endzone = var_06; + level thread maps\mp\zombies\zombie_ammo_drone::droneactivate(level.ammodrone2,var_06,var_07,0); + var_08 = level.ammodrone2 dronewaittilldropswitch(); + level.ammodrone2 = undefined; + if(isdefined(var_08)) + { + var_08 scriptmodelplayanim("zark_electricpanel_switch_pickup_spin","switch_notetrack"); + var_08 thread switchpickup(); + } +} + +//Function Number: 164 +dronewaittilldropswitch() +{ + self endon("explode"); + var_00 = spawn("script_model",self.origin); + var_00 setmodel("zark_electricpanel_switch_01_anim"); + var_00 hudoutlineenable(2,0); + var_00 linkto(self,"tag_origin",(0,0,20),(0,0,0)); + thread dronesqcleanupswitch(var_00); + self waittill("disabled",var_01); + if(isdefined(self.lastgroundposition)) + { + var_01 = self.lastgroundposition; + } + + if(!isdefined(var_01)) + { + var_01 = self.origin; + } + + var_00 unlink(); + var_00.origin = var_01; + return var_00; +} + +//Function Number: 165 +switchpickup() +{ + self endon("deleted"); + self.trigger = spawn("trigger_radius",self.origin,0,32,32); + for(;;) + { + self.trigger waittill("trigger",var_00); + if(isplayer(var_00)) + { + var_00 playergiveitem("switch"); + var_00 thread maps\mp\mp_zombie_ark_aud::switch_pickup(); + maps\mp\zombies\_zombies_sidequests::stage_completed("code3","stage2"); + level thread removeswitch(self); + return; + } + } +} + +//Function Number: 166 +removeswitch(param_00) +{ + param_00 notify("deleted"); + wait 0.05; + if(isdefined(param_00.trigger)) + { + param_00.trigger delete(); + } + + param_00 delete(); +} + +//Function Number: 167 +dronesqcleanupswitch(param_00) +{ + self endon("disabled"); + self waittill("explode"); + param_00 delete(); +} + +//Function Number: 168 +getsqdronestartnode(param_00,param_01) +{ + var_02 = getlinkednodes(param_01,1); + if(var_02.size > 0) + { + return var_02[randomint(var_02.size)]; + } + + var_03 = common_scripts\utility::array_randomize(param_00.ammodronespawnnodes); + foreach(var_05 in var_03) + { + if(var_05 != param_01) + { + return var_05; + } + } +} + +//Function Number: 169 +waittillsqdroneactivate(param_00,param_01) +{ + level.ammodrone endon("droneDamaged"); + param_00 endon("droneDamaged"); + for(;;) + { + wait 0.05; + if(!maps\mp\zombies\_zombies_zone_manager::iszoneenabled(param_01.zone_name)) + { + continue; + } + + var_02 = maps\mp\zombies\_zombies_zone_manager::getplayersinzone(param_01.zone_name,1); + if(var_02.size == 0) + { + continue; + } + + var_03 = maps\mp\zombies\zombie_ammo_drone::getplayerclosetodrone(param_00,var_02); + if(isdefined(var_03)) + { + break; + } + + var_03 = maps\mp\zombies\zombie_ammo_drone::getplayerlookingatdronetoolong(param_00,var_02); + if(isdefined(var_03)) + { + break; + } + } + + level notify("activateAmmoDrone"); +} + +//Function Number: 170 +code3_stage2_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Got the switch from the treasure drone."); +} + +//Function Number: 171 +code3_stage3_init() +{ +} + +//Function Number: 172 +code3_stage3_logic() +{ + var_00 = getent("sqCageSwitch","targetname"); + if(!isdefined(var_00)) + { + return; + } + + var_01 = var_00 maps\mp\zombies\_zombies_sidequests::fake_use("used",::playerhasitem,"switch","code3_stage3_over"); + var_01 playertakeitem("switch"); + var_01 thread maps\mp\mp_zombie_ark_aud::switch_place_in_socket(); + wait(1); + maps\mp\zombies\_zombies_sidequests::stage_completed("code3","stage3"); +} + +//Function Number: 173 +code3_stage3_end(param_00) +{ + var_04 = getent("sqCageSwitch","targetname"); + if(isdefined(var_04)) + { + var_04 show(); + var_04 scriptmodelplayanim("zark_electricpanel_switch_up_idle","switch_notetrack"); + } + + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Placed switch by moon pool."); +} + +//Function Number: 174 +chumwaters() +{ + level.sqchumvolume = getent("sqChumWater","targetname"); + if(!isdefined(level.sqchumvolume)) + { + return; + } + + level.zmbwaterchummed = 0; + level.processenemykilledfunc = ::processenemykilled; + var_01 = 5; + var_02 = 0; + var_03 = 0; + for(;;) + { + level waittill("sq_chum_water",var_04,var_05); + if(maps\mp\zombies\_util::is_true(level.zmbsqcagemoving)) + { + continue; + } + + playfx(common_scripts\utility::getfx("sq_chum"),var_04); + if(!level.zmbwaterchummed) + { + if(isdefined(level.zmbshark) && maps\mp\zombies\_util::is_true(level.zmbshark.circling)) + { + continue; + } + + var_06 = gettime() - var_03; + if(var_06 > 10000) + { + var_02 = 0; + } + + var_03 = gettime(); + var_02++; + if(var_02 >= var_01) + { + level.zmbwaterchummed = 1; + level thread doshark(); + if(isdefined(var_05) && isplayer(var_05)) + { + var_05 thread playerplaychumwatervo(); + } + + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Water chummed"); + var_02 = 0; + var_03 = 0; + level thread resetchumtime(30); + } + + continue; + } + + var_02++; + var_07 = 30 - var_02; + level thread resetchumtime(var_07); + } +} + +//Function Number: 175 +playerplaychumwatervo() +{ + self endon("disconnect"); + wait(1); + maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","chum_water"); +} + +//Function Number: 176 +resetchumtime(param_00) +{ + level notify("resetChumTime"); + level endon("resetChumTime"); + if(param_00 > 0) + { + wait(param_00); + } + + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Water not chummed"); + level.zmbwaterchummed = 0; +} + +//Function Number: 177 +doshark() +{ + var_00 = common_scripts\utility::getstruct("shark_anim_node","targetname"); + if(!isdefined(var_00)) + { + var_00 = spawnstruct(); + var_00.origin = (0,0,0); + } + + if(!isdefined(var_00.angles)) + { + var_00.angles = (0,0,0); + } + + if(!isdefined(level.zmbshark)) + { + level.zmbshark = spawn("script_model",var_00.origin); + level.zmbshark setmodel("zark_shark_01"); + level.zmbeyeball = spawn("script_model",var_00.origin); + level.zmbeyeball setmodel("zark_zom_eye_01"); + level.zmbeyeball vehicle_jetbikesethoverforcescale(level.zmbshark,"j_helmet",(0,0,0),(0,0,0)); + } + + level.zmbsharktriggeractive = 0; + level.zmbshark show(); + level.zmbshark.circling = 1; + level.zmbshark scriptmodelplayanimdeltamotionfrompos("zom_shark_circle_enter",var_00.origin,var_00.angles,"shark_notetrack"); + thread maps\mp\mp_zombie_ark_aud::shark_enters(); + level.zmbshark waittillmatch("end","shark_notetrack"); + if(!maps\mp\zombies\_util::is_true(level.zmbaudioplayedsharkhint)) + { + if(announcerozglobalplaysq(15)) + { + level.zmbaudioplayedsharkhint = 1; + } + } + + if(level.zmbwaterchummed) + { + level.zmbsharktriggeractive = 1; + level.zmbshark scriptmodelplayanimdeltamotionfrompos("zom_shark_circle_loop",var_00.origin,var_00.angles,"shark_notetrack"); + thread maps\mp\mp_zombie_ark_aud::shark_loop(); + while(level.zmbwaterchummed && !maps\mp\zombies\_util::is_true(level.zmbsqcagemoving)) + { + wait 0.05; + } + } + + level.zmbsharktriggeractive = 0; + level.zmbshark scriptmodelplayanimdeltamotion("zom_shark_circle_exit","shark_notetrack"); + thread maps\mp\mp_zombie_ark_aud::shark_leaves(); + level.zmbshark waittillmatch("end","shark_notetrack"); + level.zmbshark.circling = undefined; + level.zmbshark hide(); + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Shark leaving"); +} + +//Function Number: 178 +processenemykilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + if(isdefined(level.processenemykilledcodefunc)) + { + self thread [[ level.processenemykilledcodefunc ]](param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08); + } + + if(!level.zmbwaterchummed && ispointinvolume(self.origin + (0,0,10),level.sqchumvolume)) + { + level notify("sq_chum_water",self.origin,param_01); + } +} + +//Function Number: 179 +code3_stage4_init() +{ +} + +//Function Number: 180 +code3_stage4_logic() +{ + cageoperation(); + maps\mp\zombies\_zombies_sidequests::stage_completed("code3","stage4"); +} + +//Function Number: 181 +code3_stage4_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Retrieved eye from pool"); +} + +//Function Number: 182 +cageoperation() +{ + var_00 = common_scripts\utility::getstruct("shark_anim_node","targetname"); + var_01 = getent("sqCrane","targetname"); + var_02 = getent("sqCageModel","targetname"); + var_03 = getent("sqCageDoorClip","targetname"); + var_04 = getent("sqCageDoorBottomClip","targetname"); + var_05 = getent("sqCageSwitch","targetname"); + var_06 = getent("sqCageTrigger","targetname"); + var_07 = getent("sqCageVolume","targetname"); + var_08 = getent("sqPoolDoor1","targetname"); + var_09 = getent("sqPoolDoor2","targetname"); + var_0A = getent("sqChumWater","targetname"); + var_0B = getent("sqPoolTrigger","targetname"); + var_0C = getent("sqPoolClip","targetname"); + var_0D = var_05; + if(isdefined(var_06)) + { + var_0D = var_06; + } + else + { + var_05.origin = (var_05.origin[0],596,var_05.origin[2]); + } + + var_0D makeusable(); + var_0D setcursorhint("HINT_NOICON"); + level.zmbsqcagemoving = 0; + for(;;) + { + var_0D sethintstring(&"ZOMBIE_ARK_SQ_CAGE"); + var_0D setsecondaryhintstring(&"ZOMBIES_COST_1000"); + for(;;) + { + var_0D waittill("trigger",var_0E); + if(var_0E maps\mp\gametypes\zombies::attempttobuy(1000)) + { + break; + } + + wait(0.5); + } + + var_0D sethintstring(&"ZOMBIES_CURE_COOLDOWN_HINT"); + var_0D setsecondaryhintstring(""); + var_05 thread maps\mp\mp_zombie_ark_aud::cage_switch(); + var_05 scriptmodelplayanim("zark_electricpanel_switch_move_down","switch_notetrack"); + var_05 waittillmatch("end","switch_notetrack"); + var_05 scriptmodelplayanim("zark_electricpanel_switch_down_idle","switch_notetrack"); + var_01 thread maps\mp\mp_zombie_ark_aud::cage_down(); + level.zmbsqcagemoving = 1; + var_0C poolclipon(); + docageanimation(var_00,var_02,var_01,var_03,var_04,var_07,var_08,var_09,var_0B); + var_0C poolclipoff(); + level.zmbsqcagemoving = 0; + if(isdefined(var_02.playerinside) && var_02.playerinside playerhasitem("eye")) + { + break; + } + + wait(30); + var_05 scriptmodelplayanim("zark_electricpanel_switch_move_up","switch_notetrack"); + var_05 waittillmatch("end","switch_notetrack"); + var_05 scriptmodelplayanim("zark_electricpanel_switch_up_idle","switch_notetrack"); + } + + var_0D makeunusable(); +} + +//Function Number: 183 +docageanimation(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + var_09 = param_06.origin; + var_0A = var_09 + (0,-60,0); + var_0B = param_07.origin; + var_0C = var_0B + (0,40,0); + var_0D = isdefined(level.zmbshark) && maps\mp\zombies\_util::is_true(level.zmbshark.circling); + param_02 scriptmodelplayanimdeltamotionfrompos("zark_sharkcage_lower_crane",param_00.origin,param_00.angles,"cageSequence"); + param_01 scriptmodelplayanimdeltamotionfrompos("zark_sharkcage_lower_cage",param_00.origin,param_00.angles,"cageSequence"); + param_06 moveto(var_0A,3,1,1); + param_07 moveto(var_0C,3,1,1); + if(var_0D) + { + level thread dosharkcageoztaunt(); + } + + param_01 waittillmatch("end","cageSequence"); + param_02 scriptmodelplayanimdeltamotionfrompos("zark_sharkcage_getin_loop_crane",param_00.origin,param_00.angles,"cageSequence"); + param_01 scriptmodelplayanimdeltamotionfrompos("zark_sharkcage_getin_loop_cage",param_00.origin,param_00.angles,"cageSequence"); + level thread setclipwhenplayerjumpsin(param_01,param_03,param_05); + param_03 cagedoorclipopen(); + param_01 common_scripts\utility::waittill_notify_or_timeout("playerJumpedIn",4); + param_03 notify("timeout"); + if(maps\mp\zombies\_util::is_true(param_03.open)) + { + param_03 cagedoorclipclose(); + } + + waittillsharkready(); + param_01 waittillmatch("getin_loop_point","cageSequence"); + level notify("removeExtraPlayersStop"); + if(var_0D && isdefined(param_01.playerinside)) + { + level.zmbshark show(); + thread maps\mp\mp_zombie_ark_aud::shark_attack(param_01.playerinside); + level.zmbshark scriptmodelplayanimdeltamotionfrompos("zark_sharkcage_attack_shark",param_00.origin,param_00.angles,"cageSequence"); + param_02 scriptmodelplayanimdeltamotionfrompos("zark_sharkcage_attack_crane",param_00.origin,param_00.angles,"cageSequence"); + param_01 scriptmodelplayanimdeltamotionfrompos("zark_sharkcage_attack_cage",param_00.origin,param_00.angles,"cageSequence"); + level thread handleeyeball(param_01); + param_01 waittillmatch("start_raise","cageSequence"); + thread maps\mp\mp_zombie_ark_aud::cage_up(); + } + else + { + thread maps\mp\mp_zombie_ark_aud::cage_up(); + param_02 scriptmodelplayanimdeltamotionfrompos("zark_sharkcage_raise_crane",param_00.origin,param_00.angles,"cageSequence"); + param_01 scriptmodelplayanimdeltamotionfrompos("zark_sharkcage_raise_cage",param_00.origin,param_00.angles,"cageSequence"); + } + + param_01 waittillmatch("close_pool","cageSequence"); + level thread closepooldoors(param_06,param_07,var_09,var_0B,param_08); + param_01 waittillmatch("cage_dropout","cageSequence"); + if(isdefined(param_01.playerinside)) + { + param_01.playerinside unlink(); + } + + param_04 thread cagedoorbottomdropplayer(param_01,param_05); + param_01 waittillmatch("end","cageSequence"); + if(var_0D) + { + level.zmbshark hide(); + } + + param_02 scriptmodelplayanimdeltamotionfrompos("zark_sharkcage_start_idle_crane",param_00.origin,param_00.angles,"cageSequence"); + param_01 scriptmodelplayanimdeltamotionfrompos("zark_sharkcage_start_idle_cage",param_00.origin,param_00.angles,"cageSequence"); + level notify("removeExtraPlayersStop"); +} + +//Function Number: 184 +dosharkcageoztaunt() +{ + if(!maps\mp\zombies\_util::is_true(level.zmbaudioplayedsharkcage)) + { + wait(1); + var_00 = 22; + if(common_scripts\utility::cointoss()) + { + var_00 = 23; + } + + if(announcerozglobalplaysq(var_00)) + { + level.zmbaudioplayedsharkcage = 1; + } + } +} + +//Function Number: 185 +handleeyeball(param_00) +{ + level endon("sqEyeballGrabDone"); + level thread handleeyeballend(param_00); + level.zmbeyeball hudoutlineenableforclient(param_00.playerinside,3,0); + param_00 waittillmatch("get_eyeball_start","cageSequence"); + var_01 = level.zmbeyeball maps\mp\zombies\_zombies_sidequests::fake_use("grabbedEyeball",::playerisincage,undefined,"sqEyeballGrabDone",100); + level.zmbeyeball delete(); + param_00.playerinside playergiveitem("eye"); + param_00.playerinside thread maps\mp\mp_zombie_ark_aud::grab_eyeball(); +} + +//Function Number: 186 +handleeyeballend(param_00) +{ + param_00 waittillmatch("get_eyeball_end","cageSequence"); + level notify("sqEyeballGrabDone"); + if(isdefined(level.zmbeyeball)) + { + level.zmbeyeball hudoutlinedisable(); + } +} + +//Function Number: 187 +playerisincage() +{ + return maps\mp\zombies\_util::is_true(self.insidecage); +} + +//Function Number: 188 +waittillsharkready() +{ + while(isdefined(level.zmbshark) && maps\mp\zombies\_util::is_true(level.zmbshark.circling)) + { + wait 0.05; + } +} + +//Function Number: 189 +closepooldoors(param_00,param_01,param_02,param_03,param_04) +{ + param_00 moveto(param_02,2,1,1); + param_01 moveto(param_03,2,1,1); + param_00.unresolved_collision_func = undefined; + param_01.unresolved_collision_func = undefined; + wait(2.1); + param_00.unresolved_collision_func = ::maps\mp\_movers::unresolved_collision_void; + param_01.unresolved_collision_func = ::maps\mp\_movers::unresolved_collision_void; +} + +//Function Number: 190 +poolclipon() +{ + self dontinterpolate(); + self.origin = self.origin + (0,0,1000); + self disconnectpaths(); +} + +//Function Number: 191 +poolclipoff() +{ + self connectpaths(); + wait 0.05; + self dontinterpolate(); + self.origin = self.origin + (0,0,-1000); +} + +//Function Number: 192 +cagedoorbottomdropplayer(param_00,param_01) +{ + if(isdefined(param_00.playerinside)) + { + level thread cagefixplayerifwatersucks(param_00.playerinside); + } + + self notsolid(); + wait(1.5); + self solid(); + if(isdefined(param_00.playerinside)) + { + param_00.playerinside.insidecage = undefined; + } + + level thread removeextraplayers(param_00,param_01); +} + +//Function Number: 193 +cagefixplayerifwatersucks(param_00) +{ + if(isdefined(param_00.disabledweaponswitch) && param_00.disabledweaponswitch > 0 && isdefined(param_00.disabledoffhandweapons) && param_00.disabledoffhandweapons > 0) + { + param_00 enableweaponpickup(); + param_00 common_scripts\utility::_enableweaponswitch(); + param_00 common_scripts\utility::_enableoffhandweapons(); + } + + var_01 = param_00 getcurrentprimaryweapon(); + if(issubstr(var_01,"combatknife")) + { + param_00 takeweapon(var_01); + var_02 = param_00 getweaponslistprimaries(); + if(var_02.size > 0) + { + param_00 switchtoweapon(var_02[0]); + } + } + + param_00 notify("above_water"); + param_00 notify("out_of_water"); + param_00 notify("end_swimming"); + if(maps\mp\zombies\_util::is_true(param_00.isshocked)) + { + param_00 stopshellshock(); + param_00.isshocked = undefined; + } + + if(!param_00 ishighjumpallowed() && maps\mp\zombies\_util::is_true(param_00.exosuitonline)) + { + param_00 maps\mp\_utility::playerallowhighjump(1); + param_00 maps\mp\_utility::playerallowhighjumpdrop(1); + param_00 maps\mp\_utility::playerallowboostjump(1); + param_00 maps\mp\_utility::playerallowpowerslide(1); + param_00 maps\mp\_utility::playerallowdodge(1); + } +} + +//Function Number: 194 +cagedoorclipopen() +{ + self notsolid(); + self.open = 1; +} + +//Function Number: 195 +cagedoorclipclose() +{ + self solid(); + self.open = 0; +} + +//Function Number: 196 +setclipwhenplayerjumpsin(param_00,param_01,param_02) +{ + param_01 endon("timeout"); + param_00.playerinside = undefined; + for(;;) + { + foreach(var_04 in level.players) + { + if(var_04 istouching(param_02)) + { + param_00.playerinside = var_04; + var_04 playlocalsound("underwater_enter"); + var_04.insidecage = 1; + level thread removeextraplayers(param_00,param_02); + var_04 thread playerlinktocage(param_00); + param_01 cagedoorclipclose(); + param_00 notify("playerJumpedIn"); + return; + } + } + + wait 0.05; + } +} + +//Function Number: 197 +removeextraplayers(param_00,param_01) +{ + level endon("removeExtraPlayersStop"); + for(;;) + { + foreach(var_03 in level.players) + { + if(var_03 istouching(param_01) && !maps\mp\zombies\_util::is_true(var_03.insidecage)) + { + var_03 thread playerteleportoutofcage(param_01); + } + } + + wait 0.05; + } +} + +//Function Number: 198 +playerteleportoutofcage(param_00) +{ + maps\mp\_movers::unresolved_collision_nearest_node(self,1); + wait(1); + if(isalive(self) && !self istouching(param_00)) + { + level thread cagefixplayerifwatersucks(self); + } +} + +//Function Number: 199 +playerlinktocage(param_00) +{ + self endon("disconnect"); + wait(0.5); + self playerlinktodelta(param_00,"tag_origin",1,180,180,180,180,1); +} + +//Function Number: 200 +playerhandlewaterdamageark() +{ + level endon("game_ended"); + self endon("death"); + self endon("stopped_using_remote"); + self endon("disconnect"); + self endon("above_water"); + thread maps\mp\_water::onplayerdeath(); + wait(13); + for(;;) + { + if((!isdefined(self.isjuggernaut) || self.isjuggernaut == 0) && !maps\mp\zombies\_util::is_true(self.insidecage)) + { + radiusdamage(self.origin + anglestoforward(self.angles) * 5,1,20,20,undefined,"MOD_TRIGGER_HURT"); + } + + wait(1); + } +} + +//Function Number: 201 +code3_stage5_init() +{ +} + +//Function Number: 202 +code3_stage5_logic() +{ + var_00 = getent("sqLocker1","targetname"); + if(!isdefined(var_00)) + { + return; + } + + var_01 = spawnstruct(); + var_01.origin = (65,-496,1023); + var_02 = var_01 maps\mp\zombies\_zombies_sidequests::fake_use("doorUsed",::playerhasitem,"eye","code3_stage1_over",80); + var_02 playertakeitem("eye"); + thread maps\mp\mp_zombie_ark_aud::open_locker(var_01); + var_00 rotateyaw(-80,2,0.5,1); + wait(2); + var_03 = getent("sqCode4","targetname"); + if(isdefined(var_03)) + { + var_03 show(); + var_02 = var_03 maps\mp\zombies\_zombies_sidequests::fake_use("got_code",::playernotholdingcode); + var_03 delete(); + } + + var_02 playergiveitem("code"); + var_02 thread maps\mp\mp_zombie_ark_aud::got_code(); + maps\mp\zombies\_zombies_sidequests::stage_completed("code3","stage5"); +} + +//Function Number: 203 +code3_stage5_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Opened locker and retrieved code."); +} + +//Function Number: 204 +init_code4_sidequest() +{ + common_scripts\utility::flag_init("sq_plinko_a"); + common_scripts\utility::flag_init("sq_plinko_b"); + common_scripts\utility::flag_init("sq_plinko_c"); +} + +//Function Number: 205 +sidequest_code4_logic() +{ + common_scripts\utility::flag_set("sq_plinko"); + maps\mp\zombies\_zombies_sidequests::stage_start("code4","stage1"); + level waittill("code4_stage1_over"); + common_scripts\utility::flag_clear("sq_plinko"); +} + +//Function Number: 206 +code4_stage1_init() +{ + level thread findsqplinkohint(); +} + +//Function Number: 207 +findsqplinkohint() +{ + level.zmbfindgamblecustomvo = ::doplayerfoundplinkosq; + var_00 = common_scripts\utility::getstructarray("plinko","targetname"); + foreach(var_02 in var_00) + { + level thread maps\mp\zombies\_gambling::discoverplinkologic(var_02); + } +} + +//Function Number: 208 +doplayerfoundplinkosq(param_00,param_01) +{ + var_02 = 24; + if(common_scripts\utility::cointoss()) + { + var_02 = 25; + } + + if(param_00 playerplaysqvo(var_02)) + { + level notify("discoverPlinkoLogic"); + return 1; + } + + return 0; +} + +//Function Number: 209 +code4_stage1_logic() +{ + level thread doplinkooztaunt(); + for(;;) + { + var_00 = waituntilplinkocomplete(); + if(maps\mp\zombies\_util::is_true(var_00)) + { + break; + } + + wait 0.05; + } + + maps\mp\zombies\_zombies_sidequests::stage_completed("code4","stage1"); +} + +//Function Number: 210 +doplinkooztaunt() +{ + level common_scripts\utility::waittill_any("sq_plinko_a","sq_plinko_b","sq_plinko_c"); + var_00 = 26; + if(common_scripts\utility::cointoss()) + { + var_00 = 27; + } + + announcerozglobalplaysq(var_00); +} + +//Function Number: 211 +waituntilplinkocomplete() +{ + level endon("playerCountUpdate"); + common_scripts\utility::flag_wait("sq_plinko_a"); + common_scripts\utility::flag_wait("sq_plinko_b"); + var_00 = common_scripts\utility::flag_wait("sq_plinko_c"); + var_01 = getent("sqCode1","targetname"); + if(isdefined(var_01)) + { + var_01 moveto((-124,696,998),1.5,0.1,0.5); + var_00 = var_01 maps\mp\zombies\_zombies_sidequests::fake_use("got_code",::playernotholdingcode); + var_01 delete(); + } + + if(isdefined(var_00)) + { + var_00 playergiveitem("code"); + var_00 thread maps\mp\mp_zombie_ark_aud::got_code(); + } + + return 1; +} + +//Function Number: 212 +code4_stage1_end(param_00) +{ + level.zmbfindgamblecustomvo = undefined; + level notify("discoverPlinkoLogic"); + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Retreived the passcode from the machine"); +} + +//Function Number: 213 +init_song_sidequest() +{ + level.sq_song_ent = getent("sq_song","targetname"); + if(!isdefined(level.sq_song_ent)) + { + level.sq_song_ent = spawn("script_model",(0,0,0)); + } +} + +//Function Number: 214 +sidequest_logic_song() +{ + var_00 = 0; + var_01 = 0; + var_02 = 0; + maps\mp\zombies\_zombies_sidequests::stage_start("song","stage1"); + maps\mp\zombies\_zombies_sidequests::stage_start("song","stage2"); + maps\mp\zombies\_zombies_sidequests::stage_start("song","stage3"); + var_03 = 0; + for(;;) + { + var_04 = level common_scripts\utility::waittill_any_return_no_endon_death("song_stage1_over","song_stage2_over","song_stage3_over"); + var_03++; + if(var_03 < 3) + { + thread song_play(var_03); + continue; + } + + song_play(2); + thread song_play(); + break; + } +} + +//Function Number: 215 +song_play(param_00) +{ + level notify("sq_song_play"); + level endon("sq_song_play"); + level endon("sq_song_stop"); + if(maps\mp\zombies\_util::is_true(level.sq_song_ent.playing)) + { + level.sq_song_ent stopsounds(); + level.sq_song_ent.playing = 0; + wait(0.2); + } + + var_01 = "zmb_mus_ee_04"; + if(!isdefined(param_00) || param_00 <= 0) + { + param_00 = musiclength("zmb_mus_ee_04"); + } + else + { + var_01 = "zmb_mus_ee_04_prvw"; + } + + level.sq_song_ent playsoundonmovingent(var_01); + level.sq_song_ent.playing = 1; + wait(param_00); + level.sq_song_ent stopsounds(); + level.sq_song_ent.playing = 0; +} + +//Function Number: 216 +song_stop() +{ + level.sq_song_ent stopsounds(); + level.sq_song_ent.playing = 0; + level notify("sq_song_stop"); +} + +//Function Number: 217 +song_fake_use(param_00,param_01,param_02,param_03) +{ + var_04 = spawnstruct(); + var_04.origin = param_00; + var_04 thread maps\mp\zombies\_zombies_sidequests::fake_use("activated",undefined,undefined,"song_stage" + param_01 + "_over",param_02,param_03); + var_04 waittill("activated",var_05); + return var_05; +} + +//Function Number: 218 +songstage1_init() +{ +} + +//Function Number: 219 +songstage1_logic() +{ + var_00 = song_fake_use((70,-502,1079.5),1,120,1); + maps\mp\zombies\_zombies_sidequests::stage_completed("song","stage1"); +} + +//Function Number: 220 +songstage1_end(param_00) +{ +} + +//Function Number: 221 +songstage2_init() +{ +} + +//Function Number: 222 +songstage2_logic() +{ + var_00 = song_fake_use((966,1958,1074),2,undefined,1); + maps\mp\zombies\_zombies_sidequests::stage_completed("song","stage2"); +} + +//Function Number: 223 +songstage2_end(param_00) +{ +} + +//Function Number: 224 +songstage3_init() +{ +} + +//Function Number: 225 +songstage3_logic() +{ + var_00 = song_fake_use((-923,-2166,972),3,80,1); + maps\mp\zombies\_zombies_sidequests::stage_completed("song","stage3"); +} + +//Function Number: 226 +songstage3_end(param_00) +{ +} + +//Function Number: 227 +musiclength(param_00) +{ + var_01 = tablelookup("mp/sound/soundlength_zm_mp_dlc3.csv",0,param_00,1); + if(!isdefined(var_01) || var_01 == "") + { + return 2; + } + + var_01 = int(var_01); + var_01 = var_01 * 0.001; + return var_01; +} + +//Function Number: 228 +playerplaysqvo(param_00,param_01,param_02) +{ + self endon("disconnect"); + self endon("death"); + if(isdefined(param_01) && param_01 > 0) + { + wait(param_01); + } + + if(maps\mp\zombies\_util::is_true(self.speaking)) + { + self waittill("done_speaking"); + } + + var_03 = maps\mp\zombies\_zombies_audio::create_and_play_dialog("sq","sq",undefined,param_00); + if(maps\mp\zombies\_util::is_true(param_02)) + { + wait 0.05; + waittilldonespeaking(self); + } + + return var_03; +} + +//Function Number: 229 +waittilldonespeaking(param_00) +{ + param_00 endon("disconnect"); + if(maps\mp\zombies\_util::is_true(param_00.isspeaking)) + { + param_00 waittill("done_speaking"); + } +} + +//Function Number: 230 +playsqvowaittilldone(param_00,param_01,param_02,param_03) +{ + var_04 = maps\mp\zombies\_zombies_audio::getcharacterbyprefix(param_00); + if(isdefined(var_04)) + { + var_05 = var_04 playerplaysqvo(param_01,param_02,1); + if(isdefined(param_03)) + { + wait(param_03); + } + + return var_05; + } + + return 0; +} + +//Function Number: 231 +announcerinworldplaysqvowaittilldone(param_00,param_01,param_02) +{ + if(isdefined(param_01) && param_01 > 0) + { + wait(param_01); + } + + if(!isdefined(param_02)) + { + param_02 = level.players; + } + + maps\mp\zombies\_zombies_audio_announcer::waittillallannouncersdonespeaking(); + maps\mp\zombies\_zombies_audio_announcer::announcerinworlddialog("machine_all_players",param_00,level.sqarm.origin,undefined,undefined,undefined,undefined,param_02); + maps\mp\zombies\_zombies_audio_announcer::waittillallannouncersdonespeaking(); +} + +//Function Number: 232 +announcerglobalplaysqvo(param_00,param_01,param_02) +{ + if(isdefined(param_01) && param_01 > 0) + { + wait(param_01); + } + + if(!isdefined(param_02)) + { + param_02 = level.players; + } + + maps\mp\zombies\_zombies_audio_announcer::waittillallannouncersdonespeaking(); + maps\mp\zombies\_zombies_audio_announcer::announcerglobaldialog("global_priority","sq",undefined,param_00,1,undefined,param_02); +} + +//Function Number: 233 +announcerglobalplaysqvowaittilldone(param_00,param_01,param_02) +{ + if(!isdefined(param_02)) + { + param_02 = level.players; + } + + announcerglobalplaysqvo(param_00,param_01,param_02); + maps\mp\zombies\_zombies_audio_announcer::waittillallannouncersdonespeaking(); +} + +//Function Number: 234 +announcerozglobalplaysqwaittilldone(param_00) +{ + announcerozglobalplaysq(param_00); + waittillannouncerozdonespeaking(); +} + +//Function Number: 235 +announcerozglobalplaysq(param_00,param_01) +{ + if(isdefined(param_01)) + { + wait(param_01); + } + + var_02 = maps\mp\zombies\_zombies_audio_announcer::getannouncers("oz")[0]; + return var_02 maps\mp\zombies\_zombies_audio::create_and_play_dialog("global_priority","sq",undefined,param_00,1,undefined,level.players); +} + +//Function Number: 236 +announcerozinworldplaysq(param_00,param_01,param_02) +{ + var_03 = maps\mp\zombies\_zombies_audio_announcer::getannouncers("oz")[0]; + var_03.origin = param_00; + wait 0.05; + if(isdefined(param_02)) + { + param_02 = common_scripts\utility::array_removeundefined(param_02); + } + + return var_03 maps\mp\zombies\_zombies_audio::create_and_play_dialog("machine_all_players","sq",undefined,param_01,1,undefined,param_02); +} + +//Function Number: 237 +waittillannouncerozdonespeaking(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = maps\mp\zombies\_zombies_audio_announcer::getannouncers("oz")[0]; + } + + if(maps\mp\zombies\_util::is_true(param_00.isspeaking)) + { + param_00 waittill("done_speaking"); + } +} + +//Function Number: 238 +zombiearmplaysqvo(param_00) +{ + return level.sqarm maps\mp\zombies\_zombies_audio::create_and_play_dialog("machine_all_players",param_00); +} + +//Function Number: 239 +set_side_quest_coop_data_ark() +{ + foreach(var_01 in level.players) + { + if(!isdefined(var_01.joinedround1) || !var_01.joinedround1) + { + continue; + } + + var_02 = var_01 getcoopplayerdatareservedint("eggData"); + var_02 = var_02 | 8; + var_01.sidequest = 1; + var_01 setcoopplayerdatareservedint("eggData",var_02); + setmatchdata("players",var_01.clientid,"startPrestige",var_01.sidequest); + } +} + +//Function Number: 240 +runozextras() +{ + level thread ozdoor(); +} + +//Function Number: 241 +ozphone() +{ + var_00 = spawnstruct(); + var_00.origin = (-1644,1083,800); + for(;;) + { + var_01 = var_00 maps\mp\zombies\_zombies_sidequests::fake_use("phone",undefined,undefined,undefined,75,1); + var_02 = bullettrace(var_01 geteye(),var_00.origin,0,var_01,0,0,0,0,0,0,0); + if(var_02["fraction"] == 1) + { + if(announcerozglobalplaysq(21)) + { + return; + } + } + + wait(1); + } +} + +//Function Number: 242 +ozdoor() +{ + var_00 = 62500; + var_01 = common_scripts\utility::getstruct("sqEngineRoomDoor","targetname"); + var_02 = [7,8,9,10,17,18,20]; + var_02 = common_scripts\utility::array_randomize(var_02); + var_03 = 0; + for(;;) + { + wait(randomintrange(240,360)); + var_04 = []; + foreach(var_06 in level.players) + { + if(var_06.origin[2] < 950) + { + continue; + } + + var_07 = distance2dsquared(var_06.origin,var_01.origin); + if(var_07 > var_00) + { + continue; + } + + var_08 = vectornormalize((var_06.origin[0],var_06.origin[1],0) - (var_01.origin[0],var_01.origin[1],0)); + var_09 = anglestoforward(var_01.angles); + var_0A = vectordot(var_08,var_09); + if(var_0A > 0) + { + var_04[var_04.size] = var_06; + } + } + + if(var_04.size > 0) + { + announcerozinworldplaysq(var_01.origin,var_02[var_03],var_04); + var_03++; + if(var_03 >= var_02.size) + { + return; + } + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_zombie_brg.gsc b/AW/PC/maps/mp/mp_zombie_brg.gsc new file mode 100644 index 0000000..41e5309 --- /dev/null +++ b/AW/PC/maps/mp/mp_zombie_brg.gsc @@ -0,0 +1,2771 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_zombie_brg.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 138 + * Decompile Time: 2165 ms + * Timestamp: 4/22/2024 2:19:12 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\mp\mp_zombie_brg_precache::main(); + maps\createart\mp_zombie_brg_art::main(); + maps\mp\mp_zombie_brg_fx::main(); + level.zmbaudioattractorwait = 8; + level.numkitingconversations = 0; + maps\mp\_load::main(); + maps\mp\mp_zombie_brg_lighting::main(); + maps\mp\mp_zombie_brg_aud::main(); + maps\mp\_compass::setupminimap("compass_map_mp_zombie_brg"); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + level.zombiehostinit = ::maps\mp\zombies\zombie_host::init; + level.zombiedoginit = ::maps\mp\zombies\zombie_dog::init; + level.dlcleaderboardnumber = 2; + level.allow_swimming = 0; + level.disable_water_weapon_swap = 1; + level.laststandinwaterfunc = ::laststandinwater; + level thread maps\mp\_water::init(); + thread disablepronevolumecheck(); + level.enabledzonepickupdrop = 1; + level.zombies_using_civilians = 1; + level.civ_extract = spawnstruct(); + level.civrounds = 0; + level.firstcivilianround = 6; + level.onstartgametypelevelfunc = ::onzombieburgertownstartgame; + maps\mp\zombies\_zombies_rewards::init(); + precacheburgertown(); + level.zombielevelinit = ::initburgertown; + level.zombieroundstartupdate = ::roundstartupdate; + level.calculateroundtypeoverridefunc = ::calculateroundtype; + level.specialmutatorstartingroundoverridefunc = ::getspecialmutatorstartinground; + level.spawnzombiekilledfxfunc = ::spawnzombiekilledfx; + level.noflashemzfunc = ::noflashemzhitfx; + level.noemzflashzones = ["sewermain_vol","sewertrans_vol","sewerpit_vol","sewertunnel_vol","sewerexit_vol","sewercave_vol"]; + level.mutatortablesetupfunc = ::buildmutatortable; + level.shouldspecialmutatorapplyfunc = ::shouldapplyspecialmutator; + level.zombieinfectedvisionset = "mp_zombie_lab_infected"; + level.zombieinfectedlightset = "mp_zombie_lab_infected"; + level.allowzombierecycle = 1; + level.wavecycleoverride = 6; + level.burgertownspecialroundcounter = 0; + thread maps\mp\zombies\_zombies_audio_dlc2::initdlc2audio(); + level.usezoneconnectiontombstonescoring = 1; + thread initmutators(); + thread initzones(); + thread initextractions(); + thread initcharactermodels(); + thread upcomingcivilianroundmonitor(); + thread inittoxiczones(); + thread sewerscurestationdisablespawning(); + initweapons(); + thread initrollupdoors(); + if(level.nextgen) + { + thread spinningpitbullwheel(); + } + + thread maps\mp\mp_zombie_brg_sq::init_sidequest(); + thread warbirdintro(); + level.spawnanimationnotetrackhandlerassigner = ::spawnanimationnotetrackhandlerassigner; + level.zombiespawnfxcount = 0; + precacheheadicon("hud_waypoint_survivor"); + thread laddertriggersetup(); + thread exploittrigger(); + thread enablespecialweaponlevelbox(); + thread flyoverbink(); + thread updateburgertowndoorcosts(); + thread updateburgertowntrapcosts(); + if(level.currentgen) + { + thread setstaticscriptmodels(); + } + + if(level.nextgen) + { + thread spawnpatchclipfixes(); + thread windowexploitledgelogic(); + thread shoveplayer(); + } + + if(level.currentgen) + { + var_00 = getentarray("cg_window_ledge","targetname"); + foreach(var_02 in var_00) + { + var_02 thread windowexploitledgelogicthink(); + } + } + + thread fixstuckzombie01(); + thread destroypatioglass(); +} + +//Function Number: 2 +fixstuckzombie01() +{ + var_00 = getnodesinradius((1800,-1526,240),10,0); + disconnectnodepair(var_00[0],getnode(var_00[0].target,"targetname")); +} + +//Function Number: 3 +laststandinwater() +{ + self endon("death"); + self endon("disconnect"); + self endon("revive"); + level endon("game_ended"); + for(;;) + { + if(isdefined(self.inwater) && self.inwater == 1 && isdefined(self.isshocked) && self.isshocked == 1) + { + self stopshellshock(); + self.isshocked = 0; + } + + wait(0.05); + } +} + +//Function Number: 4 +laddertriggersetup() +{ + var_00 = getentarray("ladder_check_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread laddermonitor(); + } +} + +//Function Number: 5 +laddermonitor() +{ + level endon("game_ended"); + for(;;) + { + self waittill("trigger",var_00); + if(isplayer(var_00)) + { + if(isdefined(var_00.laddercheck)) + { + continue; + } + else if(var_00 isonladder()) + { + var_00.laddercheck = 1; + ladderdisablethink(var_00); + } + } + } +} + +//Function Number: 6 +ladderdisablethink(param_00) +{ + level endon("game_ended"); + var_01 = self; + var_02 = gettime() + 5000; + while(gettime() < var_02) + { + wait(0.2); + if(!param_00 isonladder()) + { + param_00.laddercheck = undefined; + return; + } + + var_03 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + var_04 = 1; + foreach(var_06 in var_03) + { + if(var_06 istouching(var_01) && param_00 isonladder()) + { + var_04 = 0; + break; + } + } + + if(var_04 == 1) + { + param_00 allowladder(1); + param_00.laddercheck = undefined; + return; + } + } + + param_00 allowladder(0); + param_00 thread ladderenablethink(); +} + +//Function Number: 7 +ladderenablethink() +{ + level endon("game_ended"); + wait(10); + self allowladder(1); + self.laddercheck = undefined; +} + +//Function Number: 8 +disablepronevolumecheck() +{ + level endon("game_ended"); + var_00 = getentarray("sewers_water_no_prone","targetname"); + foreach(var_02 in var_00) + { + for(;;) + { + var_02 waittill("trigger",var_03); + if(isplayer(var_03)) + { + var_03 thread disableprone(var_02); + } + } + } +} + +//Function Number: 9 +disableprone(param_00) +{ + self notify("noprone"); + self endon("noprone"); + self endon("disconnect"); + while(self istouching(param_00)) + { + self allowprone(0); + wait(0.5); + } + + self allowprone(1); +} + +//Function Number: 10 +setstaticscriptmodels() +{ + var_00 = getentarray("static_entity","targetname"); + foreach(var_02 in var_00) + { + var_02 setstatic(); + } +} + +//Function Number: 11 +updateburgertowndoorcosts() +{ + var_00 = "mp/dlc2CostTable.csv"; + var_01 = 0; + var_02 = 1; + var_03 = common_scripts\utility::getstructarray("door","targetname"); + wait(5); + foreach(var_05 in var_03) + { + if(!isdefined(var_05.script_flag)) + { + continue; + } + + var_05.cost = int(tablelookup(var_00,var_01,var_05.script_flag,var_02)); + if(var_05 thread maps\mp\zombies\_doors::door_requires_power()) + { + continue; + } + + foreach(var_07 in var_05.triggers) + { + var_07 setsecondaryhintstring(maps\mp\zombies\_util::getcoststring(var_05.cost)); + } + } +} + +//Function Number: 12 +updateburgertowntrapcosts() +{ + var_00 = "mp/dlc2CostTable.csv"; + var_01 = 0; + var_02 = 1; + wait(5); + foreach(var_04 in level.traps) + { + if(!isdefined(var_04.script_noteworthy)) + { + continue; + } + + var_04.cost = int(tablelookup(var_00,var_01,var_04.script_noteworthy,var_02)); + } +} + +//Function Number: 13 +initextractions() +{ + maps\mp\zombies\_civilians::registerextractioninitevent("warbird",::maps\mp\zombies\_extraction::warbirdextractioninit); + maps\mp\zombies\_civilians::registerextractionescortevent("warbird",::maps\mp\zombies\_extraction::warbirdextractionescort); + maps\mp\zombies\_civilians::registerextractionevent("warbird",::maps\mp\zombies\_extraction::warbirdextraction); +} + +//Function Number: 14 +warbirdintro() +{ + wait(2); + var_00 = common_scripts\utility::getstructarray("warbird_intro","targetname"); + var_01 = common_scripts\utility::random(var_00); + var_02 = spawnhelicopter(level.players[0],var_01.origin,var_01.angles,"warbird_player_mp","vehicle_xh9_warbird_low_cloaked_in_out_mp_cloak"); + var_02 vehicle_turnengineoff(); + var_02 scalevolume(0); + var_02 playloopsound("veh_warbird_fly_over"); + var_02 scalevolume(1,5); + wait(3); + var_02 thread warbirdintroflightpath(var_01); +} + +//Function Number: 15 +warbirdintroflightpath(param_00) +{ + self endon("death"); + var_01 = param_00; + for(;;) + { + var_01 = common_scripts\utility::getstruct(var_01.target,"targetname"); + maps\mp\zombies\_extraction::warbirdmovetoattackpoint(self,var_01,25); + if(isdefined(var_01.script_noteworthy) && var_01.script_noteworthy == "warbird_exit") + { + self delete(); + } + + wait(0.05); + } +} + +//Function Number: 16 +initmutators() +{ + maps\mp\zombies\_mutators::initexplodermutator(); + maps\mp\zombies\_mutators::initemzmutator(); + maps\mp\zombies\_mutators_spiked::initspikedmutator(); + maps\mp\zombies\_mutators_acid::initacidmutator(); + maps\mp\zombies\_mutators_armor::initarmormutator(); +} + +//Function Number: 17 +buildmutatortable() +{ + for(;;) + { + level.special_mutators = []; + var_00 = getburgertownrandommutators(); + var_01 = 1; + var_02 = 1; + level waittill("zombie_round_countdown_started"); + if(level.wavecounter >= 8) + { + var_02 = 2; + } + + for(var_03 = 0;var_03 < var_02;var_03++) + { + var_04 = common_scripts\utility::random(var_00); + var_00 = common_scripts\utility::array_remove(var_00,var_04); + if(var_04 == "acid") + { + level.special_mutators[var_04] = [::shouldapplyacidmutator,var_01]; + continue; + } + + level.special_mutators[var_04] = [::shouldapplymutator,var_01]; + } + + if(level.wavecounter >= 5) + { + if(level.wavecounter >= 12) + { + var_01 = 2; + } + else + { + var_01 = 1; + } + + level.special_mutators["emz"] = [::shouldapplymutator,var_01]; + } + + level waittill("zombie_wave_ended"); + } +} + +//Function Number: 18 +getburgertownrandommutators() +{ + var_00 = []; + if(level.wavecounter < 6) + { + var_00 = ["armor","acid","spiked"]; + } + else if(level.wavecounter >= 6) + { + var_00 = ["armor","exploder","acid","spiked"]; + } + else if(level.wavecounter >= 12) + { + var_00 = ["exploder","acid","spiked"]; + } + + return var_00; +} + +//Function Number: 19 +shouldapplyacidmutator(param_00) +{ + if(level.activeacidzombies >= level.maxacidzombies) + { + return 0; + } + + return 1; +} + +//Function Number: 20 +shouldapplymutator(param_00) +{ + if(level.wavecounter < 3) + { + return 0; + } + + if(level.special_mutators.size == 0) + { + return 0; + } + + return 1; +} + +//Function Number: 21 +shouldapplyspecialmutator(param_00) +{ + if(self.agent_type == "zombie_dog" && level.wavecounter < 15) + { + return 0; + } + else if(self.agent_type == "zombie_dog" && level.wavecounter > 25) + { + return 1; + } + + return undefined; +} + +//Function Number: 22 +precacheburgertown() +{ + maps\mp\zombies\_civilians::precachestrings(); +} + +//Function Number: 23 +initburgertown() +{ + maps\mp\zombies\zombie_melee_goliath::init(); + maps\mp\zombies\zombie_murderbot::init(); + level.roundspawndelayfunc["normal"] = ::calculatenormalroundspawndelay; + level.roundspawndelayfunc["civilian"] = ::calculatecivilianroundspawndelay; + level.candroppickupsfunc["normal"] = ::burgertowncandroppickups; + level.candroppickupsfunc["civilian"] = ::burgertowncancivilianrounddroppickups; + level.nummaxenemiesthisroundfunc["civilian"] = ::civilianroundmaxnumenemies; + level.spawnzombiesoverridefunc = ::maps\mp\zombies\_zombies_burgertown_spawning::spawnzombies; + maps\mp\zombies\_zombies_burgertown_spawning::init(); + maps\mp\zombies\_civilians::init(); + level.assignzombiemeshoverridefunc = ::assignzombiemesh; + common_scripts\utility::flag_init("no_more_burgertown_employees"); + level thread burgertownemployeemonitor(); + level.mutatorfunc["zombie_generic"] = ::applyburgertownzombiemutator; +} + +//Function Number: 24 +burgertownemployeemonitor() +{ + level endon("game_ended"); + common_scripts\utility::flag_wait("no_more_burgertown_employees"); + if(!common_scripts\utility::flag("sewer_to_burgertown")) + { + common_scripts\utility::flag_wait("sewer_to_burgertown"); + } + + var_00 = maps\mp\zombies\_util::agentclassget("zombie_generic"); + var_00.model_heads[var_00.model_heads.size] = ["zombies_head_cau_dlc_a","zombies_head_cau_dlc_b","zombies_head_cau_dlc_c","zombies_head_shg_dlc_b"]; + var_00.model_bodies[var_00.model_bodies.size] = ["zom_civ_brg_employee_torso_slice"]; + var_01["right_leg"] = ["zom_civ_ruban_male_r_leg_slice"]; + var_01["left_leg"] = ["zom_civ_ruban_male_l_leg_slice"]; + var_01["right_arm"] = ["zom_civ_brg_employee_r_arm_slice"]; + var_01["left_arm"] = ["zom_civ_brg_employee_l_arm_slice"]; + var_00.model_limbs[var_00.model_limbs.size] = var_01; + level.exobodyparts["zom_civ_brg_employee_torso_slice"]["torso"] = "zom_marine_exo_torso_slice"; + level.exobodyparts["zom_civ_brg_employee_torso_slice"]["right_arm"] = "zom_marine_exo_r_arm_slice"; + level.exobodyparts["zom_civ_brg_employee_torso_slice"]["left_arm"] = "zom_marine_exo_l_arm_slice"; + level.exobodyparts["zom_civ_brg_employee_torso_slice"]["right_leg"] = "zom_marine_exo_r_leg_slice"; + level.exobodyparts["zom_civ_brg_employee_torso_slice"]["left_leg"] = "zom_marine_exo_l_leg_slice"; +} + +//Function Number: 25 +assignzombiemesh() +{ + if(!isdefined(self.agent_type) || self.agent_type != "zombie_generic") + { + return 0; + } + + if(common_scripts\utility::flag("sewer_to_burgertown") && shouldbeburgertownzombie()) + { + var_00 = ["zombies_head_cau_dlc_a","zombies_head_cau_dlc_b","zombies_head_cau_dlc_c","zombies_head_shg_dlc_b"]; + self setmodel("zom_civ_brg_employee_torso_slice"); + var_01 = common_scripts\utility::random(var_00); + self attach(var_01); + thread burgertownemployeeattachhat(); + self attach("zom_civ_ruban_male_r_leg_slice"); + self attach("zom_civ_ruban_male_l_leg_slice"); + self attach("zom_civ_brg_employee_r_arm_slice"); + self attach("zom_civ_brg_employee_l_arm_slice"); + self.burgertownemployee = 1; + level.burgertownzombiesthisround++; + return 1; + } + + return 0; +} + +//Function Number: 26 +burgertownemployeeattachhat() +{ + self attach("brg_hat_01","J_helmet"); +} + +//Function Number: 27 +applyburgertownzombiemutator(param_00) +{ + if(!isdefined(param_00.burgertownemployee)) + { + maps\mp\zombies\zombies_spawn_manager::applyzombiemutator(param_00); + } +} + +//Function Number: 28 +shouldbeburgertownzombie() +{ + if(common_scripts\utility::flag("no_more_burgertown_employees")) + { + return 0; + } + + var_00 = 6; + var_01 = 3; + var_02 = 6; + if(level.wavecounter < var_02) + { + return 0; + } + + var_03 = int(level.wavecounter - var_02 * 0.25); + var_04 = max(var_01,var_00 - var_03); + if(level.burgertownzombiesthisround >= var_04) + { + return 0; + } + + var_05 = 0.25; + return randomfloat(1) < var_05; +} + +//Function Number: 29 +civilianroundmaxnumenemies(param_00) +{ + return param_00 - 1; +} + +//Function Number: 30 +roundstartupdate() +{ + level.burgertownzombiesthisround = 0; +} + +//Function Number: 31 +calculateroundtype() +{ + if(!isdefined(level.nextcivilianround)) + { + calculatenextcivilianround(); + calculatenextspecialround(); + } + + if(level.wavecounter < 12) + { + var_00 = getscriptedroundtype(); + } + else + { + var_00 = calculatenextroundtype(); + } + + if(var_00 == "civilian") + { + level thread activatecivilianround(); + } + else + { + level.spawnzombiesoverridefunc = ::maps\mp\zombies\_zombies_burgertown_spawning::spawnzombies; + } + + return var_00; +} + +//Function Number: 32 +getscriptedroundtype() +{ + if(level.wavecounter == level.firstcivilianround) + { + return "civilian"; + } + + if(level.wavecounter == 8) + { + return "zombie_host"; + } + + if(level.wavecounter == 10) + { + return "zombie_melee_goliath"; + } + + return "normal"; +} + +//Function Number: 33 +calculatenextroundtype() +{ + if(level.wavecounter == level.nextcivilianround) + { + calculatenextcivilianround(); + return "civilian"; + } + + if(level.wavecounter == level.nextspecialround) + { + calculatenextspecialround(); + return getspecialroundtype(); + } + + level.spawnzombiesoverridefunc = ::maps\mp\zombies\_zombies_burgertown_spawning::spawnzombies; + return "normal"; +} + +//Function Number: 34 +getspecialroundtype() +{ + var_00 = ["zombie_host","zombie_melee_goliath"]; + var_01 = common_scripts\utility::mod(level.burgertownspecialroundcounter,var_00.size); + switch(var_01) + { + case 0: + var_01 = "zombie_host"; + break; + + case 1: + var_01 = "zombie_melee_goliath"; + break; + + default: + var_01 = var_00[0]; + break; + } + + level.burgertownspecialroundcounter++; + return var_01; +} + +//Function Number: 35 +upcomingcivilianroundmonitor() +{ + level endon("game_ended"); + level waittill("upcoming_civilian_round"); +} + +//Function Number: 36 +activatecivilianround() +{ + level endon("game_ended"); + level.civrounds++; + updatecivilianextractionpoints(); + level thread maps\mp\zombies\_civilians::spawncivilian("zombie_civilian"); + level.shouldwaveendoverridefunc = ::shouldcivilianroundend; + level.spawnzombiesoverridefunc = ::maps\mp\zombies\_zombies_burgertown_spawning::spawnzombiescivilianround; + playsoundatpos((0,0,0),"zmb_civ_extract_rnd_start"); + level waittill("zombie_wave_ended"); + level.shouldwaveendoverridefunc = undefined; +} + +//Function Number: 37 +shouldcivilianroundend(param_00,param_01) +{ + if(level.numberofalivecivilians > 0 || isdefined(level.waitingforcivilianspawn)) + { + return 0; + } + + return param_00 >= param_01; +} + +//Function Number: 38 +calculatenextcivilianround() +{ + var_00 = 12; + var_01 = 5; + if(!isdefined(level.nextcivilianround)) + { + level.nextcivilianround = var_00; + return; + } + + level.nextcivilianround = level.nextcivilianround + var_01; +} + +//Function Number: 39 +calculatenextextractionpointreset() +{ + level.resetextractionpointround = level.wavecounter + 20; +} + +//Function Number: 40 +calculatenextspecialround() +{ + var_00 = 2; + var_01 = 3; + level.nextspecialround = level.nextcivilianround + randomintrange(var_00,var_01); +} + +//Function Number: 41 +calculatenormalroundspawndelay(param_00,param_01) +{ + return maps\mp\zombies\zombies_spawn_manager::calculatespawndelay(); +} + +//Function Number: 42 +calculatecivilianroundspawndelay(param_00,param_01) +{ + var_02 = 2; + return maps\mp\zombies\zombies_spawn_manager::calculatespawndelay(var_02); +} + +//Function Number: 43 +getspecialmutatorstartinground() +{ + return 3; +} + +//Function Number: 44 +calculatenexttoxicgasround() +{ + var_00 = 11; + if(!isdefined(level.nexttoxicgasround)) + { + level.nexttoxicgasround = var_00; + return; + } + + level.nexttoxicgasround = level.nexttoxicgasround + randomintrange(3,5); +} + +//Function Number: 45 +initzones() +{ + maps\mp\zombies\_zombies_zone_manager::init(); + maps\mp\zombies\_zombies_zone_manager::initializezone("warehouse_office_vol",1); + maps\mp\zombies\_zombies_zone_manager::initializezone("warehouse_atlas_vol",1); + maps\mp\zombies\_zombies_zone_manager::initializezone("warehouse_gas_vol",1); + maps\mp\zombies\_zombies_zone_manager::initializezone("gas_station_pit_vol"); + maps\mp\zombies\_zombies_zone_manager::initializezone("gas_station_bldg_vol"); + maps\mp\zombies\_zombies_zone_manager::initializezone("gas_station_pumps_vol"); + maps\mp\zombies\_zombies_zone_manager::initializezone("gas_station_awning_vol"); + maps\mp\zombies\_zombies_zone_manager::initializezone("atlas_north_vol"); + maps\mp\zombies\_zombies_zone_manager::initializezone("atlas_center_vol"); + maps\mp\zombies\_zombies_zone_manager::initializezone("atlas_south_vol"); + maps\mp\zombies\_zombies_zone_manager::initializezone("atlas_pit_vol"); + maps\mp\zombies\_zombies_zone_manager::initializezone("atlas_command_vol"); + maps\mp\zombies\_zombies_zone_manager::initializezone("atlas_surplus_vol"); + maps\mp\zombies\_zombies_zone_manager::initializezone("burgertown_trench_vol"); + maps\mp\zombies\_zombies_zone_manager::initializezone("burgertown_parking_vol"); + maps\mp\zombies\_zombies_zone_manager::initializezone("burgertown_roof_vol"); + maps\mp\zombies\_zombies_zone_manager::initializezone("burgertown_int_vol"); + maps\mp\zombies\_zombies_zone_manager::initializezone("burgertown_east_vol"); + maps\mp\zombies\_zombies_zone_manager::initializezone("burgertown_west_vol"); + maps\mp\zombies\_zombies_zone_manager::initializezone("sewermain_vol"); + maps\mp\zombies\_zombies_zone_manager::initializezone("sewertrans_vol"); + maps\mp\zombies\_zombies_zone_manager::initializezone("sewerpit_vol"); + maps\mp\zombies\_zombies_zone_manager::initializezone("sewertunnel_vol"); + maps\mp\zombies\_zombies_zone_manager::initializezone("sewerexit_vol"); + maps\mp\zombies\_zombies_zone_manager::initializezone("sewercave_vol"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("warehouse_gas_vol","gas_station_pumps_vol","warehouse_to_gas_station"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("warehouse_atlas_vol","atlas_center_vol","warehouse_to_atlas"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("gas_station_pit_vol","sewertrans_vol","gas_station_to_sewer"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("atlas_pit_vol","sewermain_vol","atlas_to_sewer"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("sewertrans_vol","sewertunnel_vol","sewertrans_to_sewertunnel",1); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("sewertunnel_vol","sewerexit_vol","sewertrans_to_sewertunnel"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("sewermain_vol","sewercave_vol","sewermain_to_sewercave",1); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("sewerexit_vol","burgertown_trench_vol","sewer_to_burgertown"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("atlas_south_vol","atlas_command_vol","atlas_command",1); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("atlas_pit_vol","atlas_command_vol","atlas_command",1); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("warehouse_office_vol","warehouse_atlas_vol","warehouse_start"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("warehouse_office_vol","warehouse_gas_vol","warehouse_start"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("warehouse_atlas_vol","warehouse_gas_vol","warehouse_start"); + common_scripts\utility::flag_set("warehouse_start"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("sewermain_vol","sewertrans_vol","any_zone_to_sewer"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("sewermain_vol","sewerpit_vol","any_zone_to_sewer"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("sewertrans_vol","sewerpit_vol","any_zone_to_sewer"); + maps\mp\zombies\_util::flag_link("atlas_to_sewer","any_zone_to_sewer"); + maps\mp\zombies\_util::flag_link("gas_station_to_sewer","any_zone_to_sewer"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("gas_station_pumps_vol","gas_station_pit_vol","any_zone_to_gas_station"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("gas_station_pumps_vol","gas_station_bldg_vol","any_zone_to_gas_station"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("gas_station_pumps_vol","gas_station_awning_vol","any_zone_to_gas_station"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("gas_station_pit_vol","gas_station_bldg_vol","any_zone_to_gas_station"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("gas_station_pit_vol","gas_station_awning_vol","any_zone_to_gas_station"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("gas_station_bldg_vol","gas_station_awning_vol","any_zone_to_gas_station"); + maps\mp\zombies\_util::flag_link("warehouse_to_gas_station","any_zone_to_gas_station"); + maps\mp\zombies\_util::flag_link("gas_station_to_sewer","any_zone_to_gas_station"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("atlas_center_vol","atlas_north_vol","any_zone_to_atlas"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("atlas_center_vol","atlas_south_vol","any_zone_to_atlas"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("atlas_center_vol","atlas_pit_vol","any_zone_to_atlas"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("atlas_center_vol","atlas_surplus_vol","any_zone_to_atlas"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("atlas_north_vol","atlas_surplus_vol","any_zone_to_atlas"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("atlas_south_vol","atlas_pit_vol","any_zone_to_atlas"); + maps\mp\zombies\_util::flag_link("warehouse_to_atlas","any_zone_to_atlas"); + maps\mp\zombies\_util::flag_link("atlas_to_sewer","any_zone_to_atlas"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("burgertown_roof_vol","burgertown_int_vol","any_zone_to_burgertown"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("burgertown_roof_vol","burgertown_east_vol","any_zone_to_burgertown"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("burgertown_roof_vol","burgertown_west_vol","any_zone_to_burgertown"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("burgertown_roof_vol","burgertown_trench_vol","any_zone_to_burgertown"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("burgertown_roof_vol","burgertown_parking_vol","any_zone_to_burgertown"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("burgertown_parking_vol","burgertown_int_vol","any_zone_to_burgertown"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("burgertown_parking_vol","burgertown_east_vol","any_zone_to_burgertown"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("burgertown_parking_vol","burgertown_trench_vol","any_zone_to_burgertown"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("burgertown_int_vol","burgertown_east_vol","any_zone_to_burgertown"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("burgertown_int_vol","burgertown_west_vol","any_zone_to_burgertown"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("burgertown_east_vol","burgertown_west_vol","any_zone_to_burgertown"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("burgertown_west_vol","burgertown_trench_vol","any_zone_to_burgertown"); + maps\mp\zombies\_util::flag_link("sewer_to_burgertown","any_zone_to_burgertown"); + maps\mp\zombies\_zombies_zone_manager::activate(::maps\mp\zombies\_zombies_zone_manager::calculateweightedspawnpoint); + level.doorbitmaskarray = []; + level.doorbitmaskarray["warehouse_to_gas_station"] = 1; + level.doorbitmaskarray["warehouse_to_atlas"] = 2; + level.doorbitmaskarray["gas_station_interior"] = 4; + level.doorbitmaskarray["gas_station_to_sewer"] = 8; + level.doorbitmaskarray["atlas_command"] = 16; + level.doorbitmaskarray["atlas_to_sewer"] = 32; + level.doorbitmaskarray["sewertrans_to_sewertunnel"] = 64; + level.doorbitmaskarray["sewermain_to_sewercave"] = 128; + level.doorbitmaskarray["sewer_to_burgertown"] = 256; + level.doorbitmaskarray["burgertown_storage"] = 512; + thread maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_BRG_DOOR_TO_WAREHOUSE","warehouse_to_gas_station",0); + thread maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_BRG_DOOR_TO_GAS_STATION","warehouse_to_gas_station",1); + thread maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_BRG_DOOR_TO_ATLAS","warehouse_to_atlas",0); + thread maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_BRG_DOOR_TO_WAREHOUSE","warehouse_to_atlas",1); + thread maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_BRG_DOOR_TO_SEWER","gas_station_to_sewer",0); + thread maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_BRG_DOOR_TO_GAS_STATION","gas_station_to_sewer",1); + thread maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_BRG_DOOR_TO_SEWER_JUNC","atlas_to_sewer",0); + thread maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_BRG_DOOR_TO_ATLAS","atlas_to_sewer",1); + thread maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_BRG_DOOR_TO_SEWER","sewer_to_burgertown",0); + thread maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_BRG_DOOR_TO_BURGERTOWN","sewer_to_burgertown",1); + thread maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_BRG_DOOR_TO_SEWER_TUNNELS","sewertrans_to_sewertunnel",0); + thread maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_BRG_DOOR_TO_SEWER_JUNC","sewertrans_to_sewertunnel",1); + thread maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_BRG_DOOR_TO_SEWER_JUNC","sewermain_to_sewercave",0); + thread maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_BRG_DOOR_TO_SEWER_CAVE","sewermain_to_sewercave",1); + thread maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_BRG_DOOR_TO_BURGER_STORAGE","burgertown_storage",0); + thread maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_BRG_DOOR_TO_BURGER_STORAGE","burgertown_storage",1); + thread maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_BRG_DOOR_TO_GAS_INTERIOR","gas_station_interior",0); + thread maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_BRG_DOOR_TO_GAS_INTERIOR","gas_station_interior",1); + thread maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_BRG_DOOR_TO_ATLAS_COMMAND","atlas_command",0); + thread maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_BRG_DOOR_TO_ATLAS_COMMAND","atlas_command",1); + thread initgranulardoors("burgertown_storage",0.1); + thread initgranulardoors("gas_station_interior",0.1); + thread initgranulardoors("atlas_command",1); + thread initgranulardoors("atlas_to_sewer",1,"warehouse_to_atlas"); + thread initgranulardoors("gas_station_to_sewer",1,"warehouse_to_gas_station"); +} + +//Function Number: 46 +initcharactermodels() +{ + maps\mp\zombies\_util::initializecharactermodel("security","security_guard_body_dlc2","viewhands_security_guard",["security_guard_head_dlc2"]); + maps\mp\zombies\_util::initializecharactermodel("exec","executive_body_dlc2","viewhands_executive",["executive_head_dlc2"]); + maps\mp\zombies\_util::initializecharactermodel("it","lilith_body_dlc2","viewhands_lilith",["lilith_head_dlc2"]); + maps\mp\zombies\_util::initializecharactermodel("janitor","janitor_body_dlc2","viewhands_janitor",["janitor_head_dlc2"]); + maps\mp\zombies\_util::initializecharactermodel("security_exo","security_guard_body_exo_dlc2","viewhands_security_guard_exo",["security_guard_head_dlc2"]); + maps\mp\zombies\_util::initializecharactermodel("exec_exo","executive_body_exo_dlc2","viewhands_executive_exo",["executive_head_dlc2"]); + maps\mp\zombies\_util::initializecharactermodel("it_exo","lilith_body_exo_dlc2","viewhands_lilith_exo",["lilith_head_dlc2"]); + maps\mp\zombies\_util::initializecharactermodel("janitor_exo","janitor_body_exo_dlc2","viewhands_janitor_exo",["janitor_head_dlc2"]); + maps\mp\zombies\_util::initializecharactermodel("security_host","security_guard_body_dlc2",undefined,["security_guard_head_z"]); + maps\mp\zombies\_util::initializecharactermodel("exec_host","executive_body_dlc2",undefined,["executive_head_z"]); + maps\mp\zombies\_util::initializecharactermodel("it_host","lilith_body_dlc2",undefined,["lilith_head_z"]); + maps\mp\zombies\_util::initializecharactermodel("janitor_host","janitor_body_dlc2",undefined,["janitor_head_z"]); +} + +//Function Number: 47 +initgranulardoors(param_00,param_01,param_02) +{ + var_03 = []; + var_04 = common_scripts\utility::getstructarray("door","targetname"); + if(!isdefined(param_01)) + { + param_01 = 0.5; + } + + if(!common_scripts\utility::flag_exist(param_00)) + { + common_scripts\utility::flag_init(param_00); + } + + if(!isdefined(param_02)) + { + param_02 = param_00; + } + else if(!common_scripts\utility::flag_exist(param_02)) + { + common_scripts\utility::flag_init(param_02); + } + + foreach(var_06 in var_04) + { + if(isdefined(var_06.script_flag) && var_06.script_flag == param_02) + { + var_03 = common_scripts\utility::add_to_array(var_03,var_06); + } + } + + common_scripts\utility::flag_wait(param_00); + foreach(var_06 in var_03) + { + wait(randomfloat(param_01)); + var_06 notify("open"); + } +} + +//Function Number: 48 +initweapons() +{ + level.zombieweaponinitfunc = ::burgertownzombieweaponinit; + level.zombieweapononplayerspawnedfunc = ::burgertownzombieweapononplayerspawned; + level.initmagicboxweaponsfunc = ::burgertownzombieinitmagicboxweapons; + level.playerammolowfunc = ::burgertownplayerammolow; + level.activatemaxammofunc = ::burgertownactivatemaxammo; + level.setweaponlevelfunc = ::burgertownsetweaponlevel; + level.givemaxscriptedammofunc = ::burgertowngivemaxscriptedammo; + level.givepointsforkillshotfunc = ::burgertowngivepointsforkillshot; + level.playercanawardpointsfordamagefunc = ::burgertownplayercanawardpointsfordamage; + level.onzombiekilledfunc = ::burgertownonzombiekilled; + level.nearestnodetounreachabledronesearchheight = 128; +} + +//Function Number: 49 +burgertownzombieweaponinit() +{ + maps\mp\zombies\weapons\_zombie_microwave_gun::init(); +} + +//Function Number: 50 +burgertownzombieweapononplayerspawned() +{ + thread maps\mp\zombies\weapons\_zombie_microwave_gun::onplayerspawn(); +} + +//Function Number: 51 +burgertownzombieinitmagicboxweapons() +{ + maps\mp\zombies\_wall_buys::addmagicboxweapon("iw5_microwavezm","dlc_npc_microwave_gun_holo",&"ZOMBIES_MWG","none","none","none",1); +} + +//Function Number: 52 +burgertownplayerammolow(param_00) +{ + if(issubstr(param_00,"iw5_microwavezm_mp") && maps\mp\zombies\weapons\_zombie_microwave_gun::playerhasmicrowaveammoinfo()) + { + var_01 = maps\mp\zombies\weapons\_zombie_microwave_gun::playergetmicrowaveammo(); + var_02 = maps\mp\zombies\weapons\_zombie_microwave_gun::getmicrowavemaxammo(); + return var_01 / var_02 < 0.05; + } + + return undefined; +} + +//Function Number: 53 +burgertowncancivilianrounddroppickups(param_00) +{ + return 0; +} + +//Function Number: 54 +burgertowncandroppickups(param_00) +{ + if(isdefined(param_00) && isdefined(param_00.agent_type) && param_00.agent_type == "zombie_melee_goliath") + { + return 0; + } + + return 1; +} + +//Function Number: 55 +burgertownactivatemaxammo() +{ + maps\mp\zombies\weapons\_zombie_microwave_gun::playersetmicrowavemaxammo(); +} + +//Function Number: 56 +burgertownsetweaponlevel(param_00,param_01) +{ + if(issubstr(param_00,"iw5_microwavezm_mp")) + { + maps\mp\zombies\weapons\_zombie_microwave_gun::setmicrowaveweaponlevel(param_01); + maps\mp\zombies\weapons\_zombie_microwave_gun::playersetmicrowavemaxammo(); + } +} + +//Function Number: 57 +burgertowngivemaxscriptedammo(param_00) +{ + if(issubstr(param_00,"iw5_microwavezm_mp")) + { + maps\mp\zombies\weapons\_zombie_microwave_gun::playersetmicrowavemaxammo(); + } +} + +//Function Number: 58 +burgertowngivepointsforkillshot(param_00,param_01) +{ + if(issubstr(param_01,"iw5_microwavezm_mp")) + { + return "kill_head"; + } + + return param_00; +} + +//Function Number: 59 +burgertownplayercanawardpointsfordamage(param_00,param_01) +{ + if(isdefined(param_01) && issubstr(param_00,"iw5_microwavezm_mp")) + { + if(isdefined(param_01.nextmicrowavepointstime) && gettime() < param_01.nextmicrowavepointstime) + { + return 0; + } + + param_01.nextmicrowavepointstime = gettime() + maps\mp\zombies\weapons\_zombie_microwave_gun::getmicrowavepointstimesec() * 1000; + } + + return 1; +} + +//Function Number: 60 +burgertownonzombiekilled(param_00,param_01) +{ + maps\mp\zombies\_terminals::givecurestationachievement(); + maps\mp\zombies\weapons\_zombie_microwave_gun::givezombiescookedachievement(param_00,param_01); + giveburgertowntrapachievement(param_01); +} + +//Function Number: 61 +inittraps() +{ + precachestring(&"ZOMBIE_BRG_AMBULANCE_TRAP_READY"); + precachestring(&"ZOMBIE_BRG_AMBULANCE_TRAP_COOLDOWN"); + precachestring(&"ZOMBIE_BRG_ELECTRIC_FLOOR_TRAP_READY"); + precachestring(&"ZOMBIE_BRG_ELECTRIC_FLOOR_TRAP_COOLDOWN"); + precachestring(&"ZOMBIE_BRG_SNIPER_TRAP_READY"); + precachestring(&"ZOMBIE_BRG_SNIPER_TRAP_COOLDOWN"); + precachestring(&"ZOMBIE_BRG_GATOR_TRAP_READY"); + precachestring(&"ZOMBIE_BRG_GATOR_TRAP_COOLDOWN"); + precachestring(&"ZOMBIE_BRG_STEAM_TRAP_READY"); + precachestring(&"ZOMBIE_BRG_STEAM_TRAP_COOLDOWN"); + precachestring(&"ZOMBIE_BRG_AIRSTRIKE_TRAP_READY"); + precachestring(&"ZOMBIE_BRG_AIRSTRIKE_TRAP_COOLDOWN"); + level.trappickupdisabled = 1; + level.modplayertrapdmg = 1; + maps\mp\zombies\traps\_trap_sniper::init(); + maps\mp\zombies\traps\_trap_airstrike::init(); + maps\mp\zombies\_traps::register_trap_state_models("dlc2_wall_interact_off","dlc2_wall_interact_on","dlc2_wall_interact_active","dlc2_wall_interact_cooldown"); + thread maps\mp\zombies\_traps::trap_setup_custom_function("trap_snipers","active",::trap_snipers); + thread maps\mp\zombies\_traps::trap_setup_custom_function("trap_gators","active",::trap_gators); + thread maps\mp\zombies\_traps::trap_setup_custom_function("trap_airstrike","active",::trap_airstrike); + thread maps\mp\zombies\_traps::trap_setup_custom_function("trap_electric_floor","active",::trap_electric_floor); + thread maps\mp\zombies\_traps::trap_setup_custom_function("trap_sewer_steam","active",::trap_sewer_gas); + thread maps\mp\zombies\_traps::trap_setup_custom_function("trap_ambulance","active",::trap_ambulance); + thread maps\mp\zombies\_traps::trap_setup_custom_function("trap_snipers","ready",::trap_console_audio); + thread maps\mp\zombies\_traps::trap_setup_custom_function("trap_gators","ready",::trap_console_audio); + thread maps\mp\zombies\_traps::trap_setup_custom_function("trap_airstrike","ready",::trap_console_audio); + thread maps\mp\zombies\_traps::trap_setup_custom_function("trap_electric_floor","ready",::trap_console_audio); + thread maps\mp\zombies\_traps::trap_setup_custom_function("trap_sewer_steam","ready",::trap_console_audio); + thread maps\mp\zombies\_traps::trap_setup_custom_function("trap_ambulance","ready",::trap_console_audio); + maps\mp\zombies\_traps::trap_setup_custom_hints("trap_ambulance",&"ZOMBIE_BRG_AMBULANCE_TRAP_READY",&"ZOMBIE_BRG_AMBULANCE_TRAP_COOLDOWN"); + maps\mp\zombies\_traps::trap_setup_custom_hints("trap_electric_floor",&"ZOMBIE_BRG_ELECTRIC_FLOOR_TRAP_READY",&"ZOMBIE_BRG_ELECTRIC_FLOOR_TRAP_COOLDOWN"); + maps\mp\zombies\_traps::trap_setup_custom_hints("trap_snipers",&"ZOMBIE_BRG_SNIPER_TRAP_READY",&"ZOMBIE_BRG_SNIPER_TRAP_COOLDOWN"); + maps\mp\zombies\_traps::trap_setup_custom_hints("trap_gators",&"ZOMBIE_BRG_GATOR_TRAP_READY",&"ZOMBIE_BRG_GATOR_TRAP_COOLDOWN"); + maps\mp\zombies\_traps::trap_setup_custom_hints("trap_sewer_steam",&"ZOMBIE_BRG_STEAM_TRAP_READY",&"ZOMBIE_BRG_STEAM_TRAP_COOLDOWN"); + maps\mp\zombies\_traps::trap_setup_custom_hints("trap_airstrike",&"ZOMBIE_BRG_AIRSTRIKE_TRAP_READY",&"ZOMBIE_BRG_AIRSTRIKE_TRAP_COOLDOWN"); +} + +//Function Number: 62 +trap_console_audio(param_00) +{ + var_01 = getentarray(param_00.target,"targetname"); + var_02 = common_scripts\utility::getstructarray(param_00.target,"targetname"); + var_03 = common_scripts\utility::array_combine(var_01,var_02); + foreach(var_05 in var_03) + { + if(isdefined(var_05.script_noteworthy) && var_05.script_noteworthy == "activate_model") + { + param_00 thread trap_console_audio_think(var_05); + } + } +} + +//Function Number: 63 +trap_console_audio_think(param_00) +{ + param_00 playloopsound("trap_module_on"); + for(;;) + { + self waittill("trap_state_change",var_01); + if(var_01 == "no_power" || var_01 == "deactivate") + { + wait 0.05; + param_00 stoploopsound(); + break; + } + } +} + +//Function Number: 64 +trap_snipers(param_00) +{ + var_01 = getentarray(param_00.target,"targetname"); + foreach(var_03 in var_01) + { + if(!isdefined(var_03.script_noteworthy)) + { + continue; + } + + if(var_03.script_noteworthy == "sniper_laser") + { + var_04 = thread maps\mp\zombies\traps\_trap_sniper::spawnsniperent(var_03,param_00); + var_04 thread trap_snipers_cleanup(param_00); + } + } +} + +//Function Number: 65 +trap_snipers_cleanup(param_00) +{ + for(;;) + { + param_00 waittill("trap_state_change",var_01); + if(var_01 == "cooldown" || var_01 == "no_power" || var_01 == "deactivate") + { + self delete(); + break; + } + } + + param_00 notify("snipers_off"); +} + +//Function Number: 66 +trap_gators(param_00) +{ + if(!isdefined(param_00.pitfallcounter)) + { + param_00.pitfallcounter = 1; + } + else + { + param_00.pitfallcounter++; + } + + if(param_00.pitfallcounter >= 5) + { + param_00 thread maps\mp\zombies\traps\_trap_gator::trap_gator_pitfall_audio(); + } + + var_01 = getent("gator_coll","targetname"); + var_01.start_origin = var_01.origin; + var_01.start_angles = var_01.angles; + var_01.gator_killed = undefined; + if(isdefined(level.gator_kills_active) && level.gator_kills_active == 1) + { + var_01 thread maps\mp\gametypes\_damage::setentitydamagecallback(999999,undefined,::trap_gator_death); + var_01 thread trap_gator_track_damage(param_00); + } + + param_00 maps\mp\zombies\traps\_trap_gator::trap_gator_enter(var_01); + var_02 = getentarray(param_00.target,"targetname"); + foreach(var_04 in var_02) + { + if(!isdefined(var_04.script_noteworthy)) + { + continue; + } + + if(var_04.script_noteworthy == "gator_water") + { + param_00 thread maps\mp\zombies\traps\_trap_gator::trap_gator_trigger_watch(var_04,var_01); + wait 0.05; + } + } + + param_00 thread trap_gators_cleanup(); +} + +//Function Number: 67 +trap_gators_cleanup() +{ + for(;;) + { + self waittill("trap_state_change",var_00); + if(var_00 == "cooldown" || var_00 == "no_power" || var_00 == "deactivate") + { + playsoundatpos((2763,-2137,-116),"gator_leave_vox"); + self.usepitfallaudio = 0; + break; + } + } +} + +//Function Number: 68 +trap_gator_track_damage(param_00) +{ + self.gator_killed = 0; + for(;;) + { + if(self.damagetaken > 1500) + { + self.gator_killed = 1; + level notify("gator_killed"); + break; + } + + wait(0.05); + } + + param_00 thread maps\mp\zombies\_traps::trap_set_state("cooldown"); +} + +//Function Number: 69 +trap_gator_death(param_00,param_01,param_02,param_03) +{ + self notify("death"); +} + +//Function Number: 70 +trap_airstrike(param_00) +{ + playsoundatpos((1801,-3294,752),"airstrike_start_alert"); + param_00 maps\mp\zombies\traps\_trap_airstrike::trap_airstrike_begin(); +} + +//Function Number: 71 +trap_electric_floor(param_00) +{ + var_01 = getentarray(param_00.target,"targetname"); + foreach(var_03 in var_01) + { + if(!isdefined(var_03.script_noteworthy)) + { + continue; + } + + if(var_03.script_noteworthy == "damage_over_time") + { + param_00 thread maps\mp\zombies\traps\_trap_electrofloor::trap_electrofloor_trigger_watch(var_03); + param_00 thread maps\mp\zombies\traps\_trap_electrofloor::trap_electrofloor_player_watch(var_03); + wait 0.05; + } + } + + thread trap_electric_floor_audio(param_00); +} + +//Function Number: 72 +trap_electric_floor_audio(param_00) +{ + var_01 = spawn("script_origin",(1958,-1739,383)); + playsoundatpos(var_01.origin,"electric_floor_start"); + var_01 playloopsound("electric_floor_loop"); + for(;;) + { + param_00 waittill("trap_state_change",var_02); + if(var_02 == "cooldown" || var_02 == "no_power" || var_02 == "deactivate") + { + playsoundatpos(var_01.origin,"electric_floor_stop"); + var_01 scalevolume(0,0.25); + wait(0.25); + var_01 stoploopsound(); + wait 0.05; + var_01 delete(); + break; + } + } +} + +//Function Number: 73 +trap_sewer_gas(param_00) +{ + var_01 = getentarray(param_00.target,"targetname"); + foreach(var_03 in var_01) + { + if(!isdefined(var_03.script_noteworthy)) + { + continue; + } + + if(var_03.script_noteworthy == "damage_over_time") + { + param_00 thread maps\mp\zombies\traps\_trap_sewergas::trap_sewergas_trigger_watch(var_03); + param_00 thread maps\mp\zombies\traps\_trap_sewergas::trap_sewergas_player_watch(var_03); + wait 0.05; + } + } +} + +//Function Number: 74 +trap_ambulance(param_00) +{ + thread trap_ambulance_audio(param_00); +} + +//Function Number: 75 +trap_ambulance_audio(param_00) +{ + var_01 = spawn("script_origin",param_00.origin); + playsoundatpos(var_01.origin,"ambulance_start"); + wait(0.3); + var_01 scalevolume(0); + var_01 playloopsound("ambulance_loop"); + var_01 scalevolume(1,0.35); + for(;;) + { + param_00 waittill("trap_state_change",var_02); + if(var_02 == "cooldown" || var_02 == "no_power" || var_02 == "deactivate") + { + playsoundatpos(var_01.origin,"ambulance_stop"); + var_01 scalevolume(0,0.25); + wait(0.25); + var_01 stoploopsound(); + wait 0.05; + var_01 delete(); + break; + } + } +} + +//Function Number: 76 +trap_carwash(param_00) +{ + thread trap_carwash_audio(param_00); +} + +//Function Number: 77 +trap_carwash_audio(param_00) +{ + var_01 = spawn("script_origin",(456,-421,233)); + playsoundatpos(var_01.origin,"carwash_start"); + var_01 playloopsound("carwash_loop"); + for(;;) + { + param_00 waittill("trap_state_change",var_02); + if(var_02 == "cooldown" || var_02 == "no_power" || var_02 == "deactivate") + { + playsoundatpos(var_01.origin,"carwash_stop"); + var_01 scalevolume(0,0.25); + wait(0.25); + var_01 stoploopsound(); + wait 0.05; + var_01 delete(); + break; + } + } +} + +//Function Number: 78 +giveburgertowntrapachievement(param_00) +{ + if(!isdefined(param_00)) + { + return; + } + + if(!isdefined(level.numtrapkills)) + { + level.numtrapkills = 0; + } + + switch(param_00) + { + case "trap_sniper_zm_mp": + case "trap_missile_zm_mp": + case "trap_zm_mp": + level.numtrapkills++; + break; + + default: + break; + } + + if(level.numtrapkills == 100) + { + maps\mp\gametypes\zombies::giveplayerszombieachievement("DLC2_ZOMBIE_INDIRECTFIRE"); + } +} + +//Function Number: 79 +spawnzombiekilledfx(param_00,param_01) +{ + if(!isdefined(param_00) || !isdefined(param_01)) + { + return 0; + } + + if(self.agent_type == "zombie_melee_goliath") + { + return 1; + } + + if(param_00 == "MOD_EXPLOSIVE" && param_01 == "iw5_microwavezm_mp") + { + maps\mp\zombies\weapons\_zombie_microwave_gun::playzombiekilledmicrowavefx(); + return 1; + } + + return 0; +} + +//Function Number: 80 +enablespecialweaponlevelbox() +{ + wait(1); + level notify("special_weapon_box_unlocked"); +} + +//Function Number: 81 +initrollupdoors() +{ + var_00 = "dlc_rollup_door_metal_open"; + precachempanim(var_00); + wait(1); + var_01 = getentarray("rollup_door","targetname"); + foreach(var_03 in var_01) + { + var_03 thread rollupdoorthink(var_00); + } +} + +//Function Number: 82 +rollupdoorthink(param_00) +{ + var_01 = self.script_flag; + common_scripts\utility::flag_wait(var_01); + self scriptmodelplayanim(param_00); +} + +//Function Number: 83 +spinningpitbullwheel() +{ + var_00 = "hms_greece_sniperscramble_pitbull_destroyed_veh"; + precachempanim(var_00); + wait(1); + var_01 = getent("pitbull_veh","targetname"); + var_01 scriptmodelplayanim(var_00); +} + +//Function Number: 84 +flyoverbink() +{ +} + +//Function Number: 85 +setupflyoveranimation(param_00,param_01,param_02,param_03) +{ + var_04 = common_scripts\utility::getstruct("env_bink_anim_node","targetname"); + if(!isdefined(var_04)) + { + var_04 = spawnstruct(); + var_04.origin = (0,3584,88); + } + + if(!isdefined(var_04.angles)) + { + var_04.angles = (0,0,0); + } + + if(!isdefined(param_02)) + { + param_02 = []; + } + + while(getdvarint(param_03,0) == 0) + { + wait 0.05; + } + + setdvar("lui_enabled",0); + level.zombiegamepaused = 1; + wait(1); + var_05 = spawn("script_model",(0,0,0)); + var_05 setmodel("genericprop_x3"); + var_06 = spawn("script_model",(0,0,0)); + var_06 setmodel("tag_player"); + var_06 vehicle_jetbikesethoverforcescale(var_05,param_01,(0,0,0),(0,0,0)); + for(;;) + { + while(getdvarint(param_03,0) == 0) + { + wait 0.05; + } + + level.player playerlinkweaponviewtodelta(var_06,"tag_player",1,0,0,0,0,1); + level.player playerlinkedsetviewznear(0); + level.player hide(); + var_05 scriptmodelplayanimdeltamotionfrompos(param_00,var_04.origin,var_04.angles,"camera_notetrack"); + foreach(var_08 in param_02) + { + level thread donotetrack(var_05,"camera_notetrack",var_08); + } + + wait(1); + while(getdvarint(param_03,0) == 1) + { + wait 0.05; + } + + var_05 notify("notetrackDone"); + level.player show(); + level.player unlink(); + var_05 scriptmodelclearanim(); + wait(1); + } +} + +//Function Number: 86 +donotetrack(param_00,param_01,param_02,param_03) +{ + param_00 endon("notetrackDone"); + param_00 waittillmatch(param_02,param_01); + if(param_02 == "trigger_gater") + { + } + else if(param_02 == "water_fx") + { + var_04 = common_scripts\utility::getstruct("gator_water_level","script_noteworthy"); + var_05 = var_04.origin; + var_06 = (0,0,90); + playfx(common_scripts\utility::getfx("trap_gator_enter_splash"),var_05,var_06); + playsoundatpos(var_05,"gator_spawn_splash"); + } + + level notify(param_02); +} + +//Function Number: 87 +setupscriptmodelanimation(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = common_scripts\utility::getstruct("env_bink_anim_node","targetname"); + if(!isdefined(var_05)) + { + var_05 = spawnstruct(); + var_05.origin = (0,3584,88); + } + + if(!isdefined(var_05.angles)) + { + var_05.angles = (0,0,0); + } + + if(!isdefined(param_03)) + { + param_03 = []; + } + + var_06 = spawn("script_model",(0,0,0)); + var_06 setmodel(param_01); + for(;;) + { + while(getdvarint(param_04,0) == 0) + { + wait 0.05; + } + + if(isdefined(param_02)) + { + level waittill(param_02); + } + + var_06 scriptmodelplayanimdeltamotionfrompos(param_00,var_05.origin,var_05.angles,"ent_notetrack"); + foreach(var_08 in param_03) + { + level thread donotetrack(var_06,"ent_notetrack",var_08); + } + + wait(1); + while(getdvarint(param_04,0) == 1) + { + wait 0.05; + } + + var_06 notify("notetrackDone"); + var_06 scriptmodelclearanim(); + wait(1); + } +} + +//Function Number: 88 +inittoxiczones() +{ + calculatenexttoxicgasround(); + precachestring(&"ZOMBIE_BRG_TOXIC_EVENT_START"); + precachestring(&"ZOMBIE_BRG_TOXIC_EVENT_STOP"); + precachestring(&"ZOMBIE_BRG_ATLAS_ZONE"); + precachestring(&"ZOMBIE_BRG_BURGER_TOWN_ZONE"); + precachestring(&"ZOMBIE_BRG_GAS_ZONE"); + level._effect["Toxic_Gas_Burst"] = loadfx("vfx/gameplay/mp/zombie/dlc2_host_cloud_burst"); + level._effect["Toxic_Gas_Cloud"] = loadfx("vfx/gameplay/mp/zombie/dlc2_host_cloud_large"); + level._effect["Toxic_Gas_Jets"] = loadfx("vfx/gameplay/mp/zombie/dlc2_host_cloud_jets"); + level._effect["Toxic_Gas_Doorways"] = loadfx("vfx/gameplay/mp/zombie/dlc2_host_cloud_doorway"); + level.toxiczones = []; + level.toxiczones["Atlas"] = spawnstruct(); + level.toxiczones["BurgerTown"] = spawnstruct(); + level.toxiczones["GasStation"] = spawnstruct(); + level.toxiczones["Atlas"].zonename = "Atlas"; + level.toxiczones["BurgerTown"].zonename = "BurgerTown"; + level.toxiczones["GasStation"].zonename = "GasStation"; + level.toxiczones["Atlas"].zones = ["atlas_north_vol","atlas_center_vol","atlas_south_vol"]; + level.toxiczones["BurgerTown"].zones = ["burgertown_trench_vol","burgertown_parking_vol","burgertown_roof_vol","burgertown_int_vol","burgertown_east_vol","burgertown_west_vol"]; + level.toxiczones["GasStation"].zones = ["gas_station_pit_vol","gas_station_bldg_vol","gas_station_pumps_vol"]; + thread toxicgaszoneevent(); +} + +//Function Number: 89 +toxicgaszoneevent() +{ + var_00 = ["Atlas","BurgerTown","GasStation"]; + for(;;) + { + level waittill("zombie_round_countdown_started"); + if(level.roundtype == "civilian") + { + continue; + } + + if(level.wavecounter >= level.nexttoxicgasround) + { + var_01 = []; + var_02 = maps\mp\zombies\_zombies_zone_manager::getcurrentplayeroccupiedzones(); + if(var_02.size <= 0) + { + continue; + } + + foreach(var_04 in var_02) + { + foreach(var_06 in var_00) + { + if(!common_scripts\utility::array_contains(level.toxiczones[var_06].zones,var_04)) + { + continue; + } + + if(!common_scripts\utility::array_contains(var_01,level.toxiczones[var_06].zonename)) + { + var_01 = common_scripts\utility::array_add(var_01,level.toxiczones[var_06].zonename); + } + } + } + + thread activatetoxiczones(var_01,var_00); + if(level.wavecounter >= 30) + { + level.special_mutators["emz"][1] = 1; + } + + calculatenexttoxicgasround(); + } + } +} + +//Function Number: 90 +activatetoxiczones(param_00,param_01) +{ + if(level.wavecounter >= 30) + { + var_02 = 3; + } + else if(level.wavecounter >= 20) + { + var_02 = 2; + } + else + { + var_02 = 1; + } + + param_00 = common_scripts\utility::array_randomize(param_00); + var_03 = 0; + for(var_04 = 0;var_04 < var_02 && var_04 < param_00.size;var_04++) + { + var_05 = param_00[var_04]; + if(!var_03) + { + level thread maps\mp\zombies\_zombies_audio_dlc2::zmaudiotoxiczonesvo(level.toxiczones[var_05].zones); + var_03 = 1; + } + + thread toxicgaszonefx(var_05); + thread toxicgaszonefillfx(var_05); + wait(2); + param_01 = common_scripts\utility::array_remove(param_01,var_05); + } + + if(var_04 == var_02) + { + return; + } + + param_01 = common_scripts\utility::array_randomize(param_01); + var_06 = var_04; + for(var_04 = 0;var_06 < var_02 && var_04 < param_01.size > 0;var_04++) + { + thread toxicgaszonefx(param_01[var_04]); + var_06++; + wait(2); + } +} + +//Function Number: 91 +toxicgaszonefx(param_00) +{ + level endon("game_ended"); + level notify("toxic_gas_started"); + var_01 = level.toxiczones[param_00].zones; + var_02 = toxicgaszonelocstringreturn(param_00); + var_03 = common_scripts\utility::getstruct(param_00 + "_ToxicGas","script_noteworthy"); + var_04 = spawn("script_model",var_03.origin); + var_04 setmodel("tag_origin"); + var_04.angles = (270,0,0); + thread toxicgasstartaudio(var_03); + thread toxicgascanfx(var_04); + iprintlnbold(var_02); + wait(5); + maps\mp\zombies\_zombies_audio_announcer::announcerglobaldialog("global_priority","gas_warning",undefined,1,1); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("Toxic_Gas_Burst"),var_04,"tag_origin"); + wait(5); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("Toxic_Gas_Cloud"),var_04,"tag_origin"); + foreach(var_06 in var_01) + { + thread toxicgaszoneinfectiontrigger(var_06); + } + + thread toxicgascleanupfx(var_04); + level waittill("zombie_wave_ended"); + level notify("toxic_gas_ended"); + iprintlnbold(&"ZOMBIE_BRG_TOXIC_EVENT_STOP"); + thread toxicgasallclearaudio(); +} + +//Function Number: 92 +toxicgaszonefillfx(param_00) +{ + var_01 = common_scripts\utility::getstructarray(param_00 + "_ToxicFillGas","targetname"); + foreach(var_03 in var_01) + { + var_04 = spawn("script_model",var_03.origin); + var_04 setmodel("tag_origin"); + var_04.angles = var_03.angles; + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("Toxic_Gas_Doorways"),var_04,"tag_origin"); + thread toxicgascleanupfx(var_04); + } +} + +//Function Number: 93 +toxicgaszonelocstringreturn(param_00) +{ + switch(param_00) + { + case "Atlas": + return &"ZOMBIE_BRG_ATLAS_ZONE"; + + case "BurgerTown": + return &"ZOMBIE_BRG_BURGER_TOWN_ZONE"; + + case "GasStation": + return &"ZOMBIE_BRG_GAS_ZONE"; + } + + return undefined; +} + +//Function Number: 94 +toxicgascleanupfx(param_00) +{ + level endon("game_ended"); + level waittill("zombie_wave_ended"); + param_00 delete(); +} + +//Function Number: 95 +toxicgascanfx(param_00) +{ + level endon("game_ended"); + level endon("toxic_gas_ended"); + param_00 endon("death"); + for(;;) + { + earthquake(0.35,5,param_00.origin,1024); + thread audioscreenshake(); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("Toxic_Gas_Jets"),param_00,"tag_origin"); + wait(30); + } +} + +//Function Number: 96 +toxicgaszoneinfectiontrigger(param_00) +{ + level endon("game_ended"); + level endon("zombie_wave_ended"); + var_01 = 5000; + for(;;) + { + foreach(var_03 in level.players) + { + if(!isalive(var_03)) + { + continue; + } + + if(maps\mp\zombies\_util::isplayerinlaststand(var_03)) + { + continue; + } + + if(var_03 maps\mp\zombies\_zombies_zone_manager::getplayerzone() != param_00) + { + continue; + } + + if(maps\mp\zombies\_util::isplayerinfected(var_03)) + { + var_03 dodamage(25,var_03.origin,undefined,undefined,"MOD_TRIGGER_HURT"); + continue; + } + + var_03 thread maps\mp\zombies\_zombies_laststand::hostzombielaststand(); + } + + wait(2.5); + } +} + +//Function Number: 97 +toxicgasstartaudio(param_00) +{ + thread toxicgasspewaudio(param_00); + if(isdefined(level.toxic_alarm_aud) && level.toxic_alarm_aud) + { + return; + } + + level.toxic_alarm_aud = 1; + for(var_01 = 0;var_01 < 5;var_01 = var_01 + 1) + { + maps\mp\_audio::snd_play_in_space("event_gas_alert_front",(0,0,0)); + wait(2.5); + } + + level.toxic_alarm_aud = 0; +} + +//Function Number: 98 +audioscreenshake() +{ + maps\mp\_audio::snd_play_in_space("event_gas_screen_shake_front",(0,0,0)); +} + +//Function Number: 99 +toxicgasallclearaudio() +{ + for(var_00 = 0;var_00 < 3;var_00 = var_00 + 1) + { + maps\mp\_audio::snd_play_in_space("event_gas_all_clear_front",(0,0,0)); + wait(1.5); + } +} + +//Function Number: 100 +toxicgasspewaudio(param_00) +{ + var_01 = spawn("script_model",param_00.origin); + wait(0.35); + playsoundatpos(var_01.origin,"event_gas_steam_active"); + wait(4.9); + playsoundatpos(var_01.origin,"event_gas_steam_2nd_burst"); + wait(0.25); + var_01 playloopsound("event_gas_steam_active_lp"); + var_01 scalevolume(0); + wait 0.05; + var_01 scalevolume(1,0.5); + level waittill("zombie_wave_ended"); + var_01 scalevolume(0,5); + wait(5); + var_01 stoploopsound("event_gas_steam_active_lp"); +} + +//Function Number: 101 +spawnanimationnotetrackhandlerassigner(param_00) +{ + if(isdefined(param_00.script_wtf)) + { + var_01 = param_00.target; + self.spawnfxloc = common_scripts\utility::getstruct(var_01,"targetname"); + switch(param_00.script_wtf) + { + case "spawn_dirt": + return ::dirtspawnnotetrackhandler; + + case "spawn_concrete": + return ::concretespawnnotetrackhandler; + + case "spawn_mud": + return ::mudspawnnotetrackhandler; + + case "spawn_garbage": + return ::garbagespawnnotetrackhandler; + + case "spawn_manhole": + return ::manholespawnnotetrackhandler; + + case "spawn_water": + return ::waterspawnnotetrackhandler; + + case "spawn_goliath_dirt": + return ::goliathdirtspawnnotetrackhandler; + + case "spawn_goliath_water": + return ::goliathwaterspawnnotetrackhandler; + + case "spawn_goliath_concrete": + return ::goliathconcretespawnnotetrackhandler; + + case "spawn_goliath_mud": + return ::goliathmudspawnnotetrackhandler; + + case "spawn_goliath_metal": + return ::goliathmetalspawnnotetrackhandler; + } + } +} + +//Function Number: 102 +dirtspawnnotetrackhandler(param_00,param_01,param_02,param_03) +{ + if(param_00 == "zom_spawn_event") + { + thread zombiespawnfx("spawn_dirt"); + self playsound("zmb_spawn_dirt"); + } +} + +//Function Number: 103 +mudspawnnotetrackhandler(param_00,param_01,param_02,param_03) +{ + if(param_00 == "zom_spawn_event") + { + thread zombiespawnfx("spawn_mud"); + self playsound("zmb_spawn_mud"); + } +} + +//Function Number: 104 +concretespawnnotetrackhandler(param_00,param_01,param_02,param_03) +{ + if(param_00 == "zom_spawn_event") + { + thread zombiespawnfx("spawn_concrete"); + self playsound("zmb_spawn_concrete"); + } +} + +//Function Number: 105 +garbagespawnnotetrackhandler(param_00,param_01,param_02,param_03) +{ + if(param_00 == "zom_spawn_event") + { + thread zombiespawnfx("spawn_garbage"); + self playsound("zmb_spawn_garbage"); + } +} + +//Function Number: 106 +manholespawnnotetrackhandler(param_00,param_01,param_02,param_03) +{ + if(param_00 == "zom_spawn_event") + { + thread zombiespawnfx("spawn_manhole"); + thread zombiedripfx("spawn_water"); + self playsound("zmb_spawn_manhole"); + } +} + +//Function Number: 107 +waterspawnnotetrackhandler(param_00,param_01,param_02,param_03) +{ + if(param_00 == "zom_spawn_event") + { + thread zombiespawnfx("spawn_water"); + thread zombiedripfx("spawn_water"); + self playsound("zmb_spawn_water"); + } +} + +//Function Number: 108 +zombiedripfx(param_00) +{ + if(!level.nextgen) + { + return; + } + + if(level.wavecounter >= 20) + { + return; + } + + if(isdefined(self.activemutators)) + { + return; + } + + var_01 = "spawn_water_drip"; + if(isdefined(param_00)) + { + var_01 = param_00 + "_drip"; + } + + var_02 = []; + if(isdefined(self.agent_type) && self.agent_type == "zombie_dog") + { + var_02 = ["J_Spine4","J_Head"]; + } + else + { + var_02 = ["J_Shoulder_RI","J_Shoulder_LE","J_Hip_LE","J_Hip_RI","J_Head"]; + } + + foreach(var_04 in var_02) + { + if(isdefined(self gettagorigin(var_04))) + { + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx(var_01),self,var_04); + } + } + + zombiedripfxcleanup(var_02,var_01); +} + +//Function Number: 109 +zombiedripfxcleanup(param_00,param_01) +{ + self endon("death"); + while(isdefined(self) && isalive(self)) + { + wait(0.1); + if(!isdefined(self.inspawnanim) || !self.inspawnanim) + { + break; + } + } + + wait(randomfloatrange(5,15)); + if(!isdefined(self) || !isalive(self)) + { + return; + } + + foreach(var_03 in param_00) + { + if(isdefined(self gettagorigin(var_03))) + { + maps\mp\zombies\_util::stopfxontagnetwork(common_scripts\utility::getfx(param_01),self,var_03); + } + } +} + +//Function Number: 110 +zombiespawnfx(param_00) +{ + if(level.nextgen && level.zombiespawnfxcount >= 12) + { + return; + } + else if(!level.nextgen && level.zombiespawnfxcount >= 3) + { + return; + } + + var_01 = self.spawnfxloc; + if(!isdefined(var_01)) + { + var_01 = self; + } + + var_02 = spawnfx(common_scripts\utility::getfx(param_00),var_01.origin,anglestoforward(var_01.angles),anglestoup(var_01.angles)); + triggerfx(var_02); + level.zombiespawnfxcount++; + common_scripts\utility::waittill_notify_or_timeout("death",3); + level.zombiespawnfxcount--; + var_02 delete(); +} + +//Function Number: 111 +goliathdirtspawnnotetrackhandler(param_00,param_01,param_02,param_03) +{ + if(param_00 == "zom_spawn_event") + { + thread goliathspawntrailfx(); + return; + } + + if(param_00 == "goliath_impact") + { + thread goliathspawnfx("goliath_spawn_dirt"); + } +} + +//Function Number: 112 +goliathwaterspawnnotetrackhandler(param_00,param_01,param_02,param_03) +{ + if(param_00 == "zom_spawn_event") + { + thread goliathspawntrailfx(); + return; + } + + if(param_00 == "goliath_impact") + { + thread goliathspawnfx("goliath_spawn_water"); + } +} + +//Function Number: 113 +goliathconcretespawnnotetrackhandler(param_00,param_01,param_02,param_03) +{ + if(param_00 == "zom_spawn_event") + { + thread goliathspawntrailfx(); + return; + } + + if(param_00 == "goliath_impact") + { + thread goliathspawnfx("goliath_spawn_concrete"); + } +} + +//Function Number: 114 +goliathmudspawnnotetrackhandler(param_00,param_01,param_02,param_03) +{ + if(param_00 == "zom_spawn_event") + { + thread goliathspawntrailfx(); + return; + } + + if(param_00 == "goliath_impact") + { + thread goliathspawnfx("goliath_spawn_mud"); + } +} + +//Function Number: 115 +goliathmetalspawnnotetrackhandler(param_00,param_01,param_02,param_03) +{ + if(param_00 == "zom_spawn_event") + { + thread goliathspawntrailfx(); + return; + } + + if(param_00 == "goliath_impact") + { + thread goliathspawnfx("goliath_spawn_metal"); + } +} + +//Function Number: 116 +goliathspawnfx(param_00) +{ + var_01 = self.spawnfxloc; + if(!isdefined(var_01)) + { + var_01 = self; + } + + var_02 = spawnfx(common_scripts\utility::getfx(param_00),var_01.origin,anglestoforward(var_01.angles),anglestoup(var_01.angles)); + triggerfx(var_02); + self notify("end_spawn_trail_fx"); + thread goliathspawnexplosion(); + self playsound("zmb_gol_spawn_crash_land"); + level.zombiespawnfxcount++; + common_scripts\utility::waittill_notify_or_timeout("death",3); + level.zombiespawnfxcount--; + var_02 delete(); +} + +//Function Number: 117 +goliathspawnexplosion() +{ + var_00 = self.origin; + thread goliathspawnexplosionradiusdamage(var_00); + thread goliathspawndestroydroppods(var_00); + physicsexplosionsphere(var_00,512,128,randomfloatrange(2,5)); + earthquake(0.5,1,var_00,1200); + playrumbleonposition("artillery_rumble",var_00); +} + +//Function Number: 118 +goliathspawnexplosionradiusdamage(param_00) +{ + wait(0.05); + var_01 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + var_01 = sortbydistance(var_01,param_00,64); + foreach(var_03 in var_01) + { + if(isdefined(var_03.agent_type) && var_03.agent_type == "zombie_melee_goliath") + { + continue; + } + else + { + if(isplayer(var_03) || isdefined(var_03.agentteam) && var_03.agentteam == level.playerteam) + { + var_04 = int(var_03.health * 0.5); + var_03 dodamage(var_04,param_00); + continue; + } + + var_04 = var_03.health + 10; + if(isdefined(var_03.maxhealth)) + { + var_04 = var_03.maxhealth + 10; + } + + var_03 dodamage(var_04,param_00); + } + } +} + +//Function Number: 119 +goliathspawntrailfx() +{ + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("goliath_spawn_trail"),self,"J_Spine4"); + self waittill("end_spawn_trail_fx"); + maps\mp\zombies\_util::stopfxontagnetwork(common_scripts\utility::getfx("goliath_spawn_trail"),self,"J_Spine4"); +} + +//Function Number: 120 +goliathspawndestroydroppods(param_00) +{ + if(!isdefined(level.carepackages)) + { + return; + } + + var_01 = level.carepackages; + var_01 = sortbydistance(var_01,param_00,64); + foreach(var_03 in var_01) + { + var_03 maps\mp\killstreaks\_airdrop::deletecrate(1); + } +} + +//Function Number: 121 +onzombieburgertownstartgame() +{ + level thread maps\mp\zombies\_teleport::init(); + level thread maps\mp\zombies\_util::outofboundswatch(0); + thread inittraps(); +} + +//Function Number: 122 +exploittrigger() +{ + var_00 = getentarray("exploitTrigger","targetname"); + foreach(var_02 in var_00) + { + var_02 thread exploittriggermonitor(); + } +} + +//Function Number: 123 +exploittriggermonitor() +{ + level endon("game_ended"); + for(;;) + { + self waittill("trigger",var_00); + if(isplayer(var_00)) + { + if(isdefined(self.script_parameters) && self.script_parameters == "exploitTriggerDmg") + { + thread exploittriggerdamage(var_00); + } + + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "exploitTriggerUseStructs" || self.script_noteworthy == "exploitTriggerUseZombies") + { + var_01 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + foreach(var_03 in var_01) + { + var_04 = distance(var_00.origin,var_03.origin); + if(var_04 < 100) + { + if(self.script_noteworthy == "exploitTriggerUseStructs") + { + var_05 = common_scripts\utility::getstructarray(self.target,"targetname"); + var_06 = common_scripts\utility::getclosest(var_00.origin,var_05); + if(isdefined(var_06)) + { + var_07 = vectornormalize(var_06.origin - var_00.origin * (1,1,0)); + } + else + { + var_07 = vectornormalize(var_00.origin - var_03.origin * (1,1,0)); + } + } + else + { + var_07 = vectornormalize(var_04.origin - var_01.origin * (1,1,0)); + } + + var_00 setvelocity(var_07 * 20); + break; + } + + wait(0.1); + } + } + } + + wait(1); + } +} + +//Function Number: 124 +exploittriggerdamage(param_00) +{ + level endon("game_ended"); + param_00 endon("death"); + param_00 endon("begin_last_stand"); + wait(1); + if(param_00 istouching(self)) + { + param_00 dodamage(10,param_00.origin); + } +} + +//Function Number: 125 +zombiespawnhudoutline() +{ + for(;;) + { + wait(0.25); + var_00 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + foreach(var_02 in var_00) + { + var_02 hudoutlineenable(0,0); + } + } +} + +//Function Number: 126 +zombiezonedebug(param_00) +{ + if(param_00 == 1) + { + thread zombiespawnhudoutline(); + } + + wait(10); + var_01 = getentarray("info_volume","classname"); + foreach(var_03 in var_01) + { + if(var_03.targetname != "burger_tower_vol") + { + var_04 = common_scripts\utility::getstructarray(var_03.target,"targetname"); + var_03 thread zombiezonedebugplayerlocation(var_04); + } + } +} + +//Function Number: 127 +zombiezonedebugplayerlocation(param_00) +{ + for(;;) + { + wait(0.05); + if(!level.players[0] istouching(self)) + { + continue; + } + + foreach(var_02 in param_00) + { + if(isdefined(var_02.script_animation)) + { + switch(var_02.script_animation) + { + case "spawn_crawl_left": + common_scripts\utility::draw_arrow_time(var_02.origin,var_02.origin + (0,0,32),(255,255,0),0.05); + break; + + case "spawn_crawl_right": + common_scripts\utility::draw_arrow_time(var_02.origin,var_02.origin + (0,0,32),(255,0,0),0.05); + break; + + case "spawn_crawl_up": + common_scripts\utility::draw_arrow_time(var_02.origin,var_02.origin + (0,0,32),(0,0,255),0.05); + break; + } + + continue; + } + + common_scripts\utility::draw_arrow_time(var_02.origin,var_02.origin + (0,0,32),(255,255,255),0.05); + } + } +} + +//Function Number: 128 +sewerscurestationdisablespawning() +{ + for(;;) + { + level waittill("cure_station_active"); + var_00 = maps\mp\zombies\_util::getnumplayers(); + if(var_00 == 1) + { + break; + } + + level.zone_data.zones["sewerpit_vol"].disablespawns = 1; + level waittill("cure_station_deactive"); + level.zone_data.zones["sewerpit_vol"].disablespawns = undefined; + } +} + +//Function Number: 129 +updatecivilianextractionpoints() +{ + var_00 = "warehouse_office_vol"; + var_01 = "gas_station_bldg_vol"; + var_02 = "atlas_center_vol"; + var_03 = "sewermain_vol"; + var_04 = "sewertunnel_vol"; + var_05 = "burgertown_roof_vol"; + var_06 = [var_01,var_02,var_03,var_04,var_05]; + var_07 = []; + var_08 = []; + if(!isdefined(level.resetextractionpointround)) + { + calculatenextextractionpointreset(); + } + + if(level.civrounds <= 3) + { + switch(level.civrounds) + { + case 1: + var_07 = common_scripts\utility::array_combine(level.zone_data.zones[var_01].civilian_spawners,level.zone_data.zones[var_02].civilian_spawners); + var_08 = level.zone_data.zones[var_00].civilian_extracts; + break; + + case 2: + var_07 = level.zone_data.zones[var_03].civilian_spawners; + var_08 = common_scripts\utility::array_combine(level.zone_data.zones[var_01].civilian_extracts,level.zone_data.zones[var_02].civilian_extracts); + break; + + case 3: + if(!maps\mp\zombies\_zombies_zone_manager::iszoneenabled(var_05)) + { + var_07 = level.zone_data.zones[var_05].civilian_spawners; + var_08 = common_scripts\utility::array_combine(level.zone_data.zones[var_01].civilian_extracts,level.zone_data.zones[var_02].civilian_extracts); + } + else + { + var_07 = common_scripts\utility::array_combine(level.zone_data.zones[var_01].civilian_spawners,level.zone_data.zones[var_02].civilian_spawners); + var_08 = level.zone_data.zones[var_05].civilian_extracts; + } + break; + } + } + else + { + foreach(var_0A in var_06) + { + foreach(var_0C in level.zone_data.zones[var_0A].civilian_spawners) + { + var_07 = common_scripts\utility::add_to_array(var_07,var_0C); + } + + foreach(var_0F in level.zone_data.zones[var_0A].civilian_extracts) + { + var_08 = common_scripts\utility::add_to_array(var_08,var_0F); + if(level.wavecounter >= level.resetextractionpointround) + { + var_0F.hasbeenused = undefined; + } + } + } + } + + var_12 = common_scripts\utility::random(var_07); + foreach(var_0F in var_08) + { + if((isdefined(var_0F.hasbeenused) && var_0F.hasbeenused == 1) || !maps\mp\zombies\_zombies_zone_manager::ispathnodeinenabledzone(var_0F)) + { + var_08 = common_scripts\utility::array_remove(var_08,var_0F); + } + } + + var_08 = sortbydistance(var_08,var_12.origin); + if(var_08.size > 2) + { + var_15 = var_08[var_08.size - randomintrange(1,2)]; + } + else if(var_12.size > 0) + { + var_15 = var_12[var_12.size - 1]; + } + else + { + var_15 = level.zone_data.zones[var_01].civilian_extracts[0]; + } + + level.civ_extract.spawnpoint = var_12; + level.civ_extract.extractpoint = var_15; + var_15.hasbeenused = 1; + if(level.wavecounter >= level.resetextractionpointround) + { + calculatenextextractionpointreset(); + } +} + +//Function Number: 130 +noflashemzhitfx(param_00) +{ + var_01 = maps\mp\zombies\_zombies_zone_manager::getplayerzone(); + if(common_scripts\utility::array_contains(level.noemzflashzones,var_01)) + { + return level._effect["mut_emz_attack_no_flash"]; + } + + return level._effect["mut_emz_attack_sm"]; +} + +//Function Number: 131 +spawnpatchclipfixes() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(51,-1714,138.5),(0,15,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(2.5,-1694,236),(29.099,15,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(19.5,-1757,236),(29.099,15,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(37,-1808,242),(29.099,15,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(50,-1856.5,242),(29.099,15,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(82.5006,-1672,235.993),(30.0996,195,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(99.4994,-1735,236.007),(30.0996,195,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(108,-1792,236),(30.0996,182.5,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(122.5,-1837,242),(30.0996,195,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(124,-1823.5,138.5),(0,2.5,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(85,-1894.5,242),(30.0996,105,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(113,-1887,242),(30.0996,105,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(2192,-4416,216),(0,45,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(2192,-4416,344),(0,45,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_128_128_128",(2192,-4416,472),(0,45,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1832,-4700,536),(0,315,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1832,-4700,280),(0,315,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(1360,-4350,239),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(1420,-4350,166),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(2613,-2048.5,-275.5),(270,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(2613,-2148.48,-275.523),(270,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(2613,-2010,-347.5),(0,270,90)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(2741,-2010,-347.5),(0,270,90)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(2869,-2010,-347.5),(0,270,90)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(2613,-2185.5,-347.5),(0,270,90)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(2741,-2185.5,-347.5),(0,270,90)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(2869,-2185.5,-347.5),(0,270,90)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(2046,-2388,165),(90,180,90)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(2046,-2324,165),(90,180,90)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(2055,-2388,159),(90,180,90)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(2055,-2324,159),(90,180,90)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(148,-2896,124),(349,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(148,-2640,124),(349,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1864,-622,78),(11,37,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1888,-716,28),(11,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(1375,-2634,-344),(0,22,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(1351,-2574,-344),(0,12,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(2869,-2205.5,-335.5),(0,270,90)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(2846,-2249.5,-335.5),(0,0,90)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(3007.3,-1934.3,254.867),(0,90,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(3135.3,-1934.3,254.9),(0,90,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(2916.5,-2412.5,256.5),(0,90,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(134,-4776,278.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(134,-4776,534.5),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(2922,-860,518),(356,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1493.5,-1317,52.3),(270,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1493.5,-1573,52.3),(270,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1493.5,-1829,52.3),(270,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1929.5,-1829,52.3),(270,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1929.5,-1573,52.3),(270,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1929.5,-1317,52.3),(270,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(981,-1908,528),(0,315,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(981,-1908,272),(0,315,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(3251.84,-1724.74,526.326),(357.2,324.7,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(4132.2,-2064.51,-490.7),(355,204.4,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(4130.7,-2185.5,-490.7),(355,155.4,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(560,-876,410),(0,80,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(560,-876,666),(0,80,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(3219.5,-1910,440),(0,315,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(3219.5,-1910,472),(0,315,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(3342,-2386,624.5),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(3582.5,-2012,1),(0,316.324,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(3576,-2006,65),(338.312,316.324,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(3534,-2033,-61),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(3534,-2033,3),(0,270,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(1291,-4350,280),(0,90,0)); +} + +//Function Number: 132 +destroypatioglass() +{ + var_00 = spawn("trigger_radius",(1522,-3404,194),0,128,128); + var_00.radius = 128; + radiusdamage(var_00.origin,128,1000,1000); + wait(10); + var_00 delete(); +} + +//Function Number: 133 +windowexploitledgelogic() +{ + level endon("game_ended"); + var_00 = []; + var_01[0] = (922,-3589,193); + var_01[1] = (978,-3589,193); + var_01[2] = (1036,-3589,193); + var_01[3] = (1444,-3589,193); + var_01[4] = (1500,-3589,193); + var_01[5] = (1558,-3589,193); + var_01[6] = (1675,-3729,193); + var_01[7] = (1675,-3786,193); + var_01[8] = (1675,-3842,193); + var_01[9] = (974,-4344,200); + var_01[10] = (944,-4344,200); + foreach(var_03 in var_01) + { + var_04 = spawn("trigger_radius",var_03,0,7,7); + var_00 = common_scripts\utility::array_add(var_00,var_04); + } + + foreach(var_04 in var_00) + { + var_04 thread windowexploitledgelogicthink(); + } +} + +//Function Number: 134 +windowexploitledgelogicthink() +{ + level endon("game_ended"); + self endon("end_exploit_logic"); + for(;;) + { + self waittill("trigger",var_00); + wait(1.5); + if(isplayer(var_00)) + { + var_01 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + foreach(var_03 in var_01) + { + var_04 = distance(var_00.origin,var_03.origin); + if(var_04 < 75) + { + var_05 = vectornormalize(var_03.origin - var_00.origin * (1,1,0)); + var_00 setvelocity(var_05 * 100); + break; + } + } + } + } +} + +//Function Number: 135 +alterjumpexploit(param_00) +{ + level endon("game_ended"); + var_01 = spawn("trigger_radius",param_00.origin,0,7,96); + var_01 thread windowexploitledgelogicthink(); + param_00 waittill("placed",var_02); + var_01 notify("end_exploit_logic"); + level waittill("sq_raise_altar"); + var_01 thread windowexploitledgelogicthink(); +} + +//Function Number: 136 +shoveplayer() +{ + level endon("game_ended"); + var_00[0] = (1398.46,-3952.36,372); + var_01 = spawn("trigger_radius",var_00[0],0,7,7); + for(;;) + { + var_01 waittill("trigger",var_02); + wait(1.5); + if(isplayer(var_02)) + { + var_03 = vectornormalize(var_02.origin + (-100,0,0) - var_02.origin * (1,1,0)); + var_02 setvelocity(var_03 * 300); + } + } +} + +//Function Number: 137 +trapelectricfloorfix() +{ + var_00[0] = (1658.76,-2277.19,150); + if(level.nextgen) + { + var_01 = spawn("trigger_radius",var_00[0],0,196,6); + } + else + { + var_01 = getent("elec_trap_trigger","targetname"); + } + + var_01.script_noteworthy = "damage_over_time"; + var_01.script_count = 5; + level.elec_trap_triggers = common_scripts\utility::array_add(level.elec_trap_triggers,var_01); + level.elec_trap_fix_trigger = var_01; +} + +//Function Number: 138 +fixtrapfunc(param_00,param_01) +{ + if(param_01.script_noteworthy == "trap_electric_floor") + { + param_00 = common_scripts\utility::array_add(param_00,level.elec_trap_fix_trigger); + } + + return param_00; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_zombie_brg_aud.gsc b/AW/PC/maps/mp/mp_zombie_brg_aud.gsc new file mode 100644 index 0000000..b854fa6 --- /dev/null +++ b/AW/PC/maps/mp/mp_zombie_brg_aud.gsc @@ -0,0 +1,117 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_zombie_brg_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 8 + * Decompile Time: 127 ms + * Timestamp: 4/22/2024 2:19:13 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.customzombiemusicstates = ::customzombiemusicstates; + thread setup_audio(); + thread horde_audio(); + thread onplayerconnectedaudio(); +} + +//Function Number: 2 +onplayerconnectedaudio() +{ + for(;;) + { + level waittill("connected",var_00); + var_00 clientaddsoundsubmix("master_mix"); + } +} + +//Function Number: 3 +setup_audio() +{ + ambientplay("amb_brg_warehouse_front"); + thread exploder_7_audio_emitters(); + thread civilian_extraction_success_stinger(); + thread civilian_extraction_fail_stinger(); +} + +//Function Number: 4 +exploder_7_audio_emitters() +{ + var_00 = spawn("script_origin",(3761,-2060,143)); + var_00 playloopsound("water_main_spray"); + var_01 = spawn("script_origin",(3602,-2074,-23)); + var_01 playloopsound("water_main_splash"); + var_02 = spawn("script_origin",(415,-5346,170)); + var_02 playloopsound("water_main_spray"); + level waittill("stop_audio_exloder_7"); + var_00 stoploopsound(); + var_02 stoploopsound(); + var_01 stoploopsound(); + wait 0.05; + var_00 delete(); + var_02 delete(); + var_01 delete(); +} + +//Function Number: 5 +civilian_extraction_success_stinger() +{ + for(;;) + { + level waittill("extraction_complete"); + playsoundatpos((0,0,0),"zmb_civ_extract_success"); + } +} + +//Function Number: 6 +civilian_extraction_fail_stinger() +{ + for(;;) + { + level waittill("extraction_failed"); + playsoundatpos((0,0,0),"zmb_civ_extract_fail"); + } +} + +//Function Number: 7 +horde_audio() +{ + self endon("death"); + wait(1); + level.horde_audio_ent = spawn("script_origin",(0,0,0)); + for(;;) + { + level.horde_audio_ent scalevolume(0); + level waittill("zombie_wave_started"); + wait(0.5); + if(level.roundtype == "zombie_dog") + { + level.horde_audio_ent playloopsound("zmb_horde_dog"); + } + + if(level.roundtype == "zombie_host") + { + level.horde_audio_ent playloopsound("zmb_horde_host"); + } + else + { + level.horde_audio_ent playloopsound("zmb_horde_general"); + } + + level.horde_audio_ent scalevolume(1,5); + level waittill("zombie_wave_ended"); + level.horde_audio_ent stoploopsound(); + } +} + +//Function Number: 8 +customzombiemusicstates() +{ + level thread maps\mp\zombies\_zombies_music::setupmusicstate(1,"round_normal",["zmb_mus_wave_04_lp","zmb_mus_wave_05_lp","zmb_mus_wave_06_lp","zmb_mus_wave_01_lp","zmb_mus_wave_02_lp","zmb_mus_wave_03_lp"],0,1,1,1); + level thread maps\mp\zombies\_zombies_music::setupmusicstate(1,"round_zombie_dog",["zmb_mus_spec_04_lp","zmb_mus_spec_05_lp","zmb_mus_spec_06_lp"],0,1,1,1); + level thread maps\mp\zombies\_zombies_music::setupmusicstate(1,"round_zombie_host",["zmb_mus_spec_04_lp","zmb_mus_spec_05_lp","zmb_mus_spec_06_lp"],0,1,1,1); + level thread maps\mp\zombies\_zombies_music::setupmusicstate(1,"round_civilian","zmb_mus_spec_03_lp",0,1,1,1); + level thread maps\mp\zombies\_zombies_music::setupmusicstate(1,"round_zombie_melee_goliath",["zmb_mus_spec_01_lp","zmb_mus_spec_02_lp"],0,1,1,1); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_zombie_brg_fx.gsc b/AW/PC/maps/mp/mp_zombie_brg_fx.gsc new file mode 100644 index 0000000..c9d583c --- /dev/null +++ b/AW/PC/maps/mp/mp_zombie_brg_fx.gsc @@ -0,0 +1,156 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_zombie_brg_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 68 ms + * Timestamp: 4/22/2024 2:19:13 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["mwave_water_splash"] = loadfx("vfx/weaponimpact/mwave_water_splash"); + level._effect["brg_sniper_flare_on"] = loadfx("vfx/lights/brg_sniper_flare_on"); + level._effect["brg_ambulance_trap"] = loadfx("vfx/lights/brg_ambulance_trap"); + level._effect["brg_orbital_laser_target"] = loadfx("vfx/beam/brg_orbital_laser_target"); + level._effect["mist_puddles"] = loadfx("vfx/map/mp_zombie_brg/brg_mist_puddles"); + level._effect["steam_med_slow"] = loadfx("vfx/steam/dlc/steam_med_slow"); + level._effect["fan_steam"] = loadfx("vfx/steam/dlc/fan_steam"); + level._effect["insects_light_moths_complex"] = loadfx("vfx/animal/dlc/insects_light_moths_complex"); + level._effect["trash_tornado_s_runner"] = loadfx("vfx/map/mp_zombie_brg/brg_trash_tornado_s_runner"); + level._effect["steam_pipe_leak_interior_sm"] = loadfx("vfx/steam/dlc/steam_pipe_leak_interior_sm"); + level._effect["spark_burst_runner"] = loadfx("vfx/sparks/dlc/spark_burst_runner_brg"); + level._effect["insects_flies_landing"] = loadfx("vfx/animal/dlc/insects_flies_landing"); + level._effect["ambient_falling_leaves_runner"] = loadfx("vfx/wind/dlc/ambient_falling_leaves_runner"); + level._effect["brg_wind_blowing_debris"] = loadfx("vfx/wind/dlc/brg_wind_blowing_debris"); + level._effect["dust_mote_interior"] = loadfx("vfx/map/mp_zombie_brg/brg_dust_mote_ambient_interior"); + level._effect["fire_carwash"] = loadfx("vfx/map/mp_zombie_brg/fire_carwash"); + level._effect["fire_campfire_small"] = loadfx("vfx/map/mp_zombie_brg/brg_fire_xsmall"); + level._effect["fire_lp_m_blacksmk"] = loadfx("vfx/map/mp_zombie_brg/brg_fire_med"); + level._effect["smoke_pillar_black_large_slow"] = loadfx("vfx/map/mp_zombie_brg/brg_smoke_pillar_large_slow"); + level._effect["smoke_pillar_black_large_slow_lit"] = loadfx("vfx/map/mp_zombie_brg/brg_smoke_pillar_large_slow_lit"); + level._effect["battlefield_smoke_m"] = loadfx("vfx/smoke/dlc/battlefield_smoke_m"); + level._effect["candle_flame"] = loadfx("vfx/map/mp_zombie_brg/brg_candle_flame"); + level._effect["fire_oil_tanker_drips"] = loadfx("vfx/fire/dlc/fire_oil_tanker_drips"); + level._effect["fx_sunflare_burgertown"] = loadfx("vfx/lensflare/fx_sunflare_burgertown"); + level._effect["clouds_sun_overlay"] = loadfx("vfx/map/mp_zombie_brg/brg_ambient_cloud_top"); + level._effect["lensflare_spot_1_lg"] = loadfx("vfx/map/mp_zombie_brg/brg_light_glow_spot_1"); + level._effect["lensflare_spot_1a_lg"] = loadfx("vfx/map/mp_zombie_brg/brg_light_glow_spot_1a"); + level._effect["lensflare_spot_2_lg"] = loadfx("vfx/map/mp_zombie_brg/brg_light_glow_spot_2"); + level._effect["lensflare_spot_2a_lg"] = loadfx("vfx/map/mp_zombie_brg/brg_light_glow_spot_2a"); + level._effect["lensflare_spot_3_lg"] = loadfx("vfx/map/mp_zombie_brg/brg_light_glow_spot_3"); + level._effect["lensflare_spot_4_lg"] = loadfx("vfx/map/mp_zombie_brg/brg_light_glow_spot_4"); + level._effect["lensflare_spot_5_lg"] = loadfx("vfx/map/mp_zombie_brg/brg_light_glow_spot_5"); + level._effect["lensflare_spot_6_lg"] = loadfx("vfx/map/mp_zombie_brg/brg_light_glow_spot_6"); + level._effect["lensflare_spot_tower"] = loadfx("vfx/map/mp_zombie_brg/brg_light_glow_spot_tower"); + level._effect["lensflare_area_1"] = loadfx("vfx/map/mp_zombie_brg/brg_light_glow_area_1"); + level._effect["lensflare_area_2"] = loadfx("vfx/map/mp_zombie_brg/brg_light_glow_area_2"); + level._effect["lensflare_flood_1"] = loadfx("vfx/map/mp_zombie_brg/brg_light_glow_flood_1"); + level._effect["lensflare_stadium"] = loadfx("vfx/map/mp_zombie_brg/brg_light_glow_stadium"); + level._effect["lensflare_stadium2"] = loadfx("vfx/map/mp_zombie_brg/brg_light_glow_stadium2"); + level._effect["godray_window_sm"] = loadfx("vfx/map/mp_zombie_brg/brg_godray_ambient_sm"); + level._effect["godray_window_sm2"] = loadfx("vfx/map/mp_zombie_brg/brg_godray_ambient_sm2"); + level._effect["godray_window_med"] = loadfx("vfx/map/mp_zombie_brg/brg_godray_ambient_med"); + level._effect["godray_window_large"] = loadfx("vfx/map/mp_zombie_brg/brg_godray_ambient_lg"); + level._effect["godray_window_large_long"] = loadfx("vfx/map/mp_zombie_brg/brg_godray_ambient_lg_long"); + level._effect["sign_grid_scanning"] = loadfx("vfx/map/mp_zombie_brg/brg_sign_grid_scanning"); + level._effect["falling_water_trickle_wide"] = loadfx("vfx/map/mp_zombie_brg/brg_falling_water_trickle_wide"); + level._effect["falling_water_trickle_wide_long"] = loadfx("vfx/map/mp_zombie_brg/brg_falling_water_trickle_wide_long"); + level._effect["water_pipe_gush_up"] = loadfx("vfx/map/mp_zombie_brg/brg_water_pipe_gush_up"); + level._effect["water_pipe_gush_sm"] = loadfx("vfx/map/mp_zombie_brg/brg_water_pipe_gush_sm"); + level._effect["fog_ambient_tunnel"] = loadfx("vfx/map/mp_zombie_brg/brg_fog_ambient_tunnel"); + level._effect["fog_ambient_low_tunnel"] = loadfx("vfx/map/mp_zombie_brg/brg_fog_ambient_tunnel_low"); + level._effect["rats_flock_runaway"] = loadfx("vfx/map/mp_zombie_brg/brg_rat_flock_runaway_runner"); + level._effect["roaches_flock_scatter_straight"] = loadfx("vfx/map/mp_zombie_brg/brg_roach_scatter_straight_runner"); + level._effect["roaches_flock_scatter_radial"] = loadfx("vfx/map/mp_zombie_brg/brg_roach_scatter_radial_runner"); + level._effect["steam_vent_small"] = loadfx("vfx/map/mp_zombie_brg/brg_steam_vent_small"); + level._effect["water_curtain"] = loadfx("vfx/map/mp_zombie_brg/brg_water_curtain"); + level._effect["water_curtain_slide"] = loadfx("vfx/map/mp_zombie_brg/brg_water_curtain_slide"); + level._effect["water_curtain_splash"] = loadfx("vfx/map/mp_zombie_brg/brg_water_curtain_splash"); + level._effect["spawn_water"] = loadfx("vfx/water/zombie_spawn_water"); + level._effect["spawn_dirt"] = loadfx("vfx/dust/zombie_spawn_dust"); + level._effect["spawn_mud"] = loadfx("vfx/water/zombie_spawn_mud"); + level._effect["spawn_concrete"] = loadfx("vfx/rock/zombie_spawn_concrete"); + level._effect["spawn_manhole"] = loadfx("vfx/water/zombie_spawn_water"); + level._effect["spawn_garbage"] = loadfx("vfx/unique/zombie_spawn_garbage"); + level._effect["spawn_water_drip"] = loadfx("vfx/water/dlc/water_dripping_body"); + level._effect["goliath_spawn_water"] = loadfx("vfx/water/goliath_spawn_water"); + level._effect["goliath_spawn_dirt"] = loadfx("vfx/dust/goliath_spawn_dust"); + level._effect["goliath_spawn_concrete"] = loadfx("vfx/rock/goliath_spawn_concrete"); + level._effect["goliath_spawn_mud"] = loadfx("vfx/water/goliath_spawn_mud"); + level._effect["goliath_spawn_metal"] = loadfx("vfx/explosion/frag_grenade_default"); + level._effect["goliath_spawn_trail"] = loadfx("vfx/trail/smoketrail_rpg_paladin"); + level._effect["trap_carwash_fire_active"] = loadfx("vfx/map/mp_zombie_brg/fire_carwash"); + level._effect["trap_carwash_smoke_cooldown"] = loadfx("vfx/smoke/dlc/battlefield_smoke_l_ground"); + level._effect["trap_ambulance_lights_active"] = loadfx("vfx/lights/brg_ambulance_trap"); + level._effect["trap_electric_floor_shock_active"] = loadfx("vfx/map/mp_zombie_brg/electrified_floor"); + level._effect["trap_gator_enter_splash"] = loadfx("vfx/water/brg_gator_spawn_splash"); + level._effect["trap_gator_emerge_splash"] = loadfx("vfx/water/zombie_brg_gator_splash"); + level._effect["trap_gator_blood_splat"] = loadfx("vfx/blood/dlc_zombie_blood_splat_med"); + level._effect["trap_gator_attack_splash"] = loadfx("vfx/water/brg_gator_attack_splash"); + level._effect["trap_sewer_steam_active"] = loadfx("vfx/map/mp_zombie_brg/brg_sewage_trap"); + level._effect["trap_airstrike_laser_target"] = loadfx("vfx/beam/brg_orbital_laser_target"); + level._effect["trap_sniper_tracer"] = loadfx("vfx/muzzleflash/sniper_drone_tracer"); + level._effect["trap_sniper_tracer"] = loadfx("vfx/lights/brg_sniper_flare_on"); + level._effect["sq_burger_glow"] = loadfx("vfx/gameplay/mp/zombie/zombie_host_hand"); + level._effect["dlc_burger_bomb_trail"] = loadfx("vfx/trail/dlc_burger_bomb_trail"); + level._effect["dlc_gator_death"] = loadfx("vfx/blood/dlc_gator_death"); + level._effect["dlc_elec_panel_charging"] = loadfx("vfx/props/dlc_elec_panel_charging"); + level._effect["dlc_elec_panel_charge_full"] = loadfx("vfx/props/dlc_elec_panel_charge_full"); + level._effect["brg_skillet_charbroil"] = loadfx("vfx/fire/dlc/brg_skillet_charbroil"); + level._effect["dlc_zombie_blood_splat_sm"] = loadfx("vfx/blood/dlc_zombie_blood_splat_sm"); + level._effect["brg_skillet_gleam"] = loadfx("vfx/map/mp_zombie_brg/brg_skillet_gleam"); + level._effect["brg_altar_dust"] = loadfx("vfx/dust/dlc/brg_altar_dust"); + level._effect["spark_burst_runner_brg"] = loadfx("vfx/sparks/dlc/spark_burst_runner_brg"); + level._effect["brg_infected_burger"] = loadfx("vfx/map/mp_zombie_brg/brg_infected_burger"); + level._effect["brg_rocket_thruster"] = loadfx("vfx/fire/dlc/brg_rocket_thruster"); + level._effect["dlc_prop_scanner_door_lock_fail"] = loadfx("vfx/props/dlc_prop_scanner_door_lock_fail"); + level._effect["dlc_prop_scanner_door_lock_on"] = loadfx("vfx/props/dlc_prop_scanner_door_lock_on"); + level._effect["dlc_prop_scanner_door_lock_pass"] = loadfx("vfx/props/dlc_prop_scanner_door_lock_pass"); + level._effect["sq_light"] = loadfx("vfx/lights/aircraft_light_wingtip_green"); + level._effect["cannon_firing"] = loadfx("vfx/map/mp_clowntown/ct_cannon_blast"); + level._effect["burger_bomb_fuse"] = loadfx("vfx/map/mp_zombie_brg/burger_bomb_fuse"); + level._effect["ball_trail"] = loadfx("vfx/map/mp_zombie_brg/burger_bomb_trail"); + level._effect["ball_idle"] = loadfx("vfx/map/mp_zombie_brg/burger_bomb_idle"); + level._effect["ball_flash"] = loadfx("vfx/map/mp_zombie_brg/burger_bomb_pulse"); + level._effect["ball_physics_impact"] = loadfx("vfx/map/mp_zombie_brg/burger_bomb_pulse"); + level._effect["mut_emz_attack_no_flash"] = loadfx("vfx/gameplay/mp/zombie/zombie_attack_emz_no_flash"); + thread lowpriorityenvfx(); +} + +//Function Number: 2 +lowpriorityenvfx() +{ + for(;;) + { + level waittill("connected",var_00); + thread lowpriorityenvfxforplayer(var_00); + } +} + +//Function Number: 3 +lowpriorityenvfxforplayer(param_00) +{ + param_00 endon("disconnect"); + param_00 waittill("spawned_player"); + maps\mp\zombies\_util::waittillplayersnextsnapshot(param_00); + if(level.wavecounter >= 20) + { + return; + } + + level thread common_scripts\_exploder::activate_clientside_exploder(7,param_00); + for(;;) + { + level waittill("zombie_round_countdown_started"); + if(level.wavecounter >= 20) + { + break; + } + } + + level thread common_scripts\_exploder::deactivate_clientside_exploder(7,param_00,1); + level notify("stop_audio_exloder_7"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_zombie_brg_lighting.gsc b/AW/PC/maps/mp/mp_zombie_brg_lighting.gsc new file mode 100644 index 0000000..4cc8019 --- /dev/null +++ b/AW/PC/maps/mp/mp_zombie_brg_lighting.gsc @@ -0,0 +1,42 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_zombie_brg_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 83 ms + * Timestamp: 4/22/2024 2:19:14 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + set_level_lighting_values(); + thread lightintensityflicker("sewers_pit_flicker_aa",1,55000,0.01,0.1); + thread lightintensityflicker("gasStation_fire_flicker_aa",1,155000,0.01,0.1); +} + +//Function Number: 2 +set_level_lighting_values() +{ + if(isusinghdr()) + { + } +} + +//Function Number: 3 +lightintensityflicker(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = getent(param_00,"targetname"); + if(!isdefined(var_05)) + { + return; + } + + for(;;) + { + var_06 = randomfloatrange(param_01,param_02); + var_05 setlightintensity(var_06); + wait(randomfloatrange(param_03,param_04)); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_zombie_brg_precache.gsc b/AW/PC/maps/mp/mp_zombie_brg_precache.gsc new file mode 100644 index 0000000..d6d9f40 --- /dev/null +++ b/AW/PC/maps/mp/mp_zombie_brg_precache.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_zombie_brg_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 38 ms + * Timestamp: 4/22/2024 2:19:15 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_zombie_brg_sq.gsc b/AW/PC/maps/mp/mp_zombie_brg_sq.gsc new file mode 100644 index 0000000..5f892a8 --- /dev/null +++ b/AW/PC/maps/mp/mp_zombie_brg_sq.gsc @@ -0,0 +1,3213 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_zombie_brg_sq.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 206 + * Decompile Time: 3162 ms + * Timestamp: 4/22/2024 2:19:24 AM +*******************************************************************/ + +//Function Number: 1 +init_sidequest() +{ + maps\mp\zombies\_zombies_sidequests::declare_sidequest("main",::init_main_sidequest,::sidequest_logic,::complete_sidequest,::generic_stage_start,::generic_stage_complete); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage1",::stage1_init,::stage1_logic,::stage1_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage2",::stage2_init,::stage2_logic,::stage2_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage3",::stage3_init,::stage3_logic,::stage3_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage4",::stage4_init,::stage4_logic,::stage4_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage5",::stage5_init,::stage5_logic,::stage5_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage6",::stage6_init,::stage6_logic,::stage6_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage7",::stage7_init,::stage7_logic,::stage7_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage8",::stage8_init,::stage8_logic,::stage8_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage9",::stage9_init,::stage9_logic,::stage9_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage10",::stage10_init,::stage10_logic,::stage10_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage11",::stage11_init,::stage11_logic,::stage11_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage12",::stage12_init,::stage12_logic,::stage12_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage13",::stage13_init,::stage13_logic,::stage13_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage14",::stage14_init,::stage14_logic,::stage14_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage15",::stage15_init,::stage15_logic,::stage15_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage16",::stage16_init,::stage16_logic,::stage16_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage17",::stage17_init,::stage17_logic,::stage17_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest("song",::init_song_sidequest,::sidequest_logic_song); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("song","stage1",::songstage1_init,::songstage1_logic,::songstage1_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("song","stage2",::songstage2_init,::songstage2_logic,::songstage2_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("song","stage3",::songstage3_init,::songstage3_logic,::songstage3_end); + precachemodel("det_basement_valve_01_anim"); + precachemodel("dlc2_brg_bun"); + precachemodel("dlc2_brg_burger_bomb"); + precachemodel("dlc2_zom_gib_arm_pickup"); + precachempanim("mp_dogtag_spin"); + precachempanim("zom_mbot_activation_yumm"); + precachempanim("zom_mbot_activation_key"); + precachestring(&"ZOMBIE_BRG_BOMB_THROW"); + common_scripts\utility::flag_init("sewermain_to_sewercave"); + common_scripts\utility::flag_init("sewer_to_burgertown"); + common_scripts\utility::create_dvar("battery_open",0); + common_scripts\utility::create_dvar("secret_cave_open",0); + level thread randomizemeatchunks(); + level thread start_brg_sidequest(); + level thread beauford_greetings(); + level thread beauford_interact(); + level thread beauford_hit(); + level thread beauford_kills(); + thread toilet_interact(); + thread fingerprint_scanner_fail_fx(); + level thread onplayerconnected(); + level thread onanyplayerspawned(); + level thread initvo(); +} + +//Function Number: 2 +start_brg_sidequest() +{ + wait(3); + thread maps\mp\zombies\_zombies_sidequests::sidequest_start("main"); + thread maps\mp\zombies\_zombies_sidequests::sidequest_start("song"); +} + +//Function Number: 3 +init_main_sidequest() +{ + level.sidequeststarted = 0; + level.burgerhatchlocked = 1; + thread sidequest_init_hidden(); + thread init_burger_teleporter(); + thread burger_room_valve_lock("locked"); + thread burger_room_locked_audio(); + foreach(var_01 in level.players) + { + thread init_player_variables(); + thread playertakeitemondisconnect(); + } +} + +//Function Number: 4 +init_burger_teleporter() +{ + common_scripts\utility::flag_wait("sewer_to_burgertown"); + foreach(var_01 in level.zombieteleporters) + { + if(isdefined(var_01.script_noteworthy) && var_01.script_noteworthy == "burgertower_teleport") + { + var_01 thread maps\mp\zombies\_teleport::teleporter_disable(); + } + } +} + +//Function Number: 5 +init_player_variables() +{ + self.hasskilletgolden = undefined; + self.hasskilletseasoned = undefined; + self.hasmeat = 0; + self.batteryisopen = undefined; + self.hasbun = undefined; + self.hasburgerinfected = undefined; + self.hasburger = undefined; + self.hasbatterydepleted = undefined; + self.hasbatterycharged = undefined; + self.hasarm = undefined; + self.hasdriveencrypted = undefined; + self.hasdrivedecrypted = undefined; + self.haskey = undefined; +} + +//Function Number: 6 +sidequest_init_hidden() +{ + var_00 = getentarray("sq_hidden","target"); + foreach(var_02 in var_00) + { + var_02 hide(); + } + + var_04 = getentarray("burger_rocket_fin","targetname"); + foreach(var_06 in var_04) + { + var_06 hide(); + } + + var_08 = getentarray("zombie_meat_chunk_gs","targetname"); + var_09 = getentarray("zombie_meat_chunk_ac","targetname"); + var_0A = getentarray("zombie_meat_chunk_sw","targetname"); + var_0B = getentarray("zombie_meat_chunk_bt","targetname"); + var_0C = common_scripts\utility::array_combine(var_08,var_09); + var_0D = common_scripts\utility::array_combine(var_0A,var_0B); + var_0E = common_scripts\utility::array_combine(var_0C,var_0D); + foreach(var_10 in var_0E) + { + var_10 hide(); + } +} + +//Function Number: 7 +sidequest_logic() +{ + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage1"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage2"); + level common_scripts\utility::waittill_multiple("main_stage1_over","main_stage2_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage3"); + level waittill("main_stage3_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage4"); + level waittill("main_stage4_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage5"); + level waittill("main_stage5_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage6"); + level waittill("main_stage6_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage7"); + level waittill("main_stage7_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage8"); + level waittill("main_stage8_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage9"); + level waittill("main_stage9_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage10"); + level waittill("main_stage10_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage11"); + level waittill("main_stage11_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage12"); + level waittill("main_stage12_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage13"); + level waittill("main_stage13_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage14"); + level waittill("main_stage14_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage15"); + level waittill("main_stage15_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage16"); + level waittill("main_stage16_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage17"); + level waittill("main_stage17_over"); +} + +//Function Number: 8 +complete_sidequest() +{ +} + +//Function Number: 9 +generic_stage_start() +{ + level._stage_active = 1; +} + +//Function Number: 10 +generic_stage_complete() +{ + level._stage_active = 0; +} + +//Function Number: 11 +onanyplayerspawned() +{ + for(;;) + { + level waittill("player_spawned",var_00); + if(isdefined(var_00) && isdefined(var_00.hasskilletgolden)) + { + var_00 setclientomnvar("ui_zm_ee_int",4); + } + + if(isdefined(var_00) && isdefined(var_00.hasskilletseasoned)) + { + var_00 setclientomnvar("ui_zm_ee_int",2); + } + + if(isdefined(var_00) && isdefined(var_00.hasmeat) && var_00.hasmeat) + { + var_00 setclientomnvar("ui_zm_ee_int",1); + } + + if(isdefined(var_00) && isdefined(var_00.hasbun)) + { + var_00 setclientomnvar("ui_zm_ee_int",11); + } + + if(isdefined(var_00) && isdefined(var_00.hasburgerinfected)) + { + var_00 setclientomnvar("ui_zm_ee_int",7); + var_00 thread stage8_infected_burger(); + } + + if(isdefined(var_00) && isdefined(var_00.hasburger)) + { + var_00 setclientomnvar("ui_zm_ee_int",8); + } + + if(isdefined(var_00) && isdefined(var_00.hasbatterydepleted)) + { + var_00 setclientomnvar("ui_zm_ee_int",10); + } + + if(isdefined(var_00) && isdefined(var_00.hasbatterycharged)) + { + var_00 setclientomnvar("ui_zm_ee_int",9); + } + + if(isdefined(var_00) && isdefined(var_00.haskey)) + { + var_00 setclientomnvar("ui_zm_ee_int",12); + } + + if(isdefined(var_00) && isdefined(var_00.hasarm)) + { + var_00 setclientomnvar("ui_zm_ee_int",3); + } + + if(isdefined(var_00) && isdefined(var_00.hasdriveencrypted)) + { + var_00 setclientomnvar("ui_zm_ee_int",5); + } + + if(isdefined(var_00) && isdefined(var_00.hasdrivedecrypted)) + { + var_00 setclientomnvar("ui_zm_ee_int",6); + } + } +} + +//Function Number: 12 +onplayerconnected() +{ + for(;;) + { + level waittill("connected",var_00); + var_00 init_player_variables(); + } +} + +//Function Number: 13 +playertakeitemondisconnect() +{ + self waittill("disconnect"); + self setclientomnvar("ui_zm_ee_int",0); +} + +//Function Number: 14 +initvo() +{ + wait 0.05; + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","sq","sq","dlc2_easter",undefined); + var_00 = spawn("script_model",(329,-4087,240)); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxinitspeaker("announcer_beauford","beauford_",var_00,0); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_beauford","machine_all_players","greeting","greeting",undefined,50); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_beauford","machine_all_players","response","response",undefined,50); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_beauford","machine_all_players","hit","hit",undefined,25); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_beauford","machine_all_players","killzombie","killzombie",undefined,75); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_beauford","machine_all_players","sq","sq",undefined); +} + +//Function Number: 15 +playerplaysqvo(param_00,param_01) +{ + self endon("disconnect"); + self endon("death"); + if(isdefined(param_01) && param_01 > 0) + { + wait(param_01); + } + + if(maps\mp\zombies\_util::is_true(self.speaking)) + { + self waittill("done_speaking"); + } + + thread maps\mp\zombies\_zombies_audio::create_and_play_dialog("sq","sq",undefined,param_00); +} + +//Function Number: 16 +waittilldonespeaking(param_00) +{ + param_00 endon("disconnect"); + if(maps\mp\zombies\_util::is_true(param_00.isspeaking)) + { + param_00 waittill("done_speaking"); + } +} + +//Function Number: 17 +playsqvowaittilldone(param_00,param_01,param_02) +{ + var_03 = maps\mp\zombies\_zombies_audio::getcharacterbyindex(param_00); + if(isdefined(var_03)) + { + var_03 playerplaysqvo(param_01,0); + wait 0.05; + waittilldonespeaking(var_03); + if(isdefined(param_02)) + { + wait(param_02); + } + } +} + +//Function Number: 18 +playbeaufordsqvo(param_00,param_01) +{ + if(isdefined(param_01) && param_01 > 0) + { + wait(param_01); + } + + var_02 = maps\mp\zombies\_zombies_audio_announcer::getannouncers("beauford"); + var_03 = var_02[0]; + if(!isdefined(var_03)) + { + return; + } + + if(maps\mp\zombies\_util::is_true(var_03.speaking)) + { + var_03 waittill("done_speaking"); + } + + var_03 thread maps\mp\zombies\_zombies_audio::create_and_play_dialog("machine_all_players","sq",undefined,param_00); +} + +//Function Number: 19 +playbeaufordsqvowaitilldone(param_00,param_01) +{ + if(isdefined(param_01) && param_01 > 0) + { + wait(param_01); + } + + var_02 = maps\mp\zombies\_zombies_audio_announcer::getannouncers("beauford"); + var_03 = var_02[0]; + if(!isdefined(var_03)) + { + return; + } + + if(maps\mp\zombies\_util::is_true(var_03.speaking)) + { + var_03 waittill("done_speaking"); + } + + if(var_03 maps\mp\zombies\_zombies_audio::create_and_play_dialog("machine_all_players","sq",undefined,param_00)) + { + var_03 waittill("done_speaking"); + } +} + +//Function Number: 20 +playbeaufordvo(param_00) +{ + var_01 = maps\mp\zombies\_zombies_audio_announcer::getannouncers("beauford"); + var_02 = var_01[0]; + if(!isdefined(var_02)) + { + return; + } + + return var_02 maps\mp\zombies\_zombies_audio::create_and_play_dialog("machine_all_players",param_00); +} + +//Function Number: 21 +murderbot_animate(param_00) +{ + var_01 = getent("murderbot_animscripted","targetname"); + var_01 scriptmodelplayanim(param_00); + var_01 playsound("sq_burger_offering"); +} + +//Function Number: 22 +toilet_interact() +{ + level endon("game_ended"); + var_00 = common_scripts\utility::getstruct("toilet_use","targetname"); + for(;;) + { + var_00 thread maps\mp\zombies\_zombies_sidequests::fake_use("flushed",undefined,undefined,undefined,80); + var_00 waittill("flushed",var_01); + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Toilet flushed!!"); + playsoundatpos(var_00.origin,"ee_toilet_flush"); + wait(3); + } +} + +//Function Number: 23 +fingerprint_scanner_fail_fx() +{ + level endon("main_stage13_over"); + var_00 = common_scripts\utility::getstruct("warehouse_safe_use","targetname"); + var_01 = getent("fingerprint_scanner","targetname"); + for(;;) + { + wait(1); + var_00 thread maps\mp\zombies\_zombies_sidequests::fake_use("activated",undefined,undefined,"main_stage13_over",80); + var_00 waittill("activated",var_02); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("dlc_prop_scanner_door_lock_fail"),var_01,"tag_origin"); + var_01 playsound("sq_safe_denied"); + } +} + +//Function Number: 24 +stage1_init() +{ +} + +//Function Number: 25 +stage1_logic() +{ + var_00 = getent("golden_skillet_roof","targetname"); + var_01 = common_scripts\utility::getstruct("golden_skillet_roof_use","targetname"); + var_01 thread maps\mp\zombies\_zombies_sidequests::fake_use("grabbed",undefined,undefined,"main_stage1_over",100); + var_01 waittill("grabbed",var_02); + playsoundatpos(var_00.origin,"sq_skillet_grab"); + var_02 playerplaysqvo(14); + var_00 delete(); + var_02 playergiveskillet("unseasoned"); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage1"); +} + +//Function Number: 26 +stage1_end(param_00) +{ + level.sidequeststarted = 1; + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("I got the skillet"); +} + +//Function Number: 27 +playerhasskilletgolden() +{ + return maps\mp\zombies\_util::is_true(self.hasskilletgolden); +} + +//Function Number: 28 +playerhasskilletseasoned() +{ + return maps\mp\zombies\_util::is_true(self.hasskilletseasoned); +} + +//Function Number: 29 +playergiveskillet(param_00) +{ + switch(param_00) + { + case "unseasoned": + self setclientomnvar("ui_zm_ee_int",4); + self.hasskilletgolden = 1; + break; + + case "seasoned": + self setclientomnvar("ui_zm_ee_int",2); + self.hasskilletseasoned = 1; + break; + } +} + +//Function Number: 30 +playertakeitem(param_00) +{ + switch(param_00) + { + case "skillet_golden": + self.hasskilletgolden = undefined; + break; + + case "skillet_seasoned": + self.hasskilletseasoned = undefined; + break; + + case "meat": + self.hasmeat = 0; + break; + + case "bun": + self.hasbun = undefined; + break; + + case "burger": + self.hasburger = undefined; + break; + + case "battery_depleted": + self.hasbatterydepleted = undefined; + break; + + case "battery_charged": + self.hasbatterycharged = undefined; + break; + + case "key": + self.haskey = undefined; + break; + + case "arm": + self.hasarm = undefined; + break; + + case "drive_encrypted": + self.hasdriveencrypted = undefined; + break; + + case "drive_decrypted": + self.hasdrivedecrypted = undefined; + break; + } + + self setclientomnvar("ui_zm_ee_int",0); +} + +//Function Number: 31 +stage2_init() +{ + thread maps\mp\mp_zombie_brg::initgranulardoors("sewermain_to_sewercave",0.05); +} + +//Function Number: 32 +stage2_logic() +{ + level.sewer_cave_valve_count = 0; + thread stage2_cave_valves(); + while(level.sewer_cave_valve_count < 4) + { + if(getdvarint("secret_cave_open") > 0) + { + break; + } + else + { + wait(0.5); + } + } + + level notify("sewer_cave_open"); + level thread stage2_open_door(); + common_scripts\utility::flag_set("sewermain_to_sewercave"); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage2"); +} + +//Function Number: 33 +stage2_open_door() +{ + level.zmbstage2dooropen = 1; + var_00 = getentarray("sewers_waterfall","targetname"); + foreach(var_02 in var_00) + { + var_02 movez(-256,0.5); + var_02 connectpaths(); + } + + var_04 = getentarray("secret_cave_door","targetname"); + foreach(var_02 in var_04) + { + var_02 movey(-128,3); + var_02 connectpaths(); + playsoundatpos((3233,-2112,-329),"sq_door_stone_open"); + } +} + +//Function Number: 34 +stage2_cave_valves() +{ + var_00 = common_scripts\utility::getstructarray("cave_valve_loc","targetname"); + for(var_01 = 0;var_01 < 4;var_01++) + { + var_02 = common_scripts\utility::random(var_00); + var_00 = common_scripts\utility::array_remove(var_00,var_02); + var_03 = spawn("script_model",var_02.origin); + var_03 setmodel("det_basement_valve_01_anim"); + var_03.origin = var_02.origin; + var_03.angles = var_02.angles; + var_03.target = var_02.target; + var_04 = 0; + if(isdefined(var_02.script_noteworthy) && var_02.script_noteworthy == "downward_steam") + { + var_04 = 1; + } + + var_03 thread stage2_cave_triggers(var_04); + } +} + +//Function Number: 35 +stage2_cave_triggers(param_00) +{ + if(param_00 == 1) + { + var_01 = spawnfx(common_scripts\utility::getfx("steam_pipe_leak_interior_sm"),self.origin,(1,0,0),(0,1,0)); + } + else + { + var_01 = spawnfx(common_scripts\utility::getfx("steam_pipe_leak_interior_sm"),self.origin,anglestoforward(self.angles + (0,-90,0))); + } + + var_02 = common_scripts\utility::getstruct(self.target,"targetname"); + var_02 thread maps\mp\zombies\_zombies_sidequests::fake_use("activated",undefined,undefined,"main_stage2_over",100); + var_02 waittill("activated",var_03); + if(!isdefined(var_03.playedstage2vo)) + { + var_03 thread playerplaysqvo(10,1); + var_03.playedstage2vo = 1; + } + + playsoundatpos(self.origin,"sq_sewer_valve_turn"); + self rotateroll(-270,2); + wait(2); + level.sewer_cave_valve_count++; + triggerfx(var_01); + self playloopsound("sq_sewer_valve_steam"); + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("I wonder what that did..."); + level waittill("sewer_cave_open"); + if(isdefined(var_03)) + { + var_03 thread playerplaysqvo(11); + } + + wait(5); + self stoploopsound(); + var_01 delete(); + if(level.currentgen) + { + self delete(); + } +} + +//Function Number: 36 +stage2_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("I feel a draft coming from somewhere"); +} + +//Function Number: 37 +stage3_init() +{ + level.sacrificekillcount = 0; +} + +//Function Number: 38 +stage3_logic() +{ + level thread stage3_playerenter(); + var_00 = getent("golden_skillet_unseasoned","targetname"); + var_01 = common_scripts\utility::getstruct("skillet_unseasoned_use","targetname"); + var_01 thread maps\mp\zombies\_zombies_sidequests::fake_use("placed",::playerhasskilletgolden,undefined,"main_stage3_over",80); + if(level.nextgen) + { + thread maps\mp\mp_zombie_brg::alterjumpexploit(var_01); + } + + var_01 waittill("placed",var_02); + var_00 playsoundonmovingent("sq_skillet_put_down_altar"); + var_02 playertakeitem("skillet_golden"); + var_00 show(); + var_03 = getent("golden_skillet_seasoned","targetname"); + var_04 = getent("skillet_altar","targetname"); + var_05 = getent("skillet_altar_coll","targetname"); + var_03 linkto(var_04); + var_00 linkto(var_04); + var_04 thread stage3_altar_move(); + var_05 thread stage3_altar_move(); + earthquake(0.15,3,var_04.origin,200); + playrumbleonposition("artillery_rumble",var_04.origin); + var_05 waittill("lowered"); + var_05 connectpaths(); + earthquake(0.15,3,var_04.origin,200); + level.sacrificeactive = 1; + thread stage3_sacrifice_setup(); + thread stage3_sacrifice_killcounter(); + level waittill("sq_raise_altar"); + earthquake(0.15,3,var_04.origin,200); + playrumbleonposition("artillery_rumble",var_04.origin); + level waittill("sq_altar_raised"); + earthquake(0.15,3,var_04.origin,200); +} + +//Function Number: 39 +stage3_playerenter() +{ + level endon("main_stage3_over"); + var_00 = getent("sacrifice_trigger","targetname"); + if(!isdefined(var_00)) + { + return; + } + + for(;;) + { + foreach(var_02 in level.players) + { + if(var_02 istouching(var_00)) + { + var_02 thread playerplaysqvo(12); + return; + } + } + + wait 0.05; + } +} + +//Function Number: 40 +stage3_altar_move() +{ + self movez(-32,3); + self playsound("sq_alter_lower"); + playfx(common_scripts\utility::getfx("brg_altar_dust"),self.origin); + wait(3); + self notify("lowered"); + level waittill("sq_raise_altar"); + self movez(32,3); + self playsound("sq_alter_raise"); + playfx(common_scripts\utility::getfx("brg_altar_dust"),self.origin); + wait(3); + level notify("sq_altar_raised"); +} + +//Function Number: 41 +stage3_sacrifice_setup() +{ + level endon("main_stage3_over"); + var_00 = getent("sacrifice_trigger","targetname"); + var_01 = getent("blood_pool_mover","targetname"); + var_01 thread stage3_raise_blood(); + while(level.sacrificeactive == 1) + { + var_00 waittill("trigger",var_02); + if(isplayer(var_02)) + { + continue; + } + else if(isdefined(var_02.agentteam) && var_02.agentteam == level.playerteam) + { + continue; + } + else if(!isdefined(var_02.alreadytriggered)) + { + var_02 thread stage3_sacrifice_trigmonitor(var_00); + var_02 thread stage3_sacrifice_killmonitor(var_01); + } + + var_02.alreadytriggered = 1; + } +} + +//Function Number: 42 +stage3_sacrifice_trigmonitor(param_00) +{ + self endon("death"); + level endon("main_stage3_over"); + while(self istouching(param_00)) + { + wait(0.1); + } + + self notify("ZombieLeftSacrificeArea"); + self.alreadytriggered = 0; +} + +//Function Number: 43 +stage3_sacrifice_killmonitor(param_00) +{ + self endon("ZombieLeftSacrificeArea"); + level endon("main_stage3_over"); + var_01 = common_scripts\utility::getstruct("skillet_glow_fx","targetname"); + if(!isdefined(self.alreadytriggered)) + { + self.alreadytriggered = 0; + } + + if(self.alreadytriggered == 0) + { + self waittill("death",var_02); + if(level.sacrificekillcount < 66) + { + if(isdefined(var_02) && !isdefined(var_02.playedseasoningvo)) + { + var_02 playerplaysqvo(15); + var_02.playedseasoningvo = 1; + } + + level.sacrificekillcount++; + playfx(common_scripts\utility::getfx("brg_skillet_gleam"),var_01.origin); + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Number of Sacrifices:" + level.sacrificekillcount); + } + } +} + +//Function Number: 44 +stage3_raise_blood() +{ + level endon("main_stage3_over"); + var_00 = self.origin; + for(;;) + { + wait(2); + if(level.sacrificekillcount > 0 && level.sacrificekillcount < 66) + { + var_01 = level.sacrificekillcount * 2; + self moveto(var_00 + (0,0,var_01),2); + } + } +} + +//Function Number: 45 +stage3_sacrifice_killcounter() +{ + while(level.sacrificekillcount < 66) + { + wait(0.1); + } + + level.sacrificeactive = 0; + var_00 = getent("golden_skillet_unseasoned","targetname"); + var_01 = getent("golden_skillet_seasoned","targetname"); + var_00 delete(); + var_01 show(); + level notify("sq_raise_altar"); + level waittill("sq_altar_raised"); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage3"); +} + +//Function Number: 46 +stage3_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Ritual complete. The skillet is properly seasoned"); +} + +//Function Number: 47 +stage4_init() +{ +} + +//Function Number: 48 +stage4_logic() +{ + var_00 = getent("golden_skillet_seasoned","targetname"); + var_01 = common_scripts\utility::getstruct("skillet_unseasoned_use","targetname"); + var_01 thread maps\mp\zombies\_zombies_sidequests::fake_use("acquired",undefined,undefined,"main_stage4_over",80); + var_01 waittill("acquired",var_02); + playsoundatpos(var_00.origin,"sq_skillet_grab"); + var_00 hide(); + var_02 playergiveskillet("seasoned"); + var_03 = getent("golden_skillet_stove","targetname"); + var_04 = common_scripts\utility::getstruct("burgertown_stove_interact","targetname"); + var_04 thread maps\mp\zombies\_zombies_sidequests::fake_use("placed",::playerhasskilletseasoned,undefined,"main_stage4_over"); + var_04 waittill("placed",var_02); + var_03 show(); + var_03 playsoundonmovingent("sq_skillet_put_down_stove"); + var_02 playertakeitem("skillet_seasoned"); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage4"); +} + +//Function Number: 49 +stage4_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Put down the skillet"); +} + +//Function Number: 50 +stage5_init() +{ +} + +//Function Number: 51 +randomizemeatchunks() +{ + stage5_initrandommeatchunks(getentarray("zombie_meat_chunk_gs","targetname")); + stage5_initrandommeatchunks(getentarray("zombie_meat_chunk_ac","targetname")); + stage5_initrandommeatchunks(getentarray("zombie_meat_chunk_sw","targetname")); + stage5_initrandommeatchunks(getentarray("zombie_meat_chunk_bt","targetname")); +} + +//Function Number: 52 +stage5_initrandommeatchunks(param_00) +{ + var_01 = common_scripts\utility::random(param_00); + param_00 = common_scripts\utility::array_remove(param_00,var_01); + foreach(var_03 in param_00) + { + var_03 delete(); + } +} + +//Function Number: 53 +stage5_logic() +{ + var_00 = getent("zombie_meat_chunk_gs","targetname"); + if(isdefined(var_00)) + { + var_00 thread stage5_meat_handler(); + } + + var_01 = getent("zombie_meat_chunk_ac","targetname"); + if(isdefined(var_01)) + { + var_01 thread stage5_meat_handler(); + } + + var_02 = getent("zombie_meat_chunk_sw","targetname"); + if(isdefined(var_02)) + { + var_02 thread stage5_meat_handler(); + } + + var_03 = getent("zombie_meat_chunk_bt","targetname"); + if(isdefined(var_03)) + { + var_03 thread stage5_meat_handler(); + } + + var_04 = common_scripts\utility::getstruct("burgertown_stove_interact","targetname"); + var_04 thread stage5_stove_handler(); +} + +//Function Number: 54 +stage5_meat_handler() +{ + level endon("main_stage5_over"); + self show(); + var_00 = spawnfx(common_scripts\utility::getfx("insects_flies_landing"),self.origin); + triggerfx(var_00); + var_01 = common_scripts\utility::getstruct(self.target,"targetname"); + var_01 thread maps\mp\zombies\_zombies_sidequests::fake_use("acquired",::playerhasnomeat,undefined,"main_stage5_over",80); + var_01 waittill("acquired",var_02); + if(!isdefined(var_02.playedpickupmeat)) + { + var_02 thread playerplaysqvo(1,0.5); + var_02.playedpickupmeat = 1; + } + + var_02 playergivemeat(); + playsoundatpos(self.origin,"sq_pick_up_meat"); + self delete(); + var_00 delete(); + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("This looks tasty. Just need a place to cook it."); +} + +//Function Number: 55 +playerhasmeat() +{ + return maps\mp\zombies\_util::is_true(self.hasmeat); +} + +//Function Number: 56 +playerhasnomeat() +{ + return maps\mp\zombies\_util::is_true(!self.hasmeat); +} + +//Function Number: 57 +playergivemeat() +{ + self setclientomnvar("ui_zm_ee_int",1); + self.hasmeat = 1; +} + +//Function Number: 58 +stage5_stove_handler() +{ + level endon("main_stage5_over"); + var_00 = getentarray("placed_zombie_meat_chunks","targetname"); + var_01 = undefined; + while(var_00.size > 0) + { + thread maps\mp\zombies\_zombies_sidequests::fake_use("used",::playerhasmeat,undefined,"main_stage5_over"); + self waittill("used",var_01); + var_02 = common_scripts\utility::random(var_00); + var_02 show(); + playfx(common_scripts\utility::getfx("dlc_zombie_blood_splat_sm"),var_02.origin); + playsoundatpos(var_02.origin,"sq_place_meat"); + var_00 = common_scripts\utility::array_remove(var_00,var_02); + var_01 thread playertakeitem("meat"); + if(!isdefined(var_01.playedstovemeat)) + { + var_01 thread playerplaysqvo(2,0.5); + var_01.playedstovemeat = 1; + } + + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Hmm...gonna need more meat than this"); + } + + if(isdefined(var_01)) + { + var_01 thread playerplaysqvo(6,1); + } + + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage5"); +} + +//Function Number: 59 +stage5_end(param_00) +{ + var_04 = getentarray("placed_zombie_meat_chunks","targetname"); + foreach(var_06 in var_04) + { + var_06 delete(); + } + + var_08 = getent("zombie_patty_raw","targetname"); + var_08 show(); + playfx(common_scripts\utility::getfx("dlc_zombie_blood_splat_sm"),var_08.origin); + playsoundatpos(var_08.origin,"sq_meat_patty"); + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Looks like we need something to cook it with"); +} + +//Function Number: 60 +stage6_init() +{ +} + +//Function Number: 61 +stage6_logic() +{ + var_00 = getent("zombie_patty_raw","targetname"); + level waittill("burger_patty_cooked",var_01); + if(isdefined(var_01)) + { + var_01 thread playerplaysqvo(7,0.5); + } + + var_00 thread stage6_cookedpattyfx(); + playsoundatpos(var_00.origin,"sq_patty_finished"); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage6"); +} + +//Function Number: 62 +stage6_cookedpattyfx() +{ + var_00 = spawnfx(common_scripts\utility::getfx("brg_skillet_charbroil"),self.origin); + triggerfx(var_00); + self playloopsound("sq_meat_patty_cook"); + self waittill("kill_cooked_fx"); + var_00 delete(); +} + +//Function Number: 63 +stage6_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("It\'s cooked to perfection! Now all we need is a bun..."); +} + +//Function Number: 64 +stage7_init() +{ + level.processenemykilledfunc = ::processenemykilled; + level.sq_droppedbuns = []; + level.pickedupbun = 0; +} + +//Function Number: 65 +stage7_logic() +{ + while(level.pickedupbun == 0) + { + wait(0.05); + } + + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage7"); +} + +//Function Number: 66 +playerhasbun() +{ + return maps\mp\zombies\_util::is_true(self.hasbun); +} + +//Function Number: 67 +playergivebun() +{ + self setclientomnvar("ui_zm_ee_int",11); + self.hasbun = 1; +} + +//Function Number: 68 +processenemykilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + level endon("main_stage7_over"); + if(level.pickedupbun == 1) + { + return; + } + + if(!isdefined(self.burgertownemployee) || !self.burgertownemployee) + { + return; + } + + if(!maps\mp\zombies\_zombies_zone_manager::iszombieinanyzone(self)) + { + return; + } + + if(isdefined(param_03) && param_03 == "MOD_SUICIDE") + { + return; + } + + if(maps\mp\zombies\_util::istrapweapon(param_04)) + { + return; + } + + if(level.sq_droppedbuns.size >= 1) + { + return; + } + + var_09 = randomfloat(1); + if(var_09 < 0.25) + { + level thread dropbun(self.origin); + } +} + +//Function Number: 69 +dropbun(param_00) +{ + level endon("main_stage7_over"); + param_00 = param_00 + (0,0,16); + var_01 = spawn("script_model",param_00); + var_01.angles = (0,0,0); + var_01 setmodel("dlc2_brg_bun"); + var_01 notsolid(); + var_02 = spawn("trigger_radius",param_00,0,32,32); + var_01.trigger = var_02; + level.sq_droppedbuns[level.sq_droppedbuns.size] = var_01; + var_01 thread bunpickup(); + var_01 thread buntimer(); + var_01 thread bunbounce(); +} + +//Function Number: 70 +bunbounce() +{ + self scriptmodelplayanimdeltamotion("mp_dogtag_spin"); +} + +//Function Number: 71 +bunpickup() +{ + self endon("deleted"); + level endon("main_stage7_over"); + var_00 = self.origin; + for(;;) + { + self.trigger waittill("trigger",var_01); + if(isplayer(var_01) && !var_01 playerhasbun()) + { + var_01 playergivebun(); + var_01 playlocalsound("sq_bun_pickup"); + level.pickedupbun = 1; + thread removebun(self); + return; + } + } +} + +//Function Number: 72 +buntimer() +{ + self endon("deleted"); + wait(15); + thread bunstartflashing(); + wait(8); + level thread removebun(self); +} + +//Function Number: 73 +bunstartflashing() +{ + self endon("deleted"); + level endon("main_stage7_over"); + for(;;) + { + self ghost(); + wait(0.25); + self show(); + wait(0.25); + } +} + +//Function Number: 74 +removebun(param_00,param_01) +{ + param_00 notify("deleted"); + wait 0.05; + if(isdefined(param_00.trigger)) + { + param_00.trigger delete(); + } + + param_00 delete(); + if(!maps\mp\zombies\_util::is_true(param_01)) + { + level.sq_droppedbuns = common_scripts\utility::array_removeundefined(level.sq_droppedbuns); + } +} + +//Function Number: 75 +stage7_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("I\'ve got the bun."); +} + +//Function Number: 76 +stage8_init() +{ +} + +//Function Number: 77 +playergiveburgerinfected() +{ + self setclientomnvar("ui_zm_ee_int",7); + self.hasburgerinfected = 1; + thread playerplaysqvo(8,0.5); +} + +//Function Number: 78 +stage8_logic() +{ + var_00 = getent("zombie_patty_raw","targetname"); + var_01 = getent("zombie_burger","targetname"); + var_02 = common_scripts\utility::getstruct("burgertown_stove_interact","targetname"); + var_02 thread maps\mp\zombies\_zombies_sidequests::fake_use("assembled",::playerhasbun,undefined,"main_stage8_over"); + var_02 waittill("assembled",var_03); + var_03 thread playertakeitem("bun"); + var_00 notify("kill_cooked_fx"); + var_00 stoploopsound(); + var_00 delete(); + var_01 show(); + var_01 playsound("sq_burger_created"); + var_04 = spawnfx(common_scripts\utility::getfx("brg_infected_burger"),var_01.origin); + triggerfx(var_04); + wait(1); + var_02 thread maps\mp\zombies\_zombies_sidequests::fake_use("acquired",undefined,undefined,"main_stage8_over"); + var_02 waittill("acquired",var_03); + playsoundatpos(var_01.origin,"sq_burger_pickup"); + var_04 delete(); + var_01 delete(); + var_03 playergiveburgerinfected(); + var_03 thread stage8_infected_burger(); +} + +//Function Number: 79 +stage8_infected_burger() +{ + thread maps\mp\zombies\_zombies_laststand::hostzombielaststand(); + self waittill("cured"); + thread playergiveburger(); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage8"); +} + +//Function Number: 80 +stage8_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Cured from infected burger"); +} + +//Function Number: 81 +stage9_init() +{ +} + +//Function Number: 82 +playergiveburger() +{ + self setclientomnvar("ui_zm_ee_int",8); + self.hasburger = 1; + self.hasburgerinfected = undefined; + thread playerplaysqvo(9,1); +} + +//Function Number: 83 +playerhasburger() +{ + return maps\mp\zombies\_util::is_true(self.hasburger); +} + +//Function Number: 84 +stage9_logic() +{ + var_00 = getent("murderbot_static_thumbsup","targetname"); + var_01 = getent("murderbot_animscripted","targetname"); + level.zmbsqbeaufordnoresponse = 1; + var_02 = common_scripts\utility::getstruct("murderbot_use","targetname"); + var_02 thread maps\mp\zombies\_zombies_sidequests::fake_use("feed",::playerhasburger,undefined,"main_stage9_over",80); + var_02 waittill("feed",var_03); + var_00 delete(); + var_01 show(); + thread murderbot_animate("zom_mbot_activation_yumm"); + var_03 playertakeitem("burger"); + playsoundatpos((325,-4086,209),"zmb_murderbot_bellyrub"); + level thread beaufordburgerbatteryhint(); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage9"); +} + +//Function Number: 85 +beaufordburgerbatteryhint() +{ + playbeaufordsqvo(4,0.5); + var_00 = maps\mp\zombies\_zombies_audio_announcer::getannouncers("beauford"); + var_01 = var_00[0]; + if(!isdefined(var_01)) + { + return; + } + + var_01 common_scripts\utility::waittill_notify_or_timeout("done_speaking",10); + var_02 = 2; + if(common_scripts\utility::cointoss()) + { + var_02 = 3; + } + + playbeaufordsqvo(var_02); + wait(2); + level.zmbsqbeaufordnoresponse = undefined; +} + +//Function Number: 86 +stage9_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Beauford enjoyed your offering!"); + var_04 = getent("battery_screen_on","targetname"); + var_04 playloopsound("sq_screen_on_lp"); + var_05 = getent("battery_screen_off","targetname"); + var_05 hide(); + var_04 show(); + var_04 playsound("sq_screen_on"); +} + +//Function Number: 87 +stage10_init() +{ + level.batteryacquired = 0; + var_00 = common_scripts\utility::getstruct("battery_pickup_use","targetname"); + var_00 thread stage10_battery_pickup(); +} + +//Function Number: 88 +batterydooropen() +{ + return maps\mp\zombies\_util::is_true(self.batteryisopen); +} + +//Function Number: 89 +playerhasbatteryempty() +{ + return maps\mp\zombies\_util::is_true(self.hasbatterydepleted); +} + +//Function Number: 90 +playerhasbatteryfull() +{ + return maps\mp\zombies\_util::is_true(self.hasbatterycharged); +} + +//Function Number: 91 +playergivebattery(param_00) +{ + switch(param_00) + { + case "depleted": + self setclientomnvar("ui_zm_ee_int",10); + self.hasbatterydepleted = 1; + thread playerplaysqvo(16,0.5); + break; + + case "charged": + self setclientomnvar("ui_zm_ee_int",9); + self.hasbatterycharged = 1; + thread playerplaysqvo(17,0.5); + break; + } +} + +//Function Number: 92 +stage10_logic() +{ + var_00 = common_scripts\utility::getstruct("battery_compartment_activate","targetname"); + var_01 = getent("battery_door","targetname"); + while(level.batteryacquired == 0) + { + if(getdvarint("battery_open") == 0) + { + var_00 thread maps\mp\zombies\_zombies_sidequests::fake_use("opened",undefined,undefined,"main_stage10_over",80); + var_00 waittill("opened",var_02); + var_02 thread playbatterysounds(var_01); + foreach(var_02 in level.players) + { + var_02.batteryisopen = 1; + } + + var_01 movez(12,0.25); + wait(7); + var_01 movez(-12,0.25); + var_01 playsound("sq_battery_door_close"); + wait(0.25); + foreach(var_02 in level.players) + { + var_02.batteryisopen = 0; + } + + continue; + } + + wait(3); + var_01 movez(12,0.25); + wait(7); + var_01 movez(-12,0.25); + } +} + +//Function Number: 93 +playbatterysounds(param_00) +{ + self playlocalsound("sq_screen_interact"); + wait(1.3); + param_00 playsound("sq_battery_door_open"); +} + +//Function Number: 94 +stage10_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Got battery"); +} + +//Function Number: 95 +stage10_battery_pickup() +{ + var_00 = getent("battery_depleted","targetname"); + thread maps\mp\zombies\_zombies_sidequests::fake_use("acquired",::batterydooropen,undefined,"main_stage10_over"); + self waittill("acquired",var_01); + var_00 playsound("sq_battery_grab"); + var_00 delete(); + level.batteryacquired = 1; + var_01 thread playergivebattery("depleted"); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage10"); +} + +//Function Number: 96 +stage11_init() +{ + createthreatbiasgroup("charging_battery"); + level.batterychargecount = 0; +} + +//Function Number: 97 +stage11_logic() +{ + var_00 = getent("battery_charging","targetname"); + var_01 = getent("battery_charged","targetname"); + var_02 = getent("battery_charge_fxorg","targetname"); + var_00.charged = 0; + var_00 thread stage11_battery_fx(var_02); + var_03 = common_scripts\utility::getstruct("battery_charge_use","targetname"); + var_03 thread maps\mp\zombies\_zombies_sidequests::fake_use("placed",::playerhasbatteryempty,undefined,"main_stage11_over"); + var_03 waittill("placed",var_04); + var_00 playsound("sq_battery_plugin"); + var_04 thread playertakeitem("battery_depleted"); + var_00 thread stage11_battery_setup(); + var_00 thread stage11_battery_charge_counter(); +} + +//Function Number: 98 +stage11_battery_setup() +{ + self show(); + self.charging = 1; + self notify("charging"); + self makeentitysentient("allies"); + self setthreatbiasgroup("charging_battery"); + setthreatbias("zombies","charging_battery",1000); + self playloopsound("sq_battery_charge"); + thread maps\mp\gametypes\_damage::setentitydamagecallback(100000,undefined,::stage11_onbatterydeath); + thread stage11_monitor_battery_damage(); + thread stage11_knockout_battery(); + thread stage11_battery_charge_monitor(); + thread stage11_swap_batteries(); +} + +//Function Number: 99 +stage11_monitor_battery_damage() +{ + level endon("main_stage11_over"); + self endon("death"); + for(;;) + { + if(self.damagetaken < 200) + { + wait(0.5); + continue; + } + else + { + self notify("removed"); + self.charging = 0; + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Battery down!!"); + self waittill("charging"); + } + + wait(0.5); + } +} + +//Function Number: 100 +stage11_knockout_battery() +{ + level endon("main_stage11_over"); + self endon("charged"); + var_00 = getent("battery_removed","targetname"); + var_01 = common_scripts\utility::getstruct("battery_replace_use","targetname"); + for(;;) + { + self waittill("removed"); + var_02 = spawnfx(common_scripts\utility::getfx("spark_burst_runner_brg"),var_00.origin); + triggerfx(var_02); + self stoploopsound(); + self freeentitysentient(); + self.damagetaken = 0; + stage11_battery_move(var_00); + var_01 thread maps\mp\zombies\_zombies_sidequests::fake_use("replaced",undefined,undefined,"main_stage11_over"); + var_01 waittill("replaced",var_03); + var_02 delete(); + var_00 hide(); + self show(); + self makeentitysentient("allies"); + self setthreatbiasgroup("charging_battery"); + self.charging = 1; + self notify("charging"); + self playloopsound("sq_battery_charge"); + } +} + +//Function Number: 101 +stage11_battery_move(param_00) +{ + var_01 = self.origin; + var_02 = self.angles; + self moveto(param_00.origin,0.35); + self rotateto(param_00.angles,0.35); + wait(0.35); + self hide(); + param_00 show(); + self.origin = var_01; + self.angles = var_02; +} + +//Function Number: 102 +stage11_battery_fx(param_00) +{ + level endon("game_ended"); + for(var_01 = spawnfx(common_scripts\utility::getfx("dlc_elec_panel_charging"),param_00.origin,anglestoforward(param_00.angles + (0,0,0)),anglestoup(param_00.angles + (0,0,90)));self.charged == 0;var_01 delete()) + { + self waittill("charging"); + if(!isdefined(var_01)) + { + var_01 = spawnfx(common_scripts\utility::getfx("dlc_elec_panel_charging"),param_00.origin,anglestoforward(param_00.angles + (0,0,0)),anglestoup(param_00.angles + (0,0,90))); + } + + triggerfx(var_01); + common_scripts\utility::waittill_any("removed","charged"); + } + + var_02 = spawnfx(common_scripts\utility::getfx("dlc_elec_panel_charge_full"),param_00.origin,anglestoforward(param_00.angles + (0,0,0)),anglestoup(param_00.angles + (0,0,90))); + triggerfx(var_02); +} + +//Function Number: 103 +stage11_battery_charge_monitor() +{ + while(level.batterychargecount < 60) + { + wait(0.5); + } + + self notify("charged"); + self.charged = 1; + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Battery is fully charged!"); +} + +//Function Number: 104 +stage11_battery_charge_counter() +{ + self endon("charged"); + for(;;) + { + if(self.charging == 1) + { + wait(1); + level.batterychargecount++; + continue; + } + + self waittill("charging"); + } +} + +//Function Number: 105 +stage11_swap_batteries() +{ + var_00 = getent("battery_charging","targetname"); + var_01 = getent("battery_charged","targetname"); + var_02 = common_scripts\utility::getstruct("battery_charge_use","targetname"); + self waittill("charged"); + self stoploopsound(); + var_00 delete(); + var_01 show(); + var_01 playsound("sq_battery_charged"); + var_02 thread maps\mp\zombies\_zombies_sidequests::fake_use("acquired",undefined,undefined,"main_stage11_over"); + var_02 waittill("acquired",var_03); + var_01 playsound("sq_battery_grab"); + var_03 thread playergivebattery("charged"); + var_01 delete(); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage11"); +} + +//Function Number: 106 +stage11_onbatterydeath(param_00,param_01,param_02,param_03) +{ + self notify("damaged",param_00,param_02,param_01); +} + +//Function Number: 107 +stage11_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Got charged battery"); +} + +//Function Number: 108 +stage12_init() +{ + thread burger_room_escape(); +} + +//Function Number: 109 +playerhaskey() +{ + return maps\mp\zombies\_util::is_true(self.haskey); +} + +//Function Number: 110 +playergivekey() +{ + self setclientomnvar("ui_zm_ee_int",12); + self.haskey = 1; + playerplaysqvo(13,1); +} + +//Function Number: 111 +stage12_logic() +{ + level.zmbsqbeaufordnoresponse = 1; + var_00 = common_scripts\utility::getstruct("murderbot_use","targetname"); + var_00 thread maps\mp\zombies\_zombies_sidequests::fake_use("offered",undefined,undefined,"main_stage12_over",80); + var_00 waittill("offered",var_01); + var_01 playlocalsound("sq_battery_grab"); + var_01 thread playertakeitem("battery_charged"); + thread murderbot_animate("zom_mbot_activation_key"); + playsoundatpos((325,-4086,209),"zmb_murderbot_give_key"); + thread stage12_spawn_key(); + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Beauford is energized!"); + level thread playbeaufordsqvo(5); + var_02 = common_scripts\utility::getstruct("burger_tower_use","targetname"); + var_02 thread stage12_tower_access(); +} + +//Function Number: 112 +stage12_spawn_key() +{ + var_00 = common_scripts\utility::getstruct("burgerkey_use","targetname"); + var_01 = getent("burger_tower_key","targetname"); + wait(1.5); + var_01 show(); + var_01 scriptmodelplayanimdeltamotion("mp_dogtag_spin"); + var_00 thread maps\mp\zombies\_zombies_sidequests::fake_use("acquired",undefined,undefined,"main_stage12_over",80); + var_00 waittill("acquired",var_02); + var_01 playsound("sq_key_receive"); + var_01 delete(); + var_02 thread playergivekey(); + level notify("player_has_key"); + wait(4); + level.zmbsqbeaufordnoresponse = undefined; +} + +//Function Number: 113 +stage12_tower_access() +{ + var_00 = common_scripts\utility::getstructarray("burger_tower_destination","targetname"); + var_01 = common_scripts\utility::getstruct("drive_decrypted_use","targetname"); + var_02 = getent("burger_screen_disabled","targetname"); + var_03 = getent("burger_screen_decrypt","targetname"); + thread maps\mp\zombies\_zombies_sidequests::fake_use("unlocked",::playerhaskey,undefined,"main_stage12_over",100); + self waittill("unlocked",var_04); + level.burgerhatchlocked = 0; + var_04 playlocalsound("sq_burger_door_opened_2D"); + playsoundatpos((1135,-3494,494),"sq_burger_door_opened"); + var_04 playertakeitem("key"); + var_05 = common_scripts\utility::random(var_00); + var_04 thread burger_teleport(var_05.origin,var_05.angles); + level notify("burger_is_occupied"); + level.burgerhatchlocked = 1; + thread burger_room_valve_lock("locked"); + var_04 playerhide(); + var_04 thread burger_room_monitor(); + level thread burger_room_free_access(); + var_01 thread maps\mp\zombies\_zombies_sidequests::fake_use("activated",undefined,undefined,"main_stage12_over",80); + var_01 waittill("activated",var_04); + var_03 hide(); + var_02 show(); + var_02 playsound("screen_negative_interact"); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage12"); +} + +//Function Number: 114 +burger_room_valve_lock(param_00) +{ + var_01 = getent("burger_tower_valve","targetname"); + var_01.islocked = 1; + switch(param_00) + { + case "locked": + level.burgerislocked = 1; + var_01 rotateto((0,-90,90),0.2); + break; + + case "unlocked": + level.burgerislocked = 0; + var_01 rotateto((0,0,90),0.2); + break; + } +} + +//Function Number: 115 +burger_room_locked_audio() +{ + level endon("game_ended"); + var_00 = common_scripts\utility::getstruct("burger_tower_lock_use","targetname"); + for(;;) + { + var_00 thread maps\mp\zombies\_zombies_sidequests::fake_use("used",undefined,undefined,undefined,80); + var_00 waittill("used",var_01); + if(level.burgerhatchlocked == 1) + { + var_01 playlocalsound("sq_burger_door_locked"); + } + + wait(1); + } +} + +//Function Number: 116 +burger_room_free_access() +{ + level endon("close_burger_for_rocket"); + if(isdefined(level.zmbsqburgerroomopen)) + { + return; + } + + level.zmbsqburgerroomopen = 1; + var_00 = common_scripts\utility::getstructarray("burger_tower_destination","targetname"); + var_01 = common_scripts\utility::getstruct("burger_tower_use","targetname"); + if(!isdefined(var_01)) + { + return; + } + + for(;;) + { + level waittill("burger_is_empty"); + if(isdefined(level.burgerislocked) && !level.burgerislocked) + { + thread burger_room_valve_lock("locked"); + } + + level.burgerhatchlocked = 1; + wait(10); + level.burgerhatchlocked = 0; + var_01 thread maps\mp\zombies\_zombies_sidequests::fake_use("opened",undefined,undefined,undefined,100); + if(isdefined(level.burgerislocked) && level.burgerislocked) + { + thread burger_room_valve_lock("unlocked"); + } + + var_01 waittill("opened",var_02); + var_03 = common_scripts\utility::random(var_00); + var_02 thread burger_teleport(var_03.origin,var_03.angles); + level notify("burger_is_occupied"); + level.burgerhatchlocked = 1; + var_02 thread burger_room_monitor(); + if(isdefined(level.burgerislocked) && !level.burgerislocked) + { + thread burger_room_valve_lock("locked"); + } + + var_02 maps\mp\zombies\_util::setallignoreme(1); + var_02 playerhide(); + var_02 playlocalsound("sq_burger_door_opened_2D"); + playsoundatpos((1135,-3494,494),"sq_burger_door_opened"); + } +} + +//Function Number: 117 +burger_room_lockdown() +{ + var_00 = common_scripts\utility::getstructarray("burger_tower_exit","targetname"); + var_01 = getent("burger_tower_vol","targetname"); + wait(2); + level notify("close_burger_for_rocket"); + if(isdefined(level.burgerislocked) && !level.burgerislocked) + { + thread burger_room_valve_lock("locked"); + } + + level.burgerhatchlocked = 1; + foreach(var_03 in level.players) + { + if(var_03 istouching(var_01)) + { + var_04 = common_scripts\utility::random(var_00); + var_03 thread burger_teleport(var_04.origin,var_04.angles); + var_03 maps\mp\zombies\_util::setallignoreme(0); + var_03 playershow(); + level notify("burger_is_empty"); + } + } + + level waittill("drive_is_decrypted"); + level.zmbsqburgerroomopen = undefined; + level thread burger_room_free_access(); + wait 0.05; + level notify("burger_is_empty"); +} + +//Function Number: 118 +burger_room_monitor() +{ + var_00 = common_scripts\utility::getstructarray("burger_tower_exit","targetname"); + var_01 = getent("burger_tower_vol","targetname"); + var_02 = gettime() + 20000; + while(gettime() < var_02) + { + wait(0.2); + if(self istouching(var_01)) + { + continue; + } + else + { + return; + } + } + + foreach(var_04 in level.players) + { + if(var_04 istouching(var_01)) + { + var_05 = common_scripts\utility::random(var_00); + var_04 thread burger_teleport(var_05.origin,var_05.angles); + var_04 maps\mp\zombies\_util::setallignoreme(0); + var_04 playershow(); + level notify("burger_is_empty"); + } + } +} + +//Function Number: 119 +burger_room_escape() +{ + var_00 = common_scripts\utility::getstructarray("burger_tower_exit","targetname"); + var_01 = common_scripts\utility::getstruct("burger_tower_escape_use","targetname"); + for(;;) + { + var_01 thread maps\mp\zombies\_zombies_sidequests::fake_use("used",undefined,undefined,undefined,80); + var_01 waittill("used",var_02); + var_03 = common_scripts\utility::random(var_00); + var_02 thread burger_teleport(var_03.origin,var_03.angles); + var_02 maps\mp\zombies\_util::setallignoreme(0); + var_02 playershow(); + level notify("burger_is_empty"); + var_02 playlocalsound("sq_burger_door_closed_2D"); + } +} + +//Function Number: 120 +burger_teleport(param_00,param_01) +{ + thread maps\mp\zombies\_teleport::player_teleport(param_00,param_01); +} + +//Function Number: 121 +stage12_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Finished burger room"); +} + +//Function Number: 122 +stage13_init() +{ + level.gator_kills_active = 1; +} + +//Function Number: 123 +playerhasarm() +{ + return maps\mp\zombies\_util::is_true(self.hasarm); +} + +//Function Number: 124 +playergivearm() +{ + self setclientomnvar("ui_zm_ee_int",3); + self.hasarm = 1; + thread playerplaysqvo(19,0.5); +} + +//Function Number: 125 +stage13_logic() +{ + var_00 = common_scripts\utility::getstruct("warehouse_safe_use","targetname"); + for(;;) + { + var_00 thread maps\mp\zombies\_zombies_sidequests::fake_use("opened",undefined,undefined,"main_stage13_over"); + var_00 waittill("opened",var_01); + playsoundatpos(var_00.origin,"ui_button_error"); + if(!isdefined(var_01.playedseveredhandhint)) + { + var_01 playerplaysqvo(18); + var_01.playedseveredhandhint = 1; + } + + wait(1); + } +} + +//Function Number: 126 +stage13_spawn_arm() +{ + level notify("arm_spawned"); + level.sqarmspawned = 1; + var_00 = common_scripts\utility::getstruct("gator_water_level","script_noteworthy"); + var_01 = var_00.origin[2] - self.origin[2]; + var_02 = spawn("script_model",self.origin + (0,0,var_01)); + var_02 setmodel("dlc2_zom_gib_arm_pickup"); + var_02 scriptmodelplayanimdeltamotion("mp_dogtag_spin"); + var_03 = spawn("script_origin",var_02.origin); + var_03 thread maps\mp\zombies\_zombies_sidequests::fake_use("acquired",undefined,undefined,"main_stage13_over",100); + var_03 waittill("acquired",var_04); + var_04 thread playergivearm(); + playsoundatpos(var_02.origin,"sq_severedhand_grab"); + var_02 delete(); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage13"); +} + +//Function Number: 127 +stage13_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Got severed arm"); + level.gator_kills_active = 0; +} + +//Function Number: 128 +stage14_init() +{ +} + +//Function Number: 129 +playerhasdriveencrypted() +{ + return maps\mp\zombies\_util::is_true(self.hasdriveencrypted); +} + +//Function Number: 130 +playergivedriveencrypted() +{ + self setclientomnvar("ui_zm_ee_int",5); + self.hasdriveencrypted = 1; + var_00 = 20; + if(maps\mp\zombies\_util::get_player_index(self) == maps\mp\zombies\_zombies_audio::getcharacterindexbyprefix("it")) + { + if(randomint(100) < 10) + { + var_00 = 23; + } + } + + thread playerplaysqvo(var_00,0.5); +} + +//Function Number: 131 +stage14_logic() +{ + var_00 = getent("safe_door_org","targetname"); + var_01 = getentarray("warehouse_safe_door","targetname"); + var_02 = getent("thumb_drive_encrypted","targetname"); + var_03 = getent("fingerprint_scanner","targetname"); + foreach(var_05 in var_01) + { + var_05 vehicle_jetbikesethoverforcescale(var_00); + } + + var_07 = common_scripts\utility::getstruct("warehouse_safe_use","targetname"); + var_07 thread maps\mp\zombies\_zombies_sidequests::fake_use("opened",::playerhasarm,undefined,"main_stage14_over",80); + var_07 waittill("opened",var_08); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("dlc_prop_scanner_door_lock_pass"),var_03,"tag_origin"); + var_08 playertakeitem("arm"); + var_00 rotateyaw(-125,1); + var_00 playsound("sq_safe_door_open"); + var_09 = common_scripts\utility::getstruct("thumb_drive_use","targetname"); + var_09 thread maps\mp\zombies\_zombies_sidequests::fake_use("acquired",undefined,undefined,"main_stage14_over",80); + var_09 waittill("acquired",var_08); + var_02 playsound("sq_drive_grab"); + var_02 delete(); + var_08 thread playergivedriveencrypted(); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage14"); +} + +//Function Number: 132 +stage14_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Took encrypted thumb drive"); +} + +//Function Number: 133 +stage15_init() +{ +} + +//Function Number: 134 +stage15_logic() +{ + var_00 = getent("thumb_drive_decrypting","targetname"); + var_01 = getent("burger_screen_decrypt","targetname"); + var_02 = getent("burger_screen_disabled","targetname"); + var_03 = common_scripts\utility::getstruct("drive_decrypted_use","targetname"); + var_03 thread maps\mp\zombies\_zombies_sidequests::fake_use("placed",::playerhasdriveencrypted,undefined,"main_stage15_over",80); + var_03 waittill("placed",var_04); + var_00 show(); + var_02 delete(); + var_01 show(); + var_04 playertakeitem("drive_encrypted"); + thread drive_decrypt_audio(var_00,var_01); + level thread stage15_decryptiontimer(); + thread burger_firing_event(); + thread burger_room_lockdown(); + level waittill("drive_is_decrypted"); + var_01 stoploopsound(); + var_01 playsound("sq_drive_finished"); +} + +//Function Number: 135 +drive_decrypt_audio(param_00,param_01) +{ + param_00 playsound("sq_drive_plugin"); + wait(0.2); + param_01 playloopsound("sq_drive_decrypt"); +} + +//Function Number: 136 +stage15_decryptiontimer() +{ + wait(30); + foreach(var_01 in level.players) + { + var_01 thread rocket_countdowntimer(); + } + + level waittill("rocket_countdown_complete"); + level notify("drive_is_decrypted"); + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Drive is Decrypted!!"); + thread burger_rocket_launch(); +} + +//Function Number: 137 +rocket_countdowntimer() +{ + self endon("disconnect"); + var_00 = maps\mp\gametypes\_hud_util::createprimaryprogressbartext(0,0); + var_00 thread update_countdown(); + var_00.fontscale = 2; + level waittill("rocket_countdown_complete"); + var_00 maps\mp\gametypes\_hud_util::destroyelem(); +} + +//Function Number: 138 +update_countdown() +{ + self endon("disconnect"); + for(var_00 = 0;var_00 < 5;var_00++) + { + var_01 = undefined; + switch(5 - var_00) + { + case 5: + var_01 = &"ZOMBIE_CIVILIANS_5"; + break; + + case 4: + var_01 = &"ZOMBIE_CIVILIANS_4"; + break; + + case 3: + var_01 = &"ZOMBIE_CIVILIANS_3"; + break; + + case 2: + var_01 = &"ZOMBIE_CIVILIANS_2"; + break; + + case 1: + var_01 = &"ZOMBIE_CIVILIANS_1"; + break; + } + + self settext(var_01); + playsoundatpos((0,0,0),"zmb_weapon_upgrade_countdown"); + wait(1); + } + + level notify("rocket_countdown_complete"); +} + +//Function Number: 139 +burger_rocket_launch() +{ + var_00 = getent("burger_rocket_org","targetname"); + var_01 = getent("burger_rocket_dest","targetname"); + var_02 = getent("burger_rocket","targetname"); + var_03 = getent("burger_rocket_fins","targetname"); + var_04 = getentarray("burger_rocket_static","targetname"); + var_00 thread rocket_attach(var_02,var_03); + var_00 thread rocket_thruster_fx(); + var_00 thread rocket_move(); + var_04 thread rocket_static_hide(); + playrumblelooponposition("artillery_rumble",var_00.origin); + earthquake(0.5,8,var_00.origin,1500); + playsoundatpos((1217,-3418,459),"sq_rocket_screen_shake_front"); + wait(8); + stopallrumbles(); + var_00 waittill("finished"); +} + +//Function Number: 140 +rocket_attach(param_00,param_01) +{ + param_00 vehicle_jetbikesethoverforcescale(self); + if(level.nextgen) + { + param_01 vehicle_jetbikesethoverforcescale(self); + wait(2); + param_01 show(); + } + + self waittill("finished"); + param_00 delete(); + if(level.nextgen) + { + param_01 delete(); + } + + self delete(); +} + +//Function Number: 141 +rocket_thruster_fx() +{ + var_00 = getent("burger_rocket_fx","targetname"); + var_01 = spawn("script_model",var_00.origin); + var_01 setmodel("dlc2_brg_burger_bomb"); + var_01 vehicle_jetbikesethoverforcescale(self); + var_02 = spawnlinkedfx(common_scripts\utility::getfx("brg_rocket_thruster"),var_01,"tag_fx"); + wait(2); + triggerfx(var_02); + playsoundatpos((1217,-3418,459),"sq_rocket_launch"); + self waittill("finished"); + var_02 delete(); + var_01 delete(); +} + +//Function Number: 142 +rocket_move() +{ + self movez(11744,20,4); + wait(20); + self notify("finished"); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage15"); +} + +//Function Number: 143 +rocket_static_hide() +{ + foreach(var_01 in self) + { + var_01 notsolid(); + var_01 delete(); + } + + if(level.nextgen) + { + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(2200,-4840,444),(90,0,0)); + } +} + +//Function Number: 144 +burger_firing_event() +{ + bombs_init(); + var_00 = level.bombsonstandby.size; + level.bomb_targets = common_scripts\utility::array_randomize(level.bomb_targets); + for(var_01 = 0;var_01 < var_00;var_01++) + { + if(isdefined(level.bombsonstandby[0])) + { + level.bombsonstandby[0] bomb_fires(var_01); + wait(4); + } + } + + wait(1); +} + +//Function Number: 145 +bombs_init() +{ + wait(1); + level.bombsonstandby = []; + level.launch_point = common_scripts\utility::getstruct("org_bomb_launch","targetname"); + level.bomb_targets = common_scripts\utility::getstructarray("org_bomb_targets","targetname"); + level.bomb_count_max = 12; + level.bomb_count_min = 2; + for(var_00 = 0;var_00 < level.bomb_count_max;var_00++) + { + var_01 = spawn("script_model",(0,0,-10)); + var_01 setmodel("dlc2_brg_burger_bomb"); + var_01 thread bomb_physics_impact_watch(); + var_02 = 24; + var_03 = getent("bomb_pickup_" + var_00 + 1,"targetname"); + if(isdefined(var_03)) + { + var_03.origin = var_01.origin; + } + else + { + var_03 = spawn("trigger_radius",var_01.origin - (0,0,var_02 / 2),0,var_02,var_02); + } + + var_03 enablelinkto(); + var_03 linkto(var_01); + var_03.no_moving_platfrom_unlink = 1; + var_04 = [var_01]; + var_05 = maps\mp\gametypes\_gameobjects::createcarryobject("any",var_03,var_04,(0,0,32)); + var_05 maps\mp\gametypes\_gameobjects::allowcarry("any"); + var_05 maps\mp\gametypes\_gameobjects::setvisibleteam("any"); + var_05.objidpingenemy = 1; + var_05.objpingdelay = 1; + var_05.allowweapons = 0; + var_05.carryweapon = "iw5_dlc2burgergun_mp"; + var_05.keepcarryweapon = 1; + var_05.waterbadtrigger = 0; + var_05.visualgroundoffset = (0,0,30); + var_05.canuseobject = ::bomb_can_pickup; + var_05.onpickup = ::bomb_on_pickup; + var_05.setdropped = ::bomb_set_dropped; + var_05.carryweaponthink = ::bomb_throw; + var_05.requireslos = 1; + maps\mp\_utility::_objective_delete(var_05.objidallies); + maps\mp\_utility::_objective_delete(var_05.objidaxis); + maps\mp\_utility::_objective_delete(var_05.objidmlgspectator); + var_05.compassicons = undefined; + var_05.objidallies = undefined; + var_05.objidaxis = undefined; + var_05.objidmlgspectator = undefined; + level.bombsonstandby[level.bombsonstandby.size] = var_05; + wait 0.05; + } +} + +//Function Number: 146 +bomb_fires(param_00) +{ + var_01 = level.bomb_targets[param_00]; + var_02 = self.visuals[0]; + var_02 show(); + var_02 dontinterpolate(); + self.bomb_fx_active = 0; + var_02 physicsstop(); + var_02.origin = level.launch_point.origin; + level.mines[level.mines.size] = var_02; + var_03 = var_01.origin + (randomfloatrange(-10,10),randomfloatrange(-10,10),randomfloatrange(-10,10)); + var_01.origin = (var_01.origin[0],var_01.origin[1],var_02.origin[2] + 600); + var_04 = vectornormalize(var_01.origin - var_02.origin) * randomintrange(200,300); + var_05 = (0,0,0); + var_02 physicslaunchserver(var_02.origin + var_05,var_04); + aud_event_fire_bomb(); + thread bomb_fuse_default(); + level.bombsonstandby = common_scripts\utility::array_remove(level.bombsonstandby,self); + bomb_fx_start(); + playfx(common_scripts\utility::getfx("cannon_firing"),level.launch_point.origin + (0,0,35)); + var_06 = anglestoforward(level.launch_point.origin); + var_07 = anglestoup(level.launch_point.origin); +} + +//Function Number: 147 +bomb_fuse_default() +{ + self endon("stop_fuse"); + self endon("pickup_object"); + var_00 = 30; + var_01 = self.visuals[0]; + playfxontag(common_scripts\utility::getfx("burger_bomb_fuse"),var_01,"tag_fx"); + while(var_00 > 0) + { + if(isdefined(self) && var_00 < 4) + { + playfx(common_scripts\utility::getfx("ball_flash"),self.visuals[0].origin); + } + + wait(1); + var_00 = var_00 - 1; + } + + magicgrenademanual("iw5_dlc2burgerbomb_mp",self.visuals[0].origin,(0,0,0),0); + thread bomb_cleanup(); +} + +//Function Number: 148 +bomb_fuse_short() +{ + self endon("stop_fuse"); + self endon("pickup_object"); + for(var_00 = 3;var_00 > 0;var_00 = var_00 - 1) + { + if(isdefined(self) && var_00 < 4) + { + playfx(common_scripts\utility::getfx("ball_flash"),self.visuals[0].origin); + } + + wait(1); + } + + magicgrenademanual("iw5_dlc2burgerbomb_mp",self.visuals[0].origin,(0,0,0),0); + thread bomb_cleanup(); +} + +//Function Number: 149 +bomb_can_pickup(param_00) +{ + if(!isdefined(param_00)) + { + return 0; + } + + if(isdefined(param_00.underwater) && param_00.underwater) + { + return 0; + } + + if(isdefined(self.droptime) && self.droptime >= gettime()) + { + return 0; + } + + if(!param_00 common_scripts\utility::isweaponenabled()) + { + return 0; + } + + if(param_00 isusingturret()) + { + return 0; + } + + if(isdefined(param_00.manuallyjoiningkillstreak) && param_00.manuallyjoiningkillstreak) + { + return 0; + } + + var_01 = param_00 getcurrentweapon(); + if(isdefined(var_01)) + { + if(!valid_bomb_pickup_weapon(var_01)) + { + return 0; + } + } + + var_02 = param_00.changingweapon; + if(isdefined(var_02) && param_00 isreloading()) + { + if(!valid_bomb_pickup_weapon(var_02)) + { + return 0; + } + } + + if(isdefined(param_00.exo_shield_on) && param_00.exo_shield_on == 1) + { + return 0; + } + + if(param_00 maps\mp\_utility::isjuggernaut()) + { + return 0; + } + + if(isbot(param_00) || isagent(param_00)) + { + return 0; + } + + if(param_00 player_no_pickup_time()) + { + return 0; + } + + return 1; +} + +//Function Number: 150 +valid_bomb_pickup_weapon(param_00) +{ + if(param_00 == "none") + { + return 0; + } + + if(param_00 == "iw5_dlc2burgergun_mp") + { + return 0; + } + + if(maps\mp\_utility::iskillstreakweapon(param_00)) + { + return 0; + } + + if(param_00 == "iw5_combatknifegoliath_mp") + { + return 0; + } + + return 1; +} + +//Function Number: 151 +player_no_pickup_time() +{ + return isdefined(self.nopickuptime) && self.nopickuptime > gettime(); +} + +//Function Number: 152 +bomb_on_pickup(param_00) +{ + level.usestartspawns = 0; + self notify("pickup_object"); + level.mines = common_scripts\utility::array_remove(level.mines,self.visuals[0]); + var_01 = self.visuals[0] getlinkedparent(); + if(isdefined(var_01)) + { + self.visuals[0] unlink(); + } + + self.visuals[0] physicsstop(); + self.visuals[0] maps\mp\_movers::notify_moving_platform_invalid(); + self.visuals[0] show(); + self.visuals[0] ghost(); + self.trigger maps\mp\_movers::stop_handling_moving_platforms(); + bomb_fx_stop(); + param_00 setweaponammoclip("iw5_dlc2burgergun_mp",1); + param_00 maps\mp\_utility::giveperk("specialty_ballcarrier",0); + param_00 thread display_bomb_prompt(); + thread bomb_last_stand(param_00); + thread bomb_infected(param_00); + param_00.hasbomb = 1; + param_00 common_scripts\utility::_disableusability(); +} + +//Function Number: 153 +display_bomb_prompt() +{ + var_00 = maps\mp\gametypes\_hud_util::createprimaryprogressbartext(0,145); + var_00 settext(&"ZOMBIE_BRG_BOMB_THROW"); + var_00.fontscale = 0.65; + common_scripts\utility::waittill_any("weapon_fired","drop_object","begin_last_stand","player_infected"); + self.hasbomb = 0; + var_00 maps\mp\gametypes\_hud_util::destroyelem(); +} + +//Function Number: 154 +bomb_last_stand(param_00) +{ + level endon("game_ended"); + param_00 endon("disconnect"); + param_00 endon("death"); + param_00 endon("drop_object"); + param_00 endon("weapon_fired"); + param_00 waittill("enter_last_stand"); + param_00 thread bomb_player_revived(); + thread bomb_carrier_cleanup(); + maps\mp\gametypes\_gameobjects::clearcarrier(); +} + +//Function Number: 155 +bomb_player_revived() +{ + self waittill("revive"); + var_00 = self getweaponslistprimaries(); + self switchtoweaponimmediate(var_00[0]); +} + +//Function Number: 156 +bomb_infected(param_00) +{ + level endon("game_ended"); + param_00 endon("disconnect"); + param_00 endon("death"); + param_00 endon("weapon_fired"); + param_00 waittill("player_infected"); + thread bomb_carrier_cleanup(); + maps\mp\gametypes\_gameobjects::clearcarrier(); +} + +//Function Number: 157 +bomb_throw() +{ + self endon("disconnect"); + thread bomb_throw_watch(); + self.carryobject waittill("dropped"); +} + +//Function Number: 158 +bomb_throw_watch() +{ + level endon("game_ended"); + self endon("disconnect"); + self endon("death"); + self endon("drop_object"); + var_00 = getdvarfloat("scr_ball_shoot_extra_pitch",-12); + var_01 = getdvarfloat("scr_ball_shoot_force",320); + for(;;) + { + self waittill("weapon_fired",var_02); + if(var_02 != "iw5_dlc2burgergun_mp") + { + continue; + } + + break; + } + + if(isdefined(self.carryobject)) + { + var_03 = self getplayerangles(); + var_03 = var_03 + (var_00,0,0); + var_03 = (clamp(var_03[0],-85,85),var_03[1],var_03[2]); + var_04 = anglestoforward(var_03); + thread bomb_throw_active(); + wait(0.25); + self playsound("mp_ul_ball_throw"); + self.carryobject bomb_create_killcam_ent(); + self.carryobject thread bomb_physics_launch_drop(var_04 * var_01,self); + } +} + +//Function Number: 159 +bomb_physics_impact_watch() +{ + self endon("death"); + for(;;) + { + self waittill("physics_impact",var_00,var_01,var_02,var_03); + var_04 = level._effect["ball_physics_impact"]; + if(isdefined(var_03) && isdefined(level._effect["ball_physics_impact_" + var_03])) + { + var_04 = level._effect["ball_physics_impact_" + var_03]; + } + + playfx(var_04,var_00,var_01); + wait(0.3); + } +} + +//Function Number: 160 +bomb_throw_active() +{ + self endon("death"); + self endon("disconnect"); + self.pass_or_throw_active = 1; + self allowmelee(0); + while("iw5_dlc2burgergun_mp" == self getcurrentweapon()) + { + wait 0.05; + } + + self allowmelee(1); + self.pass_or_throw_active = 0; +} + +//Function Number: 161 +bomb_physics_launch_drop(param_00,param_01) +{ + bomb_carrier_cleanup(); + self.ownerteam = "any"; + maps\mp\gametypes\_gameobjects::clearcarrier(); + bomb_physics_launch(param_00,param_01); +} + +//Function Number: 162 +bomb_physics_launch(param_00,param_01) +{ + var_02 = self.visuals[0]; + var_02.origin_prev = undefined; + bomb_cleanup(); + var_03 = anglestoforward(param_01 getplayerangles()) * 940 + anglestoup(param_01 getplayerangles()) * 120; + var_04 = param_01 geteye(); + var_05 = magicgrenademanual("iw5_dlc2burgerbomb_mp",var_04,var_03,2,param_01); +} + +//Function Number: 163 +bomb_create_killcam_ent() +{ + if(isdefined(self.killcament)) + { + self.killcament delete(); + } + + self.killcament = spawn("script_model",self.visuals[0].origin); + self.killcament linkto(self.visuals[0]); + self.killcament setcontents(0); + self.killcament setscriptmoverkillcam("explosive"); +} + +//Function Number: 164 +bomb_set_dropped(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 0; + } + + self.isresetting = 1; + self.droptime = gettime(); + self notify("dropped"); + var_01 = self.carrier; + if(isdefined(var_01) && var_01.team != "spectator") + { + var_02 = var_01.origin; + } + else + { + var_02 = self.safeorigin; + } + + var_03 = self.visuals[0]; + var_03.origin = var_02; + var_03 show(); + var_03 physicslaunchserver(var_03.origin + (0,1,0)); + level.mines[level.mines.size] = var_03; + thread bomb_fuse_short(); + bomb_carrier_cleanup(); + bomb_fx_start(); + self.ownerteam = "any"; + maps\mp\gametypes\_gameobjects::clearcarrier(); + return 1; +} + +//Function Number: 165 +bomb_carrier_cleanup() +{ + if(isdefined(self.carrier)) + { + self.carrier.nopickuptime = gettime() + 500; + self.carrier maps\mp\_utility::_unsetperk("specialty_ballcarrier"); + self.carrier common_scripts\utility::_enableusability(); + } +} + +//Function Number: 166 +bomb_dont_interpolate() +{ + self.visuals[0] dontinterpolate(); + self.bomb_fx_active = 0; +} + +//Function Number: 167 +bomb_cleanup() +{ + self notify("stop_fuse"); + bomb_fx_stop(); + self.visuals[0] dontinterpolate(); + self.bomb_fx_active = 0; + self.visuals[0] physicsstop(); + self.visuals[0].origin = (0,0,0); + level.mines = common_scripts\utility::array_remove(level.mines,self.visuals[0]); + foreach(var_01 in self.visuals) + { + var_01 delete(); + } + + self.trigger delete(); +} + +//Function Number: 168 +bomb_fx_start() +{ + if(!bomb_fx_active()) + { + var_00 = self.visuals[0]; + playfxontag(common_scripts\utility::getfx("dlc_burger_bomb_trail"),var_00,"body_animate_jnt"); + playfxontag(common_scripts\utility::getfx("ball_idle"),var_00,"body_animate_jnt"); + var_00 hudoutlineenable(0,0); + self.bomb_fx_active = 1; + } +} + +//Function Number: 169 +bomb_fx_stop() +{ + if(bomb_fx_active()) + { + var_00 = self.visuals[0]; + stopfxontag(common_scripts\utility::getfx("dlc_burger_bomb_trail"),var_00,"body_animate_jnt"); + killfxontag(common_scripts\utility::getfx("ball_idle"),var_00,"body_animate_jnt"); + killfxontag(common_scripts\utility::getfx("burger_bomb_fuse"),var_00,"tag_fx"); + var_00 hudoutlinedisable(); + var_00 stopsounds(); + } + + self.bomb_fx_active = 0; +} + +//Function Number: 170 +bomb_fx_active() +{ + return isdefined(self.bomb_fx_active) && self.bomb_fx_active; +} + +//Function Number: 171 +aud_play_bomb_bounce() +{ + if(isdefined(self)) + { + maps\mp\_audio::snd_play_in_space("wpn_clown_bomb_bounce",self.origin); + } +} + +//Function Number: 172 +aud_event_fire_bomb() +{ + maps\mp\_audio::snd_play_in_space("ct3_cannon_shot",level.launch_point.origin); +} + +//Function Number: 173 +stage15_end(param_00) +{ + level thread playbeaufordsqvo(6,3); +} + +//Function Number: 174 +stage16_init() +{ + var_00 = getent("thumb_drive_decrypted","targetname"); + var_01 = getent("thumb_drive_decrypting","targetname"); + var_01 delete(); + var_00 show(); +} + +//Function Number: 175 +playerhasdrivedecrypted() +{ + return maps\mp\zombies\_util::is_true(self.hasdrivedecrypted); +} + +//Function Number: 176 +playergivedrivedecrypted() +{ + self setclientomnvar("ui_zm_ee_int",6); + self.hasdrivedecrypted = 1; + thread playerplaysqvo(21,0.5); +} + +//Function Number: 177 +stage16_logic() +{ + var_00 = getent("thumb_drive_decrypted","targetname"); + var_01 = common_scripts\utility::getstruct("drive_decrypted_use","targetname"); + var_01 thread maps\mp\zombies\_zombies_sidequests::fake_use("acquired",undefined,undefined,"main_stage16_over",80); + var_01 waittill("acquired",var_02); + var_00 playsound("sq_drive_grab"); + var_00 delete(); + var_02 thread playergivedrivedecrypted(); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage16"); +} + +//Function Number: 178 +stage16_end(param_00) +{ +} + +//Function Number: 179 +stage17_init() +{ +} + +//Function Number: 180 +stage17_logic() +{ + level.zmbsqbeaufordnoresponse = 1; + var_00 = common_scripts\utility::getstruct("murderbot_use","targetname"); + var_00 thread maps\mp\zombies\_zombies_sidequests::fake_use("activated",::playerhasdrivedecrypted,undefined,"main_stage17_over",80); + var_00 waittill("activated",var_01); + var_01 playertakeitem("drive_decrypted"); + playsoundatpos(var_00.origin,"sq_drive_grab"); + spawn_murderbot(var_01); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage17"); +} + +//Function Number: 181 +stage17_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Beauford is loose!!"); + maps\mp\gametypes\zombies::giveplayerszombieachievement("DLC2_ZOMBIE_MEATISMURDER"); + set_side_quest_coop_data_burgertown(); +} + +//Function Number: 182 +set_side_quest_coop_data_burgertown() +{ + foreach(var_01 in level.players) + { + if(!isdefined(var_01.joinedround1) || !var_01.joinedround1) + { + continue; + } + + var_02 = var_01 getcoopplayerdatareservedint("eggData"); + var_02 = var_02 | 4; + var_01.sidequest = 1; + var_01 setcoopplayerdatareservedint("eggData",var_02); + setmatchdata("players",var_01.clientid,"startPrestige",var_01.sidequest); + } +} + +//Function Number: 183 +murderbot_test_setup() +{ + var_00 = common_scripts\utility::getstruct("murderbot_use","targetname"); + if(!isdefined(var_00)) + { + return; + } + + for(;;) + { + var_00 thread maps\mp\zombies\_zombies_sidequests::fake_use("activated",undefined,undefined,"main_stage1_over"); + var_00 waittill("activated",var_01); + if(getdvarint("scr_zombieSidequestDebug",0) == 1 && level.sidequeststarted == 0 && !isdefined(level.zmbsqmurderbotstarted) || !level.zmbsqmurderbotstarted) + { + spawn_murderbot(var_01); + } + + wait(1); + } +} + +//Function Number: 184 +beauford_greetings() +{ + level endon("main_stage16_over"); + while(!isdefined(level.players)) + { + wait 0.05; + } + + var_00 = 10000; + var_01 = common_scripts\utility::getstruct("murderbot_use","targetname"); + if(!isdefined(var_01)) + { + return; + } + + for(;;) + { + if(maps\mp\zombies\_util::is_true(level.zmbsqbeaufordnoresponse)) + { + wait 0.05; + continue; + } + + foreach(var_03 in level.players) + { + var_04 = distancesquared(var_03.origin,var_01.origin); + if(var_04 < var_00) + { + playbeaufordvo("greeting"); + wait(30); + } + } + + wait 0.05; + } +} + +//Function Number: 185 +playercanhearbeaufordresponse() +{ + return !playerhasburger() && !playerhasbatteryfull() && !playerhasdriveencrypted() && !playerhasdrivedecrypted() && !maps\mp\zombies\_util::is_true(level.zmbsqbeaufordnoresponse); +} + +//Function Number: 186 +beauford_interact() +{ + level endon("main_stage16_over"); + var_00 = common_scripts\utility::getstruct("murderbot_use","targetname"); + if(!isdefined(var_00)) + { + return; + } + + for(;;) + { + var_00 thread maps\mp\zombies\_zombies_sidequests::fake_use("activated",::playercanhearbeaufordresponse,undefined,"main_stage16_over"); + var_00 waittill("activated",var_01); + playbeaufordvo("response"); + wait(20); + } +} + +//Function Number: 187 +beauford_hit() +{ + level endon("main_stage16_over"); + var_00 = getent("murderbot_static_thumbsup","targetname"); + var_00.health = 99999; + var_00.maxhealth = 99999; + var_00 setcandamage(1); + var_00 setdamagecallbackon(1); + var_00.damagecallback = ::_beauford_hit_internal; + level.zmbsqbeaufordnexthitvo = 0; +} + +//Function Number: 188 +_beauford_hit_internal(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B) +{ + if(gettime() > level.zmbsqbeaufordnexthitvo && !maps\mp\zombies\_util::is_true(level.zmbsqbeaufordnoresponse)) + { + if(playbeaufordvo("hit")) + { + level.zmbsqbeaufordnexthitvo = gettime() + 20000; + } + } +} + +//Function Number: 189 +beauford_kills() +{ + wait 0.05; + var_00 = maps\mp\zombies\_zombies_audio_announcer::getannouncers("beauford"); + var_01 = var_00[0]; + if(!isdefined(var_01)) + { + return; + } + + level waittill("beauford_spawned",var_02); + var_02 endon("death"); + for(;;) + { + level waittill("zombie_damaged",var_03,var_04); + if(isdefined(var_04) && var_04 == var_02) + { + playbeaufordvo("killzombie"); + wait(3); + } + } +} + +//Function Number: 190 +spawn_murderbot(param_00) +{ + level.zmbsqmurderbotstarted = 1; + var_01 = getent("murderbot_animscripted","targetname"); + var_02 = getent("speaker_box","targetname"); + var_03 = getentarray("speaker_box_coll","targetname"); + var_04 = getent("bubby_clip","targetname"); + var_04 notsolid(); + var_04 delete(); + foreach(var_06 in var_03) + { + var_06 notsolid(); + var_06 delete(); + } + + var_08 = common_scripts\utility::getstruct("murderbot_start","script_noteworthy"); + var_09 = maps\mp\zombies\zombie_murderbot::spawnmurderbot(var_08,var_01,var_02); + level notify("beauford_spawned",var_09); + var_0A = maps\mp\zombies\_zombies_audio_announcer::getannouncers("beauford"); + var_0B = var_0A[0]; + if(isdefined(var_0B)) + { + var_0B linkto(var_09,"j_head",(0,0,0),(0,0,0)); + } + + level thread spawn_murderbot_vo(param_00); +} + +//Function Number: 191 +spawn_murderbot_vo(param_00) +{ + wait 0.05; + playbeaufordsqvowaitilldone(1,0.5); + wait(0.5); + if(isdefined(param_00)) + { + param_00 thread playerplaysqvo(22,0.5); + } +} + +//Function Number: 192 +init_song_sidequest() +{ + level.sq_song_ent = getent("sq_song","targetname"); + if(!isdefined(level.sq_song_ent)) + { + level.sq_song_ent = spawn("script_model",(0,0,0)); + } +} + +//Function Number: 193 +sidequest_logic_song() +{ + var_00 = 0; + var_01 = 0; + var_02 = 0; + maps\mp\zombies\_zombies_sidequests::stage_start("song","stage1"); + maps\mp\zombies\_zombies_sidequests::stage_start("song","stage2"); + maps\mp\zombies\_zombies_sidequests::stage_start("song","stage3"); + var_03 = 0; + for(;;) + { + var_04 = level common_scripts\utility::waittill_any_return_no_endon_death("song_stage1_over","song_stage2_over","song_stage3_over"); + var_03++; + if(var_03 < 3) + { + thread song_play(var_03); + continue; + } + + thread song_play(); + break; + } +} + +//Function Number: 194 +song_play(param_00) +{ + level notify("sq_song_play"); + level endon("sq_song_play"); + level endon("sq_song_stop"); + if(maps\mp\zombies\_util::is_true(level.sq_song_ent.playing)) + { + level.sq_song_ent stopsounds(); + level.sq_song_ent.playing = 0; + wait(0.2); + } + + var_01 = "zmb_mus_ee_02"; + if(!isdefined(param_00) || param_00 <= 0) + { + param_00 = musiclength("zmb_mus_ee_02"); + } + else + { + var_01 = "zmb_mus_ee_02_prvw"; + } + + level.sq_song_ent playsoundonmovingent(var_01); + level.sq_song_ent.playing = 1; + wait(param_00); + level.sq_song_ent scalevolume(0,0.2); + wait(0.2); + level.sq_song_ent stopsounds(); + level.sq_song_ent.playing = 0; + level.sq_song_ent scalevolume(1); +} + +//Function Number: 195 +song_stop() +{ + level.sq_song_ent stopsounds(); + level.sq_song_ent.playing = 0; + level notify("sq_song_stop"); +} + +//Function Number: 196 +song_fake_use(param_00,param_01,param_02) +{ + var_03 = spawnstruct(); + var_03.origin = param_00; + var_03 thread maps\mp\zombies\_zombies_sidequests::fake_use("activated",undefined,undefined,"song_stage" + param_01 + "_over",param_02); + var_03 waittill("activated",var_04); + return var_04; +} + +//Function Number: 197 +songstage1_init() +{ +} + +//Function Number: 198 +songstage1_logic() +{ + var_00 = common_scripts\utility::getstruct("song_use_1","targetname"); + var_01 = song_fake_use(var_00.origin,1); + maps\mp\zombies\_zombies_sidequests::stage_completed("song","stage1"); +} + +//Function Number: 199 +songstage1_end(param_00) +{ +} + +//Function Number: 200 +songstage2_init() +{ +} + +//Function Number: 201 +songstage2_logic() +{ + var_00 = common_scripts\utility::getstruct("song_use_2","targetname"); + var_01 = song_fake_use(var_00.origin,2); + maps\mp\zombies\_zombies_sidequests::stage_completed("song","stage2"); +} + +//Function Number: 202 +songstage2_end(param_00) +{ +} + +//Function Number: 203 +songstage3_init() +{ +} + +//Function Number: 204 +songstage3_logic() +{ + var_00 = common_scripts\utility::getstruct("song_use_3","targetname"); + var_01 = song_fake_use(var_00.origin,3); + maps\mp\zombies\_zombies_sidequests::stage_completed("song","stage3"); +} + +//Function Number: 205 +songstage3_end(param_00) +{ +} + +//Function Number: 206 +musiclength(param_00) +{ + var_01 = tablelookup(level.zmbsoundlengthpath,0,param_00,1); + if(!isdefined(var_01) || var_01 == "") + { + return 2; + } + + var_01 = int(var_01); + var_01 = var_01 * 0.001; + return var_01; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_zombie_h2o.gsc b/AW/PC/maps/mp/mp_zombie_h2o.gsc new file mode 100644 index 0000000..538e2b6 --- /dev/null +++ b/AW/PC/maps/mp/mp_zombie_h2o.gsc @@ -0,0 +1,1280 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_zombie_h2o.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 62 + * Decompile Time: 1042 ms + * Timestamp: 4/22/2024 2:19:28 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\mp\mp_zombie_h2o_precache::main(); + maps\createart\mp_zombie_h2o_art::main(); + maps\mp\mp_zombie_h2o_fx::main(); + maps\mp\_load::main(); + maps\mp\mp_zombie_h2o_lighting::main(); + maps\mp\mp_zombie_h2o_aud::main(); + maps\mp\mp_zombie_h2o_sq::init_sidequest(); + level thread common_scripts\_exploder::activate_clientside_exploder(10); + maps\mp\_compass::setupminimap("compass_map_mp_zombie_h2o"); + setdvar("r_lightGridEnableTweaks",1); + setdvar("r_lightGridIntensity",1.33); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + level.dlcleaderboardnumber = 4; + level.pickupdebugprint = 1; + level.zombiehostinit = ::maps\mp\zombies\zombie_host::init; + level.zombiedoginit = ::maps\mp\zombies\zombie_dog::init; + level.zombielevelinit = ::inith2o; + if(level.nextgen) + { + level thread flyoverbink(); + } + + level.zombies_using_civilians = 0; + level.allow_swimming = 0; + level thread maps\mp\_water::init(); + thread initzones(); + thread inittraversalsthroughdoors(); + thread initcharactermodels(); + thread inith2omutators(); + thread lightning(); + thread exo_reveal(); + thread tidalgeneratorblade(); + thread windtowerblades(); + thread ambientmantarays(); + thread onplayerfadetoblackonwaterdeath(); + thread maps\mp\zombies\_pickups_dlc3::init(); + thread maps\mp\zombies\zombie_ammo_drone::init(); + thread maps\mp\zombies\_tubes::init(); + thread maps\mp\zombies\_zombies_audio_dlc4::initdlc4audio(); + level.airdropcustomfunclevelspecific = ::airdropcustomfunc; + level.zmgetscorestreaksforschedule = ::getscorestreaksforschedule; + level.mapcustomkillstreakfunc = ::initkillstreaksformap; + level.zombieweapononplayerspawnedfunc = ::zombieweapononplayerspawned; + level.zombieweaponinitfunc = ::zombieweaponinit; + level.initmagicboxweaponsfunc = ::zombieh2oinitmagicboxweapons; + level.onstartgametypelevelfunc = ::zombieh2ostartgametypelevel; + level.calculateroundtypeoverridefunc = ::calculateroundtype; + level.calculatenextspecialround = ::calculatenextspecialround; + level.zmbteleportgrenadefindzonecustom = ::zmbteleportgrenadefindzonecustom; + level.zmdamageignoresarmor = ::maps\mp\gametypes\zombies::zmdamageignoresarmor; + level.zmteleporterinit = ::zmteleporterinit; + level.zmteleporterused = ::zmteleporterused; + level.zmteleporterroomenter = ::zmteleporterroomenter; + level.zmteleporterplayers = ::zmteleporterplayers; + level.zmteleportreadyhint = &"ZOMBIE_H2O_TELEPORT_USE"; + level.zmteleportlookarcs = [0,0,0,0]; + level.allowzombierecycle = 1; + level.recyclefullhealthzombies = 1; + level.zombieinfectedvisionset = "mp_zombie_h2o_infected"; + level.zombieinfectedvisionset2 = "mp_zombie_h2o_infected_crazy"; + level.zombieinfectedlightset = "mp_zombie_h2o_infected"; + if(!isdefined(level.ammodroneillegalzones)) + { + level.ammodroneillegalzones = []; + } + + level.ammodroneillegalzones[level.ammodroneillegalzones.size] = "bus"; + level.ammodroneillegalzones[level.ammodroneillegalzones.size] = "easter_egg"; + activatepersistentclientexploder(60); + level thread outsiderailshove(); + level thread waterfallshove(); + fixupcratepositions(); + if(level.nextgen) + { + thread spawnpatchclipfixes(); + } + + level.zmpatchshovefunc = ::zombieh2opatchshove; +} + +//Function Number: 2 +fixupcratepositions() +{ + var_00 = common_scripts\utility::getstructarray("ozCarepackagePosition","targetname"); + foreach(var_02 in var_00) + { + if(var_02.origin == (-349,-4305,-632)) + { + var_02.origin = (-355,-4305,-632); + continue; + } + + if(var_02.origin == (159,-5593,-696)) + { + var_02.origin = (159,-5598,-696); + continue; + } + + if(var_02.origin == (-857,-5265,-696)) + { + var_02.origin = (-862,-5265,-696); + } + } +} + +//Function Number: 3 +spawnpatchclipfixes() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(448,214,40),(0,28.9,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(448,214,104),(0,28.9,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(448,214,168),(0,28.9,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(448,214,232),(0,28.9,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(259,216,40),(0,-34.3,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(259,216,104),(0,-34.3,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(259,216,168),(0,-34.3,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_64_64_64",(259,216,232),(0,-34.3,0)); +} + +//Function Number: 4 +zombieh2opatchshove(param_00,param_01) +{ + if(param_01) + { + if(self.currentzone == "start" || self.currentzone == "zone_04") + { + var_02 = self getgroundentity(); + if(isdefined(var_02) && isdefined(var_02.cratetype) && var_02.cratetype == "juggernaut") + { + var_03 = randomfloat(360); + self setvelocity(anglestoforward((0,var_03,0)) * 200); + } + } + + if(self.currentzone == "zone_04" && self.origin[2] > 865 && self.origin[2] < 900 && self.origin[0] >= -1095) + { + self setvelocity((200,0,0)); + } + } +} + +//Function Number: 5 +initkillstreaksformap() +{ + thread maps\mp\zombies\killstreaks\_zombie_goliath_suit::init(); +} + +//Function Number: 6 +inith2omutators() +{ + maps\mp\zombies\_mutators::initfastmutator(); + maps\mp\zombies\_mutators::initexplodermutator(); + maps\mp\zombies\_mutators::initemzmutator(); + maps\mp\zombies\_mutators_spiked::initspikedmutator(); + maps\mp\zombies\_mutators_armor::initarmormutator(); + maps\mp\zombies\_mutators_teleport::initteleportmutator(); + maps\mp\zombies\_mutators_combo::initcombomutators(); + level.mutatortablesetupfunc = ::buildmutatortable; +} + +//Function Number: 7 +inith2o() +{ + maps\mp\zombies\zombie_boss_oz::init(); + maps\mp\zombies\killstreaks\_zombie_squadmate::init(); +} + +//Function Number: 8 +initzones() +{ + maps\mp\zombies\_zombies_zone_manager::init(); + maps\mp\zombies\_zombies_zone_manager::initializezone("start",1); + maps\mp\zombies\_zombies_zone_manager::initializezone("zone_01"); + maps\mp\zombies\_zombies_zone_manager::initializezone("zone_01a"); + maps\mp\zombies\_zombies_zone_manager::initializezone("zone_02"); + maps\mp\zombies\_zombies_zone_manager::initializezone("atrium"); + maps\mp\zombies\_zombies_zone_manager::initializezone("zone_02a"); + maps\mp\zombies\_zombies_zone_manager::initializezone("venthall"); + maps\mp\zombies\_zombies_zone_manager::initializezone("zone_03"); + maps\mp\zombies\_zombies_zone_manager::initializezone("zone_04"); + maps\mp\zombies\_zombies_zone_manager::initializezone("arena"); + maps\mp\zombies\_zombies_zone_manager::initializezone("bus"); + maps\mp\zombies\_zombies_zone_manager::initializezone("easter_egg"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("start","zone_01","start_to_zone_01"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("start","zone_02","start_to_zone_02"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("zone_01","atrium","zone_01_to_atrium"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("zone_01","zone_01a","zone_01_to_zone_01a"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("zone_02","zone_01","zone_02_to_zone_01"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("zone_02","zone_02a","zone_02_to_zone_02a"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("zone_02a","venthall","zone_02a_to_venthall"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("venthall","zone_03","venthall_to_zone_03"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("venthall","atrium","venthall_to_atrium"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("atrium","zone_04","atrium_to_zone_04"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("zone_04","easter_egg","zone_04_to_easter_egg"); + maps\mp\zombies\_zombies_zone_manager::activate(); + level.doorbitmaskarray = []; + level.doorbitmaskarray["start_to_zone_01"] = 1; + level.doorbitmaskarray["start_to_zone_02"] = 2; + level.doorbitmaskarray["zone_01_to_atrium"] = 4; + level.doorbitmaskarray["zone_01_to_zone_01a"] = 8; + level.doorbitmaskarray["zone_02_to_zone_01"] = 16; + level.doorbitmaskarray["zone_02_to_zone_02a"] = 32; + level.doorbitmaskarray["zone_02a_to_venthall"] = 64; + level.doorbitmaskarray["venthall_to_zone_03"] = 128; + level.doorbitmaskarray["venthall_to_atrium"] = 256; + level.doorbitmaskarray["atrium_to_zone_04"] = 512; + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_H2O_DOOR_TO_CONCIERGE","start_to_zone_01",0); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_H2O_DOOR_TO_LANDING","start_to_zone_01",1); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_H2O_DOOR_TO_RECEPTION","start_to_zone_02",0); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_H2O_DOOR_TO_LANDING","start_to_zone_02",1); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_H2O_DOOR_TO_RECEPTION","zone_02_to_zone_01",0); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_H2O_DOOR_TO_CONCIERGE","zone_02_to_zone_01",1); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_H2O_DOOR_TO_PROMENADE","zone_02_to_zone_02a",0); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_H2O_DOOR_TO_RECEPTION","zone_02_to_zone_02a",1); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_H2O_DOOR_TO_ANNEX","zone_02a_to_venthall",0); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_H2O_DOOR_TO_PROMENADE","zone_02a_to_venthall",1); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_H2O_DOOR_TO_ANNEX","venthall_to_zone_03",0); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_H2O_DOOR_TO_LOUNGE","venthall_to_zone_03",1); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_H2O_DOOR_TO_GALLERIA","venthall_to_atrium",0); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_H2O_DOOR_TO_ANNEX","venthall_to_atrium",1); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_H2O_DOOR_TO_GALLERIA","atrium_to_zone_04",0); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_H2O_DOOR_TO_TIDAL_GENERATOR","atrium_to_zone_04",1); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_H2O_DOOR_TO_GALLERIA","zone_01_to_atrium",0); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_H2O_DOOR_TO_GREAT_HALL","zone_01_to_atrium",1); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_H2O_DOOR_TO_SPA","zone_01_to_zone_01a",0); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_H2O_DOOR_TO_GREAT_HALL","zone_01_to_zone_01a",1); +} + +//Function Number: 9 +inittraversalsthroughdoors() +{ + level endon("game_ended"); + while(!isdefined(level.closetpathnodescalculated)) + { + wait(0.05); + } + + var_00 = getallnodes(); + var_01 = []; + foreach(var_03 in var_00) + { + if(var_03.type == "Begin") + { + var_01[var_01.size] = var_03; + } + } + + wait(0.05); + foreach(var_06 in var_01) + { + var_07 = getnode(var_06.target,"targetname"); + if(isdefined(var_06.zombieszone) && isdefined(var_07.zombieszone) && var_06.zombieszone != var_07.zombieszone) + { + var_08 = finddoorforzonepair(var_06.zombieszone,var_07.zombieszone); + var_09 = distance(var_08.origin,pointonsegmentnearesttopoint(var_06.origin,var_07.origin,var_08.origin)); + if(var_09 < 100) + { + if(!isdefined(var_08.traversalnodepairs)) + { + var_08.traversalnodepairs = []; + } + + var_08.traversalnodepairs[var_08.traversalnodepairs.size] = [var_06,var_07]; + disconnectnodepair(var_06,var_07); + } + } + } + + level.closetpathnodescalculated++; +} + +//Function Number: 10 +finddoorforzonepair(param_00,param_01) +{ + foreach(var_03 in level.zombiedoors) + { + var_04 = param_00 + "_to_" + param_01; + if(var_03.script_flag == var_04) + { + return var_03; + } + + var_04 = param_01 + "_to_" + param_00; + if(var_03.script_flag == var_04) + { + return var_03; + } + } + + return undefined; +} + +//Function Number: 11 +zmcustomdamagetriggerweapon(param_00,param_01,param_02) +{ + if(param_02 == "laser") + { + return "zombie_vaporize_mp"; + } + + return "trap_zm_mp"; +} + +//Function Number: 12 +initcharactermodels() +{ + maps\mp\zombies\_util::initializecharactermodel("security","security_guard_body","viewhands_security_guard",["security_guard_head"]); + maps\mp\zombies\_util::initializecharactermodel("exec","executive_body","viewhands_executive",["executive_head"]); + maps\mp\zombies\_util::initializecharactermodel("it","lilith_body","viewhands_lilith",["lilith_head"]); + maps\mp\zombies\_util::initializecharactermodel("pilot","pilot_body_nohelmet","viewhands_pilot_bcambell",["pilot_head"]); + maps\mp\zombies\_util::initializecharactermodel("security_exo","security_guard_body_exo","viewhands_security_guard_exo",["security_guard_head"]); + maps\mp\zombies\_util::initializecharactermodel("exec_exo","executive_body_exo","viewhands_executive_exo",["executive_head"]); + maps\mp\zombies\_util::initializecharactermodel("it_exo","lilith_body_exo","viewhands_lilith_exo",["lilith_head"]); + maps\mp\zombies\_util::initializecharactermodel("pilot_exo","pilot_body_nohelmet_exo","viewhands_pilot_bcambell_exo",["pilot_head"]); + maps\mp\zombies\_util::initializecharactermodel("security_host","security_guard_body",undefined,["security_guard_head_z"]); + maps\mp\zombies\_util::initializecharactermodel("exec_host","executive_body",undefined,["executive_head_z"]); + maps\mp\zombies\_util::initializecharactermodel("it_host","lilith_body",undefined,["lilith_head_z"]); + maps\mp\zombies\_util::initializecharactermodel("pilot_host","pilot_body_nohelmet",undefined,["pilot_head_z"]); +} + +//Function Number: 13 +airdropcustomfunc() +{ + maps\mp\killstreaks\_airdrop::addcratetype("airdrop_assault","repulsion_turret",8,::maps\mp\zombies\killstreaks\_zombie_killstreaks::killstreakcratethink,&"KILLSTREAKS_DLC3_DISRUPTOR_TURRET","zm_disruptor"); + maps\mp\killstreaks\_airdrop::addcratetype("airdrop_assault","squadmate",25,::maps\mp\zombies\killstreaks\_zombie_killstreaks::killstreakcratethink,&"ZOMBIE_SQUADMATE_SQUADMATE","zm_squadmate"); +} + +//Function Number: 14 +getscorestreaksforschedule() +{ + var_00 = []; + var_00[var_00.size] = "sentry_" + randomintrange(1,4); + var_00[var_00.size] = "drone_" + randomintrange(1,3); + var_00[var_00.size] = "money"; + var_00[var_00.size] = "camo"; + var_00[var_00.size] = "squadmate"; + var_00[var_00.size] = "repulsion_turret"; + var_00[var_00.size] = "sentry_" + randomintrange(1,4); + var_00[var_00.size] = "drone_" + randomintrange(1,3); + var_00[var_00.size] = "money"; + var_00[var_00.size] = "camo"; + var_00[var_00.size] = "squadmate"; + var_00[var_00.size] = "repulsion_turret"; + return var_00; +} + +//Function Number: 15 +zombieweapononplayerspawned() +{ + thread maps\mp\zombies\weapons\_zombie_repulsor::onplayerspawn(); + thread maps\mp\zombies\weapons\_zombie_teleport_grenade::onplayerspawn(); + thread maps\mp\zombies\weapons\_zombie_trident::onplayerspawn(); +} + +//Function Number: 16 +zombieweaponinit() +{ + maps\mp\zombies\weapons\_zombie_repulsor::init(); + maps\mp\zombies\weapons\_zombie_teleport_grenade::init(); + maps\mp\zombies\weapons\_zombie_trident::init(); +} + +//Function Number: 17 +zombieh2oinitmagicboxweapons() +{ + maps\mp\zombies\_wall_buys::addmagicboxweapon("repulsor_zombie","dlc3_repulsor_device_01_holo",&"ZOMBIE_DLC3_REPULSOR","none","none","none",2); + maps\mp\zombies\_wall_buys::addmagicboxweapon("iw5_dlcgun2zm","npc_lmg_shotgun_base_static_holo",&"ZOMBIE_WEAPONDLC2_GUN","none","none","none"); + maps\mp\zombies\_wall_buys::addmagicboxweapon("iw5_dlcgun3zm","npc_m1_irons_base_static_holo",&"ZOMBIE_WEAPONDLC3_GUN","none","none","none"); + if(level.nextgen) + { + maps\mp\zombies\_wall_buys::addmagicboxweapon("iw5_dlcgun4zm","npc_blunderbuss_base_holo",&"ZOMBIE_WEAPONDLC4_GUN","none","none","none",2); + } + + maps\mp\zombies\_wall_buys::addmagicboxweapon("iw5_tridentzm","npc_zom_trident_base_holo",&"ZOMBIE_WEAPON_TRIDENT_PICKUP","none","none","none",2); +} + +//Function Number: 18 +buildmutatortable() +{ + for(;;) + { + level.special_mutators = []; + level common_scripts\utility::waittill_any("zombie_round_countdown_started"); + var_00 = h2ogeneratepossiblemutatorsforwave(level.wavecounter); + foreach(var_03, var_02 in var_00) + { + level.special_mutators[var_03] = [::h2omutatoralwaysvalid,var_02["weight"]]; + } + + level waittill("zombie_wave_ended"); + } +} + +//Function Number: 19 +h2omutatoralwaysvalid(param_00) +{ + return 1; +} + +//Function Number: 20 +h2ogetsolowaveoffset() +{ + if(level.players.size < 2) + { + return maps\mp\zombies\zombies_spawn_manager::getsolowaveoffset(); + } + + return 0; +} + +//Function Number: 21 +h2ogeneratepossiblemutatorsforwave(param_00) +{ + param_00 = param_00 - h2ogetsolowaveoffset(); + var_01 = []; + if(param_00 < 4) + { + } + else if(param_00 == 4) + { + var_01["emz"]["weight"] = 1; + } + else if(param_00 == 5) + { + var_01["emz"]["weight"] = 1; + var_01["fast"]["weight"] = 1; + } + else if(param_00 == 6) + { + var_01["emz"]["weight"] = 2; + var_01["fast"]["weight"] = 1; + var_01["teleport"]["weight"] = 1; + } + else if(param_00 == 7) + { + var_01["emz"]["weight"] = 3; + var_01["fast"]["weight"] = 1; + var_01["teleport"]["weight"] = 1; + var_01["exploder"]["weight"] = 1; + } + else if(param_00 == 8) + { + var_01["emz"]["weight"] = 4; + var_01["fast"]["weight"] = 1; + var_01["teleport"]["weight"] = 1; + var_01["exploder"]["weight"] = 1; + var_01["armor"]["weight"] = 1; + } + else if(param_00 <= 11) + { + var_01["emz"]["weight"] = 5; + var_01["fast"]["weight"] = 1; + var_01["teleport"]["weight"] = 1; + var_01["exploder"]["weight"] = 1; + var_01["armor"]["weight"] = 1; + var_01["spiked"]["weight"] = 1; + } + else if(param_00 <= 13) + { + var_01["emz"]["weight"] = 6; + var_01["fast"]["weight"] = 1; + var_01["teleport"]["weight"] = 1; + var_01["exploder"]["weight"] = 1; + var_01["armor"]["weight"] = 1; + var_01["spiked"]["weight"] = 1; + var_01["combo_exploder_teleport"]["weight"] = 1; + } + else if(param_00 <= 15) + { + var_01["emz"]["weight"] = 4; + var_01["combo_armor_emz"]["weight"] = 2; + var_01["fast"]["weight"] = 1; + var_01["teleport"]["weight"] = 1; + var_01["exploder"]["weight"] = 1; + var_01["armor"]["weight"] = 1; + var_01["spiked"]["weight"] = 1; + var_01["combo_exploder_teleport"]["weight"] = 1; + } + else if(param_00 <= 17) + { + var_01["emz"]["weight"] = 5; + var_01["combo_armor_emz"]["weight"] = 2; + var_01["fast"]["weight"] = 1; + var_01["teleport"]["weight"] = 1; + var_01["exploder"]["weight"] = 1; + var_01["armor"]["weight"] = 1; + var_01["spiked"]["weight"] = 1; + var_01["combo_exploder_teleport"]["weight"] = 1; + var_01["combo_spike_teleport"]["weight"] = 1; + } + else if(param_00 <= 19) + { + var_01["emz"]["weight"] = 5; + var_01["combo_armor_emz"]["weight"] = 1; + var_01["combo_emz_spike"]["weight"] = 1; + var_01["fast"]["weight"] = 1; + var_01["teleport"]["weight"] = 1; + var_01["exploder"]["weight"] = 1; + var_01["armor"]["weight"] = 1; + var_01["spiked"]["weight"] = 1; + var_01["combo_exploder_teleport"]["weight"] = 1; + var_01["combo_spike_teleport"]["weight"] = 1; + } + else if(param_00 >= 20) + { + var_01["emz"]["weight"] = 6; + var_01["combo_armor_emz"]["weight"] = 3; + var_01["combo_emz_spike"]["weight"] = 3; + var_01["teleport"]["weight"] = 1; + var_01["exploder"]["weight"] = 1; + var_01["armor"]["weight"] = 1; + var_01["spiked"]["weight"] = 1; + var_01["combo_exploder_teleport"]["weight"] = 1; + var_01["combo_spike_teleport"]["weight"] = 1; + } + + return var_01; +} + +//Function Number: 22 +zombieh2ostartgametypelevel() +{ + level thread maps\mp\zombies\_teleport::init(); + level thread maps\mp\zombies\_util::outofboundswatch(0); + level thread maps\mp\zombies\traps\_trap_turrets::init(); + maps\mp\zombies\_traps::register_trap_state_models("dlc_trap_activation_console_01_no_signal","dlc_trap_activation_console_01_ready","dlc_trap_activation_console_01_active","dlc_trap_activation_console_01_cooldown"); +} + +//Function Number: 23 +initspecialstreaks() +{ +} + +//Function Number: 24 +calculateroundtype() +{ + if(isbossround(level.wavecounter)) + { + if(maps\mp\zombies\_util::isspecialround()) + { + level.specialroundcounter--; + level.specialroundnumber = level.specialroundnumber + 1; + } + + if(level.wavecounter == 13) + { + level.bossozstage = 1; + } + + if(level.wavecounter == 20) + { + level.bossozstage = 2; + } + + return "zombie_boss_oz"; + } + + if(maps\mp\zombies\_util::isspecialround()) + { + return calculatespecialroundtype(); + } + + return "normal"; +} + +//Function Number: 25 +isbossround(param_00) +{ + return param_00 == 13 || param_00 == 20; +} + +//Function Number: 26 +calculatespecialroundtype() +{ + var_00 = ["zombie_dog","zombie_host"]; + var_01 = var_00[0]; + switch(level.specialroundcounter) + { + case 1: + var_01 = "zombie_dog"; + break; + + case 2: + var_01 = "zombie_host"; + break; + + case 3: + var_01 = "zombie_dog"; + break; + + default: + if(!isdefined(level.specialroundarray) || level.specialroundindex == level.specialroundarray.size) + { + level.specialroundarray = common_scripts\utility::array_randomize(var_00); + level.specialroundindex = 0; + } + + var_01 = level.specialroundarray[level.specialroundindex]; + level.specialroundindex++; + break; + } + + return var_01; +} + +//Function Number: 27 +calculatenextspecialround() +{ + if(level.specialroundnumber < 12) + { + var_00 = level.specialroundnumber + 4; + } + else + { + var_00 = level.specialroundnumber + randomintrange(4,6); + } + + return var_00; +} + +//Function Number: 28 +zmteleporterinit(param_00,param_01) +{ + switch(param_01) + { + case "ark_device": + thread teleporter_device(param_00); + break; + + case "ark_light": + thread teleporter_light(param_00); + break; + + default: + return 0; + } + + return 1; +} + +//Function Number: 29 +zmteleporterused(param_00) +{ + if(isdefined(self.device)) + { + playfxontag(common_scripts\utility::getfx("dlc_teleport_in"),self.device,"tag_fx"); + wait(0.3); + } +} + +//Function Number: 30 +zmteleporterroomenter(param_00,param_01) +{ + if(!maps\mp\zombies\_util::is_true(param_01)) + { + common_scripts\utility::array_thread(param_00,::teleporterfx); + } +} + +//Function Number: 31 +teleporterfx() +{ + if(!isdefined(self.teleportchutefx)) + { + self.teleportchutefx = spawnfxforclient(common_scripts\utility::getfx("dlc_teleport_tunnel_player"),self.origin,self); + self.teleportchutefx thread teleportfxdelete(self); + } + + triggerfx(self.teleportchutefx); +} + +//Function Number: 32 +teleportfxdelete(param_00) +{ + self endon("death"); + param_00 waittill("disconnect"); + self delete(); +} + +//Function Number: 33 +zmteleporterplayers(param_00) +{ + foreach(var_02 in param_00) + { + if(!isdefined(var_02)) + { + continue; + } + + playfx(common_scripts\utility::getfx("teleport_post_fx"),var_02.origin,anglestoforward(var_02.angles)); + } +} + +//Function Number: 34 +teleporter_device(param_00) +{ + self.device = param_00; + param_00 hidepart("TAG_FX_ON"); + param_00 hidepart("TAG_FX_OFF"); + param_00 showpart("TAG_FX_GLOW"); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("dlc_prop_exo_teleport_pwr_off"),param_00,"tag_origin",0); + self waittill("teleportReady"); + param_00 showpart("TAG_FX_ON"); + param_00 hidepart("TAG_FX_OFF"); + param_00 hidepart("TAG_FX_GLOW"); + maps\mp\zombies\_util::stopfxontagnetwork(common_scripts\utility::getfx("dlc_prop_exo_teleport_pwr_off"),param_00,"tag_origin"); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("dlc_prop_exo_teleport_pwr_on"),param_00,"tag_origin",0); +} + +//Function Number: 35 +teleporter_light(param_00) +{ + param_00 setlightcolor((0.941176,0,0)); + param_00 setlightintensity(250); + self waittill("teleportReady"); + param_00 setlightcolor((0.501961,1,1)); + param_00 setlightintensity(3500); +} + +//Function Number: 36 +getteleporterlightcoloron() +{ + return (0.501961,1,1); +} + +//Function Number: 37 +getteleporterlightcolorstandby() +{ + return (0.941176,0,0); +} + +//Function Number: 38 +getteleporterlightcoloroff() +{ + return (0.941176,0,0); +} + +//Function Number: 39 +getteleporterlightintensityon() +{ + return (0.501961,1,1); +} + +//Function Number: 40 +getteleporterlightintensitystandby() +{ + return 250; +} + +//Function Number: 41 +getteleporterlightintensityoff() +{ + return 0.001; +} + +//Function Number: 42 +lightning() +{ + var_00 = getscriptablearray("lightning_pos","targetname"); + if(!var_00.size) + { + return; + } + + for(;;) + { + var_00 = common_scripts\utility::array_randomize(var_00); + foreach(var_02 in var_00) + { + var_02 setscriptablepartstate(0,1); + var_03 = randomfloatrange(5,7); + wait(var_03); + while(maps\mp\zombies\_util::is_true(level.zmbpauselightningflashes)) + { + wait 0.05; + } + + var_02 setscriptablepartstate(0,0); + } + + while(maps\mp\zombies\_util::is_true(level.zmbpauselightningflashes)) + { + wait 0.05; + } + + wait(0.1); + } +} + +//Function Number: 43 +exo_reveal() +{ + var_00 = getentarray("exo_glass","targetname"); + common_scripts\utility::array_thread(var_00,::exo_reveal_run); +} + +//Function Number: 44 +exo_reveal_run() +{ + if(isdefined(self.target)) + { + var_00 = getentarray(self.target,"targetname"); + foreach(var_02 in var_00) + { + var_02 linkto(self); + } + } + + level waittill("power_atrium"); + self connectpaths(); + self moveto(self.origin + (0,0,216),2); +} + +//Function Number: 45 +tidalgeneratorblade() +{ + var_00 = getent("tidal_generator_blade","targetname"); + if(!isdefined(var_00)) + { + return; + } + + var_01 = 120; + var_02 = 100; + for(;;) + { + var_00 rotatevelocity((0,var_02,0),var_01); + wait(var_01); + } +} + +//Function Number: 46 +windtowerblades() +{ + var_00 = getentarray("wind_tower_fan_front","targetname"); + common_scripts\utility::array_thread(var_00,::windtowerbladespin,(0,0,100)); + var_01 = getentarray("wind_tower_fan_back","targetname"); + common_scripts\utility::array_thread(var_01,::windtowerbladespin,(0,0,100)); +} + +//Function Number: 47 +windtowerbladespin(param_00) +{ + var_01 = 600; + for(;;) + { + self rotatevelocity(param_00,var_01); + wait(var_01); + } +} + +//Function Number: 48 +ambientmantarays() +{ + if(level.currentgen) + { + return; + } + + var_00 = common_scripts\utility::getstruct("floater_anim_node","targetname"); + if(!isdefined(var_00)) + { + return; + } + + if(!isdefined(var_00.angles)) + { + var_00.angles = (0,0,0); + } + + var_01 = spawn("script_model",(0,0,0)); + var_01 setmodel("h2o_mantaray_01_anim"); + var_01 scriptmodelplayanimdeltamotionfrompos("zom_h2o_manta_ray_flyby_01",var_00.origin,var_00.angles,"manta_ray_1"); + var_02 = spawn("script_model",(0,0,0)); + var_02 setmodel("h2o_mantaray_01_anim"); + var_02 scriptmodelplayanimdeltamotionfrompos("zom_h2o_manta_ray_flyby_02",var_00.origin,var_00.angles,"manta_ray_2"); +} + +//Function Number: 49 +onplayerfadetoblackonwaterdeath() +{ + for(;;) + { + level waittill("connected",var_00); + var_00 thread fadetoblackonwaterdeath(); + } +} + +//Function Number: 50 +fadetoblackonwaterdeath() +{ + self endon("disconnect"); + for(;;) + { + self waittill("death"); + if(isagent(self) || isbot(self)) + { + continue; + } + + if(istouchingwatertrigger()) + { + var_00 = underwateroverlay(); + thread underwateroverlaycleanup(var_00); + } + } +} + +//Function Number: 51 +istouchingwatertrigger() +{ + var_00 = getentarray("trigger_underwater","targetname"); + foreach(var_02 in var_00) + { + if(self istouching(var_02)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 52 +underwateroverlay() +{ + var_00 = newclienthudelem(self); + var_00.x = 0; + var_00.y = 0; + var_00 setshader("black",640,480); + var_00.horzalign = "fullscreen"; + var_00.vertalign = "fullscreen"; + var_00.alpha = 0; + var_00 fadeovertime(1.5); + var_00.alpha = 1; + return var_00; +} + +//Function Number: 53 +underwateroverlaycleanup(param_00) +{ + param_00 endon("death"); + common_scripts\utility::waittill_any("spawned","disconnect"); + param_00 destroy(); +} + +//Function Number: 54 +zmbteleportgrenadefindzonecustom(param_00,param_01,param_02) +{ + var_03 = 100; + var_04 = 0; + var_05 = param_02 - param_00; + var_06 = length(var_05); + var_07 = vectornormalize(var_05); + var_08 = maps\mp\zombies\_zombies_zone_manager::getplayerzone(); + if(isdefined(var_08) && var_08 == "bus") + { + return "bus"; + } + else if(isdefined(var_08) && var_08 == "arena") + { + return "arena"; + } + + for(;;) + { + var_09 = param_00 + var_07 * var_04; + var_0A = maps\mp\zombies\_zombies_zone_manager::ispointinanyzonereturn(var_09,1); + if(isdefined(var_0A) && maps\mp\zombies\_zombies_zone_manager::iszoneenabled(var_0A)) + { + if(var_0A != "bus" && var_0A != "arena") + { + return var_0A; + } + } + + if(var_04 == var_06) + { + break; + } + + var_04 = var_04 + var_03; + if(var_04 > var_06) + { + var_04 = var_06; + } + } + + if(isdefined(var_08)) + { + return var_08; + } +} + +//Function Number: 55 +flyoverbink() +{ + var_00 = "zombie_bink_env_camera_DLC4"; + var_01 = "scr_" + var_00; + setdvar(var_01,0); + var_02 = "devgui_cmd \"Zombie:2/Toggle Flyover Binks/" + var_00 + "\" \"togglep " + var_01 + " 0 1\";"; + thread setupflyoveranimation("zombie_bink_env_camera_DLC4","j_prop_1",[],var_01); +} + +//Function Number: 56 +setupflyoveranimation(param_00,param_01,param_02,param_03) +{ + var_04 = common_scripts\utility::getstruct("floater_anim_node","targetname"); + if(!isdefined(var_04)) + { + return; + } + + if(!isdefined(var_04.angles)) + { + var_04.angles = (0,0,0); + } + + if(!isdefined(param_02)) + { + param_02 = []; + } + + while(getdvarint(param_03,0) == 0) + { + wait 0.05; + } + + setdvar("lui_enabled",0); + setdvar("cg_drawBuildname",0); + setdvar("cg_drawMapBuildInfo",0); + setdvar("cg_drawversion",0); + setdvar("cg_drawviewpos",0); + setdvar("cg_fovScale",1.1); + level.zombiegamepaused = 1; + var_05 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + foreach(var_07 in var_05) + { + var_07.bypasscorpse = 1; + var_07 dodamage(var_07.health + 500000,var_07.origin,level.players[0],undefined,"MOD_EXPLOSIVE","repulsor_zombie_mp"); + } + + wait(2); + var_09 = spawn("script_model",(0,0,0)); + var_09 setmodel("genericprop_x3"); + var_0A = spawn("script_model",(0,0,0)); + var_0A setmodel("tag_player"); + var_0A vehicle_jetbikesethoverforcescale(var_09,param_01,(0,0,0),(0,0,0)); + for(;;) + { + while(getdvarint(param_03,0) == 0) + { + wait 0.05; + } + + level.player playerlinkweaponviewtodelta(var_0A,"tag_player",1,0,0,0,0,1); + level.player playerlinkedsetviewznear(0); + level.player hide(); + var_09 scriptmodelplayanimdeltamotionfrompos(param_00,var_04.origin,var_04.angles,"camera_notetrack"); + foreach(var_0C in param_02) + { + level thread donotetrack(var_09,"camera_notetrack",var_0C); + } + + wait(1); + while(getdvarint(param_03,0) == 1) + { + wait 0.05; + } + + var_09 notify("notetrackDone"); + level.player show(); + level.player unlink(); + var_09 scriptmodelclearanim(); + wait(1); + } +} + +//Function Number: 57 +donotetrack(param_00,param_01,param_02,param_03) +{ + param_00 endon("notetrackDone"); + param_00 waittillmatch(param_02,param_01); + if(param_02 == "trigger_decontamination") + { + } + else if(param_02 == "open_doors") + { + } + + level notify(param_02); +} + +//Function Number: 58 +setupscriptmodelanimation(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = common_scripts\utility::getstruct("env_bink_anim_node","targetname"); + if(!isdefined(var_05)) + { + var_05 = spawnstruct(); + var_05.origin = (0,3584,88); + } + + if(!isdefined(var_05.angles)) + { + var_05.angles = (0,0,0); + } + + if(!isdefined(param_03)) + { + param_03 = []; + } + + var_06 = spawn("script_model",(0,0,0)); + var_06 setmodel(param_01); + for(;;) + { + while(getdvarint(param_04,0) == 0) + { + wait 0.05; + } + + if(isdefined(param_02)) + { + level waittill(param_02); + } + + var_06 scriptmodelplayanimdeltamotionfrompos(param_00,var_05.origin,var_05.angles,"ent_notetrack"); + foreach(var_08 in param_03) + { + level thread donotetrack(var_06,"ent_notetrack",var_08); + } + + wait(1); + while(getdvarint(param_04,0) == 1) + { + wait 0.05; + } + + var_06 notify("notetrackDone"); + var_06 scriptmodelclearanim(); + wait(1); + } +} + +//Function Number: 59 +outsiderailshove() +{ + level waittill("player_spawned"); + for(;;) + { + foreach(var_01 in level.players) + { + if(var_01 playerisonarailing()) + { + if(maps\mp\zombies\_util::is_true(var_01.onoutsiderail)) + { + var_02 = var_01 playergetnearestnode(); + if(isdefined(var_02)) + { + var_03 = vectornormalize(var_02.origin - var_01.origin * (1,1,0)); + var_01 setvelocity(var_03 * 200); + } + } + else + { + var_01.onoutsiderail = 1; + } + + continue; + } + + var_01.onoutsiderail = undefined; + } + + wait(0.1); + } +} + +//Function Number: 60 +playerisonarailing() +{ + if(self.origin[2] > 688 && self.origin[2] < 689) + { + return 0; + } + else if(self.origin[2] > 712 && self.origin[2] < 713) + { + return 0; + } + else if(!self isonground() || self isjumping()) + { + return 0; + } + + var_00 = getentarray("railing_exploit","targetname"); + if(var_00.size > 0) + { + foreach(var_02 in var_00) + { + if(self istouching(var_02)) + { + return 1; + } + } + + return 0; + } + + if(self.origin[2] > 758 && self.origin[2] < 759 && self.origin[1] > -700 && self.origin[1] < 500 && self.origin[0] > -900 && self.origin[0] < 700) + { + return 1; + } + + if(self.origin[2] > 738 && self.origin[2] < 739 && self.origin[1] > 4500 && self.origin[1] < 5100 && self.origin[0] > -2000 && self.origin[0] < -1300) + { + return 1; + } + + return 0; +} + +//Function Number: 61 +playergetnearestnode() +{ + var_00 = self getnearestnode(); + if(!isdefined(var_00)) + { + var_01 = getnodesinradiussorted(self.origin,256,0); + if(var_01.size > 0) + { + var_00 = var_01[0]; + } + } + + return var_00; +} + +//Function Number: 62 +waterfallshove() +{ + var_00 = anglestoforward((0,150,0)); + level waittill("player_spawned"); + for(;;) + { + foreach(var_02 in level.players) + { + if(var_02.origin[2] > 88 && var_02.origin[2] < 89 && var_02.origin[1] > 940 && var_02.origin[1] < 1010 && var_02.origin[0] > 1230 && var_02.origin[0] < 1255) + { + if(maps\mp\zombies\_util::is_true(var_02.onwaterfalledge)) + { + var_02 setvelocity(var_00 * 150); + } + else + { + var_02.onwaterfalledge = 1; + } + + continue; + } + + var_02.onwaterfalledge = undefined; + } + + wait(0.1); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_zombie_h2o_aud.gsc b/AW/PC/maps/mp/mp_zombie_h2o_aud.gsc new file mode 100644 index 0000000..7fee8f8 --- /dev/null +++ b/AW/PC/maps/mp/mp_zombie_h2o_aud.gsc @@ -0,0 +1,322 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_zombie_h2o_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 38 + * Decompile Time: 574 ms + * Timestamp: 4/22/2024 2:19:30 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.customzombiemusicstates = ::customzombiemusicstates; + thread onplayerconnectedaudio(); + thread h2o_lobby_music(); +} + +//Function Number: 2 +onplayerconnectedaudio() +{ + for(;;) + { + level waittill("connected",var_00); + var_00 clientaddsoundsubmix("master_mix"); + } +} + +//Function Number: 3 +h2o_lobby_music() +{ + wait(10); + for(;;) + { + playsoundatpos((-1021,1613,206),"h2o_lobby_music_loc1"); + playsoundatpos((1008,2095,243),"h2o_lobby_music_loc2"); + wait(50); + } +} + +//Function Number: 4 +customzombiemusicstates() +{ + level thread maps\mp\zombies\_zombies_music::setupmusicstate(0,"round_start_hard_mode","zmb_mus_nightmare_01",0,0,0.5,0); + level thread maps\mp\zombies\_zombies_music::setupmusicstate(1,"round_zombie_boss_oz_stage1",["zmb_mus_bossfight_01"],0,1,1,1); + level thread maps\mp\zombies\_zombies_music::setupmusicstate(1,"round_zombie_boss_oz_stage2",["zmb_mus_bossfight_02"],0,1,1,1); + level thread maps\mp\zombies\_zombies_music::setupmusicstate(1,"ee_bus_end",["zmb_mus_postround"],0,1,1,0); +} + +//Function Number: 5 +sndbossozstartstage1() +{ + foreach(var_01 in level.players) + { + var_01 clientaddsoundsubmix("boss_oz"); + } + + level waittill("teleport_players_back"); + foreach(var_01 in level.players) + { + var_01 clientclearsoundsubmix("boss_oz"); + } +} + +//Function Number: 6 +sndbossozstartstage2() +{ + foreach(var_01 in level.players) + { + var_01 clientaddsoundsubmix("boss_oz_2"); + } + + level waittill("boss_oz_killed"); + foreach(var_01 in level.players) + { + var_01 clientclearsoundsubmix("boss_oz_2"); + } +} + +//Function Number: 7 +sndbossozfire(param_00) +{ + var_01 = spawn("script_origin",param_00); + var_01 playloopsound("boss_fire_large"); +} + +//Function Number: 8 +sndtubestart(param_00,param_01) +{ + param_01 playlocalsound("evt_transit_tube_plr"); + var_02 = spawn("script_origin",param_00.origin); + var_02 playsoundtoteam("evt_transit_tube_start_npc","allies",param_01); + wait(4); + var_02 delete(); +} + +//Function Number: 9 +sndtubeend(param_00,param_01) +{ + var_02 = spawn("script_origin",param_00); + wait(0.5); + var_02 playsoundtoteam("evt_transit_tube_stop_npc","allies",param_01); + wait(4); + var_02 delete(); +} + +//Function Number: 10 +sndvalvelight(param_00) +{ + var_01 = param_00 + (0,0,20); + playsoundatpos(var_01,"ee_marker_light_off"); + var_02 = spawn("script_origin",var_01); + var_02 playloopsound("ee_lightbulb_buzz_int_lp"); +} + +//Function Number: 11 +sndcomputerloop() +{ + var_00 = spawn("script_origin",(-1781,5415,448)); + var_00 playloopsound("ee_computer_loop"); +} + +//Function Number: 12 +sndcomputeracknowledge(param_00) +{ + playsoundatpos(param_00,"ee_pad_activated"); +} + +//Function Number: 13 +sndcomputerfail(param_00) +{ + playsoundatpos(param_00,"ee_computer_negative"); +} + +//Function Number: 14 +snddepressurizeloopstart(param_00) +{ + param_00 endon("depressurize_cancelled"); + playsoundatpos(param_00.origin,"ee_depressurize_start"); + wait(1); + param_00 playloopsound("ee_depressurize_loop"); +} + +//Function Number: 15 +snddepressurizeloopend(param_00) +{ + param_00 notify("depressurize_cancelled"); + param_00 stoploopsound("ee_depressurize_loop"); + playsoundatpos(param_00.origin,"ee_depressurize_loop_end"); +} + +//Function Number: 16 +snddepressurizecomplete(param_00) +{ + playsoundatpos(param_00.origin,"ee_depressurize_loop_end"); + playsoundatpos(param_00.origin,"ee_depressurize_end"); +} + +//Function Number: 17 +sndairlockdoorinteract(param_00) +{ + playsoundatpos(param_00,"ee_door_locked"); +} + +//Function Number: 18 +sndfillwithwater() +{ + wait(0.5); + playsoundatpos((2435,2183,86),"ee_depressurize_room_fill"); +} + +//Function Number: 19 +snddrainwater() +{ + wait(0.65); + playsoundatpos((2435,2183,86),"ee_depressurize_room_drain"); +} + +//Function Number: 20 +sndunderwaterenter(param_00) +{ + param_00 setclienttriggeraudiozonelerp("underwater","underwater",0); + param_00 playlocalsound("ee_underwater_enter"); +} + +//Function Number: 21 +sndunderwaterexit(param_00) +{ + if(isalive(param_00)) + { + param_00 playlocalsound("ee_underwater_exit"); + } + + param_00 clearclienttriggeraudiozone(0); +} + +//Function Number: 22 +sndunderwaterpanelaccessed(param_00) +{ + playsoundatpos(param_00,"ee_underwater_panel"); +} + +//Function Number: 23 +sndbouncingenergypuzzlesuccess(param_00) +{ + playsoundatpos(param_00,"sentry_explode"); +} + +//Function Number: 24 +sndcapacitorcoverblownoff(param_00) +{ + playsoundatpos(param_00,"ee_capacitor_cover_blown"); +} + +//Function Number: 25 +sndcapacitorcharging(param_00) +{ + wait(0.3); + playsoundatpos((-796,2631,-64),"ee_capacitor_charging_" + param_00); +} + +//Function Number: 26 +sndcapacitorchargedsuccess(param_00) +{ + playsoundatpos(param_00.origin,"ee_capacitor_charged"); + wait(1.5); + thread common_scripts\utility::play_loopsound_in_space("ee_capacitor_electricity_loop",param_00.origin); +} + +//Function Number: 27 +sndjumpingpuzzlesucess(param_00) +{ + wait(0.5); + param_00 playlocalsound("ee_step_success"); +} + +//Function Number: 28 +sndjumpingpuzzleplatformlock(param_00) +{ + playsoundatpos(param_00,"ee_jumping_platform_lock"); +} + +//Function Number: 29 +sndjumpingpuzzleplatformwhoosh() +{ + playsoundatpos((-1203,75,842),"ee_jumping_platform_whoosh"); +} + +//Function Number: 30 +sndjumpingpuzzleplayerwhoosh() +{ + self playsoundtoplayer("ee_jumping_platform_player_whoosh",self); +} + +//Function Number: 31 +sndlightpuzzle(param_00,param_01) +{ + playsoundatpos(param_00,param_01); +} + +//Function Number: 32 +sndlightpuzzlefail() +{ + playsoundatpos((617,367,290),"ee_puzzle_beep_fail"); +} + +//Function Number: 33 +sndlightpuzzlesuccess() +{ + playsoundatpos((617,367,290),"ee_puzzle_beep_success"); + foreach(var_01 in level.players) + { + var_01 playlocalsound("ee_step_success"); + } +} + +//Function Number: 34 +sndcounterdigitflip(param_00) +{ + playsoundatpos(param_00,"ee_counter_flip"); +} + +//Function Number: 35 +sndcounterdigitsuccess() +{ + foreach(var_01 in level.players) + { + var_01 playlocalsound("ee_step_success"); + } +} + +//Function Number: 36 +sndusememorymachine(param_00) +{ + playsoundatpos(param_00.origin,"ee_computer_use"); + maps\mp\zombies\_zombies_music::disablemusicstatechanges(); +} + +//Function Number: 37 +sndteleporttobuszone() +{ + self endon("disconnect"); + self setclienttriggeraudiozonelerp("mp_zombie_h2o_bus_sequence","mp_zombie_h2o_bus_sequence",0); + level waittill("sq_teleport_players_back"); + self clearclienttriggeraudiozone(); +} + +//Function Number: 38 +sndbusmusic() +{ + var_00 = spawn("script_origin",(0,0,0)); + level waittill("sq_player_teleport_to_bus_zone"); + wait(0.5); + var_00 playloopsound("zmb_mus_memory_bus"); + level waittill("sq_teleport_players_back"); + maps\mp\zombies\_zombies_music::enablemusicstatechanges(); + wait(5.7); + maps\mp\zombies\_zombies_music::changezombiemusic("ee_bus_end"); + var_00 scalevolume(0,2); + wait(2.3); + var_00 delete(); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_zombie_h2o_fx.gsc b/AW/PC/maps/mp/mp_zombie_h2o_fx.gsc new file mode 100644 index 0000000..780a0d5 --- /dev/null +++ b/AW/PC/maps/mp/mp_zombie_h2o_fx.gsc @@ -0,0 +1,120 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_zombie_h2o_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 50 ms + * Timestamp: 4/22/2024 2:19:30 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["h2o_blood_drip_splash_impact_lp"] = loadfx("vfx/map/mp_zombie_h2o/h2o_blood_drip_splash_impact_lp"); + level._effect["h2o_light_vol_smoke_closets_white_dim"] = loadfx("vfx/map/mp_zombie_h2o/h2o_light_vol_smoke_closets_white_dim"); + level._effect["h2o_blood_drips_dark_lp"] = loadfx("vfx/map/mp_zombie_h2o/h2o_blood_drips_dark_lp"); + level._effect["h2o_blood_drips_lp"] = loadfx("vfx/map/mp_zombie_h2o/h2o_blood_drips_lp"); + level._effect["h2o_light_vol_smoke_closets_xtra_dim"] = loadfx("vfx/map/mp_zombie_h2o/h2o_light_vol_smoke_closets_xtra_dim"); + level._effect["h2o_whale_holo_project"] = loadfx("vfx/map/mp_zombie_h2o/h2o_whale_holo_project"); + level._effect["h2o_whale_holo"] = loadfx("vfx/map/mp_zombie_h2o/h2o_whale_holo"); + level._effect["h2o_electrical_sparks_runner_slit_sm"] = loadfx("vfx/map/mp_zombie_h2o/h2o_electrical_sparks_runner_slit_sm"); + level._effect["h2o_water_edge_splashes_bright"] = loadfx("vfx/map/mp_zombie_h2o/h2o_water_edge_splashes_bright"); + level._effect["h2o_steam_ambient_vents"] = loadfx("vfx/map/mp_zombie_ark/h2o_steam_ambient_vents"); + level._effect["ark_steam_ambient_vents"] = loadfx("vfx/map/mp_zombie_ark/ark_steam_ambient_vents"); + level._effect["h2o_particle_bubbles_sm"] = loadfx("vfx/map/mp_zombie_h2o/h2o_particle_bubbles_sm"); + level._effect["h2o_deck_mist_static"] = loadfx("vfx/map/mp_zombie_h2o/h2o_deck_mist_static"); + level._effect["h2o_ee_capacitor_charge_hint_lp"] = loadfx("vfx/map/mp_zombie_h2o/h2o_ee_capacitor_charge_hint_lp"); + level._effect["h2o_ee_capacitor_charge"] = loadfx("vfx/map/mp_zombie_h2o/h2o_ee_capacitor_charge"); + level._effect["h2o_mp_hr2_water_spray_narrow"] = loadfx("vfx/map/mp_zombie_h2o/h2o_mp_hr2_water_spray_narrow"); + level._effect["h2o_underwater_vent_bubbles_lp"] = loadfx("vfx/map/mp_zombie_h2o/h2o_underwater_vent_bubbles_lp"); + level._effect["ark_mp_hr2_water_spray_narrow"] = loadfx("vfx/map/mp_zombie_ark/ark_mp_hr2_water_spray_narrow"); + level._effect["h2o_rain_splash_xsm_lp"] = loadfx("vfx/map/mp_zombie_h2o/h2o_rain_splash_xsm_lp"); + level._effect["h2o_blood_drip_chum"] = loadfx("vfx/map/mp_zombie_h2o/h2o_blood_drip_chum"); + level._effect["h2o_jellyfish_sm"] = loadfx("vfx/map/mp_zombie_h2o/h2o_jellyfish_sm"); + level._effect["h2o_jellyfish_02_sm"] = loadfx("vfx/map/mp_zombie_h2o/h2o_jellyfish_02_sm"); + level._effect["h2o_water_bubble_column_narrow_lp"] = loadfx("vfx/map/mp_zombie_h2o/h2o_water_bubble_column_narrow_lp"); + level._effect["h2o_jellyfish_02"] = loadfx("vfx/map/mp_zombie_h2o/h2o_jellyfish_02"); + level._effect["h2o_jellyfish"] = loadfx("vfx/map/mp_zombie_h2o/h2o_jellyfish"); + level._effect["h2o_ee_underwater_valve_flare_on"] = loadfx("vfx/lights/mp_zombie_h2o/h2o_ee_underwater_valve_flare_on"); + level._effect["h2o_ee_underwater_valve_flare_off"] = loadfx("vfx/lights/mp_zombie_h2o/h2o_ee_underwater_valve_flare_off"); + level._effect["h2o_light_vol_smoke_closets_dim"] = loadfx("vfx/map/mp_zombie_h2o/h2o_light_vol_smoke_closets_dim"); + level._effect["h2o_dmg_fire_box"] = loadfx("vfx/map/mp_zombie_h2o/h2o_dmg_fire_box"); + level._effect["h2o_courtyard_flare_warm"] = loadfx("vfx/map/mp_zombie_h2o/h2o_courtyard_flare_warm"); + level._effect["h2o_particle_bubbles_reef_column"] = loadfx("vfx/map/mp_zombie_h2o/h2o_particle_bubbles_reef_column"); + level._effect["electrical_sparks_runner_slit_sm"] = loadfx("vfx/explosion/electrical_sparks_runner_slit_sm"); + level._effect["h2o_waterfall_splashes_3_lp"] = loadfx("vfx/map/mp_zombie_h2o/h2o_waterfall_splashes_3_lp"); + level._effect["h2o_deck_lamp_flare"] = loadfx("vfx/map/mp_zombie_h2o/h2o_deck_lamp_flare"); + level._effect["h2o_waterfall_splashes_2_lp"] = loadfx("vfx/map/mp_zombie_h2o/h2o_waterfall_splashes_2_lp"); + level._effect["h2o_particle_bubbles_short"] = loadfx("vfx/map/mp_zombie_h2o/h2o_particle_bubbles_short"); + level._effect["h2o_turbine_splashes"] = loadfx("vfx/map/mp_zombie_h2o/h2o_turbine_splashes"); + level._effect["h2o_fire_lp_m_base_calm"] = loadfx("vfx/map/mp_zombie_h2o/h2o_fire_lp_m_base_calm"); + level._effect["h2o_fire_lp_s_base_calm"] = loadfx("vfx/map/mp_zombie_h2o/h2o_fire_lp_s_base_calm"); + level._effect["h2o_distant_lightning_bolt_sm"] = loadfx("vfx/map/mp_zombie_h2o/h2o_distant_lightning_bolt_sm"); + level._effect["h2o_fire_lp_l_base_calm"] = loadfx("vfx/map/mp_zombie_h2o/h2o_fire_lp_l_base_calm"); + level._effect["h2o_screen_rain"] = loadfx("vfx/map/mp_zombie_h2o/h2o_screen_rain"); + level._effect["h2o_beacon_light_trident_tower_blink"] = loadfx("vfx/map/mp_zombie_h2o/h2o_beacon_light_trident_tower_blink"); + level._effect["h2o_beacon_light_red_blink_runner"] = loadfx("vfx/map/mp_zombie_h2o/h2o_beacon_light_red_blink_runner"); + level._effect["h2o_beacon_light_red_blink"] = loadfx("vfx/map/mp_zombie_h2o/h2o_beacon_light_red_blink"); + level._effect["h2o_water_stairs_splashes_lp"] = loadfx("vfx/map/mp_zombie_h2o/h2o_water_stairs_splashes_lp"); + level._effect["h2o_flare_a_bright"] = loadfx("vfx/lights/mp_zombie_h2o/h2o_flare_a_bright"); + level._effect["h2o_flare_c"] = loadfx("vfx/lights/mp_zombie_h2o/h2o_flare_c"); + level._effect["h2o_flare_b"] = loadfx("vfx/lights/mp_zombie_h2o/h2o_flare_b"); + level._effect["h2o_flare_a"] = loadfx("vfx/lights/mp_zombie_h2o/h2o_flare_a"); + level._effect["h2o_particle_bubbles_bright"] = loadfx("vfx/map/mp_zombie_h2o/h2o_particle_bubbles_bright"); + level._effect["h2o_particle_bubbles_dim"] = loadfx("vfx/map/mp_zombie_h2o/h2o_particle_bubbles_dim"); + level._effect["h2o_water_bubble_column_thin_lp"] = loadfx("vfx/map/mp_zombie_h2o/h2o_water_bubble_column_thin_lp"); + level._effect["h2o_particle_bubbles_lg"] = loadfx("vfx/map/mp_zombie_h2o/h2o_particle_bubbles_lg"); + level._effect["h2o_particle_bubbles"] = loadfx("vfx/map/mp_zombie_h2o/h2o_particle_bubbles"); + if(level.nextgen) + { + level._effect["h2o_underwater_waves_crashing_calm"] = loadfx("vfx/map/mp_zombie_h2o/h2o_underwater_waves_crashing_calm"); + level._effect["h2o_underwater_waves_crashing"] = loadfx("vfx/map/mp_zombie_h2o/h2o_underwater_waves_crashing"); + } + + level._effect["h2o_sprinkler_splash_lp"] = loadfx("vfx/map/mp_zombie_h2o/h2o_sprinkler_splash_lp"); + level._effect["h2o_sprinkler_splash"] = loadfx("vfx/map/mp_zombie_h2o/h2o_sprinkler_splash"); + level._effect["h2o_wavebreak_med_lp"] = loadfx("vfx/map/mp_zombie_h2o/h2o_wavebreak_med_lp"); + level._effect["h2o_wave_hit_large_runner"] = loadfx("vfx/map/mp_zombie_h2o/h2o_wave_hit_large_runner"); + level._effect["h2o_rain_splash_sm_lp"] = loadfx("vfx/map/mp_zombie_h2o/h2o_rain_splash_sm_lp"); + level._effect["h2o_ee_steam_vents"] = loadfx("vfx/map/mp_zombie_h2o/h2o_ee_steam_vents"); + level._effect["h2o_ee_valve_light_flare"] = loadfx("vfx/lights/mp_zombie_h2o/h2o_ee_valve_light_flare"); + level._effect["h2o_ee_capacitor_charge_complete"] = loadfx("vfx/map/mp_zombie_h2o/h2o_ee_capacitor_charge_complete"); + level._effect["h2o_ocean_splashes"] = loadfx("vfx/map/mp_zombie_h2o/h2o_ocean_splashes"); + level._effect["h2o_water_edge_splashes_sm"] = loadfx("vfx/map/mp_zombie_h2o/h2o_water_edge_splashes_sm"); + level._effect["h2o_water_edge_splashes"] = loadfx("vfx/map/mp_zombie_h2o/h2o_water_edge_splashes"); + level._effect["h2o_waterfall_ripples_lp"] = loadfx("vfx/map/mp_zombie_h2o/h2o_waterfall_ripples_lp"); + level._effect["h2o_waterfall_splashes"] = loadfx("vfx/map/mp_zombie_h2o/h2o_waterfall_splashes"); + level._effect["h2o_boss_laser_grid_active"] = loadfx("vfx/map/mp_zombie_h2o/h2o_boss_laser_grid_active"); + level._effect["h2o_boss_laser_grid_warning"] = loadfx("vfx/map/mp_zombie_h2o/h2o_boss_laser_grid_warning"); + level._effect["h2o_boss_contam_1"] = loadfx("vfx/map/mp_zombie_h2o/h2o_boss_contam_1"); + level._effect["h2o_lightning_cloud_a"] = loadfx("vfx/map/mp_zombie_h2o/h2o_lightning_cloud_a"); + level._effect["h2o_distant_lightning_bolt"] = loadfx("vfx/map/mp_zombie_h2o/h2o_distant_lightning_bolt"); + level._effect["rain_volume_windy_zm_h2o"] = loadfx("vfx/map/mp_zombie_h2o/rain_volume_windy_zm_h2o"); + level._effect["h2o_water_bubble_column_runner_lp"] = loadfx("vfx/map/mp_zombie_h2o/h2o_water_bubble_column_runner_lp"); + level._effect["h2o_underwater_particles_lp"] = loadfx("vfx/map/mp_zombie_h2o/h2o_underwater_particles_lp"); + level._effect["ark_light_vol_smoke_closets"] = loadfx("vfx/map/mp_zombie_ark/ark_light_vol_smoke_closets"); + level._effect["h2o_light_vol_smoke_closets"] = loadfx("vfx/map/mp_zombie_h2o/h2o_light_vol_smoke_closets"); + level._effect["wind_gust_river_mist_ark"] = loadfx("vfx/wind/wind_gust_river_mist_ark"); + level._effect["brg_dust_mote_ambient_interior"] = loadfx("vfx/map/mp_zombie_brg/brg_dust_mote_ambient_interior"); + level._effect["ie_underwater_godrays"] = loadfx("vfx/lights/irons_estate/ie_underwater_godrays"); + level._effect["station_upgrade_exo_tactarmor_pwr_on"] = loadfx("vfx/props/dlc_prop_exo_upg_icon_stock_pwr_on"); + level._effect["station_upgrade_exo_tactarmor_pwr_off"] = loadfx("vfx/props/dlc_prop_exo_upg_icon_stock_pwr_off"); + level._effect["h2o_clouds_moving_fast"] = loadfx("vfx/map/mp_zombie_h2o/h2o_clouds_moving_fast"); + level._effect["turret_distortion"] = loadfx("vfx/muzzleflash/dlc_sentry_disruptor_wave"); + level._effect["dlc_courtyard_flare_warm"] = loadfx("vfx/map/dlc_mp_zombie_lab/dlc_courtyard_flare_warm"); + level._effect["dlc_courtyard_tower_firefall"] = loadfx("vfx/map/dlc_mp_zombie_lab/dlc_courtyard_tower_firefall"); + level._effect["dlc_damage_sparks_lp"] = loadfx("vfx/map/dlc_mp_zombie_lab/dlc_damage_sparks_lp"); + level._effect["dlc_dmg_fire_box"] = loadfx("vfx/fire/dlc_dmg_fire_box"); + level._effect["dlc_flare_light_spot_6_red_sm"] = loadfx("vfx/lensflare/dlc/dlc_flare_light_spot_6_red_sm"); + level._effect["dlc_flare_mist"] = loadfx("vfx/map/dlc_mp_zombie_lab/dlc_flare_mist"); + level._effect["dlc_raindrop_rings_area"] = loadfx("vfx/rain/dlc_raindrop_rings_area"); + level._effect["zombie_lab_crashed_vtol"] = loadfx("vfx/smoke/zombie_lab_crashed_vtol"); + level._effect["zombie_lab_rain_small_outside"] = loadfx("vfx/rain/zombie_lab_rain_small_outside"); + level._effect["h2o_zap_active"] = loadfx("vfx/map/mp_dam/electrical_arc_coil_cg"); + level._effect["zombie_eye_host_pilot"] = loadfx("vfx/gameplay/mp/zombie/dlc_campbell_eyes_host"); + level._effect["dlc_teleport_in"] = loadfx("vfx/unique/dlc_teleport_in"); + level._effect["dlc_teleport_tunnel_player"] = loadfx("vfx/unique/dlc_teleport_tunnel_player"); + level._effect["dlc_prop_exo_teleport_pwr_off"] = loadfx("vfx/props/dlc_prop_exo_teleport_pwr_off"); + level._effect["dlc_prop_exo_teleport_pwr_on"] = loadfx("vfx/props/dlc_prop_exo_teleport_pwr_on"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_zombie_h2o_lighting.gsc b/AW/PC/maps/mp/mp_zombie_h2o_lighting.gsc new file mode 100644 index 0000000..9e47bea --- /dev/null +++ b/AW/PC/maps/mp/mp_zombie_h2o_lighting.gsc @@ -0,0 +1,29 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_zombie_h2o_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 40 ms + * Timestamp: 4/22/2024 2:19:31 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setdvar("r_gunSightColorEntityScale","7"); + setdvar("r_gunSightColorNoneScale","0.8"); +} + +//Function Number: 2 +set_level_lighting_values() +{ + if(isusinghdr()) + { + for(;;) + { + level waittill("connected",var_00); + var_00 setclientdvars("r_tonemap","1"); + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_zombie_h2o_precache.gsc b/AW/PC/maps/mp/mp_zombie_h2o_precache.gsc new file mode 100644 index 0000000..7b89fb6 --- /dev/null +++ b/AW/PC/maps/mp/mp_zombie_h2o_precache.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_zombie_h2o_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:19:31 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_zombie_h2o_sq.gsc b/AW/PC/maps/mp/mp_zombie_h2o_sq.gsc new file mode 100644 index 0000000..61fc0f1 --- /dev/null +++ b/AW/PC/maps/mp/mp_zombie_h2o_sq.gsc @@ -0,0 +1,6375 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_zombie_h2o_sq.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 299 + * Decompile Time: 4457 ms + * Timestamp: 4/22/2024 2:19:45 AM +*******************************************************************/ + +//Function Number: 1 +init_sidequest() +{ + maps\mp\zombies\_zombies_sidequests::declare_sidequest("main",::init_main_sidequest,::sidequest_logic,::complete_sidequest,::generic_stage_start,::generic_stage_complete); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage1",::stage1_init,::stage1_logic,::stage1_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage2",::stage2_init,::stage2_logic,::stage2_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage3",::stage3_init,::stage3_logic,::stage3_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage4",::stage4_init,::stage4_logic,::stage4_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage5",::stage5_init,::stage5_logic,::stage5_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage7",::stage7_init,::stage7_logic,::stage7_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage8",::stage8_init,::stage8_logic,::stage8_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage9",::stage9_init,::stage9_logic,::stage9_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage10",::stage10_init,::stage10_logic,::stage10_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage11",::stage11_init,::stage11_logic,::stage11_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage12",::stage12_init,::stage12_logic,::stage12_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage13",::stage13_init,::stage13_logic,::stage13_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage14",::stage14_init,::stage14_logic,::stage14_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage15",::stage15_init,::stage15_logic,::stage15_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest("song",::init_song_sidequest,::sidequest_logic_song); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("song","stage1",::songstage1_init,::songstage1_logic,::songstage1_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("song","stage2",::songstage2_init,::songstage2_logic,::songstage2_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("song","stage3",::songstage3_init,::songstage3_logic,::songstage3_end); + level._effect["sq_capacitor_cover_blown_off"] = loadfx("vfx/explosion/vehicle_assault_drone_death"); + level._effect["sq_capacitor_charge"] = loadfx("vfx/map/mp_zombie_h2o/h2o_ee_capacitor_charge"); + level._effect["sq_capacitor_charge_complete"] = loadfx("vfx/map/mp_zombie_h2o/h2o_ee_capacitor_charge_complete"); + level._effect["sq_emz_explode"] = loadfx("vfx/map/mp_zombie_h2o/h2o_sq_emz_explode"); + level._effect["sq_light_puzzle_0"] = loadfx("vfx/map/mp_zombie_h2o/h2o_ee_light_puzzle_0"); + level._effect["sq_light_puzzle_1"] = loadfx("vfx/map/mp_zombie_h2o/h2o_ee_light_puzzle_1"); + level._effect["sq_light_puzzle_2"] = loadfx("vfx/map/mp_zombie_h2o/h2o_ee_light_puzzle_2"); + level._effect["sq_light_puzzle_3"] = loadfx("vfx/map/mp_zombie_h2o/h2o_ee_light_puzzle_3"); + level._effect["sq_light_puzzle_loop"] = loadfx("vfx/map/mp_zombie_h2o/h2o_ee_light_puzzle_4"); + level._effect["sq_memory_machine_on"] = loadfx("vfx/props/dlc_prop_exo_upg_icon_memory_pwr_on"); + level._effect["sq_memory_machine_off"] = loadfx("vfx/props/dlc_prop_exo_upg_icon_memory_pwr_off"); + level._effect["sq_memory_tunnel_player"] = loadfx("vfx/map/mp_zombie_h2o/h2o_teleport_tunnel_player"); + level._effect["sq_bubbles"] = loadfx("vfx/map/mp_zombie_h2o/h2o_ee_diving_suit_bubble_trail_lp"); + level._effect["sq_bubbles_first_person"] = loadfx("vfx/map/mp_zombie_h2o/h2o_ee_player_bubbles_breath"); + level._effect["sq_plunge"] = loadfx("vfx/water/screen_fx_plunge"); + level._effect["sq_emerge"] = loadfx("vfx/water/screen_fx_emerge"); + level._effect["h2o_ee_wave_hit_large"] = loadfx("vfx/map/mp_zombie_h2o/h2o_ee_wave_hit_large"); + level._effect["h2o_ee_wave_hit_med"] = loadfx("vfx/map/mp_zombie_h2o/h2o_ee_wave_hit_med"); + level._effect["h2o_ee_wave_hit_sm"] = loadfx("vfx/map/mp_zombie_h2o/h2o_ee_wave_hit_sm"); + level.shouldignoreplayercallback = ::h2oshouldignoreplayer; + level.zombiehardmodevisionset = "mp_zombie_h2o_hard"; + level.zombiehardmodeinfectedvisionset = "mp_zombie_h2o_infected_hard"; + level thread jumpquest_init(); + level thread starth2osidequest(); + level thread setuptrophycase(); + level thread setuphardmode(); + level thread initvo(); + level thread initcapacitors(); +} + +//Function Number: 2 +starth2osidequest() +{ + var_00 = getent("sq_underwater_switch_off","targetname"); + if(isdefined(var_00)) + { + var_00 hide(); + } + + var_00 = getent("sq_underwater_switch_on","targetname"); + if(isdefined(var_00)) + { + var_00 hide(); + } + + var_01 = getent("sqCounterTop0","targetname"); + var_02 = getent("sqCounterTop1","targetname"); + var_03 = getent("sqCounterTop2","targetname"); + var_04 = getent("sqCounterTop3","targetname"); + var_05 = getent("sqCounterBottom0","targetname"); + var_06 = getent("sqCounterBottom1","targetname"); + var_07 = getent("sqCounterBottom2","targetname"); + var_08 = getent("sqCounterBottom3","targetname"); + var_01 hide(); + var_02 hide(); + var_03 hide(); + var_04 hide(); + var_05 hide(); + var_06 hide(); + var_07 hide(); + var_08 hide(); + if(maps\mp\zombies\_util::iszombieshardmode()) + { + return; + } + + wait(1); + thread maps\mp\zombies\_zombies_sidequests::sidequest_start("main"); + thread maps\mp\zombies\_zombies_sidequests::sidequest_start("song"); +} + +//Function Number: 3 +setuptrophycase() +{ + var_00 = []; + var_01 = gettrophy("1a"); + if(!isdefined(var_01)) + { + return; + } + + var_00[var_00.size] = var_01; + var_00[var_00.size] = gettrophy("1b"); + var_00[var_00.size] = gettrophy("2"); + var_00[var_00.size] = gettrophy("3a"); + var_00[var_00.size] = gettrophy("3b"); + var_00[var_00.size] = gettrophy("4a"); + var_00[var_00.size] = gettrophy("4b"); + if(var_00.size != 7) + { + return; + } + + foreach(var_01 in var_00) + { + var_01 trophyhide(); + } + + if(!isdefined(level.players) || level.players.size == 0) + { + level waittill("player_spawned"); + } + + level thread onplayerconnecttrophies(var_00); + for(;;) + { + foreach(var_05 in level.players) + { + var_05 playershowtrophies(var_00); + } + + level waittill("sq_update_trophies"); + foreach(var_01 in var_00) + { + var_01 trophyhide(); + } + } +} + +//Function Number: 4 +playershowtrophies(param_00) +{ + var_01 = self getcoopplayerdatareservedint("eggData"); + if(var_01 & 1) + { + showtrophyforplayer(param_00,"1a",self); + } + + if(var_01 & 2) + { + showtrophyforplayer(param_00,"1b",self); + } + + if(var_01 & 4) + { + showtrophyforplayer(param_00,"2",self); + } + + if(var_01 & 8) + { + showtrophyforplayer(param_00,"3a",self); + } + + if(var_01 & 16) + { + showtrophyforplayer(param_00,"3b",self); + } + + if(var_01 & 32) + { + showtrophyforplayer(param_00,"4a",self); + } + + if(var_01 & 64) + { + showtrophyforplayer(param_00,"4b",self); + } +} + +//Function Number: 5 +showtrophyforplayer(param_00,param_01,param_02) +{ + foreach(var_04 in param_00) + { + if(var_04.id == param_01) + { + var_04 trophyshowtoplayer(param_02); + break; + } + } +} + +//Function Number: 6 +trophyhide() +{ + self hide(); + if(isdefined(self.trophynum)) + { + self.trophynum hide(); + } +} + +//Function Number: 7 +trophyshowtoplayer(param_00) +{ + self showtoplayer(param_00); + if(isdefined(self.trophynum)) + { + self.trophynum showtoplayer(param_00); + } +} + +//Function Number: 8 +gettrophy(param_00) +{ + var_01 = getent("sqTrophy" + param_00,"targetname"); + if(!isdefined(var_01)) + { + return; + } + + var_02 = getent("sqTrophyNum" + param_00,"targetname"); + var_01.id = param_00; + var_01.trophynum = var_02; + return var_01; +} + +//Function Number: 9 +onplayerconnecttrophies(param_00) +{ + for(;;) + { + level waittill("connected",var_01); + var_01 playershowtrophies(param_00); + } +} + +//Function Number: 10 +setuphardmode() +{ + if(maps\mp\zombies\_util::iszombieshardmode()) + { + setnojipscore(1); + setomnvar("ui_zm_hard_mode",1); + visionsetpostapply(level.zombiehardmodevisionset,0); + setmatchdata("gameLengthSeconds",0); + setmatchdata("lifeCount",0); + setmatchdata("eventCount",0); + if(isdefined(level.players)) + { + foreach(var_01 in level.players) + { + var_01 thread playersetuphardmode(); + } + } + + level thread onplayerconnecthardmode(); + var_03 = getent("sqHardModeButton","targetname"); + var_04 = getent("sqHardModeTrigger","targetname"); + if(isdefined(var_03)) + { + var_03 hide(); + } + + if(isdefined(var_04)) + { + var_04 hide(); + } + + level.zmbhardmodeintro = ::zmbhardmodeintro; + level waittill("zombie_boss_stage2_ended"); + sethardmodebosscoopdatah2o(); + return; + } + + level thread handlehardmodebutton(); + waittillstarthardmode(); + setnojipscore(1); + level.zombiegamepaused = 1; + maps\mp\zombies\_util::writezombiestats(); + level thread endgametohardmode(level.playerteam,game["end_reason"]["zombies_hard_mode"]); +} + +//Function Number: 11 +zmbhardmodeintro() +{ + announcerozglobalplaysq(34); +} + +//Function Number: 12 +handlehardmodebutton() +{ + var_00 = getent("sqHardModeButton","targetname"); + var_01 = getent("sqHardModeTrigger","targetname"); + if(!isdefined(var_01)) + { + return; + } + + var_01.origin = var_01.origin + (0,0,1000); + var_00 hide(); + if(isdefined(level.players)) + { + foreach(var_03 in level.players) + { + var_03 playershowhardmodebutton(var_01,var_00); + } + } + + level thread onplayerconnectshowhardmodebutton(var_01,var_00); + for(;;) + { + var_01 waittill("trigger",var_03); + if(maps\mp\zombies\_util::is_true(var_01.enabled)) + { + if(!maps\mp\zombies\_util::is_true(var_03.hardmodevote)) + { + var_03.hardmodevote = 1; + iprintlnbold(&"ZOMBIE_H2O_HARD_MODE_VOTE",numplayersvotedforhardmode(),level.players.size); + } + else + { + var_03 iprintlnbold(&"ZOMBIE_H2O_HARD_MODE_VOTE",numplayersvotedforhardmode(),level.players.size); + } + + if(checkstarthardmode()) + { + return; + } + } + + wait(0.5); + } +} + +//Function Number: 13 +checkstarthardmode() +{ + if(allplayerswanthardmode()) + { + wait(1); + level notify("start_hard_mode"); + return 1; + } + + return 0; +} + +//Function Number: 14 +numplayersvotedforhardmode() +{ + var_00 = 0; + foreach(var_02 in level.players) + { + if(maps\mp\zombies\_util::is_true(var_02.hardmodevote)) + { + var_00++; + } + } + + return var_00; +} + +//Function Number: 15 +allplayerswanthardmode() +{ + foreach(var_01 in level.players) + { + if(!maps\mp\zombies\_util::is_true(var_01.hardmodevote)) + { + return 0; + } + } + + return 1; +} + +//Function Number: 16 +onplayerconnectshowhardmodebutton(param_00,param_01) +{ + for(;;) + { + level waittill("connected",var_02); + var_02 thread playershowhardmodebutton(param_00,param_01); + } +} + +//Function Number: 17 +playershowhardmodebutton(param_00,param_01) +{ + thread onplayerdisconnecthardmodebutton(); + if(playerhashardmode() && !maps\mp\zombies\_util::is_true(param_00.enabled)) + { + param_00.origin = param_00.origin + (0,0,-1000); + param_00 setcursorhint("HINT_NOICON"); + param_00 sethintstring(&"ZOMBIE_H2O_START_HARD_MODE"); + param_00.enabled = 1; + param_01 show(); + } +} + +//Function Number: 18 +onplayerdisconnecthardmodebutton() +{ + level endon("game_ended"); + self waittill("disconnect"); + checkstarthardmode(); +} + +//Function Number: 19 +sethardmodebosscoopdatah2o() +{ + foreach(var_01 in level.players) + { + if(!isdefined(var_01.joinedround1) || !var_01.joinedround1) + { + continue; + } + + var_02 = var_01 getcoopplayerdatareservedint("eggData"); + var_02 = var_02 | 64; + var_01 setcoopplayerdatareservedint("eggData",var_02); + } + + level notify("sq_update_trophies"); +} + +//Function Number: 20 +onplayerconnecthardmode() +{ + for(;;) + { + level waittill("connected",var_00); + var_00 thread onplayerspawnedhardmode(); + } +} + +//Function Number: 21 +onplayerspawnedhardmode() +{ + self endon("disconnect"); + self waittill("spawned_player"); + thread playersetuphardmode(); +} + +//Function Number: 22 +playersetuphardmode() +{ + self endon("disconnect"); + playersethardmodecoopdatah2o(); + self method_856B(0); + for(;;) + { + self waittill("spawned_player"); + self method_856B(0); + } +} + +//Function Number: 23 +setsidequestcoopdatah2o() +{ + foreach(var_01 in level.players) + { + if(!isdefined(var_01.joinedround1) || !var_01.joinedround1) + { + continue; + } + + var_02 = var_01 getcoopplayerdatareservedint("eggData"); + var_02 = var_02 | 32; + var_01.sidequest = 1; + var_01 setcoopplayerdatareservedint("eggData",var_02); + setmatchdata("players",var_01.clientid,"startPrestige",var_01.sidequest); + } + + level notify("sq_update_trophies"); +} + +//Function Number: 24 +playersethardmodecoopdatah2o() +{ + var_00 = self getcoopplayerdatareservedint("eggData"); + var_00 = var_00 | 128; + self setcoopplayerdatareservedint("eggData",var_00); +} + +//Function Number: 25 +playerhashardmode() +{ + var_00 = self getcoopplayerdatareservedint("eggData"); + return var_00 & 128; +} + +//Function Number: 26 +givesidequestachievement() +{ + foreach(var_01 in level.players) + { + if(!isdefined(var_01.joinedround1) || !var_01.joinedround1) + { + continue; + } + + var_01 maps\mp\gametypes\zombies::givezombieachievement("DLC4_ZOMBIE_EASTEREGG"); + } +} + +//Function Number: 27 +waittillstarthardmode() +{ + level endon("start_hard_mode"); + level waittill("sidequest_main_complete"); +} + +//Function Number: 28 +endgametohardmode(param_00,param_01,param_02) +{ + if(!isdefined(param_02)) + { + param_02 = 0; + } + + if(game["state"] == "postgame" || level.gameended) + { + return; + } + + game["state"] = "postgame"; + setdvar("ui_game_state","postgame"); + level.zmbtransitiontohardmode = 1; + level.gameendtime = gettime(); + level.gameended = 1; + level.ingraceperiod = 0; + level notify("game_ended",param_00); + maps\mp\_utility::levelflagset("game_over"); + maps\mp\_utility::levelflagset("block_notifies"); + var_03 = maps\mp\gametypes\_gamelogic::getgameduration(); + setomnvar("ui_game_duration",var_03 * 1000); + wait 0.05; + setgameendtime(0); + setmatchdata("gameLengthSeconds",var_03); + setmatchdata("endTimeUTC",getsystemtime()); + maps\mp\gametypes\_gamelogic::checkgameendchallenges(); + if(isdefined(param_00) && isstring(param_00) && maps\mp\_utility::isovertimetext(param_00)) + { + level.finalkillcam_winner = "none"; + maps\mp\gametypes\_gamelogic::endgameovertime(param_00,param_01); + return; + } + + if(isdefined(param_00) && isstring(param_00) && param_00 == "halftime") + { + level.finalkillcam_winner = "none"; + maps\mp\gametypes\_gamelogic::endgamehalftime(param_01); + return; + } + + if(isdefined(level.finalkillcam_winner)) + { + level.finalkillcam_timegameended[level.finalkillcam_winner] = maps\mp\_utility::getsecondspassed(); + } + + game["roundsPlayed"]++; + setomnvar("ui_current_round",game["roundsPlayed"]); + if(level.teambased) + { + if((param_00 == "axis" || param_00 == "allies") && level.gametype != "ctf") + { + game["roundsWon"][param_00]++; + } + + maps\mp\gametypes\_gamescore::updateteamscore("axis"); + maps\mp\gametypes\_gamescore::updateteamscore("allies"); + } + else if(isdefined(param_00) && isplayer(param_00)) + { + game["roundsWon"][param_00.guid]++; + } + + maps\mp\gametypes\_gamescore::updateplacement(); + maps\mp\gametypes\_gamelogic::rankedmatchupdates(param_00); + foreach(var_05 in level.players) + { + var_05 setclientdvar("ui_opensummary",1); + if(maps\mp\_utility::wasonlyround() || maps\mp\_utility::waslastround()) + { + var_05 maps\mp\killstreaks\_killstreaks::clearkillstreaks(1); + } + } + + setdvar("g_deadChat",1); + setdvar("ui_allow_teamchange",0); + setdvar("bg_compassShowEnemies",0); + maps\mp\gametypes\_gamelogic::freezeallplayers(1,1); + if(!maps\mp\_utility::wasonlyround() && !param_02) + { + maps\mp\gametypes\_gamelogic::displayroundend(param_00,param_01); + if(isdefined(level.finalkillcam_winner)) + { + foreach(var_05 in level.players) + { + var_05 notify("reset_outcome"); + } + + level notify("game_cleanup"); + maps\mp\gametypes\_gamelogic::waittillfinalkillcamdone(); + } + + if(!maps\mp\_utility::waslastround()) + { + maps\mp\_utility::levelflagclear("block_notifies"); + if(maps\mp\gametypes\_gamelogic::checkroundswitch()) + { + maps\mp\gametypes\_gamelogic::displayroundswitch(); + } + + foreach(var_05 in level.players) + { + var_05.pers["stats"] = var_05.stats; + var_05.pers["segments"] = var_05.segments; + } + + level notify("restarting"); + game["state"] = "playing"; + setdvar("ui_game_state","playing"); + map_restart(1); + return; + } + + if(!level.forcedend) + { + var_03 = maps\mp\gametypes\_gamelogic::updateendreasontext(param_02); + } + } + + if(!isdefined(game["clientMatchDataDef"])) + { + game["clientMatchDataDef"] = "mp/clientmatchdata.def"; + setclientmatchdatadef(game["clientMatchDataDef"]); + } + + maps\mp\gametypes\_missions::roundend(param_02); + param_02 = maps\mp\gametypes\_gamelogic::getgamewinner(param_02,1); + if(level.teambased) + { + setomnvar("ui_game_victor",0); + if(param_02 == "allies") + { + setomnvar("ui_game_victor",2); + } + else if(param_02 == "axis") + { + setomnvar("ui_game_victor",1); + } + } + + maps\mp\gametypes\_gamelogic::displaygameend(param_02,var_03); + foreach(var_09 in level.players) + { + var_09 setclientomnvar("ui_round_end_reason",var_03); + } + + var_0D = gettime(); + if(isdefined(level.finalkillcam_winner) && maps\mp\_utility::wasonlyround()) + { + foreach(var_09 in level.players) + { + var_09 notify("reset_outcome"); + } + + level notify("game_cleanup"); + maps\mp\gametypes\_gamelogic::waittillfinalkillcamdone(); + } + + maps\mp\_utility::levelflagclear("block_notifies"); + level.intermission = 1; + level notify("spawning_intermission"); + foreach(var_09 in level.players) + { + var_09 closepopupmenu(); + var_09 closeingamemenu(); + var_09 notify("reset_outcome"); + var_09 thread maps\mp\gametypes\_playerlogic::spawnintermission(); + } + + maps\mp\gametypes\_gamelogic::processlobbydata(); + wait(1); + maps\mp\gametypes\_gamelogic::checkforpersonalbests(); + maps\mp\gametypes\_gamelogic::updatecombatrecord(); + if(level.teambased) + { + if(param_02 == "axis" || param_02 == "allies") + { + setmatchdata("victor",param_02); + } + else + { + setmatchdata("victor","none"); + } + + setmatchdata("alliesScore",game["teamScores"]["allies"]); + setmatchdata("axisScore",game["teamScores"]["axis"]); + tournamentreportwinningteam(param_02); + } + else + { + setmatchdata("victor","none"); + } + + level maps\mp\_matchdata::endofgamesummarylogger(); + foreach(var_09 in level.players) + { + if(var_09 maps\mp\_utility::rankingenabled()) + { + var_09 maps\mp\_matchdata::logfinalstats(); + } + + var_09 maps\mp\gametypes\_playerlogic::logplayerstats(); + } + + setmatchdata("host",maps\mp\gametypes\_playerlogic::truncateplayername(level.hostname)); + if(maps\mp\_utility::matchmakinggame()) + { + setmatchdata("playlistVersion",getplaylistversion()); + setmatchdata("playlistID",getplaylistid()); + setmatchdata("isDedicated",isdedicatedserver()); + } + + setmatchdata("levelMaxClients",level.maxclients); + sendmatchdata(); + foreach(var_09 in level.players) + { + var_09.pers["stats"] = var_09.stats; + var_09.pers["segments"] = var_09.segments; + } + + tournamentreportendofgame(); + var_16 = 0; + if(maps\mp\_utility::practiceroundgame()) + { + var_16 = 5; + } + + if(isdefined(level.endgamewaitfunc)) + { + [[ level.endgamewaitfunc ]](var_04,level.postgamenotifies,var_16,param_02); + } + else if(!var_04 && !level.postgamenotifies) + { + if(!maps\mp\_utility::wasonlyround()) + { + wait(6 + var_16); + } + else + { + wait(min(10,4 + var_16 + level.postgamenotifies)); + } + } + else + { + wait(min(10,4 + var_16 + level.postgamenotifies)); + } + + var_17 = "_gamelogic.gsc"; + var_18 = "all"; + if(level.teambased && isdefined(param_02)) + { + var_18 = param_02; + } + + var_19 = "undefined"; + if(isdefined(var_03)) + { + switch(var_03) + { + case 1: + var_19 = "MP_SCORE_LIMIT_REACHED"; + break; + + case 2: + var_19 = "MP_TIME_LIMIT_REACHED"; + break; + + case 3: + var_19 = "MP_PLAYERS_FORFEITED"; + break; + + case 4: + var_19 = "MP_TARGET_DESTROYED"; + break; + + case 5: + var_19 = "MP_BOMB_DEFUSED"; + break; + + case 6: + var_19 = "MP_GHOSTS_ELIMINATED"; + break; + + case 7: + var_19 = "MP_FEDERATION_ELIMINATED"; + break; + + case 8: + var_19 = "MP_GHOSTS_FORFEITED"; + break; + + case 9: + var_19 = "MP_FEDERATION_FORFEITED"; + break; + + case 10: + var_19 = "MP_ENEMIES_ELIMINATED"; + break; + + case 11: + var_19 = "MP_MATCH_TIE"; + break; + + case 12: + var_19 = "GAME_OBJECTIVECOMPLETED"; + break; + + case 13: + var_19 = "GAME_OBJECTIVEFAILED"; + break; + + case 14: + var_19 = "MP_SWITCHING_SIDES"; + break; + + case 15: + var_19 = "MP_ROUND_LIMIT_REACHED"; + break; + + case 16: + var_19 = "MP_ENDED_GAME"; + break; + + case 17: + var_19 = "MP_HOST_ENDED_GAME"; + break; + + default: + break; + } + } + + if(!isdefined(var_0D)) + { + var_0D = -1; + } + + var_1A = 15; + var_1B = var_1A; + var_1C = getmatchdata("playerCount"); + var_1D = getmatchdata("lifeCount"); + if(!isdefined(level.matchdata)) + { + var_1E = 0; + var_1F = 0; + var_20 = 0; + var_21 = 0; + var_22 = 0; + var_23 = 0; + var_24 = 0; + } + else + { + if(isdefined(level.matchdata["botJoinCount"])) + { + var_1E = level.matchdata["botJoinCount"]; + } + else + { + var_1E = 0; + } + + if(isdefined(level.matchdata["deathCount"])) + { + var_1F = level.matchdata["deathCount"]; + } + else + { + var_1F = 0; + } + + if(isdefined(level.matchdata["badSpawnDiedTooFastCount"])) + { + var_20 = level.matchdata["badSpawnDiedTooFastCount"]; + } + else + { + var_20 = 0; + } + + if(isdefined(level.matchdata["badSpawnKilledTooFastCount"])) + { + var_21 = level.matchdata["badSpawnKilledTooFastCount"]; + } + else + { + var_21 = 0; + } + + if(isdefined(level.matchdata["badSpawnDmgDealtCount"])) + { + var_22 = level.matchdata["badSpawnDmgDealtCount"]; + } + else + { + var_22 = 0; + } + + if(isdefined(level.matchdata["badSpawnDmgReceivedCount"])) + { + var_23 = level.matchdata["badSpawnDmgReceivedCount"]; + } + else + { + var_23 = 0; + } + + if(isdefined(level.matchdata["badSpawnByAnyMeansCount"])) + { + var_24 = level.matchdata["badSpawnByAnyMeansCount"]; + } + else + { + var_24 = 0; + } + } + + var_25 = 0; + if(isdefined(level.spawnsighttracesused_pres1tu)) + { + var_25 = var_25 + 1; + } + + if(isdefined(level.spawnsighttracesused_posts1tu)) + { + var_25 = var_25 + 2; + } + + reconevent("@"script_mp_match_end: script_file %s, gameTime %d, match_winner %s, win_reason %s, version %d, joinCount %d, botJoinCount %d, spawnCount %d, deathCount %d, badSpawnDiedTooFastCount %d, badSpawnKilledTooFastCount %d, badSpawnDmgDealtCount %d, badSpawnDmgReceivedCount %d, badSpawnByAnyMeansCount %d, sightTraceMethodsUsed %d",var_17,var_0D,var_18,var_19,var_1B,var_1C,var_1E,var_1D,var_1F,var_20,var_21,var_22,var_23,var_24,var_25); + if(isdefined(level.ishorde) && level.ishorde) + { + if(isdefined(level.zombiescompleted) && level.zombiescompleted) + { + setdvar("cg_drawCrosshair",1); + } + } + + foreach(var_09 in level.players) + { + var_09.pers["stats"] = var_09.stats; + var_09.pers["segments"] = var_09.segments; + var_09.pers["team"] = undefined; + var_09 sendleaderboards(); + var_09 setclientomnvar("ui_round_end",0); + } + + setomnvar("ui_zm_hard_mode",1); + setomnvar("ui_zm_ee_bool",1); + wait(0.5); + level notify("restarting"); + game["state"] = "playing"; + game["start_in_zmb_hard_mode"] = 1; + game["gamestarted"] = undefined; + setdvar("ui_game_state","playing"); + map_restart(1); +} + +//Function Number: 29 +initvo() +{ + wait 0.05; + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","sq","sq","dlc4_easter",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","sq","sq_jump_win","dlc4_easter_jumpw",undefined,80); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","sq","sq_jump_fail","dlc4_easter_jumpf",undefined,30); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","sq","sq_dlc4",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","sq3","sq_dlc3",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","global_priority","sq","dlc4_easter",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_all_players","sq","dlc4_easter",undefined); +} + +//Function Number: 30 +h2oshouldignoreplayer(param_00) +{ + if(maps\mp\zombies\_util::is_true(param_00.inairlock)) + { + return 1; + } + + return 0; +} + +//Function Number: 31 +init_main_sidequest() +{ +} + +//Function Number: 32 +sidequest_logic() +{ + level thread monitorbossintermission(); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage1"); + level waittill("main_stage1_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage2"); + level waittill("main_stage2_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage3"); + level waittill("main_stage3_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage4"); + level waittill("main_stage4_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage5"); + level waittill("main_stage5_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage7"); + level waittill("main_stage7_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage8"); + level waittill("main_stage8_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage9"); + level waittill("main_stage9_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage10"); + level waittill("main_stage10_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage11"); + level waittill("main_stage11_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage12"); + level waittill("main_stage12_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage13"); + level waittill("main_stage13_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage14"); + level waittill("main_stage14_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage15"); + level waittill("main_stage15_over"); + wait(2); + setsidequestcoopdatah2o(); + givesidequestachievement(); +} + +//Function Number: 33 +monitorbossintermission() +{ + level endon("main_stage15_over"); + level.zmbsqinbossintermission = 0; + for(;;) + { + level waittill("zombie_round_count_update"); + level.zmbsqinbossintermission = 1; + level waittill("zombie_wave_started"); + level.zmbsqinbossintermission = 0; + } +} + +//Function Number: 34 +generic_stage_start() +{ +} + +//Function Number: 35 +generic_stage_complete() +{ +} + +//Function Number: 36 +complete_sidequest() +{ +} + +//Function Number: 37 +stage1_init() +{ +} + +//Function Number: 38 +stage1_logic() +{ + var_00 = getentarray("sqValve","targetname"); + if(var_00.size == 0) + { + return; + } + + level.zmbsqnumvalvescomplete = 0; + assignexplodernumberstovalves(var_00); + foreach(var_02 in var_00) + { + var_02 thread valvesetup(); + } + + level waittill("zmb_sq_valve_complete"); + while(level.zmbsqnumvalvescomplete < 3) + { + wait 0.05; + } + + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage1"); +} + +//Function Number: 39 +valvesetup() +{ + self.degreesturned = 0; + self.firstturn = 0; + self.halfway = 0; + self.damagecallback = ::valvedamagecallback; + self setdamagecallbackon(1); + self setcandamage(1); + self waittill("turn_complete"); + level.zmbsqnumvalvescomplete++; + thread maps\mp\mp_zombie_h2o_aud::sndvalvelight(self.origin); + level notify("zmb_sq_valve_complete"); + activateclientexploder(self.script_index); +} + +//Function Number: 40 +assignexplodernumberstovalves(param_00) +{ + if(isdefined(param_00[0].script_index)) + { + return; + } + + var_01 = 40; + param_00 = maps\mp\_utility::quicksort(param_00,::comparevalveheight); + for(var_02 = 0;var_02 < param_00.size;var_02++) + { + param_00[var_02].script_index = var_01; + var_01++; + } +} + +//Function Number: 41 +comparevalveheight(param_00,param_01) +{ + return param_00.origin[2] <= param_01.origin[2]; +} + +//Function Number: 42 +valvedamagecallback(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B) +{ + if(isdefined(param_04) && isexplosivedamagemod(param_04)) + { + return; + } + + if(!isdefined(param_01) || !isplayer(param_01)) + { + return; + } + + self.angles = (self.angles[0],self.angles[1],self.angles[2] + 6); + self.degreesturned = self.degreesturned + 6; + if(!self.halfway && self.degreesturned >= 180) + { + self.halfway = 1; + self notify("turn_halfway"); + } + + if(!self.firstturn) + { + self.firstturn = 1; + self notify("first_turn"); + } + + if(self.degreesturned >= 360) + { + self setdamagecallbackon(0); + self.damagecallback = undefined; + self notify("turn_complete"); + } +} + +//Function Number: 43 +stage1_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Opened secret room"); + thread maps\mp\mp_zombie_h2o_aud::sndcomputerloop(); + level thread opendoors(); +} + +//Function Number: 44 +opendoors() +{ + var_00 = common_scripts\utility::getstruct("sqDoor1","targetname"); + if(!isdefined(var_00)) + { + return; + } + + var_01 = getentarray(var_00.target,"targetname"); + var_02 = []; + foreach(var_04 in var_01) + { + var_04.openpos = common_scripts\utility::getstruct(var_04.target,"targetname"); + var_05 = getent(var_04.target,"targetname"); + var_05 vehicle_jetbikesethoverforcescale(var_04); + if(!common_scripts\utility::array_contains(var_02,var_04.origin)) + { + var_02[var_02.size] = var_04.origin; + } + } + + var_07 = 1; + foreach(var_04 in var_01) + { + var_04 moveto(var_04.openpos.origin,var_07); + } + + foreach(var_0B in var_02) + { + playsoundatpos(var_0B,"interact_door"); + } + + wait(var_07); + level.zone_data.zones["easter_egg"].is_enabled = 1; + common_scripts\utility::flag_set("zone_04_to_easter_egg"); + wait 0.05; + foreach(var_04 in var_01) + { + var_04 delete(); + } +} + +//Function Number: 45 +stage2_init() +{ +} + +//Function Number: 46 +stage2_logic() +{ + var_00 = common_scripts\utility::getstruct("sqComputer","targetname"); + if(!isdefined(var_00)) + { + return; + } + + var_01 = 76; + var_02 = var_00 maps\mp\zombies\_zombies_sidequests::fake_use("computer_used",undefined,undefined,"main_stage2_over",var_01); + maps\mp\mp_zombie_h2o_aud::sndcomputeracknowledge(var_00.origin); + wait(1); + doangozconversation(var_00); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage2"); +} + +//Function Number: 47 +doangozconversation(param_00) +{ + var_01 = 76; + announcerglobalplaysqvowaittilldone(1); + var_02 = param_00 maps\mp\zombies\_zombies_sidequests::fake_use("computer_used",undefined,undefined,"main_stage2_over",var_01); + maps\mp\mp_zombie_h2o_aud::sndcomputerfail(param_00.origin); + wait(1); + announcerglobalplaysqvowaittilldone(2); + var_03 = getplayerlistforstage2(); + if(!isdefined(var_02)) + { + var_02 = getnextplayerfromlist(var_03); + } + + var_02 playerplaysqvo(1,undefined,1); + wait(1); + var_02 = getnextplayerfromlist(var_03,var_02); + var_02 playerplaysqvo(2,undefined,1); + wait(1); + announcerozglobalplaysqwaittilldone(1); + wait(1); + var_02 = getnextplayerfromlist(var_03,var_02); + var_02 playerplaysqvo(4,undefined,1); + wait(3); +} + +//Function Number: 48 +getplayerlistforstage2() +{ + var_00 = []; + var_01 = maps\mp\zombies\_zombies_audio::getcharacterbyprefix("exec"); + if(isdefined(var_01)) + { + var_00[var_00.size] = var_01; + } + + var_02 = maps\mp\zombies\_zombies_audio::getcharacterbyprefix("it"); + if(isdefined(var_02)) + { + var_00[var_00.size] = var_02; + } + + var_03 = maps\mp\zombies\_zombies_audio::getcharacterbyprefix("guard"); + if(isdefined(var_03)) + { + var_00[var_00.size] = var_03; + } + + var_04 = maps\mp\zombies\_zombies_audio::getcharacterbyprefix("pilot"); + if(isdefined(var_04)) + { + var_00[var_00.size] = var_04; + } + + return var_00; +} + +//Function Number: 49 +getnextplayerfromlist(param_00,param_01) +{ + var_02 = undefined; + var_03 = param_00.size; + if(var_03 == 1) + { + return param_01; + } + + for(var_04 = 0;var_04 < param_00.size;var_04++) + { + var_05 = param_00[var_04]; + if(!isdefined(param_01) || var_05 == param_01) + { + var_02 = var_04; + break; + } + } + + var_04 = 0; + var_02++; + for(var_04 = 0;var_04 < param_00.size;var_04++) + { + if(var_02 >= var_03) + { + var_02 = 0; + } + + var_05 = param_00[var_02]; + if(isalive(var_05)) + { + return var_05; + } + + var_04++; + var_02++; + } + + return param_01; +} + +//Function Number: 50 +stage2_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Used Computer and talked to Oz"); +} + +//Function Number: 51 +stage3_init() +{ + var_00 = common_scripts\utility::getstruct("sqWaterValveLight","targetname"); + activateclientexploder(70); + var_01 = getent("sq_underwater_switch_off","targetname"); + if(isdefined(var_01)) + { + var_01 show(); + } +} + +//Function Number: 52 +stage3_logic() +{ + var_00 = common_scripts\utility::getstruct("sqAirlockUse","targetname"); + var_01 = getent("airlockClip1","targetname"); + var_02 = getent("sqAirlockUseTrigger","targetname"); + if(!isdefined(var_00) || !isdefined(var_02)) + { + return; + } + + var_03 = 0; + for(;;) + { + var_02 waittill("trigger",var_04); + if(!var_04 isonground()) + { + continue; + } + + thread maps\mp\mp_zombie_h2o_aud::snddepressurizeloopstart(var_01); + activateclientexploder(30); + level.zmbhighpriorityenemy = var_04; + if(!var_03) + { + var_03 = 1; + level thread announcerozglobalplaysq(24); + } + + var_05 = var_01 useholdthink(var_04,0,45000); + thread maps\mp\mp_zombie_h2o_aud::snddepressurizeloopend(var_01); + stopclientexploder(30); + if(var_05) + { + level.zmbhighpriorityenemy = undefined; + break; + } + + wait(1.5); + level.zmbhighpriorityenemy = undefined; + } + + maps\mp\mp_zombie_h2o_aud::snddepressurizecomplete(var_01); + level thread announcerglobalplaysqvo(3,1); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage3"); +} + +//Function Number: 53 +useholdthink(param_00,param_01,param_02) +{ + param_00 playerlinkto(self); + param_00 playerlinkedoffsetenable(); + if(!isdefined(self.curprogress)) + { + self.curprogress = param_01; + self.usetime = param_02; + } + + self.inuse = 1; + self.userate = 0; + param_00 disableweapons(); + param_00 thread personalusebar(self); + var_03 = useholdthinkloop(param_00); + if(!isdefined(var_03)) + { + var_03 = 0; + } + + self.inuse = 0; + if(isdefined(param_00)) + { + param_00 enableweapons(); + param_00 setclientomnvar("ui_use_bar_text",0); + param_00 setclientomnvar("ui_use_bar_end_time",0); + param_00 setclientomnvar("ui_use_bar_start_time",0); + if(param_00 islinked()) + { + param_00 unlink(); + } + } + + self notify("zombieUseHoldThinkComplete"); + return var_03; +} + +//Function Number: 54 +personalusebar(param_00) +{ + self endon("disconnect"); + self endon("death"); + self endon("enter_last_stand"); + self endon("stop_useHoldThinkLoop"); + self setclientomnvar("ui_use_bar_text",6); + self setclientomnvar("ui_use_bar_start_time",int(gettime() - param_00.curprogress)); + var_01 = -1; + while(maps\mp\_utility::isreallyalive(self) && isdefined(param_00) && param_00.inuse && !level.gameended) + { + if(var_01 != param_00.userate) + { + if(param_00.curprogress > param_00.usetime) + { + param_00.curprogress = param_00.usetime; + } + + if(param_00.userate > 0) + { + var_02 = gettime(); + var_03 = param_00.curprogress / param_00.usetime; + var_04 = var_02 + 1 - var_03 * param_00.usetime / param_00.userate; + self setclientomnvar("ui_use_bar_end_time",int(var_04)); + } + + var_01 = param_00.userate; + } + + wait 0.05; + } +} + +//Function Number: 55 +useholdthinkloop(param_00) +{ + param_00 endon("disconnect"); + param_00 endon("death"); + param_00 endon("enter_last_stand"); + param_00 endon("stop_useHoldThinkLoop"); + while(!level.gameended && isdefined(self) && maps\mp\_utility::isreallyalive(param_00) && param_00 usebuttonpressed() && self.curprogress < self.usetime) + { + self.curprogress = self.curprogress + 50 * self.userate; + if(isdefined(self.objectivescaler)) + { + self.userate = 1 * self.objectivescaler; + } + else + { + self.userate = 1; + } + + if(self.curprogress >= self.usetime) + { + return maps\mp\_utility::isreallyalive(param_00); + } + + wait(0.05); + } + + return 0; +} + +//Function Number: 56 +stage3_end(param_00) +{ + level.zmbhighpriorityenemy = undefined; + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Activated the airlock"); +} + +//Function Number: 57 +stage4_init() +{ +} + +//Function Number: 58 +stage4_logic() +{ + var_00 = common_scripts\utility::getstruct("sqAirlockUse","targetname"); + var_01 = getent("airlockClip1","targetname"); + var_02 = getent("airlockClip2","targetname"); + var_03 = getent("sqAirlockTrigger1","targetname"); + var_04 = getent("sqAirlockTrigger2","targetname"); + var_05 = getent("sqAirlockVolume","targetname"); + if(!isdefined(var_00)) + { + return; + } + + if(!isdefined(var_00.angles)) + { + var_00.angles = (0,180,0); + } + + var_06 = createairlockdoor(var_01); + var_07 = createairlockdoor(var_02); + var_08 = 0; + var_09 = 0; + for(;;) + { + level.zmbbossteleportdelay = undefined; + var_0A = activatedairlock(var_00); + var_0B = 0; + level thread monitorplayersinairlock(var_05,var_03); + level thread openairlockdoor(var_06); + if(canplayercontinuestage4(var_0A) && var_0A maps\mp\_utility::isjuggernaut()) + { + waittillplayerinairlock(var_0A,var_03,var_05,1); + } + + level.zmbbossteleportdelay = 1; + level thread closeairlockdoor(var_06); + if(maps\mp\zombies\_util::is_true(level.zmbbosscountdowninprogress)) + { + teleportoutplayersinairlock(); + } + else + { + teleportoutplayersinairlock(var_0A); + } + + if(!canplayercontinuestage4(var_0A) || !var_0A maps\mp\_utility::isjuggernaut() || !maps\mp\zombies\_util::is_true(var_0A.inairlock)) + { + level notify("main_stage4_stop_airlock_monitor"); + wait(1); + continue; + } + + if(!var_08) + { + level thread announcerozglobalplaysq(25); + var_08 = 1; + } + + if(!var_09) + { + level thread dofloaterzombie(); + var_09 = 1; + } + + fillairlockwithwater(); + if(canplayercontinuestage4(var_0A) && var_0A maps\mp\_utility::isjuggernaut()) + { + var_0A playergoliathsetwater(1); + openairlockdoor(var_07); + if(canplayercontinuestage4(var_0A) && var_0A maps\mp\_utility::isjuggernaut()) + { + var_0B = waittillactivatedwatervalve(var_0A); + } + + if(canplayercontinuestage4(var_0A) && var_0A maps\mp\_utility::isjuggernaut()) + { + waittillplayerinairlock(var_0A,var_04,var_05,0); + } + + closeairlockdoor(var_07); + } + else if(isdefined(var_0A) && isalive(var_0A)) + { + var_0A maps\mp\gametypes\zombies::moversuicidecustom(); + wait(2); + } + + emptywaterfromairlock(); + if(isdefined(var_0A) && isdefined(var_0A.underwatermotiontype)) + { + var_0A playergoliathsetwater(0); + } + + if(isdefined(var_0A) && isalive(var_0A)) + { + openairlockdoor(var_06); + if(isdefined(var_0A) && isalive(var_0A)) + { + waittillplayernotinairlock(var_0A,var_03,var_05,1); + } + + if(isdefined(var_0A)) + { + var_0A.inairlock = 0; + } + + closeairlockdoor(var_06); + } + + level notify("main_stage4_stop_airlock_monitor"); + teleportoutplayersinairlock(); + wait 0.05; + level.zmbbossteleportdelay = undefined; + if(maps\mp\zombies\_util::is_true(var_0B)) + { + break; + } + + wait(2); + } + + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage4"); +} + +//Function Number: 59 +dofloaterzombie() +{ + var_00 = common_scripts\utility::getstruct("floater_anim_node","targetname"); + if(!isdefined(var_00)) + { + return; + } + + var_01 = getent("sq_floater_blocker","targetname"); + if(!isdefined(var_00.angles)) + { + var_00.angles = (0,0,0); + } + + level.sqfloater = spawn("script_model",(0,0,0)); + level.sqfloater setmodel("zom_host_fullbody"); + level.sqfloater scriptmodelplayanimdeltamotionfrompos("zom_h2o_floater_enter",var_00.origin,var_00.angles,"floater_notetrack"); + level.sqfloater waittillmatch("end","floater_notetrack"); + level.sqfloater thread floaterzombiedetecthit(); + level.sqfloater scriptmodelplayanimdeltamotionfrompos("zom_h2o_floater_loop",var_00.origin,var_00.angles,"floater_notetrack",1); + level.sqfloater common_scripts\utility::waittill_any_return_no_endon_death("hit_floater","main_stage4_over"); + level.sqfloater scriptmodelplayanimdeltamotionfrompos("zom_h2o_floater_exit",var_00.origin,var_00.angles,"floater_notetrack",1); + if(isdefined(var_01)) + { + var_01 delete(); + } + + level.sqfloater waittillmatch("end","floater_notetrack"); + level.sqfloater delete(); +} + +//Function Number: 60 +floaterzombiedetecthit() +{ + var_00 = 6400; + var_01 = 0.866; + wait 0.05; + for(;;) + { + foreach(var_03 in level.players) + { + if(var_03 maps\mp\_utility::isjuggernaut() && var_03 ismeleeing()) + { + var_04 = distance2dsquared(var_03.origin,self.origin); + if(var_04 <= var_00) + { + var_05 = anglestoforward(var_03.angles); + var_06 = self.origin - var_03.origin; + var_06 = vectornormalize((var_06[0],var_06[1],0)); + var_07 = vectordot(var_05,var_06); + if(var_07 >= var_01) + { + self notify("hit_floater"); + return; + } + } + } + } + + wait 0.05; + } +} + +//Function Number: 61 +fillairlockwithwater() +{ + var_00 = getent("sqAirlockWater","targetname"); + if(!isdefined(var_00)) + { + return; + } + + if(!isdefined(var_00.emptypos)) + { + var_00.emptypos = var_00.origin; + var_00.filledpos = var_00.origin + (0,0,192); + } + + thread maps\mp\mp_zombie_h2o_aud::sndfillwithwater(); + var_00 moveto(var_00.filledpos,2,0.1,0.1); + wait(1.3); +} + +//Function Number: 62 +emptywaterfromairlock() +{ + var_00 = getent("sqAirlockWater","targetname"); + if(!isdefined(var_00)) + { + return; + } + + thread maps\mp\mp_zombie_h2o_aud::snddrainwater(); + var_00 moveto(var_00.emptypos,2,0.1,0.1); + wait(1.3); +} + +//Function Number: 63 +playergoliathcleanupbubblesondisconnect(param_00) +{ + self endon("death"); + param_00 waittill("disconnect"); + param_00.bubblesfx = undefined; + self delete(); +} + +//Function Number: 64 +playergoliathsetwater(param_00) +{ + if(param_00) + { + playergoliathhelmet(); + thread playerhandleunderwatershellshock(); + self.underwatermotiontype = "deep"; + maps\mp\zombies\_util::playerallowfire(0,"sq"); + common_scripts\utility::_disableoffhandweapons(); + self disableoffhandsecondaryweapons(); + self.oldmovescaler = self.movespeedscaler; + self.movespeedscaler = self.movespeedscaler * 0.75; + maps\mp\gametypes\_weapons::updatemovespeedscale(); + maps\mp\mp_zombie_h2o_aud::sndunderwaterenter(self); + playfxontag(common_scripts\utility::getfx("sq_bubbles"),self,"j_shoulder_ri"); + self.bubblesfx = spawnfxforclient(common_scripts\utility::getfx("sq_bubbles_first_person"),self.origin,self); + triggerfx(self.bubblesfx); + self.bubblesfx thread playergoliathcleanupbubblesondisconnect(self); + playfxontagforclients(common_scripts\utility::getfx("sq_plunge"),self,"tag_origin",self); + return; + } + + if(isalive(self)) + { + playergoliathnohelmet(); + } + + maps\mp\zombies\_util::playerallowfire(1,"sq"); + self notify("main_stage4_stop_shellshock"); + self stopshellshock(); + self.underwatermotiontype = undefined; + common_scripts\utility::_enableoffhandweapons(); + self enableoffhandsecondaryweapons(); + self.movespeedscaler = self.oldmovescaler; + self.oldmovescaler = undefined; + maps\mp\gametypes\_weapons::updatemovespeedscale(); + maps\mp\mp_zombie_h2o_aud::sndunderwaterexit(self); + killfxontag(common_scripts\utility::getfx("sq_bubbles"),self,"j_shoulder_ri"); + if(isdefined(self.bubblesfx)) + { + self.bubblesfx delete(); + } + + playfxontagforclients(common_scripts\utility::getfx("sq_emerge"),self,"tag_origin",self); +} + +//Function Number: 65 +playergoliathhelmet() +{ + self detachall(); + if(level.currentgen) + { + self attach("sentinel_udt_strike_head_a"); + } + else + { + self attach("head_hero_cormack_sentinel_halo"); + } + + self attach("npc_exo_armor_minigun_handle","TAG_HANDLE"); +} + +//Function Number: 66 +playergoliathnohelmet() +{ + self detachall(); + self attach(self.characterhead); + self attach("npc_exo_armor_minigun_handle","TAG_HANDLE"); +} + +//Function Number: 67 +playerhandleunderwatershellshock() +{ + self endon("main_stage4_stop_shellshock"); + self endon("disconnect"); + for(;;) + { + self shellshock("underwater",60,0,0); + wait(59.5); + } +} + +//Function Number: 68 +teleportoutplayersinairlock(param_00) +{ + if(isdefined(param_00) && !param_00 maps\mp\_utility::isjuggernaut()) + { + param_00 = undefined; + } + + foreach(var_02 in level.players) + { + if(isdefined(param_00) && param_00 == var_02) + { + continue; + } + + if(maps\mp\zombies\_util::is_true(var_02.inairlock)) + { + var_02 playerteleportoutofairlock(); + } + } +} + +//Function Number: 69 +playerteleportoutofairlock() +{ + self setorigin(self.lastgroundposition); + self.inairlock = undefined; + self.disabletombstonedropinarea = undefined; +} + +//Function Number: 70 +monitorplayersinairlock(param_00,param_01) +{ + level endon("main_stage4_stop_airlock_monitor"); + for(;;) + { + foreach(var_03 in level.players) + { + if(var_03 istouching(param_00) || var_03 istouching(param_01) || var_03 maps\mp\_utility::isjuggernaut() && isdefined(var_03.underwatermotiontype)) + { + var_03.inairlock = 1; + var_03.disabletombstonedropinarea = 1; + continue; + } + + var_03.inairlock = undefined; + var_03.disabletombstonedropinarea = 1; + } + + wait 0.05; + } +} + +//Function Number: 71 +createairlockdoor(param_00) +{ + var_01 = getentarray(param_00.target,"targetname"); + var_02 = var_01[0]; + var_02.closedpos = var_02.origin; + var_02.openpos = var_02.origin + (0,0,100); + var_01[1] vehicle_jetbikesethoverforcescale(var_02); + param_00 vehicle_jetbikesethoverforcescale(var_02); + return var_02; +} + +//Function Number: 72 +waittillactivatedwatervalve(param_00) +{ + param_00 endon("disconnect"); + param_00 endon("death"); + var_01 = common_scripts\utility::getstruct("sqWaterValve","targetname"); + if(!isdefined(var_01)) + { + return; + } + + var_02 = getent("sq_underwater_switch_off","targetname"); + var_03 = getent("sq_underwater_switch_on","targetname"); + var_01 maps\mp\zombies\_zombies_sidequests::fake_use("water_valve_used",undefined,undefined,"main_stage4_over"); + maps\mp\mp_zombie_h2o_aud::sndunderwaterpanelaccessed(var_01.origin); + level thread announcerglobalplaysqvo(5,1); + stopclientexploder(70); + activateclientexploder(71); + if(isdefined(var_02)) + { + var_02 delete(); + } + + if(isdefined(var_03)) + { + var_03 show(); + } + + return 1; +} + +//Function Number: 73 +canplayercontinuestage4(param_00) +{ + return isdefined(param_00) && isalive(param_00) && !maps\mp\zombies\_util::isplayerinlaststand(param_00); +} + +//Function Number: 74 +isplayerinairlock(param_00,param_01,param_02) +{ + return param_00 istouching(param_02) && !param_00 istouching(param_01); +} + +//Function Number: 75 +waittillplayernotinairlock(param_00,param_01,param_02,param_03) +{ + param_00 endon("disconnect"); + param_00 endon("death"); + param_00 endon("enter_last_stand"); + var_04 = gettime() + 10000; + for(;;) + { + if(!param_00 istouching(param_02) && !param_00 istouching(param_01)) + { + break; + } + + if(param_03 && gettime() > var_04) + { + break; + } + + wait 0.05; + } +} + +//Function Number: 76 +waittillplayerinairlock(param_00,param_01,param_02,param_03) +{ + param_00 endon("disconnect"); + param_00 endon("ejectedFromJuggernaut"); + param_00 endon("death"); + param_00 endon("enter_last_stand"); + var_04 = gettime() + 5000; + for(;;) + { + if(maps\mp\zombies\_util::is_true(level.zmbbosscountdowninprogress)) + { + break; + } + + if(isplayerinairlock(param_00,param_01,param_02)) + { + break; + } + + if(param_03 && gettime() > var_04) + { + break; + } + + wait 0.05; + } +} + +//Function Number: 77 +closeairlockdoor(param_00) +{ + playsoundatpos(param_00.origin,"trap_security_door_slam"); + param_00 moveto(param_00.closedpos,0.1,0.1); + wait(0.2); +} + +//Function Number: 78 +openairlockdoor(param_00) +{ + playsoundatpos(param_00.origin,"interact_door"); + param_00 moveto(param_00.openpos,1); + wait(2.1); +} + +//Function Number: 79 +activatedairlock(param_00) +{ + var_01 = getent("sqAirlockUseTrigger","targetname"); + var_02 = 40000; + level thread doairlockhint(var_01); + var_03 = undefined; + for(;;) + { + var_01 waittill("trigger",var_03); + if(var_03 maps\mp\_utility::isjuggernaut() && !maps\mp\zombies\_util::is_true(level.zmbbosscountdowninprogress)) + { + break; + } + + maps\mp\mp_zombie_h2o_aud::sndairlockdoorinteract(param_00.origin); + wait(1); + } + + level notify("main_stage4_airlock_activated"); + return var_03; +} + +//Function Number: 80 +doairlockhint(param_00) +{ + level endon("main_stage4_over"); + level endon("main_stage4_airlock_activated"); + for(;;) + { + param_00 waittill("trigger",var_01); + if(!var_01 maps\mp\_utility::isjuggernaut()) + { + var_02 = var_01 playerplaysqvo(5); + if(var_02) + { + return; + } + } + + wait(1); + } +} + +//Function Number: 81 +stage4_end(param_00) +{ + level.zmbbossteleportdelay = undefined; + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Released the security clamp in the water"); +} + +//Function Number: 82 +stage5_init() +{ +} + +//Function Number: 83 +stage5_logic() +{ + level thread announcerozglobalplaysq(20); + if(shoulddelayforbossround()) + { + waituntilnextround(); + } + + waituntilnextround(); + level thread announcerozglobalplaysq(2); + for(;;) + { + var_00 = 0; + setomnvar("ui_zm_zone_identifier",1); + while(var_00 < 5) + { + var_01 = donextdrone(var_00,5); + if(var_01) + { + var_00++; + continue; + } + + setomnvar("ui_zm_zone_identifier",6); + if(shoulddelayforbossround()) + { + waituntilnextround(); + } + + waituntilnextround(); + break; + wait(1); + } + + level.sqplayedfindnextdronevo = undefined; + if(var_00 == 5) + { + break; + } + } + + level thread announcerozglobalplaysq(16); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage5"); +} + +//Function Number: 84 +shoulddelayforbossround() +{ + var_00 = level.wavecounter + 1; + if(level.zmbsqinbossintermission) + { + var_00 = level.wavecounter; + } + + return maps\mp\mp_zombie_h2o::isbossround(var_00); +} + +//Function Number: 85 +waituntilnextround() +{ + level waittill("zombie_wave_started"); +} + +//Function Number: 86 +donextdrone(param_00,param_01) +{ + var_02 = startsqdrone(param_00); + if(!isdefined(var_02)) + { + level thread announcerozglobalplaysq(17); + if(isdefined(level.ammodrone2)) + { + level.ammodrone2 notify("disabled"); + wait 0.05; + level.ammodrone2 maps\mp\zombies\zombie_ammo_drone::droneexplode(); + } + } + else if(!var_02) + { + level thread announcerozglobalplaysqfailchallenge(); + } + else if(param_00 + 1 < param_01) + { + if(!maps\mp\zombies\_util::is_true(level.sqplayedfindnextdronevo)) + { + level thread announcerozglobalplaysq(23,1.5); + level.sqplayedfindnextdronevo = 1; + } + } + + return maps\mp\zombies\_util::is_true(var_02); +} + +//Function Number: 87 +startsqdrone(param_00) +{ + level endon("zombie_wave_ended"); + var_01 = maps\mp\zombies\zombie_ammo_drone::getstartzone(); + var_02 = randomint(var_01.ammodronespawnnodes.size); + var_03 = var_01.ammodronespawnnodes[var_02]; + if(isdefined(level.ammodrone)) + { + if(var_03 == level.ammodrone.startnode) + { + if(var_02 == 0) + { + var_02++; + } + else + { + var_02--; + } + + var_03 = var_01.ammodronespawnnodes[var_02]; + } + } + + if(!isdefined(var_03)) + { + return; + } + + maps\mp\_utility::incrementfauxvehiclecount(); + level.ammodrone2 = maps\mp\zombies\zombie_ammo_drone::spawnammodrone(var_03.origin,(0,0,0)); + if(!isdefined(level.ammodrone2)) + { + maps\mp\_utility::decrementfauxvehiclecount(); + return; + } + + level.ammodrone2.health = getdronehealth(param_00); + level.ammodrone2.speedoverride = 8 + param_00; + level.ammodrone2.startnode = var_03; + level.ammodrone2.startzone = var_01; + level.ammodrone2.linegunignore = 1; + level.ammodrone2.skipplayervo = 1; + var_04 = maps\mp\zombies\zombie_ammo_drone::waittillactivate(level.ammodrone2,var_01); + if(isdefined(var_04)) + { + var_04 playerplaysqfounddronevo(); + } + + var_05 = maps\mp\zombies\zombie_ammo_drone::getdestinationzone(var_01); + var_06 = maps\mp\zombies\zombie_ammo_drone::getdestinationnode(var_05,var_03); + level.ammodrone2.endnode = var_06; + level.ammodrone2.endzone = var_05; + level thread maps\mp\zombies\zombie_ammo_drone::droneactivate(level.ammodrone2,var_05,var_06,0); + var_07 = waittilldronecomplete(level.ammodrone2); + level.ammodrone2 = undefined; + return maps\mp\zombies\_util::is_true(var_07); +} + +//Function Number: 88 +playerplaysqfounddronevo() +{ + var_00 = [7,8,9]; + playerplaysqvo(var_00[randomint(var_00.size)]); +} + +//Function Number: 89 +waittilldronecomplete(param_00) +{ + var_01 = param_00 common_scripts\utility::waittill_any_return("stopBeeping","disabled"); + if(var_01 == "disabled") + { + return 1; + } + + return 0; +} + +//Function Number: 90 +getdronehealth(param_00) +{ + var_01 = 1; + switch(param_00) + { + case 0: + var_01 = 15; + break; + + case 1: + var_01 = 18.75; + break; + + case 2: + var_01 = 22.5; + break; + + case 3: + var_01 = 26.25; + break; + + case 4: + default: + var_01 = 30; + break; + } + + var_02 = 2; + if(level.players.size > 2) + { + var_02 = 3; + } + + var_03 = int(1500 + var_01 * 200 * var_02); + return var_03; +} + +//Function Number: 91 +createchallengehud(param_00) +{ + var_01 = newteamhudelem(level.playerteam); + var_01.foreground = 1; + var_01.sort = 2; + var_01.hidewheninmenu = 0; + var_01.alignx = "left"; + var_01.aligny = "bottom"; + var_01.horzalign = "left"; + var_01.vertalign = "bottom"; + var_01.font = "small"; + var_01.fontscale = 1.5; + var_01.x = 120; + var_01.y = -70; + var_01.alpha = 1; + var_01.color = (1,0,0); + var_01 settext(param_00); + return var_01; +} + +//Function Number: 92 +stage5_end(param_00) +{ + level thread dochallengehudcomplete(); + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Completed Oz Challenge 1 - Drones"); +} + +//Function Number: 93 +dochallengehudactive() +{ + level.zmbsqchallengehud.color = (1,0,0); +} + +//Function Number: 94 +dochallengehudinactive() +{ + level.zmbsqchallengehud.color = (0.5,0.5,0.5); +} + +//Function Number: 95 +dochallengehudcomplete() +{ + setomnvar("ui_zm_zone_identifier",7); +} + +//Function Number: 96 +stage7_init() +{ +} + +//Function Number: 97 +stage7_logic() +{ + var_00 = getent("sqCapacitorCover","targetname"); + var_01 = common_scripts\utility::getstruct("sqCapacitors","targetname"); + var_02 = common_scripts\utility::getstruct("sqCapacitorFx","targetname"); + var_03 = getentarray("sqCapacitorMeter","targetname"); + if(!isdefined(var_00)) + { + return; + } + + level thread launchcover(var_00,var_01); + runchargecapacitorlogic(var_01,var_02,var_03); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage7"); +} + +//Function Number: 98 +initcapacitors() +{ + var_00 = getentarray("sqCapacitorMeter","targetname"); + common_scripts\utility::array_thread(var_00,::capacitormetersinit); +} + +//Function Number: 99 +capacitormetersinit() +{ + var_00 = common_scripts\utility::getstructarray(self.target,"targetname"); + foreach(var_02 in var_00) + { + switch(var_02.script_noteworthy) + { + case "end": + self.end = var_02.origin; + break; + + case "start": + self.origin = var_02.origin; + break; + + default: + break; + } + } + + self.start = self.origin; +} + +//Function Number: 100 +launchcover(param_00,param_01) +{ + var_02 = anglestoforward(param_01.angles) * 2000; + param_00 physicslaunchclient(param_00.origin,var_02); + playfx(common_scripts\utility::getfx("sq_capacitor_cover_blown_off"),param_01.origin); + maps\mp\mp_zombie_h2o_aud::sndcapacitorcoverblownoff(param_01.origin); + param_00 common_scripts\utility::waittill_notify_or_timeout("physics_finished",4); + param_00 physicsstop(); + wait(20); + param_00 delete(); +} + +//Function Number: 101 +runchargecapacitorlogic(param_00,param_01,param_02) +{ + var_03 = 32400; + var_04 = 15; + var_05 = 0; + activatepersistentclientexploder(85); + while(var_04 > 0) + { + level waittill("zmb_emz_attack",var_06,var_07,var_08); + var_09 = distancesquared(var_07,param_00.origin); + if(var_09 < var_03) + { + playfx(common_scripts\utility::getfx("sq_emz_explode"),var_06.origin + (0,0,30)); + activateclientexploder(51); + if(isalive(var_06)) + { + if(isscriptedagent(var_06) && !var_06 maps\mp\agents\humanoid\_humanoid_util::iscrawling() && isdefined(var_06.agent_type) && var_06.agent_type != "zombie_dog") + { + level thread electrocutezombie(var_06,param_00); + } + else + { + var_06 dodamage(var_06.health,var_06.origin); + } + } + + if(!var_05) + { + var_05 = 1; + level thread announcerglobalplaysqvowaittilldone(14,1.5); + } + + var_04--; + thread maps\mp\mp_zombie_h2o_aud::sndcapacitorcharging(15 - var_04); + foreach(var_0B in param_02) + { + var_0C = 15 - var_04 / 15; + var_0D = var_0B.end - var_0B.start * var_0C + var_0B.start; + var_0B moveto(var_0D,0.1); + } + } + } + + wait(1); + stopclientexploder(85); + activateclientexploder(50); + thread maps\mp\mp_zombie_h2o_aud::sndcapacitorchargedsuccess(param_01); + announcerglobalplaysqvowaittilldone(15,1); + announcerglobalplaysqvowaittilldone(6,0.5); +} + +//Function Number: 102 +electrocutezombie(param_00,param_01) +{ + param_00 endon("death"); + param_00 scragentsetanimmode("anim deltas"); + param_00 scragentsetanimscale(1,1); + param_00 scragentsetphysicsmode("no_gravity"); + param_00 scragentsetorientmode("face angle abs",param_00.angles); + var_02 = "sq_electrocute"; + var_03 = param_00 getanimentrycount(var_02); + var_04 = angleclamp180(param_00.angles[1] - param_01.angles[1]); + var_05 = 1; + if(abs(var_04) < 45) + { + var_05 = 0; + } + else if(var_04 > -135 && var_04 < 0) + { + var_05 = 3; + } + else if(var_04 < 135 && var_04 > 0) + { + var_05 = 2; + } + + param_00.skipmutilate = 1; + param_00.ragdollimmediately = 1; + param_00.godmode = 1; + if(isdefined(param_00.swapbody)) + { + param_00 setmodel(param_00.swapbody); + } + + param_00 notify("humanoidPendingDeath"); + param_00 scragentsetscripted(1); + param_00 maps\mp\agents\_scripted_agent_anim_util::setstatelocked(1,"sq_electrocute"); + param_00 thread maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_02,var_05,1,"scripted_anim"); + wait(1.5); + param_00.godmode = 0; + param_00 dodamage(param_00.health,param_00.origin); +} + +//Function Number: 103 +stage7_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Capacitors charged"); +} + +//Function Number: 104 +stage8_init() +{ +} + +//Function Number: 105 +stage8_logic() +{ + level thread announcerozglobalplaysq(21); + if(shoulddelayforbossround()) + { + waituntilnextround(); + } + + waituntilnextround(); + level thread playstage8startvo(); + setomnvar("ui_zm_zone_identifier",2); + foreach(var_01 in level.players) + { + var_01 thread playerhandleweaponsstage8(); + } + + level thread onplayerconnectstage8(); + level thread handlefeaturesstage8(); + waituntilnextround(); + var_03 = getteamplayersalive(level.playerteam); + if(var_03 > 0) + { + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage8"); + } +} + +//Function Number: 106 +playstage8startvo() +{ + announcerozglobalplaysqwaittilldone(11); + getanyplayer(1) playerplaysqvo(11); +} + +//Function Number: 107 +handlefeaturesstage8() +{ + maps\mp\zombies\_util::disablekillstreaks(); + maps\mp\zombies\_util::disablepickups(); + maps\mp\zombies\_util::disablewallbuys(); + maps\mp\zombies\_traps::trap_deactivate_all(); + setomnvar("ui_zm_ee_int2",2); + level waittill("main_stage8_over"); + setomnvar("ui_zm_ee_int2",0); + maps\mp\zombies\_util::enablekillstreaks(); + maps\mp\zombies\_util::enablepickups(); + maps\mp\zombies\_util::enablewallbuys(); + maps\mp\zombies\_traps::trap_reactivate_all(); +} + +//Function Number: 108 +playerhandleweaponsstage8() +{ + self endon("disconnect"); + if(maps\mp\_utility::isjuggernaut()) + { + self dodamage(self.mechhealth,self.origin); + wait(1); + } + + self notify("stop_useHoldThinkLoop"); + removeweaponsstage8(); + thread playerinfinitegrenadesstage8(); + waituntilnextround(); + if(!isalive(self) || maps\mp\zombies\_util::isplayerinlaststand(self)) + { + return; + } + + restoreweaponsstage8(); +} + +//Function Number: 109 +playerinfinitegrenadesstage8() +{ + level endon("main_stage8_over"); + var_00 = self getweaponslistoffhands(); + foreach(var_02 in var_00) + { + var_03 = weaponmaxammo(var_02); + self setweaponammoclip(var_02,var_03); + } + + for(;;) + { + self waittill("grenade_fire",var_05,var_02); + var_03 = weaponmaxammo(var_02); + self setweaponammoclip(var_02,var_03); + } +} + +//Function Number: 110 +onplayerconnectstage8() +{ + level endon("main_stage8_over"); + for(;;) + { + level waittill("connected",var_00); + var_00 thread onplayerspawnedstage8(); + } +} + +//Function Number: 111 +onplayerspawnedstage8() +{ + level endon("main_stage8_over"); + self waittill("spawned_player"); + thread playerhandleweaponsstage8(); +} + +//Function Number: 112 +removeweaponsstage8() +{ + playergivecontactgrenade(); + maps\mp\zombies\_util::playerallowfire(0,"sq"); + self disableoffhandsecondaryweapons(); + common_scripts\utility::_disableweaponswitch(); +} + +//Function Number: 113 +playergivecontactgrenade() +{ + var_00 = playergetcontactgrenade(); + if(isdefined(var_00)) + { + self.hadcontactgrenade = 1; + return; + } + + self.hadcontactgrenade = 0; + maps\mp\zombies\_wall_buys::givezombieequipment(self,"contact_grenade_zombies_mp",0); +} + +//Function Number: 114 +playergetcontactgrenade() +{ + var_00 = self getweaponslistoffhands(); + foreach(var_02 in var_00) + { + var_03 = getweaponbasename(var_02); + if(var_03 == "contact_grenade_zombies_mp" || var_03 == "contact_grenade_throw_zombies_mp") + { + return var_02; + } + } +} + +//Function Number: 115 +playertakecontactgrenade() +{ + if(!self.hadcontactgrenade) + { + maps\mp\zombies\_wall_buys::givezombieequipment(self,"frag_grenade_zombies_mp",0); + } + + self.hadcontactgrenade = undefined; +} + +//Function Number: 116 +isweaponswitchenabled_duplicate() +{ + return !self.disabledweaponswitch; +} + +//Function Number: 117 +restoreweaponsstage8() +{ + playertakecontactgrenade(); + maps\mp\zombies\_util::playerallowfire(1,"sq"); + self enableoffhandsecondaryweapons(); + if(!isweaponswitchenabled_duplicate()) + { + common_scripts\utility::_enableweaponswitch(); + } +} + +//Function Number: 118 +stage8_end(param_00) +{ + level thread dochallengehudcomplete(); + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Completed Oz Challenge 2 - Grenades"); +} + +//Function Number: 119 +stage9_init() +{ + if(!level.jumpquest.init) + { + return; + } + + jumpquest_setstage(1); +} + +//Function Number: 120 +stage9_logic() +{ + if(level.jumpquest.init) + { + common_scripts\utility::flag_wait("jumpQuest_final_stage_complete"); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage9"); + } +} + +//Function Number: 121 +stage9_end(param_00) +{ + if(level.jumpquest.init) + { + jumpquest_setstage(0); + level thread announcerglobalplaysqvo(6,0.5); + } + + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Completed jumping puzzle"); +} + +//Function Number: 122 +jumpquest_init() +{ + level.jumpquest = spawnstruct(); + level.jumpquest.init = 0; + common_scripts\utility::flag_init("jumpQuest_final_stage_complete"); + level.jumpquest.refloc = common_scripts\utility::getstruct("jumpQuest_ref","targetname"); + if(!isdefined(level.jumpquest.refloc)) + { + return; + } + + jumpquest_initgoal(); + jumpquest_initplatforms(); + jumpquest_initstages(); + jumpquest_initreset(); + jumpquest_initfx(); + level.jumpquest.init = 1; + jumpquest_arrangeplatforms("default",0); + level thread jumpquest_run(); +} + +//Function Number: 123 +jumpquest_initgoal() +{ + level.jumpquest.goal = getent("jumpQuest_goal","targetname"); + level.jumpquest.goal.angles = common_scripts\utility::getstruct(level.jumpquest.goal.target,"targetname").angles; +} + +//Function Number: 124 +jumpquest_initreset() +{ + level.jumpquest.resetlocs = common_scripts\utility::getstructarray("jumpQuest_reset_loc","targetname"); + var_00 = getentarray("jumpQuest_reset_trigger","targetname"); + foreach(var_02 in var_00) + { + level.jumpquest thread jumpquest_reset(var_02); + } + + var_04 = getentarray("jumpQuest_reset_clip","targetname"); + foreach(var_06 in var_04) + { + level.jumpquest thread jumpquest_reset_clip(var_06); + } +} + +//Function Number: 125 +jumpquest_initfx() +{ + level._effect["jump_quest_goal"] = loadfx("vfx/map/mp_zombie_h2o/h2o_ee_jumping_goal"); +} + +//Function Number: 126 +jumpquest_initplatforms() +{ + level.jumpquest.platformstandtime = 3; + level.jumpquest.platformresettime = 3; + level.jumpquest.platforms = getentarray("jumpQuest_platform","targetname"); + foreach(var_01 in level.jumpquest.platforms) + { + var_01.noteleportgrenade = 1; + var_01.unresolved_collision_func = ::jumpquestunresolvedcollision; + var_01.visuals = getentarray(var_01.target,"targetname"); + foreach(var_03 in var_01.visuals) + { + var_03 linkto(var_01); + var_03.noteleportgrenade = 1; + } + + var_01.fxtype = "sm"; + if(issubstr(var_01.script_noteworthy,"medium")) + { + var_01.fxtype = "med"; + } + else if(issubstr(var_01.script_noteworthy,"large")) + { + var_01.fxtype = "large"; + } + + var_01.angles = common_scripts\utility::getstruct(var_01.target,"targetname").angles; + var_01 thread jumpquest_platformwatch(); + } +} + +//Function Number: 127 +jumpquest_platformplayertouch() +{ + level.jumpquest endon("reset"); + if(self.visuals.size > 0) + { + var_00 = level.jumpquest.platformstandtime / 3; + foreach(var_02 in self.visuals) + { + var_02 hudoutlineenable(1,1); + } + + wait(var_00); + foreach(var_02 in self.visuals) + { + var_02 hudoutlineenable(4,1); + } + + wait(var_00); + foreach(var_02 in self.visuals) + { + var_02 hudoutlineenable(0,1); + } + + wait(var_00); + } + else + { + wait(level.jumpquest.platformstandtime); + } + + self notsolid(); + self ghost(); + foreach(var_02 in self.visuals) + { + var_02 ghost(); + } + + wait(level.jumpquest.platformresettime); + while(!jumpquest_allplayersoffplatforms()) + { + wait 0.05; + } +} + +//Function Number: 128 +jumpquest_platformwatch() +{ + for(;;) + { + while(!jumpquest_anyplayeronplatform(self)) + { + wait 0.05; + } + + jumpquest_platformplayertouch(); + self solid(); + self show(); + foreach(var_01 in self.visuals) + { + var_01 hudoutlinedisable(); + var_01 show(); + } + } +} + +//Function Number: 129 +jumpquest_allplayersoffplatforms() +{ + foreach(var_01 in level.players) + { + if(!maps\mp\_utility::isreallyalive(var_01)) + { + continue; + } + + var_02 = var_01 getgroundentity(); + if(!isdefined(var_02)) + { + return 0; + } + + foreach(var_04 in level.jumpquest.platforms) + { + if(var_04 == var_02) + { + return 0; + } + } + } + + return 1; +} + +//Function Number: 130 +jumpquest_anyplayeronplatform(param_00) +{ + if(!isdefined(level.players)) + { + return 0; + } + + foreach(var_02 in level.players) + { + if(!maps\mp\_utility::isreallyalive(var_02)) + { + continue; + } + + var_03 = var_02 getgroundentity(); + if(isdefined(var_03) && var_03 == param_00) + { + return 1; + } + } + + return 0; +} + +//Function Number: 131 +jumpquest_moveplatform(param_00,param_01,param_02) +{ + param_00 notify("move"); + param_00 endon("move"); + var_03 = (0,0,-800); + var_04 = 0; + var_05 = param_01.origin; + if(var_05 != param_00.origin) + { + var_06 = trajectorycalculateinitialvelocity(param_00.origin,var_05,var_03,param_02); + param_00 movegravity(var_06,param_02); + var_04 = 1; + } + + var_07 = param_01.angles; + if(anglesdelta(var_07,param_00.angles) > 0 || var_04) + { + var_08 = randomintrange(-2,2) * 360 + angleclamp180(var_07[0] - param_00.angles[0]); + var_09 = randomintrange(-2,2) * 360 + angleclamp180(var_07[1] - param_00.angles[1]); + var_0A = randomintrange(-2,2) * 360 + angleclamp180(var_07[2] - param_00.angles[2]); + var_0B = 2 * (var_08,var_09,var_0A) / param_02; + param_00 rotatevelocity(var_0B,param_02,0,param_02); + var_04 = 1; + } + + if(!var_04) + { + return; + } + + level thread jumpquest_platformsplash(param_00); + wait(param_02); + maps\mp\mp_zombie_h2o_aud::sndjumpingpuzzleplatformlock(param_01.origin); + jumpquest_setplatform(param_00,param_01); +} + +//Function Number: 132 +jumpquest_setplatform(param_00,param_01) +{ + param_00.origin = param_01.origin; + param_00.angles = param_01.angles; +} + +//Function Number: 133 +jumpquest_platformsplash(param_00) +{ + var_01 = 680; + if(param_00.origin[2] < var_01) + { + while(param_00.origin[2] < var_01) + { + wait 0.05; + } + } + else + { + while(param_00.origin[2] > var_01) + { + wait 0.05; + } + } + + var_02 = "h2o_ee_wave_hit_" + param_00.fxtype; + var_03 = (param_00.origin[0],param_00.origin[1],var_01); + playfx(common_scripts\utility::getfx(var_02),var_03); +} + +//Function Number: 134 +jumpquest_initstages() +{ + level.jumpquest.stages = []; + jumpquest_initstage("default",(2308,0,-104),(0,0,0)); + jumpquest_initstageplatform("default","small_01",(2308,0,-140),(0,0,0)); + jumpquest_initstageplatform("default","small_02",(2308,0,-140),(0,0,0)); + jumpquest_initstageplatform("default","small_03",(2308,0,-140),(0,0,0)); + jumpquest_initstageplatform("default","medium_01",(2308,0,-140),(0,0,0)); + jumpquest_initstageplatform("default","medium_02",(2308,0,-140),(0,0,0)); + jumpquest_initstageplatform("default","medium_03",(2308,0,-140),(0,0,0)); + jumpquest_initstageplatform("default","large_01",(2308,0,-140),(0,0,0)); + jumpquest_initstageplatform("default","large_02",(2308,0,-140),(0,0,0)); + jumpquest_initstageplatform("default","large_03",(2308,0,-140),(0,0,0)); + jumpquest_initstage("stage_1",(480,0,8),(0,0,0)); + jumpquest_initstageplatform("stage_1","medium_01",(96,0,0),(0,0,0)); + jumpquest_initstageplatform("stage_1","medium_02",(480,0,0),(0,0,0)); + jumpquest_initstage("stage_2",(1088,0,8),(0,0,0)); + jumpquest_initstageplatform("stage_2","medium_01",(96,0,0),(0,0,0)); + jumpquest_initstageplatform("stage_2","small_01",(592,0,0),(0,0,0)); + jumpquest_initstageplatform("stage_2","medium_02",(1088,0,0),(0,0,0)); + jumpquest_initstage("stage_3",(1088,0,8),(0,0,0)); + jumpquest_initstageplatform("stage_3","medium_01",(96,0,0),(0,0,0)); + jumpquest_initstageplatform("stage_3","medium_02",(1088,0,0),(0,0,0)); + jumpquest_initstage("stage_4",(408,0,16),(0,0,0)); + jumpquest_initstageplatform("stage_4","medium_01",(196,0,8),(0,0,0)); + jumpquest_initstageplatform("stage_4","large_01",(300,0,192),(0,270,90)); + jumpquest_initstageplatform("stage_4","medium_02",(404,0,8),(0,0,0)); + jumpquest_initstage("stage_5",(1120,0,784),(0,0,0)); + jumpquest_initstageplatform("stage_5","medium_01",(96,0,8),(0,0,0)); + jumpquest_initstageplatform("stage_5","small_01",(384,64,200),(0,0,0)); + jumpquest_initstageplatform("stage_5","small_02",(608,-64,392),(0,0,0)); + jumpquest_initstageplatform("stage_5","small_03",(832,64,584),(0,0,0)); + jumpquest_initstageplatform("stage_5","medium_02",(1120,0,776),(0,0,0)); + jumpquest_initstage("stage_6",(1556,0,16),(0,0,0)); + jumpquest_initstageplatform("stage_6","medium_01",(96,0,8),(0,0,0)); + jumpquest_initstageplatform("stage_6","small_01",(160,0,208),(0,0,0)); + jumpquest_initstageplatform("stage_6","small_02",(160,0,408),(0,0,0)); + jumpquest_initstageplatform("stage_6","small_03",(160,0,608),(0,0,0)); + jumpquest_initstageplatform("stage_6","large_01",(544,0,800),(0,0,0)); + jumpquest_initstageplatform("stage_6","medium_02",(1556,0,8),(0,0,0)); + jumpquest_initstage("stage_7",(928,0,16),(0,0,0)); + jumpquest_initstageplatform("stage_7","medium_01",(96,0,8),(0,0,0)); + jumpquest_initstageplatform("stage_7","small_01",(928,0,8),(0,0,0)); + jumpquest_initstageplatform("stage_7","large_01",(768,-30,192),(0,0,90)); + jumpquest_initstageplatform("stage_7","large_02",(768,30,192),(0,0,90)); + jumpquest_initstage("stage_8",(1792,0,66),(0,0,0)); + jumpquest_initstageplatform("stage_8","large_01",(192,0,-102),(0,0,90)); + jumpquest_initstageplatform("stage_8","large_02",(724,-30,46),(0,0,90)); + jumpquest_initstageplatform("stage_8","large_03",(1308,30,-62),(0,0,90)); + jumpquest_initstageplatform("stage_8","medium_01",(724,-30,334),(0,0,90)); + jumpquest_initstageplatform("stage_8","medium_02",(1792,0,58),(0,0,0)); + jumpquest_initstageplatform("stage_8","small_01",(724,-30,462),(0,0,90)); + jumpquest_initstageplatform("stage_8","small_02",(1216,30,162),(0,0,90)); + jumpquest_initstageplatform("stage_8","small_03",(1420,30,162),(0,0,90)); + jumpquest_initstage("stage_9",(192,0,976),(0,0,0)); + jumpquest_initstageplatform("stage_9","large_01",(192,0,8),(0,0,0)); + jumpquest_initstageplatform("stage_9","small_01",(192,0,200),(0,0,0)); + jumpquest_initstageplatform("stage_9","medium_01",(192,0,392),(0,0,0)); + jumpquest_initstageplatform("stage_9","large_02",(192,0,584),(0,0,0)); + jumpquest_initstageplatform("stage_9","medium_02",(192,0,776),(0,0,0)); + jumpquest_initstageplatform("stage_9","small_02",(192,0,968),(0,0,0)); + level.jumpquest.stageorder = ["stage_1","stage_2","stage_3","stage_4","stage_5","stage_6","stage_7","stage_8","stage_9"]; + jumpquest_setstage(0); +} + +//Function Number: 135 +jumpquest_arrangeplatforms(param_00,param_01) +{ + level.jumpquest notify("setStage"); + level.jumpquest endon("setStage"); + var_02 = level.jumpquest.stages[param_00]; + var_03 = level.jumpquest.stages["default"]; + var_04 = -1; + foreach(var_06 in level.jumpquest.platforms) + { + var_07 = var_06.script_noteworthy; + var_08 = var_02.platforms[var_07]; + if(!isdefined(var_08)) + { + var_08 = var_03.platforms[var_07]; + } + + var_09 = distance(var_06.origin,var_08.origin); + if(var_09 > var_04) + { + var_04 = var_09; + } + + var_06.arrangeloc = var_08; + var_06.arrangedist = var_09; + } + + foreach(var_06 in level.jumpquest.platforms) + { + if(var_04 <= 0) + { + var_0C = param_01; + } + else + { + var_0C = var_06.arrangedist / var_04 * param_01; + } + + if(var_0C > 0) + { + thread jumpquest_moveplatform(var_06,var_06.arrangeloc,var_0C); + continue; + } + + thread jumpquest_setplatform(var_06,var_06.arrangeloc); + } + + level thread maps\mp\mp_zombie_h2o_aud::sndjumpingpuzzleplatformwhoosh(); + level.jumpquest.goal.origin = var_02.goal.origin + (0,0,40); + level.jumpquest.goal.angles = var_02.goal.angles; +} + +//Function Number: 136 +jumpquest_run() +{ + var_00 = 3; + for(;;) + { + while(level.jumpquest.stagecurrent <= 0) + { + level.jumpquest waittill("stage_change"); + } + + var_01 = level.jumpquest.stageorder[level.jumpquest.stagecurrent - 1]; + jumpquest_arrangeplatforms(var_01,var_00); + wait(var_00 + 0.05); + var_02 = spawnfx(common_scripts\utility::getfx("jump_quest_goal"),level.jumpquest.goal.origin,anglestoup(level.jumpquest.goal.angles),anglestoright(level.jumpquest.goal.angles)); + triggerfx(var_02); + setfxkillondelete(var_02,1); + var_03 = jumpquest_waitforgoal(); + if(isdefined(var_03)) + { + thread maps\mp\mp_zombie_h2o_aud::sndjumpingpuzzlesucess(var_03); + jumpquest_setstage(level.jumpquest.stagecurrent + 1); + if(common_scripts\utility::flag("jumpQuest_final_stage_complete")) + { + var_03 thread playerplaysqvo(10); + } + else + { + var_03 thread playerplaysqvo(undefined,1,0,"sq_jump_win"); + } + + jumpquest_resetplayer(var_03,0); + } + + var_02 delete(); + level.jumpquest notify("reset"); + jumpquest_arrangeplatforms("default",var_00); + wait(var_00 + 0.05); + wait(1); + } +} + +//Function Number: 137 +jumpquest_setstage(param_00) +{ + if(!isdefined(level.jumpquest.stagecurrent) || level.jumpquest.stagecurrent != param_00) + { + level.jumpquest.stagecurrent = param_00; + if(level.jumpquest.stagecurrent > level.jumpquest.stageorder.size) + { + level.jumpquest.stagecurrent = 0; + common_scripts\utility::flag_set("jumpQuest_final_stage_complete"); + } + + level.jumpquest notify("stage_change"); + } +} + +//Function Number: 138 +jumpquest_initstage(param_00,param_01,param_02) +{ + level.jumpquest.stages[param_00] = spawnstruct(); + level.jumpquest.stages[param_00].platforms = []; + level.jumpquest.stages[param_00].goal = jumpquest_createloc(param_01,param_02,level.jumpquest.refloc); +} + +//Function Number: 139 +jumpquest_initstageplatform(param_00,param_01,param_02,param_03) +{ + var_04 = jumpquest_createloc(param_02,param_03,level.jumpquest.refloc,param_00); + level.jumpquest.stages[param_00].platforms[param_01] = var_04; +} + +//Function Number: 140 +jumpquest_createloc(param_00,param_01,param_02,param_03) +{ + var_04 = spawnstruct(); + var_04.origin = param_00; + if(isdefined(param_02)) + { + var_04.origin = rotatevector(var_04.origin,param_02.angles) + param_02.origin; + } + + var_04.angles = param_01; + if(isdefined(param_02)) + { + var_04.angles = var_04.angles + param_02.angles; + } + + var_04.stagename = param_03; + return var_04; +} + +//Function Number: 141 +jumpquest_waitforgoal() +{ + level.jumpquest endon("stage_change"); + for(;;) + { + level.jumpquest.goal waittill("trigger",var_00); + return var_00; + } +} + +//Function Number: 142 +jumpquest_reset_clip(param_00) +{ + var_01 = param_00 setcontents(0); + for(;;) + { + if(level.jumpquest.stagecurrent <= 0) + { + param_00 notsolid(); + } + else + { + param_00 solid(); + param_00 setcontents(var_01); + } + + level.jumpquest waittill("stage_change"); + } +} + +//Function Number: 143 +jumpquest_reset(param_00) +{ + for(;;) + { + param_00 waittill("trigger",var_01); + if(!isplayer(var_01)) + { + continue; + } + + if(level.jumpquest.stagecurrent > 0) + { + jumpquest_resetplayer(var_01,1); + } + } +} + +//Function Number: 144 +jumpquest_resetplayer(param_00,param_01) +{ + if(param_01) + { + if(!maps\mp\zombies\_util::is_true(level.zmbsqplayedjumpfailvo)) + { + level.zmbsqplayedjumpfailvo = 1; + level thread announcerozglobalplaysq(26); + } + else + { + param_00 thread playerplaysqvo(undefined,1,0,"sq_jump_fail"); + } + } + + thread jumpquest_bounceresetplayer(param_00); +} + +//Function Number: 145 +jumpquest_bounceresetplayer(param_00) +{ + if(param_00 islinked()) + { + return; + } + + param_00 thread maps\mp\mp_zombie_h2o_aud::sndjumpingpuzzleplayerwhoosh(); + var_01 = jumpquest_getresetloc(param_00); + var_02 = distance2d(param_00.origin,var_01.origin); + var_03 = clamp(var_02 / 1500,0,1) * 1.5 + 1; + var_04 = trajectorycalculateinitialvelocity(param_00.origin,var_01.origin,(0,0,-800),var_03); + var_05 = spawn("script_model",param_00.origin); + var_05 setmodel("tag_origin"); + param_00 playerlinkto(var_05,"tag_origin"); + var_05 movegravity(var_04,var_03); + wait(var_03); + var_05.origin = var_01.origin; + wait 0.05; + if(isdefined(param_00)) + { + param_00 unlink(); + } + + var_05 delete(); +} + +//Function Number: 146 +jumpquest_getresetloc(param_00) +{ + level.jumpquest.resetlocs = sortbydistance(level.jumpquest.resetlocs,param_00.origin); + var_01 = undefined; + var_02 = 0; + foreach(var_04 in level.jumpquest.resetlocs) + { + var_05 = 0; + foreach(var_07 in level.characters) + { + if(var_07.team == param_00.team) + { + continue; + } + + var_08 = distance2d(var_04.origin,var_07.origin); + if(var_08 < 100) + { + var_05++; + } + } + + if(!isdefined(var_01) || var_05 < var_02) + { + var_01 = var_04; + var_02 = var_05; + } + } + + return var_01; +} + +//Function Number: 147 +jumpquestunresolvedcollision(param_00) +{ + jumpquest_resetplayer(param_00,1); +} + +//Function Number: 148 +stage14_init() +{ +} + +//Function Number: 149 +stage14_logic() +{ + level thread announcerozglobalplaysq(20); + if(shoulddelayforbossround()) + { + waituntilnextround(); + } + + waituntilnextround(); + level thread playstage14startvo(); + setomnvar("ui_zm_zone_identifier",5); + foreach(var_01 in level.players) + { + var_01 thread playerhandleweaponsstage14(); + } + + level thread onplayerconnectstage14(); + level thread handlefeaturesstage14(); + waituntilnextround(); + var_03 = getteamplayersalive(level.playerteam); + if(var_03 > 0) + { + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage14"); + } +} + +//Function Number: 150 +playstage14startvo() +{ + announcerozglobalplaysqwaittilldone(12); + getanyplayer(1) playerplaysqvo(12); +} + +//Function Number: 151 +handlefeaturesstage14() +{ + maps\mp\zombies\_util::disablekillstreaks(); + maps\mp\zombies\_util::disablepickups(); + maps\mp\zombies\_util::disablewallbuys(); + level.dotombstoneweaponswitch = 0; + level.customreplaceweaponfunc = ::stage14customreplaceweaponfunc; + maps\mp\zombies\_traps::trap_deactivate_all(); + setomnvar("ui_zm_ee_int2",1); + level waittill("main_stage14_over"); + setomnvar("ui_zm_ee_int2",0); + maps\mp\zombies\_util::enablekillstreaks(); + maps\mp\zombies\_util::enablepickups(); + maps\mp\zombies\_util::enablewallbuys(); + level.dotombstoneweaponswitch = undefined; + level.customreplaceweaponfunc = undefined; + maps\mp\zombies\_traps::trap_reactivate_all(); +} + +//Function Number: 152 +stage14customreplaceweaponfunc(param_00) +{ + var_01 = param_00 getweaponslistprimaries(); + if(var_01.size > 2) + { + var_02 = param_00 playergetmahem(); + if(var_01[0] != var_02) + { + return var_01[0]; + } + + foreach(var_04 in var_01) + { + if(var_04 != var_02) + { + return var_04; + } + } + } + + return "none"; +} + +//Function Number: 153 +playerhandleweaponsstage14() +{ + self endon("disconnect"); + if(maps\mp\_utility::isjuggernaut()) + { + self dodamage(self.mechhealth,self.origin); + wait(1); + } + + self notify("stop_useHoldThinkLoop"); + var_00 = playerwaittilllaststandcomplete(); + if(maps\mp\zombies\_util::is_true(var_00) && isalive(self)) + { + removeweaponsstage14(); + thread playerinfiniterocketsstage14(); + waituntilnextround(); + if(!isalive(self) || maps\mp\zombies\_util::isplayerinlaststand(self)) + { + return; + } + + restoreweaponsstage14(); + } +} + +//Function Number: 154 +playerwaittilllaststandcomplete() +{ + if(maps\mp\zombies\_util::isplayerinlaststand(self)) + { + self endon("death"); + level endon("zombie_wave_started"); + self waittill("revive"); + wait 0.05; + } + + return 1; +} + +//Function Number: 155 +playerinfiniterocketsstage14() +{ + level endon("main_stage14_over"); + var_00 = playergetmahem(); + var_01 = weaponmaxammo(var_00); + for(;;) + { + self waittill("reload"); + self setweaponammostock(var_00,var_01); + } +} + +//Function Number: 156 +onplayerconnectstage14() +{ + level endon("main_stage14_over"); + for(;;) + { + level waittill("connected",var_00); + var_00 thread onplayerspawnedstage14(); + } +} + +//Function Number: 157 +onplayerspawnedstage14() +{ + level endon("main_stage14_over"); + self waittill("spawned_player"); + thread playerhandleweaponsstage14(); +} + +//Function Number: 158 +removeweaponsstage14() +{ + playergivemahem(); + common_scripts\utility::_disableoffhandweapons(); + self disableoffhandsecondaryweapons(); + common_scripts\utility::_disableweaponswitch(); +} + +//Function Number: 159 +playergivemahem() +{ + maps\mp\zombies\_zombies_laststand::savelaststandweapons("",0); + self.scriptedtombstoneweapon = self.tombstoneweapon; + self.scriptedtombstoneweaponlevel = self.tombstoneweaponlevel; + var_00 = playergetmahem(); + if(isdefined(var_00)) + { + self.hadmahem = 1; + self switchtoweapon(var_00); + if(isdefined(self.weaponstate["iw5_mahemzm_mp"]["level"]) && self.weaponstate["iw5_mahemzm_mp"]["level"] < 10) + { + self.oldmahemweaponlevel = self.weaponstate["iw5_mahemzm_mp"]["level"]; + setweaponlevelallowthird(self,var_00,10); + return; + } + + return; + } + + self.hadmahem = 0; + givezombieweaponallowthird(self,"iw5_mahemzm_mp"); + setweaponlevelallowthird(self,"iw5_mahemzm_mp",25); +} + +//Function Number: 160 +givezombieweaponallowthird(param_00,param_01) +{ + maps\mp\gametypes\zombies::createzombieweaponstate(param_00,param_01); + param_00 maps\mp\_utility::_giveweapon(param_01); + param_00 givemaxammo(param_01); + param_00 maps\mp\zombies\_wall_buys::givemaxscriptedammo(param_01); + param_00 switchtoweaponimmediate(param_01); +} + +//Function Number: 161 +setweaponlevelallowthird(param_00,param_01,param_02) +{ + param_00 takeweapon(param_01); + var_03 = getweaponbasename(param_01); + param_00.weaponstate[var_03]["level"] = param_02; + var_04 = maps\mp\zombies\_wall_buys::getupgradeweaponname(param_00,var_03); + givezombieweaponallowthird(param_00,var_04); + if(issubstr(var_04,"iw5_em1zm_mp")) + { + param_00 maps\mp\gametypes\zombies::playersetem1maxammo(); + } + + if(isdefined(level.setweaponlevelfunc)) + { + param_00 [[ level.setweaponlevelfunc ]](param_01,param_02); + } +} + +//Function Number: 162 +playergetmahem() +{ + var_00 = self getweaponslistprimaries(); + foreach(var_02 in var_00) + { + var_03 = getweaponbasename(var_02); + if(var_03 == "iw5_mahemzm_mp") + { + return var_02; + } + } +} + +//Function Number: 163 +playertakemahem() +{ + var_00 = self getweaponslistprimaries(); + foreach(var_02 in var_00) + { + var_03 = getweaponbasename(var_02); + if(var_03 == "iw5_mahemzm_mp") + { + if(self.hadmahem) + { + if(isdefined(self.oldmahemweaponlevel)) + { + maps\mp\zombies\_wall_buys::setweaponlevel(self,var_02,self.oldmahemweaponlevel); + } + } + else + { + self.weaponstate[var_03]["level"] = 1; + self takeweapon(var_02); + var_00 = self getweaponslistprimaries(); + if(var_00.size > 0) + { + self switchtoweapon(var_00[0]); + } + } + + break; + } + } + + playerclearmahemdata(); +} + +//Function Number: 164 +playerclearmahemdata() +{ + self.hadmahem = undefined; + self.oldmahemweaponlevel = undefined; + self.scriptedtombstoneweapon = undefined; + self.scriptedtombstoneweaponlevel = undefined; +} + +//Function Number: 165 +restoreweaponsstage14() +{ + playertakemahem(); + if(!common_scripts\utility::isoffhandweaponenabled()) + { + common_scripts\utility::_enableoffhandweapons(); + } + + self enableoffhandsecondaryweapons(); + if(!isweaponswitchenabled_duplicate()) + { + common_scripts\utility::_enableweaponswitch(); + } +} + +//Function Number: 166 +delayclearmahemdata() +{ + wait 0.05; + foreach(var_01 in level.players) + { + var_01 playerclearmahemdata(); + } +} + +//Function Number: 167 +stage14_end(param_00) +{ + level thread dochallengehudcomplete(); + level thread delayclearmahemdata(); + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Completed Oz Challenge 5 - Mahem"); +} + +//Function Number: 168 +stage11_init() +{ +} + +//Function Number: 169 +stage11_logic() +{ + var_00 = common_scripts\utility::getstructarray("sqLightPuzzle","targetname"); + if(var_00.size == 0) + { + return; + } + + var_00 = common_scripts\utility::array_randomize(var_00); + for(var_01 = 0;var_01 < var_00.size;var_01++) + { + var_02 = var_01; + var_03 = var_01 + 1; + var_04 = var_00[var_01]; + setuplight(var_04,var_02,var_03); + } + + setuplightlooping(var_00[0],0); + wait(1); + for(;;) + { + var_00[0] lightloopingon(); + var_00[0] maps\mp\zombies\_zombies_sidequests::fake_use("light_puzzle_on",undefined,undefined,"main_stage11_over",80); + var_05 = dolightpuzzle(var_00); + if(var_05) + { + break; + } + + wait(2); + } + + announcerglobalplaysqvowaittilldone(6,0.5); + unlockspecialweaponupgrade(); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage11"); +} + +//Function Number: 170 +setuplight(param_00,param_01,param_02) +{ + param_00.index = param_01; + param_00.sound = "ee_puzzle_beep" + param_02; + param_00.fx = spawnfx(common_scripts\utility::getfx("sq_light_puzzle_" + param_01),param_00.origin); +} + +//Function Number: 171 +setuplightlooping(param_00,param_01) +{ + param_00.fxlooping = spawnfx(common_scripts\utility::getfx("sq_light_puzzle_loop"),param_00.origin); + triggerfx(param_00.fxlooping); +} + +//Function Number: 172 +lightloopingon() +{ + self.fxlooping show(); +} + +//Function Number: 173 +lightloopingoff() +{ + self.fxlooping hide(); +} + +//Function Number: 174 +lightturnon() +{ + triggerfx(self.fx); +} + +//Function Number: 175 +dolightpuzzle(param_00) +{ + param_00[0] lightloopingoff(); + var_01 = generatelightpuzzlepattern(param_00); + wait(1.5); + for(var_02 = 0;var_02 < var_01.size;var_02++) + { + var_03 = calculatetimeon(var_02); + playlightsequence(var_02,var_01,var_03); + var_04 = waittillplayersactivatesequence(var_02,param_00,var_01); + if(!var_04) + { + maps\mp\mp_zombie_h2o_aud::sndlightpuzzlefail(); + if(!maps\mp\zombies\_util::is_true(level.zmbsqplayedlightpuzzlefail)) + { + level thread announcerozglobalplaysq(28,1.5); + level.zmbsqplayedlightpuzzlefail = 1; + } + + return 0; + } + + wait(1.5); + } + + wait(1); + maps\mp\mp_zombie_h2o_aud::sndlightpuzzlesuccess(); + return 1; +} + +//Function Number: 176 +calculatetimeon(param_00) +{ + var_01 = 1.5; + if(param_00 > 0) + { + var_02 = 1; + var_03 = var_02 / 8; + var_01 = var_01 - var_03 * param_00; + } + + return var_01; +} + +//Function Number: 177 +playlightsequence(param_00,param_01,param_02) +{ + for(var_03 = 0;var_03 <= param_00;var_03++) + { + var_04 = param_01[var_03]; + var_04 lightturnon(); + maps\mp\mp_zombie_h2o_aud::sndlightpuzzle(var_04.origin,var_04.sound); + wait(param_02); + } +} + +//Function Number: 178 +generatelightpuzzlepattern(param_00) +{ + var_01 = undefined; + var_02 = []; + while(var_02.size < 8) + { + var_03 = param_00[randomint(param_00.size)]; + if(isdefined(var_01) && var_03 == var_01) + { + wait 0.05; + continue; + } + + var_02[var_02.size] = var_03; + var_01 = var_03; + } + + return var_02; +} + +//Function Number: 179 +waittillplayersactivatesequence(param_00,param_01,param_02) +{ + for(var_03 = 0;var_03 <= param_00;var_03++) + { + var_04 = param_02[var_03]; + var_05 = waittilllightpressed(var_04,param_01); + if(maps\mp\zombies\_util::is_true(var_05)) + { + var_04 lightturnon(); + maps\mp\mp_zombie_h2o_aud::sndlightpuzzle(var_04.origin,var_04.sound); + wait(0.5); + continue; + } + + return 0; + } + + return 1; +} + +//Function Number: 180 +waittilllightpressed(param_00,param_01) +{ + level endon("sq_light_puzzle_cancel"); + level thread lightusetimeout(); + foreach(var_03 in param_01) + { + if(var_03.index != param_00.index) + { + var_03 thread lightusecancel(); + } + } + + param_00 maps\mp\zombies\_zombies_sidequests::fake_use("used",undefined,undefined,"sq_light_uses_off",80); + level notify("sq_light_uses_off"); + return 1; +} + +//Function Number: 181 +lightusetimeout() +{ + level endon("sq_light_uses_off"); + wait(5); + level notify("sq_light_puzzle_cancel"); +} + +//Function Number: 182 +lightusecancel() +{ + level endon("sq_light_uses_off"); + maps\mp\zombies\_zombies_sidequests::fake_use("used",undefined,undefined,"sq_light_uses_off",80); + level notify("sq_light_puzzle_cancel"); + level notify("sq_light_uses_off"); +} + +//Function Number: 183 +stage11_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Completed simon lights puzzle"); +} + +//Function Number: 184 +unlockspecialweaponupgrade() +{ + level notify("special_weapon_box_unlocked"); + announcerglobalplaysqvo(3,2,undefined,"sq3"); + maps\mp\zombies\_zombies_audio_announcer::waittillallannouncersdonespeaking(); +} + +//Function Number: 185 +stage12_init() +{ +} + +//Function Number: 186 +stage12_logic() +{ + level thread announcerozglobalplaysq(22); + if(shoulddelayforbossround()) + { + waituntilnextround(); + } + + waituntilnextround(); + level thread announcerglobalplaysqvo(12); + setomnvar("ui_zm_zone_identifier",4); + foreach(var_01 in level.players) + { + if(var_01 maps\mp\_utility::isjuggernaut()) + { + var_01 dodamage(var_01.mechhealth,var_01.origin); + } + + if(isalive(var_01)) + { + var_01 notify("stop_useHoldThinkLoop"); + } + } + + level thread handlefeaturesstage12(); + level thread spawncharactersstage12(); + level thread runprizelogic(); + waituntilnextround(); + var_03 = getteamplayersalive(level.playerteam); + level thread announcerglobalplaysqvo(13); + if(var_03 > 0) + { + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage12"); + } +} + +//Function Number: 187 +handlefeaturesstage12() +{ + maps\mp\zombies\_util::disablekillstreaks(); + maps\mp\zombies\_util::setfriendlyfireround(1); + level waittill("main_stage12_over"); + maps\mp\zombies\_util::setfriendlyfireround(0); + maps\mp\zombies\_util::enablekillstreaks(); + despawncharacters(); +} + +//Function Number: 188 +runprizelogic() +{ + foreach(var_01 in level.players) + { + var_01 thread playerhurtvostage12(); + var_01 thread playerrewardprizestage12(); + var_01 thread playerhandleicon(); + } + + level thread onplayerconnectstage12(); +} + +//Function Number: 189 +playerhandleicon() +{ + var_00 = newteamhudelem(level.playerteam); + var_00 setshader("hud_upgrade_reward",14,14); + var_00 setwaypoint(1,1); + var_00 settargetent(self); + waittillstage12overordeath(self); + if(isdefined(var_00)) + { + var_00 destroy(); + } +} + +//Function Number: 190 +waittillstage12overordeath(param_00) +{ + param_00 endon("death"); + level waittill("main_stage12_over"); +} + +//Function Number: 191 +playerrewardprizestage12() +{ + level endon("main_stage12_over"); + self notify("playerRewardPrizeStage12"); + self endon("playerRewardPrizeStage12"); + self waittill("death",var_00,var_01,var_02); + if(isai(self)) + { + level.zmbsqcharacterskilled++; + if(level.zmbsqcharacterskilled == 3) + { + if(isplayer(var_00)) + { + var_00 thread playerrewardweaponupgrade(); + } + } + + level thread dokillplayerozvo(); + return; + } + + if(isplayer(var_00) && var_00 != self) + { + if(!isdefined(level.zmbsqrewardprizes)) + { + level.zmbsqrewardprizes = 1; + } + else if(level.zmbsqrewardprizes < 3) + { + level.zmbsqrewardprizes++; + } + else + { + return; + } + + var_00 thread playerrewardweaponupgrade(); + level thread dokillplayerozvo(); + } +} + +//Function Number: 192 +dokillplayerozvo() +{ + var_00 = 0; + if(level.players.size == 1) + { + if(level.zmbsqcharacterskilled == 1) + { + var_00 = 29; + } + else if(level.zmbsqcharacterskilled == 2) + { + var_00 = 30; + } + else + { + var_00 = 31; + } + } + else + { + var_01 = level.players.size; + var_02 = getteamplayersalive(level.playerteam); + var_03 = var_01 - var_02; + if(var_01 == 4 && var_03 == 1) + { + var_00 = 29; + } + else if((var_01 == 4 && var_03 == 2) || var_01 == 3 && var_03 == 1) + { + var_00 = 30; + } + else + { + var_00 = 31; + } + } + + wait(1); + announcerozglobalplaysq(var_00); +} + +//Function Number: 193 +playerhurtvostage12() +{ + level endon("main_stage12_over"); + self notify("playerHurtVoStage12"); + self endon("playerHurtVoStage12"); + for(;;) + { + self waittill("damage",var_00,var_01,var_02,var_03,var_04); + if(isdefined(var_01) && var_01 != self && isdefined(var_04) && maps\mp\_utility::isbulletdamage(var_04)) + { + if(playerplaysqvo(13)) + { + return; + } + } + } +} + +//Function Number: 194 +playerrewardweaponupgrade() +{ + self endon("death"); + self endon("disconnect"); + level endon("game_ended"); + while(maps\mp\zombies\_util::is_true(self.sqawardingweaponupgrade)) + { + wait(0.1); + } + + self.sqawardingweaponupgrade = 1; + var_00 = maps\mp\gametypes\_hud_util::createprimaryprogressbartext(0,185); + var_00 settext(&"ZOMBIE_H2O_SQ_WPN_UPGRADE"); + var_00.fontscale = 0.65; + var_01 = maps\mp\gametypes\_hud_util::createprimaryprogressbartext(0,205); + var_01 thread update_countdown(self); + var_01.fontscale = 1; + common_scripts\utility::waittill_any("timer_countdown_complete"); + var_01 maps\mp\gametypes\_hud_util::destroyelem(); + var_00 maps\mp\gametypes\_hud_util::destroyelem(); + if(isdefined(self.inlaststand) && self.inlaststand == 1) + { + while(self.inlaststand == 1) + { + wait(0.1); + } + } + + if(isdefined(self.iscarrying) && self.iscarrying == 1) + { + while(self.iscarrying == 1) + { + wait(0.1); + } + } + + if(isdefined(self.hasbomb) && self.hasbomb == 1) + { + while(self.hasbomb == 1) + { + wait(0.1); + } + } + + var_02 = maps\mp\zombies\_util::getplayerweaponzombies(self); + var_03 = getweaponbasename(var_02); + if(!maps\mp\zombies\_util::haszombieweaponstate(self,var_03)) + { + self.sqawardingweaponupgrade = undefined; + return; + } + + if(self.weaponstate[var_03]["level"] < 20) + { + maps\mp\zombies\_wall_buys::setweaponlevel(self,var_02,self.weaponstate[var_03]["level"] + 1); + } + else if(self.weaponstate[var_03]["level"] == 20) + { + maps\mp\zombies\_wall_buys::setweaponlevel(self,var_02,25); + } + else + { + self.sqawardingweaponupgrade = undefined; + return; + } + + thread maps\mp\zombies\_zombies_audio::playerweaponupgrade(0,self.weaponstate[var_03]["level"]); + self.sqawardingweaponupgrade = undefined; +} + +//Function Number: 195 +update_countdown(param_00) +{ + param_00 endon("disconnect"); + self endon("death"); + for(var_01 = 0;var_01 < 5;var_01++) + { + var_02 = "" + 5 - var_01; + self settext(var_02); + param_00 playsoundtoplayer("ee_weapon_upgrade_countdown",param_00); + wait(1); + } + + param_00 notify("timer_countdown_complete"); +} + +//Function Number: 196 +onplayerconnectstage12() +{ + level endon("main_stage12_over"); + for(;;) + { + level waittill("connected",var_00); + var_00 thread onplayerspawnedstage12(); + } +} + +//Function Number: 197 +onplayerspawnedstage12() +{ + level endon("main_stage12_over"); + self waittill("spawned_player"); + thread playerrewardprizestage12(); + thread playerhurtvostage12(); +} + +//Function Number: 198 +spawncharactersstage12() +{ + level endon("main_stage12_over"); + level.zmbsqcharacters = []; + setupcharacterlogic(); + for(;;) + { + while(level.players.size != 1) + { + wait 0.05; + } + + docharacterspawn(); + while(level.players.size == 1) + { + wait 0.05; + } + + despawncharacters(); + level.zmbsqcharacters = []; + } +} + +//Function Number: 199 +setupcharacterlogic() +{ + if(!isdefined(level.agent_funcs["sq_character"])) + { + maps\mp\zombies\ranged_elite_soldier::init_ally(); + level.agent_funcs["sq_character"] = level.agent_funcs["ranged_elite_soldier"]; + level.agent_funcs["sq_character"]["think"] = ::characterthink; + level.getloadout["sq_character"] = ::sqcharactergetloadout; + level.onspawnfinished["sq_character"] = ::onspawnfinishedsqcharacter; + var_00 = level.agentclasses["ranged_elite_soldier"]; + maps\mp\zombies\_util::agentclassregister(var_00,"sq_character"); + } +} + +//Function Number: 200 +onspawnfinishedsqcharacter(param_00) +{ + self endon("death"); + self endon("disconnect"); + level endon("game_ended"); + self waittill("applyLoadout"); + var_01 = common_scripts\utility::array_combine(level.players,level.zmbsqcharacters); + for(var_02 = 0;var_02 < 4;var_02++) + { + var_03 = getcharacterbyindex(var_02,var_01); + if(!isdefined(var_03)) + { + self.characterindex = var_02; + setexocharactermodel(); + break; + } + } + + setcharacterbotsettings(); + self agentusescragentclipmask(1); + self.pers["numberOfTimesCloakingUsed"] = 0; + self.pers["numberOfTimesShieldUsed"] = 0; +} + +//Function Number: 201 +setcharacterbotsettings() +{ + self botsetdifficultysetting("meleeReactAllowed",0); + self botsetdifficultysetting("quickPistolSwitch",1); + self botsetdifficultysetting("diveChance",0); + self botsetdifficultysetting("diveDelay",300); + self botsetdifficultysetting("slideChance",0.6); + self botsetdifficultysetting("cornerFireChance",1); + self botsetdifficultysetting("cornerJumpChance",1); + self botsetdifficultysetting("throwKnifeChance",1); + self botsetdifficultysetting("meleeDist",100); + self botsetdifficultysetting("meleeChargeDist",160); + self botsetdifficultysetting("grenadeCookPrecision",100); + self botsetdifficultysetting("grenadeDoubleTapChance",1); + self botsetdifficultysetting("strategyLevel",3); + self botsetdifficultysetting("intelligentSprintLevel",2); + self botsetdifficultysetting("holdBreathChance",1); + self botsetdifficultysetting("intelligentReload",1); + self botsetdifficultysetting("dodgeChance",0.5); + self botsetdifficultysetting("dodgeIntelligence",0.8); + self botsetdifficultysetting("boostSlamChance",0.35); + self botsetdifficultysetting("boostLookAroundChance",1); +} + +//Function Number: 202 +sqcharactergetloadout() +{ + var_00 = ::maps\mp\bots\_bots_loadout::bot_loadout_choose_from_attachmenttable; + var_01 = []; + var_01["loadoutWildcard1"] = "specialty_null"; + var_01["loadoutWildcard2"] = "specialty_null"; + var_01["loadoutWildcard3"] = "specialty_null"; + var_01["loadoutPrimary"] = common_scripts\utility::random(level.ranged_elite_soldier_weapons["primary"]); + var_01["loadoutPrimaryAttachment"] = self [[ var_00 ]]("attachmenttable",var_01,"loadoutPrimaryAttachment",self.personality,self.difficulty); + var_01["loadoutPrimaryAttachment2"] = self [[ var_00 ]]("attachmenttable",var_01,"loadoutPrimaryAttachment2",self.personality,self.difficulty); + var_01["loadoutPrimaryAttachment3"] = "none"; + var_01["loadoutPrimaryBuff"] = "specialty_null"; + var_01["loadoutPrimaryCamo"] = "none"; + var_01["loadoutPrimaryReticle"] = "none"; + var_01["loadoutSecondary"] = common_scripts\utility::random(level.ranged_elite_soldier_weapons["secondary"]); + var_01["loadoutSecondaryAttachment"] = self [[ var_00 ]]("attachmenttable",var_01,"loadoutSecondaryAttachment",self.personality,self.difficulty); + var_01["loadoutSecondaryAttachment2"] = self [[ var_00 ]]("attachmenttable",var_01,"loadoutSecondaryAttachment2",self.personality,self.difficulty); + var_01["loadoutSecondaryAttachment3"] = "none"; + var_01["loadoutSecondaryBuff"] = "specialty_null"; + var_01["loadoutSecondaryCamo"] = "none"; + var_01["loadoutSecondaryReticle"] = "none"; + var_01["loadoutEquipment"] = common_scripts\utility::random(["frag_grenade_mp","semtex_mp"]); + var_01["loadoutEquipmentExtra"] = 0; + var_01["loadoutOffhand"] = "specialty_null"; + var_01["loadoutPerk1"] = "specialty_null"; + var_01["loadoutPerk2"] = "specialty_null"; + var_01["loadoutPerk3"] = "specialty_null"; + var_01["loadoutPerk4"] = "specialty_null"; + var_01["loadoutPerk5"] = "specialty_null"; + var_01["loadoutPerk6"] = "specialty_null"; + var_01["loadoutKillstreaks"][0] = "none"; + var_01["loadoutKillstreaks"][1] = "none"; + var_01["loadoutKillstreaks"][2] = "none"; + var_01["loadoutKillstreaks"][3] = "none"; + for(var_02 = 0;var_02 < 6;var_02++) + { + var_01["loadoutPerks"][var_02] = var_01["loadoutPerk" + var_02 + 1]; + var_01["loadoutPerk" + var_02 + 1] = undefined; + } + + for(var_02 = 0;var_02 < 3;var_02++) + { + var_01["loadoutWildcards"][var_02] = var_01["loadoutWildcard" + var_02 + 1]; + var_01["loadoutWildcard" + var_02 + 1] = undefined; + } + + return var_01; +} + +//Function Number: 203 +characterthink() +{ + self endon("death"); + self endon("disconnect"); + level endon("game_ended"); + self notify("soldier_think"); + self endon("soldier_think"); + childthread maps\mp\zombies\ranged_elite_soldier::ammorefillprimary(); + childthread maps\mp\zombies\ranged_elite_soldier::ammorefillsecondary(); + childthread maps\mp\zombies\killstreaks\_zombie_squadmate::monitorteleporttraversals(); + if(self.team == level.enemyteam) + { + childthread maps\mp\zombies\_util::locateenemypositions(); + return; + } + + maps\mp\_utility::giveperk("specialty_coldblooded",0); +} + +//Function Number: 204 +despawncharacters() +{ + foreach(var_01 in level.zmbsqcharacters) + { + var_01 suicide(); + } +} + +//Function Number: 205 +docharacterspawn() +{ + var_00 = getanyplayer(); + spawncharacters(var_00,3,level.enemyteam); + var_01 = var_00.characterindex; + level.zmbsqcharacterskilled = 0; + foreach(var_03 in level.zmbsqcharacters) + { + var_03.fakeplayer = 1; + var_03 thread playerrewardprizestage12(); + var_03 thread playerhandleicon(); + } +} + +//Function Number: 206 +getanyplayer(param_00) +{ + var_01 = level.players; + if(maps\mp\zombies\_util::is_true(param_00)) + { + var_01 = common_scripts\utility::array_randomize(level.players); + } + + foreach(var_03 in level.players) + { + if(isalive(var_03)) + { + return var_03; + } + } + + if(isdefined(level.player)) + { + return level.player; + } + + return level.players[0]; +} + +//Function Number: 207 +setexocharactermodel() +{ + switch(self.characterindex) + { + case 0: + thread maps\mp\zombies\_util::setcharactermodel("security_exo",1,1); + break; + + case 1: + thread maps\mp\zombies\_util::setcharactermodel("exec_exo",1,1); + break; + + case 2: + thread maps\mp\zombies\_util::setcharactermodel("it_exo",1,1); + break; + + case 3: + default: + thread maps\mp\zombies\_util::setcharactermodel("pilot_exo",1,1); + break; + } +} + +//Function Number: 208 +spawncharacters(param_00,param_01,param_02,param_03) +{ + level endon("main_stage12_over"); + var_04 = 0; + var_05 = []; + var_06 = 0; + while(!var_06) + { + var_07 = getanyplayer(); + var_08 = var_07 maps\mp\zombies\_util::getenemyagents(); + var_09 = maps\mp\zombies\_util::getnumagentswaitingtodeactivate(); + var_04 = var_08.size + var_09 - maps\mp\zombies\zombies_spawn_manager::getmaxenemycount() - param_01; + var_05 = maps\mp\zombies\_util::getarrayofoffscreenagentstorecycle(var_08); + if(var_05.size >= var_04) + { + var_06 = 1; + continue; + } + + wait 0.05; + } + + var_0A = 0; + if(var_04 > 0) + { + maps\mp\zombies\_util::pausezombiespawning(1); + var_0A = 1; + var_05 = common_scripts\utility::array_randomize(var_05); + var_0B = []; + for(var_0C = 0;var_0C < var_04;var_0C++) + { + var_0B[var_0C] = var_05[var_0C]; + } + + foreach(var_0E in var_0B) + { + var_0E suicide(); + } + + wait(0.5); + } + + if(!isdefined(param_03)) + { + param_03 = getnodesforenemycharacters(param_00,param_01); + } + + level.zmbsqcharacters = []; + for(var_0C = 0;var_0C < param_01;var_0C++) + { + var_12 = param_03[var_0C].origin; + var_13 = vectortoangles(param_00.origin - param_03[var_0C].origin); + var_14 = "sq_character"; + var_15 = maps\mp\agents\_agent_common::connectnewagent(var_14,param_02); + var_15 maps\mp\agents\_agents::spawn_agent_player(var_12,var_13); + level.zmbsqcharacters[level.zmbsqcharacters.size] = var_15; + var_16 = 100; + var_15 maps\mp\agents\_agent_common::set_agent_health(var_16); + maps\mp\gametypes\_battlechatter_mp::disablebattlechatter(var_15); + playfx(common_scripts\utility::getfx("npc_teleport_ally"),var_12,(1,0,0),(0,0,1)); + wait 0.05; + } + + if(var_0A) + { + maps\mp\zombies\_util::pausezombiespawning(0); + } +} + +//Function Number: 209 +getnodesforenemycharacters(param_00,param_01) +{ + var_02 = maps\mp\zombies\_zombies_zone_manager::getcurrentplayeroccupiedzones(); + var_03 = []; + var_04 = []; + var_05 = []; + while(!isdefined(level.zone_data)) + { + wait 0.05; + } + + while(!isdefined(level.closetpathnodescalculated) || !level.closetpathnodescalculated) + { + wait 0.05; + } + + foreach(var_07 in level.zone_data.zones) + { + if(!isdefined(var_07.volumes)) + { + continue; + } + + if(!maps\mp\zombies\_zombies_zone_manager::iszoneenabled(var_07.zone_name)) + { + continue; + } + + if(isdefined(level.ammodroneillegalzones)) + { + if(common_scripts\utility::array_contains(level.ammodroneillegalzones,var_07.zone_name)) + { + continue; + } + } + + if(!common_scripts\utility::array_contains(var_02,var_07.zone_name)) + { + var_03[var_03.size] = var_07; + continue; + } + + var_04[var_04.size] = var_07; + } + + if(var_03.size == 0) + { + var_03 = var_04; + } + + var_03 = common_scripts\utility::array_randomize(var_03); + foreach(var_07 in var_03) + { + var_0A = var_07.volumes[randomint(var_07.volumes.size)]; + var_0B = getnodesintrigger(var_0A); + var_0C = []; + foreach(var_0E in var_0B) + { + if(!var_0E nodeisdisconnected() && isdefined(var_0E.zombieszone)) + { + var_0C[var_0C.size] = var_0E; + } + } + + var_05[var_05.size] = var_0C[randomint(var_0C.size)]; + for(var_10 = param_01 - 1;var_10 > 0 && var_05.size < param_01;var_10--) + { + if(var_03.size <= var_10) + { + var_05[var_05.size] = var_0C[randomint(var_0C.size)]; + } + } + + if(var_05.size == param_01) + { + break; + } + } + + return var_05; +} + +//Function Number: 210 +stage12_end(param_00) +{ + level thread dochallengehudcomplete(); + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Completed Oz Challenge 4 - Last One Standing"); +} + +//Function Number: 211 +stage13_init() +{ +} + +//Function Number: 212 +stage13_logic() +{ + var_00 = getent("sqCounterTop0","targetname"); + var_01 = getent("sqCounterTop1","targetname"); + var_02 = getent("sqCounterTop2","targetname"); + var_03 = getent("sqCounterTop3","targetname"); + var_04 = getent("sqCounterBottom0","targetname"); + var_05 = getent("sqCounterBottom1","targetname"); + var_06 = getent("sqCounterBottom2","targetname"); + var_07 = getent("sqCounterBottom3","targetname"); + if(!isdefined(var_00)) + { + return; + } + + var_00 show(); + var_01 show(); + var_02 show(); + var_03 show(); + var_04 show(); + var_05 show(); + var_06 show(); + var_07 show(); + var_08 = [var_00,var_01,var_02,var_03]; + var_09 = [var_04,var_05,var_06,var_07]; + level.zmbsqcountertop = setupcounter(var_08); + level.zmbsqcounterbottom = setupcounter(var_09); + runcounterpuzzlelogic(level.zmbsqcountertop,level.zmbsqcounterbottom); + level thread delaydeletecounters(var_08,var_09); + maps\mp\mp_zombie_h2o_aud::sndcounterdigitsuccess(); + announcerglobalplaysqvowaittilldone(6,2); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage13"); +} + +//Function Number: 213 +delaydeletecounters(param_00,param_01) +{ + wait(1); + foreach(var_03 in param_00) + { + var_03 delete(); + } + + foreach(var_03 in param_01) + { + var_03 delete(); + } +} + +//Function Number: 214 +runcounterpuzzlelogic(param_00,param_01) +{ + var_02 = randomintrange(1,10); + var_03 = randomintrange(1,10); + var_04 = randomintrange(1,10); + var_05 = randomintrange(1,10); + setcounter(param_00,var_02,var_03,var_04,var_05,"red"); + setcounter(param_01,0,0,0,0,"blue"); + level thread monitorboostslamhits(param_01,0); + level thread monitorjumps(param_01,1); + level thread monitorweaponspickedup(param_01,2); + level thread monitorkills(param_01,3); + for(;;) + { + if(docountersmatch(param_00,param_01)) + { + level notify("sq_counter_puzzle_complete"); + break; + } + + wait 0.05; + } +} + +//Function Number: 215 +docountersmatch(param_00,param_01) +{ + return param_00.digits[0] == param_01.digits[0] && param_00.digits[1] == param_01.digits[1] && param_00.digits[2] == param_01.digits[2] && param_00.digits[3] == param_01.digits[3]; +} + +//Function Number: 216 +monitorboostslamhits(param_00,param_01,param_02) +{ + level endon("main_stage13_over"); + level endon("sq_counter_puzzle_complete"); + if(!isdefined(level.zmbsqboostslamhits)) + { + level.zmbsqboostslamhits = 0; + } + + level.processenemydamagedfunc = ::processenemydamagedfuncsq; + var_03 = level.zmbsqboostslamhits; + for(;;) + { + level waittill("sq_boost_slam_hit"); + waittillframeend; + var_04 = level.zmbsqboostslamhits - var_03; + var_05 = getcounterdigit(param_00,param_01); + var_05 = var_05 + var_04 % 10; + setcounterdigit(param_00,param_01,var_05,"blue"); + var_03 = level.zmbsqboostslamhits; + } +} + +//Function Number: 217 +processenemydamagedfuncsq(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + if(!maps\mp\zombies\_zombies_zone_manager::iszombieinanyzone(param_00)) + { + return; + } + + if(isdefined(param_04) && param_04 == "MOD_SUICIDE") + { + return; + } + + if(isdefined(param_05) && param_05 == "boost_slam_mp") + { + level notify("sq_boost_slam_hit"); + level.zmbsqboostslamhits++; + } +} + +//Function Number: 218 +monitorjumps(param_00,param_01) +{ + level endon("main_stage13_over"); + level endon("sq_counter_puzzle_complete"); + if(!isdefined(level.zmbsqplayerjumps)) + { + level.zmbsqplayerjumps = 0; + } + + level thread onplayerconnectstage13(); + foreach(var_03 in level.players) + { + var_03 thread playermonitorjumps(); + } + + var_05 = level.zmbsqplayerjumps; + for(;;) + { + level waittill("sq_player_jumped"); + waittillframeend; + var_06 = level.zmbsqplayerjumps - var_05; + var_07 = getcounterdigit(param_00,param_01); + var_07 = var_07 + var_06 % 10; + setcounterdigit(param_00,param_01,var_07,"blue"); + var_05 = level.zmbsqplayerjumps; + } +} + +//Function Number: 219 +onplayerconnectstage13() +{ + level endon("main_stage13_over"); + level endon("sq_counter_puzzle_complete"); + for(;;) + { + level waittill("connected",var_00); + var_00 thread onplayerspawnedstage13(); + } +} + +//Function Number: 220 +onplayerspawnedstage13() +{ + level endon("main_stage13_over"); + level endon("sq_counter_puzzle_complete"); + self endon("disconnect"); + self waittill("spawned_player"); + thread playermonitorjumps(); +} + +//Function Number: 221 +playermonitorjumps() +{ + level endon("main_stage13_over"); + level endon("sq_counter_puzzle_complete"); + self endon("disconnect"); + if(!isdefined(level.zmbsqplayerjumps)) + { + level.zmbsqplayerjumps = 0; + } + + for(;;) + { + while(!self isjumping()) + { + wait 0.05; + } + + level.zmbsqplayerjumps++; + level notify("sq_player_jumped"); + while(!self isonground()) + { + wait 0.05; + } + + wait 0.05; + } +} + +//Function Number: 222 +monitorweaponspickedup(param_00,param_01) +{ + level endon("main_stage13_over"); + level endon("sq_counter_puzzle_complete"); + if(!isdefined(level.zmbsqweaponspickedup)) + { + level.zmbsqweaponspickedup = 0; + } + + level.zmbprocessweapongivenfunc = ::zmbprocessweapongivenfunc; + level thread onplayerconnectstage13(); + var_02 = level.zmbsqweaponspickedup; + for(;;) + { + level waittill("sq_weapon_given"); + waittillframeend; + var_03 = level.zmbsqweaponspickedup - var_02; + var_04 = getcounterdigit(param_00,param_01); + var_04 = var_04 + var_03 % 10; + setcounterdigit(param_00,param_01,var_04,"blue"); + var_02 = level.zmbsqweaponspickedup; + } +} + +//Function Number: 223 +zmbprocessweapongivenfunc(param_00,param_01) +{ + if(maps\mp\zombies\_util::iszombieequipment(param_01)) + { + level.zmbsqweaponspickedup++; + level notify("sq_weapon_given"); + } +} + +//Function Number: 224 +monitorkills(param_00,param_01,param_02) +{ + level endon("main_stage13_over"); + level endon("sq_counter_puzzle_complete"); + if(!isdefined(level.zmbsqregularkills)) + { + level.zmbsqregularkills = 0; + } + + level.processenemykilledfunc = ::processenemykilledsq; + var_03 = level.zmbsqregularkills; + for(;;) + { + level waittill("sq_regular_kill"); + waittillframeend; + var_04 = level.zmbsqregularkills - var_03; + var_05 = getcounterdigit(param_00,param_01); + var_05 = var_05 + var_04 % 10; + setcounterdigit(param_00,param_01,var_05,"blue"); + var_03 = level.zmbsqregularkills; + } +} + +//Function Number: 225 +processenemykilledsq(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + if(isdefined(param_03) && param_03 == "MOD_SUICIDE") + { + return; + } + + level notify("sq_regular_kill"); + level.zmbsqregularkills++; +} + +//Function Number: 226 +setcounter(param_00,param_01,param_02,param_03,param_04,param_05) +{ + setcounterdigit(param_00,0,param_01,param_05); + setcounterdigit(param_00,1,param_02,param_05); + setcounterdigit(param_00,2,param_03,param_05); + setcounterdigit(param_00,3,param_04,param_05); +} + +//Function Number: 227 +getcounterdigit(param_00,param_01) +{ + return param_00.digits[param_01]; +} + +//Function Number: 228 +setcounterdigit(param_00,param_01,param_02,param_03) +{ + var_04 = "neon_alphabet_num_0_off"; + switch(param_02) + { + case 0: + if(param_03 == "red") + { + var_04 = "h2o_sign_ee_scoreboard_no_0"; + } + else if(param_03 == "off") + { + var_04 = "h2o_sign_ee_scoreboard_no_0"; + } + else + { + var_04 = "h2o_sign_ee_scoreboard_no_0"; + } + break; + + case 1: + if(param_03 == "red") + { + var_04 = "h2o_sign_ee_scoreboard_no_1"; + } + else + { + var_04 = "h2o_sign_ee_scoreboard_no_1"; + } + break; + + case 2: + if(param_03 == "red") + { + var_04 = "h2o_sign_ee_scoreboard_no_2"; + } + else + { + var_04 = "h2o_sign_ee_scoreboard_no_2"; + } + break; + + case 3: + if(param_03 == "red") + { + var_04 = "h2o_sign_ee_scoreboard_no_3"; + } + else + { + var_04 = "h2o_sign_ee_scoreboard_no_3"; + } + break; + + case 4: + if(param_03 == "red") + { + var_04 = "h2o_sign_ee_scoreboard_no_4"; + } + else + { + var_04 = "h2o_sign_ee_scoreboard_no_4"; + } + break; + + case 5: + if(param_03 == "red") + { + var_04 = "h2o_sign_ee_scoreboard_no_5"; + } + else + { + var_04 = "h2o_sign_ee_scoreboard_no_5"; + } + break; + + case 6: + if(param_03 == "red") + { + var_04 = "h2o_sign_ee_scoreboard_no_6"; + } + else + { + var_04 = "h2o_sign_ee_scoreboard_no_6"; + } + break; + + case 7: + if(param_03 == "red") + { + var_04 = "h2o_sign_ee_scoreboard_no_7"; + } + else + { + var_04 = "h2o_sign_ee_scoreboard_no_7"; + } + break; + + case 8: + if(param_03 == "red") + { + var_04 = "h2o_sign_ee_scoreboard_no_8"; + } + else + { + var_04 = "h2o_sign_ee_scoreboard_no_8"; + } + break; + + case 9: + if(param_03 == "red") + { + var_04 = "h2o_sign_ee_scoreboard_no_9"; + } + else + { + var_04 = "h2o_sign_ee_scoreboard_no_9"; + } + break; + + default: + var_04 = "h2o_sign_ee_scoreboard_no_0"; + break; + } + + param_00.digits[param_01] = param_02; + param_00.digitmodels[param_01] setmodel(var_04); + maps\mp\mp_zombie_h2o_aud::sndcounterdigitflip(param_00.digitmodels[param_01].origin); +} + +//Function Number: 229 +setupcounter(param_00) +{ + var_01 = spawnstruct(); + var_01.digitmodels = param_00; + var_01.digits = [0,0,0,0]; + return var_01; +} + +//Function Number: 230 +stage13_end(param_00) +{ + level.zmbprocessweapongivenfunc = undefined; + level.processenemykilledfunc = undefined; + level.processenemydamagedfunc = undefined; + level.zmbsqboostslamhits = undefined; + level.zmbsqplayerjumps = undefined; + level.zmbsqregularkills = undefined; + level.zmbsqweaponspickedup = undefined; + level.zmbsqcountertop = undefined; + level.zmbsqcounterbottom = undefined; + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Completed counters puzzle"); +} + +//Function Number: 231 +stage10_init() +{ +} + +//Function Number: 232 +stage10_logic() +{ + level thread announcerozglobalplaysq(21); + if(shoulddelayforbossround()) + { + waituntilnextround(); + } + + waituntilnextround(); + level thread announcerozglobalplaysq(13); + setomnvar("ui_zm_zone_identifier",3); + level thread runmovementiscostly(); + waituntilnextround(); + var_00 = getteamplayersalive(level.playerteam); + if(var_00 > 0) + { + level thread announcerozglobalplaysq(33); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage10"); + } +} + +//Function Number: 233 +runmovementiscostly() +{ + level.zmbsqlinkent = spawn("script_model",(0,0,0)); + foreach(var_01 in level.players) + { + var_01 thread playertravelcosts(); + } + + level thread onplayerconnectstage10(); +} + +//Function Number: 234 +onplayerconnectstage10() +{ + level endon("main_stage10_over"); + for(;;) + { + level waittill("connected",var_00); + var_00 thread onplayerspawnedstage10(); + } +} + +//Function Number: 235 +onplayerspawnedstage10() +{ + level endon("main_stage10_over"); + self endon("disconnect"); + self waittill("spawned_player"); + thread playertravelcosts(); +} + +//Function Number: 236 +getspendincrement(param_00) +{ + var_01 = int(param_00 * 0.01); + var_02 = var_01 % 5; + var_01 = var_01 - var_02; + return int(max(5,var_01)); +} + +//Function Number: 237 +playertravelcosts() +{ + level endon("main_stage10_over"); + self endon("disconnect"); + var_00 = 0; + var_01 = 1; + var_02 = 20000; + var_03 = 60000; + var_04 = 300; + var_05 = 0; + var_06 = 1; + var_07 = 0; + var_08 = 0; + var_09 = 0; + for(;;) + { + while(self.sessionstate != "playing" || maps\mp\zombies\_util::isplayerteleporting(self)) + { + wait 0.05; + } + + var_0A = self.origin; + wait 0.05; + if(self.sessionstate != "playing" || maps\mp\zombies\_util::isplayerteleporting(self)) + { + continue; + } + + var_0B = distance(self.origin,var_0A); + var_0C = maps\mp\gametypes\zombies::getcurrentmoney(self); + var_0D = getspendincrement(var_0C); + var_0E = var_0D / 50; + var_00 = var_00 + var_0B * var_0E; + if(var_00 >= var_0D) + { + var_0C = maps\mp\gametypes\zombies::getcurrentmoney(self); + var_0F = int(var_00 - int(var_00) % var_0D); + var_00 = var_00 - var_0F; + if(var_0F > var_0C) + { + var_0F = var_0C; + } + + if(var_0F > 0) + { + maps\mp\gametypes\zombies::spendmoney(var_0F); + if(!maps\mp\zombies\_zombies_audio_announcer::isanyannouncerspeaking() && !var_05 && playerplaysqvo(14)) + { + var_05 = 1; + } + } + } + + var_0C = maps\mp\gametypes\zombies::getcurrentmoney(self); + if(!var_06 && var_0C > var_04) + { + var_06 = 1; + } + + if(var_0C > 0 && var_0C < var_04 && var_07 < gettime()) + { + if(var_06 && playerplaysqvo(15)) + { + var_07 = gettime() + var_03; + var_06 = 0; + } + } + + if(!var_0C && self isonground() && !self islinked()) + { + if(var_08 < gettime()) + { + if(playerplaysqvo(16)) + { + var_08 = gettime() + var_02; + if(!var_09) + { + level thread announcerozglobalplaysq(32); + var_09 = 1; + } + } + } + + self playerlinkto(level.zmbsqlinkent); + self playerlinkedoffsetenable(); + var_01 = 1; + continue; + } + + if(var_0C && var_01) + { + self unlink(); + var_01 = 0; + } + } +} + +//Function Number: 238 +stage10_end(param_00) +{ + if(isdefined(level.zmbsqlinkent)) + { + level.zmbsqlinkent delete(); + } + + level thread dochallengehudcomplete(); + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Completed Oz Challenge 3 - Movement is Costly"); +} + +//Function Number: 239 +stage15_init() +{ +} + +//Function Number: 240 +stage15_logic() +{ + announcerglobalplaysqvowaittilldone(11,1); + wait(0.5); + announcerozglobalplaysqwaittilldone(14); + var_00 = undefined; + var_01 = common_scripts\utility::getstruct("sqMemoryDevice","targetname"); + if(isdefined(var_01)) + { + var_00 = spawn("script_model",var_01.origin); + var_00 setmodel("tag_origin"); + var_00.angles = var_01.angles; + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("sq_memory_machine_off"),var_00,"tag_origin"); + } + + var_02 = common_scripts\utility::getstruct("sqComputer","targetname"); + if(!isdefined(var_02)) + { + return; + } + + var_03 = 76; + for(;;) + { + for(;;) + { + var_04 = var_02 maps\mp\zombies\_zombies_sidequests::fake_use("computer_used",undefined,undefined,"main_stage15_over",var_03); + if(maps\mp\zombies\_util::is_true(level.zmbbosscountdowninprogress)) + { + maps\mp\mp_zombie_h2o_aud::sndcomputerfail(var_02.origin); + wait(1); + continue; + } + + thread maps\mp\mp_zombie_h2o_aud::sndusememorymachine(var_02); + var_05 = maps\mp\zombies\_zombies_zone_manager::getplayersinzone("easter_egg",0); + if(level.players.size == var_05.size) + { + if(isdefined(var_00)) + { + maps\mp\zombies\_util::stopfxontagnetwork(common_scripts\utility::getfx("sq_memory_machine_off"),var_00,"tag_origin"); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("sq_memory_machine_on"),var_00,"tag_origin"); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("station_buy_exo"),var_00,"tag_origin",1); + } + + announcerglobalplaysqvowaittilldone(16); + break; + } + else + { + maps\mp\mp_zombie_h2o_aud::sndcomputerfail(var_02.origin); + } + + wait(1); + } + + var_06 = runbussequence(); + if(maps\mp\zombies\_util::is_true(var_06)) + { + break; + } + + wait(1); + if(isdefined(var_00)) + { + maps\mp\zombies\_util::stopfxontagnetwork(common_scripts\utility::getfx("sq_memory_machine_on"),var_00,"tag_origin"); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("sq_memory_machine_off"),var_00,"tag_origin"); + } + + wait(2); + } + + if(isdefined(var_00)) + { + maps\mp\zombies\_util::stopfxontagnetwork(common_scripts\utility::getfx("sq_memory_machine_on"),var_00,"tag_origin"); + } + + foreach(var_04 in level.players) + { + if(var_04 maps\mp\_utility::isjuggernaut()) + { + var_04 dodamage(var_04.mechhealth,var_04.origin); + } + + if(isalive(var_04)) + { + var_04 notify("stop_useHoldThinkLoop"); + } + } + + wait(2); + if(isdefined(var_00)) + { + var_00 delete(); + } + + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage15"); +} + +//Function Number: 241 +stage15_end(param_00) +{ + level.zmbsqbusroundnum = undefined; + level.zmbbossteleportdelay = undefined; + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Completed Bus Memory Sequence"); +} + +//Function Number: 242 +runbussequence() +{ + level.zmbbossteleportdelay = 1; + level.zone_data.zones["bus"].is_enabled = 1; + maps\mp\zombies\_util::pausezombiespawning(1); + level.zmbpauselightningflashes = 1; + teleportplayerstobuszone(); + var_00 = runbusroundlogic(); + busroundcomplete(); + return var_00; +} + +//Function Number: 243 +monitorplayersleavebusarena() +{ + level endon("main_stage15_over"); + level endon("bus_round_complete"); + var_00 = getent("sqBusFloorTeleport","targetname"); + for(;;) + { + var_00 waittill("trigger",var_01); + if(isplayer(var_01)) + { + level notify("bus_round_complete"); + return; + } + } +} + +//Function Number: 244 +monitorplayersalive() +{ + level endon("main_stage15_over"); + level endon("bus_round_complete"); + level waittill("bleedout"); + level notify("bus_round_complete"); +} + +//Function Number: 245 +monitorplayerdisconnects() +{ + foreach(var_01 in level.players) + { + var_01 thread playernotifyondisconnectstage15(); + } +} + +//Function Number: 246 +playernotifyondisconnectstage15() +{ + level endon("main_stage15_over"); + level endon("bus_round_complete"); + self waittill("disconnect"); + level notify("bus_round_complete"); +} + +//Function Number: 247 +busroundcomplete() +{ + level notify("bus_round_complete"); + teleportplayersback(); + if(isdefined(level.zmbsqpreviousspecialmutators)) + { + maps\mp\zombies\_util::enablepickups(); + level.disablespawning = undefined; + level.special_mutators = level.zmbsqpreviousspecialmutators; + level.zmbsqpreviousspecialmutators = undefined; + level.movemodefunc["zombie_generic"] = undefined; + level.moveratescalefunc["zombie_generic"] = undefined; + level.nonmoveratescalefunc["zombie_generic"] = undefined; + level.traverseratescalefunc["zombie_generic"] = undefined; + if(isdefined(level.zmbsqpreviousroundhealth)) + { + var_00 = maps\mp\zombies\_util::agentclassget("zombie_generic"); + var_00.roundhealth = level.zmbsqpreviousroundhealth; + level.zmbsqpreviousroundhealth = undefined; + } + + var_01 = common_scripts\utility::getstructarray("sqBusPlayerSpawner","targetname"); + foreach(var_03 in var_01) + { + var_03.used = undefined; + } + } + + var_05 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + foreach(var_07 in var_05) + { + var_07 dodamage(var_07.health + 1,var_07.origin); + } + + level.zone_data.zones["bus"].is_enabled = 0; + maps\mp\zombies\_util::pausezombiespawning(0); + level.zmbbossteleportdelay = undefined; + level.zmbpauselightningflashes = undefined; +} + +//Function Number: 248 +runbusroundlogic() +{ + level endon("bus_round_complete"); + level common_scripts\utility::waittill_notify_or_timeout("sq_player_teleport_to_bus_zone",1.8); + level thread spawncharactersstage15(); + level thread monitorplayersleavebusarena(); + level thread monitorplayersalive(); + level thread monitorplayerdisconnects(); + wait(1); + var_00 = getcharacterbyprefixstage15("janitor"); + var_01 = getcharacterbyprefixstage15("it"); + var_02 = getcharacterbyprefixstage15("exec"); + var_03 = getcharacterbyprefixstage15("guard"); + var_01 playerplaysqvo(27,0.5,1); + var_00 playerplaysqvo(35,0.5,1); + var_01 playerplaysqvo(28,0.5,1); + var_00 playerplaysqvo(36,0.5,1); + maps\mp\zombies\_util::disablepickups(); + level.disablespawning = 1; + level.zmbsqpreviousspecialmutators = level.special_mutators; + level.special_mutators = []; + maps\mp\zombies\zombies_spawn_manager::defaultmutatorsetup(); + level.movemodefunc["zombie_generic"] = ::calulatezombiemovemode; + level.moveratescalefunc["zombie_generic"] = ::calculatezombiemoveratescale; + level.nonmoveratescalefunc["zombie_generic"] = ::calculatezombienonmoveratescale; + level.traverseratescalefunc["zombie_generic"] = ::calculatezombietraverseratescale; + var_04 = maps\mp\zombies\_util::agentclassget("zombie_generic"); + level.zmbsqpreviousroundhealth = var_04.roundhealth; + level.zmbsqbusroundnum = 12; + var_04.roundhealth = calculatezombiehealth(var_04); + var_05 = 100; + for(var_06 = 0;var_06 < var_05;var_06++) + { + while(maps\mp\zombies\_util::iszombiegamepaused()) + { + wait 0.05; + } + + while(maps\mp\agents\_agent_utility::getnumactiveagents() >= level.maxenemycount) + { + wait(0.1); + } + + var_07 = maps\mp\zombies\zombies_spawn_manager::spawnzombietype("zombie_generic",undefined,::applyzombiemutatorbusround); + var_07.hastraversed = 1; + wait(0.1); + } + + for(var_08 = 1;var_08 > 0;var_08 = maps\mp\agents\_agent_utility::getnumactiveagents("zombie_generic")) + { + wait(0.1); + } + + wait(2); + var_00 playerplaysqvo(41,0.5,1); + var_02 playerplaysqvo(29,0.5,1); + var_00 playerplaysqvo(42,0.5,1); + var_02 playerplaysqvo(30,0.5,1); + var_00 playerplaysqvo(43,0.5,1); + var_03 playerplaysqvo(28,0.5,1); + var_00 playerplaysqvo(44,0.5,1); + var_01 playerplaysqvo(31,0.5,1); + var_03 playerplaysqvo(29,0.5,1); + var_00 playerplaysqvo(45,0.5,1); + var_02 playerplaysqvo(31,0.5,1); + var_00 playerplaysqvo(46,0.5,1); + var_00 playerplaysqvo(47,0.5,1); + var_03 playerplaysqvo(30,0.5,1); + level.zmbsqbusroundnum = 20; + var_04.roundhealth = calculatezombiehealth(var_04); + var_09 = 100; + for(var_06 = 0;var_06 < var_05;var_06++) + { + while(maps\mp\zombies\_util::iszombiegamepaused()) + { + wait 0.05; + } + + while(maps\mp\agents\_agent_utility::getnumactiveagents() >= level.maxenemycount) + { + wait(0.1); + } + + var_07 = maps\mp\zombies\zombies_spawn_manager::spawnzombietype("zombie_generic",undefined,::applyzombiemutatorbusround); + var_07.hastraversed = 1; + wait(0.1); + } + + for(var_08 = 1;var_08 > 0;var_08 = maps\mp\agents\_agent_utility::getnumactiveagents("zombie_generic")) + { + wait(0.1); + } + + wait(2); + var_00 playerplaysqvo(48,0.5,1); + var_00 playerplaysqvo(49,0.5,1); + var_03 playerplaysqvo(31,0.5,1); + var_00 playerplaysqvo(50,0.5,1); + var_00 playerplaysqvo(51,0.5,1); + var_00 playerplaysqvo(52,0.5,1); + wait(1); + return 1; +} + +//Function Number: 249 +getcharacterbyprefixstage15(param_00) +{ + var_01 = maps\mp\zombies\_zombies_audio::getcharacterbyprefix(param_00); + if(isdefined(var_01)) + { + return var_01; + } + else + { + var_02 = maps\mp\zombies\_zombies_audio::getcharacterindexbyprefix(param_00); + foreach(var_04 in level.zmbsqcharacters) + { + if(var_04.characterindex == var_02) + { + return var_04; + } + } + } + + return level.players[0]; +} + +//Function Number: 250 +applyzombiemutatorbusround(param_00) +{ + if(!isscriptedagent(param_00)) + { + return; + } + + var_01 = param_00 maps\mp\zombies\zombies_spawn_manager::specialmutatorshouldapply(level.zmbsqbusroundnum); + var_02 = []; + var_03 = param_00 maps\mp\zombies\zombies_spawn_manager::exomutatorshouldapply(level.zmbsqbusroundnum) || var_01; + if(var_03) + { + param_00 thread maps\mp\zombies\_mutators::mutator_apply("exo"); + } + + if(var_01) + { + var_04 = []; + var_05 = 0; + foreach(var_0A, var_07 in level.special_mutators) + { + var_08 = var_07[0]; + var_09 = var_07[1]; + if(isdefined(level.mutators_disabled[param_00.agent_type])) + { + if(isdefined(level.mutators_disabled[param_00.agent_type][var_0A]) && level.mutators_disabled[param_00.agent_type][var_0A]) + { + continue; + } + } + + if(param_00 [[ var_08 ]](level.zmbsqbusroundnum)) + { + var_04[var_04.size] = var_0A; + var_05 = var_05 + var_09; + } + } + + var_0B = randomfloat(var_05); + var_0C = 0; + foreach(var_0A in var_04) + { + var_09 = level.special_mutators[var_0A][1]; + if(var_0B > var_0C && var_0B <= var_0C + var_09) + { + param_00 thread maps\mp\zombies\_mutators::mutator_apply(var_0A); + break; + } + + var_0C = var_0C + var_09; + } + } +} + +//Function Number: 251 +spawncharactersstage15() +{ + level.zmbsqcharacters = []; + setupcharacterlogic(); + maps\mp\zombies\_util::initializecharactermodel("janitor","janitor_body_dlc2","viewhands_janitor",["janitor_head_dlc2"]); + maps\mp\zombies\_util::initializecharactermodel("janitor_exo","janitor_body_exo_dlc2","viewhands_janitor_exo",["janitor_head_dlc2"]); + var_00 = getanyplayer(); + var_01 = getnumplayersalive(); + var_02 = 4 - var_01; + if(var_02 > 0) + { + var_03 = getbuszonecharacterspawns(); + spawncharacters(var_00,var_02,level.playerteam,var_03); + var_04 = getanyplayer(); + foreach(var_06 in level.zmbsqcharacters) + { + var_06.bypassagentcorpse = 1; + var_06.godmode = 1; + var_06.fakeplayer = 1; + var_06 maps\mp\zombies\_util::setcharacteraudio(var_06.characterindex,1); + } + } + + var_08 = getcharacterbyindex(3,level.players); + if(!isdefined(var_08)) + { + var_08 = getcharacterbyindex(3,level.zmbsqcharacters); + } + + if(isplayer(var_08)) + { + var_08 maps\mp\zombies\_util::setcharacteraudio(3,1); + } + + var_09 = !isplayer(var_08); + var_0A = "janitor"; + if(maps\mp\zombies\_util::is_true(var_08.exosuitonline) || !isplayer(var_08)) + { + var_0A = "janitor_exo"; + } + + var_08 thread maps\mp\zombies\_util::setcharactermodel(var_0A,1,var_09); + level waittill("bus_round_complete"); + if(isplayer(var_08)) + { + if(isalive(var_08)) + { + var_0A = "pilot"; + if(maps\mp\zombies\_util::is_true(var_08.exosuitonline)) + { + var_0A = "pilot_exo"; + } + + var_08 thread maps\mp\zombies\_util::setcharactermodel(var_0A,1); + } + + var_08 maps\mp\zombies\_util::setcharacteraudio(3,0); + } + + despawncharacters(); +} + +//Function Number: 252 +getprefixbycharacterindex(param_00) +{ + switch(param_00) + { + case 0: + return "guard"; + + case 1: + return "exec"; + + case 2: + return "it"; + + case 3: + return "janitor"; + } +} + +//Function Number: 253 +getbuszonecharacterspawns() +{ + var_00 = common_scripts\utility::getstructarray("sqBusPlayerSpawner","targetname"); + var_01 = []; + foreach(var_03 in var_00) + { + if(!maps\mp\zombies\_util::is_true(var_03.used)) + { + var_01[var_01.size] = var_03; + } + } + + return var_01; +} + +//Function Number: 254 +getnumplayersalive() +{ + var_00 = 0; + foreach(var_02 in level.players) + { + if(isalive(var_02)) + { + var_00++; + } + } + + return var_00; +} + +//Function Number: 255 +getcharacterbyindex(param_00,param_01) +{ + foreach(var_03 in param_01) + { + if(isdefined(var_03.characterindex) && var_03.characterindex == param_00) + { + return var_03; + } + } +} + +//Function Number: 256 +calculatezombiehealth(param_00) +{ + var_01 = 150; + if(level.zmbsqbusroundnum == 1) + { + var_02 = var_01; + } + else if(level.zmbsqbusroundnum <= 9) + { + var_02 = var_02 + level.zmbsqbusroundnum - 1 * 100; + } + else + { + var_03 = 950; + var_04 = level.zmbsqbusroundnum - 9; + var_02 = var_03 * pow(1.1,var_04); + } + + var_02 = int(var_02 * param_00.health_scale); + return var_02; +} + +//Function Number: 257 +calulatezombiemovemode() +{ + var_00 = 7; + var_01 = calculatezombieroundindex(var_00); + var_02 = int(var_01 / var_00); + return level.zombie_move_modes[int(clamp(var_02,0,level.zombie_move_modes.size - 1))]; +} + +//Function Number: 258 +calculatezombiemoveratescale() +{ + var_00 = 7; + var_01 = calculatezombieroundindex(var_00); + var_02 = var_01 % var_00; + var_03 = float(var_02) / float(var_00 - 1); + var_04 = maps\mp\zombies\_util::lerp(var_03,level.moveratescalemod[self.movemode][0],level.moveratescalemod[self.movemode][1]); + if(level.zmbsqbusroundnum > 24) + { + var_04 = var_04 + 0.05; + } + + if(level.zmbsqbusroundnum > 29) + { + var_04 = var_04 + 0.05; + } + + var_04 = var_04 * maps\mp\zombies\_zombies::getbuffspeedmultiplier(); + return var_04; +} + +//Function Number: 259 +calculatezombienonmoveratescale() +{ + var_00 = level.nonmoveratescalemod[self.movemode]; + var_00 = var_00 * maps\mp\zombies\_zombies::getbuffspeedmultiplier(); + return var_00; +} + +//Function Number: 260 +calculatezombietraverseratescale() +{ + var_00 = 7; + var_01 = calculatezombieroundindex(var_00); + var_02 = var_01 / level.zombie_move_modes.size * var_00 - 1; + var_03 = maps\mp\zombies\_util::lerp(var_02,level.traverseratescalemod[0],level.traverseratescalemod[1]); + if(level.zmbsqbusroundnum > 24) + { + var_03 = var_03 + 0.05; + } + + if(level.zmbsqbusroundnum > 29) + { + var_03 = var_03 + 0.05; + } + + var_03 = var_03 * maps\mp\zombies\_zombies::getbuffspeedmultiplier(); + return var_03; +} + +//Function Number: 261 +calculatezombieroundindex(param_00) +{ + var_01 = level.zmbsqbusroundnum - 1; + if(isdefined(self.moverateroundmod)) + { + var_01 = var_01 + self.moverateroundmod; + } + + var_01 = int(clamp(var_01,0,level.zombie_move_modes.size * param_00 - 1)); + return var_01; +} + +//Function Number: 262 +teleportplayerstobuszone() +{ + level thread hideshowkillstreakicons(); + var_00 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + foreach(var_02 in var_00) + { + var_02 dodamage(var_02.health + 500000,var_02.origin); + } + + var_04 = common_scripts\utility::getstructarray("sqBusPlayerSpawner","targetname"); + if(!isdefined(var_04)) + { + var_04 = []; + var_05 = spawnstruct(); + var_05.origin = (764,-68,152); + var_05.angles = (0,190,0); + var_04[var_04.size] = var_05; + var_04[var_04.size] = var_05; + var_04[var_04.size] = var_05; + var_04[var_04.size] = var_05; + } + + for(var_06 = 0;var_06 < level.players.size;var_06++) + { + level.players[var_06] thread playerteleporttobuszone(var_04[var_06]); + } + + level thread maps\mp\mp_zombie_h2o_aud::sndbusmusic(); + stopclientexploder(60); +} + +//Function Number: 263 +playerteleporttobuszone(param_00) +{ + if(!isdefined(self.memorytunnelfx)) + { + self.memorytunnelfx = spawnfxforclient(common_scripts\utility::getfx("sq_memory_tunnel_player"),self.origin,self); + self.memorytunnelfx thread teleportfxdelete(self); + } + + triggerfx(self.memorytunnelfx); + self.disabletombstonedropinarea = 1; + param_00.used = 1; + maps\mp\zombies\_teleport::teleport_players_through_chute([self],0,1); + thread maps\mp\zombies\_teleport::reset_teleport_flag_after_time([self],0.75); + self setorigin(param_00.origin,1); + self setplayerangles(param_00.angles); + self setclientomnvar("ui_zm_ee_bool2",1); + self.inbuszone = 1; + level notify("sq_player_teleport_to_bus_zone"); + thread maps\mp\mp_zombie_h2o_aud::sndteleporttobuszone(); +} + +//Function Number: 264 +teleportfxdelete(param_00) +{ + self endon("death"); + param_00 waittill("disconnect"); + self delete(); +} + +//Function Number: 265 +teleportplayersback() +{ + var_00 = common_scripts\utility::getstructarray("sqExoCorePlayerSpawner","targetname"); + if(!isdefined(var_00)) + { + var_00 = []; + var_01 = spawnstruct(); + var_01.origin = (452,2968,-92); + var_01.angles = (0,190,0); + var_00[var_00.size] = var_01; + var_00[var_00.size] = var_01; + var_00[var_00.size] = var_01; + var_00[var_00.size] = var_01; + } + + for(var_02 = 0;var_02 < level.players.size;var_02++) + { + level.players[var_02] thread playerteleportback(var_00[var_02]); + } + + activatepersistentclientexploder(60); +} + +//Function Number: 266 +playerteleportback(param_00) +{ + if(!isdefined(self.memorytunnelfx)) + { + self.memorytunnelfx = spawnfxforclient(common_scripts\utility::getfx("sq_memory_tunnel_player"),self.origin,self); + self.memorytunnelfx thread teleportfxdelete(self); + } + + triggerfx(self.memorytunnelfx); + maps\mp\zombies\_teleport::teleport_players_through_chute([self],0,1); + thread maps\mp\zombies\_teleport::reset_teleport_flag_after_time([self],0.75); + self setorigin(param_00.origin,1); + self setplayerangles(param_00.angles); + self setclientomnvar("ui_zm_ee_bool2",0); + self.inbuszone = undefined; + level notify("sq_teleport_players_back"); + self.disabletombstonedropinarea = undefined; +} + +//Function Number: 267 +hideshowkillstreakicons() +{ + level.disablecarepackagedrops = 1; + wait 0.05; + var_00 = getentarray("care_package","targetname"); + foreach(var_02 in var_00) + { + var_02 thread carepackagehidehudicon(); + } + + var_04 = getentarray("goliath_pod_model","targetname"); + foreach(var_06 in var_04) + { + var_06 thread carepackagehidehudicon(); + } + + level waittill("sq_teleport_players_back"); + level.disablecarepackagedrops = undefined; +} + +//Function Number: 268 +carepackagehidehudicon() +{ + level endon("sq_teleport_players_back"); + self endon("death"); + while(!isdefined(self.entityheadicons) || self.entityheadicons.size == 0) + { + wait 0.05; + } + + foreach(var_01 in self.entityheadicons) + { + var_01.alpha = 0; + } + + thread carepackagedelayshowhudicon(); +} + +//Function Number: 269 +carepackagedelayshowhudicon() +{ + self endon("death"); + level waittill("sq_teleport_players_back"); + if(isdefined(self.entityheadicons)) + { + foreach(var_01 in self.entityheadicons) + { + var_01.alpha = 1; + } + } +} + +//Function Number: 270 +init_song_sidequest() +{ + level.sq_song_ent = getent("sq_song","targetname"); + if(!isdefined(level.sq_song_ent)) + { + level.sq_song_ent = spawn("script_model",(0,0,0)); + } +} + +//Function Number: 271 +sidequest_logic_song() +{ + var_00 = 0; + var_01 = 0; + var_02 = 0; + maps\mp\zombies\_zombies_sidequests::stage_start("song","stage1"); + maps\mp\zombies\_zombies_sidequests::stage_start("song","stage2"); + maps\mp\zombies\_zombies_sidequests::stage_start("song","stage3"); + var_03 = 0; + for(;;) + { + var_04 = level common_scripts\utility::waittill_any_return_no_endon_death("song_stage1_over","song_stage2_over","song_stage3_over"); + var_03++; + if(var_03 < 3) + { + thread song_play(var_03); + continue; + } + + song_play(2); + thread song_play(); + break; + } +} + +//Function Number: 272 +song_play(param_00) +{ + level notify("sq_song_play"); + level endon("sq_song_play"); + level endon("sq_song_stop"); + if(maps\mp\zombies\_util::is_true(level.sq_song_ent.playing)) + { + level.sq_song_ent stopsounds(); + level.sq_song_ent.playing = 0; + wait(0.2); + } + + var_01 = "zmb_mus_ee_05"; + if(!isdefined(param_00) || param_00 <= 0) + { + param_00 = musiclength("zmb_mus_ee_05"); + } + else + { + var_01 = "zmb_mus_ee_05_prvw"; + } + + level.sq_song_ent playsoundonmovingent(var_01); + level.sq_song_ent.playing = 1; + wait(param_00); + level.sq_song_ent stopsounds(); + level.sq_song_ent.playing = 0; +} + +//Function Number: 273 +song_stop() +{ + level.sq_song_ent stopsounds(); + level.sq_song_ent.playing = 0; + level notify("sq_song_stop"); +} + +//Function Number: 274 +song_fake_use(param_00,param_01,param_02,param_03) +{ + var_04 = spawnstruct(); + var_04.origin = param_00; + var_04 thread maps\mp\zombies\_zombies_sidequests::fake_use("activated",undefined,undefined,"song_stage" + param_01 + "_over",param_02,param_03); + var_04 waittill("activated",var_05); + return var_05; +} + +//Function Number: 275 +songstage1_init() +{ +} + +//Function Number: 276 +songstage1_logic() +{ + var_00 = song_fake_use((-550,2719,-76),1,100,1); + maps\mp\zombies\_zombies_sidequests::stage_completed("song","stage1"); +} + +//Function Number: 277 +songstage1_end(param_00) +{ +} + +//Function Number: 278 +songstage2_init() +{ +} + +//Function Number: 279 +songstage2_logic() +{ + var_00 = song_fake_use((-2000,4506,836),2,100,1); + maps\mp\zombies\_zombies_sidequests::stage_completed("song","stage2"); +} + +//Function Number: 280 +songstage2_end(param_00) +{ +} + +//Function Number: 281 +songstage3_init() +{ +} + +//Function Number: 282 +songstage3_logic() +{ + var_00 = song_fake_use((-512,69,181.1),3,160,1); + maps\mp\zombies\_zombies_sidequests::stage_completed("song","stage3"); +} + +//Function Number: 283 +songstage3_end(param_00) +{ +} + +//Function Number: 284 +musiclength(param_00) +{ + var_01 = tablelookup("mp/sound/soundlength_zm_mp_dlc4.csv",0,param_00,1); + if(!isdefined(var_01) || var_01 == "") + { + return 2; + } + + var_01 = int(var_01); + var_01 = var_01 * 0.001; + return var_01; +} + +//Function Number: 285 +dofakevo(param_00) +{ + iprintlnbold(param_00); +} + +//Function Number: 286 +dofakevomultiline(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + dofakevo(param_00); + if(isdefined(param_01)) + { + wait(3); + dofakevo(param_01); + } + + if(isdefined(param_02)) + { + wait(3); + dofakevo(param_02); + } + + if(isdefined(param_03)) + { + wait(3); + dofakevo(param_03); + } + + if(isdefined(param_04)) + { + wait(3); + dofakevo(param_04); + } + + if(isdefined(param_05)) + { + wait(3); + dofakevo(param_05); + } + + if(isdefined(param_06)) + { + wait(3); + dofakevo(param_06); + } + + if(isdefined(param_07)) + { + wait(3); + dofakevo(param_07); + } + + if(isdefined(param_08)) + { + wait(3); + dofakevo(param_08); + } +} + +//Function Number: 287 +playerplaysqvo(param_00,param_01,param_02,param_03) +{ + self endon("disconnect"); + self endon("death"); + if(isdefined(param_01) && param_01 > 0) + { + wait(param_01); + } + + if(maps\mp\zombies\_util::is_true(self.speaking)) + { + self waittill("done_speaking"); + } + + if(!isdefined(param_03)) + { + param_03 = "sq"; + } + + var_04 = maps\mp\zombies\_zombies_audio::create_and_play_dialog("sq",param_03,undefined,param_00); + if(var_04 && maps\mp\zombies\_util::is_true(param_02)) + { + wait 0.05; + waittillplayerdonespeaking(self); + } + + return var_04; +} + +//Function Number: 288 +waittillplayerdonespeaking(param_00) +{ + param_00 endon("disconnect"); + if(maps\mp\zombies\_util::is_true(param_00.isspeaking)) + { + param_00 waittill("done_speaking"); + } +} + +//Function Number: 289 +playsqvowaittilldone(param_00,param_01,param_02,param_03) +{ + var_04 = maps\mp\zombies\_zombies_audio::getcharacterbyprefix(param_00); + if(isdefined(var_04)) + { + var_05 = var_04 playerplaysqvo(param_01,param_02,1); + if(isdefined(param_03)) + { + wait(param_03); + } + + return var_05; + } + + return 0; +} + +//Function Number: 290 +announcerinworldplaysqvowaittilldone(param_00,param_01,param_02,param_03) +{ + if(isdefined(param_02) && param_02 > 0) + { + wait(param_02); + } + + if(!isdefined(param_03)) + { + param_03 = level.players; + } + + maps\mp\zombies\_zombies_audio_announcer::waittillallannouncersdonespeaking(); + maps\mp\zombies\_zombies_audio_announcer::announcerinworlddialog("machine_all_players","sq",param_01,undefined,param_00,undefined,undefined,param_03); + maps\mp\zombies\_zombies_audio_announcer::waittillallannouncersdonespeaking(); +} + +//Function Number: 291 +announcerglobalplaysqvo(param_00,param_01,param_02,param_03) +{ + if(isdefined(param_01) && param_01 > 0) + { + wait(param_01); + } + + if(!isdefined(param_02)) + { + param_02 = level.players; + } + + if(!isdefined(param_03)) + { + param_03 = "sq"; + } + + maps\mp\zombies\_zombies_audio_announcer::waittillallannouncersdonespeaking(); + maps\mp\zombies\_zombies_audio_announcer::announcerglobaldialog("global_priority",param_03,undefined,param_00,1,undefined,param_02); +} + +//Function Number: 292 +announcerglobalplaysqvowaittilldone(param_00,param_01,param_02) +{ + if(!isdefined(param_02)) + { + param_02 = level.players; + } + + announcerglobalplaysqvo(param_00,param_01,param_02); + maps\mp\zombies\_zombies_audio_announcer::waittillallannouncersdonespeaking(); +} + +//Function Number: 293 +announcerozglobalplaysqwaittilldone(param_00) +{ + announcerozglobalplaysq(param_00); + waittillannouncerozdonespeaking(); +} + +//Function Number: 294 +announcerozglobalplaysq(param_00,param_01,param_02) +{ + if(isdefined(param_01)) + { + wait(param_01); + } + + if(!isdefined(param_02)) + { + param_02 = level.players; + } + + waittilldonespeaking(); + var_03 = maps\mp\zombies\_zombies_audio_announcer::getannouncers("oz")[0]; + return var_03 maps\mp\zombies\_zombies_audio::create_and_play_dialog("global_priority","sq",undefined,param_00,1,undefined,param_02); +} + +//Function Number: 295 +announcerozinworldplaysq(param_00,param_01,param_02) +{ + waittilldonespeaking(); + var_03 = maps\mp\zombies\_zombies_audio_announcer::getannouncers("oz")[0]; + var_03.origin = param_00; + wait 0.05; + if(isdefined(param_02)) + { + param_02 = common_scripts\utility::array_removeundefined(param_02); + } + + return var_03 maps\mp\zombies\_zombies_audio::create_and_play_dialog("machine_all_players","sq",undefined,param_01,1,undefined,param_02); +} + +//Function Number: 296 +waittillannouncerozdonespeaking(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = maps\mp\zombies\_zombies_audio_announcer::getannouncers("oz")[0]; + } + + if(maps\mp\zombies\_util::is_true(param_00.isspeaking)) + { + param_00 waittill("done_speaking"); + } +} + +//Function Number: 297 +announcerozglobalplaysqfailchallenge() +{ + if(!isdefined(level.sqozwonchallengevo) || level.sqozwonchallengevoindex >= level.sqozwonchallengevo.size) + { + level.sqozwonchallengevo = common_scripts\utility::array_randomize([3,4,5,6,7,8,9,10]); + level.sqozwonchallengevoindex = 0; + } + + announcerozglobalplaysq(level.sqozwonchallengevo[level.sqozwonchallengevoindex]); + level.sqozwonchallengevoindex++; +} + +//Function Number: 298 +anyplayersspeaking() +{ + foreach(var_01 in level.players) + { + if(maps\mp\zombies\_util::is_true(var_01.isspeaking)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 299 +waittilldonespeaking() +{ + while(anyplayersspeaking() || maps\mp\zombies\_zombies_audio_announcer::isanyannouncerspeaking()) + { + wait 0.05; + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_zombie_lab.gsc b/AW/PC/maps/mp/mp_zombie_lab.gsc new file mode 100644 index 0000000..ccd23a7 --- /dev/null +++ b/AW/PC/maps/mp/mp_zombie_lab.gsc @@ -0,0 +1,769 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_zombie_lab.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 23 + * Decompile Time: 364 ms + * Timestamp: 4/22/2024 2:19:46 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\mp\mp_zombie_lab_precache::main(); + maps\mp\mp_zombie_lab_fx::main(); + maps\createart\mp_zombie_lab_fog::main(); + maps\createart\mp_zombie_lab_fog_hdr::main(); + maps\createart\mp_zombie_lab_art::main(); + if(getdvar("r_reflectionProbeGenerate") == "1") + { + onreflectionprobecompile(); + } + + maps\mp\_load::main(); + maps\mp\mp_zombie_lab_lighting::main(); + maps\mp\mp_zombie_lab_aud::main(); + maps\mp\mp_zombie_lab_sq::init_sidequest(); + zombielabfixupminimapcorners(); + maps\mp\_compass::setupminimap("compass_map_mp_zombie_lab"); + game["attackers"] = "allies"; + game["defenders"] = "axis"; + level.zombiehostinit = ::maps\mp\zombies\zombie_host::init; + level.zombiedoginit = ::maps\mp\zombies\zombie_dog::init; + maps\mp\zombies\_util::enabletokens(); + level.zombies_using_civilians = 0; + level.zombieinfectedvisionset = "mp_zombie_lab_infected"; + level.zombieinfectedvisionset2 = "mp_zombie_lab_infected_crazy"; + level.zombieinfectedlightset = "mp_zombie_lab_infected"; + level.onstartgametypelevelfunc = ::onzombielabstartgame; + level._zmbvoxlevelspecific = ::initwaveintermissiondialog; + level.shouldignoreplayercallback = ::labshouldignoreplayer; + thread initlabmutators(); + thread initzones(); + thread initcharactermodels(); + thread biochamber(); + thread deleteexoterminallargetriggeronpower(); + if(level.nextgen) + { + thread crashhelianim(); + } + + if(level.nextgen) + { + level thread zombielabpatchclip(); + } + + level.zmpatchshovefunc = ::zombielabpatchshove; + if(level.currentgen) + { + var_00 = getentarray("CG_ExtraExploitTriggers","targetname"); + foreach(var_02 in var_00) + { + var_02 thread cg_exploittriggermonitor(); + } + + var_00 = getentarray("cg_trigger_break_glass","targetname"); + foreach(var_02 in var_00) + { + var_02 thread cg_breakglasstriggermonitor(); + } + + thread zombiestuckspotfix01(); + } +} + +//Function Number: 2 +zombiestuckspotfix01() +{ + level endon("game_ended"); + var_00 = spawn("trigger_radius",(-956,3572,68),0,164,128); + for(;;) + { + var_00 waittill("trigger",var_01); + if(isdefined(var_01) && !isremovedentity(var_01) && isalive(var_01) && isagent(var_01) && !isdefined(var_01.object_avoid) && isdefined(var_01.team) && var_01.team == level.enemyteam) + { + var_01 scragentsetobstacleavoid(1); + var_01.object_avoid = 1; + var_01 thread resetavoidtimer(); + } + } +} + +//Function Number: 3 +resetavoidtimer() +{ + level endon("game_ended"); + wait(4); + if(isdefined(self) && !isremovedentity(self)) + { + self scragentsetobstacleavoid(0); + self.object_avoid = undefined; + } +} + +//Function Number: 4 +onreflectionprobecompile() +{ + var_00 = getentarray("power_show","targetname"); + foreach(var_02 in var_00) + { + var_02 delete(); + } + + var_04 = getentarray("power_hide","targetname"); + foreach(var_02 in var_04) + { + var_02 delete(); + } +} + +//Function Number: 5 +zombielabfixupminimapcorners() +{ + var_00 = getentarray("minimap_corner","targetname"); + if(var_00.size != 2) + { + return; + } + + var_00[0].origin = (-4608,6912,192); + var_00[1].origin = (3072,-768,128); +} + +//Function Number: 6 +zombielabpatchclip() +{ + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(185,1627,136),(0,-42.7,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(348,3126,180),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_32_32_32",(348,3146,180),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(1355,1095,170),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(988,1287,144),(0,90,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_64_64",(785,1089,144),(0,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(703,1373,104),(0,-45,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(-1009,3372,253),(-5,0,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_128_128",(1094.5,3422.5,392),(0,90,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(-571.5,2502.5,192),(0,45,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(878,1988.5,324),(0,90,0)); + maps\mp\_utility::spawnpatchclip("patchclip_player_16_256_256",(1586.5,1152,336),(5,45,0)); + level thread killglass(); +} + +//Function Number: 7 +zombielabpatchshove(param_00,param_01) +{ + if(param_00) + { + if(self.currentzone == "military" && distancesquared(self.origin,(-1845.12,2704,267.125)) < 16) + { + self setvelocity((100,0,0)); + return; + } + + if(self.currentzone == "experimentation") + { + if(abs(self.origin[2] - 300) < 5 && abs(self.origin[1] - 3187) < 5) + { + var_02 = self getnearestnode(); + if(isdefined(var_02) && self.origin[2] - var_02.origin[2] > 40) + { + self setvelocity((0,-100,0)); + return; + } + + return; + } + + if(distancesquared(self.origin,(376.846,3177.79,286.386)) < 100) + { + self setvelocity((100,-100,0)); + return; + } + + if(distancesquared(self.origin,(375.539,3164.19,284.327)) < 64) + { + self setvelocity((100,0,0)); + return; + } + + if(distancesquared(self.origin,(375.551,3156.28,279.062)) < 16) + { + self setvelocity((100,0,0)); + return; + } + + if(distancesquared(self.origin,(375.59,3144.32,271.104)) < 64) + { + self setvelocity((100,0,0)); + return; + } + + if(distancesquared(self.origin,(378.329,3131.99,262.901)) < 16) + { + self setvelocity((100,0,0)); + return; + } + + if(distancesquared(self.origin,(375.024,3115.55,251.955)) < 16) + { + self setvelocity((100,0,0)); + return; + } + + return; + } + + return; + } + + if(param_01) + { + if(self.currentzone == "roundabout") + { + var_03 = (112,1543,272); + var_04 = vectornormalize(self.origin - var_03 * (1,1,0)); + if(abs(self.origin[2] - 200) < 14) + { + var_02 = self getnearestnode(); + if(isdefined(var_02) && self.origin[2] - var_02.origin[2] > 68) + { + self setvelocity(var_04 * 200); + return; + } + + return; + } + + if(distancesquared(self.origin,(-60.1366,1600.78,248.625)) < 100) + { + self setvelocity(var_04 * 200); + return; + } + + if(distancesquared(self.origin,(-53.4371,1619.16,248.625)) < 16) + { + self setvelocity(var_04 * 200); + return; + } + + return; + } + + if(self.currentzone == "experimentation" && distancesquared(self.origin,(265.649,3985.21,291.625)) < 64) + { + var_02 = self getnearestnode(); + if(isdefined(var_02)) + { + var_05 = vectornormalize(var_02.origin - self.origin * (1,1,0)); + self setvelocity(var_05 * 100); + return; + } + + return; + } + + if(self.currentzone == "lab_hall") + { + if(self.origin[2] > 125) + { + if(self.origin[0] > 1135 && self.origin[0] < 1382 && self.origin[1] > 1601 && self.origin[1] < 1638) + { + self setvelocity((0,-200,0)); + return; + } + + return; + } + + return; + } + + return; + } +} + +//Function Number: 8 +killglass() +{ + for(;;) + { + var_00 = 1; + var_01 = 1; + if(!isdefined(level.players)) + { + wait(1); + } + + foreach(var_03 in level.players) + { + if(!isalive(var_03)) + { + continue; + } + + if(var_03.sessionstate == "spectator" || var_03.sessionstate == "intermission") + { + continue; + } + + if(var_00 && isglassdestroyed(3)) + { + var_00 = 0; + } + + if(var_01 && isglassdestroyed(11)) + { + var_01 = 0; + } + + if(!var_00 && !var_01) + { + break; + } + + if(isdefined(var_03.currentzone) && var_03.currentzone == "lab") + { + if(abs(var_03.origin[0] - 1248) < 6 && abs(var_03.origin[2] - 224) < 5) + { + if(var_00 && abs(var_03.origin[1] - 3261.5) < 50) + { + destroyglass(3); + } + + if(var_01 && abs(var_03.origin[1] - 3344.5) < 50) + { + destroyglass(11); + } + } + } + } + + wait(1); + } +} + +//Function Number: 9 +onzombielabstartgame() +{ + level thread maps\mp\zombies\_teleport::init(); + level thread maps\mp\zombies\_util::outofboundswatch(0); + maps\mp\zombies\_traps::register_trap_state_models("dlc_trap_activation_console_01_no_signal","dlc_trap_activation_console_01_ready","dlc_trap_activation_console_01_active","dlc_trap_activation_console_01_cooldown"); +} + +//Function Number: 10 +initlabmutators() +{ + maps\mp\zombies\_mutators::initfastmutator(); + maps\mp\zombies\_mutators::initexplodermutator(); + maps\mp\zombies\_mutators::initemzmutator(); +} + +//Function Number: 11 +initzones() +{ + maps\mp\zombies\_zombies_zone_manager::init(); + maps\mp\zombies\_zombies_zone_manager::initializezone("courtyard",1); + maps\mp\zombies\_zombies_zone_manager::initializezone("roundabout"); + maps\mp\zombies\_zombies_zone_manager::initializezone("administration"); + maps\mp\zombies\_zombies_zone_manager::initializezone("lab"); + maps\mp\zombies\_zombies_zone_manager::initializezone("lab_hall"); + maps\mp\zombies\_zombies_zone_manager::initializezone("military"); + maps\mp\zombies\_zombies_zone_manager::initializezone("experimentation"); + maps\mp\zombies\_zombies_zone_manager::initializezone("experimentation_stairs"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("courtyard","roundabout","courtyard_to_roundabout"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("courtyard","administration","courtyard_to_administration"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("roundabout","military","roundabout_to_military"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("roundabout","lab_hall","roundabout_to_lab"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("administration","lab_hall","administration_to_lab"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("lab","experimentation","lab_to_experimentation"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("military","experimentation_stairs","military_to_experimentation"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("experimentation","experimentation_stairs","military_or_lab_to_experimentation"); + maps\mp\zombies\_util::flag_link("military_to_experimentation","military_or_lab_to_experimentation"); + maps\mp\zombies\_util::flag_link("lab_to_experimentation","military_or_lab_to_experimentation"); + maps\mp\zombies\_zombies_zone_manager::addadjacentzone("lab","lab_hall","roundabout_or_administration_or_experimentation_to_lab"); + maps\mp\zombies\_util::flag_link("administration_to_lab","roundabout_or_administration_or_experimentation_to_lab"); + maps\mp\zombies\_util::flag_link("roundabout_to_lab","roundabout_or_administration_or_experimentation_to_lab"); + maps\mp\zombies\_util::flag_link("lab_to_experimentation","roundabout_or_administration_or_experimentation_to_lab"); + maps\mp\zombies\_zombies_zone_manager::activate(); + level.doorbitmaskarray = []; + level.doorbitmaskarray["courtyard_to_roundabout"] = 1; + level.doorbitmaskarray["roundabout_to_lab"] = 2; + level.doorbitmaskarray["roundabout_to_military"] = 4; + level.doorbitmaskarray["courtyard_to_administration"] = 8; + level.doorbitmaskarray["administration_to_lab"] = 16; + level.doorbitmaskarray["lab_to_experimentation"] = 32; + level.doorbitmaskarray["military_to_experimentation"] = 64; + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_LAB_DOOR_TO_ROUNDABOUT","courtyard_to_roundabout",0); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_LAB_DOOR_TO_COURTYARD","courtyard_to_roundabout",1); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_LAB_DOOR_TO_LAB","roundabout_to_lab",0); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_LAB_DOOR_TO_ROUNDABOUT","roundabout_to_lab",1); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_LAB_DOOR_TO_MILITARY","roundabout_to_military",0); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_LAB_DOOR_TO_ROUNDABOUT","roundabout_to_military",1); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_LAB_DOOR_TO_ADMIN","courtyard_to_administration",0); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_LAB_DOOR_TO_COURTYARD","courtyard_to_administration",1); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_LAB_DOOR_TO_LAB","administration_to_lab",0); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_LAB_DOOR_TO_ADMIN","administration_to_lab",1); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_LAB_DOOR_TO_EXPER","lab_to_experimentation",0); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_LAB_DOOR_TO_LAB","lab_to_experimentation",1); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_LAB_DOOR_TO_EXPER","military_to_experimentation",0); + maps\mp\zombies\_doors::registerhintstring(&"ZOMBIE_LAB_DOOR_TO_MILITARY","military_to_experimentation",1); +} + +//Function Number: 12 +initcharactermodels() +{ + maps\mp\zombies\_util::initializecharactermodel("security","security_guard_body","viewhands_security_guard",["security_guard_head"]); + maps\mp\zombies\_util::initializecharactermodel("exec","executive_body","viewhands_executive",["executive_head"]); + maps\mp\zombies\_util::initializecharactermodel("it","lilith_body","viewhands_lilith",["lilith_head"]); + maps\mp\zombies\_util::initializecharactermodel("janitor","janitor_body","viewhands_janitor",["janitor_head"]); + maps\mp\zombies\_util::initializecharactermodel("security_exo","security_guard_body_exo","viewhands_security_guard_exo",["security_guard_head"]); + maps\mp\zombies\_util::initializecharactermodel("exec_exo","executive_body_exo","viewhands_executive_exo",["executive_head"]); + maps\mp\zombies\_util::initializecharactermodel("it_exo","lilith_body_exo","viewhands_lilith_exo",["lilith_head"]); + maps\mp\zombies\_util::initializecharactermodel("janitor_exo","janitor_body_exo","viewhands_janitor_exo",["janitor_head"]); + maps\mp\zombies\_util::initializecharactermodel("security_host","security_guard_body",undefined,["security_guard_head_z"]); + maps\mp\zombies\_util::initializecharactermodel("exec_host","executive_body",undefined,["executive_head_z"]); + maps\mp\zombies\_util::initializecharactermodel("it_host","lilith_body",undefined,["lilith_head_z"]); + maps\mp\zombies\_util::initializecharactermodel("janitor_host","janitor_body",undefined,["janitor_head_z"]); +} + +//Function Number: 13 +biochamber() +{ + precachempanim("dlc_lab_exo_cage_closed_idle"); + precachempanim("dlc_lab_exo_cage_open"); + var_00 = getentarray("biochamber_top","targetname"); + foreach(var_02 in var_00) + { + var_02 linktargetedents(); + } + + var_04 = getentarray("biochamber_bottom","targetname"); + foreach(var_06 in var_04) + { + var_06 linktargetedents(); + } + + var_08 = common_scripts\utility::getstruct("exo_cage_animnode","targetname"); + var_09 = getent("exo_cage","targetname"); + if(isdefined(var_09) && isdefined(var_08)) + { + var_09 scriptmodelplayanimdeltamotionfrompos("dlc_lab_exo_cage_closed_idle",var_08.origin,var_08.angles); + } + + activatepersistentclientexploder(99); + level waittill("power_experimentation_01"); + stopclientexploder(99); + common_scripts\_exploder::activate_clientside_exploder(100); + if(isdefined(var_09) && isdefined(var_08)) + { + var_09 scriptmodelplayanimdeltamotionfrompos("dlc_lab_exo_cage_open",var_08.origin,var_08.angles); + } + + foreach(var_02 in var_00) + { + if(var_02 maps\mp\_movers::script_mover_is_dynamic_path()) + { + var_02 connectpaths(); + } + + var_02 moveto(var_02.origin + (0,0,132),2); + } + + foreach(var_06 in var_04) + { + if(var_06 maps\mp\_movers::script_mover_is_dynamic_path()) + { + var_06 connectpaths(); + } + + var_06 moveto(var_06.origin - (0,0,132),2); + } + + wait(3.5); + maps\mp\zombies\_zombies_audio_announcer::announcerexoonlinedialog(); + thread playexosuitvoattractor(); +} + +//Function Number: 14 +playexosuitvoattractor() +{ + var_00 = 360000; + var_01 = getentarray("exo_terminal","targetname"); + if(var_01.size == 0) + { + return; + } + + wait(10); + var_02 = var_01[0]; + for(;;) + { + if(maps\mp\zombies\_zombies_audio_announcer::isannouncerspeaking()) + { + maps\mp\zombies\_zombies_audio_announcer::waittillannouncerdonespeaking(); + wait(1); + continue; + } + + var_03 = []; + var_04 = 0; + foreach(var_06 in level.players) + { + if(maps\mp\zombies\_util::is_true(var_06.exosuitonline)) + { + continue; + } + + var_04++; + if(distance2dsquared(var_02.origin,var_06.origin) > var_00) + { + continue; + } + + var_03[var_03.size] = var_06; + } + + if(var_04 == 0) + { + return; + } + else + { + maps\mp\zombies\_zombies_audio_announcer::announcerglobalattractordialog("exo_suit_avail",var_03); + } + + wait(15); + } +} + +//Function Number: 15 +linktargetedents() +{ + if(!isdefined(self.target)) + { + return; + } + + var_00 = getentarray(self.target,"targetname"); + foreach(var_02 in var_00) + { + var_02 linkto(self); + } +} + +//Function Number: 16 +deleteexoterminallargetriggeronpower() +{ + wait 0.05; + var_00 = getent("exo_terminal_large_power_off","targetname"); + if(!isdefined(var_00)) + { + return; + } + + common_scripts\utility::flag_wait(var_00.script_flag_true); + var_00 delete(); +} + +//Function Number: 17 +initwaveintermissiondialog() +{ + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_exec_1","it_exec_wave_intermission_ctx01",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_exec_2","it_exec_wave_intermission_ctx02",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_it_3","it_exec_wave_intermission_ctx03",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_it_4","it_exec_wave_intermission_ctx04",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_exec_5","it_exec_wave_intermission_ctx05",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_exec_6","it_exec_wave_intermission_ctx06",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_exec_7","it_exec_wave_intermission_ctx07",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_it_8","it_exec_wave_intermission_ctx08",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_exec_9","it_exec_wave_intermission_ctx09",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_exec_10","it_exec_wave_intermission_ctx10",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_exec_1","guard_exec_wave_intermission_ctx01",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_exec_2","guard_exec_wave_intermission_ctx02",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_exec_3","guard_exec_wave_intermission_ctx03",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_exec_4","guard_exec_wave_intermission_ctx04",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_exec_5","guard_exec_wave_intermission_ctx05",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_exec_6","guard_exec_wave_intermission_ctx06",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_exec_7","guard_exec_wave_intermission_ctx07",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_exec_8","guard_exec_wave_intermission_ctx08",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_guard_9","guard_exec_wave_intermission_ctx09",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_guard_10","guard_exec_wave_intermission_ctx10",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_guard_11","guard_exec_wave_intermission_ctx11",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","janitor_exec_1","janitor_exec_wave_intermission_ctx01",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_janitor_2","janitor_exec_wave_intermission_ctx02",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_janitor_3","janitor_exec_wave_intermission_ctx03",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_janitor_4","janitor_exec_wave_intermission_ctx04",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_janitor_5","janitor_exec_wave_intermission_ctx05",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_janitor_6","janitor_exec_wave_intermission_ctx06",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","janitor_exec_7","janitor_exec_wave_intermission_ctx07",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","janitor_exec_8","janitor_exec_wave_intermission_ctx08",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_guard_1","it_guard_wave_intermission_ctx01",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_guard_2","it_guard_wave_intermission_ctx02",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_guard_3","it_guard_wave_intermission_ctx03",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_guard_4","it_guard_wave_intermission_ctx04",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_it_5","it_guard_wave_intermission_ctx05",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_it_6","it_guard_wave_intermission_ctx06",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_guard_7","it_guard_wave_intermission_ctx07",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_it_8","it_guard_wave_intermission_ctx08",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_it_9","it_guard_wave_intermission_ctx09",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_guard_10","it_guard_wave_intermission_ctx10",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_it_11","it_guard_wave_intermission_ctx11",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","janitor_it_1","it_janitor_wave_intermission_ctx01",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_janitor_2","it_janitor_wave_intermission_ctx02",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_janitor_3","it_janitor_wave_intermission_ctx04",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_janitor_4","it_janitor_wave_intermission_ctx05",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_janitor_5","it_janitor_wave_intermission_ctx06",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","janitor_it_6","it_janitor_wave_intermission_ctx07",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_janitor_7","it_janitor_wave_intermission_ctx08",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_janitor_8","it_janitor_wave_intermission_ctx09",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","janitor_it_9","it_janitor_wave_intermission_ctx10",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_janitor_10","it_janitor_wave_intermission_ctx11",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_janitor_11","it_janitor_wave_intermission_ctx12",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_janitor_12","it_janitor_wave_intermission_ctx13",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","janitor_it_13","it_janitor_wave_intermission_ctx14",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","janitor_it_14","it_janitor_wave_intermission_ctx15",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_janitor_1","guard_janitor_wave_intermission_ctx01",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_janitor_2","guard_janitor_wave_intermission_ctx02",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_janitor_3","guard_janitor_wave_intermission_ctx03",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_janitor_4","guard_janitor_wave_intermission_ctx04",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_janitor_5","guard_janitor_wave_intermission_ctx05",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_janitor_6","guard_janitor_wave_intermission_ctx06",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_janitor_7","guard_janitor_wave_intermission_ctx07",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_janitor_8","guard_janitor_wave_intermission_ctx08",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_janitor_9","guard_janitor_wave_intermission_ctx09",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_janitor_10","guard_janitor_wave_intermission_ctx10",undefined); + level.mysteryguystruct = spawnstruct(); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxinitspeaker("announcer2","end_game_atlas_mysteryguy_",level.mysteryguystruct,0); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer2","global_priority","conversation0","ctx01",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer2","global_priority","conversation1","ctx02",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer2","global_priority","conversation2","ctx03",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer2","global_priority","conversation3","ctx04",undefined); + level.endgamewaitfunc = ::endgamedialog; + thread endgamestatic(); +} + +//Function Number: 18 +endgamestatic() +{ + level waittill("spawning_intermission"); + foreach(var_01 in level.players) + { + var_01 setclientomnvar("ui_zm_hud_static",2); + } + + wait(0.5); + foreach(var_01 in level.players) + { + var_01 setclientomnvar("ui_zm_hud_static",1); + } +} + +//Function Number: 19 +endgamedialog(param_00,param_01,param_02,param_03) +{ + if(param_03 != level.enemyteam) + { + if(!param_00 && !level.postgamenotifies) + { + if(!maps\mp\_utility::wasonlyround()) + { + wait(6 + param_02); + } + else + { + wait(min(10,4 + param_02 + level.postgamenotifies)); + } + } + else + { + wait(min(10,4 + param_02 + level.postgamenotifies)); + } + + return; + } + + var_04 = "global_priority"; + var_05 = "conversation" + randomint(4); + var_06 = 1; + for(var_07 = 1;var_06;var_07++) + { + var_06 = level.mysteryguystruct maps\mp\zombies\_zombies_audio::create_and_play_dialog(var_04,var_05,undefined,var_07,1,undefined,level.players); + if(isdefined(var_06) && var_06) + { + level.mysteryguystruct waittill("done_speaking"); + wait(0.5); + } + } + + wait(2); +} + +//Function Number: 20 +crashhelianim() +{ + var_00 = "dlc_heli_blade_loop"; + precachempanim(var_00); + var_01 = getent("crashed_heli_blades","targetname"); + var_02 = common_scripts\utility::getstruct("crashed_heli_node","targetname"); + if(isdefined(var_01) && isdefined(var_02)) + { + var_01 scriptmodelplayanim(var_00); + } +} + +//Function Number: 21 +cg_exploittriggermonitor() +{ + level endon("game_ended"); + for(;;) + { + self waittill("trigger",var_00); + if(isplayer(var_00)) + { + var_01 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + foreach(var_03 in var_01) + { + var_04 = distance(var_00.origin,var_03.origin); + if(var_04 < 100) + { + var_05 = common_scripts\utility::getstruct(self.target,"targetname"); + if(isdefined(var_05)) + { + var_06 = vectornormalize(var_05.origin - var_00.origin * (1,1,0)); + var_00 setvelocity(var_06 * 100); + } + + break; + } + + wait(0.1); + } + } + + wait(1); + } +} + +//Function Number: 22 +cg_breakglasstriggermonitor() +{ + level endon("game_ended"); + var_00 = common_scripts\utility::getstruct(self.target,"targetname"); + self waittill("trigger",var_01); + glassradiusdamage(var_00.origin,var_00.radius,100,100); +} + +//Function Number: 23 +labshouldignoreplayer(param_00) +{ + if(maps\mp\zombies\_util::is_true(level.incinerator_active)) + { + var_01 = maps\mp\mp_zombie_lab_sq::stage4_get_players_in_incinerator(); + if(common_scripts\utility::array_contains(var_01,param_00)) + { + return 1; + } + } + + return 0; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_zombie_lab_aud.gsc b/AW/PC/maps/mp/mp_zombie_lab_aud.gsc new file mode 100644 index 0000000..5b6754a --- /dev/null +++ b/AW/PC/maps/mp/mp_zombie_lab_aud.gsc @@ -0,0 +1,65 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_zombie_lab_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 4 + * Decompile Time: 76 ms + * Timestamp: 4/22/2024 2:19:46 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + thread setup_audio(); + thread horde_audio(); + thread onplayerconnectedaudio(); +} + +//Function Number: 2 +onplayerconnectedaudio() +{ + for(;;) + { + level waittill("connected",var_00); + var_00 clientaddsoundsubmix("master_mix"); + } +} + +//Function Number: 3 +setup_audio() +{ + wait(1); + ambientplay("amb_zmb_lab_ext"); +} + +//Function Number: 4 +horde_audio() +{ + self endon("death"); + wait(1); + level.horde_audio_ent = spawn("script_origin",(0,0,0)); + for(;;) + { + level.horde_audio_ent scalevolume(0); + level waittill("zombie_wave_started"); + wait(0.5); + if(level.roundtype == "zombie_dog") + { + level.horde_audio_ent playloopsound("zmb_horde_dog"); + } + + if(level.roundtype == "zombie_host") + { + level.horde_audio_ent playloopsound("zmb_horde_host"); + } + else + { + level.horde_audio_ent playloopsound("zmb_horde_general"); + } + + level.horde_audio_ent scalevolume(1,5); + level waittill("zombie_wave_ended"); + level.horde_audio_ent stoploopsound(); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_zombie_lab_fx.gsc b/AW/PC/maps/mp/mp_zombie_lab_fx.gsc new file mode 100644 index 0000000..f08e2d7 --- /dev/null +++ b/AW/PC/maps/mp/mp_zombie_lab_fx.gsc @@ -0,0 +1,72 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_zombie_lab_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 37 ms + * Timestamp: 4/22/2024 2:19:47 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level._effect["dlc_morgue_steam"] = loadfx("vfx/map/dlc_mp_zombie_lab/dlc_morgue_steam"); + level._effect["dlc_courtyard_helipad"] = loadfx("vfx/map/dlc_mp_zombie_lab/dlc_courtyard_helipad"); + level._effect["dlc_flare_light_spot_7_med"] = loadfx("vfx/lensflare/dlc/dlc_flare_light_spot_7_med"); + level._effect["dlc_ceiling_flare_warm"] = loadfx("vfx/map/dlc_mp_zombie_lab/dlc_ceiling_flare_warm"); + level._effect["dlc_flare_light_spot_6_red_sm"] = loadfx("vfx/lensflare/dlc/dlc_flare_light_spot_6_red_sm"); + level._effect["fx_flare_bright_warm_squares_dlc"] = loadfx("vfx/lensflare/fx_flare_bright_warm_squares_dlc"); + level._effect["dlc_scan_beam_centrifuge"] = loadfx("vfx/map/dlc_mp_zombie_lab/dlc_scan_beam_centrifuge"); + level._effect["dlc_flare_light_spot_6_sm"] = loadfx("vfx/lensflare/dlc/dlc_flare_light_spot_6_sm"); + level._effect["dlc_steam_pipe_exo"] = loadfx("vfx/map/dlc_mp_zombie_lab/dlc_steam_pipe_exo"); + level._effect["zombie_lab_tube_long_or"] = loadfx("vfx/water/zombie_lab_tube_long_or"); + level._effect["dlc_fire_corridor"] = loadfx("vfx/map/dlc_mp_zombie_lab/dlc_fire_corridor"); + level._effect["dlc_tlight_static_red"] = loadfx("vfx/map/dlc_mp_zombie_lab/dlc_tlight_static_red"); + level._effect["dlc_exo_steam_laser"] = loadfx("vfx/map/dlc_mp_zombie_lab/dlc_exo_steam_laser"); + level._effect["zombie_lab_orange_tube"] = loadfx("vfx/water/zombie_lab_orange_tube"); + level._effect["dlc_prop_exo_buy_pillar_on"] = loadfx("vfx/props/dlc_prop_exo_buy_pillar_on"); + level._effect["dlc_prop_exo_buy_pillar_off"] = loadfx("vfx/props/dlc_prop_exo_buy_pillar_off"); + level._effect["pilot_flame_45_runner"] = loadfx("vfx/fire/pilot_flame_45_runner"); + level._effect["heat_distortion_m"] = loadfx("vfx/distortion/heat_distortion_m"); + level._effect["dlc_dmg_fire_box"] = loadfx("vfx/fire/dlc_dmg_fire_box"); + level._effect["dlc_raindrop_rings_area"] = loadfx("vfx/rain/dlc_raindrop_rings_area"); + level._effect["dlc_damage_sparks_lp"] = loadfx("vfx/map/dlc_mp_zombie_lab/dlc_damage_sparks_lp"); + level._effect["dlc_water_gutter_small"] = loadfx("vfx/map/dlc_mp_zombie_lab/dlc_water_gutter_small"); + level._effect["dlc_ambient_steam"] = loadfx("vfx/map/dlc_mp_zombie_lab/dlc_ambient_steam"); + level._effect["dlc_exo_steam_escape"] = loadfx("vfx/map/dlc_mp_zombie_lab/dlc_exo_steam_escape"); + level._effect["dlc_hallway_splash"] = loadfx("vfx/map/dlc_mp_zombie_lab/dlc_hallway_splash"); + level._effect["dlc_hall_water"] = loadfx("vfx/map/dlc_mp_zombie_lab/dlc_hall_water"); + level._effect["dlc_steam_building_smoggy"] = loadfx("vfx/steam/dlc_steam_building_smoggy"); + level._effect["dripping_ceiling_shaft"] = loadfx("vfx/rain/dripping_ceiling_shaft"); + level._effect["zombie_lab_body_tube_morgue"] = loadfx("vfx/water/zombie_lab_body_tube_morgue"); + level._effect["zombie_lab_tube_long"] = loadfx("vfx/water/zombie_lab_tube_long"); + level._effect["zombie_lab_body_tube_s2"] = loadfx("vfx/water/zombie_lab_body_tube_s2"); + level._effect["zombie_lab_body_tube_s1"] = loadfx("vfx/water/zombie_lab_body_tube_s1"); + level._effect["zombie_lab_dry_ice_cor"] = loadfx("vfx/fog/zombie_lab_dry_ice_cor"); + level._effect["dlc_hallway_flare"] = loadfx("vfx/map/dlc_mp_zombie_lab/dlc_hallway_flare"); + level._effect["dlc_flare_mist"] = loadfx("vfx/map/dlc_mp_zombie_lab/dlc_flare_mist"); + level._effect["dlc_blood_tank"] = loadfx("vfx/blood/dlc_blood_tank"); + level._effect["dlc_tlight_blink_red"] = loadfx("vfx/map/dlc_mp_zombie_lab/dlc_tlight_blink_red"); + level._effect["dlc_horizon_glow"] = loadfx("vfx/map/dlc_mp_zombie_lab/dlc_horizon_glow"); + level._effect["dlc_courtyard_tower_firefall"] = loadfx("vfx/map/dlc_mp_zombie_lab/dlc_courtyard_tower_firefall"); + level._effect["dlc_courtyard_tower_fire"] = loadfx("vfx/map/dlc_mp_zombie_lab/dlc_courtyard_tower_fire"); + level._effect["dlc_courtyard_flare_warm"] = loadfx("vfx/map/dlc_mp_zombie_lab/dlc_courtyard_flare_warm"); + level._effect["fire_lp_m_base_calm"] = loadfx("vfx/fire/fire_lp_m_base_calm"); + level._effect["generator_steam_windy"] = loadfx("vfx/steam/generator_steam_windy"); + level._effect["fire_lp_s_base_calm"] = loadfx("vfx/fire/fire_lp_s_base_calm"); + level._effect["zombie_lab_crashed_vtol"] = loadfx("vfx/smoke/zombie_lab_crashed_vtol"); + level._effect["fire_lp_l_base_calm"] = loadfx("vfx/fire/fire_lp_l_base_calm"); + level._effect["fire_crawl_wall_lrg"] = loadfx("vfx/fire/fire_crawl_wall_lrg"); + level._effect["zombie_lab_rain_small_outside"] = loadfx("vfx/rain/zombie_lab_rain_small_outside"); + level._effect["rain_hilight_cylinder"] = loadfx("vfx/rain/rain_hilight_cylinder"); + level._effect["fx_flare_blue_bright_cool_squares_dlc"] = loadfx("vfx/lensflare/fx_flare_blue_bright_cool_squares_dlc"); + level._effect["dripping_ceiling_holding"] = loadfx("vfx/rain/dripping_ceiling_holding"); + level._effect["steam_surface_add"] = loadfx("vfx/steam/steam_surface_add"); + level._effect["godray_ambient_mp"] = loadfx("vfx/lights/godray_ambient_mp"); + level._effect["zombie_lab_body_tube"] = loadfx("vfx/water/zombie_lab_body_tube"); + level._effect["ambient_particles_bright"] = loadfx("vfx/dust/ambient_particles_bright"); + level._effect["zombie_lab_dry_ice_low"] = loadfx("vfx/fog/zombie_lab_dry_ice_low"); + level._effect["zombie_lab_dry_ice_vent"] = loadfx("vfx/fog/zombie_lab_dry_ice_vent"); + level._effect["steam_column_rising_thick"] = loadfx("vfx/steam/steam_column_rising_thick"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_zombie_lab_lighting.gsc b/AW/PC/maps/mp/mp_zombie_lab_lighting.gsc new file mode 100644 index 0000000..6a90aa0 --- /dev/null +++ b/AW/PC/maps/mp/mp_zombie_lab_lighting.gsc @@ -0,0 +1,16 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_zombie_lab_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:19:47 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setdvar("r_lightGridEnableTweaks",1); + setdvar("r_lightGridIntensity",1.33); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_zombie_lab_precache.gsc b/AW/PC/maps/mp/mp_zombie_lab_precache.gsc new file mode 100644 index 0000000..cc4715f --- /dev/null +++ b/AW/PC/maps/mp/mp_zombie_lab_precache.gsc @@ -0,0 +1,14 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_zombie_lab_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:19:47 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/mp_zombie_lab_sq.gsc b/AW/PC/maps/mp/mp_zombie_lab_sq.gsc new file mode 100644 index 0000000..f658cfd --- /dev/null +++ b/AW/PC/maps/mp/mp_zombie_lab_sq.gsc @@ -0,0 +1,2411 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\mp_zombie_lab_sq.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 140 + * Decompile Time: 2031 ms + * Timestamp: 4/22/2024 2:19:54 AM +*******************************************************************/ + +//Function Number: 1 +init_sidequest() +{ + maps\mp\zombies\_zombies_sidequests::declare_sidequest("main",::init_main_sidequest,::sidequest_logic,::complete_sidequest,::generic_stage_start,::generic_stage_complete); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage1",::stage1_init,::stage1_logic,::stage1_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage2",::stage2_init,::stage2_logic,::stage2_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage3",::stage3_init,::stage3_logic,::stage3_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage4",::stage4_init,::stage4_logic,::stage4_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage5",::stage5_init,::stage5_logic,::stage5_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage6",::stage6_init,::stage6_logic,::stage6_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage7",::stage7_init,::stage7_logic,::stage7_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage8",::stage8_init,::stage8_logic,::stage8_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage9",::stage9_init,::stage9_logic,::stage9_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage10",::stage10_init,::stage10_logic,::stage10_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("main","stage11",::stage11_init,::stage11_logic,::stage11_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest("song",::init_song_sidequest,::sidequest_logic_song); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("song","stage1",::songstage1_init,::songstage1_logic,::songstage1_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("song","stage2",::songstage2_init,::songstage2_logic,::songstage2_end); + maps\mp\zombies\_zombies_sidequests::declare_sidequest_stage("song","stage3",::songstage3_init,::songstage3_logic,::songstage3_end); + thread maps\mp\killstreaks\_aerial_utility::init(); + level._effect["sq_light"] = loadfx("vfx/lights/aircraft_light_wingtip_green"); + level._effect["incinerator_ash"] = loadfx("vfx/weaponimpact/dlc_ash_ee_impact"); + level._effect["dlc_prop_biometric_lock_fail"] = loadfx("vfx/props/dlc_prop_biometric_lock_fail"); + level._effect["dlc_prop_biometric_lock_on"] = loadfx("vfx/props/dlc_prop_biometric_lock_on"); + level._effect["dlc_prop_biometric_lock_pass"] = loadfx("vfx/props/dlc_prop_biometric_lock_pass"); + level._effect["dlc_prop_scanner_door_lock_fail"] = loadfx("vfx/props/dlc_prop_scanner_door_lock_fail"); + level._effect["dlc_prop_scanner_door_lock_on"] = loadfx("vfx/props/dlc_prop_scanner_door_lock_on"); + level._effect["dlc_prop_scanner_door_lock_pass"] = loadfx("vfx/props/dlc_prop_scanner_door_lock_pass"); + level.chopper_fx["light"]["warbird"] = loadfx("vfx/lights/air_light_wingtip_red"); + level.chopper_fx["engine"]["warbird"] = loadfx("vfx/distortion/distortion_warbird_mp"); + maps\mp\killstreaks\_aerial_utility::makehelitype("warbird","vfx/explosion/vehicle_warbird_explosion_midair",::maps\mp\killstreaks\_warbird::warbirdlightfx); + maps\mp\killstreaks\_aerial_utility::addairexplosion("warbird","vfx/explosion/vehicle_warbird_explosion_midair"); + level thread start_lab_sidequest(); + level thread init_vo(); + level thread side_quest_end(); + level thread onplayerconnected(); + level thread onanyplayerspawned(); +} + +//Function Number: 2 +start_lab_sidequest() +{ + wait(3); + level thread setupweaponstationblocker(); + thread maps\mp\zombies\_zombies_sidequests::sidequest_start("main"); + thread maps\mp\zombies\_zombies_sidequests::sidequest_start("song"); +} + +//Function Number: 3 +setupweaponstationblocker() +{ + var_00 = getent("weapon_upgrade_blocker_model","targetname"); + if(!isdefined(var_00)) + { + return; + } + + if(isdefined(var_00.target)) + { + var_01 = getent(var_00.target,"targetname"); + if(isdefined(var_01)) + { + var_01 vehicle_jetbikesethoverforcescale(var_00); + } + } + + wait 0.05; + var_00.offsetmove = 76; + var_00.origin = var_00.origin + (0,0,-1 * var_00.offsetmove); +} + +//Function Number: 4 +init_vo() +{ + wait 0.05; + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","sq","sq","easter_egg",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","sq","sq",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","sq","sq","sq",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer3","sq","sq","easter_egg",undefined); +} + +//Function Number: 5 +init_main_sidequest() +{ +} + +//Function Number: 6 +sidequest_logic() +{ + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage1"); + level waittill("main_stage1_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage2"); + level waittill("main_stage2_over"); + var_00 = 0; + var_01 = 0; + var_02 = 0; + var_03 = 0; + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage3"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage4"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage5"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage6"); + while(!var_00 || !var_01 || !var_02 || !var_03) + { + var_04 = level common_scripts\utility::waittill_any_return_no_endon_death("main_stage3_over","main_stage4_over","main_stage5_over","main_stage6_over"); + if(var_04 == "main_stage3_over") + { + var_00 = 1; + continue; + } + + if(var_04 == "main_stage4_over") + { + var_01 = 1; + continue; + } + + if(var_04 == "main_stage5_over") + { + var_02 = 1; + continue; + } + + if(var_04 == "main_stage6_over") + { + var_03 = 1; + } + } + + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("All badges collected, need to upgrade them."); + level notify("main_stage3456_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage7"); + level waittill("main_stage7_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage8"); + level waittill("main_stage8_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage9"); + level waittill("main_stage9_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage10"); + level waittill("main_stage10_over"); + maps\mp\zombies\_zombies_sidequests::stage_start("main","stage11"); + level waittill("main_stage11_over"); + givesidequestachievement(); +} + +//Function Number: 7 +givesidequestachievement() +{ + foreach(var_01 in level.players) + { + if(!isdefined(var_01.joinedround1) || !var_01.joinedround1) + { + continue; + } + + var_01 maps\mp\gametypes\zombies::givezombieachievement("DLC1_ZOMBIE_GAMEOVERMAN"); + } +} + +//Function Number: 8 +generic_stage_start() +{ + level._stage_active = 1; +} + +//Function Number: 9 +generic_stage_complete() +{ + level._stage_active = 0; +} + +//Function Number: 10 +complete_sidequest() +{ +} + +//Function Number: 11 +onanyplayerspawned() +{ + for(;;) + { + level waittill("player_spawned",var_00); + if(isdefined(var_00) && isdefined(var_00.badgeupgradecount)) + { + var_00 setclientomnvar("ui_zm_ee_int",var_00.badgeupgradecount); + } + } +} + +//Function Number: 12 +onplayerconnected() +{ + for(;;) + { + level waittill("connected",var_00); + thread monitorplayer(var_00); + } +} + +//Function Number: 13 +monitorplayer(param_00) +{ + param_00 waittill("begin_last_stand"); + level.wenttolaststand = 1; +} + +//Function Number: 14 +stage1_init() +{ + var_00 = getent("blackbox2","targetname"); + if(isdefined(var_00)) + { + var_00 hide(); + } +} + +//Function Number: 15 +stage1_logic() +{ + var_00 = common_scripts\utility::getstruct("blackbox1Use","targetname"); + var_01 = spawn("script_origin",var_00.origin); + var_01 playloopsound("ee_black_box_loop"); + if(!isdefined(var_00)) + { + return; + } + + var_00 thread maps\mp\zombies\_zombies_sidequests::fake_use("activated",undefined,undefined,"main_stage1_over"); + var_00 waittill("activated",var_02); + var_02 playergivebox(); + var_02 playlocalsound("ee_grab_black_box"); + var_01 stoploopsound(); + var_02 thread playerplaysqvo(1,1); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage1"); + wait 0.05; + var_01 delete(); +} + +//Function Number: 16 +stage1_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("This looks encrypted."); + var_01 = getent("blackbox1","targetname"); + if(!isdefined(var_01)) + { + return; + } + + var_01 delete(); +} + +//Function Number: 17 +playerplaysqvo(param_00,param_01) +{ + self endon("disconnect"); + self endon("death"); + if(isdefined(param_01) && param_01 > 0) + { + wait(param_01); + } + + if(maps\mp\zombies\_util::is_true(self.speaking)) + { + self waittill("done_speaking"); + } + + thread maps\mp\zombies\_zombies_audio::create_and_play_dialog("sq","sq",undefined,param_00); +} + +//Function Number: 18 +waittilldonespeaking(param_00) +{ + param_00 endon("disconnect"); + if(maps\mp\zombies\_util::is_true(param_00.isspeaking)) + { + param_00 waittill("done_speaking"); + } +} + +//Function Number: 19 +playsqvowaittilldone(param_00,param_01,param_02) +{ + var_03 = maps\mp\zombies\_zombies_audio::getcharacterbyindex(param_00); + if(isdefined(var_03)) + { + var_03 playerplaysqvo(param_01,0); + wait 0.05; + waittilldonespeaking(var_03); + if(isdefined(param_02)) + { + wait(param_02); + } + } +} + +//Function Number: 20 +announcerinworldplaysqvo(param_00,param_01,param_02) +{ + if(isdefined(param_02) && param_02 > 0) + { + wait(param_02); + } + + maps\mp\zombies\_zombies_audio_announcer::waittillannouncerdonespeaking(); + maps\mp\zombies\_zombies_audio_announcer::announcerinworlddialog("sq","sq",param_01,undefined,param_00,1,undefined,level.players); +} + +//Function Number: 21 +announcerinworldplaysqvowaittilldone(param_00,param_01,param_02) +{ + announcerinworldplaysqvo(param_00,param_01,param_02); + maps\mp\zombies\_zombies_audio_announcer::waittillannouncerdonespeaking(); +} + +//Function Number: 22 +announcerglobalplaysqvo(param_00,param_01) +{ + if(isdefined(param_01) && param_01 > 0) + { + wait(param_01); + } + + maps\mp\zombies\_zombies_audio_announcer::waittillannouncerdonespeaking(); + maps\mp\zombies\_zombies_audio_announcer::announcerglobaldialog("global_priority","sq",undefined,param_00,1,undefined,level.players); +} + +//Function Number: 23 +announcerglobalplaysqvowaittilldone(param_00,param_01) +{ + announcerglobalplaysqvo(param_00,param_01); + maps\mp\zombies\_zombies_audio_announcer::waittillannouncerdonespeaking(); +} + +//Function Number: 24 +doblackboxhint(param_00,param_01) +{ + level endon(param_01); + var_02 = common_scripts\utility::getstruct("blackbox2Use","targetname"); + if(!isdefined(var_02)) + { + return; + } + + var_03 = 0; + var_04 = 0; + for(;;) + { + var_02 thread maps\mp\zombies\_zombies_sidequests::fake_use("activated",undefined,undefined,param_01); + var_02 waittill("activated",var_05); + playsoundatpos(var_02.origin,"ui_button_error"); + if(gettime() > var_03) + { + announcerinworldplaysqvowaittilldone(param_00,var_02.origin,0.5); + if(!var_04) + { + doblackboxhintresponse(var_05,param_00); + var_04 = 1; + } + + var_03 = gettime() + 20000; + } + + wait(1); + } +} + +//Function Number: 25 +doblackboxhintresponse(param_00,param_01) +{ + var_02 = -1; + if(param_01 == 2) + { + switch(param_00.characterindex) + { + case 0: + var_02 = 16; + break; + + case 1: + var_02 = 13; + break; + + case 2: + var_02 = 13; + break; + + case 3: + var_02 = 14; + break; + + default: + break; + } + } + else if(param_01 == 3) + { + switch(param_00.characterindex) + { + case 0: + var_03 = maps\mp\zombies\_zombies_audio::getcharacterbyindex(2); + var_04 = maps\mp\zombies\_zombies_audio::getcharacterbyindex(1); + if(isdefined(var_04)) + { + var_02 = 13; + } + else if(isdefined(var_03)) + { + var_02 = 14; + } + else + { + var_02 = 15; + } + break; + + case 1: + var_03 = maps\mp\zombies\_zombies_audio::getcharacterbyindex(2); + if(isdefined(var_03)) + { + var_02 = randomintrange(10,13); + } + else + { + var_02 = 11; + } + break; + + case 2: + var_02 = randomintrange(10,13); + break; + + case 3: + var_02 = randomintrange(11,14); + break; + + default: + break; + } + } + + if(var_02 != -1) + { + param_00 playerplaysqvo(var_02); + } +} + +//Function Number: 26 +stage2_init() +{ +} + +//Function Number: 27 +stage2_logic() +{ + var_00 = common_scripts\utility::getstruct("blackbox2Use","targetname"); + if(!isdefined(var_00)) + { + return; + } + + var_00 thread maps\mp\zombies\_zombies_sidequests::fake_use("activated",::playerhasbox,undefined,"main_stage2_over"); + var_00 waittill("activated",var_01); + var_01 playertakebox(); + var_01 playlocalsound("ee_computer_negative"); + var_02 = getent("blackbox2","targetname"); + if(isdefined(var_02)) + { + var_02 show(); + } + + announcerinworldplaysqvowaittilldone(1,var_00.origin,0.5); + var_01 thread playerplaysqvo(2,1); + thread doblackboxhint(2,"main_stage3456_over"); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage2"); +} + +//Function Number: 28 +stage2_end(param_00) +{ + var_01 = getent("blackbox2","targetname"); + if(isdefined(var_01)) + { + var_01 show(); + } + + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Blackbox placed, need all ID badges"); +} + +//Function Number: 29 +playerhasbox() +{ + return maps\mp\zombies\_util::is_true(self.hasbox); +} + +//Function Number: 30 +playergivebox() +{ + setomnvar("ui_zm_ee_player_index",self getentitynumber()); + self.hasbox = 1; + thread playertakeboxondisconnect(); +} + +//Function Number: 31 +playertakeboxondisconnect() +{ + self endon("playerTakeBox"); + self waittill("disconnect"); + setomnvar("ui_zm_ee_player_index",-1); +} + +//Function Number: 32 +playertakebox() +{ + if(!isdefined(self.hasbox)) + { + return; + } + + setomnvar("ui_zm_ee_player_index",-1); + self.hasbox = undefined; + self notify("playerTakeBox"); +} + +//Function Number: 33 +stage3_init() +{ + var_04 = getentarray("cage1","targetname"); + if(var_04.size > 0) + { + level.sq_cage1 = var_04[0]; + for(var_05 = 1;var_05 < var_04.size;var_05++) + { + var_04[var_05] vehicle_jetbikesethoverforcescale(level.sq_cage1); + } + } + + var_06 = getentarray("cage2","targetname"); + if(var_06.size > 0) + { + level.sq_cage2 = var_06[0]; + for(var_05 = 1;var_05 < var_06.size;var_05++) + { + var_06[var_05] vehicle_jetbikesethoverforcescale(level.sq_cage2); + } + } + + var_07 = getent("badge_s3","targetname"); + if(isdefined(var_07)) + { + var_07 vehicle_jetbikesethoverforcescale(level.sq_cage2); + } +} + +//Function Number: 34 +stage3_logic() +{ + var_00 = getentarray("cage1","targetname"); + if(var_00.size == 0) + { + return; + } + + var_01 = getentarray("cage2","targetname"); + if(var_01.size == 0) + { + return; + } + + var_02 = getent("cageWedge","targetname"); + if(!isdefined(var_02)) + { + return; + } + + var_03 = getent("badge_s3","targetname"); + if(!isdefined(var_03)) + { + return; + } + + foreach(var_05 in level.players) + { + var_05 thread playermonitorgroundslam(var_00); + } + + cagewedgelogic(var_02); + thread cagewigglelogic(); + thread cagelogic(var_03); +} + +//Function Number: 35 +stage3_end(param_00) +{ + var_01 = getent("cageWedge","targetname"); + if(isdefined(var_01)) + { + var_01 delete(); + } + + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Badge 1 collected."); +} + +//Function Number: 36 +cagewedgelogic(param_00) +{ + level endon("main_stage3_over"); + var_01 = 50 * level.players.size; + var_02 = (-1442,2098,12); + var_03 = var_02 - param_00.origin; + var_04 = var_03[0] / var_01; + var_05 = var_03[1] / var_01; + var_06 = var_03[2] / var_01; + param_00.health = 9999; + param_00 setcandamage(1); + for(var_07 = 0;var_07 < var_01;var_07++) + { + param_00 waittill("damage"); + param_00.health = 9999; + param_00.origin = param_00.origin + (var_04,var_05,var_06); + param_00 thread wedgewiggle(); + } + + param_00 moveto(param_00.origin + (0,0,-100),1); + param_00 playsoundonmovingent("ee_wedge_wiggle_done"); + wait(1); + level notify("cage_wedge_complete"); +} + +//Function Number: 37 +wedgewiggle() +{ + if(maps\mp\zombies\_util::is_true(self.iswiggling)) + { + return; + } + + self.iswiggling = 1; + self playsoundonmovingent("ee_wedge_wiggle"); + var_00 = randomint(10); + self rotatepitch(var_00,0.1); + wait(0.15); + self rotatepitch(-1 * var_00,0.1); + wait(0.15); + self.iswiggling = 0; +} + +//Function Number: 38 +cagewigglelogic() +{ + level endon("main_stage3_over"); + for(;;) + { + level.sq_cage1 waittill("cage1_hit_hard"); + waittillframeend; + if(maps\mp\zombies\_util::is_true(level.sq_cage1.ismoving)) + { + continue; + } + + level wigglecage(); + } +} + +//Function Number: 39 +wigglecage() +{ + level.sq_cage1 endon("move_start"); + var_00 = level.sq_cage1.origin; + var_01 = var_00 + (0,0,-20); + level.sq_cage1 playsoundonmovingent("ee_lift_down_blocked"); + level.sq_cage1.iswiggling = 1; + level.sq_cage1 moveto(var_01,0.5,0,0.1); + wait(0.6); + level.sq_cage1 moveto(var_00,0.5,0.2,0.1); + wait(0.6); + level.sq_cage1.iswiggling = undefined; + level notify("cage_wiggle_complete"); +} + +//Function Number: 40 +cagelogic(param_00) +{ + level endon("main_stage3_over"); + var_01 = 0.5; + level.sq_cage1.upposition = level.sq_cage1.origin; + level.sq_cage1.downposition = level.sq_cage1.upposition + (0,0,-154); + level.sq_cage2.downposition = level.sq_cage2.origin; + level.sq_cage2.upposition = level.sq_cage2.downposition + (0,0,154); + for(;;) + { + level.sq_cage1 waittill("cage1_hit_hard"); + if(maps\mp\zombies\_util::is_true(level.sq_cage1.iswiggling)) + { + level.sq_cage1.hitcount = 0; + continue; + } + + var_02 = gettime() + var_01 * 1000; + while(gettime() < var_02 && level.sq_cage1.hitcount < level.players.size) + { + wait 0.05; + } + + if(level.sq_cage1.hitcount == level.players.size) + { + level thread movecages(param_00); + level waittill("cage_move_complete"); + } + + level.sq_cage1.hitcount = 0; + } +} + +//Function Number: 41 +movecages(param_00) +{ + level.sq_cage1 notify("move_start"); + level.sq_cage2 notify("move_start"); + level.sq_cage1.ismoving = 1; + level.sq_cage2.ismoving = 1; + level.sq_cage1 moveto(level.sq_cage1.downposition,1,0,0.1); + level.sq_cage2 moveto(level.sq_cage2.upposition,1,0,0.1); + level.sq_cage1 playsoundonmovingent("ee_lift_down"); + wait(1.1); + level thread collectbadgestage3(param_00); + wait(5); + level.sq_cage2 playsoundonmovingent("ee_lift_up"); + level notify("cage2_reset"); + level.sq_cage1 moveto(level.sq_cage1.upposition,2,0.3,0.5); + level.sq_cage2 moveto(level.sq_cage2.downposition,2,0.3,0.5); + wait(2.1); + level.sq_cage1.ismoving = 0; + level.sq_cage2.ismoving = 0; + level notify("cage_move_complete"); +} + +//Function Number: 42 +collectbadgestage3(param_00) +{ + level endon("main_stage3_over"); + level endon("cage2_reset"); + var_01 = 3; + var_02 = param_00 maps\mp\zombies\_zombies_sidequests::fake_use("activated",::playercancollectstagebadge,var_01,"main_stage3_over"); + var_02 playlocalsound("ee_badge_collected"); + var_02 playerincrementbadge(); + if(var_02.characterindex == var_01) + { + var_02 thread playerplaysqvo(3,0.5); + } + + param_00 delete(); + thread maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage3"); +} + +//Function Number: 43 +playermonitorgroundslam(param_00) +{ + level endon("main_stage3_over"); + for(;;) + { + self waittill("ground_slam",var_01); + if(!maps\mp\zombies\_zombies_zone_manager::isplayerinzone("military")) + { + continue; + } + + var_02 = self geteye(); + var_03 = var_02 + (0,0,-100); + var_04 = bullettrace(var_02,var_03,0,self); + var_05 = var_04["entity"]; + if(!isdefined(var_05)) + { + continue; + } + + if(!common_scripts\utility::array_contains(param_00,var_05)) + { + continue; + } + + if(!isdefined(level.sq_cage1.hitcount)) + { + level.sq_cage1.hitcount = 1; + } + else + { + level.sq_cage1.hitcount++; + } + + level.sq_cage1 notify("cage1_hit_hard"); + } +} + +//Function Number: 44 +stage4_init() +{ +} + +//Function Number: 45 +stage4_logic() +{ + var_00 = common_scripts\utility::getstruct("incinerator_teleport","targetname"); + if(!isdefined(var_00)) + { + return; + } + + var_01 = spawnstruct(); + var_01 thread maps\mp\zombies\_teleport::teleport_add_location(var_00); + level.incinerator_active = 0; + for(;;) + { + level waittill("teleportUse",var_02); + if(level.incinerator_active) + { + continue; + } + + if(var_02 stage4_is_incinerator_teleporter()) + { + continue; + } + + if(level.players.size == 1) + { + var_02 stage4_second_teleport_solo_wait(var_01.locations); + continue; + } + + var_02 stage4_second_teleport_wait(var_01.locations); + } +} + +//Function Number: 46 +stage4_is_incinerator_teleporter() +{ + return isdefined(self.script_noteworthy) && self.script_noteworthy == "incinerator"; +} + +//Function Number: 47 +stage4_second_teleport_solo_wait(param_00) +{ + self endon("teleport_solo_wait"); + thread stage4_second_teleport_solo_timer(5); + for(;;) + { + level waittill("teleportUse",var_01); + if(var_01 stage4_is_incinerator_teleporter()) + { + continue; + } + + var_01 thread stage4_override_teleport_loc(param_00); + break; + } + + level thread stage4_run_incinerator(); + self notify("teleport_solo_timer_end"); +} + +//Function Number: 48 +stage4_second_teleport_solo_timer(param_00) +{ + self endon("teleport_solo_timer_end"); + wait(param_00); + self notify("teleport_solo_wait"); +} + +//Function Number: 49 +stage4_second_teleport_wait(param_00) +{ + self endon("teleportPlayers"); + for(;;) + { + level waittill("teleportUse",var_01); + if(var_01 stage4_is_incinerator_teleporter()) + { + continue; + } + + var_01 thread stage4_override_teleport_loc(param_00); + break; + } + + thread stage4_override_teleport_loc(param_00); + level thread stage4_run_incinerator(); +} + +//Function Number: 50 +stage4_override_teleport_loc(param_00) +{ + self.overridelocations = param_00; +} + +//Function Number: 51 +stage4_run_incinerator() +{ + var_00 = 30; + level.incinerator_active = 1; + level notify("incinerator_start"); + level thread stage4_incinerator_ground(); + wait(3); + level thread stage4_incinerator_pusher(var_00); + wait(var_00); + stage4_activate_all_teleporters(); + wait(1); + stage4_double_check_players_out(); + level.incinerator_active = 0; + level notify("incinerator_end"); +} + +//Function Number: 52 +stage4_activate_all_teleporters() +{ + foreach(var_01 in level.zombieteleporters) + { + if(var_01 stage4_is_incinerator_teleporter()) + { + var_01 thread stage4_trigger_teleporter(); + } + } +} + +//Function Number: 53 +stage4_double_check_players_out() +{ + var_00 = stage4_get_players_in_incinerator(); + stage4_force_players_out(var_00); +} + +//Function Number: 54 +stage4_get_players_in_incinerator() +{ + var_00 = []; + var_01 = getent("incinerator_volume","targetname"); + if(isdefined(var_01)) + { + foreach(var_03 in level.players) + { + if(var_03 istouching(var_01)) + { + var_00[var_00.size] = var_03; + } + } + } + + return var_00; +} + +//Function Number: 55 +stage4_force_players_out(param_00) +{ + if(!isarray(param_00)) + { + param_00 = [param_00]; + } + + if(!param_00.size) + { + return; + } + + var_01 = []; + foreach(var_03 in level.zombieteleporters) + { + if(var_03 stage4_is_incinerator_teleporter()) + { + var_01[var_01.size] = var_03; + } + } + + var_05 = common_scripts\utility::random(var_01); + var_05 thread maps\mp\zombies\_teleport::teleport_players(param_00); +} + +//Function Number: 56 +stage4_trigger_teleporter() +{ + while(self.inuse) + { + wait 0.05; + } + + self.start notify("trigger"); +} + +//Function Number: 57 +stage4_incinerator_pusher(param_00) +{ + var_01 = getent("incinerator_mover","targetname"); + var_01.start = var_01.origin; + var_01.end = common_scripts\utility::getstruct(var_01.target,"targetname").origin; + var_01.unresolved_collision_func = ::stage4_force_players_out; + var_01 moveto(var_01.end,param_00); + var_01 playloopsound("incinerator_room_machine_loop"); + wait(param_00); + var_01 stoploopsound(); + wait(3); + var_01.origin = var_01.start; +} + +//Function Number: 58 +stage4_incinerator_ground() +{ + var_00 = getentarray("incinerator_ground","targetname"); + if(!isdefined(level.incinerator_key)) + { + var_01 = common_scripts\utility::random(var_00); + var_02 = common_scripts\utility::getstructarray(var_01.target,"targetname"); + var_03 = (max(var_02[0].origin[0],var_02[1].origin[0]),max(var_02[0].origin[1],var_02[1].origin[1]),0); + var_04 = (min(var_02[0].origin[0],var_02[1].origin[0]),min(var_02[0].origin[1],var_02[1].origin[1]),0); + var_05 = (randomfloatrange(var_04[0],var_03[0]),randomfloatrange(var_04[1],var_03[1]),0); + var_06 = spawn("script_model",var_05 + (0,0,1)); + var_06 setmodel("dlc_badge_decker"); + var_06.hidden = 1; + var_06 hide(); + var_07 = 0; + var_06 thread maps\mp\zombies\_zombies_sidequests::fake_use("activated",::stage4_can_collect_badge,var_07,"main_stage4_over",80); + var_06 thread stage4_key_pickup(); + level.incinerator_key = var_06; + } + + common_scripts\utility::array_thread(var_00,::stage4_incinerator_ground_run); +} + +//Function Number: 59 +stage4_can_collect_badge(param_00) +{ + if(!isdefined(level.incinerator_key) || level.incinerator_key.hidden) + { + return 0; + } + + return playercancollectstagebadge(param_00); +} + +//Function Number: 60 +stage4_incinerator_ground_run() +{ + level endon("incinerator_end"); + var_00 = 20; + for(;;) + { + self waittill("damage",var_01,var_02,var_03,var_04,var_05); + if(!isdefined(var_02) && isplayer(var_02)) + { + continue; + } + + var_06 = var_02 geteye(); + var_07 = var_06 + anglestoforward(var_02 getplayerangles()) * 5000; + var_08 = bullettrace(var_06,var_07,0); + var_04 = var_08["position"]; + playfx(common_scripts\utility::getfx("incinerator_ash"),var_04); + if(isdefined(level.incinerator_key) && level.incinerator_key.hidden) + { + var_09 = distance2d(level.incinerator_key.origin,var_04); + if(var_09 < var_00) + { + level thread stage4_key_show(); + } + } + } +} + +//Function Number: 61 +stage4_key_show() +{ + var_00 = level.incinerator_key; + var_00 endon("death"); + var_00.hidden = 0; + var_00 show(); + var_01 = 50; + var_02 = 0.6; + var_03 = 5; + var_00 moveto(var_00.origin + (0,0,var_01),var_02,0,var_02); + var_04 = 360 * var_03 / var_02 * 2; + var_00 rotatevelocity((var_04,var_04,0),var_02 * 2); + wait(var_02); + var_00 moveto(var_00.origin - (0,0,var_01),var_02,var_02,0); +} + +//Function Number: 62 +stage4_key_pickup() +{ + self waittill("activated",var_00); + self delete(); + var_00 playlocalsound("ee_badge_collected"); + var_01 = 0; + if(var_00.characterindex == var_01) + { + var_00 thread playerplaysqvo(3,0.5); + } + + var_00 playerincrementbadge(); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage4"); +} + +//Function Number: 63 +stage4_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Badge 2 collected."); +} + +//Function Number: 64 +stage5_init() +{ +} + +//Function Number: 65 +stage5_logic() +{ + var_00 = getentarray("execKeypadModel","targetname"); + if(var_00.size == 0) + { + return; + } + + var_01 = getent("securityWindow","targetname"); + if(!isdefined(var_01)) + { + return; + } + + var_02 = getent("badge_s5","targetname"); + if(!isdefined(var_02)) + { + return; + } + + var_01 show(); + var_02 show(); + var_00 = common_scripts\utility::array_randomize(var_00); + foreach(var_04 in var_00) + { + level thread keypadlogic(var_04); + } + + foreach(var_07 in level.players) + { + var_07 thread playermonitorcure(); + } + + for(var_09 = 0;var_09 < 4;var_09++) + { + var_0A = level common_scripts\utility::waittill_any_return_no_endon_death("keyPadUsed","cureStationUsed"); + if(var_0A == "cureStationUsed") + { + var_09 = 0; + foreach(var_07 in level.players) + { + var_07.keypaduses = undefined; + } + + continue; + } + } + + level notify("main_stage4_ending"); + var_01 moveto(var_01.origin + (0,40,0),3); + wait(3.5); + var_0D = 1; + var_02 thread maps\mp\zombies\_zombies_sidequests::fake_use("activated",::playercancollectstagebadge,var_0D,"main_stage5_over",80); + var_02 waittill("activated",var_07); + var_02 delete(); + var_07 playlocalsound("ee_badge_collected"); + if(var_07.characterindex == var_0D) + { + var_07 thread playerplaysqvo(3,0.5); + } + + var_07 playerincrementbadge(); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage5"); +} + +//Function Number: 66 +stage5_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Badge 3 collected."); + foreach(var_03 in level.players) + { + var_03.keypaduses = undefined; + } +} + +//Function Number: 67 +keypadlogic(param_00) +{ + level endon("main_stage5_over"); + var_01 = 0; + for(;;) + { + if(var_01) + { + maps\mp\zombies\_util::stopfxontagnetwork(common_scripts\utility::getfx("dlc_prop_biometric_lock_pass"),param_00,"tag_origin"); + } + + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("dlc_prop_biometric_lock_on"),param_00,"tag_origin"); + param_00 thread maps\mp\zombies\_zombies_sidequests::fake_use("activated",::playercanactivatekeypad,param_00,"main_stage5_over"); + var_01 = 0; + param_00 waittill("activated",var_02); + var_02 playlocalsound("ee_pad_activated"); + level notify("keyPadUsed"); + var_01 = 1; + maps\mp\zombies\_util::stopfxontagnetwork(common_scripts\utility::getfx("dlc_prop_biometric_lock_on"),param_00,"tag_origin"); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("dlc_prop_biometric_lock_pass"),param_00,"tag_origin"); + var_03 = level common_scripts\utility::waittill_any_return_no_endon_death("cureStationUsed","main_stage4_ending"); + if(var_03 == "main_stage4_ending") + { + return; + } + } +} + +//Function Number: 68 +playercanactivatekeypad(param_00) +{ + var_01 = maps\mp\zombies\_util::isplayerinfected(self); + if(var_01) + { + if(!isdefined(self.keypaduses)) + { + self.keypaduses = 1; + } + else if(level.players.size == 2 && self.keypaduses >= 2) + { + var_01 = 0; + } + else if(level.players.size == 3) + { + var_02 = 0; + foreach(var_04 in level.players) + { + if(isdefined(var_04.keypaduses) && var_04.keypaduses >= 2) + { + var_02 = 1; + var_01 = 0; + break; + } + } + } + else if(level.players.size == 4 && self.keypaduses >= 1) + { + var_01 = 0; + } + else + { + self.keypaduses++; + } + } + + if(!var_01) + { + thread playfailfxkeypad(param_00); + } + + return var_01; +} + +//Function Number: 69 +playfailfxkeypad(param_00) +{ + if(maps\mp\zombies\_util::is_true(param_00.failfxon)) + { + return; + } + + param_00.failfxon = 1; + param_00 endon("activated"); + maps\mp\zombies\_util::stopfxontagnetwork(common_scripts\utility::getfx("dlc_prop_biometric_lock_on"),param_00,"tag_origin"); + playfxontag(common_scripts\utility::getfx("dlc_prop_biometric_lock_fail"),param_00,"tag_origin"); + param_00 playsoundonmovingent("ui_button_error"); + wait(1); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("dlc_prop_biometric_lock_on"),param_00,"tag_origin"); + param_00.failfxon = undefined; +} + +//Function Number: 70 +playermonitorcure() +{ + level endon("main_stage5_over"); + for(;;) + { + self waittill("cured"); + level notify("cureStationUsed"); + } +} + +//Function Number: 71 +playercancollectstagebadge(param_00) +{ + if(self.characterindex == param_00) + { + return 1; + } + else + { + foreach(var_02 in level.players) + { + if(var_02.characterindex == param_00) + { + return 0; + } + } + } + + return 1; +} + +//Function Number: 72 +stage6_init() +{ +} + +//Function Number: 73 +stage6_logic() +{ + for(;;) + { + level waittill("magicBoxUse",var_00); + thread stage6_magicbox(var_00); + } +} + +//Function Number: 74 +stage6_magicbox(param_00) +{ + level endon("main_stage6_over"); + param_00 endon("pickupReady"); + if(!isdefined(param_00.modelent)) + { + return; + } + + param_00.modelent setcandamage(1); + for(;;) + { + param_00.modelent waittill("damage",var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A); + if(!isdefined(var_02) || !isdefined(var_0A)) + { + continue; + } + + var_0B = maps\mp\_utility::getbaseweaponname(var_0A); + if(var_0B != "iw5_em1zm") + { + continue; + } + + break; + } + + var_0C = 2; + var_0D = undefined; + foreach(var_0F in level.players) + { + if(var_0F.characterindex == var_0C) + { + var_0D = var_0F; + break; + } + } + + if(isdefined(var_0D)) + { + var_0D clientclaimtrigger(param_00); + } + else + { + param_00 releaseclaimedtrigger(); + } + + param_00.weaponmodel setmodel("dlc_badge_lilith"); + param_00.magicboxgivefunc = ::stage6_magicbox_give_badge; + param_00.magicboxpickupstrfunc = ::stage6_magicbox_pickup_str; + param_00.magicboxcanpickupfunc = ::stage6_magicbox_can_pickup; + param_00 thread stage6_magicbox_func_cleanup(); +} + +//Function Number: 75 +stage6_magicbox_pickup_str() +{ + return &"ZOMBIES_EMPTY_STRING"; +} + +//Function Number: 76 +stage6_magicbox_can_pickup(param_00) +{ + return 1; +} + +//Function Number: 77 +stage6_magicbox_give_badge(param_00,param_01) +{ + if(param_00 == "trigger") + { + param_01 playlocalsound("ee_badge_collected"); + var_02 = 2; + if(param_01.characterindex == var_02) + { + param_01 thread playerplaysqvo(3,1); + } + + param_01 playerincrementbadge(); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage6"); + } +} + +//Function Number: 78 +stage6_magicbox_func_cleanup() +{ + self waittill("magicBoxUseEnd"); + self.magicboxgivefunc = undefined; + self.magicboxpickupstrfunc = undefined; + self.magicboxpickupmodel = undefined; + self.magicboxcanpickupfunc = undefined; +} + +//Function Number: 79 +stage6_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Badge 4 collected."); +} + +//Function Number: 80 +stage7_init() +{ + level.processenemykilledfunc = ::processenemykilled; + level.sq_droppedbadges = []; + thread doblackboxhint(3,"main_stage7_over"); + foreach(var_01 in level.players) + { + if(var_01 playergetbadgecount() <= 0) + { + var_01 playerincrementbadge(1); + } + } +} + +//Function Number: 81 +stage7_logic() +{ + for(;;) + { + var_00 = 1; + foreach(var_02 in level.players) + { + if(!var_02 playerisbadgeupgradedstage7()) + { + var_00 = 0; + break; + } + } + + if(var_00) + { + break; + } + + wait 0.05; + } + + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage7"); +} + +//Function Number: 82 +stage7_end(param_00) +{ + level.processenemykilledfunc = undefined; + foreach(var_02 in level.sq_droppedbadges) + { + level thread removebadge(var_02,1); + } + + level.sq_droppedbadges = undefined; + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Badge fully upgraded."); +} + +//Function Number: 83 +processenemykilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + if(!maps\mp\zombies\_zombies_zone_manager::iszombieinanyzone(self)) + { + return; + } + + if(isdefined(param_03) && param_03 == "MOD_SUICIDE") + { + return; + } + + if(maps\mp\zombies\_util::istrapweapon(param_04)) + { + return; + } + + if(isdefined(param_01) && isplayer(param_01) && maps\mp\_utility::ismeleemod(param_03) && !param_01 playerisbadgeupgradedstage7()) + { + param_01 playlocalsound("orbital_pkg_use"); + param_01 playerincrementbadge(); + return; + } + + if(level.sq_droppedbadges.size >= 5) + { + return; + } + + var_09 = randomfloat(1); + if(var_09 < 0.5) + { + level thread dropbadge(self.origin); + } +} + +//Function Number: 84 +dropbadge(param_00) +{ + param_00 = param_00 + (0,0,16); + var_01 = spawn("script_model",param_00); + var_01.angles = (0,0,0); + var_01 setmodel("dlc_badge_generic_anim"); + var_01 notsolid(); + var_02 = spawn("trigger_radius",param_00,0,32,32); + var_01.trigger = var_02; + level.sq_droppedbadges[level.sq_droppedbadges.size] = var_01; + var_01 thread badgepickup(); + var_01 thread badgetimer(); + var_01 thread badgeshowtoplayers(); + var_01 thread badgebounce(); +} + +//Function Number: 85 +badgeshowtoplayers() +{ + self hide(); + self.trigger hide(); + foreach(var_01 in level.players) + { + if(!var_01 playerisbadgeupgradedstage7()) + { + self showtoplayer(var_01); + self.trigger hide(); + } + } +} + +//Function Number: 86 +badgebounce() +{ + self scriptmodelplayanimdeltamotion("mp_dogtag_spin","badge"); +} + +//Function Number: 87 +badgepickup() +{ + self endon("deleted"); + var_00 = self.origin; + for(;;) + { + self.trigger waittill("trigger",var_01); + if(isplayer(var_01) && !var_01 playerisbadgeupgradedstage7()) + { + var_01 playerincrementbadge(); + var_01 playlocalsound("ee_badge_collected_zombies"); + level.pickedupbadges = 1; + thread removebadge(self); + return; + } + } +} + +//Function Number: 88 +badgetimer() +{ + self endon("deleted"); + wait(15); + thread badgestartflashing(); + wait(8); + level thread removebadge(self); +} + +//Function Number: 89 +badgestartflashing() +{ + self endon("deleted"); + for(;;) + { + self ghost(); + wait(0.25); + self show(); + wait(0.25); + } +} + +//Function Number: 90 +removebadge(param_00,param_01) +{ + param_00 notify("deleted"); + wait 0.05; + if(isdefined(param_00.trigger)) + { + param_00.trigger delete(); + } + + param_00 delete(); + if(!maps\mp\zombies\_util::is_true(param_01)) + { + level.sq_droppedbadges = common_scripts\utility::array_removeundefined(level.sq_droppedbadges); + } +} + +//Function Number: 91 +playerisbadgeupgradedstage7() +{ + return playergetbadgecount() >= 49; +} + +//Function Number: 92 +playergetbadgecount() +{ + if(!isdefined(self.badgeupgradecount)) + { + return 0; + } + + return self.badgeupgradecount; +} + +//Function Number: 93 +playerincrementbadge(param_00) +{ + if(!isdefined(param_00)) + { + if(!isdefined(self.badgeupgradecount)) + { + self.badgeupgradecount = 0; + } + + self.badgeupgradecount++; + } + else + { + self.badgeupgradecount = param_00; + } + + self setclientomnvar("ui_zm_ee_int",self.badgeupgradecount); +} + +//Function Number: 94 +stage8_init() +{ + foreach(var_01 in level.players) + { + if(!var_01 playerisbadgeupgradedstage7()) + { + var_01 playerincrementbadge(49); + } + } + + thread doblackboxhint(4,"main_stage8_over"); +} + +//Function Number: 95 +stage8_logic() +{ + var_00 = common_scripts\utility::getstructarray("cardReader","targetname"); + if(var_00.size == 0) + { + return; + } + + foreach(var_02 in var_00) + { + level thread cardreaderlogic(var_02); + } + + for(var_04 = 0;var_04 < level.players.size;var_04++) + { + level waittill("cardReaderUsed"); + } + + wait(2); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage8"); +} + +//Function Number: 96 +stage8_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("All badges used in card readers."); +} + +//Function Number: 97 +cardreaderlogic(param_00) +{ + level endon("main_stage8_over"); + var_01 = int(param_00.script_noteworthy); + var_02 = undefined; + if(isdefined(param_00.target)) + { + var_02 = getent(param_00.target,"targetname"); + } + + var_02.characterindex = var_01; + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("dlc_prop_scanner_door_lock_on"),var_02,"tag_origin"); + param_00 thread maps\mp\zombies\_zombies_sidequests::fake_use("activated",::playermatchescardreader,var_02,"main_stage8_over"); + param_00 waittill("activated",var_03); + var_02 notify("activated"); + var_03 playlocalsound("ee_pad_activated"); + var_03 playerincrementbadge(); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("dlc_prop_scanner_door_lock_pass"),var_02,"tag_origin"); + maps\mp\zombies\_util::stopfxontagnetwork(common_scripts\utility::getfx("dlc_prop_scanner_door_lock_on"),var_02,"tag_origin"); + var_04 = 11; + switch(maps\mp\zombies\_util::get_player_index(var_03)) + { + case 0: + var_04 = 9; + break; + + case 1: + var_04 = 8; + break; + + case 2: + var_04 = 10; + break; + + case 3: + default: + var_04 = 11; + break; + } + + announcerinworldplaysqvowaittilldone(var_04,param_00.origin,0.5); + if(var_03.characterindex == var_01) + { + var_03 thread playerplaysqvo(4,0.5); + } + + level notify("cardReaderUsed"); +} + +//Function Number: 98 +playermatchescardreader(param_00) +{ + var_01 = isdefined(param_00.characterindex) && self.characterindex == param_00.characterindex; + if(!var_01) + { + thread cardreaderfailfx(param_00); + } + + return var_01; +} + +//Function Number: 99 +cardreaderfailfx(param_00) +{ + if(maps\mp\zombies\_util::is_true(param_00.failfxon)) + { + return; + } + + param_00.failfxon = 1; + param_00 endon("activated"); + maps\mp\zombies\_util::stopfxontagnetwork(common_scripts\utility::getfx("dlc_prop_scanner_door_lock_on"),param_00,"tag_origin"); + playfxontag(common_scripts\utility::getfx("dlc_prop_scanner_door_lock_fail"),param_00,"tag_origin"); + param_00 playsoundonmovingent("ui_button_error"); + wait(1); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("dlc_prop_scanner_door_lock_on"),param_00,"tag_origin"); + param_00.failfxon = undefined; +} + +//Function Number: 100 +stage9_init() +{ + foreach(var_01 in level.players) + { + if(!var_01 playerisbadgeupgradedstage8()) + { + var_01 playerincrementbadge(50); + } + } +} + +//Function Number: 101 +stage9_logic() +{ + var_00 = common_scripts\utility::getstruct("blackbox2Use","targetname"); + if(!isdefined(var_00)) + { + return; + } + + var_00 thread maps\mp\zombies\_zombies_sidequests::fake_use("activated",undefined,undefined,"main_stage9_over"); + var_00 waittill("activated",var_01); + announcerinworldplaysqvowaittilldone(5,var_00.origin,0.5); + thread playblackboxvo(var_00.origin); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage9"); +} + +//Function Number: 102 +stage9_end(param_00) +{ + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Black box tells you secrets."); +} + +//Function Number: 103 +playblackboxvo(param_00) +{ + level.mysteryguyent2 = spawn("script_model",param_00); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxinitspeaker("announcer3","mystery_",level.mysteryguyent2,0); + wait(0.5); + var_01 = level.mysteryguyent2 maps\mp\zombies\_zombies_audio::create_and_play_dialog("sq","sq",undefined,1,1,undefined,level.players); + if(!isdefined(var_01) || !var_01) + { + return; + } + else + { + level.mysteryguyent2 waittill("done_speaking"); + wait(0.5); + announcerinworldplaysqvowaittilldone(12,param_00); + wait(0.5); + } + + if(level.players.size < 4) + { + return; + } + + playsqvowaittilldone(0,17,0.5); + playsqvowaittilldone(1,14,1); + playsqvowaittilldone(2,14,0.75); + playsqvowaittilldone(3,15); +} + +//Function Number: 104 +playerisbadgeupgradedstage8() +{ + return playergetbadgecount() >= 50; +} + +//Function Number: 105 +stage10_init() +{ +} + +//Function Number: 106 +stage10_logic() +{ + var_00 = getentarray("exo_terminal","targetname"); + if(var_00.size == 0) + { + return; + } + + foreach(var_02 in var_00) + { + level thread exoterminallogic(var_02); + } + + waittillexoterminalsused(); + maps\mp\zombies\_teleport::teleporter_disable_all(); + thread playrewardvo(); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage10"); +} + +//Function Number: 107 +stage10_end(param_00) +{ + level notify("special_weapon_box_unlocked"); + foreach(var_02 in level.players) + { + var_02.usedexoterminalsq = undefined; + } + + var_04 = getent("weapon_upgrade_blocker_model","targetname"); + if(isdefined(var_04)) + { + var_05 = var_04.origin + (0,0,var_04.offsetmove); + var_04 moveto(var_05,2,0.5,0.5); + } + + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("Super weapon upgrade station unlocked."); +} + +//Function Number: 108 +waittillexoterminalsused() +{ + var_00 = 0.5; + for(;;) + { + level waittill("sq_terminal_triggered"); + var_01 = gettime() + var_00 * 1000; + while(gettime() < var_01 && getterminalusecount() < level.players.size) + { + wait 0.05; + } + + if(getterminalusecount() == level.players.size) + { + break; + } + + foreach(var_03 in level.players) + { + var_03.usedexoterminalsq = undefined; + } + } +} + +//Function Number: 109 +getterminalusecount() +{ + var_00 = 0; + foreach(var_02 in level.players) + { + if(maps\mp\zombies\_util::is_true(var_02.usedexoterminalsq)) + { + var_00++; + } + } + + return var_00; +} + +//Function Number: 110 +exoterminallogic(param_00) +{ + level endon("main_stage10_over"); + for(;;) + { + param_00 waittill("trigger",var_01); + var_01.usedexoterminalsq = 1; + level notify("sq_terminal_triggered"); + } +} + +//Function Number: 111 +playrewardvo() +{ + announcerglobalplaysqvowaittilldone(6); + announcerglobalplaysqvowaittilldone(7,1); + wait(1); + thread song_play(); + if(level.players.size < 4) + { + return; + } + + playsqvowaittilldone(2,5,0.5); + playsqvowaittilldone(1,5,0.5); + playsqvowaittilldone(0,5,1); + playsqvowaittilldone(3,5,2); + playsqvowaittilldone(2,6,1); + playsqvowaittilldone(1,6,0.5); + playsqvowaittilldone(0,6,1); + playsqvowaittilldone(3,6,0.5); + playsqvowaittilldone(0,7,1); + playsqvowaittilldone(2,7); +} + +//Function Number: 112 +stage11_init() +{ + level.heli_crash_nodes = common_scripts\utility::getstructarray("heli_crash_node","targetname"); +} + +//Function Number: 113 +stage11_logic() +{ + var_00 = common_scripts\utility::getstruct("heliStart","targetname"); + if(!isdefined(var_00)) + { + return; + } + + var_01 = common_scripts\utility::getstruct("carepackageEnd","targetname"); + if(!isdefined(var_01)) + { + return; + } + + var_02 = common_scripts\utility::getstruct("heliEnd1","targetname"); + if(!isdefined(var_02)) + { + return; + } + + level.warbird = spawnhelicopter(level.players[0],var_00.origin,(0,0,0),"warbird_player_mp","vehicle_xh9_warbird_low_cloaked_in_out_mp_cloak"); + level.warbird.team = "allies"; + level.warbird.heli_type = "warbird"; + var_03 = 40; + level.warbird vehicle_setspeed(var_03,var_03 / 4,var_03 / 4); + level.warbird setneargoalnotifydist(100); + level.warbird setcandamage(1); + level.warbird.health = 9999; + maps\mp\_utility::incrementfauxvehiclecount(); + level.warbird thread warbirdtravellogic(var_00); + level.warbird thread warbirdmonitorhealth(var_01); + var_04 = monitorplayerslogic(); + level.warbird warbirdwaitlogic(var_00,var_04); + level.warbird warbirdtraveltoend(var_01,var_02); + maps\mp\zombies\_teleport::teleporter_enable_all(); + maps\mp\zombies\_zombies_sidequests::stage_completed("main","stage11"); +} + +//Function Number: 114 +warbirdtravellogic(param_00) +{ + level endon("main_stage10_over"); + self endon("stopLoop"); + var_01 = param_00; + for(;;) + { + var_02 = common_scripts\utility::getstruct(var_01.target,"targetname"); + if(!isdefined(var_02)) + { + return; + } + + self setvehgoalpos(var_02.origin,0); + self waittill("near_goal"); + } +} + +//Function Number: 115 +warbirdmonitorhealth(param_00) +{ + level endon("main_stage10_over"); + level endon("warbird_crash_abort"); + for(;;) + { + self waittill("damage",var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A); + if(var_0A == level.ocp_weap_name) + { + self setcandamage(0); + thread maps\mp\killstreaks\_aerial_utility::heli_crash(); + thread orbital_package_heli_crash_sound(); + param_00.indoors = 1; + param_00.start = var_04; + maps\mp\zombies\killstreaks\_zombie_killstreaks::dropcarepackage(param_00); + return; + } + + self.health = 9999; + } +} + +//Function Number: 116 +orbital_package_heli_crash_sound() +{ + wait(0.75); + playsoundatpos((433,-306,91),"orbital_pkg_pod_impact"); +} + +//Function Number: 117 +monitorplayerslogic() +{ + level endon("main_stage10_over"); + var_00 = undefined; + for(;;) + { + foreach(var_02 in level.players) + { + if(var_02 maps\mp\zombies\_zombies_zone_manager::isplayerinzone("courtyard")) + { + var_00 = var_02; + break; + } + } + + if(isdefined(var_00)) + { + return var_00; + } + + wait 0.05; + } +} + +//Function Number: 118 +playhelicopterseevo() +{ + if(level.players.size < 4) + { + return; + } + + playsqvowaittilldone(3,7,0.5); + playsqvowaittilldone(2,8,0.5); + playsqvowaittilldone(1,8); +} + +//Function Number: 119 +playhelicopterend1vo() +{ + if(level.players.size < 4) + { + return; + } + + playsqvowaittilldone(0,8,0.1); + playsqvowaittilldone(3,8,1); + playsqvowaittilldone(0,9,0.75); + playsqvowaittilldone(3,9,0.1); + playsqvowaittilldone(0,10,1); + playsqvowaittilldone(1,8); +} + +//Function Number: 120 +playhelicopterend2vo() +{ + if(level.players.size < 4) + { + return; + } + + playsqvowaittilldone(2,9,0.3); + playsqvowaittilldone(0,11,0.2); + playsqvowaittilldone(1,9,0.5); + playsqvowaittilldone(0,12,1); + playsqvowaittilldone(3,10); +} + +//Function Number: 121 +warbirdwaitlogic(param_00,param_01) +{ + self notify("stopLoop"); + self setvehgoalpos(param_00.origin,1); + self setlookatent(param_01); + common_scripts\utility::waittill_notify_or_timeout("near_goal",10); + for(;;) + { + var_02 = 1; + foreach(param_01 in level.players) + { + if(!param_01 maps\mp\zombies\_zombies_zone_manager::isplayerinzone("courtyard")) + { + var_02 = 0; + break; + } + } + + if(var_02) + { + break; + } + + wait 0.05; + } +} + +//Function Number: 122 +side_quest_end() +{ + level.side_quest_end = 0; + while(!maps\mp\zombies\_util::is_true(level.pickedupbadges) && !maps\mp\zombies\_util::is_true(level.wenttolaststand) && !maps\mp\zombies\_util::is_true(level.cheated)) + { + wait 0.05; + } + + setomnvar("ui_zm_ee_bool",1); + level.side_quest_end = 1; +} + +//Function Number: 123 +warbirdtraveltoend(param_00,param_01) +{ + if(!level.side_quest_end) + { + param_00 = undefined; + var_02 = common_scripts\utility::getstruct("heliEnd2","targetname"); + if(isdefined(var_02)) + { + param_01 = var_02; + } + } + + self setvehgoalpos(param_01.origin,1); + self clearlookatent(); + if(isdefined(param_00)) + { + param_00.indoors = 0; + level.zmkillstreakcrateprevo = 0; + maps\mp\zombies\killstreaks\_zombie_killstreaks::dropcarepackage(param_00); + var_03 = common_scripts\utility::waittill_any_timeout_no_endon_death(6,"crashing","death"); + if(isdefined(var_03) && var_03 == "timeout" && !maps\mp\zombies\_util::is_true(level.warbird.iscrashing)) + { + level notify("warbird_crash_abort"); + self setcandamage(0); + thread maps\mp\killstreaks\_aerial_utility::heli_crash(); + } + + level thread playhelicopterend1vo(); + song_stop(); + set_side_quest_coop_data(0); + self waittill("death"); + return; + } + + level thread playhelicopterend2vo(); + thread [[ level.pickup["nuke"]["func"] ]](level.players[0]); + level.zombiegamepaused = 1; + wait(6); + foreach(var_05 in level.players) + { + var_05 setclientomnvar("ui_killstreak_remote",1); + var_05 setclientomnvar("ui_killstreak_blackout",1); + var_05 setclientomnvar("ui_killstreak_blackout_fade_end",gettime() + 3000); + } + + wait(6); + set_side_quest_coop_data(1); + level thread maps\mp\gametypes\_gamelogic::endgame(level.playerteam,game["end_reason"]["zombies_completed"]); +} + +//Function Number: 124 +set_side_quest_coop_data(param_00) +{ + foreach(var_02 in level.players) + { + if(!isdefined(var_02.joinedround1) || !var_02.joinedround1) + { + continue; + } + + var_03 = var_02 getcoopplayerdatareservedint("eggData"); + if(param_00) + { + var_03 = var_03 | 3; + var_02.sidequest = 2; + } + else + { + var_03 = var_03 | 1; + var_02.sidequest = 1; + } + + var_02 setcoopplayerdatareservedint("eggData",var_03); + setmatchdata("players",var_02.clientid,"startPrestige",var_02.sidequest); + } +} + +//Function Number: 125 +stage11_end(param_00) +{ + if(isdefined(level.warbird) && !maps\mp\zombies\_util::is_true(level.warbird.iscrashing)) + { + level.warbird delete(); + maps\mp\_utility::decrementfauxvehiclecount(); + } + + maps\mp\zombies\_zombies_sidequests::sidequest_iprintlnbold("The End."); +} + +//Function Number: 126 +init_song_sidequest() +{ + level.sq_song_ent = getent("sq_song","targetname"); + if(!isdefined(level.sq_song_ent)) + { + level.sq_song_ent = spawn("script_model",(0,0,0)); + } +} + +//Function Number: 127 +sidequest_logic_song() +{ + var_00 = 0; + var_01 = 0; + var_02 = 0; + maps\mp\zombies\_zombies_sidequests::stage_start("song","stage1"); + maps\mp\zombies\_zombies_sidequests::stage_start("song","stage2"); + maps\mp\zombies\_zombies_sidequests::stage_start("song","stage3"); + var_03 = 0; + for(;;) + { + var_04 = level common_scripts\utility::waittill_any_return_no_endon_death("song_stage1_over","song_stage2_over","song_stage3_over"); + var_03++; + if(var_03 < 3) + { + thread song_play(var_03); + continue; + } + + thread song_play(); + break; + } +} + +//Function Number: 128 +song_play(param_00) +{ + level notify("sq_song_play"); + level endon("sq_song_play"); + level endon("sq_song_stop"); + if(maps\mp\zombies\_util::is_true(level.sq_song_ent.playing)) + { + level.sq_song_ent stopsounds(); + level.sq_song_ent.playing = 0; + wait(0.2); + } + + var_01 = "zmb_mus_ee_01"; + if(!isdefined(param_00) || param_00 <= 0) + { + param_00 = musiclength("zmb_mus_ee_01"); + } + else + { + var_01 = "zmb_mus_ee_01_prvw"; + } + + level.sq_song_ent playsoundonmovingent(var_01); + level.sq_song_ent.playing = 1; + wait(param_00); + level.sq_song_ent stopsounds(); + level.sq_song_ent.playing = 0; +} + +//Function Number: 129 +song_stop() +{ + level.sq_song_ent stopsounds(); + level.sq_song_ent.playing = 0; + level notify("sq_song_stop"); +} + +//Function Number: 130 +song_fake_use(param_00,param_01,param_02) +{ + var_03 = spawnstruct(); + var_03.origin = param_00; + var_03 thread maps\mp\zombies\_zombies_sidequests::fake_use("activated",undefined,undefined,"song_stage" + param_01 + "_over",param_02); + var_03 waittill("activated",var_04); + return var_04; +} + +//Function Number: 131 +songstage1_init() +{ +} + +//Function Number: 132 +songstage1_logic() +{ + var_00 = song_fake_use((1690,1401,122),1); + maps\mp\zombies\_zombies_sidequests::stage_completed("song","stage1"); +} + +//Function Number: 133 +songstage1_end(param_00) +{ +} + +//Function Number: 134 +songstage2_init() +{ +} + +//Function Number: 135 +songstage2_logic() +{ + var_00 = song_fake_use((-508,2318,104),2); + maps\mp\zombies\_zombies_sidequests::stage_completed("song","stage2"); +} + +//Function Number: 136 +songstage2_end(param_00) +{ +} + +//Function Number: 137 +songstage3_init() +{ +} + +//Function Number: 138 +songstage3_logic() +{ + var_00 = song_fake_use((238,4044,92),3,100); + maps\mp\zombies\_zombies_sidequests::stage_completed("song","stage3"); +} + +//Function Number: 139 +songstage3_end(param_00) +{ +} + +//Function Number: 140 +musiclength(param_00) +{ + var_01 = tablelookup("mp/sound/soundlength_zm_mp.csv",0,param_00,1); + if(!isdefined(var_01) || var_01 == "") + { + return 2; + } + + var_01 = int(var_01); + var_01 = var_01 * 0.001; + return var_01; +} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/perks/_perkfunctions.gsc b/AW/PC/maps/mp/perks/_perkfunctions.gsc similarity index 99% rename from AW/PC/ZM/maps/mp/perks/_perkfunctions.gsc rename to AW/PC/maps/mp/perks/_perkfunctions.gsc index 6b22d03..776f000 100644 --- a/AW/PC/ZM/maps/mp/perks/_perkfunctions.gsc +++ b/AW/PC/maps/mp/perks/_perkfunctions.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/perks/_perkfunctions.gsc + * Decompiled File: mp\perks\_perkfunctions.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 101 - * Decompile Time: 1608 ms - * Timestamp: 10/27/2023 2:10:12 AM + * Decompile Time: 1559 ms + * Timestamp: 4/22/2024 2:12:57 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/ZM/maps/mp/perks/_perks.gsc b/AW/PC/maps/mp/perks/_perks.gsc similarity index 85% rename from AW/PC/ZM/maps/mp/perks/_perks.gsc rename to AW/PC/maps/mp/perks/_perks.gsc index 68a7092..56c65ef 100644 --- a/AW/PC/ZM/maps/mp/perks/_perks.gsc +++ b/AW/PC/maps/mp/perks/_perks.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/perks/_perks.gsc + * Decompiled File: mp\perks\_perks.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 10 - * Decompile Time: 163 ms - * Timestamp: 10/27/2023 2:10:13 AM + * Decompile Time: 166 ms + * Timestamp: 4/22/2024 2:12:57 AM *******************************************************************/ //Function Number: 1 @@ -218,12 +218,44 @@ validateperk(param_00,param_01) case "specialty_class_dangerclose": case "specialty_class_lightweight": case "specialty_class_lowprofile": - break; + return param_01; default: - break; + return "specialty_null"; } } + else if(param_00 == 2 || param_00 == 3) + { + switch(param_01) + { + case "specialty_class_dexterity": + case "specialty_class_fasthands": + case "specialty_class_peripherals": + case "specialty_class_coldblooded": + case "specialty_class_blindeye": + return param_01; + + default: + return "specialty_null"; + } + } + else if(param_00 == 4 || param_00 == 5) + { + switch(param_01) + { + case "specialty_exo_blastsuppressor": + case "specialty_class_toughness": + case "specialty_class_hardline": + case "specialty_class_scavenger": + case "specialty_class_hardwired": + return param_01; + + default: + return "specialty_null"; + } + } + + return param_01; } //Function Number: 3 @@ -347,18 +379,140 @@ cac_modified_damage(param_00,param_01,param_02,param_03,param_04,param_05,param_ switch(param_04) { case "ac130_25mm_mp": + param_02 = param_02 * level.juggernautmod; break; case "remotemissile_projectile_gas_mp": case "remotemissile_projectile_cluster_parent_mp": case "remotemissile_projectile_mp": + if(param_02 < 350) + { + if(param_02 > 1) + { + param_02 = param_02 * level.juggernautmod; + } + } break; default: + if(param_02 < 1000) + { + if(param_02 > 1) + { + param_02 = param_02 * level.juggernautmod; + } + } break; } } + + if(maps\mp\gametypes\_weapons::ingrenadegraceperiod()) + { + param_02 = param_02 * level.juggernautmod; + } } + else if(param_03 == "MOD_FALLING") + { + if(param_00 isitemunlocked("specialty_falldamage") && param_00 maps\mp\_utility::_hasperk("specialty_falldamage")) + { + var_09 = 0; + param_02 = 0; + } + } + else if(maps\mp\_utility::ismeleemod(param_03)) + { + if(isdefined(param_00.haslightarmor) && param_00.haslightarmor) + { + if(issubstr(param_04,"riotshield") || param_04 == "exoshield_equipment_mp") + { + param_02 = int(param_00.maxhealth * 0.66); + } + else + { + param_02 = param_00.maxhealth + 1; + } + } + + if(param_00 maps\mp\_utility::isjuggernaut()) + { + param_02 = 20; + var_09 = 0; + } + } + else if(param_03 == "MOD_IMPACT") + { + if(param_00 maps\mp\_utility::isjuggernaut()) + { + switch(var_0A) + { + case "smoke_grenade_var_mp": + case "stun_grenade_var_mp": + case "smoke_grenade_mp": + case "stun_grenade_mp": + case "concussion_grenade_mp": + case "flash_grenade_mp": + case "semtex_mp": + case "stun_grenade_horde_mp": + case "frag_grenade_mp": + param_02 = 5; + break; + + default: + if(param_02 < 1000) + { + param_02 = 25; + } + break; + } + + var_09 = 0; + } + } + + var_0C = getweaponbasename(param_04); + if(isdefined(param_00.lightarmorhp) && isdefined(var_0C)) + { + switch(var_0C) + { + case "exoknife_mp": + case "exoknife_jug_mp": + param_02 = param_00.health; + var_09 = 0; + break; + + case "semtex_mp": + case "semtexproj_mp": + if(isdefined(param_08) && isdefined(param_08.stuckenemyentity) && param_08.stuckenemyentity == param_00) + { + param_02 = param_00.health; + var_09 = 0; + } + break; + + default: + if(param_03 != "MOD_FALLING" && !maps\mp\_utility::ismeleemod(param_03) && !maps\mp\_utility::isheadshot(var_0C,param_07,param_03,param_01) && !maps\mp\_utility::isfmjdamage(var_0C,param_03,param_01)) + { + param_00 maps\mp\perks\_perkfunctions::setlightarmorhp(param_00.lightarmorhp - param_02 + var_09); + param_02 = 0; + var_09 = 0; + if(param_00.lightarmorhp <= 0) + { + param_02 = abs(param_00.lightarmorhp); + var_09 = 0; + maps\mp\perks\_perkfunctions::unsetlightarmor(); + } + } + break; + } + } + + if(param_02 <= 1) + { + param_02 = 1; + return param_02; + } + + return int(param_02 + var_09); } //Function Number: 7 diff --git a/AW/PC/maps/mp/zombies/_area_invalidation.gsc b/AW/PC/maps/mp/zombies/_area_invalidation.gsc new file mode 100644 index 0000000..b91c8ee --- /dev/null +++ b/AW/PC/maps/mp/zombies/_area_invalidation.gsc @@ -0,0 +1,1566 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_area_invalidation.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 63 + * Decompile Time: 974 ms + * Timestamp: 4/22/2024 2:13:33 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level._effect["zone_explode"] = loadfx("fx/explosions/helicopter_explosion_secondary_small"); + level._effect["pickup_camo"] = loadfx("vfx/gameplay/mp/zombie/dlc_pickup_zombies_01_camo"); + level.breachzones = []; + level.breachtimers = []; + level.get_breached_zones_func = ::get_breached_zones; + level.zone_is_breached_func = ::zone_is_breached; + level.zone_is_contaminated_func = ::zone_is_contaminated; + level.defusedamagemultiplier = 2; + level.breachmapfunc = ::breach_map_func; + level.bombsdefused = 0; + var_00 = getentarray("zombies_defuse_bomb","targetname"); + foreach(var_02 in var_00) + { + var_03 = maps\mp\zombies\_zombies_zone_manager::getlocationzone(var_02.origin); + if(!isdefined(level.breachzones[var_03])) + { + level.breachzones[var_03] = spawnstruct(); + level.breachzones[var_03].status = 0; + level.breachzones[var_03].lastfixtime = 0; + level.breachzones[var_03].defuseobjs = []; + } + + var_04 = var_02 initdefuseobject(); + var_04.zonename = var_03; + level.breachzones[var_03].defuseobjs[level.breachzones[var_03].defuseobjs.size] = var_04; + } + + level thread run_breach_logic(); + level thread initsaboteurdata(); + level thread monitordefusetime(); +} + +//Function Number: 2 +breach_map_func(param_00) +{ + if(!isdefined(param_00.script_flag_true)) + { + return; + } + + if(!common_scripts\utility::flag_exist(param_00.script_flag_true)) + { + return; + } + + level endon("game_ended"); + for(;;) + { + param_00 ghost(); + common_scripts\utility::flag_wait(param_00.script_flag_true); + param_00 show(); + common_scripts\utility::flag_waitopen(param_00.script_flag_true); + } +} + +//Function Number: 3 +monitordefusetime() +{ + level endon("game_ended"); + for(;;) + { + if(maps\mp\zombies\_util::getnumplayers() == 1) + { + level.defusetime = 2; + } + else + { + level.defusetime = 5; + } + + wait(1); + } +} + +//Function Number: 4 +initsaboteurdata() +{ + while(!isdefined(level.agent_funcs) || !isdefined(level.agent_funcs["ranged_elite_soldier"])) + { + wait(0.05); + } + + level.area_invalidation_soldier_type = "ranged_elite_soldier_saboteur"; + level.agent_funcs[level.area_invalidation_soldier_type] = level.agent_funcs["ranged_elite_soldier"]; + level.agent_funcs[level.area_invalidation_soldier_type]["think"] = ::soldier_think; + var_00 = level.agentclasses["ranged_elite_soldier"]; + maps\mp\zombies\_util::agentclassregister(var_00,level.area_invalidation_soldier_type); + while(!isdefined(level.agent_funcs["ranged_elite_soldier_goliath"])) + { + wait(0.05); + } + + level.area_invalidation_goliath_type = "ranged_elite_soldier_goliath_saboteur"; + level.agent_funcs[level.area_invalidation_goliath_type] = level.agent_funcs["ranged_elite_soldier_goliath"]; + level.agent_funcs[level.area_invalidation_goliath_type]["think"] = ::soldier_think; + level.getloadout[level.area_invalidation_goliath_type] = level.getloadout["ranged_elite_soldier_goliath"]; + level.onspawnfinished[level.area_invalidation_goliath_type] = level.onspawnfinished["ranged_elite_soldier_goliath"]; + var_01 = level.agentclasses["ranged_elite_soldier_goliath"]; + maps\mp\zombies\_util::agentclassregister(var_01,level.area_invalidation_goliath_type); +} + +//Function Number: 5 +initdefuseobject() +{ + self setcursorhint("HINT_NOICON"); + self sethintstring(&"AREA_INVALIDATION_BOMB_DEFUSE"); + var_00 = getent(self.target,"targetname"); + var_00 makeunusable(); + self.trigger = var_00; + var_01 = maps\mp\gametypes\_gameobjects::createuseobject("allies",var_00,[self],(0,0,32),1); + var_01 maps\mp\gametypes\_gameobjects::allowuse("friendly"); + var_01 maps\mp\gametypes\_gameobjects::setusetext(&"MP_DEFUSING_EXPLOSIVE"); + var_01.onbeginuse = ::defuseonbeginuse; + var_01.onenduse = ::defuseonenduse; + var_01.onuse = ::onusedefuseobject; + var_01.nousebar = 1; + var_01.id = "defuseObject"; + var_01.useweapon = "search_dstry_bomb_defuse_mp"; + var_01.visuals[0] hide(); + var_01.visuals[0].enabled = 0; + return var_01; +} + +//Function Number: 6 +activatedefuseobject() +{ + maps\mp\gametypes\_gameobjects::setusetime(level.defusetime); + self.visuals[0] hudoutlineenable(0,0); + self.visuals[0] setbombenabled(1); + self.visuals[0] thread defusethink(); + self.hudicon = newhudelem(); + self.hudicon setshader("hud_waypoint_bomb",8,8); + self.hudicon setwaypoint(1,1); + self.hudicon.x = self.visuals[0].origin[0]; + self.hudicon.y = self.visuals[0].origin[1]; + self.hudicon.z = self.visuals[0].origin[2] + 40; +} + +//Function Number: 7 +deactivatedefuseobject() +{ + self.visuals[0] setbombenabled(0); + self.visuals[0] notify("bomb_exploded"); + if(isdefined(self.hudicon)) + { + self.hudicon destroy(); + } +} + +//Function Number: 8 +defusethink() +{ + level endon("game_ended"); + level endon("defuse_completed"); + self endon("bomb_exploded"); + for(;;) + { + self waittill("trigger",var_00); + self.trigger notify("trigger",var_00); + } +} + +//Function Number: 9 +defuseonbeginuse(param_00) +{ + param_00 notifysoldiersbombbeingused("defuse"); + param_00 playsound("mp_bomb_defuse"); + param_00.isdefusing = 1; + self.visuals[0] setbombenabled(0); + self.hudicon setshader("hud_waypoint_bomb_defuse",8,8); + self.hudicon setwaypoint(1,1); +} + +//Function Number: 10 +defuseonenduse(param_00,param_01,param_02) +{ + if(level.breachzones[self.zonename].status != 2) + { + self.visuals[0] setbombenabled(1); + self.hudicon setshader("hud_waypoint_bomb",8,8); + self.hudicon setwaypoint(1,1); + } + + if(isdefined(param_01)) + { + param_01.isdefusing = 0; + param_01.isplanting = 0; + } +} + +//Function Number: 11 +onusedefuseobject(param_00) +{ + param_00 notify("bomb_defused"); + self.visuals[0] setbombenabled(0); + var_01 = param_00; + if(!isplayer(var_01) && isplayer(var_01.owner)) + { + var_01 = var_01.owner; + } + + var_01 maps\mp\gametypes\zombies::givepointsforevent("breach_fix"); + if(isplayer(param_00)) + { + givedefuseachievement(param_00); + } + + level.bombsdefused++; + var_02 = param_00; + if(!isplayer(param_00)) + { + var_02 = level.players[0]; + } + + if(isdefined(var_02)) + { + var_02 thread maps\mp\_matchdata::loggameevent("zm_bomb_defuse",self.curorigin); + } + + if(maps\mp\zombies\_util::is_true(level.breachinitial)) + { + var_03 = maps\mp\gametypes\zombies::selectnextvalidpickupavoid("ammo"); + maps\mp\gametypes\zombies::createpickup(var_03,param_00.origin,"Defuse Bomb"); + } + + level thread clean_zone(self.zonename); + self.hudicon destroy(); + level thread dodefusefailvo(); +} + +//Function Number: 12 +dodefusefailvo() +{ + wait(1); + waittilldonespeaking(); + wait(1); + var_00 = []; + foreach(var_02 in level.participants) + { + if(isai(var_02) && var_02.team != level.playerteam) + { + var_02 notify("fail_gas"); + var_00[var_00.size] = var_02; + } + } + + var_04 = gettime() + 5000; + while(var_04 > gettime() && var_00.size > 0) + { + if(var_00[0] soldierplayvo("fail")) + { + break; + } + + wait(0.1); + var_00 = common_scripts\utility::array_removeundefined(var_00); + } +} + +//Function Number: 13 +waittilldonespeaking() +{ + while(anyplayersspeaking() || maps\mp\zombies\_zombies_audio_announcer::isannouncerspeaking()) + { + wait(0.1); + } +} + +//Function Number: 14 +anyplayersspeaking() +{ + foreach(var_01 in level.players) + { + if(maps\mp\zombies\_util::is_true(var_01.isspeaking)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 15 +givedefuseachievement(param_00) +{ + if(!isdefined(param_00)) + { + return; + } + + if(!isdefined(param_00.bombdefusecount)) + { + param_00.bombdefusecount = 0; + } + + param_00.bombdefusecount++; + if(param_00.bombdefusecount == 5) + { + param_00 maps\mp\gametypes\zombies::givezombieachievement("DLC3_ZOMBIE_DEFUSEBOMBS"); + } +} + +//Function Number: 16 +setbombenabled(param_00) +{ + if(param_00) + { + self show(); + self makeusable(); + self.enabled = 1; + return; + } + + self hide(); + self makeunusable(); + self.enabled = 0; +} + +//Function Number: 17 +notifysoldiersbombbeingused(param_00) +{ + foreach(var_02 in level.participants) + { + if(!isai(var_02) || isalliedsentient(self,var_02)) + { + continue; + } + + var_03 = 0; + if(param_00 == "plant") + { + var_03 = 300 + var_02 botgetdifficultysetting("strategyLevel") * 100; + } + else if(param_00 == "defuse") + { + var_03 = 500 + var_02 botgetdifficultysetting("strategyLevel") * 500; + } + + if(distancesquared(var_02.origin,self.origin) < squared(var_03)) + { + var_02.player_defuse_time = gettime(); + var_02 soldierplayvo("trydefuse"); + } + } +} + +//Function Number: 18 +setupzone(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + level.breachzones[param_00].exploderid = param_01; + level.breachzones[param_00].omnvarid = param_02; + level.breachzones[param_00].locname = param_03; + level.breachzones[param_00].splashname = param_04; + level.breachzones[param_00].defusesplashname = param_05; + level.breachzones[param_00].detonatesplashname = param_06; + level.breachzones[param_00].hascurestation = param_07; + common_scripts\utility::flag_init("breach_" + param_00); +} + +//Function Number: 19 +clean_zone_splash_delayed(param_00) +{ + level endon("game_ended"); + if(maps\mp\zombies\_util::is_true(level.breachinitial)) + { + wait(1); + } + + if(isdefined(level.breachzones[param_00].defusesplashname)) + { + maps\mp\gametypes\zombies::showteamsplashzombies(level.breachzones[param_00].defusesplashname); + } + + level thread dobreachclearedvo(param_00); +} + +//Function Number: 20 +clean_zone(param_00) +{ + if(level.breachzones[param_00].status == 0) + { + return; + } + + if(level.breachzones[param_00].status == 1) + { + level thread clean_zone_splash_delayed(param_00); + playsoundatpos((0,0,0),"event_gas_success"); + var_01 = get_soldiers_breaching_zone(param_00); + foreach(var_03 in var_01) + { + var_03.bomb_guarding = undefined; + } + } + else + { + stopclientexploder(level.breachzones[param_00].exploderid); + } + + remove_breach_timer(param_00); + level.breachzones[param_00].status = 0; + level.breachzones[param_00].lastfixtime = gettime(); + common_scripts\utility::flag_clear("breach_" + param_00); + level notify("clean" + param_00); + foreach(var_06 in level.breachzones[param_00].defuseobjs) + { + var_06.soldiers = []; + } +} + +//Function Number: 21 +try_continue_breach(param_00,param_01) +{ + if(param_00.size > 0) + { + var_02 = common_scripts\utility::getstructarray("soldier_teleport_struct","targetname"); + for(var_03 = 0;var_03 < param_00.size;var_03++) + { + var_04 = param_00[var_03]; + thread playteleportspawnfx(var_04.origin,1); + var_04 hide_soldier_and_make_invulnerable(1); + var_04 setorigin(var_02[var_03].origin,1); + } + + wait(5); + var_05 = get_contaminated_zones(); + var_06 = 0; + if(var_05.size < 3) + { + var_06 = do_breach(param_00,param_01); + if(!var_06) + { + var_06 = do_breach(param_00); + } + } + + if(!var_06) + { + foreach(var_04 in param_00) + { + var_04 suicide(); + } + } + } +} + +//Function Number: 22 +hide_soldier_and_make_invulnerable(param_00) +{ + if(param_00) + { + self hide(); + } + else + { + self show(); + } + + self.ignoreme = param_00; + self.ignoreall = param_00; + self.godmode = param_00; + self botsetflag("disable_movement",param_00); +} + +//Function Number: 23 +breach_zone_timer(param_00) +{ + level endon("game_ended"); + level endon("clean" + param_00); + level endon("contaminate" + param_00); + var_01 = gettime() + get_breach_time(); + for(;;) + { + var_02 = max(0,var_01 - gettime()) / 1000; + var_03 = int(var_02 + 0.5); + if(var_03 == 0) + { + break; + } + + if(var_03 <= 10 || var_03 <= 30 && var_03 % 2 == 0) + { + playsoundatpos((0,0,0),"ui_mp_timer_countdown"); + } + + if(var_02 - floor(var_02) >= 0.05) + { + wait(var_02 - floor(var_02)); + } + + maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(1); + } + + while(some_player_is_defusing()) + { + wait(0.05); + } + + level thread contaminate_zone(param_00); +} + +//Function Number: 24 +some_player_is_defusing() +{ + foreach(var_01 in level.participants) + { + if(var_01.team == level.playerteam) + { + if(maps\mp\zombies\_util::is_true(var_01.isdefusing)) + { + return 1; + } + } + } + + return 0; +} + +//Function Number: 25 +get_active_bomb_ent(param_00) +{ + foreach(var_02 in level.breachzones[param_00].defuseobjs) + { + if(var_02.visuals[0].enabled) + { + return var_02; + } + } + + return undefined; +} + +//Function Number: 26 +breach_zone(param_00,param_01) +{ + if(level.breachzones[param_00].status == 1) + { + return; + } + + if(level.breachzones[param_00].status == 2) + { + clean_zone(param_00); + } + + var_02 = level.breachzones[param_00].defuseobjs[randomint(level.breachzones[param_00].defuseobjs.size)]; + if(isdefined(param_01)) + { + movesoldierstonewzone(var_02,param_01); + } + else + { + spawnsoldiers(var_02,getnumsoldierstospawn()); + } + + var_02 activatedefuseobject(); + if(isdefined(level.players[0])) + { + level.players[0] thread maps\mp\_matchdata::loggameevent("zm_bomb_plant",var_02.curorigin); + } + + if(isdefined(level.breachzones[param_00].splashname)) + { + maps\mp\gametypes\zombies::showteamsplashzombies(level.breachzones[param_00].splashname); + } + + level thread maps\mp\zombies\_zombies_audio_announcer::announcerglobaldialogdelay("global_priority","exp_" + param_00,1.5,undefined,undefined,undefined,undefined,level.players); + playsoundatpos((0,0,0),"event_gas_start"); + level.breachzones[param_00].status = 1; + level.breachinitial = !isdefined(param_01); + add_breach_timer(param_00); + level thread breach_zone_timer(param_00); + common_scripts\utility::flag_set("breach_" + param_00); + level notify("breach" + param_00); +} + +//Function Number: 27 +getnumsoldierstospawn() +{ + var_00 = maps\mp\zombies\_util::getnumplayers(); + if(var_00 == 2) + { + return 3; + } + else if(var_00 == 1) + { + return 2; + } + + return 4; +} + +//Function Number: 28 +movesoldierstonewzone(param_00,param_01) +{ + var_02 = param_00.visuals[0] maps\mp\zombies\killstreaks\_zombie_squadmate::getvalidspawnnodesforsquadmate(param_01.size); + param_00.soldiers = param_01; + for(var_03 = 0;var_03 < param_01.size;var_03++) + { + param_01[var_03] setorigin(var_02[var_03].origin); + param_01[var_03] setplayerangles(vectortoangles(param_00.curorigin - var_02[var_03].origin)); + param_01[var_03].bomb_guarding = param_00; + param_01[var_03] hide_soldier_and_make_invulnerable(0); + param_01[var_03] thread soldier_think(); + thread playteleportspawnfx(var_02[var_03].origin,3); + } +} + +//Function Number: 29 +spawnsoldiers(param_00,param_01) +{ + var_02 = 0; + var_03 = []; + var_04 = 0; + while(!var_04) + { + var_05 = level.players[0] maps\mp\zombies\_util::getenemyagents(); + var_06 = maps\mp\zombies\_util::getnumagentswaitingtodeactivate(); + var_02 = var_05.size + var_06 - maps\mp\zombies\zombies_spawn_manager::getmaxenemycount() - param_01; + var_03 = maps\mp\zombies\_util::getarrayofoffscreenagentstorecycle(var_05); + if(var_03.size >= var_02) + { + var_04 = 1; + continue; + } + + wait(0.05); + } + + var_07 = 0; + if(var_02 > 0) + { + maps\mp\zombies\_util::pausezombiespawning(1); + var_07 = 1; + var_03 = common_scripts\utility::array_randomize(var_03); + var_08 = []; + for(var_09 = 0;var_09 < var_02;var_09++) + { + var_08[var_09] = var_03[var_09]; + } + + foreach(var_0B in var_08) + { + var_0B suicide(); + } + + wait(0.5); + } + + var_0F = param_00.visuals[0] maps\mp\zombies\killstreaks\_zombie_squadmate::getvalidspawnnodesforsquadmate(param_01); + param_00.soldiers = []; + for(var_09 = 0;var_09 < param_01;var_09++) + { + var_10 = var_0F[var_09].origin; + var_11 = vectortoangles(param_00.curorigin - var_0F[var_09].origin); + var_12 = level.area_invalidation_soldier_type; + if(level.wavecounter >= 20 && var_09 == 0) + { + var_12 = level.area_invalidation_goliath_type; + } + + var_13 = maps\mp\agents\_agent_common::connectnewagent(var_12,level.enemyteam); + var_13.bomb_guarding = param_00; + var_13 maps\mp\agents\_agents::spawn_agent_player(var_10,var_11); + param_00.soldiers[param_00.soldiers.size] = var_13; + var_13 thread soldierhandlevo(); + var_14 = int(maps\mp\gametypes\zombies::calculatezombiehealth(level.agentclasses[var_12])); + if(var_12 == level.area_invalidation_goliath_type) + { + var_14 = int(var_14 * 0.5 * maps\mp\zombies\_util::getnumplayers()); + } + + var_13 maps\mp\agents\_agent_common::set_agent_health(var_14); + thread playteleportspawnfx(var_10,3); + wait(0.05); + } + + if(var_07) + { + maps\mp\zombies\_util::pausezombiespawning(0); + } +} + +//Function Number: 30 +playteleportspawnfx(param_00,param_01) +{ + playfx(common_scripts\utility::getfx("npc_teleport_enemy"),param_00,(1,0,0),(0,0,1)); +} + +//Function Number: 31 +soldier_think() +{ + self endon("death"); + self endon("disconnect"); + level endon("game_ended"); + self notify("soldier_think"); + self endon("soldier_think"); + childthread maps\mp\zombies\ranged_elite_soldier::ammorefillprimary(); + childthread maps\mp\zombies\ranged_elite_soldier::ammorefillsecondary(); + childthread maps\mp\zombies\_zombies::monitorbadzombieai(); + childthread disableattacksandmovement(); + thread dropcamoondeath(); + for(;;) + { + if(isdefined(self.bomb_guarding)) + { + if(isdefined(self.player_defuse_time) && gettime() - self.player_defuse_time < 3000) + { + if(maps\mp\bots\_bots_util::bot_is_defending()) + { + maps\mp\bots\_bots_strategy::bot_defend_stop(); + } + + self botsetscriptgoal(self.bomb_guarding.curorigin,0,"guard"); + } + else if(!maps\mp\bots\_bots_util::bot_is_defending_point(self.bomb_guarding.curorigin)) + { + var_00["score_flags"] = "strict_los"; + maps\mp\bots\_bots_strategy::bot_protect_point(self.bomb_guarding.curorigin,725,var_00); + } + } + else + { + maps\mp\bots\_bots_strategy::bot_defend_stop(); + childthread maps\mp\zombies\_util::locateenemypositions(); + break; + } + + wait(0.05); + } +} + +//Function Number: 32 +disableattacksandmovement() +{ + self botsetflag("disable_attack",1); + self botsetflag("disable_movement",1); + self botsetflag("disable_rotation",1); + wait(3); + self botsetflag("disable_attack",0); + self botsetflag("disable_movement",0); + self botsetflag("disable_rotation",0); +} + +//Function Number: 33 +dropcamoondeath() +{ + self endon("disconnect"); + level endon("game_ended"); + self notify("dropCamoOnDeath"); + self endon("dropCamoOnDeath"); + self waittill("death"); + var_00 = 0; + if(self.agent_type == "ranged_elite_soldier_goliath_saboteur") + { + var_00 = 1; + } + else if(maps\mp\agents\_agent_utility::getactiveagentsoftype("ranged_elite_soldier_saboteur").size == 1) + { + var_00 = 1; + } + else if(randomfloat(1) < 0.25) + { + var_00 = 1; + } + + if(var_00 && isdefined(level.zone_data) && !maps\mp\zombies\_zombies_zone_manager::iszombieinenabledzone(self)) + { + var_00 = 0; + } + + if(var_00) + { + maps\mp\gametypes\zombies::spawnpickupmodel(self.origin + (0,0,22),undefined,undefined,"pickup_camo",::camopickup,::canactivatecamopickup,0); + } +} + +//Function Number: 34 +canactivatecamopickup(param_00) +{ + if(isdefined(param_00) && isagent(param_00)) + { + return 0; + } + + if(maps\mp\zombies\_util::isplayerinlaststand(param_00)) + { + return 0; + } + + return 1; +} + +//Function Number: 35 +camopickup(param_00) +{ + var_01 = 8; + if(maps\mp\zombies\_util::getnumplayers() == 1) + { + var_01 = 10; + } + + param_00 thread maps\mp\zombies\killstreaks\_zombie_camouflage::playercamouflagemode(var_01); + level thread maps\mp\gametypes\zombies::removepickup(self); +} + +//Function Number: 36 +infectplayersinzone(param_00) +{ + level endon("game_ended"); + level endon("clean" + param_00); + var_01 = gettime(); + for(;;) + { + foreach(var_03 in level.players) + { + if(!isalive(var_03)) + { + continue; + } + + if(maps\mp\zombies\_util::isplayerinlaststand(var_03)) + { + continue; + } + + if(var_03 isgod()) + { + continue; + } + + if(maps\mp\zombies\_util::isplayerteleporting(var_03)) + { + continue; + } + + if(maps\mp\zombies\_util::is_true(var_03.onisland)) + { + continue; + } + + if(var_03.sessionstate == "spectator" || var_03.sessionstate == "intermission") + { + continue; + } + + if(!isdefined(var_03.currentzone) || var_03.currentzone != param_00) + { + continue; + } + + if(maps\mp\zombies\_util::isplayerinfected(var_03)) + { + if(!isdefined(var_03.lastinfectdamagetime)) + { + var_03.lastinfectdamagetime = gettime(); + continue; + } + + if(gettime() - var_03.lastinfectdamagetime < 2500) + { + continue; + } + + if(gettime() - var_01 < 10000) + { + continue; + } + + var_03 dodamage(25,var_03.origin,undefined,undefined,"MOD_TRIGGER_HURT"); + var_03.lastinfectdamagetime = gettime(); + continue; + } + else + { + var_04 = 1000; + var_05 = 1500; + if(!isdefined(var_03.lastalmostinfecttime) || gettime() - var_03.lastalmostinfecttime > var_05) + { + var_03.lastalmostinfecttime = gettime(); + } + + if(gettime() - var_03.lastalmostinfecttime < var_04) + { + continue; + } + } + + var_03 thread maps\mp\zombies\_zombies_laststand::hostzombielaststand(); + var_03.lastinfectdamagetime = gettime(); + } + + wait(0.1); + } +} + +//Function Number: 37 +contaminate_zone(param_00) +{ + if(level.breachzones[param_00].status == 2) + { + return; + } + + if(isdefined(level.breachzones[param_00].detonatesplashname)) + { + maps\mp\gametypes\zombies::showteamsplashzombies(level.breachzones[param_00].detonatesplashname); + } + + var_01 = get_contaminated_zones(); + var_02 = var_01.size + 1; + level thread maps\mp\zombies\_zombies_audio_announcer::announcerglobaldialogdelay("global_priority","exp_fail" + var_02,1.5,undefined,undefined,undefined,undefined,level.players); + var_03 = get_active_bomb_ent(param_00); + if(!isdefined(var_03)) + { + var_03 = level.breachzones[param_00].defuseobjs[0]; + } + + var_03 deactivatedefuseobject(); + playsoundatpos(var_03.curorigin,"event_gas_fail"); + earthquake(0.5,1,var_03.curorigin,10000); + playfx(common_scripts\utility::getfx("zone_explode"),var_03.curorigin); + if(isdefined(level.players[0])) + { + level.players[0] thread maps\mp\_matchdata::loggameevent("zm_bomb_explode",var_03.curorigin); + } + + activatepersistentclientexploder(level.breachzones[param_00].exploderid); + level thread infectplayersinzone(param_00); + contaminate_breach_timer(param_00); + level notify("contaminate" + param_00); + level.breachzones[param_00].status = 2; + foreach(var_05 in level.participants) + { + var_05 notify("stop_useHoldThinkLoop"); + } + + var_07 = get_soldiers_breaching_zone(param_00); + thread try_continue_breach(var_07,param_00); + var_03.soldiers = []; +} + +//Function Number: 38 +get_soldiers_breaching_zone(param_00) +{ + var_01 = []; + foreach(var_03 in level.breachzones[param_00].defuseobjs) + { + if(isdefined(var_03.soldiers)) + { + foreach(var_05 in var_03.soldiers) + { + if(isalive(var_05) && var_05.agent_type == level.area_invalidation_soldier_type || var_05.agent_type == level.area_invalidation_goliath_type) + { + var_01[var_01.size] = var_05; + } + } + } + } + + return var_01; +} + +//Function Number: 39 +find_breach_timer_index(param_00) +{ + for(var_01 = 0;var_01 < level.breachtimers.size;var_01++) + { + if(level.breachtimers[var_01].zonename == param_00) + { + return var_01; + } + } + + return -1; +} + +//Function Number: 40 +add_breach_timer(param_00) +{ + var_01 = spawnstruct(); + var_01.zonename = param_00; + var_01.endtime = gettime() + get_breach_time(); + var_01.status = 0; + level.breachtimers[level.breachtimers.size] = var_01; + update_breach_timer_omnvars(); + level thread maps\mp\gametypes\zombies::setendtimeomnvarwithhostmigration("ui_zm_bomb",var_01.endtime); +} + +//Function Number: 41 +get_breach_time() +{ + var_00 = 60000; + var_01 = 5000; + if(level.wavecounter >= 30) + { + var_00 = 20000; + var_01 = 3333; + } + else if(level.wavecounter >= 20) + { + var_00 = 25000; + var_01 = 3333; + } + else if(level.wavecounter >= 10) + { + var_00 = 45000; + var_01 = 5000; + } + + var_02 = 4 - maps\mp\zombies\_util::getnumplayers(); + return var_00 + var_02 * var_01; +} + +//Function Number: 42 +contaminate_breach_timer(param_00) +{ + var_01 = find_breach_timer_index(param_00); + if(var_01 == -1) + { + var_01 = level.breachtimers.size; + var_02 = spawnstruct(); + var_02.zonename = param_00; + var_02.endtime = gettime() + get_breach_time(); + var_02.status = 1; + level.breachtimers[level.breachtimers.size] = var_02; + } + + level.breachtimers[var_01].status = 1; + update_breach_timer_omnvars(); + setomnvar("ui_zm_bomb",0); + level notify("ui_zm_bomb_cancel"); +} + +//Function Number: 43 +remove_breach_timer(param_00) +{ + var_01 = find_breach_timer_index(param_00); + if(var_01 == -1) + { + return; + } + + level.breachtimers = maps\mp\zombies\_util::array_remove_index(level.breachtimers,var_01); + update_breach_timer_omnvars(); + setomnvar("ui_zm_bomb",0); + level notify("ui_zm_bomb_cancel"); +} + +//Function Number: 44 +update_breach_timer_omnvars() +{ + var_00 = [0,0,0]; + var_01 = 0; + var_02 = 1; + for(var_03 = 0;var_03 < level.breachtimers.size;var_03++) + { + var_04 = level.breachtimers[var_03].zonename; + var_05 = level.breachzones[var_04].omnvarid; + var_00[var_03] = level.breachtimers[var_03].endtime; + var_01 = var_01 + var_05 * var_02; + var_02 = var_02 * 10; + if(level.breachtimers[var_03].status > 0) + { + var_01 = var_01 + var_02; + } + + var_02 = var_02 * 10; + } + + setomnvar("ui_zm_zone_timer_1",var_00[0]); + setomnvar("ui_zm_zone_timer_2",var_00[1]); + setomnvar("ui_zm_zone_timer_3",var_00[2]); + setomnvar("ui_zm_zone_identifier",var_01); +} + +//Function Number: 45 +do_breach(param_00,param_01) +{ + level notify("do_breach"); + level endon("do_breach"); + var_02 = []; + var_03 = getarraykeys(level.breachzones); + if(isdefined(param_01)) + { + var_03 = getarraykeys(level.zone_data.zones[param_01].adjacent_zones); + } + + var_04 = 0; + var_05 = get_contaminated_zones(); + foreach(var_07 in var_05) + { + if(maps\mp\zombies\_util::is_true(level.breachzones[var_07].hascurestation)) + { + var_04++; + } + } + + foreach(var_0A in var_03) + { + if(!isdefined(level.breachzones[var_0A])) + { + continue; + } + + if(level.breachzones[var_0A].status != 0) + { + continue; + } + + if(gettime() - level.breachzones[var_0A].lastfixtime < 30000) + { + continue; + } + + if(!maps\mp\zombies\_zombies_zone_manager::iszoneenabled(var_0A)) + { + continue; + } + + if(var_04 > 0 && maps\mp\zombies\_util::is_true(level.breachzones[var_0A].hascurestation)) + { + continue; + } + + var_02[var_02.size] = var_0A; + } + + if(var_02.size > 0) + { + var_0C = var_02[randomint(var_02.size)]; + breach_zone(var_0C,param_00); + return 1; + } + + return 0; +} + +//Function Number: 46 +get_breach_min_wave() +{ + var_00 = 6; + if(maps\mp\zombies\_util::getnumplayers() <= 1) + { + var_00 = var_00 + 2; + } + + return var_00; +} + +//Function Number: 47 +get_breach_max_wave() +{ + var_00 = 20; + if(maps\mp\zombies\_util::getnumplayers() <= 1) + { + var_00 = var_00 + 2; + } + + return var_00; +} + +//Function Number: 48 +some_player_has_exo_suit() +{ + foreach(var_01 in level.players) + { + if(isalive(var_01) && maps\mp\zombies\_util::is_true(var_01.exosuitonline)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 49 +run_breach_logic() +{ + level.prevbreachwave = 0; + childthread handle_round_end_breach_logic(); + for(;;) + { + level waittill("zombie_wave_started"); + if(level.wavecounter >= get_breach_min_wave()) + { + if(!some_player_has_exo_suit()) + { + if(level.wavecounter < get_breach_min_wave() + 2) + { + continue; + } + } + + break; + } + } + + var_00 = randomfloatrange(15,30); + maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(var_00); + while(maps\mp\zombies\_util::iszombiegamepaused()) + { + wait 0.05; + } + + for(;;) + { + while(!can_do_breach()) + { + wait(60); + } + + level thread do_breach(); + level.prevbreachwave = level.wavecounter; + var_01 = undefined; + var_02 = undefined; + if(level.wavecounter >= get_breach_max_wave()) + { + var_01 = 270; + var_02 = 30; + } + else if(level.wavecounter <= get_breach_min_wave()) + { + var_01 = 360; + var_02 = 60; + } + else + { + var_03 = level.wavecounter - get_breach_min_wave() / get_breach_max_wave() - get_breach_min_wave(); + var_01 = maps\mp\zombies\_util::lerp(var_03,360,270); + var_02 = maps\mp\zombies\_util::lerp(var_03,60,30); + } + + var_04 = randomfloatrange(var_01 - var_02,var_01 + var_02); + maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(var_04); + while(maps\mp\zombies\_util::iszombiegamepaused()) + { + wait 0.05; + } + } +} + +//Function Number: 50 +can_do_breach() +{ + if(level.roundtype == "zombie_host") + { + return 0; + } + + if(maps\mp\agents\_agent_utility::getactiveagentsoftype("zombie_melee_goliath").size > 0) + { + return 0; + } + + var_00 = get_breached_zones(); + if(var_00.size != 0) + { + return 0; + } + + var_01 = get_contaminated_zones(); + if(var_01.size >= 3) + { + return 0; + } + + var_02 = level.totalaispawned / level.totaldesiredai; + if(var_02 >= 0.8) + { + return 0; + } + + return 1; +} + +//Function Number: 51 +handle_round_end_breach_logic() +{ + for(;;) + { + level waittill("zombie_wave_ended"); + waittillframeend; + var_00 = get_contaminated_zones(); + if(var_00.size > 0) + { + var_01 = get_breached_zones(); + if(var_01.size == 0) + { + foreach(var_03 in var_00) + { + clean_zone(var_03); + } + + if(var_00.size >= 3) + { + maps\mp\gametypes\zombies::showteamsplashzombies("zombie_vent_goliath"); + maps\mp\zombies\zombie_melee_goliath::spawnenhancedgoliath(); + level thread handle_round_transition_vo(1); + } + else + { + maps\mp\gametypes\zombies::showteamsplashzombies("zombie_vent_gas"); + level thread handle_round_transition_vo(0); + } + } + } + } +} + +//Function Number: 52 +handle_round_transition_vo(param_00) +{ + var_01 = "exp_round"; + if(param_00) + { + var_01 = var_01 + "_gol"; + } + + wait(1.5); + maps\mp\zombies\_zombies_audio_announcer::waittillannouncerdonespeaking(); + maps\mp\zombies\_zombies_audio_announcer::announcerglobaldialog("global_priority",var_01,undefined,undefined,undefined,undefined,level.players); + maps\mp\zombies\_zombies_audio_announcer::waittillannouncerdonespeaking(); + if(param_00) + { + foreach(var_03 in level.players) + { + var_03 playlocalsound("zmb_gol_round_start_front"); + } + + wait(2); + } + + level notify("area_invalidation_vo_complete"); +} + +//Function Number: 53 +is_next_round_transition_venting() +{ + var_00 = get_breached_zones(); + var_01 = get_contaminated_zones(); + return var_00.size == 0 && var_01.size > 0; +} + +//Function Number: 54 +is_next_round_zombie_goliath_round() +{ + var_00 = get_breached_zones(); + var_01 = get_contaminated_zones(); + return var_00.size == 0 && var_01.size >= 3; +} + +//Function Number: 55 +get_contaminated_zones() +{ + var_00 = []; + foreach(var_03, var_02 in level.breachzones) + { + if(var_02.status == 2) + { + var_00[var_00.size] = var_03; + } + } + + return var_00; +} + +//Function Number: 56 +get_breached_zones() +{ + var_00 = []; + foreach(var_03, var_02 in level.breachzones) + { + if(var_02.status == 1) + { + var_00[var_00.size] = var_03; + } + } + + return var_00; +} + +//Function Number: 57 +zone_is_breached(param_00) +{ + return level.breachzones[param_00].status == 1; +} + +//Function Number: 58 +zone_is_contaminated(param_00) +{ + if(!isdefined(level.breachzones) || !isdefined(level.breachzones[param_00])) + { + return 0; + } + + return level.breachzones[param_00].status == 2; +} + +//Function Number: 59 +soldierhandlevo() +{ + self endon("death"); + wait(1); + if(!isdefined(level.atlasdebouncevo)) + { + return; + } + + thread soldierdochatter(); + thread soldierdogoliathvo(); +} + +//Function Number: 60 +soldierdogoliathvo() +{ + var_00 = 250000; + if(!isdefined(self.agent_type) || !issubstr(self.agent_type,"goliath")) + { + return; + } + + for(;;) + { + foreach(var_02 in level.players) + { + var_03 = distancesquared(self.origin,var_02.origin); + if(var_03 <= var_00 && soldierplayvo("goliath")) + { + return; + } + } + + wait(1); + } +} + +//Function Number: 61 +soldierdochatter() +{ + self endon("death"); + self endon("fail_gas"); + var_00 = 250000; + for(;;) + { + foreach(var_02 in level.players) + { + var_03 = distancesquared(self.origin,var_02.origin); + if(var_03 <= var_00) + { + if(soldierplayvo("chatter")) + { + wait(10); + } + } + } + + wait(1); + } +} + +//Function Number: 62 +soldierplayvo(param_00) +{ + if(!isdefined(self.zmbvoxid)) + { + self.zmbvoxid = "atlas"; + } + + if(!isdefined(level.atlasdebouncevo)) + { + return 0; + } + + if(isdefined(level.atlasdebouncevo[param_00]) && level.atlasdebouncevo[param_00] > gettime()) + { + return 0; + } + + if(maps\mp\zombies\_zombies_audio::create_and_play_dialog("general",param_00)) + { + if(isdefined(level.atlasdebouncevo[param_00])) + { + level.atlasdebouncevo[param_00] = gettime() + 30000; + } + + return 1; + } + + return 0; +} + +//Function Number: 63 +dobreachclearedvo(param_00) +{ + maps\mp\zombies\_zombies_audio_announcer::announcerglobaldialogdelay("global_priority","exp_win",2,undefined,undefined,undefined,undefined,level.players); + if(!maps\mp\zombies\_util::is_true(level.zmbaudioplayedatlasconv)) + { + level.zmbaudioplayedatlasconv = 0; + maps\mp\zombies\_zombies_audio_announcer::waittillallannouncersdonespeaking(); + wait(0.5); + var_01 = get_soldiers_breaching_zone(param_00); + if(var_01.size == 0) + { + var_02 = maps\mp\zombies\_zombies_audio::getcharacterbyprefix("pilot"); + if(isdefined(var_02)) + { + var_03 = var_02 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","atlas_conv"); + if(var_03) + { + level.zmbaudioplayedatlasconv = 1; + var_02 common_scripts\utility::waittill_notify_or_timeout("done_speaking",8); + } + } + + var_04 = maps\mp\zombies\_zombies_audio::getcharacterbyprefix("guard"); + if(isdefined(var_04)) + { + var_03 = var_04 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","atlas_conv"); + if(var_03) + { + level.zmbaudioplayedatlasconv = 1; + var_04 common_scripts\utility::waittill_notify_or_timeout("done_speaking",8); + } + } + + var_05 = maps\mp\zombies\_zombies_audio::getcharacterbyprefix("exec"); + if(isdefined(var_05)) + { + var_03 = var_05 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","atlas_conv"); + if(var_03) + { + level.zmbaudioplayedatlasconv = 1; + var_05 common_scripts\utility::waittill_notify_or_timeout("done_speaking",8); + } + } + + var_06 = maps\mp\zombies\_zombies_audio::getcharacterbyprefix("it"); + if(isdefined(var_06)) + { + var_03 = var_06 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","atlas_conv"); + if(var_03) + { + level.zmbaudioplayedatlasconv = 1; + var_06 common_scripts\utility::waittill_notify_or_timeout("done_speaking",8); + return; + } + + return; + } + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/_behavior.gsc b/AW/PC/maps/mp/zombies/_behavior.gsc new file mode 100644 index 0000000..31d2166 --- /dev/null +++ b/AW/PC/maps/mp/zombies/_behavior.gsc @@ -0,0 +1,296 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_behavior.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 5 + * Decompile Time: 84 ms + * Timestamp: 4/22/2024 2:13:33 AM +*******************************************************************/ + +//Function Number: 1 +humanoid_begin_melee() +{ + if(self.ignoreall) + { + return 0; + } + + if(!isdefined(self.curmeleetarget)) + { + return 0; + } + + if(self.aistate == "melee" || maps\mp\agents\_scripted_agent_anim_util::isstatelocked()) + { + return 0; + } + + if(!maps\mp\zombies\_util::has_entered_game()) + { + return 0; + } + + if(maps\mp\agents\humanoid\_humanoid::wanttoattacktargetbutcant()) + { + return 0; + } + + if(maps\mp\agents\humanoid\_humanoid::didpastmeleefail()) + { + return 0; + } + + var_00 = maps\mp\zombies\_util::is_true(self.lungemeleeenabled) && isdefined(self.lungelast) && gettime() - self.lungelast <= self.lungedebouncems; + if(maps\mp\agents\humanoid\_humanoid::didpastlungemeleefail() || var_00) + { + if(!maps\mp\agents\humanoid\_humanoid::readytomeleetarget("base")) + { + return 0; + } + } + else if(!maps\mp\agents\humanoid\_humanoid::readytomeleetarget("normal")) + { + return 0; + } + + if(isdefined(self.meleedebouncetime)) + { + var_01 = gettime() - self.lastmeleefinishtime; + if(var_01 < self.meleedebouncetime * 1000) + { + return 0; + } + } + + if(!isdefined(self.lastmeleepos) || distancesquared(self.lastmeleepos,self.origin) > 256) + { + self.meleemovemode = self.movemode; + } + + self scragentbeginmelee(self.curmeleetarget); + return 1; +} + +//Function Number: 2 +humanoid_seek_enemy_melee(param_00) +{ + if(self.ignoreall) + { + self.curmeleetarget = undefined; + return 0; + } + + var_01 = undefined; + if(isdefined(self.distractiondrone) && maps\mp\agents\humanoid\_humanoid_util::shouldtargetdistractiondrone()) + { + var_01 = self.distractiondrone; + } + else if(isdefined(level.zmbhighpriorityenemy) && !maps\mp\zombies\_util::shouldignoreent(level.zmbhighpriorityenemy)) + { + var_01 = level.zmbhighpriorityenemy; + } + else if(isdefined(self.enemy) && !maps\mp\zombies\_util::shouldignoreent(self.enemy)) + { + var_01 = self.enemy; + } + + if(isdefined(var_01)) + { + var_02 = self.attackoffset + self.radius * 2; + var_03 = var_02 * var_02; + if(maps\mp\zombies\_util::getzombieslevelnum() >= 3) + { + var_04 = var_02 - self.attackoffset; + } + else + { + var_04 = self.attackoffset; + } + + var_05 = var_04 * var_04; + self.curmeleetarget = var_01; + var_06 = maps\mp\agents\humanoid\_humanoid::getmeleeattackpoint(var_01); + var_07 = var_06.enemysectororigin; + var_08 = distancesquared(var_06.origin,self.origin); + var_09 = distancesquared(var_07,self.origin); + var_0A = self.bhasnopath; + if(var_09 < squared(self.radius) && distancesquared(var_07,var_06.origin) > squared(self.radius)) + { + var_0A = 1; + self notify("attack_anim","end"); + } + + if(isdefined(param_00) && param_00) + { + if(!var_0A && var_09 > var_03) + { + var_0A = 1; + } + } + else if(!var_0A && var_09 > var_03 && var_08 > var_05) + { + var_0A = 1; + } + + if(var_06.valid) + { + if(!var_0A && var_09 <= var_03 && var_08 > squared(self.defaultgoalradius)) + { + var_0A = 1; + } + + self scragentsetgoalradius(self.defaultgoalradius); + } + else if(!maps\mp\agents\humanoid\_humanoid_util::hasvalidmeleesectorsfortype(var_01,self.meleesectortype)) + { + self scragentsetgoalradius(self.defaultgoalradius); + var_0A = 1; + } + else + { + self scragentsetgoalradius(var_02); + if(var_09 <= var_03) + { + var_06.origin = self.origin; + var_0A = 1; + } + } + + if(var_0A) + { + self scragentsetgoalpos(var_06.origin); + } + + return 1; + } + else + { + if(isdefined(self.curmeleetarget)) + { + self.bhasnopath = 1; + } + + self.curmeleetarget = undefined; + } + + return 0; +} + +//Function Number: 3 +humanoid_seek_enemies_all_known() +{ + var_00 = []; + var_01 = level.characters; + if(isdefined(level.npcs)) + { + var_01 = common_scripts\utility::array_combine(var_01,level.npcs); + } + + foreach(var_03 in var_01) + { + if(var_03.ignoreme || isdefined(var_03.owner) && var_03.owner.ignoreme) + { + continue; + } + + if((isagent(var_03) || isplayer(var_03)) && var_03 isnotarget() || isdefined(var_03.owner) && var_03.owner isnotarget()) + { + continue; + } + + if(isalliedsentient(self,var_03)) + { + continue; + } + + if(maps\mp\zombies\_util::shouldignoreent(var_03)) + { + continue; + } + + if(isdefined(var_03.canbetargetedby)) + { + if(!var_03 [[ var_03.canbetargetedby ]](self)) + { + continue; + } + } + else if(!isalive(var_03)) + { + continue; + } + + var_00[var_00.size] = var_03; + } + + var_05 = undefined; + if(var_00.size > 0) + { + var_05 = sortbydistance(var_00,self.origin); + } + + if(isdefined(var_05) && var_05.size > 0) + { + var_06 = 300; + var_07 = distancesquared(var_05[0].origin,self.origin); + if(var_07 < var_06 * var_06) + { + var_06 = 16; + } + + if(self.bhasnopath || distancesquared(self scragentgetgoalpos(),var_05[0].origin) > var_06 * var_06) + { + self scragentsetgoalpos(var_05[0].origin); + self.bhasnopath = 0; + } + + return 1; + } + + return 0; +} + +//Function Number: 4 +humanoid_seek_random_loc() +{ + var_00 = distancesquared(self scragentgetgoalpos(),self.origin) < self.defaultgoalradius * self.defaultgoalradius; + if(var_00 || self.bhasnopath) + { + self.last_random_path_node = undefined; + if(!isdefined(self.last_random_path_node)) + { + var_01 = getnodesinradiussorted(self.origin,1024,256,512,"Path"); + var_02 = maps\mp\agents\humanoid\_humanoid_util::find_valid_pathnodes_for_random_pathing(var_01); + if(var_02.size > 0) + { + self.last_random_path_node = common_scripts\utility::random(var_02); + } + } + + if(isdefined(self.last_random_path_node)) + { + self scragentsetgoalpos(self.last_random_path_node.origin); + self.bhasnopath = 0; + } + } + + return !self.bhasnopath; +} + +//Function Number: 5 +humanoid_follow(param_00) +{ + if(!isdefined(param_00)) + { + return 0; + } + + if(self.bhasnopath || distancesquared(self scragentgetgoalpos(),param_00.origin) < 16384) + { + self scragentsetgoalpos(param_00.origin); + self.bhasnopath = 0; + } + + return 1; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/_civilians.gsc b/AW/PC/maps/mp/zombies/_civilians.gsc new file mode 100644 index 0000000..e093b0c --- /dev/null +++ b/AW/PC/maps/mp/zombies/_civilians.gsc @@ -0,0 +1,870 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_civilians.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 39 + * Decompile Time: 612 ms + * Timestamp: 4/22/2024 2:13:35 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + while(!isdefined(level.struct_class_names)) + { + wait(0.05); + } + + level.agent_funcs["zombie_civilian"] = level.agent_funcs["player"]; + level.agent_funcs["zombie_civilian"]["onAIConnect"] = ::oncivaiconnect; + level.agent_funcs["zombie_civilian"]["on_killed"] = ::oncivkilled; + level.agent_funcs["zombie_civilian"]["on_damaged"] = ::oncivdamaged; + level.agent_funcs["zombie_civilian"]["on_damaged_finished"] = ::oncivdamagefinished; + level.agent_funcs["zombie_civilian"]["spawn"] = ::onzombiecivilianspawn; + level.agent_funcs["zombie_civilian"]["think"] = ::zombiecivilianthink; + level.zombies_spawners_civ = common_scripts\utility::getstructarray("civ_spawner","targetname"); + var_00 = spawnstruct(); + var_00.agent_type = "zombie_civilian"; + var_00.animclass = "zombie_civilian_animclass"; + var_00.health_scale = 1; + var_00.meleedamage = 5; + buildbodies(var_00); + createthreatbiasgroup("zombie_civilians"); + var_01 = maps\mp\zombies\_util::getnumplayers(); + if(var_01 == 1) + { + setthreatbias("zombie_civilians","zombies",100); + } + else + { + setthreatbias("zombie_civilians","zombies",500); + } + + maps\mp\zombies\_util::agentclassregister(var_00,"zombie_civilian"); + level.currentmaxenemycountfunc["civilian"] = ::civilianroundmaxnumenemies; + level.extractioninitfuncs["default"] = ::defaultextractioninit; + level.extractionescortfuncs["default"] = ::defaultextractionescort; + level.extractionfuncs["default"] = ::defaultextraction; + level.numberofalivecivilians = 0; + level.civiliancowerpoints = common_scripts\utility::getstructarray("cower_point","script_noteworthy"); + level._effect["Extraction_Flare"] = loadfx("vfx/props/flare_ambient"); + level.civiliansextracting = 0; + level.civiliansrescued = 0; +} + +//Function Number: 2 +precachestrings() +{ + precachestring(&"ZOMBIE_CIVILIANS_SURVIVOR"); + precachestring(&"ZOMBIE_CIVILIANS_RESCUE_START"); + precachestring(&"ZOMBIE_CIVILIANS_RESCUE_FAIL"); + precachestring(&"ZOMBIE_CIVILIANS_RESCUE_SUCCESS"); + precachestring(&"ZOMBIE_CIVILIANS_SUCCESS_END_ROUND"); + precachestring(&"ZOMBIE_CIVILIANS_FAIL_END_ROUND"); + precachestring(&"ZOMBIE_CIVILIANS_POWER_RESTORED"); + precachestring(&"ZOMBIE_CIVILIANS_INCOMING_UPGRADE"); + precachestring(&"ZOMBIE_CIVILIANS_POWER_OFF_TRIGGER"); + precachestring(&"ZOMBIE_CIVILIANS_SUCCESS_SILVER_END_ROUND"); + precachestring(&"ZOMBIE_CIVILIANS_SUCCESS_GOLD_END_ROUND"); +} + +//Function Number: 3 +buildbodies(param_00) +{ + if(level.nextgen) + { + var_01[0] = ["civ_urban_male_body_a_dlc2","civ_urban_male_body_c_dlc2","civ_urban_male_body_d_dlc2","civ_urban_male_body_e_dlc2"]; + var_02[0] = ["head_m_gen_cau_anderson","head_m_gen_cau_clark","head_m_act_cau_ramsay_base"]; + var_01[1] = ["civ_brg_employee_dlc2"]; + var_02[1] = ["head_m_gen_cau_anderson","head_m_gen_cau_clark","head_m_act_cau_ramsay_base"]; + } + else + { + var_01[0] = ["civ_urban_male_body_a_dlc2"]; + param_00[0] = ["head_m_gen_cau_anderson","head_m_gen_cau_clark","head_m_act_cau_ramsay_base"]; + var_01[1] = ["civ_brg_employee_dlc2"]; + var_02[1] = ["head_m_gen_cau_anderson","head_m_gen_cau_clark","head_m_act_cau_ramsay_base"]; + } + + param_00.model_bodies = var_01; + param_00.model_heads = var_02; +} + +//Function Number: 4 +oncivaiconnect() +{ + self.agentname = &"ZOMBIE_CIVILIANS_SURVIVOR"; + self allowprone(0); + self.traversecost = 3; +} + +//Function Number: 5 +spawncivilian(param_00,param_01) +{ + level endon("zombie_wave_interrupt"); + var_02 = maps\mp\zombies\_util::agentclassget(param_00); + var_03 = getcenterofplayers(); + if(!isdefined(level.civ_extract.spawnpoint)) + { + return; + } + + if(!isdefined(var_02)) + { + return; + } + + var_04 = 36864; + var_05 = 1; + var_06 = gettime() + 90000; + iprintlnbold(&"ZOMBIE_CIVILIANS_RESCUE_START"); + if(isdefined(level.civ_extract.spawnpoint.target)) + { + var_07 = common_scripts\utility::getstruct(level.civ_extract.spawnpoint.target,"targetname"); + } + else + { + var_07 = level.civ_extract.spawnpoint; + } + + var_08 = spawn("script_model",var_07.origin); + var_08 setmodel("tag_origin"); + thread killicononroundskip(var_08); + foreach(var_0A in level.players) + { + if(var_0A.sessionstate == "spectator") + { + continue; + } + + var_08.headicon = var_08 maps\mp\_entityheadicons::setheadicon(var_0A,"hud_waypoint_survivor",(0,0,16),4,4,undefined,undefined,undefined,1,undefined,0); + } + + level.waitingforcivilianspawn = 1; + while(var_05 == 1) + { + foreach(var_0A in level.players) + { + if(distance2dsquared(var_07.origin,var_0A.origin) < var_04 && abs(var_0A.origin[2] - var_07.origin[2]) < 128) + { + var_05 = 2; + break; + } + } + + if(gettime() >= var_06) + { + var_05 = 3; + } + + wait 0.05; + } + + level.waitingforcivilianspawn = undefined; + if(isdefined(var_08.headicon)) + { + var_08.headicon destroy(); + var_08 delete(); + } + + if(var_05 == 3) + { + level notify("extraction_failed"); + iprintlnbold(&"ZOMBIE_CIVILIANS_RESCUE_FAIL"); + return; + } + + var_0E = maps\mp\zombies\_util::spawnscriptagent(level.civ_extract.spawnpoint,var_02,level.playerteam); + if(var_0E.model == "civ_brg_employee_dlc2") + { + var_0E thread maps\mp\mp_zombie_brg::burgertownemployeeattachhat(); + } + + level notify("civilian_spawned",var_0E); + if(!isdefined(var_0E)) + { + return; + } + + var_0E thermaldrawdisable(); + var_0F = maps\mp\zombies\_util::getnumplayers(); + if(var_0F == 1) + { + var_10 = int(var_02.roundhealth * 2.5); + } + else + { + var_10 = var_03.roundhealth; + } + + var_0E maps\mp\agents\_agent_common::set_agent_health(var_10); + var_0E.meleedamage = var_02.meleedamage; + var_0E maps\mp\zombies\_util::zombies_make_objective("compass_objpoint_ammo_friendly"); + var_0E scragentsetspecies("civilian"); + var_0E maps\mp\_utility::giveperk("specialty_coldblooded",0); + return var_0E; +} + +//Function Number: 6 +civilianroundmaxnumenemies(param_00) +{ + if(level.players.size > 1 || level.civiliansextracting > 0 || level.numberofalivecivilians <= 0) + { + return param_00; + } + + return int(param_00 * 0.75); +} + +//Function Number: 7 +killicononroundskip(param_00) +{ + level endon("game_ended"); + level endon("civilian_spawned"); + level waittill("zombie_wave_interrupt"); + if(isdefined(param_00)) + { + param_00.headicon destroy(); + param_00 delete(); + } +} + +//Function Number: 8 +getcenterofplayers() +{ + var_00 = (0,0,0); + foreach(var_02 in level.players) + { + var_00 = var_00 + var_02.origin; + } + + var_00 = var_00 / level.players.size; + return var_00; +} + +//Function Number: 9 +onzombiecivilianspawn(param_00,param_01,param_02) +{ + maps\mp\zombies\_util::onspawnscriptagenthumanoid(param_00,param_01,param_02); + thread interestmonitor(); + self.idlestateoverridefunc = ::determineidlestate; + level.numberofalivecivilians++; + self setthreatbiasgroup("zombie_civilians"); + self.movemode = "walk"; +} + +//Function Number: 10 +interestmonitor() +{ + self endon("death"); + level endon("game_ended"); + var_00 = 262144; + var_01 = 2.5; + for(;;) + { + if(!isdefined(self.targetofinterest) || distancesquared(self.origin,self.targetofinterest.origin) > var_00) + { + var_02 = findfirstenemyinradius(var_00,1); + if(isdefined(var_02)) + { + self.targetofinterest = var_02; + wait(var_01); + } + } + + wait(0.1); + } +} + +//Function Number: 11 +findfirstenemyinradius(param_00,param_01) +{ + var_02 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + foreach(var_04 in var_02) + { + if(!isenemyteam(self.team,var_04.team)) + { + continue; + } + + if(!param_01 && isdefined(self.dismember_crawl) && self.dismember_crawl) + { + continue; + } + + if(distancesquared(self.origin,var_04.origin) < param_00) + { + return var_04; + } + } + + return undefined; +} + +//Function Number: 12 +getnumberofenemiesinradius(param_00,param_01) +{ + var_02 = 128; + var_03 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + var_04 = 0; + foreach(var_06 in var_03) + { + if(!isenemyteam(self.team,var_06.team)) + { + continue; + } + + if(!param_01 && isdefined(self.dismember_crawl) && self.dismember_crawl) + { + continue; + } + + if(abs(self.origin[2] - var_06.origin[2]) > var_02) + { + continue; + } + + if(distancesquared(self.origin,var_06.origin) < param_00) + { + var_04++; + } + } + + return var_04; +} + +//Function Number: 13 +getpercentageofplayersinradius(param_00) +{ + var_01 = 0; + foreach(var_03 in level.players) + { + if(maps\mp\zombies\_util::isplayerinlaststand(var_03)) + { + continue; + } + + if(distancesquared(self.origin,var_03.origin) < param_00) + { + var_01++; + } + } + + return float(var_01 / level.players.size); +} + +//Function Number: 14 +determineidlestate() +{ + if(isdefined(self.targetofinterest)) + { + return "idle_combat"; + } + + return "idle_noncombat"; +} + +//Function Number: 15 +setupcivilianstate() +{ + maps\mp\agents\humanoid\_humanoid::setuphumanoidstate(); + self.isbeingescorted = 0; + self.stoprequested = 0; + self.extracting = 0; + thread civilianmovementrate(); +} + +//Function Number: 16 +zombiecivilianthink() +{ + self endon("death"); + level endon("game_ended"); + setupcivilianstate(); + var_00 = self.origin; + self.targetextractpoint = level.civ_extract.extractpoint; + if(isdefined(self.targetextractpoint.script_parameters) && isdefined(level.extractionfuncs[self.targetextractpoint.script_parameters])) + { + var_01 = self.targetextractpoint.script_parameters; + } + else + { + var_01 = "default"; + } + + self notify("begin_extraction_init"); + [[ level.extractionescortfuncs[var_01] ]](); + thread maps\mp\zombies\_util::waitforbadpath(); + thread enemyproximitymonitor(); + var_02 = spawn("script_model",self.targetextractpoint.origin + (0,0,2)); + var_02 setmodel("viewmodel_flare"); + var_02.angles = (90,randomfloatrange(-180,180),0); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("Extraction_Flare"),var_02,"TAG_FIRE_FX",0); + var_02 playloopsound("zmb_civ_extraction_flare_lp"); + thread flarefxcleanup(var_02); + for(;;) + { + if(self.extracting) + { + break; + } + + if(shouldstartmoving()) + { + thread movetoextractpoint(); + } + else if(shouldstopmoving()) + { + thread stopmoving(); + } + else if(isdefined(self.nearbyenemy)) + { + attempttomeleeenemy(); + } + + wait 0.05; + } + + if(isalive(self)) + { + common_scripts\utility::waittill_any("extraction_complete","death"); + } +} + +//Function Number: 17 +movetoextractpoint() +{ + self endon("civilian_stop"); + self endon("death"); + level endon("game_ended"); + self.isbeingescorted = 1; + self.lastplayerproximitytime = gettime(); + if(isdefined(self.targetextractpoint.script_parameters) && isdefined(level.extractionfuncs[self.targetextractpoint.script_parameters])) + { + var_00 = self.targetextractpoint.script_parameters; + } + else + { + var_00 = "default"; + } + + self notify("begin_extraction_escort"); + [[ level.extractionescortfuncs[var_00] ]](); + self scragentsetgoalradius(64); + var_01 = self.targetextractpoint; + self.badpathresults = 0; + for(;;) + { + for(;;) + { + self scragentsetgoalpos(self.targetextractpoint.origin); + var_02 = common_scripts\utility::waittill_any_return("goal","goal_reached","bad_path","close_enemy"); + if(var_02 == "goal" || var_02 == "goal_reached" && distance(self.origin,self.targetextractpoint.origin) < 64) + { + break; + } + } + + break; + } + + if(var_02 == "goal" || var_02 == "goal_reached" && distance(self.origin,self.targetextractpoint.origin) < 64) + { + self.targetextractpoint = var_01; + thread startextraction(); + return; + } + + if(var_02 == "bad_path") + { + self.badpathresults++; + if(self.badpathresults >= 3) + { + self.stoprequested = 1; + return; + } + } +} + +//Function Number: 18 +flarefxcleanup(param_00) +{ + level common_scripts\utility::waittill_any("extraction_complete","extraction_failed"); + maps\mp\zombies\_util::killfxontagnetwork(common_scripts\utility::getfx("Extraction_Flare"),param_00,"TAG_FIRE_FX"); + param_00 stoploopsound(); + wait(10); + param_00 delete(); +} + +//Function Number: 19 +attempttomeleeenemy() +{ + if(!isdefined(self.nextvalidmeleetime)) + { + self.nextvalidmeleetime = calculatenextmeleetime(); + } + + if(gettime() >= self.nextvalidmeleetime) + { + self.curmeleetarget = self.nearbyenemy; + self.hastraversed = 1; + maps\mp\zombies\_behavior::humanoid_begin_melee(); + self.nextvalidmeleetime = calculatenextmeleetime(); + } +} + +//Function Number: 20 +calculatenextmeleetime() +{ + var_00 = 1000; + var_01 = 3000; + return gettime() + randomintrange(var_00,var_01); +} + +//Function Number: 21 +enemyproximitymonitor() +{ + self endon("begin_extraction"); + level endon("game_ended"); + wait 0.05; + var_00 = maps\mp\zombies\_util::getnumplayers(); + if(var_00 == 1) + { + var_01 = 4096; + } + else + { + var_01 = 16384; + } + + for(;;) + { + var_02 = findfirstenemyinradius(var_01,0); + var_03 = getnumberofenemiesinradius(var_01,0); + var_04 = getpercentageofplayersinradius(180000); + if(var_03 > var_04 * 3) + { + self.stoprequested = 1; + } + else + { + self.stoprequested = 0; + } + + if(!isdefined(self.nearbyenemy)) + { + self.nextvalidmeleetime = calculatenextmeleetime(); + } + + self.nearbyenemy = var_02; + wait(0.2); + } +} + +//Function Number: 22 +stopmoving() +{ + self endon("death"); + level endon("game_ended"); + self.isbeingescorted = 0; + self notify("civilian_stop"); + wait 0.05; + self scragentsetgoalpos(self.origin); + self scragentsetgoalradius(4096); + thread movetocowerlocation(); +} + +//Function Number: 23 +movetocowerlocation() +{ + self endon("begin_extraction_escort"); + self endon("death"); + level endon("game_ended"); + var_00 = 262144; + if(self.stoprequested) + { + return; + } + + var_01 = []; + foreach(var_03 in level.civiliancowerpoints) + { + var_04 = vectordot(self.targetextractpoint.origin - self.origin,var_03.origin - self.origin); + if(var_04 < 0) + { + continue; + } + + var_05 = distancesquared(var_03.origin,self.origin); + if(var_05 < var_00) + { + var_01[var_01.size] = var_03; + } + } + + if(var_01.size == 0) + { + return; + } + + var_07 = undefined; + foreach(var_03 in var_01) + { + if(getpathdist(self.origin,var_03.origin) > -1) + { + var_07 = var_03; + break; + } + + wait 0.05; + } + + if(!isdefined(var_07)) + { + return; + } + + for(;;) + { + self scragentsetgoalpos(var_07.origin); + self scragentsetgoalradius(64); + var_0A = common_scripts\utility::waittill_any_return("goal","goal_reached","bad_path","civilian_stop"); + if(var_0A == "goal" || var_0A == "goal_reached") + { + break; + } + + if(var_0A == "bad_path") + { + break; + } + + while(var_0A == "civilian_stop" && self.stoprequested) + { + wait 0.05; + } + } +} + +//Function Number: 24 +shouldstartmoving() +{ + if(self.isbeingescorted) + { + return 0; + } + + return !self.stoprequested && areplayerswithinrange(65536); +} + +//Function Number: 25 +shouldstopmoving() +{ + if(!self.isbeingescorted) + { + return 0; + } + + if(self.stoprequested) + { + return 1; + } + + var_00 = distancesquared(self.origin,self.targetextractpoint.origin); + if(var_00 < 262144) + { + return 0; + } + + var_01 = gettime(); + var_02 = areplayerswithinrange(180000); + if(var_02) + { + self.lastplayerproximitytime = var_01; + return 0; + } + + return var_01 > self.lastplayerproximitytime + 3000; +} + +//Function Number: 26 +registerextractioninitevent(param_00,param_01) +{ + level.extractioninitfuncs[param_00] = param_01; +} + +//Function Number: 27 +registerextractionescortevent(param_00,param_01) +{ + level.extractionescortfuncs[param_00] = param_01; +} + +//Function Number: 28 +registerextractionevent(param_00,param_01) +{ + level.extractionfuncs[param_00] = param_01; +} + +//Function Number: 29 +startextraction() +{ + maps\mp\zombies\_util::zombies_make_nonobjective(); + if(isdefined(self.targetextractpoint.script_parameters) && isdefined(level.extractionfuncs[self.targetextractpoint.script_parameters])) + { + var_00 = self.targetextractpoint.script_parameters; + } + else + { + var_00 = "default"; + } + + self notify("begin_extraction"); + self.extracting = 1; + level.civiliansextracting++; + thread extractioncleanup(); + [[ level.extractionfuncs[var_00] ]](); +} + +//Function Number: 30 +defaultextractioninit() +{ +} + +//Function Number: 31 +defaultextractionescort() +{ +} + +//Function Number: 32 +defaultextraction() +{ + level notify("extraction_complete"); +} + +//Function Number: 33 +extractioncleanup() +{ + level endon("extraction_failed"); + level waittill("extraction_complete"); + iprintlnbold(&"ZOMBIE_CIVILIANS_RESCUE_SUCCESS"); + if(maps\mp\gametypes\_hostmigration::waittillhostmigrationdone()) + { + wait(0.05); + } + + level.numberofalivecivilians--; + level.civiliansextracting--; + level.civiliansrescued++; + givecivilianachievement(); + self notify("extraction_complete"); + self.bypasscorpse = 1; + level waittill("extraction_sequence_complete"); + self suicide(); +} + +//Function Number: 34 +givecivilianachievement() +{ + switch(level.civiliansrescued) + { + case 1: + maps\mp\gametypes\zombies::giveplayerszombieachievement("DLC2_ZOMBIE_RESCUE1"); + break; + + case 4: + maps\mp\gametypes\zombies::giveplayerszombieachievement("DLC2_ZOMBIE_RESCUE4"); + break; + + default: + break; + } + + foreach(var_01 in level.players) + { + if(!isdefined(var_01.numcivilianslifetimetotal)) + { + var_01.numcivilianslifetimetotal = var_01 getcoopplayerdatareservedint("civiliansRescued"); + } + + if(var_01.numcivilianslifetimetotal + level.civiliansrescued >= 20) + { + var_01 maps\mp\gametypes\zombies::givezombieachievement("DLC2_ZOMBIE_RESCUE20"); + } + } +} + +//Function Number: 35 +areplayerswithinrange(param_00) +{ + foreach(var_02 in level.players) + { + if(!isalive(var_02)) + { + continue; + } + + if(distance2dsquared(self.origin,var_02.origin) < param_00) + { + return 1; + } + } + + return 0; +} + +//Function Number: 36 +oncivdamagefinished(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ + maps\mp\agents\_agents::agent_damage_finished(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09); + if(isalive(self) && self.health < self.maxhealth * 0.4) + { + self hudoutlineenable(0,0); + } +} + +//Function Number: 37 +oncivkilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + self hudoutlinedisable(); + maps\mp\zombies\_util::zombies_make_nonobjective(); + self clearperks(); + if(!isdefined(self.extractionsuccessful)) + { + level notify("extraction_failed"); + level.numberofalivecivilians--; + level.civiliansextracting--; + iprintlnbold(&"ZOMBIE_CIVILIANS_RESCUE_FAIL"); + } + + self hudoutlinedisable(); + if(isdefined(self.headicon)) + { + self.headicon destroy(); + } + + maps\mp\zombies\_util::onscriptagentkilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08); +} + +//Function Number: 38 +oncivdamaged(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ + if(maps\mp\zombies\_util::isonhumanteam(param_01)) + { + return; + } + + if(isdefined(self.extractionsuccessful)) + { + return; + } + + maps\mp\agents\_agents::on_agent_generic_damaged(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09); +} + +//Function Number: 39 +civilianmovementrate() +{ + self.moveratescale = 1.2; + self.nonmoveratescale = 1.2; + self.traverseratescale = 1.2; +} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/_menus.gsc b/AW/PC/maps/mp/zombies/_debug.gsc similarity index 72% rename from AW/PC/MP/maps/mp/_menus.gsc rename to AW/PC/maps/mp/zombies/_debug.gsc index 02adf5d..4cbe252 100644 --- a/AW/PC/MP/maps/mp/_menus.gsc +++ b/AW/PC/maps/mp/zombies/_debug.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/_menus.gsc + * Decompiled File: mp\zombies\_debug.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 13 ms - * Timestamp: 10/27/2023 1:49:05 AM + * Decompile Time: 47 ms + * Timestamp: 4/22/2024 2:13:36 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/mp/zombies/_doors.gsc b/AW/PC/maps/mp/zombies/_doors.gsc new file mode 100644 index 0000000..0d30074 --- /dev/null +++ b/AW/PC/maps/mp/zombies/_doors.gsc @@ -0,0 +1,581 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_doors.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 24 + * Decompile Time: 391 ms + * Timestamp: 4/22/2024 2:13:37 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + common_scripts\utility::flag_init("door_opened"); + if(!isdefined(level.doorhintstrings)) + { + level.doorhintstrings = []; + } + + level.zombiedoors = common_scripts\utility::getstructarray("door","targetname"); + common_scripts\utility::array_thread(level.zombiedoors,::init_door); +} + +//Function Number: 2 +init_door() +{ + self.door_type = self.script_noteworthy; + if(!isdefined(self.door_type)) + { + self.door_type = "normal"; + } + + switch(self.door_type) + { + case "normal": + thread init_door_normal(); + break; + + default: + break; + } +} + +//Function Number: 3 +door_set_cost(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 500; + } + + self.cost = param_00; + foreach(var_02 in self.triggers) + { + var_02 maps\mp\zombies\_util::settokencost(maps\mp\zombies\_util::creditstotokens(self.cost)); + } +} + +//Function Number: 4 +init_door_normal() +{ + self.triggers = []; + self.movers = []; + self.blood = 0; + if(!isdefined(self.target)) + { + door_error("Door struct without any targets at " + self.origin + "."); + return; + } + + var_00 = getentarray(self.target,"targetname"); + foreach(var_02 in var_00) + { + var_03 = var_02.script_noteworthy; + if(!isdefined(var_03) && isdefined(var_02.classname)) + { + switch(var_02.classname) + { + case "script_brushmodel": + case "script_model": + var_03 = "mover"; + break; + + case "trigger_use_touch": + case "trigger_use": + var_03 = "trigger"; + break; + } + } + + if(!isdefined(var_03)) + { + continue; + } + + switch(var_03) + { + case "trigger": + if(init_door_trigger(var_02)) + { + self.triggers[self.triggers.size] = var_02; + } + break; + + case "mover": + if(init_door_mover(var_02)) + { + self.movers[self.movers.size] = var_02; + } + break; + + case "trap": + self.traptrigger = var_02; + break; + + default: + door_error("Unknown ent type \'" + var_03 + "\' on entity at " + var_02.origin + "."); + break; + } + } + + if(self.triggers.size && self.movers.size) + { + run_door(); + } +} + +//Function Number: 5 +init_door_trigger(param_00) +{ + return 1; +} + +//Function Number: 6 +init_door_mover(param_00) +{ + if(!isdefined(param_00.target)) + { + door_error("Door mover without a target key at " + self.origin + "."); + return 0; + } + + param_00.closed_pos = param_00.origin; + param_00.is_door = 1; + param_00.blood = []; + param_00.movegoals = []; + var_01 = common_scripts\utility::getstructarray(param_00.target,"targetname"); + foreach(var_03 in var_01) + { + var_04 = var_03.script_noteworthy; + if(!isdefined(var_04)) + { + var_04 = "goal"; + } + + switch(var_04) + { + case "goal": + param_00.movegoals[param_00.movegoals.size] = var_03; + break; + + default: + door_error("Unknown door target struct type \'" + var_04 + "\' on struct at " + var_03.origin + "."); + break; + } + } + + var_06 = getentarray(param_00.target,"targetname"); + foreach(var_03 in var_06) + { + var_04 = var_03.script_noteworthy; + if(!isdefined(var_04)) + { + var_04 = "link"; + } + + switch(var_04) + { + case "link_blood": + param_00.blood[param_00.blood.size] = var_03; + var_03 ghost(); + var_03 linkto(param_00); + break; + + case "link": + var_03 linkto(param_00); + break; + + default: + door_error("Unknown door target ent type \'" + var_04 + "\' on ent at " + var_03.origin + "."); + break; + } + } + + if(param_00.movegoals.size > 0) + { + return 1; + } + + door_error("Door mover at " + param_00.origin + "doesn\'t have a goal stuct."); + return 0; +} + +//Function Number: 7 +all_doors_open() +{ + foreach(var_01 in level.zombiedoors) + { + if(!isdefined(var_01.open) && var_01.open) + { + return 0; + } + } + + return 1; +} + +//Function Number: 8 +run_door() +{ + foreach(var_01 in self.triggers) + { + thread run_door_trigger(var_01); + } + + self waittill("open",var_03); + self.open = 1; + if(isdefined(var_03)) + { + var_03 thread maps\mp\zombies\_zombies_audio::moneyspend(); + } + + common_scripts\utility::flag_set("door_opened"); + if(isdefined(self.script_flag)) + { + common_scripts\utility::flag_set(self.script_flag,var_03); + if(isdefined(level.doorbitmaskarray[self.script_flag])) + { + level.doorsopenedbitmask = level.doorsopenedbitmask | level.doorbitmaskarray[self.script_flag]; + } + } + + foreach(var_01 in self.triggers) + { + thread end_door_trigger(var_01); + } + + foreach(var_07 in self.movers) + { + thread run_door_mover(var_07); + } + + if(isdefined(self.traversalnodepairs)) + { + for(var_09 = 0;var_09 < self.traversalnodepairs.size;var_09++) + { + connectnodepair(self.traversalnodepairs[var_09][0],self.traversalnodepairs[var_09][1]); + } + } + + thread run_door_trap(); +} + +//Function Number: 9 +run_door_trigger(param_00) +{ + self endon("open"); + door_set_cost(self.script_count); + thread run_door_hint(param_00); + for(;;) + { + var_01 = param_00 maps\mp\zombies\_util::waittilltriggerortokenuse(); + var_02 = var_01[0]; + var_03 = var_01[1]; + if(!door_has_power()) + { + continue; + } + + if(var_03 == "token") + { + var_02 maps\mp\gametypes\zombies::spendtoken(param_00.tokencost); + break; + } + else + { + var_04 = self.cost; + if(var_02 maps\mp\gametypes\zombies::attempttobuy(var_04)) + { + break; + } + } + + var_02 thread maps\mp\zombies\_zombies_audio::playerweaponbuy("wpn_no_cash"); + } + + maps\mp\zombies\_zombies_audio_announcer::announcerdoordialog(); + self notify("open",var_02); +} + +//Function Number: 10 +run_door_trap() +{ + if(!isdefined(self.traptrigger)) + { + return; + } + + if(isdefined(self.traptrigger.target)) + { + var_00 = common_scripts\utility::getstruct(self.traptrigger.target,"targetname"); + if(isdefined(var_00)) + { + self.trapdir = anglestoforward(var_00.angles); + } + } + + foreach(var_02 in self.movers) + { + var_02.unresolved_collision_notify_min = 1; + var_02.unresolved_collision_func = ::door_trap_kill; + var_02.parent = self; + } + + self.trapactive = 0; + thread run_door_trap_trigger(); + for(;;) + { + self waittill("trap_trigger",var_04,var_05); + self.trapowner = var_04; + self.trapactive = 1; + thread door_trap_end(var_05); + } +} + +//Function Number: 11 +door_trap_end(param_00) +{ + self notify("door_trap_end"); + self endon("door_trap_end"); + wait(param_00); + self.trapactive = 0; +} + +//Function Number: 12 +run_door_trap_trigger() +{ + var_00 = 0.1; + for(;;) + { + self.traptrigger waittill("trigger",var_01); + if(!self.trapactive) + { + continue; + } + + if(isplayer(var_01)) + { + continue; + } + + if(var_01 maps\mp\zombies\_util::isdoortrapimmune()) + { + continue; + } + + if(is_any_player_touching(self.traptrigger)) + { + continue; + } + + if(isdefined(self.trapdir)) + { + var_02 = var_01 getvelocity(); + var_03 = var_01.origin - self.traptrigger.origin; + var_04 = var_01.origin + var_02 * var_00 - self.traptrigger.origin; + var_03 = (var_03[0],var_03[1],0); + var_04 = (var_04[0],var_04[1],0); + var_05 = vectordot(self.trapdir,var_03); + var_06 = vectordot(self.trapdir,var_04); + if(var_05 * var_06 > 0) + { + continue; + } + } + + foreach(var_08 in self.movers) + { + var_08 moveto(var_08.closed_pos,var_00,var_00); + var_08 playsound("trap_security_door_slam"); + } + + wait(var_00); + earthquake(0.2,0.5,self.traptrigger.origin,500); + wait(0.1); + var_0A = 1; + foreach(var_08 in self.movers) + { + var_08 moveto(var_08.open_pos,var_0A); + var_08 playsound("trap_security_door_reset"); + } + + wait(var_0A); + wait(0.5); + } +} + +//Function Number: 13 +door_trap_kill(param_00) +{ + if(!isdefined(param_00) || isplayer(param_00)) + { + return; + } + + if(param_00 maps\mp\zombies\_util::isdoortrapimmune()) + { + return; + } + + self.parent door_add_blood(); + param_00 dodamage(param_00.health,param_00.origin,self.parent.trapowner,self,"MOD_CRUSH","trap_zm_mp","torso_upper"); +} + +//Function Number: 14 +door_add_blood() +{ + if(self.blood) + { + return; + } + + self.blood = 1; + foreach(var_01 in self.movers) + { + foreach(var_03 in var_01.blood) + { + var_03 show(); + } + } +} + +//Function Number: 15 +is_any_player_touching(param_00) +{ + foreach(var_02 in level.players) + { + if(var_02 istouching(param_00)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 16 +run_door_hint(param_00) +{ + self endon("open"); + if(door_requires_power()) + { + for(;;) + { + if(!door_has_power()) + { + param_00 sethintstring(&"ZOMBIES_REQUIRES_POWER"); + param_00 setsecondaryhintstring(""); + param_00 maps\mp\zombies\_util::tokenhintstring(0); + common_scripts\utility::flag_wait(self.script_flag_true); + } + + param_00 sethintstring(gethintstring(param_00)); + param_00 setsecondaryhintstring(maps\mp\zombies\_util::getcoststring(self.cost)); + param_00 maps\mp\zombies\_util::tokenhintstring(1); + if(isdefined(self.script_flag_true)) + { + common_scripts\utility::flag_waitopen(self.script_flag_true); + } + } + + return; + } + + param_00 sethintstring(gethintstring(param_00)); + param_00 setsecondaryhintstring(maps\mp\zombies\_util::getcoststring(self.cost)); + param_00 maps\mp\zombies\_util::tokenhintstring(1); +} + +//Function Number: 17 +door_requires_power() +{ + return isdefined(self.script_flag_true); +} + +//Function Number: 18 +door_has_power() +{ + if(door_requires_power()) + { + return common_scripts\utility::flag(self.script_flag_true); + } + + return 1; +} + +//Function Number: 19 +end_door_trigger(param_00) +{ + param_00 sethintstring(""); + param_00 setsecondaryhintstring(""); + param_00 maps\mp\zombies\_util::tokenhintstring(0); + if(level.currentgen) + { + param_00 delete(); + } +} + +//Function Number: 20 +run_door_mover(param_00) +{ + var_01 = common_scripts\utility::random(param_00.movegoals); + param_00 moveto(var_01.origin,1); + param_00.open_pos = var_01.origin; + var_02 = "interact_door"; + if(isdefined(param_00.script_parameters)) + { + if(soundexists(param_00.script_parameters)) + { + var_02 = param_00.script_parameters; + } + } + + param_00 playsound(var_02); + if(param_00 maps\mp\_movers::script_mover_is_dynamic_path()) + { + param_00 connectpaths(); + } +} + +//Function Number: 21 +door_error(param_00) +{ +} + +//Function Number: 22 +registerhintstring(param_00,param_01,param_02) +{ + if(!isdefined(level.doorhintstrings)) + { + level.doorhintstrings = []; + } + + if(!isdefined(level.doorhintstrings[param_01])) + { + level.doorhintstrings[param_01] = []; + } + + level.doorhintstrings[param_01][param_02] = param_00; +} + +//Function Number: 23 +gethintstring(param_00) +{ + if(isdefined(param_00.script_flag) && isdefined(param_00.script_index)) + { + var_01 = level.doorhintstrings[param_00.script_flag]; + if(isdefined(var_01) && isdefined(var_01[param_00.script_index])) + { + return var_01[param_00.script_index]; + } + } + + return &"ZOMBIES_DOOR_BUY"; +} + +//Function Number: 24 +doorhasbeenopened() +{ + return common_scripts\utility::flag_exist("door_opened") && common_scripts\utility::flag("door_opened"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/_extraction.gsc b/AW/PC/maps/mp/zombies/_extraction.gsc new file mode 100644 index 0000000..3a06fce --- /dev/null +++ b/AW/PC/maps/mp/zombies/_extraction.gsc @@ -0,0 +1,337 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_extraction.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 16 + * Decompile Time: 249 ms + * Timestamp: 4/22/2024 2:13:38 AM +*******************************************************************/ + +//Function Number: 1 +initextractionwarbird() +{ + precacheitem("warbird_remote_turret_mp"); + precachempanim("zom_civ_extraction_air_warbird"); + precachempanim("zom_civ_extraction_air_rope"); + precachemodel("vehicle_xh9_warbird_pulley"); + maps\mp\zombies\_civilians::registerextractioninitevent("warbird",::warbirdextractioninit); + maps\mp\zombies\_civilians::registerextractionescortevent("warbird",::warbirdextractionescort); + maps\mp\zombies\_civilians::registerextractionevent("warbird",::warbirdextraction); +} + +//Function Number: 2 +warbirdextractioninit() +{ +} + +//Function Number: 3 +warbirdextractionescort() +{ +} + +//Function Number: 4 +warbirdextraction() +{ + var_00 = common_scripts\utility::getstruct(self.targetextractpoint.target,"targetname"); + var_01 = spawnhelicopter(level.players[0],var_00.origin,var_00.angles,"warbird_player_mp","vehicle_xh9_warbird_low_cloaked_in_out_mp_cloak"); + var_01.warbirdturret = var_01 spawn_warbird_turret("warbird_remote_turret_mp","vehicle_xh9_warbird_turret_cloaked_inout_killstreak_mp_cloak","tag_player_mp",0); + thread warbirdfire(var_01); + var_01 vehicle_turnengineoff(); + var_01 playloopsound("veh_warbird_fly_over_civ_extract"); + var_02 = var_00; + var_03 = 40; + while(isdefined(var_02.target)) + { + var_02 = common_scripts\utility::getstruct(var_02.target,"targetname"); + if(isdefined(var_02.script_count)) + { + var_03 = var_02.script_count; + } + + warbirdmovetoattackpoint(var_01,var_02,var_03); + } + + level notify("extraction_sequence_complete"); + wait 0.05; + var_01.warbirdturret delete(); + var_01.rope delete(); + var_01 delete(); + level.warbirdextraction = 0; + var_01 notify("warbirdExtractionComplete"); +} + +//Function Number: 5 +spawn_warbird_turret(param_00,param_01,param_02,param_03) +{ + var_04 = spawnturret("misc_turret",self gettagorigin(param_02),param_00,0); + var_04.angles = self gettagangles(param_02); + var_04 setmodel(param_01); + var_04 setdefaultdroppitch(55); + var_04 linkto(self,param_02,(0,0,0),(0,0,0)); + var_04.owner = self.owner; + var_04.health = 99999; + var_04.maxhealth = 1000; + var_04.damagetaken = 0; + var_04.stunned = 0; + var_04.stunnedtime = 0; + var_04 setcandamage(0); + var_04 setcanradiusdamage(0); + var_04.team = level.players[0].team; + var_04.pers["team"] = level.players[0].team; + var_04 setmode("auto_nonai"); + var_04 setsentryowner(self.owner); + var_04 setturretminimapvisible(0); + var_04.chopper = self; + return var_04; +} + +//Function Number: 6 +warbirdfire(param_00) +{ + param_00 endon("warbirdExtractionComplete"); + param_00.picknewtarget = 1; + for(;;) + { + wait(0.05); + if(param_00.picknewtarget) + { + var_01 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + var_02 = []; + foreach(var_04 in var_01) + { + if(var_04.team == level.playerteam) + { + continue; + } + + foreach(var_06 in level.players) + { + if(distance(var_06.origin,var_04.origin) > 300) + { + var_02 = common_scripts\utility::array_add(var_02,var_04); + } + } + } + + if(var_02.size < 0) + { + continue; + } + + var_02 = sortbydistance(var_02,param_00.origin); + var_09 = undefined; + foreach(var_0B in var_02) + { + if(!isdefined(var_0B)) + { + continue; + } + + if(!isalive(var_0B)) + { + continue; + } + + var_09 = var_0B; + param_00.enemy_target = var_09; + checkwarbirdtargetlos(param_00); + break; + } + } + } +} + +//Function Number: 7 +fireatzombie(param_00) +{ + param_00 endon("warbirdExtractionComplete"); + param_00 endon("pickNewTarget"); + param_00.warbirdturret setmode("manual"); + param_00.warbirdturret settargetentity(param_00.enemy_target); + var_01 = 0; + var_02 = randomfloatrange(2,3); + wait(randomfloatrange(3,5)); + while(var_01 < var_02) + { + if(!isdefined(param_00.enemy_target) || !isalive(param_00.enemy_target)) + { + break; + } + + param_00.warbirdturret shootturret(); + wait(randomfloatrange(0.15,0.25)); + var_01 = var_01 + 0.15; + } + + param_00.enemy_target = undefined; + param_00.picknewtarget = 1; + param_00 notify("pickNewTarget"); +} + +//Function Number: 8 +checkwarbirdtargetlos(param_00) +{ + param_00 endon("warbirdExtractionComplete"); + param_00 endon("pickNewTarget"); + param_00.enemy_target endon("death"); + param_00.enemy_target endon("disconnect"); + var_01 = param_00 gettagorigin("TAG_FLASH1"); + var_02 = param_00.enemy_target geteye(); + var_03 = vectornormalize(var_02 - var_01); + var_04 = var_01 + var_03 * 20; + var_05 = bullettrace(var_04,var_02,0,param_00,0,0,0,0,0); + if(!checktargetisinvision(param_00) && var_05["fraction"] < 1 && !checktargetnearplayer(param_00)) + { + wait(5); + param_00.lineofsight = 0; + param_00.picknewtarget = 1; + param_00.enemy_target = undefined; + param_00 notify("pickNewTarget"); + return; + } + + param_00.lineofsight = 1; + fireatzombie(param_00); +} + +//Function Number: 9 +checktargetnearplayer(param_00) +{ + foreach(var_02 in level.players) + { + if(distance(var_02.origin,param_00.enemy_target.origin) < 300) + { + return 0; + } + } + + return 1; +} + +//Function Number: 10 +checktargetisinvision(param_00) +{ + var_01 = anglestoforward(param_00.angles); + var_02 = param_00.enemy_target.origin - param_00.origin; + var_03 = vectordot(var_01,var_02); + return var_03 < 0; +} + +//Function Number: 11 +warbirdmovetoattackpoint(param_00,param_01,param_02) +{ + param_00 makevehiclenotcollidewithplayers(1); + if(!isdefined(param_00.rope)) + { + param_00.rope = spawn("script_model",(0,0,0)); + param_00.rope setmodel("vehicle_xh9_warbird_pulley"); + param_00.rope vehicle_jetbikesethoverforcescale(param_00,"tag_origin",(0,0,0),(0,0,0)); + param_00.rope hide(); + } + + param_00 vehicle_setspeed(param_02,param_02 / 4,param_02 / 4); + param_00 setneargoalnotifydist(100); + if(isdefined(param_01.target) && param_01.target == "ExtractionHoverPosition") + { + param_00 setneargoalnotifydist(10); + } + + param_00 setvehgoalpos(param_01.origin,isdefined(param_01.script_parameters)); + param_00 waittill("near_goal"); + if(isdefined(param_01.script_parameters)) + { + if(isscriptedagent(self) && isalive(self)) + { + self notify("extraction_started"); + self.agentname = undefined; + self.ignoreme = 1; + self hudoutlinedisable(); + self.extractionsuccessful = 1; + self scragentsetscripted(1); + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(1,"SynchronizedAnim"); + self scragentsetphysicsmode("noclip"); + param_00.rope show(); + param_00.rope scriptmodelplayanim("zom_civ_extraction_air_rope","dummy"); + self scragentsynchronizeanims(1,0.2,param_00.rope,"tag_attach","tag_weapon_left"); + maps\mp\agents\_scripted_agent_anim_util::playanimnuntilnotetrack_safe("zom_civ_extraction_air_civ",0,"synchronized"); + thread civilianplayidleoutroanim(); + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(0,"SynchronizedAnim"); + } + + wait(3); + if(level.numberofalivecivilians > 0) + { + level notify("extraction_complete"); + } + } + + param_00 makevehiclenotcollidewithplayers(0); +} + +//Function Number: 12 +civilianplayidleoutroanim() +{ + while(isscriptedagent(self) && isalive(self)) + { + maps\mp\agents\_scripted_agent_anim_util::playanimnuntilnotetrack_safe("zom_civ_extraction_air_civ_idle",0,"synchronized"); + } +} + +//Function Number: 13 +warbirdlookatenemy(param_00) +{ + for(;;) + { + if(isdefined(param_00.enemy_target)) + { + monitorlookatent(param_00); + param_00.warbirdturret cleartargetentity(); + } + + wait 0.05; + } +} + +//Function Number: 14 +monitorlookatent(param_00) +{ + param_00 endon("pickNewTarget"); + param_00 setlookatent(param_00.enemy_target); + param_00.warbirdturret settargetentity(param_00.enemy_target); + param_00.enemy_target common_scripts\utility::waittill_either("death","disconnect"); + param_00.picknewtarget = 1; + param_00.lineofsight = 0; +} + +//Function Number: 15 +executemultistageextractevent(param_00) +{ + if(!isdefined(param_00.groupname)) + { + return; + } + + switch(param_00.groupname) + { + case "repairDrone": + repairdroneevent(); + break; + } +} + +//Function Number: 16 +repairdroneevent() +{ + iprintlnbold("RELEASE DRONE"); + wait(5); + foreach(var_01 in level.players) + { + var_02 = []; + var_03 = var_01 maps\mp\zombies\killstreaks\_zombie_drone_assault::tryuseassaultdrone(-1,var_02); + if(var_03 == 1) + { + return; + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/_gambling.gsc b/AW/PC/maps/mp/zombies/_gambling.gsc new file mode 100644 index 0000000..e59f232 --- /dev/null +++ b/AW/PC/maps/mp/zombies/_gambling.gsc @@ -0,0 +1,1671 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_gambling.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 64 + * Decompile Time: 1001 ms + * Timestamp: 4/22/2024 2:13:41 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level._effect["plinko_fraggrenade_trail"] = loadfx("vfx/gameplay/mp/zombie/dlc_plinko_fraggrenade_trail"); + level._effect["plinko_contactgrenade_trail"] = loadfx("vfx/gameplay/mp/zombie/dlc_plinko_contactgrenade_trail"); + level._effect["plinko_dnagrenade_trail"] = loadfx("vfx/gameplay/mp/zombie/dlc_plinko_dnagrenade_trail"); + level._effect["plinko_explosive_drone_trail"] = loadfx("vfx/gameplay/mp/zombie/dlc_plinko_explosive_drone_trail"); + level._effect["plinko_distract_drone_trail"] = loadfx("vfx/gameplay/mp/zombie/dlc_plinko_distract_drone_trail"); + level._effect["plinko_teleportgrenade_trail"] = loadfx("vfx/gameplay/mp/zombie/dlc_teleportgrenade_trail"); + level._effect["plinko_distract_drone_socket"] = loadfx("vfx/gameplay/mp/zombie/dlc_plinko_distract_drone_socket"); + level._effect["plinko_dna_grenade_socket"] = loadfx("vfx/gameplay/mp/zombie/dlc_plinko_dna_grenade_socket"); + level._effect["plinko_explosive_drone_socket"] = loadfx("vfx/gameplay/mp/zombie/dlc_plinko_explosive_drone_socket"); + level._effect["plinko_grenade_break"] = loadfx("vfx/gameplay/mp/zombie/dlc_plinko_grenade_removal"); + level._effect["plinko_credits_100"] = loadfx("vfx/gameplay/mp/zombie/dlc_plinko_score_100"); + level._effect["plinko_credits_200"] = loadfx("vfx/gameplay/mp/zombie/dlc_plinko_score_200"); + level._effect["plinko_credits_300"] = loadfx("vfx/gameplay/mp/zombie/dlc_plinko_score_300"); + level._effect["plinko_credits_400"] = loadfx("vfx/gameplay/mp/zombie/dlc_plinko_score_400"); + level._effect["plinko_credits_500"] = loadfx("vfx/gameplay/mp/zombie/dlc_plinko_score_500"); + level._effect["plinko_credits_750"] = loadfx("vfx/gameplay/mp/zombie/dlc_plinko_score_750"); + level._effect["plinko_credits_1000"] = loadfx("vfx/gameplay/mp/zombie/dlc_plinko_score_1000"); + level._effect["plinko_light_green"] = loadfx("vfx/gameplay/mp/zombie/dlc_plinko_light_green"); + level._effect["plinko_light_red"] = loadfx("vfx/gameplay/mp/zombie/dlc_plinko_light_red"); + var_00 = common_scripts\utility::getstructarray("plinko","targetname"); + common_scripts\utility::array_thread(var_00,::plinko_init); + level.zmbteleportgrenadestuckcustom = ::plink_do_grenade_in_all_hoppers_test; +} + +//Function Number: 2 +reward(param_00,param_01,param_02) +{ + if(!isdefined(param_00)) + { + return; + } + + var_03 = strtok(param_00,";"); + foreach(var_05 in var_03) + { + var_06 = strtok(var_05," "); + var_07 = var_06[0]; + var_08 = var_06[1]; + switch(var_07) + { + case "cash": + var_09 = int(var_08); + if(isdefined(param_01)) + { + param_01 maps\mp\gametypes\zombies::givepointsforevent("gambling",var_09,1); + param_01 thread playerplinkoplaypayoutvo(var_09); + param_01 playlocalsound("interact_credit_machine"); + if(isdefined(param_02)) + { + var_0A = common_scripts\utility::getfx("plinko_credits_" + var_09); + playfx(var_0A,param_02.origin + self.fx_dir * 3,self.fx_dir); + } + } + break; + + case "pickup": + if(isdefined(level.pickup[var_08]) && isdefined(level.pickup[var_08]["func"])) + { + level thread [[ level.pickup[var_08]["func"] ]](param_01); + } + break; + + case "sq": + common_scripts\utility::flag_set("sq_plinko_" + var_08,param_01); + plinko_reset_chute_location(); + break; + + default: + break; + } + } +} + +//Function Number: 3 +plinko_init() +{ + var_00 = getentarray(self.target,"targetname"); + var_01 = common_scripts\utility::getstructarray(self.target,"targetname"); + var_02 = common_scripts\utility::array_combine(var_00,var_01); + self.activetokencount = 0; + self.tokens = []; + self.starts = []; + self.grenade_hoppers = []; + self.gates = []; + self.force_open = 0; + self.sq_grenade_in_hopper_count = 0; + if(!isdefined(self.angles)) + { + self.angles = (0,0,0); + } + + self.fx_dir = anglestoforward(self.angles); + level thread discoverplinkologic(self); + foreach(var_04 in var_02) + { + if(!isdefined(var_04.script_noteworthy)) + { + continue; + } + + switch(var_04.script_noteworthy) + { + case "token": + var_04.inuse = 0; + var_04 hide(); + self.tokens[self.tokens.size] = var_04; + break; + + case "start": + self.starts[self.starts.size] = var_04; + break; + + case "trigger": + self.trigger = var_04; + break; + + case "grenade_hopper": + self.grenade_hoppers[self.grenade_hoppers.size] = var_04; + break; + + case "gate_left": + plinko_init_gate(var_04); + self.gate_left = var_04; + break; + + case "gate_right": + plinko_init_gate(var_04); + self.gate_right = var_04; + break; + + case "gate_top": + plinko_init_gate(var_04); + self.gate_top = var_04; + break; + + case "gate_bottom": + plinko_init_gate(var_04); + self.gate_bottom = var_04; + break; + + case "chute": + self.chute = var_04; + break; + + case "sq_goal": + thread plinko_sq_goal(var_04); + break; + + case "sq_geo": + thread plinko_sq_geo(var_04); + break; + + default: + break; + } + } + + if(isdefined(self.chute)) + { + plinko_init_chute(self.chute); + } + + plinko_run(); +} + +//Function Number: 4 +plinko_init_chute(param_00) +{ + param_00.default_location = spawnstruct(); + param_00.default_location.origin = param_00.origin; + param_00.default_location.starts = self.starts; + param_00.current_location = param_00.default_location; + param_00.locations = common_scripts\utility::getstructarray(param_00.target,"targetname"); + foreach(var_02 in param_00.locations) + { + var_02.starts = common_scripts\utility::getstructarray(var_02.target,"targetname"); + } + + param_00.locations[param_00.locations.size] = param_00.default_location; + plinko_reset_chute_location(); +} + +//Function Number: 5 +plinko_chute_at_defualt_location() +{ + return self.chute.default_location == self.chute.current_location; +} + +//Function Number: 6 +plinko_reset_chute_location() +{ + plinko_set_chute_location(self.chute.default_location); +} + +//Function Number: 7 +plinko_set_chute_location(param_00) +{ + self.chute.origin = param_00.origin; + self.starts = param_00.starts; + self.chute.current_location = param_00; + if(plinko_chute_at_defualt_location()) + { + self notify("chute_at_default"); + return; + } + + self notify("chute_not_at_default"); +} + +//Function Number: 8 +plinko_sq_grenade_helper() +{ + common_scripts\utility::flag_wait("sq_plinko"); + var_00 = []; + var_01 = [["sq_frag","npc_exo_launcher_grenade","plinko_fraggrenade_trail","tag_fx",(3,0,-7),(0,0,0)],["sq_explosive_drone","npc_drone_explosive_main","plinko_explosive_drone_socket","TAG_BEACON",(2,0,-6),(350,0,0)],["sq_distraction_drone","dlc_distraction_drone_01_scaled_open","plinko_distract_drone_socket","tag_weapon",(0,0,-8),(43,284,-69)],["sq_dna_grenade","npc_exo_launcher_grenade","plinko_dna_grenade_socket","tag_fx",(3,0,-7),(0,0,0)]]; + var_02 = (-124.5,860,1135); + var_03 = (0,180,0); + foreach(var_05 in var_01) + { + var_06 = var_05[0]; + var_07 = var_05[1]; + var_08 = var_05[2]; + var_09 = var_05[3]; + var_0A = var_05[4]; + var_0B = var_05[5]; + var_0C = var_02 + rotatevector(var_0A,var_03); + var_0D = spawn("script_model",var_0C); + var_0D setmodel(var_07); + var_0D.angles = var_03 + var_0B; + var_0D hide(); + var_0D.type = var_06; + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx(var_08),var_0D,var_09); + var_00[var_00.size] = var_0D; + } + + var_00 = common_scripts\utility::array_randomize(var_00); + var_0F = undefined; + for(;;) + { + if(plinko_chute_at_defualt_location()) + { + self waittill("chute_not_at_default"); + } + + plinko_sq_grenade_cylce(var_00); + if(isdefined(self.sq_visible_grenade)) + { + self.sq_visible_grenade hide(); + self.sq_visible_grenade = undefined; + } + } +} + +//Function Number: 9 +plinko_sq_grenade_cylce(param_00) +{ + self endon("chute_at_default"); + for(;;) + { + foreach(var_02 in param_00) + { + if(isdefined(self.sq_visible_grenade)) + { + self.sq_visible_grenade hide(); + } + + self.sq_visible_grenade = var_02; + self.sq_visible_grenade show(); + wait(3); + while(self.sq_grenade_in_hopper_count) + { + wait 0.05; + } + } + } +} + +//Function Number: 10 +plinko_init_gate(param_00) +{ + if(isdefined(param_00.spawnflags) && param_00.spawnflags & 1) + { + param_00 connectpaths(); + } + + param_00.activateexplosivedrone = 1; + param_00.close_origin = param_00.origin; + var_01 = common_scripts\utility::getstructarray(param_00.target,"targetname"); + foreach(var_03 in var_01) + { + if(!isdefined(var_03.script_noteworthy)) + { + var_03.script_noteworthy = "open"; + } + + switch(var_03.script_noteworthy) + { + case "open": + param_00.open_origin = var_03.origin; + break; + + case "close": + param_00.origin = var_03.origin; + param_00.close_origin = var_03.origin; + break; + + default: + break; + } + } + + var_05 = param_00.open_origin - param_00.close_origin; + param_00.move_dist = length(var_05); + param_00.move_dir = vectornormalize(var_05); + self.gates[self.gates.size] = param_00; +} + +//Function Number: 11 +plinko_run() +{ + self.grenade_round_hopper_count = 0; + self.pattern_complete_count = []; + if(isdefined(self.gates.size)) + { + thread plinko_gates_update_pattern(); + } + + if(self.grenade_hoppers.size) + { + thread plinko_run_hopper(); + } + + if(isdefined(self.trigger)) + { + thread plinko_run_use_trigger(); + } + + thread plinko_sq_grenade_helper(); +} + +//Function Number: 12 +plinko_move_gate(param_00,param_01,param_02) +{ + var_03 = param_00.close_origin + param_00.move_dir * param_01; + if(var_03 != param_00.origin) + { + param_00 moveto(var_03,param_02); + } +} + +//Function Number: 13 +plinko_move_gates(param_00,param_01,param_02,param_03,param_04) +{ + self notify("gates_moved"); + var_05 = plinko_calculate_gate_offsets(param_00,param_01,param_02,param_03); + var_06 = var_05[0]; + var_07 = var_05[1]; + var_08 = var_05[2]; + var_09 = var_05[3]; + plinko_move_gate(self.gate_left,var_06,param_04); + plinko_move_gate(self.gate_right,var_07,param_04); + plinko_move_gate(self.gate_top,var_08,param_04); + plinko_move_gate(self.gate_bottom,var_09,param_04); + thread maps\mp\mp_zombie_ark_aud::gate_moving(param_04,var_06); + wait(param_04); + thread maps\mp\mp_zombie_ark_aud::gate_stopped(); +} + +//Function Number: 14 +plinko_calculate_gate_offsets(param_00,param_01,param_02,param_03) +{ + var_04 = 0; + var_05 = 0; + var_06 = 0; + var_07 = 0; + if(param_00 < 0) + { + var_08 = self.gate_left.move_dist * abs(param_00) + param_02 / 2; + var_04 = min(var_08,self.gate_left.move_dist); + var_05 = -1 * var_04 + param_02; + } + else + { + var_09 = self.gate_right.move_dist * param_00 + param_02 / 2; + var_05 = min(var_09,self.gate_right.move_dist); + var_04 = -1 * var_05 + param_02; + } + + if(param_01 < 0) + { + var_0A = self.gate_bottom.move_dist * abs(param_01) + param_03 / 2; + var_07 = min(var_0A,self.gate_bottom.move_dist); + var_06 = -1 * var_07 + param_03; + } + else + { + var_0B = self.gate_top.move_dist * param_01 + param_03 / 2; + var_06 = min(var_0B,self.gate_top.move_dist); + var_07 = -1 * var_06 + param_03; + } + + return [var_04,var_05,var_06,var_07]; +} + +//Function Number: 15 +plinko_gates_get_current_loc() +{ + var_00 = distance(self.gate_right.origin,self.gate_right.open_origin); + var_01 = 1 - var_00 / self.gate_right.move_dist; + var_02 = distance(self.gate_left.origin,self.gate_left.open_origin); + var_03 = var_02 / self.gate_left.move_dist - 1; + var_04 = var_01 + var_03 / 2; + var_05 = distance(self.gate_top.origin,self.gate_top.open_origin); + var_06 = 1 - var_05 / self.gate_top.move_dist; + var_07 = distance(self.gate_bottom.origin,self.gate_bottom.open_origin); + var_08 = var_07 / self.gate_bottom.move_dist - 1; + var_09 = var_06 + var_08 / 2; + return [var_04,var_09]; +} + +//Function Number: 16 +plinko_gates_get_center() +{ + var_00 = self.gate_right.origin + self.gate_left.origin / 2; + var_01 = self.gate_top.origin[2] + self.gate_bottom.origin[2] / 2; + var_00 = (var_00[0],var_00[1],var_01); + return var_00; +} + +//Function Number: 17 +plinko_gates_pattern_close_when_looked_at(param_00,param_01,param_02,param_03,param_04,param_05) +{ + var_06 = 1; + var_07 = 0.999; + var_08 = plinko_gates_get_center(); + for(;;) + { + var_09 = 0; + foreach(var_0B in level.players) + { + var_0C = anglestoforward(var_0B getplayerangles()); + var_0D = vectornormalize(var_08 - var_0B getvieworigin()); + var_0E = vectordot(var_0C,var_0D); + if(var_0E > var_07) + { + var_09 = 1; + break; + } + } + + if(var_09 && var_06) + { + var_10 = plinko_gates_get_current_loc(); + var_11 = var_10[0]; + var_12 = var_10[1]; + plinko_move_gates(var_11,var_12,0,0,param_05); + var_06 = 0; + } + else if(!var_09 && !var_06) + { + plinko_move_gates(param_00,param_01,param_02,param_03,param_04); + var_06 = 1; + } + + wait 0.05; + } +} + +//Function Number: 18 +plinko_gates_update_pattern() +{ + self notify("new_pattern"); + self endon("new_pattern"); + var_00 = self.gate_left.move_dist + self.gate_right.move_dist; + var_01 = self.gate_top.move_dist + self.gate_bottom.move_dist; + var_02 = min(var_00,var_01); + if(self.force_open) + { + self.force_open = 0; + var_03 = plinko_gates_get_current_loc(); + var_04 = var_03[0]; + var_05 = var_03[1]; + plinko_move_gates(var_04,var_05,var_00,var_01,0.2); + wait(3); + } + + var_06 = plinko_gates_get_current_loc(); + var_04 = var_06[0]; + var_05 = var_06[1]; + plinko_move_gates(var_04,var_05,0,0,0.1); + wait(0.1); + plinko_move_gates(0,0,0,0,0.2); + wait(1); + var_07 = self.pattern_complete_count[self.grenade_round_hopper_count]; + if(!isdefined(var_07)) + { + var_07 = 0; + } + + if(self.grenade_round_hopper_count == 0) + { + if(var_07 == 0) + { + plinko_move_gates(0,0,var_02,var_02,1); + return; + } + + if(var_07 == 1) + { + var_08 = common_scripts\utility::random([-1,-0.5,0.5,1]); + plinko_move_gates(var_08,0,var_02,var_02,1); + return; + } + + if(var_07 == 2) + { + var_09 = common_scripts\utility::random([-1,0,1]); + plinko_move_gates(0,var_09,var_02 * 0.8,var_02 * 0.8,1); + return; + } + + if(var_09 == 3) + { + var_08 = common_scripts\utility::random([-1,-0.5,0.5,1]); + var_09 = common_scripts\utility::random([-1,0,1]); + plinko_move_gates(var_08,var_09,var_02 * 0.6,var_02 * 0.6,1); + return; + } + + if(var_08 == 4) + { + var_08 = randomfloatrange(-1,1); + var_09 = randomfloatrange(-1,1); + plinko_move_gates(var_08,var_09,var_02 * 0.5,var_02 * 0.5,1); + return; + } + + var_08 = randomfloatrange(-1,1); + var_09 = randomfloatrange(-1,1); + plinko_move_gates(var_08,var_09,var_02 * 0.4,var_02 * 0.4,1); + return; + } + + if(self.grenade_round_hopper_count == 1) + { + var_0A = 1.5; + var_0B = 0.5; + if(var_08 == 0) + { + var_0A = 3.5; + var_0B = 1; + } + + if(var_08 == 1) + { + var_0A = 3; + var_0B = 1; + } + else if(var_08 == 2) + { + var_0A = 2.5; + var_0B = 1; + } + else if(var_08 == 3) + { + var_0A = 2; + var_0B = 0.75; + } + else if(var_08 == 4) + { + var_0A = 1.75; + var_0B = 0.75; + } + + var_0C = randomintrange(0,2) * 2 - 1; + plinko_move_gates(var_0C,0,var_04 * var_0B,var_04 * var_0B,var_0A / 2); + for(;;) + { + var_0C = var_0C * -1; + plinko_move_gates(var_0C,0,var_04 * var_0B,var_04 * var_0B,var_0A); + } + + return; + } + + if(self.grenade_round_hopper_count == 2) + { + var_0A = 1.5; + var_0D = 0; + var_0B = 0.5; + if(var_08 == 0) + { + var_0A = 3.5; + var_0D = 0.75; + var_0B = 1; + } + else if(var_08 == 1) + { + var_0A = 3; + var_0D = 0.5; + var_0B = 0.9; + } + else if(var_08 == 2) + { + var_0A = 2.5; + var_0D = 0.5; + var_0B = 0.8; + } + else if(var_08 == 3) + { + var_0A = 2; + var_0D = 0.5; + var_0B = 0.7; + } + else if(var_08 == 4) + { + var_0A = 1.5; + var_0D = 0.25; + var_0B = 0.7; + } + + var_0C = randomintrange(0,2) * 2 - 1; + for(;;) + { + plinko_move_gates(var_0C,0,var_04 * var_0B,var_04 * var_0B,0.2); + wait(var_0D); + plinko_move_gates(var_0C * -1,0,var_04 / 4,var_04 / 4,2); + wait(var_0D); + var_0C = var_0C * -1; + } + + return; + } + + if(self.grenade_round_hopper_count == 3) + { + var_0E = 0.4; + var_0F = 0; + var_0B = 0.3; + if(var_08 == 0) + { + var_0E = 1; + var_0F = 1; + var_0B = 0.7; + } + else if(var_08 == 1) + { + var_0E = 0.8; + var_0F = 1; + var_0B = 0.7; + } + else if(var_08 == 2) + { + var_0E = 0.7; + var_0F = 0.8; + var_0B = 0.6; + } + else if(var_08 == 3) + { + var_0E = 0.6; + var_0F = 0.6; + var_0B = 0.5; + } + else if(var_08 == 4) + { + var_0E = 0.5; + var_0F = 0.4; + var_0B = 0.4; + } + + var_0C = randomintrange(0,2) * 2 - 1; + var_10 = randomintrange(0,2) * 2 - 1; + plinko_move_gates(0,var_10,var_04 * var_0B,var_04 * var_0B,0.5 * var_0E); + for(;;) + { + plinko_move_gates(var_0C,var_10 * -1,var_04 * var_0B,var_04 * var_0B,2 * var_0E); + wait(0.5 * var_0F); + plinko_move_gates(0,var_10,var_04 * var_0B,var_04 * var_0B,2 * var_0E); + plinko_move_gates(var_0C * -1,var_10 * -1,var_04 * var_0B,var_04 * var_0B,2 * var_0E); + wait(0.5 * var_0F); + plinko_move_gates(0,var_10,var_04 * var_0B,var_04 * var_0B,2 * var_0E); + } + + return; + } + + var_0E = 0.2; + var_0F = 0; + var_0B = 0.3; + if(var_08 == 0) + { + var_0E = 1; + var_0F = 1; + var_0B = 1; + } + else if(var_08 == 1) + { + var_0E = 0.75; + var_0F = 0.75; + var_0B = 0.8; + } + else if(var_08 == 2) + { + var_0E = 0.5; + var_0F = 0.5; + var_0B = 0.6; + } + else if(var_08 == 3) + { + var_0E = 0.35; + var_0F = 0.35; + var_0B = 0.5; + } + else if(var_08 == 4) + { + var_0E = 0.25; + var_0F = 0.25; + var_0B = 0.4; + } + + for(;;) + { + var_11 = max(var_04 * 0.2,randomfloatrange(0,var_04) * var_0B); + var_12 = max(var_04 * 0.2,randomfloatrange(0,var_04) * var_0B); + var_13 = randomfloatrange(-1,1); + var_14 = randomfloatrange(-1,1); + var_15 = randomfloatrange(0.5,1) * var_0E; + var_0D = randomfloatrange(0.25,1) * var_0F; + plinko_move_gates(var_13,var_14,var_11,var_12,var_15); + wait(var_0D); + } +} + +//Function Number: 19 +plinko_reset_grenade_round_hopper_count() +{ + for(;;) + { + level waittill("zombie_wave_ended"); + for(var_00 = 0;var_00 < self.grenade_round_hopper_count;var_00++) + { + if(!isdefined(self.pattern_complete_count[var_00])) + { + self.pattern_complete_count[var_00] = 0; + } + + self.pattern_complete_count[var_00] = int(min(self.pattern_complete_count[var_00] + 1,5)); + } + + self.grenade_round_hopper_count = 0; + plinko_gates_update_pattern(); + } +} + +//Function Number: 20 +plinko_run_hopper() +{ + thread plinko_reset_grenade_round_hopper_count(); + thread plinko_grenade_watch(); +} + +//Function Number: 21 +plinko_grenade_watch() +{ + foreach(var_01 in level.players) + { + thread plinko_player_grenade_watch(var_01); + } + + for(;;) + { + level waittill("connected",var_01); + thread plinko_player_grenade_watch(var_01); + thread plinko_player_missile_watch(var_01); + } +} + +//Function Number: 22 +plinko_player_missile_watch(param_00) +{ + param_00 endon("disconnect"); + for(;;) + { + param_00 waittill("missile_fire",var_01,var_02); + thread plinko_grenade_in_hopper_watch(var_01,var_02,param_00); + } +} + +//Function Number: 23 +plinko_player_grenade_watch(param_00) +{ + param_00 endon("disconnect"); + param_00.plinkousecount = 0; + for(;;) + { + param_00 waittill("grenade_fire",var_01,var_02); + if(isdefined(var_02) && var_02 == "repulsor_zombie_mp") + { + continue; + } + + thread plinko_grenade_in_hopper_watch(var_01,var_02,param_00); + } +} + +//Function Number: 24 +plinko_grenade_in_hopper_watch(param_00,param_01,param_02) +{ + param_00 endon("death"); + for(;;) + { + if(plinko_do_grenade_in_hopper_test(param_00,param_01,param_02)) + { + return; + } + + wait 0.05; + } +} + +//Function Number: 25 +plink_do_grenade_in_all_hoppers_test(param_00,param_01,param_02) +{ + var_03 = common_scripts\utility::getstructarray("plinko","targetname"); + foreach(var_05 in var_03) + { + if(var_05 plinko_do_grenade_in_hopper_test(param_00,param_01,param_02)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 26 +plinko_do_grenade_in_hopper_test(param_00,param_01,param_02) +{ + foreach(var_04 in self.grenade_hoppers) + { + if(ispointinvolume(param_00.origin,var_04)) + { + thread plinko_grenade_in_hopper(param_00,param_01,param_02,var_04); + return 1; + } + } + + return 0; +} + +//Function Number: 27 +plinko_sq_grenade_hopper_count() +{ + self.sq_grenade_in_hopper_count++; + wait(0.45); + self.sq_grenade_in_hopper_count--; +} + +//Function Number: 28 +plinko_grenade_in_hopper(param_00,param_01,param_02,param_03) +{ + thread maps\mp\mp_zombie_ark_aud::grenade_in_hopper(); + param_01 = getweaponbasename(param_01); + if(!plinko_chute_at_defualt_location()) + { + switch(param_01) + { + case "contact_grenade_throw_zombies_mp": + case "contact_grenade_zombies_mp": + case "frag_grenade_throw_zombies_mp": + case "frag_grenade_zombies_mp": + if(isdefined(self.sq_visible_grenade)) + { + thread plinko_sq_grenade_hopper_count(); + param_01 = self.sq_visible_grenade.type; + } + break; + + default: + break; + } + } + + var_04 = 1; + switch(param_01) + { + case "sq_frag": + case "frag_grenade_throw_zombies_mp": + case "frag_grenade_zombies_mp": + thread plinko_frag_grenade_in_hopper(param_00,param_01,param_02,param_03); + break; + + case "contact_grenade_throw_zombies_mp": + case "contact_grenade_zombies_mp": + thread plinko_contact_grenade_in_hopper(param_00,param_01,param_02,param_03); + break; + + case "sq_explosive_drone": + case "explosive_drone_throw_zombie_mp": + case "explosive_drone_zombie_mp": + if(plinko_ent_linked_to_gates(param_00)) + { + var_04 = 0; + } + else + { + thread plinko_explosive_drone_in_hopper(param_00,param_01,param_02,param_03); + } + break; + + case "sq_distraction_drone": + case "distraction_drone_throw_zombie_mp": + case "distraction_drone_zombie_mp": + thread plinko_distraction_drone_in_hopper(param_00,param_01,param_02,param_03); + break; + + case "sq_dna_grenade": + case "dna_aoe_grenade_zombie_mp": + case "dna_aoe_grenade_throw_zombie_mp": + thread plinko_aoe_grenade_in_hopper(param_00,param_01,param_02,param_03); + break; + + case "teleport_throw_zombies_mp": + case "teleport_zombies_mp": + thread plinko_teleport_grenade_in_hopper(param_00,param_01,param_02,param_03); + break; + + case "iw5_mahemzm_mp": + case "iw5_exocrossbowzm_mp": + if(isdefined(self.pattern_complete_count[self.grenade_round_hopper_count]) && self.pattern_complete_count[self.grenade_round_hopper_count] > 0) + { + self.pattern_complete_count[self.grenade_round_hopper_count]--; + } + + plinko_gates_update_pattern(); + var_04 = 0; + break; + + default: + var_04 = 0; + break; + } + + if(var_04) + { + self.grenade_round_hopper_count++; + plinko_gates_update_pattern(); + } +} + +//Function Number: 29 +plinko_grenade_destroy(param_00) +{ + playfx(common_scripts\utility::getfx("plinko_grenade_break"),param_00.origin,self.fx_dir); + playsoundatpos(param_00.origin,"plinko_grenade_destroyed"); + param_00 delete(); +} + +//Function Number: 30 +plinko_grenade_fx_play(param_00,param_01,param_02) +{ + param_00.fx_name = param_01; + param_00.fx_tag = param_02; + playfxontag(common_scripts\utility::getfx(param_01),param_00,param_02); +} + +//Function Number: 31 +plinko_grenade_fx_stop(param_00) +{ + stopfxontag(common_scripts\utility::getfx(param_00.fx_name),param_00,param_00.fx_tag); +} + +//Function Number: 32 +plinko_frag_grenade_in_hopper(param_00,param_01,param_02,param_03) +{ + var_04 = spawn("script_model",param_00.origin); + param_00 delete(); + wait 0.05; + var_05 = "npc_exo_launcher_grenade"; + var_04 setmodel(var_05); + var_04.angles = (0,-90,0); + plinko_grenade_fx_play(var_04,"plinko_fraggrenade_trail","tag_fx"); + var_04.object_offset = (0,0,2); + wait(0.4); + plinko_run_grenade(var_04,param_02); + wait(1); + plinko_grenade_destroy(var_04); +} + +//Function Number: 33 +plinko_contact_grenade_in_hopper(param_00,param_01,param_02,param_03) +{ + var_04 = spawn("script_model",param_00.origin); + param_00 delete(); + wait 0.05; + var_05 = "npc_exo_launcher_grenade"; + var_04 setmodel(var_05); + var_04.angles = (0,-90,0); + plinko_grenade_fx_play(var_04,"plinko_contactgrenade_trail","tag_fx"); + var_04.object_offset = (0,0,2); + wait(0.4); + plinko_run_grenade(var_04,param_02); + wait(1); + plinko_grenade_destroy(var_04); +} + +//Function Number: 34 +plinko_explosive_drone_in_hopper(param_00,param_01,param_02,param_03) +{ + var_04 = spawn("script_model",param_00.origin); + param_00 delete(); + wait 0.05; + var_05 = "npc_drone_explosive_main"; + var_04 setmodel(var_05); + var_04.angles = (0,90,-90); + plinko_grenade_fx_play(var_04,"plinko_explosive_drone_trail","TAG_BEACON"); + var_04.object_type = "explosive_drone"; + var_04.object_offset = (2,0,2); + var_04.socketed = 0; + var_04.socketed_fx_name = "plinko_explosive_drone_socket"; + var_04.socketed_fx_tag = "TAG_BEACON"; + wait(0.4); + plinko_run_grenade(var_04,param_02); + wait(1); + if(!var_04.socketed) + { + plinko_grenade_destroy(var_04); + } +} + +//Function Number: 35 +plinko_distraction_drone_in_hopper(param_00,param_01,param_02,param_03) +{ + var_04 = spawn("script_model",param_00.origin); + param_00 delete(); + wait 0.05; + var_05 = "dlc_distraction_drone_01_scaled_closed"; + var_04 setmodel(var_05); + var_04.angles = (45,-90,90); + plinko_grenade_fx_play(var_04,"plinko_distract_drone_trail","tag_weapon"); + var_04.object_type = "distraction_drone"; + var_04.object_offset = (0,0,2); + var_04.socketed = 0; + var_04.socketed_fx_name = "plinko_distract_drone_socket"; + var_04.socketed_fx_tag = "tag_origin"; + wait(0.4); + plinko_run_grenade(var_04,param_02); + if(!var_04.socketed) + { + wait(1); + plinko_grenade_destroy(var_04); + return; + } + + var_04 setmodel("dlc_distraction_drone_01_scaled_open"); + thread plinko_distraction_drone_spin(var_04); +} + +//Function Number: 36 +plinko_distraction_drone_spin(param_00) +{ + param_00 endon("death"); + param_00 thread audio_distraction_drone_sound(); + var_01 = (720,0,0); + for(;;) + { + param_00 rotatevelocity(var_01,600); + wait(600); + } +} + +//Function Number: 37 +plinko_ent_linked_to_gates(param_00) +{ + var_01 = param_00 getlinkedparent(); + if(isdefined(var_01)) + { + foreach(var_03 in self.gates) + { + if(var_03 == var_01) + { + return 1; + } + } + } + + return 0; +} + +//Function Number: 38 +audio_distraction_drone_sound() +{ + self playloopsound("plinko_dist_gren_spin_lp"); +} + +//Function Number: 39 +plinko_aoe_grenade_in_hopper(param_00,param_01,param_02,param_03) +{ + var_04 = spawn("script_model",param_00.origin); + param_00 notify("dud_explode"); + param_00 delete(); + wait 0.05; + var_05 = "npc_exo_launcher_grenade"; + var_04 setmodel(var_05); + var_04.angles = (0,-90,0); + plinko_grenade_fx_play(var_04,"plinko_dnagrenade_trail","tag_fx"); + var_04.object_type = "aoe_grenade"; + var_04.object_offset = (2,0,0); + var_04.socketed = 0; + var_04.socketed_fx_name = "plinko_dna_grenade_socket"; + var_04.socketed_fx_tag = "tag_fx"; + wait(0.4); + plinko_run_grenade(var_04,param_02); + var_04 thread audio_aoe_grenade_socketed(); + wait(1); + if(!var_04.socketed) + { + plinko_grenade_destroy(var_04); + } +} + +//Function Number: 40 +audio_aoe_grenade_socketed() +{ + self playloopsound("plinko_aoe_lp"); +} + +//Function Number: 41 +plinko_teleport_grenade_in_hopper(param_00,param_01,param_02,param_03) +{ + if(common_scripts\utility::flag("sq_plinko")) + { + if(isdefined(self.chute) && self.chute.locations.size) + { + self.chute.locations = common_scripts\utility::array_randomize(self.chute.locations); + foreach(var_05 in self.chute.locations) + { + if(var_05 == self.chute.current_location) + { + continue; + } + + plinko_set_chute_location(var_05); + playsoundatpos(self.origin,"plinko_chute_teleport"); + break; + } + } + } + + var_07 = spawn("script_model",param_00.origin); + param_00 delete(); + wait 0.05; + var_08 = "dlc3_teleport_grenade_01"; + var_07 setmodel(var_08); + var_07.angles = (0,-90,0); + plinko_grenade_fx_play(var_07,"plinko_teleportgrenade_trail","tag_fx"); + var_07.object_offset = (0,0,3); + wait(0.4); + plinko_run_grenade(var_07,param_02); + wait(1); + plinko_grenade_destroy(var_07); +} + +//Function Number: 42 +plinko_run_use_trigger() +{ + var_00 = 300; + var_01 = 3; + for(;;) + { + self.trigger setcursorhint("HINT_NOICON"); + self.trigger sethintstring("Activate Plinko"); + self.trigger setsecondaryhintstring(maps\mp\zombies\_util::getcoststring(var_00)); + self.trigger waittill("trigger",var_02); + var_03 = plinko_get_available_token(); + if(!isdefined(var_03)) + { + continue; + } + + if(!var_02 maps\mp\gametypes\zombies::attempttobuy(var_00)) + { + continue; + } + + self.trigger sethintstring(""); + self.trigger setsecondaryhintstring(""); + thread plinko_run_token(var_03,var_02); + plinko_use_wait(); + } +} + +//Function Number: 43 +plinko_use_wait() +{ + var_00 = 0.2; + var_01 = gettime(); + var_02 = plinko_get_available_token(); + if(!isdefined(var_02)) + { + self waittill("token_available"); + } + + var_03 = gettime() - var_01 / 1000; + if(var_03 < var_00) + { + wait(var_00 - var_03); + } +} + +//Function Number: 44 +plinko_run_grenade(param_00,param_01) +{ + var_02 = common_scripts\utility::random(self.starts); + param_00.origin = var_02.origin; + param_00.angles = param_00.angles + var_02.angles; + wait 0.05; + plinko_run_move(var_02,param_00,param_01); +} + +//Function Number: 45 +plinko_run_token(param_00,param_01) +{ + param_00.inuse = 1; + param_00 show(); + var_02 = common_scripts\utility::random(self.starts); + param_00 dontinterpolate(); + param_00.origin = var_02.origin; + wait(1); + plinko_run_move(var_02,param_00,param_01); + wait(1); + param_00.inuse = 0; + param_00 hide(); + self notify("token_available"); +} + +//Function Number: 46 +plinko_give_achievement(param_00) +{ + if(isdefined(param_00) && param_00.plinkousecount == 30) + { + param_00 maps\mp\gametypes\zombies::givezombieachievement("DLC3_ZOMBIE_PLINKO"); + } +} + +//Function Number: 47 +plinko_run_move(param_00,param_01,param_02) +{ + if(isdefined(param_02)) + { + param_02.plinkousecount++; + plinko_give_achievement(param_02); + } + + var_03 = (0,0,-800); + if(!isdefined(param_01.object_offset)) + { + param_01.object_offset = (0,0,0); + } + + if(isdefined(param_00.angles)) + { + param_01.object_offset = rotatevector(param_01.object_offset,param_00.angles); + param_01.angles = param_01.angles + param_00.angles; + } + + if(!isdefined(param_01.object_type)) + { + param_01.object_type = "default"; + } + + var_04 = 0; + for(;;) + { + var_05 = plinko_new_link(param_00); + var_06 = plinko_next_link(var_05,param_01.object_type); + if(!isdefined(var_06)) + { + break; + } + + var_07 = var_06.node; + var_08 = plinko_object_type_can_socket(param_01.object_type) && plinko_origin_type(var_07) == "socket"; + var_09 = param_01.origin; + var_0A = var_07.origin; + if(var_08) + { + param_01.socketed = 1; + var_07.socket_object = param_01; + var_0A = var_0A + param_01.object_offset * (1,1,0); + } + else + { + var_0A = var_0A + param_01.object_offset; + } + + var_0B = distance2d(var_09,var_0A); + var_0C = abs(var_09[2] - var_0A[2]); + var_0D = 0.2; + if(var_0B > 0) + { + var_0D = var_0D + 0.2; + } + + if(var_0C > 40) + { + var_0D = var_0D + 0.1; + } + + var_0D = ceil(var_0D / 0.05) * 0.05; + var_0E = trajectorycalculateinitialvelocity(var_09,var_0A,var_03,var_0D); + param_01 movegravity(var_0E,var_0D); + wait(var_0D + 0.05); + if(!isdefined(param_01)) + { + break; + } + + var_04++; + thread maps\mp\zombies\_zombies_audio::plinko_clink(param_01,var_04); + var_0F = var_06.parent_link; + while(isdefined(var_0F)) + { + var_10 = var_0F.node.socket_object; + if(isdefined(var_10)) + { + plinko_grenade_destroy(var_10); + } + + var_0F = var_0F.parent_link; + } + + if(var_08) + { + if(isdefined(param_01.socketed_fx_name)) + { + plinko_grenade_fx_stop(param_01); + plinko_grenade_fx_play(param_01,param_01.socketed_fx_name,param_01.socketed_fx_tag); + } + + break; + } + + plinko_give_reward(var_07,param_02,param_01); + param_00 = var_07; + } + + if(isdefined(param_01)) + { + playsoundatpos(param_01.origin,"plinko_socketed"); + } +} + +//Function Number: 48 +plinko_object_type_can_socket(param_00) +{ + if(!isdefined(param_00)) + { + return 0; + } + + switch(param_00) + { + case "aoe_grenade": + case "distraction_drone": + case "explosive_drone": + return 1; + + default: + return 0; + } +} + +//Function Number: 49 +plinko_give_reward(param_00,param_01,param_02) +{ + reward(param_00.script_noteworthy,param_01,param_02); +} + +//Function Number: 50 +plinko_new_link(param_00,param_01) +{ + var_02 = spawnstruct(); + var_02.node = param_00; + var_02.parent_link = param_01; + return var_02; +} + +//Function Number: 51 +plinko_next_link(param_00,param_01) +{ + var_02 = plinko_next_links(param_00,param_01); + if(!var_02.size) + { + return undefined; + } + + var_03 = common_scripts\utility::random(var_02); + return var_03; +} + +//Function Number: 52 +plinko_next_links(param_00,param_01) +{ + var_02 = []; + var_03 = param_00.node; + var_04 = var_03 get_linked_structs(); + foreach(var_06 in var_04) + { + if(plinko_origin_type(var_06) == "socket" && isdefined(var_06.socket_object) || !plinko_object_type_can_socket(param_01)) + { + var_07 = var_06 get_linked_structs(); + if(isdefined(var_06.socket_object)) + { + var_08 = var_06.socket_object.object_type + "_with_socket"; + } + else + { + var_08 = "without_socket"; + } + + foreach(var_0A in var_07) + { + var_0B = var_0A.script_parameters; + if(var_0B == var_08) + { + var_0C = plinko_new_link(var_0A,plinko_new_link(var_06,param_00)); + var_02 = common_scripts\utility::array_combine(plinko_next_links(var_0C,param_01),var_02); + } + } + + continue; + } + + var_02[var_02.size] = plinko_new_link(var_06,param_00); + } + + return var_02; +} + +//Function Number: 53 +plinko_origin_type(param_00) +{ + if(!isdefined(param_00.script_parameters)) + { + return "default"; + } + + return param_00.script_parameters; +} + +//Function Number: 54 +plinko_get_available_token() +{ + foreach(var_01 in self.tokens) + { + if(!var_01.inuse) + { + return var_01; + } + } + + return undefined; +} + +//Function Number: 55 +get_linked_structs() +{ + var_00 = []; + if(isdefined(self.script_linkto)) + { + var_01 = common_scripts\utility::get_links(); + for(var_02 = 0;var_02 < var_01.size;var_02++) + { + var_03 = common_scripts\utility::getstruct(var_01[var_02],"script_linkname"); + if(isdefined(var_03)) + { + var_00[var_00.size] = var_03; + } + } + } + + return var_00; +} + +//Function Number: 56 +plinko_sq_goal(param_00) +{ + var_01 = "sq_plinko_" + param_00.script_parameters; + thread plinko_sq_goal_fx(param_00); + common_scripts\utility::flag_wait("sq_plinko"); +} + +//Function Number: 57 +plinko_sq_goal_fx(param_00) +{ + var_01 = undefined; + var_02 = "sq_plinko_" + param_00.script_parameters; + for(;;) + { + if(common_scripts\utility::flag("sq_plinko")) + { + var_03 = "plinko_light_red"; + if(common_scripts\utility::flag(var_02)) + { + var_03 = "plinko_light_green"; + } + + if(!isdefined(var_01) || var_01.name != var_03) + { + if(isdefined(var_01)) + { + var_01 delete(); + } + + var_01 = spawnfx(common_scripts\utility::getfx(var_03),param_00.origin); + var_01.name = var_03; + triggerfx(var_01); + } + } + else if(isdefined(var_01)) + { + wait(3); + var_01 delete(); + } + + level common_scripts\utility::waittill_any(var_02,"sq_plinko"); + } +} + +//Function Number: 58 +plinko_sq_geo(param_00) +{ + var_01 = param_00.origin; + var_02 = common_scripts\utility::getstruct(param_00.target,"targetname").origin; + param_00.origin = var_02; + common_scripts\utility::flag_wait("sq_plinko"); + param_00 moveto(var_01,1); + common_scripts\utility::flag_waitopen("sq_plinko"); + param_00 moveto(var_02,1); +} + +//Function Number: 59 +discoverplinkologic(param_00) +{ + level notify("discoverPlinkoLogic"); + level endon("discoverPlinkoLogic"); + var_01 = 90000; + var_02 = 0.7; + while(!isdefined(level.players) || level.players.size == 0) + { + wait 0.05; + } + + foreach(var_04 in level.players) + { + var_04.plinkodiscovered = undefined; + } + + var_06 = 0; + var_07 = maps\mp\zombies\_zombies_zone_manager::ispointinanyzonereturn(param_00.origin); + while(var_06 < level.players.size) + { + foreach(var_04 in level.players) + { + if(maps\mp\zombies\_util::is_true(var_04.plinkodiscovered)) + { + continue; + } + + if(!maps\mp\zombies\_zombies_zone_manager::playerisinzone(var_04,var_07)) + { + continue; + } + + var_09 = distance2dsquared(var_04.origin,param_00.origin); + if(var_09 > var_01) + { + continue; + } + + var_0A = anglestoforward(var_04 getplayerangles()); + var_0B = vectornormalize(param_00.origin - var_04.origin); + var_0C = vectordot(var_0A,var_0B); + if(var_0C >= var_02) + { + var_0D = 0; + if(isdefined(level.zmbfindgamblecustomvo)) + { + var_0D = [[ level.zmbfindgamblecustomvo ]](var_04,param_00); + } + else + { + var_0D = var_04 playerplinkovosee(); + } + + if(var_0D) + { + var_04.plinkodiscovered = 1; + var_06++; + wait(15); + break; + } + } + } + + wait(0.1); + } + + foreach(var_04 in level.players) + { + var_04.plinkodiscovered = undefined; + } +} + +//Function Number: 60 +playerplinkovosee() +{ + return maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","plinko_see"); +} + +//Function Number: 61 +playerplinkoplaypayoutvo(param_00) +{ + self endon("disconnect"); + wait(1); + if(param_00 <= 200) + { + playerplinkovopayoutsmall(); + return; + } + + if(param_00 >= 750) + { + playerplinkovopayoutlarge(); + return; + } + + playerplinkovopayoutmedium(); +} + +//Function Number: 62 +playerplinkovopayoutsmall() +{ + maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","plinko_small"); +} + +//Function Number: 63 +playerplinkovopayoutmedium() +{ + maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","plinko_med"); +} + +//Function Number: 64 +playerplinkovopayoutlarge() +{ + maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","plinko_lrg"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/_mutators.gsc b/AW/PC/maps/mp/zombies/_mutators.gsc new file mode 100644 index 0000000..c0b216c --- /dev/null +++ b/AW/PC/maps/mp/zombies/_mutators.gsc @@ -0,0 +1,1944 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_mutators.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 58 + * Decompile Time: 923 ms + * Timestamp: 4/22/2024 2:13:44 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + initmutatortable(); + initexomutator(); + initdismemberment(); + initdismembermentweaponmodifiers(); + level.activemutators = []; +} + +//Function Number: 2 +addmutatortotable(param_00,param_01,param_02,param_03,param_04) +{ + level.mutators[param_00] = []; + level.mutators[param_00][0] = param_01; + level.mutators[param_00][2] = param_02; + level.mutators[param_00][3] = param_03; + level.mutators[param_00][4] = param_04; +} + +//Function Number: 3 +disablemutatorfortypes(param_00,param_01) +{ + if(!isarray(param_01)) + { + param_01 = [param_01]; + } + + foreach(var_03 in param_01) + { + level.mutators_disabled[var_03][param_00] = 1; + } +} + +//Function Number: 4 +initfastmutator() +{ + level._effect["mut_fast_head"] = loadfx("vfx/gameplay/mp/zombie/zombie_fast_head"); + addmutatortotable("fast",::mutatorfast,"zmb_mut_fast_spawn"); + disablemutatorfortypes("fast",["zombie_dog","zombie_melee_goliath","zombie_ranged_goliath"]); +} + +//Function Number: 5 +initexplodermutator() +{ + level._effect["mut_exp_head"] = loadfx("vfx/gameplay/mp/zombie/zombie_fire_head"); + level._effect["mut_exp_arm_l"] = loadfx("vfx/gameplay/mp/zombie/zombie_fire_upperarm_lt"); + level._effect["mut_exp_arm_r"] = loadfx("vfx/gameplay/mp/zombie/zombie_fire_upperarm_rt"); + level._effect["mut_exp_back"] = loadfx("vfx/gameplay/mp/zombie/zombie_fire_back"); + level._effect["mut_exp_explosion_sm"] = loadfx("vfx/gameplay/mp/zombie/zombie_xplod_detonate_sml"); + level._effect["mut_exp_explosion_lg"] = loadfx("vfx/gameplay/mp/zombie/zombie_xplod_detonate_lrg"); + level._effect["mut_exp_charge"] = loadfx("vfx/gameplay/mp/zombie/zombie_xplod_detonate_charge"); + addmutatortotable("exploder",::mutatorexploder,"zmb_mut_expl_spawn",::onexploderzombiekilled); + disablemutatorfortypes("exploder",["zombie_melee_goliath","zombie_ranged_goliath"]); +} + +//Function Number: 6 +initemzmutator() +{ + level._effect["mut_emz_head"] = loadfx("vfx/gameplay/mp/zombie/zombie_emp_head"); + level._effect["mut_emz_arm_l"] = loadfx("vfx/gameplay/mp/zombie/zombie_emp_upperarm_lt"); + level._effect["mut_emz_arm_r"] = loadfx("vfx/gameplay/mp/zombie/zombie_emp_upperarm_rt"); + level._effect["mut_emz_back"] = loadfx("vfx/gameplay/mp/zombie/zombie_emp_back"); + level._effect["mut_emz_explosion"] = loadfx("vfx/explosion/emp_grenade_lrg_mp"); + level._effect["mut_emz_attack_sm"] = loadfx("vfx/gameplay/mp/zombie/zombie_attack_emz"); + level._effect["mut_emz_attack_lg"] = loadfx("vfx/gameplay/mp/zombie/zombie_attack_emz_lrg"); + addmutatortotable("emz",::mutatoremz,"zmb_mut_emz_spawn"); + disablemutatorfortypes("emz",["zombie_ranged_goliath"]); +} + +//Function Number: 7 +initmutatortable() +{ + level.mutators = []; + addmutatortotable("crawl",::mutatorcrawl); + disablemutatorfortypes("crawl",["zombie_dog","zombie_melee_goliath","zombie_ranged_goliath"]); + addmutatortotable("exo",::mutatorexo); + disablemutatorfortypes("exo",["zombie_dog","zombie_melee_goliath","zombie_ranged_goliath"]); +} + +//Function Number: 8 +initexomutator() +{ + if(level.currentgen && maps\mp\_utility::getmapname() == "mp_zombie_ark") + { + level.exobodyparts["zom_civ_ruban_male_torso_slice"]["torso"] = "zom_marine_exo_torso_slice"; + level.exobodyparts["zom_civ_ruban_male_torso_slice"]["right_arm"] = "zom_marine_exo_r_arm_slice"; + level.exobodyparts["zom_civ_ruban_male_torso_slice"]["left_arm"] = "zom_marine_exo_l_arm_slice"; + level.exobodyparts["zom_civ_ruban_male_torso_slice"]["right_leg"] = "zom_marine_exo_r_leg_slice"; + level.exobodyparts["zom_civ_ruban_male_torso_slice"]["left_leg"] = "zom_marine_exo_l_leg_slice"; + level.exobodyparts["zom_civ_ruban_male_torso_slice_b"]["torso"] = "zom_marine_exo_torso_slice"; + level.exobodyparts["zom_civ_ruban_male_torso_slice_b"]["right_arm"] = "zom_marine_exo_r_arm_slice"; + level.exobodyparts["zom_civ_ruban_male_torso_slice_b"]["left_arm"] = "zom_marine_exo_l_arm_slice"; + level.exobodyparts["zom_civ_ruban_male_torso_slice_b"]["right_leg"] = "zom_marine_exo_r_leg_slice"; + level.exobodyparts["zom_civ_ruban_male_torso_slice_b"]["left_leg"] = "zom_marine_exo_l_leg_slice"; + level.exobodyparts["zom_marine_shotgun_torso_slice"]["torso"] = "zom_marine_exo_torso_slice"; + level.exobodyparts["zom_marine_shotgun_torso_slice"]["right_arm"] = "zom_marine_exo_r_arm_slice"; + level.exobodyparts["zom_marine_shotgun_torso_slice"]["left_arm"] = "zom_marine_exo_l_arm_slice"; + level.exobodyparts["zom_marine_shotgun_torso_slice"]["right_leg"] = "zom_marine_exo_r_leg_slice"; + level.exobodyparts["zom_marine_shotgun_torso_slice"]["left_leg"] = "zom_marine_exo_l_leg_slice"; + return; + } + + level.exobodyparts["zom_civ_ruban_male_torso_slice"]["torso"] = "zom_marine_exo_torso_slice"; + level.exobodyparts["zom_civ_ruban_male_torso_slice"]["right_arm"] = "zom_marine_exo_r_arm_slice"; + level.exobodyparts["zom_civ_ruban_male_torso_slice"]["left_arm"] = "zom_marine_exo_l_arm_slice"; + level.exobodyparts["zom_civ_ruban_male_torso_slice"]["right_leg"] = "zom_marine_exo_r_leg_slice"; + level.exobodyparts["zom_civ_ruban_male_torso_slice"]["left_leg"] = "zom_marine_exo_l_leg_slice"; + level.exobodyparts["zom_civ_ruban_male_torso_slice_ab"]["torso"] = "zom_marine_exo_torso_slice"; + level.exobodyparts["zom_civ_ruban_male_torso_slice_ab"]["right_arm"] = "zom_marine_exo_r_arm_slice"; + level.exobodyparts["zom_civ_ruban_male_torso_slice_ab"]["left_arm"] = "zom_marine_exo_l_arm_slice"; + level.exobodyparts["zom_civ_ruban_male_torso_slice_ab"]["right_leg"] = "zom_marine_exo_r_leg_slice"; + level.exobodyparts["zom_civ_ruban_male_torso_slice_ab"]["left_leg"] = "zom_marine_exo_l_leg_slice"; + level.exobodyparts["zom_civ_ruban_male_torso_slice_b"]["torso"] = "zom_marine_exo_torso_slice"; + level.exobodyparts["zom_civ_ruban_male_torso_slice_b"]["right_arm"] = "zom_marine_exo_r_arm_slice"; + level.exobodyparts["zom_civ_ruban_male_torso_slice_b"]["left_arm"] = "zom_marine_exo_l_arm_slice"; + level.exobodyparts["zom_civ_ruban_male_torso_slice_b"]["right_leg"] = "zom_marine_exo_r_leg_slice"; + level.exobodyparts["zom_civ_ruban_male_torso_slice_b"]["left_leg"] = "zom_marine_exo_l_leg_slice"; + level.exobodyparts["zom_civ_ruban_male_torso_slice_c"]["torso"] = "zom_marine_exo_torso_slice"; + level.exobodyparts["zom_civ_ruban_male_torso_slice_c"]["right_arm"] = "zom_marine_exo_r_arm_slice"; + level.exobodyparts["zom_civ_ruban_male_torso_slice_c"]["left_arm"] = "zom_marine_exo_l_arm_slice"; + level.exobodyparts["zom_civ_ruban_male_torso_slice_c"]["right_leg"] = "zom_marine_exo_r_leg_slice"; + level.exobodyparts["zom_civ_ruban_male_torso_slice_c"]["left_leg"] = "zom_marine_exo_l_leg_slice"; + level.exobodyparts["zom_marine_shotgun_torso_slice"]["torso"] = "zom_marine_exo_torso_slice"; + level.exobodyparts["zom_marine_shotgun_torso_slice"]["right_arm"] = "zom_marine_exo_r_arm_slice"; + level.exobodyparts["zom_marine_shotgun_torso_slice"]["left_arm"] = "zom_marine_exo_l_arm_slice"; + level.exobodyparts["zom_marine_shotgun_torso_slice"]["right_leg"] = "zom_marine_exo_r_leg_slice"; + level.exobodyparts["zom_marine_shotgun_torso_slice"]["left_leg"] = "zom_marine_exo_l_leg_slice"; + level.exobodyparts["zom_marine_shotgun_torso_slice_bb"]["torso"] = "zom_marine_exo_torso_slice"; + level.exobodyparts["zom_marine_shotgun_torso_slice_bb"]["right_arm"] = "zom_marine_exo_r_arm_slice"; + level.exobodyparts["zom_marine_shotgun_torso_slice_bb"]["left_arm"] = "zom_marine_exo_l_arm_slice"; + level.exobodyparts["zom_marine_shotgun_torso_slice_bb"]["right_leg"] = "zom_marine_exo_r_leg_slice"; + level.exobodyparts["zom_marine_shotgun_torso_slice_bb"]["left_leg"] = "zom_marine_exo_l_leg_slice"; +} + +//Function Number: 9 +initdismemberment() +{ + level.fullbodygibcounter = 0; + if(level.currentgen && maps\mp\_utility::getmapname() == "mp_zombie_ark") + { + level.dismemberment["zom_marine_exo_r_arm_slice"]["modelToSpawn"] = "zom_marine_exo_r_arm_phys"; + level.dismemberment["zom_marine_exo_l_arm_slice"]["modelToSpawn"] = "zom_marine_exo_r_arm_phys"; + level.dismemberment["zom_marine_exo_r_leg_slice"]["modelToSpawn"] = "zom_marine_exo_r_leg_phys"; + level.dismemberment["zom_marine_exo_l_leg_slice"]["modelToSpawn"] = "zom_marine_exo_r_leg_phys"; + level.dismemberment["zom_marine_m_emp_exo_r_arm_slice"]["modelToSpawn"] = "zom_marine_exo_r_arm_phys"; + level.dismemberment["zom_marine_m_emp_exo_l_arm_slice"]["modelToSpawn"] = "zom_marine_exo_r_arm_phys"; + level.dismemberment["zom_marine_m_emp_exo_r_leg_slice"]["modelToSpawn"] = "zom_marine_exo_r_leg_phys"; + level.dismemberment["zom_marine_m_emp_exo_r_leg_slice_ab"]["modelToSpawn"] = "zom_marine_exo_r_leg_phys"; + level.dismemberment["zom_marine_m_emp_exo_l_leg_slice"]["modelToSpawn"] = "zom_marine_exo_r_leg_phys"; + level.dismemberment["zom_marine_m_emp_exo_l_leg_slice_ab"]["modelToSpawn"] = "zom_marine_exo_r_leg_phys"; + level.dismemberment["zom_marine_m_fire_exo_r_arm_slice"]["modelToSpawn"] = "zom_marine_exo_r_arm_phys"; + level.dismemberment["zom_marine_m_fire_exo_l_arm_slice"]["modelToSpawn"] = "zom_marine_exo_r_arm_phys"; + level.dismemberment["zom_marine_m_fire_exo_r_leg_slice"]["modelToSpawn"] = "zom_marine_exo_r_leg_phys"; + level.dismemberment["zom_marine_m_fire_exo_r_leg_slice_ab"]["modelToSpawn"] = "zom_marine_exo_r_leg_phys"; + level.dismemberment["zom_marine_m_fire_exo_l_leg_slice"]["modelToSpawn"] = "zom_marine_exo_r_leg_phys"; + level.dismemberment["zom_marine_m_fire_exo_l_leg_slice_ab"]["modelToSpawn"] = "zom_marine_exo_r_leg_phys"; + level.dismemberment["zom_marine_m_ovr_exo_r_arm_slice"]["modelToSpawn"] = "zom_marine_exo_r_arm_phys"; + level.dismemberment["zom_marine_m_ovr_exo_l_arm_slice"]["modelToSpawn"] = "zom_marine_exo_r_arm_phys"; + level.dismemberment["zom_marine_m_ovr_exo_r_leg_slice"]["modelToSpawn"] = "zom_marine_exo_r_leg_phys"; + level.dismemberment["zom_marine_m_ovr_exo_r_leg_slice_ab"]["modelToSpawn"] = "zom_marine_exo_r_leg_phys"; + level.dismemberment["zom_marine_m_ovr_exo_l_leg_slice"]["modelToSpawn"] = "zom_marine_exo_r_leg_phys"; + level.dismemberment["zom_marine_m_ovr_exo_l_leg_slice_ab"]["modelToSpawn"] = "zom_marine_exo_r_leg_phys"; + level.dismemberment[1]["modelToSpawn"] = "zom_civ_ruban_male_r_arm_phys"; + level.dismemberment[2]["modelToSpawn"] = "zom_civ_ruban_male_r_arm_phys"; + level.dismemberment[4]["modelToSpawn"] = "zom_civ_ruban_male_r_leg_phys"; + level.dismemberment[8]["modelToSpawn"] = "zom_civ_ruban_male_r_leg_phys"; + level.dismemberment[16]["modelToSpawn"] = "zom_civ_urban_male_head_phys"; + level.dismemberment[16]["nub"] = "zom_civ_urban_male_head_slice"; + level.dismemberment[1]["tagName"] = "J_Shoulder_RI"; + level.dismemberment[2]["tagName"] = "J_Shoulder_LE"; + level.dismemberment[4]["tagName"] = "J_Hip_RI"; + level.dismemberment[8]["tagName"] = "J_Hip_LE"; + level.dismemberment[16]["tagName"] = "J_Head"; + level.dismemberment[1]["fxTagName"] = "J_Shoulder_RI"; + level.dismemberment[2]["fxTagName"] = "J_Shoulder_LE"; + level.dismemberment[4]["fxTagName"] = "J_Hip_RI"; + level.dismemberment[8]["fxTagName"] = "J_Hip_LE"; + level.dismemberment[16]["fxTagName"] = "J_Head"; + level.dismemberment["full"]["fxTagName"] = "J_MainRoot"; + level.dismemberment[1]["torsoFX"] = "torso_arm_loss_right"; + level.dismemberment[2]["torsoFX"] = "torso_arm_loss_left"; + level.dismemberment[4]["torsoFX"] = "torso_loss_right"; + level.dismemberment[8]["torsoFX"] = "torso_loss_left"; + level.dismemberment[16]["torsoFX"] = "torso_head_loss"; + level.dismemberment[1]["limbFX"] = "arm_loss_right"; + level.dismemberment[2]["limbFX"] = "arm_loss_left"; + level.dismemberment[4]["limbFX"] = "limb_loss_right"; + level.dismemberment[8]["limbFX"] = "limb_loss_left"; + level.dismemberment[16]["limbFX"] = "head_loss"; + level.dismemberment[1]["dismemberSound"] = "zmb_dism_arm"; + level.dismemberment[2]["dismemberSound"] = "zmb_dism_arm"; + level.dismemberment[4]["dismemberSound"] = "zmb_dism_leg"; + level.dismemberment[8]["dismemberSound"] = "zmb_dism_leg"; + level.dismemberment[16]["dismemberSound"] = "zmb_dism_head"; + level.dismemberment["full"]["dismemberSound"] = "zmb_dism_instakill_explosion"; + level.dismemberment[1]["dismemberExoSound"] = "zmb_dism_arm"; + level.dismemberment[2]["dismemberExoSound"] = "zmb_dism_arm_exo"; + level.dismemberment[4]["dismemberExoSound"] = "zmb_dism_leg_exo"; + level.dismemberment[8]["dismemberExoSound"] = "zmb_dism_leg_exo"; + level.dismemberment[16]["dismemberExoSound"] = "zmb_dism_head"; + level.dismemberment["full"]["dismemberExoSound"] = "zmb_dism_instakill_explosion"; + return; + } + + level.dismemberment["zom_marine_exo_r_arm_slice"]["modelToSpawn"] = "zom_marine_exo_r_arm_phys"; + level.dismemberment["zom_marine_exo_l_arm_slice"]["modelToSpawn"] = "zom_marine_exo_l_arm_phys"; + level.dismemberment["zom_marine_exo_r_leg_slice"]["modelToSpawn"] = "zom_marine_exo_r_leg_phys"; + level.dismemberment["zom_marine_exo_l_leg_slice"]["modelToSpawn"] = "zom_marine_exo_l_leg_phys"; + level.dismemberment["zom_marine_m_emp_exo_r_arm_slice"]["modelToSpawn"] = "zom_marine_exo_r_arm_phys"; + level.dismemberment["zom_marine_m_emp_exo_l_arm_slice"]["modelToSpawn"] = "zom_marine_exo_l_arm_phys"; + level.dismemberment["zom_marine_m_emp_exo_r_leg_slice"]["modelToSpawn"] = "zom_marine_exo_r_leg_phys"; + level.dismemberment["zom_marine_m_emp_exo_r_leg_slice_ab"]["modelToSpawn"] = "zom_marine_exo_r_leg_phys"; + level.dismemberment["zom_marine_m_emp_exo_l_leg_slice"]["modelToSpawn"] = "zom_marine_exo_l_leg_phys"; + level.dismemberment["zom_marine_m_emp_exo_l_leg_slice_ab"]["modelToSpawn"] = "zom_marine_exo_l_leg_phys"; + level.dismemberment["zom_marine_m_fire_exo_r_arm_slice"]["modelToSpawn"] = "zom_marine_exo_r_arm_phys"; + level.dismemberment["zom_marine_m_fire_exo_l_arm_slice"]["modelToSpawn"] = "zom_marine_exo_l_arm_phys"; + level.dismemberment["zom_marine_m_fire_exo_r_leg_slice"]["modelToSpawn"] = "zom_marine_exo_r_leg_phys"; + level.dismemberment["zom_marine_m_fire_exo_r_leg_slice_ab"]["modelToSpawn"] = "zom_marine_exo_r_leg_phys"; + level.dismemberment["zom_marine_m_fire_exo_l_leg_slice"]["modelToSpawn"] = "zom_marine_exo_l_leg_phys"; + level.dismemberment["zom_marine_m_fire_exo_l_leg_slice_ab"]["modelToSpawn"] = "zom_marine_exo_l_leg_phys"; + level.dismemberment["zom_marine_m_ovr_exo_r_arm_slice"]["modelToSpawn"] = "zom_marine_exo_r_arm_phys"; + level.dismemberment["zom_marine_m_ovr_exo_l_arm_slice"]["modelToSpawn"] = "zom_marine_exo_l_arm_phys"; + level.dismemberment["zom_marine_m_ovr_exo_r_leg_slice"]["modelToSpawn"] = "zom_marine_exo_r_leg_phys"; + level.dismemberment["zom_marine_m_ovr_exo_r_leg_slice_ab"]["modelToSpawn"] = "zom_marine_exo_r_leg_phys"; + level.dismemberment["zom_marine_m_ovr_exo_l_leg_slice"]["modelToSpawn"] = "zom_marine_exo_l_leg_phys"; + level.dismemberment["zom_marine_m_ovr_exo_l_leg_slice_ab"]["modelToSpawn"] = "zom_marine_exo_l_leg_phys"; + level.dismemberment[1]["modelToSpawn"] = "zom_civ_ruban_male_r_arm_phys"; + level.dismemberment[2]["modelToSpawn"] = "zom_civ_ruban_male_l_arm_phys"; + level.dismemberment[4]["modelToSpawn"] = "zom_civ_ruban_male_r_leg_phys"; + level.dismemberment[8]["modelToSpawn"] = "zom_civ_ruban_male_l_leg_phys"; + level.dismemberment[16]["modelToSpawn"] = "zom_civ_urban_male_head_phys"; + level.dismemberment[16]["nub"] = "zom_civ_urban_male_head_slice"; + level.dismemberment[1]["tagName"] = "J_Shoulder_RI"; + level.dismemberment[2]["tagName"] = "J_Shoulder_LE"; + level.dismemberment[4]["tagName"] = "J_Hip_RI"; + level.dismemberment[8]["tagName"] = "J_Hip_LE"; + level.dismemberment[16]["tagName"] = "J_Head"; + level.dismemberment[1]["fxTagName"] = "J_Shoulder_RI"; + level.dismemberment[2]["fxTagName"] = "J_Shoulder_LE"; + level.dismemberment[4]["fxTagName"] = "J_Hip_RI"; + level.dismemberment[8]["fxTagName"] = "J_Hip_LE"; + level.dismemberment[16]["fxTagName"] = "J_Head"; + level.dismemberment["full"]["fxTagName"] = "J_MainRoot"; + level.dismemberment[1]["torsoFX"] = "torso_arm_loss_right"; + level.dismemberment[2]["torsoFX"] = "torso_arm_loss_left"; + level.dismemberment[4]["torsoFX"] = "torso_loss_right"; + level.dismemberment[8]["torsoFX"] = "torso_loss_left"; + level.dismemberment[16]["torsoFX"] = "torso_head_loss"; + level.dismemberment[1]["limbFX"] = "arm_loss_right"; + level.dismemberment[2]["limbFX"] = "arm_loss_left"; + level.dismemberment[4]["limbFX"] = "limb_loss_right"; + level.dismemberment[8]["limbFX"] = "limb_loss_left"; + level.dismemberment[16]["limbFX"] = "head_loss"; + level.dismemberment[1]["dismemberSound"] = "zmb_dism_arm"; + level.dismemberment[2]["dismemberSound"] = "zmb_dism_arm"; + level.dismemberment[4]["dismemberSound"] = "zmb_dism_leg"; + level.dismemberment[8]["dismemberSound"] = "zmb_dism_leg"; + level.dismemberment[16]["dismemberSound"] = "zmb_dism_head"; + level.dismemberment["full"]["dismemberSound"] = "zmb_dism_instakill_explosion"; + level.dismemberment[1]["dismemberExoSound"] = "zmb_dism_arm"; + level.dismemberment[2]["dismemberExoSound"] = "zmb_dism_arm_exo"; + level.dismemberment[4]["dismemberExoSound"] = "zmb_dism_leg_exo"; + level.dismemberment[8]["dismemberExoSound"] = "zmb_dism_leg_exo"; + level.dismemberment[16]["dismemberExoSound"] = "zmb_dism_head"; + level.dismemberment["full"]["dismemberExoSound"] = "zmb_dism_instakill_explosion"; +} + +//Function Number: 10 +initdismembermentweaponmodifiers() +{ + var_00 = "mp/zombieDismembermentModifiers.csv"; + var_01 = 0; + var_02 = 2; + var_03 = 3; + var_04 = 4; + var_05 = 5; + var_06 = tablegetrowcount(var_00); + for(var_07 = 0;var_07 < var_06;var_07++) + { + var_08 = tablelookupbyrow(var_00,var_07,var_01); + var_09 = tablelookupbyrow(var_00,var_07,var_02); + var_0A = tablelookupbyrow(var_00,var_07,var_03); + var_0B = tablelookupbyrow(var_00,var_07,var_04); + var_0C = tablelookupbyrow(var_00,var_07,var_05); + level.dismembermentmodifiers[var_08] = float(var_09); + level.dismembermentupgrademodifiers[var_08] = float(var_0A); + level.highdamageweapons[var_08] = var_0B == "true"; + level.dismembermentignorelocation[var_08] = var_0C == "true"; + } +} + +//Function Number: 11 +mutator_apply(param_00) +{ + if(!isdefined(level.activemutators[param_00])) + { + level.activemutators[param_00] = 0; + } + + if(!isdefined(self.activemutators)) + { + self.activemutators = []; + } + + if(isdefined(self.activemutators[param_00])) + { + return; + } + + if(isdefined(level.mutators_disabled[self.agent_type])) + { + if(isdefined(level.mutators_disabled[self.agent_type][param_00]) && level.mutators_disabled[self.agent_type][param_00]) + { + return; + } + } + + level.activemutators[param_00]++; + self.activemutators[param_00] = 1; + self [[ level.mutators[param_00][0] ]](); + if(isdefined(self.activemutators)) + { + self.activemutators[param_00] = undefined; + } + + level.activemutators[param_00]--; +} + +//Function Number: 12 +torso_effects_apply(param_00,param_01) +{ + if(isdefined(level._effect[param_00 + "_head"])) + { + maps\mp\zombies\_util::playfxontagnetwork(level._effect[param_00 + "_head"],self,"j_head"); + } + + if(isdefined(level._effect[param_00 + "_arm_r"])) + { + maps\mp\zombies\_util::playfxontagnetwork(level._effect[param_00 + "_arm_r"],self,"j_shoulder_ri"); + } + + if(isdefined(level._effect[param_00 + "_arm_l"])) + { + maps\mp\zombies\_util::playfxontagnetwork(level._effect[param_00 + "_arm_l"],self,"j_shoulder_le"); + } + + if(isdefined(level._effect[param_00 + "_back"])) + { + maps\mp\zombies\_util::playfxontagnetwork(level._effect[param_00 + "_back"],self,"j_spineupper"); + } + + self.torso_fx = param_00; + if(isdefined(param_01)) + { + thread torso_effects_remove(param_00,param_01); + } +} + +//Function Number: 13 +torso_effects_remove(param_00,param_01) +{ + self notify("removeTorsoEffectsDelayed"); + self endon("removeTorsoEffectsDelayed"); + self endon("death"); + if(isdefined(param_01)) + { + wait(param_01); + } + + if(isdefined(self)) + { + if(isdefined(level._effect[param_00 + "_head"])) + { + maps\mp\zombies\_util::stopfxontagnetwork(level._effect[param_00 + "_head"],self,"j_head"); + } + + if(isdefined(level._effect[param_00 + "_arm_r"])) + { + maps\mp\zombies\_util::stopfxontagnetwork(level._effect[param_00 + "_arm_r"],self,"j_shoulder_ri"); + } + + if(isdefined(level._effect[param_00 + "_arm_l"])) + { + maps\mp\zombies\_util::stopfxontagnetwork(level._effect[param_00 + "_arm_l"],self,"j_shoulder_le"); + } + + if(isdefined(level._effect[param_00 + "_back"])) + { + maps\mp\zombies\_util::stopfxontagnetwork(level._effect[param_00 + "_back"],self,"j_spineupper"); + } + } +} + +//Function Number: 14 +mutator_precloneswap_limb(param_00,param_01,param_02) +{ + if(param_02) + { + var_03 = level.dismemberment[param_00]["nub"]; + if(isdefined(var_03)) + { + self attach(var_03,"",1); + return; + } + + return; + } + + if(isdefined(self.swaplimbmodels) && isdefined(self.swaplimbmodels[param_01])) + { + self attach(self.swaplimbmodels[param_01]); + return; + } + + if(isdefined(self.limbmodels) && isdefined(self.limbmodels[param_01])) + { + self attach(self.limbmodels[param_01]); + return; + } +} + +//Function Number: 15 +mutator_precloneswap() +{ + var_00 = 0; + var_01 = 0; + var_02 = 0; + var_03 = 0; + var_04 = 0; + if(isdefined(self.missingbodyparts)) + { + if(self.missingbodyparts & 16) + { + var_00 = 1; + } + + if(self.missingbodyparts & 1) + { + var_01 = 1; + } + + if(self.missingbodyparts & 2) + { + var_02 = 1; + } + + if(self.missingbodyparts & 4) + { + var_03 = 1; + } + + if(self.missingbodyparts & 8) + { + var_04 = 1; + } + } + + self detachall(); + if(isdefined(self.swapbody)) + { + self setmodel(self.swapbody); + } + + if(var_00) + { + var_05 = level.dismemberment[16]["nub"]; + if(isdefined(var_05)) + { + self attach(var_05,"",1); + } + } + else + { + self attach(self.headmodel); + } + + mutator_precloneswap_limb(4,"right_leg",var_03); + mutator_precloneswap_limb(8,"left_leg",var_04); + mutator_precloneswap_limb(1,"right_arm",var_01); + mutator_precloneswap_limb(2,"left_arm",var_02); +} + +//Function Number: 16 +mutatorexo() +{ + thread mutatorspawnsound("exo"); + maps\mp\agents\humanoid\_humanoid_util::enable_humanoid_exo_abilities(); + self.boostfxtag = "tag_jetpack"; + var_00 = self getmodelfromentity(); + self setmodel(level.exobodyparts[var_00]["torso"]); + if(isdefined(level.exobodyparts[var_00]["heads"])) + { + var_01 = level.exobodyparts[var_00]["heads"][randomint(level.exobodyparts[var_00]["heads"].size)]; + self detach(self.headmodel); + self.headmodel = var_01; + self attach(var_01); + } + + replacelimbtoexolimb(var_00,"right_leg"); + replacelimbtoexolimb(var_00,"left_leg"); + replacelimbtoexolimb(var_00,"right_arm"); + replacelimbtoexolimb(var_00,"left_arm"); + if(!isdefined(self.moverateroundmod)) + { + self.moverateroundmod = 0; + } + + self.moverateroundmod = self.moverateroundmod + 1; + self waittill("death"); +} + +//Function Number: 17 +replacelimbtoexolimb(param_00,param_01) +{ + self detach(self.limbmodels[param_01]); + self.limbmodels[param_01] = level.exobodyparts[param_00][param_01]; + self attach(self.limbmodels[param_01]); +} + +//Function Number: 18 +mutatorfast() +{ + thread mutatorspawnsound("fast"); + maps\mp\agents\humanoid\_humanoid_util::enable_humanoid_exo_abilities(); + self.boostfxtag = "tag_jetpack"; + thread runner_ambient_sound(); + var_00 = ["zom_marine_m_ovr_exo_torso_slice"]; + var_01 = ["zom_marine_m_ovr_nofx_exo_torso_slice"]; + var_02 = ["zombies_head_mutator_overcharge","zombies_head_mutator_ovrchrg_cau_a","zombies_head_mutator_ovrchrg_cau_b","zombies_head_mutator_ovrchrg_cau_c"]; + var_03 = ["zom_marine_m_ovr_exo_r_leg_slice","zom_marine_m_ovr_exo_r_leg_slice_ab"]; + var_04 = ["zom_marine_m_ovr_nofx_exo_r_leg_slice","zom_marine_m_ovr_nofx_exo_r_leg_slice_ab"]; + var_05 = ["zom_marine_m_ovr_exo_l_leg_slice","zom_marine_m_ovr_exo_l_leg_slice_ab"]; + var_06 = ["zom_marine_m_ovr_nofx_exo_l_leg_slice","zom_marine_m_ovr_nofx_exo_l_leg_slice_ab"]; + var_07 = ["zom_marine_m_ovr_exo_r_arm_slice"]; + var_08 = ["zom_marine_m_ovr_nofx_exo_r_arm_slice"]; + var_09 = ["zom_marine_m_ovr_exo_l_arm_slice"]; + var_0A = ["zom_marine_m_ovr_nofx_exo_l_arm_slice"]; + var_0B = randomint(var_00.size); + var_0C = randomint(var_02.size); + var_0D = randomint(var_03.size); + var_0E = randomint(var_05.size); + var_0F = randomint(var_07.size); + var_10 = randomint(var_09.size); + self.precloneswapfunc = ::mutator_precloneswap; + self detachall(); + self setmodel(var_00[var_0B]); + self.swapbody = var_01[var_0B]; + self attach(var_02[var_0C]); + self.headmodel = var_02[var_0C]; + self attach(var_03[var_0D]); + self attach(var_05[var_0E]); + self attach(var_07[var_0F]); + self attach(var_09[var_10]); + self.limbmodels["right_leg"] = var_03[var_0D]; + self.limbmodels["left_leg"] = var_05[var_0E]; + self.limbmodels["right_arm"] = var_07[var_0F]; + self.limbmodels["left_arm"] = var_09[var_10]; + self.swaplimbmodels["right_leg"] = var_04[var_0D]; + self.swaplimbmodels["left_leg"] = var_06[var_0E]; + self.swaplimbmodels["right_arm"] = var_08[var_0F]; + self.swaplimbmodels["left_arm"] = var_0A[var_10]; + var_11 = maps\mp\gametypes\zombies::geteyeeffectforzombie("fast",self.headmodel); + maps\mp\zombies\_util::zombie_set_eyes(var_11); + torso_effects_apply("mut_fast"); + self setsurfacetype("slush"); + if(!isdefined(self.moverateroundmod)) + { + self.moverateroundmod = 0; + } + + self.moverateroundmod = self.moverateroundmod + 5; + self waittill("death"); +} + +//Function Number: 19 +mutatoremz_clearemp(param_00) +{ + self.empgrenaded = 0; + self setempjammed(0); + maps\mp\_utility::playerallowhighjump(1,"empgrenade"); + maps\mp\_utility::playerallowhighjumpdrop(1,"empgrenade"); + maps\mp\_utility::playerallowboostjump(1,"empgrenade"); + maps\mp\_utility::playerallowpowerslide(1,"empgrenade"); + maps\mp\_utility::playerallowdodge(1,"empgrenade"); + self playsoundtoplayer("emp_system_reboot",self); + if(!maps\mp\zombies\_util::iszombieshardmode()) + { + self digitaldistortsetparams(0,0); + } + + maps\mp\gametypes\_scrambler::playersethudempscrambledoff(param_00); +} + +//Function Number: 20 +mutatoremz_deathwaiter(param_00) +{ + self notify("emzDeathWaiter"); + self endon("emzDeathWaiter"); + self endon("emzTimedOut"); + self waittill("death"); + mutatoremz_clearemp(param_00); +} + +//Function Number: 21 +mutatoremz_rumbleloop(param_00) +{ + self endon("emp_rumble_loop"); + self notify("emp_rumble_loop"); + var_01 = gettime() + param_00 * 1000; + while(gettime() < var_01) + { + self playrumbleonentity("damage_heavy"); + wait(0.05); + } +} + +//Function Number: 22 +mutatoremz_watchdistortdisconnectdeath(param_00) +{ + self notify("mutatorEMZ_watchDistortDisconnectDeath"); + self endon("mutatorEMZ_watchDistortDisconnectDeath"); + common_scripts\utility::waittill_any("death","disconnect","faux_spawn","joined_team"); + if(isdefined(self)) + { + self digitaldistortsetparams(0,0); + maps\mp\gametypes\_scrambler::playersethudempscrambledoff(param_00); + } +} + +//Function Number: 23 +mutatoremz_digitaldistort(param_00,param_01) +{ + self endon("death"); + self endon("disconnect"); + self endon("faux_spawn"); + self endon("joined_team"); + var_02 = 0.6; + self digitaldistortsetmaterial("digital_distort_mp"); + self digitaldistortsetparams(var_02,1); + thread mutatoremz_watchdistortdisconnectdeath(param_01); + wait(0.1); + var_03 = param_00; + var_04 = var_02; + var_05 = 0.2; + var_06 = var_04 - var_05; + var_07 = 0.1; + var_08 = var_04; + while(var_03 > 0) + { + var_08 = var_06 * var_03 / param_00 + var_05; + self digitaldistortsetparams(var_08,1); + var_03 = var_03 - var_07; + wait(var_07); + } + + self digitaldistortsetparams(0,0); +} + +//Function Number: 24 +mutatoremz_applyemp() +{ + self notify("applyEmp"); + self endon("applyEmp"); + self endon("death"); + self endon("disconnect"); + wait(0.05); + self.empduration = 5; + if(isdefined(self.isexotacticalarmoractive) && self.isexotacticalarmoractive) + { + self.empduration = self.empduration - 1.25; + } + + var_00 = 1; + maps\mp\_utility::playerallowhighjump(0,"empgrenade"); + maps\mp\_utility::playerallowhighjumpdrop(0,"empgrenade"); + maps\mp\_utility::playerallowboostjump(0,"empgrenade"); + maps\mp\_utility::playerallowpowerslide(0,"empgrenade"); + maps\mp\_utility::playerallowdodge(0,"empgrenade"); + self playsoundtoplayer("emp_big_activate",self); + self.empgrenaded = 1; + self.empendtime = gettime() + self.empduration * 1000; + var_01 = maps\mp\gametypes\_scrambler::playersethudempscrambled(self.empendtime,var_00,"emp"); + if(!maps\mp\zombies\_util::iszombieshardmode()) + { + thread mutatoremz_digitaldistort(self.empduration,var_01); + } + + thread mutatoremz_rumbleloop(0.75); + self setempjammed(1); + thread maps\mp\zombies\_zombies_audio::player_emp(); + thread mutatoremz_deathwaiter(var_01); + wait(self.empduration); + self notify("emzTimedOut"); + mutatoremz_clearemp(var_01); +} + +//Function Number: 25 +mutatoremz_watchforattackhits() +{ + self endon("death"); + for(;;) + { + self waittill("attack_hit",var_00,var_01); + if(isplayer(var_00) && maps\mp\_utility::isreallyalive(var_00)) + { + if(isdefined(var_00.exosuitonline) && var_00.exosuitonline) + { + var_00 thread mutatoremz_applyemp(); + } + + if(isdefined(level.noflashemzfunc)) + { + var_02 = var_00 [[ level.noflashemzfunc ]](); + } + else + { + var_02 = level._effect["mut_emz_attack_sm"]; + } + + playfx(var_02,var_01); + var_00 playlocalsound("zmb_emz_impact"); + level notify("zmb_emz_attack",self,var_01,10000); + } + } +} + +//Function Number: 26 +mutatoremz_watchforproximityboosters() +{ + self endon("death"); + var_00 = 32400; + var_01 = 500; + var_02 = 3; + maps\mp\zombies\_util::waittill_enter_game(); + for(;;) + { + if(isdefined(self.distractiondrone)) + { + wait(0.1); + continue; + } + + var_03 = []; + if(self.aistate != "traverse" && !maps\mp\agents\_scripted_agent_anim_util::isstatelocked()) + { + foreach(var_05 in level.players) + { + if(!maps\mp\zombies\_util::isonhumanteam(var_05) || !maps\mp\_utility::isreallyalive(var_05) || maps\mp\zombies\_util::isplayerinlaststand(var_05)) + { + continue; + } + + if(!isdefined(var_05.exosuitonline) || !var_05.exosuitonline) + { + continue; + } + + if(!isdefined(var_05.exoeventtime) || gettime() - var_05.exoeventtime > var_01) + { + continue; + } + + if(distancesquared(var_05.origin,self.origin) > var_00) + { + continue; + } + + if(var_05.ignoreme || maps\mp\zombies\_util::shouldignoreent(var_05)) + { + continue; + } + + if(var_05 isnotarget()) + { + continue; + } + + var_03[var_03.size] = var_05; + } + } + + var_07 = self.origin + (0,0,40); + if(var_03.size > 0) + { + playfx(level._effect["mut_emz_attack_lg"],var_07); + foreach(var_05 in var_03) + { + var_05 playlocalsound("zmb_emz_impact"); + var_05 thread mutatoremz_applyemp(); + } + + level notify("zmb_emz_attack",self,var_07,var_00); + wait(var_02); + } + + wait(0.1); + } +} + +//Function Number: 27 +mutatoremz_bursttonearbyplayers(param_00) +{ + var_01 = 32400; + var_02 = 500; + var_03 = 3; + if(isdefined(self.distractiondrone)) + { + return; + } + + if(self.aistate == "traverse" || maps\mp\agents\_scripted_agent_anim_util::isstatelocked()) + { + return; + } + + if(!isdefined(param_00)) + { + param_00 = 1; + } + + var_04 = self.origin + (0,0,40); + if(param_00) + { + playfx(level._effect["mut_emz_attack_lg"],var_04); + } + + foreach(var_06 in level.players) + { + if(!maps\mp\zombies\_util::isonhumanteam(var_06) || !maps\mp\_utility::isreallyalive(var_06) || maps\mp\zombies\_util::isplayerinlaststand(var_06)) + { + continue; + } + + if(!isdefined(var_06.exosuitonline) || !var_06.exosuitonline) + { + continue; + } + + if(!isdefined(var_06.exoeventtime) || gettime() - var_06.exoeventtime > var_02) + { + continue; + } + + if(distancesquared(var_06.origin,self.origin) > var_01) + { + continue; + } + + if(var_06.ignoreme || maps\mp\zombies\_util::shouldignoreent(var_06)) + { + continue; + } + + if(var_06 isnotarget()) + { + continue; + } + + var_06 playlocalsound("zmb_emz_impact"); + var_06 thread mutatoremz_applyemp(); + } + + level notify("zmb_emz_attack",self,var_04,var_01); +} + +//Function Number: 28 +mutatoremz() +{ + if(self.agent_type == "zombie_dog") + { + thread mutatoremz_dog(); + self waittill("death"); + return; + } + + thread mutatorspawnsound("emz"); + if(!maps\mp\zombies\_util::is_true(self.nomutatormodelswap)) + { + maps\mp\agents\humanoid\_humanoid_util::enable_humanoid_exo_abilities(); + self.boostfxtag = "tag_jetpack"; + var_00 = ["zom_marine_m_emp_exo_torso_slice","zom_marine_m_emp_exo_torso_slice_ab"]; + var_01 = ["zom_marine_m_emp_nofx_exo_torso_slice","zom_marine_m_emp_nofx_exo_torso_slice_ab"]; + var_02 = ["zombies_head_mutator_emp","zombies_head_mutator_emp_cau_a","zombies_head_mutator_emp_cau_b","zombies_head_mutator_emp_cau_c"]; + var_03 = ["zom_marine_m_emp_exo_r_leg_slice","zom_marine_m_emp_exo_r_leg_slice_ab"]; + var_04 = ["zom_marine_m_emp_nofx_exo_r_leg_slice","zom_marine_m_emp_nofx_exo_r_leg_slice_ab"]; + var_05 = ["zom_marine_m_emp_exo_l_leg_slice","zom_marine_m_emp_exo_l_leg_slice_ab"]; + var_06 = ["zom_marine_m_emp_nofx_exo_l_leg_slice","zom_marine_m_emp_nofx_exo_l_leg_slice_ab"]; + var_07 = ["zom_marine_m_emp_exo_r_arm_slice"]; + var_08 = ["zom_marine_m_emp_nofx_exo_r_arm_slice"]; + var_09 = ["zom_marine_m_emp_exo_l_arm_slice"]; + var_0A = ["zom_marine_m_emp_nofx_exo_l_arm_slice"]; + var_0B = randomint(var_00.size); + var_0C = randomint(var_02.size); + var_0D = randomint(var_03.size); + var_0E = randomint(var_05.size); + var_0F = randomint(var_07.size); + var_10 = randomint(var_09.size); + self.precloneswapfunc = ::mutator_precloneswap; + self detachall(); + self setmodel(var_00[var_0B]); + self.swapbody = var_01[var_0B]; + self attach(var_02[var_0C]); + self.headmodel = var_02[var_0C]; + self attach(var_03[var_0D]); + self attach(var_05[var_0E]); + self attach(var_07[var_0F]); + self attach(var_09[var_10]); + self.limbmodels["right_leg"] = var_03[var_0D]; + self.limbmodels["left_leg"] = var_05[var_0E]; + self.limbmodels["right_arm"] = var_07[var_0F]; + self.limbmodels["left_arm"] = var_09[var_10]; + self.swaplimbmodels["right_leg"] = var_04[var_0D]; + self.swaplimbmodels["left_leg"] = var_06[var_0E]; + self.swaplimbmodels["right_arm"] = var_08[var_0F]; + self.swaplimbmodels["left_arm"] = var_0A[var_10]; + } + + var_11 = maps\mp\gametypes\zombies::geteyeeffectforzombie("emp",self.headmodel); + maps\mp\zombies\_util::zombie_set_eyes(var_11); + torso_effects_apply("mut_emz"); + if(isdefined(self.goliathweapon)) + { + maps\mp\zombies\_util::playfxontagnetwork(level._effect["mut_emz_arm_r"],self.goliathweapon,"tag_fx"); + maps\mp\zombies\_util::playfxontagnetwork(level._effect["mut_emz_arm_l"],self.goliathweapon,"tag_fx"); + } + + self setsurfacetype("bark"); + self playloopsound("zmb_emz_crackle_loop"); + thread mutatoremz_watchforattackhits(); + thread mutatoremz_watchforproximityboosters(); + self waittill("death"); +} + +//Function Number: 29 +mutatoremz_dog() +{ + thread mutatorspawnsound("emz"); + self setmodel("zom_dog_emz"); + maps\mp\zombies\_util::zombie_set_eyes("zombie_dog_eye_emp"); + if(isdefined(level._effect["mut_emz_head"])) + { + maps\mp\zombies\_util::playfxontagnetwork(level._effect["mut_emz_head"],self,"j_head"); + } + + if(isdefined(level._effect["mut_emz_arm_r"])) + { + maps\mp\zombies\_util::playfxontagnetwork(level._effect["mut_emz_arm_r"],self,"r_frontLeg1_jnt"); + } + + if(isdefined(level._effect["mut_emz_arm_l"])) + { + maps\mp\zombies\_util::playfxontagnetwork(level._effect["mut_emz_arm_l"],self,"l_frontLeg1_jnt"); + } + + if(isdefined(level._effect["mut_emz_back"])) + { + maps\mp\zombies\_util::playfxontagnetwork(level._effect["mut_emz_back"],self,"spine4_jnt"); + } + + self setsurfacetype("bark"); + self playloopsound("zmb_emz_crackle_loop"); + thread mutatoremz_watchforattackhits(); + thread mutatoremz_watchforproximityboosters(); + self waittill("death"); +} + +//Function Number: 30 +hasexplodermutator() +{ + if(maps\mp\zombies\_util::checkactivemutator("exploder")) + { + return 1; + } + + if(maps\mp\zombies\_util::getzombieslevelnum() == 4 && maps\mp\zombies\_util::checkactivemutator("combo_exploder_teleport")) + { + return 1; + } + + return 0; +} + +//Function Number: 31 +onexploderzombiekilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + if(!hasexplodermutator()) + { + return; + } + + if(self.hasexploded) + { + return; + } + + self.hasexploded = 1; + var_09 = self; + if(isdefined(param_01)) + { + var_09 = param_01; + } + + var_0A = self.origin; + if(!isdefined(level.nextexplodertime) || gettime() >= level.nextexplodertime) + { + level.nextexplodertime = gettime() + 100; + } + else + { + var_0B = level.nextexplodertime - gettime() * 0.001; + level.nextexplodertime = level.nextexplodertime + 100; + wait(var_0B); + } + + mutatorexploder_explode(var_09,var_0A,0); +} + +//Function Number: 32 +mutatorexploder_explode(param_00,param_01,param_02) +{ + self.hasexploded = 1; + if(param_02) + { + var_03 = level._effect["mut_exp_explosion_lg"]; + if(isdefined(self.detonatelargefxoverride)) + { + var_03 = self.detonatelargefxoverride; + } + + playfx(var_03,param_01); + self notify("stopWarningSound"); + playsoundatpos(param_01,"zmb_exploder_explode"); + radiusdamage(param_01 + (0,0,60),180,45,15,param_00,"MOD_EXPLOSIVE","exploder_zm_large_mp",1); + } + else + { + var_03 = level._effect["mut_exp_explosion_sm"]; + if(isdefined(self.detonatesmallfxoverride)) + { + var_03 = self.detonatesmallfxoverride; + } + + playfx(var_03,param_01); + self notify("stopWarningSound"); + playsoundatpos(param_01,"zmb_exploder_explode_small"); + radiusdamage(param_01 + (0,0,60),120,1,1,param_00,"MOD_EXPLOSIVE","exploder_zm_small_mp",1); + } + + if(isalive(self)) + { + trymutilate(undefined,"exploder_zm_large_mp","MOD_EXPLOSIVE",1,self,undefined); + self suicide(); + } +} + +//Function Number: 33 +mutatorexploder_warningsound(param_00) +{ + var_01 = spawn("script_model",param_00); + var_01 setmodel("tag_origin"); + wait 0.05; + if(isdefined(self)) + { + var_01 playsoundonmovingent("zmb_exploder_warning"); + common_scripts\utility::waittill_either("death","stopWarningSound"); + } + + var_01 stopsounds(); + wait(1); + var_01 delete(); +} + +//Function Number: 34 +mutatorexploder_proximitybomb() +{ + self endon("death"); + maps\mp\zombies\_util::waittill_enter_game(); + var_00 = 14400; + for(;;) + { + wait(0.1); + if(isdefined(self.distractiondrone)) + { + continue; + } + + var_01 = 0; + if(self.aistate != "traverse" && !maps\mp\agents\_scripted_agent_anim_util::isstatelocked()) + { + foreach(var_03 in level.players) + { + if(!maps\mp\zombies\_util::isonhumanteam(var_03) || !maps\mp\_utility::isreallyalive(var_03) || maps\mp\zombies\_util::isplayerinlaststand(var_03)) + { + continue; + } + + if(var_03.ignoreme || maps\mp\zombies\_util::shouldignoreent(var_03)) + { + continue; + } + + if(var_03 isnotarget()) + { + continue; + } + + if(distancesquared(var_03.origin,self.origin) > var_00) + { + continue; + } + + var_01 = 1; + break; + } + } + + if(var_01) + { + self.ignoreall = 1; + self.curmeleetarget = undefined; + self scragentsetgoalpos(self.origin); + self scragentsetscripted(1); + maps\mp\agents\_scripted_agent_anim_util::set_anim_state("exploder_explode"); + var_05 = "j_spineupper"; + if(self.agent_type == "zombie_dog") + { + var_05 = "spine4_jnt"; + } + + var_06 = level._effect["mut_exp_charge"]; + if(isdefined(self.detonatechargefxoverride)) + { + var_06 = self.detonatechargefxoverride; + } + + maps\mp\zombies\_util::playfxontagnetwork(var_06,self,var_05,1); + thread mutatorexploder_warningsound(self.origin); + wait(randomfloatrange(1.75,1.9)); + mutatorexploder_explode(self,self.origin,1); + return; + } + } +} + +//Function Number: 35 +mutatorexploder() +{ + if(self.agent_type == "zombie_dog") + { + thread mutatorexploder_dog(); + self waittill("death"); + return; + } + + thread mutatorspawnsound("exploder"); + maps\mp\agents\humanoid\_humanoid_util::enable_humanoid_exo_abilities(); + self.boostfxtag = "tag_jetpack"; + var_00 = ["zom_marine_m_fire_exo_torso_slice","zom_marine_m_fire_exo_torso_slice_ab"]; + var_01 = ["zom_marine_m_fire_nofx_exo_torso_slice","zom_marine_m_fire_nofx_exo_torso_slice_ab"]; + var_02 = ["zombies_head_mutator_fire","zombies_head_mutator_fire_cau_a","zombies_head_mutator_fire_cau_b","zombies_head_mutator_fire_cau_c"]; + var_03 = ["zom_marine_m_fire_exo_r_leg_slice","zom_marine_m_fire_exo_r_leg_slice_ab"]; + var_04 = ["zom_marine_m_fire_exo_l_leg_slice","zom_marine_m_fire_exo_l_leg_slice_ab"]; + var_05 = ["zom_marine_m_fire_exo_r_arm_slice"]; + var_06 = ["zom_marine_m_fire_exo_l_arm_slice"]; + var_07 = randomint(var_00.size); + var_08 = randomint(var_02.size); + var_09 = randomint(var_03.size); + var_0A = randomint(var_04.size); + var_0B = randomint(var_05.size); + var_0C = randomint(var_06.size); + self.precloneswapfunc = ::mutator_precloneswap; + self detachall(); + self setmodel(var_00[var_07]); + self.swapbody = var_01[var_07]; + self attach(var_02[var_08]); + self.headmodel = var_02[var_08]; + self attach(var_03[var_09]); + self attach(var_04[var_0A]); + self attach(var_05[var_0B]); + self attach(var_06[var_0C]); + self.limbmodels["right_leg"] = var_03[var_09]; + self.limbmodels["left_leg"] = var_04[var_0A]; + self.limbmodels["right_arm"] = var_05[var_0B]; + self.limbmodels["left_arm"] = var_06[var_0C]; + var_0D = maps\mp\gametypes\zombies::geteyeeffectforzombie("exploder",self.headmodel); + maps\mp\zombies\_util::zombie_set_eyes(var_0D); + torso_effects_apply("mut_exp"); + self setsurfacetype("fruit"); + thread exploder_ambient_sound(); + self.hasexploded = 0; + thread mutatorexploder_proximitybomb(); + self waittill("death"); +} + +//Function Number: 36 +mutatorexploder_dog() +{ + thread mutatorspawnsound("exploder"); + maps\mp\zombies\_util::zombie_set_eyes("zombie_dog_eye_exploder"); + if(isdefined(level._effect["mut_exp_head"])) + { + maps\mp\zombies\_util::playfxontagnetwork(level._effect["mut_exp_head"],self,"j_head"); + } + + if(isdefined(level._effect["mut_exp_arm_r"])) + { + maps\mp\zombies\_util::playfxontagnetwork(level._effect["mut_exp_arm_r"],self,"r_frontLeg1_jnt"); + } + + if(isdefined(level._effect["mut_exp_arm_l"])) + { + maps\mp\zombies\_util::playfxontagnetwork(level._effect["mut_exp_arm_l"],self,"l_frontLeg1_jnt"); + } + + if(isdefined(level._effect["mut_exp_back"])) + { + maps\mp\zombies\_util::playfxontagnetwork(level._effect["mut_exp_back"],self,"spine4_jnt"); + } + + self setsurfacetype("fruit"); + thread exploder_ambient_sound(); + self.hasexploded = 0; + self.bypasscorpse = 1; + thread mutatorexploder_proximitybomb(); + self waittill("death"); +} + +//Function Number: 37 +exploder_ambient_sound() +{ + self playloopsound("zmb_exploder_ambient_loop"); + self waittill("death"); + self stoploopsound("zmb_exploder_ambient_loop"); +} + +//Function Number: 38 +runner_ambient_sound() +{ + var_00 = spawn("script_origin",self.origin); + var_00 linkto(self); + var_00 playloopsound("zmb_runner_ambient_loop"); + var_01 = 0; + while(isalive(self)) + { + var_02 = self getvelocity(); + var_03 = distance((var_02[0],var_02[1],0),(0,0,0)); + if(var_01 == 0 && var_03 < 5) + { + var_00 scalevolume(0,0.5); + self scalevolume(1,0.5); + var_01 = 1; + continue; + } + + if(var_01 && var_03 >= 5) + { + var_00 scalevolume(1,0.5); + self scalevolume(0,0.5); + var_01 = 0; + } + + wait(1); + } + + var_00 stoploopsound("zmb_runner_ambient_loop"); + wait 0.05; + var_00 delete(); +} + +//Function Number: 39 +mutatorcrawl() +{ + mutilate(12,0); +} + +//Function Number: 40 +startcrawl() +{ + self.dismember_crawl = 1; + maps\mp\agents\humanoid\_humanoid_util::dodgedisable(); + if(isdefined(self.lungemeleeenabled)) + { + maps\mp\agents\humanoid\_humanoid_util::lungemeleeupdate(10,240,120,"attack_lunge_boost",level._effect["boost_lunge"],1,255); + } + + maps\mp\agents\humanoid\_humanoid_util::leapdisable(); + self scragentallowboost(0); + self scragentsetorienttoground(1); + self scragentsetviewheight(15); + level.crawlingzombies++; + self waittill("death"); + level.crawlingzombies--; +} + +//Function Number: 41 +getdismembermentmodifier(param_00,param_01,param_02) +{ + if(maps\mp\zombies\_util::isinstakill()) + { + return 0; + } + + var_03 = undefined; + if(isdefined(param_01)) + { + param_01 = getweaponbasename(param_01); + var_03 = param_01; + } + else if(isdefined(param_02)) + { + var_03 = param_02; + } + + if(!isdefined(var_03)) + { + return 1; + } + + var_04 = level.dismembermentmodifiers[var_03]; + if(isdefined(param_00) && isplayer(param_00) && isdefined(param_01) && isdefined(var_04) && !maps\mp\_utility::iskillstreakweapon(param_01)) + { + var_04 = checkweaponupgrademodifier(param_00,param_01,var_04); + return var_04; + } + + if(isdefined(var_04)) + { + return var_04; + } + + return 1; +} + +//Function Number: 42 +checkweaponupgrademodifier(param_00,param_01,param_02) +{ + var_03 = level.dismembermentupgrademodifiers[param_01]; + if(!isdefined(var_03)) + { + return param_02; + } + + var_04 = maps\mp\zombies\_util::getzombieweaponlevel(param_00,param_01); + if(var_04 <= 1) + { + return param_02; + } + + var_05 = param_02 - var_03; + var_06 = param_02 - var_04 / 3 * var_05; + return clamp(var_06,var_03,param_02); +} + +//Function Number: 43 +getmutilationmask(param_00,param_01,param_02,param_03,param_04,param_05) +{ + if(param_03 >= 1) + { + if(hasexplodermutator()) + { + return 31; + } + + if(isdefined(param_02) && param_02 == "MOD_MELEE") + { + if(isdefined(param_04) && param_04 maps\mp\zombies\_terminals::hasexosuit()) + { + return 16; + } + } + + if(param_01 == "iw5_dlcgun4zm_mp") + { + return 31; + } + + if(param_01 == "iw5_tridentzm_mp" && issubstr(param_00,"torso")) + { + return common_scripts\utility::random([17,18,3,19,16]); + } + } + + var_06 = maps\mp\zombies\_util::is_true(level.dismembermentignorelocation[param_01]) || maps\mp\zombies\_util::is_true(level.dismembermentignorelocation[param_02]) || maps\mp\zombies\_util::isinstakill(); + if(var_06) + { + var_07 = 31; + } + else + { + var_07 = locationtobodypart(param_01); + } + + var_08 = 1; + if(var_07 == 0) + { + return 0; + } + + var_08 = var_08 * getdismembermentmodifier(param_04,param_01,undefined) * getdismembermentmodifier(param_04,undefined,param_02); + var_08 = var_08 * -0.7 * param_03 + 1; + return getmutilationmaskinternal(var_07,param_05,param_03,var_08); +} + +//Function Number: 44 +getmutilationmaskinternal(param_00,param_01,param_02,param_03) +{ + var_04 = 0; + if(param_00 & param_00 - 1 > 0) + { + if(param_02 < 1) + { + var_05 = randomint(24); + var_06 = 228; + for(var_07 = 4;var_07 > 0;var_07--) + { + var_08 = 1 << var_05 % var_07 * 2; + var_05 = int(var_05 / var_07); + var_09 = var_06 % var_08; + var_0A = int(var_06 / var_08); + var_06 = var_09 + var_0A >> 2 * var_08; + var_0B = 1 << var_0A & 3; + if(param_00 & var_0B != 0 && isdefined(bodypartmasktoanimclass(param_01 | var_04 | var_0B))) + { + if(randomfloat(1) >= chancetokeepbodypart(var_0B) * param_03) + { + var_04 = var_04 | var_0B; + } + } + } + } + else + { + while(param_00 > 0) + { + var_0B = param_00 & 0 - param_00; + if(randomfloat(1) >= chancetokeepbodypart(var_0B) * param_03) + { + var_04 = var_04 | var_0B; + } + + param_00 = param_00 - var_0B; + } + } + } + else if(param_02 >= 1 || isdefined(bodypartmasktoanimclass(param_01 | param_00))) + { + if(randomfloat(1) >= chancetokeepbodypart(param_00) * param_03) + { + var_04 = param_00; + } + } + + return var_04; +} + +//Function Number: 45 +trymutilate(param_00,param_01,param_02,param_03,param_04,param_05) +{ + var_06 = 0; + if(isalive(self) && !maps\mp\agents\_scripted_agent_anim_util::isstatelocked() || param_03 >= 1 && self.aistate != "traverse" && maps\mp\zombies\_util::has_entered_game()) + { + var_07 = getmutilationmask(param_00,param_01,param_02,param_03,param_04,self.missingbodyparts); + if(var_07 != 0) + { + var_08 = !maps\mp\zombies\_util::is_true(self.dismember_crawl); + var_09 = isdefined(self.missingbodyparts) && self.missingbodyparts == 0; + if(level.crawlingzombies < 3 || self.dismember_crawl || var_07 & 12 == 0 || var_07 & 16 != 0 || self.missingbodyparts & 3 != 0) + { + if(mutilate(self.missingbodyparts | var_07,maps\mp\zombies\_util::is_true(level.highdamageweapons[param_01]),param_03,param_05)) + { + if(maps\mp\zombies\_util::isinstakill()) + { + earthquake(randomfloatrange(0.15,0.35),1,self.origin,200); + } + + var_06 = 1; + } + else if(!isdefined(self.limbmodels) && var_07 != 0 && hasexplodermutator() || maps\mp\zombies\_util::isinstakill() && maps\mp\zombies\_util::checkactivemutator("emz") || maps\mp\zombies\_util::checkactivemutator("fast")) + { + earthquake(randomfloatrange(0.15,0.35),1,self.origin,200); + var_06 = 1; + } + + if(isalive(self) && isplayer(param_04)) + { + if(var_08 && maps\mp\zombies\_util::is_true(self.dismember_crawl)) + { + param_04 thread maps\mp\zombies\_zombies_audio::player_hurt_zombie_vox("crawl_spawn"); + } + else if(var_09 && isdefined(self.missingbodyparts) && self.missingbodyparts != 0) + { + param_04 thread maps\mp\zombies\_zombies_audio::player_hurt_zombie_vox("shoot_arm"); + } + } + } + } + } + + return var_06; +} + +//Function Number: 46 +isfullbodymutilation() +{ + if(!isdefined(self.recentlylostlimbs)) + { + return 0; + } + + return maps\mp\zombies\_util::countlimbs(self.recentlylostlimbs) >= 3; +} + +//Function Number: 47 +mutilate(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = 0; + if(isdefined(self.limbmodels) && param_00 != self.missingbodyparts) + { + var_06 = ~self.missingbodyparts & param_00; + self.missingbodyparts = param_00; + var_07 = self.spawntime < gettime(); + if(maps\mp\zombies\_util::countlimbs(var_06) >= 3) + { + if(var_07) + { + self.recentlylostlimbs = var_06; + } + + var_07 = 0; + } + + if(var_06 & 1 != 0) + { + detachlimb(1,self.limbmodels["right_arm"],param_03,var_07,param_04); + } + + if(var_06 & 2 != 0) + { + detachlimb(2,self.limbmodels["left_arm"],param_03,var_07,param_04); + } + + if(var_06 & 4 != 0) + { + detachlimb(4,self.limbmodels["right_leg"],param_03,var_07,param_04); + } + + if(var_06 & 8 != 0) + { + detachlimb(8,self.limbmodels["left_leg"],param_03,var_07,param_04); + } + + if(var_06 & 16 != 0) + { + detachlimb(16,self.headmodel,param_03,var_07,param_04); + if(isdefined(self.linked_fx) && isdefined(self.linked_fx["tag_eye"])) + { + setfxkillondelete(self.linked_fx["tag_eye"],1); + thread delayeddeleteeyesfx(); + } + } + + var_08 = bodypartmasktoanimclass(param_00); + if(isdefined(var_08)) + { + if(!self.dismember_crawl && param_00 & 12 != 0) + { + thread startcrawl(); + } + + if(var_07) + { + var_09 = var_08; + switch(self.movemode) + { + case "walk": + var_09 = var_09 + "_walk"; + break; + + case "sprint": + case "run": + var_09 = var_09 + "_run"; + break; + } + + if(param_01) + { + var_09 = var_09 + "_highdamage"; + } + + if(param_02 < 1) + { + thread maps\mp\agents\humanoid\_humanoid_util::changeanimclass(var_08,var_09); + } + else + { + var_05 = 1; + } + } + else + { + self setanimclass(var_08); + if(self.aistate == "idle") + { + maps\mp\agents\_scripted_agent_anim_util::set_anim_state("idle_noncombat"); + } + } + } + else + { + var_05 = 1; + } + + if(var_05 && var_07) + { + self.recentlylostlimbs = var_06; + } + } + + return var_05; +} + +//Function Number: 48 +delayeddeleteeyesfx() +{ + self endon("death"); + wait 0.05; + if(isdefined(self.linked_fx["tag_eye"])) + { + self.linked_fx["tag_eye"] delete(); + self.linked_fx["tag_eye"] = undefined; + } +} + +//Function Number: 49 +bodypartmasktoanimclass(param_00) +{ + switch(param_00) + { + case 1: + return "zombie_missing_right_arm_animclass"; + + case 2: + return "zombie_missing_left_arm_animclass"; + + case 4: + return "zombie_missing_right_leg_animclass"; + + case 8: + return "zombie_missing_left_leg_animclass"; + + case 12: + return "zombie_crawl_animclass"; + + case 0: + return "zombie_animclass"; + + default: + return undefined; + } +} + +//Function Number: 50 +locationtobodypart(param_00) +{ + switch(param_00) + { + case "right_hand": + case "right_arm_lower": + case "right_arm_upper": + return 1; + + case "left_hand": + case "left_arm_lower": + case "left_arm_upper": + return 2; + + case "right_foot": + case "right_leg_lower": + case "right_leg_upper": + return 4; + + case "left_foot": + case "left_leg_lower": + case "left_leg_upper": + return 8; + + case "neck": + case "helmet": + case "head": + return 16; + + default: + return 0; + } +} + +//Function Number: 51 +chancetokeepbodypart(param_00) +{ + if(isdefined(self.hasarmor) && param_00 != 16) + { + return 1; + } + + switch(param_00) + { + case 1: + return 0.45; + + case 2: + return 0.45; + + case 4: + return 0.5; + + case 8: + return 0.5; + + case 16: + if(isdefined(self.hashelmet)) + { + return 1; + } + return 0.65; + + default: + return 1; + } +} + +//Function Number: 52 +getlimbproperty(param_00,param_01,param_02) +{ + if(isdefined(level.dismemberment[param_01])) + { + var_03 = level.dismemberment[param_01][param_02]; + if(isdefined(var_03)) + { + return var_03; + } + } + + var_03 = level.dismemberment[param_00][param_02]; + return var_03; +} + +//Function Number: 53 +getlimborigin(param_00,param_01) +{ + var_02 = 40; + switch(param_00) + { + case 2: + case 1: + return self.origin + (0,0,var_02); + + case 8: + case 4: + var_03 = self gettagorigin(param_01); + return (self.origin[0],self.origin[1],var_03[2]); + + case 16: + return self gettagorigin(var_02); + } +} + +//Function Number: 54 +detachlimb(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = undefined; + var_06 = undefined; + if(!isdefined(param_04)) + { + param_04 = 1; + } + + if(param_03) + { + var_07 = getlimbproperty(param_00,param_01,"tagName"); + var_05 = getlimborigin(param_00,var_07); + var_06 = self gettagangles(var_07); + } + + self notify("detachLimb",param_00); + self detach(param_01,"",1); + var_08 = getlimbproperty(param_00,param_01,"nub"); + if(isdefined(var_08)) + { + self attach(var_08,"",1); + } + + if(param_03) + { + var_09 = undefined; + if(!level.currentgen && param_04) + { + var_09 = spawn("script_model",var_05); + var_0A = getlimbproperty(param_00,param_01,"modelToSpawn"); + if(!isdefined(var_0A)) + { + var_0A = param_01; + } + + var_09 setmodel(var_0A); + var_09.angles = var_06; + var_0B = (0,0,randomfloatrange(1000,2000)); + if(!isdefined(param_02)) + { + param_02 = (0,0,0); + } + + var_0C = param_02 * randomfloatrange(500,1000); + var_0D = (randomfloatrange(-2000,2000),randomfloatrange(-2000,2000),randomfloatrange(-2000,2000)); + var_0E = anglestoright(self.angles); + switch(param_00) + { + case 1: + var_0C = var_0C + var_0E * 750; + break; + + case 4: + var_0C = var_0C + var_0E * 500; + break; + + case 2: + var_0C = var_0C - var_0E * 750; + break; + + case 8: + var_0C = var_0C - var_0E * 500; + break; + } + + var_0F = var_0B + var_0C; + var_10 = length(var_0F); + var_11 = var_0F / var_10; + var_10 = min(var_10,1750); + var_09 physicslaunchclientwithimpulse(var_11 * var_10,var_0D); + var_09 deleteonhostmigration(); + if(level.nextdismemberedbodypartindex < level.dismemberedbodyparts.size) + { + level.dismemberedbodyparts[level.nextdismemberedbodypartindex] delete(); + } + + level.dismemberedbodyparts[level.nextdismemberedbodypartindex] = var_09; + level.nextdismemberedbodypartindex = level.nextdismemberedbodypartindex + 1 % 20; + } + + var_12 = getlimbproperty(param_00,param_01,"fxTagName"); + var_13 = getlimbproperty(param_00,param_01,"torsoFX"); + var_14 = getlimbproperty(param_00,param_01,"limbFX"); + if(maps\mp\zombies\_util::checkactivemutator("emz")) + { + var_13 = var_13 + "_emz"; + var_14 = var_14 + "_emz"; + } + else if(hasexplodermutator()) + { + var_13 = var_13 + "_exp"; + var_14 = var_14 + "_exp"; + } + else if(maps\mp\zombies\_util::checkactivemutator("fast")) + { + var_13 = var_13 + "_ovr"; + var_14 = var_14 + "_ovr"; + } + + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx(var_13),self,var_12,1); + if(!level.currentgen) + { + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx(var_14),var_09,var_12,1); + } + + var_15 = maps\mp\zombies\_util::getdismembersoundname(); + var_16 = getlimbproperty(param_00,param_01,var_15); + thread play_dismember_sound(var_16); + } +} + +//Function Number: 55 +play_dismember_sound(param_00) +{ + wait 0.05; + if(self.health > 0) + { + self playsoundonmovingent(param_00); + return; + } + + self playsound(param_00); +} + +//Function Number: 56 +mutatorspawnsound(param_00) +{ + self notify("mutatorSpawnSound"); + self endon("mutatorSpawnSound"); + if(maps\mp\zombies\_util::is_true(self.nomutatorspawnsound)) + { + return; + } + + if(isdefined(level.mutators[param_00][2])) + { + wait(randomfloatrange(0.2,0.8)); + var_01 = level.mutators[param_00][2]; + self playsoundonmovingent(var_01); + } +} + +//Function Number: 57 +ondamagefinishedmutators(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ + foreach(var_0B in level.mutators) + { + if(isdefined(var_0B[4])) + { + self [[ var_0B[4] ]](param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09); + } + } +} + +//Function Number: 58 +onkilledmutators(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + foreach(var_0A in level.mutators) + { + if(isdefined(var_0A[3])) + { + self [[ var_0A[3] ]](param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08); + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/_mutators_acid.gsc b/AW/PC/maps/mp/zombies/_mutators_acid.gsc new file mode 100644 index 0000000..3251421 --- /dev/null +++ b/AW/PC/maps/mp/zombies/_mutators_acid.gsc @@ -0,0 +1,216 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_mutators_acid.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 10 + * Decompile Time: 158 ms + * Timestamp: 4/22/2024 2:13:45 AM +*******************************************************************/ + +//Function Number: 1 +initacidmutator() +{ + level.activeacidzombies = 0; + if(level.nextgen) + { + level.maxacidzombies = 4; + } + else + { + level.maxacidzombies = 2; + } + + level._effect["mut_acid_pool"] = loadfx("vfx/blood/dlc_mutator_acid_pool_yllw_sm"); + level._effect["mut_acid_head"] = loadfx("vfx/blood/dlc_mutator_ooze_drip_yllw"); + level._effect["mut_acid_arm_l"] = loadfx("vfx/blood/dlc_mutator_ooze_drip_yllw"); + level._effect["mut_acid_arm_r"] = loadfx("vfx/blood/dlc_mutator_ooze_drip_yllw"); + level._effect["mut_acid_back"] = loadfx("vfx/blood/dlc_mutator_ooze_drip_yllw"); + level._effect["mut_acid_eye"] = loadfx("vfx/gameplay/mp/zombie/zombie_eye_acid"); + maps\mp\zombies\_mutators::addmutatortotable("acid",::mutatoracid,"zmb_mut_acid_spawn"); + maps\mp\zombies\_mutators::disablemutatorfortypes("acid",["zombie_dog","zombie_melee_goliath","zombie_ranged_goliath"]); + precacheshader("screen_blood_directional_center_yellow"); + precacheshader("screen_blood_directional_right_yellow"); + precacheshader("screen_blood_directional_left_yellow"); + level.acidscreenoverlayshaders = ["center","right","left"]; +} + +//Function Number: 2 +mutatoracid() +{ + level.activeacidzombies++; + maps\mp\agents\humanoid\_humanoid_util::enable_humanoid_exo_abilities(); + self.boostfxtag = "tag_jetpack"; + thread maps\mp\zombies\_mutators::mutatorspawnsound("acid"); + self.acidpools = 0; + maps\mp\zombies\_util::zombie_set_eyes("mut_acid_eye"); + maps\mp\zombies\_mutators::torso_effects_apply("mut_acid"); + self playloopsound("zmb_mut_acid_drip_loop"); + thread mutatoraciddotzonespawner(); + self waittill("death"); + level.activeacidzombies--; +} + +//Function Number: 3 +mutatoraciddotzonespawner() +{ + self endon("death"); + for(;;) + { + wait(randomfloatrange(1.5,2)); + if(self.aistate == "traverse" || !isdefined(self.ismoving) || isdefined(self.inwater) && self.acidpools < 10) + { + continue; + } + + var_00 = bullettrace(self.origin,self.origin - (0,0,32),0,self); + if(!isdefined(var_00["normal"])) + { + continue; + } + + if(common_scripts\utility::cointoss()) + { + continue; + } + + self.acidpools++; + var_01 = spawn("script_model",var_00["position"] + (0,0,8)); + var_01 setmodel("tag_origin"); + var_01.angles = vectortoangles(var_00["normal"]); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("mut_acid_pool"),var_01,"tag_origin"); + if(level.nextgen) + { + var_02 = spawn("trigger_radius",var_00["position"],0,48,16); + thread mutatoracidtriggerthink(var_02); + thread mutatoracidzonecleanup(var_02,var_01); + level notify("acid_zone_created",var_02); + continue; + } + + thread mutatoracidtriggerthink_cg(var_00["position"]); + thread mutatoracidzonecleanup_cg(var_01); + level notify("acid_zone_created",var_00["position"]); + } +} + +//Function Number: 4 +mutatoracidtriggerthink(param_00) +{ + param_00 endon("death"); + for(;;) + { + param_00 waittill("trigger",var_01); + if(isplayer(var_01) && !maps\mp\zombies\_util::isplayerinlaststand(var_01)) + { + var_01 thread mutatoracidplayereffects(); + var_01 dodamage(clamp(20 * level.wavecounter / 6,20,60),var_01.origin); + var_01 playlocalsound("zmb_mut_acid_damage"); + wait(1); + } + } +} + +//Function Number: 5 +mutatoracidtriggerthink_cg(param_00) +{ + var_01 = 0; + for(;;) + { + if(var_01 >= 15) + { + return; + } + + foreach(var_03 in level.players) + { + if(!maps\mp\zombies\_util::isplayerinlaststand(var_03) && distance(var_03.origin,param_00) < 48) + { + var_03 thread mutatoracidplayereffects(); + var_03 dodamage(clamp(20 * level.wavecounter / 6,20,60),var_03.origin); + var_03 playlocalsound("zmb_mut_acid_damage"); + var_01 = var_01 + 0.8; + wait(0.8); + break; + } + } + + var_01 = var_01 + 0.2; + wait(0.2); + } +} + +//Function Number: 6 +mutatoracidplayereffects() +{ + self endon("death"); + self notify("remove_acid_debuff"); + self endon("remove_acid_debuff"); + self allowsprint(0); + foreach(var_01 in level.acidscreenoverlayshaders) + { + thread mutatoracidoverlay(var_01); + } + + wait(1.25); + if(!maps\mp\zombies\_util::isplayerinlaststand(self)) + { + self allowsprint(1); + } + + self notify("remove_acid_overlay"); +} + +//Function Number: 7 +mutatoracidzonecleanup(param_00,param_01) +{ + wait(15); + if(isdefined(self) && isalive(self) && isdefined(self.acidpools)) + { + self.acidpools--; + } + + param_00 delete(); + param_01 delete(); +} + +//Function Number: 8 +mutatoracidzonecleanup_cg(param_00) +{ + wait(15); + if(isdefined(self) && isalive(self) && isdefined(self.acidpools)) + { + self.acidpools--; + } + + param_00 delete(); +} + +//Function Number: 9 +mutatoracidoverlay(param_00) +{ + var_01 = newclienthudelem(self); + var_01.x = 0; + var_01.y = 0; + var_01.alignx = "left"; + var_01.aligny = "top"; + var_01.horzalign = "fullscreen"; + var_01.vertalign = "fullscreen"; + var_01 setshader("screen_blood_directional_" + param_00 + "_yellow",640,480); + var_01.sort = -10; + var_01.archived = 1; + var_01.hidein3rdperson = 1; + var_01.alpha = 0; + _fadehudalpha(var_01,1,1); + self waittill("remove_acid_overlay"); + _fadehudalpha(var_01,0,1); + wait(1); + var_01 destroy(); +} + +//Function Number: 10 +_fadehudalpha(param_00,param_01,param_02) +{ + param_00 fadeovertime(param_02); + param_00.alpha = param_01; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/_mutators_armor.gsc b/AW/PC/maps/mp/zombies/_mutators_armor.gsc new file mode 100644 index 0000000..c559270 --- /dev/null +++ b/AW/PC/maps/mp/zombies/_mutators_armor.gsc @@ -0,0 +1,96 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_mutators_armor.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 5 + * Decompile Time: 83 ms + * Timestamp: 4/22/2024 2:13:45 AM +*******************************************************************/ + +//Function Number: 1 +initarmormutator() +{ + level.valideyetypes[level.valideyetypes.size] = "armored"; + level._effect["mut_helmet_impact"] = loadfx("vfx/explosion/impact_sparks_01"); + maps\mp\gametypes\zombies::loadeyeeffectsfortype("armored",1); + maps\mp\zombies\_mutators::addmutatortotable("armor",::mutatorarmor,"zmb_mut_armor_spawn",undefined,::onhelmetzombiedamaged); + maps\mp\zombies\_mutators::disablemutatorfortypes("armor",["zombie_dog","zombie_melee_goliath","zombie_ranged_goliath"]); +} + +//Function Number: 2 +mutatorarmor() +{ + thread maps\mp\zombies\_mutators::mutatorspawnsound("armor"); + maps\mp\agents\humanoid\_humanoid_util::enable_humanoid_exo_abilities(); + self.boostfxtag = "no_boost_fx"; + var_00 = "J_helmet"; + self.hasarmor = 1; + self.hashelmet = 1; + self detachall(); + self.limbmodels = undefined; + self.helmet_health = 50; + self setmodel("zom_mut_armor_body"); + var_01 = ["zombies_head_mutator_fire","zombies_head_mutator_fire_cau_a","zombies_head_mutator_fire_cau_b","zombies_head_mutator_fire_cau_c"]; + var_02 = randomint(var_01.size); + self attach(var_01[var_02]); + self.headmodel = var_01[var_02]; + var_03 = maps\mp\gametypes\zombies::geteyeeffectforzombie("armored",self.headmodel); + maps\mp\zombies\_util::zombie_set_eyes(var_03); + if(!isdefined(self.moverateroundmod)) + { + self.moverateroundmod = 0; + } + + self.moverateroundmod = self.moverateroundmod + 0.85; + var_04 = self gettagorigin(var_00); + var_05 = self gettagangles(var_00); + var_06 = spawn("script_model",var_04); + var_06.angles = var_05; + var_06 setmodel("zombie_helmet"); + var_06 linkto(self,var_00,(-0.2,-0.45,-4.7),(0,90,0)); + thread mutatorhelmetdetach(var_06); + self waittill("death"); + self.hashelmet = undefined; + thread mutatorhelmetcleanup(var_06); +} + +//Function Number: 3 +onhelmetzombiedamaged(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ + if(isdefined(self.hashelmet) && isplayer(param_01) && maps\mp\_utility::isheadshot(param_05,param_08,param_04)) + { + self.helmet_health = self.helmet_health - param_02; + if(self.helmet_health <= 0) + { + self notify("helmet_lost"); + } + } +} + +//Function Number: 4 +mutatorhelmetdetach(param_00) +{ + self endon("death"); + self waittill("helmet_lost"); + self.hashelmet = undefined; + earthquake(0.25,0.4,self.origin,128); + self.moverateroundmod = self.moverateroundmod + 5; + playfx(common_scripts\utility::getfx("mut_helmet_impact"),param_00.origin); + param_00 playsound("zmb_mut_armor_helmet_ping"); + param_00 unlink(); + param_00 setmodel("zombie_helmet_collision"); + param_00 physicslaunchclient(param_00.origin,(randomintrange(-5,5),randomintrange(-5,5),randomintrange(-5,5))); + physicsexplosionsphere(param_00.origin - (0,0,2),16,1,5); + thread mutatorhelmetcleanup(param_00); +} + +//Function Number: 5 +mutatorhelmetcleanup(param_00) +{ + wait(5); + if(isdefined(param_00)) + { + param_00 delete(); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/_mutators_combo.gsc b/AW/PC/maps/mp/zombies/_mutators_combo.gsc new file mode 100644 index 0000000..ef80434 --- /dev/null +++ b/AW/PC/maps/mp/zombies/_mutators_combo.gsc @@ -0,0 +1,466 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_mutators_combo.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 24 + * Decompile Time: 638 ms + * Timestamp: 4/22/2024 2:13:48 AM +*******************************************************************/ + +//Function Number: 1 +initcombomutators() +{ + initcombomutatorfx(); + maps\mp\zombies\_mutators::addmutatortotable("combo_spike_teleport",::mutatorcombospiketeleport,"zmb_mut_spiked_spawn",undefined,::mutatorcombospiketeleportondamaged); + maps\mp\zombies\_mutators::addmutatortotable("combo_exploder_teleport",::mutatorcomboexploderteleport,"zmb_mut_expl_spawn",::maps\mp\zombies\_mutators::onexploderzombiekilled); + maps\mp\zombies\_mutators::addmutatortotable("combo_armor_emz",::mutatorcomboarmoremz,"zmb_mut_emz_spawn",::mutatorcomboarmoremzkilled,::mutatorcomboarmoremzondamaged); + maps\mp\zombies\_mutators::addmutatortotable("combo_emz_spike",::mutatorcomboemzspike,"zmb_mut_emz_spawn",undefined,::mutatorcomboemzspikeondamaged); + maps\mp\zombies\_mutators::disablemutatorfortypes("combo_spike_teleport",["zombie_dog","zombie_melee_goliath","zombie_ranged_goliath"]); + maps\mp\zombies\_mutators::disablemutatorfortypes("combo_exploder_teleport",["zombie_dog","zombie_melee_goliath","zombie_ranged_goliath"]); + maps\mp\zombies\_mutators::disablemutatorfortypes("combo_armor_emz",["zombie_dog","zombie_melee_goliath","zombie_ranged_goliath"]); + maps\mp\zombies\_mutators::disablemutatorfortypes("combo_emz_spike",["zombie_dog","zombie_melee_goliath","zombie_ranged_goliath"]); +} + +//Function Number: 2 +initcombomutatorfx() +{ + level.valideyetypes[level.valideyetypes.size] = "combo_spike_teleport"; + level.valideyetypes[level.valideyetypes.size] = "combo_exploder_teleport"; + level.valideyetypes[level.valideyetypes.size] = "combo_armor_emz"; + level.valideyetypes[level.valideyetypes.size] = "combo_emz_spike"; + level._effect["zombie_eye_combo_spike_teleport"] = loadfx("vfx/gameplay/mp/zombie/zombie_eye_cmb_tele_spike_dlc"); + level._effect["zombie_eye_combo_exploder_teleport"] = loadfx("vfx/gameplay/mp/zombie/zombie_eye_cmb_tele_exp_dlc"); + level._effect["zombie_eye_combo_armor_emz"] = loadfx("vfx/gameplay/mp/zombie/zombie_eye_cmb_emp_armor_cau_dlc_a"); + level._effect["zombie_eye_combo_armor_emz_cau_dlc_a"] = loadfx("vfx/gameplay/mp/zombie/zombie_eye_cmb_emp_armor_cau_dlc_a"); + level._effect["zombie_eye_combo_armor_emz_cau_dlc_b"] = loadfx("vfx/gameplay/mp/zombie/zombie_eye_cmb_emp_armor_cau_dlc_b"); + level._effect["zombie_eye_combo_armor_emz_cau_dlc_c"] = loadfx("vfx/gameplay/mp/zombie/zombie_eye_cmb_emp_armor_cau_dlc_c"); + level._effect["zombie_eye_combo_emz_spike"] = loadfx("vfx/gameplay/mp/zombie/zombie_eye_cmb_emp_spike_cau_dlc_a"); + level._effect["zombie_eye_combo_emz_spike_cau_dlc_a"] = loadfx("vfx/gameplay/mp/zombie/zombie_eye_cmb_emp_spike_cau_dlc_a"); + level._effect["zombie_eye_combo_emz_spike_cau_dlc_b"] = loadfx("vfx/gameplay/mp/zombie/zombie_eye_cmb_emp_spike_cau_dlc_b"); + level._effect["zombie_eye_combo_emz_spike_cau_dlc_c"] = loadfx("vfx/gameplay/mp/zombie/zombie_eye_cmb_emp_spike_cau_dlc_c"); + level._effect["mut_combo_exploder_teleport_head"] = loadfx("vfx/gameplay/mp/zombie/zombie_cmb_tele_exp_head"); + level._effect["mut_combo_exploder_teleport_arm_l"] = loadfx("vfx/gameplay/mp/zombie/zombie_cmb_tele_exp_upperarm_lt"); + level._effect["mut_combo_exploder_teleport_arm_r"] = loadfx("vfx/gameplay/mp/zombie/zombie_cmb_tele_exp_upperarm_rt"); + level._effect["mut_combo_exploder_teleport_back"] = loadfx("vfx/gameplay/mp/zombie/zombie_cmb_tele_exp_back"); + level._effect["mut_combo_exploder_teleport_pre"] = loadfx("vfx/unique/dlc_teleport_zm_cmb_tele_exp_start"); + level._effect["mut_combo_exploder_teleport_post"] = loadfx("vfx/unique/dlc_teleport_zm_cmb_tele_exp"); + level._effect["mut_combo_exploder_spike_pre"] = loadfx("vfx/unique/dlc_teleport_zm_cmb_tele_spike_start"); + level._effect["mut_combo_exploder_spike_post"] = loadfx("vfx/unique/dlc_teleport_zm_cmb_tele_spike"); + level._effect["mut_combo_exploder_detonate_lrg"] = loadfx("vfx/gameplay/mp/zombie/zombie_cmb_tele_exp_detonate_lrg"); + level._effect["mut_combo_exploder_detonate_sml"] = loadfx("vfx/gameplay/mp/zombie/zombie_cmb_tele_exp_detonate_sml"); + level._effect["mut_combo_exploder_detonate_charge"] = loadfx("vfx/gameplay/mp/zombie/zombie_cmb_tele_exp_detonate_charge"); + level._effect["mut_combo_emz_spike_attack"] = loadfx("vfx/gameplay/mp/zombie/dlc_zombie_attack_combo_emp_spike"); +} + +//Function Number: 3 +mutatorcombospiketeleport() +{ + thread maps\mp\zombies\_mutators::mutatorspawnsound("combo_spike_teleport"); + maps\mp\agents\humanoid\_humanoid_util::enable_humanoid_exo_abilities(); + self.boostfxtag = "tag_jetpack"; + mutatorcombospiketeleportmodelsetup(); + mutatorcombospiketeleportbehavior(); +} + +//Function Number: 4 +mutatorcombospiketeleportmodelsetup() +{ + var_00 = ["zom_cmb_blink_spike_torso_a_slice"]; + var_01 = ["zom_cmb_blink_spike_nofx_torso_a_slice"]; + var_02 = ["zom_cmb_blink_spike_head_a"]; + var_03 = ["zom_cmb_blink_spike_r_leg_a_slice"]; + var_04 = ["zom_cmb_blink_spike_l_leg_a_slice"]; + var_05 = ["zom_cmb_blink_spike_r_arm_a_slice"]; + var_06 = ["zom_cmb_blink_spike_nofx_r_arm_a_slice"]; + var_07 = ["zom_cmb_blink_spike_l_arm_a_slice"]; + var_08 = ["zom_cmb_blink_spike_nofx_l_arm_a_slice"]; + var_09 = randomint(var_00.size); + var_0A = randomint(var_02.size); + var_0B = randomint(var_03.size); + var_0C = randomint(var_04.size); + var_0D = randomint(var_05.size); + var_0E = randomint(var_07.size); + self.precloneswapfunc = ::maps\mp\zombies\_mutators::mutator_precloneswap; + self detachall(); + self setmodel(var_00[var_09]); + self.swapbody = var_01[var_09]; + self attach(var_02[var_0A]); + self.headmodel = var_02[var_0A]; + self attach(var_03[var_0B]); + self attach(var_04[var_0C]); + self attach(var_05[var_0D]); + self attach(var_07[var_0E]); + self.limbmodels["right_leg"] = var_03[var_0B]; + self.limbmodels["left_leg"] = var_04[var_0C]; + self.limbmodels["right_arm"] = var_05[var_0D]; + self.limbmodels["left_arm"] = var_07[var_0E]; + self.swaplimbmodels["right_arm"] = var_06[var_0D]; + self.swaplimbmodels["left_arm"] = var_08[var_0E]; + if(!isdefined(self.moverateroundmod)) + { + self.moverateroundmod = 0; + } + + self.moverateroundmod = self.moverateroundmod + 5; + mutatorcombospiketeleporteyefx(); + self.eyefxfunc = ::mutatorcombospiketeleporteyefx; + self.teleportprefxoverride = level._effect["mut_combo_exploder_spike_pre"]; + self.teleportpostfxoverride = level._effect["mut_combo_exploder_spike_post"]; +} + +//Function Number: 5 +mutatorcombospiketeleporteyefx() +{ + var_00 = maps\mp\gametypes\zombies::geteyeeffectforzombie("combo_spike_teleport",self.headmodel); + maps\mp\zombies\_util::zombie_set_eyes(var_00); +} + +//Function Number: 6 +mutatorcombospiketeleportbehavior() +{ + thread maps\mp\zombies\_mutators_teleport::mutatorteleport_handleteleport(); + self waittill("death"); + playsoundatpos(self.origin,"zmb_mut_spiked_explo"); +} + +//Function Number: 7 +mutatorcombospiketeleportondamaged(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ + if(!maps\mp\zombies\_util::checkactivemutator("combo_spike_teleport")) + { + return; + } + + if(common_scripts\utility::cointoss()) + { + return; + } + + if(!isdefined(self.spikeblastready)) + { + thread mutatorcombospikeblast(param_01); + } +} + +//Function Number: 8 +mutatorcombospikeblast(param_00) +{ + self endon("death"); + self.spikeblastready = 0; + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01.origin = self gettagorigin("J_Spine4"); + var_01 linkto(self,"J_Spine4"); + wait(0.05); + if(maps\mp\zombies\_util::checkactivemutator("combo_emz_spike")) + { + playfx(common_scripts\utility::getfx("mut_combo_emz_spike_attack"),var_01.origin); + } + else + { + playfx(common_scripts\utility::getfx("mut_spiked_explosion_2"),var_01.origin); + } + + playsoundatpos(var_01.origin,"zmb_mut_spiked_explo_overkill"); + wait(0.1); + foreach(var_03 in level.players) + { + if(distance(var_03.origin,self.origin) < 150) + { + var_04 = clamp(25 * level.wavecounter / 9,25,50); + if(isdefined(param_00) && var_03 == param_00) + { + var_03 dodamage(var_04,self.origin); + } + else + { + var_03 dodamage(var_04 * 0.5,self.origin); + } + } + } + + var_01 delete(); + wait(0.75); + if(isalive(self)) + { + self.spikeblastready = undefined; + } +} + +//Function Number: 9 +mutatorcomboexploderteleport() +{ + thread maps\mp\zombies\_mutators::mutatorspawnsound("combo_exploder_teleport"); + maps\mp\agents\humanoid\_humanoid_util::enable_humanoid_exo_abilities(); + self.boostfxtag = "tag_jetpack"; + mutatorcomboexploderteleportmodelsetup(); + mutatorcomboexploderteleportbehavior(); +} + +//Function Number: 10 +mutatorcomboexploderteleportmodelsetup() +{ + var_00 = ["zom_cmb_blink_fire_torso_a_slice"]; + var_01 = ["zom_cmb_blink_fire_nofx_torso_a_slice"]; + var_02 = ["zom_cmb_blink_fire_head_a"]; + var_03 = ["zom_cmb_blink_fire_r_leg_a_slice"]; + var_04 = ["zom_cmb_blink_fire_l_leg_a_slice"]; + var_05 = ["zom_cmb_blink_fire_r_arm_a_slice"]; + var_06 = ["zom_cmb_blink_fire_l_arm_a_slice"]; + var_07 = randomint(var_00.size); + var_08 = randomint(var_02.size); + var_09 = randomint(var_03.size); + var_0A = randomint(var_04.size); + var_0B = randomint(var_05.size); + var_0C = randomint(var_06.size); + self.precloneswapfunc = ::maps\mp\zombies\_mutators::mutator_precloneswap; + self detachall(); + self setmodel(var_00[var_07]); + self.swapbody = var_01[var_07]; + self attach(var_02[var_08]); + self.headmodel = var_02[var_08]; + self attach(var_03[var_09]); + self attach(var_04[var_0A]); + self attach(var_05[var_0B]); + self attach(var_06[var_0C]); + self.limbmodels["right_leg"] = var_03[var_09]; + self.limbmodels["left_leg"] = var_04[var_0A]; + self.limbmodels["right_arm"] = var_05[var_0B]; + self.limbmodels["left_arm"] = var_06[var_0C]; + mutatorcomboexploderteleporteyefx(); + self.eyefxfunc = ::mutatorcomboexploderteleporteyefx; + self setsurfacetype("bark"); + self.teleportprefxoverride = level._effect["mut_combo_exploder_teleport_pre"]; + self.teleportpostfxoverride = level._effect["mut_combo_exploder_teleport_post"]; + self.detonatechargefxoverride = level._effect["mut_combo_exploder_detonate_charge"]; + self.detonatelargefxoverride = level._effect["mut_combo_exploder_detonate_lrg"]; + self.detonatesmallfxoverride = level._effect["mut_combo_exploder_detonate_sml"]; +} + +//Function Number: 11 +mutatorcomboexploderteleporteyefx() +{ + var_00 = maps\mp\gametypes\zombies::geteyeeffectforzombie("combo_exploder_teleport",self.headmodel); + maps\mp\zombies\_util::zombie_set_eyes(var_00); + maps\mp\zombies\_mutators::torso_effects_apply("mut_combo_exploder_teleport"); +} + +//Function Number: 12 +mutatorcomboexploderteleportbehavior() +{ + thread maps\mp\zombies\_mutators::exploder_ambient_sound(); + self.hasexploded = 0; + thread maps\mp\zombies\_mutators::mutatorexploder_proximitybomb(); + thread maps\mp\zombies\_mutators_teleport::mutatorteleport_handleteleport(); + self waittill("death"); +} + +//Function Number: 13 +mutatorcomboarmoremz() +{ + thread maps\mp\zombies\_mutators::mutatorspawnsound("combo_armor_emz"); + maps\mp\agents\humanoid\_humanoid_util::enable_humanoid_exo_abilities(); + self.boostfxtag = "no_boost_fx"; + mutatorcomboarmoremzmodelsetup(); + mutatorcomboarmoremzbehavior(); +} + +//Function Number: 14 +mutatorcomboarmoremzmodelsetup() +{ + var_00 = ["zom_cmb_armor_emp_body"]; + var_01 = ["zom_cmb_armor_emp_nofx_body"]; + var_02 = ["zombies_head_mutator_emp","zombies_head_mutator_emp_cau_a","zombies_head_mutator_emp_cau_b","zombies_head_mutator_emp_cau_c"]; + var_03 = randomint(var_00.size); + var_04 = randomint(var_02.size); + self.precloneswapfunc = ::maps\mp\zombies\_mutators::mutator_precloneswap; + self detachall(); + self.limbmodels = undefined; + self setmodel(var_00[var_03]); + self.swapbody = var_01[var_03]; + self attach(var_02[var_04]); + self.headmodel = var_02[var_04]; + var_05 = maps\mp\gametypes\zombies::geteyeeffectforzombie("combo_armor_emz",self.headmodel); + maps\mp\zombies\_util::zombie_set_eyes(var_05); + maps\mp\zombies\_mutators::torso_effects_apply("mut_emz"); + self setsurfacetype("bark"); + self playloopsound("zmb_emz_crackle_loop"); +} + +//Function Number: 15 +mutatorcomboarmoremzbehavior() +{ + thread maps\mp\zombies\_mutators::mutatoremz_watchforattackhits(); + thread maps\mp\zombies\_mutators::mutatoremz_watchforproximityboosters(); + thread mutatorcomboaddhelmet(); + self waittill("death"); +} + +//Function Number: 16 +mutatorcomboarmoremzondamaged(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ + if(!maps\mp\zombies\_util::checkactivemutator("combo_armor_emz")) + { + return; + } + + if(isdefined(self.hashelmet) && isplayer(param_01) && maps\mp\_utility::isheadshot(param_05,param_08,param_04)) + { + self.helmet_health = self.helmet_health - param_02; + if(self.helmet_health <= 0) + { + self notify("helmet_lost"); + } + } +} + +//Function Number: 17 +mutatorcomboarmoremzkilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + if(!maps\mp\zombies\_util::checkactivemutator("combo_armor_emz")) + { + return; + } + + if(isdefined(self.hashelmet) && isdefined(self.helmet)) + { + self.helmet unlink(); + self.helmet setmodel("zombie_helmet_collision"); + self.helmet physicslaunchclient(self.helmet.origin,(randomintrange(-5,5),randomintrange(-5,5),randomintrange(-5,5))); + } +} + +//Function Number: 18 +mutatorcomboaddhelmet() +{ + var_00 = "J_helmet"; + self.hasarmor = 1; + self.hashelmet = 1; + self.helmet_health = 50; + var_01 = self gettagorigin(var_00); + var_02 = self gettagangles(var_00); + var_03 = spawn("script_model",var_01); + self.helmet = var_03; + var_03.angles = var_02; + var_03 setmodel("zombie_helmet"); + var_03 linkto(self,var_00,(-0.2,-0.45,-4.7),(0,90,0)); + thread mutatorcombohelmetdetach(var_03); + self waittill("death"); + self.hashelmet = undefined; + self.helmet = undefined; + thread mutatorcombohelmetcleanup(var_03); +} + +//Function Number: 19 +mutatorcombohelmetdetach(param_00) +{ + self endon("death"); + self waittill("helmet_lost"); + self.hashelmet = undefined; + self.helmet = undefined; + earthquake(0.25,0.4,self.origin,128); + self.moverateroundmod = self.moverateroundmod + 5; + playfx(common_scripts\utility::getfx("mut_helmet_impact"),param_00.origin); + param_00 playsound("zmb_mut_armor_helmet_ping"); + param_00 unlink(); + param_00 setmodel("zombie_helmet_collision"); + param_00 physicslaunchclient(param_00.origin,(randomintrange(-5,5),randomintrange(-5,5),randomintrange(-5,5))); + physicsexplosionsphere(param_00.origin - (0,0,2),16,1,5); + thread mutatorcombohelmetcleanup(param_00); +} + +//Function Number: 20 +mutatorcombohelmetcleanup(param_00) +{ + wait(5); + if(isdefined(param_00)) + { + param_00 delete(); + } +} + +//Function Number: 21 +mutatorcomboemzspike() +{ + thread maps\mp\zombies\_mutators::mutatorspawnsound("combo_spike_teleport"); + maps\mp\agents\humanoid\_humanoid_util::enable_humanoid_exo_abilities(); + self.boostfxtag = "tag_jetpack"; + mutatorcomboemzspikemodelsetup(); + mutatorcomboemzspikebehavior(); +} + +//Function Number: 22 +mutatorcomboemzspikemodelsetup() +{ + var_00 = ["zom_mut_cmb_spikes_emp_torso_slice"]; + var_01 = ["zom_mut_cmb_spikes_emp_nofx_torso_slice"]; + var_02 = ["zombies_head_mutator_fire","zombies_head_mutator_fire_cau_a","zombies_head_mutator_fire_cau_b","zombies_head_mutator_fire_cau_c"]; + var_03 = ["zom_mut_cmb_spikes_emp_r_leg_slice"]; + var_04 = ["zom_mut_cmb_spikes_emp_l_leg_slice"]; + var_05 = ["zom_mut_cmb_spikes_emp_r_arm_slice"]; + var_06 = ["zom_mut_cmb_spikes_emp_nofx_r_arm_slice"]; + var_07 = ["zom_mut_cmb_spikes_emp_l_arm_slice"]; + var_08 = ["zom_mut_cmb_spikes_emp_nofx_l_arm_slice"]; + var_09 = randomint(var_00.size); + var_0A = randomint(var_02.size); + var_0B = randomint(var_03.size); + var_0C = randomint(var_04.size); + var_0D = randomint(var_05.size); + var_0E = randomint(var_07.size); + self.precloneswapfunc = ::maps\mp\zombies\_mutators::mutator_precloneswap; + self detachall(); + self setmodel(var_00[var_09]); + self.swapbody = var_01[var_09]; + self attach(var_02[var_0A]); + self.headmodel = var_02[var_0A]; + self attach(var_03[var_0B]); + self attach(var_04[var_0C]); + self attach(var_05[var_0D]); + self attach(var_07[var_0E]); + self.limbmodels["right_leg"] = var_03[var_0B]; + self.limbmodels["left_leg"] = var_04[var_0C]; + self.limbmodels["right_arm"] = var_05[var_0D]; + self.limbmodels["left_arm"] = var_07[var_0E]; + self.swaplimbmodels["right_arm"] = var_06[var_0D]; + self.swaplimbmodels["left_arm"] = var_08[var_0E]; + if(!isdefined(self.moverateroundmod)) + { + self.moverateroundmod = 0; + } + + self.moverateroundmod = self.moverateroundmod + 5; + var_0F = maps\mp\gametypes\zombies::geteyeeffectforzombie("combo_emz_spike",self.headmodel); + maps\mp\zombies\_util::zombie_set_eyes(var_0F); + maps\mp\zombies\_mutators::torso_effects_apply("mut_emz"); + self setsurfacetype("bark"); + self playloopsound("zmb_emz_crackle_loop"); +} + +//Function Number: 23 +mutatorcomboemzspikebehavior() +{ + thread maps\mp\zombies\_mutators::mutatoremz_watchforattackhits(); + thread maps\mp\zombies\_mutators::mutatoremz_watchforproximityboosters(); + self waittill("death"); + playsoundatpos(self.origin,"zmb_mut_spiked_explo"); +} + +//Function Number: 24 +mutatorcomboemzspikeondamaged(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ + if(!maps\mp\zombies\_util::checkactivemutator("combo_emz_spike")) + { + return; + } + + if(common_scripts\utility::cointoss()) + { + return; + } + + if(!isdefined(self.spikeblastready)) + { + thread mutatorcombospikeblast(param_01); + thread maps\mp\zombies\_mutators::mutatoremz_bursttonearbyplayers(0); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/_mutators_spiked.gsc b/AW/PC/maps/mp/zombies/_mutators_spiked.gsc new file mode 100644 index 0000000..ecd3b4f --- /dev/null +++ b/AW/PC/maps/mp/zombies/_mutators_spiked.gsc @@ -0,0 +1,124 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_mutators_spiked.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 4 + * Decompile Time: 76 ms + * Timestamp: 4/22/2024 2:13:48 AM +*******************************************************************/ + +//Function Number: 1 +initspikedmutator() +{ + level._effect["mut_spiked_explosion"] = loadfx("vfx/blood/dlc_zombie_spike_explosion"); + level._effect["mut_spiked_explosion_2"] = loadfx("vfx/blood/dlc_zombie_spike_explosion_2"); + maps\mp\zombies\_mutators::addmutatortotable("spiked",::mutatorspiked,"zmb_mut_spiked_spawn",undefined,::onspikedzombiedamaged); + maps\mp\zombies\_mutators::disablemutatorfortypes("spiked",["zombie_dog","zombie_melee_goliath","zombie_ranged_goliath"]); +} + +//Function Number: 2 +mutatorspiked() +{ + thread maps\mp\zombies\_mutators::mutatorspawnsound("spiked"); + maps\mp\agents\humanoid\_humanoid_util::enable_humanoid_exo_abilities(); + self.boostfxtag = "tag_jetpack"; + var_00 = ["zom_marine_m_spikes_exo_torso_slice"]; + var_01 = ["zom_marine_m_spikes_exo_torso_slice"]; + var_02 = ["zombies_head_mutator_fire","zombies_head_mutator_fire_cau_a","zombies_head_mutator_fire_cau_b","zombies_head_mutator_fire_cau_c"]; + var_03 = ["zom_marine_m_ovr_exo_r_leg_slice","zom_marine_m_ovr_exo_r_leg_slice_ab"]; + var_04 = ["zom_marine_m_ovr_nofx_exo_r_leg_slice","zom_marine_m_ovr_nofx_exo_r_leg_slice_ab"]; + var_05 = ["zom_marine_m_ovr_exo_l_leg_slice","zom_marine_m_ovr_exo_l_leg_slice_ab"]; + var_06 = ["zom_marine_m_ovr_nofx_exo_l_leg_slice","zom_marine_m_ovr_nofx_exo_l_leg_slice_ab"]; + var_07 = ["zom_marine_m_spikes_exo_r_arm_slice"]; + var_08 = ["zom_marine_m_spikes_exo_r_arm_slice"]; + var_09 = ["zom_marine_m_spikes_exo_l_arm_slice"]; + var_0A = ["zom_marine_m_spikes_exo_l_arm_slice"]; + var_0B = randomint(var_00.size); + var_0C = randomint(var_02.size); + var_0D = randomint(var_03.size); + var_0E = randomint(var_05.size); + var_0F = randomint(var_07.size); + var_10 = randomint(var_09.size); + self.precloneswapfunc = maps\mp\zombies\_mutators::mutator_precloneswap(); + self detachall(); + self setmodel(var_00[var_0B]); + self.swapbody = var_01[var_0B]; + self attach(var_02[var_0C]); + self.headmodel = var_02[var_0C]; + self attach(var_03[var_0D]); + self attach(var_05[var_0E]); + self attach(var_07[var_0F]); + self attach(var_09[var_10]); + self.limbmodels["right_leg"] = var_03[var_0D]; + self.limbmodels["left_leg"] = var_05[var_0E]; + self.limbmodels["right_arm"] = var_07[var_0F]; + self.limbmodels["left_arm"] = var_09[var_10]; + self.swaplimbmodels["right_arm"] = var_08[var_0F]; + self.swaplimbmodels["left_arm"] = var_0A[var_10]; + if(!isdefined(self.moverateroundmod)) + { + self.moverateroundmod = 0; + } + + self.moverateroundmod = self.moverateroundmod + 5; + var_11 = maps\mp\gametypes\zombies::geteyeeffectforzombie("fast",self.headmodel); + maps\mp\zombies\_util::zombie_set_eyes(var_11); + self waittill("death"); + playsoundatpos(self.origin,"zmb_mut_spiked_explo"); +} + +//Function Number: 3 +onspikedzombiedamaged(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ + if(!maps\mp\zombies\_util::checkactivemutator("spiked")) + { + return; + } + + if(common_scripts\utility::cointoss()) + { + return; + } + + if(!isdefined(self.spikeblastready)) + { + thread spikeblast(param_01); + } +} + +//Function Number: 4 +spikeblast(param_00) +{ + self endon("death"); + self.spikeblastready = 0; + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01.origin = self gettagorigin("J_Spine4"); + var_01 linkto(self,"J_Spine4"); + wait(0.05); + playfx(common_scripts\utility::getfx("mut_spiked_explosion_2"),var_01.origin); + playsoundatpos(var_01.origin,"zmb_mut_spiked_explo_overkill"); + wait(0.1); + foreach(var_03 in level.players) + { + if(distance(var_03.origin,self.origin) < 150) + { + var_04 = clamp(25 * level.wavecounter / 9,25,50); + if(isdefined(param_00) && var_03 == param_00) + { + var_03 dodamage(var_04,self.origin); + } + else + { + var_03 dodamage(var_04 * 0.5,self.origin); + } + } + } + + var_01 delete(); + wait(0.75); + if(isalive(self)) + { + self.spikeblastready = undefined; + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/_mutators_teleport.gsc b/AW/PC/maps/mp/zombies/_mutators_teleport.gsc new file mode 100644 index 0000000..781cf36 --- /dev/null +++ b/AW/PC/maps/mp/zombies/_mutators_teleport.gsc @@ -0,0 +1,248 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_mutators_teleport.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 8 + * Decompile Time: 149 ms + * Timestamp: 4/22/2024 2:13:49 AM +*******************************************************************/ + +//Function Number: 1 +initteleportmutator() +{ + level._effect["teleport_pre_fx"] = loadfx("vfx/unique/dlc_teleport_zm_start"); + level._effect["teleport_post_fx"] = loadfx("vfx/unique/dlc_teleport_zombie"); + maps\mp\zombies\_mutators::addmutatortotable("teleport",::mutatorteleport,"zmb_mut_emz_spawn"); + maps\mp\zombies\_mutators::disablemutatorfortypes("teleport",["zombie_ranged_goliath"]); +} + +//Function Number: 2 +mutatorteleport() +{ + if(self.agent_type == "zombie_dog") + { + mutatorteleport_base(); + return; + } + + if(!maps\mp\zombies\_util::is_true(self.nomutatormodelswap)) + { + var_00 = ["zom_blink_torso_a_slice"]; + var_01 = ["zom_blink_torso_a_slice"]; + var_02 = ["zom_blink_head_a"]; + var_03 = ["zom_blink_r_leg_a_slice"]; + var_04 = ["zom_blink_r_leg_a_slice"]; + var_05 = ["zom_blink_l_leg_a_slice"]; + var_06 = ["zom_blink_l_leg_a_slice"]; + var_07 = ["zom_blink_r_arm_a_slice"]; + var_08 = ["zom_blink_r_arm_a_slice"]; + var_09 = ["zom_blink_l_arm_a_slice"]; + var_0A = ["zom_blink_l_arm_a_slice"]; + var_0B = randomint(var_00.size); + var_0C = randomint(var_02.size); + var_0D = randomint(var_03.size); + var_0E = randomint(var_05.size); + var_0F = randomint(var_07.size); + var_10 = randomint(var_09.size); + self.precloneswapfunc = ::maps\mp\zombies\_mutators::mutator_precloneswap; + self detachall(); + self setmodel(var_00[var_0B]); + self.swapbody = var_01[var_0B]; + self attach(var_02[var_0C]); + self.headmodel = var_02[var_0C]; + self attach(var_03[var_0D]); + self attach(var_05[var_0E]); + self attach(var_07[var_0F]); + self attach(var_09[var_10]); + self.limbmodels["right_leg"] = var_03[var_0D]; + self.limbmodels["left_leg"] = var_05[var_0E]; + self.limbmodels["right_arm"] = var_07[var_0F]; + self.limbmodels["left_arm"] = var_09[var_10]; + self.swaplimbmodels["right_leg"] = var_04[var_0D]; + self.swaplimbmodels["left_leg"] = var_06[var_0E]; + self.swaplimbmodels["right_arm"] = var_08[var_0F]; + self.swaplimbmodels["left_arm"] = var_0A[var_10]; + } + + mutatorteleport_base(); +} + +//Function Number: 3 +mutatorteleport_base() +{ + thread maps\mp\zombies\_mutators::mutatorspawnsound("teleport"); + mutatorteleport_startfx(); + thread mutatorteleport_handleteleport(); + self waittill("death"); +} + +//Function Number: 4 +mutatorteleport_startfx() +{ + mutatorteleport_starteyefx(); + mutatorteleport_startbodyfx(); +} + +//Function Number: 5 +mutatorteleport_starteyefx() +{ + if(self.agent_type == "zombie_dog") + { + maps\mp\zombies\_util::zombie_set_eyes("zombie_dog_eye_emp"); + return; + } + + if(isdefined(self.eyefxfunc)) + { + self [[ self.eyefxfunc ]](); + return; + } + + maps\mp\zombies\_util::zombie_set_eyes("zombie_eye_emp"); +} + +//Function Number: 6 +mutatorteleport_startbodyfx() +{ +} + +//Function Number: 7 +mutatorteleport_handleteleport() +{ + self endon("death"); + maps\mp\zombies\_util::waittill_enter_game(); + for(;;) + { + self.teleport_min_time_between = 0.5 / self.generalspeedratescale; + self.teleport_max_time_between = 3.2 / self.generalspeedratescale; + wait(randomfloatrange(self.teleport_min_time_between,self.teleport_max_time_between)); + if(!isalive(self)) + { + continue; + } + + if(self.aistate != "move") + { + continue; + } + + if(maps\mp\agents\_scripted_agent_anim_util::isstatelocked() || maps\mp\zombies\_util::is_true(self.inturnanim)) + { + continue; + } + + if(maps\mp\zombies\_util::is_true(self.hasexploded)) + { + continue; + } + + if(isdefined(self.spikeblastready)) + { + continue; + } + + var_00 = anglestoforward(self.angles); + var_01 = self scragentgetnodesonpath(); + var_02 = self getpathgoalpos(); + var_03 = distancesquared(self.origin,var_02); + var_04 = []; + self.teleport_min_dist_sq = squared(50 * self.generalspeedratescale); + self.teleport_max_dist_sq = squared(450 * self.generalspeedratescale); + for(var_05 = 0;var_05 < var_01.size;var_05++) + { + var_06 = var_01[var_05]; + var_07 = distancesquared(self.origin,var_06.origin); + if(var_07 < self.teleport_min_dist_sq) + { + continue; + } + + if(var_07 > self.teleport_max_dist_sq) + { + continue; + } + + if(var_07 > var_03) + { + continue; + } + + var_08 = vectornormalize(var_06.origin - self.origin); + var_09 = vectordot(var_08,var_00); + if(var_09 < 0) + { + continue; + } + + var_04[var_04.size] = [var_06,var_05]; + } + + if(var_04.size > 0) + { + var_0A = common_scripts\utility::random(var_04); + var_0B = var_0A[0]; + var_0C = var_0A[1]; + if(var_0C + 1 < var_01.size) + { + var_0D = var_01[var_0C + 1].origin - var_0B.origin; + } + else + { + var_0D = var_03 - var_0C.origin; + } + + var_0E = vectortoangles(var_0D * (1,1,0)); + if(isdefined(self.teleportprefxoverride)) + { + playfx(self.teleportprefxoverride,self.origin,(1,0,0),(0,0,1)); + } + else + { + playfx(level._effect["teleport_pre_fx"],self.origin,(1,0,0),(0,0,1)); + } + + if(isdefined(self.teleportpostfxoverride)) + { + playfx(self.teleportpostfxoverride,var_0B.origin,(1,0,0),(0,0,1)); + } + else + { + playfx(level._effect["teleport_post_fx"],var_0B.origin,(1,0,0),(0,0,1)); + } + + thread play_zombie_teleport_sound(); + var_0F = self getvelocity(); + self setorigin(var_0B.origin,1); + self setplayerangles(var_0E); + self setvelocity(anglestoforward(var_0E) * length(var_0F)); + self scragenttrimpath(var_0B); + wait(0.05); + mutatorteleport_startfx(); + } + } +} + +//Function Number: 8 +play_zombie_teleport_sound() +{ + if(self.agent_type == "zombie_generic") + { + self playsoundonmovingent("teleport_blink_zombie"); + return; + } + + if(self.agent_type == "zombie_dog") + { + self playsoundonmovingent("teleport_dog_zombie"); + return; + } + + if(self.agent_type == "zombie_melee_goliath") + { + self playsoundonmovingent("teleport_goliath_zombie"); + return; + } + + self playsoundonmovingent("teleport_blink_zombie"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/_pickups_dlc3.gsc b/AW/PC/maps/mp/zombies/_pickups_dlc3.gsc new file mode 100644 index 0000000..0714e19 --- /dev/null +++ b/AW/PC/maps/mp/zombies/_pickups_dlc3.gsc @@ -0,0 +1,489 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_pickups_dlc3.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 23 + * Decompile Time: 368 ms + * Timestamp: 4/22/2024 2:13:50 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level._effect["pickup_inf_ammo"] = loadfx("vfx/gameplay/mp/zombie/dlc_pickup_zombies_01_inf_ammo"); + level._effect["pickup_overcharge"] = loadfx("vfx/gameplay/mp/zombie/dlc_pickup_zombies_01_overcharge"); + level._effect["dlc_orbiter"] = loadfx("vfx/gameplay/mp/zombie/dlc_orbiter"); + level._effect["dlc3_orbiter_screen"] = loadfx("vfx/ui/dlc/dlc3_orbiter_screen"); + level.pickup["unlimited_ammo"]["func"] = ::unlimitedammopickup; + level.pickup["unlimited_ammo"]["fx"] = "pickup_inf_ammo"; + level.pickup["explosive_touch"]["func"] = ::explosivetouchpickup; + level.pickup["explosive_touch"]["fx"] = "pickup_overcharge"; + level.pickup["insta_kill"] = undefined; + maps\mp\gametypes\zombies::randomizepickuplist(); + maps\mp\_utility::gameflaginit("explosive_touch",0); + maps\mp\_utility::gameflaginit("unlimited_ammo",0); +} + +//Function Number: 2 +canspawnpickup(param_00,param_01,param_02,param_03) +{ + if(maps\mp\_utility::gameflag("explosive_touch")) + { + return 0; + } + + return 1; +} + +//Function Number: 3 +unlimitedammopickup(param_00) +{ + showteamsplashzombies("zombie_infinite_ammo"); + param_00 playlocalsound("powerup_overcharge_start"); + level thread activateunlimitedammo(); + maps\mp\zombies\_zombies_audio_announcer::announcerpickupdialog("open_fire",param_00); + level thread maps\mp\gametypes\zombies::removepickup(self); +} + +//Function Number: 4 +activateunlimitedammo() +{ + level notify("unlimited_ammo_start"); + level endon("unlimited_ammo_start"); + level thread maps\mp\gametypes\zombies::setendtimeomnvarwithhostmigration("ui_zm_infinite_ammo",gettime() + 20000); + maps\mp\_utility::gameflagset("unlimited_ammo"); + setupammoforplayers(); + foreach(var_01 in level.players) + { + var_01 setclientomnvar("zm_unlimited_ammo",1); + } + + level thread onplayerspawnedunlimitedammo(); + maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(20); + maps\mp\_utility::gameflagclear("unlimited_ammo"); + foreach(var_01 in level.players) + { + var_01 setclientomnvar("zm_unlimited_ammo",0); + var_01 playlocalsound("powerup_overcharge_end"); + } + + level notify("unlimited_ammo_end"); +} + +//Function Number: 5 +onplayerspawnedunlimitedammo() +{ + level endon("unlimited_ammo_start"); + level endon("unlimited_ammo_end"); + while(maps\mp\_utility::gameflag("unlimited_ammo")) + { + level waittill("player_spawned",var_00); + var_00 setclientomnvar("zm_unlimited_ammo",1); + } +} + +//Function Number: 6 +setupammoforplayers() +{ + foreach(var_01 in level.players) + { + if(isalive(var_01)) + { + var_01 thread playergiveoneinclip(); + } + } +} + +//Function Number: 7 +playergiveoneinclip() +{ + self endon("death"); + self endon("disconnect"); + var_00 = self getweaponslistprimaries(); + var_01 = []; + foreach(var_03 in var_00) + { + if(issubstr(var_03,"em1")) + { + waittillframeend; + var_04 = maps\mp\zombies\_util::playergetem1ammo(); + if(var_04 == 0) + { + maps\mp\zombies\_util::playerrecordem1ammo(1); + maps\mp\zombies\_util::playerallowfire(1,"em1"); + var_01[var_01.size] = var_03; + } + + continue; + } + + var_05 = 0; + var_04 = self getweaponammoclip(var_03,"right"); + if(var_04 == 0) + { + self setweaponammoclip(var_03,1,"right"); + var_01[var_01.size] = var_03; + var_05 = 1; + } + + if(issubstr(var_03,"akimbo")) + { + var_04 = self getweaponammoclip(var_03,"left"); + if(var_04 == 0) + { + self setweaponammoclip(var_03,1,"left"); + if(!var_05) + { + var_01[var_01.size] = var_03; + } + } + } + } + + if(var_01.size == 0) + { + return; + } + + level waittill("unlimited_ammo_end"); + foreach(var_03 in var_01) + { + if(!self hasweapon(var_03)) + { + continue; + } + + if(issubstr(var_03,"em1")) + { + waittillframeend; + var_04 = maps\mp\zombies\_util::playergetem1ammo(); + if(var_04 == 1) + { + maps\mp\zombies\_util::playerrecordem1ammo(0); + var_08 = self getcurrentprimaryweapon(); + if(issubstr(var_08,"em1")) + { + maps\mp\zombies\_util::playerallowfire(0,"em1"); + } + } + + continue; + } + + var_04 = self getweaponammoclip(var_03,"right"); + if(var_04 == 1) + { + self setweaponammoclip(var_03,0,"right"); + } + + if(issubstr(var_03,"akimbo")) + { + var_04 = self getweaponammoclip(var_03,"left"); + if(var_04 == 1) + { + self setweaponammoclip(var_03,0,"left"); + } + } + } +} + +//Function Number: 8 +explosivetouchpickup(param_00) +{ + showteamsplashzombies("zombie_overcharge"); + param_00 playlocalsound("zmb_pickup_general"); + level thread activateexplosivetouch(); + maps\mp\zombies\_zombies_audio_announcer::announcerpickupdialog("ex_touch",param_00); + level thread maps\mp\gametypes\zombies::removepickup(self); +} + +//Function Number: 9 +activateexplosivetouch() +{ + level notify("explosive_touch_start"); + level endon("explosive_touch_start"); + level thread maps\mp\gametypes\zombies::setendtimeomnvarwithhostmigration("ui_zm_overcharge",gettime() + 20000); + level thread cleanupgodmode(); + maps\mp\_utility::gameflagset("explosive_touch"); + foreach(var_01 in level.players) + { + if(!isdefined(var_01.crategodmode)) + { + var_01.crategodmode = 0; + } + + var_01.crategodmode++; + var_01 thread playerdoexplosivetouch(); + var_01 playlocalsound("powerup_explosive_touch"); + } + + if(!isdefined(level.zmbexplosivetouchfp)) + { + level.zmbexplosivetouchfp = spawnfx(common_scripts\utility::getfx("dlc3_orbiter_screen"),(0,0,0)); + triggerfx(level.zmbexplosivetouchfp); + } + + explosivetouchwait(); + if(isdefined(level.zmbexplosivetouchfp)) + { + level.zmbexplosivetouchfp delete(); + } + + level notify("explosive_touch_complete"); + maps\mp\_utility::gameflagclear("explosive_touch"); +} + +//Function Number: 10 +explosivetouchwait() +{ + level endon("game_ended"); + maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(20); +} + +//Function Number: 11 +cleanupgodmode() +{ + wait 0.05; + level common_scripts\utility::waittill_any("explosive_touch_start","explosive_touch_complete"); + foreach(var_01 in level.players) + { + if(isdefined(var_01.crategodmode)) + { + var_01.crategodmode--; + } + } +} + +//Function Number: 12 +playerplayexplosivetoucheffect() +{ + level endon("explosive_touch_start"); + self endon("disconnect"); + if(!isdefined(self.explosivetouchent)) + { + thread playerthirdpersonexplosivetoucheffects(); + thread playerhandleeffectsdeath(); + thread playerhandleeffectshostmigration(); + thread playerhandleeffectsdisconnect(); + } + + level waittill("explosive_touch_complete"); + maps\mp\zombies\_util::stopfxontagnetwork(common_scripts\utility::getfx("dlc_orbiter"),self.explosivetouchent,"j_prop_1"); + maps\mp\zombies\_util::stopfxontagnetwork(common_scripts\utility::getfx("dlc_orbiter"),self.explosivetouchent,"j_prop_2"); + maps\mp\zombies\_util::stopfxontagnetwork(common_scripts\utility::getfx("dlc_orbiter"),self.explosivetouchent,"j_prop_3"); + maps\mp\zombies\_util::stopfxontagnetwork(common_scripts\utility::getfx("dlc_orbiter"),self.explosivetouchent,"j_prop_4"); + self.explosivetouchent thread delaydeleteent(1); + self.explosivetouchent = undefined; +} + +//Function Number: 13 +playerthirdpersonexplosivetoucheffects() +{ + self endon("disconnect"); + if(!isdefined(self.explosivetouchent)) + { + self.explosivetouchent = spawn("script_model",(0,0,0)); + self.explosivetouchent setmodel("genericprop_x5"); + wait 0.05; + self.explosivetouchent vehicle_jetbikesethoverforcescale(self,"tag_origin",(0,0,0),(0,0,0)); + wait 0.05; + self.explosivetouchent scriptmodelplayanim("dlc3_explosive_touch_prop_anim","explosive_touch"); + self.explosivetouchent deleteonhostmigration(); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("dlc_orbiter"),self.explosivetouchent,"j_prop_1"); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("dlc_orbiter"),self.explosivetouchent,"j_prop_2"); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("dlc_orbiter"),self.explosivetouchent,"j_prop_3"); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("dlc_orbiter"),self.explosivetouchent,"j_prop_4"); + } +} + +//Function Number: 14 +playerhandleeffectsdisconnect() +{ + level endon("explosive_touch_complete"); + var_00 = self.explosivetouchent; + self waittill("disconnect"); + if(!isdefined(var_00)) + { + return; + } + + var_00 endon("death"); + maps\mp\zombies\_util::killfxontagnetwork(common_scripts\utility::getfx("dlc_orbiter"),var_00,"j_prop_1"); + maps\mp\zombies\_util::killfxontagnetwork(common_scripts\utility::getfx("dlc_orbiter"),var_00,"j_prop_2"); + maps\mp\zombies\_util::killfxontagnetwork(common_scripts\utility::getfx("dlc_orbiter"),var_00,"j_prop_3"); + maps\mp\zombies\_util::killfxontagnetwork(common_scripts\utility::getfx("dlc_orbiter"),var_00,"j_prop_4"); + var_00 thread delaydeleteent(1); +} + +//Function Number: 15 +playerhandleeffectshostmigration() +{ + level endon("explosive_touch_complete"); + self endon("disconnect"); + for(;;) + { + level waittill("host_migration_end"); + thread playerthirdpersonexplosivetoucheffects(); + } +} + +//Function Number: 16 +delaydeleteent(param_00) +{ + self endon("death"); + wait(param_00); + self delete(); +} + +//Function Number: 17 +playerhandleeffectsdeath() +{ + level endon("explosive_touch_complete"); + self endon("disconnect"); + self waittill("death"); + self.explosivetouchent hide(); + updatefirstpersonfx(); + self waittill("spawned_player"); + self.explosivetouchent show(); + self.explosivetouchent vehicle_jetbikesethoverforcescale(self,"tag_origin",(0,0,0),(0,0,0)); + updatefirstpersonfx(); +} + +//Function Number: 18 +updatefirstpersonfx() +{ + if(!isdefined(level.zmbexplosivetouchfp)) + { + return; + } + + level.zmbexplosivetouchfp hide(); + foreach(var_01 in level.players) + { + if(isalive(var_01)) + { + level.zmbexplosivetouchfp showtoplayer(var_01); + } + } +} + +//Function Number: 19 +playerdoexplosivetouch() +{ + self endon("disconnect"); + level endon("explosive_touch_start"); + level endon("explosive_touch_complete"); + var_00 = 3600; + self.overchargekills = 0; + thread playerplayexplosivetoucheffect(); + for(;;) + { + if(!isalive(self)) + { + wait 0.05; + continue; + } + + var_01 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + foreach(var_03 in var_01) + { + if(var_03.team != level.enemyteam) + { + continue; + } + + if(!isalive(var_03)) + { + continue; + } + + if(var_03 maps\mp\zombies\_util::instakillimmune()) + { + continue; + } + + var_04 = distancesquared(self.origin,var_03.origin); + if(var_04 < var_00) + { + var_03 dodamage(var_03.health,var_03.origin,self,undefined,"MOD_EXPLOSIVE","explosive_touch_zombies_mp","torso_upper"); + earthquake(randomfloatrange(0.35,0.55),1,self.origin,200,self); + self playrumbleonentity("damage_heavy"); + self method_8569(); + self.overchargekills++; + if(self.overchargekills == 20) + { + maps\mp\gametypes\zombies::givezombieachievement("DLC3_ZOMBIE_OVERCHARGE"); + } + } + } + + wait 0.05; + } +} + +//Function Number: 20 +gettimedpickupstring(param_00,param_01,param_02) +{ + var_03 = 20; + var_04 = level.pickuphuds[param_02]; + if(!isdefined(var_04)) + { + var_04 = maps\mp\gametypes\_hud_util::createserverfontstring("hudbig",1); + var_04 maps\mp\gametypes\_hud_util::setpoint("BOTTOM",undefined,0,-70 - var_03 * level.pickuphuds.size); + var_04.label = param_00; + foreach(var_06 in level.pickuphuds) + { + var_04 thread updatetimedpickuphudpos(var_06,var_03); + } + + level.pickuphuds[param_02] = var_04; + } + + var_04.color = (1,1,1); + var_04 settimer(param_01); + return var_04; +} + +//Function Number: 21 +updatetimedpickuphudpos(param_00,param_01) +{ + self endon("death"); + param_00 waittill("death"); + self.y = self.y + param_01; +} + +//Function Number: 22 +timedpickuphud(param_00,param_01,param_02) +{ + level notify("pickupHud_" + param_02); + level endon("pickupHud_" + param_02); + if(!isdefined(level.pickuphuds)) + { + level.pickuphuds = []; + } + + var_03 = 3; + var_04 = gettimedpickupstring(param_00,param_01,param_02); + if(param_01 > var_03) + { + wait(param_01 - var_03); + } + + var_04.color = (1,0,0); + wait(var_03); + var_04 destroy(); + level.pickuphuds[param_02] = undefined; +} + +//Function Number: 23 +showteamsplashzombies(param_00) +{ + foreach(var_02 in level.players) + { + if(maps\mp\zombies\_util::isonhumanteam(var_02) && maps\mp\_utility::isreallyalive(var_02)) + { + var_02 thread maps\mp\gametypes\_hud_message::splashnotify(param_00); + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/_power.gsc b/AW/PC/maps/mp/zombies/_power.gsc new file mode 100644 index 0000000..1305162 --- /dev/null +++ b/AW/PC/maps/mp/zombies/_power.gsc @@ -0,0 +1,345 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_power.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 11 + * Decompile Time: 182 ms + * Timestamp: 4/22/2024 2:13:51 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level._effect["power_station_main_fx"] = loadfx("vfx/props/dlc_prop_power_station_fx_main"); + level._effect["power_station_exhaust_fx"] = loadfx("vfx/props/dlc_prop_power_station_fx_exhaust"); + level._effect["power_station_beacon_fx"] = loadfx("vfx/props/dlc_prop_power_station_fx_beacon"); + level._effect["power_station_fx_off"] = loadfx("vfx/props/dlc_prop_power_station_fx_off"); + precachempanim("dlc_power_station_activate"); + level.power_switches = []; + level.roundpowerstations = []; + var_00 = common_scripts\utility::getstructarray("power_switch","targetname"); + common_scripts\utility::array_thread(var_00,::power_switch_init); + var_01 = getentarray("power_show","targetname"); + common_scripts\utility::array_thread(var_01,::power_show_ent_run); + var_02 = getentarray("power_hide","targetname"); + common_scripts\utility::array_thread(var_02,::power_hide_ent_run); +} + +//Function Number: 2 +power_switch_init() +{ + if(!isdefined(self.script_flag)) + { + power_error("Power switch at " + self.origin + " missing use script_flag."); + return; + } + + common_scripts\utility::flag_init(self.script_flag); + self.showents = []; + self.hideents = []; + var_00 = getentarray(self.target,"targetname"); + foreach(var_02 in var_00) + { + power_switch_ent_init(var_02); + } + + if(!isdefined(self.trigger)) + { + power_error("Power switch at " + self.origin + " missing use trigger."); + return; + } + + self.power_switch_index = level.power_switches.size; + level.power_switches[level.power_switches.size] = self; + thread power_switch_run(); + thread power_switch_button_run(); + thread power_anim_model_run(); +} + +//Function Number: 3 +power_switch_ent_init(param_00) +{ + var_01 = param_00.script_noteworthy; + if(!isdefined(var_01)) + { + switch(param_00.classname) + { + case "script_model": + var_01 = "anim_model"; + break; + + case "script_brushmodel": + var_01 = "button"; + break; + + case "trigger_use_touch": + case "trigger_use": + var_01 = "trigger"; + break; + + default: + var_01 = "undefined"; + break; + } + } + + switch(var_01) + { + case "trigger": + self.trigger = param_00; + break; + + case "button": + self.button = param_00; + break; + + case "anim_model": + self.modelent = param_00; + break; + + case "show": + self.showents[self.showents.size] = param_00; + break; + + case "hide": + self.hideents[self.hideents.size] = param_00; + break; + + default: + power_error("Unknown ent type \'" + var_01 + "\' on entity at " + param_00.origin + "."); + break; + } +} + +//Function Number: 4 +power_switch_run() +{ + for(;;) + { + foreach(var_01 in self.showents) + { + var_01 hide(); + } + + foreach(var_01 in self.hideents) + { + var_01 show(); + } + + self.trigger setcursorhint("HINT_NOICON"); + self.trigger sethintstring(&"ZOMBIES_POWER_ON"); + for(;;) + { + self.trigger waittill("trigger",var_05); + if(!isdefined(level.poweroffpenalty)) + { + break; + } + } + + if(isdefined(var_05)) + { + if(!maps\mp\zombies\_util::is_true(self.nopoints)) + { + var_05 maps\mp\gametypes\zombies::givepointsforevent("power_on"); + } + + if(maps\mp\zombies\_util::getzombieslevelnum() == 1 || maps\mp\zombies\_util::getzombieslevelnum() == 3 || maps\mp\zombies\_util::getzombieslevelnum() == 4) + { + var_05 maps\mp\zombies\_zombies_audio_announcer::announcerpoweronlinedialog(self.script_flag); + } + else + { + var_05 maps\mp\zombies\_zombies_audio::playerpoweronvo(); + } + } + + level.roundpowerstations[level.roundpowerstations.size] = self.power_switch_index; + self.trigger sethintstring(""); + self notify("on"); + common_scripts\utility::flag_set(self.script_flag); + foreach(var_01 in self.showents) + { + var_01 show(); + } + + foreach(var_01 in self.hideents) + { + var_01 hide(); + } + + if(level.currentgen) + { + var_0A = maps\mp\zombies\_util::getzombieslevelnum(); + if(var_0A == 3) + { + self.trigger delete(); + } + } + + var_0B = power_switch_on_wait(); + self notify("off"); + common_scripts\utility::flag_clear(self.script_flag); + if(isdefined(var_0B) && var_0B == "zombie_power_penalty_start") + { + foreach(var_01 in self.showents) + { + var_01 hide(); + } + + foreach(var_01 in self.hideents) + { + var_01 show(); + } + + level waittill("zombie_power_penalty_end"); + } + } +} + +//Function Number: 5 +power_switch_on_wait() +{ + if(isdefined(self.trigger)) + { + self.trigger endon("trigger_off"); + } + + level waittill("zombie_power_penalty_start"); + return "zombie_power_penalty_start"; +} + +//Function Number: 6 +power_switch_button_run() +{ + if(!isdefined(self.button)) + { + return; + } + + var_00 = 0.4; + var_01 = self.button.origin; + var_02 = var_01 + (0,0,16); + for(;;) + { + self waittill("on"); + self.button moveto(var_02,var_00); + self waittill("off"); + self.button moveto(var_01,var_00); + } +} + +//Function Number: 7 +power_anim_model_run() +{ + if(!isdefined(self.modelent)) + { + return; + } + + for(;;) + { + thread power_anim_model_fx(0); + self waittill("on"); + self.modelent playsound("interact_generator_start"); + self.modelent playloopsound("interact_generator_lp"); + self.modelent scriptmodelplayanim("dlc_power_station_activate"); + thread power_anim_model_fx(1); + self waittill("off"); + self.modelent scriptmodelclearanim(); + self.modelent stoploopsound(); + } +} + +//Function Number: 8 +power_anim_model_fx(param_00) +{ + self endon("off"); + self endon("on"); + var_01["TAG_ORIGIN"] = "power_station_exhaust_fx"; + var_01["TAG_POWERSTATION_TURBINE_FX1"] = "power_station_main_fx"; + var_01["TAG_POWERSTATION_BEACON_FX1"] = "power_station_beacon_fx"; + var_01["TAG_POWERSTATION_BEACON_FX2"] = "power_station_beacon_fx"; + var_02["TAG_ORIGIN"] = "power_station_fx_off"; + if(!isdefined(self.modelent.firstfx)) + { + self.modelent.firstfx = 1; + } + + if(param_00) + { + if(!self.modelent.firstfx) + { + foreach(var_05, var_04 in var_02) + { + maps\mp\zombies\_util::killfxontagnetwork(common_scripts\utility::getfx(var_04),self.modelent,var_05); + } + } + + foreach(var_05, var_04 in var_01) + { + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx(var_04),self.modelent,var_05); + } + } + else + { + if(!self.modelent.firstfx) + { + foreach(var_05, var_05 in var_04) + { + maps\mp\zombies\_util::stopfxontagnetwork(common_scripts\utility::getfx(var_05),self.modelent,var_07); + } + } + + foreach(var_05, var_04 in var_02) + { + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx(var_04),self.modelent,var_05); + } + } + + self.modelent.firstfx = 0; +} + +//Function Number: 9 +power_show_ent_run() +{ + self endon("death"); + if(!isdefined(self.script_flag)) + { + power_error("Power show entity at " + self.origin + " missing script_flag."); + return; + } + + for(;;) + { + self hide(); + common_scripts\utility::flag_wait(self.script_flag); + self show(); + common_scripts\utility::flag_waitopen(self.script_flag); + } +} + +//Function Number: 10 +power_hide_ent_run() +{ + self endon("death"); + if(!isdefined(self.script_flag)) + { + power_error("Power hide entity at " + self.origin + " missing script_flag."); + return; + } + + for(;;) + { + self show(); + common_scripts\utility::flag_wait(self.script_flag); + self hide(); + common_scripts\utility::flag_waitopen(self.script_flag); + } +} + +//Function Number: 11 +power_error(param_00) +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/_teleport.gsc b/AW/PC/maps/mp/zombies/_teleport.gsc new file mode 100644 index 0000000..c0358ea --- /dev/null +++ b/AW/PC/maps/mp/zombies/_teleport.gsc @@ -0,0 +1,560 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_teleport.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 21 + * Decompile Time: 454 ms + * Timestamp: 4/22/2024 2:13:53 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level._effect["trash_chute_burst"] = loadfx("vfx/props/dlc_prop_trash_chute_burst"); + precachempanim("incinerator_hatch_open"); + precachempanim("incinerator_hatch_close"); + if(!isdefined(level.zmteleportreadyhint)) + { + level.zmteleportreadyhint = &"ZOMBIES_TELEPORT_USE"; + } + + if(!isdefined(level.zmteleportlookarcs)) + { + level.zmteleportlookarcs = [20,20,0,30]; + } + + level.teleportrooms = common_scripts\utility::getstructarray("teleport_room","targetname"); + if(level.teleportrooms.size) + { + level.teleportroomindex = 0; + } + + level.zombieteleporters = common_scripts\utility::getstructarray("zombie_teleport","targetname"); + common_scripts\utility::array_thread(level.zombieteleporters,::teleporter_init); + level thread teleporter_cost(); +} + +//Function Number: 2 +teleporter_init() +{ + self.disabled = 0; + var_00 = getentarray(self.target,"targetname"); + var_01 = common_scripts\utility::getstructarray(self.target,"targetname"); + var_02 = common_scripts\utility::array_combine(var_00,var_01); + foreach(var_04 in var_02) + { + var_05 = var_04.script_noteworthy; + if(!isdefined(var_05)) + { + var_05 = ""; + } + + if(isdefined(level.zmteleporterinit) && [[ level.zmteleporterinit ]](var_04,var_05)) + { + continue; + } + + switch(var_05) + { + case "start": + self.start = var_04; + break; + + case "end": + thread teleport_add_location(var_04); + break; + + case "hatch": + self.hatch = var_04; + break; + + default: + teleport_error("Target Ent @ " + var_04.origin + " had script_noteworthy: \'" + var_05 + "\'."); + break; + } + } + + if(!isdefined(self.start)) + { + teleport_error("Teleporter at" + self.origin + " has no start trigger."); + return; + } + + thread teleporter_run(); +} + +//Function Number: 3 +teleporter_disable_all() +{ + common_scripts\utility::array_thread(level.zombieteleporters,::teleporter_disable); +} + +//Function Number: 4 +teleporter_disable() +{ + self notify("teleporter_disable"); + self endon("teleporter_disable"); + if(self.disabled) + { + return; + } + + if(self.inuse) + { + self waittill("teleportReady"); + } + + self.disabled = 1; + self.start sethintstring(&"ZOMBIES_EMPTY_STRING"); + self.start setsecondaryhintstring(&"ZOMBIES_EMPTY_STRING"); + self.start maps\mp\zombies\_util::tokenhintstring(0); +} + +//Function Number: 5 +teleporter_enable_all() +{ + common_scripts\utility::array_thread(level.zombieteleporters,::teleporter_enable); +} + +//Function Number: 6 +teleporter_enable() +{ + if(!self.disabled) + { + return; + } + + self.disabled = 0; + self.start sethintstring(level.zmteleportreadyhint); + var_00 = teleporter_get_cost(); + self.start setsecondaryhintstring(maps\mp\zombies\_util::getcoststring(var_00)); + self.start maps\mp\zombies\_util::settokencost(maps\mp\zombies\_util::creditstotokens(var_00)); + self.start maps\mp\zombies\_util::tokenhintstring(1); +} + +//Function Number: 7 +teleporter_run() +{ + self.inuse = 0; + wait 0.05; + if(isdefined(self.script_flag_true)) + { + self.start sethintstring(&"ZOMBIES_REQUIRES_POWER"); + self.start maps\mp\zombies\_util::tokenhintstring(0); + common_scripts\utility::flag_wait(self.script_flag_true); + } + + if(!self.locations.size) + { + self waittill("location_added"); + } + + thread teleporter_update_cost(); + var_00 = 1; + for(;;) + { + self.start setcursorhint("HINT_NOICON"); + self.start sethintstring(level.zmteleportreadyhint); + self.start maps\mp\zombies\_util::tokenhintstring(1); + self.inuse = 0; + self notify("teleportReady"); + for(;;) + { + var_01 = self.start maps\mp\zombies\_util::waittilltriggerortokenuse(); + var_02 = var_01[0]; + var_03 = var_01[1]; + if(self.disabled) + { + continue; + } + + if(var_03 == "token") + { + var_02 maps\mp\gametypes\zombies::spendtoken(self.start.tokencost); + } + else + { + var_04 = teleporter_get_cost(); + if(isdefined(level.penaltycostincrease)) + { + for(var_05 = 0;var_05 < level.penaltycostincrease;var_05++) + { + var_06 = maps\mp\zombies\_util::getincreasedcost(var_04); + var_04 = var_06; + } + } + + if(isdefined(var_02) && var_04 > 0 && !var_02 maps\mp\gametypes\zombies::attempttobuy(var_04)) + { + continue; + } + } + + break; + } + + self.inuse = 1; + level notify("teleportUse",self,var_02); + self.start sethintstring(&"ZOMBIES_EMPTY_STRING"); + self.start maps\mp\zombies\_util::tokenhintstring(0); + if(isdefined(level.zmteleporterused)) + { + [[ level.zmteleporterused ]](var_02); + } + + if(isdefined(self.hatch)) + { + playfx(common_scripts\utility::getfx("trash_chute_burst"),self.hatch.origin,anglestoup(self.hatch.angles),-1 * anglestoforward(self.hatch.angles)); + playsoundatpos(self.hatch.origin,"trash_chute_teleport_open"); + self.hatch scriptmodelplayanim("incinerator_hatch_open","hatch"); + self.hatch waittillmatch("teleport","hatch"); + } + + thread teleport_players_loop(); + wait(var_00); + self notify("end_teleport_players_loop"); + if(isdefined(self.hatch)) + { + self.hatch scriptmodelplayanim("incinerator_hatch_close","hatch"); + self.hatch waittillmatch("end","hatch"); + } + } +} + +//Function Number: 8 +teleport_players_loop() +{ + self endon("end_teleport_players_loop"); + for(;;) + { + var_00 = []; + foreach(var_02 in level.players) + { + if(var_02 istouching(self.start)) + { + var_00[var_00.size] = var_02; + } + } + + level notify("teleportPlayers",var_00); + self notify("teleportPlayers",var_00); + thread teleport_players(var_00); + wait 0.05; + } +} + +//Function Number: 9 +teleporter_cost() +{ + thread teleporter_update_cost_on_teleport(); + thread teleporter_update_cost_on_round_end(); +} + +//Function Number: 10 +teleporter_update_cost() +{ + foreach(var_01 in level.zombieteleporters) + { + var_02 = var_01 teleporter_get_cost(); + var_01.start setsecondaryhintstring(maps\mp\zombies\_util::getcoststring(var_02)); + var_01.start maps\mp\zombies\_util::settokencost(maps\mp\zombies\_util::creditstotokens(var_02)); + var_01.start maps\mp\zombies\_util::tokenhintstring(1); + } +} + +//Function Number: 11 +teleporter_get_cost() +{ + var_00 = [100,500,2000]; + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "incinerator") + { + return 0; + } + + var_01 = level.teleport_cost_index; + if(var_01 >= var_00.size) + { + var_01 = var_00.size - 1; + } + + if(var_01 < 0) + { + var_01 = 0; + } + + return var_00[var_01]; +} + +//Function Number: 12 +teleporter_update_cost_on_teleport() +{ + level.teleport_cost_index = 0; + for(;;) + { + teleporter_update_cost(); + level waittill("teleportUse",var_00,var_01); + if(!isdefined(var_01)) + { + continue; + } + + level.teleport_cost_index++; + } +} + +//Function Number: 13 +teleporter_update_cost_on_round_end(param_00) +{ + for(;;) + { + level waittill("zombie_wave_ended"); + level.teleport_cost_index = 0; + teleporter_update_cost(); + } +} + +//Function Number: 14 +player_teleport_unlink(param_00) +{ + self endon("disconnect"); + wait(param_00); + self unlink(); +} + +//Function Number: 15 +teleport_players_through_chute(param_00,param_01,param_02) +{ + if(!isdefined(param_01)) + { + param_01 = 1; + } + + var_03 = 2; + var_04 = (0,0,-40); + foreach(var_06 in param_00) + { + if(!isdefined(var_06) || !isalive(var_06)) + { + continue; + } + + var_07 = var_06 getstance(); + if(var_07 == "prone") + { + var_06 setstance("crouch"); + } + + var_06 playsoundtoplayer("trash_chute_teleport",var_06); + var_08 = level.teleportrooms[level.teleportroomindex]; + var_09 = var_08.origin; + var_0A = var_08.angles; + var_06 player_teleport(var_09,var_0A); + var_06.inteleport = 1; + if(param_01) + { + var_06 thread maps\mp\zombies\_zombies_audio::playertrashchute(); + } + + if(isdefined(var_08.target)) + { + var_0B = common_scripts\utility::getstruct(var_08.target,"targetname"); + if(!isdefined(var_08.playerlinkent)) + { + var_08.playerlinkent = spawn("script_model",var_08.origin); + var_08.playerlinkent setmodel("tag_origin"); + var_08.playerlinkent.angles = var_08.angles; + } + + var_08.playerlinkent.origin = var_08.origin + var_04; + var_0C = level.zmteleportlookarcs[0]; + var_0D = level.zmteleportlookarcs[1]; + var_0E = level.zmteleportlookarcs[2]; + var_0F = level.zmteleportlookarcs[3]; + var_06 playerlinktodelta(var_08.playerlinkent,"tag_origin",1,var_0C,var_0D,var_0E,var_0F); + var_08.playerlinkent moveto(var_0B.origin + var_04,var_03,var_03,0); + var_06 thread player_teleport_unlink(var_03); + } + + if(isdefined(level.zmteleporterroomenter)) + { + [[ level.zmteleporterroomenter ]](param_00,param_02); + } + + level.teleportroomindex++; + level.teleportroomindex = level.teleportroomindex % level.teleportrooms.size; + } + + wait(var_03); +} + +//Function Number: 16 +teleport_players(param_00) +{ + if(!param_00.size) + { + return; + } + + if(isdefined(level.teleportroomindex)) + { + teleport_players_through_chute(param_00); + } + else if(isdefined(level.zmteleporterplayers)) + { + [[ level.zmteleporterplayers ]](param_00); + } + + var_01 = self.locations; + if(isdefined(self.overridelocations)) + { + var_01 = self.overridelocations; + self.overridelocations = undefined; + } + + while(isdefined(var_01) && var_01.size) + { + var_02 = common_scripts\utility::random(var_01); + foreach(var_04 in param_00) + { + var_05 = var_02.origin; + var_06 = var_02.angles; + if(var_02.playerlocations.size) + { + var_05 = var_02.playerlocations[var_02.nextplayloc].origin; + var_06 = var_02.playerlocations[var_02.nextplayloc].angles; + var_02.nextplayloc++; + var_02.nextplayloc = var_02.nextplayloc % var_02.playerlocations.size; + } + + if(isdefined(var_04)) + { + var_04 player_teleport(var_05,var_06); + } + } + + if(isdefined(var_02.fxloc)) + { + playfx(common_scripts\utility::getfx("trash_chute_burst"),var_02.fxloc.origin,anglestoforward(var_02.fxloc.angles)); + } + + if(isdefined(var_02.script_wait)) + { + wait(var_02.script_wait); + } + + var_01 = var_02.locations; + } + + if(isdefined(level.zmteleporterplayers)) + { + self thread [[ level.zmteleporterplayers ]](param_00); + } + + thread reset_teleport_flag_after_time(param_00,0.75); +} + +//Function Number: 17 +reset_teleport_flag_after_time(param_00,param_01) +{ + wait(param_01); + foreach(var_03 in param_00) + { + if(isdefined(var_03)) + { + var_03.inteleport = 0; + } + } +} + +//Function Number: 18 +player_teleport(param_00,param_01) +{ + self setorigin(param_00,1); + self setplayerangles(param_01); +} + +//Function Number: 19 +set_default_angles() +{ + if(!isdefined(self.angles)) + { + self.angles = (0,0,0); + } +} + +//Function Number: 20 +teleport_error(param_00) +{ +} + +//Function Number: 21 +teleport_add_location(param_00) +{ + if(!isdefined(self.locations)) + { + self.locations = []; + } + + param_00 set_default_angles(); + if(!isdefined(param_00.playerlocations)) + { + param_00.nextplayloc = 0; + param_00.playerlocations = []; + } + + if(isdefined(param_00.script_flag)) + { + common_scripts\utility::flag_wait(param_00.script_flag); + } + + if(isdefined(param_00.target)) + { + var_01 = common_scripts\utility::getstructarray(param_00.target,"targetname"); + var_02 = []; + foreach(var_04 in var_01) + { + var_05 = var_04.script_noteworthy; + if(!isdefined(var_05)) + { + var_05 = "end"; + } + + switch(var_05) + { + case "player": + var_04 set_default_angles(); + param_00.playerlocations[param_00.playerlocations.size] = var_04; + break; + + case "end": + var_02[var_02.size] = var_04; + break; + + case "fx": + var_04 set_default_angles(); + param_00.fxloc = var_04; + break; + + default: + break; + } + } + + if(var_02.size) + { + foreach(var_08 in var_02) + { + param_00 thread teleport_add_location(var_08); + } + + if(!self.locations.size) + { + param_00 waittill("location_added"); + } + } + } + + self notify("location_added"); + self.locations[self.locations.size] = param_00; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/_terminals.gsc b/AW/PC/maps/mp/zombies/_terminals.gsc new file mode 100644 index 0000000..1a0ee05 --- /dev/null +++ b/AW/PC/maps/mp/zombies/_terminals.gsc @@ -0,0 +1,2363 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_terminals.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 124 + * Decompile Time: 1846 ms + * Timestamp: 4/22/2024 2:13:59 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + precacheterminalfx(); + level.terminalitems = []; + var_00 = initterminalitem("exo_suit",&"ZOMBIES_EXO_SUIT",&"ZOMBIES_BUY_EXO_SUIT",0,0,"ui_zm_exo_suit"); + var_00 setteminalfx("station_buy_exo_pwr_on","station_buy_exo_pwr_off"); + var_00 = initterminalitem("exo_health",&"ZOMBIES_PERK_HEALTH",&"ZOMBIES_BUY_PERK_HEALTH",2500,1,"ui_zm_exo_health"); + var_00 setteminalfx("station_upgrade_exo_health_pwr_on","station_upgrade_exo_health_pwr_off"); + var_00 = initterminalitem("specialty_fastreload",&"ZOMBIES_PERK_RELOAD",&"ZOMBIES_BUY_PERK_RELOAD",2000,1,"ui_zm_exo_reload"); + var_00 setteminalfx("station_upgrade_exo_reload_pwr_on","station_upgrade_exo_reload_pwr_off"); + if(!maps\mp\zombies\_util::iszombieshardmode()) + { + var_00 = initterminalitem("exo_revive",&"ZOMBIES_PERK_REVIVE",&"ZOMBIES_BUY_PERK_REVIVE",1500,1,"ui_zm_exo_revive"); + var_00 setsolooverrides(500,0,3); + var_00 setteminalfx("station_upgrade_exo_revive_pwr_on","station_upgrade_exo_revive_pwr_off"); + } + + var_00 = initterminalitem("exo_stabilizer",&"ZOMBIES_PERK_STABILIZER",&"ZOMBIES_BUY_PERK_STABILIZER",1750,1,"ui_zm_exo_stabilizer"); + var_00 setteminalfx("station_upgrade_exo_stabilizer_pwr_on","station_upgrade_exo_stabilizer_pwr_off"); + var_00 = initterminalitem("exo_slam",&"ZOMBIES_PERK_SLAM",&"ZOMBIES_BUY_PERK_SLAM",2000,1,"ui_zm_exo_slam"); + var_00 setteminalfx("station_upgrade_exo_slam_pwr_on","station_upgrade_exo_slam_pwr_off"); + var_00 = initterminalitem("exo_tacticalArmor",&"ZOMBIES_PERK_TACTICALARMOR",&"ZOMBIES_BUY_PERK_TACTICALARMOR",2000,1,"ui_zm_exo_tacticalarmor"); + var_00 setteminalfx("station_upgrade_exo_tactarmor_pwr_on","station_upgrade_exo_tactarmor_pwr_off"); + initterminalitem("host_cure",&"ZOMBIES_HOST_CURE",&"ZOMBIES_BUY_HOST_CURE",250,0); + initterminalitem("atm",&"ZOMBIES_MONEY",&"ZOMBIES_BUY_MONEY",0,0); + level.hostcuremodels = []; + level.terminals = []; + initterminals("perk_terminal",::perkterminaltriggerthink); + initterminals("exo_terminal",::perkterminaltriggerthink); + initterminals("atm_terminal",::atmterminalthink,::atmterminalroundupdate); + if(!maps\mp\zombies\_util::iszombieshardmode() && isdefined(level.terminals["exo_revive"])) + { + var_01 = level.terminals["exo_revive"]; + for(var_02 = 0;var_02 < var_01.size;var_02++) + { + for(var_03 = var_02 + 1;var_03 < var_01.size;var_03++) + { + if(isdefined(var_01[var_02].script_index) && isdefined(var_01[var_03].script_index) && var_01[var_02].script_index == var_01[var_03].script_index) + { + var_01[var_02].linkedterminal = var_01[var_03]; + var_01[var_03].linkedterminal = var_01[var_02]; + } + } + } + } + + precacheterminalanims(); + level thread playercountwatch(); +} + +//Function Number: 2 +onplayerspawn() +{ + self.zm_perks = []; + maps\mp\_utility::playerallowhighjumpdrop(0,"exoSlam"); + self setclientomnvar("ui_zm_exo_slam_next_time",0); + foreach(var_01 in level.terminalitems) + { + if(isdefined(var_01.omnvar)) + { + self setclientomnvar(var_01.omnvar,0); + } + } + + perkupdatesortorder(); +} + +//Function Number: 3 +playercountwatch() +{ + for(;;) + { + var_00 = level.players.size; + while(var_00 == level.players.size) + { + wait 0.05; + } + + level notify("playerCountUpdate"); + } +} + +//Function Number: 4 +precacheterminalanims() +{ + if(getiteminmap("host_cure")) + { + precachempanim("xom_host_cure_station_start"); + precachempanim("xom_host_cure_station_loop"); + precachempanim("xom_host_cure_station_stop"); + } +} + +//Function Number: 5 +precacheterminalfx() +{ + level._effect["zombie_exo_slam"] = loadfx("vfx/gameplay/mp/zombie/dlc_exo_slam_impact"); + level._effect["zombie_host_cure"] = loadfx("vfx/props/dlc_prop_health_station_cure"); + level._effect["zombie_host_cure_idle"] = loadfx("vfx/props/dlc_prop_health_station_idle"); + level._effect["zombie_host_cure_cooldown"] = loadfx("vfx/props/dlc_prop_health_station_cooldown"); + level._effect["exo_equip"] = loadfx("vfx/props/dlc_prop_exo_buy_fx_character"); + level._effect["atm_jackpot"] = loadfx("vfx/props/dlc_prop_cashbox_cash_shooter"); +} + +//Function Number: 6 +initterminalitem(param_00,param_01,param_02,param_03,param_04,param_05) +{ + var_06 = spawnstruct(); + var_06.name = param_00; + var_06.locname = param_01; + var_06.locbuyname = param_02; + var_06.cost = param_03; + var_06.requiresexo = param_04; + var_06.inmap = 0; + var_06.omnvar = param_05; + var_06.numbuys = 0; + var_06.maxbuys = -1; + level.terminalitems[param_00] = var_06; + return var_06; +} + +//Function Number: 7 +setsolooverrides(param_00,param_01,param_02) +{ + self.costsolo = param_00; + self.requiresexosolo = param_01; + self.maxbuyssolo = param_02; +} + +//Function Number: 8 +setteminalfx(param_00,param_01) +{ + self.onfx = common_scripts\utility::getfx(param_00); + self.offfx = common_scripts\utility::getfx(param_01); +} + +//Function Number: 9 +hasexosuit() +{ + return isdefined(self.exosuitonline) && self.exosuitonline; +} + +//Function Number: 10 +getitemlocname(param_00) +{ + return level.terminalitems[param_00].locname; +} + +//Function Number: 11 +getitemlocbuy(param_00) +{ + return level.terminalitems[param_00].locbuyname; +} + +//Function Number: 12 +getitemcostsolo(param_00) +{ + var_01 = level.terminalitems[param_00].costsolo; + if(isdefined(level.penaltycostincrease)) + { + for(var_02 = 0;var_02 < level.penaltycostincrease;var_02++) + { + var_03 = maps\mp\zombies\_util::getincreasedcost(var_01); + var_01 = var_03; + } + } + + return var_01; +} + +//Function Number: 13 +getitemcost(param_00) +{ + if(isdefined(level.terminalitems[param_00].costsolo) && level.players.size == 1) + { + return getitemcostsolo(param_00); + } + + var_01 = level.terminalitems[param_00].cost; + if(isdefined(level.penaltycostincrease)) + { + for(var_02 = 0;var_02 < level.penaltycostincrease;var_02++) + { + var_03 = maps\mp\zombies\_util::getincreasedcost(var_01); + var_01 = var_03; + } + } + + return var_01; +} + +//Function Number: 14 +getitemrequiresexo(param_00) +{ + if(isdefined(level.terminalitems[param_00].requiresexosolo) && level.players.size == 1) + { + return level.terminalitems[param_00].requiresexosolo; + } + + return level.terminalitems[param_00].requiresexo; +} + +//Function Number: 15 +getitemloccost(param_00) +{ + return maps\mp\zombies\_util::getcoststring(getitemcost(param_00)); +} + +//Function Number: 16 +getiteminmap(param_00) +{ + return level.terminalitems[param_00].inmap; +} + +//Function Number: 17 +getitemomnvar(param_00) +{ + return level.terminalitems[param_00].omnvar; +} + +//Function Number: 18 +getitemnumbuys(param_00) +{ + return level.terminalitems[param_00].numbuys; +} + +//Function Number: 19 +getitemmaxsolobuys(param_00) +{ + return level.terminalitems[param_00].maxbuyssolo; +} + +//Function Number: 20 +getitemmaxbuys(param_00) +{ + if(isdefined(level.terminalitems[param_00].maxbuyssolo) && level.players.size == 1) + { + return level.terminalitems[param_00].maxbuyssolo; + } + + return level.terminalitems[param_00].maxbuys; +} + +//Function Number: 21 +setiteminmap(param_00) +{ + level.terminalitems[param_00].inmap = 1; +} + +//Function Number: 22 +setitemusecount(param_00,param_01) +{ + level.terminalitems[param_00].numbuys = param_01; +} + +//Function Number: 23 +itemhasuses(param_00) +{ + var_01 = getitemmaxbuys(param_00); + return var_01 < 0 || var_01 > getitemnumbuys(param_00); +} + +//Function Number: 24 +getitemtype() +{ + if(isdefined(self.script_parameters)) + { + return self.script_parameters; + } + + switch(self.targetname) + { + case "exo_terminal": + return "exo_suit"; + + default: + return "none"; + } +} + +//Function Number: 25 +getterminaltrigger() +{ + switch(self.itemtype) + { + case "atm": + return getent(self.target,"targetname"); + + default: + return self; + } +} + +//Function Number: 26 +getterminalmodel() +{ + switch(self.itemtype) + { + case "host_cure": + return undefined; + + case "exo_tacticalArmor": + case "exo_slam": + case "exo_stabilizer": + case "exo_revive": + case "specialty_fastreload": + case "exo_suit": + case "exo_health": + return getent(self.target,"targetname"); + + default: + return self; + } +} + +//Function Number: 27 +getterminallight() +{ + switch(self.itemtype) + { + case "exo_tacticalArmor": + case "exo_slam": + case "exo_stabilizer": + case "exo_revive": + case "specialty_fastreload": + case "exo_suit": + case "exo_health": + var_00 = getent(self.target,"targetname"); + if(isdefined(var_00) && isdefined(var_00.target)) + { + return getent(var_00.target,"targetname"); + } + + break; + + default: + break; + } +} + +//Function Number: 28 +getterminalhintstring(param_00) +{ + var_01 = terminal_has_power(); + var_02 = 0; + var_03 = itemhasuses(self.itemtype); + var_04 = maps\mp\zombies\_util::is_true(self.terminaldisabled); + if(var_04) + { + return ""; + } + + var_05 = self.itemtype == "exo_suit"; + if(isdefined(param_00)) + { + var_02 = param_00 perkterminalhasexosuit("exo_suit") || !getitemrequiresexo(self.itemtype) && !var_05; + if(self.itemtype != "host_cure" && !var_05) + { + if(!var_03) + { + return &"ZOMBIES_ALL_USED"; + } + else if(!var_02) + { + return &"ZOMBIES_REQUIRES_EXO"; + } + else if(!var_01) + { + return &"ZOMBIES_REQUIRES_POWER"; + } + } + } + + switch(self.itemtype) + { + case "exo_slam": + if(!param_00 perkterminalhasexoslam(self.itemtype)) + { + return getitemlocbuy(self.itemtype); + } + break; + + case "exo_health": + if(!param_00 perkterminalhasexohealth(self.itemtype)) + { + return getitemlocbuy(self.itemtype); + } + break; + + case "exo_revive": + if(!param_00 perkterminalhasexorevive(self.itemtype)) + { + return getitemlocbuy(self.itemtype); + } + break; + + case "exo_stabilizer": + if(!param_00 perkterminalhasexostabilizer(self.itemtype)) + { + return getitemlocbuy(self.itemtype); + } + break; + + case "specialty_fastreload": + if(!param_00 perkterminalhas(self.itemtype)) + { + return getitemlocbuy(self.itemtype); + } + break; + + case "exo_tacticalArmor": + if(!param_00 perkterminalhasexotacticalarmor(self.itemtype)) + { + return getitemlocbuy(self.itemtype); + } + break; + + case "host_cure": + if(!var_01) + { + return &"ZOMBIES_REQUIRES_POWER"; + } + else if(perkterminalcoolingdown()) + { + return &"ZOMBIES_CURE_COOLDOWN_HINT"; + } + else if(maps\mp\zombies\_util::is_true(self.terminalrunning)) + { + return &"ZOMBIES_CURE_ACTIVE_HINT"; + } + else + { + return getitemlocbuy(self.itemtype); + } + break; + + case "exo_suit": + if(!var_01) + { + return &"ZOMBIES_REQUIRES_POWER"; + } + else if(!var_02) + { + return getitemlocbuy(self.itemtype); + } + break; + + default: + break; + } + + return ""; +} + +//Function Number: 29 +getterminalsecondaryhintstring(param_00) +{ + var_01 = terminal_has_power(); + var_02 = 0; + var_03 = itemhasuses(self.itemtype); + var_04 = maps\mp\zombies\_util::is_true(self.terminaldisabled); + self.showtokenstring = 0; + if(var_04) + { + return ""; + } + + var_05 = self.itemtype == "exo_suit"; + if(isdefined(param_00)) + { + var_02 = param_00 perkterminalhasexosuit("exo_suit") || !getitemrequiresexo(self.itemtype) && !var_05; + if(self.itemtype != "host_cure" && !var_05) + { + if(!var_03) + { + return ""; + } + else if(!var_01 && !var_02) + { + return &"ZOMBIES_REQUIRES_POWER"; + } + else if(!var_02 || !var_01) + { + return ""; + } + } + } + + switch(self.itemtype) + { + case "exo_slam": + if(level.currentgen && param_00 perkterminalhasexoslam(self.itemtype)) + { + return ""; + } + + self.showtokenstring = getitemcost(self.itemtype) > 0; + return getitemloccost(self.itemtype); + + case "exo_health": + if(level.currentgen && param_00 perkterminalhasexohealth(self.itemtype)) + { + return ""; + } + + self.showtokenstring = getitemcost(self.itemtype) > 0; + return getitemloccost(self.itemtype); + + case "exo_revive": + if(level.currentgen && param_00 perkterminalhasexorevive(self.itemtype)) + { + return ""; + } + + self.showtokenstring = getitemcost(self.itemtype) > 0; + return getitemloccost(self.itemtype); + + case "exo_stabilizer": + if(level.currentgen && param_00 perkterminalhasexostabilizer(self.itemtype)) + { + return ""; + } + + self.showtokenstring = getitemcost(self.itemtype) > 0; + return getitemloccost(self.itemtype); + + case "specialty_fastreload": + if(level.currentgen && param_00 perkterminalhasexofastreload(self.itemtype)) + { + return ""; + } + + self.showtokenstring = getitemcost(self.itemtype) > 0; + return getitemloccost(self.itemtype); + + case "exo_tacticalArmor": + if(level.currentgen && param_00 perkterminalhasexotacticalarmor(self.itemtype)) + { + return ""; + } + + self.showtokenstring = getitemcost(self.itemtype) > 0; + return getitemloccost(self.itemtype); + + case "host_cure": + if(var_01 && !perkterminalcoolingdown() || maps\mp\zombies\_util::is_true(self.terminalrunning)) + { + self.showtokenstring = getitemcost(self.itemtype) > 0; + return getitemloccost(self.itemtype); + } + break; + + case "exo_suit": + self.showtokenstring = getitemcost(self.itemtype) > 0; + break; + + default: + break; + } + + return ""; +} + +//Function Number: 30 +terminalhintstringupdate(param_00) +{ + param_00 endon("disconnect"); + thread terminalupdatehintstringonconnect(param_00); + thread terminalupdatehintstringondisconnect(param_00); + thread terminalupdatehintstringpower(param_00); + for(;;) + { + waittillframeend; + var_01 = getterminalhintstring(param_00); + self sethintstring(var_01); + var_02 = getterminalsecondaryhintstring(param_00); + self setsecondaryhintstring(var_02); + maps\mp\zombies\_util::settokencost(maps\mp\zombies\_util::creditstotokens(getitemcost(self.itemtype))); + maps\mp\zombies\_util::tokenhintstring(self.showtokenstring); + self setcursorhint("HINT_NOICON"); + param_00 common_scripts\utility::waittill_any("terminal_activated","terminalPlayerConnected","terminalPlayerDisconnected","terminalPowerActivated","player_infected","take_perk"); + } +} + +//Function Number: 31 +cg_onplayerconnectedterminalhintstringupdate(param_00) +{ + param_00 endon("death"); + for(;;) + { + level waittill("connected",var_01); + param_00 thread cg_terminalhintstringupdate(var_01); + } +} + +//Function Number: 32 +cg_terminalhintstringupdate(param_00) +{ + param_00 endon("disconnect"); + thread terminalupdatehintstringonconnect(param_00); + thread terminalupdatehintstringondisconnect(param_00); + thread terminalupdatehintstringpower(param_00); + maps\mp\zombies\_util::cg_setupstorestrings(param_00); + for(;;) + { + while(!param_00 istouching(self)) + { + wait(0.1); + } + + waittillframeend; + param_00.storedescription settext(getterminalhintstring(param_00)); + param_00.storecost settext(getterminalsecondaryhintstring(param_00)); + cg_terminalwaittilltriggerexit(param_00); + param_00.storedescription settext(""); + param_00.storecost settext(""); + } +} + +//Function Number: 33 +cg_terminalwaittilltriggerexit(param_00) +{ + param_00 endon("terminalStateChange"); + childthread cg_terminalwaittillstatechange(param_00); + while(param_00 istouching(self)) + { + wait(0.1); + } +} + +//Function Number: 34 +cg_terminalwaittillstatechange(param_00) +{ + param_00 common_scripts\utility::waittill_any("terminal_activated","terminalPlayerConnected","terminalPlayerDisconnected","terminalPowerActivated","player_infected","take_perk"); + param_00 notify("terminalStateChange"); +} + +//Function Number: 35 +terminalupdatehintstringsmulticlient() +{ + thread terminalupdatehintstringonconnect(); + thread terminalupdatehintstringpower(); + for(;;) + { + waittillframeend; + self setcursorhint("HINT_NOICON"); + var_00 = getterminalhintstring(); + self sethintstring(var_00); + var_01 = getterminalsecondaryhintstring(); + self setsecondaryhintstring(var_01); + maps\mp\zombies\_util::settokencost(maps\mp\zombies\_util::creditstotokens(getitemcost(self.itemtype))); + maps\mp\zombies\_util::tokenhintstring(self.showtokenstring); + level common_scripts\utility::waittill_any("terminal_activated","terminalPlayerConnected","terminalPowerActivated","player_infected","terminal_cooldown_ended","terminal_cooldown_started","terminal_disabled","terminal_reenabled"); + } +} + +//Function Number: 36 +terminalupdatehintstringpower(param_00) +{ + if(isdefined(param_00)) + { + param_00 endon("disconnect"); + } + + if(!terminal_requires_power()) + { + return; + } + + for(;;) + { + common_scripts\utility::flag_wait(self.script_flag_true); + if(isdefined(param_00)) + { + param_00 notify("terminalPowerActivated"); + } + + level notify("terminalPowerActivated"); + common_scripts\utility::flag_waitopen(self.script_flag_true); + if(isdefined(param_00)) + { + param_00 notify("terminalPowerActivated"); + } + + level notify("terminalPowerActivated"); + } +} + +//Function Number: 37 +terminalupdatehintstringonconnect(param_00) +{ + if(isdefined(param_00)) + { + param_00 endon("disconnect"); + } + + if(!isdefined(level.terminalitems[self.itemtype].costsolo)) + { + return; + } + + for(;;) + { + level waittill("connected"); + if(isdefined(param_00)) + { + param_00 notify("terminalPlayerConnected"); + } + + level notify("terminalPlayerConnected"); + } +} + +//Function Number: 38 +terminalupdatehintstringondisconnect(param_00) +{ + if(!isdefined(level.terminalitems[self.itemtype].costsolo)) + { + return; + } + + param_00 waittill("disconnect"); + foreach(param_00 in level.players) + { + param_00 notify("terminalPlayerDisconnected"); + } +} + +//Function Number: 39 +initterminals(param_00,param_01,param_02) +{ + var_03 = getentarray(param_00,"targetname"); + foreach(var_05 in var_03) + { + var_05.itemtype = var_05 getitemtype(); + if(maps\mp\zombies\_util::iszombieshardmode() && var_05.itemtype == "exo_revive") + { + var_06 = var_05 getterminallight(); + if(isdefined(var_06)) + { + var_06 setlightintensity(0); + } + + var_05 delete(); + continue; + } + + if(isdefined(var_05.script_flag_true) && !common_scripts\utility::flag_exist(var_05.script_flag_true)) + { + common_scripts\utility::flag_init(var_05.script_flag_true); + } + + setiteminmap(var_05.itemtype); + var_07 = var_05 getterminaltrigger(); + var_05.trigger = var_07; + var_07.modelent = var_05 getterminalmodel(); + var_07.light = var_05 getterminallight(); + if(!isdefined(level.terminals[var_05.itemtype])) + { + level.terminals[var_05.itemtype] = []; + } + + var_08 = level.terminals[var_05.itemtype].size; + level.terminals[var_05.itemtype][var_08] = var_05; + var_07.itemtype = var_05.itemtype; + if(level.nextgen) + { + if(maps\mp\zombies\_util::isusetriggerforsingleclient(var_07)) + { + maps\mp\zombies\_util::setupusetriggerforclient(var_07,::terminalhintstringupdate); + } + else if(param_00 != "atm_terminal") + { + var_07 thread terminalupdatehintstringsmulticlient(); + } + } + else if(param_00 != "atm_terminal") + { + foreach(var_0A in level.players) + { + var_07 thread cg_terminalhintstringupdate(var_0A); + } + + thread cg_onplayerconnectedterminalhintstringupdate(var_07); + } + + var_07 thread [[ param_01 ]](); + } + + if(isdefined(param_02)) + { + thread [[ param_02 ]](var_03); + } +} + +//Function Number: 40 +atmterminalroundupdate(param_00) +{ + var_01 = 1; + for(;;) + { + level waittill("zombie_wave_ended"); + var_02 = 0; + var_03 = 0; + var_04 = 1; + foreach(var_06 in param_00) + { + if(var_06.trigger.active) + { + var_02++; + } + + if(var_06.trigger.activationcount < var_01) + { + var_04 = 0; + } + } + + if(var_04) + { + var_01++; + } + + param_00 = common_scripts\utility::array_randomize(param_00); + for(var_08 = 0;var_08 < param_00.size && var_02 < 4 && var_03 < 2;var_08++) + { + if(param_00[var_08].trigger.active) + { + continue; + } + + if(param_00[var_08].trigger.activationcount >= var_01) + { + continue; + } + + param_00[var_08].trigger notify("atm_on"); + var_02++; + var_03++; + } + } +} + +//Function Number: 41 +atmterminalthink() +{ + self.activationcount = 0; + self.usedcount = 0; + self.forcejackpot = 0; + thread atmterminalfx(); + maps\mp\_utility::gameflagwait("prematch_done"); + var_00 = 0.01; + for(;;) + { + self.active = 0; + self sethintstring(&"ZOMBIES_EMPTY_STRING"); + self waittill("atm_on"); + self.activationcount++; + self.active = 1; + self sethintstring(getitemlocbuy(self.itemtype)); + self waittill("trigger",var_01); + self.usedcount++; + var_02 = randomfloat(1) < var_00 || self.forcejackpot; + if(var_02) + { + self.forcejackpot = 0; + self sethintstring(&"ZOMBIES_EMPTY_STRING"); + atmjackpot(); + } + else + { + var_01 maps\mp\gametypes\zombies::givepointsforevent("atm",undefined,1); + var_01 playlocalsound("interact_credit_machine"); + } + + self notify("atm_off"); + } +} + +//Function Number: 42 +atmjackpot() +{ + playfx(common_scripts\utility::getfx("atm_jackpot"),self.modelent.origin,anglestoforward(self.modelent.angles)); + var_00 = spawn("script_origin",self.modelent.origin); + playsoundatpos(self.modelent.origin,"cash_machine_malfunction"); + maps\mp\zombies\_zombies_audio_announcer::announcerjackpotdialog(self.modelent.origin); + wait(5); + var_00 playloopsound("cash_machine_malfunction_loop"); + var_01 = 120; + var_02 = var_01 * var_01; + var_03 = 0.5; + var_04 = anglestoforward(self.modelent.angles); + for(var_05 = 0;var_05 < 100;var_05++) + { + foreach(var_07 in level.players) + { + var_08 = distance2dsquared(var_07.origin,self.modelent.origin); + if(var_08 > var_02) + { + continue; + } + + var_09 = var_07.origin - self.modelent.origin; + var_09 = (var_09[0],var_09[1],0); + var_09 = vectornormalize(var_09); + var_0A = vectordot(var_09,var_04); + if(var_0A < var_03) + { + continue; + } + + var_07 maps\mp\gametypes\zombies::givepointsforevent("atm_jackpot"); + } + + wait(0.1); + } + + playsoundatpos(self.modelent.origin,"cash_machine_malfunction_end"); + var_00 stoploopsound(); + wait 0.05; + var_00 delete(); +} + +//Function Number: 43 +atmterminalfx() +{ + for(;;) + { + self.modelent hidepart("TAG_SCREEN_ON"); + self.modelent showpart("TAG_SCREEN_OFF"); + thread audio_stop_atm_attract(); + self waittill("atm_on"); + self.modelent hidepart("TAG_SCREEN_OFF"); + self.modelent showpart("TAG_SCREEN_ON"); + self scalevolume(1,1); + self playloopsound("interact_credit_machine_attract"); + self waittill("atm_off"); + } +} + +//Function Number: 44 +audio_stop_atm_attract() +{ + self scalevolume(0,1); + wait(1); + self stoploopsound(); +} + +//Function Number: 45 +perkterminalhas(param_00) +{ + return self hasperk(param_00,1); +} + +//Function Number: 46 +perkterminalset(param_00,param_01) +{ + maps\mp\_utility::giveperk(param_00,0); + self playrumbleonentity("damage_heavy"); +} + +//Function Number: 47 +perkterminaltake(param_00) +{ + maps\mp\_utility::_unsetperk(param_00); +} + +//Function Number: 48 +perkterminalactivate(param_00) +{ + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("station_upgrade_exo"),self.modelent,"TAG_ORIGIN",1); +} + +//Function Number: 49 +perkterminalhasexohealth(param_00) +{ + return self.maxhealth == 200; +} + +//Function Number: 50 +perkterminalsetexohealth(param_00,param_01) +{ + self.maxhealth = 200; + self.health = 200; + var_02 = maps\mp\gametypes\zombies::getexosuitperkweaponname("health"); + var_03 = maps\mp\gametypes\zombies::getexosuitperkweaponduration(); + maps\mp\gametypes\zombies::playweaponflourish(var_02,var_03); +} + +//Function Number: 51 +perkterminaltakeexohealth(param_00) +{ + self.maxhealth = 100; +} + +//Function Number: 52 +perkterminalhasexostabilizer(param_00) +{ + return self hasperk("specialty_bulletaccuracy",1); +} + +//Function Number: 53 +perkterminalsetexostabilizer(param_00,param_01) +{ + maps\mp\_utility::giveperk("specialty_bulletaccuracy",0); + maps\mp\_utility::giveperk("specialty_sprintfire",0); + maps\mp\_utility::giveperk("specialty_quickswap",0); + maps\mp\_utility::giveperk("specialty_fastoffhand",0); + var_02 = maps\mp\gametypes\zombies::getexosuitperkweaponname("stabilizer"); + var_03 = maps\mp\gametypes\zombies::getexosuitperkweaponduration(); + maps\mp\gametypes\zombies::playweaponflourish(var_02,var_03); +} + +//Function Number: 54 +perkterminaltakeexostabilizer(param_00) +{ + maps\mp\_utility::_unsetperk("specialty_bulletaccuracy"); + maps\mp\_utility::_unsetperk("specialty_sprintfire"); + maps\mp\_utility::_unsetperk("specialty_quickswap"); + maps\mp\_utility::_unsetperk("specialty_fastoffhand"); +} + +//Function Number: 55 +perkterminalhasexorevive(param_00) +{ + return maps\mp\zombies\_zombies_laststand::hasexostim(); +} + +//Function Number: 56 +perkterminalsetexorevive(param_00,param_01) +{ + self.isexostimactive = 1; + if(hasexosuit()) + { + var_02 = maps\mp\gametypes\zombies::getexosuitperkweaponname("stim"); + var_03 = maps\mp\gametypes\zombies::getexosuitperkweaponduration(); + maps\mp\gametypes\zombies::playweaponflourish(var_02,var_03); + } +} + +//Function Number: 57 +perkterminaltakeexorevive(param_00) +{ + self.isexostimactive = 0; +} + +//Function Number: 58 +perkterminalhasexoslam(param_00) +{ + return isdefined(self.isexoslamactive) && self.isexoslamactive; +} + +//Function Number: 59 +perkterminalsetexoslam(param_00,param_01) +{ + self.isexoslamactive = 1; + maps\mp\_utility::playerallowhighjumpdrop(1,"exoSlam"); + self setclientomnvar("ui_zm_exo_slam_next_time",0); + var_02 = maps\mp\gametypes\zombies::getexosuitperkweaponname("slam"); + var_03 = maps\mp\gametypes\zombies::getexosuitperkweaponduration(); + maps\mp\gametypes\zombies::playweaponflourish(var_02,var_03); +} + +//Function Number: 60 +perkterminaltakeexoslam(param_00) +{ + self.isexoslamactive = 0; + self.exoslamnextusetime = undefined; + maps\mp\_utility::playerallowhighjumpdrop(0,"exoSlam"); + self setclientomnvar("ui_zm_exo_slam_next_time",0); +} + +//Function Number: 61 +perkterminalhasexofastreload(param_00) +{ + return self hasperk("specialty_fastreload",1); +} + +//Function Number: 62 +perkterminalsetexofastreload(param_00,param_01) +{ + maps\mp\_utility::giveperk("specialty_fastreload",0); + maps\mp\_utility::giveperk("specialty_sprintreload",0); + var_02 = maps\mp\gametypes\zombies::getexosuitperkweaponname("fastreload"); + var_03 = maps\mp\gametypes\zombies::getexosuitperkweaponduration(); + maps\mp\gametypes\zombies::playweaponflourish(var_02,var_03); +} + +//Function Number: 63 +perkterminaltakeexofastreload(param_00) +{ + maps\mp\_utility::_unsetperk("specialty_fastreload"); + maps\mp\_utility::_unsetperk("specialty_sprintreload"); +} + +//Function Number: 64 +perkterminalhasexotacticalarmor(param_00) +{ + return self hasperk("specialty_stockpile",1); +} + +//Function Number: 65 +perkterminalsetexotacticalarmor(param_00,param_01) +{ + maps\mp\_utility::giveperk("specialty_stockpile",0); + maps\mp\_utility::giveperk("specialty_extralethal",0); + maps\mp\_utility::giveperk("specialty_extratactical",0); + var_02 = maps\mp\gametypes\zombies::getexosuitperkweaponname("tacticalarmor"); + var_03 = maps\mp\gametypes\zombies::getexosuitperkweaponduration(); + maps\mp\gametypes\zombies::playweaponflourish(var_02,var_03); +} + +//Function Number: 66 +perkterminaltakeexotacticalarmor(param_00) +{ + maps\mp\_utility::_unsetperk("specialty_stockpile"); + maps\mp\_utility::_unsetperk("specialty_extralethal"); + maps\mp\_utility::_unsetperk("specialty_extratactical"); + var_01 = self getweaponslistall(); + foreach(var_03 in var_01) + { + var_04 = self getweaponammoclip(var_03); + var_05 = weaponclipsize(var_03,self); + if(var_04 > var_05) + { + self setweaponammoclip(var_03,var_04); + } + + if(!isweaponcliponly(var_03)) + { + var_06 = self setweaponammostock(var_03); + var_07 = weaponmaxammo(var_03,self); + if(var_06 > var_07) + { + self setweaponammostock(var_03,var_06); + } + } + } + + if(isdefined(self.pers["em1Ammo"])) + { + var_09 = maps\mp\gametypes\zombies::getem1maxammo(); + if(self.pers["em1Ammo"].ammo > var_09) + { + self.pers["em1Ammo"].ammo = var_09; + } + + maps\mp\gametypes\zombies::playerupdateem1omnvar(); + } + + if(isdefined(self.primaryweaponsammo)) + { + foreach(var_0E, var_0B in self.primaryweaponsammo) + { + var_0C = weaponclipsize(var_0E,self); + if(var_0B["ammoclip"] > var_0C) + { + self.primaryweaponsammo[var_0E]["ammoclip"] = var_0C; + } + + if(common_scripts\utility::string_find(var_0E,"akimbo") && isdefined(var_0B["ammoclipleft"]) && var_0B["ammoclipleft"] > var_0C) + { + self.primaryweaponsammo[var_0E]["ammoclipleft"] = var_0C; + } + + if(!isweaponcliponly(var_0E)) + { + var_0D = weaponmaxammo(var_0E,self); + if(var_0B["ammostock"] > var_0D) + { + self.primaryweaponsammo[var_0E]["ammostock"] = var_0D; + } + } + } + } +} + +//Function Number: 67 +perkterminalusershostcure() +{ + var_00 = []; + foreach(var_02 in level.players) + { + if(maps\mp\zombies\_util::isplayerinfected(var_02) && var_02 istouching(self.curetrigger)) + { + var_00[var_00.size] = var_02; + } + } + + var_04 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + foreach(var_06 in var_04) + { + if(isdefined(var_06.agent_type) && var_06.agent_type == "zombie_host" && var_06 istouching(self.curetrigger)) + { + var_00[var_00.size] = var_06; + } + + if(isdefined(level.hostcurefuncoverride) && isdefined(level.hostcurefuncoverride[var_06.agent_type]) && var_06 istouching(self.curetrigger)) + { + var_00[var_00.size] = var_06; + } + } + + return var_00; +} + +//Function Number: 68 +perkterminalactivatehostcure(param_00) +{ + thread perkterminalactivatehostcurefx(param_00); + thread perkterminalactivatehostcureanim(param_00); +} + +//Function Number: 69 +perkterminalactivatehostcureanim(param_00) +{ + if(!isdefined(self.curemodel)) + { + return; + } + + level notify("cure_station_active"); + var_01 = gettime(); + self.curemodel scriptmodelplayanim("xom_host_cure_station_start","curestation"); + self.curemodel playsound("interact_decontam_zone"); + self.curemodel waittillmatch("end","curestation"); + thread audio_decontam_attract_in_use_start(self.curemodel); + self.curemodel scriptmodelplayanim("xom_host_cure_station_loop"); + wait(param_00 - gettime() - var_01 / 1000); + self.curemodel scriptmodelplayanim("xom_host_cure_station_stop"); + wait(10); + self.curemodel playsound("interact_decontam_zone_ready"); + thread audio_decontam_attract_in_use_stop(self.curemodel); + level notify("cure_station_deactive"); +} + +//Function Number: 70 +perkterminalactivatehostcurefx(param_00) +{ + if(!isdefined(self.curemodel)) + { + return; + } + + playfxontag(common_scripts\utility::getfx("zombie_host_cure"),self.curemodel,"TAG_FX"); +} + +//Function Number: 71 +perkterminalsethostcure(param_00,param_01) +{ + self notify("cured",1); + self setwatersheeting(1,0.5); + var_02 = common_scripts\utility::getstructarray("host_cure_teleport","targetname"); + if(var_02.size) + { + var_03 = common_scripts\utility::random(var_02); + self dontinterpolate(); + self setorigin(var_03.origin); + self setplayerangles(var_03.angles); + } +} + +//Function Number: 72 +perkterminalsethostcurezombie(param_00,param_01) +{ + if(isdefined(level.hostcurefuncoverride) && isdefined(level.hostcurefuncoverride[self.agent_type])) + { + self thread [[ level.hostcurefuncoverride[self.agent_type] ]](param_00,param_01); + return; + } + + if(!isdefined(level.zombiehostcures) || !isdefined(level.lastzombiehostcuretime)) + { + level.zombiehostcures = 0; + level.lastzombiehostcuretime = 0; + } + + if(gettime() - level.lastzombiehostcuretime > 300) + { + level.zombiehostcures = 0; + } + + level.zombiehostcures++; + level.lastzombiehostcuretime = gettime(); + self suicide(); +} + +//Function Number: 73 +givecurestationachievement() +{ + if(self.agent_type != "zombie_host") + { + return; + } + + if(!isdefined(level.zombiehostcures) || level.zombiehostcures < 5) + { + return; + } + + foreach(var_01 in level.players) + { + var_01 maps\mp\gametypes\zombies::givezombieachievement("DLC2_ZOMBIE_ONEMANSPOISON"); + } +} + +//Function Number: 74 +perkterminalhostcuredisabled() +{ + if(isplayer(self) && isdefined(self.currentzone) && isdefined(level.zone_is_contaminated_func) && [[ level.zone_is_contaminated_func ]](self.currentzone)) + { + return 1; + } + + return 0; +} + +//Function Number: 75 +audio_decontam_attract_on(param_00) +{ + param_00 scalevolume(1,0.25); + param_00 playloopsound("interact_decontam_zone_attract"); +} + +//Function Number: 76 +audio_decontam_attract_in_use_start(param_00) +{ + param_00 scalevolume(0,0.5); +} + +//Function Number: 77 +audio_decontam_attract_in_use_stop(param_00) +{ + param_00 scalevolume(1,1); +} + +//Function Number: 78 +audio_decontam_attract_disable(param_00) +{ + param_00 scalevolume(0,0.5); +} + +//Function Number: 79 +playergivepostexoequipment() +{ + var_00 = self getlethalweapon(); + if(isdefined(var_00)) + { + var_01 = maps\mp\zombies\_util::getpostexoequipmentname(var_00); + if(isdefined(var_01) && var_01 != var_00) + { + var_02 = self getweaponammoclip(var_00); + maps\mp\zombies\_wall_buys::givezombieequipment(self,var_01,0); + self setweaponammoclip(var_01,var_02); + } + } + + var_03 = self gettacticalweapon(); + if(isdefined(var_03)) + { + var_04 = maps\mp\zombies\_util::getpostexoequipmentname(var_03); + if(isdefined(var_04) && var_04 != var_03) + { + var_02 = self getweaponammoclip(var_03); + maps\mp\zombies\_wall_buys::givezombieequipment(self,var_04,0); + self setweaponammoclip(var_04,var_02); + } + } +} + +//Function Number: 80 +perkterminalhasexosuit(param_00) +{ + return hasexosuit(); +} + +//Function Number: 81 +perkterminalsetexosuit(param_00,param_01) +{ + self.exosuitonline = 1; + givecheapskateachievement(); + thread playequipexosuitfx(); + setexocharactermodel(); + var_02 = maps\mp\gametypes\zombies::getexosuitequipweaponname(); + var_03 = maps\mp\gametypes\zombies::getexosuitequipweaponduration(); + maps\mp\gametypes\zombies::playweaponflourish(var_02,var_03); + if(self.exosuitround == 0) + { + self.exosuitround = level.wavecounter; + } + + maps\mp\zombies\_util::zombieallowallboost(1,"class"); + playergivepostexoequipment(); + level notify("player_given_exo_suit"); +} + +//Function Number: 82 +setexocharactermodel() +{ + switch(self.characterindex) + { + case 0: + thread maps\mp\zombies\_util::setcharactermodel("security_exo",1); + break; + + case 1: + thread maps\mp\zombies\_util::setcharactermodel("exec_exo",1); + break; + + case 2: + thread maps\mp\zombies\_util::setcharactermodel("it_exo",1); + break; + + case 3: + default: + if(maps\mp\zombies\_util::getzombieslevelnum() < 3) + { + thread maps\mp\zombies\_util::setcharactermodel("janitor_exo",1); + } + else + { + thread maps\mp\zombies\_util::setcharactermodel("pilot_exo",1); + } + break; + } +} + +//Function Number: 83 +playequipexosuitfx() +{ + foreach(var_01 in level.players) + { + if(var_01 == self) + { + continue; + } + + maps\mp\zombies\_util::playfxontagforclientnetwork(common_scripts\utility::getfx("exo_equip"),self,"tag_origin",var_01); + } +} + +//Function Number: 84 +givecheapskateachievement() +{ + if(self.moneycurrent != self.moneyearnedtotal || !isdefined(self.joinedround1) || !self.joinedround1) + { + return; + } + + maps\mp\gametypes\zombies::givezombieachievement("DLC1_ZOMBIE_CHEAPSKATE"); +} + +//Function Number: 85 +perkterminaltakeexosuit(param_00) +{ + self.exosuitonline = 0; + maps\mp\zombies\_util::zombieallowallboost(0,"class"); +} + +//Function Number: 86 +perkterminalactivateexosuit(param_00) +{ + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("station_buy_exo"),self.modelent,"TAG_ORIGIN",1); +} + +//Function Number: 87 +perkterminalonfx() +{ + var_00 = level.terminalitems[self.itemtype]; + if(isdefined(self.offfxent)) + { + self.offfxent = undefined; + maps\mp\zombies\_util::stopfxontagnetwork(var_00.offfx,self.modelent,"tag_origin"); + } + + if(isdefined(var_00.onfx) && !isdefined(self.onfxent)) + { + maps\mp\zombies\_util::playfxontagnetwork(var_00.onfx,self.modelent,"tag_origin"); + self.onfxent = 1; + } +} + +//Function Number: 88 +perkterminalofffx() +{ + var_00 = level.terminalitems[self.itemtype]; + if(isdefined(self.onfxent)) + { + self.onfxent = undefined; + maps\mp\zombies\_util::stopfxontagnetwork(var_00.onfx,self.modelent,"tag_origin"); + } + + if(isdefined(var_00.offfx) && !isdefined(self.offfxent)) + { + maps\mp\zombies\_util::playfxontagnetwork(var_00.offfx,self.modelent,"tag_origin"); + self.offfxent = 1; + } +} + +//Function Number: 89 +perkterminallighton() +{ + if(isdefined(self.light)) + { + self.light setlightcolor((0.501,1,1)); + } +} + +//Function Number: 90 +perkterminallightoff() +{ + if(isdefined(self.light)) + { + self.light setlightcolor((1,0,0)); + } +} + +//Function Number: 91 +perkterminaltriggerthink() +{ + thread perkterminalupdate(); + thread perkterminalusethink(); + wait 0.05; + if(!maps\mp\zombies\_util::isusetriggerprimary(self)) + { + return; + } + + thread perkterminalplayercountwatch(); + thread perkterminalpowerwatch(); + thread perkterminalupdatefx(); +} + +//Function Number: 92 +perkterminalplayercountwatch() +{ + for(;;) + { + level waittill("playerCountUpdate"); + self notify("updateFX"); + } +} + +//Function Number: 93 +perkterminalpowerwatch() +{ + if(!terminal_requires_power()) + { + return; + } + + for(;;) + { + self notify("updateFX"); + common_scripts\utility::flag_wait(self.script_flag_true); + self notify("updateFX"); + common_scripts\utility::flag_waitopen(self.script_flag_true); + } +} + +//Function Number: 94 +perkterminalupdatefx() +{ + for(;;) + { + var_00 = itemhasuses(self.itemtype); + var_01 = terminal_has_power(); + if(var_00 && var_01) + { + perkterminalonfx(); + perkterminallighton(); + perkterminalattractaudioon(); + } + else + { + perkterminalofffx(); + perkterminallightoff(); + perkterminalattractaudiooff(); + } + + self waittill("updateFX"); + } +} + +//Function Number: 95 +perkterminalattractaudioon() +{ + if(isdefined(self.aud_attract_on) && self.aud_attract_on) + { + return; + } + + self.aud_attract_on = 1; + switch(self.itemtype) + { + case "exo_health": + self playloopsound("interact_exo_upgrade_attract"); + break; + + case "exo_revive": + self playloopsound("interact_exo_upgrade_attract"); + break; + + case "exo_slam": + self playloopsound("interact_exo_upgrade_attract"); + break; + + case "exo_suit": + self playloopsound("interact_exo_buy_attract"); + self playsound("exo_station_restored"); + break; + + case "exo_stabilizer": + self playloopsound("interact_exo_upgrade_attract"); + break; + + case "specialty_fastreload": + self playloopsound("interact_exo_upgrade_attract"); + break; + + case "exo_tacticalArmor": + self playloopsound("interact_exo_upgrade_attract"); + break; + + default: + break; + } +} + +//Function Number: 96 +perkterminalattractaudiooff() +{ +} + +//Function Number: 97 +perkterminalcuremodellighton() +{ + if(isdefined(self.light) && isdefined(self.light.lightonintensity) && isdefined(self.light.ison) && !self.light.ison) + { + self.light setlightintensity(self.light.lightonintensity); + self.light.ison = 1; + } +} + +//Function Number: 98 +perkterminalcuremodellightoff() +{ + if(isdefined(self.light) && isdefined(self.light.lightoffintensity) && isdefined(self.light.ison) && self.light.ison) + { + self.light setlightintensity(self.light.lightoffintensity); + self.light.ison = 0; + } +} + +//Function Number: 99 +perkterminalupdate() +{ + switch(self.itemtype) + { + case "host_cure": + thread perkterminalupdatehostcure(); + break; + + default: + break; + } +} + +//Function Number: 100 +perkterminalupdatehostcure() +{ + self.curetrigger = getent(self.target,"targetname"); + if(isdefined(self.curetrigger.target)) + { + self.curemodel = getent(self.curetrigger.target,"targetname"); + if(isdefined(self.curemodel)) + { + self.curemodel.terminal = self; + level.hostcuremodels[level.hostcuremodels.size] = self.curemodel; + } + } + + if(isdefined(self.curemodel) && isdefined(self.curemodel.target)) + { + var_00 = getent(self.curemodel.target,"targetname"); + if(isdefined(var_00) && var_00.code_classname == "light") + { + self.curemodel.light = var_00; + self.curemodel.light.lightonintensity = self.curemodel.light getlightintensity(); + self.curemodel.light.lightoffintensity = 0.1; + self.curemodel.light.ison = 1; + self.curemodel perkterminalcuremodellightoff(); + } + } + + thread perkterminalupdatehostcuredisabled(); + thread perkterminalupdatehostcurefx(); + thread perkterminalupdatehostcureicon(); +} + +//Function Number: 101 +perkterminalupdatehostcuredisabled() +{ + self.terminaldisabled = 0; + var_00 = maps\mp\zombies\_zombies_zone_manager::getlocationzone(self.origin); + if(!isdefined(var_00)) + { + return; + } + + for(;;) + { + level waittill("contaminate" + var_00); + self.terminaldisabled = 1; + self notify("terminal_disabled"); + level notify("terminal_disabled"); + thread maps\mp\zombies\_zombies_laststand::hostzombieupdateoutline(); + level waittill("clean" + var_00); + self.terminaldisabled = 0; + self notify("terminal_reenabled"); + level notify("terminal_reenabled"); + thread maps\mp\zombies\_zombies_laststand::hostzombieupdateoutline(); + } +} + +//Function Number: 102 +perkterminalupdatehostcurefx() +{ + for(;;) + { + terminal_wait_for_power(); + if(self.terminaldisabled) + { + self waittill("terminal_reenabled"); + } + + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("zombie_host_cure_idle"),self.curemodel,"TAG_FX"); + thread audio_decontam_attract_on(self.curemodel); + common_scripts\utility::waittill_either("terminal_activated","terminal_disabled"); + maps\mp\zombies\_util::stopfxontagnetwork(common_scripts\utility::getfx("zombie_host_cure_idle"),self.curemodel,"TAG_FX"); + if(self.terminaldisabled) + { + thread audio_decontam_attract_disable(self.curemodel); + continue; + } + + self waittill("terminal_cooldown_started"); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("zombie_host_cure_cooldown"),self.curemodel,"TAG_FX"); + self waittill("terminal_cooldown_ended"); + maps\mp\zombies\_util::stopfxontagnetwork(common_scripts\utility::getfx("zombie_host_cure_cooldown"),self.curemodel,"TAG_FX"); + } +} + +//Function Number: 103 +perkterminalupdatehostcureicon() +{ + var_00 = 0; + var_01 = undefined; + var_02 = maps\mp\zombies\_zombies_zone_manager::getlocationzone(self.origin); + for(;;) + { + if(isdefined(var_02)) + { + level common_scripts\utility::waittill_any("player_cured","player_infected","contaminate" + var_02,"clean" + var_02); + } + else + { + level common_scripts\utility::waittill_any("player_cured","player_infected"); + } + + if(maps\mp\zombies\_util::is_true(self.terminaldeactivated)) + { + continue; + } + + var_03 = 0; + foreach(var_05 in level.players) + { + if(maps\mp\zombies\_util::isplayerinfected(var_05)) + { + var_03 = 1; + break; + } + } + + if(isdefined(level.zone_is_contaminated_func) && [[ level.zone_is_contaminated_func ]](var_02)) + { + var_03 = 0; + } + + if(var_00 && !var_03) + { + if(isdefined(var_01)) + { + var_01 destroy(); + } + + var_00 = 0; + continue; + } + + if(!var_00 && var_03) + { + var_01 = newhudelem(); + var_01 setshader("waypoint_cure_zone",8,8); + var_01 setwaypoint(1,1); + var_01.x = self.curemodel.origin[0]; + var_01.y = self.curemodel.origin[1]; + var_01.z = self.curemodel.origin[2] + 70; + var_00 = 1; + } + } +} + +//Function Number: 104 +perkterminalusethink() +{ + for(;;) + { + var_00 = undefined; + var_01 = "trigger"; + if(getitemcost(self.itemtype)) + { + var_02 = maps\mp\zombies\_util::waittilltriggerortokenuse(); + var_00 = var_02[0]; + var_01 = var_02[1]; + } + else + { + self waittill("trigger",var_00); + } + + if(!terminal_has_power()) + { + continue; + } + + perkterminalgive(var_00,self.itemtype,var_01,0); + } +} + +//Function Number: 105 +perkterminalgive(param_00,param_01,param_02,param_03) +{ + var_04 = &"ZOMBIES_HAVE_PERK"; + var_05 = undefined; + var_06 = undefined; + var_07 = ::perkterminalactivate; + var_08 = "interact_exo_upgrade"; + var_09 = 0; + var_0A = "killed_player"; + var_0B = 0; + var_0C = 0; + var_0D = undefined; + switch(param_01) + { + case "exo_health": + var_0E = ::perkterminalhasexohealth; + var_0F = ::perkterminalsetexohealth; + var_10 = ::perkterminaltakeexohealth; + break; + + case "exo_revive": + var_0E = ::perkterminalhasexorevive; + var_0F = ::perkterminalsetexorevive; + var_10 = ::perkterminaltakeexorevive; + break; + + case "exo_slam": + var_0E = ::perkterminalhasexoslam; + var_0F = ::perkterminalsetexoslam; + var_10 = ::perkterminaltakeexoslam; + break; + + case "host_cure": + var_0E = undefined; + var_0F = ::perkterminalsethostcure; + var_07 = ::perkterminalsethostcurezombie; + var_06 = ::perkterminalusershostcure; + var_08 = ::perkterminalactivatehostcure; + var_10 = undefined; + var_08 = undefined; + var_09 = 1; + var_0C = 5; + var_0B = 10; + if(isdefined(level.curestationcooldownmodifier)) + { + var_0B = var_0B * level.curestationcooldownmodifier; + } + + var_0D = ::perkterminalhostcuredisabled; + break; + + case "exo_suit": + var_0E = ::perkterminalhasexosuit; + var_0F = ::perkterminalsetexosuit; + var_10 = ::perkterminaltakeexosuit; + var_07 = ::perkterminalactivateexosuit; + var_04 = &"ZOMBIES_HAVE_EXO"; + var_08 = "interact_exo_buy"; + break; + + case "exo_stabilizer": + var_0E = ::perkterminalhasexostabilizer; + var_0F = ::perkterminalsetexostabilizer; + var_10 = ::perkterminaltakeexostabilizer; + break; + + case "specialty_fastreload": + var_0E = ::perkterminalhasexofastreload; + var_0F = ::perkterminalsetexofastreload; + var_10 = ::perkterminaltakeexofastreload; + break; + + case "exo_tacticalArmor": + var_0E = ::perkterminalhasexotacticalarmor; + var_0F = ::perkterminalsetexotacticalarmor; + var_10 = ::perkterminaltakeexotacticalarmor; + break; + + default: + var_0E = ::perkterminalhas; + var_0F = ::perkterminalset; + var_10 = ::perkterminaltake; + break; + } + + if(!itemhasuses(param_01)) + { + return; + } + + if(getitemrequiresexo(param_01) && !param_00 hasexosuit()) + { + param_00 thread maps\mp\zombies\_zombies_audio::playerexosuitrejected(param_01,"no_suit"); + param_00 playsoundtoplayer("ui_button_error",param_00); + param_00 iprintlnbold(&"ZOMBIES_NEED_EXO_SUIT"); + return; + } + + if(isdefined(var_0E) && param_00 [[ var_0E ]](param_01)) + { + if(isdefined(var_04)) + { + param_00 iprintlnbold(var_04); + } + + return; + } + + if(isdefined(var_0D) && param_00 [[ var_0D ]]()) + { + return; + } + + if(var_0B > 0 && !param_03 && perkterminalcoolingdown()) + { + var_11 = self.nextusetime - gettime(); + var_11 = ceil(var_11 / 1000); + if(var_11 > 1) + { + param_00 iprintlnbold(&"ZOMBIES_TERMINAL_COOLDOWN_SECS",var_11); + } + else + { + param_00 iprintlnbold(&"ZOMBIES_TERMINAL_COOLDOWN_SEC",var_11); + } + + return; + } + + var_12 = getitemcost(param_02); + if(var_12 > 0) + { + if(param_03 == "token") + { + param_01 maps\mp\gametypes\zombies::spendtoken(self.tokencost); + } + else if(!var_04 && !param_01 maps\mp\gametypes\zombies::attempttobuy(getitemcost(param_02))) + { + param_01 thread maps\mp\zombies\_zombies_audio::playerexosuitrejected(param_02,"no_cash"); + return; + } + } + + if(!var_04 && isdefined(var_08)) + { + [[ var_08 ]](var_0D); + } + + if(isdefined(var_09) && !var_04) + { + param_01 playlocalsound(var_09); + } + + param_01 thread maps\mp\zombies\_zombies_audio::playerexosuit(param_02); + self.terminalrunning = 1; + setitemusecount(param_02,getitemnumbuys(param_02) + 1); + self notify("updateFX"); + if(isdefined(self.linkedterminal)) + { + self.linkedterminal notify("updateFX"); + } + + self notify("terminal_activated"); + param_01 notify("terminal_activated",param_02); + level notify("terminal_activated",param_02); + var_13 = gettime(); + for(;;) + { + var_14 = [param_01]; + if(!var_04 && isdefined(var_06)) + { + var_14 = [[ var_06 ]](); + } + + foreach(var_16 in var_14) + { + if(isplayer(var_16)) + { + var_17 = getitemomnvar(param_02); + if(isdefined(var_17)) + { + var_16 setclientomnvar(var_17,1); + } + + if(param_02 != "exo_suit") + { + param_01 thread maps\mp\zombies\_zombies_audio::moneyspend(); + } + + var_16 iprintlnbold(getitemlocname(param_02)); + var_16 [[ var_10 ]](param_02,param_01); + level notify("terminal_player",param_02,self.origin,param_01); + if(!var_0A) + { + var_16.zm_perks[var_16.zm_perks.size] = param_02; + var_16 thread perkterminaltakewait(param_02,var_11,var_0B); + } + + var_16 perkupdatesortorder(); + continue; + } + + if(isdefined(var_07)) + { + var_16 [[ var_07 ]](param_02,param_01); + } + } + + var_19 = gettime() - var_13 / 1000; + if(var_0D <= var_19) + { + break; + } + + wait 0.05; + } + + level notify("terminal_complete",param_02,self.origin); + self.terminalrunning = undefined; + if(var_0C > 0 && !var_04) + { + self.nextusetime = gettime() + var_0C * 1000; + thread terminalcooldownnotifies(var_0C); + } +} + +//Function Number: 106 +perkterminalhostcureincooldown(param_00) +{ + return param_00 perkterminalcoolingdown(); +} + +//Function Number: 107 +perkterminalcoolingdown() +{ + return isdefined(self.nextusetime) && self.nextusetime > gettime(); +} + +//Function Number: 108 +perkupdatesortorder() +{ + var_00 = 0; + var_01 = 1; + foreach(var_03 in self.zm_perks) + { + if(var_03 == "exo_suit") + { + continue; + } + + var_04 = perkgetindex(var_03); + var_00 = var_00 + var_04 * var_01; + var_01 = var_01 * 10; + } + + self setclientomnvar("ui_zm_perk_order",var_00); +} + +//Function Number: 109 +perkgetindex(param_00) +{ + switch(param_00) + { + case "exo_health": + return 1; + + case "specialty_fastreload": + return 2; + + case "exo_revive": + return 3; + + case "exo_stabilizer": + return 4; + + case "exo_slam": + return 5; + + case "exo_tacticalArmor": + return 6; + + default: + return 0; + } +} + +//Function Number: 110 +terminalcooldownnotifies(param_00) +{ + self notify("terminal_cooldown_started"); + level notify("terminal_cooldown_started"); + maps\mp\zombies\_zombies_laststand::hostzombieupdateoutline(); + wait(param_00); + self notify("terminal_cooldown_ended"); + level notify("terminal_cooldown_ended"); + maps\mp\zombies\_zombies_laststand::hostzombieupdateoutline(); +} + +//Function Number: 111 +perkterminaltakewait(param_00,param_01,param_02) +{ + self endon("disconnect"); + thread perkterminaltakeonsolo(param_00); + thread perkterminaltakeonendsolo(param_00); + common_scripts\utility::waittill_any(param_02,"take_" + param_00); + self notify("lost_" + param_00); + self notify("take_perk",param_00); + self [[ param_01 ]](param_00); + self.zm_perks = common_scripts\utility::array_remove(self.zm_perks,param_00); + var_03 = getitemomnvar(param_00); + if(isdefined(var_03)) + { + self setclientomnvar(var_03,0); + } + + perkupdatesortorder(); +} + +//Function Number: 112 +perkterminaltakeonsolo(param_00) +{ + self endon("disconnect"); + self endon("lost_" + param_00); + var_01 = getitemmaxsolobuys(param_00); + if(!isdefined(var_01) || var_01 >= getitemnumbuys(param_00)) + { + return; + } + + for(;;) + { + level waittill("playerCountUpdate"); + if(level.players.size == 1) + { + break; + } + } + + self notify("take_" + param_00); +} + +//Function Number: 113 +perkterminaltakeonendsolo(param_00) +{ + self endon("disconnect"); + self endon("lost_" + param_00); + if(level.players.size != 1) + { + return; + } + + var_01 = getitemcostsolo(param_00); + if(!isdefined(var_01)) + { + return; + } + + for(;;) + { + level waittill("playerCountUpdate"); + if(level.players.size != 1) + { + break; + } + } + + self notify("take_" + param_00); + maps\mp\gametypes\zombies::givemoney(var_01); +} + +//Function Number: 114 +terminal_requires_power() +{ + return isdefined(self.script_flag_true); +} + +//Function Number: 115 +terminal_has_power() +{ + if(terminal_requires_power()) + { + return common_scripts\utility::flag(self.script_flag_true); + } + + return 1; +} + +//Function Number: 116 +terminal_wait_for_power() +{ + if(terminal_requires_power()) + { + common_scripts\utility::flag_wait(self.script_flag_true); + } +} + +//Function Number: 117 +perkhud(param_00,param_01) +{ + var_02 = 20; + if(!isdefined(self.perkhuds)) + { + self.perkhuds = []; + } + + if(isdefined(self.perkhuds[param_01])) + { + destroyperkhud(param_01); + } + + var_03 = maps\mp\gametypes\_hud_util::createfontstring("hudbig",1); + var_03 maps\mp\gametypes\_hud_util::setpoint("BOTTOM LEFT",undefined,0,-100 - var_02 * self.perkhuds.size); + var_03.label = param_00; + var_03.color = (1,1,1); + var_03.alpha = 1; + foreach(var_05 in self.perkhuds) + { + var_03 thread updateperkkhuppos(var_05,var_02); + } + + self.perkhuds[param_01] = var_03; +} + +//Function Number: 118 +updateperkkhuppos(param_00,param_01) +{ + self endon("death"); + param_00 waittill("death"); + self.y = self.y + param_01; +} + +//Function Number: 119 +destroyperkhud(param_00) +{ + if(isdefined(self.perkhuds[param_00])) + { + self.perkhuds[param_00] destroy(); + self.perkhuds[param_00] = undefined; + } +} + +//Function Number: 120 +zombiegroundslamready() +{ + return !isdefined(self.exoslamnextusetime) || self.exoslamnextusetime <= gettime(); +} + +//Function Number: 121 +zombiesgroundslam(param_00) +{ + self playsoundtoplayer("pc_boost_slam_land_dmg_default",self); + self playsoundtoteam("npc_boost_slam_land_dmg_default","allies",self); + zombiegroundslamcommon(param_00); + return 1; +} + +//Function Number: 122 +zombiesgroundslamhitplayer(param_00) +{ + zombiegroundslamcommon(undefined,param_00); + return 1; +} + +//Function Number: 123 +zombiegroundslamcommon(param_00,param_01) +{ + if(perkterminalhasexoslam() && zombiegroundslamready()) + { + var_02 = 100; + var_03 = 250; + var_04 = 0.1; + var_05 = 0.5; + var_06 = 100; + var_07 = 300; + var_08 = 10; + if(isdefined(param_01) && !param_01 maps\mp\zombies\_util::instakillimmune()) + { + param_01 dodamage(param_01.health,self.origin,self,self,"MOD_TRIGGER_HURT","boost_slam_mp"); + playfx(common_scripts\utility::getfx("gib_full_body"),param_01.origin,(1,0,0)); + } + + if(!isdefined(param_00)) + { + param_00 = var_02; + } + + if(param_00 < var_02) + { + return; + } + + thread groudslamcooldown(var_08); + self.exoslamnextusetime = gettime() + int(var_08 * 1000); + self setclientomnvar("ui_zm_exo_slam_next_time",self.exoslamnextusetime); + var_09 = param_00 - var_02 / var_03 - var_02; + var_09 = clamp(var_09,0,1); + var_0A = var_07 - var_06 * var_09 + var_06; + var_0B = level.agentclasses["zombie_generic"].roundhealth; + self radiusdamage(self.origin,var_0A,var_05 * var_0B,var_04 * var_0B,self,"MOD_EXPLOSIVE","boost_slam_mp"); + physicsexplosionsphere(self.origin,var_0A,20,1); + playfx(common_scripts\utility::getfx("zombie_exo_slam"),self.origin); + } +} + +//Function Number: 124 +groudslamcooldown(param_00) +{ + self endon("lost_exo_slam"); + wait(param_00); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/_traps.gsc b/AW/PC/maps/mp/zombies/_traps.gsc new file mode 100644 index 0000000..4c41b6c --- /dev/null +++ b/AW/PC/maps/mp/zombies/_traps.gsc @@ -0,0 +1,2263 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_traps.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 80 + * Decompile Time: 1252 ms + * Timestamp: 4/22/2024 2:14:03 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level._effect["trap_ready"] = loadfx("vfx/test/zombies_light_orange"); + level._effect["trap_not_ready"] = loadfx("vfx/test/zombies_light_red"); + level._effect["barrel_explode"] = loadfx("vfx/explosion/explosive_drone_explosion"); + level.trap_state_models = []; + level.trap_state_models["default"] = []; + level.trap_state_func["no_power"] = ::trap_state_no_power; + level.trap_state_func["ready"] = ::trap_state_ready; + level.trap_state_func["active"] = ::trap_state_active; + level.trap_state_func["cooldown"] = ::trap_state_cooldown; + level.trap_state_func["deactivate"] = ::trap_state_deactivate; + level.laser_alarm_started = 0; + level.traps = common_scripts\utility::getstructarray("zombie_trap","targetname"); + common_scripts\utility::array_thread(level.traps,::trap_init); +} + +//Function Number: 2 +trap_init() +{ + if(isdefined(self.script_count)) + { + self.cost = self.script_count; + } + else + { + self.cost = 500; + } + + maps\mp\zombies\_util::settokencost(maps\mp\zombies\_util::creditstotokens(self.cost)); + var_00 = getentarray(self.target,"targetname"); + var_01 = common_scripts\utility::getstructarray(self.target,"targetname"); + var_02 = common_scripts\utility::array_combine(var_00,var_01); + foreach(var_04 in var_02) + { + if(!isdefined(var_04.script_noteworthy)) + { + continue; + } + + switch(var_04.script_noteworthy) + { + case "activate_model": + thread trap_activate_model(var_04); + self.modelent = var_04; + break; + + case "activate": + thread trap_activate_trigger(var_04); + thread trap_trigger_hint(var_04); + break; + + case "laser": + thread trap_laser(var_04); + break; + + case "fx_ready": + thread trap_fx_ready(var_04); + break; + + case "damage": + thread trap_damage_trigger(var_04,0); + break; + + case "damage_over_time": + thread trap_damage_trigger(var_04,1); + break; + + case "fx_trap": + thread trap_state_fx(var_04); + break; + + case "fx_trap_move": + thread trap_fx_move(var_04); + break; + + case "distraction": + thread trap_distraction(var_04); + break; + + case "zomboni": + thread trap_zomboni(var_04); + break; + + default: + break; + } + } + + self.state = "none"; + if(trap_requires_power()) + { + trap_set_state("no_power"); + return; + } + + trap_set_state("ready"); +} + +//Function Number: 3 +register_trap_state_models(param_00,param_01,param_02,param_03,param_04) +{ + if(!isdefined(param_04)) + { + param_04 = "default"; + } + + if(!isdefined(level.trap_state_models[param_04])) + { + level.trap_state_models[param_04] = []; + } + + level.trap_state_models[param_04]["no_power"] = param_00; + level.trap_state_models[param_04]["ready"] = param_01; + level.trap_state_models[param_04]["active"] = param_02; + level.trap_state_models[param_04]["cooldown"] = param_03; + level.trap_state_models[param_04]["deactivate"] = param_00; +} + +//Function Number: 4 +get_trap_time() +{ + return 20; +} + +//Function Number: 5 +trap_requires_power() +{ + return isdefined(self.script_flag_true); +} + +//Function Number: 6 +trap_has_power() +{ + if(trap_requires_power()) + { + return common_scripts\utility::flag(self.script_flag_true); + } + + return 1; +} + +//Function Number: 7 +trap_set_state(param_00) +{ + thread _trap_set_state(param_00); +} + +//Function Number: 8 +_trap_set_state(param_00) +{ + self notify(param_00); + if(param_00 != self.state) + { + self notify("trap_state_change",param_00); + } + + self.state = param_00; + self thread [[ level.trap_state_func[param_00] ]](); +} + +//Function Number: 9 +trap_state_no_power() +{ + self endon("trap_state_change"); + if(!trap_has_power()) + { + common_scripts\utility::flag_wait(self.script_flag_true); + } + + trap_set_state("ready"); +} + +//Function Number: 10 +trap_state_deactivate() +{ + self endon("trap_state_change"); + self waittill("trap_reactivated"); + if(!trap_has_power()) + { + common_scripts\utility::flag_wait(self.script_flag_true); + } + + trap_set_state("ready"); +} + +//Function Number: 11 +trap_state_ready() +{ + self endon("trap_state_change"); + for(;;) + { + self waittill("trap_trigger",var_00,var_01); + if(var_01 == "token") + { + var_00 maps\mp\gametypes\zombies::spendtoken(self.tokencost); + } + else + { + var_02 = self.cost; + if(isdefined(level.penaltycostincrease)) + { + for(var_03 = 0;var_03 < level.penaltycostincrease;var_03++) + { + var_02 = maps\mp\zombies\_util::getincreasedcost(var_02); + } + } + + if(!var_00 maps\mp\gametypes\zombies::attempttobuy(var_02)) + { + var_00 thread maps\mp\zombies\_zombies_audio::playerweaponbuy("wpn_no_cash"); + continue; + } + } + + var_00.trapuses++; + var_00 thread maps\mp\zombies\_zombies_audio::moneyspend(); + trap_activate(var_00,0); + break; + } +} + +//Function Number: 12 +trap_activate(param_00,param_01) +{ + if(!param_01) + { + if(isdefined(level.zmaudiocustomtrapvo)) + { + level thread [[ level.zmaudiocustomtrapvo ]](self,param_00); + } + else + { + level thread maps\mp\zombies\_zombies_audio_announcer::announcertrapstarteddialog(self.modelent.origin); + } + } + + self.owner = param_00; + trap_set_state("active"); +} + +//Function Number: 13 +trap_deactivate() +{ + self.deactivated = 1; + trap_set_state("deactivate"); +} + +//Function Number: 14 +trap_deactivate_all() +{ + foreach(var_01 in level.traps) + { + var_01 trap_deactivate(); + } +} + +//Function Number: 15 +trap_reactivate() +{ + self.deactivated = undefined; + self notify("trap_reactivated"); +} + +//Function Number: 16 +trap_reactivate_all() +{ + foreach(var_01 in level.traps) + { + var_01 trap_reactivate(); + } +} + +//Function Number: 17 +trap_state_active() +{ + self endon("trap_state_change"); + self endon("active"); + trap_state_active_wait(); + if(trap_has_power()) + { + trap_set_state("cooldown"); + return; + } + + trap_set_state("no_power"); +} + +//Function Number: 18 +trap_state_active_wait() +{ + if(isdefined(self.trap_active_end_notify)) + { + self waittill(self.trap_active_end_notify); + return; + } + + if(isdefined(self.script_duration)) + { + var_00 = self.script_duration; + } + else + { + var_00 = get_trap_time(); + } + + maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(var_00); +} + +//Function Number: 19 +trap_state_cooldown() +{ + self endon("trap_state_change"); + var_00 = 40; + if(isdefined(level.trapcooldowntime)) + { + var_00 = level.trapcooldowntime; + } + + wait(var_00); + if(trap_has_power()) + { + trap_set_state("ready"); + return; + } + + trap_set_state("no_power"); +} + +//Function Number: 20 +trap_activate_model(param_00) +{ + var_01 = "default"; + for(;;) + { + self waittill("trap_state_change",var_02); + var_03 = level.trap_state_models[var_01][var_02]; + if(isdefined(var_03)) + { + param_00 setmodel(var_03); + } + } +} + +//Function Number: 21 +trap_activate_trigger(param_00) +{ + for(;;) + { + var_01 = param_00 maps\mp\zombies\_util::waittilltriggerortokenuse(); + var_02 = var_01[0]; + var_03 = var_01[1]; + self notify("trap_trigger",var_02,var_03); + } +} + +//Function Number: 22 +trap_trigger_hint(param_00) +{ + for(;;) + { + self waittill("trap_state_change",var_01); + switch(var_01) + { + case "no_power": + param_00 sethintstring(&"ZOMBIES_REQUIRES_POWER"); + param_00 setsecondaryhintstring(&"ZOMBIES_EMPTY_STRING"); + param_00 maps\mp\zombies\_util::tokenhintstring(0); + break; + + case "active": + param_00 sethintstring(&"ZOMBIES_EMPTY_STRING"); + param_00 setsecondaryhintstring(&"ZOMBIES_EMPTY_STRING"); + param_00 maps\mp\zombies\_util::tokenhintstring(0); + break; + + case "cooldown": + if(isdefined(self.hint_strings)) + { + param_00 sethintstring(self.hint_strings["hint_cooldown"]); + } + else + { + param_00 sethintstring(&"ZOMBIES_TRAP_COOLDOWN"); + } + + param_00 setsecondaryhintstring(&"ZOMBIES_EMPTY_STRING"); + param_00 maps\mp\zombies\_util::tokenhintstring(0); + break; + + case "ready": + if(isdefined(self.hint_strings)) + { + param_00 sethintstring(self.hint_strings["hint_ready"]); + } + else + { + param_00 sethintstring(&"ZOMBIES_TRAP_READY"); + } + + var_02 = self.cost; + if(isdefined(level.penaltycostincrease)) + { + for(var_03 = 0;var_03 < level.penaltycostincrease;var_03++) + { + var_02 = maps\mp\zombies\_util::getincreasedcost(var_02); + } + } + + param_00 setsecondaryhintstring(maps\mp\zombies\_util::getcoststring(var_02)); + param_00 maps\mp\zombies\_util::settokencost(maps\mp\zombies\_util::creditstotokens(var_02)); + param_00 maps\mp\zombies\_util::tokenhintstring(1); + break; + + case "deactivate": + param_00 sethintstring(&"ZOMBIES_REQUIRES_POWER"); + param_00 setsecondaryhintstring(&"ZOMBIES_EMPTY_STRING"); + param_00 maps\mp\zombies\_util::tokenhintstring(0); + break; + + default: + break; + } + } +} + +//Function Number: 23 +trap_fx_move(param_00) +{ + var_01 = spawn("script_model",param_00.origin); + var_01.angles = param_00.angles; + var_01.start_origin = var_01.origin; + var_01.start_angles = var_01.angles; + var_01 setmodel("tag_origin"); + var_01.movelist = []; + var_02 = []; + if(isdefined(param_00.target)) + { + var_03 = getentarray(param_00.target,"targetname"); + var_04 = common_scripts\utility::getstructarray(param_00.target,"targetname"); + var_02 = common_scripts\utility::array_combine(var_03,var_04); + } + + foreach(var_06 in var_02) + { + if(!isdefined(var_06.script_noteworthy)) + { + continue; + } + + switch(var_06.script_noteworthy) + { + case "damage_over_time": + case "damage": + var_06 enablelinkto(); + var_06 linkto(var_01); + thread trap_damage_trigger(var_06,var_06.script_noteworthy == "damage_over_time","fx_trap_move"); + break; + + case "moveto": + var_01 trap_laser_move_list(var_06); + break; + + default: + break; + } + } + + for(;;) + { + self waittill("trap_state_change",var_08); + thread trap_play_fx(var_01,var_08,param_00); + switch(var_08) + { + case "active": + thread trap_laser_move(var_01); + break; + + default: + break; + } + } +} + +//Function Number: 24 +trap_play_fx(param_00,param_01,param_02) +{ + if(isdefined(param_00.currentfx)) + { + maps\mp\zombies\_util::stopfxontagnetwork(param_00.currentfx,param_00,"tag_origin"); + param_00.currentfx = undefined; + wait(0.5); + } + + var_03 = param_02.script_parameters + "_" + param_01; + if(common_scripts\utility::fxexists(var_03)) + { + param_00.currentfx = common_scripts\utility::getfx(var_03); + } + + if(isdefined(param_00.currentfx)) + { + maps\mp\zombies\_util::playfxontagnetwork(param_00.currentfx,param_00,"tag_origin"); + } +} + +//Function Number: 25 +trap_laser_move_list(param_00) +{ + while(isdefined(param_00)) + { + self.movelist[self.movelist.size] = param_00; + if(isdefined(param_00.target)) + { + param_00 = common_scripts\utility::getstruct(param_00.target,"targetname"); + continue; + } + + param_00 = undefined; + } +} + +//Function Number: 26 +trap_laser(param_00) +{ + var_01 = spawn("script_model",param_00.origin); + var_01.angles = param_00.angles; + var_01.start_origin = var_01.origin; + var_01.start_angles = var_01.angles; + var_01 setmodel("tag_laser"); + var_01.movelist = []; + var_02 = []; + if(isdefined(param_00.target)) + { + var_03 = getentarray(param_00.target,"targetname"); + var_04 = common_scripts\utility::getstructarray(param_00.target,"targetname"); + var_02 = common_scripts\utility::array_combine(var_03,var_04); + } + + foreach(var_06 in var_02) + { + if(!isdefined(var_06.script_noteworthy)) + { + continue; + } + + switch(var_06.script_noteworthy) + { + case "damage_over_time": + case "damage": + var_06 enablelinkto(); + var_06 linkto(var_01); + thread trap_damage_trigger(var_06,var_06.script_noteworthy == "damage_over_time","laser"); + break; + + case "moveto": + var_01 trap_laser_move_list(var_06); + break; + + default: + break; + } + } + + for(;;) + { + self waittill("trap_state_change",var_08); + switch(var_08) + { + case "cooldown": + case "no_power": + case "deactivate": + var_09 = "trap_laser_loop"; + if(isdefined(level.zmblasertrapsoundloop)) + { + var_09 = level.zmblasertrapsoundloop; + } + + var_01 stoploopsound(var_09); + var_0A = "trap_laser_stop"; + if(isdefined(level.zmblasertrapsoundstop)) + { + var_0A = level.zmblasertrapsoundstop; + } + + var_01 playsound(var_0A); + var_01 laseroff(); + break; + + case "active": + thread trap_laser_move(var_01); + thread trap_laser_color(var_01); + break; + + default: + break; + } + } +} + +//Function Number: 27 +trap_laser_color(param_00) +{ + self endon("cooldown"); + self endon("no_power"); + self endon("deactivate"); + self endon("ready"); + var_01 = "trap_warning_zm"; + if(isdefined(level.zmblasertrapwarningcustom)) + { + var_01 = level.zmblasertrapwarningcustom; + } + + var_02 = "trap_zm"; + if(isdefined(level.zmblasertrapcustom)) + { + var_02 = level.zmblasertrapcustom; + } + + param_00 laseron(var_01); + var_03 = spawn("script_origin",param_00.origin); + thread trap_laser_alarm_start(var_03); + wait(3); + thread trap_laser_alarm_stop(var_03); + param_00 laseron(var_02); + var_04 = "trap_laser_start"; + if(isdefined(level.zmblasertrapsoundstart)) + { + var_04 = level.zmblasertrapsoundstart; + } + + param_00 playsound(var_04); + var_05 = "trap_laser_loop"; + if(isdefined(level.zmblasertrapsoundloop)) + { + var_05 = level.zmblasertrapsoundloop; + } + + param_00 playloopsound(var_05); +} + +//Function Number: 28 +trap_laser_alarm_start(param_00) +{ + if(level.laser_alarm_started == 0) + { + level.laser_alarm_started = 1; + if(isdefined(param_00)) + { + param_00 playloopsound("trap_laser_alarm"); + return; + } + } +} + +//Function Number: 29 +trap_laser_alarm_stop(param_00) +{ + level.laser_alarm_started = 0; + if(isdefined(param_00)) + { + param_00 stoploopsound("trap_laser_alarm"); + param_00 delete(); + } +} + +//Function Number: 30 +trap_laser_move(param_00) +{ + self endon("trap_state_change"); + if(!param_00.movelist.size) + { + return; + } + + var_01 = 60; + var_02 = 15; + param_00.origin = param_00.start_origin; + param_00.angles = param_00.start_angles; + var_03 = 0; + for(;;) + { + var_04 = param_00.movelist[var_03]; + var_05 = 0; + var_06 = distance(param_00.origin,var_04.origin); + if(var_06 > 0) + { + var_05 = var_06 / var_01; + } + + var_07 = 0; + if(isdefined(var_04.angles)) + { + for(var_08 = 0;var_08 < 3;var_08++) + { + var_09 = abs(angleclamp(param_00.angles[var_08]) - angleclamp(var_04.angles[var_08])) > 0.01; + if(var_09) + { + var_07 = 0.5 * anglesdelta(param_00.angles,var_04.angles); + break; + } + } + } + + if(!var_05 && var_07) + { + var_05 = var_07 / var_02; + } + + if(var_06 > 0) + { + param_00 moveto(var_04.origin,var_05); + } + + if(var_07 > 0) + { + param_00 rotateto(var_04.angles,var_05); + } + + if(var_05 > 0) + { + wait(var_05); + } + + var_03++; + var_03 = var_03 % param_00.movelist.size; + } +} + +//Function Number: 31 +trap_fx_ready(param_00) +{ + var_01 = undefined; + for(;;) + { + self waittill("trap_state_change",var_02); + switch(var_02) + { + case "no_power": + if(isdefined(var_01)) + { + var_01 delete(); + } + break; + + case "deactivate": + if(isdefined(var_01)) + { + var_01 delete(); + } + break; + + case "ready": + if(isdefined(var_01)) + { + var_01 delete(); + } + + var_01 = spawnfx(common_scripts\utility::getfx("trap_ready"),param_00.origin); + triggerfx(var_01); + break; + + case "active": + if(isdefined(var_01)) + { + var_01 delete(); + } + + var_01 = spawnfx(common_scripts\utility::getfx("trap_not_ready"),param_00.origin); + triggerfx(var_01); + break; + + default: + break; + } + } +} + +//Function Number: 32 +trap_damage_trigger(param_00,param_01,param_02) +{ + if(!isdefined(param_02)) + { + param_02 = "default"; + } + + for(;;) + { + self waittill("active"); + trap_damage_trigger_watch(param_00,param_01,param_02); + } +} + +//Function Number: 33 +trap_damage_trigger_watch(param_00,param_01,param_02) +{ + self endon("cooldown"); + self endon("no_power"); + self endon("ready"); + self endon("deactivate"); + var_03 = 1; + var_04 = 5; + if(param_02 == "fx_trap_move") + { + var_04 = 3; + } + + var_05 = var_04 / var_03; + if(isdefined(param_00.script_count)) + { + var_05 = var_05 * param_00.script_count; + } + + var_06 = 20; + if(isdefined(param_00.script_count)) + { + var_06 = var_06 / param_00.script_count; + } + + if(level.currentgen) + { + if(isdefined(param_00.script_multiplier)) + { + var_06 = var_06 * param_00.script_multiplier; + var_05 = int(var_05 / param_00.script_multiplier); + } + } + + var_07 = gettime(); + var_08 = "trap_zm_mp"; + if(isdefined(level.zmcustomdamagetriggerweapon)) + { + var_08 = self [[ level.zmcustomdamagetriggerweapon ]](param_00,param_01,param_02); + } + + for(;;) + { + param_00 waittill("trigger",var_09); + var_0A = (var_09.origin[0],var_09.origin[1],param_00.origin[2]); + if(isplayer(var_09)) + { + if(isdefined(param_00.script_parameters) && param_00.script_parameters == "no_player_damage") + { + continue; + } + + if(isdefined(var_09.nexttrapdamage) && var_09.nexttrapdamage > gettime()) + { + continue; + } + + if(var_07 + 3000 > gettime()) + { + continue; + } + + var_09.nexttrapdamage = gettime() + 200; + if(isdefined(level.modplayertrapdmg) && isdefined(param_00.script_count)) + { + var_09.nexttrapdamage = gettime() + 200 * param_00.script_count; + } + + var_09 dodamage(var_06,var_09.origin,undefined,undefined,"MOD_TRIGGER_HURT"); + continue; + } + + if(isdefined(var_09.agentteam) && var_09.agentteam == level.playerteam) + { + if(isdefined(param_00.script_parameters) && param_00.script_parameters == "no_player_damage") + { + continue; + } + + if(isdefined(var_09.nexttrapdamage) && var_09.nexttrapdamage > gettime()) + { + continue; + } + + if(var_07 + 3000 > gettime()) + { + continue; + } + + var_09.nexttrapdamage = gettime() + 200; + var_09 dodamage(var_06 * 0.5,var_09.origin); + continue; + } + + var_0B = trap_damage_trigger_location(var_09,var_0A); + if(param_01) + { + if(!isdefined(var_09.maxhealth)) + { + continue; + } + + if(isdefined(var_09.nexttrapdot) && var_09.nexttrapdot > gettime()) + { + continue; + } + + var_09.nexttrapdot = gettime() + int(1000 / var_04); + var_0C = "MOD_TRIGGER_HURT"; + if(isdefined(param_00.script_count)) + { + var_0C = "MOD_IMPACT"; + } + + var_0D = int(var_09.maxhealth / var_05); + if(var_09 maps\mp\zombies\_util::istrapresistant()) + { + var_0D = var_0D * 0.1; + } + + var_09 dodamage(var_0D,var_0A,self.owner,self.owner,var_0C,var_08,var_0B); + } + else + { + var_0D = var_0A.health; + if(var_09 maps\mp\zombies\_util::istrapresistant()) + { + var_0D = var_0D * 0.2; + } + + var_09 dodamage(var_0D,var_0A,self.owner,self.owner,"MOD_TRIGGER_HURT",var_08,var_0B); + } + } +} + +//Function Number: 34 +trap_damage_trigger_location(param_00,param_01) +{ + var_02 = param_01[2] - param_00.origin[2]; + if(var_02 < 32) + { + return common_scripts\utility::random(["right_leg_upper","left_leg_upper"]); + } + + if(var_02 < 60) + { + return common_scripts\utility::random(["left_arm_upper","right_arm_upper"]); + } + + return common_scripts\utility::random(["head","neck"]); +} + +//Function Number: 35 +isexplosivetrap(param_00) +{ + return isdefined(param_00) && param_00 == "zombie_trap_barrel"; +} + +//Function Number: 36 +trap_state_fx(param_00) +{ + var_01 = undefined; + for(;;) + { + self waittill("trap_state_change",var_02); + if(isdefined(var_01)) + { + var_01 delete(); + } + + var_03 = param_00.script_parameters + "_" + var_02; + if(common_scripts\utility::fxexists(var_03)) + { + var_01 = common_scripts\utility::getfx(var_03); + } + + if(isdefined(var_01)) + { + var_01 = spawnfx(var_01,param_00.origin,anglestoforward(param_00.angles),anglestoup(param_00.angles)); + triggerfx(var_01); + } + + thread audio_trap_fx(var_03,var_01,param_00.origin); + } +} + +//Function Number: 37 +trap_setup_custom_hints(param_00,param_01,param_02) +{ + var_03 = common_scripts\utility::getstructarray(param_00,"script_noteworthy"); + foreach(var_05 in var_03) + { + if(!isdefined(var_05.hint_strings)) + { + var_05.hint_strings = []; + } + + var_05.hint_strings["hint_ready"] = param_01; + var_05.hint_strings["hint_cooldown"] = param_02; + } +} + +//Function Number: 38 +trap_setup_custom_function(param_00,param_01,param_02) +{ + var_03 = common_scripts\utility::getstructarray(param_00,"script_noteworthy"); + foreach(var_05 in var_03) + { + var_05 thread trap_custom_function_think(param_01,param_02); + } +} + +//Function Number: 39 +trap_custom_function_think(param_00,param_01) +{ + var_02 = self; + for(;;) + { + var_02 waittill("trap_state_change",var_03); + if(var_03 == param_00) + { + thread [[ param_01 ]](var_02); + } + } +} + +//Function Number: 40 +trap_distraction(param_00) +{ + for(;;) + { + self waittill("active"); + var_01 = spawn("script_model",param_00.origin); + var_01.groundpos = var_01.origin; + var_01.team = level.playerteam; + if(isdefined(param_00.script_count)) + { + var_01.maxcount = param_00.script_count; + } + + var_01.istrap = 1; + var_01.agentcount = 0; + level notify("distraction_drone_activated",var_01); + level.zdd_active[level.zdd_active.size] = var_01; + common_scripts\utility::waittill_any("cooldown","no_power","ready","deactivate"); + if(!isdefined(var_01)) + { + continue; + } + + level.zdd_active = common_scripts\utility::array_remove(level.zdd_active,var_01); + var_01 delete(); + } +} + +//Function Number: 41 +audio_trap_fx(param_00,param_01,param_02) +{ + var_03 = param_00; + if(isdefined(var_03) && soundexists(var_03)) + { + if(isdefined(param_01) && maps\mp\zombies\_util::getzombieslevelnum() > 2) + { + playsoundatpos(param_01.origin,var_03); + } + else if(isdefined(param_01)) + { + maps\mp\_audio::snd_play_linked(var_03,param_01); + } + else + { + maps\mp\_audio::snd_play_in_space(var_03,param_02); + } + } + + var_04 = param_00 + "_lp"; + if(isdefined(var_04) && soundexists(var_04)) + { + if(isdefined(param_01)) + { + maps\mp\_audio::snd_play_linked_loop(var_04,param_01,0.25); + } + } +} + +//Function Number: 42 +trap_zomboni_track_last_safe_origin() +{ + level endon("game_ended"); + for(;;) + { + level waittill("connected",var_00); + var_00 thread player_track_last_safe_origin(); + } +} + +//Function Number: 43 +player_track_last_safe_origin() +{ + self endon("disconnect"); + thread player_track_last_unresolved_collision_time(); + for(;;) + { + if(self.last_unresolved_collision_time < gettime()) + { + self.last_safe_origin = self.origin; + } + + wait 0.05; + } +} + +//Function Number: 44 +player_track_last_unresolved_collision_time() +{ + self.last_unresolved_collision_time = 0; + for(;;) + { + self waittill("unresolved_collision"); + self.last_unresolved_collision_time = gettime(); + } +} + +//Function Number: 45 +trap_zomboni(param_00) +{ + if(!isdefined(level.zomboni_init)) + { + precachempanim("zombie_ark_zomboni_trap"); + level.zomboni_init = 1; + createthreatbiasgroup("zomboni"); + level._effect["chompy_churn"] = loadfx("vfx/gameplay/mp/zombie/dlc_chompy_churn"); + level._effect["chompy_lights"] = loadfx("vfx/gameplay/mp/zombie/dlc_chompy_lights"); + level thread trap_zomboni_track_last_safe_origin(); + } + + self.trap_active_end_notify = "zomboni_done"; + var_01 = spawn("script_model",param_00.origin); + var_01 setmodel("vehicle_ind_zomboni_ai"); + var_01.angles = param_00.angles; + var_01.linegunignore = 1; + var_01.noturretplacement = 1; + var_01 makeentitysentient(level.playerteam); + var_01 setthreatbiasgroup("zomboni"); + var_01.canbetargetedby = ::trap_zomboni_can_be_targeted_by; + if(!isdefined(level.npcs)) + { + level.npcs = []; + } + + level.npcs[level.npcs.size] = var_01; + var_01.attack_locs = []; + var_02 = 40; + var_03 = 150; + var_04 = 50; + var_05 = [["tag_zom_attach_1","left"],["tag_zom_attach_2","right"],["tag_zom_attach_3","rear"]]; + foreach(var_0C, var_07 in var_05) + { + var_08 = var_07[0]; + var_09 = var_07[1]; + var_0A = var_01 gettagorigin(var_08); + var_0B = spawn("script_model",var_0A); + var_0B.angles = var_01 gettagangles(var_08); + var_0B setmodel("tag_origin"); + var_0B linkto(var_01,var_08); + var_0B.grab_radius = var_02; + var_0B.jump_radius = var_03; + var_0B.attack_radius = var_04; + var_0B.attack_name = var_09; + var_0B.anim_index = var_0C; + var_01.attack_locs[var_01.attack_locs.size] = var_0B; + thread trap_zomboni_attack_ent_debug(var_0B); + } + + var_01.iszomboni = 1; + var_0D = getentarray(param_00.target,"targetname"); + var_0E = common_scripts\utility::getstructarray(param_00.target,"targetname"); + var_0F = common_scripts\utility::array_combine(var_0D,var_0E); + var_01.doors = []; + foreach(var_11 in var_0F) + { + if(!isdefined(var_11.script_noteworthy)) + { + continue; + } + + switch(var_11.script_noteworthy) + { + case "clip": + var_11.unresolved_collision_func = ::trap_zomboni_unresolved_collision; + var_11.zomboni = var_01; + var_11.noturretplacement = 1; + var_01.clip = var_11; + var_11 linkto(var_01); + break; + + case "mantle": + var_01.mantle = var_11; + var_01.mantle hide(); + var_01.mantlecontents = var_01.mantle setcontents(0); + var_11 linkto(var_01); + break; + + case "kill_trigger": + var_11 enablelinkto(); + var_11 linkto(var_01); + var_01.killtrigger = var_11; + break; + + case "door": + var_11.close_origin = var_11.origin; + var_11.open_origin = var_11.close_origin + (0,0,60); + var_01.doors[var_01.doors.size] = var_11; + break; + + default: + break; + } + } + + while(!threatbiasgroupexists("zombies")) + { + wait 0.05; + } + + setthreatbias("zomboni","zombies",2000); + for(;;) + { + var_01.ignoreme = 1; + self waittill("active"); + var_01.isstopped = 0; + playfxontag(common_scripts\utility::getfx("chompy_lights"),var_01,"tag_fx_lights"); + var_01 playsound("chompy_engine_start"); + var_01 playloopsound("chompy_engine_loop"); + var_01 scriptmodelplayanimdeltamotionfrompos("zombie_ark_zomboni_trap",param_00.origin,param_00.angles,"zomboni_anim"); + thread trap_zomboni_notetracks(var_01); + thread trap_zomboni_zombies_attack(var_01); + thread trap_zomboni_enable_targeting_after_zone_enabled(var_01); + thread trap_zomboni_kill_zone(var_01); + var_01 waittill("end"); + self notify("zomboni_done"); + var_01 stoploopsound(); + var_01 playsound("chompy_engine_stop"); + killfxontag(common_scripts\utility::getfx("chompy_lights"),var_01,"tag_fx_lights"); + var_01 scriptmodelclearanim(); + var_01.origin = param_00.origin; + var_01.angles = param_00.angles; + } +} + +//Function Number: 46 +trap_zomboni_enable_targeting_after_zone_enabled(param_00) +{ + self endon("zomboni_done"); + while(!maps\mp\zombies\_zombies_zone_manager::iszoneenabled("cargo_bay")) + { + wait(0.05); + } + + param_00.ignoreme = 0; + for(;;) + { + var_01 = param_00 maps\mp\zombies\_util::getenemyagents(); + foreach(var_03 in var_01) + { + var_04 = var_03 maps\mp\zombies\_zombies_zone_manager::getzombiezone(); + if(isdefined(var_04)) + { + if(param_00 trap_zomboni_zombie_in_zone_allowed_to_target(var_03,var_04)) + { + var_03 getenemyinfo(param_00); + } + } + + wait(0.05); + } + + wait(0.05); + } +} + +//Function Number: 47 +trap_zomboni_can_be_targeted_by(param_00) +{ + if(self.ignoreme) + { + return 0; + } + + var_01 = param_00 maps\mp\zombies\_zombies_zone_manager::getzombiezone(); + if(!isdefined(var_01)) + { + return 1; + } + + return trap_zomboni_zombie_in_zone_allowed_to_target(param_00,var_01); +} + +//Function Number: 48 +trap_zomboni_zombie_in_zone_allowed_to_target(param_00,param_01) +{ + if(param_01 == "cargo_bay") + { + return 1; + } + else if((param_01 == "biomed" && common_scripts\utility::flag("biomed_to_cargo_bay")) || param_01 == "cargo_elevator" && common_scripts\utility::flag("cargo_elevator_to_cargo_bay")) + { + var_02 = distancesquared(param_00.origin,self.origin); + if(var_02 < squared(1900)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 49 +trap_zomboni_show_unresoloved_collision_locs(param_00) +{ + self endon("zomboni_done"); + for(;;) + { + var_01 = trap_zomboni_get_unresolved_collision_locs(param_00); + foreach(var_03 in var_01) + { + } + + wait 0.05; + } +} + +//Function Number: 50 +trap_zomboni_get_unresolved_collision_locs(param_00,param_01) +{ + var_02 = []; + var_03 = [(-16,16,56),(0,16,56),(18,16,56),(-16,-22,56),(0,-22,56),(18,-22,56),(-16,-60,56),(0,-60,56),(18,-60,56)]; + var_04 = getent("zomboni_room_volume","targetname"); + var_05 = param_00 gettagorigin("body_animate_jnt"); + var_05 = (var_05[0],var_05[1],param_00.origin[2]); + foreach(var_07 in var_03) + { + var_08 = spawnstruct(); + var_08.origin = var_05 + rotatevector(var_07,param_00.angles + (0,-90,0)); + if(!isdefined(var_04) || !ispointinvolume(var_08.origin,var_04)) + { + var_02[var_02.size] = var_08; + } + } + + var_0A = getnodesinradius(var_05,200,0,100); + var_0B = anglestoforward(param_00.angles); + foreach(var_0D in var_0A) + { + var_0E = vectornormalize(var_0D.origin - var_05); + if(vectordot(var_0B,var_0E) < 0) + { + var_02[var_02.size] = var_0D; + } + } + + if(isdefined(param_01)) + { + var_08 = spawnstruct(); + var_08.origin = param_01.last_safe_origin; + var_02[var_02.size] = var_08; + } + + return var_02; +} + +//Function Number: 51 +trap_zomboni_unresolved_collision(param_00) +{ + self.unresolved_collision_nodes = trap_zomboni_get_unresolved_collision_locs(self.zomboni,param_00); + maps\mp\_movers::unresolved_collision_nearest_node(param_00,0); +} + +//Function Number: 52 +trap_zomboni_attack_ent_debug(param_00) +{ + level.trap_zomboni_attack_ent_debug = 0; + for(;;) + { + wait 0.05; + if(!maps\mp\zombies\_util::is_true(level.trap_zomboni_attack_ent_debug)) + { + continue; + } + + var_01 = param_00.attacker; + var_02 = (1,1,0); + var_03 = (1,1,1); + if(isdefined(var_01)) + { + var_02 = (1,0,0); + var_03 = (1,0,0); + } + + maps\mp\bots\_bots_util::bot_draw_circle(param_00.origin,param_00.grab_radius,var_02,0,16); + maps\mp\bots\_bots_util::bot_draw_circle(param_00.origin,param_00.jump_radius,var_03,0,16); + } +} + +//Function Number: 53 +trap_zomboni_stop(param_00) +{ + self endon("zomboni_done"); + if(!isdefined(param_00.clip)) + { + return; + } + + for(;;) + { + var_01 = 0; + foreach(var_03 in level.players) + { + var_04 = var_03 getgroundentity(); + if(isdefined(var_04) && var_04 == param_00.clip) + { + var_01 = 1; + break; + } + } + + if(var_01 && !param_00.isstopped) + { + param_00 scriptmodelpauseanim(1); + param_00.isstopped = 1; + } + else if(!var_01 && param_00.isstopped) + { + param_00 scriptmodelpauseanim(0); + param_00.isstopped = 0; + } + + wait 0.05; + } +} + +//Function Number: 54 +trap_zomboni_is_any_player_on_zomboni(param_00) +{ + foreach(var_02 in level.players) + { + if(trap_zomboni_is_player_on_zomboni(var_02,param_00)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 55 +trap_zomboni_is_player_on_zomboni(param_00,param_01) +{ + var_02 = param_00 getgroundentity(); + if(!isdefined(var_02)) + { + return 0; + } + + return var_02 == param_01.clip; +} + +//Function Number: 56 +trap_zomboni_zombies_attack(param_00) +{ + self endon("zomboni_done"); + param_00.jumpon_enabled = 0; + foreach(var_02 in param_00.attack_locs) + { + var_02.attacker = undefined; + var_02.nexttimer = 0; + } + + param_00.jumpon_next = 0; + for(;;) + { + wait 0.05; + if(!param_00.jumpon_enabled) + { + continue; + } + + if(param_00.jumpon_next > gettime()) + { + continue; + } + + foreach(var_05 in level.characters) + { + if(isdefined(var_05.nextzombonijumpontime) && var_05.nextzombonijumpontime > gettime()) + { + continue; + } + + var_05.nextzombonijumpontime = gettime() + randomintrange(1,5) * 50; + if(!isalive(var_05)) + { + continue; + } + + if(isplayer(var_05)) + { + continue; + } + + if(!var_05 maps\mp\zombies\_util::has_entered_game()) + { + continue; + } + + if(!isscriptedagent(var_05) || var_05.agent_type == "zombie_dog") + { + continue; + } + + if(var_05 maps\mp\zombies\_util::istrapresistant()) + { + continue; + } + + if(var_05 maps\mp\agents\_scripted_agent_anim_util::isstatelocked()) + { + continue; + } + + if(var_05 maps\mp\agents\humanoid\_humanoid_util::iscrawling()) + { + continue; + } + + if(!isdefined(var_05.enemy)) + { + continue; + } + + if(var_05.enemy != param_00) + { + if(!isplayer(var_05.enemy)) + { + continue; + } + + if(!trap_zomboni_is_player_on_zomboni(var_05.enemy,param_00)) + { + continue; + } + } + + var_06 = undefined; + var_07 = undefined; + foreach(var_02 in param_00.attack_locs) + { + if(isdefined(var_02.attacker)) + { + continue; + } + + if(var_02.nexttimer > gettime()) + { + continue; + } + + var_09 = anglestoforward(var_02.angles); + var_0A = var_02.jump_radius * var_02.jump_radius; + var_0B = anglestoforward(var_05.angles); + if(vectordot(var_0B,var_09) < 0.1) + { + continue; + } + + var_0C = vectornormalize(param_00.origin - var_05.origin); + if(vectordot(var_0C,var_0B) < 0.1) + { + continue; + } + + var_0D = distancesquared(var_02.origin,var_05.origin); + if(var_0D < var_0A) + { + if(!isdefined(var_06) || var_0D < var_07) + { + var_06 = var_02; + var_07 = var_0D; + } + } + } + + if(isdefined(var_06)) + { + param_00.jumpon_next = gettime() + randomintrange(3000,5000); + thread trap_zomboni_zombie_attack(param_00,var_05,var_06); + } + } + } +} + +//Function Number: 57 +trap_zomboni_assign_attack_ent(param_00,param_01,param_02) +{ + param_01.attacker = param_02; + common_scripts\utility::waittill_any_ents(self,"zomboni_done",param_02,"death"); + param_01.nexttimer = gettime() + randomintrange(1000,3000); + param_01.attacker = undefined; +} + +//Function Number: 58 +trap_zomboni_zombie_attack(param_00,param_01,param_02) +{ + param_01 endon("death"); + thread trap_zomboni_assign_attack_ent(param_00,param_02,param_01); + param_01 scragentsetscripted(1); + param_01 maps\mp\agents\_scripted_agent_anim_util::setstatelocked(1,"AttackZomboni"); + param_01 scragentsetphysicsmode("noclip"); + trap_zomboni_zombie_attack_anims(param_00,param_01,param_02); + param_01 scragentsetscripted(0); + param_01 maps\mp\agents\_scripted_agent_anim_util::setstatelocked(0,"AttackZomboni"); +} + +//Function Number: 59 +trap_zomboni_zombie_attack_anims(param_00,param_01,param_02) +{ + self endon("zomboni_done"); + param_01.zomboni = param_00; + param_01.attack_ent = param_02; + var_03 = "zomboni_attack_get_on"; + var_04 = 0.67; + var_05 = distance(param_01.origin,param_02.origin); + if(var_05 > param_02.grab_radius) + { + var_03 = "zomboni_attack_leap_on"; + } + + var_06 = param_02.anim_index; + param_01 scragentsetanimscale(0,1); + param_01 scragentsynchronizeanims(var_04,var_04,param_02,"tag_origin"); + param_01 maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_03,var_06,1,"scripted_anim"); + param_01 scragentsetanimscale(1,1); + for(;;) + { + var_03 = "zomboni_attack_zomboni"; + if(trap_zomboni_is_any_player_on_zomboni(param_00)) + { + var_03 = "zomboni_attack_player"; + } + + var_06 = param_02.anim_index; + param_01 maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_03,var_06,1,"scripted_anim",undefined,::trap_zomboni_zombie_attack_notetracks); + var_03 = "zomboni_attack_idle"; + var_06 = param_02.anim_index; + param_01 maps\mp\agents\_scripted_agent_anim_util::set_anim_state(var_03,var_06,1); + wait(randomfloatrange(1,2.5)); + } +} + +//Function Number: 60 +trap_zomboni_zombie_attack_notetracks(param_00,param_01,param_02,param_03) +{ + switch(param_00) + { + case "hit": + var_04 = []; + foreach(var_06 in level.players) + { + var_07 = var_06 getgroundentity(); + if(isdefined(var_07) && var_07 == self.zomboni.clip) + { + var_08 = distance2d(self.attack_ent.origin,var_06.origin); + var_09 = self.attack_ent.attack_radius; + if(var_06 getstance() == "prone") + { + var_09 = var_09 + 40; + } + + if(var_08 < var_09) + { + var_04[var_04.size] = var_06; + } + } + } + + foreach(var_06 in var_04) + { + self notify("attack_hit",var_06,var_06.origin); + var_0C = 0; + if(isdefined(self.meleedamage)) + { + var_0C = self.meleedamage; + } + + if(isalive(var_06)) + { + maps\mp\agents\humanoid\_humanoid_melee::domeleedamage(var_06,var_0C,"MOD_IMPACT"); + } + } + break; + + default: + break; + } +} + +//Function Number: 61 +trap_zomboni_notetracks(param_00) +{ + self endon("zomboni_done"); + for(;;) + { + param_00 waittill("zomboni_anim",var_01); + switch(var_01) + { + case "door_open": + foreach(var_03 in param_00.doors) + { + trap_zomboni_door_open(var_03,1); + } + break; + + case "door_close": + foreach(var_03 in param_00.doors) + { + trap_zomboni_door_close(var_03,1); + } + break; + + case "tag_hood_left": + self notify("tag_hood_left"); + break; + + case "end": + param_00 notify("end"); + break; + + case "enable_jumpon": + if(isdefined(param_00.mantle)) + { + param_00.mantle setcontents(param_00.mantlecontents); + param_00.mantle show(); + } + + param_00.jumpon_enabled = 1; + foreach(var_08 in param_00.attack_locs) + { + var_08.nexttimer = gettime() + randomintrange(0,2000); + } + break; + + case "disable_jumpon": + if(isdefined(param_00.mantle)) + { + param_00.mantle setcontents(0); + param_00.mantle hide(); + } + + param_00.jumpon_enabled = 0; + break; + + case "damage_rear": + case "damage_left": + case "damage_right": + case "damage_sides": + thread trap_zomboni_damage_jumpons(param_00,var_01); + break; + + default: + break; + } + } +} + +//Function Number: 62 +trap_zomboni_damage_jumpons(param_00,param_01) +{ + var_02 = []; + var_02["damage_left"] = ["left"]; + var_02["damage_right"] = ["right"]; + var_02["damage_rear"] = ["rear"]; + var_02["damage_sides"] = ["left","right"]; + var_03 = var_02[param_01]; + foreach(var_05 in var_03) + { + foreach(var_07 in param_00.attack_locs) + { + if(isdefined(var_07.attacker) && var_07.attack_name == var_05) + { + var_08 = var_07.attacker; + var_09 = self.owner; + if(isremovedentity(var_09)) + { + var_09 = undefined; + } + + var_08 dodamage(var_08.health,var_08.origin,var_09,param_00,"MOD_TRIGGER_HURT","trap_zm_mp"); + } + } + } +} + +//Function Number: 63 +trap_zomboni_animated_distraction_update(param_00) +{ + self endon("zomboni_done"); + self endon("tag_hood_left"); + wait(2); + for(;;) + { + var_01 = param_00 gettagorigin("tag_hood"); + thread trap_zomboni_animated_distraction(var_01,7); + wait(3); + } +} + +//Function Number: 64 +trap_zomboni_animated_distraction(param_00,param_01) +{ + var_02 = spawnstruct(); + var_02.origin = param_00; + var_02.groundpos = param_00; + var_02.team = level.playerteam; + var_02.maxdistsqr = 640000; + var_02.maxcount = 6; + var_02.istrap = 1; + var_02.agentcount = 0; + var_02.active = 1; + level notify("distraction_drone_activated",var_02); + level.zdd_active[level.zdd_active.size] = var_02; + wait(param_01); + level.zdd_active = common_scripts\utility::array_remove(level.zdd_active,var_02); + var_02.active = 0; + var_02 notify("stop"); +} + +//Function Number: 65 +trap_zomboni_door_open(param_00,param_01) +{ + param_00 playsound("chompy_hatch"); + param_00 moveto(param_00.open_origin,param_01); +} + +//Function Number: 66 +trap_zomboni_door_close(param_00,param_01) +{ + param_00 moveto(param_00.close_origin,param_01); +} + +//Function Number: 67 +trap_zomboni_kill_zone(param_00) +{ + self endon("zomboni_done"); + for(;;) + { + param_00.killtrigger waittill("trigger",var_01); + if(!isalive(var_01)) + { + continue; + } + + if(var_01 maps\mp\zombies\_util::istrapresistant()) + { + continue; + } + + if(isdefined(var_01.nexttrapdamage) && var_01.nexttrapdamage > gettime()) + { + continue; + } + + if(param_00.isstopped) + { + continue; + } + + var_01.nexttrapdamage = gettime() + 200; + if(isplayer(var_01)) + { + var_01 dodamage(10,var_01.origin,undefined,param_00); + continue; + } + + thread trap_zomboni_play_churn_fx(param_00); + if(!isscriptedagent(var_01) || var_01.agent_type == "zombie_dog" || !trap_zomboni_try_zombie_death_anim(param_00,var_01)) + { + var_02 = self.owner; + if(isremovedentity(var_02)) + { + var_02 = undefined; + } + + var_01 dodamage(var_01.health,var_01.origin,var_02,param_00,"MOD_TRIGGER_HURT","trap_zm_mp"); + if(isalive(var_01)) + { + var_01 suicide(); + } + } + } +} + +//Function Number: 68 +trap_zomboni_play_churn_fx(param_00) +{ + param_00 notify("play_churn_fx"); + param_00 endon("play_churn_fx"); + if(!maps\mp\zombies\_util::is_true(param_00.churn_fx)) + { + playfxontag(common_scripts\utility::getfx("chompy_churn"),param_00,"body_animate_jnt"); + } + + param_00.churn_fx = 1; + wait(5); + param_00.churn_fx = 0; + stopfxontag(common_scripts\utility::getfx("chompy_churn"),param_00,"body_animate_jnt"); +} + +//Function Number: 69 +trap_zomboni_try_zombie_death_anim(param_00,param_01) +{ + if(maps\mp\zombies\_util::is_true(param_01.zomboni_death)) + { + return 1; + } + + if(param_01 maps\mp\agents\_scripted_agent_anim_util::isstatelocked()) + { + return 0; + } + + thread trap_zomboni_zombie_death_anim(param_00,param_01); + return 1; +} + +//Function Number: 70 +trap_zomboni_zombie_death_anim(param_00,param_01) +{ + param_01 notify("killanimscript"); + param_01.zomboni_death = 1; + param_01 scragentsetanimmode("anim deltas"); + param_01 scragentsetanimscale(1,1); + param_01 scragentsetphysicsmode("noclip"); + var_02 = angleclamp180(param_00.angles[1] - param_01.angles[1]); + var_03 = "zomboni_trap_victim"; + var_04 = param_01 getanimentrycount(var_03); + var_05 = 0; + if(abs(var_02) < 45) + { + var_05 = 3; + if(var_04 > 3 && common_scripts\utility::cointoss()) + { + var_05 = 4; + } + } + else if(var_02 < 135) + { + var_05 = 2; + } + else if(var_02 > -135) + { + var_05 = 1; + } + + var_06 = undefined; + var_07 = undefined; + var_08 = ["tag_zom_align_center","tag_zom_align_right","tag_zom_align_left"]; + foreach(var_0A in var_08) + { + var_0B = param_00 gettagorigin(var_0A); + var_0C = distance2d(var_0B,param_01.origin); + if(!isdefined(var_06) || var_0C < var_07) + { + var_06 = var_0A; + var_07 = var_0C; + } + } + + param_01 playsoundonmovingent("chompy_chomp"); + param_01.godmode = 1; + param_01 scragentsetscripted(1); + param_01 maps\mp\agents\_scripted_agent_anim_util::setstatelocked(1,"SynchronizedAnim"); + param_01 scragentsetphysicsmode("noclip"); + param_01 scragentsynchronizeanims(0.5,0.5,param_00,var_06); + trap_zomboni_zombie_death_anim_wait(param_01,var_03,var_05); + param_01.godmode = 0; + param_01.bypasscorpse = 1; + var_0E = self.owner; + if(isremovedentity(var_0E)) + { + var_0E = undefined; + } + + param_01 dodamage(param_01.health,param_01.origin,var_0E,param_00,"MOD_TRIGGER_HURT","trap_zm_mp"); + if(isalive(param_01)) + { + param_01 suicide(); + } +} + +//Function Number: 71 +trap_zomboni_zombie_death_anim_wait(param_00,param_01,param_02) +{ + param_00 endon("death"); + param_00 endon("trap_zomboni_zombie_death_anim_timeout"); + param_00 thread trap_zomboni_zombie_death_anim_timeout(param_01,param_02); + param_00 maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(param_01,param_02,1,"scripted_anim",undefined,::trap_zomboni_zombie_death_notetracks); + param_00 notify("end_trap_zomboni_zombie_death_anim_timeout"); +} + +//Function Number: 72 +trap_zomboni_zombie_death_anim_timeout(param_00,param_01) +{ + self endon("death"); + self endon("end_trap_zomboni_zombie_death_anim_timeout"); + var_02 = 3; + if(isdefined(param_01)) + { + var_02 = getanimlength(self getanimentry(param_00,param_01)); + } + else + { + var_02 = getanimlength(self getanimentry(param_00,0)); + } + + wait(var_02 + 0.05); + self notify("trap_zomboni_zombie_death_anim_timeout"); +} + +//Function Number: 73 +trap_zomboni_zombie_death_notetracks(param_00,param_01,param_02,param_03) +{ + switch(param_00) + { + case "remove_head": + var_04 = maps\mp\zombies\_mutators::locationtobodypart("head"); + maps\mp\zombies\_mutators::mutilate(self.missingbodyparts | var_04,1,1,(0,0,1),0); + break; + + case "remove_arms": + var_05 = maps\mp\zombies\_mutators::locationtobodypart("right_arm_lower"); + var_06 = maps\mp\zombies\_mutators::locationtobodypart("left_arm_lower"); + var_07 = common_scripts\utility::random([var_05,var_06,var_05 | var_06]); + maps\mp\zombies\_mutators::mutilate(self.missingbodyparts | var_07,1,1,(0,0,1),0); + break; + + case "remove_legs": + var_08 = maps\mp\zombies\_mutators::locationtobodypart("right_leg_lower"); + var_09 = maps\mp\zombies\_mutators::locationtobodypart("left_leg_lower"); + var_0A = common_scripts\utility::random([var_08,var_09,var_08 | var_09]); + maps\mp\zombies\_mutators::mutilate(self.missingbodyparts | var_0A,1,1,(0,0,1),0); + break; + + default: + break; + } +} + +//Function Number: 74 +trap_zomboni_process_path(param_00,param_01) +{ + param_00.path_nodes = []; + param_00.notify_path_nodes = []; + var_02 = param_01.origin; + var_03 = 0; + var_04 = undefined; + var_05 = 0; + var_06 = undefined; + while(isdefined(param_01)) + { + var_07 = trap_zomboni_path_get_linked_ents(param_01); + foreach(var_09 in var_07) + { + if(!isdefined(var_09.script_noteworthy)) + { + continue; + } + + switch(var_09.script_noteworthy) + { + case "door": + var_09.close_origin = var_09.origin; + var_09.open_origin = var_09.close_origin + (0,0,60); + break; + + case "distraction": + var_09.active = 0; + break; + + default: + break; + } + } + + var_0B = param_00 getattachpos(param_01)[0]; + if((!isdefined(var_04) || distance(var_04.origin,var_0B) > 400) && distance(var_02,var_0B) > 300) + { + param_01.distraction = spawnstruct(); + param_01.distraction.origin = var_0B; + var_04 = param_01.distraction; + } + + if(isdefined(var_06)) + { + var_05 = var_05 + distance(param_01.origin,var_06.origin); + } + + param_01.pathdist = var_05; + param_00.path_nodes[param_00.path_nodes.size] = param_01; + if(isdefined(param_01.script_noteworthy)) + { + param_01.notes = strtok(param_01.script_noteworthy,","); + param_00.notify_path_nodes[param_00.notify_path_nodes.size] = param_01; + foreach(var_0D in param_01.notes) + { + switch(var_0D) + { + case "door_close": + var_03 = !var_03; + break; + + default: + break; + } + } + } + + if(isdefined(param_01.target)) + { + var_06 = param_01; + param_01 = getvehiclenode(param_01.target,"targetname"); + continue; + } + + break; + } + + param_00.pathdist = var_05; +} + +//Function Number: 75 +trap_zomboni_path_node_passed(param_00,param_01) +{ + self endon("zomboni_done"); + param_01 waittill("trigger"); + param_01 notify("passed",param_00); + param_00 notify("passed_node",param_01); + param_01.passed = 1; +} + +//Function Number: 76 +trap_zomboni_path_notify(param_00,param_01) +{ + self endon("zomboni_done"); + for(;;) + { + param_01 waittill("trigger"); + foreach(var_03 in param_01.notes) + { + switch(var_03) + { + case "door_open": + var_04 = 1; + param_00 zomboni_stop(); + var_05 = trap_zomboni_path_get_linked_ents(param_01,"door"); + foreach(var_07 in var_05) + { + thread trap_zomboni_door_open(var_07,var_04); + } + + wait(var_04); + param_00 zomboni_resume(); + break; + + case "door_close": + var_09 = 1; + var_05 = trap_zomboni_path_get_linked_ents(param_01,"door"); + foreach(var_07 in var_05) + { + thread trap_zomboni_door_close(var_07,var_09); + } + break; + + case "end": + param_00 notify("end"); + break; + + default: + break; + } + } + } +} + +//Function Number: 77 +trap_zomboni_distraction(param_00,param_01) +{ + var_02 = 2000; + if(param_00.pathdist > var_02) + { + for(;;) + { + param_01 waittill("passed_node",var_03); + if(param_00.pathdist - var_03.pathdist < var_02) + { + break; + } + } + } + + self.groundpos = self.origin; + self.team = level.playerteam; + self.maxdistsqr = 640000; + self.maxcount = 6; + self.istrap = 1; + self.agentcount = 0; + self.active = 1; + level notify("distraction_drone_activated",self); + level.zdd_active[level.zdd_active.size] = self; + param_00 waittill("passed"); + level.zdd_active = common_scripts\utility::array_remove(level.zdd_active,self); + self.active = 0; + self notify("stop"); +} + +//Function Number: 78 +trap_zomboni_path_get_linked_ents(param_00,param_01) +{ + var_02 = []; + if(isdefined(param_00.script_linkto)) + { + var_03 = strtok(param_00.script_linkto," "); + for(var_04 = 0;var_04 < var_03.size;var_04++) + { + var_05 = getent(var_03[var_04],"script_linkname"); + if(isdefined(var_05)) + { + if(!isdefined(param_01) || isdefined(var_05.script_noteworthy) && var_05.script_noteworthy == param_01) + { + var_02[var_02.size] = var_05; + } + } + } + } + + return var_02; +} + +//Function Number: 79 +zomboni_stop() +{ + self vehicle_setspeed(0,100,100); +} + +//Function Number: 80 +zomboni_resume() +{ + self resumespeed(100); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/_tubes.gsc b/AW/PC/maps/mp/zombies/_tubes.gsc new file mode 100644 index 0000000..34a603d --- /dev/null +++ b/AW/PC/maps/mp/zombies/_tubes.gsc @@ -0,0 +1,162 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_tubes.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 5 + * Decompile Time: 86 ms + * Timestamp: 4/22/2024 2:14:03 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + var_00 = common_scripts\utility::getstructarray("zombie_tube","targetname"); + foreach(var_02 in var_00) + { + var_03 = getentarray(var_02.target,"targetname"); + var_04 = common_scripts\utility::getstructarray(var_02.target,"targetname"); + var_05 = common_scripts\utility::array_combine(var_03,var_04); + foreach(var_07 in var_05) + { + var_08 = var_07.script_noteworthy; + if(!isdefined(var_08)) + { + continue; + } + + switch(var_08) + { + case "door_rotate": + var_02.door = var_07; + var_02.door linktargets(); + var_02.door.closeangles = var_07.angles; + var_02.door.openangles = var_07.angles + (0,180,0); + break; + + case "trigger": + var_02.trigger = var_07; + break; + + case "start": + var_02.start = var_07; + var_02.startend = common_scripts\utility::getstruct(var_02.start.target,"targetname"); + var_02.endstart = common_scripts\utility::getstruct(var_02.startend.target,"targetname"); + var_02.end = common_scripts\utility::getstruct(var_02.endstart.target,"targetname"); + break; + + default: + break; + } + } + + var_02 thread runtube(); + } +} + +//Function Number: 2 +linktargets() +{ + if(!isdefined(self.target)) + { + return; + } + + var_00 = getentarray(self.target,"targetname"); + foreach(var_02 in var_00) + { + var_02 linkto(self); + } +} + +//Function Number: 3 +runtube() +{ + var_00 = 0.3; + var_01 = 200; + if(isdefined(self.script_flag_true)) + { + common_scripts\utility::flag_wait(self.script_flag_true); + } + + if(isdefined(self.door)) + { + var_02 = 0.5; + self.door rotateto(self.door.openangles,var_02); + wait(var_02); + } + + for(;;) + { + self.trigger sethintstring(&"ZOMBIE_H2O_USE_TUBE"); + self.trigger setcursorhint("HINT_NOICON"); + self.trigger waittill("trigger",var_03); + self.trigger sethintstring(""); + var_03 setstance("stand"); + var_03.inteleport = 1; + if(isdefined(self.door)) + { + self.door rotateto(self.door.closeangles,var_00); + } + + var_04 = spawn("script_model",var_03.origin); + var_04.angles = (0,var_03.angles[1],0); + var_04 setmodel("tag_origin"); + var_03 playerlinkto(var_04,"tag_origin",var_00); + thread maps\mp\mp_zombie_h2o_aud::sndtubestart(var_04,var_03); + var_04 moveto(self.start.origin,var_00); + wait(var_00); + var_05 = distance(var_04.origin,self.startend.origin) / var_01; + var_04 moveto(self.startend.origin,var_05,var_05,0); + var_06 = anglesdelta(var_04.angles,self.startend.angles); + if(var_06 > 0) + { + var_04 rotateto(self.startend.angles,var_05); + } + + var_03 thread playertubevo(); + wait(var_05); + if(isdefined(self.door)) + { + self.door rotateto(self.door.openangles,var_00); + } + + thread endtube(var_04,var_03,var_01); + } +} + +//Function Number: 4 +endtube(param_00,param_01,param_02) +{ + if(isdefined(param_01)) + { + param_01 dontinterpolate(); + } + + param_00 dontinterpolate(); + param_00.origin = self.endstart.origin; + param_00.angles = self.endstart.angles; + var_03 = distance(param_00.origin,self.end.origin) / param_02; + param_00 moveto(self.end.origin,var_03,var_03,0); + thread maps\mp\mp_zombie_h2o_aud::sndtubeend(self.end.origin,param_01); + var_04 = anglesdelta(param_00.angles,self.end.angles); + if(var_04 > 0) + { + param_00 rotateto(self.end.angles,var_03); + } + + wait(var_03); + if(isdefined(param_01)) + { + param_01 unlink(); + param_01.inteleport = 0; + } + + param_00 delete(); +} + +//Function Number: 5 +playertubevo() +{ + thread maps\mp\zombies\_zombies_audio::create_and_play_dialog_delay("monologue","tube",undefined,undefined,undefined,0.5); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/_util.gsc b/AW/PC/maps/mp/zombies/_util.gsc new file mode 100644 index 0000000..8255c44 --- /dev/null +++ b/AW/PC/maps/mp/zombies/_util.gsc @@ -0,0 +1,3750 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_util.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 209 + * Decompile Time: 3391 ms + * Timestamp: 4/22/2024 2:14:13 AM +*******************************************************************/ + +//Function Number: 1 +agentclassregister(param_00,param_01) +{ + if(isdefined(param_00.model_bodies) && isdefined(param_00.model_heads)) + { + } + + if(!isdefined(level.agentclasses)) + { + level.agentclasses = []; + } + + level.agentclasses[param_01] = param_00; +} + +//Function Number: 2 +agentclassget(param_00) +{ + return level.agentclasses[param_00]; +} + +//Function Number: 3 +removeksicon(param_00,param_01,param_02) +{ + if(param_02 != 1) + { + var_03 = "ks_icon" + common_scripts\utility::tostring(param_02); + self setclientomnvar(var_03,0); + } +} + +//Function Number: 4 +zombies_trigger_use_think() +{ + self endon("death"); + self endon("zombies_make_unusable"); + while(isdefined(self)) + { + self waittill("trigger",var_00); + if(!isdefined(self)) + { + continue; + } + + self notify("player_used",var_00); + if(isdefined(self.owner)) + { + self.owner notify("player_used",var_00); + } + } +} + +//Function Number: 5 +zombies_make_usable(param_00,param_01) +{ + zombies_make_unusable(); + self.trigger = spawn("script_model",self.origin); + self.trigger.owner = self; + self.trigger setmodel("tag_origin"); + if(isdefined(param_01)) + { + self.trigger.origin = self.trigger.origin + param_01; + } + + self.trigger linkto(self); + self.trigger makeusable(); + self.trigger sethintstring(param_00); + self.trigger thread zombies_trigger_use_think(); +} + +//Function Number: 6 +zombies_make_unusable() +{ + self notify("zombies_make_unusable"); + if(isdefined(self.trigger)) + { + self.trigger notify("zombies_make_unusable"); + self.trigger delete(); + } + + self.trigger = undefined; +} + +//Function Number: 7 +zombies_make_objective(param_00) +{ + zombies_make_nonobjective(); + self.objid = maps\mp\gametypes\_gameobjects::getnextobjid(); + objective_add(self.objid,"invisible",(0,0,0)); + objective_position(self.objid,self.origin); + objective_state(self.objid,"active"); + objective_icon(self.objid,param_00); + objective_team(self.objid,"allies"); + objective_onentity(self.objid,self); +} + +//Function Number: 8 +zombies_make_nonobjective() +{ + if(isdefined(self.objid)) + { + maps\mp\_utility::_objective_delete(self.objid); + self.objid = undefined; + } +} + +//Function Number: 9 +get_character_count(param_00) +{ + var_01 = 0; + foreach(var_03 in level.characters) + { + if(!isalive(var_03)) + { + continue; + } + + if(isdefined(var_03.agent_type) && var_03.agent_type == param_00) + { + var_01++; + } + } + + return var_01; +} + +//Function Number: 10 +getnumplayers() +{ + var_00 = 0; + if(!isdefined(level.players)) + { + return 0; + } + + foreach(var_02 in level.players) + { + if(isonhumanteam(var_02)) + { + var_00++; + } + } + + return var_00; +} + +//Function Number: 11 +isonhumanteam(param_00) +{ + if(isdefined(param_00.team)) + { + return param_00.team == level.playerteam; + } + + return 0; +} + +//Function Number: 12 +isonhumanteamorspectator(param_00) +{ + if(isdefined(param_00.team)) + { + if(param_00.team == level.playerteam || param_00.team == "spectator") + { + return 1; + } + } + + return 0; +} + +//Function Number: 13 +iszombieequipment(param_00) +{ + return iszombielethal(param_00) || iszombietactical(param_00); +} + +//Function Number: 14 +iszombielethal(param_00) +{ + var_01 = 0; + switch(param_00) + { + case "contact_grenade_throw_zombies_mp": + case "contact_grenade_zombies_mp": + case "frag_grenade_zombies_mp": + case "frag_grenade_throw_zombies_mp": + var_01 = 1; + break; + } + + return var_01; +} + +//Function Number: 15 +iszombietactical(param_00) +{ + var_01 = 0; + switch(param_00) + { + case "teleport_throw_zombies_mp": + case "dna_aoe_grenade_zombie_mp": + case "distraction_drone_throw_zombie_mp": + case "distraction_drone_zombie_mp": + case "explosive_drone_throw_zombie_mp": + case "explosive_drone_zombie_mp": + case "dna_aoe_grenade_throw_zombie_mp": + case "teleport_zombies_mp": + case "repulsor_zombie_mp": + var_01 = 1; + break; + } + + return var_01; +} + +//Function Number: 16 +iszombiedistractiondrone(param_00) +{ + var_01 = 0; + switch(param_00) + { + case "distraction_drone_throw_zombie_mp": + case "distraction_drone_zombie_mp": + var_01 = 1; + break; + } + + return var_01; +} + +//Function Number: 17 +iszombiednagrenade(param_00) +{ + var_01 = 0; + switch(param_00) + { + case "dna_aoe_grenade_zombie_mp": + case "dna_aoe_grenade_throw_zombie_mp": + var_01 = 1; + break; + } + + return var_01; +} + +//Function Number: 18 +playerhasweapon(param_00,param_01) +{ + if(iszombieequipment(param_01)) + { + var_02 = getzombieequipmentalternatename(param_01); + return param_00 hasweapon(param_01) || param_00 hasweapon(var_02); + } + + return param_01 hasweapon(var_02); +} + +//Function Number: 19 +getzombieequipmentalternatename(param_00) +{ + var_01 = getpreexoequipment(param_00); + if(!isdefined(var_01)) + { + var_01 = getpostexoequipmentname(param_00); + } + + return var_01; +} + +//Function Number: 20 +getpreexoequipment(param_00) +{ + switch(param_00) + { + case "frag_grenade_zombies_mp": + return "frag_grenade_throw_zombies_mp"; + + case "contact_grenade_zombies_mp": + return "contact_grenade_throw_zombies_mp"; + + case "explosive_drone_zombie_mp": + return "explosive_drone_throw_zombie_mp"; + + case "distraction_drone_zombie_mp": + return "distraction_drone_throw_zombie_mp"; + + case "dna_aoe_grenade_zombie_mp": + return "dna_aoe_grenade_throw_zombie_mp"; + + case "teleport_zombies_mp": + return "teleport_throw_zombies_mp"; + + default: + break; + } + + return undefined; +} + +//Function Number: 21 +getpostexoequipmentname(param_00) +{ + switch(param_00) + { + case "frag_grenade_throw_zombies_mp": + return "frag_grenade_zombies_mp"; + + case "contact_grenade_throw_zombies_mp": + return "contact_grenade_zombies_mp"; + + case "explosive_drone_throw_zombie_mp": + return "explosive_drone_zombie_mp"; + + case "distraction_drone_throw_zombie_mp": + return "distraction_drone_zombie_mp"; + + case "dna_aoe_grenade_throw_zombie_mp": + return "dna_aoe_grenade_zombie_mp"; + + case "teleport_throw_zombies_mp": + return "teleport_zombies_mp"; + + default: + break; + } + + return undefined; +} + +//Function Number: 22 +iszombiekillstreakweapon(param_00) +{ + switch(param_00) + { + case "iw5_exominigunzm_mp": + case "killstreak_uav_mp": + case "airdrop_sentry_marker_mp": + return 1; + + default: + break; + } + + return 0; +} + +//Function Number: 23 +getplayerweaponzombies(param_00) +{ + var_01 = param_00 getcurrentprimaryweapon(); + if(isdefined(param_00.changingweapon)) + { + var_01 = param_00.changingweapon; + } + + if(!maps\mp\gametypes\_weapons::isprimaryweapon(var_01)) + { + var_01 = param_00 common_scripts\utility::getlastweapon(); + } + + if(!param_00 hasweapon(var_01)) + { + var_02 = param_00 getweaponslistprimaries(); + if(var_02.size > 0) + { + var_01 = var_02[0]; + } + } + + return var_01; +} + +//Function Number: 24 +getzombieweaponlevel(param_00,param_01) +{ + var_02 = getweaponbasename(param_01); + if(!haszombieweaponstate(param_00,var_02)) + { + return 0; + } + + return param_00.weaponstate[var_02]["level"]; +} + +//Function Number: 25 +haszombieweaponstate(param_00,param_01) +{ + return isdefined(param_01) && isdefined(param_00.weaponstate[param_01]); +} + +//Function Number: 26 +requestzombieagent(param_00,param_01) +{ + var_02 = undefined; + for(;;) + { + var_02 = maps\mp\agents\_agent_common::connectnewagent(param_00,param_01); + if(isdefined(var_02)) + { + break; + } + + wait(0.1); + } + + return var_02; +} + +//Function Number: 27 +spawnbotagent(param_00,param_01,param_02) +{ + if(!isdefined(param_00.angles)) + { + param_00.angles = (0,0,0); + } + + var_03 = requestzombieagent(param_01.agent_type,param_02); + var_03 maps\mp\agents\_agents::spawn_agent_player(param_00.origin,param_00.angles); + return var_03; +} + +//Function Number: 28 +onspawnscriptagenthumanoid(param_00,param_01,param_02) +{ + maps\mp\agents\humanoid\_humanoid::spawn_humanoid(self.animclass,param_00,param_01,param_02); +} + +//Function Number: 29 +spawnscriptagent(param_00,param_01,param_02) +{ + if(!isdefined(param_00.angles)) + { + param_00.angles = (0,0,0); + } + + var_03 = requestzombieagent(param_01.agent_type,param_02); + var_03.animclass = undefined; + if(isdefined(param_01.animclass)) + { + var_03.animclass = param_01.animclass; + } + + var_03 thread [[ var_03 maps\mp\agents\_agent_utility::agentfunc("spawn") ]](param_00.origin,param_00.angles); + if(isdefined(param_00.script_animation)) + { + if(isdefined(level.spawnanimationnotetrackhandlerassigner)) + { + var_04 = var_03 [[ level.spawnanimationnotetrackhandlerassigner ]](param_00); + } + else + { + var_04 = undefined; + } + + var_05 = isdefined(param_00.script_ghettotag) && param_00.script_ghettotag == "ignoreRealign"; + var_03 thread maps\mp\agents\humanoid\_humanoid_util::scriptedanimation(param_00.origin,param_00.angles,param_00.script_animation,1,var_04,var_05); + } + + if(isdefined(var_03) && isdefined(param_01)) + { + var_03 detachall(); + var_03.headmodel = undefined; + if(isdefined(level.assignzombiemeshoverridefunc) && var_03 [[ level.assignzombiemeshoverridefunc ]]()) + { + return var_03; + } + + if(isdefined(param_01.model_bodies)) + { + var_06 = randomint(param_01.model_bodies.size); + var_07 = common_scripts\utility::random(param_01.model_bodies[var_06]); + var_03 setmodel(var_07); + if(isdefined(param_01.model_heads)) + { + var_03.headmodel = common_scripts\utility::random(param_01.model_heads[var_06]); + var_03 attach(var_03.headmodel); + } + + if(isdefined(param_01.model_limbs)) + { + var_03 attachlimb("right_leg",param_01.model_limbs[var_06]); + var_03 attachlimb("left_leg",param_01.model_limbs[var_06]); + var_03 attachlimb("right_arm",param_01.model_limbs[var_06]); + var_03 attachlimb("left_arm",param_01.model_limbs[var_06]); + } + } + } + + return var_03; +} + +//Function Number: 30 +attachlimb(param_00,param_01) +{ + self.limbmodels[param_00] = common_scripts\utility::random(param_01[param_00]); + self attach(self.limbmodels[param_00]); +} + +//Function Number: 31 +countlimbs(param_00) +{ + var_01 = 0; + while(param_00 > 0) + { + var_01++; + param_00 = param_00 - param_00 & 0 - param_00; + } + + return var_01; +} + +//Function Number: 32 +getdismembersoundname() +{ + if(checkactivemutator("exo")) + { + return "dismemberExoSound"; + } + + return "dismemberSound"; +} + +//Function Number: 33 +onscriptagentkilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + self.isactive = 0; + self.hasdied = 0; + if(isdefined(self.animcbs.onexit[self.aistate])) + { + self [[ self.animcbs.onexit[self.aistate] ]](); + } + + var_09 = undefined; + if(isdefined(self.deathanimstateoverride)) + { + var_09 = self.deathanimstateoverride; + } + else if(self.species == "dog") + { + if(param_03 == "MOD_MELEE" && isdefined(param_01) && isplayer(param_01) && param_01 ishighjumpallowed()) + { + var_0A = vectornormalize(param_01.origin - self.origin); + var_0B = anglestoforward(self.angles); + var_0C = anglestoright(self.angles); + var_0D = vectordot(var_0A,var_0B); + var_0E = vectordot(var_0A,var_0C); + if(abs(var_0D) >= abs(var_0E)) + { + if(var_0D >= 0) + { + var_09 = "death_melee_exo_front"; + } + else + { + var_09 = "death_melee_exo_back"; + } + } + else if(var_0E >= 0) + { + var_09 = "death_melee_exo_left"; + } + else + { + var_09 = "death_melee_exo_right"; + } + } + else + { + var_09 = "death"; + } + } + else if(param_03 == "MOD_MELEE") + { + if(isdefined(param_01) && isplayer(param_01) && param_01 ishighjumpallowed()) + { + var_0A = vectornormalize(param_01.origin - self.origin); + var_0B = anglestoforward(self.angles); + var_0C = anglestoright(self.angles); + var_0D = vectordot(var_0A,var_0B); + var_0E = vectordot(var_0A,var_0C); + if(abs(var_0D) >= abs(var_0E)) + { + if(var_0D >= 0) + { + var_09 = "death_melee_exo_front"; + } + else + { + var_09 = "death_melee_exo_back"; + } + } + else if(var_0E >= 0) + { + var_09 = "death_melee_exo_left"; + } + else + { + var_09 = "death_melee_exo_right"; + } + } + else + { + var_09 = "death_melee_knife"; + } + } + else if(maps\mp\zombies\_mutators::isfullbodymutilation()) + { + if(self.movemode == "run" || self.movemode == "sprint") + { + var_09 = "death_full_body_run"; + } + else + { + var_09 = "death_full_body_stand"; + } + } + else if(self.aistate == "idle" || self.aistate == "melee") + { + var_09 = "death_stand"; + } + else + { + var_09 = "death_" + self.movemode; + } + + if(isdefined(self.traversalvector)) + { + moveawayfromtraversalsurface(); + } + + self scragentsetphysicsmode("gravity"); + var_0F = randomint(self getanimentrycount(var_09)); + maps\mp\agents\_scripted_agent_anim_util::set_anim_state(var_09,var_0F); + var_10 = self getanimentry(var_09,var_0F); + var_11 = getdeathanimduration(var_10); + if(isdefined(self.precloneswapfunc)) + { + [[ self.precloneswapfunc ]](); + } + + if(isdefined(param_04) && param_04 == "zombie_vaporize_mp" && common_scripts\utility::fxexists("zombie_death_vaporize")) + { + self.bypasscorpse = 1; + playfx(common_scripts\utility::getfx("zombie_death_vaporize"),self.origin + (0,0,30)); + } + + if(!isdefined(self.bypasscorpse) || !self.bypasscorpse) + { + self.body = self finishagentdamage(var_11); + if(doimmediateragdollviaweapon(param_04,param_03,param_01)) + { + self.ragdollimmediately = 1; + } + + var_12 = getragdollwaittime(var_11 * 0.001); + thread handleragdoll(self.body,var_12,var_10); + } + + maps\mp\agents\_agent_utility::deactivateagent(); + self notify("killanimscript"); +} + +//Function Number: 34 +doimmediateragdollviaweapon(param_00,param_01,param_02) +{ + if(isdefined(param_00)) + { + if(param_00 == "repulsor_zombie_mp" || param_00 == "zombie_water_trap_mp") + { + return 1; + } + else if(param_00 == "iw5_exominigunzm_mp" && isdefined(param_01) && param_01 == "MOD_MELEE_ALT") + { + level thread delayphysicsexplosionragdoll(self,param_02); + return 1; + } + } + + return 0; +} + +//Function Number: 35 +delayphysicsexplosionragdoll(param_00,param_01) +{ + if(!isdefined(param_00) || !isdefined(param_01)) + { + return; + } + + var_02 = param_01.origin + (0,0,30); + wait(0.1); + physicsexplosionsphere(var_02,100,0,10,0); +} + +//Function Number: 36 +shouldimmediateragdoll() +{ + if(maps\mp\zombies\_mutators::isfullbodymutilation()) + { + return 1; + } + + if(!self isonground() || is_true(self.inairforleap)) + { + return 1; + } + + if(is_true(self.neverimmediatelyragdoll)) + { + return 0; + } + + if(isdefined(self.ragdollimmediately) && self.ragdollimmediately) + { + return 1; + } + + return self.aistate == "traverse" || self.aistate == "scripted"; +} + +//Function Number: 37 +canragdoll(param_00) +{ + if(is_true(self.noragdollondeath)) + { + return 0; + } + + var_01 = getanimlength(param_00); + var_02 = getnotetracktimes(param_00,"ignore_ragdoll"); + return var_02.size == 0; +} + +//Function Number: 38 +moveawayfromtraversalsurface() +{ + var_00 = 20; + var_01 = vectortoangles(self.traversalvector); + var_02 = anglestoup(var_01); + var_03 = self.origin + var_02 * var_00; + self setorigin(var_03); +} + +//Function Number: 39 +getdeathanimduration(param_00) +{ + var_01 = getanimlength(param_00); + var_02 = getnotetracktimes(param_00,"start_ragdoll"); + if(var_02.size > 0) + { + var_01 = var_01 * var_02[0]; + } + else + { + var_01 = var_01 * 0.5; + } + + var_03 = int(var_01 * 1000); + return var_03; +} + +//Function Number: 40 +handleragdoll(param_00,param_01,param_02) +{ + if(!isdefined(param_00)) + { + return; + } + + if(!canragdoll(param_02)) + { + return; + } + + if(shouldimmediateragdoll()) + { + param_00 startragdoll(); + if(param_00 isragdoll()) + { + return; + } + } + + wait(param_01); + if(!isdefined(param_00)) + { + return; + } + + param_00 startragdoll(); + if(param_00 isragdoll()) + { + return; + } + + var_03 = getanimlength(param_02); + if(var_03 > param_01) + { + wait(var_03 - param_01); + if(!isdefined(param_00)) + { + return; + } + + param_00 startragdoll(); + } + + if(!param_00 isragdoll()) + { + param_00 delete(); + } +} + +//Function Number: 41 +getragdollwaittime(param_00) +{ + var_01 = 0.2; + if(self.aistate == "traverse" || self.aistate == "scripted") + { + return var_01; + } + + return param_00; +} + +//Function Number: 42 +waitforbadpath() +{ + self endon("death"); + level endon("game_ended"); + for(;;) + { + self waittill("bad_path"); + self.bhasnopath = 1; + if(isdefined(self.distractiondrone)) + { + self.distractiondronebadpathcount++; + } + } +} + +//Function Number: 43 +shouldignoreent(param_00) +{ + if(isplayerinlaststand(param_00)) + { + return 1; + } + + if(isplayerteleporting(param_00)) + { + return 1; + } + + if(is_true(param_00.zombiesignoreme) && !is_true(self.ignorescamouflage)) + { + return 1; + } + + if(isdefined(level.shouldignoreplayercallback)) + { + if([[ level.shouldignoreplayercallback ]](param_00)) + { + return 1; + } + } + + if(is_true(param_00.iszomboni) && istrapresistant()) + { + return 1; + } + + return 0; +} + +//Function Number: 44 +checkexpiretime(param_00,param_01,param_02) +{ + if(isdefined(self.ignoreexpiretime) && self.ignoreexpiretime) + { + return 0; + } + + var_03 = gettime() - param_00 / 1000; + if(var_03 > param_01) + { + if(var_03 > param_02) + { + return 1; + } + } + + return 0; +} + +//Function Number: 45 +locateenemypositions() +{ + self endon("death"); + level endon("game_ended"); + for(;;) + { + foreach(var_01 in level.participants) + { + if(isonhumanteam(var_01)) + { + self getenemyinfo(var_01); + } + } + + wait(0.5); + } +} + +//Function Number: 46 +agentemptythink() +{ + self endon("death"); + level endon("game_ended"); + self endon("owner_disconnect"); + for(;;) + { + self scragentsetgoalpos(self.origin); + wait(0.5); + } +} + +//Function Number: 47 +onaiconnect() +{ + self.agentname = &"ZOMBIES_EMPTY_STRING"; +} + +//Function Number: 48 +zombiewaitingfordeath() +{ + return isdefined(self.throttledeath); +} + +//Function Number: 49 +zombieshouldwaitfordeath(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + if(param_02 < self.maxhealth) + { + return 0; + } + + if(!isdefined(level.zmdeaththrottlenetworkframe) || level.zmdeaththrottlenetworkframe != getnetworkframe()) + { + level.zmdeaththrottlenetworkframe = getnetworkframe(); + level.zmdeaththrottlecount = 0; + } + + if(!isdefined(level.zmdeaththrottlequeue)) + { + level.zmdeaththrottlequeue = 0; + } + + if(isdefined(self.throttledeathready)) + { + self.throttledeathready = undefined; + return 0; + } + else if(level.zmdeaththrottlequeue + level.zmdeaththrottlecount + 1 > 4) + { + return 1; + } + + level.zmdeaththrottlecount++; + return 0; +} + +//Function Number: 50 +zombiehandlesuicide() +{ + self endon("processDelayDeath"); + self waittill("death"); + level.zmdeaththrottlequeue--; +} + +//Function Number: 51 +zombiedelaydeath(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + self endon("death"); + level.zmdeaththrottlequeue++; + self.throttledeath = getnetworkframe() + int(ceil(level.zmdeaththrottlequeue / 4)); + thread zombiehandlesuicide(); + while(getnetworkframe() < self.throttledeath) + { + waitnetworkframe(); + } + + if(level.zmdeaththrottlenetworkframe != getnetworkframe()) + { + level.zmdeaththrottlenetworkframe = getnetworkframe(); + level.zmdeaththrottlecount = 0; + } + + self.throttledeath = undefined; + self.throttledeathready = 1; + level.zmdeaththrottlequeue--; + level.zmdeaththrottlecount++; + self notify("processDelayDeath"); + self dodamage(param_02,param_05,param_01,undefined,param_03,param_04); +} + +//Function Number: 52 +candie() +{ + if(gettime() - self.spawntime <= 0.05) + { + return 0; + } + + return 1; +} + +//Function Number: 53 +ispendingdeath(param_00) +{ + return isdefined(self.pendingdeath) && self.pendingdeath; +} + +//Function Number: 54 +zombiependingdeath(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ + self notify("zombiePendingDeath"); + self endon("zombiePendingDeath"); + while(isdefined(self) && isalive(self)) + { + self.pendingdeath = 1; + if(!candie()) + { + wait(0.05); + continue; + } + + self.pendingdeath = 0; + maps\mp\zombies\_zombies::onzombiedamagefinished(param_00,param_01,self.health + 1,param_03,param_04,param_05,param_06,param_07,param_08,param_09); + } +} + +//Function Number: 55 +enemykilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + level.lastenemydeathpos = self.origin; + level thread maps\mp\gametypes\zombies::chancetospawnpickup(param_01,self,param_03,param_04); + if(isdefined(param_01) && isplayer(param_01)) + { + param_01 thread maps\mp\zombies\_zombies_audio::player_kill_zombie(param_06,param_03,param_04,self); + if(!level.gameended) + { + param_01 maps\mp\_utility::incplayerstat("kills",1); + param_01 maps\mp\_utility::incpersstat("kills",1); + param_01.kills = param_01 maps\mp\_utility::getpersstat("kills"); + param_01 maps\mp\gametypes\_persistence::statsetchild("round","kills",param_01.kills); + } + } + + if(isdefined(param_01)) + { + param_01 notify("killed_enemy"); + } + + if(isdefined(level.processenemykilledfunc)) + { + self thread [[ level.processenemykilledfunc ]](param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08); + } +} + +//Function Number: 56 +isinstakill() +{ + var_00 = maps\mp\_utility::gameflag("insta_kill"); + return var_00; +} + +//Function Number: 57 +isplayerinlaststand(param_00) +{ + return isdefined(param_00.laststand) && param_00.laststand; +} + +//Function Number: 58 +isplayerteleporting(param_00) +{ + return isdefined(param_00.inteleport) && param_00.inteleport; +} + +//Function Number: 59 +isplayerinfected(param_00) +{ + return isdefined(param_00.infected) && param_00.infected; +} + +//Function Number: 60 +anyplayerinfected() +{ + foreach(var_01 in level.players) + { + if(isplayerinfected(var_01)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 61 +iscrategodmode(param_00) +{ + return isdefined(param_00.crategodmode) && param_00.crategodmode; +} + +//Function Number: 62 +setallignoreme(param_00) +{ + if(param_00) + { + self.ignoreme = 1; + if(!isdefined(self.ignoremecount) || self.ignoremecount < 0) + { + self.ignoremecount = 0; + } + + self.ignoremecount++; + return; + } + + if(isdefined(self.ignoremecount) && self.ignoremecount > 0) + { + self.ignoremecount--; + if(self.ignoremecount > 0) + { + return; + } + + self.ignoreme = 0; + } +} + +//Function Number: 63 +setzombiesignoreme(param_00) +{ + if(param_00) + { + self.zombiesignoreme = 1; + if(!isdefined(self.zombiesignoremecount) || self.zombiesignoremecount < 0) + { + self.zombiesignoremecount = 0; + } + + self.zombiesignoremecount++; + return; + } + + if(isdefined(self.zombiesignoremecount) && self.zombiesignoremecount > 0) + { + self.zombiesignoremecount--; + if(self.zombiesignoremecount > 0) + { + return; + } + + self.zombiesignoreme = 0; + } +} + +//Function Number: 64 +isspecialround(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = level.wavecounter; + } + + if(param_00 == level.specialroundnumber) + { + return 1; + } + + return 0; +} + +//Function Number: 65 +civiliansareenabled() +{ + return isdefined(level.zombies_using_civilians) && level.zombies_using_civilians; +} + +//Function Number: 66 +allowextendedsprint(param_00) +{ + var_01 = "specialty_longersprint"; + if(param_00) + { + maps\mp\_utility::giveperk(var_01,0); + return; + } + + if(maps\mp\_utility::_hasperk(var_01)) + { + maps\mp\_utility::_unsetperk(var_01); + } +} + +//Function Number: 67 +playerallowextendedsprint(param_00,param_01) +{ + maps\mp\_utility::_playerallow("extendedSprint",param_00,param_01,::allowextendedsprint,0); +} + +//Function Number: 68 +allowlightweight(param_00) +{ + var_01 = "specialty_lightweight"; + if(param_00) + { + maps\mp\_utility::giveperk(var_01,0); + return; + } + + if(maps\mp\_utility::_hasperk(var_01)) + { + maps\mp\_utility::_unsetperk(var_01); + } +} + +//Function Number: 69 +playerallowlightweight(param_00,param_01) +{ + maps\mp\_utility::_playerallow("lightweight",param_00,param_01,::allowlightweight,0); +} + +//Function Number: 70 +zombieallowallboost(param_00,param_01) +{ + maps\mp\_utility::playerallowdodge(param_00,param_01); + maps\mp\_utility::playerallowpowerslide(param_00,param_01); + maps\mp\_utility::playerallowhighjump(param_00,param_01); + playerallowextendedsprint(param_00,param_01); + playerallowlightweight(param_00,param_01); +} + +//Function Number: 71 +creditstotokens(param_00) +{ + if(!param_00) + { + return 0; + } + + if(param_00 <= 100) + { + return 1; + } + + if(param_00 <= 500) + { + return 5; + } + + if(param_00 <= 1000) + { + return 10; + } + + if(param_00 <= 1500) + { + return 15; + } + + if(param_00 <= 2000) + { + return 20; + } + + return 25; +} + +//Function Number: 72 +gettokencoststring(param_00) +{ + switch(param_00) + { + case 0: + return &"ZOMBIES_EMPTY_STRING"; + + case 1: + return &"ZOMBIES_USE_TOKEN"; + + case 5: + return &"ZOMBIES_USE_TOKEN_5"; + + case 10: + return &"ZOMBIES_USE_TOKEN_10"; + + case 15: + return &"ZOMBIES_USE_TOKEN_15"; + + case 20: + return &"ZOMBIES_USE_TOKEN_20"; + + case 25: + return &"ZOMBIES_USE_TOKEN_25"; + + default: + return "NEED TOKEN STRING FOR " + param_00 + " TOKENS."; + } +} + +//Function Number: 73 +getcoststring(param_00) +{ + switch(param_00) + { + case 0: + return &"ZOMBIES_EMPTY_STRING"; + + case 100: + return &"ZOMBIES_COST_100"; + + case 200: + return &"ZOMBIES_COST_200"; + + case 250: + return &"ZOMBIES_COST_250"; + + case 300: + return &"ZOMBIES_COST_300"; + + case 400: + return &"ZOMBIES_COST_400"; + + case 500: + return &"ZOMBIES_COST_500"; + + case 600: + return &"ZOMBIES_COST_600"; + + case 700: + return &"ZOMBIES_COST_700"; + + case 750: + return &"ZOMBIES_COST_750"; + + case 800: + return &"ZOMBIES_COST_800"; + + case 900: + return &"ZOMBIES_COST_900"; + + case 1000: + return &"ZOMBIES_COST_1000"; + + case 1250: + return &"ZOMBIES_COST_1250"; + + case 1500: + return &"ZOMBIES_COST_1500"; + + case 1750: + return &"ZOMBIES_COST_1750"; + + case 2000: + return &"ZOMBIES_COST_2000"; + + case 2500: + return &"ZOMBIES_COST_2500"; + + case 3000: + return &"ZOMBIES_COST_3000"; + + case 4000: + return &"ZOMBIES_COST_4000"; + + case 5000: + return &"ZOMBIES_COST_5000"; + + default: + return "NEED HINT STRING FOR $" + param_00 + "."; + } +} + +//Function Number: 74 +getreducedcost(param_00) +{ + switch(param_00) + { + case 0: + return 0; + + case 100: + return 0; + + case 200: + return 100; + + case 250: + return 100; + + case 300: + return 200; + + case 400: + return 200; + + case 500: + return 250; + + case 600: + return 300; + + case 700: + return 300; + + case 750: + return 300; + + case 800: + return 400; + + case 900: + return 400; + + case 1000: + return 500; + + case 1250: + return 500; + + case 1500: + return 750; + + case 1750: + return 800; + + case 2000: + return 1000; + + case 2500: + return 1250; + + case 3000: + return 1500; + + case 4000: + return 2000; + + case 5000: + return 2500; + + default: + return 500; + } +} + +//Function Number: 75 +getincreasedcost(param_00) +{ + switch(param_00) + { + case 0: + return 0; + + case 100: + return 200; + + case 200: + return 300; + + case 250: + return 400; + + case 300: + return 500; + + case 400: + return 600; + + case 500: + return 750; + + case 600: + return 800; + + case 700: + return 900; + + case 750: + return 1000; + + case 800: + return 1250; + + case 900: + return 1500; + + case 1000: + return 1500; + + case 1250: + return 1750; + + case 1500: + return 2000; + + case 1750: + return 2500; + + case 2000: + return 2500; + + case 2500: + return 3000; + + case 3000: + return 4000; + + case 4000: + return 5000; + + case 5000: + return 5000; + + default: + return 1000; + } +} + +//Function Number: 76 +zombie_set_eyes(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = "tag_eye"; + } + + self.eyefxactive = 1; + playfxontagnetwork(common_scripts\utility::getfx(param_00),self,param_01); + thread zombiestopeyeeffectsonnotify(param_00,param_01,"humanoidPendingDeath"); +} + +//Function Number: 77 +zombiestopeyeeffectsonnotify(param_00,param_01,param_02) +{ + self notify("zombieStopEyeEffectsOnNotify"); + self endon("zombieStopEyeEffectsOnNotify"); + self endon("death"); + self waittill(param_02); + stopfxontagnetwork(common_scripts\utility::getfx(param_00),self,param_01); +} + +//Function Number: 78 +delete_on_death_of(param_00) +{ + delete_on_notification(param_00,"death"); +} + +//Function Number: 79 +delete_on_notification(param_00,param_01) +{ + self endon("death"); + param_00 waittill(param_01); + if(isdefined(self)) + { + self delete(); + } +} + +//Function Number: 80 +isspawnlistreplaceabletype(param_00) +{ + return !isdefined(level.modifyspawnlist[param_00]); +} + +//Function Number: 81 +array_remove_index(param_00,param_01) +{ + for(var_02 = 0;var_02 < param_00.size - 1;var_02++) + { + if(var_02 == param_01) + { + param_00[var_02] = param_00[var_02 + 1]; + param_01++; + } + } + + param_00[param_00.size - 1] = undefined; + return param_00; +} + +//Function Number: 82 +arrayremoveundefinedkeephash(param_00) +{ + var_01 = []; + foreach(var_04, var_03 in param_00) + { + if(!isdefined(var_03)) + { + continue; + } + + if(isnumber(var_04)) + { + var_01[var_01.size] = var_03; + continue; + } + + var_01[var_04] = var_03; + } + + return var_01; +} + +//Function Number: 83 +isgenericzombie(param_00) +{ + if(!isdefined(param_00.agent_type)) + { + return 0; + } + + if(param_00.agent_type != "zombie_generic") + { + return 0; + } + + return 1; +} + +//Function Number: 84 +hasactivemutator(param_00) +{ + return isdefined(param_00.activemutators); +} + +//Function Number: 85 +checkactivemutator(param_00) +{ + return isdefined(self.activemutators) && isdefined(self.activemutators[param_00]); +} + +//Function Number: 86 +resetcharacterindex(param_00) +{ + if(!isdefined(level.zmcharacterpool)) + { + return; + } + + level.zmcharacterpool[level.zmcharacterpool.size] = param_00; +} + +//Function Number: 87 +selectcharacterindextouse(param_00) +{ + if(isdefined(level.zmcharacterpool) && level.zmcharacterpool.size == 0) + { + return -1; + } + + if(!isdefined(level.zmcharacterpool)) + { + level.zmcharacterpool = []; + level.zmcharacterpool[level.zmcharacterpool.size] = 0; + level.zmcharacterpool[level.zmcharacterpool.size] = 1; + level.zmcharacterpool[level.zmcharacterpool.size] = 2; + level.zmcharacterpool[level.zmcharacterpool.size] = 3; + level.zmcharacterpool = common_scripts\utility::array_randomize(level.zmcharacterpool); + } + + if(!isdefined(param_00)) + { + var_01 = level.zmcharacterpool[level.zmcharacterpool.size - 1]; + level.zmcharacterpool[level.zmcharacterpool.size - 1] = undefined; + self.characterindex = var_01; + } + else + { + self.characterindex = param_00; + } + + return self.characterindex; +} + +//Function Number: 88 +get_player_index(param_00) +{ + return param_00.characterindex; +} + +//Function Number: 89 +get_round_enemy_array() +{ + var_00 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + var_01 = []; + foreach(var_03 in var_00) + { + if(var_03.team == level.enemyteam) + { + var_01[var_01.size] = var_03; + } + } + + return var_01; +} + +//Function Number: 90 +is_true(param_00) +{ + return isdefined(param_00) && param_00; +} + +//Function Number: 91 +set_player_is_female(param_00) +{ + self.isfemale = param_00; +} + +//Function Number: 92 +get_player_is_female() +{ + return self.isfemale; +} + +//Function Number: 93 +initializecharactermodel(param_00,param_01,param_02,param_03) +{ + level.characterassets[param_00]["body"] = param_01; + level.characterassets[param_00]["viewmodel"] = param_02; + if(isdefined(param_03) && param_03.size > 0) + { + level.characterassets[param_00]["attachments"] = param_03; + } +} + +//Function Number: 94 +setcharactermodel(param_00,param_01,param_02) +{ + if(!isdefined(param_02)) + { + param_02 = 0; + } + + if(!isdefined(param_01) || param_01 == 0) + { + self waittill("spawned_player"); + } + + if(!isdefined(level.characterassets[param_00])) + { + param_00 = "default"; + } + + self detachall(); + self.charactermodel = level.characterassets[param_00]["body"]; + if(!maps\mp\_utility::isjuggernaut()) + { + self setmodel(level.characterassets[param_00]["body"]); + } + + if(isdefined(level.characterassets[param_00]["viewmodel"])) + { + self.characterviewmodel = level.characterassets[param_00]["viewmodel"]; + if(!maps\mp\_utility::isjuggernaut()) + { + self setviewmodel(level.characterassets[param_00]["viewmodel"]); + } + } + + if(isdefined(level.characterassets[param_00]["attachments"])) + { + foreach(var_04 in level.characterassets[param_00]["attachments"]) + { + if(issubstr(var_04,"head")) + { + self.characterhead = var_04; + } + + if(!maps\mp\_utility::isjuggernaut()) + { + self attach(var_04,"",1); + } + } + } +} + +//Function Number: 95 +givecustomcharactersdefault(param_00) +{ + var_02 = selectcharacterindextouse(param_00); + var_03 = 1; + if(var_02 == -1) + { + var_03 = 0; + var_02 = 0; + self.characterindex = 0; + } + + if(var_03) + { + var_01 = "ui_zm_character_" + var_02; + setomnvar(var_01,self getentitynumber()); + var_04 = "ui_zm_character_" + var_02 + "_alive"; + setomnvar(var_04,0); + thread resetcharacterondisconnect(var_01,var_04,var_02); + } + + setcustomcharacter(var_02,0); + setcharacteraudio(var_02); +} + +//Function Number: 96 +setcharacteraudio(param_00,param_01) +{ + self.favorite_wall_weapons_list = []; + switch(param_00) + { + case 0: + level.vox maps\mp\zombies\_zombies_audio::zmbvoxinitspeaker("player","guard_",self,self.characterindex); + self.favorite_wall_weapons_list[self.favorite_wall_weapons_list.size] = "iw5_maulzm"; + self.favorite_wall_weapons_list[self.favorite_wall_weapons_list.size] = "iw5_mp11zm"; + maps\mp\gametypes\_battlechatter_mp::disablebattlechatter(self); + break; + + case 1: + level.vox maps\mp\zombies\_zombies_audio::zmbvoxinitspeaker("player","exec_",self,self.characterindex); + self.favorite_wall_weapons_list[self.favorite_wall_weapons_list.size] = "iw5_uts19zm"; + self.favorite_wall_weapons_list[self.favorite_wall_weapons_list.size] = "iw5_m182sprzm"; + maps\mp\gametypes\_battlechatter_mp::disablebattlechatter(self); + break; + + case 2: + level.vox maps\mp\zombies\_zombies_audio::zmbvoxinitspeaker("player","it_",self,self.characterindex); + self.favorite_wall_weapons_list[self.favorite_wall_weapons_list.size] = "iw5_hbra3zm"; + self.favorite_wall_weapons_list[self.favorite_wall_weapons_list.size] = "iw5_hmr9zm"; + maps\mp\gametypes\_battlechatter_mp::disablebattlechatter(self); + break; + + case 3: + if(getzombieslevelnum() < 3 || is_true(param_01)) + { + level.vox maps\mp\zombies\_zombies_audio::zmbvoxinitspeaker("player","janitor_",self,self.characterindex); + self.favorite_wall_weapons_list[self.favorite_wall_weapons_list.size] = "iw5_maulzm"; + self.favorite_wall_weapons_list[self.favorite_wall_weapons_list.size] = "iw5_arx160zm"; + maps\mp\gametypes\_battlechatter_mp::disablebattlechatter(self); + } + else + { + level.vox maps\mp\zombies\_zombies_audio::zmbvoxinitspeaker("player","pilot_",self,self.characterindex); + self.favorite_wall_weapons_list[self.favorite_wall_weapons_list.size] = "iw5_mp11zm"; + self.favorite_wall_weapons_list[self.favorite_wall_weapons_list.size] = "iw5_arx160zm"; + maps\mp\gametypes\_battlechatter_mp::disablebattlechatter(self); + } + break; + } +} + +//Function Number: 97 +setcustomcharacter(param_00,param_01,param_02) +{ + var_03 = undefined; + var_04 = 0; + if(!isdefined(param_02)) + { + param_02 = 0; + } + + switch(param_00) + { + case 0: + var_03 = "security"; + break; + + case 1: + var_03 = "exec"; + break; + + case 2: + var_03 = "it"; + var_04 = 1; + break; + + case 3: + if(getzombieslevelnum() < 3) + { + var_03 = "janitor"; + } + else + { + var_03 = "pilot"; + } + break; + } + + if(isdefined(var_03)) + { + thread setcharactermodel(var_03,param_01,param_02); + set_player_is_female(var_04); + } +} + +//Function Number: 98 +resetcharacterondisconnect(param_00,param_01,param_02) +{ + self waittill("disconnect"); + setomnvar(param_00,-1); + setomnvar(param_01,0); + resetcharacterindex(param_02); +} + +//Function Number: 99 +flag_link(param_00,param_01) +{ + level thread _flag_link(param_00,param_01); +} + +//Function Number: 100 +_flag_link(param_00,param_01) +{ + common_scripts\utility::flag_wait(param_00); + common_scripts\utility::flag_set(param_01); +} + +//Function Number: 101 +lerp(param_00,param_01,param_02) +{ + var_03 = param_02 - param_01; + var_04 = param_00 * var_03; + var_05 = param_01 + var_04; + return var_05; +} + +//Function Number: 102 +getnetworkframe() +{ + return int(gettime() / 100); +} + +//Function Number: 103 +waitnetworkframe() +{ + wait 0.05; + wait 0.05; +} + +//Function Number: 104 +playfxontagnetwork(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_01)) + { + return; + } + + if(!isdefined(param_03)) + { + param_03 = 0; + } + + thread _playfxontagnetworkinternal(param_00,param_01,param_02,param_03); +} + +//Function Number: 105 +_playfxontagnetworkinternal(param_00,param_01,param_02,param_03) +{ + param_01 endon("death"); + param_01 notify("StopFxOnTagNetwork_" + param_00 + param_02); + param_01 endon("StopFxOnTagNetwork_" + param_00 + param_02); + _waittillcandofxevent(param_01); + if(!isdefined(param_01)) + { + return; + } + + playfxontag(param_00,param_01,param_02); + if(!param_03) + { + param_01 _entitytrackfx(param_00,param_02,0); + } + + param_01 _entityincrementeventcount(); +} + +//Function Number: 106 +playfxontagforclientnetwork(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_01)) + { + return; + } + + thread _playfxontagnetworkforclientinternal(param_00,param_01,param_02,param_03); +} + +//Function Number: 107 +_playfxontagnetworkforclientinternal(param_00,param_01,param_02,param_03) +{ + param_01 endon("death"); + param_01 endon("StopFxOnTagNetwork_" + param_00 + param_02); + _waittillcandofxevent(param_01); + playfxontagforclients(param_00,param_01,param_02,param_03); + param_01 _entityincrementeventcount(); +} + +//Function Number: 108 +stopfxontagforclientnetwork(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_01)) + { + return; + } + + thread _stopfxontagnetworkforclientinternal(param_00,param_01,param_02,param_03); +} + +//Function Number: 109 +_stopfxontagnetworkforclientinternal(param_00,param_01,param_02,param_03) +{ + param_01 endon("death"); + param_01 endon("StopFxOnTagNetwork_" + param_00 + param_02); + _waittillcandofxevent(param_01); + stopfxontagforclient(param_00,param_01,param_02,param_03); + param_01 _entityincrementeventcount(); +} + +//Function Number: 110 +stopfxontagnetwork(param_00,param_01,param_02) +{ + if(!isdefined(param_01)) + { + return; + } + + thread _stopfxontagnetworkinternal(param_00,param_01,param_02); +} + +//Function Number: 111 +_stopfxontagnetworkinternal(param_00,param_01,param_02) +{ + param_01 endon("death"); + param_01 notify("StopFxOnTagNetwork_" + param_00 + param_02); + param_01 endon("StopFxOnTagNetwork_" + param_00 + param_02); + _waittillcandofxevent(param_01); + stopfxontag(param_00,param_01,param_02); + param_01 _entitytrackfx(param_00,param_02,1); + param_01 _entityincrementeventcount(); +} + +//Function Number: 112 +killfxontagnetwork(param_00,param_01,param_02) +{ + if(!isdefined(param_01)) + { + return; + } + + _killfxontagnetworkinternal(param_00,param_01,param_02); +} + +//Function Number: 113 +_killfxontagnetworkinternal(param_00,param_01,param_02) +{ + param_01 endon("death"); + param_01 notify("StopFxOnTagNetwork_" + param_00 + param_02); + param_01 endon("StopFxOnTagNetwork_" + param_00 + param_02); + _waittillcandofxevent(param_01); + killfxontag(param_00,param_01,param_02); + param_01 _entitytrackfx(param_00,param_02,1); + param_01 _entityincrementeventcount(); +} + +//Function Number: 114 +_waittillcandofxevent(param_00) +{ + var_01 = 0; + if(!isdefined(param_00.trackedfxdata)) + { + param_00 _entitysetupplayfxnetworkstatus(); + } + else if(getnetworkframe() > param_00.trackedfxdata.networkframe) + { + param_00 _entityresetplayfxnetworkstatus(); + } + + while(param_00.trackedfxdata.count >= level.network_max_events || isdefined(param_00.birthtime) && param_00.birthtime == gettime()) + { + waitnetworkframe(); + var_01 = 1; + if(!isdefined(param_00)) + { + return var_01; + } + + if(!isdefined(param_00.trackedfxdata)) + { + param_00 _entitysetupplayfxnetworkstatus(); + } + + if(getnetworkframe() > param_00.trackedfxdata.networkframe) + { + param_00 _entityresetplayfxnetworkstatus(); + } + } + + return var_01; +} + +//Function Number: 115 +_entitysetupplayfxnetworkstatus() +{ + self.trackedfx = []; + self.trackedfxdata = spawnstruct(); + _entityresetplayfxnetworkstatus(); +} + +//Function Number: 116 +_entityresetplayfxnetworkstatus() +{ + self.trackedfxdata.count = 0; + self.trackedfxdata.networkframe = getnetworkframe(); +} + +//Function Number: 117 +_entityincrementeventcount() +{ + self.trackedfxdata.count++; +} + +//Function Number: 118 +_entitytrackfx(param_00,param_01,param_02) +{ + if(!isdefined(level.entswithfx[self getentitynumber()])) + { + level.entswithfx[self getentitynumber()] = self; + } + + var_03 = 0; + foreach(var_05 in self.trackedfx) + { + if(var_05.id == param_00 && var_05.tagname == param_01 && var_05.stop == param_02) + { + var_03 = 1; + break; + } + } + + if(!var_03) + { + var_07 = spawnstruct(); + var_07.id = param_00; + var_07.tagname = param_01; + var_07.stop = param_02; + self.trackedfx[self.trackedfx.size] = var_07; + if(!param_02) + { + thread _entitywatchforstopeffect(var_07); + } + } +} + +//Function Number: 119 +_entitywatchforstopeffect(param_00) +{ + self endon("death"); + thread _entitystoptrackingondeath(); + self waittill("StopFxOnTagNetwork_" + param_00.id + param_00.tagname); + self.trackedfx = common_scripts\utility::array_remove(self.trackedfx,param_00); +} + +//Function Number: 120 +_entitystoptrackingondeath() +{ + self notify("_entityKillFXOnDeath"); + self endon("_entityKillFXOnDeath"); + var_00 = self getentitynumber(); + self waittill("death"); + level.entswithfx[var_00] = undefined; + if(isdefined(self)) + { + self.trackedfx = undefined; + self.trackedfxdata = undefined; + } +} + +//Function Number: 121 +startfxforlatejoiner(param_00) +{ + param_00 endon("disconnect"); + if(param_00 maps\mp\gametypes\_playerlogic::mayspawn()) + { + param_00 waittill("spawned_player"); + } + else + { + param_00 waittill("joined_spectators"); + } + + waittillplayersnextsnapshot(param_00); + if(is_true(param_00.laterjoinereffects)) + { + return; + } + + param_00.laterjoinereffects = 1; + foreach(var_02 in level.entswithfx) + { + thread startfxforlatejoineronent(param_00,var_02); + } +} + +//Function Number: 122 +startfxforlatejoineronent(param_00,param_01) +{ + param_00 endon("disconnect"); + param_01 endon("death"); + if(!isdefined(param_01) || !isdefined(param_01.trackedfx)) + { + return; + } + + var_02 = []; + var_03 = param_01.trackedfx.size; + for(var_04 = 0;var_04 < var_03;var_04++) + { + var_05 = param_01.trackedfx[var_04]; + stopfxontagforclientnetwork(var_05.id,param_01,var_05.tagname,param_00); + if(!var_05.stop) + { + var_02[var_02.size] = var_05; + } + } + + waittillplayersnextsnapshot(param_00); + if(!level.nextgen) + { + wait(5); + } + + for(var_04 = 0;var_04 < var_02.size;var_04++) + { + var_05 = var_02[var_04]; + if(!isdefined(var_05) || !common_scripts\utility::array_contains(param_01.trackedfx,var_05)) + { + continue; + } + + playfxontagforclientnetwork(var_05.id,param_01,var_05.tagname,param_00); + } +} + +//Function Number: 123 +handlenetworkeffects() +{ + thread onplayerconnectfxlatejoiners(); + thread onhostmigratefx(); +} + +//Function Number: 124 +onplayerconnectfxlatejoiners() +{ + if(!isdefined(level.entswithfx)) + { + level.entswithfx = []; + } + + level.network_max_events = 2; + for(;;) + { + level waittill("connected",var_00); + if(isbot(var_00)) + { + continue; + } + + level thread startfxforlatejoiner(var_00); + } +} + +//Function Number: 125 +onhostmigratefx() +{ + for(;;) + { + level waittill("host_migration_begin"); + foreach(var_01 in level.entswithfx) + { + thread startfxforhostmigrationonent(var_01); + } + } +} + +//Function Number: 126 +startfxforhostmigrationonent(param_00) +{ + param_00 endon("death"); + if(!isdefined(param_00) || !isdefined(param_00.trackedfx)) + { + return; + } + + waittillframeend; + var_01 = []; + var_02 = param_00.trackedfx.size; + for(var_03 = 0;var_03 < var_02;var_03++) + { + var_04 = param_00.trackedfx[var_03]; + stopfxontagnetwork(var_04.id,param_00,var_04.tagname); + if(!var_04.stop) + { + var_01[var_01.size] = var_04; + } + } + + level waittill("host_migration_end"); + for(var_03 = 0;var_03 < var_01.size;var_03++) + { + var_04 = var_01[var_03]; + playfxontagnetwork(var_04.id,param_00,var_04.tagname); + } +} + +//Function Number: 127 +istrapweapon(param_00) +{ + if(isdefined(param_00)) + { + switch(param_00) + { + case "trap_missile_zm_mp": + case "trap_zm_mp": + case "zombie_water_trap_mp": + case "zombie_vaporize_mp": + case "zombie_trap_turret_mp": + case "trap_sniper_zm_mp": + return 1; + + default: + return 0; + } + } + + return 0; +} + +//Function Number: 128 +getroundtype(param_00) +{ + switch(param_00) + { + case "zombie_dog": + return 1; + + case "zombie_host": + return 2; + + case "normal": + default: + return 0; + } +} + +//Function Number: 129 +waittill_enter_game() +{ + while(!has_entered_game()) + { + wait(0.05); + } +} + +//Function Number: 130 +has_entered_game() +{ + return is_true(self.hastraversed); +} + +//Function Number: 131 +isusetriggerforsingleclient(param_00) +{ + return isdefined(param_00.script_index); +} + +//Function Number: 132 +isusetriggerprimary(param_00) +{ + return !isdefined(param_00.script_index) || param_00.script_index == 0; +} + +//Function Number: 133 +setupusetriggerforclient(param_00,param_01) +{ + if(!isdefined(param_00.script_index)) + { + return; + } + + param_00 common_scripts\utility::trigger_off(); + param_00.claimed = 0; + foreach(var_03 in level.players) + { + if(var_03 _playerisassignedtousetrigger(param_00)) + { + var_03 thread _playerassignusetrigger(param_00,param_01); + break; + } + } + + thread _onplayerconnectedusetriggerassign(param_00,param_01); +} + +//Function Number: 134 +_onplayerconnectedusetriggerassign(param_00,param_01) +{ + param_00 endon("death"); + for(;;) + { + level waittill("connected",var_02); + if(var_02 _playerisassignedtousetrigger(param_00)) + { + var_02 _playerassignusetrigger(param_00,param_01); + } + } +} + +//Function Number: 135 +_playerisassignedtousetrigger(param_00) +{ + return isdefined(param_00.script_index) && self getentitynumber() == param_00.script_index; +} + +//Function Number: 136 +_playerassignusetrigger(param_00,param_01) +{ + self clientclaimtrigger(param_00); + param_00 common_scripts\utility::trigger_on(); + param_00 notify("claimed"); + param_00.claimed = 1; + param_00.claimedby = self; + thread _playerreleaseusetriggerondisconnect(param_00); + param_00 thread [[ param_01 ]](self); +} + +//Function Number: 137 +_playerreleaseusetriggerondisconnect(param_00) +{ + param_00 endon("death"); + self waittill("disconnect"); + if(isdefined(self)) + { + self clientreleasetrigger(param_00); + } + + param_00 common_scripts\utility::trigger_off(); + param_00.claimed = 0; +} + +//Function Number: 138 +isrippedturretweapon(param_00) +{ + return param_00 == "turretheadenergy_mp" || param_00 == "turretheadrocket_mp" || param_00 == "turretheadmg_mp"; +} + +//Function Number: 139 +outofboundswatch(param_00) +{ + for(;;) + { + foreach(var_02 in level.players) + { + if(!isdefined(var_02)) + { + continue; + } + + if(var_02.sessionstate == "spectator" || var_02.sessionstate == "intermission") + { + continue; + } + + if(var_02 isnoclip()) + { + continue; + } + + if(!isalive(var_02)) + { + continue; + } + + var_03 = var_02 maps\mp\zombies\_zombies_zone_manager::getplayerzone(); + if(!isdefined(var_03)) + { + var_04 = !param_00; + if(var_04) + { + var_02.outofbounds = 1; + var_02 suicide(); + } + else + { + iprintlnbold("Player out of bounds at " + var_02.origin); + wait(1); + } + } + else + { + var_02.outofbounds = undefined; + } + + if(!param_00) + { + wait(0.5); + } + } + + wait 0.05; + } +} + +//Function Number: 140 +waittillplayersnextsnapshot(param_00) +{ + param_00 endon("disconnect"); + var_01 = param_00 getsnapshotindexforclient(); + if(!isdefined(var_01)) + { + return; + } + + for(;;) + { + wait 0.05; + var_02 = param_00 getsnapshotacknowledgedindexforclient(); + if(!isdefined(var_02)) + { + return; + } + + if(var_02 >= var_01) + { + break; + } + } +} + +//Function Number: 141 +iszombiegamepaused() +{ + if(!isdefined(level.zombiegamepaused)) + { + return 0; + } + + return level.zombiegamepaused; +} + +//Function Number: 142 +waittillzombiegameunpaused() +{ + while(iszombiegamepaused()) + { + wait 0.05; + } +} + +//Function Number: 143 +clearzombiestats(param_00) +{ + if(isdefined(level.dlcleaderboardnumber) && level.dlcleaderboardnumber >= 2 && level.dlcleaderboardnumber <= 4) + { + var_01 = "dlc" + level.dlcleaderboardnumber; + param_00 setcoopplayerdatareservedint(var_01 + "MoneyEarned",0); + param_00 setcoopplayerdatareservedint(var_01 + "Kills",0); + param_00 setcoopplayerdatareservedint(var_01 + "Revives",0); + param_00 setcoopplayerdatareservedint(var_01 + "Rounds",0); + param_00 setcoopplayerdatareservedint(var_01 + "TimePlayed",0); + param_00 setcoopplayerdatareservedint(var_01 + "Headshots",0); + param_00 setcoopplayerdatareservedint(var_01 + "MeleeKills",0); + if(level.dlcleaderboardnumber == 2) + { + param_00 setcoopplayerdatareservedint(var_01 + "Civilians",0); + } + + if(level.dlcleaderboardnumber == 3) + { + param_00 setcoopplayerdatareservedint(var_01 + "Bombs",0); + return; + } + + return; + } + + param_00 setcoopplayerdata("totalRounds",0); + param_00 setcoopplayerdata("totalKills",0); + param_00 setcoopplayerdata("totalRevives",0); + param_00 setcoopplayerdata("totalMoneyEarned",0); + param_00 setcoopplayerdata("totalMoneySpent",0); + param_00 setcoopplayerdata("totalMagicBox",0); + param_00 setcoopplayerdata("totalTraps",0); + param_00 setcoopplayerdata("totalHeadshots",0); + param_00 setcoopplayerdata("totalMeleeKills",0); + param_00 setcoopplayerdatareservedint("totalTimePlayed",0); +} + +//Function Number: 144 +writezombiestats() +{ + writezombiematchdata(); + foreach(var_01 in level.players) + { + writezombieplayerstats(var_01); + } +} + +//Function Number: 145 +writezombiematchdata() +{ + foreach(var_01 in level.players) + { + setmatchdata("players",var_01.clientid,"startXp",var_01.assists); + setmatchdata("players",var_01.clientid,"startKills",var_01.kills); + setmatchdata("players",var_01.clientid,"startWins",var_01.moneyearnedtotal); + setmatchdata("players",var_01.clientid,"startLosses",var_01.moneyearnedtotal - var_01.moneycurrent); + setmatchdata("players",var_01.clientid,"startHits",var_01.magicboxuses); + setmatchdata("players",var_01.clientid,"startMisses",var_01.trapuses); + setmatchdata("players",var_01.clientid,"startGamesPlayed",var_01.headshotkills); + setmatchdata("players",var_01.clientid,"startScore",var_01.meleekills); + setmatchdata("players",var_01.clientid,"startUnlockPoints",var_01.timeplayed["total"]); + setmatchdata("players",var_01.clientid,"startDeaths",var_01.numberofdowns); + setmatchdata("players",var_01.clientid,"startDP",var_01.numberofbleedouts); + setmatchdata("players",var_01.clientid,"endXp",level.wavecounter); + setmatchdata("players",var_01.clientid,"endKills",level.doorsopenedbitmask); + setmatchdata("players",var_01.clientid,"endDeaths",level.players.size); + setmatchdata("players",var_01.clientid,"endWins",var_01.exosuitround); + setmatchdata("players",var_01.clientid,"endScore",var_01.numupgrades); + level.roundtypemap = []; + level.roundtypemap["normal"] = 0; + level.roundtypemap["zombie_dog"] = 1; + level.roundtypemap["zombie_host"] = 2; + level.roundtypemap["zombie_melee_goliath"] = 3; + level.roundtypemap["civilian"] = 4; + level.roundtypemap["zombie_boss_oz"] = 5; + level.roundtypemap["zombie_boss_oz_stage1"] = 6; + level.roundtypemap["zombie_boss_oz_stage2"] = 7; + if(isdefined(level.roundtypemap[level.roundtype])) + { + setmatchdata("players",var_01.clientid,"endUnlockPoints",level.roundtypemap[level.roundtype]); + } + } +} + +//Function Number: 146 +recordplayermatchdataforroundstart(param_00) +{ + if(param_00 < 0 || param_00 >= 75) + { + return; + } + + var_01 = self getentitynumber(); + var_02 = self.origin; + setmatchdata("zombieRounds",param_00,"playerRounds",var_01,"startPos",0,int(var_02[0])); + setmatchdata("zombieRounds",param_00,"playerRounds",var_01,"startPos",1,int(var_02[1])); + setmatchdata("zombieRounds",param_00,"playerRounds",var_01,"startPos",2,int(var_02[2])); + var_03 = self getweaponslistall(); + var_04 = 1; + foreach(var_06 in var_03) + { + var_07 = getweaponbasename(var_06); + var_08 = level.weaponnamemap[var_07]; + if(!isdefined(var_08) && iszombieequipment(var_07)) + { + var_07 = getzombieequipmentalternatename(var_07); + if(isdefined(var_07)) + { + var_08 = level.weaponnamemap[var_07]; + } + } + + if(!isdefined(var_08)) + { + continue; + } + + if(iszombielethal(var_07)) + { + setmatchdata("zombieRounds",param_00,"playerRounds",var_01,"equipment",0,var_08); + continue; + } + + if(iszombietactical(var_07)) + { + setmatchdata("zombieRounds",param_00,"playerRounds",var_01,"equipment",1,var_08); + continue; + } + + var_09 = getzombieweaponlevel(self,var_07); + if(var_04) + { + var_04 = 0; + setmatchdata("zombieRounds",param_00,"playerRounds",var_01,"weapons",0,var_08); + setmatchdata("zombieRounds",param_00,"playerRounds",var_01,"weaponLevels",0,var_09); + } + else + { + setmatchdata("zombieRounds",param_00,"playerRounds",var_01,"weapons",1,var_08); + setmatchdata("zombieRounds",param_00,"playerRounds",var_01,"weaponLevels",1,var_09); + } + } + + self.roundmoneyearned = 0; + self.roundmoneyspent = 0; + self.killsatroundstart = self.kills; + self.bleedoutsatroundstart = self.numberofbleedouts; + self.downsatroundstart = self.numberofdowns; + self.magicboxusesatroundstart = self.magicboxuses; +} + +//Function Number: 147 +recordplayermatchdataforroundend(param_00) +{ + if(param_00 < 0 || param_00 >= 75) + { + return; + } + + var_01 = self getentitynumber(); + var_02 = self.origin; + setmatchdata("zombieRounds",param_00,"playerRounds",var_01,"endPos",0,int(var_02[0])); + setmatchdata("zombieRounds",param_00,"playerRounds",var_01,"endPos",1,int(var_02[1])); + setmatchdata("zombieRounds",param_00,"playerRounds",var_01,"endPos",2,int(var_02[2])); + setmatchdata("zombieRounds",param_00,"playerRounds",var_01,"moneyEarned",maps\mp\_utility::clamptoshort(self.roundmoneyearned)); + setmatchdata("zombieRounds",param_00,"playerRounds",var_01,"moneySpent",maps\mp\_utility::clamptoshort(self.roundmoneyspent)); + setmatchdata("zombieRounds",param_00,"playerRounds",var_01,"kills",maps\mp\_utility::clamptoshort(self.kills - self.killsatroundstart)); + setmatchdata("zombieRounds",param_00,"playerRounds",var_01,"printerUses",maps\mp\_utility::clamptobyte(self.magicboxuses - self.magicboxusesatroundstart)); + setmatchdata("zombieRounds",param_00,"playerRounds",var_01,"timesDowned",maps\mp\_utility::clamptobyte(self.numberofdowns - self.downsatroundstart)); + if(self.bleedoutsatroundstart != self.numberofbleedouts) + { + setmatchdata("zombieRounds",param_00,"playerRounds",var_01,"died",1); + } +} + +//Function Number: 148 +recordmatchdataforroundstart(param_00) +{ + if(param_00 < 0 || param_00 >= 75) + { + return; + } + + var_01 = maps\mp\_utility::clamptoshort(maps\mp\_utility::getsecondspassed()); + setmatchdata("zombieRounds",param_00,"startTime",var_01); + foreach(var_03 in level.players) + { + var_03 recordplayermatchdataforroundstart(param_00); + } + + level.roundsupplydrops = []; + level.roundpowerstations = []; +} + +//Function Number: 149 +recordmatchdataforroundend(param_00) +{ + if(param_00 < 0 || param_00 >= 75) + { + return; + } + + var_01 = maps\mp\_utility::clamptoshort(maps\mp\_utility::getsecondspassed()); + setmatchdata("zombieRounds",param_00,"endTime",var_01); + foreach(var_03 in level.roundpowerstations) + { + if(var_03 >= 0 && var_03 < 24) + { + setmatchdata("zombieRounds",param_00,"powerStationActivated",var_03,1); + } + } + + var_05 = 0; + foreach(var_07 in level.roundsupplydrops) + { + var_08 = 1; + foreach(var_0A in level.cratetypes["airdrop_assault"]) + { + if(var_0A.type == var_07) + { + setmatchdata("zombieRounds",param_00,"supplyDrops",var_05,maps\mp\_utility::clamptobyte(var_08)); + var_05++; + break; + } + + var_08++; + } + + if(var_05 >= 2) + { + break; + } + } + + foreach(var_0E in level.players) + { + var_0E recordplayermatchdataforroundend(param_00); + } +} + +//Function Number: 150 +writezombieplayerstats(param_00) +{ + if(isdefined(level.dlcleaderboardnumber) && level.dlcleaderboardnumber >= 2 && level.dlcleaderboardnumber <= 4) + { + var_01 = "dlc" + level.dlcleaderboardnumber; + setzombiereservedata(param_00,var_01 + "MoneyEarned",var_01 + "MoneyEarnedBest",param_00.moneyearnedtotal); + setzombiereservedata(param_00,var_01 + "Kills",var_01 + "KillsBest",param_00.kills); + setzombiereservedata(param_00,var_01 + "Revives",var_01 + "RevivesBest",param_00.assists); + setzombiereservedata(param_00,var_01 + "Rounds",var_01 + "RoundsBest",level.wavecounter); + setzombiereservedata(param_00,var_01 + "TimePlayed",var_01 + "TimePlayedBest",param_00.timeplayed["total"]); + setzombiereservedata(param_00,var_01 + "Headshots",var_01 + "HeadshotsBest",param_00.headshotkills); + setzombiereservedata(param_00,var_01 + "MeleeKills",var_01 + "MeleeKillsBest",param_00.meleekills); + if(level.dlcleaderboardnumber == 2) + { + setzombiereservedata(param_00,var_01 + "Civilians",var_01 + "CiviliansBest",level.civiliansrescued); + if(isdefined(level.civiliansrescued)) + { + var_02 = param_00 getcoopplayerdatareservedint("civiliansRescued"); + var_02 = var_02 + level.civiliansrescued; + param_00 setcoopplayerdatareservedint("civiliansRescued",var_02); + } + } + + if(level.dlcleaderboardnumber == 3) + { + setzombiereservedata(param_00,var_01 + "Bombs",var_01 + "BombsBest",level.bombsdefused); + } + } + else + { + setzombieplayerdata(param_00,"totalRounds","highestRound",level.wavecounter); + setzombieplayerdata(param_00,"totalKills","mostKillsGame",param_00.kills); + setzombieplayerdata(param_00,"totalRevives","mostRevives",param_00.assists); + setzombieplayerdata(param_00,"totalMoneyEarned","mostMoneyEarned",param_00.moneyearnedtotal); + setzombieplayerdata(param_00,"totalMoneySpent","mostMoneySpent",param_00.moneyearnedtotal - param_00.moneycurrent); + setzombieplayerdata(param_00,"totalMagicBox","mostMagicBox",param_00.magicboxuses); + setzombieplayerdata(param_00,"totalTraps","mostTraps",param_00.trapuses); + setzombieplayerdata(param_00,"totalHeadshots","mostHeadshotsGame",param_00.headshotkills); + setzombieplayerdata(param_00,"totalMeleeKills","mostMeleeKills",param_00.meleekills); + setzombiereservedata(param_00,"totalTimePlayed","mostTimePlayed",param_00.timeplayed["total"]); + } + + var_03 = param_00 getcoopplayerdata("totalGames"); + param_00 setcoopplayerdata("totalGames",var_03 + 1); +} + +//Function Number: 151 +setzombieplayerdata(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_03)) + { + return; + } + + var_04 = param_00 getcoopplayerdata(param_01); + param_00 setcoopplayerdata(param_01,var_04 + param_03); + var_05 = param_00 getcoopplayerdata(param_02); + if(param_03 > var_05) + { + param_00 setcoopplayerdata(param_02,param_03); + } +} + +//Function Number: 152 +setzombiereservedata(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_03)) + { + return; + } + + var_04 = param_00 getcoopplayerdatareservedint(param_01); + param_00 setcoopplayerdatareservedint(param_01,var_04 + param_03); + var_05 = param_00 getcoopplayerdatareservedint(param_02); + if(param_03 > var_05) + { + param_00 setcoopplayerdatareservedint(param_02,param_03); + } +} + +//Function Number: 153 +setmeleeradius(param_00) +{ + self.meleeradius = param_00; + self.meleeradiussq = param_00 * param_00; +} + +//Function Number: 154 +playergetem1ammo() +{ + return self.pers["em1Ammo"].ammo; +} + +//Function Number: 155 +playerrecordem1ammo(param_00) +{ + self.pers["em1Ammo"].ammo = param_00; +} + +//Function Number: 156 +playerhasem1ammoinfo() +{ + return isdefined(self.pers["em1Ammo"]); +} + +//Function Number: 157 +playerclearem1ammoinfo() +{ + self.pers["em1Ammo"] = undefined; +} + +//Function Number: 158 +cg_setupstorestrings(param_00) +{ + if(!isdefined(param_00.storedescription)) + { + param_00.storedescription = param_00 maps\mp\gametypes\_hud_util::createfontstring("hudbig",0.75); + param_00.storedescription maps\mp\gametypes\_hud_util::setpoint("BOTTOM",undefined,0,-120); + param_00.storedescription settext(""); + } + + if(!isdefined(param_00.storecost)) + { + param_00.storecost = param_00 maps\mp\gametypes\_hud_util::createfontstring("hudbig",0.75); + param_00.storecost maps\mp\gametypes\_hud_util::setpoint("BOTTOM",undefined,0,-95); + param_00.storecost settext(""); + } +} + +//Function Number: 159 +waittilltriggerortokenuse() +{ + self endon("death"); + thread watchtokentrigger(); + thread watchtokenuse(); + self waittill("used",var_00,var_01); + return [var_00,var_01]; +} + +//Function Number: 160 +watchtokentrigger() +{ + self endon("used"); + self endon("death"); + self waittill("trigger",var_00); + self notify("used",var_00,"trigger"); +} + +//Function Number: 161 +watchtokenuse() +{ + self endon("used"); + self endon("death"); + if(!level.tokensenabled) + { + return; + } + + foreach(var_01 in level.players) + { + thread watchtokenuseent(var_01); + } + + for(;;) + { + level waittill("connected",var_01); + thread watchtokenuseent(var_01); + } +} + +//Function Number: 162 +watchtokenuseent(param_00) +{ + watchtokenuseentwait(param_00); + if(isdefined(param_00)) + { + param_00 cleartokenuseomnvars(); + } +} + +//Function Number: 163 +watchtokenuseentwait(param_00) +{ + self endon("used"); + self endon("death"); + param_00 endon("disconnect"); + var_01 = undefined; + for(;;) + { + if(is_true(param_00.tokenbuttonpressed) && is_true(self.tokenstringvisible) && isplayeruseent(param_00,self) && param_00 maps\mp\gametypes\zombies::hastoken(self.tokencost)) + { + if(!isdefined(var_01)) + { + var_01 = gettime() + param_00 maps\mp\gametypes\zombies::gettokenusetime(); + param_00 settokenuseomvars(); + } + + if(gettime() >= var_01) + { + param_00.tokenbuttonpressed = 0; + self notify("used",param_00,"token"); + } + } + else if(isdefined(var_01)) + { + var_01 = undefined; + param_00 cleartokenuseomnvars(); + } + + wait 0.05; + } +} + +//Function Number: 164 +cleartokenuseomnvars() +{ + self setclientomnvar("ui_use_bar_start_time",0); + self setclientomnvar("ui_use_bar_end_time",0); + self setclientomnvar("ui_use_bar_text",0); +} + +//Function Number: 165 +settokenuseomvars() +{ + self setclientomnvar("ui_use_bar_start_time",gettime()); + var_00 = gettime() + maps\mp\gametypes\zombies::gettokenusetime(); + self setclientomnvar("ui_use_bar_end_time",var_00); + self setclientomnvar("ui_use_bar_text",5); +} + +//Function Number: 166 +settokencost(param_00) +{ + self.tokencost = param_00; +} + +//Function Number: 167 +tokenhintstring(param_00) +{ + if(param_00 && level.tokensenabled) + { + self.tokenstringvisible = 1; + self settertiaryhintstring(gettokencoststring(self.tokencost)); + return; + } + + self.tokenstringvisible = 0; + self settertiaryhintstring(""); +} + +//Function Number: 168 +enabletokens() +{ + level.tokensenabled = getdvarint("tokensEnabled",0); +} + +//Function Number: 169 +isplayeruseent(param_00,param_01) +{ + var_02 = param_00 playergetuseent(1); + return isdefined(var_02) && var_02 == param_01; +} + +//Function Number: 170 +droppostoground(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = 18; + } + + var_02 = param_00 + (0,0,param_01); + var_03 = param_00 + (0,0,param_01 * -1); + var_04 = self aiphysicstrace(var_02,var_03,self.radius,self.height,1); + if(abs(var_04[2] - var_02[2]) < 0.1) + { + return undefined; + } + + if(abs(var_04[2] - var_03[2]) < 0.1) + { + return undefined; + } + + return var_04; +} + +//Function Number: 171 +canmovepointtopoint(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_02)) + { + param_02 = 6; + } + + if(!isdefined(param_03)) + { + param_03 = self.radius; + } + + var_04 = (0,0,1) * param_02; + var_05 = param_00 + var_04; + var_06 = param_01 + var_04; + return self aiphysicstracepassed(var_05,var_06,param_03,self.height - param_02,1); +} + +//Function Number: 172 +getzombieslevelnum() +{ + return level.zombiedlclevel; +} + +//Function Number: 173 +nodeisinspawncloset(param_00) +{ + return !isdefined(param_00.zombieszone); +} + +//Function Number: 174 +areaparallelpipid(param_00,param_01,param_02) +{ + return param_00[0] * param_01[1] - param_00[1] * param_01[0] + param_01[0] * param_02[1] - param_02[0] * param_01[1] + param_02[0] * param_00[1] - param_00[0] * param_02[1]; +} + +//Function Number: 175 +areatriange(param_00,param_01,param_02) +{ + return areaparallelpipid(param_00,param_01,param_02) * 0.5; +} + +//Function Number: 176 +lrtest(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_03)) + { + param_03 = 0; + } + + var_04 = areaparallelpipid(param_01,param_02,param_00); + if(var_04 > param_03) + { + return 1; + } + + if(var_04 < param_03 * -1) + { + return 2; + } + + return 3; +} + +//Function Number: 177 +project(param_00,param_01) +{ + var_02 = vectordot(param_00,param_01) / lengthsquared(param_01); + return [param_01 * var_02,var_02]; +} + +//Function Number: 178 +projecttoline(param_00,param_01,param_02) +{ + param_00 = param_00 - param_01; + var_03 = project(param_00,param_02 - param_01); + param_00 = var_03[0]; + var_04 = var_03[1]; + param_00 = param_00 + param_01; + return [param_00,var_04]; +} + +//Function Number: 179 +projecttolineseg(param_00,param_01,param_02) +{ + var_03 = projecttoline(param_00,param_01,param_02); + param_00 = var_03[0]; + var_04 = var_03[1]; + if(var_04 < 0) + { + param_00 = param_01; + } + else if(var_04 > 1) + { + param_00 = param_02; + } + + return [param_00,var_04]; +} + +//Function Number: 180 +disttoline(param_00,param_01,param_02) +{ + var_03 = projecttoline(param_00,param_01,param_02); + var_04 = var_03[0]; + var_05 = var_03[1]; + return distance(var_04,param_00); +} + +//Function Number: 181 +despawnzombie() +{ + self hudoutlinedisable(); + maps\mp\agents\_agent_utility::deactivateagent(); + self notify("killanimscript"); + self notify("death"); + self waittill("disconnect"); + self despawnagent(); +} + +//Function Number: 182 +gameflagexists(param_00) +{ + return isdefined(game["flags"][param_00]); +} + +//Function Number: 183 +isvalidweaponzombies(param_00) +{ + return isvalidprimaryzombies(param_00) || isvalidsecondaryzombies(param_00); +} + +//Function Number: 184 +isvalidprimaryzombies(param_00) +{ + switch(param_00) + { + case "iw5_tridentzm": + case "iw5_linegunzm": + case "iw5_microwavezm": + case "iw5_fusionzm": + case "iw5_dlcgun4zm": + case "iw5_dlcgun3zm": + case "iw5_dlcgun1zm": + case "iw5_rhinozm": + case "iw5_gm6zm": + case "iw5_asm1zm": + case "iw5_sac3zm": + case "iw5_sn6zm": + case "iw5_asawzm": + case "iw5_himarzm": + case "iw5_lsatzm": + case "iw5_bal27zm": + case "iw5_ak12zm": + case "iw5_arx160zm": + case "iw5_hmr9zm": + case "iw5_hbra3zm": + case "iw5_m182sprzm": + case "iw5_uts19zm": + case "iw5_mp11zm": + case "iw5_maulzm": + case "iw5_dlcgun2zm": + case "iw5_em1zm": + return 1; + + default: + return 0; + } +} + +//Function Number: 185 +isvalidsecondaryzombies(param_00) +{ + switch(param_00) + { + case "iw5_exocrossbowzm": + case "iw5_mahemzm": + case "iw5_titan45zm": + case "iw5_rw1zm": + case "iw5_vbrzm": + return 1; + + default: + return 0; + } +} + +//Function Number: 186 +isvalidequipmentzombies(param_00) +{ + switch(param_00) + { + case "teleport_zombies": + case "repulsor_zombie": + case "dna_aoe_grenade_zombie": + case "distraction_drone_zombie": + return 1; + + default: + return 0; + } +} + +//Function Number: 187 +pausezombiespawning(param_00) +{ + if(!isdefined(level.zombie_pause_spawning_count)) + { + level.zombie_pause_spawning_count = 0; + } + + if(param_00) + { + level.zombie_pause_spawning_count++; + } + else + { + level.zombie_pause_spawning_count--; + } +} + +//Function Number: 188 +instakillimmune() +{ + if(is_true(self.fakeplayer)) + { + return 1; + } + else if(isdefined(self.agent_type)) + { + if(self.agent_type == "zombie_melee_goliath" || self.agent_type == "zombie_boss_oz_stage2") + { + return 1; + } + } + + return 0; +} + +//Function Number: 189 +nohitreactions() +{ + if(isdefined(self.agent_type)) + { + if(self.agent_type == "zombie_melee_goliath" || self.agent_type == "zombie_boss_oz_stage2") + { + return 1; + } + } + + return 0; +} + +//Function Number: 190 +isdoortrapimmune() +{ + if(isdefined(self.agent_type)) + { + if(self.agent_type == "zombie_melee_goliath" || self.agent_type == "zombie_boss_oz_stage2") + { + return 1; + } + } + + return 0; +} + +//Function Number: 191 +istrapresistant() +{ + if(isdefined(self.agent_type)) + { + if(self.agent_type == "zombie_melee_goliath" || self.agent_type == "zombie_boss_oz_stage2") + { + return 1; + } + } + + return 0; +} + +//Function Number: 192 +getenemyagents() +{ + var_00 = []; + var_01 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + foreach(var_03 in var_01) + { + if(isdefined(level.despawning_agents) && common_scripts\utility::array_contains(level.despawning_agents,var_03)) + { + continue; + } + + if(is_true(var_03.waitingtodeactivate)) + { + continue; + } + + if(!isalliedsentient(self,var_03)) + { + var_00[var_00.size] = var_03; + } + } + + return var_00; +} + +//Function Number: 193 +getnumagentswaitingtodeactivate() +{ + var_00 = 0; + var_01 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + foreach(var_03 in level.agentarray) + { + if(isdefined(level.despawning_agents) && common_scripts\utility::array_contains(level.despawning_agents,var_03)) + { + var_00++; + continue; + } + + if(is_true(var_03.waitingtodeactivate)) + { + var_00++; + } + } + + return var_00; +} + +//Function Number: 194 +getarrayofoffscreenagentstorecycle(param_00) +{ + var_01 = []; + foreach(var_03 in level.players) + { + if(isalive(var_03)) + { + var_04 = var_03 getnearestnode(); + if(isdefined(var_04)) + { + var_01[var_01.size] = var_04; + } + } + } + + var_06 = []; + foreach(var_08 in param_00) + { + if(var_08 instakillimmune() || issubstr(var_08.agent_type,"ranged_elite_soldier")) + { + continue; + } + + var_09 = 1; + var_0A = var_08 getnearestnode(); + if(isdefined(var_0A)) + { + foreach(var_04 in var_01) + { + if(nodesvisible(var_0A,var_04,1)) + { + var_09 = 0; + break; + } + } + } + + if(var_09) + { + var_06[var_06.size] = var_08; + } + } + + return var_06; +} + +//Function Number: 195 +waittill_any_return_parms_no_endon_death(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + var_08 = spawnstruct(); + if(isdefined(param_00)) + { + childthread waittill_string_parms_no_endon_death(param_00,var_08); + } + + if(isdefined(param_01)) + { + childthread waittill_string_parms_no_endon_death(param_01,var_08); + } + + if(isdefined(param_02)) + { + childthread waittill_string_parms_no_endon_death(param_02,var_08); + } + + if(isdefined(param_03)) + { + childthread waittill_string_parms_no_endon_death(param_03,var_08); + } + + if(isdefined(param_04)) + { + childthread waittill_string_parms_no_endon_death(param_04,var_08); + } + + if(isdefined(param_05)) + { + childthread waittill_string_parms_no_endon_death(param_05,var_08); + } + + if(isdefined(param_06)) + { + childthread waittill_string_parms_no_endon_death(param_06,var_08); + } + + if(isdefined(param_07)) + { + childthread waittill_string_parms_no_endon_death(param_07,var_08); + } + + var_08 waittill("returned",var_09); + var_08 notify("die"); + return var_09; +} + +//Function Number: 196 +waittill_string_parms_no_endon_death(param_00,param_01) +{ + param_01 endon("die"); + self waittill(param_00,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A,var_0B); + var_0C = []; + var_0C[0] = param_00; + if(isdefined(var_02)) + { + var_0C[1] = var_02; + } + + if(isdefined(var_03)) + { + var_0C[2] = var_03; + } + + if(isdefined(var_04)) + { + var_0C[3] = var_04; + } + + if(isdefined(var_05)) + { + var_0C[4] = var_05; + } + + if(isdefined(var_06)) + { + var_0C[5] = var_06; + } + + if(isdefined(var_07)) + { + var_0C[6] = var_07; + } + + if(isdefined(var_08)) + { + var_0C[7] = var_08; + } + + if(isdefined(var_09)) + { + var_0C[8] = var_09; + } + + if(isdefined(var_0A)) + { + var_0C[9] = var_0A; + } + + if(isdefined(var_0B)) + { + var_0C[10] = var_0B; + } + + param_01 notify("returned",var_0C); +} + +//Function Number: 197 +playerallowfire(param_00,param_01) +{ + if(!isdefined(self.playerdisablefire)) + { + self.playerdisablefire = []; + } + + if(!isdefined(param_01)) + { + param_01 = "default"; + } + + if(param_00) + { + self.playerdisablefire = common_scripts\utility::array_remove(self.playerdisablefire,param_01); + if(!self.playerdisablefire.size) + { + self allowfire(1); + return; + } + + return; + } + + if(!isdefined(common_scripts\utility::array_find(self.playerdisablefire,param_01))) + { + self.playerdisablefire = common_scripts\utility::array_add(self.playerdisablefire,param_01); + } + + self allowfire(0); +} + +//Function Number: 198 +iszombieshardmode() +{ + return is_true(game["start_in_zmb_hard_mode"]); +} + +//Function Number: 199 +disablekillstreaks() +{ + if(!isdefined(level.disablekillstreaks)) + { + level.disablekillstreaks = 0; + } + + level.disablekillstreaks++; +} + +//Function Number: 200 +enablekillstreaks() +{ + if(!isdefined(level.disablekillstreaks)) + { + level.disablekillstreaks = 0; + return; + } + + if(level.disablekillstreaks > 0) + { + level.disablekillstreaks--; + } +} + +//Function Number: 201 +arekillstreaksdisabled() +{ + return isdefined(level.disablekillstreaks) && level.disablekillstreaks > 0; +} + +//Function Number: 202 +disablepickups() +{ + if(!isdefined(level.disablepickups)) + { + level.disablepickups = 0; + } + + level.disablepickups++; +} + +//Function Number: 203 +enablepickups() +{ + if(!isdefined(level.disablepickups)) + { + level.disablepickups = 0; + return; + } + + if(level.disablepickups > 0) + { + level.disablepickups--; + } +} + +//Function Number: 204 +arepickupsdisabled() +{ + return isdefined(level.disablepickups) && level.disablepickups > 0; +} + +//Function Number: 205 +disablewallbuys() +{ + if(!isdefined(level.disablewallbuys)) + { + level.disablewallbuys = 0; + } + + level.disablewallbuys++; + level notify("disableWallbuysUpdate"); +} + +//Function Number: 206 +enablewallbuys() +{ + if(!isdefined(level.disablewallbuys)) + { + level.disablewallbuys = 0; + return; + } + + if(level.disablewallbuys > 0) + { + level.disablewallbuys--; + level notify("disableWallbuysUpdate"); + } +} + +//Function Number: 207 +arewallbuysdisabled() +{ + return isdefined(level.disablewallbuys) && level.disablewallbuys > 0; +} + +//Function Number: 208 +setfriendlyfireround(param_00) +{ + if(is_true(param_00)) + { + level.friendlyfire = 1; + level.teamtweaks["fftype"].value = 1; + return; + } + + level.friendlyfire = 0; + level.teamtweaks["fftype"].value = 0; +} + +//Function Number: 209 +isfriendlyfireround() +{ + return level.friendlyfire == 1; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/_wall_buys.gsc b/AW/PC/maps/mp/zombies/_wall_buys.gsc new file mode 100644 index 0000000..a1d2720 --- /dev/null +++ b/AW/PC/maps/mp/zombies/_wall_buys.gsc @@ -0,0 +1,2553 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_wall_buys.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 87 + * Decompile Time: 1409 ms + * Timestamp: 4/22/2024 2:14:18 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level thread mapweaponnamestonumbers(); + level thread wallbuyinit(); + initmagicboxweapons(); + level thread magicboxthink(); + level thread magicboxmaps(); + level thread weaponlevelboxinit(); +} + +//Function Number: 2 +wallbuyinit() +{ + level.wallbuyweapons = []; + var_00 = getentarray("wallbuy","targetname"); + foreach(var_02 in var_00) + { + level thread wallbuythink(var_02); + } +} + +//Function Number: 3 +wallbuyupdatehinstrings(param_00) +{ + param_00 endon("disconnect"); + for(;;) + { + common_scripts\utility::waittill_any_ents(param_00,"weapon_change",param_00,"new_equipment",level,"disableWallbuysUpdate"); + var_01 = 0; + var_02 = ""; + var_03 = param_00 getweaponslistall(); + foreach(var_05 in var_03) + { + var_02 = getweaponbasename(var_05); + if(var_02 == self.weaponname) + { + var_01 = 1; + break; + } + + var_06 = maps\mp\zombies\_util::getzombieequipmentalternatename(var_02); + if(isdefined(var_06) && var_06 == self.weaponname) + { + var_01 = 1; + break; + } + } + + var_08 = param_00 getcurrentprimaryweapon(); + var_09 = 0; + if(!maps\mp\zombies\_util::iszombieequipment(self.weaponname)) + { + var_09 = maps\mp\zombies\_util::getzombieweaponlevel(param_00,self.weaponname); + } + + self setcursorhint("HINT_NOICON"); + if(maps\mp\zombies\_util::isrippedturretweapon(var_08) || maps\mp\zombies\_util::iszombiekillstreakweapon(var_08) || maps\mp\zombies\_util::arewallbuysdisabled()) + { + self sethintstring(""); + self setsecondaryhintstring(""); + maps\mp\zombies\_util::tokenhintstring(0); + continue; + } + + if(var_01) + { + self sethintstring(getammohintstring(self)); + self setsecondaryhintstring(getammohintcoststring(self,var_09)); + maps\mp\zombies\_util::settokencost(maps\mp\zombies\_util::creditstotokens(self.currentammocost)); + maps\mp\zombies\_util::tokenhintstring(1); + continue; + } + + self sethintstring(getweaponhintstring(self)); + self setsecondaryhintstring(getweaponhintcoststring(self,var_09)); + maps\mp\zombies\_util::settokencost(maps\mp\zombies\_util::creditstotokens(self.currentweaponcost)); + maps\mp\zombies\_util::tokenhintstring(1); + } +} + +//Function Number: 4 +cg_wallbuyupdatehintstrings(param_00) +{ + param_00 endon("disconnect"); + maps\mp\zombies\_util::cg_setupstorestrings(param_00); + thread cg_storetriggermonitor(param_00); + if(!isdefined(param_00.haveweapons)) + { + param_00.haveweapons = []; + } + + for(;;) + { + param_00 common_scripts\utility::waittill_any("weapon_change","new_equipment"); + param_00.haveweapons[self.weaponname] = 0; + var_01 = ""; + var_02 = param_00 getweaponslistall(); + foreach(var_04 in var_02) + { + var_01 = getweaponbasename(var_04); + if(var_01 == self.weaponname) + { + param_00.haveweapons[self.weaponname] = 1; + break; + } + + var_05 = maps\mp\zombies\_util::getzombieequipmentalternatename(var_01); + if(isdefined(var_05) && var_05 == self.weaponname) + { + param_00.haveweapons[self.weaponname] = 1; + break; + } + } + } +} + +//Function Number: 5 +cg_storetriggermonitor(param_00) +{ + param_00 endon("disconnect"); + for(;;) + { + while(!param_00 istouching(self)) + { + wait(0.1); + } + + var_01 = param_00 getcurrentprimaryweapon(); + var_02 = 0; + if(!maps\mp\zombies\_util::iszombieequipment(self.weaponname)) + { + var_02 = maps\mp\zombies\_util::getzombieweaponlevel(param_00,self.weaponname); + } + + if(maps\mp\zombies\_util::isrippedturretweapon(var_01) || maps\mp\zombies\_util::iszombiekillstreakweapon(var_01) || maps\mp\zombies\_util::arewallbuysdisabled()) + { + param_00.storedescription settext(""); + param_00.storecost settext(""); + } + else if(param_00.haveweapons[self.weaponname] == 1) + { + param_00.storedescription settext(getammohintstring(self)); + param_00.storecost settext(getammohintcoststring(self,var_02)); + } + else + { + param_00.storedescription settext(getweaponhintstring(self)); + param_00.storecost settext(getweaponhintcoststring(self,var_02)); + } + + cg_terminalwaittilltriggerexit(param_00); + param_00.storedescription settext(""); + param_00.storecost settext(""); + } +} + +//Function Number: 6 +cg_terminalwaittilltriggerexit(param_00) +{ + param_00 endon("wallBuyStateChange"); + childthread cg_wallbuywaittillstatechange(param_00); + while(param_00 istouching(self)) + { + wait(0.1); + } +} + +//Function Number: 7 +cg_wallbuywaittillstatechange(param_00) +{ + param_00 common_scripts\utility::waittill_any("weapon_change","new_equipment"); + param_00 notify("wallBuyStateChange"); +} + +//Function Number: 8 +cg_onplayerconnectedwallbuyupdatehinstrings(param_00) +{ + param_00 endon("death"); + for(;;) + { + level waittill("connected",var_01); + param_00 thread cg_wallbuyupdatehintstrings(var_01); + } +} + +//Function Number: 9 +wallbuythink(param_00) +{ + level endon("game_ended"); + var_01 = param_00.script_noteworthy; + var_02 = 1; + var_03 = strtok(param_00.script_parameters,","); + var_04 = int(var_03[0]); + var_05 = 1000; + if(!maps\mp\zombies\_util::iszombieequipment(var_01)) + { + var_06 = var_01; + var_01 = maps\mp\gametypes\_class::buildweaponname(var_01,"none","none","none",0,0); + var_02 = 0; + } + + if(var_03.size > 1) + { + var_05 = int(var_03[1]); + } + + param_00.currentweaponcost = var_04; + param_00.weaponcost = var_04; + param_00.currentammocost = var_05; + param_00.ammocost = var_05; + param_00.weaponname = var_01; + if(level.nextgen) + { + param_00.modelent = getent(param_00.target,"targetname"); + thread audio_wpnbox_attract_on(param_00.modelent); + if(isdefined(param_00.modelent.target)) + { + param_00.weaponent = getent(param_00.modelent.target,"targetname"); + if(maps\mp\zombies\_util::isusetriggerprimary(param_00) && !maps\mp\zombies\_util::iszombieequipment(var_01) && isdefined(param_00.weaponent)) + { + var_07 = level.wallbuyweapons.size; + level.wallbuyweapons[var_07]["baseName"] = param_00.script_noteworthy + "_mp"; + level.wallbuyweapons[var_07]["displayModel"] = param_00.weaponent.model; + } + } + + if(maps\mp\zombies\_util::isusetriggerprimary(param_00)) + { + if(isdefined(param_00.weaponent)) + { + param_00.weaponent cloakingenable(); + param_00.weaponent hideweapontags(var_01); + param_00.weaponent.origin = param_00.modelent.origin; + var_08 = undefined; + if(var_01 == "teleport_zombies_mp") + { + var_08 = [5,-3,4]; + } + + level thread centerweaponforwallbuy(param_00.modelent,param_00.weaponent,var_08); + } + + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("station_buy_weapon_pwr_on"),param_00.modelent,"tag_origin"); + } + } + else + { + if(isdefined(param_00.script_flag)) + { + if(maps\mp\zombies\_util::isusetriggerprimary(param_00) && !maps\mp\zombies\_util::iszombieequipment(var_01) && isdefined(param_00.script_noteworthy)) + { + var_07 = level.wallbuyweapons.size; + level.wallbuyweapons[var_07]["baseName"] = param_00.script_noteworthy + "_mp"; + level.wallbuyweapons[var_07]["displayModel"] = param_00.script_flag; + } + } + + thread audio_wpnbox_attract_on(param_00); + } + + if(level.nextgen) + { + maps\mp\zombies\_util::setupusetriggerforclient(param_00,::wallbuyupdatehinstrings); + } + else + { + foreach(var_0A in level.players) + { + param_00 thread cg_wallbuyupdatehintstrings(var_0A); + } + + thread cg_onplayerconnectedwallbuyupdatehinstrings(param_00); + } + + for(;;) + { + var_0C = param_00 maps\mp\zombies\_util::waittilltriggerortokenuse(); + var_0A = var_0C[0]; + var_0D = var_0C[1]; + var_0E = var_0A getcurrentprimaryweapon(); + if(level.nextgen) + { + if(maps\mp\zombies\_util::isrippedturretweapon(var_0E) || maps\mp\zombies\_util::iszombiekillstreakweapon(var_0E) || maps\mp\zombies\_util::arewallbuysdisabled()) + { + return; + } + } + else if(maps\mp\zombies\_util::isrippedturretweapon(var_0E) || maps\mp\zombies\_util::iszombiekillstreakweapon(var_0E) || maps\mp\zombies\_util::arewallbuysdisabled()) + { + continue; + } + + var_0F = param_00.currentweaponcost; + if(level.nextgen) + { + var_01 = getupgradeweaponname(var_0A,var_01); + } + else + { + var_01 = getupgradeweaponname(var_0A,param_00.weaponname); + } + + if(maps\mp\zombies\_util::playerhasweapon(var_0A,var_01)) + { + var_0F = param_00.currentammocost; + if(hasfullammo(var_0A,var_01)) + { + displayfullammomessage(var_0A,var_02); + continue; + } + } + + if(var_0D == "token") + { + var_0A maps\mp\gametypes\zombies::spendtoken(param_00.tokencost); + } + else if(!var_0A maps\mp\gametypes\zombies::attempttobuy(var_0F)) + { + var_0A thread maps\mp\zombies\_zombies_audio::playerweaponbuy("wpn_no_cash"); + continue; + } + + if(level.nextgen) + { + param_00 thread cloaking(); + param_00.modelent scriptmodelplayanim("dlc_weapon_box_01_activate"); + var_0A thread maps\mp\zombies\_zombies_audio::moneyspend(); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("station_buy_weapon"),param_00.modelent,"tag_printer_laser",1); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("wall_buy_steam"),param_00.modelent,"tag_origin",1); + param_00.modelent playsound("interact_weapon_box"); + thread audio_wpnbox_attract_in_use(param_00.modelent); + } + else + { + if(isdefined(param_00.target)) + { + var_10 = common_scripts\utility::getstruct(param_00.target,"targetname"); + playfx(common_scripts\utility::getfx("station_buy_weapon"),var_10.origin,anglestoforward(var_10.angles),anglestoup(var_10.angles)); + } + + var_0A thread maps\mp\zombies\_zombies_audio::moneyspend(); + param_00 playsound("interact_weapon_box"); + } + + if(var_02) + { + givezombieequipment(var_0A,var_01); + continue; + } + + givezombieweapon(var_0A,var_01); + } +} + +//Function Number: 10 +centerweaponforwallbuy(param_00,param_01,param_02) +{ + var_03 = [6,0,4]; + if(isdefined(param_02)) + { + var_03 = param_02; + } + + var_04 = param_00.origin; + var_05 = anglestoaxis(param_00.angles); + var_04 = var_04 + var_05["forward"] * var_03[0]; + var_04 = var_04 + var_05["right"] * var_03[1]; + var_04 = var_04 + var_05["up"] * var_03[2]; + var_06 = param_01 getpointinmodelbounds(0,1,0); + var_07 = var_04 - var_06; + param_01 dontinterpolate(); + param_01.origin = param_01.origin + var_07; +} + +//Function Number: 11 +cloaking() +{ + self notify("walbuy_cloak"); + self endon("walbuy_cloak"); + if(isdefined(self.weaponent)) + { + self.weaponent cloakingdisable(); + wait(3.5); + self.weaponent cloakingenable(); + } +} + +//Function Number: 12 +hasfullammo(param_00,param_01) +{ + if(maps\mp\zombies\_util::iszombieequipment(param_01) && !param_00 maps\mp\zombies\_terminals::hasexosuit()) + { + var_02 = maps\mp\zombies\_util::getpreexoequipment(param_01); + if(isdefined(var_02)) + { + param_01 = var_02; + } + } + + if(param_00 setweaponammostock(param_01) < weaponmaxammo(param_01,param_00)) + { + return 0; + } + + if(param_00 getweaponammoclip(param_01) < weaponclipsize(param_01,param_00)) + { + return 0; + } + + return 1; +} + +//Function Number: 13 +displayfullammomessage(param_00,param_01) +{ + param_00 playsoundtoplayer("ui_button_error",param_00); + if(param_01) + { + param_00 iprintlnbold(&"ZOMBIES_EQUIPMENT_FULL"); + return; + } + + param_00 iprintlnbold(&"ZOMBIES_AMMO_FULL"); +} + +//Function Number: 14 +getweaponhintstring(param_00) +{ + switch(param_00.script_noteworthy) + { + case "iw5_arx160zm": + return &"ZOMBIES_ARX160"; + + case "iw5_maulzm": + return &"ZOMBIES_BULLDOG"; + + case "contact_grenade_zombies_mp": + return &"ZOMBIES_CONTACT"; + + case "explosive_drone_zombie_mp": + return &"ZOMBIES_EXPLOSIVE_DRONE"; + + case "iw5_hbra3zm": + return &"ZOMBIES_HBRA3"; + + case "iw5_hmr9zm": + return &"ZOMBIES_HMR9"; + + case "iw5_himarzm": + return &"ZOMBIES_IMR"; + + case "iw5_m182sprzm": + return &"ZOMBIES_MK14"; + + case "iw5_mp11zm": + return &"ZOMBIES_MP11"; + + case "iw5_sac3zm": + return &"ZOMBIES_SAC3"; + + case "iw5_uts19zm": + return &"ZOMBIES_TAC19"; + + case "iw5_lsatzm": + return &"ZOMBIES_LSAT"; + + case "iw5_asawzm": + return &"ZOMBIES_ASAW"; + + case "iw5_rw1zm": + return &"ZOMBIES_RW1"; + + case "teleport_zombies_mp": + return &"ZOMBIE_DLC3_TELEPORT_GRENADE"; + + default: + return &"ZOMBIES_WALL_BUY_AMMO_ERROR"; + } +} + +//Function Number: 15 +getweaponhintcoststring(param_00,param_01) +{ + param_00.currentweaponcost = param_00.weaponcost; + if(param_01 > 4) + { + param_00.currentweaponcost = 2000; + } + + if(param_01 > 9) + { + param_00.currentweaponcost = 3000; + } + + if(param_01 > 14) + { + param_00.currentweaponcost = 4000; + } + + if(param_01 > 19) + { + param_00.currentweaponcost = 5000; + } + + if(isdefined(level.penaltycostincrease)) + { + for(var_02 = 0;var_02 < level.penaltycostincrease;var_02++) + { + var_03 = maps\mp\zombies\_util::getincreasedcost(param_00.currentweaponcost); + param_00.currentweaponcost = var_03; + } + } + + return maps\mp\zombies\_util::getcoststring(param_00.currentweaponcost); +} + +//Function Number: 16 +getammohintstring(param_00) +{ + switch(param_00.script_noteworthy) + { + case "contact_grenade_zombies_mp": + return &"ZOMBIES_CONTACT_AMMO"; + + case "explosive_drone_zombie_mp": + return &"ZOMBIES_DRONE_AMMO"; + + case "teleport_zombies_mp": + return &"ZOMBIE_DLC3_TELEPORT_GRENADE_AMMO"; + } + + return &"ZOMBIES_WALL_BUY_AMMO"; +} + +//Function Number: 17 +getammohintcoststring(param_00,param_01) +{ + switch(param_00.script_noteworthy) + { + case "contact_grenade_zombies_mp": + return &"ZOMBIES_COST_500"; + + case "explosive_drone_zombie_mp": + return &"ZOMBIES_COST_500"; + + case "teleport_zombies_mp": + return &"ZOMBIES_COST_500"; + } + + param_00.currentammocost = param_00.ammocost; + if(param_01 > 4) + { + param_00.currentammocost = 1000; + } + + if(param_01 > 9) + { + param_00.currentammocost = 2000; + } + + if(param_01 > 14) + { + param_00.currentammocost = 3000; + } + + if(param_01 > 19) + { + param_00.currentammocost = 4000; + } + + if(isdefined(level.ammocostdecrease)) + { + var_02 = maps\mp\zombies\_util::getreducedcost(param_00.currentammocost); + param_00.currentammocost = var_02; + } + + if(isdefined(level.penaltycostincrease)) + { + for(var_03 = 0;var_03 < level.penaltycostincrease;var_03++) + { + var_04 = maps\mp\zombies\_util::getincreasedcost(param_00.currentammocost); + param_00.currentammocost = var_04; + } + } + + return maps\mp\zombies\_util::getcoststring(param_00.currentammocost); +} + +//Function Number: 18 +getweaponslistprimariesminusalts() +{ + var_00 = []; + var_01 = self getweaponslistprimaries(); + foreach(var_03 in var_01) + { + if(!maps\mp\gametypes\_weapons::isaltmodeweapon(var_03)) + { + var_00[var_00.size] = var_03; + } + } + + return var_00; +} + +//Function Number: 19 +givezombieweapon(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_02)) + { + param_02 = 1; + } + + if(!isdefined(param_03)) + { + param_03 = 1; + } + + var_04 = param_00 getweaponslistprimariesminusalts(); + if(var_04.size > 1) + { + var_05 = 1; + foreach(var_07 in var_04) + { + if(param_01 == var_07) + { + var_05 = 0; + } + } + + if(var_05) + { + var_09 = param_00 getcurrentprimaryweapon(); + if(isdefined(level.customreplaceweaponfunc)) + { + var_09 = [[ level.customreplaceweaponfunc ]](param_00); + } + else + { + if(var_09 == "none" || var_09 == "search_dstry_bomb_defuse_mp") + { + var_09 = param_00 common_scripts\utility::getlastweapon(); + } + + if(!param_00 hasweapon(var_09)) + { + var_09 = param_00 maps\mp\killstreaks\_killstreaks::getfirstprimaryweapon(); + } + } + + param_00 takeweapon(var_09); + } + else + { + zombiesgiveammoandswitch(param_01,param_02,var_04); + return; + } + } + else if(var_04.size == 1 && var_04[0] == param_01) + { + zombiesgiveammoandswitch(param_00,param_01,param_03); + return; + } + + maps\mp\gametypes\zombies::createzombieweaponstate(param_00,param_01); + param_00 maps\mp\_utility::_giveweapon(param_01); + param_00 givemaxammo(param_01); + param_00 givemaxscriptedammo(param_01); + if(param_03) + { + param_00 switchtoweaponimmediate(param_01); + } + + if(isdefined(level.zmbprocessweapongivenfunc)) + { + level thread [[ level.zmbprocessweapongivenfunc ]](param_00,param_01); + } + + if(param_02) + { + param_00 maps\mp\zombies\_zombies_audio::play_weapon_vo(param_01); + } + + giveweaponlevelachievement(param_00); + writeweaponlisttomatchdata(param_00); +} + +//Function Number: 20 +writeweaponlisttomatchdata(param_00) +{ + if(maps\mp\zombies\_util::isplayerinlaststand(param_00)) + { + if(isdefined(level.weaponnamemap["LastStand"])) + { + setmatchdata("players",param_00.clientid,"endMisses",level.weaponnamemap["LastStand"]); + setmatchdata("players",param_00.clientid,"endGamesPlayed",level.weaponnamemap["LastStand"]); + return; + } + + return; + } + + var_01 = param_00 getweaponslistprimaries(); + var_02 = []; + foreach(var_04 in var_01) + { + var_02[var_02.size] = getweaponbasename(var_04); + } + + if(isdefined(var_02[0]) && isdefined(level.weaponnamemap[var_02[0]])) + { + setmatchdata("players",param_00.clientid,"endMisses",level.weaponnamemap[var_02[0]]); + } + + if(isdefined(var_02[1]) && isdefined(level.weaponnamemap[var_02[1]])) + { + setmatchdata("players",param_00.clientid,"endGamesPlayed",level.weaponnamemap[var_02[1]]); + } +} + +//Function Number: 21 +givezombieequipment(param_00,param_01,param_02) +{ + if(maps\mp\zombies\_util::iszombielethal(param_01)) + { + if(!param_00 maps\mp\zombies\_terminals::hasexosuit()) + { + var_03 = maps\mp\zombies\_util::getpreexoequipment(param_01); + if(isdefined(var_03)) + { + param_01 = var_03; + } + } + + var_04 = param_00 getlethalweapon(); + if(var_04 != param_01) + { + param_00 takeweapon(var_04); + param_00 setlethalweapon(param_01); + param_00 giveweapon(param_01); + fillweaponclip(param_00,param_01); + if(isdefined(level.weaponnamemap[param_01])) + { + setmatchdata("players",param_00.clientid,"endLosses",level.weaponnamemap[param_01]); + } + + param_00 notify("new_equipment"); + } + else + { + param_00 setweaponammoclip(param_01,param_00 getweaponammoclip(param_01) + 1); + } + } + else if(maps\mp\zombies\_util::iszombietactical(param_01)) + { + if(maps\mp\zombies\_util::getzombieslevelnum() == 3 && param_01 == "teleport_zombies_mp") + { + level notify("player_purchased_teleport_grenade"); + } + + if(!param_00 maps\mp\zombies\_terminals::hasexosuit()) + { + var_03 = maps\mp\zombies\_util::getpreexoequipment(param_01); + if(isdefined(var_03)) + { + param_01 = var_03; + } + } + + var_05 = param_00 gettacticalweapon(); + if(var_05 != param_01) + { + param_00 takeweapon(var_05); + param_00 settacticalweapon(param_01); + param_00 giveweapon(param_01); + fillweaponclip(param_00,param_01); + if(isdefined(level.weaponnamemap[param_01])) + { + setmatchdata("players",param_00.clientid,"endHits",level.weaponnamemap[param_01]); + } + + param_00 notify("new_equipment"); + } + else + { + param_00 setweaponammoclip(param_01,param_00 getweaponammoclip(param_01) + 1); + } + } + + if(isdefined(level.zmbprocessweapongivenfunc)) + { + level thread [[ level.zmbprocessweapongivenfunc ]](param_00,param_01); + } + + if(!isdefined(param_02)) + { + param_02 = 1; + } + + if(param_02) + { + param_00 maps\mp\zombies\_zombies_audio::play_weapon_vo(param_01); + } +} + +//Function Number: 22 +fillweaponclip(param_00,param_01) +{ + var_02 = weaponclipsize(param_01,param_00); + param_00 setweaponammoclip(param_01,var_02); +} + +//Function Number: 23 +plusoneweaponclip(param_00,param_01) +{ + var_02 = weaponclipsize(param_01,param_00); + var_03 = param_00 getweaponammoclip(param_01); + if(var_03 + 1 <= var_02) + { + var_03++; + } + + param_00 setweaponammoclip(param_01,var_03); +} + +//Function Number: 24 +zombiesgiveammoandswitch(param_00,param_01,param_02) +{ + var_03 = weaponclipsize(param_01,param_00); + param_00 setweaponammoclip(param_01,var_03,"right"); + if(issubstr(param_01,"akimbo")) + { + param_00 setweaponammoclip(param_01,var_03,"left"); + } + + param_00 givemaxammo(param_01); + param_00 givemaxscriptedammo(param_01); + if(param_02) + { + param_00 switchtoweaponimmediate(param_01); + } +} + +//Function Number: 25 +givemaxscriptedammo(param_00) +{ + if(issubstr(param_00,"iw5_em1zm_mp")) + { + maps\mp\gametypes\zombies::playersetem1maxammo(); + } + + if(isdefined(level.givemaxscriptedammofunc)) + { + self [[ level.givemaxscriptedammofunc ]](param_00); + } +} + +//Function Number: 26 +magicboxmaps() +{ + var_00 = common_scripts\utility::getstructarray("magic_box_map","targetname"); + common_scripts\utility::array_thread(var_00,::magicboxmapinit); +} + +//Function Number: 27 +magicboxmapinit() +{ + self.box_locs = []; + var_00 = getentarray(self.target,"targetname"); + var_01 = common_scripts\utility::getstructarray(self.target,"targetname"); + var_02 = common_scripts\utility::array_combine(var_00,var_01); + foreach(var_04 in var_02) + { + switch(var_04.script_noteworthy) + { + case "current": + var_04 hide(); + self.current_ent = var_04; + break; + + case "all": + var_04 hide(); + self.all_ent = var_04; + break; + + case "box_loc": + self.box_locs[self.box_locs.size] = var_04; + break; + + case "breach_map": + if(level.currentgen && maps\mp\_utility::getmapname() == "mp_zombie_ark") + { + break; + } + else if(isdefined(level.breachmapfunc)) + { + level thread [[ level.breachmapfunc ]](var_04); + } + break; + + default: + break; + } + } + + common_scripts\utility::flag_wait("magic_box_init"); + foreach(var_07 in self.box_locs) + { + thread magicboxmapcurrentthink(var_07); + } + + thread magicboxmapallthink(); + thread magicboxmapoffthink(); +} + +//Function Number: 28 +magicboxmapcurrentthink(param_00) +{ + for(;;) + { + common_scripts\utility::flag_wait(param_00.script_flag_true); + var_01 = 0; + while(maps\mp\_utility::gameflag("fire_sale")) + { + var_01 = 1; + wait 0.05; + } + + var_02 = 0; + while(maps\mp\_utility::gameflag("power_off")) + { + var_02 = 1; + wait 0.05; + } + + if(var_01 || var_02) + { + common_scripts\utility::flag_waitopen(param_00.script_flag_true); + continue; + } + + self.current_ent show(); + self.current_ent.origin = param_00.origin; + common_scripts\utility::flag_waitopen(param_00.script_flag_true); + } +} + +//Function Number: 29 +magicboxmapallthink() +{ + for(;;) + { + self.all_ent hide(); + maps\mp\_utility::gameflagwait("fire_sale"); + self.all_ent show(); + self.current_ent hide(); + while(maps\mp\_utility::gameflag("fire_sale")) + { + wait 0.05; + } + + self.current_ent show(); + } +} + +//Function Number: 30 +magicboxmapoffthink() +{ + for(;;) + { + maps\mp\_utility::gameflagwait("power_off"); + self.all_ent hide(); + self.current_ent hide(); + while(maps\mp\_utility::gameflag("power_off")) + { + wait 0.05; + } + + self.current_ent show(); + } +} + +//Function Number: 31 +mapweaponnamestonumbers() +{ + level.weaponnamemap = []; + level.weaponnamemap["iw5_rw1zm_mp"] = 1; + level.weaponnamemap["iw5_vbrzm_mp"] = 2; + level.weaponnamemap["iw5_gm6zm_mp"] = 3; + level.weaponnamemap["iw5_rhinozm_mp"] = 4; + level.weaponnamemap["iw5_lsatzm_mp"] = 5; + level.weaponnamemap["iw5_asawzm_mp"] = 6; + level.weaponnamemap["iw5_ak12zm_mp"] = 7; + level.weaponnamemap["iw5_bal27zm_mp"] = 8; + level.weaponnamemap["iw5_himarzm_mp"] = 9; + level.weaponnamemap["iw5_asm1zm_mp"] = 10; + level.weaponnamemap["iw5_sn6zm_mp"] = 11; + level.weaponnamemap["iw5_sac3zm_mp"] = 12; + level.weaponnamemap["iw5_fusionzm_mp"] = 13; + level.weaponnamemap["distraction_drone_zombie_mp"] = 14; + level.weaponnamemap["dna_aoe_grenade_zombie_mp"] = 15; + level.weaponnamemap["iw5_exocrossbowzm_mp"] = 16; + level.weaponnamemap["iw5_mahemzm_mp"] = 17; + level.weaponnamemap["iw5_em1zm_mp"] = 18; + level.weaponnamemap["iw5_dlcgun1zm_mp"] = 19; + level.weaponnamemap["iw5_arx160zm_mp"] = 20; + level.weaponnamemap["iw5_mp11zm_mp"] = 21; + level.weaponnamemap["explosive_drone_zombie_mp"] = 22; + level.weaponnamemap["contact_grenade_zombies_mp"] = 23; + level.weaponnamemap["iw5_hbra3zm_mp"] = 24; + level.weaponnamemap["iw5_hmr9zm_mp"] = 25; + level.weaponnamemap["iw5_maulzm_mp"] = 26; + level.weaponnamemap["iw5_m182sprzm_mp"] = 27; + level.weaponnamemap["iw5_uts19zm_mp"] = 28; + level.weaponnamemap["contact_grenade_throw_zombies_mp"] = 29; + level.weaponnamemap["explosive_drone_throw_zombie_mp"] = 30; + level.weaponnamemap["distraction_drone_throw_zombie_mp"] = 31; + level.weaponnamemap["dna_aoe_grenade_throw_zombie_mp"] = 32; + level.weaponnamemap["iw5_titan45zm_mp"] = 33; + level.weaponnamemap["LastStand"] = 34; + level.weaponnamemap["iw5_microwavezm_mp"] = 35; + level.weaponnamemap["iw5_linegunzm_mp"] = 36; + level.weaponnamemap["frag_grenade_zombies_mp"] = 37; + level.weaponnamemap["frag_grenade_throw_zombies_mp"] = 38; + level.weaponnamemap["iw5_dlcgun2zm_mp"] = 39; + level.weaponnamemap["iw5_dlcgun3zm_mp"] = 40; + level.weaponnamemap["teleport_zombies_mp"] = 41; + level.weaponnamemap["repulsor_zombie_mp"] = 42; + level.weaponnamemap["iw5_tridentzm_mp"] = 43; + level.weaponnamemap["iw5_dlcgun4zm_mp"] = 44; + level.weaponnamemap["iw5_exominigunzm_mp"] = 45; + level.weaponnamemap["playermech_rocket_zm_mp"] = 46; + level.weaponnamemap["iw5_juggernautrocketszm_mp"] = 47; + level.weaponnamemap["playermech_rocket_swarm_zm_mp"] = 48; +} + +//Function Number: 32 +initmagicboxweapons() +{ + level.magicboxuses = 0; + level.ondeckweapons = []; + addmagicboxweapon("iw5_rw1zm","npc_rw1_main_base_static_holo",&"ZOMBIES_RW1","none","none","none"); + addmagicboxweapon("iw5_vbrzm","npc_vbr_base_static_holo",&"ZOMBIES_VBR","none","none","none"); + addmagicboxweapon("iw5_gm6zm","npc_gm6_base_static_holo",&"ZOMBIES_GM6","gm6scope","none","none"); + addmagicboxweapon("iw5_rhinozm","npc_rhino_base_static_holo",&"ZOMBIES_RHINO","none","none","none"); + addmagicboxweapon("iw5_lsatzm","npc_lsat_base_static_holo",&"ZOMBIES_LSAT","none","none","none"); + addmagicboxweapon("iw5_asawzm","npc_ameli_base_static_holo",&"ZOMBIES_ASAW","none","none","none"); + addmagicboxweapon("iw5_ak12zm","npc_ak12_base_static_holo",&"ZOMBIES_AK12","none","none","none"); + addmagicboxweapon("iw5_bal27zm","npc_bal27_base_black_static_holo",&"ZOMBIES_BAL27","none","none","none"); + addmagicboxweapon("iw5_himarzm","npc_himar_base_static_holo",&"ZOMBIES_IMR","none","none","none"); + addmagicboxweapon("iw5_asm1zm","npc_asm1_base_static_holo",&"ZOMBIES_ASM1","none","none","none"); + addmagicboxweapon("iw5_sn6zm","npc_sn6_base_black_static_holo",&"ZOMBIES_SN6","none","none","none"); + addmagicboxweapon("iw5_sac3zm","npc_sac3_base_static_holo",&"ZOMBIES_SAC3","none","none","none"); + addmagicboxweapon("iw5_fusionzm","npc_fusion_shotgun_base_holo",&"ZOMBIES_FUSION_RIFLE","none","none","none",2); + addmagicboxweapon("distraction_drone_zombie","dlc_distraction_drone_01_holo",&"ZOMBIES_DISTRACTION_DRONE","none","none","none",2); + addmagicboxweapon("dna_aoe_grenade_zombie","npc_exo_launcher_grenade_holo",&"ZOMBIES_DNA_AOE","none","none","none",2); + addmagicboxweapon("iw5_exocrossbowzm","npc_crossbow_base_static_holo",&"ZOMBIES_CROSSBOW","none","none","none"); + addmagicboxweapon("iw5_mahemzm","npc_mahem_base_holo",&"ZOMBIES_MAHEM","none","none","none"); + addmagicboxweapon("iw5_em1zm","npc_em1_base_static_holo",&"ZOMBIES_EM1","none","none","none"); + addmagicboxweapon("iw5_dlcgun1zm","npc_dear_base_static_holo",&"ZOMBIES_DLC_GUN_1","none","none","none"); + if(isdefined(level.initmagicboxweaponsfunc)) + { + [[ level.initmagicboxweaponsfunc ]](); + } +} + +//Function Number: 33 +addmagicboxweapon(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + if(!isdefined(level.magicboxweapons)) + { + level.magicboxweapons = []; + } + + var_08 = level.magicboxweapons.size; + level.magicboxweapons[var_08]["baseNameNoMP"] = param_00; + level.magicboxweapons[var_08]["baseName"] = param_00 + "_mp"; + level.magicboxweapons[var_08]["fullName"] = param_00 + "_mp"; + level.magicboxweapons[var_08]["displayModel"] = param_01; + level.magicboxweapons[var_08]["displayString"] = param_02; + level.magicboxweapons[var_08]["attachment1"] = param_03; + level.magicboxweapons[var_08]["attachment2"] = param_04; + level.magicboxweapons[var_08]["attachment3"] = param_05; + level.magicboxweapons[var_08]["limit"] = param_06; + if(isdefined(param_07)) + { + level.magicboxweapons[var_08]["forceSelect"] = randomint(param_07); + } + + if(!maps\mp\zombies\_util::iszombieequipment(level.magicboxweapons[var_08]["baseName"])) + { + level.magicboxweapons[var_08]["fullName"] = maps\mp\gametypes\_class::buildweaponname(param_00,param_03,param_04,param_05,0,0); + } +} + +//Function Number: 34 +removemagicboxweapon(param_00) +{ + var_01 = undefined; + for(var_02 = 0;var_02 < level.magicboxweapons.size;var_02++) + { + if(level.magicboxweapons[var_02]["baseNameNoMP"] == param_00) + { + var_01 = var_02; + break; + } + } + + if(isdefined(var_01)) + { + level.magicboxweapons = maps\mp\zombies\_util::array_remove_index(level.magicboxweapons,var_01); + } +} + +//Function Number: 35 +magicboxthink() +{ + level endon("game_ended"); + common_scripts\utility::flag_init("magic_box_init"); + common_scripts\utility::flag_init("magic_box_moved"); + level.magicboxlocations = getentarray("magic_box","targetname"); + var_00 = undefined; + foreach(var_02 in level.magicboxlocations) + { + var_02.modelent = getent(var_02.target,"targetname"); + if(isdefined(var_02.modelent) && isdefined(var_02.modelent.target)) + { + var_03 = getent(var_02.modelent.target,"targetname"); + if(isdefined(var_03) && var_03.code_classname == "light") + { + var_02.light = var_03; + var_02.light.lightonintensity = var_02.light getlightintensity(); + var_02.light.lightoffintensity = 0.1; + } + } + + var_02.active = 0; + var_02.isdispensingweapon = 0; + var_02.ismoving = 0; + if(isdefined(var_02.script_flag)) + { + common_scripts\utility::flag_init(var_02.script_flag); + } + } + + wait(2); + foreach(var_02 in level.magicboxlocations) + { + if(isdefined(var_02.script_noteworthy) && var_02.script_noteworthy == "start_location") + { + var_00 = var_02; + var_00.active = 1; + var_02 activatemagicboxeffects(var_02.modelent,var_02.light); + var_02 sethintstring(getmagicboxhintsting()); + var_02 setsecondaryhintstring(var_02 getmagicboxhintstringcost()); + var_02 maps\mp\zombies\_util::settokencost(maps\mp\zombies\_util::creditstotokens(var_02.cost)); + var_02 maps\mp\zombies\_util::tokenhintstring(1); + continue; + } + + var_02 sethintstring(getmagicboxhintsting(1)); + var_02 setsecondaryhintstring(var_02 getmagicboxhintstringcost(1)); + var_02 maps\mp\zombies\_util::tokenhintstring(0); + var_02 deactivatemagicboxeffects(var_02.modelent,var_02.light); + } + + common_scripts\utility::flag_set("magic_box_init"); + if(!isdefined(var_00)) + { + return; + } + + for(;;) + { + watchmagicboxtrigger(var_00,0); + while(maps\mp\_utility::gameflag("fire_sale")) + { + while(maps\mp\_utility::gameflag("fire_sale") || var_00.isdispensingweapon) + { + wait(0.15); + } + + var_00 notify("fireSaleOver"); + } + + common_scripts\utility::flag_set("magic_box_moved"); + var_07 = []; + foreach(var_09 in level.magicboxlocations) + { + if(var_00 == var_09) + { + continue; + } + + if(isscriptedmagicbox(var_09)) + { + continue; + } + + if(var_09.isdispensingweapon) + { + continue; + } + + var_07[var_07.size] = var_09; + } + + if(var_07.size > 0) + { + var_00 deactivatemagicboxeffects(var_00.modelent,var_00.light); + var_00 sethintstring(getmagicboxhintsting(1)); + var_00 setsecondaryhintstring(var_00 getmagicboxhintstringcost(1)); + var_00 maps\mp\zombies\_util::tokenhintstring(0); + var_00.active = 0; + while(isdefined(var_00.deactivated)) + { + wait 0.05; + } + + var_00 = var_07[randomint(var_07.size)]; + var_00 activatemagicboxeffects(var_00.modelent,var_00.light); + var_00 sethintstring(getmagicboxhintsting()); + var_00 setsecondaryhintstring(var_00 getmagicboxhintstringcost()); + var_00 maps\mp\zombies\_util::settokencost(maps\mp\zombies\_util::creditstotokens(var_00.cost)); + var_00 maps\mp\zombies\_util::tokenhintstring(1); + var_00.active = 1; + } + } +} + +//Function Number: 36 +magicboxhasmoved() +{ + return common_scripts\utility::flag_exist("magic_box_moved") && common_scripts\utility::flag("magic_box_moved"); +} + +//Function Number: 37 +activatemagicboxeffects(param_00,param_01) +{ + maps\mp\zombies\_util::killfxontagnetwork(common_scripts\utility::getfx("station_mystery_box_icon_off"),param_00,"tag_origin"); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("station_mystery_box_icon_on"),param_00,"tag_origin"); + thread audio_magicbox_attract_on(param_00); + if(isdefined(param_01)) + { + param_01 setlightintensity(param_01.lightonintensity); + } + + if(isdefined(self.script_flag)) + { + common_scripts\utility::flag_set(self.script_flag); + } +} + +//Function Number: 38 +deactivatemagicboxeffects(param_00,param_01) +{ + maps\mp\zombies\_util::killfxontagnetwork(common_scripts\utility::getfx("station_mystery_box_icon_on"),param_00,"tag_origin"); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("station_mystery_box_icon_off"),param_00,"tag_origin"); + thread audio_magicbox_attract_off(param_00); + if(isdefined(param_01)) + { + param_01 setlightintensity(param_01.lightoffintensity); + } + + if(isdefined(self.script_flag)) + { + common_scripts\utility::flag_clear(self.script_flag); + } +} + +//Function Number: 39 +audio_magicbox_attract_on(param_00) +{ + if(!isdefined(param_00.soundent)) + { + var_01 = param_00 gettagorigin("tag_printer_laser"); + param_00.soundent = spawn("script_origin",var_01); + param_00.soundent scalevolume(0); + wait 0.05; + } + + param_00.soundent scalevolume(1,0.25); + param_00.soundent playloopsound("interact_mystery_box_attract"); +} + +//Function Number: 40 +audio_magicbox_attract_off(param_00) +{ + if(!isdefined(param_00.soundent)) + { + return; + } + + param_00.soundent scalevolume(0,1); + wait(1); + param_00.soundent stoploopsound(); + wait 0.05; + param_00.soundent delete(); +} + +//Function Number: 41 +audio_magicbox_attract_in_use(param_00) +{ + param_00.soundent scalevolume(0,0.5); + wait(0.5); + param_00.soundent stoploopsound(); +} + +//Function Number: 42 +audio_wpnbox_attract_on(param_00) +{ + param_00 scalevolume(1,0.25); + param_00 playloopsound("interact_weapon_box_attract"); +} + +//Function Number: 43 +audio_wpnbox_attract_in_use(param_00) +{ + param_00 scalevolume(0,0.5); + wait(3.5); + param_00 scalevolume(1,0.5); +} + +//Function Number: 44 +centerweaponformagicbox(param_00,param_01,param_02) +{ + var_03 = [0,0,39]; + var_04 = param_00.origin; + var_05 = anglestoaxis(param_00.angles); + var_04 = var_04 + var_05["forward"] * var_03[0]; + var_04 = var_04 + var_05["right"] * var_03[1]; + var_04 = var_04 + var_05["up"] * var_03[2]; + var_06 = param_01 getpointinmodelbounds(0,0,0); + var_07 = var_04 - var_06; + param_01 dontinterpolate(); + param_01.origin = param_01.origin + var_07; +} + +//Function Number: 45 +magicboxusewait() +{ + self endon("fireSaleOver"); + self endon("deactivated"); + return maps\mp\zombies\_util::waittilltriggerortokenuse(); +} + +//Function Number: 46 +isscriptedmagicbox(param_00) +{ + return isdefined(param_00.script_noteworthy) && param_00.script_noteworthy == "scripted_magic_box"; +} + +//Function Number: 47 +watchmagicboxtrigger(param_00,param_01) +{ + var_02 = 0; + var_03 = randomintrange(4,7); + var_04 = int(param_00.script_parameters); + var_05 = param_00.modelent.origin; + var_06 = param_00.modelent gettagangles("tag_printer_laser"); + var_07 = spawn("script_model",var_05); + var_07.angles = var_06 + (0,90,0); + var_07 setmodel("tag_origin"); + param_00.weaponmodel = var_07; + param_00.lastweapon = ""; + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("weapon_cycle_slow"),param_00.modelent,"tag_origin"); + for(;;) + { + if(param_01 && !maps\mp\_utility::gameflag("fire_sale")) + { + break; + } + + var_08 = param_00 magicboxusewait(); + if(!isdefined(var_08)) + { + break; + } + + var_09 = var_08; + var_0A = var_09[0]; + var_0B = var_09[1]; + var_0C = var_02 >= var_03 && !maps\mp\_utility::gameflag("fire_sale") && !isscriptedmagicbox(param_00); + var_0D = getmagicboxcost(var_04); + var_0E = var_0A getcurrentprimaryweapon(); + if(maps\mp\zombies\_util::isrippedturretweapon(var_0E) || maps\mp\zombies\_util::iszombiekillstreakweapon(var_0E) || maps\mp\zombies\_util::arewallbuysdisabled()) + { + continue; + } + + if(var_0C && !var_0A maps\mp\gametypes\zombies::canbuy(var_0D)) + { + var_0A thread maps\mp\zombies\_zombies_audio::playerweaponbuy("printer_no_cash"); + continue; + } + + if(!var_0C && !isdefined(self.deactivated)) + { + if(var_0B == "token") + { + var_0A maps\mp\gametypes\zombies::spendtoken(param_00.tokencost); + } + else if(!var_0A maps\mp\gametypes\zombies::attempttobuy(var_0D)) + { + var_0A thread maps\mp\zombies\_zombies_audio::playerweaponbuy("printer_no_cash"); + continue; + } + } + + if(!var_0C && !isdefined(self.deactivated)) + { + if(var_02 == 0) + { + var_0A thread maps\mp\zombies\_zombies_audio::playerfoundprinter(); + } + + level notify("magicBoxUse",param_00); + param_00 common_scripts\utility::trigger_off(); + param_00.isdispensingweapon = 1; + var_0A thread maps\mp\zombies\_zombies_audio::moneyspend(); + maps\mp\zombies\_util::killfxontagnetwork(common_scripts\utility::getfx("weapon_cycle_slow"),param_00.modelent,"tag_origin"); + var_12 = selectmagicboxweapon(var_0A,param_00); + level.ondeckweapons[level.ondeckweapons.size] = var_12["fullName"]; + var_07 setmodel(var_12["displayModel"]); + level thread centerweaponformagicbox(param_00.modelent,var_07); + var_07 show(); + if(level.nextgen) + { + var_07 cloakingenable(); + } + + wait(0.5); + if(level.nextgen) + { + var_07 cloakingdisable(); + } + + param_00.modelent scriptmodelplayanim("dlc_weapon_mystery_box_01_open","magicBox"); + param_00.modelent.soundent playsound("interact_mystery_box"); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("station_mystery_box"),param_00.modelent,"tag_printer_laser",1); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("magic_box_steam"),param_00.modelent,"tag_origin",1); + param_00.lastweapon = var_12["baseName"]; + level.magicboxuses++; + if(isdefined(var_0A)) + { + var_0A.magicboxuses++; + var_0A givemagicboxachievement(); + } + + thread audio_magicbox_attract_in_use(param_00.modelent); + param_00.modelent waittillmatch("weapon_ready","magicBox"); + var_13 = var_12["displayString"]; + if(isdefined(param_00.magicboxpickupstrfunc)) + { + var_13 = [[ param_00.magicboxpickupstrfunc ]](); + } + + param_00 sethintstring(var_13); + param_00 setsecondaryhintstring(""); + param_00 maps\mp\zombies\_util::tokenhintstring(0); + if(isdefined(var_0A)) + { + var_0A clientclaimtrigger(param_00); + } + + param_00 common_scripts\utility::trigger_on(); + param_00 notify("pickupReady"); + var_14 = 8; + var_15 = gettime() + var_14 * 1000; + level thread flashweaponmodel(var_07); + var_16 = "nothing"; + while(gettime() < var_15 && var_16 != "trigger") + { + var_17 = var_15 - gettime() / 1000; + param_00 thread activemagicboxtimeout(var_17); + var_18 = param_00 maps\mp\zombies\_util::waittill_any_return_parms_no_endon_death("timeout","trigger"); + param_00 notify("stopActiveMagicBoxTimeout"); + var_16 = var_18[0]; + if(var_16 == "timeout") + { + break; + } + + var_19 = var_18[1]; + if(isdefined(param_00.magicboxcanpickupfunc)) + { + if(![[ param_00.magicboxcanpickupfunc ]](var_19)) + { + var_16 = "nothing"; + } + + continue; + } + + var_0E = var_19 getcurrentprimaryweapon(); + if(maps\mp\zombies\_util::isrippedturretweapon(var_0E) || maps\mp\zombies\_util::iszombiekillstreakweapon(var_0E) || maps\mp\zombies\_util::arewallbuysdisabled()) + { + var_16 = "nothing"; + } + + if(var_16 == "trigger") + { + var_0A = var_19; + } + } + + param_00.modelent.soundent playsound("interact_mystery_box_reset"); + param_00.modelent scriptmodelplayanim("dlc_weapon_mystery_box_01_close","magicBox"); + param_00 common_scripts\utility::trigger_off(); + param_00 sethintstring(getmagicboxhintsting()); + param_00 setsecondaryhintstring(param_00 getmagicboxhintstringcost()); + param_00 maps\mp\zombies\_util::settokencost(maps\mp\zombies\_util::creditstotokens(param_00.cost)); + param_00 maps\mp\zombies\_util::tokenhintstring(1); + param_00 releaseclaimedtrigger(); + var_07 setmodel("tag_origin"); + var_07 notify("stop_flashing"); + if(isdefined(var_0A)) + { + var_1A = getupgradeweaponname(var_0A,var_12["fullName"]); + if(isdefined(param_00.magicboxgivefunc)) + { + param_00 [[ param_00.magicboxgivefunc ]](var_16,var_0A); + } + else if(var_16 == "trigger" && maps\mp\_utility::isreallyalive(var_0A) && !maps\mp\zombies\_util::isplayerinlaststand(var_0A)) + { + if(maps\mp\zombies\_util::iszombieequipment(var_1A)) + { + givezombieequipment(var_0A,var_1A); + } + else + { + givezombieweapon(var_0A,var_1A); + } + } + } + + level.ondeckweapons = arrayremovestring(level.ondeckweapons,var_12["fullName"]); + param_00.modelent waittillmatch("end","magicBox"); + param_00 common_scripts\utility::trigger_on(); + param_00.isdispensingweapon = 0; + param_00 notify("magicBoxUseEnd"); + thread audio_magicbox_attract_on(param_00.modelent); + if(!maps\mp\_utility::gameflag("fire_sale")) + { + var_02++; + } + + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("weapon_cycle_slow"),param_00.modelent,"tag_origin"); + continue; + } + + param_00 common_scripts\utility::trigger_off(); + param_00.ismoving = 1; + maps\mp\zombies\_util::killfxontagnetwork(common_scripts\utility::getfx("weapon_cycle_slow"),param_00.modelent,"tag_origin"); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("weapon_cycle_fast"),param_00.modelent,"tag_origin"); + param_00.modelent.soundent playsound("interact_mystery_box_break"); + thread audio_magicbox_attract_in_use(param_00.modelent); + wait(2); + maps\mp\zombies\_util::killfxontagnetwork(common_scripts\utility::getfx("weapon_cycle_fast"),param_00.modelent,"tag_origin"); + maps\mp\zombies\_util::killfxontagnetwork(common_scripts\utility::getfx("station_mystery_box_icon_on"),param_00.modelent,"tag_origin"); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("magic_box_move"),param_00.modelent,"tag_origin"); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("magic_box_steam"),param_00.modelent,"tag_origin",1); + param_00.modelent scriptmodelplayanim("dlc_weapon_mystery_box_01_malfunction","magicBox"); + maps\mp\zombies\_zombies_audio_announcer::announcerprintermoveddialog(); + wait(3); + param_00.modelent.soundent playsound("interact_mystery_box_shutoff"); + wait(2); + maps\mp\zombies\_util::killfxontagnetwork(common_scripts\utility::getfx("magic_box_move"),param_00.modelent,"tag_origin"); + param_00.ismoving = 0; + param_00 common_scripts\utility::trigger_on(); + break; + } + + maps\mp\zombies\_util::killfxontagnetwork(common_scripts\utility::getfx("weapon_cycle_slow"),param_00.modelent,"tag_origin"); + var_07 delete(); +} + +//Function Number: 48 +activemagicboxtimeout(param_00) +{ + self endon("stopActiveMagicBoxTimeout"); + wait(param_00); + self notify("timeout"); +} + +//Function Number: 49 +flashweaponmodel(param_00) +{ + param_00 endon("stop_flashing"); + wait(5); + for(;;) + { + param_00 ghost(); + wait(0.35); + param_00 show(); + wait(0.35); + } +} + +//Function Number: 50 +arrayremovestring(param_00,param_01) +{ + var_02 = []; + foreach(var_04 in param_00) + { + if(var_04 != param_01) + { + var_02[var_02.size] = var_04; + } + } + + return var_02; +} + +//Function Number: 51 +selectmagicboxweapon(param_00,param_01) +{ + var_02 = []; + var_03 = ""; + var_04 = param_00 getweaponslistall(); + var_05 = []; + foreach(var_07 in var_04) + { + var_05[var_05.size] = getweaponbasename(var_07); + } + + foreach(var_0E, var_0A in level.magicboxweapons) + { + var_0B = 1; + foreach(var_07 in var_05) + { + if(var_0A["baseName"] == var_07) + { + var_0B = 0; + break; + } + } + + if(param_01.lastweapon == var_0A["baseName"]) + { + var_0B = 0; + } + + if(islimitreached(var_0A)) + { + var_0B = 0; + } + + if(isdefined(var_0A["forceSelect"])) + { + if(var_0A["forceSelect"] <= level.magicboxuses) + { + level.magicboxweapons[var_0E]["forceSelect"] = undefined; + var_02 = [var_0A]; + break; + } + else + { + var_0B = 0; + } + } + + if(var_0B) + { + var_02[var_02.size] = var_0A; + } + } + + var_03 = var_02[randomint(var_02.size)]; + return var_03; +} + +//Function Number: 52 +islimitreached(param_00) +{ + if(!isdefined(param_00["limit"])) + { + return 0; + } + + var_01 = level.ondeckweapons; + foreach(var_03 in level.players) + { + var_04 = var_03 getweaponslistall(); + var_01 = common_scripts\utility::array_combine(var_01,var_04); + } + + var_06 = 0; + var_07 = param_00["limit"]; + foreach(var_09 in var_01) + { + var_0A = getweaponbasename(var_09); + if(var_0A == param_00["baseName"]) + { + var_06++; + } + } + + return var_06 >= var_07; +} + +//Function Number: 53 +getmagicboxhintsting(param_00) +{ + var_01 = &"ZOMBIES_BUY_MYSTERY_BOX"; + if(maps\mp\_utility::gameflag("fire_sale")) + { + var_01 = &"ZOMBIES_FIRE_SALE_MAGIC_BOX"; + } + + if(isdefined(param_00) && param_00) + { + var_01 = &"ZOMBIES_PRINTER_OFFLINE"; + if(randomint(1000) == 500) + { + var_01 = &"ZOMBIES_PC_LOAD_LETTER"; + } + } + + return var_01; +} + +//Function Number: 54 +getmagicboxhintstringcost(param_00) +{ + self.cost = 1000; + var_01 = &"ZOMBIES_COST_1000"; + if(isdefined(level.penaltycostincrease)) + { + var_02 = 1000; + for(var_03 = 0;var_03 < level.penaltycostincrease;var_03++) + { + var_02 = maps\mp\zombies\_util::getincreasedcost(var_02); + } + + self.cost = var_02; + var_01 = maps\mp\zombies\_util::getcoststring(var_02); + } + + if(maps\mp\_utility::gameflag("fire_sale")) + { + self.cost = 10; + var_01 = &"ZOMBIES_COST_10"; + } + + if(isdefined(param_00) && param_00) + { + self.cost = 0; + var_01 = &"ZOMBIES_EMPTY_STRING"; + } + + return var_01; +} + +//Function Number: 55 +getmagicboxcost(param_00) +{ + var_01 = param_00; + if(isdefined(level.penaltycostincrease)) + { + for(var_02 = 0;var_02 < level.penaltycostincrease;var_02++) + { + var_01 = maps\mp\zombies\_util::getincreasedcost(var_01); + } + } + + if(maps\mp\_utility::gameflag("fire_sale")) + { + var_01 = 10; + } + + return var_01; +} + +//Function Number: 56 +givemagicboxachievement() +{ + if(self.magicboxuses >= 15) + { + maps\mp\gametypes\zombies::givezombieachievement("DLC1_ZOMBIE_PCLOADLETTER"); + } +} + +//Function Number: 57 +weaponlevelboxinit() +{ + initcamolevels(); + level.weaponlevelboxes = getentarray("weapon_level_box","targetname"); + common_scripts\utility::array_thread(level.weaponlevelboxes,::weaponlevelboxthink); +} + +//Function Number: 58 +weaponlevelboxsetupspecialbox() +{ + if(!isdefined(self.modelent) || !isdefined(self.modelent.target) || isdefined(self.modelent.light)) + { + return; + } + + var_00 = getent(self.modelent.target,"targetname"); + if(isdefined(var_00) && var_00.code_classname == "light") + { + self.modelent.light = var_00; + self.modelent.light.lightonintensity = self.modelent.light getlightintensity(); + self.modelent.light.lightoffintensity = 0.1; + self.modelent.light.ison = 1; + } +} + +//Function Number: 59 +weaponlevelboxturnonlight() +{ + if(isdefined(self.modelent.light) && isdefined(self.modelent.light.lightoffintensity) && isdefined(self.modelent.light.ison) && !self.modelent.light.ison) + { + self.modelent.light setlightintensity(self.modelent.light.lightonintensity); + self.modelent.light.ison = 1; + } +} + +//Function Number: 60 +weaponlevelboxturnofflight() +{ + if(isdefined(self.modelent.light) && isdefined(self.modelent.light.lightoffintensity) && isdefined(self.modelent.light.ison) && self.modelent.light.ison) + { + self.modelent.light setlightintensity(self.modelent.light.lightoffintensity); + self.modelent.light.ison = 0; + } +} + +//Function Number: 61 +isspecialweaponbox(param_00) +{ + return isdefined(param_00.script_noteworthy) && param_00.script_noteworthy == "special"; +} + +//Function Number: 62 +weaponlevelboxisplayerweaponmaxed(param_00,param_01) +{ + return (!isspecialweaponbox(self) && param_00.weaponstate[param_01]["level"] >= 20) || isspecialweaponbox(self) && param_00.weaponstate[param_01]["level"] >= 25; +} + +//Function Number: 63 +weaponlevelboxupdatehintstrings(param_00) +{ + param_00 endon("disconnect"); + var_01 = &"ZOMBIES_COST_2500"; + if(maps\mp\zombies\_util::iszombieshardmode()) + { + var_01 = &"ZOMBIES_COST_1500"; + } + + for(;;) + { + var_02 = param_00 maps\mp\zombies\_util::waittill_any_return_parms_no_endon_death("weapon_change","no_upgrades"); + var_03 = undefined; + if(var_02[0] == "no_upgrades" && self.allowupgrade) + { + continue; + } + + switch(var_02[0]) + { + case "weapon_change": + var_03 = var_02[1]; + break; + + case "no_upgrades": + self sethintstring(""); + self setsecondaryhintstring(""); + maps\mp\zombies\_util::tokenhintstring(0); + param_00 waittill("allow_upgrades"); + var_03 = maps\mp\zombies\_util::getplayerweaponzombies(param_00); + break; + } + + var_04 = getweaponbasename(var_03); + self setcursorhint("HINT_NOICON"); + if(!maps\mp\zombies\_util::haszombieweaponstate(param_00,var_04) || !weaponlevelboxisplayerweaponmaxed(param_00,var_04)) + { + self sethintstring(&"ZOMBIES_WEAPON_LEVEL_BOX"); + self setsecondaryhintstring(var_01); + maps\mp\zombies\_util::settokencost(maps\mp\zombies\_util::creditstotokens(2500)); + maps\mp\zombies\_util::tokenhintstring(1); + continue; + } + + self sethintstring(&"ZOMBIES_WEAPON_LEVEL_MAX"); + self setsecondaryhintstring(""); + maps\mp\zombies\_util::tokenhintstring(0); + } +} + +//Function Number: 64 +deactivatemagicbox() +{ + self.deactivated = 1; + self notify("deactivated"); +} + +//Function Number: 65 +reactivatemagicbox() +{ + self.deactivated = undefined; +} + +//Function Number: 66 +cg__onplayerconnectedweaponlevelboxupdatehintstrings(param_00) +{ + param_00 endon("death"); + for(;;) + { + level waittill("connected",var_01); + param_00 thread cg_weaponlevelboxupdatehintstrings(var_01); + } +} + +//Function Number: 67 +cg_weaponlevelboxupdatehintstrings(param_00) +{ + param_00 endon("disconnect"); + maps\mp\zombies\_util::cg_setupstorestrings(param_00); + thread cg_levelboxtriggermonitor(param_00); + for(;;) + { + var_01 = param_00 maps\mp\zombies\_util::waittill_any_return_parms_no_endon_death("weapon_change","no_upgrades"); + var_02 = undefined; + if(var_01[0] == "no_upgrades" && self.allowupgrade) + { + continue; + } + + switch(var_01[0]) + { + case "weapon_change": + var_02 = var_01[1]; + break; + + case "no_upgrades": + param_00 waittill("allow_upgrades"); + var_02 = maps\mp\zombies\_util::getplayerweaponzombies(param_00); + break; + } + + param_00.baseweapon = getweaponbasename(var_02); + } +} + +//Function Number: 68 +cg_levelboxtriggermonitor(param_00) +{ + param_00 endon("disconnect"); + for(;;) + { + while(!param_00 istouching(self)) + { + wait(0.1); + } + + if(!maps\mp\zombies\_util::haszombieweaponstate(param_00,param_00.baseweapon) || !weaponlevelboxisplayerweaponmaxed(param_00,param_00.baseweapon)) + { + param_00.storedescription settext(&"ZOMBIES_WEAPON_LEVEL_BOX"); + var_01 = &"ZOMBIES_COST_2500"; + if(maps\mp\zombies\_util::iszombieshardmode()) + { + var_01 = &"ZOMBIES_COST_1500"; + } + + param_00.storecost settext(var_01); + } + else + { + param_00.storedescription settext(&"ZOMBIES_WEAPON_LEVEL_MAX"); + param_00.storecost settext(""); + } + + while(param_00 istouching(self)) + { + wait(0.1); + } + + param_00.storedescription settext(""); + param_00.storecost settext(""); + } +} + +//Function Number: 69 +weaponlevelboxthink() +{ + level endon("game_ended"); + self.modelent = getent(self.target,"targetname"); + self.allowupgrade = 1; + if(isspecialweaponbox(self)) + { + weaponlevelboxsetupspecialbox(); + weaponlevelboxturnofflight(); + common_scripts\utility::trigger_off(); + level waittill("special_weapon_box_unlocked"); + if(level.currentgen) + { + common_scripts\utility::trigger_on(); + } + + weaponlevelboxturnonlight(); + } + + var_00 = self.modelent gettagangles("tag_origin"); + self.modelent playloopsound("interact_weapon_upgrade_attract"); + if(maps\mp\zombies\_util::isusetriggerprimary(self)) + { + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("station_upgrade_weapon_pwr_on"),self.modelent,"tag_origin"); + } + + if(level.nextgen) + { + maps\mp\zombies\_util::setupusetriggerforclient(self,::weaponlevelboxupdatehintstrings); + } + else + { + foreach(var_02 in level.players) + { + thread cg_weaponlevelboxupdatehintstrings(var_02); + } + + thread cg__onplayerconnectedweaponlevelboxupdatehintstrings(self); + } + + var_04 = int(self.script_parameters); + if(isdefined(level.penaltycostincrease)) + { + for(var_05 = 0;var_05 < level.penaltycostincrease;var_05++) + { + var_06 = maps\mp\zombies\_util::getincreasedcost(var_04); + var_04 = var_06; + } + } + + if(maps\mp\zombies\_util::iszombieshardmode()) + { + var_04 = 1500; + } + + for(;;) + { + var_07 = maps\mp\zombies\_util::waittilltriggerortokenuse(); + var_02 = var_07[0]; + var_08 = var_07[1]; + var_09 = var_02 getcurrentprimaryweapon(); + if(maps\mp\zombies\_util::isrippedturretweapon(var_09) || maps\mp\zombies\_util::iszombiekillstreakweapon(var_09) || maps\mp\zombies\_util::arewallbuysdisabled()) + { + continue; + } + + var_0A = maps\mp\zombies\_util::getplayerweaponzombies(var_02); + var_0B = getweaponbasename(var_0A); + if(!maps\mp\zombies\_util::haszombieweaponstate(var_02,var_0B)) + { + continue; + } + + if(weaponlevelboxisplayerweaponmaxed(var_02,var_0B)) + { + diaplaymaxlevelmessage(var_02); + continue; + } + + if(isspecialweaponbox(self) && var_02.weaponstate[var_0B]["level"] != 20) + { + displayrequiredlevelmessage(var_02); + continue; + } + + if(var_08 == "token") + { + var_02 maps\mp\gametypes\zombies::spendtoken(self.tokencost); + } + else if(!var_02 maps\mp\gametypes\zombies::attempttobuy(var_04)) + { + var_02 thread maps\mp\zombies\_zombies_audio::playerweaponbuy("wpn_no_cash"); + continue; + } + + self.allowupgrade = 0; + foreach(var_0D in level.players) + { + var_0D notify("no_upgrades"); + } + + var_0F = undefined; + if(level.nextgen) + { + var_10 = findholomodel(var_0B); + var_0F = spawn("script_model",self.origin); + var_0F.angles = var_00 - (0,90,0); + var_0F setmodel(var_10); + var_11 = [15,0,-6]; + if(var_0B == "iw5_exocrossbowzm_mp") + { + var_11 = [13,0,-13]; + var_0F.angles = var_0F.angles + (0,0,-90); + } + + level thread centerweaponforwallbuy(self.modelent,var_0F,var_11); + } + + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("station_upgrade_weapon"),self.modelent,"tag_origin",1); + self.modelent playsound("interact_weapon_upgrade"); + if(isspecialweaponbox(self)) + { + setweaponlevel(var_02,var_0A,25); + } + else + { + setweaponlevel(var_02,var_0A,var_02.weaponstate[var_0B]["level"] + 1); + } + + var_02 thread maps\mp\zombies\_zombies_audio::playerweaponupgrade(isspecialweaponbox(self),var_02.weaponstate[var_0B]["level"]); + var_02.numupgrades++; + wait(1.2); + if(isdefined(var_02)) + { + if(var_02.weaponstate[var_0B]["level"] > 19) + { + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("weapon_level_20"),self.modelent,"tag_origin",1); + self.modelent playsound("interact_weapon_upgrade_fwks"); + } + } + + wait(0.75); + if(isdefined(var_0F)) + { + var_0F delete(); + } + + self.allowupgrade = 1; + foreach(var_0D in level.players) + { + var_0D notify("allow_upgrades"); + } + } +} + +//Function Number: 70 +setweaponlevel(param_00,param_01,param_02) +{ + param_00 takeweapon(param_01); + var_03 = getweaponbasename(param_01); + param_00.weaponstate[var_03]["level"] = param_02; + var_04 = getupgradeweaponname(param_00,var_03); + givezombieweapon(param_00,var_04,0); + if(issubstr(var_04,"iw5_em1zm_mp")) + { + param_00 maps\mp\gametypes\zombies::playersetem1maxammo(); + } + + if(isdefined(level.setweaponlevelfunc)) + { + param_00 [[ level.setweaponlevelfunc ]](param_01,param_02); + } + + param_00 playsoundtoplayer("mp_s1_earn_medal",param_00); +} + +//Function Number: 71 +giveweaponlevelachievement(param_00) +{ + var_01 = param_00 getweaponslistprimaries(); + if(var_01.size < 2) + { + return; + } + + foreach(var_03 in var_01) + { + var_04 = getweaponbasename(var_03); + if(param_00.weaponstate[var_04]["level"] < 20) + { + return; + } + } + + param_00 maps\mp\gametypes\zombies::givezombieachievement("DLC1_ZOMBIE_2020"); +} + +//Function Number: 72 +findholomodel(param_00) +{ + foreach(var_02 in level.magicboxweapons) + { + if(var_02["baseName"] == param_00) + { + return var_02["displayModel"]; + } + } + + foreach(var_02 in level.wallbuyweapons) + { + if(var_02["baseName"] == param_00) + { + return var_02["displayModel"]; + } + } + + return "npc_titan45_base_static_holo"; +} + +//Function Number: 73 +getupgradeweaponname(param_00,param_01) +{ + var_02 = param_01; + var_03 = getweaponbasename(param_01); + if(maps\mp\zombies\_util::haszombieweaponstate(param_00,var_03) && param_00.weaponstate[var_03]["level"] > 0) + { + var_04 = param_00.weaponstate[var_03]["level"]; + if(var_04 > 25) + { + var_04 = 25; + } + + var_05 = getcamoforweaponlevel(var_03,var_04); + var_06 = getattachment1forweaponlevel(var_03,var_04); + var_07 = getattachment2forweaponlevel(var_03,var_04); + var_08 = getattachment3forweaponlevel(var_03,var_04); + var_09 = maps\mp\_utility::strip_suffix(var_03,"_mp"); + var_02 = maps\mp\gametypes\_class::buildweaponname(var_09,var_06,var_07,var_08,var_05,0); + } + + return var_02; +} + +//Function Number: 74 +getcamoforweaponlevel(param_00,param_01) +{ + param_01 = int(min(param_01,level.camolevel.size - 1)); + return level.camolevel[param_01]; +} + +//Function Number: 75 +getattachment1forweaponlevel(param_00,param_01) +{ + var_02 = getmagicboxweapondefaultattachment(param_00,"attachment1"); + if(param_01 > 3) + { + switch(param_00) + { + case "iw5_m182sprzm_mp": + case "iw5_hbra3zm_mp": + case "iw5_dlcgun1zm_mp": + case "iw5_ak12zm_mp": + var_02 = "opticseotech"; + break; + + case "iw5_arx160zm_mp": + case "iw5_sn6zm_mp": + case "iw5_bal27zm_mp": + case "iw5_exocrossbowzm_mp": + case "iw5_em1zm_mp": + var_02 = "variablereddot"; + break; + + case "iw5_uts19zm_mp": + case "iw5_maulzm_mp": + case "iw5_mp11zm_mp": + case "iw5_asm1zm_mp": + case "iw5_vbrzm_mp": + case "iw5_microwavezm_mp": + var_02 = "opticsreddot"; + break; + + case "iw5_asawzm_mp": + var_02 = "opticsthermalar"; + break; + + case "iw5_hmr9zm_mp": + var_02 = "opticsthermal"; + break; + + case "iw5_himarzm_mp": + case "iw5_lsatzm_mp": + case "iw5_rhinozm_mp": + case "iw5_rw1zm_mp": + case "iw5_dlcgun2zm_mp": + case "iw5_linegunzm_mp": + case "iw5_fusionzm_mp": + case "iw5_tridentzm_mp": + case "iw5_titan45zm_mp": + var_02 = "opticstargetenhancer"; + break; + + case "iw5_sac3zm_mp": + case "iw5_dlcgun3zm_mp": + var_02 = "lasersight"; + break; + + case "iw5_dlcgun4zm_mp": + case "iw5_mahemzm_mp": + var_02 = "quickdraw"; + break; + + case "iw5_gm6zm_mp": + var_02 = "opticsacog2"; + break; + } + } + + return var_02; +} + +//Function Number: 76 +getattachment2forweaponlevel(param_00,param_01) +{ + var_02 = getmagicboxweapondefaultattachment(param_00,"attachment2"); + if(param_01 > 6) + { + switch(param_00) + { + case "iw5_uts19zm_mp": + case "iw5_maulzm_mp": + case "iw5_hmr9zm_mp": + case "iw5_hbra3zm_mp": + case "iw5_mp11zm_mp": + case "iw5_arx160zm_mp": + case "iw5_asm1zm_mp": + case "iw5_himarzm_mp": + case "iw5_bal27zm_mp": + case "iw5_ak12zm_mp": + case "iw5_asawzm_mp": + case "iw5_rhinozm_mp": + var_02 = "lasersight"; + break; + + case "iw5_m182sprzm_mp": + case "iw5_dlcgun1zm_mp": + case "iw5_lsatzm_mp": + case "iw5_dlcgun4zm_mp": + case "iw5_dlcgun2zm_mp": + case "iw5_fusionzm_mp": + var_02 = "stock"; + break; + + case "iw5_vbrzm_mp": + case "iw5_rw1zm_mp": + case "iw5_dlcgun3zm_mp": + case "iw5_linegunzm_mp": + case "iw5_tridentzm_mp": + case "iw5_gm6zm_mp": + case "iw5_em1zm_mp": + case "iw5_titan45zm_mp": + var_02 = "quickdraw"; + break; + + case "iw5_sac3zm_mp": + case "iw5_sn6zm_mp": + var_02 = "firerate"; + break; + + case "iw5_mahemzm_mp": + case "iw5_exocrossbowzm_mp": + var_02 = "xmags"; + break; + } + } + + return var_02; +} + +//Function Number: 77 +getattachment3forweaponlevel(param_00,param_01) +{ + var_02 = getmagicboxweapondefaultattachment(param_00,"attachment3"); + if(param_01 > 9) + { + switch(param_00) + { + case "iw5_arx160zm_mp": + case "iw5_himarzm_mp": + case "iw5_bal27zm_mp": + case "iw5_ak12zm_mp": + case "iw5_mahemzm_mp": + case "iw5_em1zm_mp": + var_02 = "stock"; + break; + + case "iw5_hbra3zm_mp": + case "iw5_mp11zm_mp": + case "iw5_asm1zm_mp": + case "iw5_asawzm_mp": + case "iw5_lsatzm_mp": + case "iw5_dlcgun2zm_mp": + case "iw5_exocrossbowzm_mp": + var_02 = "quickdraw"; + break; + + case "iw5_uts19zm_mp": + case "iw5_m182sprzm_mp": + case "iw5_maulzm_mp": + case "iw5_hmr9zm_mp": + case "iw5_dlcgun1zm_mp": + case "iw5_sac3zm_mp": + case "iw5_sn6zm_mp": + case "iw5_rhinozm_mp": + case "iw5_vbrzm_mp": + case "iw5_rw1zm_mp": + case "iw5_dlcgun4zm_mp": + case "iw5_dlcgun3zm_mp": + case "iw5_fusionzm_mp": + case "iw5_tridentzm_mp": + case "iw5_gm6zm_mp": + case "iw5_titan45zm_mp": + var_02 = "xmags"; + break; + + case "iw5_linegunzm_mp": + var_02 = "xmagslinegun"; + break; + } + } + + return var_02; +} + +//Function Number: 78 +getmagicboxweapondefaultattachment(param_00,param_01) +{ + var_02 = "none"; + foreach(var_04 in level.magicboxweapons) + { + if(var_04["baseName"] == param_00) + { + var_02 = var_04[param_01]; + break; + } + } + + return var_02; +} + +//Function Number: 79 +displayrequiredlevelmessage(param_00) +{ + param_00 playsoundtoplayer("ui_button_error",param_00); + param_00 iprintlnbold(&"ZOMBIES_REQUIRES_LEVEL_20"); +} + +//Function Number: 80 +diaplaymaxlevelmessage(param_00) +{ + param_00 playsoundtoplayer("ui_button_error",param_00); + if(!isspecialweaponbox(self)) + { + param_00 iprintlnbold(&"ZOMBIES_MAX_LEVEL_20"); + return; + } + + param_00 iprintlnbold(&"ZOMBIES_MAX_LEVEL_25"); +} + +//Function Number: 81 +initcamolevels() +{ + var_00 = "mp/zmWeaponLevels.csv"; + level.camolevel = []; + for(var_01 = 0;var_01 <= 25;var_01++) + { + var_02 = int(tablelookup(var_00,0,var_01,1)); + level.camolevel[var_01] = var_02; + } +} + +//Function Number: 82 +wallbuydisable(param_00) +{ + if(level.nextgen) + { + param_00.weaponent hide(); + maps\mp\zombies\_util::killfxontagnetwork(common_scripts\utility::getfx("station_buy_weapon_pwr_on"),param_00.modelent,"tag_origin"); + } + + param_00 common_scripts\utility::trigger_off(); +} + +//Function Number: 83 +wallbuyenable(param_00) +{ + if(level.nextgen) + { + param_00.weaponent show(); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("station_buy_weapon_pwr_on"),param_00.modelent,"tag_origin"); + } + + param_00 common_scripts\utility::trigger_on(); + thread wallbuyrestoretriggerhintstring(param_00); +} + +//Function Number: 84 +wallbuyrestoretriggerhintstring(param_00) +{ + if(level.nextgen) + { + maps\mp\zombies\_util::setupusetriggerforclient(param_00,::wallbuyupdatehinstrings); + return; + } + + foreach(var_02 in level.players) + { + param_00 thread cg_wallbuyupdatehintstrings(var_02); + } + + thread cg_onplayerconnectedwallbuyupdatehinstrings(param_00); +} + +//Function Number: 85 +weaponlevelrestoretriggerhintstring(param_00) +{ + if(level.nextgen) + { + maps\mp\zombies\_util::setupusetriggerforclient(param_00,::weaponlevelboxupdatehintstrings); + return; + } + + foreach(var_02 in level.players) + { + param_00 thread cg_weaponlevelboxupdatehintstrings(var_02); + } + + thread cg__onplayerconnectedweaponlevelboxupdatehintstrings(param_00); +} + +//Function Number: 86 +weaponlevelboxdisable(param_00) +{ + maps\mp\zombies\_util::killfxontagnetwork(common_scripts\utility::getfx("station_upgrade_weapon_pwr_on"),param_00.modelent,"tag_origin"); + param_00 weaponlevelboxturnofflight(); + param_00 common_scripts\utility::trigger_off(); +} + +//Function Number: 87 +weaponlevelboxenable(param_00) +{ + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("station_upgrade_weapon_pwr_on"),param_00.modelent,"tag_origin"); + param_00 weaponlevelboxturnonlight(); + param_00 common_scripts\utility::trigger_on(); + thread weaponlevelrestoretriggerhintstring(param_00); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/_zombies.gsc b/AW/PC/maps/mp/zombies/_zombies.gsc new file mode 100644 index 0000000..21c54ab --- /dev/null +++ b/AW/PC/maps/mp/zombies/_zombies.gsc @@ -0,0 +1,1425 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_zombies.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 53 + * Decompile Time: 803 ms + * Timestamp: 4/22/2024 2:14:21 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + while(!isdefined(level.struct_class_names)) + { + wait(0.05); + } + + level.gibshotgunrange = 128; + level.gibexplosivedamagetypes = ["weapon_grenade","weapon_projectile","killstreak"]; + level.agent_funcs["zombie"] = level.agent_funcs["player"]; + level.agent_funcs["zombie"]["onAIConnect"] = ::maps\mp\zombies\_util::onaiconnect; + level.agent_funcs["zombie"]["on_killed"] = ::onzombiekilled; + level.agent_funcs["zombie"]["on_damaged"] = ::onzombiedamaged; + level.agent_funcs["zombie"]["on_damaged_finished"] = ::onzombiedamagefinished; + level.agent_funcs["zombie"]["spawn"] = ::maps\mp\zombies\_util::onspawnscriptagenthumanoid; + level.agent_funcs["zombie"]["think"] = ::maps\mp\zombies\_util::agentemptythink; + createthreatbiasgroup("zombies"); + maps\mp\zombies\zombie_generic::init(); + if(isdefined(level.zombiedoginit)) + { + [[ level.zombiedoginit ]](); + } + + if(isdefined(level.zombiehostinit)) + { + [[ level.zombiehostinit ]](); + } + + if(isdefined(level.zombielevelinit)) + { + [[ level.zombielevelinit ]](); + } + + if(!isdefined(level.zombies_spawners_zombie)) + { + level.zombies_spawners_zombie = []; + } + + level.zombies_spawners_zombie = common_scripts\utility::array_combine(level.zombies_spawners_zombie,common_scripts\utility::getstructarray("zombie_spawner","targetname")); + level.zombies_spawners_zombie = common_scripts\utility::array_combine(level.zombies_spawners_zombie,common_scripts\utility::getstructarray("Spawner_A","targetname")); + level thread markpathnodezombiezones(); + level thread monitorplayerzone(); + level thread monitorplayerinexploitvolume(); +} + +//Function Number: 2 +markpathnodezombiezones() +{ + var_00 = getallnodes(); + var_01 = 0; + while(var_00.size > 0) + { + var_02 = var_00[var_00.size - 1]; + if(isdefined(level.zone_data)) + { + var_03 = maps\mp\zombies\_zombies_zone_manager::getlocationzone(var_02.origin); + if(!isdefined(var_03) && maps\mp\zombies\_util::getzombieslevelnum() >= 3) + { + var_03 = maps\mp\zombies\_zombies_zone_manager::getlocationzone(var_02.origin + (1,0,0)); + if(!isdefined(var_03)) + { + var_03 = maps\mp\zombies\_zombies_zone_manager::getlocationzone(var_02.origin + (0,1,0)); + } + } + + if(isdefined(var_03)) + { + var_02.zombieszone = var_03; + } + } + + var_00[var_00.size - 1] = undefined; + var_01++; + if(var_01 % 20 == 0) + { + wait(0.05); + } + } + + level.closetpathnodescalculated = 1; +} + +//Function Number: 3 +monitorplayerzone() +{ + level endon("game_ended"); + if(!isdefined(level.zone_data)) + { + return; + } + + var_00 = 0.05; + var_01 = 0; + for(;;) + { + var_02 = 0; + foreach(var_04 in level.players) + { + if(!isalive(var_04)) + { + continue; + } + + if(var_04.sessionstate != "spectator" && var_04.sessionstate != "intermission") + { + var_05 = var_04 maps\mp\zombies\_zombies_zone_manager::getplayerzone(); + if(isdefined(var_05)) + { + var_04.currentzone = var_05; + } + else + { + var_04.currentzone = undefined; + } + + wait(var_00); + var_02 = var_02 + var_00; + } + } + + if(var_02 == 0) + { + wait(var_00); + } + } +} + +//Function Number: 4 +monitorplayerinexploitvolume() +{ + level endon("game_ended"); + if(!isdefined(level.zone_data)) + { + return; + } + + var_00 = 0.5; + var_01 = getentarray("zombie_ledge_exploit","targetname"); + var_02 = []; + foreach(var_08, var_04 in level.zone_data.zones) + { + var_02[var_08] = []; + foreach(var_06 in var_01) + { + if(var_06.script_noteworthy == var_08) + { + var_02[var_08][var_02[var_08].size] = var_06; + } + } + } + + for(;;) + { + var_09 = 0; + foreach(var_0B in level.players) + { + if(!isalive(var_0B)) + { + continue; + } + + var_0B.isinexploitspot = 0; + var_0B.validnotmoving = 0; + if(var_0B.sessionstate != "spectator" && var_0B.sessionstate != "intermission") + { + if(isdefined(var_0B.currentzone) && length(var_0B getvelocity()) < 5) + { + var_0B.validnotmoving = 1; + foreach(var_06 in var_02[var_0B.currentzone]) + { + if(var_0B istouching(var_06)) + { + var_0B.isinexploitspot = 1; + break; + } + } + } + } + + if(isdefined(level.zmpatchshovefunc)) + { + var_0B [[ level.zmpatchshovefunc ]](var_0B.isinexploitspot,var_0B.validnotmoving); + } + + wait(var_00); + var_09 = var_09 + var_00; + } + + if(var_09 == 0) + { + wait(var_00); + } + } +} + +//Function Number: 5 +spawnzombie(param_00,param_01,param_02) +{ + var_03 = maps\mp\zombies\_util::agentclassget(param_00); + if(isdefined(param_01)) + { + var_04 = param_01; + } + else + { + var_04 = getspawnpoint(param_01,isdefined(var_04.spawnparameter)); + } + + if(!isdefined(var_04)) + { + return; + } + + if(!isdefined(var_03)) + { + return; + } + + if(isdefined(var_03.isbotagent) && var_03.isbotagent) + { + var_05 = maps\mp\zombies\_util::spawnbotagent(var_04,var_03,level.enemyteam); + } + else + { + var_05 = maps\mp\zombies\_util::spawnscriptagent(var_05,var_04,level.enemyteam); + } + + if(!isdefined(var_05)) + { + return; + } + + if(!isdefined(var_03.roundhealth)) + { + var_03.roundhealth = maps\mp\gametypes\zombies::calculatezombiehealth(var_03); + } + + var_05.meleedamage = var_03.meleedamage; + var_05.maxhealth = var_03.roundhealth; + var_05.health = var_05.maxhealth; + var_05.missingbodyparts = 0; + var_05.dismember_crawl = 0; + var_05.spawner = var_04; + var_05 updatemeleechargeforcurrenthealth(); + if(isscriptedagent(var_05)) + { + if(isdefined(param_02)) + { + var_05 thread maps\mp\zombies\_util::zombie_set_eyes(param_02); + } + else + { + var_05 thread setdefaulteyes(); + } + } + + var_05 setthreatbiasgroup("zombies"); + var_05 thread domoveloopeffects(); + if(isscriptedagent(var_05)) + { + var_05 scragentsetzombietype(param_00); + } + + if(isdefined(level.onzombiespawnfuncs)) + { + foreach(var_07 in level.onzombiespawnfuncs) + { + var_05 thread [[ var_07 ]](); + } + } + + return var_05; +} + +//Function Number: 6 +updatemeleechargeforcurrenthealth() +{ + if(maps\mp\zombies\_util::isinstakill()) + { + self setmeleechargevalid(1); + self setexomeleechargevalid(1); + return; + } + + if(self.health <= level.playermeleedamage) + { + self setmeleechargevalid(1); + } + else + { + self setmeleechargevalid(0); + } + + if(self.health <= level.playerexomeleedamage) + { + self setexomeleechargevalid(1); + return; + } + + self setexomeleechargevalid(0); +} + +//Function Number: 7 +setdefaulteyes() +{ + self endon("death"); + wait(0.25); + if(!isdefined(self.eyefxactive) || !self.eyefxactive) + { + if(self.species == "dog") + { + maps\mp\zombies\_util::zombie_set_eyes("zombie_dog_eye_base"); + return; + } + + if(self.agent_type == "zombie_host") + { + maps\mp\zombies\_util::zombie_set_eyes("zombie_eye_host"); + return; + } + + var_00 = maps\mp\gametypes\zombies::geteyeeffectforzombie("vanilla",self.headmodel); + maps\mp\zombies\_util::zombie_set_eyes(var_00); + return; + } +} + +//Function Number: 8 +getspawnpoint(param_00,param_01) +{ + var_02 = maps\mp\zombies\_zombies_zone_manager::getspawnpoint(param_00,param_01); + if(isdefined(var_02)) + { + return var_02; + } + + var_02 = getproximityspawnpoint(); + if(isdefined(var_02)) + { + return var_02; + } + + return getrandomspawnpoint(); +} + +//Function Number: 9 +getproximityspawnpoint() +{ + var_00 = common_scripts\utility::array_randomize(level.players); + var_01 = 1048576; + var_02 = 262144; + var_03 = []; + foreach(var_05 in var_00) + { + if(!isalive(var_05)) + { + continue; + } + + foreach(var_07 in level.zombies_spawners_zombie) + { + var_08 = distancesquared(var_07.origin,var_05.origin); + if(var_08 < var_01 && var_08 > var_02) + { + var_03[var_03.size] = var_07; + } + } + + if(var_03.size > 0) + { + break; + } + } + + if(var_03.size > 0) + { + return common_scripts\utility::random(var_03); + } +} + +//Function Number: 10 +getrandomspawnpoint() +{ + var_00 = []; + foreach(var_02 in level.zombies_spawners_zombie) + { + if(level.zone_data.zones[var_02.zone_name].is_enabled) + { + var_00[var_00.size] = var_02; + } + } + + return common_scripts\utility::random(var_00); +} + +//Function Number: 11 +deathgibmonitor() +{ + self waittill("death",var_00,var_01,var_02); + if(!isplayer(var_00)) + { + return; + } + + var_03 = var_00 getcurrentweapon(); + var_04 = maps\mp\_utility::getweaponclass(var_03); + var_05 = distance(var_00.origin,self.origin); + if(var_05 < level.gibshotgunrange && var_04 == "weapon_shotgun") + { + deathgibs(var_00); + return; + } + + if(common_scripts\utility::array_contains(level.gibexplosivedamagetypes,var_04)) + { + deathragdoll(); + } +} + +//Function Number: 12 +deathgibs(param_00) +{ + var_01 = self.origin + (0,0,32); + playfx(common_scripts\utility::getfx("mutant_gib_death"),var_01); + earthquake(0.45,0.35,var_01,350); + if(!isdefined(param_00)) + { + return; + } + + param_00 setblurforplayer(3.25,0.1); + wait(0.1); + param_00 setblurforplayer(0,0.1); +} + +//Function Number: 13 +deathragdoll() +{ + var_00 = self.origin + (0,0,8); + self.body startragdoll(); + wait(0.1); + physicsexplosionsphere(var_00,128,0,5,0); +} + +//Function Number: 14 +deathbloodpool() +{ + self waittill("death"); + if(common_scripts\utility::cointoss()) + { + playfx(common_scripts\utility::getfx("mutant_blood_pool"),self.origin); + } +} + +//Function Number: 15 +zombieaimonitorthreads() +{ + thread monitorbadzombieai(); + thread monitorinitialtraversal(); + thread monitorstuckintraversal(); + thread zombie_speed_monitor(); +} + +//Function Number: 16 +monitorbadzombieai() +{ + self endon("death"); + level endon("game_ended"); + var_00 = gettime(); + var_01 = self.origin; + var_02 = var_00; + var_03 = 0; + var_04 = 5; + for(;;) + { + wait(var_04); + var_05 = distancesquared(self.origin,var_01); + var_06 = gettime() - var_02 / 1000; + var_07 = var_05 > 16384; + var_08 = isscriptedagent(self) && self.aistate == "melee" && isdefined(self.curmeleetarget) && distancesquared(self.curmeleetarget.origin,self.origin) < 6400; + if(var_07 || var_08) + { + var_01 = self.origin; + var_02 = gettime(); + } + else if(var_06 > 35) + { + if(var_06 > 55) + { + var_03 = 1; + break; + } + } + + if(maps\mp\zombies\_util::checkexpiretime(var_00,180,240)) + { + break; + } + } + + if(!var_03 && maps\mp\zombies\_util::is_true(level.recyclefullhealthzombies) && self.health >= self.maxhealth) + { + var_03 = 1; + } + + if(var_03 && shouldrecycle() && !maps\mp\zombies\_util::is_true(self.ignorezombierecycling)) + { + thread recyclezombie(self.agent_type); + } + + maps\mp\agents\_agent_utility::killagent(self); +} + +//Function Number: 17 +shouldrecycle() +{ + if(!isdefined(level.allowzombierecycle)) + { + return 0; + } + + return maps\mp\zombies\zombies_spawn_manager::getnumberofzombies() > 1; +} + +//Function Number: 18 +recyclezombie(param_00) +{ + if(!isdefined(level.recyclezombierequestspending)) + { + level.recyclezombierequestspending = 0; + } + + level.recyclezombierequestspending++; + while(maps\mp\agents\_agent_utility::getnumactiveagents() >= level.maxenemycount || isdefined(level.recyclingzombie)) + { + wait 0.05; + } + + level.recyclingzombie = 1; + maps\mp\zombies\zombies_spawn_manager::spawnzombietype(param_00); + wait(0.2); + level.recyclingzombie = undefined; + level.recyclezombierequestspending--; + if(level.recyclezombierequestspending < 0) + { + level.recyclezombierequestspending = 0; + } +} + +//Function Number: 19 +monitorinitialtraversal() +{ + self endon("death"); + level endon("game_ended"); +} + +//Function Number: 20 +monitorstuckintraversal() +{ + self endon("death"); + level endon("game_ended"); + self.velocity_zero_time = 0; + for(;;) + { + if(length(self getvelocity()) == 0 && self.aistate == "move") + { + self.velocity_zero_time = self.velocity_zero_time + 0.05; + } + else + { + self.velocity_zero_time = 0; + } + + if(self.velocity_zero_time > 2) + { + var_00 = undefined; + var_01 = self getnegotiationstartnode(); + if(isdefined(var_01)) + { + var_02 = distancesquared(self.origin,var_01.origin); + if(var_02 < squared(15)) + { + var_00 = var_01.origin; + } + } + + if(!isdefined(var_00) && maps\mp\zombies\_util::getzombieslevelnum() >= 3) + { + var_03 = self getpathgoalpos(); + if(isdefined(var_03) && distancesquared(self.origin,var_03) > 120) + { + var_04 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + var_05 = []; + foreach(var_07 in var_04) + { + if(var_07 != self && distancesquared(var_07.origin,self.origin) < squared(self.radius * 3)) + { + var_05[var_05.size] = var_07; + } + } + + var_09 = 0; + foreach(var_07 in var_05) + { + if(isdefined(var_07.velocity_zero_time) && var_07.velocity_zero_time > 2) + { + var_09++; + } + } + + if(var_09 >= 2) + { + var_0C = self scragentgetnodesonpath(); + if(var_0C.size > 0) + { + var_00 = var_0C[0].origin; + } + } + } + } + + if(isdefined(var_00)) + { + self setorigin(var_00,0); + } + } + + wait(0.05); + } +} + +//Function Number: 21 +onzombiekilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + if(!maps\mp\zombies\_util::isonhumanteam(self)) + { + giveburgleachievement(param_01); + giveexomeleeachievement(param_01,param_03); + giveteleportgrenadeachievement(param_01,param_04); + givegoliathmeleeachievement(param_01,param_03,param_04); + givetrickshotachievement(param_01,param_03,param_04); + maps\mp\zombies\_util::enemykilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08); + if(isdefined(level.onzombiekilledfunc)) + { + [[ level.onzombiekilledfunc ]](param_01,param_04); + } + } + + thread maps\mp\zombies\_mutators::onkilledmutators(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08); + self hudoutlinedisable(); + maps\mp\zombies\_util::onscriptagentkilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08); + spawnzombiekilledfx(self.activemutators,param_03,param_04); +} + +//Function Number: 22 +giveburgleachievement(param_00) +{ + if(!isdefined(self.distractiondrone) || !isdefined(param_00) || !isplayer(param_00)) + { + return; + } + + if(isdefined(self.distractiondrone.owner) && self.distractiondrone.owner == param_00) + { + return; + } + + if(!isdefined(param_00.stolenkills)) + { + param_00.stolenkills = 0; + } + + param_00.stolenkills++; + if(param_00.stolenkills >= 10) + { + param_00 maps\mp\gametypes\zombies::givezombieachievement("DLC1_ZOMBIE_BURGLE"); + } +} + +//Function Number: 23 +giveboostslamachievement(param_00,param_01) +{ + if(param_01 != "boost_slam_mp" || !isdefined(param_00)) + { + return; + } + + if(!isdefined(param_00.zombieslamhits) || !isdefined(param_00.lastzombieslamtime)) + { + param_00.zombieslamhits = 0; + param_00.lastzombieslamtime = 0; + } + + if(gettime() - param_00.lastzombieslamtime > 300) + { + param_00.zombieslamhits = 0; + } + + param_00.zombieslamhits++; + param_00.lastzombieslamtime = gettime(); + if(param_00.zombieslamhits >= 10) + { + param_00 maps\mp\gametypes\zombies::givezombieachievement("DLC1_ZOMBIE_COMEONANDSLAM"); + } +} + +//Function Number: 24 +giveexomeleeachievement(param_00,param_01) +{ + if(!isdefined(param_00) || param_01 != "MOD_MELEE") + { + return; + } + + if(!param_00 maps\mp\zombies\_terminals::hasexosuit()) + { + return; + } + + if(!isdefined(param_00.zombieexomeleekills)) + { + param_00.zombieexomeleekills = []; + } + + param_00.zombieexomeleekills[param_00.zombieexomeleekills.size] = gettime(); + var_02 = []; + foreach(var_04 in param_00.zombieexomeleekills) + { + var_05 = gettime() - var_04; + if(gettime() - var_04 > 30000) + { + continue; + } + + var_02[var_02.size] = var_04; + } + + param_00.zombieexomeleekills = var_02; + if(param_00.zombieexomeleekills.size == 10) + { + param_00 maps\mp\gametypes\zombies::givezombieachievement("DLC1_ZOMBIE_DOYOUEVENEXO"); + } +} + +//Function Number: 25 +giveteleportgrenadeachievement(param_00,param_01) +{ + if(!isdefined(param_00) || !isdefined(param_01) || param_01 != "teleport_zombies_mp") + { + return; + } + + if(!isdefined(param_00.teleportgrenadekills)) + { + param_00.teleportgrenadekills = 0; + } + + param_00.teleportgrenadekills++; + if(param_00.teleportgrenadekills == 50) + { + param_00 maps\mp\gametypes\zombies::givezombieachievement("DLC3_ZOMBIE_TELEFRAG"); + } +} + +//Function Number: 26 +givegoliathmeleeachievement(param_00,param_01,param_02) +{ + if(!isdefined(param_00) || !isdefined(param_02) || param_02 != "iw5_exominigunzm_mp") + { + return; + } + + if(!isdefined(param_01) || param_01 != "MOD_MELEE_ALT") + { + return; + } + + if(!isdefined(param_00.goliathmeleekills)) + { + param_00.goliathmeleekills = 0; + } + + param_00.goliathmeleekills++; + if(param_00.goliathmeleekills == 20) + { + param_00 maps\mp\gametypes\zombies::givezombieachievement("DLC4_ZOMBIE_REALSTEEL"); + } +} + +//Function Number: 27 +givetrickshotachievement(param_00,param_01,param_02) +{ + if(!isdefined(param_00) || !isplayer(param_00) || !isdefined(param_02)) + { + return; + } + + var_03 = getweaponbasename(param_02); + if(var_03 != "iw5_tridentzm_mp") + { + return; + } + + if(isdefined(param_01) && param_01 == "MOD_MELEE") + { + return; + } + + var_04 = self.origin; + var_05 = param_00.origin; + var_06 = vectornormalize(var_04 - var_05); + var_07 = anglestoforward(param_00 getplayerangles()); + if(vectordot(var_06,var_07) >= 0) + { + return; + } + + if(!isdefined(param_00.trickshotkills)) + { + param_00.trickshotkills = 0; + } + + param_00.trickshotkills++; + if(param_00.trickshotkills == 100) + { + param_00 maps\mp\gametypes\zombies::givezombieachievement("DLC4_ZOMBIE_TRICKSHOT"); + } +} + +//Function Number: 28 +spawnzombiekilledfx(param_00,param_01,param_02) +{ + if(!isdefined(self.body)) + { + return; + } + + if(isdefined(level.spawnzombiekilledfxfunc)) + { + var_03 = self [[ level.spawnzombiekilledfxfunc ]](param_01,param_02); + if(var_03) + { + return; + } + } + + var_04 = self.recentlylostlimbs; + if(!isdefined(var_04)) + { + return; + } + + if(maps\mp\zombies\_util::countlimbs(var_04) >= 3) + { + thread spawncorpsefullbodygib(param_00); + return; + } + + while(var_04 > 0) + { + var_05 = var_04 & 0 - var_04; + thread spawncorpsebleedingfx(var_05,param_00); + var_04 = var_04 - var_05; + } +} + +//Function Number: 29 +spawncorpsebleedingfx(param_00,param_01) +{ + var_02 = level.dismemberment[param_00]["torsoFX"]; + if(isdefined(param_01)) + { + if(isdefined(param_01["emz"])) + { + var_02 = var_02 + "_emz"; + } + else if(isdefined(param_01["exploder"])) + { + var_02 = var_02 + "_exp"; + } + else if(isdefined(param_01["fast"])) + { + var_02 = var_02 + "_ovr"; + } + } + + playfxontag(common_scripts\utility::getfx(var_02),self.body,level.dismemberment[param_00]["fxTagName"]); + wait(10); + if(isdefined(self.body)) + { + stopfxontag(common_scripts\utility::getfx(var_02),self.body,level.dismemberment[param_00]["fxTagName"]); + } +} + +//Function Number: 30 +spawncorpsefullbodygib(param_00) +{ + var_01 = 3; + if(isdefined(level.splitscreen) && level.splitscreen) + { + var_01 = 1; + } + + var_02 = level.fullbodygibcounter < var_01; + if(var_02) + { + level.fullbodygibcounter++; + var_03 = common_scripts\utility::getfx("gib_full_body"); + } + else + { + var_03 = common_scripts\utility::getfx("gib_full_body_cheap"); + } + + if(isdefined(param_00)) + { + if(isdefined(param_00["emz"])) + { + var_03 = common_scripts\utility::getfx("gib_full_body_emz"); + } + else if(isdefined(param_00["exploder"])) + { + var_03 = common_scripts\utility::getfx("gib_full_body_exp"); + } + else if(isdefined(param_00["fast"])) + { + var_03 = common_scripts\utility::getfx("gib_full_body_ovr"); + } + } + + var_04 = level.dismemberment["full"]["fxTagName"]; + playfxontag(var_03,self.body,var_04); + var_05 = maps\mp\zombies\_util::getdismembersoundname(); + self.body playsoundonmovingent(level.dismemberment["full"][var_05]); + wait(3); + if(isdefined(self.body)) + { + stopfxontag(var_03,self.body,var_04); + } + + if(var_02) + { + level.fullbodygibcounter--; + } +} + +//Function Number: 31 +onzombiedamaged(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ + maps\mp\agents\_agents::on_agent_generic_damaged(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09); +} + +//Function Number: 32 +cantrymutilate(param_00,param_01) +{ + return !maps\mp\zombies\_util::iszombiednagrenade(param_00) && !maps\mp\zombies\_util::zombiewaitingfordeath() && param_01 != "MOD_FALLING" && param_00 != "repulsor_zombie_mp" && param_00 != "zombie_water_trap_mp" && param_00 != "zombie_vaporize_mp" && !param_00 == "iw5_exominigunzm_mp" && param_01 == "MOD_MELEE_ALT" && !maps\mp\zombies\_util::is_true(self.skipmutilate); +} + +//Function Number: 33 +onzombiedamagefinished(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ + var_0A = self.health; + var_0B = 0; + var_0C = cantrymutilate(param_05,param_04); + if(var_0C) + { + if(self.health > 0) + { + var_0D = clamp(param_02 / self.health,0,1); + } + else + { + var_0D = 1; + } + + var_0B = maps\mp\zombies\_mutators::trymutilate(param_08,param_05,param_04,var_0D,param_01,param_07); + if(var_0B && isdefined(param_01)) + { + param_02 = self.health + 1; + } + } + + if(isdefined(param_01) && isplayer(param_01) && !isdefined(self.favoriteenemy)) + { + var_0E = self.aistate != "melee"; + var_0F = isdefined(self.curmeleetarget) && self.curmeleetarget == param_01; + var_10 = isdefined(self.curmeleetarget) && !isplayer(self.curmeleetarget); + if(var_0E || var_0F || var_10) + { + if(distancesquared(self.origin,param_01.origin) <= self.damagedradiussq) + { + maps\mp\agents\humanoid\_humanoid_util::setfavoriteenemy(param_01); + thread maps\mp\agents\humanoid\_humanoid::watchfavoriteenemydeath(); + } + } + } + + thread maps\mp\zombies\_mutators::ondamagefinishedmutators(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09); + giveboostslamachievement(param_01,param_05); + if(!maps\mp\zombies\_util::candie() && self.health - param_02 <= 0) + { + thread maps\mp\zombies\_util::zombiependingdeath(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09); + param_02 = int(max(0,self.health - 1)); + } + + if(self.species == "dog") + { + self [[ level.zombiedogondamage ]](param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09); + } + else + { + ondamagepainsensor(param_02,param_04,param_05); + maps\mp\agents\humanoid\_humanoid::ondamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09); + } + + maps\mp\zombies\_zombies_audio::do_zombies_playvocals("pain",self.agent_type); + level notify("zombie_damaged",self,param_01); + maps\mp\agents\_agents::agent_damage_finished(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09); + if(isalive(self)) + { + if(var_0B && !maps\mp\zombies\_util::ispendingdeath()) + { + self suicide(); + return; + } + + updatemeleechargeforcurrenthealth(); + } +} + +//Function Number: 34 +zombie_speed_monitor() +{ + self endon("death"); + level.zombie_move_modes = ["walk","run","sprint"]; + if(isdefined(level.wavecycleoverride)) + { + var_00 = level.wavecycleoverride; + } + else + { + var_00 = 7; + } + + if(!isdefined(level.moveratescalemod)) + { + level.moveratescalemod["walk"][0] = 0.65; + level.moveratescalemod["walk"][1] = 1.5; + level.moveratescalemod["run"][0] = 0.7; + level.moveratescalemod["run"][1] = 1.25; + level.moveratescalemod["sprint"][0] = 0.8; + level.moveratescalemod["sprint"][1] = 0.9; + } + + if(!isdefined(level.nonmoveratescalemod)) + { + level.nonmoveratescalemod["walk"] = 0.9; + level.nonmoveratescalemod["run"] = 1; + level.nonmoveratescalemod["sprint"] = 1.1; + } + + if(!isdefined(level.traverseratescalemod)) + { + level.traverseratescalemod[0] = 0.55; + level.traverseratescalemod[1] = 1.55; + } + + if(!isdefined(level.zombiesharpturndist)) + { + level.zombiesharpturndist["walk"] = 100; + level.zombiesharpturndist["run"] = 130; + level.zombiesharpturndist["sprint"] = 130; + } + + for(;;) + { + if(maps\mp\agents\_scripted_agent_anim_util::isstatelocked() || self.aistate == "traverse") + { + wait(0.05); + continue; + } + + if(isdefined(level.movemodefunc[self.agent_type])) + { + self.movemode = [[ level.movemodefunc[self.agent_type] ]](); + } + else + { + self.movemode = calulatezombiemovemode(var_00); + } + + self.sharpturnnotifydist = level.zombiesharpturndist[self.movemode]; + if(isdefined(level.moveratescalefunc[self.agent_type])) + { + self.moveratescale = [[ level.moveratescalefunc[self.agent_type] ]](); + } + else + { + self.moveratescale = calculatezombiemoveratescale(var_00,level.moveratescalemod[self.movemode][0],level.moveratescalemod[self.movemode][1]); + } + + if(isdefined(level.nonmoveratescalefunc[self.agent_type])) + { + self.nonmoveratescale = [[ level.nonmoveratescalefunc[self.agent_type] ]](); + } + else + { + self.nonmoveratescale = calculatezombienonmoveratescale(self.movemode); + } + + if(isdefined(level.traverseratescalefunc[self.agent_type])) + { + self.traverseratescale = [[ level.traverseratescalefunc[self.agent_type] ]](); + } + else + { + self.traverseratescale = calculatezombietraverseratescale(var_00,level.traverseratescalemod[0],level.traverseratescalemod[1]); + } + + self.generalspeedratescale = self.traverseratescale; + if(maps\mp\agents\humanoid\_humanoid_util::iscrawling()) + { + self.sharpturnnotifydist = 100; + self.moveratescale = self.generalspeedratescale; + } + + common_scripts\utility::waittill_any_timeout(1,"speed_debuffs_changed"); + } +} + +//Function Number: 35 +calulatezombiemovemode(param_00) +{ + var_01 = calculatezombieroundindex(param_00); + var_02 = int(var_01 / param_00); + return level.zombie_move_modes[int(clamp(var_02,0,level.zombie_move_modes.size - 1))]; +} + +//Function Number: 36 +calculatezombiemoveratescale(param_00,param_01,param_02) +{ + var_03 = calculatezombieroundindex(param_00); + var_04 = var_03 % param_00; + var_05 = float(var_04) / float(param_00 - 1); + var_06 = maps\mp\zombies\_util::lerp(var_05,param_01,param_02); + if(level.wavecounter > 24) + { + var_06 = var_06 + 0.05; + } + + if(level.wavecounter > 29) + { + var_06 = var_06 + 0.05; + } + + var_06 = var_06 * getbuffspeedmultiplier(); + return var_06; +} + +//Function Number: 37 +calculatezombienonmoveratescale(param_00) +{ + var_01 = level.nonmoveratescalemod[param_00]; + var_01 = var_01 * getbuffspeedmultiplier(); + return var_01; +} + +//Function Number: 38 +calculatezombietraverseratescale(param_00,param_01,param_02) +{ + var_03 = calculatezombieroundindex(param_00); + var_04 = var_03 / level.zombie_move_modes.size * param_00 - 1; + var_05 = maps\mp\zombies\_util::lerp(var_04,param_01,param_02); + if(level.wavecounter > 24) + { + var_05 = var_05 + 0.05; + } + + if(level.wavecounter > 29) + { + var_05 = var_05 + 0.05; + } + + var_05 = var_05 * getbuffspeedmultiplier(); + return var_05; +} + +//Function Number: 39 +calculatezombieroundindex(param_00) +{ + var_01 = level.wavecounter - 1; + if(isdefined(self.moverateroundmod)) + { + var_01 = var_01 + self.moverateroundmod; + } + + var_01 = int(clamp(var_01,0,level.zombie_move_modes.size * param_00 - 1)); + return var_01; +} + +//Function Number: 40 +domoveloopeffects() +{ + self endon("death"); + for(;;) + { + self waittill("move_loop",var_00); + switch(var_00) + { + case "fx_blood": + crawlingfx("J_MainRoot","gib_bloodpool"); + break; + + case "fx_dust": + crawlingfx("J_MainRoot","crawl_dust"); + break; + } + } +} + +//Function Number: 41 +crawlingfx(param_00,param_01) +{ + var_02 = self gettagorigin(param_00); + var_03 = self gettagangles(param_00); + playfx(common_scripts\utility::getfx(param_01),var_02,anglestoforward(var_03),(0,0,1)); +} + +//Function Number: 42 +addbuff(param_00,param_01) +{ + self.buffs[param_00] = param_01; +} + +//Function Number: 43 +getbuff(param_00) +{ + if(!isdefined(self.buffs) || !isdefined(self.buffs[param_00])) + { + return undefined; + } + + return self.buffs[param_00]; +} + +//Function Number: 44 +updatebuff(param_00) +{ + if(!isdefined(param_00.buffupdate)) + { + return; + } + + self [[ param_00.buffupdate ]](param_00); +} + +//Function Number: 45 +removebuff(param_00) +{ + if(!isdefined(param_00.buffremove)) + { + return; + } + + self [[ param_00.buffremove ]](param_00); +} + +//Function Number: 46 +getbufftimestep() +{ + return 0.1; +} + +//Function Number: 47 +updatebuffs() +{ + self notify("updateBuffs"); + self endon("updateBuffs"); + self endon("death"); + var_00 = getbufftimestep(); + var_01 = 0; + for(;;) + { + wait(var_00); + if(!isdefined(self.buffs)) + { + continue; + } + + foreach(var_04, var_03 in self.buffs) + { + updatebuff(var_03); + var_03.lifespan = var_03.lifespan - var_00; + if(var_03.lifespan < 0) + { + removebuff(var_03); + self.buffs[var_04] = undefined; + } + } + + self.buffs = maps\mp\zombies\_util::arrayremoveundefinedkeephash(self.buffs); + } +} + +//Function Number: 48 +getbuffspeedmultiplier() +{ + var_00 = 1; + if(!isdefined(self.buffs)) + { + return var_00; + } + + foreach(var_02 in self.buffs) + { + if(!isdefined(var_02.speedmultiplier)) + { + continue; + } + + var_00 = var_00 * var_02.speedmultiplier; + } + + return var_00; +} + +//Function Number: 49 +updatepainsensor() +{ + self notify("updatePainSensor"); + self endon("updatePainSensor"); + self endon("death"); + self.painsensor = spawnstruct(); + self.painsensor.lastpaintime = gettime(); + self.painsensor.damage = 0; + var_00 = 0.05; + var_01 = 5 * var_00; + for(;;) + { + wait(var_00); + if(gettime() > self.painsensor.lastpaintime + 2000) + { + self.painsensor.damage = self.painsensor.damage - var_01; + } + + self.painsensor.damage = max(self.painsensor.damage,0); + if(isplayinghitreaction()) + { + self.painsensor.damage = 0; + } + } +} + +//Function Number: 50 +ondamagepainsensor(param_00,param_01,param_02) +{ + if(isdefined(self.ondamagepainsensorfunc)) + { + [[ self.ondamagepainsensorfunc ]](param_00,param_01,param_02); + } + + if(isdefined(param_02) && param_02 == "dna_aoe_grenade_zombie_mp" || param_02 == "trap_zm_mp") + { + return; + } + + self.painsensor.lastpaintime = gettime(); + self.painsensor.damage = self.painsensor.damage + param_00; +} + +//Function Number: 51 +gethitreactiondamagethreshold() +{ + if(isdefined(self.gethitreactiondamagethresholdfunc)) + { + return [[ self.gethitreactiondamagethresholdfunc ]](); + } + + var_00 = clamp(level.wavecounter / 15,0,1); + var_01 = maps\mp\zombies\_util::lerp(1 - var_00,0.1,0.5); + return var_01 * self.maxhealth; +} + +//Function Number: 52 +shouldplayhitreactionpainsensor() +{ + if(!isdefined(self.painsensor)) + { + return 1; + } + + if(self.painsensor.damage > gethitreactiondamagethreshold()) + { + return 1; + } + + return 0; +} + +//Function Number: 53 +isplayinghitreaction() +{ + if(isdefined(self.inpainmoving) && self.inpainmoving) + { + return 1; + } + + if(isdefined(self.inpain) && self.inpain) + { + return 1; + } + + return 0; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/_zombies_audio.gsc b/AW/PC/maps/mp/zombies/_zombies_audio.gsc new file mode 100644 index 0000000..d26ecdb --- /dev/null +++ b/AW/PC/maps/mp/zombies/_zombies_audio.gsc @@ -0,0 +1,2463 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_zombies_audio.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 97 + * Decompile Time: 1471 ms + * Timestamp: 4/22/2024 2:14:25 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level zmbvox(); + level maps\mp\zombies\_zombies_audio_announcer::initannouncer(); + level thread maps\mp\zombies\_zombies_music::init(); + if(isdefined(level._zmbvoxlevelspecific)) + { + level thread [[ level._zmbvoxlevelspecific ]](); + } + + if(isdefined(level._zmbvoxgametypespecific)) + { + level thread [[ level._zmbvoxgametypespecific ]](); + } + + if(!isdefined(level.zmbsoundlengthpath)) + { + level.zmbsoundlengthpath = "mp/sound/soundlength_zm_mp.csv"; + } + + level.zmbglobalpriorityvoonly = 0; +} + +//Function Number: 2 +zmbvox() +{ + level.vox = zmbvoxcreate(); + level.vox zmbvoxadd("player","general","intro","rnd_wave1",undefined); + level.vox zmbvoxadd("player","general","wave1","wave1",undefined); + level.vox zmbvoxadd("player","general","wave2","wave2",undefined,30); + level.vox zmbvoxadd("player","general","wave_early","wave_early",undefined); + level.vox zmbvoxadd("player","general","wave_start","wave_start",undefined,30); + level.vox zmbvoxadd("player","general","wave_end","wave_end",undefined,30); + level.vox zmbvoxadd("player","general","weapon_reminder","weapon_reminder",undefined); + level.vox zmbvoxadd("player","general","dog_round","dog_round",undefined,50); + level.vox zmbvoxadd("player","general","host_round","host_round",undefined,50); + level.vox zmbvoxadd("player","general","crawl_spawn","turn_crawler","resp_crawler_start",10); + level.vox zmbvoxadd("player","general","resp_crawler_start","crawler",undefined); + level.vox zmbvoxadd("player","general","host_damaged","player_attk_host",undefined,10); + level.vox zmbvoxadd("player","general","resp_crawler_start","crawler",undefined); + level.vox zmbvoxadd("player","general","ammo_low","lowammo",undefined); + level.vox zmbvoxadd("player","general","ammo_out","out_of_ammo",undefined); + level.vox zmbvoxadd("player","general","exo_upgrade_no_suit","exo_upgrade_no_suit",undefined); + level.vox zmbvoxadd("player","general","exo_upgrade_no_cash","exo_upgrade_no_cash",undefined); + level.vox zmbvoxadd("player","general","exo_suit_no_cash","exo_suit_no_cash",undefined); + level.vox zmbvoxadd("player","general","printer_moved","printer_moved",undefined); + level.vox zmbvoxadd("player","general","found_printer","disc_prntr",undefined,30); + level.vox zmbvoxadd("player","general","shoot_arm","dismemb",undefined,7); + level.vox zmbvoxadd("player","general","oh_shit","zom_short_range","resp_surrounded",25); + level.vox zmbvoxadd("player","general","resp_surrounded","surround",undefined); + level.vox zmbvoxadd("player","general","power_on","power_on",undefined,75); + level.vox zmbvoxadd("player","general","power_off","power_off",undefined,50); + level.vox zmbvoxadd("player","general","wpn_no_cash","wpn_no_cash",undefined); + level.vox zmbvoxadd("player","general","printer_no_cash","printer_no_cash",undefined); + level.vox zmbvoxadd("player","general","reloading","wpn_reload",undefined,30); + level.vox zmbvoxadd("player","general","thanks","thanks",undefined); + level.vox zmbvoxadd("player","general","revive_down","laststand",undefined); + level.vox zmbvoxadd("player","general","revive_up","revived","resp_revive"); + level.vox zmbvoxadd("player","general","resp_revive","revive",undefined,30); + level.vox zmbvoxadd("player","general","crawl_hit","attk_crawler",undefined); + level.vox zmbvoxadd("player","general","host_hit","host_attk_player",undefined,20); + level.vox zmbvoxadd("player","general","infected","host_infect_player",undefined); + level.vox zmbvoxadd("player","general","emp","emz_offline",undefined,25); + level.vox zmbvoxadd("player","general","cured","player_clean_station",undefined,30); + level.vox zmbvoxadd("player","general","dog_hit","dog_attk_player","resp_dog_hit",25); + level.vox zmbvoxadd("player","general","resp_dog_hit","dog",undefined); + level.vox zmbvoxadd("player","general","laser_traps","laser_traps",undefined); + level.vox zmbvoxadd("player","general","bonus_line_over","bonus_line1",undefined,5); + level.vox zmbvoxadd("player","general","bonus_line_not_over","bonus_line2",undefined,5); + level.vox zmbvoxadd("player","general","round_5","rd05",undefined); + level.vox zmbvoxadd("player","general","round_10","rd10",undefined); + level.vox zmbvoxadd("player","general","round_20","rd20",undefined); + level.vox zmbvoxadd("player","general","round_35","rd35",undefined); + level.vox zmbvoxadd("player","general","round_50","rd50",undefined); + level.vox zmbvoxadd("player","general","orbital_drop_pre","orbital_drop_pre",undefined); + level.vox zmbvoxadd("player","general","orbital_drop_react","orbital_drop_react",undefined); + level.vox zmbvoxadd("player","general","orbital_drop_1st_get","orbital_drop_1st_get",undefined); + level.vox zmbvoxadd("player","general","ss_crate_capture","ss_grab_ocp",undefined); + level.vox zmbvoxadd("player","general","ss_money","ss_bonus_ocp",undefined); + level.vox zmbvoxadd("player","general","ss_shield","ss_invinc",undefined); + level.vox zmbvoxadd("player","general","ss_use_assault_drone","ss_assault_drone",undefined); + level.vox zmbvoxadd("player","general","ss_use_turret","ss_turret",undefined); + level.vox zmbvoxadd("player","general","ss_zom_destroy_turret","ss_zom_destroy_turret",undefined); + level.vox zmbvoxadd("player","perk","exo_suit","exo_suit",undefined); + level.vox zmbvoxadd("player","perk","exo_health","exo_health",undefined); + level.vox zmbvoxadd("player","perk","exo_slam","exo_slam",undefined); + level.vox zmbvoxadd("player","perk","exo_revive","exo_stim",undefined); + level.vox zmbvoxadd("player","perk","exo_stabilizer","exo_stabilizer",undefined); + level.vox zmbvoxadd("player","perk","specialty_fastreload","exo_speed",undefined); + level.vox zmbvoxadd("player","perk","exo_upgrade_no_suit","exo_upgrade_no_suit",undefined); + level.vox zmbvoxadd("player","perk","exo_upgrade_no_cash","exo_upgrade_no_cash",undefined); + level.vox zmbvoxadd("player","perk","exo_suit_no_cash","exo_suit_no_cash",undefined); + level.vox zmbvoxadd("player","perk","weapon_upgrade","wpn_upgrade",undefined,40); + level.vox zmbvoxadd("player","perk","weapon_upgrade_max","wpn_maxupgrd",undefined); + level.vox zmbvoxadd("player","powerup","apocalypse","apocalypse",undefined); + level.vox zmbvoxadd("player","powerup","insta_kill","instakill_pckup",undefined); + level.vox zmbvoxadd("player","powerup","max_ammo","max_ammo",undefined); + level.vox zmbvoxadd("player","powerup","2x_pts","2x_pts",undefined); + level.vox zmbvoxadd("player","powerup","pow_surge","pow_surge",undefined); + level.vox zmbvoxadd("player","powerup","traps","traps_pckup",undefined); + level.vox zmbvoxadd("player","kill","melee","kill_w_melee",undefined,5); + level.vox zmbvoxadd("player","kill","melee_instakill","melee_instakill",undefined,20); + level.vox zmbvoxadd("player","kill","closekill","closekill",undefined,15); + level.vox zmbvoxadd("player","kill","damage","close_dmg",undefined,15); + level.vox zmbvoxadd("player","kill","streak","killstreak",undefined); + level.vox zmbvoxadd("player","kill","headshot","headshot_dist","resp_kill_headshot",15); + level.vox zmbvoxadd("player","kill","resp_kill_headshot","headshot",undefined); + level.vox zmbvoxadd("player","kill","explosive","exp_kills",undefined,15); + level.vox zmbvoxadd("player","kill","fusion_rifle","spec_weapon",undefined,7); + level.vox zmbvoxadd("player","kill","bullet","kill_w_bullets",undefined,1); + level.vox zmbvoxadd("player","kill","distract_drone","distract_drone_kill",undefined,15); + level.vox zmbvoxadd("player","kill","nano_swarm","dna_bomb_kill",undefined,15); + level.vox zmbvoxadd("player","kill","crawler","kill_crawler",undefined,15); + level.vox zmbvoxadd("player","kill","host","player_kill_host",undefined,20); + level.vox zmbvoxadd("player","kill","dog","kill_dog",undefined,20); + level.vox zmbvoxadd("player","weapon_pickup","explosive_drone_zombie_mp","explosive_drone",undefined); + level.vox zmbvoxadd("player","weapon_pickup","explosive_drone_throw_zombie_mp","explosive_drone",undefined); + level.vox zmbvoxadd("player","weapon_pickup","contact_grenade_zombies_mp","contact_grenade",undefined); + level.vox zmbvoxadd("player","weapon_pickup","contact_grenade_throw_zombies_mp","contact_grenade",undefined); + level.vox zmbvoxadd("player","weapon_pickup","iw5_fusionzm_mp","laser_shotgun","resp_weapon_fav"); + level.vox zmbvoxadd("player","weapon_pickup","distraction_drone_zombie_mp","distract_drone",undefined); + level.vox zmbvoxadd("player","weapon_pickup","distraction_drone_throw_zombie_mp","distract_drone",undefined); + level.vox zmbvoxadd("player","weapon_pickup","dna_aoe_grenade_zombie_mp","dna_bomb",undefined); + level.vox zmbvoxadd("player","weapon_pickup","dna_aoe_grenade_throw_zombie_mp","dna_bomb",undefined); + level.vox zmbvoxadd("player","weapon_pickup","favorite","fav_wallweapon",undefined); + level.vox zmbvoxadd("player","weapon_pickup","resp_weapon_fav","special_wpn",undefined); + level.vox zmbvoxadd("player","weapon_pickup","bad_weapon","wpnpickup_bad",undefined,30); + level.vox zmbvoxadd("player","weapon_pickup","generic","wpnpickup_gen",undefined,40); + level.vox zmbvoxadd("player","exert","pain0","pain_grunt_low",undefined); + level.vox zmbvoxadd("player","exert","pain1","pain_grunt_med",undefined); + level.vox zmbvoxadd("player","exert","pain2","pain_grunt_high",undefined); + level.vox zmbvoxadd("player","exert","death0","death_grunt_low",undefined); + level.vox zmbvoxadd("player","exert","death1","death_grunt_med",undefined); + level.vox zmbvoxadd("player","exert","death2","death_grunt_high",undefined); + level.vox zmbvoxadd("player","exert","grunt","exertion_grunt",undefined); + level.vox zmbvoxadd("player","exert","punch","punch",undefined,30); + level.vox zmbvoxadd("player","exert","cough","cough",undefined,70); + level.vox zmbvoxadd("player","exert","laugh","laugh",undefined,70); + level.vox zmbvoxadd("player","exert","scream","scream",undefined); + level.vox zmbvoxadd("player","exert","sigh","sigh",undefined); + level.vox zmbvoxadd("player","movement","first_jump","exo_first_jump",undefined); + level.vox zmbvoxadd("player","movement","hit_head","exo_headbump",undefined); + level.vox zmbvoxadd("player","monologue","slide_chute","slide_chute",undefined,30); + level.vox zmbvoxadd("player","an_conv","an_conv_1b","an_conv_1b","an_conv,an_conv_1c"); + level.vox zmbvoxadd("player","an_conv","an_conv_1d","an_conv_1d",undefined); + level.vox zmbvoxadd("player","an_conv","an_conv_2","an_conv_2a","an_conv,an_conv_2b"); + level.vox zmbvoxadd("player","an_conv","an_conv_3","an_conv_3a","an_conv,an_conv_3b"); + level.vox zmbvoxadd("player","an_conv","an_conv_4","an_conv_4a","an_conv,an_conv_4b"); + level.vox zmbvoxadd("player","an_conv","an_conv_4c","an_conv_4c","an_conv,an_conv_4d"); + level.vox zmbvoxadd("player","an_conv","an_conv_5","an_conv_5a","an_conv,an_conv_5b"); + level.vox zmbvoxadd("player","an_conv","an_conv_5c","an_conv_5c","an_conv,an_conv_5d"); + level.vox zmbvoxadd("player","an_conv","an_conv_6b","an_conv_6b","an_conv,an_conv_6c"); + level.vox zmbvoxadd("player","an_conv","an_conv_6d","an_conv_6d",undefined); + level.vox zmbvoxadd("player","an_conv","an_conv_7","an_conv_7a","an_conv,an_conv_7b"); + level.vox zmbvoxadd("player","an_conv","an_conv_7c","an_conv_7c","an_conv,an_conv_7d"); + level.vox zmbvoxadd("player","an_conv","an_conv_9b","an_conv_9b","an_conv,an_conv_9c"); + level.vox zmbvoxadd("player","an_conv","an_conv_11b","an_conv_11b",undefined); + level.zmb_vox = []; + level.zmb_vox["prefix"] = "zmb_"; + level.zmb_vox["zombie_generic"] = []; + level.zmb_vox["zombie_generic"]["idle_low"] = "gen_idle_low"; + level.zmb_vox["zombie_generic"]["idle_high"] = "gen_idle_high"; + level.zmb_vox["zombie_generic"]["move"] = "gen_scream"; + level.zmb_vox["zombie_generic"]["attack"] = "gen_scream"; + level.zmb_vox["zombie_generic"]["spawn"] = "gen_spawn"; + level.zmb_vox["zombie_generic"]["taunt"] = "gen_scream"; + level.zmb_vox["zombie_generic"]["behind"] = "gen_behind"; + level.zmb_vox["zombie_generic"]["pain"] = "gen_pain"; + level.zmb_vox["zombie_dog"] = []; + level.zmb_vox["zombie_dog"]["idle"] = "dog_idle"; + level.zmb_vox["zombie_dog"]["attack"] = "dog_bite"; + level.zmb_vox["zombie_dog"]["spawn"] = "dog_spawn"; + level.zmb_vox["zombie_dog"]["behind"] = "dog_behind"; + level.zmb_vox["zombie_dog"]["pain"] = "dog_pain"; + level.zmb_vox["zombie_host"] = []; + level.zmb_vox["zombie_host"]["idle_low"] = "hst_scream"; + level.zmb_vox["zombie_host"]["idle_high"] = "hst_scream"; + level.zmb_vox["zombie_host"]["move"] = "hst_scream"; + level.zmb_vox["zombie_host"]["attack"] = "hst_attack_scream"; + level.zmb_vox["zombie_host"]["spawn"] = "hst_scream"; + level.zmb_vox["zombie_host"]["taunt"] = "hst_scream"; + level.zmb_vox["zombie_host"]["behind"] = "hst_behind"; + level.zmb_vox["zombie_host"]["pain"] = "hst_scream"; + if(maps\mp\zombies\_util::getzombieslevelnum() > 2) + { + level.zmb_vox["zombie_melee_goliath"] = []; + level.zmb_vox["zombie_melee_goliath"]["idle_low"] = "gol_idle"; + level.zmb_vox["zombie_melee_goliath"]["idle_high"] = "gol_scream"; + level.zmb_vox["zombie_melee_goliath"]["move"] = "gol_scream"; + level.zmb_vox["zombie_melee_goliath"]["attack"] = "gol_scream"; + level.zmb_vox["zombie_melee_goliath"]["spawn"] = "gol_scream"; + level.zmb_vox["zombie_melee_goliath"]["taunt"] = "gol_scream"; + level.zmb_vox["zombie_melee_goliath"]["behind"] = "gol_scream"; + level.zmb_vox["zombie_melee_goliath"]["pain"] = "gol_pain"; + level.zmb_vox["zombie_ranged_goliath"] = []; + level.zmb_vox["zombie_ranged_goliath"]["idle_low"] = "gol_idle"; + level.zmb_vox["zombie_ranged_goliath"]["idle_high"] = "gol_scream"; + level.zmb_vox["zombie_ranged_goliath"]["move"] = "gol_scream"; + level.zmb_vox["zombie_ranged_goliath"]["attack"] = "gol_scream"; + level.zmb_vox["zombie_ranged_goliath"]["spawn"] = "gol_scream"; + level.zmb_vox["zombie_ranged_goliath"]["taunt"] = "gol_scream"; + level.zmb_vox["zombie_ranged_goliath"]["behind"] = "gol_scream"; + level.zmb_vox["zombie_ranged_goliath"]["pain"] = "gol_pain"; + } +} + +//Function Number: 3 +volength(param_00,param_01) +{ + var_02 = tablelookup(level.zmbsoundlengthpath,0,param_00,1); + if(!isdefined(var_02) || var_02 == "") + { + if(isdefined(param_01) && param_01 == "exert") + { + return 0.5; + } + else if(isdefined(param_01) && param_01 == "conversation" || param_01 == "an_conv") + { + return 3; + } + else + { + return 2; + } + } + + var_02 = int(var_02); + var_02 = var_02 * 0.001; + return var_02; +} + +//Function Number: 4 +init_audio_functions() +{ + thread zombie_behind_vox(); + thread player_killstreak_init(); + thread oh_shit_vox(); + thread player_track_ammo_count(); + thread player_zone_tracking(); + thread player_movement_tracking(); + thread player_track_reload(); + thread player_track_punching(); +} + +//Function Number: 5 +player_track_punching() +{ + for(;;) + { + self waittill("melee_fired"); + var_00 = playerexert("punch"); + if(var_00) + { + wait(5); + } + } +} + +//Function Number: 6 +player_track_reload() +{ + self endon("disconnect"); + for(;;) + { + if(self isreloading()) + { + create_and_play_dialog("general","reloading"); + wait(30); + } + + wait 0.05; + } +} + +//Function Number: 7 +player_movement_tracking() +{ + self endon("disconnect"); + var_00 = 0; + var_01 = 0; + var_02 = 1; + for(;;) + { + if(var_00 && var_01) + { + return; + } + + if(!var_00 && maps\mp\zombies\_util::is_true(self.exosuitonline) && self ishighjumping()) + { + wait(0.2); + if(isalive(self) && !maps\mp\zombies\_util::isplayerinlaststand(self)) + { + var_00 = create_and_play_dialog("movement","first_jump"); + } + } + else if(!var_01 && maps\mp\zombies\_util::is_true(self.exosuitonline) && self ishighjumping() && self getvelocity()[2] >= 0) + { + var_03 = self geteye(); + var_04 = var_03 + (0,0,30); + var_05 = bullettrace(var_03,var_04,0,self); + if(var_05["fraction"] < 1) + { + var_01 = create_and_play_dialog("movement","hit_head"); + } + } + + wait 0.05; + } +} + +//Function Number: 8 +player_zone_tracking() +{ + self endon("disconnect"); + self waittill("spawned_player"); + var_00 = undefined; + while(!isdefined(level.zone_data)) + { + wait(0.05); + } + + if(isdefined(level.zmbaudiozonetrackingdelay)) + { + wait(level.zmbaudiozonetrackingdelay); + } + + for(;;) + { + var_01 = maps\mp\zombies\_zombies_zone_manager::getcurrentplayeroccupiedzonestructs(); + if(var_01.size > 0) + { + var_02 = var_01[0]; + if(!isdefined(var_00)) + { + var_00 = var_02; + wait(1); + continue; + } + else if(var_00 != var_02) + { + if(isdefined(var_02.power_switch) && !common_scripts\utility::flag(var_02.power_switch.script_flag) && !isdefined(var_02.nextpoweroffvotime) || gettime() > var_02.nextpoweroffvotime) + { + var_00 = var_02; + thread playerpoweroffvo(); + var_00.nextpoweroffvotime = gettime() + 30000; + wait(15); + } + } + } + + wait(1); + } +} + +//Function Number: 9 +zombie_behind_vox() +{ + self endon("disconnect"); + if(!isdefined(level._zbv_vox_last_update_time)) + { + level._zbv_vox_last_update_time = 0; + level._audio_zbv_shared_ent_list = maps\mp\zombies\_util::get_round_enemy_array(); + } + + for(;;) + { + wait 0.05; + var_00 = gettime(); + if(var_00 > level._zbv_vox_last_update_time + 1000) + { + level._zbv_vox_last_update_time = var_00; + level._audio_zbv_shared_ent_list = maps\mp\zombies\_util::get_round_enemy_array(); + } + + var_01 = level._audio_zbv_shared_ent_list; + var_02 = 0; + for(var_03 = 0;var_03 < var_01.size;var_03++) + { + if(!isdefined(var_01[var_03]) || !isdefined(var_01[var_03].agent_type) || !isdefined(var_01[var_03].enemy) || var_01[var_03].enemy != self) + { + continue; + } + + var_04 = 200; + var_05 = 50; + if(isdefined(var_01[var_03].zombie_move_speed)) + { + switch(var_01[var_03].zombie_move_speed) + { + case "walk": + var_04 = 200; + break; + + case "run": + var_04 = 250; + break; + + case "sprint": + var_04 = 275; + break; + } + } + + if(distancesquared(var_01[var_03].origin,self.origin) < var_04 * var_04) + { + var_06 = getyawtospot(var_01[var_03].origin); + var_07 = self.origin[2] - var_01[var_03].origin[2]; + if((var_06 < -95 || var_06 > 95) && abs(var_07) < 50) + { + var_01[var_03] thread do_zombies_playvocals("behind",var_01[var_03].agent_type,self); + var_02 = 1; + break; + } + } + } + + if(var_02) + { + wait(6); + } + } +} + +//Function Number: 10 +getyawtospot(param_00) +{ + var_01 = param_00; + var_02 = self.angles[1] - getyaw(var_01); + var_02 = angleclamp180(var_02); + return var_02; +} + +//Function Number: 11 +getyaw(param_00) +{ + var_01 = vectortoangles(param_00 - self.origin); + return var_01[1]; +} + +//Function Number: 12 +do_zombies_playvocals(param_00,param_01,param_02) +{ + self endon("death"); + if(!isdefined(param_01)) + { + param_01 = "zombie_generic"; + } + + if(!isdefined(self.talking)) + { + self.talking = 0; + } + + if(!isdefined(level.zmb_vox[param_01])) + { + return; + } + + if(!isdefined(level.zmb_vox[param_01][param_00])) + { + return; + } + + var_03 = level.zmb_vox["prefix"] + level.zmb_vox[param_01][param_00]; + if(!soundexists(var_03)) + { + return; + } + + if(param_00 == "behind") + { + self playsoundtoplayer(var_03,param_02); + return; + } + + if(param_00 == "spawn" || param_00 == "idle_low" || param_00 == "idle_high" || param_00 == "move" || param_00 == "taunt" || param_00 == "pain") + { + if(param_00 == "spawn") + { + wait(0.1); + } + + self playsoundonmovingent(var_03); + return; + } + + if(!self.talking) + { + self.talking = 1; + if(is_last_zombie() && soundexists(var_03 + "_loud")) + { + var_03 = var_03 + "_loud"; + } + + playsoundwaituntildone(var_03); + self.talking = 0; + return; + } +} + +//Function Number: 13 +is_last_zombie() +{ + if(maps\mp\zombies\zombies_spawn_manager::getnumberofzombies() <= 1) + { + return 1; + } + + return 0; +} + +//Function Number: 14 +oh_shit_vox() +{ + self endon("disconnect"); + var_00 = 62500; + var_01 = 40000; + var_02 = 0; + var_03 = 0; + for(;;) + { + wait(1); + var_04 = gettime() > var_02; + var_05 = gettime() > var_03; + if(!var_05 && !var_04) + { + continue; + } + + var_06 = maps\mp\zombies\_util::get_round_enemy_array(); + var_07 = 0; + var_08 = 0; + for(var_09 = 0;var_09 < var_06.size;var_09++) + { + var_0A = var_06[var_09]; + var_0B = distancesquared(var_0A.origin,self.origin); + var_0C = (isdefined(var_0A.enemy) && var_0A.enemy == self) || !isdefined(var_0A.enemy); + if(var_04 && var_0C && var_0B < var_00) + { + var_07++; + } + + var_0D = isdefined(var_0A.agent_type) && var_0A.agent_type == "zombie_host"; + if(var_05 && var_0D && var_0B < var_01) + { + var_08 = 1; + } + } + + if(var_07 > 4) + { + var_0E = create_and_play_dialog("general","oh_shit"); + if(var_0E) + { + var_02 = gettime() + 15000; + } + + continue; + } + + if(var_08) + { + var_0E = playerexert("cough"); + if(var_0E) + { + var_03 = gettime() + 3000; + } + } + } +} + +//Function Number: 15 +zmbsetglobalpriorityonly(param_00) +{ + if(param_00) + { + level.zmbglobalpriorityvoonly++; + } + else + { + level.zmbglobalpriorityvoonly--; + } + + if(level.zmbglobalpriorityvoonly < 0) + { + level.zmbglobalpriorityvoonly = 0; + } +} + +//Function Number: 16 +create_and_play_dialog_delay(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + self endon("death"); + self endon("disconnect"); + wait(param_05); + thread create_and_play_dialog(param_00,param_01,param_02,param_03,param_04,param_06); +} + +//Function Number: 17 +create_and_play_dialog(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + if(!isdefined(self.zmbvoxid)) + { + return 0; + } + + if(!isdefined(level.vox.speaker[self.zmbvoxid])) + { + return 0; + } + + if(level.zmbglobalpriorityvoonly > 0 && param_00 != "global_priority") + { + return 0; + } + + if(maps\mp\zombies\_util::is_true(self.dontspeak)) + { + return 0; + } + + if(maps\mp\zombies\_util::isplayerinfected(self) && param_01 != "infected" && param_01 != "sq") + { + return 0; + } + + if(!isdefined(self.isspeaking)) + { + self.isspeaking = 0; + } + + if(maps\mp\zombies\_util::is_true(self.isspeaking)) + { + return 0; + } + + if(areimportantspeakersnearby(param_00)) + { + return 0; + } + + var_07 = isdefined(param_02); + var_08 = undefined; + var_09 = undefined; + var_0A = undefined; + var_0B = maps\mp\zombies\_zombies_audio_announcer::isannouncer(self); + if(!isdefined(level.vox.speaker[self.zmbvoxid].alias[param_00]) || !isdefined(level.vox.speaker[self.zmbvoxid].alias[param_00][param_01])) + { + return 0; + } + + if(var_0B && !level.allowzmbannouncer) + { + return 0; + } + + if(!isdefined(param_04)) + { + param_04 = 0; + } + + if(!param_04 && !can_event_play(self.zmbvoxid,param_00,param_01)) + { + return 0; + } + + var_0C = getarraykeys(level.vox.speaker[self.zmbvoxid].prefixes); + var_0A = level.vox.speaker[self.zmbvoxid].prefixes[var_0C[0]]; + var_08 = level.vox.speaker[self.zmbvoxid].alias[param_00][param_01]; + if(isplayer(self) || maps\mp\zombies\_util::is_true(self.fakeplayer)) + { + if(self.sessionstate != "playing") + { + return 0; + } + + if(maps\mp\zombies\_util::isplayerinlaststand(self) && param_01 != "revive_down" && param_01 != "revive_up" && param_01 != "bonus_line_over") + { + return 0; + } + + var_09 = maps\mp\zombies\_util::get_player_index(self); + var_0A = level.vox.speaker[self.zmbvoxid].prefixes[var_09]; + } + + if(isdefined(level.zmbaudioplayaltvofunc) && self [[ level.zmbaudioplayaltvofunc ]](param_00,param_01,param_02,param_03,param_04,param_05,param_06)) + { + return 1; + } + + var_0D = ""; + if(param_00 == "conversation") + { + if(!isdefined(param_03)) + { + param_03 = 1; + } + + var_0D = build_dialog_line("",var_08,param_03); + if(!soundexists(var_0D)) + { + return 0; + } + } + else + { + if(var_07) + { + var_0E = param_02 + var_08; + var_0F = "any_" + var_08; + var_10 = zmbvoxgetlinevariant(var_0A,var_0F,param_03); + if(isdefined(var_10) && soundexists(var_10) && randomint(100) > 50) + { + var_08 = var_0F; + } + else + { + var_08 = var_0E; + } + } + + var_0D = zmbvoxgetlinevariant(var_0A,var_08,param_03); + if(!isdefined(var_0D) && soundexists(var_0A + var_08)) + { + var_0D = var_0A + var_08; + } + } + + if(isdefined(var_0D)) + { + if(!soundexists(var_0D)) + { + return 0; + } + + if(var_0B) + { + thread maps\mp\zombies\_zombies_audio_announcer::playannouncerdialog(var_0A,var_09,var_0D,param_00,param_01,var_07,param_05,param_03,param_06); + } + else + { + thread do_player_or_npc_playvox(var_0A,var_09,var_0D,param_00,param_01,var_07,param_05,param_03,param_06); + } + } + else + { + return 0; + } + + return 1; +} + +//Function Number: 18 +do_player_or_npc_playvox(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + self endon("disconnect"); + self endon("stopSpeaking"); + var_09 = 0.25; + if(param_03 == "exert") + { + var_09 = 0; + } + + self.speakingline = param_02; + self.isspeaking = 1; + self notify("speaking"); + playsoundwaituntildone(param_02,param_03,param_04,param_08); + if(var_09 > 0) + { + wait(var_09); + } + + self notify("done_speaking"); + level notify("done_speaking"); + self.isspeaking = 0; + if(param_03 == "conversation") + { + level thread setup_conversation_response_line(self,param_01,param_03,param_04,param_06,param_07); + return; + } + + if(isdefined(level.vox.speaker[self.zmbvoxid].response) && isdefined(level.vox.speaker[self.zmbvoxid].response[param_03]) && isdefined(level.vox.speaker[self.zmbvoxid].response[param_03][param_04])) + { + if(isdefined(level._audio_custom_response_line)) + { + level thread [[ level._audio_custom_response_line ]](self,param_01,param_03,param_04,param_06); + return; + } + + if(param_03 == "an_conv") + { + level thread setup_announcer_conversation_response_line(self,param_03,param_04); + return; + } + + level thread setup_response_line(self,param_01,param_03,param_04,param_06); + return; + } +} + +//Function Number: 19 +areimportantspeakersnearby(param_00) +{ + return arenearbyspeakersactive() && !maps\mp\zombies\_util::is_true(self.ignorenearbyspkrs) && param_00 != "global_priority" && param_00 != "exert" && param_00 != "conversation" && param_00 != "ignore_nearby" && param_00 != "sq"; +} + +//Function Number: 20 +waituntilquietnearby(param_00,param_01) +{ + while(param_00 arenearbyspeakersactive()) + { + wait 0.05; + } +} + +//Function Number: 21 +player_stop_speaking() +{ + self notify("stopSpeaking"); + if(maps\mp\zombies\_util::is_true(self.isspeaking) && isdefined(self.speakingline)) + { + self stopsound(self.speakingline); + self.isspeaking = 0; + } +} + +//Function Number: 22 +getrandomcharacterinrange(param_00) +{ + var_01 = 250000; + var_02 = []; + foreach(var_04 in level.players) + { + if(!isdefined(var_04) || var_04 == param_00) + { + continue; + } + + var_05 = distancesquared(param_00.origin,var_04.origin) < var_01; + if(var_05) + { + var_02[var_02.size] = var_04; + } + } + + if(var_02.size == 1) + { + return var_02[0]; + } + + if(var_02.size > 1) + { + var_07 = randomintrange(0,var_02.size); + return var_02[var_07]; + } +} + +//Function Number: 23 +setup_response_line(param_00,param_01,param_02,param_03,param_04) +{ + if(level.players.size == 1) + { + return; + } + + if(!isdefined(param_04)) + { + param_04 = getrandomcharacterinrange(param_00); + } + + if(isdefined(param_04)) + { + var_05 = level.vox.speaker[param_04.zmbvoxid].response[param_02][param_03]; + if(isdefined(var_05)) + { + var_06 = level.vox.speaker[param_00.zmbvoxid].prefixes[param_01]; + param_04 create_and_play_dialog(param_02,var_05,var_06); + } + } +} + +//Function Number: 24 +setup_conversation_response_line(param_00,param_01,param_02,param_03,param_04,param_05) +{ + if(isdefined(param_04) && isalive(param_04)) + { + param_04 create_and_play_dialog(param_02,param_03,undefined,param_05 + 1,undefined,param_00); + } +} + +//Function Number: 25 +setup_announcer_conversation_response_line(param_00,param_01,param_02) +{ + var_03 = maps\mp\zombies\_zombies_audio_announcer::getannouncer(); + var_04 = level.vox.speaker[param_00.zmbvoxid].response[param_01][param_02]; + var_05 = strtok(var_04,","); + if(var_05.size == 3) + { + var_06 = var_05[0]; + var_07 = maps\mp\zombies\_zombies_audio_announcer::getannouncers(var_06); + if(var_07.size == 1) + { + param_01 = var_05[1]; + param_02 = var_05[2]; + var_07[0] create_and_play_dialog(param_01,param_02); + return; + } + + return; + } + + if(var_05.size == 2) + { + param_01 = var_05[0]; + param_02 = var_05[1]; + var_03 create_and_play_dialog(param_01,param_02); + return; + } + + if(var_05.size == 1) + { + param_02 = var_05[0]; + var_08 = common_scripts\utility::array_randomize(level.players); + foreach(param_00 in var_08) + { + var_0A = param_00 create_and_play_dialog(param_01,param_02,""); + if(var_0A) + { + break; + } + } + + return; + } +} + +//Function Number: 26 +player_killstreak_init() +{ + self.timerisrunning = 0; + self.killcounter = 0; +} + +//Function Number: 27 +player_kill_zombie(param_00,param_01,param_02,param_03) +{ + var_04 = 8; + var_05 = 5; + self.killcounter++; + var_06 = 16; + var_07 = isdefined(param_01) && param_01 == "MOD_MELEE"; + var_08 = isdefined(param_03.missingbodyparts) && param_03.missingbodyparts & var_06; + if(var_07 && var_08) + { + playerlaugh(); + } + else + { + thread player_zombie_kill_vox(param_00,param_01,param_02,param_03); + } + + if(self.timerisrunning != 1) + { + self.timerisrunning = 1; + thread timer_actual(var_04,var_05); + } +} + +//Function Number: 28 +player_zombie_kill_vox(param_00,param_01,param_02,param_03) +{ + self endon("disconnect"); + if(!isdefined(param_03) || maps\mp\zombies\_util::is_true(self.force_wait_on_kill_line)) + { + return; + } + + param_02 = getweaponbasename(param_02); + var_04 = playertryzombiekillvo(param_00,param_01,param_02,param_03); + if(isdefined(var_04)) + { + self.force_wait_on_kill_line = 1; + wait(2); + self.force_wait_on_kill_line = 0; + } +} + +//Function Number: 29 +can_event_play(param_00,param_01,param_02) +{ + var_03 = get_event_chance(param_00,param_01,param_02); + return var_03 > randomintrange(1,100); +} + +//Function Number: 30 +get_event_chance(param_00,param_01,param_02) +{ + if(!isdefined(level.vox.speaker[param_00]) || !isdefined(level.vox.speaker[param_00].chance) || !isdefined(level.vox.speaker[param_00].chance[param_01]) || !isdefined(level.vox.speaker[param_00].chance[param_01][param_02])) + { + return 0; + } + + return level.vox.speaker[param_00].chance[param_01][param_02]; +} + +//Function Number: 31 +playertryzombiekillvo(param_00,param_01,param_02,param_03) +{ + var_04 = "kill"; + if(maps\mp\zombies\_util::istrapweapon(param_02)) + { + return; + } + + if(isdefined(param_03.agent_type) && param_03.agent_type == "zombie_melee_goliath") + { + if(maps\mp\zombies\_util::getzombieslevelnum() > 2) + { + wait(2.5); + } + + create_and_play_dialog(var_04,"goliath_kill"); + return "goliath_kill"; + } + + if(isdefined(param_03.sound_damage_player) && param_03.sound_damage_player == self && create_and_play_dialog(var_04,"damage")) + { + return "damage"; + } + + var_05 = distancesquared(self.origin,param_03.origin); + if(maps\mp\_utility::isheadshot(param_02,param_00,param_01) && var_05 >= 160000 && create_and_play_dialog(var_04,"headshot")) + { + return "headshot"; + } + + var_06 = maps\mp\zombies\_util::gameflagexists("explosive_touch") && maps\mp\_utility::gameflag("explosive_touch"); + if(var_06 && isdefined(param_02) && param_02 == "explosive_touch_zombies_mp" && create_and_play_dialog(var_04,"melee_instakill")) + { + return "melee_instakill"; + } + + var_07 = maps\mp\zombies\_util::isinstakill(); + if(var_07) + { + if((param_01 == "MOD_MELEE" || param_01 == "MOD_MELEE_ALT") && create_and_play_dialog(var_04,"melee_instakill")) + { + return "melee_instakill"; + } + else if(create_and_play_dialog(var_04,"weapon_instakill")) + { + return "weapon_instakill"; + } + } + + if(maps\mp\zombies\_util::iszombiedistractiondrone(param_02) && create_and_play_dialog(var_04,"distract_drone")) + { + return "distract_drone"; + } + + if(maps\mp\zombies\_util::iszombiednagrenade(param_02) && create_and_play_dialog(var_04,"nano_swarm")) + { + return "nano_swarm"; + } + + if(isexplosivedamagemod(param_01) && param_02 != "repulsor_zombie_mp" && param_02 != "iw5_tridentzm_mp" && param_02 != "playermech_rocket_zm_mp" && param_02 != "iw5_juggernautrocketszm_mp" && create_and_play_dialog(var_04,"explosive")) + { + return "explosive"; + } + + if(var_05 < 4096 && create_and_play_dialog(var_04,"closekill")) + { + return "closekill"; + } + + if(param_03 maps\mp\zombies\_util::checkactivemutator("acid") && create_and_play_dialog(var_04,"acid_kill")) + { + return "acid_kill"; + } + + if(param_03.agent_type == "zombie_host" && create_and_play_dialog(var_04,"host")) + { + return "host"; + } + + if(param_03.agent_type == "zombie_dog" && create_and_play_dialog(var_04,"dog")) + { + return "dog"; + } + + if(maps\mp\zombies\_util::is_true(param_03.dismember_crawl) && create_and_play_dialog(var_04,"crawler")) + { + return "crawler"; + } + + if(param_02 == "iw5_microwavezm_mp" && create_and_play_dialog(var_04,"microwave")) + { + return "microwave"; + } + + if(param_02 == "iw5_fusionzm_mp" && create_and_play_dialog(var_04,"fusion_rifle")) + { + return "fusion_rifle"; + } + + if(maps\mp\zombies\_util::getzombieslevelnum() > 2) + { + if((param_02 == "iw5_linegunzm_mp" || param_02 == "iw5_linegundamagezm_mp") && create_and_play_dialog(var_04,"linegun")) + { + return "linegun"; + } + + if(param_02 == "iw5_dlcgun2zm_mp" && create_and_play_dialog(var_04,"ohm")) + { + return "ohm"; + } + + if(param_02 == "iw5_dlcgun3zm_mp" && create_and_play_dialog(var_04,"m1irons")) + { + return "m1irons"; + } + + if(param_02 == "repulsor_zombie_mp" && create_and_play_dialog(var_04,"respulsor")) + { + return "respulsor"; + } + } + + if(maps\mp\zombies\_util::getzombieslevelnum() > 3) + { + if(param_02 == "iw5_tridentzm_mp" && create_and_play_dialog(var_04,"trident")) + { + return "trident"; + } + + if(param_02 == "iw5_dlcgun4zm_mp" && create_and_play_dialog(var_04,"blunderbuss")) + { + return "blunderbuss"; + } + + if(param_02 == "iw5_exominigunzm_mp") + { + if((param_01 == "MOD_MELEE" || param_01 == "MOD_MELEE_ALT") && create_and_play_dialog(var_04,"gol_melee_kill")) + { + return "gol_melee"; + } + } + + if(param_02 == "playermech_rocket_zm_mp" && create_and_play_dialog(var_04,"gol_missile_kill")) + { + return "gol_missile"; + } + + if(param_02 == "iw5_juggernautrocketszm_mp" && create_and_play_dialog(var_04,"gol_rocket_kill")) + { + return "gol_rocket"; + } + } + + if((param_01 == "MOD_MELEE" || param_01 == "MOD_MELEE_ALT") && create_and_play_dialog(var_04,"melee")) + { + return "melee"; + } + + if((param_01 == "MOD_RIFLE_BULLET" || param_01 == "MOD_PISTOL_BULLET") && create_and_play_dialog(var_04,"bullet")) + { + return "bullet"; + } +} + +//Function Number: 32 +timer_actual(param_00,param_01) +{ + self endon("disconnect"); + self endon("death"); + var_02 = gettime() + param_01 * 1000; + while(gettime() < var_02) + { + if(self.killcounter > param_00) + { + thread create_and_play_dialog_delay("kill","streak",undefined,undefined,undefined,1); + wait(2); + self.killcounter = 0; + var_02 = -2; + } + + wait(0.1); + } + + wait(10); + self.killcounter = 0; + self.timerisrunning = 0; +} + +//Function Number: 33 +player_hurt(param_00,param_01,param_02) +{ + if(isdefined(param_02) && param_02 == "MOD_FALLING" && !maps\mp\_utility::isjuggernaut()) + { + thread playerexert("grunt"); + return; + } + + if(isdefined(param_00) && isai(param_00)) + { + if(isdefined(param_00.agent_type) && param_00.agent_type == "zombie_host") + { + thread create_and_play_dialog_delay("general","host_hit",undefined,undefined,1,1); + } + else if(isdefined(param_00.agent_type) && param_00.agent_type == "zombie_dog") + { + thread create_and_play_dialog_delay("general","dog_hit",undefined,undefined,1,1); + } + + if(param_01 < self.health) + { + param_00.sound_damage_player = self; + if(maps\mp\zombies\_util::is_true(param_00.dismember_crawl)) + { + thread create_and_play_dialog("general","crawl_hit"); + return; + } + + return; + } + } +} + +//Function Number: 34 +player_emp() +{ + var_00 = !isdefined(self.hitbyemp); + thread create_and_play_dialog("general","emp",undefined,undefined,var_00); + self.hitbyemp = 1; +} + +//Function Number: 35 +player_infected() +{ + if(isdefined(self.hasburgerinfected)) + { + return; + } + + thread create_and_play_dialog_delay("general","infected",undefined,undefined,undefined,3); +} + +//Function Number: 36 +player_cured() +{ + thread create_and_play_dialog_delay("general","cured",undefined,undefined,undefined,1); +} + +//Function Number: 37 +zombie_hurt(param_00,param_01) +{ + if(isdefined(param_00) && isplayer(param_00) && param_01 < self.health) + { + if(param_00 isjumping()) + { + param_00 thread playerlaugh(); + return; + } + + if(isdefined(self.agent_type) && self.agent_type == "zombie_host") + { + param_00 thread player_hurt_zombie_vox("host_damaged"); + return; + } + } +} + +//Function Number: 38 +playerlaugh() +{ + if(!isdefined(self.nextlaughtime) || gettime() > self.nextlaughtime) + { + var_00 = playerexert("laugh"); + if(var_00) + { + self.nextlaughtime = gettime() + 15000; + } + } +} + +//Function Number: 39 +player_hurt_zombie_vox(param_00) +{ + thread create_and_play_dialog_delay("general",param_00,undefined,undefined,undefined,1); +} + +//Function Number: 40 +player_track_ammo_count() +{ + self notify("stop_ammo_tracking"); + self endon("disconnect"); + self endon("stop_ammo_tracking"); + var_00 = []; + var_01 = 0; + var_02 = self getcurrentweapon(); + var_03 = var_02; + for(;;) + { + wait(0.1); + var_03 = var_02; + var_02 = self getcurrentweapon(); + if(!isdefined(var_02) || var_02 == "none" || !can_track_ammo(var_02)) + { + continue; + } + + if(maps\mp\zombies\_util::gameflagexists("unlimited_ammo") && maps\mp\_utility::gameflag("unlimited_ammo")) + { + continue; + } + + if(!isdefined(var_00[var_02])) + { + var_00[var_02] = 0; + } + + if(!playerammolow(var_02) || maps\mp\zombies\_util::isplayerinlaststand(self)) + { + continue; + } + + if(playerammoout()) + { + if(gettime() > var_01) + { + create_and_play_dialog("general","ammo_out"); + var_01 = gettime() + 20000; + } + + continue; + } + + if(gettime() > var_00[var_02]) + { + create_and_play_dialog("general","ammo_low"); + var_00[var_02] = gettime() + 20000; + } + } +} + +//Function Number: 41 +playerammolow(param_00) +{ + if(isdefined(level.playerammolowfunc)) + { + var_01 = [[ level.playerammolowfunc ]](param_00); + if(isdefined(var_01)) + { + return var_01; + } + } + + if(param_00 == "search_dstry_bomb_defuse_mp") + { + return 0; + } + + if(issubstr(param_00,"iw5_em1zm_mp") && maps\mp\zombies\_util::playerhasem1ammoinfo()) + { + var_02 = maps\mp\zombies\_util::playergetem1ammo(); + var_03 = maps\mp\gametypes\zombies::getem1maxammo(); + return var_02 / var_03 < 0.05; + } + + if(maps\mp\zombies\_util::isrippedturretweapon(var_03) && maps\mp\killstreaks\_rippedturret::playerhasrippableturretinfo()) + { + var_02 = maps\mp\killstreaks\_rippedturret::playergetrippableammo(); + var_03 = maps\mp\killstreaks\_rippedturret::getammoforturretweapontype(var_02); + return var_02 / var_03 < 0.05; + } + + return self setweaponammostock(var_03) == 0; +} + +//Function Number: 42 +playerammoout() +{ + var_00 = 0; + var_01 = self getweaponslistprimaries(); + foreach(var_03 in var_01) + { + if(var_03 == "search_dstry_bomb_defuse_mp") + { + continue; + } + + if(issubstr(var_03,"iw5_em1zm_mp") && maps\mp\zombies\_util::playerhasem1ammoinfo()) + { + var_04 = maps\mp\zombies\_util::playergetem1ammo(); + if(var_04 > 0) + { + var_00 = 1; + break; + } + + continue; + } + + if(maps\mp\zombies\_util::isrippedturretweapon(var_03) && maps\mp\killstreaks\_rippedturret::playerhasrippableturretinfo()) + { + var_04 = maps\mp\killstreaks\_rippedturret::playergetrippableammo(); + if(var_04 > 0) + { + var_00 = 1; + break; + } + + continue; + } + + if(self getammocount(var_03) > 0) + { + var_00 = 1; + break; + } + } + + return !var_00; +} + +//Function Number: 43 +can_track_ammo(param_00) +{ + if(!isdefined(param_00) || param_00 == "none") + { + return 0; + } + + if(maps\mp\zombies\weapons\_zombie_weapons::isplaceableminetype(param_00) || maps\mp\zombies\_util::iszombieequipment(param_00) || maps\mp\zombies\_util::iszombiekillstreakweapon(param_00) || param_00 == maps\mp\gametypes\zombies::getexosuitequipweaponname() || param_00 == maps\mp\gametypes\zombies::getcharacterintroweaponname() || param_00 == maps\mp\gametypes\zombies::getcharacterintroidleweapon() || param_00 == maps\mp\gametypes\zombies::getexosuitperkweaponname("health") || param_00 == maps\mp\gametypes\zombies::getexosuitperkweaponname("stabilizer") || param_00 == maps\mp\gametypes\zombies::getexosuitperkweaponname("stim") || param_00 == maps\mp\gametypes\zombies::getexosuitperkweaponname("slam") || param_00 == maps\mp\gametypes\zombies::getexosuitperkweaponname("fastreload") || param_00 == "iw5_combatknife_mp" || param_00 == "iw5_combatknifegoliath_mp") + { + return 0; + } + + return 1; +} + +//Function Number: 44 +weapon_toggle_vox(param_00,param_01) +{ + self notify("audio_activated_trigger"); + self endon("audio_activated_trigger"); + var_02 = "vox_pa_switcher_"; + var_03 = var_02 + param_00; + var_04 = undefined; + if(isdefined(param_01)) + { + var_04 = get_weapon_num(param_01); + if(!isdefined(var_04)) + { + return; + } + } + + self stopsounds(); + wait(0.05); + if(isdefined(var_04)) + { + playsoundwaituntildone(var_02 + "weapon_" + var_04,"sounddone"); + } + + self playsound(var_03 + "_0"); +} + +//Function Number: 45 +get_weapon_num(param_00) +{ + var_01 = undefined; + switch(param_00) + { + case "humangun_zm": + var_01 = 0; + break; + + case "sniper_explosive_zm": + var_01 = 1; + break; + + case "tesla_gun_zm": + var_01 = 2; + break; + } + + return var_01; +} + +//Function Number: 46 +addasspeakernpc(param_00) +{ + if(!isdefined(level.npcs)) + { + level.npcs = []; + } + + if(maps\mp\zombies\_util::is_true(param_00)) + { + self.ignorenearbyspkrs = 1; + } + else + { + self.ignorenearbyspkrs = 0; + } + + self.isnpc = 1; + level.npcs[level.npcs.size] = self; +} + +//Function Number: 47 +arenearbyspeakersactive() +{ + var_00 = 1000000; + var_01 = 0; + var_02 = maps\mp\zombies\_zombies_audio_announcer::isannouncer(self); + var_03 = level.players; + if(isdefined(level.npcs)) + { + var_03 = common_scripts\utility::array_combine(var_03,level.npcs); + } + + foreach(var_05 in var_03) + { + if(self == var_05) + { + continue; + } + + if(isplayer(var_05)) + { + if(var_05.sessionstate != "playing" || maps\mp\zombies\_util::isplayerinlaststand(var_05)) + { + continue; + } + } + else + { + } + + if(maps\mp\zombies\_util::is_true(var_05.isspeaking) && !maps\mp\zombies\_util::is_true(var_05.ignorenearbyspkrs)) + { + if(var_02 || distancesquared(self.origin,var_05.origin) < var_00) + { + var_01 = 1; + break; + } + } + } + + return var_01; +} + +//Function Number: 48 +zmbvoxcreate() +{ + var_00 = spawnstruct(); + var_00.speaker = []; + return var_00; +} + +//Function Number: 49 +zmbvoxinitspeaker(param_00,param_01,param_02,param_03) +{ + param_02.zmbvoxid = param_00; + if(!isdefined(self.speaker[param_00])) + { + self.speaker[param_00] = spawnstruct(); + self.speaker[param_00].alias = []; + self.speaker[param_00].prefixes = []; + self.speaker[param_00].ents = []; + } + + self.speaker[param_00].ents[param_03] = param_02; + self.speaker[param_00].prefixes[param_03] = param_01; +} + +//Function Number: 50 +zmbvoxadd(param_00,param_01,param_02,param_03,param_04,param_05) +{ + if(!isdefined(self.speaker[param_00])) + { + self.speaker[param_00] = spawnstruct(); + self.speaker[param_00].alias = []; + self.speaker[param_00].prefixes = []; + self.speaker[param_00].ents = []; + } + + if(!isdefined(self.speaker[param_00].alias[param_01])) + { + self.speaker[param_00].alias[param_01] = []; + } + + self.speaker[param_00].alias[param_01][param_02] = param_03; + if(isdefined(param_04)) + { + if(!isdefined(self.speaker[param_00].response)) + { + self.speaker[param_00].response = []; + } + + if(!isdefined(self.speaker[param_00].response[param_01])) + { + self.speaker[param_00].response[param_01] = []; + } + + self.speaker[param_00].response[param_01][param_02] = param_04; + } + + if(!isdefined(param_05)) + { + param_05 = 100; + } + + if(!isdefined(self.speaker[param_00].chance)) + { + self.speaker[param_00].chance = []; + } + + if(!isdefined(self.speaker[param_00].chance[param_01])) + { + self.speaker[param_00].chance[param_01] = []; + } + + self.speaker[param_00].chance[param_01][param_02] = param_05; +} + +//Function Number: 51 +build_dialog_line(param_00,param_01,param_02) +{ + if(param_02 < 10) + { + return param_00 + param_01 + "_0" + param_02; + } + + return param_00 + param_01 + "_" + param_02; +} + +//Function Number: 52 +zmbvoxgetlinevariant(param_00,param_01,param_02) +{ + if(!isdefined(self.sound_dialog)) + { + self.sound_dialog = []; + self.sound_dialog_available = []; + } + + if(!isdefined(self.sound_dialog[param_01])) + { + var_03 = get_number_variants(param_00,param_01); + if(var_03 <= 0) + { + return undefined; + } + + for(var_04 = 0;var_04 < var_03;var_04++) + { + self.sound_dialog[param_01][var_04] = var_04 + 1; + } + + self.sound_dialog_available[param_01] = []; + } + + if(self.sound_dialog_available[param_01].size <= 0) + { + for(var_04 = 0;var_04 < self.sound_dialog[param_01].size;var_04++) + { + self.sound_dialog_available[param_01][var_04] = self.sound_dialog[param_01][var_04]; + } + } + + var_05 = common_scripts\utility::random(self.sound_dialog_available[param_01]); + self.sound_dialog_available[param_01] = common_scripts\utility::array_remove(self.sound_dialog_available[param_01],var_05); + if(isdefined(param_02)) + { + var_05 = param_02; + } + + return build_dialog_line(param_00,param_01,var_05); +} + +//Function Number: 53 +playsoundwaituntildone(param_00,param_01,param_02,param_03) +{ + if(isdefined(param_01) && param_01 == "monologue") + { + self playlocalsound(param_00); + } + else if(isdefined(param_03) && param_03.size > 0) + { + param_03 = common_scripts\utility::array_removeundefined(param_03); + foreach(var_05 in param_03) + { + if(isdefined(var_05)) + { + self playsoundtoplayer(param_00,var_05,1); + } + } + } + else + { + self playsoundonmovingent(param_00); + } + + var_07 = volength(param_00,param_01); + wait(var_07); +} + +//Function Number: 54 +get_number_variants(param_00,param_01) +{ + var_02 = 100; + for(var_03 = 1;var_03 < var_02;var_03++) + { + if(!soundexists(build_dialog_line(param_00,param_01,var_03))) + { + return var_03 - 1; + } + } + + return var_02; +} + +//Function Number: 55 +play_level_start_vox() +{ + level thread setupwaveintermissiondialog(); + wait(1); + if(isdefined(level.zmbaudiowave1vo)) + { + level thread [[ level.zmbaudiowave1vo ]](); + } + else if(level.players.size == 1) + { + var_00 = randomintrange(0,level.players.size); + level.players[var_00] thread create_and_play_dialog("general","intro"); + } + else + { + level thread playwavenumintrodialog("wave1",1,2,0,3); + } + + level.zmplayedearlywavevo = 0; + for(;;) + { + level waittill("zombie_wave_started"); + wait(1); + var_01 = 0; + if(!maps\mp\zombies\_zombies_audio_announcer::isannouncinground()) + { + maps\mp\zombies\_zombies_audio_announcer::waittillannouncerdonespeaking(); + } + else + { + var_01 = 1; + } + + if(isdefined(level.zmbaudiowavestartvo)) + { + var_01 = [[ level.zmbaudiowavestartvo ]](var_01); + } + else + { + if(!var_01 && level.wavecounter == 2) + { + playwavenumintrodialog("wave2",2,0,1,3); + var_01 = 1; + } + else if(!var_01 && level.wavecounter == 5 || level.wavecounter == 10 || level.wavecounter == 20 || level.wavecounter == 35 || level.wavecounter == 50) + { + var_00 = randomintrange(0,level.players.size); + level.players[var_00] create_and_play_dialog("general","round_" + level.wavecounter); + var_01 = 1; + } + + if(!var_01 && level.wavecounter > 2 && !level.zmplayedearlywavevo) + { + var_02 = randomintrange(0,100); + if(var_02 < 30) + { + playwavenumintrodialog("wave_early",0,2,1,3); + level.zmplayedearlywavevo = 0; + var_01 = 1; + } + } + } + + if(!var_01 && level.wavecounter > 1) + { + var_00 = randomintrange(0,level.players.size); + level.players[var_00] create_and_play_dialog("general","wave_start"); + var_01 = 1; + } + + level waittill("zombie_wave_ended"); + var_03 = 1; + var_04 = 0; + if(isdefined(level.zmbdowaveendvo)) + { + var_03 = [[ level.zmbdowaveendvo ]](); + } + + if(var_03) + { + wait(1); + var_00 = randomintrange(0,level.players.size); + var_04 = level.players[var_00] create_and_play_dialog("general","wave_end"); + if(var_04) + { + level.players[var_00] common_scripts\utility::waittill_notify_or_timeout("done_speaking",6); + wait(1); + } + } + + if(isdefined(level.zmbwaveintermissionvo)) + { + var_04 = [[ level.zmbwaveintermissionvo ]](var_04); + } + + if(!playweaponremindervo() && !var_04) + { + playwaveintermissiondialog(); + } + } +} + +//Function Number: 56 +playwavenumintrodialog(param_00,param_01,param_02,param_03,param_04,param_05) +{ + if(!isdefined(param_05)) + { + param_05 = "general"; + } + + var_06 = getcharacterbyindex(param_01); + if(isdefined(var_06) && var_06 create_and_play_dialog(param_05,param_00)) + { + level common_scripts\utility::waittill_notify_or_timeout("done_speaking",6); + } + + var_06 = getcharacterbyindex(param_02); + if(isdefined(var_06) && var_06 create_and_play_dialog(param_05,param_00)) + { + level common_scripts\utility::waittill_notify_or_timeout("done_speaking",6); + } + + var_06 = getcharacterbyindex(param_03); + if(isdefined(var_06) && var_06 create_and_play_dialog(param_05,param_00)) + { + level common_scripts\utility::waittill_notify_or_timeout("done_speaking",6); + } + + var_06 = getcharacterbyindex(param_04); + if(isdefined(var_06) && var_06 create_and_play_dialog(param_05,param_00)) + { + level common_scripts\utility::waittill_notify_or_timeout("done_speaking",6); + } +} + +//Function Number: 57 +playweaponremindervo() +{ + if(level.wavecounter == 2) + { + var_00 = getplayerwhoonlyhaspistol(); + if(isdefined(var_00)) + { + return var_00 create_and_play_dialog("general","weapon_reminder",undefined,1); + } + } + else if(level.wavecounter == 10) + { + var_00 = getplayerwhohasnotupgraded(); + if(isdefined(var_00)) + { + return var_00 create_and_play_dialog("general","weapon_reminder",undefined,2); + } + } + + return 0; +} + +//Function Number: 58 +getplayerwhoonlyhaspistol() +{ + foreach(var_01 in level.players) + { + var_02 = var_01 getweaponslistprimaries(); + if(var_02.size == 1 && var_02[0] == "iw5_titan45zm_mp") + { + return var_01; + } + } +} + +//Function Number: 59 +getplayerwhohasnotupgraded() +{ + foreach(var_01 in level.players) + { + var_02 = var_01 getweaponslistprimaries(); + foreach(var_04 in var_02) + { + if(maps\mp\zombies\_util::getzombieweaponlevel(var_01,var_04) < 2) + { + return var_01; + } + } + } +} + +//Function Number: 60 +setupwaveintermissiondialog() +{ + level.zmwaveintermissiondialog = []; + level.zmwaveintermissiondialog[0] = newwaveintermissionstruct(); + level.zmwaveintermissiondialog[1] = newwaveintermissionstruct(); +} + +//Function Number: 61 +newwaveintermissionstruct() +{ + var_00 = spawnstruct(); + var_00.characters = []; + var_00.prefixes = []; + var_00.sequence = 1; + var_00.active = 0; + var_00.completed = 0; + var_00.nextround = 1; + return var_00; +} + +//Function Number: 62 +playwaveintermissiondialog() +{ + if(level.players.size == 1 || !isdefined(level.vox.speaker["player"].alias["conversation"])) + { + return 0; + } + + foreach(var_01 in level.zmwaveintermissiondialog) + { + if(dialogcanplay(var_01) && playdialog(var_01)) + { + dialogincrement(var_01); + return 1; + } + } + + foreach(var_01 in level.zmwaveintermissiondialog) + { + if(!var_01.active && createdialog(var_01)) + { + if(playdialog(var_01)) + { + dialogincrement(var_01); + return 1; + } + else + { + return 0; + } + } + } + + return 0; +} + +//Function Number: 63 +dialogcanplay(param_00) +{ + return param_00.active && param_00.nextround <= level.wavecounter && dialogcharactersactive(param_00); +} + +//Function Number: 64 +dialogcharactersactive(param_00) +{ + if(param_00.characters.size != 2) + { + return 0; + } + + foreach(var_02 in param_00.characters) + { + if(!isdefined(var_02) || !maps\mp\_utility::isreallyalive(var_02)) + { + return 0; + } + } + + return 1; +} + +//Function Number: 65 +dialogincrement(param_00) +{ + param_00.nextround = param_00.nextround + randomintrange(2,4); + param_00.sequence++; +} + +//Function Number: 66 +playerinanydialog() +{ + foreach(var_01 in level.zmwaveintermissiondialog) + { + if(common_scripts\utility::array_contains(var_01.characters,self)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 67 +createdialog(param_00) +{ + var_01 = common_scripts\utility::array_randomize(level.players); + var_02 = undefined; + var_03 = undefined; + foreach(var_05 in var_01) + { + if(!var_05 playerinanydialog()) + { + if(!isdefined(var_02)) + { + var_02 = var_05; + } + else + { + var_03 = var_05; + } + } + + if(isdefined(var_02) && isdefined(var_03)) + { + break; + } + } + + if(!isdefined(var_02) || !isdefined(var_03)) + { + return 0; + } + + param_00.characters[0] = var_02; + param_00.characters[1] = var_03; + param_00.prefixes[0] = level.vox.speaker[var_02.zmbvoxid].prefixes[maps\mp\zombies\_util::get_player_index(var_02)]; + param_00.prefixes[1] = level.vox.speaker[var_03.zmbvoxid].prefixes[maps\mp\zombies\_util::get_player_index(var_03)]; + param_00.active = 1; + param_00.completed = 0; + return 1; +} + +//Function Number: 68 +playdialog(param_00) +{ + var_01 = "" + param_00.prefixes[0] + param_00.prefixes[1] + param_00.sequence; + var_02 = param_00.characters[0]; + var_03 = param_00.characters[1]; + if(!isdefined(level.vox.speaker["player"].alias["conversation"][var_01])) + { + var_01 = "" + param_00.prefixes[1] + param_00.prefixes[0] + param_00.sequence; + var_02 = param_00.characters[1]; + var_03 = param_00.characters[0]; + if(!isdefined(level.vox.speaker["player"].alias["conversation"][var_01])) + { + param_00.completed = 1; + return 0; + } + } + + return var_02 create_and_play_dialog("conversation",var_01,undefined,undefined,undefined,var_03); +} + +//Function Number: 69 +getcharacterbyindex(param_00) +{ + foreach(var_02 in level.players) + { + if(var_02.characterindex == param_00) + { + return var_02; + } + } +} + +//Function Number: 70 +getcharacterindexbyprefix(param_00) +{ + switch(param_00) + { + case "guard": + return 0; + + case "exec": + return 1; + + case "it": + return 2; + + case "pilot": + case "janitor": + return 3; + } +} + +//Function Number: 71 +getcharacterbyprefix(param_00) +{ + return getcharacterbyindex(getcharacterindexbyprefix(param_00)); +} + +//Function Number: 72 +getanycharacterbyprefixexcept(param_00) +{ + var_01 = getcharacterbyprefix(param_00); + if(!isdefined(var_01)) + { + return level.players[randomint(level.players.size)]; + } + + var_02 = common_scripts\utility::array_randomize(level.players); + foreach(var_04 in level.players) + { + if(var_04 != var_01) + { + return var_04; + } + } +} + +//Function Number: 73 +play_weapon_vo(param_00) +{ + if(!isplayer(self)) + { + return; + } + + param_00 = getweaponbasename(param_00); + var_01 = weapon_type_check(param_00); + if(var_01 == "skip") + { + return; + } + + create_and_play_dialog("weapon_pickup",var_01); +} + +//Function Number: 74 +is_favorite_weapon(param_00) +{ + if(!isdefined(self.favorite_wall_weapons_list)) + { + return 0; + } + + foreach(var_02 in self.favorite_wall_weapons_list) + { + if(issubstr(param_00,var_02)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 75 +is_bad_weapon(param_00) +{ + return 0; +} + +//Function Number: 76 +has_custom_weapon_vo(param_00) +{ + switch(param_00) + { + case "iw5_dlcgun4zm_mp": + case "iw5_dlcgun3zm_mp": + case "iw5_dlcgun2zm_mp": + case "iw5_linegunzm_mp": + case "iw5_fusionzm_mp": + case "iw5_tridentzm_mp": + case "iw5_microwavezm_mp": + case "teleport_throw_zombies_mp": + case "dna_aoe_grenade_zombie_mp": + case "distraction_drone_throw_zombie_mp": + case "distraction_drone_zombie_mp": + case "explosive_drone_throw_zombie_mp": + case "explosive_drone_zombie_mp": + case "contact_grenade_throw_zombies_mp": + case "contact_grenade_zombies_mp": + case "dna_aoe_grenade_throw_zombie_mp": + case "teleport_zombies_mp": + case "repulsor_zombie_mp": + return 1; + + default: + break; + } + + return 0; +} + +//Function Number: 77 +skip_weapon_vo(param_00) +{ + switch(param_00) + { + case "frag_grenade_zombies_mp": + case "frag_grenade_throw_zombies_mp": + return 1; + + default: + break; + } + + return 0; +} + +//Function Number: 78 +weapon_type_check(param_00) +{ + param_00 = getweaponbasename(param_00); + if(is_favorite_weapon(param_00)) + { + return "favorite"; + } + + if(is_bad_weapon(param_00)) + { + return "bad_weapon"; + } + + if(has_custom_weapon_vo(param_00)) + { + return param_00; + } + + if(skip_weapon_vo(param_00)) + { + return "skip"; + } + + return "generic"; +} + +//Function Number: 79 +zmplaydeathsound() +{ + var_00 = randomintrange(0,3); + player_stop_speaking(); + playerstopexerting(); + playerexert("death" + var_00); +} + +//Function Number: 80 +zmplaydamagesound(param_00) +{ + if(isdefined(self.damage_sound_time) && self.damage_sound_time + 5000 > param_00) + { + return; + } + + if(!maps\mp\zombies\_util::is_true(self.isexerting)) + { + self.damage_sound_time = param_00; + var_01 = randomintrange(0,3); + player_stop_speaking(); + playerexert("pain" + var_01); + } +} + +//Function Number: 81 +playerexert(param_00) +{ + if(maps\mp\zombies\_util::is_true(self.isspeaking) || maps\mp\zombies\_util::is_true(self.isexerting)) + { + return 0; + } + + var_01 = create_and_play_dialog("exert",param_00); + if(!maps\mp\zombies\_util::is_true(self.isexerting)) + { + thread exert_timer(); + } + + return var_01; +} + +//Function Number: 82 +playerstopexerting() +{ + self notify("stopExerting"); + self.isexerting = undefined; +} + +//Function Number: 83 +exert_timer() +{ + self endon("disconnect"); + self endon("stopExerting"); + wait(1); + self.isexerting = 1; + wait(randomfloatrange(1.5,3)); + self.isexerting = undefined; +} + +//Function Number: 84 +playerkillstreakcratevo(param_00) +{ + self endon("disconnect"); + if(issubstr(param_00,"drop_pre")) + { + wait(2); + } + else + { + wait(0.5); + } + + thread create_and_play_dialog("general",param_00); +} + +//Function Number: 85 +playerpoweronvo() +{ + thread create_and_play_dialog_delay("general","power_on",undefined,undefined,undefined,1); +} + +//Function Number: 86 +playerpoweroffvo() +{ + thread create_and_play_dialog_delay("general","power_off",undefined,undefined,undefined,1); +} + +//Function Number: 87 +playerrevivevo(param_00) +{ + self endon("disconnect"); + wait(1); + var_01 = create_and_play_dialog("general","bonus_line_not_over",undefined,undefined,undefined,param_00); + if(!var_01) + { + create_and_play_dialog("general","revive_up",undefined,undefined,undefined,param_00); + } +} + +//Function Number: 88 +playerlaststandvo() +{ + self endon("disconnect"); + wait(1); + var_00 = create_and_play_dialog("general","bonus_line_over"); + if(!var_00) + { + create_and_play_dialog("general","revive_down"); + } +} + +//Function Number: 89 +playerexosuit(param_00) +{ + self endon("death"); + self endon("disconnect"); + wait(0.5); + thread create_and_play_dialog_delay("perk",param_00,undefined,undefined,undefined,0.5); +} + +//Function Number: 90 +playerexosuitrejected(param_00,param_01) +{ + var_02 = param_00; + if(param_00 != "exo_suit") + { + var_02 = "exo_upgrade"; + } + + var_02 = var_02 + "_" + param_01; + thread _playerbuyrejected(var_02); +} + +//Function Number: 91 +_playerbuyrejected(param_00) +{ + if(!maps\mp\zombies\_util::is_true(self.force_wait_on_buy_line)) + { + self.force_wait_on_buy_line = 1; + create_and_play_dialog("general",param_00); + wait(10); + self.force_wait_on_buy_line = undefined; + } +} + +//Function Number: 92 +playerweaponbuy(param_00) +{ + thread _playerbuyrejected(param_00); +} + +//Function Number: 93 +playerweaponupgrade(param_00,param_01) +{ + if(param_01 == 20) + { + thread create_and_play_dialog_delay("perk","weapon_upgrade_max",undefined,undefined,undefined,1); + return; + } + + if(!isdefined(self.weaponupgradevodebounce) || self.weaponupgradevodebounce < gettime()) + { + thread create_and_play_dialog_delay("perk","weapon_upgrade",undefined,undefined,undefined,1); + self.weaponupgradevodebounce = gettime() + 20000; + } +} + +//Function Number: 94 +playerfoundprinter() +{ + thread create_and_play_dialog("general","found_printer"); +} + +//Function Number: 95 +moneyspend() +{ + self playlocalsound("interact_purchase"); +} + +//Function Number: 96 +playertrashchute() +{ + self endon("disconnect"); + var_00 = "slide_chute"; + if(maps\mp\zombies\_util::getzombieslevelnum() == 3) + { + wait(2); + var_00 = "teleport_machine"; + } + + thread create_and_play_dialog_delay("monologue",var_00,undefined,undefined,undefined,0.5); +} + +//Function Number: 97 +plinko_clink(param_00,param_01) +{ + param_00 playsoundonmovingent("plinko_clink_" + param_01); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/_zombies_audio_announcer.gsc b/AW/PC/maps/mp/zombies/_zombies_audio_announcer.gsc new file mode 100644 index 0000000..ff63ce1 --- /dev/null +++ b/AW/PC/maps/mp/zombies/_zombies_audio_announcer.gsc @@ -0,0 +1,782 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_zombies_audio_announcer.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 36 + * Decompile Time: 594 ms + * Timestamp: 4/22/2024 2:14:27 AM +*******************************************************************/ + +//Function Number: 1 +initannouncer() +{ + var_00 = spawn("script_model",(0,0,0)); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxinitspeaker("announcer","comp_",var_00,0); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","exo_suit_avail","exo_suit_avail",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","exo_online","exo_online","general,thanks"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","hyper_dmg","hyper_dmg","powerup,insta_kill"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","dna_bomb","dna_bomb","powerup,apocalypse"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","pow_surge","pow_surge","powerup,pow_surge"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","full_reload","full_reload","powerup,max_ammo"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","multiplier","multiplier","powerup,2x_pts"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","security","security","powerup,traps"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","zombie_dog","mongrel","general,dog_round"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","zombie_host","host","general,host_round"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","host_turn","host_turn",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global","door","door",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global","printer","printer_bk","general,printer_moved"); + if(maps\mp\zombies\_util::getzombieslevelnum() == 1) + { + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global","power_labs_01","pow_mg","general,power_on"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global","power_roundabout_01","pow_mh","general,power_on"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global","power_barracks_01","pow_ha","general,power_on"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global","power_admin_01","pow_am","general,power_on"); + } + + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","machine_all_players","host_cure","cure","general,cured"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","machine_all_players","host_cure2","cure2",undefined,30); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","machine_all_players","laser_trap","trap","general,laser_traps",40); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","machine_all_players","jackpot","cash_ee",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","machine_per_player","specialty_fastreload","exo_reload",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","machine_per_player","exo_health","exo_health",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","machine_per_player","exo_revive","exo_medic",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","machine_per_player","exo_stabilizer","exo_soldier",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","machine_per_player","exo_slam","exo_slam",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","machine_per_player","wallbuy","wallbuy",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","machine_per_player","printer","printer",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","machine_per_player","weapon_upgrade","wpn_upgd",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","machine_per_player","power_switch","pwr_swtich",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","an_conv","an_conv_1","an_conv_1a","an_conv,an_conv_1b"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","an_conv","an_conv_1c","an_conv_1c","an_conv,an_conv_1d"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","an_conv","an_conv_2b","an_conv_2b",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","an_conv","an_conv_3b","an_conv_3b",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","an_conv","an_conv_4b","an_conv_4b","an_conv,an_conv_4c"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","an_conv","an_conv_4d","an_conv_4d",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","an_conv","an_conv_5b","an_conv_5b","an_conv,an_conv_5c"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","an_conv","an_conv_5d","an_conv_5d",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","an_conv","an_conv_6","an_conv_6a","an_conv,an_conv_6b"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","an_conv","an_conv_6c","an_conv_6c","an_conv,an_conv_6d"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","an_conv","an_conv_7b","an_conv_7b","an_conv,an_conv_7c"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","an_conv","an_conv_7d","an_conv_7d",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","an_conv","an_conv_8","an_conv_8a",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","an_conv","an_conv_9","an_conv_9a","an_conv,an_conv_9b"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","an_conv","an_conv_9c","an_conv_9c",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","an_conv","an_conv_10","an_conv_10a",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","an_conv","an_conv_11","an_conv_11a","an_conv,an_conv_11b"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","an_conv_repeat","an_conv_12","an_conv_12a","an_conv_12b"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","an_conv_repeat","an_conv_12b","an_conv_12b",undefined); + level.allowzmbannouncer = 1; + level thread terminalsactivatedmonitor(); + level thread terminalattractormonitor(); + level thread monitorkiting(); +} + +//Function Number: 2 +isannouncer(param_00) +{ + return issubstr(param_00.zmbvoxid,"announcer"); +} + +//Function Number: 3 +getannouncer() +{ + return level.vox.speaker["announcer"].ents[0]; +} + +//Function Number: 4 +getannouncers(param_00) +{ + var_01 = []; + var_02 = getarraykeys(level.vox.speaker); + foreach(var_04 in var_02) + { + if(isdefined(param_00) && !issubstr(var_04,param_00)) + { + continue; + } + + if(issubstr(var_04,"announcer")) + { + var_01[var_01.size] = level.vox.speaker[var_04].ents[0]; + } + } + + return var_01; +} + +//Function Number: 5 +isannouncerspeaking() +{ + var_00 = getannouncer(); + return maps\mp\zombies\_util::is_true(var_00.isspeaking); +} + +//Function Number: 6 +isannouncinground() +{ + var_00 = getannouncer(); + return maps\mp\zombies\_util::is_true(var_00.isspeaking) && isdefined(var_00.speakingline) && issubstr(var_00.speakingtype,"zombie_"); +} + +//Function Number: 7 +waittillannouncerdonespeaking() +{ + if(isannouncerspeaking()) + { + var_00 = getannouncer(); + var_00 waittill("done_speaking"); + } +} + +//Function Number: 8 +isanyannouncerspeaking() +{ + var_00 = getannouncers(); + foreach(var_02 in var_00) + { + if(maps\mp\zombies\_util::is_true(var_02.isspeaking)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 9 +waittillallannouncersdonespeaking() +{ + var_00 = getannouncers(); + for(;;) + { + var_01 = 0; + foreach(var_03 in var_00) + { + if(maps\mp\zombies\_util::is_true(var_03.isspeaking)) + { + var_01 = 1; + break; + } + } + + if(!var_01) + { + break; + } + + wait 0.05; + } +} + +//Function Number: 10 +announcerglobaldialogdelay(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + wait(param_02); + return announcerglobaldialog(param_00,param_01,param_03,param_04,param_05,param_06,param_07); +} + +//Function Number: 11 +announcerglobaldialog(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + var_07 = getannouncer(); + return var_07 maps\mp\zombies\_zombies_audio::create_and_play_dialog(param_00,param_01,param_02,param_03,param_04,param_05,param_06); +} + +//Function Number: 12 +announcerinworlddialogdelay(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + wait(param_03); + return announcerinworlddialog(param_00,param_01,param_02,param_04,param_05,param_06,param_07,param_08); +} + +//Function Number: 13 +announcerinworlddialog(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + var_08 = getannouncer(); + var_08.origin = param_02; + return var_08 maps\mp\zombies\_zombies_audio::create_and_play_dialog(param_00,param_01,param_03,param_04,param_05,param_06,param_07); +} + +//Function Number: 14 +playannouncerdialog(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + self endon("stopSpeaking"); + self endon("death"); + self.speakingline = param_02; + self.speakingcategory = param_03; + self.speakingtype = param_04; + self.isspeaking = 1; + self notify("speaking"); + playannouncementwaituntildone(param_02,param_03,param_08); + if(param_00 == "beauford_" || param_00 == "zombie_") + { + wait(1); + } + + self notify("done_speaking"); + level notify("done_speaking"); + if(isdefined(self.classname)) + { + self stopsounds(); + } + + self.isspeaking = 0; + if(maps\mp\zombies\_util::is_true(param_05)) + { + return; + } + + if(isdefined(level.vox.speaker[self.zmbvoxid].response) && isdefined(level.vox.speaker[self.zmbvoxid].response[param_03]) && isdefined(level.vox.speaker[self.zmbvoxid].response[param_03][param_04])) + { + level thread setup_response_line_to_announcer(self,param_06,param_03,param_04); + return; + } + + if(isdefined(level.zmbcustomresponsetoannouncer)) + { + level thread [[ level.zmbcustomresponsetoannouncer ]](self,param_06,param_03,param_04,param_08); + } +} + +//Function Number: 15 +announcercategoryisplaylocal(param_00) +{ + return param_00 == "global_priority" || issubstr(param_00,"an_conv") || param_00 == "global"; +} + +//Function Number: 16 +playannouncementwaituntildone(param_00,param_01,param_02) +{ + if(!isdefined(param_02)) + { + param_02 = level.players; + } + + param_02 = common_scripts\utility::array_removeundefined(param_02); + if(announcercategoryisplaylocal(param_01)) + { + foreach(var_04 in param_02) + { + var_04 playlocalsound(param_00); + } + } + else + { + if(param_02.size > 0 && param_02.size < level.players.size) + { + self hide(); + foreach(var_04 in param_02) + { + self showtoplayer(var_04); + } + } + else + { + self show(); + } + + self playsoundonmovingent(param_00); + } + + var_08 = maps\mp\zombies\_zombies_audio::volength(param_00,param_01); + wait(var_08); +} + +//Function Number: 17 +setup_response_line_to_announcer(param_00,param_01,param_02,param_03) +{ + if(param_02 == "an_conv_repeat") + { + param_03 = level.vox.speaker[param_00.zmbvoxid].response[param_02][param_03]; + param_00 maps\mp\zombies\_zombies_audio::create_and_play_dialog(param_02,param_03,""); + return; + } + + if(!isdefined(param_01)) + { + if(announcercategoryisplaylocal(param_02)) + { + param_01 = level.players[randomintrange(0,level.players.size)]; + } + else + { + param_01 = maps\mp\zombies\_zombies_audio::getrandomcharacterinrange(param_00); + } + } + + if(isdefined(level.zmbaudioresponsetoannounceroverridefunc) && [[ level.zmbaudioresponsetoannounceroverridefunc ]](param_00,param_01,param_02,param_03)) + { + return; + } + + if(isdefined(param_01)) + { + var_04 = level.vox.speaker[param_00.zmbvoxid].response[param_02][param_03]; + var_05 = strtok(var_04,","); + if(var_05.size == 2) + { + param_02 = var_05[0]; + param_03 = var_05[1]; + if(param_02 == "an_conv") + { + var_06 = common_scripts\utility::array_randomize(level.players); + foreach(param_01 in var_06) + { + var_08 = param_01 maps\mp\zombies\_zombies_audio::create_and_play_dialog(param_02,param_03,""); + if(var_08) + { + break; + } + } + + return; + } + + param_01 maps\mp\zombies\_zombies_audio::create_and_play_dialog(param_02,param_03,""); + return; + } + } +} + +//Function Number: 18 +announcerexoonlinedialog() +{ + thread announcerglobaldialog("global_priority","exo_online",undefined,undefined,undefined,undefined,level.players); +} + +//Function Number: 19 +announcerglobalattractordialog(param_00,param_01) +{ + thread announcerglobaldialog("global_priority",param_00,undefined,undefined,undefined,undefined,param_01); +} + +//Function Number: 20 +announcerpickupdialog(param_00,param_01) +{ + thread announcerglobaldialogdelay("global_priority",param_00,0.5,undefined,undefined,undefined,param_01,level.players); +} + +//Function Number: 21 +announcerrounddialog(param_00) +{ + thread announcerglobaldialogdelay("global_priority",param_00,0.5,undefined,undefined,undefined,undefined,level.players); +} + +//Function Number: 22 +announcerhostturndialog() +{ + thread announcerglobaldialogdelay("global_priority","host_turn",1,undefined,undefined,undefined,undefined,level.players); +} + +//Function Number: 23 +announcerdoordialog() +{ + thread announcerglobaldialogdelay("global","door",1,undefined,undefined,undefined,undefined,level.players); +} + +//Function Number: 24 +announcerprintermoveddialog() +{ + thread announcerglobaldialogdelay("global","printer",0.5,undefined,undefined,undefined,undefined,level.players); +} + +//Function Number: 25 +announcerpoweronlinedialog(param_00) +{ + thread announcerglobaldialogdelay("global",param_00,0.5,undefined,undefined,undefined,undefined,level.players); +} + +//Function Number: 26 +terminalsactivatedmonitor() +{ + level.zmannouncerhostcuredebounce = 0; + for(;;) + { + var_00 = level common_scripts\utility::waittill_any_return_parms("terminal_player","terminal_complete"); + if(!isdefined(var_00) || var_00.size < 2) + { + continue; + } + + var_01 = var_00[0]; + var_02 = var_00[1]; + var_03 = var_00[2]; + if(var_01 == "terminal_player") + { + var_04 = var_00[2]; + if(var_02 == "host_cure") + { + if(gettime() < level.zmannouncerhostcuredebounce) + { + continue; + } + + var_05 = announcerinworlddialogdelay("machine_all_players",var_02,var_03,1.5); + if(var_05) + { + level.zmannouncerhostcuredebounce = gettime() + 15000; + } + } + + continue; + } + + if(var_01 == "terminal_complete") + { + if(var_02 == "host_cure") + { + if(gettime() < level.zmannouncerhostcuredebounce) + { + continue; + } + + var_05 = announcerinworlddialogdelay("machine_all_players",var_02 + "2",var_03,1.5); + if(var_05) + { + level.zmannouncerhostcuredebounce = gettime() + 15000; + } + } + } + } +} + +//Function Number: 27 +announcertrapstarteddialog(param_00) +{ + if(isdefined(level.zmannouncertrapdebounce) && gettime() < level.zmannouncertrapdebounce) + { + return; + } + + var_01 = announcerinworlddialogdelay("machine_all_players","laser_trap",param_00,0.5); + if(var_01) + { + level.zmannouncertrapdebounce = gettime() + 30000; + } +} + +//Function Number: 28 +announcerjackpotdialog(param_00) +{ + thread announcerinworlddialogdelay("machine_all_players","jackpot",param_00,0.5); +} + +//Function Number: 29 +terminalattractormonitor() +{ + if(isdefined(level.zmbaudioattractorwait)) + { + wait(level.zmbaudioattractorwait); + } + + var_00 = getentarray("perk_terminal","targetname"); + foreach(var_02 in var_00) + { + var_02 thread _terminalattractormonitor(var_02.itemtype,300,80); + } + + var_04 = getentarray("wallbuy","targetname"); + foreach(var_06 in var_04) + { + var_06 thread _terminalattractormonitor("wallbuy",150,80); + } + + var_08 = getentarray("magic_box","targetname"); + foreach(var_06 in var_08) + { + var_06 thread _terminalattractormonitor("printer",250,80); + } + + var_0B = getentarray("weapon_level_box","targetname"); + foreach(var_06 in var_0B) + { + var_06 thread _terminalattractormonitor("weapon_upgrade",300,80); + } + + var_0E = common_scripts\utility::getstructarray("power_switch","targetname"); + foreach(var_10 in var_0E) + { + var_10 thread _terminalattractormonitor("power_switch",150,80); + } +} + +//Function Number: 30 +_terminalattractormonitor(param_00,param_01,param_02) +{ + if(maps\mp\zombies\_util::is_true(self.noattract)) + { + return; + } + + var_03 = cos(param_02); + var_04 = param_01 * param_01; + if(param_00 == "host_cure") + { + return; + } + + if(maps\mp\zombies\_util::getzombieslevelnum() == 3 && param_00 == "exo_tacticalArmor") + { + return; + } + + level waittill("player_spawned"); + if(param_00 == "power_switch") + { + wait(8); + } + + for(;;) + { + wait 0.05; + if(isdefined(self.script_flag_true)) + { + common_scripts\utility::flag_wait(self.script_flag_true); + if(isdefined(self.postpowerattractorwait)) + { + wait(self.postpowerattractorwait); + self.postpowerattractorwait = undefined; + } + } + + if(maps\mp\zombies\_util::is_true(self.trigger_off)) + { + if(isdefined(self.claimed) && !self.claimed) + { + self waittill("claimed"); + } + + continue; + } + + if(param_00 == "printer" && !isdefined(self.active) || !self.active) + { + wait(1); + continue; + } + + if(isannouncerspeaking()) + { + waittillannouncerdonespeaking(); + wait(1); + continue; + } + + var_05 = _getplayerlistforattractor(self,param_00); + if(var_05.size == 0) + { + return; + } + + var_06 = _getplayersinattractorrange(self,var_05,var_04,var_03); + if(var_06.size == 0) + { + continue; + } + + if(isdefined(self.firsttimeattractorwait)) + { + wait(self.firsttimeattractorwait); + self.firsttimeattractorwait = undefined; + } + + var_07 = announcerinworlddialog("machine_per_player",param_00,self.origin,undefined,undefined,undefined,undefined,var_06); + if(var_07) + { + foreach(var_09 in var_06) + { + var_09 _playersetattractor(param_00); + } + } + } +} + +//Function Number: 31 +_getplayerlistforattractor(param_00,param_01) +{ + var_02 = []; + if(isdefined(param_00.claimed)) + { + if(param_00.claimed && isdefined(param_00.claimedby) && !param_00.claimedby _playerplayedattractor(param_01)) + { + var_02[0] = param_00.claimedby; + } + } + else + { + foreach(var_04 in level.players) + { + if(!var_04 _playerplayedattractor(param_01)) + { + var_02[var_02.size] = var_04; + } + } + } + + return var_02; +} + +//Function Number: 32 +_getplayersinattractorrange(param_00,param_01,param_02,param_03) +{ + var_04 = []; + if(level.nextgen) + { + } + else + { + } + + foreach(var_06 in param_01) + { + var_07 = abs(var_06.origin[2] - param_00.origin[2]); + if(!maps\mp\zombies\_util::isplayerinfected(var_06) && var_07 < 100 && distancesquared(var_06.origin,param_00.origin) < param_02) + { + if(level.nextgen) + { + var_08 = anglestoforward(param_00.modelent.angles); + var_09 = vectornormalize(var_06.origin - param_00.modelent.origin); + var_0A = vectordot(var_08,var_09); + if(var_0A > param_03) + { + var_04[var_04.size] = var_06; + } + + continue; + } + + var_04[var_04.size] = var_06; + } + } + + return var_04; +} + +//Function Number: 33 +_playersetattractor(param_00) +{ + if(!isdefined(self.attractorsvo)) + { + self.attractorsvo = []; + } + + self.attractorsvo[param_00] = 1; +} + +//Function Number: 34 +_playerplayedattractor(param_00) +{ + return isdefined(self.attractorsvo) && isdefined(self.attractorsvo[param_00]) && self.attractorsvo[param_00]; +} + +//Function Number: 35 +monitorkiting() +{ + if(!isdefined(level.numkitingconversations)) + { + level.numkitingconversations = 12; + } + + if(level.numkitingconversations == 0) + { + return; + } + + level.kitingconversations = []; + for(var_00 = 1;var_00 <= level.numkitingconversations;var_00++) + { + level.kitingconversations[level.kitingconversations.size] = var_00; + } + + if(!maps\mp\zombies\_util::is_true(level.zmbaudioskiprandomizingkitingvo)) + { + level.kitingconversations = common_scripts\utility::array_randomize(level.kitingconversations); + } + + if(!isdefined(level.zmbaudiokitingstartwave)) + { + level.zmbaudiokitingstartwave = 4; + } + + for(;;) + { + level waittill("zombie_wave_started"); + if(level.kitingconversations.size == 0) + { + return; + } + + if(level.wavecounter < level.zmbaudiokitingstartwave) + { + continue; + } + + wait 0.05; + while(level.zombie_spawning_active) + { + wait(1); + } + + var_01 = maps\mp\zombies\zombies_spawn_manager::getnumberofzombies(); + for(;;) + { + if(var_01 == 0) + { + break; + } + else if(var_01 == 1) + { + if(isdefined(level.zmbaudiokitingcustom)) + { + thread [[ level.zmbaudiokitingcustom ]](); + } + else + { + thread _kitingplayrandomvo(); + } + + break; + } + + var_01 = maps\mp\zombies\zombies_spawn_manager::getnumberofzombies(); + wait 0.05; + } + } +} + +//Function Number: 36 +_kitingplayrandomvo() +{ + level endon("zombie_wave_ended"); + wait(randomintrange(15,30)); + var_00 = level.kitingconversations.size - 1; + var_01 = level.kitingconversations[var_00]; + var_02 = "an_conv"; + var_03 = "an_conv_" + var_01; + var_04 = 0; + if(isdefined(level.vox.speaker["player"].alias[var_02]) && isdefined(level.vox.speaker["player"].alias[var_02][var_03])) + { + var_05 = common_scripts\utility::array_randomize(level.players); + foreach(var_07 in var_05) + { + maps\mp\zombies\_zombies_audio::waituntilquietnearby(var_07,var_02); + var_08 = var_07 maps\mp\zombies\_zombies_audio::create_and_play_dialog(var_02,var_03); + if(var_08) + { + break; + } + } + } + else if(isdefined(level.vox.speaker["announcer"].alias[var_02]) && isdefined(level.vox.speaker["announcer"].alias[var_02][var_03])) + { + var_0A = getannouncer(); + maps\mp\zombies\_zombies_audio::waituntilquietnearby(var_0A,var_02); + var_0A maps\mp\zombies\_zombies_audio::create_and_play_dialog(var_02,var_03,undefined,undefined,undefined,level.player,level.players); + } + else + { + } + + level.kitingconversations[var_00] = undefined; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/_zombies_audio_dlc2.gsc b/AW/PC/maps/mp/zombies/_zombies_audio_dlc2.gsc new file mode 100644 index 0000000..c204699 --- /dev/null +++ b/AW/PC/maps/mp/zombies/_zombies_audio_dlc2.gsc @@ -0,0 +1,903 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_zombies_audio_dlc2.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 33 + * Decompile Time: 500 ms + * Timestamp: 4/22/2024 2:14:29 AM +*******************************************************************/ + +//Function Number: 1 +initdlc2audio() +{ + level._zmbvoxlevelspecific = ::initleveldialog; + level.zmbsoundlengthpath = "mp/sound/soundlength_zm_mp_dlc2.csv"; + level.zmbaudiowave1vo = ::zmbaudiowave1vo; + level.zmbaudiowavestartvo = ::zmbaudiowavestartvo; + level.zmbwaveintermissionvo = ::zmbwaveintermissionvo; + level._audio_custom_response_line = ::zmbcustomresponseline; + level.zmaudiocustomtrapvo = ::zmaudiocustomtrapvo; + level thread zoneopenedvo(); + level thread zmbaudiomidroundwavelogic(); + level thread zmbspotzombiesvo(); + level thread zmbaudioacidpoolvo(); +} + +//Function Number: 2 +initleveldialog() +{ + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","wave1","dlc2_gameopen",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","wave1b","dlc2_gameopenb",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","pilot_conv","wave1_int","wave1_int",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","pilot_conv","wave2_int","wave2_int",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","pilot_conv","wave3_int","wave3_int","global_priority,wave3b_int"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","pilot_conv","wave3b_int","wave3b_int",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","pilot_conv","wave5_int","wave5_int",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","pilot_conv","wave5b_int","wave5b_int",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","to_burgertown","burgertown",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","to_sewers","sewers",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","to_voltage","voltage",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","to_atlas","atlasfac",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","trap_snipers","dlc2_sniper",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","trap_gators","dlc2_gator",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","trap_airstrike","dlc2_ostrike",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","trap_electric_floor","dlc2_ftrap",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","trap_ambulance","dlc2_ambulance",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","toxic_zone","dlc2_gastrap",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","spot_first_acid","acid_spot_first",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","spot_acid","acid_spot",undefined,10); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","spot_first_spiked","dlc2_spike1st",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","spot_spiked","dlc2_spikespot",undefined,10); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","spot_first_goliath","goliath_spot_first",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","spot_goliath","goliath_spot",undefined,40); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","goliath_shoot","goliath_shoot",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","acid_pool","acid_encounter",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","civilian","rescue_win_first","success",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","civilian","rescue_fail_first","1stfail",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","civilian","rescue_prewave","rescue_prewave1",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","civilian","rescue_prewave_tense","rescue_pretensewave",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","civilian","rescue_wave","rescue_wave",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","civilian","rescue_wave_tense","rescue_tensewave",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","civilian","rescue_win","rescue_win",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","civilian","rescue_win_tense","rescue_tense_win",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","civilian","rescue_fail","rescue_fail",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","civilian","rescue_fail_tense","rescue_tense_fail",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","civilian","rescue_remind","remind_wave",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","civilian","rescue_remind_tense","rescue_tense_remind",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","civilian","survivor_callout","survivor_callout",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","civilian","survivor_response","survivor_response",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","civilian","survivor_instruct","survivor_instruct",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","civilian","survivor_exit","survivor_exit",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","kill","microwave","dlc2_microgun_kill",undefined,75); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","kill","goliath_kill","goliath_kill",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","kill","acid_kill","acid_kill",undefined,25); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","kill","acid_pool","acid_encounter",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","weapon_pickup","iw5_microwavezm_mp","dlc2_microgun",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_it_1","it_exec_wave_intermission_ctx01",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_it_2","it_exec_wave_intermission_ctx02",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_it_3","it_exec_wave_intermission_ctx03",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_it_4","it_exec_wave_intermission_ctx04",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_it_5","it_exec_wave_intermission_ctx05",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_it_6","it_exec_wave_intermission_ctx06",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_it_7","it_exec_wave_intermission_ctx07",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_it_8","it_exec_wave_intermission_ctx08",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_exec_9","it_exec_wave_intermission_ctx09",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_it_10","it_exec_wave_intermission_ctx10",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_guard_1","guard_exec_wave_intermission_ctx01",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_exec_2","guard_exec_wave_intermission_ctx02",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_exec_3","guard_exec_wave_intermission_ctx03",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_guard_4","guard_exec_wave_intermission_ctx04",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_guard_5","guard_exec_wave_intermission_ctx05",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_exec_6","guard_exec_wave_intermission_ctx06",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_exec_7","guard_exec_wave_intermission_ctx07",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_guard_8","guard_exec_wave_intermission_ctx08",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_guard_9","guard_exec_wave_intermission_ctx09",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_guard_10","guard_exec_wave_intermission_ctx10",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_janitor_1","janitor_exec_wave_intermission_ctx01",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_janitor_2","janitor_exec_wave_intermission_ctx02",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_janitor_3","janitor_exec_wave_intermission_ctx03",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_janitor_4","janitor_exec_wave_intermission_ctx04",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","janitor_exec_5","janitor_exec_wave_intermission_ctx05",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_janitor_6","janitor_exec_wave_intermission_ctx06",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_janitor_7","janitor_exec_wave_intermission_ctx07",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_janitor_8","janitor_exec_wave_intermission_ctx08",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_janitor_9","janitor_exec_wave_intermission_ctx09",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_janitor_10","janitor_exec_wave_intermission_ctx10",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_it_1","it_guard_wave_intermission_ctx01",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_it_2","it_guard_wave_intermission_ctx02",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_guard_3","it_guard_wave_intermission_ctx03",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_it_4","it_guard_wave_intermission_ctx04",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_it_5","it_guard_wave_intermission_ctx05",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_it_6","it_guard_wave_intermission_ctx06",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_it_7","it_guard_wave_intermission_ctx07",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_it_8","it_guard_wave_intermission_ctx08",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_it_9","it_guard_wave_intermission_ctx09",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_it_10","it_guard_wave_intermission_ctx10",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_janitor_1","it_janitor_wave_intermission_ctx01",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_janitor_2","it_janitor_wave_intermission_ctx02",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_janitor_3","it_janitor_wave_intermission_ctx03",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_janitor_4","it_janitor_wave_intermission_ctx04",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_janitor_5","it_janitor_wave_intermission_ctx05",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_janitor_6","it_janitor_wave_intermission_ctx06",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_janitor_7","it_janitor_wave_intermission_ctx07",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_janitor_8","it_janitor_wave_intermission_ctx08",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","janitor_it_9","it_janitor_wave_intermission_ctx09",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","janitor_it_10","it_janitor_wave_intermission_ctx10",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_janitor_1","guard_janitor_wave_intermission_ctx01",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_janitor_2","guard_janitor_wave_intermission_ctx02",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_janitor_3","guard_janitor_wave_intermission_ctx03",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_janitor_4","guard_janitor_wave_intermission_ctx04",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_janitor_5","guard_janitor_wave_intermission_ctx05",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_janitor_6","guard_janitor_wave_intermission_ctx06",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","janitor_guard_7","guard_janitor_wave_intermission_ctx07",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_janitor_8","guard_janitor_wave_intermission_ctx08",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_janitor_9","guard_janitor_wave_intermission_ctx09",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_janitor_10","guard_janitor_wave_intermission_ctx10",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","gas_warning","trap",undefined); + var_00 = spawn("script_model",(0,0,0)); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxinitspeaker("announcer_pilot","pilot_",var_00,0); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_pilot","global_priority","wave1_int","wave1_int","pilot_conv,wave1_int"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_pilot","global_priority","wave3_int","wave3_int","pilot_conv,wave3_int"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_pilot","global_priority","wave3b_int","wave3b_int","pilot_conv,wave3b_int"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_pilot","global_priority","wave5_int","wave5_int",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_pilot","global_priority","wave5b_int","wave5b_int",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_pilot","global_priority","rescue_win_first","success",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_pilot","global_priority","rescue_fail_first","1stfail",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_pilot","global_priority","rescue_prewave","rescue_prewave1",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_pilot","global_priority","rescue_prewave_tense","rescue_pretensewave",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_pilot","global_priority","rescue_wave","rescue_wave","civilian,rescue_wave"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_pilot","global_priority","rescue_wave_tense","rescue_tensewave","civilian,rescue_wave_tense"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_pilot","global_priority","rescue_win","rescue_win","civilian,rescue_win"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_pilot","global_priority","rescue_win_tense","rescue_tense_win","civilian,rescue_win_tense"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_pilot","global_priority","rescue_fail","rescue_fail","civilian,rescue_fail"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_pilot","global_priority","rescue_fail_tense","rescue_tense_fail","civilian,rescue_fail_tense"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_pilot","global_priority","rescue_remind","remind_wave","civilian,rescue_remind"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_pilot","global_priority","rescue_remind_tense","rescue_tense_remind","civilian,rescue_remind_tense"); + var_01 = spawn("script_model",(0,0,0)); + level.survivorvoent = var_01; + level.vox maps\mp\zombies\_zombies_audio::zmbvoxinitspeaker("survivor1","survivor_",var_01,0); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxinitspeaker("survivor2","survivor02_",var_01,0); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxinitspeaker("survivor3","survivor03_",var_01,0); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("survivor1","general","callout","callout",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("survivor2","general","callout","callout",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("survivor3","general","callout","callout",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("survivor1","general","greet","greet",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("survivor2","general","greet","greet",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("survivor3","general","greet","greet",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("survivor1","general","freakout","freakout",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("survivor2","general","freakout","freakout",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("survivor3","general","freakout","freakout",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("survivor1","general","instruct","instruct",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("survivor2","general","instruct","instruct",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("survivor3","general","instruct","instruct",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("survivor1","general","exit","exit",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("survivor2","general","exit","exit",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("survivor3","general","exit","exit",undefined); +} + +//Function Number: 3 +zmbaudiomidroundwavelogic() +{ + level.zmlastcivilianchatterplayed = 0; + level.zmnumcivilianroundsattempted = 0; + for(;;) + { + level waittill("zombie_wave_started"); + if(level.wavecounter + 1 == level.nextcivilianround) + { + level thread zmbtrackzombiesprecivilianchatter(); + } + + if(level.roundtype == "civilian") + { + level thread zmbcivilianremindervo(); + level thread zmbciviliansurvivorvo(); + level thread zmbcivilianroundfinishedvo(); + } + } +} + +//Function Number: 4 +zmbtrackzombiesprecivilianchatter() +{ + wait 0.05; + while(level.zombie_spawning_active) + { + wait(1); + } + + var_00 = maps\mp\zombies\zombies_spawn_manager::getnumberofzombies(); + for(;;) + { + if(var_00 <= 10) + { + break; + } + + var_00 = maps\mp\zombies\zombies_spawn_manager::getnumberofzombies(); + wait 0.05; + } + + var_01 = maps\mp\zombies\_zombies_audio_announcer::getannouncers("pilot"); + var_02 = var_01[0]; + var_03 = "rescue_prewave"; + if(zmbaudioiscivilianroundtense()) + { + var_03 = var_03 + "_tense"; + } + + waittilldonespeaking(); + if(var_02 maps\mp\zombies\_zombies_audio::create_and_play_dialog("global_priority",var_03)) + { + var_02 common_scripts\utility::waittill_notify_or_timeout("done_speaking",12); + var_04 = randomintrange(0,level.players.size); + var_05 = level.players[var_04]; + if(var_05 maps\mp\zombies\_zombies_audio::create_and_play_dialog("civilian",var_03)) + { + var_05 common_scripts\utility::waittill_notify_or_timeout("done_speaking",12); + } + } + + level.zmlastcivilianchatterplayed = level.wavecounter; + level notify("civilianPreChatterComplete"); +} + +//Function Number: 5 +anyplayersspeaking() +{ + foreach(var_01 in level.players) + { + if(maps\mp\zombies\_util::is_true(var_01.isspeaking)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 6 +waittilldonespeaking() +{ + while(anyplayersspeaking() || maps\mp\zombies\_zombies_audio_announcer::isannouncerspeaking()) + { + wait 0.05; + } +} + +//Function Number: 7 +zmbcivilianremindervo() +{ + level endon("civilian_spawned"); + wait(30); + var_00 = "rescue_remind"; + if(zmbaudioiscivilianroundtense()) + { + var_00 = var_00 + "_tense"; + } + + var_01 = maps\mp\zombies\_zombies_audio_announcer::getannouncers("pilot"); + var_02 = var_01[0]; + if(isdefined(var_02)) + { + var_02 maps\mp\zombies\_zombies_audio::create_and_play_dialog("global_priority",var_00); + } +} + +//Function Number: 8 +zmbciviliansurvivorvo() +{ + level waittill("civilian_spawned",var_00); + var_00 endon("death"); + var_01 = level.survivorvoent; + var_01.zmbvoxid = "survivor" + randomintrange(1,4); + var_01 linkto(var_00,"tag_origin",(0,0,60),(0,0,0)); + wait 0.05; + if(var_01 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","callout")) + { + var_01 common_scripts\utility::waittill_notify_or_timeout("done_speaking",10); + var_02 = getclosestplayer(var_01.origin); + if(var_02 maps\mp\zombies\_zombies_audio::create_and_play_dialog("civilian","survivor_callout")) + { + var_02 common_scripts\utility::waittill_notify_or_timeout("done_speaking",10); + } + } + + var_03 = 65536; + while(!var_00 maps\mp\zombies\_civilians::areplayerswithinrange(var_03)) + { + wait 0.05; + } + + if(var_01 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","greet")) + { + var_01 common_scripts\utility::waittill_notify_or_timeout("done_speaking",10); + var_02 = getclosestplayer(var_01.origin); + if(var_02 maps\mp\zombies\_zombies_audio::create_and_play_dialog("civilian","survivor_response")) + { + var_02 common_scripts\utility::waittill_notify_or_timeout("done_speaking",10); + } + } + + var_04 = 8000; + var_05 = 0; + for(;;) + { + var_06 = var_00 common_scripts\utility::waittill_any_return_no_endon_death("damage","begin_extraction","extraction_started"); + if(var_06 == "damage" && gettime() > var_05) + { + var_01 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","freakout"); + var_05 = gettime() + var_04; + } + + if(var_06 == "begin_extraction") + { + var_02 = getclosestplayer(var_01.origin); + if(var_02 maps\mp\zombies\_zombies_audio::create_and_play_dialog("civilian","survivor_instruct")) + { + var_02 common_scripts\utility::waittill_notify_or_timeout("done_speaking",10); + if(var_01 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","instruct")) + { + var_01 common_scripts\utility::waittill_notify_or_timeout("done_speaking",10); + } + } + } + + if(var_06 == "extraction_started") + { + var_02 = getclosestplayer(var_01.origin); + if(var_02 maps\mp\zombies\_zombies_audio::create_and_play_dialog("civilian","survivor_exit")) + { + var_02 common_scripts\utility::waittill_notify_or_timeout("done_speaking",10); + if(var_01 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","exit")) + { + var_01 common_scripts\utility::waittill_notify_or_timeout("done_speaking",10); + } + } + + return; + } + } +} + +//Function Number: 9 +getclosestplayer(param_00) +{ + var_01 = sortbydistance(level.players,param_00,undefined,1); + return var_01[0]; +} + +//Function Number: 10 +zmbcivilianroundfinishedvo() +{ + var_00 = level common_scripts\utility::waittill_any_return("extraction_failed","extraction_complete"); + wait(3); + var_01 = "rescue"; + if(var_00 == "extraction_complete") + { + var_01 = var_01 + "_win"; + } + else + { + var_01 = var_01 + "_fail"; + } + + if(level.wavecounter == level.firstcivilianround) + { + var_01 = var_01 + "_first"; + var_02 = maps\mp\zombies\_zombies_audio_announcer::getannouncers("pilot"); + var_03 = var_02[0]; + if(isdefined(var_03) && var_03 maps\mp\zombies\_zombies_audio::create_and_play_dialog("global_priority",var_01)) + { + var_03 common_scripts\utility::waittill_notify_or_timeout("done_speaking",5); + } + + var_04 = maps\mp\zombies\_zombies_audio::getcharacterbyprefix("it"); + if(isdefined(var_04) && var_04 maps\mp\zombies\_zombies_audio::create_and_play_dialog("civilian",var_01)) + { + var_04 common_scripts\utility::waittill_notify_or_timeout("done_speaking",5); + } + + var_05 = maps\mp\zombies\_zombies_audio::getanycharacterbyprefixexcept("it"); + if(isdefined(var_05) && var_05 maps\mp\zombies\_zombies_audio::create_and_play_dialog("civilian",var_01)) + { + var_05 common_scripts\utility::waittill_notify_or_timeout("done_speaking",5); + } + } + else + { + if(zmbaudioiscivilianroundtense()) + { + var_03 = var_03 + "_tense"; + } + + var_02 = maps\mp\zombies\_zombies_audio_announcer::getannouncers("pilot"); + var_03 = var_03[0]; + if(isdefined(var_03)) + { + var_03 maps\mp\zombies\_zombies_audio::create_and_play_dialog("global_priority",var_01); + } + } + + level.zmnumcivilianroundsattempted++; +} + +//Function Number: 11 +zmbaudioiscivilianroundtense() +{ + return level.zmnumcivilianroundsattempted > 4; +} + +//Function Number: 12 +zmbaudiowave1vo() +{ + if(level.players.size == 1 && maps\mp\zombies\_util::get_player_index(level.players[0]) != maps\mp\zombies\_zombies_audio::getcharacterindexbyprefix("it")) + { + level.players[0] maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","intro"); + return; + } + + var_00 = maps\mp\zombies\_zombies_audio::getcharacterbyprefix("it"); + if(isdefined(var_00) && var_00 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","wave1")) + { + level common_scripts\utility::waittill_notify_or_timeout("done_speaking",5); + } + + if(level.players.size == 1) + { + return; + } + + var_00 = maps\mp\zombies\_zombies_audio::getcharacterbyprefix("exec"); + if(isdefined(var_00) && var_00 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","wave1")) + { + level common_scripts\utility::waittill_notify_or_timeout("done_speaking",5); + } + + var_00 = maps\mp\zombies\_zombies_audio::getcharacterbyprefix("guard"); + if(isdefined(var_00) && var_00 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","wave1")) + { + level common_scripts\utility::waittill_notify_or_timeout("done_speaking",5); + } + + var_00 = maps\mp\zombies\_zombies_audio::getcharacterbyprefix("it"); + if(isdefined(var_00) && var_00 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","wave1b")) + { + level common_scripts\utility::waittill_notify_or_timeout("done_speaking",5); + } + + var_00 = maps\mp\zombies\_zombies_audio::getcharacterbyprefix("janitor"); + if(isdefined(var_00) && var_00 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","wave1")) + { + level common_scripts\utility::waittill_notify_or_timeout("done_speaking",5); + } +} + +//Function Number: 13 +zmbaudiowavestartvo(param_00) +{ + if(!param_00 && level.wavecounter == 5 || level.wavecounter == 10 || level.wavecounter == 20 || level.wavecounter == 35 || level.wavecounter == 50) + { + var_01 = randomintrange(0,level.players.size); + level.players[var_01] maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","round_" + level.wavecounter); + param_00 = 1; + } + + return param_00; +} + +//Function Number: 14 +zmbwaveintermissionvo(param_00) +{ + var_01 = param_00; + if(level.wavecounter == 1) + { + var_02 = maps\mp\zombies\_zombies_audio_announcer::getannouncers("pilot"); + var_03 = var_02[0]; + var_03 maps\mp\zombies\_zombies_audio::create_and_play_dialog("global_priority","wave1_int"); + var_01 = 1; + } + else if(level.wavecounter == 2) + { + level thread maps\mp\zombies\_zombies_audio::playwavenumintrodialog("wave2_int",2,0,1,3,"pilot_conv"); + var_01 = 1; + } + else if(level.wavecounter == 3) + { + var_02 = maps\mp\zombies\_zombies_audio_announcer::getannouncers("pilot"); + var_03 = var_02[0]; + var_03 maps\mp\zombies\_zombies_audio::create_and_play_dialog("global_priority","wave3_int"); + var_01 = 1; + } + else if(level.wavecounter == 5) + { + var_02 = maps\mp\zombies\_zombies_audio_announcer::getannouncers("pilot"); + var_03 = var_02[0]; + if(var_03 maps\mp\zombies\_zombies_audio::create_and_play_dialog("global_priority","wave5_int")) + { + var_03 common_scripts\utility::waittill_notify_or_timeout("done_speaking",10); + } + + var_04 = maps\mp\zombies\_zombies_audio::getcharacterbyprefix("janitor"); + if(isdefined(var_04) && var_04 maps\mp\zombies\_zombies_audio::create_and_play_dialog("pilot_conv","wave5_int")) + { + var_04 common_scripts\utility::waittill_notify_or_timeout("done_speaking",10); + } + + waittilldonespeaking(); + if(var_03 maps\mp\zombies\_zombies_audio::create_and_play_dialog("global_priority","wave5b_int")) + { + var_03 common_scripts\utility::waittill_notify_or_timeout("done_speaking",10); + } + + var_05 = maps\mp\zombies\_zombies_audio::getcharacterbyprefix("it"); + if(isdefined(var_05) && var_05 maps\mp\zombies\_zombies_audio::create_and_play_dialog("pilot_conv","wave5b_int")) + { + var_05 common_scripts\utility::waittill_notify_or_timeout("done_speaking",10); + } + + var_01 = 1; + } + else if(level.wavecounter + 1 == level.nextcivilianround) + { + level thread zmplaycivilianmissionstartvo(); + } + + return var_01; +} + +//Function Number: 15 +zmplaycivilianmissionstartvo() +{ + if(level.zmlastcivilianchatterplayed < level.wavecounter) + { + level waittill("civilianPreChatterComplete"); + } + + var_00 = "rescue_wave"; + if(zmbaudioiscivilianroundtense()) + { + var_00 = var_00 + "tense"; + } + + var_01 = maps\mp\zombies\_zombies_audio_announcer::getannouncers("pilot"); + var_02 = var_01[0]; + var_02 maps\mp\zombies\_zombies_audio::create_and_play_dialog("global_priority",var_00); +} + +//Function Number: 16 +zoneopenedvo() +{ + level thread _waitandplayzonevo("sewer_to_burgertown",undefined,"to_burgertown"); + level thread _waitandplayzonevo("gas_station_to_sewer","atlas_to_sewer","to_sewers"); + level thread _waitandplayzonevo("warehouse_to_gas_station","gas_station_to_sewer","to_voltage"); + level thread _waitandplayzonevo("warehouse_to_atlas","atlas_to_sewer","to_atlas"); +} + +//Function Number: 17 +_waitandplayzonevo(param_00,param_01,param_02) +{ + var_03 = level common_scripts\utility::waittill_any_return_parms(param_00,param_01); + var_04 = var_03[0]; + var_05 = var_03[1]; + var_06 = maps\mp\zombies\_zombies_audio_announcer::getannouncer(); + var_06 common_scripts\utility::waittill_notify_or_timeout("done_speaking",3); + wait(0.5); + if(isdefined(var_05)) + { + var_05 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general",param_02); + } +} + +//Function Number: 18 +zmbcustomresponseline(param_00,param_01,param_02,param_03,param_04) +{ + if(param_02 == "pilot_conv") + { + level thread setup_pilot_conversation_response_line(param_00,param_02,param_03); + return; + } + + if(param_02 == "an_conv" || param_02 == "civilian") + { + level thread maps\mp\zombies\_zombies_audio::setup_announcer_conversation_response_line(param_00,param_02,param_03); + return; + } + + level thread maps\mp\zombies\_zombies_audio::setup_response_line(param_00,param_01,param_02,param_03,param_04); +} + +//Function Number: 19 +setup_pilot_conversation_response_line(param_00,param_01,param_02) +{ + var_03 = maps\mp\zombies\_zombies_audio_announcer::getannouncers("pilot"); + var_04 = var_03[0]; + var_05 = level.vox.speaker[param_00.zmbvoxid].response[param_01][param_02]; + var_06 = strtok(var_05,","); + if(var_06.size == 2) + { + param_01 = var_06[0]; + param_02 = var_06[1]; + var_04 maps\mp\zombies\_zombies_audio::create_and_play_dialog(param_01,param_02); + return; + } + + if(var_06.size == 1) + { + param_02 = var_06[0]; + var_07 = common_scripts\utility::array_randomize(level.players); + foreach(param_00 in var_07) + { + var_09 = param_00 maps\mp\zombies\_zombies_audio::create_and_play_dialog(param_01,param_02,""); + if(var_09) + { + break; + } + } + } +} + +//Function Number: 20 +zmaudiocustomtrapvo(param_00,param_01) +{ + wait(1); + if(!isdefined(param_00.script_noteworthy) || !isdefined(param_01)) + { + return; + } + + param_01 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general",param_00.script_noteworthy); +} + +//Function Number: 21 +zmaudiotoxiczonesvo(param_00) +{ + var_01 = common_scripts\utility::array_randomize(level.players); + foreach(var_03 in param_00) + { + foreach(var_05 in var_01) + { + if(maps\mp\zombies\_zombies_zone_manager::isplayerinzone(var_03)) + { + var_05 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","toxic_zone"); + return; + } + } + } +} + +//Function Number: 22 +zmbspotzombiesvo() +{ + level thread zmbspotzombie("spiked"); + level thread zmbspotzombie("acid"); + level thread zmbhandlegoliath(); +} + +//Function Number: 23 +zmbhandlegoliath() +{ + level.zmbaudioplayedfirstspotmeleegoliath = 0; + for(;;) + { + level waittill("onZombieMeleeGoliathSpawn",var_00); + level thread zmbspotgoliath(var_00); + } +} + +//Function Number: 24 +zmbspotgoliath(param_00) +{ + param_00 endon("death"); + var_01 = 1; + level thread notifyongoliathdamaged(param_00,"waittillPlayerSpotsGoliathReturn","damage"); + level thread notifyonplayerclosetogoliath(param_00,"waittillPlayerSpotsGoliathReturn","close"); + for(;;) + { + param_00 waittill("waittillPlayerSpotsGoliathReturn",var_02,var_03); + if(!isdefined(var_02)) + { + continue; + } + + if(!level.zmbaudioplayedfirstspotmeleegoliath) + { + if(var_02 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","spot_first_goliath")) + { + var_01 = 0; + level.zmbaudioplayedfirstspotmeleegoliath = 1; + } + } + else if(var_01) + { + var_02 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","spot_goliath"); + var_01 = 0; + } + else if(var_03 == "damage" && param_00.health <= param_00.maxhealth / 2) + { + if(var_02 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","goliath_shoot")) + { + return; + } + } + + wait 0.05; + level thread notifyongoliathdamaged(param_00,"waittillPlayerSpotsGoliathReturn","damage"); + } +} + +//Function Number: 25 +notifyongoliathdamaged(param_00,param_01,param_02) +{ + param_00 endon(param_01); + param_00 endon("death"); + for(;;) + { + param_00 waittill("damage",var_03,var_04); + param_00 notify(param_01,var_04,param_02); + } +} + +//Function Number: 26 +notifyonplayerclosetogoliath(param_00,param_01,param_02) +{ + param_00 endon(param_01); + param_00 endon("death"); + for(;;) + { + var_03 = getplayerclosetozombie(param_00); + if(isdefined(var_03)) + { + param_00 notify(param_01,var_03,param_02); + return; + } + + wait 0.05; + } +} + +//Function Number: 27 +zmbspotzombie(param_00) +{ + level thread notifyonround(7,"end_spot_zombie_round_7"); + level endon("end_spot_zombie_round_7"); + var_01 = 1; + for(;;) + { + var_02 = waittillplayerspotszombiereturn(param_00); + if(!isdefined(var_02)) + { + continue; + } + + if(!var_01) + { + if(var_02 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","spot_first_" + param_00)) + { + var_01 = 1; + wait(15); + } + else + { + wait(1); + } + + continue; + } + else + { + var_02 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","spot_" + param_00); + } + + wait(15); + } +} + +//Function Number: 28 +notifyonround(param_00,param_01) +{ + for(;;) + { + level waittill("zombie_wave_started"); + if(level.wavecounter >= param_00) + { + level notify(param_01); + return; + } + } +} + +//Function Number: 29 +waittillplayerspotszombiereturn(param_00) +{ + level thread notifyonzombiemutatordamaged(param_00,"waittillPlayerSpotsZombieReturn_" + param_00); + level thread notifyonplayerclosetozombiemutator(param_00,"waittillPlayerSpotsZombieReturn_" + param_00); + level waittill("waittillPlayerSpotsZombieReturn_" + param_00,var_01); + return var_01; +} + +//Function Number: 30 +notifyonzombiemutatordamaged(param_00,param_01) +{ + level endon(param_01); + level endon("end_spot_zombie_round_7"); + for(;;) + { + level waittill("zombie_damaged",var_02,var_03); + if(!isdefined(var_03) || !isdefined(var_02) || !var_02 maps\mp\zombies\_util::checkactivemutator(param_00)) + { + continue; + } + + level notify(param_01,var_03); + } +} + +//Function Number: 31 +notifyonplayerclosetozombiemutator(param_00,param_01) +{ + level endon(param_01); + level endon("end_spot_zombie_round_7"); + for(;;) + { + var_02 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + foreach(var_04 in var_02) + { + if(var_04.team == level.playerteam || !var_04 maps\mp\zombies\_util::checkactivemutator(param_00)) + { + continue; + } + + var_05 = getplayerclosetozombie(var_04); + if(isdefined(var_05)) + { + level notify(param_01,var_05); + return; + } + } + + wait 0.05; + } +} + +//Function Number: 32 +getplayerclosetozombie(param_00) +{ + var_01 = 90000; + foreach(var_03 in level.players) + { + var_04 = distancesquared(var_03.origin,param_00.origin); + if(var_04 <= var_01) + { + return var_03; + } + } +} + +//Function Number: 33 +zmbaudioacidpoolvo() +{ + for(;;) + { + if(level.nextgen) + { + level waittill("acid_zone_created",var_00); + var_01 = getclosestplayer(var_00.origin); + } + else + { + level waittill("acid_zone_created",var_02); + var_01 = getclosestplayer(var_02); + } + + if(var_01 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","acid_pool")) + { + level waittill("zombie_wave_started"); + if(level.wavecounter > 6) + { + return; + } + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/_zombies_audio_dlc3.gsc b/AW/PC/maps/mp/zombies/_zombies_audio_dlc3.gsc new file mode 100644 index 0000000..c6360c5 --- /dev/null +++ b/AW/PC/maps/mp/zombies/_zombies_audio_dlc3.gsc @@ -0,0 +1,872 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_zombies_audio_dlc3.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 33 + * Decompile Time: 500 ms + * Timestamp: 4/22/2024 2:14:31 AM +*******************************************************************/ + +//Function Number: 1 +initdlc3audio() +{ + level._zmbvoxlevelspecific = ::initleveldialog; + level.zmbsoundlengthpath = "mp/sound/soundlength_zm_mp_dlc3.csv"; + level.zmbaudiozonetrackingdelay = 5; + level.zmbplayersmet = 0; + level.zmbaudioscheduleoz = randomintrange(10,21); + level.zmballcustomozresponsesplayed = 0; + level.numkitingconversations = 18; + level.zmbaudiowave1vo = ::zmbaudiowave1vo; + level.zmbwaveintermissionvo = ::zmbwaveintermissionvo; + level.zmbaudiowavestartvo = ::zmbaudiowavestartvo; + level.zmbdowaveendvo = ::zmbdowaveendvo; + level.zmaudiocustomtrapvo = ::zmaudiocustomtrapvo; + level.zmbaudioplayaltvofunc = ::zmbaudioplayaltvofunc; + level.zmbaudioresponsetoannounceroverridefunc = ::zmbaudioresponsetoannounceroverridefunc; + level.zmbcustomresponsetoannouncer = ::zmbcustomresponsetoannouncer; + level.zmbcustomsupplydropvo = ::zmbcustomsupplydropvo; + level.zmbaudiokitingcustom = ::zmbaudiokitingcustom; + level thread zmbspotzombiesvo(); + level thread fixupterminalattractors(); +} + +//Function Number: 2 +initleveldialog() +{ + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","ignore_nearby","dlc3_open_01","dlc3_open_01",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","ignore_nearby","dlc3_open_02","dlc3_open_02",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","ignore_nearby","dlc3_open_03","dlc3_open_03",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","ignore_nearby","intro","rnd_wave1",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","global_priority","meet1","meet_01",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","global_priority","meet2","meet_02",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","global_priority","meet3","meet_03",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","spot_first_goliath","goliath_spot_first",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","spot_goliath","goliath_spot",undefined,40); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","goliath_shoot","goliath_shoot",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","spot_first_spiked","dlc2_spike1st",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","spot_spiked","dlc2_spikespot",undefined,10); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","spot_first_teleport","dlc3_blink1st",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","spot_teleport","dlc3_blink",undefined,10); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","td_spot","dlc3_td_spot",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","td_lose","dlc3_td_lose",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","td_win","dlc3_td_win",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","turret_trap","trap_roomba",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","laser","traps_pckup",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","steam","trap_steam",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","water_floor_trap","trap_wtr",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","zomboni","dlc3_gtrap",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","plinko_see","dlc3_plinko_see",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","plinko_small","dlc3_plinko_small",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","plinko_med","dlc3_plinko_med",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","plinko_lrg","dlc3_plinko_lrg",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","atlas_react","dlc3_atlas",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","atlas_conv","atlas_conv",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","sentinel_conv","sentinel_conv",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","teleport_use","dlc3_teleport_use",undefined,20); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","ss_use_disruptor","ss_disrupt",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","chum_water","trap_shrk",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","oz_response","oz_response",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","monologue","oz_response","oz_response",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","weapon_pickup","teleport_zombies_mp","dlc3_teleport",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","weapon_pickup","teleport_throw_zombies_mp","dlc3_teleport",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","weapon_pickup","iw5_linegunzm_mp","dlc3_linegun",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","weapon_pickup","iw5_dlcgun2zm_mp","dlc3_ohm",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","weapon_pickup","iw5_dlcgun3zm_mp","dlc3_m1i",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","weapon_pickup","repulsor_zombie_mp","dlc3_repulsor",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","kill","linegun","dlc3_linegun_kill",undefined,7); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","kill","ohm","dlc3_ohm_kill",undefined,7); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","kill","m1irons","dlc3_m1i_kill",undefined,7); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","kill","respulsor","dlc3_repulsor_kill",undefined,7); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","kill","goliath_kill","goliath_kill",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","powerup","open_fire","dlc3_inf_ammo",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","powerup","ex_touch","dlc3_overcharge",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","perk","exo_tacticalArmor","dlc3_exo_stck",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","monologue","teleport_machine","dlc3_tele",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_it_1","it_exec_wave_intermission_ctx01",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_exec_2","it_exec_wave_intermission_ctx02",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_it_3","it_exec_wave_intermission_ctx03",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_it_4","it_exec_wave_intermission_ctx04",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_it_5","it_exec_wave_intermission_ctx05",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_exec_6","it_exec_wave_intermission_ctx06",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_it_7","it_exec_wave_intermission_ctx07",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_exec_1","guard_exec_wave_intermission_ctx01",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_exec_2","guard_exec_wave_intermission_ctx02",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_exec_3","guard_exec_wave_intermission_ctx03",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_exec_4","guard_exec_wave_intermission_ctx04",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_pilot_1","pilot_exec_wave_intermission_ctx01",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_pilot_2","pilot_exec_wave_intermission_ctx02",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_pilot_3","pilot_exec_wave_intermission_ctx03",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_pilot_4","pilot_exec_wave_intermission_ctx04",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","pilot_exec_5","pilot_exec_wave_intermission_ctx05",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","pilot_exec_6","pilot_exec_wave_intermission_ctx06",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","pilot_exec_7","pilot_exec_wave_intermission_ctx07",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_it_1","it_guard_wave_intermission_ctx01",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_guard_2","it_guard_wave_intermission_ctx02",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_it_3","it_guard_wave_intermission_ctx03",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_it_4","it_guard_wave_intermission_ctx04",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_it_5","it_guard_wave_intermission_ctx05",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_it_6","it_guard_wave_intermission_ctx06",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_guard_7","it_guard_wave_intermission_ctx07",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_guard_8","it_guard_wave_intermission_ctx08",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_it_9","it_guard_wave_intermission_ctx09",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_pilot_1","it_pilot_wave_intermission_ctx01",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_pilot_2","it_pilot_wave_intermission_ctx02",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_pilot_3","it_pilot_wave_intermission_ctx03",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_pilot_4","it_pilot_wave_intermission_ctx04",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_pilot_5","it_pilot_wave_intermission_ctx05",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_pilot_6","it_pilot_wave_intermission_ctx06",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_pilot_7","it_pilot_wave_intermission_ctx07",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_pilot_8","it_pilot_wave_intermission_ctx08",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","pilot_it_9","it_pilot_wave_intermission_ctx09",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_pilot_10","it_pilot_wave_intermission_ctx10",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_pilot_11","it_pilot_wave_intermission_ctx11",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_pilot_1","guard_pilot_wave_intermission_ctx01",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","pilot_guard_2","guard_pilot_wave_intermission_ctx02",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","pilot_guard_3","guard_pilot_wave_intermission_ctx03",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_pilot_4","guard_pilot_wave_intermission_ctx04",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_pilot_5","guard_pilot_wave_intermission_ctx05",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_pilot_6","guard_pilot_wave_intermission_ctx06",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","pilot_guard_7","guard_pilot_wave_intermission_ctx07",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","open_fire","open_fire","powerup,open_fire"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","ex_touch","ex_touch","powerup,ex_touch"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","exp_rearbay","exp_rearbay","general,atlas_react"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","exp_moonpool","exp_moonpool","general,atlas_react"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","exp_armory","exp_armory","general,atlas_react"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","exp_cargo_elevator","exp_cargo_elevator","general,atlas_react"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","exp_cargo_bay","exp_cargo_bay","general,atlas_react"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","exp_biomed","exp_biomed","general,atlas_react"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","exp_medical","exp_medical","general,atlas_react"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","exp_sidebay","exp_sidebay","general,atlas_react"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","exp_fail1","exp_fail1",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","exp_fail2","exp_fail2",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","exp_fail3","exp_fail3",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","exp_win","exp_win",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","exp_round","exp_round",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","exp_round_gol","exp_round_gol",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global","power_rearbay","pow_rearbay","general,power_on"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global","power_moonpool","pow_moonpool","general,power_on"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global","power_armory","pow_armory","general,power_on"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global","power_cargo_elevator","pow_cargo_elevator","general,power_on"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global","power_cargo_01","pow_cargo_bay","general,power_on"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global","power_biomed","pow_biomed","general,power_on"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global","power_medbay","pow_medical","general,power_on"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global","power_sidebay_01","pow_sidebay","general,power_on"); + var_00 = spawnstruct(); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxinitspeaker("atlas","atlas_",var_00,0); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("atlas","general","chatter","chatter",undefined,30); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("atlas","general","trydefuse","trydefuse",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("atlas","general","fail","fail",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("atlas","general","goliath","goliath",undefined); + level.atlasdebouncevo = []; + level.atlasdebouncevo["chatter"] = 0; + level.atlasdebouncevo["trydefuse"] = 0; + level.atlasdebouncevo["fail"] = 0; + level.atlasdebouncevo["goliath"] = 0; + var_00 = spawnstruct(); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxinitspeaker("sentinel","sent_",var_00,0); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("sentinel","general","spawn","spawn",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("sentinel","general","kill","kill",undefined,30); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("sentinel","general","chatter","chatter",undefined,40); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("sentinel","general","defuse","defuse",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("sentinel","general","revive","revive",undefined); + level.sentineldebouncevo = []; + level.sentineldebouncevo["spawn"] = 0; + level.sentineldebouncevo["kill"] = 0; + level.sentineldebouncevo["chatter"] = 0; + level.sentineldebouncevo["revive"] = 0; + var_01 = spawn("script_model",(0,0,0)); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxinitspeaker("announcer_oz","janitor_",var_01,0); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","global_priority","exo_suit_avail","exo_suit_avail",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","global_priority","exo_online","exo_online","general,thanks"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","global_priority","hyper_dmg","hyper_dmg","powerup,insta_kill"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","global_priority","dna_bomb","dna_bomb","powerup,apocalypse"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","global_priority","pow_surge","pow_surge","powerup,pow_surge"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","global_priority","full_reload","full_reload","powerup,max_ammo"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","global_priority","multiplier","multiplier","powerup,2x_pts"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","global_priority","security","security","powerup,traps"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","global_priority","zombie_dog","mongrel",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","global_priority","zombie_host","host",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","global_priority","open_fire","inf_ammo","powerup,open_fire"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","global_priority","ex_touch","overcharge","powerup,ex_touch"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","global","door","door",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","global","printer","printer_bk","general,printer_moved"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","global","supply","supply",undefined,30); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","global","rand","rand",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_all_players","host_cure","cure","general,cured"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_all_players","host_cure2","cure2",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_all_players","laser_trap","trap","general,laser_traps"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_all_players","jackpot","cash_ee",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_per_player","specialty_fastreload","exo_reload",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_per_player","exo_health","exo_health",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_per_player","exo_revive","exo_medic",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_per_player","exo_stabilizer","exo_soldier",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_per_player","exo_slam","exo_slam",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_per_player","wallbuy","wallbuy",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_per_player","printer","printer",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_per_player","weapon_upgrade","wpn_upgd",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_per_player","power_switch","pwr_swtich",undefined); +} + +//Function Number: 3 +fixupterminalattractors() +{ + var_00 = getentarray("perk_terminal","targetname"); + foreach(var_02 in var_00) + { + if(isdefined(var_02.script_parameters) && var_02.script_parameters == "exo_stabilizer") + { + var_02.postpowerattractorwait = 3; + } + } + + var_04 = getentarray("weapon_level_box","targetname"); + foreach(var_06 in var_04) + { + var_06.firsttimeattractorwait = 5; + } +} + +//Function Number: 4 +anyplayersspeaking() +{ + foreach(var_01 in level.players) + { + if(maps\mp\zombies\_util::is_true(var_01.isspeaking)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 5 +waittilldonespeaking() +{ + while(anyplayersspeaking() || maps\mp\zombies\_zombies_audio_announcer::isannouncerspeaking()) + { + wait 0.05; + } +} + +//Function Number: 6 +getclosestplayer(param_00) +{ + var_01 = sortbydistance(level.players,param_00,undefined,1); + return var_01[0]; +} + +//Function Number: 7 +zmbaudiowave1vo() +{ + if(level.players.size == 1) + { + level.players[0] maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","intro"); + level.zmbplayersmet = 1; + return; + } + + var_00 = maps\mp\zombies\_zombies_audio::getcharacterbyprefix("pilot"); + var_01 = maps\mp\zombies\_zombies_audio::getcharacterbyprefix("it"); + var_02 = maps\mp\zombies\_zombies_audio::getcharacterbyprefix("exec"); + var_03 = maps\mp\zombies\_zombies_audio::getcharacterbyprefix("guard"); + if(level.players.size == 3) + { + if(isdefined(var_00) && !isdefined(var_01)) + { + var_00 maps\mp\zombies\_zombies_audio::create_and_play_dialog("ignore_nearby","intro",undefined,undefined,undefined,undefined,[var_00]); + } + else if(isdefined(var_01) && !isdefined(var_00)) + { + var_01 maps\mp\zombies\_zombies_audio::create_and_play_dialog("ignore_nearby","intro",undefined,undefined,undefined,undefined,[var_01]); + } + else if(isdefined(var_02) && !isdefined(var_03)) + { + var_02 maps\mp\zombies\_zombies_audio::create_and_play_dialog("ignore_nearby","intro",undefined,undefined,undefined,undefined,[var_02]); + } + else if(isdefined(var_03) && !isdefined(var_02)) + { + var_03 maps\mp\zombies\_zombies_audio::create_and_play_dialog("ignore_nearby","intro",undefined,undefined,undefined,undefined,[var_03]); + } + } + + if(isdefined(var_00) && isdefined(var_01)) + { + level thread zmbintrodialogue(var_00,var_01); + } + + if(isdefined(var_02) && isdefined(var_03)) + { + level thread zmbintrodialogue(var_02,var_03); + } + + if(level.players.size > 2 && isdefined(var_00)) + { + level waittill("zmbIntroDialogue"); + level thread zmbaudioplayersmeet(var_00); + return; + } + + level.zmbplayersmet = 1; +} + +//Function Number: 8 +zmbintrodialogue(param_00,param_01) +{ + var_02 = isdefined(param_00) && isdefined(param_01); + if(param_00 maps\mp\zombies\_zombies_audio::create_and_play_dialog("ignore_nearby","dlc3_open_01",undefined,undefined,undefined,undefined,[param_00,param_01])) + { + param_00 common_scripts\utility::waittill_notify_or_timeout("done_speaking",10); + var_02 = isdefined(param_00) && isdefined(param_01); + } + + if(var_02 && param_01 maps\mp\zombies\_zombies_audio::create_and_play_dialog("ignore_nearby","dlc3_open_01",undefined,undefined,undefined,undefined,[param_00,param_01])) + { + param_01 common_scripts\utility::waittill_notify_or_timeout("done_speaking",10); + var_02 = isdefined(param_00) && isdefined(param_01); + } + + if(var_02 && param_00 maps\mp\zombies\_zombies_audio::create_and_play_dialog("ignore_nearby","dlc3_open_02",undefined,undefined,undefined,undefined,[param_00,param_01])) + { + param_00 common_scripts\utility::waittill_notify_or_timeout("done_speaking",10); + var_02 = isdefined(param_00) && isdefined(param_01); + } + + if(var_02 && param_01 maps\mp\zombies\_zombies_audio::create_and_play_dialog("ignore_nearby","dlc3_open_02",undefined,undefined,undefined,undefined,[param_00,param_01])) + { + param_01 common_scripts\utility::waittill_notify_or_timeout("done_speaking",10); + var_02 = isdefined(param_00) && isdefined(param_01); + } + + if(var_02 && param_00 maps\mp\zombies\_zombies_audio::create_and_play_dialog("ignore_nearby","dlc3_open_03",undefined,undefined,undefined,undefined,[param_00,param_01])) + { + param_00 common_scripts\utility::waittill_notify_or_timeout("done_speaking",10); + } + + level notify("zmbIntroDialogue"); +} + +//Function Number: 9 +zmbaudioplayersmeet(param_00) +{ + while(!isdefined(level.zone_data)) + { + wait(0.05); + } + + for(;;) + { + if(!isdefined(param_00)) + { + level.zmbplayersmet = 1; + return; + } + + if(anyplayersspeaking()) + { + wait(1); + continue; + } + + var_01 = getarraykeys(level.zone_data.zones); + foreach(var_03 in var_01) + { + var_04 = maps\mp\zombies\_zombies_zone_manager::getplayersinzone(var_03,0); + if(var_04.size > 1) + { + if(listincludescharacter(var_04,"pilot") && listincludescharacter(var_04,"guard") || listincludescharacter(var_04,"exec")) + { + var_05 = param_00; + var_06 = getcharacterfromlist(var_04,"guard"); + var_07 = getcharacterfromlist(var_04,"exec"); + var_08 = var_06; + if(!isdefined(var_06) || isdefined(var_07) && common_scripts\utility::cointoss()) + { + var_08 = var_07; + } + + var_09 = isdefined(var_05) && isdefined(var_08); + maps\mp\zombies\_zombies_audio::zmbsetglobalpriorityonly(1); + if(var_05 maps\mp\zombies\_zombies_audio::create_and_play_dialog("global_priority","meet1")) + { + var_05 common_scripts\utility::waittill_notify_or_timeout("done_speaking",10); + var_09 = isdefined(var_05) && isdefined(var_08); + } + + if(var_09 && var_08 maps\mp\zombies\_zombies_audio::create_and_play_dialog("global_priority","meet2")) + { + var_08 common_scripts\utility::waittill_notify_or_timeout("done_speaking",10); + var_09 = isdefined(var_05) && isdefined(var_08); + } + + if(var_09 && var_05 maps\mp\zombies\_zombies_audio::create_and_play_dialog("global_priority","meet3")) + { + var_05 common_scripts\utility::waittill_notify_or_timeout("done_speaking",10); + } + + maps\mp\zombies\_zombies_audio::zmbsetglobalpriorityonly(0); + level.zmbplayersmet = 1; + return; + } + } + } + + wait(1); + } +} + +//Function Number: 10 +listincludescharacter(param_00,param_01) +{ + foreach(var_03 in param_00) + { + if(var_03.characterindex == maps\mp\zombies\_zombies_audio::getcharacterindexbyprefix(param_01)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 11 +getcharacterfromlist(param_00,param_01) +{ + foreach(var_03 in param_00) + { + if(var_03.characterindex == maps\mp\zombies\_zombies_audio::getcharacterindexbyprefix(param_01)) + { + return var_03; + } + } +} + +//Function Number: 12 +zmbaudiowavestartvo(param_00) +{ + if(!param_00 && level.wavecounter == 5 || level.wavecounter == 10 || level.wavecounter == 20 || level.wavecounter == 35 || level.wavecounter == 50) + { + var_01 = randomintrange(0,level.players.size); + level.players[var_01] maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","round_" + level.wavecounter); + param_00 = 1; + } + + return param_00; +} + +//Function Number: 13 +zmbdowaveendvo() +{ + return !maps\mp\zombies\_area_invalidation::is_next_round_transition_venting(); +} + +//Function Number: 14 +zmbwaveintermissionvo(param_00) +{ + if(!level.zmbplayersmet) + { + return 1; + } + else if(maps\mp\zombies\_area_invalidation::is_next_round_transition_venting()) + { + level common_scripts\utility::waittill_notify_or_timeout("area_invalidation_vo_complete",8); + return 1; + } + + return 0; +} + +//Function Number: 15 +zmaudiocustomtrapvo(param_00,param_01) +{ + wait(1); + if(!isdefined(param_00.script_noteworthy) || !isdefined(param_01)) + { + return; + } + + param_01 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general",param_00.script_noteworthy); +} + +//Function Number: 16 +zmbspotzombiesvo() +{ + level thread zmbspotzombie("spiked"); + level thread zmbspotzombie("teleport"); + level thread zmbhandlegoliath(); +} + +//Function Number: 17 +zmbhandlegoliath() +{ + level.zmbaudioplayedfirstspotmeleegoliath = 0; + for(;;) + { + level waittill("onZombieMeleeGoliathSpawn",var_00); + level thread zmbspotgoliath(var_00); + } +} + +//Function Number: 18 +zmbspotgoliath(param_00) +{ + param_00 endon("death"); + var_01 = 1; + level thread notifyongoliathdamaged(param_00,"waittillPlayerSpotsGoliathReturn","damage"); + level thread notifyonplayerclosetogoliath(param_00,"waittillPlayerSpotsGoliathReturn","close"); + for(;;) + { + param_00 waittill("waittillPlayerSpotsGoliathReturn",var_02,var_03); + if(!isdefined(var_02)) + { + continue; + } + + if(!level.zmbaudioplayedfirstspotmeleegoliath) + { + if(var_02 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","spot_first_goliath")) + { + var_01 = 0; + level.zmbaudioplayedfirstspotmeleegoliath = 1; + } + } + else if(var_01) + { + var_02 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","spot_goliath"); + var_01 = 0; + } + else if(var_03 == "damage" && param_00.health <= param_00.maxhealth / 2) + { + if(var_02 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","goliath_shoot")) + { + return; + } + } + + wait 0.05; + level thread notifyongoliathdamaged(param_00,"waittillPlayerSpotsGoliathReturn","damage"); + } +} + +//Function Number: 19 +notifyongoliathdamaged(param_00,param_01,param_02) +{ + param_00 endon(param_01); + param_00 endon("death"); + for(;;) + { + param_00 waittill("damage",var_03,var_04); + param_00 notify(param_01,var_04,param_02); + } +} + +//Function Number: 20 +notifyonplayerclosetogoliath(param_00,param_01,param_02) +{ + param_00 endon(param_01); + param_00 endon("death"); + for(;;) + { + var_03 = getplayerclosetozombie(param_00); + if(isdefined(var_03)) + { + param_00 notify(param_01,var_03,param_02); + return; + } + + wait 0.05; + } +} + +//Function Number: 21 +zmbspotzombie(param_00) +{ + level thread notifyonround(7,"end_spot_zombie_round_7"); + level endon("end_spot_zombie_round_7"); + var_01 = 0; + for(;;) + { + var_02 = waittillplayerspotszombiereturn(param_00); + if(!isdefined(var_02)) + { + continue; + } + + if(!var_01) + { + if(var_02 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","spot_first_" + param_00)) + { + var_01 = 1; + wait(15); + } + else + { + wait(1); + } + + continue; + } + else + { + var_02 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","spot_" + param_00); + } + + wait(15); + } +} + +//Function Number: 22 +notifyonround(param_00,param_01) +{ + for(;;) + { + level waittill("zombie_wave_started"); + if(level.wavecounter >= param_00) + { + level notify(param_01); + return; + } + } +} + +//Function Number: 23 +waittillplayerspotszombiereturn(param_00) +{ + level thread notifyonzombiemutatordamaged(param_00,"waittillPlayerSpotsZombieReturn_" + param_00); + level thread notifyonplayerclosetozombiemutator(param_00,"waittillPlayerSpotsZombieReturn_" + param_00); + level waittill("waittillPlayerSpotsZombieReturn_" + param_00,var_01); + return var_01; +} + +//Function Number: 24 +notifyonzombiemutatordamaged(param_00,param_01) +{ + level endon(param_01); + level endon("end_spot_zombie_round_7"); + for(;;) + { + level waittill("zombie_damaged",var_02,var_03); + if(!isdefined(var_03) || !isdefined(var_02) || !var_02 maps\mp\zombies\_util::checkactivemutator(param_00)) + { + continue; + } + + level notify(param_01,var_03); + } +} + +//Function Number: 25 +notifyonplayerclosetozombiemutator(param_00,param_01) +{ + level endon(param_01); + level endon("end_spot_zombie_round_7"); + for(;;) + { + var_02 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + foreach(var_04 in var_02) + { + if(var_04.team == level.playerteam || !var_04 maps\mp\zombies\_util::checkactivemutator(param_00)) + { + continue; + } + + var_05 = getplayerclosetozombie(var_04); + if(isdefined(var_05)) + { + level notify(param_01,var_05); + return; + } + } + + wait 0.05; + } +} + +//Function Number: 26 +getplayerclosetozombie(param_00) +{ + var_01 = 90000; + foreach(var_03 in level.players) + { + var_04 = distancesquared(var_03.origin,param_00.origin); + if(var_04 <= var_01) + { + return var_03; + } + } +} + +//Function Number: 27 +zmbaudioplayaltvofunc(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + if(self.zmbvoxid == "announcer") + { + level.zmbaudioscheduleoz--; + var_07 = level.zmbaudioscheduleoz <= 0; + if(level.zmbaudioscheduleoz <= 0) + { + var_07 = 1; + level.zmbaudioscheduleoz = randomintrange(10,21); + } + + if(!var_07) + { + var_07 = randomint(100) <= level.wavecounter * 2; + } + + if(var_07) + { + var_08 = maps\mp\zombies\_zombies_audio_announcer::getannouncers("oz")[0]; + var_08.origin = self.origin; + return var_08 maps\mp\zombies\_zombies_audio::create_and_play_dialog(param_00,param_01,param_02,param_03,param_04,param_05,param_06); + } + } + + return 0; +} + +//Function Number: 28 +zmbaudioresponsetoannounceroverridefunc(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_01) || level.zmballcustomozresponsesplayed || param_00.zmbvoxid != "announcer_oz") + { + return 0; + } + + return param_01 playerdoozresponse(param_02 == "machine_per_player"); +} + +//Function Number: 29 +zmbcustomresponsetoannouncer(param_00,param_01,param_02,param_03,param_04) +{ + if(level.zmballcustomozresponsesplayed || param_00.zmbvoxid != "announcer_oz") + { + return 0; + } + + if(isdefined(param_04)) + { + param_04 = common_scripts\utility::array_removeundefined(param_04); + } + + if(!isdefined(param_01)) + { + if(maps\mp\zombies\_zombies_audio_announcer::announcercategoryisplaylocal(param_02)) + { + param_01 = zmbgetplayerwithcustomozresponse(); + } + else if(isdefined(param_04)) + { + param_01 = zmbgetplayerwithcustomozresponse(undefined,param_04); + } + else + { + param_01 = zmbgetplayerwithcustomozresponse(param_00.origin); + } + } + + if(isdefined(param_01)) + { + param_01 playerdoozresponse(param_02 == "machine_per_player"); + } +} + +//Function Number: 30 +playerdoozresponse(param_00) +{ + if(!isdefined(self.customozresponseindex)) + { + self.customozresponseindex = 0; + } + + var_01 = self.customozresponseindex + 1; + var_02 = "general"; + if(param_00) + { + var_02 = "monologue"; + } + + if(maps\mp\zombies\_zombies_audio::create_and_play_dialog(var_02,"oz_response","",var_01)) + { + self.customozresponseindex++; + if(self.customozresponseindex >= 2 && !isdefined(zmbgetplayerwithcustomozresponse())) + { + level.zmballcustomozresponsesplayed = 1; + foreach(var_04 in level.players) + { + var_04.customozresponseindex = undefined; + } + } + + return 1; + } + + return 0; +} + +//Function Number: 31 +zmbgetplayerwithcustomozresponse(param_00,param_01) +{ + var_02 = 250000; + if(!isdefined(param_01)) + { + param_01 = level.players; + } + + foreach(var_04 in param_01) + { + if((!isdefined(var_04.customozresponseindex) || var_04.customozresponseindex < 2) && !isdefined(param_00) || distancesquared(var_04.origin,param_00) <= var_02) + { + return var_04; + } + } +} + +//Function Number: 32 +zmbcustomsupplydropvo() +{ + if(!maps\mp\zombies\_util::is_true(level.zmkillstreakcrateprevo) || level.wavecounter < 5) + { + return; + } + + var_00 = maps\mp\zombies\_zombies_audio_announcer::getannouncers("oz")[0]; + var_00 maps\mp\zombies\_zombies_audio::create_and_play_dialog("global","supply"); +} + +//Function Number: 33 +zmbaudiokitingcustom() +{ + level endon("zombie_wave_ended"); + wait(randomintrange(15,30)); + var_00 = level.kitingconversations.size - 1; + var_01 = level.kitingconversations[var_00]; + var_02 = "global"; + var_03 = "rand"; + var_04 = 0; + if(isdefined(level.vox.speaker["player"].alias[var_02]) && isdefined(level.vox.speaker["player"].alias[var_02][var_03])) + { + var_05 = common_scripts\utility::array_randomize(level.players); + foreach(var_07 in var_05) + { + maps\mp\zombies\_zombies_audio::waituntilquietnearby(var_07,var_02); + var_08 = var_07 maps\mp\zombies\_zombies_audio::create_and_play_dialog(var_02,var_03); + if(var_08) + { + break; + } + } + } + else if(isdefined(level.vox.speaker["announcer_oz"].alias[var_02]) && isdefined(level.vox.speaker["announcer_oz"].alias[var_02][var_03])) + { + var_0A = maps\mp\zombies\_zombies_audio_announcer::getannouncers("oz")[0]; + var_0A maps\mp\zombies\_zombies_audio::create_and_play_dialog(var_02,var_03,undefined,undefined,undefined,level.players[0],level.players); + } + else + { + } + + level.kitingconversations[var_00] = undefined; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/_zombies_audio_dlc4.gsc b/AW/PC/maps/mp/zombies/_zombies_audio_dlc4.gsc new file mode 100644 index 0000000..ebab852 --- /dev/null +++ b/AW/PC/maps/mp/zombies/_zombies_audio_dlc4.gsc @@ -0,0 +1,461 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_zombies_audio_dlc4.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 16 + * Decompile Time: 272 ms + * Timestamp: 4/22/2024 2:14:32 AM +*******************************************************************/ + +//Function Number: 1 +initdlc4audio() +{ + level._zmbvoxlevelspecific = ::initleveldialog; + level.zmbsoundlengthpath = "mp/sound/soundlength_zm_mp_dlc4.csv"; + level.zmbaudiozonetrackingdelay = 5; + level.numkitingconversations = 9; + level.zmbaudioskiprandomizingkitingvo = 1; + level.zmbaudiokitingstartwave = 2; + level.zmbaudiowave1vo = ::zmbaudiowave1vo; + level.zmbdowaveendvo = ::zmbdowaveendvo; + level.zmbaudiowavestartvo = ::zmbaudiowavestartvo; + level.zmaudiocustomtrapvo = ::zmaudiocustomtrapvo; + level.zmbaudiokitingcustom = ::zmbaudiokitingcustom; + level thread zmbspotzombiesvo(); +} + +//Function Number: 2 +initleveldialog() +{ + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","spot_first_spiked","dlc2_spike1st",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","spot_spiked","dlc2_spikespot",undefined,10); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","spot_first_teleport","dlc3_blink1st",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","spot_teleport","dlc3_blink",undefined,10); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","spot_first_combo_spike_teleport","dlc4_telespike1st",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","spot_combo_spike_teleport","dlc4_telespike",undefined,10); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","spot_first_combo_armor_emz","dlc4_armoremz1st",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","spot_combo_armor_emz","dlc4_armoremz",undefined,10); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","spot_first_combo_exploder_teleport","dlc4_telexp1st",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","spot_combo_exploder_teleport","dlc4_telexp",undefined,10); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","spot_first_combo_emz_spike","dlc4_emzspike1st",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","spot_combo_emz_spike","dlc4_emzspike",undefined,10); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","td_spot","dlc3_td_spot",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","td_lose","dlc3_td_lose",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","td_win","dlc3_td_win",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","turret_trap","trap_roomba",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","laser","traps_pckup",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","steam","trap_steam",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","water_floor_trap","trap_wtr",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","sentinel_conv","sentinel_conv",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","teleport_use","dlc3_teleport_use",undefined,20); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","ss_use_disruptor","ss_disrupt",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","gol_drop_pre","gol_drop_pre",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","gol_react","gol_react",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","weapon_pickup","teleport_zombies_mp","dlc3_teleport",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","weapon_pickup","teleport_throw_zombies_mp","dlc3_teleport",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","weapon_pickup","iw5_dlcgun2zm_mp","dlc3_ohm",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","weapon_pickup","iw5_dlcgun3zm_mp","dlc3_m1i",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","weapon_pickup","repulsor_zombie_mp","dlc3_repulsor",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","weapon_pickup","iw5_tridentzm_mp","dlc4_trident",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","weapon_pickup","iw5_dlcgun4zm_mp","dlc4_weap",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","kill","ohm","dlc3_ohm_kill",undefined,7); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","kill","m1irons","dlc3_m1i_kill",undefined,7); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","kill","respulsor","dlc3_repulsor_kill",undefined,7); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","kill","trident","dlc4_trident_kill",undefined,7); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","kill","blunderbuss","dlc4_weap_kill",undefined,7); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","kill","gol_melee_kill","gol_melee_kill",undefined,7); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","kill","gol_missile_kill","gol_missile_kill",undefined,7); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","kill","gol_rocket_kill","gol_rocket_kill",undefined,7); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","powerup","open_fire","dlc3_inf_ammo",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","powerup","ex_touch","dlc3_overcharge",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","perk","exo_tacticalArmor","dlc3_exo_stck",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","monologue","teleport_machine","dlc3_tele",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","monologue","tube","tube",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","monologue","goliath","dlc4_goliath",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","ignore_nearby","intro","rnd_wave1",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","an_conv","convo1","convo1","oz,an_conv,convo1b"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","an_conv","convo3b","convo3b",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","an_conv","convo4","convo4","oz,an_conv,convo4b"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","an_conv","convo5b","convo5b",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","an_conv","convo6b","convo6b",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","an_conv","convo8","convo8","oz,an_conv,convo8b"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","an_conv","convo9b","convo9b",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","dlc4_s0_react","dlc4_s0_react",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","dlc4_s0_traps","dlc4_s0_traps",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","dlc4_s0_back","dlc4_s0_back",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","dlc4_ozsee","dlc4_ozsee",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","dlc4_shieldup","dlc4_shieldup",undefined,50); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","dlc4_turret","dlc4_turret",undefined,50); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","dlc4_sentry","dlc4_sentry",undefined,50); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","dlc4_laser","dlc4_laser",undefined,50); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","dlc4_elect","dlc4_elect",undefined,50); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","dlc4_gas","dlc4_gas",undefined,50); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","dlc4_host","dlc4_host",undefined,50); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","dlc4_dog","dlc4_dog",undefined,50); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","dlc4_zomb","dlc4_zomb",undefined,50); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","dlc4_mut","dlc4_mut",undefined,50); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","dlc4_shielddown","dlc4_shielddown",undefined,50); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","dlc4_ozhurt","dlc4_ozhurt",undefined,50); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","dlc4_progress","dlc4_progress",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","dlc4_s1win","dlc4_s1win",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","general","dlc4_oz2","dlc4_oz2",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","pilot_exec_1","pilot_exec_wave_intermission_ctx01",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_pilot_2","pilot_exec_wave_intermission_ctx02",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_pilot_3","pilot_exec_wave_intermission_ctx03",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_pilot_4","pilot_exec_wave_intermission_ctx04",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_pilot_5","pilot_exec_wave_intermission_ctx05",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_pilot_6","pilot_exec_wave_intermission_ctx06",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_pilot_7","pilot_exec_wave_intermission_ctx07",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_it_1","it_exec_wave_intermission_ctx01",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_exec_2","it_exec_wave_intermission_ctx02",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_it_3","it_exec_wave_intermission_ctx03",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_it_4","it_exec_wave_intermission_ctx04",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_it_5","it_exec_wave_intermission_ctx05",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_exec_6","it_exec_wave_intermission_ctx06",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","exec_it_7","it_exec_wave_intermission_ctx07",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_exec_1","guard_exec_wave_intermission_ctx01",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_exec_2","guard_exec_wave_intermission_ctx02",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_exec_3","guard_exec_wave_intermission_ctx03",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_exec_4","guard_exec_wave_intermission_ctx04",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_pilot_1","it_pilot_wave_intermission_ctx01",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_pilot_2","it_pilot_wave_intermission_ctx02",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_pilot_3","it_pilot_wave_intermission_ctx03",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","pilot_it_4","it_pilot_wave_intermission_ctx04",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","pilot_it_5","it_pilot_wave_intermission_ctx05",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","pilot_it_6","it_pilot_wave_intermission_ctx06",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","pilot_it_7","it_pilot_wave_intermission_ctx07",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_pilot_8","it_pilot_wave_intermission_ctx08",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_pilot_9","it_pilot_wave_intermission_ctx09",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","pilot_it_10","it_pilot_wave_intermission_ctx10",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","pilot_it_11","it_pilot_wave_intermission_ctx11",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_it_1","it_guard_wave_intermission_ctx01",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_guard_2","it_guard_wave_intermission_ctx02",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_it_3","it_guard_wave_intermission_ctx03",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_it_4","it_guard_wave_intermission_ctx04",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_it_5","it_guard_wave_intermission_ctx05",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_it_6","it_guard_wave_intermission_ctx06",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_guard_7","it_guard_wave_intermission_ctx07",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","it_guard_8","it_guard_wave_intermission_ctx08",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_it_9","it_guard_wave_intermission_ctx09",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_pilot_1","guard_pilot_wave_intermission_ctx01",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","pilot_guard_2","guard_pilot_wave_intermission_ctx02",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","pilot_guard_3","guard_pilot_wave_intermission_ctx03",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_pilot_4","guard_pilot_wave_intermission_ctx04",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_pilot_5","guard_pilot_wave_intermission_ctx05",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","guard_pilot_6","guard_pilot_wave_intermission_ctx06",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("player","conversation","pilot_guard_7","guard_pilot_wave_intermission_ctx07",undefined); + var_00 = spawnstruct(); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxinitspeaker("sentinel","sent_",var_00,0); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("sentinel","general","spawn","spawn",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("sentinel","general","kill","kill",undefined,30); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("sentinel","general","chatter","chatter",undefined,40); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("sentinel","general","defuse","defuse",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("sentinel","general","revive","revive",undefined); + level.sentineldebouncevo = []; + level.sentineldebouncevo["spawn"] = 0; + level.sentineldebouncevo["kill"] = 0; + level.sentineldebouncevo["chatter"] = 0; + level.sentineldebouncevo["revive"] = 0; + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","open_fire","open_fire","powerup,open_fire"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","ex_touch","ex_touch","powerup,ex_touch"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","machine_per_player","exo_tacticalArmor","exo_stock",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","stage0","stage0",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","stage1_start","stage1_start",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","stage1_shield","stage1_shield",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global_priority","stage1_end3","stage1_end3",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global","power_atrium","pow_galleria","general,power_on"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global","power_start_01","pow_landing","general,power_on"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global","power_zone_01","pow_hall","general,power_on"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global","power_zone_04","pow_tidal","general,power_on"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global","power_venthall","pow_annex","general,power_on"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global","power_zone_03","pow_lounge","general,power_on"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global","gol_start","gol_start","monologue,goliath"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global","gol_armor1","gol_armor1",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global","gol_armor2","gol_armor2",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global","gol_armor3","gol_armor3",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer","global","gol_armor4","gol_armor4",undefined); + level.announceroz = spawnstruct(); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxinitspeaker("announcer_oz","janitor_",level.announceroz,0); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","global_priority","dlc4_s0intro","dlc4_s0intro",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_all_players","dlc4_s0intro2","dlc4_s0intro2",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_all_players","dlc4_s0fun","dlc4_s0fun",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","global_priority","dlc4_s0ang","dlc4_s0ang",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","global_priority","dlc4_tele","dlc4_tele",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","global_priority","dlc4_count","dlc4_count",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_all_players","dlc4_tele2","dlc4_tele2",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_all_players","dlc4_intro","dlc4_intro",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_all_players","dlc4_toolong","dlc4_toolong",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_all_players","dlc4_shieldup","dlc4_shieldup",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_all_players","dlc4_turret","dlc4_turret","general,dlc4_turret"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_all_players","dlc4_sentry","dlc4_sentry","general,dlc4_sentry"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_all_players","dlc4_laser","dlc4_laser","general,dlc4_laser"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_all_players","dlc4_elect","dlc4_elect","general,dlc4_elect"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_all_players","dlc4_gas","dlc4_gas","general,dlc4_gas"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_all_players","dlc4_host","dlc4_host","general,dlc4_host"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_all_players","dlc4_dog","dlc4_dog","general,dlc4_dog"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_all_players","dlc4_zomb","dlc4_zomb","general,dlc4_zomb"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_all_players","dlc4_mut","dlc4_mut","general,dlc4_mut"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_all_players","dlc4_trapstart","dlc4_trapstart",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_all_players","dlc4_shielddown","dlc4_shielddown","general,dlc4_shielddown"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_all_players","dlc4_hurt","dlc4_hurt","general,dlc4_ozhurt",5); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_all_players","dlc4_progress","dlc4_progress","general,dlc4_progress"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","machine_all_players","dlc4_rand1","dlc4_rand1",undefined,50); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","global_priority","dlc4_s1win","dlc4_s1win",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","global_priority","dlc4_count2","dlc4_count2",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","an_conv","convo1b","convo1b",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","an_conv","convo2","convo2",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","an_conv","convo3","convo3","an_conv,convo3b"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","an_conv","convo4b","convo4b",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","an_conv","convo5","convo5","an_conv,convo5b"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","an_conv","convo6","convo6","an_conv,convo6b"); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","an_conv","convo7","convo7",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","an_conv","convo8b","convo8b",undefined); + level.vox maps\mp\zombies\_zombies_audio::zmbvoxadd("announcer_oz","an_conv","convo9","convo9","an_conv,convo9b"); +} + +//Function Number: 3 +anyplayersspeaking() +{ + foreach(var_01 in level.players) + { + if(maps\mp\zombies\_util::is_true(var_01.isspeaking)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 4 +waittilldonespeaking() +{ + while(anyplayersspeaking() || maps\mp\zombies\_zombies_audio_announcer::isanyannouncerspeaking()) + { + wait 0.05; + } +} + +//Function Number: 5 +zmbaudiowave1vo() +{ + foreach(var_01 in level.players) + { + var_01 maps\mp\zombies\_zombies_audio::create_and_play_dialog("ignore_nearby","intro",undefined,undefined,undefined,undefined,[var_01]); + } +} + +//Function Number: 6 +zmbaudiowavestartvo(param_00) +{ + if(!param_00 && level.wavecounter == 5 || level.wavecounter == 10 || level.wavecounter == 21 || level.wavecounter == 35 || level.wavecounter == 50) + { + var_01 = randomintrange(0,level.players.size); + level.players[var_01] maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","round_" + level.wavecounter); + param_00 = 1; + } + else if(!param_00 && level.wavecounter == 6 || level.wavecounter == 13 || level.wavecounter == 20) + { + param_00 = 1; + } + else if(level.wavecounter == 1 && maps\mp\zombies\_util::iszombieshardmode()) + { + [[ level.zmbhardmodeintro ]](); + } + + return param_00; +} + +//Function Number: 7 +zmbdowaveendvo() +{ + return level.wavecounter != 14 && level.wavecounter != 21; +} + +//Function Number: 8 +zmaudiocustomtrapvo(param_00,param_01) +{ + wait(1); + if(!isdefined(param_00.script_noteworthy) || !isdefined(param_01)) + { + return; + } + + param_01 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general",param_00.script_noteworthy); +} + +//Function Number: 9 +zmbspotzombiesvo() +{ + level thread zmbspotzombie("spiked",7); + level thread zmbspotzombie("teleport",7); + level thread zmbspotzombie("combo_spike_teleport",25); + level thread zmbspotzombie("combo_exploder_teleport",25); + level thread zmbspotzombie("combo_armor_emz",25); + level thread zmbspotzombie("combo_emz_spike",25); +} + +//Function Number: 10 +zmbspotzombie(param_00,param_01) +{ + if(isdefined(param_01)) + { + level thread notifyonround(param_01,"end_spot_zombie_round_" + param_01); + level endon("end_spot_zombie_round_" + param_01); + } + + var_02 = 0; + for(;;) + { + var_03 = waittillplayerspotszombiereturn(param_00); + if(!isdefined(var_03)) + { + continue; + } + + if(!var_02) + { + if(var_03 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","spot_first_" + param_00)) + { + var_02 = 1; + wait(15); + } + else + { + wait(1); + } + + continue; + } + else + { + var_03 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","spot_" + param_00); + } + + wait(15); + } +} + +//Function Number: 11 +notifyonround(param_00,param_01) +{ + for(;;) + { + level waittill("zombie_wave_started"); + if(level.wavecounter >= param_00) + { + level notify(param_01); + return; + } + } +} + +//Function Number: 12 +waittillplayerspotszombiereturn(param_00) +{ + level thread notifyonzombiemutatordamaged(param_00,"waittillPlayerSpotsZombieReturn_" + param_00); + level thread notifyonplayerclosetozombiemutator(param_00,"waittillPlayerSpotsZombieReturn_" + param_00); + level waittill("waittillPlayerSpotsZombieReturn_" + param_00,var_01); + return var_01; +} + +//Function Number: 13 +notifyonzombiemutatordamaged(param_00,param_01) +{ + level endon(param_01); + level endon("end_spot_zombie_round_7"); + for(;;) + { + level waittill("zombie_damaged",var_02,var_03); + if(!isdefined(var_03) || !isdefined(var_02) || !var_02 maps\mp\zombies\_util::checkactivemutator(param_00)) + { + continue; + } + + level notify(param_01,var_03); + } +} + +//Function Number: 14 +notifyonplayerclosetozombiemutator(param_00,param_01) +{ + level endon(param_01); + level endon("end_spot_zombie_round_7"); + for(;;) + { + var_02 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + foreach(var_04 in var_02) + { + if(var_04.team == level.playerteam || !var_04 maps\mp\zombies\_util::checkactivemutator(param_00)) + { + continue; + } + + var_05 = getplayerclosetozombie(var_04); + if(isdefined(var_05)) + { + level notify(param_01,var_05); + return; + } + } + + wait 0.05; + } +} + +//Function Number: 15 +getplayerclosetozombie(param_00) +{ + var_01 = 90000; + foreach(var_03 in level.players) + { + var_04 = distancesquared(var_03.origin,param_00.origin); + if(var_04 <= var_01) + { + return var_03; + } + } +} + +//Function Number: 16 +zmbaudiokitingcustom() +{ + level endon("zombie_wave_ended"); + wait(randomintrange(15,30)); + if(!isdefined(level.zmbkitingvoindex)) + { + level.zmbkitingvoindex = 0; + } + + var_00 = level.kitingconversations[level.zmbkitingvoindex]; + var_01 = "an_conv"; + var_02 = "convo" + var_00; + var_03 = 0; + if(isdefined(level.vox.speaker["player"].alias[var_01]) && isdefined(level.vox.speaker["player"].alias[var_01][var_02])) + { + var_04 = common_scripts\utility::array_randomize(level.players); + foreach(var_06 in var_04) + { + waittilldonespeaking(); + var_03 = var_06 maps\mp\zombies\_zombies_audio::create_and_play_dialog(var_01,var_02); + if(var_03) + { + break; + } + } + } + else if(isdefined(level.vox.speaker["announcer_oz"].alias[var_01]) && isdefined(level.vox.speaker["announcer_oz"].alias[var_01][var_02])) + { + var_08 = maps\mp\zombies\_zombies_audio_announcer::getannouncers("oz")[0]; + var_03 = var_08 maps\mp\zombies\_zombies_audio::create_and_play_dialog(var_01,var_02); + } + else + { + } + + if(var_03) + { + level.zmbkitingvoindex++; + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/_zombies_burgertown_spawning.gsc b/AW/PC/maps/mp/zombies/_zombies_burgertown_spawning.gsc new file mode 100644 index 0000000..8af1af6 --- /dev/null +++ b/AW/PC/maps/mp/zombies/_zombies_burgertown_spawning.gsc @@ -0,0 +1,468 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_zombies_burgertown_spawning.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 18 + * Decompile Time: 299 ms + * Timestamp: 4/22/2024 2:14:33 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level.spawninfo = spawnstruct(); + level.spawninfo.specialspawnsinfo = []; + level.spawninfo.packremaining = 0; + level.currentmaxenemycountfunc = []; + var_00 = "mp/dlc2SpecialAISpawnTable.csv"; + var_01 = 0; + var_02 = 1; + var_03 = 2; + var_04 = 3; + var_05 = 4; + var_06 = 5; + var_07 = 6; + var_08 = 7; + var_09 = 8; + var_0A = 9; + var_0B = tablegetrowcount(var_00); + for(var_0C = 0;var_0C < var_0B;var_0C++) + { + var_0D = tablelookupbyrow(var_00,var_0C,var_01); + var_0E = int(tablelookupbyrow(var_00,var_0C,var_02)); + var_0F = int(tablelookupbyrow(var_00,var_0C,var_03)); + var_10 = int(tablelookupbyrow(var_00,var_0C,var_04)); + var_11 = int(tablelookupbyrow(var_00,var_0C,var_05)); + var_12 = int(tablelookupbyrow(var_00,var_0C,var_06)); + var_13 = int(tablelookupbyrow(var_00,var_0C,var_07)); + var_14 = int(tablelookupbyrow(var_00,var_0C,var_08)); + var_15 = int(tablelookupbyrow(var_00,var_0C,var_09)); + var_16 = int(tablelookupbyrow(var_00,var_0C,var_0A)); + setupspecialspawninfo(var_0D,var_0E,var_0F,var_10,var_11,var_12,var_13,var_14,var_15,var_16); + } +} + +//Function Number: 2 +setupspecialspawninfo(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ + var_0A = level.spawninfo.specialspawnsinfo.size; + level.spawninfo.specialspawnsinfo[var_0A]["type"] = param_00; + level.spawninfo.specialspawnsinfo[var_0A]["startingRound"] = param_01; + level.spawninfo.specialspawnsinfo[var_0A]["startingCivilianRound"] = param_02; + level.spawninfo.specialspawnsinfo[var_0A]["probabilityIncrease"] = param_03; + level.spawninfo.specialspawnsinfo[var_0A]["currentProbability"] = 0; + level.spawninfo.specialspawnsinfo[var_0A]["roundCooldown"] = param_04; + level.spawninfo.specialspawnsinfo[var_0A]["currentRemainingCooldown"] = 0; + level.spawninfo.specialspawnsinfo[var_0A]["minPackSize"] = param_05; + level.spawninfo.specialspawnsinfo[var_0A]["maxPackSize"] = param_06; + level.spawninfo.specialspawnsinfo[var_0A]["packCooldown"] = param_07 * 1000; + level.spawninfo.specialspawnsinfo[var_0A]["nextValidSpawnTime"] = 0; + level.spawninfo.specialspawnsinfo[var_0A]["startingMaxActive"] = param_08; + level.spawninfo.specialspawnsinfo[var_0A]["startingTotalAllowed"] = param_09; + level.spawninfo.specialspawnsinfo[var_0A]["spawned"] = 0; + level.spawninfo.specialspawnsinfo[var_0A]["intro"] = 0; +} + +//Function Number: 3 +initializespecialai() +{ + for(var_00 = 0;var_00 < level.spawninfo.specialspawnsinfo.size;var_00++) + { + if(level.spawninfo.specialspawnsinfo[var_00]["spawned"]) + { + level.spawninfo.specialspawnsinfo[var_00]["currentProbability"] = 0; + level.spawninfo.specialspawnsinfo[var_00]["currentRemainingCooldown"] = level.spawninfo.specialspawnsinfo[var_00]["roundCooldown"]; + } + else + { + level.spawninfo.specialspawnsinfo[var_00]["currentRemainingCooldown"]--; + if(level.spawninfo.specialspawnsinfo[var_00]["currentRemainingCooldown"] < 0) + { + level.spawninfo.specialspawnsinfo[var_00]["currentRemainingCooldown"] = 0; + } + } + + if(level.spawninfo.specialspawnsinfo[var_00]["startingRound"] > level.wavecounter) + { + var_01 = 0; + } + else + { + var_01 = int(min(100,level.spawninfo.specialspawnsinfo[var_00]["currentProbability"] + level.spawninfo.specialspawnsinfo[var_00]["probabilityIncrease"])); + } + + level.spawninfo.specialspawnsinfo[var_00]["currentProbability"] = var_01; + level.spawninfo.specialspawnsinfo[var_00]["totalSpawned"] = 0; + level.spawninfo.specialspawnsinfo[var_00]["spawned"] = 0; + level.spawninfo.packremaining = 0; + } +} + +//Function Number: 4 +spawnzombies(param_00,param_01) +{ + level.spawninfo.numberspawned = 0; + level.spawninfo.maxspecialai = calculatemaxspecialaicount(); + level.spawninfo.nextpossiblespecialaipack = 0; + initializespecialai(); + if(level.nextcivilianround == level.wavecounter + 1) + { + level thread upcomingcivilianroundnotification(param_00); + } + + var_02 = spawnnumberofzombies(param_00,param_01); +} + +//Function Number: 5 +getmodifiedmaxenemycount(param_00) +{ + if(level.roundtype != "zombie_melee_goliath") + { + return param_00; + } + + var_01 = param_00 - 2; + if(var_01 < 0) + { + var_01 = 0; + } + + return var_01; +} + +//Function Number: 6 +spawnzombiescivilianround(param_00,param_01) +{ + level.spawninfo.numberspawned = 0; + level.spawninfo.specialairange = calculatecivilianspecialairange(); + level.spawninfo.nextpossiblespecialaipack = randomintrange(level.spawninfo.specialairange["min"],level.spawninfo.specialairange["max"]); + initializespecialai(); + var_02 = spawnnumberofzombies(param_00,param_01); + while(level.numberofalivecivilians > 0 || isdefined(level.waitingforcivilianspawn)) + { + if(maps\mp\zombies\zombies_spawn_manager::getnumberofzombies() < param_00) + { + var_02 = spawnnumberofzombies(1,param_01); + } + + wait 0.05; + } +} + +//Function Number: 7 +spawnnumberofzombies(param_00,param_01) +{ + for(var_02 = 0;var_02 < param_00;var_02++) + { + checkspawningpaused(param_00); + var_03 = maps\mp\zombies\zombies_spawn_manager::getenemytypetospawn(var_02,param_00); + var_03 = modifyaitype(var_03,param_00); + var_04 = maps\mp\zombies\zombies_spawn_manager::spawnzombietype(var_03); + level.spawninfo.numberspawned++; + if(isdefined(level.roundspawndelayfunc[level.roundtype])) + { + param_01 = [[ level.roundspawndelayfunc[level.roundtype] ]](var_02,param_00); + } + + wait(param_01); + } + + return var_02; +} + +//Function Number: 8 +checkspawningpaused(param_00) +{ + while(maps\mp\zombies\_util::iszombiegamepaused()) + { + wait 0.05; + } + + if(isdefined(level.currentmaxenemycountfunc[level.roundtype])) + { + var_01 = [[ level.currentmaxenemycountfunc[level.roundtype] ]](level.maxenemycount); + } + else + { + var_01 = level.maxenemycount; + } + + while(maps\mp\agents\_agent_utility::getnumactiveagents() >= var_01) + { + wait(0.1); + } +} + +//Function Number: 9 +checkforspecialaiintroround() +{ + var_00 = undefined; + for(var_01 = 0;var_01 < level.spawninfo.specialspawnsinfo.size;var_01++) + { + var_02 = level.spawninfo.specialspawnsinfo[var_01]; + if(var_02["intro"]) + { + continue; + } + + if(level.roundtype == "normal" && var_02["startingRound"] > level.wavecounter) + { + continue; + } + + if(level.roundtype != "normal" && var_02["startingCivilianRound"] > level.wavecounter) + { + continue; + } + + if(var_02["totalSpawned"] >= var_02["startingTotalAllowed"]) + { + continue; + } + + if(maps\mp\agents\_agent_utility::getnumactiveagents(var_02["type"]) >= var_02["startingMaxActive"]) + { + continue; + } + + level.spawninfo.specialspawnsinfo[var_01]["intro"] = 1; + return var_01; + } + + return undefined; +} + +//Function Number: 10 +modifyaitype(param_00,param_01) +{ + if(isdefined(level.getspawntypefunc[level.roundtype])) + { + return [[ level.getspawntypefunc[level.roundtype] ]](level.spawninfo.numberspawned,param_01); + } + + if(level.spawninfo.packremaining > 0) + { + level.spawninfo.packremaining--; + return level.spawninfo.packtype; + } + + if(level.spawninfo.nextpossiblespecialaipack <= level.spawninfo.numberspawned) + { + var_03 = checkforspecialaiintroround(); + if(isdefined(var_03)) + { + setspecialspawntype(var_03); + return level.spawninfo.specialspawnsinfo[var_03]["type"]; + } + + for(var_04 = 0;var_04 < level.spawninfo.specialspawnsinfo.size;var_04++) + { + var_05 = level.spawninfo.specialspawnsinfo[var_04]; + var_06 = var_05["type"]; + if(level.roundtype == "normal" && var_05["startingRound"] > level.wavecounter) + { + continue; + } + + if(level.roundtype != "normal" && var_05["startingCivilianRound"] > level.wavecounter) + { + continue; + } + + if(var_05["currentProbability"] <= 0) + { + continue; + } + + if(var_05["currentRemainingCooldown"] > 0) + { + continue; + } + + if(var_05["totalSpawned"] >= var_05["startingTotalAllowed"]) + { + continue; + } + + if(var_05["nextValidSpawnTime"] >= gettime()) + { + continue; + } + + if(maps\mp\agents\_agent_utility::getnumactiveagents(var_06) >= var_05["startingMaxActive"]) + { + continue; + } + + if(randomint(100) > var_05["currentProbability"]) + { + continue; + } + + setspecialspawntype(var_04); + return var_06; + } + } + + return param_00; +} + +//Function Number: 11 +setspecialspawntype(param_00) +{ + var_01 = level.spawninfo.specialspawnsinfo[param_00]; + if(var_01["minPackSize"] < var_01["maxPackSize"]) + { + var_02 = randomintrange(var_01["minPackSize"],var_01["maxPackSize"]); + } + else + { + var_02 = var_02["minPackSize"]; + } + + level.spawninfo.specialspawnsinfo[param_00]["spawned"] = 1; + level.spawninfo.packtype = var_01["type"]; + level.spawninfo.packremaining = var_02 - 1; + level.spawninfo.specialspawnsinfo[param_00]["currentProbability"] = level.spawninfo.specialspawnsinfo[param_00]["currentProbability"] - 10; + if(level.roundtype == "normal") + { + level.spawninfo.nextpossiblespecialaipack = level.spawninfo.numberspawned + var_02 + 10; + return; + } + + level.spawninfo.nextpossiblespecialaipack = level.spawninfo.numberspawned + var_02 + randomintrange(level.spawninfo.specialairange["min"],level.spawninfo.specialairange["max"]); +} + +//Function Number: 12 +activatespecialspawncooldown(param_00) +{ + for(var_01 = 0;var_01 < level.spawninfo.specialspawnsinfo.size;var_01++) + { + if(level.spawninfo.specialspawnsinfo[var_01]["type"] == param_00) + { + level.spawninfo.specialspawnsinfo[var_01]["nextValidSpawnTime"] = gettime() + level.spawninfo.specialspawnsinfo[var_01]["packCooldown"]; + return; + } + } +} + +//Function Number: 13 +calculaterespawnthreshold() +{ + var_00 = maps\mp\zombies\_util::getnumplayers(); + var_01 = level.wavecounter / 3; + if(var_00 == 1) + { + var_02 = var_01; + } + else + { + var_02 = var_01 - 1 * var_02 * 0.75; + } + + return int(12 + var_02); +} + +//Function Number: 14 +calculatemaxactiveai() +{ + var_00 = maps\mp\zombies\_util::getnumplayers(); + var_01 = level.wavecounter / 2; + if(var_01 < 1) + { + var_01 = 1; + } + + if(var_00 == 1) + { + var_02 = var_01 * 0.5; + } + else + { + var_02 = var_01 - 1 * var_02; + } + + return int(12 + var_02); +} + +//Function Number: 15 +calculatemaxspecialaicount() +{ + if(level.wavecounter < 4) + { + return 0; + } + + var_00 = maps\mp\zombies\_util::getnumplayers(); + var_01 = level.wavecounter / 5; + if(var_01 < 1) + { + var_01 = 1; + } + + if(var_00 == 1) + { + var_02 = var_01; + } + else + { + var_02 = var_01 - 1 * var_02 * 0.5; + } + + return int(6 + var_02); +} + +//Function Number: 16 +calculatecivilianspecialairange() +{ + var_00 = maps\mp\zombies\_util::getnumplayers(); + var_01 = level.wavecounter / 5; + if(var_00 == 1) + { + var_02 = var_01; + } + else + { + var_02 = var_01 - 1 * 0.5 + var_02; + } + + var_03 = []; + var_03["min"] = int(max(0,6 - var_01 * 0.75)); + var_03["max"] = int(max(0,10 - var_01 * 0.5)); + return var_03; +} + +//Function Number: 17 +calculatecivilianpacksize() +{ + var_00 = maps\mp\zombies\_util::getnumplayers(); + var_01 = level.wavecounter / 2; + if(var_00 == 1) + { + var_02 = var_01; + } + else + { + var_02 = var_01 - 1 * 0.5 * var_02; + } + + return int(12 + var_02); +} + +//Function Number: 18 +upcomingcivilianroundnotification(param_00) +{ + level endon("game_ended"); + var_01 = int(param_00 * 0.5); + for(;;) + { + if(level.spawninfo.numberspawned - maps\mp\zombies\zombies_spawn_manager::getnumberofzombies() >= var_01) + { + level notify("upcoming_civilian_round"); + break; + } + + wait(0.1); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/_zombies_laststand.gsc b/AW/PC/maps/mp/zombies/_zombies_laststand.gsc new file mode 100644 index 0000000..4f15b72 --- /dev/null +++ b/AW/PC/maps/mp/zombies/_zombies_laststand.gsc @@ -0,0 +1,1846 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_zombies_laststand.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 77 + * Decompile Time: 1380 ms + * Timestamp: 4/22/2024 2:14:37 AM +*******************************************************************/ + +//Function Number: 1 +callback_playerlaststandzombies(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + self notify("enter_last_stand"); + registerlaststandparameter(param_00,param_01,param_02,param_03,param_04,param_05,param_06); + if(gameshouldend(self,param_03,1) && !isattackerhostzombie(param_01) && !isattackerbossozstage2(param_01) && !cananyplayertokenrevive()) + { + self.uselaststandparams = 1; + self.numberofbleedouts++; + maps\mp\_utility::_suicide(); + zombieendgame(undefined,param_03); + return; + } + + if(!maydolaststandzombies(self)) + { + var_09 = "ui_zm_character_" + self.characterindex + "_alive"; + setomnvar(var_09,0); + self.uselaststandparams = 0; + self.numberofbleedouts++; + maps\mp\_utility::_suicide(); + if(level.players.size < 2) + { + zombieendgame(undefined,param_03); + } + + return; + } + + if(isattackerhostzombie(param_02)) + { + thread hostzombielaststand(); + return; + } + + if(isattackerbossozstage2(param_02)) + { + thread hostzombielaststand(1); + return; + } + + if(maps\mp\zombies\_util::iszombieshardmode()) + { + maps\mp\_utility::_suicide(); + return; + } + + self notify("begin_last_stand"); + self.inlaststand = 1; + self.laststand = 1; + maps\mp\zombies\_util::setallignoreme(1); + self.health = 1; + self.numberofdowns++; + var_0A = zombieslaststandweapon(); + savelaststandweapons(var_0A); + if(!haslaststandweapon(var_0A)) + { + giveplayerweapon(var_0A,1); + } + else + { + self switchtoweaponimmediate(var_0A); + } + + thread maps\mp\zombies\_util::zombieallowallboost(0,"laststand"); + thread zombieperkbleed(); + thread zombietokenrevive(); + common_scripts\utility::_disableusability(); + common_scripts\utility::_disableweaponswitch(); + self disableoffhandweapons(); + if(isdefined(param_04) && param_04 == "MOD_SUICIDE") + { + self deathdropgrenade(); + } + + thread laststandrevivezombie(param_01,param_02,param_05,param_08,param_04); + if(isdefined(level.laststandinwaterfunc)) + { + self thread [[ level.laststandinwaterfunc ]](); + } + + if(maps\mp\agents\_agent_utility::getnumownedactiveagents(self) > 0) + { + thread tryendgameafteragentsdie(param_04); + return; + } +} + +//Function Number: 2 +tryendgameafteragentsdie(param_00) +{ + self endon("death"); + self endon("disconnect"); + self endon("revive"); + level endon("game_ended"); + while(maps\mp\agents\_agent_utility::getnumownedactiveagents(self) > 0) + { + wait(0.05); + } + + if(!areanyotherplayersalive(self) && !maps\mp\zombies\_util::is_true(self.selfreviveactive)) + { + thread killplayerandendgameafteragentsdead(param_00); + } +} + +//Function Number: 3 +killplayerandendgameafteragentsdead(param_00) +{ + level endon("game_ended"); + self.uselaststandparams = 1; + self.numberofbleedouts++; + maps\mp\_utility::_suicide(); + zombieendgame(undefined,param_00); +} + +//Function Number: 4 +zombietokenrevive() +{ + zombietokenrevivewait(); + if(isdefined(self)) + { + maps\mp\zombies\_util::cleartokenuseomnvars(); + } +} + +//Function Number: 5 +zombietokenrevivewait() +{ + self endon("death"); + self endon("disconnect"); + self endon("revive"); + level endon("game_ended"); + var_00 = undefined; + for(;;) + { + if(isdefined(self.tokenbuttonpressed) && self.tokenbuttonpressed && !isdefined(self playergetuseent(1)) && maps\mp\gametypes\zombies::hastoken(10)) + { + if(!isdefined(var_00)) + { + var_00 = gettime() + maps\mp\gametypes\zombies::gettokenusetime(); + maps\mp\zombies\_util::settokenuseomvars(); + } + + if(gettime() >= var_00) + { + maps\mp\gametypes\zombies::spendtoken(10); + self notify("revive_trigger",0); + return; + } + } + else if(isdefined(var_00)) + { + var_00 = undefined; + maps\mp\zombies\_util::cleartokenuseomnvars(); + } + + wait 0.05; + } +} + +//Function Number: 6 +savelaststandweapons(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = 1; + } + + var_02 = self getweaponslistprimaries(); + self.primaryweapons = []; + foreach(var_04 in var_02) + { + if(!issubstr(var_04,"combatknife")) + { + self.primaryweapons[self.primaryweapons.size] = var_04; + } + } + + self.lastequippedweapon = self getcurrentprimaryweapon(); + if(self.lastequippedweapon == "search_dstry_bomb_defuse_mp" && isdefined(self.lastnonuseweapon) && isdefined(common_scripts\utility::array_find(self.primaryweapons,self.lastnonuseweapon))) + { + self.lastequippedweapon = self.lastnonuseweapon; + } + + if(issubstr(self.lastequippedweapon,"killstreak")) + { + self.lastequippedweapon = self.primaryweapons[0]; + } + + if(self.lastequippedweapon == "airdrop_sentry_marker_mp") + { + self.lastequippedweapon = self.primaryweapons[0]; + } + + if(self.lastequippedweapon == "none") + { + self.lastequippedweapon = self.primaryweapons[0]; + } + + if(issubstr(self.lastequippedweapon,"exo_suit_")) + { + self.lastequippedweapon = self.primaryweapons[0]; + } + + foreach(var_04 in self.primaryweapons) + { + self.primaryweaponsammo[var_04]["ammoclip"] = self getweaponammoclip(var_04); + if(common_scripts\utility::string_find(var_04,"akimbo")) + { + self.primaryweaponsammo[var_04]["ammoclipleft"] = self getweaponammoclip(var_04,"left"); + } + + self.primaryweaponsammo[var_04]["ammostock"] = self setweaponammostock(var_04); + } + + self.tombstoneweapon = self.lastequippedweapon; + self.tombstoneweaponlevel = maps\mp\zombies\_util::getzombieweaponlevel(self,self.tombstoneweapon); + if(issubstr(self.tombstoneweapon,"titan")) + { + self.tombstoneweaponlevel = 0; + } + + foreach(var_09 in self.primaryweapons) + { + if(!issubstr(var_09,"titan")) + { + if(param_01) + { + self takeweapon(var_09); + } + + var_0A = maps\mp\zombies\_util::getzombieweaponlevel(self,var_09); + if(var_0A > self.tombstoneweaponlevel) + { + self.tombstoneweapon = var_09; + self.tombstoneweaponlevel = var_0A; + } + } + } + + if(isdefined(self.scriptedtombstoneweapon) && isdefined(self.scriptedtombstoneweaponlevel)) + { + self.tombstoneweapon = self.scriptedtombstoneweapon; + self.tombstoneweaponlevel = self.scriptedtombstoneweaponlevel; + } +} + +//Function Number: 7 +refillstoredweaponammo() +{ + foreach(var_01 in self.primaryweapons) + { + self.primaryweaponsammo[var_01]["fillMax"] = 1; + } +} + +//Function Number: 8 +zombieslaststandweapon() +{ + var_00 = []; + if(maps\mp\zombies\_util::getzombieslevelnum() >= 3) + { + var_00 = ["iw5_fusionzm_mp","iw5_dlcgun3zm_mp","iw5_rw1zm_mp","iw5_vbrzm_mp","iw5_titan45zm_mp"]; + } + else + { + var_00 = ["iw5_fusionzm_mp","iw5_rw1zm_mp","iw5_vbrzm_mp","iw5_titan45zm_mp"]; + } + + var_01 = var_00[var_00.size - 1]; + var_02 = maps\mp\zombies\_wall_buys::getupgradeweaponname(self,var_01); + var_03 = -1; + for(var_04 = 0;var_04 < var_00.size;var_04++) + { + var_05 = maps\mp\zombies\_wall_buys::getupgradeweaponname(self,var_00[var_04]); + if(self hasweapon(var_05)) + { + var_06 = maps\mp\zombies\_util::getzombieweaponlevel(self,var_00[var_04]); + if(var_06 > var_03) + { + var_02 = var_05; + var_03 = var_06; + } + } + } + + return var_02; +} + +//Function Number: 9 +haslaststandweapon(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = zombieslaststandweapon(); + } + + var_01 = self getweaponslistprimaries(); + foreach(var_03 in var_01) + { + if(var_03 == param_00) + { + self.hadlaststandweapon = 1; + return 1; + } + } + + self.hadlaststandweapon = 0; + return 0; +} + +//Function Number: 10 +gameshouldend(param_00,param_01,param_02) +{ + if(level.players.size <= 1) + { + if(isdefined(param_01) && param_01 == "MOD_SUICIDE") + { + return 1; + } + + if(param_00 hasexostim() && maydolaststandzombies(param_00)) + { + return 0; + } + } + + if(areanyotherplayersalive(param_00)) + { + return 0; + } + else if(isdefined(param_02) && param_02 && areanyalliedagentsalive(param_00)) + { + return 0; + } + + return 1; +} + +//Function Number: 11 +areanyalliedagentsalive(param_00) +{ + var_01 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + foreach(var_03 in var_01) + { + if(!isalliedsentient(var_03,param_00)) + { + continue; + } + + if(maps\mp\zombies\_util::isplayerinlaststand(var_03)) + { + continue; + } + + if(maps\mp\zombies\_util::is_true(var_03.fakeplayer)) + { + continue; + } + + return 1; + } + + return 0; +} + +//Function Number: 12 +areanyotherplayersalive(param_00) +{ + var_01 = 0; + foreach(var_03 in level.players) + { + if(param_00 == var_03) + { + continue; + } + + if(!maps\mp\zombies\_util::isonhumanteam(var_03)) + { + continue; + } + + if(maps\mp\zombies\_util::isplayerinlaststand(var_03)) + { + if(maps\mp\agents\_agent_utility::getnumownedactiveagents(var_03) == 0) + { + continue; + } + } + + if(!isdefined(var_03.sessionstate) || var_03.sessionstate != "playing") + { + continue; + } + + var_01 = 1; + break; + } + + return var_01; +} + +//Function Number: 13 +cananyplayertokenrevive() +{ + if(!level.tokensenabled) + { + return 0; + } + + foreach(var_01 in level.players) + { + if(var_01 playercantokenrevive()) + { + return 1; + } + } + + return 0; +} + +//Function Number: 14 +playercantokenrevive() +{ + if(!level.tokensenabled) + { + return 0; + } + + if(self.sessionstate != "playing") + { + return 0; + } + + if(!maps\mp\gametypes\zombies::hastoken(10)) + { + return 0; + } + + return 1; +} + +//Function Number: 15 +zombieendgame(param_00,param_01) +{ + if(!gameshouldend(self,param_01)) + { + return 0; + } + + if(game["state"] == "postgame" || level.gameended) + { + return; + } + + maps\mp\zombies\_util::writezombiestats(); + level.finalkillcam_winner = level.enemyteam; + if(!isdefined(param_00)) + { + level thread maps\mp\gametypes\_gamelogic::endgame(level.enemyteam,game["end_reason"]["survivors_eliminated"]); + } + + wait 0.05; + maps\mp\zombies\_zombies_music::changezombiemusic("game_over"); +} + +//Function Number: 16 +maydolaststandzombies(param_00) +{ + if(param_00 maps\mp\_utility::touchingbadtrigger()) + { + return 0; + } + + if(maps\mp\zombies\_util::is_true(param_00.outofbounds)) + { + return 0; + } + + if(maps\mp\zombies\_util::isplayerinfected(param_00)) + { + return 0; + } + + return 1; +} + +//Function Number: 17 +registerlaststandparameter(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + var_07 = spawnstruct(); + var_07.einflictor = param_00; + var_07.attacker = param_01; + var_07.idamage = param_02; + var_07.attackerposition = param_01.origin; + var_07.smeansofdeath = param_03; + var_07.sweapon = param_04; + var_07.vdir = param_05; + var_07.shitloc = param_06; + var_07.laststandstarttime = gettime(); + if(isdefined(param_01) && isplayer(param_01) && param_01 getcurrentprimaryweapon() != "none") + { + var_07.sprimaryweapon = param_01 getcurrentprimaryweapon(); + } + else + { + var_07.sprimaryweapon = undefined; + } + + self.laststandparams = var_07; +} + +//Function Number: 18 +hasexostim() +{ + return isdefined(self.isexostimactive) && self.isexostimactive; +} + +//Function Number: 19 +useexostim() +{ + self notify("take_exo_revive"); + thread laststandselfrevive(); + level thread selfrevivethinkloop(self); +} + +//Function Number: 20 +zombieperkbleed() +{ + zombieperkbleedwait(); + zombieperkbleedflashingstop(); +} + +//Function Number: 21 +zombieperkbleedwait() +{ + self endon("death"); + self endon("disconnect"); + self endon("revive"); + level endon("game_ended"); + var_00 = []; + for(var_01 = self.zm_perks.size - 1;var_01 >= 0;var_01--) + { + var_02 = self.zm_perks[var_01]; + if(var_02 != "exo_suit" && var_02 != "exo_revive" || level.players.size > 1) + { + var_00[var_00.size] = var_02; + } + } + + if(!var_00.size) + { + return; + } + + var_03 = 8; + foreach(var_02 in var_00) + { + zombieperkbleedflashing(var_02); + wait(var_03); + while(isdefined(self.beingrevived) && self.beingrevived) + { + wait 0.05; + } + + self notify("take_" + var_02); + } +} + +//Function Number: 22 +zombieperkbleedflashing(param_00) +{ + var_01 = maps\mp\zombies\_terminals::getitemomnvar(param_00); + self.perkomnvarflash = var_01; + self setclientomnvar(var_01,2); +} + +//Function Number: 23 +zombieperkbleedflashingstop() +{ + if(isdefined(self) && isdefined(self.perkomnvarflash)) + { + self setclientomnvar(self.perkomnvarflash,1); + self.perkomnvarflash = undefined; + } +} + +//Function Number: 24 +laststandrevivezombie(param_00,param_01,param_02,param_03,param_04) +{ + self endon("death"); + self endon("disconnect"); + self endon("revive"); + level endon("game_ended"); + level notify("player_last_stand"); + self notify("force_cancel_placement"); + thread maps\mp\zombies\_zombies_audio::playerlaststandvo(); + thread laststandwaittilldeathzombies(); + thread laststandammomonitor(); + thread laststandkeepoverlayzombies(); + thread laststandmonitorabandonment(); + var_05 = spawn("script_model",self.origin); + var_05 setmodel("tag_origin"); + var_05 setcursorhint("HINT_NOICON"); + var_05 sethintstring(&"PLATFORM_REVIVE"); + var_05 makeusable(); + var_05.inuse = 0; + var_05.curprogress = 0; + var_05.usetime = level.laststandusetime; + var_05.userate = 1; + var_05.id = "last_stand"; + var_05.targetname = "revive_trigger"; + var_05.owner = self; + var_05 linkto(self,"tag_origin",(0,0,20),(0,0,0)); + var_05 thread deleteonreviveordeathordisconnect(); + self.reviveicon = createreviveicon("hint_health_zm",8,8,(0.5,1,0.99)); + thread laststandupdatereviveiconcolorzombies(var_05,30); + thread laststandupdatereviveiconzombies(var_05); + var_05 thread reviveentmonitor(); + var_05 thread laststandwaittilllifereceived(); + if(level.players.size <= 1 && hasexostim()) + { + useexostim(); + } + else + { + var_05 thread revivetriggerthinkzombies(); + applylaststandmoneypenalty(self); + thread laststandtimerzombies(30,var_05); + } + + var_05 endon("death"); + maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(30); + while(isdefined(var_05.inuse) && var_05.inuse) + { + wait 0.05; + } + + self hudoutlinedisable(); + self disableweapons(); + self.movespeedscaler = 0.05; + thread bleedout(); +} + +//Function Number: 25 +deleteonreviveordeathordisconnect() +{ + if(!isdefined(self)) + { + return; + } + + self endon("death"); + self.owner common_scripts\utility::waittill_any("death","disconnect"); + if(isdefined(self)) + { + self delete(); + } +} + +//Function Number: 26 +createreviveicon(param_00,param_01,param_02,param_03) +{ + if(isdefined(self.reviveicon)) + { + self.reviveicon destroy(); + } + + var_04 = newteamhudelem(self.team); + var_04 setshader(param_00,param_01,param_02); + var_04 setwaypoint(1,1); + var_04 settargetent(self); + var_04.color = param_03; + return var_04; +} + +//Function Number: 27 +applylaststandmoneypenalty(param_00) +{ + var_01 = maps\mp\gametypes\zombies::getcurrentmoney(param_00); + var_02 = int(var_01 * 0.1); + var_03 = common_scripts\utility::mod(var_02,10); + var_02 = var_02 - var_03; + param_00 maps\mp\gametypes\zombies::spendmoney(var_02); + param_00.revivemoneyaward = var_02; +} + +//Function Number: 28 +bleedout() +{ + self notify("bleedout"); + level notify("bleedout"); + if(isdefined(self.reviveicon)) + { + self.reviveicon destroy(); + } + + var_00 = "ui_zm_character_" + self.characterindex + "_alive"; + setomnvar(var_00,0); + if(maps\mp\zombies\_util::playerhasem1ammoinfo()) + { + maps\mp\zombies\_util::playerclearem1ammoinfo(); + } + + self.numberofbleedouts++; + self suicide(); + if(!areanyotherplayersalive(self)) + { + zombieendgame(); + return; + } + + maps\mp\zombies\_zombies_music::changezombiemusic("player_died",self); +} + +//Function Number: 29 +laststandselfrevive() +{ + self endon("disconnect"); + self setclientomnvar("ui_use_bar_text",3); + self setclientomnvar("ui_use_bar_start_time",int(gettime())); + self.curprogress = 0; + self.userate = 1; + self.usetime = 8000; + self.selfreviveactive = 1; + var_00 = -1; + while(maps\mp\_utility::isreallyalive(self) && isdefined(self.laststand) && !level.gameended) + { + if(var_00 != self.userate) + { + if(self.curprogress > self.usetime) + { + self.curprogress = self.usetime; + } + + if(self.userate > 0) + { + var_01 = gettime(); + var_02 = self.curprogress / self.usetime; + var_03 = var_01 + 1 - var_02 * self.usetime / self.userate; + self setclientomnvar("ui_use_bar_end_time",int(var_03)); + } + + var_00 = self.userate; + } + + wait(0.05); + } + + self.selfreviveactive = 0; + self setclientomnvar("ui_use_bar_end_time",0); +} + +//Function Number: 30 +selfrevivethinkloop(param_00) +{ + while(!level.gameended && maps\mp\_utility::isreallyalive(param_00) && param_00.curprogress < param_00.usetime) + { + param_00.curprogress = param_00.curprogress + 50 * param_00.userate; + if(param_00.curprogress >= param_00.usetime) + { + param_00 notify("revive_trigger"); + } + + wait(0.05); + } +} + +//Function Number: 31 +revivetriggerthinkzombies() +{ + self endon("death"); + level endon("game_ended"); + var_00 = 2000; + var_01 = 0.5; + for(;;) + { + self makeusable(); + self waittill("trigger",var_02); + self makeunusable(); + self.curprogress = 0; + self.inuse = 1; + self.owner.beingrevived = 1; + var_02 freezecontrols(1); + var_02 common_scripts\utility::_disableweaponswitch(); + var_02 maps\mp\zombies\_util::playerallowfire(0,"laststand"); + var_02.isreviving = 1; + var_03 = var_00; + if(var_02 hasexostim()) + { + var_03 = var_03 * var_01; + } + + thread revivetriggerthinkzombies_cleanup(var_02); + var_04 = maps\mp\gametypes\_damage::reviveholdthink(var_02,var_03,0); + self.inuse = 0; + if(isdefined(self.owner)) + { + self.owner.beingrevived = 0; + } + + if(isdefined(var_02) && maps\mp\_utility::isreallyalive(var_02)) + { + self notify("reviveTriggerThinkZombies_cleanup"); + if(!isdefined(var_04)) + { + var_02 maps\mp\gametypes\_gameobjects::updateuiprogress(self,0); + } + } + + if(isdefined(var_04) && var_04) + { + self.owner notify("revive_trigger",var_02); + var_05 = var_02; + if(!isplayer(var_05) && isplayer(var_05.owner)) + { + var_05 = var_05.owner; + } + + var_05 maps\mp\gametypes\zombies::givemoney(self.owner.revivemoneyaward); + break; + } + } +} + +//Function Number: 32 +revivetriggerthinkzombies_cleanup(param_00) +{ + common_scripts\utility::waittill_any_ents(self,"death",self,"reviveTriggerThinkZombies_cleanup"); + param_00 freezecontrols(0); + param_00 maps\mp\zombies\_util::playerallowfire(1,"laststand"); + param_00 common_scripts\utility::_enableweaponswitch(); + param_00.isreviving = 0; +} + +//Function Number: 33 +waittill_any_in_array_return_no_endon_death_duplicate(param_00) +{ + var_01 = spawnstruct(); + foreach(var_03 in param_00) + { + childthread common_scripts\utility::waittill_string_no_endon_death(var_03,var_01); + } + + var_01 waittill("returned",var_05); + var_01 notify("die"); + return var_05; +} + +//Function Number: 34 +laststandcleanupomnvar(param_00) +{ + level endon("game_ended"); + self endon("revive_trigger"); + var_01 = self.characterindex; + waittill_any_in_array_return_no_endon_death_duplicate(param_00); + var_02 = "ui_zm_character_" + var_01 + "_bleedout_endtime"; + setomnvar(var_02,0); + level notify(var_02 + "_cancel"); +} + +//Function Number: 35 +laststandwaittilllifereceived() +{ + level endon("game_ended"); + var_00 = self.owner; + var_00 endon("becameSpectator"); + var_00 endon("death"); + var_00 endon("disconnect"); + var_00 thread laststandcleanupomnvar(["becameSpectator","death","disconnect"]); + var_00 waittill("revive_trigger",var_01); + if(isdefined(var_01) && isplayer(var_01)) + { + var_00 thread maps\mp\zombies\_zombies_audio::playerrevivevo(var_01); + } + + if(isdefined(var_01) && isplayer(var_01) && var_01 != var_00) + { + var_00 thread maps\mp\gametypes\_hud_message::playercardsplashnotify("revived",var_01); + var_01 maps\mp\_utility::incplayerstat("assists",1); + var_01 maps\mp\_utility::incpersstat("assists",1); + var_01.assists = var_01 maps\mp\_utility::getpersstat("assists"); + var_01 maps\mp\gametypes\_persistence::statsetchild("round","assists",var_01.assists); + } + + var_02 = "ui_zm_character_" + var_00.characterindex + "_bleedout_endtime"; + setomnvar(var_02,0); + level notify(var_02 + "_cancel"); + if(var_00 isreloading()) + { + while(var_00 isreloading()) + { + wait 0.05; + } + + wait 0.05; + } + + var_00 respawnplayerzombies(1); +} + +//Function Number: 36 +reviveentwaittillconditions() +{ + self endon("death"); + self.owner common_scripts\utility::waittill_any("revive_trigger","disconnect","becameSpectator"); +} + +//Function Number: 37 +reviveentmonitor() +{ + if(isdefined(self.owner.reviveicon)) + { + var_00 = self.owner.reviveicon; + } + else + { + var_00 = undefined; + } + + reviveentwaittillconditions(); + if(isdefined(self) && isdefined(self.owner) && isdefined(self.owner.reviveicon)) + { + self.owner.reviveicon destroy(); + } + else if(isdefined(var_00)) + { + var_00 destroy(); + } + + if(isdefined(self)) + { + self delete(); + } +} + +//Function Number: 38 +givebackweaponsfromlaststand() +{ + if(!self.hadlaststandweapon) + { + var_00 = zombieslaststandweapon(); + self takeweapon(var_00); + self loadweapons(var_00); + } + + var_01 = undefined; + if(issubstr(self.lastequippedweapon,"turrethead")) + { + var_02 = -1; + for(var_03 = 0;var_03 < self.primaryweapons.size;var_03++) + { + var_04 = maps\mp\zombies\_wall_buys::getupgradeweaponname(self,self.primaryweapons[var_03]); + var_05 = maps\mp\zombies\_util::getzombieweaponlevel(self,self.primaryweapons[var_03]); + if(var_05 > var_02) + { + var_01 = var_04; + var_02 = var_05; + } + } + } + + if(!isdefined(var_01)) + { + var_01 = self.lastequippedweapon; + } + + foreach(var_07 in self.primaryweapons) + { + givestoredweapon(var_07,var_07 == var_01); + } +} + +//Function Number: 39 +respawnplayerzombies(param_00) +{ + self notify("revive"); + self.laststand = undefined; + self.inlaststand = 0; + self.headicon = ""; + self.health = self.maxhealth; + self.ignoreme = 0; + self.ignoremecount = undefined; + self.zombiesignoreme = 0; + self.zombiesignoremecount = undefined; + self.beingrevived = 0; + self.lastrevivetime = gettime(); + if(maps\mp\_utility::_hasperk("specialty_lightweight")) + { + self.movespeedscaler = maps\mp\_utility::lightweightscalar(); + } + + self hudoutlinedisable(); + self laststandrevive(); + self setstance("crouch"); + if(param_00) + { + givebackweaponsfromlaststand(); + } + + if(param_00) + { + common_scripts\utility::_enableweaponswitch(); + } + else + { + self enableweaponswitch(); + } + + thread maps\mp\zombies\_util::zombieallowallboost(1,"laststand"); + self enableweapons(); + common_scripts\utility::_enableusability(); + self enableoffhandweapons(); + maps\mp\gametypes\_weapons::updatemovespeedscale(); + maps\mp\_utility::clearlowermessage("last_stand"); + maps\mp\_utility::giveperk("specialty_pistoldeath",0); + self allowsprint(1); + if(!canspawn(self.origin)) + { + maps\mp\_movers::unresolved_collision_nearest_node(self,0); + } +} + +//Function Number: 40 +revivefromspectatemode() +{ + self endon("disconnect"); + wait(1); + maps\mp\gametypes\_playerlogic::incrementalivecount(self.team); + self.alreadyaddedtoalivecount = 1; + self.pers["lives"] = 1; + thread maps\mp\gametypes\_playerlogic::spawnclient(); + thread maps\mp\zombies\_util::setcustomcharacter(self.characterindex,0); + wait(0.1); + respawnplayerzombies(0); +} + +//Function Number: 41 +givestoredweapon(param_00,param_01) +{ + giveplayerweapon(param_00,param_01); + if(isdefined(self.primaryweaponsammo[param_00]["fillMax"])) + { + self givemaxammo(param_00); + self.primaryweaponsammo[param_00]["fillMax"] = undefined; + return; + } + + self setweaponammoclip(param_00,self.primaryweaponsammo[param_00]["ammoclip"]); + if(common_scripts\utility::string_find(param_00,"akimbo") && isdefined(self.primaryweaponsammo[param_00]["ammoclipleft"])) + { + self setweaponammoclip(param_00,self.primaryweaponsammo[param_00]["ammoclipleft"],"left"); + } + + self setweaponammostock(param_00,self.primaryweaponsammo[param_00]["ammostock"]); +} + +//Function Number: 42 +giveplayerweapon(param_00,param_01) +{ + while(!self loadweapons([param_00])) + { + wait 0.05; + } + + maps\mp\_utility::_giveweapon(param_00); + if(param_01) + { + self switchtoweaponimmediate(param_00); + } +} + +//Function Number: 43 +laststandwaittilldeathzombies() +{ + self endon("disconnect"); + self endon("revive"); + level endon("game_ended"); + self waittill("death"); + self.laststand = undefined; + self.inlaststand = 0; + self.ignoreme = 0; + self.ignoremecount = undefined; + self.zombiesignoreme = 0; + self.zombiesignoremecount = undefined; +} + +//Function Number: 44 +laststandkeepoverlayzombies() +{ + self endon("death"); + self endon("disconnect"); + self endon("revive"); + level endon("game_ended"); + for(;;) + { + self.health = 2; + wait 0.05; + self.health = 1; + wait 0.05; + } +} + +//Function Number: 45 +laststandmonitorabandonment() +{ + level endon("game_ended"); + self endon("disconnect"); + self endon("revive_trigger"); + self endon("horde_end_spectate"); + for(;;) + { + level waittill("player_disconnected"); + if(gameshouldend(self)) + { + self.uselaststandparams = 1; + self.numberofbleedouts++; + maps\mp\_utility::_suicide(); + zombieendgame(); + return; + } + + wait 0.05; + } +} + +//Function Number: 46 +laststandupdatereviveiconzombies(param_00) +{ + self endon("death"); + self endon("disconnect"); + self endon("revive"); + level endon("game_ended"); + param_00 endon("death"); + var_01 = (1,1,1); + for(;;) + { + while(!param_00.inuse) + { + wait 0.05; + } + + var_02 = self.reviveicon.color; + self.reviveicon = createreviveicon("hint_health_zm",8,8,var_01); + while(param_00.inuse) + { + wait 0.05; + } + + if(self.reviveicon.color != var_01) + { + var_02 = self.reviveicon.color; + } + + self.reviveicon = createreviveicon("hint_health_zm",8,8,var_02); + } +} + +//Function Number: 47 +laststandupdatereviveiconcolorzombies(param_00,param_01) +{ + self endon("death"); + self endon("disconnect"); + self endon("revive"); + level endon("game_ended"); + param_00 endon("death"); + maps\mp\_utility::playdeathsound(); + wait(param_01 / 3); + while(param_00.inuse) + { + wait(0.05); + } + + self.reviveicon.color = (1,0.5,0); + maps\mp\_utility::playdeathsound(); + wait(param_01 / 3); + while(param_00.inuse) + { + wait(0.05); + } + + self.reviveicon.color = (0.99,0.19,0.22); + maps\mp\_utility::playdeathsound(); +} + +//Function Number: 48 +laststandtimerzombies(param_00,param_01) +{ + var_02 = gettime() + param_00 * 1000; + var_03 = "ui_zm_character_" + self.characterindex + "_bleedout_endtime"; + level thread maps\mp\gametypes\zombies::setendtimeomnvarwithhostmigration(var_03,var_02); +} + +//Function Number: 49 +laststandammomonitor() +{ + self endon("death"); + self endon("disconnect"); + self endon("revive"); + level endon("game_ended"); + var_00 = 1; + for(;;) + { + wait(var_00); + var_01 = self getcurrentweapon(); + var_02 = self getammocount(var_01); + if(var_02 == 0) + { + var_03 = weaponclipsize(var_01); + self setweaponammostock(var_01,var_03); + } + } +} + +//Function Number: 50 +isattackerhostzombie(param_00) +{ + if(!isdefined(param_00) || !isdefined(param_00.agent_type)) + { + return 0; + } + + return param_00.agent_type == "zombie_host"; +} + +//Function Number: 51 +isattackerbossozstage2(param_00) +{ + if(!isdefined(param_00) || !isdefined(param_00.agent_type)) + { + return 0; + } + + return param_00.agent_type == "zombie_boss_oz_stage2"; +} + +//Function Number: 52 +hostzombielaststand(param_00) +{ + self endon("disconnect"); + self endon("cured"); + level notify("player_infected",self); + self notify("player_infected"); + var_01 = zombieslaststandweapon(); + savelaststandweapons(var_01,0); + var_02 = 60; + if(isdefined(self.isexotacticalarmoractive) && self.isexotacticalarmoractive) + { + var_02 = var_02 + 15; + } + + maps\mp\zombies\_zombies_audio::player_infected(); + self laststandrevive(); + self.health = 100; + self.infected = 1; + self.infectedendtime = gettime() + var_02 * 1000; + thread hostzombieupdateoutline(); + thread hostzombiehud(var_02); + if(level.currentgen && maps\mp\_utility::getmapname() == "mp_zombie_ark") + { + } + else + { + thread hostzombieheartbeat(var_02); + } + + thread hostzombiewaitcured(); + thread hostzombietokencured(); + thread hostzombiewaitbleedout(); + thread hostzombieupdateendtime(); + thread hostzombiecuredsound(); + while(self.infectedendtime > gettime()) + { + maps\mp\gametypes\_hostmigration::waittillhostmigrationdone(); + wait 0.05; + } + + self notify("stop_useHoldThinkLoop"); + self.isdefusing = 0; + self.isplanting = 0; + if(level.players.size <= 1 && hasexostim()) + { + thread hostzombiesoloexostim(); + return; + } + + level thread spawnplayerhostzombie(self); + self.hideondeath = 1; + bleedout(); +} + +//Function Number: 53 +hostzombiesoloexostim() +{ + self notify("cured",0); + wait 0.05; + self dodamage(self.health,self.origin,undefined,undefined,"MOD_TRIGGER_HURT"); +} + +//Function Number: 54 +hostzombieupdateoutline() +{ + var_00 = 0; + var_01 = 1; + var_02 = []; + var_03 = []; + foreach(var_05 in level.players) + { + if(maps\mp\zombies\_util::isplayerinfected(var_05)) + { + var_05 hudoutlineenable(var_01,0); + var_02[var_02.size] = var_05; + continue; + } + + var_05 hudoutlinedisable(); + var_03[var_03.size] = var_05; + } + + wait 0.05; + var_02 = common_scripts\utility::array_removeundefined(var_02); + var_03 = common_scripts\utility::array_removeundefined(var_03); + foreach(var_08 in level.hostcuremodels) + { + if(maps\mp\zombies\_util::is_true(var_08.terminal.terminaldeactivated)) + { + continue; + } + + if(var_02.size) + { + if(maps\mp\zombies\_terminals::perkterminalhostcureincooldown(var_08.terminal) || maps\mp\zombies\_util::is_true(var_08.terminal.terminaldisabled)) + { + var_08 hudoutlineenableforclients(var_02,var_00,1); + } + else + { + var_08 hudoutlineenableforclients(var_02,var_01,1); + } + } + + if(var_03.size) + { + var_08 hudoutlinedisableforclients(var_03); + } + + if(var_02.size) + { + var_08 maps\mp\zombies\_terminals::perkterminalcuremodellighton(); + continue; + } + + var_08 maps\mp\zombies\_terminals::perkterminalcuremodellightoff(); + } +} + +//Function Number: 55 +hostzombieupdateendtime() +{ + self endon("disconnect"); + self endon("bleedout"); + self endon("cured"); + for(;;) + { + self waittill("damage",var_00,var_01,var_02,var_03,var_04); + self.health = 100; + if(isscriptedagent(var_01)) + { + if(var_00 > 50) + { + var_05 = 5000; + } + else + { + var_05 = 3000; + } + } + else + { + var_05 = var_00 * 100; + } + + self.infectedendtime = self.infectedendtime - var_05; + self notify("infectedEntTimeUpdate",var_05); + } +} + +//Function Number: 56 +hostzombietokencured() +{ + hostzombietokencuredwait(); + if(isdefined(self)) + { + maps\mp\zombies\_util::cleartokenuseomnvars(); + } +} + +//Function Number: 57 +hostzombietokencuredwait() +{ + self endon("hostZombieEnd"); + self endon("disconnect"); + self endon("death"); + level endon("game_ended"); + var_00 = 90000; + var_01 = undefined; + for(;;) + { + if(isdefined(self.tokenbuttonpressed) && self.tokenbuttonpressed && !isdefined(self playergetuseent(1)) && maps\mp\gametypes\zombies::hastoken(10)) + { + if(!isdefined(var_01)) + { + var_01 = gettime() + maps\mp\gametypes\zombies::gettokenusetime(); + maps\mp\zombies\_util::settokenuseomvars(); + } + + if(gettime() >= var_01) + { + maps\mp\gametypes\zombies::spendtoken(10); + self setwatersheeting(1,0.5); + var_02 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + foreach(var_04 in var_02) + { + if(isdefined(var_04.agent_type) && var_04.agent_type == "zombie_host" && distance2dsquared(var_04.origin,self.origin) < var_00) + { + var_04 suicide(); + } + } + + self notify("cured",1); + return; + } + } + else if(isdefined(var_05)) + { + var_05 = undefined; + maps\mp\zombies\_util::cleartokenuseomnvars(); + } + + wait 0.05; + } +} + +//Function Number: 58 +hostzombiewaitcured() +{ + self endon("hostZombieEnd"); + self endon("disconnect"); + self waittill("cured",var_00); + thread hostzombieend(var_00); +} + +//Function Number: 59 +hostzombiewaitbleedout() +{ + self endon("hostZombieEnd"); + self endon("disconnect"); + self waittill("bleedout"); + thread hostzombieend(0); +} + +//Function Number: 60 +hostzombieend(param_00) +{ + self notify("hostZombieEnd"); + self.infected = 0; + if(param_00) + { + thread playercureignore(); + } + + level notify("player_cured",self); + self stopshellshock(); + hostzombieupdateoutline(); +} + +//Function Number: 61 +playercureignore() +{ + self notify("playerCureIgnore"); + self endon("playerCureIgnore"); + self endon("disconnect"); + var_00 = 5; + if(level.players.size == 1) + { + var_00 = 8; + } + + thread maps\mp\zombies\killstreaks\_zombie_camouflage::playercamouflagemode(var_00); +} + +//Function Number: 62 +spawnplayerhostzombie(param_00) +{ + var_01 = spawnstruct(); + var_01.origin = param_00.origin; + var_01.angles = param_00.angles; + playfx(common_scripts\utility::getfx("gib_full_body"),var_01.origin,(1,0,0)); + wait 0.05; + var_02 = undefined; + var_03 = undefined; + switch(param_00.characterindex) + { + case 0: + var_02 = "security_host"; + var_03 = "zombie_eye_host_security"; + break; + + case 1: + var_02 = "exec_host"; + var_03 = "zombie_eye_host_exec"; + break; + + case 2: + var_02 = "it_host"; + var_03 = "zombie_eye_host_it"; + break; + + case 3: + default: + if(maps\mp\zombies\_util::getzombieslevelnum() < 3) + { + var_02 = "janitor_host"; + var_03 = "zombie_eye_host_janitor"; + } + else + { + var_02 = "pilot_host"; + var_03 = "zombie_eye_host_pilot"; + } + break; + } + + var_04 = maps\mp\zombies\_zombies::spawnzombie("zombie_host",var_01,var_03); + var_04.hastraversed = 1; + var_04 thread maps\mp\zombies\_util::setcharactermodel(var_02,1); + var_05 = 4; + var_04.maxhealth = var_04.maxhealth * var_05; + var_04.health = var_04.health * var_05; + maps\mp\zombies\_zombies_audio_announcer::announcerhostturndialog(); +} + +//Function Number: 63 +hostzombieheartbeat(param_00) +{ + var_01 = []; + var_01[var_01.size] = "zmb_infected_low"; + var_01[var_01.size] = "zmb_infected_med"; + var_01[var_01.size] = "zmb_infected_high"; + if(!var_01.size) + { + return; + } + + var_02 = 0; + while(isdefined(var_02) && var_02 < var_01.size) + { + var_03 = hostzobieheartbeatgetent(); + var_03 playsoundonmovingent(var_01[var_02]); + var_03 scalevolume(1); + var_03.inuse = 1; + var_02 = hostzombieheartbeatnextstage(var_02,var_01.size,param_00); + var_04 = 0.5; + if(!isdefined(var_02)) + { + var_04 = 0; + } + + var_03 thread hostzombieheartbeatstop(var_04); + } +} + +//Function Number: 64 +hostzobieheartbeatgetent() +{ + var_00 = undefined; + var_01 = getentarray("infected_heart_beat","targetname"); + foreach(var_03 in var_01) + { + if(!isdefined(var_03.inuse) || !var_03.inuse) + { + var_00 = var_03; + if(!isdefined(var_03.owner) || var_03.owner == self) + { + break; + } + } + } + + if(!isdefined(var_00)) + { + var_00 = spawn("script_model",(0,0,0)); + var_00.targetname = "infected_heart_beat"; + } + + var_00.owner = self; + var_00 hide(); + var_00 showtoplayer(self); + return var_00; +} + +//Function Number: 65 +hostzombieheartbeatnextstage(param_00,param_01,param_02) +{ + self endon("disconnect"); + self endon("bleedout"); + self endon("cured"); + for(;;) + { + var_03 = self.infectedendtime - gettime() / 1000; + var_04 = int(1 - var_03 / param_02 * param_01); + if(var_04 != param_00) + { + return var_04; + } + + maps\mp\gametypes\_hostmigration::waittillhostmigrationdone(); + wait 0.05; + } +} + +//Function Number: 66 +hostzombieheartbeatstop(param_00) +{ + if(isdefined(param_00) && param_00 > 0) + { + self scalevolume(0,0.5); + wait(param_00); + } + + self stopsounds(); + self.inuse = 0; +} + +//Function Number: 67 +hostzombiecuredsound() +{ + self endon("death"); + self endon("bleedout"); + self endon("disconnect"); + self waittill("cured"); + self playlocalsound("zmb_infected_cured"); +} + +//Function Number: 68 +hostzombiehud(param_00) +{ + thread hostzombiehudvisionset(param_00); + self shellshock("zm_infected_start",2); + thread hostzombiehudfadetoblack(param_00); + thread hostzombiehudcountdown(param_00); + thread hostzombiehudcountdownhostmigration(); +} + +//Function Number: 69 +hostzombiehudvisionset(param_00) +{ + self endon("disconnect"); + if(maps\mp\zombies\_util::iszombieshardmode() && isdefined(level.zombiehardmodeinfectedvisionset)) + { + self.hostvisionset = level.zombiehardmodeinfectedvisionset; + self visionsetpostapplyforplayer(level.zombiehardmodeinfectedvisionset,0.5); + } + else if(isdefined(level.zombieinfectedvisionset)) + { + self.hostvisionset = level.zombieinfectedvisionset; + self visionsetpostapplyforplayer(level.zombieinfectedvisionset,0.5); + thread hostzombievisionset2(param_00 / 2); + } + + if(isdefined(level.zombieinfectedlightset)) + { + self lightsetoverrideenableforplayer(level.zombieinfectedlightset); + } + + self clientaddsoundsubmix("infected"); + hostzombiehudvisionsetwait(param_00); + self clientclearsoundsubmix("infected"); + var_01 = ""; + var_02 = 0; + if(maps\mp\zombies\_util::iszombieshardmode() && isdefined(level.zombiehardmodevisionset)) + { + var_01 = level.zombiehardmodevisionset; + var_02 = 0.5; + } + + if(isdefined(level.zombieinfectedvisionset)) + { + self visionsetpostapplyforplayer(var_01,var_02); + } + + if(isdefined(level.zombieinfectedlightset)) + { + self lightsetoverrideenableforplayer(); + } +} + +//Function Number: 70 +hostzombiehudvisionsetwait(param_00) +{ + self endon("death"); + self endon("bleedout"); + self endon("cured"); + maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(param_00); +} + +//Function Number: 71 +hostzombievisionset2(param_00) +{ + self endon("death"); + self endon("bleedout"); + self endon("cured"); + self endon("disconnect"); + maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(param_00); + if(isdefined(level.zombieinfectedvisionset2)) + { + self.hostvisionset = level.zombieinfectedvisionset2; + self visionsetpostapplyforplayer(level.zombieinfectedvisionset2,0.5); + } +} + +//Function Number: 72 +hostzombiehudfadetoblack(param_00) +{ + self endon("disconnect"); + self endon("bleedout"); + self endon("cured"); + if(isdefined(self.isexotacticalarmoractive) && self.isexotacticalarmoractive) + { + var_01 = self.infectedendtime - gettime() * 0.001 - 60; + wait(var_01); + } + + var_02 = 0; + var_03 = 0.85; + var_04 = hostzombiehudfullscreen("black"); + var_04.sort = 1; + var_04 thread hostzombiehudcleanup(self); + for(;;) + { + var_05 = self.infectedendtime - gettime() / 1000; + if(var_05 <= 0) + { + return; + } + + var_06 = 1 - var_05 / param_00; + var_06 = clamp(var_06,0,1); + var_04.alpha = var_02 + var_03 - var_02 * var_06; + var_04 fadeovertime(var_05); + var_04.alpha = var_03; + self waittill("infectedEntTimeUpdate"); + } +} + +//Function Number: 73 +hostzombiehudcountdown(param_00) +{ + self endon("disconnect"); + self endon("bleedout"); + self endon("cured"); + var_01 = "ui_zm_character_" + self.characterindex + "_infected_endtime"; + setomnvar(var_01,self.infectedendtime); + thread hostzombieomnvarcleanup(); + for(;;) + { + var_02 = self.infectedendtime - gettime() / 1000; + var_02 = max(var_02,0.1); + self waittill("infectedEntTimeUpdate",var_03); + setomnvar(var_01,self.infectedendtime); + } +} + +//Function Number: 74 +hostzombiehudcountdownhostmigration() +{ + self endon("disconnect"); + self endon("bleedout"); + self endon("cured"); + for(;;) + { + level waittill("host_migration_begin"); + var_00 = "ui_zm_character_" + self.characterindex + "_infected_endtime"; + setomnvar(var_00,0); + var_01 = maps\mp\gametypes\_hostmigration::waittillhostmigrationdone(); + self clientaddsoundsubmix("infected"); + if(isdefined(self.hostvisionset)) + { + self visionsetpostapplyforplayer(self.hostvisionset,0); + } + + if(isdefined(level.zombieinfectedlightset)) + { + self lightsetoverrideenableforplayer(level.zombieinfectedlightset); + } + + self.infectedendtime = self.infectedendtime + var_01; + self notify("infectedEntTimeUpdate",var_01); + } +} + +//Function Number: 75 +hostzombieomnvarcleanup() +{ + self endon("disconnect"); + var_00 = common_scripts\utility::waittill_any_return("cured","death","becameSpectator"); + var_01 = "ui_zm_character_" + self.characterindex + "_infected_endtime"; + setomnvar(var_01,0); + if(isdefined(var_00) && var_00 != "cured") + { + var_01 = "ui_zm_character_" + self.characterindex + "_alive"; + setomnvar(var_01,0); + } +} + +//Function Number: 76 +hostzombiehudcleanup(param_00) +{ + self endon("death"); + param_00 endon("disconnect"); + param_00 common_scripts\utility::waittill_any("cured","death","becameSpectator"); + self destroy(); +} + +//Function Number: 77 +hostzombiehudfullscreen(param_00) +{ + var_01 = newclienthudelem(self); + var_01.x = 0; + var_01.y = 0; + var_01 setshader(param_00,640,480); + var_01.horzalign = "fullscreen"; + var_01.vertalign = "fullscreen"; + return var_01; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/_zombies_music.gsc b/AW/PC/maps/mp/zombies/_zombies_music.gsc new file mode 100644 index 0000000..2f48085 --- /dev/null +++ b/AW/PC/maps/mp/zombies/_zombies_music.gsc @@ -0,0 +1,276 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_zombies_music.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 12 + * Decompile Time: 194 ms + * Timestamp: 4/22/2024 2:14:38 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level.zmmusicents = []; + var_00 = 3; + for(var_01 = 0;var_01 < var_00;var_01++) + { + level.zmmusicents[var_01] = spawn("script_model",(0,0,0)); + level.zmmusicents[var_01] scalevolume(0); + level.zmmusicents[var_01].index = var_01; + } + + level.zmb_music_states = []; + level.zmb_music_states_active = 1; + level thread setupmusicstate(0,"round_start","zmb_mus_roundcount",0,0,0.5,0); + level thread setupmusicstate(1,"round_normal",["zmb_mus_wave_01_lp","zmb_mus_wave_02_lp","zmb_mus_wave_03_lp"],0,1,1,1); + level thread setupmusicstate(1,"round_zombie_dog",["zmb_mus_spec_01_lp","zmb_mus_spec_02_lp","zmb_mus_spec_03_lp"],0,1,1,1); + level thread setupmusicstate(1,"round_zombie_host",["zmb_mus_spec_01_lp","zmb_mus_spec_02_lp","zmb_mus_spec_03_lp"],0,1,1,1); + level thread setupmusicstate(0,"round_end","zmb_mus_roundfinish",0,0,0.5,0); + level thread setupmusicstate(2,"round_intermission","zmb_mus_postround",0,1,1,0); + level thread setupmusicstate(0,"game_over","zmb_mus_sweeper",0,0,0,0); + level thread setupmusicstate(-1,"player_died","zmb_mus_deathsting",1,0,0,0); + if(isdefined(level.customzombiemusicstates)) + { + level thread [[ level.customzombiemusicstates ]](); + } +} + +//Function Number: 2 +setupmusicstate(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + if(param_03) + { + param_00 = undefined; + } + + if(!isdefined(level.zmb_music_states[param_01])) + { + level.zmb_music_states[param_01] = spawnstruct(); + } + + if(isarray(param_02)) + { + level.zmb_music_states[param_01].alias = param_02[0]; + level.zmb_music_states[param_01].alias_list = param_02; + } + else + { + level.zmb_music_states[param_01].alias = param_02; + } + + level.zmb_music_states[param_01].ent_num = param_00; + level.zmb_music_states[param_01].is_looping = param_04; + level.zmb_music_states[param_01].on_player = param_03; + level.zmb_music_states[param_01].start_wait = param_05; + level.zmb_music_states[param_01].stop_wait = param_06; +} + +//Function Number: 3 +changezombiemusic(param_00,param_01) +{ + if(!level.zmb_music_states_active) + { + return; + } + + var_02 = level.zmb_music_states[param_00]; + if(!isdefined(var_02)) + { + return; + } + + if(isdefined(level.old_music_state)) + { + if(level.old_music_state == var_02) + { + return; + } + else if(level.old_music_state == level.zmb_music_states["game_over"]) + { + return; + } + } + + if(maps\mp\zombies\_util::getzombieslevelnum() == 4) + { + thread dimmallmusic(param_00,param_01); + } + + thread _playmusic(var_02,param_01); + level.old_music_state = var_02; +} + +//Function Number: 4 +dimmallmusicforplayer() +{ + self endon("disconnect"); + self clientaddsoundsubmix("h2o_dim_mall_music",2); + wait(20); + self clientclearsoundsubmix("h2o_dim_mall_music",5); +} + +//Function Number: 5 +dimmallmusic(param_00,param_01) +{ + if(param_00 == "player_died") + { + param_01 clientaddsoundsubmix("h2o_dim_mall_music",2); + return; + } + + foreach(param_01 in level.players) + { + param_01 thread dimmallmusicforplayer(); + } +} + +//Function Number: 6 +shouldskipplayingmusic(param_00) +{ + var_01 = 0; + if(maps\mp\zombies\_util::getzombieslevelnum() == 4 && param_00 == level.zmb_music_states["round_start_hard_mode"]) + { + var_01 = 1; + } + + return param_00 != level.zmb_music_states["round_start"] && param_00 != level.zmb_music_states["round_end"] && !var_01 && isdefined(level.sq_song_ent) && maps\mp\zombies\_util::is_true(level.sq_song_ent.playing); +} + +//Function Number: 7 +aliasisdefined(param_00) +{ + if(soundexists(param_00)) + { + return 1; + } + + return 0; +} + +//Function Number: 8 +disablemusicstatechanges() +{ + level.zmb_music_states_active = 0; +} + +//Function Number: 9 +enablemusicstatechanges() +{ + level.zmb_music_states_active = 1; +} + +//Function Number: 10 +_playmusic(param_00,param_01) +{ + if(shouldskipplayingmusic(param_00)) + { + return; + } + + if(isdefined(param_00.start_wait) && param_00.start_wait > 0) + { + wait(param_00.start_wait); + } + + if(param_00 == level.zmb_music_states["round_intermission"]) + { + if(!aliasisdefined(param_00.alias)) + { + return; + } + + var_02 = level.zmmusicents[param_00.ent_num]; + var_02 playloopsound(param_00.alias); + var_02 scalevolume(1,0.5); + wait(10); + var_02 scalevolume(0,5); + wait(5); + var_02 stoploopsound(); + return; + } + + if(param_00.is_looping) + { + var_02 = level.zmmusicents[param_00.ent_num]; + var_03 = param_00.alias; + if(isdefined(param_00.alias_list)) + { + if(!isdefined(param_00.last_alias_index)) + { + param_00.last_alias_index = randomint(param_00.alias_list.size); + } + else + { + param_00.last_alias_index = param_00.last_alias_index + 1 % param_00.alias_list.size; + } + + var_03 = param_00.alias_list[param_00.last_alias_index]; + param_00.alias = var_03; + } + + if(!aliasisdefined(var_03)) + { + return; + } + + var_02 playloopsound(var_03); + var_02 scalevolume(1); + thread _stoponroundend(var_02,param_00); + if(level.roundtype == "normal") + { + thread _stopontimeelapsed(var_02,param_00); + return; + } + + return; + } + + if(param_00.on_player) + { + if(!aliasisdefined(param_00.alias)) + { + return; + } + + param_01 playsoundtoplayer(param_00.alias,param_01); + return; + } + + if(!aliasisdefined(param_00.alias)) + { + return; + } + + var_02 = level.zmmusicents[param_00.ent_num]; + var_02 playsoundonmovingent(param_00.alias); + var_02 scalevolume(1); +} + +//Function Number: 11 +_stoponroundend(param_00,param_01) +{ + level endon("zombie_stopOnTimeElapsed"); + level waittill("zombie_wave_ended"); + if(isdefined(param_01.stop_wait) && param_01.stop_wait > 0) + { + wait(param_01.stop_wait); + } + + param_00 scalevolume(0,2); + wait(2); + param_00 stoploopsound(); + param_00 scalevolume(1); +} + +//Function Number: 12 +_stopontimeelapsed(param_00,param_01) +{ + level endon("zombie_wave_ended"); + wait(20); + param_00 scalevolume(0,20); + wait(20); + param_00 stoploopsound(); + param_00 scalevolume(1); + level notify("zombie_stopOnTimeElapsed"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/_zombies_rewards.gsc b/AW/PC/maps/mp/zombies/_zombies_rewards.gsc new file mode 100644 index 0000000..a2e636c --- /dev/null +++ b/AW/PC/maps/mp/zombies/_zombies_rewards.gsc @@ -0,0 +1,682 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_zombies_rewards.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 38 + * Decompile Time: 678 ms + * Timestamp: 4/22/2024 2:14:41 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level.zombie_rewards = []; + level thread setuprewardlist(); + thread debug_setuppenalty(); + level thread civrescuethink(); +} + +//Function Number: 2 +civrescuethink() +{ + level.civrescueseq = 0; + level.civfailedescorts = 0; + for(;;) + { + var_00 = level common_scripts\utility::waittill_any_return("extraction_complete","extraction_failed"); + if(var_00 == "extraction_complete") + { + level.civrescueseq++; + level thread civrescuesuccess(); + continue; + } + + if(level.civrescueseq > 0) + { + level.civrescueseq--; + } + + level thread civrescuefail(); + } +} + +//Function Number: 3 +civrescuesuccess() +{ + level waittill("zombie_wave_ended"); + wait(1); + if(level.civrescueseq >= 3 && level.civrescueseq <= 4) + { + var_00 = "silver"; + } + else if(level.civrescueseq >= 5) + { + var_00 = "gold"; + } + else + { + var_00 = "bronze"; + } + + thread civrescuesuccessreward(var_00); +} + +//Function Number: 4 +civrescuesuccessreward(param_00) +{ + if(param_00 == "silver") + { + iprintlnbold(&"ZOMBIE_CIVILIANS_SUCCESS_SILVER_END_ROUND"); + } + else if(param_00 == "gold") + { + iprintlnbold(&"ZOMBIE_CIVILIANS_SUCCESS_GOLD_END_ROUND"); + } + else + { + iprintlnbold(&"ZOMBIE_CIVILIANS_SUCCESS_END_ROUND"); + } + + foreach(var_02 in level.players) + { + var_02 thread reward_countdowntimer(); + } + + level waittill("timer_countdown_complete"); + reward_enablebyclass(param_00); +} + +//Function Number: 5 +setuprewardlist() +{ + var_00 = ["bronze_money","silver_money","gold_money","refill_ammo","refill_grenades","single_grenade","droppod_single","droppod_cluster","atm_all_on","weapon_upgrade","fire_sale_activate","solo_extra_revive"]; + for(var_01 = 0;var_01 < var_00.size;var_01++) + { + level.zombie_rewards[var_01] = spawnstruct(); + level.zombie_rewards[var_01].rewardname = var_00[var_01]; + level.zombie_rewards[var_01].lastwavegiven = 0; + level.zombie_rewards[var_01].specialfunc = undefined; + } + + setrewardspecialfunction("bronze_money",::reward_givemoney,"reward_bronze"); + setrewardspecialfunction("silver_money",::reward_givemoney,"reward_silver"); + setrewardspecialfunction("gold_money",::reward_givemoney,"reward_gold"); + setrewardspecialfunction("refill_ammo",::reward_ammorefill); + setrewardspecialfunction("single_grenade",::reward_singlegrenade); + setrewardspecialfunction("refill_grenades",::reward_grenaderefill); + setrewardspecialfunction("droppod_single",::reward_orbitaldropsingle); + setrewardspecialfunction("droppod_cluster",::reward_orbitaldropcluster); + setrewardspecialfunction("weapon_upgrade",::reward_weaponupgrade); + setrewardspecialfunction("solo_extra_revive",::reward_soloextrarevive); + thread debug_setupallrewards(); +} + +//Function Number: 6 +setrewardspecialfunction(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = getrewardbyname(param_00); + var_05.specialfunc = param_01; + if(isdefined(param_02)) + { + var_05.funcparm1 = param_02; + } + + if(isdefined(param_03)) + { + var_05.funcparm2 = param_03; + } + + if(isdefined(param_04)) + { + var_05.funcparm3 = param_04; + } +} + +//Function Number: 7 +getrewardbyname(param_00) +{ + foreach(var_02 in level.zombie_rewards) + { + if(var_02.rewardname == param_00) + { + return var_02; + } + } + + return undefined; +} + +//Function Number: 8 +reward_enablebyclass(param_00) +{ + switch(param_00) + { + case "bronze": + thread reward_enable("weapon_upgrade"); + break; + + case "silver": + thread reward_enable("weapon_upgrade"); + thread reward_enable("single_grenade"); + thread reward_enable("droppod_single"); + thread reward_enable("refill_ammo"); + break; + + case "gold": + thread reward_enable("weapon_upgrade"); + thread reward_enable("refill_grenades"); + thread reward_enable("droppod_cluster"); + thread reward_enable("refill_ammo"); + break; + + default: + break; + } +} + +//Function Number: 9 +reward_enable(param_00) +{ + var_01 = getrewardbyname(param_00); + if(isdefined(var_01.specialfunc)) + { + var_01 thread callspecialrewardfunction(); + } +} + +//Function Number: 10 +callspecialrewardfunction() +{ + var_00 = self; + if(!isdefined(var_00.funcparm1)) + { + var_00 thread [[ var_00.specialfunc ]](); + return; + } + + if(!isdefined(var_00.funcparm2)) + { + var_00 thread [[ var_00.specialfunc ]](var_00.funcparm1); + return; + } + + if(!isdefined(var_00.funcparm3)) + { + var_00 thread [[ var_00.specialfunc ]](var_00.funcparm1,var_00.funcparm2); + return; + } + + var_00 thread [[ var_00.specialfunc ]](var_00.funcparm1,var_00.funcparm2,var_00.funcparm3); +} + +//Function Number: 11 +rewardlastwavegiven() +{ + var_00 = 0; + if(level.wavecounter - self.lastwavegiven <= 3) + { + var_00 = self.lastwavegiven; + } + + return var_00; +} + +//Function Number: 12 +reward_givemoney(param_00) +{ + wait(3); + foreach(var_02 in level.players) + { + var_02 maps\mp\gametypes\zombies::givepointsforevent(param_00,undefined,1); + } +} + +//Function Number: 13 +reward_ammorefill() +{ + level thread maps\mp\gametypes\zombies::activatemaxammo(); +} + +//Function Number: 14 +reward_singlegrenade() +{ + foreach(var_01 in level.players) + { + var_02 = var_01 getlethalweapon(); + var_03 = var_01 gettacticalweapon(); + var_04 = [var_02,var_03]; + foreach(var_06 in var_04) + { + if(var_06 == "none") + { + continue; + } + + var_01 setweaponammoclip(var_06,var_01 getweaponammoclip(var_06) + 1); + } + } +} + +//Function Number: 15 +reward_grenaderefill() +{ + foreach(var_01 in level.players) + { + var_02 = var_01 getlethalweapon(); + var_03 = var_01 gettacticalweapon(); + var_04 = [var_02,var_03]; + foreach(var_06 in var_04) + { + if(var_06 == "none") + { + continue; + } + + var_07 = weaponclipsize(var_06); + var_01 setweaponammoclip(var_06,var_07); + } + } +} + +//Function Number: 16 +reward_orbitaldropsingle() +{ + level.orbitaldropupgrade = 1; + thread maps\mp\zombies\killstreaks\_zombie_killstreaks::dropcarepackage(); + wait(10); + level.orbitaldropupgrade = 0; +} + +//Function Number: 17 +reward_orbitaldropcluster() +{ + level.orbitaldropupgrade = 1; + var_00 = randomintrange(2,3); + for(var_01 = 0;var_01 < var_00;var_01++) + { + thread maps\mp\zombies\killstreaks\_zombie_killstreaks::dropcarepackage(); + wait(randomfloatrange(1,3)); + } + + wait(10); + level.orbitaldropupgrade = 0; +} + +//Function Number: 18 +reward_weaponupgrade() +{ + foreach(var_01 in level.players) + { + var_01 thread reward_weaponupgradethink(); + } +} + +//Function Number: 19 +reward_weaponupgradethink() +{ + self endon("death"); + self endon("disconnect"); + level endon("game_ended"); + if(isdefined(self.inlaststand) && self.inlaststand == 1) + { + while(self.inlaststand == 1) + { + wait(0.1); + } + } + + if(isdefined(self.iscarrying) && self.iscarrying == 1) + { + while(self.iscarrying == 1) + { + wait(0.1); + } + } + + if(isdefined(self.hasbomb) && self.hasbomb == 1) + { + while(self.hasbomb == 1) + { + wait(0.1); + } + } + + var_00 = maps\mp\zombies\_util::getplayerweaponzombies(self); + var_01 = getweaponbasename(var_00); + if(!maps\mp\zombies\_util::haszombieweaponstate(self,var_01)) + { + return; + } + + if(self.weaponstate[var_01]["level"] < 20) + { + maps\mp\zombies\_wall_buys::setweaponlevel(self,var_00,self.weaponstate[var_01]["level"] + 1); + } + else if(self.weaponstate[var_01]["level"] == 20) + { + maps\mp\zombies\_wall_buys::setweaponlevel(self,var_00,25); + } + else + { + return; + } + + thread maps\mp\zombies\_zombies_audio::playerweaponupgrade(0,self.weaponstate[var_01]["level"]); + self.numupgrades++; +} + +//Function Number: 20 +reward_soloextrarevive() +{ + if(level.players.size < 2) + { + var_00 = level.terminalitems["exo_revive"]; + var_00.maxbuyssolo++; + foreach(var_02 in level.players) + { + if(!isdefined(var_02.isexostimactive) || isdefined(var_02.isexostimactive) && var_02.isexostimactive == 0) + { + var_02.isexostimactive = 1; + } + } + } +} + +//Function Number: 21 +reward_countdowntimer() +{ + self endon("disconnect"); + var_00 = maps\mp\gametypes\_hud_util::createprimaryprogressbartext(0,185); + var_00 settext(&"ZOMBIE_CIVILIANS_INCOMING_UPGRADE"); + var_00.fontscale = 0.65; + var_01 = maps\mp\gametypes\_hud_util::createprimaryprogressbartext(0,205); + var_01 thread update_countdown(); + var_01.fontscale = 1; + level common_scripts\utility::waittill_any("timer_countdown_complete"); + var_01 maps\mp\gametypes\_hud_util::destroyelem(); + var_00 maps\mp\gametypes\_hud_util::destroyelem(); +} + +//Function Number: 22 +update_countdown() +{ + self endon("disconnect"); + for(var_00 = 0;var_00 < 5;var_00++) + { + var_01 = undefined; + switch(5 - var_00) + { + case 5: + var_01 = &"ZOMBIE_CIVILIANS_5"; + break; + + case 4: + var_01 = &"ZOMBIE_CIVILIANS_4"; + break; + + case 3: + var_01 = &"ZOMBIE_CIVILIANS_3"; + break; + + case 2: + var_01 = &"ZOMBIE_CIVILIANS_2"; + break; + + case 1: + var_01 = &"ZOMBIE_CIVILIANS_1"; + break; + } + + self settext(var_01); + playsoundatpos((0,0,0),"zmb_weapon_upgrade_countdown"); + wait(1); + } + + level notify("timer_countdown_complete"); +} + +//Function Number: 23 +civrescuefail() +{ + wait(3); + level.civfailedescorts++; + thread penalty_powergenerators(); + thread penalty_magicbox(); + thread penalty_traps(); + thread penalty_wallbuys(); + thread penalty_weaponupgrades(); + maps\mp\_utility::gameflagset("power_off"); + var_00 = civfailduration(); + showteamsplashzombies("zombie_power_down"); + wait(3); + foreach(var_02 in level.players) + { + if(isdefined(var_02.exosuitonline) && var_02.exosuitonline) + { + var_02 thread maps\mp\zombies\_mutators::mutatoremz_applyemp(); + } + } + + setomnvar("ui_zm_powerdown",gettime() + var_00 * 1000); + wait(var_00); + maps\mp\_utility::gameflagclear("power_off"); + level notify("restore_power"); + iprintlnbold(&"ZOMBIE_CIVILIANS_POWER_RESTORED"); +} + +//Function Number: 24 +civfailduration() +{ + if(level.civfailedescorts == 1) + { + return 60; + } + + if(level.civfailedescorts == 2) + { + return 120; + } + + if(level.civfailedescorts >= 3) + { + return 180; + } +} + +//Function Number: 25 +showteamsplashzombies(param_00) +{ + foreach(var_02 in level.players) + { + if(maps\mp\zombies\_util::isonhumanteam(var_02) && maps\mp\_utility::isreallyalive(var_02)) + { + var_02 thread maps\mp\gametypes\_hud_message::splashnotify(param_00); + } + } +} + +//Function Number: 26 +penalty_weaponupgrades() +{ + foreach(var_01 in level.weaponlevelboxes) + { + maps\mp\zombies\_wall_buys::weaponlevelboxdisable(var_01); + } + + level waittill("restore_power"); + foreach(var_01 in level.weaponlevelboxes) + { + maps\mp\zombies\_wall_buys::weaponlevelboxenable(var_01); + } +} + +//Function Number: 27 +penalty_wallbuys() +{ + var_00 = getentarray("wallbuy","targetname"); + foreach(var_02 in var_00) + { + maps\mp\zombies\_wall_buys::wallbuydisable(var_02); + } + + level waittill("restore_power"); + foreach(var_02 in var_00) + { + maps\mp\zombies\_wall_buys::wallbuyenable(var_02); + } +} + +//Function Number: 28 +penalty_powergenerators() +{ + level.poweroffpenalty = 1; + level notify("zombie_power_penalty_start"); + foreach(var_01 in level.power_switches) + { + var_01 thread poweroffpenaltyhint(); + } + + level waittill("restore_power"); + level notify("zombie_power_penalty_end"); + level.poweroffpenalty = undefined; +} + +//Function Number: 29 +poweroffpenaltyhint() +{ + self.trigger setcursorhint("HINT_NOICON"); + self.trigger sethintstring(&"ZOMBIE_CIVILIANS_POWER_OFF_TRIGGER"); + level waittill("zombie_power_penalty_end"); + self.trigger setcursorhint("HINT_NOICON"); + self.trigger sethintstring(&"ZOMBIES_POWER_ON"); +} + +//Function Number: 30 +penalty_magicbox() +{ + foreach(var_01 in level.magicboxlocations) + { + if(var_01.active == 0) + { + continue; + } + + var_01 thread magicboxdisablepenaltythink(); + } +} + +//Function Number: 31 +magicboxdisablepenaltythink() +{ + level endon("game_ended"); + maps\mp\zombies\_wall_buys::deactivatemagicbox(); + level waittill("restore_power"); + maps\mp\zombies\_wall_buys::reactivatemagicbox(); +} + +//Function Number: 32 +penalty_pickups() +{ + level.nopickuppenalty = 1; + level waittill("restore_power"); + level.nopickuppenalty = 0; +} + +//Function Number: 33 +penalty_droppods() +{ + level.nodroppodpenalty = 1; + if(isdefined(level.carepackages)) + { + foreach(var_01 in level.carepackages) + { + var_01 maps\mp\killstreaks\_airdrop::deletecrate(1); + } + } + + level waittill("restore_power"); + level.nodroppodpenalty = undefined; +} + +//Function Number: 34 +penalty_traps() +{ + foreach(var_01 in level.traps) + { + var_01 thread trapdisablepenaltythink(); + } +} + +//Function Number: 35 +trapdisablepenaltythink() +{ + level endon("game_ended"); + var_00 = self; + var_00 maps\mp\zombies\_traps::trap_deactivate(); + level waittill("restore_power"); + var_00 maps\mp\zombies\_traps::trap_reactivate(); +} + +//Function Number: 36 +debug_setupallrewards() +{ + var_00 = []; + var_00[0] = "bronze_class"; + var_00[1] = "silver_class"; + var_00[2] = "gold_class"; + foreach(var_02 in var_00) + { + thread debug_setupreward(var_02); + } +} + +//Function Number: 37 +debug_setupreward(param_00) +{ + var_01 = "scr_reward_" + param_00; + var_02 = "devgui_cmd \"Zombie:2/Toggle Civ Rewards/" + param_00 + "\" \"togglep " + var_01 + " 0 1\";"; + for(;;) + { + while(getdvarint(var_01,0) == 0) + { + wait 0.05; + } + + if(param_00 == "bronze_class") + { + thread civrescuesuccessreward("bronze"); + continue; + } + + if(param_00 == "silver_class") + { + thread civrescuesuccessreward("silver"); + continue; + } + + if(param_00 == "gold_class") + { + thread civrescuesuccessreward("gold"); + continue; + } + + thread reward_enable(param_00); + } +} + +//Function Number: 38 +debug_setuppenalty() +{ + var_00 = "scr_rescue_civ_penalty"; + var_01 = "devgui_cmd \"Zombie:2/Toggle Civ Penalty\" \"togglep " + var_00 + " 0 1\";"; + for(;;) + { + while(getdvarint(var_00,0) == 0) + { + wait 0.05; + } + + thread civrescuefail(); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/_zombies_sidequests.gsc b/AW/PC/maps/mp/zombies/_zombies_sidequests.gsc new file mode 100644 index 0000000..5c8bb4a --- /dev/null +++ b/AW/PC/maps/mp/zombies/_zombies_sidequests.gsc @@ -0,0 +1,956 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_zombies_sidequests.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 45 + * Decompile Time: 815 ms + * Timestamp: 4/22/2024 2:14:43 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + if(!isdefined(level._sidequest_icons_base_x)) + { + level._sidequest_icons_base_x = 110; + } + + if(!isdefined(level._sidequest_icons_base_y)) + { + level._sidequest_icons_base_y = -10; + } + + if(!isdefined(level._sidequest_counter_base_x)) + { + level._sidequest_counter_base_x = 40; + } + + if(!isdefined(level._sidequest_counter_base_y)) + { + level._sidequest_counter_base_y = -15; + } + + if(!isdefined(level._zombie_sidequests)) + { + level._zombie_sidequests = []; + } +} + +//Function Number: 2 +sidequest_uses_teleportation(param_00) +{ + level._zombie_sidequests[param_00].uses_teleportation = 1; +} + +//Function Number: 3 +declare_sidequest_icon(param_00,param_01,param_02) +{ + var_03 = level._zombie_sidequests[param_00]; + var_03.icons[param_01] = param_02; +} + +//Function Number: 4 +create_icon(param_00,param_01,param_02) +{ + var_03 = newclienthudelem(self); + var_03.foreground = 1; + var_03.sort = 2; + var_03.hidewheninmenu = 0; + var_03.alignx = "left"; + var_03.aligny = "bottom"; + var_03.horzalign = "left"; + var_03.vertalign = "bottom"; + var_03.x = param_01; + var_03.y = param_02; + var_03.alpha = 1; + var_03 setshader(param_00,32,32); + return var_03; +} + +//Function Number: 5 +create_counter_hud(param_00,param_01) +{ + var_02 = newclienthudelem(self); + var_02.foreground = 1; + var_02.sort = 2; + var_02.hidewheninmenu = 0; + var_02.alignx = "left"; + var_02.aligny = "bottom"; + var_02.horzalign = "left"; + var_02.vertalign = "bottom"; + var_02.font = "small"; + var_02.fontscale = 1.5; + var_02.x = level._sidequest_counter_base_x; + var_02.y = level._sidequest_counter_base_y; + var_02.alpha = 1; + var_02 settext(param_00); + var_02 setvalue(param_01); + return var_02; +} + +//Function Number: 6 +create_text_hud(param_00) +{ + var_01 = newclienthudelem(self); + var_01.foreground = 1; + var_01.sort = 2; + var_01.hidewheninmenu = 0; + var_01.alignx = "left"; + var_01.aligny = "bottom"; + var_01.horzalign = "left"; + var_01.vertalign = "bottom"; + var_01.font = "small"; + var_01.fontscale = 1.5; + var_01.x = level._sidequest_counter_base_x; + var_01.y = level._sidequest_counter_base_y; + var_01.alpha = 1; + var_01 settext(param_00); + return var_01; +} + +//Function Number: 7 +add_sidequest_icon(param_00,param_01) +{ + if(!isdefined(self.sidequest_icons)) + { + self.sidequest_icons = []; + } + + if(isdefined(self.sidequest_icons[param_01])) + { + return; + } + + var_02 = level._zombie_sidequests[param_00]; + var_03 = level._sidequest_icons_base_x; + if(isdefined(level._zombiemode_sidequest_icon_offset)) + { + var_03 = var_03 + level._zombiemode_sidequest_icon_offset; + } + + var_04 = level._sidequest_icons_base_y; + self.sidequest_icons[param_01] = create_icon(var_02.icons[param_01],var_03 + self.sidequest_icons.size * 34,var_04); +} + +//Function Number: 8 +remove_sidequest_icon(param_00,param_01) +{ + if(!isdefined(self.sidequest_icons)) + { + return; + } + + if(!isdefined(self.sidequest_icons[param_01])) + { + return; + } + + var_02 = self.sidequest_icons[param_01]; + var_03 = []; + var_04 = getarraykeys(self.sidequest_icons); + for(var_05 = 0;var_05 < var_04.size;var_05++) + { + if(var_04[var_05] != param_01) + { + var_03[var_04[var_05]] = self.sidequest_icons[var_04[var_05]]; + } + } + + self.sidequest_icons = var_03; + var_02 destroy(); + var_04 = getarraykeys(self.sidequest_icons); + var_06 = level._sidequest_icons_base_x; + if(isdefined(level._zombiemode_sidequest_icon_offset)) + { + var_06 = var_06 + level._zombiemode_sidequest_icon_offset; + } + + for(var_05 = 0;var_05 < var_04.size;var_05++) + { + self.sidequest_icons[var_04[var_05]].x = var_06 + var_05 * 34; + } +} + +//Function Number: 9 +declare_sidequest(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + if(!isdefined(level._zombie_sidequests)) + { + init(); + } + + var_07 = spawnstruct(); + var_07.name = param_00; + var_07.stages = []; + var_07.last_completed_stage = -1; + var_07.active_stage = -1; + var_07.sidequest_complete = 0; + var_07.init_func = param_01; + var_07.logic_func = param_02; + var_07.complete_func = param_03; + var_07.generic_stage_start_func = param_04; + var_07.generic_stage_end_func = param_05; + var_07.assets = []; + var_07.uses_teleportation = 0; + var_07.active_assets = []; + var_07.icons = []; + var_07.num_reps = 0; + level._zombie_sidequests[param_00] = var_07; +} + +//Function Number: 10 +declare_sidequest_stage(param_00,param_01,param_02,param_03,param_04,param_05) +{ + var_06 = spawnstruct(); + var_06.name = param_01; + var_06.stage_number = level._zombie_sidequests[param_00].stages.size; + var_06.assets = []; + var_06.active_assets = []; + var_06.logic_func = param_03; + var_06.init_func = param_02; + var_06.exit_func = param_04; + var_06.completed = 0; + var_06.time_limit = 0; + level._zombie_sidequests[param_00].stages[param_01] = var_06; +} + +//Function Number: 11 +set_stage_time_limit(param_00,param_01,param_02,param_03) +{ + level._zombie_sidequests[param_00].stages[param_01].time_limit = param_02; + level._zombie_sidequests[param_00].stages[param_01].time_limit_func = param_03; +} + +//Function Number: 12 +declare_stage_asset_from_struct(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = common_scripts\utility::getstructarray(param_02,"targetname"); + for(var_06 = 0;var_06 < var_05.size;var_06++) + { + var_07 = spawnstruct(); + var_07.type = "struct"; + var_07.struct = var_05[var_06]; + var_07.thread_func = param_03; + var_07.trigger_thread_func = param_04; + level._zombie_sidequests[param_00].stages[param_01].assets[level._zombie_sidequests[param_00].stages[param_01].assets.size] = var_07; + } +} + +//Function Number: 13 +declare_stage_asset(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = getentarray(param_02,"targetname"); + for(var_06 = 0;var_06 < var_05.size;var_06++) + { + var_07 = spawnstruct(); + var_07.type = "entity"; + var_07.ent = var_05[var_06]; + var_07.thread_func = param_03; + var_07.trigger_thread_func = param_04; + level._zombie_sidequests[param_00].stages[param_01].assets[level._zombie_sidequests[param_00].stages[param_01].assets.size] = var_07; + } +} + +//Function Number: 14 +declare_sidequest_asset(param_00,param_01,param_02,param_03) +{ + var_04 = getentarray(param_01,"targetname"); + for(var_05 = 0;var_05 < var_04.size;var_05++) + { + var_06 = spawnstruct(); + var_06.type = "entity"; + var_06.ent = var_04[var_05]; + var_06.thread_func = param_02; + var_06.trigger_thread_func = param_03; + var_06.ent.thread_func = param_02; + var_06.ent.trigger_thread_func = param_03; + level._zombie_sidequests[param_00].assets[level._zombie_sidequests[param_00].assets.size] = var_06; + } +} + +//Function Number: 15 +declare_sidequest_asset_from_struct(param_00,param_01,param_02,param_03) +{ + var_04 = common_scripts\utility::getstructarray(param_01,"targetname"); + for(var_05 = 0;var_05 < var_04.size;var_05++) + { + var_06 = spawnstruct(); + var_06.type = "struct"; + var_06.struct = var_04[var_05]; + var_06.thread_func = param_02; + var_06.trigger_thread_func = param_03; + level._zombie_sidequests[param_00].assets[level._zombie_sidequests[param_00].assets.size] = var_06; + } +} + +//Function Number: 16 +build_asset_from_struct(param_00,param_01) +{ + var_02 = spawn("script_model",param_00.origin); + if(isdefined(param_00.model)) + { + var_02 setmodel(param_00.model); + } + + if(isdefined(param_00.angles)) + { + var_02.angles = param_00.angles; + } + + var_02.script_noteworthy = param_00.script_noteworthy; + var_02.type = "struct"; + var_02.radius = param_00.radius; + var_02.thread_func = param_01.thread_func; + var_02.trigger_thread_func = param_01.trigger_thread_func; + var_02.script_vector = param_01.script_vector; + param_00.trigger_thread_func = param_01.trigger_thread_func; + param_00.script_vector = param_01.script_vector; + var_02.target = param_00.target; + var_02.script_float = param_00.script_float; + var_02.script_int = param_00.script_int; + var_02.script_trigger_spawnflags = param_00.script_trigger_spawnflags; + var_02.targetname = param_00.targetname; + return var_02; +} + +//Function Number: 17 +delete_stage_assets() +{ + for(var_00 = 0;var_00 < self.active_assets.size;var_00++) + { + var_01 = self.active_assets[var_00]; + switch(var_01.type) + { + case "struct": + if(isdefined(var_01.trigger)) + { + var_01.trigger delete(); + var_01.trigger = undefined; + } + + var_01 delete(); + break; + + case "entity": + if(isdefined(var_01.trigger)) + { + var_01.trigger delete(); + var_01.trigger = undefined; + } + break; + } + } + + var_02 = []; + for(var_00 = 0;var_00 < self.active_assets.size;var_00++) + { + if(isdefined(self.active_assets[var_00])) + { + var_02[var_02.size] = self.active_assets[var_00]; + } + } + + self.active_assets = var_02; +} + +//Function Number: 18 +build_assets() +{ + for(var_00 = 0;var_00 < self.assets.size;var_00++) + { + var_01 = undefined; + switch(self.assets[var_00].type) + { + case "struct": + var_01 = self.assets[var_00].struct; + self.active_assets[self.active_assets.size] = build_asset_from_struct(var_01,self.assets[var_00]); + break; + + case "entity": + for(var_02 = 0;var_02 < self.active_assets.size;var_02++) + { + if(self.active_assets[var_02] == self.assets[var_00].ent) + { + var_01 = self.active_assets[var_02]; + break; + } + } + + var_01 = self.assets[var_00].ent; + var_01.type = "entity"; + self.active_assets[self.active_assets.size] = var_01; + break; + + default: + break; + } + + if((isdefined(var_01.script_noteworthy) && self.assets[var_00].type == "entity" && !isdefined(var_01.trigger)) || isdefined(var_01.script_noteworthy)) + { + var_03 = 15; + var_04 = 72; + if(isdefined(var_01.radius)) + { + var_03 = var_01.radius; + } + + if(isdefined(var_01.height)) + { + var_04 = var_01.height; + } + + var_05 = 0; + if(isdefined(var_01.script_trigger_spawnflags)) + { + var_05 = var_01.script_trigger_spawnflags; + } + + var_06 = (0,0,0); + if(isdefined(var_01.script_vector)) + { + var_06 = var_01.script_vector; + } + + switch(var_01.script_noteworthy) + { + case "trigger_radius_use": + var_07 = spawn("trigger_radius_use",var_01.origin + var_06,var_05,var_03,var_04); + var_07 setcursorhint("HINT_NOICON"); + if(isdefined(var_01.radius)) + { + var_07.radius = var_01.radius; + } + + var_07.owner_ent = self.active_assets[self.active_assets.size - 1]; + if(isdefined(var_01.trigger_thread_func)) + { + var_07 thread [[ var_01.trigger_thread_func ]](); + } + else + { + var_07 thread use_trigger_thread(); + } + + self.active_assets[self.active_assets.size - 1].trigger = var_07; + break; + + case "trigger_radius_damage": + var_08 = spawn("trigger_damage",var_01.origin + var_06,var_05,var_03,var_04); + if(isdefined(var_01.radius)) + { + var_08.radius = var_01.radius; + } + + var_08.owner_ent = self.active_assets[self.active_assets.size - 1]; + if(isdefined(var_01.trigger_thread_func)) + { + var_08 thread [[ var_01.trigger_thread_func ]](); + } + else + { + var_08 thread damage_trigger_thread(); + } + + self.active_assets[self.active_assets.size - 1].trigger = var_08; + break; + + case "trigger_radius": + var_09 = spawn("trigger_radius",var_01.origin + var_06,var_05,var_03,var_04); + if(isdefined(var_01.radius)) + { + var_09.radius = var_01.radius; + } + + var_09.owner_ent = self.active_assets[self.active_assets.size - 1]; + if(isdefined(var_01.trigger_thread_func)) + { + var_09 thread [[ var_01.trigger_thread_func ]](); + } + else + { + var_09 thread radius_trigger_thread(); + } + + self.active_assets[self.active_assets.size - 1].trigger = var_09; + break; + } + } + + if(isdefined(self.assets[var_00].thread_func) && !isdefined(self.active_assets[self.active_assets.size - 1].dont_rethread)) + { + self.active_assets[self.active_assets.size - 1] thread [[ self.assets[var_00].thread_func ]](); + } + + if(var_00 % 2 == 0) + { + maps\mp\zombies\_util::waitnetworkframe(); + } + } +} + +//Function Number: 19 +damage_trigger_thread() +{ + self endon("death"); + for(;;) + { + self waittill("damage"); + self.owner_ent notify("triggered"); + } +} + +//Function Number: 20 +radius_trigger_thread() +{ + self endon("death"); + for(;;) + { + self waittill("trigger",var_00); + if(!isplayer(var_00)) + { + continue; + } + + self.owner_ent notify("triggered"); + while(var_00 istouching(self)) + { + wait(0.05); + } + + self.owner_ent notify("untriggered"); + } +} + +//Function Number: 21 +thread_on_assets(param_00,param_01) +{ + for(var_02 = 0;var_02 < self.active_assets.size;var_02++) + { + if(self.active_assets[var_02].targetname == param_00) + { + self.active_assets[var_02] thread [[ param_01 ]](); + } + } +} + +//Function Number: 22 +stage_logic_func_wrapper(param_00,param_01) +{ + if(isdefined(param_01.logic_func)) + { + level endon(param_00.name + "_" + param_01.name + "_over"); + param_01 [[ param_01.logic_func ]](); + } +} + +//Function Number: 23 +sidequest_start(param_00) +{ + var_01 = level._zombie_sidequests[param_00]; + var_01 build_assets(); + if(isdefined(var_01.init_func)) + { + var_01 [[ var_01.init_func ]](); + } + + if(isdefined(var_01.logic_func)) + { + var_01 thread [[ var_01.logic_func ]](); + } +} + +//Function Number: 24 +stage_start(param_00,param_01) +{ + if(isstring(param_00)) + { + param_00 = level._zombie_sidequests[param_00]; + } + + if(isstring(param_01)) + { + param_01 = param_00.stages[param_01]; + } + + param_01 build_assets(); + param_00.active_stage = param_01.stage_number; + level notify(param_00.name + "_" + param_01.name + "_started"); + param_01.completed = 0; + if(isdefined(param_00.generic_stage_start_func)) + { + param_01 [[ param_00.generic_stage_start_func ]](); + } + + if(isdefined(param_01.init_func)) + { + param_01 [[ param_01.init_func ]](); + } + + level thread stage_logic_func_wrapper(param_00,param_01); + if(param_01.time_limit > 0) + { + param_01 thread time_limited_stage(param_00); + } + + if(isdefined(param_01.title)) + { + param_01 thread display_stage_title(param_00.uses_teleportation); + } +} + +//Function Number: 25 +display_stage_title(param_00) +{ + if(param_00) + { + level waittill("teleport_done"); + wait(2); + } + + var_01 = newhudelem(); + var_01.location = 0; + var_01.alignx = "center"; + var_01.aligny = "middle"; + var_01.foreground = 1; + var_01.fontscale = 1.6; + var_01.sort = 20; + var_01.x = 320; + var_01.y = 300; + var_01.og_scale = 1; + var_01.color = (128,0,0); + var_01.alpha = 0; + var_01.fontstyle3d = "shadowedmore"; + var_01 settext(self.title); + var_01 fadeovertime(0.5); + var_01.alpha = 1; + wait(5); + var_01 fadeovertime(1); + var_01.alpha = 0; + wait(1); + var_01 destroy(); +} + +//Function Number: 26 +time_limited_stage(param_00) +{ + level endon(param_00.name + "_" + self.name + "_over"); + level endon("suspend_timer"); + level endon("end_game"); + var_01 = undefined; + if(isdefined(self.time_limit_func)) + { + var_01 = [[ self.time_limit_func ]]() * 0.25; + } + else + { + var_01 = self.time_limit * 0.25; + } + + wait(var_01); + level notify("timed_stage_75_percent"); + wait(var_01); + level notify("timed_stage_50_percent"); + wait(var_01); + level notify("timed_stage_25_percent"); + wait(var_01 - 10); + level notify("timed_stage_10_seconds_to_go"); + wait(10); + stage_failed(param_00,self); +} + +//Function Number: 27 +sidequest_println(param_00) +{ +} + +//Function Number: 28 +sidequest_iprintlnbold(param_00) +{ +} + +//Function Number: 29 +sidequest_complete(param_00) +{ + return level._zombie_sidequests[param_00].sidequest_complete; +} + +//Function Number: 30 +stage_completed(param_00,param_01) +{ + var_02 = level._zombie_sidequests[param_00]; + var_03 = var_02.stages[param_01]; + level thread stage_completed_internal(var_02,var_03); +} + +//Function Number: 31 +stage_completed_internal(param_00,param_01) +{ + level notify(param_00.name + "_" + param_01.name + "_over"); + level notify(param_00.name + "_" + param_01.name + "_completed"); + if(isdefined(param_00.generic_stage_end_func)) + { + param_01 [[ param_00.generic_stage_end_func ]](); + } + + if(isdefined(param_01.exit_func)) + { + param_01 [[ param_01.exit_func ]](1); + } + + param_01.completed = 1; + param_00.last_completed_stage = param_00.active_stage; + param_00.active_stage = -1; + param_01 delete_stage_assets(); + var_02 = 1; + var_03 = getarraykeys(param_00.stages); + for(var_04 = 0;var_04 < var_03.size;var_04++) + { + if(param_00.stages[var_03[var_04]].completed == 0) + { + var_02 = 0; + break; + } + } + + if(var_02 == 1) + { + if(isdefined(param_00.complete_func)) + { + param_00 thread [[ param_00.complete_func ]](); + } + + level notify("sidequest_" + param_00.name + "_complete"); + param_00.sidequest_completed = 1; + } +} + +//Function Number: 32 +stage_failed_internal(param_00,param_01) +{ + level notify(param_00.name + "_" + param_01.name + "_over"); + level notify(param_00.name + "_" + param_01.name + "_failed"); + if(isdefined(param_00.generic_stage_end_func)) + { + param_01 [[ param_00.generic_stage_end_func ]](); + } + + if(isdefined(param_01.exit_func)) + { + param_01 [[ param_01.exit_func ]](0); + } + + param_00.active_stage = -1; + param_01 delete_stage_assets(); +} + +//Function Number: 33 +stage_failed(param_00,param_01) +{ + if(isstring(param_00)) + { + param_00 = level._zombie_sidequests[param_00]; + } + + if(isstring(param_01)) + { + param_01 = param_00.stages[param_01]; + } + + level thread stage_failed_internal(param_00,param_01); +} + +//Function Number: 34 +get_sidequest_stage(param_00,param_01) +{ + var_02 = undefined; + var_03 = getarraykeys(param_00.stages); + for(var_04 = 0;var_04 < var_03.size;var_04++) + { + if(param_00.stages[var_03[var_04]].stage_number == param_01) + { + var_02 = param_00.stages[var_03[var_04]]; + break; + } + } + + return var_02; +} + +//Function Number: 35 +get_damage_trigger(param_00,param_01,param_02) +{ + var_03 = spawn("trigger_damage",param_01,0,param_00,72); + var_03 thread dam_trigger_thread(param_02); + return var_03; +} + +//Function Number: 36 +dam_trigger_thread(param_00) +{ + self endon("death"); + var_01 = "NONE"; + for(;;) + { + self waittill("damage",var_02,var_03,var_04,var_05,var_06); + for(var_07 = 0;var_07 < param_00.size;var_07++) + { + if(var_06 == param_00[var_07]) + { + self notify("triggered"); + } + } + } +} + +//Function Number: 37 +use_trigger_thread() +{ + self endon("death"); + for(;;) + { + self waittill("trigger",var_00); + self.owner_ent notify("triggered",var_00); + wait(0.1); + } +} + +//Function Number: 38 +sidequest_stage_active(param_00,param_01) +{ + var_02 = level._zombie_sidequests[param_00]; + var_03 = var_02.stages[param_01]; + if(var_02.active_stage == var_03.stage_number) + { + return 1; + } + + return 0; +} + +//Function Number: 39 +sidequest_start_next_stage(param_00) +{ + var_01 = level._zombie_sidequests[param_00]; + if(var_01.sidequest_complete == 1) + { + return; + } + + var_02 = var_01.last_completed_stage; + if(var_02 == -1) + { + var_02 = 0; + } + else + { + var_02++; + } + + var_03 = get_sidequest_stage(var_01,var_02); + if(!isdefined(var_03)) + { + return; + } + + stage_start(var_01,var_03); + return var_03; +} + +//Function Number: 40 +is_facing(param_00) +{ + var_01 = self getplayerangles(); + var_02 = anglestoforward(var_01); + var_03 = (var_02[0],var_02[1],0); + var_04 = vectornormalize(var_03); + var_05 = param_00.origin - self.origin; + var_06 = (var_05[0],var_05[1],0); + var_07 = vectornormalize(var_06); + var_08 = vectordot(var_04,var_07); + return var_08 > 0.9; +} + +//Function Number: 41 +is_facing_3d(param_00) +{ + var_01 = self getplayerangles(); + var_02 = anglestoforward(var_01); + var_03 = vectornormalize(var_02); + var_04 = param_00.origin - self geteye(); + var_05 = vectornormalize(var_04); + var_06 = vectordot(var_03,var_05); + return var_06 > 0.9; +} + +//Function Number: 42 +fake_use(param_00,param_01,param_02,param_03,param_04,param_05) +{ + if(isdefined(param_03)) + { + level endon(param_03); + } + + waittillframeend; + if(!isdefined(param_04)) + { + param_04 = 64; + } + + if(!isdefined(param_05)) + { + param_05 = 0; + } + + var_06 = param_04 * param_04; + for(;;) + { + if(!isdefined(self)) + { + return; + } + + for(var_07 = 0;var_07 < level.players.size;var_07++) + { + if(distancesquared(self.origin,level.players[var_07].origin) < var_06 && (!param_05 && level.players[var_07] is_facing(self)) || param_05 && level.players[var_07] is_facing_3d(self)) + { + if(level.players[var_07] usebuttonpressed()) + { + var_08 = 1; + if(isdefined(param_01) && isdefined(param_02)) + { + var_08 = level.players[var_07] [[ param_01 ]](param_02); + } + else if(isdefined(param_01)) + { + var_08 = level.players[var_07] [[ param_01 ]](); + } + + if(var_08) + { + self notify(param_00,level.players[var_07]); + return level.players[var_07]; + } + } + } + } + + wait(0.1); + } +} + +//Function Number: 43 +register_sidequest(param_00,param_01) +{ +} + +//Function Number: 44 +is_sidequest_previously_completed(param_00) +{ + return maps\mp\zombies\_util::is_true(level.zombie_sidequest_previously_completed[param_00]); +} + +//Function Number: 45 +set_sidequest_completed(param_00) +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/_zombies_spawnscoring.gsc b/AW/PC/maps/mp/zombies/_zombies_spawnscoring.gsc new file mode 100644 index 0000000..24673e1 --- /dev/null +++ b/AW/PC/maps/mp/zombies/_zombies_spawnscoring.gsc @@ -0,0 +1,458 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_zombies_spawnscoring.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 18 + * Decompile Time: 314 ms + * Timestamp: 4/22/2024 2:14:45 AM +*******************************************************************/ + +//Function Number: 1 +zombiecriticalfactors_global(param_00) +{ + if(!maps\mp\gametypes\_spawnfactor::critical_factor(::maps\mp\gametypes\_spawnfactor::avoidgrenades,param_00)) + { + return "secondary"; + } + + if(!maps\mp\gametypes\_spawnfactor::critical_factor(::maps\mp\gametypes\_spawnfactor::avoidgasclouds,param_00)) + { + return "secondary"; + } + + if(!maps\mp\gametypes\_spawnfactor::critical_factor(::maps\mp\gametypes\_spawnfactor::avoidmines,param_00)) + { + return "secondary"; + } + + if(!maps\mp\gametypes\_spawnfactor::critical_factor(::maps\mp\gametypes\_spawnfactor::avoidairstrikelocations,param_00)) + { + return "secondary"; + } + + if(!maps\mp\gametypes\_spawnfactor::critical_factor(::maps\mp\gametypes\_spawnfactor::avoidcarepackages,param_00)) + { + return "secondary"; + } + + if(!maps\mp\gametypes\_spawnfactor::critical_factor(::maps\mp\gametypes\_spawnfactor::avoidtelefrag,param_00)) + { + return "secondary"; + } + + if(!maps\mp\gametypes\_spawnfactor::critical_factor(::maps\mp\gametypes\_spawnfactor::avoidenemyspawn,param_00)) + { + return "secondary"; + } + + return "primary"; +} + +//Function Number: 2 +getzombiesspawnpoint_neartombstone(param_00) +{ + param_00 = maps\mp\gametypes\_spawnscoring::checkdynamicspawns(param_00); + var_01["primary"] = []; + var_01["secondary"] = []; + var_01["bad"] = []; + var_02 = []; + foreach(var_04 in param_00) + { + maps\mp\gametypes\_spawnscoring::initscoredata(var_04); + if(!isinvalidzone(var_04)) + { + continue; + } + + var_04.criticalresult = zombiecriticalfactors_global(var_04); + var_01[var_04.criticalresult][var_01[var_04.criticalresult].size] = var_04; + var_02[var_02.size] = var_04; + } + + if(var_01["primary"].size) + { + var_06 = scorespawns_neartombstone(var_01["primary"]); + } + else if(var_02["secondary"].size) + { + var_06 = scorespawns_neartombstone(var_02["secondary"]); + } + else if(var_03.size) + { + var_06 = maps\mp\gametypes\_spawnscoring::selectbestspawnpoint(var_03[0],var_03); + } + else + { + var_06 = maps\mp\gametypes\_spawnscoring::selectbestspawnpoint(var_01[0],var_01); + } + + foreach(var_04 in param_00) + { + maps\mp\gametypes\_spawnscoring::recon_log_spawnpoint_info_wrapper(var_04); + var_04.criticalresult = undefined; + } + + return var_06; +} + +//Function Number: 3 +scorespawns_neartombstone(param_00) +{ + var_01 = undefined; + foreach(var_03 in param_00) + { + scorefactors_neartombstone(var_03); + if(!isdefined(var_01) || var_03.totalscore > var_01.totalscore) + { + var_01 = var_03; + } + } + + if(isdefined(var_01)) + { + var_01 = maps\mp\gametypes\_spawnscoring::selectbestspawnpoint(var_01,param_00); + } + else + { + var_01 = maps\mp\gametypes\_spawnscoring::scorespawns_nearteam(param_00); + } + + return var_01; +} + +//Function Number: 4 +scorefactors_neartombstone(param_00) +{ + var_01 = maps\mp\gametypes\_spawnfactor::score_factor(2,::prefertombstonebydistance,param_00); + param_00.totalscore = param_00.totalscore + var_01; + var_01 = maps\mp\gametypes\_spawnfactor::score_factor(0.5,::maps\mp\gametypes\_spawnfactor::preferalliesbydistance,param_00); + param_00.totalscore = param_00.totalscore + var_01; + var_01 = maps\mp\gametypes\_spawnfactor::score_factor(1.25,::maps\mp\gametypes\_spawnfactor::avoidrecentlyused,param_00); + param_00.totalscore = param_00.totalscore + var_01; + var_01 = maps\mp\gametypes\_spawnfactor::score_factor(0.25,::maps\mp\gametypes\_spawnfactor::avoidsamespawn,param_00); + param_00.totalscore = param_00.totalscore + var_01; + if(isdefined(level.usezoneconnectiontombstonescoring) && level.usezoneconnectiontombstonescoring) + { + var_01 = maps\mp\gametypes\_spawnfactor::score_factor(2,::prefershortzoneconnection,param_00); + param_00.totalscore = param_00.totalscore + var_01; + return; + } + + if(isdefined(level.zone_is_contaminated_func)) + { + var_01 = maps\mp\gametypes\_spawnfactor::score_factor(2,::prefershortzoneconnectionnoninfected,param_00); + param_00.totalscore = param_00.totalscore + var_01; + } +} + +//Function Number: 5 +isinvalidzone(param_00) +{ + if(!isdefined(param_00.script_noteworthy)) + { + return 1; + } + + if(!maps\mp\zombies\_zombies_zone_manager::iszoneenabled(param_00.script_noteworthy)) + { + return 0; + } + + if(isdefined(level.zone_is_contaminated_func) && [[ level.zone_is_contaminated_func ]](param_00.script_noteworthy)) + { + return 0; + } + + return 1; +} + +//Function Number: 6 +prefershortzoneconnection(param_00) +{ + if(!isdefined(self.lastdeathpos)) + { + return 100; + } + + var_01 = maps\mp\zombies\_zombies_zone_manager::getlocationzone(self.lastdeathpos); + if(!isdefined(var_01)) + { + var_01 = maps\mp\zombies\_zombies_zone_manager::getlocationzone(self.lastdeathpos + (randomfloatrange(-1,1),randomfloatrange(-1,1),0)); + } + + if(!isdefined(var_01)) + { + return 100; + } + + var_02 = maps\mp\zombies\_zombies_zone_manager::getzoneconnectionlength(var_01,param_00.script_noteworthy); + if(var_02 < 0) + { + return 0; + } + + if(var_02 == 0) + { + return 100; + } + + return 100 / var_02; +} + +//Function Number: 7 +prefershortzoneconnectionnoninfected(param_00) +{ + if(!isdefined(self.lastdeathpos)) + { + return 100; + } + + var_01 = maps\mp\zombies\_zombies_zone_manager::getlocationzone(self.lastdeathpos); + if(!isdefined(var_01)) + { + var_01 = maps\mp\zombies\_zombies_zone_manager::getlocationzone(self.lastdeathpos + (randomfloatrange(-1,1),randomfloatrange(-1,1),0)); + } + + if(!isdefined(var_01)) + { + return 100; + } + + var_02 = maps\mp\zombies\_zombies_zone_manager::getzoneinfectedconnectionlength(var_01,param_00.script_noteworthy); + if(var_02 < 0) + { + return 0; + } + + if(var_02 == 0) + { + return 100; + } + + return 100 / var_02; +} + +//Function Number: 8 +prefertombstonebydistance(param_00) +{ + if(!isdefined(self.lastdeathpos)) + { + return 100; + } + + var_01 = distance(param_00.origin,self.lastdeathpos); + if(var_01 >= 2500 || var_01 <= 500) + { + return 0; + } + + var_02 = max(0,1 - abs(1500 - var_01) / 1000); + return var_02 * 100; +} + +//Function Number: 9 +getzombiesspawnpoint_nearteam(param_00) +{ + param_00 = maps\mp\gametypes\_spawnscoring::checkdynamicspawns(param_00); + var_01["primary"] = []; + var_01["secondary"] = []; + var_01["bad"] = []; + var_02 = []; + foreach(var_04 in param_00) + { + maps\mp\gametypes\_spawnscoring::initscoredata(var_04); + if(!isinvalidzone(var_04)) + { + continue; + } + + var_04.criticalresult = zombiecriticalfactors_global(var_04); + var_01[var_04.criticalresult][var_01[var_04.criticalresult].size] = var_04; + var_02[var_02.size] = var_04; + } + + if(var_01["primary"].size) + { + var_06 = scorezombiespawns_nearteam(var_01["primary"]); + } + else if(var_02["secondary"].size) + { + var_06 = scorezombiespawns_nearteam(var_02["secondary"]); + } + else if(var_03.size) + { + var_06 = maps\mp\gametypes\_spawnscoring::selectbestspawnpoint(var_03[0],var_03); + } + else + { + var_06 = maps\mp\gametypes\_spawnscoring::selectbestspawnpoint(var_01[0],var_01); + } + + foreach(var_04 in param_00) + { + maps\mp\gametypes\_spawnscoring::recon_log_spawnpoint_info_wrapper(var_04); + var_04.criticalresult = undefined; + } + + return var_06; +} + +//Function Number: 10 +scorezombiespawns_nearteam(param_00) +{ + var_01 = undefined; + foreach(var_03 in param_00) + { + maps\mp\gametypes\_spawnscoring::scorefactors_nearteam(var_03); + if(!isdefined(var_01) || var_03.totalscore > var_01.totalscore) + { + var_01 = var_03; + } + } + + if(isdefined(var_01)) + { + var_01 = maps\mp\gametypes\_spawnscoring::selectbestspawnpoint(var_01,param_00); + } + else + { + var_01 = maps\mp\gametypes\_spawnscoring::scorespawns_nearteam(param_00); + } + + return var_01; +} + +//Function Number: 11 +getzombiesspawnpoint_aizombies(param_00,param_01,param_02) +{ + var_03 = []; + foreach(var_05 in param_00) + { + maps\mp\gametypes\_spawnscoring::initscoredata(var_05); + if(var_05 maps\mp\zombies\_zombies_zone_manager::spawnercanbeusedfor(param_01,param_02)) + { + var_03[var_03.size] = var_05; + } + } + + if(var_03.size) + { + var_07 = scorespawns_aizombies(var_03,param_01,param_02); + } + else + { + var_07 = maps\mp\gametypes\_spawnscoring::selectbestspawnpoint(param_01); + } + + return var_07; +} + +//Function Number: 12 +scorespawns_aizombies(param_00,param_01,param_02) +{ + var_03 = param_00[0]; + foreach(var_05 in param_00) + { + scorefactors_aizombies(var_05,param_01,param_02); + if(!isdefined(var_03) || var_05.totalscore > var_03.totalscore) + { + var_03 = var_05; + } + } + + return var_03; +} + +//Function Number: 13 +scorefactors_aizombies(param_00,param_01,param_02) +{ + var_03 = score_factor_ai(2,::preferplayerinzone,param_00); + param_00.totalscore = param_00.totalscore + var_03; + var_03 = score_factor_ai(1,::avoidrecentlyusedspawns,param_00); + param_00.totalscore = param_00.totalscore + var_03; + var_03 = score_factor_ai(6,::matchclassname,param_00,param_01,param_02); + param_00.totalscore = param_00.totalscore + var_03; +} + +//Function Number: 14 +matchclassname(param_00,param_01,param_02) +{ + if(param_00 maps\mp\zombies\_zombies_zone_manager::spawnercanbeusedfor(param_01,param_02)) + { + return 100; + } + + return 0; +} + +//Function Number: 15 +preferplayerinzone(param_00) +{ + if(!isdefined(param_00.zone_name)) + { + return 0; + } + + if(maps\mp\zombies\_zombies_zone_manager::isplayerinzone(param_00.zone_name)) + { + return 100; + } + + return 0; +} + +//Function Number: 16 +avoidrecentlyusedspawns(param_00) +{ + if(isdefined(param_00.lastspawntime)) + { + var_01 = gettime() - param_00.lastspawntime; + if(var_01 > 30000) + { + return 100; + } + + return var_01 / 30000 * 100; + } + + return 100; +} + +//Function Number: 17 +preferloneplayers(param_00) +{ + if(!isdefined(param_00.zone_name)) + { + return 0; + } + + var_01 = maps\mp\zombies\_zombies_zone_manager::getnumberofplayersinzone(param_00.zone_name); + if(var_01 == 0) + { + return 0; + } + + return 100 * 1 - var_01 * 0.15; +} + +//Function Number: 18 +score_factor_ai(param_00,param_01,param_02,param_03,param_04) +{ + if(isdefined(param_04)) + { + var_05 = [[ param_01 ]](param_02,param_03,param_04); + } + else if(isdefined(param_04)) + { + var_05 = [[ param_02 ]](param_03,param_04); + } + else + { + var_05 = [[ param_02 ]](param_03); + } + + var_05 = clamp(var_05,0,100); + var_05 = var_05 * param_00; + return var_05; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/_zombies_zone_manager.gsc b/AW/PC/maps/mp/zombies/_zombies_zone_manager.gsc new file mode 100644 index 0000000..39d038e --- /dev/null +++ b/AW/PC/maps/mp/zombies/_zombies_zone_manager.gsc @@ -0,0 +1,1156 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\_zombies_zone_manager.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 42 + * Decompile Time: 716 ms + * Timestamp: 4/22/2024 2:14:47 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level.zone_data = spawnstruct(); + level.zone_data.zones = []; + level.zone_data.current_spawn_zones = []; + level.zone_data.spawnfunc = ::calculaterandomspawnpoint; +} + +//Function Number: 2 +iszoneenabled(param_00) +{ + return isdefined(level.zone_data.zones) && isdefined(level.zone_data.zones[param_00]) && level.zone_data.zones[param_00].is_enabled; +} + +//Function Number: 3 +isplayerinzone(param_00) +{ + if(!iszoneenabled(param_00)) + { + return 0; + } + + var_01 = level.zone_data.zones[param_00]; + foreach(var_03 in level.players) + { + if(var_03.sessionstate == "spectator") + { + continue; + } + + foreach(var_05 in var_01.volumes) + { + if(var_03 istouching(var_05)) + { + return 1; + } + } + } + + return 0; +} + +//Function Number: 4 +updateconnectiondistances() +{ + level endon("game_ended"); + level notify("updating_connection_distances"); + level endon("updating_connection_distances"); + level.zone_data.connectionmap = []; + foreach(var_01 in level.zone_data.zones) + { + foreach(var_03 in level.zone_data.zones) + { + if(var_01.zone_name == var_03.zone_name) + { + continue; + } + + if(isdefined(level.zone_data.connectionmap[var_01.zone_name]) && isdefined(level.zone_data.connectionmap[var_01.zone_name][var_03.zone_name])) + { + continue; + } + + getzoneconnectionlength(var_01.zone_name,var_03.zone_name); + wait 0.05; + } + } + + if(isdefined(level.zone_is_contaminated_func)) + { + level.zone_data.infectedconnectionmap = []; + foreach(var_01 in level.zone_data.zones) + { + foreach(var_03 in level.zone_data.zones) + { + if(var_01.zone_name == var_03.zone_name) + { + continue; + } + + if(isdefined(level.zone_data.infectedconnectionmap[var_01.zone_name]) && isdefined(level.zone_data.infectedconnectionmap[var_01.zone_name][var_03.zone_name])) + { + continue; + } + + getzoneinfectedconnectionlength(var_01.zone_name,var_03.zone_name); + wait 0.05; + } + } + } +} + +//Function Number: 5 +registerconnectiondistance(param_00,param_01,param_02) +{ + level.zone_data.connectionmap[param_00][param_01] = param_02; + level.zone_data.connectionmap[param_01][param_00] = param_02; +} + +//Function Number: 6 +getzoneconnectionlength(param_00,param_01) +{ + if(param_00 == param_01) + { + return 0; + } + + if(!isdefined(level.zone_data.connectionmap)) + { + return -1; + } + + if(isdefined(level.zone_data.connectionmap[param_00]) && isdefined(level.zone_data.connectionmap[param_00][param_01])) + { + return level.zone_data.connectionmap[param_00][param_01]; + } + + var_02[0]["zone"] = param_00; + var_02[0]["distance"] = 0; + while(var_02.size > 0) + { + var_03 = level.zone_data.zones[var_02[0]["zone"]]; + var_04 = var_02[0]["distance"]; + var_02 = maps\mp\zombies\_util::array_remove_index(var_02,0); + var_05[var_03.zone_name] = 1; + foreach(var_0E, var_07 in var_03.adjacent_zones) + { + if(isdefined(var_05[var_07.zone_name])) + { + continue; + } + + if(var_07.is_connected) + { + var_08 = var_04 + 1; + if(var_07.zone_name == param_01) + { + registerconnectiondistance(param_00,param_01,var_08); + return var_08; + } + + var_09 = -1; + var_0A = -1; + if(var_02.size == 0) + { + var_09 = 0; + } + + for(var_0B = 0;var_0B < var_02.size;var_0B++) + { + var_0C = var_02[var_0B]["distance"] >= var_08; + if(var_0C && var_09 < 0) + { + var_09 = var_0B; + } + + if(var_02[var_0B]["zone"] == var_07.zone_name) + { + if(var_0C) + { + var_0A = var_0B; + } + + break; + } + } + + if(var_0A >= 0) + { + var_02 = maps\mp\zombies\_util::array_remove_index(var_02,var_0A); + } + + if(var_0B == var_02.size && var_09 < 0) + { + var_09 = var_02.size; + } + + if(var_09 >= 0) + { + param_00["zone"] = var_07.zone_name; + var_0C["distance"] = var_0E; + param_01 = common_scripts\utility::array_insert(param_01,var_0C,var_08); + } + } + } + } + + return -1; +} + +//Function Number: 7 +registerinfectedconnectiondistance(param_00,param_01,param_02) +{ + level.zone_data.infectedconnectionmap[param_00][param_01] = param_02; + level.zone_data.infectedconnectionmap[param_01][param_00] = param_02; +} + +//Function Number: 8 +getzoneinfectedconnectionlength(param_00,param_01) +{ + if(param_00 == param_01) + { + return 0; + } + + if(!isdefined(level.zone_data.connectionmap)) + { + return -1; + } + + if(isdefined(level.zone_data.infectedconnectionmap[param_00]) && isdefined(level.zone_data.infectedconnectionmap[param_00][param_01])) + { + return level.zone_data.infectedconnectionmap[param_00][param_01]; + } + + var_02[0]["zone"] = param_00; + var_02[0]["distance"] = 0; + while(var_02.size > 0) + { + var_03 = level.zone_data.zones[var_02[0]["zone"]]; + var_04 = var_02[0]["distance"]; + var_02 = maps\mp\zombies\_util::array_remove_index(var_02,0); + var_05[var_03.zone_name] = 1; + foreach(var_0E, var_07 in var_03.adjacent_zones) + { + if(isdefined(var_05[var_07.zone_name])) + { + continue; + } + + if([[ level.zone_is_contaminated_func ]](var_07.zone_name)) + { + continue; + } + + if(var_07.is_connected) + { + var_08 = var_04 + 1; + if(var_07.zone_name == param_01) + { + registerinfectedconnectiondistance(param_00,param_01,var_08); + return var_08; + } + + var_09 = -1; + var_0A = -1; + if(var_02.size == 0) + { + var_09 = 0; + } + + for(var_0B = 0;var_0B < var_02.size;var_0B++) + { + var_0C = var_02[var_0B]["distance"] >= var_08; + if(var_0C && var_09 < 0) + { + var_09 = var_0B; + } + + if(var_02[var_0B]["zone"] == var_07.zone_name) + { + if(var_0C) + { + var_0A = var_0B; + } + + break; + } + } + + if(var_0A >= 0) + { + var_02 = maps\mp\zombies\_util::array_remove_index(var_02,var_0A); + } + + if(var_0B == var_02.size && var_09 < 0) + { + var_09 = var_02.size; + } + + if(var_09 >= 0) + { + param_00["zone"] = var_07.zone_name; + var_0C["distance"] = var_0E; + param_01 = common_scripts\utility::array_insert(param_01,var_0C,var_08); + } + } + } + } + + return -1; +} + +//Function Number: 9 +getplayerzonestruct() +{ + if(self.sessionstate == "spectator" || self.sessionstate == "intermission") + { + return undefined; + } + + foreach(var_01 in level.zone_data.zones) + { + foreach(var_03 in var_01.volumes) + { + if(self istouching(var_03)) + { + return var_01; + } + } + } + + return undefined; +} + +//Function Number: 10 +getplayerzone() +{ + if(self.sessionstate == "spectator" || self.sessionstate == "intermission") + { + return undefined; + } + + foreach(var_05, var_01 in level.zone_data.zones) + { + foreach(var_03 in var_01.volumes) + { + if(self istouching(var_03)) + { + return var_05; + } + } + } + + return undefined; +} + +//Function Number: 11 +getcurrentplayeroccupiedzones() +{ + var_00 = []; + foreach(var_02 in level.zone_data.zones) + { + if(isplayerinzone(var_02.zone_name)) + { + var_00[var_00.size] = var_02.zone_name; + } + } + + return var_00; +} + +//Function Number: 12 +getcurrentplayeroccupiedzonestructs() +{ + var_00 = []; + foreach(var_02 in level.zone_data.zones) + { + if(isplayerinzone(var_02.zone_name)) + { + var_00[var_00.size] = var_02; + } + } + + return var_00; +} + +//Function Number: 13 +iszombieinanyzone(param_00) +{ + foreach(var_02 in level.zone_data.zones) + { + foreach(var_04 in var_02.volumes) + { + if(param_00 istouching(var_04)) + { + return 1; + } + } + } + + return 0; +} + +//Function Number: 14 +getzombiezone() +{ + foreach(var_05, var_01 in level.zone_data.zones) + { + foreach(var_03 in var_01.volumes) + { + if(self istouching(var_03)) + { + return var_05; + } + } + } + + return undefined; +} + +//Function Number: 15 +iszombieinenabledzone(param_00) +{ + foreach(var_02 in level.zone_data.zones) + { + if(!iszoneenabled(var_02.zone_name)) + { + continue; + } + + foreach(var_04 in var_02.volumes) + { + if(param_00 istouching(var_04)) + { + return 1; + } + } + } + + return 0; +} + +//Function Number: 16 +ispathnodeinanyzone(param_00) +{ + foreach(var_02 in level.zone_data.zones) + { + foreach(var_04 in var_02.volumes) + { + if(ispointinvolume(param_00.origin,var_04)) + { + return 1; + } + + if(ispointinvolume(param_00.origin + (0,0,20),var_04)) + { + return 1; + } + } + } + + return 0; +} + +//Function Number: 17 +ispathnodeinenabledzone(param_00) +{ + foreach(var_02 in level.zone_data.zones) + { + if(!iszoneenabled(var_02.zone_name)) + { + continue; + } + + foreach(var_04 in var_02.volumes) + { + if(ispointinvolume(param_00.origin,var_04)) + { + return 1; + } + + if(ispointinvolume(param_00.origin + (0,0,20),var_04)) + { + return 1; + } + } + } + + return 0; +} + +//Function Number: 18 +ispointinanyzone(param_00,param_01) +{ + var_02 = ispointinanyzonereturn(param_00,param_01); + return isdefined(var_02); +} + +//Function Number: 19 +ispointinanyzonereturn(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = 0; + } + + foreach(var_03 in level.zone_data.zones) + { + if(param_01 && !iszoneenabled(var_03.zone_name)) + { + continue; + } + + foreach(var_05 in var_03.volumes) + { + if(ispointinvolume(param_00,var_05)) + { + return var_03.zone_name; + } + } + } +} + +//Function Number: 20 +getlocationzone(param_00) +{ + foreach(var_02 in level.zone_data.zones) + { + foreach(var_04 in var_02.volumes) + { + if(ispointinvolume(param_00,var_04)) + { + return var_02.zone_name; + } + + if(ispointinvolume(param_00 + (0,0,20),var_04)) + { + return var_02.zone_name; + } + } + } + + return undefined; +} + +//Function Number: 21 +anyzombiesinzone(param_00) +{ + var_01 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + if(var_01.size == 0) + { + return 0; + } + + var_02 = level.zone_data.zones[param_00]; + foreach(var_04 in var_01) + { + foreach(var_06 in var_02.volumes) + { + if(var_04 istouching(var_06)) + { + return 1; + } + } + } + + return 0; +} + +//Function Number: 22 +getnumberofplayersinzone(param_00) +{ + if(!iszoneenabled(param_00)) + { + return 0; + } + + var_01 = level.zone_data.zones[param_00]; + var_02 = 0; + foreach(var_04 in level.players) + { + if(var_04.sessionstate == "spectator") + { + continue; + } + + foreach(var_06 in var_01.volumes) + { + if(var_04 istouching(var_06)) + { + var_02++; + break; + } + } + } + + return var_02; +} + +//Function Number: 23 +getplayersinzone(param_00,param_01) +{ + var_02 = []; + if(!iszoneenabled(param_00)) + { + return var_02; + } + + var_03 = level.zone_data.zones[param_00]; + var_04 = var_03.volumes; + if(param_01) + { + foreach(var_06 in var_03.adjacent_zones) + { + var_07 = level.zone_data.zones[var_06.zone_name]; + if(iszoneenabled(var_07.zone_name)) + { + var_04 = common_scripts\utility::array_combine(var_04,var_07.volumes); + } + } + } + + foreach(var_0A in level.players) + { + if(var_0A.sessionstate == "spectator") + { + continue; + } + + foreach(var_0C in var_04) + { + if(var_0A istouching(var_0C)) + { + var_02[var_02.size] = var_0A; + } + } + } + + return var_02; +} + +//Function Number: 24 +playerisinzone(param_00,param_01) +{ + if(!iszoneenabled(param_01)) + { + return 0; + } + + if(param_00.sessionstate == "spectator") + { + return 0; + } + + var_02 = level.zone_data.zones[param_01]; + var_03 = var_02.volumes; + foreach(var_05 in var_03) + { + if(param_00 istouching(var_05)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 25 +getnumberofzombiesinzone(param_00) +{ + var_01 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + if(var_01.size == 0) + { + return 0; + } + + var_02 = level.zone_data.zones[param_00]; + var_03 = 0; + foreach(var_05 in var_01) + { + if(var_05.team != level.enemyteam) + { + continue; + } + + foreach(var_07 in var_02.volumes) + { + if(var_05 istouching(var_07)) + { + var_03++; + break; + } + } + } + + return var_03; +} + +//Function Number: 26 +initializezone(param_00,param_01) +{ + if(isdefined(level.zone_data.zones[param_00])) + { + return; + } + + if(!isdefined(param_01)) + { + param_01 = 0; + } + + var_02 = spawnstruct(); + var_02.adjacent_zones = []; + var_02.is_occupied = 0; + var_02.is_enabled = param_01; + var_02.is_active = 0; + var_02.zone_name = param_00; + var_02.volumes = []; + var_03 = getentarray(param_00,"targetname"); + foreach(var_05 in var_03) + { + if(var_05.classname == "info_volume") + { + var_02.volumes[var_02.volumes.size] = var_05; + } + } + + common_scripts\utility::flag_init(var_02.zone_name); + if(param_01) + { + common_scripts\utility::flag_set(var_02.zone_name); + } + + level.zone_data.zones[param_00] = var_02; + var_02.power_switch = getpowerswitchinzone(param_00); + var_07 = getspawnersinzone(param_00); + var_02.zombie_spawners = filterspawnersfromlistbytype(var_07,"zombie_spawner"); + if(!isdefined(level.zombies_spawners_zombie)) + { + level.zombies_spawners_zombie = []; + } + + level.zombies_spawners_zombie = common_scripts\utility::array_combine(level.zombies_spawners_zombie,var_02.zombie_spawners); + if(maps\mp\zombies\_util::civiliansareenabled()) + { + var_02.civilian_extracts = filterspawnersfromlistbytype(var_07,"civilian_extract"); + var_02.civilian_spawners = filterspawnersfromlistbytype(var_07,"civilian_spawner"); + if(!isdefined(level.zombies_spawners_civilians)) + { + level.zombies_spawners_civilians = []; + } + + level.zombies_spawners_civilians = common_scripts\utility::array_combine(level.zombies_spawners_civilians,var_02.civilian_spawners); + } +} + +//Function Number: 27 +getpowerswitchinzone(param_00) +{ + var_01 = common_scripts\utility::getstructarray("power_switch","targetname"); + foreach(var_03 in var_01) + { + if(isswitchinzonevolumes(var_03,level.zone_data.zones[param_00].volumes)) + { + return var_03; + } + } + + return undefined; +} + +//Function Number: 28 +isswitchinzonevolumes(param_00,param_01) +{ + foreach(var_03 in param_01) + { + if(ispointinvolume(param_00.origin,var_03)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 29 +getspawnersinzone(param_00) +{ + var_01 = []; + foreach(var_03 in level.zone_data.zones[param_00].volumes) + { + if(!isdefined(var_03.target)) + { + continue; + } + + var_04 = common_scripts\utility::getstructarray(var_03.target,"targetname"); + foreach(var_06 in var_04) + { + var_06.zone_name = param_00; + if(!common_scripts\utility::array_contains(var_01,var_06)) + { + var_01[var_01.size] = var_06; + } + } + } + + return var_01; +} + +//Function Number: 30 +filterspawnersfromlistbytype(param_00,param_01) +{ + var_02 = []; + foreach(var_04 in param_00) + { + if(!isdefined(var_04.script_noteworthy)) + { + continue; + } + + if(var_04.script_noteworthy != param_01) + { + continue; + } + + var_02[var_02.size] = var_04; + } + + return var_02; +} + +//Function Number: 31 +addadjacentzone(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_03)) + { + param_03 = 0; + } + + if(!isdefined(level.flag[param_02])) + { + common_scripts\utility::flag_init(param_02); + } + + makezoneadjacent(param_00,param_01,param_02,0); + makezoneadjacent(param_01,param_00,param_02,param_03); +} + +//Function Number: 32 +makezoneadjacent(param_00,param_01,param_02,param_03) +{ + var_04 = level.zone_data.zones[param_00]; + if(!isdefined(var_04.adjacent_zones[param_01])) + { + var_05 = spawnstruct(); + var_05.zone_name = param_01; + var_05.flags[0] = param_02; + var_05.is_connected = 0; + var_05.oneway = param_03; + var_04.adjacent_zones[param_01] = var_05; + return; + } + + var_06 = var_04.adjacent_zones[param_01]; + var_06.flags[var_06.flags.size] = param_02; +} + +//Function Number: 33 +activate(param_00) +{ + if(isdefined(param_00)) + { + level.zone_data.spawnfunc = param_00; + } + + foreach(var_02 in level.zone_data.zones) + { + foreach(var_05, var_04 in var_02.adjacent_zones) + { + level thread zonewaitforflags(var_02,var_05); + } + } + + level thread monitorspawnpointupdate(); +} + +//Function Number: 34 +monitorspawnpointupdate() +{ + level endon("game_ended"); + var_00 = 1; + for(;;) + { + level.zone_data.spawn_points_update_requested = 1; + while(level.zone_data.spawn_points_update_requested) + { + wait 0.05; + } + + wait(var_00); + } +} + +//Function Number: 35 +zonewaitforflags(param_00,param_01) +{ + level endon("game_ended"); + foreach(var_03 in param_00.adjacent_zones[param_01].flags) + { + level thread zonewaitforspecificflag(param_00,var_03,param_01); + } +} + +//Function Number: 36 +zonewaitforspecificflag(param_00,param_01,param_02) +{ + level endon("game_ended"); + common_scripts\utility::flag_wait(param_01); + var_03 = level.zone_data.zones[param_02]; + var_03.is_enabled = 1; + common_scripts\utility::flag_set(param_00.zone_name); + param_00.adjacent_zones[param_02].is_connected = 1; + level thread updateconnectiondistances(); +} + +//Function Number: 37 +getcivilianpoint(param_00,param_01) +{ + var_02 = []; + var_03 = 0; + var_04 = getcurrentplayeroccupiedzones(); + for(var_05 = var_04.size;var_05 > 0;var_05--) + { + var_06 = var_04[var_03]; + var_07 = level.zone_data.zones[var_06]; + if(param_00) + { + var_02 = common_scripts\utility::array_combine(var_02,var_07.civilian_spawners); + } + else + { + var_02 = common_scripts\utility::array_combine(var_02,var_07.civilian_extracts); + foreach(var_09 in var_02) + { + if(!isdefined(var_09.script_parameters)) + { + var_02 = common_scripts\utility::array_remove(var_02,var_09); + } + } + } + + if(iszoneenabled(var_07.zone_name)) + { + foreach(var_0C in var_07.adjacent_zones) + { + if(!iszoneenabled(var_0C.zone_name)) + { + if(!param_00) + { + continue; + } + + if(var_0C.oneway) + { + continue; + } + } + + if(!common_scripts\utility::array_contains(var_04,var_0C.zone_name)) + { + var_04[var_04.size] = var_0C.zone_name; + var_05++; + } + } + } + + var_03++; + } + + var_02 = sortbydistance(var_02,param_01); + for(var_0E = var_02.size - 1;var_0E >= 0;var_0E--) + { + if(!isdefined(var_02[var_0E].hasbeenused)) + { + var_02[var_0E].hasbeenused = 1; + return var_02[var_0E]; + } + } + + var_02[var_02.size - 1].hasbeenused = 1; + return var_02[var_02.size - 1]; +} + +//Function Number: 38 +getspawnpoint(param_00,param_01) +{ + if(!isdefined(level.zone_data)) + { + return undefined; + } + + if(level.zone_data.spawn_points_update_requested) + { + level.zone_data.spawn_points_update_requested = 0; + updatespawnpoints(); + } + + return [[ level.zone_data.spawnfunc ]](param_00,param_01); +} + +//Function Number: 39 +updatespawnpoints() +{ + var_00 = []; + var_01 = []; + foreach(var_03 in level.zone_data.zones) + { + if(!isdefined(var_00[var_03.zone_name])) + { + var_03.is_active = 0; + } + + if(!var_03.is_enabled) + { + continue; + } + + if(!isplayerinzone(var_03.zone_name)) + { + continue; + } + + if(!isdefined(var_03.disablespawns)) + { + var_01[var_01.size] = var_03.zone_name; + } + + var_03.is_active = 1; + var_00[var_03.zone_name] = 1; + foreach(var_05 in var_03.adjacent_zones) + { + if(!var_05.is_connected || isdefined(var_00[var_05.zone_name])) + { + continue; + } + + var_06 = level.zone_data.zones[var_05.zone_name]; + if(!var_06.is_enabled) + { + continue; + } + + var_01[var_01.size] = var_05.zone_name; + var_00[var_05.zone_name] = 1; + var_06.is_active = 1; + } + } + + level.zone_data.current_spawn_zones = var_01; +} + +//Function Number: 40 +calculaterandomspawnpoint(param_00,param_01) +{ + if(isdefined(level.randomspawnpointoverride) && isdefined(level.randomspawnpointoverride[param_00])) + { + return [[ level.randomspawnpointoverride[param_00] ]](); + } + + if(level.zone_data.current_spawn_zones.size == 0) + { + return undefined; + } + + var_02 = level.zone_data.current_spawn_zones; + var_03 = undefined; + for(var_04 = [];var_02.size > 0;var_04 = []) + { + var_05 = randomint(var_02.size); + var_06 = level.zone_data.zones[var_02[var_05]]; + var_02 = maps\mp\zombies\_util::array_remove_index(var_02,var_05); + foreach(var_08 in var_06.zombie_spawners) + { + if(var_08 spawnercanbeusedfor(param_00,param_01)) + { + var_04[var_04.size] = var_08; + } + } + + if(var_04.size > 0) + { + break; + } + } + + if(var_04.size == 0) + { + var_0A = ""; + foreach(var_06 in level.zone_data.current_spawn_zones) + { + var_0A = var_0A + var_06 + " "; + } + + var_05 = randomint(level.zone_data.current_spawn_zones.size); + var_0D = level.zone_data.current_spawn_zones[var_05]; + var_03 = common_scripts\utility::random(var_0D.zombie_spawners); + } + else + { + var_03 = common_scripts\utility::random(var_04); + } + + return var_03; +} + +//Function Number: 41 +calculateweightedspawnpoint(param_00,param_01) +{ + var_02 = []; + foreach(var_04 in level.zone_data.current_spawn_zones) + { + var_05 = level.zone_data.zones[var_04]; + var_02 = common_scripts\utility::array_combine(var_02,var_05.zombie_spawners); + } + + var_07 = maps\mp\zombies\_zombies_spawnscoring::getzombiesspawnpoint_aizombies(var_02,param_00,param_01); + var_07.lastspawntime = gettime(); + return var_07; +} + +//Function Number: 42 +spawnercanbeusedfor(param_00,param_01) +{ + if(isdefined(self.script_parameters)) + { + var_02 = strtok(self.script_parameters," ,"); + var_03 = 0; + var_04 = 0; + foreach(var_06 in var_02) + { + if(var_06 == param_00) + { + var_03 = 1; + } + + if(var_06 == "exclusive") + { + var_04 = 1; + } + } + + if(!var_03 && var_04 || param_01) + { + return 0; + } + } + else if(param_01) + { + return 0; + } + + return 1; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/civ_generic.gsc b/AW/PC/maps/mp/zombies/civ_generic.gsc new file mode 100644 index 0000000..a37ca8c --- /dev/null +++ b/AW/PC/maps/mp/zombies/civ_generic.gsc @@ -0,0 +1,141 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\civ_generic.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 6 + * Decompile Time: 119 ms + * Timestamp: 4/22/2024 2:14:48 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level.agent_funcs["civ_generic"] = level.agent_funcs["civilian"]; + level.agent_funcs["civ_generic"]["think"] = ::civilian_generic_think; + var_00[0] = ["zombies_body_civ_cau_a"]; + var_01[0] = ["zombies_head_cau_a"]; + var_02 = spawnstruct(); + var_02.agent_type = "civ_generic"; + var_02.animclass = "zombie_animclass"; + var_02.model_bodies = var_00; + var_02.model_heads = var_01; + var_02.health_scale = 1; + maps\mp\zombies\_util::agentclassregister(var_02,var_02.agent_type); +} + +//Function Number: 2 +civilian_generic_think() +{ + self endon("death"); + level endon("game_ended"); + self endon("owner_disconnect"); + maps\mp\agents\humanoid\_humanoid::setuphumanoidstate(); + thread maps\mp\zombies\_util::waitforbadpath(); + for(;;) + { + if(civilian_evacuate()) + { + wait(0.05); + continue; + } + + if(isalive(self.foundby) && maps\mp\zombies\_behavior::humanoid_follow(self.foundby)) + { + wait(0.05); + continue; + } + + if(civilian_wait_used(&"ZOMBIES_CIV_FOLLOW")) + { + wait(0.05); + continue; + } + + wait(0.05); + } +} + +//Function Number: 3 +civilian_wait_used(param_00) +{ + if(isalive(self.foundby)) + { + return 0; + } + + self.foundby = undefined; + if(!self.ignoreme) + { + self takeallweapons(); + self allowcrouch(0); + self.ignoreme = 1; + thread maps\mp\zombies\_util::zombies_make_usable(param_00); + thread civilian_use_waiter(); + self scragentsetgoalpos(self.origin); + } + + return 1; +} + +//Function Number: 4 +civilian_use_waiter() +{ + self waittill("player_used",var_00); + self.foundby = var_00; + self.ignoreme = 0; + self allowcrouch(1); + thread maps\mp\zombies\_util::zombies_make_unusable(); +} + +//Function Number: 5 +civilian_evacuate() +{ + if(!isdefined(self.evac_point) && isdefined(level.evac_points)) + { + var_00 = sortbydistance(level.evac_points,self.origin,500); + if(isdefined(var_00) && var_00.size > 0) + { + self.evac_point = var_00[0]; + } + } + + if(!isdefined(self.evac_point)) + { + self.evac_goal = undefined; + self notify("civilian_evac_waiter"); + return 0; + } + + if(!isdefined(self.evac_goal)) + { + self scragentsetgoalpos(self.evac_point.origin); + self.evac_goal = self.evac_point; + thread civilian_evac_waiter(); + } + + return 1; +} + +//Function Number: 6 +civilian_evac_waiter() +{ + self notify("civilian_evac_waiter"); + self endon("civilian_evac_waiter"); + self endon("death"); + level endon("game_ended"); + var_00 = common_scripts\utility::waittill_any_return("goal","goal_reached","bad_path"); + self.evac_point = undefined; + if(var_00 == "goal" || var_00 == "goal_reached") + { + self notify("rescued"); + iprintlnbold("Civilian Rescued!"); + maps\mp\zombies\_util::zombies_make_nonobjective(); + if(maps\mp\gametypes\_hostmigration::waittillhostmigrationdone()) + { + wait(0.05); + } + + self suicide(); + } +} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/killstreaks/_assaultdrone_ai.gsc b/AW/PC/maps/mp/zombies/killstreaks/_zombie_assaultdrone_ai.gsc similarity index 67% rename from AW/PC/MP/maps/mp/killstreaks/_assaultdrone_ai.gsc rename to AW/PC/maps/mp/zombies/killstreaks/_zombie_assaultdrone_ai.gsc index 538267b..1191df0 100644 --- a/AW/PC/MP/maps/mp/killstreaks/_assaultdrone_ai.gsc +++ b/AW/PC/maps/mp/zombies/killstreaks/_zombie_assaultdrone_ai.gsc @@ -1,49 +1,89 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_assaultdrone_ai.gsc + * Decompiled File: mp\zombies\killstreaks\_zombie_assaultdrone_ai.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC - * Function Count: 24 - * Decompile Time: 378 ms - * Timestamp: 10/27/2023 1:51:30 AM + * Function Count: 26 + * Decompile Time: 404 ms + * Timestamp: 4/22/2024 2:12:59 AM *******************************************************************/ //Function Number: 1 assault_vehicle_ai_init() { - thread maps\mp\_aerial_pathnodes::calculate_aerial_pathnodes(); } //Function Number: 2 aistartusingassaultvehicle(param_00) { - thread assault_vehicle_ai_end_on_owner_disconnect(param_00); - wait(2); - maps\mp\_aerial_pathnodes::waittill_aerial_pathnodes_calculated(); - if(isdefined(param_00)) - { - param_00.enemy_target_last_vis_time = 0; - param_00.enemy_target_visible = 0; - param_00 thread assault_vehicle_ai_aerial_movement(); - param_00 thread assault_vehicle_ai_threat(); - param_00 thread assault_vehicle_ai_weapons(!param_00.hasturret); - if(isdefined(level.ishorde) && level.ishorde) - { - self.aerialassaultdrone = param_00; - param_00.isaerialassaultdrone = 1; - param_00 thread assault_vehicle_horde_monitor_death(self); - } - } + param_00.ignoreme = 1; + param_00.enemy_target_last_vis_time = 0; + param_00.enemy_target_visible = 0; + param_00 thread assault_vehicle_ai_threat(); + param_00 thread assault_vehicle_ai_weapons(!param_00.hasturret); + param_00 thread assault_vehicle_ai_aerial_movement_zombies(self); } //Function Number: 3 +assault_vehicle_ai_aerial_movement_zombies(param_00) +{ + self endon("death"); + self sethoverparams(100,30,5); + var_01 = self vehicle_gettopspeed(); + self vehicle_setspeed(var_01,8,60); + for(;;) + { + assault_vehicle_ai_travel(param_00); + assault_vehicle_ai_wait(); + } +} + +//Function Number: 4 +assault_vehicle_ai_travel(param_00) +{ + self endon("enemy"); + self endon("enemyLost"); + var_01 = (0,-100,70); + var_02 = param_00; + if(isdefined(self.enemy_target)) + { + var_02 = self.enemy_target; + var_01 = (0,-200,120); + } + + for(;;) + { + self setdronegoalpos(var_02,var_01); + wait(1); + } +} + +//Function Number: 5 +assault_vehicle_ai_wait() +{ + self endon("enemy"); + self endon("enemyLost"); + var_00 = gettime() + 2000; + while(!isdefined(self.enemy_target) && gettime() < var_00) + { + var_01 = maps\mp\zombies\_util::get_round_enemy_array(); + if(var_01.size == 0) + { + break; + } + + wait 0.05; + } +} + +//Function Number: 6 assault_vehicle_horde_monitor_death(param_00) { self waittill("death"); self.aerialassaultdrone = undefined; } -//Function Number: 4 +//Function Number: 7 assault_vehicle_ai_end_on_owner_disconnect(param_00) { param_00 endon("death"); @@ -51,7 +91,7 @@ assault_vehicle_ai_end_on_owner_disconnect(param_00) param_00 notify("death"); } -//Function Number: 5 +//Function Number: 8 assault_vehicle_ai_aerial_movement() { self notify("assault_vehicle_ai_aerial_movement"); @@ -117,25 +157,19 @@ assault_vehicle_ai_aerial_movement() } } -//Function Number: 6 +//Function Number: 9 assault_vehicle_ai_aerial_follow_path_outside(param_00) { var_01 = (0,0,40); - var_02 = undefined; - for(var_03 = 0;var_03 < param_00.size;var_03++) + for(var_02 = 0;var_02 < param_00.size;var_02++) { - var_04 = param_00[var_03]; - if(isdefined(var_02) && isdefined(var_02.targetname) && var_02.targetname == "traverse") + var_03 = param_00[var_02]; + assault_vehicle_ai_air_movement_func(var_03.origin + var_01); + var_04 = 0; + while(distance2dsquared(var_03.origin,self.origin) > squared(24)) { - assault_vehicle_ai_air_traverse(var_02,var_04,var_01); - } - - assault_vehicle_ai_air_movement_func(var_04.origin + var_01); - var_05 = 0; - while(distance2dsquared(var_04.origin,self.origin) > squared(24)) - { - var_05 = var_05 + 0.05; - if(var_05 > assault_vehicle_ai_path_timeout_time()) + var_04 = var_04 + 0.05; + if(var_04 > assault_vehicle_ai_path_timeout_time()) { return; } @@ -143,18 +177,16 @@ assault_vehicle_ai_aerial_follow_path_outside(param_00) wait(0.05); } - if(maps\mp\_aerial_pathnodes::node_is_aerial(var_04)) + if(maps\mp\_aerial_pathnodes::node_is_aerial(var_03)) { - return var_04; + return var_03; } - - var_02 = var_04; } return param_00[param_00.size - 1]; } -//Function Number: 7 +//Function Number: 10 assault_vehicle_ai_move_to_aerial_node(param_00) { var_01 = param_00.origin + maps\mp\_aerial_pathnodes::get_aerial_offset(); @@ -165,7 +197,7 @@ assault_vehicle_ai_move_to_aerial_node(param_00) } } -//Function Number: 8 +//Function Number: 11 assault_vehicle_ai_aerial_pathing_turret(param_00) { var_01 = param_00; @@ -186,7 +218,7 @@ assault_vehicle_ai_aerial_pathing_turret(param_00) } } -//Function Number: 9 +//Function Number: 12 assault_vehicle_ai_aerial_pathing_c4() { for(;;) @@ -229,7 +261,7 @@ assault_vehicle_ai_aerial_pathing_c4() } } -//Function Number: 10 +//Function Number: 13 assault_vehicle_ai_pick_aerial_node(param_00,param_01) { var_02 = undefined; @@ -254,7 +286,7 @@ assault_vehicle_ai_pick_aerial_node(param_00,param_01) return var_02; } -//Function Number: 11 +//Function Number: 14 assault_vehicle_ai_get_nearest_node() { var_00 = getclosestnodeinsight(self.origin,1); @@ -270,7 +302,7 @@ assault_vehicle_ai_get_nearest_node() return var_00; } -//Function Number: 12 +//Function Number: 15 assault_vehicle_ai_ground_movement(param_00,param_01) { self endon("death"); @@ -287,7 +319,7 @@ assault_vehicle_ai_ground_movement(param_00,param_01) } } -//Function Number: 13 +//Function Number: 16 assault_vehicle_ai_ground_movement_loop(param_00,param_01) { self notify("assault_vehicle_ai_ground_movement_loop"); @@ -347,7 +379,7 @@ assault_vehicle_ai_ground_movement_loop(param_00,param_01) } } -//Function Number: 14 +//Function Number: 17 assault_vehicle_ai_get_camera_position() { var_00 = self vehicleget3pcameraoffset(); @@ -355,7 +387,7 @@ assault_vehicle_ai_get_camera_position() return var_01; } -//Function Number: 15 +//Function Number: 18 assault_vehicle_ai_threat() { self endon("death"); @@ -376,51 +408,52 @@ assault_vehicle_ai_threat() } } - foreach(var_04 in level.characters) + var_03 = maps\mp\zombies\_util::get_round_enemy_array(); + foreach(var_05 in var_03) { - if(isalive(var_04) && !isalliedsentient(self,var_04) && self.owner != var_04) + if(isalive(var_05) && !isalliedsentient(self,var_05) && self.owner != var_05) { - if(var_04 maps\mp\_utility::_hasperk("specialty_blindeye")) + if(var_05 maps\mp\_utility::_hasperk("specialty_blindeye")) { continue; } - var_05 = 0; - var_06 = assault_vehicle_ai_get_camera_position(); - var_07 = var_04.origin + (0,0,40); + var_06 = 0; + var_07 = assault_vehicle_ai_get_camera_position(); + var_08 = var_05.origin + (0,0,40); if(self.hasarhud) { - var_05 = 1; + var_06 = 1; } - if(isdefined(var_04.lastshotfiredtime) && gettime() - var_04.lastshotfiredtime < 3) + if(isdefined(var_05.lastshotfiredtime) && gettime() - var_05.lastshotfiredtime < 3) { - var_05 = 1; + var_06 = 1; } else if(getteamradarstrength(self.team) > getuavstrengthlevelneutral()) { - var_05 = 1; + var_06 = 1; } - else if(sighttracepassed(var_06,var_07,0,self,var_04)) + else if(sighttracepassed(var_07,var_08,0,self,var_05)) { - var_05 = 1; + var_06 = 1; } - if(var_05 && self.hasturret) + if(var_06 && self.hasturret) { - var_08 = self vehicleget3ppitchclamp(); - var_09 = var_07 - var_06; - var_0A = vectortoangles(var_09); - var_0B = angleclamp180(var_0A[0]); - if(var_0B > var_08 || var_0B < -1 * var_08) + var_09 = self vehicleget3ppitchclamp(); + var_0A = var_08 - var_07; + var_0B = vectortoangles(var_0A); + var_0C = angleclamp180(var_0B[0]); + if(var_0C > var_09 || var_0C < -1 * var_09) { - var_05 = 0; + var_06 = 0; } } - if(var_05) + if(var_06) { - var_00[var_00.size] = var_04; + var_00[var_00.size] = var_05; } if(var_01) @@ -432,136 +465,12 @@ assault_vehicle_ai_threat() } } - if(isdefined(level.ishorde) && level.ishorde) - { - var_0D = []; - foreach(var_0F in level.spawnedwarbirds) - { - if(isdefined(var_0F.team) && var_0F.team == "axis") - { - var_0D[var_0D.size] = var_0F; - } - } - - var_11 = common_scripts\utility::array_combine(level.flying_attack_drones,var_0D); - foreach(var_13 in var_11) - { - var_05 = 0; - var_06 = assault_vehicle_ai_get_camera_position(); - var_07 = (0,0,0); - if(isdefined(var_13.origin)) - { - var_07 = var_13.origin; - if(sighttracepassed(var_06,var_07,0,self,var_13)) - { - var_05 = 1; - } - } - - if(var_05) - { - var_08 = self vehicleget3ppitchclamp(); - var_09 = var_07 - var_06; - var_0A = vectortoangles(var_09); - var_0B = angleclamp180(var_0A[0]); - if(var_0B > var_08 || var_0B < -1 * var_08) - { - var_05 = 0; - } - } - - if(var_05) - { - var_00[var_00.size] = var_13; - } - - if(var_01) - { - wait 0.05; - } - - var_01 = !var_01; - } - - foreach(var_16 in level.hordesentryarray) - { - var_05 = 0; - var_06 = assault_vehicle_ai_get_camera_position(); - var_07 = (0,0,0); - if(isdefined(var_16.origin)) - { - var_07 = var_16.origin + (0,0,40); - if(sighttracepassed(var_06,var_07,0,self,var_16)) - { - var_05 = 1; - } - } - - if(var_05) - { - var_08 = self vehicleget3ppitchclamp(); - var_09 = var_07 - var_06; - var_0A = vectortoangles(var_09); - var_0B = angleclamp180(var_0A[0]); - if(var_0B > var_08 || var_0B < -1 * var_08) - { - var_05 = 0; - } - } - - if(var_05) - { - var_00[var_00.size] = var_16; - } - - if(var_01) - { - wait 0.05; - } - - var_01 = !var_01; - } - - var_18 = []; - foreach(var_1A in var_00) - { - if(!isdefined(var_1A)) - { - var_18[var_18.size] = var_1A; - continue; - } - - if(isdefined(var_1A.ishordedrone) && var_1A.ishordedrone) - { - if(!isdefined(var_1A.damagetaken) || !isdefined(var_1A.maxhealth) || var_1A.damagetaken > var_1A.maxhealth) - { - var_18[var_18.size] = var_1A; - } - - continue; - } - - if(isdefined(var_1A.ishordeenemysentry) && var_1A.ishordeenemysentry) - { - if(!var_1A.isalive) - { - var_18[var_18.size] = var_1A; - } - } - } - - foreach(var_1A in var_18) - { - var_00 = common_scripts\utility::array_remove(var_00,var_1A); - } - } - if(var_00.size > 0) { - var_1E = common_scripts\utility::get_array_of_closest(self.origin,var_00); - var_1F = self.enemy_target; - self.enemy_target = var_1E[0]; - if(!isdefined(var_1F) || var_1F != self.enemy_target) + var_0E = common_scripts\utility::get_array_of_closest(self.origin,var_00); + var_0F = self.enemy_target; + self.enemy_target = var_0E[0]; + if(!isdefined(var_0F) || var_0F != self.enemy_target) { self notify("enemy"); } @@ -569,13 +478,14 @@ assault_vehicle_ai_threat() else if(isdefined(self.enemy_target)) { self.enemy_target = undefined; + self notify("enemyLost"); } wait(0.05); } } -//Function Number: 16 +//Function Number: 19 assault_vehicle_ai_weapons(param_00) { self endon("death"); @@ -635,7 +545,7 @@ assault_vehicle_ai_weapons(param_00) var_05 = self.angles[1] + var_04 * var_03 / abs(var_03); } - self vehicle_teleport(self.origin,(var_02[0],var_05,self.angles[2]),0,1); + self vehicle_teleport(self.origin,(var_02[0],var_05,var_02[2]),1,1,1); if(self.initial_enemy_target) { wait(0.1); @@ -729,7 +639,7 @@ assault_vehicle_ai_weapons(param_00) } } -//Function Number: 17 +//Function Number: 20 assault_vehicle_ai_enemy_exists_and_is_alive() { if(isdefined(level.ishorde) && level.ishorde) @@ -745,7 +655,7 @@ assault_vehicle_ai_enemy_exists_and_is_alive() return isdefined(self.enemy_target) && isalive(self.enemy_target); } -//Function Number: 18 +//Function Number: 21 assault_vehicle_ai_can_see_living_enemy() { if(!assault_vehicle_ai_enemy_exists_and_is_alive()) @@ -756,27 +666,13 @@ assault_vehicle_ai_can_see_living_enemy() if(gettime() > self.enemy_target_last_vis_time) { self.enemy_target_last_vis_time = gettime(); - if(isdefined(level.ishorde) && level.ishorde) - { - if(isdefined(self.enemy_target.ishordedrone) && self.enemy_target.ishordedrone) - { - self.enemy_target_visible = sighttracepassed(assault_vehicle_ai_get_camera_position(),self.enemy_target.origin,0,self,self.enemy_target); - } - else - { - self.enemy_target_visible = sighttracepassed(assault_vehicle_ai_get_camera_position(),self.enemy_target.origin + (0,0,40),0,self,self.enemy_target); - } - } - else - { - self.enemy_target_visible = sighttracepassed(assault_vehicle_ai_get_camera_position(),self.enemy_target.origin + (0,0,40),0,self,self.enemy_target); - } + self.enemy_target_visible = sighttracepassed(assault_vehicle_ai_get_camera_position(),self.enemy_target.origin + (0,0,40),0,self,self.enemy_target); } return self.enemy_target_visible; } -//Function Number: 19 +//Function Number: 22 assault_vehicle_ai_follow_path(param_00,param_01,param_02,param_03) { if(!isdefined(param_03)) @@ -820,71 +716,26 @@ assault_vehicle_ai_follow_path(param_00,param_01,param_02,param_03) } } -//Function Number: 20 +//Function Number: 23 assault_vehicle_ai_enemy_moved_air(param_00) { var_01 = self.enemy_target maps\mp\_aerial_pathnodes::get_ent_closest_aerial_node(); return var_01 != param_00; } -//Function Number: 21 +//Function Number: 24 assault_vehicle_ai_enemy_moved_ground(param_00) { return distancesquared(param_00.origin,self.enemy_target.origin) > squared(128); } -//Function Number: 22 +//Function Number: 25 assault_vehicle_ai_path_timeout_time() { return 7.5; } -//Function Number: 23 -assault_vehicle_ai_air_traverse(param_00,param_01,param_02) -{ - if(!isdefined(param_00) || !isdefined(param_01)) - { - return; - } - - if(!isdefined(param_00.targetname) || param_00.targetname != "traverse") - { - return; - } - - if(!isdefined(param_00.type) || !isdefined(param_01.type) || param_00.type != "Begin" || param_01.type != "End") - { - return; - } - - if(!isdefined(param_00.target) || !isdefined(param_01.targetname) || param_00.target != param_01.targetname) - { - return; - } - - if(isdefined(param_00.animscript)) - { - if(param_00.animscript == "boost_jump_up") - { - var_03 = 0.25 * param_01.origin - param_00.origin + param_00.origin; - var_03 = (var_03[0],var_03[1],param_01.origin[2] + 10); - assault_vehicle_ai_air_movement_func(var_03 + param_02); - var_04 = 0; - while(distance2dsquared(var_03,self.origin) > squared(24) || self.origin[2] < var_03[2]) - { - var_04 = var_04 + 0.05; - if(var_04 > assault_vehicle_ai_path_timeout_time()) - { - return; - } - - wait(0.05); - } - } - } -} - -//Function Number: 24 +//Function Number: 26 assault_vehicle_ai_air_movement_func(param_00) { self setvehgoalpos(param_00,1); diff --git a/AW/PC/maps/mp/zombies/killstreaks/_zombie_camouflage.gsc b/AW/PC/maps/mp/zombies/killstreaks/_zombie_camouflage.gsc new file mode 100644 index 0000000..1503a9e --- /dev/null +++ b/AW/PC/maps/mp/zombies/killstreaks/_zombie_camouflage.gsc @@ -0,0 +1,72 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\killstreaks\_zombie_camouflage.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 4 + * Decompile Time: 73 ms + * Timestamp: 4/22/2024 2:12:59 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level.camo_duration = 20; + level.killstreakfuncs["zm_camouflage"] = ::tryusezombiecamouflage; +} + +//Function Number: 2 +tryusezombiecamouflage(param_00,param_01) +{ + if(maps\mp\zombies\_util::arekillstreaksdisabled()) + { + return 0; + } + + thread maps\mp\zombies\_zombies_audio::playerkillstreakcratevo("ss_shield"); + thread playercamouflagemode(); + return 1; +} + +//Function Number: 3 +playercamouflagemode(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = level.camo_duration; + } + + var_01 = int(gettime() + param_00 * 1000); + if(isdefined(self.crategodmode) && self.crategodmode) + { + var_02 = self getclientomnvar("ui_zm_camo"); + if(var_02 >= var_01) + { + return; + } + } + + self notify("playerCamouflageMode"); + if(!isdefined(self.crategodmode)) + { + self.crategodmode = 0; + } + + self playlocalsound("zmb_ss_camo_use"); + self.crategodmode++; + maps\mp\zombies\_util::setzombiesignoreme(1); + self setclientomnvar("ui_zm_camo",var_01); + playercamouflagemodewait(param_00); + if(isdefined(self)) + { + maps\mp\zombies\_util::setzombiesignoreme(0); + self.crategodmode--; + } +} + +//Function Number: 4 +playercamouflagemodewait(param_00) +{ + self endon("playerCamouflageMode"); + wait(param_00); +} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/killstreaks/_drone_assault.gsc b/AW/PC/maps/mp/zombies/killstreaks/_zombie_drone_assault.gsc similarity index 88% rename from AW/PC/ZM/maps/mp/killstreaks/_drone_assault.gsc rename to AW/PC/maps/mp/zombies/killstreaks/_zombie_drone_assault.gsc index 0b71b9d..233f6c2 100644 --- a/AW/PC/ZM/maps/mp/killstreaks/_drone_assault.gsc +++ b/AW/PC/maps/mp/zombies/killstreaks/_zombie_drone_assault.gsc @@ -1,16 +1,17 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_drone_assault.gsc + * Decompiled File: mp\zombies\killstreaks\_zombie_drone_assault.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC - * Function Count: 39 - * Decompile Time: 614 ms - * Timestamp: 10/27/2023 2:09:19 AM + * Function Count: 40 + * Decompile Time: 602 ms + * Timestamp: 4/22/2024 2:13:01 AM *******************************************************************/ //Function Number: 1 init() { + level.dronesdeployed = 0; level._effect["assault_c4_explode"] = loadfx("vfx/vehicle/vehicle_assault_drone_rocket"); level._effect["remote_tank_explode"] = loadfx("vfx/explosion/vehicle_assault_drone_death"); level._effect["c4_forward_blur"] = loadfx("vfx/unique/forward_view_radial_blur"); @@ -18,12 +19,12 @@ init() level._effect["assault_drone_thruster"] = loadfx("vfx/vehicle/vehicle_mp_assault_drone_thruster"); level._effect["assault_drone_marker"] = loadfx("vfx/ui/vfx_marker_drone_assault"); level._effect["assault_drone_exhaust_bottom"] = loadfx("vfx/vehicle/vehicle_mp_assault_drone_exhaust"); - level.killstreakfuncs["assault_ugv"] = ::tryuseassaultdrone; + level.killstreakfuncs["zm_ugv"] = ::tryuseassaultdrone; level.killstreakwieldweapons["drone_assault_remote_turret_mp"] = "assault_ugv"; level.killstreakwieldweapons["ugv_missile_mp"] = "assault_ugv"; level.killstreakwieldweapons["assaultdrone_c4_mp"] = "assault_ugv"; level.killstreakwieldweapons["killstreak_terrace_mp"] = "mp_terrace"; - thread maps\mp\killstreaks\_assaultdrone_ai::assault_vehicle_ai_init(); + thread maps\mp\zombies\killstreaks\_zombie_assaultdrone_ai::assault_vehicle_ai_init(); game["dialog"]["ks_adrone_destroyed"] = "ks_adrone_destroyed"; } @@ -53,7 +54,7 @@ getdronespawnpoint(param_00) } else { - var_04 = maps\mp\killstreaks\_drone_common::dronegetspawnpoint(); + var_04 = maps\mp\zombies\killstreaks\_zombie_drone_common::dronegetspawnpoint(); } return var_04; @@ -62,6 +63,11 @@ getdronespawnpoint(param_00) //Function Number: 3 tryuseassaultdrone(param_00,param_01) { + if(maps\mp\zombies\_util::arekillstreaksdisabled()) + { + return 0; + } + if(isdefined(level.ishorde) && level.ishorde) { if(isdefined(self.aerialdrone)) @@ -70,6 +76,11 @@ tryuseassaultdrone(param_00,param_01) } } + if(param_01.size == 0) + { + param_01 = ["assault_ugv_ai","assault_ugv_mg"]; + } + var_02 = 1; if(maps\mp\_utility::currentactivevehiclecount() >= maps\mp\_utility::maxvehiclesallowed() || level.fauxvehiclecount + var_02 >= maps\mp\_utility::maxvehiclesallowed()) { @@ -77,6 +88,12 @@ tryuseassaultdrone(param_00,param_01) return 0; } + if(level.dronesdeployed >= 2) + { + self iprintlnbold(&"MP_TOO_MANY_VEHICLES"); + return 0; + } + maps\mp\_utility::incrementfauxvehiclecount(); var_03 = getdronespawnpoint(param_01); if(!var_03.placementok) @@ -89,11 +106,9 @@ tryuseassaultdrone(param_00,param_01) var_04 = common_scripts\utility::array_contains(param_01,"assault_ugv_ai"); if(!var_04) { - common_scripts\utility::_disableweaponswitch(); var_05 = maps\mp\killstreaks\_killstreaks::initridekillstreak("assault_ugv"); if(var_05 != "success") { - common_scripts\utility::_enableweaponswitch(); maps\mp\_utility::decrementfauxvehiclecount(); return 0; } @@ -102,12 +117,6 @@ tryuseassaultdrone(param_00,param_01) } var_06 = createassaultuav(param_00,param_01,var_03.origin,var_03.angles); - if(!var_04) - { - common_scripts\utility::_enableweaponswitch(); - self switchtoweapon("killstreak_predator_missile_mp"); - } - if(isdefined(var_06)) { if(common_scripts\utility::array_contains(param_01,"mp_terrace")) @@ -126,6 +135,8 @@ tryuseassaultdrone(param_00,param_01) self.aerialdrone = var_06; } + thread maps\mp\zombies\_zombies_audio::playerkillstreakcratevo("ss_use_assault_drone"); + level.dronesdeployed++; return 1; } @@ -138,11 +149,10 @@ createassaultuav(param_00,param_01,param_02,param_03) var_04 = common_scripts\utility::array_contains(param_01,"assault_ugv_mg") || common_scripts\utility::array_contains(param_01,"assault_ugv_rockets") || common_scripts\utility::array_contains(param_01,"mp_terrace"); var_05 = common_scripts\utility::array_contains(param_01,"mp_terrace"); var_06 = "assault_uav_mp"; - var_07 = 30; + var_07 = 90; if(var_04) { var_06 = "mg_assault_uav_mp"; - var_07 = 45; } var_08 = "vehicle_atlas_aerial_drone_01_assult_mp_noturret_clr_50p"; @@ -261,12 +271,13 @@ setupcommonassaultdroneproperties(param_00,param_01,param_02,param_03) param_00 setcandamage(1); param_00.empgrenaded = 0; param_00.damagefade = 1; - param_00 thread maps\mp\gametypes\_damage::setentitydamagecallback(param_00.maxhealth,undefined,::onassaultdronedeath,::maps\mp\killstreaks\_aerial_utility::heli_modifydamage,1); + param_00.oldcontents = param_00 setcontents(0); + param_00 thread maps\mp\gametypes\_damage::setentitydamagecallback(param_00.maxhealth,undefined,::onassaultdronedeath,::drone_modifydamage,1); param_00 ghost(); - thread maps\mp\killstreaks\_drone_common::dronesetupcloaking(param_00,param_00.hascloak); + thread maps\mp\zombies\killstreaks\_zombie_drone_common::dronesetupcloaking(param_00,param_00.hascloak); if(param_00.hascloak) { - thread maps\mp\killstreaks\_drone_common::dronecloakready(param_00,param_00.hascloak); + thread maps\mp\zombies\killstreaks\_zombie_drone_common::dronecloakready(param_00,param_00.hascloak); } self.using_remote_tank = !param_00.hasaioption; @@ -279,14 +290,14 @@ setupcommonassaultdroneproperties(param_00,param_01,param_02,param_03) } else { - thread maps\mp\killstreaks\_assaultdrone_ai::aistartusingassaultvehicle(param_00); + thread maps\mp\zombies\killstreaks\_zombie_assaultdrone_ai::aistartusingassaultvehicle(param_00); } thread monitorplayerdisconnect(param_00); thread assaulthandledeath(param_00); thread monitorplayerswitchteams(param_00); thread monitorplayergameended(param_00); - thread maps\mp\killstreaks\_drone_common::playerwatchfordroneemp(param_00); + thread maps\mp\zombies\killstreaks\_zombie_drone_common::playerwatchfordroneemp(param_00); if(param_00.mp_terrace) { var_04 = getent("killstreak_orbit_origin","targetname"); @@ -300,9 +311,9 @@ setupcommonassaultdroneproperties(param_00,param_01,param_02,param_03) if(!param_00.mp_terrace) { - thread maps\mp\killstreaks\_drone_common::playerhandleexhaustfx(param_00,"assault_drone_exhaust","TAG_EXHAUST_REAR","assaultDroneHunterKiller"); - thread maps\mp\killstreaks\_drone_common::playerhandleexhaustfx(param_00,"assault_drone_exhaust_bottom","tag_exhaust_lt"); - thread maps\mp\killstreaks\_drone_common::playerhandleexhaustfx(param_00,"assault_drone_exhaust_bottom","tag_exhaust_rt"); + thread maps\mp\zombies\killstreaks\_zombie_drone_common::playerhandleexhaustfx(param_00,"assault_drone_exhaust","TAG_EXHAUST_REAR","assaultDroneHunterKiller"); + thread maps\mp\zombies\killstreaks\_zombie_drone_common::playerhandleexhaustfx(param_00,"assault_drone_exhaust_bottom","tag_exhaust_lt"); + thread maps\mp\zombies\killstreaks\_zombie_drone_common::playerhandleexhaustfx(param_00,"assault_drone_exhaust_bottom","tag_exhaust_rt"); } if(!isdefined(level.ishorde) || isdefined(level.ishorde) && self getclientomnvar("ui_horde_player_class") != "drone") @@ -311,7 +322,7 @@ setupcommonassaultdroneproperties(param_00,param_01,param_02,param_03) } assaultvehiclemonitorweapons(param_00); - thread maps\mp\killstreaks\_drone_common::updateshootinglocation(param_00,common_scripts\utility::getfx("assault_drone_marker")); + thread maps\mp\zombies\killstreaks\_zombie_drone_common::updateshootinglocation(param_00,common_scripts\utility::getfx("assault_drone_marker")); thread debug_show_origin(param_00); var_07 = spawnstruct(); var_07.validateaccuratetouching = 1; @@ -321,17 +332,34 @@ setupcommonassaultdroneproperties(param_00,param_01,param_02,param_03) } //Function Number: 9 +drone_modifydamage(param_00,param_01,param_02,param_03) +{ + var_04 = maps\mp\gametypes\_damage::modifydamage(param_00,param_01,param_02,param_03); + if(isdefined(param_01) && param_01 == "drone_assault_remote_turret_mp" || param_01 == "ugv_missile_mp") + { + var_04 = -1; + } + + if(isplayer(param_00)) + { + var_04 = -1; + } + + return var_04; +} + +//Function Number: 10 override_drone_platform_death(param_00) { self notify("death"); } -//Function Number: 10 +//Function Number: 11 debug_show_origin(param_00) { } -//Function Number: 11 +//Function Number: 12 notify_assault_drone_on_player_command(param_00) { self endon("disconnect"); @@ -346,7 +374,7 @@ notify_assault_drone_on_player_command(param_00) } } -//Function Number: 12 +//Function Number: 13 playerstartusingassaultvehicle(param_00) { var_01 = self; @@ -362,12 +390,12 @@ playerstartusingassaultvehicle(param_00) } var_01 remotecontrolvehicle(param_00); - var_01 thread maps\mp\killstreaks\_drone_common::setdronevisionandlightsetpermap(1.5,param_00); + var_01 thread maps\mp\zombies\killstreaks\_zombie_drone_common::setdronevisionandlightsetpermap(1.5,param_00); var_01.using_remote_tank = 1; return 1; } -//Function Number: 13 +//Function Number: 14 assaultvehiclemonitorweapons(param_00) { if(param_00.hasturret) @@ -387,13 +415,13 @@ assaultvehiclemonitorweapons(param_00) thread assaultplayerexit(param_00); } -//Function Number: 14 +//Function Number: 15 getassaultvehiclec4radius() { return 200; } -//Function Number: 15 +//Function Number: 16 waitforc4detonation(param_00) { level endon("game_ended"); @@ -412,7 +440,7 @@ waitforc4detonation(param_00) param_00 notify("death"); } -//Function Number: 16 +//Function Number: 17 playerhudoutlineshunterkiller(param_00) { foreach(var_02 in level.players) @@ -438,7 +466,7 @@ playerhudoutlineshunterkiller(param_00) } } -//Function Number: 17 +//Function Number: 18 onplayerconnecthunterkiller(param_00) { param_00 endon("death"); @@ -457,7 +485,7 @@ onplayerconnecthunterkiller(param_00) } } -//Function Number: 18 +//Function Number: 19 onplayerspawnedhunterkiller(param_00) { self endon("disconnect"); @@ -468,7 +496,7 @@ onplayerspawnedhunterkiller(param_00) } } -//Function Number: 19 +//Function Number: 20 playerdohunterkillerbehavior(param_00) { var_01 = 7000; @@ -561,7 +589,7 @@ playerdohunterkillerbehavior(param_00) } } -//Function Number: 20 +//Function Number: 21 playerplaythrustersound(param_00) { var_01 = spawn("script_model",param_00.origin); @@ -583,20 +611,20 @@ playerplaythrustersound(param_00) var_01 delete(); } -//Function Number: 21 +//Function Number: 22 playerplaytargetfx(param_00,param_01) { var_02 = spawn("script_model",param_01); var_02 setmodel("tag_origin"); var_02.angles = (-90,0,0); - playfxontagforclients(common_scripts\utility::getfx("assault_drone_marker"),var_02,"tag_origin",self); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("assault_drone_marker"),var_02,"tag_origin"); param_00 waittill("death"); - stopfxontag(common_scripts\utility::getfx("assault_drone_marker"),var_02,"tag_origin"); + maps\mp\zombies\_util::stopfxontagnetwork(common_scripts\utility::getfx("assault_drone_marker"),var_02,"tag_origin"); wait 0.05; var_02 delete(); } -//Function Number: 22 +//Function Number: 23 spawnmgturret(param_00) { param_00 endon("death"); @@ -665,7 +693,7 @@ spawnmgturret(param_00) } } -//Function Number: 23 +//Function Number: 24 control_turret_after_delay(param_00,param_01) { var_02 = 0; @@ -680,7 +708,7 @@ control_turret_after_delay(param_00,param_01) } } -//Function Number: 24 +//Function Number: 25 watchmgfireuncloak(param_00) { param_00 endon("death"); @@ -692,7 +720,7 @@ watchmgfireuncloak(param_00) } } -//Function Number: 25 +//Function Number: 26 terrace_turret_fx(param_00) { param_00 endon("death"); @@ -703,11 +731,11 @@ terrace_turret_fx(param_00) playfxontagforclients(level._effect["sniper_drone_wind_marker"],param_00.mgturret,"tag_fx1",self); } -//Function Number: 26 +//Function Number: 27 delete_turret_on_death(param_00) { param_00 waittill("death"); - if(isdefined(self) && isdefined(param_00.hasaioption) && !param_00.hasaioption) + if(isdefined(self)) { self remotecontrolturretoff(param_00.mgturret); self thermalvisionfofoverlayoff(); @@ -722,7 +750,7 @@ delete_turret_on_death(param_00) param_00.mgturret delete(); } -//Function Number: 27 +//Function Number: 28 setuprockets(param_00) { param_00 endon("death"); @@ -758,7 +786,9 @@ setuprockets(param_00) var_03 = param_00 getentityvelocity(); } - var_04 = magicbullet("ugv_missile_mp",var_01 + var_03 / 10,var_02,self); + var_04 = magicbullet("ugv_missile_mp",var_01 + var_03 / 10,var_02,self,1); + param_00.mgturret playsoundonmovingent("wpn_mahem_npc"); + playfxontag(common_scripts\utility::getfx("sentry_rocket_muzzleflash_wv"),param_00.mgturret,"tag_flash"); var_04 missile_settargetent(param_00.targetent); var_04 missile_setflightmodedirect(); if(param_00.hasaioption) @@ -781,7 +811,7 @@ setuprockets(param_00) } } -//Function Number: 28 +//Function Number: 29 assaulthudsetup(param_00) { param_00 endon("death"); @@ -830,7 +860,7 @@ assaulthudsetup(param_00) } } -//Function Number: 29 +//Function Number: 30 assaulthudremove(param_00) { self setclientomnvar("ui_assaultdrone_toggle",0); @@ -847,7 +877,7 @@ assaulthudremove(param_00) } } -//Function Number: 30 +//Function Number: 31 monitoruavsafearea(param_00) { self endon("assaultStreakComplete"); @@ -863,7 +893,7 @@ monitoruavsafearea(param_00) param_00 notify("death"); } -//Function Number: 31 +//Function Number: 32 monitorplayerdisconnect(param_00) { self endon("StopWaitForDisconnect"); @@ -872,7 +902,7 @@ monitorplayerdisconnect(param_00) param_00 notify("death"); } -//Function Number: 32 +//Function Number: 33 monitorplayerswitchteams(param_00) { self endon("assaultStreakComplete"); @@ -880,7 +910,7 @@ monitorplayerswitchteams(param_00) param_00 notify("death"); } -//Function Number: 33 +//Function Number: 34 monitorplayergameended(param_00) { self endon("assaultStreakComplete"); @@ -888,16 +918,13 @@ monitorplayergameended(param_00) param_00 notify("death"); } -//Function Number: 34 +//Function Number: 35 onassaultdronedeath(param_00,param_01,param_02,param_03) { self notify("death",param_00,param_02,param_01); - if(isdefined(level.ishorde) && level.ishorde) + if(isdefined(level.ishorde) && level.ishorde && isdefined(param_00.ishordeenemysentry) && param_00.ishordeenemysentry) { - if((isdefined(param_00.ishordeenemysentry) && param_00.ishordeenemysentry) || isdefined(param_00.ishordeenemywarbird) && param_00.ishordeenemywarbird) - { - return; - } + return; } if(self.mp_terrace) @@ -909,7 +936,7 @@ onassaultdronedeath(param_00,param_01,param_02,param_03) maps\mp\gametypes\_damage::onkillstreakkilled(param_00,param_01,param_02,param_03,"assault_drone_destroyed",undefined,"callout_destroyed_drone_assault",1); } -//Function Number: 35 +//Function Number: 36 assaulthandletimeoutwarning(param_00,param_01) { param_00 endon("death"); @@ -934,11 +961,11 @@ assaulthandletimeoutwarning(param_00,param_01) param_00 notify("death"); } -//Function Number: 36 +//Function Number: 37 assaulthandledeath(param_00) { var_01 = param_00 getentitynumber(); - param_00 maps\mp\killstreaks\_drone_common::droneaddtogloballist(var_01); + param_00 maps\mp\zombies\killstreaks\_zombie_drone_common::droneaddtogloballist(var_01); param_00 waittill("death",var_02); if(isdefined(param_00.camlinkent)) { @@ -964,7 +991,7 @@ assaulthandledeath(param_00) self notify("StopWaitForDisconnect"); param_00 playsound("assault_drn_death"); playfx(level._effect["remote_tank_explode"],param_00.origin); - param_00 maps\mp\killstreaks\_drone_common::droneremovefromgloballist(var_01); + param_00 maps\mp\zombies\killstreaks\_zombie_drone_common::droneremovefromgloballist(var_01); if(isdefined(self) && !param_00.hasturret && !param_00.hasaioption && !level.gameended) { wait(1); @@ -997,6 +1024,7 @@ assaulthandledeath(param_00) } maps\mp\_utility::decrementfauxvehiclecount(); + level.dronesdeployed--; if(isdefined(param_00.camlinkent)) { param_00.camlinkent delete(); @@ -1005,7 +1033,7 @@ assaulthandledeath(param_00) param_00 delete(); } -//Function Number: 37 +//Function Number: 38 assaultsetinactivity(param_00) { if(!isdefined(param_00)) @@ -1020,7 +1048,7 @@ assaultsetinactivity(param_00) var_01 disableslowaim(); var_01 remotecontrolvehicleoff(param_00); var_01 thermalvisionfofoverlayoff(); - thread maps\mp\killstreaks\_drone_common::removedronevisionandlightsetpermap(1.5); + thread maps\mp\zombies\killstreaks\_zombie_drone_common::removedronevisionandlightsetpermap(1.5); var_01 unlink(); if(var_01 maps\mp\_utility::isusingremote() && !level.gameended) { @@ -1045,7 +1073,7 @@ assaultsetinactivity(param_00) } } -//Function Number: 38 +//Function Number: 39 switch_back_to_player_weapon() { var_00 = maps\mp\_utility::getkillstreakweapon("orbitalsupport"); @@ -1054,7 +1082,7 @@ switch_back_to_player_weapon() self switchtoweapon(common_scripts\utility::getlastweapon()); } -//Function Number: 39 +//Function Number: 40 assaultplayerexit(param_00) { if(!isdefined(self)) diff --git a/AW/PC/MP/maps/mp/killstreaks/_drone_common.gsc b/AW/PC/maps/mp/zombies/killstreaks/_zombie_drone_common.gsc similarity index 89% rename from AW/PC/MP/maps/mp/killstreaks/_drone_common.gsc rename to AW/PC/maps/mp/zombies/killstreaks/_zombie_drone_common.gsc index fafeef3..d8a2c6b 100644 --- a/AW/PC/MP/maps/mp/killstreaks/_drone_common.gsc +++ b/AW/PC/maps/mp/zombies/killstreaks/_zombie_drone_common.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_drone_common.gsc + * Decompiled File: mp\zombies\killstreaks\_zombie_drone_common.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC - * Function Count: 24 - * Decompile Time: 392 ms - * Timestamp: 10/27/2023 1:51:40 AM + * Function Count: 23 + * Decompile Time: 375 ms + * Timestamp: 4/22/2024 2:13:03 AM *******************************************************************/ //Function Number: 1 @@ -358,8 +358,7 @@ updateshootinglocation(param_00,param_01,param_02) thread _cleanupshootinglocationondeath(param_00,param_01); if(isdefined(param_01)) { - playfxontagforclients(param_01,param_00.targetent,"tag_origin",self); - param_00 thread showreticletoenemies(param_01); + maps\mp\zombies\_util::playfxontagnetwork(param_01,param_00.targetent,"tag_origin"); } if(isdefined(param_00.hasaioption) && param_00.hasaioption) @@ -380,24 +379,6 @@ updateshootinglocation(param_00,param_01,param_02) } //Function Number: 18 -showreticletoenemies(param_00) -{ - self endon("death"); - self endon("end_remote"); - if(!level.hardcoremode) - { - foreach(var_02 in level.players) - { - if(self.owner maps\mp\_utility::isenemy(var_02)) - { - wait 0.05; - playfxontagforclients(param_00,self.targetent,"tag_origin",var_02); - } - } - } -} - -//Function Number: 19 _cleanupshootinglocationondeath(param_00,param_01) { param_00 common_scripts\utility::waittill_any("death","stopShootLocationUpdate"); @@ -406,7 +387,7 @@ _cleanupshootinglocationondeath(param_00,param_01) var_02 = param_00.targetent; if(isdefined(param_01)) { - stopfxontag(param_01,var_02,"tag_origin"); + maps\mp\zombies\_util::stopfxontagnetwork(param_01,var_02,"tag_origin"); } wait 0.05; @@ -414,7 +395,7 @@ _cleanupshootinglocationondeath(param_00,param_01) } } -//Function Number: 20 +//Function Number: 19 playerhandleexhaustfx(param_00,param_01,param_02,param_03) { param_00 endon("death"); @@ -423,7 +404,7 @@ playerhandleexhaustfx(param_00,param_01,param_02,param_03) self endon(param_03); } - playfxontag(common_scripts\utility::getfx(param_01),param_00,param_02); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx(param_01),param_00,param_02); thread playerdeleteexhaustfxonvehicledeath(param_00,param_01,param_02); if(!param_00.hascloak) { @@ -433,24 +414,24 @@ playerhandleexhaustfx(param_00,param_01,param_02,param_03) for(;;) { self waittill("Cloak"); - stopfxontag(common_scripts\utility::getfx(param_01),param_00,param_02); + maps\mp\zombies\_util::stopfxontagnetwork(common_scripts\utility::getfx(param_01),param_00,param_02); wait 0.05; - playfxontagforclients(common_scripts\utility::getfx(param_01),param_00,param_02,self); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx(param_01),param_00,param_02); self waittill("UnCloak"); - stopfxontag(common_scripts\utility::getfx(param_01),param_00,param_02); + maps\mp\zombies\_util::stopfxontagnetwork(common_scripts\utility::getfx(param_01),param_00,param_02); wait 0.05; - playfxontag(common_scripts\utility::getfx(param_01),param_00,param_02); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx(param_01),param_00,param_02); } } -//Function Number: 21 +//Function Number: 20 playerdeleteexhaustfxonvehicledeath(param_00,param_01,param_02) { param_00 waittill("death"); - killfxontag(common_scripts\utility::getfx(param_01),param_00,param_02); + maps\mp\zombies\_util::killfxontagnetwork(common_scripts\utility::getfx(param_01),param_00,param_02); } -//Function Number: 22 +//Function Number: 21 setdronevisionandlightsetpermap(param_00,param_01) { self endon("disconnect"); @@ -467,14 +448,14 @@ setdronevisionandlightsetpermap(param_00,param_01) } } -//Function Number: 23 +//Function Number: 22 removedronevisionandlightsetpermap(param_00) { self setclienttriggervisionset("",param_00); self lightsetforplayer(""); } -//Function Number: 24 +//Function Number: 23 playerwatchfordroneemp(param_00) { level endon("game_ended"); diff --git a/AW/PC/MP/maps/mp/killstreaks/_juggernaut.gsc b/AW/PC/maps/mp/zombies/killstreaks/_zombie_goliath_suit.gsc similarity index 58% rename from AW/PC/MP/maps/mp/killstreaks/_juggernaut.gsc rename to AW/PC/maps/mp/zombies/killstreaks/_zombie_goliath_suit.gsc index c08e9da..a07c2a6 100644 --- a/AW/PC/MP/maps/mp/killstreaks/_juggernaut.gsc +++ b/AW/PC/maps/mp/zombies/killstreaks/_zombie_goliath_suit.gsc @@ -1,42 +1,33 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_juggernaut.gsc + * Decompiled File: mp\zombies\killstreaks\_zombie_goliath_suit.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC - * Function Count: 145 - * Decompile Time: 2332 ms - * Timestamp: 10/27/2023 1:51:51 AM + * Function Count: 132 + * Decompile Time: 2000 ms + * Timestamp: 4/22/2024 2:13:09 AM *******************************************************************/ //Function Number: 1 init() { - level.juggsettings = []; - level.juggsettings["juggernaut_exosuit"] = spawnstruct(); - level.juggsettings["juggernaut_exosuit"].splashusedname = "used_juggernaut"; - level.juggsettings["juggernaut_exosuit"].splashattachmentname = "callout_destroyed_heavyexoattachment"; - level.juggsettings["juggernaut_exosuit"].splashweakenedname = "callout_weakened_heavyexoattachment"; level._effect["green_light_mp"] = loadfx("vfx/lights/aircraft_light_wingtip_green"); level._effect["juggernaut_sparks"] = loadfx("vfx/explosion/bouncing_betty_explosion"); level._effect["jugg_droppod_open"] = loadfx("vfx/explosion/goliath_pod_opening"); level._effect["jugg_droppod_marker"] = loadfx("vfx/unique/vfx_marker_killstreak_guide_goliath"); - level._effect["exo_ping_inactive"] = loadfx("vfx/unique/exo_ping_inactive"); - level._effect["exo_ping_active"] = loadfx("vfx/unique/exo_ping_active"); level._effect["goliath_death_fire"] = loadfx("vfx/fire/goliath_death_fire"); level._effect["goliath_self_destruct"] = loadfx("vfx/explosion/goliath_self_destruct"); level._effect["lethal_rocket_wv"] = loadfx("vfx/muzzleflash/playermech_lethal_flash_wv"); level._effect["swarm_rocket_wv"] = loadfx("vfx/muzzleflash/playermech_tactical_wv_run"); - level.killstreakwieldweapons["juggernaut_sentry_mg_mp"] = "juggernaut_exosuit"; - level.killstreakwieldweapons["iw5_juggernautrockets_mp"] = "juggernaut_exosuit"; - level.killstreakwieldweapons["iw5_exoxmgjugg_mp_akimbo"] = "juggernaut_exosuit"; - level.killstreakwieldweapons["iw5_juggtitan45_mp"] = "juggernaut_exosuit"; - level.killstreakwieldweapons["iw5_exominigun_mp"] = "juggernaut_exosuit"; - level.killstreakwieldweapons["iw5_mechpunch_mp"] = "juggernaut_exosuit"; - level.killstreakwieldweapons["playermech_rocket_mp"] = "juggernaut_exosuit"; - level.killstreakwieldweapons["killstreak_goliathsd_mp"] = "juggernaut_exosuit"; - level.killstreakwieldweapons["orbital_carepackage_droppod_mp"] = "juggernaut_exosuit"; - level.killstreakwieldweapons["heavy_exo_trophy_mp"] = "juggernaut_exosuit"; - level.killstreakfuncs["heavy_exosuit"] = ::tryuseheavyexosuit; + level.goliathsuitweapons = ["iw5_exominigunzm_mp","playermech_rocket_zm_mp","playermech_rocket_swarm_zm_mp","iw5_juggernautrocketszm_mp","iw5_combatknifegoliath_mp"]; + level.killstreakwieldweapons["iw5_exominigunzm_mp"] = "juggernaut_exosuit"; + level.killstreakwieldweapons["playermech_rocket_zm_mp"] = "juggernaut_exosuit"; + level.killstreakwieldweapons["playermech_rocket_swarm_zm_mp"] = "juggernaut_exosuit"; + level.killstreakwieldweapons["iw5_juggernautrocketszm_mp"] = "juggernaut_exosuit"; + level.killstreakwieldweapons["iw5_combatknifegoliath_mp"] = "juggernaut_exosuit"; + level.killstreakwieldweapons["orbital_carepackage_droppod_zm_mp"] = "juggernaut_exosuit"; + level.killstreakfuncs["zm_goliath_suit"] = ::tryuseheavyexosuit; + level.customjuggernautdamagefunc = ::juggernautmodifydamage; game["dialog"]["assist_mp_goliath"] = "ks_goliath_joinreq"; game["dialog"]["copilot_mp_goliath"] = "copilot_mp_goliath"; game["dialog"]["sntryoff_mp_exoai"] = "sntryoff_mp_exoai"; @@ -47,49 +38,79 @@ init() game["dialog"]["trphyoff_mp_exoai"] = "trphyoff_mp_exoai"; game["dialog"]["weakdmg_mp_exoai"] = "weakdmg_mp_exoai"; level thread onplayerconnect(); + level thread roundlogic(); } //Function Number: 2 +roundlogic() +{ + var_00 = randomintrange(8,10); + for(;;) + { + level waittill("zombie_wave_started"); + if(maps\mp\zombies\_util::is_true(level.disablecarepackagedrops)) + { + continue; + } + + while(level.wavecounter >= var_00) + { + var_01 = randomfloatrange(35,45); + var_02 = level common_scripts\utility::waittill_notify_or_timeout_return("zombie_wave_ended",var_01); + if(!isdefined(var_02) || var_02 != "timeout") + { + continue; + } + + if(maps\mp\zombies\_util::is_true(level.disablecarepackagedrops)) + { + continue; + } + + var_02 = tryuseheavyexosuit(); + if(isdefined(var_02)) + { + var_00 = var_00 + randomintrange(5,7); + } + } + + level waittill("zombie_wave_ended"); + } +} + +//Function Number: 3 +getowner() +{ + foreach(var_01 in level.players) + { + if(isdefined(var_01)) + { + return var_01; + } + } +} + +//Function Number: 4 tryuseheavyexosuit(param_00,param_01) { - if(isdefined(level.ishorde) && level.ishorde) + var_02 = self; + if(!isdefined(self) || !isplayer(self)) { - if(isdefined(self.hordegoliathpodinfield) || isdefined(self.hordegoliathcontroller) || isdefined(self.hordeclassgoliathcontroller)) + var_02 = getowner(); + if(!isdefined(var_02)) { - self iprintlnbold(&"KILLSTREAKS_HEAVY_EXO_IN_USE"); return 0; } } - var_02 = playerlaunchdroppod(param_01); - return var_02; -} - -//Function Number: 3 -resetweapon() -{ - var_00 = maps\mp\_utility::getkillstreakweapon("heavy_exosuit"); - self switchtoweapon(common_scripts\utility::getlastweapon()); - maps\mp\killstreaks\_killstreaks::takekillstreakweaponifnodupe(var_00); -} - -//Function Number: 4 -cansetupstance() -{ - if(self getstance() == "prone" || self getstance() == "crouch") + var_03 = maps\mp\zombies\killstreaks\_zombie_killstreaks::getcratelandingspot(var_02,"goliath_suit"); + if(!isdefined(var_03)) { - self setstance("stand"); + return 0; } - maps\mp\_utility::freezecontrolswrapper(1); - var_00 = gettime() + 1500; - while(gettime() < var_00 && self getstance() != "stand") - { - wait 0.05; - } - - maps\mp\_utility::freezecontrolswrapper(0); - return self getstance() == "stand"; + level thread firedroppod(var_03,[],var_02); + return 1; } //Function Number: 5 @@ -97,179 +118,187 @@ givejuggernaut(param_00,param_01) { self endon("death"); self endon("disconnect"); - if(isdefined(level.ishorde) && level.ishorde) - { - self endon("becameSpectator"); - } - - if(maps\mp\perks\_perkfunctions::haslightarmor()) - { - maps\mp\perks\_perkfunctions::unsetlightarmor(); - } - - if(maps\mp\_utility::_hasperk("specialty_explosivebullets")) - { - maps\mp\_utility::_unsetperk("specialty_explosivebullets"); - } - - self.maxhealth = 125; - if(isdefined(level.ishorde) && level.ishorde) - { - self.maxhealth = 300 + 25 * self.hordearmor; - } - - self.health = self.maxhealth; self.attackerlist = []; - switch(param_00) + var_02 = 1; + self.juggmovespeedscaler = var_02; + var_03 = isdefined(self.perks["specialty_hardline"]); + self.isjuggernaut = 1; + self.movespeedscaler = var_02; + maps\mp\_utility::giveperk("specialty_radarjuggernaut",0); + if(var_03) { - case "juggernaut_exosuit": - default: - break; + maps\mp\_utility::giveperk("specialty_hardline",0); } + + thread playersetupjuggernautexo(param_01,param_00); + self.saved_lastweapon = self getweaponslistprimaries()[0]; + maps\mp\gametypes\_weapons::updatemovespeedscale(); + self playsoundonmovingent("goliath_suit_up_mp"); + level thread announcerglobalplaysuitvo("gol_start",5,self); + level notify("juggernaut_equipped",self); + maps\mp\_matchdata::logkillstreakevent("juggernaut",self.origin); } //Function Number: 6 -juggernautsounds() +cggoliathroverlay() { - level endon("game_ended"); self endon("death"); self endon("disconnect"); - self endon("jugg_removed"); - if(isdefined(level.ishorde) && level.ishorde) - { - self endon("becameSpectator"); - } - - for(;;) - { - wait(3); - self playsound("juggernaut_breathing_sound"); - } + self endon("death"); + self endon("ejectedFromJuggernaut"); + var_00 = 0.35; + var_01 = newclienthudelem(self); + thread cggoliathoverlaycleanup(var_01); + var_01.x = 0; + var_01.y = 0; + var_01 setshader("black",640,480); + var_01.horzalign = "fullscreen"; + var_01.vertalign = "fullscreen"; + var_01.alpha = 0; + var_01 fadeovertime(var_00); + var_01.alpha = 1; + wait(2); + var_01 fadeovertime(var_00); + var_01.alpha = 0; } //Function Number: 7 -radarmover(param_00) +cggoliathoverlaycleanup(param_00) { - level endon("game_ended"); - self endon("disconnect"); - self endon("jugg_removed"); - self endon("jugdar_removed"); - for(;;) - { - param_00 moveto(self.origin,0.05); - wait(0.05); - } + param_00 endon("death"); + common_scripts\utility::waittill_any("spawned","disconnect","ejectedFromJuggernaut","death"); + param_00 destroy(); } //Function Number: 8 -juggremover() -{ - level endon("game_ended"); - self endon("disconnect"); - self endon("jugg_removed"); - thread juggremoveongameended(); - common_scripts\utility::waittill_any("death","joined_team","joined_spectators","lost_juggernaut"); - self enableweaponpickup(); - self.isjuggernaut = 0; - common_scripts\utility::resetusability(); - self allowjump(1); - self allowcrouch(1); - self allowladder(1); - self allowmantle(1); - self setdemigod(0); - if(isdefined(self.juggernautoverlay)) - { - self.juggernautoverlay destroy(); - } - - self unsetperk("specialty_radarjuggernaut",1); - if(isdefined(self.personalradar)) - { - self notify("jugdar_removed"); - level maps\mp\gametypes\_portable_radar::deleteportableradar(self.personalradar); - self.personalradar = undefined; - } - - self notify("jugg_removed"); -} - -//Function Number: 9 -juggremoveongameended() -{ - self endon("disconnect"); - self endon("jugg_removed"); - level waittill("game_ended"); - if(isdefined(self.juggernautoverlay)) - { - self.juggernautoverlay destroy(); - } -} - -//Function Number: 10 removeweapons() { + maps\mp\zombies\_zombies_laststand::savelaststandweapons("",0); self.primarytorestore = common_scripts\utility::getlastweapon(); - foreach(var_01 in self.weaponlist) + var_00 = self getweaponslistall(); + foreach(var_02 in var_00) { - var_02 = maps\mp\_utility::getweaponnametokens(var_01); - if(var_02[0] == "alt") + var_03 = maps\mp\_utility::getweaponnametokens(var_02); + if(var_03[0] == "alt") { - self.restoreweaponclipammo[var_01] = self getweaponammoclip(var_01); - self.restoreweaponstockammo[var_01] = self setweaponammostock(var_01); + self.restoreweaponclipammo[var_02] = self getweaponammoclip(var_02); + self.restoreweaponstockammo[var_02] = self setweaponammostock(var_02); continue; } - self.restoreweaponclipammo[var_01] = self getweaponammoclip(var_01); - self.restoreweaponstockammo[var_01] = self setweaponammostock(var_01); + self.restoreweaponclipammo[var_02] = self getweaponammoclip(var_02); + self.restoreweaponstockammo[var_02] = self setweaponammostock(var_02); } self.weaponstorestore = []; - foreach(var_01 in self.weaponlist) + foreach(var_02 in var_00) { - var_02 = maps\mp\_utility::getweaponnametokens(var_01); - if(var_02[0] == "alt") + var_03 = maps\mp\_utility::getweaponnametokens(var_02); + if(var_03[0] == "alt") { continue; } - if(maps\mp\_utility::iskillstreakweapon(var_01)) + if(maps\mp\_utility::iskillstreakweapon(var_02)) { continue; } - self.weaponstorestore[self.weaponstorestore.size] = var_01; - self takeweapon(var_01); + self.weaponstorestore[self.weaponstorestore.size] = var_02; + self takeweapon(var_02); } } +//Function Number: 9 +restoreweapons() +{ + var_00 = self getweaponslistall(); + foreach(var_02 in var_00) + { + if(maps\mp\_utility::iskillstreakweapon(var_02) && !iskillstreakgoliathweapon(var_02)) + { + continue; + } + + self takeweapon(var_02); + } + + if(!isdefined(self.restoreweaponclipammo) || !isdefined(self.restoreweaponstockammo) || !isdefined(self.weaponstorestore)) + { + return; + } + + self setlethalweapon("none"); + self settacticalweapon("none"); + var_04 = []; + foreach(var_02 in self.weaponstorestore) + { + var_06 = maps\mp\_utility::getweaponnametokens(var_02); + if(var_06[0] == "alt") + { + var_04[var_04.size] = var_02; + continue; + } + + if(maps\mp\zombies\_util::iszombielethal(var_02)) + { + self setlethalweapon(var_02); + } + else if(maps\mp\zombies\_util::iszombietactical(var_02)) + { + self settacticalweapon(var_02); + } + + maps\mp\_utility::_giveweapon(var_02); + if(isdefined(self.restoreweaponclipammo[var_02])) + { + self setweaponammoclip(var_02,self.restoreweaponclipammo[var_02]); + } + + if(isdefined(self.restoreweaponstockammo[var_02])) + { + self setweaponammostock(var_02,self.restoreweaponstockammo[var_02]); + } + } + + foreach(var_09 in var_04) + { + if(isdefined(self.restoreweaponclipammo[var_09])) + { + self setweaponammoclip(var_09,self.restoreweaponclipammo[var_09]); + } + + if(isdefined(self.restoreweaponstockammo[var_09])) + { + self setweaponammostock(var_09,self.restoreweaponstockammo[var_09]); + } + } + + self.restoreweaponclipammo = undefined; + self.restoreweaponstockammo = undefined; +} + +//Function Number: 10 +iskillstreakgoliathweapon(param_00) +{ + return common_scripts\utility::array_contains(level.goliathsuitweapons,param_00); +} + //Function Number: 11 playersetupjuggernautexo(param_00,param_01) { var_02 = spawnstruct(); self.heavyexodata = var_02; var_02.streakplayer = self; - var_02.hascoopsentry = 1; + var_02.hascoopsentry = 0; var_02.modules = param_00; var_02.juggtype = param_01; - if(isdefined(param_00)) - { - var_02.hasradar = common_scripts\utility::array_contains(param_00,"heavy_exosuit_radar"); - var_02.hasmaniac = common_scripts\utility::array_contains(param_00,"heavy_exosuit_maniac"); - var_02.haslongpunch = common_scripts\utility::array_contains(param_00,"heavy_exosuit_punch"); - var_02.hastrophy = common_scripts\utility::array_contains(param_00,"heavy_exosuit_trophy"); - var_02.hasrockets = common_scripts\utility::array_contains(param_00,"heavy_exosuit_rockets"); - var_02.hasextraammo = common_scripts\utility::array_contains(param_00,"heavy_exosuit_ammo"); - } - else - { - var_02.hasradar = 1; - var_02.hasmaniac = 1; - var_02.haslongpunch = 0; - var_02.hastrophy = 1; - var_02.hasrockets = 1; - var_02.hasextraammo = 1; - } - + var_02.hasradar = 0; + var_02.hasmaniac = 0; + var_02.haslongpunch = 1; + var_02.hastrophy = 0; + var_02.hasrockets = 1; + var_02.hasextraammo = 0; var_03 = 0; if(var_02.hasrockets) { @@ -303,26 +332,16 @@ playersetupjuggernautexo(param_00,param_01) self setclientomnvar("ui_exo_suit_modules_on",var_03); maps\mp\_utility::playerallowpowerslide(0,"heavyexo"); - if(!var_02.hasmaniac) - { - maps\mp\_utility::playerallowdodge(0,"heavyexo"); - maps\mp\_utility::playerallowboostjump(0,"heavyexo"); - maps\mp\_utility::playerallowhighjump(0,"heavyexo"); - maps\mp\_utility::playerallowhighjumpdrop(0,"heavyexo"); - } - - common_scripts\utility::_disableusability(); + maps\mp\_utility::playerallowdodge(0,"heavyexo"); + maps\mp\_utility::playerallowboostjump(0,"heavyexo"); + maps\mp\_utility::playerallowhighjump(0,"heavyexo"); + maps\mp\_utility::playerallowhighjumpdrop(0,"heavyexo"); self allowjump(0); self allowcrouch(0); self allowladder(0); self allowmantle(0); self.inliveplayerkillstreak = 1; - self.mechhealth = 125; - if(isdefined(level.ishorde) && level.ishorde) - { - self.mechhealth = self.maxhealth; - } - + self.mechhealth = 600; self setdemigod(1); self setclientomnvar("ui_exo_suit_health",1); playersetjuggexomodel(var_02); @@ -333,27 +352,17 @@ playersetupjuggernautexo(param_00,param_01) thread playermech_invalid_weapon_watcher(); thread playerhandlebootupsequence(); thread play_goliath_death_fx(); - thread playermech_watch_emp_grenade(); - if(isdefined(level.ishorde) && level.ishorde) - { - thread playermechtimeout(); - } - + thread playermechtimeout(); if(var_02.hascoopsentry) { + var_04 = setupcoopturret(var_02,self); + if(level.teambased) + { + level thread handlecoopjoining(var_02,self); + } } - if(var_02.hasradar) - { - level thread setupradar(self,var_02); - } - - if(var_02.hasmaniac) - { - level thread setupmaniac(self); - set_mech_chaingun_state("offline"); - } - else + if(!var_02.hasmaniac) { thread playerhandlebarrel(); set_mech_chaingun_state("ready"); @@ -365,19 +374,6 @@ playersetupjuggernautexo(param_00,param_01) set_mech_rocket_state("ready"); thread playermech_monitor_rocket_recharge(); } - else - { - set_mech_rocket_state("offline"); - if(!var_02.hasmaniac) - { - self disableoffhandweapons(); - } - } - - if(var_02.hastrophy) - { - level thread setuptrophy(self,var_02); - } if(var_02.hasrockets) { @@ -385,23 +381,9 @@ playersetupjuggernautexo(param_00,param_01) set_mech_swarm_state("ready"); thread playermech_monitor_swarm_recharge(); } - else - { - self disableoffhandsecondaryweapons(); - set_mech_swarm_state("offline"); - } + level thread setupeject(var_02,self); level thread delaysetweapon(self); - if(isdefined(level.ishorde) && level.ishorde) - { - self endon("horde_cancel_goliath"); - } - - wait(5); - if(isdefined(self)) - { - thread self_destruct_goliath(); - } } //Function Number: 12 @@ -431,21 +413,14 @@ juggernautmodifydamage(param_00,param_01,param_02,param_03,param_04,param_05,par var_09 = 20; } - if(isdefined(param_01) && isdefined(param_00) && param_01 == param_00 && isdefined(param_04) && param_04 == "iw5_juggernautrockets_mp" || param_04 == "playermech_rocket_mp") + if(isdefined(param_01) && isdefined(param_00) && param_01 == param_00 && isdefined(param_04) && param_04 == "iw5_juggernautrocketszm_mp" || param_04 == "playermech_rocket_zm_mp") { var_09 = 0; } if(isdefined(param_00.goliathbootupsequence) && param_00.goliathbootupsequence) { - if(isdefined(level.ishorde) && level.ishorde && param_03 == "MOD_TRIGGER_HURT" && param_00 maps\mp\_utility::touchingbadtrigger()) - { - var_09 = 10000; - } - else - { - var_09 = 0; - } + var_09 = 0; } if(isdefined(param_01) && !maps\mp\gametypes\_weapons::friendlyfirecheck(param_00,param_01)) @@ -453,6 +428,11 @@ juggernautmodifydamage(param_00,param_01,param_02,param_03,param_04,param_05,par var_09 = 0; } + if(isdefined(param_01) && isdefined(param_01.agent_type) && param_01.agent_type == "zombie_boss_oz_stage2" && param_03 == "MOD_IMPACT") + { + var_09 = var_09 * 2; + } + if(var_09 > 0) { if(maps\mp\_utility::attackerishittingteam(param_00,param_01)) @@ -467,31 +447,11 @@ juggernautmodifydamage(param_00,param_01,param_02,param_03,param_04,param_05,par } } - if(isdefined(param_07) && param_07 == "head") - { - var_09 = var_09 * 4; - } - - if(isdefined(param_04) && param_04 == "killstreak_goliathsd_mp" && isdefined(param_01) && isdefined(param_00) && param_01 == param_00) - { - var_09 = param_00.mechhealth + 1; - } - - if(isdefined(param_04) && param_04 == "nuke_mp" && isdefined(param_01) && isdefined(param_00) && param_01 != param_00) - { - var_09 = param_00.mechhealth + 1; - } - + var_0A = param_00.mechhealth / 600; param_00.mechhealth = param_00.mechhealth - var_09; - if(isdefined(level.ishorde) && level.ishorde) - { - param_00 setclientomnvar("ui_exo_suit_health",param_00.mechhealth / param_00.maxhealth); - } - else - { - param_00 setclientomnvar("ui_exo_suit_health",param_00.mechhealth / 125); - } - + var_0B = param_00.mechhealth / 600; + param_00 setclientomnvar("ui_exo_suit_health",var_0B); + level thread dogoliathintegrityvo(var_0A,var_0B,self); if(isdefined(param_01) && isplayer(param_01)) { if(isdefined(param_07) && param_07 == "head") @@ -511,11 +471,9 @@ juggernautmodifydamage(param_00,param_01,param_02,param_03,param_04,param_05,par if(param_00.mechhealth < 0) { - if(isdefined(level.ishorde) && level.ishorde) + if(!isdefined(param_00.underwatermotiontype)) { - maps\mp\_snd_common_mp::snd_message("goliath_self_destruct"); - playfx(common_scripts\utility::getfx("goliath_self_destruct"),self.origin,anglestoup(self.angles)); - self thread [[ level.hordehandlejuggdeath ]](); + param_00 thread playereject(); } else { @@ -524,143 +482,130 @@ juggernautmodifydamage(param_00,param_01,param_02,param_03,param_04,param_05,par } } - return int(var_09); + return 0; } //Function Number: 14 -playerkillheavyexo(param_00,param_01,param_02,param_03,param_04) +dogoliathintegrityvo(param_00,param_01,param_02) { - self notify("killHeavyExo"); - self allowjump(1); - self allowcrouch(1); - self allowladder(1); - self allowmantle(1); - self setdemigod(0); - self.isjuggernaut = 0; - var_05 = 1001; - if(!isdefined(param_00)) + if(param_00 > 0.75 && param_01 <= 0.75) { - param_00 = self.origin; + level thread announcerglobalplaysuitvo("gol_armor1",undefined,param_02); + return; } - var_06 = 0; - if(isdefined(param_03) && isdefined(param_01) && isdefined(param_02) && isdefined(param_04)) + if(param_00 > 0.5 && param_01 <= 0.5) { - var_06 = self dodamage(var_05,param_00,param_01,param_04,param_02,param_03); + level thread announcerglobalplaysuitvo("gol_armor2",undefined,param_02); + return; } - else if(isdefined(param_03) && isdefined(param_01) && isdefined(param_02)) + + if(param_00 > 0.25 && param_01 <= 0.25) { - var_06 = self dodamage(var_05,param_00,param_01,undefined,param_02,param_03); + level thread announcerglobalplaysuitvo("gol_armor3",undefined,param_02); + return; } - else if(isdefined(param_01) && isdefined(param_02)) + + if(param_00 > 0.08 && param_01 <= 0.08) { - var_06 = self dodamage(var_05,param_00,param_01,undefined,param_02); - } - else if(isdefined(param_01)) - { - var_06 = self dodamage(var_05,param_00,param_01,undefined); - } - else - { - var_06 = self dodamage(var_05,param_00); + level thread announcerglobalplaysuitvo("gol_armor4",undefined,param_02); + return; } } //Function Number: 15 +playerkillheavyexo(param_00,param_01,param_02,param_03,param_04) +{ + if(maps\mp\_utility::isjuggernaut()) + { + playerreset(); + } + + var_05 = "ui_zm_character_" + self.characterindex + "_alive"; + setomnvar(var_05,0); + maps\mp\_utility::_suicide(); + if(level.players.size < 2) + { + maps\mp\zombies\_zombies_laststand::zombieendgame(undefined,"MOD_SUICIDE"); + } + + level notify("player_left_goliath_suit"); +} + +//Function Number: 16 delaysetweapon(param_00) { param_00 endon("death"); param_00 endon("disconnect"); - if(isdefined(level.ishorde) && level.ishorde) - { - param_00 endon("becameSpectator"); - } - - var_01 = maps\mp\_utility::getkillstreakweapon("heavy_exosuit"); - param_00 maps\mp\killstreaks\_killstreaks::takekillstreakweaponifnodupe(var_01); - param_00 giveweapon("iw5_exominigun_mp"); - param_00 switchtoweapon("iw5_exominigun_mp"); - param_00 notify("waitTakeKillstreakWeapon"); + param_00 giveweapon("iw5_exominigunzm_mp"); + param_00 switchtoweapon("iw5_exominigunzm_mp"); wait 0.05; param_00 setplayermech(1); - param_00 disableweaponswitch(); -} - -//Function Number: 16 -playercleanupondeath(param_00) -{ - self endon("disconnect"); - self waittill("death",var_01,var_02,var_03); - if(isdefined(var_01) && isplayer(var_01) && var_01 != self && var_01.team != self.team) + param_00 common_scripts\utility::_disableweaponswitch(); + if(param_00 hasweapon("iw5_combatknifegoliath_mp")) { - var_01 maps\mp\_utility::incplayerstat("goliath_destroyed",1); - level thread maps\mp\gametypes\_rank::awardgameevent("goliath_destroyed",var_01,var_03,self,var_02); + param_00 takeweapon("iw5_combatknifegoliath_mp"); } - - if(!isdefined(level.ishorde)) - { - maps\mp\_events::checkvandalismmedal(var_01); - } - - self.inliveplayerkillstreak = undefined; - self.mechhealth = undefined; - playerreset(param_00); } //Function Number: 17 +playercleanupondeath(param_00) +{ + self endon("disconnect"); + self endon("ejectedFromJuggernaut"); + self waittill("death",var_01,var_02,var_03); + if(maps\mp\_utility::isjuggernaut()) + { + thread playerreset(); + } +} + +//Function Number: 18 playercleanuponother() { self endon("death"); self endon("disconnect"); - self endon("joined_team"); - self endon("faux_spawn"); - if(isdefined(level.ishorde) && level.ishorde) - { - self endon("becameSpectator"); - } - + self endon("ejectedFromJuggernaut"); level common_scripts\utility::waittill_any("game_ended"); playerresetomnvars(); } -//Function Number: 18 -playerreset(param_00) +//Function Number: 19 +playerreset() { self notify("lost_juggernaut"); self notify("exit_mech"); - playerresetomnvars(); - maps\mp\_utility::playerallowdodge(1,"heavyexo"); + self.heavyexodata = undefined; + self.isjuggernaut = 0; + self unsetperk("specialty_radarjuggernaut",1); + self.movespeedscaler = 1; + maps\mp\gametypes\_weapons::updatemovespeedscale(); maps\mp\_utility::playerallowpowerslide(1,"heavyexo"); + maps\mp\_utility::playerallowdodge(1,"heavyexo"); maps\mp\_utility::playerallowboostjump(1,"heavyexo"); maps\mp\_utility::playerallowhighjump(1,"heavyexo"); - self enableoffhandsecondaryweapons(); - self enableoffhandweapons(); - self enableweaponswitch(); + maps\mp\_utility::playerallowhighjumpdrop(1,"heavyexo"); + self allowjump(1); + self allowcrouch(1); + self allowladder(1); + self allowmantle(1); + self.inliveplayerkillstreak = undefined; + self.mechhealth = undefined; + self setdemigod(0); + playerresetomnvars(); self setplayermech(0); + common_scripts\utility::_enableweaponswitch(); + self enableoffhandweapons(); + self enableoffhandsecondaryweapons(); self.restoreweaponclipammo = undefined; self.restoreweaponstockammo = undefined; - self.juggernautweak = undefined; - self.heavyexodata = undefined; if(isdefined(self.juggernautattachments)) { self.juggernautattachments = undefined; } - - if(isdefined(param_00)) - { - foreach(var_02 in param_00.hud) - { - if(isdefined(var_02)) - { - var_02.textoffline = undefined; - var_02.type = undefined; - var_02 destroy(); - } - } - } } -//Function Number: 19 +//Function Number: 20 playerresetomnvars() { self setclientomnvar("ui_exo_suit_enabled",0); @@ -673,36 +618,22 @@ playerresetomnvars() self setclientomnvar("ui_playermech_rocketrecharge",0); } -//Function Number: 20 +//Function Number: 21 playersetjuggexomodel(param_00) { self detachall(); self setmodel("npc_exo_armor_mp_base"); - self attach("head_hero_cormack_sentinel_halo"); + self attach(self.characterhead); self setviewmodel("vm_view_arms_mech_mp"); - if((isdefined(param_00) && !param_00.hasmaniac) || isdefined(level.ishorde)) - { - self attach("npc_exo_armor_minigun_handle","TAG_HANDLE"); - } - - if(isai(self)) - { - self.hideondeath = 1; - } - - self notify("goliath_equipped"); + self attach("npc_exo_armor_minigun_handle","TAG_HANDLE"); } -//Function Number: 21 +//Function Number: 22 playerhandlebarrel() { self endon("death"); self endon("disconnect"); - if(isdefined(level.ishorde) && level.ishorde) - { - self endon("becameSpectator"); - } - + self endon("ejectedFromJuggernaut"); thread playercleanupbarrel(); self notifyonplayercommand("goliathAttack","+attack"); self notifyonplayercommand("goliathAttackDone","-attack"); @@ -712,11 +643,6 @@ playerhandlebarrel() self.barrel = spawn("script_model",self.barrellinker gettagorigin("j_prop_1")); self.barrel setmodel("npc_exo_armor_minigun_barrel"); self.barrel vehicle_jetbikesethoverforcescale(self.barrellinker,"j_prop_1",(0,0,0),(-90,0,0)); - if(isdefined(level.ishorde) && level.ishorde && isplayer(self)) - { - self.barrel hudoutlineenable(5,1); - } - self.barrellinker scriptmodelplayanimdeltamotion("mp_generic_prop_spin_02"); self.barrellinker scriptmodelpauseanim(1); for(;;) @@ -728,47 +654,40 @@ playerhandlebarrel() } } -//Function Number: 22 +//Function Number: 23 playercleanupbarrel() { - if(isdefined(level.ishorde) && level.ishorde) + common_scripts\utility::waittill_any("death","disconnect","ejectedFromJuggernaut"); + if(isdefined(self)) { - common_scripts\utility::waittill_any("death","disconnect","becameSpectator"); - } - else - { - common_scripts\utility::waittill_any("death","disconnect"); - } + if(isdefined(self.barrel)) + { + self.barrel delete(); + } - if(isdefined(level.ishorde) && level.ishorde) - { - self.barrel hudoutlinedisable(); + if(isdefined(self.barrellinker)) + { + self.barrellinker delete(); + } } - - self.barrel delete(); - self.barrellinker delete(); } -//Function Number: 23 +//Function Number: 24 playerrocketsandswarmwatcher() { self endon("death"); self endon("disconnect"); - if(isdefined(level.ishorde) && level.ishorde) - { - self endon("becameSpectator"); - } - + self endon("ejectedFromJuggernaut"); for(;;) { self waittill("grenade_pullback",var_00); - if(var_00 == "playermech_rocket_mp") + if(var_00 == "playermech_rocket_zm_mp") { self notify("mech_rocket_pullback"); self waittill("grenade_fire",var_01,var_00); self notify("mech_rocket_fire",var_01); } - else if(var_00 == "playermech_rocket_swarm_mp" || var_00 == "playermech_rocket_swarm_maniac_mp") + else if(var_00 == "playermech_rocket_swarm_zm_mp") { self notify("mech_swarm_pullback"); self waittill("grenade_fire",var_01,var_00); @@ -780,11 +699,11 @@ playerrocketsandswarmwatcher() } } -//Function Number: 24 +//Function Number: 25 setupcoopturret(param_00,param_01) { var_02 = param_01 gettagorigin("tag_turret"); - var_03 = spawnattachment("juggernaut_sentry_mg_mp","npc_heavy_exo_armor_turret_base",var_02,200,param_01,&"KILLSTREAKS_HEAVY_EXO_SENTRY_LOST"); + var_03 = spawnattachment("juggernaut_sentry_mg_zm_mp","npc_heavy_exo_armor_turret_base",var_02,200,param_01,&"KILLSTREAKS_HEAVY_EXO_SENTRY_LOST"); var_03 setmode("sentry_offline"); var_03 setsentryowner(param_01); var_03 setleftarc(180); @@ -822,7 +741,7 @@ setupcoopturret(param_00,param_01) return var_03; } -//Function Number: 25 +//Function Number: 26 stopturret(param_00,param_01,param_02) { param_01 waittill("death"); @@ -846,11 +765,11 @@ stopturret(param_00,param_01,param_02) } } -//Function Number: 26 +//Function Number: 27 handlecoopshooting(param_00,param_01,param_02) { param_01 endon("death"); - var_03 = weaponfiretime("juggernaut_sentry_mg_mp"); + var_03 = weaponfiretime("juggernaut_sentry_mg_zm_mp"); for(;;) { if(!isdefined(param_01.remotecontrolled) || !param_01.remotecontrolled) @@ -870,14 +789,14 @@ handlecoopshooting(param_00,param_01,param_02) } } -//Function Number: 27 +//Function Number: 28 turretshoot() { self shootturret(); turretshootblank(self.baseowner); } -//Function Number: 28 +//Function Number: 29 turretshootblank(param_00) { var_01 = self gettagorigin("tag_flash"); @@ -891,10 +810,10 @@ turretshootblank(param_00) self.nexttracer = 5; } - shootblank(var_01,var_03,"juggernaut_sentry_mg_mp",var_04,param_00); + shootblank(var_01,var_03,"juggernaut_sentry_mg_zm_mp",var_04,param_00); } -//Function Number: 29 +//Function Number: 30 doturretdeatheffects(param_00) { param_00 playsound("sentry_explode"); @@ -917,7 +836,7 @@ doturretdeatheffects(param_00) } } -//Function Number: 30 +//Function Number: 31 handleturretonplayerdone(param_00,param_01,param_02) { thread attachmentdeath(param_00,param_01,param_02); @@ -930,136 +849,22 @@ handleturretonplayerdone(param_00,param_01,param_02) param_01 delete(); } -//Function Number: 31 -setupradar(param_00,param_01) -{ - var_02 = param_00 gettagorigin("tag_recon_back"); - var_03 = spawnattachment("radar","npc_heavy_exo_armor_recon_back_base",var_02,undefined,param_00); - var_03 linkto(param_00,"tag_recon_back",(0,0,0),(0,0,0)); - param_00 thread playerhandleradarping(param_01,var_03); - waittillattachmentdone(param_00); - wait 0.05; - var_03 delete(); -} - //Function Number: 32 -playerhandleradarping(param_00,param_01) -{ - param_01 endon("death"); - self endon("death"); - self endon("disconnect"); - self endon("faux_spawn"); - self endon("joined_team"); - if(isdefined(level.ishorde) && level.ishorde) - { - self endon("becameSpectator"); - } - - if(!isbot(self)) - { - self notifyonplayercommand("juggernautPing","weapnext"); - } - - playfxontag(common_scripts\utility::getfx("exo_ping_inactive"),self,"J_SpineUpper"); - for(;;) - { - self waittill("juggernautPing"); - activate_exo_ping(); - self setclientomnvar("ui_exo_suit_recon_cd",1); - wait(10); - deactivate_exo_ping(); - waitattachmentcooldown(5,"ui_exo_suit_recon_cd"); - } -} - -//Function Number: 33 -activate_exo_ping() -{ - thread stop_exo_ping(); - self setperk("specialty_exo_ping",1,0); - self playlocalsound("mp_exo_cloak_activate"); - self.highlight_effect = maps\mp\_threatdetection::detection_highlight_hud_effect_on(self,-1); - killfxontag(common_scripts\utility::getfx("exo_ping_inactive"),self,"J_SpineUpper"); - playfxontag(common_scripts\utility::getfx("exo_ping_active"),self,"J_SpineUpper"); -} - -//Function Number: 34 -deactivate_exo_ping() -{ - self unsetperk("specialty_exo_ping",1); - self playlocalsound("mp_exo_cloak_deactivate"); - if(isdefined(self.highlight_effect)) - { - maps\mp\_threatdetection::detection_highlight_hud_effect_off(self.highlight_effect); - } - - killfxontag(common_scripts\utility::getfx("exo_ping_active"),self,"J_SpineUpper"); - playfxontag(common_scripts\utility::getfx("exo_ping_inactive"),self,"J_SpineUpper"); -} - -//Function Number: 35 -stop_exo_ping() -{ - self endon("disconnect"); - if(isdefined(level.ishorde) && level.ishorde) - { - common_scripts\utility::waittill_any("death","faux_spawn","joined_team","becameSpectator"); - } - else - { - common_scripts\utility::waittill_any("death","faux_spawn","joined_team"); - } - - self unsetperk("specialty_exo_ping",1); - if(isdefined(self.highlight_effect)) - { - maps\mp\_threatdetection::detection_highlight_hud_effect_off(self.highlight_effect); - } - - killfxontag(common_scripts\utility::getfx("exo_ping_active"),self,"J_SpineUpper"); -} - -//Function Number: 36 -setupmaniac(param_00) -{ - var_01 = param_00 gettagorigin("tag_maniac_l"); - var_02 = spawnattachment("speedAttachment","npc_heavy_exo_armor_maniac_l_base",var_01,undefined,param_00); - var_02 linkto(param_00,"tag_maniac_l",(0,0,0),(0,0,0)); - var_01 = param_00 gettagorigin("tag_maniac_r"); - var_03 = spawnattachment("speedAttachment","npc_heavy_exo_armor_maniac_r_base",var_01,undefined,param_00); - var_03 linkto(param_00,"tag_maniac_r",(0,0,0),(0,0,0)); - var_04 = param_00 gettagorigin("tag_jetpack"); - var_05 = spawnattachment("speedAttachment","npc_heavy_exo_armor_jetpack_base",var_04,undefined,param_00); - var_05 linkto(param_00,"tag_jetpack",(0,0,0),(0,0,0)); - waittillattachmentdone(param_00); - attachmentexplode(var_02,param_00,"maniac",var_03); - attachmentexplode(var_05,param_00,"maniac"); - wait 0.05; - var_02 delete(); - var_03 delete(); - var_05 delete(); -} - -//Function Number: 37 setuplongpunch(param_00,param_01) { - param_00 setlethalweapon("playermech_rocket_mp"); - param_00 giveweapon("playermech_rocket_mp"); + param_00 setlethalweapon("playermech_rocket_zm_mp"); + param_00 giveweapon("playermech_rocket_zm_mp"); var_02 = "tag_origin"; param_00 thread playerwatchnoobtubeuse(param_01); waittillattachmentdone(param_00); } -//Function Number: 38 +//Function Number: 33 playerwatchnoobtubeuse(param_00) { self endon("death"); self endon("disconnect"); - if(isdefined(level.ishorde) && level.ishorde) - { - self endon("becameSpectator"); - } - + self endon("ejectedFromJuggernaut"); for(;;) { self waittill("mech_rocket_fire",var_01); @@ -1068,28 +873,35 @@ playerwatchnoobtubeuse(param_00) } } -//Function Number: 39 +//Function Number: 34 reloadrocket(param_00,param_01) { param_00 endon("death"); param_00 endon("disconnect"); - if(isdefined(level.ishorde) && level.ishorde) + self endon("ejectedFromJuggernaut"); + waitattachmentcooldown(param_00 playergetrocketreloadtime(),"ui_exo_suit_punch_cd"); +} + +//Function Number: 35 +playergetrocketreloadtime() +{ + if(maps\mp\_utility::gameflag("unlimited_ammo")) { - param_00 endon("becameSpectator"); + return 0.1; } - waitattachmentcooldown(10,"ui_exo_suit_punch_cd"); + if(maps\mp\_utility::_hasperk("specialty_fastreload")) + { + return 5; + } + + return 10; } -//Function Number: 40 -playrocketreloadsound(param_00) -{ - self playlocalsound("orbitalsupport_reload_40mm"); -} - -//Function Number: 41 +//Function Number: 36 waitattachmentcooldown(param_00,param_01) { + self endon("disconnect"); var_02 = 0; for(;;) { @@ -1105,95 +917,10 @@ waitattachmentcooldown(param_00,param_01) } } -//Function Number: 42 -setuptrophy(param_00,param_01) -{ - var_02 = param_00 gettagorigin("j_spine4"); - var_03 = spawnattachment("trophy","npc_heavy_exo_armor_trophy_l_base",var_02,undefined,param_00); - var_03.stunned = 0; - var_03.ammo = 1; - var_03 linkto(param_00,"tag_trophy_l",(0,0,0),(0,0,0)); - var_03.weaponname = "heavy_exo_trophy_mp"; - var_03 thread maps\mp\gametypes\_equipment::trophyactive(param_00,undefined,1,var_03.weaponname); - var_03 thread maps\mp\gametypes\_equipment::trophyaddlaser(12,(90,90,270)); - var_03 thread maps\mp\gametypes\_equipment::trophysetmindot(-0.087,(90,90,270)); - level.trophies[level.trophies.size] = var_03; - var_04 = spawnattachment("trophy","npc_heavy_exo_armor_trophy_r_base",var_02,undefined,param_00); - var_04.stunned = 0; - var_04.ammo = 1; - var_04 linkto(param_00,"tag_trophy_r",(0,0,0),(0,0,0)); - var_04.weaponname = "heavy_exo_trophy_mp"; - var_04 thread maps\mp\gametypes\_equipment::trophyactive(param_00,undefined,1,var_04.weaponname); - var_04 thread maps\mp\gametypes\_equipment::trophyaddlaser(6,(260,90,270)); - var_04 thread maps\mp\gametypes\_equipment::trophysetmindot(-0.087,(260,90,270)); - level.trophies[level.trophies.size] = var_04; - var_03.othertrophy = var_04; - var_04.othertrophy = var_03; - waittillattachmentdone(param_00); - var_03 notify("trophyDisabled"); - var_04 notify("trophyDisabled"); - wait 0.05; - if(isdefined(var_03.laserent)) - { - var_03.laserent delete(); - } - - if(isdefined(var_04.laserent)) - { - var_04.laserent delete(); - } - - var_03 delete(); - var_04 delete(); -} - -//Function Number: 43 -trophystunbegin() -{ - if(self.stunned) - { - return; - } - - self.stunned = 1; - self.othertrophy.stunned = 1; - var_00 = spawn("script_model",self.origin); - var_00 setmodel("tag_origin"); - playfxontag(common_scripts\utility::getfx("mine_stunned"),var_00,"tag_origin"); - thread trophymovestunent(var_00); - common_scripts\utility::waittill_notify_or_timeout("death",3); - self notify("stunEnd"); - stopfxontag(common_scripts\utility::getfx("mine_stunned"),var_00,"tag_origin"); - wait 0.05; - var_00 delete(); - if(isdefined(self)) - { - self.stunned = 0; - self.othertrophy.stunned = 0; - } -} - -//Function Number: 44 -trophymovestunent(param_00) -{ - self endon("death"); - self endon("stunEnd"); - for(;;) - { - param_00.origin = self.origin; - wait 0.05; - } -} - -//Function Number: 45 +//Function Number: 37 setuprocketswarm(param_00,param_01) { - var_02 = "playermech_rocket_swarm_mp"; - if(param_01.hasmaniac) - { - var_02 = "playermech_rocket_swarm_maniac_mp"; - } - + var_02 = "playermech_rocket_swarm_zm_mp"; param_00 settacticalweapon(var_02); param_00 giveweapon(var_02); var_03 = "tag_origin"; @@ -1201,6 +928,7 @@ setuprocketswarm(param_00,param_01) var_05 = spawnattachment("rocketAttachment","npc_heavy_exo_armor_missile_pack_base",var_04,undefined,param_00); var_05.lockedtarget = 0; var_05.reloading = 0; + var_05.enemytargets = []; var_05.rockets = []; var_05.icons = []; var_05 linkto(param_00,var_03,(0,0,0),(0,0,0)); @@ -1210,20 +938,20 @@ setuprocketswarm(param_00,param_01) param_00 thread playerwatchrocketuse(var_05,param_01); waittillattachmentdone(param_00,var_05); wait 0.05; - var_05 delete(); + if(isdefined(var_05)) + { + var_05 delete(); + } + param_00.rocketattachment = undefined; } -//Function Number: 46 +//Function Number: 38 scanforrocketenemies(param_00,param_01) { param_01 endon("death"); param_01 endon("disconnect"); - if(isdefined(level.ishorde) && level.ishorde) - { - param_01 endon("becameSpectator"); - } - + param_01 endon("ejectedFromJuggernaut"); for(;;) { wait 0.05; @@ -1232,97 +960,109 @@ scanforrocketenemies(param_00,param_01) continue; } - var_02 = getbestenemy(param_01,4); - if(isdefined(var_02)) - { - if(!isdefined(param_00.enemytarget) || param_00.enemytarget != var_02) - { - thread markplayerasrockettarget(param_00,param_01,var_02); - } - - continue; - } - - if(isdefined(param_00.enemytarget)) - { - param_00 notify("unmark"); - param_00.enemytarget = undefined; - } + param_00.enemytargets = getbestenemies(param_01,5); } } -//Function Number: 47 +//Function Number: 39 playerisrocketswarmreloading() { return isdefined(self.rocketattachment) && isdefined(self.rocketattachment.reloading) && self.rocketattachment.reloading; } -//Function Number: 48 +//Function Number: 40 playerisrocketswarmtargetlocked() { - return isdefined(self.rocketattachment) && isdefined(self.rocketattachment.enemytarget); + return isdefined(self.rocketattachment) && isdefined(self.rocketattachment.enemytargets) && self.rocketattachment.enemytargets.size > 0; } -//Function Number: 49 -getbestenemy(param_00,param_01) +//Function Number: 41 +getbestenemies(param_00,param_01) { var_02 = 0.8433914; var_03 = anglestoforward(param_00 getplayerangles()); var_04 = param_00 geteye(); var_05 = undefined; var_06 = []; - foreach(var_08 in level.participants) + var_07 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + if(isdefined(level.bossozstage1) && isdefined(level.bossozstage1.damagecallback)) { - if(var_08.team == param_00.team) + var_07[var_07.size] = level.bossozstage1; + } + + foreach(var_09 in var_07) + { + if(issentient(var_09) && isalliedsentient(var_09,param_00)) { continue; } - if(!maps\mp\_utility::isreallyalive(var_08)) + if(!maps\mp\_utility::isreallyalive(var_09)) { continue; } - var_09 = var_08 geteye(); - var_0A = vectornormalize(var_09 - var_04); - var_0B = vectordot(var_03,var_0A); - if(var_0B > var_02) + if(issentient(var_09)) { - var_06[var_06.size] = var_08; - var_08.dot = var_0B; - var_08.checked = 0; + var_0A = var_09 geteye(); + } + else + { + var_0A = var_09.origin + (0,0,55); + } + + var_0B = vectornormalize(var_0A - var_04); + var_0C = vectordot(var_03,var_0B); + if(var_0C > var_02) + { + var_06[var_06.size] = var_09; + var_09.dot = var_0C; + var_09.checked = 0; } } if(var_06.size == 0) { - return; + return []; } - for(var_0D = 0;var_0D < param_01 && var_0D < var_06.size;var_0D++) + var_0E = []; + for(var_0F = 0;var_0F < param_01 && var_0F < var_06.size;var_0F++) { - var_0E = gethighestdot(var_06); - var_0E.checked = 1; - var_0F = var_04; - var_10 = var_0E geteye(); - var_11 = sighttracepassed(var_0F,var_10,1,param_00,var_0E); - if(var_11) + var_10 = gethighestdot(var_06); + if(!isdefined(var_10)) { - var_05 = var_0E; - break; + return; + } + + var_10.checked = 1; + var_11 = var_04; + if(issentient(var_10)) + { + var_12 = var_10 geteye(); + } + else + { + var_12 = var_10.origin + (0,0,55); + } + + var_13 = sighttracepassed(var_11,var_12,1,param_00,var_10); + if(var_13) + { + var_0E[var_0E.size] = var_10; } } - foreach(var_08 in level.participants) + foreach(var_09 in var_07) { - var_08.dot = undefined; - var_08.checked = undefined; + var_09.dot = undefined; + var_09.checked = undefined; } - return var_05; + return var_0E; } -//Function Number: 50 +//Function Number: 42 gethighestdot(param_00) { if(param_00.size == 0) @@ -1344,7 +1084,7 @@ gethighestdot(param_00) return var_01; } -//Function Number: 51 +//Function Number: 43 playerwatchrocketuse(param_00,param_01) { param_00 endon("death"); @@ -1363,7 +1103,7 @@ playerwatchrocketuse(param_00,param_01) } } -//Function Number: 52 +//Function Number: 44 handlelockedtarget(param_00,param_01) { param_00 endon("death"); @@ -1373,29 +1113,37 @@ handlelockedtarget(param_00,param_01) if(isdefined(param_00)) { param_00.lockedtarget = 0; - param_00.enemytarget = undefined; + param_00.enemytargets = []; } } -//Function Number: 53 +//Function Number: 45 firerocketswarm(param_00,param_01,param_02) { var_03 = anglestoforward(param_01 getplayerangles()); var_04 = anglestoright(param_01 getplayerangles()); var_05 = [(0,0,50),(0,0,20),(10,0,0),(0,10,0)]; playfxontag(common_scripts\utility::getfx("swarm_rocket_wv"),param_01,"TAG_ROCKET4"); - for(var_06 = 0;var_06 < 4;var_06++) + var_06 = 0; + var_07 = undefined; + for(var_08 = 0;var_08 < 4;var_08++) { - var_07 = param_02 + var_03 * 20 + var_04 * -30; - var_08 = var_03 + random_vector(0.2); - var_09 = magicbullet("iw5_juggernautrockets_mp",var_07,var_07 + var_08,param_01); - param_00.rockets = common_scripts\utility::array_add(param_00.rockets,var_09); - var_09 thread rockettargetent(param_00,param_00.enemytarget,var_05[var_06]); - var_09 thread rocketdestroyaftertime(7); + var_09 = param_02 + var_03 * 20 + var_04 * -30; + var_0A = var_03 + random_vector(0.2); + var_0B = magicbullet("iw5_juggernautrocketszm_mp",var_09,var_09 + var_0A,param_01); + param_00.rockets = common_scripts\utility::array_add(param_00.rockets,var_0B); + if(var_06 < param_00.enemytargets.size) + { + var_07 = param_00.enemytargets[var_06]; + var_06++; + } + + var_0B thread rockettargetent(param_00,var_07,var_05[var_08]); + var_0B thread rocketdestroyaftertime(7); } } -//Function Number: 54 +//Function Number: 46 rockettargetent(param_00,param_01,param_02) { param_00 endon("death"); @@ -1408,7 +1156,7 @@ rockettargetent(param_00,param_01,param_02) param_00.rockets = common_scripts\utility::array_remove(param_00.rockets,self); } -//Function Number: 55 +//Function Number: 47 rocketdestroyaftertime(param_00) { self endon("death"); @@ -1416,111 +1164,32 @@ rocketdestroyaftertime(param_00) self delete(); } -//Function Number: 56 +//Function Number: 48 reloadrocketswarm(param_00,param_01,param_02) { param_00 endon("death"); param_00.reloading = 1; - waitattachmentcooldown(10,"ui_exo_suit_rockets_cd"); + waitattachmentcooldown(param_01 playergetswarmreloadtime(),"ui_exo_suit_rockets_cd"); param_00.reloading = 0; } -//Function Number: 57 -playrocketswarmreloadsound(param_00,param_01,param_02) +//Function Number: 49 +playergetswarmreloadtime() { - param_00 endon("death"); - var_03 = 3; - self playlocalsound("warbird_missile_reload_bed"); - wait(0.5); - for(var_04 = 0;var_04 < var_03;var_04++) + if(maps\mp\_utility::gameflag("unlimited_ammo")) { - self playlocalsound("warbird_missile_reload"); - wait(param_02 / var_03); + return 0.1; } + + if(maps\mp\_utility::_hasperk("specialty_fastreload")) + { + return 5; + } + + return 10; } -//Function Number: 58 -markplayerasrockettarget(param_00,param_01,param_02) -{ - param_02 endon("disconnect"); - param_00 notify("mark"); - param_00 endon("mark"); - param_00 endon("unmark"); - var_03 = (0,0,60); - var_04 = param_02 getentitynumber(); - param_00.enemytarget = param_02; - if(isdefined(level.ishorde) && level.ishorde) - { - param_02 hudoutlineenableforclient(param_01,1,0); - param_01.markedformech[param_01.markedformech.size] = param_02; - } - else - { - param_02 hudoutlineenableforclient(param_01,4,0); - } - - thread cleanuprockettargeticon(param_00,param_02,param_01); - param_00 waittill("lockedTarget"); - param_02 hudoutlineenableforclient(param_01,0,0); - waittillrocketsexploded(param_00); - if(isdefined(level.ishorde) && level.ishorde) - { - if(level.currentaliveenemycount < 3) - { - if(level.objdefend && distancesquared(param_01.origin,level.currentdefendloc.origin) > 640000) - { - param_02 hudoutlineenableforclient(param_01,level.enemyoutlinecolor,0); - } - - param_01.markedformech = common_scripts\utility::array_remove(param_01.markedformech,param_02); - return; - } - - param_02 hudoutlinedisableforclient(param_01); - param_01.markedformech = common_scripts\utility::array_remove(param_01.markedformech,param_02); - return; - } - - param_02 hudoutlinedisableforclient(param_01); -} - -//Function Number: 59 -cleanuprockettargeticon(param_00,param_01,param_02) -{ - param_01 endon("disconnect"); - waittillunmarkplayerasrockettarget(param_00); - if(isdefined(level.ishorde) && level.ishorde && isdefined(param_02)) - { - if(level.currentaliveenemycount < 3) - { - if(level.objdefend && distancesquared(param_02.origin,level.currentdefendloc.origin) > 640000) - { - param_01 hudoutlineenableforclient(param_02,level.enemyoutlinecolor,0); - } - - param_02.markedformech = common_scripts\utility::array_remove(param_02.markedformech,param_01); - return; - } - - param_01 hudoutlinedisableforclient(param_02); - param_02.markedformech = common_scripts\utility::array_remove(param_02.markedformech,param_01); - return; - } - - if(isdefined(param_02)) - { - param_01 hudoutlinedisableforclient(param_02); - } -} - -//Function Number: 60 -waittillunmarkplayerasrockettarget(param_00) -{ - param_00.enemytarget endon("death"); - param_00 common_scripts\utility::waittill_any("death","mark","unmark"); -} - -//Function Number: 61 +//Function Number: 50 waittillrocketsexploded(param_00) { wait(0.1); @@ -1530,16 +1199,12 @@ waittillrocketsexploded(param_00) } } -//Function Number: 62 +//Function Number: 51 waittillattachmentdone(param_00,param_01,param_02) { param_00 endon("disconnect"); param_00 endon("death"); - if(isdefined(level.ishorde) && level.ishorde) - { - param_00 endon("becameSpectator"); - } - + param_00 endon("ejectedFromJuggernaut"); if(isdefined(param_01)) { param_01 endon("death"); @@ -1553,7 +1218,7 @@ waittillattachmentdone(param_00,param_01,param_02) param_00 waittill("forever"); } -//Function Number: 63 +//Function Number: 52 delayplayfx(param_00,param_01) { param_00 endon("death"); @@ -1562,7 +1227,7 @@ delayplayfx(param_00,param_01) playfxontag(param_01,param_00,"tag_origin"); } -//Function Number: 64 +//Function Number: 53 stopfxonattachment(param_00,param_01,param_02) { if(isdefined(param_00.effect)) @@ -1577,35 +1242,21 @@ stopfxonattachment(param_00,param_01,param_02) } } -//Function Number: 65 +//Function Number: 54 attachmentdeath(param_00,param_01,param_02,param_03) { param_02 endon("death"); param_02 endon("disconnect"); - if(isdefined(level.ishorde) && level.ishorde) - { - param_02 endon("becameSpectator"); - } - + param_02 endon("ejectedFromJuggernaut"); if(isdefined(param_03)) { param_03 endon("death"); } param_01 waittill("death",var_04,var_05,var_06); - if(isdefined(var_04) && isplayer(var_04)) - { - var_07 = level.juggsettings[param_00.juggtype].splashattachmentname; - if(issubstr(param_01.attachmenttype,"weakSpot")) - { - var_07 = level.juggsettings[param_00.juggtype].splashweakenedname; - } - - maps\mp\_utility::teamplayercardsplash(var_07,var_04); - } } -//Function Number: 66 +//Function Number: 55 attachmentexplode(param_00,param_01,param_02,param_03) { if(isdefined(param_01)) @@ -1629,7 +1280,7 @@ attachmentexplode(param_00,param_01,param_02,param_03) } } -//Function Number: 67 +//Function Number: 56 hidefromplayer(param_00) { self hide(); @@ -1642,7 +1293,7 @@ hidefromplayer(param_00) } } -//Function Number: 68 +//Function Number: 57 hidefromplayers(param_00) { self hide(); @@ -1655,7 +1306,7 @@ hidefromplayers(param_00) } } -//Function Number: 69 +//Function Number: 58 spawnattachment(param_00,param_01,param_02,param_03,param_04,param_05) { var_06 = undefined; @@ -1693,7 +1344,7 @@ spawnattachment(param_00,param_01,param_02,param_03,param_04,param_05) return var_06; } -//Function Number: 70 +//Function Number: 59 spawnattachmenteffect(param_00,param_01,param_02) { if(!isdefined(param_02)) @@ -1708,7 +1359,7 @@ spawnattachmenteffect(param_00,param_01,param_02) return var_03; } -//Function Number: 71 +//Function Number: 60 handleattachmentdeath(param_00,param_01,param_02) { if(param_00 == "weakSpotHead") @@ -1726,7 +1377,7 @@ handleattachmentdeath(param_00,param_01,param_02) level thread maps\mp\gametypes\_rank::awardgameevent("heavy_exo_attachment",var_03,undefined,undefined,undefined,param_02); } -//Function Number: 72 +//Function Number: 61 handleattachmentdamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B) { if(!isdefined(self.lasttimedamaged)) @@ -1779,29 +1430,40 @@ handleattachmentdamage(param_00,param_01,param_02,param_03,param_04,param_05,par case "ac130_105mm_mp": case "stinger_mp": case "remotemissile_projectile_mp": + self.largeprojectiledamage = 1; + var_0C = self.maxhealth + 1; break; case "stealth_bomb_mp": case "artillery_mp": + self.largeprojectiledamage = 0; + var_0C = var_0C + param_02 * 4; break; case "emp_grenade_killstreak_mp": case "emp_grenade_var_mp": case "emp_grenade_mp": case "bomb_site_mp": + self.largeprojectiledamage = 0; + var_0C = self.maxhealth + 1; break; } + + maps\mp\killstreaks\_killstreaks::killstreakhit(param_01,param_05,self); } } + + self.lasttimedamaged = gettime(); + self finishentitydamage(param_00,param_01,var_0C,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B); } -//Function Number: 73 +//Function Number: 62 random_vector(param_00) { return (randomfloat(param_00) - param_00 * 0.5,randomfloat(param_00) - param_00 * 0.5,randomfloat(param_00) - param_00 * 0.5); } -//Function Number: 74 +//Function Number: 63 handlecoopjoining(param_00,param_01) { for(;;) @@ -1823,31 +1485,23 @@ handlecoopjoining(param_00,param_01) } } -//Function Number: 75 +//Function Number: 64 waittillpromptcomplete(param_00,param_01,param_02,param_03) { param_00 endon("death"); param_00 endon("disconnect"); + param_00 endon("ejectedFromJuggernaut"); param_00 endon("turretDead"); - if(isdefined(level.ishorde) && level.ishorde) - { - param_00 endon("becameSpectator"); - } - return param_00 common_scripts\utility::waittill_any_return_no_endon_death(param_01,param_02,param_03); } -//Function Number: 76 +//Function Number: 65 waittillturretstuncomplete(param_00,param_01) { param_01 endon("death"); param_01 endon("disconnect"); param_01 endon("turretDead"); - if(isdefined(level.ishorde) && level.ishorde) - { - param_01 endon("becameSpectator"); - } - + param_01 endon("ejectedFromJuggernaut"); for(;;) { wait 0.05; @@ -1860,34 +1514,24 @@ waittillturretstuncomplete(param_00,param_01) } } -//Function Number: 77 +//Function Number: 66 watchforjoin(param_00,param_01,param_02) { param_01 endon("disconnect"); param_01 endon("death"); - if(isdefined(level.ishorde) && level.ishorde) - { - param_01 endon("becameSpectator"); - } - + param_01 endon("ejectedFromJuggernaut"); var_03 = maps\mp\killstreaks\_coop_util::waittillbuddyjoinedstreak(param_00); param_01 notify("buddyJoinedStreak"); var_03 thread playerremotecoopturret(param_02); } -//Function Number: 78 +//Function Number: 67 playerremotecoopturret(param_00) { self endon("disconnect"); param_00.coopturret endon("death"); param_00.streakplayer endon("death"); param_00.streakplayer endon("disconnect"); - if(isdefined(level.ishorde) && level.ishorde) - { - self endon("becameSpectator"); - param_00.streakplayer endon("becameSpectator"); - } - param_00.coopturret setsentryowner(undefined); param_00.coopturret setsentryowner(self); param_00.coopturret.owner = self; @@ -1899,7 +1543,7 @@ playerremotecoopturret(param_00) removecoopturretbuddy(param_00); } -//Function Number: 79 +//Function Number: 68 removecoopturretbuddyondisconnect(param_00) { param_00.coopturret endon("removeCoopTurretBuddy"); @@ -1907,7 +1551,7 @@ removecoopturretbuddyondisconnect(param_00) thread removecoopturretbuddy(param_00); } -//Function Number: 80 +//Function Number: 69 removecoopturretbuddy(param_00) { if(!isdefined(param_00.coopturret.remotecontrolled)) @@ -1942,114 +1586,55 @@ removecoopturretbuddy(param_00) } } -//Function Number: 81 +//Function Number: 70 playershowjuggernauthud(param_00) -{ - param_00.hud = []; - thread playerwatchemp(param_00); - createjuggernautoverlay(param_00); -} - -//Function Number: 82 -createjuggernautoverlay(param_00) { self setclientomnvar("ui_exo_suit_enabled",1); thread playermech_state_manager(); } -//Function Number: 83 -playerwatchemp(param_00) -{ - self endon("death"); - self endon("disconnect"); - if(isdefined(level.ishorde) && level.ishorde) - { - self endon("becameSpectator"); - } - - for(;;) - { - common_scripts\utility::waittill_any("emp_grenaded","applyEMPkillstreak","directHackStarted"); - foreach(var_02 in param_00.hud) - { - var_02.alpha = 0; - } - - for(;;) - { - common_scripts\utility::waittill_any("empGrenadeTimedOut","removeEMPkillstreak","directHackTimedOut"); - wait 0.05; - if(playershouldshowhud()) - { - break; - } - } - - foreach(var_02 in param_00.hud) - { - if(var_02.type != "rocketReload") - { - var_02 fadeovertime(0.5); - var_02.alpha = 1; - } - } - } -} - -//Function Number: 84 -playershouldshowhud() -{ - return !isdefined(self.empgrenaded) || !self.empgrenaded || !isdefined(self.empon) || !self.empon; -} - -//Function Number: 85 +//Function Number: 71 playerplayattachmentdialog(param_00) { var_01 = undefined; switch(param_00) { case "juggernaut_sentry_mp_mp": + var_01 = "sntryoff_mp_exoai"; break; case "speedAttachment": + var_01 = "mancoff_mp_exoai"; break; case "punchAttachment": + var_01 = "longoff_mp_exoai"; break; case "radar": + var_01 = "rcnoff_mp_exoai"; break; case "rocketAttachment": + var_01 = "rcktoff_mp_exoai"; break; case "trophy": + var_01 = "trphyoff_mp_exoai"; break; default: + var_01 = "weakdmg_mp_exoai"; break; } + + maps\mp\_utility::leaderdialogonplayer(var_01); } -//Function Number: 86 -playerlaunchdroppod(param_00) -{ - var_01 = maps\mp\killstreaks\_orbital_util::playergetoutsidenode(); - if(!isdefined(var_01)) - { - thread maps\mp\killstreaks\_orbital_util::playerplayinvalidpositioneffect(common_scripts\utility::getfx("ocp_ground_marker_bad")); - self setclientomnvar("ui_invalid_goliath",1); - return 0; - } - - thread firedroppod(var_01,param_00); - return 1; -} - -//Function Number: 87 +//Function Number: 72 droppodmovenearbyallies(param_00) { - if(!isdefined(self) || !isdefined(param_00)) + if(!isdefined(self)) { return; } @@ -2062,7 +1647,7 @@ droppodmovenearbyallies(param_00) continue; } - if(isalliedsentient(var_02,param_00)) + if(var_02.team == param_00) { if(distancesquared(self.origin,var_02.origin) < 6000) { @@ -2072,7 +1657,7 @@ droppodmovenearbyallies(param_00) } } -//Function Number: 88 +//Function Number: 73 givebackgoliathstreak(param_00) { var_01 = maps\mp\killstreaks\_killstreaks::getstreakcost("heavy_exosuit"); @@ -2081,91 +1666,68 @@ givebackgoliathstreak(param_00) thread maps\mp\killstreaks\_killstreaks::givekillstreak("heavy_exosuit",0,0,self,param_00); } -//Function Number: 89 -firedroppod(param_00,param_01) +//Function Number: 74 +firedroppod(param_00,param_01,param_02) { - var_02 = maps\mp\killstreaks\_orbital_util::playergetorbitalstartpos(param_00); - var_03 = param_00.origin; - var_04 = magicbullet("orbital_carepackage_droppod_mp",var_02,var_03,self,0,1); - var_04.team = self.team; - var_04.killcament = spawn("script_model",(0,0,0)); - var_04.killcament vehicle_jetbikesethoverforcescale(var_04,"tag_origin",(0,0,200),(0,10,10)); - var_04.killcament.targetname = "killCamEnt_goliath_droppod"; - var_04.killcament setscriptmoverkillcam("missile"); - var_04 thread maps\mp\_load::deletedestructiblekillcament(); - var_05 = maps\mp\gametypes\_gameobjects::getnextobjid(); - objective_add(var_05,"invisible",(0,0,0)); - objective_position(var_05,var_03); - objective_state(var_05,"active"); - var_06 = "compass_waypoint_farp"; - objective_icon(var_05,var_06); - var_07 = spawn("script_model",var_03 + (0,0,5)); - var_07.angles = (-90,0,0); - var_07 setmodel("tag_origin"); - var_07 hide(); - var_07 showtoplayer(self); - playfxontag(common_scripts\utility::getfx("jugg_droppod_marker"),var_07,"tag_origin"); - maps\mp\killstreaks\_orbital_util::adddropmarker(var_07); - var_08 = 0; - if(isdefined(level.ishorde) && level.ishorde) + var_03 = param_02 maps\mp\killstreaks\_orbital_util::playergetorbitalstartpos(param_00); + var_04 = param_00.origin; + if(!isdefined(param_02)) { - if(self.killstreakindexweapon == 1) - { - self notify("used_horde_goliath"); - var_08 = 1; - self.hordeclassgoliathpodinfield = 1; - } - - self.hordegoliathpodinfield = 1; + param_02 = getowner(); } - var_04 waittill("death"); - if(distancesquared(var_04.origin,var_03) > 22500) + var_05 = param_02.team; + var_06 = magicbullet("orbital_carepackage_droppod_zm_mp",var_03,var_04,param_02,0,1); + var_06.team = var_05; + var_07 = spawn("script_model",var_04 + (0,0,5)); + var_07.angles = (-90,0,0); + var_07 setmodel("tag_origin"); + playfxontag(common_scripts\utility::getfx("jugg_droppod_marker"),var_07,"tag_origin"); + maps\mp\killstreaks\_orbital_util::adddropmarker(var_07,"goliath_suit"); + if(!maps\mp\zombies\_util::is_true(level.zmkillstreakgoliathprevo)) + { + var_08 = maps\mp\zombies\killstreaks\_zombie_killstreaks::getcloseplayertodroppoint(var_07.origin); + var_08 thread maps\mp\zombies\_zombies_audio::playerkillstreakcratevo("gol_drop_pre"); + level.zmkillstreakgoliathprevo = 1; + } + + var_06 waittill("death"); + if(distancesquared(var_06.origin,var_04) > 22500) { var_07 delete(); - maps\mp\_utility::_objective_delete(var_05); - if(!isdefined(level.ishorde) || !level.ishorde) - { - givebackgoliathstreak(param_01); - } - else - { - self [[ level.hordegivebackgoliath ]](var_08); - self.hordeclassgoliathpodinfield = undefined; - self.hordegoliathpodinfield = undefined; - } - return; } - var_03 = getgroundposition(var_04.origin + (0,0,8),20); - thread destroy_nearby_turrets(var_03); + var_04 = getgroundposition(var_06.origin + (0,0,8),20); + if(!maps\mp\zombies\_util::is_true(level.zmkillstreakgoliathreactvo)) + { + var_08 = maps\mp\zombies\killstreaks\_zombie_killstreaks::getcloseplayertodroppoint(var_04); + var_08 thread maps\mp\zombies\_zombies_audio::playerkillstreakcratevo("gol_react"); + level.zmkillstreakgoliathreactvo = 1; + } + + thread destroy_nearby_turrets(var_04); var_07 hide(); - earthquake(0.4,1,var_03,800); - playrumbleonposition("artillery_rumble",var_03); + earthquake(0.4,1,var_04,800); + playrumbleonposition("artillery_rumble",var_04); stopfxontag(common_scripts\utility::getfx("jugg_droppod_marker"),var_07,"tag_origin"); - var_09 = spawn("script_model",var_03); + var_09 = spawn("script_model",var_04); var_09.angles = (0,0,0); - var_09 createcollision(var_03); + var_09 createcollision(var_04); var_09.targetname = "care_package"; var_09.droppingtoground = 0; - var_09.curobjid = var_05; - var_0A = spawn("script_model",var_03); + var_0A = spawn("script_model",var_04); var_0A.angles = (90,0,0); var_0A.targetname = "goliath_pod_model"; var_0A setmodel("vehicle_drop_pod"); var_0A thread handle_goliath_drop_pod_removal(var_09); - if(isdefined(self)) - { - var_09.owner = self; - } - + var_0A maps\mp\_entityheadicons::setheadicon(var_05,maps\mp\killstreaks\_killstreaks::getkillstreakcrateicon("zm_goliath_suit",[]),(0,0,140),14,14,undefined,undefined,undefined,undefined,undefined,0); + var_09.owner = undefined; var_09.cratetype = "juggernaut"; var_09.droptype = "juggernaut"; var_09 thread control_goliath_usability(); var_09 sethintstring(&"KILLSTREAKS_HEAVY_EXO_PICKUP"); - var_09 thread maps\mp\killstreaks\_airdrop::crateothercapturethink(); - var_09 thread maps\mp\killstreaks\_airdrop::crateownercapturethink(); + var_09 thread cratecapturethink(); var_09 thread usegoliathupdater(); var_0B = spawnstruct(); var_0B.useent = var_09; @@ -2173,98 +1735,54 @@ firedroppod(param_00,param_01) var_0B.deathoverridecallback = ::movingplatformdeathfunc; var_0B.touchingplatformvalid = ::movingplatformtouchvalid; var_09 thread maps\mp\_movers::handle_moving_platforms(var_0B); - var_09 thread handle_goliath_drop_pod_timeout(var_08); - var_09 droppodmovenearbyallies(self); - if(isdefined(level.ishorde) && level.ishorde) - { - var_09 disconnectpaths(); - } - - if(isdefined(level.ishorde) && level.ishorde) - { - if(level.zombiesstarted || level.teamemped["allies"]) - { - var_09 deletegoliathpod(); - } - else - { - var_09 thread delete_goliath_drop_pod_for_event(self); - } - } - + var_09 droppodmovenearbyallies(var_05); + var_09 disconnectpaths(); var_0C = var_09 playerwaittillgoliathactivated(); - if(isdefined(level.ishorde) && level.ishorde && isdefined(self)) - { - if(isdefined(var_0C) && var_0C != self) - { - if(var_08) - { - var_0C.hordeclassgoliathowner = self; - self.hordeclassgoliathcontroller = var_0C; - } - else - { - var_0C.hordegoliathowner = self; - self.hordegoliathcontroller = var_0C; - } - - var_0C [[ level.laststandsaveloadoutinfo ]](1,1,1); - } - else - { - self [[ level.laststandsaveloadoutinfo ]](1,1,1); - } - - self.hordeclassgoliathpodinfield = undefined; - self.hordegoliathpodinfield = undefined; - } - if(isdefined(var_0C) && isalive(var_0C)) { maps\mp\gametypes\_gamelogic::sethasdonecombat(var_0C,1); - self notify("entering_juggernaut"); var_0C.enteringgoliath = 1; - var_0C takeallweapons(); - var_0C giveweapon("iw5_combatknifegoliath_mp",0,0,0,1); - var_0C switchtoweapon("iw5_combatknifegoliath_mp"); + var_0C playerswitchtosuitupweapon(); var_0C unlink(); var_0C maps\mp\_utility::freezecontrolswrapper(1); - var_0D = var_03 - var_0C.origin; + var_0D = var_04 - var_0C.origin; var_0E = vectortoangles(var_0D); var_0F = (0,var_0E[1],0); var_10 = rotatevector(var_0D,(45,0,0)); - var_11 = spawn("script_model",var_03); + var_11 = spawn("script_model",var_04); var_11.angles = var_0F; - var_11 setmodel("npc_exo_armor_ingress"); - var_11 scriptmodelplayanimdeltamotion("mp_goliath_spawn"); + if(level.nextgen) + { + var_11 setmodel("npc_exo_armor_ingress"); + var_11 scriptmodelplayanimdeltamotion("mp_goliath_spawn"); + } + else + { + var_11 setmodel("npc_exo_armor_mp_base"); + } + var_0C maps\mp\_snd_common_mp::snd_message("goliath_pod_burst"); if(isdefined(var_09)) { var_09 deletegoliathpod(0); } - playfx(level._effect["jugg_droppod_open"],var_03,var_10); + playfx(level._effect["jugg_droppod_open"],var_04,var_10); wait(0.1); - var_0C is_entering_goliath(var_11,var_03); - if(isdefined(var_0C) && isalive(var_0C) && !isdefined(level.ishorde) && level.ishorde && isdefined(var_0C.isspectator) && var_0C.isspectator) + var_0C is_entering_goliath(var_11,var_04); + if(isdefined(var_0C) && isalive(var_0C)) { - var_0C setorigin(var_03,1); + var_0C setorigin(var_04,1); var_0C setplayerangles(var_11.angles); var_0C enableweapons(); var_0C givejuggernaut("juggernaut_exosuit",param_01); var_11 delete(); var_0C playgoliathtoidleleanim(); - if(isdefined(level.ishorde) && level.ishorde) + wait(1); + if(isdefined(var_0C)) { var_0C.enteringgoliath = undefined; - } - - wait(1); - var_0C.enteringgoliath = undefined; - var_0C maps\mp\_utility::freezecontrolswrapper(0); - if(isdefined(level.ishorde) && level.ishorde) - { - var_0C hudoutlineenable(5,1); + var_0C maps\mp\_utility::freezecontrolswrapper(0); } } else @@ -2276,7 +1794,238 @@ firedroppod(param_00,param_01) var_07 delete(); } -//Function Number: 90 +//Function Number: 75 +playerswitchtosuitupweapon() +{ + removeweapons(); + self giveweapon("iw5_combatknifegoliath_mp",0,0,0,1); + self switchtoweapon("iw5_combatknifegoliath_mp"); +} + +//Function Number: 76 +cratecapturethink(param_00) +{ + self endon("captured"); + var_01 = self; + if(isdefined(self.otherstringent)) + { + var_01 = self.otherstringent; + } + + while(isdefined(self)) + { + var_01 waittill("trigger",var_02); + if(maps\mp\zombies\_util::arekillstreaksdisabled()) + { + continue; + } + + if(var_02 maps\mp\_utility::isjuggernaut()) + { + continue; + } + + if(isdefined(self.owner) && var_02 == self.owner) + { + continue; + } + + if(var_02 isjumping() || isdefined(var_02.exo_hover_on) && var_02.exo_hover_on) + { + continue; + } + + if(!var_02 isonground() && !maps\mp\killstreaks\_airdrop::waitplayerstuckoncarepackagereturn(var_02)) + { + continue; + } + + if(!maps\mp\killstreaks\_airdrop::validateopenconditions(var_02)) + { + continue; + } + + var_02.iscapturingcrate = 1; + var_03 = maps\mp\killstreaks\_airdrop::createuseent(); + var_04 = var_03 useholdthink(var_02,undefined,param_00); + if(isdefined(var_03)) + { + var_03 delete(); + } + + if(!var_04) + { + if(isdefined(var_02)) + { + var_02.iscapturingcrate = 0; + } + + continue; + } + + var_02.iscapturingcrate = 0; + self notify("captured",var_02); + } +} + +//Function Number: 77 +useholdthink(param_00,param_01,param_02) +{ + if(isplayer(param_00)) + { + param_00 playerlinkto(self); + } + else + { + param_00 linkto(self); + } + + param_00 playerlinkedoffsetenable(); + if(!param_00 maps\mp\_utility::isjuggernaut()) + { + param_00 common_scripts\utility::_disableweapon(); + } + + thread useholdthinkplayerreset(param_00); + self.curprogress = 0; + self.inuse = 1; + self.userate = 0; + if(isdefined(param_01)) + { + if(param_00 maps\mp\_utility::_hasperk("specialty_unwrapper") && isdefined(param_00.specialty_unwrapper_care_bonus)) + { + param_01 = param_01 * param_00.specialty_unwrapper_care_bonus; + } + + if(isdefined(level.podcapturetimemodifier)) + { + param_01 = param_01 * level.podcapturetimemodifier; + } + + self.usetime = param_01; + } + else if(param_00 maps\mp\_utility::_hasperk("specialty_unwrapper") && isdefined(param_00.specialty_unwrapper_care_bonus)) + { + self.usetime = 3000 * param_00.specialty_unwrapper_care_bonus; + } + else + { + self.usetime = 3000; + } + + if(isplayer(param_00)) + { + param_00 thread personalusebar(self,param_02); + } + + var_03 = useholdthinkloop(param_00); + if(!isdefined(var_03)) + { + var_03 = 0; + } + + if(!isdefined(self)) + { + return 0; + } + + self notify("useHoldThinkLoopDone"); + self.inuse = 0; + self.curprogress = 0; + return var_03; +} + +//Function Number: 78 +useholdthinkplayerreset(param_00) +{ + param_00 endon("death"); + common_scripts\utility::waittill_any("death","captured","useHoldThinkLoopDone"); + if(isalive(param_00)) + { + if(!param_00 maps\mp\_utility::isjuggernaut()) + { + param_00 common_scripts\utility::_enableweapon(); + } + + if(param_00 islinked()) + { + param_00 unlink(); + } + } +} + +//Function Number: 79 +personalusebar(param_00,param_01) +{ + self endon("disconnect"); + if(isdefined(param_01)) + { + iprintlnbold("Fixme @agersant " + param_01); + } + + self setclientomnvar("ui_use_bar_text",1); + self setclientomnvar("ui_use_bar_start_time",int(gettime())); + var_02 = -1; + while(maps\mp\_utility::isreallyalive(self) && isdefined(param_00) && param_00.inuse && !level.gameended) + { + if(var_02 != param_00.userate) + { + if(param_00.curprogress > param_00.usetime) + { + param_00.curprogress = param_00.usetime; + } + + if(param_00.userate > 0) + { + var_03 = gettime(); + var_04 = param_00.curprogress / param_00.usetime; + var_05 = var_03 + 1 - var_04 * param_00.usetime / param_00.userate; + self setclientomnvar("ui_use_bar_end_time",int(var_05)); + } + + var_02 = param_00.userate; + } + + wait(0.05); + } + + self setclientomnvar("ui_use_bar_end_time",0); +} + +//Function Number: 80 +ishordelaststand(param_00) +{ + return isdefined(level.ishorde) && level.ishorde && isdefined(param_00.laststand) && param_00.laststand; +} + +//Function Number: 81 +useholdthinkloop(param_00) +{ + param_00 endon("stop_useHoldThinkLoop"); + while(!level.gameended && isdefined(self) && maps\mp\_utility::isreallyalive(param_00) && !maps\mp\zombies\_util::isplayerinlaststand(param_00) && param_00 usebuttonpressed() && self.curprogress < self.usetime) + { + self.curprogress = self.curprogress + 50 * self.userate; + if(isdefined(self.objectivescaler)) + { + self.userate = 1 * self.objectivescaler; + } + else + { + self.userate = 1; + } + + if(self.curprogress >= self.usetime) + { + return maps\mp\_utility::isreallyalive(param_00); + } + + wait(0.05); + } + + return 0; +} + +//Function Number: 82 destroy_nearby_turrets(param_00) { var_01 = 4096; @@ -2289,20 +2038,15 @@ destroy_nearby_turrets(param_00) } } -//Function Number: 91 +//Function Number: 83 is_goliath_drop_pod(param_00) { return isdefined(param_00.cratetype) && param_00.cratetype == "juggernaut" && isdefined(param_00.droptype) && param_00.droptype == "juggernaut"; } -//Function Number: 92 +//Function Number: 84 movingplatformdeathfunc(param_00) { - if(isdefined(self) && isdefined(self.curobjid)) - { - maps\mp\_utility::_objective_delete(self.curobjid); - } - if(isdefined(param_00.emptymech)) { param_00.emptymech delete(); @@ -2314,31 +2058,31 @@ movingplatformdeathfunc(param_00) } } -//Function Number: 93 +//Function Number: 85 movingplatformtouchvalid(param_00) { return goliathandcarepackagevalid(param_00) && goliathandgoliathvalid(param_00) && goliathandplatformvalid(param_00); } -//Function Number: 94 +//Function Number: 86 goliathandcarepackagevalid(param_00) { return !isdefined(self.cratetype) || !isdefined(param_00.targetname) || self.cratetype != "juggernaut" || param_00.targetname != "care_package"; } -//Function Number: 95 +//Function Number: 87 goliathandgoliathvalid(param_00) { return !isdefined(self.cratetype) || !isdefined(param_00.cratetype) || self.cratetype != "juggernaut" || param_00.cratetype != "juggernaut"; } -//Function Number: 96 +//Function Number: 88 goliathandplatformvalid(param_00) { return !isdefined(self.cratetype) || !isdefined(param_00.carepackagetouchvalid) || self.cratetype != "juggernaut" || !param_00.carepackagetouchvalid; } -//Function Number: 97 +//Function Number: 89 control_goliath_usability() { self endon("captured"); @@ -2379,20 +2123,25 @@ control_goliath_usability() } } -//Function Number: 98 +//Function Number: 90 is_entering_goliath(param_00,param_01) { var_02 = anglestoforward(param_00.angles); param_01 = param_01 - var_02 * 37; self setorigin(param_01,0); self setplayerangles(param_00.angles); + if(level.currentgen) + { + thread cggoliathroverlay(); + } + wait(0.05); param_00 scriptmodelplayanimdeltamotion("mp_goliath_enter"); self playgoliathentryanim(); wait(2.3); } -//Function Number: 99 +//Function Number: 91 createcollision(param_00) { var_01 = getent("goliath_collision","targetname"); @@ -2402,29 +2151,16 @@ createcollision(param_00) } } -//Function Number: 100 +//Function Number: 92 playerwaittillgoliathactivated() { self endon("death"); self waittill("captured",var_00); var_00 setstance("stand"); - var_00 setdemigod(1); - if(isdefined(self.owner) && var_00 != self.owner) - { - if(!level.teambased || var_00.team != self.owner.team) - { - var_00 thread maps\mp\_events::hijackerevent(self.owner); - } - else if(!isdefined(level.ishorde)) - { - self.owner thread maps\mp\_events::sharedevent(); - } - } - return var_00; } -//Function Number: 101 +//Function Number: 93 usegoliathupdater() { self endon("death"); @@ -2446,22 +2182,18 @@ usegoliathupdater() } } -//Function Number: 102 +//Function Number: 94 usepostjuggernautupdater(param_00) { self endon("death"); level endon("game_ended"); param_00 endon("disconnect"); - if(isdefined(level.ishorde) && level.ishorde) - { - param_00 endon("becameSpectator"); - } - + param_00 endon("ejectedFromJuggernaut"); param_00 waittill("death"); self enableplayeruse(param_00); } -//Function Number: 103 +//Function Number: 95 adjustlink(param_00,param_01,param_02,param_03,param_04) { param_00 endon("death"); @@ -2497,17 +2229,12 @@ adjustlink(param_00,param_01,param_02,param_03,param_04) } } -//Function Number: 104 +//Function Number: 96 drawspine(param_00,param_01) { param_00 endon("disconnect"); param_00 endon("death"); param_01 endon("death"); - if(isdefined(level.ishorde) && level.ishorde) - { - param_00 endon("becameSpectator"); - } - for(;;) { var_02 = param_01.origin; @@ -2517,7 +2244,7 @@ drawspine(param_00,param_01) } } -//Function Number: 105 +//Function Number: 97 debug_axis(param_00,param_01) { var_02 = 20; @@ -2526,7 +2253,7 @@ debug_axis(param_00,param_01) var_05 = anglestoup(param_01) * var_02; } -//Function Number: 106 +//Function Number: 98 playermech_ui_state_reset() { if(!isdefined(self.mechuistate)) @@ -2556,16 +2283,12 @@ playermech_ui_state_reset() self.mechuistate.rocket.recharge = 100; } -//Function Number: 107 +//Function Number: 99 playermech_state_manager() { self endon("disconnect"); self endon("exit_mech"); - if(isdefined(level.ishorde) && level.ishorde) - { - self endon("becameSpectator"); - } - + self endon("ejectedFromJuggernaut"); playermech_ui_state_reset(); set_mech_state(); set_mech_chaingun_state(); @@ -2582,7 +2305,7 @@ playermech_state_manager() } } -//Function Number: 108 +//Function Number: 100 set_mech_state(param_00) { if(!isdefined(param_00)) @@ -2603,7 +2326,7 @@ set_mech_state(param_00) self.mechuistate.state = param_00; } -//Function Number: 109 +//Function Number: 101 get_mech_state() { if(!isdefined(self.mechuistate)) @@ -2614,46 +2337,12 @@ get_mech_state() return self.mechuistate.state; } -//Function Number: 110 -get_is_in_mech() -{ - var_00 = self getattachmodelname(0); - if(isdefined(var_00) && var_00 == "head_hero_cormack_sentinel_halo") - { - return 1; - } - - return 0; -} - -//Function Number: 111 -get_front_sorted_threat_list(param_00,param_01) -{ - var_02 = []; - foreach(var_04 in param_00) - { - if(vectordot(var_04.origin - self.origin,param_01) < 0) - { - continue; - } - - var_02[var_02.size] = var_04; - } - - var_02 = sortbydistance(var_02,self.origin); - return var_02; -} - -//Function Number: 112 +//Function Number: 102 playermech_ui_weapon_feedback(param_00,param_01) { self endon("disconnect"); self endon("exit_mech"); - if(isdefined(level.ishorde) && level.ishorde) - { - self endon("becameSpectator"); - } - + self endon("ejectedFromJuggernaut"); self setclientomnvar(param_01,0); for(;;) { @@ -2673,7 +2362,7 @@ playermech_ui_weapon_feedback(param_00,param_01) } } -//Function Number: 113 +//Function Number: 103 playermech_ui_update_lui(param_00) { var_01 = playerisrocketswarmtargetlocked(); @@ -2694,7 +2383,7 @@ playermech_ui_update_lui(param_00) } } -//Function Number: 114 +//Function Number: 104 playermech_invalid_gun_callback() { if(self.mechuistate.chaingun.overheated) @@ -2705,7 +2394,7 @@ playermech_invalid_gun_callback() return 0; } -//Function Number: 115 +//Function Number: 105 playermech_invalid_rocket_callback() { if(self.mechuistate.rocket.recharge < 100) @@ -2716,7 +2405,7 @@ playermech_invalid_rocket_callback() return 0; } -//Function Number: 116 +//Function Number: 106 playermech_invalid_swarm_callback() { if(self.mechuistate.swarm.recharge < 100) @@ -2727,16 +2416,12 @@ playermech_invalid_swarm_callback() return 0; } -//Function Number: 117 +//Function Number: 107 playermech_invalid_weapon_instance(param_00,param_01) { self endon("disconnect"); self endon("exit_mech"); - if(isdefined(level.ishorde) && level.ishorde) - { - self endon("becameSpectator"); - } - + self endon("ejectedFromJuggernaut"); var_02 = 0; for(;;) { @@ -2760,7 +2445,7 @@ playermech_invalid_weapon_instance(param_00,param_01) } } -//Function Number: 118 +//Function Number: 108 playermech_invalid_weapon_watcher() { thread playermech_invalid_weapon_instance(::attackbuttonpressed,::playermech_invalid_gun_callback); @@ -2768,33 +2453,7 @@ playermech_invalid_weapon_watcher() thread playermech_invalid_weapon_instance(::secondaryoffhandbuttonpressed,::playermech_invalid_swarm_callback); } -//Function Number: 119 -state_main_pump() -{ - switch(get_mech_state()) - { - case "dmg2": - case "dmg2_transition": - case "dmg1": - case "dmg1_transition": - case "base": - case "base_transition": - case "base_swarmonly": - case "base_noweap": - case "base_swarmonly_exit": - case "base_swarmonly_nolegs": - case "base_noweap_bootup": - break; - - case "none": - break; - - default: - break; - } -} - -//Function Number: 120 +//Function Number: 109 state_chaingun_pump() { var_00 = get_mech_chaingun_state(); @@ -2842,7 +2501,7 @@ state_chaingun_pump() } } -//Function Number: 121 +//Function Number: 110 state_rocket_pump() { var_00 = get_mech_rocket_state(); @@ -2858,7 +2517,7 @@ state_rocket_pump() } } -//Function Number: 122 +//Function Number: 111 state_swarm_pump() { var_00 = get_mech_swarm_state(); @@ -2881,7 +2540,7 @@ state_swarm_pump() } } -//Function Number: 123 +//Function Number: 112 set_mech_chaingun_state(param_00) { if(!isdefined(param_00)) @@ -2903,7 +2562,7 @@ set_mech_chaingun_state(param_00) self notify("chaingun_state_" + param_00); } -//Function Number: 124 +//Function Number: 113 get_mech_chaingun_state() { if(!isdefined(self.mechuistate)) @@ -2914,19 +2573,7 @@ get_mech_chaingun_state() return self.mechuistate.chaingun.state; } -//Function Number: 125 -same_mech_chaingun_last_state() -{ - if(isdefined(self.mechuistate.chaingun.last_state) && self.mechuistate.chaingun.state == self.mechuistate.chaingun.last_state) - { - return 1; - } - - self.mechuistate.chaingun.last_state = self.mechuistate.chaingun.state; - return 0; -} - -//Function Number: 126 +//Function Number: 114 set_mech_rocket_state(param_00) { if(!isdefined(param_00)) @@ -2947,7 +2594,7 @@ set_mech_rocket_state(param_00) self.mechuistate.rocket.state = param_00; } -//Function Number: 127 +//Function Number: 115 get_mech_rocket_state() { if(!isdefined(self.mechuistate)) @@ -2958,19 +2605,7 @@ get_mech_rocket_state() return self.mechuistate.rocket.state; } -//Function Number: 128 -same_mech_rocket_last_state() -{ - if(isdefined(self.mechuistate.rocket.last_state) && self.mechuistate.rocket.state == self.mechuistate.rocket.last_state) - { - return 1; - } - - self.mechuistate.rocket.last_state = self.mechuistate.rocket.state; - return 0; -} - -//Function Number: 129 +//Function Number: 116 set_mech_swarm_state(param_00) { if(!isdefined(param_00)) @@ -2991,7 +2626,7 @@ set_mech_swarm_state(param_00) self.mechuistate.swarm.state = param_00; } -//Function Number: 130 +//Function Number: 117 get_mech_swarm_state() { if(!isdefined(self.mechuistate)) @@ -3002,19 +2637,7 @@ get_mech_swarm_state() return self.mechuistate.swarm.state; } -//Function Number: 131 -same_mech_swarm_last_state() -{ - if(isdefined(self.mechuistate.swarm.last_state) && self.mechuistate.swarm.state == self.mechuistate.swarm.last_state) - { - return 1; - } - - self.mechuistate.swarm.last_state = self.mechuistate.swarm.state; - return 0; -} - -//Function Number: 132 +//Function Number: 118 playermech_monitor_update_recharge(param_00,param_01) { param_00.recharge = 0; @@ -3032,60 +2655,47 @@ playermech_monitor_update_recharge(param_00,param_01) } } -//Function Number: 133 +//Function Number: 119 playermech_monitor_rocket_recharge() { self endon("disconnect"); self endon("exit_mech"); self notify("stop_rocket_recharge"); self endon("stop_rocket_recharge"); - if(isdefined(level.ishorde) && level.ishorde) - { - self endon("becameSpectator"); - } - + self endon("ejectedFromJuggernaut"); for(;;) { self waittill("mech_rocket_fire"); self disableoffhandweapons(); - playermech_monitor_update_recharge(self.mechuistate.rocket,10); + playermech_monitor_update_recharge(self.mechuistate.rocket,playergetrocketreloadtime()); self enableoffhandweapons(); wait(0.05); } } -//Function Number: 134 +//Function Number: 120 playermech_monitor_swarm_recharge() { self endon("disconnect"); self endon("exit_mech"); self notify("stop_swarm_recharge"); self endon("stop_swarm_recharge"); - if(isdefined(level.ishorde) && level.ishorde) - { - self endon("becameSpectator"); - } - + self endon("ejectedFromJuggernaut"); for(;;) { self waittill("mech_swarm_fire"); self disableoffhandsecondaryweapons(); - playermech_monitor_update_recharge(self.mechuistate.swarm,10); + playermech_monitor_update_recharge(self.mechuistate.swarm,playergetswarmreloadtime()); self enableoffhandsecondaryweapons(); wait(0.05); } } -//Function Number: 135 +//Function Number: 121 play_goliath_death_fx() { level endon("game_ended"); self endon("disconnect"); - if(isdefined(level.ishorde) && level.ishorde) - { - self endon("becameSpectator"); - } - common_scripts\utility::waittill_any("death","joined_team","faux_spawn"); if(isai(self)) { @@ -3097,86 +2707,50 @@ play_goliath_death_fx() if(isdefined(var_00)) { var_00 hide(); + return; } } } - else if(!isdefined(self.juggernautsuicide) && !isdefined(level.ishorde)) - { - playfxontag(common_scripts\utility::getfx("goliath_death_fire"),self.body,"J_NECK"); - maps\mp\_snd_common_mp::snd_message("goliath_death_explosion"); - } - - self.juggernautsuicide = undefined; } -//Function Number: 136 -self_destruct_goliath() -{ - level endon("game_ended"); - self endon("death"); - self endon("disconnect"); - self endon("joined_team"); - self endon("faux_spawn"); - if(isdefined(level.ishorde) && level.ishorde) - { - self endon("horde_cancel_goliath"); - } - - var_00 = 0; - while(maps\mp\_utility::isjuggernaut()) - { - if(self usebuttonpressed()) - { - var_00 = var_00 + 0.05; - if(var_00 > 1) - { - maps\mp\_snd_common_mp::snd_message("goliath_self_destruct"); - playfx(common_scripts\utility::getfx("goliath_self_destruct"),self.origin,anglestoup(self.angles)); - wait(0.05); - self.hideondeath = 1; - self.juggernautsuicide = 1; - radiusdamage(self.origin + (0,0,50),400,200,20,self,"MOD_EXPLOSIVE","killstreak_goliathsd_mp"); - if(isdefined(level.ishorde) && level.ishorde) - { - self thread [[ level.hordehandlejuggdeath ]](); - } - } - - continue; - } - - var_00 = 0; - wait(0.05); - } -} - -//Function Number: 137 +//Function Number: 122 playermechtimeout() { level endon("game_ended"); self endon("disconnect"); self endon("lost_juggernaut"); - if(isdefined(level.ishorde) && level.ishorde) + self endon("ejectedFromJuggernaut"); + var_00 = int(2); + while(maps\mp\zombies\_util::is_true(self.goliathbootupsequence)) { - self endon("horde_cancel_goliath"); + wait 0.05; } for(;;) { wait(1); - self.mechhealth = self.mechhealth - int(self.maxhealth / 100); + var_01 = self.mechhealth / 600; + self.mechhealth = self.mechhealth - var_00; + var_02 = self.mechhealth / 600; + self setclientomnvar("ui_exo_suit_health",var_02); + level thread dogoliathintegrityvo(var_01,var_02,self); if(self.mechhealth < 0) { - maps\mp\_snd_common_mp::snd_message("goliath_self_destruct"); - playfx(common_scripts\utility::getfx("goliath_self_destruct"),self.origin,anglestoup(self.angles)); - self thread [[ level.hordehandlejuggdeath ]](); - } + if(!isdefined(self.underwatermotiontype)) + { + thread playereject(); + } + else + { + thread playerkillheavyexo(self.origin); + } - self setclientomnvar("ui_exo_suit_health",self.mechhealth / self.maxhealth); + return; + } } } -//Function Number: 138 +//Function Number: 123 onplayerconnect() { for(;;) @@ -3186,7 +2760,7 @@ onplayerconnect() } } -//Function Number: 139 +//Function Number: 124 onplayerspawned() { self endon("disconnect"); @@ -3197,7 +2771,7 @@ onplayerspawned() } } -//Function Number: 140 +//Function Number: 125 deletegoliathpod(param_00,param_01) { if(!isdefined(param_00)) @@ -3231,32 +2805,7 @@ deletegoliathpod(param_00,param_01) self delete(); } -//Function Number: 141 -handle_goliath_drop_pod_timeout(param_00) -{ - level endon("game_ended"); - self endon("death"); - wait(120); - if(isdefined(level.ishorde) && level.ishorde && param_00) - { - self.owner.hordeclassgoliathpodinfield = undefined; - self.owner.hordegoliathpodinfield = undefined; - self.owner notify("startJuggCooldown"); - } - - deletegoliathpod(); -} - -//Function Number: 142 -delete_goliath_drop_pod_for_event(param_00) -{ - level endon("game_ended"); - self endon("death"); - common_scripts\utility::waittill_any_ents(level,"zombies_start",level,"EMP_JamTeamallies",param_00,"disconnect"); - deletegoliathpod(); -} - -//Function Number: 143 +//Function Number: 126 handle_goliath_drop_pod_removal(param_00) { level endon("game_ended"); @@ -3265,42 +2814,123 @@ handle_goliath_drop_pod_removal(param_00) self delete(); } -//Function Number: 144 -playermech_watch_emp_grenade() +//Function Number: 127 +setupeject(param_00,param_01) { - level endon("game_ended"); - self endon("death"); - self endon("disconnect"); - if(isdefined(level.ishorde) && level.ishorde) + param_01 endon("disconnect"); + param_01 endon("death"); + param_01 endon("ejectedFromJuggernaut"); + if(!isbot(param_01)) { - self endon("becameSpectator"); + param_01 notifyonplayercommand("juggernautEject","+goStand"); } for(;;) { - self waittill("emp_grenaded",var_00); - if(isdefined(var_00) && isplayer(var_00)) + param_01 waittill("juggernautEject"); + wait 0.05; + var_02 = 0; + while(param_01 jumpbuttonpressed()) { - var_00 thread ch_emp_goliath_think(); + var_02 = var_02 + 0.05; + if(var_02 > 0.7) + { + if(!isdefined(param_01.underwatermotiontype)) + { + param_01 thread playereject(); + } + else + { + param_01 thread playerkillheavyexo(param_01.origin); + } + + return; + } + + wait 0.05; } } } -//Function Number: 145 -ch_emp_goliath_think() +//Function Number: 128 +playereject(param_00) { - level endon("game_ended"); - self endon("death"); - self endon("disconnect"); - if(isdefined(level.ishorde) && level.ishorde) + self notify("ejectedFromJuggernaut"); + level thread juggernautsuitexplode(self); + self detachall(); + self setmodel(self.charactermodel); + self setviewmodel(self.characterviewmodel); + self attach(self.characterhead); + restoreweapons(); + thread playersetpreviousweapon(); + if(maps\mp\_utility::isjuggernaut()) { - self endon("becameSpectator"); + playerreset(); } - var_00 = 5; - wait(var_00); - if(maps\mp\_utility::isreallyalive(self)) + level notify("player_left_goliath_suit"); +} + +//Function Number: 129 +playerhandlejump() +{ + self endon("disconnect"); + self endon("death"); + self allowjump(0); + wait(1); + while(!self isonground()) { - maps\mp\gametypes\_missions::processchallenge("ch_precision_closecall"); + wait 0.05; } + + self allowjump(1); +} + +//Function Number: 130 +playersetpreviousweapon() +{ + self endon("disconnect"); + self endon("death"); + var_00 = self.primarytorestore; + self.primarytorestore = undefined; + while(self getcurrentweapon() != var_00) + { + self switchtoweapon(var_00); + wait(0.1); + } +} + +//Function Number: 131 +juggernautsuitexplode(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = param_00; + } + + var_02 = param_01.origin; + var_03 = param_01.angles; + waittillframeend; + if(isdefined(param_00)) + { + param_00 radiusdamage(var_02,400,200,50,param_00,"MOD_EXPLOSIVE","iw5_juggernautrocketszm_mp"); + param_00 maps\mp\_snd_common_mp::snd_message("goliath_self_destruct"); + } + + playfx(common_scripts\utility::getfx("goliath_self_destruct"),var_02,anglestoup(var_03)); +} + +//Function Number: 132 +announcerglobalplaysuitvo(param_00,param_01,param_02) +{ + param_02 endon("death"); + param_02 endon("disconnect"); + param_02 endon("ejectedFromJuggernaut"); + if(isdefined(param_01) && param_01 > 0) + { + wait(param_01); + } + + maps\mp\zombies\_zombies_audio_announcer::waittillallannouncersdonespeaking(); + maps\mp\zombies\_zombies_audio_announcer::announcerglobaldialog("global",param_00,undefined,undefined,undefined,undefined,[param_02]); } \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/killstreaks/_zombie_killstreaks.gsc b/AW/PC/maps/mp/zombies/killstreaks/_zombie_killstreaks.gsc new file mode 100644 index 0000000..0759efe --- /dev/null +++ b/AW/PC/maps/mp/zombies/killstreaks/_zombie_killstreaks.gsc @@ -0,0 +1,847 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\killstreaks\_zombie_killstreaks.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 26 + * Decompile Time: 411 ms + * Timestamp: 4/22/2024 2:13:10 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + if(isdefined(level.mapcustomkillstreakfunc)) + { + [[ level.mapcustomkillstreakfunc ]](); + } + + level thread maps\mp\killstreaks\_airdrop::init(); + level thread maps\mp\killstreaks\_rippedturret::init(); + level thread maps\mp\killstreaks\_orbital_carepackage::init(); + level thread maps\mp\killstreaks\_orbital_util::initstart(); + level thread maps\mp\zombies\killstreaks\_zombie_drone_assault::init(); + level thread maps\mp\zombies\killstreaks\_zombie_sentry::init(); + level thread maps\mp\zombies\killstreaks\_zombie_camouflage::init(); + level thread extrainit(); + level.killstreakfuncs["zm_ripped_turret"] = ::maps\mp\killstreaks\_rippedturret::tryuserippedturret; + level.killstreakwieldweapons["orbital_carepackage_pod_zm_mp"] = "orbital_carepackage"; + level.ocp_weap_name = "orbital_carepackage_pod_zm_mp"; + level thread roundlogic(); +} + +//Function Number: 2 +extrainit() +{ + level.teamemped["allies"] = 0; + level.teamemped["axis"] = 0; + level.orbitalsupportinuse = 0; + level.missile_strike_gas_clouds = []; +} + +//Function Number: 3 +bot_killstreak_setup() +{ + var_00 = gettime(); + if(!isdefined(level.killstreak_botfunc)) + { + thread maps\mp\bots\_bots_ks::bot_setup_map_specific_killstreaks(); + maps\mp\bots\_bots_ks::bot_register_killstreak_func("zm_squadmate",::maps\mp\bots\_bots_ks::bot_killstreak_simple_use); + maps\mp\bots\_bots_ks::bot_register_killstreak_func("remote_mg_sentry_turret",::maps\mp\bots\_bots_sentry::bot_killstreak_sentry,::maps\mp\bots\_bots_sentry::bot_can_use_sentry_only_ai_version,"turret"); + maps\mp\bots\_bots_ks::bot_register_killstreak_func("assault_ugv",::maps\mp\bots\_bots_ks::bot_killstreak_simple_use,::maps\mp\bots\_bots_ks::bot_can_use_assault_ugv_only_ai_version); + maps\mp\bots\_bots_ks::bot_register_killstreak_func("zm_sentry",::maps\mp\bots\_bots_sentry::bot_killstreak_sentry,::maps\mp\bots\_bots_sentry::bot_can_use_sentry_only_ai_version,"turret"); + maps\mp\bots\_bots_ks::bot_register_killstreak_func("zm_ugv",::maps\mp\bots\_bots_ks::bot_killstreak_simple_use,::maps\mp\bots\_bots_ks::bot_can_use_assault_ugv_only_ai_version); + maps\mp\bots\_bots_ks::bot_register_killstreak_func("uav",::maps\mp\bots\_bots_ks::bot_killstreak_never_use,::maps\mp\bots\_bots_ks::bot_killstreak_do_not_use); + maps\mp\bots\_bots_ks::bot_register_killstreak_func("orbital_carepackage",::maps\mp\bots\_bots_ks::bot_killstreak_never_use,::maps\mp\bots\_bots_ks::bot_killstreak_do_not_use); + maps\mp\bots\_bots_ks::bot_register_killstreak_func("heavy_exosuit",::maps\mp\bots\_bots_ks::bot_killstreak_never_use,::maps\mp\bots\_bots_ks::bot_killstreak_do_not_use); + maps\mp\bots\_bots_ks::bot_register_killstreak_func("nuke",::maps\mp\bots\_bots_ks::bot_killstreak_never_use,::maps\mp\bots\_bots_ks::bot_killstreak_do_not_use); + maps\mp\bots\_bots_ks::bot_register_killstreak_func("warbird",::maps\mp\bots\_bots_ks::bot_killstreak_never_use,::maps\mp\bots\_bots_ks::bot_killstreak_do_not_use); + maps\mp\bots\_bots_ks::bot_register_killstreak_func("emp",::maps\mp\bots\_bots_ks::bot_killstreak_never_use,::maps\mp\bots\_bots_ks::bot_killstreak_do_not_use); + maps\mp\bots\_bots_ks::bot_register_killstreak_func("orbitalsupport",::maps\mp\bots\_bots_ks::bot_killstreak_never_use,::maps\mp\bots\_bots_ks::bot_killstreak_do_not_use); + maps\mp\bots\_bots_ks::bot_register_killstreak_func("recon_ugv",::maps\mp\bots\_bots_ks::bot_killstreak_never_use,::maps\mp\bots\_bots_ks::bot_killstreak_do_not_use); + maps\mp\bots\_bots_ks::bot_register_killstreak_func("orbital_strike_laser",::maps\mp\bots\_bots_ks::bot_killstreak_never_use,::maps\mp\bots\_bots_ks::bot_killstreak_do_not_use); + maps\mp\bots\_bots_ks::bot_register_killstreak_func("missile_strike",::maps\mp\bots\_bots_ks::bot_killstreak_never_use,::maps\mp\bots\_bots_ks::bot_killstreak_do_not_use); + maps\mp\bots\_bots_ks::bot_register_killstreak_func("strafing_run_airstrike",::maps\mp\bots\_bots_ks::bot_killstreak_never_use,::maps\mp\bots\_bots_ks::bot_killstreak_do_not_use); + } +} + +//Function Number: 4 +airdropcustomfunc() +{ + level.cratemaxval = []; + level.cratetypes = []; + maps\mp\killstreaks\_airdrop::addcratetype("airdrop_assault","sentry_1",8,::killstreakcratethink,&"ZOMBIES_SENTRY_TURRET","zm_sentry","sentry_guardian","sentry_rippable"); + maps\mp\killstreaks\_airdrop::addcratetype("airdrop_assault","sentry_2",8,::killstreakcratethink,&"ZOMBIES_ROCKET_TURRET","zm_sentry","sentry_guardian","sentry_rocket_turret","sentry_rippable"); + maps\mp\killstreaks\_airdrop::addcratetype("airdrop_assault","sentry_3",9,::killstreakcratethink,&"ZOMBIES_LASER_TURRET","zm_sentry","sentry_guardian","sentry_energy_turret","sentry_rippable"); + maps\mp\killstreaks\_airdrop::addcratetype("airdrop_assault","drone_1",12,::killstreakcratethink,&"ZOMBIES_ROCKET_DRONE","zm_ugv","assault_ugv_ai","assault_ugv_rockets"); + maps\mp\killstreaks\_airdrop::addcratetype("airdrop_assault","drone_2",13,::killstreakcratethink,&"ZOMBIES_ASSAULT_DRONE","zm_ugv","assault_ugv_ai","assault_ugv_mg"); + maps\mp\killstreaks\_airdrop::addcratetype("airdrop_assault","money",25,::moneycratethink,&"ZOMBIES_CRATE_MONEY","money"); + maps\mp\killstreaks\_airdrop::addcratetype("airdrop_assault","camo",25,::killstreakcratethink,&"ZOMBIES_CRATE_SHIELD","zm_camouflage"); + if(isdefined(level.airdropcustomfunclevelspecific)) + { + [[ level.airdropcustomfunclevelspecific ]](); + } +} + +//Function Number: 5 +schedulescorestreaks() +{ + var_00 = undefined; + if(isdefined(level.zmscorestreaks) && level.zmscorestreaks.size > 0) + { + var_00 = level.zmscorestreaks[level.zmscorestreaks.size - 1]; + } + + level.zmscorestreaks = []; + level.zmscorestreakindex = 0; + var_01 = []; + if(isdefined(level.zmgetscorestreaksforschedule)) + { + var_01 = [[ level.zmgetscorestreaksforschedule ]](); + } + else + { + var_01[var_01.size] = "sentry_" + randomintrange(1,4); + var_01[var_01.size] = "drone_" + randomintrange(1,3); + var_01[var_01.size] = "money"; + var_01[var_01.size] = "camo"; + var_01[var_01.size] = "sentry_" + randomintrange(1,4); + var_01[var_01.size] = "drone_" + randomintrange(1,3); + var_01[var_01.size] = "money"; + var_01[var_01.size] = "camo"; + } + + var_01 = common_scripts\utility::array_randomize(var_01); + var_02 = var_01.size; + for(var_03 = 0;var_03 < var_02;var_03++) + { + var_04 = getnextscorestreakindex(var_01,var_02,var_00); + if(var_04 != -1) + { + level.zmscorestreaks[level.zmscorestreaks.size] = var_01[var_04]; + var_00 = var_01[var_04]; + var_01[var_04] = undefined; + continue; + } + + level.zmscorestreaks[level.zmscorestreaks.size] = level.zmscorestreaks[0]; + var_04 = getarraykeys(var_01)[0]; + level.zmscorestreaks[0] = var_01[var_04]; + } +} + +//Function Number: 6 +getnextscorestreakindex(param_00,param_01,param_02) +{ + if(isdefined(param_02)) + { + var_03 = strtok(param_02,"_"); + param_02 = var_03[0]; + } + + for(var_04 = 0;var_04 < param_01;var_04++) + { + var_05 = param_00[var_04]; + if(isdefined(var_05)) + { + if(!isdefined(param_02)) + { + return var_04; + } + else + { + var_03 = strtok(var_05,"_"); + var_05 = var_03[0]; + if(var_05 != param_02) + { + return var_04; + } + } + } + } + + return -1; +} + +//Function Number: 7 +setupdroppositions() +{ + level.zmcarepackagelandingspots = common_scripts\utility::getstructarray("carepackageDropPosition","targetname"); + foreach(var_01 in level.zmcarepackagelandingspots) + { + var_01.indoors = isdefined(var_01.script_parameters) && var_01.script_parameters == "indoors"; + var_01.groundorg = var_01.origin; + if(var_01.indoors) + { + var_02 = var_01.origin; + var_03 = var_01.origin + (0,0,-10000); + var_04 = bullettrace(var_02,var_03,0); + var_01.groundorg = var_04["position"]; + } + + wait 0.05; + } +} + +//Function Number: 8 +schedulemoneydrops() +{ + var_00 = []; + var_00[var_00.size] = 100; + var_00[var_00.size] = 100; + var_00[var_00.size] = 300; + var_00[var_00.size] = 400; + var_00[var_00.size] = 600; + var_00[var_00.size] = 700; + var_00[var_00.size] = 800; + var_00[var_00.size] = 1000; + level.zmmoneyschedule = common_scripts\utility::array_randomize(var_00); + level.zmmoneyscheduleindex = 0; +} + +//Function Number: 9 +getnextmoneyamount() +{ + if(level.zmmoneyschedule.size == level.zmmoneyscheduleindex) + { + schedulemoneydrops(); + } + + var_00 = level.zmmoneyschedule[level.zmmoneyscheduleindex]; + level.zmmoneyscheduleindex++; + return var_00; +} + +//Function Number: 10 +roundlogic() +{ + level.zmcarepackagelandingspots = common_scripts\utility::getstructarray("carepackageDropPosition","targetname"); + if(level.zmcarepackagelandingspots.size == 0) + { + return; + } + + level.zmusedcarepackagelandingspots = []; + level.getcratefordroptype = ::getcrate; + level.zmkillstreakcrateprevo = 0; + level.zmkillstreakcratereactvo = 0; + level.zmkillstreakcratefirstvo = 0; + thread setupdroppositions(); + thread schedulescorestreaks(); + thread schedulemoneydrops(); + var_00 = randomintrange(3,5); + for(;;) + { + level waittill("zombie_wave_started"); + if(maps\mp\zombies\_util::is_true(level.disablecarepackagedrops)) + { + continue; + } + + while(level.wavecounter >= var_00) + { + var_01 = randomfloatrange(20,30); + var_02 = level common_scripts\utility::waittill_notify_or_timeout_return("zombie_wave_ended",var_01); + if(!isdefined(var_02) || var_02 != "timeout") + { + continue; + } + + if(level.currentgen && isdefined(level.numzombierewarddrops) && level.numzombierewarddrops >= 4) + { + continue; + } + + if(isdefined(level.nodroppodpenalty) && level.nodroppodpenalty == 1) + { + continue; + } + + if(maps\mp\zombies\_util::is_true(level.disablecarepackagedrops)) + { + continue; + } + + var_02 = dropcarepackage(); + if(isdefined(var_02)) + { + if(isdefined(level.roundsupplydrops)) + { + level.roundsupplydrops[level.roundsupplydrops.size] = var_02; + } + + if(level.players.size == 4) + { + var_02 = dropcarepackage(); + if(isdefined(var_02) && isdefined(level.roundsupplydrops)) + { + level.roundsupplydrops[level.roundsupplydrops.size] = var_02; + } + } + + var_00 = var_00 + randomintrange(2,4); + } + } + + level waittill("zombie_wave_ended"); + } +} + +//Function Number: 11 +getcloseplayertodroppoint(param_00) +{ + var_01 = sortbydistance(level.players,param_00); + return var_01[0]; +} + +//Function Number: 12 +getcrate(param_00) +{ + if(level.zmscorestreaks.size == level.zmscorestreakindex) + { + schedulescorestreaks(); + } + + var_04 = level.zmscorestreaks[level.zmscorestreakindex]; + level.zmscorestreakindex++; + return var_04; +} + +//Function Number: 13 +dropcarepackage(param_00) +{ + var_01 = getowner(); + if(!isdefined(var_01)) + { + return; + } + + if(!isdefined(param_00)) + { + param_00 = getcratelandingspot(var_01); + } + + if(!isdefined(param_00)) + { + return; + } + + if(!param_00.indoors) + { + var_02 = maps\mp\killstreaks\_orbital_carepackage::firepod(level.ocp_weap_name,var_01,param_00,"zombies",[],undefined,undefined,undefined,0); + if(isdefined(var_02) && !level.zmkillstreakcrateprevo) + { + var_01 = getcloseplayertodroppoint(param_00.origin); + var_01 thread maps\mp\zombies\_zombies_audio::playerkillstreakcratevo("orbital_drop_pre"); + level.zmkillstreakcrateprevo = 1; + } + else if(isdefined(var_02) && isdefined(level.zmbcustomsupplydropvo)) + { + [[ level.zmbcustomsupplydropvo ]](); + } + + return var_02; + } + + return dropcratephysics(var_02,var_01); +} + +//Function Number: 14 +dropcratephysics(param_00,param_01) +{ + var_02 = "airdrop_assault"; + var_03 = getcrate(var_02); + var_04 = param_00 maps\mp\killstreaks\_airdrop::createairdropcrate(param_00,var_02,var_03,param_01.origin,undefined,0,1); + var_04 physicslaunchserver((0,0,0)); + var_04 thread maps\mp\killstreaks\_orbital_carepackage::cratedetectstopphysics(); + var_04 maps\mp\killstreaks\_airdrop::physicswaiter(var_02,var_03); + return var_03; +} + +//Function Number: 15 +getowner() +{ + foreach(var_01 in level.players) + { + if(isdefined(var_01)) + { + return var_01; + } + } +} + +//Function Number: 16 +getcratelandingspot(param_00,param_01) +{ + var_02 = 2; + var_03 = getvalidnodes(); + if(!isdefined(param_01)) + { + param_01 = "carepackage"; + } + + if(var_03.size == 0) + { + level.zmusedcarepackagelandingspots = []; + var_03 = getvalidnodes(); + } + + var_03 = common_scripts\utility::array_randomize(var_03); + var_04 = undefined; + var_05 = 0; + foreach(var_07 in var_03) + { + if(closetomarker(var_07.origin,param_01)) + { + continue; + } + + if(var_05 >= var_02) + { + wait 0.05; + var_05 = 0; + } + + var_08 = carepackagetrace(var_07.groundorg,param_00,param_01); + var_05++; + if(var_08) + { + var_04 = var_07; + break; + } + } + + if(isdefined(var_04)) + { + level.zmusedcarepackagelandingspots[level.zmusedcarepackagelandingspots.size] = var_04; + return var_04; + } +} + +//Function Number: 17 +getvalidnodes() +{ + var_00 = []; + foreach(var_02 in level.zmcarepackagelandingspots) + { + if(common_scripts\utility::array_contains(level.zmusedcarepackagelandingspots,var_02)) + { + continue; + } + + if(isdefined(var_02.script_noteworthy) && !common_scripts\utility::flag(var_02.script_noteworthy)) + { + continue; + } + + var_00[var_00.size] = var_02; + } + + return var_00; +} + +//Function Number: 18 +getslotnumber(param_00) +{ + var_01 = undefined; + var_02 = 2; + var_03 = 5; + for(var_04 = var_02;var_04 < var_03;var_04++) + { + var_05 = param_00.pers["killstreaks"][var_04]; + if(!isdefined(var_05) || !isdefined(var_05.streakname) || var_05.available == 0) + { + var_01 = var_04; + break; + } + } + + return var_01; +} + +//Function Number: 19 +handlekillstreaklimit(param_00) +{ + if(!isdefined(getslotnumber(param_00))) + { + showstreaklimitreached(param_00); + return 1; + } + + return 0; +} + +//Function Number: 20 +showstreaklimitreached(param_00) +{ + param_00 iprintlnbold(&"ZOMBIES_STREAK_LIMIT"); +} + +//Function Number: 21 +closetomarker(param_00,param_01) +{ + var_02 = 26; + var_03 = 41; + if(param_01 == "goliath_suit") + { + var_04 = var_03; + } + else + { + var_04 = var_03; + } + + foreach(var_06 in level.orbitaldropmarkers) + { + var_07 = var_04; + if(var_06.orbitaltype == "goliath_suit") + { + var_07 = var_07 + var_03; + } + else + { + var_07 = var_07 + var_02; + } + + var_08 = var_07 * var_07; + var_09 = distance2dsquared(var_06.origin,param_00); + if(var_09 < var_08) + { + return 1; + } + } + + return 0; +} + +//Function Number: 22 +carepackagetrace(param_00,param_01,param_02) +{ + var_03 = 26; + var_04 = 41; + if(param_02 == "goliath_suit") + { + var_05 = var_04; + } + else + { + var_05 = var_04; + } + + return capsuletracepassed(param_00 + (0,0,6),var_05,var_05 * 2,param_01,0); +} + +//Function Number: 23 +killstreakcratethink(param_00) +{ + self endon("death"); + if(!level.zmkillstreakcratereactvo) + { + var_01 = getcloseplayertodroppoint(self.origin); + var_01 thread maps\mp\zombies\_zombies_audio::playerkillstreakcratevo("orbital_drop_react"); + level.zmkillstreakcratereactvo = 1; + } + + self.owner = undefined; + var_02 = maps\mp\killstreaks\_airdrop::getstreakforcrate(param_00,self.cratetype); + var_03 = maps\mp\killstreaks\_airdrop::getmodulesforcrate(param_00,self.cratetype); + var_04 = isdefined(self.owner) && self.owner maps\mp\_utility::_hasperk("specialty_highroller") || isdefined(self.moduleroll) && self.moduleroll; + var_05 = undefined; + if(var_04) + { + var_05 = &"MP_PACKAGE_REROLL"; + } + + var_06 = undefined; + if(isdefined(game["strings"][param_00 + self.cratetype + "_hint"])) + { + var_06 = game["strings"][param_00 + self.cratetype + "_hint"]; + } + else + { + var_06 = &"PLATFORM_GET_KILLSTREAK"; + } + + maps\mp\killstreaks\_airdrop::cratesetuphintstrings(var_06,var_05); + maps\mp\killstreaks\_airdrop::cratesetupforuse("all",maps\mp\killstreaks\_killstreaks::getkillstreakcrateicon(var_02,var_03)); + thread crateothercapturethink(); + if(var_04) + { + thread maps\mp\killstreaks\_airdrop::crateownerdoubletapthink(); + } + + if(self.istrap) + { + maps\mp\killstreaks\_airdrop::cratetrapsetupkillcam(); + } + + for(;;) + { + self waittill("captured",var_01); + var_07 = getslotnumber(var_01); + var_02 = maps\mp\killstreaks\_airdrop::getstreakforcrate(param_00,self.cratetype); + var_03 = maps\mp\killstreaks\_airdrop::getmodulesforcrate(param_00,self.cratetype); + if(isdefined(self.owner) && var_01 != self.owner) + { + if(!level.teambased || var_01.team != self.team) + { + if(self.istrap) + { + var_01 thread maps\mp\killstreaks\_airdrop::detonatetrap(self,self.owner); + return; + } + else + { + var_01 thread maps\mp\_events::hijackerevent(self.owner); + } + } + else + { + self.owner thread maps\mp\_events::sharedevent(); + } + } + + var_01 playlocalsound("orbital_pkg_use"); + if(!level.zmkillstreakcratefirstvo) + { + var_01 thread maps\mp\zombies\_zombies_audio::playerkillstreakcratevo("orbital_drop_1st_get"); + level.zmkillstreakcratefirstvo = 1; + } + else + { + var_01 thread maps\mp\zombies\_zombies_audio::playerkillstreakcratevo("ss_crate_capture"); + } + + var_01 thread maps\mp\gametypes\_hud_message::killstreaksplashnotify(var_02,undefined,undefined,var_03,var_07); + var_01 thread maps\mp\killstreaks\_killstreaks::givekillstreak(var_02,0,0,var_01,var_03,var_07); + if(isdefined(level.mapkillstreak) && level.mapkillstreak == self.cratetype) + { + var_01 thread maps\mp\_events::mapkillstreakevent(); + } + + var_08 = 1; + var_09 = var_01 maps\mp\_utility::_hasperk("specialty_highroller") && !level.teambased || var_01.team != self.team; + var_0A = isdefined(self.moduletrap) && self.moduletrap; + var_0B = var_0A && self.owner == var_01 || level.teambased && var_01.team == self.team; + if(var_09 || var_0B) + { + var_0C = var_01 maps\mp\killstreaks\_airdrop::createairdropcrate(var_01,"booby_trap","booby_trap",self.origin,self.angles); + if(isdefined(var_0C.enemymodel)) + { + var_0C.enemymodel thread maps\mp\killstreaks\_orbital_carepackage::orbitalanimate(1); + } + + var_0C thread maps\mp\killstreaks\_airdrop::boobytrapcratethink(self); + level thread maps\mp\killstreaks\_airdrop::droptimeout(var_0C,var_0C.owner,var_0C.cratetype); + var_08 = 0; + if(isdefined(var_0C.friendlymodel)) + { + var_0C.friendlymodel solid(); + } + + if(isdefined(var_0C.enemymodel)) + { + var_0C.enemymodel solid(); + } + } + + maps\mp\killstreaks\_airdrop::deletecrate(var_08); + } +} + +//Function Number: 24 +crateothercapturethink(param_00,param_01,param_02) +{ + self endon("captured"); + var_03 = self; + if(isdefined(self.otherstringent)) + { + var_03 = self.otherstringent; + } + + if(!isdefined(param_02)) + { + param_02 = 2000; + } + + if(level.currentgen) + { + if(isdefined(self.cratestringent)) + { + var_03 = self.cratestringent; + } + } + + if(!isdefined(param_01)) + { + param_01 = 0; + } + + while(isdefined(self)) + { + var_03 waittill("trigger",var_04); + if(isdefined(self.owner) && var_04 == self.owner) + { + continue; + } + + if(!param_01 && handlekillstreaklimit(var_04)) + { + continue; + } + + if(var_04 isjumping() || isdefined(var_04.exo_hover_on) && var_04.exo_hover_on) + { + continue; + } + + if(!var_04 isonground() && !maps\mp\killstreaks\_airdrop::waitplayerstuckoncarepackagereturn(var_04)) + { + continue; + } + + if(!maps\mp\killstreaks\_airdrop::validateopenconditions(var_04)) + { + continue; + } + + var_04.iscapturingcrate = 1; + var_05 = maps\mp\killstreaks\_airdrop::createuseent(); + var_06 = 0; + if(self.cratetype == "booby_trap") + { + var_06 = var_05 maps\mp\killstreaks\_airdrop::useholdthink(var_04,500,param_00); + } + else + { + var_06 = var_05 maps\mp\killstreaks\_airdrop::useholdthink(var_04,param_02,param_00); + } + + if(isdefined(var_05)) + { + var_05 delete(); + } + + if(!var_06) + { + if(isdefined(var_04)) + { + var_04.iscapturingcrate = 0; + } + + continue; + } + + var_04.iscapturingcrate = 0; + if(isdefined(level.numzombierewarddrops)) + { + level.numzombierewarddrops--; + } + + self notify("captured",var_04); + } +} + +//Function Number: 25 +moneycratethink(param_00) +{ + self endon("death"); + self.owner = undefined; + var_01 = undefined; + if(isdefined(game["strings"][param_00 + self.cratetype + "_hint"])) + { + var_01 = game["strings"][param_00 + self.cratetype + "_hint"]; + } + else + { + var_01 = &"PLATFORM_GET_KILLSTREAK"; + } + + maps\mp\killstreaks\_airdrop::cratesetuphintstrings(var_01); + maps\mp\killstreaks\_airdrop::cratesetupforuse("all","hud_carepkg_world_credits"); + thread crateothercapturethink(undefined,1); + for(;;) + { + self waittill("captured",var_02); + var_02 playlocalsound("zmb_ss_credits_acquire"); + var_02 thread maps\mp\zombies\_zombies_audio::playerkillstreakcratevo("ss_money"); + var_03 = getnextmoneyamount(); + var_02 maps\mp\gametypes\zombies::givepointsforevent("crate",var_03,1); + maps\mp\killstreaks\_airdrop::deletecrate(1); + } +} + +//Function Number: 26 +modifydamagekillstreak(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = param_02; + if(isplayer(param_01) && isagent(param_00)) + { + if(maps\mp\zombies\_util::is_true(self.resistanttosquadmatedamage)) + { + return int(var_05 * 0.5); + } + else + { + return var_05 * level.wavecounter; + } + } + + switch(param_03) + { + case "killstreakmahem_mp": + case "remote_energy_turret_mp": + case "drone_assault_remote_turret_mp": + case "ugv_missile_mp": + case "sentry_minigun_mp": + if(maps\mp\zombies\_util::istrapresistant()) + { + var_05 = int(var_05 * 0.1); + } + else + { + var_05 = var_05 * 3; + } + break; + + case "turretheadmg_mp": + var_05 = 200 + level.wavecounter * 10; + break; + + case "turretheadrocket_mp": + var_05 = 800 + level.wavecounter * randomintrange(50,75); + break; + + case "turretheadenergy_mp": + var_05 = var_05 * 3 + int(level.wavecounter / 2); + break; + + case "iw5_exominigunzm_mp": + if(isdefined(param_04) && param_04 == "MOD_MELEE_ALT" && !maps\mp\zombies\_util::instakillimmune()) + { + var_05 = self.health + 1; + } + else if(isdefined(param_04) && param_04 == "MOD_MELEE_ALT") + { + var_05 = level.wavecounter * 50; + } + else + { + var_05 = 2000; + } + break; + + case "playermech_rocket_zm_mp": + var_05 = 7000; + break; + + case "iw5_juggernautrocketszm_mp": + var_05 = 3500; + break; + + default: + break; + } + + return var_05; +} \ No newline at end of file diff --git a/AW/PC/ZM/maps/mp/killstreaks/_remoteturret.gsc b/AW/PC/maps/mp/zombies/killstreaks/_zombie_sentry.gsc similarity index 84% rename from AW/PC/ZM/maps/mp/killstreaks/_remoteturret.gsc rename to AW/PC/maps/mp/zombies/killstreaks/_zombie_sentry.gsc index a7fcd69..6f198f5 100644 --- a/AW/PC/ZM/maps/mp/killstreaks/_remoteturret.gsc +++ b/AW/PC/maps/mp/zombies/killstreaks/_zombie_sentry.gsc @@ -1,16 +1,18 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/mp/killstreaks/_remoteturret.gsc + * Decompiled File: mp\zombies\killstreaks\_zombie_sentry.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC - * Function Count: 95 - * Decompile Time: 1433 ms - * Timestamp: 10/27/2023 2:09:59 AM + * Function Count: 98 + * Decompile Time: 1540 ms + * Timestamp: 4/22/2024 2:13:15 AM *******************************************************************/ //Function Number: 1 init() { + level.turretsdeployed = 0; + level.turretsinworld = []; if(!isdefined(level.turrettype)) { level.turrettype = []; @@ -18,7 +20,8 @@ init() level.turrettype["mg_turret"] = "remote_mg_turret"; level.killstreakfuncs["remote_mg_turret"] = ::tryuseremotemgturret; - level.killstreakfuncs["remote_mg_sentry_turret"] = ::tryuseremotemgsentryturret; + level.killstreakfuncs["zm_sentry"] = ::tryuseremotemgsentryturret; + level.killstreakfuncs["zm_disruptor"] = ::tryusedisruptorturret; level.killstreakwieldweapons["remote_energy_turret_mp"] = "remote_mg_sentry_turret"; level.killstreakwieldweapons["sentry_minigun_mp"] = "remote_mg_sentry_turret"; level.killstreakwieldweapons["killstreakmahem_mp"] = "remote_mg_sentry_turret"; @@ -30,7 +33,7 @@ init() level.turretsettings["mg_turret"] = spawnstruct(); level.turretsettings["mg_turret"].sentrymodeon = "sentry"; level.turretsettings["mg_turret"].sentrymodeoff = "sentry_offline"; - level.turretsettings["mg_turret"].timeout = 60; + level.turretsettings["mg_turret"].timeout = 90; level.turretsettings["mg_turret"].maxhealth = 1000; level.turretsettings["mg_turret"].streakname = "remote_mg_turret"; level.turretsettings["mg_turret"].teamsplash = "used_remote_mg_turret"; @@ -51,11 +54,17 @@ init() level._effect["sentry_rocket_muzzleflash_wv"] = loadfx("vfx/muzzleflash/rpg_flash_wv"); level._effect["sentry_rocket_muzzleflash_view"] = loadfx("vfx/muzzleflash/rpg_flash_view"); game["dialog"]["ks_sentrygun_destroyed"] = "ks_sentrygun_destroyed"; + level.sentry_ai_clip = getent("sentry_ai_clip","targetname"); } //Function Number: 2 tryuseremotemgsentryturret(param_00,param_01) { + if(maps\mp\zombies\_util::arekillstreaksdisabled()) + { + return 0; + } + var_02 = tryuseremoteturret(param_00,"mg_turret",1,param_01); if(var_02) { @@ -67,8 +76,24 @@ tryuseremotemgsentryturret(param_00,param_01) } //Function Number: 3 +tryusedisruptorturret(param_00,param_01) +{ + if(maps\mp\zombies\_util::arekillstreaksdisabled()) + { + return 0; + } + + return tryuseremotemgsentryturret(param_00,["sentry_disruptor"]); +} + +//Function Number: 4 tryuseremotemgturret(param_00,param_01) { + if(maps\mp\zombies\_util::arekillstreaksdisabled()) + { + return 0; + } + var_02 = tryuseremoteturret(param_00,"mg_turret",0,param_01); if(var_02) { @@ -79,21 +104,26 @@ tryuseremotemgturret(param_00,param_01) return var_02; } -//Function Number: 4 +//Function Number: 5 takekillstreakweapons(param_00) { maps\mp\killstreaks\_killstreaks::takekillstreakweaponifnodupe(level.turretsettings[param_00].laptopinfo); } -//Function Number: 5 +//Function Number: 6 tryuseremoteturret(param_00,param_01,param_02,param_03) { - if(isdefined(self.turret)) + if(level.turretsdeployed >= 4) { - self iprintlnbold(&"KILLSTREAKS_SENTRY_IN_USE"); + self iprintlnbold(&"ZOMBIES_SENTRY_TURRET_MAX"); return 0; } + if(param_03.size == 0) + { + param_03 = ["sentry_guardian","sentry_rippable"]; + } + var_04 = createturretforplayer(param_01,self,param_02,param_03); if(isdefined(level.ishorde) && level.ishorde && self.killstreakindexweapon == 1) { @@ -108,13 +138,22 @@ tryuseremoteturret(param_00,param_01,param_02,param_03) thread restoreperks(); if(isdefined(var_04)) { + var_05 = "ss_use_turret"; + if(common_scripts\utility::array_contains(param_03,"sentry_disruptor")) + { + var_05 = "ss_use_disruptor"; + } + + thread maps\mp\zombies\_zombies_audio::playerkillstreakcratevo(var_05); + level.turretsdeployed++; + level.turretsinworld[var_04 getentitynumber()] = var_04; return 1; } return 0; } -//Function Number: 6 +//Function Number: 7 setupheavyresistancemodel() { if(self.heavyresistance) @@ -126,7 +165,7 @@ setupheavyresistancemodel() self hidepart("TAG_OPTIC_RESISTANCE"); } -//Function Number: 7 +//Function Number: 8 setuprippablemodel() { if(!self.rippable) @@ -135,7 +174,7 @@ setuprippablemodel() } } -//Function Number: 8 +//Function Number: 9 setmodelturretbaseonly() { if(isdefined(self.model) && self.model != "") @@ -164,7 +203,7 @@ setmodelturretbaseonly() setuprippablemodel(); } -//Function Number: 9 +//Function Number: 10 setmodelremoteturret() { if(isdefined(self.model) && self.model != "") @@ -193,7 +232,7 @@ setmodelremoteturret() setuprippablemodel(); } -//Function Number: 10 +//Function Number: 11 setmodelturretplacementgood() { if(isdefined(self.model) && self.model != "") @@ -222,7 +261,7 @@ setmodelturretplacementgood() setuprippablemodel(); } -//Function Number: 11 +//Function Number: 12 setmodelturretplacementfailed() { if(isdefined(self.model) && self.model != "") @@ -251,7 +290,7 @@ setmodelturretplacementfailed() setuprippablemodel(); } -//Function Number: 12 +//Function Number: 13 setcarryingturret(param_00,param_01) { self endon("death"); @@ -264,7 +303,7 @@ setcarryingturret(param_00,param_01) } param_00 turret_setcarried(self); - var_02 = maps\mp\_utility::getkillstreakweapon("remote_mg_sentry_turret"); + var_02 = maps\mp\_utility::getkillstreakweapon("zm_sentry"); var_03 = self getcurrentprimaryweapon(); if(!maps\mp\gametypes\_weapons::isvalidlastweapon(var_03) || var_03 == "iw5_underwater_mp") { @@ -279,9 +318,12 @@ setcarryingturret(param_00,param_01) common_scripts\utility::_disableweaponswitch(); } + thread translateturretinput("place_turret"); + thread translateturretinput("cancel_turret"); + thread translateturretinput("force_cancel_placement"); for(;;) { - var_04 = common_scripts\utility::waittill_any_return("place_turret","cancel_turret","force_cancel_placement"); + self waittill("translated_turret_input",var_04); if(var_04 == "cancel_turret" || var_04 == "force_cancel_placement") { if(var_04 == "cancel_turret" && !param_01) @@ -304,6 +346,7 @@ setcarryingturret(param_00,param_01) common_scripts\utility::_enableweaponswitch(); } + self notify("end_translate_turret_input"); return 0; } @@ -331,11 +374,12 @@ setcarryingturret(param_00,param_01) common_scripts\utility::_enableweaponswitch(); } + self notify("end_translate_turret_input"); return 1; } } -//Function Number: 13 +//Function Number: 14 playerswitchawayfromholdingturret(param_00,param_01) { self endon("death"); @@ -350,8 +394,30 @@ playerswitchawayfromholdingturret(param_00,param_01) maps\mp\killstreaks\_killstreaks::takekillstreakweaponifnodupe(param_01); } -//Function Number: 14 -setripoffturrethead(param_00) +//Function Number: 15 +playergiveturrethead(param_00,param_01) +{ + maps\mp\killstreaks\_killstreaks::givekillstreak("zm_ripped_turret",0,0,self,[param_00],param_01); + if(!isdefined(self.pers["rippableSentry"])) + { + self.pers["rippableSentry"] = spawnstruct(); + } + + var_02 = maps\mp\killstreaks\_rippedturret::getammoforturretweapontype(param_00); + maps\mp\killstreaks\_rippedturret::playerrecordrippableammo(var_02); + if(!common_scripts\utility::is_player_gamepad_enabled()) + { + var_03 = param_01 + 1; + var_04 = "streakUsed" + var_03; + self notify(var_04); + waittillframeend; + } + + self switchtoweapon(param_00); +} + +//Function Number: 16 +setripoffturrethead(param_00,param_01) { self endon("death"); self endon("disconnect"); @@ -373,11 +439,11 @@ setripoffturrethead(param_00) if(param_00.energyturret) { - thread maps\mp\killstreaks\_rippedturret::playergiveturrethead("turretheadenergy_mp"); + thread playergiveturrethead("turretheadenergy_mp",param_01); } else if(param_00.rocketturret) { - thread maps\mp\killstreaks\_rippedturret::playergiveturrethead("turretheadrocket_mp"); + thread playergiveturrethead("turretheadrocket_mp",param_01); } else if(param_00.disruptorturret) { @@ -385,25 +451,27 @@ setripoffturrethead(param_00) } else { - thread maps\mp\killstreaks\_rippedturret::playergiveturrethead("turretheadmg_mp"); + thread playergiveturrethead("turretheadmg_mp",param_01); } param_00 playsound("sentry_gun_detach"); } -//Function Number: 15 +//Function Number: 17 deleteaftertime(param_00) { self endon("death"); level maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause(param_00); if(isdefined(self)) { + level.turretsdeployed--; + level.turretsinworld[self getentitynumber()] = undefined; deathsoundsandfx(); self delete(); } } -//Function Number: 16 +//Function Number: 18 deathsoundsandfx() { var_00 = self gettagorigin("TAG_AIM_PIVOT"); @@ -411,7 +479,7 @@ deathsoundsandfx() playsoundatpos(var_00,"sentry_gun_self_destruct"); } -//Function Number: 17 +//Function Number: 19 removeperks() { if(maps\mp\_utility::_hasperk("specialty_explosivebullets")) @@ -421,7 +489,7 @@ removeperks() } } -//Function Number: 18 +//Function Number: 20 restoreperks() { if(isdefined(self.restoreperk)) @@ -431,24 +499,14 @@ restoreperks() } } -//Function Number: 19 -waitrestoreperks() -{ - self endon("death"); - self endon("disconnect"); - level endon("game_ended"); - wait(0.05); - restoreperks(); -} - -//Function Number: 20 +//Function Number: 21 turret_quickdeath(param_00) { self.quick_death = 1; self notify("death"); } -//Function Number: 21 +//Function Number: 22 turret_setplaced() { setmodelremoteturret(); @@ -474,7 +532,7 @@ turret_setplaced() self notify("placed"); } -//Function Number: 22 +//Function Number: 23 turret_setcancelled() { self.carriedby forceusehintoff(); @@ -486,7 +544,7 @@ turret_setcancelled() self delete(); } -//Function Number: 23 +//Function Number: 24 turret_setcarried(param_00) { setmodelturretplacementgood(); @@ -507,7 +565,7 @@ turret_setcarried(param_00) self notify("carried"); } -//Function Number: 24 +//Function Number: 25 updateturretplacement(param_00) { self endon("death"); @@ -523,10 +581,19 @@ updateturretplacement(param_00) var_02 = self canplayerplacesentry(1); param_00.origin = var_02["origin"]; param_00.angles = var_02["angles"]; + var_03 = var_02["entity"]; param_00.canbeplaced = self isonground() && var_02["result"] && abs(param_00.origin[2] - self.origin[2]) < 10 && !param_00 istouchingwater(); - if(isdefined(var_02["entity"])) + if(isdefined(var_03)) { - param_00.placementlinkentity = var_02["entity"]; + if(maps\mp\zombies\_util::is_true(var_03.noturretplacement)) + { + param_00.canbeplaced = 0; + param_00.placementlinkentity = undefined; + } + else + { + param_00.placementlinkentity = var_03; + } } else { @@ -552,7 +619,7 @@ updateturretplacement(param_00) } } -//Function Number: 25 +//Function Number: 26 istouchingwater() { if(!isdefined(level.water_triggers)) @@ -573,7 +640,7 @@ istouchingwater() return 0; } -//Function Number: 26 +//Function Number: 27 turret_oncarrierdeath(param_00) { self endon("placed"); @@ -586,15 +653,10 @@ turret_oncarrierdeath(param_00) return; } - if(isdefined(self.owner)) - { - self.owner.iscarrying = 0; - } - self delete(); } -//Function Number: 27 +//Function Number: 28 turret_oncarrierdisconnect(param_00) { self endon("placed"); @@ -604,7 +666,7 @@ turret_oncarrierdisconnect(param_00) self delete(); } -//Function Number: 28 +//Function Number: 29 turret_oncarrierchangedteam(param_00) { self endon("placed"); @@ -614,7 +676,7 @@ turret_oncarrierchangedteam(param_00) self delete(); } -//Function Number: 29 +//Function Number: 30 turret_ongameended(param_00) { self endon("placed"); @@ -624,7 +686,7 @@ turret_ongameended(param_00) self delete(); } -//Function Number: 30 +//Function Number: 31 createturretforplayer(param_00,param_01,param_02,param_03) { var_04 = "sentry_minigun_mp"; @@ -651,6 +713,8 @@ createturretforplayer(param_00,param_01,param_02,param_03) var_05.issentry = common_scripts\utility::array_contains(var_05.modules,"sentry_guardian"); var_05.is360 = common_scripts\utility::array_contains(var_05.modules,"sentry_360"); var_05.weaponinfo = var_04; + var_05.canremotecontrol = 0; + var_05.linegunignore = 1; var_05 setmodelremoteturret(); if(var_05.rocketturret) { @@ -694,7 +758,7 @@ createturretforplayer(param_00,param_01,param_02,param_03) return var_05; } -//Function Number: 31 +//Function Number: 32 turret_setactive() { self endon("death"); @@ -708,17 +772,8 @@ turret_setactive() var_00 = self.owner; level.turrets[self getentitynumber()] = self; - if(isdefined(var_00.remoteturretlist)) - { - foreach(var_02 in var_00.remoteturretlist) - { - var_02 notify("death"); - } - } - - var_00.remoteturretlist = []; - var_00.remoteturretlist[0] = self; - if(!self.disruptorturret) + var_00.using_remote_turret = 0; + if(self.canremotecontrol) { if(!isdefined(self.remoteent)) { @@ -731,17 +786,32 @@ turret_setactive() { self.remoteent maps\mp\_utility::enablegloballyusablebytype(); } + + var_00.pickup_message_deleted = undefined; + var_00.enter_message_deleted = undefined; + var_00 thread watchownermessageondeath(self); + } + + if(!isdefined(self.aiclip) && isdefined(level.sentry_ai_clip)) + { + self.aiclip = spawn("script_model",self.origin); + self.aiclip setmodel("tag_origin"); + self.aiclip clonebrushmodeltoscriptmodel(level.sentry_ai_clip); + self.aiclip vehicle_jetbikesethoverforcescale(self,"tag_origin",(0,0,0),(0,0,0)); + } + else if(isdefined(self.aiclip)) + { + self.aiclip solid(); } - var_00.using_remote_turret = 0; - var_00.pickup_message_deleted = undefined; - var_00.enter_message_deleted = undefined; - var_00 thread watchownermessageondeath(self); if(level.teambased) { self.team = var_00.team; self setturretteam(var_00.team); + var_01 = game["entity_headicon_allies"]; + game["entity_headicon_allies"] = game["entity_headicon_axis"]; maps\mp\_entityheadicons::setteamheadicon(self.team,(0,0,65),"tag_origin"); + game["entity_headicon_allies"] = var_01; } else { @@ -759,7 +829,7 @@ turret_setactive() var_00 thread player_handleturretrippable(self); } - if(!self.disruptorturret) + if(self.canremotecontrol) { thread watchenterandexit(); } @@ -787,31 +857,21 @@ turret_setactive() } } -//Function Number: 32 -handlemeleedamage(param_00,param_01,param_02) -{ - if(maps\mp\_utility::ismeleemod(param_01)) - { - var_03 = self.maxhealth + 1; - if(var_03 > param_02) - { - return var_03; - } - } - - return param_02; -} - //Function Number: 33 turret_modifydamage(param_00,param_01,param_02,param_03) { - var_04 = param_03; - var_04 = handlemeleedamage(param_01,param_02,var_04); - var_04 = maps\mp\gametypes\_damage::handleempdamage(param_01,param_02,var_04,param_00); - var_04 = maps\mp\gametypes\_damage::handlemissiledamage(param_01,param_02,var_04); - var_04 = maps\mp\gametypes\_damage::handlegrenadedamage(param_01,param_02,var_04); - var_04 = maps\mp\gametypes\_damage::handleapdamage(param_01,param_02,var_04,param_00); - if(isdefined(self.owner) && var_04 > 0) + var_04 = maps\mp\gametypes\_damage::modifydamage(param_00,param_01,param_02,param_03); + if(isdefined(param_01) && param_01 == "remote_energy_turret_mp" || param_01 == "sentry_minigun_mp" || param_01 == "killstreakmahem_mp") + { + var_04 = -1; + } + + if(isplayer(param_00)) + { + var_04 = -1; + } + + if(isdefined(self.owner) && self.owner.using_remote_turret && var_04 > 0) { self.owner playrumbleonentity("damage_heavy"); self.owner thread maps\mp\killstreaks\_aerial_utility::playershowstreakstaticfordamage(); @@ -967,20 +1027,12 @@ startusingremoteturret(param_00,param_01,param_02,param_03,param_04) waitsetthermal(param_00,param_01) { self endon("disconnect"); - self endon("thermalVisionFOFOverlayOff"); param_01 endon("death"); wait(param_00); self thermalvisionfofoverlayon(); } //Function Number: 40 -setthermaloff() -{ - self notify("thermalVisionFOFOverlayOff"); - self thermalvisionfofoverlayoff(); -} - -//Function Number: 41 stopusingremoteturret(param_00) { if(!isdefined(self.remotecontrolled) || !self.remotecontrolled) @@ -1012,7 +1064,7 @@ stopusingremoteturret(param_00) var_01 unlink(); if(var_01 maps\mp\_utility::isusingremote()) { - var_01 setthermaloff(); + var_01 thermalvisionfofoverlayoff(); var_01 remotecontrolturretoff(self); if(var_01 maps\mp\_utility::isusingremote()) { @@ -1051,7 +1103,7 @@ stopusingremoteturret(param_00) self notify("exit"); } -//Function Number: 42 +//Function Number: 41 playerdoridekillstreak(param_00,param_01) { var_02 = "remote_turret"; @@ -1081,7 +1133,7 @@ playerdoridekillstreak(param_00,param_01) self notify("initRideKillstreak_complete",1); } -//Function Number: 43 +//Function Number: 42 watchownermessageondeath(param_00) { self endon("disconnect"); @@ -1119,7 +1171,7 @@ watchownermessageondeath(param_00) } } -//Function Number: 44 +//Function Number: 43 watchenterandexit() { self endon("death"); @@ -1147,14 +1199,14 @@ watchenterandexit() } } -//Function Number: 45 +//Function Number: 44 player_shoulddisableremoteenter(param_00) { var_01 = self getcurrentweapon(); return param_00 turret_isstunned() || player_isusingkillstreak(param_00) || isdefined(self.underwater) && self.underwater || self.using_remote_turret || var_01 == "none" || self istouching(param_00.ownertrigger) || self islinked() && !self.using_remote_turret || isdefined(self.empgrenaded) && self.empgrenaded; } -//Function Number: 46 +//Function Number: 45 watchenterandexitinput() { self endon("death"); @@ -1190,7 +1242,7 @@ watchenterandexitinput() } } -//Function Number: 47 +//Function Number: 46 waittillremoteturretusedreturn() { var_00 = self.owner; @@ -1204,7 +1256,7 @@ waittillremoteturretusedreturn() } } -//Function Number: 48 +//Function Number: 47 waittillremoteturretleavereturn() { var_00 = self.owner; @@ -1214,7 +1266,7 @@ waittillremoteturretleavereturn() while(var_00 usebuttonpressed()) { var_01 = var_01 + 0.05; - if(var_01 > 0.2 && var_00 playercanuseturret(self)) + if(var_01 > 1 && var_00 playercanuseturret(self)) { return; } @@ -1226,7 +1278,7 @@ waittillremoteturretleavereturn() } } -//Function Number: 49 +//Function Number: 48 playercanuseturret(param_00) { if(self fragbuttonpressed() || isdefined(self.throwinggrenade) || self secondaryoffhandbuttonpressed()) @@ -1277,14 +1329,14 @@ playercanuseturret(param_00) return 1; } -//Function Number: 50 +//Function Number: 49 player_isusingkillstreak(param_00) { var_01 = self getcurrentweapon(); return maps\mp\_utility::isjuggernaut() || maps\mp\_utility::isusingremote() || maps\mp\_utility::isinremotetransition() || maps\mp\_utility::iskillstreakweapon(var_01) && var_01 != "killstreak_remote_turret_mp" && var_01 != "sentry_minigun_mp" && var_01 != "remote_energy_turret_mp" && var_01 != level.turretsettings[param_00.turrettype].laptopinfo && var_01 != "none" && var_01 != "turretheadmg_mp" && var_01 != "turretheadenergy_mp" && var_01 != "turretheadrocket_mp"; } -//Function Number: 51 +//Function Number: 50 player_handleturrethints(param_00) { self endon("disconnect"); @@ -1321,14 +1373,14 @@ player_handleturrethints(param_00) } } -//Function Number: 52 +//Function Number: 51 player_shouldclearturretpickuphints(param_00) { var_01 = self getcurrentweapon(); return param_00 turret_isstunned() || player_isusingkillstreak(param_00) || isdefined(self.underwater) && self.underwater || self.using_remote_turret || var_01 == "none" || !self istouching(param_00.ownertrigger) || !maps\mp\_utility::isreallyalive(self) || !self isonground() || isdefined(param_00.carriedby); } -//Function Number: 53 +//Function Number: 52 player_handleturretpickup(param_00) { self endon("disconnect"); @@ -1418,7 +1470,6 @@ player_handleturretpickup(param_00) param_00 sentry_stopattackingtargets(); thread setcarryingturret(param_00,0); param_00 turret_clearpickuphints(); - self.remoteturretlist = undefined; param_00.pickupent delete(); param_00.ownertrigger delete(); return; @@ -1432,7 +1483,7 @@ player_handleturretpickup(param_00) } } -//Function Number: 54 +//Function Number: 53 player_handleturretrippable(param_00) { self endon("disconnect"); @@ -1518,11 +1569,17 @@ player_handleturretrippable(param_00) continue; } + var_02 = maps\mp\zombies\killstreaks\_zombie_killstreaks::getslotnumber(self); + if(!isdefined(var_02)) + { + maps\mp\zombies\killstreaks\_zombie_killstreaks::showstreaklimitreached(self); + continue; + } + param_00 setmode(level.turretsettings[param_00.turrettype].sentrymodeoff); param_00 sentry_stopattackingtargets(); - thread setripoffturrethead(param_00); + thread setripoffturrethead(param_00,var_02); param_00 turret_clearpickuphints(); - self.remoteturretlist = undefined; param_00.pickupent delete(); param_00.ownertrigger delete(); return; @@ -1533,7 +1590,7 @@ player_handleturretrippable(param_00) } } -//Function Number: 55 +//Function Number: 54 turret_blinky_light() { self endon("death"); @@ -1546,7 +1603,7 @@ turret_blinky_light() } } -//Function Number: 56 +//Function Number: 55 turret_setinactive() { self setmode(level.turretsettings[self.turrettype].sentrymodeoff); @@ -1575,7 +1632,7 @@ turret_setinactive() if(isdefined(var_00.using_remote_turret) && var_00.using_remote_turret) { var_00 thermalvisionoff(); - var_00 setthermaloff(); + var_00 thermalvisionfofoverlayoff(); var_00 remotecontrolturretoff(self); var_00 unlink(); var_01 = var_00 common_scripts\utility::getlastweapon(); @@ -1599,10 +1656,7 @@ turret_setinactive() { if(isdefined(level.ishorde) && level.ishorde && isdefined(var_00.laststand) && var_00.laststand) { - if(var_00.disabledusability > 1) - { - var_00.disabledusability--; - } + var_00.disabledusability--; } else { @@ -1616,9 +1670,14 @@ turret_setinactive() var_00.juggernautoverlay.alpha = 1; } } + + if(isdefined(self.aiclip)) + { + self.aiclip notsolid(); + } } -//Function Number: 57 +//Function Number: 56 turret_handleownerdisconnect() { self endon("death"); @@ -1629,7 +1688,7 @@ turret_handleownerdisconnect() self notify("death"); } -//Function Number: 58 +//Function Number: 57 turret_gameend() { self endon("death"); @@ -1640,7 +1699,7 @@ turret_gameend() } } -//Function Number: 59 +//Function Number: 58 turret_timeout() { self endon("death"); @@ -1652,12 +1711,8 @@ turret_timeout() self.timeoutstarted = 1; var_00 = level.turretsettings[self.turrettype].timeout; - if(self.disruptorturret) - { - var_00 = var_00 + 30; - } - self.owner setclientomnvar("ui_sentry_lifespan",var_00); + thread turret_blinkheadiconbeforedeath(var_00); while(var_00) { wait(1); @@ -1676,22 +1731,35 @@ turret_timeout() self notify("death"); } +//Function Number: 59 +playerownsanotherturret() +{ + foreach(var_01 in level.turretsinworld) + { + if(isdefined(var_01) && isdefined(var_01.owner) && var_01.owner == self) + { + return 1; + } + } + + return 0; +} + //Function Number: 60 turret_handledeath() { self endon("carried"); - var_00 = self getentitynumber(); - maps\mp\killstreaks\_autosentry::addtoturretlist(var_00); - self waittill("death",var_01,var_02,var_03); + self waittill("death",var_00,var_01,var_02); self cleartargetentity(); - turret_deathsounds(var_01,var_03); + turret_deathsounds(var_00,var_02); self.damagecallback = undefined; self setcandamage(0); self setdamagecallbackon(0); self freeentitysentient(); self laseroff(); self.dead = 1; - maps\mp\killstreaks\_autosentry::removefromturretlist(var_00); + level.turretsdeployed--; + level.turretsinworld[self getentitynumber()] = undefined; if(!isdefined(self)) { return; @@ -1707,23 +1775,26 @@ turret_handledeath() self.remoteent maps\mp\_utility::makegloballyunusablebytype(); } - var_04 = self.owner; - if(isdefined(var_04)) + var_03 = self.owner; + if(isdefined(var_03)) { stopusingremoteturret(); - var_04.using_remote_turret = 0; - var_04.turret = undefined; - var_04 restoreperks(); - var_04 playerremovenotifycommands(); - if(var_04 getcurrentweapon() == "none") + var_03.using_remote_turret = 0; + var_03.turret = undefined; + if(!var_03 playerownsanotherturret()) { - var_05 = var_04 common_scripts\utility::getlastweapon(); - if(isdefined(var_04.underwater) && var_04.underwater) + var_03 playerremovenotifycommands(); + } + + if(var_03 getcurrentweapon() == "none") + { + var_04 = var_03 common_scripts\utility::getlastweapon(); + if(isdefined(var_03.underwater) && var_03.underwater) { - var_05 = var_04 maps\mp\_utility::get_water_weapon(); + var_04 = var_03 maps\mp\_utility::get_water_weapon(); } - var_04 switchtoweapon(var_05); + var_03 switchtoweapon(var_04); } } @@ -1732,12 +1803,12 @@ turret_handledeath() { playfxontag(common_scripts\utility::getfx("sentry_explode_mp"),self,"TAG_AIM_PIVOT"); wait(1.5); - var_06 = 8; - while(var_06 > 0) + var_05 = 8; + while(var_05 > 0) { playfxontag(common_scripts\utility::getfx("sentry_smoke_mp"),self,"tag_aim"); wait(0.4); - var_06 = var_06 - 0.4; + var_05 = var_05 - 0.4; } } @@ -1762,9 +1833,9 @@ turret_handledeath() self.remoteent delete(); } - if(isdefined(self.rocketmuzzleflashent)) + if(isdefined(self.aiclip)) { - self.rocketmuzzleflashent delete(); + self.aiclip delete(); } deathsoundsandfx(); @@ -1776,7 +1847,7 @@ turret_deathsounds(param_00,param_01) { if(isdefined(self.owner) && isdefined(param_00) && self.owner != param_00) { - self.owner thread maps\mp\_utility::leaderdialogonplayer("ks_sentrygun_destroyed",undefined,undefined,self.origin); + self.owner thread maps\mp\zombies\_zombies_audio::playerkillstreakcratevo("ss_zom_destroy_turret"); } } @@ -2049,7 +2120,7 @@ turret_firerocket(param_00) } else { - var_06 = isdefined(var_05) && isplayer(var_05) && !isalliedsentient(self.owner,var_05); + var_06 = isdefined(var_05) && issentient(var_05) && !isalliedsentient(self.owner,var_05); } if(!var_06 && param_00) @@ -2058,7 +2129,8 @@ turret_firerocket(param_00) } self playrumbleonentity("damage_heavy"); - var_07 = magicbullet("killstreakmahem_mp",var_01,var_03,self.owner); + var_07 = magicbullet("killstreakmahem_mp",var_01,var_03,self.owner,1); + self playsoundonmovingent("wpn_mahem_npc"); if(param_00) { var_08 = 2500; @@ -2072,12 +2144,14 @@ turret_firerocket(param_00) if(!param_00) { playfxontagforclients(common_scripts\utility::getfx("sentry_rocket_muzzleflash_view"),self,"tag_flash",self.owner); - if(!isdefined(self.rocketmuzzleflashent)) + foreach(var_0A in level.players) { - self.rocketmuzzleflashent = spawnmuzzleflashent(self,"tag_flash",self.owner); + if(var_0A != self.owner) + { + playfxontagforclients(common_scripts\utility::getfx("sentry_rocket_muzzleflash_wv"),self,"tag_flash",var_0A); + } } - playfxontag(common_scripts\utility::getfx("sentry_rocket_muzzleflash_wv"),self.rocketmuzzleflashent,"tag_origin"); return; } @@ -2085,51 +2159,12 @@ turret_firerocket(param_00) } //Function Number: 77 -spawnmuzzleflashent(param_00,param_01,param_02) -{ - var_03 = spawn("script_model",(0,0,0)); - var_03 setmodel("tag_origin"); - var_03 linkto(param_00,param_01,(0,0,0),(0,0,0)); - var_03 hide(); - foreach(var_05 in level.players) - { - if(var_05 != param_02) - { - var_03 showtoplayer(var_05); - } - } - - thread onplayerconnectmuzzleflashent(var_03); - return var_03; -} - -//Function Number: 78 -onplayerconnectmuzzleflashent(param_00) -{ - param_00 endon("death"); - for(;;) - { - level waittill("connected",var_01); - thread onplayerspawnedmuzzleflashent(param_00,var_01); - } -} - -//Function Number: 79 -onplayerspawnedmuzzleflashent(param_00,param_01) -{ - param_00 endon("death"); - param_01 endon("disconnect"); - param_01 waittill("spawned_player"); - param_00 showtoplayer(param_01); -} - -//Function Number: 80 sentry_burstfirestop() { self notify("stop_shooting"); } -//Function Number: 81 +//Function Number: 78 sentry_heatmonitor(param_00,param_01,param_02) { self endon("death"); @@ -2137,32 +2172,49 @@ sentry_heatmonitor(param_00,param_01,param_02) var_03 = weaponfiretime(param_00); var_04 = 0; var_05 = 0; - if(self.heatlevel != var_04) + for(;;) { - wait(var_03); - } - else - { - self.heatlevel = max(0,self.heatlevel - 0.05); - } - - if(self.heatlevel > param_01) - { - self.overheated = 1; - self turretsetbarrelspinenabled(0); - thread playheatfx(); - switch(self.turrettype) + if(self.heatlevel != var_04) { - case "mg_turret": - break; - - default: - break; + wait(var_03); } + else + { + self.heatlevel = max(0,self.heatlevel - 0.05); + } + + if(self.heatlevel > param_01) + { + self.overheated = 1; + self turretsetbarrelspinenabled(0); + thread playheatfx(); + switch(self.turrettype) + { + case "mg_turret": + playfxontag(common_scripts\utility::getfx("sentry_smoke_mp"),self,"tag_aim"); + break; + + default: + break; + } + + while(self.heatlevel) + { + self.heatlevel = max(0,self.heatlevel - param_02); + wait(0.1); + } + + self turretsetbarrelspinenabled(1); + self.overheated = 0; + self notify("not_overheated"); + } + + var_04 = self.heatlevel; + wait(0.05); } } -//Function Number: 82 +//Function Number: 79 playheatfx() { self endon("death"); @@ -2178,7 +2230,7 @@ playheatfx() } } -//Function Number: 83 +//Function Number: 80 turret_watchemp() { self endon("carried"); @@ -2188,7 +2240,7 @@ turret_watchemp() self notify("death"); } -//Function Number: 84 +//Function Number: 81 turret_watchdisabled() { self endon("carried"); @@ -2225,13 +2277,13 @@ turret_watchdisabled() } } -//Function Number: 85 +//Function Number: 82 turret_isstunned() { return isdefined(self.stunned) && self.stunned; } -//Function Number: 86 +//Function Number: 83 turret_createantiintrusionkillcament() { var_00 = spawn("script_model",self.origin + (0,0,60)); @@ -2241,7 +2293,7 @@ turret_createantiintrusionkillcament() var_00 delete(); } -//Function Number: 87 +//Function Number: 84 turret_handlelaser() { self endon("death"); @@ -2255,7 +2307,7 @@ turret_handlelaser() self laseroff(); } -//Function Number: 88 +//Function Number: 85 turret_handlepitch() { self endon("carried"); @@ -2283,7 +2335,7 @@ turret_handlepitch() } } -//Function Number: 89 +//Function Number: 86 turret_hordeshootdronesandturrets() { self endon("death"); @@ -2332,7 +2384,42 @@ turret_hordeshootdronesandturrets() } } -//Function Number: 90 +//Function Number: 87 +turret_blinkheadiconbeforedeath(param_00) +{ + var_01 = 8; + var_02 = param_00 - var_01; + var_03 = gettime() + param_00 * 1000; + wait(var_02); + while(gettime() < var_03) + { + if(isdefined(self.entityheadicon)) + { + if(self.entityheadicon.alpha == 1) + { + self.entityheadicon.alpha = 0; + continue; + } + + self.entityheadicon.alpha = 1; + } + + wait(0.25); + } +} + +//Function Number: 88 +translateturretinput(param_00) +{ + self endon("end_translate_turret_input"); + for(;;) + { + self waittill(param_00); + self notify("translated_turret_input",param_00); + } +} + +//Function Number: 89 playeraddnotifycommands() { self notifyonplayercommand("turret_fire","+attack"); @@ -2353,7 +2440,7 @@ playeraddnotifycommands() } } -//Function Number: 91 +//Function Number: 90 playerremovenotifycommands() { self notifyonplayercommandremove("turret_fire","+attack"); @@ -2374,7 +2461,7 @@ playerremovenotifycommands() } } -//Function Number: 92 +//Function Number: 91 sentry_disruptor() { level endon("game_ended"); @@ -2404,44 +2491,35 @@ sentry_disruptor() { var_00 = self gettagorigin("tag_flash"); var_01 = anglestoforward(self gettagangles("tag_flash")); - foreach(var_03 in level.players) + var_02 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + foreach(var_04 in var_02) { - if(self.stunned) + if(var_04.team != level.enemyteam) { continue; } - if(var_03 == self.owner || level.teambased && var_03.team == self.team) + if(!turretdisruptorcanhurtzombie(var_04,var_00,var_01)) { continue; } - if(!turretdisruptorcanhurtplayer(var_03,var_00,var_01)) + if(common_scripts\utility::array_contains(self.radiationlist,var_04)) { continue; } - if(common_scripts\utility::array_contains(self.radiationlist,var_03)) - { - continue; - } - - self.radiationlist = common_scripts\utility::array_add(self.radiationlist,var_03); - thread turretdisruptorhurtplayer(var_03); + self.radiationlist = common_scripts\utility::array_add(self.radiationlist,var_04); + thread turretdisruptorhurtzombie(var_04); } wait 0.05; } } -//Function Number: 93 -turretdisruptorcanhurtplayer(param_00,param_01,param_02) +//Function Number: 92 +turretdisruptorcanhurtzombie(param_00,param_01,param_02) { - if(!isalive(param_00)) - { - return 0; - } - var_03 = param_00.origin + (0,0,30); var_04 = distancesquared(var_03,param_01); if(var_04 > level.turretdisruptorradiussq) @@ -2460,20 +2538,18 @@ turretdisruptorcanhurtplayer(param_00,param_01,param_02) return var_07 > 0; } -//Function Number: 94 -turretdisruptorhurtplayer(param_00) +//Function Number: 93 +turretdisruptorhurtzombie(param_00) { self endon("death"); - param_00 endon("disconnect"); - var_01 = 0.8; + var_01 = 0.2; var_02 = 16; var_03 = gettime(); - var_04 = gettime(); - var_05 = 2; - for(var_06 = 1;var_06;var_06 = turretdisruptorcanhurtplayer(param_00,var_07,var_08)) + var_04 = 0.05; + for(var_05 = 1;var_05;var_05 = turretdisruptorcanhurtzombie(param_00,var_06,var_07)) { - var_07 = self gettagorigin("tag_flash"); - var_08 = anglestoforward(self gettagangles("tag_flash")); + var_06 = self gettagorigin("tag_flash"); + var_07 = anglestoforward(self gettagangles("tag_flash")); if(self.stunned) { while(self.stunned) @@ -2481,43 +2557,86 @@ turretdisruptorhurtplayer(param_00) wait 0.05; } - var_06 = turretdisruptorcanhurtplayer(param_00,var_07,var_08); + var_05 = turretdisruptorcanhurtzombie(param_00,var_06,var_07); continue; } - if(gettime() >= var_04) - { - param_00 shellshock("mp_radiation_med",var_05); - var_04 = gettime() + var_05 * 1000; - } - if(gettime() >= var_03) { - param_00 dodamage(var_02,var_07,self.owner,self,"MOD_TRIGGER_HURT","iw5_dlcgun12loot3_mp","torso_upper"); var_03 = gettime() + var_01 * 1000; - if(isalive(param_00) && !param_00 maps\mp\_utility::_hasperk("specialty_empimmune")) - { - param_00 thread maps\mp\_empgrenade::applyemp(); - } + param_00 maps\mp\zombies\_zombies::addbuff("disruptorBuff",param_00 getdisruptorbuff(self.owner)); } - var_09 = param_00 common_scripts\utility::waittill_notify_or_timeout_return("death",0.05); - if(!isdefined(var_09) || var_09 != "timeout") + var_08 = param_00 common_scripts\utility::waittill_notify_or_timeout_return("death",0.05); + if(!isdefined(var_08) || var_08 != "timeout") { param_00 stopshellshock(); break; } } - if(isdefined(param_00) && !isalive(param_00)) - { - param_00 stopshellshock(); - } - self.radiationlist = common_scripts\utility::array_remove(self.radiationlist,param_00); } +//Function Number: 94 +getdisruptorbuff(param_00) +{ + var_01 = maps\mp\zombies\_zombies::getbuff("disruptorBuff"); + if(!isdefined(var_01)) + { + var_01 = spawndisruptorbuff(); + } + + var_01.lifespan = 0.2; + var_01.player = param_00; + return var_01; +} + //Function Number: 95 +spawndisruptorbuff() +{ + var_00 = 100; + var_01 = 0.4; + var_02 = spawnstruct(); + var_02.buffupdate = ::updatedisruptorbuff; + var_02.buffremove = ::removedisruptorbuff; + var_02.lifespan = 0.2; + var_02.damageperstep = var_00 * maps\mp\zombies\_zombies::getbufftimestep(); + var_02.speedmultiplier = var_01; + self notify("speed_debuffs_changed"); + return var_02; +} + +//Function Number: 96 +updatedisruptorbuff(param_00) +{ + var_01 = param_00.player; + if(isremovedentity(var_01)) + { + var_01 = undefined; + } + + self dodamage(param_00.damageperstep,self.origin,var_01,undefined,"MOD_TRIGGER_HURT","remote_energy_turret_mp","none"); + if(!isdefined(self.isturretdisruptoremp) && maps\mp\agents\humanoid\_humanoid_util::has_humanoid_exo_abilities()) + { + maps\mp\agents\humanoid\_humanoid_util::disable_humanoid_exo_abilities(); + self.isturretdisruptoremp = 1; + } +} + +//Function Number: 97 +removedisruptorbuff(param_00) +{ + self notify("speed_debuffs_changed"); + if(isdefined(self.isturretdisruptoremp) && maps\mp\agents\humanoid\_humanoid_util::has_humanoid_exo_abilities()) + { + maps\mp\agents\humanoid\_humanoid_util::enable_humanoid_exo_abilities(); + } + + self.isturretdisruptoremp = undefined; +} + +//Function Number: 98 turretdisruptorvisualsaudio() { var_00 = self gettagangles("tag_flash") + (90,0,0); diff --git a/AW/PC/maps/mp/zombies/killstreaks/_zombie_squadmate.gsc b/AW/PC/maps/mp/zombies/killstreaks/_zombie_squadmate.gsc new file mode 100644 index 0000000..594e760 --- /dev/null +++ b/AW/PC/maps/mp/zombies/killstreaks/_zombie_squadmate.gsc @@ -0,0 +1,680 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\killstreaks\_zombie_squadmate.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 20 + * Decompile Time: 298 ms + * Timestamp: 4/22/2024 2:13:16 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + maps\mp\zombies\ranged_elite_soldier::init_ally(); + level.squadmateduration = 45; + level.killstreakfuncs["zm_squadmate"] = ::tryusezombiesquadmate; + level.agent_funcs["zm_squadmate"] = level.agent_funcs["zombie"]; + level.agent_funcs["zm_squadmate"]["think"] = ::squadmate_agent_think; + level.agent_funcs["zm_squadmate"]["spawn"] = ::maps\mp\zombies\ranged_elite_soldier::onsoldierspawned; + level.agent_funcs["zm_squadmate"]["onAIConnect"] = ::onsquadmateconnect; + level.agent_funcs["zm_squadmate"]["on_damaged_finished"] = ::maps\mp\agents\_agents::agent_damage_finished; + level.agent_funcs["zm_squadmate"]["on_killed"] = ::maps\mp\agents\_agents::on_agent_player_killed; + level.shouldignoreplayerrevive = ::shouldnotreviveplayer; +} + +//Function Number: 2 +tryusezombiesquadmate(param_00,param_01) +{ + if(maps\mp\zombies\_util::arekillstreaksdisabled()) + { + return 0; + } + + if(maps\mp\agents\_agent_utility::getnumactiveagents("zm_squadmate") >= 1 || isdefined(level.zm_squadmate_waiting_spawn)) + { + self iprintlnbold(&"ZOMBIE_SQUADMATE_AGENT_MAX"); + return 0; + } + + if(isdefined(level.shouldignoreplayercallback)) + { + if([[ level.shouldignoreplayercallback ]](self)) + { + return 0; + } + } + + if(maps\mp\zombies\_util::isplayerteleporting(self)) + { + return 0; + } + + level.zm_squadmate_waiting_spawn = 1; + thread resetvarsondeath(); + self iprintlnbold(&"ZOMBIE_SQUADMATE_SQUADMATE_REQUEST"); + var_02 = 0; + var_03 = []; + var_04 = 0; + while(!var_04) + { + var_05 = maps\mp\zombies\_util::getenemyagents(); + var_06 = maps\mp\zombies\_util::getnumagentswaitingtodeactivate(); + var_02 = var_05.size + var_06 - maps\mp\zombies\zombies_spawn_manager::getmaxenemycount() - 4; + var_03 = maps\mp\zombies\_util::getarrayofoffscreenagentstorecycle(var_05); + if(var_03.size >= var_02) + { + var_04 = 1; + continue; + } + + wait(0.05); + } + + if(var_02 > 0) + { + var_03 = common_scripts\utility::array_randomize(var_03); + while(var_02 > 0) + { + var_07 = var_03[var_02 - 1]; + var_07 suicide(); + var_02--; + } + } + + level.maxenemycount = maps\mp\zombies\zombies_spawn_manager::getmaxenemycount() - 4; + wait(0.5); + var_08 = getvalidspawnnodesforsquadmate(4); + if(var_08.size < 4) + { + level.zm_squadmate_waiting_spawn = undefined; + level.maxenemycount = maps\mp\zombies\zombies_spawn_manager::getmaxenemycount(); + return 0; + } + + var_09 = self.origin; + var_0A = self.team; + var_0B = []; + while(var_0B.size < 4) + { + var_0C = var_08[var_0B.size]; + var_0D = var_0C.origin; + var_0E = vectortoangles(var_09 - var_0C.origin); + var_0F = maps\mp\agents\_agent_common::connectnewagent("zm_squadmate",var_0A); + var_0F.overridebodymodel = "sentinel_udt_strike_body_a"; + var_0F.overrideheadmodel = "sentinel_udt_strike_head_a"; + var_0F maps\mp\agents\_agents::spawn_agent_player(var_0D,var_0E,self); + var_0F thread soldierhandlevo(); + var_0B[var_0B.size] = var_0F; + playfx(common_scripts\utility::getfx("npc_teleport_ally"),var_0D,(1,0,0),(0,0,1)); + wait(0.05); + } + + self notify("squadmate_succeeded"); + level thread watchsquaddeath(var_0B); + level.zm_squadmate_waiting_spawn = undefined; + return 1; +} + +//Function Number: 3 +resetvarsondeath() +{ + level endon("game_ended"); + self endon("squadmate_succeeded"); + self waittill("death"); + level.zm_squadmate_waiting_spawn = undefined; + level.maxenemycount = maps\mp\zombies\zombies_spawn_manager::getmaxenemycount(); +} + +//Function Number: 4 +watchsquaddeath(param_00) +{ + level endon("game_ended"); + var_01 = 0; + while(!var_01) + { + wait(0.05); + var_01 = 1; + foreach(var_03 in param_00) + { + if(isalive(var_03) && var_03.agent_type == "zm_squadmate") + { + var_01 = 0; + } + } + } + + level.maxenemycount = maps\mp\zombies\zombies_spawn_manager::getmaxenemycount(); +} + +//Function Number: 5 +onsquadmateconnect() +{ + self.agentname = &"ZOMBIE_SQUADMATE_SENTINEL"; +} + +//Function Number: 6 +destroyonownerdisconnect(param_00) +{ + self endon("death"); + self endon("disconnect"); + param_00 common_scripts\utility::waittill_any("death","disconnect"); + self notify("owner_disconnect"); + if(maps\mp\gametypes\_hostmigration::waittillhostmigrationdone()) + { + wait(0.05); + } + + self suicide(); +} + +//Function Number: 7 +squadmate_agent_think() +{ + self endon("death"); + self endon("disconnect"); + self endon("owner_disconnect"); + level endon("game_ended"); + maps\mp\_utility::giveperk("specialty_coldblooded",0); + childthread maps\mp\zombies\ranged_elite_soldier::ammorefillprimary(); + childthread maps\mp\zombies\ranged_elite_soldier::ammorefillsecondary(); + childthread maps\mp\bots\_bots::bot_think_revive(); + childthread stay_in_playspace(); + childthread monitorteleporttraversals(); + thread destroyonownerdisconnect(self.owner); + self.onlydamagedbylargeenemies = 1; + var_00 = 0; + var_01 = 0; + var_02 = 0; + while(var_02 < level.squadmateduration) + { + var_03 = []; + if(isdefined(level.get_breached_zones_func)) + { + var_03 = [[ level.get_breached_zones_func ]](); + } + + if(var_03.size > 0 && !maps\mp\bots\_bots_strategy::bot_has_tactical_goal("defuse")) + { + var_04 = undefined; + foreach(var_06 in var_03) + { + if(isdefined(self.owner.currentzone) && self.owner.currentzone == var_06) + { + var_04 = var_06; + } + } + + var_08 = undefined; + if(isdefined(var_04)) + { + foreach(var_0A in level.breachzones[var_04].defuseobjs) + { + if(var_0A.visuals[0].enabled) + { + var_08 = var_0A; + break; + } + } + } + + if(isdefined(var_08)) + { + var_0C = spawnstruct(); + var_0C.object = var_08; + var_0C.should_abort = ::zone_no_longer_breached; + var_0C.action_thread = ::defuse_bomb; + var_0C.end_thread = ::stop_defusing; + maps\mp\bots\_bots_strategy::bot_new_tactical_goal("defuse",var_08.curorigin,50,var_0C); + } + } + + if(float(self.owner.health) / self.owner.maxhealth < 0.5 && gettime() > var_01) + { + var_0D = getnodesinradiussorted(self.owner.origin,256,0); + if(var_0D.size >= 2) + { + self.defense_force_next_node_goal = var_0D[1]; + self notify("defend_force_node_recalculation"); + var_01 = gettime() + 1000; + } + } + else if(float(self.health) / self.maxhealth >= 0.6) + { + var_00 = 0; + } + else if(!var_00) + { + var_0E = maps\mp\bots\_bots_util::bot_find_node_to_guard_player(self.owner.origin,350,1); + if(isdefined(var_0E)) + { + self.defense_force_next_node_goal = var_0E; + self notify("defend_force_node_recalculation"); + var_00 = 1; + } + } + + if(!maps\mp\bots\_bots_util::bot_is_guarding_player(self.owner)) + { + var_0F["override_goal_type"] = "critical"; + var_0F["min_goal_time"] = 20; + var_0F["max_goal_time"] = 30; + maps\mp\bots\_bots_strategy::bot_guard_player(self.owner,350,var_0F); + } + + wait(0.05); + var_02 = var_02 + 0.05; + } + + self suicide(); +} + +//Function Number: 8 +stay_in_playspace() +{ + self endon("death"); + level endon("game_ended"); + self endon("owner_disconnect"); + for(;;) + { + if(isdefined(level.zone_data) && !maps\mp\zombies\_zombies_zone_manager::iszombieinanyzone(self)) + { + var_00 = self.owner getvalidspawnnodesforsquadmate(1); + if(var_00.size > 0) + { + var_01 = var_00[0]; + playfx(common_scripts\utility::getfx("npc_teleport_ally"),self.origin,(1,0,0),(0,0,1)); + self setorigin(var_01.origin,1); + self setplayerangles(var_01.angles); + playfx(common_scripts\utility::getfx("npc_teleport_ally"),var_01.origin,(1,0,0),(0,0,1)); + } + } + + wait(0.05); + } +} + +//Function Number: 9 +monitorteleporttraversals() +{ + if(maps\mp\zombies\_util::getzombieslevelnum() < 4) + { + return; + } + + for(;;) + { + var_00 = undefined; + var_01 = self botgetnodesonpath(); + for(var_02 = 0;var_02 < var_01.size - 1;var_02++) + { + if(var_01[var_02].type == "Begin" && var_01[var_02 + 1].type == "End" && var_01[var_02].animscript == "climbup_shaft") + { + var_00 = var_01[var_02]; + break; + } + } + + if(isdefined(var_00) && distancesquared(self.origin,var_00.origin) < 256) + { + var_03 = getnode(var_00.target,"targetname"); + playfx(common_scripts\utility::getfx("npc_teleport_ally"),self.origin,(1,0,0),(0,0,1)); + self setorigin(var_03.origin,1); + self setplayerangles(var_03.angles); + playfx(common_scripts\utility::getfx("npc_teleport_ally"),var_03.origin,(1,0,0),(0,0,1)); + } + + wait(0.05); + } +} + +//Function Number: 10 +zone_no_longer_breached(param_00) +{ + if(![[ level.zone_is_breached_func ]](param_00.object.zonename)) + { + return 1; + } + + return 0; +} + +//Function Number: 11 +defuse_bomb(param_00) +{ + if(!param_00.object.visuals[0].enabled) + { + return; + } + + if(isagent(self)) + { + common_scripts\utility::_enableusability(); + param_00.object.visuals[0] enableplayeruse(self); + wait(0.05); + } + + var_01 = self.team; + thread soldierplayvo("defuse"); + maps\mp\bots\_bots_gametype_sd::sd_press_use(level.defusetime + 2,"bomb_defused",1,0); + if(isagent(self)) + { + common_scripts\utility::_disableusability(); + if(isdefined(param_00.object)) + { + param_00.object.visuals[0] disableplayeruse(self); + } + } +} + +//Function Number: 12 +stop_defusing(param_00) +{ + self botclearscriptgoal(); +} + +//Function Number: 13 +getvalidspawnnodesforsquadmate(param_00) +{ + var_01 = self.origin; + if(isplayer(self)) + { + var_02 = self getnearestnode(); + } + else + { + var_02 = getclosestnodeinsight(var_02); + } + + if(!isdefined(var_02)) + { + var_03 = getnodesinradius(var_01,350,64,128,"Path"); + var_02 = var_03[0]; + } + + var_04 = undefined; + if(isdefined(level.zone_data)) + { + var_04 = maps\mp\zombies\_zombies_zone_manager::getlocationzone(var_01); + if(!isdefined(var_04)) + { + var_04 = maps\mp\zombies\_zombies_zone_manager::getlocationzone(var_01 + (randomfloatrange(-1,1),randomfloatrange(-1,1),0)); + } + } + + var_05 = getnodesinradius(var_01,400,64,128,"Path"); + if(var_05.size < param_00) + { + return []; + } + + for(var_06 = 0;var_06 < var_05.size;var_06++) + { + if(isdefined(level.zone_data) && maps\mp\zombies\_util::nodeisinspawncloset(var_05[var_06])) + { + var_05[var_06] = var_05[var_05.size - 1]; + var_05[var_05.size - 1] = undefined; + var_06--; + } + } + + if(var_05.size < param_00) + { + return []; + } + + var_07 = []; + var_08 = nodegetsplitgroup(var_02); + foreach(var_0A in var_05) + { + if(!var_0A doesnodeallowstance("stand")) + { + continue; + } + + if(maps\mp\zombies\_util::is_true(var_0A.nosoldierspawn)) + { + continue; + } + + var_0B = nodegetsplitgroup(var_0A); + if(var_08 != var_0B) + { + continue; + } + + if(isdefined(level.zone_data) && var_04 != var_0A.zombieszone) + { + continue; + } + + var_07[var_07.size] = var_0A; + } + + if(var_07.size < param_00) + { + return []; + } + + var_0D = []; + var_0E = (0,0,64); + for(var_0F = 0;var_0F < param_00;var_0F++) + { + var_10 = common_scripts\utility::array_randomize(var_07); + while(var_10.size > 5) + { + var_10[var_10.size - 1] = undefined; + } + + var_11 = sortarraybyclosesttoobjects(var_10,var_0D); + for(var_06 = var_11.size - 1;var_06 >= 0;var_06--) + { + var_12 = var_11[var_06]; + if(!self aiphysicstracepassed(var_12.origin + var_0E,var_12.origin,24,80,1)) + { + var_12.nosoldierspawn = 1; + continue; + } + + var_0D[var_0D.size] = var_12; + break; + } + } + + while(var_0D.size < param_00) + { + var_0D[var_0D.size] = common_scripts\utility::random(var_0D); + } + + return var_0D; +} + +//Function Number: 14 +sortarraybyclosesttoobjects(param_00,param_01) +{ + if(param_01.size == 0) + { + return param_00; + } + + for(var_02 = 0;var_02 < param_00.size;var_02++) + { + param_00[var_02].temp_distance = 0; + foreach(var_04 in param_01) + { + param_00[var_02].temp_distance = param_00[var_02].temp_distance + distance(param_00[var_02].origin,var_04.origin); + } + } + + var_06 = maps\mp\_utility::quicksort(param_00,::comparedistancestoobjects); + for(var_02 = 0;var_02 < param_00.size;var_02++) + { + param_00[var_02].temp_distance = undefined; + } + + return var_06; +} + +//Function Number: 15 +comparedistancestoobjects(param_00,param_01) +{ + return param_00.temp_distance <= param_01.temp_distance; +} + +//Function Number: 16 +soldierhandlevo() +{ + self endon("death"); + wait(1); + if(!isdefined(level.sentineldebouncevo)) + { + return; + } + + var_00 = soldierplayvo("spawn"); + if(var_00) + { + level thread dosentinelconv(self); + } + + thread soldierdochatter(); + for(;;) + { + var_00 = common_scripts\utility::waittill_any_return_no_endon_death("bot_reviving","killed_enemy"); + if(var_00 == "bot_reviving") + { + soldierplayvo("revive"); + continue; + } + + soldierplayvo("kill"); + } +} + +//Function Number: 17 +soldierdochatter() +{ + self endon("death"); + var_00 = 90000; + for(;;) + { + wait(randomintrange(5,10)); + var_01 = 0; + var_02 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + foreach(var_04 in var_02) + { + if(var_04.team == level.playerteam) + { + continue; + } + + var_05 = distancesquared(self.origin,var_04.origin); + if(var_05 <= var_00) + { + soldierplayvo("chatter"); + break; + } + } + } +} + +//Function Number: 18 +soldierplayvo(param_00) +{ + self endon("death"); + if(!isdefined(self.zmbvoxid)) + { + self.zmbvoxid = "sentinel"; + } + + if(!isdefined(level.sentineldebouncevo)) + { + return 0; + } + + if(isdefined(level.sentineldebouncevo[param_00]) && level.sentineldebouncevo[param_00] > gettime()) + { + return 0; + } + + if(maps\mp\zombies\_zombies_audio::create_and_play_dialog("general",param_00)) + { + if(isdefined(level.sentineldebouncevo[param_00])) + { + level.sentineldebouncevo[param_00] = gettime() + 10000; + } + + return 1; + } + + return 0; +} + +//Function Number: 19 +dosentinelconv(param_00) +{ + if(maps\mp\zombies\_util::is_true(level.zmbplayedsentinelconv)) + { + return; + } + + param_00 common_scripts\utility::waittill_notify_or_timeout("done_speaking",3); + var_01 = maps\mp\zombies\_zombies_audio::getcharacterbyprefix("pilot"); + if(!isdefined(var_01)) + { + return; + } + + var_02 = var_01 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","sentinel_conv"); + if(var_02) + { + level.zmbplayedsentinelconv = 1; + var_01 common_scripts\utility::waittill_notify_or_timeout("done_speaking",8); + } + else + { + return; + } + + if(level.players.size > 1) + { + var_03 = param_00.owner; + if(!isdefined(var_03) || isdefined(var_01) && var_03 == var_01) + { + var_04 = maps\mp\zombies\_zombies_audio::getcharacterbyprefix("guard"); + var_05 = maps\mp\zombies\_zombies_audio::getcharacterbyprefix("exec"); + var_06 = maps\mp\zombies\_zombies_audio::getcharacterbyprefix("it"); + var_03 = var_04; + if(!isdefined(var_03) || isdefined(var_05) && common_scripts\utility::cointoss()) + { + var_03 = var_05; + } + + if(!isdefined(var_03) || isdefined(var_06) && common_scripts\utility::cointoss()) + { + var_03 = var_06; + } + + if(!isdefined(var_03) || isdefined(var_04) && common_scripts\utility::cointoss()) + { + var_03 = var_04; + } + } + + var_03 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","sentinel_conv"); + } +} + +//Function Number: 20 +shouldnotreviveplayer(param_00) +{ + if(maps\mp\zombies\_util::getnumplayers() == 1) + { + if(isdefined(param_00.curprogress) && isdefined(param_00.usetime) && param_00.curprogress < param_00.usetime) + { + return 1; + } + } + + return 0; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/ranged_elite_soldier.gsc b/AW/PC/maps/mp/zombies/ranged_elite_soldier.gsc new file mode 100644 index 0000000..9fd2234 --- /dev/null +++ b/AW/PC/maps/mp/zombies/ranged_elite_soldier.gsc @@ -0,0 +1,732 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\ranged_elite_soldier.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 32 + * Decompile Time: 549 ms + * Timestamp: 4/22/2024 2:14:50 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + init_common(); + level.agent_funcs["ranged_elite_soldier_goliath"] = level.agent_funcs["ranged_elite_soldier"]; + level.onspawnfinished["ranged_elite_soldier_goliath"] = ::onspawnfinishedgoliath; + level.getloadout["ranged_elite_soldier_goliath"] = ::getgoliathloadout; + var_00 = spawnstruct(); + var_00.agent_type = "ranged_elite_soldier_goliath"; + var_00.isbotagent = 1; + var_00.health_scale = 4; + var_00.damage_scale = 0.2; + var_00.melee_damage_scale = 0.5; + maps\mp\zombies\_util::agentclassregister(var_00,"ranged_elite_soldier_goliath"); + level.getspawntypefunc["ranged_elite_soldier"] = ::getsoldierroundspawntype; + level.candroppickupsfunc["ranged_elite_soldier"] = ::soldierroundcandroppickups; + level.roundstartfunc["ranged_elite_soldier"] = ::soldierroundstart; + level.roundendfunc["ranged_elite_soldier"] = ::soldierroundend; + level.randomspawnpointoverride["ranged_elite_soldier"] = ::soldiergetrandomspawnpoint; + level.numenemiesthisroundfunc["ranged_elite_soldier"] = ::soldierroundnumenemies; + level.roundspawndelayfunc["ranged_elite_soldier"] = ::soldierroundspawndelay; + level.getrepulsortagfunc = ::soldiergetrepulsortag; + level.soldierroundnum = 0; + level._effect["npc_teleport_enemy"] = loadfx("vfx/unique/dlc_teleport_soldier_bad"); + level._effect["goliath_death_fire"] = loadfx("vfx/fire/goliath_death_fire"); + level._effect["goliath_self_destruct"] = loadfx("vfx/explosion/goliath_self_destruct"); +} + +//Function Number: 2 +init_common() +{ + if(isdefined(level.agent_funcs["ranged_elite_soldier"])) + { + return; + } + + level.agent_funcs["ranged_elite_soldier"] = level.agent_funcs["zombie"]; + level.agent_funcs["ranged_elite_soldier"]["think"] = ::soldierthink; + level.agent_funcs["ranged_elite_soldier"]["spawn"] = ::onsoldierspawned; + level.agent_funcs["ranged_elite_soldier"]["on_damaged_finished"] = ::maps\mp\agents\_agents::agent_damage_finished; + level.agent_funcs["ranged_elite_soldier"]["on_killed"] = ::onsoldierkilled; + var_00 = spawnstruct(); + var_00.agent_type = "ranged_elite_soldier"; + var_00.isbotagent = 1; + var_00.health_scale = 0.5; + var_00.damage_scale = 0.015; + var_00.melee_damage_scale = 0.32; + var_00.model_bodies = ["atlas_biohazard_body_a"]; + var_00.model_heads = ["atlas_biohazard_head_a"]; + maps\mp\zombies\_util::agentclassregister(var_00,var_00.agent_type); + if(!isdefined(level.ranged_elite_soldier_weapons)) + { + level.ranged_elite_soldier_weapons = []; + level.ranged_elite_soldier_weapons["primary"] = []; + level.ranged_elite_soldier_weapons["secondary"] = []; + var_01 = []; + if(level.currentgen && maps\mp\_utility::getmapname() == "mp_zombie_ark") + { + foreach(var_03 in level.magicboxweapons) + { + var_01[var_01.size] = var_03["baseNameNoMP"]; + } + + var_01[var_01.size] = "iw5_titan45zm"; + var_01[var_01.size] = "iw5_hmr9zm"; + var_01[var_01.size] = "iw5_m182sprzm"; + var_01[var_01.size] = "iw5_uts19zm"; + } + else + { + foreach(var_03 in level.magicboxweapons) + { + var_01[var_01.size] = var_03["baseNameNoMP"]; + } + + var_01[var_01.size] = "iw5_titan45zm"; + var_01[var_01.size] = "iw5_arx160zm"; + var_01[var_01.size] = "iw5_mp11zm"; + var_01[var_01.size] = "iw5_hbra3zm"; + var_01[var_01.size] = "iw5_hmr9zm"; + var_01[var_01.size] = "iw5_maulzm"; + var_01[var_01.size] = "iw5_m182sprzm"; + var_01[var_01.size] = "iw5_uts19zm"; + } + + foreach(var_03 in var_01) + { + if(isvalidsoldierweapon(var_03)) + { + if(maps\mp\zombies\_util::isvalidprimaryzombies(var_03)) + { + level.ranged_elite_soldier_weapons["primary"][level.ranged_elite_soldier_weapons["primary"].size] = var_03; + } + else if(maps\mp\zombies\_util::isvalidsecondaryzombies(var_03)) + { + level.ranged_elite_soldier_weapons["secondary"][level.ranged_elite_soldier_weapons["secondary"].size] = var_03; + } + else if(!maps\mp\zombies\_util::isvalidequipmentzombies(var_03)) + { + } + } + } + } +} + +//Function Number: 3 +init_ally() +{ + init_common(); + level._effect["npc_teleport_ally"] = loadfx("vfx/unique/dlc_teleport_soldier_good"); +} + +//Function Number: 4 +isvalidsoldierweapon(param_00) +{ + switch(param_00) + { + case "iw5_exocrossbowzm": + case "iw5_mahemzm": + case "iw5_rw1zm": + case "iw5_linegunzm": + case "iw5_fusionzm": + case "iw5_em1zm": + case "iw5_rhinozm": + case "iw5_gm6zm": + return 0; + + default: + return 1; + } +} + +//Function Number: 5 +getsoldierroundspawntype(param_00,param_01) +{ + return "ranged_elite_soldier"; +} + +//Function Number: 6 +soldierroundcandroppickups(param_00) +{ + return 0; +} + +//Function Number: 7 +soldierroundstart() +{ + level.soldierroundnum++; + thread soldierroundupdatespawnpoints(); + iprintlnbold("Atlas Cleanup Crew Inbound!"); + level waittill("soldier_spawn_calculated"); +} + +//Function Number: 8 +soldierroundend() +{ + maps\mp\gametypes\zombies::createpickup("ammo",level.lastenemydeathpos,"soldierRoundEnd"); + level notify("soldierRoundUpdateSpawnPoints"); +} + +//Function Number: 9 +soldierroundupdatespawnpoints() +{ + level notify("soldierRoundUpdateSpawnPoints"); + level endon("soldierRoundUpdateSpawnPoints"); + level endon("game_ended"); + level.soldierspawn = undefined; + level.validsoldiernodes = []; + var_00 = getallnodes(); + var_01 = []; + foreach(var_03 in var_00) + { + if(!maps\mp\zombies\_util::nodeisinspawncloset(var_03)) + { + var_01[var_01.size] = var_03; + } + } + + wait(0.05); + var_05 = 0.95; + var_06 = 0.05; + var_07 = 0.05; + var_08 = 0.05; + var_09 = var_05 - var_06 + var_07 + var_08; + for(;;) + { + var_0A = []; + var_0B = []; + foreach(var_0D in level.players) + { + if(isalive(var_0D)) + { + var_0E = var_0D getnearestnode(); + if(isdefined(var_0E)) + { + var_0A[var_0A.size] = var_0E; + var_0B[var_0B.size] = nodegetsplitgroup(var_0E); + } + } + } + + if(var_0A.size == 0) + { + wait(0.1); + continue; + } + + var_10 = !isdefined(level.soldierspawn); + if(!var_10) + { + var_11 = 0; + foreach(var_13 in var_0A) + { + if(nodesvisible(level.soldierspawn,var_13,1)) + { + var_10 = 1; + break; + } + + var_11 = var_11 + distance(level.soldierspawn.origin,var_13.origin); + } + + if(var_11 / var_0A.size < 500) + { + var_10 = 1; + } + + if(!var_10) + { + wait(0.1); + continue; + } + } + + var_15 = []; + foreach(var_03 in var_01) + { + if(!var_03 nodeisdisconnected()) + { + var_17 = nodegetsplitgroup(var_03); + if(common_scripts\utility::array_contains(var_0B,var_17)) + { + var_15[var_15.size] = var_03; + } + } + } + + wait(var_06); + var_19 = []; + var_1A = 0; + var_1B = int(var_15.size / 0.5 * var_09 / 0.05); + foreach(var_03 in var_15) + { + var_1D = 1; + foreach(var_13 in var_0A) + { + if(nodesvisible(var_03,var_13,1)) + { + var_1D = 0; + break; + } + } + + if(var_1D) + { + var_19[var_19.size] = var_03; + } + + var_1A++; + if(var_1A % var_1B == 0) + { + wait(0.05); + } + } + + wait(var_07); + var_1A = 0; + var_21 = undefined; + var_22 = -1; + var_1B = int(var_19.size / 0.5 * var_09 / 0.05); + foreach(var_03 in var_19) + { + var_24 = 0; + foreach(var_13 in var_0A) + { + var_24 = var_24 + distance(var_03.origin,var_13.origin); + } + + if(var_24 > var_22) + { + var_22 = var_24; + var_21 = var_03; + } + + var_1A++; + if(var_1A % var_1B == 0) + { + wait(0.05); + } + } + + wait(var_08); + if(isdefined(var_21)) + { + level.soldierspawn = var_21; + } + else + { + level.soldierspawn = common_scripts\utility::random(var_15); + } + + level notify("soldier_spawn_calculated"); + } +} + +//Function Number: 10 +comparenodedistances(param_00,param_01) +{ + return level.nodedistances[param_00 getnodenumber()] <= level.nodedistances[param_01 getnodenumber()]; +} + +//Function Number: 11 +soldiergetrandomspawnpoint() +{ + return level.soldierspawn; +} + +//Function Number: 12 +soldierroundnumenemies(param_00) +{ + var_01 = maps\mp\zombies\_util::getnumplayers(); + var_02 = 4 + level.soldierroundnum * 2; + var_03 = var_01 * var_02; + return var_03; +} + +//Function Number: 13 +soldierroundspawndelay(param_00,param_01) +{ + return 4; +} + +//Function Number: 14 +soldierthink() +{ + self endon("death"); + self endon("disconnect"); + level endon("game_ended"); + childthread ammorefillprimary(); + childthread ammorefillsecondary(); + childthread maps\mp\zombies\_zombies::monitorbadzombieai(); + childthread maps\mp\zombies\_util::locateenemypositions(); +} + +//Function Number: 15 +getsoldierloadout() +{ + var_00 = ::maps\mp\bots\_bots_loadout::bot_loadout_choose_from_attachmenttable; + var_01 = []; + var_01["loadoutWildcard1"] = "specialty_null"; + var_01["loadoutWildcard2"] = "specialty_null"; + var_01["loadoutWildcard3"] = "specialty_null"; + var_01["loadoutPrimary"] = common_scripts\utility::random(level.ranged_elite_soldier_weapons["primary"]); + var_01["loadoutPrimaryAttachment"] = self [[ var_00 ]]("attachmenttable",var_01,"loadoutPrimaryAttachment",self.personality,self.difficulty); + var_01["loadoutPrimaryAttachment2"] = self [[ var_00 ]]("attachmenttable",var_01,"loadoutPrimaryAttachment2",self.personality,self.difficulty); + var_01["loadoutPrimaryAttachment3"] = "none"; + var_01["loadoutPrimaryBuff"] = "specialty_null"; + var_01["loadoutPrimaryCamo"] = "none"; + var_01["loadoutPrimaryReticle"] = "none"; + var_01["loadoutSecondary"] = common_scripts\utility::random(level.ranged_elite_soldier_weapons["secondary"]); + var_01["loadoutSecondaryAttachment"] = self [[ var_00 ]]("attachmenttable",var_01,"loadoutSecondaryAttachment",self.personality,self.difficulty); + var_01["loadoutSecondaryAttachment2"] = self [[ var_00 ]]("attachmenttable",var_01,"loadoutSecondaryAttachment2",self.personality,self.difficulty); + var_01["loadoutSecondaryAttachment3"] = "none"; + var_01["loadoutSecondaryBuff"] = "specialty_null"; + var_01["loadoutSecondaryCamo"] = "none"; + var_01["loadoutSecondaryReticle"] = "none"; + var_01["loadoutEquipment"] = getsoldierloadoutequipment(); + var_01["loadoutEquipmentExtra"] = getsoldierloadoutequipmentextra(); + var_01["loadoutOffhand"] = getsoldierloadoutoffhand(); + var_01["loadoutPerk1"] = getsoldierloadoutperk(1,var_01); + var_01["loadoutPerk2"] = "specialty_null"; + var_01["loadoutPerk3"] = getsoldierloadoutperk(3,var_01); + var_01["loadoutPerk4"] = "specialty_null"; + var_01["loadoutPerk5"] = getsoldierloadoutperk(5,var_01); + var_01["loadoutPerk6"] = "specialty_null"; + var_01["loadoutKillstreaks"][0] = "none"; + var_01["loadoutKillstreaks"][1] = "none"; + var_01["loadoutKillstreaks"][2] = "none"; + var_01["loadoutKillstreaks"][3] = "none"; + for(var_02 = 0;var_02 < 6;var_02++) + { + var_01["loadoutPerks"][var_02] = var_01["loadoutPerk" + var_02 + 1]; + var_01["loadoutPerk" + var_02 + 1] = undefined; + } + + for(var_02 = 0;var_02 < 3;var_02++) + { + var_01["loadoutWildcards"][var_02] = var_01["loadoutWildcard" + var_02 + 1]; + var_01["loadoutWildcard" + var_02 + 1] = undefined; + } + + return var_01; +} + +//Function Number: 16 +getgoliathloadout() +{ + var_00 = []; + var_00["loadoutPrimary"] = "iw5_exominigun"; + var_00["loadoutPrimaryAttachment"] = "none"; + var_00["loadoutPrimaryAttachment2"] = "none"; + var_00["loadoutPrimaryAttachment3"] = "none"; + var_00["loadoutPrimaryBuff"] = "specialty_null"; + var_00["loadoutPrimaryCamo"] = "none"; + var_00["loadoutPrimaryReticle"] = "none"; + var_00["loadoutSecondary"] = "none"; + var_00["loadoutSecondaryAttachment"] = "none"; + var_00["loadoutSecondaryAttachment2"] = "none"; + var_00["loadoutSecondaryAttachment3"] = "none"; + var_00["loadoutSecondaryBuff"] = "specialty_null"; + var_00["loadoutSecondaryCamo"] = "none"; + var_00["loadoutSecondaryReticle"] = "none"; + var_00["loadoutEquipment"] = "none"; + var_00["loadoutOffhand"] = "none"; + var_00["loadoutKillstreaks"][0] = "none"; + var_00["loadoutKillstreaks"][1] = "none"; + var_00["loadoutKillstreaks"][2] = "none"; + var_00["loadoutKillstreaks"][3] = "none"; + var_00["loadoutPerks"] = ["specialty_null","specialty_null","specialty_null","specialty_null","specialty_null","specialty_null","specialty_null"]; + var_00["loadoutWildcards"] = ["specialty_null","specialty_null","specialty_null"]; + var_00["loadoutJuggernaut"] = 1; + return var_00; +} + +//Function Number: 17 +getsoldierloadoutoffhand() +{ + if(issoldierally()) + { + return "specialty_null"; + } + + var_00 = ["exoshield_equipment_mp","exoshield_equipment_mp","exocloak_equipment_mp","exocloak_equipment_mp","exomute_equipment_mp","exomute_equipment_mp"]; + if(level.soldierroundnum >= 2 || level.roundtype != "ranged_elite_soldier" && level.wavecounter >= 10) + { + var_00[var_00.size] = "exorepulsor_equipment_mp"; + } + + return common_scripts\utility::random(var_00); +} + +//Function Number: 18 +getsoldierloadoutequipment() +{ + var_00 = ["frag_grenade_mp","semtex_mp","stun_grenade_mp","emp_grenade_mp"]; + if(!issoldierally()) + { + var_00[var_00.size] = "smoke_grenade_mp"; + } + + return common_scripts\utility::random(var_00); +} + +//Function Number: 19 +getsoldierloadoutequipmentextra() +{ + return issoldierally() || level.soldierroundnum >= 2 || level.roundtype != "ranged_elite_soldier" && level.wavecounter >= 10; +} + +//Function Number: 20 +getsoldierloadoutperk(param_00,param_01) +{ + var_02 = ["specialty_class_coldblooded"]; + for(var_03 = "";var_03 == "" || common_scripts\utility::array_contains(var_02,var_03);var_03 = maps\mp\bots\_bots_loadout::bot_loadout_choose_from_set(["template_any"],"template_any",param_01,"loadoutPerk" + param_00)) + { + } + + return var_03; +} + +//Function Number: 21 +issoldierally() +{ + return self.agent_type == "zm_squadmate"; +} + +//Function Number: 22 +onsoldierspawned() +{ + if(isdefined(level.agent_funcs[self.agent_type]["onAIConnect"])) + { + [[ maps\mp\agents\_agent_utility::agentfunc("onAIConnect") ]](); + } + + setsoldierpersonalityanddifficulty(); + maps\mp\gametypes\_battlechatter_mp::disablebattlechatter(self); + self.nopickups = 1; + self.chosentemplates = []; + self.pers["class"] = "gamemode"; + self.pers["lastClass"] = ""; + if(isdefined(level.getloadout) && isdefined(level.getloadout[self.agent_type])) + { + self.pers["gamemodeLoadout"] = self [[ level.getloadout[self.agent_type] ]](); + } + else + { + self.pers["gamemodeLoadout"] = getsoldierloadout(); + } + + self.class = self.pers["class"]; + self.lastclass = self.pers["lastClass"]; + if(isdefined(level.onspawnfinished) && isdefined(level.onspawnfinished[self.agent_type])) + { + self thread [[ level.onspawnfinished[self.agent_type] ]](); + return; + } + + thread onspawnfinished(); +} + +//Function Number: 23 +onspawnfinished(param_00) +{ + self endon("death"); + self endon("disconnect"); + level endon("game_ended"); + self waittill("applyLoadout"); + setsoldierbotsettings(); + self agentusescragentclipmask(1); + self botsetflag("no_enemy_search",1); + self.pers["numberOfTimesCloakingUsed"] = 0; + self.pers["numberOfTimesShieldUsed"] = 0; + var_01 = self.overridebodymodel; + var_02 = self.overrideheadmodel; + if(!isdefined(var_01) || !isdefined(var_02)) + { + if(isdefined(level.agentclasses[self.agent_type].model_bodies)) + { + var_03 = randomint(level.agentclasses[self.agent_type].model_bodies.size); + var_01 = level.agentclasses[self.agent_type].model_bodies[var_03]; + var_02 = level.agentclasses[self.agent_type].model_heads[var_03]; + } + } + + if(isdefined(var_01)) + { + self setmodel(var_01); + if(isdefined(self.headmodel)) + { + self detach(self.headmodel,""); + } + + self.headmodel = var_02; + self attach(self.headmodel,"",1); + } + + self.ignorezombierecycling = 1; +} + +//Function Number: 24 +playersetjuggexomodelzm(param_00) +{ + self detachall(); + self setmodel("npc_exo_armor_mp_base"); + self attach("head_hero_cormack_sentinel_halo"); + if((isdefined(param_00) && !param_00.hasmaniac) || isdefined(level.ishorde)) + { + self attach("npc_exo_armor_minigun_handle","TAG_HANDLE"); + } + + if(isai(self)) + { + self.hideondeath = 1; + } + + self notify("goliath_equipped"); +} + +//Function Number: 25 +onspawnfinishedgoliath() +{ + onspawnfinished(); + playersetjuggexomodelzm(); + self setplayermech(1); + self botsetstance("stand"); + self allowjump(0); + self allowladder(0); + self allowmantle(0); + self allowcrouch(0); + self allowprone(0); + maps\mp\_utility::playerallowhighjump(0,"class"); + maps\mp\_utility::playerallowdodge(0,"class"); + mechattachminigunbarrel(); + thread maps\mp\killstreaks\_juggernaut::playercleanupbarrel(); + thread maps\mp\killstreaks\_juggernaut::play_goliath_death_fx(); +} + +//Function Number: 26 +mechattachminigunbarrel() +{ + self.barrellinker = spawn("script_model",self gettagorigin("tag_barrel")); + self.barrellinker setmodel("generic_prop_raven"); + self.barrellinker vehicle_jetbikesethoverforcescale(self,"tag_barrel",(12.7,0,-2.9),(90,0,0)); + self.barrel = spawn("script_model",self.barrellinker gettagorigin("j_prop_1")); + self.barrel setmodel("npc_exo_armor_minigun_barrel"); + self.barrel vehicle_jetbikesethoverforcescale(self.barrellinker,"j_prop_1",(0,0,0),(-90,0,0)); +} + +//Function Number: 27 +setsoldierpersonalityanddifficulty() +{ + maps\mp\bots\_bots_util::bot_set_personality("run_and_gun"); + if(isdefined(self.difficulty)) + { + maps\mp\bots\_bots_util::bot_set_difficulty(self.difficulty); + } + else if(issoldierally()) + { + maps\mp\bots\_bots_util::bot_set_difficulty("veteran"); + } + else + { + maps\mp\bots\_bots_util::bot_set_difficulty("regular"); + } + + self.difficulty = self botgetdifficulty(); +} + +//Function Number: 28 +setsoldierbotsettings() +{ + if(!issoldierally()) + { + self botsetdifficultysetting("quickPistolSwitch",1); + self botsetdifficultysetting("diveChance",0.2); + self botsetdifficultysetting("diveDelay",300); + self botsetdifficultysetting("slideChance",0.6); + self botsetdifficultysetting("cornerFireChance",1); + self botsetdifficultysetting("cornerJumpChance",1); + self botsetdifficultysetting("throwKnifeChance",1); + self botsetdifficultysetting("meleeDist",100); + self botsetdifficultysetting("meleeChargeDist",160); + self botsetdifficultysetting("grenadeCookPrecision",100); + self botsetdifficultysetting("grenadeDoubleTapChance",1); + self botsetdifficultysetting("strategyLevel",3); + self botsetdifficultysetting("intelligentSprintLevel",2); + self botsetdifficultysetting("holdBreathChance",1); + self botsetdifficultysetting("intelligentReload",1); + self botsetdifficultysetting("dodgeChance",0.5); + self botsetdifficultysetting("dodgeIntelligence",0.8); + self botsetdifficultysetting("boostSlamChance",0.35); + self botsetdifficultysetting("boostLookAroundChance",1); + self botsetdifficultysetting("diveDelay",300); + self botsetdifficultysetting("diveDelay",300); + } +} + +//Function Number: 29 +ammorefillprimary() +{ + if(self.primaryweapon == "none") + { + return; + } + + for(;;) + { + self givemaxammo(self.primaryweapon); + wait(12); + } +} + +//Function Number: 30 +ammorefillsecondary() +{ + if(self.secondaryweapon == "none") + { + return; + } + + for(;;) + { + self givemaxammo(self.secondaryweapon); + wait(8); + } +} + +//Function Number: 31 +onsoldierkilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + level.lastenemydeathpos = self.origin; + if(isdefined(param_01) && isplayer(param_01)) + { + param_01 maps\mp\_utility::incplayerstat("kills",1); + param_01 maps\mp\_utility::incpersstat("kills",1); + param_01.kills = param_01 maps\mp\_utility::getpersstat("kills"); + param_01 maps\mp\gametypes\_persistence::statsetchild("round","kills",param_01.kills); + } + + if(isdefined(param_01)) + { + param_01 notify("killed_enemy"); + } + + if(isdefined(level.processenemykilledfunc)) + { + self thread [[ level.processenemykilledfunc ]](param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08); + } + + return maps\mp\agents\_agents::on_agent_player_killed(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08); +} + +//Function Number: 32 +soldiergetrepulsortag() +{ + if(maps\mp\killstreaks\_aerial_utility::hastag(self.model,"TAG_JETPACK")) + { + return "TAG_JETPACK"; + } + + return "tag_shield_back"; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/traps/_trap_airstrike.gsc b/AW/PC/maps/mp/zombies/traps/_trap_airstrike.gsc new file mode 100644 index 0000000..e411516 --- /dev/null +++ b/AW/PC/maps/mp/zombies/traps/_trap_airstrike.gsc @@ -0,0 +1,176 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\traps\_trap_airstrike.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 7 + * Decompile Time: 118 ms + * Timestamp: 4/22/2024 2:13:17 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + precachelaser("trap_zm"); + precacheitem("trap_missile_zm_mp"); + precacheitem("orbitalsupport_missile_mp"); +} + +//Function Number: 2 +trap_airstrike_begin() +{ + var_00 = []; + var_01 = common_scripts\utility::getstructarray(self.target,"targetname"); + foreach(var_03 in var_01) + { + if(!isdefined(var_03.script_noteworthy)) + { + continue; + } + + if(var_03.script_noteworthy == "trap_airstrike_target") + { + var_00 = common_scripts\utility::add_to_array(var_00,var_03); + } + } + + wait(3); + for(var_05 = 0;var_05 < 12;var_05++) + { + var_00 = common_scripts\utility::array_randomize(var_00); + var_00 = common_scripts\utility::array_sort_by_handler(var_00,::zombies_in_strike_zone); + var_00 = common_scripts\utility::array_reverse(var_00); + var_06 = var_00[0]; + var_00 = common_scripts\utility::array_remove(var_00,var_06); + thread trap_airstrike_fire_missile(var_06); + wait(randomfloatrange(0.5,1.5)); + } +} + +//Function Number: 3 +zombies_in_strike_zone() +{ + self.numzombies = 0; + var_00 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + var_00 = sortbydistance(var_00,self.origin,384); + self.numzombies = var_00.size; + return self.numzombies; +} + +//Function Number: 4 +trap_airstrike_fire_missile(param_00) +{ + var_01 = (param_00.origin[0],param_00.origin[1],param_00.origin[2] + 8000); + var_02 = magicbullet("trap_missile_zm_mp",var_01,param_00.origin,self.owner); + var_02 thread trap_airstrike_laser(var_01,param_00.origin); + var_02 thread trap_airstrike_damage_think(self.owner); +} + +//Function Number: 5 +trap_airstrike_laser(param_00,param_01) +{ + var_02 = spawn("script_model",param_00); + var_03 = vectortoangles(param_01 - param_00); + var_02.origin = param_00; + var_02.angles = var_03; + var_02.start_origin = param_00; + var_02.start_angles = var_03; + var_02 setmodel("tag_laser"); + var_02 laseron("trap_zm"); + var_04 = spawnfx(common_scripts\utility::getfx("trap_airstrike_laser_target"),param_01,(0,0,90)); + triggerfx(var_04); + self waittill("death"); + var_02 delete(); + var_04 delete(); +} + +//Function Number: 6 +trap_airstrike_damage_think(param_00) +{ + self waittill("death"); + var_01 = self.origin; + thread trap_airstrike_radius_damage(var_01); + physicsexplosionsphere(var_01,512,64,randomfloatrange(2,5)); + earthquake(0.3,0.5,var_01,400); + playrumbleonposition("artillery_rumble",var_01); +} + +//Function Number: 7 +trap_airstrike_radius_damage(param_00) +{ + wait(0.05); + var_01 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + var_02 = sortbydistance(var_01,param_00,384); + var_03 = sortbydistance(var_02,param_00,128); + foreach(var_05 in var_02) + { + if(isdefined(var_05.agentteam) && var_05.agentteam == level.playerteam) + { + if(common_scripts\utility::array_contains(var_03,var_05) && var_05.health > 1) + { + var_05 dodamage(1,param_00); + } + + continue; + } + + if(isplayer(var_05)) + { + if(!maps\mp\zombies\_util::isplayerinlaststand(var_05)) + { + if(common_scripts\utility::array_contains(var_03,var_05)) + { + var_06 = var_05.health * 0.5; + if(var_06 > 20) + { + var_06 = 20; + } + + var_05 dodamage(var_06,param_00); + } + else if(var_05.health > 1) + { + var_05 dodamage(1,param_00); + } + } + + continue; + } + + if(var_05 maps\mp\zombies\_util::istrapresistant()) + { + if(common_scripts\utility::array_contains(var_03,var_05)) + { + var_07 = 0.5; + } + else + { + var_07 = 0.1; + } + + var_06 = var_05.health * var_07; + if(isdefined(var_05.maxhealth)) + { + var_06 = var_05.maxhealth * var_07; + } + } + else if(common_scripts\utility::array_contains(var_03,var_05)) + { + var_06 = var_05.health + 10; + if(isdefined(var_05.maxhealth)) + { + var_06 = var_05.maxhealth + 10; + } + } + else + { + var_06 = var_05.health * 0.5; + if(isdefined(var_05.maxhealth)) + { + var_06 = var_05.maxhealth * 0.5; + } + } + + var_05 dodamage(var_06,param_00,self.owner,self.owner,"MOD_EXPLOSIVE","trap_missile_zm_mp"); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/traps/_trap_electrofloor.gsc b/AW/PC/maps/mp/zombies/traps/_trap_electrofloor.gsc new file mode 100644 index 0000000..aa27084 --- /dev/null +++ b/AW/PC/maps/mp/zombies/traps/_trap_electrofloor.gsc @@ -0,0 +1,155 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\traps\_trap_electrofloor.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 7 + * Decompile Time: 124 ms + * Timestamp: 4/22/2024 2:13:18 AM +*******************************************************************/ + +//Function Number: 1 +trap_electrofloor_player_watch(param_00) +{ + self endon("cooldown"); + self endon("no_power"); + self endon("deactivate"); + self endon("ready"); + var_01 = 0; + var_02 = 0.25; + if(isdefined(self.script_duration)) + { + var_03 = self.script_duration; + } + else + { + var_03 = 20; + } + + while(var_01 < var_03) + { + wait(var_02); + var_01 = var_01 + var_02; + foreach(var_05 in level.players) + { + if(!var_05 istouching(param_00)) + { + continue; + } + + var_05 thread electrofloorplayer(); + } + } +} + +//Function Number: 2 +trap_electrofloor_trigger_watch(param_00) +{ + self endon("cooldown"); + self endon("no_power"); + self endon("deactivate"); + self endon("ready"); + var_01 = 0; + var_02 = 0.15; + if(isdefined(self.script_duration)) + { + var_03 = self.script_duration; + } + else + { + var_03 = 20; + } + + while(var_01 < var_03) + { + wait(var_02); + var_01 = var_01 + var_02; + if(!isdefined(level.agentarray)) + { + continue; + } + + foreach(var_05 in level.agentarray) + { + if(!isdefined(var_05) || !isalive(var_05)) + { + continue; + } + + if(isplayer(var_05)) + { + continue; + } + + if(isdefined(var_05.inspawnanim) && var_05.inspawnanim == 1) + { + continue; + } + + if(!var_05 istouching(param_00)) + { + continue; + } + + var_05 maps\mp\zombies\_zombies::addbuff("electroBuff",var_05 getelectrobuff(self.owner)); + } + } +} + +//Function Number: 3 +getelectrobuff(param_00) +{ + var_01 = maps\mp\zombies\_zombies::getbuff("electroBuff"); + if(!isdefined(var_01)) + { + var_01 = spawnelectrobuff(); + } + + var_01.lifespan = 0.2; + var_01.player = param_00; + return var_01; +} + +//Function Number: 4 +spawnelectrobuff() +{ + var_00 = spawnstruct(); + var_00.buffremove = ::removeelectrobuff; + var_00.lifespan = 0.2; + var_00.damageperstep = 60 * maps\mp\zombies\_zombies::getbufftimestep(); + var_00.speedmultiplier = 0.6; + self notify("speed_debuffs_changed"); + return var_00; +} + +//Function Number: 5 +updateelectrobuff(param_00) +{ + var_01 = param_00.player; + if(isremovedentity(var_01)) + { + var_01 = undefined; + } + + self dodamage(param_00.damageperstep,self.origin,var_01,undefined,"MOD_TRIGGER_HURT","trap_zm_mp","none"); +} + +//Function Number: 6 +removeelectrobuff(param_00) +{ + self notify("speed_debuffs_changed"); +} + +//Function Number: 7 +electrofloorplayer() +{ + if(isplayer(self) && maps\mp\_utility::isreallyalive(self)) + { + if(isdefined(self.exosuitonline) && self.exosuitonline) + { + thread maps\mp\zombies\_mutators::mutatoremz_applyemp(); + playfx(level._effect["mut_emz_attack_sm"],self.origin); + self playlocalsound("zmb_emz_impact"); + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/traps/_trap_gator.gsc b/AW/PC/maps/mp/zombies/traps/_trap_gator.gsc new file mode 100644 index 0000000..0946ed9 --- /dev/null +++ b/AW/PC/maps/mp/zombies/traps/_trap_gator.gsc @@ -0,0 +1,388 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\traps\_trap_gator.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 15 + * Decompile Time: 257 ms + * Timestamp: 4/22/2024 2:13:19 AM +*******************************************************************/ + +//Function Number: 1 +trap_gator_enter(param_00) +{ + var_01 = undefined; + var_02 = undefined; + self.water_level = undefined; + var_03 = common_scripts\utility::getstructarray(self.target,"targetname"); + foreach(var_05 in var_03) + { + if(!isdefined(var_05.script_noteworthy)) + { + continue; + } + + if(var_05.script_noteworthy == "gator_enter") + { + var_01 = var_05; + } + + if(var_05.script_noteworthy == "gator_water_level") + { + var_02 = var_05; + } + } + + self.water_level = var_02.origin[2]; + var_07 = (var_01.origin[0],var_01.origin[1],var_01.origin[2]); + var_08 = spawn("script_model",var_07); + var_08.angles = var_01.angles; + var_08 setmodel("zom_king_croc_albino"); + if(isdefined(level.gator_kills_active) && level.gator_kills_active == 1) + { + var_08 thread trap_gator_gib_death(); + var_08 thread gator_collision_attach(param_00,0); + } + + var_08 notsolid(); + var_08 playsoundonmovingent("gator_spawn_vox"); + var_08 scriptmodelplayanim("zom_alligator_trap_spawn"); + var_09 = var_02.origin; + var_0A = (0,0,90); + playfx(common_scripts\utility::getfx("trap_gator_enter_splash"),var_09,var_0A); + playsoundatpos(var_09,"gator_spawn_splash"); + thread trap_gator_radius_damage(var_09); + if(isdefined(self.usepitfallaudio) && self.usepitfallaudio == 1) + { + playsoundatpos(var_09,"ee_pitfall_swing"); + } + + earthquake(0.4,1,var_09,800); + playrumbleonposition("artillery_rumble",var_09); + wait(3); + var_08 notify("delete"); + var_08 delete(); + var_08 thread gator_collision_reset(param_00); + wait(randomfloatrange(3,5)); +} + +//Function Number: 2 +trap_gator_trigger_watch(param_00,param_01) +{ + self endon("cooldown"); + self endon("no_power"); + self endon("deactivate"); + self endon("ready"); + if(isdefined(param_01.gator_killed) && param_01.gator_killed) + { + self notify("deactivate"); + } + + self.gatorisattacking = 0; + for(;;) + { + param_00 waittill("trigger",var_02); + if(isplayer(var_02)) + { + continue; + } + else if(isdefined(var_02.inspawnanim) && var_02.inspawnanim == 1) + { + continue; + } + else if(isdefined(var_02.dismember_crawl) && var_02.dismember_crawl == 1) + { + continue; + } + else if(isdefined(var_02.agentteam) && var_02.agentteam == level.playerteam) + { + continue; + } + else if(var_02 maps\mp\zombies\_util::istrapresistant()) + { + continue; + } + else if(var_02 isanyplayerinrange()) + { + continue; + } + else if(self.gatorisattacking == 1) + { + continue; + } + else if(isdefined(var_02.gatorclaimed) && var_02.gatorclaimed == 1) + { + continue; + } + else + { + self.gatorisattacking = 1; + var_02.gatorclaimed = 1; + var_03 = trap_gator_spawn(var_02,param_01); + trap_gator_attack(var_03,var_02,param_01); + wait(randomfloatrange(3,5)); + self.gatorisattacking = 0; + } + } +} + +//Function Number: 3 +isanyplayerinrange() +{ + var_00 = 4096; + foreach(var_02 in level.players) + { + if(distance2dsquared(self.origin,var_02.origin) < var_00) + { + return 1; + } + } + + return 0; +} + +//Function Number: 4 +trap_gator_spawn(param_00,param_01) +{ + var_02 = (param_00.origin[0],param_00.origin[1],self.water_level - 28); + var_03 = (0,randomfloat(360),0); + var_04 = spawn("script_model",var_02); + var_04.angles = var_03; + var_04 setmodel("zom_king_croc_albino"); + if(isdefined(level.gator_kills_active) && level.gator_kills_active == 1) + { + var_04 thread trap_gator_gib_death(); + var_04 thread gator_collision_attach(param_01,1); + } + + return var_04; +} + +//Function Number: 5 +gator_collision_attach(param_00,param_01) +{ + param_00.origin = self.origin; + param_00.angles = self.angles + (0,90,0); + param_00 linkto(self,"J_MainRoot"); + if(param_01) + { + var_02 = "J_Head"; + var_03 = self gettagorigin(var_02); + var_04 = self gettagangles(var_02); + var_05 = spawn("script_model",var_03); + var_05.angles = var_04; + var_05 setmodel("dlc2_zom_gib_arm_pickup"); + var_05 linkto(self,var_02,(14,-20,-7),(0,0,0)); + waittill_gator_death(); + var_05 delete(); + } +} + +//Function Number: 6 +gator_collision_reset(param_00) +{ + if(isdefined(param_00.start_origin) && isdefined(param_00.start_angles)) + { + param_00.origin = param_00.start_origin; + param_00.angles = param_00.start_angles; + } +} + +//Function Number: 7 +waittill_gator_death() +{ + self endon("delete"); + level waittill("gator_killed"); +} + +//Function Number: 8 +arm_debug_draw() +{ + self endon("delete"); + while(isdefined(self)) + { + thread maps\mp\_utility::drawsphere(self.origin,16,1,(1,0,0)); + wait(0.1); + } +} + +//Function Number: 9 +trap_gator_gib_death() +{ + self endon("delete"); + level endon("arm_spawned"); + if(isdefined(level.sqarmspawned)) + { + return; + } + + var_00 = spawn("script_origin",self.origin); + var_00 linkto(self,"J_MainRoot"); + level waittill("gator_killed"); + self hide(); + playfx(common_scripts\utility::getfx("dlc_gator_death"),var_00.origin + (0,0,32)); + playsoundatpos(var_00.origin,"sq_gator_death"); + var_00 thread maps\mp\mp_zombie_brg_sq::stage13_spawn_arm(); +} + +//Function Number: 10 +trap_gator_attack(param_00,param_01,param_02) +{ + var_03 = randomint(2); + if(isdefined(param_01.agent_type) && param_01.agent_type == "zombie_dog") + { + var_04 = "tag_mouth_fx"; + var_05 = "spine4_jnt"; + } + else + { + var_04 = "jaw_jnt"; + var_05 = "j_mainroot"; + } + + var_06 = "zom_alligator_trap_attack_0" + var_03 + 1; + param_01 scragentsetscripted(1); + param_01 maps\mp\agents\_scripted_agent_anim_util::setstatelocked(1,"SynchronizedAnim"); + param_01 scragentsetphysicsmode("noclip"); + thread playsplash(param_00,param_01); + param_00 scriptmodelplayanim(var_06,"dummy"); + param_01 scragentsynchronizeanims(0.2,0.1,param_00,var_04,var_05); + param_01 maps\mp\agents\_scripted_agent_anim_util::playanimnuntilnotetrack_safe("alligator_trap_victim",var_03,"scripted_anim"); + param_01 maps\mp\agents\_scripted_agent_anim_util::setstatelocked(0,"SynchronizedAnim"); + if(isdefined(param_01)) + { + var_07 = param_01.health * 10; + if(isdefined(param_01.maxhealth)) + { + var_07 = param_01.maxhealth * 10; + } + + param_01 dodamage(var_07,param_00.origin,self.owner,self.owner,"MOD_EXPLOSIVE","trap_zm_mp"); + } + + wait(1); + param_00 notify("delete"); + param_00 delete(); + param_00 thread gator_collision_reset(param_02); +} + +//Function Number: 11 +playsplash(param_00,param_01) +{ + level endon("gator_killed"); + var_02 = (param_00.origin[0],param_00.origin[1],self.water_level); + var_03 = (0,0,90); + wait(0.1); + thread trap_gator_radius_damage(var_02); + earthquake(0.3,0.75,var_02,400); + playrumbleonposition("artillery_rumble",var_02); + playfx(common_scripts\utility::getfx("trap_gator_emerge_splash"),var_02,var_03); + param_00 playsoundonmovingent("gator_attack_vox"); + wait(0.2); + if(isdefined(param_01) && isalive(param_01)) + { + var_04 = param_01 gettagorigin("J_Spine4"); + if(isdefined(var_04)) + { + playfx(common_scripts\utility::getfx("trap_gator_blood_splat"),var_04); + } + } + + wait(0.5); + playfx(common_scripts\utility::getfx("trap_gator_attack_splash"),var_02,var_03); +} + +//Function Number: 12 +trap_gator_radius_damage(param_00) +{ + wait(0.05); + var_01 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + var_01 = sortbydistance(var_01,param_00,128); + foreach(var_03 in var_01) + { + if(isplayer(var_03)) + { + if(!maps\mp\zombies\_util::isplayerinlaststand(var_03)) + { + var_03 thread trap_gator_push_players(param_00); + } + + continue; + } + else if(isdefined(var_03.gatorclaimed) && var_03.gatorclaimed == 1) + { + continue; + } + else if(isdefined(var_03.agentteam) && var_03.agentteam == level.playerteam) + { + continue; + } + else if(var_03 maps\mp\zombies\_util::istrapresistant()) + { + continue; + } + + if(common_scripts\utility::cointoss()) + { + var_04 = var_03.health * 10; + if(isdefined(var_03.maxhealth)) + { + var_04 = var_03.maxhealth * 10; + } + } + else + { + var_04 = var_03.health * 0.5; + if(isdefined(var_03.maxhealth)) + { + var_04 = var_03.maxhealth * 0.5; + } + } + + var_03 dodamage(var_04,param_00,self.owner,self.owner,"MOD_EXPLOSIVE","trap_zm_mp"); + } +} + +//Function Number: 13 +trap_gator_push_players(param_00) +{ + wait 0.05; + var_01 = vectornormalize(self.origin - param_00 * (1,1,0)); + self setvelocity(var_01 * 100); +} + +//Function Number: 14 +trap_gator_pitfall_audio() +{ + self.usepitfallaudio = 1; + foreach(var_01 in level.players) + { + thread trap_gator_pitfall_player_audio(var_01,"exo_boost","ee_pitfall_jump"); + thread trap_gator_pitfall_player_audio(var_01,"begin_last_stand","ee_pitfall_downed"); + thread trap_gator_pitfall_player_audio(var_01,"death","ee_pitfall_death"); + } +} + +//Function Number: 15 +trap_gator_pitfall_player_audio(param_00,param_01,param_02) +{ + self endon("cooldown"); + self endon("no_power"); + self endon("deactivate"); + self endon("ready"); + param_00 endon("disconnect"); + if(param_01 != "death") + { + param_00 endon("death"); + } + + for(;;) + { + param_00 waittill(param_01); + param_00 playsoundonmovingent(param_02); + if(param_01 == "death") + { + break; + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/traps/_trap_sewergas.gsc b/AW/PC/maps/mp/zombies/traps/_trap_sewergas.gsc new file mode 100644 index 0000000..8861d00 --- /dev/null +++ b/AW/PC/maps/mp/zombies/traps/_trap_sewergas.gsc @@ -0,0 +1,232 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\traps\_trap_sewergas.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 9 + * Decompile Time: 144 ms + * Timestamp: 4/22/2024 2:13:19 AM +*******************************************************************/ + +//Function Number: 1 +trap_sewergas_player_watch(param_00) +{ + self endon("cooldown"); + self endon("no_power"); + self endon("deactivate"); + self endon("ready"); + var_01 = 0; + var_02 = 0.15; + if(isdefined(self.script_duration)) + { + var_03 = self.script_duration; + } + else + { + var_03 = 20; + } + + while(var_01 < var_03) + { + wait(var_02); + var_01 = var_01 + var_02; + foreach(var_05 in level.players) + { + if(!isalive(var_05)) + { + continue; + } + + if(!var_05 istouching(param_00)) + { + continue; + } + + if(maps\mp\zombies\_util::isplayerinlaststand(var_05)) + { + continue; + } + + if(!isplayercamouflaged(var_05)) + { + var_05 thread playersewergascamo(); + } + } + } +} + +//Function Number: 2 +isplayercamouflaged(param_00) +{ + return isdefined(param_00.ignoreme) && param_00.ignoreme; +} + +//Function Number: 3 +trap_sewergas_trigger_watch(param_00) +{ + self endon("cooldown"); + self endon("no_power"); + self endon("deactivate"); + self endon("ready"); + var_01 = 0; + var_02 = 0.15; + if(isdefined(self.script_duration)) + { + var_03 = self.script_duration; + } + else + { + var_03 = 20; + } + + while(var_01 < var_03) + { + wait(var_02); + var_01 = var_01 + var_02; + if(!isdefined(level.agentarray)) + { + continue; + } + + foreach(var_05 in level.agentarray) + { + if(!isdefined(var_05) || !isalive(var_05)) + { + continue; + } + + if(!var_05 istouching(param_00)) + { + continue; + } + + if(isplayer(var_05)) + { + continue; + } + + if(isdefined(var_05.inspawnanim) && var_05.inspawnanim == 1) + { + continue; + } + + if(isdefined(var_05.agentteam) && var_05.agentteam == level.playerteam) + { + if(!isdefined(var_05.civiscamouflaged)) + { + var_05 thread sewergasciv(); + } + + continue; + } + + if(!isdefined(var_05.zomisconfused)) + { + var_05 thread sewergaszombie(); + } + } + } +} + +//Function Number: 4 +sewergaszombie() +{ + self endon("death"); + if(!threatbiasgroupexists("zombie_confused")) + { + createthreatbiasgroup("zombie_confused"); + setthreatbias("zombies","zombie_confused",1000); + setthreatbias("zombie_confused","zombies",1000); + } + + self.zomisconfused = 1; + if(maps\mp\zombies\_util::istrapresistant() || isdefined(self.agent_type) && self.agent_type == "zombie_host") + { + return; + } + + if(common_scripts\utility::cointoss()) + { + self setthreatbiasgroup("zombie_confused"); + maps\mp\agents\_agent_utility::set_agent_team(level.playerteam); + thread sewergaszombiecleanup(); + } +} + +//Function Number: 5 +sewergaszombiecleanup() +{ + self endon("death"); + level endon("game_ended"); + var_00 = randomfloatrange(1,2); + var_01 = 10 * var_00; + wait(var_01); + self setthreatbiasgroup("zombies"); + maps\mp\agents\_agent_utility::set_agent_team(level.enemyteam); +} + +//Function Number: 6 +sewergasciv() +{ + self endon("death"); + level endon("game_ended"); + self.civiscamouflaged = 1; + self.ignoreme = 1; + var_00 = randomfloatrange(1,2); + wait(10 * var_00); + self.civiscamouflaged = undefined; + self.ignoreme = 0; +} + +//Function Number: 7 +playersewergascamo() +{ + self endon("death"); + self endon("disconnect"); + level endon("game_ended"); + thread maps\mp\zombies\killstreaks\_zombie_camouflage::playercamouflagemode(10); + self allowsprint(0); + var_00 = ["center","right","left"]; + foreach(var_02 in var_00) + { + thread sewergasoverlay(var_02); + } + + wait(1); + if(!maps\mp\zombies\_util::isplayerinlaststand(self)) + { + self allowsprint(1); + } + + wait(2); + self notify("remove_gas_overlay"); +} + +//Function Number: 8 +sewergasoverlay(param_00) +{ + var_01 = newclienthudelem(self); + var_01.x = 0; + var_01.y = 0; + var_01.alignx = "left"; + var_01.aligny = "top"; + var_01.horzalign = "fullscreen"; + var_01.vertalign = "fullscreen"; + var_01 setshader("screen_blood_directional_" + param_00 + "_yellow",640,480); + var_01.sort = -10; + var_01.archived = 1; + var_01.hidein3rdperson = 1; + var_01.alpha = 0; + _fadehudalpha(var_01,1,1); + self waittill("remove_gas_overlay"); + _fadehudalpha(var_01,0,1); + wait(1); + var_01 destroy(); +} + +//Function Number: 9 +_fadehudalpha(param_00,param_01,param_02) +{ + param_00 fadeovertime(param_02); + param_00.alpha = param_01; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/traps/_trap_sniper.gsc b/AW/PC/maps/mp/zombies/traps/_trap_sniper.gsc new file mode 100644 index 0000000..b1555de --- /dev/null +++ b/AW/PC/maps/mp/zombies/traps/_trap_sniper.gsc @@ -0,0 +1,148 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\traps\_trap_sniper.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 7 + * Decompile Time: 114 ms + * Timestamp: 4/22/2024 2:13:20 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + precachelaser("trap_zm"); + level._effect["trap_sniper_tracer"] = loadfx("vfx/map/mp_zombie_brg/brg_sniper_tracer"); + level.sniperzombietargetlocations = ["J_Shoulder_RI","J_Shoulder_LE","J_Hip_LE","J_Hip_RI","J_Head"]; + level.sniperdogtargetlocations = ["r_frontLeg0_JNT","r_frontLeg1_JNT","l_backLeg0_JNT","l_backLeg1_JNT","J_Spine4","J_Head"]; +} + +//Function Number: 2 +spawnsniperent(param_00,param_01) +{ + var_02 = spawn("script_model",param_00.origin); + var_02.start_origin = param_00.origin; + var_02.start_angles = param_00.angles; + var_02 setmodel("tag_laser"); + var_02 laseron("trap_zm"); + var_03 = common_scripts\utility::getstruct(param_00.target,"targetname"); + var_02.lasertargetent = var_03; + var_02 thread lerplasertotarget(param_01); + var_02 thread findvalidtargets(var_03,param_01); + var_02 thread sniper_trap_audio(param_01); + return var_02; +} + +//Function Number: 3 +findvalidtargets(param_00,param_01) +{ + self endon("death"); + for(;;) + { + wait(0.05); + var_02 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + var_02 = sortbydistance(var_02,self.origin,2048); + foreach(var_04 in var_02) + { + if(var_04.agentteam == level.playerteam || maps\mp\zombies\_util::is_true(var_04.inspawnanim)) + { + var_02 = common_scripts\utility::array_remove(var_02,var_04); + } + + if(isdefined(var_04.sniperclaimed) && var_04.sniperclaimed == 1) + { + var_02 = common_scripts\utility::array_remove(var_02,var_04); + } + } + + if(isdefined(var_02[0]) && isalive(var_02[0])) + { + self.lasertargetent = var_02[0]; + self.lasertargetent.sniperclaimed = 1; + sniperthink(self.lasertargetent,param_01); + continue; + } + + self.lasertargetent = param_00; + } +} + +//Function Number: 4 +lerplasertotarget(param_00) +{ + self endon("death"); + for(;;) + { + while(isdefined(self.lasertargetent)) + { + if(isai(self.lasertargetent) && isalive(self.lasertargetent)) + { + var_01 = snipercheckaitype(self.lasertargetent); + var_02 = self.lasertargetent gettagorigin(common_scripts\utility::random(var_01)); + } + else + { + var_02 = self.lasertargetent.origin + common_scripts\utility::randomvectorrange(-50,50); + } + + var_03 = vectortoangles(var_02 - self.origin); + var_04 = 0; + var_05 = 1000; + var_06 = gettime(); + while(var_04 < 1) + { + var_04 = clamp(gettime() - var_06 / var_05,0,1); + self.angles = vectorlerp(self.angles,var_03,var_04); + wait(0.05); + } + + wait(0.05); + } + + wait(0.05); + } +} + +//Function Number: 5 +snipercheckaitype(param_00) +{ + if(isdefined(param_00.agent_type) && param_00.agent_type == "zombie_dog") + { + return level.sniperdogtargetlocations; + } + + return level.sniperzombietargetlocations; +} + +//Function Number: 6 +sniperthink(param_00,param_01) +{ + param_01 endon("snipers_off"); + param_00 endon("death"); + var_02 = self.origin; + for(;;) + { + var_03 = randomfloatrange(1.5,5); + param_00 common_scripts\utility::waittill_any_timeout(var_03,"death"); + var_04 = param_00 gettagorigin(common_scripts\utility::random(snipercheckaitype(param_00))) + common_scripts\utility::randomvectorrange(-5,5); + var_05 = vectornormalize(var_04 - var_02); + playfx(common_scripts\utility::getfx("trap_sniper_tracer"),var_02,var_05,(0,0,1)); + magicbullet("trap_sniper_zm_mp",var_02,var_04,param_01.owner); + playsoundatpos(self.origin,"sniper_shot_extra_report"); + } +} + +//Function Number: 7 +sniper_trap_audio(param_00) +{ + var_01 = spawn("script_origin",param_00.origin); + playsoundatpos(param_00.origin,"sniper_start_front"); + playsoundatpos((2508,-514,555),"sniper_servo_start_left"); + playsoundatpos((3779,-2179,555),"sniper_servo_start_right"); + param_00 waittill("snipers_off"); + playsoundatpos(param_00.origin,"sniper_stop_front"); + playsoundatpos((2508,-514,555),"sniper_servo_stop_left"); + playsoundatpos((3779,-2179,555),"sniper_servo_stop_right"); + wait 0.05; + var_01 delete(); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/traps/_trap_turrets.gsc b/AW/PC/maps/mp/zombies/traps/_trap_turrets.gsc new file mode 100644 index 0000000..e6e516f --- /dev/null +++ b/AW/PC/maps/mp/zombies/traps/_trap_turrets.gsc @@ -0,0 +1,175 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\traps\_trap_turrets.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 9 + * Decompile Time: 145 ms + * Timestamp: 4/22/2024 2:13:21 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + if(!isdefined(level.sentrysettings)) + { + level.sentrysettings = []; + } + + level.sentrysettings["zombies_trap"] = spawnstruct(); + level.sentrysettings["zombies_trap"].health = 999999; + level.sentrysettings["zombies_trap"].maxhealth = 1000; + level.sentrysettings["zombies_trap"].burstmin = 20; + level.sentrysettings["zombies_trap"].burstmax = 120; + level.sentrysettings["zombies_trap"].pausemin = 0.15; + level.sentrysettings["zombies_trap"].pausemax = 0.35; + level.sentrysettings["zombies_trap"].sentrymodeon = "sentry"; + level.sentrysettings["zombies_trap"].sentrymodeoff = "sentry_offline"; + level.sentrysettings["zombies_trap"].timeout = 90; + level.sentrysettings["zombies_trap"].spinuptime = 0.05; + level.sentrysettings["zombies_trap"].overheattime = 8; + level.sentrysettings["zombies_trap"].cooldowntime = 0.1; + level.sentrysettings["zombies_trap"].fxtime = 0.3; + level.sentrysettings["zombies_trap"].streakname = "sentry"; + level.sentrysettings["zombies_trap"].weaponinfo = "zombie_trap_turret_mp"; + level.sentrysettings["zombies_trap"].modelbase = "zark_trap_turret"; + var_00 = common_scripts\utility::getstructarray("turret_trap","script_noteworthy"); + if(var_00.size > 0) + { + thread maps\mp\zombies\_traps::trap_setup_custom_function("turret_trap","active",::begintrap); + thread maps\mp\zombies\_traps::trap_setup_custom_hints("turret_trap",&"ZOMBIES_TRAP_READY",&"ZOMBIES_TRAP_COOLDOWN"); + } + + foreach(var_02 in level.traps) + { + if(!isdefined(var_02.script_noteworthy) || var_02.script_noteworthy != "turret_trap") + { + continue; + } + + var_03 = var_02 trapgetturrets(); + foreach(var_05 in var_03) + { + var_05 sentry_initsentry("zombies_trap"); + } + } +} + +//Function Number: 2 +begintrap(param_00) +{ + var_01 = "zombies_trap"; + var_02 = param_00 trapgetturrets(); + foreach(var_04 in var_02) + { + var_04 sentry_setowner(param_00.owner); + var_04 sentry_setactive(); + var_04 thread sentry_handlecomplete(); + } + + param_00 thread trapturrettimer(var_02); + return 1; +} + +//Function Number: 3 +trapgetturrets() +{ + var_00 = getentarray(self.target,"targetname"); + var_01 = common_scripts\utility::getstructarray(self.target,"targetname"); + var_02 = common_scripts\utility::array_combine(var_00,var_01); + var_03 = []; + foreach(var_05 in var_02) + { + if(!isdefined(var_05.script_noteworthy)) + { + continue; + } + + if(var_05.script_noteworthy == "turret") + { + var_03[var_03.size] = var_05; + } + } + + return var_03; +} + +//Function Number: 4 +trapturrettimer(param_00) +{ + self waittill("cooldown"); + foreach(var_02 in param_00) + { + var_02 notify("timeout"); + } +} + +//Function Number: 5 +sentry_setactive() +{ + self setmode(level.sentrysettings[self.sentrytype].sentrymodeon); +} + +//Function Number: 6 +sentry_initsentry(param_00) +{ + self.sentrytype = param_00; + self setleftarc(180); + self setrightarc(180); + self settoparc(89); + self setbottomarc(89); + self setmodel(level.sentrysettings[self.sentrytype].modelbase); + self maketurretinoperable(); + self setdefaultdroppitch(0); + self setcandamage(0); + self setcanradiusdamage(0); + self setturretmodechangewait(1); + maps\mp\killstreaks\_autosentry::sentry_setinactive(); + thread sentry_attacktargets(); +} + +//Function Number: 7 +sentry_attacktargets() +{ + self endon("death"); + level endon("game_ended"); + self.momentum = 0; + self.heatlevel = 0; + self.overheated = 0; + for(;;) + { + common_scripts\utility::waittill_either("turretstatechange","cooled"); + if(self isfiringturret()) + { + thread maps\mp\killstreaks\_autosentry::sentry_burstfirestart(); + continue; + } + + maps\mp\killstreaks\_autosentry::sentry_spindown(); + thread maps\mp\killstreaks\_autosentry::sentry_burstfirestop(); + } +} + +//Function Number: 8 +sentry_handlecomplete() +{ + self waittill("timeout"); + if(!isdefined(self)) + { + return; + } + + maps\mp\killstreaks\_autosentry::sentry_setinactive(); + self setsentryowner(undefined); + self setturretminimapvisible(0); +} + +//Function Number: 9 +sentry_setowner(param_00) +{ + self.owner = param_00; + self setsentryowner(self.owner); + self setturretminimapvisible(1,self.sentrytype); + self.team = self.owner.team; + self setturretteam(self.team); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/traps/_trap_water_floor.gsc b/AW/PC/maps/mp/zombies/traps/_trap_water_floor.gsc new file mode 100644 index 0000000..0c37ee0 --- /dev/null +++ b/AW/PC/maps/mp/zombies/traps/_trap_water_floor.gsc @@ -0,0 +1,209 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\traps\_trap_water_floor.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 7 + * Decompile Time: 124 ms + * Timestamp: 4/22/2024 2:13:21 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + thread maps\mp\zombies\_traps::trap_setup_custom_function("water_floor_trap","active",::begintrap); + thread maps\mp\zombies\_traps::trap_setup_custom_hints("water_floor_trap",&"ZOMBIES_TRAP_READY",&"ZOMBIES_TRAP_COOLDOWN"); +} + +//Function Number: 2 +begintrap(param_00) +{ + param_00 thread trapwaterfloorlogic(); + return 1; +} + +//Function Number: 3 +trapwaterfloorlogic() +{ + self notify("trapWaterFloorLogic"); + self endon("trapWaterFloorLogic"); + self endon("cooldown"); + activateclientexploder(57); + thread trapwaterfloorcleanup(); + var_00 = trapgetwatervolume(); + var_01 = 0; + for(;;) + { + if(var_01 >= 2) + { + wait 0.05; + var_01 = 0; + continue; + } + + var_02 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + foreach(var_04 in var_02) + { + if(var_04.team != level.enemyteam) + { + continue; + } + + if(isdefined(var_04.watertrapcooldown) && gettime() < var_04.watertrapcooldown) + { + continue; + } + + if(!isalive(var_04)) + { + continue; + } + + if(maps\mp\zombies\_util::is_true(var_04.inpain) || maps\mp\zombies\_util::is_true(var_04.flungbywatertrap)) + { + continue; + } + + if(isdefined(var_04.birthtime) && var_04.birthtime == gettime()) + { + continue; + } + + if(var_04 maps\mp\zombies\_util::istrapresistant()) + { + continue; + } + + if(ispointinvolume(var_04.origin,var_00)) + { + thread trapwaterlaunch(var_04,var_04.origin); + var_01++; + if(var_01 >= 2) + { + break; + } + } + } + + if(var_01 >= 2) + { + wait 0.05; + var_01 = 0; + continue; + } + + foreach(var_07 in level.players) + { + if(!isalive(var_07) || maps\mp\zombies\_util::isplayerinlaststand(var_07)) + { + continue; + } + + if(isdefined(var_07.watertrapcooldown) && gettime() < var_07.watertrapcooldown) + { + continue; + } + + if(ispointinvolume(var_07.origin,var_00)) + { + thread trapwaterlaunch(var_07,var_07.origin); + if(var_01 >= 2) + { + break; + } + } + } + + wait 0.05; + } +} + +//Function Number: 4 +trapwaterfloorcleanup() +{ + self endon("trapWaterFloorLogic"); + self waittill("cooldown"); + stopclientexploder(57); + foreach(var_01 in level.players) + { + var_01.watertrapcooldown = undefined; + } +} + +//Function Number: 5 +trapwaterlaunch(param_00,param_01) +{ + playfx(common_scripts\utility::getfx("water_trap_jet"),param_01); + playsoundatpos(param_01,"steam_burst_trap"); + var_02 = param_00 getvelocity(); + var_03 = param_00.origin; + if(isplayer(param_00)) + { + var_04 = (var_02[0],var_02[1],700); + param_00 setvelocity(var_04); + earthquake(0.4,1,var_03,500,param_00); + param_00.watertrapcooldown = gettime() + 3000; + return; + } + + if(param_00.agent_type == "zombie_generic") + { + playsoundatpos(param_00.origin,"zmb_gen_steam_burst_death"); + } + + param_00.watervelocity = (var_02[0],var_02[1],800); + var_05 = level.wavecounter * randomintrange(100,120); + param_00 dodamage(var_05,var_03 + (0,0,-1),self.owner,undefined,"MOD_EXPLOSIVE","zombie_water_trap_mp"); + if(isalive(param_00) && isscriptedagent(param_00) && !param_00 maps\mp\agents\_scripted_agent_anim_util::isstatelocked() && !param_00 maps\mp\agents\humanoid\_humanoid_util::iscrawling() && isdefined(param_00.agent_type) && param_00.agent_type != "zombie_dog" && param_00.agent_type != "ranged_elite_soldier" && param_00.agent_type != "ranged_elite_soldier_goliath") + { + level thread trapflingzombie(param_00); + } + else + { + param_00.watertrapcooldown = gettime() + 3000; + } + + wait(0.1); + physicsexplosionsphere(var_03,60,0,10,0); +} + +//Function Number: 6 +trapflingzombie(param_00) +{ + param_00 endon("death"); + param_00.flungbywatertrap = 1; + param_00 scragentsetanimmode("anim deltas"); + param_00 scragentsetanimscale(1,1); + param_00 scragentsetphysicsmode("no_gravity"); + param_00 scragentsetorientmode("face angle abs",param_00.angles); + var_01 = "water_trap_victim"; + var_02 = param_00 getanimentrycount(var_01); + var_03 = randomint(4); + param_00 scragentsetscripted(1); + param_00 maps\mp\agents\_scripted_agent_anim_util::setstatelocked(1,"WaterTrapAnim"); + param_00 maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(var_01,var_03,1,"scripted_anim"); + param_00 scragentsetphysicsmode("gravity"); + param_00 scragentsetscripted(0); + param_00 maps\mp\agents\_scripted_agent_anim_util::setstatelocked(0,"WaterTrapAnim"); + param_00.flungbywatertrap = undefined; +} + +//Function Number: 7 +trapgetwatervolume() +{ + var_00 = getentarray(self.target,"targetname"); + var_01 = common_scripts\utility::getstructarray(self.target,"targetname"); + var_02 = common_scripts\utility::array_combine(var_00,var_01); + foreach(var_04 in var_02) + { + if(!isdefined(var_04.script_noteworthy)) + { + continue; + } + + if(var_04.script_noteworthy == "floor") + { + return var_04; + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/weapons/_zombie_distraction_drone.gsc b/AW/PC/maps/mp/zombies/weapons/_zombie_distraction_drone.gsc new file mode 100644 index 0000000..1626d27 --- /dev/null +++ b/AW/PC/maps/mp/zombies/weapons/_zombie_distraction_drone.gsc @@ -0,0 +1,313 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\weapons\_zombie_distraction_drone.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 17 + * Decompile Time: 280 ms + * Timestamp: 4/22/2024 2:13:22 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level._effect["drone_distraction_scan_fx"] = loadfx("vfx/props/dlc_prop_distract_drone_fx_main"); + level._effect["zdd_explode"] = loadfx("vfx/explosion/explosive_drone_explosion"); + level.zdd_active = []; + level thread watchagentspawn(); +} + +//Function Number: 2 +watchagentspawn() +{ + for(;;) + { + level waittill("spawned_agent",var_00); + if(isdefined(var_00.agentteam) && isdefined(level.playerteam) && var_00.agentteam == level.playerteam) + { + continue; + } + + var_00 thread zombiedistractiondrone(); + } +} + +//Function Number: 3 +getdistractiondroneradiussqr() +{ + if(isdefined(self.maxdistsqr)) + { + return self.maxdistsqr; + } + + return 2250000; +} + +//Function Number: 4 +zombiedistractiondrone() +{ + self endon("death"); + for(;;) + { + while(level.zdd_active.size > 0) + { + var_00 = undefined; + foreach(var_02 in level.zdd_active) + { + if(!checkdronetrapvalid(var_02)) + { + continue; + } + + var_03 = distance2dsquared(var_02.origin,self.origin); + var_04 = var_02 getdistractiondroneradiussqr(); + if(var_03 < var_04) + { + var_00 = var_02; + break; + } + } + + if(isdefined(var_00)) + { + self.distractiondrone = var_00; + self.distractiondronebadpathcount = 0; + if(isdefined(var_00.agentcount)) + { + var_00.agentcount++; + thread distractiondronetrapmonitor(var_00); + } + + var_00 common_scripts\utility::waittill_any("death","stop"); + self.distractiondrone = undefined; + waittillframeend; + continue; + } + + self.distractiondrone = undefined; + wait 0.05; + } + + level waittill("distraction_drone_activated"); + } +} + +//Function Number: 5 +checkdronetrapvalid(param_00) +{ + if(!isdefined(param_00.istrap) || !param_00.istrap) + { + return 1; + } + + var_01 = 4; + if(isdefined(param_00.maxcount)) + { + var_01 = param_00.maxcount; + } + + if(param_00.agentcount > var_01) + { + return 0; + } + + if(maps\mp\zombies\_util::istrapresistant()) + { + return 0; + } + + return 1; +} + +//Function Number: 6 +distractiondronetrapmonitor(param_00) +{ + self waittill("death"); + if(isdefined(param_00)) + { + param_00.agentcount--; + } +} + +//Function Number: 7 +onplayerspawn() +{ + self endon("spawned_player"); + self endon("disconnect"); + self endon("death"); + self endon("faux_spawn"); + for(;;) + { + self waittill("grenade_fire",var_00,var_01); + var_02 = maps\mp\_utility::strip_suffix(var_01,"_lefthand"); + if(var_02 == "distraction_drone_zombie_mp" || var_02 == "distraction_drone_throw_zombie_mp") + { + var_00.team = self.team; + if(!isdefined(var_00.owner)) + { + var_00.owner = self; + } + + if(!isdefined(var_00.weaponname)) + { + var_00.weaponname = var_01; + } + + var_00 thread watchowner(); + var_00 thread watchforstick(); + } + } +} + +//Function Number: 8 +watchowner() +{ + self endon("death"); + self.owner waittill("disconnect"); + self delete(); +} + +//Function Number: 9 +watchdroneowner() +{ + self endon("death"); + self.owner waittill("disconnect"); + destroydrone(); +} + +//Function Number: 10 +watchforstick() +{ + self.owner endon("death"); + self.owner endon("disconnect"); + self waittill("missile_stuck",var_00); + var_01 = spawndronemodel(); + var_01.groundpos = self.origin; + var_01 thread droneanimate(); + var_01 thread watchdeath(); + var_01 thread watchdroneowner(); + var_01 thread dronethink(); + level notify("distraction_drone_activated",var_01); + level.zdd_active[level.zdd_active.size] = var_01; + var_02 = []; + foreach(var_01 in level.zdd_active) + { + if(isdefined(var_01.istrap) && var_01.istrap) + { + continue; + } + + var_02[var_02.size] = var_01; + } + + if(var_02.size > 4) + { + var_02[0] destroydrone(); + } + + self delete(); +} + +//Function Number: 11 +dronethink() +{ + self endon("death"); + wait(7); + destroydrone(); +} + +//Function Number: 12 +spawndronemodel() +{ + var_00 = spawn("script_model",self.origin); + var_00 setmodel("dlc_distraction_drone_01"); + var_00.owner = self.owner; + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("drone_distraction_scan_fx"),var_00,"TAG_SIREN_FX"); + var_00.fx = 1; + var_00 thread droneaudio(); + return var_00; +} + +//Function Number: 13 +droneanimate() +{ + self endon("death"); + thread dronerotate(); + self moveto(self.origin + (0,0,70),1,0,1); +} + +//Function Number: 14 +dronerotate() +{ + self endon("death"); + var_00 = 600; + for(;;) + { + self rotatevelocity((0,60,0),var_00); + wait(var_00); + } +} + +//Function Number: 15 +droneaudio() +{ + var_00 = spawn("script_model",self.origin); + self.soundandeffectsent = var_00; + var_00 setmodel("tag_origin"); + var_00 vehicle_jetbikesethoverforcescale(self,"tag_weapon",(0,0,0),(0,0,0)); + var_00 playsoundonmovingent("distraction_drone_deploy"); + wait(0.3); + self playloopsound("distraction_drone_alarm"); + self waittill("death"); + wait(3); + var_00 delete(); +} + +//Function Number: 16 +watchdeath() +{ + self waittill("death"); + level.zdd_active = common_scripts\utility::array_remove(level.zdd_active,self); +} + +//Function Number: 17 +destroydrone(param_00) +{ + if(isdefined(self.istrap) && self.istrap) + { + level.zdd_active = common_scripts\utility::array_remove(level.zdd_active,self); + self delete(); + return; + } + + var_01 = !isdefined(param_00) && param_00; + if(isdefined(self.fx)) + { + if(var_01) + { + maps\mp\zombies\_util::stopfxontagnetwork(common_scripts\utility::getfx("drone_distraction_scan_fx"),self,"TAG_SIREN_FX"); + } + else + { + maps\mp\zombies\_util::killfxontagnetwork(common_scripts\utility::getfx("drone_distraction_scan_fx"),self,"TAG_SIREN_FX"); + wait(0.05); + } + } + + playfxontag(common_scripts\utility::getfx("zdd_explode"),self.soundandeffectsent,"tag_origin"); + self.soundandeffectsent playsoundonmovingent("wpn_explosive_drone_exp"); + var_02 = self.origin; + var_03 = self.owner; + if(isremovedentity(var_03)) + { + var_03 = undefined; + } + + if(var_01) + { + self radiusdamage(var_02,100,5000,450,var_03,"MOD_EXPLOSIVE","distraction_drone_zombie_mp"); + } + + self stoploopsound(); + self delete(); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/weapons/_zombie_dna_aoe_grenade.gsc b/AW/PC/maps/mp/zombies/weapons/_zombie_dna_aoe_grenade.gsc new file mode 100644 index 0000000..9297bce --- /dev/null +++ b/AW/PC/maps/mp/zombies/weapons/_zombie_dna_aoe_grenade.gsc @@ -0,0 +1,154 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\weapons\_zombie_dna_aoe_grenade.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 8 + * Decompile Time: 130 ms + * Timestamp: 4/22/2024 2:13:23 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level._effect["dna_aoe"] = loadfx("vfx/unique/vfx_killstreak_missilestrike_dna_friendly_sml"); + level.zombie_dna_grenades_active = []; +} + +//Function Number: 2 +onplayerspawn() +{ + self endon("spawned_player"); + self endon("disconnect"); + self endon("death"); + self endon("faux_spawn"); + self notify("onPlayerSpawnDNAAOEGrenade"); + self endon("onPlayerSpawnDNAAOEGrenade"); + var_00 = self.team; + for(;;) + { + self waittill("grenade_fire",var_01,var_02); + var_03 = maps\mp\_utility::strip_suffix(var_02,"_lefthand"); + if(var_03 != "dna_aoe_grenade_zombie_mp" && var_03 != "dna_aoe_grenade_throw_zombie_mp") + { + continue; + } + + if(!isdefined(var_01)) + { + continue; + } + + var_04 = var_01 maps\mp\zombies\_util::waittill_any_return_parms_no_endon_death("explode","dud_explode","repulsor_repel"); + if(var_04.size < 2 || var_04[0] == "dud_explode" || var_04[0] == "repulsor_repel") + { + continue; + } + + thread addaoecloud(var_04[1],var_00); + } +} + +//Function Number: 3 +addaoecloud(param_00,param_01) +{ + var_02 = spawn("script_model",param_00); + var_02 setmodel("tag_origin"); + level.zombie_dna_grenades_active[level.zombie_dna_grenades_active.size] = var_02; + level.zombie_dna_grenades_active = common_scripts\utility::array_removeundefined(level.zombie_dna_grenades_active); + if(level.zombie_dna_grenades_active.size > 6) + { + maps\mp\zombies\_util::killfxontagnetwork(common_scripts\utility::getfx("dna_aoe"),level.zombie_dna_grenades_active[0],"tag_origin"); + level.zombie_dna_grenades_active[0] notify("stopGrenade"); + } + + wait 0.05; + var_02 playloopsound("dna_grenade_front_lp"); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("dna_aoe"),var_02,"tag_origin"); + var_02 updateaoe(param_01,self); + var_02 stoploopsound(); + var_02 playsound("dna_grenade_front_end"); + maps\mp\zombies\_util::killfxontagnetwork(common_scripts\utility::getfx("dna_aoe"),var_02,"tag_origin"); + wait(0.05); + var_02 delete(); +} + +//Function Number: 4 +updateaoe(param_00,param_01) +{ + self endon("death"); + self endon("stopGrenade"); + var_02 = squared(160); + var_03 = 0; + var_04 = 0.15; + while(var_03 < 20) + { + wait(var_04); + var_03 = var_03 + var_04; + maps\mp\gametypes\_hostmigration::waittillhostmigrationdone(); + if(!isdefined(level.agentarray)) + { + continue; + } + + foreach(var_06 in level.agentarray) + { + if(!isdefined(var_06) || !isalive(var_06) || isdefined(var_06.team) && !isenemyteam(param_00,var_06.team)) + { + continue; + } + + if(distancesquared(self.origin,var_06.origin) > var_02) + { + continue; + } + + var_06 maps\mp\zombies\_zombies::addbuff("dnaBuff",var_06 getdnabuff(param_01)); + } + } +} + +//Function Number: 5 +getdnabuff(param_00) +{ + var_01 = maps\mp\zombies\_zombies::getbuff("dnaBuff"); + if(!isdefined(var_01)) + { + var_01 = spawndnabuff(); + } + + var_01.lifespan = 0.2; + var_01.player = param_00; + return var_01; +} + +//Function Number: 6 +spawndnabuff() +{ + var_00 = spawnstruct(); + var_00.buffupdate = ::updatednabuff; + var_00.buffremove = ::removednabuff; + var_00.lifespan = 0.2; + var_00.damageperstep = 60 * maps\mp\zombies\_zombies::getbufftimestep(); + var_00.speedmultiplier = 0.4; + self notify("speed_debuffs_changed"); + return var_00; +} + +//Function Number: 7 +updatednabuff(param_00) +{ + var_01 = param_00.player; + if(isremovedentity(var_01)) + { + var_01 = undefined; + } + + self dodamage(param_00.damageperstep,self.origin,var_01,undefined,"MOD_TRIGGER_HURT","dna_aoe_grenade_zombie_mp","none"); +} + +//Function Number: 8 +removednabuff(param_00) +{ + self notify("speed_debuffs_changed"); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/weapons/_zombie_explosive_drone.gsc b/AW/PC/maps/mp/zombies/weapons/_zombie_explosive_drone.gsc new file mode 100644 index 0000000..361f9a1 --- /dev/null +++ b/AW/PC/maps/mp/zombies/weapons/_zombie_explosive_drone.gsc @@ -0,0 +1,194 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\weapons\_zombie_explosive_drone.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 9 + * Decompile Time: 155 ms + * Timestamp: 4/22/2024 2:13:24 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level._effect["zed_explode"] = loadfx("vfx/explosion/explosive_drone_explosion"); + level._effect["zed_beacon"] = loadfx("vfx/test/zombie_explosive_drone_beacon"); + level.zed_active = []; + maps\mp\zombies\weapons\_zombie_weapons::addplaceableminetype("explosive_drone_zombie_mp"); + maps\mp\zombies\weapons\_zombie_weapons::addplaceableminetype("explosive_drone_throw_zombie_mp"); +} + +//Function Number: 2 +onplayerspawn() +{ + self endon("spawned_player"); + self endon("disconnect"); + self endon("death"); + self endon("faux_spawn"); + for(;;) + { + self waittill("grenade_fire",var_00,var_01); + var_02 = maps\mp\_utility::strip_suffix(var_01,"_lefthand"); + if(var_02 == "explosive_drone_zombie_mp" || var_02 == "explosive_drone_throw_zombie_mp") + { + var_00.team = self.team; + var_00.activated = 0; + if(!isdefined(var_00.owner)) + { + var_00.owner = self; + } + + if(!isdefined(var_00.weaponname)) + { + var_00.weaponname = var_01; + } + + level.zed_active[level.zed_active.size] = var_00; + var_00 thread watchowner(); + var_00 thread watchforstick(); + } + } +} + +//Function Number: 3 +watchowner() +{ + self endon("death"); + self.owner waittill("disconnect"); + self delete(); +} + +//Function Number: 4 +watchforstick() +{ + self endon("death"); + self.owner endon("death"); + self.owner endon("disconnect"); + self waittill("missile_stuck",var_00); + if(isdefined(var_00)) + { + self linkto(var_00); + } + + self.explosive = spawn("script_model",self.origin); + self.explosive setmodel("npc_drone_explosive_main"); + self.explosive linkto(self,"tag_spike",(0,0,0),(0,0,0)); + level.zed_active = common_scripts\utility::array_removeundefined(level.zed_active); + if(level.zed_active.size > 8) + { + level.zed_active[0] activategrenade(); + } + + wait 0.05; + thread beaconfx(); + thread triggerthink(); + thread pickupthink(); + if(isdefined(var_00) && maps\mp\zombies\_util::is_true(var_00.activateexplosivedrone)) + { + activategrenade(); + } +} + +//Function Number: 5 +beaconfx() +{ + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("zed_beacon"),self.explosive,"TAG_BEACON"); +} + +//Function Number: 6 +triggerthink() +{ + self endon("death"); + var_00 = 80; + var_01 = spawn("trigger_radius",self.origin - (0,0,var_00),0,var_00,2 * var_00); + var_01 thread maps\mp\zombies\_util::delete_on_death_of(self); + var_01 enablelinkto(); + var_01 linkto(self); + for(;;) + { + var_01 waittill("trigger",var_02); + if(var_02.team == self.team) + { + continue; + } + + var_03 = anglestoup(self.angles); + if(var_02 damageconetrace(self.origin + var_03 * 10) == 0) + { + continue; + } + + thread activategrenade(); + break; + } +} + +//Function Number: 7 +activategrenade() +{ + if(self.activated) + { + return; + } + + self.activated = 1; + var_00 = self.explosive; + self playsoundonmovingent("wpn_explosive_drone_open"); + maps\mp\zombies\_util::killfxontagnetwork(common_scripts\utility::getfx("zed_beacon"),var_00,"TAG_BEACON"); + droneanimate(); + var_01 = var_00.origin + (0,0,5); + var_00 setmodel("tag_origin"); + playfxontag(common_scripts\utility::getfx("zed_explode"),var_00,"tag_origin"); + var_00 playsoundonmovingent("wpn_explosive_drone_exp"); + self radiusdamage(var_01,200,200,50,self.owner,"MOD_EXPLOSIVE","explosive_drone_zombie_mp"); + self delete(); + wait(1); + var_00 delete(); +} + +//Function Number: 8 +droneanimate() +{ + self.explosive endon("death"); + var_00 = 0.7; + var_01 = anglestoup(self.angles); + self.explosive unlink(); + self.explosive moveto(self.origin + var_01 * 30,var_00,0,var_00); + wait(var_00); +} + +//Function Number: 9 +pickupthink() +{ + self endon("death"); + var_00 = spawn("script_model",self.origin); + var_00.owner = self.owner; + var_00 makeusable(); + var_00 sethintstring(&"ZOMBIES_PICKUP_EXPLOSIVE_DRONE"); + var_00 sethintstringvisibleonlytoowner(1); + var_00 thread maps\mp\zombies\_util::delete_on_death_of(self); + for(;;) + { + var_00 waittill("trigger",var_01); + if(var_01 != self.owner) + { + continue; + } + + if(var_01 maps\mp\zombies\_terminals::hasexosuit()) + { + var_01 setweaponammostock("explosive_drone_zombie_mp",var_01 setweaponammostock("explosive_drone_zombie_mp") + 1); + } + else + { + var_01 setweaponammostock("explosive_drone_throw_zombie_mp",var_01 setweaponammostock("explosive_drone_throw_zombie_mp") + 1); + } + + if(isdefined(self.explosive)) + { + self.explosive delete(); + } + + self delete(); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/weapons/_zombie_line_gun.gsc b/AW/PC/maps/mp/zombies/weapons/_zombie_line_gun.gsc new file mode 100644 index 0000000..e980e24 --- /dev/null +++ b/AW/PC/maps/mp/zombies/weapons/_zombie_line_gun.gsc @@ -0,0 +1,352 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\weapons\_zombie_line_gun.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 11 + * Decompile Time: 173 ms + * Timestamp: 4/22/2024 2:13:24 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level.linegun = spawnstruct(); + level.linegun.name = "iw5_linegunzm_mp"; + level.linegun.damageweapon = "iw5_linegundamagezm_mp"; + level.linegun.maxdist = 5000; + level.linegun.movespeed = 450; + level.linegun.startoffset = (30,0,0); + level.linegun.hipfireangles = (3,3,20); + level.linegun.damage = 1200; + level.linegun.debug = 0; + level.linegun.debugduration = 1; + level.linegun.startwidth = 200; + level.linegun.widthrate = 0; + level.linegun.widthratetime = 0; + level.modifyweapondamage[level.linegun.name] = ::linegunmodifydamage; + level.damageweapontoweapon[level.linegun.damageweapon] = level.linegun.name; + level._effect["dlc_zombies_linegun_laser"] = loadfx("vfx/muzzleflash/dlc_zombies_linegun_laser"); + level._effect["dlc_zombie_line_gun_gib"] = loadfx("vfx/blood/dlc_zombie_line_gun_gib"); + level._effect["dlc_zombies_drone_death"] = loadfx("vfx/muzzleflash/dlc_zombies_drone_death"); +} + +//Function Number: 2 +linegunmodifydamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + return int(level.linegun.damage); +} + +//Function Number: 3 +onplayerspawn() +{ + self endon("spawned_player"); + self endon("disconnect"); + self endon("death"); + self endon("faux_spawn"); + self notify("onPlayerSpawnLineGUn"); + self endon("onPlayerSpawnLineGUn"); + for(;;) + { + self waittill("weapon_fired",var_00); + var_01 = getweaponbasename(var_00); + if(var_01 != level.linegun.name) + { + continue; + } + + thread firelinegun(); + } +} + +//Function Number: 4 +firelinegun() +{ + var_00 = self playerads(); + var_01 = self getplayerangles(); + var_02 = (var_01[0],var_01[1],0); + var_03 = randomfloatrange(-1,1) * 1 - var_00; + var_04 = randomfloatrange(-1,1) * 1 - var_00; + var_05 = var_02 + (level.linegun.hipfireangles[0] * var_03,level.linegun.hipfireangles[1] * var_04,0); + var_06 = anglestoforward(var_01); + var_07 = anglestoforward(var_05); + var_08 = self getvieworigin(); + var_09 = var_08 + self getvelocity() * 0.05 + rotatevector(level.linegun.startoffset,var_02); + var_0A = var_08 + var_07 * level.linegun.maxdist; + var_0B = var_08; + var_0C = undefined; + var_0D = self; + var_0E = 1; + for(var_0F = 0;var_0F < 3;var_0F++) + { + var_0C = bullettrace(var_0B,var_0A,0,var_0D,0,0,0,0,var_0E,0,0); + if(isdefined(var_0C["glass"])) + { + var_0E = 0; + var_10 = distance(var_09,var_0C["position"]); + var_11 = var_10 / level.linegun.movespeed; + thread lineguntouchglass(var_0C["glass"],var_06,var_11); + continue; + } + + var_12 = var_0C["entity"]; + var_13 = isdefined(var_12) && maps\mp\zombies\_util::is_true(var_12.linegunignore); + if(!var_13) + { + break; + } + + var_0B = var_0C["position"]; + var_0D = var_12; + } + + if(var_0C["fraction"] <= 0) + { + return; + } + + var_0A = var_0C["position"]; + var_14 = distance(var_08,var_0A); + var_15 = linegungetprojectileent(var_09,self.angles); + var_16 = var_14 / level.linegun.movespeed; + var_15 moveto(var_0A,var_16); + var_17 = -1 * var_04 * level.linegun.hipfireangles[2]; + if(var_17 != 0) + { + var_15 rotatevelocity((0,0,var_17),var_16); + } + + var_15 thread lineprojectiledamageupdate(self); + var_15 waittill("movedone"); + level thread linegunreleaseprojectileent(var_15); +} + +//Function Number: 5 +lineguntouchglass(param_00,param_01,param_02) +{ + wait(param_02); + if(!isglassdestroyed(param_00)) + { + destroyglass(param_00,param_01); + } +} + +//Function Number: 6 +lineprojectiledamageupdate(param_00) +{ + self endon("death"); + self endon("released"); + self.enemyimpactcount = 0; + var_01 = gettime(); + var_02 = level.linegun.startwidth; + for(;;) + { + var_03 = anglestoright(self.angles); + if(level.linegun.widthrate > 0) + { + var_02 = gettime() - var_01 / 1000 * level.linegun.widthrate; + var_02 = clamp(var_02,level.linegun.startwidth,level.linegun.widthratetime * level.linegun.widthrate); + } + + linegundamage(self.origin,self.origin + var_03 * var_02,param_00); + linegundamage(self.origin,self.origin - var_03 * var_02,param_00); + wait 0.05; + } +} + +//Function Number: 7 +linegundamage(param_00,param_01,param_02) +{ + var_03 = []; + var_04 = []; + foreach(var_06 in level.characters) + { + if(var_06 maps\mp\agents\humanoid\_humanoid_util::iscrawling()) + { + var_06.linegunheight = 40; + } + else + { + var_06.linegunheight = 70; + } + + var_06.linegungibfx = "dlc_zombie_line_gun_gib"; + var_04[var_04.size] = var_06; + } + + var_08 = [level.ammodrone,level.ammodrone2]; + foreach(var_0A in var_08) + { + if(!isdefined(var_0A)) + { + continue; + } + + var_0A.linegunheight = 40; + var_04[var_04.size] = var_0A; + } + + foreach(var_0D in var_04) + { + if(isdefined(var_0D.team) && var_0D.team == param_02.team) + { + continue; + } + + var_0E = maps\mp\zombies\_util::projecttoline(var_0D.origin,param_00,param_01); + var_0F = var_0E[0]; + var_10 = var_0E[1]; + if(var_10 < 0 || var_10 > 1) + { + continue; + } + + if(var_0F[2] < var_0D.origin[2]) + { + continue; + } + + if(var_0F[2] > var_0D.origin[2] + var_0D.linegunheight) + { + continue; + } + + var_11 = (var_0D.origin[0],var_0D.origin[1],var_0F[2]); + if(distancesquared(var_0F,var_11) > squared(level.linegun.movespeed / 20)) + { + continue; + } + + if(isdefined(var_0D.lastlinegundamagetime) && gettime() - var_0D.lastlinegundamagetime < 100) + { + continue; + } + + var_0D.projecttolinepoint = var_0F; + var_0D.projecttolinescale = var_10; + var_03[var_03.size] = var_0D; + } + + if(!var_03.size) + { + return; + } + + var_13 = bullettrace(param_00,param_01,0,param_02); + if(var_13["fraction"] <= 0) + { + return; + } + + param_01 = var_13["position"]; + foreach(var_0D in var_03) + { + if(!isalive(var_0D)) + { + continue; + } + + if(var_0D.projecttolinescale > var_13["fraction"]) + { + continue; + } + + var_11 = (var_0D.origin[0],var_0D.origin[1],var_0D.projecttolinepoint[2]); + if(level.linegun.debug) + { + var_15 = (1,0,0); + var_16 = bullettrace(param_00,param_01,0,param_02); + var_17 = var_16["entity"]; + if(isdefined(var_17) && var_17 == var_0D) + { + var_15 = (0,1,0); + } + } + + thread linegungibfx(var_0D,var_11); + var_18 = linegundamagelocation(var_0D,var_11); + var_0D dodamage(level.linegun.damage,var_11,param_02,param_02,"MOD_RIFLE_BULLET",level.linegun.damageweapon,var_18); + param_02 maps\mp\gametypes\_damagefeedback::updatedamagefeedback("linegun",var_0D); + var_0D.lastlinegundamagetime = gettime(); + self.enemyimpactcount++; + if(self.enemyimpactcount == 18) + { + param_02 maps\mp\gametypes\zombies::givezombieachievement("DLC3_ZOMBIE_LIMBO"); + } + } +} + +//Function Number: 8 +linegungibfx(param_00,param_01) +{ + var_02 = param_00.linegungibfx; + if(!isdefined(var_02)) + { + return; + } + + param_00 endon("detachLimb"); + waittillframeend; + playfx(common_scripts\utility::getfx(var_02),param_01); +} + +//Function Number: 9 +linegundamagelocation(param_00,param_01) +{ + var_02 = param_01[2] - param_00.origin[2]; + if(var_02 < 32) + { + return common_scripts\utility::random(["right_leg_upper","left_leg_upper"]); + } + + if(var_02 < 60) + { + return common_scripts\utility::random(["left_arm_upper","right_arm_upper"]); + } + + return common_scripts\utility::random(["head","neck"]); +} + +//Function Number: 10 +linegungetprojectileent(param_00,param_01) +{ + var_02 = undefined; + var_03 = getentarray("line_gun_projectile","targetname"); + foreach(var_05 in var_03) + { + if(!isdefined(var_05.inuse) || !var_05.inuse) + { + var_02 = var_05; + var_02 dontinterpolate(); + break; + } + } + + if(!isdefined(var_02)) + { + var_02 = spawn("script_model",param_00); + var_02.targetname = "line_gun_projectile"; + } + + var_02 setmodel("tag_origin"); + var_02.origin = param_00; + var_02.angles = param_01; + var_02.fxname = "dlc_zombies_linegun_laser"; + var_02.fxtag = "tag_origin"; + playfxontag(common_scripts\utility::getfx(var_02.fxname),var_02,var_02.fxtag); + var_02 playloopsound("wpn_linegun_beam_hi"); + var_02.inuse = 1; + return var_02; +} + +//Function Number: 11 +linegunreleaseprojectileent(param_00) +{ + param_00 notify("released"); + killfxontag(common_scripts\utility::getfx(param_00.fxname),param_00,param_00.fxtag); + playfxontag(common_scripts\utility::getfx("dlc_zombies_drone_death"),param_00,param_00.fxtag); + param_00 stoploopsound("wpn_linegun_beam_hi"); + param_00 playsound("wpn_linegun_exp"); + wait(1); + param_00.inuse = 0; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/weapons/_zombie_microwave_gun.gsc b/AW/PC/maps/mp/zombies/weapons/_zombie_microwave_gun.gsc new file mode 100644 index 0000000..241fc09 --- /dev/null +++ b/AW/PC/maps/mp/zombies/weapons/_zombie_microwave_gun.gsc @@ -0,0 +1,638 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\weapons\_zombie_microwave_gun.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 35 + * Decompile Time: 562 ms + * Timestamp: 4/22/2024 2:13:26 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level._effect["microwave_buff"][0] = loadfx("vfx/weaponimpact/xombie_flesh_microwave_bubbles_1"); + level._effect["microwave_buff"][1] = loadfx("vfx/weaponimpact/xombie_flesh_microwave_bubbles_2"); + level._effect["microwave_buff_head"] = loadfx("vfx/weaponimpact/xombie_flesh_microwave_bubbles_head_2"); + level._effect["microwave_buff_shoulder_left"] = loadfx("vfx/weaponimpact/xombie_flesh_microwave_bubbles_le_2"); + level._effect["microwave_buff_shoulder_right"] = loadfx("vfx/weaponimpact/xombie_flesh_microwave_bubbles_ri_2"); + level._effect["gib_full_body_microwave"] = loadfx("vfx/blood/dlc_zombie_microwave_death"); +} + +//Function Number: 2 +onplayerspawn() +{ + self endon("spawned_player"); + self endon("disconnect"); + self endon("death"); + self endon("faux_spawn"); + self notify("onPlayerSpawnMicrowaveGun"); + self endon("onPlayerSpawnMicrowaveGun"); + maps\mp\gametypes\zombies::createzombieweaponstate(self,"iw5_microwavezm_mp"); + self.weaponstate["iw5_microwavezm_mp"]["weapon_level_increase"] = 0.2; + var_00 = self.team; + var_01 = spawnstruct(); + var_01.lastfiredtime = 0; + var_01.beamrange = 650; + var_02 = 0; + self.microwavegundata = var_01; + setmicrowaveweaponlevel(1); + childthread updatebeamrange(var_01); + childthread playermonitormicrowaveweapon(var_01); + childthread update_microwave_heat_omnvar(); + childthread updatecookzombieburger(var_01); + for(;;) + { + wait(0.05); + if(gettime() - var_01.lastfiredtime > 100) + { + var_02 = 0; + continue; + } + + var_02 = 1; + cookenemiesinrange(var_01,var_00); + } +} + +//Function Number: 3 +updatebeamrange(param_00) +{ + for(;;) + { + wait(0.5); + var_01 = self getcurrentweapon(0); + if(!issubstr(var_01,"iw5_microwavezm_mp")) + { + continue; + } + + var_02 = self getplayerangles(); + var_03 = anglestoforward(var_02); + var_04 = self geteye(); + var_05 = var_04 + var_03 * 850; + var_06 = bullettrace(var_04,var_05,0,self,0,0,0,0,0,1,0); + if(var_06["fraction"] < 1) + { + param_00.beamrange = length(var_06["position"] - var_04); + continue; + } + + param_00.beamrange = 850; + } +} + +//Function Number: 4 +cookenemiesinrange(param_00,param_01) +{ + var_02 = param_00.beamrange; + if(self playerads() < 0.3) + { + var_02 = min(var_02,650); + } + + var_03 = squared(var_02 + param_00.beamwidth * 2); + var_04 = squared(param_00.beamwidth); + var_05 = self geteye(); + var_06 = self getplayerangles(); + var_07 = anglestoforward(var_06); + var_08 = var_05 + var_07 * param_00.beamwidth; + var_09 = var_08 + var_07 * var_02; + foreach(var_0B in level.agentarray) + { + if(!isdefined(var_0B) || !isalive(var_0B) || isdefined(var_0B.team) && !isenemyteam(param_01,var_0B.team)) + { + continue; + } + + if(distancesquared(self.origin,var_0B.origin) > var_03) + { + continue; + } + + var_0C = var_0B.origin - var_05 * (1,1,0); + if(vectordot(var_0C,var_07 * (1,1,0)) < 0) + { + continue; + } + + var_0D = pointdistancetolinesq(var_0B geteye(),var_08,var_09); + var_0E = pointdistancetolinesq(var_0B gettagorigin("J_Spine4"),var_08,var_09); + var_0F = min(var_0D,var_0E); + if(var_0F > var_04) + { + continue; + } + + if(maps\mp\zombies\_util::isinstakill()) + { + var_0B explodezombie(self); + continue; + } + + var_0B dodamage(30,var_0B geteye(),self,undefined,"MOD_EXPLOSIVE","iw5_microwavezm_mp","none"); + if(!isdefined(var_0B) || !isalive(var_0B)) + { + continue; + } + + var_0B maps\mp\zombies\_zombies::addbuff("microwaveBuff",var_0B getmicrowavebuff(self)); + } +} + +//Function Number: 5 +updatecookzombieburger(param_00) +{ + level endon("game_ended"); + self endon("disconnect"); + level waittill("main_stage5_over"); + var_01 = getent("zombie_patty_raw","targetname"); + if(!isdefined(var_01)) + { + return; + } + + var_01.cooktime = 0; + var_02 = 0.5; + for(;;) + { + wait(var_02); + if(gettime() - param_00.lastfiredtime > 100) + { + continue; + } + + cookzombieburger(param_00,var_01,var_02); + if(var_01.cooktime >= 5) + { + break; + } + } + + level notify("burger_patty_cooked",self); +} + +//Function Number: 6 +cookzombieburger(param_00,param_01,param_02) +{ + var_03 = squared(param_00.beamrange + param_00.beamwidth * 2); + var_04 = squared(param_00.beamwidth); + var_05 = self geteye(); + var_06 = self getplayerangles(); + var_07 = anglestoforward(var_06); + var_08 = var_05 + var_07 * param_00.beamwidth; + var_09 = var_08 + var_07 * param_00.beamrange; + if(distancesquared(self.origin,param_01.origin) > var_03) + { + return; + } + + var_0A = param_01.origin - var_05 * (1,1,0); + if(vectordot(var_0A,var_07 * (1,1,0)) < 0) + { + return; + } + + var_0B = pointdistancetolinesq(param_01.origin,var_08,var_09); + if(var_0B > var_04) + { + return; + } + + param_01.cooktime = param_01.cooktime + param_02; +} + +//Function Number: 7 +pointdistancetolinesq(param_00,param_01,param_02) +{ + var_03 = lengthsquared(param_02 - param_01); + if(var_03 == 0) + { + return lengthsquared(param_01 - param_00); + } + + var_04 = vectordot(param_00 - param_01,param_02 - param_01) / var_03; + if(var_04 < 0) + { + return lengthsquared(param_00 - param_01); + } + else if(var_04 > 1) + { + return lengthsquared(param_00 - param_02); + } + + var_05 = param_01 + var_04 * param_02 - param_01; + var_06 = lengthsquared(param_00 - var_05); + return var_06; +} + +//Function Number: 8 +getmicrowavebuff(param_00) +{ + var_01 = maps\mp\zombies\_zombies::getbuff("microwaveBuff"); + if(!isdefined(var_01)) + { + var_01 = spawnmicrowavebuff(param_00); + maps\mp\zombies\_util::playfxontagnetwork(level._effect["microwave_buff"][0],self,"J_Spine4"); + var_02 = clamp(var_01.bufflevel / var_01.timetoexplode,0,1); + thread audio_flesh_bubble(var_02); + } + else + { + var_03 = var_02.bufflevel; + var_01.bufflevel = var_01.bufflevel + 0.05; + var_02 = clamp(var_01.bufflevel / var_01.timetoexplode,0,1); + var_01.speedmultiplier = calculatebuffspeedmultiplier(var_01.bufflevel,var_02,var_01.lifespan,var_01.player); + var_04 = getmicrowavebufffxindex(var_03,var_01.timetoexplode); + var_05 = getmicrowavebufffxindex(var_01.bufflevel,var_01.timetoexplode); + if(var_05 > var_04) + { + maps\mp\zombies\_util::stopfxontagnetwork(level._effect["microwave_buff"][var_04],self,"J_Spine4"); + maps\mp\zombies\_util::playfxontagnetwork(level._effect["microwave_buff"][var_05],self,"J_Spine4"); + maps\mp\zombies\_util::playfxontagnetwork(level._effect["microwave_buff_head"],self,"J_head"); + if(canplayadditionalbufffx()) + { + maps\mp\zombies\_util::playfxontagnetwork(level._effect["microwave_buff_shoulder_left"],self,"J_Shoulder_LE"); + maps\mp\zombies\_util::playfxontagnetwork(level._effect["microwave_buff_shoulder_right"],self,"J_Shoulder_RI"); + } + } + + audio_flesh_bubble_volume(var_02); + } + + var_01.lifespan = param_00.microwavegundata.bufflifespan; + var_01.player = param_00; + return var_01; +} + +//Function Number: 9 +calculatebuffspeedmultiplier(param_00,param_01,param_02,param_03) +{ + var_04 = clamp(param_00 / 0.2,0,1); + if(param_02 < 2) + { + var_04 = clamp(param_02 / 2,0,1); + } + + return maps\mp\zombies\_util::lerp(var_04,0.9,param_03.microwavegundata.fullyslowed); +} + +//Function Number: 10 +audio_flesh_bubble(param_00) +{ + if(!isdefined(self.fleshbubblesound)) + { + self.fleshbubblesound = spawn("script_origin",self.origin); + } + + self.fleshbubblesound linkto(self); + thread common_scripts\utility::delete_on_death(self.fleshbubblesound); + self.fleshbubblesound playloopsound("npc_mwave_flesh_bubble"); + self.fleshbubblesound scalevolume(clamp(param_00,0,1),0); +} + +//Function Number: 11 +audio_flesh_bubble_volume(param_00) +{ + if(isdefined(self.fleshbubblesound)) + { + self.fleshbubblesound scalevolume(clamp(param_00,0,1),0); + } +} + +//Function Number: 12 +audio_stop_flesh_bubble() +{ + if(!isdefined(self.fleshbubblesound)) + { + return; + } + + var_00 = self.fleshbubblesound; + var_00 endon("death"); + wait(1.3); + var_00 scalevolume(0,1); + wait(1); + var_00 stoploopsound(); + wait 0.05; + var_00 delete(); + var_00 = undefined; +} + +//Function Number: 13 +getmicrowavebufffxindex(param_00,param_01) +{ + var_02 = param_00 / param_01; + if(var_02 < 0.25) + { + return 0; + } + + return 1; +} + +//Function Number: 14 +canplayadditionalbufffx() +{ + return self.species != "dog"; +} + +//Function Number: 15 +spawnmicrowavebuff(param_00) +{ + var_01 = spawnstruct(); + var_01.buffupdate = ::updatemicrowavebuff; + var_01.buffremove = ::removemicrowavebuff; + var_01.lifespan = param_00.microwavegundata.bufflifespan; + var_01.speedmultiplier = 0.9; + var_01.bufflevel = 0.05; + var_01.timetoexplode = 2; + return var_01; +} + +//Function Number: 16 +explodezombie(param_00) +{ + earthquake(randomfloatrange(0.5,1),randomfloatrange(0.5,1),self.origin,128); + self dodamage(self.maxhealth + 10,self geteye(),param_00,undefined,"MOD_EXPLOSIVE","iw5_microwavezm_mp","none"); +} + +//Function Number: 17 +givezombiescookedachievement(param_00,param_01) +{ + if(!isdefined(param_00) || !isdefined(param_01) || !issubstr(param_01,"iw5_microwavezm_mp")) + { + return; + } + + if(!isdefined(param_00.numzombiescooked)) + { + param_00.numzombiescooked = 0; + } + + param_00.numzombiescooked++; + if(param_00.numzombiescooked == 50) + { + param_00 maps\mp\gametypes\zombies::givezombieachievement("DLC2_ZOMBIE_POPCORN"); + } +} + +//Function Number: 18 +updatemicrowavebuff(param_00) +{ + var_01 = clamp(param_00.bufflevel / param_00.timetoexplode,0,1); + param_00.speedmultiplier = calculatebuffspeedmultiplier(param_00.bufflevel,var_01,param_00.lifespan,param_00.player); +} + +//Function Number: 19 +removemicrowavebuff(param_00) +{ + var_01 = getmicrowavebufffxindex(param_00.bufflevel,param_00.timetoexplode); + maps\mp\zombies\_util::stopfxontagnetwork(level._effect["microwave_buff"][var_01],self,"J_Spine4"); + thread audio_stop_flesh_bubble(); + if(var_01 == 0) + { + return; + } + + maps\mp\zombies\_util::stopfxontagnetwork(level._effect["microwave_buff_head"],self,"J_head"); + if(canplayadditionalbufffx()) + { + maps\mp\zombies\_util::stopfxontagnetwork(level._effect["microwave_buff_shoulder_left"],self,"J_Shoulder_LE"); + maps\mp\zombies\_util::stopfxontagnetwork(level._effect["microwave_buff_shoulder_right"],self,"J_Shoulder_RI"); + } +} + +//Function Number: 20 +playermonitormicrowaveweapon(param_00) +{ + self endon("disconnect"); + self setclientomnvar("ui_energy_ammo",1); + for(;;) + { + self waittill("weapon_change",var_01); + wait 0.05; + thread playerdomicrowavelogic(var_01,param_00); + } +} + +//Function Number: 21 +playerdomicrowavelogic(param_00,param_01) +{ + self endon("disconnect"); + if(!issubstr(param_00,"iw5_microwavezm_mp")) + { + if(playerhasmicrowaveammoinfo() && playergetmicrowaveammo() <= 0 && !playerhasmicrowave() && !maps\mp\zombies\_util::isplayerinlaststand(self)) + { + playerclearmicrowaveammoinfo(); + } + + return; + } + + playersetmicrowaveammo(); + self setweaponammostock(param_00,0); + thread playersetupmicrowaveammo(param_01); + self waittill("weapon_change"); + self allowfire(1); + self notifyonplayercommandremove("fire_microwave_weapon","+attack"); + self notifyonplayercommandremove("fire_microwave_weapon","+attack_akimbo_accessible"); +} + +//Function Number: 22 +playerhasmicrowave() +{ + var_00 = self getweaponslistprimaries(); + foreach(var_02 in var_00) + { + if(issubstr(var_02,"iw5_microwavezm_mp")) + { + return 1; + } + } + + return 0; +} + +//Function Number: 23 +playerupdatemicrowaveomnvar() +{ + var_00 = getmicrowavemaxammo(); + var_01 = playergetmicrowaveammo(); + var_02 = var_01 / var_00; + self setclientomnvar("ui_energy_ammo",var_02); +} + +//Function Number: 24 +playersetupmicrowaveammo(param_00) +{ + self endon("death"); + self endon("disconnect"); + self endon("weapon_change"); + self notifyonplayercommand("fire_microwave_weapon","+attack"); + self notifyonplayercommand("fire_microwave_weapon","+attack_akimbo_accessible"); + var_01 = playergetmicrowaveammo(); + playerupdatemicrowaveomnvar(); + if(var_01 <= 0) + { + self allowfire(0); + } + + for(;;) + { + if(!self attackbuttonpressed()) + { + self waittill("fire_microwave_weapon"); + } + + var_02 = self getcurrentweapon(); + if(self isreloading() || !issubstr(var_02,"iw5_microwavezm_mp") || !self isfiring() || self isusingoffhand() || self ismeleeing()) + { + wait 0.05; + continue; + } + + param_00.lastfiredtime = gettime(); + var_01 = playergetmicrowaveammo(); + playerupdatemicrowaveomnvar(); + if(var_01 <= 0) + { + var_03 = self getweaponslistprimaries(); + var_04 = maps\mp\_utility::getbaseweaponname(var_03[0]); + if(var_04 != "iw5_microwavezm") + { + self allowfire(0); + self switchtoweapon(var_03[0]); + wait 0.05; + continue; + } + + if(var_03.size > 1) + { + var_04 = maps\mp\_utility::getbaseweaponname(var_03[1]); + if(var_04 != "iw5_microwavezm") + { + self switchtoweapon(var_03[1]); + self allowfire(0); + wait 0.05; + continue; + } + } + + self allowfire(0); + wait 0.05; + continue; + } + + wait 0.05; + if(maps\mp\zombies\_util::gameflagexists("unlimited_ammo") && maps\mp\_utility::gameflag("unlimited_ammo")) + { + continue; + } + + var_01 = playergetmicrowaveammo(); + playerrecordmicrowaveammo(var_01 - 1); + } +} + +//Function Number: 25 +playersetmicrowaveammo() +{ + if(!isdefined(self.pers["microwaveAmmo"])) + { + self.pers["microwaveAmmo"] = spawnstruct(); + playersetmicrowavemaxammo(); + self allowfire(1); + } +} + +//Function Number: 26 +getmicrowavemaxammo() +{ + return 900; +} + +//Function Number: 27 +playersetmicrowavemaxammo() +{ + if(isdefined(self.pers["microwaveAmmo"])) + { + self.pers["microwaveAmmo"].ammo = getmicrowavemaxammo(); + self setclientomnvar("ui_energy_ammo",1); + self allowfire(1); + } +} + +//Function Number: 28 +playergetmicrowaveammo() +{ + return self.pers["microwaveAmmo"].ammo; +} + +//Function Number: 29 +playerrecordmicrowaveammo(param_00) +{ + self.pers["microwaveAmmo"].ammo = param_00; +} + +//Function Number: 30 +playerhasmicrowaveammoinfo() +{ + return isdefined(self.pers["microwaveAmmo"]); +} + +//Function Number: 31 +playerclearmicrowaveammoinfo() +{ + self.pers["microwaveAmmo"] = undefined; +} + +//Function Number: 32 +update_microwave_heat_omnvar() +{ + level endon("game_ended"); + self endon("disconnect"); + for(;;) + { + var_00 = self getcurrentweapon(); + if(issubstr(var_00,"iw5_microwavezm_mp")) + { + var_01 = self getweaponheatlevel(var_00); + self setclientomnvar("ui_em1_heat",var_01); + } + + wait(0.05); + } +} + +//Function Number: 33 +playzombiekilledmicrowavefx() +{ + var_00 = common_scripts\utility::getfx("gib_full_body_microwave"); + var_01 = level.dismemberment["full"]["fxTagName"]; + playfx(var_00,self.body gettagorigin(var_01)); + self.body playsound("npc_mwave_flesh_expl_front"); + self.body hide(); + self.body hideallparts(); +} + +//Function Number: 34 +setmicrowaveweaponlevel(param_00) +{ + param_00 = clamp(param_00,1,20); + if(!isdefined(self.microwavegundata)) + { + return; + } + + var_01 = clamp(param_00 - 1 / 19,0,1); + self.microwavegundata.bufflifespan = maps\mp\zombies\_util::lerp(var_01,3,10); + self.microwavegundata.fullyslowed = maps\mp\zombies\_util::lerp(var_01,0.6,0.4); + self.microwavegundata.beamwidth = 25; +} + +//Function Number: 35 +getmicrowavepointstimesec() +{ + return 0.5; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/weapons/_zombie_repulsor.gsc b/AW/PC/maps/mp/zombies/weapons/_zombie_repulsor.gsc new file mode 100644 index 0000000..65fc19b --- /dev/null +++ b/AW/PC/maps/mp/zombies/weapons/_zombie_repulsor.gsc @@ -0,0 +1,51 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\weapons\_zombie_repulsor.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 58 ms + * Timestamp: 4/22/2024 2:13:27 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level._effect["dlc_repulsor"] = loadfx("vfx/gameplay/mp/zombie/dlc_repulsor"); +} + +//Function Number: 2 +onplayerspawn() +{ + self endon("spawned_player"); + self endon("disconnect"); + self endon("death"); + self endon("faux_spawn"); + self notify("onPlayerSpawnZombieRepulsor"); + self endon("onPlayerSpawnZombieRepulsor"); + var_00 = self.team; + for(;;) + { + self waittill("grenade_fire",var_01,var_02); + var_03 = maps\mp\_utility::strip_suffix(var_02,"_lefthand"); + if(var_03 != "repulsor_zombie_mp") + { + continue; + } + + var_04 = (var_01.origin[0],var_01.origin[1],self.origin[2] + 20); + var_01 delete(); + dorepulsor(var_04,var_00); + } +} + +//Function Number: 3 +dorepulsor(param_00,param_01) +{ + var_02 = self.angles; + var_03 = (0,0,1); + playfx(common_scripts\utility::getfx("dlc_repulsor"),self.origin,var_02,var_03); + self radiusdamage(param_00,500,100,25,self,"MOD_EXPLOSIVE","repulsor_zombie_mp"); + wait(0.1); + physicsexplosionsphere(param_00,500,0,10,0); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/weapons/_zombie_teleport_grenade.gsc b/AW/PC/maps/mp/zombies/weapons/_zombie_teleport_grenade.gsc new file mode 100644 index 0000000..496e391 --- /dev/null +++ b/AW/PC/maps/mp/zombies/weapons/_zombie_teleport_grenade.gsc @@ -0,0 +1,501 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\weapons\_zombie_teleport_grenade.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 18 + * Decompile Time: 304 ms + * Timestamp: 4/22/2024 2:13:28 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level._effect["teleport_equipment"] = loadfx("vfx/unique/dlc_teleport_grenade"); + level._effect["teleport_player"] = loadfx("vfx/unique/dlc_teleport_player"); + level.teleport_grenade_override_triggers = getentarray("teleport_grenade_override_trigger","targetname"); + level.teleport_grenade_ignore_triggers = getentarray("trigger_underwater","targetname"); +} + +//Function Number: 2 +onplayerspawn() +{ + self endon("spawned_player"); + self endon("disconnect"); + self endon("death"); + self endon("faux_spawn"); + self notify("onPlayerSpawnTeleportGrenade"); + self endon("onPlayerSpawnTeleportGrenade"); + for(;;) + { + self waittill("grenade_fire",var_00,var_01); + var_02 = maps\mp\_utility::strip_suffix(var_01,"_lefthand"); + if(var_02 != "teleport_zombies_mp" && var_02 != "teleport_throw_zombies_mp") + { + continue; + } + + thread doteleport(var_00,var_01); + } +} + +//Function Number: 3 +grenadewaitformisslestuck() +{ + self endon("death"); + thread grenadetimeout(); + self waittill("missile_stuck",var_00); + return var_00; +} + +//Function Number: 4 +grenadetimeout() +{ + self endon("missile_stuck"); + self endon("death"); + wait(4); + self notify("missile_stuck"); +} + +//Function Number: 5 +doteleport(param_00,param_01) +{ + self notify("doTeleportGrenade"); + self endon("doTeleportGrenade"); + thread playerteleportgrenadecleanup(param_00); + var_02 = param_00.origin; + var_03 = param_00 grenadewaitformisslestuck(); + if(!isdefined(param_00)) + { + return; + } + + if(isdefined(level.zmbteleportgrenadestuckcustom)) + { + if([[ level.zmbteleportgrenadestuckcustom ]](param_00,param_01,self)) + { + return; + } + } + + var_04 = param_00.origin; + var_05 = param_00.angles; + param_00 delete(); + if(maps\mp\zombies\_util::gameflagexists("sq_plinko") && maps\mp\_utility::gameflag("sq_plinko") && isdefined(var_03) && isdefined(var_03.script_noteworthy) && issubstr(var_03.script_noteworthy,"gate_")) + { + return; + } + else if(isdefined(var_03) && maps\mp\zombies\_util::is_true(var_03.noteleportgrenade)) + { + return; + } + + if(!isdefined(self) || maps\mp\zombies\_util::isplayerinlaststand(self) || !isalive(self)) + { + return; + } + + if(isdefined(level.zmplayeraltteleport)) + { + if(self [[ level.zmplayeraltteleport ]](var_04,var_05,var_02)) + { + return; + } + } + + doteleportinstant(var_04,var_05,var_02,param_01,var_03); +} + +//Function Number: 6 +playerteleportgrenadecleanup(param_00) +{ + param_00 endon("death"); + param_00 endon("missile_stuck"); + common_scripts\utility::waittill_any("doTeleportGrenade","disconnect"); + playfx(common_scripts\utility::getfx("teleport_equipment"),param_00.origin); + param_00 delete(); +} + +//Function Number: 7 +playerteleport(param_00,param_01) +{ + if(isdefined(param_00)) + { + givecoast2coastachievement(param_00); + self setorigin(param_00,1); + } + + if(isdefined(param_01)) + { + self setplayerangles(param_01); + } + + thread playerteleportaudio(); + playfxontagforclients(common_scripts\utility::getfx("teleport_player"),self,"tag_origin",self); +} + +//Function Number: 8 +doteleportinstant(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = self.origin; + playfx(common_scripts\utility::getfx("teleport_equipment"),param_00); + var_06 = gettime(); + var_07 = findsafeposition(param_00,param_01,param_02); + var_08 = gettime(); + if(isdefined(var_07)) + { + var_09 = var_08 - var_06 / 1000; + if(var_09 < 0.2) + { + wait(0.2 - var_09); + } + + playerteleport(var_07); + self playrumbleonentity("damage_heavy"); + earthquake(randomfloatrange(0.25,0.35),1,self.origin,100,self); + playertelefragzombie(param_04,var_07); + self radiusdamage(var_07,300,200 * level.wavecounter,100 * level.wavecounter,self,"MOD_EXPLOSIVE","teleport_zombies_mp"); + thread playerteleportedvo(); + thread playerfixgoingunderwater(); + return; + } + + var_0A = self getweaponammoclip(param_03); + self setweaponammoclip(param_03,var_0A + 1); +} + +//Function Number: 9 +playerfixgoingunderwater() +{ + if(isdefined(self.underwatermotiontype)) + { + self.underwater = undefined; + self.isswimming = undefined; + self.iswading = undefined; + self notify("above_water"); + playfx(level._effect["water_splash_emerge"],self.origin,anglestoforward((0,self.angles[1],0) + (270,180,0))); + if(maps\mp\zombies\_util::is_true(self.isshocked)) + { + self stopshellshock(); + self.isshocked = undefined; + } + + maps\mp\_water::playerdisableunderwater(); + if(maps\mp\_utility::isaugmentedgamemode()) + { + maps\mp\_water::enableexo(); + } + } +} + +//Function Number: 10 +givecoast2coastachievement(param_00) +{ + if(maps\mp\_utility::getmapname() != "mp_zombie_h2o") + { + return; + } + + var_01 = "start"; + var_02 = "zone_04"; + var_03 = self.currentzone; + var_04 = maps\mp\zombies\_zombies_zone_manager::getlocationzone(param_00); + if(!isdefined(var_03) || !isdefined(var_04)) + { + return; + } + + if((var_03 == var_01 && var_04 == var_02) || var_03 == var_02 && var_04 == var_01) + { + maps\mp\gametypes\zombies::givezombieachievement("DLC4_ZOMBIE_COAST2COAST"); + } +} + +//Function Number: 11 +playertelefragzombie(param_00,param_01) +{ + if(!isdefined(param_00) || !isagent(param_00) || !isalive(param_00) || !isdefined(param_00.team) || param_00.team != level.enemyteam || !isdefined(param_00.agent_type)) + { + return; + } + + if(param_00 maps\mp\zombies\_util::instakillimmune()) + { + return; + } + + param_00 dodamage(param_00.health + 1,param_01,self,self,"MOD_CRUSH","teleport_zombies_mp"); +} + +//Function Number: 12 +playerteleportaudio() +{ + self playsoundtoplayer("teleport_player",self); + self playsoundtoteam("teleport_npc","allies",self); +} + +//Function Number: 13 +findsafeposition(param_00,param_01,param_02) +{ + if(maps\mp\zombies\_util::isplayerteleporting(self)) + { + return; + } + + foreach(var_04 in level.teleport_grenade_override_triggers) + { + if(ispointinvolume(param_00,var_04)) + { + var_05 = common_scripts\utility::getstruct(var_04.target,"targetname"); + return var_05.origin; + } + } + + foreach(var_06 in level.teleport_grenade_ignore_triggers) + { + if(ispointinvolume(param_01,var_06)) + { + return; + } + } + + var_09 = findlastzone(param_01,param_02,var_03); + if(!isdefined(var_09)) + { + return; + } + + var_0A = maps\mp\zombies\_zombies_zone_manager::ispointinanyzonereturn(param_01,1); + if(isdefined(var_0A) && var_0A == var_09) + { + var_0B = anglestoup(param_02); + var_0C = var_0B[2] > 0.8; + if(var_0C && teleporttrace(param_01,self)) + { + return param_01; + } + } + + var_0D = vectornormalize(var_03 - param_01); + var_0E = param_01 + var_0D * 30; + var_0F = 50; + var_10 = 0; + var_11 = 100; + var_12 = 50; + var_13 = getclosestnodeteleport(param_01,var_10,var_0F,var_11,var_12,0,var_09); + var_0F = 1500; + var_12 = 1000; + if(!isdefined(var_13)) + { + var_13 = getclosestnodeteleport(var_0E,var_10,var_0F,var_11,var_12,1,var_09); + } + + if(!isdefined(var_13)) + { + var_13 = getclosestnodeteleport(var_0E,var_10,var_0F,var_11,var_12,0,var_09); + } + + if(isdefined(var_13)) + { + return var_13.origin; + } +} + +//Function Number: 14 +findlastzone(param_00,param_01,param_02) +{ + var_03 = 100; + var_04 = 0; + var_05 = param_02 - param_00; + var_06 = length(var_05); + var_07 = vectornormalize(var_05); + if(isdefined(level.zmbteleportgrenadefindzonecustom)) + { + var_08 = [[ level.zmbteleportgrenadefindzonecustom ]](param_00,param_01,param_02); + if(isdefined(var_08)) + { + return var_08; + } + } + + for(;;) + { + var_09 = param_00 + var_07 * var_04; + var_0A = maps\mp\zombies\_zombies_zone_manager::ispointinanyzonereturn(var_09,1); + if(isdefined(var_0A) && maps\mp\zombies\_zombies_zone_manager::iszoneenabled(var_0A)) + { + return var_0A; + } + + if(var_04 == var_06) + { + break; + } + + var_04 = var_04 + var_03; + if(var_04 > var_06) + { + var_04 = var_06; + } + } + + var_0A = maps\mp\zombies\_zombies_zone_manager::getplayerzone(); + if(isdefined(var_0A)) + { + return var_0A; + } +} + +//Function Number: 15 +getclosestnodeteleport(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + var_07 = 200; + var_08 = param_01; + var_09 = param_01 + param_03; + var_0A = gettime() + var_07; + var_0B = 3; + var_0C = 0; + while(var_09 < param_02 || var_08 < param_02) + { + var_0D = getnodesinradius(param_00,var_09,var_08,param_04); + if(var_0D.size > 0) + { + if(var_0D.size > 1) + { + var_0D = sortbydistance(var_0D,param_00,undefined,1); + } + + foreach(var_0F in var_0D) + { + if(isdefined(var_0F.zombieszone) && !maps\mp\zombies\_zombies_zone_manager::iszoneenabled(var_0F.zombieszone)) + { + continue; + } + + if(isdefined(var_0F.zombieszone) && param_06 != var_0F.zombieszone) + { + continue; + } + + if(var_0C >= var_0B) + { + if(gettime() >= var_0A) + { + return; + } + + var_0C = 0; + wait 0.05; + } + + var_10 = 1; + if(param_05) + { + var_11 = bullettrace(param_00,var_0F.origin,0,self,0,0,0,0,0,0,0); + var_0C++; + var_10 = var_11["fraction"] == 1; + } + + if(var_10) + { + if(maps\mp\zombies\_util::nodeisinspawncloset(var_0F)) + { + if(param_05) + { + var_12 = findnodeoutsideofspawncloset(var_0F,param_06); + if(isdefined(var_12)) + { + return var_12; + } + } + + continue; + } + + return var_0F; + } + } + } + + var_08 = var_08 + param_03; + var_09 = var_09 + param_03; + if(var_09 > param_02) + { + var_09 = param_02; + } + + if(var_08 == var_09) + { + break; + } + } +} + +//Function Number: 16 +findnodeoutsideofspawncloset(param_00,param_01) +{ + var_02 = getlinkednodes(param_00); + var_03 = [param_00]; + for(var_04 = 0;var_04 < var_02.size;var_04++) + { + var_05 = var_02[var_04]; + if(!maps\mp\zombies\_util::nodeisinspawncloset(var_05) && var_05.zombieszone == param_01) + { + return var_05; + } + + var_03[var_03.size] = var_05; + if(maps\mp\zombies\_util::nodeisinspawncloset(var_05)) + { + var_06 = getlinkednodes(var_05); + foreach(var_08 in var_06) + { + if(common_scripts\utility::array_contains(var_03,var_08) || common_scripts\utility::array_contains(var_02,var_08)) + { + continue; + } + + var_02[var_02.size] = var_08; + } + } + } +} + +//Function Number: 17 +teleporttrace(param_00,param_01,param_02) +{ + var_03 = 30; + if(!isdefined(param_02)) + { + param_02 = 0; + } + + foreach(var_05 in level.orbitaldropmarkers) + { + var_06 = var_03 * 2; + var_07 = var_06 * var_06; + var_08 = distance2dsquared(var_05.origin,param_00); + if(var_08 < var_07) + { + return 0; + } + } + + var_0A = playerphysicstraceinfo(param_00,param_00,param_01); + return var_0A["fraction"] == 1; +} + +//Function Number: 18 +playerteleportedvo() +{ + self endon("disconnect"); + wait(0.4); + var_00 = 0; + if(!isdefined(self.firstteleport)) + { + var_00 = 1; + self.firstteleport = 1; + } + + maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","teleport_use",undefined,undefined,var_00); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/weapons/_zombie_trident.gsc b/AW/PC/maps/mp/zombies/weapons/_zombie_trident.gsc new file mode 100644 index 0000000..c0f38ad --- /dev/null +++ b/AW/PC/maps/mp/zombies/weapons/_zombie_trident.gsc @@ -0,0 +1,368 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\weapons\_zombie_trident.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 11 + * Decompile Time: 176 ms + * Timestamp: 4/22/2024 2:13:29 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + if(!isdefined(level.onzombiespawnfuncs)) + { + level.onzombiespawnfuncs = []; + } + + level.onzombiespawnfuncs[level.onzombiespawnfuncs.size] = ::onzombiespawn; + level._effect["trident_trail_green"] = loadfx("vfx/trail/trail_trident_green"); + level._effect["trident_trail_purple"] = loadfx("vfx/trail/trail_trident_purple"); + level.trident = spawnstruct(); + level.trident.attractorstrength = 1000; + level.trident.attractordist = 300; + level.trident.name = "iw5_tridentzm_mp"; + level.trident.maxdist = 5000; + level.trident.movespeed = 1300; + level.trident.startoffset = (30,0,0); + level.trident.hipfireangles = (2,2,0); + level.trident.damage = 1200; + level.trident.lifetime = 2500; + level.trident.impulseradius = 30; + level.trident.impulseforce = 10; + level.trident.smartdot = 0.75; + level.trident.smartdist = 1500; + level.trident.penetratecount = 5; + level.trident.trailfxlist = common_scripts\utility::array_randomize(["trident_trail_green","trident_trail_purple"]); + level.trident.trailfxindex = 0; + level.trident.sqsmartdot = 0.8; + if(level.currentgen) + { + level.trident.lifetime = 1750; + } + + level.modifyweapondamage[level.trident.name] = ::tridentmodifydamage; +} + +//Function Number: 2 +onplayerspawn() +{ + self endon("spawned_player"); + self endon("disconnect"); + self endon("death"); + self endon("faux_spawn"); + self notify("onPlayerSpawnTrident"); + self endon("onPlayerSpawnTrident"); + for(;;) + { + self waittill("missile_fire",var_00,var_01); + var_02 = getweaponbasename(var_01); + if(var_02 != level.trident.name) + { + continue; + } + + var_00 delete(); + thread firetrident(); + } +} + +//Function Number: 3 +tridentmodifydamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + return int(level.trident.damage); +} + +//Function Number: 4 +onzombiespawn() +{ + self endon("death"); + for(;;) + { + waittillframeend; + self.prevorigin = self.origin; + wait 0.05; + } +} + +//Function Number: 5 +addattractor() +{ + var_00 = missile_createattractorent(self,level.tridentdata.attractorstrength,level.tridentdata.attractordist,undefined,undefined,(0,0,35)); + self waittill("death"); + missile_deleteattractor(var_00); +} + +//Function Number: 6 +firetrident() +{ + var_00 = self playerads(); + var_01 = self getplayerangles(); + var_02 = (var_01[0],var_01[1],0); + var_03 = randomfloatrange(-1,1) * 1 - var_00; + var_04 = randomfloatrange(-1,1) * 1 - var_00; + var_05 = var_02 + (level.trident.hipfireangles[0] * var_03,level.trident.hipfireangles[1] * var_04,0); + var_06 = anglestoforward(var_05); + var_07 = self getvieworigin(); + var_08 = var_07 + self getvelocity() * 0.05 + rotatevector(level.trident.startoffset,var_02); + var_09 = tridentgetprojectileent(var_08,self.angles); + var_0A = level.trident.maxdist / level.trident.movespeed; + var_09 moveto(var_07 + var_06 * level.trident.maxdist,var_0A); + var_0B = var_07; + var_0C = var_08 + level.trident.movespeed * 0.05 * var_06; + var_0D = self; + var_0E = undefined; + var_0F = level.trident.penetratecount; + var_10 = gettime() + level.trident.lifetime; + while(gettime() < var_10) + { + for(;;) + { + var_11 = bullettrace(var_0B,var_0C,1,var_0D,0,1,0,0,1,0,0); + if(isdefined(var_11["glass"])) + { + destroyglass(var_11["glass"],var_06); + continue; + } + + if(var_11["fraction"] < 1) + { + var_12 = 1; + var_13 = var_11["normal"]; + var_14 = var_11["position"] + var_13; + var_15 = var_11["entity"]; + var_16 = 0; + if(isdefined(var_15)) + { + tridentdamageent(var_15,var_14,var_06,var_11["hitLoc"]); + var_16 = isagent(var_15); + } + + if(var_16) + { + if(var_0F > 0) + { + var_0D = var_15; + var_0B = var_14; + var_0F--; + continue; + } + } + else + { + var_0F = 0; + } + + var_09.origin = var_14; + var_17 = vectordot(var_13,var_06); + var_06 = -2 * var_17 * var_13 + var_06; + if(var_12) + { + var_18 = var_06; + var_19 = level.trident.smartdot; + var_1A = var_19; + var_1B = undefined; + var_1C = level.characters; + if(isdefined(level.bossozstage1) && isdefined(level.bossozstage1.damagecallback)) + { + var_1C[var_1C.size] = level.bossozstage1; + } + + var_1D = [level.ammodrone,level.ammodrone2]; + foreach(var_1F in var_1D) + { + if(!isdefined(var_1F)) + { + continue; + } + + var_1C[var_1C.size] = var_1F; + } + + foreach(var_22 in var_1C) + { + if(isplayer(var_22)) + { + continue; + } + + if(!isalive(var_22)) + { + continue; + } + + if(isdefined(var_22.team) && var_22.team == self.team) + { + continue; + } + + if(isdefined(var_0E) && var_0E == var_22) + { + continue; + } + + var_23 = var_22.origin; + if(isdefined(var_22.agent_type) && var_22.agent_type == "zombie_dog") + { + var_23 = var_23 + (0,0,15); + } + else if(var_22 maps\mp\agents\humanoid\_humanoid_util::iscrawling()) + { + var_23 = var_23 + (0,0,5); + } + else + { + var_23 = var_23 + (0,0,40); + } + + var_24 = (0,0,0); + if(isdefined(var_22.prevorigin)) + { + var_24 = var_22.origin - var_22.prevorigin * 20; + } + + if(distance(var_23,var_14) > level.trident.smartdist) + { + continue; + } + + var_25 = calculateintersectdirection(var_23,var_24,var_14,level.trident.movespeed); + var_17 = vectordot(var_18,var_25); + if(var_17 > var_1A) + { + var_26 = bullettrace(var_14,var_23,0,var_0D,0,0,0,0,0,0,0); + if(var_26["fraction"] >= 1 || isdefined(var_26["entity"]) && var_26["entity"] == var_22) + { + var_1A = var_17; + var_06 = var_25; + var_1B = var_22; + } + } + } + + var_0E = var_1B; + } + + var_09 playsound("wpn_trident_bounce_snap"); + var_0A = level.trident.maxdist / level.trident.movespeed; + var_09 moveto(var_09.origin + var_06 * level.trident.maxdist,var_0A); + } + + break; + } + + wait 0.05; + if(!isdefined(self)) + { + break; + } + + var_0B = var_09.origin; + var_0C = var_0B + level.trident.movespeed * 0.05 * var_06; + } + + tridentreleaseprojectileent(var_09); +} + +//Function Number: 7 +calculateintersectdirection(param_00,param_01,param_02,param_03) +{ + var_04 = vectornormalize(param_00 - param_02); + var_05 = vectordot(var_04,param_01); + var_06 = var_04 * var_05; + var_07 = param_01 - var_06; + var_08 = length(var_07); + var_09 = var_07; + if(var_08 <= param_03) + { + var_0A = var_04 * sqrt(param_03 * param_03 - var_08 * var_08); + var_09 = var_0A + var_07; + } + + var_09 = vectornormalize(var_09); + return var_09; +} + +//Function Number: 8 +tridentdamageent(param_00,param_01,param_02,param_03) +{ + if(!isalive(param_00)) + { + return; + } + + if(isplayer(param_00)) + { + return; + } + + if(isagent(param_00)) + { + param_00.ragdollimmediately = 1; + param_00 dodamage(level.trident.damage,param_01,self,self,"MOD_PROJECTILE",level.trident.name,param_03); + param_00.ragdollimmediately = 0; + level thread tridentphysicsexplosion(param_01); + return; + } + + param_00 dodamage(level.trident.damage,param_01,self,self,"MOD_PROJECTILE",level.trident.name); +} + +//Function Number: 9 +tridentphysicsexplosion(param_00) +{ + wait(0.1); + physicsexplosionsphere(param_00,level.trident.impulseradius,0,level.trident.impulseforce,0); +} + +//Function Number: 10 +tridentgetprojectileent(param_00,param_01) +{ + var_02 = undefined; + var_03 = getentarray("trident_projectile","targetname"); + foreach(var_05 in var_03) + { + if(!isdefined(var_05.inuse) || !var_05.inuse) + { + var_02 = var_05; + var_02 dontinterpolate(); + var_02 show(); + break; + } + } + + if(!isdefined(var_02)) + { + var_02 = spawn("script_model",param_00); + var_02.targetname = "trident_projectile"; + } + + var_02 setmodel("tag_origin"); + var_02 setcontents(0); + var_02.origin = param_00; + var_02.angles = param_01; + if(!isdefined(self.tridentfx)) + { + self.tridentfx = level.trident.trailfxlist[level.trident.trailfxindex % level.trident.trailfxlist.size]; + level.trident.trailfxindex++; + } + + var_02.fxname = self.tridentfx; + var_02.fxtag = "tag_origin"; + playfxontag(common_scripts\utility::getfx(var_02.fxname),var_02,var_02.fxtag); + var_02 playloopsound("wpn_trident_prj_loop"); + var_02.inuse = 1; + return var_02; +} + +//Function Number: 11 +tridentreleaseprojectileent(param_00) +{ + param_00 setmodel("tag_origin"); + param_00 notify("released"); + stopfxontag(common_scripts\utility::getfx(param_00.fxname),param_00,param_00.fxtag); + param_00 stoploopsound("wpn_trident_prj_loop"); + wait(1); + param_00.inuse = 0; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/weapons/_zombie_weapons.gsc b/AW/PC/maps/mp/zombies/weapons/_zombie_weapons.gsc new file mode 100644 index 0000000..6905f71 --- /dev/null +++ b/AW/PC/maps/mp/zombies/weapons/_zombie_weapons.gsc @@ -0,0 +1,80 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\weapons\_zombie_weapons.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 5 + * Decompile Time: 101 ms + * Timestamp: 4/22/2024 2:13:29 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level.zombie_placeable_mine_types = []; + level.onplayerspawnedweaponsfunc = ::onplayerspawnedfunc; + maps\mp\zombies\weapons\_zombie_explosive_drone::init(); + maps\mp\zombies\weapons\_zombie_distraction_drone::init(); + maps\mp\zombies\weapons\_zombie_dna_aoe_grenade::init(); + if(isdefined(level.zombieweaponinitfunc)) + { + [[ level.zombieweaponinitfunc ]](); + } +} + +//Function Number: 2 +onplayerspawnedfunc() +{ + thread maps\mp\zombies\weapons\_zombie_explosive_drone::onplayerspawn(); + thread maps\mp\zombies\weapons\_zombie_distraction_drone::onplayerspawn(); + thread maps\mp\zombies\weapons\_zombie_dna_aoe_grenade::onplayerspawn(); + if(isdefined(level.zombieweapononplayerspawnedfunc)) + { + [[ level.zombieweapononplayerspawnedfunc ]](); + } +} + +//Function Number: 3 +addplaceableminetype(param_00) +{ + level.zombie_placeable_mine_types[level.zombie_placeable_mine_types.size] = param_00; +} + +//Function Number: 4 +isplaceableminetype(param_00) +{ + if(!isdefined(param_00)) + { + return 0; + } + + foreach(var_02 in level.zombie_placeable_mine_types) + { + if(var_02 == param_00) + { + return 1; + } + } + + return 0; +} + +//Function Number: 5 +givegrenadesafterrounds() +{ + foreach(var_01 in level.players) + { + var_02 = var_01 getlethalweapon(); + var_03 = var_01 gettacticalweapon(); + var_04 = [var_02,var_03]; + foreach(var_06 in var_04) + { + if(var_06 == "none") + { + continue; + } + + var_01 setweaponammoclip(var_06,var_01 getweaponammoclip(var_06) + 1); + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/zombie_ammo_drone.gsc b/AW/PC/maps/mp/zombies/zombie_ammo_drone.gsc new file mode 100644 index 0000000..e82d1b9 --- /dev/null +++ b/AW/PC/maps/mp/zombies/zombie_ammo_drone.gsc @@ -0,0 +1,1048 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\zombie_ammo_drone.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 45 + * Decompile Time: 895 ms + * Timestamp: 4/22/2024 2:14:53 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level._effect["ammo_drone_drops_credits"] = loadfx("vfx/props/dlc_cash_drone_drop"); + level._effect["ammo_drone_drops_ammo"] = loadfx("vfx/shelleject/dlc_drone_drop_shell_eject_loop"); + level._effect["ammo_drone_thruster"] = loadfx("vfx/vehicle/dlc_drone_thrusters_small"); + level._effect["ammo_drone_drops_explode"] = loadfx("vfx/sparks/welding_sparks_a"); + level._effect["ammo_drone_explode"] = loadfx("vfx/explosion/tracking_drone_explosion"); + level thread findammodronespawnlocations(); + level thread roundlogic(); +} + +//Function Number: 2 +findammodronespawnlocations() +{ + while(!isdefined(level.zone_data)) + { + wait 0.05; + } + + while(!isdefined(level.closetpathnodescalculated) || !level.closetpathnodescalculated) + { + wait 0.05; + } + + foreach(var_01 in level.zone_data.zones) + { + if(!isdefined(var_01.volumes)) + { + continue; + } + + if(isdefined(level.ammodroneillegalzones)) + { + if(common_scripts\utility::array_contains(level.ammodroneillegalzones,var_01.zone_name)) + { + continue; + } + } + + var_02 = var_01.volumes[randomint(var_01.volumes.size)]; + var_03 = getnodesintrigger(var_02); + if(!isdefined(var_01.ammodronespawnnodes)) + { + var_01.ammodronespawnnodes = []; + } + + foreach(var_05 in var_03) + { + if(!var_05 nodeisdisconnected() && isdefined(var_05.zombieszone)) + { + var_01.ammodronespawnnodes[var_01.ammodronespawnnodes.size] = var_05; + } + } + + if(!isdefined(var_01.ammodroneleavenodes)) + { + var_01.ammodroneleavenodes = []; + } + + foreach(var_05 in var_03) + { + if(nodegetremotemissilename(var_05) != "none") + { + var_01.ammodroneleavenodes[var_01.ammodroneleavenodes.size] = var_05; + } + } + } +} + +//Function Number: 3 +roundlogic() +{ + var_00 = randomintrange(3,5); + level.ammodroneactive = 0; + for(;;) + { + level waittill("zombie_wave_started"); + if(level.wavecounter >= var_00 && !atvehiclelimit()) + { + var_01 = startammodrone(); + if(var_01) + { + var_00 = level.wavecounter + randomintrange(3,5); + } + } + } +} + +//Function Number: 4 +atvehiclelimit() +{ + return maps\mp\_utility::currentactivevehiclecount() >= maps\mp\_utility::maxvehiclesallowed() || level.fauxvehiclecount + 1 >= maps\mp\_utility::maxvehiclesallowed(); +} + +//Function Number: 5 +startammodrone(param_00,param_01,param_02,param_03) +{ + level.ammodroneactive = 1; + if(!isdefined(level.numammodronesencountered)) + { + level.numammodronesencountered = 0; + } + + if(!isdefined(param_00)) + { + param_00 = getstartzone(); + } + + if(!isdefined(param_01)) + { + param_01 = param_00.ammodronespawnnodes[randomint(param_00.ammodronespawnnodes.size)]; + } + + maps\mp\_utility::incrementfauxvehiclecount(); + level.numammodronesencountered++; + level.ammodrone = spawnammodrone(param_01.origin,(0,0,0)); + if(!isdefined(level.ammodrone)) + { + maps\mp\_utility::decrementfauxvehiclecount(); + level.numammodronesencountered--; + return 0; + } + + if(isdefined(level.players[0])) + { + level.players[0] thread maps\mp\_matchdata::loggameevent("zm_tr_drone_spawn",param_01.origin); + } + + level.ammodrone.startnode = param_01; + level.ammodrone.startzone = param_00; + level.ammodrone.linegunignore = 1; + level notify("zombie_ammo_drone_spawn",level.ammodrone,param_00,param_01); + var_04 = waittillactivate(level.ammodrone,param_00); + if(isdefined(var_04)) + { + var_04 playerspottreasuredrone(); + } + + var_05 = getdestinationzone(param_00); + var_06 = getdestinationnode(var_05,param_01); + if(isdefined(param_02)) + { + var_05 = param_02; + } + + if(isdefined(param_03)) + { + var_06 = param_03; + } + + level.ammodrone.endnode = var_06; + level.ammodrone.endzone = var_05; + if(isdefined(level.players[0])) + { + level.players[0] thread maps\mp\_matchdata::loggameevent("zm_tr_drone_active",param_01.origin); + } + + level notify("zombie_ammo_drone_activate",level.ammodrone,var_05,var_06); + droneactivate(level.ammodrone,var_05,var_06); + level.ammodroneactive = 0; + level.ammodrone = undefined; + return 1; +} + +//Function Number: 6 +getstartzone() +{ + var_00 = []; + var_01 = []; + foreach(var_03 in level.zone_data.zones) + { + if(isdefined(var_03.ammodronespawnnodes) && isdefined(var_03.ammodroneleavenodes)) + { + var_00[var_00.size] = var_03; + if(var_03.ammodronespawnnodes.size > 0 && var_03.ammodroneleavenodes.size == 0) + { + var_01[var_01.size] = var_03; + } + } + } + + var_05 = []; + foreach(var_03 in var_01) + { + if(!maps\mp\zombies\_zombies_zone_manager::isplayerinzone(var_03.zone_name)) + { + var_05[var_05.size] = var_03; + } + } + + var_08 = undefined; + if(var_05.size > 0) + { + var_08 = var_05[randomint(var_05.size)]; + } + else if(var_01.size > 0) + { + var_08 = var_01[randomint(var_01.size)]; + } + else + { + var_08 = common_scripts\utility::random(var_00); + } + + return var_08; +} + +//Function Number: 7 +getdestinationzone(param_00,param_01) +{ + var_02 = []; + foreach(var_04 in level.zone_data.zones) + { + if(var_04.zone_name != param_00.zone_name && !isdefined(param_01) || var_04.zone_name != param_01.zone_name && maps\mp\zombies\_zombies_zone_manager::iszoneenabled(var_04.zone_name) && isdefined(var_04.ammodroneleavenodes) && var_04.ammodroneleavenodes.size > 0) + { + var_02[var_02.size] = var_04; + } + } + + var_06 = []; + foreach(var_04 in var_02) + { + if(!maps\mp\zombies\_zombies_zone_manager::isplayerinzone(var_04.zone_name)) + { + var_06[var_06.size] = var_04; + } + } + + var_09 = undefined; + if(var_06.size > 0) + { + var_09 = var_06[randomint(var_06.size)]; + } + else if(var_02.size > 0) + { + var_09 = var_02[randomint(var_02.size)]; + } + else + { + var_09 = level.zone_data.zones[randomint(level.zone_data.zones.size)]; + } + + return var_09; +} + +//Function Number: 8 +getdestinationnode(param_00,param_01) +{ + var_02 = 90000; + var_03 = -1; + var_04 = param_00.ammodroneleavenodes[randomint(param_00.ammodroneleavenodes.size)]; + var_05 = distancesquared(var_04.origin,param_01.origin); + if(var_05 < var_02) + { + foreach(var_07 in param_00.ammodroneleavenodes) + { + var_05 = distancesquared(param_01.origin,var_07.origin); + if(var_05 > var_03) + { + var_03 = var_05; + var_04 = var_07; + } + } + } + + if(!isdefined(var_04)) + { + return param_00.ammodroneleavenodes[randomint(param_00.ammodroneleavenodes.size)]; + } + + return var_04; +} + +//Function Number: 9 +spawnammodrone(param_00,param_01) +{ + var_02 = getactiveplayer(); + var_03 = spawnhelicopter(var_02,param_00,(0,0,0),"orbital_carepackage_drone_mp","vehicle_treasure_drone_01_ai"); + if(!isdefined(var_03)) + { + return undefined; + } + + var_03.owner = var_02; + var_03.team = level.enemyteam; + var_03 vehicle_turnengineoff(); + var_03 thread trackpreviousorigin(); + setupdamagecallback(var_03); + playfx(common_scripts\utility::getfx("teleport_post_fx"),param_00); + return var_03; +} + +//Function Number: 10 +trackpreviousorigin() +{ + self endon("death"); + for(;;) + { + waittillframeend; + self.prevorigin = self.origin; + wait 0.05; + } +} + +//Function Number: 11 +setupdamagecallback(param_00) +{ + param_00.health = getdronehealth(); + param_00.maxhealth = param_00.health; + param_00 setcandamage(1); + param_00.damagecallback = ::dronehandledamagecallback; +} + +//Function Number: 12 +getdronehealth() +{ + var_00 = 2; + if(level.players.size > 2) + { + var_00 = 3; + } + + var_01 = 1500 + level.wavecounter - 1 * 200 * var_00; + return var_01; +} + +//Function Number: 13 +disabledamagecallback(param_00) +{ + param_00 setcandamage(0); + param_00.damagecallback = undefined; +} + +//Function Number: 14 +dronehandledamagecallback(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B) +{ + if(!maps\mp\zombies\_zombies_zone_manager::iszoneenabled(self.startzone.zone_name)) + { + return; + } + + var_0C = dronemodifydamage(param_01,param_05,param_04,param_02); + self.health = self.health - var_0C; + self notify("droneDamaged",var_0C); + param_01 maps\mp\gametypes\_damagefeedback::updatedamagefeedback("ammo_drone"); + thread dronedodamageoutline(); + if(self.health <= 0) + { + var_0D = param_01; + if(!isplayer(var_0D)) + { + var_0D = level.players[0]; + } + + if(isdefined(var_0D)) + { + var_0D thread maps\mp\_matchdata::loggameevent("zm_tr_drone_kill",self.origin); + } + + if(isdefined(param_01) && isplayer(param_01) && !maps\mp\zombies\_util::is_true(self.skipplayervo)) + { + param_01 thread playerdestroytreasuredrone(); + } + + disabledamagecallback(self); + self notify("disabled",self.origin); + } + + return 0; +} + +//Function Number: 15 +dronedodamageoutline() +{ + self notify("droneDoDamageOutline"); + self endon("droneDoDamageOutline"); + self endon("disabled"); + self hudoutlineenable(5,0); + wait(1); + self hudoutlinedisable(); +} + +//Function Number: 16 +dronemodifydamage(param_00,param_01,param_02,param_03) +{ + var_04 = param_03; + var_04 = maps\mp\gametypes\_damage::handleempdamage(param_01,param_02,var_04,param_00); + var_04 = maps\mp\gametypes\_damage::handlemissiledamage(param_01,param_02,var_04); + var_04 = maps\mp\gametypes\_damage::handlegrenadedamage(param_01,param_02,var_04); + var_04 = maps\mp\gametypes\_damage::handleapdamage(param_01,param_02,var_04,param_00); + if(issubstr(param_01,"iw5_fusionzm")) + { + var_04 = int(var_04 * 0.4); + } + else if(issubstr(param_01,"iw5_rhinozm")) + { + var_04 = int(var_04 * 0.4); + } + else if(issubstr(param_01,"iw5_linegunzm")) + { + var_04 = int(var_04 * 0.4); + } + + return var_04; +} + +//Function Number: 17 +waittillactivate(param_00,param_01) +{ + param_00 endon("droneDamaged"); + level endon("activateAmmoDrone"); + var_02 = undefined; + for(;;) + { + wait 0.05; + if(!maps\mp\zombies\_zombies_zone_manager::iszoneenabled(param_01.zone_name)) + { + continue; + } + + var_03 = maps\mp\zombies\_zombies_zone_manager::getplayersinzone(param_01.zone_name,1); + if(var_03.size == 0) + { + continue; + } + + var_02 = getplayerclosetodrone(param_00,var_03); + if(isdefined(var_02)) + { + break; + } + + var_02 = getplayerlookingatdronetoolong(param_00,var_03); + if(isdefined(var_02)) + { + break; + } + } + + foreach(var_05 in level.players) + { + var_05.lookingatammodrone = undefined; + } + + return var_02; +} + +//Function Number: 18 +getplayerclosetodrone(param_00,param_01) +{ + foreach(var_03 in param_01) + { + var_04 = distancesquared(param_00.origin,var_03.origin); + if(var_04 < 160000) + { + return var_03; + } + } +} + +//Function Number: 19 +getplayerlookingatdronetoolong(param_00,param_01) +{ + foreach(var_03 in param_01) + { + if(!isdefined(var_03.lookingatammodrone)) + { + var_03.lookingatammodrone = []; + } + + if(!common_scripts\utility::array_contains(param_01,var_03)) + { + var_03.lookingatammodrone[param_00 getentitynumber()] = undefined; + continue; + } + + var_04 = anglestoforward(var_03 getplayerangles()); + var_05 = vectornormalize(param_00.origin - var_03.origin); + var_06 = vectordot(var_04,var_05); + if(var_06 < 0.7) + { + var_03.lookingatammodrone[param_00 getentitynumber()] = undefined; + continue; + } + + var_07 = var_03 geteye(); + var_08 = param_00.origin + (0,0,40); + var_09 = bullettrace(var_07,var_08,0,param_00,0,0,0,0,0,0,0); + var_0A = var_09["entity"]; + if(var_09["fraction"] != 1 && !isdefined(var_0A) || var_0A != param_00) + { + var_03.lookingatammodrone[param_00 getentitynumber()] = undefined; + continue; + } + + if(!isdefined(var_03.lookingatammodrone[param_00 getentitynumber()])) + { + var_03.lookingatammodrone[param_00 getentitynumber()] = gettime(); + continue; + } + + var_0B = gettime() - var_03.lookingatammodrone[param_00 getentitynumber()]; + if(var_0B > 1500) + { + return var_03; + } + } +} + +//Function Number: 20 +getdronespeed(param_00) +{ + if(isdefined(param_00.speedoverride)) + { + return param_00.speedoverride; + } + + return 9; +} + +//Function Number: 21 +droneactivate(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_03)) + { + param_03 = 1; + } + + setupdrone(param_00); + param_00.active = 1; + param_00 thread drone_thrusterfx(); + param_00 thread dronebeep(); + if(param_03) + { + param_00 thread dronehandledrops(); + param_00 thread dronehandlepickup(); + } + + param_00 setvehgoalpos(param_00.origin + (0,0,10)); + param_00.currentspeed = getdronespeed(param_00); + param_00 vehicle_setspeed(param_00.currentspeed,10,10); + param_00 sethoverparams(30,5,5); + param_00 setmaxpitchroll(15,15); + wait(0.5); + var_04 = param_00 dronepathtogoal(param_01,param_02); + if(isdefined(param_00)) + { + param_00 drone_stopthrustereffects(); + } + + maps\mp\zombies\_util::waitnetworkframe(); + if(isdefined(param_00)) + { + param_00 droneexplode(); + } + + return var_04; +} + +//Function Number: 22 +droneexplode() +{ + self notify("explode"); + playfx(common_scripts\utility::getfx("ammo_drone_explode"),self.origin); + playsoundatpos(self.origin,"treasure_drone_exp"); + playsoundatpos(self.origin,"treasure_drone_exp_credits"); + maps\mp\_utility::decrementfauxvehiclecount(); + self delete(); +} + +//Function Number: 23 +dronehandledrops() +{ + self endon("stopSpeedIncreasing"); + self endon("disabled"); + var_00 = min(level.numammodronesencountered,3); + var_01 = self.maxhealth / var_00 + 1; + var_02 = self.maxhealth - var_01; + var_03 = self.origin; + for(;;) + { + if(!isdefined(self)) + { + return; + } + + if(self.health <= var_02) + { + var_04 = self.origin; + thread dronedodrop(var_04); + var_02 = var_02 - var_01; + if(var_02 <= 0) + { + return; + } + } + + wait 0.05; + } +} + +//Function Number: 24 +dronedodrop(param_00) +{ + var_01 = getnextdroptype(); + var_02 = ""; + var_03 = 0; + var_04 = 0; + if(var_01 == "credits") + { + var_02 = "zark_money_01_obj"; + var_03 = common_scripts\utility::getfx("ammo_drone_drops_credits"); + var_04 = 1000; + } + else + { + var_02 = "zark_grenadebag_01_obj"; + var_03 = common_scripts\utility::getfx("ammo_drone_drops_ammo"); + var_04 = 20; + } + + var_05 = param_00 + (0,0,40); + var_06 = (randomfloatrange(-1 * var_04,var_04),randomfloatrange(-1 * var_04,var_04),var_04); + var_07 = vectornormalize(var_06); + var_08 = spawn("script_model",var_05); + var_08 setmodel(var_02); + var_08 physicslaunchserver(var_05,var_06); + var_08 hudoutlineenable(3,0); + playfx(common_scripts\utility::getfx("ammo_drone_drops_explode"),var_05 + (0,0,5)); + var_09 = var_08 common_scripts\utility::waittill_notify_or_timeout_return("physics_finished",5); + if(!isdefined(var_09) || var_09 != "timeout") + { + var_0A = spawnfx(var_03,var_08.origin + (0,0,10),(0,0,1),(1,0,0)); + triggerfx(var_0A); + var_08 dropdobonus(var_01); + var_0A delete(); + } + + var_08 delete(); +} + +//Function Number: 25 +getnextdroptype() +{ + if(!isdefined(level.ammodronedropschedule)) + { + level.ammodronedropschedule = []; + level.ammodronedropschedule[level.ammodronedropschedule.size] = "ammo"; + level.ammodronedropschedule[level.ammodronedropschedule.size] = "credits"; + level.ammodronedropschedule[level.ammodronedropschedule.size] = "ammo"; + level.ammodronedropschedule[level.ammodronedropschedule.size] = "credits"; + level.ammodronedropschedule = common_scripts\utility::array_randomize(level.ammodronedropschedule); + level.ammodronedropindex = 0; + } + + if(level.ammodronedropindex >= level.ammodronedropschedule.size) + { + level.ammodronedropschedule = common_scripts\utility::array_randomize(level.ammodronedropschedule); + level.ammodronedropindex = 0; + } + + var_00 = level.ammodronedropschedule[level.ammodronedropindex]; + level.ammodronedropindex++; + return var_00; +} + +//Function Number: 26 +dropdobonus(param_00) +{ + var_01 = 10000; + var_02 = 10000; + var_03 = gettime() + var_01; + while(gettime() < var_03) + { + foreach(var_05 in level.players) + { + var_06 = distancesquared(var_05.origin,self.origin); + if(var_06 < var_02) + { + if(param_00 == "ammo") + { + var_05 thread playergiveammo(); + continue; + } + + if(param_00 == "credits") + { + var_05 thread playergivecredits(); + } + } + } + + wait(0.5); + } +} + +//Function Number: 27 +playergiveammo() +{ + self endon("death"); + self endon("disconnect"); + var_00 = self getcurrentprimaryweapon(); + if(!isdefined(var_00) || var_00 == "none" || maps\mp\zombies\_util::isrippedturretweapon(var_00) || maps\mp\zombies\_util::iszombiekillstreakweapon(var_00) || maps\mp\zombies\_util::iszombieequipment(var_00)) + { + return; + } + + if(issubstr(var_00,"em1")) + { + waittillframeend; + var_01 = maps\mp\zombies\_util::playergetem1ammo(); + var_02 = maps\mp\gametypes\zombies::getem1maxammo(); + if(var_01 >= var_02) + { + return; + } + + var_01 = getnewammoamount(var_01,var_02); + maps\mp\zombies\_util::playerrecordem1ammo(var_01); + maps\mp\gametypes\zombies::playerupdateem1omnvar(); + return; + } + + var_01 = self setweaponammostock(var_02); + var_02 = weaponmaxammo(var_01); + if(var_01 < var_02) + { + var_01 = getnewammoamount(var_01,var_02); + self setweaponammostock(var_00,var_01); + return; + } + + var_01 = self getweaponammoclip(var_00,"right"); + var_02 = weaponclipsize(var_00); + if(var_01 < var_02) + { + var_01 = getnewammoamount(var_01,var_02); + self setweaponammoclip(var_00,var_01,"right"); + } + + if(issubstr(var_00,"akimbo")) + { + var_01 = self getweaponammoclip(var_00,"left"); + if(var_01 < var_02) + { + var_01 = getnewammoamount(var_01,var_02); + self setweaponammoclip(var_00,var_01,"left"); + return; + } + } +} + +//Function Number: 28 +getnewammoamount(param_00,param_01) +{ + var_02 = 0.02; + var_03 = int(max(1,param_01 * var_02)); + if(param_00 + var_03 <= param_01) + { + param_00 = param_00 + var_03; + } + else if(param_00 < param_01) + { + param_00 = param_01; + } + + return param_00; +} + +//Function Number: 29 +playergivecredits() +{ + var_00 = 20; + maps\mp\gametypes\zombies::givepointsforevent("treasureDrone",var_00,0); +} + +//Function Number: 30 +dronehandlespeed() +{ + self endon("stopSpeedIncreasing"); + self endon("disabled"); + for(;;) + { + self waittill("droneDamaged",var_00); + self.currentspeed = min(self.currentspeed + 1,30); + self vehicle_setspeed(self.currentspeed,10,10); + } +} + +//Function Number: 31 +dronebeep() +{ + self playloopsound("treasure_drone_vox_lp"); + common_scripts\utility::waittill_any("disabled","stopBeeping"); + self stoploopsound(); +} + +//Function Number: 32 +dronehandlepickup() +{ + self endon("explode"); + var_00 = maps\mp\gametypes\zombies::selectnextvalidpickup(); + var_01 = level.pickup[var_00]["fx"]; + var_02 = level.pickup[var_00]["model"]; + var_03 = level.pickup[var_00]["outline"]; + var_04 = undefined; + if(isdefined(var_01)) + { + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx(var_01),self,"tag_trophy"); + } + else + { + var_04 = spawn("script_model",self.origin); + var_04 setmodel(var_02); + var_04 hudoutlineenable(2,0); + var_04 linkto(self,"tag_origin",(0,0,60),(0,0,0)); + thread dronecleanuppickupmodel(var_04); + } + + self waittill("disabled",var_05); + if(isdefined(var_01)) + { + maps\mp\zombies\_util::killfxontagnetwork(common_scripts\utility::getfx(var_01),self,"tag_trophy"); + } + + if(isdefined(self.lastgroundposition)) + { + var_05 = self.lastgroundposition; + } + + if(!isdefined(var_05)) + { + var_05 = self.origin; + } + + maps\mp\gametypes\zombies::createpickup(var_00,var_05,"Ammo Drone"); +} + +//Function Number: 33 +dronecleanuppickupmodel(param_00) +{ + common_scripts\utility::waittill_any("disabled","explode"); + param_00 delete(); +} + +//Function Number: 34 +getactiveplayer() +{ + foreach(var_01 in level.players) + { + if(var_01.sessionstate == "spectator") + { + continue; + } + + if(isalive(var_01)) + { + return var_01; + } + } + + return level.players[0]; +} + +//Function Number: 35 +dronepathtogoal(param_00,param_01) +{ + self endon("disabled"); + var_02 = 22500; + var_03 = gettime(); + self.goalent = spawn("script_origin",param_01.origin); + self.goalent.health = 1; + self.goalent.maxhealth = 1; + thread dronecleanupgoalent(); + self setdronegoalpos(self.goalent,(0,0,30)); + for(;;) + { + var_04 = distancesquared(self.origin,self.goalent.origin + (0,0,30)); + if(var_04 < var_02) + { + break; + } + + wait 0.05; + } + + if(!nodehasremotemissileset(param_01)) + { + return 1; + } + + self.lastgroundposition = self.origin; + var_05 = maps\mp\killstreaks\_aerial_utility::getentorstructarray("remoteMissileSpawn","targetname"); + var_06 = maps\mp\killstreaks\_orbital_util::nodegetremotemissileorigin(param_01,var_05); + self setvehgoalpos(var_06,0); + thread droneincreaseexitspeed(); + common_scripts\utility::waittill_any("near_goal","goal"); + if(isdefined(self.goalent)) + { + self.goalent delete(); + } + + return 1; +} + +//Function Number: 36 +dronecleanupgoalent() +{ + common_scripts\utility::waittill_any("disabled","death"); + if(isdefined(self.goalent)) + { + self.goalent delete(); + } +} + +//Function Number: 37 +droneincreaseexitspeed() +{ + self endon("death"); + wait(7); + self notify("stopSpeedIncreasing"); + self notify("stopBeeping"); + disabledamagecallback(self); + self vehicle_setspeed(100,10,10); + level thread dotreasuredroneleavevo(self); +} + +//Function Number: 38 +drone_thrusterfx() +{ + self endon("death"); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("ammo_drone_thruster"),self,"j_thruster_fl"); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("ammo_drone_thruster"),self,"j_thruster_fr"); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("ammo_drone_thruster"),self,"j_thruster_kl"); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("ammo_drone_thruster"),self,"j_thruster_kr"); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("ocp_exhaust"),self,"tag_fx"); + for(;;) + { + level waittill("connected",var_00); + thread drone_thrusterplayerconnected(var_00); + } +} + +//Function Number: 39 +drone_thrusterplayerconnected(param_00) +{ + self endon("death"); + param_00 endon("disconnect"); + param_00 waittill("spawned_player"); + if(isdefined(param_00) && isdefined(self)) + { + drone_thrusterplayer(param_00); + } +} + +//Function Number: 40 +drone_thrusterplayer(param_00) +{ + maps\mp\zombies\_util::playfxontagforclientnetwork(common_scripts\utility::getfx("ammo_drone_thruster"),self,"j_thruster_fl",param_00); + maps\mp\zombies\_util::playfxontagforclientnetwork(common_scripts\utility::getfx("ammo_drone_thruster"),self,"j_thruster_fr",param_00); + maps\mp\zombies\_util::playfxontagforclientnetwork(common_scripts\utility::getfx("ammo_drone_thruster"),self,"j_thruster_kl",param_00); + maps\mp\zombies\_util::playfxontagforclientnetwork(common_scripts\utility::getfx("ammo_drone_thruster"),self,"j_thruster_kr",param_00); + maps\mp\zombies\_util::playfxontagforclientnetwork(common_scripts\utility::getfx("ocp_exhaust"),self,"tag_fx",param_00); +} + +//Function Number: 41 +drone_stopthrustereffects() +{ + maps\mp\zombies\_util::killfxontagnetwork(common_scripts\utility::getfx("ammo_drone_thruster"),self,"j_thruster_fl"); + maps\mp\zombies\_util::killfxontagnetwork(common_scripts\utility::getfx("ammo_drone_thruster"),self,"j_thruster_fr"); + maps\mp\zombies\_util::killfxontagnetwork(common_scripts\utility::getfx("ammo_drone_thruster"),self,"j_thruster_kl"); + maps\mp\zombies\_util::killfxontagnetwork(common_scripts\utility::getfx("ammo_drone_thruster"),self,"j_thruster_kr"); + maps\mp\zombies\_util::killfxontagnetwork(common_scripts\utility::getfx("ocp_exhaust"),self,"tag_fx"); +} + +//Function Number: 42 +setupdrone(param_00) +{ + param_00 makevehiclenotcollidewithplayers(1); + param_00.speed = getdronespeed(param_00); + param_00.followspeed = param_00.speed; + param_00 vehicle_setspeed(param_00.speed,10,10); + param_00 setyawspeed(120,90); + param_00 setneargoalnotifydist(64); + param_00 sethoverparams(4,5,5); + param_00 vehicle_turnengineon(); + var_01 = 45; + var_02 = 45; + param_00 setmaxpitchroll(var_01,var_02); + var_03 = 10000; + var_04 = 150; + param_00.attractor = missile_createattractorent(param_00,var_03,var_04); + param_00.stunned = 0; +} + +//Function Number: 43 +playerspottreasuredrone() +{ + maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","td_spot"); +} + +//Function Number: 44 +playerdestroytreasuredrone() +{ + self endon("disconnect"); + wait(2); + maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","td_win"); +} + +//Function Number: 45 +dotreasuredroneleavevo(param_00) +{ + if(maps\mp\zombies\_util::is_true(param_00.skipplayervo)) + { + return; + } + + var_01 = sortbydistance(level.players,param_00.origin); + var_02 = undefined; + for(var_03 = 0;var_03 < var_01.size;var_03++) + { + if(!maps\mp\zombies\_util::isplayerinlaststand(var_01[var_03]) && isalive(var_01[var_03])) + { + var_02 = var_01[var_03]; + break; + } + } + + if(isdefined(var_02)) + { + var_04 = var_02 maps\mp\zombies\_zombies_zone_manager::getplayerzone(); + if(var_04 == param_00.endzone.zone_name) + { + var_02 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","td_lose"); + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/zombie_boss_oz.gsc b/AW/PC/maps/mp/zombies/zombie_boss_oz.gsc new file mode 100644 index 0000000..c24394e --- /dev/null +++ b/AW/PC/maps/mp/zombies/zombie_boss_oz.gsc @@ -0,0 +1,985 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\zombie_boss_oz.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 48 + * Decompile Time: 864 ms + * Timestamp: 4/22/2024 2:14:56 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + maps\mp\zombies\zombie_boss_oz_stage1::init(); + maps\mp\zombies\zombie_boss_oz_stage2::init(); + level.roundstartfunc["zombie_boss_oz"] = ::bossozroundstart; + level.zombieroundstartupdate = ::roundstartupdate; + level._effect["oz_arena_teleport_player"] = loadfx("vfx/unique/dlc_teleport_player"); + level.arenazonename = "arena"; + level.teleportname = "boss_player_teleport"; + if(!isdefined(level.ammodroneillegalzones)) + { + level.ammodroneillegalzones = []; + } + + level.ammodroneillegalzones[level.ammodroneillegalzones.size] = level.arenazonename; + foreach(var_01 in level.hostcuremodels) + { + var_01.zone = maps\mp\zombies\_zombies_zone_manager::getlocationzone(var_01.origin + (0,0,10)); + } + + deactivatearenacurestations(); + initpillars(); + initroomcenter(); + initpower(); + maps\mp\killstreaks\_airdrop::addcratetype("airdrop_assault","ammo",25,::ammocratethink,&"ZOMBIE_H2O_AMMO_CRATE","ammo"); + maps\mp\killstreaks\_airdrop::addcratetype("airdrop_assault","ozMoney",25,::moneycratethink,&"ZOMBIES_CRATE_MONEY","ozMoney"); + level._effect["crate_teleport"] = loadfx("vfx/unique/dlc_teleport_soldier_good"); +} + +//Function Number: 2 +initpillars() +{ + level.bossozpillars = common_scripts\utility::getstructarray("oz_room_pillar","targetname"); + foreach(var_01 in level.bossozpillars) + { + var_01.destroyed = 0; + var_01.visuals = []; + var_02 = getentarray(var_01.target,"targetname"); + foreach(var_04 in var_02) + { + if(var_04.classname == "script_brushmodel") + { + if(var_04.script_noteworthy == "compile_time_path_blocker") + { + var_04 delete(); + } + else if(var_04.script_noteworthy == "visuals") + { + var_04 connectpaths(); + var_04 setaisightlinevisible(1); + var_04 common_scripts\utility::hide_notsolid(); + var_04 common_scripts\utility::show_solid(); + var_01.sightlineent = var_04; + var_01.visuals[var_01.visuals.size] = var_04; + } + else if(var_04.script_noteworthy == "pillar_path_blocker_top") + { + var_04 notsolid(); + var_04 connectpaths(); + var_01.pathblockertop = var_04; + } + else if(var_04.script_noteworthy == "pillar_path_blocker_ground") + { + var_04 solid(); + var_04 disconnectpaths(); + var_01.pathblockerbottom = var_04; + } + + continue; + } + + if(var_04.classname == "script_model") + { + var_04 common_scripts\utility::show_solid(); + var_01.visuals[var_01.visuals.size] = var_04; + } + } + } +} + +//Function Number: 3 +getrandomactivepillar() +{ + var_00 = common_scripts\utility::array_randomize(level.bossozpillars); + foreach(var_02 in var_00) + { + if(!var_02.destroyed) + { + return var_02; + } + } +} + +//Function Number: 4 +destroypillar() +{ + self.pathblockertop solid(); + self.pathblockertop disconnectpaths(); + self.pathblockertop notsolid(); + self.pathblockerbottom connectpaths(); + self.pathblockerbottom notsolid(); + self.sightlineent setaisightlinevisible(0); + foreach(var_01 in self.visuals) + { + var_01 common_scripts\utility::hide_notsolid(); + var_01 notsolid(); + } + + self.destroyed = 1; +} + +//Function Number: 5 +initroomcenter() +{ + level.bossozstage2roomcenter = (0,0,0); + if(level.bossozpillars.size > 0) + { + foreach(var_01 in level.bossozpillars) + { + level.bossozstage2roomcenter = level.bossozstage2roomcenter + var_01.origin; + } + + level.bossozstage2roomcenter = level.bossozstage2roomcenter / level.bossozpillars.size; + } +} + +//Function Number: 6 +initpower() +{ + level.boss_power_switches = []; + foreach(var_01 in level.power_switches) + { + var_02 = var_01.script_flag; + if(isdefined(var_02) && issubstr(var_02,"boss_oz_power")) + { + var_01.nopoints = 1; + level.boss_power_switches[level.boss_power_switches.size] = var_01; + } + } + + level thread curestationpower(); +} + +//Function Number: 7 +isbosspreviewround(param_00) +{ + return param_00 == 6; +} + +//Function Number: 8 +roundstartupdate() +{ + level endon("game_ended"); + if(isbosspreviewround(level.wavecounter)) + { + level.zombie_wave_running = 1; + maps\mp\zombies\zombie_boss_oz_stage1::initozrooms(); + while(maps\mp\zombies\_util::is_true(level.zmbbossteleportdelay)) + { + wait 0.05; + } + + while(maps\mp\zombies\_util::is_true(level.waitingforteleportout)) + { + wait 0.05; + } + + level.zmbbosscountdowninprogress = 1; + zmbaudioannouncerbossozplayvo("s0intro",1); + level thread enablearenazone(1); + teleportplayerstoarena(); + level thread hideshowkillstreakicons(); + level.zmbbosscountdowninprogress = undefined; + maps\mp\zombies\zombie_boss_oz_stage1::spawnoz(); + var_00 = common_scripts\utility::random(level.bossozrooms); + maps\mp\zombies\zombie_boss_oz_stage1::moveoztoroom(var_00); + wait(1.5); + zmbaudioplayervo("s0_react",1); + zmbaudiochangeozvotoplayonent(level.bossozstage1); + zmbaudiobossozplayvo("s0fun",1); + wait(1); + zmbaudiobossozplayvo("s0intro2",1); + var_01 = level.stage1traps["aerial_lasers"]; + [[ var_01.runtrapfunc ]](var_01,10,60,1); + var_01 = level.stage1traps["electricity"]; + [[ var_01.runtrapfunc ]](var_01,10,60,1); + wait(1); + level thread zmbaudioplayervo("s0_traps",0); + wait(5); + level notify("stop_all_boss_traps"); + level notify("teleport_players_back"); + level notify("disable_arena_zone"); + level waittill("teleport_from_arena_complete"); + wait(1.5); + zmbaudioangplayvo("stage0",1); + zmbaudioannouncerbossozplayvo("s0ang",1); + wait(0.5); + zmbaudioplayervo("s0_back",1); + wait 0.05; + zmbaudioresetozvoent(); + level.bossozstage1 delete(); + level.zombie_wave_running = 0; + } +} + +//Function Number: 9 +bossozroundstart() +{ + while(maps\mp\zombies\_util::is_true(level.zmbbossteleportdelay)) + { + wait 0.05; + } + + while(maps\mp\zombies\_util::is_true(level.waitingforteleportout)) + { + wait 0.05; + } + + maps\mp\zombies\_util::waittillzombiegameunpaused(); + level.zmbbosscountdowninprogress = 1; + if(level.bossozstage == 1) + { + zmbaudioannouncerbossozplayvo("tele",1); + wait(0.5); + zmbaudioannouncerbossozplayvo("count",1); + } + else if(level.bossozstage == 2) + { + zmbaudioannouncerbossozplayvo("count2",1); + } + + teleportplayerstoarena(); + maps\mp\zombies\_util::disablepickups(); + level thread hideshowkillstreakicons(); + level.zmbbosscountdowninprogress = undefined; + if(level.bossozstage == 1) + { + level.roundtype = "zombie_boss_oz_stage1"; + } + else if(level.bossozstage == 2) + { + level.roundtype = "zombie_boss_oz_stage2"; + } + + level.zone_data.spawn_points_update_requested = 1; + if(isdefined(level.roundstartfunc[level.roundtype])) + { + [[ level.roundstartfunc[level.roundtype] ]](); + } + + level thread enablearenazone(); + level thread handlebossroundend(); + level thread handleammo(); +} + +//Function Number: 10 +hideshowkillstreakicons() +{ + level.disablecarepackagedrops = 1; + wait 0.05; + var_00 = getentarray("care_package","targetname"); + foreach(var_02 in var_00) + { + var_02 thread carepackagehidehudicon(); + } + + var_04 = getentarray("goliath_pod_model","targetname"); + foreach(var_06 in var_04) + { + var_06 thread carepackagehidehudicon(); + } + + level waittill("teleport_players_back"); + level.disablecarepackagedrops = undefined; +} + +//Function Number: 11 +carepackagehidehudicon() +{ + level endon("teleport_players_back"); + self endon("death"); + while(!isdefined(self.entityheadicons) || self.entityheadicons.size == 0) + { + wait 0.05; + } + + foreach(var_01 in self.entityheadicons) + { + var_01.alpha = 0; + } + + thread carepackagedelayshowhudicon(); +} + +//Function Number: 12 +carepackagedelayshowhudicon() +{ + self endon("death"); + level waittill("teleport_players_back"); + if(isdefined(self.entityheadicons)) + { + foreach(var_01 in self.entityheadicons) + { + var_01.alpha = 1; + } + } +} + +//Function Number: 13 +startinfinitezombiespawning() +{ + var_00 = 1; + if(var_00) + { + level childthread maps\mp\zombies\zombies_spawn_manager::spawnzombies(999999); + } +} + +//Function Number: 14 +teleportplayerstoarena() +{ + var_00 = common_scripts\utility::getstructarray(level.teleportname,"targetname"); + for(var_01 = 0;var_01 < level.players.size;var_01++) + { + level.players[var_01] thread teleporttostructandbackatend(var_00[var_01]); + } + + level waittill("teleport_to_arena_complete"); + thread ensureeveryplayerteleports(); +} + +//Function Number: 15 +ensureeveryplayerteleports() +{ + level endon("game_ended"); + var_00 = common_scripts\utility::getstructarray(level.teleportname,"targetname"); + var_01 = 1; + var_02 = undefined; + while(var_01) + { + for(var_03 = 0;var_03 < level.players.size;var_03++) + { + if(isalive(level.players[var_03]) && !maps\mp\zombies\_util::is_true(level.players[var_03].startedbossteleport)) + { + level.players[var_03] thread teleporttostructandbackatend(var_00[var_03]); + } + } + + if(maps\mp\zombies\_util::is_true(level.zombie_wave_running) && !isdefined(var_02)) + { + var_02 = gettime() + 2000; + } + + if(isdefined(var_02) && gettime() > var_02) + { + var_01 = 0; + } + + wait(1); + } +} + +//Function Number: 16 +enablearenazone(param_00) +{ + level endon("game_ended"); + level.zone_data.zones[level.arenazonename].is_enabled = 1; + enablecurestationcost(0); + activateonlycurestationinzone(level.arenazonename); + level thread runarenapowerswitches(); + if(isdefined(level.bossozstage) && level.bossozstage == 1) + { + var_01 = level common_scripts\utility::waittill_any_return("activate_terminals","zombie_wave_interrupt"); + if(var_01 == "zombie_wave_interrupt") + { + return; + } + } + + if(!maps\mp\zombies\_util::is_true(param_00)) + { + level childthread handlemagicbox(); + } + + level common_scripts\utility::waittill_any("zombie_wave_ended","zombie_wave_interrupt","disable_arena_zone"); + level.zone_data.zones[level.arenazonename].is_enabled = 0; + deactivatearenacurestations(); + activatenonarenacurestations(); + enablecurestationcost(1); +} + +//Function Number: 17 +handlemagicbox() +{ + foreach(var_01 in level.magicboxlocations) + { + if(maps\mp\zombies\_wall_buys::isscriptedmagicbox(var_01)) + { + var_01 thread maps\mp\zombies\_wall_buys::activatemagicboxeffects(var_01.modelent,var_01.light); + level thread maps\mp\zombies\_wall_buys::watchmagicboxtrigger(var_01,0); + var_01 sethintstring(maps\mp\zombies\_wall_buys::getmagicboxhintsting()); + var_01 setsecondaryhintstring(var_01 maps\mp\zombies\_wall_buys::getmagicboxhintstringcost()); + var_01 maps\mp\zombies\_util::settokencost(maps\mp\zombies\_util::creditstotokens(var_01.cost)); + var_01 maps\mp\zombies\_util::tokenhintstring(1); + var_01.active = 1; + } + } + + level common_scripts\utility::waittill_any("zombie_boss_wave_ended","zombie_wave_interrupt"); + level.zone_data.zones[level.arenazonename].is_enabled = 0; + foreach(var_01 in level.magicboxlocations) + { + if(maps\mp\zombies\_wall_buys::isscriptedmagicbox(var_01)) + { + var_01 thread maps\mp\zombies\_wall_buys::deactivatemagicboxeffects(var_01.modelent,var_01.light); + var_01 maps\mp\zombies\_wall_buys::deactivatemagicbox(); + var_01 sethintstring(maps\mp\zombies\_wall_buys::getmagicboxhintsting(1)); + var_01 setsecondaryhintstring(var_01 maps\mp\zombies\_wall_buys::getmagicboxhintstringcost(1)); + var_01 maps\mp\zombies\_util::tokenhintstring(0); + var_01.active = 0; + } + } +} + +//Function Number: 18 +curestationpower() +{ + level endon("game_ended"); + if(!common_scripts\utility::flag_exist("boss_cure_station_power")) + { + return; + } + + for(;;) + { + common_scripts\utility::flag_clear("boss_cure_station_power"); + var_00 = 0; + while(!var_00) + { + var_00 = 1; + foreach(var_02 in level.boss_power_switches) + { + if(!common_scripts\utility::flag(var_02.script_flag)) + { + var_00 = 0; + common_scripts\utility::flag_wait(var_02.script_flag); + break; + } + } + } + + common_scripts\utility::flag_set("boss_cure_station_power"); + level waittill("arena_power_switches_off"); + wait 0.05; + } +} + +//Function Number: 19 +runarenapowerswitches() +{ + level endon("zombie_wave_ended"); + level endon("zombie_wave_interrupt"); + level endon("disable_arena_zone"); + if(!isdefined(level.bossozstage)) + { + arenapowerswitcheson(); + return; + } + + if(level.bossozstage == 1) + { + arenapowerswitcheson(); + return; + } + + if(level.bossozstage == 2) + { + for(;;) + { + arenapowerswitchesoff(); + foreach(var_01 in level.hostcuremodels) + { + if(var_01 curestationisinarenazone()) + { + var_01.terminal childthread curestationusewatch(); + } + } + + level waittill("cureStationUsed"); + } + + return; + } +} + +//Function Number: 20 +curestationusewatch() +{ + self notify("endCureStationUseWatch"); + self endon("endCureStationUseWatch"); + for(;;) + { + self waittill("trigger"); + if(common_scripts\utility::flag("boss_cure_station_power")) + { + level notify("cureStationUsed"); + } + } +} + +//Function Number: 21 +arenapowerswitcheson() +{ + foreach(var_01 in level.boss_power_switches) + { + var_01.trigger notify("trigger"); + } +} + +//Function Number: 22 +arenapowerswitchesoff() +{ + foreach(var_01 in level.boss_power_switches) + { + var_01.trigger notify("trigger_off"); + } + + level notify("arena_power_switches_off"); +} + +//Function Number: 23 +activateonlycurestationinzone(param_00) +{ + foreach(var_02 in level.hostcuremodels) + { + var_02.terminal.terminaldeactivated = var_02.zone != param_00; + } +} + +//Function Number: 24 +deactivatearenacurestations() +{ + foreach(var_01 in level.hostcuremodels) + { + if(var_01 curestationisinarenazone()) + { + var_01.terminal.terminaldeactivated = 1; + } + } +} + +//Function Number: 25 +activatenonarenacurestations() +{ + foreach(var_01 in level.hostcuremodels) + { + if(!var_01 curestationisinarenazone()) + { + var_01.terminal.terminaldeactivated = 0; + } + } +} + +//Function Number: 26 +curestationisinarenazone() +{ + return self.zone == level.arenazonename; +} + +//Function Number: 27 +enablecurestationcost(param_00) +{ + if(param_00) + { + level.terminalitems["host_cure"].cost = 250; + } + else + { + level.terminalitems["host_cure"].cost = 0; + } + + level notify("terminal_reenabled"); +} + +//Function Number: 28 +teleporttostructandbackatend(param_00) +{ + level endon("game_ended"); + self endon("disconnect"); + self.startedbossteleport = 1; + while(maps\mp\zombies\_util::isplayerteleporting(self)) + { + wait(0.05); + } + + while(maps\mp\zombies\_util::is_true(self.enteringgoliath)) + { + wait 0.05; + } + + self notify("stop_useHoldThinkLoop"); + while(self islinked()) + { + wait 0.05; + } + + self cancelmantle(); + self.prebossorigin = self.lastgroundposition; + self.disabletombstonedropinarea = 1; + maps\mp\zombies\_teleport::teleport_players_through_chute([self],0); + thread maps\mp\zombies\_teleport::reset_teleport_flag_after_time([self],0.75); + var_01 = playerphysicstrace(param_00.origin,param_00.origin - (0,0,300),self) - (0,0,0.9); + self setorigin(var_01,1); + if(isdefined(param_00.angles)) + { + self.prebossangles = self getplayerangles(); + self setplayerangles(param_00.angles); + } + + playfxontagforclients(common_scripts\utility::getfx("oz_arena_teleport_player"),self,"tag_origin",self); + level notify("teleport_to_arena_complete"); + level waittill("teleport_players_back"); + self notify("stop_useHoldThinkLoop"); + self cancelmantle(); + maps\mp\zombies\_teleport::teleport_players_through_chute([self],0); + thread maps\mp\zombies\_teleport::reset_teleport_flag_after_time([self],0.75); + var_02 = playerphysicstrace(self.prebossorigin,self.prebossorigin + (0,0,1)); + if(distancesquared(var_02,self.prebossorigin) < 0.001) + { + var_02 = playerphysicstrace(self.prebossorigin + (0,0,10),self.prebossorigin); + self.prebossorigin = var_02; + } + + self setorigin(self.prebossorigin,1); + if(isdefined(self.prebossangles)) + { + self setplayerangles(self.prebossangles); + } + + self.disabletombstonedropinarea = undefined; + playfxontagforclients(common_scripts\utility::getfx("oz_arena_teleport_player"),self,"tag_origin",self); + level notify("teleport_from_arena_complete"); + level.waitingforteleportout = undefined; + self.startedbossteleport = undefined; +} + +//Function Number: 29 +handlebossroundend() +{ + level endon("game_ended"); + level childthread handlepostroundcure(); + level common_scripts\utility::waittill_any("zombie_boss_wave_ended","zombie_wave_interrupt"); + level thread givereward(); + level.waitingforteleportout = 1; + wait(10); + zmbaudioangplayvo("stage1_end3",1); + level notify("teleport_players_back"); + level notify("zombie_wave_ended"); + maps\mp\zombies\_util::enablepickups(); + if(level.bossozstage == 1) + { + level waittill("teleport_from_arena_complete"); + wait(1); + zmbaudioplayervo("s1win",1); + wait(0.5); + zmbaudioannouncerbossozplayvo("s1win",1); + } +} + +//Function Number: 30 +handlepostroundcure() +{ + level common_scripts\utility::waittill_any("zombie_boss_wave_ended","zombie_wave_interrupt","boss_oz_killed"); + foreach(var_01 in level.players) + { + if(maps\mp\zombies\_util::isplayerinfected(var_01)) + { + var_01 notify("cured",0); + } + } +} + +//Function Number: 31 +givereward() +{ + var_00 = common_scripts\utility::getstructarray("ozCarepackagePosition","targetname"); + foreach(var_02 in var_00) + { + var_02.in_use = 0; + } + + foreach(var_05 in level.players) + { + thread giverewardtoplayer(var_05); + } + + wait(0.75); + level.disablescoring = 0; +} + +//Function Number: 32 +giverewardtoplayer(param_00) +{ + level endon("teleport_players_back"); + for(;;) + { + var_01 = param_00 getmoneyposition(); + var_01.in_use = 1; + var_02 = param_00 maps\mp\killstreaks\_airdrop::createairdropcrate(param_00,"airdrop_assault","ozMoney",var_01.origin,undefined,0,1); + playfx(common_scripts\utility::getfx("crate_teleport"),var_01.origin,(1,0,0),(0,0,1)); + var_02 thread [[ level.cratetypes["airdrop_assault"]["ozMoney"].func ]]("airdrop_assault"); + var_02 disconnectpaths(); + var_02 thread deletecrateonteleport(); + while(isdefined(var_02)) + { + wait 0.05; + } + + var_01.in_use = 0; + wait 0.05; + } +} + +//Function Number: 33 +getmoneyposition() +{ + var_00 = common_scripts\utility::getstructarray("ozCarepackagePosition","targetname"); + var_01 = []; + foreach(var_03 in var_00) + { + if(!var_03.in_use) + { + var_01[var_01.size] = var_03; + } + } + + var_05 = common_scripts\utility::get_array_of_closest(self.origin,var_01); + var_06 = int(var_05.size * 0.75); + var_07 = randomintrange(1,var_06); + return var_05[var_07]; +} + +//Function Number: 34 +deletecrateonteleport() +{ + self endon("death"); + level waittill("teleport_players_back"); + maps\mp\killstreaks\_airdrop::deletecrate(0); +} + +//Function Number: 35 +handleammo() +{ + level endon("game_ended"); + level.disablescoring = 1; + level thread handleammodrops(); + level common_scripts\utility::waittill_any("zombie_boss_wave_ended","zombie_wave_interrupt"); + if(isdefined(level.ammocrate)) + { + level.ammocrate maps\mp\killstreaks\_airdrop::deletecrate(1); + } +} + +//Function Number: 36 +handleammodrops() +{ + level endon("game_ended"); + level endon("zombie_wave_interrupt"); + level endon("zombie_boss_wave_ended"); + level.noammodroptriggers = []; + var_00 = common_scripts\utility::getstructarray("ozCarepackagePosition","targetname"); + for(;;) + { + wait(12); + var_01 = common_scripts\utility::random(level.players); + var_02 = findammocratedrop(var_00); + level.ammocrate = var_01 maps\mp\killstreaks\_airdrop::createairdropcrate(var_01,"airdrop_assault","ammo",var_02.origin,undefined,0,1); + playfx(common_scripts\utility::getfx("crate_teleport"),var_02.origin,(1,0,0),(0,0,1)); + level.ammocrate thread [[ level.cratetypes["airdrop_assault"]["ammo"].func ]]("airdrop_assault"); + level.ammocrate disconnectpaths(); + while(isdefined(level.ammocrate)) + { + wait(0.05); + } + } +} + +//Function Number: 37 +findammocratedrop(param_00) +{ + var_01 = []; + foreach(var_03 in param_00) + { + var_04 = 1; + foreach(var_06 in level.noammodroptriggers) + { + if(ispointinvolume(var_03.origin + (0,0,35),var_06)) + { + var_04 = 0; + break; + } + } + + if(var_04) + { + var_01[var_01.size] = var_03; + } + } + + return common_scripts\utility::random(var_01); +} + +//Function Number: 38 +moneycratethink(param_00) +{ + self endon("death"); + self.owner = undefined; + var_01 = undefined; + if(isdefined(game["strings"][param_00 + self.cratetype + "_hint"])) + { + var_01 = game["strings"][param_00 + self.cratetype + "_hint"]; + } + else + { + var_01 = &"PLATFORM_GET_KILLSTREAK"; + } + + maps\mp\killstreaks\_airdrop::cratesetuphintstrings(var_01); + maps\mp\killstreaks\_airdrop::cratesetupforuse("all","hud_carepkg_world_credits"); + thread maps\mp\zombies\killstreaks\_zombie_killstreaks::crateothercapturethink(undefined,1,500); + for(;;) + { + self waittill("captured",var_02); + var_02 playlocalsound("zmb_ss_credits_acquire"); + var_03 = 250 + randomintrange(0,20) * 50; + var_02 maps\mp\gametypes\zombies::givepointsforevent("crate",var_03,1); + maps\mp\killstreaks\_airdrop::deletecrate(1); + } +} + +//Function Number: 39 +ammocratethink(param_00) +{ + self endon("death"); + self.owner = undefined; + var_01 = &"ZOMBIE_H2O_AMMO_CRATE"; + maps\mp\killstreaks\_airdrop::cratesetuphintstrings(var_01); + maps\mp\killstreaks\_airdrop::cratesetupforuse("all","hud_drop_sm_maxammo"); + thread maps\mp\zombies\killstreaks\_zombie_killstreaks::crateothercapturethink(undefined,1); + for(;;) + { + self waittill("captured",var_02); + var_02 playlocalsound("zmb_pickup_general"); + var_02 maps\mp\gametypes\zombies::refillammozombies(var_02,1); + var_02 maps\mp\gametypes\zombies::playersetem1maxammo(); + maps\mp\killstreaks\_airdrop::deletecrate(1); + } +} + +//Function Number: 40 +zmbaudiochangeozvotoplayonent(param_00) +{ + level.vox maps\mp\zombies\_zombies_audio::zmbvoxinitspeaker("announcer_oz","janitor_",param_00,0); +} + +//Function Number: 41 +zmbaudioresetozvoent() +{ + level.vox maps\mp\zombies\_zombies_audio::zmbvoxinitspeaker("announcer_oz","janitor_",level.announceroz,0); +} + +//Function Number: 42 +zmbaudiobossozplayvo(param_00,param_01,param_02,param_03,param_04,param_05) +{ + var_06 = maps\mp\zombies\_zombies_audio_announcer::getannouncers("oz")[0]; + var_06 endon("death"); + if(isdefined(param_03)) + { + wait(param_03); + } + + if(!isdefined(param_05)) + { + param_05 = 0; + } + + if(!param_05) + { + waittilldonespeaking(); + } + + var_07 = var_06 maps\mp\zombies\_zombies_audio::create_and_play_dialog("machine_all_players","dlc4_" + param_00,undefined,param_02,param_04); + if(var_07 && param_01) + { + var_06 common_scripts\utility::waittill_notify_or_timeout("done_speaking",10); + } + + return var_07; +} + +//Function Number: 43 +zmbaudioannouncerbossozplayvo(param_00,param_01) +{ + waittilldonespeaking(); + var_02 = maps\mp\zombies\_zombies_audio_announcer::getannouncers("oz")[0]; + var_03 = var_02 maps\mp\zombies\_zombies_audio::create_and_play_dialog("global_priority","dlc4_" + param_00); + if(var_03 && param_01) + { + maps\mp\zombies\_zombies_audio_announcer::waittillallannouncersdonespeaking(); + } +} + +//Function Number: 44 +zmbaudioangplayvo(param_00,param_01) +{ + waittilldonespeaking(); + var_02 = maps\mp\zombies\_zombies_audio_announcer::announcerglobaldialog("global_priority",param_00); + if(var_02 && param_01) + { + maps\mp\zombies\_zombies_audio_announcer::waittillallannouncersdonespeaking(); + } +} + +//Function Number: 45 +anyplayersspeaking() +{ + foreach(var_01 in level.players) + { + if(maps\mp\zombies\_util::is_true(var_01.isspeaking)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 46 +waittilldonespeaking() +{ + while(anyplayersspeaking() || maps\mp\zombies\_zombies_audio_announcer::isanyannouncerspeaking()) + { + wait 0.05; + } +} + +//Function Number: 47 +getrandomaliveplayer() +{ + var_00 = common_scripts\utility::array_randomize(level.players); + foreach(var_02 in level.players) + { + if(isalive(var_02) && !maps\mp\zombies\_util::isplayerinlaststand(var_02)) + { + return var_02; + } + } +} + +//Function Number: 48 +zmbaudioplayervo(param_00,param_01,param_02) +{ + waittilldonespeaking(); + if(!isdefined(param_02)) + { + param_02 = getrandomaliveplayer(); + } + + var_03 = param_02 maps\mp\zombies\_zombies_audio::create_and_play_dialog("general","dlc4_" + param_00); + if(var_03 && param_01) + { + waittilldonespeaking(); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/zombie_boss_oz_stage1.gsc b/AW/PC/maps/mp/zombies/zombie_boss_oz_stage1.gsc new file mode 100644 index 0000000..893a4f0 --- /dev/null +++ b/AW/PC/maps/mp/zombies/zombie_boss_oz_stage1.gsc @@ -0,0 +1,574 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\zombie_boss_oz_stage1.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 26 + * Decompile Time: 417 ms + * Timestamp: 4/22/2024 2:14:58 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level.runwavefunc["zombie_boss_oz_stage1"] = ::bossozstage1runwave; + level.roundspawndelayfunc["zombie_boss_oz_stage1"] = ::bossozgetzombiespawndelay; + level._effect["oz_room_destroyed_explode"] = loadfx("vfx/explosion/ambient_explosion_fireball"); + level._effect["oz_room_destroyed_fire"] = loadfx("vfx/fire/fire_lp_m_dim"); + level._effect["oz_teleport"] = loadfx("vfx/unique/dlc_teleport_soldier_bad"); + maps\mp\zombies\zombie_boss_oz_stage1_traps::init_traps(); + level.animnametoasset["zom_boss_st1_exposed_pain_left"] = %zom_boss_st1_exposed_pain_left; + level.animnametoasset["zom_boss_st1_exposed_pain_right"] = %zom_boss_st1_exposed_pain_right; + level.animnametoasset["zom_boss_st1_exposed_pain_head"] = %zom_boss_st1_exposed_pain_head; + level.animnametoasset["zom_boss_st1_teleport_in"] = %zom_boss_st1_teleport_in; + level.animnametoasset["zom_boss_st1_teleport_out"] = %zom_boss_st1_teleport_out; + level.animnametoasset["zom_boss_st1_trap_mid"] = %zom_boss_st1_trap_mid; + level.animnametoasset["zom_boss_st1_trap_right"] = %zom_boss_st1_trap_right; + level.animnametoasset["zom_boss_st1_trap_left"] = %zom_boss_st1_trap_left; + level.animnametoasset["zom_boss_st1_exposed_react"] = %zom_boss_st1_exposed_react; + level.animnametoasset["zom_boss_st1_taunt_01"] = %zom_boss_st1_taunt_01; + level.animnametoasset["zom_boss_st1_taunt_02"] = %zom_boss_st1_taunt_02; + level.animnametoasset["zom_boss_st1_exposed_to_normal"] = %zom_boss_st1_exposed_to_normal; +} + +//Function Number: 2 +bossozgetzombiespawndelay(param_00,param_01) +{ + var_02 = 28; + var_03 = [1,0.78,0.56,0.34]; + var_04 = int(clamp(maps\mp\zombies\_util::getnumplayers() - 1,0,3)); + var_05 = var_03[var_04]; + var_06 = level.bossozrooms.size / level.totalnumbossozrooms; + var_07 = var_02 * var_05 * var_06; + return var_07; +} + +//Function Number: 3 +setmaxpickups() +{ + level endon("game_ended"); + var_00 = level.maxpickupsperround; + var_01 = level.trappickupdisabled; + level.maxpickupsperround = 99999; + level.trappickupdisabled = 1; + common_scripts\utility::waittill_any("zombie_wave_interrupt","zombie_boss_wave_ended"); + level.maxpickupsperround = var_00; + level.trappickupdisabled = var_01; +} + +//Function Number: 4 +setwaverunningandspawnoz() +{ + level.zombie_wave_running = 1; + spawnoz(); + common_scripts\utility::waittill_any("zombie_wave_interrupt","zombie_boss_wave_ended"); + maps\mp\zombies\zombie_boss_oz::zmbaudioresetozvoent(); + level.bossozstage1 delete(); + level.zombie_wave_running = 0; +} + +//Function Number: 5 +spawnoz() +{ + level.bossozstage1 = spawn("script_model",(0,0,0)); + level.bossozstage1.team = "axis"; + level.bossozstage1 setmodel("zom_oz_boss_stage1"); + level.bossozstage1 maps\mp\zombies\_util::zombie_set_eyes("zombie_eye_host_janitor"); + level.bossozstage1.health = 999999; + level.bossozstage1.maxhealth = 999999; + level.bossozstage1 thermaldrawenable(); + foreach(var_01 in level.players) + { + level.bossozstage1 threatdetectedtoplayer(var_01); + } +} + +//Function Number: 6 +initozrooms() +{ + level.bossozrooms = common_scripts\utility::getstructarray("boss_oz_spot","targetname"); + foreach(var_01 in level.bossozrooms) + { + var_01.explosion_locations = []; + var_01.fire_locations = []; + var_02 = common_scripts\utility::array_combine(getentarray(var_01.target,"targetname"),common_scripts\utility::getstructarray(var_01.target,"targetname")); + foreach(var_04 in var_02) + { + if(var_04.script_noteworthy == "door") + { + var_01.doorbrushmodel = var_04; + continue; + } + + if(var_04.script_noteworthy == "explosion_origin") + { + var_01.explosion_locations[var_01.explosion_locations.size] = var_04; + continue; + } + + if(var_04.script_noteworthy == "fire_origin") + { + var_01.fire_locations[var_01.fire_locations.size] = var_04; + } + } + + if(isdefined(var_01.doorbrushmodel.startorigin)) + { + var_01.doorbrushmodel.origin = var_01.doorbrushmodel.startorigin; + } + else + { + var_01.doorbrushmodel.startorigin = var_01.doorbrushmodel.origin; + } + + if(level.nextgen) + { + var_06 = getscriptablearray("scriptable_boss_oz_room","targetname"); + var_01.scriptablelight = common_scripts\utility::get_array_of_closest(var_01.origin,var_06)[0]; + var_01.scriptablelight setscriptablepartstate(0,6); + } + + foreach(var_08 in var_01.fire_locations) + { + if(isdefined(var_08.fx)) + { + var_08.fx delete(); + } + } + } + + level.totalnumbossozrooms = level.bossozrooms.size; +} + +//Function Number: 7 +bossozstage1runwave(param_00) +{ + level endon("game_ended"); + thread maps\mp\mp_zombie_h2o_aud::sndbossozstartstage1(); + runwave(param_00); + level notify("zombie_stop_spawning"); + if(isdefined(level.bossozstage1.lastattacker)) + { + var_01 = level.bossozstage1.lastattacker.origin; + } + else + { + var_01 = common_scripts\utility::random(level.players).origin; + } + + maps\mp\gametypes\zombies::createpickup("nuke",var_01,"Boss Oz Wave 1 Complete - Nuke"); + maps\mp\gametypes\zombies::createpickup("ammo",var_01,"Boss Oz Wave 1 Complete - Max Ammo"); + givebossozstage1achievement(); + level notify("zombie_boss_wave_ended"); + level waittill("zombie_wave_ended"); +} + +//Function Number: 8 +moveoztoroom(param_00) +{ + playfx(common_scripts\utility::getfx("oz_teleport"),level.bossozstage1.origin,(1,0,0),(0,0,1)); + level.bossozstage1 notify("teleport"); + level.bossozstage1.origin = param_00.origin; + level.bossozstage1.angles = param_00.angles; + level.bossozstage1.animnode = param_00; + level.bossozstage1 thread ozplayanimthenidle("zom_boss_st1_teleport_in"); + level.bossozstage1.damagetaken = 0; + level.bossozstage1.inpainanim = 0; + playfx(common_scripts\utility::getfx("oz_teleport"),level.bossozstage1.origin,(1,0,0),(0,0,1)); + if(level.nextgen) + { + param_00.scriptablelight setscriptablepartstate(0,0); + } +} + +//Function Number: 9 +taunttoolongtodamage() +{ + level endon("game_ended"); + level endon("zombie_boss_wave_ended"); + level endon("zombie_wave_interrupt"); + level.bossozstage1 endon("damage_taken"); + wait(20); + var_00 = 3; + for(;;) + { + var_01 = maps\mp\zombies\zombie_boss_oz::zmbaudiobossozplayvo("toolong",1); + if(var_01) + { + var_00--; + if(var_00 <= 0) + { + return; + } + else + { + wait(15); + } + + continue; + } + + wait(1); + } +} + +//Function Number: 10 +doshieldupvo(param_00) +{ + level endon("end_spawn_wait"); + wait(1); + maps\mp\zombies\zombie_boss_oz::zmbaudioangplayvo("stage1_shield",1); + maps\mp\zombies\zombie_boss_oz::zmbaudiobossozplayvo("shieldup",1,param_00); + maps\mp\zombies\zombie_boss_oz::zmbaudioplayervo("shieldup",1); +} + +//Function Number: 11 +runwave(param_00) +{ + level endon("zombie_wave_interrupt"); + thread setmaxpickups(); + thread setwaverunningandspawnoz(); + initozrooms(); + maps\mp\zombies\zombie_boss_oz_stage1_traps::begin_round_init_traps(); + var_01 = [99999,20,15,10]; + var_02 = 2.5; + level.totalaispawned = 0; + level.maxenemycount = maps\mp\zombies\zombies_spawn_manager::getmaxenemycount(); + var_03 = common_scripts\utility::random(level.bossozrooms); + moveoztoroom(var_03); + wait(1.5); + maps\mp\zombies\zombie_boss_oz::zmbaudioangplayvo("stage1_start",1); + maps\mp\zombies\zombie_boss_oz::zmbaudiochangeozvotoplayonent(level.bossozstage1); + maps\mp\zombies\zombie_boss_oz::zmbaudiobossozplayvo("tele2",1); + maps\mp\zombies\zombie_boss_oz::zmbaudioplayervo("ozsee",1); + wait(1); + maps\mp\zombies\zombie_boss_oz::zmbaudiobossozplayvo("intro",1); + var_04 = 0; + var_05 = 0; + while(level.bossozrooms.size > 0) + { + var_06 = getstage1phase(); + if(var_06 > 0) + { + if(!var_05) + { + var_05 = 1; + level notify("activate_terminals"); + } + + if(!var_04) + { + var_04 = 1; + maps\mp\zombies\zombie_boss_oz::startinfinitezombiespawning(); + } + + var_03 = common_scripts\utility::random(level.bossozrooms); + moveoztoroom(var_03); + wait(5); + } + + var_07 = 1; + var_08 = var_06; + while(var_07) + { + var_09 = var_06 > 0; + if(var_09) + { + maps\mp\zombies\zombie_boss_oz_stage1_traps::run_trap_sequence(var_08); + } + + maps\mp\zombies\_util::waittillzombiegameunpaused(); + var_0A = undefined; + if(var_06 == 0) + { + var_0A = 1; + } + + level thread doshieldupvo(var_0A); + playsoundatpos(var_03.origin,"oz_s1_location_open"); + level.bossozstage1 thread ozplayanimthenidle("zom_boss_st1_exposed_react","zom_boss_st1_exposed_idle"); + var_03 oz_room_open_door(1,var_02); + make_oz_damageable(1); + if(var_06 == 0) + { + level thread taunttoolongtodamage(); + } + + var_0B = level.bossozstage1 common_scripts\utility::waittill_any_timeout(var_01[var_06] + var_02,"oz_phase_defeated"); + make_oz_damageable(0); + if(var_0B == "timeout") + { + playsoundatpos(var_03.origin,"oz_s1_location_close"); + var_03 oz_room_open_door(0,0.5); + level thread maps\mp\zombies\zombie_boss_oz::zmbaudiobossozplayvo("shielddown",0); + var_08 = 1; + level.bossozstage1 thread ozplayanimthenidle("zom_boss_st1_exposed_to_normal"); + wait(3); + continue; + } + + var_07 = 0; + level.bossozrooms = common_scripts\utility::array_remove(level.bossozrooms,var_03); + level notify("end_spawn_wait"); + level.bossozstage1 ozplayanimuntilnotetrack("zom_boss_st1_teleport_out","teleport"); + foreach(var_0D in var_03.explosion_locations) + { + playfx(common_scripts\utility::getfx("oz_room_destroyed_explode"),var_0D.origin,anglestoforward(var_0D.angles),(0,0,1)); + } + + foreach(var_0D in var_03.fire_locations) + { + var_0D.fx = spawnfx(common_scripts\utility::getfx("oz_room_destroyed_fire"),var_0D.origin,anglestoforward(var_0D.angles),(0,0,1)); + thread maps\mp\mp_zombie_h2o_aud::sndbossozfire(var_0D.origin); + triggerfx(var_0D.fx); + } + + earthquake(0.5,1,var_03.origin,10000); + playsoundatpos(var_03.origin,"oz_s1_location_destroyed"); + if(level.nextgen) + { + var_03.scriptablelight setscriptablepartstate(0,7); + } + + if(var_06 != 3) + { + level thread maps\mp\zombies\zombie_boss_oz::zmbaudiobossozplayvo("progress",0,undefined,2); + } + + var_11 = int(clamp(var_06 + 1,1,4)); + var_12 = "zm_boss_phase" + var_11; + foreach(var_14 in level.players) + { + var_14 thread maps\mp\_matchdata::loggameevent(var_12,var_14.origin); + } + } + } +} + +//Function Number: 12 +givebossozstage1achievement() +{ + foreach(var_01 in level.players) + { + var_01 maps\mp\gametypes\zombies::givezombieachievement("DLC4_ZOMBIE_DEFEATBOSS1"); + } +} + +//Function Number: 13 +getstage1phase() +{ + var_00 = level.totalnumbossozrooms - level.bossozrooms.size; + return var_00; +} + +//Function Number: 14 +oz_room_open_door(param_00,param_01) +{ + if(param_00) + { + self.doorbrushmodel moveto(self.doorbrushmodel.startorigin + (0,0,160),param_01); + return; + } + + self.doorbrushmodel moveto(self.doorbrushmodel.startorigin,param_01); +} + +//Function Number: 15 +make_oz_damageable(param_00) +{ + if(param_00) + { + level.bossozstage1 setcandamage(1); + level.bossozstage1 setdamagecallbackon(1); + level.bossozstage1.damagecallback = ::ozhandledamagecallback; + return; + } + + level.bossozstage1 setcandamage(0); + level.bossozstage1 setdamagecallbackon(0); + level.bossozstage1.damagecallback = undefined; +} + +//Function Number: 16 +ozgetbaseweaponname(param_00) +{ + var_01 = getweaponbasename(param_00); + if(!isdefined(var_01)) + { + var_01 = "none"; + } + + if(isdefined(level.damageweapontoweapon[var_01])) + { + var_01 = level.damageweapontoweapon[var_01]; + } + + return var_01; +} + +//Function Number: 17 +ozmodifydamage(param_00,param_01,param_02,param_03,param_04) +{ + if(param_01.team == self.team) + { + return 0; + } + + var_05 = ozscaledamageforkillstreakorweaponlevel(param_00,param_01,param_02,param_03,param_04); + param_02 = ozgetbaseweaponname(param_02); + if(param_02 == "iw5_fusionzm_mp") + { + var_05 = int(var_05 * 0.7); + } + + if(param_02 == "iw5_rhinozm_mp") + { + var_05 = int(var_05 * 0.7); + } + + if(param_02 == "iw5_linegunzm_mp") + { + var_05 = int(var_05 * 0.7); + } + + if(param_02 == "iw5_tridentzm_mp") + { + var_05 = int(var_05 * 0.7); + } + + return var_05; +} + +//Function Number: 18 +ozscaledamageforkillstreakorweaponlevel(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = param_04; + var_06 = maps\mp\zombies\killstreaks\_zombie_killstreaks::modifydamagekillstreak(param_00,param_01,param_04,param_02,param_03); + if(var_06 != var_05) + { + var_05 = int(var_06 * 0.25); + } + + var_07 = ozgetbaseweaponname(param_02); + if(maps\mp\zombies\_util::haszombieweaponstate(param_01,var_07)) + { + var_08 = 0.2; + if(isdefined(param_01.weaponstate[var_07]["weapon_level_increase"])) + { + var_08 = param_01.weaponstate[var_07]["weapon_level_increase"]; + } + + var_05 = int(var_05 + var_05 * var_08 * param_01.weaponstate[var_07]["level"] - 1); + } + + return var_05; +} + +//Function Number: 19 +ozhurtvo() +{ + level.bossozstage1 endon("death"); + if(maps\mp\zombies\zombie_boss_oz::anyplayersspeaking() || maps\mp\zombies\_zombies_audio_announcer::isanyannouncerspeaking()) + { + return; + } + + if(!maps\mp\zombies\_util::is_true(level.bossozstage1.playedfirsthurtvo)) + { + level.bossozstage1.playedfirsthurtvo = maps\mp\zombies\zombie_boss_oz::zmbaudiobossozplayvo("hurt",0,2,undefined,undefined,1); + return; + } + + maps\mp\zombies\zombie_boss_oz::zmbaudiobossozplayvo("hurt",0,undefined,undefined,undefined,1); +} + +//Function Number: 20 +ozhandledamagecallback(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B) +{ + var_0C = ozmodifydamage(param_00,param_01,param_05,param_04,param_02); + level.bossozstage1.damagetaken = level.bossozstage1.damagetaken + var_0C; + level.bossozstage1 notify("damage_taken"); + level thread ozhurtvo(); + if(var_0C > 0) + { + param_01 maps\mp\gametypes\_damagefeedback::updatedamagefeedback("boss_oz_trigger"); + param_01 maps\mp\gametypes\zombies::givepointsfordamage(self,param_02,param_04,param_05,param_06,param_07,param_08,0); + self.lastattacker = param_01; + if(!self.inpainanim) + { + thread ozplaypainanim(); + } + } + + if(level.bossozstage1.damagetaken >= int(4900 * maps\mp\zombies\_util::getnumplayers())) + { + self notify("oz_phase_defeated",param_01); + } +} + +//Function Number: 21 +ozplaypainanim() +{ + self endon("death"); + var_00 = common_scripts\utility::random(["zom_boss_st1_exposed_pain_head","zom_boss_st1_exposed_pain_left","zom_boss_st1_exposed_pain_right"]); + self.inpainanim = 1; + ozplayanimthenidle(var_00,"zom_boss_st1_exposed_idle"); + self.inpainanim = 0; +} + +//Function Number: 22 +ozplaytrapanim(param_00) +{ + level.bossozstage1 endon("death"); + var_01 = common_scripts\utility::random(["zom_boss_st1_trap_mid","zom_boss_st1_trap_right","zom_boss_st1_trap_left"]); + level.bossozstage1 ozplayanimthenidle(var_01); + level.bossozstage1.trapfinishedanimtime = gettime() + int(param_00 * 1000); +} + +//Function Number: 23 +ozplayanim(param_00) +{ + self scriptmodelplayanimdeltamotionfrompos(param_00,self.animnode.origin,self.animnode.angles,undefined,1); + self notify("playAnim"); +} + +//Function Number: 24 +ozplayanimthenidle(param_00,param_01) +{ + self endon("death"); + var_02 = level.animnametoasset[param_00]; + var_03 = getanimlength(var_02); + ozplayanim(param_00); + self endon("playAnim"); + wait(var_03); + if(isdefined(param_01)) + { + ozplayanim(param_01); + return; + } + + thread ozplaydefaultidle(); +} + +//Function Number: 25 +ozplayanimuntilnotetrack(param_00,param_01) +{ + var_02 = level.animnametoasset[param_00]; + var_03 = getnotetracktimes(var_02,param_01)[0]; + ozplayanim(param_00); + wait(var_03); + self scriptmodelclearanim(); +} + +//Function Number: 26 +ozplaydefaultidle() +{ + self endon("death"); + ozplayanim("zom_boss_st1_idle"); + self endon("playAnim"); + wait(randomfloatrange(5,10)); + if(!isdefined(self.trapfinishedanimtime) || level.bossozstage1.trapfinishedanimtime - gettime() > 10000) + { + thread ozplayanimthenidle(common_scripts\utility::random(["zom_boss_st1_taunt_01","zom_boss_st1_taunt_02"])); + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/zombie_boss_oz_stage1_traps.gsc b/AW/PC/maps/mp/zombies/zombie_boss_oz_stage1_traps.gsc new file mode 100644 index 0000000..e588e58 --- /dev/null +++ b/AW/PC/maps/mp/zombies/zombie_boss_oz_stage1_traps.gsc @@ -0,0 +1,1332 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\zombie_boss_oz_stage1_traps.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 72 + * Decompile Time: 1195 ms + * Timestamp: 4/22/2024 2:15:02 AM +*******************************************************************/ + +//Function Number: 1 +init_traps() +{ + level.stage1traps = []; + level.invalidationtrapsequence = []; + level.invalidationtrapwarningtime = [-1,5,4.25,3.5]; + level.invalidationtrapdamagetime = [-1,40,34,28]; + level.trapsequencetime = [-1,50,42.5,35]; + var_00 = spawnstruct(); + var_00.type = "aerial_lasers"; + var_00.weight = 1; + var_00.lasers = aeriallaser_init(); + var_00.istrapactivefunc = ::aeriallaser_istrapactive; + var_00.canruntrapfunc = ::aeriallaser_canruntrap; + var_00.runtrapfunc = ::aeriallaser_runtrap; + var_00.gettraptriggersfunc = ::aeriallaser_gettriggers; + var_00 setup_trap_overlap(["electricity","gas"],["electricity","gas"],["electricity"],["electricity"]); + level.stage1traps[var_00.type] = var_00; + var_00 = spawnstruct(); + var_00.type = "electricity"; + var_00.weight = 1; + var_00.electricity = electrotrap_init(); + var_00.istrapactivefunc = ::electrotrap_istrapactive; + var_00.canruntrapfunc = ::electrotrap_canruntrap; + var_00.runtrapfunc = ::electrotrap_runtrap; + var_00 setup_trap_overlap(["aerial_lasers","gas"],["aerial_lasers","gas"],["aerial_lasers","gas"],["aerial_lasers"]); + level.stage1traps[var_00.type] = var_00; + var_00 = spawnstruct(); + var_00.type = "gas"; + var_00.weight = 1; + var_00.gas = gastrap_init(); + var_00.istrapactivefunc = ::gastrap_istrapactive; + var_00.canruntrapfunc = ::gastrap_canruntrap; + var_00.runtrapfunc = ::gastrap_runtrap; + var_00.gettraptriggersfunc = ::gastrap_gettriggers; + var_00 setup_trap_overlap(["aerial_lasers","electricity"],["aerial_lasers","electricity"],["electricity"],[]); + level.stage1traps[var_00.type] = var_00; + var_00 = spawnstruct(); + var_00.type = "stationary_turrets"; + var_00.weight = 1; + var_00.turretdoors = stationaryturret_init(); + var_00.canruntrapfunc = ::stationaryturret_canrunturrettrap; + var_00.runtrapfunc = ::stationaryturret_runturrettrap; + level.stage1traps[var_00.type] = var_00; + var_00 = spawnstruct(); + var_00.type = "mounted_turrets"; + var_00.weight = 1; + var_00.turrets = mountedturret_init(); + var_00.canruntrapfunc = ::mountedturret_canrunturrettrap; + var_00.runtrapfunc = ::mountedturret_runturrettrap; + level.stage1traps[var_00.type] = var_00; + var_00 = spawnstruct(); + var_00.type = "zombies"; + var_00.weight = 1; + var_00.canruntrapfunc = ::zombietrap_canruntrap; + var_00.runtrapfunc = ::zombietrap_runtrap; + level.stage1traps[var_00.type] = var_00; +} + +//Function Number: 2 +begin_round_init_traps() +{ + var_00 = getentarray("boss_oz_mounted_turret","targetname"); + foreach(var_02 in var_00) + { + var_02 delete(); + } +} + +//Function Number: 3 +setup_trap_overlap(param_00,param_01,param_02,param_03) +{ + self.nooverlapwith[0] = param_00; + self.nooverlapwith[1] = param_01; + self.nooverlapwith[2] = param_02; + self.nooverlapwith[3] = param_03; +} + +//Function Number: 4 +run_trap_sequence(param_00) +{ + level endon("game_ended"); + level endon("zombie_wave_interrupt"); + level endon("zombie_boss_wave_ended"); + var_01 = ["aerial_lasers","electricity","gas"]; + var_02[0] = ["stationary_turrets","mounted_turrets"]; + var_02[1] = ["zombies"]; + var_03 = maps\mp\zombies\zombie_boss_oz_stage1::getstage1phase(); + maps\mp\zombies\_util::waittillzombiegameunpaused(); + wait(0.5); + var_0A = level.trapsequencetime[var_03] / 3; + for(var_09 = 0;var_09 < param_00;var_09++) + { + if(level.invalidationtrapsequence.size == 0) + { + level.invalidationtrapsequence = var_01; + } + + if(level.invalidationtrapsequence.size > 0) + { + var_0B = level.invalidationtrapsequence[0]; + var_0C = level.stage1traps[var_0B]; + level thread [[ var_0C.runtrapfunc ]](var_0C,level.invalidationtrapwarningtime[var_03],level.invalidationtrapdamagetime[var_03]); + thread maps\mp\zombies\zombie_boss_oz_stage1::ozplaytrapanim(var_0A); + level.invalidationtrapsequence = common_scripts\utility::array_remove(level.invalidationtrapsequence,var_0B); + level childthread playozrandomvo(var_0A); + } + + wait(var_0A); + maps\mp\zombies\_util::waittillzombiegameunpaused(); + var_02 = common_scripts\utility::array_randomize(var_02); + run_trap_from_list(var_02[0]); + thread maps\mp\zombies\zombie_boss_oz_stage1::ozplaytrapanim(var_0A); + level childthread playozrandomvo(var_0A); + wait(var_0A); + maps\mp\zombies\_util::waittillzombiegameunpaused(); + run_trap_from_list(var_02[1]); + thread maps\mp\zombies\zombie_boss_oz_stage1::ozplaytrapanim(var_0A); + level childthread playozrandomvo(var_0A); + wait(var_0A); + maps\mp\zombies\_util::waittillzombiegameunpaused(); + } +} + +//Function Number: 5 +playozrandomvo(param_00) +{ + var_01 = 8; + var_02 = param_00 - 5; + if(var_02 < 0 || var_01 > param_00 || var_01 > var_02) + { + return; + } + + wait(randomfloatrange(var_01,var_02)); + maps\mp\zombies\zombie_boss_oz::zmbaudiobossozplayvo("rand1",0,undefined,undefined,undefined,1); +} + +//Function Number: 6 +run_trap_from_list(param_00) +{ + var_01 = pick_trap_from_named_list(param_00); + if(isdefined(var_01)) + { + level thread [[ var_01.runtrapfunc ]](var_01); + } +} + +//Function Number: 7 +pick_trap_from_named_list(param_00) +{ + var_01 = []; + foreach(var_03 in level.stage1traps) + { + if(common_scripts\utility::array_contains(param_00,var_03.type)) + { + var_01[var_01.size] = var_03; + } + } + + var_05 = undefined; + while(!isdefined(var_05) && var_01.size > 0) + { + var_06 = 0; + foreach(var_03 in var_01) + { + var_06 = var_06 + var_03.weight; + } + + var_09 = randomfloat(var_06); + foreach(var_03 in var_01) + { + if(var_09 < var_03.weight) + { + var_05 = var_03; + break; + } + else + { + var_09 = var_09 - var_03.weight; + } + } + + var_0C = [[ var_05.canruntrapfunc ]](var_05); + if(var_0C) + { + var_0C = !trapoverlapsactiveillegaltrap(var_05); + } + + if(!var_0C) + { + var_01 = common_scripts\utility::array_remove(var_01,var_05); + var_05 = undefined; + } + } + + return var_05; +} + +//Function Number: 8 +trapoverlapsactiveillegaltrap(param_00) +{ + if(!isdefined(param_00.nooverlapwith)) + { + return 0; + } + + var_01 = maps\mp\zombies\zombie_boss_oz_stage1::getstage1phase(); + var_02 = param_00.nooverlapwith[var_01]; + if(!isdefined(var_02)) + { + return 0; + } + + foreach(var_04 in var_02) + { + var_05 = level.stage1traps[var_04]; + if([[ var_05.istrapactivefunc ]](var_05)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 9 +waittilltimeorroundend(param_00) +{ + var_01 = level common_scripts\utility::waittill_any_timeout(param_00,"game_ended","zombie_wave_interrupt","zombie_boss_wave_ended","stop_all_boss_traps"); + return var_01 == "timeout"; +} + +//Function Number: 10 +turrethandledeath() +{ + var_00 = self getentitynumber(); + self waittill("death",var_01,var_02,var_03); + if(isremovedentity(self)) + { + return; + } + + self.isalive = 0; + self.damagecallback = undefined; + self setcandamage(0); + self setdamagecallbackon(0); + self freeentitysentient(); + self setmode("sentry_offline"); + self setdefaultdroppitch(35); + self setsentryowner(undefined); + self setturretminimapvisible(0); + var_04 = self.owner; + self.waitingtodie = 1; + self playsound("sentry_explode"); + playfxontag(common_scripts\utility::getfx("sentry_explode_mp"),self,"tag_aim"); + self playsound("sentry_explode_smoke"); + wait(0.5); + self notify("deleting"); + self delete(); +} + +//Function Number: 11 +turretsetupdamagecallback() +{ + self.damagecallback = ::turrethandledamagecallback; + self setcandamage(1); + self setdamagecallbackon(1); +} + +//Function Number: 12 +turrethandledamagecallback(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B) +{ + if(!isdefined(param_01) || param_01.classname == "worldspawn") + { + return; + } + + if(param_01.team == self.team) + { + return; + } + + var_0C = maps\mp\zombies\zombie_boss_oz_stage1::ozscaledamageforkillstreakorweaponlevel(param_00,param_01,param_05,param_04,param_02); + self.wasdamaged = 1; + self.damagefade = 0; + if(isplayer(param_01)) + { + param_01 maps\mp\gametypes\_damagefeedback::updatedamagefeedback("remote_turret"); + } + + self finishentitydamage(param_00,param_01,var_0C,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B); +} + +//Function Number: 13 +turretgetenemy(param_00,param_01) +{ + var_02 = (0,0,72); + var_03 = []; + foreach(var_05 in level.players) + { + if(var_05.ignoreme || var_05 isnotarget()) + { + continue; + } + + if(var_05.sessionstate == "spectator") + { + continue; + } + + var_03[var_03.size] = var_05; + } + + var_07 = 500000000; + var_08 = undefined; + foreach(var_05 in var_03) + { + var_0A = distancesquared(var_05.origin,param_00.origin); + if(var_0A < var_07) + { + if(sighttracepassed(var_05.origin + var_02,param_00.origin + param_01,0,undefined)) + { + var_07 = var_0A; + var_08 = var_05; + } + } + } + + return var_08; +} + +//Function Number: 14 +stationaryturret_init() +{ + level._effect["stationary_turret_teleport"] = loadfx("vfx/unique/dlc_teleport_soldier_bad"); + var_00 = common_scripts\utility::getstructarray("arena_turret_door","targetname"); + foreach(var_02 in var_00) + { + var_02 thread init_arena_turret_door(); + } + + return var_00; +} + +//Function Number: 15 +stationaryturret_getnumtoactivate() +{ + if(maps\mp\zombies\_util::getnumplayers() <= 2) + { + return 1; + } + + return 2; +} + +//Function Number: 16 +stationaryturret_canrunturrettrap(param_00) +{ + var_01 = 0; + foreach(var_03 in param_00.turretdoors) + { + if(!var_03.open) + { + var_01++; + } + } + + return var_01 > stationaryturret_getnumtoactivate(); +} + +//Function Number: 17 +stationaryturret_runturrettrap(param_00) +{ + var_01 = common_scripts\utility::array_randomize(param_00.turretdoors); + if(level.currentgen) + { + var_02 = 0; + for(var_03 = 0;var_03 < var_01.size;var_03++) + { + if(var_01[var_03].open) + { + var_02++; + } + } + + if(var_02 >= 2) + { + return; + } + } + + var_04 = 0; + for(var_03 = 0;var_03 < var_01.size && var_04 < stationaryturret_getnumtoactivate();var_03++) + { + if(!var_01[var_03].open) + { + var_01[var_03] thread open_door(); + var_05 = stationaryturret_spawnenemyturret("boss_oz_sentry_minigun_mp",var_01[var_03]); + var_05 thread closedooronturretdeath(var_01[var_03]); + var_05 thread destroyturretonroundend(); + var_04++; + } + } + + level thread maps\mp\zombies\zombie_boss_oz::zmbaudiobossozplayvo("sentry",0); +} + +//Function Number: 18 +destroyturretonroundend() +{ + self endon("death"); + level common_scripts\utility::waittill_any("game_ended","zombie_wave_interrupt","zombie_boss_wave_ended"); + self notify("death"); +} + +//Function Number: 19 +stationaryturret_spawnenemyturret(param_00,param_01) +{ + var_02 = spawnturret("misc_turret",param_01.origin,param_00); + var_02.angles = param_01.angles; + var_02.owner = undefined; + var_02.health = 1000; + var_02.maxhealth = 1000; + var_02.turrettype = "mg_turret"; + var_02.stunned = 0; + var_02.directhacked = 0; + var_02.stunnedtime = 5; + var_02.issentry = 1; + var_02.weaponinfo = param_00; + var_02.energyturret = 0; + var_02.rocketturret = 0; + var_02.guardian = 0; + var_02.isalive = 1; + var_02 setmodel("npc_sentry_minigun_turret_base"); + var_02 setmode("sentry_manual"); + var_02 setturretteam("axis"); + var_02 setsentryowner(undefined); + var_02 setturretminimapvisible(1,param_00); + var_02 setleftarc(48); + var_02 setrightarc(48); + var_02 setdefaultdroppitch(-89); + var_02.damagefade = 1; + var_02 laseron("trap_zm"); + playfx(common_scripts\utility::getfx("stationary_turret_teleport"),var_02.origin,(1,0,0),(0,0,1)); + var_02 thread stationaryturret_picktarget(); + var_02 thread stationaryturret_shoot(); + var_02 thread stationaryturret_setactive(); + return var_02; +} + +//Function Number: 20 +stationaryturret_shoot() +{ + self endon("death"); + self endon("deleting"); + level endon("game_ended"); + wait(3); + for(;;) + { + wait(0.05); + if(isdefined(self.targetplayer) && isplayer(self.targetplayer) && self.targetplayer.ignoreme) + { + continue; + } + + if(isdefined(self.targetplayer)) + { + if(isdefined(self getturrettarget(1))) + { + var_00 = randomintrange(25,50); + for(var_01 = 0;var_01 < var_00;var_01++) + { + self shootturret(); + wait(0.1); + } + + wait(randomintrange(3,5)); + continue; + } + + wait(randomintrange(1,3)); + } + } +} + +//Function Number: 21 +stationaryturret_picktarget() +{ + self endon("death"); + self endon("deleting"); + level endon("game_ended"); + for(;;) + { + var_00 = turretgetenemy(self,(0,0,40)); + if(!isdefined(self.waitingtodie) && isdefined(var_00)) + { + if(isdefined(var_00.isaerialassaultdrone) && var_00.isaerialassaultdrone) + { + self settargetentity(var_00,(0,0,-20)); + } + else + { + self settargetentity(var_00); + } + + self.targetplayer = var_00; + } + else + { + self cleartargetentity(); + self.targetplayer = undefined; + } + + wait(0.1); + } +} + +//Function Number: 22 +stationaryturret_setactive() +{ + self endon("death"); + self setdefaultdroppitch(0); + self makeunusable(); + self maketurretsolid(); + self.team = "axis"; + self setturretteam("axis"); + thread turrethandledeath(); + thread turretsetupdamagecallback(); +} + +//Function Number: 23 +closedooronturretdeath(param_00) +{ + self waittill("death"); + while(!param_00.open) + { + wait(0.05); + } + + param_00 close_door(); +} + +//Function Number: 24 +init_arena_turret_door() +{ + self.mover = getent(self.target,"targetname"); + self.mover.closed_pos = self.mover.origin; + var_00 = common_scripts\utility::getstruct(self.mover.target,"targetname"); + self.mover.open_pos = var_00.origin; + var_01 = getent(self.mover.target,"targetname"); + var_01 linkto(self.mover); + if(level.nextgen) + { + var_02 = getscriptablearray("light_pluse_turret_mp_zombie_h2o","targetname"); + self.scriptablelight = common_scripts\utility::get_array_of_closest(self.mover.origin,var_02)[0]; + self.scriptablelight setscriptablepartstate(0,0); + } + + self.open = 0; +} + +//Function Number: 25 +open_door() +{ + level endon("game_ended"); + if(level.nextgen) + { + self.scriptablelight setscriptablepartstate(0,1); + } + + self.mover activate_door("open",3); + self.open = 1; +} + +//Function Number: 26 +close_door() +{ + level endon("game_ended"); + if(level.nextgen) + { + self.scriptablelight setscriptablepartstate(0,0); + } + + self.mover activate_door("close",0.5); + self.open = 0; +} + +//Function Number: 27 +activate_door(param_00,param_01) +{ + if(param_00 == "open") + { + self moveto(self.open_pos,param_01); + } + else if(param_00 == "close") + { + self moveto(self.closed_pos,param_01); + } + + self playsound("interact_door"); + wait(param_01); + if(maps\mp\_movers::script_mover_is_dynamic_path()) + { + if(param_00 == "open") + { + self connectpaths(); + return; + } + + if(param_00 == "close") + { + self disconnectpaths(); + return; + } + } +} + +//Function Number: 28 +mountedturret_init() +{ + level._effect["mounted_turret_teleport"] = loadfx("vfx/unique/dlc_teleport_soldier_bad"); + if(!isdefined(level.sentrysettings)) + { + level.sentrysettings = []; + } + + var_00 = "boss_oz_mounted_turret"; + level.sentrysettings[var_00] = spawnstruct(); + level.sentrysettings[var_00].health = 250; + level.sentrysettings[var_00].maxhealth = 250; + level.sentrysettings[var_00].burstmin = 20; + level.sentrysettings[var_00].burstmax = 120; + level.sentrysettings[var_00].pausemin = 0.15; + level.sentrysettings[var_00].pausemax = 0.35; + level.sentrysettings[var_00].sentrymodeon = "sentry_manual"; + level.sentrysettings[var_00].sentrymodeoff = "sentry_offline"; + level.sentrysettings[var_00].timeout = 90; + level.sentrysettings[var_00].spinuptime = 0.05; + level.sentrysettings[var_00].overheattime = 8; + level.sentrysettings[var_00].cooldowntime = 0.1; + level.sentrysettings[var_00].fxtime = 0.3; + level.sentrysettings[var_00].streakname = "sentry"; + level.sentrysettings[var_00].weaponinfo = "boss_oz_mounted_turret_mp"; + level.sentrysettings[var_00].modelbase = "boss_oz_mounted_turret"; + return common_scripts\utility::getstructarray("boss_turret_elevated","targetname"); +} + +//Function Number: 29 +mountedturret_initsentry() +{ + self.sentrytype = "boss_oz_mounted_turret"; + self setleftarc(180); + self setrightarc(180); + self settoparc(89); + self setbottomarc(89); + self setmodel(level.sentrysettings[self.sentrytype].modelbase); + self maketurretinoperable(); + self setdefaultdroppitch(0); + self setcandamage(0); + self.team = "axis"; + self setturretteam("axis"); + self.aimingorg = common_scripts\utility::getstruct(self.target,"targetname"); + self setturretmodechangewait(1); + maps\mp\killstreaks\_autosentry::sentry_setinactive(); +} + +//Function Number: 30 +mountedturret_spawnturret() +{ + self.turret = spawnturret("misc_turret",self.origin,level.sentrysettings["boss_oz_mounted_turret"].weaponinfo); + self.turret.angles = self.angles; + self.turret.weaponinfo = level.sentrysettings["boss_oz_mounted_turret"].weaponinfo; + self.turret setmodel(level.sentrysettings["boss_oz_mounted_turret"].modelbase); + self.turret.target = self.target; + self.turret.targetname = "boss_oz_mounted_turret"; + self.turret mountedturret_initsentry(); + playfx(common_scripts\utility::getfx("mounted_turret_teleport"),self.turret.origin,(1,0,0),(0,0,1)); +} + +//Function Number: 31 +mountedturret_activateturret() +{ + self setmode(level.sentrysettings[self.sentrytype].sentrymodeon); + thread mountedturret_handletargeting(); + self.isalive = 1; + self.health = level.sentrysettings[self.sentrytype].health; + self.maxhealth = level.sentrysettings[self.sentrytype].maxhealth; + self makeunusable(); + self maketurretsolid(); + thread turrethandledeath(); + thread turretsetupdamagecallback(); + self laseron("trap_zm"); +} + +//Function Number: 32 +mountedturret_handletargeting() +{ + self endon("death"); + self endon("deleting"); + self endon("disable_turret"); + level endon("game_ended"); + self.momentum = 0; + self.heatlevel = 0; + self.overheated = 0; + childthread maps\mp\killstreaks\_autosentry::sentry_heatmonitor(); + var_00 = undefined; + for(;;) + { + var_01 = turretgetenemy(self.aimingorg,(0,0,0)); + if(!isdefined(var_00) && isdefined(var_01)) + { + childthread maps\mp\killstreaks\_autosentry::sentry_burstfirestart(); + } + else if(isdefined(var_00) && !isdefined(var_01)) + { + childthread maps\mp\killstreaks\_autosentry::sentry_burstfirestop(); + } + + var_00 = var_01; + if(isdefined(var_01)) + { + self settargetentity(var_01); + } + else + { + self cleartargetentity(); + } + + wait(0.5); + } +} + +//Function Number: 33 +mountedturret_getnumtoactivate() +{ + if(maps\mp\zombies\_util::getnumplayers() <= 2) + { + return 1; + } + + return 2; +} + +//Function Number: 34 +mountedturret_canrunturrettrap(param_00) +{ + var_01 = 0; + foreach(var_03 in param_00.turrets) + { + if(!isdefined(var_03.turret) && isalive(var_03.turret)) + { + var_01++; + } + } + + return var_01 >= mountedturret_getnumtoactivate(); +} + +//Function Number: 35 +mountedturret_runturrettrap(param_00) +{ + var_01 = common_scripts\utility::array_randomize(param_00.turrets); + if(level.currentgen) + { + var_02 = 0; + for(var_03 = 0;var_03 < var_01.size;var_03++) + { + if(isdefined(var_01[var_03].turret) && isalive(var_01[var_03].turret)) + { + var_02++; + } + } + + if(var_02 >= 4) + { + return; + } + } + + var_04 = 0; + for(var_03 = 0;var_03 < var_01.size && var_04 < mountedturret_getnumtoactivate();var_03++) + { + if(!isdefined(var_01[var_03].turret) && isalive(var_01[var_03].turret)) + { + var_01[var_03] mountedturret_spawnturret(); + var_01[var_03].turret mountedturret_activateturret(); + var_01[var_03].turret thread deactivateturretonroundend(); + var_04++; + } + } + + level thread maps\mp\zombies\zombie_boss_oz::zmbaudiobossozplayvo("turret",0); +} + +//Function Number: 36 +deactivateturretonroundend() +{ + self endon("death"); + level common_scripts\utility::waittill_any("game_ended","zombie_wave_interrupt","zombie_boss_wave_ended"); + self cleartargetentity(); + self laseroff(); + self notify("disable_turret"); + mountedturret_initsentry(); +} + +//Function Number: 37 +aeriallaser_init() +{ + var_00 = getentarray("boss_oz_air_laser","targetname"); + foreach(var_02 in var_00) + { + var_03 = common_scripts\utility::getstructarray(var_02.target,"targetname"); + var_02.laser_ents = []; + foreach(var_05 in var_03) + { + var_02.laser_ents[var_02.laser_ents.size] = setup_laser_trap(var_05); + } + + var_02.enabled = 0; + } + + return var_00; +} + +//Function Number: 38 +setup_laser_trap(param_00) +{ + var_01 = spawn("script_model",param_00.origin); + var_01.angles = param_00.angles; + var_01.start_origin = var_01.origin; + var_01.start_angles = var_01.angles; + var_01 setmodel("tag_laser"); + return var_01; +} + +//Function Number: 39 +aeriallaser_istrapactive(param_00) +{ + foreach(var_02 in param_00.lasers) + { + if(var_02.enabled) + { + return 1; + } + } + + return 0; +} + +//Function Number: 40 +aeriallaser_canruntrap(param_00) +{ + return !aeriallaser_istrapactive(param_00); +} + +//Function Number: 41 +aeriallaser_runtrap(param_00,param_01,param_02,param_03) +{ + level thread aeriallaser_fx(param_01,param_02); + foreach(var_05 in param_00.lasers) + { + var_05 thread start_laser(param_01,param_02); + } + + if(!isdefined(param_03)) + { + level thread maps\mp\zombies\zombie_boss_oz::zmbaudiobossozplayvo("laser",0); + } +} + +//Function Number: 42 +aeriallaser_gettriggers(param_00) +{ + return param_00.lasers; +} + +//Function Number: 43 +aeriallaser_fx(param_00,param_01) +{ + var_02 = 91; + var_03 = 92; + activatepersistentclientexploder(var_02); + var_04 = waittilltimeorroundend(param_00); + if(var_04) + { + stopclientexploder(var_02); + activatepersistentclientexploder(var_03); + waittilltimeorroundend(param_01); + stopclientexploder(var_03); + return; + } + + stopclientexploder(var_02); +} + +//Function Number: 44 +start_laser(param_00,param_01) +{ + self.enabled = 1; + start_laser_sounds(); + var_02 = waittilltimeorroundend(param_00); + if(var_02) + { + childthread start_laser_damage(); + waittilltimeorroundend(param_01); + } + + stop_laser_sounds(); + self notify("cooldown"); + self.enabled = 0; +} + +//Function Number: 45 +start_laser_damage() +{ + self endon("cooldown"); + for(;;) + { + self waittill("trigger",var_00); + if(isplayer(var_00)) + { + if(isdefined(var_00.nextlasertrapdamagetime) && var_00.nextlasertrapdamagetime > gettime()) + { + continue; + } + + var_00.nextlasertrapdamagetime = gettime() + 2500; + var_00 dodamage(40,var_00.origin,undefined,undefined,"MOD_TRIGGER_HURT"); + if(isdefined(var_00.exosuitonline) && var_00.exosuitonline && !isdefined(var_00.nextlasertrapemptime) && var_00.nextlasertrapemptime > gettime()) + { + var_00.nextlasertrapemptime = gettime() + 2500; + var_00 thread maps\mp\zombies\_mutators::mutatoremz_applyemp(); + playfx(level._effect["mut_emz_attack_sm"],var_00.origin); + var_00 playlocalsound("zmb_emz_impact"); + } + } + } +} + +//Function Number: 46 +start_laser_sounds() +{ + playsoundatpos((0,0,0),"zom_boss_grid_trap_on"); + foreach(var_01 in self.laser_ents) + { + } +} + +//Function Number: 47 +stop_laser_sounds() +{ + playsoundatpos((0,0,0),"zom_boss_grid_trap_off"); + foreach(var_01 in self.laser_ents) + { + } +} + +//Function Number: 48 +electrotrap_init() +{ + level._effect["trap_electric_floor_shock_warning"] = loadfx("vfx/map/mp_zombie_h2o/electrified_floor_warning"); + level._effect["trap_electric_floor_shock_active"] = loadfx("vfx/map/mp_zombie_brg/electrified_floor"); + var_00 = common_scripts\utility::getstructarray("trap_electricity","targetname"); + foreach(var_02 in var_00) + { + var_02.damage_triggers = []; + var_02.fx_structs = []; + var_02.enabled = 0; + var_03 = common_scripts\utility::array_combine(getentarray(var_02.target,"targetname"),common_scripts\utility::getstructarray(var_02.target,"targetname")); + foreach(var_05 in var_03) + { + if(var_05.script_noteworthy == "damage_over_time") + { + var_02.damage_triggers[var_02.damage_triggers.size] = var_05; + continue; + } + + if(var_05.script_noteworthy == "fx_trap") + { + var_02.fx_structs[var_02.fx_structs.size] = var_05; + } + } + } + + return var_00; +} + +//Function Number: 49 +electrotrap_istrapactive(param_00) +{ + foreach(var_02 in param_00.electricity) + { + if(var_02.enabled) + { + return 1; + } + } + + return 0; +} + +//Function Number: 50 +electrotrap_canruntrap(param_00) +{ + return !electrotrap_istrapactive(param_00); +} + +//Function Number: 51 +electrotrap_runtrap(param_00,param_01,param_02,param_03) +{ + thread electrotrap_startelectricity(param_00.electricity,param_01,param_02); + if(!isdefined(param_03)) + { + level thread maps\mp\zombies\zombie_boss_oz::zmbaudiobossozplayvo("elect",0); + } +} + +//Function Number: 52 +electrotrap_startelectricity(param_00,param_01,param_02) +{ + var_03 = common_scripts\utility::array_randomize(param_00); + var_03 = common_scripts\utility::array_combine(var_03,var_03); + foreach(var_05 in param_00) + { + var_05 start_electricity_warning_fx(); + } + + var_07 = waittilltimeorroundend(param_01); + foreach(var_05 in param_00) + { + var_05 stop_electricity_fx(); + } + + if(!var_07) + { + return; + } + + foreach(var_05 in var_03) + { + var_05.enabled = 1; + foreach(var_0C in var_05.damage_triggers) + { + var_0C thread start_electricity_damage(); + } + + var_05 start_electricity_fx(); + var_05 start_electricity_sound(); + var_07 = waittilltimeorroundend(param_02 / 4); + foreach(var_0C in var_05.damage_triggers) + { + var_0C stop_electricity_damage(); + } + + var_05 stop_electricity_fx(); + var_05 stop_electricity_sound(); + var_05.enabled = 0; + if(!var_07) + { + return; + } + } +} + +//Function Number: 53 +start_electricity_damage() +{ + self endon("cooldown"); + for(;;) + { + self waittill("trigger",var_00); + if(isplayer(var_00)) + { + if(isdefined(var_00.nextelectricitytrapdamagetime) && var_00.nextelectricitytrapdamagetime > gettime()) + { + continue; + } + + var_00.nextelectricitytrapdamagetime = gettime() + 1000; + var_00 dodamage(17,var_00.origin,undefined,undefined,"MOD_TRIGGER_HURT"); + } + } +} + +//Function Number: 54 +stop_electricity_damage() +{ + self notify("cooldown"); +} + +//Function Number: 55 +start_electricity_warning_fx() +{ + foreach(var_01 in self.fx_structs) + { + var_01.fx = spawnfx(common_scripts\utility::getfx("trap_electric_floor_shock_warning"),var_01.origin,anglestoforward(var_01.angles),anglestoup(var_01.angles)); + triggerfx(var_01.fx); + } +} + +//Function Number: 56 +start_electricity_fx() +{ + foreach(var_01 in self.fx_structs) + { + var_01.fx = spawnfx(common_scripts\utility::getfx("trap_electric_floor_shock_active"),var_01.origin,anglestoforward(var_01.angles),anglestoup(var_01.angles)); + triggerfx(var_01.fx); + } +} + +//Function Number: 57 +stop_electricity_fx() +{ + foreach(var_01 in self.fx_structs) + { + var_01.fx delete(); + } +} + +//Function Number: 58 +start_electricity_sound() +{ + self.electricity_sound = spawn("script_origin",self.origin); + playsoundatpos(self.electricity_sound.origin,"electric_floor_start"); + self.electricity_sound playloopsound("electric_floor_loop"); +} + +//Function Number: 59 +stop_electricity_sound() +{ + playsoundatpos(self.electricity_sound.origin,"electric_floor_stop"); + self.electricity_sound scalevolume(0,0.25); + wait(0.25); + self.electricity_sound stoploopsound(); + wait 0.05; + self.electricity_sound delete(); +} + +//Function Number: 60 +gastrap_init() +{ + var_00 = getentarray("boss_oz_gas","targetname"); + foreach(var_02 in var_00) + { + var_02.enabled = 0; + } + + return var_00; +} + +//Function Number: 61 +gastrap_istrapactive(param_00) +{ + foreach(var_02 in param_00.gas) + { + if(var_02.enabled) + { + return 1; + } + } + + return 0; +} + +//Function Number: 62 +gastrap_canruntrap(param_00) +{ + return !gastrap_istrapactive(param_00); +} + +//Function Number: 63 +gastrap_runtrap(param_00,param_01,param_02,param_03) +{ + foreach(var_05 in param_00.gas) + { + var_05 thread start_gas(param_01,param_02); + } + + if(!isdefined(param_03)) + { + level thread maps\mp\zombies\zombie_boss_oz::zmbaudiobossozplayvo("gas",0); + } +} + +//Function Number: 64 +gastrap_gettriggers(param_00) +{ + return param_00.gas; +} + +//Function Number: 65 +start_gas(param_00,param_01) +{ + self.enabled = 1; + start_gas_fx(); + var_02 = waittilltimeorroundend(param_00); + if(var_02) + { + childthread start_gas_damage(); + waittilltimeorroundend(param_01); + } + + stop_gas_fx(); + self notify("cooldown"); + self.enabled = 0; +} + +//Function Number: 66 +start_gas_fx() +{ + activatepersistentclientexploder(90); + playsoundatpos((0,0,0),"zom_boss_gas_trap_on"); +} + +//Function Number: 67 +stop_gas_fx() +{ + stopclientexploder(90); + playsoundatpos((0,0,0),"zom_boss_gas_trap_off"); +} + +//Function Number: 68 +start_gas_damage() +{ + self endon("cooldown"); + for(;;) + { + self waittill("trigger",var_00); + if(isplayer(var_00)) + { + if(isdefined(var_00.nextgastrapdamagetime) && var_00.nextgastrapdamagetime > gettime()) + { + continue; + } + + var_00.nextgastrapdamagetime = gettime() + 2000; + if(!var_00 maps\mp\_utility::isjuggernaut() && !maps\mp\zombies\_util::isplayerinlaststand(var_00)) + { + if(!maps\mp\zombies\_util::isplayerinfected(var_00) && !var_00 isgod()) + { + var_00 thread maps\mp\zombies\_zombies_laststand::hostzombielaststand(); + var_00.lastinfectdamagetime = gettime(); + continue; + } + + var_00 dodamage(50,var_00.origin,undefined,undefined,"MOD_TRIGGER_HURT"); + } + } + } +} + +//Function Number: 69 +zombietrap_canruntrap(param_00) +{ + return 1; +} + +//Function Number: 70 +zombietrap_runtrap(param_00) +{ + var_01 = getarraykeys(level.special_mutators); + var_01[var_01.size] = "zombie_dog"; + var_01[var_01.size] = "zombie_host"; + level.nextbosswavezombietype = common_scripts\utility::random(var_01); + var_02["limitedSpawns"] = 1; + var_02["forceSpawnDelay"] = 1; + if(level.nextbosswavezombietype == "zombie_dog" || level.nextbosswavezombietype == "zombie_host") + { + var_02["overrideSpawnType"] = level.nextbosswavezombietype; + level childthread maps\mp\zombies\zombies_spawn_manager::spawnzombies(zombietrap_getnumzombiestospawn(),0.05,var_02); + } + else + { + var_02["mutatorFunc"] = ::zombietrap_applymutator; + level childthread maps\mp\zombies\zombies_spawn_manager::spawnzombies(zombietrap_getnumzombiestospawn(),0.05,var_02); + } + + if(level.nextbosswavezombietype == "zombie_dog") + { + level thread maps\mp\zombies\zombie_boss_oz::zmbaudiobossozplayvo("dog",0); + return; + } + + if(level.nextbosswavezombietype == "zombie_host") + { + level thread maps\mp\zombies\zombie_boss_oz::zmbaudiobossozplayvo("host",0); + return; + } + + if(issubstr(level.nextbosswavezombietype,"combo")) + { + level thread maps\mp\zombies\zombie_boss_oz::zmbaudiobossozplayvo("mut",0); + return; + } + + level thread maps\mp\zombies\zombie_boss_oz::zmbaudiobossozplayvo("zomb",0); +} + +//Function Number: 71 +zombietrap_applymutator(param_00) +{ + param_00 thread maps\mp\zombies\_mutators::mutator_apply("exo"); + param_00 thread maps\mp\zombies\_mutators::mutator_apply(level.nextbosswavezombietype); +} + +//Function Number: 72 +zombietrap_getnumzombiestospawn() +{ + var_00 = maps\mp\zombies\zombie_boss_oz_stage1::getstage1phase(); + var_01 = 1; + if(var_00 == 2) + { + var_01 = 2; + } + else if(var_00 == 3) + { + var_01 = 3; + } + + return int(var_01 * maps\mp\zombies\_util::getnumplayers()); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/zombie_boss_oz_stage2.gsc b/AW/PC/maps/mp/zombies/zombie_boss_oz_stage2.gsc new file mode 100644 index 0000000..fbbff45 --- /dev/null +++ b/AW/PC/maps/mp/zombies/zombie_boss_oz_stage2.gsc @@ -0,0 +1,1834 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\zombie_boss_oz_stage2.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 87 + * Decompile Time: 1492 ms + * Timestamp: 4/22/2024 2:15:06 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level.agent_funcs["zombie_boss_oz_stage2"] = level.agent_funcs["zombie"]; + level.agent_funcs["zombie_boss_oz_stage2"]["think"] = ::zombie_boss_oz_stage2_think; + level.agent_funcs["zombie_boss_oz_stage2"]["on_killed"] = ::onbossozstage2killed; + level.agent_funcs["zombie_boss_oz_stage2"]["spawn"] = ::onzombiebossozstage2spawn; + var_00[0] = ["zom_oz_boss_stage2"]; + var_01 = spawnstruct(); + var_01.agent_type = "zombie_boss_oz_stage2"; + var_01.animclass = "zombie_boss_oz_stage2_animclass"; + var_01.model_bodies = var_00; + var_01.health_scale = 45; + var_01.meleedamage = 250; + var_01.damagescalevssquadmates = 1.5; + var_01.spawnparameter = "zombie_boss_oz_stage2"; + maps\mp\zombies\_util::agentclassregister(var_01,"zombie_boss_oz_stage2"); + level.runwavefunc["zombie_boss_oz_stage2"] = ::bossozstage2runwave; + level.mutatorfunc["zombie_boss_oz_stage2"] = ::bossozstage2postspawn; + level.movemodefunc["zombie_boss_oz_stage2"] = ::bossozstage2calculatemovemode; + level.moveratescalefunc["zombie_boss_oz_stage2"] = ::bossozstage2calculatemoveratescale; + level.nonmoveratescalefunc["zombie_boss_oz_stage2"] = ::bossozstage2calculatenonmoveratescale; + level.traverseratescalefunc["zombie_boss_oz_stage2"] = ::bossozstage2calculatetraverseratescale; + level.candroppickupsfunc["zombie_boss_oz_stage2"] = ::bossozstage2roundcandroppickups; + level.trycalculatesectororigin["zombie_boss_oz_stage2"] = ::bossozstage2trycalculatesectororigin; + level.getradiusandheight["zombie_boss_oz_stage2"] = ::bossozstage2getradiusandheight; + level.roundspawndelayfunc["zombie_boss_oz_stage2"] = ::bossozstage2getzombiespawndelay; + level.hostcurefuncoverride["zombie_boss_oz_stage2"] = ::bossozstage2curestationactivated; + level.modifydamagebyagenttype["zombie_boss_oz_stage2"] = ::bossozstage2modifydamage; + level.modifyequipmentdamagebyagenttype["zombie_boss_oz_stage2"] = ::bossozstage2modifyplayerequipmentdamage; + level.modifyweapondamagebyagenttype["zombie_boss_oz_stage2"]["iw5_fusionzm_mp"] = ::bossozstage2modifycauterizerdamage; + level.modifyweapondamagebyagenttype["zombie_boss_oz_stage2"]["iw5_rhinozm_mp"] = ::bossozstage2modifys12damage; + level.modifyweapondamagebyagenttype["zombie_boss_oz_stage2"]["iw5_linegunzm_mp"] = ::bossozstage2modifylinegundamage; + level.modifyweapondamagebyagenttype["zombie_boss_oz_stage2"]["iw5_mahemzm_mp"] = ::bossozstage2modifymahemdamage; + level.modifyweapondamagebyagenttype["zombie_boss_oz_stage2"]["iw5_gm6zm_mp"] = ::bossozstage2modifylynxdamage; + level.modifyweapondamagebyagenttype["zombie_boss_oz_stage2"]["iw5_tridentzm_mp"] = ::bossozstage2modifytridentdamage; + level._effect["oz_stage2_teleport"] = loadfx("vfx/unique/dlc_teleport_soldier_bad"); + level._effect["zombie_boss_oz_stage2_emp"] = loadfx("vfx/explosion/emp_grenade_lrg_mp"); + level._effect["oz_stage2_destroy_pillar"] = loadfx("vfx/map/lagos/lag_roundabout_tanker_explosion"); + level._effect["zombie_eye_boss_oz"] = loadfx("vfx/gameplay/mp/zombie/zombie_eye_boss_oz"); + level._effect["zombie_eye_boss_oz_fade"] = loadfx("vfx/gameplay/mp/zombie/zombie_eye_boss_oz_fade"); + level._effect["oz_stage2_blood_spit_death"] = loadfx("vfx/map/mp_zombie_h2o/h2o_boss_blood_spit"); + level._effect["oz_stage2_blood_spit_loop"] = loadfx("vfx/map/mp_zombie_h2o/h2o_boss_blood_spit_lp"); + createthreatbiasgroup("zombie_boss_oz_stage2"); + createthreatbiasgroup("non_infected_players"); + createthreatbiasgroup("infected_players"); + setignoremegroup("zombie_boss_oz_stage2","infected_players"); + setignoremegroup("infected_players","zombie_boss_oz_stage2"); +} + +//Function Number: 2 +bossozstage2getzombiespawndelay(param_00,param_01) +{ + var_02 = 12; + var_03 = [1,0.75,0.66,0.5]; + var_04 = int(clamp(maps\mp\zombies\_util::getnumplayers() - 1,0,3)); + var_05 = var_03[var_04]; + var_06 = maps\mp\zombies\_util::lerp(level.bossozstage2.health / level.bossozstage2.maxhealth,0.5,1); + var_07 = var_02 * var_05 * var_06; + return var_07; +} + +//Function Number: 3 +bossozstage2runwave(param_00) +{ + level endon("game_ended"); + level endon("zombie_wave_interrupt"); + maps\mp\zombies\zombie_boss_oz::initpillars(); + thread maps\mp\mp_zombie_h2o_aud::sndbossozstartstage2(); + level.zombie_spawning_active = 1; + level.zombie_wave_running = 1; + wait(2); + level.totalaispawned = 0; + level.maxenemycount = maps\mp\zombies\zombies_spawn_manager::getmaxenemycount(); + level.bossozstage2 = maps\mp\zombies\zombies_spawn_manager::spawnzombietype("zombie_boss_oz_stage2",undefined,undefined,"zombie_eye_boss_oz"); + level.bossozstage2 playsound("zmb_gol_round_start_front"); + wait(2); + level thread maps\mp\zombies\zombie_boss_oz::zmbaudioplayervo("oz2",0); + level.bossozstage2 waittill("death"); + level notify("boss_oz_killed"); + level notify("stop_all_boss_traps"); + wait(5); + level notify("zombie_stop_spawning"); + level notify("zombie_boss_wave_ended"); + level notify("zombie_boss_stage2_ended"); + level waittill("zombie_wave_ended"); + level.zombie_wave_running = 0; +} + +//Function Number: 4 +bossozstage2disableai() +{ + self.disablemissile = 1; + self.ignoreall = 1; + self.ignoreme = 1; +} + +//Function Number: 5 +bossozstage2enableai() +{ + self.disablemissile = 0; + self.ignoreall = 0; + self.ignoreme = 0; +} + +//Function Number: 6 +bossozstage2teleportout() +{ + self.inpain = 0; + self.incurestationstun = 0; + playfx(common_scripts\utility::getfx("oz_stage2_teleport"),self.origin,(1,0,0),(0,0,1)); + bossozstage2disableai(); + self hide(); + self scragentsetphysicsmode("noclip"); + var_00 = common_scripts\utility::getstructarray("boss_oz_spot","targetname"); + self setorigin(var_00[0].origin,1); + self scragentsetgoalpos(self.origin); +} + +//Function Number: 7 +bossozstage2teleportbackin(param_00) +{ + maps\mp\zombies\_util::waittillzombiegameunpaused(); + var_01 = maps\mp\zombies\zombie_boss_oz::getrandomactivepillar(); + var_02 = var_01; + playfx(common_scripts\utility::getfx("oz_stage2_destroy_pillar"),var_01.origin); + var_01 maps\mp\zombies\zombie_boss_oz::destroypillar(); + playsoundatpos(var_01.origin,"oz_s1_location_destroyed"); + earthquake(0.6,1,var_01.origin,10000); + wait(0.5); + self setorigin(var_02.origin,1); + var_03 = common_scripts\utility::random(level.players); + var_04 = vectortoangles(var_03.origin - var_02.origin); + self setplayerangles(var_04); + self.angles = var_04; + self scragentsetorientmode("face angle abs",(0,var_04[1],0)); + playfx(common_scripts\utility::getfx("oz_stage2_teleport"),var_02.origin,(1,0,0),(0,0,1)); + self scragentsetgoalpos(var_02.origin); + self playsound("zmb_gol_round_start_front"); + self show(); + self scragentsetphysicsmode("gravity"); + wait(0.05); + bossozstage2startfx(); + var_05 = "teleport_in"; + if(isdefined(param_00)) + { + var_05 = param_00; + } + + bossozstage2playscriptedanim(var_05,var_04); + bossozstage2enableai(); + self.godmode = 0; +} + +//Function Number: 8 +bossozstage2playscriptedanim(param_00,param_01) +{ + self scragentsetscripted(1); + self scragentsetanimmode("anim deltas"); + if(isdefined(param_01)) + { + self scragentsetorientmode("face angle abs",(0,param_01[1],0)); + } + else + { + self scragentsetorientmode("face angle abs",(0,self.angles[1],0)); + } + + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(1,"OzS2Scripted"); + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe(param_00,0,1,"scripted_anim"); + self scragentsetscripted(0); + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(0,"OzS2Scripted"); +} + +//Function Number: 9 +bossozstage2startfx() +{ + maps\mp\zombies\_util::zombie_set_eyes("zombie_eye_boss_oz"); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("oz_stage2_blood_spit_loop"),self,"J_Head"); +} + +//Function Number: 10 +bossozstage2_100percentsequence() +{ + bossozstage2_enableinvulnerability(); + var_00 = vectortoangles(level.bossozstage2roomcenter - self.origin); + wait(0.5); + self.threats = level.players; + updateweaponfiring(); + bossozstage2playscriptedanim("spawn",var_00); + bossozstage2_enableinvulnerability(); + bossozstage2teleportout(); + wait(7.5); + bossozstage2teleportbackin(); + self.playedsequence[100] = 1; +} + +//Function Number: 11 +bossozstage2_75percentsequence() +{ + bossozstage2_enableinvulnerability(); + self notify("cancel_stun"); + bossozstage2waituntiloutofcurestationstun(); + bossozstage2disableai(); + self playsound("zmb_gol_round_start_front"); + bossozstage2playscriptedanim("teleport_out"); + bossozstage2teleportout(); + bossozspawnintermissionzombies(); + bossozstage2_waitforintermissionzombiesortimeout(35); + bossozstage2teleportbackin(); + self.playedsequence[75] = 1; + foreach(var_01 in level.players) + { + var_01 thread maps\mp\_matchdata::loggameevent("zm_boss_phase1",var_01.origin); + } + + wait(1); +} + +//Function Number: 12 +bossozstage2_50percentsequence() +{ + bossozstage2_enableinvulnerability(); + self notify("cancel_stun"); + bossozstage2waituntiloutofcurestationstun(); + bossozstage2disableai(); + self playsound("zmb_gol_round_start_front"); + bossozstage2playscriptedanim("teleport_out"); + bossozstage2teleportout(); + bossozstage2startinvalidationtrap("gas",5,9999); + bossozspawnintermissionzombies(); + bossozstage2_waitforintermissionzombiesortimeout(35); + bossozstage2teleportbackin("taunt"); + self.playedsequence[50] = 1; + foreach(var_01 in level.players) + { + var_01 thread maps\mp\_matchdata::loggameevent("zm_boss_phase2",var_01.origin); + } + + wait(1); + maps\mp\zombies\zombie_boss_oz::startinfinitezombiespawning(); +} + +//Function Number: 13 +bossozstage2_25percentsequence() +{ + bossozstage2_enableinvulnerability(); + self notify("cancel_stun"); + bossozstage2waituntiloutofcurestationstun(); + bossozstage2disableai(); + self playsound("zmb_gol_round_start_front"); + bossozstage2playscriptedanim("teleport_out"); + bossozstage2teleportout(); + bossozstage2startinvalidationtrap("aerial_lasers",5,9999); + bossozspawnintermissionzombies(); + bossozstage2_waitforintermissionzombiesortimeout(35); + bossozstage2teleportbackin(); + self.playedsequence[25] = 1; + foreach(var_01 in level.players) + { + var_01 thread maps\mp\_matchdata::loggameevent("zm_boss_phase3",var_01.origin); + } + + wait(1); +} + +//Function Number: 14 +bossozstage2_enableinvulnerability() +{ + self.godmode = 1; + setomnvar("ui_zm_fight_shield",1); +} + +//Function Number: 15 +bossozspawnintermissionzombies() +{ + var_00 = 1; + if(var_00) + { + var_01["limitedSpawns"] = 1; + var_01["forceSpawnDelay"] = 1; + var_01["notifyWhenFinished"] = "finished_intermission_zombies"; + level childthread maps\mp\zombies\zombies_spawn_manager::spawnzombies(6 * maps\mp\zombies\_util::getnumplayers(),4 / maps\mp\zombies\_util::getnumplayers(),var_01); + } +} + +//Function Number: 16 +bossozstage2_waitforintermissionzombies() +{ + level endon("cancel_intermission_zombies"); + level waittill("finished_intermission_zombies"); + while(maps\mp\zombies\zombies_spawn_manager::zombiesarealive("zombie_generic")) + { + wait 0.05; + } + + level notify("cancel_intermission_zombies"); +} + +//Function Number: 17 +bossozstage2_waitforintermissionzombiesortimeout(param_00) +{ + level endon("cancel_intermission_zombies"); + level thread bossozstage2_waitforintermissionzombies(); + wait(param_00); + level notify("cancel_intermission_zombies"); +} + +//Function Number: 18 +bossozstage2roundcandroppickups(param_00) +{ + return 0; +} + +//Function Number: 19 +onzombiebossozstage2spawn(param_00,param_01,param_02) +{ + maps\mp\zombies\_util::onspawnscriptagenthumanoid(param_00,param_01,param_02); + playfx(common_scripts\utility::getfx("oz_stage2_teleport"),param_00,(1,0,0),(0,0,1)); + self scragentsetspecies("mech"); + self scragentallowboost(1); + thread bossozhealthbar(); + level notify("onZombiebossOzStage2Spawn",self); +} + +//Function Number: 20 +bossozstage2postspawn(param_00) +{ + param_00 scragentsetclipmode("agent"); + var_01 = int(param_00.health * maps\mp\zombies\_util::getnumplayers()); + param_00 maps\mp\agents\_agent_common::set_agent_health(var_01); + setomnvar("ui_zm_fight_health_max",var_01); + setomnvar("ui_zm_fight_health_current",var_01); + param_00 setthreatbiasgroup("zombie_boss_oz_stage2"); + level thread bossozstage2playerthreats(); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("oz_stage2_blood_spit_loop"),param_00,"J_Head"); + param_00.postspawnfinished = 1; +} + +//Function Number: 21 +bossozstage2playerthreats() +{ + level endon("game_ended"); + level endon("zombie_wave_ended"); + for(;;) + { + var_00 = []; + var_01 = []; + var_02 = []; + foreach(var_04 in level.players) + { + if(maps\mp\zombies\_util::isplayerinfected(var_04)) + { + var_01[var_01.size] = var_04; + continue; + } + + if(var_04 maps\mp\_utility::isjuggernaut()) + { + var_00[var_00.size] = var_04; + continue; + } + + var_02[var_02.size] = var_04; + } + + var_06 = []; + var_07 = []; + if(var_02.size > 0) + { + var_06 = var_02; + var_07 = common_scripts\utility::array_combine(var_01,var_00); + } + else if(var_00.size > 0) + { + var_06 = var_00; + var_07 = var_01; + } + else + { + var_06 = var_01; + } + + foreach(var_04 in var_06) + { + var_04 setthreatbiasgroup("non_infected_players"); + } + + foreach(var_04 in var_07) + { + var_04 setthreatbiasgroup("infected_players"); + } + + var_0C = level common_scripts\utility::waittill_any_return("connected","player_disconnected","player_infected","player_cured","player_left_goliath_suit"); + if(isdefined(var_0C) && var_0C == "connected") + { + wait 0.05; + } + } +} + +//Function Number: 22 +setupbossozstage2state() +{ + self.attackoffset = 70 + self.radius; + self.meleesectortype = "large"; + self.meleesectorupdatetime = 200; + self.attackzheight = 54; + self.attackzheightdown = -64; + self.damagedradiussq = 2250000; + self.ignoreclosefoliage = 1; + self.moveratescale = 1.15; + self.nonmoveratescale = 1; + self.traverseratescale = 1.15; + self.generalspeedratescale = 1.15; + self.bhasbadpath = 0; + self.bhasnopath = 1; + self.timeoflastdamage = 0; + self.allowcrouch = 1; + self.meleecheckheight = 80; + self.meleeradiusbase = 120; + self.meleeradiusbasesq = squared(self.meleeradiusbase); + maps\mp\zombies\_util::setmeleeradius(self.meleeradiusbase); + self.defaultgoalradius = self.radius + 1; + self scragentsetgoalradius(self.defaultgoalradius); + self.meleedot = 0.5; + self.ignoreexpiretime = 1; + self.ignorezombierecycling = 1; + self.hastraversed = 1; + self.nopickups = 1; + self.ignorescamouflage = 1; + self.noheadshotpainreaction = 1; + self.lastcurestationstun = 0; + self.resistanttosquadmatedamage = 1; + self.neverimmediatelyragdoll = 1; + self.nodamageself = 1; + maps\mp\agents\humanoid\_humanoid_util::lungemeleeupdate(7.5,self.meleeradiusbase * 2.5,self.meleeradiusbase * 1.5,"attack_lunge_boost",level._effect["boost_lunge"]); + maps\mp\agents\humanoid\_humanoid_util::lungemeleeenable(); + maps\mp\agents\humanoid\_humanoid_util::leapupdate(5,2,0.6,800,self.meleeradiusbase * 2.5,"leap_boost",level._effect["boost_jump"]); + maps\mp\agents\humanoid\_humanoid_util::leapenable(); + self.animcbs.onenter["melee"] = ::bossozstage2_melee; + self.boostfxtag = "no_boost_fx"; + self.spinattackready = 0; + self.lastbigattacktime = 0; + self.shouldplaystophitreactionfunc = ::bossozstage2shouldplaystophitreaction; + self.gethitreactiondamagethresholdfunc = ::getpainthreshold; + self.getleaptargetpointfunc = ::bossozstage2getleaptarget; +} + +//Function Number: 23 +bossozcheckspecialsequence() +{ + if(self.health / self.maxhealth <= 1 && !isdefined(self.playedsequence[100])) + { + bossozstage2_100percentsequence(); + return 1; + } + + if(self.health / self.maxhealth <= 0.75 && !isdefined(self.playedsequence[75])) + { + bossozstage2_75percentsequence(); + return 1; + } + + if(self.health / self.maxhealth <= 0.5 && !isdefined(self.playedsequence[50])) + { + bossozstage2_50percentsequence(); + return 1; + } + + if(self.health / self.maxhealth <= 0.25 && !isdefined(self.playedsequence[25])) + { + bossozstage2_25percentsequence(); + return 1; + } + + return 0; +} + +//Function Number: 24 +zombie_boss_oz_stage2_think() +{ + self endon("death"); + level endon("game_ended"); + self endon("owner_disconnect"); + maps\mp\agents\humanoid\_humanoid::setuphumanoidstate(); + setupbossozstage2state(); + thread maps\mp\zombies\_zombies::zombie_speed_monitor(); + thread maps\mp\zombies\_util::waitforbadpath(); + thread maps\mp\zombies\zombie_generic::zombie_generic_moan(); + thread maps\mp\zombies\zombie_generic::zombie_audio_monitor(); + thread maps\mp\zombies\_zombies::updatebuffs(); + thread maps\mp\zombies\_zombies::updatepainsensor(); + thread collidewithnearbyzombies(); + thread updatebossozstage2spinattackcooldown(); + thread updatemissiletargets(); + thread updateweaponstate(); + self.playedsequence = []; + while(!maps\mp\zombies\_util::is_true(self.postspawnfinished)) + { + wait(0.05); + } + + for(;;) + { + if(bossozcheckspecialsequence()) + { + continue; + } + + if(isdefined(self.isscripted)) + { + wait(0.05); + continue; + } + + if(bossozstage2_begin_melee()) + { + wait(0.05); + continue; + } + + if(bossozstage2_destroy_distraction_drone()) + { + wait(0.05); + continue; + } + + if(maps\mp\zombies\_behavior::humanoid_seek_enemy_melee(1)) + { + wait(0.05); + continue; + } + + if(maps\mp\zombies\_behavior::humanoid_seek_enemies_all_known()) + { + wait(0.05); + continue; + } + + maps\mp\zombies\_behavior::humanoid_seek_random_loc(); + wait(0.05); + } +} + +//Function Number: 25 +bossozstage2_begin_melee() +{ + if(self.ignoreall) + { + return 0; + } + + if(!isdefined(self.curmeleetarget)) + { + return 0; + } + + if(self.aistate == "melee" || maps\mp\agents\_scripted_agent_anim_util::isstatelocked()) + { + return 0; + } + + if(!maps\mp\zombies\_util::has_entered_game()) + { + return 0; + } + + if(maps\mp\agents\humanoid\_humanoid::wanttoattacktargetbutcant()) + { + return 0; + } + + if(maps\mp\agents\humanoid\_humanoid::didpastmeleefail()) + { + return 0; + } + + var_00 = maps\mp\zombies\_util::is_true(self.lungemeleeenabled) && isdefined(self.lungelast) && gettime() - self.lungelast <= self.lungedebouncems; + if(maps\mp\agents\humanoid\_humanoid::didpastlungemeleefail() || var_00) + { + if(!maps\mp\agents\humanoid\_humanoid::readytomeleetarget("base")) + { + return 0; + } + } + else if(!maps\mp\agents\humanoid\_humanoid::readytomeleetarget("normal")) + { + return 0; + } + + if(isdefined(self.meleedebouncetime)) + { + var_01 = gettime() - self.lastmeleefinishtime; + if(var_01 < self.meleedebouncetime * 1000) + { + return 0; + } + } + + if(!isdefined(self.lastmeleepos) || distancesquared(self.lastmeleepos,self.origin) > self.meleeradiusbasesq * 1.5 * 1.5) + { + self.meleemovemode = self.movemode; + } + + self scragentbeginmelee(self.curmeleetarget); + return 1; +} + +//Function Number: 26 +bossozstage2_destroy_distraction_drone() +{ + if(!isdefined(self.distractiondrone)) + { + return 0; + } + + if(self.ignoreall) + { + return 0; + } + + if(self.aistate == "melee" || maps\mp\agents\_scripted_agent_anim_util::isstatelocked()) + { + return 0; + } + + if(!maps\mp\zombies\_util::has_entered_game()) + { + return 0; + } + + var_00 = lengthsquared(self.distractiondrone.origin - self.origin); + if(var_00 > squared(120)) + { + return 0; + } + + if(length(self getvelocity()) > 0) + { + return 0; + } + + self.curmeleetarget = self.distractiondrone; + self scragentbeginmelee(self.distractiondrone); + return 1; +} + +//Function Number: 27 +bossozstage2_melee() +{ + self endon("death"); + self endon("killanimscript"); + self.curmeleetarget endon("disconnect"); + if(isdefined(self.distractiondrone) && self.distractiondrone == self.curmeleetarget) + { + childthread bossozstage2attackstandard(self.curmeleetarget,self.curmeleetarget.origin); + self waittill("cancel_updatelerppos"); + self.distractiondrone maps\mp\zombies\weapons\_zombie_distraction_drone::destroydrone(1); + return; + } + + var_00 = maps\mp\agents\humanoid\_humanoid::getmeleeattackpoint(self.curmeleetarget); + if(maps\mp\agents\humanoid\_humanoid_melee::ismeleeblocked()) + { + return maps\mp\agents\humanoid\_humanoid_melee::meleefailed(); + } + + if(self.spinattackready && !isdefined(self.meleemovemode)) + { + if(maps\mp\agents\humanoid\_humanoid_util::withinmeleeradiusbase()) + { + bossozstage2attackspin(self.curmeleetarget,self.origin); + return; + } + } + + if(maps\mp\zombies\_util::is_true(self.lungemeleeenabled) && var_00.valid) + { + if(!isdefined(self.lungelast)) + { + self.lungelast = 0; + } + + if(isdefined(self.meleemovemode)) + { + var_01 = gettime() - self.lungelast > self.lungedebouncems; + var_02 = maps\mp\agents\humanoid\_humanoid_util::canhumanoidmovepointtopoint(self.origin,var_00.origin); + var_03 = distancesquared(self.curmeleetarget.origin,self.origin) > self.lungeminrangesq; + if(var_01 && var_02 && var_03) + { + self.lungelast = gettime(); + bossozstage2attacklunge(self.curmeleetarget,var_00.origin); + return; + } + } + + if(!maps\mp\agents\humanoid\_humanoid_util::withinmeleeradiusbase()) + { + if(gettime() - self.lungelast > self.lungedebouncems) + { + self.lungelast = gettime() - self.lungedebouncems - 1000; + } + + maps\mp\agents\humanoid\_humanoid_melee::lungemeleefailed(); + return; + } + } + + bossozstage2attackstandard(self.curmeleetarget,var_00.origin); +} + +//Function Number: 28 +bossozstage2attackstandard(param_00,param_01) +{ + var_02 = "attack_stand"; + var_03 = "angle abs enemy"; + var_04 = 1; + if(isdefined(self.meleemovemode)) + { + var_02 = "attack_" + self.meleemovemode; + var_03 = "enemy"; + self.meleemovemode = undefined; + } + else + { + var_05 = vectortoyaw(vectornormalize(self.curmeleetarget.origin - self.origin)); + var_06 = angleclamp180(var_05 - self.angles[1]); + if(abs(var_06 - 180) < 45) + { + var_02 = "attack_stand_turn_180"; + var_03 = "angle abs self"; + var_04 = 0; + } + } + + bossozstage2doattack(param_00,param_01,var_02,var_04,var_03,1); +} + +//Function Number: 29 +bossozstage2attacklunge(param_00,param_01) +{ + bossozstage2doattack(param_00,param_01,self.lungeanimstate,1,"enemy",1); +} + +//Function Number: 30 +bossozstage2attackspin(param_00,param_01) +{ + bossozstage2doattack(param_00,param_01,"attack_spin",0,"angle abs enemy",1); +} + +//Function Number: 31 +bossozstage2doattack(param_00,param_01,param_02,param_03,param_04,param_05) +{ + self.lastmeleefailedmypos = undefined; + self.lastmeleefailedpos = undefined; + var_06 = randomint(self getanimentrycount(param_02)); + var_07 = self getanimentry(param_02,var_06); + var_08 = getanimlength(var_07); + var_09 = getnotetracktimes(var_07,"hit_left"); + var_0A = getnotetracktimes(var_07,"hit_right"); + var_0B = getnotetracktimes(var_07,"hit_aoe"); + var_0C = getfirsthittime(var_08,param_05,var_09,undefined); + var_0C = getfirsthittime(var_08,param_05,var_0A,var_0C); + var_0C = getfirsthittime(var_08,param_05,var_0B,var_0C); + self scragentsetphysicsmode("gravity"); + if(param_04 == "enemy") + { + self scragentsetorientmode("face enemy"); + } + else if(param_04 == "angle abs enemy") + { + self scragentsetorientmode("face angle abs",(0,vectortoyaw(param_00.origin - self.origin),0)); + } + else if(param_04 == "angle abs self") + { + self scragentsetorientmode("face angle abs",(0,self.angles[1],0)); + } + + self scragentsetanimmode("anim deltas"); + maps\mp\agents\_scripted_agent_anim_util::set_anim_state(param_02,var_06,param_05); + thread bossozstage2meleecomplete(param_02,var_08); + var_0D = undefined; + if(param_03 && param_02 != "attack_lunge_boost") + { + var_0D = 150; + } + + if(param_03) + { + self scragentsetanimscale(0,1); + self scragentdoanimlerp(self.origin,param_01,var_0C); + childthread maps\mp\agents\humanoid\_humanoid_melee::updatelerppos(param_00,var_0C,1,var_0D); + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(1,"DoAttack"); + } + else + { + self scragentsetanimscale(1,1); + } + + if(var_0B.size > 0) + { + childthread empblast(var_0C); + } + else + { + childthread updatemeleesweeper(param_00,var_08,param_05,var_0A,"J_Mid_RI_3"); + childthread updatemeleesweeper(param_00,var_08,param_05,var_09,"J_Mid_LE_3"); + } + + wait(var_0C); + self notify("cancel_updatelerppos"); + self scragentsetanimmode("anim deltas"); + self scragentsetanimscale(1,1); + if(param_03) + { + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(0,"DoAttack"); + } + + self.lastmeleepos = self.origin; + var_0E = var_08 / param_05 - var_0C; + if(var_0E > 0) + { + maps\mp\agents\_scripted_agent_anim_util::waituntilnotetrack_safe("attack_anim","end",var_0E); + } + + self notify("cancel_updatelerppos"); + self scragentsetanimmode("anim deltas"); + self scragentsetanimscale(1,1); + if(param_03) + { + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(0,"DoAttack"); + } +} + +//Function Number: 32 +bossozstage2meleecomplete(param_00,param_01) +{ + maps\mp\_utility::waitfortimeornotify(param_01,"killanimscript"); + switch(param_00) + { + case "attack_spin": + self.spinattackready = 0; + break; + + default: + break; + } + + self.lastmeleefinishtime = gettime(); + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(0,"DoAttack"); +} + +//Function Number: 33 +getfirsthittime(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_02) || param_02.size == 0) + { + return param_03; + } + + var_04 = param_00 / param_01 * param_02[0]; + if(isdefined(param_03) && param_03 < var_04) + { + return param_03; + } + + return var_04; +} + +//Function Number: 34 +updatemeleesweeper(param_00,param_01,param_02,param_03,param_04) +{ + self endon("death"); + level endon("game_ended"); + if(param_03.size == 0) + { + return; + } + + var_05 = []; + for(var_06 = 0;var_06 < param_03.size;var_06 = var_06 + 2) + { + var_05[var_06] = param_01 / param_02 * param_03[var_06]; + var_05[var_06 + 1] = param_01 / param_02 * param_03[var_06 + 1]; + } + + var_07 = 0; + var_08 = 0.05; + self.hittargets[param_04] = []; + while(var_07 <= var_05[var_05.size - 1]) + { + wait(var_08); + var_07 = var_07 + var_08; + for(var_06 = 0;var_06 < var_05.size;var_06 = var_06 + 2) + { + if(var_07 >= var_05[var_06] && var_07 <= var_05[var_06 + 1]) + { + checkmeleesweeperhit(param_00,param_04); + } + } + } +} + +//Function Number: 35 +checkmeleesweeperhit(param_00,param_01) +{ + var_02 = self gettagorigin(param_01); + var_03 = var_02 - self.origin * (1,1,0); + var_04 = length(var_03); + foreach(var_06 in level.participants) + { + if(!isdefined(var_06)) + { + continue; + } + + if(maps\mp\zombies\_util::isplayerinlaststand(var_06)) + { + continue; + } + + if(isalliedsentient(var_06,self)) + { + continue; + } + + checkmeleesweeperhittarget(var_06,var_02,var_03,var_04,self.meleedamage,param_01); + } + + if(isdefined(param_00) && isdefined(param_00.issentry) && param_00.issentry && issentient(param_00)) + { + checkmeleesweeperhittarget(param_00,var_02,var_03,var_04,param_00.maxhealth / 2,param_01); + } +} + +//Function Number: 36 +checkmeleesweeperhittarget(param_00,param_01,param_02,param_03,param_04,param_05) +{ + if(common_scripts\utility::array_contains(self.hittargets[param_05],param_00)) + { + return; + } + + if(!checkmeleeheight(param_00,param_01[2])) + { + return; + } + + var_06 = param_00.origin - self.origin * (1,1,0); + var_07 = length(var_06); + if(var_07 > param_03 + 40) + { + return; + } + + if(vectordot(var_06,param_02) < 0.707) + { + return; + } + + self notify("attack_hit",param_00,self.origin); + maps\mp\agents\humanoid\_humanoid_melee::domeleedamage(param_00,param_04,"MOD_IMPACT"); + self.hittargets[param_05][self.hittargets[param_05].size] = param_00; +} + +//Function Number: 37 +checkmeleeheight(param_00,param_01) +{ + var_02 = self.origin[2] + 105; + var_03 = max(var_02,param_01); + var_04 = self.origin[2]; + var_05 = param_00 geteye()[2]; + var_06 = param_00.origin[2]; + if(var_05 >= var_04 && var_05 <= var_03) + { + return 1; + } + + if(var_06 >= var_04 && var_06 <= var_03) + { + return 1; + } + + return 0; +} + +//Function Number: 38 +bossozstage2calculatemovemode() +{ + return "run"; +} + +//Function Number: 39 +bossozstage2calculatemoveratescale() +{ + return 1.15 * bossozstage2getbuffspeedmultiplier(); +} + +//Function Number: 40 +bossozstage2calculatenonmoveratescale() +{ + return 1 * bossozstage2getbuffspeedmultiplier(); +} + +//Function Number: 41 +bossozstage2calculatetraverseratescale() +{ + return 1.15 * bossozstage2getbuffspeedmultiplier(); +} + +//Function Number: 42 +bossozstage2getbuffspeedmultiplier() +{ + var_00 = maps\mp\zombies\_zombies::getbuffspeedmultiplier(); + if(var_00 < 1) + { + var_01 = 1 - var_00; + var_02 = var_01 * 0.5; + var_00 = 1 - var_02; + } + + return var_00; +} + +//Function Number: 43 +getbossozstage2spinattackcooldown() +{ + if(level.players.size > 1) + { + return 15; + } + + return 5; +} + +//Function Number: 44 +updatebossozstage2spinattackcooldown() +{ + self endon("death"); + level endon("game_ended"); + var_00 = 0.05; + var_01 = 0; + for(;;) + { + wait(var_00); + if(!self.spinattackready) + { + var_01 = var_01 + var_00; + } + + if(var_01 < getbossozstage2spinattackcooldown()) + { + continue; + } + + self.spinattackready = 1; + var_01 = 0; + } +} + +//Function Number: 45 +bossozstage2shouldplaystophitreaction() +{ + return 0; +} + +//Function Number: 46 +getpainthreshold() +{ + return 1 * self.maxhealth; +} + +//Function Number: 47 +bossozstage2modifyplayerequipmentdamage(param_00,param_01,param_02) +{ + return param_01; +} + +//Function Number: 48 +bossozstage2modifycauterizerdamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + return int(param_02 * 0.7); +} + +//Function Number: 49 +bossozstage2modifys12damage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + return int(param_02 * 0.7); +} + +//Function Number: 50 +bossozstage2modifylinegundamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + return int(param_02 * 0.7); +} + +//Function Number: 51 +bossozstage2modifymahemdamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + return int(param_02 * 0.7); +} + +//Function Number: 52 +bossozstage2modifylynxdamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + return int(param_02 * 0.7); +} + +//Function Number: 53 +bossozstage2modifytridentdamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + return int(param_02 * 0.7); +} + +//Function Number: 54 +onbossozstage2killed(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + if(self.aistate == "scripted") + { + self.isscripted = undefined; + self.aistate = "idle"; + } + + setomnvar("ui_zm_fight_health_current",0); + setomnvar("ui_zm_fight_health_max",0); + maps\mp\zombies\_zombies::onzombiekilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08); + maps\mp\gametypes\zombies::createpickup("ammo",self.origin,"Boss Oz Wave 2 Complete - Ammo"); + var_09 = param_01.origin; + if(param_03 == "MOD_SUICIDE" && param_04 == "none") + { + var_09 = common_scripts\utility::random(level.players).origin; + } + + maps\mp\gametypes\zombies::createpickup("nuke",var_09,"Boss Oz Wave 2 Complete - Nuke"); + givebossozkillwithblunderbussachievement(param_01,param_04,param_03); + givebossozstage2achievement(); + thread bossozstage2dodeath(); + foreach(var_0B in level.players) + { + var_0B playersetcinematicunlockedcoopdatah2o(); + var_0B thread maps\mp\_matchdata::loggameevent("zm_boss_phase4",var_0B.origin); + } +} + +//Function Number: 55 +playersetcinematicunlockedcoopdatah2o() +{ + var_00 = self getcoopplayerdatareservedint("eggData"); + var_00 = var_00 | 256; + self setcoopplayerdatareservedint("eggData",var_00); +} + +//Function Number: 56 +bossozstage2dodeath() +{ + level endon("game_ended"); + var_00 = self.body; + earthquake(randomfloatrange(0.75,1.25),0.35,var_00.origin,256); + var_00 playsound("zmb_goliath_death_destruct"); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("zombie_eye_boss_oz_fade"),var_00,"tag_eye"); + var_01 = self getanimentry(); + var_02 = getanimlength(var_01); + var_03 = 1; + var_04 = getnotetracktimes(var_01,"puke_start"); + var_05 = var_02 / var_03 * var_04[0]; + wait(var_05); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("oz_stage2_blood_spit_death"),var_00,"J_Head"); +} + +//Function Number: 57 +givebossozkillwithblunderbussachievement(param_00,param_01,param_02) +{ + if(isdefined(param_00) && isplayer(param_00) && isdefined(param_01)) + { + var_03 = getweaponbasename(param_01); + if(!isdefined(param_02) || param_02 != "MOD_MELEE") + { + if(maps\mp\zombies\_util::is_true(level.xenon) || maps\mp\zombies\_util::is_true(level.ps3)) + { + if(var_03 == "iw5_gm6zm_mp") + { + param_00 maps\mp\gametypes\zombies::givezombieachievement("DLC4_ZOMBIE_BIGGAME"); + return; + } + + return; + } + + if(var_03 == "iw5_dlcgun4zm_mp") + { + param_00 maps\mp\gametypes\zombies::givezombieachievement("DLC4_ZOMBIE_BIGGAME"); + return; + } + + return; + } + } +} + +//Function Number: 58 +givebossozstage2achievement() +{ + foreach(var_01 in level.players) + { + var_01 maps\mp\gametypes\zombies::givezombieachievement("DLC4_ZOMBIE_DEFEATBOSS2"); + } + + if(maps\mp\zombies\_util::iszombieshardmode()) + { + foreach(var_01 in level.players) + { + var_01 maps\mp\gametypes\zombies::givezombieachievement("DLC4_ZOMBIE_DEFEATBOSS3"); + } + } +} + +//Function Number: 59 +collidewithnearbyzombies() +{ + self endon("death"); + level endon("game_ended"); + var_00 = squared(50); + for(;;) + { + wait(0.05); + var_01 = anglestoforward(self.angles * (0,1,0)); + var_02 = length(self getvelocity()); + if(var_02 < 50) + { + continue; + } + + foreach(var_04 in level.agentarray) + { + if(!isdefined(var_04) || !isalive(var_04) || var_04 == self || isdefined(var_04.team) && isenemyteam(self.team,var_04.team)) + { + continue; + } + + if(isdefined(var_04.agent_type) && var_04.agent_type == "zombie_boss_oz_stage2") + { + continue; + } + + if(distancesquared(self.origin,var_04.origin) > var_00) + { + continue; + } + + var_05 = var_04.origin - self.origin * (1,1,0); + if(vectordot(var_05,var_01) < 0) + { + continue; + } + + var_05 = vectornormalize(var_05); + collidewithagent(var_04,var_05); + } + } +} + +//Function Number: 60 +collidewithagent(param_00,param_01) +{ + recycleagent(param_00); + if(randomfloat(1) < 0.5) + { + ragdollagent(param_00,param_01,"MOD_EXPLOSIVE",2,3); + return; + } + + ragdollagent(param_00,param_01,"MOD_MELEE",3,5); +} + +//Function Number: 61 +recycleagent(param_00) +{ + if(!isdefined(param_00.agent_type)) + { + return; + } + + if(maps\mp\zombies\_zombies::shouldrecycle()) + { + thread maps\mp\zombies\_zombies::recyclezombie(param_00.agent_type); + } +} + +//Function Number: 62 +ragdollagent(param_00,param_01,param_02,param_03,param_04) +{ + param_00.ragdollimmediately = 1; + param_00 dodamage(param_00.health + 1000,param_00 geteye(),self,undefined,param_02,"bossOzStage2FriendlyFire","none"); + var_05 = self.origin - param_01 + (0,0,8); + wait(0.1); + var_06 = randomfloatrange(3,5); + physicsexplosionsphere(var_05,128,0,var_06,0); +} + +//Function Number: 63 +updateweaponstate() +{ + self endon("death"); + level endon("game_ended"); + self.weaponstate = 0; + for(;;) + { + wait(0.05); + switch(self.weaponstate) + { + case 0: + updateweaponready(); + break; + + case 1: + updateweaponfiring(); + break; + + case 2: + updateweaponreloading(); + break; + } + } +} + +//Function Number: 64 +updateweaponready() +{ + var_00 = squared(180); + for(;;) + { + wait 0.05; + if(self.aistate == "traverse" || self.aistate == "melee") + { + continue; + } + + if(!isdefined(self.threats) || self.threats.size == 0) + { + continue; + } + + if(!isdefined(self.curmeleetarget)) + { + continue; + } + + if(lengthsquared(self.curmeleetarget.origin - self.origin) < var_00) + { + continue; + } + + if(gettime() - self.lastbigattacktime < 2000) + { + continue; + } + + break; + } + + self.weaponstate = 1; +} + +//Function Number: 65 +missilestartlocation() +{ + return self geteye() + (0,0,45); +} + +//Function Number: 66 +firemissile(param_00) +{ + var_01 = 32; + var_02 = missilestartlocation(); + var_03 = (randomintrange(-1 * var_01,var_01),randomintrange(-1 * var_01,var_01),randomintrange(-1 * var_01,var_01)); + var_04 = param_00 geteye() + var_03; + var_05 = magicbullet("boss_oz_rocket_mp",var_02,var_04,self); + var_05 missile_settargetent(param_00,(0,0,32)); + var_05.owner = self; + var_05 thread empmissile(); +} + +//Function Number: 67 +empmissile() +{ + self.owner endon("death"); + self waittill("death"); + if(!isdefined(self) || !isdefined(self.owner)) + { + return; + } + + var_00 = squared(150); + var_01 = self.origin; + playfx(level._effect["zombie_boss_oz_stage2_emp"],var_01); + foreach(var_03 in level.participants) + { + if(distancesquared(var_01,var_03.origin) > var_00) + { + continue; + } + + if(maps\mp\zombies\_util::isplayerinlaststand(var_03)) + { + continue; + } + + if(isalliedsentient(var_03,self.owner)) + { + continue; + } + + if(isdefined(var_03.exosuitonline) && var_03.exosuitonline) + { + var_03 thread maps\mp\zombies\_mutators::mutatoremz_applyemp(); + } + + var_03 playlocalsound("zmb_emz_impact"); + } +} + +//Function Number: 68 +updateweaponfiring() +{ + if(maps\mp\zombies\_util::is_true(self.disablemissile) || maps\mp\zombies\_util::is_true(self.godmode)) + { + return; + } + + if(isdefined(self.threats) && self.aistate != "traverse") + { + foreach(var_01 in self.threats) + { + if(evaluate_threat_valid_threat(var_01) == -1 || evaluate_threat_behavior(var_01) == -1) + { + continue; + } + + firemissile(var_01); + wait(0.05); + } + } + + self.weaponstate = 2; + self.lastbigattacktime = gettime(); +} + +//Function Number: 69 +updateweaponreloading() +{ + var_00 = undefined; + var_01 = undefined; + var_02 = self.health / self.maxhealth; + if(level.players.size == 1) + { + var_00 = maps\mp\zombies\_util::lerp(var_02,6,12); + var_01 = maps\mp\zombies\_util::lerp(var_02,12,18); + } + else + { + var_00 = maps\mp\zombies\_util::lerp(var_02,3,6); + var_01 = maps\mp\zombies\_util::lerp(var_02,6,12); + } + + wait(randomfloatrange(var_00,var_01)); + self.weaponstate = 0; +} + +//Function Number: 70 +updatemissiletargets() +{ + self endon("death"); + level endon("game_ended"); + var_00 = 0.05; + for(;;) + { + wait(var_00); + var_01 = undefined; + var_02 = -1; + var_03 = []; + foreach(var_05 in level.participants) + { + wait(0.05); + var_06 = calculate_threat_level(var_05); + if(var_06 < 0) + { + continue; + } + + var_03[var_03.size] = var_05; + } + + self.threats = var_03; + } +} + +//Function Number: 71 +calculate_threat_level(param_00) +{ + var_01 = 0; + var_02[0] = ::evaluate_threat_valid_threat; + var_02[1] = ::evaluate_threat_melee_target; + var_02[2] = ::evaluate_threat_behavior; + var_02[3] = ::evaluate_threat_los; + for(var_03 = 0;var_03 < var_02.size;var_03++) + { + var_04 = self [[ var_02[var_03] ]](param_00); + if(var_04 < 0) + { + return -1; + } + + var_01 = var_01 + var_04; + } + + return var_01 / var_02.size; +} + +//Function Number: 72 +evaluate_threat_valid_threat(param_00) +{ + if(!isdefined(param_00) || !isalive(param_00)) + { + return -1; + } + + if(isdefined(param_00.ignoreme) && param_00.ignoreme == 1) + { + return -1; + } + + if(param_00 isnotarget()) + { + return -1; + } + + if(isalliedsentient(param_00,self)) + { + return -1; + } + + if(maps\mp\zombies\_util::shouldignoreent(param_00)) + { + return -1; + } + + if(maps\mp\zombies\_util::isplayerinfected(param_00)) + { + return -1; + } + + return 1; +} + +//Function Number: 73 +evaluate_threat_behavior(param_00) +{ + return 1; +} + +//Function Number: 74 +evaluate_threat_los(param_00) +{ + if(trace_to_enemy(missilestartlocation(),param_00,undefined)) + { + return 1; + } + + return -1; +} + +//Function Number: 75 +trace_to_enemy(param_00,param_01,param_02) +{ + var_03 = bullettrace(param_00,param_01 geteye(),0,undefined,0,0,0,0,0); + return var_03["fraction"] == 1; +} + +//Function Number: 76 +evaluate_threat_melee_target(param_00) +{ + if(!isdefined(self.curmeleetarget)) + { + return 1; + } + + if(self.curmeleetarget == param_00 && distancesquared(param_00.origin,self.origin) < 122500) + { + return -1; + } + + return 1; +} + +//Function Number: 77 +empblast(param_00) +{ + wait(param_00); + var_01 = self gettagorigin("J_Ankle_RI"); + var_02 = squared(1000); + playfx(level._effect["zombie_boss_oz_stage2_emp"],var_01); + foreach(var_04 in level.participants) + { + if(evaluate_threat_valid_threat(var_04) == -1) + { + continue; + } + + if(distancesquared(var_04.origin,var_01) > var_02) + { + continue; + } + + if(isdefined(var_04.exosuitonline) && var_04.exosuitonline) + { + var_04 thread maps\mp\zombies\_mutators::mutatoremz_applyemp(); + } + + var_04 playlocalsound("zmb_emz_impact"); + } +} + +//Function Number: 78 +bossozstage2trycalculatesectororigin(param_00,param_01,param_02,param_03) +{ + if(gettime() - param_00.timestamp >= 50) + { + param_00.origin = maps\mp\agents\humanoid\_humanoid_util::meleesectortargetposition(param_01,param_00.num,param_02); + param_00.origin = maps\mp\agents\humanoid\_humanoid_util::dropsectorpostoground(param_00.origin,15,55); + param_00.timestamp = gettime(); + if(isdefined(param_00.origin)) + { + var_04 = self.meleecheckheight; + if(!isdefined(var_04)) + { + var_04 = 40; + } + + var_05 = param_00.origin + (0,0,var_04); + var_06 = param_01 + (0,0,var_04); + var_07 = physicstrace(var_05,var_06); + if(distancesquared(var_07,var_06) > 1) + { + param_00.origin = undefined; + return; + } + } + } +} + +//Function Number: 79 +bossozstage2getradiusandheight() +{ + var_00 = 30; + var_01 = 105; + return [var_00,var_01]; +} + +//Function Number: 80 +bossozstage2curestationactivated(param_00,param_01) +{ + self endon("death"); + if(gettime() - self.lastcurestationstun < 10000) + { + return; + } + + if(maps\mp\zombies\_util::is_true(self.inairforleap) || maps\mp\zombies\_util::is_true(self.godmode)) + { + return; + } + + self.lastcurestationstun = gettime(); + self scragentsetscripted(1); + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(1,"DoStopHitReaction"); + self.inpain = 1; + self.incurestationstun = 1; + setomnvar("ui_zm_fight_shield",0); + self playsound("zmb_gol_round_start_front"); + self.disablemissile = 1; + self.ignoreall = 1; + self scragentsetanimmode("anim deltas"); + self scragentsetorientmode("face angle abs",self.angles); + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe("stun_enter",0,1,"scripted_anim"); + if(!maps\mp\zombies\_util::is_true(self.godmode)) + { + maps\mp\agents\_scripted_agent_anim_util::set_anim_state("stun_loop",0,1); + common_scripts\utility::waittill_notify_or_timeout("cancel_stun",3); + } + + maps\mp\agents\_scripted_agent_anim_util::playanimnatrateuntilnotetrack_safe("stun_exit",0,1,"script_anim"); + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(0,"DoStopHitReaction"); + self.inpain = undefined; + self.incurestationstun = undefined; + setomnvar("ui_zm_fight_shield",1); + bossozstage2enableai(); + self scragentsetscripted(0); +} + +//Function Number: 81 +bossozstage2waituntiloutofcurestationstun() +{ + self endon("death"); + while(isdefined(self.incurestationstun) && self.incurestationstun) + { + wait 0.05; + } +} + +//Function Number: 82 +bossozstage2getleaptarget() +{ + var_00 = spawnstruct(); + var_00.origin = self.curmeleetarget.origin; + var_00.valid = 1; + if(isdefined(self.distractiondrone) && self.curmeleetarget == self.distractiondrone) + { + if(isdefined(self.curmeleetarget.groundpos)) + { + var_00.origin = self.curmeleetarget.groundpos; + } + } + + if(isplayer(self.curmeleetarget)) + { + if(!self.curmeleetarget isonground() || self.curmeleetarget isnoclip()) + { + var_00.valid = 0; + } + } + + return var_00; +} + +//Function Number: 83 +bossozstage2modifydamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + if(param_00 bossozstage2hasarmor()) + { + param_02 = 0; + param_01 thread maps\mp\gametypes\_damagefeedback::updatedamagefeedback("hitspecialarmor"); + } + + var_08 = 0; + if(!isdefined(param_00.playedsequence[75])) + { + var_08 = int(0.75 * param_00.maxhealth) - 1; + } + else if(!isdefined(param_00.playedsequence[50])) + { + var_08 = int(0.5 * param_00.maxhealth) - 1; + } + else if(!isdefined(param_00.playedsequence[25])) + { + var_08 = int(0.25 * param_00.maxhealth) - 1; + } + + param_02 = int(min(param_02,param_00.health - var_08)); + if(isdefined(param_01) && isplayer(param_01) && isdefined(param_03) && param_03 == "MOD_MELEE_ALT" && isdefined(param_04) && param_04 == "iw5_exominigunzm_mp") + { + param_01 maps\mp\gametypes\zombies::givezombieachievement("DLC4_ZOMBIE_GOTOSLEEP"); + } + + return param_02; +} + +//Function Number: 84 +bossozstage2hasarmor() +{ + return !maps\mp\zombies\_util::is_true(self.incurestationstun); +} + +//Function Number: 85 +bossozhealthbar() +{ + setomnvar("ui_zm_fight_health_current",self.health); + setomnvar("ui_zm_fight_health_max",0); + thread bossozhealthbarupdate(); +} + +//Function Number: 86 +bossozhealthbarupdate() +{ + self endon("death"); + for(;;) + { + setomnvar("ui_zm_fight_health_current",self.health); + wait 0.05; + } +} + +//Function Number: 87 +bossozstage2startinvalidationtrap(param_00,param_01,param_02) +{ + var_03 = level.stage1traps[param_00]; + if(!isdefined(var_03)) + { + return; + } + + level thread [[ var_03.runtrapfunc ]](var_03,param_01,param_02,1); + var_04 = [[ var_03.gettraptriggersfunc ]](var_03); + foreach(var_06 in var_04) + { + if(!isdefined(level.noammodroptriggers)) + { + level.noammodroptriggers = []; + } + + if(!common_scripts\utility::array_contains(level.noammodroptriggers,var_06)) + { + level.noammodroptriggers[level.noammodroptriggers.size] = var_06; + } + + if(isdefined(level.ammocrate)) + { + if(ispointinvolume(level.ammocrate.origin + (0,0,35),var_06)) + { + level.ammocrate delete(); + } + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/zombie_dog.gsc b/AW/PC/maps/mp/zombies/zombie_dog.gsc new file mode 100644 index 0000000..d2ddbd6 --- /dev/null +++ b/AW/PC/maps/mp/zombies/zombie_dog.gsc @@ -0,0 +1,199 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\zombie_dog.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 13 + * Decompile Time: 242 ms + * Timestamp: 4/22/2024 2:15:07 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level.agent_funcs["zombie_dog"]["onAIConnect"] = level.agent_funcs["zombie"]["onAIConnect"]; + level.agent_funcs["zombie_dog"]["on_damaged"] = ::maps\mp\agents\_agents::on_agent_generic_damaged; + level.agent_funcs["zombie_dog"]["on_damaged_finished"] = level.agent_funcs["zombie"]["on_damaged_finished"]; + level.agent_funcs["zombie_dog"]["on_killed"] = level.agent_funcs["zombie"]["on_killed"]; + level.agent_funcs["zombie_dog"]["spawn"] = ::spawn_zombie_dog; + level.agent_funcs["zombie_dog"]["think"] = ::maps\mp\agents\dog\_zombie_dog_think::main; + var_00[0] = ["zom_dog_150p"]; + level._effect["zombie_dog_eye_base"] = loadfx("vfx/gameplay/mp/zombie/zombie_dog_eye_base"); + level._effect["zombie_dog_eye_emp"] = loadfx("vfx/gameplay/mp/zombie/zombie_dog_eye_emp"); + level._effect["zombie_dog_eye_exploder"] = loadfx("vfx/gameplay/mp/zombie/zombie_dog_eye_exploder"); + var_01 = spawnstruct(); + var_01.agent_type = "zombie_dog"; + var_01.animclass = "zombie_dog_animclass"; + var_01.model_bodies = var_00; + var_01.health_scale = 1; + var_01.healthoverridefunc = ::calculatedoghealth; + var_01.meleedamage = 45; + var_01.spawnparameter = "zombie_dog"; + maps\mp\zombies\_util::agentclassregister(var_01,"zombie_dog"); + level.getspawntypefunc["zombie_dog"] = ::getdogroundspawntype; + level.candroppickupsfunc["zombie_dog"] = ::dogroundcandroppickups; + level.numenemiesthisroundfunc["zombie_dog"] = ::dogroundnumenemies; + level.roundspawndelayfunc["zombie_dog"] = ::dogroundspawndelay; + level.roundstartfunc["zombie_dog"] = ::dogroundstart; + level.roundendfunc["zombie_dog"] = ::dogroundend; + level.movemodefunc["zombie_dog"] = ::dogcaculatemovemode; + level.moveratescalefunc["zombie_dog"] = ::dogcaculatemoveratescale; + level.nonmoveratescalefunc["zombie_dog"] = ::dogcalculatenonmoveratescale; + level.traverseratescalefunc["zombie_dog"] = ::dogcalculatetraverseratescale; + level.zombiedogondamage = ::maps\mp\agents\dog\_zombie_dog_think::ondamage; +} + +//Function Number: 2 +dogroundstart() +{ +} + +//Function Number: 3 +dogroundend() +{ + maps\mp\gametypes\zombies::createpickuporgive("ammo",level.lastenemydeathpos,"Dog Round End"); +} + +//Function Number: 4 +getdogroundspawntype(param_00,param_01) +{ + return "zombie_dog"; +} + +//Function Number: 5 +dogroundcandroppickups(param_00) +{ + return 0; +} + +//Function Number: 6 +dogcaculatemovemode() +{ + return "run"; +} + +//Function Number: 7 +dogcaculatemoveratescale() +{ + return 1 * maps\mp\zombies\_zombies::getbuffspeedmultiplier(); +} + +//Function Number: 8 +dogcalculatenonmoveratescale() +{ + return 1 * maps\mp\zombies\_zombies::getbuffspeedmultiplier(); +} + +//Function Number: 9 +dogcalculatetraverseratescale() +{ + return 1 * maps\mp\zombies\_zombies::getbuffspeedmultiplier(); +} + +//Function Number: 10 +dogroundnumenemies(param_00) +{ + var_01 = maps\mp\zombies\_util::getnumplayers(); + var_02 = var_01 * 6; + if(level.specialroundcounter > 3) + { + var_02 = var_01 * 8; + } + + return var_02; +} + +//Function Number: 11 +dogroundspawndelay(param_00,param_01) +{ + var_02 = 1.5; + switch(level.specialroundcounter) + { + case 1: + case 0: + var_02 = 3; + break; + + case 2: + var_02 = 2.5; + break; + + case 3: + var_02 = 2; + break; + + default: + var_02 = 1.5; + break; + } + + var_02 = var_02 - param_00 / param_01; + return var_02; +} + +//Function Number: 12 +calculatedoghealth() +{ + var_00 = 400; + switch(level.specialroundcounter) + { + case 1: + case 0: + var_00 = 400; + break; + + case 2: + var_00 = 900; + break; + + case 3: + var_00 = 1300; + break; + + default: + var_00 = 1600; + break; + } + + return var_00; +} + +//Function Number: 13 +spawn_zombie_dog(param_00,param_01,param_02) +{ + self setmodel("tag_origin"); + self.species = "dog"; + self.onenteranimstate = ::maps\mp\agents\_scripted_agent_anim_util::onenteranimstate; + if(isdefined(param_00) && isdefined(param_01)) + { + var_03 = param_00; + var_04 = param_01; + } + else + { + var_05 = self [[ level.getspawnpoint ]](); + var_03 = var_05.origin; + var_04 = var_05.angles; + } + + maps\mp\agents\_agent_utility::activateagent(); + self.spawntime = gettime(); + self.lastspawntime = gettime(); + maps\mp\agents\dog\_zombie_dog_think::init(); + self spawnagent(var_03,var_04,self.animclass,self.radius,self.height,param_02); + level notify("spawned_agent",self); + maps\mp\agents\_agent_common::set_agent_health(100); + if(isdefined(param_02)) + { + maps\mp\agents\_agent_utility::set_agent_team(param_02.team,param_02); + } + + self setthreatbiasgroup("Dogs"); + self takeallweapons(); + self scragentsetnopenetrate(1); + self scragentsetpathteamspread(1); + self scragentsetallowragdoll(1); + self scragentsetobstacleavoid(0); + self scragentsetorienttoground(0); + self thread [[ maps\mp\agents\_agent_utility::agentfunc("think") ]](); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/zombie_generic.gsc b/AW/PC/maps/mp/zombies/zombie_generic.gsc new file mode 100644 index 0000000..7fa303a --- /dev/null +++ b/AW/PC/maps/mp/zombies/zombie_generic.gsc @@ -0,0 +1,256 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\zombie_generic.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 6 + * Decompile Time: 113 ms + * Timestamp: 4/22/2024 2:15:08 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level.agent_funcs["zombie_generic"] = level.agent_funcs["zombie"]; + level.agent_funcs["zombie_generic"]["think"] = ::zombie_generic_think; + level.crawlingzombies = 0; + level.dismemberedbodyparts = []; + level.nextdismemberedbodypartindex = 0; + if(level.currentgen && maps\mp\_utility::getmapname() == "mp_zombie_ark") + { + var_00[0] = ["zom_civ_ruban_male_torso_slice"]; + var_01[0]["right_arm"] = ["zom_civ_ruban_male_r_arm_slice"]; + var_01[0]["left_arm"] = ["zom_civ_ruban_male_l_arm_slice"]; + var_01[0]["right_leg"] = ["zom_civ_ruban_male_r_leg_slice"]; + var_01[0]["left_leg"] = ["zom_civ_ruban_male_l_leg_slice"]; + var_02[0] = ["zombies_head_cau_dlc_a","zombies_head_cau_dlc_b","zombies_head_shg_dlc_b"]; + var_00[1] = ["zom_civ_ruban_male_torso_slice_b"]; + var_01[1]["right_arm"] = ["zom_civ_ruban_male_r_arm_slice_b"]; + var_01[1]["left_arm"] = ["zom_civ_ruban_male_l_arm_slice_b"]; + var_01[1]["right_leg"] = ["zom_civ_ruban_male_r_leg_slice"]; + var_01[1]["left_leg"] = ["zom_civ_ruban_male_l_leg_slice"]; + var_02[1] = ["zombies_head_cau_dlc_a","zombies_head_cau_dlc_b","zombies_head_shg_dlc_b"]; + var_00[2] = ["zom_marine_shotgun_torso_slice"]; + var_01[2]["right_arm"] = ["zom_marine_shotgun_r_arm_slice"]; + var_01[2]["left_arm"] = ["zom_marine_shotgun_l_arm_slice"]; + var_01[2]["right_leg"] = ["zom_marine_shotgun_r_leg_slice"]; + var_01[2]["left_leg"] = ["zom_marine_shotgun_l_leg_slice"]; + var_02[2] = ["zombies_head_cau_dlc_a","zombies_head_cau_dlc_b","zombies_head_shg_dlc_b"]; + } + else + { + var_02[0] = ["zom_civ_ruban_male_torso_slice"]; + var_01[0]["right_arm"] = ["zom_civ_ruban_male_r_arm_slice"]; + var_02[0]["left_arm"] = ["zom_civ_ruban_male_l_arm_slice"]; + var_02[0]["right_leg"] = ["zom_civ_ruban_male_r_leg_slice"]; + var_02[0]["left_leg"] = ["zom_civ_ruban_male_l_leg_slice"]; + var_00[0] = ["zombies_head_cau_dlc_a","zombies_head_cau_dlc_b","zombies_head_cau_dlc_c","zombies_head_shg_dlc_b"]; + var_00[1] = ["zom_civ_ruban_male_torso_slice_ab"]; + var_01[1]["right_arm"] = ["zom_civ_ruban_male_r_arm_slice_ab"]; + var_01[1]["left_arm"] = ["zom_civ_ruban_male_l_arm_slice_ab"]; + var_01[1]["right_leg"] = ["zom_civ_ruban_male_r_leg_slice"]; + var_01[1]["left_leg"] = ["zom_civ_ruban_male_l_leg_slice"]; + var_02[1] = ["zombies_head_cau_dlc_a","zombies_head_cau_dlc_b","zombies_head_cau_dlc_c","zombies_head_shg_dlc_b"]; + var_00[2] = ["zom_civ_ruban_male_torso_slice_b"]; + var_01[2]["right_arm"] = ["zom_civ_ruban_male_r_arm_slice_b"]; + var_01[2]["left_arm"] = ["zom_civ_ruban_male_l_arm_slice_b"]; + var_01[2]["right_leg"] = ["zom_civ_ruban_male_r_leg_slice"]; + var_01[2]["left_leg"] = ["zom_civ_ruban_male_l_leg_slice"]; + var_02[2] = ["zombies_head_cau_dlc_a","zombies_head_cau_dlc_b","zombies_head_cau_dlc_c","zombies_head_shg_dlc_b"]; + var_00[3] = ["zom_civ_ruban_male_torso_slice_c"]; + var_01[3]["right_arm"] = ["zom_civ_ruban_male_r_arm_slice_c"]; + var_01[3]["left_arm"] = ["zom_civ_ruban_male_l_arm_slice_c"]; + var_01[3]["right_leg"] = ["zom_civ_ruban_male_r_leg_slice"]; + var_01[3]["left_leg"] = ["zom_civ_ruban_male_l_leg_slice"]; + var_02[3] = ["zombies_head_cau_dlc_a","zombies_head_cau_dlc_b","zombies_head_cau_dlc_c","zombies_head_shg_dlc_b"]; + var_00[4] = ["zom_marine_shotgun_torso_slice"]; + var_01[4]["right_arm"] = ["zom_marine_shotgun_r_arm_slice"]; + var_01[4]["left_arm"] = ["zom_marine_shotgun_l_arm_slice"]; + var_01[4]["right_leg"] = ["zom_marine_shotgun_r_leg_slice"]; + var_01[4]["left_leg"] = ["zom_marine_shotgun_l_leg_slice"]; + var_02[4] = ["zombies_head_cau_dlc_a","zombies_head_cau_dlc_b","zombies_head_cau_dlc_c","zombies_head_shg_dlc_b"]; + var_00[5] = ["zom_marine_shotgun_torso_slice_bb"]; + var_01[5]["right_arm"] = ["zom_marine_shotgun_r_arm_slice_bb"]; + var_01[5]["left_arm"] = ["zom_marine_shotgun_l_arm_slice_bb"]; + var_01[5]["right_leg"] = ["zom_marine_shotgun_r_leg_slice_bb"]; + var_01[5]["left_leg"] = ["zom_marine_shotgun_l_leg_slice_bb"]; + var_02[5] = ["zombies_head_cau_dlc_a","zombies_head_cau_dlc_b","zombies_head_cau_dlc_c","zombies_head_shg_dlc_b"]; + } + + var_03 = spawnstruct(); + var_03.agent_type = "zombie_generic"; + var_03.animclass = "zombie_animclass"; + var_03.model_bodies = var_00; + var_03.model_limbs = var_01; + var_03.model_heads = var_02; + var_03.health_scale = 1; + var_03.meleedamage = 45; + if(isdefined(level.modifygenericzombieclassfunc)) + { + var_03 = [[ level.modifygenericzombieclassfunc ]](var_03); + } + + maps\mp\zombies\_util::agentclassregister(var_03,"zombie_generic"); +} + +//Function Number: 2 +zombie_generic_think() +{ + self endon("death"); + level endon("game_ended"); + self endon("owner_disconnect"); + maps\mp\agents\humanoid\_humanoid::setuphumanoidstate(); + thread maps\mp\zombies\_zombies::zombieaimonitorthreads(); + thread maps\mp\zombies\_util::waitforbadpath(); + thread zombie_generic_moan(); + thread zombie_audio_monitor(); + thread maps\mp\zombies\_zombies::updatebuffs(); + thread maps\mp\zombies\_zombies::updatepainsensor(); + if(level.nextgen) + { + var_00 = 0.05; + } + else + { + var_00 = 0.2; + } + + for(;;) + { + if(maps\mp\zombies\_behavior::humanoid_begin_melee()) + { + wait(var_00); + continue; + } + + if(maps\mp\zombies\_behavior::humanoid_seek_enemy_melee()) + { + wait(var_00); + continue; + } + + if(maps\mp\zombies\_behavior::humanoid_seek_enemies_all_known()) + { + wait(var_00); + continue; + } + + maps\mp\zombies\_behavior::humanoid_seek_random_loc(); + wait(var_00); + } +} + +//Function Number: 3 +zombie_generic_moan() +{ + self endon("death"); + level endon("game_ended"); + for(;;) + { + while(!isdefined(self.curmeleetarget)) + { + wait(0.25); + } + + while(isdefined(self.curmeleetarget) && distancesquared(self.origin,self.curmeleetarget.origin) > 40000) + { + if(self.movemode == "walk") + { + maps\mp\zombies\_zombies_audio::do_zombies_playvocals("idle_low",self.agent_type); + wait(randomfloatrange(1.5,4)); + continue; + } + + if(self.movemode == "run" || self.movemode == "sprint") + { + maps\mp\zombies\_zombies_audio::do_zombies_playvocals("move",self.agent_type); + wait(randomfloatrange(2.5,5.5)); + } + } + + while(isdefined(self.curmeleetarget) && distancesquared(self.origin,self.curmeleetarget.origin) > 10000 && distancesquared(self.origin,self.curmeleetarget.origin) <= 40000) + { + maps\mp\zombies\_zombies_audio::do_zombies_playvocals("idle_high",self.agent_type); + wait(randomfloatrange(1.5,2)); + } + + if(level.nextgen) + { + wait(0.05); + continue; + } + + wait(0.2); + } +} + +//Function Number: 4 +zombie_audio_monitor() +{ + self endon("death"); + for(;;) + { + var_00 = common_scripts\utility::waittill_any_return_parms("attack_hit","attack_miss"); + if(maps\mp\zombies\zombies_spawn_manager::getnumberofzombies() <= 6) + { + var_01 = randomintrange(0,2); + } + else + { + var_01 = randomintrange(0,4); + } + + switch(var_00[0]) + { + case "attack_hit": + if(var_01 == 0) + { + thread maps\mp\zombies\_zombies_audio::do_zombies_playvocals("attack",self.agent_type); + } + + var_02 = var_00[1]; + if(isdefined(var_02) && isplayer(var_02)) + { + if(isalive(var_02)) + { + if(maps\mp\zombies\_util::getzombieslevelnum() == 4 && self.agent_type == "zombie_boss_oz_stage2") + { + var_02 playlocalsound("zmb_hit_oz_boss"); + } + } + else + { + var_02 playsoundtoplayer("zmb_hit",var_02); + } + } + break; + + case "attack_miss": + if(var_01 == 0) + { + thread maps\mp\zombies\_zombies_audio::do_zombies_playvocals("attack",self.agent_type); + } + break; + } + } +} + +//Function Number: 5 +snd_play_linked_notify_on_ent(param_00,param_01,param_02) +{ + thread snd_play_linked_notify_on_ent_thread(param_00,param_01,param_02); +} + +//Function Number: 6 +snd_play_linked_notify_on_ent_thread(param_00,param_01,param_02) +{ + var_03 = spawn("script_origin",self.origin); + var_03 linkto(self); + var_03 playsound(param_00); + self waittill(param_01); + var_03 scalevolume(0,param_02); + wait(param_02); + var_03 stopsounds(); + wait 0.05; + var_03 delete(); +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/zombie_host.gsc b/AW/PC/maps/mp/zombies/zombie_host.gsc new file mode 100644 index 0000000..d8877f7 --- /dev/null +++ b/AW/PC/maps/mp/zombies/zombie_host.gsc @@ -0,0 +1,208 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\zombie_host.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 17 + * Decompile Time: 292 ms + * Timestamp: 4/22/2024 2:15:09 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level.agent_funcs["zombie_host"] = level.agent_funcs["zombie"]; + level.agent_funcs["zombie_host"]["think"] = level.agent_funcs["zombie_generic"]["think"]; + level.agent_funcs["zombie_host"]["spawn"] = ::spawn_zombie_host; + var_00[0] = ["zom_host_fullbody"]; + level._effect["zombie_eye_host"] = loadfx("vfx/gameplay/mp/zombie/zombie_eye_host"); + level._effect["zombie_eye_host_exec"] = loadfx("vfx/gameplay/mp/zombie/executive_eyes_host"); + level._effect["zombie_eye_host_janitor"] = loadfx("vfx/gameplay/mp/zombie/janitor_eyes_host_"); + level._effect["zombie_eye_host_it"] = loadfx("vfx/gameplay/mp/zombie/lilith_eyes_host"); + level._effect["zombie_eye_host_security"] = loadfx("vfx/gameplay/mp/zombie/securityguard_eyes_host"); + level._effect["zombie_host_hand"] = loadfx("vfx/gameplay/mp/zombie/zombie_host_hand"); + var_01 = spawnstruct(); + var_01.agent_type = "zombie_host"; + var_01.animclass = "zombie_animclass"; + var_01.model_bodies = var_00; + var_01.health_scale = 1; + var_01.meleedamage = 250; + var_01.healthoverridefunc = ::calculatehosthealth; + maps\mp\zombies\_util::agentclassregister(var_01,"zombie_host"); + level.getspawntypefunc["zombie_host"] = ::gethostroundspawntype; + level.candroppickupsfunc["zombie_host"] = ::hostroundcandroppickups; + level.roundstartfunc["zombie_host"] = ::hostroundstart; + level.roundendfunc["zombie_host"] = ::hostroundend; + level.numenemiesthisroundfunc["zombie_host"] = ::hostroundnumenemies; + level.roundspawndelayfunc["zombie_host"] = ::hostroundspawndelay; + level.nummaxenemiesthisroundfunc["zombie_host"] = ::hostroundmaxnumenemies; + level.mutatorfunc["zombie_host"] = ::hostmutator; + level.movemodefunc["zombie_host"] = ::hostcaculatemovemode; + level.moveratescalefunc["zombie_host"] = ::hostcaculatemoveratescale; + level.nonmoveratescalefunc["zombie_host"] = ::hostcalculatenonmoveratescale; + level.traverseratescalefunc["zombie_host"] = ::hostcalculatetraverseratescale; +} + +//Function Number: 2 +spawn_zombie_host(param_00,param_01,param_02) +{ + self [[ level.agent_funcs["zombie"]["spawn"] ]](param_00,param_01,param_02); + self.boostfxtag = "no_boost_fx"; + maps\mp\agents\humanoid\_humanoid_util::enable_humanoid_exo_traverse(); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("zombie_host_hand"),self,"j_wrist_ri"); +} + +//Function Number: 3 +calculatehosthealth() +{ + var_00 = 400; + switch(level.specialroundcounter) + { + case 1: + case 0: + var_00 = 400; + break; + + case 2: + var_00 = 750; + break; + + case 3: + var_00 = 1200; + break; + + default: + var_00 = 1500; + break; + } + + return var_00; +} + +//Function Number: 4 +hostroundstart() +{ + thread hostroundalarm(); +} + +//Function Number: 5 +hostcaculatemovemode() +{ + return "sprint"; +} + +//Function Number: 6 +hostcaculatemoveratescale() +{ + return 0.9 * maps\mp\zombies\_zombies::getbuffspeedmultiplier(); +} + +//Function Number: 7 +hostcalculatenonmoveratescale() +{ + return 1 * maps\mp\zombies\_zombies::getbuffspeedmultiplier(); +} + +//Function Number: 8 +hostcalculatetraverseratescale() +{ + return 1.55 * maps\mp\zombies\_zombies::getbuffspeedmultiplier(); +} + +//Function Number: 9 +hostroundalarm() +{ + var_00 = spawn("script_origin",(0,0,0)); + for(var_01 = 0;var_01 < 3;var_01++) + { + var_00 playsound("zmb_hst_round_start_alarm"); + wait(1.1); + } + + var_00 delete(); +} + +//Function Number: 10 +hostroundend() +{ + maps\mp\gametypes\zombies::createpickuporgive("ammo",level.lastenemydeathpos,"Host Round End"); +} + +//Function Number: 11 +gethostroundspawntype(param_00,param_01) +{ + var_02 = "zombie_host"; + if(!zombiehostcanspawn()) + { + var_02 = "zombie_generic"; + } + + if(param_00 && common_scripts\utility::mod(param_00,5) == 0) + { + var_02 = "zombie_generic"; + } + + return var_02; +} + +//Function Number: 12 +hostroundcandroppickups(param_00) +{ + return 0; +} + +//Function Number: 13 +zombiehostcanspawn() +{ + if(!maps\mp\zombies\_terminals::getiteminmap("host_cure")) + { + return 0; + } + + return 1; +} + +//Function Number: 14 +hostroundnumenemies(param_00) +{ + return min(52,param_00); +} + +//Function Number: 15 +hostroundmaxnumenemies(param_00) +{ + return param_00 - 4; +} + +//Function Number: 16 +hostroundspawndelay(param_00,param_01) +{ + var_02 = 1.5; + switch(level.specialroundcounter) + { + case 1: + case 0: + var_02 = 3; + break; + + case 2: + var_02 = 2.5; + break; + + case 3: + var_02 = 2; + break; + + default: + var_02 = 1.5; + break; + } + + var_02 = var_02 - param_00 / param_01; + return var_02; +} + +//Function Number: 17 +hostmutator(param_00) +{ +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/zombie_melee_goliath.gsc b/AW/PC/maps/mp/zombies/zombie_melee_goliath.gsc new file mode 100644 index 0000000..1492694 --- /dev/null +++ b/AW/PC/maps/mp/zombies/zombie_melee_goliath.gsc @@ -0,0 +1,1684 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\zombie_melee_goliath.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 76 + * Decompile Time: 1297 ms + * Timestamp: 4/22/2024 2:15:13 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level.agent_funcs["zombie_melee_goliath"] = level.agent_funcs["zombie"]; + level.agent_funcs["zombie_melee_goliath"]["think"] = ::zombie_melee_goliath_think; + level.agent_funcs["zombie_melee_goliath"]["on_killed"] = ::onmeleegoliathkilled; + level.agent_funcs["zombie_melee_goliath"]["spawn"] = ::onzombiemeleegoliathspawn; + var_00[0] = ["goliath_melee"]; + var_01 = spawnstruct(); + var_01.agent_type = "zombie_melee_goliath"; + var_01.animclass = "zombie_melee_goliath_animclass"; + var_01.model_bodies = var_00; + var_01.health_scale = 20; + var_01.meleedamage = 90; + var_01.damagescalevssquadmates = 1.5; + var_01.spawnparameter = "zombie_melee_goliath"; + maps\mp\zombies\_util::agentclassregister(var_01,"zombie_melee_goliath"); + level.getspawntypefunc["zombie_melee_goliath"] = ::getmeleegoliathroundspawntype; + level.roundspawndelayfunc["zombie_melee_goliath"] = ::calculatemeleegoliathspawndelay; + level.mutatorfunc["zombie_melee_goliath"] = ::meleegoliathmutator; + level.movemodefunc["zombie_melee_goliath"] = ::meleegoliathcalculatemovemode; + level.moveratescalefunc["zombie_melee_goliath"] = ::meleegoliathcalculatemoveratescale; + level.nonmoveratescalefunc["zombie_melee_goliath"] = ::meleegoliathcalculatenonmoveratescale; + level.traverseratescalefunc["zombie_melee_goliath"] = ::meleegoliathcalculatetraverseratescale; + level.numenemiesthisroundfunc["zombie_melee_goliath"] = ::meleegoliathroundnumenemies; + level.roundstartfunc["zombie_melee_goliath"] = ::meleegoliathroundstart; + level.candroppickupsfunc["zombie_melee_goliath"] = ::meleegoliathroundcandroppickups; + level.trycalculatesectororigin["zombie_melee_goliath"] = ::trycalculatesectororigingoliath; + level.modifyequipmentdamagebyagenttype["zombie_melee_goliath"] = ::meleegoliathmodifyplayerequipmentdamage; + level.modifyweapondamagebyagenttype["zombie_melee_goliath"]["iw5_fusionzm_mp"] = ::meleegoliathmodifycauterizerdamage; + level.modifyweapondamagebyagenttype["zombie_melee_goliath"]["iw5_rhinozm_mp"] = ::meleegoliathmodifys12damage; + level.modifyweapondamagebyagenttype["zombie_melee_goliath"]["iw5_linegunzm_mp"] = ::meleegoliathmodifylinegundamage; + level._effect["zombie_melee_goliath_electric"] = loadfx("vfx/trail/dlc_goliath_melee_electric"); + level._effect["goliath_shield_light"] = loadfx("vfx/trail/dlc_goliath_shield_light"); + level._effect["zombie_melee_goliath_death"] = loadfx("vfx/blood/dlc_goliath_death"); + level._effect["zombie_melee_goliath_emp"] = loadfx("vfx/explosion/emp_grenade_lrg_mp"); + level.numgoliathrounds = 0; + level.meleegoliathspawned = 0; + level.meleegoliathweaponindex = randomint(3); +} + +//Function Number: 2 +spawnenhancedgoliath() +{ + level.zombiesnextspawntype = "zombie_melee_goliath"; + level.enhancenextgoliath = 1; +} + +//Function Number: 3 +meleegoliathroundstart() +{ + level.numgoliathrounds++; + level.meleegoliathspawned = 0; + var_00 = spawn("script_origin",(0,0,0)); + var_00 playsound("zmb_gol_round_start_front"); + wait(1); + var_00 delete(); +} + +//Function Number: 4 +meleegoliathroundcandroppickups(param_00) +{ + return 0; +} + +//Function Number: 5 +onzombiemeleegoliathspawn(param_00,param_01,param_02) +{ + maps\mp\zombies\_util::onspawnscriptagenthumanoid(param_00,param_01,param_02); + self scragentsetspecies("mech"); + self scragentallowboost(1); + level.meleegoliathspawned++; + if(maps\mp\zombies\_util::is_true(self.enhanced)) + { + self.hastraversed = 1; + playfx(common_scripts\utility::getfx("npc_teleport_enemy"),param_00,(1,0,0),(0,0,1)); + playsoundatpos(self.origin,"teleport_goliath_zombie_spawn"); + } + + level notify("onZombieMeleeGoliathSpawn",self); +} + +//Function Number: 6 +calculatemeleegoliathspawndelay(param_00,param_01) +{ + if(level.players.size > 1) + { + if(param_00 == 0 && level.numgoliathrounds <= 1) + { + return 20; + } + else if(param_00 == 0 && level.numgoliathrounds > 1) + { + return 10; + } + } + else if(param_00 == 0 && level.numgoliathrounds <= 1) + { + return 30; + } + else if(param_00 == 0 && level.numgoliathrounds > 1) + { + return 15; + } + + return maps\mp\zombies\zombies_spawn_manager::calculatespawndelay(); +} + +//Function Number: 7 +meleegoliathroundnumenemies(param_00) +{ + return int(0.75 * param_00); +} + +//Function Number: 8 +getmeleegoliathroundspawntype(param_00,param_01) +{ + if(param_00 == 0) + { + return "zombie_melee_goliath"; + } + + return "zombie_generic"; +} + +//Function Number: 9 +meleegoliathmutator(param_00) +{ + param_00 attachgoliathweapons(); + param_00 scragentsetclipmode("agent"); +} + +//Function Number: 10 +attachgoliathweapons() +{ + var_00[0] = "dlc_melee_parking_meter"; + var_00[1] = "dlc_melee_stop_sign"; + var_00[2] = "dlc_melee_axle"; + var_01 = spawn("script_model",self gettagorigin("TAG_WEAPON_RIGHT")); + var_01.angles = self gettagangles("TAG_WEAPON_RIGHT"); + if(maps\mp\zombies\_util::is_true(self.enhanced)) + { + var_01 setmodel("goliath_melee_anchor"); + } + else + { + var_02 = level.meleegoliathweaponindex; + level.meleegoliathweaponindex = common_scripts\utility::mod(level.meleegoliathweaponindex + 1,3); + var_01 setmodel(var_00[var_02]); + } + + var_01 linkto(self,"TAG_WEAPON_RIGHT",(0,0,0),(0,0,0)); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("zombie_melee_goliath_electric"),var_01,"tag_fx"); + self.goliathweapon = var_01; + var_03 = spawn("script_model",self gettagorigin("TAG_WEAPON_LEFT")); + var_03.angles = self gettagangles("TAG_WEAPON_LEFT"); + if(maps\mp\zombies\_util::is_true(self.enhanced)) + { + var_03 setmodel("dlc_ark_riot_shield"); + } + else + { + var_03 setmodel("dlc_bruiser_riot_shield"); + } + + var_03 linkto(self,"TAG_WEAPON_LEFT",(0,0,0),(0,0,0)); + self.goliathshield = var_03; + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("goliath_shield_light"),var_03,"TAG_SHIELD_SPARKS"); +} + +//Function Number: 11 +setupmeleegoliathstate() +{ + self.attackoffset = 70 + self.radius; + self.meleesectortype = "large"; + self.meleesectorupdatetime = 200; + self.attackzheight = 54; + self.attackzheightdown = -64; + self.damagedradiussq = 2250000; + self.ignoreclosefoliage = 1; + self.moveratescale = 1.3; + self.nonmoveratescale = 1.25; + self.traverseratescale = 1.25; + self.generalspeedratescale = 1.25; + self.bhasbadpath = 0; + self.bhasnopath = 1; + self.timeoflastdamage = 0; + self.allowcrouch = 1; + self.meleecheckheight = 40; + self.meleeradiusbase = 60; + self.meleeradiusbasesq = squared(self.meleeradiusbase); + maps\mp\zombies\_util::setmeleeradius(self.meleeradiusbase); + self.defaultgoalradius = self.radius + 1; + self scragentsetgoalradius(self.defaultgoalradius); + self.meleedot = 0.5; + self.ignoreexpiretime = 1; + self.ignorezombierecycling = 1; + maps\mp\agents\humanoid\_humanoid_util::lungemeleeupdate(1,self.meleeradiusbase * 2,self.meleeradiusbase * 1.5,"attack_lunge_boost",level._effect["boost_lunge"]); + maps\mp\agents\humanoid\_humanoid_util::lungemeleeenable(); + self.animcbs.onenter["melee"] = ::goliath_melee; + self.boostfxtag = "no_boost_fx"; + self.traversecost = 1; + self.spinattackready = 0; + self.aggroattackready = 0; + self.aggrodamage = 0; + self.lungeattackready = 1; + self.lungelast = 0; + self.shouldplaystophitreactionfunc = ::meleegoliathshouldplaystophitreaction; + self.ondamagepainsensorfunc = ::ondamagepainsensor; +} + +//Function Number: 12 +zombie_melee_goliath_enhance() +{ + var_00 = level.agentclasses[self.agent_type].model_bodies[0]; + level.agentclasses[self.agent_type].model_bodies[0] = ["goliath_melee_ark"]; + self.enhanced = 1; + wait(0.05); + var_01 = int(self.health * 1.5 * maps\mp\zombies\_util::getnumplayers() / 4); + if(level.wavecounter <= 10) + { + var_01 = int(var_01 * 0.5); + } + else if(level.wavecounter <= 15) + { + var_01 = int(var_01 * 0.75); + } + + maps\mp\agents\_agent_common::set_agent_health(var_01); + self.nomutatormodelswap = 1; + self.nomutatorspawnsound = 1; + if(level.wavecounter > 15) + { + thread maps\mp\zombies\_mutators::mutator_apply("emz"); + } + + if(level.wavecounter > 10) + { + thread maps\mp\zombies\_mutators::mutator_apply("teleport"); + } + + thread stay_in_playspace(); + level.agentclasses[self.agent_type].model_bodies[0] = var_00; +} + +//Function Number: 13 +stay_in_playspace() +{ + self endon("death"); + level endon("game_ended"); + self endon("owner_disconnect"); + for(;;) + { + if(isdefined(level.zone_data) && !maps\mp\zombies\_zombies_zone_manager::iszombieinanyzone(self)) + { + var_00 = maps\mp\zombies\_zombies::getspawnpoint("zombie_melee_goliath",1); + playfx(common_scripts\utility::getfx("npc_teleport_enemy"),self.origin,(1,0,0),(0,0,1)); + self setorigin(var_00.origin,1); + self setplayerangles(var_00.angles); + playfx(common_scripts\utility::getfx("npc_teleport_enemy"),var_00.origin,(1,0,0),(0,0,1)); + } + + wait(0.05); + } +} + +//Function Number: 14 +zombie_melee_goliath_think() +{ + self endon("death"); + level endon("game_ended"); + self endon("owner_disconnect"); + if(isdefined(level.enhancenextgoliath)) + { + thread zombie_melee_goliath_enhance(); + level.enhancenextgoliath = undefined; + } + + maps\mp\agents\humanoid\_humanoid::setuphumanoidstate(); + setupmeleegoliathstate(); + thread maps\mp\zombies\_zombies::zombieaimonitorthreads(); + thread maps\mp\zombies\_util::waitforbadpath(); + thread maps\mp\zombies\zombie_generic::zombie_generic_moan(); + thread maps\mp\zombies\zombie_generic::zombie_audio_monitor(); + thread maps\mp\zombies\_zombies::updatebuffs(); + thread maps\mp\zombies\_zombies::updatepainsensor(); + thread collidewithnearbyzombies(); + thread updatemeleegoliathlungecooldown(); + thread updatemeleegoliathspinattackcooldown(); + thread updatemeleegoliathempattackcooldown(); + thread updatemissiletargets(); + thread updateweaponstate(); + for(;;) + { + if(isdefined(self.isscripted)) + { + wait(0.05); + continue; + } + + if(goliath_begin_special_attack()) + { + wait(0.05); + continue; + } + + if(goliath_begin_melee()) + { + wait(0.05); + continue; + } + + if(goliath_destroy_distraction_drone()) + { + wait(0.05); + continue; + } + + if(maps\mp\zombies\_behavior::humanoid_seek_enemy_melee(1)) + { + wait(0.05); + continue; + } + + if(maps\mp\zombies\_behavior::humanoid_seek_enemies_all_known()) + { + wait(0.05); + continue; + } + + maps\mp\zombies\_behavior::humanoid_seek_random_loc(); + wait(0.05); + } +} + +//Function Number: 15 +goliath_begin_special_attack() +{ + if(self.ignoreall) + { + return 0; + } + + if(!isdefined(self.curmeleetarget)) + { + return 0; + } + + if(self.aistate == "melee" || maps\mp\agents\_scripted_agent_anim_util::isstatelocked()) + { + return 0; + } + + if(!maps\mp\zombies\_util::has_entered_game()) + { + return 0; + } + + if(!self.aggroattackready) + { + return 0; + } + + var_00 = lengthsquared(self.curmeleetarget.origin - self.origin); + if(var_00 > squared(500)) + { + return 0; + } + + self scragentbeginmelee(self.curmeleetarget); + return 1; +} + +//Function Number: 16 +goliath_begin_melee() +{ + if(self.ignoreall) + { + return 0; + } + + if(!isdefined(self.curmeleetarget)) + { + return 0; + } + + if(self.aistate == "melee" || maps\mp\agents\_scripted_agent_anim_util::isstatelocked()) + { + return 0; + } + + if(!maps\mp\zombies\_util::has_entered_game()) + { + return 0; + } + + if(maps\mp\agents\humanoid\_humanoid::wanttoattacktargetbutcant()) + { + return 0; + } + + if(maps\mp\agents\humanoid\_humanoid::didpastmeleefail()) + { + return 0; + } + + var_00 = maps\mp\zombies\_util::is_true(self.lungemeleeenabled) && isdefined(self.lungelast) && gettime() - self.lungelast <= self.lungedebouncems; + if(!self.lungeattackready || maps\mp\agents\humanoid\_humanoid::didpastlungemeleefail() || var_00) + { + if(!goliathreadytomeleetarget("base")) + { + return 0; + } + } + else if(!goliathreadytomeleetarget("normal")) + { + return 0; + } + + if(isdefined(self.meleedebouncetime)) + { + var_01 = gettime() - self.lastmeleefinishtime; + if(var_01 < self.meleedebouncetime * 1000) + { + return 0; + } + } + + if(!isdefined(self.lastmeleepos) || distancesquared(self.lastmeleepos,self.origin) > 256) + { + self.meleemovemode = self.movemode; + } + + self scragentbeginmelee(self.curmeleetarget); + return 1; +} + +//Function Number: 17 +goliath_destroy_distraction_drone() +{ + if(!isdefined(self.distractiondrone)) + { + return 0; + } + + if(self.ignoreall) + { + return 0; + } + + if(self.aistate == "melee" || maps\mp\agents\_scripted_agent_anim_util::isstatelocked()) + { + return 0; + } + + if(!maps\mp\zombies\_util::has_entered_game()) + { + return 0; + } + + var_00 = lengthsquared(self.distractiondrone.origin - self.origin); + if(var_00 > squared(120)) + { + return 0; + } + + if(length(self getvelocity()) > 0) + { + return 0; + } + + self.curmeleetarget = self.distractiondrone; + self scragentbeginmelee(self.distractiondrone); + return 1; +} + +//Function Number: 18 +goliathreadytomeleetarget(param_00) +{ + if(!isdefined(self.curmeleetarget)) + { + return 0; + } + + if(!maps\mp\_utility::isreallyalive(self.curmeleetarget)) + { + return 0; + } + + if(self.aistate == "traverse") + { + return 0; + } + + if(!maps\mp\agents\humanoid\_humanoid_util::isentstandingonme(self.curmeleetarget)) + { + if(!maps\mp\agents\humanoid\_humanoid::iswithinattackheight(self.curmeleetarget.origin)) + { + return 0; + } + + if(param_00 == "normal" && !withinmeleeradiusgoliath()) + { + return 0; + } + else if(param_00 == "base" && !withinmeleeradiusbasegoliath()) + { + return 0; + } + } + + if(maps\mp\agents\humanoid\_humanoid_melee::ismeleeblocked()) + { + return 0; + } + + return 1; +} + +//Function Number: 19 +withinmeleeradiusgoliath() +{ + return distancesquared(self.origin,self.curmeleetarget.origin) <= squared(250); +} + +//Function Number: 20 +withinmeleeradiusbasegoliath() +{ + return distancesquared(self.origin,self.curmeleetarget.origin) <= squared(120); +} + +//Function Number: 21 +goliath_melee() +{ + self endon("death"); + self endon("killanimscript"); + self.curmeleetarget endon("disconnect"); + if(isdefined(self.distractiondrone) && self.distractiondrone == self.curmeleetarget) + { + childthread meleegoliathattackstandard(self.curmeleetarget,self.curmeleetarget.origin); + self waittill("cancel_updatelerppos"); + self.distractiondrone maps\mp\zombies\weapons\_zombie_distraction_drone::destroydrone(1); + return; + } + + if(self.aggroattackready) + { + meleegoliathattackempstomp(self.curmeleetarget,self.origin); + return; + } + + var_00 = maps\mp\agents\humanoid\_humanoid::getmeleeattackpoint(self.curmeleetarget); + if(maps\mp\agents\humanoid\_humanoid_melee::ismeleeblocked()) + { + return maps\mp\agents\humanoid\_humanoid_melee::meleefailed(); + } + + if(self.spinattackready && isdefined(self.lastlungelocation)) + { + var_01 = length(var_00.origin - self.lastlungelocation); + if(var_01 < 150) + { + meleegoliathattackspin(self.curmeleetarget,self.origin); + return; + } + } + + if(maps\mp\zombies\_util::is_true(self.lungemeleeenabled) && var_00.valid) + { + if(isdefined(self.meleemovemode) && self.lungeattackready) + { + var_02 = maps\mp\agents\humanoid\_humanoid_util::canhumanoidmovepointtopoint(self.origin,var_00.origin); + if(var_02) + { + self.lungelast = gettime(); + meleegoliathattacklunge(self.curmeleetarget,var_00.origin); + return; + } + } + + if(!withinmeleeradiusbasegoliath()) + { + maps\mp\agents\humanoid\_humanoid_melee::lungemeleefailed(); + return; + } + } + + meleegoliathattackstandard(self.curmeleetarget,var_00.origin); +} + +//Function Number: 22 +meleegoliathattackstandard(param_00,param_01) +{ + var_02 = "attack_stand"; + var_03 = 0; + if(isdefined(self.meleemovemode)) + { + var_02 = "attack_" + self.meleemovemode; + var_03 = 1; + self.meleemovemode = undefined; + } + + meleegoliathdoattack(param_00,param_01,var_02,1,var_03,1.25); +} + +//Function Number: 23 +meleegoliathattacklunge(param_00,param_01) +{ + meleegoliathdoattack(param_00,param_01,self.lungeanimstate,1,1,1.25); +} + +//Function Number: 24 +meleegoliathattackspin(param_00,param_01) +{ + meleegoliathdoattack(param_00,param_01,"attack_spin",0,0,1.25); +} + +//Function Number: 25 +meleegoliathattackempstomp(param_00,param_01) +{ + meleegoliathdoattack(param_00,param_01,"stand_attack_stomp",0,0,1.25); +} + +//Function Number: 26 +meleegoliathdoattack(param_00,param_01,param_02,param_03,param_04,param_05) +{ + self.lastmeleefailedmypos = undefined; + self.lastmeleefailedpos = undefined; + var_06 = randomint(self getanimentrycount(param_02)); + var_07 = self getanimentry(param_02,var_06); + var_08 = getanimlength(var_07); + var_09 = getnotetracktimes(var_07,"hit_left"); + var_0A = getnotetracktimes(var_07,"hit_right"); + var_0B = getnotetracktimes(var_07,"hit_aoe"); + var_0C = gethittime(var_08,param_05,var_09,undefined); + var_0C = gethittime(var_08,param_05,var_0A,var_0C); + var_0C = gethittime(var_08,param_05,var_0B,var_0C); + self scragentsetphysicsmode("gravity"); + if(param_04) + { + self scragentsetorientmode("face enemy"); + } + else + { + self scragentsetorientmode("face angle abs",(0,vectortoyaw(param_00.origin - self.origin),0)); + } + + self scragentsetanimmode("anim deltas"); + maps\mp\agents\_scripted_agent_anim_util::set_anim_state(param_02,var_06,param_05); + thread goliathmeleecomplete(param_02,var_08); + var_0D = undefined; + if(param_03 && param_02 != "attack_lunge_boost") + { + var_0D = 100; + } + + if(param_03) + { + self scragentsetanimscale(0,1); + self scragentdoanimlerp(self.origin,param_01,var_0C); + childthread updatemeleegoliathlerppos(param_00,var_0C,1,var_0D); + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(1,"DoAttack"); + } + else + { + self scragentsetanimscale(1,1); + } + + if(var_0B.size > 0) + { + childthread empblast(var_0C); + } + else + { + childthread updatemeleesweeper(param_00,var_07,var_08,param_05,var_09,self.goliathshield); + childthread updatemeleesweeper(param_00,var_07,var_08,param_05,var_0A,self.goliathweapon); + } + + wait(var_0C); + self notify("cancel_updatelerppos"); + self scragentsetanimmode("anim deltas"); + self scragentsetanimscale(1,1); + if(param_03) + { + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(0,"DoAttack"); + } + + self.lastmeleepos = self.origin; + var_0E = var_08 / param_05 - var_0C; + if(var_0E > 0) + { + maps\mp\agents\_scripted_agent_anim_util::waituntilnotetrack_safe("attack_anim","end",var_0E); + } + + self notify("cancel_updatelerppos"); + self scragentsetanimmode("anim deltas"); + self scragentsetanimscale(1,1); + if(param_03) + { + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(0,"DoAttack"); + } +} + +//Function Number: 27 +goliathmeleecomplete(param_00,param_01) +{ + maps\mp\_utility::waitfortimeornotify(param_01,"killanimscript"); + switch(param_00) + { + case "attack_lunge_boost": + self.lastlungelocation = self.origin; + self.lungeattackready = 0; + break; + + case "attack_spin": + self.spinattackready = 0; + break; + + case "stand_attack_stomp": + self.aggroattackready = 0; + self.aggrodamage = 0; + break; + + default: + break; + } + + self.lastmeleefinishtime = gettime(); + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(0,"DoAttack"); +} + +//Function Number: 28 +gethittime(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_02) || param_02.size == 0) + { + return param_03; + } + + var_04 = param_00 / param_01 * param_02[0]; + if(isdefined(param_03) && param_03 < var_04) + { + return param_03; + } + + return var_04; +} + +//Function Number: 29 +updatemeleegoliathlerppos(param_00,param_01,param_02,param_03) +{ + self endon("killanimscript"); + self endon("death"); + self endon("cancel_updatelerppos"); + param_00 endon("disconnect"); + param_00 endon("death"); + var_04 = self.origin; + var_05 = param_01; + var_06 = 0.05; + for(;;) + { + wait(var_06); + var_05 = var_05 - var_06; + if(var_05 <= 0) + { + break; + } + + var_07 = maps\mp\agents\humanoid\_humanoid_melee::getupdatedattackpos(param_00,param_02); + if(!isdefined(var_07)) + { + break; + } + + if(isdefined(param_03)) + { + var_08 = param_03; + var_09 = var_07 - var_04; + if(lengthsquared(var_09) > var_08 * var_08) + { + var_07 = var_04 + vectornormalize(var_09) * var_08; + } + } + + self scragentsetorientmode("face enemy"); + self scragentdoanimlerp(self.origin,var_07,var_05); + } +} + +//Function Number: 30 +updatemeleesweeper(param_00,param_01,param_02,param_03,param_04,param_05) +{ + self endon("death"); + level endon("game_ended"); + if(param_04.size == 0) + { + return; + } + + if(common_scripts\utility::mod(param_04.size,2) != 0) + { + } + + var_06 = param_02 / param_03 * param_04[0]; + var_07 = param_02 / param_03 * param_04[1]; + var_08 = 0; + var_09 = 0.05; + self.hittargets = []; + wait(var_06); + var_0A = var_07 - var_06; + while(var_08 <= var_0A) + { + wait(var_09); + var_08 = var_08 + var_09; + checkmeleesweeperhit(param_00,param_05); + } +} + +//Function Number: 31 +checkmeleesweeperhit(param_00,param_01) +{ + var_02 = param_01 gettagorigin("tag_impact"); + var_03 = var_02 - self.origin * (1,1,0); + var_04 = length(var_03); + foreach(var_06 in level.participants) + { + if(!isdefined(var_06)) + { + continue; + } + + if(maps\mp\zombies\_util::isplayerinlaststand(var_06)) + { + continue; + } + + if(isalliedsentient(var_06,self)) + { + continue; + } + + checkmeleesweeperhittarget(var_06,var_02,var_03,var_04,self.meleedamage); + } + + if(isdefined(param_00) && isdefined(param_00.issentry) && param_00.issentry) + { + checkmeleesweeperhittarget(param_00,var_02,var_03,var_04,param_00.maxhealth / 2); + } +} + +//Function Number: 32 +checkmeleesweeperhittarget(param_00,param_01,param_02,param_03,param_04) +{ + if(common_scripts\utility::array_contains(self.hittargets,param_00)) + { + return; + } + + if(!checkmeleeheight(param_00,param_01[2])) + { + return; + } + + var_05 = param_00.origin - self.origin * (1,1,0); + var_06 = length(var_05); + if(var_06 > param_03 + 40) + { + return; + } + + if(vectordot(var_05,param_02) < 0.707) + { + return; + } + + self notify("attack_hit",param_00,self.origin); + maps\mp\agents\humanoid\_humanoid_melee::domeleedamage(param_00,param_04,"MOD_IMPACT"); + self.hittargets[self.hittargets.size] = param_00; +} + +//Function Number: 33 +checkmeleeheight(param_00,param_01) +{ + var_02 = self.origin[2] + 80; + var_03 = max(var_02,param_01); + var_04 = self.origin[2]; + var_05 = param_00 geteye()[2]; + var_06 = param_00.origin[2]; + if(var_05 >= var_04 && var_05 <= var_03) + { + return 1; + } + + if(var_06 >= var_04 && var_06 <= var_03) + { + return 1; + } + + return 0; +} + +//Function Number: 34 +meleegoliathcalculatemovemode() +{ + return "run"; +} + +//Function Number: 35 +meleegoliathcalculatemoveratescale() +{ + return 1.3 * meleegoliathgetbuffspeedmultiplier(); +} + +//Function Number: 36 +meleegoliathcalculatenonmoveratescale() +{ + return 1.25 * meleegoliathgetbuffspeedmultiplier(); +} + +//Function Number: 37 +meleegoliathcalculatetraverseratescale() +{ + return 1.25 * meleegoliathgetbuffspeedmultiplier(); +} + +//Function Number: 38 +meleegoliathgetbuffspeedmultiplier() +{ + var_00 = maps\mp\zombies\_zombies::getbuffspeedmultiplier(); + if(var_00 < 1) + { + return clamp(var_00 * 1.25,0,1); + } + + return var_00; +} + +//Function Number: 39 +updatemeleegoliathlungecooldown() +{ + self endon("death"); + level endon("game_ended"); + var_00 = 0.05; + for(;;) + { + wait(var_00); + if(!isdefined(self.lastlungelocation) || !isdefined(self.curmeleetarget)) + { + continue; + } + + var_01 = maps\mp\agents\humanoid\_humanoid::getmeleeattackpoint(self.curmeleetarget); + if(!isdefined(var_01.origin)) + { + continue; + } + + var_02 = length(var_01.origin - self.lastlungelocation); + if(var_02 < 100) + { + continue; + } + + self.lungeattackready = 1; + } +} + +//Function Number: 40 +getmeleegoliathspinattackcooldown() +{ + if(level.players.size > 1) + { + return 15; + } + + return 5; +} + +//Function Number: 41 +updatemeleegoliathspinattackcooldown() +{ + self endon("death"); + level endon("game_ended"); + var_00 = 0.05; + var_01 = 0; + for(;;) + { + wait(var_00); + if(!self.spinattackready) + { + var_01 = var_01 + var_00; + } + + if(var_01 < getmeleegoliathspinattackcooldown()) + { + continue; + } + + self.spinattackready = 1; + var_01 = 0; + } +} + +//Function Number: 42 +updatemeleegoliathempattackcooldown() +{ + self endon("death"); + level endon("game_ended"); + var_00 = 0.05; + var_01 = var_00 * 5; + var_02 = 0; + for(;;) + { + wait(var_00); + if(!self.aggroattackready) + { + var_02 = var_02 + var_00; + } + + if(var_02 < 15) + { + continue; + } + + self.aggrodamage = max(self.aggrodamage,0); + if(self.aggrodamage < 2000) + { + continue; + } + + self.aggroattackready = 1; + var_02 = 0; + } +} + +//Function Number: 43 +meleegoliathshouldplaystophitreaction() +{ + if(self.aistate == "melee" && !self.aggroattackready) + { + return 1; + } + + return 0; +} + +//Function Number: 44 +ondamagepainsensor(param_00,param_01,param_02) +{ + self.aggrodamage = self.aggrodamage + param_00; +} + +//Function Number: 45 +meleegoliathmodifyplayerequipmentdamage(param_00,param_01,param_02) +{ + if(!isdefined(self.goliathshield)) + { + return param_01; + } + + var_03 = self.goliathshield gettagorigin("tag_origin") - self.origin * (1,1,0); + var_04 = param_02 - self.origin * (1,1,0); + if(vectordot(var_03,var_04) > 0) + { + return int(param_01 * 0.2); + } + + return param_01; +} + +//Function Number: 46 +meleegoliathmodifycauterizerdamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + return int(param_02 * 0.7); +} + +//Function Number: 47 +meleegoliathmodifys12damage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + return int(param_02 * 0.7); +} + +//Function Number: 48 +meleegoliathmodifylinegundamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + return int(param_02 * 0.7); +} + +//Function Number: 49 +onmeleegoliathkilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + var_09 = self.body; + maps\mp\zombies\_zombies::onzombiekilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08); + if(isdefined(param_01) && isplayer(param_01) && param_03 == "MOD_MELEE") + { + param_01 maps\mp\gametypes\zombies::givezombieachievement("DLC2_ZOMBIE_LOVETAP"); + } + + thread meleegoliathdeath(var_09,self.goliathweapon,self.goliathshield); + var_0A = ["nuke","ammo"]; + var_0B = var_0A[common_scripts\utility::mod(level.meleegoliathspawned,var_0A.size)]; + if(level.roundtype == "zombie_melee_goliath") + { + maps\mp\gametypes\zombies::createpickup(var_0B,self.origin); + } +} + +//Function Number: 50 +meleegoliathdeath(param_00,param_01,param_02) +{ + var_03 = self getanimentry(); + var_04 = getanimlength(var_03); + var_05 = 1; + var_06 = getnotetracktimes(var_03,"explode"); + var_07 = var_04 / var_05 * var_06[0]; + param_00 = self.body; + wait(var_07); + param_01 delete(); + param_02 delete(); + if(!isdefined(param_00)) + { + return; + } + + if(level.nextgen) + { + param_00 spawngibparts(); + } + + param_00 playmeleezombiekilledfx(); +} + +//Function Number: 51 +drawdebuglimb(param_00,param_01,param_02,param_03) +{ + var_04 = 0; + while(var_04 <= param_02) + { + var_04 = var_04 + 0.05; + wait 0.05; + } +} + +//Function Number: 52 +playmeleezombiekilledfx() +{ + var_00 = common_scripts\utility::getfx("zombie_melee_goliath_death"); + var_01 = level.dismemberment["full"]["fxTagName"]; + var_02 = self gettagorigin(var_01); + playfx(var_00,var_02); + earthquake(randomfloatrange(0.75,1.25),0.35,var_02,256); + self playsound("zmb_goliath_death_destruct"); + self hide(); + self hideallparts(); +} + +//Function Number: 53 +spawngibparts() +{ + var_00 = []; + var_01 = []; + var_00[var_00.size] = "goliath_head_phys"; + var_00[var_00.size] = "goliath_l_arm_phys"; + var_01[var_01.size] = "J_Head"; + var_01[var_01.size] = "J_Shoulder_LE"; + if(randomfloat(1) < 0.5) + { + var_00[var_00.size] = "goliath_r_arm_phys"; + var_01[var_01.size] = "J_Shoulder_RI"; + } + else + { + var_00[var_00.size] = "goliath_l_leg_phys"; + var_01[var_01.size] = "J_Hip_LE"; + } + + var_02 = 0; + var_03 = 3; + var_04 = 360 / var_03; + var_05 = randomint(360); + for(var_02 = 0;var_02 < var_03;var_02++) + { + var_06 = anglestoforward((0,common_scripts\utility::mod(var_05 + var_04 * var_02,360),0)); + var_07 = self gettagorigin("tag_origin") + (0,0,10); + spawngib(var_00[var_02],var_07 + var_06 * 25,self gettagangles(var_01[var_02]),var_06); + } +} + +//Function Number: 54 +spawngib(param_00,param_01,param_02,param_03) +{ + var_04 = spawn("script_model",param_01); + var_04 setmodel(param_00); + var_04.angles = param_02; + var_05 = (randomfloatrange(-2000,2000),randomfloatrange(-2000,2000),randomfloatrange(-2000,2000)); + var_06 = vectornormalize(common_scripts\utility::randomvectorincone((0,0,1.75) + param_03,15)); + var_04 physicslaunchclientwithimpulse(var_06 * 4000,var_05); + var_04 deleteonhostmigration(); + if(level.nextdismemberedbodypartindex < level.dismemberedbodyparts.size) + { + level.dismemberedbodyparts[level.nextdismemberedbodypartindex] delete(); + } + + level.dismemberedbodyparts[level.nextdismemberedbodypartindex] = var_04; + level.nextdismemberedbodypartindex = level.nextdismemberedbodypartindex + 1 % 20; +} + +//Function Number: 55 +drawdebug() +{ + self endon("death"); + level endon("game_ended"); + for(;;) + { + wait(0.05); + if(isdefined(self.curmeleetarget)) + { + } + + if(isdefined(self.curmeleetarget)) + { + var_00 = maps\mp\agents\humanoid\_humanoid::getmeleeattackpoint(self.curmeleetarget); + if(isdefined(var_00) && isdefined(var_00.origin)) + { + } + } + } +} + +//Function Number: 56 +collidewithnearbyzombies() +{ + self endon("death"); + level endon("game_ended"); + var_00 = squared(50); + for(;;) + { + wait(0.05); + var_01 = anglestoforward(self.angles * (0,1,0)); + var_02 = length(self getvelocity()); + if(var_02 < 50) + { + continue; + } + + foreach(var_04 in level.agentarray) + { + if(!isdefined(var_04) || !isalive(var_04) || var_04 == self || isdefined(var_04.team) && isenemyteam(self.team,var_04.team)) + { + continue; + } + + if(isdefined(var_04.agent_type) && var_04.agent_type == "zombie_melee_goliath") + { + continue; + } + + if(distancesquared(self.origin,var_04.origin) > var_00) + { + continue; + } + + var_05 = var_04.origin - self.origin * (1,1,0); + if(vectordot(var_05,var_01) < 0) + { + continue; + } + + var_05 = vectornormalize(var_05); + collidewithagent(var_04,var_05); + } + } +} + +//Function Number: 57 +collidewithagent(param_00,param_01) +{ + recycleagent(param_00); + if(randomfloat(1) < 0.5) + { + ragdollagent(param_00,param_01,"MOD_EXPLOSIVE",2,3); + return; + } + + ragdollagent(param_00,param_01,"MOD_MELEE",3,5); +} + +//Function Number: 58 +recycleagent(param_00) +{ + if(!isdefined(param_00.agent_type)) + { + return; + } + + if(maps\mp\zombies\_zombies::shouldrecycle()) + { + thread maps\mp\zombies\_zombies::recyclezombie(param_00.agent_type); + } +} + +//Function Number: 59 +ragdollagent(param_00,param_01,param_02,param_03,param_04) +{ + param_00.ragdollimmediately = 1; + param_00 dodamage(param_00.health + 1000,param_00 geteye(),self,undefined,param_02,"meleeGoliathFriendlyFire","none"); + var_05 = self.origin - param_01 + (0,0,8); + wait(0.1); + var_06 = randomfloatrange(3,5); + physicsexplosionsphere(var_05,128,0,var_06,0); +} + +//Function Number: 60 +updateweaponstate() +{ + self endon("death"); + level endon("game_ended"); + self.weaponstate = 0; + for(;;) + { + wait(0.05); + switch(self.weaponstate) + { + case 0: + updateweaponready(); + break; + + case 1: + updateweaponfiring(); + break; + + case 2: + updateweaponreloading(); + break; + } + } +} + +//Function Number: 61 +updateweaponready() +{ + var_00 = squared(180); + for(;;) + { + wait 0.05; + if(self.aistate == "traverse" || self.aistate == "melee") + { + continue; + } + + if(!isdefined(self.threats) || self.threats.size == 0) + { + continue; + } + + if(!isdefined(self.curmeleetarget)) + { + continue; + } + + if(lengthsquared(self.curmeleetarget.origin - self.origin) < var_00) + { + continue; + } + + break; + } + + self.weaponstate = 1; +} + +//Function Number: 62 +missilestartlocation() +{ + return self geteye() + (0,0,45); +} + +//Function Number: 63 +firemissile(param_00) +{ + var_01 = 32; + self weaponlockstart(param_00); + var_02 = missilestartlocation(); + var_03 = (randomintrange(-1 * var_01,var_01),randomintrange(-1 * var_01,var_01),randomintrange(-1 * var_01,var_01)); + var_04 = param_00 geteye() + var_03; + var_05 = magicbullet("goliath_rocket_mp",var_02,var_04,self); + var_05 missile_settargetent(param_00,(0,0,32)); + var_05.owner = self; + var_05 thread empmissile(); +} + +//Function Number: 64 +empmissile() +{ + self waittill("death"); + if(!isdefined(self)) + { + return; + } + + var_00 = squared(150); + var_01 = self.origin; + playfx(level._effect["zombie_melee_goliath_emp"],var_01); + foreach(var_03 in level.participants) + { + if(distancesquared(var_01,var_03.origin) > var_00) + { + continue; + } + + if(maps\mp\zombies\_util::isplayerinlaststand(var_03)) + { + continue; + } + + if(isalliedsentient(var_03,self.owner)) + { + continue; + } + + if(isdefined(var_03.exosuitonline) && var_03.exosuitonline) + { + var_03 thread maps\mp\zombies\_mutators::mutatoremz_applyemp(); + } + + var_03 playlocalsound("zmb_emz_impact"); + } +} + +//Function Number: 65 +updateweaponfiring() +{ + if(isdefined(self.threats) && self.aistate != "traverse") + { + foreach(var_01 in self.threats) + { + if(evaluate_threat_valid_threat(var_01) == -1 || evaluate_threat_behavior(var_01) == -1) + { + continue; + } + + firemissile(var_01); + wait(0.01); + } + } + + self.weaponstate = 2; +} + +//Function Number: 66 +updateweaponreloading() +{ + if(level.players.size > 1) + { + if(level.numgoliathrounds <= 1 && !maps\mp\zombies\_util::is_true(self.enhanced)) + { + wait(randomfloatrange(10,15)); + } + else + { + wait(randomfloatrange(6,8)); + } + } + else if(level.numgoliathrounds <= 1 && !maps\mp\zombies\_util::is_true(self.enhanced)) + { + wait(randomfloatrange(15,20)); + } + else + { + wait(randomfloatrange(10,15)); + } + + self.weaponstate = 0; +} + +//Function Number: 67 +updatemissiletargets() +{ + self endon("death"); + level endon("game_ended"); + var_00 = 0.05; + for(;;) + { + wait(var_00); + var_01 = undefined; + var_02 = -1; + var_03 = []; + foreach(var_05 in level.participants) + { + wait(0.05); + var_06 = calculate_threat_level(var_05); + if(var_06 < 0) + { + continue; + } + + var_03[var_03.size] = var_05; + } + + self.threats = var_03; + } +} + +//Function Number: 68 +calculate_threat_level(param_00) +{ + var_01 = 0; + var_02[0] = ::evaluate_threat_valid_threat; + var_02[1] = ::evaluate_threat_melee_target; + var_02[2] = ::evaluate_threat_behavior; + var_02[3] = ::evaluate_threat_los; + for(var_03 = 0;var_03 < var_02.size;var_03++) + { + var_04 = self [[ var_02[var_03] ]](param_00); + if(var_04 < 0) + { + return -1; + } + + var_01 = var_01 + var_04; + } + + return var_01 / var_02.size; +} + +//Function Number: 69 +evaluate_threat_valid_threat(param_00) +{ + if(!isdefined(param_00) || !isalive(param_00)) + { + return -1; + } + + if(isdefined(param_00.ignoreme) && param_00.ignoreme == 1) + { + return -1; + } + + if(param_00 isnotarget()) + { + return -1; + } + + if(isalliedsentient(param_00,self)) + { + return -1; + } + + if(maps\mp\zombies\_util::shouldignoreent(param_00)) + { + return -1; + } + + if(maps\mp\zombies\_util::isplayerinfected(param_00)) + { + return -1; + } + + return 1; +} + +//Function Number: 70 +evaluate_threat_behavior(param_00) +{ + if(isdefined(param_00.empgrenaded) && param_00.empgrenaded == 1) + { + return -1; + } + + if(!param_00 isjumping() && distance2dsquared(self.origin,param_00.origin) < 250000) + { + return -1; + } + + return 1; +} + +//Function Number: 71 +evaluate_threat_range(param_00) +{ + var_01 = length(param_00.origin - self.origin); + var_02 = max(1 - var_01 / 1500,0); + return var_02; +} + +//Function Number: 72 +evaluate_threat_los(param_00) +{ + if(trace_to_enemy(missilestartlocation(),param_00,undefined)) + { + return 1; + } + + return -1; +} + +//Function Number: 73 +trace_to_enemy(param_00,param_01,param_02) +{ + var_03 = bullettrace(param_00,param_01 geteye(),0,self.goliathshield,0,0,0,0,0); + return var_03["fraction"] == 1; +} + +//Function Number: 74 +evaluate_threat_melee_target(param_00) +{ + if(!isdefined(self.curmeleetarget)) + { + return 1; + } + + if(self.curmeleetarget == param_00 && lengthsquared(param_00.origin - self.origin) < squared(350)) + { + return -1; + } + + return 1; +} + +//Function Number: 75 +empblast(param_00) +{ + wait(param_00); + var_01 = self gettagorigin("J_Ankle_RI"); + var_02 = squared(500); + playfx(level._effect["zombie_melee_goliath_emp"],var_01); + foreach(var_04 in level.participants) + { + if(evaluate_threat_valid_threat(var_04) == -1) + { + continue; + } + + if(distancesquared(var_04.origin,var_01) > var_02) + { + continue; + } + + if(isdefined(var_04.exosuitonline) && var_04.exosuitonline) + { + var_04 thread maps\mp\zombies\_mutators::mutatoremz_applyemp(); + } + + var_04 playlocalsound("zmb_emz_impact"); + } +} + +//Function Number: 76 +trycalculatesectororigingoliath(param_00,param_01,param_02,param_03) +{ + if(gettime() - param_00.timestamp >= 50) + { + param_00.origin = maps\mp\agents\humanoid\_humanoid_util::meleesectortargetposition(param_01,param_00.num,param_02); + param_00.origin = maps\mp\agents\humanoid\_humanoid_util::dropsectorpostoground(param_00.origin,15,55); + param_00.timestamp = gettime(); + if(isdefined(param_00.origin)) + { + var_04 = self.meleecheckheight; + if(!isdefined(var_04)) + { + var_04 = 40; + } + + var_05 = param_00.origin + (0,0,var_04); + var_06 = param_01 + (0,0,var_04); + var_07 = physicstrace(var_05,var_06); + if(distancesquared(var_07,var_06) > 1) + { + param_00.origin = undefined; + return; + } + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/zombie_murderbot.gsc b/AW/PC/maps/mp/zombies/zombie_murderbot.gsc new file mode 100644 index 0000000..b48688e --- /dev/null +++ b/AW/PC/maps/mp/zombies/zombie_murderbot.gsc @@ -0,0 +1,976 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\zombie_murderbot.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 43 + * Decompile Time: 642 ms + * Timestamp: 4/22/2024 2:15:16 AM +*******************************************************************/ + +//Function Number: 1 +init() +{ + level.agent_funcs["zombie_murderbot"] = level.agent_funcs["zombie"]; + level.agent_funcs["zombie_murderbot"]["think"] = ::zombie_murderbot_think; + level.agent_funcs["zombie_murderbot"]["on_killed"] = ::onmurderbotkilled; + level.agent_funcs["zombie_murderbot"]["on_damaged"] = ::onmurderbotdamaged; + var_00[0] = ["murderbot_dlc"]; + var_01 = spawnstruct(); + var_01.agent_type = "zombie_murderbot"; + var_01.animclass = "zombie_murderbot_animclass"; + var_01.model_bodies = var_00; + var_01.health_scale = 3; + var_01.meleedamage = 1000; + maps\mp\zombies\_util::agentclassregister(var_01,"zombie_murderbot"); + level.movemodefunc["zombie_murderbot"] = ::murderbotcalculatemovemode; + level.moveratescalefunc["zombie_murderbot"] = ::murderbotcalculatemoveratescale; + level.nonmoveratescalefunc["zombie_murderbot"] = ::murderbotcalculatenonmoveratescale; + level.traverseratescalefunc["zombie_murderbot"] = ::murderbotcalculatetraverseratescale; + level._effect["murderbot_eyes"] = loadfx("vfx/gameplay/mp/zombie/murderbot_eyes"); + level._effect["murderbot_melee_sparks"] = loadfx("vfx/trail/dlc_murderbot_melee_sparks"); + level._effect["murderbot_deactivation"] = loadfx("vfx/map/mp_zombie_brg/dlc_murderbot_deactivation"); +} + +//Function Number: 2 +kill_random_zombies(param_00) +{ + wait 0.05; + var_01 = sortbydistance(level.agentarray,param_00); + var_02 = var_01.size - 1; + var_03 = 0; + for(var_02 = var_01.size - 1;var_02 >= 0;var_02--) + { + var_04 = var_01[var_02]; + if(!isdefined(var_04) || !isdefined(var_04.agent_type) || var_04.agent_type == "zombie_melee_goliath" || var_04.agent_type == "zombie_murderbot") + { + continue; + } + + if(isplayer(var_04)) + { + continue; + } + + var_04 suicide(); + var_03++; + if(var_03 >= 2) + { + break; + } + } +} + +//Function Number: 3 +spawnmurderbot(param_00,param_01,param_02) +{ + level endon("zombie_wave_interrupt"); + var_03 = maps\mp\zombies\_util::agentclassget("zombie_murderbot"); + param_00.script_animation = "activation"; + param_00.script_ghettotag = "ignoreRealign"; + thread kill_random_zombies(param_00.origin); + var_04 = maps\mp\zombies\_util::spawnscriptagent(param_00,var_03,level.playerteam); + if(!isdefined(var_04)) + { + return; + } + + param_01 hide(); + param_02 hide(); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("murderbot_eyes"),var_04,"tag_eye"); + var_04 maps\mp\agents\_agent_common::set_agent_health(var_03.roundhealth); + var_04.meleedamage = var_03.meleedamage; + var_04 maps\mp\zombies\_util::zombies_make_objective("compass_objpoint_ammo_friendly"); + var_04.hastraversed = 1; + var_04 attachmurderbotweapons(); + var_04 thread lifetimemonitor(); + var_04 thread killenemymonitor(); + var_04 scragentsetspecies("civilian"); + return var_04; +} + +//Function Number: 4 +lifetimemonitor() +{ + level endon("game_ended"); + self endon("death"); + while(isdefined(self.inspawnanim) && self.inspawnanim) + { + wait 0.05; + } + + var_00 = gettime() + 120000; + while(gettime() < var_00) + { + wait 0.05; + } + + while(self.aistate == "traverse" || self.aistate == "melee") + { + wait 0.05; + } + + self scragentsetscripted(1); + wait 0.05; + maps\mp\agents\_scripted_agent_anim_util::playanimnuntilnotetrack_safe("deactivation",0,"scripted_anim"); + self playsound("zmb_murderbot_death_destruct"); + self suicide(); +} + +//Function Number: 5 +killenemymonitor() +{ + level endon("game_ended"); + self endon("death"); + self.killarray = []; + for(;;) + { + if(self.killarray.size > 0) + { + foreach(var_01 in self.killarray) + { + collidewithagent(var_01["enemy"],var_01["direction"]); + if(!isalive(var_01["enemy"])) + { + foreach(var_03 in level.players) + { + var_03 maps\mp\gametypes\zombies::givepointsforevent(var_01["event"]); + } + } + } + + self.killarray = []; + } + + wait 0.05; + } +} + +//Function Number: 6 +attachmurderbotweapons() +{ + var_00[0] = "dlc_melee_speaker"; + var_01 = spawn("script_model",self gettagorigin("TAG_WEAPON_RIGHT")); + var_01.angles = self gettagangles("TAG_WEAPON_RIGHT"); + var_02 = randomint(var_00.size); + var_01 setmodel(var_00[var_02]); + var_01 linkto(self,"TAG_WEAPON_RIGHT",(0,0,0),(0,0,0)); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("murderbot_melee_sparks"),var_01,"tag_sparks"); + self.murderbotweapon = var_01; +} + +//Function Number: 7 +setupmurderbotstate() +{ + self.attackzheight = 54; + self.attackzheightdown = -64; + self.damagedradiussq = 2250000; + self.ignoreclosefoliage = 1; + self.moveratescale = 1; + self.nonmoveratescale = 1; + self.traverseratescale = 1; + self.bhasbadpath = 0; + self.bhasnopath = 1; + self.timeoflastdamage = 0; + self.allowcrouch = 1; + self.meleecheckheight = 40; + self.meleeradiusbase = 60; + self.meleeradiusbasesq = squared(self.meleeradiusbase); + self.defaultgoalradius = self.radius + 1; + self scragentsetgoalradius(self.defaultgoalradius); + self.meleedot = 0.5; + maps\mp\agents\humanoid\_humanoid_util::lungemeleeupdate(1,self.meleeradiusbase * 2,self.meleeradiusbase * 1.5,"attack_lunge_boost",level._effect["boost_lunge"]); + maps\mp\agents\humanoid\_humanoid_util::lungemeleeenable(); + self.animcbs.onenter["melee"] = ::murderbot_melee; + self.boostfxtag = "no_boost_fx"; + self.traversecost = 50; + self.lungeattackready = 1; + self.lungelast = 0; +} + +//Function Number: 8 +zombie_murderbot_think() +{ + self endon("death"); + level endon("game_ended"); + self endon("owner_disconnect"); + maps\mp\agents\humanoid\_humanoid::setuphumanoidstate(); + setupmurderbotstate(); + thread maps\mp\zombies\_zombies::zombieaimonitorthreads(); + thread maps\mp\zombies\_util::waitforbadpath(); + thread maps\mp\zombies\zombie_generic::zombie_generic_moan(); + thread maps\mp\zombies\zombie_generic::zombie_audio_monitor(); + thread maps\mp\zombies\_zombies::updatebuffs(); + thread maps\mp\zombies\_zombies::updatepainsensor(); + thread updatemurderbotlungecooldown(); + for(;;) + { + if(isdefined(self.isscripted)) + { + wait(0.05); + continue; + } + + if(self.aistate == "traverse") + { + wait(0.05); + continue; + } + + if(murderbot_do_sync_attack()) + { + wait(0.05); + continue; + } + + if(murderbot_begin_melee()) + { + wait(0.05); + continue; + } + + if(maps\mp\zombies\_behavior::humanoid_seek_enemy_melee()) + { + wait(0.05); + continue; + } + + if(maps\mp\zombies\_behavior::humanoid_seek_enemies_all_known()) + { + wait(0.05); + continue; + } + + maps\mp\zombies\_behavior::humanoid_seek_random_loc(); + wait(0.05); + } +} + +//Function Number: 9 +murderbot_do_sync_attack() +{ + if(!canbeginmelee()) + { + return 0; + } + + if(isdefined(self.curmeleetarget.agent_type) && self.curmeleetarget.agent_type == "zombie_melee_goliath") + { + if(self.curmeleetarget.aistate == "traverse") + { + return 0; + } + + if(distancesquared(self.origin,self.curmeleetarget.origin) < 40000) + { + murderbotmeleegoliathattack(self.curmeleetarget); + return 1; + } + } + + return 0; +} + +//Function Number: 10 +canbeginmelee() +{ + if(self.ignoreall) + { + return 0; + } + + if(!isdefined(self.curmeleetarget)) + { + return 0; + } + + if(self.aistate == "melee" || maps\mp\agents\_scripted_agent_anim_util::isstatelocked()) + { + return 0; + } + + if(!maps\mp\zombies\_util::has_entered_game()) + { + return 0; + } + + if(maps\mp\agents\humanoid\_humanoid::wanttoattacktargetbutcant()) + { + return 0; + } + + if(maps\mp\agents\humanoid\_humanoid::didpastmeleefail()) + { + return 0; + } + + return 1; +} + +//Function Number: 11 +murderbot_begin_melee() +{ + if(!canbeginmelee()) + { + return 0; + } + + var_00 = maps\mp\zombies\_util::is_true(self.lungemeleeenabled) && isdefined(self.lungelast) && gettime() - self.lungelast <= self.lungedebouncems; + if(maps\mp\agents\humanoid\_humanoid::didpastlungemeleefail() || var_00) + { + if(!murderbotreadytomeleetarget("base")) + { + return 0; + } + } + else if(!murderbotreadytomeleetarget("normal")) + { + return 0; + } + + if(isdefined(self.meleedebouncetime)) + { + var_01 = gettime() - self.lastmeleefinishtime; + if(var_01 < self.meleedebouncetime * 1000) + { + return 0; + } + } + + if(isdefined(self.lastmeleepos)) + { + var_02 = distancesquared(self.lastmeleepos,self.origin); + } + + if(!isdefined(self.lastmeleepos) || distancesquared(self.lastmeleepos,self.origin) > 256) + { + self.meleemovemode = self.movemode; + } + + self scragentbeginmelee(self.curmeleetarget); + return 1; +} + +//Function Number: 12 +murderbotreadytomeleetarget(param_00) +{ + if(!isdefined(self.curmeleetarget)) + { + return 0; + } + + if(!maps\mp\_utility::isreallyalive(self.curmeleetarget)) + { + return 0; + } + + if(self.aistate == "traverse") + { + return 0; + } + + if(!maps\mp\agents\humanoid\_humanoid_util::isentstandingonme(self.curmeleetarget)) + { + if(!maps\mp\agents\humanoid\_humanoid::iswithinattackheight(self.curmeleetarget.origin)) + { + return 0; + } + } + + if(distancesquared(self.origin,self.curmeleetarget.origin) > squared(250)) + { + return 0; + } + + if(maps\mp\agents\humanoid\_humanoid_melee::ismeleeblocked()) + { + return 0; + } + + return 1; +} + +//Function Number: 13 +murderbot_melee() +{ + self endon("death"); + self endon("killanimscript"); + self.curmeleetarget endon("disconnect"); + var_00 = maps\mp\agents\humanoid\_humanoid::getmeleeattackpoint(self.curmeleetarget); + if(maps\mp\agents\humanoid\_humanoid_melee::ismeleeblocked()) + { + return maps\mp\agents\humanoid\_humanoid_melee::meleefailed(); + } + + if(maps\mp\zombies\_util::is_true(self.lungemeleeenabled) && var_00.valid) + { + if(isdefined(self.meleemovemode) && self.lungeattackready) + { + var_01 = maps\mp\agents\humanoid\_humanoid_util::canhumanoidmovepointtopoint(self.origin,var_00.origin); + if(var_01) + { + self.lungelast = gettime(); + murderbotattacklunge(self.curmeleetarget,var_00.origin); + return; + } + } + } + + murderbotattackstandard(self.curmeleetarget,var_00.origin); +} + +//Function Number: 14 +murderbotmeleegoliathattack(param_00) +{ + param_00 scragentsetscripted(1); + param_00 maps\mp\agents\_scripted_agent_anim_util::setstatelocked(1,"SynchronizedAnim"); + param_00 scragentsetphysicsmode("noclip"); + self scragentsetscripted(1); + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(1,"SynchronizedAnim"); + self scragentsetphysicsmode("noclip"); + param_00 scragentsynchronizeanims(0.5,0.1,self,"tag_sync","tag_sync"); + param_00.deathanimstateoverride = "death_by_murderbot"; + thread playmurderbotimpactfx(param_00); + thread maps\mp\agents\_scripted_agent_anim_util::playanimnuntilnotetrack_safe("murderbot_kills_goliath",0,"scripted_anim"); + param_00 maps\mp\agents\_scripted_agent_anim_util::playanimnuntilnotetrack_safe("murderbot_kills_goliath",0,"scripted_anim","death_gib"); + killgoliath(param_00,10000000,"MOD_MELEE","kill_head"); + maps\mp\agents\_scripted_agent_anim_util::waituntilnotetrack_safe("scripted_anim","end"); + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(0,"SynchronizedAnim"); + self scragentsetscripted(0); +} + +//Function Number: 15 +playmurderbotimpactfx(param_00) +{ + for(;;) + { + param_00 waittill("scripted_anim",var_01); + if(var_01 == "end") + { + break; + } + + switch(var_01) + { + case "fx_hit": + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("gib_full_body"),param_00,"J_Spine4"); + break; + } + } +} + +//Function Number: 16 +killgoliath(param_00,param_01,param_02,param_03) +{ + maps\mp\agents\humanoid\_humanoid_melee::domeleedamage(param_00,param_01,param_02); + if(!isalive(param_00)) + { + foreach(var_05 in level.players) + { + var_05 maps\mp\gametypes\zombies::givepointsforevent(param_03); + } + } +} + +//Function Number: 17 +killenemy(param_00,param_01) +{ + var_02 = vectornormalize(self.origin - param_00.origin * (1,1,0)); + var_03["enemy"] = param_00; + var_03["direction"] = var_02; + var_03["event"] = param_01; + self.killarray[self.killarray.size] = var_03; +} + +//Function Number: 18 +murderbotattackstandard(param_00,param_01) +{ + if(isdefined(self.meleemovemode)) + { + var_02 = "attack_" + self.meleemovemode; + self.meleemovemode = undefined; + murderbotdoattack(param_00,param_01,var_02,1,1,1.5); + return; + } + + murderbotdoattack(param_00,param_01,"attack_stand",0,0,1.5); +} + +//Function Number: 19 +murderbotattacklunge(param_00,param_01) +{ + murderbotdoattack(param_00,param_01,self.lungeanimstate,1,1,1.25); +} + +//Function Number: 20 +murderbotdoattack(param_00,param_01,param_02,param_03,param_04,param_05) +{ + self.lastmeleefailedmypos = undefined; + self.lastmeleefailedpos = undefined; + var_06 = randomint(self getanimentrycount(param_02)); + var_07 = self getanimentry(param_02,var_06); + var_08 = getanimlength(var_07); + var_09 = getnotetracktimes(var_07,"hit"); + var_0A = getnotetracktimes(var_07,"hit_right"); + var_0B = gethittime(var_08,param_05,var_09,var_0A); + self scragentsetphysicsmode("gravity"); + if(param_04) + { + self scragentsetorientmode("face enemy"); + } + else + { + self scragentsetorientmode("face angle abs",(0,vectortoyaw(param_00.origin - self.origin),0)); + } + + self scragentsetanimmode("anim deltas"); + maps\mp\agents\_scripted_agent_anim_util::set_anim_state(param_02,var_06,param_05); + var_0C = undefined; + if(param_03 && param_02 != "attack_lunge_boost") + { + var_0C = 100; + } + + if(param_03) + { + self scragentsetanimscale(0,1); + self scragentdoanimlerp(self.origin,param_01,var_0B); + childthread updatemurderbotlerppos(param_00,var_0B,1,var_0C); + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(1,"DoAttack"); + } + else + { + self scragentsetanimscale(1,1); + } + + updatemeleesweeper(var_07,var_08,param_05,var_09); + updatemeleesweeper(var_07,var_08,param_05,var_0A,self.murderbotweapon); + wait(var_0B); + self notify("cancel_updatelerppos"); + self scragentsetanimmode("anim deltas"); + self scragentsetanimscale(1,1); + if(param_03) + { + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(0,"DoAttack"); + } + + self.lastmeleepos = self.origin; + var_0D = var_08 / param_05 - var_0B; + if(var_0D > 0) + { + maps\mp\agents\_scripted_agent_anim_util::waituntilnotetrack_safe("attack_anim","end",var_0D); + } + + self notify("cancel_updatelerppos"); + self scragentsetanimmode("anim deltas"); + self scragentsetanimscale(1,1); + if(param_03) + { + maps\mp\agents\_scripted_agent_anim_util::setstatelocked(0,"DoAttack"); + } + + if(param_02 == "attack_lunge_boost") + { + self.lastlungelocation = self.origin; + self.lungeattackready = 0; + } + + self.lastmeleefinishtime = gettime(); +} + +//Function Number: 21 +gethittime(param_00,param_01,param_02,param_03) +{ + if(param_02.size <= 0 && param_03.size <= 0) + { + return param_00 / param_01 * 0.33; + } + + var_04 = 1; + if(isdefined(param_02) && param_02.size > 0) + { + var_04 = param_00 / param_01 * param_02[0]; + } + + var_05 = 1; + if(isdefined(param_03) && param_03.size > 0) + { + var_05 = param_00 / param_01 * param_03[0]; + } + + return min(var_04,var_05); +} + +//Function Number: 22 +updatemurderbotlerppos(param_00,param_01,param_02,param_03) +{ + self endon("killanimscript"); + self endon("death"); + self endon("cancel_updatelerppos"); + param_00 endon("disconnect"); + param_00 endon("death"); + var_04 = self.origin; + var_05 = param_01; + var_06 = 0.05; + for(;;) + { + wait(var_06); + var_05 = var_05 - var_06; + if(var_05 <= 0) + { + break; + } + + var_07 = maps\mp\agents\humanoid\_humanoid_melee::getupdatedattackpos(param_00,param_02); + if(!isdefined(var_07)) + { + break; + } + + if(isdefined(param_03)) + { + var_08 = param_03; + var_09 = var_07 - var_04; + if(lengthsquared(var_09) > var_08 * var_08) + { + var_07 = var_04 + vectornormalize(var_09) * var_08; + } + } + + self scragentsetorientmode("face enemy"); + self scragentdoanimlerp(self.origin,var_07,var_05); + } +} + +//Function Number: 23 +updatemeleesweeper(param_00,param_01,param_02,param_03,param_04) +{ + self endon("death"); + level endon("game_ended"); + if(param_03.size == 0) + { + return; + } + + if(common_scripts\utility::mod(param_03.size,2) != 0) + { + } + + var_05 = param_01 / param_02 * param_03[0]; + var_06 = param_01 / param_02 * param_03[1]; + var_07 = 0; + var_08 = 0.05; + self.hitzombies = []; + wait(var_05); + var_09 = var_06 - var_05; + while(var_07 <= var_09) + { + wait(var_08); + var_07 = var_07 + var_08; + checkmeleesweeperhit(param_04); + } +} + +//Function Number: 24 +getzombiesinrange(param_00) +{ + var_01 = []; + var_02 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + var_03 = param_00 * param_00; + foreach(var_05 in var_02) + { + if(isdefined(var_05.agentteam) && var_05.agentteam == level.playerteam) + { + continue; + } + + if(distancesquared(var_05.origin,self.origin) > var_03) + { + continue; + } + + var_01[var_01.size] = var_05; + } + + return var_01; +} + +//Function Number: 25 +checkmeleesweeperhit(param_00) +{ + var_01 = undefined; + if(isdefined(param_00)) + { + var_01 = param_00 gettagorigin("tag_fx"); + } + else + { + var_01 = self gettagorigin("TAG_WEAPON_LEFT"); + } + + var_02 = var_01 - self.origin * (1,1,0); + var_03 = squared(length(var_02) + 40); + var_04 = self.murderbotweapon gettagangles("tag_fx"); + var_05 = getzombiesinrange(256); + foreach(var_07 in var_05) + { + if(!isdefined(var_07) || !isalive(var_07) || var_07 == self) + { + continue; + } + + if(isdefined(var_07.agent_type) && var_07.agent_type == "zombie_melee_goliath") + { + continue; + } + + if(common_scripts\utility::array_contains(self.hitzombies,var_07)) + { + continue; + } + + if(!checkmeleeheight(var_07,var_01[2])) + { + continue; + } + + var_08 = var_07.origin - self.origin * (1,1,0); + var_09 = lengthsquared(var_08); + if(var_09 > var_03) + { + continue; + } + + if(vectordot(var_08,var_02) < 0.707) + { + continue; + } + + killenemy(var_07,"kill_trap"); + self.hitzombies[self.hitzombies.size] = var_07; + } +} + +//Function Number: 26 +checkmeleeheight(param_00,param_01) +{ + var_02 = self.origin[2] + 80; + var_03 = max(var_02,param_01); + var_04 = self.origin[2] - 30; + var_05 = param_00 geteye()[2] + 30; + var_06 = param_00.origin[2]; + if(var_05 >= var_04 && var_05 <= var_03) + { + return 1; + } + + if(var_06 >= var_04 && var_06 <= var_03) + { + return 1; + } + + return 0; +} + +//Function Number: 27 +murderbotcalculatemovemode() +{ + return "run"; +} + +//Function Number: 28 +murderbotcalculatemoveratescale() +{ + return 1 * maps\mp\zombies\_zombies::getbuffspeedmultiplier(); +} + +//Function Number: 29 +murderbotcalculatenonmoveratescale() +{ + return 1 * maps\mp\zombies\_zombies::getbuffspeedmultiplier(); +} + +//Function Number: 30 +murderbotcalculatetraverseratescale() +{ + return 1 * maps\mp\zombies\_zombies::getbuffspeedmultiplier(); +} + +//Function Number: 31 +updatemurderbotlungecooldown() +{ + self endon("death"); + level endon("game_ended"); + var_00 = 0.05; + for(;;) + { + wait(var_00); + if(!isdefined(self.lastlungelocation) || !isdefined(self.curmeleetarget)) + { + continue; + } + + var_01 = maps\mp\agents\humanoid\_humanoid::getmeleeattackpoint(self.curmeleetarget); + if(!isdefined(var_01.origin)) + { + continue; + } + + var_02 = length(var_01.origin - self.lastlungelocation); + if(var_02 < 250) + { + continue; + } + + self.lungeattackready = 1; + } +} + +//Function Number: 32 +onmurderbotkilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) +{ + self.bypasscorpse = 1; + maps\mp\zombies\_zombies::onzombiekilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08); + self.murderbotweapon delete(); + maps\mp\zombies\_util::playfxontagnetwork(common_scripts\utility::getfx("murderbot_deactivation"),self,"J_Spine4"); + earthquake(0.35,0.95,self.origin,128); + playfx(common_scripts\utility::getfx("nuke_blast"),self.origin,anglestoforward(self.angles),(0,0,1)); + level thread maps\mp\gametypes\zombies::activatenukepickup(self.origin); + spawnpickups(self.origin); +} + +//Function Number: 33 +spawnpickups(param_00) +{ + var_01 = getnodesinradiussorted(param_00,300,100,128); + var_02 = ["ammo","insta_kill","double_points","fire_sale"]; + for(var_03 = 0;var_03 < var_02.size && var_03 < var_01.size;var_03++) + { + maps\mp\gametypes\zombies::createpickup(var_02[var_03],var_01[var_03].origin); + } +} + +//Function Number: 34 +onmurderbotdamaged(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ +} + +//Function Number: 35 +drawdebug() +{ + self endon("death"); + level endon("game_ended"); + for(;;) + { + wait(0.05); + if(isdefined(self.curmeleetarget)) + { + } + + if(isdefined(self.curmeleetarget)) + { + var_00 = maps\mp\agents\humanoid\_humanoid::getmeleeattackpoint(self.curmeleetarget); + if(isdefined(var_00) && isdefined(var_00.origin)) + { + } + } + } +} + +//Function Number: 36 +collidewithagent(param_00,param_01) +{ + if(randomfloat(1) < 0.5) + { + ragdollagent(param_00,param_01,"MOD_EXPLOSIVE",2,3); + return; + } + + ragdollagent(param_00,param_01,"MOD_MELEE",3,5); +} + +//Function Number: 37 +ragdollagent(param_00,param_01,param_02,param_03,param_04) +{ + param_00.ragdollimmediately = 1; + param_00 dodamage(param_00.health + 1000,param_00 geteye(),self,undefined,param_02,"murderbotFriendlyFire","none"); + var_05 = self.origin - param_01 + (0,0,8); + wait(0.1); + var_06 = randomfloatrange(3,5); + physicsexplosionsphere(var_05,128,0,var_06,0); +} + +//Function Number: 38 +updateenemyvisibility() +{ + self endon("death"); + level endon("game_ended"); + for(;;) + { + wait(0.5); + if(!isdefined(self.enemy)) + { + continue; + } + + self.haslostoenemy = sighttracepassed(self geteye(),self.enemy geteye(),0,self); + } +} + +//Function Number: 39 +calculate_threat_level(param_00) +{ + var_01 = 0; + var_02[0] = ::evaluate_threat_valid_threat; + var_02[1] = ::evaluate_threat_range; + var_02[2] = ::evaluate_threat_los; + for(var_03 = 0;var_03 < var_02.size;var_03++) + { + var_04 = self [[ var_02[var_03] ]](param_00); + if(var_04 < 0) + { + return -1; + } + + var_01 = var_01 + var_04; + } + + return var_01 / var_02.size; +} + +//Function Number: 40 +evaluate_threat_valid_threat(param_00) +{ + if(!isdefined(param_00) || !isalive(param_00)) + { + return -1; + } + + if(isdefined(param_00.ignoreme) && param_00.ignoreme == 1) + { + return -1; + } + + return 1; +} + +//Function Number: 41 +evaluate_threat_range(param_00) +{ + var_01 = length(param_00.origin - self.origin); + var_02 = max(1 - var_01 / 1500,0); + return var_02; +} + +//Function Number: 42 +evaluate_threat_los(param_00) +{ + return -1; +} + +//Function Number: 43 +trace_to_enemy(param_00,param_01,param_02) +{ + var_03 = bullettrace(param_00,param_01 geteye(),0,self.murderbotshield,0,0,0,0,0); + return var_03["fraction"] == 1; +} \ No newline at end of file diff --git a/AW/PC/maps/mp/zombies/zombies_spawn_manager.gsc b/AW/PC/maps/mp/zombies/zombies_spawn_manager.gsc new file mode 100644 index 0000000..5991841 --- /dev/null +++ b/AW/PC/maps/mp/zombies/zombies_spawn_manager.gsc @@ -0,0 +1,623 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mp\zombies\zombies_spawn_manager.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 22 + * Decompile Time: 332 ms + * Timestamp: 4/22/2024 2:15:17 AM +*******************************************************************/ + +//Function Number: 1 +init(param_00) +{ + while(!isdefined(level.struct_class_names)) + { + wait(0.05); + } + + if(!isdefined(level.zombies_spawners_zombie)) + { + level.zombies_spawners_zombie = []; + } + + level.zombies_spawners_zombie = common_scripts\utility::array_combine(level.zombies_spawners_zombie,common_scripts\utility::getstructarray("zombie_spawner","targetname")); + level.zombies_spawners_zombie = common_scripts\utility::array_combine(level.zombies_spawners_zombie,common_scripts\utility::getstructarray("Spawner_A","targetname")); + level.zombie_spawning_active = 0; + level.zombie_wave_running = 0; + level.maxenemycount = 0; + level.getspawntypefunc = []; + level.candroppickupsfunc = []; + level.roundstartfunc = []; + level.roundendfunc = []; + level.numenemiesthisroundfunc = []; + level.roundspawndelayfunc = []; + level.mutatorfunc = []; + level.movemodefunc = []; + level.moveratescalefunc = []; + level.nonmoveratescalefunc = []; + level.traverseratescalefunc = []; + if(isdefined(level.mutatortablesetupfunc)) + { + [[ level.mutatortablesetupfunc ]](); + return; + } + + defaultmutatorsetup(); +} + +//Function Number: 2 +defaultmutatorsetup() +{ + level.special_mutators["emz"] = [::emzmutatorshouldapply,2]; + level.special_mutators["fast"] = [::fastmutatorshouldapply,1]; + level.special_mutators["exploder"] = [::explodermutatorshouldapply,1]; +} + +//Function Number: 3 +getsolowaveoffset() +{ + return 2; +} + +//Function Number: 4 +shouldwaveend(param_00,param_01) +{ + if(isdefined(level.shouldwaveendoverridefunc)) + { + return [[ level.shouldwaveendoverridefunc ]](param_00,param_01); + } + + return param_00 >= param_01; +} + +//Function Number: 5 +calculatemaxenemycount(param_00) +{ + if(isdefined(level.nummaxenemiesthisroundfunc) && isdefined(level.nummaxenemiesthisroundfunc[level.roundtype])) + { + return [[ level.nummaxenemiesthisroundfunc[level.roundtype] ]](param_00); + } + + return param_00; +} + +//Function Number: 6 +spawnzombies(param_00,param_01,param_02) +{ + level endon("zombie_stop_spawning"); + var_03 = undefined; + var_04 = undefined; + if(isdefined(param_02)) + { + var_03 = param_02["overrideSpawnType"]; + var_04 = param_02["mutatorFunc"]; + } + + var_05 = isdefined(param_02) && maps\mp\zombies\_util::is_true(param_02["limitedSpawns"]); + var_06 = isdefined(param_02) && maps\mp\zombies\_util::is_true(param_02["forceSpawnDelay"]); + for(var_07 = 0;!shouldwaveend(var_07,param_00);var_07++) + { + while(maps\mp\zombies\_util::iszombiegamepaused()) + { + wait 0.05; + } + + while(maps\mp\agents\_agent_utility::getnumactiveagents() >= level.maxenemycount) + { + wait(0.1); + } + + while(getnumberofzombies() >= param_00 && !var_05) + { + wait(0.1); + } + + while(isdefined(level.zombie_pause_spawning_count) && level.zombie_pause_spawning_count > 0) + { + wait(0.1); + } + + if(isdefined(var_03)) + { + var_08 = var_03; + } + else + { + var_08 = getenemytypetospawn(var_07,param_00); + } + + if(isdefined(level.zombiesnextspawntype)) + { + var_08 = level.zombiesnextspawntype; + level.zombiesnextspawntype = undefined; + } + + var_0A = spawnzombietype(var_08,undefined,var_04); + if(!var_06 && isdefined(level.roundspawndelayfunc[level.roundtype])) + { + param_01 = [[ level.roundspawndelayfunc[level.roundtype] ]](var_07,param_00); + } + + level.totalaispawned++; + level common_scripts\utility::waittill_notify_or_timeout("end_spawn_wait",param_01); + } + + if(isdefined(param_02) && isdefined(param_02["notifyWhenFinished"])) + { + level notify(param_02["notifyWhenFinished"]); + } +} + +//Function Number: 7 +getmaxenemycount() +{ + if(level.nextgen) + { + return calculatemaxenemycount(24); + } + + return calculatemaxenemycount(20); +} + +//Function Number: 8 +runwave(param_00) +{ + level endon("zombie_wave_interrupt"); + level.zombie_spawning_active = 1; + level.zombie_wave_running = 1; + level.totaldesiredai = calculatetotalai(); + level.totalaispawned = 0; + level.maxenemycount = getmaxenemycount(); + var_01 = calculatespawndelay(); + if(isdefined(level.spawnzombiesoverridefunc)) + { + [[ level.spawnzombiesoverridefunc ]](level.totaldesiredai,var_01); + } + else + { + spawnzombies(level.totaldesiredai,var_01); + } + + level.zombie_spawning_active = 0; + wait(2); + while(zombiesarealive()) + { + wait 0.05; + } + + level.zombie_wave_running = 0; + level notify("zombie_wave_ended"); +} + +//Function Number: 9 +zombiesarealive(param_00) +{ + if(isdefined(level.recyclezombierequestspending) && level.recyclezombierequestspending > 0) + { + return 1; + } + + var_01 = "all"; + if(isdefined(param_00)) + { + var_01 = param_00; + } + + var_02 = maps\mp\agents\_agent_utility::getactiveagentsoftype(var_01); + foreach(var_04 in var_02) + { + if(!isscriptedagent(var_04)) + { + continue; + } + + if(var_04.team == level.enemyteam) + { + return 1; + } + } + + return 0; +} + +//Function Number: 10 +getnumberofzombies() +{ + var_00 = maps\mp\agents\_agent_utility::getactiveagentsoftype("all"); + var_01 = 0; + foreach(var_03 in var_00) + { + if(var_03.team == level.enemyteam) + { + var_01++; + } + } + + return var_01; +} + +//Function Number: 11 +getenemytypetospawn(param_00,param_01) +{ + if(isdefined(level.getspawntypefunc[level.roundtype])) + { + return [[ level.getspawntypefunc[level.roundtype] ]](param_00,param_01); + } + + return "zombie_generic"; +} + +//Function Number: 12 +calculatetotalai() +{ + var_00 = 24; + var_01 = 6; + var_02 = level.wavecounter / 5; + if(var_02 < 1) + { + var_02 = 1; + } + + if(level.wavecounter >= 10) + { + var_02 = var_02 * level.wavecounter * 0.15; + } + + var_03 = maps\mp\zombies\_util::getnumplayers(); + if(var_03 == 1) + { + var_00 = var_00 + 0.5 * var_01 * var_02; + } + else + { + var_00 = var_00 + var_03 - 1 * var_01 * var_02; + } + + switch(level.wavecounter) + { + case 1: + var_00 = var_00 * 0.25; + break; + + case 2: + var_00 = var_00 * 0.3; + break; + + case 3: + var_00 = var_00 * 0.7; + break; + + case 4: + var_00 = var_00 * 0.9; + break; + } + + if(isdefined(level.numenemiesthisroundfunc[level.roundtype])) + { + var_00 = [[ level.numenemiesthisroundfunc[level.roundtype] ]](var_00); + } + + return int(var_00); +} + +//Function Number: 13 +calculatespawndelay(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = 2; + } + + if(level.wavecounter == 1) + { + return param_00; + } + + var_01 = param_00 * pow(0.95,level.wavecounter - 1); + if(var_01 < 0.08) + { + var_01 = 0.08; + } + + return var_01; +} + +//Function Number: 14 +spawnzombietype(param_00,param_01,param_02,param_03) +{ + var_04 = maps\mp\zombies\_zombies::spawnzombie(param_00,param_01,param_03); + if(!isdefined(var_04)) + { + return; + } + + if(isdefined(param_02)) + { + var_05 = param_02; + } + else if(isdefined(level.mutatorfunc[param_01])) + { + var_05 = level.mutatorfunc[param_01]; + } + else + { + var_05 = ::applyzombiemutator; + } + + [[ var_05 ]](var_04); + var_06 = param_00; + if(isdefined(var_04.activemutators)) + { + foreach(var_09, var_08 in var_04.activemutators) + { + var_06 = var_06 + "_" + var_09; + } + } + + if(var_04.agent_type == var_06 && isdefined(level.agentclasses[var_06])) + { + var_04 thread maps\mp\zombies\_zombies_audio::do_zombies_playvocals("spawn",var_04.agent_type); + } + + if(isscriptedagent(var_04)) + { + var_04 scragentsetzombietype(var_06); + } + + return var_04; +} + +//Function Number: 15 +exomutatorshouldapply(param_00) +{ + if(level.currentgen) + { + if(cg_calculatemutatoractivecount() >= 10) + { + return 0; + } + } + + if(!isscriptedagent(self)) + { + return 0; + } + + if(isdefined(level.mutators_disabled[self.agent_type])) + { + if(isdefined(level.mutators_disabled[self.agent_type]["exo"]) && level.mutators_disabled[self.agent_type]["exo"]) + { + return 0; + } + } + + var_01 = 0; + if(level.players.size < 2) + { + var_01 = 2; + } + + var_02 = 3 + var_01; + if(param_00 >= var_02) + { + var_03 = var_02; + var_04 = 0.1; + var_05 = 18 + var_01; + var_06 = 1; + var_07 = var_04; + if(param_00 >= var_05) + { + var_07 = var_06; + } + else + { + var_08 = param_00 - var_03 / var_05 - var_03; + var_07 = var_04 + var_08 * var_06 - var_04; + } + + if(randomfloat(1) < var_07) + { + return 1; + } + } + + return 0; +} + +//Function Number: 16 +cg_calculatemutatoractivecount() +{ + var_00 = 0; + if(isdefined(level.activemutators["exo"])) + { + var_00 = level.activemutators["exo"]; + } + + return var_00; +} + +//Function Number: 17 +emzmutatorshouldapply(param_00) +{ + var_01 = 0; + if(level.players.size < 2) + { + var_01 = 2; + } + + var_02 = 4 + var_01; + return param_00 >= var_02; +} + +//Function Number: 18 +fastmutatorshouldapply(param_00) +{ + var_01 = 0; + if(level.players.size < 2) + { + var_01 = 2; + } + + var_02 = 5 + var_01; + var_03 = 20 + var_01; + return param_00 >= var_02 && param_00 < var_03; +} + +//Function Number: 19 +explodermutatorshouldapply(param_00) +{ + if(level.roundtype == "zombie_dog") + { + return level.specialroundcounter < 6; + } + + var_01 = 0; + if(level.players.size < 2) + { + var_01 = 2; + } + + var_02 = 6 + var_01; + return param_00 >= var_02; +} + +//Function Number: 20 +specialmutatorshouldapplydoground(param_00) +{ + if(level.specialroundcounter < 3) + { + return 0; + } + + var_01 = 1; + if(level.specialroundcounter < 5) + { + var_01 = 0.5; + } + + if(randomfloat(1) < var_01) + { + return 1; + } + + return 0; +} + +//Function Number: 21 +specialmutatorshouldapply(param_00) +{ + if(!isscriptedagent(self)) + { + return 0; + } + + if(isdefined(level.shouldspecialmutatorapplyfunc)) + { + var_01 = self [[ level.shouldspecialmutatorapplyfunc ]](param_00); + if(isdefined(var_01)) + { + return var_01; + } + } + + if(level.roundtype == "zombie_dog") + { + return specialmutatorshouldapplydoground(param_00); + } + + if(level.currentgen) + { + if(cg_calculatemutatoractivecount() >= 10) + { + return 0; + } + } + + var_02 = 0; + if(isdefined(level.specialmutatorstartingroundoverridefunc)) + { + var_03 = [[ level.specialmutatorstartingroundoverridefunc ]](); + } + else + { + if(level.players.size < 2) + { + var_03 = 2; + } + + var_03 = 4; + } + + var_04 = var_03 + var_02; + var_05 = 0.05; + var_06 = 20 + var_02; + var_07 = 0.25; + var_08 = var_07 - var_05 / var_06 - var_04; + var_09 = 0.5; + if(param_00 >= var_04) + { + var_0A = min(var_09,var_05 + var_08 * float(param_00 - var_04)); + if(randomfloat(1) < var_0A) + { + return 1; + } + } + + return 0; +} + +//Function Number: 22 +applyzombiemutator(param_00) +{ + if(!isscriptedagent(param_00)) + { + return; + } + + var_01 = param_00 specialmutatorshouldapply(level.wavecounter); + var_02 = []; + var_03 = param_00 exomutatorshouldapply(level.wavecounter) || var_01; + if(var_03) + { + param_00 thread maps\mp\zombies\_mutators::mutator_apply("exo"); + } + + if(var_01) + { + var_07 = []; + var_08 = 0; + foreach(var_0C, var_05 in level.special_mutators) + { + var_0A = var_05[0]; + var_0B = var_05[1]; + if(isdefined(level.mutators_disabled[param_00.agent_type])) + { + if(isdefined(level.mutators_disabled[param_00.agent_type][var_0C]) && level.mutators_disabled[param_00.agent_type][var_0C]) + { + continue; + } + } + + if(param_00 [[ var_0A ]](level.wavecounter)) + { + var_07[var_07.size] = var_0C; + var_08 = var_08 + var_0B; + } + } + + var_0D = randomfloat(var_08); + var_0E = 0; + foreach(var_0C in var_07) + { + var_0B = level.special_mutators[var_0C][1]; + if(var_0D > var_0E && var_0D <= var_0E + var_0B) + { + param_00 thread maps\mp\zombies\_mutators::mutator_apply(var_0C); + break; + } + + var_0E = var_0E + var_0B; + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/player_scripted_anim_util.gsc b/AW/PC/maps/player_scripted_anim_util.gsc new file mode 100644 index 0000000..0a1d2ee --- /dev/null +++ b/AW/PC/maps/player_scripted_anim_util.gsc @@ -0,0 +1,112 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: player_scripted_anim_util.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 3 + * Decompile Time: 59 ms + * Timestamp: 4/22/2024 2:34:10 AM +*******************************************************************/ + +//Function Number: 1 +waittill_trigger_activate_looking_at(param_00,param_01,param_02,param_03,param_04,param_05) +{ + param_00 endon("valid_trigger"); + var_06 = 1; + if(!isdefined(param_02)) + { + param_02 = 0.8; + } + + if(isdefined(param_03) && param_03) + { + var_06 = undefined; + } + + var_07 = isdefined(param_04) && param_04; + param_00 thread _trigger_handle_triggering(var_07); + for(;;) + { + if(isdefined(param_00.force_off) && param_00.force_off) + { + param_00 common_scripts\utility::trigger_off(); + } + else if(level.player getstance() == "prone") + { + param_00 common_scripts\utility::trigger_off(); + } + else if(level.player player_looking_at_relative(param_01.origin,param_02,var_06,level.player,param_05)) + { + param_00 common_scripts\utility::trigger_on(); + } + else + { + param_00 common_scripts\utility::trigger_off(); + } + + wait(0.1); + } +} + +//Function Number: 2 +_trigger_handle_triggering(param_00) +{ + self endon("death"); + for(;;) + { + self waittill("trigger"); + var_01 = !level.player ismeleeing(); + var_02 = !level.player issprintsliding(); + var_03 = level.player isonground() || level.player islinked(); + var_04 = !isdefined(self.force_off) || !self.force_off; + var_05 = level.player getstance() != "prone"; + var_06 = !level.player isthrowinggrenade(); + if(var_04 && var_01 && var_02 && var_03 && var_05 && var_06) + { + break; + } + } + + self notify("valid_trigger"); + if(param_00) + { + self delete(); + return; + } + + common_scripts\utility::trigger_off(); +} + +//Function Number: 3 +player_looking_at_relative(param_00,param_01,param_02,param_03,param_04) +{ + if(!isdefined(param_01)) + { + param_01 = 0.8; + } + + var_05 = maps\_utility::get_player_from_self(); + var_06 = var_05 geteye(); + var_07 = vectortoangles(param_00 - var_06); + var_08 = anglestoforward(var_07); + var_09 = var_05 getplayerangles(); + if(isdefined(param_04)) + { + var_09 = combineangles(param_04.angles,var_09); + } + + var_0A = anglestoforward(var_09); + var_0B = vectordot(var_08,var_0A); + if(var_0B < param_01) + { + return 0; + } + + if(isdefined(param_02)) + { + return 1; + } + + var_0C = bullettrace(param_00,var_06,0,param_03); + return var_0C["fraction"] == 1; +} \ No newline at end of file diff --git a/AW/PC/maps/recovery.gsc b/AW/PC/maps/recovery.gsc new file mode 100644 index 0000000..1890eca --- /dev/null +++ b/AW/PC/maps/recovery.gsc @@ -0,0 +1,2174 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: recovery.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 72 + * Decompile Time: 1055 ms + * Timestamp: 4/22/2024 2:34:13 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\_utility::template_level("recovery"); + init_level_flags(); + setup_start_points(); + maps\createart\recovery_art::main(); + maps\recovery_anim::main(); + maps\recovery_fx::main(); + maps\recovery_precache::main(); + maps\recovery_lighting::hide_reveal_screen_reflections(); + if(level.currentgen) + { + maps\_utility::tff_sync_setup(); + } + + maps\_load::main(); + thread maps\_player_exo::main("specialist",1,0); + thread manage_player_exo(); + maps\recovery_lighting::main(); + maps\recovery_aud::main(); + maps\recovery_vo::prepare_dialogue(); + maps\_stealth::main(); + maps\_patrol_extended::main(); + maps\_stealth_debug::main(); + maps\_weapon_pdrone::initialize(); + maps\_tagging::main(); + level.player maps\_tagging::tagging_set_enabled(0); + if(level.nextgen) + { + setsaveddvar("r_adaptiveSubdiv","0"); + } + + level.player maps\_stealth_utility::stealth_plugin_basic(); + set_completed_flags(); + thread objective_init(); + setup_precache(); + thread maps\recovery_code::setup_gameplay(); + thread maps\recovery_exo_punch_door::exo_door_init(); + setup_button_notifies(); + level.player.showhint = 1; + maps\_utility::add_control_based_hint_strings("repair_prompt",&"RECOVERY_PROMPT_ARM_REPAIR",::stop_hint,&"RECOVERY_PROMPT_ARM_REPAIR_PC",&"RECOVERY_PROMPT_ARM_REPAIR_SP"); + maps\_utility::add_hint_string("threat_prompt",&"RECOVERY_PROMPT_TUTORIAL_THREAT",::stop_hint); + maps\_utility::add_hint_string("pc_threat_prompt",&"RECOVERY_PROMPT_TUTORIAL_PC_THREAT",::stop_hint); + maps\_utility::add_hint_string("emp_prompt",&"RECOVERY_PROMPT_TUTORIAL_EMP",::stop_hint); + maps\_utility::add_hint_string("pc_emp_prompt",&"RECOVERY_PROMPT_TUTORIAL_PC_EMP",::stop_hint); + maps\_utility::add_hint_string("smart_prompt",&"RECOVERY_PROMPT_TUTORIAL_SMART",::stop_hint); + maps\_utility::add_hint_string("pc_smart_prompt",&"RECOVERY_PROMPT_TUTORIAL_PC_SMART",::stop_hint); + maps\_utility::add_hint_string("drone_deploy_prompt",&"RECOVERY_PROMPT_DEPLOY_DRONE",::stop_hint); + maps\_utility::add_hint_string("drone_deploy_fail_prompt",&"PDRONE_PLAYER_PROMPT_DEPLOY_DRONE_FAIL",::stop_hint); + maps\_utility::add_hint_string("threat_breach_prompt",&"RECOVERY_PROMPT_THREAT_BREACH",::stop_hint); + maps\_utility::add_hint_string("prone_prompt",&"RECOVERY_PROMPT_PRONE",::stop_hint); + maps\_utility::add_hint_string("pc_prone_prompt",&"RECOVERY_PROMPT_PC_PRONE",::stop_hint); + maps\_utility::add_hint_string("warning_prompt",&"RECOVERY_OUT_OF_BOUNDS_WARNING",::stop_hint_mission_fail); + maps\_utility::add_hint_string("jeep_warning_prompt",&"RECOVERY_OUT_OF_BOUNDS_WARNING",::stop_hint); + maps\_utility::add_hint_string("overdrive_prompt",&"RECOVERY_PROMPT_OVERDRIVE",::stop_hint); + maps\_utility::add_hint_string("overdrive_prompt_sim",&"RECOVERY_PROMPT_OVERDRIVE",::over_drive_is_active); + maps\_utility::add_hint_string("shield_prompt_sim",&"RECOVERY_PROMPT_SHIELD",::exo_shield_is_active); + maps\_utility::add_hint_string("stim_prompt",&"RECOVERY_PROMPT_STIM",::stop_hint); + setup_portal_scripting(); + if(level.currentgen) + { + thread tff_setups(); + } +} + +//Function Number: 2 +setup_button_notifies() +{ + level.player notifyonplayercommand("dpad_down","+actionslot 2"); + level.player notifyonplayercommand("dpad_left","+actionslot 3"); + level.player notifyonplayercommand("dpad_right","+actionslot 4"); + level.player notifyonplayercommand("dpad_up","+actionslot 1"); + level.player notifyonplayercommand("a_pressed","+gostand"); + level.player notifyonplayercommand("b_pressed","+stance"); + level.player notifyonplayercommand("y_pressed","weapnext"); + level.player notifyonplayercommand("x_pressed","+usereload"); + level.player notifyonplayercommand("attack_pressed","+attack"); + level.player notifyonplayercommand("ads_pressed","+speed_throw"); +} + +//Function Number: 3 +stop_hint() +{ + return level.player.showhint == 0; +} + +//Function Number: 4 +stop_hint_mission_fail() +{ + return !common_scripts\utility::flag("training_out_of_bounds_warning"); +} + +//Function Number: 5 +over_drive_is_active() +{ + return level.player maps\_player_exo::overdrive_is_on() == 1; +} + +//Function Number: 6 +exo_shield_is_active() +{ + return level.player maps\_player_exo::exo_shield_is_on() == 1; +} + +//Function Number: 7 +init_level_flags() +{ + common_scripts\utility::flag_init("onBase"); + common_scripts\utility::flag_init("flag_mountains_visible"); + common_scripts\utility::flag_init("threat_grenade_hint_text_off"); + common_scripts\utility::flag_init("flag_gideon_use_custom_anim_set"); + common_scripts\utility::flag_init("gideon_early_exit_grenade_range"); + common_scripts\utility::flag_init("gideon_early_exit_holo_range"); + common_scripts\utility::flag_init("flag_obj_funeral_casket_start"); + common_scripts\utility::flag_init("flag_obj_funeral_casket_complete"); + common_scripts\utility::flag_init("flag_obj_funeral_irons_start"); + common_scripts\utility::flag_init("flag_obj_funeral_irons_complete"); + common_scripts\utility::flag_init("tour_ride_gideon_pcap"); + common_scripts\utility::flag_init("flag_obj_follow_gideon"); + common_scripts\utility::flag_init("flag_obj_base_start"); + common_scripts\utility::flag_init("flag_shield_turret_shooting"); + common_scripts\utility::flag_init("flag_obj_arm_repair_pre"); + common_scripts\utility::flag_init("flag_obj_arm_repair_start"); + common_scripts\utility::flag_init("flag_obj_arm_repair_complete"); + common_scripts\utility::flag_init("arm_repair_attempt_1"); + common_scripts\utility::flag_init("arm_repair_attempt_2"); + common_scripts\utility::flag_init("arm_repair_attempt_3"); + common_scripts\utility::flag_init("flag_obj_arm_repair_desk_enabled"); + common_scripts\utility::flag_init("desk_exit"); + common_scripts\utility::flag_init("tour_end"); + common_scripts\utility::flag_init("flag_obj_equip_firing_range"); + common_scripts\utility::flag_init("flag_obj_gun_range_active"); + common_scripts\utility::flag_init("flag_shooting_range_playable"); + common_scripts\utility::flag_init("shooting_range_started_once"); + common_scripts\utility::flag_init("shooting_range_completed_once"); + common_scripts\utility::flag_init("flag_lock_shooting_range_ok"); + common_scripts\utility::flag_init("flag_obj_gun_range_start"); + common_scripts\utility::flag_init("flag_obj_gun_range_complete"); + common_scripts\utility::flag_init("grenade_range_started_once"); + common_scripts\utility::flag_init("grenade_range_completed_once"); + common_scripts\utility::flag_init("gideon_range_exit_ok"); + common_scripts\utility::flag_init("ilona_range_turn_ok"); + common_scripts\utility::flag_init("training_room_elevator_completed"); + common_scripts\utility::flag_init("flag_obj_grenade_range_pre_1"); + common_scripts\utility::flag_init("flag_obj_grenade_range_pre_2"); + common_scripts\utility::flag_init("flag_obj_grenade_range_tutorial_start"); + common_scripts\utility::flag_init("flag_obj_grenade_tutorial_threat_start"); + common_scripts\utility::flag_init("flag_obj_grenade_tutorial_threat_complete"); + common_scripts\utility::flag_init("flag_obj_grenade_range_tutorial_complete"); + common_scripts\utility::flag_init("flag_obj_grenade_range_minigame_start"); + common_scripts\utility::flag_init("flag_obj_grenade_range_minigame_complete"); + common_scripts\utility::flag_init("flag_obj_elevators_exit_complete"); + common_scripts\utility::flag_init("flag_obj_rescue1_start"); + common_scripts\utility::flag_init("flag_obj_rescue1_start_clear"); + common_scripts\utility::flag_init("flag_obj_rescue1_enter"); + common_scripts\utility::flag_init("flag_obj_rescue1_enter_clear"); + common_scripts\utility::flag_init("flag_obj_rescue1_flash"); + common_scripts\utility::flag_init("flag_obj_rescue1_flash_clear"); + common_scripts\utility::flag_init("flag_obj_rescue1_breach"); + common_scripts\utility::flag_init("flag_obj_rescue1_breach_clear"); + common_scripts\utility::flag_init("flag_obj_rescue1_drone_attack"); + common_scripts\utility::flag_init("flag_obj_rescue1_drone_attack_clear"); + common_scripts\utility::flag_init("threat_breach_kickoff_gunfire"); + common_scripts\utility::flag_init("flag_obj_rescue1_patio_ambush"); + common_scripts\utility::flag_init("flag_obj_rescue1_patio_ambush_clear"); + common_scripts\utility::flag_init("flag_obj_rescue1_golf_course"); + common_scripts\utility::flag_init("flag_obj_rescue1_golf_course_clear"); + common_scripts\utility::flag_init("flag_obj_rescue1_golf_course2"); + common_scripts\utility::flag_init("flag_obj_rescue1_golf_course2_clear"); + common_scripts\utility::flag_init("flag_obj_rescue1_escape_location"); + common_scripts\utility::flag_init("flag_obj_rescue1_escape_location_clear"); + common_scripts\utility::flag_init("flag_obj_rescue1_escape_vehicle"); + common_scripts\utility::flag_init("flag_obj_rescue1_escape_vehicle_clear"); + common_scripts\utility::flag_init("flag_obj_rescue1_allow_end_enter_jeep"); + common_scripts\utility::flag_init("flag_obj_rescue1_allow_end_enter_jeep_clear"); + common_scripts\utility::flag_init("flag_obj_rescue1_complete"); + common_scripts\utility::flag_init("flag_obj_rescue2_start"); + common_scripts\utility::flag_init("flag_obj_rescue2_entrance"); + common_scripts\utility::flag_init("flag_obj_rescue2_entrance_clear"); + common_scripts\utility::flag_init("flag_obj_rescue2_living_room"); + common_scripts\utility::flag_init("flag_obj_rescue2_living_room_clear"); + common_scripts\utility::flag_init("flag_obj_rescue2_breach"); + common_scripts\utility::flag_init("flag_obj_rescue2_breach_clear"); + common_scripts\utility::flag_init("flag_obj_rescue2_drone_living_room"); + common_scripts\utility::flag_init("flag_obj_rescue2_drone_living_room_clear"); + common_scripts\utility::flag_init("flag_obj_rescue2_patio_drone_ambush"); + common_scripts\utility::flag_init("flag_obj_rescue2_patio_drone_ambush_clear"); + common_scripts\utility::flag_init("flag_obj_rescue2_golf_course"); + common_scripts\utility::flag_init("flag_obj_rescue2_golf_course_clear"); + common_scripts\utility::flag_init("flag_obj_rescue2_golf_course2"); + common_scripts\utility::flag_init("flag_obj_rescue2_golf_course2_clear"); + common_scripts\utility::flag_init("flag_obj_rescue2_escape_location"); + common_scripts\utility::flag_init("flag_obj_rescue2_escape_location_clear"); + common_scripts\utility::flag_init("flag_obj_rescue2_escape_vehicle"); + common_scripts\utility::flag_init("flag_obj_rescue2_escape_vehicle_clear"); + common_scripts\utility::flag_init("flag_obj_rescue2_complete"); + common_scripts\utility::flag_init("flag_obj_rescue2_complete_clear"); + common_scripts\utility::flag_init("eulogy_complete"); + common_scripts\utility::flag_init("interact_casket"); + common_scripts\utility::flag_init("player_proximity_irons"); + common_scripts\utility::flag_init("card_obtained"); + common_scripts\utility::flag_init("funeral_complete"); + common_scripts\utility::flag_init("deck_reinforcement_1"); + common_scripts\utility::flag_init("training_s1_flag_entrance"); + common_scripts\utility::flag_init("training_s1_spawn_starting_enemies"); + common_scripts\utility::flag_init("training_s1_start_alerted"); + common_scripts\utility::flag_init("training_s1_enemies_start_charge"); + common_scripts\utility::flag_init("training_s1_clear_initial_spawn"); + common_scripts\utility::flag_init("training_s1_snipers_attack"); + common_scripts\utility::flag_init("training_s1_run_to_door"); + common_scripts\utility::flag_init("training_s1_living_room_approach"); + common_scripts\utility::flag_init("training_s1_peak_flash_door"); + common_scripts\utility::flag_init("training_s1_open_flash_door"); + common_scripts\utility::flag_init("training_s1_flag_flash"); + common_scripts\utility::flag_init("training_s1_enable_living_room"); + common_scripts\utility::flag_init("training_s1_enter_vo_complete"); + common_scripts\utility::flag_init("training_s1_start_alerted_enemies_dead"); + common_scripts\utility::flag_init("training_s1_flag_thermal"); + common_scripts\utility::flag_init("training_s1_peak_thermal_door"); + common_scripts\utility::flag_init("training_s1_open_thermal_door"); + common_scripts\utility::flag_init("training_flash_complete"); + common_scripts\utility::flag_init("training_s1_prepare_breach_room"); + common_scripts\utility::flag_init("training_s1_mute_breach_setup"); + common_scripts\utility::flag_init("training_s1_spawn_breach_door"); + common_scripts\utility::flag_init("door_breach_s1"); + common_scripts\utility::flag_init("training_s1_breach_begin"); + common_scripts\utility::flag_init("training_s1_spawn_breach_door"); + common_scripts\utility::flag_init("training_s1_flag_screen_smash"); + common_scripts\utility::flag_init("training_s1_spawn_breach_enemies"); + common_scripts\utility::flag_init("training_s1_flag_bathroom_guy_shot"); + common_scripts\utility::flag_init("training_s1_flag_president_shot"); + common_scripts\utility::flag_init("training_s1_flag_president_dead"); + common_scripts\utility::flag_init("training_s1_breach_enemy_dead"); + common_scripts\utility::flag_init("training_s1_bathroom_enemy_dead"); + common_scripts\utility::flag_init("training_s1_release_president"); + common_scripts\utility::flag_init("training_s1_exo_breach_clear"); + common_scripts\utility::flag_init("training_s1_president_free"); + common_scripts\utility::flag_init("training_s1_breach_done"); + common_scripts\utility::flag_init("training_s1_living_room_return"); + common_scripts\utility::flag_init("training_s1_search_drones_attack"); + common_scripts\utility::flag_init("training_s1_joker_search_drones_cover"); + common_scripts\utility::flag_init("training_s1_patio_doors_joker_in"); + common_scripts\utility::flag_init("training_s1_breach_patio_doors_open"); + common_scripts\utility::flag_init("training_s1_slow_patio_doors_open"); + common_scripts\utility::flag_init("training_s1_spawn_drones_reinforcements"); + common_scripts\utility::flag_init("training_s1_search_drones_done"); + common_scripts\utility::flag_init("training_s1_clear_flash_spawn"); + common_scripts\utility::flag_init("training_s1_close_living_room_door"); + common_scripts\utility::flag_init("training_s1_living_room_return"); + common_scripts\utility::flag_init("training_s1_living_room_ambush_scene"); + common_scripts\utility::flag_init("training_s1_ambush_cleanup"); + common_scripts\utility::flag_init("training_s1_spawn_patio_enemies"); + common_scripts\utility::flag_init("training_s1_spawn_patio_enemies_wave2"); + common_scripts\utility::flag_init("training_s1_spawn_patio_enemies_wave3"); + common_scripts\utility::flag_init("training_s1_spawn_patio_wave1_dead"); + common_scripts\utility::flag_init("training_s1_spawn_patio_wave2"); + common_scripts\utility::flag_init("training_s1_spawn_patio_wave3"); + common_scripts\utility::flag_init("training_s1_patio_alerted"); + common_scripts\utility::flag_init("training_s1_clear_patio1"); + common_scripts\utility::flag_init("training_s1_clear_patio2"); + common_scripts\utility::flag_init("training_s1_clear_patio3"); + common_scripts\utility::flag_init("training_s1_patio_clear"); + common_scripts\utility::flag_init("training_s1_hide"); + common_scripts\utility::flag_init("training_s1_allow_path_to_level_end"); + common_scripts\utility::flag_init("training_s1_start_patrol"); + common_scripts\utility::flag_init("training_s1_hide_from_patrols_done"); + common_scripts\utility::flag_init("training_s1_spotted"); + common_scripts\utility::flag_init("training_s1_vehicle_ready"); + common_scripts\utility::flag_init("training_s1_allow_escape"); + common_scripts\utility::flag_init("training_s1_escape_vehicle_ready"); + common_scripts\utility::flag_init("training_s1_end_anim_started"); + common_scripts\utility::flag_init("training_s1_end_setup_gideon"); + common_scripts\utility::flag_init("training_s1_end_setup_president"); + common_scripts\utility::flag_init("training_s1_end_setup_driver"); + common_scripts\utility::flag_init("training_s1_end_setup_cart"); + common_scripts\utility::flag_init("training_s1_end_setup_irons"); + common_scripts\utility::flag_init("training_s1_start_escape_vehicle"); + common_scripts\utility::flag_init("training_s1_ambush"); + common_scripts\utility::flag_init("training_s1_end_cease_fire"); + common_scripts\utility::flag_init("training_remove_player_weapons"); + common_scripts\utility::flag_init("training_s1_end"); + common_scripts\utility::flag_init("training_s1_flag_vfx_rain_stops"); + common_scripts\utility::flag_init("training_s1_flag_lights_on"); + common_scripts\utility::flag_init("training_s1_flag_wall_interior_decloak"); + common_scripts\utility::flag_init("training_s1_flag_trees_cloak"); + common_scripts\utility::flag_init("training_s1_flag_doors_open"); + common_scripts\utility::flag_init("training_s1_allow_end_enter_jeep"); + common_scripts\utility::flag_init("training_s1_end_enter_jeep"); + common_scripts\utility::flag_init("tour_exo_begin"); + common_scripts\utility::flag_init("tour_exo_hangar"); + common_scripts\utility::flag_init("arm_swapped"); + common_scripts\utility::flag_init("tour_exo_exit"); + common_scripts\utility::flag_init("tour_firing_range"); + common_scripts\utility::flag_init("shooting_range_talk"); + common_scripts\utility::flag_init("flag_enable_grenade_autofill"); + common_scripts\utility::flag_init("drone_flight"); + common_scripts\utility::flag_init("flag_drone_range_start"); + common_scripts\utility::flag_init("training_s1_end_enter_jeep"); + common_scripts\utility::flag_init("start_tour_ride"); + common_scripts\utility::flag_init("training_end"); + common_scripts\utility::flag_init("training_round_2"); + common_scripts\utility::flag_init("training_s2_ready"); + common_scripts\utility::flag_init("training_2_begin"); + common_scripts\utility::flag_init("_stealth_spotted"); + common_scripts\utility::flag_init("training_s2_start_charge"); + common_scripts\utility::flag_init("training_s2_path_end1"); + common_scripts\utility::flag_init("training_s2_path_end2"); + common_scripts\utility::flag_init("training_s2_path_end3"); + common_scripts\utility::flag_init("training_s2_start_alerted"); + common_scripts\utility::flag_init("training_s2_clear_start_spawn"); + common_scripts\utility::flag_init("training_s2_living_room_alert"); + common_scripts\utility::flag_init("training_s2_threat_enabled"); + common_scripts\utility::flag_init("training_s2_flag_thermal"); + common_scripts\utility::flag_init("training_s2_peak_thermal_door"); + common_scripts\utility::flag_init("training_s2_open_thermal_door"); + common_scripts\utility::flag_init("training_s2_hallway_surprise_enemy"); + common_scripts\utility::flag_init("training_s2_start_alert"); + common_scripts\utility::flag_init("training_s2_start_drone_scout"); + common_scripts\utility::flag_init("training_s2_start_player_in_sniper_attack_position"); + common_scripts\utility::flag_init("training_s2_start_player_sniper_attack"); + common_scripts\utility::flag_init("training_s2_spawn_starting_enemies"); + common_scripts\utility::flag_init("training_s2_clear_initial_spawn"); + common_scripts\utility::flag_init("training_s2_snipers_attack"); + common_scripts\utility::flag_init("training_s2_living_room_approach"); + common_scripts\utility::flag_init("training_s2_flag_entrance"); + common_scripts\utility::flag_init("training_s2_enable_living_room"); + common_scripts\utility::flag_init("training_s2_prep_breach"); + common_scripts\utility::flag_init("training_s2_mute_breach_setup"); + common_scripts\utility::flag_init("door_breach_s2"); + common_scripts\utility::flag_init("training_s2_spawn_breach_door"); + common_scripts\utility::flag_init("flag_living_room_dead"); + common_scripts\utility::flag_init("flag_hallway_dead"); + common_scripts\utility::flag_init("flag_surprise_dead"); + common_scripts\utility::flag_init("flag_bedrooms_dead"); + common_scripts\utility::flag_init("training_s2_mute_breach"); + common_scripts\utility::flag_init("training_s2_mute_breach_enabled"); + common_scripts\utility::flag_init("training_s2_breach_begin"); + common_scripts\utility::flag_init("training_s2_breach_done"); + common_scripts\utility::flag_init("training_s2_breach_enemy_dead"); + common_scripts\utility::flag_init("training_s2_breach_enemies_dead"); + common_scripts\utility::flag_init("training_s2_flag_president_dead"); + common_scripts\utility::flag_init("training_s2_flag_president_shot"); + common_scripts\utility::flag_init("training_s2_spawn_breach_enemies"); + common_scripts\utility::flag_init("training_s2_bathroom_enemy_dead"); + common_scripts\utility::flag_init("training_s2_release_president"); + common_scripts\utility::flag_init("training_s2_president_free"); + common_scripts\utility::flag_init("training_s2_drone_attack_setup"); + common_scripts\utility::flag_init("training_s2_living_room_drone_attack"); + common_scripts\utility::flag_init("training_s2_ready_living_room_drone_attack"); + common_scripts\utility::flag_init("training_s2_ambush_cleanup"); + common_scripts\utility::flag_init("training_s2_living_room_drone_attack_done"); + common_scripts\utility::flag_init("training_s2_gideon_smash_french_door"); + common_scripts\utility::flag_init("training_s2_drone_start"); + common_scripts\utility::flag_init("flag_player_using_drone"); + common_scripts\utility::flag_init("flag_training_s2_patio_enemies_charge"); + common_scripts\utility::flag_init("training_s2_start_enter_patio"); + common_scripts\utility::flag_init("training_s2_enter_patio"); + common_scripts\utility::flag_init("training_s2_drone_attack_done"); + common_scripts\utility::flag_init("training_s2_patio_alert"); + common_scripts\utility::flag_init("training_s2_clear_patio_spawn"); + common_scripts\utility::flag_init("training_s2_golf_course_hide"); + common_scripts\utility::flag_init("flag_training_s2_squad_advance_golf_course"); + common_scripts\utility::flag_init("training_s2_hide_from_patrols_done"); + common_scripts\utility::flag_init("training_s2_start_escape_vehicle"); + common_scripts\utility::flag_init("training_s2_start_exo_shield_tutorial"); + common_scripts\utility::flag_init("training_s2_golf_course_vehicles"); + common_scripts\utility::flag_init("training_s2_vehicle_ready"); + common_scripts\utility::flag_init("training_s2_end_setup_president"); + common_scripts\utility::flag_init("flag_training_s2_guard_house_doors_stay_open"); + common_scripts\utility::flag_init("training_s2_start_warbird"); + common_scripts\utility::flag_init("training_s2_warbird_uncloak"); + common_scripts\utility::flag_init("training_s2_warbird_attack"); + common_scripts\utility::flag_init("training_s2_warbird_kill_enemies"); + common_scripts\utility::flag_init("training_s2_end_helicopter_setup_irons"); + common_scripts\utility::flag_init("training_s2_end_helicopter_setup_gideon"); + common_scripts\utility::flag_init("training_enable_end"); + common_scripts\utility::flag_init("training_s2_enter_helicopter"); + common_scripts\utility::flag_init("training_s2_end_helicopter_irons_end"); + common_scripts\utility::flag_init("play_tv_news"); + common_scripts\utility::flag_init("flag_enable_overdrive"); + common_scripts\utility::flag_init("flag_disable_exo"); + common_scripts\utility::flag_init("gideon_jog_and_speedup"); + if(level.currentgen) + { + common_scripts\utility::flag_init("flag_tff_trans_tour_ride_to_tour_exo"); + common_scripts\utility::flag_init("tff_tour_ride_over"); + common_scripts\utility::flag_init("flag_tff_exo_unload_ally_ready"); + common_scripts\utility::flag_init("flag_tff_firing_range_unload_ally_ready"); + } +} + +//Function Number: 8 +disable_default_exo_powers() +{ + level.player.disabled_exo = maps\_player_exo::player_exo_get_owned_array(); + maps\_player_exo::player_exo_remove_array(level.player.disabled_exo); +} + +//Function Number: 9 +restore_default_exo_powers() +{ + if(isdefined(level.player.disabled_exo)) + { + maps\_player_exo::player_exo_add_array(level.player.disabled_exo); + level.player.disabled_exo = undefined; + } +} + +//Function Number: 10 +manage_player_exo_toggling() +{ + for(;;) + { + common_scripts\utility::flag_wait("flag_disable_exo"); + disable_default_exo_powers(); + common_scripts\utility::flag_waitopen("flag_disable_exo"); + restore_default_exo_powers(); + } +} + +//Function Number: 11 +manage_player_exo() +{ + maps\_player_exo::player_exo_remove_single("overdrive"); + maps\_player_exo::player_exo_activate(); + maps\_player_exo::update_overdrive_icon(0); + thread manage_player_exo_toggling(); + common_scripts\utility::flag_wait("flag_enable_overdrive"); + maps\_player_exo::player_exo_add_single("overdrive"); +} + +//Function Number: 12 +setup_start_points() +{ + maps\_utility::add_start("funeral",::funeral); + maps\_utility::add_start("training_begin",::training_begin); + maps\_utility::add_start("training_lodge_begin",::training_lodge_begin); + maps\_utility::add_start("training_lodge_breach",::training_lodge_breach); + maps\_utility::add_start("training_lodge_exit",::training_lodge_exit); + maps\_utility::add_start("training_golf_course",::training_golf_course); + maps\_utility::add_start("training_end",::training_end); + maps\_utility::add_start("tour_ride_begin",::tour_ride_begin); + maps\_utility::add_start("tour_exo_begin",::tour_exo_begin); + maps\_utility::add_start("tour_exo_exit",::tour_exo_exit); + maps\_utility::add_start("tour_firing_range",::tour_firing_range); + maps\_utility::add_start("tour_augmented_reality",::tour_augmented_reality); + maps\_utility::add_start("tour_end",::tour_end); + maps\_utility::add_start("training_2_begin",::training_2_begin); + maps\_utility::add_start("training_2_lodge_begin",::training_2_lodge_begin); + maps\_utility::add_start("training_2_lodge_breach",::training_2_lodge_breach); + maps\_utility::add_start("training_2_lodge_exit",::training_2_lodge_exit); + maps\_utility::add_start("training_2_golf_course",::training_2_golf_course); + maps\_utility::add_start("training_2_end",::training_2_end); + if(level.currentgen) + { + setup_start_transients(); + } +} + +//Function Number: 13 +setup_start_transients() +{ + var_00 = ["recovery_funeral_tr"]; + maps\_utility::set_start_transients("funeral",var_00); + var_00[0] = "recovery_training_tr"; + maps\_utility::set_start_transients("training_begin",var_00); + maps\_utility::set_start_transients("training_lodge_begin",var_00); + maps\_utility::set_start_transients("training_lodge_exit",var_00); + maps\_utility::set_start_transients("training_golf_course",var_00); + maps\_utility::set_start_transients("training_end",var_00); + var_00[0] = "recovery_base_tr"; + var_00[1] = "recovery_tour_ride_tr"; + maps\_utility::set_start_transients("tour_ride_begin",var_00); + var_00[1] = "recovery_tour_exo_tr"; + maps\_utility::set_start_transients("tour_exo_begin",var_00); + maps\_utility::set_start_transients("tour_exo_exit",var_00); + var_00[1] = "recovery_tour_firing_range_tr"; + maps\_utility::set_start_transients("tour_firing_range",var_00); + var_00[1] = "recovery_tour_augmented_reality_tr"; + maps\_utility::set_start_transients("tour_augmented_reality",var_00); + var_00 = ["recovery_base_tr"]; + maps\_utility::set_start_transients("tour_end",var_00); + var_00 = ["recovery_training_tr"]; + maps\_utility::set_start_transients("training_2_begin",var_00); + maps\_utility::set_start_transients("training_2_lodge_begin",var_00); + maps\_utility::set_start_transients("training_2_lodge_breach",var_00); + maps\_utility::set_start_transients("training_2_lodge_exit",var_00); + maps\_utility::set_start_transients("training_2_golf_course",var_00); + maps\_utility::set_start_transients("training_2_end",var_00); +} + +//Function Number: 14 +tff_setups() +{ + thread setup_tff_transitions(); + thread setup_tff_cleanups(); +} + +//Function Number: 15 +tff_ally_check(param_00,param_01,param_02) +{ + var_03 = getent(param_00,"targetname"); + level.tff_trans_ally_check_count = 0; + for(;;) + { + var_03 waittill("trigger",var_04); + if(isdefined(param_02) && !common_scripts\utility::flag(param_02)) + { + continue; + } + + if(isdefined(var_04.tff_trans_ally_check_active) && var_04.tff_trans_ally_check_active) + { + continue; + } + + if(isdefined(var_04.script_friendname)) + { + var_05 = tolower(var_04.script_friendname); + } + else + { + var_05 = ""; + } + + if(var_04 == level.player || var_05 == "gideon") + { + level.tff_trans_ally_check_count++; + if(level.tff_trans_ally_check_count >= 2) + { + common_scripts\utility::flag_set(param_01); + break; + } + + var_04.tff_trans_ally_check_active = 1; + var_04 thread tff_trans_ally_check_touching(var_03); + } + } +} + +//Function Number: 16 +tff_trans_ally_check_touching(param_00) +{ + while(self istouching(param_00)) + { + wait(0.05); + } + + level.tff_trans_ally_check_count--; + self.tff_trans_ally_check_active = 0; +} + +//Function Number: 17 +setup_tff_transitions() +{ + if(!istransientloaded("recovery_tour_ride_tr")) + { + thread tff_trans_training_to_tour_ride(); + } + + if(!istransientloaded("recovery_tour_exo_tr")) + { + thread tff_trans_tour_ride_to_tour_exo(); + } + + if(!istransientloaded("recovery_tour_firing_range_tr")) + { + thread tff_trans_tour_exo_to_tour_firing_range(); + } + + if(!istransientloaded("recovery_tour_augmented_reality_tr")) + { + thread tff_trans_tour_firing_range_to_tour_augmented_reality(); + } + + if(!istransientloaded("recovery_training_tr") || level.start_point == "training_begin" || level.start_point == "training_lodge_begin" || level.start_point == "training_lodge_exit" || level.start_point == "training_golf_course" || level.start_point == "training_end") + { + thread tff_trans_tour_augmented_reality_to_training(); + } +} + +//Function Number: 18 +tff_trans_training_to_tour_ride() +{ + common_scripts\utility::flag_wait("training_s1_end_anim_started"); + level notify("tff_pre_training_to_tour_ride"); + unloadtransient("recovery_training_tr"); + loadtransient("recovery_base_tr"); + while(!istransientloaded("recovery_base_tr")) + { + wait(0.05); + } + + loadtransient("recovery_tour_ride_tr"); + while(!istransientloaded("recovery_tour_ride_tr")) + { + wait(0.05); + } + + level notify("tff_post_training_to_tour_ride"); +} + +//Function Number: 19 +tff_trans_tour_ride_to_tour_exo() +{ + common_scripts\utility::flag_wait("flag_tff_trans_tour_ride_to_tour_exo"); + common_scripts\utility::flag_set("tff_tour_ride_over"); + level notify("tff_pre_tour_ride_to_tour_exo"); + unloadtransient("recovery_tour_ride_tr"); + loadtransient("recovery_tour_exo_tr"); + while(!istransientloaded("recovery_tour_exo_tr")) + { + wait(0.05); + } + + level notify("tff_post_tour_ride_to_tour_exo"); +} + +//Function Number: 20 +tff_trans_tour_exo_to_tour_firing_range() +{ + thread tff_ally_check("tff_ally_check_tour_exo_unload","flag_tff_exo_unload_ally_ready","arm_swapped"); + common_scripts\utility::flag_wait("flag_tff_trans_tour_exo_to_tour_firing_range"); + common_scripts\utility::flag_wait("flag_tff_exo_unload_ally_ready"); + level notify("tff_pre_tour_exo_to_tour_firing_range"); + var_00 = getent("tour_glass_door_02_l","targetname"); + var_01 = getent("tour_glass_door_02_r","targetname"); + var_02 = common_scripts\utility::getstruct("tour_glass_door_02_closed","targetname"); + var_03 = 0.6; + soundscripts\_snd::snd_message("rec_star_trek_door_close",var_00,var_01); + var_00 moveto(var_02.origin,var_03,0.2,0.2); + var_01 moveto(var_02.origin,var_03,0.2,0.2); + wait(var_03); + unloadtransient("recovery_tour_exo_tr"); + loadtransient("recovery_tour_firing_range_tr"); + while(!istransientloaded("recovery_tour_firing_range_tr")) + { + wait(0.05); + } + + level notify("tff_post_tour_exo_to_tour_firing_range"); +} + +//Function Number: 21 +tff_trans_tour_firing_range_to_tour_augmented_reality() +{ + thread tff_ally_check("tff_ally_check_tour_firing_range_unload","flag_tff_firing_range_unload_ally_ready","shooting_range_completed_once"); + common_scripts\utility::flag_wait("flag_tff_trans_tour_firing_range_to_aug_reality"); + common_scripts\utility::flag_wait("flag_tff_firing_range_unload_ally_ready"); + level notify("tff_pre_tour_firing_range_to_tour_aug_reality"); + var_00 = getent("tour_glass_door_04_l","targetname"); + var_01 = getent("tour_glass_door_04_r","targetname"); + var_02 = common_scripts\utility::getstruct("tour_glass_door_04_closed","targetname"); + var_03 = 0.6; + soundscripts\_snd::snd_message("rec_star_trek_door_close",var_00,var_01); + var_00 moveto(var_02.origin,var_03,0.2,0.2); + var_01 moveto(var_02.origin,var_03,0.2,0.2); + wait(var_03); + unloadtransient("recovery_tour_firing_range_tr"); + loadtransient("recovery_tour_augmented_reality_tr"); + while(!istransientloaded("recovery_tour_augmented_reality_tr")) + { + wait(0.05); + } + + level notify("tff_post_tour_firing_range_to_tour_aug_reality"); +} + +//Function Number: 22 +tff_trans_tour_augmented_reality_to_training() +{ + common_scripts\utility::flag_wait("elevator_room_interior"); + if(istransientloaded("recovery_tour_augmented_reality_tr")) + { + level notify("tff_pre_tour_aug_reality_to_training"); + unloadtransient("recovery_tour_augmented_reality_tr"); + } + + common_scripts\utility::flag_waitopen("tour_glass_door_05"); + wait(2); + unloadtransient("recovery_base_tr"); + loadtransient("recovery_training_tr"); + while(!istransientloaded("recovery_training_tr")) + { + wait(0.05); + } + + level notify("tff_post_tour_aug_reality_to_training"); +} + +//Function Number: 23 +setup_tff_cleanups() +{ + thread tff_cleanup_tour_ride_ambient_vehicles(); +} + +//Function Number: 24 +tff_cleanup_tour_ride_ambient_vehicles() +{ + level waittill("tff_pre_tour_ride_to_tour_exo"); + var_00 = getentarray("tour_ride_ambient_vehicle","script_noteworthy"); + foreach(var_02 in var_00) + { + if(isdefined(var_02)) + { + if(!isspawner(var_02)) + { + var_02 freevehicle(); + var_02 delete(); + } + } + } +} + +//Function Number: 25 +set_completed_flags() +{ + var_00 = level.start_point; + if(!isdefined(var_00)) + { + return; + } + + if(var_00 == "funeral") + { + return; + } + + common_scripts\utility::flag_set("funeral_complete"); + common_scripts\utility::flag_set("flag_obj_funeral_casket_start"); + common_scripts\utility::flag_set("flag_obj_funeral_casket_complete"); + common_scripts\utility::flag_set("flag_obj_funeral_irons_start"); + common_scripts\utility::flag_set("flag_obj_funeral_irons_complete"); + if(var_00 == "training_begin") + { + return; + } + + common_scripts\utility::flag_set("flag_obj_rescue1_start"); + common_scripts\utility::flag_set("flag_obj_rescue1_start_clear"); + common_scripts\utility::flag_set("flag_obj_rescue1_enter"); + common_scripts\utility::flag_set("flag_obj_rescue1_enter_clear"); + common_scripts\utility::flag_set("flag_obj_rescue1_flash"); + if(var_00 == "training_lodge_begin") + { + return; + } + + common_scripts\utility::flag_set("flag_obj_rescue1_flash_clear"); + common_scripts\utility::flag_set("flag_obj_rescue1_breach"); + if(var_00 == "training_lodge_breach") + { + return; + } + + common_scripts\utility::flag_set("flag_obj_rescue1_breach_clear"); + common_scripts\utility::flag_set("flag_obj_rescue1_drone_attack"); + if(var_00 == "training_lodge_exit") + { + return; + } + + common_scripts\utility::flag_set("flag_obj_rescue1_drone_attack_clear"); + common_scripts\utility::flag_set("flag_obj_rescue1_patio_ambush"); + common_scripts\utility::flag_set("flag_obj_rescue1_patio_ambush_clear"); + common_scripts\utility::flag_set("flag_obj_rescue1_patio_mid"); + common_scripts\utility::flag_set("flag_obj_rescue1_golf_course"); + if(var_00 == "training_golf_course") + { + return; + } + + common_scripts\utility::flag_set("flag_obj_rescue1_golf_course_clear"); + common_scripts\utility::flag_set("flag_obj_rescue1_golf_course2"); + common_scripts\utility::flag_set("flag_obj_rescue1_golf_course2_clear"); + common_scripts\utility::flag_set("flag_obj_rescue1_escape_location"); + common_scripts\utility::flag_set("flag_obj_rescue1_escape_location_clear"); + common_scripts\utility::flag_set("training_s1_allow_path_to_level_end"); + if(var_00 == "training_end") + { + return; + } + + common_scripts\utility::flag_set("onBase"); + common_scripts\utility::flag_set("flag_obj_rescue1_escape_vehicle"); + common_scripts\utility::flag_set("flag_obj_rescue1_escape_vehicle_clear"); + common_scripts\utility::flag_set("flag_obj_rescue1_allow_end_enter_jeep"); + common_scripts\utility::flag_set("flag_obj_rescue1_allow_end_enter_jeep_clear"); + common_scripts\utility::flag_set("flag_obj_rescue1_complete"); + common_scripts\utility::flag_set("flag_obj_follow_gideon"); + common_scripts\utility::flag_set("flag_mountains_visible"); + if(var_00 == "tour_ride_begin") + { + return; + } + + common_scripts\utility::flag_set("tour_end"); + common_scripts\utility::flag_set("flag_obj_base_start"); + common_scripts\utility::flag_set("dropoff_complete"); + if(var_00 == "tour_exo_begin") + { + return; + } + + common_scripts\utility::flag_set("arm_swapped"); + common_scripts\utility::flag_set("flag_obj_arm_repair_pre"); + common_scripts\utility::flag_set("flag_obj_arm_repair_desk_enabled"); + common_scripts\utility::flag_set("flag_obj_arm_repair_start"); + common_scripts\utility::flag_set("flag_obj_arm_repair_complete"); + if(var_00 == "tour_exo_exit") + { + return; + } + + if(var_00 == "tour_firing_range") + { + return; + } + + common_scripts\utility::flag_set("tour_range_door_01_gideon"); + common_scripts\utility::flag_set("flag_start_shooting"); + common_scripts\utility::flag_set("flag_obj_firing_range_pre"); + common_scripts\utility::flag_set("flag_obj_equip_firing_range"); + common_scripts\utility::flag_set("flag_obj_gun_range_active"); + common_scripts\utility::flag_set("flag_obj_gun_range_start"); + common_scripts\utility::flag_set("flag_obj_gun_range_complete"); + common_scripts\utility::flag_set("shooting_range_started_once"); + common_scripts\utility::flag_set("shooting_range_completed_once"); + if(var_00 == "tour_augmented_reality") + { + return; + } + + common_scripts\utility::flag_set("training_round_2"); + common_scripts\utility::flag_set("flag_obj_grenade_range_pre_1"); + common_scripts\utility::flag_set("flag_obj_grenade_range_pre_2"); + common_scripts\utility::flag_set("flag_obj_grenade_tutorial_threat_start"); + common_scripts\utility::flag_set("flag_obj_grenade_tutorial_threat_complete"); + common_scripts\utility::flag_set("flag_obj_grenade_range_tutorial_start"); + common_scripts\utility::flag_set("flag_obj_grenade_range_tutorial_complete"); + common_scripts\utility::flag_set("flag_obj_grenade_range_minigame_start"); + common_scripts\utility::flag_set("flag_obj_grenade_range_minigame_complete"); + common_scripts\utility::flag_set("grenade_range_started_once"); + common_scripts\utility::flag_set("grenade_range_completed_once"); + if(var_00 == "tour_end") + { + return; + } + + common_scripts\utility::flag_set("flag_obj_elevator_room"); + common_scripts\utility::flag_set("training_room_elevator_activated"); + common_scripts\utility::flag_set("training_room_elevator_completed"); + common_scripts\utility::flag_set("flag_obj_elevators_exit_complete"); + common_scripts\utility::flag_clear("onBase"); + if(var_00 == "training_2_begin") + { + return; + } + + common_scripts\utility::flag_set("flag_obj_rescue2_start"); + common_scripts\utility::flag_set("flag_obj_rescue2_entrance"); + common_scripts\utility::flag_set("flag_obj_rescue2_entrance_clear"); + common_scripts\utility::flag_set("flag_obj_rescue2_living_room"); + if(var_00 == "training_2_lodge_begin") + { + return; + } + + common_scripts\utility::flag_set("flag_obj_rescue2_living_room_clear"); + common_scripts\utility::flag_set("flag_obj_rescue2_breach"); + if(var_00 == "training_2_lodge_breach") + { + return; + } + + common_scripts\utility::flag_set("flag_obj_rescue2_breach_clear"); + common_scripts\utility::flag_set("flag_obj_rescue2_drone_living_room"); + if(var_00 == "training_2_lodge_exit") + { + return; + } + + common_scripts\utility::flag_set("flag_obj_rescue2_drone_living_room_clear"); + common_scripts\utility::flag_set("flag_obj_rescue2_patio_drone_ambush"); + common_scripts\utility::flag_set("flag_obj_rescue2_patio_drone_ambush_clear"); + common_scripts\utility::flag_set("flag_obj_rescue2_golf_course"); + common_scripts\utility::flag_set("training_s2_drone_attack_done"); + if(var_00 == "training_2_golf_course") + { + return; + } + + common_scripts\utility::flag_set("flag_obj_rescue2_golf_course_clear"); + common_scripts\utility::flag_set("flag_obj_rescue2_golf_course2"); + common_scripts\utility::flag_set("flag_obj_rescue2_golf_course2_clear"); + common_scripts\utility::flag_set("flag_obj_rescue2_escape_location"); + common_scripts\utility::flag_set("flag_obj_rescue2_escape_location_clear"); + common_scripts\utility::flag_set("flag_obj_rescue2_escape_vehicle"); + common_scripts\utility::flag_set("flag_obj_rescue2_escape_vehicle_clear"); + if(var_00 == "training_2_end") + { + } +} + +//Function Number: 26 +objective_init() +{ + obj_funeral(); + obj_rescue_1(); + obj_base(); + obj_rescue_2(); +} + +//Function Number: 27 +obj_funeral() +{ + common_scripts\utility::flag_wait("flag_obj_funeral_casket_start"); + objective_add(maps\_utility::obj("funeral"),"current",&"RECOVERY_OBJ_PAY_RESPECTS"); + var_00 = common_scripts\utility::getstruct("obj_marker_funeral_casket","targetname"); + objective_position(maps\_utility::obj("funeral"),var_00.origin); + objective_setpointertextoverride(maps\_utility::obj("funeral"),&"RECOVERY_PAY_RESPECTS"); + var_01 = getent("trig_coffin","targetname"); + var_01 maps\_utility::addhinttrigger(&"RECOVERY_PROMPT_CASKET",&"RECOVERY_PROMPT_CASKET_PC"); + var_02 = var_01 maps\_shg_utility::hint_button_trigger("use"); + common_scripts\utility::flag_wait("flag_obj_funeral_casket_complete"); + var_01 common_scripts\utility::trigger_off(); + var_02 maps\_shg_utility::hint_button_clear(); + objective_position(maps\_utility::obj("funeral"),(0,0,0)); + common_scripts\utility::flag_wait("flag_obj_funeral_irons_start"); + maps\_utility::objective_complete(maps\_utility::obj("funeral")); + objective_add(maps\_utility::obj("cormack"),"current",&"RECOVERY_OBJ_FOLLOW_CORMACK"); + objective_setpointertextoverride(maps\_utility::obj("cormack"),""); + if(isdefined(level.funeral_cormack)) + { + objective_onentity(maps\_utility::obj("cormack"),level.funeral_cormack); + } + + common_scripts\utility::flag_wait("flag_obj_funeral_irons_complete"); + maps\_utility::objective_complete(maps\_utility::obj("cormack")); +} + +//Function Number: 28 +obj_rescue_1() +{ + common_scripts\utility::flag_wait("flag_obj_rescue1_start"); + objective_add(maps\_utility::obj("Rescue"),"current",&"RECOVERY_OBJ_RESCUE_PRESIDENT"); + var_00 = common_scripts\utility::getstruct("obj_marker_rescue1_start","targetname"); + objective_position(maps\_utility::obj("Rescue"),var_00.origin); + common_scripts\utility::flag_wait("flag_obj_rescue1_start_clear"); + objective_position(maps\_utility::obj("Rescue"),(0,0,0)); + common_scripts\utility::flag_wait("flag_obj_rescue1_enter"); + var_01 = common_scripts\utility::getstruct("obj_marker_rescue1_entrance","targetname"); + objective_position(maps\_utility::obj("Rescue"),var_01.origin); + common_scripts\utility::flag_wait("flag_obj_rescue1_enter_clear"); + objective_position(maps\_utility::obj("Rescue"),(0,0,0)); + common_scripts\utility::flag_wait("flag_obj_rescue1_flash"); + var_02 = common_scripts\utility::getstruct("obj_marker_rescue1_flash","targetname"); + objective_position(maps\_utility::obj("Rescue"),var_02.origin); + common_scripts\utility::flag_wait("flag_obj_rescue1_flash_clear"); + objective_position(maps\_utility::obj("Rescue"),(0,0,0)); + common_scripts\utility::flag_wait("flag_obj_rescue1_breach"); + var_03 = getent("training_s1_breach_door_trigger","targetname"); + var_03 maps\_utility::addhinttrigger(&"RECOVERY_PROMPT_MUTE_DEVICE",&"RECOVERY_PROMPT_MUTE_DEVICE_PC"); + objective_position(maps\_utility::obj("Rescue"),var_03.origin); + objective_setpointertextoverride(maps\_utility::obj("Rescue"),&"RECOVERY_PLANT"); + common_scripts\utility::flag_wait("flag_obj_rescue1_breach_clear"); + objective_position(maps\_utility::obj("Rescue"),(0,0,0)); + objective_setpointertextoverride(maps\_utility::obj("Rescue"),""); + common_scripts\utility::flag_wait("flag_obj_rescue1_drone_attack"); + wait 0.05; + var_04 = common_scripts\utility::getstruct("obj_marker_rescue1_drone_attack","targetname"); + objective_position(maps\_utility::obj("Rescue"),var_04.origin); + common_scripts\utility::flag_wait("flag_obj_rescue1_drone_attack_clear"); + objective_position(maps\_utility::obj("Rescue"),(0,0,0)); + common_scripts\utility::flag_wait("flag_obj_rescue1_patio_ambush"); + var_05 = common_scripts\utility::getstruct("obj_marker_rescue1_patio_ambush","targetname"); + objective_position(maps\_utility::obj("Rescue"),var_05.origin); + common_scripts\utility::flag_wait("flag_obj_rescue1_patio_ambush_clear"); + var_06 = common_scripts\utility::getstruct("obj_marker_rescue1_patio_mid","targetname"); + objective_position(maps\_utility::obj("Rescue"),var_06.origin); + common_scripts\utility::flag_wait("flag_obj_rescue1_patio_mid"); + objective_position(maps\_utility::obj("Rescue"),(0,0,0)); + common_scripts\utility::flag_wait("flag_obj_rescue1_golf_course"); + if(!common_scripts\utility::flag("onBase")) + { + for(;;) + { + if(isdefined(level.joker)) + { + break; + } + else + { + wait 0.05; + } + } + } + + if(isdefined(level.joker)) + { + objective_onentity(maps\_utility::obj("Rescue"),level.joker); + } + + common_scripts\utility::flag_wait("flag_obj_rescue1_golf_course_clear"); + objective_position(maps\_utility::obj("Rescue"),(0,0,0)); + common_scripts\utility::flag_wait("flag_obj_rescue1_golf_course2"); + wait 0.05; + if(isdefined(level.joker)) + { + objective_onentity(maps\_utility::obj("Rescue"),level.joker); + } + + common_scripts\utility::flag_wait("flag_obj_rescue1_escape_location_clear"); + wait 0.05; + objective_position(maps\_utility::obj("Rescue"),(0,0,0)); + common_scripts\utility::flag_wait("flag_obj_rescue1_escape_vehicle"); + var_07 = getent("training_s1_ending_trigger","targetname"); + var_07 maps\_utility::addhinttrigger(&"RECOVERY_PROMPT_OPEN",&"RECOVERY_PROMPT_OPEN_PC"); + objective_position(maps\_utility::obj("Rescue"),var_07.origin); + objective_setpointertextoverride(maps\_utility::obj("Rescue"),&"RECOVERY_OPEN"); + common_scripts\utility::flag_wait("flag_obj_rescue1_escape_vehicle_clear"); + objective_setpointertextoverride(maps\_utility::obj("Rescue"),""); + objective_position(maps\_utility::obj("Rescue"),(0,0,0)); + common_scripts\utility::flag_wait("flag_obj_rescue1_complete"); + objective_state(maps\_utility::obj("Rescue"),"failed"); +} + +//Function Number: 29 +obj_base() +{ + common_scripts\utility::flag_wait("flag_obj_follow_gideon"); + for(;;) + { + if(isdefined(level.gideon)) + { + break; + } + else + { + wait 0.05; + } + } + + objective_add(maps\_utility::obj("gideon"),"current",&"RECOVERY_OBJ_FOLLOW_GIDEON"); + var_00 = getent("training_s1_jeep_enter_trigger","targetname"); + objective_position(maps\_utility::obj("gideon"),var_00.origin); + objective_setpointertextoverride(maps\_utility::obj("gideon"),&"RECOVERY_ENTER"); + common_scripts\utility::flag_wait("flag_obj_rescue1_allow_end_enter_jeep_clear"); + objective_position(maps\_utility::obj("gideon"),(0,0,0)); + objective_setpointertextoverride(maps\_utility::obj("gideon"),""); + common_scripts\utility::flag_wait("flag_obj_base_start"); + objective_onentity(maps\_utility::obj("gideon"),level.gideon); + common_scripts\utility::flag_wait("flag_obj_arm_repair_pre"); + var_01 = common_scripts\utility::getstruct("obj_prep_arm_repair","targetname"); + objective_position(maps\_utility::obj("gideon"),var_01.origin); + common_scripts\utility::flag_wait("flag_obj_arm_repair_desk_enabled"); + objective_setpointertextoverride(maps\_utility::obj("gideon"),&"RECOVERY_USE"); + var_02 = getent("trig_desk_interact","targetname"); + var_02 maps\_utility::addhinttrigger(&"RECOVERY_PROMPT_USE_GENERAL",&"RECOVERY_PROMPT_USE_GENERAL_PC"); + var_03 = var_02 maps\_shg_utility::hint_button_trigger("use"); + common_scripts\utility::flag_wait("flag_obj_arm_repair_start"); + var_03 maps\_shg_utility::hint_button_clear(); + var_02 delete(); + objective_position(maps\_utility::obj("gideon"),(0,0,0)); + objective_setpointertextoverride(maps\_utility::obj("gideon"),""); + common_scripts\utility::flag_wait("flag_obj_arm_repair_complete"); + objective_onentity(maps\_utility::obj("gideon"),level.gideon); + common_scripts\utility::flag_wait("flag_obj_firing_range_pre"); + maps\_utility::objective_complete(maps\_utility::obj("gideon")); + objective_add(maps\_utility::obj("firing_range"),"current",&"RECOVERY_OBJ_FIRING_RANGE"); + var_04 = common_scripts\utility::getstruct("obj_equip_firing_range","targetname"); + objective_position(maps\_utility::obj("firing_range"),var_04.origin); + objective_setpointertextoverride(maps\_utility::obj("firing_range"),&"RECOVERY_EQUIP"); + common_scripts\utility::flag_wait("flag_obj_equip_firing_range"); + objective_position(maps\_utility::obj("firing_range"),(0,0,0)); + objective_setpointertextoverride(maps\_utility::obj("firing_range"),""); + common_scripts\utility::flag_wait("flag_obj_gun_range_active"); + var_05 = common_scripts\utility::getstruct("obj_prep_firing_range","targetname"); + objective_position(maps\_utility::obj("firing_range"),(0,0,0)); + common_scripts\utility::flag_wait("flag_obj_gun_range_start"); + objective_position(maps\_utility::obj("firing_range"),(0,0,0)); + common_scripts\utility::flag_wait("flag_obj_gun_range_complete"); + maps\_utility::objective_complete(maps\_utility::obj("firing_range")); + objective_add(maps\_utility::obj("gideon2"),"current",&"RECOVERY_OBJ_FOLLOW_GIDEON"); + objective_onentity(maps\_utility::obj("gideon2"),level.gideon); + common_scripts\utility::flag_wait("flag_obj_grenade_range_pre_1"); + maps\_utility::objective_complete(maps\_utility::obj("gideon2")); + objective_add(maps\_utility::obj("grenade_range"),"current",&"RECOVERY_OBJ_GRENADE_TRAINING"); + objective_position(maps\_utility::obj("grenade_range"),(0,0,0)); + common_scripts\utility::flag_wait("flag_obj_grenade_range_pre_2"); + var_06 = common_scripts\utility::getstruct("obj_prep_grenade_emp","targetname"); + var_07 = getent("grenade_range_start","targetname"); + objective_position(maps\_utility::obj("grenade_range"),var_06.origin); + objective_setpointertextoverride(maps\_utility::obj("grenade_range"),&"RECOVERY_ACTIVATE"); + common_scripts\utility::flag_wait("flag_obj_grenade_range_tutorial_start"); + objective_position(maps\_utility::obj("grenade_range"),(0,0,0)); + objective_setpointertextoverride(maps\_utility::obj("grenade_range"),""); + common_scripts\utility::flag_wait("flag_obj_grenade_tutorial_threat_start"); + var_08 = common_scripts\utility::getstruct("obj_grenade_range_threat_tutorial","targetname"); + objective_position(maps\_utility::obj("grenade_range"),var_08.origin); + common_scripts\utility::flag_wait("flag_obj_grenade_tutorial_threat_complete"); + objective_position(maps\_utility::obj("grenade_range"),(0,0,0)); + common_scripts\utility::flag_wait("flag_obj_grenade_range_tutorial_complete"); + var_06 = common_scripts\utility::getstruct("obj_prep_grenade_emp","targetname"); + var_07 = getent("grenade_range_start","targetname"); + objective_position(maps\_utility::obj("grenade_range"),var_06.origin); + objective_setpointertextoverride(maps\_utility::obj("grenade_range"),&"RECOVERY_ACTIVATE"); + common_scripts\utility::flag_wait("flag_obj_grenade_range_minigame_start"); + objective_position(maps\_utility::obj("grenade_range"),(0,0,0)); + objective_setpointertextoverride(maps\_utility::obj("grenade_range"),""); + common_scripts\utility::flag_wait("flag_obj_grenade_range_minigame_complete"); + maps\_utility::objective_complete(maps\_utility::obj("grenade_range")); + objective_add(maps\_utility::obj("gideon3"),"current",&"RECOVERY_OBJ_FOLLOW_GIDEON"); + objective_onentity(maps\_utility::obj("gideon3"),level.gideon); + common_scripts\utility::flag_wait("flag_obj_elevator_room"); + var_09 = common_scripts\utility::getstruct("obj_prep_elevators_exit","targetname"); + objective_position(maps\_utility::obj("gideon3"),var_09.origin); + common_scripts\utility::flag_wait("flag_obj_elevators_exit_complete"); + maps\_utility::objective_complete(maps\_utility::obj("gideon3")); +} + +//Function Number: 30 +obj_rescue_2() +{ + wait 0.05; + common_scripts\utility::flag_wait("flag_obj_rescue2_start"); + wait 0.05; + objective_add(maps\_utility::obj("Rescue2"),"current",&"RECOVERY_OBJ_RESCUE_PRESIDENT"); + objective_position(maps\_utility::obj("Rescue2"),(0,0,0)); + common_scripts\utility::flag_wait("flag_obj_rescue2_entrance"); + var_00 = common_scripts\utility::getstruct("obj_marker_rescue2_entrance","targetname"); + objective_position(maps\_utility::obj("Rescue2"),var_00.origin); + common_scripts\utility::flag_wait("flag_obj_rescue2_entrance_clear"); + objective_position(maps\_utility::obj("Rescue2"),(0,0,0)); + common_scripts\utility::flag_wait("flag_obj_rescue2_living_room"); + var_01 = common_scripts\utility::getstruct("obj_s2_living_room_breach_01","targetname"); + var_02 = common_scripts\utility::getstruct("obj_s2_living_room_breach_02","targetname"); + var_03 = common_scripts\utility::getstruct("obj_s2_living_room_breach_03","targetname"); + objective_position(maps\_utility::obj("Rescue2"),var_01.origin); + objective_additionalposition(maps\_utility::obj("Rescue2"),1,var_02.origin); + objective_additionalposition(maps\_utility::obj("Rescue2"),2,var_03.origin); + objective_setpointertextoverride(maps\_utility::obj("Rescue2"),&"RECOVERY_BREACH"); + common_scripts\utility::flag_wait("flag_obj_rescue2_living_room_clear"); + wait 0.05; + maps\_utility::objective_clearadditionalpositions(maps\_utility::obj("Rescue2")); + objective_position(maps\_utility::obj("Rescue2"),(0,0,0)); + objective_setpointertextoverride(maps\_utility::obj("Rescue2"),""); + common_scripts\utility::flag_wait("flag_obj_rescue2_breach"); + var_04 = getent("training_s2_breach_trigger","targetname"); + var_05 = getent("training_s2_breach_trigger_use","targetname"); + var_05 sethintstring(&"RECOVERY_PROMPT_BREACH"); + objective_position(maps\_utility::obj("Rescue2"),var_04.origin); + objective_setpointertextoverride(maps\_utility::obj("Rescue2"),&"RECOVERY_BREACH"); + common_scripts\utility::flag_wait("flag_obj_rescue2_breach_clear"); + objective_position(maps\_utility::obj("Rescue2"),(0,0,0)); + objective_setpointertextoverride(maps\_utility::obj("Rescue2"),""); + common_scripts\utility::flag_wait("flag_obj_rescue2_drone_living_room"); + var_06 = common_scripts\utility::getstruct("obj_marker_rescue2_living_room","targetname"); + objective_position(maps\_utility::obj("Rescue2"),var_06.origin); + common_scripts\utility::flag_wait("flag_obj_rescue2_drone_living_room_clear"); + objective_position(maps\_utility::obj("Rescue2"),(0,0,0)); + common_scripts\utility::flag_wait("flag_obj_rescue2_patio_drone_ambush"); + var_07 = common_scripts\utility::getstruct("obj_marker_rescue2_patio_drone_ambush","targetname"); + objective_position(maps\_utility::obj("Rescue2"),var_07.origin); + common_scripts\utility::flag_wait("flag_obj_rescue2_patio_drone_ambush_clear"); + objective_position(maps\_utility::obj("Rescue2"),(0,0,0)); + common_scripts\utility::flag_wait("flag_obj_rescue2_golf_course"); + wait 0.05; + for(;;) + { + if(isdefined(level.gideon)) + { + break; + } + else + { + wait 0.05; + } + } + + objective_onentity(maps\_utility::obj("Rescue2"),level.gideon); + common_scripts\utility::flag_wait("flag_obj_rescue2_escape_location_clear"); + objective_position(maps\_utility::obj("Rescue2"),(0,0,0)); + common_scripts\utility::flag_wait("flag_obj_rescue2_escape_vehicle"); + var_08 = getent("training_s2_ending_trigger","targetname"); + var_08 maps\_utility::addhinttrigger(&"RECOVERY_PROMPT_OPEN",&"RECOVERY_PROMPT_OPEN_PC"); + objective_position(maps\_utility::obj("Rescue2"),var_08.origin); + objective_setpointertextoverride(maps\_utility::obj("Rescue2"),&"RECOVERY_OPEN"); + common_scripts\utility::flag_wait("flag_obj_rescue2_escape_vehicle_clear"); + objective_position(maps\_utility::obj("Rescue2"),(0,0,0)); + objective_setpointertextoverride(maps\_utility::obj("Rescue2"),""); + common_scripts\utility::flag_wait("flag_obj_rescue2_complete"); + var_09 = common_scripts\utility::getstruct("obj_marker_rescue2_complete","targetname"); + objective_position(maps\_utility::obj("Rescue2"),var_09.origin); + common_scripts\utility::flag_wait("flag_obj_rescue2_complete_clear"); + maps\_utility::objective_complete(maps\_utility::obj("Rescue2")); +} + +//Function Number: 31 +funeral() +{ + level.player disableweapons(); + level.player freezecontrols(1); + thread maps\_shg_utility::play_chyron_video("chyron_text_recovery",2,2); + common_scripts\utility::flag_wait("chyron_video_done"); + soundscripts\_snd::snd_message("start_funeral"); + maps\_shg_utility::move_player_to_start("funeral"); + common_scripts\utility::flag_set("funeral"); +} + +//Function Number: 32 +training_begin() +{ + maps\_shg_utility::move_player_to_start("training_begin"); + common_scripts\utility::flag_set("training_begin"); + maps\recovery_code::training_s1_opening(); + soundscripts\_snd::snd_message("start_training_01"); +} + +//Function Number: 33 +training_lodge_begin() +{ + soundscripts\_snd::snd_message("start_training_01_lodge"); + maps\_shg_utility::move_player_to_start("training_lodge_begin"); + setup_allies("training_lodge_begin"); + common_scripts\utility::flag_set("training_lodge_begin_lighting"); + common_scripts\utility::flag_set("training_s1_clear_initial_spawn"); + common_scripts\utility::flag_set("training_s1_living_room_approach"); + maps\_utility::activate_trigger("training_s1_color_trigger2_cover","targetname"); + maps\_utility::activate_trigger("training_s1_color_trigger2","targetname"); + common_scripts\utility::flag_set("flag_obj_rescue1_enter_clear"); + common_scripts\utility::flag_set("flag_obj_rescue1_flash"); + common_scripts\utility::flag_set("training_ready_flash_bang"); + common_scripts\utility::flag_set("flag_vo_training_s1_prophet_tracking_potus"); + maps\recovery_code::camp_david_play_videos(); +} + +//Function Number: 34 +training_lodge_breach() +{ + soundscripts\_snd::snd_message("start_training_01_lodge_breach"); + maps\_shg_utility::move_player_to_start("training_lodge_breach"); + setup_allies("training_lodge_breach"); + common_scripts\utility::flag_set("training_lodge_breach_lighting"); + common_scripts\utility::flag_set("training_s1_spawn_breach_door"); + common_scripts\utility::flag_set("training_s1_mute_breach_setup"); + maps\recovery_code::camp_david_play_videos(); +} + +//Function Number: 35 +training_lodge_exit() +{ + soundscripts\_snd::snd_message("start_training_01_lodge_exit"); + maps\_shg_utility::move_player_to_start("training_lodge_exit"); + setup_allies("training_lodge_exit"); + common_scripts\utility::flag_set("training_lodge_exit_lighting"); + common_scripts\utility::flag_set("training_s1_living_room_return"); + common_scripts\utility::flag_set("training_s1_breach_done"); + common_scripts\utility::flag_set("training_s1_flag_drone_hallway"); + maps\recovery_code::camp_david_play_videos(); +} + +//Function Number: 36 +training_golf_course() +{ + soundscripts\_snd::snd_message("start_training_01_golf_course"); + maps\_shg_utility::move_player_to_start("training_golf_course"); + setup_allies("training_golf_course"); + common_scripts\utility::flag_set("training_golf_course_lighting"); + common_scripts\utility::flag_set("training_s1_hide"); + common_scripts\utility::flag_set("training_s1_patio_clear"); +} + +//Function Number: 37 +training_end() +{ + soundscripts\_snd::snd_message("start_training_01_end"); + maps\_shg_utility::move_player_to_start("training_end"); + setup_allies("training_end"); + common_scripts\utility::flag_set("training_s1_start_escape_vehicle"); + common_scripts\utility::flag_set("training_s1_allow_escape"); + common_scripts\utility::flag_set("training_end_lighting"); +} + +//Function Number: 38 +tour_ride_begin() +{ + soundscripts\_snd::snd_message("start_tour_ride"); + maps\_shg_utility::move_player_to_start("tour_ride_begin"); + setup_allies("tour_ride_begin"); + common_scripts\utility::flag_set("start_tour_ride"); + common_scripts\utility::flag_set("tour_ride_begin_lighting"); + common_scripts\utility::flag_set("training_remove_player_weapons"); + common_scripts\utility::flag_set("training_s1_start_escape_vehicle"); + common_scripts\utility::flag_set("training_s1_end"); +} + +//Function Number: 39 +tour_exo_begin() +{ + soundscripts\_snd::snd_message("start_tour_exo"); + maps\_shg_utility::move_player_to_start("tour_exo_begin"); + setup_allies("tour_exo_begin"); + common_scripts\utility::flag_set("flag_gideon_use_custom_anim_set"); + common_scripts\utility::flag_set("tour_exo_begin_lighting"); + common_scripts\utility::flag_set("tour_exo_begin"); + common_scripts\utility::flag_set("tour_ambient_00"); + if(level.currentgen) + { + common_scripts\utility::flag_set("tff_tour_ride_over"); + } +} + +//Function Number: 40 +tour_exo_exit() +{ + soundscripts\_snd::snd_message("start_tour_exo_exit"); + maps\_shg_utility::move_player_to_start("tour_exo_exit"); + setup_allies("tour_exo_exit"); + common_scripts\utility::flag_set("flag_gideon_use_custom_anim_set"); + common_scripts\utility::flag_set("tour_exo_exit_lighting"); + common_scripts\utility::flag_set("tour_exo_exit"); + common_scripts\utility::flag_set("tour_exo_hangar"); + common_scripts\utility::flag_set("tour_ambient_00"); + if(level.currentgen) + { + common_scripts\utility::flag_set("tff_tour_ride_over"); + } +} + +//Function Number: 41 +tour_firing_range() +{ + soundscripts\_snd::snd_message("start_tour_firing_range"); + maps\_shg_utility::move_player_to_start("tour_firing_range"); + setup_allies("tour_firing_range"); + common_scripts\utility::flag_set("flag_gideon_use_custom_anim_set"); + common_scripts\utility::flag_set("tour_firing_range"); + common_scripts\utility::flag_set("tour_firing_range_lighting"); + common_scripts\utility::flag_set("tour_ambient_00"); + if(level.currentgen) + { + common_scripts\utility::flag_set("tff_tour_ride_over"); + } +} + +//Function Number: 42 +tour_augmented_reality() +{ + soundscripts\_snd::snd_message("start_tour_augmented_reality"); + maps\_shg_utility::move_player_to_start("tour_augmented_reality"); + setup_allies("tour_augmented_reality"); + common_scripts\utility::flag_set("flag_gideon_use_custom_anim_set"); + common_scripts\utility::flag_set("tour_augmented_reality_lighting"); + common_scripts\utility::flag_set("tour_ambient_00"); + common_scripts\utility::flag_set("flag_enable_overdrive"); + if(level.currentgen) + { + common_scripts\utility::flag_set("tff_tour_ride_over"); + } +} + +//Function Number: 43 +tour_end() +{ + soundscripts\_snd::snd_message("start_tour_end"); + maps\_shg_utility::move_player_to_start("tour_end"); + setup_allies("tour_end"); + common_scripts\utility::flag_set("flag_gideon_use_custom_anim_set"); + common_scripts\utility::flag_set("tour_end_lighting"); + common_scripts\utility::flag_set("flag_enable_overdrive"); + maps\_variable_grenade::give_player_variable_grenade(); + level notify("variable_grenades_acquired_initial"); + common_scripts\utility::flag_set("tour_ambient_00"); + if(level.currentgen) + { + common_scripts\utility::flag_set("tff_tour_ride_over"); + } +} + +//Function Number: 44 +training_2_begin() +{ + maps\_shg_utility::move_player_to_start("training_2_begin"); + common_scripts\utility::flag_set("flag_enable_overdrive"); + common_scripts\utility::flag_set("training_2_begin"); + common_scripts\utility::flag_set("training_s2_ready"); + common_scripts\utility::flag_set("training_2_begin_lighting"); + set_up_player_s2(); + maps\recovery_code::training_s2_opening(); + soundscripts\_snd::snd_message("start_training_02"); +} + +//Function Number: 45 +training_2_lodge_begin() +{ + soundscripts\_snd::snd_message("start_training_02_lodge"); + maps\_shg_utility::move_player_to_start("training_2_lodge_begin"); + common_scripts\utility::flag_set("flag_enable_overdrive"); + setup_allies("training_2_lodge_begin"); + common_scripts\utility::flag_set("training_s2_living_room_approach"); + common_scripts\utility::flag_set("training_2_lodge_begin_lighting"); + maps\_player_exo::batteryfillmax(); + maps\_utility::activate_trigger("training_s2_color_entrance_trigger","targetname"); + maps\recovery_code::camp_david_play_videos(); +} + +//Function Number: 46 +training_2_lodge_breach() +{ + soundscripts\_snd::snd_message("start_training_02_lodge_breach"); + maps\_shg_utility::move_player_to_start("training_2_lodge_breach"); + common_scripts\utility::flag_set("flag_enable_overdrive"); + setup_allies("training_2_lodge_breach"); + common_scripts\utility::flag_set("training_s2_prep_breach"); + common_scripts\utility::flag_set("training_s2_mute_breach_setup"); + common_scripts\utility::flag_set("training_2_lodge_breach_lighting"); + common_scripts\utility::flag_set("training_s2_spawn_breach_door"); + common_scripts\utility::flag_set("training_s2_mute_breach_enabled"); + maps\_player_exo::batteryfillmax(); + maps\recovery_code::camp_david_play_videos(); +} + +//Function Number: 47 +training_2_lodge_exit() +{ + soundscripts\_snd::snd_message("start_training_02_lodge_exit"); + maps\_shg_utility::move_player_to_start("training_2_lodge_exit"); + common_scripts\utility::flag_set("flag_enable_overdrive"); + setup_allies("training_2_lodge_exit"); + common_scripts\utility::flag_set("training_s2_drone_attack_setup"); + common_scripts\utility::flag_set("training_s2_breach_done"); + common_scripts\utility::flag_set("training_2_lodge_exit_lighting"); + maps\_player_exo::batteryfillmax(); + maps\recovery_code::camp_david_play_videos(); +} + +//Function Number: 48 +training_2_golf_course() +{ + soundscripts\_snd::snd_message("start_training_02_golf_course"); + maps\_shg_utility::move_player_to_start("training_2_golf_course"); + common_scripts\utility::flag_set("flag_enable_overdrive"); + setup_allies("training_2_golf_course"); + common_scripts\utility::flag_set("training_2_golf_course_lighting"); + common_scripts\utility::flag_set("training_2_golf_course_lighting"); + common_scripts\utility::flag_set("training_s2_start_enter_patio"); + common_scripts\utility::flag_set("flag_training_s2_squad_advance_golf_course"); + maps\_player_exo::batteryfillmax(); + maps\_utility::activate_trigger("training_s2_golf_course_cover","targetname"); +} + +//Function Number: 49 +training_2_end() +{ + soundscripts\_snd::snd_message("start_training_02_end"); + maps\_shg_utility::move_player_to_start("training_2_end"); + common_scripts\utility::flag_set("flag_enable_overdrive"); + setup_allies("training_2_end"); + common_scripts\utility::flag_set("training_2_end_lighting"); + maps\_utility::activate_trigger("training_s2_color_trigger_escape","targetname"); + maps\_player_exo::batteryfillmax(); + common_scripts\utility::flag_set("training_s2_start_warbird"); +} + +//Function Number: 50 +setup_precache() +{ + precacherumble("damage_heavy"); + precacherumble("damage_light"); + precacherumble("heavy_1s"); + precacherumble("heavy_2s"); + precacherumble("heavy_3s"); + precacherumble("light_1s"); + precacherumble("light_2s"); + precacherumble("light_3s"); + precacherumble("defaultweapon_fire"); + precacherumble("defaultweapon_melee"); + precacherumble("tank_rumble"); + precacherumble("grenade_rumble"); + precacherumble("viewmodel_small"); + precacherumble("viewmodel_medium"); + precacherumble("viewmodel_large"); + precacherumble("silencer_fire"); + precacherumble("steady_rumble"); + precacherumble("steady_h"); + precacherumble("steady_l"); + precacheitem("iw5_titan45_sp"); + precacheitem("iw5_titan45_sp_silencerpistol"); + precacheitem("iw5_titan45_sp_opticstargetenhancer"); + precacheitem("iw5_m990_sp_m990scope"); + precacheitem("iw5_hmr9_sp"); + precacheitem("iw5_uts19_sp"); + precacheitem("iw5_bal27_sp"); + precacheitem("iw5_bal27_sp_opticstargetenhancer"); + precacheitem("iw5_bal27_sp_silencer01_variablereddot"); + precacheitem("iw5_bal27_sp_variablereddot"); + precacheitem("iw5_bal27_sp_opticsthermal"); + precacheitem("iw5_himar_sp"); + precacheitem("iw5_m182spr_sp"); + precacheitem("iw5_ak12_sp"); + precacheitem("iw5_gm6_sp"); + precacheitem("iw5_hbra3_sp"); + precacheitem("iw5_unarmed_nullattach"); + precacheitem("smoke_grenade_cheap"); + precachemodel("genericprop"); + precachemodel("worldhands_atlas_pmc_smp"); + precachemodel("head_hero_gideon_mask_down"); + precachemodel("viewbody_atlas_pmc_smp_custom"); + if(level.nextgen) + { + precachemodel("viewbody_atlas_pmc_smp_custom_noscreen"); + } + + precachemodel("viewbody_marines_dress"); + precachemodel("vb_civilian_mitchell"); + precachemodel("viewhands_atlas_pmc_smp"); + precachemodel("head_urban_civ_female_a"); + precachemodel("civ_urban_female_body_f"); + precachemodel("body_complete_civilian_suit_male_1"); + precachemodel("rec_irons_card"); + precachemodel("rec_flag_folded_01"); + precachemodel("npc_hbra3_base"); + precachemodel("rec_elevator"); + precachemodel("npc_m990_base_loot"); + precachemodel("kva_body_assault"); + precachemodel("atlas_pmc_body"); + precachemodel("rec_holo_emitter_floor_on"); + precachemodel("rec_holo_emitter_floor_off"); + precachemodel("vm_bal27_base_black"); + precachemodel("rec_cd_window_blinds_D_01_a"); + precachemodel("rec_cd_window_blinds_D_01_b"); + precachemodel("rec_cd_window_blinds_D_01_c"); + precachemodel("Rec_cd_window_blinds_DSTRY_01"); + precachemodel("weapon_spyderco_folding_knife"); + precachemodel("rec_zip_cuffs"); + precachemodel("dem_tablet_pc_01"); + precachemodel("vehicle_rec_walker_tank"); + precachemodel("npc_sentry_minigun_turret_base"); + precachemodel("prop_exo_riot_shield_B"); + precachemodel("npc_exo_riot_shield_B"); + if(level.nextgen) + { + precacheshader("m/mtl_bal27_base_black_logo"); + } + else + { + precacheshader("mq/mtl_bal27_base_black_logo"); + } + + precacheshader("dpad_icon_drone"); + precacheshader("dpad_icon_drone_off"); + maps\recovery_utility::leaderboard_precache(); +} + +//Function Number: 51 +setup_allies(param_00) +{ + var_01 = getent("gideon","targetname"); + var_01 thread maps\_utility::add_spawn_function(::setup_gideon); + var_02 = getent("joker","targetname"); + var_02 thread maps\_utility::add_spawn_function(::setup_joker); + var_03 = getent("joker2","targetname"); + var_03 thread maps\_utility::add_spawn_function(::setup_joker); + if(isdefined(param_00)) + { + if(param_00 == "training_begin" || param_00 == "training_lodge_begin" || param_00 == "training_lodge_breach" || param_00 == "training_lodge_exit" || param_00 == "training_golf_course" || param_00 == "training_end") + { + for(var_04 = 1;var_04 <= 4;var_04++) + { + var_05 = getent("ally_squad_member_" + var_04,"targetname"); + var_05 thread maps\_utility::add_spawn_function(::setup_ally_squad_member,var_04); + } + } + + if(param_00 == "training_2_begin" || param_00 == "training_2_lodge_begin" || param_00 == "training_2_lodge_breach" || param_00 == "training_2_lodge_exit" || param_00 == "training_2_golf_course" || param_00 == "training_2_end") + { + for(var_04 = 1;var_04 <= 1;var_04++) + { + var_05 = getent("ally_s2_squad_member_" + var_04,"targetname"); + var_05 thread maps\_utility::add_spawn_function(::setup_s2_ally_squad_member,var_04); + } + } + } + + if(isdefined(param_00)) + { + if(param_00 == "training_begin") + { + maps\_shg_utility::spawn_friendlies(param_00,"joker",0); + maps\_shg_utility::spawn_friendlies(param_00,"training_ally",0); + } + + if(param_00 == "training_lodge_begin") + { + maps\_shg_utility::spawn_friendlies(param_00,"joker",0); + maps\_shg_utility::spawn_friendlies(param_00,"training_ally",0); + thread set_up_player_s1(); + level.joker thread training_s1_allies_setup("lodge_begin_joker_start_point","training_s1_end"); + level.ally_squad_member_1 thread training_s1_allies_setup("lodge_begin_squad_1_start_point","training_s1_end"); + level.ally_squad_member_2 thread training_s1_allies_setup("lodge_begin_squad_2_start_point","training_s1_end"); + level.ally_squad_member_3 thread training_s1_allies_setup("lodge_begin_squad_3_start_point","training_s1_end"); + level.ally_squad_member_4 thread training_s1_allies_setup("lodge_begin_squad_4_start_point","training_s1_end"); + level.ally_squad_member_2.animname = "rivers"; + maps\recovery_utility::training_s1_squad_allow_run(); + } + + if(param_00 == "training_lodge_breach") + { + maps\_shg_utility::spawn_friendlies(param_00,"joker",0); + maps\_shg_utility::spawn_friendlies(param_00,"training_ally",0); + thread set_up_player_s1(); + level.joker thread training_s1_allies_setup("lodge_breach_joker_start_point","training_s1_end"); + level.ally_squad_member_1 thread training_s1_allies_setup("lodge_breach_squad_1_start_point","training_s1_end"); + level.ally_squad_member_2 thread training_s1_allies_setup("lodge_breach_squad_2_start_point","training_s1_end"); + level.ally_squad_member_3 thread training_s1_allies_setup("lodge_breach_squad_3_start_point","training_s1_end"); + level.ally_squad_member_4 thread training_s1_allies_setup("lodge_breach_squad_4_start_point","training_s1_end"); + level.ally_squad_member_3 maps\_utility::stop_magic_bullet_shield(); + level.ally_squad_member_3 kill(); + level.ally_squad_member_2.animname = "rivers"; + maps\_utility::activate_trigger("training_s1_color_trigger_breach","targetname"); + maps\recovery_utility::training_s1_squad_allow_run(); + } + + if(param_00 == "training_lodge_exit") + { + maps\_shg_utility::spawn_friendlies(param_00,"joker",0); + maps\_shg_utility::spawn_friendlies(param_00,"training_ally",0); + thread set_up_player_s1(); + thread spawn_president("lodge_exit_president_start_point","tour_exo_hangar"); + level.joker thread training_s1_allies_setup("lodge_exit_joker_start_point","training_s1_end"); + level.ally_squad_member_1 thread training_s1_allies_setup("lodge_exit_squad_1_start_point","training_s1_end"); + level.ally_squad_member_2 thread training_s1_allies_setup("lodge_exit_squad_2_start_point","training_s1_end"); + level.ally_squad_member_3 thread training_s1_allies_setup("lodge_breach_squad_3_start_point","training_s1_end"); + level.ally_squad_member_4 thread training_s1_allies_setup("lodge_exit_squad_4_start_point","training_s1_end"); + level.ally_squad_member_3 maps\_utility::stop_magic_bullet_shield(); + level.ally_squad_member_3 kill(); + level.ally_squad_member_2.animname = "rivers"; + wait(1); + maps\recovery_utility::training_s1_squad_allow_run(); + maps\_utility::activate_trigger("training_s1_livingroom_ambush","targetname"); + } + + if(param_00 == "training_golf_course") + { + maps\_shg_utility::spawn_friendlies(param_00,"joker",0); + maps\_shg_utility::spawn_friendlies(param_00,"training_ally",0); + thread set_up_player_s1(); + thread spawn_president("golf_course_president_start_point","tour_exo_hangar"); + level.joker thread training_s1_allies_setup("golf_course_joker_start_point","tour_exo_hangar"); + level.ally_squad_member_1 thread training_s1_allies_setup("lodge_exit_squad_1_start_point","training_s1_end"); + level.ally_squad_member_2 thread training_s1_allies_setup("golf_course_squad_2_start_point","training_s1_end"); + level.ally_squad_member_3 thread training_s1_allies_setup("lodge_breach_squad_3_start_point","training_s1_end"); + level.ally_squad_member_4 thread training_s1_allies_setup("lodge_exit_squad_4_start_point","training_s1_end"); + level.ally_squad_member_1 maps\_utility::stop_magic_bullet_shield(); + level.ally_squad_member_3 maps\_utility::stop_magic_bullet_shield(); + level.ally_squad_member_4 maps\_utility::stop_magic_bullet_shield(); + level.ally_squad_member_1 kill(); + level.ally_squad_member_3 kill(); + level.ally_squad_member_4 kill(); + level.ally_squad_member_2.animname = "rivers"; + wait(1); + thread maps\recovery_utility::training_s1_squad_allow_run(); + maps\_utility::activate_trigger("training_s1_hide_from_patrols","targetname"); + } + + if(param_00 == "training_end") + { + maps\_shg_utility::spawn_friendlies(param_00,"joker",0); + maps\_shg_utility::spawn_friendlies(param_00,"training_ally",0); + thread set_up_player_s1(); + thread spawn_president("training_end_s1_president_start_point","tour_exo_hangar"); + level.joker thread training_s1_allies_setup("training_end_s1_joker_start_point","training_s1_end"); + level.ally_squad_member_1 thread training_s1_allies_setup("lodge_exit_squad_1_start_point","training_s1_end"); + level.ally_squad_member_2 thread training_s1_allies_setup("training_end_s1_squad_2_start_point","training_s1_end"); + level.ally_squad_member_3 thread training_s1_allies_setup("lodge_breach_squad_3_start_point","training_s1_end"); + level.ally_squad_member_4 thread training_s1_allies_setup("lodge_exit_squad_4_start_point","training_s1_end"); + level.ally_squad_member_1 maps\_utility::stop_magic_bullet_shield(); + level.ally_squad_member_3 maps\_utility::stop_magic_bullet_shield(); + level.ally_squad_member_4 maps\_utility::stop_magic_bullet_shield(); + level.ally_squad_member_1 kill(); + level.ally_squad_member_3 kill(); + level.ally_squad_member_4 kill(); + level.ally_squad_member_2.animname = "rivers"; + wait(1); + thread maps\recovery_utility::training_s1_squad_allow_run(); + maps\_utility::activate_trigger("training_s1_color_trigger_escape_car","targetname"); + } + + if(param_00 == "tour_exo_begin" || param_00 == "tour_exo_exit" || param_00 == "tour_firing_range" || param_00 == "tour_augmented_reality" || param_00 == "tour_end") + { + maps\_shg_utility::spawn_friendlies(param_00,"gideon",0); + var_06 = common_scripts\utility::getstruct(param_00,"targetname"); + level.gideon teleport(var_06.origin + anglestoforward(var_06.angles) * 200,var_06.angles); + level.gideon maps\_utility::gun_remove(); + } + + if(param_00 == "tour_exo_begin" || param_00 == "tour_exo_exit" || param_00 == "tour_firing_range") + { + thread set_up_player_gundown(); + } + + if(param_00 == "tour_augmented_reality" || param_00 == "tour_end") + { + thread set_up_player_s2(); + } + + if(param_00 == "training_2_begin") + { + if(!isdefined(level.gideon)) + { + maps\_shg_utility::spawn_friendlies(param_00,"gideon",0); + } + + maps\_shg_utility::spawn_friendlies(param_00,"training_s2_ally",0); + } + + if(param_00 == "training_2_lodge_begin") + { + maps\_shg_utility::spawn_friendlies(param_00,"gideon",0); + maps\_shg_utility::spawn_friendlies(param_00,"joker2",0); + maps\_shg_utility::spawn_friendlies(param_00,"training_s2_ally",0); + thread set_up_player_s2(); + level.gideon thread training_s2_allies_setup("lodge_begin_gideon_start_point"); + level.joker thread training_s2_allies_setup("lodge_begin_s2_squad_1_start_point"); + level.ally_s2_squad_member_1 thread training_s2_allies_setup("lodge_begin_s2_squad_2_start_point"); + maps\recovery_utility::training_s2_squad_allow_run(); + } + + if(param_00 == "training_2_lodge_breach") + { + maps\_shg_utility::spawn_friendlies(param_00,"gideon",0); + maps\_shg_utility::spawn_friendlies(param_00,"joker2",0); + maps\_shg_utility::spawn_friendlies(param_00,"training_s2_ally",0); + thread set_up_player_s2(); + level.gideon thread training_s2_allies_setup("lodge_breach_gideon_start_point"); + level.joker thread training_s2_allies_setup("lodge_breach_s2_squad_1_start_point"); + level.ally_s2_squad_member_1 thread training_s2_allies_setup("lodge_breach_s2_squad_2_start_point"); + maps\recovery_utility::training_s2_squad_allow_run(); + } + + if(param_00 == "training_2_lodge_exit") + { + maps\_shg_utility::spawn_friendlies(param_00,"gideon",0); + maps\_shg_utility::spawn_friendlies(param_00,"joker2",0); + maps\_shg_utility::spawn_friendlies(param_00,"training_s2_ally",0); + thread set_up_player_s2(); + thread spawn_president_s2("lodge_exit_president_start_point"); + level.gideon thread training_s2_allies_setup("lodge_exit_gideon_start_point"); + level.joker thread training_s2_allies_setup("lodge_s2_exit_squad_1_start_point"); + level.ally_s2_squad_member_1 thread training_s2_allies_setup("lodge_s2_exit_squad_2_start_point"); + wait(1); + maps\recovery_utility::training_s2_squad_allow_run(); + maps\_utility::activate_trigger("training_s2_enter_drone_attack","targetname"); + } + + if(param_00 == "training_2_golf_course") + { + maps\_shg_utility::spawn_friendlies(param_00,"gideon",0); + maps\_shg_utility::spawn_friendlies(param_00,"joker2",0); + maps\_shg_utility::spawn_friendlies(param_00,"training_s2_ally",0); + thread set_up_player_s2(); + thread spawn_president_s2("golf_course_president_start_point"); + level.gideon thread training_s2_allies_setup("golf_course_gideon_start_point"); + level.joker thread training_s2_allies_setup("golf_course_s2_squad_1_start_point"); + level.ally_s2_squad_member_1 thread training_s2_allies_setup("golf_course_s2_squad_2_start_point"); + wait(1); + maps\recovery_utility::training_s2_squad_allow_run(); + maps\_utility::activate_trigger("training_s2_golf_course_cover","targetname"); + } + + if(param_00 == "training_2_end") + { + maps\_shg_utility::spawn_friendlies(param_00,"gideon",0); + maps\_shg_utility::spawn_friendlies(param_00,"joker2",0); + maps\_shg_utility::spawn_friendlies(param_00,"training_s2_ally",0); + thread set_up_player_s2(); + level.gideon thread training_s2_allies_setup("training2_end_gideon_start_point"); + level.joker thread training_s2_allies_setup("training_end_s2_squad_1_start_point"); + level.ally_s2_squad_member_1 thread training_s2_allies_setup("training_end_s2_squad_2_start_point"); + maps\recovery_utility::training_s2_squad_allow_run(); + return; + } + + return; + } +} + +//Function Number: 52 +set_up_player_s1() +{ + level.player giveweapon("iw5_bal27_sp_silencer01_variablereddot"); + level.player giveweapon("iw5_titan45_sp_silencerpistol"); + maps\_variable_grenade::give_player_variable_grenade(); + maps\_variable_grenade::set_variable_grenades_with_no_switch("tracking_grenade_var","paint_grenade_var"); + level.player switchtoweaponimmediate("iw5_bal27_sp_silencer01_variablereddot"); + if(level.nextgen) + { + level.player overrideviewmodelmaterial("m/mtl_bal27_base_black","m/mtl_bal27_base_black_logo"); + } + else + { + level.player overrideviewmodelmaterial("mq/mtl_bal27_base_black","mq/mtl_bal27_base_black_logo"); + } + + level.player enableweapons(); + level.player allowfire(1); + level.player allowads(1); + level.player allowmelee(1); +} + +//Function Number: 53 +training_s1_allies_setup(param_00,param_01) +{ + self endon("death"); + var_02 = common_scripts\utility::getstruct(param_00,"targetname"); + self forceteleport(var_02.origin,var_02.angles); + self setgoalpos(self.origin); + maps\_utility::forceuseweapon("iw5_bal27_sp_silencer01_variablereddot","primary"); + maps\_utility::disable_surprise(); + if(!isdefined(level.allies_s1)) + { + level.allies_s1 = []; + } + + level.allies_s1 = common_scripts\utility::array_add(level.allies_s1,self); + common_scripts\utility::flag_wait(param_01); + if(isdefined(self.magic_bullet_shield)) + { + maps\_utility::stop_magic_bullet_shield(); + } + + maps\recovery_utility::bloody_death(); +} + +//Function Number: 54 +training_s2_allies_setup(param_00) +{ + var_01 = common_scripts\utility::getstruct(param_00,"targetname"); + self forceteleport(var_01.origin,var_01.angles); + self setgoalpos(self.origin); + maps\_utility::disable_surprise(); + if(!isdefined(level.allies_s2)) + { + level.allies_s2 = []; + } + + level.allies_s2 = common_scripts\utility::array_add(level.allies_s2,self); +} + +//Function Number: 55 +spawn_president(param_00,param_01) +{ + var_02 = getent("training_s1_president_spawner","targetname"); + level.president = var_02 maps\_utility::spawn_ai(1); + level.president maps\_president::set_president_anims(); + level.president thread set_up_president(param_00,param_01); +} + +//Function Number: 56 +set_up_president(param_00,param_01) +{ + self endon("death"); + maps\_utility::magic_bullet_shield(); + self.animname = "president"; + self.ignoreme = 1; + maps\_utility::set_battlechatter(0); + self.team = "allies"; + maps\_utility::clear_color_order("y","allies"); + maps\_utility::set_force_color("y"); + var_02 = common_scripts\utility::getstruct(param_00,"targetname"); + self forceteleport(var_02.origin,var_02.angles); + common_scripts\utility::flag_wait(param_01); + maps\_utility::stop_magic_bullet_shield(); + self delete(); +} + +//Function Number: 57 +spawn_president_s2(param_00) +{ + var_01 = getent("training_s2_president_spawner","targetname"); + level.president = var_01 maps\_utility::spawn_ai(1); + level.president maps\_president::set_president_anims(); + level.president thread set_up_president_s2(param_00); +} + +//Function Number: 58 +set_up_president_s2(param_00) +{ + self endon("death"); + maps\_utility::magic_bullet_shield(); + self.animname = "president"; + self.name = "POTUS"; + self.ignoreme = 1; + maps\_utility::set_battlechatter(0); + self.team = "allies"; + maps\_utility::clear_color_order("y","allies"); + maps\_utility::set_force_color("y"); + var_01 = common_scripts\utility::getstruct(param_00,"targetname"); + self forceteleport(var_01.origin,var_01.angles); + self setgoalpos(self.origin); +} + +//Function Number: 59 +set_up_player_gundown() +{ + level.player takeallweapons(); + common_scripts\utility::flag_set("flag_disable_exo"); + level.player allowfire(0); + level.player allowads(0); + level.player allowmelee(0); +} + +//Function Number: 60 +set_up_player_s2() +{ + level.player takeallweapons(); + level.player giveweapon("iw5_titan45_sp"); + level.player giveweapon("iw5_bal27_sp_variablereddot"); + level.player switchtoweaponimmediate("iw5_bal27_sp_variablereddot"); + if(level.nextgen) + { + level.player overrideviewmodelmaterial("m/mtl_bal27_base_black","m/mtl_bal27_base_black_logo"); + } + else + { + level.player overrideviewmodelmaterial("mq/mtl_bal27_base_black","mq/mtl_bal27_base_black_logo"); + } + + level.player enableweapons(); + level.player allowfire(1); + level.player allowads(1); + level.player allowmelee(1); + maps\_variable_grenade::give_player_variable_grenade(); +} + +//Function Number: 61 +setup_joker() +{ + level.joker = self; + level.joker.script_pushable = 0; + self.animname = "joker"; + thread maps\_utility::magic_bullet_shield(); +} + +//Function Number: 62 +setup_gideon() +{ + level.gideon = self; + level.gideon.script_pushable = 0; + self.animname = "gideon"; + thread maps\_utility::magic_bullet_shield(); + thread gideon_anim_set_manager(); +} + +//Function Number: 63 +gideon_outfit_manager() +{ + level.gideon.outfit_initial = level.gideon.model; + level.gideon setmodel("kva_body_assault"); + common_scripts\utility::flag_wait("arm_swapped"); + if(isdefined(level.gideon.outfit_initial)) + { + level.gideon setmodel(level.gideon.outfit_initial); + } +} + +//Function Number: 64 +disable_gideon_jog_when_turning() +{ + for(;;) + { + level.gideon waittill("turn_start"); + common_scripts\utility::flag_clear("gideon_jog_and_speedup"); + level.gideon waittill("turn_end"); + wait(0.25); + common_scripts\utility::flag_set("gideon_jog_and_speedup"); + } +} + +//Function Number: 65 +speed_up_gideon_when_u_cant_see_him() +{ + level endon("speed_up_gideon_when_u_cant_see_him_stop"); + wait(3); + childthread disable_gideon_jog_when_turning(); + var_00 = %bet_unarmed_casual_walk01_gideon; + var_01 = %rec_gideon_unarmed_jog; + var_02 = gettime(); + for(;;) + { + if(!isdefined(level.gideon) || isremovedentity(level.gideon)) + { + iprintlnbold("Warning : Gideon ent is removed or not defined!"); + wait 0.05; + continue; + } + + if(!common_scripts\utility::flag("gideon_jog_and_speedup")) + { + common_scripts\utility::flag_wait("gideon_jog_and_speedup"); + } + + var_03 = level.player maps\_utility::player_looking_at(level.gideon geteye(),0.6); + var_04 = level.gideon geteye() - level.player geteye(); + var_05 = length(var_04); + var_06 = vectornormalize(level.gideon.goalpos - level.gideon.origin); + var_07 = vectordot(var_06,vectornormalize(level.gideon.lookaheaddir)); + var_08 = length(level.gideon.goalpos - level.gideon.origin); + if(var_08 > 300 && var_07 > 0.75 && var_02 > 2000) + { + level.gideon.run_overrideanim = var_01; + } + else + { + level.gideon.run_overrideanim = var_00; + var_02 = gettime(); + } + + if(!var_03 && var_05 > 500) + { + var_09 = 1; + if(var_05 > 700) + { + var_09 = 1.75; + } + else if(var_05 > 500) + { + var_09 = 1.5; + } + + var_0A = level.gideon getactiveanimations(); + foreach(var_0C in var_0A) + { + if(var_0C["animation"] == var_01) + { + level.gideon setanimrate(var_0C["animation"],var_09); + } + } + } + + wait 0.05; + } +} + +//Function Number: 66 +gideon_anim_set_manager() +{ + common_scripts\utility::flag_wait("flag_gideon_use_custom_anim_set"); + common_scripts\utility::flag_set("gideon_jog_and_speedup"); + thread speed_up_gideon_when_u_cant_see_him(); + level.gideon maps\_urgent_walk::set_urgent_walk_anims(); + common_scripts\utility::flag_waitopen("flag_gideon_use_custom_anim_set"); + level notify("speed_up_gideon_when_u_cant_see_him_stop"); + level.gideon maps\_urgent_walk::clear_urgent_walk_anims(); +} + +//Function Number: 67 +training_s1_startpoint_guy_think(param_00,param_01) +{ + self endon("death"); + var_02 = common_scripts\utility::getstruct(param_00,"targetname"); + self forceteleport(var_02.origin,var_02.angles); + self setgoalpos(self.origin); + maps\_stealth_utility::stealth_plugin_basic(); + maps\_stealth_utility::stealth_plugin_accuracy(); + maps\_stealth_utility::stealth_plugin_smart_stance(); + maps\_utility::forceuseweapon("iw5_bal27_sp_silencer01_variablereddot","primary"); + common_scripts\utility::flag_wait(param_01); + if(isdefined(self.magic_bullet_shield)) + { + maps\_utility::stop_magic_bullet_shield(); + } + + maps\recovery_utility::bloody_death(); +} + +//Function Number: 68 +training_s2_startpoint_guy_think(param_00) +{ + var_01 = common_scripts\utility::getstruct(param_00,"targetname"); + self forceteleport(var_01.origin,var_01.angles); + self setgoalpos(self.origin); + maps\_stealth_utility::stealth_plugin_basic(); + maps\_stealth_utility::stealth_plugin_accuracy(); + maps\_stealth_utility::stealth_plugin_smart_stance(); + maps\_utility::forceuseweapon("iw5_bal27_sp_silencer01_variablereddot","primary"); +} + +//Function Number: 69 +setup_ally_squad_member(param_00) +{ + switch(param_00) + { + case 1: + level.ally_squad_member_1 = self; + break; + + case 2: + level.ally_squad_member_2 = self; + level.ally_squad_member_2.animname = "rivers"; + break; + + case 3: + level.ally_squad_member_3 = self; + break; + + case 4: + level.ally_squad_member_4 = self; + break; + + default: + break; + } + + self.animname = "ally_squad_member_" + param_00; + thread maps\_utility::magic_bullet_shield(); +} + +//Function Number: 70 +setup_s2_ally_squad_member(param_00) +{ + switch(param_00) + { + case 1: + level.ally_s2_squad_member_1 = self; + maps\_utility::clear_color_order("o","allies"); + level.ally_s2_squad_member_1 maps\_utility::set_force_color("o"); + break; + + case 2: + level.ally_s2_squad_member_2 = self; + break; + + case 3: + level.ally_s2_squad_member_3 = self; + break; + + case 4: + level.ally_s2_squad_member_4 = self; + break; + + default: + break; + } + + self.animname = "ally_s2_squad_member_" + param_00; + thread maps\_utility::magic_bullet_shield(); +} + +//Function Number: 71 +setup_portal_scripting() +{ + thread maps\_shg_utility::portal_group_on("training_s1_flag_doors_open","portal_hangar_door"); + thread maps\_shg_utility::portal_group_off("training_s2_ready","portal_hangar_door"); +} + +//Function Number: 72 +tv_movie2() +{ + setsaveddvar("cg_cinematicFullScreen","0"); + cinematicingameloop("business_card_master"); +} \ No newline at end of file diff --git a/AW/PC/maps/recovery_anim.gsc b/AW/PC/maps/recovery_anim.gsc new file mode 100644 index 0000000..8690854 --- /dev/null +++ b/AW/PC/maps/recovery_anim.gsc @@ -0,0 +1,744 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: recovery_anim.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 21 + * Decompile Time: 332 ms + * Timestamp: 4/22/2024 2:34:14 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + if(level.nextgen) + { + anim.forced_s1_motionset = 1; + } + + player_anims(); + generic_human(); + script_model_anims(); + vehicle_anims(); + maps\_patrol_anims::main(); +} + +//Function Number: 2 +player_anims() +{ + level.scr_model["player_rig_funeral"] = "viewbody_marines_dress"; + level.scr_animtree["player_rig_funeral"] = #animtree; + level.scr_anim["player_rig_funeral"]["rec_funeral_altascard_vm"] = %rec_funeral_altascard_vm; + level.scr_anim["player_rig_funeral"]["rec_funeral_eulogy_ends_vm"] = %rec_funeral_eulogy_ends_vm; + level.scr_anim["player_rig_funeral"]["rec_funeral_walktocar_vm"] = %rec_funeral_walktocar_vm; + level.scr_anim["player_rig_funeral"]["rec_funeral_casket_idle_vm"][0] = %rec_funeral_casket_idle_vm; + level.scr_anim["player_rig_funeral"]["rec_funeral_eulogy_idle_vm"][0] = %rec_funeral_eulogy_idle_vm; + level.scr_model["player_rig"] = "viewbody_atlas_pmc_smp_custom"; + level.scr_animtree["player_rig"] = #animtree; + level.scr_anim["player_rig"]["rec_atlas_exo_arm_vm_fullbody"] = %rec_atlas_exo_arm_vm_fullbody; + level.scr_anim["player_rig"]["rec_atlas_shootingrange_talk_vm"] = %rec_atlas_shootingrange_talk_vm; + level.scr_anim["player_rig"]["rec_campdavid_intro"] = %rec_campdavid_intro_vm; + maps\_anim::addnotetrack_customfunction("player_rig","vfx_raindrop",::maps\recovery_fx::vfx_raindrop,"rec_campdavid_intro"); + maps\_anim::addnotetrack_customfunction("player_rig","gun_up",::training_s1_intro_gun_up,"rec_campdavid_intro"); + level.scr_anim["player_rig"]["training_s1_player_end"] = %rec_ending01_vm; + maps\_anim::addnotetrack_customfunction("player_rig","fov_start",::training_s1_end_fov_start,"training_s1_player_end"); + maps\_anim::addnotetrack_customfunction("player_rig","fov_end",::training_s1_end_fov_end,"training_s1_player_end"); + maps\_anim::addnotetrack_flag("player_rig","vfx_rain_stops","training_s1_flag_vfx_rain_stops","training_s1_player_end"); + maps\_anim::addnotetrack_flag("player_rig","lights_on","training_s1_flag_lights_on","training_s1_player_end"); + maps\_anim::addnotetrack_flag("player_rig","wall_interior_decloak","training_s1_flag_wall_interior_decloak","training_s1_player_end"); + maps\_anim::addnotetrack_flag("player_rig","trees_decloak","training_s1_flag_trees_cloak","training_s1_player_end"); + maps\_anim::addnotetrack_flag("player_rig","doors_open","training_s1_flag_doors_open","training_s1_player_end"); + level.scr_anim["player_rig"]["training_s1_player_end_jeep_enter"] = %rec_ending01_enter_ride_vm; + level.scr_anim["player_rig"]["training_s2_player_end"] = %rec_ending02_vm; + level.scr_anim["player_rig"]["training_s2_player_helicopter"] = %rec_ending03_vm; + maps\_anim::addnotetrack_flag("player_rig","fade_out","outro_start","training_s2_player_helicopter"); + level.scr_anim["player_rig"]["rec_tour_ride_a_pt1"][0] = %rec_tour_ride_a_pt1_vm_fullbody; + level.scr_anim["player_rig"]["rec_tour_ride_b_pt1"][0] = %rec_tour_ride_b_pt1_vm_fullbody; + level.scr_anim["player_rig"]["rec_tour_ride_c_pt1"] = %rec_tour_ride_c_pt1_vm_fullbody; + level.scr_anim["player_rig"]["rec_tour_enter_vm"] = %rec_tour_enter_vm; + level.scr_anim["player_rig"]["rec_tour_exit_vm"] = %rec_tour_exit_vm; + level.scr_anim["player_rig"]["rec_tour_ride_vm_fullbody"][0] = %rec_tour_ride_vm_fullbody; + if(level.nextgen) + { + level.scr_model["player_rig_repair"] = "viewbody_atlas_pmc_smp_custom_noscreen"; + } + else + { + level.scr_model["player_rig_repair"] = "viewbody_atlas_pmc_smp_custom"; + } + + level.scr_animtree["player_rig_repair"] = #animtree; + level.scr_anim["player_rig_repair"]["rec_exo_arm_repair_attempt_01_vm"] = %rec_exo_arm_repair_attempt_01_vm; + level.scr_anim["player_rig_repair"]["rec_exo_arm_repair_attempt_02_vm"] = %rec_exo_arm_repair_attempt_02_vm; + level.scr_anim["player_rig_repair"]["rec_exo_arm_repair_attempt_03_vm"] = %rec_exo_arm_repair_attempt_03_vm; + level.scr_anim["player_rig_repair"]["rec_exo_arm_repair_attempt_exit_vm"] = %rec_exo_arm_repair_attempt_exit_vm; + level.scr_anim["player_rig_repair"]["rec_exo_arm_repair_vm"] = %rec_exo_arm_repair_vm; + maps\_anim::addnotetrack_notify("player_rig_repair","npc_snap","tour_exo_arm_repair_player_looking_at_desk","rec_exo_arm_repair_vm"); + level.scr_anim["player_rig"]["training_s1_breach"] = %rec_campdavid_mute_breach_start_vm; + maps\_anim::addnotetrack_customfunction("player_rig","slowmo_start",::training_s1_breach_slowmo_start,"training_s1_breach"); + maps\_anim::addnotetrack_customfunction("player_rig","gun_up",::training_s1_breach_gun_up,"training_s1_breach"); + maps\_anim::addnotetrack_notify("player_rig","spwan_joker","force_joker_breach_position","training_s1_breach"); + level.scr_anim["player_rig"]["training_s2_breach"] = %rec_campdavid_exo_breach_start_vm; + maps\_anim::addnotetrack_customfunction("player_rig","slowmo_start",::training_s2_breach_slowmo_start,"training_s2_breach"); + level.scr_anim["player_rig"]["rec_atlas_elevator_talk_vm_fullbody"] = %rec_atlas_elevator_talk_vm_fullbody; +} + +//Function Number: 3 +generic_human() +{ + level.scr_anim["generic"]["patrol_bored_twitch_salute"] = %patrol_bored_twitch_salute; + level.scr_anim["generic"]["civilian_stand_idle"][0] = %civilian_stand_idle; + level.scr_anim["generic"]["civilian_sitting_talking_B_1"][0] = %civilian_sitting_talking_b_1; + level.scr_anim["generic"]["civilian_sitting_talking_B_2"][0] = %civilian_sitting_talking_b_2; + level.scr_anim["generic"]["rec_funeral_ceramony_soldier_idle_a_guy01"][0] = %rec_funeral_ceramony_soldier_idle_a_guy01; + level.scr_anim["generic"]["rec_funeral_ceramony_soldier_idle_a_guy02"][0] = %rec_funeral_ceramony_soldier_idle_a_guy02; + level.scr_anim["generic"]["rec_funeral_ceramony_soldier_idle_b_guy01"][0] = %rec_funeral_ceramony_soldier_idle_b_guy01; + level.scr_anim["generic"]["rec_funeral_ceramony_soldier_idle_b_guy02"][0] = %rec_funeral_ceramony_soldier_idle_b_guy02; + level.scr_anim["generic"]["rec_militery_dressblue_idle_npc1"][0] = %rec_militery_dressblue_idle_npc1; + level.scr_anim["generic"]["rec_militery_dressblue_idle_npc2"][0] = %rec_militery_dressblue_idle_npc2; + level.scr_anim["generic"]["rec_militery_dressblue_idle_npc3"][0] = %rec_militery_dressblue_idle_npc3; + level.scr_anim["generic"]["rec_militery_dressblue_idle_npc4"][0] = %rec_militery_dressblue_idle_npc4; + level.scr_anim["generic"]["rec_militery_dressblue_idle_npc5"][0] = %rec_militery_dressblue_idle_npc5; + level.scr_anim["generic"]["rec_militery_dressblue_idle_npc6"][0] = %rec_militery_dressblue_idle_npc6; + level.scr_anim["generic"]["rec_militery_dressblue_idle_npc7"][0] = %rec_militery_dressblue_idle_npc7; + level.scr_anim["generic"]["rec_militery_dressblue_idle_npc8"][0] = %rec_militery_dressblue_idle_npc8; + level.scr_anim["generic"]["rec_militery_dressblue_idle_npc9"][0] = %rec_militery_dressblue_idle_npc9; + level.scr_anim["generic"]["rec_militery_dressblue_idle_npc10"][0] = %rec_militery_dressblue_idle_npc10; + level.scr_anim["generic"]["rec_militery_dressblue_idle_npc11"][0] = %rec_militery_dressblue_idle_npc11; + level.scr_anim["generic"]["rec_militery_dressblue_idle_npc12"][0] = %rec_militery_dressblue_idle_npc12; + level.scr_anim["generic"]["rec_militery_dressblue_idle_npc13"][0] = %rec_militery_dressblue_idle_npc13; + level.scr_anim["generic"]["rec_militery_dressblue_idle_npc14"][0] = %rec_militery_dressblue_idle_npc14; + level.scr_anim["generic"]["rec_funeral_exit_standing_idle_npc_01"][0] = %rec_funeral_exit_standing_idle_npc_01; + level.scr_anim["generic"]["rec_funeral_exit_standing_idle_npc_02"][0] = %rec_funeral_exit_standing_idle_npc_02; + level.scr_anim["generic"]["rec_funeral_exit_standing_idle_npc_03"][0] = %rec_funeral_exit_standing_idle_npc_03; + level.scr_anim["generic"]["rec_funeral_exit_standing_idle_npc_04"][0] = %rec_funeral_exit_standing_idle_npc_04; + level.scr_anim["generic"]["rec_funeral_exit_standing_idle_npc_05"][0] = %rec_funeral_exit_standing_idle_npc_05; + level.scr_anim["generic"]["rec_funeral_exit_standing_idle_npc_06"][0] = %rec_funeral_exit_standing_idle_npc_06; + level.scr_animtree["chair_actor_01"] = #animtree; + level.scr_animtree["chair_actor_02"] = #animtree; + level.scr_animtree["chair_actor_03"] = #animtree; + level.scr_animtree["chair_actor_04"] = #animtree; + level.scr_animtree["chair_actor_05"] = #animtree; + level.scr_animtree["chair_actor_06"] = #animtree; + level.scr_animtree["chair_actor_07"] = #animtree; + level.scr_animtree["chair_actor_08"] = #animtree; + level.scr_animtree["standing_actor_01"] = #animtree; + level.scr_animtree["standing_actor_02"] = #animtree; + level.scr_animtree["standing_actor_03"] = #animtree; + level.scr_animtree["standing_actor_04"] = #animtree; + level.scr_animtree["standing_actor_05"] = #animtree; + level.scr_animtree["standing_actor_06"] = #animtree; + level.scr_animtree["standing_actor_07"] = #animtree; + level.scr_animtree["standing_actor_08"] = #animtree; + level.scr_animtree["standing_actor_09"] = #animtree; + level.scr_animtree["standing_actor_10"] = #animtree; + level.scr_anim["chair_actor_01"]["rec_funeral_eulogy_idle"][0] = %rec_funeral_idle_npc_01; + level.scr_anim["chair_actor_02"]["rec_funeral_eulogy_idle"][0] = %rec_funeral_idle_npc_02; + level.scr_anim["chair_actor_03"]["rec_funeral_eulogy_idle"][0] = %rec_funeral_idle_npc_03; + level.scr_anim["chair_actor_04"]["rec_funeral_eulogy_idle"][0] = %rec_funeral_idle_npc_04; + level.scr_anim["chair_actor_05"]["rec_funeral_eulogy_idle"][0] = %rec_funeral_idle_npc_05; + level.scr_anim["chair_actor_06"]["rec_funeral_eulogy_idle"][0] = %rec_funeral_idle_npc_06; + level.scr_anim["chair_actor_07"]["rec_funeral_eulogy_idle"][0] = %rec_funeral_idle_npc_07; + level.scr_anim["chair_actor_08"]["rec_funeral_eulogy_idle"][0] = %rec_funeral_idle_npc_08; + level.scr_anim["standing_actor_01"]["rec_funeral_eulogy_idle"][0] = %rec_funeral_exit_standing_idle_npc_01; + level.scr_anim["standing_actor_02"]["rec_funeral_eulogy_idle"][0] = %rec_funeral_exit_standing_idle_npc_02; + level.scr_anim["standing_actor_03"]["rec_funeral_eulogy_idle"][0] = %rec_funeral_exit_standing_idle_npc_03; + level.scr_anim["standing_actor_04"]["rec_funeral_eulogy_idle"][0] = %rec_funeral_exit_standing_idle_npc_04; + level.scr_anim["standing_actor_05"]["rec_funeral_eulogy_idle"][0] = %rec_funeral_exit_standing_idle_npc_05; + level.scr_anim["standing_actor_06"]["rec_funeral_eulogy_idle"][0] = %rec_funeral_exit_standing_idle_npc_06; + level.scr_anim["standing_actor_07"]["rec_funeral_eulogy_idle"][0] = %rec_funeral_exit_standing_idle_npc_07; + level.scr_anim["standing_actor_08"]["rec_funeral_eulogy_idle"][0] = %rec_funeral_exit_standing_idle_npc_08; + level.scr_anim["standing_actor_09"]["rec_funeral_eulogy_idle"][0] = %rec_funeral_exit_standing_idle_npc_09; + level.scr_anim["standing_actor_10"]["rec_funeral_eulogy_idle"][0] = %rec_funeral_exit_standing_idle_npc_10; + level.scr_anim["chair_actor_01"]["rec_funeral_eulogy_exit"] = %rec_funeral_exit_npc_01; + level.scr_anim["chair_actor_02"]["rec_funeral_eulogy_exit"] = %rec_funeral_exit_npc_02; + level.scr_anim["chair_actor_03"]["rec_funeral_eulogy_exit"] = %rec_funeral_exit_npc_03; + level.scr_anim["chair_actor_04"]["rec_funeral_eulogy_exit"] = %rec_funeral_exit_npc_04; + level.scr_anim["chair_actor_05"]["rec_funeral_eulogy_exit"] = %rec_funeral_exit_npc_05; + level.scr_anim["chair_actor_06"]["rec_funeral_eulogy_exit"] = %rec_funeral_exit_npc_06; + level.scr_anim["chair_actor_07"]["rec_funeral_eulogy_exit"] = %rec_funeral_exit_npc_07; + level.scr_anim["chair_actor_08"]["rec_funeral_eulogy_exit"] = %rec_funeral_exit_npc_08; + level.scr_anim["standing_actor_01"]["rec_funeral_eulogy_exit"] = %rec_funeral_exit_standing_exit_npc_01; + level.scr_anim["standing_actor_02"]["rec_funeral_eulogy_exit"] = %rec_funeral_exit_standing_exit_npc_02; + level.scr_anim["standing_actor_03"]["rec_funeral_eulogy_exit"] = %rec_funeral_exit_standing_exit_npc_03; + level.scr_anim["standing_actor_04"]["rec_funeral_eulogy_exit"] = %rec_funeral_exit_standing_exit_npc_04; + level.scr_anim["standing_actor_05"]["rec_funeral_eulogy_exit"] = %rec_funeral_exit_standing_exit_npc_05; + level.scr_anim["standing_actor_06"]["rec_funeral_eulogy_exit"] = %rec_funeral_exit_standing_exit_npc_06; + level.scr_anim["cormack"]["rec_funeral_eulogy_ends_cormack"] = %rec_funeral_eulogy_ends_cormack; + level.scr_anim["cormack"]["rec_funeral_walktocar_cormack"] = %rec_funeral_walktocar_cormack; + level.scr_anim["cormack"]["rec_funeral_altascard_cormack"] = %rec_funeral_altascard_cormack; + level.scr_anim["cormack"]["rec_funeral_car_idle_cormack"][0] = %rec_funeral_car_idle_cormack; + level.scr_anim["cormack"]["rec_funeral_casket_idle_cormack"][0] = %rec_funeral_casket_idle_cormack; + level.scr_anim["cormack"]["rec_funeral_eulogy_idle_cormack"][0] = %rec_funeral_eulogy_idle_cormack; + level.scr_anim["irons"]["rec_funeral_eulogy_ends_irons"] = %rec_funeral_eulogy_ends_irons; + level.scr_anim["irons"]["rec_funeral_walktocar_irons"] = %rec_funeral_walktocar_irons; + level.scr_anim["irons"]["rec_funeral_altascard_irons"] = %rec_funeral_altascard_irons; + level.scr_anim["irons"]["rec_funeral_car_idle_irons"][0] = %rec_funeral_car_idle_irons; + level.scr_anim["irons"]["rec_funeral_casket_idle_irons"][0] = %rec_funeral_casket_idle_irons; + level.scr_anim["irons"]["rec_funeral_eulogy_idle_irons"][0] = %rec_funeral_eulogy_idle_irons; + level.scr_anim["irons_wife"]["rec_funeral_eulogy_idle_wife"][0] = %rec_funeral_eulogy_idle_wife; + level.scr_anim["irons_wife"]["rec_funeral_eulogy_ends_wife"] = %rec_funeral_eulogy_ends_wife; + level.scr_anim["funeral_driver"]["rec_funeral_eulogy_ends_driver"] = %rec_funeral_eulogy_ends_driver; + level.scr_anim["funeral_driver"]["rec_funeral_walktocar_driver"] = %rec_funeral_walktocar_driver; + level.scr_anim["funeral_driver"]["rec_funeral_altascard_driver"] = %rec_funeral_altascard_driver; + level.scr_anim["funeral_driver"]["rec_funeral_car_idle_driver"][0] = %rec_funeral_car_idle_driver; + level.scr_anim["funeral_driver"]["rec_funeral_casket_idle_driver"][0] = %rec_funeral_casket_idle_driver; + level.scr_anim["funeral_driver"]["rec_funeral_eulogy_idle_driver"][0] = %rec_funeral_eulogy_idle_driver; + maps\_anim::addnotetrack_notify("cormack","walk_away","initiate_walk_away","rec_funeral_eulogy_ends_cormack"); + level.scr_anim["joker"]["rec_campdavid_intro"] = %rec_campdavid_intro_guy01; + level.scr_anim["generic"]["CMC_insurgent_cornerLeft_rambo_short"] = %cmc_insurgent_cornerleft_rambo_short; + level.scr_anim["generic"]["training_s1_flash_guy_in"] = %rec_campdavid_training01_breach01_guy01_in; + level.scr_anim["generic"]["training_s1_flash_guy_in_idle"][0] = %rec_campdavid_training01_breach01_guy01_idle; + level.scr_anim["generic"]["training_s1_flash_guy_open"] = %rec_campdavid_training01_breach01_guy01_open; + level.scr_anim["generic"]["training_s1_flash_guy_open_idle"][0] = %rec_campdavid_training01_breach01_guy01_open_idle; + level.scr_anim["generic"]["training_s1_flash_guy_out"] = %rec_campdavid_training01_breach01_guy01_out; + level.scr_anim["generic"]["training_s1_flash_enemy_idle"][0] = %parabolic_leaning_guy_idle; + maps\_anim::addnotetrack_customfunction("generic","head_shot1",::training_s1_head_shot1,"training_s1_flash_guy_out"); + level.scr_anim["joker"]["training_s1_threat_guy_in"] = %rec_campdavid_training02_breach01_guy01_in; + level.scr_anim["joker"]["training_s1_threat_guy_in_idle"][0] = %rec_campdavid_training02_breach01_guy01_idle; + level.scr_anim["joker"]["training_s1_threat_guy_open"] = %rec_campdavid_training02_breach01_guy01_open; + level.scr_anim["joker"]["training_s1_threat_guy_open_idle"][0] = %rec_campdavid_training02_breach01_guy01_open_idle; + level.scr_anim["joker"]["training_s1_threat_guy_open_fire_idle"][0] = %rec_campdavid_training02_breach01_guy01_open_fire_idle; + level.scr_anim["joker"]["training_s1_threat_guy_open_idle2fire"] = %rec_campdavid_training02_breach01_guy01_open_idle2fire; + level.scr_anim["joker"]["training_s1_threat_guy_out"] = %rec_campdavid_training02_breach01_guy01_out; + level.scr_anim["joker"]["training_s1_threat_enemy_idle"][0] = %guarda_sit_sleeper_sleep_idle; + level.scr_anim["generic"]["training_s1_take_down_enemy"] = %lab_knife_takedown_guy_01; + level.scr_anim["ally_squad_member_4"]["training_s1_take_down_hero"] = %lab_knife_takedown_hero_01; + level.scr_anim["joker"]["training_s1_exo_breach_joker_approach"] = %rec_campdavid_mute_breach_approach_guy1; + level.scr_anim["joker"]["training_s1_exo_breach_joker_start_idle"][0] = %rec_campdavid_mute_breach_start_idle_guy1; + level.scr_anim["joker"]["training_s1_exo_breach_joker_start"] = %rec_campdavid_mute_breach_start_guy1; + level.scr_anim["joker"]["training_s1_exo_breach_joker_release"] = %rec_campdavid_mute_breach_release_guy1; + level.scr_anim["joker"]["training_s1_exo_breach_joker_release_idle"][0] = %rec_campdavid_mute_breach_release_idle_guy1; + level.scr_anim["joker"]["training_s1_exo_breach_joker_shoot_bathroom_guy"] = %rec_campdavid_mute_breach_fire_guy1; + maps\_anim::addnotetrack_flag("joker","fire","training_s1_flag_bathroom_guy_shot","training_s1_exo_breach_joker_shoot_bathroom_guy"); + level.scr_anim["president"]["training_s1_exo_breach_president_start"] = %rec_campdavid_mute_breach_start_pres; + level.scr_anim["president"]["training_s1_exo_breach_president_idle"][0] = %rec_campdavid_mute_breach_react_idle_pres; + level.scr_anim["president"]["training_s1_exo_breach_president_success"] = %rec_campdavid_mute_breach_success_pres; + level.scr_anim["president"]["training_s1_exo_breach_president_fail"] = %rec_campdavid_mute_breach_fail_pres; + level.scr_anim["president"]["training_s1_exo_breach_president_release_idle"][0] = %rec_campdavid_mute_breach_release_idle_pres; + level.scr_anim["president"]["training_s1_exo_breach_president_release"] = %rec_campdavid_mute_breach_release_pres1; + level.scr_anim["generic"]["training_s1_exo_breach_kva1_start"] = %rec_campdavid_mute_breach_start_kva1; + level.scr_anim["generic"]["training_s1_exo_breach_kva1_idle"][0] = %rec_campdavid_mute_breach_react_idle_kva1; + level.scr_anim["generic"]["training_s1_exo_breach_kva1_success"] = %rec_campdavid_mute_breach_success_kva1; + level.scr_anim["generic"]["training_s1_exo_breach_kva1_fail"] = %rec_campdavid_mute_breach_fail_kva1; + maps\_anim::addnotetrack_flag("generic","fire","training_s1_flag_president_shot","training_s1_exo_breach_kva1_fail"); + level.scr_anim["generic"]["training_s1_exo_breach_kva2_start"] = %rec_campdavid_mute_breach_start_kva2; + level.scr_anim["generic"]["training_s1_exo_breach_kva2_death"] = %rec_campdavid_mute_breach_start_death_kva2; + level.scr_anim["generic"]["training_s1_exo_breach_kva3_start"] = %rec_campdavid_mute_breach_start_kva3; + maps\_anim::addnotetrack_flag("generic","hit_wall","training_s1_flag_screen_smash","training_s1_exo_breach_kva3_start"); + level.scr_anim["kva"]["training_s1_exo_breach_kva_bathroom_start"] = %rec_campdavid_mute_breach_bathroom_kva3; + level.scr_anim["kva"]["training_s1_exo_breach_kva_bathroom_idle"][0] = %rec_campdavid_mute_breach_bathroom_fire_idle_kva3; + level.scr_anim["kva"]["training_s1_exo_breach_kva_bathroom_death"] = %rec_campdavid_mute_breach_bathroom_fire_death_kva3; + level.scr_anim["president"]["training_s2_exo_breach_president_react"] = %rec_campdavid_exo_breach_react_pres; + level.scr_anim["president"]["training_s2_exo_breach_president_react_idle"][0] = %rec_campdavid_exo_breach_react_idle_pres; + level.scr_anim["president"]["training_s2_exo_breach_president_fail"] = %rec_campdavid_exo_breach_fail_pres; + level.scr_anim["president"]["training_s2_exo_breach_president_success"] = %rec_campdavid_exo_breach_success_pres; + level.scr_anim["president"]["training_s2_exo_breach_president_release"] = %rec_campdavid_exo_breach_release_pres; + level.scr_anim["president"]["training_s2_exo_breach_president_release_idle"][0] = %rec_campdavid_exo_breach_release_idle_pres; + level.scr_anim["generic"]["training_s2_exo_breach_kva1_react"] = %rec_campdavid_exo_breach_react_kva1; + level.scr_anim["generic"]["training_s2_exo_breach_kva1_react_idle"][0] = %rec_campdavid_exo_breach_react_idle_kva1; + level.scr_anim["generic"]["training_s2_exo_breach_kva1_fail"] = %rec_campdavid_exo_breach_fail_kva1; + level.scr_anim["generic"]["training_s2_exo_breach_kva1_success"] = %rec_campdavid_exo_breach_success_kva1; + maps\_anim::addnotetrack_flag("generic","fire","training_s2_flag_president_shot","training_s2_exo_breach_kva1_fail"); + level.scr_anim["generic"]["training_s2_exo_breach_kva2_start"] = %rec_campdavid_exo_breach_react_idle_kva2; + level.scr_anim["generic"]["training_s2_exo_breach_kva3_start"] = %rec_campdavid_exo_breach_react_idle_kva3; + level.scr_anim["gideon"]["training_s2_exo_breach_gideon_approach"] = %rec_campdavid_mute_breach_approach_guy1; + level.scr_anim["gideon"]["training_s2_exo_breach_gideon_start_idle"][0] = %rec_campdavid_mute_breach_start_idle_guy1; + level.scr_anim["gideon"]["training_s2_exo_breach_gideon_release"] = %rec_campdavid_exo_breach_release_guy1; + level.scr_anim["joker"]["training_s1_patio_joker_door_in"] = %rec_campdavid_doubledoor_bust_open_in_guy1; + level.scr_anim["joker"]["training_s1_patio_joker_door_idle"][0] = %rec_campdavid_doubledoor_bust_open_idle_guy1; + level.scr_anim["joker"]["training_s1_patio_joker_door_out"] = %rec_campdavid_doubledoor_bust_open_out_guy1; + level.scr_anim["joker"]["training_s1_patio_joker_door_alert_idle"][0] = %rec_campdavid_doubledoor_bust_open_alert_idle_guy1; + level.scr_anim["joker"]["training_s1_patio_joker_door_slow_open"] = %rec_campdavid_doubledoor_slow_open_door_guy1; + level.scr_anim["joker"]["training_s1_patio_joker_door_slow_idle"][0] = %rec_campdavid_doubledoor_slow_open_idle_guy1; + level.scr_anim["joker"]["training_s1_patio_joker_door_slow_in"] = %rec_campdavid_doubledoor_slow_open_in_guy1; + level.scr_anim["joker"]["training_s1_patio_joker_door_slow_out"] = %rec_campdavid_doubledoor_slow_open_out_guy1; + level.scr_anim["gideon"]["training_s2_patio_gideon_door_idle"][0] = %rec_campdavid_doubledoor_bust_open_idle_guy1; + level.scr_anim["gideon"]["training_s2_patio_gideon_door_in"] = %rec_campdavid_doubledoor_bust_open_in_guy1; + level.scr_anim["gideon"]["training_s2_patio_gideon_door_out"] = %rec_campdavid_doubledoor_bust_open_out_guy1; + level.scr_anim["gideon"]["training_s1_gideon_end"] = %rec_ending01_gideon; + maps\_anim::addnotetrack_customfunction("gideon","fire",::maps\recovery_fx::training_s1_president_blood,"training_s1_gideon_end"); + maps\_anim::addnotetrack_customfunction("gideon","fire",::maps\recovery_fx::wind_gate_open,"training_s1_gideon_end"); + maps\_anim::addnotetrack_customfunction("gideon","fire",::maps\recovery_utility::gideon_change_mask,"training_s1_gideon_end"); + maps\_anim::addnotetrack_customfunction("gideon","gideon_hit_vfx",::maps\recovery_fx::training_escape_gideon_punch,"training_s1_gideon_end"); + maps\_anim::addnotetrack_flag("gideon","fire","flag_obj_rescue1_complete","training_s1_gideon_end"); + level.scr_anim["gideon"]["training_s1_gideon_end_enter"] = %rec_ending01_enter_ride_gideon; + level.scr_anim["gideon"]["training_s1_gideon_end_idle"][0] = %rec_ending01_gideon_idle; + level.scr_anim["irons"]["training_s1_irons_end"] = %rec_ending01_irons; + level.scr_anim["irons"]["training_s1_irons_end_idle"][0] = %rec_ending01_irons_idle; + level.scr_anim["president"]["training_s1_president_end"] = %rec_ending01_victim; + level.scr_anim["president"]["training_s1_president_end_idle"][0] = %rec_ending01_idle_victim; + level.scr_anim["driver"]["training_s1_driver_end"] = %rec_ending01_driver; + level.scr_anim["driver"]["training_s1_driver_end_enter"] = %rec_ending01_enter_ride_driver; + level.scr_anim["driver"]["training_s1_driver_end_idle"][0] = %rec_ending01_idle_driver; + level.scr_anim["driver"]["training_s2_driver_end_drivein"] = %rec_ending02_driver_drivein; + level.scr_anim["driver"]["training_s2_driver_end_driveout"] = %rec_ending02_driver; + level.scr_anim["president"]["training_s2_president_end"] = %rec_ending02_president; + level.scr_anim["gideon"]["training_s2_gideon_helicopter"] = %rec_ending03_gideon; + level.scr_anim["irons"]["training_s2_irons_helicopter_landing"] = %rec_ending03_landing_irons; + level.scr_anim["irons"]["training_s2_irons_helicopter_idle"][0] = %rec_ending03_idle_irons; + level.scr_anim["irons"]["training_s2_irons_helicopter"] = %rec_ending03_irons; + level.scr_anim["driver"]["rec_tour_ride_a_pt1"][0] = %rec_tour_ride_a_pt1_driver; + level.scr_anim["driver"]["rec_tour_ride_a_pt2"] = %rec_tour_ride_a_pt2_driver; + level.scr_anim["driver"]["rec_tour_ride_b_pt1"][0] = %rec_tour_ride_b_pt1_driver; + level.scr_anim["driver"]["rec_tour_ride_b_pt2"] = %rec_tour_ride_b_pt2_driver; + level.scr_anim["driver"]["rec_tour_ride_c_pt1"] = %rec_tour_ride_c_pt1_driver; + level.scr_anim["driver"]["rec_tour_ride_c_pt2"][0] = %rec_tour_ride_c_pt2_driver; + level.scr_anim["gideon"]["rec_tour_ride_a_pt1"][0] = %rec_tour_ride_a_pt1_gideon; + level.scr_anim["gideon"]["rec_tour_ride_a_pt2"] = %rec_tour_ride_a_pt2_gideon; + level.scr_anim["gideon"]["rec_tour_ride_b_pt1"][0] = %rec_tour_ride_b_pt1_gideon; + level.scr_anim["gideon"]["rec_tour_ride_b_pt2"] = %rec_tour_ride_b_pt2_gideon; + level.scr_anim["gideon"]["rec_tour_ride_c_pt1"] = %rec_tour_ride_c_pt1_gideon; + level.scr_anim["gideon"]["rec_tour_ride_c_pt2"][0] = %rec_tour_ride_c_pt2_gideon; + level.scr_anim["gideon"]["rec_tour_ride_c_pt3"] = %rec_tour_ride_c_pt3_gideon; + level.scr_anim["gideon"]["rec_tour_ride_gideon_dialogue_gideon"] = %rec_tour_ride_gideon_dialogue_gideon; + level.scr_anim["irons"]["rec_tour_ride_a_pt1"][0] = %rec_tour_ride_a_pt1_irons; + level.scr_anim["irons"]["rec_tour_ride_a_pt2"] = %rec_tour_ride_a_pt2_irons; + level.scr_anim["irons"]["rec_tour_ride_b_pt1"][0] = %rec_tour_ride_b_pt1_irons; + level.scr_anim["irons"]["rec_tour_ride_b_pt2"] = %rec_tour_ride_b_pt2_irons; + level.scr_anim["irons"]["rec_tour_ride_c_pt1"] = %rec_tour_ride_c_pt1_irons; + level.scr_anim["irons"]["rec_tour_ride_c_pt2"][0] = %rec_tour_ride_c_pt2_irons; + maps\_anim::addnotetrack_notify("irons","Iron_turns","jeep_ride_irons_talk_start","rec_tour_ride_a_pt2"); + maps\_anim::addnotetrack_notify("irons","aud_end_rec_tour_ride_a_pt2_irons","jeep_ride_irons_talk_stop","rec_tour_ride_a_pt2"); + maps\_anim::addnotetrack_notify("irons","iron_turns","jeep_ride_irons_talk_start","rec_tour_ride_b_pt2"); + maps\_anim::addnotetrack_notify("irons","aud_end_rec_tour_ride_b_pt2_irons","jeep_ride_irons_talk_stop","rec_tour_ride_b_pt2"); + level.scr_anim["driver"]["tour_jeep_idle"][0] = %rec_tour_ride_driver; + level.scr_anim["gideon"]["tour_jeep_idle"][0] = %rec_tour_ride_gideon; + level.scr_anim["irons"]["tour_jeep_idle"][0] = %rec_tour_ride_irons; + level.scr_anim["driver"]["rec_tour_exit"] = %rec_tour_exit_driver; + level.scr_anim["gideon"]["rec_tour_exit"] = %rec_tour_exit_gideon; + level.scr_anim["irons"]["rec_tour_exit"] = %rec_tour_exit_irons; + level.scr_anim["driver"]["rec_tour_ride_a_look_L_driver"] = %rec_tour_ride_a_look_l_driver; + level.scr_anim["driver"]["rec_tour_ride_a_look_R_driver"] = %rec_tour_ride_a_look_r_driver; + level.scr_anim["driver"]["rec_tour_ride_b_look_L_driver"] = %rec_tour_ride_b_look_l_driver; + level.scr_anim["driver"]["rec_tour_ride_b_look_R_driver"] = %rec_tour_ride_b_look_r_driver; + level.scr_anim["generic"]["patrol_walk_casual_urgent"][0] = %bet_unarmed_casual_walk01_gideon; + level.scr_anim["generic"]["patrol_transin_casual_urgent"] = %bet_casual_startstop_walk_to_idle_gideon; + level.scr_anim["generic"]["patrol_transout_casual_urgent"] = %bet_casual_startstop_idle_to_walk_gideon; + level.scr_anim["generic"]["patrol_idle_casual_urgent"][0] = %bet_casual_startstop_idle_gideon; + level.scr_anim["gideon"]["rec_shooting_stairs_down_guy01"] = %rec_shooting_stairs_down_guy01; + level.scr_anim["gideon"]["rec_shooting_stairs_up_guy01"] = %rec_shooting_stairs_up_guy01; + level.scr_anim["gideon"]["rec_readyroom_seq"] = %rec_readyroom_stairs_down_guy01; + level.scr_anim["gideon"]["rec_readyroom_idle_guy01"][0] = %rec_readyroom_idle_guy01; + level.scr_anim["gideon"]["rec_readyroom_up_guy01"] = %rec_readyroom_up_guy01; + maps\_anim::addnotetrack_notify("gideon","elevator_button_pressed","gideon_presses_elevator_button","rec_readyroom_seq"); + level.scr_anim["generic"]["civilian_stand_idle"][0] = %civilian_stand_idle; + level.scr_anim["generic"]["civilian_walk_cool"] = %civilian_walk_cool; + level.scr_anim["generic"]["cliffhanger_welder_engine"][0] = %cliffhanger_welder_engine; + level.scr_anim["generic"]["cliffhanger_welder_engine"][1] = %cliffhanger_welder_engine_twitch_1; + level.scr_anim["generic"]["cliffhanger_welder_engine"][2] = %cliffhanger_welder_engine_twitch_2; + level.scr_anim["generic"]["stand_alertb_idle1"][0] = %stand_alertb_idle1; + level.scr_anim["generic"]["training_intro_foley_idle_1"][0] = %training_intro_foley_idle_1; + level.scr_anim["generic"]["patrol_bored_idle"][0] = %patrol_bored_idle; + level.scr_anim["generic"]["patrolstand_idle"][0] = %patrolstand_idle; + level.scr_anim["generic"]["casual_stand_idle"][0] = %casual_stand_idle; + level.scr_anim["generic"]["casual_crouch_idle"][0] = %casual_crouch_idle; + level.scr_anim["generic"]["bet_ceremony_security_idle_guy01"][0] = %bet_ceremony_security_idle_guy01; + level.scr_anim["generic"]["bet_ceremony_security_idle_guy02"][0] = %bet_ceremony_security_idle_guy02; + level.scr_anim["generic"]["active_patrolwalk_gundown"] = %active_patrolwalk_gundown; + level.scr_anim["generic"]["training_jog_guy1"] = %training_jog_guy1; + level.scr_anim["generic"]["training_jog_guy2"] = %training_jog_guy2; + level.scr_anim["exo_observer_01"]["rec_atlas_exo_observe_idle"][0] = %rec_atlas_spectator_idle_guy01; + level.scr_anim["exo_observer_02"]["rec_atlas_exo_observe_idle"][0] = %rec_atlas_spectator_idle_guy02; + level.scr_anim["exo_observer_03"]["rec_atlas_exo_observe_idle"][0] = %rec_atlas_spectator_idle_guy03; + level.scr_anim["exo_observer_04"]["rec_atlas_exo_observe_idle"][0] = %rec_atlas_spectator_idle_guy04; + level.scr_anim["generic"]["rec_atlas_spectator_idle_guy01"][0] = %rec_atlas_spectator_idle_guy01; + level.scr_anim["generic"]["rec_atlas_spectator_idle_guy02"][0] = %rec_atlas_spectator_idle_guy02; + level.scr_anim["generic"]["rec_atlas_spectator_idle_guy03"][0] = %rec_atlas_spectator_idle_guy03; + level.scr_anim["generic"]["rec_atlas_spectator_idle_guy04"][0] = %rec_atlas_spectator_idle_guy04; + level.scr_anim["generic"]["rec_atlas_push_lab_idle_01"][0] = %rec_atlas_push_lab_idle_01; + level.scr_anim["generic"]["rec_atlas_push_lab_idle_02"][0] = %rec_atlas_push_lab_idle_02; + level.scr_anim["generic"]["rec_atlas_push_lab_idle_03"][0] = %rec_atlas_push_lab_idle_03; + level.scr_anim["pusher_1"]["rec_atlas_push_idle"][0] = %rec_atlas_push_idle_guy01; + level.scr_anim["pusher_2"]["rec_atlas_push_idle"][0] = %rec_atlas_push_idle_guy02; + maps\_anim::addnotetrack_notify("pusher_1","push_guy01","initiate_push_01","rec_atlas_push_idle"); + maps\_anim::addnotetrack_notify("pusher_2","push_guy02","initiate_push_02","rec_atlas_push_idle"); + maps\_anim::addnotetrack_notify("pusher_2","start","start_anim_push_02","rec_atlas_push_idle"); + level.scr_anim["climber_1"]["rec_atlas_climb_idle_guy02"][0] = %rec_atlas_climb_idle_guy02; + level.scr_anim["climber_1"]["rec_atlas_climb_guy02"] = %rec_atlas_climb_guy02; + level.scr_anim["wrestler_1"]["rec_atlas_wrestling_idle"] = %rec_atlas_wrestling_idle_guy01; + maps\_anim::addnotetrack_notify("wrestler_1","shows_over","notify_vo_shows_over","rec_atlas_wrestling_idle"); + level.scr_anim["wrestler_2"]["rec_atlas_wrestling_idle"] = %rec_atlas_wrestling_idle_guy02; + level.scr_anim["wrestler_3"]["rec_atlas_wrestling_idle"] = %rec_atlas_wrestling_idle_guy03; + level.scr_anim["wrestler_4"]["rec_atlas_wrestling_idle"] = %rec_atlas_wrestling_idle_guy04; + level.scr_anim["wrestler_5"]["rec_atlas_wrestling_idle"] = %rec_atlas_wrestling_idle_guy05; + level.scr_anim["wrestler_1"]["rec_atlas_warmup_idle"][0] = %rec_atlas_warmup_idle_guy01; + level.scr_anim["wrestler_2"]["rec_atlas_warmup_idle"][0] = %rec_atlas_warmup_idle_guy02; + level.scr_anim["wrestler_3"]["rec_atlas_warmup_idle"][0] = %rec_atlas_warmup_idle_guy03; + level.scr_anim["wrestler_4"]["rec_atlas_warmup_idle"][0] = %rec_atlas_warmup_idle_guy04; + level.scr_anim["wrestler_5"]["rec_atlas_warmup_idle"][0] = %rec_atlas_warmup_idle_guy05; + level.scr_anim["shielder_1"]["rec_exo_shield_intro"] = %rec_exo_shield_intro_npc; + level.scr_anim["shielder_1"]["rec_exo_shield_idle"][0] = %rec_exo_shield_idle_npc; + maps\_anim::addnotetrack_flag("shielder_1","shoot_start","flag_shield_turret_shooting","rec_exo_shield_intro"); + maps\_anim::addnotetrack_flag_clear("shielder_1","shoot_end","flag_shield_turret_shooting","rec_exo_shield_intro"); + maps\_anim::addnotetrack_flag("shielder_1","shoot_start","flag_shield_turret_shooting","rec_exo_shield_idle"); + maps\_anim::addnotetrack_flag_clear("shielder_1","shoot_end","flag_shield_turret_shooting","rec_exo_shield_idle"); + level.scr_anim["gideon"]["rec_exo_arm_repair_readyroom_gideon_idle_in"] = %rec_exo_arm_repair_readyroom_gideon_idle_in; + level.scr_anim["gideon"]["rec_exo_arm_repair_readyroom_gideon_idle"][0] = %rec_exo_arm_repair_readyroom_gideon_idle; + level.scr_anim["gideon"]["rec_exo_arm_repair_readyroom_gideon_idle_out"] = %rec_exo_arm_repair_readyroom_gideon_idle_out; + level.scr_anim["repairer_1"]["rec_exo_repair_idle"][0] = %rec_exo_idle_scientist01; + level.scr_anim["repairer_2"]["rec_exo_repair_idle"][0] = %rec_exo_idle_scientist02; + level.scr_anim["repairer_1"]["rec_exo_repair"] = %rec_exo_repair_scientist01; + level.scr_anim["repairer_2"]["rec_exo_repair"] = %rec_exo_repair_scientist02; + level.scr_anim["repairer_1"]["rec_exo_arm_repair_attempt_01_npc"] = %rec_exo_arm_repair_attempt_01_npc; + level.scr_anim["repairer_1"]["rec_exo_arm_repair_attempt_02_npc"] = %rec_exo_arm_repair_attempt_02_npc; + level.scr_anim["repairer_1"]["rec_exo_arm_repair_attempt_03_npc"] = %rec_exo_arm_repair_attempt_03_npc; + level.scr_anim["repairer_1"]["rec_exo_arm_repair_attempt_exit_npc"] = %rec_exo_arm_repair_attempt_exit_npc; + level.scr_anim["repairer_1"]["rec_exo_arm_repair_attempt_response_idle_01_npc"][0] = %rec_exo_arm_repair_attempt_response_idle_01_npc; + level.scr_anim["repairer_1"]["rec_exo_arm_repair_attempt_response_idle_02_npc"][0] = %rec_exo_arm_repair_attempt_response_idle_02_npc; + level.scr_anim["repairer_1"]["rec_exo_arm_repair_attempt_response_idle_03_npc"][0] = %rec_exo_arm_repair_attempt_response_idle_03_npc; + level.scr_anim["repairer_1"]["rec_exo_arm_repair_npc"] = %rec_exo_arm_repair_npc; + level.scr_anim["repairer_1"]["rec_exo_arm_repair_standing_idle_guy"][0] = %rec_exo_arm_repair_standing_idle_guy_01; + level.scr_anim["repairer_2"]["rec_exo_arm_repair_standing_idle_guy"][0] = %rec_exo_arm_repair_standing_idle_guy_02; + level.scr_anim["repairer_1"]["rec_exo_arm_repair_table_idle_guy"][0] = %rec_exo_arm_repair_table_idle_guy_01; + level.scr_anim["repairer_2"]["rec_exo_arm_repair_table_idle_guy"][0] = %rec_exo_arm_repair_table_idle_guy_02; + level.scr_anim["repairer_1"]["rec_exo_arm_repair_walk2table_guy"] = %rec_exo_arm_repair_walk2table_guy_01; + level.scr_anim["repairer_2"]["rec_exo_arm_repair_walk2table_guy"] = %rec_exo_arm_repair_walk2table_guy_02; + level.scr_anim["ilona"]["rec_atlas_shootingrange_talk_ilona"] = %rec_atlas_shootingrange_talk_ilana; + level.scr_anim["ilona"]["rec_atlas_shootingrange_ilona_idle01"][0] = %rec_atlas_shootingrange_ilana_idle01; + level.scr_anim["ilona"]["rec_atlas_shootingrange_ilona_idle02"][0] = %rec_atlas_shootingrange_ilana_idle02; + level.scr_anim["ilona"]["rec_atlas_shootingrange_ilana_look_idle"][0] = %rec_atlas_shootingrange_ilana_look_idle; + level.scr_anim["ilona"]["rec_atlas_shootingrange_ilana_screen_idle"][0] = %rec_atlas_shootingrange_ilana_screen_idle; + level.scr_anim["ilona"]["rec_atlas_shootingrange_ilana_screentolook"] = %rec_atlas_shootingrange_ilana_screentolook; + level.scr_anim["ilona"]["rec_atlas_shootingrange_ilana_looktoscreen"] = %rec_atlas_shootingrange_ilana_looktoscreen; + maps\_anim::addnotetrack_customfunction("ilona","turn_yes",::ilona_can_turn,"rec_atlas_shootingrange_ilana_look_idle"); + maps\_anim::addnotetrack_customfunction("ilona","turn_no",::ilona_cannot_turn,"rec_atlas_shootingrange_ilana_look_idle"); + maps\_anim::addnotetrack_customfunction("ilona","turn_yes",::ilona_can_turn,"rec_atlas_shootingrange_ilana_screen_idle"); + maps\_anim::addnotetrack_customfunction("ilona","turn_no",::ilona_cannot_turn,"rec_atlas_shootingrange_ilana_screen_idle"); + level.scr_anim["gideon"]["rec_atlas_shootingrange_gideon_talk"] = %rec_atlas_shootingrange_gideon_talk; + level.scr_anim["gideon"]["rec_atlas_shootingrange_gideon_idle02"][0] = %rec_atlas_shootingrange_gideon_idle02; + level.scr_anim["gideon"]["rec_atlas_shootingrange_gideon_exit"] = %rec_atlas_shootingrange_gideon_exit; + level.scr_anim["gideon"]["rec_aug_threatgrenade_gideon_in"] = %rec_aug_threatgrenade_gideon_in; + level.scr_anim["gideon"]["rec_aug_threatgrenade_gideon_out"] = %rec_aug_threatgrenade_gideon_out; + level.scr_anim["gideon"]["rec_aug_threatgrenade_gideon_idle"][0] = %rec_aug_threatgrenade_gideon_idle; + maps\_anim::addnotetrack_customfunction("gideon","can_exit",::gideon_can_exit_range,"rec_aug_threatgrenade_gideon_idle"); + maps\_anim::addnotetrack_customfunction("gideon","cannot_exit",::gideon_cannot_exit_range,"rec_aug_threatgrenade_gideon_idle"); + level.scr_anim["gideon"]["rec_atlas_elevator_talk_gideon"] = %rec_atlas_elevator_talk_gideon; + level.scr_anim["gideon"]["rec_atlas_elevator_idle01_gideon"][0] = %rec_atlas_elevator_idle01_gideon; + level.scr_anim["gideon"]["rec_atlas_elevator_idle02_gideon"][0] = %rec_atlas_elevator_idle02_gideon; +} + +//Function Number: 4 +script_model_anims() +{ + level.scr_animtree["funeral_flag"] = #animtree; + level.scr_model["funeral_flag"] = "genericprop"; + level.scr_anim["funeral_flag"]["rec_funeral_eulogy_ends_flag"] = %rec_funeral_eulogy_ends_flag; + level.scr_anim["funeral_flag"]["rec_funeral_eulogy_idle_flag"][0] = %rec_funeral_eulogy_idle_flag; + level.scr_anim["funeral_flag"]["rec_funeral_eulogy_idle_flag_non_loop"] = %rec_funeral_eulogy_idle_flag; + level.scr_animtree["marine_pin_cormack"] = #animtree; + level.scr_model["marine_pin_cormack"] = "genericprop"; + level.scr_anim["marine_pin_cormack"]["rec_funeral_eulogy_ends_cormack_pin"] = %rec_funeral_eulogy_ends_cormack_pin; + level.scr_animtree["marine_pin_player"] = #animtree; + level.scr_model["marine_pin_player"] = "genericprop"; + level.scr_anim["marine_pin_player"]["rec_funeral_walktocar_vm_pin"] = %rec_funeral_walktocar_vm_pin; + level.scr_animtree["atlas_card"] = #animtree; + level.scr_model["atlas_card"] = "genericprop"; + level.scr_anim["atlas_card"]["rec_funeral_altascard_card"] = %rec_funeral_altascard_card; + maps\_anim::addnotetrack_notify("atlas_card","animated_card","play_atlas_card","rec_funeral_altascard_card"); + level.scr_animtree["atlas_gun"] = #animtree; + level.scr_model["atlas_gun"] = "vm_bal27_base_black"; + level.scr_anim["atlas_gun"]["rec_campdavid_intro"] = %rec_campdavid_intro_gun; + level.scr_animtree["windsock"] = #animtree; + level.scr_anim["windsock"]["lab2_windsock_01_anim"] = %lab2_windsock_01_anim; + level.scr_anim["windsock"]["lab2_windsock_02_anim"] = %lab2_windsock_02_anim; + level.scr_anim["windsock"]["lab2_windsock_03_anim"] = %lab2_windsock_03_anim; + level.scr_animtree["generic_prop"] = #animtree; + level.scr_model["generic_prop"] = "genericprop"; + level.scr_anim["generic_prop"]["rec_atlas_exo_arm_machine"] = %rec_atlas_exo_arm_machine; + level.scr_anim["generic_prop"]["rec_atlas_exo_arm_newarm"] = %rec_atlas_exo_arm_newarm; + level.scr_anim["generic_prop"]["rec_atlas_exo_arm_oldarm"] = %rec_atlas_exo_arm_oldarm; + level.scr_animtree["exo_push_sled_01"] = #animtree; + level.scr_model["exo_push_sled_01"] = "genericprop"; + level.scr_anim["exo_push_sled_01"]["rec_atlas_push_idle"][0] = %rec_atlas_push_idle_box01; + maps\_anim::addnotetrack_customfunction("exo_push_sled_01","vfx_shake_box01",::maps\recovery_fx::exo_push_sparks01_quake,"rec_atlas_push_idle"); + maps\_anim::addnotetrack_customfunction("exo_push_sled_01","vfx_pushstart_box01",::maps\recovery_fx::exo_push_sparks01,"rec_atlas_push_idle"); + level.scr_animtree["exo_push_sled_02"] = #animtree; + level.scr_model["exo_push_sled_02"] = "genericprop"; + level.scr_anim["exo_push_sled_02"]["rec_atlas_push_idle"][0] = %rec_atlas_push_idle_box02; + maps\_anim::addnotetrack_customfunction("exo_push_sled_02","vfx_shake_box02",::maps\recovery_fx::exo_push_sparks02_quake,"rec_atlas_push_idle"); + maps\_anim::addnotetrack_customfunction("exo_push_sled_02","vfx_pushstart_box02",::maps\recovery_fx::exo_push_sparks02,"rec_atlas_push_idle"); + maps\_anim::addnotetrack_flag_clear("exo_push_sled_02","vfx_pushstart_box02","flag_vo_exo_push_dialog","rec_atlas_push_idle"); + maps\_anim::addnotetrack_flag("exo_push_sled_02","dialogue_crate_stop","flag_vo_exo_push_dialog","rec_atlas_push_idle"); + level.scr_animtree["exo_push_crane_01"] = #animtree; + level.scr_model["exo_push_crane_01"] = "genericprop"; + level.scr_anim["exo_push_crane_01"]["rec_atlas_push_idle"][0] = %rec_atlas_push_idle_crane01; + level.scr_animtree["exo_push_crane_02"] = #animtree; + level.scr_model["exo_push_crane_02"] = "genericprop"; + level.scr_anim["exo_push_crane_02"]["rec_atlas_push_idle"][0] = %rec_atlas_push_idle_crane02; + level.scr_animtree["exo_shield_01"] = #animtree; + level.scr_model["exo_shield_01"] = "prop_exo_riot_shield_B"; + level.scr_anim["exo_shield_01"]["rec_exo_shield_intro"] = %rec_exo_shield_intro_shield; + level.scr_anim["exo_shield_01"]["rec_exo_shield_idle"][0] = %rec_exo_shield_idle_shield; + level.scr_animtree["animated_desk"] = #animtree; + level.scr_model["animated_desk"] = "rec_exolab_med_desk"; + level.scr_anim["animated_desk"]["rec_exo_arm_repair_desk"] = %rec_exo_arm_repair_desk; + level.scr_anim["animated_desk"]["rec_exo_arm_repair_exit_desk"] = %rec_exo_arm_repair_exit_desk; + level.scr_anim["animated_desk"]["rec_exo_arm_repair_idle_desk"][0] = %rec_exo_arm_repair_idle_desk; + level.scr_anim["animated_desk"]["rec_exo_arm_repair_chair_unfold_idle_desk"][0] = %rec_exo_arm_repair_chair_unfold_idle_desk; + level.scr_anim["animated_desk"]["rec_exo_arm_repair_start_idle_desk"][0] = %rec_exo_arm_repair_start_idle_desk; + level.scr_anim["animated_desk"]["rec_exo_arm_repair_chair_unfold_desk"] = %rec_exo_arm_repair_chair_unfold_desk; + level.scr_animtree["ready_room_elevator_left"] = #animtree; + level.scr_model["ready_room_elevator_left"] = "rec_elevator"; + level.scr_anim["ready_room_elevator_left"]["rec_readyroom_seq"] = %rec_readyroom_elevator_left; + level.scr_anim["ready_room_elevator_left"]["rec_readyroom_elevator_left_open"] = %rec_readyroom_elevator_left_open; + level.scr_animtree["ready_room_elevator_right"] = #animtree; + level.scr_model["ready_room_elevator_right"] = "rec_elevator"; + level.scr_anim["ready_room_elevator_right"]["rec_readyroom_seq"] = %rec_readyroom_elevator_right; + level.scr_anim["ready_room_elevator_right"]["rec_readyroom_up_elevator_right"] = %rec_readyroom_up_elevator_right; + level.scr_animtree["ready_room_assault_rifle"] = #animtree; + level.scr_model["ready_room_assault_rifle"] = "genericprop"; + level.scr_anim["ready_room_assault_rifle"]["rec_readyroom_seq"] = %rec_readyroom_gun_pickedup; + level.scr_anim["ready_room_assault_rifle"]["rec_readyroom_idle_gun_pickedup"][0] = %rec_readyroom_idle_gun_pickedup; + level.scr_animtree["ready_room_sniper_rifle"] = #animtree; + level.scr_model["ready_room_sniper_rifle"] = "genericprop"; + level.scr_anim["ready_room_sniper_rifle"]["rec_readyroom_gun_ontable"] = %rec_readyroom_gun_ontable; + maps\_anim::addnotetrack_notify("ready_room_sniper_rifle","swap_gun","swap_sniper_rifle","rec_readyroom_gun_ontable"); + level.scr_animtree["mute_charge"] = #animtree; + level.scr_model["mute_charge"] = "mutecharge"; + level.scr_anim["mute_charge"]["breach_02_mutecharge"] = %rec_campdavid_mute_breach_start_mutedevice; + maps\_anim::addnotetrack_customfunction("mute_charge","vfx_mute_device",::maps\recovery_fx::mute_fx_on,"breach_02_mutecharge"); + level.scr_model["door_prop"] = "rec_cd_door_01_rig"; + level.scr_animtree["door_prop"] = #animtree; + level.scr_anim["door_prop"]["training_s1_flash_door_open"] = %rec_campdavid_training01_breach01_door_open; + level.scr_anim["door_prop"]["training_s1_flash_door_open_idle"][0] = %rec_campdavid_training01_breach01_door_open_idle; + level.scr_anim["door_prop"]["training_s1_flash_door_out"] = %rec_campdavid_training01_breach01_door_out; + level.scr_anim["door_prop"]["training_s1_threat_door_open"] = %rec_campdavid_training02_breach01_door_open; + level.scr_anim["door_prop"]["training_s1_threat_door_open_idle"][0] = %rec_campdavid_training02_breach01_door_open_idle; + level.scr_anim["door_prop"]["training_s1_threat_door_open_fire_idle"][0] = %rec_campdavid_training02_breach01_door_open_fire_idle; + level.scr_anim["door_prop"]["training_s1_threat_door_out"] = %rec_campdavid_training02_breach01_door_out; + level.scr_anim["door_prop"]["training_s2_threat_door_open"] = %rec_campdavid_training02_breach01_door_open; + level.scr_anim["door_prop"]["training_s2_threat_door_open_idle"][0] = %rec_campdavid_training02_breach01_door_open_idle; + level.scr_anim["door_prop"]["training_s2_threat_door_out"] = %rec_campdavid_training02_breach01_door_out; + level.scr_anim["door_prop"]["training_s2_exo_door"] = %rec_campdavid_exo_breach_start_door; + level.scr_anim["door_prop"]["training_s1_exo_door"] = %rec_campdavid_mute_breach_start_door; + maps\_anim::addnotetrack_customfunction("door_prop","door_breach",::maps\recovery_fx::breach_office_door,"training_s2_exo_door"); + maps\_anim::addnotetrack_customfunction("door_prop","door_breach",::maps\recovery_fx::breach_office_door,"training_s1_exo_door"); + level.scr_anim["door_prop"]["training_s1_bathroom_door"] = %rec_campdavid_mute_breach_bathroom_door; + level.scr_model["patio_doors"] = "rec_french_door_01_pristine_rig"; + level.scr_animtree["patio_doors"] = #animtree; + level.scr_anim["patio_doors"]["training_s1_patio_doors_in"] = %rec_campdavid_doubledoor_bust_open_in_door; + level.scr_anim["patio_doors"]["training_s1_patio_doors_idle"][0] = %rec_campdavid_doubledoor_bust_open_idle_door; + level.scr_anim["patio_doors"]["training_s1_patio_doors_out"] = %rec_campdavid_doubledoor_bust_open_out_door; + level.scr_anim["patio_doors"]["training_s1_patio_doors_alert_idle"][0] = %rec_campdavid_doubledoor_bust_open_alert_idle_door; + level.scr_anim["patio_doors"]["training_s1_patio_doors_slow_open"] = %rec_campdavid_doubledoor_slow_open_door; + level.scr_anim["patio_doors"]["training_s1_patio_doors_slow_idle"][0] = %rec_campdavid_doubledoor_slow_open_idle_door; + level.scr_anim["patio_doors"]["training_s1_patio_doors_slow_in"] = %rec_campdavid_doubledoor_slow_open_in_door; + level.scr_anim["patio_doors"]["training_s1_patio_doors_slow_out"] = %rec_campdavid_doubledoor_slow_open_out_door; + level.scr_anim["patio_doors"]["training_s2_patio_doors_idle"][0] = %rec_campdavid_doubledoor_bust_open_idle_door; + level.scr_anim["patio_doors"]["training_s2_patio_doors_in"] = %rec_campdavid_doubledoor_bust_open_in_door; + level.scr_anim["patio_doors"]["training_s2_patio_doors_out"] = %rec_campdavid_doubledoor_bust_open_out_door; + level.scr_model["knife_prop"] = "weapon_spyderco_folding_knife"; + level.scr_animtree["knife_prop"] = #animtree; + level.scr_anim["knife_prop"]["training_s2_exo_knife"] = %rec_campdavid_exo_breach_release_knife; + level.scr_model["ziptie_prop"] = "rec_zip_cuffs"; + level.scr_animtree["ziptie_prop"] = #animtree; + level.scr_anim["ziptie_prop"]["training_s1_exo_ziptie_fail"] = %rec_campdavid_mute_breach_fail_handcuffs; + level.scr_anim["ziptie_prop"]["training_s1_exo_ziptie_start"] = %rec_campdavid_mute_breach_start_handcuffs; + level.scr_anim["ziptie_prop"]["training_s1_exo_ziptie_react_idle"][0] = %rec_campdavid_mute_breach_react_idle_handcuffs; + level.scr_anim["ziptie_prop"]["training_s1_exo_ziptie_release"] = %rec_campdavid_mute_breach_release_handcuff; + level.scr_anim["ziptie_prop"]["training_s1_exo_ziptie_release_idle"][0] = %rec_campdavid_mute_breach_release_idle_handcuffs; + level.scr_anim["ziptie_prop"]["training_s1_exo_ziptie_success"] = %rec_campdavid_mute_breach_success_handcuffs; + level.scr_anim["ziptie_prop"]["training_s2_exo_ziptie_fail"] = %rec_campdavid_exo_breach_fail_handcuffs; + level.scr_anim["ziptie_prop"]["training_s2_exo_ziptie_start"] = %rec_campdavid_exo_breach_react_handcuffs; + level.scr_anim["ziptie_prop"]["training_s2_exo_ziptie_react_idle"][0] = %rec_campdavid_exo_breach_react_idle_handcuffs; + level.scr_anim["ziptie_prop"]["training_s2_exo_ziptie_release"] = %rec_campdavid_exo_breach_release_handcuffs; + level.scr_anim["ziptie_prop"]["training_s2_exo_ziptie_release_idle"][0] = %rec_campdavid_exo_breach_release_idle_handcuffs; + level.scr_anim["ziptie_prop"]["training_s2_exo_ziptie_success"] = %rec_campdavid_exo_breach_success_handcuffs; +} + +//Function Number: 5 +vehicle_anims() +{ + level.scr_animtree["warbird"] = #animtree; + level.scr_model["warbird"] = "vehicle_xh9_warbird"; + level.scr_anim["warbird"]["warbird_landing"] = %rec_ending03_landing_airship; + level.scr_anim["warbird"]["warbird_land_idle"][0] = %rec_ending03_idle_airship; + level.scr_anim["warbird"]["warbird_takeoff"] = %rec_ending03_airship; + maps\_anim::addnotetrack_customfunction("warbird","warbird_shoot",::warbird_start_shooting,"warbird_landing"); + maps\_anim::addnotetrack_customfunction("warbird","crush",::warbird_crush_player,"warbird_landing"); + maps\_anim::addnotetrack_customfunction("warbird","cloak_off",::maps\recovery_fx::helicopter_landing,"warbird_landing"); + maps\_anim::addnotetrack_customfunction("warbird","fov_change",::warbird_land_fov_change,"warbird_takeoff"); + level.scr_model["pdrone"] = "vehicle_pdrone_kva"; + level.scr_anim["pdrone"]["training_s1_search_drone01"] = %rec_campdavid_training01_droneattack_drone01; + level.scr_anim["pdrone"]["training_s1_search_drone02"] = %rec_campdavid_training01_droneattack_drone02; + level.scr_model["avt"] = "vehicle_mil_avt_ai"; + level.scr_anim["avt"]["training_s1_vehicle_end"] = %rec_ending01_car; + level.scr_anim["avt"]["training_s2_vehicle_end_drivein"] = %rec_ending02_car_drivein; + level.scr_anim["avt"]["training_s2_vehicle_end"] = %rec_ending02_car; + level.scr_animtree["jeep"] = #animtree; + level.scr_model["jeep"] = "vehicle_mil_atlas_jeep_ai"; + level.scr_anim["jeep"]["training_s1_vehicle_tour_end"] = %rec_ending01_jeep; + level.scr_anim["jeep"]["training_s1_vehicle_tour_end_enter"] = %rec_ending01_enter_ride_jeep; + level.scr_anim["jeep"]["training_s1_vehicle_tour_end_idle"][0] = %rec_ending01_idle_jeep; + level.scr_anim["jeep"]["rec_tour_ride_a_pt1"][0] = %rec_tour_ride_a_pt1_jeep; + level.scr_anim["jeep"]["rec_tour_ride_a_pt2"] = %rec_tour_ride_a_pt2_jeep; + level.scr_anim["jeep"]["rec_tour_ride_b_pt1"][0] = %rec_tour_ride_b_pt1_jeep; + level.scr_anim["jeep"]["rec_tour_ride_b_pt2"] = %rec_tour_ride_b_pt2_jeep; + level.scr_anim["jeep"]["rec_tour_ride_b_pt2"] = %rec_tour_ride_b_pt2_jeep; + maps\_anim::addnotetrack_customfunction("jeep","tread_effects",::maps\recovery_fx::tour_jeep_tread,"training_s1_vehicle_tour_end"); + level.scr_anim["jeep"]["rec_tour_enter_door"] = %rec_tour_enter_door; + level.scr_anim["jeep"]["rec_tour_exit_door"] = %rec_tour_exit_door; + level.scr_anim["jeep"]["rec_tour_ride_c_pt1_jeep"] = %rec_tour_ride_c_pt1_jeep; + level.scr_animtree["titan"] = #animtree; + level.scr_model["titan"] = "vehicle_walker_tank"; + level.scr_anim["titan"]["walk_across"] = %rec_walker_walk; + maps\_anim::addnotetrack_customfunction("titan","vfx_impact_FR",::maps\recovery_fx::titan_impact_fx_fr,"walk_across"); + maps\_anim::addnotetrack_customfunction("titan","vfx_impact_FL",::maps\recovery_fx::titan_impact_fx_fl,"walk_across"); + maps\_anim::addnotetrack_customfunction("titan","vfx_impact_RR",::maps\recovery_fx::titan_impact_fx_rr,"walk_across"); + maps\_anim::addnotetrack_customfunction("titan","vfx_impact_RL",::maps\recovery_fx::titan_impact_fx_rl,"walk_across"); +} + +//Function Number: 6 +warbird_start_shooting(param_00) +{ + level.warbird notify("warbird_fire"); + wait(3); + common_scripts\utility::flag_set("training_s2_warbird_kill_enemies"); +} + +//Function Number: 7 +warbird_crush_player(param_00) +{ + common_scripts\utility::flag_wait("flag_warbird_crush"); + level.player kill(); +} + +//Function Number: 8 +training_s1_head_shot1(param_00) +{ + if(isalive(param_00)) + { + var_01 = common_scripts\utility::getstruct("training_s1_kill_location","targetname"); + magicbullet("iw5_bal27_sp_silencer01_variablereddot",var_01.origin,param_00 geteye()); + } +} + +//Function Number: 9 +training_s1_head_shot2(param_00) +{ + if(isalive(param_00)) + { + var_01 = common_scripts\utility::getstruct("training_s1_kill_location","targetname"); + param_00 maps\_utility::stop_magic_bullet_shield(); + param_00 maps\_utility::set_allowdeath(1); + magicbullet("iw5_bal27_sp_silencer01_variablereddot",var_01.origin,param_00 geteye()); + param_00.noragdoll = 1; + ai_kill(param_00); + } +} + +//Function Number: 10 +ai_kill(param_00) +{ + if(!isalive(param_00)) + { + return; + } + + param_00.allowdeath = 1; + param_00.a.nodeath = 1; + param_00 maps\_utility::set_battlechatter(0); + wait(0.05); + param_00 kill(); +} + +//Function Number: 11 +training_s1_breach_slowmo_start(param_00) +{ + var_01 = 0.5; + var_02 = 0.65; + var_03 = 0.1; + var_04 = 0.2; + var_05 = 2; + level.player thread maps\_utility::play_sound_on_entity("slomo_whoosh"); + maps\_utility::slowmo_start(); + soundscripts\_snd::snd_message("rec_mute_breach_slo_mo1",var_05); + maps\_utility::slowmo_setspeed_slow(var_04); + maps\_utility::slowmo_setlerptime_in(var_01); + maps\_utility::slowmo_lerp_in(); + level.player setmovespeedscale(var_03); + wait(var_05); + level.player thread maps\_utility::play_sound_on_entity("slomo_whoosh"); + maps\_utility::slowmo_setlerptime_out(var_02); + maps\_utility::slowmo_lerp_out(); + maps\_utility::slowmo_end(); + level.player setmovespeedscale(1); +} + +//Function Number: 12 +training_s1_breach_gun_up(param_00) +{ + level.player enableweapons(); +} + +//Function Number: 13 +training_s2_breach_slowmo_start(param_00) +{ + var_01 = 0.5; + var_02 = 0.65; + var_03 = 0.1; + var_04 = 0.2; + var_05 = 3; + level.player thread maps\_utility::play_sound_on_entity("slomo_whoosh"); + maps\_utility::slowmo_start(); + soundscripts\_snd::snd_message("rec_s2_breach_slo_mo",var_05); + maps\_utility::slowmo_setspeed_slow(var_04); + maps\_utility::slowmo_setlerptime_in(var_01); + maps\_utility::slowmo_lerp_in(); + level.player setmovespeedscale(var_03); + wait(var_05); + level.player thread maps\_utility::play_sound_on_entity("slomo_whoosh"); + maps\_utility::slowmo_setlerptime_out(var_02); + maps\_utility::slowmo_lerp_out(); + maps\_utility::slowmo_end(); + level.player setmovespeedscale(1); +} + +//Function Number: 14 +training_s1_end_fov_start(param_00) +{ + level.player lerpfov(50,2); +} + +//Function Number: 15 +training_s1_end_fov_end(param_00) +{ + level.player lerpfov(65,2); +} + +//Function Number: 16 +training_s1_intro_gun_up(param_00) +{ + level.player enableweapons(); +} + +//Function Number: 17 +gideon_can_exit_range(param_00) +{ + common_scripts\utility::flag_set("gideon_range_exit_ok"); +} + +//Function Number: 18 +gideon_cannot_exit_range(param_00) +{ + common_scripts\utility::flag_clear("gideon_range_exit_ok"); +} + +//Function Number: 19 +ilona_can_turn(param_00) +{ + common_scripts\utility::flag_set("ilona_range_turn_ok"); +} + +//Function Number: 20 +ilona_cannot_turn(param_00) +{ + common_scripts\utility::flag_clear("ilona_range_turn_ok"); +} + +//Function Number: 21 +warbird_land_fov_change(param_00) +{ + level.player lerpfov(45,2); +} \ No newline at end of file diff --git a/AW/PC/maps/recovery_aud.gsc b/AW/PC/maps/recovery_aud.gsc new file mode 100644 index 0000000..5202d72 --- /dev/null +++ b/AW/PC/maps/recovery_aud.gsc @@ -0,0 +1,2640 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: recovery_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 256 + * Decompile Time: 3663 ms + * Timestamp: 4/22/2024 2:34:26 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + config_system(); + init_snd_flags(); + init_globals(); + launch_threads(); + launch_loops(); + create_level_envelop_arrays(); + precache_presets(); + register_snd_messages(); +} + +//Function Number: 2 +register_snd_messages() +{ + soundscripts\_snd::snd_register_message("snd_zone_handler",::zone_handler); + soundscripts\_snd::snd_register_message("snd_music_handler",::music_handler); + soundscripts\_snd::snd_register_message("start_funeral",::start_funeral); + soundscripts\_snd::snd_register_message("start_training_01",::start_training_01); + soundscripts\_snd::snd_register_message("start_training_01_lodge",::start_training_01_lodge); + soundscripts\_snd::snd_register_message("start_training_01_lodge_breach",::start_training_01_lodge_breach); + soundscripts\_snd::snd_register_message("start_training_01_lodge_exit",::start_training_01_lodge_exit); + soundscripts\_snd::snd_register_message("start_training_01_golf_course",::start_training_01_golf_course); + soundscripts\_snd::snd_register_message("start_training_01_end",::start_training_01_end); + soundscripts\_snd::snd_register_message("start_tour_ride",::start_tour_ride); + soundscripts\_snd::snd_register_message("start_tour_exo",::start_tour_exo); + soundscripts\_snd::snd_register_message("start_tour_exo_exit",::start_tour_exo_exit); + soundscripts\_snd::snd_register_message("start_tour_firing_range",::start_tour_firing_range); + soundscripts\_snd::snd_register_message("start_tour_augmented_reality",::start_tour_augmented_reality); + soundscripts\_snd::snd_register_message("start_tour_end",::start_tour_end); + soundscripts\_snd::snd_register_message("start_training_02",::start_training_02); + soundscripts\_snd::snd_register_message("start_training_02_lodge",::start_training_02_lodge); + soundscripts\_snd::snd_register_message("start_training_02_lodge_breach",::start_training_02_lodge_breach); + soundscripts\_snd::snd_register_message("start_training_02_lodge_exit",::start_training_02_lodge_exit); + soundscripts\_snd::snd_register_message("start_training_02_golf_course",::start_training_02_golf_course); + soundscripts\_snd::snd_register_message("start_training_02_end",::start_training_02_end); + soundscripts\_snd::snd_register_message("camp_david_thunder_transition",::camp_david_thunder_transition); + soundscripts\_snd::snd_register_message("camp_david_reload_malfunction",::camp_david_reload_malfunction); + soundscripts\_snd::snd_register_message("rec_s2_door_guy_ambush",::rec_s2_door_guy_ambush); + soundscripts\_snd::snd_register_message("camp_david_training_mute_device",::camp_david_training_mute_device); + soundscripts\_snd::snd_register_message("rec_mute_breach_slo_mo1",::rec_mute_breach_slo_mo1); + soundscripts\_snd::snd_register_message("rec_chair_kva_gets_shot",::rec_chair_kva_gets_shot); + soundscripts\_snd::snd_register_message("rec_kva_with_president_gets_shot",::rec_kva_with_president_gets_shot); + soundscripts\_snd::snd_register_message("rec_s1_president_killed",::rec_s1_president_killed); + soundscripts\_snd::snd_register_message("rec_bathroom_guy",::rec_bathroom_guy); + soundscripts\_snd::snd_register_message("rec_plr_kills_president",::rec_plr_kills_president); + soundscripts\_snd::snd_register_message("rec_s1_drones_fly_by",::rec_s1_drones_fly_by); + soundscripts\_snd::snd_register_message("rec_s1_drones_attack",::rec_s1_drones_attack); + soundscripts\_snd::snd_register_message("rec_drone_scanner",::rec_drone_scanner); + soundscripts\_snd::snd_register_message("patio_flashbang",::patio_flashbang); + soundscripts\_snd::snd_register_message("rec_train1_stealth_car_spawn",::rec_train1_stealth_car_spawn); + soundscripts\_snd::snd_register_message("rec_train1_stealth_car_stop",::rec_train1_stealth_car_stop); + soundscripts\_snd::snd_register_message("s1_popping_smoke",::s1_popping_smoke); + soundscripts\_snd::snd_register_message("rec_train1_exfil_car_start",::rec_train1_exfil_car_start); + soundscripts\_snd::snd_register_message("rec_train1_end",::rec_train1_end); + soundscripts\_snd::snd_register_message("tour_jeep_startup",::tour_jeep_startup); + soundscripts\_snd::snd_register_message("rec_tour_vtol_takeoff_spawn",::rec_tour_vtol_takeoff_spawn); + soundscripts\_snd::snd_register_message("rec_littlebird_formation_spawn",::rec_littlebird_formation_spawn); + soundscripts\_snd::snd_register_message("rec_tour_vehicle_1_start",::rec_tour_vehicle_1_start); + soundscripts\_snd::snd_register_message("civ_domestic_truck_spawn",::civ_domestic_truck_spawn); + soundscripts\_snd::snd_register_message("attack_drone_flybys_audio",::attack_drone_flybys_audio); + soundscripts\_snd::snd_register_message("tour_drones_fly_by",::tour_drones_fly_by); + soundscripts\_snd::snd_register_message("vrap_spawn",::vrap_spawn); + soundscripts\_snd::snd_register_message("tour_littlebird_lander",::tour_littlebird_lander); + soundscripts\_snd::snd_register_message("rec_tour_titan_gate_plr_open",::rec_tour_titan_gate_plr_open); + soundscripts\_snd::snd_register_message("rec_tour_titan_1_start",::rec_tour_titan_1_start); + soundscripts\_snd::snd_register_message("rec_tour_escort_jeep_start",::rec_tour_escort_jeep_start); + soundscripts\_snd::snd_register_message("rec_tour_titan_2_walk_anim_start",::rec_tour_titan_2_walk_anim_start); + soundscripts\_snd::snd_register_message("tour_hangar_drones",::tour_hangar_drones); + soundscripts\_snd::snd_register_message("rec_tour_end_jeep_gate_plr_open",::rec_tour_end_jeep_gate_plr_open); + soundscripts\_snd::snd_register_message("rec_tour_end_jeep_gate_plr_close",::rec_tour_end_jeep_gate_plr_close); + soundscripts\_snd::snd_register_message("rec_tour_npc_jeep_exit_gate_open",::rec_tour_npc_jeep_exit_gate_open); + soundscripts\_snd::snd_register_message("rec_tour_npc_jeep_exit_gate_close",::rec_tour_npc_jeep_exit_gate_close); + soundscripts\_snd::snd_register_message("tour_littlebird_ambient",::tour_littlebird_ambient); + soundscripts\_snd::snd_register_message("rec_exo_arm_repair_attempt_01_npc",::rec_exo_arm_repair_attempt_01_npc); + soundscripts\_snd::snd_register_message("rec_exo_arm_repair_attempt_02_npc",::rec_exo_arm_repair_attempt_02_npc); + soundscripts\_snd::snd_register_message("rec_exo_arm_repair_attempt_03_npc",::rec_exo_arm_repair_attempt_03_npc); + soundscripts\_snd::snd_register_message("exo_repair_movement",::exo_repair_movement); + soundscripts\_snd::snd_register_message("exo_repair_weight_updates",::exo_repair_weight_updates); + soundscripts\_snd::snd_register_message("exo_repair_movement_stop",::exo_repair_movement_stop); + soundscripts\_snd::snd_register_message("rec_exo_arm_repair_attempt_exit_npc",::rec_exo_arm_repair_attempt_exit_npc); + soundscripts\_snd::snd_register_message("tour_base_ambient_vehicle_01",::tour_base_ambient_vehicle_01); + soundscripts\_snd::snd_register_message("exo_drone_flby",::exo_drone_flby); + soundscripts\_snd::snd_register_message("shooting_range_transition1",::shooting_range_transition1); + soundscripts\_snd::snd_register_message("shooting_range_panels_up",::shooting_range_panels_up); + soundscripts\_snd::snd_register_message("shooting_range_enemy_spawn",::shooting_range_enemy_spawn); + soundscripts\_snd::snd_register_message("shooting_range_target_despawn",::shooting_range_target_despawn); + soundscripts\_snd::snd_register_message("shooting_range_enemy_shot",::shooting_range_enemy_shot); + soundscripts\_snd::snd_register_message("shooting_range_friendly_spawn",::shooting_range_friendly_spawn); + soundscripts\_snd::snd_register_message("shooting_range_friendly_shot",::shooting_range_friendly_shot); + soundscripts\_snd::snd_register_message("shooting_range_transition2",::shooting_range_transition2); + soundscripts\_snd::snd_register_message("shooting_range_transition3",::shooting_range_transition3); + soundscripts\_snd::snd_register_message("shooting_range_panels_down",::shooting_range_panels_down); + soundscripts\_snd::snd_register_message("tour_base_ambient_vehicle_02",::tour_base_ambient_vehicle_02); + soundscripts\_snd::snd_register_message("smart_grenade_target_flip",::smart_grenade_target_flip); + soundscripts\_snd::snd_register_message("smart_grenade_target_move",::smart_grenade_target_move); + soundscripts\_snd::snd_register_message("smart_grenade_target_move_back",::smart_grenade_target_move_back); + soundscripts\_snd::snd_register_message("smart_grenade_target_hit",::smart_grenade_target_hit); + soundscripts\_snd::snd_register_message("smart_grenade_target_shot",::smart_grenade_target_shot); + soundscripts\_snd::snd_register_message("smart_grenade_target_flip_down",::smart_grenade_target_flip_down); + soundscripts\_snd::snd_register_message("smart_grenade_target_expire",::smart_grenade_target_expire); + soundscripts\_snd::snd_register_message("rec_readyroom_elevator_left_hatch_back",::rec_readyroom_elevator_left_hatch_back); + soundscripts\_snd::snd_register_message("rec_readyroom_elevator_left_hatch_front",::rec_readyroom_elevator_left_hatch_front); + soundscripts\_snd::snd_register_message("rec_s2_breach_gun_holster",::rec_s2_breach_gun_holster); + soundscripts\_snd::snd_register_message("rec_slomo_audio_handler",::rec_slomo_audio_handler); + soundscripts\_snd::snd_register_message("rec_s2_breach_slo_mo",::rec_s2_breach_slo_mo); + soundscripts\_snd::snd_register_message("rec_slomo_kill_bad_guy",::rec_slomo_kill_bad_guy); + soundscripts\_snd::snd_register_message("aud_training_s2_potus_ziptie_release",::aud_training_s2_potus_ziptie_release); + soundscripts\_snd::snd_register_message("rec_s2_drones_attack",::rec_s2_drones_attack); + soundscripts\_snd::snd_register_message("rec_player_drone_start",::rec_player_drone_start); + soundscripts\_snd::snd_register_message("rec_player_drone_end",::rec_player_drone_end); + soundscripts\_snd::snd_register_message("snd_player_drone_deploy",::snd_player_drone_deploy); + soundscripts\_snd::snd_register_message("snd_player_drone_wrist_panel",::snd_player_drone_wrist_panel); + soundscripts\_snd::snd_register_message("snd_player_drone_enter_drone_pov",::snd_player_drone_enter_drone_pov); + soundscripts\_snd::snd_register_message("rec_train2_exfil_car_start",::rec_train2_exfil_car_start); + soundscripts\_snd::snd_register_message("rec_train2_exfil_car_end",::rec_train2_exfil_car_end); + soundscripts\_snd::snd_register_message("rec_train2_ambush_car_1",::rec_train2_ambush_car_1); + soundscripts\_snd::snd_register_message("rec_train2_ambush_car_2",::rec_train2_ambush_car_2); + soundscripts\_snd::snd_register_message("rec_star_trek_door_open",::rec_star_trek_door_open); + soundscripts\_snd::snd_register_message("rec_star_trek_door_close",::rec_star_trek_door_close); + soundscripts\_snd::snd_register_message("temp_dog_bark",::temp_dog_bark); +} + +//Function Number: 3 +register_notetracks() +{ + wait 0.05; + maps\_anim::addnotetrack_customfunction("irons","eulogy_irons_stand",::eulogy_irons_stand,"rec_funeral_eulogy_ends_irons"); + maps\_anim::addnotetrack_customfunction("irons","eulogy_irons_touch",::eulogy_irons_touch,"rec_funeral_eulogy_ends_irons"); + maps\_anim::addnotetrack_customfunction("irons","eulogy_irons_leave",::eulogy_irons_leave,"rec_funeral_eulogy_ends_irons"); + maps\_anim::addnotetrack_customfunction("irons","atlascard_irons_turn",::atlascard_irons_turn,"rec_funeral_altascard_irons"); + maps\_anim::addnotetrack_customfunction("irons","atlascard_irons_walk",::atlascard_irons_walk,"rec_funeral_altascard_irons"); + maps\_anim::addnotetrack_customfunction("irons","atlascard_irons_handshake",::atlascard_irons_handshake,"rec_funeral_altascard_irons"); + maps\_anim::addnotetrack_customfunction("irons","atlascard_irons_place_hand",::atlascard_irons_place_hand,"rec_funeral_altascard_irons"); + maps\_anim::addnotetrack_customfunction("irons","atlascard_irons_tap",::atlascard_irons_tap,"rec_funeral_altascard_irons"); + maps\_anim::addnotetrack_customfunction("irons","atlascard_irons_grab_card",::atlascard_irons_grab_card,"rec_funeral_altascard_irons"); + maps\_anim::addnotetrack_customfunction("irons","atlascard_irons_leave",::atlascard_irons_leave,"rec_funeral_altascard_irons"); + maps\_anim::addnotetrack_customfunction("cormack","eulogy_cormack_approach",::eulogy_cormack_approach,"rec_funeral_eulogy_ends_cormack"); + maps\_anim::addnotetrack_customfunction("cormack","eulogy_cormack_touch",::eulogy_cormack_touch,"rec_funeral_eulogy_ends_cormack"); + maps\_anim::addnotetrack_customfunction("cormack","eulogy_cormack_leave",::eulogy_cormack_leave,"rec_funeral_eulogy_ends_cormack"); + maps\_anim::addnotetrack_customfunction("cormack","atlascard_cormack_walk",::atlascard_cormack_walk,"rec_funeral_altascard_cormack"); + maps\_anim::addnotetrack_customfunction("player_rig_funeral","eulogy_player_touch",::eulogy_player_touch,"rec_funeral_walktocar_vm"); + maps\_anim::addnotetrack_customfunction("player_rig","campdavid_player_arm_reveal",::campdavid_player_arm_reveal,"rec_campdavid_intro"); + maps\_anim::addnotetrack_customfunction("joker","rec_threat01_joker_start",::rec_threat01_joker_start,"training_s1_threat_guy_open"); + maps\_anim::addnotetrack_customfunction("joker","rec_threat01_joker_kick",::rec_threat01_joker_kick,"training_s1_threat_guy_out"); + maps\_anim::addnotetrack_customfunction("joker","rec_mute01_joker_start",::rec_mute01_joker_start,"training_s1_exo_breach_joker_start"); + maps\_anim::addnotetrack_customfunction("joker","rec_mute01_joker_breach",::rec_mute01_joker_breach,"training_s1_exo_breach_joker_start"); + maps\_anim::addnotetrack_customfunction("joker","rec_mute01_joker_run",::rec_mute01_joker_run,"training_s1_exo_breach_joker_start"); + maps\_anim::addnotetrack_customfunction("joker","rec_mute01_joker_kick",::rec_mute01_joker_kick,"training_s1_exo_breach_joker_start"); + maps\_anim::addnotetrack_customfunction("joker","rec_mute01_joker_turn",::rec_mute01_joker_turn,"training_s1_exo_breach_joker_start"); + maps\_anim::addnotetrack_customfunction("generic","rec_mute01_kva_with_gun_killed",::rec_mute01_kva_with_gun_killed,"training_s1_exo_breach_kva1_success"); + maps\_anim::addnotetrack_customfunction("generic","rec_mute01_kva_kicked",::rec_mute01_kva_kicked,"training_s1_exo_breach_kva3_start"); + maps\_anim::addnotetrack_customfunction("generic","rec_mute01_kva_hits_wall",::rec_mute01_kva_hits_wall,"training_s1_exo_breach_kva3_start"); + maps\_anim::addnotetrack_customfunction("generic","rec_mute01_chair_kva_killed",::rec_mute01_chair_kva_killed,"training_s1_exo_breach_kva2_start"); + maps\_anim::addnotetrack_customfunction("joker","rec_mute01_potus_free",::rec_mute01_potus_free,"training_s1_exo_breach_joker_release"); + maps\_anim::addnotetrack_customfunction("joker","rec_training01_lodge_stealth_exit_start",::rec_training01_lodge_stealth_exit_start,"training_s1_patio_joker_door_slow_in"); + maps\_anim::addnotetrack_customfunction("joker","rec_training01_lodge_stealth_open",::rec_training01_lodge_stealth_open,"training_s1_patio_joker_door_slow_open"); + maps\_anim::addnotetrack_customfunction("joker","rec_training01_lodge_stealth_exit_end",::rec_training01_lodge_stealth_exit_end,"training_s1_patio_joker_door_slow_out"); + maps\_anim::addnotetrack_customfunction("player_rig","training_01_end_player_arm_malfunction",::training_01_end_player_arm_malfunction,"training_s1_player_end"); + maps\_anim::addnotetrack_customfunction("player_rig","training_01_end_player_punched",::training_01_end_player_punched,"training_s1_player_end"); + maps\_anim::addnotetrack_customfunction("player_rig","training_01_end_player_helped_up",::training_01_end_player_helped_up,"training_s1_player_end"); + maps\_anim::addnotetrack_customfunction("player_rig","training_01_end_player_arm_up",::training_01_end_player_arm_up,"training_s1_player_end"); + maps\_anim::addnotetrack_customfunction("player_rig","training_01_end_player_enters_jeep",::training_01_end_player_enters_jeep,"training_s1_player_end_jeep_enter"); + maps\_anim::addnotetrack_customfunction("player_rig","training_01_end_player_moves_to_seat",::training_01_end_player_moves_to_seat,"training_s1_player_end_jeep_enter"); + maps\_anim::addnotetrack_customfunction("player_rig","training_01_end_player_sits",::training_01_end_player_sits,"training_s1_player_end_jeep_enter"); + maps\_anim::addnotetrack_customfunction("gideon","training_01_end_gideon_walk",::training_01_end_gideon_walk,"training_s1_gideon_end"); + maps\_anim::addnotetrack_customfunction("gideon","training_01_end_gideon_punch",::training_01_end_gideon_punch,"training_s1_gideon_end"); + maps\_anim::addnotetrack_customfunction("gideon","training_01_end_gideon_pulls_gun",::training_01_end_gideon_pulls_gun,"training_s1_gideon_end"); + maps\_anim::addnotetrack_customfunction("gideon","training_01_end_gideon_shoots_potus",::training_01_end_gideon_shoots_potus,"training_s1_gideon_end"); + maps\_anim::addnotetrack_customfunction("gideon","training_01_end_gideon_to_player",::training_01_end_gideon_to_player,"training_s1_gideon_end"); + maps\_anim::addnotetrack_customfunction("gideon","training_01_end_gideon_mask",::training_01_end_gideon_mask,"training_s1_gideon_end"); + maps\_anim::addnotetrack_customfunction("gideon","training_01_end_gideon_gun_away",::training_01_end_gideon_gun_away,"training_s1_gideon_end"); + maps\_anim::addnotetrack_customfunction("gideon","training_01_end_gideon_helps_up_plr",::training_01_end_gideon_helps_up_plr,"training_s1_gideon_end"); + maps\_anim::addnotetrack_customfunction("gideon","training_01_end_gideon_grabs_arm",::training_01_end_gideon_grabs_arm,"training_s1_gideon_end"); + maps\_anim::addnotetrack_customfunction("gideon","training_01_end_gideon_idles",::training_01_end_gideon_idles,"training_s1_gideon_end"); + maps\_anim::addnotetrack_customfunction("gideon","training_01_end_gideon_walks_away",::training_01_end_gideon_walks_away,"training_s1_gideon_end"); + maps\_anim::addnotetrack_customfunction("gideon","training_01_end_gideon_enter_jeep",::training_01_end_gideon_enter_jeep,"training_s1_gideon_end_enter"); + maps\_anim::addnotetrack_customfunction("irons","training_01_end_irons_exit_jeep",::training_01_end_irons_exit_jeep,"training_s1_irons_end"); + maps\_anim::addnotetrack_customfunction("irons","training_01_end_irons_hand_on_shoulder",::training_01_end_irons_hand_on_shoulder,"training_s1_irons_end"); + maps\_anim::addnotetrack_customfunction("irons","training_01_end_irons_walk_away",::training_01_end_irons_walk_away,"training_s1_irons_end"); + maps\_anim::addnotetrack_customfunction("irons","training_01_end_irons_enter_jeep",::training_01_end_irons_enter_jeep,"training_s1_irons_end"); + maps\_anim::addnotetrack_customfunction("president","training_01_end_potus_threatened",::training_01_end_potus_threatened,"training_s1_president_end"); + maps\_anim::addnotetrack_customfunction("president","training_01_end_potus_shot",::training_01_end_potus_shot,"training_s1_president_end"); + maps\_anim::addnotetrack_customfunction("president","training_01_end_potus_gets_up",::training_01_end_potus_gets_up,"training_s1_president_end"); + maps\_anim::addnotetrack_customfunction("driver","training_01_end_driver_seat_movement",::training_01_end_driver_seat_movement,"training_s1_driver_end_enter"); + maps\_anim::addnotetrack_customfunction("driver","training_01_end_driver_gear_shift",::training_01_end_driver_gear_shift,"training_s1_driver_end_enter"); + maps\_anim::addnotetrack_customfunction("jeep","rec_training1_jeep_enter",::rec_training1_jeep_enter,"training_s1_vehicle_tour_end"); + maps\_anim::addnotetrack_customfunction("jeep","rec_training1_jeep_arrive",::rec_training1_jeep_arrive,"training_s1_vehicle_tour_end"); + maps\_anim::addnotetrack_customfunction("jeep","rec_training1_jeep_irons_door_open",::rec_training1_jeep_irons_door_open,"training_s1_vehicle_tour_end"); + maps\_anim::addnotetrack_customfunction("jeep","rec_training1_jeep_irons_door_close",::rec_training1_jeep_irons_door_close,"training_s1_vehicle_tour_end"); + maps\_anim::addnotetrack_customfunction("jeep","rec_training1_jeep_player_door_close",::rec_training1_jeep_player_door_close,"training_s1_vehicle_tour_end_enter"); + maps\_anim::addnotetrack_customfunction("irons","rec_tour_ride_irons_turns_to_plr",::rec_tour_ride_irons_turns_to_plr,"rec_tour_ride_c_pt1"); + maps\_anim::addnotetrack_customfunction("irons","rec_tour_ride_irons_gestures",::rec_tour_ride_irons_gestures,"rec_tour_ride_c_pt1"); + maps\_anim::addnotetrack_customfunction("irons","rec_tour_ride_irons_waves",::rec_tour_ride_irons_waves,"rec_tour_ride_c_pt1"); + maps\_anim::addnotetrack_customfunction("player_rig","rec_tour_ride_plr_door",::rec_tour_ride_plr_door,"rec_tour_ride_c_pt1"); + maps\_anim::addnotetrack_customfunction("player_rig","rec_tour_ride_plr_exits_jeep",::rec_tour_ride_plr_exits_jeep,"rec_tour_ride_c_pt1"); + maps\_anim::addnotetrack_customfunction("gideon","rec_tour_ride_gid_hand_on_door",::rec_tour_ride_gid_hand_on_door,"rec_tour_ride_c_pt1"); + maps\_anim::addnotetrack_customfunction("gideon","rec_tour_ride_gid_exits_jeep",::rec_tour_ride_gid_exits_jeep,"rec_tour_ride_c_pt1"); + maps\_anim::addnotetrack_customfunction("driver","rec_tour_ride_driver_gear_shift",::rec_tour_ride_driver_gear_shift,"rec_tour_ride_c_pt1"); + maps\_anim::addnotetrack_customfunction("jeep","rec_tour_ride_veh_rightdoor_open",::rec_tour_ride_veh_rightdoor_open,"rec_tour_ride_c_pt1_jeep"); + maps\_anim::addnotetrack_customfunction("jeep","rec_tour_ride_veh_leftdoor_open",::rec_tour_ride_veh_leftdoor_open,"rec_tour_ride_c_pt1_jeep"); + maps\_anim::addnotetrack_customfunction("jeep","rec_tour_ride_veh_rightdoor_close",::rec_tour_ride_veh_rightdoor_close,"rec_tour_ride_c_pt1_jeep"); + maps\_anim::addnotetrack_customfunction("jeep","rec_tour_ride_veh_leftdoor_close",::rec_tour_ride_veh_leftdoor_close,"rec_tour_ride_c_pt1_jeep"); + maps\_anim::addnotetrack_customfunction("pusher_1","audio_push_1_box_pickup",::audio_push_1_box_pickup,"rec_atlas_push_idle"); + maps\_anim::addnotetrack_customfunction("pusher_1","audio_push_1_box_drop",::audio_push_1_box_drop,"rec_atlas_push_idle"); + maps\_anim::addnotetrack_customfunction("pusher_1","audio_push_1_box_push",::audio_push_1_box_push,"rec_atlas_push_idle"); + maps\_anim::addnotetrack_customfunction("pusher_1","audio_push_1_crane_move_1",::audio_push_1_crane_move_1,"rec_atlas_push_idle"); + maps\_anim::addnotetrack_customfunction("pusher_1","audio_push_1_crane_move_2",::audio_push_1_crane_move_2,"rec_atlas_push_idle"); + maps\_anim::addnotetrack_customfunction("pusher_1","audio_push_1_crane_move_3",::audio_push_1_crane_move_3,"rec_atlas_push_idle"); + maps\_anim::addnotetrack_customfunction("pusher_2","audio_push_2_box_pickup",::audio_push_2_box_pickup,"rec_atlas_push_idle"); + maps\_anim::addnotetrack_customfunction("pusher_2","audio_push_2_box_drop",::audio_push_2_box_drop,"rec_atlas_push_idle"); + maps\_anim::addnotetrack_customfunction("pusher_2","audio_push_2_box_push",::audio_push_2_box_push,"rec_atlas_push_idle"); + maps\_anim::addnotetrack_customfunction("pusher_2","audio_push_2_crane_move_1",::audio_push_2_crane_move_1,"rec_atlas_push_idle"); + maps\_anim::addnotetrack_customfunction("pusher_2","audio_push_2_crane_move_2",::audio_push_2_crane_move_2,"rec_atlas_push_idle"); + maps\_anim::addnotetrack_customfunction("pusher_2","audio_push_2_crane_move_3",::audio_push_2_crane_move_3,"rec_atlas_push_idle"); + maps\_anim::addnotetrack_customfunction("climber_1","exo_climb_start",::exo_climb_start,"rec_atlas_climb_guy02"); + maps\_anim::addnotetrack_customfunction("player_rig_repair","exo_repair_vm_sit",::exo_repair_vm_sit,"rec_exo_arm_repair_vm"); + maps\_anim::addnotetrack_customfunction("player_rig_repair","exo_repair_vm_place_arm",::exo_repair_vm_place_arm,"rec_exo_arm_repair_vm"); + maps\_anim::addnotetrack_customfunction("animated_desk","exo_repair_desk_unfold",::exo_repair_desk_unfold,"rec_exo_arm_repair_chair_unfold_desk"); + maps\_anim::addnotetrack_customfunction("animated_desk","repair_desk_harness_close",::repair_desk_harness_close,"rec_exo_arm_repair_desk"); + maps\_anim::addnotetrack_customfunction("animated_desk","repair_desk_grab_needle",::repair_desk_grab_needle,"rec_exo_arm_repair_desk"); + maps\_anim::addnotetrack_customfunction("animated_desk","repair_desk_align_needle",::repair_desk_align_needle,"rec_exo_arm_repair_desk"); + maps\_anim::addnotetrack_customfunction("animated_desk","repair_desk_push_needle",::repair_desk_push_needle,"rec_exo_arm_repair_desk"); + maps\_anim::addnotetrack_customfunction("animated_desk","repair_desk_remove_needle",::repair_desk_remove_needle,"rec_exo_arm_repair_exit_desk"); + maps\_anim::addnotetrack_customfunction("animated_desk","repair_desk_harness_release",::repair_desk_harness_release,"rec_exo_arm_repair_exit_desk"); + maps\_anim::addnotetrack_customfunction("player_rig_repair","exo_repair_vm_lift_arm",::exo_repair_vm_lift_arm,"rec_exo_arm_repair_attempt_exit_vm"); + maps\_anim::addnotetrack_customfunction("player_rig_repair","exo_repair_vm_test_hand",::exo_repair_vm_test_hand,"rec_exo_arm_repair_attempt_exit_vm"); + maps\_anim::addnotetrack_customfunction("wrestler_1","audio_start_wrestling_exo_guy",::audio_start_wrestling_exo_guy,"rec_atlas_wrestling_idle"); + maps\_anim::addnotetrack_customfunction("wrestler_2","audio_start_wrestling_guy2",::audio_start_wrestling_guy2,"rec_atlas_wrestling_idle"); + maps\_anim::addnotetrack_customfunction("wrestler_3","audio_start_wrestling_guy3",::audio_start_wrestling_guy3,"rec_atlas_wrestling_idle"); + maps\_anim::addnotetrack_customfunction("wrestler_4","audio_start_wrestling_guy4",::audio_start_wrestling_guy4,"rec_atlas_wrestling_idle"); + maps\_anim::addnotetrack_customfunction("wrestler_5","audio_start_wrestling_guy5",::audio_start_wrestling_guy5,"rec_atlas_wrestling_idle"); + maps\_anim::addnotetrack_customfunction("gideon","rec_readyroom_gideon_pushes_button",::rec_readyroom_gideon_pushes_button,"rec_readyroom_seq"); + maps\_anim::addnotetrack_customfunction("ready_room_elevator_right","rec_readyroom_elevator_right_open",::rec_readyroom_elevator_right_open,"rec_readyroom_seq"); + maps\_anim::addnotetrack_customfunction("ready_room_elevator_right","rec_readyroom_elevator_right_close",::rec_readyroom_elevator_right_close,"rec_readyroom_up_elevator_right"); + maps\_anim::addnotetrack_customfunction("ready_room_elevator_right","rec_readyroom_elevator_right_up",::rec_readyroom_elevator_right_up,"rec_readyroom_up_elevator_right"); + maps\_anim::addnotetrack_customfunction("ready_room_elevator_right","rec_readyroom_elevator_right_open2",::rec_readyroom_elevator_right_open2,"rec_readyroom_up_elevator_right"); + maps\_anim::addnotetrack_customfunction("ready_room_elevator_left","rec_readyroom_elevator_left_open",::rec_readyroom_elevator_left_open,"rec_readyroom_elevator_left_open"); + maps\_anim::addnotetrack_customfunction("ready_room_elevator_left","rec_readyroom_elevator_left_close",::rec_readyroom_elevator_left_close,"rec_readyroom_seq"); + maps\_anim::addnotetrack_customfunction("ready_room_elevator_left","rec_readyroom_elevator_left_up",::rec_readyroom_elevator_left_up,"rec_readyroom_seq"); + maps\_anim::addnotetrack_customfunction("ready_room_elevator_left","rec_readyroom_elevator_left_open2",::rec_readyroom_elevator_left_open2,"rec_readyroom_seq"); + maps\_anim::addnotetrack_customfunction("player_rig","rec_player_exo_breach_start",::rec_player_exo_breach_start,"training_s2_breach"); + maps\_anim::addnotetrack_customfunction("player_rig","rec_s2_exfil_car_plr_start",::rec_s2_exfil_car_plr_start,"training_s2_player_end"); + maps\_anim::addnotetrack_customfunction("player_rig","rec_s2_exfil_car_plr_help_potus",::rec_s2_exfil_car_plr_help_potus,"training_s2_player_end"); + maps\_anim::addnotetrack_customfunction("player_rig","rec_s2_exfil_car_plr_hand",::rec_s2_exfil_car_plr_hand,"training_s2_player_end"); + maps\_anim::addnotetrack_customfunction("president","rec_s2_exfil_potus_start",::rec_s2_exfil_potus_start,"training_s2_president_end"); + maps\_anim::addnotetrack_customfunction("president","rec_s2_exfil_potus_enter_car",::rec_s2_exfil_potus_enter_car,"training_s2_president_end"); + maps\_anim::addnotetrack_customfunction("irons","training_2_irons_ending",::training_2_irons_ending,"training_s2_irons_helicopter"); + maps\_anim::addnotetrack_customfunction("warbird","rec_t2_warbird_start",::rec_t2_warbird_start,"warbird_landing"); + maps\_anim::addnotetrack_customfunction("warbird","rec_t2_warbird_decloak",::rec_t2_warbird_decloak,"warbird_landing"); + maps\_anim::addnotetrack_customfunction("warbird","rec_t2_warbird_land",::rec_t2_warbird_land,"warbird_landing"); + maps\_anim::addnotetrack_customfunction("warbird","rec_t2_warbird_door_open",::rec_t2_warbird_door_open,"warbird_takeoff"); + maps\_anim::addnotetrack_customfunction("joker","rec_guy_doubledoor_breach_start",::rec_guy_doubledoor_breach_start,"training_s1_patio_joker_door_out"); + maps\_anim::addnotetrack_customfunction("gideon","rec_guy_doubledoor_breach_start",::rec_guy_doubledoor_breach_start,"training_s2_patio_gideon_door_out"); +} + +//Function Number: 4 +config_system() +{ + soundscripts\_audio::set_stringtable_mapname("shg"); + soundscripts\_snd_filters::snd_set_occlusion("med_occlusion"); + soundscripts\_audio_mix_manager::mm_add_submix("recovery_global_mix"); +} + +//Function Number: 5 +init_snd_flags() +{ + common_scripts\utility::flag_init("aud_auto_combat_music"); + common_scripts\utility::flag_set("aud_auto_combat_music"); + level.player maps\_utility::ent_flag_init("overdrive_on"); +} + +//Function Number: 6 +init_globals() +{ + level.aud.last_repair_weights = []; + level.aud.repair_weights = []; +} + +//Function Number: 7 +launch_threads() +{ + thread rec_funeral_21_gun_salute(); + thread setup_funeral_ambi_fade(); + thread setup_lightning_transition(); + thread register_notetracks(); + thread setup_training_01_end_ambi_swap(); + thread setup_training_01_end_compound_ambi_emitter(); + thread play_vrap_sounds(); + thread rec_tour_hangar_background(); + thread setup_training_02_breach_smartglass(); +} + +//Function Number: 8 +launch_loops() +{ + soundscripts\_snd_playsound::snd_play_loop_at("emt_rec_cpu_rack_lp",(-4464,3413,37)); + soundscripts\_snd_playsound::snd_play_loop_at("emt_rec_cpu_rack_lp",(-4694,4488,37)); + soundscripts\_snd_playsound::snd_play_loop_at("emt_rec_floor_fan_lp",(-4587,2980,69)); + soundscripts\_snd_playsound::snd_play_loop_at("emt_rec_floor_fan_lp",(-4985,2977,69)); + soundscripts\_snd_playsound::snd_play_loop_at("emt_rec_floor_fan_lp",(-4964,3415,69)); + soundscripts\_snd_playsound::snd_play_loop_at("emt_rec_floor_fan_lp",(-4796,3721,33)); + soundscripts\_snd_playsound::snd_play_loop_at("emt_rec_floor_fan_lp",(-4796,3721,33)); + soundscripts\_snd_playsound::snd_play_loop_at("emt_rec_cpu_rack_lp",(-5830,4007,35)); + soundscripts\_snd_playsound::snd_play_loop_at("emt_rec_cpu_hdd_lp",(-5810,3763,35)); + soundscripts\_snd_playsound::snd_play_loop_at("emt_rec_light_buzz_lp",(-5824,4028,152)); + soundscripts\_snd_playsound::snd_play_loop_at("emt_rec_light_buzz_lp",(-5833,3751,152)); + soundscripts\_snd_playsound::snd_play_loop_at("emt_rec_light_buzz_lp",(-6020,3815,157)); + soundscripts\_snd_playsound::snd_play_loop_at("emt_rec_cpu_rack_lp",(-3163,-301,-76)); + soundscripts\_snd_playsound::snd_play_loop_at("emt_rec_cpu_rack_lp",(-2973,-595,-76)); + soundscripts\_snd_playsound::snd_play_delayed_loop_at("emt_rec_cpu_rack_lp",2,undefined,(-3163,-301,-76)); + soundscripts\_snd_playsound::snd_play_delayed_loop_at("emt_rec_cpu_rack_lp",4,undefined,(-3327,-411,-96)); + soundscripts\_snd_playsound::snd_play_loop_at("emt_rec_cpu_hdd_lp",(-3163,-301,-76)); + soundscripts\_snd_playsound::snd_play_delayed_loop_at("emt_rec_cpu_hdd_lp",4,undefined,(-3327,-411,-96)); + soundscripts\_snd_playsound::snd_play_delayed_loop_at("emt_rec_cpu_hdd_lp",7,undefined,(-3327,-501,-96)); +} + +//Function Number: 9 +create_level_envelop_arrays() +{ + level.aud.envs = []; + level.aud.envs["example_envelop"] = [[0,0],[0.082,0.426],[0.238,0.736],[0.408,0.844],[0.756,0.953],[1,1]]; + level.aud.envs["player_drone_pitch"] = [[0,0.75],[15,0.9],[30,1.1]]; + level.aud.envs["player_drone_volume"] = [[0,0.5],[15,0.9],[30,1]]; +} + +//Function Number: 10 +precache_presets() +{ +} + +//Function Number: 11 +zone_handler(param_00,param_01) +{ + var_02 = ""; + var_03 = ""; + if(getsubstr(param_00,0,6) == "enter_") + { + var_02 = param_01; + } + else if(getsubstr(param_00,0,5) == "exit_") + { + var_03 = param_01; + } + + if(var_03 == "ext_atlas_base" || var_03 == "ext_lodge") + { + soundsettraceflags("weapons"); + soundsettraceflags("tactical"); + soundsettraceflags("vehicles"); + soundsettraceflags("foley"); + } + + if(var_03 == "int_training_facility_lobby" || var_03 == "int_training_facility" || var_03 == "int_training_facility_02" || var_03 == "int_operating_room" || var_03 == "int_firing_range_stairway" || var_03 == "int_firing_range" || var_03 == "int_weapons_room" || var_03 == "int_lodge") + { + soundsettraceflags("weapons","locational","solid","glass","translucent","clipshot","playerclip","structural"); + soundsettraceflags("tactical","locational","solid","glass","translucent","clipshot","playerclip","structural"); + soundsettraceflags("vehicles","locational","solid","glass","translucent","clipshot","playerclip","structural"); + soundsettraceflags("foley","locational","solid","glass","translucent","clipshot","playerclip","structural"); + } +} + +//Function Number: 12 +music(param_00,param_01) +{ + thread music_handler(param_00,param_01); +} + +//Function Number: 13 +music_handler(param_00,param_01) +{ + level notify("stop_current_music_thread"); + level endon("stop_current_music_thread"); + var_02 = 0.4; + var_03 = 0.3; + var_04 = 0; + var_05 = 0; + var_06 = 0; + switch(param_00) + { + case "rec_funeral_eulogy_ends_irons": + soundscripts\_audio::aud_set_music_submix(1,0); + wait(14); + soundscripts\_audio_music::mus_play("rec_mus_funeral",4); + break; + + case "start_intro_stealth": + soundscripts\_audio::aud_set_music_submix(var_02,0); + wait(1); + soundscripts\_audio_music::mus_play("rec_mus_intro_stealth",10); + for(;;) + { + var_06 = common_scripts\utility::flag("aud_auto_combat_music"); + if(soundscripts\_snd_common::snd_get_num_enemies_aware() > 0) + { + if(!var_05 && var_06) + { + soundscripts\_audio::aud_set_music_submix(var_03,10); + soundscripts\_audio_music::mus_play("rec_mus_intro_combat_lp",3); + var_04 = 0; + var_05 = 1; + } + else + { + soundscripts\_audio::aud_set_music_submix(0,4); + var_04 = 0; + var_05 = 0; + } + } + else if(!var_04) + { + soundscripts\_audio::aud_set_music_submix(var_02,10); + soundscripts\_audio_music::mus_play("rec_mus_intro_stealth",3); + var_04 = 1; + var_05 = 0; + } + + wait(1); + } + break; + + case "intro_approaching_north_access_road": + soundscripts\_snd_common::snd_wait_for_enemies_see_player(); + wait(1); + soundscripts\_audio::aud_set_music_submix(var_03,8); + soundscripts\_audio_music::mus_play("rec_mus_intro_combat_lp",5); + break; + + case "rec_sim_reveal_gideon": + soundscripts\_audio::aud_set_music_submix(0.75,4); + wait(4.5); + soundscripts\_audio_music::mus_play("rec_mus_intro_combat_end",1,2); + level waittill("rec_gdn_noexcuseforequipmentfailure_done"); + soundscripts\_audio_music::mus_play("rec_mus_sim1_end"); + break; + + case "rec_mus_tour_ride_end": + var_07 = param_01; + soundscripts\_audio_mix_manager::mm_add_submix("rec_base_entrance_vo",var_07); + soundscripts\_audio::aud_set_music_submix(0.45,param_01); + wait(param_01); + soundscripts\_audio_music::mus_play("rec_mus_tour_ride_end",2); + level waittill("sound_done_rec_irs_nowgogetthatarm"); + soundscripts\_audio_mix_manager::mm_clear_submix("rec_base_entrance_vo",3); + break; + + case "firing_range_activating": + soundscripts\_audio::aud_set_music_submix(0.6,1); + soundscripts\_audio_music::mus_play("rec_firing_range_lp",2); + break; + + case "firing_range_deactivating": + soundscripts\_audio::aud_set_music_submix(0.6,1); + soundscripts\_audio_music::mus_play("rec_firing_range_end",2); + break; + + case "grenade_range_begin_phase1": + soundscripts\_audio::aud_set_music_submix(0.8,1); + soundscripts\_audio_music::mus_play("rec_grnd_trnng_01_lp",2); + break; + + case "grenade_range_begin_phase2": + soundscripts\_audio::aud_set_music_submix(0.75,1); + soundscripts\_audio_music::mus_play("rec_grnd_trnng_02_lp",2); + break; + + case "grenade_range_end_phase2": + soundscripts\_audio::aud_set_music_submix(0.75,1); + soundscripts\_audio_music::mus_play("rec_grnd_trnng_02_end",2); + break; + + case "sim2_complete": + soundscripts\_audio::aud_set_music_submix(0.75,1); + soundscripts\_audio_music::mus_play("rec_grnd_trnng_02_lp",6); + break; + + case "final_combat": + soundscripts\_audio::aud_set_music_submix(0.75,1); + soundscripts\_audio_music::mus_play("rec_grnd_trnng_02_end",2); + break; + + case "rec_level_ending": + soundscripts\_audio::aud_set_music_submix(0.4,0); + wait(0.05); + soundscripts\_audio_music::mus_play("rec_mus_level_ending",2); + break; + + default: + soundscripts\_audio::aud_print_warning("\tMUSIC MESSAGE NOT HANDLED: " + param_00); + break; + } +} + +//Function Number: 14 +start_funeral() +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_funeral"); + thread funeral_submix_handler(); + soundscripts\_snd_playsound::snd_play_loop_at("walla_funeral",(6504,-43267,132),"stop_walla_funeral",6,4); +} + +//Function Number: 15 +start_training_01() +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_lodge"); +} + +//Function Number: 16 +start_training_01_lodge() +{ + soundscripts\_audio_zone_manager::azm_start_zone("int_lodge"); + music("start_intro_stealth"); +} + +//Function Number: 17 +start_training_01_lodge_breach() +{ + soundscripts\_audio_zone_manager::azm_start_zone("int_lodge"); + music("start_intro_stealth"); +} + +//Function Number: 18 +start_training_01_lodge_exit() +{ + soundscripts\_audio_zone_manager::azm_start_zone("int_lodge"); + music("start_intro_stealth"); +} + +//Function Number: 19 +start_training_01_golf_course() +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_lodge"); + music("start_intro_stealth"); +} + +//Function Number: 20 +start_training_01_end() +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_exfil"); +} + +//Function Number: 21 +start_tour_ride() +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_exfil"); +} + +//Function Number: 22 +start_tour_exo() +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_atlas_base"); +} + +//Function Number: 23 +start_tour_exo_exit() +{ + soundscripts\_audio_zone_manager::azm_start_zone("int_training_facility"); +} + +//Function Number: 24 +start_tour_firing_range() +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_atlas_base"); +} + +//Function Number: 25 +start_tour_augmented_reality() +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_atlas_base"); +} + +//Function Number: 26 +start_tour_end() +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_atlas_base"); +} + +//Function Number: 27 +start_training_02() +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_lodge"); +} + +//Function Number: 28 +start_training_02_lodge() +{ + soundscripts\_audio_zone_manager::azm_start_zone("int_lodge"); +} + +//Function Number: 29 +start_training_02_lodge_breach() +{ + soundscripts\_audio_zone_manager::azm_start_zone("int_lodge"); +} + +//Function Number: 30 +start_training_02_lodge_exit() +{ + soundscripts\_audio_zone_manager::azm_start_zone("int_lodge"); +} + +//Function Number: 31 +start_training_02_golf_course() +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_lodge"); + music("sim2_complete"); +} + +//Function Number: 32 +start_training_02_end() +{ + soundscripts\_audio_zone_manager::azm_start_zone("ext_exfil"); + music("sim2_complete"); +} + +//Function Number: 33 +funeral_submix_handler() +{ + wait 0.05; + soundscripts\_audio_mix_manager::mm_add_submix("rec_funeral"); + level waittill("funeral_done"); + soundscripts\_audio_mix_manager::mm_clear_submix("rec_funeral"); +} + +//Function Number: 34 +eulogy_irons_stand(param_00) +{ + soundscripts\_snd::snd_slate("eulogy_irons_stand"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_eulogy_irons_stand",0); +} + +//Function Number: 35 +eulogy_irons_touch(param_00) +{ + soundscripts\_snd::snd_slate("eulogy_irons_touch"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_eulogy_irons_touch",0); +} + +//Function Number: 36 +eulogy_irons_leave(param_00) +{ + soundscripts\_snd::snd_slate("eulogy_irons_leave"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_eulogy_irons_leave",0); +} + +//Function Number: 37 +eulogy_cormack_approach(param_00) +{ + soundscripts\_snd::snd_slate("eulogy_cormack_approach"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_eulogy_cormack_approach",0); +} + +//Function Number: 38 +eulogy_cormack_touch(param_00) +{ + soundscripts\_snd::snd_slate("eulogy_cormack_touch"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_eulogy_cormack_touch",0); +} + +//Function Number: 39 +eulogy_cormack_leave(param_00) +{ + soundscripts\_snd::snd_slate("eulogy_cormack_leave"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_eulogy_cormack_leave",0); +} + +//Function Number: 40 +eulogy_player_touch(param_00) +{ + soundscripts\_snd::snd_slate("eulogy_player_touch"); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_eulogy_player_touch",0.4); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_eulogy_player_release",0.07); +} + +//Function Number: 41 +atlascard_cormack_walk(param_00) +{ + soundscripts\_snd::snd_slate("atlascard_cormack_walk"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_atlascard_cormack_walk",0); +} + +//Function Number: 42 +atlascard_irons_turn(param_00) +{ + soundscripts\_snd::snd_slate("atlascard_irons_turn"); +} + +//Function Number: 43 +atlascard_irons_walk(param_00) +{ + soundscripts\_snd::snd_slate("atlascard_irons_walk"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_atlascard_irons_walk",0); +} + +//Function Number: 44 +atlascard_irons_handshake(param_00) +{ + soundscripts\_snd::snd_slate("atlascard_irons_handshake"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_atlascard_irons_handshake",0); +} + +//Function Number: 45 +atlascard_irons_place_hand(param_00) +{ + soundscripts\_snd::snd_slate("atlascard_irons_place_hand"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_atlascard_irons_place_hand",0); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_atlascard_irons_place_hand_fs",0.3); +} + +//Function Number: 46 +atlascard_irons_tap(param_00) +{ + soundscripts\_snd::snd_slate("atlascard_irons_tap"); + level notify("aud_start_21_gun_salute"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_atlascard_irons_tap",0); +} + +//Function Number: 47 +atlascard_irons_grab_card(param_00) +{ + soundscripts\_snd::snd_slate("atlascard_irons_grab_card"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_atlascard_irons_grabs_card",0); +} + +//Function Number: 48 +atlascard_irons_leave(param_00) +{ + soundscripts\_snd::snd_slate("atlascard_irons_leave"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_atlascard_irons_leave",0); +} + +//Function Number: 49 +rec_funeral_21_gun_salute() +{ + level waittill("aud_start_21_gun_salute"); + soundscripts\_audio_mix_manager::mm_add_submix("rec_funeral_salute"); + maps\_utility::delaythread(10,::maps\recovery_utility::play_rumble_funeral_gun_salute); + soundscripts\_snd::snd_slate("21_gun_salute"); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_funeral_salute_vo_01",7); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_funeral_salute_foley_02",9); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_funeral_salute_vo_02",10); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_funeral_salute_shot_02",10); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_funeral_salute_vo_03",14); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_funeral_salute_foley_03",16); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_funeral_salute_shot_03",14); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_funeral_salute_thunder",18); + level notify("stop_walla_funeral"); + soundscripts\_audio_mix_manager::mm_clear_submix("rec_funeral_salute"); + soundscripts\_audio_mix_manager::mm_clear_submix("rec_funeral_ambi_fade",10); +} + +//Function Number: 50 +campdavid_player_arm_reveal(param_00) +{ + soundscripts\_snd::snd_printlnbold("SLATE: campdavid_player_arm_reveal"); + soundscripts\_snd_playsound::snd_play_delayed_2d("arm_reveal_exo",0.2); + soundscripts\_snd_playsound::snd_play_delayed_2d("arm_reveal_gun",2.35); +} + +//Function Number: 51 +rec_threat01_joker_start(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_threat_joker_steps",0); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_threat_joker_gear",0); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_threat_joker_door",0); +} + +//Function Number: 52 +rec_threat01_joker_kick(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_threat_kick_joker_steps",0); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_threat_kick_joker_gear",0); + soundscripts\_audio_mix_manager::mm_add_submix("rec_threat_breach_foley"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_threat_kick_joker_windup",0); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_threat_kick_joker_door",0.1); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_threat_kick_joker_door_otherside",0.1); + wait(5); + soundscripts\_audio_mix_manager::mm_clear_submix("rec_threat_breach_foley"); +} + +//Function Number: 53 +rec_mute01_joker_start(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_mute_01_joker_start"); +} + +//Function Number: 54 +rec_mute01_joker_breach(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("rec_mute_01_joker_breach"); + soundscripts\_audio_mix_manager::mm_add_submix("mute_charge_loop_management",0.5); +} + +//Function Number: 55 +camp_david_training_mute_device(param_00,param_01) +{ + var_02 = self; + soundscripts\_audio_mix_manager::mm_add_submix("rec_s1_mute_breach"); + soundscripts\_snd_timescale::snd_set_timescale("all_off"); + level.player enablecustomweaponcontext(); + soundscripts\_snd_common::snd_enable_soundcontextoverride("mute"); + soundscripts\_snd_playsound::snd_play_delayed_2d("mute_device_activate",0.5); + wait(1.25); + var_02 thread soundscripts\_snd_common::snd_mute_device("mute_device",param_00,param_00 + 250,param_01,"mute_device"); + var_02 thread aud_stop_training_mute_device(); +} + +//Function Number: 56 +aud_stop_training_mute_device() +{ + level waittill("training_s1_breach_enemy_dead"); + soundscripts\_snd_common::snd_disable_soundcontextoverride("mute"); + level.player disablecustomweaponcontext(); + self notify("turn_off"); + soundscripts\_audio_mix_manager::mm_clear_submix("rec_s1_mute_breach"); +} + +//Function Number: 57 +rec_mute01_joker_run(param_00) +{ +} + +//Function Number: 58 +rec_mute01_joker_kick(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("rec_mute_01_joker_kick"); +} + +//Function Number: 59 +rec_mute_breach_slo_mo1(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("rec_mute_slo_mo","kill_slo_mo",undefined,0.5); + wait(param_00); + level notify("kill_wall_hit_sound"); + soundscripts\_snd_timescale::snd_set_timescale("all_on"); +} + +//Function Number: 60 +rec_chair_kva_gets_shot(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("bullet_flesh_slo_mo",param_00); +} + +//Function Number: 61 +rec_kva_with_president_gets_shot(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("bullet_flesh_slo_mo",param_00); +} + +//Function Number: 62 +rec_mute01_joker_turn(param_00) +{ +} + +//Function Number: 63 +rec_mute01_kva_with_gun_killed(param_00) +{ +} + +//Function Number: 64 +rec_mute01_kva_kicked(param_00) +{ + wait(1.25); + level notify("kill_slo_mo"); +} + +//Function Number: 65 +rec_mute01_kva_hits_wall(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_mute_01_kva_hits_wall","kill_wall_hit_sound"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_rec_cabin_sglass_brkn_lp",(-2908,-5304,376),"stop_electronic_emitters_sim_01",1,1); + soundscripts\_audio_mix_manager::mm_clear_submix("mute_charge_loop_management"); +} + +//Function Number: 66 +rec_mute01_chair_kva_killed(param_00) +{ +} + +//Function Number: 67 +rec_mute01_potus_free(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("rec_joker_potus_rescue"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_joker_training_01_potus_rescue",1.25); + wait(8); + soundscripts\_audio_mix_manager::mm_clear_submix("rec_joker_potus_rescue"); +} + +//Function Number: 68 +rec_s1_president_killed() +{ + if(isdefined(level.president)) + { + level.president soundscripts\_snd_playsound::snd_play_linked("bullet_flesh_slo_mo"); + } +} + +//Function Number: 69 +rec_bathroom_guy(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_mute_01_bathroom_guy"); +} + +//Function Number: 70 +rec_plr_kills_president(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("bullet_flesh_slo_mo",param_00); +} + +//Function Number: 71 +rec_training01_lodge_stealth_exit_start(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_stealth_exit_joker_steps",8.6); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_stealth_exit_joker_gear",8.3); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_stealth_exit_joker_texture",8.3); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_stealth_exit_joker_door",8.6); +} + +//Function Number: 72 +rec_training01_lodge_stealth_open(param_00) +{ +} + +//Function Number: 73 +rec_training01_lodge_stealth_exit_end(param_00) +{ +} + +//Function Number: 74 +rec_s1_drones_fly_by(param_00) +{ + soundscripts\_snd::snd_printlnbold("Drone Flyby 1 Start"); + var_01 = param_00[0]; + soundscripts\_audio_mix_manager::mm_add_submix("training_1_drone_patrol"); + var_02 = "kill_fly_by_on_attack" + soundscripts\_snd::snd_new_guid(); + var_01 soundscripts\_snd_playsound::snd_play_linked("rec_s1_drone_patrol_flyby",var_02); + thread rec_s1_drones_wait_for_attack(var_02); + wait(25); + soundscripts\_audio_mix_manager::mm_clear_submix("training_1_drone_patrol"); + level notify("s1_drones_complete"); +} + +//Function Number: 75 +rec_s1_drones_wait_for_attack(param_00) +{ + level endon("s1_drones_complete"); + level waittill("s1_drones_attacking"); + level notify(param_00); +} + +//Function Number: 76 +rec_s1_drones_attack(param_00) +{ + soundscripts\_snd::snd_printlnbold("Drone Flyby 1 Turn"); + var_01 = param_00[0]; + if(!isalive(var_01)) + { + if(isalive(param_00[1])) + { + var_01 = param_00[1]; + } + else if(isalive(param_00[2])) + { + var_01 = param_00[2]; + } + else + { + return; + } + } + + var_01 soundscripts\_snd_playsound::snd_play_linked("rec_s1_drone_alert"); + wait(3); + soundscripts\_audio_mix_manager::mm_clear_submix("training_1_drone_patrol"); + soundscripts\_audio_mix_manager::mm_add_submix("training_1_drone_patrol_attack"); + level notify("s1_drones_attacking"); + if(!isalive(var_01)) + { + if(isalive(param_00[1])) + { + var_01 = param_00[1]; + } + else if(isalive(param_00[2])) + { + var_01 = param_00[2]; + } + else + { + return; + } + } + + var_01 soundscripts\_snd_playsound::snd_play_linked("rec_s1_drone_attack"); + foreach(var_03 in param_00) + { + if(isdefined(var_03) && !isremovedentity(var_03)) + { + var_03 waittill("death"); + } + } + + soundscripts\_audio_mix_manager::mm_clear_submix("training_1_drone_patrol_attack"); +} + +//Function Number: 77 +rec_drone_scanner() +{ + soundscripts\_snd::snd_printlnbold("Drone Flyby 1 Scan"); + wait(1.6); + soundscripts\_snd_playsound::snd_play_linked("rec_s1_drone_patrol_scan"); +} + +//Function Number: 78 +patio_flashbang(param_00,param_01) +{ + wait(param_00); + soundscripts\_snd_playsound::snd_play_at("rec_s1_flash_bang",param_01); +} + +//Function Number: 79 +rec_train1_stealth_car_spawn(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_train_1_stealth_car_engine","stealth_car_alerted"); + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_train_1_stealth_car_sfx","stealth_car_alerted"); +} + +//Function Number: 80 +rec_train1_stealth_car_stop(param_00) +{ + level notify("stealth_car_alerted"); + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_train_1_stealth_car_stop_engine"); + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_train_1_stealth_car_stop_sfx"); + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_train_1_stealth_car_stop_lfe"); +} + +//Function Number: 81 +s1_popping_smoke(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("wpn_smoke_grenade_exp",param_00); +} + +//Function Number: 82 +rec_train1_exfil_car_start(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("1st_time_exfil_truck"); + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_train_1_exfil_car_enter_engine"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_loop_linked("rec_train_1_exfil_car_idle_loop",5.372,0,"exfil_loop_stop"); +} + +//Function Number: 83 +training_01_end_player_arm_malfunction(param_00) +{ + soundscripts\_snd::snd_printlnbold("SLATE: car door arm malfunctions"); + soundscripts\_audio_mix_manager::mm_clear_submix("1st_time_exfil_truck"); + soundscripts\_audio_mix_manager::mm_add_submix("training_1_end_scene",2); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_train_1_end_plr_try_handle",0.1); + soundscripts\_snd_playsound::snd_play_delayed_2d("arm_door_malfunction_exo",1.45); + level notify("stop_electronic_emitters_sim_01"); +} + +//Function Number: 84 +training_01_end_gideon_walk(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_train_1_end_gideon_emerge"); + soundscripts\_snd_playsound::snd_play_2d("rec_train_1_end_branch_snap"); +} + +//Function Number: 85 +training_01_end_player_punched(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("rec_train_1_end_plr_fall"); + level notify("stop_rain_quads"); +} + +//Function Number: 86 +training_01_end_gideon_punch(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("rec_train_1_end_gideon_punch"); +} + +//Function Number: 87 +training_01_end_potus_threatened(param_00) +{ +} + +//Function Number: 88 +training_01_end_gideon_pulls_gun(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("rec_train_1_end_gideon_gun_draw"); +} + +//Function Number: 89 +training_01_end_potus_shot(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_train_1_end_potus_shot"); +} + +//Function Number: 90 +training_01_end_gideon_shoots_potus(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("rec_train_1_end_gideon_gun_shot"); +} + +//Function Number: 91 +training_01_end_gideon_to_player(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("rec_train_1_end_gideon_to_plr"); +} + +//Function Number: 92 +training_01_end_gideon_mask(param_00) +{ +} + +//Function Number: 93 +training_01_end_gideon_gun_away(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("rec_train_1_end_gideon_gun_away"); +} + +//Function Number: 94 +rec_train1_end() +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_train_1_end_reveal_reset",2.782); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_train_1_end_reveal_door",5.464); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_train_1_end_reveal_amb1",4.952); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_train_1_end_reveal_amb2",35.29); + if(isdefined(level.escape_vehicle)) + { + level.escape_vehicle soundscripts\_snd_playsound::snd_play_delayed_linked("rec_train_1_exfil_car_shutoff",5); + } + + wait(5); + level notify("exfil_loop_stop"); +} + +//Function Number: 95 +tour_jeep_startup() +{ + soundscripts\_snd::snd_slate("tour_jeep_startup"); + level.cart soundscripts\_snd_playsound::snd_play_linked("rec_tour_jeep_start"); + wait(3.43); + level.cart soundscripts\_snd_playsound::snd_play_loop_linked("rec_tour_jeep_idle_lp","rec_tour_jeep_idle_stop",undefined,1); +} + +//Function Number: 96 +training_01_end_potus_gets_up(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_train_1_end_potus_getup",0.5); + level notify("start_compound_ambi_emitter"); +} + +//Function Number: 97 +training_01_end_player_helped_up(param_00) +{ +} + +//Function Number: 98 +training_01_end_gideon_helps_up_plr(param_00) +{ + soundscripts\_snd::snd_slate("training_01_end_gideon_helps_up_plr"); + soundscripts\_snd_playsound::snd_play_2d("rec_train_1_end_gideon_help_up"); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_train_1_end_plr_getup",0.75); +} + +//Function Number: 99 +training_01_end_irons_exit_jeep(param_00) +{ + soundscripts\_snd::snd_slate("training_01_end_irons_exit_jeep"); + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_train_1_end_irons_arrives"); +} + +//Function Number: 100 +training_01_end_player_arm_up(param_00) +{ + soundscripts\_snd::snd_slate("training_01_end_player_arm_up"); + soundscripts\_snd_playsound::snd_play_2d("rec_train_1_end_plr_arm_up"); +} + +//Function Number: 101 +training_01_end_gideon_grabs_arm(param_00) +{ + soundscripts\_snd::snd_slate("training_01_end_gideon_grabs_arm"); + soundscripts\_snd_playsound::snd_play_2d("rec_train_1_end_gideon_arm_grab"); +} + +//Function Number: 102 +training_01_end_gideon_idles(param_00) +{ + soundscripts\_snd::snd_slate("training_01_end_gideon_idles"); +} + +//Function Number: 103 +training_01_end_irons_hand_on_shoulder(param_00) +{ + soundscripts\_snd::snd_slate("training_01_end_irons_hand_on_shoulder"); + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_train_1_end_irons_shoulder"); +} + +//Function Number: 104 +training_01_end_gideon_walks_away(param_00) +{ + soundscripts\_snd::snd_slate("training_01_end_gideon_walks_away"); + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_train_1_end_gideon_to_jeep"); +} + +//Function Number: 105 +training_01_end_irons_walk_away(param_00) +{ + soundscripts\_snd::snd_slate("training_01_end_irons_walks_away"); + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_train_1_end_irons_returns"); +} + +//Function Number: 106 +training_01_end_irons_enter_jeep(param_00) +{ + soundscripts\_snd::snd_slate("training_01_end_Irons_enter_jeep"); + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_train_1_end_irons_in_jeep"); +} + +//Function Number: 107 +training_01_end_player_enters_jeep(param_00) +{ + soundscripts\_snd::snd_slate("training_01_end_player_enters_jeep"); + soundscripts\_snd_playsound::snd_play_2d("rec_train_1_end_plr_jeep_enter"); + soundscripts\_audio_mix_manager::mm_add_submix("irons_jeep_tour"); + soundscripts\_audio_mix_manager::mm_clear_submix("rec_training_01_ambis",15); +} + +//Function Number: 108 +training_01_end_driver_seat_movement(param_00) +{ + soundscripts\_snd::snd_slate("training_01_end_driver_seat_movement"); +} + +//Function Number: 109 +training_01_end_player_moves_to_seat(param_00) +{ + soundscripts\_snd::snd_slate("training_01_end_player_moves_to_seat"); +} + +//Function Number: 110 +training_01_end_player_sits(param_00) +{ + soundscripts\_snd::snd_slate("training_01_end_player_sits"); +} + +//Function Number: 111 +training_01_end_gideon_enter_jeep(param_00) +{ + soundscripts\_snd::snd_slate("training_01_end_gideon_enter_jeep"); + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_train_1_end_gideon_jeep_enter"); +} + +//Function Number: 112 +training_01_end_driver_gear_shift(param_00) +{ + soundscripts\_snd::snd_slate("training_01_end_driver_gear_shift"); + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_train_1_end_driver_gear"); + soundscripts\_audio_mix_manager::mm_clear_submix("training_1_end_scene"); +} + +//Function Number: 113 +rec_training1_jeep_enter(param_00) +{ + soundscripts\_snd::snd_slate("rec_training1_jeep_enter"); + soundscripts\_snd_playsound::snd_play_2d("rec_tour_jeep_enter_sfx"); + soundscripts\_snd_playsound::snd_play_2d("rec_tour_jeep_enter_eng"); +} + +//Function Number: 114 +rec_training1_jeep_arrive(param_00) +{ + soundscripts\_snd::snd_slate("rec_training1_jeep_arrive"); +} + +//Function Number: 115 +rec_training1_jeep_irons_door_open(param_00) +{ + soundscripts\_snd::snd_slate("rec_training1_jeep_irons_door_open"); +} + +//Function Number: 116 +rec_training1_jeep_irons_door_close(param_00) +{ + soundscripts\_snd::snd_slate("rec_training1_jeep_irons_door_close"); +} + +//Function Number: 117 +rec_training1_jeep_player_door_close(param_00) +{ + soundscripts\_snd::snd_slate("rec_training1_jeep_player_door_close"); +} + +//Function Number: 118 +rec_tour_ride_driver_gear_shift(param_00) +{ + soundscripts\_snd::snd_slate("SLATE: rec_tour_ride_driver_gear_shift"); +} + +//Function Number: 119 +rec_tour_ride_veh_rightdoor_open(param_00) +{ + soundscripts\_snd::snd_slate("SLATE: rec_tour_ride_veh_rightdoor_open"); +} + +//Function Number: 120 +rec_tour_ride_veh_leftdoor_open(param_00) +{ + soundscripts\_snd::snd_slate("SLATE: rec_tour_ride_veh_leftdoor_open"); +} + +//Function Number: 121 +rec_tour_ride_veh_rightdoor_close(param_00) +{ + soundscripts\_snd::snd_slate("SLATE: rec_tour_ride_veh_rightdoor_close"); +} + +//Function Number: 122 +rec_tour_vtol_takeoff_spawn(param_00) +{ + soundscripts\_snd::snd_printlnbold("SLATE: rec_tour_vtol_takeoff_spawn"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_tour_warbird_takeoff",3.05); +} + +//Function Number: 123 +rec_littlebird_formation_spawn(param_00) +{ + if(param_00.vehicle_spawner.targetname == "littlebird_formation") + { + soundscripts\_snd::snd_printlnbold("SLATE: rec_littlebird_formation_spawn"); + return; + } + + if(param_00.vehicle_spawner.targetname == "pf4_auto2369") + { + soundscripts\_snd::snd_printlnbold("SLATE: rec_littlebird_flyover"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_tour_lb_flyby",2.8); + } +} + +//Function Number: 124 +rec_tour_vehicle_1_start(param_00) +{ + soundscripts\_snd::snd_printlnbold("rec_tour_vehicle_1_start"); + level notify("rec_tour_jeep_idle_stop"); + level.cart soundscripts\_snd_playsound::snd_play_2d("rec_tour_jeep_sfx_front"); + level.cart soundscripts\_snd_playsound::snd_play_2d("rec_tour_jeep_sfx_rear"); + level.cart soundscripts\_snd_playsound::snd_play_2d("rec_tour_jeep_eng"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_tour_civi_sedan",16.149); +} + +//Function Number: 125 +civ_domestic_truck_spawn(param_00) +{ + soundscripts\_snd::snd_printlnbold("civ_domestic_truck_spawn"); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_tour_civi_truck_front",7.273); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_tour_civi_truck_rear",7.273); +} + +//Function Number: 126 +tour_drones_fly_by() +{ + soundscripts\_snd::snd_slate("tour_drones_fly_by"); + var_00 = self; + var_00 soundscripts\_snd_playsound::snd_play_linked("rec_tour_three_drones_fly_by"); +} + +//Function Number: 127 +attack_drone_flybys_audio() +{ + var_00 = "rec_tour_drone_flyby"; + var_01 = []; + var_01[0] = 800; + var_02 = []; + var_02[0] = 20; + var_02[1] = 5; + thread soundscripts\_snd_common::snd_advanced_flyby_system(var_00,undefined,var_01,var_02,1,undefined,undefined,3,2); +} + +//Function Number: 128 +rec_tour_ride_irons_turns_to_plr(param_00) +{ + soundscripts\_snd::snd_slate("rec_tour_ride_irons_turns_to_plr"); + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_tour_end_irons_turn"); +} + +//Function Number: 129 +tour_littlebird_lander(param_00) +{ + soundscripts\_snd::snd_printlnbold("tour_littlebird_lander"); + wait(1.3); + soundscripts\_snd_playsound::snd_play_2d("rec_tour_lb_lander_fronts"); + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_tour_lb_lander_ent"); +} + +//Function Number: 130 +vrap_spawn(param_00) +{ + level notify("aud_new_vrap",param_00); +} + +//Function Number: 131 +rec_tour_titan_gate_plr_open(param_00) +{ + soundscripts\_snd::snd_slate("Gate that the player drives through as the Titan passes by opens."); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_tour_gate_locks",0); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_tour_gate_move",0.1); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_tour_gate_buzzer",0); +} + +//Function Number: 132 +rec_tour_titan_1_start(param_00) +{ + soundscripts\_snd::snd_printlnbold("rec_tour_titan_1_start"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_base_titan_drive_by",0); +} + +//Function Number: 133 +rec_tour_escort_jeep_start(param_00) +{ + soundscripts\_snd::snd_printlnbold("rec_tour_escort_jeep_start"); +} + +//Function Number: 134 +rec_tour_ride_irons_gestures(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_tour_end_irons_gesture"); +} + +//Function Number: 135 +rec_tour_titan_2_walk_anim_start(param_00) +{ + soundscripts\_snd::snd_printlnbold("rec_tour_titan_2_walk_anim_start"); + var_01 = param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("walker_walking_mech",0.2); + wait(12.5); + var_01 unlink(); +} + +//Function Number: 136 +rec_tour_hangar_background() +{ + var_00 = (-64,8793,232); + common_scripts\utility::flag_wait("flag_titan_crossing"); + soundscripts\_snd_playsound::snd_play_delayed_at("rec_tour_hangar_background",var_00,14.25,undefined,"kill_hangar_emitters"); + level waittill("sounddone"); + level notify("kill_hangar_emitters"); +} + +//Function Number: 137 +tour_hangar_drones(param_00) +{ + var_01 = param_00[0]; + var_02 = param_00[3]; + var_03 = param_00[8]; + var_04 = param_00[11]; + var_01 soundscripts\_snd_playsound::snd_play_linked("rec_tour_hangar_drone_land_01"); + var_02 soundscripts\_snd_playsound::snd_play_linked("rec_tour_hangar_drone_land_02"); + var_03 soundscripts\_snd_playsound::snd_play_linked("rec_tour_hangar_drone_land_03"); + var_04 soundscripts\_snd_playsound::snd_play_linked("rec_tour_hangar_drone_land_04"); + wait(13); + soundscripts\_audio_mix_manager::mm_add_submix("irons_jeep_tour_exit_hanger",3); +} + +//Function Number: 138 +rec_tour_end_jeep_gate_plr_open(param_00) +{ + soundscripts\_snd::snd_slate("Gate that the player drives through at the end of the tour opens."); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_tour_gate_locks",0); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_tour_gate_move",0.1); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_tour_gate_buzzer",0); +} + +//Function Number: 139 +rec_tour_end_jeep_gate_plr_close(param_00) +{ + soundscripts\_snd::snd_slate("Gate that the player drives through at the end of the tour closes."); +} + +//Function Number: 140 +rec_tour_ride_irons_waves(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_tour_end_irons_wave"); +} + +//Function Number: 141 +rec_tour_npc_jeep_exit_gate_open(param_00) +{ + soundscripts\_snd::snd_slate("Gate that the NPCs drive through opens."); +} + +//Function Number: 142 +rec_tour_npc_jeep_exit_gate_close(param_00) +{ + soundscripts\_snd::snd_slate("Gate that the NPCs drive through closes."); +} + +//Function Number: 143 +tour_littlebird_ambient(param_00) +{ + soundscripts\_snd::snd_printlnbold("tour_littlebird_ambient"); +} + +//Function Number: 144 +rec_tour_ride_gid_hand_on_door(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_tour_end_gid_open_door"); +} + +//Function Number: 145 +rec_tour_ride_gid_exits_jeep(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_tour_end_gid_exit_jeep"); +} + +//Function Number: 146 +rec_tour_ride_plr_door(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("rec_tour_end_plr_open_door"); +} + +//Function Number: 147 +rec_tour_ride_plr_exits_jeep(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("rec_tour_end_plr_exit_jeep"); + soundscripts\_audio_mix_manager::mm_clear_submix("irons_jeep_tour_exit_hanger",5); +} + +//Function Number: 148 +rec_tour_ride_veh_leftdoor_close(param_00) +{ + soundscripts\_snd::snd_slate("SLATE: rec_tour_ride_veh_leftdoor_close"); + level.cart soundscripts\_snd_playsound::snd_play_linked("rec_tour_jeep_exit_sfx"); + soundscripts\_audio_mix_manager::mm_clear_submix("irons_jeep_tour"); +} + +//Function Number: 149 +audio_push_1_box_pickup(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_pusher_box_pickup"); +} + +//Function Number: 150 +audio_push_1_box_drop(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_pusher_box_drop"); +} + +//Function Number: 151 +audio_push_1_box_push(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_pusher_box_push"); +} + +//Function Number: 152 +audio_push_1_crane_move_1(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_pusher_01_crane_move_01"); +} + +//Function Number: 153 +audio_push_1_crane_move_2(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_pusher_01_crane_move_02"); +} + +//Function Number: 154 +audio_push_1_crane_move_3(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_pusher_01_crane_move_03"); +} + +//Function Number: 155 +audio_push_2_box_pickup(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_pusher_box_pickup"); +} + +//Function Number: 156 +audio_push_2_box_drop(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_pusher_box_drop"); +} + +//Function Number: 157 +audio_push_2_box_push(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_pusher_box_push"); +} + +//Function Number: 158 +audio_push_2_crane_move_1(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_pusher_02_crane_move_01"); +} + +//Function Number: 159 +audio_push_2_crane_move_2(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_pusher_02_crane_move_02"); +} + +//Function Number: 160 +audio_push_2_crane_move_3(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_pusher_02_crane_move_03"); +} + +//Function Number: 161 +exo_climb_start(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_tour_exo_climb"); +} + +//Function Number: 162 +exo_repair_vm_sit(param_00) +{ + soundscripts\_snd::snd_printlnbold("SLATE: exo_repair_vm_sit"); +} + +//Function Number: 163 +exo_repair_vm_place_arm(param_00) +{ + soundscripts\_snd::snd_printlnbold("SLATE: exo_repair_vm_place_arm"); +} + +//Function Number: 164 +exo_repair_desk_unfold(param_00) +{ + soundscripts\_snd::snd_printlnbold("SLATE: exo_repair_desk_unfold"); + soundscripts\_snd_playsound::snd_play_at("arm_bench_door_open",(-6483.47,3861.26,29.793)); + common_scripts\utility::flag_wait("tour_exo_arm"); + soundscripts\_snd_playsound::snd_play_delayed_2d("arm_bench_sit_foley",0.1); +} + +//Function Number: 165 +repair_desk_harness_close(param_00) +{ + soundscripts\_snd::snd_printlnbold("SLATE: repair_desk_harness_close"); + soundscripts\_snd_playsound::snd_play_delayed_2d("arm_bench_harness_close",0.5); + soundscripts\_snd_playsound::snd_play_delayed_2d("arm_bench_grab_insert_needle",3.7); +} + +//Function Number: 166 +repair_desk_grab_needle(param_00) +{ + soundscripts\_snd::snd_printlnbold("SLATE: repair_desk_grab_needle"); +} + +//Function Number: 167 +repair_desk_align_needle(param_00) +{ + soundscripts\_snd::snd_printlnbold("SLATE: repair_desk_align_needle"); +} + +//Function Number: 168 +repair_desk_push_needle(param_00) +{ + soundscripts\_snd::snd_printlnbold("SLATE: repair_desk_push_needle"); +} + +//Function Number: 169 +rec_exo_arm_repair_attempt_01_npc() +{ + soundscripts\_snd::snd_printlnbold("SLATE: rec_exo_arm_repair_attempt_01_npc"); + soundscripts\_snd_playsound::snd_play_delayed_2d("arm_bench_lab_tech_computer_01",0.05); +} + +//Function Number: 170 +rec_exo_arm_repair_attempt_02_npc() +{ + soundscripts\_snd::snd_printlnbold("SLATE: rec_exo_arm_repair_attempt_02_npc"); + soundscripts\_snd_playsound::snd_play_delayed_2d("arm_bench_lab_tech_computer_02",0.05); +} + +//Function Number: 171 +rec_exo_arm_repair_attempt_03_npc() +{ + soundscripts\_snd::snd_printlnbold("SLATE: rec_exo_arm_repair_attempt_03_npc"); + soundscripts\_snd_playsound::snd_play_delayed_2d("arm_bench_lab_tech_computer_03",0.75); +} + +//Function Number: 172 +exo_repair_movement(param_00) +{ + level endon("audio_repair_done"); + var_01 = 0; + var_02 = 0; + for(;;) + { + level waittill("audio_repair_weights_updated"); + if(level.aud.repair_weights["anim_up"] - 0.1 > level.aud.last_repair_weights["anim_up"] || level.aud.repair_weights["anim_down"] + 0.1 < level.aud.last_repair_weights["anim_down"]) + { + if(var_02 == 1) + { + soundscripts\_snd::snd_printlnbold("Exo Repair - Stop Up"); + soundscripts\_snd::snd_printlnbold("Exo Repair - Start Down"); + play_exo_repair_movement_sound(param_00); + var_02 = -1; + } + else if(var_02 == 0) + { + soundscripts\_snd::snd_printlnbold("Exo Repair - Start Down"); + play_exo_repair_movement_sound(param_00); + var_02 = -1; + } + } + else if(level.aud.repair_weights["anim_down"] - 0.1 > level.aud.last_repair_weights["anim_down"] || level.aud.repair_weights["anim_up"] + 0.1 < level.aud.last_repair_weights["anim_up"]) + { + if(var_02 == -1) + { + soundscripts\_snd::snd_printlnbold("Exo Repair - Stop Down"); + soundscripts\_snd::snd_printlnbold("Exo Repair - Start Up"); + play_exo_repair_movement_sound(param_00); + var_02 = 1; + } + else if(var_02 == 0) + { + soundscripts\_snd::snd_printlnbold("Exo Repair - Start Up"); + play_exo_repair_movement_sound(param_00); + var_02 = 1; + } + } + else + { + if(var_02 == 1) + { + soundscripts\_snd::snd_printlnbold("Exo Repair - Stop Up"); + } + else if(var_02 == -1) + { + soundscripts\_snd::snd_printlnbold("Exp Repair - Stop Down"); + } + + var_02 = 0; + } + + if(level.aud.repair_weights["anim_left"] - 0.1 > level.aud.last_repair_weights["anim_left"] || level.aud.repair_weights["anim_right"] + 0.1 < level.aud.last_repair_weights["anim_right"]) + { + if(var_01 == 1) + { + soundscripts\_snd::snd_printlnbold("Exo Repair - Stop Right"); + soundscripts\_snd::snd_printlnbold("Exo Repair - Start Left"); + play_exo_repair_movement_sound(param_00); + var_01 = -1; + } + else if(var_01 == 0) + { + soundscripts\_snd::snd_printlnbold("Exo Repair - Start Left"); + play_exo_repair_movement_sound(param_00); + var_01 = -1; + } + + continue; + } + + if(level.aud.repair_weights["anim_right"] - 0.1 > level.aud.last_repair_weights["anim_right"] || level.aud.repair_weights["anim_left"] + 0.1 < level.aud.last_repair_weights["anim_left"]) + { + if(var_01 == -1) + { + soundscripts\_snd::snd_printlnbold("Exo Repair - Stop Left"); + soundscripts\_snd::snd_printlnbold("Exo Repair - Start Right"); + play_exo_repair_movement_sound(param_00); + var_01 = 1; + } + else if(var_01 == 0) + { + soundscripts\_snd::snd_printlnbold("Exo Repair - Start Right"); + play_exo_repair_movement_sound(param_00); + var_01 = 1; + } + + continue; + } + + if(var_01 == 1) + { + soundscripts\_snd::snd_printlnbold("Exo Repair - Stop Right"); + } + else if(var_01 == -1) + { + soundscripts\_snd::snd_printlnbold("Exp Repair - Stop Left"); + } + + var_01 = 0; + } +} + +//Function Number: 173 +exo_repair_weight_updates(param_00) +{ + if(level.aud.last_repair_weights.size == 0) + { + level.aud.last_repair_weights = param_00; + } + else + { + level.aud.last_repair_weights = level.aud.repair_weights; + } + + level.aud.repair_weights = param_00; + level notify("audio_repair_weights_updated"); +} + +//Function Number: 174 +exo_repair_movement_stop() +{ + level notify("audio_repair_done"); +} + +//Function Number: 175 +play_exo_repair_movement_sound(param_00) +{ + switch(param_00) + { + case 1: + soundscripts\_snd_playsound::snd_play_2d("arm_bench_knuckle_move"); + break; + + case 2: + if(randomint(100) > 25) + { + soundscripts\_snd_playsound::snd_play_2d("arm_bench_finger_move"); + } + break; + + case 3: + if(randomint(100) > 25) + { + soundscripts\_snd_playsound::snd_play_2d("arm_bench_hand_move"); + } + break; + + default: + break; + } +} + +//Function Number: 176 +rec_exo_arm_repair_attempt_exit_npc() +{ + soundscripts\_snd::snd_printlnbold("SLATE: repair_desk_remove_needle"); + soundscripts\_snd_playsound::snd_play_delayed_2d("arm_bench_remove_needle",1.4); +} + +//Function Number: 177 +repair_desk_remove_needle(param_00) +{ + soundscripts\_snd::snd_printlnbold("SLATE: repair_desk_remove_needle"); +} + +//Function Number: 178 +repair_desk_harness_release(param_00) +{ + soundscripts\_snd::snd_printlnbold("SLATE: repair_desk_harness_release"); + soundscripts\_snd_playsound::snd_play_delayed_2d("arm_bench_remove_arm_exo",0.65); +} + +//Function Number: 179 +exo_repair_vm_lift_arm(param_00) +{ + soundscripts\_snd::snd_printlnbold("SLATE: exo_repair_vm_lift_arm"); +} + +//Function Number: 180 +exo_repair_vm_test_hand(param_00) +{ + soundscripts\_snd::snd_printlnbold("SLATE: exo_repair_vm_test_hand"); +} + +//Function Number: 181 +audio_start_wrestling_exo_guy(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_tour_exo_sparring_guy_exo"); +} + +//Function Number: 182 +audio_start_wrestling_guy2(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_tour_exo_sparring_guy1"); +} + +//Function Number: 183 +audio_start_wrestling_guy3(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_tour_exo_sparring_guy2"); +} + +//Function Number: 184 +audio_start_wrestling_guy4(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_tour_exo_sparring_guy3"); +} + +//Function Number: 185 +audio_start_wrestling_guy5(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_tour_exo_sparring_guy4"); +} + +//Function Number: 186 +exo_drone_flby(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("tour_drones_2"); + param_00 = self; + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_exo_fac_exit_drones_fly_by"); + wait(12); + soundscripts\_audio_mix_manager::mm_clear_submix("tour_drones_2"); +} + +//Function Number: 187 +tour_base_ambient_vehicle_01(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_walking_tour_vehicle1"); +} + +//Function Number: 188 +shooting_range_transition1(param_00) +{ + thread shooting_range_overdrive_watcher(); + soundscripts\_audio_mix_manager::mm_add_submix("rec_shooting_range"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_shooting_range_appear",0); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_shooting_range_panels_bell",3); +} + +//Function Number: 189 +shooting_range_panels_up(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_shooting_range_panels_up",0); +} + +//Function Number: 190 +shooting_range_enemy_spawn(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_shooting_range_red_appear",0); +} + +//Function Number: 191 +shooting_range_target_despawn() +{ + var_00 = self; + var_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_shooting_range_disappear",0); +} + +//Function Number: 192 +shooting_range_enemy_shot(param_00,param_01) +{ + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_shooting_range_red_hit",0); +} + +//Function Number: 193 +shooting_range_friendly_spawn(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_shooting_range_green_appear",0); +} + +//Function Number: 194 +shooting_range_friendly_shot(param_00,param_01) +{ + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_shooting_range_green_hit",0); +} + +//Function Number: 195 +shooting_range_transition2(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_shooting_range_appear",0); +} + +//Function Number: 196 +shooting_range_transition3(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_shooting_range_appear",0); +} + +//Function Number: 197 +shooting_range_panels_down(param_00) +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_shooting_range_panels_down",0); + level waittill("sounddone"); +} + +//Function Number: 198 +tour_base_ambient_vehicle_02(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_walking_tour_vehicle2"); + soundscripts\_audio_mix_manager::mm_clear_submix("rec_shooting_range"); + level notify("aud_shooting_range_complete"); +} + +//Function Number: 199 +smart_grenade_target_flip() +{ + soundscripts\_snd::snd_slate("smart_grenade_target_flip"); + soundscripts\_snd_playsound::snd_play_linked("rec_ar_target_up"); +} + +//Function Number: 200 +smart_grenade_target_move(param_00) +{ + var_01 = "stop_target_move" + soundscripts\_snd::snd_new_guid(); + var_02 = 0.31; + soundscripts\_snd::snd_slate("smart_grenade_target_move"); + soundscripts\_snd_playsound::snd_play_loop_linked("rec_ar_target_move_lp",var_01); + wait(param_00 - var_02); + level notify(var_01); + soundscripts\_snd_playsound::snd_play_linked("rec_ar_target_cod"); +} + +//Function Number: 201 +smart_grenade_target_move_back(param_00) +{ + var_01 = "stop_target_move" + soundscripts\_snd::snd_new_guid(); + var_02 = 0.31; + soundscripts\_snd::snd_slate("smart_grenade_target_move_back"); + soundscripts\_snd_playsound::snd_play_loop_linked("rec_ar_target_move_back_lp",var_01); + wait(param_00 - var_02); + level notify(var_01); + soundscripts\_snd_playsound::snd_play_linked("rec_ar_target_cod"); +} + +//Function Number: 202 +smart_grenade_target_hit() +{ + soundscripts\_snd::snd_slate("smart_grenade_target_hit"); +} + +//Function Number: 203 +smart_grenade_target_shot() +{ + soundscripts\_snd::snd_slate("smart_grenade_target_shot"); +} + +//Function Number: 204 +smart_grenade_target_flip_down() +{ + soundscripts\_snd::snd_slate("smart_grenade_target_flip_down"); + soundscripts\_snd_playsound::snd_play_linked("rec_ar_target_down"); +} + +//Function Number: 205 +smart_grenade_target_expire() +{ + if(self.hit_type == "none") + { + soundscripts\_snd::snd_slate("smart_grenade_target_expire"); + soundscripts\_snd_playsound::snd_play_linked("rec_ar_target_down"); + } +} + +//Function Number: 206 +rec_readyroom_gideon_pushes_button(param_00) +{ + soundscripts\_snd::snd_slate("rec_readyroom_gideon_pushes_button"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_rr_int_gideon_button",0.01); +} + +//Function Number: 207 +rec_readyroom_elevator_right_open(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("rec_readyroom_elevator"); + soundscripts\_snd::snd_slate("rec_readyroom_elevator_right_open"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_rr_int_gates_close",0.4); +} + +//Function Number: 208 +rec_readyroom_elevator_right_close(param_00) +{ + soundscripts\_snd::snd_slate("rec_readyroom_elevator_right_close"); +} + +//Function Number: 209 +rec_readyroom_elevator_right_up(param_00) +{ + soundscripts\_snd::snd_slate("rec_readyroom_elevator_right_up"); +} + +//Function Number: 210 +rec_readyroom_elevator_right_open2(param_00) +{ + soundscripts\_snd::snd_slate("rec_readyroom_elevator_right_open2"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_rr_ext_gates_open",0.15); +} + +//Function Number: 211 +rec_readyroom_elevator_left_open(param_00) +{ + soundscripts\_snd::snd_slate("rec_readyroom_elevator_left_open"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_rr_int_gates_open",0.4); +} + +//Function Number: 212 +rec_readyroom_elevator_left_close(param_00) +{ + soundscripts\_snd::snd_slate("rec_readyroom_elevator_left_close"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_rr_int_gates_close",0); +} + +//Function Number: 213 +rec_readyroom_elevator_left_up(param_00) +{ + soundscripts\_snd::snd_slate("rec_readyroom_elevator_left_up"); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_rr_int_elevator_start",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_rr_int_elevator_move",1.2); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_rr_ext_elevator_alarm",5.6); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_rr_int_elevator_stop",12.7); +} + +//Function Number: 214 +rec_readyroom_elevator_left_hatch_back(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_rr_int_elevator_hatch_open",0); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_rr_int_elevator_hatch_impact",2.88); +} + +//Function Number: 215 +rec_readyroom_elevator_left_hatch_front(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_rr_int_elevator_hatch_impact",2.88); +} + +//Function Number: 216 +rec_readyroom_elevator_left_open2(param_00) +{ + soundscripts\_snd::snd_slate("rec_readyroom_elevator_left_open2"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_rr_ext_gates_open",0); + wait(2); + soundscripts\_audio_mix_manager::mm_clear_submix("rec_readyroom_elevator"); +} + +//Function Number: 217 +rec_s2_door_guy_ambush() +{ + var_00 = self; + soundscripts\_audio_mix_manager::mm_add_submix("door_guy_ambush"); + var_00 soundscripts\_snd_playsound::snd_play_linked("rec_s2_door_guy_ambush"); + wait(3); + soundscripts\_audio_mix_manager::mm_clear_submix("door_guy_ambush"); +} + +//Function Number: 218 +rec_s2_breach_gun_holster() +{ + soundscripts\_snd_playsound::snd_play_2d("wpn_med_holster_plr"); +} + +//Function Number: 219 +rec_player_exo_breach_start(param_00) +{ + soundscripts\_snd::snd_printlnbold("SLATE: rec_player_exo_breach_start"); + soundscripts\_audio_mix_manager::mm_add_submix("training_2_breach"); + soundscripts\_snd_timescale::snd_set_timescale("slomo_timescale"); + soundscripts\_snd_playsound::snd_play_2d("rec_s2_breach_slomo_swing"); +} + +//Function Number: 220 +rec_slomo_audio_handler() +{ + soundscripts\_snd_playsound::snd_play_2d("rec_s2_breach"); +} + +//Function Number: 221 +rec_s2_breach_slo_mo(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("slomo"); + level.player enablecustomweaponcontext(); + soundscripts\_snd_common::snd_enable_soundcontextoverride("slomo"); + wait(0.05); + soundscripts\_snd_playsound::snd_play_loop_2d("overdrive_loop","kill_slo_mo2",0.25,0.5); + wait(param_00); + soundscripts\_snd_playsound::snd_play_2d("rec_exit_slo_mo"); + wait(0.5); + level notify("kill_slo_mo2"); + soundscripts\_snd_common::snd_disable_soundcontextoverride("slomo"); + level.player disablecustomweaponcontext(); + soundscripts\_snd_timescale::snd_set_timescale("all_on"); + soundscripts\_audio_mix_manager::mm_clear_submix("slomo"); + soundscripts\_audio_mix_manager::mm_clear_submix("training_2_breach"); +} + +//Function Number: 222 +rec_slomo_kill_bad_guy(param_00) +{ + soundscripts\_snd_playsound::snd_play_at("bullet_flesh_slo_mo",param_00); +} + +//Function Number: 223 +aud_training_s2_potus_ziptie_release() +{ + soundscripts\_snd::snd_slate("potus_ziptie_cut"); + level.gideon soundscripts\_snd_playsound::snd_play_delayed_linked("rec_s2_breach_ziptie_cut",5); +} + +//Function Number: 224 +rec_s2_drones_attack(param_00) +{ + soundscripts\_snd::snd_printlnbold("Drone Flyby 2 Turn"); + var_01 = param_00[0]; + if(!isalive(var_01)) + { + if(isalive(param_00[1])) + { + var_01 = param_00[1]; + } + else if(isalive(param_00[2])) + { + var_01 = param_00[2]; + } + else + { + return; + } + } + + var_01 soundscripts\_snd_playsound::snd_play_linked("rec_s1_drone_alert"); + level notify("s1_drones_attacking"); + var_01 soundscripts\_snd_playsound::snd_play_linked("rec_s1_drone_attack"); +} + +//Function Number: 225 +rec_player_drone_start(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("s2_playable_drone"); + level endon("pdrone_end"); + var_01 = param_00.origin; + var_02 = level.player playerads(); + var_03 = 0; + for(;;) + { + var_04 = param_00.origin; + var_05 = level.player playerads(); + var_06 = abs(length(var_04 - var_01)); + var_07 = var_05 - var_02; + if(var_07 > 0) + { + if(var_03 != -1) + { + soundscripts\_snd_playsound::snd_play_2d("wpn_wasp_scope_zoom_out"); + var_03 = -1; + } + } + else if(var_07 < 0) + { + if(var_03 != 1) + { + level.aud.zoominsound = soundscripts\_snd_playsound::snd_play_2d("wpn_wasp_scope_zoom_in","stop_zoominsound",0,0.25); + var_03 = 1; + } + } + else if(var_03 != 0) + { + level notify("stop_zoominsound"); + var_03 = 0; + } + + var_01 = var_04; + var_02 = var_05; + wait 0.05; + } +} + +//Function Number: 226 +rec_player_drone_end() +{ + level notify("pdrone_end"); + soundscripts\_audio_mix_manager::mm_clear_submix("s2_playable_drone"); + soundscripts\_audio_mix_manager::mm_clear_submix("drone_deploy"); +} + +//Function Number: 227 +snd_player_drone_deploy(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("drone_deploy"); + soundscripts\_snd_playsound::snd_play_delayed_2d("assault_drone_deploy",0.2); + soundscripts\_snd_playsound::snd_play_delayed_2d("assault_drone_wrist_panel",3.63); + wait(2.75); + soundscripts\_snd_playsound::snd_play_at("assault_drone_start",param_00.origin,"kill_player_op_drone_ext_loop",undefined,1.5); +} + +//Function Number: 228 +snd_player_drone_wrist_panel() +{ +} + +//Function Number: 229 +snd_player_drone_enter_drone_pov() +{ + soundscripts\_snd_playsound::snd_play_2d("assault_drone_start_pov"); +} + +//Function Number: 230 +rec_s2_exfil_car_plr_start(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("rec_s2_exfil_plr_start"); +} + +//Function Number: 231 +rec_s2_exfil_car_plr_help_potus(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("rec_s2_exfil_plr_help"); +} + +//Function Number: 232 +rec_s2_exfil_car_plr_hand(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("rec_s2_exfil_plr_hand"); +} + +//Function Number: 233 +rec_s2_exfil_potus_start(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_s2_exfil_potus_start"); +} + +//Function Number: 234 +rec_s2_exfil_potus_enter_car(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_s2_exfil_potus_car"); +} + +//Function Number: 235 +rec_train2_exfil_car_start(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_train_2_exfil_car_enter_engine",0); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_train_2_exfil_car_sfx_enter",0); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_train_2_exfil_car_puddle_enter",0); + param_00 soundscripts\_snd_playsound::snd_play_delayed_loop_linked("rec_train_2_exfil_car_idle_loop",5.205,0,"exfil_car_exit"); +} + +//Function Number: 236 +rec_train2_exfil_car_end(param_00) +{ + soundscripts\_snd::snd_printlnbold("rec_train2_exfil_car_end"); + soundscripts\_audio_mix_manager::mm_add_submix("s2_exfil_drones"); + level notify("exfil_car_exit"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_train_2_exfil_car_exit_engine",0); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_train_2_exfil_car_sfx_exit",8.182); +} + +//Function Number: 237 +rec_train2_ambush_car_2(param_00) +{ + wait 0.05; + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_train_2_ambush_1_eng"); + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_train_2_ambush_1_sfx"); +} + +//Function Number: 238 +rec_train2_ambush_car_1(param_00) +{ + wait(2.402); + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_train_2_ambush_2_eng"); + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_train_2_ambush_2_sfx"); +} + +//Function Number: 239 +rec_t2_warbird_start(param_00) +{ + level endon("aud_irons_warbird_shutdown"); + soundscripts\_snd::snd_printlnbold("SLATE: rec_t2_warbird_start"); + soundscripts\_audio_mix_manager::mm_add_submix("ending_warbird_pcap"); + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_ending_irons_warbird_flyover"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_ending_irons_warbird_landing",3.05); + wait(15); + param_00 soundscripts\_snd_playsound::snd_play_loop_linked("rec_ending_irons_warbird_idle_lp","aud_irons_warbird_shutdown",5,20); +} + +//Function Number: 240 +rec_t2_warbird_decloak(param_00) +{ + soundscripts\_snd::snd_printlnbold("SLATE: rec_t2_warbird_decloak"); +} + +//Function Number: 241 +rec_t2_warbird_land(param_00) +{ + soundscripts\_snd::snd_printlnbold("SLATE: rec_t2_warbird_land"); + soundscripts\_audio_mix_manager::mm_clear_submix("s2_exfil_drones"); +} + +//Function Number: 242 +rec_t2_warbird_door_open(param_00) +{ + level notify("aud_irons_warbird_shutdown"); + soundscripts\_snd::snd_printlnbold("SLATE: rec_t2_warbird_door_open"); + param_00 soundscripts\_snd_playsound::snd_play_linked("warbird_door_mech_a"); + param_00 soundscripts\_snd_playsound::snd_play_linked("warbird_door_mech_b"); + param_00 soundscripts\_snd_playsound::snd_play_linked("rec_ending_irons_warbird_shutdown"); +} + +//Function Number: 243 +training_2_irons_ending(param_00) +{ + soundscripts\_snd::snd_printlnbold("SLATE: training_2_irons_ending"); +} + +//Function Number: 244 +camp_david_thunder_transition() +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("arm_thunder_gun_turn_gear",0.75); +} + +//Function Number: 245 +camp_david_reload_malfunction(param_00,param_01) +{ + soundscripts\_snd::snd_printlnbold("SLATE: Malfunction: " + param_00 + " : " + param_01); + switch(param_00) + { + case 1: + soundscripts\_snd_playsound::snd_play_delayed_2d("arm_malfunction_type1",0.2); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_wpn_bal27_magout",3.2); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_wpn_bal27_maggrab",3.5); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_wpn_bal27_magin",4.26); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_wpn_bal27_magsmack",4.5); + break; + + case 2: + soundscripts\_snd_playsound::snd_play_delayed_2d("arm_malfunction_type2",0.267); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_wpn_bal27_magout",2.8); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_wpn_bal27_maggrab",2.7); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_wpn_bal27_magin",3.59); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_wpn_bal27_magsmack",3.9); + break; + + case 3: + soundscripts\_snd_playsound::snd_play_delayed_2d("arm_malfunction_type1",0.26); + break; + + case 4: + soundscripts\_snd_playsound::snd_play_delayed_2d("arm_malfunction_type2",0.202); + break; + + case 5: + soundscripts\_snd_playsound::snd_play_delayed_2d("arm_malfunction_type1",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_wpn_ak12_magout",3.6); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_wpn_ak12_magin",4.5); + break; + + case 6: + soundscripts\_snd_playsound::snd_play_delayed_2d("arm_malfunction_type2",0.198); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_wpn_ak12_magout",3.6); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_wpn_ak12_magin",4.3); + break; + + case 7: + soundscripts\_snd_playsound::snd_play_delayed_2d("arm_malfunction_type1",0.191); + break; + + case 8: + soundscripts\_snd_playsound::snd_play_delayed_2d("arm_malfunction_type2",0.02); + break; + + case 9: + soundscripts\_snd_playsound::snd_play_delayed_2d("arm_malfunction_type1",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_wpn_rhino_magout",3.2); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_wpn_rhino_magin",4.5); + break; + + case 10: + soundscripts\_snd_playsound::snd_play_delayed_2d("arm_malfunction_type2",0.2); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_wpn_rhino_magout",2.7); + soundscripts\_snd_playsound::snd_play_delayed_2d("rec_wpn_rhino_magin",4); + break; + + case 11: + soundscripts\_snd_playsound::snd_play_delayed_2d("arm_malfunction_type1",0); + break; + + case 12: + soundscripts\_snd_playsound::snd_play_delayed_2d("arm_malfunction_type2",0.081); + break; + + default: + break; + } +} + +//Function Number: 246 +rec_guy_doubledoor_breach_start(param_00) +{ + if(level.joker == param_00) + { + soundscripts\_snd::snd_printlnbold("SLATE: rec_guy_doubledoor_breach_start - Joker"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_assault_exit_joker_steps",2.45); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_assault_exit_joker_gear",2.45); + soundscripts\_audio_mix_manager::mm_add_submix("rec_assault_exit_joker"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_assault_exit_joker_texture",2.45); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_assault_exit_joker_door",2.45); + wait(10); + soundscripts\_audio_mix_manager::mm_clear_submix("rec_assault_exit_joker"); + return; + } + + if(level.gideon == param_00) + { + soundscripts\_snd::snd_printlnbold("SLATE: rec_guy_doubledoor_breach_start - Gideon"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_assault_exit_gideon_steps",2.45); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_assault_exit_gideon_gear",2.45); + soundscripts\_audio_mix_manager::mm_add_submix("rec_assault_exit_gideon"); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_assault_exit_gideon_texture",2.45); + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("rec_assault_exit_gideon_door",2.45); + wait(10); + soundscripts\_audio_mix_manager::mm_clear_submix("rec_assault_exit_gideon"); + } +} + +//Function Number: 247 +rec_star_trek_door_open(param_00,param_01) +{ + level endon("aud_door_closing_" + param_00.targetname); + level notify("aud_door_opening_" + param_00.targetname); + soundscripts\_snd_playsound::snd_play_at("rec_star_trek_door_open_movement",param_00.origin + param_01.origin / 2,"aud_door_closing_" + param_00.targetname); + wait(0.45); + soundscripts\_snd_playsound::snd_play_at("rec_star_trek_door_open_impact",param_00.origin + param_01.origin / 2); +} + +//Function Number: 248 +rec_star_trek_door_close(param_00,param_01) +{ + level endon("aud_door_opening_" + param_00.targetname); + level notify("aud_door_closing_" + param_00.targetname); + soundscripts\_snd_playsound::snd_play_at("rec_star_trek_door_close_movement",param_00.origin + param_01.origin / 2,"aud_door_opening_" + param_00.targetname); + wait(0.45); + soundscripts\_snd_playsound::snd_play_at("rec_star_trek_door_close_impact",param_00.origin + param_01.origin / 2); +} + +//Function Number: 249 +setup_funeral_ambi_fade() +{ + common_scripts\utility::flag_wait("eulogy_complete"); + soundscripts\_audio_mix_manager::mm_add_submix("rec_funeral_ambi_fade",10); +} + +//Function Number: 250 +setup_lightning_transition() +{ + common_scripts\utility::flag_wait("player_proximity_irons"); + var_00 = soundscripts\_audio_zone_manager::azm_get_current_zone(); + if(var_00 == "ext_funeral") + { + common_scripts\utility::flag_wait("training_start_area_lighting"); + soundscripts\_audio_zone_manager::azm_stop_zone(var_00,0.5); + soundscripts\_audio_zone_manager::azm_start_zone("ext_lodge",0.5); + } +} + +//Function Number: 251 +setup_training_01_end_ambi_swap() +{ + level waittill("stop_rain_quads"); + soundscripts\_snd_playsound::snd_play_loop_at("rec_training_rain_ending",(1182,-2019,63),"stop_rain_emitters",2,5); + soundscripts\_audio_mix_manager::mm_add_submix("rec_training_01_ambis",8); + wait(7); + var_00 = soundscripts\_audio_zone_manager::azm_get_current_zone(); + if(var_00 == "ext_exfil") + { + wait(10); + soundscripts\_audio_zone_manager::azm_set_zone_streamed_ambience("ext_exfil","amb_ext_compound",10); + } + + common_scripts\utility::flag_wait("flag_obj_base_start"); + soundscripts\_audio_zone_manager::azm_set_zone_streamed_ambience("ext_exfil","amb_ext_forest_rain"); + level notify("stop_rain_emitters"); +} + +//Function Number: 252 +setup_training_01_end_compound_ambi_emitter() +{ + level waittill("start_compound_ambi_emitter"); + soundscripts\_snd_playsound::snd_play_loop_at("rec_training_ext_compound",(537,9,224),"stop_rain_emitters",9,5); +} + +//Function Number: 253 +play_vrap_sounds() +{ + if(!isdefined(level.aud.vrapcount)) + { + level.aud.vrapcount = 0; + } + + for(;;) + { + level waittill("aud_new_vrap",var_00); + level.aud.vrapcount = level.aud.vrapcount + 1; + switch(level.aud.vrapcount) + { + case 1: + soundscripts\_snd::snd_printlnbold("vrap_1_spawn"); + break; + + case 2: + soundscripts\_snd::snd_printlnbold("vrap_2_spawn"); + break; + + default: + soundscripts\_snd::snd_printlnbold("Move vraps than we know what to do with"); + break; + } + + wait 0.05; + } +} + +//Function Number: 254 +shooting_range_overdrive_watcher() +{ + level endon("aud_shooting_range_complete"); + for(;;) + { + level.player maps\_utility::ent_flag_wait("overdrive_on"); + wait(0.25); + soundscripts\_audio_mix_manager::mm_add_submix("rec_shooting_range_overdrive"); + level.player maps\_utility::ent_flag_waitopen("overdrive_on"); + soundscripts\_audio_mix_manager::mm_clear_submix("rec_shooting_range_overdrive"); + wait 0.05; + } +} + +//Function Number: 255 +setup_training_02_breach_smartglass() +{ + common_scripts\utility::flag_wait("training_s2_start_charge"); + soundscripts\_snd_playsound::snd_play_loop_at("emt_rec_cabin_sglass_brkn_lp",(-2908,-5304,376),"stop_electronic_emitters_sim_02",1,1); +} + +//Function Number: 256 +temp_dog_bark(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("lag_dog_bark"); +} \ No newline at end of file diff --git a/AW/PC/maps/recovery_code.gsc b/AW/PC/maps/recovery_code.gsc new file mode 100644 index 0000000..c0c0eef --- /dev/null +++ b/AW/PC/maps/recovery_code.gsc @@ -0,0 +1,7126 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: recovery_code.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 248 + * Decompile Time: 3663 ms + * Timestamp: 4/22/2024 2:34:37 AM +*******************************************************************/ + +//Function Number: 1 +setup_gameplay() +{ + maps\_variable_grenade::init_variable_grenade(); + maps\_drone_civilian::init(); + maps\_drone_ai::init(); + precachemodel("machinery_welder_handle"); + level._effect["holo_target_green_spawn_in"] = loadfx("vfx/props/holo_target_green_spawn_in"); + level._effect["holo_target_red_spawn_in"] = loadfx("vfx/props/holo_target_red_spawn_in"); + level._effect["holo_target_green_spawn_out"] = loadfx("vfx/props/holo_target_green_spawn_out"); + level._effect["holo_target_red_spawn_out"] = loadfx("vfx/props/holo_target_red_spawn_out"); + setup_spawn_functions(); + thread skybox_manager(); + thread mountains_manager(); + thread setup_funeral(); + thread setup_training_sequence_1(); + thread setup_tour(); + thread setup_training_sequence_2(); + thread setup_outro(); + thread maps\recovery_utility::mission_warn_out_of_bounds_fail(); + thread maps\recovery_utility::mission_out_of_bounds_fail(); +} + +//Function Number: 2 +setup_spawn_functions() +{ + maps\_utility::add_global_spawn_function("axis",::maps\recovery_utility::recovery_thermal_manager); + maps\_utility::array_spawn_function_noteworthy("training_s1_enemies_start",::maps\recovery_utility::training_s1_starting_enemies_think,"training_s1_start_alerted","training_s1_clear_initial_spawn","training_s1_enemies_start_charge"); + maps\_utility::array_spawn_function_noteworthy("training_s1_enemies_patrol",::maps\recovery_utility::training_s1_sniper_enemies_think,"training_s1_start_alerted","training_s1_clear_initial_spawn","training_s1_enemies_start_charge"); + maps\_utility::array_spawn_function_noteworthy("training_s1_enemies_flash",::maps\recovery_utility::training_s1_enemies_living_room_think); + maps\_utility::array_spawn_function_noteworthy("training_s1_enemies_breach",::maps\recovery_utility::training_s1_breach_enemy_think); + maps\_utility::array_spawn_function_noteworthy("training_s1_bedroom_spawners",::maps\recovery_utility::training_s1_bedroom_spawners_think); + maps\_utility::array_spawn_function_noteworthy("training_s1_patio_enemies",::maps\recovery_utility::training_s1_patio_enemies_think,"training_s1_patio_alerted","training_s1_clear_patio1"); + maps\_utility::array_spawn_function_noteworthy("training_s1_patio_enemies2",::maps\recovery_utility::training_s1_patio_enemies_think,"training_s1_patio_alerted","training_s1_clear_patio2"); + maps\_utility::array_spawn_function_noteworthy("training_s1_patio_enemies3",::maps\recovery_utility::training_s1_patio_enemies_think,"training_s1_patio_alerted","training_s1_clear_patio3"); + maps\_utility::array_spawn_function_noteworthy("training_s1_terrace_vehicles",::maps\recovery_utility::training_s1_terrace_vehicles_think,"training_s1_end","training_s1_spotted","training_s1_vehicle_in_attack_position"); + maps\_utility::array_spawn_function_noteworthy("training_s1_golf_course_patrollers",::maps\recovery_utility::training_s1_runner_enemy_think,"training_s1_end","training_s1_spotted"); + maps\_utility::array_spawn_function_noteworthy("training_s1_ambush_vehicles",::maps\recovery_utility::training_s1_ambush_vehicles_think,"training_s1_end_cease_fire","flag_cleanup_jeep_ride_first_half"); + maps\_utility::array_spawn_function_noteworthy("training_s1_end_enemies",::maps\recovery_utility::training_s1_kva_ambush1_think,"training_s1_end_cease_fire","training_s1_end"); + maps\_utility::array_spawn_function_noteworthy("training_s1_kva_ambush1",::maps\recovery_utility::training_s1_kva_ambush1_think,"training_s1_end_cease_fire","training_s1_end"); + maps\_utility::array_spawn_function_noteworthy("training_s1_kva_ambush2",::maps\recovery_utility::training_s1_kva_ambush1_think,"training_s1_end_cease_fire","training_s1_end"); + maps\_utility::array_spawn_function_noteworthy("training_s2_enemies_start",::maps\recovery_utility::training_s2_enemies_start_think,"training_s2_start_alerted","training_s2_start_charge","training_s2_clear_start_spawn"); + maps\_utility::array_spawn_function_noteworthy("training_s2_enemies_start2",::maps\recovery_utility::training_s2_enemies_start2_think,"training_s2_start_alerted","training_s2_start_charge","training_s2_clear_start_spawn"); + maps\_utility::array_spawn_function_noteworthy("training_s2_enemies_patrol",::maps\recovery_utility::training_s2_enemies_patrol_think,"training_s2_start_alerted","training_s2_start_charge","training_s2_clear_start_spawn"); + maps\_utility::array_spawn_function_noteworthy("training_s2_enemies_living_room",::maps\recovery_utility::training_s2_enemies_living_room_think,"training_s2_living_room_alert"); + maps\_utility::array_spawn_function_noteworthy("training_s2_enemies_hall",::maps\recovery_utility::training_s2_enemies_hall_think); + maps\_utility::array_spawn_function_noteworthy("training_s2_enemies_breach",::maps\recovery_utility::training_s2_breach_enemy_think); + maps\_utility::array_spawn_function_noteworthy("training_s2_enemies_ambush",::maps\recovery_utility::training_s2_enemies_ambush_think,"training_s2_ambush_cleanup"); + maps\_utility::array_spawn_function_noteworthy("training_s2_enemies_patio",::maps\recovery_utility::training_s2_enemies_patio_think,"training_s2_clear_patio_spawn","training_s2_patio_alert","flag_training_s2_patio_enemies_charge"); + maps\_utility::array_spawn_function_noteworthy("training_s2_enemies2_patio",::maps\recovery_utility::training_s2_enemies_patio_think,"training_s2_clear_patio_spawn","training_s2_patio_alert","flag_training_s2_patio_enemies_charge"); + maps\_utility::array_spawn_function_noteworthy("training_s2_ambush_vehicles",::maps\recovery_utility::training_s2_ambush_vehicles_think,"training_s2_warbird_kill_enemies"); + maps\_utility::array_spawn_function_noteworthy("training_s2_kva_ambush1",::maps\recovery_utility::training_s2_kva_ambush1_think,"training_s2_warbird_kill_enemies"); + maps\_utility::array_spawn_function_noteworthy("training_s2_kva_ambush2",::maps\recovery_utility::training_s2_kva_ambush1_think,"training_s2_warbird_kill_enemies"); + maps\_utility::array_spawn_function_noteworthy("civilians_stationary",::maps\recovery_utility::civilian_drone_stationary_think,"flag_cleanup_jeep_ride_first_half"); + maps\_utility::array_spawn_function_noteworthy("civilians_walking",::maps\recovery_utility::civilian_drone_runners_think,"flag_cleanup_jeep_ride_first_half"); + maps\_utility::array_spawn_function_noteworthy("civilians_repair",::maps\recovery_utility::civilian_drone_repair_think,"tour_end"); + maps\_utility::array_spawn_function_noteworthy("military_stationary",::maps\recovery_utility::military_drone_stationary_think,"flag_cleanup_jeep_ride_first_half"); + maps\_utility::array_spawn_function_noteworthy("military_walking",::maps\recovery_utility::military_drone_runners_think,"tour_end"); + maps\_utility::array_spawn_function_noteworthy("military_guards",::maps\recovery_utility::military_drone_guards_stationary_think,"tour_ambient_00"); + maps\_utility::array_spawn_function_noteworthy("military_guards_patrol",::maps\recovery_utility::military_drone_guards_patrol_think,"tour_ambient_00"); + maps\_utility::add_global_spawn_function("allies",::maps\recovery_utility::enable_jump_jet_pathing); + maps\_utility::array_spawn_function_noteworthy("grenade_range_enemy",::maps\recovery_utility::grenade_range_enemy_think); + maps\_utility::array_spawn_function_noteworthy("grenade_range_drone",::maps\recovery_utility::grenade_range_drone_think); +} + +//Function Number: 3 +skybox_manager() +{ + var_00 = getentarray("walls_interior","targetname"); + var_01 = getentarray("hangar_reveal","targetname"); + foreach(var_03 in var_01) + { + var_03 hide(); + } + + foreach(var_06 in var_00) + { + var_06 hide(); + } + + common_scripts\utility::flag_wait("training_s1_flag_wall_interior_decloak"); + common_scripts\utility::flag_set("flag_mountains_visible"); + setsaveddvar("cg_cinematicFullScreen","0"); + cinematicingameloop("recovery_training_transition"); + foreach(var_03 in var_01) + { + var_03 show(); + } + + wait(3); + foreach(var_03 in var_01) + { + var_03 hide(); + } + + stopcinematicingame(); + foreach(var_06 in var_00) + { + var_06 show(); + } + + common_scripts\utility::flag_wait("tour_hangar_door_01"); + foreach(var_06 in var_00) + { + var_06 hide(); + } +} + +//Function Number: 4 +mountains_manager() +{ + var_00 = getentarray("mountain_hide","targetname"); + foreach(var_02 in var_00) + { + var_02 hide(); + } + + common_scripts\utility::flag_wait("flag_mountains_visible"); + foreach(var_02 in var_00) + { + var_02 show(); + } + + common_scripts\utility::flag_wait("training_room_elevator_activated"); + foreach(var_02 in var_00) + { + var_02 hide(); + } +} + +//Function Number: 5 +setup_funeral() +{ + thread funeral(); + thread funeral_cleanup(); +} + +//Function Number: 6 +funeral() +{ + common_scripts\utility::flag_wait("funeral_start"); + thread funeral_ambient_ai_soldiers(); + var_00 = getent("org_anim_funeral","targetname"); + thread funeral_anim_player(var_00); + thread funeral_anim_cormack(var_00); + thread funeral_anim_irons(var_00); + thread funeral_anim_irons_wife(var_00); + thread funeral_anim_driver(var_00); + thread funeral_anim_ambient(var_00); + thread funeral_anim_card(var_00); + thread funeral_anim_flag(var_00); + thread funeral_play_animated_card(); + wait(1); + common_scripts\utility::flag_set("eulogy_complete"); + common_scripts\utility::flag_wait("card_obtained"); + common_scripts\utility::flag_set("funeral_complete"); + level notify("funeral_done"); + if(level.nextgen) + { + thread maps\_introscreen::introscreen_generic_fade_in("white",0.05,0.05); + } + + thread training_s1_opening(); +} + +//Function Number: 7 +funeral_anim_player(param_00) +{ + level.player lerpfov(57.5,0.05); + common_scripts\utility::flag_set("flag_disable_exo"); + level.player disableweapons(); + level.player allowcrouch(0); + level.player allowprone(0); + level.player allowjump(0); + level.player allowsprint(0); + level.player setmovespeedscale(0.5); + param_00 = param_00 common_scripts\utility::spawn_tag_origin(); + param_00 thread maps\recovery_utility::delete_on_notify("funeral_done"); + var_01 = getent("funeral_blocker","targetname"); + var_02 = common_scripts\utility::getstruct("funeral","targetname"); + var_03 = spawn("script_origin",var_02.origin); + var_03.angles = var_02.angles; + level.player maps\_shg_utility::setup_player_for_scene(1); + var_04 = 0.5; + var_05 = maps\_utility::spawn_anim_model("player_rig_funeral"); + level.player_rig = var_05; + level.player playerlinktoblend(var_05,"tag_player",var_04); + level.player common_scripts\utility::delaycall(var_04,::playerlinktodelta,var_05,"tag_player",1,20,70,25,25); + var_05 common_scripts\utility::delaycall(var_04,::show); + param_00 thread maps\_anim::anim_loop_solo(var_05,"rec_funeral_eulogy_idle_vm"); + level.player enableslowaim(0.45,0.25); + common_scripts\utility::flag_wait("eulogy_complete"); + param_00 notify("stop_loop"); + param_00 maps\_anim::anim_single_solo(var_05,"rec_funeral_eulogy_ends_vm"); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.player disableweapons(); + level.player allowcrouch(0); + level.player allowprone(0); + level.player allowjump(0); + level.player allowsprint(0); + level.player freezecontrols(0); + level.player unlink(); + level.player disableslowaim(); + var_05 hide(); + common_scripts\utility::flag_set("flag_obj_funeral_casket_start"); + param_00 maps\_anim::anim_first_frame_solo(var_05,"rec_funeral_walktocar_vm"); + common_scripts\utility::flag_wait("flag_obj_funeral_casket_complete"); + common_scripts\utility::flag_set("interact_casket"); + level.player common_scripts\utility::delaycall(8,::lerpfov,50,2); + level.player maps\_shg_utility::setup_player_for_scene(1); + var_04 = 1; + level.player playerlinktoblend(var_05,"tag_player",var_04); + var_05 common_scripts\utility::delaycall(var_04,::show); + param_00 maps\_anim::anim_single_solo(var_05,"rec_funeral_walktocar_vm"); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.player disableweapons(); + level.player allowcrouch(0); + level.player allowprone(0); + level.player allowjump(0); + level.player allowsprint(0); + level.player unlink(); + var_05 hide(); + common_scripts\utility::flag_set("flag_obj_funeral_irons_start"); + var_01 delete(); + common_scripts\utility::flag_wait("player_proximity_irons"); + level.player setmovespeedscale(1); + common_scripts\utility::flag_set("flag_obj_funeral_irons_complete"); + common_scripts\utility::flag_set("flag_vo_funeral_irons"); + level.player freezecontrols(1); + level.player maps\_shg_utility::setup_player_for_scene(); + var_04 = 0.5; + param_00 maps\_anim::anim_first_frame_solo(var_05,"rec_funeral_altascard_vm"); + var_05 hide(); + level.player playerlinktoblend(var_05,"tag_player",var_04); + var_05 common_scripts\utility::delaycall(var_04 + 1,::show); + level.player common_scripts\utility::delaycall(var_04,::playerlinktodelta,var_05,"tag_player",1,5,5,5,5,1); + level.player common_scripts\utility::delaycall(var_04 + 0.05,::springcamenabled,0.5,1.5,1); + level.player thread lerp_linktoblend(); + level notify("rec_funeral_altascard_vm"); + param_00 maps\_anim::anim_single_solo(var_05,"rec_funeral_altascard_vm"); + common_scripts\utility::flag_set("card_obtained"); + var_05 delete(); + level.player lerpfov(65,0.05); +} + +//Function Number: 8 +lerp_linktoblend() +{ + wait(58); + var_00 = 3; + var_01 = var_00 / 0.05; + for(var_02 = 0;var_02 < var_01;var_02++) + { + var_03 = 1 - var_02 / var_01; + level.player playerlinktodelta(level.player_rig,"tag_player",1,12 * var_03,12 * var_03,12 * var_03,12 * var_03,1); + level.player springcamenabled(0.5,1.5,1); + wait 0.05; + } +} + +//Function Number: 9 +funeral_anim_cormack(param_00) +{ + level.funeral_cormack = getent("funeral_cormack","targetname") maps\_utility::spawn_ai(1); + level.funeral_cormack.name = " "; + level.funeral_cormack.animname = "cormack"; + level.funeral_cormack thread maps\recovery_utility::delete_on_notify("funeral_done"); + level.funeral_cormack endon("death"); + common_scripts\utility::flag_set("flag_vo_funeral_cormack"); + param_00 thread maps\_anim::anim_loop_solo(level.funeral_cormack,"rec_funeral_eulogy_idle_cormack"); + common_scripts\utility::flag_wait("eulogy_complete"); + param_00 notify("stop_loop"); + thread funeral_anim_cormack_branch(param_00); + var_01 = level common_scripts\utility::waittill_any_return("interact_casket","cormack_finishes_walk"); + if(var_01 == "cormack_finishes_walk") + { + param_00 thread maps\_anim::anim_loop_solo(level.funeral_cormack,"rec_funeral_casket_idle_cormack"); + common_scripts\utility::flag_wait("interact_casket"); + wait(1); + param_00 notify("stop_loop"); + } + + if(var_01 == "interact_casket") + { + wait(1); + level.funeral_cormack stopanimscripted(); + } + + param_00 maps\_anim::anim_single_solo(level.funeral_cormack,"rec_funeral_walktocar_cormack"); + param_00 thread maps\_anim::anim_loop_solo(level.funeral_cormack,"rec_funeral_car_idle_cormack"); + common_scripts\utility::flag_wait("player_proximity_irons"); + param_00 notify("stop_loop"); + param_00 maps\_anim::anim_single_solo(level.funeral_cormack,"rec_funeral_altascard_cormack"); +} + +//Function Number: 10 +funeral_anim_cormack_branch(param_00) +{ + param_00 maps\_anim::anim_single_solo(level.funeral_cormack,"rec_funeral_eulogy_ends_cormack"); + level notify("cormack_finishes_walk"); +} + +//Function Number: 11 +funeral_anim_irons(param_00) +{ + level.funeral_irons = getent("funeral_irons","targetname") maps\_utility::spawn_ai(1); + level.funeral_irons.name = " "; + level.funeral_irons.animname = "irons"; + level.funeral_irons.no_ai = 1; + level.funeral_irons thread maps\recovery_utility::delete_on_notify("funeral_done"); + param_00 = param_00 common_scripts\utility::spawn_tag_origin(); + param_00 thread maps\recovery_utility::delete_on_notify("funeral_done"); + level.funeral_irons endon("death"); + param_00 thread maps\_anim::anim_loop_solo(level.funeral_irons,"rec_funeral_eulogy_idle_irons"); + common_scripts\utility::flag_wait("eulogy_complete"); + param_00 notify("stop_loop"); + soundscripts\_snd::snd_music_message("rec_funeral_eulogy_ends_irons"); + param_00 maps\_anim::anim_single_solo(level.funeral_irons,"rec_funeral_eulogy_ends_irons"); + param_00 thread maps\_anim::anim_loop_solo(level.funeral_irons,"rec_funeral_casket_idle_irons"); + common_scripts\utility::flag_wait("interact_casket"); + param_00 notify("stop_loop"); + param_00 maps\_anim::anim_single_solo(level.funeral_irons,"rec_funeral_walktocar_irons"); + param_00 thread maps\_anim::anim_loop_solo(level.funeral_irons,"rec_funeral_car_idle_irons"); + common_scripts\utility::flag_wait("player_proximity_irons"); + param_00 notify("stop_loop"); + param_00 maps\_anim::anim_single_solo(level.funeral_irons,"rec_funeral_altascard_irons"); +} + +//Function Number: 12 +funeral_anim_irons_wife(param_00) +{ + level.funeral_irons_wife = getent("funeral_irons_wife","targetname") maps\_utility::spawn_ai(1); + level.funeral_irons_wife.name = " "; + level.funeral_irons_wife.animname = "irons_wife"; + level.funeral_irons_wife thread maps\recovery_utility::delete_on_notify("funeral_done"); + param_00 = param_00 common_scripts\utility::spawn_tag_origin(); + param_00 thread maps\recovery_utility::delete_on_notify("funeral_done"); + level.funeral_irons_wife endon("death"); + param_00 thread maps\_anim::anim_loop_solo(level.funeral_irons_wife,"rec_funeral_eulogy_idle_wife","custom_wife_ender"); + common_scripts\utility::flag_wait("eulogy_complete"); + param_00 notify("custom_wife_ender"); + param_00 maps\_anim::anim_single_solo(level.funeral_irons_wife,"rec_funeral_eulogy_ends_wife"); + param_00 thread maps\_anim::anim_loop_solo(level.funeral_irons_wife,"rec_funeral_eulogy_idle_wife"); +} + +//Function Number: 13 +funeral_anim_driver(param_00) +{ + var_01 = getent("funeral_driver","targetname") maps\_utility::spawn_ai(1); + var_01.name = " "; + var_01.no_ai = 1; + var_01.animname = "funeral_driver"; + var_01 thread maps\recovery_utility::delete_on_notify("funeral_done"); + param_00 = param_00 common_scripts\utility::spawn_tag_origin(); + param_00 thread maps\recovery_utility::delete_on_notify("funeral_done"); + var_01 endon("death"); + param_00 thread maps\_anim::anim_loop_solo(var_01,"rec_funeral_eulogy_idle_driver"); + common_scripts\utility::flag_wait("eulogy_complete"); + param_00 notify("stop_loop"); + param_00 maps\_anim::anim_single_solo(var_01,"rec_funeral_eulogy_ends_driver"); + param_00 thread maps\_anim::anim_loop_solo(var_01,"rec_funeral_casket_idle_driver"); + common_scripts\utility::flag_wait("interact_casket"); + param_00 notify("stop_loop"); + param_00 maps\_anim::anim_single_solo(var_01,"rec_funeral_walktocar_driver"); + param_00 thread maps\_anim::anim_loop_solo(var_01,"rec_funeral_car_idle_driver"); + common_scripts\utility::flag_wait("player_proximity_irons"); + param_00 notify("stop_loop"); + param_00 maps\_anim::anim_single_solo(var_01,"rec_funeral_altascard_driver"); +} + +//Function Number: 14 +funeral_anim_ambient(param_00) +{ + var_01 = getent("chair_actor_01","targetname") spawndrone(); + var_02 = getent("chair_actor_02","targetname") spawndrone(); + var_03 = getent("chair_actor_04","targetname") spawndrone(); + var_04 = getent("chair_actor_05","targetname") spawndrone(); + var_05 = getent("chair_actor_06","targetname") spawndrone(); + if(level.nextgen) + { + level.chair_actor_07 = getent("chair_actor_07","targetname") spawndrone(); + level.chair_actor_08 = getent("chair_actor_08","targetname") spawndrone(); + level.standing_actor_01 = getent("standing_actor_01","targetname") spawndrone(); + } + + var_06 = getent("standing_actor_02","targetname") spawndrone(); + var_07 = getent("standing_actor_03","targetname") spawndrone(); + var_08 = getent("standing_actor_04","targetname") spawndrone(); + var_09 = getent("standing_actor_05","targetname") spawndrone(); + var_0A = getent("standing_actor_06","targetname") spawndrone(); + var_0B = getent("standing_actor_08","targetname") spawndrone(); + var_0C = getent("standing_actor_09","targetname") spawndrone(); + var_01.animname = "chair_actor_01"; + var_02.animname = "chair_actor_02"; + var_03.animname = "chair_actor_04"; + var_04.animname = "chair_actor_05"; + var_05.animname = "chair_actor_06"; + if(level.nextgen) + { + level.chair_actor_07.animname = "chair_actor_07"; + level.chair_actor_08.animname = "chair_actor_08"; + level.standing_actor_01.animname = "standing_actor_01"; + } + + var_06.animname = "standing_actor_02"; + var_07.animname = "standing_actor_03"; + var_08.animname = "standing_actor_04"; + var_09.animname = "standing_actor_05"; + var_0A.animname = "standing_actor_06"; + var_0B.animname = "standing_actor_08"; + var_0C.animname = "standing_actor_09"; + if(level.nextgen) + { + var_0D = [var_01,var_02,var_03,var_04,var_05,level.chair_actor_07,level.chair_actor_08]; + var_0E = [level.standing_actor_01,var_06,var_07,var_08,var_09,var_0A,var_0B,var_0C]; + } + else + { + var_0D = [var_03,var_04,var_05,var_06,var_07]; + var_0E = [var_07,var_08,var_09,var_0A,var_0B,var_0C,var_0D]; + } + + var_0F = common_scripts\utility::array_combine(var_0D,var_0E); + foreach(var_11 in var_0F) + { + var_11 endon("death"); + var_11 thread maps\recovery_utility::delete_on_notify("funeral_done"); + var_11 maps\_anim::setanimtree(); + } + + param_00 thread maps\_anim::anim_loop(var_0F,"rec_funeral_eulogy_idle","stop_loop_custom"); +} + +//Function Number: 15 +funeral_anim_card(param_00) +{ + common_scripts\utility::flag_wait("player_proximity_irons"); + var_01 = spawn("script_model",param_00.origin); + var_01 setmodel("rec_irons_card"); + var_02 = maps\_utility::spawn_anim_model("atlas_card",param_00.origin,param_00.angles); + param_00 maps\_anim::anim_first_frame_solo(var_02,"rec_funeral_altascard_card"); + var_01.origin = var_02 gettagorigin("tag_origin_animated"); + var_01.angles = var_02 gettagangles("tag_origin_animated"); + var_01 linkto(var_02,"tag_origin_animated"); + param_00 maps\_anim::anim_single_solo(var_02,"rec_funeral_altascard_card"); + var_02 delete(); + var_01 delete(); +} + +//Function Number: 16 +funeral_play_animated_card() +{ + level waittill("play_atlas_card"); + setsaveddvar("cg_cinematicFullScreen","0"); + cinematicingameloop("business_card_master"); +} + +//Function Number: 17 +funeral_anim_flag(param_00) +{ + param_00 = param_00 common_scripts\utility::spawn_tag_origin(); + param_00 thread maps\recovery_utility::delete_on_notify("funeral_done"); + var_01 = spawn("script_model",param_00.origin); + var_01 setmodel("rec_flag_folded_01"); + var_02 = maps\_utility::spawn_anim_model("funeral_flag",param_00.origin,param_00.angles); + param_00 maps\_anim::anim_first_frame_solo(var_02,"rec_funeral_eulogy_idle_flag_non_loop"); + var_01.origin = var_02 gettagorigin("tag_origin_animated"); + var_01.angles = var_02 gettagangles("tag_origin_animated"); + var_01 linkto(var_02,"tag_origin_animated"); + param_00 thread maps\_anim::anim_loop_solo(var_02,"rec_funeral_eulogy_idle_flag"); + common_scripts\utility::flag_wait("eulogy_complete"); + param_00 notify("stop_loop"); + param_00 maps\_anim::anim_single_solo(var_02,"rec_funeral_eulogy_ends_flag"); + param_00 thread maps\_anim::anim_loop_solo(var_02,"rec_funeral_eulogy_idle_flag"); + common_scripts\utility::flag_wait("funeral_complete"); + param_00 notify("stop_loop"); + var_02 delete(); + var_01 delete(); +} + +//Function Number: 18 +funeral_intro_black_screen(param_00) +{ + var_01 = 1.5; + if(!isdefined(level.black_overlay)) + { + level.black_overlay = maps\_hud_util::create_client_overlay("black",0,level.player); + } + + level.black_overlay.sort = -1; + level.black_overlay.foreground = 1; + var_02 = level.black_overlay; + var_02.alpha = 1; + wait(param_00); + var_02 fadeovertime(var_01); + var_02.alpha = 0; +} + +//Function Number: 19 +funeral_ambient_ai_soldiers() +{ + var_00 = getent("funeral_ambient_spawner_soldier_dress_ar","targetname"); + var_01 = getent("funeral_ambient_spawner_soldier_dress","targetname"); + var_02 = getentarray("funeral_ambient_spawner","targetname"); + var_03 = []; + foreach(var_05 in var_02) + { + var_06 = maps\_utility::getstructarray_delete(var_05.script_noteworthy,"targetname"); + foreach(var_08 in var_06) + { + var_05.origin = var_08.origin; + if(isdefined(var_08.angles)) + { + var_05.angles = var_08.angles; + } + + if(isdefined(var_08.target)) + { + var_05.target = var_08.target; + } + + var_09 = var_05 maps\_utility::spawn_ai(1); + if(isdefined(var_08.script_modelname)) + { + var_09 setmodel(var_08.script_modelname); + var_09 detach(var_09.headmodel,""); + if(issubstr(var_08.script_modelname,"female")) + { + var_09 attach("head_urban_civ_female_a","",1); + var_09.headmodel = "head_urban_civ_female_a"; + } + } + + var_09 thread maps\recovery_utility::delete_on_notify("funeral_done"); + var_09.script = "drone"; + var_03 = common_scripts\utility::array_add(var_03,var_09); + if(isdefined(var_08.animation)) + { + if(isdefined(var_08.script_delay) && var_08.script_delay == 0) + { + var_08 thread maps\_anim::anim_generic_loop(var_09,var_08.animation); + } + else + { + var_08 maps\_utility::delaythread(randomfloatrange(0,1),::maps\_anim::anim_generic_loop,var_09,var_08.animation); + } + } + + var_05.target = undefined; + } + } + + var_0C = getentarray("dress_marine_casket_spawner","targetname"); + foreach(var_05 in var_0C) + { + var_0E = var_05 maps\_utility::spawn_ai(1); + var_0E.name = " "; + var_0E maps\_utility::gun_remove(); + var_0E thread maps\_shg_design_tools::anim_simple(var_0E,var_05.animation); + wait 0.05; + var_0E thread maps\recovery_utility::delete_on_notify("funeral_done"); + } + + var_10 = common_scripts\utility::getstructarray("funeral_soldier_idle_casket","targetname"); + foreach(var_12 in var_10) + { + var_01.count = 1; + var_0E = var_01 maps\_utility::spawn_ai(1); + if(isdefined(var_12.model)) + { + var_0E setmodel(var_12.model); + } + + var_0E.name = " "; + var_0E maps\_utility::gun_remove(); + var_12 thread maps\_shg_design_tools::anim_simple(var_0E,var_12.animation); + wait 0.05; + var_0E thread maps\recovery_utility::delete_on_notify("funeral_done"); + } + + var_14 = common_scripts\utility::getstruct("funeral_soldier_blocker_left","targetname"); + var_15 = common_scripts\utility::getstruct("funeral_soldier_blocker_right","targetname"); + var_01.count = 1; + var_16 = var_01 maps\_utility::spawn_ai(1); + var_16.name = " "; + var_16 maps\_utility::gun_remove(); + var_14 thread maps\_shg_design_tools::anim_simple(var_16,var_14.animation); + wait 0.05; + var_16 thread maps\recovery_utility::delete_on_notify("funeral_done"); + var_01.count = 1; + var_17 = var_01 maps\_utility::spawn_ai(1); + var_17.name = " "; + var_17 maps\_utility::gun_remove(); + var_15 thread maps\_shg_design_tools::anim_simple(var_17,var_15.animation); + wait 0.05; + var_17 thread maps\recovery_utility::delete_on_notify("funeral_done"); + common_scripts\utility::flag_wait("flag_obj_funeral_casket_complete"); + wait(1); + var_16 delete(); + var_17 delete(); + var_18 = common_scripts\utility::getstruct("funeral_soldier_blocker_left_2","targetname"); + var_19 = common_scripts\utility::getstruct("funeral_soldier_blocker_right_2","targetname"); + var_01.count = 1; + var_1A = var_01 maps\_utility::spawn_ai(1); + var_1A.name = " "; + var_1A maps\_utility::gun_remove(); + var_18 thread maps\_shg_design_tools::anim_simple(var_1A,var_18.animation); + wait 0.05; + var_1A thread maps\recovery_utility::delete_on_notify("funeral_done"); + var_01.count = 1; + var_1B = var_01 maps\_utility::spawn_ai(1); + var_1B.name = " "; + var_1B maps\_utility::gun_remove(); + var_19 thread maps\_shg_design_tools::anim_simple(var_1B,var_19.animation); + wait 0.05; + var_1B thread maps\recovery_utility::delete_on_notify("funeral_done"); +} + +//Function Number: 20 +funeral_cleanup() +{ + common_scripts\utility::flag_wait("funeral_complete"); + var_00 = getentarray("funeral_vehicle","targetname"); + foreach(var_02 in var_00) + { + var_02 delete(); + } +} + +//Function Number: 21 +camp_david_play_videos() +{ + setsaveddvar("cg_cinematicFullScreen","0"); + cinematicingameloop("rec_campdavid_tv",1,1); +} + +//Function Number: 22 +setup_training_sequence_1() +{ + thread training_s1_starting_enemies(); + thread training_s1_snipers(); + thread training_s1_prepare_to_breach(); + thread training_s1_setup_breach_marker(); + thread training_s1_prep_breach_room(); + thread training_s1_living_room_scene(); + thread training_s1_livingroom_ambush(); + thread training_s1_drone_attack(); + thread training_s1_breach_save(); + thread training_s1_patio_enemies(); + thread training_s1_patio_enemies_clear(); + thread training_s1_hide_from_patrols(); + thread training_s1_terrace_vehicles(); + thread training_s1_golf_course_vehicles(); + thread training_s1_setup_gideon(); + thread training_s1_setup_president(); + thread training_s1_escape_vehicle(); + thread training_s1_remove_player_weapons(); + thread training_s1_door_breach_anim(); + thread training_s1_bathroom_door_breach_anim(); + thread training_s1_player_breach(); + thread training_s1_breach_encounter(); + thread training_s1_patio_doors(); + thread training_s1_drone_search(); + thread training_s1_door_cover(); + thread training_s1_cleanup(); + thread training_s1_ending(); + thread training_s1_popping_smoke(); + thread training_s1_setup_driver(); + thread training_s1_setup_cart(); + thread training_s1_handle_tour_cart(); + thread training_s1_setup_irons(); +} + +//Function Number: 23 +training_s1_opening() +{ + if(level.currentgen) + { + if(!istransientloaded("recovery_training_tr")) + { + maps\_hud_util::fade_out(0.05,"white"); + level notify("tff_pre_funeral_to_training"); + unloadtransient("recovery_funeral_tr"); + loadtransient("recovery_training_tr"); + while(!istransientloaded("recovery_training_tr")) + { + wait(0.05); + } + + level notify("tff_post_funeral_to_training"); + maps\_hud_util::fade_in(0.05,"white"); + } + } + + common_scripts\utility::flag_set("training_s1_spawn_starting_enemies"); + thread maps\recovery_utility::training_s1_windy_trees(); + thread maps\recovery_utility::training_set_up_player(); + maps\recovery::setup_allies("training_begin"); + level.joker thread maps\recovery_utility::training_s1_opening_guy_think("training_joker_start_point","training_s1_end"); + level.ally_squad_member_1 thread maps\recovery_utility::training_s1_opening_guy_think("training_squad_1_start_point","training_s1_end"); + level.ally_squad_member_2 thread maps\recovery_utility::training_s1_opening_guy_think("training_squad_2_start_point","training_s1_end"); + level.ally_squad_member_3 thread maps\recovery_utility::training_s1_opening_guy_think("training_squad_3_start_point","training_s1_end"); + level.ally_squad_member_4 thread maps\recovery_utility::training_s1_opening_guy_think("training_squad_4_start_point","training_s1_end"); + thread training_s1_anim_gun_examine(); + thread maps\recovery_utility::training_s1_set_squad_passive_and_ignore(); + level.ally_squad_member_2.animname = "rivers"; + common_scripts\utility::flag_set("training_start_area_lighting"); + wait(2); + maps\_utility::activate_trigger("training_s1_color_trigger1","targetname"); +} + +//Function Number: 24 +training_s1_anim_gun_examine() +{ + soundscripts\_snd::snd_message("camp_david_thunder_transition"); + var_00 = getent("org_anim_gun_examine","targetname"); + var_01 = maps\_utility::spawn_anim_model("player_rig"); + var_02 = maps\_utility::spawn_anim_model("atlas_gun"); + var_02 attach("npc_silencer_01","tag_range"); + var_02 attach("npc_optics_variable_red_dot","tag_red_dot"); + var_02 hidepart("tag_sight_on"); + var_03 = getent("lighting_centroid_training_start","targetname"); + if(level.nextgen) + { + var_02 overridematerial("m/mtl_bal27_base_black","m/mtl_bal27_base_black_logo"); + } + else + { + var_02 overridematerial("mq/mtl_bal27_base_black","mq/mtl_bal27_base_black_logo"); + } + + var_01 overridelightingorigin(var_03.origin); + var_04 = [var_01,var_02,level.joker]; + var_05 = "rec_campdavid_intro"; + var_00 maps\_anim::anim_first_frame(var_04,var_05); + level.player maps\_shg_utility::setup_player_for_scene(); + level.player setorigin(var_01 gettagorigin("tag_player")); + level.player playerlinktoabsolute(var_01,"tag_player"); + level.player common_scripts\utility::delaycall(1,::playerlinktodelta,var_01,"tag_player",1,10,15,15,10,1); + level.player common_scripts\utility::delaycall(1.05,::springcamenabled,1,3.2,1.6); + maps\_utility::delaythread(6,::common_scripts\utility::flag_set,"flag_vo_training_s1_joker_everyone_knows"); + level.player common_scripts\utility::delaycall(10,::playerlinktoblend,var_01,"tag_player",1,0.25,0.25); + var_00 maps\_anim::anim_single(var_04,var_05); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.player unlink(); + var_01 defaultlightingorigin(); + var_01 delete(); + var_02 delete(); + common_scripts\utility::flag_set("flag_obj_rescue1_start"); + wait(1); + var_06 = &"RECOVERY_CAMP_DAVID"; + maps\_utility::center_screen_text(var_06); + maps\_utility::autosave_by_name(); +} + +//Function Number: 25 +training_s1_starting_enemies() +{ + common_scripts\utility::flag_wait("training_s1_spawn_starting_enemies"); + maps\_utility::array_spawn_noteworthy("training_s1_enemies_start",1); + thread maps\recovery_utility::training_s1_joker_move(); + thread maps\recovery_utility::training_s1_alert_check(); + var_00 = getent("training_s1_starting_enemy_vehicle_1","script_noteworthy") maps\_utility::spawn_vehicle(); + if(level.nextgen) + { + common_scripts\utility::flag_wait("training_s1_end"); + } + else + { + level waittill("tff_pre_training_to_tour_ride"); + } + + var_00 delete(); +} + +//Function Number: 26 +training_s1_snipers() +{ + common_scripts\utility::flag_wait("training_s1_spawn_starting_enemies"); + level.enemies1 = maps\_utility::array_spawn_noteworthy("training_s1_enemies_patrol",1); + var_00 = getent("training_s1_enemies_patrol_surprise","script_noteworthy"); + level.surprise_enemy = var_00 maps\_utility::spawn_ai(1); + level.surprise_enemy thread maps\recovery_utility::training_s1_surprise_enemy_think(); + common_scripts\utility::flag_wait("training_s1_snipers_attack"); + common_scripts\utility::flag_set("flag_obj_rescue1_start_clear"); + maps\_utility::autosave_by_name(); + if(common_scripts\utility::flag("training_s1_start_alerted") == 0) + { + common_scripts\utility::flag_set("flag_vo_training_s1_joker_on_you"); + while(isalive(level.enemies1[0]) && isalive(level.enemies1[1]) && isalive(level.enemies1[2])) + { + wait(0.05); + } + + level notify("training_s1_joker_take_out_nag_off"); + if(isalive(level.enemies1[2])) + { + level.enemies1[2].health = 1; + magicbullet(level.ally_squad_member_3.weapon,level.ally_squad_member_3 gettagorigin("tag_flash"),level.enemies1[2] geteye()); + level.enemies1[2] maps\recovery_utility::bloody_death(); + } + + wait(0.25); + if(isalive(level.enemies1[1])) + { + level.enemies1[1].health = 1; + magicbullet(level.ally_squad_member_3.weapon,level.ally_squad_member_3 gettagorigin("tag_flash"),level.enemies1[1] geteye()); + level.enemies1[1] maps\recovery_utility::bloody_death(); + } + + wait(0.5); + if(isalive(level.enemies1[0])) + { + level.enemies1[0].health = 1; + magicbullet(level.ally_squad_member_3.weapon,level.ally_squad_member_3 gettagorigin("tag_flash"),level.enemies1[0] geteye()); + level.enemies1[0] maps\recovery_utility::bloody_death(); + } + + if(isalive(level.surprise_enemy)) + { + var_01 = getnode("training_s1_enemy_attack_node5","targetname"); + var_02 = getnode("training_s1_enemy_attack_node2","targetname"); + level.surprise_enemy thread maps\recovery_utility::training_s1_surprise_enemy_go(); + level.surprise_enemy maps\_utility::clear_run_anim(); + level.surprise_enemy thread maps\recovery_utility::training_s1_monitor_surprise_enemy_death(); + maps\_utility::delaythread(3,::common_scripts\utility::flag_set,"flag_vo_training_s1_rivers_got_another"); + maps\_utility::delaythread(8,::maps\recovery_utility::training_s1_kill_surprise_enemy); + level.surprise_enemy thread maps\recovery_utility::training_surprise_enemy_move_to_patio(var_02); + } + + while(isalive(level.surprise_enemy)) + { + wait(0.05); + } + + maps\_utility::waittill_aigroupcleared("training_s1_start"); + if(common_scripts\utility::flag("training_s1_start_alerted") == 1) + { + maps\_utility::waittill_aigroupcleared("training_s1_enemies_start"); + } + + common_scripts\utility::flag_set("training_s1_prepare_breach_room"); + common_scripts\utility::flag_set("flag_obj_rescue1_enter"); + maps\_utility::autosave_by_name(); + } +} + +//Function Number: 27 +training_s1_prepare_to_breach() +{ + common_scripts\utility::flag_wait("training_s1_prepare_breach_room"); + camp_david_play_videos(); + if(common_scripts\utility::flag("training_s1_start_alerted") == 0) + { + wait(2); + maps\_utility::activate_trigger("training_s1_color_trigger2","targetname"); + maps\_utility::activate_trigger("training_s1_color_entrance_trigger","targetname"); + common_scripts\utility::flag_set("flag_training_s1_joker_close_kitchen"); + common_scripts\utility::flag_set("training_s1_living_room_approach"); + thread maps\recovery_utility::training_s1_squad_allow_run(); + common_scripts\utility::flag_wait("training_s1_flag_entrance"); + if(common_scripts\utility::flag("training_s1_start_alerted")) + { + thread maps\recovery_utility::training_s1_set_squad_active_and_target(); + common_scripts\utility::flag_wait("training_s1_start_alerted_enemies_dead"); + thread maps\recovery_utility::training_s1_set_squad_passive_and_ignore(); + } + + maps\_utility::activate_trigger("training_s1_color_trigger2_cover","targetname"); + common_scripts\utility::flag_set("flag_obj_rescue1_enter_clear"); + common_scripts\utility::flag_set("flag_obj_rescue1_flash"); + common_scripts\utility::flag_set("training_ready_flash_bang"); + return; + } + + while(isalive(level.surprise_enemy)) + { + wait(0.05); + } + + maps\_utility::waittill_aigroupcleared("training_s1_start"); + maps\_utility::waittill_aigroupcount("training_s1_enemies_start",4); + common_scripts\utility::flag_set("training_s1_enemies_start_charge"); + maps\_utility::waittill_aigroupcleared("training_s1_enemies_start"); + wait(2); + maps\_utility::activate_trigger("training_s1_color_trigger2","targetname"); + maps\_utility::activate_trigger("training_s1_color_entrance_trigger","targetname"); + common_scripts\utility::flag_set("flag_training_s1_joker_close_kitchen"); + common_scripts\utility::flag_set("training_s1_living_room_approach"); + maps\_utility::autosave_by_name(); + common_scripts\utility::flag_wait("training_s1_flag_entrance"); + maps\_utility::activate_trigger("training_s1_color_trigger2_cover","targetname"); + common_scripts\utility::flag_set("flag_obj_rescue1_enter_clear"); + common_scripts\utility::flag_set("flag_obj_rescue1_flash"); + common_scripts\utility::flag_set("training_ready_flash_bang"); +} + +//Function Number: 28 +training_s1_living_room_scene_joker_open_door(param_00) +{ + if(!common_scripts\utility::flag_exist("s1_joker_peek_open_door")) + { + common_scripts\utility::flag_init("s1_joker_peek_open_door"); + } + + param_00 notify("stop_in_loop"); + param_00 maps\_anim::anim_single_solo(level.joker,"training_s1_threat_guy_open"); + param_00 thread maps\_anim::anim_loop_solo(level.joker,"training_s1_threat_guy_open_idle","stop_open_loop"); + common_scripts\utility::flag_set("s1_joker_peek_open_door"); +} + +//Function Number: 29 +check_if_enemies_marked(param_00) +{ + foreach(var_02 in param_00) + { + if(isdefined(var_02.pdrone_marked_state) && var_02.pdrone_marked_state == "marked") + { + common_scripts\utility::flag_set("training_s1_flag_thermal"); + return 1; + } + } + + return 0; +} + +//Function Number: 30 +training_s1_living_room_scene() +{ + common_scripts\utility::flag_wait("training_s1_living_room_approach"); + level.living_room_clear = "nil"; + thread maps\recovery_utility::training_s1_threat_door(); + var_00 = common_scripts\utility::getstruct("training_s1_flashbang_animnode","targetname"); + thread maps\recovery_utility::training_s1_set_squad_passive_and_ignore(); + var_00 maps\_anim::anim_reach_solo(level.joker,"training_s1_threat_guy_in"); + var_00 maps\_anim::anim_single_solo(level.joker,"training_s1_threat_guy_in"); + common_scripts\utility::flag_set("training_s1_enable_living_room"); + var_00 thread maps\_anim::anim_loop_solo(level.joker,"training_s1_threat_guy_in_idle","stop_in_loop"); + common_scripts\utility::flag_wait("training_s1_living_room_scene"); + if(common_scripts\utility::flag("training_s1_start_alerted")) + { + thread maps\recovery_utility::training_s1_set_squad_active_and_target(); + common_scripts\utility::flag_wait("training_s1_start_alerted_enemies_dead"); + thread maps\recovery_utility::training_s1_set_squad_passive_and_ignore(); + } + + maps\_utility::autosave_by_name(); + common_scripts\utility::flag_wait("training_s1_enter_vo_complete"); + common_scripts\utility::flag_set("flag_vo_training_s1_joker_threat_grenade"); + thread maps\recovery_utility::training_s1_show_threat_text(); + thread maps\recovery_utility::training_s1_refill_threat_grenades(); + thread maps\recovery_utility::training_s1_flash_monitor(); + thread maps\recovery_utility::training_s1_shoot_monitor(); + thread training_s1_living_room_scene_joker_open_door(var_00); + common_scripts\utility::flag_set("training_s1_peak_thermal_door"); + common_scripts\utility::flag_set("training_s1_clear_initial_spawn"); + common_scripts\utility::flag_wait("threat_grenade_hint_text_off"); + var_01 = maps\_utility::array_spawn_noteworthy("training_s1_enemies_flash",1); + var_02 = getent("training_s1_surprise_enemy","targetname"); + var_03 = var_02 maps\_utility::spawn_ai(1); + var_01 = common_scripts\utility::array_add(var_01,var_03); + var_03 thread maps\recovery_utility::training_s1_enemies_living_room_think(); + var_04 = 0; + while(!var_04 && !common_scripts\utility::flag("training_s1_flag_thermal") && !common_scripts\utility::flag("threat_breach_kickoff_gunfire")) + { + var_04 = check_if_enemies_marked(var_01); + wait 0.05; + } + + if(level.threat_attack == "threat" || var_04) + { + common_scripts\utility::array_thread(var_01,::training_s1_threat_enemies_react); + maps\_utility::delaythread(1.5,::common_scripts\utility::flag_set,"flag_vo_training_s1_joker_hit_em"); + common_scripts\utility::flag_wait("s1_joker_peek_open_door"); + var_00 notify("stop_open_loop"); + var_00 maps\_anim::anim_single_solo(level.joker,"training_s1_threat_guy_open_idle2fire"); + var_00 thread maps\_anim::anim_loop_solo(level.joker,"training_s1_threat_guy_open_fire_idle","stop_open_loop2"); + level.living_room_clear = 0; + thread maps\recovery_utility::training_s1_living_room_check(); + thread maps\recovery_utility::training_s1_living_room_timer(); + maps\_utility::delaythread(1.5,::maps\recovery_utility::training_s1_set_squad_active_and_target); + var_01 thread maps\recovery_utility::training_s1_threat_enemies(); + while(level.living_room_clear == 0) + { + wait(0.05); + } + + common_scripts\utility::flag_set("training_s1_open_thermal_door"); + var_00 notify("stop_open_loop2"); + var_00 thread maps\_anim::anim_single_solo(level.joker,"training_s1_threat_guy_out"); + maps\_utility::waittill_aigroupcleared("flash_enemies"); + } + else + { + level notify("training_s1_joker_threat_grenade_nag_off"); + foreach(var_06 in var_01) + { + if(!isdefined(var_06) || !isalive(var_06)) + { + continue; + } + + var_06 thread maps\_utility::anim_stopanimscripted(); + var_06 notify("alert"); + var_06 thread maps\_stealth_shared_utilities::enemy_reaction_state_alert(); + var_06 thread maps\_stealth_utility::disable_stealth_for_ai(); + var_06.ignoreall = 0; + } + + common_scripts\utility::flag_wait("s1_joker_peek_open_door"); + common_scripts\utility::flag_set("training_s1_open_thermal_door"); + if(level.threat_attack == "smart") + { + maps\_utility::delaythread(1,::common_scripts\utility::flag_set,"flag_vo_training_s1_joker_wrong_grenade"); + wait(3); + } + else + { + common_scripts\utility::flag_set("flag_vo_training_s1_joker_dammit"); + } + + var_00 notify("stop_open_loop"); + var_00 thread maps\_anim::anim_single_solo(level.joker,"training_s1_threat_guy_out"); + level.ally_squad_member_3 maps\_utility::stop_magic_bullet_shield(); + level.ally_squad_member_3 maps\recovery_utility::bloody_death(); + thread maps\recovery_utility::training_s1_set_squad_active_and_target(); + var_08 = getnode("threat_breach_cover","script_noteworthy"); + level.joker usecovernode(var_08); + maps\_utility::waittill_aigroupcleared("flash_enemies"); + } + + maps\_utility::delaythread(2,::common_scripts\utility::flag_set,"flag_vo_training_s1_rivers_clear"); + wait(1); + thread maps\recovery_utility::training_s1_set_sqaud_cqb_enable(); + maps\_utility::activate_trigger("training_s1_color_trigger_breach","targetname"); + common_scripts\utility::flag_set("training_flash_complete"); + common_scripts\utility::flag_set("training_s1_spawn_breach_door"); + common_scripts\utility::flag_set("training_s1_mute_breach_setup"); + common_scripts\utility::flag_set("flag_obj_rescue1_breach"); + wait(1.5); + common_scripts\utility::flag_set("flag_vo_training_s1_joker_stack_up"); + thread maps\recovery_utility::training_s1_set_squad_passive_and_ignore(); + maps\_utility::autosave_by_name(); +} + +//Function Number: 31 +training_s1_threat_enemies_react() +{ + if(!isalive(self)) + { + return; + } + + self endon("death"); + self.team = "axis"; + self.health = 1; + self setnormalhealth(1); + if(isdefined(self.animation)) + { + thread maps\_utility::anim_stopanimscripted(); + } + + var_00 = getent("training_s1_threat_react_origin","targetname"); + var_01 = var_00.origin; + childthread maps\_stealth_shared_utilities::enemy_reactto_and_lookaround(var_01); + self notify("alert"); + childthread maps\_stealth_shared_utilities::enemy_reaction_state_alert(); + childthread maps\_stealth_utility::disable_stealth_for_ai(); + childthread maps\_utility::set_battlechatter(1); + wait(randomfloatrange(0.25,1)); + var_02 = self findbestcovernode(); + if(isdefined(var_02)) + { + maps\_utility::set_goal_node(var_02); + } +} + +//Function Number: 32 +training_s1_setup_breach_marker() +{ + common_scripts\utility::flag_wait("training_s1_mute_breach_setup"); + var_00 = getent("breach_hint_01","targetname"); + var_01 = spawn("script_model",(0,0,0)); + var_01 setmodel("mutecharge_obj"); + var_01.angles = var_00.angles; + var_01.origin = var_00.origin; + var_02 = getent("training_s1_breach_door_trigger","targetname"); + var_03 = var_02 maps\_shg_utility::hint_button_trigger("use"); + thread breach_cleanup(var_01,var_03); +} + +//Function Number: 33 +breach_cleanup(param_00,param_01) +{ + level endon("missionfailed"); + level waittill("breaching"); + if(isdefined(param_00)) + { + param_00 delete(); + param_01 maps\_shg_utility::hint_button_clear(); + } +} + +//Function Number: 34 +training_s1_breach_save() +{ + common_scripts\utility::flag_wait("door_breach_s1"); + maps\_utility::autosave_by_name(); +} + +//Function Number: 35 +training_s1_prep_breach_room() +{ + common_scripts\utility::flag_wait("training_s1_mute_breach_setup"); + thread maps\recovery_utility::training_s1_breack_tv_screen(); + var_00 = common_scripts\utility::getstruct("training_s1_exo_breach_marker","targetname"); + level.joker thread training_s1_joker_mute_breach_start(var_00); + level waittill("force_joker_breach_position"); + var_00 notify("stop_loop1"); + level.joker stopanimscripted(); + level.joker maps\_utility::delaythread(0.05,::maps\_anim::anim_self_set_time,"training_s1_exo_breach_joker_start",0.09); + var_00 maps\_anim::anim_single_solo(level.joker,"training_s1_exo_breach_joker_start"); + var_00 thread maps\_anim::anim_loop_solo(level.joker,"training_s1_exo_breach_joker_release_idle","stop_loop2"); + common_scripts\utility::flag_wait_or_timeout("training_s1_bathroom_enemy_dead",2); + if(!common_scripts\utility::flag("training_s1_bathroom_enemy_dead")) + { + var_00 notify("stop_loop2"); + var_00 maps\_anim::anim_single_solo(level.joker,"training_s1_exo_breach_joker_shoot_bathroom_guy"); + var_00 thread maps\_anim::anim_loop_solo(level.joker,"training_s1_exo_breach_joker_release_idle","stop_loop2"); + } + + common_scripts\utility::flag_wait("training_s1_release_president"); + var_00 notify("stop_loop2"); + maps\_utility::activate_trigger("training_s1_enter_drone_attack","targetname"); + var_00 maps\_anim::anim_single_solo_run(level.joker,"training_s1_exo_breach_joker_release"); + level.joker animcustom(::animscripts\run::moverun); + level.joker maps\_utility::disable_cqbwalk(); +} + +//Function Number: 36 +training_s1_joker_mute_breach_start(param_00) +{ + level endon("breaching"); + param_00 maps\_anim::anim_reach_solo(self,"training_s1_exo_breach_joker_approach"); + param_00 maps\_anim::anim_single_solo(self,"training_s1_exo_breach_joker_approach"); + param_00 thread maps\_anim::anim_loop_solo(self,"training_s1_exo_breach_joker_start_idle","stop_loop1"); +} + +//Function Number: 37 +training_s1_player_breach() +{ + common_scripts\utility::flag_wait("training_s1_mute_breach_setup"); + var_00 = getent("training_s1_breach_door_trigger","targetname"); + var_00 thread maps\recovery_utility::disable_trigger_while_player_animating("breaching"); + for(;;) + { + var_00 waittill("trigger"); + if(!isdefined(var_00.trigger_off)) + { + break; + } + } + + var_00 delete(); + thread maps\recovery_utility::play_rumble_training_s1_mute_breach(); + level notify("training_s1_joker_mute_charge_nag_off"); + thread maps\recovery_utility::training_s1_clear_bedrooms("training_round_2"); + thread maps\recovery_utility::training_s1_set_squad_passive_and_ignore(); + maps\_utility::battlechatter_off("axis"); + var_01 = common_scripts\utility::getstruct("training_s1_exo_breach_marker","targetname"); + var_02 = maps\_utility::spawn_anim_model("mute_charge",var_01.origin); + var_02 hide(); + var_01 maps\_anim::anim_first_frame_solo(var_02,"breach_02_mutecharge"); + var_03 = maps\_utility::spawn_anim_model("player_rig",level.player.origin); + var_03.animname = "player_rig"; + soundscripts\_snd::snd_message("rec_s2_breach_gun_holster"); + var_01 thread maps\_anim::anim_first_frame_solo(var_03,"training_s1_breach"); + var_03 hide(); + level.player maps\_shg_utility::setup_player_for_scene(0); + var_04 = 1; + level.player playerlinktoblend(var_03,"tag_player",var_04,var_04 * 0.5,var_04 * 0.5); + wait(var_04); + var_03 show(); + var_02 show(); + common_scripts\utility::flag_set("training_s1_breach_begin"); + common_scripts\utility::flag_set("training_s1_spawn_breach_enemies"); + common_scripts\utility::flag_set("flag_obj_rescue1_breach_clear"); + level notify("breaching"); + var_05 = 350; + var_06 = 20; + var_02 soundscripts\_snd::snd_message("camp_david_training_mute_device",var_05,var_06); + var_01 thread maps\_anim::anim_single_solo(var_02,"breach_02_mutecharge"); + var_01 maps\_anim::anim_single_solo(var_03,"training_s1_breach"); + level.player unlink(); + var_03 delete(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.player thread maps\recovery_utility::lerp_in_turn_rate(0.5); + common_scripts\utility::flag_wait("training_s1_breach_enemy_dead"); + level notify("disable_mute_breach_fx"); + wait(2); + var_02 delete(); +} + +//Function Number: 38 +training_s1_breach_encounter() +{ + common_scripts\utility::flag_wait("training_s1_spawn_breach_enemies"); + maps\_utility::array_spawn_noteworthy("training_s1_enemies_breach",1); + level.kva_shooter_s1 = getent("breach_kva_spawner1","targetname") maps\_utility::spawn_ai(1); + level.kva_shooter_s1 thread maps\recovery_utility::training_s1_breach_kva_think(); + level.president = getent("training_s1_president_spawner","targetname") maps\_utility::spawn_ai(1); + level.president thread maps\_president::set_president_anims(); + level.president thread maps\recovery_utility::training_s1_president_breach_setup("tour_exo_hangar"); + var_00 = maps\_utility::spawn_anim_model("ziptie_prop"); + var_00.animname = "ziptie_prop"; + var_01 = common_scripts\utility::getstruct("training_s1_exo_breach_marker","targetname"); + var_01 thread maps\_anim::anim_first_frame_solo(var_00,"training_s1_exo_ziptie_start"); + var_01 maps\_anim::anim_first_frame_solo(level.president,"training_s1_exo_breach_president_start"); + var_01 thread maps\_anim::anim_single_solo(var_00,"training_s1_exo_ziptie_start"); + var_01 maps\_anim::anim_single_solo(level.president,"training_s1_exo_breach_president_start"); + if(isalive(level.president)) + { + var_01 thread maps\_anim::anim_loop_solo(var_00,"training_s1_exo_ziptie_react_idle","stop_loop"); + var_01 thread maps\_anim::anim_loop_solo(level.president,"training_s1_exo_breach_president_idle","stop_loop"); + } + + thread training_s1_president_shot(var_01,var_00); +} + +//Function Number: 39 +training_s1_president_shot(param_00,param_01) +{ + thread training_s1_kva_dead(param_00,param_01); + thread maps\recovery_utility::training_s1_president_dead(); + level.president endon("kva_death"); + level.president waittill("stop_idle_loop_s1"); + param_00 notify("stop_loop"); + param_00 thread maps\_anim::anim_single_solo(param_01,"training_s1_exo_ziptie_fail"); + param_00 maps\_anim::anim_single_solo(level.president,"training_s1_exo_breach_president_fail"); + level.president.noragdoll = 1; + level.president.allowdeath = 1; + level.president.a.nodeath = 1; + level.president maps\_utility::set_battlechatter(0); + wait(0.05); + level.president kill(); +} + +//Function Number: 40 +training_s1_kva_dead(param_00,param_01) +{ + common_scripts\utility::flag_wait("training_s1_breach_enemy_dead"); + if(common_scripts\utility::flag("training_s1_flag_president_shot") == 0) + { + level.president notify("kva_death"); + thread training_s1_kva_shot(param_00,param_01); + } +} + +//Function Number: 41 +training_s1_kva_shot(param_00,param_01) +{ + common_scripts\utility::flag_wait("training_s1_breach_enemy_dead"); + param_00 notify("stop_loop"); + if(isalive(level.president)) + { + param_00 thread maps\_anim::anim_single_solo(param_01,"training_s1_exo_ziptie_success"); + param_00 maps\_anim::anim_single_solo(level.president,"training_s1_exo_breach_president_success"); + } + + if(isalive(level.president)) + { + param_00 thread maps\_anim::anim_loop_solo(param_01,"training_s1_exo_ziptie_release_idle","stop_loop2"); + param_00 thread maps\_anim::anim_loop_solo(level.president,"training_s1_exo_breach_president_release_idle","stop_loop2"); + } + + common_scripts\utility::flag_wait("training_s1_breach_enemy_dead"); + common_scripts\utility::flag_wait("training_s1_bathroom_enemy_dead"); + wait(0.5); + common_scripts\utility::flag_set("flag_vo_training_s1_rivers_room_clear"); + maps\_utility::delaythread(2,::common_scripts\utility::flag_set,"flag_vo_training_s1_joker_mr_president"); + thread training_s1_end_breach_logic(); + common_scripts\utility::flag_set("training_s1_release_president"); + param_00 notify("stop_loop2"); + if(isalive(level.president)) + { + level.president notify("breach_s1_end"); + level.president thread maps\_utility::magic_bullet_shield(); + param_00 thread maps\_anim::anim_single_solo(param_01,"training_s1_exo_ziptie_release"); + param_00 maps\_anim::anim_single_solo_run(level.president,"training_s1_exo_breach_president_release"); + level.president animcustom(::animscripts\run::moverun); + wait(0.15); + level.president orientmode("face point",level.joker.origin); + wait(0.25); + level.president orientmode("face default"); + param_01 delete(); + } + + if(isalive(level.president)) + { + common_scripts\utility::flag_set("flag_obj_rescue1_drone_attack"); + } +} + +//Function Number: 42 +training_s1_end_breach_logic() +{ + if(isalive(level.president)) + { + common_scripts\utility::flag_set("training_s1_living_room_return"); + common_scripts\utility::flag_set("training_s1_close_living_room_door"); + common_scripts\utility::flag_set("training_s1_living_room_return"); + common_scripts\utility::flag_set("training_s1_breach_done"); + maps\_utility::battlechatter_on("axis"); + maps\_utility::autosave_by_name(); + } +} + +//Function Number: 43 +training_s1_bathroom_door_breach_anim() +{ + common_scripts\utility::flag_wait("training_s1_breach_enemy_dead"); + wait(2); + thread maps\recovery_utility::training_s1_bathroom_breach_door(); + var_00 = getent("breach_s1_enemy_spawner04","targetname"); + level.kva_bathroom = var_00 maps\_utility::spawn_ai(1); + level.kva_bathroom thread maps\recovery_utility::training_s1_bathroom_enemy_think(); +} + +//Function Number: 44 +training_s1_door_breach_anim() +{ + common_scripts\utility::flag_wait("training_s1_spawn_breach_door"); + var_00 = common_scripts\utility::getstruct("training_s1_exo_breach_marker","targetname"); + var_01 = getent("training_exo_breach_door","targetname"); + var_01.animname = "door_prop"; + var_01 maps\_utility::assign_animtree(); + var_02 = getent("training_exo_breach_door_clip","targetname"); + var_03 = var_02.angles; + var_04 = var_02.origin; + var_00 maps\_anim::anim_first_frame_solo(var_01,"training_s1_exo_door"); + var_02 linkto(var_01,"door"); + level waittill("breaching"); + var_00 maps\_anim::anim_single_solo(var_01,"training_s1_exo_door"); + var_02 connectpaths(); + common_scripts\utility::flag_wait("training_round_2"); + var_00 maps\_anim::anim_first_frame_solo(var_01,"training_s2_exo_door"); + var_02.angles = var_02.angles + var_03; + var_02.origin = var_02.origin + var_04; + wait(1); + var_02 disconnectpaths(); +} + +//Function Number: 45 +training_s1_drone_search() +{ + common_scripts\utility::flag_wait("training_s1_flag_drone_hallway"); + thread maps\_utility::autosave_by_name(); + thread maps\recovery_utility::training_s1_set_squad_passive_and_ignore(); + thread vehicle_scripts\_pdrone_tactical_picker::main(); + var_00 = maps\_vehicle::spawn_vehicles_from_targetname_and_drive("training_s1_search_drones"); + level.search_drones_count = 0; + foreach(var_02 in var_00) + { + var_02 thread maps\recovery_utility::training_s1_set_up_search_drones("training_s1_search_drones_attack","training_s1_search_drones_done"); + var_02 thread training_s1_drone_blinds_destroy_think("training_s1_search_drones_attack"); + } + + soundscripts\_snd::snd_message("rec_s1_drones_fly_by",var_00); + maps\_utility::delaythread(6,::common_scripts\utility::flag_set,"flag_vo_training_s1_rivers_got_drones"); + thread training_s1_alert_drones("training_s1_search_drones_attack"); + while(common_scripts\utility::flag("training_s1_search_drones_done") == 0) + { + if(level.player isfiring() == 1 || level.player isthrowinggrenade() == 1) + { + if(!common_scripts\utility::flag("training_s1_search_drones_done")) + { + soundscripts\_snd::snd_message("rec_s1_drones_attack",var_00); + } + + wait(3); + if(!common_scripts\utility::flag("training_s1_search_drones_done")) + { + common_scripts\utility::flag_set("training_s1_search_drones_attack"); + } + + return; + } + + wait(0.05); + } +} + +//Function Number: 46 +training_s1_alert_drones(param_00) +{ + self endon("training_s1_search_drones_done"); + common_scripts\utility::flag_wait(param_00); + thread maps\recovery_utility::training_s1_set_squad_active_and_target(); + while(level.search_drones_count < 2) + { + wait(0.05); + } + + common_scripts\utility::flag_set("training_s1_spawn_drones_reinforcements"); + while(level.search_drones_count < 3) + { + wait(0.05); + } + + common_scripts\utility::flag_wait("training_s1_ambush_cleanup"); + common_scripts\utility::flag_set("training_s1_search_drones_done"); +} + +//Function Number: 47 +training_s1_livingroom_ambush() +{ + common_scripts\utility::flag_wait("training_s1_living_room_return"); + maps\_utility::activate_trigger("training_s1_livingroom_ambush","targetname"); + thread maps\recovery_utility::training_s1_patio_door_breach(); + common_scripts\utility::flag_wait("training_s1_search_drones_done"); + common_scripts\utility::flag_set("training_s1_joker_search_drones_cover"); + level waittill("advance_to_patio"); + level.joker maps\_utility::enable_ai_color_dontmove(); + maps\_utility::activate_trigger("training_s1_color_trigger_patio","targetname"); + common_scripts\utility::flag_set("flag_obj_rescue1_patio_ambush"); + maps\_utility::autosave_by_name(); +} + +//Function Number: 48 +training_s2_drone_blinds_destroy_think() +{ + training_s1_drone_blinds_destroy_think(); +} + +//Function Number: 49 +training_s1_drone_blinds_destroy_think(param_00) +{ + self endon("death"); + if(isdefined(param_00)) + { + common_scripts\utility::flag_wait(param_00); + } + + var_01 = 50; + for(;;) + { + radiusdamage(self.origin,var_01,1000,500,self); + wait 0.05; + } +} + +//Function Number: 50 +training_s1_drone_attack() +{ + common_scripts\utility::flag_wait("training_s1_search_drones_attack"); + maps\_utility::delaythread(2,::common_scripts\utility::flag_set,"flag_vo_training_s1_joker_take_out"); + thread maps\recovery_utility::training_s1_set_squad_active_and_target(); + thread maps\recovery_utility::training_s1_drone_ambush_scene(); + var_00 = common_scripts\utility::getstruct("attacklocation3","targetname"); + var_01 = common_scripts\utility::getstructarray(var_00.target,"targetname"); + magicbullet("iw5_bal27_sp_silencer01_variablereddot",var_00.origin,var_01[0].origin); + wait(1); + magicbullet("iw5_bal27_sp_silencer01_variablereddot",var_00.origin,var_01[1].origin); + wait(0.5); + magicbullet("iw5_bal27_sp_silencer01_variablereddot",var_00.origin,var_01[2].origin); + wait(0.5); + magicbullet("iw5_bal27_sp_silencer01_variablereddot",var_00.origin,var_01[3].origin); + wait(0.5); + magicbullet("iw5_bal27_sp_silencer01_variablereddot",var_00.origin,var_01[4].origin); + wait(0.25); + magicbullet("iw5_bal27_sp_silencer01_variablereddot",var_00.origin,var_01[5].origin); + wait(0.5); + magicbullet("iw5_bal27_sp_silencer01_variablereddot",var_00.origin,var_01[6].origin); + wait(0.5); + magicbullet("iw5_bal27_sp_silencer01_variablereddot",var_00.origin,var_01[7].origin); + common_scripts\utility::flag_wait("training_s1_spawn_drones_reinforcements"); + thread vehicle_scripts\_pdrone_tactical_picker::main(); + var_02 = []; + var_02 = vehicle_scripts\_pdrone::start_flying_attack_drones("s1_flying_attack_drones1"); + foreach(var_04 in var_02) + { + var_04 thread training_s1_drone_blinds_destroy_think(); + var_04 thread maps\recovery_utility::training_s1_drone_attack_think(); + } + + maps\recovery_utility::waittill_drones_dead(var_02); + common_scripts\utility::flag_set("training_s1_ambush_cleanup"); +} + +//Function Number: 51 +training_s1_patio_doors() +{ + var_00 = common_scripts\utility::getstruct("training_s2_patio_door_animnode","targetname"); + level.patio_doors = getent("training_patio_french_doors","targetname"); + level.patio_doors.animname = "patio_doors"; + level.patio_doors maps\_anim::setanimtree(); + var_01 = getent("french_door_clip_01","targetname"); + var_02 = getent("french_door_clip_02","targetname"); + var_00 maps\_anim::anim_first_frame_solo(level.patio_doors,"training_s1_patio_doors_in"); + var_01 linkto(level.patio_doors,"door_r"); + var_02 linkto(level.patio_doors,"door_l"); + common_scripts\utility::flag_wait("training_s1_patio_doors_joker_in"); + var_00 thread maps\_anim::anim_loop_solo(level.patio_doors,"training_s1_patio_doors_alert_idle","stop_loop2"); + common_scripts\utility::flag_wait("training_s1_joker_search_drones_cover"); + if(common_scripts\utility::flag("training_s1_search_drones_attack") == 1) + { + common_scripts\utility::flag_wait("training_s1_breach_patio_doors_open"); + var_00 notify("stop_loop2"); + var_00 maps\_anim::anim_single_solo(level.patio_doors,"training_s1_patio_doors_out"); + } + else + { + common_scripts\utility::flag_wait("training_s1_slow_patio_doors_open"); + var_00 notify("stop_loop2"); + var_00 maps\_anim::anim_single_solo(level.patio_doors,"training_s1_patio_doors_slow_open"); + var_00 maps\_anim::anim_single_solo(level.patio_doors,"training_s1_patio_doors_slow_out"); + } + + var_01 connectpaths(); + var_02 connectpaths(); + wait(1); + var_01 disconnectpaths(); + var_02 disconnectpaths(); + common_scripts\utility::flag_wait("training_s1_end"); + var_00 maps\_anim::anim_first_frame_solo(level.patio_doors,"training_s1_patio_doors_in"); + wait(1); + var_01 disconnectpaths(); + var_02 disconnectpaths(); +} + +//Function Number: 52 +training_s1_patio_enemies() +{ + common_scripts\utility::flag_wait("training_s1_spawn_patio_enemies"); + thread maps\recovery_utility::play_reload_malfunction_on_next_reload(); + thread maps\recovery_utility::training_s1_set_squad_passive_and_ignore(); + maps\_utility::array_spawn_noteworthy("training_s1_patio_enemies",1); + thread maps\recovery_utility::training_s1_allies_advance(); + if(common_scripts\utility::flag("training_s1_search_drones_attack") == 1) + { + common_scripts\utility::flag_set("training_s1_patio_alerted"); + var_00 = common_scripts\utility::getstruct("magic_grenade_start","targetname"); + var_01 = common_scripts\utility::getstruct("magic_grenade_target","targetname"); + var_02 = magicgrenade("flash_grenade",var_00.origin,var_01.origin,1.25,1); + soundscripts\_snd::snd_message("patio_flashbang",1.25,var_01.origin); + wait(1.5); + var_03 = getent("patio_flash_ambush","targetname") maps\_utility::spawn_ai(1); + var_03 thread maps\_utility::player_seek_enable(); + common_scripts\utility::flag_wait("training_s1_flashed"); + thread maps\recovery_utility::training_s1_set_squad_active_and_target(); + maps\_utility::delaythread(4,::common_scripts\utility::flag_set,"flag_vo_training_s1_rivers_contact_below"); + common_scripts\utility::flag_wait("training_s1_spawn_patio_enemies_wave2"); + maps\_utility::array_spawn_noteworthy("training_s1_patio_enemies2",1); + common_scripts\utility::flag_wait("training_s1_spawn_patio_enemies_wave3"); + thread maps\recovery_utility::training_s1_pool_house_doors(); + maps\_utility::array_spawn_noteworthy("training_s1_patio_enemies3",0,1); + maps\_utility::waittill_aigroupcount("patio_ambush2",1); + common_scripts\utility::flag_set("training_s1_clear_patio1"); + common_scripts\utility::flag_set("training_s1_clear_patio2"); + maps\_utility::waittill_aigroupcleared("patio_ambush2"); + maps\_utility::waittill_aigroupcount("patio_ambush3",1); + common_scripts\utility::flag_set("training_s1_clear_patio3"); + maps\_utility::waittill_aigroupcleared("patio_ambush3"); + common_scripts\utility::flag_set("training_s1_patio_clear"); + return; + } + + thread training_s1_patio_spawn_reinforcements(); + common_scripts\utility::flag_set("flag_vo_training_s1_rivers_multiple_hostiles"); + common_scripts\utility::flag_wait("training_s1_spawn_patio_enemies_wave2"); + if(common_scripts\utility::flag("training_s1_patio_alerted") == 1) + { + maps\_utility::array_spawn_noteworthy("training_s1_patio_enemies2",1); + thread maps\recovery_utility::training_s1_set_squad_active_and_target(); + common_scripts\utility::flag_set("training_s1_spawn_patio_wave2"); + } + + common_scripts\utility::flag_wait("training_s1_spawn_patio_enemies_wave3"); + if(common_scripts\utility::flag("training_s1_patio_alerted") == 1 && common_scripts\utility::flag("training_s1_spawn_patio_wave3") == 0) + { + thread maps\recovery_utility::training_s1_pool_house_doors(); + maps\_utility::array_spawn_noteworthy("training_s1_patio_enemies3",1); + thread maps\recovery_utility::training_s1_set_squad_active_and_target(); + common_scripts\utility::flag_set("training_s1_spawn_patio_wave3"); + } + + if(common_scripts\utility::flag("training_s1_patio_alerted") == 1) + { + if(common_scripts\utility::flag("training_s1_spawn_patio_wave2") == 1) + { + maps\_utility::waittill_aigroupcount("patio_ambush2",1); + common_scripts\utility::flag_set("training_s1_clear_patio1"); + common_scripts\utility::flag_set("training_s1_clear_patio2"); + maps\_utility::waittill_aigroupcleared("patio_ambush2"); + } + + if(common_scripts\utility::flag("training_s1_spawn_patio_wave3") == 1) + { + maps\_utility::waittill_aigroupcount("patio_ambush3",1); + common_scripts\utility::flag_set("training_s1_clear_patio3"); + maps\_utility::waittill_aigroupcleared("patio_ambush3"); + common_scripts\utility::flag_set("training_s1_patio_clear"); + } + } + else + { + maps\_utility::waittill_aigroupcleared("patio_ambush1"); + } + + if(common_scripts\utility::flag("training_s1_spawn_patio_wave3") == 0) + { + common_scripts\utility::flag_set("training_s1_patio_clear"); + return; + } + + maps\_utility::waittill_aigroupcleared("patio_ambush3"); + common_scripts\utility::flag_set("training_s1_patio_clear"); +} + +//Function Number: 53 +training_s1_patio_enemies_clear() +{ + common_scripts\utility::flag_wait("training_s1_patio_clear"); + var_00 = getaiarray("axis"); + var_00 = maps\_utility::remove_dead_from_array(var_00); + foreach(var_02 in var_00) + { + if(isalive(var_02)) + { + var_02 thread maps\_utility::player_seek_enable(); + } + } + + while(var_00.size > 1) + { + var_00 = maps\_utility::remove_dead_from_array(var_00); + wait 0.05; + } + + var_00 = maps\_utility::remove_dead_from_array(var_00); + foreach(var_02 in var_00) + { + var_02 thread maps\recovery_utility::bloody_death(randomfloatrange(0.5,1.5)); + } + + thread maps\recovery_utility::training_s1_set_sqaud_cqb_disable(); + maps\_utility::autosave_by_name(); + common_scripts\utility::flag_set("flag_obj_rescue1_patio_ambush_clear"); + common_scripts\utility::flag_set("flag_obj_rescue1_patio_mid"); + common_scripts\utility::flag_set("training_s1_hide"); + if(common_scripts\utility::flag("training_s1_patio_alerted") == 1) + { + common_scripts\utility::flag_set("flag_vo_training_s1_joker_pools_clear"); + return; + } + + common_scripts\utility::flag_set("flag_vo_training_s1_joker_pools_clear_stealth"); +} + +//Function Number: 54 +training_s1_patio_spawn_reinforcements() +{ + common_scripts\utility::flag_wait("training_s1_patio_alerted"); + if(common_scripts\utility::flag("training_s1_spawn_patio_enemies_wave3") == 1 && common_scripts\utility::flag("training_s1_spawn_patio_wave3") == 0) + { + common_scripts\utility::flag_set("training_s1_spawn_patio_wave3"); + thread maps\recovery_utility::training_s1_pool_house_doors(); + maps\_utility::array_spawn_noteworthy("training_s1_patio_enemies3",1); + thread maps\recovery_utility::training_s1_set_squad_active_and_target(); + } +} + +//Function Number: 55 +training_s1_hide_from_patrols() +{ + common_scripts\utility::flag_wait("training_s1_hide"); + wait(2); + if(!common_scripts\utility::flag("training_s1_hide_from_patrols_done")) + { + thread maps\recovery_utility::training_s1_set_squad_passive_and_ignore(); + maps\_utility::delaythread(1,::maps\_utility::activate_trigger,"training_s1_hide_from_patrols","targetname"); + common_scripts\utility::flag_set("flag_obj_rescue1_golf_course"); + common_scripts\utility::flag_wait("training_s1_hide_from_patrols_done"); + wait(2); + if(common_scripts\utility::flag("training_s1_spotted") == 0) + { + common_scripts\utility::flag_set("flag_vo_training_s1_joker_ok_move"); + } + else + { + common_scripts\utility::flag_set("flag_vo_training_s1_joker_were_clear"); + } + } + + maps\_stealth_visibility_system::system_default_detect_ranges(); + maps\_utility::activate_trigger("training_s1_color_trigger_golf_course2","targetname"); + maps\_utility::delaythread(3,::maps\_utility::autosave_by_name); + common_scripts\utility::flag_set("training_s1_allow_path_to_level_end"); + common_scripts\utility::flag_set("flag_obj_rescue1_golf_course2"); + common_scripts\utility::flag_wait("training_s1_golf_course_flag2"); + common_scripts\utility::flag_set("flag_obj_rescue1_golf_course"); + common_scripts\utility::flag_set("flag_obj_rescue1_golf_course_clear"); + common_scripts\utility::flag_set("flag_obj_rescue1_golf_course2_clear"); + common_scripts\utility::flag_set("flag_vo_training_s1_joker_prophet_approaching"); + maps\_utility::activate_trigger("training_s1_color_trigger_escape_car","targetname"); + common_scripts\utility::flag_set("flag_obj_rescue1_escape_location"); + common_scripts\utility::flag_set("training_s1_ambush"); +} + +//Function Number: 56 +training_s1_terrace_vehicles() +{ + common_scripts\utility::flag_wait("training_s1_terrace_vehicles"); + var_00 = getent("training_s1_terrace_vehicles","script_noteworthy") maps\_vehicle::spawn_vehicle_and_gopath(); + maps\_utility::array_spawn_noteworthy("training_s1_golf_course_patrollers",1); + thread maps\recovery_utility::training_s1_golf_course_encounter_track_deaths(); + if(level.currentgen) + { + var_00 thread tff_cleanup_vehicle("training"); + } + + soundscripts\_snd::snd_message("rec_train1_stealth_car_spawn",var_00); + if(common_scripts\utility::flag("training_s1_patio_clear")) + { + maps\_utility::autosave_by_name(); + thread maps\recovery_utility::training_s1_set_squad_passive_and_ignore(); + common_scripts\utility::flag_set("flag_vo_training_s1_joker_patrol_approaching"); + common_scripts\utility::flag_set("flag_obj_rescue1_golf_course_clear"); + if(level.player getstance() != "prone" && common_scripts\utility::flag("training_s1_spotted") == 0) + { + thread maps\recovery_utility::training_prone_hint_text(); + } + + thread maps\recovery_utility::training_s1_golf_course_custom_stealth(); + wait(8); + common_scripts\utility::flag_set("flag_vo_training_s1_joker_dont_engage"); + while(common_scripts\utility::flag("training_s1_hide_from_patrols_done") == 0) + { + if(common_scripts\utility::flag("training_s1_spotted")) + { + maps\_utility::delaythread(1.5,::common_scripts\utility::flag_set,"flag_vo_training_s1_shit_clear"); + thread maps\recovery_utility::training_s1_set_squad_active_and_target(); + return; + } + + wait(0.05); + } + } + + if(!common_scripts\utility::flag("training_s1_spotted")) + { + level endon("training_s1_end"); + common_scripts\utility::flag_wait("training_s1_spotted"); + if(!common_scripts\utility::flag("training_s1_golf_course_vehicles")) + { + maps\_utility::delaythread(1.5,::common_scripts\utility::flag_set,"flag_vo_training_s1_shit_clear"); + } + + thread maps\recovery_utility::training_s1_set_squad_active_and_target(); + } + + maps\_stealth_visibility_system::system_default_detect_ranges(); +} + +//Function Number: 57 +training_s1_escape_vehicle() +{ + common_scripts\utility::flag_wait("training_s1_start_escape_vehicle"); + common_scripts\utility::flag_set("flag_vo_training_s1_prophet_exfil_approach"); + wait(2); + level.escape_vehicle = getent("training_s1_escape_vehicle","script_noteworthy") maps\_utility::spawn_vehicle(); + level.escape_vehicle maps\_utility::magic_bullet_shield(); + level.escape_vehicle.animname = "avt"; + level thread maps\recovery_fx::training_escape_vehicle_1_fx(level.escape_vehicle); + var_00 = common_scripts\utility::getstruct("training_s1_ending_anim_origin","targetname"); + var_00 maps\_anim::anim_first_frame_solo(level.escape_vehicle,"training_s1_vehicle_end"); + var_01 = getent("trig_escape_vehicle_bumper","targetname"); + var_01 enablelinkto(); + var_01 linkto(level.escape_vehicle); + thread bumper_test(var_01); + soundscripts\_snd::snd_message("rec_train1_exfil_car_start",level.escape_vehicle); + var_00 maps\_anim::anim_single_solo(level.escape_vehicle,"training_s1_vehicle_end"); + maps\_utility::autosave_by_name(); + common_scripts\utility::flag_set("training_s1_escape_vehicle_ready"); + common_scripts\utility::flag_wait("tour_exo_hangar"); + if(isdefined(level.escape_vehicle.magic_bullet_shield)) + { + level.escape_vehicle maps\_utility::stop_magic_bullet_shield(); + } + + if(isdefined(level.escape_vehicle)) + { + level.escape_vehicle delete(); + } +} + +//Function Number: 58 +bumper_test(param_00) +{ + param_00 endon("death"); + var_01 = 4; + param_00 common_scripts\utility::delaycall(var_01,::delete); + common_scripts\utility::flag_wait("escape_vehicle_bumper"); + level.player kill(); +} + +//Function Number: 59 +training_s1_golf_course_vehicles() +{ + common_scripts\utility::flag_wait("training_s1_golf_course_vehicles"); + maps\_utility::autosave_by_name(); + maps\_utility::array_spawn_noteworthy("training_s1_end_enemies",1); + thread maps\recovery_utility::play_reload_malfunction_on_next_reload("training_s1_start_escape_vehicle"); + maps\_utility::delaythread(6,::common_scripts\utility::flag_set,"flag_vo_training_s1_rivers_hostiles_road"); + level.player.showhint = 1; + maps\_utility::delaythread(9.5,::maps\_utility::display_hint_timeout,"stim_prompt",5); + thread maps\recovery_utility::training_s1_set_squad_active_and_target(); + maps\_utility::waittill_aigroupcount("s1_end_ambush",4); + maps\_utility::array_spawn_noteworthy("training_s1_kva_ambush1",1); + maps\_utility::waittill_aigroupcount("s1_end_ambush2",5); + common_scripts\utility::flag_set("training_s1_allow_escape"); + maps\_utility::array_spawn_noteworthy("training_s1_kva_ambush2",1); +} + +//Function Number: 60 +training_s1_door_cover() +{ + common_scripts\utility::flag_wait("training_s1_flag_trees_cloak"); + common_scripts\utility::array_thread(getentarray("training_door_cover","script_noteworthy"),::common_scripts\utility::hide_notsolid); + common_scripts\utility::flag_wait("training_round_2"); + common_scripts\utility::array_thread(getentarray("training_door_cover","script_noteworthy"),::common_scripts\utility::show_solid); +} + +//Function Number: 61 +training_s1_cleanup() +{ + common_scripts\utility::flag_wait("training_s1_end"); + soundscripts\_snd::snd_message("rec_train1_end"); + wait(3); + clearallcorpses(); + var_00 = getentarray("weapon_flash_grenade_var","classname"); + var_01 = getentarray("weapon_frag_grenade_var","classname"); + var_02 = common_scripts\utility::array_combine(var_00,var_01); + foreach(var_04 in var_02) + { + var_04 delete(); + } + + common_scripts\utility::flag_set("training_remove_player_weapons"); + thread maps\recovery_utility::training_reset_stealth_settings(); +} + +//Function Number: 62 +training_s1_ending() +{ + common_scripts\utility::flag_wait("training_s1_allow_escape"); + var_00 = getent("bad_place_escape_vehicle_s1","targetname"); + badplace_brush("parking_spot",-1,var_00,"axis"); + common_scripts\utility::flag_set("training_s1_start_escape_vehicle"); + common_scripts\utility::flag_wait("training_s1_escape_vehicle_ready"); + common_scripts\utility::flag_set("flag_obj_rescue1_escape_vehicle"); + common_scripts\utility::flag_set("flag_vo_training_s1_joker_our_ride"); + var_01 = getent("training_s1_ending_trigger","targetname"); + var_02 = var_01 maps\_shg_utility::hint_button_trigger("use"); + for(;;) + { + var_01 waittill("trigger"); + if(!isdefined(var_01.trigger_off)) + { + break; + } + } + + var_01 delete(); + var_03 = getentarray("grenade","classname"); + foreach(var_05 in var_03) + { + var_05 delete(); + } + + level.player enableinvulnerability(); + thread maps\recovery_utility::play_rumble_training_s1_president_load_fail(); + common_scripts\utility::flag_set("flag_obj_rescue1_escape_vehicle_clear"); + common_scripts\utility::flag_set("knockdown_lighting"); + common_scripts\utility::flag_set("training_s1_end_anim_started"); + common_scripts\utility::flag_set("flag_vo_pa_reset"); + level notify("training_s1_joker_ride_nag_off"); + foreach(var_08 in getaiarray("axis")) + { + var_08 delete(); + } + + badplace_delete("parking_spot"); + var_02 thread maps\_shg_utility::hint_button_clear(); + level.player_rig = maps\recovery_utility::spawn_player_rig(); + level.player_rig hide(); + clearallcorpses(); + level.joker maps\_utility::stop_magic_bullet_shield(); + level.joker delete(); + var_0A = common_scripts\utility::getstruct("training_s1_ending_anim_origin","targetname"); + var_0A.origin = var_0A.origin + (0,0,3.25); + var_0B = 0.4; + var_0A maps\_anim::anim_first_frame_solo(level.player_rig,"training_s1_player_end"); + level.player playerlinktoblend(level.player_rig,"tag_player",var_0B); + level.player maps\_shg_utility::setup_player_for_scene(1,var_0B); + level.player_rig show(); + thread training_unlock_doors(); + common_scripts\utility::flag_set("training_s1_end_setup_gideon"); + common_scripts\utility::flag_set("training_s1_end_setup_president"); + common_scripts\utility::flag_set("training_s1_end_setup_cart"); + common_scripts\utility::flag_set("training_s1_end_setup_driver"); + common_scripts\utility::flag_set("training_s1_end_setup_irons"); + common_scripts\utility::flag_set("training_s1_end_cease_fire"); + level.player common_scripts\utility::delaycall(1,::playerlinktodelta,level.player_rig,"tag_player",1,10,10,10,10,1); + level.player common_scripts\utility::delaycall(1.05,::springcamenabled,1,3.2,1.6); + var_0A maps\_anim::anim_single_solo(level.player_rig,"training_s1_player_end"); + level.player unlink(); + level.player_rig hide(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + soundscripts\_snd::snd_message("tour_jeep_startup"); + level.player disableinvulnerability(); + level.player disableweaponpickup(); + thread training_s1_tour_jeep_board_warn(); + thread training_s1_tour_jeep_board_fail(); + var_0C = getent("clip_jeep_door","targetname"); + var_0C.origin = var_0C.origin + (0,0,64); + thread maps\_utility::autosave_now(); + common_scripts\utility::flag_wait("training_s1_allow_end_enter_jeep"); + common_scripts\utility::flag_set("flag_obj_follow_gideon"); + common_scripts\utility::flag_set("flag_vo_training_gideon_jeep_nag"); + common_scripts\utility::flag_wait("flag_obj_rescue1_allow_end_enter_jeep_clear"); + level.player enableweaponpickup(); + var_0C delete(); + level notify("training_gideon_jeep_nag_off"); + common_scripts\utility::flag_set("training_s1_end_enter_jeep"); + level.player_rig hide(); + level.player_rig dontcastshadows(); + var_0A maps\_anim::anim_first_frame_solo(level.player_rig,"training_s1_player_end_jeep_enter"); + level.player playerlinktoblend(level.player_rig,"tag_player",var_0B); + level.player maps\_shg_utility::setup_player_for_scene(1,var_0B); + level.player_rig show(); + var_0A maps\_anim::anim_single_solo(level.player_rig,"training_s1_player_end_jeep_enter"); + level.player unlink(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + common_scripts\utility::flag_set("start_tour_ride"); + common_scripts\utility::flag_set("flag_obj_rescue1_complete"); +} + +//Function Number: 63 +training_s1_popping_smoke() +{ + common_scripts\utility::flag_wait("training_s1_start_escape_vehicle"); + if(isdefined(level.joker)) + { + maps\_utility::delaythread(3,::common_scripts\utility::flag_set,"flag_vo_training_s1_joker_poppin_smoke"); + } + + wait(5); + var_00 = common_scripts\utility::getstruct("training_s1_pop_smoke_target","targetname"); + var_01 = magicgrenade("smoke_grenade_cheap",var_00.origin,var_00.origin,0,0); + soundscripts\_snd::snd_message("s1_popping_smoke",var_00.origin); +} + +//Function Number: 64 +training_s1_tour_jeep_board_fail() +{ + level endon("training_s1_end_enter_jeep"); + common_scripts\utility::flag_wait("flag_tour_jeep_board_fail"); + setdvar("ui_deadquote",&"RECOVERY_OBJECTIVE_FAIL_JEEP_BOARD"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 65 +training_s1_tour_jeep_board_warn() +{ + level endon("training_s1_end_enter_jeep"); + if(common_scripts\utility::flag_exist("flag_tour_jeep_board_warn")) + { + for(;;) + { + common_scripts\utility::flag_wait("flag_tour_jeep_board_warn"); + level.player.showhint = 1; + thread maps\_utility::display_hint("jeep_warning_prompt"); + common_scripts\utility::flag_waitopen("flag_tour_jeep_board_warn"); + level.player.showhint = 0; + } + } +} + +//Function Number: 66 +training_s1_setup_gideon() +{ + common_scripts\utility::flag_wait("training_s1_end_setup_gideon"); + if(!isdefined(level.gideon)) + { + var_00 = getent("gideon_kva","targetname"); + var_00 thread maps\_utility::add_spawn_function(::maps\recovery::setup_gideon); + var_00 maps\_utility::spawn_ai(1); + } + + level.gideon.name = " "; + level.gideon.ignoreall = 1; + level.gideon.pacifist = 1; + level.gideon maps\_utility::forceuseweapon("iw5_titan45_sp","primary"); + level.gideon thread maps\_utility::set_battlechatter(0); + var_01 = common_scripts\utility::getstruct("training_s1_ending_anim_origin","targetname"); + var_01 maps\_anim::anim_first_frame_solo(level.gideon,"training_s1_gideon_end"); + var_01 maps\_anim::anim_single_solo(level.gideon,"training_s1_gideon_end"); + common_scripts\utility::flag_set("training_s1_allow_end_enter_jeep"); + common_scripts\utility::flag_set("flag_obj_rescue1_allow_end_enter_jeep"); + var_01 thread maps\_anim::anim_loop_solo(level.gideon,"training_s1_gideon_end_idle","stop_loop_gideon"); + level.gideon.name = "Gideon"; + common_scripts\utility::flag_wait("training_s1_end_enter_jeep"); + var_01 notify("stop_loop_gideon"); + var_01 maps\_anim::anim_single_solo(level.gideon,"training_s1_gideon_end_enter"); + level.gideon linkto(level.cart,"tag_body"); + level.cart thread maps\_anim::anim_loop_solo(level.gideon,"rec_tour_ride_a_pt1","stop_loop_gideon","tag_body"); + common_scripts\utility::flag_wait("start_tour_ride"); + level.cart notify("stop_loop_gideon"); + level.gideon.ignoreall = 0; + level.gideon.pacifist = 0; + level.gideon maps\_utility::forceuseweapon("iw5_bal27_sp_silencer01_variablereddot","primary"); +} + +//Function Number: 67 +training_s1_setup_president() +{ + common_scripts\utility::flag_wait("training_s1_end_setup_president"); + if(!isalive(level.president)) + { + var_00 = getent("training_s1_president_spawner","targetname"); + if(var_00.count == 0) + { + var_00.count++; + } + + level.president = var_00 maps\_utility::spawn_ai(1); + level.president maps\_president::set_president_anims(); + level.president thread maps\recovery::set_up_president("training_end_s1_president_start_point","tour_exo_hangar"); + } + + var_01 = common_scripts\utility::getstruct("training_s1_ending_anim_origin","targetname"); + var_01 = var_01 common_scripts\utility::spawn_tag_origin(); + var_01 maps\_anim::anim_first_frame_solo(level.president,"training_s1_president_end"); + var_01 maps\_anim::anim_single_solo(level.president,"training_s1_president_end"); + var_01 thread maps\_anim::anim_loop_solo(level.president,"training_s1_president_end_idle","stop_loop"); + common_scripts\utility::flag_wait("start_tour_ride"); + var_01 notify("stop_loop"); + var_01 delete(); + level.president maps\_utility::stop_magic_bullet_shield(); + level.president delete(); +} + +//Function Number: 68 +training_s1_setup_driver() +{ + common_scripts\utility::flag_wait("training_s1_end_setup_driver"); + if(!isalive(level.driver)) + { + level.driver = getent("tour_driver","targetname") maps\_utility::spawn_ai(1); + level.driver maps\_utility::gun_remove(); + level.driver.animname = "driver"; + level.driver.pacifist = 1; + } + + var_00 = common_scripts\utility::getstruct("training_s1_ending_anim_origin","targetname"); + var_00 maps\_anim::anim_first_frame_solo(level.driver,"training_s1_driver_end"); + var_00 maps\_anim::anim_single_solo(level.driver,"training_s1_driver_end"); + var_00 thread maps\_anim::anim_loop_solo(level.driver,"training_s1_driver_end_idle","stop_loop_driver"); + common_scripts\utility::flag_wait("training_s1_end_enter_jeep"); + var_00 notify("stop_loop_driver"); + var_00 maps\_anim::anim_single_solo(level.driver,"training_s1_driver_end_enter"); + level.driver linkto(level.cart,"tag_body"); + level.cart thread maps\_anim::anim_loop_solo(level.driver,"rec_tour_ride_a_pt1","stop_loop_driver","tag_body"); + common_scripts\utility::flag_wait("start_tour_ride"); + level.cart notify("stop_loop_driver"); +} + +//Function Number: 69 +training_s1_handle_tour_cart() +{ + if(!common_scripts\utility::flag("flag_obj_rescue1_allow_end_enter_jeep_clear")) + { + common_scripts\utility::flag_wait("training_s1_end_setup_cart"); + } + + var_00 = getent("tour_cart","targetname") maps\_utility::spawn_vehicle(); + var_00.animname = "jeep"; + var_00 hide(); + var_01 = maps\_utility::spawn_anim_model("jeep"); + level.cart = var_01; + if(!common_scripts\utility::flag("flag_obj_rescue1_allow_end_enter_jeep_clear")) + { + common_scripts\utility::flag_wait("start_tour_ride"); + } + + var_00 show(); + level.cart = var_00; + var_02 = var_01.origin; + var_03 = var_01.angles; + level.cart vehicle_teleport(var_02,var_03); + var_01 delete(); +} + +//Function Number: 70 +training_s1_setup_cart() +{ + common_scripts\utility::flag_wait("training_s1_end_setup_cart"); + var_00 = common_scripts\utility::getstruct("training_s1_ending_anim_origin","targetname"); + var_00 maps\_anim::anim_first_frame_solo(level.cart,"training_s1_vehicle_tour_end"); + var_00 maps\_anim::anim_single_solo(level.cart,"training_s1_vehicle_tour_end"); + var_00 thread maps\_anim::anim_loop_solo(level.cart,"training_s1_vehicle_tour_end_idle","stop_loop_cart"); + common_scripts\utility::flag_wait("training_s1_end_enter_jeep"); + var_00 notify("stop_loop_cart"); + var_00 maps\_anim::anim_single_solo(level.cart,"training_s1_vehicle_tour_end_enter"); +} + +//Function Number: 71 +training_s1_setup_irons() +{ + common_scripts\utility::flag_wait("training_s1_end_setup_irons"); + if(!isalive(level.irons)) + { + var_00 = getent("training_irons_spawner","targetname"); + level.irons = var_00 maps\_utility::spawn_ai(1); + level.irons.animname = "irons"; + } + + var_01 = common_scripts\utility::getstruct("training_s1_ending_anim_origin","targetname"); + var_01 maps\_anim::anim_first_frame_solo(level.irons,"training_s1_irons_end"); + var_01 maps\_anim::anim_single_solo(level.irons,"training_s1_irons_end"); + var_01 thread maps\_anim::anim_loop_solo(level.irons,"training_s1_irons_end_idle","stop_loop_irons"); + common_scripts\utility::flag_wait("start_tour_ride"); + var_01 notify("stop_loop_irons"); +} + +//Function Number: 72 +training_unlock_doors() +{ + wait(14); + common_scripts\utility::flag_set("training_s1_end"); +} + +//Function Number: 73 +training_s1_remove_player_weapons() +{ + common_scripts\utility::flag_wait("training_remove_player_weapons"); + level.player takeallweapons(); +} + +//Function Number: 74 +setup_tour() +{ + thread tour_ride(); + thread player_speed_manager(); + thread atlas_base_weapon_manager(); + level.ready_room_things = []; + thread ready_room_player(); + thread ready_room_gideon(); + thread ready_room_elevator_right(); + thread ready_room_assault_rifle(); + thread ready_room_sniper_rifle(); + thread tour_shooting_range(); + thread tour_shooting_range_screen_toggle(); + thread tour_shooting_range_interact_manager(); + thread tour_grenade_range_interact_manager(); + thread tour_grenade_range_screen_toggle(); + thread tour_drone_range_interact_manager(); + thread tour_variable_grenade_refill_manager(); + thread tour_jets(); + thread tour_boost_jumpers_initial(); + thread tour_doors(); + thread tour_fans(); + if(level.nextgen) + { + thread tour_windsock(); + } + + thread tour_lander_01(); + thread tour_drones_advanced_warfare(); + thread tour_brave_warrior_01(); + thread tour_brave_warrior_03(); + thread tour_titan_01(); + thread tour_titan_02(); + thread tour_gideon_movement_manager_exo_spar(); + thread tour_exo_observe(); + thread tour_exo_push(); + thread tour_exo_climb(); + thread tour_exo_spar(); + thread tour_exo_boost(); + thread tour_exo_shield(); + thread tour_exo_demo_gideon(); + thread tour_exo_repair_player(); + thread tour_exo_repair_desk(); + thread tour_exo_repair_tech_1(); + thread tour_exo_repair_tech_2(); + thread tour_ready_room_techs(); + thread tour_grenade_range_gideon(); + thread tour_ambient_00(); + thread tour_ambient_01(); + thread tour_ambient_02(); + thread tour_cleanup_01(); +} + +//Function Number: 75 +tour_ride() +{ + common_scripts\utility::flag_wait("start_tour_ride"); + thread tour_ride_player(); + thread tour_ride_gideon(); + thread tour_ride_passengers(); + thread maps\recovery_utility::play_rumble_walker_tank(); + common_scripts\utility::flag_set("tour_ride"); + thread tour_spawn_vtol(); + thread tour_ambient_people(); + thread tour_military_ambient_people(); + thread tour_hangar_ambient_people(); + var_00 = getent("tour_vehicle_1","targetname"); + var_01 = var_00 maps\_vehicle::spawn_vehicle_and_gopath(); + soundscripts\_snd::snd_message("rec_tour_vehicle_1_start",var_01); + maps\_vehicle::gopath(level.cart); + if(level.currentgen) + { + var_02 = common_scripts\utility::getfx("cg_fx_light_jeep_runner"); + playfxontag(var_02,level.cart,"TAG_ORIGIN"); + } + + thread tour_ride_look_anims(); + thread maps\recovery_utility::play_camera_shake_tour_ride(); + common_scripts\utility::flag_wait("dropoff_initiated"); + level.player takeallweapons(); + common_scripts\utility::flag_set("tour_end"); + if(level.currentgen) + { + common_scripts\utility::flag_set("flag_tff_trans_tour_ride_to_tour_exo"); + } + + common_scripts\utility::flag_set("flag_gideon_use_custom_anim_set"); + level.cart maps\_anim::anim_single_solo(level.cart,"rec_tour_ride_c_pt1_jeep"); + common_scripts\utility::flag_set("flag_obj_base_start"); + level.cart waittill("reached_end_node"); + wait(1); + level.cart delete(); +} + +//Function Number: 76 +tour_ride_look_anims() +{ + var_00 = [level.driver,level.irons]; + common_scripts\utility::flag_wait("jeep_ride_look_left"); + level.driver thread maps\recovery_utility::lerp_anim_weight_on_actor_over_time(%rec_tour_ride_a_look_l_driver,1.5,0,1); + level.driver thread maps\recovery_utility::lerp_anim_weight_on_actor_over_time(%rec_tour_ride_a_look_idle_driver,1.5,1,0); + level.irons thread maps\recovery_utility::lerp_anim_weight_on_actor_over_time(%rec_tour_ride_a_look_l_irons,1.5,0,1); + level.irons thread maps\recovery_utility::lerp_anim_weight_on_actor_over_time(%rec_tour_ride_a_look_idle_irons,1.5,1,0); + common_scripts\utility::flag_waitopen("jeep_ride_look_left"); + level.driver thread maps\recovery_utility::lerp_anim_weight_on_actor_over_time(%rec_tour_ride_a_look_l_driver,1.5,1,0); + level.driver thread maps\recovery_utility::lerp_anim_weight_on_actor_over_time(%rec_tour_ride_a_look_idle_driver,1.5,0,1); + level.irons thread maps\recovery_utility::lerp_anim_weight_on_actor_over_time(%rec_tour_ride_a_look_l_irons,1.5,1,0); + level.irons thread maps\recovery_utility::lerp_anim_weight_on_actor_over_time(%rec_tour_ride_a_look_idle_irons,1.5,0,1); + common_scripts\utility::flag_wait("jeep_ride_look_right"); + level.driver thread maps\recovery_utility::lerp_anim_weight_on_actor_over_time(%rec_tour_ride_a_look_r_driver,1.5,0,1); + level.driver thread maps\recovery_utility::lerp_anim_weight_on_actor_over_time(%rec_tour_ride_a_look_idle_driver,1.5,1,0); + common_scripts\utility::flag_waitopen("jeep_ride_look_right"); + level.driver thread maps\recovery_utility::lerp_anim_weight_on_actor_over_time(%rec_tour_ride_a_look_r_driver,1.5,1,0); + level.driver thread maps\recovery_utility::lerp_anim_weight_on_actor_over_time(%rec_tour_ride_a_look_idle_driver,1.5,0,1); + common_scripts\utility::flag_wait("jeep_ride_look_left"); + level.driver thread maps\recovery_utility::lerp_anim_weight_on_actor_over_time(%rec_tour_ride_a_look_l_driver,1.5,0,1); + level.driver thread maps\recovery_utility::lerp_anim_weight_on_actor_over_time(%rec_tour_ride_a_look_idle_driver,1.5,1,0); + common_scripts\utility::flag_waitopen("jeep_ride_look_left"); + level.driver thread maps\recovery_utility::lerp_anim_weight_on_actor_over_time(%rec_tour_ride_a_look_l_driver,1.5,1,0); + level.driver thread maps\recovery_utility::lerp_anim_weight_on_actor_over_time(%rec_tour_ride_a_look_idle_driver,1.5,0,1); + common_scripts\utility::flag_wait("jeep_ride_look_left"); + level.driver thread maps\recovery_utility::lerp_anim_weight_on_actor_over_time(%rec_tour_ride_b_look_l_driver,1.5,0,1); + level.driver thread maps\recovery_utility::lerp_anim_weight_on_actor_over_time(%rec_tour_ride_b_look_idle_driver,1.5,1,0); + common_scripts\utility::flag_waitopen("jeep_ride_look_left"); + level.driver thread maps\recovery_utility::lerp_anim_weight_on_actor_over_time(%rec_tour_ride_b_look_l_driver,1.5,1,0); + level.driver thread maps\recovery_utility::lerp_anim_weight_on_actor_over_time(%rec_tour_ride_b_look_idle_driver,1.5,0,1); + common_scripts\utility::flag_wait("jeep_ride_look_left"); + level.driver thread maps\recovery_utility::lerp_anim_weight_on_actor_over_time(%rec_tour_ride_b_look_l_driver,1.5,0,1); + level.driver thread maps\recovery_utility::lerp_anim_weight_on_actor_over_time(%rec_tour_ride_b_look_idle_driver,1.5,1,0); + level.irons thread maps\recovery_utility::lerp_anim_weight_on_actor_over_time(%rec_tour_ride_b_look_l_irons,1.5,0,1); + level.irons thread maps\recovery_utility::lerp_anim_weight_on_actor_over_time(%rec_tour_ride_b_look_idle_irons,1.5,1,0); + wait(3); + level.driver thread maps\recovery_utility::lerp_anim_weight_on_actor_over_time(%rec_tour_ride_b_look_l_driver,1.5,1,0); + level.driver thread maps\recovery_utility::lerp_anim_weight_on_actor_over_time(%rec_tour_ride_b_look_idle_driver,1.5,0,1); + level.irons thread maps\recovery_utility::lerp_anim_weight_on_actor_over_time(%rec_tour_ride_b_look_l_irons,1.5,1,0); + level.irons thread maps\recovery_utility::lerp_anim_weight_on_actor_over_time(%rec_tour_ride_b_look_idle_irons,1.5,0,1); +} + +//Function Number: 77 +rec_drive_lookat_trigger_think(param_00) +{ + var_01 = getent(self.target,"targetname"); + var_02 = self.radius; + while(distancesquared(self.origin,param_00.origin) > var_02 * var_02) + { + wait(0.1); + } + + param_00 setlookatentity(var_01); + wait(1); + while(distancesquared(self.origin,param_00.origin) < var_02 * var_02) + { + wait(0.1); + } + + param_00 setlookatentity(); +} + +//Function Number: 78 +linerar_lerp(param_00,param_01,param_02) +{ + return param_00 + param_02 * param_01 - param_00; +} + +//Function Number: 79 +monitor_irons_talk() +{ + level.cart endon("reached_end_node"); + for(;;) + { + level waittill("jeep_ride_irons_talk_start"); + level.jeeprideplayerlinktag linkto(level.player_rig,"tag_player",(0,0,0),(0,-20,0)); + make_camera_look_at_talker(); + } +} + +//Function Number: 80 +monitor_gideon_talk() +{ + level.cart endon("reached_end_node"); + level waittill("jeep_ride_gideon_talk_start"); + level.jeeprideplayerlinktag linkto(level.player_rig,"tag_player",(0,0,0),(0,-60,0)); + make_camera_look_at_talker(); +} + +//Function Number: 81 +make_camera_look_at_talker() +{ + level endon("jeep_ride_irons_talk_stop"); + var_00 = 0.05; + var_01 = 1; + while(var_01 > 0) + { + level.player unlink(); + level.player playerlinktodelta(level.jeeprideplayerlinktag,"tag_origin",1,level.jeeprideplayerlinktag.r * var_01,level.jeeprideplayerlinktag.l * var_01,level.jeeprideplayerlinktag.t * var_01,level.jeeprideplayerlinktag.b * var_01); + var_01 = var_01 - var_00; + wait 0.05; + } + + var_01 = 1; + level.jeeprideplayerlinktag linkto(level.player_rig,"tag_player",(0,0,0),(0,0,0)); + level.player unlink(); + level.player playerlinktodelta(level.jeeprideplayerlinktag,"tag_origin",1,level.jeeprideplayerlinktag.r * var_01,level.jeeprideplayerlinktag.l * var_01,level.jeeprideplayerlinktag.t * var_01,level.jeeprideplayerlinktag.b * var_01); +} + +//Function Number: 82 +tour_ride_passengers() +{ + if(!isalive(level.driver)) + { + level.driver = getent("tour_driver","targetname") maps\_utility::spawn_ai(1); + level.driver maps\_utility::gun_remove(); + level.driver.animname = "driver"; + level.driver.pacifist = 1; + } + + level.driver.name = " "; + if(!isalive(level.irons)) + { + var_00 = getent("training_irons_spawner","targetname"); + level.irons = var_00 maps\_utility::spawn_ai(1); + level.irons.animname = "irons"; + } + + var_01 = [level.driver,level.irons]; + level.driver linkto(level.cart,"tag_body"); + level.irons linkto(level.cart,"tag_body"); + level.irons.no_ai = 1; + level.cart setanimknob(%rec_tour_ride_a_pt1_jeep,1,0,1); + level.cart thread maps\_anim::anim_loop(var_01,"rec_tour_ride_a_pt1",undefined,"tag_body"); + common_scripts\utility::flag_wait("jeep_ride_anim_a"); + common_scripts\utility::flag_set("flag_tour_start_dialog2"); + level.cart notify("stop_loop"); + level.cart setanimknob(%rec_tour_ride_a_pt2_jeep,1,0,1); + level.cart maps\_anim::anim_single(var_01,"rec_tour_ride_a_pt2","tag_body"); + level.cart setanimknob(%rec_tour_ride_b_pt1_jeep,1,0,1); + level.cart thread maps\_anim::anim_loop(var_01,"rec_tour_ride_b_pt1",undefined,"tag_body"); + common_scripts\utility::flag_wait("jeep_ride_anim_b"); + common_scripts\utility::flag_set("flag_tour_start_dialog3"); + level.cart notify("stop_loop"); + level.cart setanimknob(%rec_tour_ride_b_pt2_jeep,1,0,1); + level.cart maps\_anim::anim_single(var_01,"rec_tour_ride_b_pt2","tag_body"); + level.cart setanimknob(%rec_tour_ride_b_pt1_jeep,1,0,1); + level.cart thread maps\_anim::anim_loop(var_01,"rec_tour_ride_b_pt1",undefined,"tag_body"); + common_scripts\utility::flag_wait("dropoff_initiated"); + common_scripts\utility::flag_set("flag_tour_start_dialog4"); + level.cart notify("stop_loop"); + level.cart maps\_anim::anim_single(var_01,"rec_tour_ride_c_pt1","tag_body",undefined,undefined,1); + level.cart thread maps\_anim::anim_loop(var_01,"rec_tour_ride_c_pt2",undefined,"tag_body"); + level.cart waittill("reached_end_node"); + level.cart notify("stop_loop"); + level.driver unlink(); + level.driver delete(); + level.irons unlink(); + level.irons delete(); +} + +//Function Number: 83 +tour_ride_gideon() +{ + if(!isdefined(level.gideon)) + { + var_00 = getent("gideon","targetname"); + var_00 thread maps\_utility::add_spawn_function(::maps\recovery::setup_gideon); + var_00 maps\_utility::spawn_ai(1); + level.gideon forceteleport(level.player.origin,level.player.angles,99999); + level.gideon.script_pushable = 0; + } + + level.gideon maps\_utility::gun_remove(); + level.gideon linkto(level.cart,"tag_body"); + level.cart thread maps\_anim::anim_loop_solo(level.gideon,"rec_tour_ride_a_pt1","stop_loop_gideon","tag_body"); + wait(10); + level notify("jeep_ride_gideon_talk_start"); + wait(1); + common_scripts\utility::flag_set("tour_ride_gideon_pcap"); + level.cart notify("stop_loop_gideon"); + level.cart maps\_anim::anim_single_solo(level.gideon,"rec_tour_ride_gideon_dialogue_gideon","tag_body"); + level.cart thread maps\_anim::anim_loop_solo(level.gideon,"rec_tour_ride_a_pt1","stop_loop_gideon","tag_body"); + common_scripts\utility::flag_wait("jeep_ride_anim_a"); + level.cart notify("stop_loop_gideon"); + level.cart maps\_anim::anim_single_solo(level.gideon,"rec_tour_ride_a_pt2","tag_body"); + level.cart thread maps\_anim::anim_loop_solo(level.gideon,"rec_tour_ride_b_pt1","stop_loop_gideon","tag_body"); + common_scripts\utility::flag_wait("jeep_ride_anim_b"); + level.cart notify("stop_loop_gideon"); + level.cart maps\_anim::anim_single_solo(level.gideon,"rec_tour_ride_b_pt2","tag_body"); + level.cart thread maps\_anim::anim_loop_solo(level.gideon,"rec_tour_ride_b_pt1","stop_loop_gideon","tag_body"); + common_scripts\utility::flag_wait("dropoff_initiated"); + level.cart notify("stop_loop_gideon"); + level.gideon unlink(); + level.cart maps\_anim::anim_single_solo(level.gideon,"rec_tour_ride_c_pt1","tag_body",undefined,undefined); +} + +//Function Number: 84 +tour_ride_player() +{ + if(!isdefined(level.player_rig)) + { + level.player_rig = maps\_utility::spawn_anim_model("player_rig"); + } + + var_00 = level.player_rig; + level.jeeprideplayerarms = var_00; + level.player maps\_shg_utility::setup_player_for_scene(); + var_01 = 0.5; + level.jeeprideplayerlinktag = var_00 common_scripts\utility::spawn_tag_origin(); + thread monitor_irons_talk(); + thread monitor_gideon_talk(); + level.jeeprideplayerlinktag linkto(var_00,"tag_player",(0,0,0),(0,0,0)); + level.jeeprideplayerlinktag.r = 60; + level.jeeprideplayerlinktag.l = 60; + level.jeeprideplayerlinktag.t = 30; + level.jeeprideplayerlinktag.b = 15; + level.player playerlinktodelta(level.jeeprideplayerlinktag,"tag_origin",1,level.jeeprideplayerlinktag.r,level.jeeprideplayerlinktag.l,level.jeeprideplayerlinktag.t,level.jeeprideplayerlinktag.b); + var_00 linkto(level.cart,"tag_body"); + level.player enableslowaim(0.6,0.4); + level.cart thread maps\_anim::anim_loop_solo(var_00,"rec_tour_ride_a_pt1",undefined,"tag_body"); + thread maps\recovery_utility::play_rumble_jeep_ride(); + level.player lerpfov(57.5,5); + common_scripts\utility::flag_wait("jeep_ride_anim_a"); + level.cart notify("stop_loop"); + level.cart thread maps\_anim::anim_loop_solo(var_00,"rec_tour_ride_b_pt1",undefined,"tag_body"); + common_scripts\utility::flag_wait("jeep_ride_anim_b"); + level.cart notify("stop_loop"); + level.cart thread maps\_anim::anim_loop_solo(var_00,"rec_tour_ride_b_pt1",undefined,"tag_body"); + common_scripts\utility::flag_wait("dropoff_initiated"); + level.cart notify("stop_loop"); + var_00 unlink(); + level.player lerpviewangleclamp(2,0.5,0.5,20,20,20,20); + level.player common_scripts\utility::delaycall(11,::lerpfov,65,3); + maps\_utility::delaythread(16,::common_scripts\utility::flag_set,"dropoff_complete"); + level.player common_scripts\utility::delaycall(2,::springcamenabled,1,4.2,2.6); + level.cart maps\_anim::anim_single_solo(var_00,"rec_tour_ride_c_pt1","tag_body"); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.player unlink(); + var_00 hide(); + level.player disableslowaim(); + level.player disableoffhandweapons(); + level.player disableoffhandsecondaryweapons(); + common_scripts\utility::flag_set("flag_vo_exo_room_01"); + common_scripts\utility::flag_set("flag_disable_exo"); + level.player allowfire(0); + level.player allowads(0); + level.player allowmelee(0); + level.player allowsprint(0); + thread maps\_utility::autosave_now(); +} + +//Function Number: 85 +tour_gideon_movement_manager_exo_spar() +{ + common_scripts\utility::flag_wait("arm_swapped"); + common_scripts\utility::flag_wait("tour_yellow_door_01"); + level.gideon maps\_utility::set_goalradius(32); + maps\_utility::activate_trigger_with_targetname("gideon_move_to_exo_spar"); + wait 0.05; + level.gideon maps\_utility::disable_ai_color(); + level.gideon waittill("goal"); + var_00 = getent("tourspawner_exo_spar_01","targetname") common_scripts\utility::spawn_tag_origin(); + level.gideon setlookatentity(var_00); + common_scripts\utility::flag_set("flag_vo_exo_room_05"); + common_scripts\utility::flag_wait_or_timeout("shooting_range_stairs_down",6); + level.gideon setlookatentity(); + var_00 delete(); + if(!common_scripts\utility::flag("shooting_range_stairs_down")) + { + level.gideon maps\_utility::enable_ai_color(); + } +} + +//Function Number: 86 +tour_exo_observe() +{ + common_scripts\utility::flag_wait("tour_exo_hangar"); + var_00 = getent("org_anim_exo_observe","targetname"); + var_01 = getent("tourspawner_exo_observe_01","targetname") maps\_utility::spawn_ai(1); + var_02 = getent("tourspawner_exo_observe_02","targetname") maps\_utility::spawn_ai(1); + var_03 = getent("tourspawner_exo_observe_03","targetname") maps\_utility::spawn_ai(1); + var_04 = getent("tourspawner_exo_observe_04","targetname") maps\_utility::spawn_ai(1); + var_01.animname = "exo_observer_01"; + var_02.animname = "exo_observer_02"; + var_03.animname = "exo_observer_03"; + var_04.animname = "exo_observer_04"; + var_05 = [var_01,var_02,var_03,var_04]; + var_00 thread maps\_anim::anim_loop(var_05,"rec_atlas_exo_observe_idle"); + var_06 = getent("observer_spawner_c","targetname"); + var_07 = getent("observer_spawner_f","targetname"); + var_08 = getentarray("exo_observer","targetname"); + var_09 = []; + foreach(var_0B in var_08) + { + var_06.count = 1; + var_07.count = 1; + if(common_scripts\utility::cointoss()) + { + var_0C = var_06 maps\_utility::spawn_ai(1); + } + else + { + var_0C = var_07 maps\_utility::spawn_ai(1); + } + + var_0C setmodel(var_0B.model); + var_09[var_09.size] = var_0C; + var_0B maps\_utility::delaythread(randomfloat(2),::maps\_shg_design_tools::anim_simple,var_0C,var_0B.animation); + if(var_0B.animation == "rec_atlas_push_lab_idle_01" || var_0B.animation == "rec_atlas_push_lab_idle_02" || var_0B.animation == "rec_atlas_push_lab_idle_03") + { + var_0C attach("dem_tablet_pc_01","tag_weapon_left"); + } + + wait 0.05; + } + + var_00 = getent("org_anim_exo_arm_01","targetname"); + level.exo_climb_tech_01 = getent("tourspawner_exo_climb_tech_01","targetname") maps\_utility::spawn_ai(1); + level.exo_climb_tech_02 = getent("tourspawner_exo_climb_tech_02","targetname") maps\_utility::spawn_ai(1); + level.exo_climb_tech_03 = getent("tourspawner_exo_climb_tech_03","targetname") maps\_utility::spawn_ai(1); + level.exo_climb_tech_01.animname = "exo_climb_tech_01"; + level.exo_climb_tech_02.animname = "exo_climb_tech_02"; + level.exo_climb_tech_03.animname = "exo_climb_tech_03"; + var_0E = level.exo_climb_tech_01 common_scripts\utility::spawn_tag_origin(); + var_0E thread maps\_shg_design_tools::anim_simple(level.exo_climb_tech_01,level.exo_climb_tech_01.animation); + level.exo_climb_tech_02 thread maps\_shg_design_tools::anim_simple(level.exo_climb_tech_02,level.exo_climb_tech_02.animation); + level.exo_climb_tech_03 maps\_utility::delaythread(2,::maps\_shg_design_tools::anim_simple,level.exo_climb_tech_03,level.exo_climb_tech_03.animation); + level.exo_climb_tech_02 attach("dem_tablet_pc_01","tag_weapon_left"); + level.exo_climb_tech_03 attach("dem_tablet_pc_01","tag_weapon_left"); + common_scripts\utility::flag_wait("flag_obj_firing_range_pre"); + level.exo_climb_tech_01 delete(); + level.exo_climb_tech_02 delete(); + level.exo_climb_tech_03 delete(); + common_scripts\utility::array_call(var_09,::delete); + var_0E delete(); + foreach(var_10 in var_05) + { + var_10 delete(); + } +} + +//Function Number: 87 +tour_exo_push() +{ + common_scripts\utility::flag_wait("tour_exo_hangar"); + thread tour_exo_push_motion_tracker("01"); + thread tour_exo_push_motion_tracker("02"); + var_00 = getent("org_anim_exo_push","targetname"); + var_01 = getent("tourspawner_exo_push_01","targetname") maps\_utility::spawn_ai(1); + var_02 = getent("tourspawner_exo_push_02","targetname") maps\_utility::spawn_ai(1); + var_03 = getent("exo_push_crane_01","targetname"); + var_04 = getent("exo_push_crane_02","targetname"); + var_05 = getent("exo_push_sled_01","targetname"); + var_06 = getent("exo_push_sled_02","targetname"); + var_01.animname = "pusher_1"; + var_02.animname = "pusher_2"; + var_03.animname = "exo_push_crane_01"; + var_04.animname = "exo_push_crane_02"; + var_05.animname = "exo_push_sled_01"; + var_06.animname = "exo_push_sled_02"; + var_03 maps\_utility::assign_animtree(); + var_04 maps\_utility::assign_animtree(); + var_05 maps\_utility::assign_animtree(); + var_06 maps\_utility::assign_animtree(); + var_07 = [var_01,var_02,var_03,var_04,var_05,var_06]; + var_00 thread maps\_anim::anim_loop(var_07,"rec_atlas_push_idle"); + common_scripts\utility::flag_wait("flag_obj_firing_range_pre"); + common_scripts\utility::array_add(var_07,var_00); + foreach(var_09 in var_07) + { + var_09 delete(); + } +} + +//Function Number: 88 +tour_exo_push_motion_tracker(param_00) +{ + var_01 = getentarray("push_motion_tracker_" + param_00,"targetname"); + var_02 = 1; + var_03 = 1; + var_04 = 400; + if(param_00 == "01") + { + var_02 = 5.7; + var_03 = 5; + var_04 = 400; + } + + if(param_00 == "02") + { + var_02 = 8.9; + var_03 = 5; + var_04 = 400; + } + + while(!common_scripts\utility::flag("flag_obj_firing_range_pre")) + { + level waittill("initiate_push_" + param_00); + foreach(var_06 in var_01) + { + var_06 moveto(var_06.origin - (var_04,0,0),var_02,0.4,0.4); + } + + wait(var_02); + wait(18.5); + foreach(var_06 in var_01) + { + var_06 moveto(var_06.origin + (var_04,0,0),var_03,0.4,0.4); + } + + wait(var_03); + } + + common_scripts\utility::flag_wait("flag_obj_firing_range_pre"); + foreach(var_06 in var_01) + { + var_06 delete(); + } +} + +//Function Number: 89 +tour_exo_climb() +{ + var_00 = getent("org_anim_exo_climb","targetname"); + var_01 = getent("tourspawner_exo_climb","targetname") maps\_utility::spawn_ai(1); + var_01.animname = "climber_1"; + var_00 thread maps\_anim::anim_first_frame_solo(var_01,"rec_atlas_climb_guy02"); + common_scripts\utility::flag_wait("tour_solid_door_01"); + common_scripts\utility::flag_wait("looking_at_exo_climb"); + var_00 maps\_anim::anim_single_solo(var_01,"rec_atlas_climb_guy02"); + var_00 thread maps\_anim::anim_loop_solo(var_01,"rec_atlas_climb_idle_guy02"); + common_scripts\utility::flag_wait("arm_swapped"); + common_scripts\utility::flag_wait("tour_yellow_door_01"); + var_00 notify("stop_loop"); + var_00 maps\_anim::anim_single_solo(var_01,"rec_atlas_climb_guy02"); + var_00 thread maps\_anim::anim_loop_solo(var_01,"rec_atlas_climb_idle_guy02"); + common_scripts\utility::flag_wait("flag_obj_firing_range_pre"); + var_00 notify("stop_loop"); + var_01 delete(); + var_00 delete(); +} + +//Function Number: 90 +tour_exo_spar() +{ + common_scripts\utility::flag_wait("tour_exo_hangar"); + var_00 = getent("org_anim_exo_spar_01","targetname"); + var_01 = getent("tourspawner_exo_spar_01","targetname") maps\_utility::spawn_ai(1); + var_02 = getent("tourspawner_exo_spar_02","targetname") maps\_utility::spawn_ai(1); + var_03 = getent("tourspawner_exo_spar_03","targetname") maps\_utility::spawn_ai(1); + var_04 = getent("tourspawner_exo_spar_04","targetname") maps\_utility::spawn_ai(1); + var_05 = getent("tourspawner_exo_spar_05","targetname") maps\_utility::spawn_ai(1); + var_01.animname = "wrestler_1"; + var_02.animname = "wrestler_2"; + var_03.animname = "wrestler_3"; + var_04.animname = "wrestler_4"; + var_05.animname = "wrestler_5"; + var_01 maps\_utility::gun_remove(); + var_06 = [var_01,var_02,var_03,var_04,var_05]; + var_07 = "rec_atlas_warmup_idle"; + var_08 = "rec_atlas_wrestling_idle"; + var_00 thread maps\_anim::anim_loop(var_06,var_07); + var_00 notify("stop_loop"); + common_scripts\utility::flag_wait("arm_swapped"); + common_scripts\utility::flag_wait("tour_yellow_door_01"); + maps\_utility::delaythread(0.05,::maps\_anim::anim_set_time,var_06,var_08,0.18); + var_00 maps\_anim::anim_single(var_06,var_08); + var_00 thread maps\_anim::anim_loop(var_06,var_07); + common_scripts\utility::flag_wait("flag_obj_firing_range_pre"); + foreach(var_0A in var_06) + { + var_0A delete(); + } + + var_00 delete(); +} + +//Function Number: 91 +tour_exo_boost() +{ + common_scripts\utility::flag_wait("tour_exo_hangar"); + var_00 = getent("exo_booster_01","targetname") maps\_utility::spawn_ai(1); + var_01 = getent("exo_booster_02","targetname") maps\_utility::spawn_ai(1); + var_00.canjumppath = 1; + var_01.canjumppath = 1; + var_00 thread tour_exo_boost_lifetime_ccw(); + var_01 thread tour_exo_boost_lifetime_cw(); + common_scripts\utility::flag_wait("flag_obj_firing_range_pre"); + var_00 delete(); + var_01 delete(); +} + +//Function Number: 92 +tour_exo_shield_model_swap() +{ + common_scripts\utility::flag_wait("flag_shield_turret_shooting"); + self setmodel("npc_exo_riot_shield_B"); +} + +//Function Number: 93 +tour_exo_shield() +{ + level endon("flag_obj_firing_range_pre"); + common_scripts\utility::flag_wait("tour_exo_hangar"); + var_00 = getent("org_exo_shield","targetname"); + var_00 thread maps\recovery_utility::delete_on_notify("flag_obj_firing_range_pre"); + var_01 = getent("exo_shield_guy","targetname") maps\_utility::spawn_ai(1,1); + var_01.team = "axis"; + var_01 maps\_utility::disable_pain(); + var_01 thread maps\recovery_utility::delete_on_notify("flag_obj_firing_range_pre"); + var_01.animname = "shielder_1"; + var_01.no_ai = 1; + var_01 maps\_utility::gun_remove(); + var_02 = maps\_utility::spawn_anim_model("exo_shield_01"); + var_02.animname = "exo_shield_01"; + var_02 thread maps\recovery_utility::delete_on_notify("flag_obj_firing_range_pre"); + var_03 = getent("exo_room_turret","targetname"); + var_03 makeentitysentient("axis"); + var_03 setmode("sentry"); + var_03 settargetentity(var_02); + var_03 turretfireenable(); + var_03 thread maps\recovery_utility::delete_on_notify("flag_obj_firing_range_pre"); + var_03 setdefaultdroppitch(0); + var_03 setsentryowner(level.player); + var_03 setturretteam("axis"); + var_04 = [var_01,var_02]; + var_00 maps\_anim::anim_first_frame(var_04,"rec_exo_shield_intro"); + common_scripts\utility::flag_wait("exo_shield_start"); + thread tour_exo_shield_turret(var_03); + var_02 thread tour_exo_shield_model_swap(); + var_00 maps\_anim::anim_single(var_04,"rec_exo_shield_intro"); + var_00 thread maps\_anim::anim_loop(var_04,"rec_exo_shield_idle"); +} + +//Function Number: 94 +tour_exo_shield_turret(param_00) +{ + level endon("flag_obj_firing_range_pre"); + common_scripts\utility::flag_wait("tour_yellow_door_01"); + for(;;) + { + if(common_scripts\utility::flag("tour_exo_arm")) + { + common_scripts\utility::flag_wait("arm_swapped"); + } + + common_scripts\utility::flag_wait("flag_shield_turret_shooting"); + param_00 startbarrelspin(); + while(common_scripts\utility::flag("flag_shield_turret_shooting")) + { + param_00 shootturret(); + wait(0.1); + } + + common_scripts\utility::flag_waitopen("flag_shield_turret_shooting"); + param_00 stopbarrelspin(); + } +} + +//Function Number: 95 +tour_exo_boost_lifetime_ccw() +{ + level endon("flag_obj_firing_range_pre"); + for(;;) + { + var_00 = getnode("exo_jump_goal_01a","targetname"); + self setgoalpos(var_00.origin); + self.goalradius = var_00.radius; + guy_distance_checker(var_00); + var_00 = getnode("exo_jump_goal_01b","targetname"); + self setgoalpos(var_00.origin); + self.goalradius = var_00.radius; + guy_distance_checker(var_00); + var_00 = getnode("exo_jump_goal_01c","targetname"); + self setgoalpos(var_00.origin); + self.goalradius = var_00.radius; + guy_distance_checker(var_00); + var_00 = getnode("exo_jump_goal_01d","targetname"); + self setgoalpos(var_00.origin); + self.goalradius = var_00.radius; + guy_distance_checker(var_00); + } +} + +//Function Number: 96 +tour_exo_boost_lifetime_cw() +{ + level endon("flag_obj_firing_range_pre"); + for(;;) + { + var_00 = getnode("exo_jump_goal_01a","targetname"); + self setgoalpos(var_00.origin); + self.goalradius = var_00.radius; + guy_distance_checker(var_00); + var_00 = getnode("exo_jump_goal_01d","targetname"); + self setgoalpos(var_00.origin); + self.goalradius = var_00.radius; + guy_distance_checker(var_00); + var_00 = getnode("exo_jump_goal_01c","targetname"); + self setgoalpos(var_00.origin); + self.goalradius = var_00.radius; + guy_distance_checker(var_00); + var_00 = getnode("exo_jump_goal_01b","targetname"); + self setgoalpos(var_00.origin); + self.goalradius = var_00.radius; + guy_distance_checker(var_00); + } +} + +//Function Number: 97 +guy_distance_checker(param_00) +{ + while(distance(self.origin,param_00.origin) > param_00.radius) + { + wait 0.05; + } +} + +//Function Number: 98 +tour_exo_demo_gideon() +{ + var_00 = getent("org_anim_exo_demo","targetname"); + common_scripts\utility::flag_wait("gideon_exo_demo"); + level.gideon maps\_utility::disable_ai_color(); + var_00 maps\_anim::anim_reach_solo(level.gideon,"rec_exo_arm_repair_readyroom_gideon_idle_in"); + common_scripts\utility::flag_set("flag_vo_exo_room_03"); + var_00 maps\_anim::anim_single_solo(level.gideon,"rec_exo_arm_repair_readyroom_gideon_idle_in"); + var_00 thread maps\_anim::anim_loop_solo(level.gideon,"rec_exo_arm_repair_readyroom_gideon_idle","gideon_ender"); + common_scripts\utility::flag_wait("tour_exo_arm"); + var_00 notify("gideon_ender"); + level.gideon maps\_utility::enable_ai_color(); + maps\_utility::activate_trigger_with_targetname("gideon_move_to_post_repair"); +} + +//Function Number: 99 +tour_exo_repair_player() +{ + common_scripts\utility::flag_wait("tour_yellow_door_03"); + var_00 = getent("org_anim_exo_arm_01","targetname"); + var_00 thread maps\recovery_utility::delete_on_notify("flag_obj_firing_range_pre"); + common_scripts\utility::flag_wait("player_enters_arm_repair_room"); + common_scripts\utility::flag_set("flag_vo_arm_room_01"); + thread maps\recovery_utility::play_rumble_arm_repair(); + common_scripts\utility::flag_wait("tour_exo_arm"); + common_scripts\utility::flag_set("flag_vo_arm_room_02"); + common_scripts\utility::flag_set("flag_obj_arm_repair_start"); + level.player maps\_shg_utility::setup_player_for_scene(); + var_01 = 0.5; + var_02 = maps\_utility::spawn_anim_model("player_rig_repair"); + var_02 hide(); + var_00 thread maps\_anim::anim_first_frame_solo(var_02,"rec_exo_arm_repair_vm"); + level.player playerlinktoblend(var_02,"tag_player",var_01); + level.player common_scripts\utility::delaycall(var_01,::playerlinktodelta,var_02,"tag_player",1,7,7,5,5,1); + level.player common_scripts\utility::delaycall(var_01 + 0.05,::springcamenabled,1,3.2,1.6); + var_02 common_scripts\utility::delaycall(var_01,::show); + thread tour_exo_arm_repair_test_seq(var_02); + var_00 maps\_anim::anim_single_solo(var_02,"rec_exo_arm_repair_vm"); + var_00 thread maps\_anim::anim_first_frame_solo(var_02,"rec_exo_arm_repair_attempt_01_vm"); + var_00 maps\_anim::anim_single_solo(var_02,"rec_exo_arm_repair_attempt_01_vm"); + common_scripts\utility::flag_wait("arm_repair_attempt_1"); + level.player.arm_repair_attempt = 1; + level.player.showhint = 1; + thread maps\_utility::hintdisplayhandler("repair_prompt"); + common_scripts\utility::flag_set("tour_exo_arm_repair_test_seq"); + soundscripts\_snd::snd_message("exo_repair_movement",1); + wait_for_considerable_left_stick_interact(2); + common_scripts\utility::flag_clear("tour_exo_arm_repair_test_seq"); + soundscripts\_snd::snd_message("exo_repair_movement_stop"); + level.player.showhint = 0; + common_scripts\utility::flag_clear("arm_repair_attempt_1"); + common_scripts\utility::flag_set("flag_vo_arm_room_03"); + var_00 maps\_anim::anim_single_solo(var_02,"rec_exo_arm_repair_attempt_02_vm"); + common_scripts\utility::flag_wait("arm_repair_attempt_2"); + level.player.arm_repair_attempt = 2; + level.player.showhint = 1; + thread maps\_utility::hintdisplayhandler("repair_prompt"); + common_scripts\utility::flag_set("tour_exo_arm_repair_test_seq"); + soundscripts\_snd::snd_message("exo_repair_movement",2); + wait_for_considerable_left_stick_interact(2.5); + common_scripts\utility::flag_clear("tour_exo_arm_repair_test_seq"); + soundscripts\_snd::snd_message("exo_repair_movement_stop"); + level.player.showhint = 0; + common_scripts\utility::flag_clear("arm_repair_attempt_2"); + common_scripts\utility::flag_set("flag_vo_arm_room_04"); + var_00 maps\_anim::anim_single_solo(var_02,"rec_exo_arm_repair_attempt_03_vm"); + common_scripts\utility::flag_wait("arm_repair_attempt_3"); + level.player.arm_repair_attempt = 3; + level.player.showhint = 1; + thread maps\_utility::hintdisplayhandler("repair_prompt"); + level.player.should_reverse_controls = 0; + common_scripts\utility::flag_set("tour_exo_arm_repair_test_seq"); + soundscripts\_snd::snd_message("exo_repair_movement",3); + wait_for_considerable_left_stick_interact(3); + common_scripts\utility::flag_clear("tour_exo_arm_repair_test_seq"); + soundscripts\_snd::snd_message("exo_repair_movement_stop"); + level.player.showhint = 0; + common_scripts\utility::flag_clear("arm_repair_attempt_3"); + common_scripts\utility::flag_set("flag_vo_arm_room_05"); + common_scripts\utility::flag_set("desk_exit"); + var_00 maps\_anim::anim_single_solo(var_02,"rec_exo_arm_repair_attempt_exit_vm"); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level notify("tour_exo_arm_repair_test_seq_complete"); + level.player springcamdisabled(0); + level.player unlink(); + var_02 delete(); + level.player allowsprint(0); + level.player allowmelee(0); + level.player disableoffhandweapons(); + level.player disableoffhandsecondaryweapons(); + common_scripts\utility::flag_set("arm_swapped"); + maps\recovery_utility::gideon_change_outfit(); + common_scripts\utility::flag_set("flag_obj_arm_repair_complete"); + thread maps\_utility::autosave_now(); +} + +//Function Number: 100 +lerp_weight(param_00,param_01,param_02) +{ + return param_00 + param_01 - param_00 * param_02; +} + +//Function Number: 101 +tour_exo_arm_repair_test_seq_internal(param_00,param_01) +{ + param_01 = []; + param_01["anim_center"] = %rec_exo_arm_repair_attempt_response_idle_vm; + if(level.player.arm_repair_attempt == 1) + { + param_01["anim_left"] = %rec_exo_arm_repair_attempt_response_01_l_vm; + param_01["anim_right"] = %rec_exo_arm_repair_attempt_response_01_r_vm; + param_01["anim_up"] = %rec_exo_arm_repair_attempt_response_01_u_vm; + param_01["anim_down"] = %rec_exo_arm_repair_attempt_response_01_d_vm; + } + else if(level.player.arm_repair_attempt == 2) + { + param_01["anim_left"] = %rec_exo_arm_repair_attempt_response_02_l_vm; + param_01["anim_right"] = %rec_exo_arm_repair_attempt_response_02_r_vm; + param_01["anim_up"] = %rec_exo_arm_repair_attempt_response_02_u_vm; + param_01["anim_down"] = %rec_exo_arm_repair_attempt_response_02_d_vm; + } + else if(level.player.arm_repair_attempt == 3) + { + param_01["anim_left"] = %rec_exo_arm_repair_attempt_response_03_l_vm; + param_01["anim_right"] = %rec_exo_arm_repair_attempt_response_03_r_vm; + param_01["anim_up"] = %rec_exo_arm_repair_attempt_response_03_u_vm; + param_01["anim_down"] = %rec_exo_arm_repair_attempt_response_03_d_vm; + } + else + { + } + + var_02 = []; + var_02["anim_left"] = 0; + var_02["anim_right"] = 0; + var_02["anim_up"] = 0; + var_02["anim_down"] = 0; + var_02["anim_center"] = 1; + var_03 = 0.5; + for(;;) + { + if(common_scripts\utility::flag("tour_exo_arm_repair_test_seq")) + { + var_04 = level.player getnormalizedmovement(); + } + else + { + if(var_02["anim_center"] > 0.99) + { + break; + } + + var_04 = (0,0,0); + } + + if(var_04[1] < 0) + { + var_02["anim_left"] = lerp_weight(var_02["anim_left"],var_04[1] * -1,var_03); + var_02["anim_right"] = lerp_weight(var_02["anim_right"],0,var_03); + } + else + { + var_02["anim_right"] = lerp_weight(var_02["anim_right"],var_04[1],var_03); + var_02["anim_left"] = lerp_weight(var_02["anim_left"],0,var_03); + } + + if(var_04[0] < 0) + { + var_02["anim_up"] = lerp_weight(var_02["anim_up"],var_04[0] * -1,var_03); + var_02["anim_down"] = lerp_weight(var_02["anim_down"],0,var_03); + } + else + { + var_02["anim_down"] = lerp_weight(var_02["anim_down"],var_04[0],var_03); + var_02["anim_up"] = lerp_weight(var_02["anim_up"],0,var_03); + } + + var_02["anim_center"] = max(0,1 - var_02["anim_left"] + var_02["anim_right"] + var_02["anim_up"] + var_02["anim_down"]); + foreach(var_06 in getarraykeys(var_02)) + { + param_00 setanim(param_01[var_06],var_02[var_06],0.05,1); + } + + soundscripts\_snd::snd_message("exo_repair_weight_updates",var_02); + wait 0.05; + } +} + +//Function Number: 102 +tour_exo_arm_repair_test_seq(param_00) +{ + level endon("tour_exo_arm_repair_test_seq_complete"); + common_scripts\utility::flag_init("tour_exo_arm_repair_test_seq"); + for(;;) + { + common_scripts\utility::flag_wait("tour_exo_arm_repair_test_seq"); + tour_exo_arm_repair_test_seq_internal(param_00); + } +} + +//Function Number: 103 +tour_exo_repair_desk() +{ + common_scripts\utility::flag_wait("tour_exo_hangar"); + var_00 = getent("med_desk_01","targetname"); + var_00.animname = "animated_desk"; + var_00 maps\_utility::assign_animtree(); + var_01 = getent("org_anim_exo_arm_01","targetname"); + var_01 = var_01 common_scripts\utility::spawn_tag_origin(); + var_01 thread maps\recovery_utility::delete_on_notify("flag_obj_firing_range_pre"); + var_01 thread maps\_anim::anim_loop_solo(var_00,"rec_exo_arm_repair_start_idle_desk","stop_loop_desk"); + common_scripts\utility::flag_wait("player_approaches_med_desk"); + wait(1); + var_01 notify("stop_loop_desk"); + var_01 maps\_anim::anim_single_solo(var_00,"rec_exo_arm_repair_chair_unfold_desk"); + common_scripts\utility::flag_set("flag_obj_arm_repair_desk_enabled"); + var_01 thread maps\_anim::anim_loop_solo(var_00,"rec_exo_arm_repair_chair_unfold_idle_desk","stop_loop_desk"); + level waittill("tour_exo_arm_repair_player_looking_at_desk"); + var_01 notify("stop_loop_desk"); + var_01 maps\_anim::anim_single_solo(var_00,"rec_exo_arm_repair_desk"); + var_01 thread maps\_anim::anim_loop_solo(var_00,"rec_exo_arm_repair_idle_desk","stop_loop_desk"); + common_scripts\utility::flag_wait("desk_exit"); + var_01 notify("stop_loop_desk"); + var_01 maps\_anim::anim_single_solo(var_00,"rec_exo_arm_repair_exit_desk"); + var_01 thread maps\_anim::anim_loop_solo(var_00,"rec_exo_arm_repair_chair_unfold_idle_desk"); +} + +//Function Number: 104 +tour_exo_repair_tech_1() +{ + common_scripts\utility::flag_wait("tour_exo_hangar"); + var_00 = getent("org_anim_exo_arm_01","targetname"); + var_00 = var_00 common_scripts\utility::spawn_tag_origin(); + var_00 thread maps\recovery_utility::delete_on_notify("flag_obj_firing_range_pre"); + level.repair_guy_01 = getent("tourspawner_exo_repair_01","targetname") maps\_utility::spawn_ai(1); + level.repair_guy_01.animname = "repairer_1"; + level.repair_guy_01 thread maps\recovery_utility::delete_on_notify("flag_obj_firing_range_pre"); + var_00 thread maps\_anim::anim_loop_solo(level.repair_guy_01,"rec_exo_arm_repair_standing_idle_guy","stop_loop_tech1"); + common_scripts\utility::flag_wait("flag_vo_arm_room_01"); + var_00 notify("stop_loop_tech1"); + var_00 thread tour_exo_repair_tech_1_branch(); + level waittill("tour_exo_arm_repair_player_looking_at_desk"); + level.repair_guy_01 maps\_utility::anim_stopanimscripted(); + var_00 notify("stop_loop_tech1"); + var_00 maps\_anim::anim_single_solo(level.repair_guy_01,"rec_exo_arm_repair_npc"); + soundscripts\_snd::snd_message("rec_exo_arm_repair_attempt_01_npc"); + var_00 maps\_anim::anim_single_solo(level.repair_guy_01,"rec_exo_arm_repair_attempt_01_npc"); + var_00 thread maps\_anim::anim_loop_solo(level.repair_guy_01,"rec_exo_arm_repair_attempt_response_idle_01_npc","stop_loop_tech1"); + common_scripts\utility::flag_set("arm_repair_attempt_1"); + common_scripts\utility::flag_waitopen("arm_repair_attempt_1"); + var_00 notify("stop_loop_tech1"); + soundscripts\_snd::snd_message("rec_exo_arm_repair_attempt_02_npc"); + var_00 maps\_anim::anim_single_solo(level.repair_guy_01,"rec_exo_arm_repair_attempt_02_npc"); + var_00 thread maps\_anim::anim_loop_solo(level.repair_guy_01,"rec_exo_arm_repair_attempt_response_idle_02_npc","stop_loop_tech1"); + common_scripts\utility::flag_set("arm_repair_attempt_2"); + common_scripts\utility::flag_waitopen("arm_repair_attempt_2"); + var_00 notify("stop_loop_tech1"); + soundscripts\_snd::snd_message("rec_exo_arm_repair_attempt_03_npc"); + var_00 maps\_anim::anim_single_solo(level.repair_guy_01,"rec_exo_arm_repair_attempt_03_npc"); + var_00 thread maps\_anim::anim_loop_solo(level.repair_guy_01,"rec_exo_arm_repair_attempt_response_idle_03_npc","stop_loop_tech1"); + common_scripts\utility::flag_set("arm_repair_attempt_3"); + common_scripts\utility::flag_waitopen("arm_repair_attempt_3"); + var_00 notify("stop_loop_tech1"); + soundscripts\_snd::snd_message("rec_exo_arm_repair_attempt_exit_npc"); + var_00 maps\_anim::anim_single_solo(level.repair_guy_01,"rec_exo_arm_repair_attempt_exit_npc"); + var_00 thread maps\_anim::anim_loop_solo(level.repair_guy_01,"rec_exo_arm_repair_table_idle_guy"); +} + +//Function Number: 105 +tour_exo_repair_tech_1_branch() +{ + level endon("tour_exo_arm"); + maps\_anim::anim_single_solo(level.repair_guy_01,"rec_exo_arm_repair_walk2table_guy"); + thread maps\_anim::anim_loop_solo(level.repair_guy_01,"rec_exo_arm_repair_table_idle_guy","stop_loop_tech1"); +} + +//Function Number: 106 +tour_exo_repair_tech_2() +{ + common_scripts\utility::flag_wait("tour_exo_hangar"); + var_00 = getent("org_anim_exo_arm_01","targetname"); + var_00 = var_00 common_scripts\utility::spawn_tag_origin(); + var_00 thread maps\recovery_utility::delete_on_notify("flag_obj_firing_range_pre"); + level.repair_guy_02 = getent("tourspawner_exo_repair_02","targetname") maps\_utility::spawn_ai(1); + level.repair_guy_02.animname = "repairer_2"; + level.repair_guy_02 thread maps\recovery_utility::delete_on_notify("flag_obj_firing_range_pre"); + var_00 thread maps\_anim::anim_loop_solo(level.repair_guy_02,"rec_exo_arm_repair_standing_idle_guy","stop_loop_tech2"); + common_scripts\utility::flag_wait("flag_vo_arm_room_01"); + var_00 notify("stop_loop_tech2"); + level.repair_guy_02 common_scripts\utility::delaycall(0.05,::attach,"dem_tablet_pc_01","tag_weapon_left"); + var_00 maps\_anim::anim_single_solo(level.repair_guy_02,"rec_exo_arm_repair_walk2table_guy"); + var_00 thread maps\_anim::anim_loop_solo(level.repair_guy_02,"rec_exo_arm_repair_table_idle_guy"); +} + +//Function Number: 107 +wait_for_considerable_left_stick_interact(param_00) +{ + var_01 = 0; + for(;;) + { + var_02 = level.player getnormalizedmovement(); + if(length(var_02) > 0.1) + { + if(!isdefined(level.player.rumble_entity)) + { + level.player.rumble_entity = maps\_utility::get_rumble_ent("steady_rumble"); + } + + level.player.rumble_entity.intensity = 0.09; + var_01 = var_01 + 0.05; + } + else if(isdefined(level.player.rumble_entity)) + { + level.player stoprumble("steady_rumble"); + level.player.rumble_entity delete(); + } + + if(var_01 >= param_00) + { + level.player stoprumble("steady_rumble"); + level.player.rumble_entity delete(); + break; + } + + wait 0.05; + } +} + +//Function Number: 108 +tour_ready_room_techs() +{ + common_scripts\utility::flag_wait("tour_glass_door_05"); + var_00 = getent("observer_spawner_c","targetname"); + var_01 = getent("observer_spawner_f","targetname"); + var_02 = getentarray("ready_room_guy","targetname"); + var_03 = []; + foreach(var_05 in var_02) + { + var_00.count = 1; + var_01.count = 1; + if(common_scripts\utility::cointoss()) + { + var_06 = var_00 maps\_utility::spawn_ai(1); + } + else + { + var_06 = var_01 maps\_utility::spawn_ai(1); + } + + var_06.team = "allies"; + var_06 setmodel(var_05.model); + var_03[var_03.size] = var_06; + var_05 thread maps\_shg_design_tools::anim_simple(var_06,var_05.animation); + if(var_05.animation == "rec_atlas_push_lab_idle_01" || var_05.animation == "rec_atlas_push_lab_idle_02" || var_05.animation == "rec_atlas_push_lab_idle_03") + { + var_06 attach("dem_tablet_pc_01","tag_weapon_left"); + } + + wait 0.05; + } + + common_scripts\utility::flag_wait("training_room_elevator_activated"); + wait(10); + common_scripts\utility::array_call(var_03,::delete); +} + +//Function Number: 109 +tour_drones_advanced_warfare() +{ + common_scripts\utility::flag_wait("flag_lander_01"); + wait(1); + var_00 = getent("ambient_drone_spawner_aw01","targetname"); + var_01 = getent("ambient_drone_spawner_aw02","targetname"); + var_02 = getent("ambient_drone_spawner_aw03","targetname"); + var_03 = var_00 maps\_vehicle::spawn_vehicle_and_gopath(); + var_03 soundscripts\_snd::snd_message("tour_drones_fly_by"); + var_04 = var_01 maps\_vehicle::spawn_vehicle_and_gopath(); + var_05 = var_02 maps\_vehicle::spawn_vehicle_and_gopath(); + var_03 thread tour_ambient_drone_lifetime(); + var_04 thread tour_ambient_drone_lifetime(); + var_05 thread tour_ambient_drone_lifetime(); +} + +//Function Number: 110 +tour_ambient_00() +{ + level endon("training_room_elevator_activated"); + var_00 = getent("ambient_soldier_vo_01","targetname"); + var_01 = getent("ambient_soldier_vo_02","targetname"); + var_02 = getent("ambient_soldier_vo_03","targetname"); + var_03 = getent("ambient_soldier_vo_04","targetname"); + var_04 = getent("ambient_soldier_vo_05","targetname"); + var_05 = getent("ambient_soldier_vo_06","targetname"); + level.ambient_soldier_vo_01 = var_00 maps\_utility::spawn_ai(1); + wait 0.05; + level.ambient_soldier_vo_02 = var_01 maps\_utility::spawn_ai(1); + wait 0.05; + level.ambient_soldier_vo_03 = var_02 maps\_utility::spawn_ai(1); + wait 0.05; + level.ambient_soldier_vo_04 = var_03 maps\_utility::spawn_ai(1); + wait 0.05; + level.ambient_soldier_vo_05 = var_04 maps\_utility::spawn_ai(1); + wait 0.05; + level.ambient_soldier_vo_06 = var_05 maps\_utility::spawn_ai(1); + level.ambient_soldier_vo_01.animname = "ambient_soldier_vo_01"; + level.ambient_soldier_vo_02.animname = "ambient_soldier_vo_02"; + level.ambient_soldier_vo_03.animname = "ambient_soldier_vo_03"; + level.ambient_soldier_vo_04.animname = "ambient_soldier_vo_04"; + level.ambient_soldier_vo_05.animname = "ambient_soldier_vo_05"; + level.ambient_soldier_vo_06.animname = "ambient_soldier_vo_06"; + level.ambient_soldier_vo_01 thread maps\_shg_design_tools::anim_simple(level.ambient_soldier_vo_01,level.ambient_soldier_vo_01.animation); + level.ambient_soldier_vo_02 thread maps\_shg_design_tools::anim_simple(level.ambient_soldier_vo_02,level.ambient_soldier_vo_02.animation); + level.ambient_soldier_vo_03 thread maps\_shg_design_tools::anim_simple(level.ambient_soldier_vo_03,level.ambient_soldier_vo_03.animation); + level.ambient_soldier_vo_04 thread maps\_shg_design_tools::anim_simple(level.ambient_soldier_vo_04,level.ambient_soldier_vo_04.animation); + level.ambient_soldier_vo_05 thread maps\_shg_design_tools::anim_simple(level.ambient_soldier_vo_05,level.ambient_soldier_vo_05.animation); + level.ambient_soldier_vo_06 thread maps\_shg_design_tools::anim_simple(level.ambient_soldier_vo_06,level.ambient_soldier_vo_06.animation); + level.ambient_soldier_vo_01 thread maps\recovery_utility::delete_on_notify("training_room_elevator_activated"); + level.ambient_soldier_vo_02 thread maps\recovery_utility::delete_on_notify("training_room_elevator_activated"); + level.ambient_soldier_vo_03 thread maps\recovery_utility::delete_on_notify("training_room_elevator_activated"); + level.ambient_soldier_vo_04 thread maps\recovery_utility::delete_on_notify("training_room_elevator_activated"); + level.ambient_soldier_vo_05 thread maps\recovery_utility::delete_on_notify("training_room_elevator_activated"); + level.ambient_soldier_vo_06 thread maps\recovery_utility::delete_on_notify("training_room_elevator_activated"); + thread tour_ambient_choppers(); + var_06 = []; + for(;;) + { + common_scripts\utility::flag_wait("tour_ambient_00"); + var_07 = getentarray("military_guards_patrol","script_noteworthy"); + foreach(var_09 in var_07) + { + var_0A = var_09 maps\_utility::spawn_ai(); + var_06 = common_scripts\utility::array_add(var_06,var_0A); + var_09.count++; + wait 0.05; + } + + var_07 = getentarray("tourspawner_ambient_00","targetname"); + foreach(var_09 in var_07) + { + var_0A = var_09 maps\_utility::spawn_ai(); + var_0A maps\_utility::set_battlechatter(0); + var_06 = common_scripts\utility::array_add(var_06,var_0A); + var_09.count++; + wait 0.05; + } + + common_scripts\utility::flag_waitopen("tour_ambient_00"); + wait(1); + } +} + +//Function Number: 111 +tour_ambient_drone_lifetime() +{ + self.health = 50; + self.pacifist = 1; + self.ignoreme = 1; + self.ignoreall = 1; + maps\_utility::set_goalradius(4); + self waittill("reached_dynamic_path_end"); + if(isdefined(self)) + { + self delete(); + } +} + +//Function Number: 112 +tour_ambient_01() +{ + common_scripts\utility::flag_wait("tour_ambient_01"); + var_00 = getent("ambient_drone_spawner_01a","targetname"); + var_01 = getent("ambient_drone_spawner_01b","targetname"); + var_02 = getent("ambient_drone_spawner_01c","targetname"); + var_03 = var_00 maps\_vehicle::spawn_vehicle_and_gopath(); + var_03 soundscripts\_snd::snd_message("exo_drone_flby"); + var_04 = var_01 maps\_vehicle::spawn_vehicle_and_gopath(); + var_05 = var_02 maps\_vehicle::spawn_vehicle_and_gopath(); + var_03 thread tour_ambient_drone_lifetime(); + var_04 thread tour_ambient_drone_lifetime(); + var_05 thread tour_ambient_drone_lifetime(); + var_06 = maps\_vehicle::spawn_vehicle_from_targetname("base_ambient_vehicle_01"); + soundscripts\_snd::snd_message("tour_base_ambient_vehicle_01",var_06); + var_06 maps\_vehicle::gopath(); + var_07 = getent("tour_driver","targetname"); + var_07.count++; + var_08 = var_07 maps\_utility::spawn_ai(1); + var_08 maps\_utility::gun_remove(); + var_08.animname = "driver"; + var_08.pacifist = 1; + var_08.name = " "; + var_08 linkto(var_06,"tag_origin"); + var_06 thread maps\_anim::anim_loop_solo(var_08,"tour_jeep_idle"); + var_09 = getent("jeep_middle_gate","targetname"); + var_0A = var_09 common_scripts\utility::get_target_ent(); + var_0A linkto(var_09); + var_09.origin = var_09.origin - (331,0,0); + wait(5); + var_09 moveto(var_09.origin + (331,0,0),3,0.2,0.2); + wait(5); + var_08 delete(); +} + +//Function Number: 113 +tour_ambient_02() +{ + common_scripts\utility::flag_wait("tour_ambient_02"); + var_00 = getent("jeep_exit_gate","targetname"); + var_01 = var_00 common_scripts\utility::get_target_ent(); + var_01 linkto(var_00); + var_00 moveto(var_00.origin + (0,274,0),1); + var_02 = maps\_vehicle::spawn_vehicle_from_targetname("base_ambient_vehicle_02"); + soundscripts\_snd::snd_message("tour_base_ambient_vehicle_02",var_02); + var_02 maps\_vehicle::gopath(); + var_03 = getent("tour_driver","targetname"); + var_03.count++; + var_04 = var_03 maps\_utility::spawn_ai(1); + var_04 maps\_utility::gun_remove(); + var_04.animname = "driver"; + var_04.pacifist = 1; + var_04.name = " "; + var_04 linkto(var_02,"tag_origin"); + var_02 thread maps\_anim::anim_loop_solo(var_04,"tour_jeep_idle"); + wait(9.5); + var_00 moveto(var_00.origin + (0,-274,0),3,0.25,0.25); + wait(5); + var_04 delete(); +} + +//Function Number: 114 +tour_cleanup_01() +{ + common_scripts\utility::flag_wait("flag_cleanup_jeep_ride_first_half"); + var_00 = getentarray("jeep_ride_first_half","script_noteworthy"); + foreach(var_02 in var_00) + { + if(isdefined(var_02)) + { + var_02 delete(); + } + } +} + +//Function Number: 115 +tour_ambient_choppers() +{ + level endon("training_room_elevator_activated"); + var_00 = getent("base_ambient_chopper_01a","targetname"); + var_01 = undefined; + var_02 = "tour_ambient_00"; + common_scripts\utility::flag_wait("dropoff_complete"); + for(;;) + { + if(common_scripts\utility::flag("tour_ambient_00") && !common_scripts\utility::flag("ambient_choppers_excluded")) + { + var_01 = var_00 maps\_vehicle::spawn_vehicle_and_gopath(); + soundscripts\_snd::snd_message("tour_littlebird_ambient",var_01); + var_00.count++; + } + + wait(randomintrange(50,60)); + } +} + +//Function Number: 116 +tour_fans() +{ + level endon("training_room_elevator_activated"); + var_00 = getent("breezer_01","targetname"); + var_01 = getent("breezer_02","targetname"); + var_02 = getent("breezer_03","targetname"); + var_03 = getent("breezer_04","targetname"); + common_scripts\utility::flag_wait("tour_exo_hangar"); + var_04 = 0.2; + if(level.currentgen) + { + var_05 = [var_00,var_01,var_02,var_03]; + foreach(var_07 in var_05) + { + if(isdefined(var_07) == 0) + { + return; + } + } + } + + for(;;) + { + var_00 rotatepitch(360,var_04); + var_01 rotatepitch(360,var_04); + var_02 rotatepitch(360,var_04); + var_03 rotatepitch(360,var_04); + wait(var_04); + } +} + +//Function Number: 117 +tour_windsock() +{ + var_00 = getent("base_windsock_01","targetname"); + var_00 thread maps\recovery_utility::delete_on_notify("training_room_elevator_activated"); + var_00.animname = "windsock"; + var_00 maps\_anim::setanimtree(); + var_00 thread maps\_anim::anim_single_solo(var_00,"lab2_windsock_03_anim"); + var_00 setanimrate(var_00 maps\_utility::getanim("lab2_windsock_03_anim"),0.33); +} + +//Function Number: 118 +tour_doors() +{ + thread tour_giant_doors(); + thread tour_hangar_door_01(); + thread tour_glass_door_01(); + thread tour_glass_door_02(); + thread tour_glass_door_03(); + thread tour_glass_door_04(); + thread tour_glass_door_05(); + thread tour_range_door_01(); + thread tour_range_door_02(); + thread tour_solid_door_01(); + thread tour_solid_door_02(); + thread tour_yellow_door_01(); + thread tour_yellow_door_02(); + thread tour_yellow_door_03(); + thread tour_end_gate(); +} + +//Function Number: 119 +tour_giant_doors() +{ + var_00 = getent("tour_giant_door_01_l_part1","targetname"); + var_01 = getent("tour_giant_door_01_l_part2","targetname"); + var_02 = getent("tour_giant_door_01_r_part1","targetname"); + var_03 = getent("tour_giant_door_01_r_part2","targetname"); + var_04 = 5; + var_00 hide(); + var_01 hide(); + var_02 hide(); + var_03 hide(); + common_scripts\utility::flag_wait("training_s1_flag_doors_open"); + if(level.currentgen) + { + maps\_utility::tff_sync(); + } + + var_00 show(); + var_01 show(); + var_02 show(); + var_03 show(); + var_00 moveto(var_00.origin + (-757,0,0),var_04 * 2,1,1); + var_02 moveto(var_02.origin + (757,0,0),var_04 * 2,1,1); + wait(var_04); + var_01 moveto(var_01.origin + (-385,0,0),var_04,0,1); + var_03 moveto(var_03.origin + (385,0,0),var_04,0,1); + common_scripts\utility::flag_wait("tour_ride"); + wait(var_04 * 2); + var_00 moveto(var_00.origin + (757,0,0),var_04 * 2,1,1); + var_02 moveto(var_02.origin + (-757,0,0),var_04 * 2,1,1); + var_01 moveto(var_01.origin + (385,0,0),var_04,1,0); + var_03 moveto(var_03.origin + (-385,0,0),var_04,1,0); + common_scripts\utility::flag_wait("training_s2_ready"); + var_00 hide(); + var_01 hide(); + var_02 hide(); + var_03 hide(); +} + +//Function Number: 120 +tour_hangar_door_01() +{ + var_00 = getent("tour_hangar_door_01_l_part1","targetname"); + var_01 = getent("tour_hangar_door_01_l_part2","targetname"); + var_02 = getent("tour_hangar_door_01_r_part1","targetname"); + var_03 = getent("tour_hangar_door_01_r_part2","targetname"); + common_scripts\utility::flag_wait("tour_hangar_door_01"); + thread tour_hangar_drones(); + common_scripts\utility::flag_set("tour_ride_hangar_lighting"); + var_04 = 4; + var_00 moveto(var_00.origin + (0,-385,0),var_04,0,0); + var_02 moveto(var_02.origin + (0,385,0),var_04,0,0); + wait(var_04); + var_00 moveto(var_00.origin + (0,-277,0),3.35,0,0); + var_02 moveto(var_02.origin + (0,277,0),3.35,0,0); + var_01 moveto(var_01.origin + (0,-277,0),3.35,0,0); + var_03 moveto(var_03.origin + (0,277,0),3.35,0,0); +} + +//Function Number: 121 +tour_glass_door_01() +{ + level endon("training_room_elevator_activated"); + if(level.currentgen) + { + level endon("tff_pre_tour_exo_to_tour_firing_range"); + if(!istransientloaded("recovery_tour_exo_tr")) + { + level waittill("tff_post_tour_ride_to_tour_exo"); + } + } + + var_00 = getent("tour_glass_door_01_l","targetname"); + var_01 = getent("tour_glass_door_01_r","targetname"); + var_02 = var_00 common_scripts\utility::get_target_ent(); + var_03 = var_01 common_scripts\utility::get_target_ent(); + var_02 connectpaths(); + var_03 connectpaths(); + var_02 linkto(var_00); + var_03 linkto(var_01); + var_04 = common_scripts\utility::getstruct("tour_glass_door_01_l_opened","targetname"); + var_05 = common_scripts\utility::getstruct("tour_glass_door_01_r_opened","targetname"); + var_06 = common_scripts\utility::getstruct("tour_glass_door_01_closed","targetname"); + var_07 = 0.6; + while(!common_scripts\utility::flag("arm_swapped")) + { + common_scripts\utility::flag_wait("tour_glass_door_01"); + soundscripts\_snd::snd_message("rec_star_trek_door_open",var_00,var_01); + var_00 moveto(var_04.origin,var_07,0.2,0.2); + var_01 moveto(var_05.origin,var_07,0.2,0.2); + common_scripts\utility::flag_set("tour_exo_hangar"); + common_scripts\utility::flag_waitopen("tour_glass_door_01"); + soundscripts\_snd::snd_message("rec_star_trek_door_close",var_00,var_01); + var_00 moveto(var_06.origin,var_07,0.2,0.2); + var_01 moveto(var_06.origin,var_07,0.2,0.2); + } +} + +//Function Number: 122 +tour_glass_door_02() +{ + level endon("training_room_elevator_activated"); + common_scripts\utility::flag_wait("arm_swapped"); + if(level.currentgen) + { + level endon("tff_pre_tour_exo_to_tour_firing_range"); + } + + var_00 = getent("tour_glass_door_02_l","targetname"); + var_01 = getent("tour_glass_door_02_r","targetname"); + var_02 = var_00 common_scripts\utility::get_target_ent(); + var_03 = var_01 common_scripts\utility::get_target_ent(); + var_02 connectpaths(); + var_03 connectpaths(); + var_02 linkto(var_00); + var_03 linkto(var_01); + var_04 = common_scripts\utility::getstruct("tour_glass_door_02_l_opened","targetname"); + var_05 = common_scripts\utility::getstruct("tour_glass_door_02_r_opened","targetname"); + var_06 = common_scripts\utility::getstruct("tour_glass_door_02_closed","targetname"); + var_07 = 0.6; + while(!common_scripts\utility::flag("flag_obj_firing_range_pre")) + { + common_scripts\utility::flag_wait("tour_glass_door_02"); + soundscripts\_snd::snd_message("rec_star_trek_door_open",var_00,var_01); + var_00 moveto(var_04.origin,var_07,0.2,0.2); + var_01 moveto(var_05.origin,var_07,0.2,0.2); + common_scripts\utility::flag_waitopen("tour_glass_door_02"); + soundscripts\_snd::snd_message("rec_star_trek_door_close",var_00,var_01); + var_00 moveto(var_06.origin,var_07,0.2,0.2); + var_01 moveto(var_06.origin,var_07,0.2,0.2); + } +} + +//Function Number: 123 +tour_glass_door_03() +{ + level endon("training_room_elevator_activated"); + if(level.currentgen) + { + level endon("tff_pre_tour_firing_range_to_tour_aug_reality"); + } + + common_scripts\utility::flag_wait("arm_swapped"); + var_00 = getent("tour_glass_door_03_l","targetname"); + var_01 = getent("tour_glass_door_03_r","targetname"); + var_02 = var_00 common_scripts\utility::get_target_ent(); + var_03 = var_01 common_scripts\utility::get_target_ent(); + var_02 connectpaths(); + var_03 connectpaths(); + var_02 linkto(var_00); + var_03 linkto(var_01); + var_04 = common_scripts\utility::getstruct("tour_glass_door_03_l_opened","targetname"); + var_05 = common_scripts\utility::getstruct("tour_glass_door_03_r_opened","targetname"); + var_06 = common_scripts\utility::getstruct("tour_glass_door_03_closed","targetname"); + var_07 = 0.6; + if(level.currentgen) + { + if(!istransientloaded("recovery_tour_firing_range_tr")) + { + level waittill("tff_post_tour_exo_to_tour_firing_range"); + } + } + + while(!common_scripts\utility::flag("shooting_range_started_once")) + { + common_scripts\utility::flag_wait("tour_glass_door_03"); + soundscripts\_snd::snd_message("rec_star_trek_door_open",var_00,var_01); + var_00 moveto(var_04.origin,var_07,0.2,0.2); + var_01 moveto(var_05.origin,var_07,0.2,0.2); + common_scripts\utility::flag_waitopen("tour_glass_door_03"); + soundscripts\_snd::snd_message("rec_star_trek_door_close",var_00,var_01); + var_00 moveto(var_06.origin,var_07,0.2,0.2); + var_01 moveto(var_06.origin,var_07,0.2,0.2); + } + + common_scripts\utility::flag_wait("shooting_range_completed_once"); + for(;;) + { + common_scripts\utility::flag_wait("tour_glass_door_03"); + soundscripts\_snd::snd_message("rec_star_trek_door_open",var_00,var_01); + var_00 moveto(var_04.origin,var_07,0.2,0.2); + var_01 moveto(var_05.origin,var_07,0.2,0.2); + common_scripts\utility::flag_waitopen("tour_glass_door_03"); + soundscripts\_snd::snd_message("rec_star_trek_door_close",var_00,var_01); + var_00 moveto(var_06.origin,var_07,0.2,0.2); + var_01 moveto(var_06.origin,var_07,0.2,0.2); + } +} + +//Function Number: 124 +tour_glass_door_04() +{ + level endon("training_room_elevator_activated"); + if(level.currentgen) + { + level endon("tff_pre_tour_firing_range_to_tour_aug_reality"); + } + + common_scripts\utility::flag_wait("shooting_range_completed_once"); + var_00 = getent("tour_glass_door_04_l","targetname"); + var_01 = getent("tour_glass_door_04_r","targetname"); + var_02 = var_00 common_scripts\utility::get_target_ent(); + var_03 = var_01 common_scripts\utility::get_target_ent(); + var_02 connectpaths(); + var_03 connectpaths(); + var_02 linkto(var_00); + var_03 linkto(var_01); + var_04 = common_scripts\utility::getstruct("tour_glass_door_04_l_opened","targetname"); + var_05 = common_scripts\utility::getstruct("tour_glass_door_04_r_opened","targetname"); + var_06 = common_scripts\utility::getstruct("tour_glass_door_04_closed","targetname"); + var_07 = 0.6; + for(;;) + { + common_scripts\utility::flag_wait("tour_glass_door_04"); + soundscripts\_snd::snd_message("rec_star_trek_door_open",var_00,var_01); + var_00 moveto(var_04.origin,var_07,0.2,0.2); + var_01 moveto(var_05.origin,var_07,0.2,0.2); + common_scripts\utility::flag_waitopen("tour_glass_door_04"); + soundscripts\_snd::snd_message("rec_star_trek_door_close",var_00,var_01); + var_00 moveto(var_06.origin,var_07,0.2,0.2); + var_01 moveto(var_06.origin,var_07,0.2,0.2); + } +} + +//Function Number: 125 +tour_glass_door_05() +{ + level endon("training_room_elevator_activated"); + var_00 = getent("tour_glass_door_05_l","targetname"); + var_01 = getent("tour_glass_door_05_r","targetname"); + var_02 = var_00 common_scripts\utility::get_target_ent(); + var_03 = var_01 common_scripts\utility::get_target_ent(); + var_02 linkto(var_00); + var_03 linkto(var_01); + var_02 connectpaths(); + var_03 connectpaths(); + var_04 = common_scripts\utility::getstruct("tour_glass_door_05_l_opened","targetname"); + var_05 = common_scripts\utility::getstruct("tour_glass_door_05_r_opened","targetname"); + var_06 = common_scripts\utility::getstruct("tour_glass_door_05_closed","targetname"); + var_07 = 0.6; + for(;;) + { + common_scripts\utility::flag_wait("tour_glass_door_05"); + if(level.currentgen) + { + if(!istransientloaded("recovery_base_tr")) + { + break; + } + } + + soundscripts\_snd::snd_message("rec_star_trek_door_open",var_00,var_01); + var_00 moveto(var_04.origin,var_07,0.2,0.2); + var_01 moveto(var_05.origin,var_07,0.2,0.2); + common_scripts\utility::flag_waitopen("tour_glass_door_05"); + soundscripts\_snd::snd_message("rec_star_trek_door_close",var_00,var_01); + var_00 moveto(var_06.origin,var_07,0.2,0.2); + var_01 moveto(var_06.origin,var_07,0.2,0.2); + } +} + +//Function Number: 126 +tour_range_door_01() +{ + level endon("training_room_elevator_activated"); + var_00 = getent("tour_range_door_01_l","targetname"); + var_01 = getent("tour_range_door_01_r","targetname"); + var_02 = var_00 common_scripts\utility::get_target_ent(); + var_03 = var_01 common_scripts\utility::get_target_ent(); + var_02 linkto(var_00); + var_03 linkto(var_01); + var_02 connectpaths(); + var_03 connectpaths(); + var_04 = common_scripts\utility::getstruct("tour_range_door_01_l_opened","targetname"); + var_05 = common_scripts\utility::getstruct("tour_range_door_01_r_opened","targetname"); + var_06 = common_scripts\utility::getstruct("tour_range_door_01_closed","targetname"); + var_07 = 0.6; + common_scripts\utility::flag_wait("tour_range_door_01_gideon"); + if(level.currentgen) + { + level notify("player_entering_firing_range"); + } + + soundscripts\_snd::snd_message("rec_star_trek_door_open",var_00,var_01); + var_00 moveto(var_04.origin,var_07,0.2,0.2); + var_01 moveto(var_05.origin,var_07,0.2,0.2); + common_scripts\utility::flag_wait("flag_obj_equip_firing_range"); + soundscripts\_snd::snd_message("rec_star_trek_door_close",var_00,var_01); + var_00 moveto(var_06.origin,0.4,0.2,0.2); + var_01 moveto(var_06.origin,0.4,0.2,0.2); + common_scripts\utility::flag_wait("shooting_range_completed_once"); + for(;;) + { + common_scripts\utility::flag_wait("tour_range_door_01"); + soundscripts\_snd::snd_message("rec_star_trek_door_open",var_00,var_01); + var_00 moveto(var_04.origin,var_07,0.2,0.2); + var_01 moveto(var_05.origin,var_07,0.2,0.2); + common_scripts\utility::flag_waitopen("tour_range_door_01"); + soundscripts\_snd::snd_message("rec_star_trek_door_close",var_00,var_01); + var_00 moveto(var_06.origin,var_07,0.2,0.2); + var_01 moveto(var_06.origin,var_07,0.2,0.2); + } +} + +//Function Number: 127 +tour_range_door_02() +{ + level endon("training_room_elevator_activated"); + common_scripts\utility::flag_wait("shooting_range_completed_once"); + var_00 = getent("tour_range_door_02_l","targetname"); + var_01 = getent("tour_range_door_02_r","targetname"); + var_02 = var_00 common_scripts\utility::get_target_ent(); + var_03 = var_01 common_scripts\utility::get_target_ent(); + var_02 linkto(var_00); + var_03 linkto(var_01); + var_02 connectpaths(); + var_03 connectpaths(); + var_04 = common_scripts\utility::getstruct("tour_range_door_02_l_opened","targetname"); + var_05 = common_scripts\utility::getstruct("tour_range_door_02_r_opened","targetname"); + var_06 = common_scripts\utility::getstruct("tour_range_door_02_closed","targetname"); + var_07 = 0.6; + for(;;) + { + common_scripts\utility::flag_wait("tour_range_door_02"); + soundscripts\_snd::snd_message("rec_star_trek_door_open",var_00,var_01); + var_00 moveto(var_04.origin,var_07,0.2,0.2); + var_01 moveto(var_05.origin,var_07,0.2,0.2); + common_scripts\utility::flag_waitopen("tour_range_door_02"); + soundscripts\_snd::snd_message("rec_star_trek_door_close",var_00,var_01); + var_00 moveto(var_06.origin,var_07,0.2,0.2); + var_01 moveto(var_06.origin,var_07,0.2,0.2); + } +} + +//Function Number: 128 +tour_solid_door_01() +{ + level endon("training_room_elevator_activated"); + var_00 = getent("tour_solid_door_01_clip","targetname"); + var_00 notsolid(); + var_01 = getent("tour_solid_door_01_l","targetname"); + var_02 = getent("tour_solid_door_01_r","targetname"); + var_03 = var_01.origin; + var_04 = var_02.origin; + var_05 = var_01.origin + (0,-54,0); + var_06 = var_02.origin + (0,54,0); + var_07 = 0.6; + while(!common_scripts\utility::flag("arm_swapped")) + { + common_scripts\utility::flag_wait("tour_solid_door_01"); + if(!common_scripts\utility::flag("arm_swapped")) + { + soundscripts\_snd::snd_message("rec_star_trek_door_open",var_01,var_02); + var_01 moveto(var_05,var_07,0.2,0.2); + var_02 moveto(var_06,var_07,0.2,0.2); + } + else + { + continue; + } + + common_scripts\utility::flag_waitopen("tour_solid_door_01"); + soundscripts\_snd::snd_message("rec_star_trek_door_close",var_01,var_02); + var_01 moveto(var_03,var_07,0.2,0.2); + var_02 moveto(var_04,var_07,0.2,0.2); + } + + var_00 solid(); +} + +//Function Number: 129 +tour_solid_door_02() +{ + level endon("training_room_elevator_activated"); + var_00 = getent("tour_solid_door_02_clip","targetname"); + var_00 solid(); + common_scripts\utility::flag_wait("arm_swapped"); + var_00 notsolid(); + var_01 = getent("tour_solid_door_02_l","targetname"); + var_02 = getent("tour_solid_door_02_r","targetname"); + var_03 = var_01.origin; + var_04 = var_02.origin; + var_05 = var_01.origin + (0,-54,0); + var_06 = var_02.origin + (0,54,0); + var_07 = 0.6; + for(;;) + { + common_scripts\utility::flag_wait("tour_solid_door_02"); + soundscripts\_snd::snd_message("rec_star_trek_door_open",var_01,var_02); + var_01 moveto(var_05,var_07,0.2,0.2); + var_02 moveto(var_06,var_07,0.2,0.2); + common_scripts\utility::flag_waitopen("tour_solid_door_02"); + soundscripts\_snd::snd_message("rec_star_trek_door_close",var_01,var_02); + var_01 moveto(var_03,var_07,0.2,0.2); + var_02 moveto(var_04,var_07,0.2,0.2); + } +} + +//Function Number: 130 +tour_yellow_door_01() +{ + level endon("training_room_elevator_activated"); + var_00 = getent("tour_yellow_door_01_l","targetname"); + var_01 = getent("tour_yellow_door_01_r","targetname"); + var_02 = var_00 common_scripts\utility::get_target_ent(); + var_03 = var_01 common_scripts\utility::get_target_ent(); + var_02 linkto(var_00); + var_03 linkto(var_01); + var_02 connectpaths(); + var_03 connectpaths(); + var_04 = var_00.origin; + var_05 = var_01.origin; + var_06 = var_00.origin + (0,-70,0); + var_07 = var_01.origin + (0,70,0); + var_08 = 0.6; + for(;;) + { + common_scripts\utility::flag_wait("tour_yellow_door_01"); + soundscripts\_snd::snd_message("rec_star_trek_door_open",var_00,var_01); + var_00 moveto(var_06,var_08,0.2,0.2); + var_01 moveto(var_07,var_08,0.2,0.2); + if(!common_scripts\utility::flag("arm_swapped")) + { + common_scripts\utility::flag_wait("gideon_inside_exo_mode_room"); + common_scripts\utility::flag_wait("player_inside_exo_mode_room"); + } + + common_scripts\utility::flag_waitopen("tour_yellow_door_01"); + soundscripts\_snd::snd_message("rec_star_trek_door_close",var_00,var_01); + var_00 moveto(var_04,var_08,0.2,0.2); + var_01 moveto(var_05,var_08,0.2,0.2); + if(common_scripts\utility::flag("player_inside_exo_mode_room") && common_scripts\utility::flag("gideon_inside_exo_mode_room")) + { + common_scripts\utility::flag_wait("arm_swapped"); + } + } +} + +//Function Number: 131 +tour_yellow_door_02() +{ + level endon("training_room_elevator_activated"); + var_00 = getent("tour_yellow_door_02_l","targetname"); + var_01 = getent("tour_yellow_door_02_r","targetname"); + var_02 = var_00.origin; + var_03 = var_01.origin; + var_04 = var_00.origin + (0,70,0); + var_05 = var_01.origin + (0,-70,0); + var_06 = 0.6; + for(;;) + { + common_scripts\utility::flag_wait("tour_yellow_door_02"); + common_scripts\utility::flag_waitopen("tour_yellow_door_02"); + } +} + +//Function Number: 132 +tour_yellow_door_03() +{ + level endon("training_room_elevator_activated"); + var_00 = getent("tour_yellow_door_03_l","targetname"); + var_01 = getent("tour_yellow_door_03_r","targetname"); + var_02 = var_00 common_scripts\utility::get_target_ent(); + var_03 = var_01 common_scripts\utility::get_target_ent(); + var_02 linkto(var_00); + var_03 linkto(var_01); + var_02 connectpaths(); + var_03 connectpaths(); + var_04 = var_00.origin; + var_05 = var_01.origin; + var_06 = var_00.origin + (0,-70,0); + var_07 = var_01.origin + (0,70,0); + var_08 = 0.6; + common_scripts\utility::flag_wait("flag_obj_arm_repair_pre"); + soundscripts\_snd::snd_message("rec_star_trek_door_open",var_00,var_01); + var_00 moveto(var_06,var_08,0.2,0.2); + var_01 moveto(var_07,var_08,0.2,0.2); + common_scripts\utility::flag_wait("tour_exo_arm"); + for(;;) + { + common_scripts\utility::flag_waitopen("tour_yellow_door_03"); + soundscripts\_snd::snd_message("rec_star_trek_door_close",var_00,var_01); + var_00 moveto(var_04,var_08,0.2,0.2); + var_01 moveto(var_05,var_08,0.2,0.2); + common_scripts\utility::flag_wait("tour_yellow_door_03"); + soundscripts\_snd::snd_message("rec_star_trek_door_open",var_00,var_01); + var_00 moveto(var_06,var_08,0.2,0.2); + var_01 moveto(var_07,var_08,0.2,0.2); + } +} + +//Function Number: 133 +tour_end_gate() +{ + var_00 = getent("jeep_middle_gate","targetname"); + var_01 = var_00 common_scripts\utility::get_target_ent(); + var_01 linkto(var_00); + var_02 = 2; + common_scripts\utility::flag_wait("jeep_end_gate_open"); + var_00 moveto(var_00.origin + (-331,0,0),var_02 * 2,0.2,0.2); + soundscripts\_snd::snd_message("rec_tour_end_jeep_gate_plr_open",var_00); + common_scripts\utility::flag_wait("tour_end"); + var_00 moveto(var_00.origin + (331,0,0),var_02 * 2,0.2,0.2); + soundscripts\_snd::snd_message("rec_tour_end_jeep_gate_plr_close",var_00); + var_03 = getent("jeep_exit_gate","targetname"); + var_04 = var_03 common_scripts\utility::get_target_ent(); + var_04 linkto(var_03); + var_03 moveto(var_03.origin + (0,274,0),1); + soundscripts\_snd::snd_message("rec_tour_npc_jeep_exit_gate_open",var_03); + common_scripts\utility::flag_wait("jeep_exit_gate"); + var_03 moveto(var_03.origin + (0,-274,0),4,0.25,0.25); + soundscripts\_snd::snd_message("rec_tour_npc_jeep_exit_gate_close",var_03); +} + +//Function Number: 134 +tour_hangar_drones() +{ + var_00 = getentarray("hangar_drone","targetname"); + level.aud.hangar_drones = []; + common_scripts\utility::array_thread(var_00,::tour_hangar_drone_lifetime); + while(var_00.size > level.aud.hangar_drones.size) + { + wait 0.05; + } + + soundscripts\_snd::snd_message("tour_hangar_drones",level.aud.hangar_drones); +} + +//Function Number: 135 +tour_hangar_drone_lifetime() +{ + var_00 = maps\_vehicle::spawn_vehicle_and_gopath(); + level.aud.hangar_drones[level.aud.hangar_drones.size] = var_00; + var_00.pacifist = 1; + var_00.ignoreme = 1; + var_00.ignoreall = 1; + var_00 maps\_utility::set_goalradius(4); + var_00 waittill("reached_dynamic_path_end"); + var_00 maps\_utility::vehicle_land(); + common_scripts\utility::flag_wait("tour_end"); + var_00 delete(); +} + +//Function Number: 136 +tour_spawn_vtol() +{ + var_00 = getent("vtol_takeoff","targetname"); + var_01 = var_00 maps\_utility::spawn_vehicle(); + soundscripts\_snd::snd_message("rec_tour_vtol_takeoff_spawn",var_01); + common_scripts\utility::flag_set("tour_ride_drive_lighting"); + wait(2); + var_02 = common_scripts\utility::getstruct("vtol_start","targetname"); + var_01 thread maps\_vehicle::vehicle_paths(var_02); + wait(3); + var_01 vehicle_setspeed(50); + var_01 waittill("reached_dynamic_path_end"); + var_01 delete(); + common_scripts\utility::flag_set("tour_ride_end_lighting"); +} + +//Function Number: 137 +tour_lander_01() +{ + common_scripts\utility::flag_wait("flag_lander_01"); + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("lander_01"); + soundscripts\_snd::snd_message("tour_littlebird_lander",var_00); + var_00 waittill("reached_dynamic_path_end"); + var_00 maps\_utility::vehicle_land(); + common_scripts\utility::flag_wait("flag_cleanup_jeep_ride_first_half"); + var_00 delete(); +} + +//Function Number: 138 +tour_brave_warrior_01() +{ + common_scripts\utility::flag_wait("flag_tour_brave_warrior_01"); + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("tour_brave_warrior_01"); + var_01 = getent("tour_driver","targetname"); + var_01.count++; + var_02 = var_01 maps\_utility::spawn_ai(1); + var_02 maps\_utility::gun_remove(); + var_02.animname = "driver"; + var_02.pacifist = 1; + var_02.name = " "; + var_02 linkto(var_00,"tag_origin"); + var_00 thread maps\_anim::anim_loop_solo(var_02,"tour_jeep_idle"); + wait(17); + var_02 delete(); +} + +//Function Number: 139 +tour_brave_warrior_03() +{ + common_scripts\utility::flag_wait("flag_tour_brave_warrior_03"); + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("tour_brave_warrior_03"); + var_01 = getent("tour_driver","targetname"); + var_01.count++; + var_02 = var_01 maps\_utility::spawn_ai(1); + var_02 maps\_utility::gun_remove(); + var_02.animname = "driver"; + var_02.pacifist = 1; + var_02.name = " "; + var_02 linkto(var_00,"tag_origin"); + var_00 thread maps\_anim::anim_loop_solo(var_02,"tour_jeep_idle"); + wait(7); + var_02 delete(); +} + +//Function Number: 140 +tour_titan_01() +{ + common_scripts\utility::flag_wait("flag_titan_crossing"); + var_00 = getent("jeep_entrance_gate","targetname"); + var_01 = getent("titan_01","targetname"); + var_02 = getent("titan_goal_01","targetname"); + level thread maps\recovery_fx::titan_gate_tread_fx(var_01); + var_03 = 20; + var_01 moveto(var_02.origin,var_03,0.5,0.5); + soundscripts\_snd::snd_message("rec_tour_titan_1_start",var_01); + wait(1); + var_00 moveto(var_00.origin + (331,0,0),4,0.25,0.25); + soundscripts\_snd::snd_message("rec_tour_titan_gate_plr_open",var_00); + wait(20); + var_01 delete(); +} + +//Function Number: 141 +tour_titan_02() +{ + common_scripts\utility::flag_wait("flag_titan_crossing"); + var_00 = undefined; + if(level.nextgen) + { + var_00 = getent("giant_crane_01","targetname"); + var_00 rotateyaw(-180,22,1,1); + } + + wait(7); + var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("tour_brave_warrior_02"); + soundscripts\_snd::snd_message("rec_tour_escort_jeep_start",var_01); + var_02 = getent("tour_driver","targetname"); + var_02.count++; + var_03 = var_02 maps\_utility::spawn_ai(1); + var_03 maps\_utility::gun_remove(); + var_03.animname = "driver"; + var_03.pacifist = 1; + var_03.name = " "; + var_03 linkto(var_01,"tag_origin"); + var_01 thread maps\_anim::anim_loop_solo(var_03,"tour_jeep_idle"); + var_04 = "walker_step_over"; + var_05 = getent("titan_02","targetname"); + var_05.animname = "titan"; + var_05 setmodel("vehicle_rec_walker_tank"); + var_05.origin = var_05.origin + (0,0,55); + var_06 = var_05 common_scripts\utility::spawn_tag_origin(); + var_05 maps\_anim::setanimtree(); + soundscripts\_snd::snd_message("rec_tour_titan_2_walk_anim_start",var_05); + var_07 = getanimlength(level.scr_anim["titan"]["walk_across"]); + for(var_08 = 0;var_08 < 5;var_08++) + { + var_06.origin = var_05.origin; + var_06 thread maps\_anim::anim_single_solo(var_05,"walk_across","tag_origin"); + wait(var_07); + } + + var_05 delete(); + var_06 delete(); + if(level.nextgen) + { + var_00 delete(); + } + + var_03 delete(); +} + +//Function Number: 142 +tour_ambient_people() +{ + var_00 = maps\_utility::array_spawn_targetname("tourspawner_initial"); + foreach(var_02 in var_00) + { + var_02.name = " "; + var_02 setlookattext(var_02.name,&""); + } + + common_scripts\utility::flag_wait("spawn_joggers"); + maps\_utility::array_spawn_targetname("tourspawner_joggers"); +} + +//Function Number: 143 +tour_military_ambient_people() +{ + common_scripts\utility::flag_wait("spawn_military_worldfill"); +} + +//Function Number: 144 +tour_hangar_ambient_people() +{ + var_00 = getent("observer_spawner_c","targetname"); + var_01 = getent("observer_spawner_f","targetname"); + var_02 = getentarray("hangar_observer_idle","targetname"); + var_03 = []; + foreach(var_05 in var_02) + { + var_00.count = 1; + var_01.count = 1; + if(common_scripts\utility::cointoss()) + { + var_06 = var_00 maps\_utility::spawn_ai(1); + } + else + { + var_06 = var_01 maps\_utility::spawn_ai(1); + } + + var_06 setmodel(var_05.model); + var_06.ignoresonicaoe = 1; + var_03[var_03.size] = var_06; + var_05 thread maps\_shg_design_tools::anim_simple(var_06,var_05.animation); + wait 0.05; + } + + common_scripts\utility::flag_wait("flag_hangar_walkers"); + maps\_utility::array_spawn_targetname("tourspawner_hangar"); + common_scripts\utility::flag_wait("tour_end"); + common_scripts\utility::array_call(var_03,::delete); +} + +//Function Number: 145 +tour_jets() +{ +} + +//Function Number: 146 +tour_boost_jumpers_initial() +{ + common_scripts\utility::flag_wait("flag_boost_jumpers_initial"); + thread tour_boost_jumpers_overhead(); + var_00 = getent("booster_01","targetname") maps\_utility::spawn_ai(1); + var_01 = getent("booster_02","targetname") maps\_utility::spawn_ai(1); + var_02 = getent("booster_03","targetname") maps\_utility::spawn_ai(1); + var_03 = getent("booster_04","targetname") maps\_utility::spawn_ai(1); + var_00.canjumppath = 1; + var_01.canjumppath = 1; + var_02.canjumppath = 1; + var_03.canjumppath = 1; + var_00 thread tour_boost_jumper_lifetime(1); + var_01 thread tour_boost_jumper_lifetime(2); + var_02 thread tour_boost_jumper_lifetime(3); + var_03 thread tour_boost_jumper_lifetime(4); +} + +//Function Number: 147 +tour_boost_jumper_lifetime(param_00) +{ + var_01 = getnode("jump_goal_0" + param_00 + "a","targetname"); + self setgoalpos(var_01.origin); + self.goalradius = 16; + booster_distance_checker(var_01); + var_01 = getnode("jump_goal_0" + param_00 + "b","targetname"); + self setgoalpos(var_01.origin); + self.goalradius = 16; + booster_distance_checker(var_01); + var_01 = getnode("jump_goal_0" + param_00 + "c","targetname"); + self setgoalpos(var_01.origin); + self.goalradius = 16; + booster_distance_checker(var_01); + var_01 = getnode("jump_goal_0" + param_00 + "d","targetname"); + self setgoalpos(var_01.origin); + self.goalradius = 16; + self waittill("goal"); + self delete(); +} + +//Function Number: 148 +booster_distance_checker(param_00) +{ + while(distance(self.origin,param_00.origin) > 128) + { + wait 0.05; + } +} + +//Function Number: 149 +tour_boost_jumpers_overhead() +{ + common_scripts\utility::flag_wait("flag_boost_jumpers_overhead"); + var_00 = getent("booster_05","targetname") maps\_utility::spawn_ai(1); + var_01 = getent("booster_06","targetname") maps\_utility::spawn_ai(1); + var_00.canjumppath = 1; + var_01.canjumppath = 1; + wait(10); + var_00 delete(); + var_01 delete(); +} + +//Function Number: 150 +tour_shooting_range() +{ + var_00 = getent("org_anim_shooting_range","targetname"); + thread tour_shooting_range_gideon(var_00); + common_scripts\utility::flag_wait("flag_start_shooting"); + level.shootingrangeleaderboard = maps\recovery_utility::leaderboard_make(10,"shooting_range"); + if(!common_scripts\utility::flag("shooting_range_started_once")) + { + thread tour_shooting_range_ilona(var_00); + } + + maps\recovery_utility::wait_for_primary_weapon_pickup(); + level.player allowfire(1); + level.player allowads(1); + if(level.player getcurrentprimaryweapon() == "iw5_bal27_sp_silencer01_variablereddot") + { + level.player enablehybridsight("iw5_bal27_sp_silencer01_variablereddot",1); + } + + if(level.player getcurrentprimaryweapon() == "iw5_bal27_sp_variablereddot") + { + level.player enablehybridsight("iw5_bal27_sp_variablereddot",1); + } +} + +//Function Number: 151 +tour_shooting_range_ilona(param_00) +{ + level endon("training_room_elevator_activated"); + param_00 = param_00 common_scripts\utility::spawn_tag_origin(); + param_00 thread maps\recovery_utility::delete_on_notify("training_room_elevator_activated"); + level.ilona = getent("ilona","targetname") maps\_utility::spawn_ai(1); + level.ilona.animname = "ilona"; + level.ilona endon("death"); + level.ilona thread maps\recovery_utility::delete_on_notify("training_round_2"); + param_00 thread maps\_anim::anim_loop_solo(level.ilona,"rec_atlas_shootingrange_ilona_idle01"); + common_scripts\utility::flag_wait("shooting_range_talk"); + param_00 notify("stop_loop"); + param_00 maps\_anim::anim_single_solo(level.ilona,"rec_atlas_shootingrange_talk_ilona"); + for(;;) + { + param_00 thread maps\_anim::anim_loop_solo(level.ilona,"rec_atlas_shootingrange_ilana_screen_idle"); + common_scripts\utility::flag_wait("flag_shooting_range_start"); + common_scripts\utility::flag_wait("ilona_range_turn_ok"); + param_00 notify("stop_loop"); + param_00 maps\_anim::anim_single_solo(level.ilona,"rec_atlas_shootingrange_ilana_screentolook"); + param_00 thread maps\_anim::anim_loop_solo(level.ilona,"rec_atlas_shootingrange_ilana_look_idle"); + common_scripts\utility::flag_waitopen("flag_shooting_range_start"); + common_scripts\utility::flag_wait("ilona_range_turn_ok"); + param_00 notify("stop_loop"); + param_00 maps\_anim::anim_single_solo(level.ilona,"rec_atlas_shootingrange_ilana_looktoscreen"); + } +} + +//Function Number: 152 +tour_shooting_range_gideon(param_00) +{ + common_scripts\utility::flag_wait("shooting_range_stairs_down"); + level.gideon maps\_utility::disable_ai_color(); + param_00 maps\_anim::anim_reach_solo(level.gideon,"rec_shooting_stairs_down_guy01"); + param_00 maps\_anim::anim_single_solo(level.gideon,"rec_shooting_stairs_down_guy01"); + var_01 = getnode("shooting_range_wait_to_enter","targetname"); + level.gideon.goalradius = 64; + level.gideon setgoalnode(var_01); + common_scripts\utility::flag_wait("tour_ilona_sequence"); + param_00 maps\_anim::anim_reach_solo(level.gideon,"rec_atlas_shootingrange_gideon_talk"); + common_scripts\utility::flag_set("shooting_range_talk"); + common_scripts\utility::flag_set("flag_vo_shooting_range_01"); + param_00 maps\_anim::anim_single_solo(level.gideon,"rec_atlas_shootingrange_gideon_talk"); + param_00 thread maps\_anim::anim_loop_solo(level.gideon,"rec_atlas_shootingrange_gideon_idle02"); + common_scripts\utility::flag_wait("gideon_early_exit_holo_range"); + param_00 notify("stop_loop"); + param_00 maps\_anim::anim_single_solo(level.gideon,"rec_atlas_shootingrange_gideon_exit"); + var_01 = getnode("shooting_range_wait_to_exit","targetname"); + level.gideon.goalradius = 64; + level.gideon setgoalnode(var_01); + common_scripts\utility::flag_wait("shooting_range_stairs_up"); + if(!common_scripts\utility::flag("flag_grenade_range_gideon")) + { + param_00 maps\_anim::anim_reach_solo(level.gideon,"rec_shooting_stairs_up_guy01"); + } + + if(!common_scripts\utility::flag("flag_grenade_range_gideon")) + { + param_00 maps\_anim::anim_single_solo(level.gideon,"rec_shooting_stairs_up_guy01"); + } + + if(!common_scripts\utility::flag("flag_grenade_range_gideon")) + { + level.gideon maps\_utility::enable_ai_color(); + maps\_utility::activate_trigger_with_targetname("colors_post_holo_range"); + } +} + +//Function Number: 153 +tour_shooting_range_interact_manager() +{ + common_scripts\utility::flag_wait("flag_start_shooting"); + thread maps\recovery_utility::aim_assist_using_bmodels_init(); + var_00 = getentarray("shooting_range_start","targetname"); + common_scripts\utility::array_thread(var_00,::tour_shooting_range_use_triggers); + var_01 = getent("round01_environment","targetname"); + var_02 = getent("round02_environment","targetname"); + var_03 = getent("round03_environment","targetname"); + var_04 = getent("round01_environment_trans","targetname"); + var_05 = getent("round02_environment_trans","targetname"); + var_06 = getent("round03_environment_trans","targetname"); + var_07 = [getent("round01_target01","targetname"),getent("round01_target02","targetname"),getent("round01_target03","targetname"),getent("round01_target04","targetname"),getent("round01_target05","targetname"),getent("round01_target06","targetname"),getent("round01_target07","targetname"),getent("round01_target08","targetname"),getent("round01_target09","targetname"),getent("round01_target10","targetname")]; + var_08 = [getent("round02_target01","targetname"),getent("round02_target02","targetname"),getent("round02_target03","targetname"),getent("round02_target04","targetname"),getent("round02_target05","targetname"),getent("round02_target06","targetname"),getent("round02_target07","targetname"),getent("round02_target08","targetname"),getent("round02_target09","targetname"),getent("round02_target10","targetname")]; + var_09 = [getent("round03_target01","targetname"),getent("round03_target02","targetname"),getent("round03_target03","targetname"),getent("round03_target04","targetname"),getent("round03_target05","targetname"),getent("round03_target06","targetname"),getent("round03_target07","targetname"),getent("round03_target08","targetname"),getent("round03_target09","targetname"),getent("round03_target10","targetname")]; + var_0A = [getent("round01_target_friendly_01","targetname"),getent("round01_target_friendly_02","targetname"),getent("round01_target_friendly_03","targetname"),getent("round01_target_friendly_04","targetname"),getent("round01_target_friendly_05","targetname"),getent("round01_target_friendly_06","targetname")]; + var_0B = [getent("round02_target_friendly_01","targetname"),getent("round02_target_friendly_02","targetname"),getent("round02_target_friendly_03","targetname"),getent("round02_target_friendly_04","targetname"),getent("round02_target_friendly_05","targetname"),getent("round02_target_friendly_06","targetname")]; + var_0C = [getent("round03_target_friendly_01","targetname"),getent("round03_target_friendly_02","targetname"),getent("round03_target_friendly_03","targetname"),getent("round03_target_friendly_04","targetname"),getent("round03_target_friendly_05","targetname"),getent("round03_target_friendly_06","targetname"),getent("round03_target_friendly_07","targetname"),getent("round03_target_friendly_08","targetname"),getent("round03_target_friendly_09","targetname"),getent("round03_target_friendly_10","targetname"),getent("round03_target_friendly_11","targetname"),getent("round03_target_friendly_12","targetname"),getent("round03_target_friendly_13","targetname")]; + var_0D = common_scripts\utility::array_combine(var_07,var_08); + var_0D = common_scripts\utility::array_combine(var_0D,var_09); + var_0E = common_scripts\utility::array_combine(var_0A,var_0B); + var_0E = common_scripts\utility::array_combine(var_0E,var_0C); + var_0F = level.player.exoparams["overdrive"].duration; + for(;;) + { + var_01 hide(); + var_01 notsolid(); + var_02 hide(); + var_02 notsolid(); + var_03 hide(); + var_03 notsolid(); + var_04 hide(); + var_04 notsolid(); + var_05 hide(); + var_05 notsolid(); + var_06 hide(); + var_06 notsolid(); + foreach(var_11 in var_0D) + { + var_11 hide(); + var_11 notsolid(); + var_11 thermaldrawenable(); + } + + foreach(var_11 in var_0E) + { + var_11.team = level.player.team; + var_11 hide(); + var_11 notsolid(); + var_11 thermaldrawenable(); + } + + common_scripts\utility::flag_wait("flag_shooting_range_start"); + common_scripts\utility::flag_set("shooting_range_started_once"); + common_scripts\utility::flag_set("flag_obj_gun_range_start"); + common_scripts\utility::flag_clear("shooting_range_exited"); + thread maps\recovery_lighting::shooting_range_ramp_down_lighting(); + level.player.exoparams["overdrive"].duration = 5; + tour_shooting_range_sequence(); + common_scripts\utility::flag_clear("flag_shooting_range_start"); + thread shooting_range_floor_panels_off(); + foreach(var_11 in var_09) + { + var_11 hide(); + var_11 notsolid(); + } + + foreach(var_11 in var_0E) + { + var_11 hide(); + var_11 notsolid(); + } + + var_01 hide(); + var_01 notsolid(); + var_02 hide(); + var_02 notsolid(); + var_03 hide(); + var_03 notsolid(); + var_04 show(); + var_04 solid(); + var_05 show(); + var_05 solid(); + var_06 show(); + var_06 solid(); + var_04 maps\_utility::delaythread(0.2,::geo_flicker,2); + var_04 maps\_utility::delaythread(0.5,::geo_flicker,1); + var_04 maps\_utility::delaythread(0.7,::geo_flicker,1); + thread maps\recovery_fx::firing_range_kill_glow(); + soundscripts\_snd::snd_music_message("firing_range_deactivating"); + wait(1); + thread maps\recovery_lighting::shooting_range_ramp_up_lighting(); + var_04 hide(); + var_04 notsolid(); + var_05 hide(); + var_05 notsolid(); + var_06 hide(); + var_06 notsolid(); + maps\recovery_utility::score_manager_force_stop(); + if(!common_scripts\utility::flag("shooting_range_exited")) + { + maps\recovery_utility::score_manager_print_final_score("holo_range"); + } + + give_overdrive_battery(1); + wait(2.5); + level.player.exoparams["overdrive"].duration = var_0F; + if(!common_scripts\utility::flag("shooting_range_exited")) + { + level.shootingrangeleaderboard maps\recovery_utility::leaderboard_record("player",level.score_keeper.count); + level.shootingrangeleaderboard maps\recovery_utility::leaderboard_screen_update(); + } + + common_scripts\utility::flag_set("shooting_range_completed_once"); + common_scripts\utility::flag_set("flag_obj_gun_range_complete"); + thread maps\_utility::autosave_by_name(); + } +} + +//Function Number: 154 +overdrive_reset() +{ + if(level.player maps\_player_exo::overdrive_is_on()) + { + var_00 = 0.1; + level.player maps\_player_exo::overdrive_force_stop(var_00); + wait(var_00); + wait(0.5); + } + + level.player maps\_player_exo::overdrive_force_cooldown(1); +} + +//Function Number: 155 +shooting_range_floor_panels_on() +{ + var_00 = getentarray("holo_emitter_floor","targetname"); + soundscripts\_snd::snd_message("shooting_range_panels_up",var_00); + foreach(var_02 in var_00) + { + if(common_scripts\utility::flag("flag_shooting_range_start")) + { + var_03 = randomfloatrange(0,2.5); + var_04 = 0.5; + var_02 common_scripts\utility::delaycall(var_03,::moveto,(var_02.origin[0],var_02.origin[1],-137),var_04,0.1,0.1); + var_02 common_scripts\utility::delaycall(var_03 + var_04,::setmodel,"rec_holo_emitter_floor_on"); + } + } +} + +//Function Number: 156 +shooting_range_floor_panels_off() +{ + var_00 = getentarray("holo_emitter_floor","targetname"); + soundscripts\_snd::snd_message("shooting_range_panels_down",var_00); + foreach(var_02 in var_00) + { + if(!common_scripts\utility::flag("flag_shooting_range_start")) + { + var_03 = randomfloatrange(0,2.5); + var_04 = 0.5; + var_02 common_scripts\utility::delaycall(var_03,::moveto,(var_02.origin[0],var_02.origin[1],-141),var_04,0.2,0.2); + var_02 common_scripts\utility::delaycall(var_03 + var_04,::setmodel,"rec_holo_emitter_floor_off"); + } + } +} + +//Function Number: 157 +tour_shooting_range_screen_info_update_handler() +{ + if(!isdefined(level.score_keeper.stats)) + { + level.score_keeper.stats = spawnstruct(); + } + + level.score_keeper endon("score_manager_timed_out"); + var_00 = level.score_keeper.stats; + var_00.enemy_kills = 0; + var_00.enemy_headshots = 0; + var_00.enemy_chestshots = 0; + var_00.enemy_armshots = 0; + var_00.enemy_legshots = 0; + var_00.civ_kills = 0; + var_00.civ_headshots = 0; + var_00.civ_chestshots = 0; + var_00.civ_legshots = 0; + var_00.civ_armshots = 0; + for(;;) + { + setomnvar("ui_recovery_screen_score",level.score_keeper.count); + setomnvar("ui_recovery_screen_headshots_e",var_00.enemy_headshots); + setomnvar("ui_recovery_screen_chestShots_e",var_00.enemy_chestshots); + setomnvar("ui_recovery_screen_armShots_e",var_00.enemy_armshots); + setomnvar("ui_recovery_screen_legShots_e",var_00.enemy_legshots); + setomnvar("ui_recovery_screen_headshots_c",var_00.civ_headshots); + setomnvar("ui_recovery_screen_chestShots_c",var_00.civ_chestshots); + setomnvar("ui_recovery_screen_armShots_c",var_00.civ_armshots); + setomnvar("ui_recovery_screen_legShots_c",var_00.civ_legshots); + level.score_keeper waittill("score_change"); + } +} + +//Function Number: 158 +tour_shooting_range_screen_toggle() +{ + for(;;) + { + common_scripts\utility::flag_wait("player_inside_shooting_range"); + setomnvar("ui_recovery_screen_grenade_range",0); + setomnvar("ui_recovery_screen_shooting_range",1); + common_scripts\utility::flag_waitopen("player_inside_shooting_range"); + setomnvar("ui_recovery_screen_shooting_range",0); + } +} + +//Function Number: 159 +tour_shooting_range_sequence() +{ + level endon("shooting_range_exited"); + clear_overdrive_battery(); + var_00 = getent("round01_environment","targetname"); + var_01 = getent("round02_environment","targetname"); + var_02 = getent("round03_environment","targetname"); + var_03 = getent("round01_environment_trans","targetname"); + var_04 = getent("round02_environment_trans","targetname"); + var_05 = getent("round03_environment_trans","targetname"); + var_06 = [getent("round01_target01","targetname"),getent("round01_target02","targetname"),getent("round01_target03","targetname"),getent("round01_target04","targetname"),getent("round01_target05","targetname"),getent("round01_target06","targetname"),getent("round01_target07","targetname"),getent("round01_target08","targetname"),getent("round01_target09","targetname"),getent("round01_target10","targetname")]; + var_07 = [getent("round02_target01","targetname"),getent("round02_target02","targetname"),getent("round02_target03","targetname"),getent("round02_target04","targetname"),getent("round02_target05","targetname"),getent("round02_target06","targetname"),getent("round02_target07","targetname"),getent("round02_target08","targetname"),getent("round02_target09","targetname"),getent("round02_target10","targetname")]; + var_08 = [getent("round03_target01","targetname"),getent("round03_target02","targetname"),getent("round03_target03","targetname"),getent("round03_target04","targetname"),getent("round03_target05","targetname"),getent("round03_target06","targetname"),getent("round03_target07","targetname"),getent("round03_target08","targetname"),getent("round03_target09","targetname"),getent("round03_target10","targetname")]; + var_09 = [getent("round01_target_friendly_01","targetname"),getent("round01_target_friendly_02","targetname"),getent("round01_target_friendly_03","targetname"),getent("round01_target_friendly_04","targetname"),getent("round01_target_friendly_05","targetname"),getent("round01_target_friendly_06","targetname")]; + var_0A = [getent("round02_target_friendly_01","targetname"),getent("round02_target_friendly_02","targetname"),getent("round02_target_friendly_03","targetname"),getent("round02_target_friendly_04","targetname"),getent("round02_target_friendly_05","targetname"),getent("round02_target_friendly_06","targetname")]; + var_0B = [getent("round03_target_friendly_01","targetname"),getent("round03_target_friendly_02","targetname"),getent("round03_target_friendly_03","targetname"),getent("round03_target_friendly_04","targetname"),getent("round03_target_friendly_05","targetname"),getent("round03_target_friendly_06","targetname"),getent("round03_target_friendly_07","targetname"),getent("round03_target_friendly_08","targetname"),getent("round03_target_friendly_09","targetname"),getent("round03_target_friendly_10","targetname"),getent("round03_target_friendly_11","targetname"),getent("round03_target_friendly_12","targetname"),getent("round03_target_friendly_13","targetname")]; + var_0C = common_scripts\utility::array_combine(var_06,var_07); + var_0C = common_scripts\utility::array_combine(var_0C,var_08); + var_0D = common_scripts\utility::array_combine(var_09,var_0A); + var_0D = common_scripts\utility::array_combine(var_0D,var_0B); + maps\recovery_utility::score_manager_init(var_06.size + var_07.size + var_08.size); + childthread tour_shooting_range_screen_info_update_handler(); + var_03 show(); + var_03 solid(); + soundscripts\_snd::snd_message("shooting_range_transition1",var_03); + var_03 maps\_utility::delaythread(0.2,::geo_flicker,2); + var_03 maps\_utility::delaythread(0.5,::geo_flicker,1); + var_03 maps\_utility::delaythread(0.7,::geo_flicker,1); + thread maps\recovery_fx::firing_range_round_1_glow(); + soundscripts\_snd::snd_music_message("firing_range_activating"); + wait(1); + var_00 show(); + var_00 solid(); + wait 0.05; + wait 0.05; + wait 0.05; + var_03 hide(); + var_03 notsolid(); + thread shooting_range_floor_panels_on(); + common_scripts\utility::flag_set("flag_vo_shooting_range_computer_activate"); + wait(2); + common_scripts\utility::flag_set("flag_vo_shooting_range_computer_begin"); + wait(3); + common_scripts\utility::array_thread(var_0C,::maps\recovery_utility::score_manager_detect_damage,1,1); + common_scripts\utility::array_thread(var_0D,::maps\recovery_utility::score_manager_detect_damage,1,0); + var_0E = 4; + var_06[0] thread target_lifetime(4,0,"none",0); + wait(1.5); + var_06[1] thread target_lifetime(4,0,"none",0); + wait(0.5); + var_09[0] thread target_lifetime(4,0,"none",1); + wait(1.5); + var_06[2] thread target_lifetime(4,0,"none",0); + wait(1.5); + var_06[3] thread target_lifetime(4,0,"none",0); + wait(0.5); + var_09[1] thread target_lifetime(4,0,"none",1); + wait(1.5); + var_06[4] thread target_lifetime(4,0,"none",0); + wait(2); + if(!common_scripts\utility::flag("flag_enable_overdrive")) + { + common_scripts\utility::flag_set("flag_enable_overdrive"); + } + + give_overdrive_battery(); + common_scripts\utility::flag_set("flag_vo_shooting_range_overdrive_ready"); + level.player.showhint = 1; + thread maps\_utility::display_hint_timeout("overdrive_prompt",3); + wait(1.5); + var_06[5] thread target_lifetime(4,0,"none",0); + wait(0.5); + var_06[6] thread target_lifetime(4,0,"none",0); + wait(0.5); + var_09[2] thread target_lifetime(4,0,"none",1); + wait(0.5); + var_09[3] thread target_lifetime(4,0,"none",1); + wait(0.5); + var_06[7] thread target_lifetime(4,0,"none",0); + wait(0.5); + var_09[4] thread target_lifetime(4,0,"none",1); + wait(0.5); + var_09[5] thread target_lifetime(4,0,"none",1); + wait(0.5); + var_06[8] thread target_lifetime(4,0,"none",0); + wait(0.5); + var_06[9] thread target_lifetime(4,0,"none",0); + wait(3); + wait(0.5); + foreach(var_10 in var_06) + { + var_10 hide(); + var_10 notsolid(); + } + + wait(1); + level.player.showhint = 0; + var_04 show(); + var_04 solid(); + soundscripts\_snd::snd_message("shooting_range_transition2",var_04); + var_04 maps\_utility::delaythread(0.2,::geo_flicker,2); + var_04 maps\_utility::delaythread(0.5,::geo_flicker,1); + var_04 maps\_utility::delaythread(0.7,::geo_flicker,1); + thread maps\recovery_fx::firing_range_round_2_glow(); + wait(1); + var_01 show(); + var_01 solid(); + wait 0.05; + wait 0.05; + wait 0.05; + var_04 hide(); + var_04 notsolid(); + common_scripts\utility::flag_set("flag_vo_shooting_range_computer_round_2"); + wait(2); + var_12 = 3; + var_0A[0] thread target_lifetime(3.5,0,"none",1); + wait(0.25); + var_07[0] thread target_lifetime(var_12,226,"right",0); + wait(2); + var_07[1] thread target_lifetime(var_12,0,"none",0); + wait(2); + var_07[2] thread target_lifetime(4,518,"right",0); + wait(2); + var_07[3] thread target_lifetime(4,518,"left",0); + wait(2); + var_07[4] thread target_lifetime(4,518,"right",0); + wait(2); + var_07[5] thread target_lifetime(var_12,0,"none",0); + var_0A[1] thread target_lifetime(3.5,518,"left",1); + wait(0.2); + var_07[6] thread target_lifetime(3.5,518,"left",0); + wait(0.2); + var_0A[2] thread target_lifetime(3.5,518,"left",1); + wait(1); + var_0A[3] thread target_lifetime(3.5,518,"right",1); + give_overdrive_battery(); + common_scripts\utility::flag_set("flag_vo_shooting_range_overdrive_ready"); + level.player.showhint = 1; + thread maps\_utility::display_hint_timeout("overdrive_prompt",3); + wait(1.5); + var_07[7] thread target_lifetime(3.5,518,"left",0); + wait(0.5); + var_0A[4] thread target_lifetime(3.5,518,"right",1); + wait(2); + var_07[8] thread target_lifetime(3,518,"left",0); + var_07[9] thread target_lifetime(3,518,"right",0); + wait(0.5); + var_0A[5] thread target_lifetime(2.5,0,"none",1); + wait(3); + wait(0.5); + foreach(var_10 in var_07) + { + var_10 hide(); + var_10 notsolid(); + } + + wait(1); + level.player.showhint = 0; + var_05 show(); + var_05 solid(); + soundscripts\_snd::snd_message("shooting_range_transition3",var_05); + var_05 maps\_utility::delaythread(0.2,::geo_flicker,2); + var_05 maps\_utility::delaythread(0.5,::geo_flicker,1); + var_05 maps\_utility::delaythread(0.7,::geo_flicker,1); + thread maps\recovery_fx::firing_range_round_3_glow(); + wait(1); + var_02 show(); + var_02 solid(); + wait 0.05; + wait 0.05; + wait 0.05; + var_05 hide(); + var_05 notsolid(); + common_scripts\utility::flag_set("flag_vo_shooting_range_computer_round_3"); + wait(2); + var_15 = 3; + var_08[0] thread target_lifetime(var_15,504,"right",0); + wait(2); + var_08[1] thread target_lifetime(var_15,0,"none",0); + wait(2); + var_0B[0] thread target_lifetime(var_15,500,"forward",1); + wait(2); + var_08[2] thread target_lifetime(var_15,472,"left",0); + wait(2); + var_08[3] thread target_lifetime(var_15,0,"none",0); + wait(2); + var_0B[1] thread target_lifetime(var_15,608,"right",1); + var_08[4] thread target_lifetime(var_15,512,"right",0); + wait(2.5); + var_0B[2] thread target_lifetime(var_15,504,"right",1); + var_08[9] thread target_lifetime(var_15,504,"left",0); + wait(2.5); + var_0B[3] thread target_lifetime(var_15,608,"left",1); + var_08[5] thread target_lifetime(var_15,512,"left",0); + give_overdrive_battery(); + common_scripts\utility::flag_set("flag_vo_shooting_range_overdrive_ready"); + level.player.showhint = 1; + thread maps\_utility::display_hint_timeout("overdrive_prompt",3); + wait(1.5); + var_0B[4] thread target_lifetime(3,600,"left",1); + var_08[6] thread target_lifetime(4,600,"left",0); + wait(0.5); + var_0B[5] thread target_lifetime(3,600,"left",1); + wait(0.5); + var_0B[6] thread target_lifetime(3,600,"left",1); + var_08[7] thread target_lifetime(4,600,"left",0); + wait(0.5); + var_0B[7] thread target_lifetime(3,600,"left",1); + wait(0.5); + var_0B[8] thread target_lifetime(3,600,"left",1); + var_08[8] thread target_lifetime(4,600,"left",0); + wait(0.5); + var_0B[9] thread target_lifetime(3,600,"left",1); + wait(0.5); + var_0B[10] thread target_lifetime(3,600,"left",1); + wait(0.5); + wait(4); + common_scripts\utility::flag_set("gideon_early_exit_holo_range"); + wait(0.5); +} + +//Function Number: 160 +clear_overdrive_battery() +{ + maps\_player_exo::batterysetlevel(0); +} + +//Function Number: 161 +give_overdrive_battery(param_00) +{ + if(isdefined(param_00)) + { + maps\_player_exo::batteryfillmax(); + return; + } + + maps\_player_exo::batterysetlevel(level.player.exoparams["overdrive"].battery_cost); +} + +//Function Number: 162 +waittill_time_or_msg(param_00,param_01) +{ + self endon(param_01); + wait(param_00); +} + +//Function Number: 163 +target_lifetime(param_00,param_01,param_02,param_03) +{ + var_04 = self.origin; + var_05 = self.angles; + self show(); + self solid(); + thread target_spawn_in(param_03); + if(param_03) + { + soundscripts\_snd::snd_message("shooting_range_friendly_spawn",self); + } + else + { + soundscripts\_snd::snd_message("shooting_range_enemy_spawn",self); + } + + if(isdefined(param_03) && !param_03) + { + thread target_blink_out(param_00); + maps\recovery_utility::enable_aim_assist_on_script_model(self,"tag_chest"); + self.maxhealth = 1; + self setnormalhealth(self.maxhealth); + } + + if(param_02 == "up") + { + self moveto(self.origin + (0,0,param_01),param_00,0,0); + } + + if(param_02 == "down") + { + self moveto(self.origin - (0,0,param_01),param_00,0,0); + } + + if(param_02 == "forward") + { + self moveto(self.origin - (param_01,0,0),param_00,0,0); + } + + if(param_02 == "backward") + { + self moveto(self.origin + (param_01,0,0),param_00,0,0); + } + + if(param_02 == "left") + { + self moveto(self.origin + (0,param_01,0),param_00,0,0); + } + + if(param_02 == "right") + { + self moveto(self.origin - (0,param_01,0),param_00,0,0); + } + + waittill_time_or_msg(param_00,"target_hit"); + soundscripts\_snd::snd_message("shooting_range_target_despawn"); + thread target_spawn_out(param_03); + self hide(); + self notsolid(); + if(isdefined(param_03) && !param_03) + { + maps\recovery_utility::disable_aim_assist_on_script_model(self); + } + + wait(0.3); + self.origin = var_04; + self.angles = var_05; +} + +//Function Number: 164 +target_spawn_in(param_00) +{ + if(param_00 == 1) + { + playfxontag(common_scripts\utility::getfx("holo_target_green_spawn_in"),self,"tag_origin"); + return; + } + + playfxontag(common_scripts\utility::getfx("holo_target_red_spawn_in"),self,"tag_origin"); +} + +//Function Number: 165 +target_spawn_out(param_00) +{ + if(param_00 == 1) + { + playfxontag(common_scripts\utility::getfx("holo_target_green_spawn_out"),self,"tag_origin"); + return; + } + + playfxontag(common_scripts\utility::getfx("holo_target_red_spawn_out"),self,"tag_origin"); +} + +//Function Number: 166 +target_blink_out(param_00) +{ + self endon("damage"); + wait(param_00 - 0.3); + self hide(); + wait 0.05; + self show(); + wait 0.05; + self hide(); + wait 0.05; + self show(); + wait 0.05; + self hide(); + wait 0.05; + self show(); + wait 0.05; +} + +//Function Number: 167 +geo_flicker(param_00) +{ + for(var_01 = 0;var_01 < param_00;var_01++) + { + self hide(); + wait 0.05; + self show(); + wait 0.05; + } +} + +//Function Number: 168 +tour_shooting_range_use_triggers() +{ + level endon("training_room_elevator_activated"); + maps\_utility::addhinttrigger(&"RECOVERY_PROMPT_TRAINING_TARGET",&"RECOVERY_PROMPT_TRAINING_TARGET_PC"); + common_scripts\utility::trigger_off(); + common_scripts\utility::flag_wait("flag_shooting_range_playable"); + common_scripts\utility::trigger_on(); + var_00 = maps\_shg_utility::hint_button_trigger("use"); + for(;;) + { + common_scripts\utility::flag_wait("flag_shooting_range_start"); + common_scripts\utility::trigger_off(); + var_00 maps\_shg_utility::hint_button_clear(); + common_scripts\utility::flag_waitopen("flag_shooting_range_start"); + wait(3); + common_scripts\utility::trigger_on(); + var_00 = maps\_shg_utility::hint_button_trigger("use"); + } +} + +//Function Number: 169 +tour_grenade_range_drone_spawn_with_spawner(param_00) +{ + var_01 = param_00 maps\_vehicle::spawn_vehicle_and_gopath(); + level.score_keeper.max++; + var_01 thread maps\recovery_utility::score_manager_detect_enemy_death(); + var_01 thread tour_grenade_range_drone_lifetime(); + return var_01; +} + +//Function Number: 170 +tour_grenade_range_tutorial_drone_spawn_with_spawner(param_00) +{ + var_01 = param_00 maps\_vehicle::spawn_vehicle_and_gopath(); + var_01 soundscripts\_snd::snd_message("attack_drone_flybys_audio"); + var_01 thread tour_grenade_range_drone_lifetime_tutorial(); + return var_01; +} + +//Function Number: 171 +tour_grenade_range_minigame_drone_spawn_with_spawner(param_00) +{ + var_01 = param_00 maps\_vehicle::spawn_vehicle_and_gopath(); + var_01 soundscripts\_snd::snd_message("attack_drone_flybys_audio"); + var_01 thread tour_grenade_range_drone_lifetime_minigame(); + return var_01; +} + +//Function Number: 172 +wait_for_threat_grenade() +{ + for(;;) + { + level.player waittill("grenade_fire",var_00,var_01); + if(var_01 == "paint_grenade_var") + { + level.player notify("threat_grenade_thrown"); + break; + } + + wait(0.5); + } +} + +//Function Number: 173 +waittill_grenade_damage() +{ + self.hit_type = "none"; + for(;;) + { + self waittill("damage",var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09); + if((var_04 == "MOD_GRENADE" || var_04 == "MOD_EXPLOSIVE" || var_04 == "MOD_GRENADE_SPLASH") && var_00 > 175) + { + if(var_04 == "MOD_GRENADE_SPLASH") + { + self.hit_type = "indirect"; + } + else + { + self.hit_type = "direct"; + } + + soundscripts\_snd::snd_message("smart_grenade_target_hit"); + break; + } + else if(!var_04 == "MOD_GRENADE" || var_04 == "MOD_EXPLOSIVE" || var_04 == "MOD_GRENADE_SPLASH") + { + common_scripts\utility::flag_set("flag_vo_grenade_range_grenades_only"); + soundscripts\_snd::snd_message("smart_grenade_target_shot"); + } + } +} + +//Function Number: 174 +tour_grenade_range_gideon() +{ + common_scripts\utility::flag_wait("flag_grenade_range_gideon"); + level.gideon maps\_utility::disable_ai_color(); + var_00 = getent("org_anim_grenade_range","targetname"); + var_00 maps\_anim::anim_reach_solo(level.gideon,"rec_aug_threatgrenade_gideon_in"); + common_scripts\utility::flag_set("flag_vo_grenade_range_gideon_intro"); + thread maps\_utility::autosave_by_name(); + var_00 maps\_anim::anim_single_solo(level.gideon,"rec_aug_threatgrenade_gideon_in"); + var_00 thread maps\_anim::anim_loop_solo(level.gideon,"rec_aug_threatgrenade_gideon_idle"); + common_scripts\utility::flag_wait("gideon_early_exit_grenade_range"); + common_scripts\utility::flag_wait("gideon_range_exit_ok"); + var_00 notify("stop_loop"); + var_00 maps\_anim::anim_single_solo_run(level.gideon,"rec_aug_threatgrenade_gideon_out"); + if(!common_scripts\utility::flag("elevator_room_exterior")) + { + level.gideon maps\_utility::enable_ai_color(); + maps\_utility::activate_trigger("gideon_exit_grenade_range","targetname"); + } +} + +//Function Number: 175 +grenade_target_lifetime(param_00) +{ + level endon("flag_grenade_range_start"); + level endon("training_room_elevator_activated"); + var_01 = 0.5; + var_02 = spawn("script_origin",self.origin + (-49,0,10)); + var_02.script_noteworthy = "tracking_grenade_target"; + var_02 linkto(self); + thread grenade_target_reset_manager(var_01,var_02); + self rotateto((0,270,0),var_01); + soundscripts\_snd::snd_message("smart_grenade_target_flip"); + wait(var_01); + self setcandamage(1); + thread grenade_target_movement_manager(param_00); + waittill_grenade_damage(); + level.grenade_range_container.grenadetargetkills++; + level.grenade_range_container notify("score_change"); + self notify("hit"); + self setcandamage(0); + self moveto(self.origin,0.05); + if(self.hit_type == "direct") + { + playfx(level._effect["expround_asphalt_1"],self.origin); + level notify("grenade_range_point_scored_100"); + } + + if(self.hit_type == "indirect") + { + playfx(level._effect["expround_asphalt_1"],self.origin); + level notify("grenade_range_point_scored_50"); + } + + self rotateto((0,270,90),var_01); + soundscripts\_snd::snd_message("smart_grenade_target_flip_down"); + if(isdefined(var_02)) + { + var_02 unlink(); + var_02 delete(); + wait 0.05; + } +} + +//Function Number: 176 +grenade_target_movement_manager(param_00) +{ + self endon("hit"); + level endon("flag_grenade_range_start"); + level endon("training_room_elevator_activated"); + var_01 = 100; + var_02 = abs(param_00 / var_01); + while(var_02 > 0) + { + soundscripts\_snd::snd_message("smart_grenade_target_move",var_02); + self moveto(self.origin + (0,param_00,0),var_02); + wait(var_02); + wait 0.05; + soundscripts\_snd::snd_message("smart_grenade_target_move_back",var_02); + self moveto(self.origin - (0,param_00,0),var_02); + wait(var_02); + wait 0.05; + } +} + +//Function Number: 177 +grenade_target_reset_manager(param_00,param_01) +{ + level endon("training_room_elevator_activated"); + var_02 = self.origin; + common_scripts\utility::flag_waitopen("flag_grenade_range_start"); + self setcandamage(0); + self rotateto((0,270,90),param_00); + soundscripts\_snd::snd_message("smart_grenade_target_expire"); + wait(param_00); + wait 0.05; + if(isdefined(param_01)) + { + param_01 unlink(); + param_01 delete(); + wait 0.05; + } + + common_scripts\utility::flag_wait("flag_grenade_range_start"); + self.origin = var_02; +} + +//Function Number: 178 +tour_grenade_range_screen_toggle() +{ + for(;;) + { + common_scripts\utility::flag_wait("player_inside_grenade_range"); + setomnvar("ui_recovery_screen_shooting_range",0); + setomnvar("ui_recovery_screen_grenade_range",1); + common_scripts\utility::flag_waitopen("player_inside_grenade_range"); + setomnvar("ui_recovery_screen_grenade_range",0); + } +} + +//Function Number: 179 +showthreathintagainifplayerisbeingdumb() +{ + level endon("showThreatHintAgainIfPlayerIsBeingDumb_stop"); + for(;;) + { + wait(14); + level.player.showhint = 1; + if(level.player common_scripts\utility::is_player_gamepad_enabled()) + { + maps\_utility::delaythread(1,::maps\_utility::display_hint,"threat_prompt"); + } + else + { + maps\_utility::delaythread(1,::maps\_utility::display_hint,"pc_threat_prompt"); + } + + wait_for_threat_grenade(); + level.player.showhint = 0; + } +} + +//Function Number: 180 +tour_grenade_range_refills_highlight() +{ + var_00 = getentarray("grenade_range_refills","script_noteworthy"); + for(;;) + { + common_scripts\utility::flag_wait("flag_grenade_range_start"); + var_01 = []; + var_01["r_hudoutlineenable"] = getdvarint("r_hudoutlineenable",1); + var_01["r_hudoutlinepostmode"] = getdvarint("r_hudoutlinepostmode",0); + var_01["r_hudoutlinehaloblurradius"] = getdvarfloat("r_hudoutlinehaloblurradius",1); + var_01["r_hudoutlinehalolumscale"] = getdvarfloat("r_hudoutlinehalolumscale",1); + setsaveddvar("r_hudoutlineenable",1); + setsaveddvar("r_hudoutlinepostmode",2); + setsaveddvar("r_hudoutlinehaloblurradius",0.7); + setsaveddvar("r_hudoutlinehalolumscale",2); + foreach(var_03 in var_00) + { + var_03 hudoutlineenable(5); + } + + common_scripts\utility::flag_waitopen("flag_grenade_range_start"); + foreach(var_03 in var_00) + { + var_03 hudoutlinedisable(); + } + + setsaveddvar("r_hudoutlineenable",var_01["r_hudoutlineenable"]); + setsaveddvar("r_hudoutlinepostmode",var_01["r_hudoutlinepostmode"]); + setsaveddvar("r_hudoutlinehaloblurradius",var_01["r_hudoutlinehaloblurradius"]); + setsaveddvar("r_hudoutlinehalolumscale",var_01["r_hudoutlinehalolumscale"]); + } +} + +//Function Number: 181 +tour_grenade_range_interact_manager() +{ + level endon("training_room_elevator_activated"); + level.grenade_range_container = spawnstruct(); + level.grenade_range_container.maxscore = 100000; + level.grenade_range_container.currentscore = 0; + childthread tour_grenade_range_score_manager(); + childthread tour_grenade_range_refills_highlight(); + level.grenaderangeleaderboard = maps\recovery_utility::leaderboard_make(10,"grenade_range"); + var_00 = [getent("grenade_target_01","targetname"),getent("grenade_target_02","targetname"),getent("grenade_target_03","targetname"),getent("grenade_target_04","targetname"),getent("grenade_target_05","targetname"),getent("grenade_target_06","targetname"),getent("grenade_target_07","targetname"),getent("grenade_target_08","targetname"),getent("grenade_target_09","targetname"),getent("grenade_target_10","targetname")]; + var_01 = [getent("grenade_target_moving_01","targetname"),getent("grenade_target_moving_02","targetname"),getent("grenade_target_moving_03","targetname"),getent("grenade_target_moving_04","targetname"),getent("grenade_target_moving_05","targetname"),getent("grenade_target_moving_06","targetname")]; + var_02 = getent("grenade_range_drone_spawner_tutorial_01","targetname"); + var_03 = getent("grenade_range_drone_spawner_tutorial_02","targetname"); + var_04 = getent("grenade_range_drone_spawner_tutorial_03","targetname"); + var_05 = getent("grenade_range_drone_spawner_01a","targetname"); + var_06 = getent("grenade_range_drone_spawner_01b","targetname"); + var_07 = getent("grenade_range_drone_spawner_01c","targetname"); + var_08 = getent("grenade_range_drone_spawner_02a","targetname"); + var_09 = getent("grenade_range_drone_spawner_02b","targetname"); + var_0A = getent("grenade_range_drone_spawner_02c","targetname"); + var_0B = getent("grenade_range_drone_spawner_03a","targetname"); + var_0C = getent("grenade_range_drone_spawner_03b","targetname"); + var_0D = getent("grenade_range_drone_spawner_03c","targetname"); + var_0E = getent("grenade_range_drone_spawner_03d","targetname"); + var_0F = getentarray("grenade_range_start","targetname"); + level.grenade_range_use_triggers = var_0F; + common_scripts\utility::array_thread(var_0F,::tour_grenade_range_use_triggers); + var_10 = getentarray("grenade_range_entrance_gate_left","targetname"); + var_11 = getentarray("grenade_range_entrance_gate_right","targetname"); + var_12 = getent("grenade_range_blocker","targetname"); + var_12 notsolid(); + var_12 connectpaths(); + maps\_utility::battlechatter_off("allies"); + common_scripts\utility::flag_wait("flag_grenade_range_start"); + common_scripts\utility::flag_set("flag_obj_grenade_range_tutorial_start"); + common_scripts\utility::flag_set("grenade_range_started_once"); + thread maps\recovery_lighting::setup_lighting_fx_during_mini_games(); + level.player enableoffhandweapons(); + level.player enableoffhandsecondaryweapons(); + var_12 solid(); + foreach(var_14 in var_10) + { + var_14 rotateto((0,-90,0),0.75,0.1,0.1); + } + + foreach(var_14 in var_11) + { + var_14 rotateto((0,90,0),0.75,0.1,0.1); + } + + soundscripts\_snd::snd_music_message("grenade_range_begin_phase1"); + common_scripts\utility::flag_set("flag_vo_grenade_range_gideon_threat"); + level.player.showhint = 1; + if(level.player common_scripts\utility::is_player_gamepad_enabled()) + { + maps\_utility::delaythread(1,::maps\_utility::display_hint,"threat_prompt"); + } + else + { + maps\_utility::delaythread(1,::maps\_utility::display_hint,"pc_threat_prompt"); + } + + wait_for_threat_grenade(); + level.player.showhint = 0; + thread showthreathintagainifplayerisbeingdumb(); + common_scripts\utility::flag_set("flag_vo_grenade_range_bullet_penetration"); + common_scripts\utility::flag_set("flag_obj_grenade_tutorial_threat_complete"); + var_18 = getentarray("threat_tutorial_guy","targetname"); + level.guys = []; + foreach(var_1A in var_18) + { + var_1B = var_1A maps\_utility::spawn_ai(1); + var_1A.count++; + var_1B.goalradius = 8; + var_1B.ignoreall = 1; + var_1B maps\_utility::enable_dontevershoot(); + var_1B.health = 10; + var_1B.grenadeawareness = 0; + level.guys = common_scripts\utility::array_add(level.guys,var_1B); + var_1B maps\_utility::disable_long_death(); + var_1B maps\_utility::set_battlechatter(0); + } + + level common_scripts\utility::waittill_either("grenade_range_point_scored_50","grenade_range_point_scored_100"); + level common_scripts\utility::waittill_either("grenade_range_point_scored_50","grenade_range_point_scored_100"); + level notify("showThreatHintAgainIfPlayerIsBeingDumb_stop"); + level.player.showhint = 0; + wait(1); + common_scripts\utility::flag_set("flag_vo_grenade_range_gideon_emp"); + level.player.showhint = 1; + if(level.player common_scripts\utility::is_player_gamepad_enabled()) + { + maps\_utility::delaythread(1,::maps\_utility::display_hint,"emp_prompt"); + } + else + { + maps\_utility::delaythread(1,::maps\_utility::display_hint,"pc_emp_prompt"); + } + + var_1D = tour_grenade_range_tutorial_drone_spawn_with_spawner(var_02); + var_1D sethoverparams(0.5,8,1); + var_1E = tour_grenade_range_tutorial_drone_spawn_with_spawner(var_03); + var_1E sethoverparams(0.5,8,1); + wait(1); + var_1F = tour_grenade_range_tutorial_drone_spawn_with_spawner(var_04); + var_1F sethoverparams(0.5,8,1); + level common_scripts\utility::waittill_either("grenade_range_point_scored_50","grenade_range_point_scored_100"); + level common_scripts\utility::waittill_either("grenade_range_point_scored_50","grenade_range_point_scored_100"); + level common_scripts\utility::waittill_either("grenade_range_point_scored_50","grenade_range_point_scored_100"); + level.player.showhint = 0; + wait(2); + common_scripts\utility::flag_set("flag_vo_grenade_range_gideon_smart"); + level.player.showhint = 1; + if(level.player common_scripts\utility::is_player_gamepad_enabled()) + { + maps\_utility::delaythread(1,::maps\_utility::display_hint,"smart_prompt"); + } + else + { + maps\_utility::delaythread(1,::maps\_utility::display_hint,"pc_smart_prompt"); + } + + var_01[0] maps\_utility::delaythread(0.5,::grenade_target_lifetime,485); + level common_scripts\utility::waittill_either("grenade_range_point_scored_50","grenade_range_point_scored_100"); + level.player.showhint = 0; + wait(1); + common_scripts\utility::flag_set("flag_vo_grenade_range_gideon_again"); + common_scripts\utility::flag_set("flag_obj_grenade_range_tutorial_complete"); + common_scripts\utility::flag_clear("flag_grenade_range_start"); + thread maps\_utility::autosave_by_name(); + thread maps\recovery_lighting::turn_off_lighting_fx_post_mini_games(); + for(;;) + { + common_scripts\utility::flag_wait("flag_grenade_range_start"); + common_scripts\utility::flag_set("flag_obj_grenade_range_minigame_start"); + maps\_utility::battlechatter_off("allies"); + tour_grenade_range_minigame_sequence(); + maps\_utility::battlechatter_on("allies"); + foreach(var_1B in level.guys) + { + if(isdefined(var_1B)) + { + var_1B delete(); + } + } + + var_12 notsolid(); + foreach(var_14 in var_10) + { + var_14 rotateto((0,359,0),0.75,0.1,0.1); + } + + foreach(var_14 in var_11) + { + var_14 rotateto((0,1,0),0.75,0.1,0.1); + } + + thread maps\recovery_lighting::turn_off_lighting_fx_post_mini_games(); + soundscripts\_snd::snd_music_message("grenade_range_end_phase2"); + common_scripts\utility::flag_clear("flag_grenade_range_start"); + thread maps\_utility::autosave_by_name(); + } +} + +//Function Number: 182 +tour_grenade_range_minigame_sequence() +{ + level endon("player_inside_grenade_range"); + var_00 = [getent("grenade_target_01","targetname"),getent("grenade_target_02","targetname"),getent("grenade_target_03","targetname"),getent("grenade_target_04","targetname"),getent("grenade_target_05","targetname"),getent("grenade_target_06","targetname"),getent("grenade_target_07","targetname"),getent("grenade_target_08","targetname"),getent("grenade_target_09","targetname"),getent("grenade_target_10","targetname")]; + var_01 = [getent("grenade_target_moving_01","targetname"),getent("grenade_target_moving_02","targetname"),getent("grenade_target_moving_03","targetname"),getent("grenade_target_moving_04","targetname"),getent("grenade_target_moving_05","targetname"),getent("grenade_target_moving_06","targetname")]; + var_02 = getent("grenade_range_drone_spawner_tutorial_01","targetname"); + var_03 = getent("grenade_range_drone_spawner_tutorial_02","targetname"); + var_04 = getent("grenade_range_drone_spawner_tutorial_03","targetname"); + var_05 = getent("grenade_range_drone_spawner_01a","targetname"); + var_06 = getent("grenade_range_drone_spawner_01b","targetname"); + var_07 = getent("grenade_range_drone_spawner_01c","targetname"); + var_08 = getent("grenade_range_drone_spawner_02a","targetname"); + var_09 = getent("grenade_range_drone_spawner_02b","targetname"); + var_0A = getent("grenade_range_drone_spawner_02c","targetname"); + var_0B = getent("grenade_range_drone_spawner_03a","targetname"); + var_0C = getent("grenade_range_drone_spawner_03b","targetname"); + var_0D = getent("grenade_range_drone_spawner_03c","targetname"); + var_0E = getent("grenade_range_drone_spawner_03d","targetname"); + var_0F = getentarray("threat_minigame_guy_wave_1","targetname"); + var_10 = getentarray("threat_minigame_guy_wave_2","targetname"); + level.guys = []; + thread maps\recovery_lighting::setup_lighting_fx_during_mini_games(); + clearallcorpses(); + tour_grenade_range_score_reset(); + common_scripts\utility::flag_set("flag_vo_grenade_range_computer_activate"); + wait(2); + common_scripts\utility::flag_set("flag_vo_grenade_range_computer_begin"); + soundscripts\_snd::snd_music_message("grenade_range_begin_phase2"); + foreach(var_12 in var_0F) + { + var_13 = var_12 maps\_utility::spawn_ai(1); + var_12.count++; + var_13.goalradius = 8; + var_13.ignoreall = 1; + var_13 maps\_utility::enable_dontevershoot(); + var_13.health = 10; + var_13.grenadeawareness = 0; + level.guys = common_scripts\utility::array_add(level.guys,var_13); + var_13 maps\_utility::set_battlechatter(0); + } + + wait(3); + var_00[4] maps\_utility::delaythread(0,::grenade_target_lifetime,0); + var_01[5] maps\_utility::delaythread(0.75,::grenade_target_lifetime,-261); + wait(4); + var_15 = maps\_utility::delaythread(0,::tour_grenade_range_minigame_drone_spawn_with_spawner,var_05); + var_16 = maps\_utility::delaythread(0.3,::tour_grenade_range_minigame_drone_spawn_with_spawner,var_06); + var_17 = maps\_utility::delaythread(0.6,::tour_grenade_range_minigame_drone_spawn_with_spawner,var_07); + wait(5); + var_01[2] maps\_utility::delaythread(0.75,::grenade_target_lifetime,261); + wait(4); + foreach(var_12 in var_10) + { + var_13 = var_12 maps\_utility::spawn_ai(1); + var_12.count++; + var_13.goalradius = 8; + var_13.ignoreall = 1; + var_13 maps\_utility::enable_dontevershoot(); + var_13.health = 10; + var_13.grenadeawareness = 0; + level.guys = common_scripts\utility::array_add(level.guys,var_13); + var_13 maps\_utility::set_battlechatter(0); + } + + common_scripts\utility::flag_set("flag_vo_grenade_range_threat_2"); + wait(2); + var_1A = maps\_utility::delaythread(0,::tour_grenade_range_minigame_drone_spawn_with_spawner,var_08); + var_1B = maps\_utility::delaythread(0.3,::tour_grenade_range_minigame_drone_spawn_with_spawner,var_09); + wait(4); + var_00[9] maps\_utility::delaythread(0,::grenade_target_lifetime,0); + wait(6); + var_1C = maps\_utility::delaythread(0,::tour_grenade_range_minigame_drone_spawn_with_spawner,var_0B); + var_1D = maps\_utility::delaythread(0.3,::tour_grenade_range_minigame_drone_spawn_with_spawner,var_0C); + var_1E = maps\_utility::delaythread(0.6,::tour_grenade_range_minigame_drone_spawn_with_spawner,var_0D); + var_1F = maps\_utility::delaythread(0.6,::tour_grenade_range_minigame_drone_spawn_with_spawner,var_0E); + wait(3); + var_01[1] maps\_utility::delaythread(0.5,::grenade_target_lifetime,-485); + wait(5); + common_scripts\utility::flag_set("gideon_early_exit_grenade_range"); + wait(5); + common_scripts\utility::flag_clear("flag_grenade_range_start"); + wait(1); + tour_grenade_range_score_feedback(); + level.grenaderangeleaderboard maps\recovery_utility::leaderboard_record("player",level.grenade_range_container.currentscore); + level.grenaderangeleaderboard maps\recovery_utility::leaderboard_screen_update(); + common_scripts\utility::flag_set("grenade_range_completed_once"); + common_scripts\utility::flag_set("flag_obj_grenade_range_minigame_complete"); +} + +//Function Number: 183 +tour_grenade_range_screen_info_update() +{ + for(;;) + { + setomnvar("ui_recovery_screen_score",level.grenade_range_container.currentscore); + setomnvar("ui_recovery_screen_kills_drones",level.grenade_range_container.dronekills); + setomnvar("ui_recovery_screen_kills_ai",level.grenade_range_container.aikills); + setomnvar("ui_recovery_screen_kills_grenadeTargets",level.grenade_range_container.grenadetargetkills); + level.grenade_range_container waittill("score_change"); + } +} + +//Function Number: 184 +tour_grenade_range_score_reset() +{ + level.grenade_range_container.currentscore = 0; + level.grenade_range_container.dronekills = 0; + level.grenade_range_container.aikills = 0; + level.grenade_range_container.grenadetargetkills = 0; + level.grenade_range_container notify("score_change"); +} + +//Function Number: 185 +tour_grenade_range_score_manager() +{ + tour_grenade_range_score_reset(); + childthread tour_grenade_range_screen_info_update(); + for(;;) + { + var_00 = level common_scripts\utility::waittill_any_return("grenade_range_point_scored_50","grenade_range_point_scored_100"); + if(var_00 == "grenade_range_point_scored_50") + { + level.grenade_range_container.currentscore = level.grenade_range_container.currentscore + 50; + } + + if(var_00 == "grenade_range_point_scored_100") + { + level.grenade_range_container.currentscore = level.grenade_range_container.currentscore + 100; + } + } +} + +//Function Number: 186 +tour_grenade_range_score_feedback() +{ + if(level.grenade_range_container.currentscore < 500) + { + common_scripts\utility::flag_set("flag_vo_grenade_range_result_bad"); + } + + if(level.grenade_range_container.currentscore >= 500 && level.grenade_range_container.currentscore < 1200) + { + common_scripts\utility::flag_set("flag_vo_grenade_range_result_average"); + } + + if(level.grenade_range_container.currentscore >= 1200 && level.grenade_range_container.currentscore < 1600) + { + common_scripts\utility::flag_set("flag_vo_grenade_range_result_good"); + } + + if(level.grenade_range_container.currentscore >= 1600 && level.grenade_range_container.currentscore < 2000) + { + common_scripts\utility::flag_set("flag_vo_grenade_range_result_excellent"); + } + + if(level.grenade_range_container.currentscore >= 2000) + { + common_scripts\utility::flag_set("flag_vo_grenade_range_result_perfect"); + } + + if(level.grenade_range_container.currentscore >= 1600) + { + maps\_utility::giveachievement_wrapper("LEVEL_2B"); + } +} + +//Function Number: 187 +tour_grenade_range_use_triggers() +{ + level endon("training_room_elevator_activated"); + maps\_utility::addhinttrigger(&"RECOVERY_PROMPT_ACTIVATE",&"RECOVERY_PROMPT_ACTIVATE_PC"); + common_scripts\utility::trigger_off(); + common_scripts\utility::flag_wait("flag_obj_grenade_range_pre_2"); + common_scripts\utility::trigger_on(); + var_00 = maps\_shg_utility::hint_button_trigger("use"); + self.button = var_00; + for(;;) + { + common_scripts\utility::flag_wait("flag_grenade_range_start"); + common_scripts\utility::trigger_off(); + var_00 maps\_shg_utility::hint_button_clear(); + common_scripts\utility::flag_waitopen("flag_grenade_range_start"); + wait(4); + common_scripts\utility::flag_waitopen("game_saving"); + common_scripts\utility::trigger_on(); + var_00 = maps\_shg_utility::hint_button_trigger("use"); + maps\_utility::addhinttrigger(&"RECOVERY_PROMPT_TRAINING_GRENADE",&"RECOVERY_PROMPT_TRAINING_GRENADE_PC"); + } +} + +//Function Number: 188 +tour_grenade_range_drone_lifetime() +{ + self.health = 50; + self.pacifist = 1; + self.ignoreme = 1; + self.ignoreall = 1; + maps\_utility::set_goalradius(4); + thread maps\_shg_utility::make_emp_vulnerable(); + self waittill("reached_dynamic_path_end"); + maps\_utility::vehicle_land(); + self notify("score_manager_detect_enemy_death_stop"); + if(isdefined(self)) + { + self delete(); + } +} + +//Function Number: 189 +tour_grenade_range_drone_lifetime_tutorial() +{ + self.pacifist = 1; + self.ignoreme = 1; + self.ignoreall = 1; + maps\_utility::set_goalradius(4); + thread maps\_shg_utility::make_emp_vulnerable(); + self waittill("reached_dynamic_path_end"); +} + +//Function Number: 190 +tour_grenade_range_drone_lifetime_minigame() +{ + self.pacifist = 1; + self.ignoreme = 1; + self.ignoreall = 1; + maps\_utility::set_goalradius(4); + thread maps\_shg_utility::make_emp_vulnerable(); + self waittill("reached_dynamic_path_end"); + maps\_utility::vehicle_land(); + self notify("no_score"); + self delete(); +} + +//Function Number: 191 +disable_grenade_range_triggers() +{ + foreach(var_01 in level.grenade_range_use_triggers) + { + var_01 common_scripts\utility::trigger_off(); + if(isdefined(var_01.button)) + { + var_01.button maps\_shg_utility::hint_button_clear(); + } + } +} + +//Function Number: 192 +enable_grenade_range_triggers() +{ + foreach(var_01 in level.grenade_range_use_triggers) + { + var_01 common_scripts\utility::trigger_on(); + if(!isdefined(var_01.button)) + { + var_01.button = var_01 maps\_shg_utility::hint_button_trigger("use"); + } + } +} + +//Function Number: 193 +tour_drone_control() +{ + disable_grenade_range_triggers(); + var_00 = vehicle_scripts\_pdrone_player::pdrone_player_spawn("tour_pdrone","tour_drone_range_space",60,2.5); + level.player.drone = var_00; + var_00 vehicle_scripts\_pdrone_player::pdrone_player_add_ent_target("targetname","drone_target"); + var_00 vehicle_scripts\_pdrone_player::pdrone_orient_to_closest_ent_target(); + var_00 vehicle_scripts\_pdrone_player::pdrone_player_enter(); + soundscripts\_snd::snd_message("rec_player_drone_start",var_00); + var_00 vehicle_scripts\_pdrone_player::pdrone_player_loop(); + level notify("flag_vo_drone_training_exit"); + soundscripts\_snd::snd_message("rec_player_drone_end"); + var_00 vehicle_scripts\_pdrone_player::pdrone_player_exit(); + var_00 delete(); + maps\recovery_utility::score_manager_force_stop(); + enable_grenade_range_triggers(); +} + +//Function Number: 194 +drone_range_target_manage_hit() +{ + self waittill("target_hit"); + self notify("fake_death"); + self hide(); + self notsolid(); + if(isdefined(self.target)) + { + var_00 = getent(self.target,"targetname"); + var_00 notsolid(); + var_00 connectpaths(); + } +} + +//Function Number: 195 +tour_drone_range_interact_manager() +{ + level.dronerangeleaderboard = maps\recovery_utility::leaderboard_make(10,"drone_range",1); + thread tour_drone_range_targets(); + thread tour_drone_range_timer(); + var_00 = getent("drone_range_start_2","targetname"); + var_00 thread tour_drone_range_use_triggers(); + var_01 = [getent("grenade_target_01","targetname"),getent("grenade_target_02","targetname"),getent("grenade_target_03","targetname"),getent("grenade_target_04","targetname"),getent("grenade_target_05","targetname"),getent("grenade_target_06","targetname"),getent("grenade_target_07","targetname"),getent("grenade_target_08","targetname"),getent("grenade_target_09","targetname"),getent("grenade_target_10","targetname")]; + var_02 = [getent("grenade_target_moving_01","targetname"),getent("grenade_target_moving_02","targetname"),getent("grenade_target_moving_03","targetname"),getent("grenade_target_moving_04","targetname"),getent("grenade_target_moving_05","targetname"),getent("grenade_target_moving_06","targetname")]; + var_03 = common_scripts\utility::array_combine(var_01,var_02); + var_04 = getentarray("drone_barrier","targetname"); + wait(1); + foreach(var_06 in var_04) + { + var_06 hide(); + var_06 notsolid(); + var_06 connectpaths(); + } + + for(;;) + { + common_scripts\utility::flag_wait("flag_drone_range_start"); + clearallcorpses(); + foreach(var_09 in var_03) + { + var_09 hide(); + var_09 notsolid(); + } + + foreach(var_06 in var_04) + { + var_06 show(); + var_06 solid(); + } + + thread maps\_introscreen::introscreen_generic_fade_in("black",0.4,0.4); + thread maps\recovery_lighting::setup_lighting_fly_drone(); + var_0D = getentarray("drone_target","targetname"); + maps\recovery_utility::score_manager_init(var_0D.size); + common_scripts\utility::array_thread(var_0D,::maps\recovery_utility::score_manager_detect_damage); + common_scripts\utility::array_thread(var_0D,::drone_range_target_manage_hit); + thread tour_drone_control(); + maps\recovery_utility::score_manager_waittill_timeout_or_maxscore(60); + level.player.drone vehicle_scripts\_pdrone_player::pdrone_player_force_exit(); + thread maps\recovery_lighting::setup_lighting_fly_drone_off(); + foreach(var_09 in var_03) + { + var_09 common_scripts\utility::delaycall(0.4,::show); + var_09 solid(); + } + + foreach(var_06 in var_04) + { + var_06 common_scripts\utility::delaycall(0.4,::hide); + var_06 notsolid(); + } + + if(level.score_keeper.count == 10) + { + maps\recovery_utility::score_manager_print_final_score("drone_range"); + level.dronerangeleaderboard maps\recovery_utility::leaderboard_record("player",level.score_keeper.time); + level.dronerangeleaderboard maps\recovery_utility::leaderboard_screen_update(); + level notify("flag_vo_drone_training_complete"); + } + + common_scripts\utility::flag_clear("flag_drone_range_start"); + level.player allowsprint(0); + var_00 thread tour_drone_interact_clear(); + thread maps\_utility::autosave_by_name(); + } +} + +//Function Number: 196 +tour_drone_interact_clear() +{ + common_scripts\utility::flag_clear(self.script_flag); +} + +//Function Number: 197 +tour_drone_range_use_triggers() +{ + level endon("training_room_elevator_activated"); + common_scripts\utility::trigger_off(); + common_scripts\utility::flag_wait("grenade_range_completed_once"); + common_scripts\utility::trigger_on(); + var_00 = maps\_shg_utility::hint_button_trigger("use"); + maps\_utility::addhinttrigger(&"RECOVERY_PROMPT_TRAINING_DRONE",&"RECOVERY_PROMPT_TRAINING_DRONE_PC"); + for(;;) + { + var_01 = common_scripts\utility::flag_wait_either_return(self.script_flag,"flag_grenade_range_start"); + common_scripts\utility::trigger_off(); + var_00 maps\_shg_utility::hint_button_clear(); + if(var_01 == self.script_flag) + { + common_scripts\utility::flag_set("flag_drone_range_start"); + common_scripts\utility::flag_waitopen(self.script_flag); + common_scripts\utility::flag_clear("flag_drone_range_start"); + } + + if(var_01 == "flag_grenade_range_start") + { + common_scripts\utility::flag_waitopen("flag_grenade_range_start"); + } + + common_scripts\utility::flag_waitopen("game_saving"); + common_scripts\utility::trigger_on(); + var_00 = maps\_shg_utility::hint_button_trigger("use"); + } +} + +//Function Number: 198 +tour_drone_range_targets() +{ + level endon("training_room_elevator_activated"); + var_00 = getentarray("drone_target","targetname"); + thread maps\recovery_utility::aim_assist_using_bmodels_init(); + foreach(var_02 in var_00) + { + var_02.maxhealth = 1000; + var_02.health = var_02.maxhealth; + var_02 setnormalhealth(var_02.maxhealth); + var_02 thread tour_drone_range_target_lifetime(); + } + + for(;;) + { + foreach(var_05 in var_00) + { + var_05 hide(); + var_05 notsolid(); + if(isdefined(var_05.target)) + { + var_06 = getent(var_05.target,"targetname"); + var_06 notsolid(); + var_06 connectpaths(); + } + } + + common_scripts\utility::flag_wait("flag_drone_range_start"); + foreach(var_05 in var_00) + { + var_05 show(); + var_05 solid(); + if(isdefined(var_05.target)) + { + var_06 = getent(var_05.target,"targetname"); + var_06 solid(); + var_06 disconnectpaths(); + } + } + + common_scripts\utility::flag_waitopen("flag_drone_range_start"); + } +} + +//Function Number: 199 +tour_drone_range_target_lifetime() +{ + level endon("training_room_elevator_activated"); +} + +//Function Number: 200 +tour_drone_range_timer() +{ + level endon("training_room_elevator_activated"); + for(;;) + { + common_scripts\utility::flag_wait("flag_drone_range_start"); + level.score_keeper.time = 0; + while(common_scripts\utility::flag("flag_drone_range_start")) + { + wait(1); + level.score_keeper.time = level.score_keeper.time + 1; + var_00 = 60 - level.score_keeper.time; + } + } +} + +//Function Number: 201 +tour_variable_grenade_refill_manager() +{ + var_00 = getentarray("grenade_box_tour","targetname"); + var_01 = getentarray("grenade_model_tour","targetname"); + var_02 = common_scripts\utility::array_combine(var_00,var_01); + foreach(var_04 in var_02) + { + var_04 hide(); + } + + level endon("training_room_elevator_activated"); + var_06 = getentarray("variable_grenade_refill","targetname"); + common_scripts\utility::flag_wait("shooting_range_completed_once"); + foreach(var_04 in var_02) + { + var_04 show(); + } + + thread tour_variable_grenade_auto_fill(); +} + +//Function Number: 202 +tour_variable_grenade_initial_acquisition() +{ + level endon("variable_grenades_acquired_initial"); + self waittill("trigger"); + level notify("variable_grenades_acquired_initial"); +} + +//Function Number: 203 +tour_variable_grenade_auto_fill() +{ + level endon("training_room_elevator_activated"); + level waittill("flag_grenade_range_start"); + var_00 = 0; + var_00 = var_00 + level.player setweaponammostock("flash_grenade_var"); + var_00 = var_00 + level.player setweaponammostock("emp_grenade_var"); + var_00 = var_00 + level.player setweaponammostock("paint_grenade_var"); + var_00 = var_00 + level.player setweaponammostock("frag_grenade_var"); + var_00 = var_00 + level.player setweaponammostock("contact_grenade_var"); + var_00 = var_00 + level.player setweaponammostock("tracking_grenade_var"); + var_00 = var_00 / 3; + maps\_variable_grenade::give_player_variable_grenade(); + level.player givemaxammo("frag_grenade_var"); + level.player givemaxammo("contact_grenade_var"); + level.player givemaxammo("tracking_grenade_var"); + level.player givemaxammo("flash_grenade_var"); + level.player givemaxammo("emp_grenade_var"); + level.player givemaxammo("paint_grenade_var"); + level.player playsound("grenade_pickup"); + for(;;) + { + common_scripts\utility::flag_wait("variable_grenade_refill"); + var_00 = 0; + var_00 = var_00 + level.player setweaponammostock("flash_grenade_var"); + var_00 = var_00 + level.player setweaponammostock("emp_grenade_var"); + var_00 = var_00 + level.player setweaponammostock("paint_grenade_var"); + var_00 = var_00 + level.player setweaponammostock("frag_grenade_var"); + var_00 = var_00 + level.player setweaponammostock("contact_grenade_var"); + var_00 = var_00 + level.player setweaponammostock("tracking_grenade_var"); + var_00 = var_00 / 3; + maps\_variable_grenade::give_player_variable_grenade(); + if(var_00 < 8) + { + level.player givemaxammo("frag_grenade_var"); + level.player givemaxammo("contact_grenade_var"); + level.player givemaxammo("tracking_grenade_var"); + level.player givemaxammo("flash_grenade_var"); + level.player givemaxammo("emp_grenade_var"); + level.player givemaxammo("paint_grenade_var"); + level.player playsound("grenade_pickup"); + } + + common_scripts\utility::flag_waitopen("variable_grenade_refill"); + } +} + +//Function Number: 204 +toggle_grenade_range_settings() +{ + for(;;) + { + var_00 = level.player.detection_grenade_duration; + var_01 = level.gideon.ignoreall; + common_scripts\utility::flag_wait("tour_grenade_range"); + level.player.detection_grenade_duration = 15.5; + level.gideon.ignoreall = 1; + common_scripts\utility::flag_waitopen("tour_grenade_range"); + level.player.detection_grenade_duration = var_00; + level.gideon.ignoreall = var_01; + } +} + +//Function Number: 205 +ready_room_gideon() +{ + var_00 = getent("org_anim_elevators","targetname"); + var_00 = var_00 common_scripts\utility::spawn_tag_origin(); + common_scripts\utility::flag_wait("elevator_room_exterior"); + level.gideon maps\_utility::disable_ai_color(); + var_00 maps\_anim::anim_reach_solo(level.gideon,"rec_readyroom_seq"); + level notify("gideon_ready_room_sequence"); + common_scripts\utility::flag_set("flag_vo_ready_room_01"); + thread maps\_utility::autosave_by_name(); + var_00 maps\_anim::anim_single_solo(level.gideon,"rec_readyroom_seq"); + var_00 thread maps\_anim::anim_loop_solo(level.gideon,"rec_readyroom_idle_guy01"); + common_scripts\utility::flag_wait("training_room_elevator_activated"); + var_00 notify("stop_loop"); + level.ready_room_things["assault_rifle"] delete(); + level.ready_room_things["assault_rifle_controller"] delete(); + var_00 maps\_anim::anim_single_solo(level.gideon,"rec_readyroom_up_guy01"); + common_scripts\utility::flag_clear("flag_gideon_use_custom_anim_set"); + level.gideon maps\_utility::enable_ai_color(); +} + +//Function Number: 206 +ready_room_player() +{ + common_scripts\utility::flag_wait("elevator_room_exterior"); + level.player allowsprint(1); + var_00 = getent("ready_room_boost_blocker","targetname"); + var_00 notsolid(); + var_01 = getent("ready_room_elevator_left","targetname"); + var_01.animname = "ready_room_elevator_left"; + var_01 maps\_utility::assign_animtree(); + var_02 = getent("ready_room_elevator_left_clip","targetname"); + var_03 = getent("ready_room_elevator_left_clip_kl","targetname"); + var_04 = getent("ready_room_elevator_left_clip_kr","targetname"); + var_05 = getent("ready_room_elevator_left_clip_fl","targetname"); + var_06 = getent("ready_room_elevator_left_clip_fr","targetname"); + var_02 linkto(var_01,"elevatorlift"); + var_03 linkto(var_01,"door_kl"); + var_04 linkto(var_01,"door_kr"); + var_05 linkto(var_01,"door_fl"); + var_06 linkto(var_01,"door_fr"); + var_07 = getent("org_anim_elevators","targetname"); + var_07 = var_07 common_scripts\utility::spawn_tag_origin(); + var_07 maps\_anim::anim_first_frame_solo(var_01,"rec_readyroom_elevator_left_open"); + level waittill("gideon_presses_elevator_button"); + var_08 = getent("clip_elevator_pinch_prevent_left","targetname"); + var_09 = getent("clip_elevator_pinch_prevent_right","targetname"); + var_08 common_scripts\utility::delaycall(1,::delete); + var_09 common_scripts\utility::delaycall(1,::delete); + var_07 maps\_anim::anim_single_solo(var_01,"rec_readyroom_elevator_left_open"); + var_07 thread maps\_anim::anim_last_frame_solo(var_01,"rec_readyroom_elevator_left_open"); + common_scripts\utility::flag_wait("training_room_elevator_activated"); + thread maps\recovery_utility::play_rumble_elevator(); + var_00 solid(); + var_07 thread maps\_anim::anim_single_solo(var_01,"rec_readyroom_seq"); + common_scripts\utility::flag_set("flag_vo_ready_room_04"); + common_scripts\utility::flag_set("ready_room_elevator_lighting"); + common_scripts\utility::flag_set("flag_obj_elevators_exit_complete"); + common_scripts\utility::flag_set("training_end"); + common_scripts\utility::flag_set("training_round_2"); + var_0A = getent("left_elevator_hatch_back","targetname"); + var_0B = getent("left_elevator_hatch_front","targetname"); + var_0C = getent("right_elevator_hatch_back","targetname"); + var_0D = getent("right_elevator_hatch_front","targetname"); + wait(7); + thread training_s2_opening(); + var_0A moveto(var_0A.origin + (0,76,0),3,0.25,0.25); + soundscripts\_snd::snd_message("rec_readyroom_elevator_left_hatch_back",var_0A); + var_0B moveto(var_0B.origin - (0,76,0),3,0.25,0.25); + soundscripts\_snd::snd_message("rec_readyroom_elevator_left_hatch_front",var_0B); + var_0C moveto(var_0C.origin + (0,76,0),3,0.25,0.25); + var_0D moveto(var_0D.origin - (0,76,0),3,0.25,0.25); + wait(8); + var_02 disconnectpaths(); + maps\_utility::delaythread(1,::common_scripts\utility::flag_set,"training_room_elevator_completed"); + maps\_utility::delaythread(2,::common_scripts\utility::flag_set,"training_s2_ready"); + maps\_utility::delaythread(3,::maps\_utility::autosave_by_name); +} + +//Function Number: 207 +ready_room_elevator_right() +{ + common_scripts\utility::flag_wait("elevator_room_exterior"); + var_00 = getent("org_anim_elevators","targetname"); + var_00 = var_00 common_scripts\utility::spawn_tag_origin(); + var_01 = getent("ready_room_elevator_right","targetname"); + level.ready_room_things["elevator_right"] = var_01; + var_01.animname = "ready_room_elevator_right"; + var_01 maps\_utility::assign_animtree(); + var_00 maps\_anim::anim_first_frame_solo(var_01,"rec_readyroom_seq"); + var_02 = getent("ready_room_elevator_right_clip","targetname"); + var_03 = getent("ready_room_elevator_right_clip_kl","targetname"); + var_04 = getent("ready_room_elevator_right_clip_kr","targetname"); + var_05 = getent("ready_room_elevator_right_clip_fl","targetname"); + var_06 = getent("ready_room_elevator_right_clip_fr","targetname"); + var_02 linkto(var_01,"elevatorlift"); + var_03 linkto(var_01,"door_kl"); + var_04 linkto(var_01,"door_kr"); + var_05 linkto(var_01,"door_fl"); + var_06 linkto(var_01,"door_fr"); + level waittill("gideon_ready_room_sequence"); + var_00 maps\_anim::anim_single_solo(var_01,"rec_readyroom_seq"); + var_00 thread maps\_anim::anim_first_frame_solo(var_01,"rec_readyroom_up_elevator_right"); + common_scripts\utility::flag_wait("training_room_elevator_activated"); + var_00 maps\_anim::anim_single_solo(var_01,"rec_readyroom_up_elevator_right"); + var_00 thread maps\_anim::anim_last_frame_solo(var_01,"rec_readyroom_up_elevator_right"); + var_02 = getent("ready_room_elevator_right_clip","targetname"); + var_02 disconnectpaths(); +} + +//Function Number: 208 +ready_room_assault_rifle() +{ + var_00 = getent("org_anim_elevators","targetname"); + var_00 = var_00 common_scripts\utility::spawn_tag_origin(); + var_01 = spawn("script_model",var_00.origin); + var_01 setmodel("npc_himar_base_loot"); + level.ready_room_things["assault_rifle"] = var_01; + var_02 = maps\_utility::spawn_anim_model("ready_room_assault_rifle",var_00.origin,var_00.angles); + level.ready_room_things["assault_rifle_controller"] = var_02; + var_00 maps\_anim::anim_first_frame_solo(var_02,"rec_readyroom_seq"); + var_01.origin = var_02 gettagorigin("tag_origin_animated"); + var_01.angles = var_02 gettagangles("tag_origin_animated"); + var_01 linkto(var_02,"tag_origin_animated"); + level waittill("gideon_ready_room_sequence"); + var_00 maps\_anim::anim_single_solo(var_02,"rec_readyroom_seq"); + var_00 maps\_anim::anim_loop_solo(var_02,"rec_readyroom_idle_gun_pickedup"); + common_scripts\utility::flag_wait("training_s2_ready"); + wait(10); + var_00 notify("stop_loop"); + var_00 delete(); +} + +//Function Number: 209 +ready_room_sniper_rifle() +{ + var_00 = getent("gideon_rifle","targetname"); + var_00.origin = var_00.origin - (0,0,500); + var_01 = getent("org_anim_elevators","targetname"); + var_01 = var_01 common_scripts\utility::spawn_tag_origin(); + var_02 = spawn("script_model",var_01.origin); + var_02 setmodel("npc_m990_base_loot"); + var_02 attach("npc_m990_base_scope","tag_scope"); + var_02 hidepart("tag_sight_on"); + var_02 showpart("tag_sight_off"); + var_03 = maps\_utility::spawn_anim_model("ready_room_sniper_rifle",var_01.origin,var_01.angles); + var_01 maps\_anim::anim_first_frame_solo(var_03,"rec_readyroom_gun_ontable"); + var_02.origin = var_03 gettagorigin("tag_origin_animated"); + var_02.angles = var_03 gettagangles("tag_origin_animated"); + var_02 linkto(var_03,"tag_origin_animated"); + level waittill("gideon_ready_room_sequence"); + var_01 thread maps\_anim::anim_single_solo(var_03,"rec_readyroom_gun_ontable"); + level waittill("swap_sniper_rifle"); + var_00.origin = var_00.origin + (0,0,500); + wait 0.05; + var_01 delete(); + var_03 delete(); + var_02 delete(); +} + +//Function Number: 210 +player_speed_manager() +{ + common_scripts\utility::flag_wait("tour_end"); + level.player allowsprint(0); + level.failonfriendlyfire = 1; + common_scripts\utility::flag_wait("training_room_elevator_activated"); + level.player allowsprint(1); + level.failonfriendlyfire = 0; +} + +//Function Number: 211 +atlas_base_weapon_manager() +{ + level endon("training_room_elevator_activated"); + thread atlas_base_weapon_manager_elevator(); + wait(1); + common_scripts\utility::flag_wait("flag_obj_follow_gideon"); + level.player allowdodge(0); + level.player allowmelee(0); + level.player giveweapon("iw5_unarmed_nullattach"); + level.player switchtoweapon("iw5_unarmed_nullattach"); + level.player disableweaponswitch(); + var_00 = getdvar("bg_viewBobAmplitudeStanding"); + var_01 = getdvar("bg_viewBobAmplitudeDucked"); + var_02 = getdvar("bg_viewBobMax"); + setsaveddvar("bg_viewBobAmplitudeStanding","0.005 0.01"); + setsaveddvar("bg_viewBobAmplitudeDucked","0.002 0.005"); + setsaveddvar("bg_viewBobMax",3); + level.player setbobrate(0.8); + common_scripts\utility::flag_wait("tour_end"); + level.player allowdodge(0); + level.player allowmelee(0); + level.player giveweapon("iw5_unarmed_nullattach"); + level.player switchtoweapon("iw5_unarmed_nullattach"); + level.player disableweaponswitch(); + var_00 = getdvar("bg_viewBobAmplitudeStanding"); + var_01 = getdvar("bg_viewBobAmplitudeDucked"); + var_02 = getdvar("bg_viewBobMax"); + setsaveddvar("bg_viewBobAmplitudeStanding","0.005 0.01"); + setsaveddvar("bg_viewBobAmplitudeDucked","0.002 0.005"); + setsaveddvar("bg_viewBobMax",3); + level.player setbobrate(0.8); + common_scripts\utility::flag_wait("flag_obj_equip_firing_range"); + level.player allowdodge(1); + level.player allowmelee(1); + level.player takeweapon("iw5_unarmed_nullattach"); + level.player enableweaponswitch(); + setsaveddvar("bg_viewBobAmplitudeStanding",var_00); + setsaveddvar("bg_viewBobAmplitudeDucked",var_01); + setsaveddvar("bg_viewBobMax",var_02); + level.player setbobrate(1); + while(!common_scripts\utility::flag("training_room_elevator_activated")) + { + wait(1); + common_scripts\utility::flag_waitopen("base_gun_up"); + var_03 = level.player getcurrentweapon(); + level.player allowdodge(0); + level.player allowmelee(0); + level.player giveweapon("iw5_unarmed_nullattach"); + level.player switchtoweapon("iw5_unarmed_nullattach"); + level.player disableweaponswitch(); + level.player disableoffhandweapons(); + level.player disableoffhandsecondaryweapons(); + setsaveddvar("bg_viewBobAmplitudeStanding","0.005 0.01"); + setsaveddvar("bg_viewBobAmplitudeDucked","0.002 0.005"); + setsaveddvar("bg_viewBobMax",3); + level.player setbobrate(0.8); + common_scripts\utility::flag_wait("base_gun_up"); + level.player allowdodge(1); + level.player allowmelee(1); + level.player takeweapon("iw5_unarmed_nullattach"); + level.player enableweaponswitch(); + if(common_scripts\utility::flag("grenade_range_started_once")) + { + level.player enableoffhandweapons(); + level.player enableoffhandsecondaryweapons(); + } + + level.player switchtoweapon(var_03); + setsaveddvar("bg_viewBobAmplitudeStanding",var_00); + setsaveddvar("bg_viewBobAmplitudeDucked",var_01); + setsaveddvar("bg_viewBobMax",var_02); + level.player setbobrate(1); + } +} + +//Function Number: 212 +atlas_base_weapon_manager_elevator() +{ + common_scripts\utility::flag_wait("training_room_elevator_activated"); + wait(1); + var_00 = level.player getcurrentweapon(); + level.player allowdodge(0); + level.player allowmelee(0); + level.player giveweapon("iw5_unarmed_nullattach"); + level.player switchtoweapon("iw5_unarmed_nullattach"); + level.player disableweaponswitch(); + level.player disableoffhandweapons(); + level.player disableoffhandsecondaryweapons(); + var_01 = getdvar("bg_viewBobAmplitudeStanding"); + var_02 = getdvar("bg_viewBobAmplitudeDucked"); + var_03 = getdvar("bg_viewBobMax"); + setsaveddvar("bg_viewBobAmplitudeStanding","0.005 0.01"); + setsaveddvar("bg_viewBobAmplitudeDucked","0.002 0.005"); + setsaveddvar("bg_viewBobMax",3); + level.player setbobrate(0.8); + common_scripts\utility::flag_wait("training_room_elevator_completed"); + level.player allowdodge(1); + level.player allowmelee(1); + level.player takeweapon("iw5_unarmed_nullattach"); + level.player enableweaponswitch(); + level.player enableoffhandweapons(); + level.player enableoffhandsecondaryweapons(); + level.player switchtoweapon(var_00); + setsaveddvar("bg_viewBobAmplitudeStanding",var_01); + setsaveddvar("bg_viewBobAmplitudeDucked",var_02); + setsaveddvar("bg_viewBobMax",var_03); + level.player setbobrate(1); +} + +//Function Number: 213 +setup_training_sequence_2() +{ + common_scripts\utility::flag_wait("training_round_2"); + training_s2_scriptables_reset(); + thread training_s2_starting_enemies(); + thread training_s2_player_sniper(); + thread training_s2_living_room_scene(); + thread training_s2_prep_breach_room(); + thread training_s2_bedroom_1_door_scene(); + thread training_s2_bedroom_2_scene(); + thread training_s2_president_breach_ready(); + thread training_s2_player_breach(); + thread training_s2_breach_encounter(); + thread training_s2_door_breach_anim(); + thread training_s2_patio_doors(); + thread training_s2_drone_attack(); + thread training_s2_golf_course_hide(); + thread training_s2_escape_vehicle(); + thread training_s2_golf_course_vehicles(); + thread training_s2_ending(); + thread training_s2_setup_president(); + thread training_s2_helicopter_player(); + thread training_s2_helicopter_irons(); + thread training_s2_helicopter_gideon(); +} + +//Function Number: 214 +training_s2_opening() +{ + common_scripts\utility::flag_set("flag_obj_rescue2_start"); + thread maps\recovery_utility::training_s2_start_set_up_player(); + maps\recovery::setup_allies("training_2_begin"); + level.gideon thread maps\recovery_utility::training_s2_opening_guy_think("training_gideon_start_point"); + level.joker thread maps\recovery_utility::training_s2_opening_guy_think("training_s2_squad_1_start_point"); + level.ally_s2_squad_member_1 thread maps\recovery_utility::training_s2_opening_guy_think("training_s2_squad_2_start_point"); + thread maps\recovery_utility::training_s2_set_squad_passive_and_ignore(); + common_scripts\utility::flag_set("training_2_start_area_lighting"); + common_scripts\utility::flag_set("training_s2_spawn_starting_enemies"); + common_scripts\utility::flag_wait("training_s2_ready"); + wait(1); + common_scripts\utility::flag_set("training_s2_start_player_sniper_attack"); +} + +//Function Number: 215 +training_s2_player_sniper() +{ + common_scripts\utility::flag_wait("training_s2_start_player_sniper_attack"); + maps\_utility::activate_trigger("training_s2_sniper_start","targetname"); + common_scripts\utility::flag_set("flag_obj_rescue2_entrance"); + common_scripts\utility::flag_set("flag_vo_training_s2_gideon_my_lead"); + wait(2); + maps\_utility::autosave_by_name(); + thread maps\recovery_utility::training_stealth_spotted(); + thread maps\recovery_utility::training_s2_start_squad_attack("training_s2_start_alerted"); + common_scripts\utility::flag_set("training_s2_living_room_approach"); + thread maps\recovery_utility::training_s2_squad_allow_run(); + maps\_utility::waittill_aigroupcount("training_s2_starting_enemies",5); + common_scripts\utility::flag_set("flag_vo_training_s2_gideon_push_forward"); + maps\_utility::waittill_aigroupcount("training_s2_starting_enemies",3); + common_scripts\utility::flag_set("training_s2_start_charge"); + maps\_utility::waittill_aigroupcount("training_s2_starting_enemies",1); + maps\_utility::delaythread(10,::common_scripts\utility::flag_set,"training_s2_clear_start_spawn"); + maps\_utility::waittill_aigroupcleared("training_s2_starting_enemies"); + wait(1); + maps\_utility::autosave_by_name(); + common_scripts\utility::flag_set("flag_vo_training_s2_gideon_clear_move"); + camp_david_play_videos(); + wait(2); + maps\_utility::activate_trigger("training_s2_color_entrance_trigger","targetname"); + common_scripts\utility::flag_set("flag_obj_rescue2_living_room"); +} + +//Function Number: 216 +training_s2_starting_enemies() +{ + common_scripts\utility::flag_wait("training_s2_spawn_starting_enemies"); + maps\_utility::array_spawn_noteworthy("training_s2_enemies_patrol",1); + maps\_utility::array_spawn_noteworthy("training_s2_enemies_start",1); + maps\_utility::array_spawn_noteworthy("training_s2_enemies_start2",1); + var_00 = getent("training_s2_starting_enemy_vehicle_1","script_noteworthy") maps\_utility::spawn_vehicle(); + var_01 = getent("training_s2_starting_enemy_vehicle_2","script_noteworthy") maps\_vehicle::spawn_vehicle_and_gopath(); + common_scripts\utility::flag_wait("training_s2_clear_initial_spawn"); +} + +//Function Number: 217 +training_s2_scriptables_reset() +{ + if(!isdefined(level.cd_living_room_blinds)) + { + level.cd_living_room_blinds = getscriptablearray("blinds_living_room","targetname"); + } + + foreach(var_01 in level.cd_living_room_blinds) + { + var_01 setscriptablepartstate("root","intact_reset"); + } + + maps\recovery_utility::set_tv_screen_unbroken(); +} + +//Function Number: 218 +training_s2_wait_for_living_room_dead() +{ + maps\_utility::waittill_aigroupcleared("training_s2_enemies_living_room"); + common_scripts\utility::flag_set("flag_living_room_dead"); +} + +//Function Number: 219 +training_s2_wait_for_hallway_dead() +{ + maps\_utility::waittill_aigroupcleared("training_s2_enemies_hall"); + common_scripts\utility::flag_set("flag_hallway_dead"); +} + +//Function Number: 220 +training_s2_wait_for_suprise_dead() +{ + self waittill("death"); + common_scripts\utility::flag_set("flag_surprise_dead"); +} + +//Function Number: 221 +training_s2_wait_for_bedrooms_dead() +{ + maps\_utility::waittill_aigroupcleared("bedroom_enemies"); + common_scripts\utility::flag_set("flag_bedrooms_dead"); +} + +//Function Number: 222 +training_s2_living_room_scene() +{ + common_scripts\utility::flag_wait("training_s2_living_room_approach"); + common_scripts\utility::flag_wait("training_s2_living_room_alert"); + maps\_utility::array_spawn_noteworthy("training_s2_enemies_living_room",1); + maps\_utility::activate_trigger("training_s2_color_trigger2","targetname"); + common_scripts\utility::flag_set("flag_obj_rescue2_living_room_clear"); + thread training_s2_wait_for_living_room_dead(); + common_scripts\utility::flag_wait_either("flag_living_room_dead","bedroom_1_door_scene"); + maps\_utility::array_spawn_noteworthy("training_s2_enemies_hall",1); + thread training_s2_wait_for_hallway_dead(); + common_scripts\utility::flag_wait("flag_hallway_dead"); + common_scripts\utility::flag_set("flag_vo_training_s2_gideon_mitchell_sweep"); + common_scripts\utility::flag_set("training_s2_spawn_breach_door"); + maps\_utility::autosave_by_name(); +} + +//Function Number: 223 +training_s2_bedroom_1_door_scene() +{ + common_scripts\utility::flag_wait("bedroom_1_door_scene"); + var_00 = getent("bedroom_1_door","targetname"); + getent(var_00.target,"targetname") linkto(var_00); + var_01 = 1; + var_00 rotateto(var_00.angles + (0,145,0),var_01,0.05,0.05); + common_scripts\utility::flag_set("flag_vo_training_s2_joker_contact"); + var_00 common_scripts\utility::delaycall(var_01,::connectpaths); + var_00 common_scripts\utility::delaycall(2,::disconnectpaths); + var_02 = getent("bedroom_1_door_enemy","targetname") maps\_utility::spawn_ai(1); + var_02 thread training_s2_wait_for_suprise_dead(); + var_02 soundscripts\_snd::snd_message("rec_s2_door_guy_ambush"); + var_02.allowdeath = 1; + var_02.health = 1; + var_03 = common_scripts\utility::getstruct(var_02.target,"targetname"); + var_03 maps\_anim::anim_generic(var_02,var_03.animation); + common_scripts\utility::flag_wait_either("training_s2_hallway_surprise_enemy","training_s2_bedrooms_skipped"); + common_scripts\utility::flag_set("training_s2_prep_breach"); + var_04 = getent("bedroom_1_enemy","targetname"); + var_05 = var_04 maps\_utility::spawn_ai(1); + var_05 maps\_utility::disable_long_death(); + var_05.pacifist = 1; + wait(2); + if(isalive(var_05)) + { + var_05.pacifist = 0; + } + + if(isalive(var_02)) + { + var_02.health = 100; + var_02 setgoalnode(getnode(var_03.target,"targetname")); + } + + common_scripts\utility::flag_wait("training_s2_bedrooms_skipped"); + if(isalive(var_05)) + { + var_05 setgoalentity(level.player); + var_05.goalradius = 8; + } + + if(isalive(var_02)) + { + var_02 setgoalentity(level.player); + var_02.goalradius = 8; + } +} + +//Function Number: 224 +training_s2_bedroom_2_scene() +{ + common_scripts\utility::flag_wait_either("bedroom_2_scene","training_s2_bedrooms_skipped"); + thread maps\recovery_utility::training_s2_open_bedroom_door_2(); + var_00 = getent("bedroom_2_enemy","targetname"); + var_01 = var_00 maps\_utility::spawn_ai(1); + var_01 maps\_utility::disable_long_death(); + var_02 = getnode("escape_node","targetname"); + var_01 setgoalnode(var_02); + var_03 = getent("bedroom_3_enemy","targetname"); + var_04 = var_03 maps\_utility::spawn_ai(1); + var_04 maps\_utility::disable_long_death(); + var_05 = getnode("training_s2_cover_node2","script_noteworthy"); + var_04 setgoalnode(var_05); + thread training_s2_wait_for_bedrooms_dead(); + common_scripts\utility::flag_wait("training_s2_bedrooms_skipped"); + if(isalive(var_01)) + { + var_01 setgoalentity(level.player); + var_01.goalradius = 8; + } + + if(isalive(var_04)) + { + var_04 setgoalentity(level.player); + var_04.goalradius = 8; + } +} + +//Function Number: 225 +training_s2_president_breach_ready() +{ + common_scripts\utility::flag_wait_all("flag_living_room_dead","flag_hallway_dead","flag_surprise_dead","flag_bedrooms_dead"); + common_scripts\utility::flag_set("flag_vo_training_s2_joker_clear"); + common_scripts\utility::flag_set("flag_obj_rescue2_breach"); + common_scripts\utility::flag_set("training_s2_mute_breach_enabled"); + common_scripts\utility::flag_set("training_s2_spawn_breach_door"); + wait(0.25); + maps\_utility::autosave_by_name(); +} + +//Function Number: 226 +training_s2_prep_breach_room() +{ + common_scripts\utility::flag_wait("training_s2_prep_breach"); + maps\_utility::activate_trigger("training_s2_color_trigger3","targetname"); + var_00 = common_scripts\utility::getstruct("training_s1_exo_breach_marker","targetname"); + common_scripts\utility::flag_wait("training_s2_release_president"); + maps\_utility::activate_trigger("training_s2_enter_drone_attack","targetname"); + thread maps\recovery_utility::training_s2_exo_breach_knife(); + level.gideon maps\_utility::place_weapon_on(level.gideon.primaryweapon,"chest"); + soundscripts\_snd::snd_message("aud_training_s2_potus_ziptie_release"); + var_00 maps\_anim::anim_single_solo_run(level.gideon,"training_s2_exo_breach_gideon_release"); + level.gideon thread maps\_utility::place_weapon_on(level.gideon.primaryweapon,"right"); +} + +//Function Number: 227 +disable_meele_for_breach(param_00) +{ + level endon("breaching2"); + for(;;) + { + if(distance(level.player geteye(),param_00.origin) <= 72) + { + level.player allowmelee(0); + } + else + { + level.player allowmelee(1); + } + + wait 0.05; + } +} + +//Function Number: 228 +training_s2_player_breach() +{ + common_scripts\utility::flag_wait("training_s2_mute_breach_enabled"); + var_00 = getent("training_s2_breach_trigger","targetname"); + var_01 = getent("training_s2_breach_trigger_use","targetname"); + level.player notifyonplayercommand("breach_input","+melee"); + level.player notifyonplayercommand("breach_input","+melee_zoom"); + level.player notifyonplayercommand("breach_input","+melee_breath"); + thread disable_meele_for_breach(var_01); + for(;;) + { + level.player waittill("breach_input"); + if(distance(level.player geteye(),var_01.origin) <= 72) + { + break; + } + } + + var_00 common_scripts\utility::trigger_off(); + var_01 common_scripts\utility::trigger_off(); + common_scripts\utility::flag_clear("touching_s2_breach_door"); + level.player notifyonplayercommandremove("breach_input","+melee"); + level.player notifyonplayercommandremove("breach_input","+melee_zoom"); + level.player notifyonplayercommandremove("breach_input","+melee_breath"); + common_scripts\utility::flag_set("flag_vo_training_s2_gideon_hit_door_nag_off"); + level notify("breaching2"); + common_scripts\utility::flag_set("flag_obj_rescue2_breach_clear"); + var_02 = common_scripts\utility::getstruct("training_s1_exo_breach_marker","targetname"); + var_03 = maps\_utility::spawn_anim_model("player_rig",level.player.origin); + var_03.animname = "player_rig"; + soundscripts\_snd::snd_message("rec_s2_breach_gun_holster"); + var_02 thread maps\_anim::anim_first_frame_solo(var_03,"training_s2_breach"); + var_03 hide(); + var_04 = 0.75; + var_05 = length(level.player getvelocity()); + var_04 = var_04 - 0.5 * clamp(var_05 / 200,0,1); + var_03 hide(); + level.player playerlinktoblend(var_03,"tag_player",var_04); + level.player maps\_utility::add_wait(::maps\_shg_utility::setup_player_for_scene,1); + var_03 maps\_utility::add_call(::show); + thread maps\_utility::do_wait(); + level.player common_scripts\utility::delaycall(2,::enableweapons); + common_scripts\utility::flag_set("training_s2_breach_begin"); + common_scripts\utility::flag_set("training_s2_spawn_breach_enemies"); + thread maps\recovery_utility::training_s2_breach_enemies_monitor(); + level.player common_scripts\utility::delaycall(1.8,::playrumbleonentity,"light_1s"); + var_02 maps\_anim::anim_single_solo(var_03,"training_s2_breach"); + level.player unlink(); + var_03 delete(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.player thread maps\recovery_utility::lerp_in_turn_rate(0.5); +} + +//Function Number: 229 +training_s2_breach_encounter() +{ + common_scripts\utility::flag_wait("training_s2_spawn_breach_enemies"); + maps\_utility::array_spawn_noteworthy("training_s2_enemies_breach",1); + level.kva_shooter_s2 = getent("breach_kva_spawner2","targetname") maps\_utility::spawn_ai(1); + level.kva_shooter_s2 thread maps\recovery_utility::training_s2_breach_kva_think(); + level.president = getent("training_s2_president_spawner","targetname") maps\_utility::spawn_ai(1); + level.president thread maps\_president::set_president_anims(); + level.president thread maps\recovery_utility::training_s2_breach_president_setup(); + var_00 = maps\_utility::spawn_anim_model("ziptie_prop"); + var_00.animname = "ziptie_prop"; + var_01 = common_scripts\utility::getstruct("training_s1_exo_breach_marker","targetname"); + var_01 thread maps\_anim::anim_first_frame_solo(var_00,"training_s2_exo_ziptie_start"); + var_01 maps\_anim::anim_first_frame_solo(level.president,"training_s2_exo_breach_president_react"); + var_01 thread maps\_anim::anim_single_solo(var_00,"training_s2_exo_ziptie_start"); + var_01 maps\_anim::anim_single_solo(level.president,"training_s2_exo_breach_president_react"); + if(isalive(level.president)) + { + var_01 thread maps\_anim::anim_loop_solo(var_00,"training_s2_exo_ziptie_react_idle","stop_loop"); + var_01 thread maps\_anim::anim_loop_solo(level.president,"training_s2_exo_breach_president_react_idle","stop_loop"); + } + + thread training_s2_president_shot(var_01,var_00); +} + +//Function Number: 230 +training_s2_president_shot(param_00,param_01) +{ + thread training_s2_kva_dead(param_00,param_01); + thread maps\recovery_utility::training_s2_president_dead(); + level.president endon("kva_death_s2"); + level.president waittill("stop_idle_loop_s2"); + param_00 notify("stop_loop"); + param_00 thread maps\_anim::anim_single_solo(param_01,"training_s2_exo_ziptie_fail"); + param_00 maps\_anim::anim_single_solo(level.president,"training_s2_exo_breach_president_fail"); + level.president.noragdoll = 1; + level.president.allowdeath = 1; + level.president.a.nodeath = 1; + level.president maps\_utility::set_battlechatter(0); + wait(0.05); + level.president kill(); +} + +//Function Number: 231 +training_s2_kva_dead(param_00,param_01) +{ + common_scripts\utility::flag_wait("training_s2_breach_enemy_dead"); + if(common_scripts\utility::flag("training_s2_flag_president_shot") == 0) + { + level.president notify("kva_death_s2"); + thread training_s2_kva_shot(param_00,param_01); + } +} + +//Function Number: 232 +training_s2_kva_shot(param_00,param_01) +{ + common_scripts\utility::flag_wait("training_s2_breach_enemy_dead"); + param_00 notify("stop_loop"); + if(isalive(level.president)) + { + param_00 thread maps\_anim::anim_single_solo(param_01,"training_s2_exo_ziptie_success"); + param_00 maps\_anim::anim_single_solo(level.president,"training_s2_exo_breach_president_success"); + } + + if(isalive(level.president)) + { + param_00 thread maps\_anim::anim_loop_solo(param_01,"training_s2_exo_ziptie_release_idle","stop_loop2"); + param_00 thread maps\_anim::anim_loop_solo(level.president,"training_s2_exo_breach_president_release_idle","stop_loop2"); + } + + common_scripts\utility::flag_wait("training_s2_breach_enemies_dead"); + level.player setmovespeedscale(1); + common_scripts\utility::flag_set("flag_vo_training_s2_gideon_mr_president"); + common_scripts\utility::flag_set("training_s2_drone_attack_setup"); + maps\_utility::autosave_by_name(); + common_scripts\utility::flag_set("training_s2_release_president"); + param_00 notify("stop_loop2"); + if(isalive(level.president)) + { + level.president thread maps\_utility::magic_bullet_shield(); + level.president notify("breach_s2_end"); + param_00 thread maps\_anim::anim_single_solo(param_01,"training_s2_exo_ziptie_release"); + param_00 maps\_anim::anim_single_solo_run(level.president,"training_s2_exo_breach_president_release"); + level.president animcustom(::animscripts\run::moverun); + wait(0.4); + level.president orientmode("face point",level.gideon.origin); + wait(0.25); + level.president orientmode("face default"); + param_01 delete(); + common_scripts\utility::flag_set("training_s2_breach_done"); + common_scripts\utility::flag_set("flag_obj_rescue2_drone_living_room"); + maps\_utility::autosave_by_name(); + } +} + +//Function Number: 233 +training_s2_door_breach_anim() +{ + common_scripts\utility::flag_wait("training_s2_spawn_breach_door"); + var_00 = common_scripts\utility::getstruct("training_s1_exo_breach_marker","targetname"); + var_01 = getent("training_exo_breach_door","targetname"); + var_01.animname = "door_prop"; + var_01 maps\_utility::assign_animtree(); + var_02 = getent("training_exo_breach_door_clip","targetname"); + var_00 maps\_anim::anim_first_frame_solo(var_01,"training_s2_exo_door"); + var_02 linkto(var_01,"door"); + common_scripts\utility::flag_wait("training_s2_mute_breach_enabled"); + var_03 = getent("training_s2_breach_trigger","targetname"); + var_04 = getent("training_s2_breach_trigger_use","targetname"); + var_05 = maps\_shg_utility::hint_button_position("rs",var_03.origin,undefined,300,undefined,var_04); + level waittill("breaching2"); + var_05 maps\_shg_utility::hint_button_clear(); + common_scripts\utility::flag_wait("training_s2_breach_begin"); + soundscripts\_snd::snd_message("rec_slomo_audio_handler"); + var_00 maps\_anim::anim_single_solo(var_01,"training_s2_exo_door"); + var_02 connectpaths(); +} + +//Function Number: 234 +training_s2_drone_attack() +{ + common_scripts\utility::flag_wait("training_s2_drone_attack_setup"); + common_scripts\utility::flag_set("training_s2_ready_living_room_drone_attack"); + maps\_utility::activate_trigger("training_s2_enter_drone_attack","targetname"); + thread maps\recovery_utility::training_s2_open_patio_door(); + common_scripts\utility::flag_wait("training_s2_living_room_drone_attack"); + maps\_utility::autosave_by_name(); + common_scripts\utility::flag_set("flag_obj_rescue2_drone_living_room_clear"); + thread training_s2_patio_combat(); + maps\_utility::delaythread(0.5,::common_scripts\utility::flag_set,"flag_vo_training_s2_joker_drones"); + thread vehicle_scripts\_pdrone_tactical_picker::main(); + var_00 = []; + var_00 = vehicle_scripts\_pdrone::start_flying_attack_drones("s2_flying_attack_drones1"); + soundscripts\_snd::snd_message("rec_s2_drones_attack",var_00); + foreach(var_02 in var_00) + { + var_02 thread training_s2_drone_blinds_destroy_think(); + var_02 thread maps\recovery_utility::training_s2_drone_ambush_attack_think(); + } + + thread maps\recovery_utility::training_s2_set_squad_active_and_target(); + thread maps\recovery_utility::training_s2_drone_ambush_attack(); + maps\recovery_utility::waittill_s2_drone_ambush_done(var_00); + common_scripts\utility::flag_set("training_s2_living_room_drone_attack_done"); + common_scripts\utility::flag_set("flag_obj_rescue2_patio_drone_ambush"); + maps\_utility::autosave_by_name(); + thread training_s2_show_drone_text(); + maps\_utility::waittill_aigroupcount("training_s2_patio_enemies",4); + common_scripts\utility::flag_set("flag_vo_training_s2_gideon_dont_let_up"); + common_scripts\utility::flag_set("flag_training_s2_patio_enemies_charge"); + if(common_scripts\utility::flag("training_s2_drone_start") == 1) + { + maps\_utility::waittill_aigroupcount("training_s2_patio_enemies2",0); + } + + maps\_utility::waittill_aigroupcount("training_s2_patio_enemies",1); + common_scripts\utility::flag_set("training_s2_clear_patio_spawn"); + wait(4); + level notify("training_s2_drone_enemies_killed"); + level.player.showhint = 0; + maps\_utility::delaythread(0.5,::common_scripts\utility::flag_set,"flag_vo_training_s2_gideon_go_go"); + common_scripts\utility::flag_set("training_s2_drone_attack_done"); + if(isdefined(level.player.is_driving_pdrone) && level.player.is_driving_pdrone) + { + level.player.drone vehicle_scripts\_pdrone_player::pdrone_player_force_exit(); + thread maps\recovery_lighting::setup_lighting_fly_drone_off_night(); + } + + level.player setweaponhudiconoverride("actionslot3","dpad_icon_drone_off"); + wait(1); + level.gideon maps\_utility::cqb_walk("off"); + common_scripts\utility::flag_set("flag_obj_rescue2_patio_drone_ambush_clear"); + thread maps\recovery_utility::training_s2_set_squad_active_and_target(); + maps\_utility::activate_trigger("training_s2_golf_course_cover","targetname"); + common_scripts\utility::flag_set("flag_obj_rescue2_golf_course"); + common_scripts\utility::flag_set("flag_training_s2_squad_advance_golf_course"); + maps\_utility::autosave_by_name(); +} + +//Function Number: 235 +training_s2_show_drone_text() +{ + level endon("training_s2_clear_patio_spawn"); + common_scripts\utility::flag_wait("training_s2_enter_patio"); + wait(1); + level.player setweaponhudiconoverride("actionslot3","dpad_icon_drone"); + level.player notifyonplayercommand("use_drone","-actionslot 3"); + thread maps\recovery_utility::training_s2_player_drone(); + common_scripts\utility::flag_set("flag_vo_training_s2_gideon_mitchell_assault_drone"); +} + +//Function Number: 236 +training_s2_patio_combat() +{ + common_scripts\utility::flag_wait("training_s2_dining_room"); + thread maps\recovery_utility::training_s2_spawn_search_vehicle(); + maps\_utility::array_spawn_noteworthy("training_s2_enemies_patio",1); + common_scripts\utility::flag_set("training_s2_start_enter_patio"); +} + +//Function Number: 237 +training_s2_patio_doors() +{ + var_00 = common_scripts\utility::getstruct("training_s2_patio_door_animnode","targetname"); + level.patio_doors = getent("training_patio_french_doors","targetname"); + level.patio_doors.animname = "patio_doors"; + level.patio_doors maps\_anim::setanimtree(); + var_01 = getent("french_door_clip_01","targetname"); + var_02 = getent("french_door_clip_02","targetname"); + var_00 maps\_anim::anim_first_frame_solo(level.patio_doors,"training_s2_patio_doors_in"); + var_01 linkto(level.patio_doors,"door_r"); + var_02 linkto(level.patio_doors,"door_l"); + level.patio_doors waittill("go2"); + var_01 solid(); + var_02 solid(); + var_02 disconnectpaths(); + var_01 disconnectpaths(); + var_00 maps\_anim::anim_single_solo(level.patio_doors,"training_s2_patio_doors_out"); + var_02 connectpaths(); + var_01 connectpaths(); + wait(1); + var_02 disconnectpaths(); + var_01 disconnectpaths(); +} + +//Function Number: 238 +training_s2_golf_course_hide() +{ + common_scripts\utility::flag_wait("training_s2_golf_course_hide"); + common_scripts\utility::flag_set("flag_obj_rescue2_golf_course_clear"); + maps\_utility::autosave_by_name(); + maps\_utility::activate_trigger("training_s2_color_trigger_golf_course2","targetname"); + common_scripts\utility::flag_set("flag_obj_rescue2_golf_course2"); + common_scripts\utility::flag_wait("training_s2_flag_golf_course2"); + common_scripts\utility::flag_set("flag_obj_rescue2_golf_course2_clear"); + maps\_utility::delaythread(0.5,::common_scripts\utility::flag_set,"flag_vo_training_s2_gideon_prophet_approaching"); + common_scripts\utility::flag_set("flag_obj_rescue2_escape_location"); + maps\_utility::activate_trigger("training_s2_color_trigger_escape","targetname"); +} + +//Function Number: 239 +training_s2_escape_vehicle() +{ + common_scripts\utility::flag_wait("training_s2_start_escape_vehicle"); + maps\_utility::autosave_by_name(); + level.escape_vehicle2 = getent("training_s2_escape_vehicle","script_noteworthy") maps\_utility::spawn_vehicle(); + soundscripts\_snd::snd_message("rec_train2_exfil_car_start",level.escape_vehicle2); + level.escape_vehicle2 maps\_utility::magic_bullet_shield(); + level.escape_vehicle2.animname = "avt"; + level thread maps\recovery_fx::training_escape_vehicle_2_fx(level.escape_vehicle2); + level.escape_driver2 = getent("training_s2_end_escape_driver","targetname") maps\_utility::spawn_ai(); + level.escape_driver2 maps\_utility::set_battlechatter(0); + level.escape_driver2 maps\_utility::magic_bullet_shield(); + level.escape_driver2.animname = "driver"; + var_00 = getent("training_s2_ending_anim_origin","targetname"); + var_00 thread maps\_anim::anim_single_solo(level.escape_driver2,"training_s2_driver_end_drivein"); + var_00 maps\_anim::anim_single_solo(level.escape_vehicle2,"training_s2_vehicle_end_drivein"); + var_00 thread maps\_anim::anim_single_solo(level.escape_driver2,"training_s2_driver_end_driveout"); + maps\_utility::delaythread(0.1,::maps\_anim::anim_set_rate_single,level.escape_driver2,"training_s2_driver_end_driveout",0); + common_scripts\utility::flag_set("training_s2_vehicle_ready"); + common_scripts\utility::flag_wait("training_s2_end_setup_president"); + soundscripts\_snd::snd_message("rec_train2_exfil_car_end",level.escape_vehicle2); + maps\_anim::anim_set_rate_single(level.escape_driver2,"training_s2_driver_end_driveout",1); +} + +//Function Number: 240 +training_s2_ending() +{ + common_scripts\utility::flag_wait("training_s2_vehicle_ready"); + common_scripts\utility::flag_set("flag_obj_rescue2_escape_vehicle"); + var_00 = getent("training_s2_ending_anim_origin","targetname"); + var_01 = getent("training_s2_ending_trigger","targetname"); + var_02 = var_01 maps\_shg_utility::hint_button_trigger("use"); + common_scripts\utility::flag_set("flag_vo_training_s2_gideon_president_inside"); + for(;;) + { + var_01 waittill("trigger"); + if(!isdefined(var_01.trigger_off)) + { + break; + } + } + + var_01 delete(); + common_scripts\utility::flag_set("training_2_suv_lighting"); + common_scripts\utility::flag_set("flag_obj_rescue2_escape_vehicle_clear"); + thread maps\recovery_utility::play_rumble_training_s2_president_load(); + level notify("training_s2_gideon_mitchell_secure_nag_off"); + var_02 maps\_shg_utility::hint_button_clear(); + var_03 = getentarray("grenade","classname"); + foreach(var_05 in var_03) + { + var_05 delete(); + } + + level.player enableinvulnerability(); + level.player freezecontrols(1); + level.player maps\_shg_utility::setup_player_for_scene(1); + level.player_rig = maps\recovery_utility::spawn_player_rig(); + level.player_rig hide(); + var_07 = 0.4; + var_00 maps\_anim::anim_first_frame_solo(level.player_rig,"training_s2_player_end"); + level.player playerlinktoblend(level.player_rig,"tag_player",var_07); + level.player_rig common_scripts\utility::delaycall(var_07,::show); + wait(var_07); + level.player_rig show(); + common_scripts\utility::flag_set("training_s2_end_setup_president"); + var_00 thread maps\_anim::anim_single_solo(level.escape_vehicle2,"training_s2_vehicle_end"); + var_00 maps\_anim::anim_single_solo(level.player_rig,"training_s2_player_end"); + level.player unlink(); + level.player_rig delete(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.player freezecontrols(0); + level.player disableinvulnerability(); + maps\_utility::delaythread(1,::common_scripts\utility::flag_set,"training_s2_golf_course_vehicles"); + maps\_utility::delaythread(2,::common_scripts\utility::flag_set,"flag_vo_training_s2_gideon_package_secure"); + common_scripts\utility::flag_wait("training_s2_start_exo_shield_tutorial"); + wait(6); + thread maps\recovery_utility::training_s2_shield_tutorial(); +} + +//Function Number: 241 +training_s2_setup_president() +{ + common_scripts\utility::flag_wait("training_s2_end_setup_president"); + if(!isalive(level.president)) + { + var_00 = getent("training_s2_president_spawner","targetname"); + level.president = var_00 maps\_utility::spawn_ai(1); + level.president.ignoresonicaoe = 1; + level.president maps\_president::set_president_anims(); + var_01 = common_scripts\utility::getstruct("training_end_s2_president_start_point","targetname"); + level.president forceteleport(var_01.origin,var_01.angles); + level.president thread maps\_utility::magic_bullet_shield(); + } + + var_02 = getent("training_s2_ending_anim_origin","targetname"); + level.president.animname = "president"; + var_02 maps\_anim::anim_first_frame_solo(level.president,"training_s2_president_end"); + var_02 maps\_anim::anim_single_solo(level.president,"training_s2_president_end"); + level.president maps\_utility::stop_magic_bullet_shield(); + level.president delete(); + level.escape_vehicle2 maps\_utility::stop_magic_bullet_shield(); + level.escape_vehicle2 delete(); + level.escape_driver2 maps\_utility::stop_magic_bullet_shield(); + level.escape_driver2 delete(); +} + +//Function Number: 242 +training_s2_golf_course_vehicles() +{ + common_scripts\utility::flag_wait("training_s2_golf_course_vehicles"); + thread maps\recovery_utility::training_s2_set_squad_active_and_target(); + thread maps\_utility::autosave_by_name(); + thread maps\recovery_utility::training_s2_guard_house_doors(); + maps\_utility::array_spawn_noteworthy("training_s2_kva_ambush1",1); + maps\_utility::waittill_aigroupcount("s2_end_ambush1",3); + thread vehicle_scripts\_pdrone_tactical_picker::main(); + level.drones_s2_end = 0; + var_00 = []; + var_00 = vehicle_scripts\_pdrone::start_flying_attack_drones("s2_flying_attack_drones_end"); + foreach(var_02 in var_00) + { + var_02 soundscripts\_snd::snd_message("attack_drone_flybys_audio"); + var_02 thread maps\recovery_utility::training_s2_drone_end_think("training_s2_warbird_kill_enemies"); + } + + common_scripts\utility::flag_set("flag_training_s2_guard_house_doors_stay_open"); + thread maps\recovery_utility::training_s2_guard_house_doors(); + maps\_utility::array_spawn_noteworthy("training_s2_kva_ambush2",1); + maps\_utility::waittill_aigroupcount("s2_end_ambush2",3); + common_scripts\utility::flag_set("flag_vo_training_s2_gideon_smart_grenades"); + var_04 = []; + var_05 = []; + var_04 = getentarray("training_s2_ambush_vehicles","script_noteworthy"); + foreach(var_07 in var_04) + { + var_08 = var_07 maps\_vehicle::spawn_vehicle_and_gopath(); + var_05[var_05.size] = var_08; + } + + if(var_05[0].origin[0] < var_05[1].origin[0]) + { + soundscripts\_snd::snd_message("rec_train2_ambush_car_1",var_05[0]); + soundscripts\_snd::snd_message("rec_train2_ambush_car_2",var_05[1]); + } + else + { + soundscripts\_snd::snd_message("rec_train2_ambush_car_1",var_05[1]); + soundscripts\_snd::snd_message("rec_train2_ambush_car_2",var_05[0]); + } + + maps\_utility::waittill_aigroupcount("training_s2_escape_ambush",6); + common_scripts\utility::flag_set("training_2_car_fires_lighting"); + common_scripts\utility::flag_set("training_s2_start_warbird"); +} + +//Function Number: 243 +training_s2_helicopter_player() +{ + common_scripts\utility::flag_wait("training_s2_start_warbird"); + common_scripts\utility::flag_set("flag_vo_training_s2_warbird_pilot"); + wait(2); + var_00 = getent("training_s2_ending_anim_origin","targetname"); + var_01 = getent("training_s2_warbird","targetname"); + level.warbird = var_01 maps\_utility::spawn_vehicle(); + level.warbird.animname = "warbird"; + var_00 maps\_anim::anim_first_frame_solo(level.warbird,"warbird_landing"); + level.warbird thread maps\recovery_utility::warbird_heavy_shooting_think(1); + common_scripts\utility::flag_set("training_s2_end_helicopter_setup_irons"); + maps\_utility::delaythread(2,::common_scripts\utility::flag_set,"flag_vo_training_s2_gideon_our_exfil"); + var_00 maps\_anim::anim_single_solo(level.warbird,"warbird_landing"); + maps\_utility::activate_trigger("training_s2_gideon_get_to_chopper","targetname"); + var_00 thread maps\_anim::anim_loop_solo(level.warbird,"warbird_land_idle"); + wait(1); + maps\_utility::autosave_by_name(); + common_scripts\utility::flag_set("training_enable_end"); + common_scripts\utility::flag_set("flag_obj_rescue2_complete"); + common_scripts\utility::flag_set("flag_vo_training_s2_gideon_the_warbird"); + common_scripts\utility::flag_wait("training_s2_enter_helicopter"); + level.player freezecontrols(1); + common_scripts\utility::flag_set("flag_disable_exo"); + level notify("training_s2_gideon_mitchell_over_nag_off"); + common_scripts\utility::flag_set("flag_obj_rescue2_complete_clear"); + level.player_rig = maps\recovery_utility::spawn_player_rig(); + level.player_rig hide(); + var_00 maps\_anim::anim_first_frame_solo(level.player_rig,"training_s2_player_helicopter"); + var_02 = 0.8; + var_03 = length(level.player getvelocity()); + var_02 = var_02 - 0.4 * clamp(var_03 / 250,0,1); + level.player maps\_utility::add_wait(::maps\_shg_utility::setup_player_for_scene,1); + level.player_rig maps\_utility::add_call(::show); + thread maps\_utility::do_wait(); + level.player playerlinktoblend(level.player_rig,"tag_player",var_02,0,0.25); + level.player common_scripts\utility::delaycall(var_02,::playerlinktodelta,level.player_rig,"tag_player",1,7,7,5,5,1); + level.player common_scripts\utility::delaycall(var_02 + 0.05,::springcamenabled,1,3.2,1.6); + wait(var_02); + common_scripts\utility::flag_set("training_s2_end_helicopter_irons_end"); + common_scripts\utility::flag_set("training_s2_end_helicopter_setup_gideon"); + level.warbird showpart("TAG_STATIC_MAIN_ROTOR_L"); + level.warbird showpart("TAG_STATIC_MAIN_ROTOR_R"); + level.warbird showpart("TAG_STATIC_TAIL_ROTOR"); + level.warbird hidepart("TAG_SPIN_MAIN_ROTOR_L"); + level.warbird hidepart("TAG_SPIN_MAIN_ROTOR_R"); + level.warbird hidepart("TAG_SPIN_TAIL_ROTOR"); + var_00 thread maps\_anim::anim_single_solo(level.warbird,"warbird_takeoff"); + soundscripts\_snd::snd_music_message("rec_level_ending"); + var_00 maps\_anim::anim_single_solo(level.player_rig,"training_s2_player_helicopter"); +} + +//Function Number: 244 +training_s2_helicopter_irons() +{ + common_scripts\utility::flag_wait("training_s2_end_helicopter_setup_irons"); + if(!isalive(level.irons)) + { + var_00 = getent("training_irons_spawner","targetname"); + var_00.count++; + level.irons = var_00 maps\_utility::spawn_ai(1); + } + + level.irons thread maps\_utility::magic_bullet_shield(); + level.irons.animname = "irons"; + var_01 = getent("training_s2_ending_anim_origin","targetname"); + var_01 maps\_anim::anim_first_frame_solo(level.irons,"training_s2_irons_helicopter_landing"); + var_01 maps\_anim::anim_single_solo(level.irons,"training_s2_irons_helicopter_landing"); + var_01 thread maps\_anim::anim_loop_solo(level.irons,"training_s2_irons_helicopter_idle"); + common_scripts\utility::flag_wait("training_s2_end_helicopter_irons_end"); + var_01 maps\_anim::anim_single_solo(level.irons,"training_s2_irons_helicopter"); +} + +//Function Number: 245 +training_s2_helicopter_gideon() +{ + common_scripts\utility::flag_wait("training_s2_end_helicopter_setup_gideon"); + var_00 = getent("training_s2_ending_anim_origin","targetname"); + wait(6); + level.gideon maps\_utility::delaythread(0.05,::maps\_anim::anim_self_set_time,"training_s2_gideon_helicopter",0.303); + var_00 maps\_anim::anim_single_solo(level.gideon,"training_s2_gideon_helicopter"); +} + +//Function Number: 246 +setup_outro() +{ + thread outro(); +} + +//Function Number: 247 +outro() +{ + common_scripts\utility::flag_wait("outro_start"); + maps\_hud_util::fade_out(2,"black"); + maps\_utility::nextmission(); +} + +//Function Number: 248 +tff_cleanup_vehicle(param_00) +{ + var_01 = ""; + switch(param_00) + { + case "training": + var_01 = "tff_pre_training_to_tour_ride"; + break; + + case "tour_ride": + var_01 = "tff_pre_tour_ride_to_tour_exo"; + break; + } + + if(var_01 == "") + { + return; + } + + level waittill(var_01); + if(!isdefined(self)) + { + return; + } + + if(isremovedentity(self)) + { + return; + } + + maps\_vehicle_code::_freevehicle(); + self delete(); +} \ No newline at end of file diff --git a/AW/PC/maps/recovery_exo_punch_door.gsc b/AW/PC/maps/recovery_exo_punch_door.gsc new file mode 100644 index 0000000..2a7c39a --- /dev/null +++ b/AW/PC/maps/recovery_exo_punch_door.gsc @@ -0,0 +1,326 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: recovery_exo_punch_door.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 11 + * Decompile Time: 169 ms + * Timestamp: 4/22/2024 2:34:38 AM +*******************************************************************/ + +//Function Number: 1 +exo_door_init() +{ + setsaveddvar("r_hudoutlineenable",1); + setsaveddvar("r_hudoutlinewidth",1); + setsaveddvar("r_hudoutlinepostmode",4); + setsaveddvar("r_hudoutlinecloaklumscale",0.5); + setsaveddvar("r_hudoutlineAlpha0",1); + setsaveddvar("r_hudoutlineAlpha1",0); + setsaveddvar("r_hudoutlinecloakblurradius",0.45); + setsaveddvar("r_hudoutlinecloakDarkenscale",1); + setsaveddvar("r_hudoutlinecloaklumscale",1); + setsaveddvar("r_hudoutlinehaloblurradius",1); + setsaveddvar("r_hudoutlinehalodarkenscale",1); + setsaveddvar("r_hudoutlinehaloLumscale",1); + level.broken_door = 0; + var_00 = []; + var_01 = getentarray("door_exo_punch_intact","targetname"); + var_01 = common_scripts\utility::array_add(var_01,getent("door_exo_punch_intact","script_noteworthy")); + var_00 = getscriptablearray("door_exo_punch_breakable","targetname"); + var_02 = getentarray("exo_punch_door_trigger","targetname"); + var_03 = getentarray("exo_punch_door_clip","targetname"); + var_04 = getentarray("exo_punch_door_usetrigger","targetname"); + foreach(var_06 in var_04) + { + var_06 sethintstring(&"RECOVERY_PROMPT_MELEE_BREACH"); + } + + if(common_scripts\utility::flag("training_round_2") == 0) + { + foreach(var_09 in var_01) + { + var_09.trig = common_scripts\utility::getclosest(var_09.origin,var_02,100); + var_09.broken = common_scripts\utility::getclosest(var_09.origin,var_00,100); + var_09.clip = common_scripts\utility::getclosest(var_09.origin,var_03,100); + var_09.usetrig = common_scripts\utility::getclosest(var_09.origin,var_04,100); + var_09.broken hide(); + var_09.clip notsolid(); + var_09.clip common_scripts\utility::delaycall(2,::connectpaths); + } + + common_scripts\utility::array_thread(var_01,::common_scripts\utility::hide_notsolid); + common_scripts\utility::flag_wait("training_round_2"); + common_scripts\utility::flag_wait("flag_obj_rescue2_living_room"); + foreach(var_09 in var_01) + { + var_09.clip solid(); + var_09.clip common_scripts\utility::delaycall(2,::disconnectpaths); + var_09 thread monitor_door_punch(); + if(isdefined(var_09.usetrig)) + { + var_09.button = var_09.usetrig maps\_shg_utility::hint_button_trigger("rs",300); + } + } + + common_scripts\utility::array_thread(var_01,::common_scripts\utility::show_solid); + } + else + { + common_scripts\utility::flag_wait("flag_obj_rescue2_living_room"); + foreach(var_09 in var_02) + { + var_09.trig = common_scripts\utility::getclosest(var_09.origin,var_02,100); + var_09.broken = common_scripts\utility::getclosest(var_09.origin,var_00,100); + var_09.clip = common_scripts\utility::getclosest(var_09.origin,var_03,100); + var_09.usetrig = common_scripts\utility::getclosest(var_09.origin,var_04,100); + var_09 thread monitor_door_punch(); + if(isdefined(var_09.usetrig)) + { + var_09.button = var_09.usetrig maps\_shg_utility::hint_button_trigger("rs",300); + } + } + } + + var_0F = getentarray("front_door_clip","targetname"); + common_scripts\utility::array_call(var_0F,::notsolid); + var_10 = getentarray("front_door","targetname"); + foreach(var_09 in var_10) + { + var_09 common_scripts\utility::hide_notsolid(); + } + + foreach(var_14 in var_0F) + { + var_14 common_scripts\utility::delaycall(2,::connectpaths); + } + + var_16 = getent("living_room_door_clip","targetname"); + var_16 notsolid(); + var_17 = getent("training_s1_flash_door","targetname"); + var_17 common_scripts\utility::hide_notsolid(); + var_16 common_scripts\utility::delaycall(2,::connectpaths); + var_18 = getent("french_door_clip","targetname"); + var_18 notsolid(); + var_19 = getent("french_door","targetname"); + var_19 common_scripts\utility::hide_notsolid(); + var_18 common_scripts\utility::delaycall(2,::connectpaths); + level.player thread monitor_last_weapon(); + edi_anims(); + common_scripts\utility::flag_wait("training_s2_gideon_smash_french_door"); + foreach(var_09 in var_01) + { + if(isdefined(var_09.script_noteworthy) && var_09.script_noteworthy == "door_exo_punch_intact") + { + if(level.broken_door == 0) + { + var_09.button thread maps\_shg_utility::hint_button_clear(); + } + } + } +} + +//Function Number: 2 +exo_door_logic() +{ +} + +//Function Number: 3 +monitor_last_weapon() +{ + self endon("death"); + for(;;) + { + var_00 = self getcurrentweapon(); + if(var_00 != "none" && isdefined(var_00)) + { + self.old_weapon = var_00; + } + + wait 0.05; + } +} + +//Function Number: 4 +exo_punch_outline_think() +{ + self endon("death"); + self endon("exo_door_punched"); + thread exo_door_punch_cleanup(); + for(;;) + { + if(distance(self.origin,level.player.origin) < 350) + { + if(!target_istarget(self)) + { + target_set(self); + target_hidefromplayer(self,level.player); + } + + if(target_istarget(self) && target_isincircle(self,level.player,65,120) && !isdefined(self.script_noteworthy)) + { + self hudoutlineenable(6,1); + } + else if(!isdefined(self.script_noteworthy)) + { + self hudoutlinedisable(); + } + + if(isdefined(self.script_noteworthy) && target_istarget(self) && target_isincircle(self,level.player,65,120) && common_scripts\utility::flag("training_s2_gideon_smash_french_door") == 0) + { + self hudoutlineenable(6,1); + } + else if(isdefined(self.script_noteworthy)) + { + self hudoutlinedisable(); + } + } + else if(target_istarget(self)) + { + target_remove(self); + } + + wait 0.05; + } +} + +//Function Number: 5 +exo_door_punch_cleanup() +{ + self waittill("exo_door_punched"); +} + +//Function Number: 6 +monitor_door_punch() +{ + self.broken hide(); + self.clip disconnectpaths(); + for(;;) + { + self.trig waittill("damage",var_00,var_01,var_02,var_03,var_04); + if(var_01 == level.player && var_04 == "MOD_MELEE_ALT" || var_04 == "MOD_MELEE") + { + if(isdefined(self.button)) + { + self.button thread maps\_shg_utility::hint_button_clear(); + } + + if(self.trig.script_noteworthy == "kitchen") + { + maps\_utility::delaythread(1,::common_scripts\utility::flag_set,"flag_vo_training_s2_joker_entering_kitchen"); + } + + if(self.trig.script_noteworthy == "living_room") + { + maps\_utility::delaythread(1,::common_scripts\utility::flag_set,"flag_vo_training_s2_joker_living_room"); + } + + if(self.trig.script_noteworthy == "front_entrance") + { + maps\_utility::delaythread(1,::common_scripts\utility::flag_set,"flag_vo_training_s2_joker_front_entrance"); + } + + level.player playrumbleonentity("light_1s"); + level.player switchtoweaponimmediate(level.player.old_weapon); + self notify("exo_door_punched"); + self.direction = var_02; + self.land_point = var_03; + self.original_origin = self.origin; + var_05 = common_scripts\utility::spawn_tag_origin(); + if(self.model == "rec_french_door_01_pristine_rig") + { + var_05.angles = self.angles + (0,90,0); + playfxontag(common_scripts\utility::getfx("recovery_dust_burst_round_french"),var_05,"tag_origin"); + var_05 thread clear_door_effect(); + } + else + { + playfxontag(common_scripts\utility::getfx("recovery_dust_burst_round_high"),var_05,"tag_origin"); + var_05 thread clear_door_effect(); + } + + break; + } + + wait 0.05; + } + + common_scripts\utility::flag_set("training_s2_living_room_alert"); + var_06 = self.broken; + var_06 show(); + self hide(); + self.origin = self.origin - (0,0,10000); + self.clip.origin = self.clip.origin - (0,0,10000); + self.clip connectpaths(); + exo_door_smash(); + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "door_exo_punch_intact") + { + level.broken_door = 1; + } +} + +//Function Number: 7 +clear_door_effect() +{ + wait(10); + self delete(); +} + +//Function Number: 8 +exo_door_smash() +{ + var_00 = self.direction; + var_01 = self.broken; + var_02 = (randomintrange(-5,5),randomintrange(-5,5),randomintrange(-10,10)); + var_01 setscriptablepartstate("root","destroyed"); + wait(0.1); + physicsexplosionsphere(var_01.origin,100,5,10); + level.player notify("exo_door_punched"); + var_03 = getaiarray("axis"); + foreach(var_05 in var_03) + { + var_05 thread monitor_door_impact(self); + var_05 thread monitor_door_react(self); + } +} + +//Function Number: 9 +monitor_door_impact(param_00) +{ + var_01 = param_00; + self endon("death"); + var_01 endon("physics_finished"); + while(distance(self.origin,var_01.origin) > 80) + { + wait 0.05; + } + + var_02 = vectornormalize(self gettagorigin("tag_eye") - param_00.original_origin); + var_02 = vectornormalize(var_02 + (randomfloat(0.5),randomfloat(0.5),randomfloat(0.5))); + self startragdollfromimpact("torso_lower",var_02 * randomintrange(2400,2800)); + thread common_scripts\utility::delaycall(2,::kill); +} + +//Function Number: 10 +monitor_door_react(param_00) +{ + var_01 = param_00; + self endon("death"); + var_01 endon("physics_finished"); + while(distance(self.origin,var_01.origin) > 200) + { + wait 0.05; + } + + maps\_utility::flashbangstart(randomfloatrange(1,4)); +} + +//Function Number: 11 +edi_anims() +{ + level.scr_anim["generic"]["exo_punch_react_1"] = %corner_standr_flinchb; + level.scr_anim["generic"]["exo_punch_react_2"] = %corner_standr_flinch; + level.scr_anim["generic"]["exo_punch_react_3"] = %exposed_crouch_pain_flinch; + level.scr_anim["generic"]["exo_punch_react_4"] = %ny_harbor_bulkhead_door_breach_stunned_guy2; + level.door_punch_flinches = ["exo_punch_react_1","exo_punch_react_2","exo_punch_react_3","exo_punch_react_4"]; +} \ No newline at end of file diff --git a/AW/PC/maps/recovery_fx.gsc b/AW/PC/maps/recovery_fx.gsc new file mode 100644 index 0000000..4a6d9ad --- /dev/null +++ b/AW/PC/maps/recovery_fx.gsc @@ -0,0 +1,616 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: recovery_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 31 + * Decompile Time: 461 ms + * Timestamp: 4/22/2024 2:34:39 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + precachefx(); + maps\createfx\recovery_fx::main(); + if(!isdefined(level.createfxent)) + { + level.createfxent = []; + } + + maps\_shg_fx::setup_shg_fx(); + thread maps\_shg_fx::fx_zone_watcher(800,"msg_fx_zone_funeral"); + thread maps\_shg_fx::fx_zone_watcher(1000,"msg_fx_zone_golf_course","msg_fx_zone_golf_course01"); + thread maps\_shg_fx::fx_zone_watcher(1001,"msg_fx_zone_golf_course02","msg_fx_zone_golf_course03"); + thread maps\_shg_fx::fx_zone_watcher(1002,"msg_fx_zone_window_rain","msg_fx_zone_window_rain01"); + thread maps\_shg_fx::fx_zone_watcher(1003,"msg_fx_zone_behind_house"); + thread maps\_shg_fx::fx_zone_watcher(1004,"msg_fx_zone1004_inside_house"); + thread maps\_shg_fx::fx_zone_watcher(2000,"msg_fx_zone_tour"); + thread maps\_shg_fx::fx_zone_watcher(3000,"msg_fx_zone_elevator","msg_fx_zone_elevator","msg_fx_zone_golf_course"); + thread treadfx_override(); + thread golfcourse_treadfx_override(); +} + +//Function Number: 2 +precachefx() +{ + level._effect["flashlight"] = loadfx("vfx/lights/flashlight_recovery"); + level._effect["flesh_hit"] = loadfx("vfx/weaponimpact/flesh_impact_body_fatal_exit"); + level._effect["expround_asphalt_1"] = loadfx("vfx/weaponimpact/expround_asphalt_1"); + level._effect["frag_grenade_default"] = loadfx("vfx/explosion/frag_grenade_default"); + level._effect["recovery_scoring_add1"] = loadfx("vfx/map/recovery/recovery_scoring_add1"); + level._effect["recovery_scoring_add2"] = loadfx("vfx/map/recovery/recovery_scoring_add2"); + level._effect["recovery_scoring_add25"] = loadfx("vfx/map/recovery/recovery_scoring_add25"); + level._effect["recovery_scoring_add50"] = loadfx("vfx/map/recovery/recovery_scoring_add50"); + level._effect["recovery_scoring_add75"] = loadfx("vfx/map/recovery/recovery_scoring_add75"); + level._effect["recovery_scoring_add100"] = loadfx("vfx/map/recovery/recovery_scoring_add100"); + level._effect["recovery_scoring_minus1"] = loadfx("vfx/map/recovery/recovery_scoring_minus1"); + level._effect["recovery_scoring_minus2"] = loadfx("vfx/map/recovery/recovery_scoring_minus2"); + level._effect["recovery_scoring_minus25"] = loadfx("vfx/map/recovery/recovery_scoring_minus25"); + level._effect["recovery_scoring_minus50"] = loadfx("vfx/map/recovery/recovery_scoring_minus50"); + level._effect["recovery_scoring_minus75"] = loadfx("vfx/map/recovery/recovery_scoring_minus75"); + level._effect["recovery_scoring_minus100"] = loadfx("vfx/map/recovery/recovery_scoring_minus100"); + level._effect["recovery_scoring_target_shutter_enemy"] = loadfx("vfx/map/recovery/recovery_scoring_target_shutter"); + level._effect["recovery_scoring_target_shutter_friendly"] = loadfx("vfx/map/recovery/recovery_scoring_hostage_shutter"); + level._effect["firing_range_edge_glow"] = loadfx("vfx/beam/firing_range_edge_glow"); + level._effect["firing_range_edge_glow_off"] = loadfx("vfx/beam/firing_range_edge_glow_off"); + level._effect["firing_range_glow_flicker_rnr_lp"] = loadfx("vfx/beam/firing_range_glow_flicker_rnr_lp"); + level._effect["boost_dust_npc"] = loadfx("vfx/smoke/jetpack_exhaust_npc"); + level._effect["boost_dust_impact_ground"] = loadfx("vfx/smoke/jetpack_ground_impact_runner"); + level._effect["landass_exhaust_smk_rt_npc"] = loadfx("vfx/smoke/landass_exhaust_smk_rt_npc"); + level._effect["landass_exhaust_smk_lf_npc"] = loadfx("vfx/smoke/landass_exhaust_smk_lf_npc"); + level._effect["landass_impact_smk_rnr"] = loadfx("vfx/smoke/landass_impact_smk_rnr"); + level._effect["lightning"] = loadfx("vfx/map/recovery/recovery_lightning_flash"); + level._effect["recovery_sun_flare"] = loadfx("vfx/map/recovery/recovery_sun_flare"); + level._effect["recovery_sun_flare_funeral"] = loadfx("vfx/map/recovery/recovery_sun_flare_funeral"); + level._effect["recovery_skylight_grp_flare"] = loadfx("vfx/map/recovery/recovery_skylight_grp_flare"); + level._effect["recovery_surgical_flare"] = loadfx("vfx/map/recovery/recovery_surgical_flare"); + level._effect["recovery_rectangle_flare"] = loadfx("vfx/map/recovery/recovery_rectangle_flare"); + level._effect["recovery_range_flare"] = loadfx("vfx/map/recovery/recovery_range_flare"); + level._effect["recovery_tv_flare"] = loadfx("vfx/map/recovery/recovery_tv_flare"); + level._effect["recovery_tv_sm_flare"] = loadfx("vfx/map/recovery/recovery_tv_sm_flare"); + level._effect["recovery_ceiling_light_flare_02"] = loadfx("vfx/map/recovery/recovery_ceiling_light_flare_02"); + level._effect["recovery_hanging_light_flare"] = loadfx("vfx/map/recovery/recovery_hanging_light_flare"); + maps\_weather::addlightningexploder(10); + maps\_weather::addlightningexploder(11); + maps\_weather::addlightningexploder(12); + level.nextlightning = gettime() + 1; + level._effect["petals_fall_cherry_gentlewind_no_physics"] = loadfx("vfx/wind/petals_fall_cherry_gentlewind_no_physics"); + level._effect["leaves_fall_twirl_small_no_physics"] = loadfx("vfx/wind/leaves_fall_twirl_small_no_physics"); + level._effect["petals_fall_cherry_gentlewind_physics"] = loadfx("vfx/wind/petals_fall_cherry_gentlewind_physics"); + level._effect["cg_fx_light_1"] = loadfx("vfx/map/recovery/recov_character_light_1_cg"); + level._effect["cg_fx_light_2"] = loadfx("vfx/map/recovery/recov_character_light_2_cg"); + level._effect["cg_fx_light_3"] = loadfx("vfx/map/recovery/recov_character_light_3_cg"); + level._effect["cg_fx_light_4"] = loadfx("vfx/map/recovery/recov_character_light_4_cg"); + level._effect["cg_fx_light_4a"] = loadfx("vfx/map/recovery/recov_character_light_4a_cg"); + level._effect["cg_fx_light_5"] = loadfx("vfx/map/recovery/recov_character_light_5_cg"); + level._effect["cg_fx_light_5a"] = loadfx("vfx/map/recovery/recov_character_light_5a_cg"); + level._effect["cg_fx_light_jeep_runner"] = loadfx("vfx/map/recovery/recov_character_light_jeep_runner_cg"); + level._effect["raindrop_single"] = loadfx("vfx/rain/raindrop_single"); + level._effect["rain_hvy_dense_windy_01"] = loadfx("vfx/rain/rain_hvy_dense_windy_01"); + level._effect["rain_hvy_dense_windy_outside"] = loadfx("vfx/rain/rain_hvy_dense_windy_outside"); + level._effect["rain_hvy_dense_windy_small"] = loadfx("vfx/rain/rain_hvy_dense_windy_small"); + level._effect["rain_hvy_dense_windy_small_bright"] = loadfx("vfx/rain/rain_hvy_dense_windy_small_bright"); + level._effect["rain_hvy_dense_windy_small_outside"] = loadfx("vfx/rain/rain_hvy_dense_windy_small_outside"); + level._effect["rain_splat_on_lens_med_rnr_night"] = loadfx("vfx/map/recovery/rain_splat_on_lens_med_rnr_night"); + level._effect["rain_hvy_dense_windy_window"] = loadfx("vfx/rain/rain_hvy_dense_windy_window"); + level._effect["raindrop_rings_area_med"] = loadfx("vfx/rain/raindrop_rings_area_med"); + level._effect["raindrop_rings_area"] = loadfx("vfx/rain/raindrop_rings_area"); + level._effect["leaves_fall_gentlewind_no_physics"] = loadfx("vfx/wind/leaves_fall_gentlewind_no_physics"); + level._effect["recovery_amb_ground_mist"] = loadfx("vfx/map/recovery/recovery_amb_ground_mist"); + level._effect["recovery_rain_floor_sheet"] = loadfx("vfx/map/recovery/recovery_rain_floor_sheet"); + level._effect["recovery_wind_gust_mist_distant_lrg"] = loadfx("vfx/map/recovery/recovery_wind_gust_mist_distant_lrg"); + level._effect["recovery_lampost_flare"] = loadfx("vfx/map/recovery/recovery_lampost_flare"); + level._effect["drone_search_lt_recovery"] = loadfx("vfx/lights/drone_search_lt_recovery"); + level._effect["recovery_gideon_hit"] = loadfx("vfx/map/recovery/recovery_gideon_hit"); + level._effect["recovery_dust_falling_debris_single"] = loadfx("vfx/map/recovery/recovery_dust_falling_debris_single"); + level._effect["exo_door_hinge_piece"] = loadfx("vfx/props/exo_door_hinge_piece"); + level._effect["recovery_dust_burst_round"] = loadfx("vfx/map/recovery/recovery_dust_burst_round"); + level._effect["recovery_dust_burst_round_high"] = loadfx("vfx/map/recovery/recovery_dust_burst_round_high"); + level._effect["recovery_dust_burst_round_french"] = loadfx("vfx/map/recovery/recovery_dust_burst_round_french"); + level._effect["recovery_wood_door_break"] = loadfx("vfx/map/recovery/recovery_wood_door_break"); + level._effect["sparks_short_circuits_small"] = loadfx("vfx/sparks/sparks_short_circuits_small"); + level._effect["large_wood"] = loadfx("vfx/weaponimpact/large_wood"); + level._effect["lab_mute_device_plant_vm"] = loadfx("vfx/map/lab/lab_mute_device_plant_vm"); + level._effect["lab_mute_area_distort_player_view"] = loadfx("vfx/map/lab/lab_mute_area_distort_player_view"); + level._effect["lab_mute_device_lights"] = loadfx("vfx/map/lab/lab_mute_device_lights"); + level._effect["mute_breach_distort_vm_enter"] = loadfx("vfx/props/mute_breach_distort_vm_enter"); + level._effect["mute_breach_distort_vm_exit"] = loadfx("vfx/props/mute_breach_distort_vm_exit"); + level._effect["recovery_blood_impact_burst"] = loadfx("vfx/map/recovery/recovery_blood_impact_burst"); + level._effect["heli_dust_rain"] = loadfx("vfx/treadfx/heli_dust_rain"); + level._effect["heli_dust_rain_idle"] = loadfx("vfx/treadfx/heli_dust_rain_idle"); + level._effect["car_tread_water_splash"] = loadfx("vfx/treadfx/car_tread_water_splash"); + level._effect["leaves_windblown_slw"] = loadfx("vfx/wind/leaves_windblown_slw"); + level._effect["recovery_wind_gust_gate_open"] = loadfx("vfx/map/recovery/recovery_wind_gust_gate_open"); + level._effect["splinter_wood_blind_damage"] = loadfx("vfx/map/recovery/splinter_wood_blind_damage"); + level._effect["blind_pieces_fall"] = loadfx("vfx/map/recovery/blind_pieces_fall"); + level._effect["glass_shatter_large"] = loadfx("vfx/glass/glass_shatter_large"); + level._effect["glass_hit_large"] = loadfx("vfx/glass/glass_hit_large"); + level._effect["glass_falling_debris_02"] = loadfx("vfx/glass/glass_falling_debris_02"); + level._effect["walker_tank_footstep_dust"] = loadfx("vfx/treadfx/walker_tank_footstep_dust"); + level._effect["tread_dust_sedan_bright"] = loadfx("vfx/treadfx/tread_dust_sedan_bright"); + level._effect["tread_dust_van_bright"] = loadfx("vfx/treadfx/tread_dust_van_bright"); + level._effect["welding_sparks_oneshot_sml"] = loadfx("vfx/sparks/welding_sparks_oneshot_sml"); + level._effect["sparks_friction"] = loadfx("vfx/sparks/sparks_friction"); + level._effect["tread_dust_sedan_bright"] = loadfx("vfx/treadfx/tread_dust_sedan_bright"); + level._effect["titan_tread_impact"] = loadfx("vfx/treadfx/titan_tread_impact"); + level._effect["truck_tire_tread"] = loadfx("vfx/treadfx/truck_tire_tread"); + level._effect["tread_dust_ft101_tank"] = loadfx("vfx/treadfx/tread_dust_ft101_tank"); + level._effect["veh_default_front_signal_light_l"] = loadfx("vfx/lights/veh_default_front_signal_light_l"); + level._effect["veh_default_front_signal_light_r"] = loadfx("vfx/lights/veh_default_front_signal_light_r"); + level._effect["vehicle_civ_ai_explo_small_runner"] = loadfx("vfx/explosion/vehicle_civ_ai_explo_small_runner"); + level._effect["firelp_small"] = loadfx("vfx/fire/firelp_small"); + level._effect["recovery_spotlight_flare_01"] = loadfx("vfx/map/recovery/recovery_spotlight_flare_01"); + level._effect["recovery_ceiling_light_flare_01"] = loadfx("vfx/map/recovery/recovery_ceiling_light_flare_01"); + level._effect["cloud_bank"] = loadfx("vfx/wind/cloud_bank"); + level._effect["titan_tread_kickup_front"] = loadfx("vfx/treadfx/titan_tread_kickup_front"); + level._effect["titan_tread_kickup_back"] = loadfx("vfx/treadfx/titan_tread_kickup_back"); + level._effect["car_tread_mud"] = loadfx("vfx/treadfx/car_tread_mud"); + level._effect["car_tread_mud_dense"] = loadfx("vfx/treadfx/car_tread_mud_dense"); + level._effect["test_axis_2"] = loadfx("vfx/test/test_axis_2"); +} + +//Function Number: 3 +vfx_raindrop(param_00) +{ + wait(0.3); + common_scripts\_exploder::exploder("vfx_raindrop"); + wait(9); + common_scripts\_exploder::kill_exploder("vfx_raindrop"); +} + +//Function Number: 4 +lightning_flash(param_00) +{ + level notify("emp_lighting_flash"); + level endon("emp_lighting_flash"); + if(level.createfx_enabled) + { + return; + } + + var_01 = randomintrange(1,4); + if(!isdefined(param_00)) + { + param_00 = (-20,60,0); + } + + for(var_02 = 0;var_02 < var_01;var_02++) + { + var_03 = randomint(3); + switch(var_03) + { + case 0: + wait(0.05); + setsunlight(1,1,1.2); + wait(0.05); + setsunlight(2,2,2.5); + break; + + case 1: + wait(0.05); + setsunlight(1,1,1.2); + wait(0.05); + setsunlight(2,2,2.5); + wait(0.05); + setsunlight(3,3,3.7); + break; + + case 2: + wait(0.05); + setsunlight(1,1,1.2); + wait(0.05); + setsunlight(2,2,2.5); + wait(0.05); + setsunlight(3,3,3.7); + wait(0.05); + setsunlight(2,2,2.5); + break; + } + + wait(randomfloatrange(0.05,0.1)); + lightning_normal(); + } + + lightning_normal(); +} + +//Function Number: 5 +lightning_normal() +{ + resetsunlight(); + resetsundirection(); +} + +//Function Number: 6 +drone_search_light_fx() +{ + wait(0.1); + playfxontag(common_scripts\utility::getfx("drone_search_lt_recovery"),self,"tag_origin"); + soundscripts\_snd::snd_message("rec_drone_scanner"); + playfxontag(common_scripts\utility::getfx("drone_beacon_blue_slow_nolight"),self,"TAG_FX_BEACON_0"); + playfxontag(common_scripts\utility::getfx("drone_beacon_blue_slow_nolight"),self,"TAG_FX_BEACON_1"); + playfxontag(common_scripts\utility::getfx("drone_beacon_blue_fast"),self,"TAG_FX_BEACON_2"); +} + +//Function Number: 7 +mute_fx_on(param_00) +{ + playfxontag(common_scripts\utility::getfx("lab_mute_device_plant_vm"),param_00,"tag_vfx_attach"); + wait(0.15); + playfxontag(common_scripts\utility::getfx("lab_mute_device_lights"),param_00,"spinner"); + level waittill("disable_mute_breach_fx"); + stopfxontag(common_scripts\utility::getfx("lab_mute_device_lights"),param_00,"spinner"); + stopfxontag(common_scripts\utility::getfx("lab_mute_device_plant_vm"),param_00,"tag_vfx_attach"); +} + +//Function Number: 8 +breach_office_door(param_00) +{ + wait(0.5); + common_scripts\_exploder::exploder("officedoor_breach"); + wait(10); + common_scripts\_exploder::kill_exploder("officedoor_breach"); +} + +//Function Number: 9 +kva_hit_glass_impact(param_00) +{ + wait(0.01); + common_scripts\_exploder::exploder("glass_hit"); + wait(0.4); + common_scripts\_exploder::exploder("sparks_short_circuits"); + wait(6); + common_scripts\_exploder::kill_exploder("glass_hit"); + common_scripts\_exploder::kill_exploder("sparks_short_circuits"); +} + +//Function Number: 10 +training_escape_gideon_punch(param_00) +{ + wait(0.005); + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 linkto(param_00,"j_mid_le_1",(0,0,0),(0,0,0)); + playfxontag(common_scripts\utility::getfx("recovery_gideon_hit"),var_01,"tag_origin"); + wait(3); + var_01 delete(); +} + +//Function Number: 11 +training_s1_president_blood(param_00) +{ + playfxontag(common_scripts\utility::getfx("recovery_blood_impact_burst"),level.president,"j_head"); +} + +//Function Number: 12 +training_escape_vehicle_1_fx(param_00) +{ + playfxontag(common_scripts\utility::getfx("car_tread_water_splash"),param_00,"tag_wheel_back_right"); + playfxontag(common_scripts\utility::getfx("car_tread_water_splash"),param_00,"tag_wheel_back_left"); + playfxontag(common_scripts\utility::getfx("car_tread_water_splash"),param_00,"tag_wheel_front_right"); + playfxontag(common_scripts\utility::getfx("car_tread_water_splash"),param_00,"tag_wheel_front_left"); +} + +//Function Number: 13 +tour_jeep_tread(param_00) +{ + wait(1); + playfxontag(common_scripts\utility::getfx("car_tread_mud_dense"),param_00,"tag_wheel_back_right"); + playfxontag(common_scripts\utility::getfx("car_tread_mud_dense"),param_00,"tag_wheel_back_left"); + playfxontag(common_scripts\utility::getfx("car_tread_mud_dense"),param_00,"tag_wheel_front_right"); + playfxontag(common_scripts\utility::getfx("car_tread_mud_dense"),param_00,"tag_wheel_front_left"); + wait(8.5); + stopfxontag(common_scripts\utility::getfx("car_tread_mud_dense"),param_00,"tag_wheel_back_right"); + stopfxontag(common_scripts\utility::getfx("car_tread_mud_dense"),param_00,"tag_wheel_back_left"); + stopfxontag(common_scripts\utility::getfx("car_tread_mud_dense"),param_00,"tag_wheel_front_right"); + stopfxontag(common_scripts\utility::getfx("car_tread_mud_dense"),param_00,"tag_wheel_front_left"); +} + +//Function Number: 14 +wind_gate_open(param_00) +{ + wait(13); + common_scripts\_exploder::exploder("wind_gate_open"); + common_scripts\_exploder::exploder("gate_fx_light"); + wait(5); + common_scripts\_exploder::exploder("leaves_gate_open"); + wait(3); + common_scripts\_exploder::exploder("leaves_gate_open_delay"); + wait(15); + common_scripts\_exploder::kill_exploder("wind_gate_open"); + common_scripts\_exploder::kill_exploder("leaves_gate_open"); + common_scripts\_exploder::kill_exploder("leaves_gate_open_delay"); +} + +//Function Number: 15 +titan_gate_tread_fx(param_00) +{ + wait(2); + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 linkto(param_00,"ankle_fr",(-50,0,10),(0,0,0)); + playfxontag(common_scripts\utility::getfx("titan_tread_kickup_front"),var_01,"tag_origin"); + playfxontag(common_scripts\utility::getfx("titan_tread_kickup_front"),param_00,"ankle_fl"); + playfxontag(common_scripts\utility::getfx("titan_tread_kickup_back"),param_00,"ankle_KR"); + playfxontag(common_scripts\utility::getfx("titan_tread_kickup_back"),param_00,"ankle_Kl"); + wait(10); + var_01 delete(); + common_scripts\_exploder::kill_exploder("gate_fx_light"); +} + +//Function Number: 16 +titan_impact_fx_fl(param_00) +{ + wait(0.3); + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 linkto(param_00,"frontWheelTread07_FL",(0,0,0),(-16,180,-10)); + playfxontag(common_scripts\utility::getfx("walker_tank_footstep_dust"),var_01,"tag_origin"); + earthquake(0.15,1.8,param_00.origin,2000); + level notify("titan_rumble"); + wait(90); + var_01 delete(); +} + +//Function Number: 17 +titan_impact_fx_fr(param_00) +{ + wait(0.3); + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 linkto(param_00,"frontWheelTread07_FR",(0,0,0),(45,0,0)); + playfxontag(common_scripts\utility::getfx("walker_tank_footstep_dust"),var_01,"tag_origin"); + earthquake(0.15,1.8,param_00.origin,2000); + level notify("titan_rumble"); + wait(90); + var_01 delete(); +} + +//Function Number: 18 +titan_impact_fx_rr(param_00) +{ + wait(0.3); + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 linkto(param_00,"frontWheelTread06_kR",(0,0,0),(0,180,0)); + playfxontag(common_scripts\utility::getfx("walker_tank_footstep_dust"),var_01,"tag_origin"); + earthquake(0.15,1.8,param_00.origin,2000); + wait(90); + var_01 delete(); +} + +//Function Number: 19 +titan_impact_fx_rl(param_00) +{ + wait(0.3); + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 linkto(param_00,"frontWheelTread06_KL",(100,0,100),(0,180,0)); + playfxontag(common_scripts\utility::getfx("walker_tank_footstep_dust"),var_01,"tag_origin"); + earthquake(0.15,1.8,param_00.origin,2000); + wait(90); + var_01 delete(); +} + +//Function Number: 20 +exo_push_sparks01_quake(param_00) +{ + wait(0.01); + earthquake(0.2,1,param_00.origin,500); +} + +//Function Number: 21 +exo_push_sparks01(param_00) +{ + level endon("flag_obj_firing_range_pre"); + wait(0.8); + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 linkto(param_00,"hook_t",(-46,111,-125),(0,-90,0)); + playfxontag(common_scripts\utility::getfx("sparks_friction"),var_01,"tag_origin"); + var_02 = common_scripts\utility::spawn_tag_origin(); + var_02 linkto(param_00,"hook_t",(-46,-18,-125),(0,-90,0)); + playfxontag(common_scripts\utility::getfx("sparks_friction"),var_02,"tag_origin"); + wait(3.5); + var_01 delete(); + var_02 delete(); +} + +//Function Number: 22 +exo_push_sparks02_quake(param_00) +{ + wait(0.03); + earthquake(0.2,1,param_00.origin,500); +} + +//Function Number: 23 +exo_push_sparks02(param_00) +{ + level endon("flag_obj_firing_range_pre"); + wait(0.6); + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 linkto(param_00,"hook_t",(-46,111,-125),(0,-90,0)); + playfxontag(common_scripts\utility::getfx("sparks_friction"),var_01,"tag_origin"); + var_02 = common_scripts\utility::spawn_tag_origin(); + var_02 linkto(param_00,"hook_t",(-46,-15,-125),(0,-90,0)); + playfxontag(common_scripts\utility::getfx("sparks_friction"),var_02,"tag_origin"); + wait(7); + var_01 delete(); + var_02 delete(); +} + +//Function Number: 24 +helicopter_landing(param_00) +{ + common_scripts\_exploder::exploder("helicopter_landing_small"); + wait(2); + maps\_utility::stop_exploder("helicopter_landing_small"); + common_scripts\_exploder::exploder("helicopter_landing"); + wait(20); + maps\_utility::stop_exploder("helicopter_landing"); + common_scripts\_exploder::exploder("helicopter_landing_small"); + wait(4); + maps\_utility::stop_exploder("helicopter_landing_small"); +} + +//Function Number: 25 +treadfx_override() +{ + wait(1); + var_00[0] = "script_vehicle_vrap"; + var_01 = "vfx/treadfx/truck_tire_tread"; + foreach(var_03 in var_00) + { + maps\_vehicle::set_vehicle_effect(var_03,"brick",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"bark",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"carpet",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"cloth",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"concrete",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"dirt",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"flesh",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"foliage",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"glass",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"grass",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"gravel",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"ice",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"metal",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"mud",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"paper",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"plaster",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"rock",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"sand",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"snow",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"water",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"wood",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"asphalt",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"ceramic",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"plastic",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"rubber",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"cushion",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"fruit",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"paintedmetal",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"riotshield",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"slush",var_01); + maps\_vehicle::set_vehicle_effect(var_03,"default",var_01); + } +} + +//Function Number: 26 +golfcourse_treadfx_override() +{ + wait(1); + var_00[0] = "script_vehicle_mil_gaz_ai_turret"; + var_01[0] = "script_vehicle_mil_gaz_ai"; + var_02 = "vfx/treadfx/car_tread_mud"; + foreach(var_04 in var_01) + { + maps\_vehicle::set_vehicle_effect(var_04,"brick",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"bark",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"carpet",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"cloth",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"concrete",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"dirt",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"flesh",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"foliage",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"glass",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"grass",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"gravel",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"ice",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"metal",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"mud",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"paper",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"plaster",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"rock",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"sand",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"snow",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"water",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"wood",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"asphalt",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"ceramic",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"plastic",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"rubber",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"cushion",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"fruit",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"paintedmetal",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"riotshield",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"slush",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"default",var_02); + } + + foreach(var_04 in var_00) + { + maps\_vehicle::set_vehicle_effect(var_04,"brick",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"bark",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"carpet",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"cloth",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"concrete",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"dirt",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"flesh",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"foliage",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"glass",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"grass",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"gravel",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"ice",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"metal",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"mud",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"paper",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"plaster",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"rock",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"sand",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"snow",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"water",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"wood",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"asphalt",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"ceramic",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"plastic",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"rubber",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"cushion",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"fruit",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"paintedmetal",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"riotshield",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"slush",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"default",var_02); + } +} + +//Function Number: 27 +firing_range_round_1_glow() +{ + wait(0.8); + common_scripts\_exploder::exploder(2100); +} + +//Function Number: 28 +firing_range_round_2_glow() +{ + wait(0.8); + common_scripts\_exploder::exploder(2200); +} + +//Function Number: 29 +firing_range_round_3_glow() +{ + wait(0.8); + common_scripts\_exploder::exploder(2300); +} + +//Function Number: 30 +firing_range_kill_glow() +{ + common_scripts\_exploder::kill_exploder(2100); + common_scripts\_exploder::kill_exploder(2200); + common_scripts\_exploder::kill_exploder(2300); + common_scripts\_exploder::exploder(2101); + common_scripts\_exploder::exploder(2201); + common_scripts\_exploder::exploder(2301); + wait(0.5); + common_scripts\_exploder::kill_exploder(2101); + common_scripts\_exploder::kill_exploder(2201); + common_scripts\_exploder::kill_exploder(2301); + common_scripts\_exploder::exploder(2102); + common_scripts\_exploder::exploder(2202); + common_scripts\_exploder::exploder(2302); +} + +//Function Number: 31 +training_escape_vehicle_2_fx(param_00) +{ + playfxontag(common_scripts\utility::getfx("car_tread_water_splash"),param_00,"tag_wheel_back_right"); + playfxontag(common_scripts\utility::getfx("car_tread_water_splash"),param_00,"tag_wheel_back_left"); + playfxontag(common_scripts\utility::getfx("car_tread_water_splash"),param_00,"tag_wheel_front_right"); + playfxontag(common_scripts\utility::getfx("car_tread_water_splash"),param_00,"tag_wheel_front_left"); +} \ No newline at end of file diff --git a/AW/PC/maps/recovery_lighting.gsc b/AW/PC/maps/recovery_lighting.gsc new file mode 100644 index 0000000..23a761b --- /dev/null +++ b/AW/PC/maps/recovery_lighting.gsc @@ -0,0 +1,2709 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: recovery_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 125 + * Decompile Time: 1847 ms + * Timestamp: 4/22/2024 2:34:45 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + thread set_level_lighting_values(); + thread setup_flickerlight_presets(); + init_level_lighting_flags(); + thread setup_lighting_funeral_start(); + if(level.nextgen) + { + thread lightning_strike_hangar_start(); + } + + thread setup_lighting_training_begin_start(); + thread setup_lighting_training_lodge_begin_start(); + thread setup_lighting_training_lodge_breach_start(); + thread setup_lighting_training_lodge_exit_start(); + thread setup_lighting_training_golf_course_start(); + thread setup_lighting_training_end_start(); + thread setup_lighting_tour_ride_begin_start(); + thread setup_lighting_tour_exo_begin_start(); + thread setup_lighting_tour_exo_exit_start(); + thread setup_lighting_tour_firing_range_start(); + thread setup_lighting_tour_augmented_reality_start(); + thread setup_lighting_tour_end_start(); + thread setup_lighting_training_2_begin_start(); + thread setup_lighting_training_2_lodge_begin_start(); + thread setup_lighting_training_2_lodge_breach_start(); + thread setup_lighting_training_2_lodge_exit_start(); + thread setup_lighting_training_2_golf_course_start(); + thread setup_lighting_training_2_end_start(); + thread setup_lighting_night(); + thread setup_lighting_day(); + thread setup_training_start_area_lighting(); + thread setup_lighting_house_interior_transition(); + thread setup_lighting_house_interior(); + thread setup_lighting_pantry_interior(); + thread setup_lighting_ambush(); + thread setup_lighting_door_breach(); + thread setup_dof_door_breach(); + thread setup_lighting_drone_attack(); + thread setup_lighting_night_pool(); + thread setup_knockdown_sequence(); + thread setup_hangar_door_open_sequence(); + thread setup_hangar_shadow_shell(); + thread setup_hangar_interior_walls(); + thread setup_lighting_hangar_doors(); + thread setup_lighting_training_end_character_sequence(); + thread setup_dof_tour_ride(); + thread setup_repair_hangar_lighting(); + thread setup_tour_hangar_doors_lighting(); + thread setup_tour_hangar_opening(); + if(level.nextgen) + { + thread setup_tour_ride_skin_spec_fix(); + } + + thread setup_lighting_exo_hangar_doorway(); + thread setup_lab_entrance_light(); + thread setup_lighting_lab_interior(); + thread setup_lighting_exo_hangar(); + thread setup_lighting_lab_warehouse(); + thread setup_lighting_hangar_demos(); + thread setup_lighting_exo_room(); + thread setup_exo_arm_moment_lighting(); + thread setup_lighting_firing_range_doorway(); + thread setup_lighting_firing_range_entrance(); + thread setup_lighting_firing_range_exit(); + thread setup_lighting_firing_range(); + thread setup_lighting_firing_range_stall(); + thread setup_lighting_firing_range_stall_exposure(); + thread setup_lighting_firing_range_gallery(); + thread setup_lighting_firing_range_lights_moment(); + thread tour_glass_door_04_lighting(); + thread move_tour_door_shadow_caulk(); + thread setup_lighting_training_2_transition(); + thread setup_lighting_ready_room_elevators(); + thread setup_lighting_elevator_ride(); + thread setup_training_2_start_area_lighting(); + thread setup_training_2_breach(); + thread setup_dof_training_2_drone(); + thread setup_training_2_drone(); + thread setup_training_2_suv_dof(); + thread setup_training_2_suv_fires(); + thread setup_training_2_heli_dof(); + thread setup_training_2_heli_lighting(); + if(level.currentgen) + { + } +} + +//Function Number: 2 +init_level_lighting_flags() +{ + common_scripts\utility::flag_init("funeral"); + common_scripts\utility::flag_init("training_begin"); + common_scripts\utility::flag_init("training_start_area_lighting"); + common_scripts\utility::flag_init("enter_house_lighting"); + common_scripts\utility::flag_init("training_lodge_begin_lighting"); + common_scripts\utility::flag_init("training_lodge_breach_lighting"); + common_scripts\utility::flag_init("training_lodge_exit_lighting"); + common_scripts\utility::flag_init("training_golf_course_lighting"); + common_scripts\utility::flag_init("training_end_lighting"); + common_scripts\utility::flag_init("knockdown_lighting"); + common_scripts\utility::flag_init("tour_ride_begin_lighting"); + common_scripts\utility::flag_init("tour_ride_drive_lighting"); + common_scripts\utility::flag_init("tour_ride_hangar_lighting"); + common_scripts\utility::flag_init("tour_ride_end_lighting"); + common_scripts\utility::flag_init("tour_exo_begin_lighting"); + common_scripts\utility::flag_init("tour_exo_exit_lighting"); + common_scripts\utility::flag_init("tour_firing_range_lighting"); + common_scripts\utility::flag_init("shooting_range_lighting_ramp_down"); + common_scripts\utility::flag_init("tour_augmented_reality_lighting"); + common_scripts\utility::flag_init("threat_grenade_start_lighting"); + common_scripts\utility::flag_init("threat_grenade_end_lighting"); + common_scripts\utility::flag_init("emp_drone_start_lighting"); + common_scripts\utility::flag_init("emp_drone_end_lighting"); + common_scripts\utility::flag_init("fly_drone_start_lighting"); + common_scripts\utility::flag_init("fly_drone_end_lighting"); + common_scripts\utility::flag_init("tour_end_lighting"); + common_scripts\utility::flag_init("ready_room_elevator_lighting"); + common_scripts\utility::flag_init("training_2_begin_lighting"); + common_scripts\utility::flag_init("training_2_lodge_begin_lighting"); + common_scripts\utility::flag_init("training_2_lodge_breach_lighting"); + common_scripts\utility::flag_init("training_2_lodge_exit_lighting"); + common_scripts\utility::flag_init("training_2_golf_course_lighting"); + common_scripts\utility::flag_init("training_2_suv_lighting"); + common_scripts\utility::flag_init("training_2_end_lighting"); + common_scripts\utility::flag_init("training_2_car_fires_lighting"); + common_scripts\utility::flag_init("training_2_start_area_lighting"); + common_scripts\utility::flag_init("tour_ride_reset_irons_reflection"); +} + +//Function Number: 3 +set_level_lighting_values() +{ + if(isusinghdr()) + { + setsaveddvar("r_disablelightsets",0); + if(maps\_utility::is_gen4()) + { + level.player lightsetforplayer("recovery"); + } + + if(level.nextgen) + { + setsaveddvar("r_hemiAoEnable",1); + } + } +} + +//Function Number: 4 +setup_flickerlight_presets() +{ + maps\_lighting::create_flickerlight_preset("recovery_fire",(1,0.2246,0),(0.46,0.16,0.06),0.005,0.2,8); + maps\_lighting::create_flickerlight_preset("firing_range_holo",(0.1,0.7,1),(0.1,0.4,0.6),0.005,0.2,8); + maps\_lighting::create_flickerlight_preset("broken_tv",(0.1,0.7,1),(0.1,0.4,0.6),0.005,0.2,8); +} + +//Function Number: 5 +sun_flare() +{ + thread maps\_shg_fx::vfx_sunflare("recovery_sun_flare"); +} + +//Function Number: 6 +sun_flare_funeral() +{ + thread maps\_shg_fx::vfx_sunflare("recovery_sun_flare_funeral"); +} + +//Function Number: 7 +setup_lighting_funeral_start() +{ + common_scripts\utility::flag_wait("funeral"); + wait(0.1); + level.player lightsetforplayer("recovery_funeral"); + level.player setclutforplayer("clut_recovery_funeral",0.1); + maps\_utility::vision_set_fog_changes("recovery_funeral",0.1); + thread maps\_utility::sun_light_fade((5,5,5),(10,10,10),0.15); + thread sun_flare_funeral(); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + } + + maps\_shg_fx::set_sun_flare_position((-18,50,0)); + thread setup_lighting_funeral_sequence(); + if(level.nextgen) + { + thread setup_dof_funeral(); + return; + } + + if(level.currentgen) + { + thread setup_dof_funeral_cg(); + } +} + +//Function Number: 8 +setup_lighting_training_begin_start() +{ + common_scripts\utility::flag_wait("training_begin"); + wait(0.1); + level.player lightsetforplayer("recovery_night"); + level.player setclutforplayer("clut_recovery_night",0.1); + maps\_utility::vision_set_fog_changes("recovery_night",0.1); + setsaveddvar("r_gunSightColorEntityScale",0.75); + setsaveddvar("r_gunSightColorNoneScale",0.75); + thread setup_outerspacelighting_interior(); + thread sun_flare(); + maps\_shg_fx::set_sun_flare_position((31,-35,0)); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("light_side_house_01",0.1,600); + thread maps\_lighting::lerp_spot_intensity("light_side_house_02",0.1,15000); + } +} + +//Function Number: 9 +setup_lighting_training_lodge_begin_start() +{ + common_scripts\utility::flag_wait("training_lodge_begin_lighting"); + wait(0.1); + level.player lightsetforplayer("recovery_pantry_interior"); + level.player setclutforplayer("clut_recovery_house",0.1); + maps\_utility::vision_set_fog_changes("recovery_house_interior",0.1); + setsaveddvar("r_gunSightColorEntityScale",0.75); + setsaveddvar("r_gunSightColorNoneScale",0.75); + thread setup_outerspacelighting_interior(); + thread sun_flare(); + maps\_shg_fx::set_sun_flare_position((31,-35,0)); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("kitchen_window_light",0.5,0); + } + + var_00 = getentarray("hangar_exterior","targetname"); + foreach(var_02 in var_00) + { + var_02 hide(); + } +} + +//Function Number: 10 +setup_lighting_training_lodge_breach_start() +{ + common_scripts\utility::flag_wait("training_lodge_breach_lighting"); + wait(0.1); + level.player lightsetforplayer("recovery_house_interior"); + level.player setclutforplayer("clut_recovery_house",0.1); + maps\_utility::vision_set_fog_changes("recovery_house_interior",0.1); + setsaveddvar("r_gunSightColorEntityScale",0.75); + setsaveddvar("r_gunSightColorNoneScale",0.75); + thread setup_outerspacelighting_interior(); + thread sun_flare(); + maps\_shg_fx::set_sun_flare_position((31,-35,0)); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("kitchen_window_light",0.5,0); + } + + var_00 = getentarray("hangar_exterior","targetname"); + foreach(var_02 in var_00) + { + var_02 hide(); + } +} + +//Function Number: 11 +setup_lighting_training_lodge_exit_start() +{ + common_scripts\utility::flag_wait("training_lodge_exit_lighting"); + wait(0.1); + level.player lightsetforplayer("recovery_house_interior"); + level.player setclutforplayer("clut_recovery_house",0.1); + maps\_utility::vision_set_fog_changes("recovery_house_interior",0.1); + setsaveddvar("r_gunSightColorEntityScale",0.75); + setsaveddvar("r_gunSightColorNoneScale",0.75); + thread setup_outerspacelighting_interior(); + thread sun_flare(); + maps\_shg_fx::set_sun_flare_position((31,-35,0)); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("kitchen_window_light",0.5,0); + } + + var_00 = getentarray("hangar_exterior","targetname"); + foreach(var_02 in var_00) + { + var_02 hide(); + } +} + +//Function Number: 12 +setup_lighting_training_golf_course_start() +{ + common_scripts\utility::flag_wait("training_golf_course_lighting"); + wait(0.1); + level.player lightsetforplayer("recovery_night"); + level.player setclutforplayer("clut_recovery_night_pool_to_end",0.1); + maps\_utility::vision_set_fog_changes("recovery_night_pool_to_end",0.1); + setsaveddvar("r_gunSightColorEntityScale",0.75); + setsaveddvar("r_gunSightColorNoneScale",0.75); + thread setup_outerspacelighting_interior(); + thread sun_flare(); + maps\_shg_fx::set_sun_flare_position((31,-35,0)); + var_00 = getentarray("hangar_exterior","targetname"); + foreach(var_02 in var_00) + { + var_02 hide(); + } +} + +//Function Number: 13 +setup_lighting_training_end_start() +{ + common_scripts\utility::flag_wait("training_end_lighting"); + wait(0.1); + level.player lightsetforplayer("recovery_night"); + level.player setclutforplayer("clut_recovery_night_pool_to_end",0.1); + maps\_utility::vision_set_fog_changes("recovery_night_pool_to_end",0.1); + setsaveddvar("r_gunSightColorEntityScale",0.75); + setsaveddvar("r_gunSightColorNoneScale",0.75); + thread setup_outerspacelighting_interior(); + thread sun_flare(); + maps\_shg_fx::set_sun_flare_position((31,-35,0)); + var_00 = getentarray("hangar_exterior","targetname"); + foreach(var_02 in var_00) + { + var_02 hide(); + } +} + +//Function Number: 14 +setup_lighting_tour_ride_begin_start() +{ + common_scripts\utility::flag_wait("tour_ride_begin_lighting"); + wait(0.1); + level.player lightsetforplayer("recovery_night"); + level.player setclutforplayer("clut_recovery_hangar_transition",0.1); + maps\_utility::vision_set_fog_changes("recovery_night",0.1); + setsaveddvar("r_gunSightColorEntityScale",0.75); + setsaveddvar("r_gunSightColorNoneScale",0.75); + thread sun_flare(); + maps\_shg_fx::set_sun_flare_position((-40,72,0)); + var_00 = getentarray("hangar_exterior","targetname"); + foreach(var_02 in var_00) + { + var_02 hide(); + } +} + +//Function Number: 15 +setup_lighting_tour_exo_begin_start() +{ + common_scripts\utility::flag_wait("tour_exo_begin_lighting"); + wait(0.1); + level.player lightsetforplayer("recovery_day"); + level.player setclutforplayer("clut_recovery_day_exo_area",0.1); + maps\_utility::vision_set_fog_changes("recovery_day",0.1); + thread glass_door_01_exterior_lighting(); + thread glass_door_02_exterior_lighting(); + thread glass_door_03_exterior_lighting(); + thread glass_door_04_exterior_lighting(); + thread sun_flare(); + maps\_shg_fx::set_sun_flare_position((-40,72,0)); +} + +//Function Number: 16 +setup_lighting_tour_exo_exit_start() +{ + common_scripts\utility::flag_wait("tour_exo_exit_lighting"); + wait(0.1); + level.player lightsetforplayer("recovery_lab_warehouse"); + level.player setclutforplayer("clut_recovery_lab",0.1); + maps\_utility::vision_set_fog_changes("recovery_lab_warehouse",0.1); + thread glass_door_01_interior_lighting(); + thread glass_door_02_interior_lighting(); + thread sun_flare(); + maps\_shg_fx::set_sun_flare_position((-40,72,0)); +} + +//Function Number: 17 +setup_lighting_tour_firing_range_start() +{ + common_scripts\utility::flag_wait("tour_firing_range_lighting"); + wait(0.1); + level.player lightsetforplayer("recovery_day"); + level.player setclutforplayer("clut_recovery_day_exo_area",0.1); + maps\_utility::vision_set_fog_changes("recovery_day",0.1); + thread glass_door_01_exterior_lighting(); + thread glass_door_02_exterior_lighting(); + thread glass_door_03_exterior_lighting(); + thread glass_door_04_exterior_lighting(); + thread sun_flare(); + maps\_shg_fx::set_sun_flare_position((-40,72,0)); +} + +//Function Number: 18 +setup_lighting_tour_augmented_reality_start() +{ + common_scripts\utility::flag_wait("tour_augmented_reality_lighting"); + wait(0.1); + level.player lightsetforplayer("recovery_day"); + level.player setclutforplayer("clut_recovery_day_exo_area",0.1); + maps\_utility::vision_set_fog_changes("recovery_day",0.1); + thread glass_door_01_exterior_lighting(); + thread glass_door_02_exterior_lighting(); + thread glass_door_03_exterior_lighting(); + thread glass_door_04_exterior_lighting(); + thread sun_flare(); + maps\_shg_fx::set_sun_flare_position((-40,72,0)); +} + +//Function Number: 19 +setup_lighting_tour_end_start() +{ + common_scripts\utility::flag_wait("tour_end_lighting"); + wait(0.1); + level.player lightsetforplayer("recovery_day"); + level.player setclutforplayer("clut_recovery_day_exo_area",0.1); + maps\_utility::vision_set_fog_changes("recovery_day",0.1); + thread glass_door_01_exterior_lighting(); + thread glass_door_02_exterior_lighting(); + thread glass_door_03_exterior_lighting(); + thread glass_door_04_exterior_lighting(); + thread sun_flare(); + maps\_shg_fx::set_sun_flare_position((-40,72,0)); +} + +//Function Number: 20 +setup_lighting_training_2_begin_start() +{ + common_scripts\utility::flag_wait("training_2_begin_lighting"); + wait(0.1); + level.player lightsetforplayer("recovery_night"); + level.player setclutforplayer("clut_recovery_night",0.1); + maps\_utility::vision_set_fog_changes("recovery_night",0.1); + setsaveddvar("r_gunSightColorEntityScale",0.75); + setsaveddvar("r_gunSightColorNoneScale",0.75); + thread setup_outerspacelighting_interior(); + thread sun_flare(); + maps\_shg_fx::set_sun_flare_position((40,72,0)); + var_00 = getentarray("hangar_exterior","targetname"); + foreach(var_02 in var_00) + { + var_02 hide(); + } + + wait(0.25); +} + +//Function Number: 21 +setup_lighting_training_2_lodge_begin_start() +{ + common_scripts\utility::flag_wait("training_2_lodge_begin_lighting"); + wait(0.1); + level.player lightsetforplayer("recovery_pantry_interior"); + level.player setclutforplayer("clut_recovery_house",0.1); + maps\_utility::vision_set_fog_changes("recovery_house_interior",0.1); + setsaveddvar("r_gunSightColorEntityScale",0.75); + setsaveddvar("r_gunSightColorNoneScale",0.75); + thread setup_outerspacelighting_interior(); + thread sun_flare(); + maps\_shg_fx::set_sun_flare_position((31,-35,0)); + var_00 = getentarray("hangar_exterior","targetname"); + foreach(var_02 in var_00) + { + var_02 hide(); + } + + wait(0.25); +} + +//Function Number: 22 +setup_lighting_training_2_lodge_breach_start() +{ + common_scripts\utility::flag_wait("training_2_lodge_breach_lighting"); + wait(0.1); + level.player lightsetforplayer("recovery_house_interior"); + level.player setclutforplayer("clut_recovery_house",0.1); + maps\_utility::vision_set_fog_changes("recovery_house_interior",0.1); + setsaveddvar("r_gunSightColorEntityScale",0.75); + setsaveddvar("r_gunSightColorNoneScale",0.75); + if(level.nextgen) + { + thread setup_outerspacelighting_interior(); + } + + thread sun_flare(); + maps\_shg_fx::set_sun_flare_position((31,-35,0)); + var_00 = getentarray("hangar_exterior","targetname"); + foreach(var_02 in var_00) + { + var_02 hide(); + } + + wait(0.25); +} + +//Function Number: 23 +setup_lighting_training_2_lodge_exit_start() +{ + common_scripts\utility::flag_wait("training_2_lodge_exit_lighting"); + wait(0.1); + level.player lightsetforplayer("recovery_house_interior"); + level.player setclutforplayer("clut_recovery_house",0.1); + maps\_utility::vision_set_fog_changes("recovery_house_interior",0.1); + setsaveddvar("r_gunSightColorEntityScale",0.75); + setsaveddvar("r_gunSightColorNoneScale",0.75); + thread setup_outerspacelighting_interior(); + thread sun_flare(); + maps\_shg_fx::set_sun_flare_position((31,-35,0)); + var_00 = getentarray("hangar_exterior","targetname"); + foreach(var_02 in var_00) + { + var_02 hide(); + } + + wait(0.25); +} + +//Function Number: 24 +setup_lighting_training_2_golf_course_start() +{ + common_scripts\utility::flag_wait("training_2_golf_course_lighting"); + wait(0.1); + level.player lightsetforplayer("recovery_night"); + level.player setclutforplayer("clut_recovery_night_pool_to_end",0.1); + maps\_utility::vision_set_fog_changes("recovery_night_pool_to_end",0.1); + setsaveddvar("r_gunSightColorEntityScale",0.75); + setsaveddvar("r_gunSightColorNoneScale",0.75); + thread setup_outerspacelighting_interior(); + thread sun_flare(); + maps\_shg_fx::set_sun_flare_position((31,-35,0)); + var_00 = getentarray("hangar_exterior","targetname"); + foreach(var_02 in var_00) + { + var_02 hide(); + } + + wait(0.25); +} + +//Function Number: 25 +setup_lighting_training_2_end_start() +{ + common_scripts\utility::flag_wait("training_2_end_lighting"); + wait(0.1); + level.player lightsetforplayer("recovery_night"); + level.player setclutforplayer("clut_recovery_night_pool_to_end",0.1); + maps\_utility::vision_set_fog_changes("recovery_night_pool_to_end",0.1); + setsaveddvar("r_gunSightColorEntityScale",0.75); + setsaveddvar("r_gunSightColorNoneScale",0.75); + thread setup_outerspacelighting_interior(); + thread sun_flare(); + maps\_shg_fx::set_sun_flare_position((31,-35,0)); + var_00 = getentarray("hangar_exterior","targetname"); + foreach(var_02 in var_00) + { + var_02 hide(); + } + + wait(0.25); +} + +//Function Number: 26 +setup_lighting_night() +{ + wait(0.5); + var_00 = getentarray("recovery_night_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_night_lighting_volume(); + } +} + +//Function Number: 27 +setup_night_lighting_volume() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("recovery_night"); + level.player setclutforplayer("clut_recovery_night",0.1); + if(level.nextgen) + { + maps\_utility::vision_set_fog_changes("recovery_night",10); + } + else if(level.currentgen) + { + maps\_utility::vision_set_fog_changes("recovery_night",2); + } + + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("kitchen_window_light",1,40000); + } + } +} + +//Function Number: 28 +setup_lighting_day() +{ + var_00 = getentarray("recovery_day_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_day_lighting_volume(); + } +} + +//Function Number: 29 +setup_day_lighting_volume() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("recovery_day"); + level.player setclutforplayer("clut_recovery_day",2); + setsaveddvar("r_gunSightColorEntityScale",1); + setsaveddvar("r_gunSightColorNoneScale",1); + if(level.nextgen) + { + maps\_utility::vision_set_fog_changes("recovery_day",4); + } + + if(level.currentgen) + { + maps\_utility::vision_set_fog_changes("recovery_day",2); + } + + var_00 = getentarray("hangar_exterior","targetname"); + foreach(var_02 in var_00) + { + var_02 show(); + } + } +} + +//Function Number: 30 +setup_lighting_funeral_sequence() +{ + wait(0.2); + var_00 = undefined; + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + setsaveddvar("r_mbCameraRotationInfluence","0"); + var_00 = getent("funeral_rim_conversation_light","targetname"); + var_01 = getent("funeral_rim_light","targetname"); + var_01 setlightfovrange(30,5); + var_01 setlightradius(500); + var_00 setlightfovrange(30,20); + } + + if(level.nextgen) + { + if(level.xb3) + { + setsaveddvar("sm_sunShadowBoundsMin","0 -50000 -128"); + setsaveddvar("sm_sunShadowBoundsMax","10000 -35000 512"); + setsaveddvar("sm_sunShadowBoundsOverride","1"); + } + } + + var_02 = getent("funeral_conversation_fill","targetname"); + var_02 setlightfovrange(40,20); + thread maps\_lighting::lerp_spot_color("funeral_rim_light",0.15,(0.9,0.8,0.7)); + thread maps\_lighting::lerp_spot_color("funeral_crowd_rim_light",0.15,(0.9,0.8,0.7)); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_color("funeral_rim_conversation_light",0.15,(0.7,0.8,0.9)); + } + + thread maps\_lighting::lerp_spot_color("funeral_conversation_fill",0.15,(0.9,0.8,0.7)); + thread maps\_lighting::lerp_spot_intensity("funeral_rim_light",2,5000000); + thread maps\_lighting::lerp_spot_intensity("funeral_crowd_rim_light",2,5000000); + wait(33); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + } + + common_scripts\utility::flag_wait("interact_casket"); + wait(8.5); + level.player lightsetforplayer("recovery_funeral_walk"); + common_scripts\utility::flag_wait("player_proximity_irons"); + var_03 = getent("funeral_road_lighting_centroid","targetname"); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("funeral_rim_conversation_light",4,3000000); + } + + thread maps\_lighting::lerp_spot_intensity("funeral_conversation_fill",4,200000); + wait(7); + if(level.nextgen && isdefined(var_00)) + { + var_00 maps\_lighting::lerp_light_fov_range(30,20,80,40,5); + } + + wait(3.5); + level.player lightsetforplayer("recovery_funeral_conversation"); + level.funeral_irons overridelightingorigin(var_03.origin); + wait(46.5); + level.funeral_irons defaultlightingorigin(); + if(level.xb3) + { + setsaveddvar("sm_sunShadowBoundsOverride","0"); + } +} + +//Function Number: 31 +setup_dof_funeral() +{ + setsaveddvar("r_dof_physical_bokehenable",1); + if(level.nextgen) + { + common_scripts\utility::flag_wait("interact_casket"); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(4.5,24.3); + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + wait(8.5); + level.player disablephysicaldepthoffieldscripting(); + common_scripts\utility::flag_wait("player_proximity_irons"); + level.player enablephysicaldepthoffieldscripting(); + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + level.player setphysicaldepthoffield(5,23.8); + wait(10); + level.player setphysicaldepthoffield(5.5,30); + wait(28.5); + level.player setphysicaldepthoffield(5.5,21.8); + wait(8); + level.player setphysicaldepthoffield(5.5,30); + wait(5); + level.player setphysicaldepthoffield(5.5,24.7); + wait(1); + level.player setphysicaldepthoffield(5.5,10.69); + wait(3); + level.player setphysicaldepthoffield(5.5,30); + wait(3.75); + level.player setphysicaldepthoffield(5.5,9.2,20,20); + } +} + +//Function Number: 32 +setup_dof_funeral_cg() +{ + if(level.currentgen) + { + level.player enablephysicaldepthoffieldscripting(); + common_scripts\utility::flag_wait("interact_casket"); + setsaveddvar("r_dof_physical_hipenable",0); + level.player setphysicaldepthoffield(7.5,17.3); + wait(9.75); + setsaveddvar("sm_sunshadowscale",1); + setsaveddvar("sm_sunSampleSizeNear",0.15); + level.player disablephysicaldepthoffieldscripting(); + common_scripts\utility::flag_wait("player_proximity_irons"); + setsaveddvar("sm_sunshadowscale",1); + setsaveddvar("sm_sunSampleSizeNear",0.044); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(8.5,23.8); + level.player lightsetforplayer("recovery_funeral_ssn"); + wait(10); + level.player setphysicaldepthoffield(9,21.4); + wait(28.5); + level.player setphysicaldepthoffield(9,18.1); + wait(8); + level.player setphysicaldepthoffield(9,21.4); + wait(5); + level.player setphysicaldepthoffield(12,10.69); + wait(4); + level.player setphysicaldepthoffield(9,21.4); + wait(4); + level.player setphysicaldepthoffield(12,10.69); + wait(4); + level.player disablephysicaldepthoffieldscripting(); + } +} + +//Function Number: 33 +lightning_strike_hangar_start() +{ + common_scripts\utility::flag_wait("training_start_area_lighting"); + resetsunlight(); + wait(0.25); + var_00 = getent("hangar_lightning_light","targetname"); + var_01 = randomfloatrange(0.15,0.35); + var_02 = 7; + for(var_03 = 0;var_03 < var_02;var_03++) + { + var_00 setlightintensity(randomfloatrange(1000,10000000)); + level.player lightsetforplayer("recovery_lightning"); + wait(var_01); + var_00 setlightintensity(0); + level.player lightsetforplayer("recovery_night"); + } +} + +//Function Number: 34 +setup_training_start_area_lighting() +{ + common_scripts\utility::flag_wait("training_start_area_lighting"); + level.player lightsetforplayer("recovery_night"); + level.player setclutforplayer("clut_recovery_night",0.1); + maps\_utility::vision_set_fog_changes("recovery_night",0.1); + setsaveddvar("r_gunSightColorEntityScale",0.75); + setsaveddvar("r_gunSightColorNoneScale",0.75); + thread sun_flare(); + maps\_shg_fx::set_sun_flare_position((31,-35,0)); + if(level.nextgen) + { + thread setup_training_start_area_dof(); + setsaveddvar("r_aodiminish",1); + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + thread maps\_lighting::lerp_spot_intensity("light_side_house_01",0.1,600); + thread maps\_lighting::lerp_spot_intensity("light_side_house_02",0.1,15000); + thread maps\_lighting::lerp_spot_intensity("training_start_character_fill",2,1000); + wait(5); + thread maps\_lighting::lerp_spot_intensity("training_start_character_fill",2,500); + } + else + { + thread setup_training_start_area_dof(); + } + + var_00 = getentarray("hangar_exterior","targetname"); + foreach(var_02 in var_00) + { + var_02 hide(); + } + + wait(10); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + setsaveddvar("r_mbCameraRotationInfluence","0"); + common_scripts\utility::flag_wait("enter_house_lighting"); + } +} + +//Function Number: 35 +setup_training_start_area_dof() +{ + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehenable",1); + } + + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(25.5,11.7,20,20); + wait(2.3); + level.player setphysicaldepthoffield(1.8,13.7,20,20); + wait(2.5); + level.player setphysicaldepthoffield(2.5,25.8); + wait(5.65); + level.player setphysicaldepthoffield(2.5,2486); + wait(4); + level.player disablephysicaldepthoffieldscripting(); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehenable",0); + } + + wait(0.25); +} + +//Function Number: 36 +setup_lighting_house_interior_transition() +{ + var_00 = getentarray("house_interior_transition_lighting_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_house_interior_transition_volume(); + } +} + +//Function Number: 37 +setup_lighting_house_interior_transition_volume() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("recovery_house_interior_transition"); + level.player setclutforplayer("clut_recovery_house",0.1); + if(level.nextgen) + { + maps\_utility::vision_set_fog_changes("recovery_house_interior",4); + thread maps\_lighting::lerp_spot_intensity("kitchen_window_light",0.5,0); + } + + if(level.currentgen) + { + maps\_utility::vision_set_fog_changes("recovery_house_interior_transition",2); + } + } +} + +//Function Number: 38 +setup_lighting_house_interior() +{ + var_00 = getentarray("house_interior_lighting_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_house_interior_volume(); + } +} + +//Function Number: 39 +setup_lighting_house_interior_volume() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("recovery_house_interior"); + level.player setclutforplayer("clut_recovery_house",0.1); + if(level.nextgen) + { + maps\_utility::vision_set_fog_changes("recovery_house_interior",10); + } + else if(level.currentgen) + { + maps\_utility::vision_set_fog_changes("recovery_house_interior",2); + } + + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("kitchen_window_light",0.5,0); + thread maps\_lighting::lerp_spot_intensity("light_side_house_01",1,30000); + thread maps\_lighting::lerp_spot_intensity("light_side_house_02",1,30000); + } + + common_scripts\utility::flag_set("enter_house_lighting"); + } +} + +//Function Number: 40 +setup_lighting_pantry_interior() +{ + var_00 = getentarray("house_interior_pantry_lighting_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_pantry_interior_volume(); + } +} + +//Function Number: 41 +setup_lighting_pantry_interior_volume() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("recovery_pantry_interior"); + } +} + +//Function Number: 42 +setup_lighting_ambush() +{ + common_scripts\utility::flag_wait("bedroom_1_door_scene"); + var_00 = getent("house_ambush_light","targetname"); + var_00 setlightshadowstate("force_on"); + thread maps\_lighting::lerp_spot_intensity("house_ambush_light",0.1,20000); + wait(6); + var_00 setlightshadowstate("normal"); +} + +//Function Number: 43 +setup_lighting_door_breach() +{ + common_scripts\utility::flag_wait("training_s1_breach_begin"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + wait(4); + thread maps\_lighting::lerp_spot_intensity("lodge_breach_bounce",2,10000); + maps\_utility::vision_set_fog_changes("recovery_house_door_breach",0.5); + wait(7); + setsaveddvar("r_mbEnable","0"); + setsaveddvar("r_mbCameraRotationInfluence","0"); + thread maps\_lighting::lerp_spot_intensity("lodge_breach_bounce",3,100); + maps\_utility::vision_set_fog_changes("recovery_house_interior",3); + } +} + +//Function Number: 44 +setup_dof_door_breach() +{ + common_scripts\utility::flag_wait("training_s1_breach_begin"); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehenable",1); + } + + level.player enablephysicaldepthoffieldscripting(); + wait(0.5); + level.player setphysicaldepthoffield(1.2,18.5,20,20); + wait(2); + level.player setphysicaldepthoffield(1.2,77.3,20,20); + wait(2.15); + level.player setphysicaldepthoffield(1.2,89,20,20); + wait(5); + level.player disablephysicaldepthoffieldscripting(); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehenable",0); + } +} + +//Function Number: 45 +setup_lighting_drone_attack() +{ + common_scripts\utility::flag_wait("flag_obj_rescue1_drone_attack_clear"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + } + + maps\_utility::vision_set_fog_changes("recovery_drone_battle",1); + common_scripts\utility::flag_wait("flag_obj_rescue1_patio_ambush"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + } +} + +//Function Number: 46 +setup_lighting_night_pool() +{ + wait(0.5); + var_00 = getentarray("recovery_night_pool_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_night_lighting_pool_volume(); + } +} + +//Function Number: 47 +setup_night_lighting_pool_volume() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("recovery_night"); + level.player setclutforplayer("clut_recovery_night_pool_to_end",1); + if(level.nextgen) + { + maps\_utility::vision_set_fog_changes("recovery_night_pool_to_end",2); + } + else if(level.currentgen) + { + maps\_utility::vision_set_fog_changes("recovery_night",2); + } + + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("kitchen_window_light",1,40000); + } + } +} + +//Function Number: 48 +hide_reveal_screen_reflections() +{ + var_00 = getentarray("hangar_reveal","targetname"); + foreach(var_02 in var_00) + { + var_02 hide(); + } +} + +//Function Number: 49 +setup_knockdown_sequence() +{ + common_scripts\utility::flag_wait("knockdown_lighting"); + maps\_utility::vision_set_fog_changes("recovery_night",1); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + setsaveddvar("r_dof_physical_bokehenable","1"); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(2,22.4,20,20); + wait(3); + level.player setphysicaldepthoffield(2,11.36,20,20); + wait(2.1); + level.player setphysicaldepthoffield(2,57.8,20,20); + wait(2); + level.player setphysicaldepthoffield(2,132.4,20,20); + wait(6); + level.player setphysicaldepthoffield(2,55.2,20,20); + wait(5); + level.player setphysicaldepthoffield(2,100.6,20,20); + wait(4); + level.player setphysicaldepthoffield(2,29.9,20,20); + wait(4); + level.player setphysicaldepthoffield(2,246,20,20); + wait(5.5); + level.player setphysicaldepthoffield(4,246,20,20); + wait(2); + level.player setphysicaldepthoffield(3,15.8,20,20); + wait(2); + level.player setphysicaldepthoffield(3,87.7,20,20); + wait(2.4); + level.player setphysicaldepthoffield(3.5,32.1,20,20); + wait(16); + level.player setphysicaldepthoffield(2,246,20,20); + level.player disablephysicaldepthoffieldscripting(); + return; + } + + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(2,22.4,20,20); + wait(3); + level.player setphysicaldepthoffield(2,11.36,20,20); + wait(2.1); + level.player setphysicaldepthoffield(2,57.8,20,20); + wait(2); + level.player setphysicaldepthoffield(2,132.4,20,20); + wait(6); + level.player setphysicaldepthoffield(2,55.2,20,20); + wait(5); + level.player setphysicaldepthoffield(2,100.6,20,20); + wait(4); + level.player setphysicaldepthoffield(2,29.9,20,20); + wait(4); + level.player setphysicaldepthoffield(2,246,20,20); + wait(5.5); + level.player setphysicaldepthoffield(4,246,20,20); + wait(2); + level.player setphysicaldepthoffield(3,15.8,20,20); + wait(2); + level.player setphysicaldepthoffield(3,87.7,20,20); + wait(2.4); + level.player setphysicaldepthoffield(3.5,32.1,20,20); + wait(16); + level.player setphysicaldepthoffield(2,246,20,20); + level.player disablephysicaldepthoffieldscripting(); +} + +//Function Number: 50 +setup_hangar_door_open_sequence() +{ + common_scripts\utility::flag_wait("training_s1_flag_lights_on"); + maps\_shg_fx::set_sun_flare_position((-40,72,0)); + if(level.nextgen) + { + if(level.xb3) + { + setsaveddvar("sm_sunShadowBoundsMin","-6400 -10240 -512"); + setsaveddvar("sm_sunShadowBoundsMax","6400 10240 2048"); + setsaveddvar("sm_sunShadowBoundsOverride","1"); + } + } + + wait(2); + maps\_utility::vision_set_fog_changes("recovery_hangar_door_bright",0.2); + wait(2); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("hangar_door_bounce",5,600000); + } + else + { + thread maps\_lighting::lerp_spot_intensity("hangar_door_bounce",5,100000); + } + + wait(2.5); + level.player lightsetforplayer("recovery_hangar_door_transition"); + level.player setclutforplayer("clut_recovery_hangar_transition",1); + maps\_utility::vision_set_fog_changes("recovery_hangar_door_transition",3); + thread disable_outerspacelighting_interior(); + common_scripts\utility::flag_wait("tour_ride_hangar_lighting"); + thread maps\_lighting::lerp_spot_intensity("hangar_door_bounce",1,0); +} + +//Function Number: 51 +setup_hangar_shadow_shell() +{ + wait(0.1); + var_00 = getentarray("shadow_shell","targetname"); + var_01 = getent("shadow_shell_hole","targetname"); + var_02 = getent("light_plug","targetname"); + foreach(var_04 in var_00) + { + var_04.origin = var_04.origin + (0,0,-1E+07); + } + + var_02.origin = var_01.origin + (0,0,-1E+07); + common_scripts\utility::flag_wait("training_s1_flag_lights_on"); + foreach(var_04 in var_00) + { + var_04.origin = var_04.origin + (0,0,1E+07); + } + + common_scripts\utility::flag_wait("training_s1_flag_doors_open"); + var_01.origin = var_01.origin + (0,0,-1E+07); + common_scripts\utility::flag_wait("tour_ride_hangar_lighting"); + foreach(var_04 in var_00) + { + var_04.origin = var_04.origin + (0,0,-1E+07); + } + + var_01.origin = var_01.origin + (0,0,1E+07); +} + +//Function Number: 52 +setup_hangar_interior_walls() +{ + wait(0.1); + var_00 = getent("lighting_centroid_hangar_door_interior","targetname"); + var_01 = getent("lighting_centroid_hangar_door_exterior","targetname"); + var_02 = getent("walls_interior_doorframe","targetname"); + var_03 = getent("right_side_wall","targetname"); + wait(0.1); + var_04 = getent("walls_interior_roof","targetname"); + var_05 = getent("interior_roof_back","targetname"); + var_06 = getent("rear_wall","targetname"); + var_07 = getent("transition_hangar_doorframe","targetname"); + var_08 = getent("transition_hangar_doorframe_a","targetname"); + var_09 = getent("transition_hangar_doorframe_b","targetname"); + var_02.origin = var_02.origin + (0,0,-1E+07); + var_04.origin = var_04.origin + (0,0,-1E+07); + var_05.origin = var_05.origin + (0,0,-1E+07); + var_03.origin = var_03.origin + (0,0,-1E+07); + var_06.origin = var_06.origin + (0,0,-1E+07); + var_07.origin = var_07.origin + (0,0,-1E+07); + var_08.origin = var_08.origin + (0,0,-1E+07); + var_09.origin = var_09.origin + (0,0,-1E+07); + common_scripts\utility::flag_wait("training_s1_flag_wall_interior_decloak"); + var_02.origin = var_02.origin + (0,0,1E+07); + var_04.origin = var_04.origin + (0,0,1E+07); + var_03.origin = var_03.origin + (0,0,1E+07); + var_05.origin = var_05.origin + (0,0,1E+07); + var_06.origin = var_06.origin + (0,0,1E+07); + var_07.origin = var_07.origin + (0,0,1E+07); + var_02 overridelightingorigin(var_00.origin); + var_04 overridelightingorigin(var_00.origin); + var_05 overridelightingorigin(var_00.origin); + var_03 overridelightingorigin(var_00.origin); + var_06 overridelightingorigin(var_00.origin); + var_07 overridelightingorigin(var_00.origin); + common_scripts\utility::flag_wait("training_s1_end_enter_jeep"); + wait(2); + var_07.origin = var_07.origin + (0,0,-1E+07); + var_08.origin = var_08.origin + (0,0,1E+07); + var_09.origin = var_09.origin + (0,0,1E+07); + wait(0.15); + var_08 overridelightingorigin(var_00.origin); + var_09 overridelightingorigin(var_01.origin); + common_scripts\utility::flag_wait("tour_ride_hangar_lighting"); + var_02.origin = var_02.origin + (0,0,-1E+07); + var_04.origin = var_04.origin + (0,0,-1E+07); + var_03.origin = var_03.origin + (0,0,-1E+07); + var_05.origin = var_05.origin + (0,0,-1E+07); + var_06.origin = var_06.origin + (0,0,-1E+07); + if(level.currentgen) + { + var_07.origin = var_07.origin + (0,0,1E+07); + level waittill("tff_post_tour_aug_reality_to_training"); + var_07.origin = var_07.origin + (0,0,-1E+07); + } + + common_scripts\utility::flag_wait("ready_room_elevator_lighting"); + var_08.origin = var_08.origin + (0,0,-1E+07); + var_09.origin = var_09.origin + (0,0,-1E+07); +} + +//Function Number: 53 +setup_lighting_hangar_doors() +{ + wait(0.25); + var_00 = getent("lighting_centroid_hangar_door_interior","targetname"); + var_01 = getent("lighting_centroid_hangar_door_exterior","targetname"); + var_02 = getent("reflection_centroid_hangar_door_interior","targetname"); + var_03 = getent("tour_giant_door_01_l_part1","targetname"); + var_04 = getent("tour_giant_door_01_l_part2","targetname"); + var_05 = getent("tour_giant_door_01_r_part1","targetname"); + var_06 = getent("tour_giant_door_01_r_part2","targetname"); + var_06 = getent("tour_giant_door_01_r_part2","targetname"); + var_03 overridelightingorigin(var_00.origin); + var_03 overridereflectionprobe(var_02.origin); + var_04 overridelightingorigin(var_00.origin); + var_04 overridereflectionprobe(var_02.origin); + var_05 overridelightingorigin(var_00.origin); + var_05 overridereflectionprobe(var_02.origin); + var_06 overridelightingorigin(var_00.origin); + var_06 overridereflectionprobe(var_02.origin); + common_scripts\utility::flag_wait("tour_ride_drive_lighting"); + wait(12); + var_03 defaultlightingorigin(); + var_04 defaultlightingorigin(); + var_05 defaultlightingorigin(); + var_06 defaultlightingorigin(); +} + +//Function Number: 54 +setup_lighting_training_end_character_sequence() +{ + wait(0.1); + common_scripts\utility::flag_wait("knockdown_lighting"); + if(level.nextgen) + { + wait(11); + } + + if(level.currentgen) + { + wait(5); + level.player lightsetforplayer("recovery_hangar_door_transition"); + thread maps\_lighting::lerp_spot_intensity("hangar_door_sequence_street_lamp",0.5,8000); + wait(13); + thread maps\_lighting::lerp_spot_intensity("hangar_door_bounce",2,100000); + } + + var_00 = level.gideon; + var_01 = getent("lighting_centroid_training_end_characters","targetname"); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("hangar_door_sequence_rim",3,2000000); + } + + var_00 overridelightingorigin(var_01.origin); + wait(7.75); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("hangar_door_sequence_street_lamp",0.2,100000); + thread maps\_lighting::lerp_spot_color("hangar_door_sequence_street_lamp",0.2,(0.1,0.4,0.9)); + } + + wait(3); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_color("hangar_door_sequence_street_lamp",0.2,(0.6,0.5,0.4)); + } + + wait(3.25); + var_02 = getent("hangar_door_bounce","targetname"); + if(isdefined(var_02)) + { + var_02 setlightshadowstate("force_on"); + } + + var_03 = level.irons; + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("hangar_door_sequence_street_lamp",8.5,50000); + } + else + { + thread maps\_lighting::lerp_spot_intensity("hangar_door_sequence_street_lamp",0.5,5000); + } + + var_03 overridelightingorigin(var_01.origin); + common_scripts\utility::flag_wait("training_s1_end_enter_jeep"); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("hangar_door_sequence_street_lamp",2,800); + } + + maps\_utility::vision_set_fog_changes("recovery_get_in_jeep",1); + level.player lightsetforplayer("recovery_get_in_jeep"); + var_03 defaultlightingorigin(); + var_00 defaultlightingorigin(); + common_scripts\utility::flag_wait("tour_ride_drive_lighting"); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("hangar_door_bounce",5,100000); + } + + if(level.currentgen) + { + } + + var_02 setlightshadowstate("normal"); + thread glass_door_01_exterior_lighting(); + thread glass_door_02_exterior_lighting(); + thread glass_door_03_exterior_lighting(); + thread glass_door_04_exterior_lighting(); +} + +//Function Number: 55 +set_irons_tour_ride_reflection() +{ + if(level.currentgen) + { + wait(10); + level.irons overridematerial("mtl_irons_head_wrinkle_tns","mtl_irons_head_wrinkle_tour_ride"); + common_scripts\utility::flag_wait("tour_ride_reset_irons_reflection"); + level.irons defaultreflectionprobe(); + } +} + +//Function Number: 56 +setup_tour_ride_skin_spec_fix() +{ + common_scripts\utility::flag_wait("tour_ride_drive_lighting"); + wait(0.5); + level.irons overridematerial("mtl_irons_head_wrinkle_tns","mtl_irons_head_wrinkle_recoverytour_tns"); + level.irons overridematerial("mtl_irons_hair","mtl_irons_hair_recoverytour"); + level.irons overridematerial("mtl_irons_hair_cards","mtl_irons_hair_cards_recoverytour"); + level.gideon overridematerial("mtl_gideon_head_wrinkle_tns","mtl_gideon_head_wrinkle_recoverytour_tns"); + wait(20); + level.gideon overridematerialreset(); + common_scripts\utility::flag_wait("tour_ride_hangar_lighting"); + common_scripts\utility::flag_wait("tour_ride_end_lighting"); + wait(17); + level.irons overridematerialreset(); +} + +//Function Number: 57 +setup_dof_tour_ride() +{ + if(level.nextgen) + { + common_scripts\utility::flag_wait("tour_ride_drive_lighting"); + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","0"); + setsaveddvar("r_dof_physical_bokehenable","0"); + wait(2.25); + resetsundirection(); + wait(2.5); + resetsunlight(); + common_scripts\utility::flag_wait("tour_ride_end_lighting"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + wait(30); + setsaveddvar("r_mbEnable","0"); + setsaveddvar("r_mbCameraRotationInfluence","0"); + return; + } + + if(level.currentgen) + { + common_scripts\utility::flag_wait("tour_ride_drive_lighting"); + wait(2.25); + wait(2.5); + common_scripts\utility::flag_wait("tour_ride_end_lighting"); + wait(13); + level.player lightsetforplayer("recovery_day_ssn"); + wait(11); + level.player lightsetforplayer("recovery_day"); + wait(19); + wait(0.2); + } +} + +//Function Number: 58 +setup_repair_hangar_lighting() +{ + if(level.nextgen) + { + var_00 = getent("hangar_tour_light_02","targetname"); + common_scripts\utility::flag_wait("tour_ride_hangar_lighting"); + wait(5); + var_00 maps\_lighting::lerp_light_fov_range(90,60,50,40,2); + thread maps\_lighting::lerp_spot_intensity("hangar_tour_light_02",2,4000000); + thread maps\_lighting::lerp_spot_intensity("tour_hangar_irons_rim",2,1000000); + } +} + +//Function Number: 59 +setup_tour_hangar_doors_lighting() +{ + var_00 = getent("lighting_centroid_hangar_door_tour_01","targetname"); + var_01 = getent("lighting_centroid_hangar_door_tour_02","targetname"); + var_02 = getent("tour_hangar_door_01_r_part1","targetname"); + var_03 = getent("tour_hangar_door_01_r_part2","targetname"); + var_04 = getent("tour_hangar_door_01_l_part1","targetname"); + var_05 = getent("tour_hangar_door_01_l_part2","targetname"); + var_04 overridelightingorigin(var_00.origin); + var_05 overridelightingorigin(var_00.origin); + var_02 overridelightingorigin(var_01.origin); + var_03 overridelightingorigin(var_01.origin); +} + +//Function Number: 60 +setup_tour_hangar_opening() +{ + wait(0.25); + var_00 = getent("hangar_door_fill_block","targetname"); + var_00.origin = var_00.origin + (0,0,-1E+07); + common_scripts\utility::flag_wait("tour_ride_hangar_lighting"); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("tour_ride_hangar_fill",5,1000000); + thread maps\_lighting::lerp_spot_color("tour_ride_hangar_fill",0.1,(0.4,0.6,1)); + wait(11); + thread maps\_lighting::lerp_spot_intensity("tour_ride_hangar_fill",3,5000); + } +} + +//Function Number: 61 +setup_lighting_exo_hangar_doorway() +{ + var_00 = getentarray("exo_hangar_doorway_lighting_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_exo_hangar_doorway_volume(); + } +} + +//Function Number: 62 +setup_lighting_exo_hangar_doorway_volume() +{ + for(;;) + { + self waittill("trigger"); + if(level.nextgen) + { + level.player lightsetforplayer("recovery_day"); + level.player setclutforplayer("clut_recovery_day_exo_area",4); + } + + setsaveddvar("r_gunSightColorEntityScale",1); + setsaveddvar("r_gunSightColorNoneScale",1); + thread glass_door_01_exterior_lighting(); + thread glass_door_02_exterior_lighting(); + if(level.nextgen) + { + maps\_utility::vision_set_fog_changes("recovery_day",4); + } + + if(level.currentgen) + { + maps\_utility::vision_set_fog_changes("recovery_day",2); + } + + var_00 = getentarray("hangar_exterior","targetname"); + foreach(var_02 in var_00) + { + var_02 show(); + } + } +} + +//Function Number: 63 +setup_lab_entrance_light() +{ + wait(0.1); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("hangar_exo_entrance_door_light",1,100000); + thread maps\_lighting::lerp_spot_intensity("exo_hangar_entry_computer_light",1,200); + } + + if(level.currentgen) + { + thread maps\_lighting::lerp_spot_intensity("exo_arm_entrance_key",1,100000); + thread maps\_lighting::lerp_spot_intensity("exo_hangar_entry_computer_light",1,500); + } +} + +//Function Number: 64 +setup_lighting_lab_interior() +{ + var_00 = getentarray("lab_lighting_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_lab_interior_volume(); + } +} + +//Function Number: 65 +setup_lighting_lab_interior_volume() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("recovery_lab_interior"); + level.player setclutforplayer("clut_recovery_lab",1); + maps\_utility::vision_set_fog_changes("recovery_lab_interior",3); + } +} + +//Function Number: 66 +setup_lighting_exo_hangar() +{ + var_00 = getentarray("exo_hangar_lighting_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_exo_hangar_volume(); + } +} + +//Function Number: 67 +setup_lighting_exo_hangar_volume() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("recovery_lab_interior"); + level.player setclutforplayer("clut_recovery_lab",1); + maps\_utility::vision_set_fog_changes("recovery_lab_interior",3); + thread glass_door_01_interior_lighting(); + thread glass_door_02_interior_lighting(); + } +} + +//Function Number: 68 +setup_lighting_lab_warehouse() +{ + var_00 = getentarray("atrium_lighting_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_lab_warehouse_volume(); + } +} + +//Function Number: 69 +setup_lighting_lab_warehouse_volume() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("recovery_lab_warehouse"); + level.player setclutforplayer("clut_recovery_lab",1); + maps\_utility::vision_set_fog_changes("recovery_lab_warehouse",2); + } +} + +//Function Number: 70 +setup_lighting_hangar_demos() +{ + wait(0.25); + var_00 = getent("lighting_centroid_exo_push_01","targetname"); + var_01 = getent("lighting_centroid_exo_push_02","targetname"); + var_02 = getent("exo_warehouse_gun_lighting_centroid","targetname"); + var_03 = getent("exo_push_sled_01","targetname"); + var_04 = getent("exo_push_sled_02","targetname"); + var_05 = getent("exo_room_turret","targetname"); + var_03 overridelightingorigin(var_01.origin); + var_04 overridelightingorigin(var_00.origin); + var_05 overridelightingorigin(var_02.origin); + var_05 overridereflectionprobe(var_02.origin); +} + +//Function Number: 71 +setup_lighting_exo_room() +{ + var_00 = getentarray("exo_room_lighting_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_exo_room_lighting_volume(); + } +} + +//Function Number: 72 +setup_exo_room_lighting_volume() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("recovery_lab_exo_room"); + level.player setclutforplayer("clut_recovery_lab",1); + maps\_utility::vision_set_fog_changes("recovery_lab_interior",2); + } +} + +//Function Number: 73 +setup_exo_arm_moment_lighting() +{ + common_scripts\utility::flag_wait("tour_exo_arm"); + level.player lightsetforplayer("recovery_lab_exo_arm_moment"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_dof_physical_bokehenable",1); + } + + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(4,28); + wait(4); + level.player setphysicaldepthoffield(4,12.3); + common_scripts\utility::flag_wait("desk_exit"); + wait(3); + level.player setphysicaldepthoffield(4,15); + wait(4); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + setsaveddvar("r_dof_physical_bokehenable",0); + setsaveddvar("r_dof_physical_hipfstop",2); + } + + level.player disablephysicaldepthoffieldscripting(); + wait(0.5); + common_scripts\utility::flag_wait("desk_exit"); + level.player lightsetforplayer("recovery_lab_exo_room"); +} + +//Function Number: 74 +setup_lighting_firing_range_doorway() +{ + var_00 = getentarray("firing_range_doorway_lighting_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_firing_doorway_volume(); + } +} + +//Function Number: 75 +setup_lighting_firing_doorway_volume() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("recovery_day"); + level.player setclutforplayer("clut_recovery_day_exo_area",4); + setsaveddvar("r_gunSightColorEntityScale",1); + setsaveddvar("r_gunSightColorNoneScale",1); + thread glass_door_03_exterior_lighting(); + thread glass_door_04_exterior_lighting(); + if(level.nextgen) + { + maps\_utility::vision_set_fog_changes("recovery_day",4); + } + + if(level.currentgen) + { + maps\_utility::vision_set_fog_changes("recovery_day",2); + } + + var_00 = getentarray("hangar_exterior","targetname"); + foreach(var_02 in var_00) + { + var_02 show(); + } + } +} + +//Function Number: 76 +setup_lighting_firing_range_entrance() +{ + var_00 = getentarray("firing_range_entrance_lighting_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_firing_range_entrance_volume(); + } +} + +//Function Number: 77 +setup_lighting_firing_range_entrance_volume() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("recovery_lab_interior"); + level.player setclutforplayer("clut_recovery_lab",1); + maps\_utility::vision_set_fog_changes("recovery_lab_interior",3); + thread glass_door_03_interior_lighting(); + thread glass_door_04_interior_lighting(); + } +} + +//Function Number: 78 +setup_lighting_firing_range() +{ + var_00 = getentarray("firing_range_lighting_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_firing_range_volume(); + } +} + +//Function Number: 79 +setup_lighting_firing_range_volume() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("recovery_firing_range"); + level.player setclutforplayer("clut_recovery_firing_range",1); + maps\_utility::vision_set_fog_changes("recovery_firing_range",2); + setsaveddvar("r_gunSightColorEntityScale",0.75); + setsaveddvar("r_gunSightColorNoneScale",0.75); + } +} + +//Function Number: 80 +setup_lighting_firing_range_stall() +{ + var_00 = getentarray("firing_range_lighting_volume_01","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_firing_range_stall_01_volume(); + } + + var_04 = getentarray("firing_range_lighting_volume_02","targetname"); + foreach(var_06 in var_04) + { + var_06 thread setup_lighting_firing_range_stall_02_volume(); + } + + var_08 = getentarray("firing_range_lighting_volume_03","targetname"); + foreach(var_0A in var_08) + { + var_0A thread setup_lighting_firing_range_stall_03_volume(); + } + + var_0C = getentarray("firing_range_lighting_volume_04","targetname"); + foreach(var_0E in var_0C) + { + var_0E thread setup_lighting_firing_range_stall_04_volume(); + } + + var_10 = getentarray("firing_range_lighting_volume_05","targetname"); + foreach(var_12 in var_10) + { + var_12 thread setup_lighting_firing_range_stall_05_volume(); + } + + var_14 = getentarray("firing_range_lighting_volume_06","targetname"); + foreach(var_16 in var_14) + { + var_16 thread setup_lighting_firing_range_stall_06_volume(); + } + + var_18 = getentarray("firing_range_lighting_volume_07","targetname"); + foreach(var_1A in var_18) + { + var_1A thread setup_lighting_firing_range_stall_07_volume(); + } + + var_1C = getentarray("firing_range_lighting_volume_08","targetname"); + foreach(var_1E in var_1C) + { + var_1E thread setup_lighting_firing_range_stall_08_volume(); + } +} + +//Function Number: 81 +setup_lighting_firing_range_stall_01_volume() +{ + for(;;) + { + self waittill("trigger"); + thread maps\_lighting::lerp_spot_intensity("firing_range_floor_light_01",0.5,5000); + common_scripts\_exploder::exploder("range_01"); + while(level.player istouching(self)) + { + wait(1); + } + + thread maps\_lighting::lerp_spot_intensity("firing_range_floor_light_01",0.5,0.01); + wait(0.5); + common_scripts\_exploder::kill_exploder("range_01"); + } +} + +//Function Number: 82 +setup_lighting_firing_range_stall_02_volume() +{ + for(;;) + { + self waittill("trigger"); + thread maps\_lighting::lerp_spot_intensity("firing_range_floor_light_02",0.5,5000); + common_scripts\_exploder::exploder("range_02"); + while(level.player istouching(self)) + { + wait(1); + } + + thread maps\_lighting::lerp_spot_intensity("firing_range_floor_light_02",0.5,0.01); + wait(0.5); + common_scripts\_exploder::kill_exploder("range_02"); + } +} + +//Function Number: 83 +setup_lighting_firing_range_stall_03_volume() +{ + for(;;) + { + self waittill("trigger"); + thread maps\_lighting::lerp_spot_intensity("firing_range_floor_light_03",0.5,5000); + common_scripts\_exploder::exploder("range_03"); + while(level.player istouching(self)) + { + wait(1); + } + + thread maps\_lighting::lerp_spot_intensity("firing_range_floor_light_03",0.5,0.01); + wait(0.5); + common_scripts\_exploder::kill_exploder("range_03"); + } +} + +//Function Number: 84 +setup_lighting_firing_range_stall_04_volume() +{ + for(;;) + { + self waittill("trigger"); + thread maps\_lighting::lerp_spot_intensity("firing_range_floor_light_04",0.5,5000); + common_scripts\_exploder::exploder("range_04"); + while(level.player istouching(self)) + { + wait(1); + } + + thread maps\_lighting::lerp_spot_intensity("firing_range_floor_light_04",0.5,0.01); + wait(0.5); + common_scripts\_exploder::kill_exploder("range_04"); + } +} + +//Function Number: 85 +setup_lighting_firing_range_stall_05_volume() +{ + for(;;) + { + self waittill("trigger"); + thread maps\_lighting::lerp_spot_intensity("firing_range_floor_light_05",0.5,5000); + common_scripts\_exploder::exploder("range_05"); + while(level.player istouching(self)) + { + wait(1); + } + + thread maps\_lighting::lerp_spot_intensity("firing_range_floor_light_05",0.5,0.01); + wait(0.5); + common_scripts\_exploder::kill_exploder("range_05"); + } +} + +//Function Number: 86 +setup_lighting_firing_range_stall_06_volume() +{ + for(;;) + { + self waittill("trigger"); + thread maps\_lighting::lerp_spot_intensity("firing_range_floor_light_06",0.5,5000); + common_scripts\_exploder::exploder("range_06"); + while(level.player istouching(self)) + { + wait(1); + } + + thread maps\_lighting::lerp_spot_intensity("firing_range_floor_light_06",0.5,0.01); + wait(0.5); + common_scripts\_exploder::kill_exploder("range_06"); + } +} + +//Function Number: 87 +setup_lighting_firing_range_stall_07_volume() +{ + for(;;) + { + self waittill("trigger"); + thread maps\_lighting::lerp_spot_intensity("firing_range_floor_light_07",0.5,5000); + common_scripts\_exploder::exploder("range_07"); + while(level.player istouching(self)) + { + wait(1); + } + + thread maps\_lighting::lerp_spot_intensity("firing_range_floor_light_07",0.5,0.01); + wait(0.5); + common_scripts\_exploder::kill_exploder("range_07"); + } +} + +//Function Number: 88 +setup_lighting_firing_range_stall_08_volume() +{ + for(;;) + { + self waittill("trigger"); + thread maps\_lighting::lerp_spot_intensity("firing_range_floor_light_08",0.5,5000); + common_scripts\_exploder::exploder("range_08"); + while(level.player istouching(self)) + { + wait(1); + } + + thread maps\_lighting::lerp_spot_intensity("firing_range_floor_light_08",0.5,0.01); + wait(0.5); + common_scripts\_exploder::kill_exploder("range_08"); + } +} + +//Function Number: 89 +setup_lighting_firing_range_stall_exposure() +{ + var_00 = getentarray("firing_range_stall_lighting_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_firing_range_stall_lighting_volume(); + } +} + +//Function Number: 90 +setup_firing_range_stall_lighting_volume() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("recovery_firing_range_stall"); + while(level.player istouching(self)) + { + wait(0.1); + } + + level.player lightsetforplayer("recovery_firing_range"); + } +} + +//Function Number: 91 +setup_lighting_firing_range_gallery() +{ + wait(0.5); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("range_fill_front",0.25,60000); + thread maps\_lighting::lerp_spot_intensity("range_fill_middle",0.25,60000); + thread maps\_lighting::lerp_spot_intensity("range_fill_back",0.25,60000); + thread maps\_lighting::lerp_spot_intensity("range_fill_bounce",0.25,30000); + } +} + +//Function Number: 92 +setup_lighting_firing_range_lights_moment() +{ + var_00 = getentarray("light_off_row_1","targetname"); + var_01 = getentarray("light_off_row_2","targetname"); + var_02 = getentarray("light_off_row_3","targetname"); + var_03 = getentarray("light_off_row_4","targetname"); + var_04 = getentarray("light_off_row_5","targetname"); + var_05 = getentarray("light_on_row_1","targetname"); + var_06 = getentarray("light_on_row_2","targetname"); + var_07 = getentarray("light_on_row_3","targetname"); + var_08 = getentarray("light_on_row_4","targetname"); + var_09 = getentarray("light_on_row_5","targetname"); + foreach(var_0B in var_00) + { + var_0B hide(); + } + + foreach(var_0B in var_01) + { + var_0B hide(); + } + + foreach(var_0B in var_02) + { + var_0B hide(); + } + + foreach(var_0B in var_03) + { + var_0B hide(); + } + + foreach(var_0B in var_04) + { + var_0B hide(); + } +} + +//Function Number: 93 +shooting_range_ramp_down_lighting() +{ + var_00 = getentarray("light_off_row_1","targetname"); + var_01 = getentarray("light_off_row_2","targetname"); + var_02 = getentarray("light_off_row_3","targetname"); + var_03 = getentarray("light_off_row_4","targetname"); + var_04 = getentarray("light_off_row_5","targetname"); + var_05 = getentarray("light_on_row_1","targetname"); + var_06 = getentarray("light_on_row_2","targetname"); + var_07 = getentarray("light_on_row_3","targetname"); + var_08 = getentarray("light_on_row_4","targetname"); + var_09 = getentarray("light_on_row_5","targetname"); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("range_fill_front",0.1,0); + thread maps\_lighting::lerp_spot_intensity("range_fill_bounce",0.1,10000); + } + + foreach(var_0B in var_05) + { + var_0B hide(); + } + + foreach(var_0B in var_06) + { + var_0B hide(); + } + + foreach(var_0B in var_00) + { + var_0B show(); + } + + foreach(var_0B in var_01) + { + var_0B show(); + } + + wait(0.25); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("range_fill_middle",0.1,0); + thread maps\_lighting::lerp_spot_intensity("range_fill_bounce",0.1,1000); + } + + foreach(var_0B in var_07) + { + var_0B hide(); + } + + foreach(var_0B in var_02) + { + var_0B show(); + } + + wait(0.25); + level.player lightsetforplayer("recovery_firing_range_shooting"); + foreach(var_0B in var_08) + { + var_0B hide(); + } + + foreach(var_0B in var_09) + { + var_0B hide(); + } + + foreach(var_0B in var_03) + { + var_0B show(); + } + + foreach(var_0B in var_04) + { + var_0B show(); + } + + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("range_fill_back",0.04,0); + thread maps\_lighting::lerp_spot_color("range_fill_bounce",0.1,(0.1,0.7,1)); + maps\_lighting::play_flickerlight_preset("firing_range_holo","range_fill_bounce",1250); + wait(0.5); + thread maps\_lighting::lerp_spot_intensity("range_fill_bounce",0.1,2500); + } +} + +//Function Number: 94 +shooting_range_ramp_up_lighting() +{ + var_00 = getentarray("light_off_row_1","targetname"); + var_01 = getentarray("light_off_row_2","targetname"); + var_02 = getentarray("light_off_row_3","targetname"); + var_03 = getentarray("light_off_row_4","targetname"); + var_04 = getentarray("light_off_row_5","targetname"); + var_05 = getentarray("light_on_row_1","targetname"); + var_06 = getentarray("light_on_row_2","targetname"); + var_07 = getentarray("light_on_row_3","targetname"); + var_08 = getentarray("light_on_row_4","targetname"); + var_09 = getentarray("light_on_row_5","targetname"); + foreach(var_0B in var_05) + { + var_0B show(); + } + + foreach(var_0B in var_00) + { + var_0B hide(); + } + + foreach(var_0B in var_06) + { + var_0B show(); + } + + foreach(var_0B in var_01) + { + var_0B hide(); + } + + foreach(var_0B in var_07) + { + var_0B show(); + } + + foreach(var_0B in var_02) + { + var_0B hide(); + } + + foreach(var_0B in var_08) + { + var_0B show(); + } + + foreach(var_0B in var_03) + { + var_0B hide(); + } + + foreach(var_0B in var_09) + { + var_0B show(); + } + + foreach(var_0B in var_04) + { + var_0B hide(); + } + + level.player lightsetforplayer("recovery_firing_range_stall"); + if(level.nextgen) + { + maps\_lighting::stop_flickerlight("firing_range_holo","range_fill_bounce",1000); + thread maps\_lighting::lerp_spot_intensity("range_fill_front",3.5,60000); + thread maps\_lighting::lerp_spot_intensity("range_fill_middle",3.5,60000); + thread maps\_lighting::lerp_spot_intensity("range_fill_back",3.5,60000); + thread maps\_lighting::lerp_spot_intensity("range_fill_bounce",3.5,30000); + thread maps\_lighting::lerp_spot_color("range_fill_bounce",0.1,(1,1,1)); + } +} + +//Function Number: 95 +setup_lighting_firing_range_exit() +{ + var_00 = getentarray("firing_range_exit_lighting_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_firing_range_exit_volume(); + } +} + +//Function Number: 96 +setup_lighting_firing_range_exit_volume() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("recovery_lab_interior"); + level.player setclutforplayer("clut_recovery_lab",1); + maps\_utility::vision_set_fog_changes("recovery_lab_interior",3); + thread glass_door_03_interior_lighting(); + thread glass_door_04_interior_lighting(); + } +} + +//Function Number: 97 +move_tour_door_shadow_caulk() +{ + if(level.nextgen) + { + var_00 = getent("door_01_shadow_caulk","targetname"); + var_00.origin = var_00.origin + (0,0,-1E+07); + var_00 = getent("door_02_shadow_caulk","targetname"); + var_00.origin = var_00.origin + (0,0,-1E+07); + var_00 = getent("door_03_shadow_caulk","targetname"); + var_00.origin = var_00.origin + (0,0,-1E+07); + var_00 = getent("door_04_shadow_caulk","targetname"); + var_00.origin = var_00.origin + (0,0,-1E+07); + } +} + +//Function Number: 98 +glass_door_01_interior_lighting() +{ + var_00 = getent("tour_door_1_interior_lighting_centroid","targetname"); + var_01 = getent("tour_glass_door_01_l","targetname"); + var_02 = getent("tour_glass_door_01_r","targetname"); + var_01 overridelightingorigin(var_00.origin); + var_02 overridelightingorigin(var_00.origin); + var_01 overridereflectionprobe(var_00.origin); + var_02 overridereflectionprobe(var_00.origin); +} + +//Function Number: 99 +glass_door_01_exterior_lighting() +{ + var_00 = getent("tour_door_2_exterior_lighting_centroid","targetname"); + var_01 = getent("tour_glass_door_01_l","targetname"); + var_02 = getent("tour_glass_door_01_r","targetname"); + var_01 overridelightingorigin(var_00.origin); + var_02 overridelightingorigin(var_00.origin); + var_01 overridereflectionprobe(var_00.origin); + var_02 overridereflectionprobe(var_00.origin); +} + +//Function Number: 100 +glass_door_02_interior_lighting() +{ + var_00 = getent("tour_door_2_interior_lighting_centroid","targetname"); + var_01 = getent("tour_glass_door_02_l","targetname"); + var_02 = getent("tour_glass_door_02_r","targetname"); + var_01 overridelightingorigin(var_00.origin); + var_02 overridelightingorigin(var_00.origin); + var_01 overridereflectionprobe(var_00.origin); + var_02 overridereflectionprobe(var_00.origin); +} + +//Function Number: 101 +glass_door_02_exterior_lighting() +{ + var_00 = getent("tour_door_2_exterior_lighting_centroid","targetname"); + var_01 = getent("tour_glass_door_02_l","targetname"); + var_02 = getent("tour_glass_door_02_r","targetname"); + var_01 overridelightingorigin(var_00.origin); + var_02 overridelightingorigin(var_00.origin); + var_01 overridereflectionprobe(var_00.origin); + var_02 overridereflectionprobe(var_00.origin); +} + +//Function Number: 102 +glass_door_03_interior_lighting() +{ + var_00 = getent("firing_range_entrance_interior_lighting_centroid","targetname"); + var_01 = getent("tour_glass_door_03_l","targetname"); + var_02 = getent("tour_glass_door_03_r","targetname"); + var_01 overridelightingorigin(var_00.origin); + var_02 overridelightingorigin(var_00.origin); + var_01 overridereflectionprobe(var_00.origin); + var_02 overridereflectionprobe(var_00.origin); +} + +//Function Number: 103 +glass_door_03_exterior_lighting() +{ + var_00 = getent("tour_glass_door_03_l","targetname"); + var_01 = getent("tour_glass_door_03_r","targetname"); + var_00 defaultlightingorigin(); + var_01 defaultlightingorigin(); + var_00 defaultreflectionprobe(); + var_01 defaultreflectionprobe(); +} + +//Function Number: 104 +tour_glass_door_04_lighting() +{ + level endon("training_room_elevator_activated"); + common_scripts\utility::flag_wait("shooting_range_completed_once"); + for(;;) + { + common_scripts\utility::flag_wait("tour_glass_door_04"); + thread maps\_lighting::lerp_spot_intensity("firing_range_exit_fill",0.15,1500); + common_scripts\utility::flag_waitopen("tour_glass_door_04"); + thread maps\_lighting::lerp_spot_intensity("firing_range_exit_fill",0.5,0); + } +} + +//Function Number: 105 +glass_door_04_interior_lighting() +{ + var_00 = getent("lighting_centroid_firing_range_exit_doors","targetname"); + var_01 = getent("tour_glass_door_04_l","targetname"); + var_02 = getent("tour_glass_door_04_r","targetname"); + var_01 overridelightingorigin(var_00.origin); + var_02 overridelightingorigin(var_00.origin); + var_01 overridereflectionprobe(var_00.origin); + var_02 overridereflectionprobe(var_00.origin); +} + +//Function Number: 106 +glass_door_04_exterior_lighting() +{ + var_00 = getent("tour_glass_door_04_l","targetname"); + var_01 = getent("tour_glass_door_04_r","targetname"); + var_00 defaultlightingorigin(); + var_01 defaultlightingorigin(); + var_00 defaultreflectionprobe(); + var_01 defaultreflectionprobe(); +} + +//Function Number: 107 +setup_lighting_fx_during_mini_games() +{ + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + } +} + +//Function Number: 108 +turn_off_lighting_fx_post_mini_games() +{ + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + } +} + +//Function Number: 109 +setup_lighting_fly_drone() +{ + wait(0.5); + level.player setclutforplayer("clut_lagos_drone",0.1); + maps\_utility::vision_set_fog_changes("recovery_drone_view_day",0.1); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + setsaveddvar("r_dof_physical_bokehenable",1); + } +} + +//Function Number: 110 +setup_lighting_fly_drone_off() +{ + wait(0.5); + level.player setclutforplayer("clut_recovery_day_exo_area",0.1); + maps\_utility::vision_set_fog_changes("recovery_day",0.1); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + setsaveddvar("r_mbCameraRotationInfluence","0"); + setsaveddvar("r_dof_physical_bokehenable",0); + setsaveddvar("r_dof_physical_hipfstop",2); + } +} + +//Function Number: 111 +setup_lighting_fly_drone_off_night() +{ + wait(0.5); + level.player setclutforplayer("clut_recovery_night_pool_to_end",0.1); + maps\_utility::vision_set_fog_changes("recovery_night_pool_to_end",0.1); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + setsaveddvar("r_mbCameraRotationInfluence","0"); + setsaveddvar("r_dof_physical_bokehenable",0); + setsaveddvar("r_dof_physical_hipfstop",2); + } +} + +//Function Number: 112 +setup_lighting_training_2_transition() +{ + var_00 = getentarray("lighting_training_2_transition_volume","targetname"); + foreach(var_02 in var_00) + { + var_02 thread setup_lighting_training_2_transition_volume(); + } +} + +//Function Number: 113 +setup_lighting_training_2_transition_volume() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("recovery_ready_room"); + level.player setclutforplayer("clut_recovery_lab",1); + maps\_utility::vision_set_fog_changes("recovery_lab_interior",3); + var_00 = getent("elevator_shaft_spot","targetname"); + var_01 = getent("elevator_shaft_spot_02","targetname"); + var_00 setlightshadowstate("force_on"); + var_01 setlightshadowstate("force_on"); + } +} + +//Function Number: 114 +setup_lighting_ready_room_elevators() +{ + wait(1); + thread maps\_lighting::lerp_spot_intensity("ready_room_holo_light",1,1500); + thread maps\_lighting::lerp_spot_intensity("elevator_shaft_spot",1,500000); + thread maps\_lighting::lerp_spot_intensity("elevator_shaft_spot_02",1,500000); + maps\_lighting::play_flickerlight_preset("firing_range_holo","ready_room_holo_light",1500); + var_00 = getent("ready_room_elevator_left","targetname"); + var_01 = getent("ready_room_elevator_right","targetname"); + var_02 = getent("elevator_01_lighting_centroid","targetname"); + var_03 = getent("elevator_02_lighting_centroid","targetname"); + var_04 = getent("elevator_shaft_spot","targetname"); + var_05 = getent("elevator_shaft_spot_02","targetname"); + var_00 overridelightingorigin(var_02.origin); + var_01 overridelightingorigin(var_03.origin); + common_scripts\utility::flag_wait("ready_room_elevator_lighting"); + var_04 setlightshadowstate("normal"); + var_05 setlightshadowstate("normal"); + thread maps\_lighting::lerp_spot_intensity("elevator_shaft_spot",10,0); + wait(10); + var_00 defaultlightingorigin(); + var_01 defaultlightingorigin(); +} + +//Function Number: 115 +setup_lighting_elevator_ride() +{ + common_scripts\utility::flag_wait("ready_room_elevator_lighting"); + maps\_shg_fx::set_sun_flare_position((40,72,0)); + thread setup_outerspacelighting_interior(); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + } + + if(level.xb3) + { + setsaveddvar("sm_sunShadowBoundsOverride","0"); + } + + common_scripts\utility::flag_wait("training_s2_ready"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + setsaveddvar("r_mbCameraRotationInfluence","0"); + } +} + +//Function Number: 116 +setup_training_2_start_area_lighting() +{ + common_scripts\utility::flag_wait("training_2_start_area_lighting"); + if(level.currentgen) + { + wait(5); + } + + level.player lightsetforplayer("recovery_night"); + level.player setclutforplayer("clut_recovery_night",3); + maps\_utility::vision_set_fog_changes("recovery_night",3); + setsaveddvar("r_gunSightColorEntityScale",0.75); + setsaveddvar("r_gunSightColorNoneScale",0.75); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("light_side_house_01",0.1,600); + thread maps\_lighting::lerp_spot_intensity("light_side_house_02",0.1,15000); + } +} + +//Function Number: 117 +setup_training_2_breach() +{ + common_scripts\utility::flag_wait("training_s2_breach_begin"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + wait(1.65); + maps\_utility::vision_set_fog_changes("recovery_house_door_breach",0.5); + thread maps\_lighting::lerp_spot_intensity("lodge_breach_bounce",1.5,20000); + wait(3.5); + maps\_utility::vision_set_fog_changes("recovery_house_interior",3); + thread maps\_lighting::lerp_spot_intensity("lodge_breach_bounce",3,100); + wait(3); + setsaveddvar("r_mbEnable","0"); + setsaveddvar("r_mbCameraRotationInfluence","0"); + } +} + +//Function Number: 118 +setup_outerspacelighting_interior() +{ + var_00 = common_scripts\utility::getstruct("night_outerspacelighting","targetname"); + enableouterspacemodellighting(var_00.origin,(0.004,0.004,0.008)); +} + +//Function Number: 119 +disable_outerspacelighting_interior() +{ + disableouterspacemodellighting(); +} + +//Function Number: 120 +setup_dof_training_2_drone() +{ + common_scripts\utility::flag_wait("training_s2_drone_start"); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehenable",1); + } + + level.player enablephysicaldepthoffieldscripting(); + wait(1); + level.player setphysicaldepthoffield(1.8,13.9,20,20); + wait(2); + level.player setphysicaldepthoffield(1.8,53.3,20,20); + wait(1); + level.player setphysicaldepthoffield(1.8,12.8,20,20); + wait(1.5); + level.player disablephysicaldepthoffieldscripting(); + common_scripts\utility::flag_wait("training_s2_drone_attack_done"); + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehenable",0); + } +} + +//Function Number: 121 +setup_training_2_drone() +{ + common_scripts\utility::flag_wait("training_s2_drone_start"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + } + + wait(5.25); + maps\_utility::vision_set_fog_changes("recovery_drone_view_night",0.1); + common_scripts\utility::flag_wait("training_s2_drone_attack_done"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + setsaveddvar("r_mbCameraRotationInfluence","0"); + } + + maps\_utility::vision_set_fog_changes("recovery_night_pool_to_end",0.1); + level.player setclutforplayer("clut_recovery_night_pool_to_end",0.1); +} + +//Function Number: 122 +setup_training_2_suv_dof() +{ + common_scripts\utility::flag_wait("training_2_suv_lighting"); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + setsaveddvar("r_dof_physical_bokehenable",1); + } + + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(2,21.1); + wait(3.25); + level.player setphysicaldepthoffield(2,48.9); + wait(2); + level.player setphysicaldepthoffield(2,30.4); + wait(5); + level.player disablephysicaldepthoffieldscripting(); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + setsaveddvar("r_mbCameraRotationInfluence","0"); + } +} + +//Function Number: 123 +setup_training_2_suv_fires() +{ + common_scripts\utility::flag_wait("training_2_car_fires_lighting"); + wait(6); + maps\_lighting::play_flickerlight_preset("recovery_fire","training_2_end_fire_01",10000); + maps\_lighting::play_flickerlight_preset("recovery_fire","training_2_end_fire_02",10000); +} + +//Function Number: 124 +setup_training_2_heli_dof() +{ + common_scripts\utility::flag_wait("flag_obj_rescue2_complete_clear"); + level.player lightsetforplayer("recovery_training_2_heli"); + maps\_utility::vision_set_fog_changes("recovery_night",1); + level.player setclutforplayer("clut_recovery_night",1); + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); + setsaveddvar("r_dof_physical_bokehenable",1); + } + + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(2,112.1); + wait(5); + level.player setphysicaldepthoffield(2,112.1); + wait(4); + level.player setphysicaldepthoffield(3.5,42.9); + wait(8); + level.player setphysicaldepthoffield(2,31.4); +} + +//Function Number: 125 +setup_training_2_heli_lighting() +{ + wait(0.4); + common_scripts\utility::flag_wait("flag_obj_rescue2_complete_clear"); + var_00 = getent("irons_heli_lighting_centroid","targetname"); + level.irons overridelightingorigin(var_00.origin); + level.gideon overridelightingorigin(var_00.origin); + if(level.nextgen) + { + thread maps\_lighting::lerp_spot_intensity("training_2_end_heli_light_01",6,1000); + thread maps\_lighting::lerp_spot_intensity("heli_seats_light",3,5000); + thread maps\_lighting::lerp_spot_intensity("heli_irons_fill",3,300); + } + else + { + thread maps\_lighting::lerp_spot_intensity("heli_seats_light",3,3000); + thread maps\_lighting::lerp_spot_intensity("heli_irons_fill",3,6000); + } + + thread maps\_lighting::lerp_spot_color("heli_irons_fill",0.15,(0.7,0.5,0.4)); +} \ No newline at end of file diff --git a/AW/PC/maps/recovery_precache.gsc b/AW/PC/maps/recovery_precache.gsc new file mode 100644 index 0000000..e674fb3 --- /dev/null +++ b/AW/PC/maps/recovery_precache.gsc @@ -0,0 +1,33 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: recovery_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:34:45 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + common_scripts\utility::add_destructible_type_function("wall_firebox_destp",::destructible_scripts\wall_firebox_destp::main); + destructible_scripts\wall_firebox_destp::main(); + vehicle_scripts\_civ_domestic_sedan_01::main("vehicle_civ_domestic_sedan_01_slvr",undefined,"script_vehicle_civ_domestic_sedan_01_slvr"); + vehicle_scripts\_civ_domestic_truck::main("vehicle_civ_domestic_truck_blue",undefined,"script_vehicle_civ_domestic_truck_blue"); + vehicle_scripts\_ft101_tank::main("vehicle_ft101_tank",undefined,"script_vehicle_ft101_tank"); + vehicle_scripts\_littlebird::main("vehicle_mil_helicopter_littlebird_atlas_ai",undefined,"script_vehicle_littlebird_atlas"); + vehicle_scripts\_pitbull::main("vehicle_mil_avt_ai",undefined,"script_vehicle_mil_avt_ai"); + vehicle_scripts\_gaz::main("vehicle_mil_gaz_ai",undefined,"script_vehicle_mil_gaz_ai"); + vehicle_scripts\_gaz::main("vehicle_mil_gaz_ai",undefined,"script_vehicle_mil_gaz_ai_turret"); + vehicle_scripts\_gaz::main("vehicle_mil_gaz_ai",undefined,"script_vehicle_mil_gaz_ai_turret_recovery"); + vehicle_scripts\_pdrone::main("vehicle_atlas_assault_drone",undefined,"script_vehicle_pdrone_atlas_lab"); + vehicle_scripts\_pdrone::main("vehicle_atlas_assault_drone_large",undefined,"script_vehicle_pdrone_atlas_large"); + vehicle_scripts\_pdrone::main("vehicle_pdrone_kva",undefined,"script_vehicle_pdrone_kva"); + vehicle_scripts\_pdrone_player::main("vehicle_atlas_assault_drone",undefined,"script_vehicle_pdrone_player"); + vehicle_scripts\_walker_tank::main("vehicle_walker_tank",undefined,"script_vehicle_walker_tank"); + vehicle_scripts\_chinese_brave_warrior::main("vehicle_mil_atlas_jeep_ai",undefined,"script_vehicle_warrior_atlas"); + vehicle_scripts\_xh9_warbird::main("vehicle_xh9_warbird",undefined,"script_vehicle_xh9_warbird_heavy_turret_no_cloak_no_zipline_no_treadfx_recovery"); + vehicle_scripts\_xh9_warbird::main("vehicle_xh9_warbird_interior_low",undefined,"script_vehicle_xh9_warbird_low_interior_no_cloak_no_zipline_recovery"); + vehicle_scripts\_xh9_warbird::main("vehicle_xh9_warbird",undefined,"script_vehicle_xh9_warbird_no_cloak_no_zipline_recovery"); +} \ No newline at end of file diff --git a/AW/PC/maps/recovery_utility.gsc b/AW/PC/maps/recovery_utility.gsc new file mode 100644 index 0000000..7000ecf --- /dev/null +++ b/AW/PC/maps/recovery_utility.gsc @@ -0,0 +1,4957 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: recovery_utility.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 265 + * Decompile Time: 3900 ms + * Timestamp: 4/22/2024 2:34:57 AM +*******************************************************************/ + +//Function Number: 1 +play_rumble_funeral_gun_salute() +{ + level.player common_scripts\utility::delaycall(0.8,::playrumbleonentity,"damage_light"); + level.player common_scripts\utility::delaycall(4.9,::playrumbleonentity,"damage_light"); + level.player common_scripts\utility::delaycall(8.5,::playrumbleonentity,"heavy_3s"); +} + +//Function Number: 2 +play_rumble_training_s1_mute_breach() +{ + level.player common_scripts\utility::delaycall(1.8,::playrumbleonentity,"heavy_1s"); + level.player common_scripts\utility::delaycall(2.2,::playrumbleonentity,"heavy_1s"); +} + +//Function Number: 3 +play_rumble_training_s1_reload_malfunction() +{ + level.player common_scripts\utility::delaycall(0.5,::playrumbleonentity,"heavy_3s"); +} + +//Function Number: 4 +play_rumble_training_s1_president_load_fail() +{ + level.player common_scripts\utility::delaycall(2.7,::playrumbleonentity,"heavy_3s"); + level.player common_scripts\utility::delaycall(5.8,::playrumbleonentity,"light_1s"); + level.player common_scripts\utility::delaycall(6.8,::playrumbleonentity,"heavy_1s"); + wait(21); + level.player.rumble_entity = maps\_utility::get_rumble_ent("steady_rumble"); + level.player.rumble_entity.intensity = 0.1; + level.player.rumble_entity common_scripts\utility::delaycall(0.5,::delete); + wait(12); + level.player.rumble_entity = maps\_utility::get_rumble_ent("steady_rumble"); + level.player.rumble_entity.intensity = 0.08; + level.player.rumble_entity common_scripts\utility::delaycall(1.5,::delete); +} + +//Function Number: 5 +play_rumble_elevator() +{ + wait(1.4); + level.player.rumble_entity = maps\_utility::get_rumble_ent("steady_rumble"); + level.player.rumble_entity.intensity = 0.08; + wait(15); + level.player stoprumble("steady_rumble"); + level.player.rumble_entity delete(); +} + +//Function Number: 6 +play_rumble_jeep_ride() +{ + level.player.rumble_entity = maps\_utility::get_rumble_ent("steady_rumble"); + level.player.rumble_entity.intensity = 0.088; + wait(94); + level.player.rumble_entity.intensity = 0.08; + wait(14); + level.player stoprumble("steady_rumble"); + level.player.rumble_entity delete(); + wait(1.3); + level.player playrumbleonentity("heavy_1s"); + wait(0.3); + level.player stoprumble("heavy_1s"); +} + +//Function Number: 7 +play_rumble_training_s2_president_load() +{ + wait(1.5); + level.player playrumbleonentity("heavy_1s"); + wait(0.5); + level.player stoprumble("heavy_1s"); + wait(6.3); + level.player playrumbleonentity("heavy_1s"); + wait(0.2); + level.player stoprumble("heavy_1s"); + wait(0.6); + level.player playrumbleonentity("heavy_1s"); + wait(0.1); + level.player stoprumble("heavy_1s"); + wait(0.1); + level.player playrumbleonentity("heavy_1s"); + wait(0.1); + level.player stoprumble("heavy_1s"); +} + +//Function Number: 8 +play_rumble_walker_tank() +{ + for(var_00 = 1;var_00 < 10;var_00++) + { + level waittill("titan_rumble"); + if(var_00 == 3 || var_00 == 4 || var_00 == 5 || var_00 == 6 || var_00 == 7) + { + level.player playrumbleonentity("heavy_1s"); + wait(0.75); + level.player stoprumble("heavy_1s"); + } + } +} + +//Function Number: 9 +play_rumble_arm_repair() +{ + common_scripts\utility::flag_wait("tour_exo_arm"); + wait(3.6); + level.player playrumbleonentity("steady_rumble"); + wait(0.9); + level.player stoprumble("steady_rumble"); + wait(1.7); + level.player playrumbleonentity("steady_rumble"); + wait(0.9); + level.player stoprumble("steady_rumble"); + wait(3.4); + level.player playrumbleonentity("damage_light"); + wait(0.7); + level.player stoprumble("damage_light"); + common_scripts\utility::flag_wait("arm_repair_attempt_1"); + common_scripts\utility::flag_wait("arm_repair_attempt_2"); + common_scripts\utility::flag_wait("arm_repair_attempt_3"); + common_scripts\utility::flag_waitopen("arm_repair_attempt_3"); + wait(2.2); + level.player playrumbleonentity("damage_light"); + wait(0.5); + level.player stoprumble("damage_light"); +} + +//Function Number: 10 +play_camera_shake_tour_ride() +{ + var_00 = 0.5; + var_01 = 11; + var_02 = 30.3; + var_03 = 7.3; + var_04 = 10.2; + var_05 = 12.5; + var_06 = 11.2; + var_07 = 9.3; + var_08 = 3; + var_09 = 0.5; + var_0A = 1.5; + var_0B = 1.25; + var_0C = 1; + var_0D = 0; + var_0E = 1; + var_0F = 0.8; + var_10 = 0.6; + level.player screenshakeonentity(var_0C,var_0C,var_0C,var_00,0,0,0,var_0E,var_0F,var_10); + wait(var_00); + level.player screenshakeonentity(var_0A,var_0A,var_0A,var_01,0,0,0,var_0E,var_0F,var_10); + wait(var_01); + level.player screenshakeonentity(var_0B,var_0B,var_0B,var_02,0,0,0,var_0E,var_0F,var_10); + wait(var_02); + level.player screenshakeonentity(var_0C,var_0C,var_0C,var_03,0,0,0,var_0E,var_0F,var_10); + wait(var_03); + level.player screenshakeonentity(var_0B,var_0B,var_0B,var_04,0,0,0,var_0E,var_0F,var_10); + wait(var_04); + level.player screenshakeonentity(var_0A,var_0A,var_0A,var_05,0,0,0,var_0E,var_0F,var_10); + wait(var_05); + level.player screenshakeonentity(var_0B,var_0B,var_0B,var_06,0,0,0,var_0E,var_0F,var_10); + wait(var_06); + level.player screenshakeonentity(var_0A,var_0A,var_0A,var_07,0,0,0,var_0E,var_0F,var_10); + wait(var_07); + level.player screenshakeonentity(var_0B,var_0B,var_0B,var_08,0,0,0,var_0E,var_0F,var_10); + wait(var_08); + level.player screenshakeonentity(var_0C,var_0C,var_0C,var_09,0,0,0,var_0E,var_0F,var_10); + wait(var_09); +} + +//Function Number: 11 +mission_out_of_bounds_fail() +{ + common_scripts\utility::flag_wait("training_player_left_encounter"); + if(!common_scripts\utility::flag("flag_player_using_drone")) + { + common_scripts\utility::flag_clear("training_out_of_bounds_warning"); + if(!common_scripts\utility::flag("training_round_2")) + { + if(!common_scripts\utility::flag("training_s1_end_anim_started")) + { + setdvar("ui_deadquote",&"RECOVERY_PRESIDENT_ABANDONED"); + } + else + { + setdvar("ui_deadquote",&"RECOVERY_OBJECTIVE_FAIL_JEEP_BOARD"); + } + } + else if(!common_scripts\utility::flag("training_s2_golf_course_vehicles")) + { + setdvar("ui_deadquote",&"RECOVERY_PRESIDENT_ABANDONED"); + } + else + { + setdvar("ui_deadquote",&"RECOVERY_OBJECTIVE_FAIL_JEEP_BOARD"); + } + + setblur(30,2); + maps\_utility::missionfailedwrapper(); + } +} + +//Function Number: 12 +mission_warn_out_of_bounds_fail() +{ + level endon("training_player_left_encounter"); + for(;;) + { + common_scripts\utility::flag_wait("training_out_of_bounds_warning"); + if(!common_scripts\utility::flag("flag_player_using_drone")) + { + thread maps\_utility::display_hint("warning_prompt"); + } + + common_scripts\utility::flag_waitopen("training_out_of_bounds_warning"); + } +} + +//Function Number: 13 +bloody_death(param_00,param_01) +{ + self endon("death"); + if(!issentient(self) || !isalive(self)) + { + return; + } + + if(isdefined(self.bloody_death) && self.bloody_death) + { + return; + } + + self.bloody_death = 1; + if(isdefined(param_00)) + { + wait(randomfloat(param_00)); + } + + var_02 = []; + var_02[0] = "j_hip_le"; + var_02[1] = "j_hip_ri"; + var_02[2] = "j_head"; + var_02[3] = "j_spine4"; + var_02[4] = "j_elbow_le"; + var_02[5] = "j_elbow_ri"; + var_02[6] = "j_clavicle_le"; + var_02[7] = "j_clavicle_ri"; + var_03 = getdvarint("cg_fov"); + for(var_04 = 0;var_04 < 3 + randomint(5);var_04++) + { + var_05 = randomintrange(0,var_02.size); + thread bloody_death_fx(var_02[var_05],undefined); + wait(randomfloat(0.1)); + if(isdefined(param_01) && isai(param_01) && isalive(param_01)) + { + if(!level.player worldpointinreticle_circle(param_01.origin,var_03,500)) + { + param_01 shootblank(); + } + } + } + + self dodamage(self.health + 50,self.origin); +} + +//Function Number: 14 +bloody_death_fx(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = level._effect["flesh_hit"]; + } + + playfxontag(param_01,self,param_00); +} + +//Function Number: 15 +delete_on_notify(param_00) +{ + if(!isdefined(param_00)) + { + param_00 = "level_cleanup"; + } + + self endon("death"); + level waittill(param_00); + if(common_scripts\utility::flag_exist("_stealth_spotted")) + { + common_scripts\utility::flag_waitopen("_stealth_spotted"); + } + + if(isdefined(self.magic_bullet_shield) && self.magic_bullet_shield) + { + maps\_utility::stop_magic_bullet_shield(); + } + + self delete(); +} + +//Function Number: 16 +enable_jump_jet_pathing() +{ + if(issubstr(self.classname,"jump")) + { + self.canjumppath = 1; + } +} + +//Function Number: 17 +recovery_thermal_manager() +{ + self thermaldrawenable(); +} + +//Function Number: 18 +training_set_up_player() +{ + common_scripts\utility::flag_clear("flag_disable_exo"); + level.player allowcrouch(1); + level.player allowprone(1); + level.player allowjump(1); + level.player giveweapon("iw5_bal27_sp_silencer01_variablereddot"); + level.player giveweapon("iw5_titan45_sp_silencerpistol"); + level.player switchtoweapon("iw5_bal27_sp_silencer01_variablereddot"); + level.player enablehybridsight("iw5_bal27_sp_silencer01_variablereddot",1); + if(level.nextgen) + { + level.player overrideviewmodelmaterial("m/mtl_bal27_base_black","m/mtl_bal27_base_black_logo"); + } + else + { + level.player overrideviewmodelmaterial("mq/mtl_bal27_base_black","mq/mtl_bal27_base_black_logo"); + } + + level.player enableweapons(); + level.player allowfire(1); + level.player allowads(1); + level.player allowmelee(1); + maps\_variable_grenade::give_player_variable_grenade(); + maps\_variable_grenade::set_variable_grenades_with_no_switch("tracking_grenade_var","paint_grenade_var"); +} + +//Function Number: 19 +training_s2_start_set_up_player() +{ + common_scripts\utility::flag_clear("flag_disable_exo"); + common_scripts\utility::flag_set("flag_enable_overdrive"); + level.player allowcrouch(1); + level.player allowprone(1); + level.player allowjump(1); + level.player enableweapons(); + level.player allowfire(1); + level.player allowads(1); + level.player allowmelee(1); + maps\_variable_grenade::give_player_variable_grenade(); +} + +//Function Number: 20 +training_s1_squad_allow_run() +{ + if(isalive(level.ally_squad_member_1)) + { + level.ally_squad_member_1 allowedstances("prone","crouch","stand"); + } + + if(isalive(level.ally_squad_member_2)) + { + level.ally_squad_member_2 allowedstances("prone","crouch","stand"); + } + + if(isalive(level.ally_squad_member_4)) + { + level.ally_squad_member_4 allowedstances("prone","crouch","stand"); + } + + if(isalive(level.joker)) + { + level.joker allowedstances("prone","crouch","stand"); + } + + if(isalive(level.ally_squad_member_3)) + { + level.ally_squad_member_3 allowedstances("prone","crouch","stand"); + } +} + +//Function Number: 21 +training_s1_windy_trees() +{ + var_00 = getentarray("windy_trees","targetname"); + foreach(var_02 in var_00) + { + var_02 thread training_s1_windy_trees_think(); + } +} + +//Function Number: 22 +training_s1_windy_trees_think() +{ + wait(randomfloatrange(1.5,2.85)); + while(common_scripts\utility::flag("training_s1_enable_living_room") == 0) + { + var_00 = self.angles; + var_01 = randomintrange(1,3); + if(var_01 == 2) + { + var_02 = 6; + } + else + { + var_02 = -6; + } + + self rotateto(var_00 + (var_02,0,0),4,3,1); + wait(4); + self rotateto(var_00,4,3,1); + wait(3.85); + } +} + +//Function Number: 23 +player_control_on() +{ + level.player unlink(); + level.player enableweapons(); + level.player allowstand(1); + level.player allowcrouch(1); + level.player allowprone(1); + level.player allowsprint(1); +} + +//Function Number: 24 +training_s1_opening_guy_think(param_00,param_01) +{ + self endon("death"); + var_02 = common_scripts\utility::getstruct(param_00,"targetname"); + self forceteleport(var_02.origin,var_02.angles); + self setgoalpos(self.origin); + self allowedstances("crouch"); + maps\_stealth_utility::stealth_plugin_basic(); + maps\_stealth_utility::stealth_plugin_accuracy(); + maps\_stealth_utility::stealth_plugin_smart_stance(); + maps\_utility::forceuseweapon("iw5_bal27_sp_silencer01_variablereddot","primary"); + maps\_utility::disable_surprise(); + if(!isdefined(level.allies_s1)) + { + level.allies_s1 = []; + } + + level.allies_s1 = common_scripts\utility::array_add(level.allies_s1,self); + common_scripts\utility::flag_wait(param_01); + if(isdefined(self.magic_bullet_shield)) + { + maps\_utility::stop_magic_bullet_shield(); + } + + bloody_death(); +} + +//Function Number: 25 +training_s1_starting_enemies_think(param_00,param_01,param_02) +{ + self endon("death"); + thread attach_flashlight_on_gun(); + thread maps\_utility::set_battlechatter(0); + maps\_utility::disable_long_death(); + thread training_s1_start_stealth_watch(param_00); + thread training_s1_starting_enemies_alerted(param_00); + common_scripts\utility::flag_wait(param_01); + wait(randomfloatrange(0.5,1.5)); + bloody_death(); +} + +//Function Number: 26 +training_s1_start_stealth_watch(param_00) +{ + self endon("death"); + common_scripts\utility::waittill_any_ents(self,"patrol_alerted",self,"_stealth_spotted",self,"stealth_event",self,"_stealth_found_corpse",self,"alerted",self,"enemy"); + wait(2); + thread training_s1_alert(); + common_scripts\utility::flag_set(param_00); +} + +//Function Number: 27 +training_s1_starting_enemies_alerted(param_00) +{ + self endon("death"); + common_scripts\utility::flag_wait(param_00); + self notify("alerted"); + thread maps\_utility::set_battlechatter(1); + maps\_utility::player_seek(); +} + +//Function Number: 28 +training_s1_sniper_enemies_think(param_00,param_01,param_02) +{ + self endon("death"); + self.health = 1; + attach_flashlight_on_gun(); + maps\_utility::set_battlechatter(0); + thread training_s1_start_stealth_watch(param_00); + common_scripts\utility::flag_wait(param_00); + self notify("alerted"); + maps\_utility::set_battlechatter(1); + common_scripts\utility::flag_wait(param_01); + wait(randomfloatrange(0.5,1.5)); + bloody_death(); +} + +//Function Number: 29 +training_s1_starting_enemies_charge(param_00) +{ + self endon("death"); + common_scripts\utility::flag_wait(param_00); + maps\_utility::player_seek(); +} + +//Function Number: 30 +training_s1_surprise_enemy_think() +{ + self endon("death"); + maps\_utility::disable_bulletwhizbyreaction(); + if(!maps\_utility::ent_flag_exist("_stealth_behavior_asleep")) + { + maps\_utility::ent_flag_init("_stealth_behavior_asleep"); + } + + maps\_utility::ent_flag_set("_stealth_behavior_asleep"); + self.ignoreall = 1; + var_00 = self.health; + thread maps\_utility::magic_bullet_shield(); + self.ignorerandombulletdamage = 1; + maps\_utility::disable_long_death(); + thread attach_flashlight_on_gun(); + maps\_utility::set_battlechatter(0); + thread training_s1_surprise_enemy_alert(var_00); + common_scripts\utility::flag_wait("flag_training_s1_surprise_enemy_alert"); + maps\_utility::enable_bulletwhizbyreaction(); + if(isdefined(self.magic_bullet_shield)) + { + thread maps\_utility::stop_magic_bullet_shield(); + self.noragdoll = undefined; + } + + self.ignoreall = 0; + self.health = var_00; + self.ignorerandombulletdamage = 0; + if(maps\_utility::ent_flag_exist("_stealth_behavior_asleep")) + { + maps\_utility::ent_flag_clear("_stealth_behavior_asleep"); + } +} + +//Function Number: 31 +training_s1_surprise_enemy_alert(param_00) +{ + self endon("death"); + common_scripts\utility::flag_wait("training_s1_start_alerted"); + maps\_utility::enable_bulletwhizbyreaction(); + if(isdefined(self.magic_bullet_shield)) + { + thread maps\_utility::stop_magic_bullet_shield(); + self.noragdoll = undefined; + } + + self.ignoreall = 0; + self.health = param_00; + self.ignorerandombulletdamage = 0; + if(maps\_utility::ent_flag_exist("_stealth_behavior_asleep")) + { + maps\_utility::ent_flag_clear("_stealth_behavior_asleep"); + } + + self notify(" alerted"); + maps\_utility::player_seek(); +} + +//Function Number: 32 +training_s1_surprise_enemy_go() +{ + wait(3); + self.health = 1; + if(isdefined(self.magic_bullet_shield)) + { + thread maps\_utility::stop_magic_bullet_shield(); + } + + if(maps\_utility::ent_flag_exist("_stealth_behavior_asleep")) + { + maps\_utility::ent_flag_clear("_stealth_behavior_asleep"); + } +} + +//Function Number: 33 +training_surprise_enemy_move_to_patio(param_00) +{ + self endon("death"); + if(isdefined(param_00)) + { + self.goalradius = 8; + maps\_utility::set_forcegoal(); + maps\_utility::set_goal_node(param_00); + self waittill("goal"); + maps\_utility::unset_forcegoal(); + self.ignoreall = 0; + } +} + +//Function Number: 34 +training_s1_alert_check() +{ + level endon("training_s1_start_alerted"); + level endon("training_s1_clear_initial_spawn"); + common_scripts\utility::flag_wait("flag_training_s1_alert_starting_enemies"); + thread training_s1_alert(); +} + +//Function Number: 35 +training_s1_alert() +{ + common_scripts\utility::flag_set("training_s1_start_alerted"); + common_scripts\utility::flag_set("training_s1_snipers_attack"); + common_scripts\utility::flag_set("flag_vo_training_s1_joker_spotted_us"); + level notify("training_s1_start_enemies_alert"); + thread training_s1_set_squad_active_and_target(); + thread training_s1_squad_allow_run(); + common_scripts\utility::flag_set("flag_obj_rescue1_start_clear"); + maps\_utility::waittill_aigroupcount("training_s1_enemies_start",2); + common_scripts\utility::flag_set("training_s1_clear_initial_spawn"); + maps\_utility::waittill_aigroupcleared("training_s1_enemies_start"); + common_scripts\utility::flag_set("training_s1_start_alerted_enemies_dead"); + common_scripts\utility::flag_set("training_s1_clear_initial_spawn"); + wait(1); + common_scripts\utility::flag_set("training_s1_prepare_breach_room"); + common_scripts\utility::flag_set("flag_obj_rescue1_enter"); + thread training_s1_set_squad_passive_and_ignore(); +} + +//Function Number: 36 +training_s1_monitor_surprise_enemy_death() +{ + self waittill("death"); + wait(2); + if(common_scripts\utility::flag("flag_vo_training_s1_joker_got_him") == 0) + { + common_scripts\utility::flag_set("flag_vo_training_s1_joker_good_kill"); + } +} + +//Function Number: 37 +training_s1_kill_surprise_enemy() +{ + if(isalive(level.surprise_enemy)) + { + level.surprise_enemy.health = 1; + magicbullet(level.joker.weapon,level.joker gettagorigin("tag_flash"),level.surprise_enemy geteye()); + level.surprise_enemy bloody_death(); + common_scripts\utility::flag_set("flag_vo_training_s1_joker_got_him"); + } +} + +//Function Number: 38 +training_s1_show_threat_text() +{ + level endon("threat_grenade_hint_text_off"); + wait(1); + thread training_s1_show_threat_text_ender(); + for(;;) + { + level.player.showhint = 1; + thread maps\_utility::display_hint("threat_breach_prompt"); + common_scripts\utility::flag_waitopen("player_at_threat_breach"); + level.player.showhint = 0; + common_scripts\utility::flag_wait("player_at_threat_breach"); + } +} + +//Function Number: 39 +training_s1_show_threat_text_ender() +{ + common_scripts\utility::flag_wait("threat_grenade_hint_text_off"); + level.player.showhint = 0; +} + +//Function Number: 40 +training_s1_refill_threat_grenades() +{ + while(!common_scripts\utility::flag("threat_grenade_hint_text_off")) + { + if(!common_scripts\utility::flag("player_at_threat_breach")) + { + common_scripts\utility::flag_wait("player_at_threat_breach"); + } + + if(level.player setweaponammostock("paint_grenade_var") == 0) + { + level.player setweaponammostock("paint_grenade_var",1); + } + + wait(0.2); + } +} + +//Function Number: 41 +training_s1_threat_enemies() +{ + wait(1.5); + var_00 = self; + var_01 = 0; + while(var_01 < 4 && var_00.size > 0) + { + foreach(var_03 in var_00) + { + var_04 = randomfloatrange(1.5,2.5); + wait(var_04); + var_01 = var_01 + var_04; + if(!isalive(var_03)) + { + continue; + } + + var_05 = 7; + var_06 = (randomfloat(var_05),randomfloat(var_05),randomfloat(var_05)); + magicbullet(level.joker.weapon,level.joker gettagorigin("tag_flash"),var_03 geteye() + var_06); + var_04 = randomfloatrange(0.2,0.35); + wait(var_04); + var_01 = var_01 + var_04; + var_06 = (randomfloat(var_05),randomfloat(var_05),randomfloat(var_05)); + if(common_scripts\utility::cointoss()) + { + magicbullet(level.joker.weapon,level.joker gettagorigin("tag_flash"),var_03 geteye() + var_06); + } + + if(!isalive(var_03)) + { + continue; + } + } + + var_00 = maps\_utility::array_removedead(var_00); + } + + level.ally_squad_member_3 maps\_utility::stop_magic_bullet_shield(); + level.ally_squad_member_3 bloody_death(); +} + +//Function Number: 42 +training_s1_flash_door() +{ + var_00 = common_scripts\utility::getstruct("training_s1_flashbang_animnode","targetname"); + var_01 = getent("training_s1_flash_door","targetname"); + var_01.animname = "door_prop"; + var_01 maps\_utility::assign_animtree(); + var_02 = getent("living_room_door_clip","targetname"); + var_02 linkto(var_01,"door"); + var_00 thread maps\_anim::anim_first_frame_solo(var_01,"training_s1_flash_door_open"); + common_scripts\utility::flag_wait("training_s1_peak_flash_door"); + var_00 maps\_anim::anim_single_solo(var_01,"training_s1_flash_door_open"); + var_00 thread maps\_anim::anim_loop_solo(var_01,"training_s1_flash_door_open_idle","stop_loop"); + common_scripts\utility::flag_wait("training_s1_open_flash_door"); + var_00 notify("stop_loop"); + var_00 maps\_anim::anim_single_solo(var_01,"training_s1_flash_door_out"); + var_02 connectpaths(); + common_scripts\utility::flag_wait("training_s1_close_living_room_door"); + var_00 maps\_anim::anim_first_frame_solo(var_01,"training_s1_flash_door_open"); + wait(1); + var_02 disconnectpaths(); +} + +//Function Number: 43 +training_s1_flash_enemies_think(param_00,param_01) +{ + self endon("death"); + self.pacifist = 1; + self.ignoreall = 1; + self.ignoreme = 1; + maps\_utility::disable_long_death(); + if(isdefined(self.animation)) + { + self.animname = "generic"; + thread maps\_anim::anim_loop_solo(self,self.animation,"stop_loop"); + maps\_utility::set_allowdeath(1); + thread training_s1_flash_death_check(); + } + + common_scripts\utility::flag_wait(param_00); + maps\_utility::anim_stopanimscripted(); + if(level.flash_attack == 1) + { + maps\_utility::flashbangstart(4); + } + else + { + maps\_stealth_shared_utilities::enemy_reaction_state_alert(); + } + + self.pacifist = 0; + self.ignoreall = 0; + self.ignoreme = 0; + common_scripts\utility::flag_wait(param_01); + bloody_death(1); +} + +//Function Number: 44 +training_s1_flash_death_check() +{ + self waittill("death"); + if(common_scripts\utility::flag("training_s1_open_flash_door") == 0) + { + level.flash_attack = 0; + common_scripts\utility::flag_set("training_s1_flag_flash"); + } +} + +//Function Number: 45 +training_s1_enemies_living_room_think() +{ + self endon("death"); + self.ignoreall = 1; + thread maps\_utility::set_battlechatter(0); + maps\_utility::disable_long_death(); + thread training_s1_threat_death_check(); + if(isdefined(self.animation)) + { + self.animname = "generic"; + maps\_utility::set_allowdeath(1); + thread maps\_anim::anim_loop_solo(self,self.animation,"stop_loop"); + } +} + +//Function Number: 46 +training_s1_threat_death_check() +{ + level endon("threat_thrown"); + self waittill("damage",var_00,var_01,var_02,var_03,var_04); + if(common_scripts\utility::flag("training_s1_flag_thermal") == 0 && var_01 == level.player) + { + level.threat_attack = "nil"; + common_scripts\utility::flag_set("training_s1_flag_thermal"); + } +} + +//Function Number: 47 +training_s1_living_room_check() +{ + maps\_utility::waittill_aigroupcleared("flash_enemies"); + level.living_room_clear = 1; +} + +//Function Number: 48 +training_s1_living_room_timer() +{ + wait(15); + level.living_room_clear = 1; +} + +//Function Number: 49 +training_s1_threat_door() +{ + var_00 = common_scripts\utility::getstruct("training_s1_flashbang_animnode","targetname"); + var_01 = getent("training_s1_flash_door","targetname"); + var_01.animname = "door_prop"; + var_01 maps\_utility::assign_animtree(); + var_02 = getent("living_room_door_clip","targetname"); + var_00 thread maps\_anim::anim_first_frame_solo(var_01,"training_s1_threat_door_open"); + var_02 linkto(var_01,"door"); + common_scripts\utility::flag_wait("training_s1_peak_thermal_door"); + var_00 maps\_anim::anim_single_solo(var_01,"training_s1_threat_door_open"); + var_00 thread maps\_anim::anim_loop_solo(var_01,"training_s1_threat_door_open_idle","stop_loop"); + common_scripts\utility::flag_wait("training_s1_open_thermal_door"); + if(level.threat_attack == "smart") + { + wait(3); + } + + var_00 notify("stop_loop"); + var_00 maps\_anim::anim_single_solo(var_01,"training_s1_threat_door_out"); + var_02 connectpaths(); + common_scripts\utility::flag_wait("training_s1_breach_done"); + var_00 maps\_anim::anim_first_frame_solo(var_01,"training_s1_threat_door_open"); + wait(1); + var_02 disconnectpaths(); +} + +//Function Number: 50 +training_s1_shoot_monitor() +{ + level endon("flag_obj_rescue1_breach"); + level.threat_attack = "nil"; + for(;;) + { + level.player waittill("weapon_fired",var_00); + if(common_scripts\utility::flag("player_at_threat_breach")) + { + level.threat_attack = var_00; + common_scripts\utility::flag_set("threat_grenade_hint_text_off"); + common_scripts\utility::flag_set("threat_breach_kickoff_gunfire"); + break; + } + } +} + +//Function Number: 51 +training_s1_flash_monitor() +{ + level.threat_attack = "nil"; + for(;;) + { + level.player waittill("grenade_fire",var_00,var_01); + if(common_scripts\utility::flag("player_at_threat_breach")) + { + break; + } + } + + if(var_01 == "paint_grenade_var") + { + level notify("threat_thrown"); + } + + level notify("training_s1_joker_threat_grenade_nag_off"); + common_scripts\utility::flag_set("threat_grenade_hint_text_off"); + var_00 waittill("death"); + if(var_01 == "paint_grenade_var") + { + level.threat_attack = "threat"; + } + else if(var_01 == "tracking_grenade_var") + { + level.threat_attack = "smart"; + } + else + { + level.threat_attack = "other"; + } + + common_scripts\utility::flag_set("training_s1_flag_thermal"); +} + +//Function Number: 52 +training_s1_kill_threat_enemies() +{ + self endon("death"); + wait(5); + if(isalive(self)) + { + magicbullet(level.gideon.weapon,level.gideon gettagorigin("tag_flash"),self geteye()); + bloody_death(); + } +} + +//Function Number: 53 +training_surprise_enemy_think() +{ + if(!isalive(self)) + { + return; + } + + self endon("death"); + thread maps\_stealth_shared_utilities::enemy_reaction_state_alert(); + thread maps\_utility::set_battlechatter(1); + self.ignoreall = 0; + self.health = 1; + var_00 = getent("training_s1_surprise_enemy_cover_node","targetname"); + if(isdefined(var_00)) + { + self.goalradius = 32; + maps\_utility::set_forcegoal(); + maps\_utility::set_goal_node(var_00); + self waittill("goal"); + maps\_utility::unset_forcegoal(); + } +} + +//Function Number: 54 +training_s2_open_bedroom_door_2() +{ + var_00 = getent("bedroom_2_door","targetname"); + getent(var_00.target,"targetname") linkto(var_00); + var_00.angles = var_00.angles + (0,85,0); + var_00 connectpaths(); +} + +//Function Number: 55 +training_s1_president_setup(param_00) +{ + self endon("death"); + maps\_utility::magic_bullet_shield(); + self.animname = "president"; + self.pacifist = 1; + self.ignoreme = 1; + self.ignoreall = 1; + maps\_utility::set_battlechatter(0); + self.team = "allies"; + level maps\_utility::clear_color_order("y","allies"); + maps\_utility::set_force_color("y"); + common_scripts\utility::flag_wait(param_00); + if(isdefined(self.magic_bullet_shield)) + { + maps\_utility::stop_magic_bullet_shield(); + } + + self delete(); +} + +//Function Number: 56 +training_s1_set_up_search_drones(param_00,param_01) +{ + self endon("death"); + thread maps\_shg_utility::make_emp_vulnerable(); + self.ignoreall = 1; + self.ignoreme = 1; + thread training_s1_search_drones_damage_check(param_00); + thread training_s1_search_drones_death_check(); + thread training_s1_search_drones_cleanup(param_01); + if(isdefined(self.animation)) + { + thread training_s1_search_drones_play_ainm(); + thread maps\recovery_fx::drone_search_light_fx(); + } + else + { + self laseron(); + } + + common_scripts\utility::flag_wait(param_00); + self.ignoreall = 0; + self.ignoreme = 0; + if(isdefined(self.animation)) + { + self stopanimscripted(); + } + + thread vehicle_scripts\_pdrone::stop_scripted_move_and_attack(); +} + +//Function Number: 57 +training_s1_search_drones_play_ainm() +{ + wait(2); + self.animname = "pdrone"; + self.allowdeath = 1; + var_00 = getent("training_s1_drone_attack_scene","targetname"); + var_00 maps\_anim::anim_first_frame_solo(self,self.animation); + var_00 maps\_anim::anim_single_solo(self,self.animation); + if(isalive(self)) + { + self delete(); + } +} + +//Function Number: 58 +training_s1_search_drones_damage_check(param_00) +{ + self endon("death"); + self endon("training_s1_search_drones_done"); + self waittill("damage"); + if(!common_scripts\utility::flag("training_s1_search_drones_done")) + { + common_scripts\utility::flag_set(param_00); + } +} + +//Function Number: 59 +training_s1_search_drones_death_check() +{ + self waittill("death"); + level.search_drones_count = level.search_drones_count + 1; +} + +//Function Number: 60 +training_s1_search_drones_cleanup(param_00) +{ + self endon("death"); +} + +//Function Number: 61 +training_s1_drone_ambush_scene() +{ + wait(1); + var_00 = common_scripts\utility::getstruct("attacklocation1","targetname"); + var_01 = level.ally_squad_member_1; + var_01 maps\_utility::enable_long_death(); + var_01 maps\_utility::stop_magic_bullet_shield(); + magicbullet("iw5_bal27_sp",var_00.origin,var_01.origin); + magicbullet("iw5_bal27_sp",var_00.origin,var_01.origin); + wait(0.5); + magicbullet("iw5_bal27_sp",var_00.origin,var_01.origin); + wait(0.25); + magicbullet("iw5_bal27_sp",var_00.origin,var_01.origin); + if(isalive(var_01)) + { + var_01 kill(); + } + + wait(5); + var_02 = common_scripts\utility::getstruct("attacklocation2","targetname"); + var_03 = level.ally_squad_member_4; + var_03 maps\_utility::enable_long_death(); + var_03 maps\_utility::stop_magic_bullet_shield(); + magicbullet("iw5_bal27_sp",var_02.origin,var_03.origin); + magicbullet("iw5_bal27_sp",var_02.origin,var_03.origin); + wait(0.15); + magicbullet("iw5_bal27_sp",var_02.origin,var_03.origin); + magicbullet("iw5_bal27_sp",var_02.origin,var_03.origin); + wait(0.25); + magicbullet("iw5_bal27_sp",var_02.origin,var_03.origin); + magicbullet("iw5_bal27_sp",var_02.origin,var_03.origin); + if(isalive(var_03)) + { + var_03 kill(); + } +} + +//Function Number: 62 +training_s1_terrace_enemies_think(param_00) +{ + self endon("death"); + common_scripts\utility::flag_wait(param_00); + bloody_death(1); +} + +//Function Number: 63 +training_s1_patio_enemies_think(param_00,param_01) +{ + self endon("death"); + thread maps\_utility::disable_long_death(); + var_02 = self.health; + self.health = 1; + thread maps\_utility::set_battlechatter(0); + if(randomint(10) < 5) + { + thread attach_flashlight_on_gun(); + } + + thread training_s1_patio_enemies_alert(param_00,var_02); + thread training_s1_patio_enemies_alert_check(param_00); + common_scripts\utility::flag_wait(param_01); + bloody_death(); +} + +//Function Number: 64 +training_s1_patio_enemies_alert(param_00,param_01) +{ + self endon("death"); + common_scripts\utility::flag_wait(param_00); + self.health = param_01; + thread maps\_utility::set_battlechatter(1); + self notify("alerted"); +} + +//Function Number: 65 +training_s1_patio_enemies_alert_check(param_00) +{ + self endon("death"); + common_scripts\utility::waittill_any_ents(self,"patrol_alerted",self,"_stealth_spotted",self,"stealth_event",self,"_stealth_found_corpse",self,"alerted",self,"enemy"); + wait(3); + common_scripts\utility::flag_set(param_00); + training_s1_set_squad_active_and_target(); +} + +//Function Number: 66 +training_s1_allies_advance() +{ + level endon("training_s1_hide"); + thread training_s1_check_snipers(); + thread training_s1_patio_joker_loc_check(); + while(common_scripts\utility::flag("training_s1_spawn_patio_wave1_dead") == 0 && common_scripts\utility::flag("training_s1_spawn_patio_enemies_wave2") == 0) + { + wait 0.05; + } + + if(common_scripts\utility::flag("training_s1_patio_alerted") == 1 && common_scripts\utility::flag("training_s1_spawn_patio_wave1_dead") == 0) + { + maps\_utility::activate_trigger("training_s1_color_trigger_patio_lower1","targetname"); + level.joker maps\_utility::cqb_walk("off"); + } + + while(common_scripts\utility::flag("training_s1_spawn_patio_wave1_dead") == 0 && common_scripts\utility::flag("training_s1_spawn_patio_enemies_wave3") == 0) + { + wait 0.05; + } + + if(common_scripts\utility::flag("training_s1_patio_alerted") == 1 && common_scripts\utility::flag("training_s1_spawn_patio_wave1_dead") == 0) + { + maps\_utility::activate_trigger("training_s1_color_trigger_patio_lower","targetname"); + level.joker maps\_utility::cqb_walk("off"); + } +} + +//Function Number: 67 +training_s1_patio_joker_loc_check() +{ + level endon("training_s1_hide"); + common_scripts\utility::flag_wait("training_s1_patio_alerted"); + if(common_scripts\utility::flag("training_s1_spawn_patio_enemies_wave2")) + { + maps\_utility::activate_trigger("training_s1_color_trigger_patio_lower1","targetname"); + level.joker maps\_utility::cqb_walk("off"); + } + + if(common_scripts\utility::flag("training_s1_spawn_patio_enemies_wave3")) + { + maps\_utility::activate_trigger("training_s1_color_trigger_patio_lower","targetname"); + level.joker maps\_utility::cqb_walk("off"); + } +} + +//Function Number: 68 +training_s1_check_snipers() +{ + maps\_utility::waittill_aigroupcleared("patio_ambush1"); + common_scripts\utility::flag_set("training_s1_spawn_patio_wave1_dead"); +} + +//Function Number: 69 +training_s1_pool_house_doors() +{ + var_00 = getent("pool_house_door01","targetname"); + getent(var_00.target,"targetname") linkto(var_00); + var_01 = getent("pool_house_door02","targetname"); + getent(var_01.target,"targetname") linkto(var_01); + var_00 rotateto(var_00.angles + (0,90,0),1,0,1); + var_01 rotateto(var_01.angles + (0,-90,0),1,0,1); + var_00 connectpaths(); + var_01 connectpaths(); + wait(3); + var_00 rotateto(var_00.angles + (0,-90,0),1,0,1); + var_01 rotateto(var_01.angles + (0,90,0),1,0,1); + var_00 disconnectpaths(); + var_01 disconnectpaths(); +} + +//Function Number: 70 +training_s1_terrace_vehicles_think(param_00,param_01,param_02) +{ + self endon("death"); + thread training_s1_terrace_vehicles_cleanup(param_00); + thread training_s1_golf_course_encounter(param_01); + foreach(var_04 in self.riders) + { + var_04 thread attach_flashlight_on_vehicle_unload(); + var_04 thread maps\_utility::set_battlechatter(0); + var_04 thread training_s1_terrace_vehicles_riders_think(param_01); + var_04 thread training_s1_terrace_vehicles_riders_cleanup(param_00,param_01); + var_04 thread training_s1_golf_course_alert(param_01); + } + + common_scripts\utility::flag_wait(param_01); + var_06 = getent("golf_course_watch_out","targetname"); + badplace_brush("watch_out",-1,var_06,"axis"); + var_07 = getentarray("training_s1_vehicle_attack_node","script_noteworthy"); + foreach(var_09 in var_07) + { + var_0A = 2; + if(isdefined(var_09.speed)) + { + var_09.speed = var_09.speed * var_0A; + } + } + + common_scripts\utility::flag_wait(param_02); + badplace_delete("watch_out"); + soundscripts\_snd::snd_message("rec_train1_stealth_car_stop",self); + maps\_vehicle::vehicle_stop_named("stop_to_kill_player",15,10); + maps\_vehicle::vehicle_unload("all_but_gunner"); +} + +//Function Number: 71 +training_s1_golf_course_encounter(param_00) +{ + while(common_scripts\utility::flag("training_s1_hide_from_patrols_done") == 0) + { + common_scripts\utility::flag_wait(param_00); + maps\_utility::waittill_aigroupcleared("golf_course_ambush1"); + common_scripts\utility::flag_set("training_s1_hide_from_patrols_done"); + } +} + +//Function Number: 72 +training_s1_golf_course_encounter_track_deaths() +{ + maps\_utility::waittill_aigroupcleared("golf_course_ambush1"); + common_scripts\utility::flag_set("training_s1_hide_from_patrols_done"); +} + +//Function Number: 73 +training_s1_terrace_vehicles_riders_cleanup(param_00,param_01) +{ + self endon("death"); + common_scripts\utility::flag_wait("training_s1_golf_course_vehicles"); + if(!common_scripts\utility::flag(param_01)) + { + self delete(); + return; + } + + common_scripts\utility::flag_wait(param_00); + self delete(); +} + +//Function Number: 74 +training_s1_terrace_vehicles_riders_think(param_00) +{ + self endon("death"); + self.pacifist = 1; + self.ignoreall = 1; + self.ignoreme = 1; + maps\_utility::disable_long_death(); + common_scripts\utility::flag_wait(param_00); + self.pacifist = 0; + self.ignoreall = 0; + thread maps\_utility::set_battlechatter(1); + self.ignoreme = 0; +} + +//Function Number: 75 +training_s1_terrace_vehicles_cleanup(param_00) +{ + self endon("death"); + common_scripts\utility::flag_wait(param_00); + foreach(var_02 in self.riders) + { + var_02 delete(); + } + + self delete(); +} + +//Function Number: 76 +training_s1_golf_course_alert(param_00) +{ + var_01 = common_scripts\utility::waittill_any_return("patrol_alerted","_stealth_spotted","stealth_event","alerted","enemy","damage","death"); + wait(2); + if(isalive(self)) + { + self notify("alerted"); + thread maps\_utility::clear_run_anim(); + thread maps\_utility::player_seek_enable(); + } + + if(!common_scripts\utility::flag(param_00)) + { + common_scripts\utility::flag_set(param_00); + } +} + +//Function Number: 77 +training_s1_runner_enemy_think(param_00,param_01) +{ + self endon("death"); + maps\_utility::disable_long_death(); + attach_flashlight_on_gun(); + thread training_s1_golf_course_alert(param_01); + var_02 = []; + var_02["saw"] = ::training_s1_runner_enemy_found_corpse; + var_02["found"] = ::training_s1_runner_enemy_found_corpse; + maps\_stealth_utility::stealth_corpse_behavior_custom(var_02); + force_patrol_anim_set("patroljog",0); + maps\_utility::set_moveplaybackrate(1.1); + training_s1_runner_enemy_think_cleanup(param_01); + common_scripts\utility::flag_wait(param_00); + bloody_death(); +} + +//Function Number: 78 +training_s1_runner_enemy_think_cleanup(param_00) +{ + self endon("death"); + common_scripts\utility::flag_wait("training_s1_golf_course_vehicles"); + if(!common_scripts\utility::flag(param_00)) + { + self delete(); + } +} + +//Function Number: 79 +training_s1_runner_enemy_found_corpse() +{ + clearallcorpses(); +} + +//Function Number: 80 +force_patrol_anim_set(param_00,param_01,param_02) +{ + maps\_patrol_extended::force_patrol_anim_set(param_00,param_01,0,param_02); +} + +//Function Number: 81 +training_prone_hint_text() +{ + wait(1); + level.player.showhint = 1; + if(level.player common_scripts\utility::is_player_gamepad_enabled()) + { + thread maps\_utility::display_hint("prone_prompt"); + } + else + { + thread maps\_utility::display_hint("pc_prone_prompt"); + } + + thread training_prone_hint_monitor(); + var_00 = 8; + level common_scripts\utility::waittill_notify_or_timeout("player_prone",var_00); + level.player.showhint = 0; +} + +//Function Number: 82 +training_prone_hint_monitor() +{ + level endon("training_s1_hide_from_patrols_done"); + while(level.player getstance() != "prone" && common_scripts\utility::flag("training_s1_spotted") == 0) + { + wait(0.5); + } + + level notify("player_prone"); +} + +//Function Number: 83 +training_s1_escape_vehicle_think(param_00,param_01) +{ + self endon("death"); + foreach(var_03 in self.riders) + { + var_03 thread training_s1_escape_vehicle_driver(param_00); + } + + common_scripts\utility::flag_wait(param_01); + maps\_utility::stop_magic_bullet_shield(); + self delete(); +} + +//Function Number: 84 +training_s1_escape_vehicle_driver(param_00) +{ + self endon("death"); + self.health = 1; + common_scripts\utility::flag_wait(param_00); + bloody_death(); +} + +//Function Number: 85 +training_s1_ambush_vehicles_think(param_00,param_01) +{ + self endon("death"); + foreach(var_03 in self.riders) + { + var_03 thread training_s1_unload1_think(param_00,param_01); + } + + self waittill("reached_end_node"); + maps\_vehicle::vehicle_unload(); + common_scripts\utility::flag_wait(param_00); + self.pacifist = 1; + foreach(var_03 in self.riders) + { + var_03.ignoreall = 1; + var_03.pacifist = 1; + } + + common_scripts\utility::flag_wait(param_01); + self delete(); +} + +//Function Number: 86 +training_s1_unload1_think(param_00,param_01) +{ + self endon("death"); + if(isdefined(self.vehicle_position)) + { + thread attach_flashlight_on_vehicle_unload(); + } + + common_scripts\utility::flag_wait(param_00); + self.pacifist = 1; + self.ignoreall = 1; + common_scripts\utility::flag_wait(param_01); + bloody_death(); +} + +//Function Number: 87 +training_s1_kva_ambush1_think(param_00,param_01) +{ + self endon("death"); + thread maps\_utility::disable_long_death(); + thread attach_flashlight_on_gun(); + common_scripts\utility::flag_wait(param_00); + self.pacifist = 1; + self.ignoreall = 1; + self.ignoreme = 1; + maps\_utility::set_battlechatter(0); + common_scripts\utility::flag_wait(param_01); + bloody_death(); +} + +//Function Number: 88 +training_s1_kva_ambush2_think(param_00,param_01) +{ + self endon("death"); + thread maps\_utility::disable_long_death(); + thread attach_flashlight_on_gun(); + self.ignoreall = 1; + maps\_utility::set_goal_radius(40); + self waittill("goal"); + if(isdefined(self) && isalive(self)) + { + self.ignoreall = 0; + } + + common_scripts\utility::flag_wait(param_00); + self.pacifist = 1; + self.ignoreall = 1; + self.ignoreme = 1; + maps\_utility::set_battlechatter(0); + common_scripts\utility::flag_wait(param_01); + bloody_death(); +} + +//Function Number: 89 +training_s1_guard_house_doors() +{ + var_00 = getent("guard_door_01","targetname"); + getent(var_00.target,"targetname") linkto(var_00); + var_01 = getent("guard_door_02","targetname"); + getent(var_01.target,"targetname") linkto(var_01); + wait(randomint(10)); + var_00 rotateto(var_00.angles + (0,-90,0),1,0,1); + wait(randomint(5)); + var_01 rotateto(var_01.angles + (0,90,0),1,0,1); + var_00 connectpaths(); + var_01 connectpaths(); + wait(30); + var_00 rotateto(var_00.angles + (0,90,0),1,0,1); + wait(randomint(5)); + var_01 rotateto(var_01.angles + (0,-90,0),1,0,1); + var_00 disconnectpaths(); + var_01 disconnectpaths(); +} + +//Function Number: 90 +training_door_cover_cloak_think() +{ + var_00 = self getmodelfromentity(); + self setmodel(var_00 + "_cloak"); + self drawpostresolve(); + self setmaterialscriptparam(1,0); + wait(1); + self setmaterialscriptparam(0,1.5); + wait(1.5); + common_scripts\utility::hide_notsolid(); + common_scripts\utility::flag_wait("training_round_2"); + self setmodel(var_00); + common_scripts\utility::show_solid(); +} + +//Function Number: 91 +gideon_change_outfit() +{ + if(level.gideon.model == "kva_body_assault") + { + if(isdefined(level.gideon.magic_bullet_shield)) + { + level.gideon maps\_utility::stop_magic_bullet_shield(); + } + + level.gideon delete(); + maps\_utility::clear_color_order("b","allies"); + level.gideon = getent("gideon","targetname") maps\_utility::spawn_ai(1); + level.gideon.script_pushable = 0; + var_00 = common_scripts\utility::getstruct("gideon_exo_exit","targetname"); + level.gideon forceteleport(var_00.origin,var_00.angles); + level.gideon maps\_utility::gun_remove(); + } +} + +//Function Number: 92 +gideon_change_mask(param_00) +{ + wait(5.5); + level.gideon detach("head_hero_gideon_mask"); + level.gideon attach("head_hero_gideon_mask_down"); +} + +//Function Number: 93 +stack_make() +{ + var_00 = spawnstruct(); + var_00.contents = []; + var_00.top = -1; + var_00.isstack = 1; + return var_00; +} + +//Function Number: 94 +stack_push(param_00) +{ + var_01 = self; + var_01.top++; + var_01.contents[var_01.top] = param_00; +} + +//Function Number: 95 +stack_pop() +{ + var_00 = self; + if(var_00.top < 0) + { + return undefined; + } + + var_01 = var_00.contents[var_00.top]; + var_00.top--; + return var_01; +} + +//Function Number: 96 +stack_peek() +{ + var_00 = self; + return var_00.contents[var_00.top]; +} + +//Function Number: 97 +aim_assist_using_bmodels_init() +{ + if(isdefined(level.aim_assist_with_bmodels)) + { + return; + } + + level.aim_assist_with_bmodels = spawnstruct(); + level.aim_assist_with_bmodels.entities = getentarray("script_brushmodel_for_aim_assist","targetname"); + level.aim_assist_with_bmodels.entitiesinuse = []; + var_00 = stack_make(); + level.aim_assist_with_bmodels.stack = var_00; + foreach(var_02 in level.aim_assist_with_bmodels.entities) + { + var_02.maxhealth = 1000; + var_02 setnormalhealth(var_02.maxhealth); + var_02 hide(); + var_00 stack_push(var_02); + } +} + +//Function Number: 98 +is_aim_assist_enabled_on_script_model(param_00) +{ + return isdefined(param_00.aim_assist_bmodel); +} + +//Function Number: 99 +enable_aim_assist_on_script_model(param_00,param_01) +{ + var_02 = level.aim_assist_with_bmodels.stack; + var_03 = var_02 stack_pop(); + var_03.health = var_03.maxhealth; + var_03 enableaimassist(); + var_03 linkto(param_00,param_01,(4,0,0),(0,0,0)); + param_00.aim_assist_bmodel = var_03; + level.aim_assist_with_bmodels.entitiesinuse = common_scripts\utility::array_add(level.aim_assist_with_bmodels.entitiesinuse,var_03); +} + +//Function Number: 100 +disable_aim_assist_on_script_model(param_00) +{ + var_01 = param_00.aim_assist_bmodel; + var_01 unlink(); + var_02 = level.aim_assist_with_bmodels.stack; + var_01 disableaimassist(); + var_02 stack_push(var_01); + param_00.aim_assist_bmodel = undefined; + level.aim_assist_with_bmodels.entitiesinuse = common_scripts\utility::array_remove(level.aim_assist_with_bmodels.entitiesinuse,var_01); +} + +//Function Number: 101 +score_manager_print_final_score(param_00) +{ + var_01 = level.score_keeper.count; + var_02 = level.score_keeper.max; + if(param_00 == "holo_range") + { + if(var_01 > 2375) + { + common_scripts\utility::flag_set("flag_vo_shooting_range_result_ilona"); + } + + if(var_01 < 600) + { + common_scripts\utility::flag_set("flag_vo_shooting_range_result_bad"); + } + + if(var_01 >= 600 && var_01 < 1200) + { + common_scripts\utility::flag_set("flag_vo_shooting_range_result_average"); + } + + if(var_01 >= 1200 && var_01 < 2000) + { + common_scripts\utility::flag_set("flag_vo_shooting_range_result_good"); + } + + if(var_01 >= 2000 && var_01 < 3000) + { + common_scripts\utility::flag_set("flag_vo_shooting_range_result_excellent"); + } + + if(var_01 >= 3000) + { + common_scripts\utility::flag_set("flag_vo_shooting_range_result_perfect"); + } + + if(var_01 >= 2000) + { + maps\_utility::giveachievement_wrapper("LEVEL_2A"); + return; + } + + return; + } + + if(param_00 == "grenade_range") + { + switch(var_01) + { + case 0: + iprintlnbold("TRY AGAIN"); + break; + + case 1: + iprintlnbold("AWFUL"); + break; + + case 2: + iprintlnbold("TERRIBLE"); + break; + + case 3: + iprintlnbold("TERRIBLE"); + break; + + case 4: + iprintlnbold("POOR"); + break; + + case 5: + iprintlnbold("POOR"); + break; + + case 6: + iprintlnbold("AVERAGE"); + break; + + case 7: + iprintlnbold("AVERAGE"); + break; + + case 8: + iprintlnbold("DECENT"); + break; + + case 9: + iprintlnbold("DECENT"); + break; + + case 10: + iprintlnbold("GOOD"); + break; + + case 11: + iprintlnbold("GOOD"); + break; + + case 12: + iprintlnbold("GREAT"); + break; + + case 13: + iprintlnbold("GREAT"); + break; + + case 14: + iprintlnbold("AWESOME"); + break; + + case 15: + iprintlnbold("AWESOME"); + break; + + case 16: + iprintlnbold("PERFECT"); + break; + } + + return; + } + + if(param_00 == "drone_range") + { + return; + } +} + +//Function Number: 102 +score_manager_print_current_score() +{ +} + +//Function Number: 103 +score_manager_detect_timeout(param_00) +{ + level.score_keeper endon("score_manager_timed_out"); + wait(param_00); + level.score_keeper notify("score_manager_timed_out"); +} + +//Function Number: 104 +score_manager_increase_score(param_00,param_01) +{ + if(isdefined(param_00) && isdefined(param_00.team) && param_00.team == level.player.team) + { + common_scripts\utility::flag_set("flag_vo_shooting_range_friendly"); + level.score_keeper.count = level.score_keeper.count - param_01; + if(param_01 == 25) + { + playfx(level._effect["recovery_scoring_minus25"],param_00.origin + (0,0,80)); + } + + if(param_01 == 50) + { + playfx(level._effect["recovery_scoring_minus50"],param_00.origin + (0,0,80)); + } + + if(param_01 == 75) + { + playfx(level._effect["recovery_scoring_minus75"],param_00.origin + (0,0,80)); + } + + if(param_01 == 100) + { + playfx(level._effect["recovery_scoring_minus100"],param_00.origin + (0,0,80)); + } + } + else + { + level.score_keeper.count = level.score_keeper.count + param_01; + if(param_01 == 25) + { + playfx(level._effect["recovery_scoring_add25"],param_00.origin + (0,0,80)); + } + + if(param_01 == 50) + { + playfx(level._effect["recovery_scoring_add50"],param_00.origin + (0,0,80)); + } + + if(param_01 == 75) + { + playfx(level._effect["recovery_scoring_add75"],param_00.origin + (0,0,80)); + } + + if(param_01 == 100) + { + playfx(level._effect["recovery_scoring_add100"],param_00.origin + (0,0,80)); + } + } + + level.score_keeper notify("score_manager_score_increased"); + score_manager_print_current_score(); +} + +//Function Number: 105 +score_manager_waittill_timeout_or_maxscore(param_00,param_01) +{ + level.score_keeper endon("score_manager_timed_out"); + level.score_keeper thread score_manager_detect_timeout(param_00); + if(!isdefined(param_01)) + { + param_01 = level.score_keeper.max - level.score_keeper.count; + } + + while(param_01 > 0) + { + level.score_keeper waittill("score_manager_score_increased"); + param_01--; + } + + level.score_keeper notify("score_manager_timed_out"); +} + +//Function Number: 106 +score_manager_force_stop() +{ + level.score_keeper notify("score_manager_timed_out"); +} + +//Function Number: 107 +score_manager_init(param_00) +{ + if(!isdefined(level.score_keeper)) + { + level.score_keeper = spawnstruct(); + } + + level.score_keeper.count = 0; + level.score_keeper.max = param_00; + level.score_keeper notify("score_manager_timed_out"); +} + +//Function Number: 108 +score_manager_detect_enemy_death() +{ + level.score_keeper endon("score_manager_timed_out"); + self endon("score_manager_detect_enemy_death_stop"); + common_scripts\utility::waittill_either("death","pain_death"); + score_manager_increase_score(self); +} + +//Function Number: 109 +score_manager_detect_damage(param_00,param_01) +{ + level.score_keeper endon("score_manager_timed_out"); + var_02 = level.score_keeper.stats; + self setcandamage(1); + var_03 = undefined; + var_04 = undefined; + while(!isdefined(var_03) || var_03 == "MOD_CRUSH") + { + self waittill("damage",var_05,var_06,var_07,var_08,var_03,var_09,var_0A,var_04,var_0B); + } + + if(isdefined(param_00) && param_00 == 1) + { + var_0C = self gettagorigin("tag_head"); + var_0D = self gettagorigin("tag_chest"); + var_0E = self gettagorigin("tag_arms"); + var_0F = self gettagorigin("tag_legs"); + level.score_keeper notify("score_change"); + playfx(level._effect["expround_asphalt_1"],self.origin); + if(isdefined(param_01) && param_01) + { + playfx(level._effect["recovery_scoring_target_shutter_enemy"],var_0D); + var_02.enemy_kills++; + if(var_04 == "tag_head") + { + score_manager_increase_score(self,100); + var_02.enemy_headshots++; + } + else if(var_04 == "tag_chest") + { + score_manager_increase_score(self,75); + var_02.enemy_chestshots++; + } + else if(var_04 == "tag_arms") + { + score_manager_increase_score(self,50); + var_02.enemy_armshots++; + } + else if(var_04 == "tag_legs") + { + score_manager_increase_score(self,50); + var_02.enemy_legshots++; + } + + soundscripts\_snd::snd_message("shooting_range_enemy_shot",self,var_04); + } + else + { + playfx(level._effect["recovery_scoring_target_shutter_friendly"],var_0D); + var_02.civ_kills++; + if(var_04 == "tag_head") + { + score_manager_increase_score(self,100); + var_02.civ_headshots++; + } + else if(var_04 == "tag_chest") + { + score_manager_increase_score(self,75); + var_02.civ_chestshots++; + } + else if(var_04 == "tag_arms") + { + score_manager_increase_score(self,50); + var_02.civ_armshots++; + } + else if(var_04 == "tag_legs") + { + score_manager_increase_score(self,50); + var_02.civ_legshots++; + } + + soundscripts\_snd::snd_message("shooting_range_friendly_shot",self,var_04); + } + } + else + { + score_manager_increase_score(self,1); + playfx(level._effect["frag_grenade_default"],self.origin); + soundscripts\_snd_playsound::snd_play_linked("wpn_grenade_exp"); + } + + self notify("target_hit"); +} + +//Function Number: 110 +wait_for_primary_weapon_pickup() +{ + level endon("shooting_range_started_once"); + level.player waittill("weapon_switch_started"); + for(;;) + { + var_00 = level.player getcurrentweapon(); + if(var_00 != "none") + { + break; + } + + wait 0.05; + } + + common_scripts\utility::flag_set("flag_obj_equip_firing_range"); + common_scripts\utility::flag_set("flag_vo_shooting_range_02"); +} + +//Function Number: 111 +attach_flashlight_on_gun() +{ + hand_flashlight_remove(); + if(!isdefined(self.gun_flashlight) || !self.gun_flashlight) + { + playfxontag(level._effect["flashlight"],self,"tag_flash"); + self.gun_flashlight = 1; + self notify("flashlight_on_gun"); + } +} + +//Function Number: 112 +gun_flashlight_off() +{ + if(isdefined(self.gun_flashlight) && self.gun_flashlight) + { + stopfxontag(level._effect["flashlight"],self,"tag_flash"); + self.gun_flashlight = 0; + } +} + +//Function Number: 113 +attach_flashlight_in_hand() +{ + if(isdefined(self.hand_flashlight)) + { + return; + } + + gun_flashlight_off(); + var_00 = "TAG_INHAND"; + self.hand_flashlight = spawn("script_model",self.origin); + var_01 = self.hand_flashlight; + var_01.owner = self; + var_01.origin = self gettagorigin(var_00); + var_01.angles = self gettagangles(var_00); + var_01 setmodel("com_flashlight_on"); + var_01 linkto(self,var_00); + var_01 thread hand_flashlight_watch_for_drop(); + thread hand_flashlight_handle_alert(); + thread hand_flashlight_handle_node_pause(); + thread hand_flashlight_handle_effects(); + hand_flashlight_on(); +} + +//Function Number: 114 +hand_flashlight_watch_for_drop() +{ + self endon("death"); + for(;;) + { + if(!isdefined(self.owner) || self.owner.health <= 0) + { + stopfxontag(common_scripts\utility::getfx("flashlight"),self,"tag_light"); + return; + } + + wait(0.2); + } +} + +//Function Number: 115 +hand_flashlight_on() +{ + self.hand_flashlight setmodel("com_flashlight_on"); + playfxontag(common_scripts\utility::getfx("flashlight"),self.hand_flashlight,"tag_light"); +} + +//Function Number: 116 +hand_flashlight_off() +{ + self.hand_flashlight setmodel("com_flashlight_off"); + stopfxontag(common_scripts\utility::getfx("flashlight"),self.hand_flashlight,"tag_light"); +} + +//Function Number: 117 +hand_flashlight_remove() +{ + if(isdefined(self.hand_flashlight)) + { + hand_flashlight_off(); + self.hand_flashlight delete(); + self notify("stop_flashlight_thread"); + } +} + +//Function Number: 118 +hand_flashlight_should_hide(param_00) +{ + if(!isdefined(param_00)) + { + return 0; + } + + if(isdefined(param_00.script_animation) && param_00.script_animation != "pause") + { + return 1; + } + + if(isdefined(param_00.script_delay)) + { + return 1; + } + + return 0; +} + +//Function Number: 119 +hand_flashlight_handle_alert() +{ + self endon("death"); + self endon("stop_flashlight_thread"); + common_scripts\utility::waittill_any("death","remove_flashlight","enemy","reached_path_end"); + wait(0.1); + if(isalive(self)) + { + thread attach_flashlight_on_gun(); + } +} + +//Function Number: 120 +hand_flashlight_handle_node_pause() +{ + self endon("death"); + self endon("remove_flashlight"); + self endon("stop_flashlight_thread"); + for(;;) + { + self waittill("goal"); + if(hand_flashlight_should_hide(self.last_patrol_goal)) + { + self notify("flashlight_off"); + self waittill("release_node"); + self notify("flashlight_on"); + } + } +} + +//Function Number: 121 +hand_flashlight_handle_effects() +{ + self endon("death"); + self endon("remove_flashlight"); + self endon("stop_flashlight_thread"); + for(;;) + { + self waittill("flashlight_off"); + hand_flashlight_off(); + self waittill("flashlight_on"); + hand_flashlight_on(); + } +} + +//Function Number: 122 +attach_flashlight_on_vehicle_unload() +{ + self waittill("jumping_out"); + attach_flashlight_on_gun(); +} + +//Function Number: 123 +training_stealth_spotted() +{ + common_scripts\utility::flag_wait("_stealth_spotted"); + thread training_s2_set_squad_active_and_target(); + common_scripts\utility::flag_set("training_s2_start_alerted"); + common_scripts\utility::flag_set("flag_vo_training_s2_joker_here_they"); + common_scripts\utility::flag_set("flag_obj_rescue2_entrance_clear"); + wait(3); + if(level.player maps\_player_exo::overdrive_is_on() == 0) + { + if(level.player.exobatterylevel == 0) + { + maps\recovery_code::give_overdrive_battery(); + } + + common_scripts\utility::flag_set("flag_vo_training_s2_gideon_use_overdrive"); + thread maps\_utility::display_hint_timeout("overdrive_prompt_sim",3); + } +} + +//Function Number: 124 +training_s1_golf_course_custom_stealth() +{ + var_00 = []; + var_00["prone"] = 150; + var_00["crouch"] = 400; + var_00["stand"] = 400; + maps\_stealth_visibility_system::system_set_detect_ranges(var_00); + var_01 = []; + var_01["player_dist"] = 1500; + var_01["sight_dist"] = 480; + var_01["detect_dist"] = 240; + var_01["found_dist"] = 96; + var_01["found_dog_dist"] = 60; + maps\_stealth_utility::stealth_corpse_ranges_custom(var_01); +} + +//Function Number: 125 +training_reset_stealth_settings() +{ + maps\_stealth_utility::stealth_corpse_ranges_default(); +} + +//Function Number: 126 +training_s2_squad_allow_run() +{ + if(isalive(level.gideon)) + { + level.gideon allowedstances("prone","crouch","stand"); + } + + if(isalive(level.joker)) + { + level.joker allowedstances("prone","crouch","stand"); + } + + if(isalive(level.ally_s2_squad_member_1)) + { + level.ally_s2_squad_member_1 allowedstances("prone","crouch","stand"); + } +} + +//Function Number: 127 +training_s2_enemies_start_think(param_00,param_01,param_02) +{ + self endon("death"); + thread attach_flashlight_on_gun(); + thread maps\_utility::set_battlechatter(0); + maps\_utility::disable_long_death(); + thread training_s2_enemies_start_think_alerted(param_00); + thread training_s2_starting_enemy_charge(param_01); + common_scripts\utility::flag_wait(param_02); + bloody_death(); +} + +//Function Number: 128 +training_s2_enemies_start_think_alerted(param_00) +{ + self endon("death"); + common_scripts\utility::flag_wait(param_00); + maps\_utility::waittill_aigroupcount("training_s2_starting_enemies",17); + self notify("alerted"); + maps\_utility::set_battlechatter(1); + var_01 = getnode("training_s2_enemy_attack_node4","targetname"); + if(isdefined(var_01)) + { + self.goalradius = 200; + maps\_utility::set_forcegoal(); + maps\_utility::set_goal_node(var_01); + self waittill("goal"); + maps\_utility::unset_forcegoal(); + } +} + +//Function Number: 129 +training_s2_enemies_start2_think(param_00,param_01,param_02) +{ + self endon("death"); + thread attach_flashlight_on_gun(); + thread maps\_utility::set_battlechatter(0); + maps\_utility::disable_long_death(); + thread training_s2_enemies_start2_think_alerted(param_00); + thread training_s2_starting_enemy_charge(param_01); + common_scripts\utility::flag_wait(param_02); + bloody_death(); +} + +//Function Number: 130 +training_s2_enemies_start2_think_alerted(param_00) +{ + self endon("death"); + common_scripts\utility::flag_wait(param_00); + maps\_utility::waittill_aigroupcount("training_s2_starting_enemies",11); + self notify("alerted"); + var_01 = getnode("training_s2_enemy_attack_node8","targetname"); + thread maps\_utility::set_battlechatter(1); + if(isdefined(var_01)) + { + self.goalradius = 32; + maps\_utility::set_forcegoal(); + maps\_utility::set_goal_node(var_01); + self waittill("goal"); + maps\_utility::unset_forcegoal(); + } +} + +//Function Number: 131 +training_s2_enemies_patrol_think(param_00,param_01,param_02) +{ + self endon("death"); + thread attach_flashlight_on_gun(); + thread maps\_utility::set_battlechatter(0); + maps\_utility::disable_long_death(); + thread training_s2_enemy_notify(param_00); + thread training_s2_enemies_patrol_think_alerted(param_00); + thread training_s2_starting_enemy_charge(param_01); + common_scripts\utility::flag_wait(param_02); + bloody_death(); +} + +//Function Number: 132 +training_s2_starting_enemy_charge(param_00) +{ + self endon("death"); + common_scripts\utility::flag_wait(param_00); + maps\_utility::player_seek(); +} + +//Function Number: 133 +training_s2_enemy_notify(param_00) +{ + self endon("death"); + common_scripts\utility::waittill_any_ents(self,"patrol_alerted",self,"_stealth_spotted",self,"stealth_event",self,"_stealth_found_corpse",self,"alerted",self,"enemy"); + wait(2); + self notify("alerted"); + common_scripts\utility::flag_set("_stealth_spotted"); + common_scripts\utility::flag_set(param_00); +} + +//Function Number: 134 +training_s2_enemies_patrol_think_alerted(param_00) +{ + self endon("death"); + common_scripts\utility::flag_wait(param_00); + self.ignoreall = 0; + self.ignoreme = 0; + thread maps\_stealth_shared_utilities::enemy_reaction_state_alert(); + self notify("alerted"); + maps\_utility::set_battlechatter(1); +} + +//Function Number: 135 +training_s2_enemies_living_room_think(param_00) +{ + self endon("death"); + if(isdefined(self.animation)) + { + thread maps\_utility::anim_stopanimscripted(); + } + + var_01 = getent("training_s1_threat_react_origin","targetname"); + var_02 = var_01.origin; + thread maps\_stealth_shared_utilities::enemy_reactto_and_lookaround(var_02); + self notify("alert"); + thread maps\_stealth_shared_utilities::enemy_reaction_state_alert(); + thread maps\_stealth_utility::disable_stealth_for_ai(); + thread maps\_utility::set_battlechatter(1); + wait(randomfloatrange(0.25,1)); + var_03 = self findbestcovernode(); + if(isdefined(var_03)) + { + maps\_utility::set_goal_node(var_03); + } +} + +//Function Number: 136 +training_s2_threat_death_check() +{ + self waittill("death"); + if(common_scripts\utility::flag("training_s2_flag_thermal") == 0) + { + level.threat_attack = "nil"; + common_scripts\utility::flag_set("training_s2_flag_thermal"); + } +} + +//Function Number: 137 +training_s2_living_room_check() +{ + maps\_utility::waittill_aigroupcleared("training_s2_enemies_living_room"); + level.living_room_clear = 1; +} + +//Function Number: 138 +training_s2_living_room_timer() +{ + wait(15); + level.living_room_clear = 1; +} + +//Function Number: 139 +training_s2_enemies_hall_think() +{ + self endon("death"); + maps\_utility::disable_long_death(); +} + +//Function Number: 140 +training_s2_threat_door() +{ + var_00 = common_scripts\utility::getstruct("training_s1_flashbang_animnode","targetname"); + var_01 = getent("training_s1_flash_door","targetname"); + var_01.animname = "door_prop"; + var_01 maps\_utility::assign_animtree(); + var_02 = getent("living_room_door_clip","targetname"); + var_00 thread maps\_anim::anim_first_frame_solo(var_01,"training_s2_threat_door_open"); + var_02 linkto(var_01,"door"); + common_scripts\utility::flag_wait("training_s2_peak_thermal_door"); + var_00 maps\_anim::anim_single_solo(var_01,"training_s2_threat_door_open"); + var_00 thread maps\_anim::anim_loop_solo(var_01,"training_s2_threat_door_open_idle","stop_loop"); + common_scripts\utility::flag_wait("training_s2_open_thermal_door"); + var_00 notify("stop_loop"); + var_00 maps\_anim::anim_single_solo(var_01,"training_s2_threat_door_out"); + var_02 connectpaths(); + common_scripts\utility::flag_wait("training_s2_breach_done"); + var_00 maps\_anim::anim_first_frame_solo(var_01,"training_s2_threat_door_open"); + wait(1); + var_02 disconnectpaths(); +} + +//Function Number: 141 +training_s2_flash_monitor() +{ + level.threat_attack = "nil"; + level.player waittill("grenade_fire",var_00,var_01); + var_00 waittill("death"); + if(var_01 == "paint_grenade_var") + { + level.threat_attack = "threat"; + } + else + { + level.threat_attack = "other"; + } + + common_scripts\utility::flag_set("training_s2_flag_thermal"); +} + +//Function Number: 142 +training_s2_kill_threat_enemies() +{ + self endon("death"); + wait(5); + if(isalive(self)) + { + magicbullet(level.gideon.weapon,level.gideon gettagorigin("tag_flash"),self geteye()); + bloody_death(); + } +} + +//Function Number: 143 +training_s2_start_squad_attack(param_00) +{ + common_scripts\utility::flag_wait(param_00); + training_s2_set_squad_active_and_target(); +} + +//Function Number: 144 +training_s2_opening_guy_think(param_00) +{ + var_01 = common_scripts\utility::getstruct(param_00,"targetname"); + self forceteleport(var_01.origin,var_01.angles); + self setgoalpos(self.origin); + self allowedstances("crouch"); + maps\_stealth_utility::stealth_plugin_basic(); + maps\_stealth_utility::stealth_plugin_accuracy(); + maps\_stealth_utility::stealth_plugin_smart_stance(); + maps\_utility::disable_surprise(); + if(!isdefined(level.allies_s2)) + { + level.allies_s2 = []; + } + + level.allies_s2 = common_scripts\utility::array_add(level.allies_s2,self); +} + +//Function Number: 145 +training_s1_clear_bedrooms(param_00) +{ + wait(2); + var_01 = getent("bedroom_1_door","targetname"); + getent(var_01.target,"targetname") linkto(var_01); + var_02 = 1; + var_01 rotateto(var_01.angles + (0,145,0),var_02,0.05,0.05); + var_01 common_scripts\utility::delaycall(var_02,::connectpaths); + var_01 common_scripts\utility::delaycall(2,::disconnectpaths); + var_03 = getent("bedroom_2_door","targetname"); + getent(var_03.target,"targetname") linkto(var_03); + var_03.angles = var_03.angles + (0,85,0); + var_03 connectpaths(); + var_03 disconnectpaths(); + maps\_utility::array_spawn_noteworthy("training_s1_bedroom_spawners",1); + common_scripts\utility::flag_wait(param_00); + var_01 rotateto(var_01.angles + (0,-145,0),var_02,0.05,0.05); + var_01 common_scripts\utility::delaycall(var_02,::connectpaths); + var_01 common_scripts\utility::delaycall(2,::disconnectpaths); + var_03.angles = var_03.angles + (0,-85,0); + var_03 connectpaths(); + var_03 disconnectpaths(); +} + +//Function Number: 146 +training_s1_bedroom_spawners_think() +{ + maps\_utility::set_battlechatter(0); + bloody_death(); +} + +//Function Number: 147 +training_s2_drone_manager() +{ + common_scripts\utility::flag_set("training_s2_drone_start"); + level notify("training_s2_drone_start"); + level.player setweaponhudiconoverride("actionslot3","dpad_icon_drone_off"); + common_scripts\utility::flag_set("flag_disable_exo"); + training_s2_player_drone_control(); + common_scripts\utility::flag_clear("flag_disable_exo"); + common_scripts\utility::flag_clear("flag_player_using_drone"); + common_scripts\utility::flag_set("training_s2_drone_attack_done"); +} + +//Function Number: 148 +training_s2_player_drone_control() +{ + var_00 = getent("training_s2_pdrone","targetname"); + var_01 = common_scripts\utility::getstruct("pdrone_player_spawnstruct_1","targetname"); + var_02 = common_scripts\utility::getstruct("pdrone_player_nothreat_return","targetname"); + var_03 = getnode("pdrone_player_spawnnode_1","targetname"); + var_04 = vehicle_scripts\_pdrone_player::pdrone_deploy(var_00,0,var_01); + vehicle_scripts\_pdrone_player::pdrone_player_use(var_04,"training_drone_space",undefined,undefined); + var_04 vehicle_scripts\_pdrone_player::pdrone_player_add_vehicle_target("script_noteworthy","training_s2_patio_vehicles"); + level.player.drone = var_04; + var_04 vehicle_scripts\_pdrone_player::pdrone_player_enter(1,var_03,var_02); + soundscripts\_snd::snd_message("rec_player_drone_start",var_04); + var_04 vehicle_scripts\_pdrone_player::pdrone_player_loop(); + soundscripts\_snd::snd_message("rec_player_drone_end"); + if(var_04.customhealth <= 0) + { + common_scripts\utility::flag_set("flag_vo_training_s2_gideon_drone_down"); + } + + var_04 vehicle_scripts\_pdrone_player::pdrone_player_exit(1); + var_04 delete(); +} + +//Function Number: 149 +training_s2_enemies_patio_think(param_00,param_01,param_02) +{ + self endon("death"); + thread maps\_stealth_utility::enable_stealth_for_ai(); + maps\_utility::disable_long_death(); + self thermaldrawenable(); + thread attach_flashlight_on_gun(); + thread maps\_stealth_utility::disable_stealth_system(); + self notify("awareness_alert_level","warning"); + thread maps\_utility::set_battlechatter(1); + common_scripts\utility::flag_wait(param_02); + thread maps\_utility::player_seek_enable(); + common_scripts\utility::flag_wait(param_00); + bloody_death(); +} + +//Function Number: 150 +training_s2_patio_enemies_alert_think() +{ + self endon("death"); + common_scripts\utility::waittill_any_ents(self,"patrol_alerted",self,"_stealth_spotted",self,"stealth_event",self,"_stealth_found_corpse",self,"alerted",self,"enemy"); + self notify("alerted"); + common_scripts\utility::flag_set("training_s2_patio_alert"); +} + +//Function Number: 151 +training_s2_patio_enemies_damaged(param_00) +{ + self endon("death"); + self waittill("damage"); + maps\_stealth_utility::disable_stealth_system(); + common_scripts\utility::flag_set(param_00); +} + +//Function Number: 152 +training_s2_shield_tutorial() +{ + if(level.player maps\_player_exo::exo_shield_is_on() == 0) + { + if(level.player.exobatterylevel == 0) + { + maps\recovery_code::give_overdrive_battery(); + } + + common_scripts\utility::flag_set("flag_vo_training_s2_gideon_use_your_shield"); + thread maps\_utility::display_hint_timeout("shield_prompt_sim",3); + } +} + +//Function Number: 153 +training_s1_drone_attack_think() +{ + self endon("death"); + thread maps\_shg_utility::make_emp_vulnerable(); + self laseron(); + if(isdefined(self.animation)) + { + self.animname = "drone"; + var_00 = getent("training_s1_drone_attack_scene","targetname"); + var_00 maps\_anim::anim_first_frame_solo(self,self.animation); + var_00 thread maps\_anim::anim_single_solo(self,self.animation); + } +} + +//Function Number: 154 +training_s2_drone_ambush_attack_think() +{ + self endon("death"); + thread maps\_shg_utility::make_emp_vulnerable(); + self laseron(); + common_scripts\utility::flag_wait("training_s2_living_room_drone_attack_done"); + wait(randomfloatrange(0.5,1.5)); + self notify("death"); +} + +//Function Number: 155 +training_s2_drone_attack_think(param_00,param_01) +{ + self endon("death"); + self.pacifist = 1; + thread maps\_shg_utility::make_emp_vulnerable(); + self laseron(); + thread training_s2_drone_damaged(param_01); + thread training_s2_drone_attack_death(param_01); + common_scripts\utility::flag_wait(param_01); + self notify("awareness_alert_level","warning"); + self.pacifist = 0; + self.ignoreall = 0; + self.engage_enemy = 1; + common_scripts\utility::flag_wait(param_00); + self delete(); +} + +//Function Number: 156 +training_s2_drone_damaged(param_00) +{ + self endon("death"); + self waittill("damage"); + maps\_stealth_utility::disable_stealth_system(); + common_scripts\utility::flag_set(param_00); +} + +//Function Number: 157 +training_s2_drone_attack_death(param_00) +{ + self waittill("death"); + level.drones_s2_dead = level.drones_s2_dead + 1; + maps\_stealth_utility::disable_stealth_system(); + common_scripts\utility::flag_set(param_00); +} + +//Function Number: 158 +set_tv_screen_broken() +{ + var_00 = getentarray("tv_screen_broken","targetname"); + var_01 = getentarray("tv_screen_unbroken","targetname"); + foreach(var_03 in var_00) + { + var_03 common_scripts\utility::show_solid(); + } + + foreach(var_03 in var_01) + { + var_03 common_scripts\utility::hide_notsolid(); + } +} + +//Function Number: 159 +set_tv_screen_unbroken() +{ + var_00 = getentarray("tv_screen_broken","targetname"); + var_01 = getentarray("tv_screen_unbroken","targetname"); + foreach(var_03 in var_00) + { + var_03 common_scripts\utility::hide_notsolid(); + } + + foreach(var_03 in var_01) + { + var_03 common_scripts\utility::show_solid(); + } +} + +//Function Number: 160 +training_s1_breack_tv_screen() +{ + set_tv_screen_unbroken(); + common_scripts\utility::flag_wait("training_s1_flag_screen_smash"); + set_tv_screen_broken(); +} + +//Function Number: 161 +training_s1_breach_enemy_think() +{ + self endon("death"); + var_00 = common_scripts\utility::getstruct("training_s1_exo_breach_marker","targetname"); + self.animname = "generic"; + self.ignoreme = 1; + maps\_utility::disable_long_death(); + self.ignoresonicaoe = 1; + if(self.animation == "training_s1_exo_breach_kva2_start") + { + thread training_s1_breach_enemy_death_check(); + self endon("killed"); + var_00 maps\_anim::anim_first_frame_solo(self,self.animation); + thread training_s1_breach_enemy_stop_death_check(); + var_00 maps\_anim::anim_single_solo(self,self.animation); + self.noragdoll = 1; + self.a.nodeath = 1; + self.allowdeath = 1; + maps\_utility::set_battlechatter(0); + self kill(); + return; + } + + if(self.animation == "training_s1_exo_breach_kva3_start") + { + self disableaimassist(); + } + + self.allowdeath = 0; + var_00 maps\_anim::anim_first_frame_solo(self,self.animation); + var_00 maps\_anim::anim_single_solo(self,self.animation); + self.noragdoll = 1; + self.allowdeath = 1; + self.a.nodeath = 1; + maps\_utility::set_battlechatter(0); + self kill(); +} + +//Function Number: 162 +training_s1_breach_enemy_stop_death_check() +{ + self endon("death"); + self endon("killed"); + wait(7); + self notify("killed2"); +} + +//Function Number: 163 +training_s1_breach_enemy_death_check() +{ + self endon("death"); + self endon("killed2"); + var_00 = 0; + var_01 = undefined; + var_02 = undefined; + var_03 = undefined; + var_04 = undefined; + while(var_00 < 5) + { + self waittill("damage",var_05,var_04,var_06,var_01,var_02,var_07,var_08,var_03,var_09,var_0A); + var_00 = var_00 + var_05; + } + + if(isdefined(var_01) && isdefined(var_02) && isplayer(var_04)) + { + if(var_02 == "MOD_PISTOL_BULLET" || var_02 == "MOD_RIFLE_BULLET" || var_02 == "MOD_EXPLOSIVE_BULLET") + { + playfx(common_scripts\utility::getfx("flesh_hit"),var_01); + soundscripts\_snd::snd_message("rec_chair_kva_gets_shot",var_01); + } + + self notify("killed"); + self stopanimscripted(); + var_0B = common_scripts\utility::getstruct("training_s1_exo_breach_marker","targetname"); + var_0B maps\_anim::anim_single_solo(self,"training_s1_exo_breach_kva2_death"); + self.noragdoll = 1; + self.allowdeath = 1; + self.a.nodeath = 1; + maps\_utility::set_battlechatter(0); + self kill(); + } +} + +//Function Number: 164 +training_s1_breach_enemy_monitor_death() +{ + var_00 = 0; + var_01 = undefined; + var_02 = undefined; + var_03 = undefined; + while(var_00 < 5) + { + self waittill("damage",var_04,var_05,var_06,var_01,var_02,var_07,var_08,var_03,var_09,var_0A); + var_00 = var_00 + var_04; + } + + if(isdefined(var_01) && isdefined(var_02)) + { + if(var_02 == "MOD_PISTOL_BULLET" || var_02 == "MOD_RIFLE_BULLET" || var_02 == "MOD_EXPLOSIVE_BULLET") + { + playfx(common_scripts\utility::getfx("flesh_hit"),var_01); + soundscripts\_snd::snd_message("rec_kva_with_president_gets_shot",var_01); + } + } + + thread training_s1_breach_slomo_end(); + if(common_scripts\utility::flag("training_s1_flag_president_dead") == 0) + { + common_scripts\utility::flag_set("training_s1_breach_enemy_dead"); + var_0B = common_scripts\utility::getstruct("training_s1_exo_breach_marker","targetname"); + var_0B thread maps\_anim::anim_single_solo(self,"training_s1_exo_breach_kva1_success"); + wait 0.05; + self.noragdoll = 1; + self.allowdeath = 1; + self.a.nodeath = 1; + maps\_utility::set_battlechatter(0); + self kill(); + } + else + { + self.allowdeath = 1; + maps\_utility::set_battlechatter(0); + self kill(); + } + + if(var_03 == "j_head") + { + waittillframeend; + level.player.hud_damagefeedback fadeovertime(0.05); + level.player.hud_damagefeedback.alpha = 0; + level.player maps\_damagefeedback::updatedamagefeedback(self,1); + level.player maps\_upgrade_challenge::give_player_challenge_headshot(1); + } + else + { + level.player maps\_upgrade_challenge::give_player_challenge_kill(1); + } + + wait(1); + level.player.hud_damagefeedback fadeovertime(1); +} + +//Function Number: 165 +training_s1_breach_slomo_end() +{ + var_00 = 0.65; + maps\_utility::slowmo_setlerptime_out(var_00); + maps\_utility::slowmo_lerp_out(); + maps\_utility::slowmo_end(); + level.player setmovespeedscale(1); +} + +//Function Number: 166 +training_s1_breach_kva_think() +{ + self endon("shot"); + self endon("death"); + self.ignoresonicaoe = 1; + self.animname = "generic"; + self.ignoreme = 1; + self.allowdeath = 0; + maps\_utility::disable_long_death(); + maps\_utility::forceuseweapon("iw5_titan45_sp","primary"); + thread maps\_utility::set_battlechatter(0); + var_00 = common_scripts\utility::getstruct("training_s1_exo_breach_marker","targetname"); + thread training_s1_breach_enemy_monitor_death(); + var_00 maps\_anim::anim_first_frame_solo(self,"training_s1_exo_breach_kva1_start"); + var_00 maps\_anim::anim_single_solo(self,"training_s1_exo_breach_kva1_start"); + var_00 thread maps\_anim::anim_loop_solo(self,"training_s1_exo_breach_kva1_idle","stop_loop"); + wait(1.5); + var_00 notify("stop_loop"); + level.president notify("stop_idle_loop_s1"); + if(common_scripts\utility::flag("training_s1_breach_enemy_dead") == 0) + { + var_00 maps\_anim::anim_single_solo(self,"training_s1_exo_breach_kva1_fail"); + } +} + +//Function Number: 167 +training_s1_president_breach_setup(param_00) +{ + self endon("death"); + self.allowdeath = 0; + self.animname = "president"; + self.name = "POTUS"; + self.pacifist = 1; + self.ignoreme = 1; + self.ignoreall = 1; + thread maps\_utility::set_battlechatter(0); + thread training_s1_president_breach_monitor_death(); + self.team = "allies"; + level maps\_utility::clear_color_order("y","allies"); + maps\_utility::set_force_color("y"); + common_scripts\utility::flag_wait(param_00); + if(isdefined(self.magic_bullet_shield)) + { + maps\_utility::stop_magic_bullet_shield(); + } + + self delete(); +} + +//Function Number: 168 +training_s1_president_dead() +{ + common_scripts\utility::flag_wait("training_s1_flag_president_shot"); + playfxontag(common_scripts\utility::getfx("recovery_blood_impact_burst"),level.president,"j_head"); + common_scripts\utility::flag_set("training_s1_flag_president_dead"); + level.president notify("shot"); + soundscripts\_snd::snd_message("rec_s1_president_killed"); + wait(2); + setdvar("ui_deadquote",&"RECOVERY_PRESIDENT_DEAD"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 169 +training_s1_president_breach_monitor_death() +{ + self endon("breach_s1_end"); + var_00 = 0; + var_01 = undefined; + var_02 = undefined; + var_03 = undefined; + var_04 = undefined; + while(var_00 < 5) + { + self waittill("damage",var_05,var_04,var_06,var_01,var_02,var_07,var_08,var_03,var_09,var_0A); + var_00 = var_00 + var_05; + } + + if(isdefined(var_01) && isdefined(var_02) && isplayer(var_04)) + { + if(var_02 == "MOD_PISTOL_BULLET" || var_02 == "MOD_RIFLE_BULLET" || var_02 == "MOD_EXPLOSIVE_BULLET") + { + playfx(common_scripts\utility::getfx("flesh_hit"),var_01); + soundscripts\_snd::snd_message("rec_plr_kills_president",var_01); + } + } + + common_scripts\utility::flag_set("training_s1_flag_president_dead"); + self.allowdeath = 1; + self kill(); + if(isplayer(var_04)) + { + setdvar("ui_deadquote",&"RECOVERY_PRESIDENT_MURDERED"); + } + else + { + setdvar("ui_deadquote",&"RECOVERY_PRESIDENT_DEAD"); + } + + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 170 +training_s1_bathroom_enemy_think() +{ + self endon("death"); + self.ignoresonicaoe = 1; + self.animname = "kva"; + self.ignoreme = 1; + self.allowdeath = 1; + self.health = 1; + maps\_utility::disable_long_death(); + thread training_s1_bathroom_enemy_flag_death(); + thread training_s1_bathroom_force_death(); + thread maps\_utility::set_battlechatter(0); + var_00 = common_scripts\utility::getstruct("training_s1_exo_breach_marker","targetname"); + thread training_s1_bathroom_enemy_dialog(); + var_00 maps\_anim::anim_first_frame_solo(self,"training_s1_exo_breach_kva_bathroom_start"); + var_00 maps\_anim::anim_single_solo(self,"training_s1_exo_breach_kva_bathroom_start"); + self.allowdeath = 0; + self.health = 100; + var_00 thread maps\_anim::anim_loop_solo(self,"training_s1_exo_breach_kva_bathroom_idle","stop_loop"); + self.ignoreme = 0; + level.joker.ignoreall = 0; + thread training_s1_bathroom_enemy_monitor_death(); + self waittill("shot"); + var_00 notify("stop_loop"); + var_00 maps\_anim::anim_single_solo(self,"training_s1_exo_breach_kva_bathroom_death"); + self.noragdoll = 1; + self.allowdeath = 1; + self.a.nodeath = 1; + wait(0.05); + self kill(); +} + +//Function Number: 171 +training_s1_bathroom_enemy_dialog() +{ + self endon("death"); + wait(3.5); + common_scripts\utility::flag_set("flag_vo_training_s1_kva_what"); +} + +//Function Number: 172 +training_s1_bathroom_enemy_monitor_death() +{ + self waittill("damage",var_00,var_01,var_02,var_03,var_04); + if(isdefined(var_03) && isdefined(var_04)) + { + if(var_04 == "MOD_PISTOL_BULLET" || var_04 == "MOD_RIFLE_BULLET" || var_04 == "MOD_EXPLOSIVE_BULLET") + { + playfx(common_scripts\utility::getfx("flesh_hit"),var_03); + } + } + + self notify("shot"); +} + +//Function Number: 173 +training_s1_bathroom_enemy_flag_death() +{ + self waittill("death"); + common_scripts\utility::flag_set("training_s1_bathroom_enemy_dead"); +} + +//Function Number: 174 +training_s1_bathroom_force_death() +{ + common_scripts\utility::flag_wait("training_s1_flag_bathroom_guy_shot"); + self kill(); +} + +//Function Number: 175 +training_s1_exo_breach_monitor_enemy_group_death() +{ + maps\_utility::waittill_aigroupcleared("training_s1_enemies_breach"); + common_scripts\utility::flag_set("training_s1_exo_breach_clear"); +} + +//Function Number: 176 +training_s1_enemies_ambush_think(param_00) +{ + self endon("death"); + thread maps\_utility::disable_long_death(); + attach_flashlight_on_gun(); + common_scripts\utility::flag_wait(param_00); + bloody_death(); +} + +//Function Number: 177 +training_s2_enemies_ambush_think(param_00) +{ + self endon("death"); + thread maps\_utility::disable_long_death(); + attach_flashlight_on_gun(); + common_scripts\utility::flag_wait(param_00); + bloody_death(); +} + +//Function Number: 178 +training_s1_joker_move() +{ + level endon("training_s1_living_room_scene"); + var_00 = common_scripts\utility::getstruct("training_s1_flashbang_animnode","targetname"); + common_scripts\utility::flag_wait("training_s1_start_alerted"); + maps\_utility::waittill_aigroupcleared("training_s1_start"); + maps\_utility::waittill_aigroupcleared("training_s1_enemies_start"); + var_00 maps\_anim::anim_reach_solo(level.joker,"training_s1_threat_guy_in"); + var_00 maps\_anim::anim_single_solo(level.joker,"training_s1_threat_guy_in"); +} + +//Function Number: 179 +training_s1_patio_door_breach() +{ + var_00 = common_scripts\utility::getstruct("training_s2_patio_door_animnode","targetname"); + common_scripts\utility::flag_set("training_s1_patio_doors_joker_in"); + var_00 maps\_anim::anim_reach_solo(level.joker,"training_s1_patio_joker_door_in"); + var_00 maps\_anim::anim_single_solo(level.joker,"training_s1_patio_joker_door_in"); + var_00 thread maps\_anim::anim_loop_solo(level.joker,"training_s1_patio_joker_door_idle","stop_loop1"); + thread training_s1_patio_door_breach_monitor(var_00); + common_scripts\utility::flag_wait("training_s1_joker_search_drones_cover"); + level.joker maps\_utility::cqb_walk("on"); + if(common_scripts\utility::flag("training_s1_search_drones_attack") == 1) + { + var_00 notify("stop_loop2"); + var_00 thread maps\_anim::anim_single_solo_run(level.joker,"training_s1_patio_joker_door_out"); + common_scripts\utility::flag_set("training_s1_breach_patio_doors_open"); + } + else + { + var_00 notify("stop_loop1"); + var_00 maps\_anim::anim_single_solo(level.joker,"training_s1_patio_joker_door_slow_in"); + common_scripts\utility::flag_set("training_s1_slow_patio_doors_open"); + var_00 maps\_anim::anim_single_solo(level.joker,"training_s1_patio_joker_door_slow_open"); + var_00 thread maps\_anim::anim_single_solo_run(level.joker,"training_s1_patio_joker_door_slow_out"); + } + + level notify("advance_to_patio"); +} + +//Function Number: 180 +training_s1_patio_door_breach_monitor(param_00) +{ + self endon("training_s1_search_drones_done"); + common_scripts\utility::flag_wait("training_s1_search_drones_attack"); + param_00 notify("stop_loop1"); + param_00 thread maps\_anim::anim_loop_solo(level.joker,"training_s1_patio_joker_door_alert_idle","stop_loop2"); +} + +//Function Number: 181 +training_s1_patio_door_clip() +{ + var_00 = getent("french_door_clip_01","targetname"); + var_01 = getent("french_door_clip_02","targetname"); + var_02 = getent("training_patio_french_doors","targetname"); + var_00 linkto(var_02,"door_r"); + var_01 linkto(var_02,"door_l"); + var_00 connectpaths(); + var_01 connectpaths(); + common_scripts\utility::flag_wait("training_s1_end"); + wait(1); + var_00 disconnectpaths(); + var_01 disconnectpaths(); +} + +//Function Number: 182 +training_s2_breach_enemy_think() +{ + self endon("death"); + self.ignoresonicaoe = 1; + self.animname = "generic"; + self.ignoreme = 1; + self.allowdeath = 1; + self.health = 5; + maps\_utility::disable_long_death(); + thread maps\_utility::set_battlechatter(0); + if(isdefined(self.animation)) + { + var_00 = common_scripts\utility::getstruct("training_s1_exo_breach_marker","targetname"); + var_00 maps\_anim::anim_first_frame_solo(self,self.animation); + var_00 maps\_anim::anim_single_solo(self,self.animation); + } +} + +//Function Number: 183 +training_s2_breach_enemy_stop_death_check() +{ + self endon("death"); + self endon("killed"); + wait(7); + self notify("killed2"); +} + +//Function Number: 184 +training_s2_breach_enemy_death_check() +{ + self endon("death"); + self endon("killed2"); + self waittill("damage",var_00,var_01,var_02,var_03,var_04); + if(isdefined(var_03) && isdefined(var_04) && isplayer(var_01)) + { + if(var_04 == "MOD_PISTOL_BULLET" || var_04 == "MOD_RIFLE_BULLET" || var_04 == "MOD_EXPLOSIVE_BULLET") + { + playfx(common_scripts\utility::getfx("flesh_hit"),var_03); + soundscripts\_snd::snd_message("rec_slomo_kill_bad_guy",var_03); + } + + self notify("killed"); + self stopanimscripted(); + var_05 = common_scripts\utility::getstruct("training_s1_exo_breach_marker","targetname"); + var_05 maps\_anim::anim_single_solo(self,"training_s2_exo_breach_kva2_death"); + self.noragdoll = 1; + self.allowdeath = 1; + self.a.nodeath = 1; + thread maps\_utility::set_battlechatter(0); + self kill(); + } +} + +//Function Number: 185 +training_s2_breach_kva_think() +{ + self endon("shot"); + self endon("death"); + self.ignoresonicaoe = 1; + self.animname = "generic"; + self.ignoreme = 1; + self.allowdeath = 0; + maps\_utility::disable_long_death(); + maps\_utility::forceuseweapon("iw5_titan45_sp","primary"); + thread maps\_utility::set_battlechatter(0); + var_00 = common_scripts\utility::getstruct("training_s1_exo_breach_marker","targetname"); + thread training_s2_breach_enemy_monitor_death(); + var_00 maps\_anim::anim_first_frame_solo(self,"training_s2_exo_breach_kva1_react"); + var_00 maps\_anim::anim_single_solo(self,"training_s2_exo_breach_kva1_react"); + var_00 thread maps\_anim::anim_loop_solo(self,"training_s2_exo_breach_kva1_react_idle","stop_loop"); + wait(3); + var_00 notify("stop_loop"); + level.president notify("stop_idle_loop_s2"); + if(common_scripts\utility::flag("training_s2_breach_enemy_dead") == 0) + { + var_00 maps\_anim::anim_single_solo(self,"training_s2_exo_breach_kva1_fail"); + } +} + +//Function Number: 186 +training_s1_bathroom_breach_door() +{ + var_00 = common_scripts\utility::getstruct("training_s1_exo_breach_marker","targetname"); + var_01 = getent("training_exo_breach_bathroom_door","targetname"); + var_01.animname = "door_prop"; + var_01 maps\_utility::assign_animtree(); + var_02 = getent("breach_bathroom_door_clip","targetname"); + var_00 thread maps\_anim::anim_first_frame_solo(var_01,"training_s1_bathroom_door"); + soundscripts\_snd::snd_message("rec_bathroom_guy",var_01); + var_02 linkto(var_01,"door"); + var_00 maps\_anim::anim_single_solo(var_01,"training_s1_bathroom_door"); + var_02 connectpaths(); +} + +//Function Number: 187 +training_s2_breach_enemy_monitor_death() +{ + var_00 = 0; + var_01 = undefined; + var_02 = undefined; + var_03 = undefined; + var_04 = undefined; + while(var_00 < 5) + { + self waittill("damage",var_05,var_04,var_06,var_01,var_02,var_07,var_08,var_03,var_09,var_0A); + var_00 = var_00 + var_05; + } + + if(isdefined(var_01) && isdefined(var_02) && isplayer(var_04)) + { + if(var_02 == "MOD_PISTOL_BULLET" || var_02 == "MOD_RIFLE_BULLET" || var_02 == "MOD_EXPLOSIVE_BULLET") + { + playfx(common_scripts\utility::getfx("flesh_hit"),var_01); + soundscripts\_snd::snd_message("rec_slomo_kill_bad_guy",var_01); + } + } + + if(common_scripts\utility::flag("training_s2_flag_president_dead") == 0) + { + common_scripts\utility::flag_set("training_s2_breach_enemy_dead"); + self notify("shot"); + var_0B = common_scripts\utility::getstruct("training_s1_exo_breach_marker","targetname"); + var_0B thread maps\_anim::anim_single_solo(self,"training_s2_exo_breach_kva1_success"); + wait 0.05; + self.noragdoll = 1; + self.allowdeath = 1; + self.a.nodeath = 1; + thread maps\_utility::set_battlechatter(0); + self kill(); + } + else + { + common_scripts\utility::flag_set("training_s2_breach_enemy_dead"); + self notify("shot"); + self.allowdeath = 1; + thread maps\_utility::set_battlechatter(0); + self kill(); + } + + if(var_03 == "j_head") + { + waittillframeend; + level.player.hud_damagefeedback fadeovertime(0.05); + level.player.hud_damagefeedback.alpha = 0; + level.player maps\_damagefeedback::updatedamagefeedback(self,1); + level.player maps\_upgrade_challenge::give_player_challenge_headshot(1); + } + else + { + level.player maps\_upgrade_challenge::give_player_challenge_kill(1); + } + + wait(1); + level.player.hud_damagefeedback fadeovertime(1); +} + +//Function Number: 188 +training_s2_breach_enemies_monitor() +{ + common_scripts\utility::flag_wait("training_s2_breach_enemy_dead"); + maps\_utility::waittill_aigroupcleared("training_s2_enemies_breach"); + var_00 = 0.65; + maps\_utility::slowmo_setlerptime_out(var_00); + maps\_utility::slowmo_lerp_out(); + maps\_utility::slowmo_end(); + level.player setmovespeedscale(1); + common_scripts\utility::flag_set("training_s2_breach_enemies_dead"); +} + +//Function Number: 189 +training_s2_president_setup() +{ + self endon("death"); + maps\_utility::magic_bullet_shield(); + self.animname = "president"; + self.name = "POTUS"; + self.pacifist = 1; + self.ignoreme = 1; + self.ignoreall = 1; + thread maps\_utility::set_battlechatter(0); + self.team = "allies"; + level maps\_utility::clear_color_order("y","allies"); + maps\_utility::set_force_color("y"); +} + +//Function Number: 190 +training_s2_breach_president_setup() +{ + self endon("death"); + self.allowdeath = 0; + self.animname = "president"; + self.name = "POTUS"; + self.pacifist = 1; + self.ignoreme = 1; + self.ignoreall = 1; + thread maps\_utility::set_battlechatter(0); + thread training_s2_president_breach_monitor_death(); + self.team = "allies"; + level maps\_utility::clear_color_order("y","allies"); + maps\_utility::set_force_color("y"); +} + +//Function Number: 191 +training_s2_president_breach_monitor_death() +{ + self endon("breach_s2_end"); + var_00 = 0; + var_01 = 0; + var_02 = 0; + var_03 = 0; + while(var_00 < 5) + { + self waittill("damage",var_04,var_03,var_05,var_01,var_02); + var_00 = var_00 + var_04; + } + + if(isdefined(var_01) && isdefined(var_02) && isplayer(var_03)) + { + if(var_02 == "MOD_PISTOL_BULLET" || var_02 == "MOD_RIFLE_BULLET" || var_02 == "MOD_EXPLOSIVE_BULLET") + { + playfx(common_scripts\utility::getfx("flesh_hit"),var_01); + soundscripts\_snd::snd_message("rec_slomo_kill_bad_guy",var_01); + } + } + + common_scripts\utility::flag_set("training_s2_flag_president_dead"); + self.allowdeath = 1; + self kill(); + if(isplayer(var_03)) + { + setdvar("ui_deadquote",&"RECOVERY_PRESIDENT_MURDERED"); + } + else + { + setdvar("ui_deadquote",&"RECOVERY_PRESIDENT_DEAD"); + } + + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 192 +training_s2_president_dead() +{ + common_scripts\utility::flag_wait("training_s2_flag_president_shot"); + wait(0.2); + playfxontag(common_scripts\utility::getfx("recovery_blood_impact_burst"),level.president,"j_head"); + common_scripts\utility::flag_set("training_s2_flag_president_dead"); + level.president notify("shot_s2"); + wait(2); + setdvar("ui_deadquote",&"RECOVERY_PRESIDENT_DEAD"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 193 +training_s2_exo_breach_knife() +{ + var_00 = maps\_utility::spawn_anim_model("knife_prop"); + var_00.animname = "knife_prop"; + var_01 = common_scripts\utility::getstruct("training_s1_exo_breach_marker","targetname"); + var_01 maps\_anim::anim_first_frame_solo(var_00,"training_s2_exo_knife"); + var_01 maps\_anim::anim_single_solo(var_00,"training_s2_exo_knife"); + var_00 delete(); +} + +//Function Number: 194 +training_s2_open_patio_door() +{ + var_00 = common_scripts\utility::getstruct("training_s2_patio_door_animnode","targetname"); + var_00 maps\_anim::anim_reach_solo(level.gideon,"training_s2_patio_gideon_door_in"); + level.patio_doors notify("in2"); + var_00 maps\_anim::anim_single_solo(level.gideon,"training_s2_patio_gideon_door_in"); + var_00 thread maps\_anim::anim_loop_solo(level.gideon,"training_s2_patio_gideon_door_idle","stop_loop"); + common_scripts\utility::flag_wait("training_s2_living_room_drone_attack_done"); + var_00 notify("stop_loop"); + if(level.broken_door == 0) + { + common_scripts\utility::flag_set("training_s2_gideon_smash_french_door"); + var_00 maps\_anim::anim_reach_solo(level.gideon,"training_s2_patio_gideon_door_out"); + level.patio_doors notify("go2"); + level.gideon maps\_utility::cqb_walk("on"); + var_00 thread maps\_anim::anim_single_solo_run(level.gideon,"training_s2_patio_gideon_door_out"); + } + + maps\_utility::activate_trigger("training_s2_patio_color_trigger","targetname"); +} + +//Function Number: 195 +training_s2_player_drone() +{ + level endon("training_s2_drone_enemies_killed"); + level.player.showhint = 1; + maps\_utility::display_hint_timeout("drone_deploy_prompt",10); + for(;;) + { + level.player waittill("use_drone"); + while(level.player isjumping()) + { + wait 0.05; + } + + if(vehicle_scripts\_pdrone_player::pdrone_deploy_check(85)) + { + break; + } + else + { + level.player.showhint = 0; + wait(0.25); + level.player.showhint = 1; + maps\_utility::display_hint_timeout("drone_deploy_fail_prompt",2); + wait(2); + level.player.showhint = 0; + wait(0.25); + level.player.showhint = 1; + maps\_utility::display_hint_timeout("drone_deploy_prompt",10); + } + } + + level.player.showhint = 0; + if(common_scripts\utility::flag("training_s2_drone_attack_done") == 0) + { + common_scripts\utility::flag_set("training_s2_drone_start"); + level notify("training_s2_drone_start"); + maps\_utility::array_spawn_noteworthy("training_s2_enemies2_patio",1); + common_scripts\utility::flag_set("training_s2_patio_alert"); + common_scripts\utility::flag_set("flag_player_using_drone"); + thread training_s2_drone_manager(); + } +} + +//Function Number: 196 +training_s2_player_drone_delete() +{ + self endon("death"); + common_scripts\utility::flag_wait("training_s2_drone_start"); + self delete(); +} + +//Function Number: 197 +training_s2_spawn_search_vehicle() +{ + var_00 = getent("training_s2_patio_vehicles","script_noteworthy"); + var_01 = var_00 maps\_vehicle::spawn_vehicle_and_gopath(); + var_01 thread training_s2_drone_attack_vehicles_think(); +} + +//Function Number: 198 +training_s2_drone_attack_vehicles_think() +{ + self endon("death"); + playfxontag(common_scripts\utility::getfx("car_tread_mud"),self,"tag_wheel_back_right"); + playfxontag(common_scripts\utility::getfx("car_tread_mud"),self,"tag_wheel_back_left"); + playfxontag(common_scripts\utility::getfx("car_tread_mud"),self,"tag_wheel_front_right"); + playfxontag(common_scripts\utility::getfx("car_tread_mud"),self,"tag_wheel_front_left"); + foreach(var_01 in self.riders) + { + var_01 thread training_s2_unload_drone_attack_think(); + } + + self waittill("reached_end_node"); + maps\_vehicle::vehicle_unload("all_but_gunner"); +} + +//Function Number: 199 +training_s2_unload_drone_attack_think() +{ + self endon("death"); + if(isdefined(self.vehicle_position)) + { + thread attach_flashlight_on_vehicle_unload(); + thread maps\_utility::set_battlechatter(0); + } + + common_scripts\utility::flag_wait("training_s2_patio_alert"); + self notify("awareness_alert_level","warning"); + thread maps\_utility::set_battlechatter(1); + common_scripts\utility::flag_wait("flag_training_s2_patio_enemies_charge"); + thread maps\_utility::player_seek_enable(); + common_scripts\utility::flag_wait("training_s2_clear_patio_spawn"); + bloody_death(randomfloatrange(0.5,1.5)); +} + +//Function Number: 200 +training_s2_patio_enemies_alert_check() +{ + self endon("death"); + self waittill("damage",var_00,var_01,var_02,var_03,var_04); + if(var_01 == level.player) + { + wait(2); + common_scripts\utility::flag_set("training_s2_patio_alert"); + self notify("alerted"); + } +} + +//Function Number: 201 +training_s2_ambush_vehicles_think(param_00) +{ + self endon("death"); + foreach(var_02 in self.riders) + { + var_02 thread training_s2_unload1_think(param_00); + } + + self waittill("reached_end_node"); + maps\_vehicle::vehicle_unload(); + common_scripts\utility::flag_wait(param_00); + wait(randomfloatrange(0.5,4.5)); + self kill(); +} + +//Function Number: 202 +training_s2_unload1_think(param_00) +{ + self endon("death"); + if(isdefined(self.vehicle_position)) + { + thread attach_flashlight_on_vehicle_unload(); + maps\_utility::disable_long_death(); + } + + common_scripts\utility::flag_wait(param_00); + wait(randomintrange(1,6)); + bloody_death(); +} + +//Function Number: 203 +training_s2_kva_ambush1_think(param_00) +{ + self endon("death"); + thread attach_flashlight_on_gun(); + maps\_utility::disable_long_death(); + maps\_utility::ai_ignore_everything(); + maps\_utility::delaythread(3,::maps\_utility::ai_unignore_everything); + common_scripts\utility::flag_wait(param_00); + wait(randomintrange(1,6)); + bloody_death(); +} + +//Function Number: 204 +training_s2_drone_end_think(param_00) +{ + self endon("death"); + thread maps\_shg_utility::make_emp_vulnerable(); + self laseron(); + common_scripts\utility::flag_wait(param_00); + self delete(); +} + +//Function Number: 205 +training_s2_guard_house_doors() +{ + var_00 = getent("guard_door_01","targetname"); + getent(var_00.target,"targetname") linkto(var_00); + var_01 = getent("guard_door_02","targetname"); + getent(var_01.target,"targetname") linkto(var_01); + var_00 rotateto(var_00.angles + (0,-90,0),1,0,1); + var_01 rotateto(var_01.angles + (0,90,0),1,0,1); + var_00 connectpaths(); + var_01 connectpaths(); + wait(4); + var_00 rotateto(var_00.angles + (0,90,0),1,0,1); + var_01 rotateto(var_01.angles + (0,-90,0),1,0,1); + var_00 disconnectpaths(); + var_01 disconnectpaths(); +} + +//Function Number: 206 +training_s1_set_squad_passive_and_ignore() +{ + level.allies_s1 = maps\_utility::array_removedead(level.allies_s1); + common_scripts\utility::array_thread(level.allies_s1,::maps\_utility::set_ignoreall,1); + common_scripts\utility::array_thread(level.allies_s1,::maps\_utility::set_ignoreme,1); + common_scripts\utility::array_thread(level.allies_s1,::maps\_utility::set_battlechatter,0); +} + +//Function Number: 207 +training_s1_set_sqaud_cqb_enable() +{ + level.allies_s1 = maps\_utility::array_removedead(level.allies_s1); + common_scripts\utility::array_thread(level.allies_s1,::maps\_utility::enable_cqbwalk); +} + +//Function Number: 208 +training_s1_set_squad_active_and_target() +{ + level.allies_s1 = maps\_utility::array_removedead(level.allies_s1); + common_scripts\utility::array_thread(level.allies_s1,::maps\_utility::set_ignoreall,0); + common_scripts\utility::array_thread(level.allies_s1,::maps\_utility::set_ignoreme,0); + common_scripts\utility::array_thread(level.allies_s1,::maps\_utility::set_battlechatter,1); +} + +//Function Number: 209 +training_s1_set_sqaud_cqb_disable() +{ + level.allies_s1 = maps\_utility::array_removedead(level.allies_s1); + common_scripts\utility::array_thread(level.allies_s1,::maps\_utility::disable_cqbwalk); +} + +//Function Number: 210 +training_s2_set_squad_passive_and_ignore() +{ + level.allies_s2 = maps\_utility::array_removedead(level.allies_s2); + common_scripts\utility::array_thread(level.allies_s2,::maps\_utility::set_ignoreall,1); + common_scripts\utility::array_thread(level.allies_s2,::maps\_utility::set_ignoreme,1); + common_scripts\utility::array_thread(level.allies_s2,::maps\_utility::set_battlechatter,0); +} + +//Function Number: 211 +training_s2_set_squad_active_and_target() +{ + level.allies_s2 = maps\_utility::array_removedead(level.allies_s2); + common_scripts\utility::array_thread(level.allies_s2,::maps\_utility::set_ignoreall,0); + common_scripts\utility::array_thread(level.allies_s2,::maps\_utility::set_ignoreme,0); + common_scripts\utility::array_thread(level.allies_s2,::maps\_utility::set_battlechatter,1); +} + +//Function Number: 212 +warbird_heavy_shooting_think(param_00) +{ + level.player endon("death"); + self endon("death"); + self.mgturret[0] setmode("manual"); + self.mgturret[1] setmode("manual"); + if(!maps\_utility::ent_flag_exist("fire_turrets")) + { + maps\_utility::ent_flag_init("fire_turrets"); + } + + maps\_utility::ent_flag_set("fire_turrets"); + thread warbird_heavy_fire_monitor(); + for(;;) + { + self waittill("warbird_fire"); + maps\_utility::ent_flag_set("fire_turrets"); + thread warbird_heavy_fire(param_00); + self waittill("warbird_stop_firing"); + maps\_utility::ent_flag_clear("fire_turrets"); + } +} + +//Function Number: 213 +warbird_heavy_fire(param_00) +{ + self endon("death"); + var_01 = self.mgturret[0]; + var_02 = self.mgturret[1]; + var_01 notify("stop_burst_fire_unmanned"); + var_02 notify("stop_burst_fire_unmanned"); + var_03 = 0.4; + var_04 = var_03 / 2; + var_01 thread burst_fire_warbird(var_03,0); + var_02 thread burst_fire_warbird(var_03,var_04); + var_05 = common_scripts\utility::get_enemy_team(self.script_team); + while(maps\_utility::ent_flag("fire_turrets")) + { + var_06 = getaiarray(var_05); + if(isdefined(level.flying_attack_drones)) + { + var_07 = level.flying_attack_drones; + } + else + { + var_07 = []; + } + + if(isdefined(level.drones) && isdefined(level.drones[var_05].array)) + { + var_06 = common_scripts\utility::array_combine(var_06,level.drones[var_05].array); + } + + if(var_05 == level.player.team) + { + var_06 = common_scripts\utility::array_add(var_06,level.player); + } + + var_06 = common_scripts\utility::array_combine(var_06,var_07); + var_08 = []; + foreach(var_0A in var_06) + { + if(isdefined(var_0A.ignoreme) && var_0A.ignoreme) + { + continue; + } + else + { + var_08[var_08.size] = var_0A; + } + } + + var_08 = sortbydistance(var_08,self.origin); + var_0C = undefined; + foreach(var_0A in var_08) + { + if(!isdefined(var_0A)) + { + continue; + } + + if(!isalive(var_0A)) + { + continue; + } + + if(isdefined(param_00) && param_00) + { + var_0E = self.mgturret[0] gettagorigin("tag_flash"); + var_0F = var_0A geteye(); + var_10 = vectornormalize(var_0F - var_0E); + var_11 = var_0E + var_10 * 20; + if(!sighttracepassed(var_11,var_0F,0,var_0A,self.mgturret[0])) + { + continue; + } + } + + var_0C = var_0A; + break; + } + + if(isdefined(var_0C)) + { + var_01 settargetentity(var_0C); + var_02 settargetentity(var_0C); + var_01 turretfireenable(); + var_02 turretfireenable(); + var_01 startfiring(); + var_02 startfiring(); + wait_for_warbird_fire_target_done(var_0C,param_00); + var_01 notify("stop_firing"); + var_02 notify("stop_firing"); + var_01 cleartargetentity(); + var_02 cleartargetentity(); + var_01 turretfiredisable(); + var_02 turretfiredisable(); + } + + wait(0.05); + } + + var_01 turretfiredisable(); + var_02 turretfiredisable(); +} + +//Function Number: 214 +warbird_heavy_fire_monitor() +{ + self endon("death"); + self waittill("warbird_stop_firing"); + maps\_utility::ent_flag_clear("fire_turrets"); +} + +//Function Number: 215 +burst_fire_warbird(param_00,param_01) +{ + self endon("death"); + self endon("stop_burst_fire_warbird"); + var_02 = 1; + var_03 = 1; + var_04 = 1; + var_05 = 1; + var_06 = gettime(); + var_07 = "start"; + for(;;) + { + var_08 = var_06 - gettime() * 0.001; + if(self isfiringturret() && var_08 <= 0) + { + if(var_07 != "fire") + { + var_07 = "fire"; + thread doshoottuned(param_00,param_01); + } + + var_08 = var_04 + randomfloat(var_05); + thread turrettimer(var_08); + self waittill("turretstatechange"); + var_08 = var_02 + randomfloat(var_03); + var_06 = gettime() + int(var_08 * 1000); + continue; + } + + if(var_07 != "aim") + { + var_07 = "aim"; + } + + thread turrettimer(var_08); + self waittill("turretstatechange"); + } +} + +//Function Number: 216 +doshoottuned(param_00,param_01) +{ + self endon("death"); + self endon("turretstatechange"); + if(isdefined(param_01) && param_01 > 0) + { + wait(param_01); + } + + for(;;) + { + self shootturret(); + wait(param_00); + } +} + +//Function Number: 217 +turrettimer(param_00) +{ + if(param_00 <= 0) + { + return; + } + + self endon("turretstatechange"); + wait(param_00); + if(isdefined(self)) + { + self notify("turretstatechange"); + } +} + +//Function Number: 218 +military_drone_stationary_think(param_00) +{ + self endon("death"); + if(isdefined(self.script_parameters)) + { + self.script_noteworthy = self.script_parameters; + } + + if(isdefined(self.animation)) + { + self.idleanim = self.animation; + } + else + { + self.idleanim = %patrol_bored_idle; + } + + self.spawner thread maps\_anim::anim_generic_loop(self,self.idleanim); + self.name = " "; + self setlookattext(self.name,&""); + common_scripts\utility::flag_wait(param_00); + self delete(); +} + +//Function Number: 219 +military_drone_runners_think(param_00) +{ + self endon("death"); + if(isdefined(self.script_parameters)) + { + self.script_noteworthy = self.script_parameters; + } + + self.animname = "generic"; + self.name = " "; + self.runanim = maps\_utility::getanim(self.animation); + self.idleanim = %patrol_bored_idle; + common_scripts\utility::flag_wait(param_00); + self delete(); +} + +//Function Number: 220 +military_drone_guards_stationary_think(param_00) +{ + self endon("death"); + if(isdefined(self.script_parameters)) + { + self.script_noteworthy = self.script_parameters; + } + + if(isdefined(self.animation)) + { + self.idleanim = self.animation; + } + else + { + self.idleanim = %patrol_bored_idle; + } + + thread maps\_anim::anim_generic_loop(self,self.idleanim); + common_scripts\utility::flag_waitopen(param_00); + self delete(); +} + +//Function Number: 221 +military_drone_guards_patrol_think(param_00) +{ + self pushplayer(1); + self.animname = "generic"; + self.idleanim = %patrol_bored_idle; + maps\_utility::set_run_anim("active_patrolwalk_gundown"); + maps\_utility::ai_ignore_everything(); + maps\_utility::disable_arrivals(); + maps\_utility::disable_exits(); + self.goalradius = 16; + maps\_utility::set_battlechatter(0); + common_scripts\utility::flag_waitopen(param_00); + self delete(); +} + +//Function Number: 222 +grenade_range_enemy_think() +{ + self waittill("death",var_00); + level.grenade_range_container.aikills++; + level.grenade_range_container notify("score_change"); + if(!isplayer(var_00)) + { + return; + } + + if(common_scripts\utility::flag("flag_obj_grenade_range_tutorial_complete")) + { + } + + level notify("grenade_range_point_scored_100"); +} + +//Function Number: 223 +grenade_range_drone_think() +{ + self endon("no_score"); + grenade_range_drone_death_detect(); + level.grenade_range_container.dronekills++; + level.grenade_range_container notify("score_change"); + var_00 = self.mod; + if(var_00 == "EMP") + { + if(common_scripts\utility::flag("flag_obj_grenade_range_tutorial_complete")) + { + } + + level notify("grenade_range_point_scored_100"); + } + + if(var_00 == "grenade") + { + if(common_scripts\utility::flag("flag_obj_grenade_range_tutorial_complete")) + { + } + + level notify("grenade_range_point_scored_100"); + } + + if(var_00 == "bullet") + { + if(common_scripts\utility::flag("flag_obj_grenade_range_tutorial_complete")) + { + } + + level notify("grenade_range_point_scored_50"); + } +} + +//Function Number: 224 +grenade_range_drone_death_detect() +{ + self.mod = "EMP"; + self endon("emp_death"); + self waittill("death",var_00,var_01,var_02); + switch(var_01) + { + case "MOD_RIFLE_BULLET": + case "MOD_PISTOL_BULLET": + self.mod = "bullet"; + break; + + case "MOD_EXPLOSIVE": + case "MOD_GRENADE_SPLASH": + case "MOD_GRENADE": + self.mod = "grenade"; + break; + + default: + break; + } +} + +//Function Number: 225 +civilian_drone_repair_think(param_00) +{ + self endon("death"); + if(isdefined(self.script_parameters)) + { + self.script_noteworthy = self.script_parameters; + } + + if(self.weapon != "none") + { + maps\_utility::gun_remove(); + } + + if(isdefined(self.animation)) + { + self.idleanim = self.animation; + } + else + { + self.idleanim = %cliffhanger_welder_engine; + } + + self.eaniment = self.spawner; + self.eaniment.origin = self.eaniment.origin + (0,0,-3); + self attach("machinery_welder_handle","tag_inhand"); + thread flashing_welding(); + self.spawner thread maps\_anim::anim_generic_loop(self,"cliffhanger_welder_engine"); + common_scripts\utility::flag_wait(param_00); + self delete(); +} + +//Function Number: 226 +civilian_drone_stationary_think(param_00) +{ + self endon("death"); + if(isdefined(self.script_parameters)) + { + self.script_noteworthy = self.script_parameters; + } + + if(self.weapon != "none") + { + maps\_utility::gun_remove(); + } + + if(isdefined(self.animation)) + { + self.idleanim = self.animation; + } + else + { + self.idleanim = %civilian_stand_idle; + } + + self.spawner thread maps\_anim::anim_generic_loop(self,self.idleanim); + common_scripts\utility::flag_wait(param_00); + self delete(); +} + +//Function Number: 227 +civilian_drone_runners_think(param_00) +{ + self endon("death"); + if(isdefined(self.script_parameters)) + { + self.script_noteworthy = self.script_parameters; + } + + self.animname = "generic"; + self.runanim = maps\_utility::getanim(self.animation); + if(self.weapon != "none") + { + maps\_utility::gun_remove(); + } + + self.idleanim = %civilian_stand_idle; + common_scripts\utility::flag_wait(param_00); + self delete(); +} + +//Function Number: 228 +flashing_welding() +{ + self endon("death"); + thread stop_sparks(); + playfxontag(level._effect["welding_sparks_oneshot_sml"],self,"tag_tip_fx"); +} + +//Function Number: 229 +stop_sparks() +{ + self endon("death"); + for(;;) + { + self waittillmatch("spark off","looping anim"); + self notify("spark off"); + } +} + +//Function Number: 230 +setup_deck_deploy_warbird() +{ + waittillframeend; + self notify("warbird_fire"); + var_00 = get_passengers(); + var_00 thread ignore_until_unloaded(); +} + +//Function Number: 231 +get_passengers() +{ + var_00 = self.riders; + var_01 = []; + foreach(var_03 in var_00) + { + if(!isdefined(var_03.drivingvehicle)) + { + var_01[var_01.size] = var_03; + } + } + + return var_01; +} + +//Function Number: 232 +ignore_until_unloaded() +{ + var_00 = 1; + foreach(var_02 in self) + { + var_02.ignoreme = 1; + var_02 thread wait_until_unloaded(var_00); + var_00++; + } +} + +//Function Number: 233 +wait_until_unloaded(param_00) +{ + self endon("death"); + self waittill("jumpedout"); + self.ignoreme = 0; + goto_node("zipline_path0" + param_00,0,256); + self waittill("goal"); + wait(5); + self delete(); +} + +//Function Number: 234 +warbird_fire(param_00) +{ + self endon("death"); + var_01 = self.mgturret[0]; + var_02 = self.mgturret[1]; + var_03 = 3; + while(maps\_utility::ent_flag("fire_turrets")) + { + var_04 = getaiarray("allies"); + if(!maps\_utility::ent_flag_exist("dont_shoot_player") || !maps\_utility::ent_flag("dont_shoot_player")) + { + var_05 = 33; + if(randomint(100) <= var_05) + { + var_04 = common_scripts\utility::array_add(var_04,level.player); + } + } + + var_06 = []; + foreach(var_08 in var_04) + { + if(isdefined(var_08.ignoreme) && var_08.ignoreme) + { + continue; + } + else + { + var_06[var_06.size] = var_08; + } + } + + var_06 = sortbydistance(var_06,self.origin); + var_0A = undefined; + foreach(var_08 in var_06) + { + if(!isdefined(var_08)) + { + continue; + } + + if(!isalive(var_08)) + { + continue; + } + + if(isdefined(param_00) && param_00) + { + var_0C = self.mgturret[0] gettagorigin("tag_flash"); + var_0D = var_08 geteye(); + var_0E = vectornormalize(var_0D - var_0C); + var_0F = var_0D + var_0E * 20; + if(!sighttracepassed(var_0F,var_0D,0,var_08,self.mgturret[0])) + { + continue; + } + } + + var_0A = var_08; + break; + } + + if(isdefined(var_0A)) + { + var_01 settargetentity(var_0A); + var_02 settargetentity(var_0A); + var_01 turretfireenable(); + var_02 turretfireenable(); + var_01 startfiring(); + var_02 startfiring(); + wait_for_warbird_fire_target_done(var_0A,param_00); + var_01 cleartargetentity(); + var_02 cleartargetentity(); + var_01 turretfiredisable(); + var_02 turretfiredisable(); + } + + wait(var_03); + } + + var_01 turretfiredisable(); + var_02 turretfiredisable(); +} + +//Function Number: 235 +wait_for_warbird_fire_target_done(param_00,param_01) +{ + param_00 endon("death"); + if(!maps\_utility::ent_flag("fire_turrets")) + { + return; + } + + self endon("fire_turrets"); + if(param_00 == level.player) + { + var_02 = 0.6; + } + else + { + var_02 = 3; + } + + var_03 = 0; + while(var_03 < var_02) + { + if(isdefined(param_01) && param_01) + { + var_04 = self.mgturret[0] gettagorigin("tag_flash"); + var_05 = param_00 geteye(); + var_06 = vectornormalize(var_05 - var_04); + var_07 = var_04 + var_06 * 20; + if(!sighttracepassed(var_07,var_05,0,param_00,self.mgturret[0])) + { + return; + } + } + + var_03 = var_03 + 0.3; + wait(0.3); + } +} + +//Function Number: 236 +prep_user_for_drone() +{ + self disableweapons(); + self.ignoreme = 1; + self enableinvulnerability(); + var_00 = getaiarray("axis"); + foreach(var_02 in var_00) + { + var_02 thermaldrawenable(); + } + + var_04 = getaiarray("allies"); + foreach(var_02 in var_04) + { + var_02 thermaldrawenable(); + } + + wait 0.05; + level.player thermalvisionon(); +} + +//Function Number: 237 +make_drone_fully_controllable(param_00) +{ + param_00 endon("death"); + level.player thread monitor_drone_stick_deflection(param_00); + wait 0.05; + for(;;) + { + var_01 = level.player.drone_control["stick_input_move"] * 10; + var_02 = getdroneperlinovertime(5,3,2,0.5); + var_03 = param_00 setvehgoalpos(param_00.origin + var_01 + var_02); + wait 0.05; + } +} + +//Function Number: 238 +getdroneperlinovertime(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_03)) + { + param_03 = 1; + } + + var_04 = (perlinnoise2d(gettime() * 0.001 * 0.05,10,param_00,param_01,param_02) * param_03,perlinnoise2d(gettime() * 0.001 * 0.05,20,param_00,param_01,param_02) * param_03,perlinnoise2d(gettime() * 0.001 * 0.05,30,param_00,param_01,param_02) * param_03); + return var_04; +} + +//Function Number: 239 +monitor_drone_stick_deflection(param_00) +{ + param_00 endon("death"); + for(;;) + { + var_01 = self getnormalizedmovement(); + var_01 = (var_01[0],var_01[1] * -1,0); + var_02 = self.angles; + var_03 = vectortoangles(var_01); + var_04 = common_scripts\utility::flat_angle(combineangles(var_02,var_03)); + var_05 = anglestoforward(var_04) * length(var_01); + self.drone_control["stick_input_move"] = var_05; + wait 0.05; + } +} + +//Function Number: 240 +unlink_player_from_drone(param_00) +{ + level.player.dronetag unlink(); + level.player unlink(); + level.player maps\_utility::teleport_player(param_00); + wait 0.05; + level.player remove_user_from_drone(); + level.player lerpfov(65,0); +} + +//Function Number: 241 +remove_user_from_drone() +{ + self enableweapons(); + self.ignoreme = 0; + self disableinvulnerability(); + level.player thermalvisionoff(); +} + +//Function Number: 242 +recovery_breach_setup_player() +{ + level.player enableinvulnerability(); + level.player disableweaponswitch(); + level.player disableoffhandweapons(); + level.player allowcrouch(0); + level.player allowprone(0); + level.player allowsprint(0); + level.player allowjump(0); +} + +//Function Number: 243 +recovery_breach_cleanup_player() +{ + level.player disableinvulnerability(); + level.player enableweaponswitch(); + level.player enableoffhandweapons(); + level.player allowcrouch(1); + level.player allowprone(1); + level.player allowsprint(1); + level.player allowjump(1); +} + +//Function Number: 244 +breach_slow_down(param_00) +{ +} + +//Function Number: 245 +enable_player_control(param_00) +{ + level.player unlink(); + level.player_rig delete(); +} + +//Function Number: 246 +spawn_player_rig(param_00,param_01) +{ + if(!isdefined(param_00)) + { + param_00 = "player_rig"; + } + + if(!isdefined(param_01)) + { + param_01 = level.player.origin; + } + + var_02 = maps\_utility::spawn_anim_model(param_00); + return var_02; +} + +//Function Number: 247 +disable_trigger_while_player_animating(param_00) +{ + level endon(param_00); + for(;;) + { + if(isdefined(self.trigger_off)) + { + common_scripts\utility::trigger_on(); + } + + wait(0.05); + } +} + +//Function Number: 248 +goto_node(param_00,param_01,param_02) +{ + self endon("stop_goto_node"); + if(!isdefined(param_02)) + { + param_02 = 16; + } + + maps\_utility::set_goal_radius(param_02); + if(isstring(param_00)) + { + var_03 = getnode(param_00,"script_noteworthy"); + } + else + { + var_03 = param_01; + } + + if(isdefined(var_03)) + { + maps\_utility::set_goal_node(var_03); + } + else + { + var_03 = common_scripts\utility::getstruct(param_00,"script_noteworthy"); + maps\_utility::set_goal_pos(var_03.origin); + } + + if(param_01) + { + self waittill("goal"); + } +} + +//Function Number: 249 +leaderboard_precache() +{ + precachemodel("rec_sb_row"); + for(var_00 = 0;var_00 <= 9;var_00++) + { + precachemodel("rec_sb_" + var_00); + } + + for(var_00 = 1;var_00 <= 9;var_00++) + { + precachemodel("rec_sb_name_0" + var_00); + } + + precachemodel("rec_sb_name_10"); + precachemodel("rec_sb_name_11"); + precachemodel("rec_sb_drone_range"); + precachemodel("rec_sb_ar_range"); + precachemodel("rec_sb_shooting_range"); +} + +//Function Number: 250 +leaderboard_make(param_00,param_01,param_02) +{ + var_03 = spawnstruct(); + var_03.isleaderboard = 1; + var_03.maxentries = param_00; + var_03.range_name = param_01; + if(isdefined(param_02)) + { + var_03.shouldsortscoresinascendingorder = param_02; + } + else + { + var_03.shouldsortscoresinascendingorder = 0; + } + + var_03.playerscores = []; + var_03 leaderboard_defaults(param_01); + var_03.leaderboard_screen = var_03 leaderboard_screen_make(); + var_03 leaderboard_screen_update(); + return var_03; +} + +//Function Number: 251 +leaderboard_compare_scores(param_00,param_01) +{ + var_02 = self; + return (var_02.shouldsortscoresinascendingorder && param_01 < param_00) || !var_02.shouldsortscoresinascendingorder && param_01 > param_00; +} + +//Function Number: 252 +leaderboard_sort_scores() +{ + var_00 = self.playerscores; + for(var_01 = 0;var_01 < var_00.size - 1;var_01++) + { + for(var_02 = var_01 + 1;var_02 < var_00.size;var_02++) + { + if(leaderboard_compare_scores(var_00[var_01].playerscore,var_00[var_02].playerscore) || var_00[var_02].playerscore == var_00[var_01].playerscore && var_00[var_02].playername == "player") + { + var_03 = var_00[var_02]; + var_00[var_02] = var_00[var_01]; + var_00[var_01] = var_03; + } + } + } + + self.playerscores = var_00; +} + +//Function Number: 253 +leaderboard_record(param_00,param_01) +{ + var_02 = self; + if(param_00 == "player") + { + for(var_03 = 0;var_03 < var_02.playerscores.size;var_03++) + { + var_04 = var_02.playerscores[var_03]; + if(var_04.playername == param_00) + { + if(var_02 leaderboard_compare_scores(var_04.playerscore,param_01)) + { + var_04.playerscore = param_01; + var_02 leaderboard_sort_scores(); + } + + return; + } + } + } + + if(var_02.playerscores.size == var_02.maxentries && var_02 leaderboard_compare_scores(param_01,var_02.playerscores[var_02.maxentries - 1].playerscore)) + { + return; + } + + var_04 = spawnstruct(); + var_04.isleaderboardentry = 1; + var_04.playername = param_00; + var_04.playerscore = param_01; + if(var_02.playerscores.size == var_02.maxentries) + { + var_02.playerscores[var_02.maxentries - 1] = var_04; + } + else + { + var_02.playerscores[var_02.playerscores.size] = var_04; + } + + var_02 leaderboard_sort_scores(); +} + +//Function Number: 254 +leaderboard_defaults(param_00) +{ + var_01 = []; + var_01["drone_range"] = "sb_drone_range"; + var_01["grenade_range"] = "sb_grenade_range"; + var_01["shooting_range"] = "sb_shooting_range"; + var_02 = []; + var_02["drone_range"] = "rec_sb_drone_range"; + var_02["grenade_range"] = "rec_sb_ar_range"; + var_02["shooting_range"] = "rec_sb_shooting_range"; + if(param_00 == "shooting_range") + { + leaderboard_record("name_01",2375); + leaderboard_record("name_02",2050); + leaderboard_record("name_03",1825); + leaderboard_record("name_04",1650); + leaderboard_record("name_05",1300); + leaderboard_record("name_06",1150); + leaderboard_record("name_07",975); + leaderboard_record("name_08",775); + leaderboard_record("name_09",425); + leaderboard_record("name_10",200); + leaderboard_record("player",0); + } + else if(param_00 == "grenade_range") + { + leaderboard_record("name_01",1800); + leaderboard_record("name_02",1550); + leaderboard_record("name_03",1400); + leaderboard_record("name_04",1200); + leaderboard_record("name_05",950); + leaderboard_record("name_06",750); + leaderboard_record("name_07",600); + leaderboard_record("name_08",300); + leaderboard_record("name_09",250); + leaderboard_record("name_10",100); + } + else if(param_00 == "drone_range") + { + leaderboard_record("name_01",15); + leaderboard_record("name_02",21); + leaderboard_record("name_03",26); + leaderboard_record("name_04",31); + leaderboard_record("name_05",34); + leaderboard_record("name_06",36); + leaderboard_record("name_07",40); + leaderboard_record("name_08",49); + leaderboard_record("name_09",57); + leaderboard_record("name_10",60); + } + + var_03 = []; + var_03["player"] = "rec_sb_name_01"; + var_03["name_01"] = "rec_sb_name_11"; + var_03["name_02"] = "rec_sb_name_02"; + var_03["name_03"] = "rec_sb_name_03"; + var_03["name_04"] = "rec_sb_name_04"; + var_03["name_05"] = "rec_sb_name_05"; + var_03["name_06"] = "rec_sb_name_06"; + var_03["name_07"] = "rec_sb_name_07"; + var_03["name_08"] = "rec_sb_name_08"; + var_03["name_09"] = "rec_sb_name_09"; + var_03["name_10"] = "rec_sb_name_10"; + var_04 = spawnstruct(); + var_04.titlemap = var_02; + var_04.namemodelmap = var_03; + var_04.screennamemap = var_01; + self.settings = var_04; +} + +//Function Number: 255 +leaderboard_screen_make() +{ + var_00 = self.range_name; + var_01 = getent(self.settings.screennamemap[var_00],"targetname"); + var_01.isleaderboardscreen = 1; + var_02 = spawn("script_model",var_01.origin); + var_02 setmodel(self.settings.titlemap[var_00]); + var_02 linkto(var_01,"title",(0,0,0),(0,90,0)); + var_01.rows = []; + for(var_03 = 0;var_03 < 10;var_03++) + { + var_04 = spawn("script_model",var_01.origin); + var_04.isleaderboardscreenrow = 1; + var_01.rows[var_03] = var_04; + var_04 setmodel("rec_sb_row"); + var_04 linkto(var_01,"row" + var_03 + 1,(0,0,0),(0,0,0)); + var_04.nametagmodel = spawn("script_model",var_01.origin); + var_04.nametagmodel linkto(var_04,"name1",(0,0,0),(0,90,0)); + var_04.digitmodels = []; + var_04.digitmodels[0] = spawn("script_model",var_01.origin); + var_04.digitmodels[0] linkto(var_04,"digit1",(0,0,0),(0,90,0)); + var_04.digitmodels[1] = spawn("script_model",var_01.origin); + var_04.digitmodels[1] linkto(var_04,"digit2",(0,0,0),(0,90,0)); + var_04.digitmodels[2] = spawn("script_model",var_01.origin); + var_04.digitmodels[2] linkto(var_04,"digit3",(0,0,0),(0,90,0)); + var_04.digitmodels[3] = spawn("script_model",var_01.origin); + var_04.digitmodels[3] linkto(var_04,"digit4",(0,0,0),(0,90,0)); + } + + return var_01; +} + +//Function Number: 256 +leaderboard_score_to_digits(param_00) +{ + var_01 = []; + var_02 = param_00; + var_03 = var_02 % 10; + var_02 = int(var_02 / 10); + var_01[0] = "rec_sb_" + var_03; + var_03 = var_02 % 10; + var_02 = int(var_02 / 10); + var_01[1] = "rec_sb_" + var_03; + var_03 = var_02 % 10; + var_02 = int(var_02 / 10); + var_01[2] = "rec_sb_" + var_03; + var_03 = var_02 % 10; + var_02 = int(var_02 / 10); + var_01[3] = "rec_sb_" + var_03; + var_01 = common_scripts\utility::array_reverse(var_01); + return var_01; +} + +//Function Number: 257 +leaderboard_screen_update() +{ + var_00 = self; + var_01 = self.leaderboard_screen; + for(var_02 = 0;var_02 < 10;var_02++) + { + var_03 = var_01.rows[var_02]; + var_04 = var_00.playerscores[var_02]; + var_05 = var_00.settings.namemodelmap[var_04.playername]; + var_03.nametagmodel setmodel(var_05); + var_06 = leaderboard_score_to_digits(var_04.playerscore); + var_03.digitmodels[0] setmodel(var_06[0]); + var_03.digitmodels[1] setmodel(var_06[1]); + var_03.digitmodels[2] setmodel(var_06[2]); + var_03.digitmodels[3] setmodel(var_06[3]); + } +} + +//Function Number: 258 +play_reload_malfunction_on_next_reload(param_00) +{ + level notify("play_reload_malfunction_on_next_reload_stop"); + level endon("play_reload_malfunction_on_next_reload_stop"); + if(!common_scripts\utility::flag_exist("reload_malfunction")) + { + common_scripts\utility::flag_init("reload_malfunction"); + } + + common_scripts\utility::flag_set("reload_malfunction"); + if(isdefined(param_00)) + { + level endon(param_00); + } + + if(!isdefined(level.player.numofreloadmalfunctions)) + { + level.player.numofreloadmalfunctions = 0; + } + + var_01 = undefined; + var_02 = undefined; + var_03 = undefined; + childthread reload_malfunction_disable_on_grenade_throw(); + for(;;) + { + wait 0.05; + if(!common_scripts\utility::flag("reload_malfunction")) + { + common_scripts\utility::flag_wait("reload_malfunction"); + } + + var_01 = level.player getcurrentweapon(); + var_02 = weaponclipsize(var_01); + var_03 = level.player getweaponammoclip(var_01); + var_04 = []; + var_05 = []; + if(issubstr(var_01,"bal27")) + { + var_04 = [1,2]; + var_05 = [%vm_bal_27_reload_exo_malfunction_1,%vm_bal_27_reload_exo_malfunction_2]; + } + else if(issubstr(var_01,"titan45")) + { + var_04 = [3,4]; + var_05 = [%vm_titan45_reload_exo_malfunction_1,%vm_titan45_reload_exo_malfunction_2]; + } + else if(issubstr(var_01,"ak12")) + { + var_04 = [5,6]; + var_05 = [%vm_ak12_reload_exo_malfunction_1,%vm_ak12_reload_exo_malfunction_2]; + } + else if(issubstr(var_01,"vbr")) + { + var_04 = [7,8]; + var_05 = [%vm_vbr_reload_exo_malfunction_1,%vm_vbr_reload_exo_malfunction_2]; + } + else if(issubstr(var_01,"kf5")) + { + var_04 = [11,12]; + var_05 = [%vm_kf5_reload_exo_malfunction_1,%vm_kf5_reload_exo_malfunction_2]; + } + else if(issubstr(var_01,"rhino")) + { + var_04 = [9,10]; + var_05 = [%vm_rhino_reload_exo_malfunction_1,%vm_rhino_reload_exo_malfunction_2]; + } + else + { + continue; + } + + if(var_03 < var_02 && level.player usebuttonpressed() && !level.player isholdinggrenade() && !level.player isreloading()) + { + break; + } + + if(var_03 < 2) + { + break; + } + } + + thread play_reload_malfunction(var_04[level.player.numofreloadmalfunctions],var_05[level.player.numofreloadmalfunctions],var_01,var_02,var_03); + level.player.numofreloadmalfunctions = level.player.numofreloadmalfunctions + 1 % var_04.size; + level notify("play_reload_malfunction_on_next_reload_stop"); +} + +//Function Number: 259 +reload_malfunction_disable_on_grenade_throw() +{ + for(;;) + { + level.player common_scripts\utility::waittill_any("grenade_fire","grenade_pullback"); + common_scripts\utility::flag_clear("reload_malfunction"); + wait(1.5); + common_scripts\utility::flag_set("reload_malfunction"); + } +} + +//Function Number: 260 +play_reload_malfunction(param_00,param_01,param_02,param_03,param_04) +{ + thread play_rumble_training_s1_reload_malfunction(); + common_scripts\utility::flag_set("flag_vo_training_s1_reload_malfunction"); + level.player allowmantle(0); + level.player allowads(0); + level.player disableweaponpickup(); + level.player disableweaponswitch(); + level.player enableinvulnerability(); + setsaveddvar("ammoCounterHide","1"); + soundscripts\_snd::snd_message("camp_david_reload_malfunction",param_00,param_02); + level.player setviewmodelanim(param_00); + var_05 = level.player setweaponammostock(param_02); + level.player setweaponammoclip(param_02,param_03); + level.player setweaponammostock(param_02,var_05 - param_03 - param_04); + wait(getanimlength(param_01)); + level.player allowads(1); + level.player enableweaponpickup(); + level.player enableweaponswitch(); + level.player allowmantle(1); + level.player disableinvulnerability(); + setsaveddvar("ammoCounterHide","0"); +} + +//Function Number: 261 +lerp_anim_weight_on_actor_over_time(param_00,param_01,param_02,param_03) +{ + var_04 = int(param_01 / 0.05); + var_05 = param_03 - param_02 / var_04; + var_06 = param_02; + for(var_07 = 0;var_07 < var_04;var_07++) + { + self setanim(param_00,var_06,0.05,1); + var_06 = var_06 + var_05; + wait 0.05; + } +} + +//Function Number: 262 +lerp_in_turn_rate(param_00) +{ + var_01 = 0; + var_02 = 1 / param_00 / 0.05; + var_03 = getdvarint("aim_turnrate_pitch"); + var_04 = getdvarint("aim_turnrate_pitch_ads"); + var_05 = getdvarint("aim_turnrate_yaw"); + var_06 = getdvarint("aim_turnrate_yaw_ads"); + var_07 = getdvarint("aim_accel_turnrate_lerp"); + while(var_01 <= 1) + { + setsaveddvar("aim_turnrate_pitch",int(var_01 * var_03)); + setsaveddvar("aim_turnrate_pitch_ads",int(var_01 * var_04)); + setsaveddvar("aim_turnrate_yaw",int(var_01 * var_05)); + setsaveddvar("aim_turnrate_yaw_ads",int(var_01 * var_06)); + setsaveddvar("aim_accel_turnrate_lerp",int(var_01 * var_07)); + wait 0.05; + var_01 = var_01 + var_02; + } + + setsaveddvar("aim_turnrate_pitch",var_03); + setsaveddvar("aim_turnrate_pitch_ads",var_04); + setsaveddvar("aim_turnrate_yaw",var_05); + setsaveddvar("aim_turnrate_yaw_ads",var_06); + setsaveddvar("aim_accel_turnrate_lerp",var_07); +} + +//Function Number: 263 +waittill_drones_dead(param_00) +{ + foreach(var_02 in param_00) + { + if(isdefined(var_02) && !isremovedentity(var_02)) + { + var_02 waittill("death"); + } + } +} + +//Function Number: 264 +waittill_s2_drone_ambush_done(param_00) +{ + while(param_00.size > 0 && !common_scripts\utility::flag("training_s2_start_enter_patio")) + { + param_00 = maps\_utility::array_removedead(param_00); + wait 0.05; + } +} + +//Function Number: 265 +training_s2_drone_ambush_attack() +{ + level endon("training_s2_living_room_drone_attack_done"); + var_00 = common_scripts\utility::getstruct("attacklocation3","targetname"); + var_01 = common_scripts\utility::getstructarray(var_00.target,"targetname"); + magicbullet("iw5_bal27_sp_silencer01_variablereddot",var_00.origin,var_01[0].origin); + wait(1); + magicbullet("iw5_bal27_sp_silencer01_variablereddot",var_00.origin,var_01[1].origin); + wait(0.5); + magicbullet("iw5_bal27_sp_silencer01_variablereddot",var_00.origin,var_01[2].origin); + wait(0.5); + magicbullet("iw5_bal27_sp_silencer01_variablereddot",var_00.origin,var_01[3].origin); + wait(0.5); + magicbullet("iw5_bal27_sp_silencer01_variablereddot",var_00.origin,var_01[4].origin); + wait(0.25); + magicbullet("iw5_bal27_sp_silencer01_variablereddot",var_00.origin,var_01[5].origin); + wait(0.5); + magicbullet("iw5_bal27_sp_silencer01_variablereddot",var_00.origin,var_01[6].origin); + wait(0.5); + magicbullet("iw5_bal27_sp_silencer01_variablereddot",var_00.origin,var_01[7].origin); +} \ No newline at end of file diff --git a/AW/PC/maps/recovery_vo.gsc b/AW/PC/maps/recovery_vo.gsc new file mode 100644 index 0000000..300b7cf --- /dev/null +++ b/AW/PC/maps/recovery_vo.gsc @@ -0,0 +1,2181 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: recovery_vo.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 128 + * Decompile Time: 1843 ms + * Timestamp: 4/22/2024 2:35:03 AM +*******************************************************************/ + +//Function Number: 1 +prepare_dialogue() +{ + init_dialogue_flags(); + thread play_dialogue(); + thread init_pcap_vo(); + level.scr_sound["gideon"]["rec_gdn_areasclearkeepmoving"] = "rec_gdn_areasclearkeepmoving"; + level.scr_sound["gideon"]["rec_gdn_yourdronesdown"] = "rec_gdn_yourdronesdown"; + level.scr_sound["gideon"]["rec_gdn_useyoursmartgrenades"] = "rec_gdn_useyoursmartgrenades"; + level.scr_sound["gideon"]["rec_gdn_pushforward"] = "rec_gdn_pushforward"; + level.scr_sound["gideon"]["rec_gdn_dontletup"] = "rec_gdn_dontletup"; + level.scr_sound["joker"]["rec_jkr_getathreatgrenadeon"] = "rec_jkr_getathreatgrenadeon"; + level.scr_sound["joker"]["rec_jkr_mitchellyoualright"] = "rec_jkr_mitchellyoualright"; + level.scr_sound["joker"]["rec_jkr_mitchellyoualright2"] = "rec_jkr_mitchellyoualright2"; + level.scr_sound["joker"]["rec_jkr_poolsclear2"] = "rec_jkr_poolsclear2"; + level.scr_sound["joker"]["rec_jkr_poolsclear3"] = "rec_jkr_poolsclear3"; + level.scr_sound["joker"]["rec_jkr_whatthehellswrongwith"] = "rec_jkr_whatthehellswrongwith"; + level.scr_sound["joker"]["rec_jkr_thehellswrongwithyour"] = "rec_jkr_thehellswrongwithyour"; + level.scr_sound["joker"]["rec_jkr_youusedthewrongdamn"] = "rec_jkr_youusedthewrongdamn"; + level.scr_sound["joker"]["rec_jkr_hitemmitchell"] = "rec_jkr_hitemmitchell"; + level.scr_radio["rec_pa_exomark3demonstrationbeginning"] = "rec_pa_exomark3demonstrationbeginning"; + level.scr_radio["rec_pa_remindersecuritybadgesmustbe"] = "rec_pa_remindersecuritybadgesmustbe"; + level.scr_sound["joker"]["rec_jkr_poppinsmoke"] = "rec_jkr_poppinsmoke"; + level.scr_sound["gideon"]["rec_gdn_useyourshield"] = "rec_gdn_useyourshield"; + level.scr_sound["gideon"]["rec_gdn_useoverdrive"] = "rec_gdn_useoverdrive"; + level.scr_radio["rec_pa_resettingsimulation"] = "rec_pa_resettingsimulation"; + level.scr_radio["rec_ch11_raptor23cominginto"] = "rec_ch11_raptor23cominginto"; + level.scr_sound["ilona"]["rec_iln1_shit"] = "rec_iln1_shit"; + level.scr_sound["gideon"]["rec_gdn_goinsidemitchell"] = "rec_gdn_goinsidemitchell"; + level.scr_sound["gideon"]["rec_gdn_getyourarmfixedmitchell"] = "rec_gdn_getyourarmfixedmitchell"; + level.scr_sound["gideon"]["rec_gdn_theyrewaiting"] = "rec_gdn_theyrewaiting"; + level.scr_sound["gideon"]["rec_gdn_shehadafamilymitchell"] = "rec_gdn_shehadafamilymitchell"; + level.scr_sound["gideon"]["rec_gdn_good2"] = "rec_gdn_good2"; + level.scr_sound["gideon"]["rec_gdn_grenadesonlymitchell"] = "rec_gdn_grenadesonlymitchell"; + level.scr_sound["gideon"]["rec_gdn_topjob"] = "rec_gdn_topjob"; + level.scr_sound["gideon"]["rec_gdn_heh3"] = "rec_gdn_heh3"; + level.scr_sound["gideon"]["rec_gdn_averageisright"] = "rec_gdn_averageisright"; + level.scr_sound["gideon"]["rec_gdn_theotherelevatormitchell"] = "rec_gdn_theotherelevatormitchell"; + level.scr_sound["gideon"]["rec_gdn_chooseyourloadout"] = "rec_gdn_chooseyourloadout"; + level.scr_sound["gideon"]["rec_gdn_tossathreatgrenade"] = "rec_gdn_tossathreatgrenade"; + level.scr_sound["gideon"]["rec_gdn_tossathreatgrenade2"] = "rec_gdn_tossathreatgrenade2"; + level.scr_radio["rec_cm1_activatingdronetraining"] = "rec_cm1_activatingdronetraining"; + level.scr_radio["rec_cm1_losingconnection"] = "rec_cm1_losingconnection"; + level.scr_radio["rec_cm1_dronetrainingcomplete"] = "rec_cm1_dronetrainingcomplete"; + level.scr_sound["joker"]["rec_jkr_welldothisquiet"] = "rec_jkr_welldothisquiet"; + level.scr_sound["gideon"]["rec_gdn_gettothewarbirdmitchell"] = "rec_gdn_gettothewarbirdmitchell"; + level.scr_sound["gideon"]["rec_gdn_jokerwerebringingmitchellover"] = "rec_gdn_jokerwerebringingmitchellover"; + level.scr_radio["rec_jkr_yougotitboss"] = "rec_jkr_yougotitboss"; + level.scr_sound["gideon"]["rec_gdn_alrightshowsoverletsmove"] = "rec_gdn_alrightshowsoverletsmove"; + level.scr_sound["ambient_soldier_vo_01"]["rec_at11_theysaiditwasa"] = "rec_at11_theysaiditwasa"; + level.scr_sound["ambient_soldier_vo_02"]["rec_at2_thosefuckersgetbolderby"] = "rec_at2_thosefuckersgetbolderby"; + level.scr_sound["ambient_soldier_vo_01"]["rec_at11_killedeveryhostage"] = "rec_at11_killedeveryhostage"; + level.scr_sound["ambient_soldier_vo_02"]["rec_at2_thenwewontnegotiateeither"] = "rec_at2_thenwewontnegotiateeither"; + level.scr_sound["ambient_soldier_vo_03"]["rec_at11_theysaiditwasa"] = "rec_at11_theysaiditwasa"; + level.scr_sound["ambient_soldier_vo_04"]["rec_at2_thosefuckersgetbolderby"] = "rec_at2_thosefuckersgetbolderby"; + level.scr_sound["ambient_soldier_vo_03"]["rec_at11_killedeveryhostage"] = "rec_at11_killedeveryhostage"; + level.scr_sound["ambient_soldier_vo_04"]["rec_at2_thenwewontnegotiateeither"] = "rec_at2_thenwewontnegotiateeither"; + level.scr_sound["ambient_soldier_vo_05"]["rec_at11_theysaiditwasa"] = "rec_at11_theysaiditwasa"; + level.scr_sound["ambient_soldier_vo_06"]["rec_at2_thosefuckersgetbolderby"] = "rec_at2_thosefuckersgetbolderby"; + level.scr_sound["ambient_soldier_vo_05"]["rec_at11_killedeveryhostage"] = "rec_at11_killedeveryhostage"; + level.scr_sound["ambient_soldier_vo_06"]["rec_at2_thenwewontnegotiateeither"] = "rec_at2_thenwewontnegotiateeither"; + level.scr_sound["ambient_soldier_vo_01"]["rec_at3_nearlybrokehisneckusing"] = "rec_at3_nearlybrokehisneckusing"; + level.scr_sound["ambient_soldier_vo_02"]["rec_at4_justtakesskillman"] = "rec_at4_justtakesskillman"; + level.scr_sound["ambient_soldier_vo_01"]["rec_at3_soyouveneverusedit"] = "rec_at3_soyouveneverusedit"; + level.scr_sound["ambient_soldier_vo_02"]["rec_at4_hellnoyoucrazy"] = "rec_at4_hellnoyoucrazy"; + level.scr_sound["ambient_soldier_vo_03"]["rec_at3_nearlybrokehisneckusing"] = "rec_at3_nearlybrokehisneckusing"; + level.scr_sound["ambient_soldier_vo_04"]["rec_at4_justtakesskillman"] = "rec_at4_justtakesskillman"; + level.scr_sound["ambient_soldier_vo_03"]["rec_at3_soyouveneverusedit"] = "rec_at3_soyouveneverusedit"; + level.scr_sound["ambient_soldier_vo_04"]["rec_at4_hellnoyoucrazy"] = "rec_at4_hellnoyoucrazy"; + level.scr_sound["ambient_soldier_vo_05"]["rec_at3_nearlybrokehisneckusing"] = "rec_at3_nearlybrokehisneckusing"; + level.scr_sound["ambient_soldier_vo_06"]["rec_at4_justtakesskillman"] = "rec_at4_justtakesskillman"; + level.scr_sound["ambient_soldier_vo_05"]["rec_at3_soyouveneverusedit"] = "rec_at3_soyouveneverusedit"; + level.scr_sound["ambient_soldier_vo_06"]["rec_at4_hellnoyoucrazy"] = "rec_at4_hellnoyoucrazy"; + level.scr_sound["gideon"]["rec_gdn_useyourthreatgrenadeagain"] = "rec_gdn_useyourthreatgrenadeagain"; + level.scr_sound["gideon"]["rec_gdn_shootthroughwallstohit"] = "rec_gdn_shootthroughwallstohit"; + level.scr_sound["gideon"]["rec_gdn_getintheelevator"] = "rec_gdn_getintheelevator"; + level.scr_sound["gideon"]["rec_gdn_intheelevatornow"] = "rec_gdn_intheelevatornow"; + level.scr_sound["gideon"]["rec_gdn_moveitrookie"] = "rec_gdn_moveitrookie"; + level.scr_sound["gideon"]["rec_gdn_goodjob"] = "rec_gdn_goodjob"; + level.scr_sound["gideon"]["rec_gdn_fuckme2"] = "rec_gdn_fuckme2"; + level.scr_sound["gideon"]["rec_gdn_watchthefriendlies"] = "rec_gdn_watchthefriendlies"; + level.scr_sound["gideon"]["rec_gdn_theoverdrivebatteryburnsup"] = "rec_gdn_theoverdrivebatteryburnsup"; + level.scr_sound["gideon"]["rec_gdn_itllbeachallengewith"] = "rec_gdn_itllbeachallengewith"; + level.scr_radio["rec_cmr1_yourscorewasexcellent"] = "rec_cmr1_yourscorewasexcellent"; + level.scr_radio["rec_cmr1_beginround3"] = "rec_cmr1_beginround3"; + level.scr_radio["rec_cmr1_beginround2"] = "rec_cmr1_beginround2"; + level.scr_radio["rec_cmr1_useoverdrive"] = "rec_cmr1_useoverdrive"; + level.scr_sound["irons"]["rec_irs_hesreadyforrealwork"] = "rec_irs_hesreadyforrealwork"; + level.scr_sound["gideon"]["rec_gdn_hesgettingtheresir"] = "rec_gdn_hesgettingtheresir"; + level.scr_sound["irons"]["rec_irs_lookslikewehavean"] = "rec_irs_lookslikewehavean"; + level.scr_sound["gideon"]["rec_gdn_mitchelloverhere"] = "rec_gdn_mitchelloverhere"; + level.scr_sound["gideon"]["rec_gdn_gettothewarbird"] = "rec_gdn_gettothewarbird"; + level.scr_sound["gideon"]["rec_gdn_theresourexfil"] = "rec_gdn_theresourexfil"; + level.scr_sound["gideon"]["rec_gdn_copyprophetalrightdigin"] = "rec_gdn_copyprophetalrightdigin"; + level.scr_radio["rec_prt_copyatlaszeroone2"] = "rec_prt_copyatlaszeroone2"; + level.scr_sound["gideon"]["rec_gdn_prophetpackageissecure"] = "rec_gdn_prophetpackageissecure"; + level.scr_sound["gideon"]["rec_gdn_openthefuckingdoormitchell"] = "rec_gdn_openthefuckingdoormitchell"; + level.scr_sound["gideon"]["rec_gdn_mitchellsecurethepresident"] = "rec_gdn_mitchellsecurethepresident"; + level.scr_sound["gideon"]["rec_gdn_getthepresidentinside"] = "rec_gdn_getthepresidentinside"; + level.scr_radio["rec_prt_copythatatlaszeroone"] = "rec_prt_copythatatlaszeroone"; + level.scr_sound["gideon"]["rec_gdn_prophetwereapproachiongthenorth"] = "rec_gdn_prophetwereapproachiongthenorth"; + level.scr_sound["gideon"]["rec_gdn_keepmoving"] = "rec_gdn_keepmoving"; + level.scr_sound["gideon"]["rec_gdn_gogo"] = "rec_gdn_gogo"; + level.scr_sound["gideon"]["rec_gdn_copythatprophet"] = "rec_gdn_copythatprophet"; + level.scr_radio["rec_prt_atlaszeroonebeadvisedwe"] = "rec_prt_atlaszeroonebeadvisedwe"; + level.scr_sound["gideon"]["rec_gdn_useyourdrone"] = "rec_gdn_useyourdrone"; + level.scr_sound["gideon"]["rec_gdn_getyourdroneinthe"] = "rec_gdn_getyourdroneinthe"; + level.scr_sound["gideon"]["rec_gdn_launchyourassaultdrone"] = "rec_gdn_launchyourassaultdrone"; + level.scr_sound["gideon"]["rec_gdn_mitchelluseyourassaultdrone"] = "rec_gdn_mitchelluseyourassaultdrone"; + level.scr_sound["gideon"]["rec_gdn_useyouremps"] = "rec_gdn_useyouremps"; + level.scr_sound["joker"]["rec_jkr_drones"] = "rec_jkr_drones"; + level.scr_sound["gideon"]["rec_gdn_confirmedstaybehindus"] = "rec_gdn_confirmedstaybehindus"; + level.scr_sound["president"]["rec_pts_alphazulutango"] = "rec_pts_alphazulutango"; + level.scr_sound["gideon"]["rec_gdn_mr"] = "rec_gdn_mr"; + level.scr_sound["joker"]["rec_jkr_clear3"] = "rec_jkr_clear3"; + level.scr_sound["gideon"]["rec_gdn_breachthedoor"] = "rec_gdn_breachthedoor"; + level.scr_sound["gideon"]["rec_gdn_bustthatdoormitchell"] = "rec_gdn_bustthatdoormitchell"; + level.scr_sound["gideon"]["rec_gdn_hitthedoormitchell"] = "rec_gdn_hitthedoormitchell"; + level.scr_sound["gideon"]["rec_gdn_mitchellwherethehellare"] = "rec_gdn_mitchellwherethehellare"; + level.scr_sound["gideon"]["rec_gdn_mitchellgettothemedia"] = "rec_gdn_mitchellgettothemedia"; + level.scr_sound["gideon"]["rec_gdn_contact"] = "rec_gdn_contact"; + level.scr_sound["joker"]["rec_jkr_goingthroughthelivingroom"] = "rec_jkr_goingthroughthelivingroom"; + level.scr_sound["joker"]["rec_jkr_enteringthekitchen"] = "rec_jkr_enteringthekitchen"; + level.scr_sound["joker"]["rec_jkr_takingthefrontentrance"] = "rec_jkr_takingthefrontentrance"; + level.scr_sound["gideon"]["rec_gdn_alrightpickyourentrypoint"] = "rec_gdn_alrightpickyourentrypoint"; + level.scr_sound["gideon"]["rec_gdn_clearmoveup"] = "rec_gdn_clearmoveup"; + level.scr_sound["gideon"]["rec_gdn_takeemdown"] = "rec_gdn_takeemdown"; + level.scr_sound["joker"]["rec_jkr_heretheycome"] = "rec_jkr_heretheycome"; + level.scr_radio["rec_prt_atlaszeroonewearetracking2"] = "rec_prt_atlaszeroonewearetracking2"; + level.scr_sound["gideon"]["rec_gdn_okmyleadmyway"] = "rec_gdn_okmyleadmyway"; + level.scr_radio["rec_cmr1_simulationstartingin32"] = "rec_cmr1_simulationstartingin32"; + level.scr_radio["rec_cmr1_preparingassaultmode"] = "rec_cmr1_preparingassaultmode"; + level.scr_sound["joker"]["rec_jkr_copythat2"] = "rec_jkr_copythat2"; + level.scr_sound["gideon"]["rec_gdn_jokerwereheadingup"] = "rec_gdn_jokerwereheadingup"; + level.scr_sound["gideon"]["rec_gdn_kitup"] = "rec_gdn_kitup"; + level.scr_sound["gideon"]["rec_gdn_staysharpironsisgoing"] = "rec_gdn_staysharpironsisgoing"; + level.scr_sound["gideon"]["rec_gdn_letsmove"] = "rec_gdn_letsmove"; + level.scr_radio["rec_cmr1_activatinggrenadetraining"] = "rec_cmr1_activatinggrenadetraining"; + level.scr_sound["gideon"]["rec_gdn_fuckinimpressive"] = "rec_gdn_fuckinimpressive"; + level.scr_sound["gideon"]["rec_gdn_decent"] = "rec_gdn_decent"; + level.scr_sound["gideon"]["rec_gdn_prettyaverage"] = "rec_gdn_prettyaverage"; + level.scr_sound["gideon"]["rec_gdn_fuckmetheyreplacethe"] = "rec_gdn_fuckmetheyreplacethe"; + level.scr_sound["gideon"]["rec_gdn_tossasmartgrenadeand"] = "rec_gdn_tossasmartgrenadeand"; + level.scr_sound["gideon"]["rec_gdn_switchtoempstotake"] = "rec_gdn_switchtoempstotake"; + level.scr_sound["gideon"]["rec_gdn_switchtothreat"] = "rec_gdn_switchtothreat"; + level.scr_sound["gideon"]["rec_gdn_activatetheconsole"] = "rec_gdn_activatetheconsole"; + level.scr_sound["gideon"]["rec_gdn_variablegrenadesletyouswitch"] = "rec_gdn_variablegrenadesletyouswitch"; + level.scr_sound["gideon"]["rec_gdn_alrightgrabsomegrenadesand"] = "rec_gdn_alrightgrabsomegrenadesand"; + level.scr_sound["gideon"]["rec_gdn_copy"] = "rec_gdn_copy"; + level.scr_radio["rec_jkr_bosswegotthesim"] = "rec_jkr_bosswegotthesim"; + level.scr_sound["gideon"]["rec_gdn_overtothegrenaderange"] = "rec_gdn_overtothegrenaderange"; + level.scr_sound["gideon"]["rec_gdn_illbedamnednicework"] = "rec_gdn_illbedamnednicework"; + level.scr_sound["gideon"]["rec_gdn_notbad"] = "rec_gdn_notbad"; + level.scr_sound["gideon"]["rec_gdn_thatthebestyougot"] = "rec_gdn_thatthebestyougot"; + level.scr_sound["gideon"]["rec_gdn_bloodyhellthatwaspathetic"] = "rec_gdn_bloodyhellthatwaspathetic"; + level.scr_radio["rec_cmr1_yourscorewasperfect"] = "rec_cmr1_yourscorewasperfect"; + level.scr_radio["rec_cmr1_yourscorewasgood"] = "rec_cmr1_yourscorewasgood"; + level.scr_radio["rec_cmr1_yourscorewasaverage"] = "rec_cmr1_yourscorewasaverage"; + level.scr_radio["rec_cmr1_yourscorewaspoor"] = "rec_cmr1_yourscorewaspoor"; + level.scr_radio["rec_cmr1_trainingcomplete"] = "rec_cmr1_trainingcomplete"; + level.scr_radio["rec_cmr1_begin"] = "rec_cmr1_begin"; + level.scr_radio["rec_cmr1_activatingtargettraining"] = "rec_cmr1_activatingtargettraining"; + level.scr_sound["gideon"]["rec_gdn_pickitupmitchell"] = "rec_gdn_pickitupmitchell"; + level.scr_sound["gideon"]["rec_gdn_mitchellgetstarted"] = "rec_gdn_mitchellgetstarted"; + level.scr_sound["gideon"]["rec_gdn_stepuptothestation"] = "rec_gdn_stepuptothestation"; + level.scr_sound["gideon"]["rec_gdn_yourexoisequippedwith"] = "rec_gdn_yourexoisequippedwith"; + level.scr_sound["gideon"]["rec_gdn_donthaveallfuckinday"] = "rec_gdn_donthaveallfuckinday"; + level.scr_sound["gideon"]["rec_gdn_grabagunmitchell"] = "rec_gdn_grabagunmitchell"; + level.scr_sound["gideon"]["rec_gdn_alrightkitup"] = "rec_gdn_alrightkitup"; + level.scr_sound["gideon"]["rec_gdn_heh2"] = "rec_gdn_heh2"; + level.scr_sound["ilona"]["rec_iln1_dontneedtotry"] = "rec_iln1_dontneedtotry"; + level.scr_sound["gideon"]["rec_gdn_hereagainilona"] = "rec_gdn_hereagainilona"; + level.scr_radio["rec_pa_attentionatlasteamalphareport"] = "rec_pa_attentionatlasteamalphareport"; + level.scr_sound["gideon"]["rec_gdn_heh"] = "rec_gdn_heh"; + level.scr_sound["gideon"]["rec_gdn_letsheadtotherange"] = "rec_gdn_letsheadtotherange"; + level.scr_sound["repairer_1"]["rec_tc4_goaheadandplaceyour"] = "rec_tc4_goaheadandplaceyour"; + level.scr_sound["repairer_1"]["rec_tc4_tryandmoveyourarm"] = "rec_tc4_tryandmoveyourarm"; + level.scr_sound["repairer_1"]["rec_tc4_okagainplease"] = "rec_tc4_okagainplease"; + level.scr_sound["repairer_1"]["rec_tc4_ithinkiseethe"] = "rec_tc4_ithinkiseethe"; + level.scr_sound["repairer_1"]["rec_tc4_onemoretimeplease"] = "rec_tc4_onemoretimeplease"; + level.scr_sound["repairer_1"]["rec_tc4_alrightyouregoodbuti"] = "rec_tc4_alrightyouregoodbuti"; + level.scr_sound["repairer_1"]["rec_tc4_makingasmalladjustmenthangon"] = "rec_tc4_makingasmalladjustmenthangon"; + level.scr_sound["repairer_1"]["rec_tc4_okjustgoingtorunsome"] = "rec_tc4_okjustgoingtorunsome"; + level.scr_sound["repairer_1"]["rec_tc4_ineedyouoverhere"] = "rec_tc4_ineedyouoverhere"; + level.scr_sound["repairer_1"]["rec_tc4_overhereplease"] = "rec_tc4_overhereplease"; + level.scr_sound["repairer_1"]["rec_tc4_pleasestepoverhere"] = "rec_tc4_pleasestepoverhere"; + level.scr_sound["repairer_1"]["rec_tc4_hellomitchell"] = "rec_tc4_hellomitchell"; + level.scr_sound["gideon"]["rec_gdn_techniciansarewaitingforyou"] = "rec_gdn_techniciansarewaitingforyou"; + level.scr_sound["gideon"]["rec_gdn_thespecialistexoyourewearing"] = "rec_gdn_thespecialistexoyourewearing"; + level.scr_sound["gideon"]["rec_gdn_assaultisequippedwithboost"] = "rec_gdn_assaultisequippedwithboost"; + level.scr_sound["gideon"]["rec_gdn_wevedevelopedtwotypesof"] = "rec_gdn_wevedevelopedtwotypesof"; + level.scr_sound["exo_climb_tech_03"]["rec_tc3_alrightonemoretimeplease"] = "rec_tc3_alrightonemoretimeplease"; + level.scr_sound["exo_climb_tech_03"]["rec_tc3_andgo"] = "rec_tc3_andgo"; + level.scr_sound["exo_climb_tech_03"]["rec_tc3_okletsgetreadyto"] = "rec_tc3_okletsgetreadyto"; + level.scr_sound["exo_climb_tech_01"]["rec_tc1_heh"] = "rec_tc1_heh"; + level.scr_sound["exo_climb_tech_02"]["rec_tc2_thenewcoilshavecleared"] = "rec_tc2_thenewcoilshavecleared"; + level.scr_sound["exo_climb_tech_01"]["rec_tc1_stillgettingadhesionproblemson"] = "rec_tc1_stillgettingadhesionproblemson"; + level.scr_radio["rec_pa_dr"] = "rec_pa_dr"; + level.scr_radio["rec_pa_commencingtest772"] = "rec_pa_commencingtest772"; + level.scr_sound["gideon"]["rec_gdn_ironshastakenashine"] = "rec_gdn_ironshastakenashine"; + level.scr_sound["gideon"]["rec_gdn_alrightoverhere"] = "rec_gdn_alrightoverhere"; + level.scr_sound["irons"]["rec_irs_nowgogetthatarm"] = "rec_irs_nowgogetthatarm"; + level.scr_sound["irons"]["rec_irs_iknowyourenotin"] = "rec_irs_iknowyourenotin"; + level.scr_sound["irons"]["rec_irs_thetruthisweare"] = "rec_irs_thetruthisweare"; + level.scr_sound["irons"]["rec_irs_powerisntjustaboutour"] = "rec_irs_powerisntjustaboutour"; + level.scr_sound["irons"]["rec_irs_unlikethegovernmentwedont"] = "rec_irs_unlikethegovernmentwedont"; + level.scr_sound["irons"]["rec_irs_whatyoureseeingisadvanced"] = "rec_irs_whatyoureseeingisadvanced"; + level.scr_sound["gideon"]["rec_gdn_hurryupmitchell"] = "rec_gdn_hurryupmitchell"; + level.scr_sound["gideon"]["rec_gdn_getin2"] = "rec_gdn_getin2"; + level.scr_sound["gideon"]["rec_gdn_getinthejeepmitchell"] = "rec_gdn_getinthejeepmitchell"; + level.scr_sound["irons"]["rec_irs_jumpin"] = "rec_irs_jumpin"; + level.scr_sound["irons"]["rec_irs_wellthenkeepworking"] = "rec_irs_wellthenkeepworking"; + level.scr_sound["gideon"]["rec_gdn_hesaworkinprogress"] = "rec_gdn_hesaworkinprogress"; + level.scr_sound["irons"]["rec_irs_thatarmsworthmoreto"] = "rec_irs_thatarmsworthmoreto"; + level.scr_sound["gideon"]["rec_gdn_itshisarmsir"] = "rec_gdn_itshisarmsir"; + level.scr_sound["gideon"]["rec_gdn_equipmentfailureisnoexcuse"] = "rec_gdn_equipmentfailureisnoexcuse"; + level.scr_sound["gideon"]["rec_gdn_reset"] = "rec_gdn_reset"; + level.scr_sound["gideon"]["rec_gdn_sloppy"] = "rec_gdn_sloppy"; + level.scr_sound["joker"]["rec_jkr_getthatdooropen"] = "rec_jkr_getthatdooropen"; + level.scr_sound["joker"]["rec_jkr_moveitnow"] = "rec_jkr_moveitnow"; + level.scr_sound["joker"]["rec_jkr_mitchellgetthedoor"] = "rec_jkr_mitchellgetthedoor"; + level.scr_sound["joker"]["rec_jkr_theresourride"] = "rec_jkr_theresourride"; + level.scr_radio["rec_prt_atlaszerooneexfilison"] = "rec_prt_atlaszerooneexfilison"; + level.scr_sound["joker"]["rec_jkr_holdthemoff"] = "rec_jkr_holdthemoff"; + level.scr_sound["rivers"]["rec_rvs_hostilesontheroadcoming"] = "rec_rvs_hostilesontheroadcoming"; + level.scr_sound["joker"]["rec_jkr_weregoingtohaveto"] = "rec_jkr_weregoingtohaveto"; + level.scr_radio["rec_prt_transportiscominginhot"] = "rec_prt_transportiscominginhot"; + level.scr_sound["joker"]["rec_jkr_prophetwereapproachingthenorth"] = "rec_jkr_prophetwereapproachingthenorth"; + level.scr_sound["joker"]["rec_jkr_mitchellstayoncourse"] = "rec_jkr_mitchellstayoncourse"; + level.scr_sound["joker"]["rec_jkr_wereclearmoveon"] = "rec_jkr_wereclearmoveon"; + level.scr_sound["joker"]["rec_jkr_shitclearthemout"] = "rec_jkr_shitclearthemout"; + level.scr_sound["joker"]["rec_jkr_okmove"] = "rec_jkr_okmove"; + level.scr_sound["joker"]["rec_jkr_dontengagejustletthem"] = "rec_jkr_dontengagejustletthem"; + level.scr_sound["joker"]["rec_jkr_hitthedeck"] = "rec_jkr_hitthedeck"; + level.scr_sound["joker"]["rec_jkr_patrolapproachinggetdown"] = "rec_jkr_patrolapproachinggetdown"; + level.scr_sound["joker"]["rec_jkr_gogo"] = "rec_jkr_gogo"; + level.scr_sound["rivers"]["rec_rvs_poolsclear"] = "rec_rvs_poolsclear"; + level.scr_sound["rivers"]["rec_rvs_contactbelowus"] = "rec_rvs_contactbelowus"; + level.scr_sound["joker"]["rec_jkr_dropem"] = "rec_jkr_dropem"; + level.scr_sound["rivers"]["rec_rvs_multiplehostilesbythepool"] = "rec_rvs_multiplehostilesbythepool"; + level.scr_sound["joker"]["rec_jkr_takethemout2"] = "rec_jkr_takethemout2"; + level.scr_sound["rivers"]["rec_rvs_dronesdrones"] = "rec_rvs_dronesdrones"; + level.scr_sound["joker"]["rec_jkr_letthempass"] = "rec_jkr_letthempass"; + level.scr_sound["rivers"]["rec_rvs_igotdronesonthe"] = "rec_rvs_igotdronesonthe"; + level.scr_sound["joker"]["rec_jkr_thisway"] = "rec_jkr_thisway"; + level.scr_sound["joker"]["rec_jkr_letsgethimoutof"] = "rec_jkr_letsgethimoutof"; + level.scr_sound["joker"]["rec_jkr_copythat"] = "rec_jkr_copythat"; + level.scr_radio["rec_prt_copyatlaszeroone"] = "rec_prt_copyatlaszeroone"; + level.scr_sound["joker"]["rec_jkr_prophetwehavethepackage"] = "rec_jkr_prophetwehavethepackage"; + level.scr_sound["president"]["rec_pts_alrightson"] = "rec_pts_alrightson"; + level.scr_sound["joker"]["rec_jkr_ok2"] = "rec_jkr_ok2"; + level.scr_sound["president"]["rec_pts_uhalphazulutango"] = "rec_pts_uhalphazulutango"; + level.scr_sound["joker"]["rec_jkr_mr"] = "rec_jkr_mr"; + level.scr_sound["rivers"]["rec_rvs_roomclear"] = "rec_rvs_roomclear"; + level.scr_sound["kva"]["rec_kva_what"] = "rec_kva_what"; + level.scr_sound["joker"]["rec_jkr_letsgomitchell"] = "rec_jkr_letsgomitchell"; + level.scr_sound["joker"]["rec_jkr_stackupnow"] = "rec_jkr_stackupnow"; + level.scr_sound["joker"]["rec_jkr_getthatmutechargeready"] = "rec_jkr_getthatmutechargeready"; + level.scr_sound["joker"]["rec_jkr_stackupatthedoor"] = "rec_jkr_stackupatthedoor"; + level.scr_sound["joker"]["rec_jkr_clear2"] = "rec_jkr_clear2"; + level.scr_sound["joker"]["rec_rvs_contact"] = "rec_rvs_contact"; + level.scr_sound["gideon"]["rec_jkr_mitchellsweepthebedrooms"] = "rec_jkr_mitchellsweepthebedrooms"; + level.scr_sound["joker"]["rec_jkr_cleartheroom"] = "rec_jkr_cleartheroom"; + level.scr_sound["rivers"]["rec_rvs_clear"] = "rec_rvs_clear"; + level.scr_sound["joker"]["rec_jkr_dammit"] = "rec_jkr_dammit"; + level.scr_sound["joker"]["rec_jkr_hitem"] = "rec_jkr_hitem"; + level.scr_sound["joker"]["rec_jkr_useathreatgrenademitchell"] = "rec_jkr_useathreatgrenademitchell"; + level.scr_sound["joker"]["rec_jkr_mitchelltossathreatgrenade"] = "rec_jkr_mitchelltossathreatgrenade"; + level.scr_sound["joker"]["rec_jkr_copyprophetwereinternal"] = "rec_jkr_copyprophetwereinternal"; + level.scr_radio["rec_prt_atlaszeroonewearetracking"] = "rec_prt_atlaszeroonewearetracking"; + level.scr_sound["joker"]["rec_jkr_closeonthekitchen"] = "rec_jkr_closeonthekitchen"; + level.scr_sound["joker"]["rec_jkr_gothim"] = "rec_jkr_gothim"; + level.scr_sound["joker"]["rec_jkr_goodkill"] = "rec_jkr_goodkill"; + level.scr_sound["rivers"]["rec_rvs_gotanotherone"] = "rec_rvs_gotanotherone"; + level.scr_sound["joker"]["rec_jkr_theyspottedusdropem"] = "rec_jkr_theyspottedusdropem"; + level.scr_sound["joker"]["rec_jkr_payattentionmitchell"] = "rec_jkr_payattentionmitchell"; + level.scr_sound["joker"]["rec_jkr_takethemout"] = "rec_jkr_takethemout"; + level.scr_sound["joker"]["rec_jkr_onyoumitchelldropem"] = "rec_jkr_onyoumitchelldropem"; + level.scr_sound["joker"]["rec_jkr_checkthatthree"] = "rec_jkr_checkthatthree"; + level.scr_sound["joker"]["rec_jkr_twoontheterrace"] = "rec_jkr_twoontheterrace"; + level.scr_sound["joker"]["rec_jkr_okeveryoneknowswhatto"] = "rec_jkr_okeveryoneknowswhatto"; + level.scr_sound["irons"]["rec_irs_dontletwillsdeathbe"] = "rec_irs_dontletwillsdeathbe"; + level.scr_sound["irons"]["rec_irs_willtoldmewhatkind"] = "rec_irs_willtoldmewhatkind"; + level.scr_sound["irons"]["rec_irs_iknowallaboutmitchells"] = "rec_irs_iknowallaboutmitchells"; + level.scr_sound["cormack"]["rec_crk_imsorrymr"] = "rec_crk_imsorrymr"; + level.scr_sound["irons"]["rec_irs_itwasworsethanunfortunate"] = "rec_irs_itwasworsethanunfortunate"; + level.scr_sound["cormack"]["rec_crk_itwasanunfortunatetragedy"] = "rec_crk_itwasanunfortunatetragedy"; + level.scr_sound["irons"]["rec_irs_imsureyouaresergeant"] = "rec_irs_imsureyouaresergeant"; + level.scr_sound["cormack"]["rec_crk_mr"] = "rec_crk_mr"; + level.scr_sound["irons"]["rec_irs_excusemeprivatemitchell"] = "rec_irs_excusemeprivatemitchell"; + level.scr_sound["cormack"]["rec_crk_imsorrymitchell"] = "rec_crk_imsorrymitchell"; + level.scr_sound["cormack"]["rec_crk_heleavesbehindfamilyfriends"] = "rec_crk_heleavesbehindfamilyfriends"; +} + +//Function Number: 2 +play_dialogue() +{ + thread play_funeral_dialog(); + thread play_training_s1_joker_everyone_knows(); + thread play_training_s1_joker_two_terrace(); + thread play_training_s1_joker_on_you(); + thread play_training_s1_joker_good_kill(); + thread play_training_s1_joker_spotted_us(); + thread play_training_s1_rivers_got_another(); + thread play_training_s1_joker_close_kitchen(); + thread play_training_s1_prophet_tracking_potus(); + thread play_training_s1_joker_threat_grenade(); + thread play_training_s1_wrong_grenade(); + thread play_training_s1_joker_hit_em(); + thread play_training_s1_joker_dammit(); + thread play_training_s1_rivers_clear(); + thread play_training_s1_joker_clear_room(); + thread play_training_s1_joker_stack_up(); + thread play_training_s1_joker_mute_charge(); + thread play_training_s1_rivers_room_clear(); + thread play_training_s1_joker_mr_president(); + thread play_training_s1_rivers_got_drones(); + thread play_training_s1_joker_take_out(); + thread play_training_s1_joker_patrol_approaching(); + thread play_training_s1_joker_dont_engage(); + thread play_training_s1_joker_ok_move(); + thread play_training_s1_shit_clear(); + thread play_training_s1_joker_were_clear(); + thread play_training_s1_joker_our_ride(); + thread play_training_s1_rivers_multiple_hostiles(); + thread play_training_s1_reload_malfunctions(); + thread play_training_s1_joker_drop_em(); + thread play_training_s1_rivers_contact_below(); + thread play_training_s1_joker_hit_em_mitchell(); + thread play_training_s1_joker_go_go(); + thread play_training_s1_rivers_pools_clear(); + thread play_training_s1_joker_pools_clear(); + thread play_training_s1_joker_pools_clear_stealth(); + thread play_training_s1_flag_vo_training_s1_joker_prophet_approaching(); + thread play_training_s1_rivers_hostiles_road(); + thread play_training_vo_prophet_exfil_approach(); + thread play_training_s1_joker_poppin_smoke(); + thread play_training_s1_gideon_jeep_nag(); + thread play_training_s1_kva_what(); + thread play_tour_start_dialog1(); + thread play_exo_room_dialog1(); + thread play_arm_room_dialog(); + thread play_exo_room_dialog2(); + thread play_exo_room_techs_dialog1(); + thread play_exo_room_techs_dialog2(); + thread play_base_soldier_group_dialog(); + thread play_pa_exo_dialog1(); + thread play_pa_exo_dialog2(); + thread play_pa_street_dialog1(); + thread play_pa_dialog_reset(); + thread play_base_radio_dialog1(); + thread play_shooting_range_dialog1(); + thread play_shooting_range_dialog3(); + thread play_shooting_range_dialog4(); + thread play_shooting_range_dialog_friendlies(); + thread play_shooting_range_dialog_overdrive(); + thread play_grenade_range_dialog1(); + thread play_grenade_range_dialog2(); + thread play_grenade_range_dialog3(); + thread play_grenade_range_dialog4(); + thread play_grenade_range_dialog5(); + thread play_drone_range_dialog1(); + thread play_drone_range_dialog2(); + thread play_drone_range_dialog3(); + thread play_ready_room_dialog1(); + thread play_ready_room_dialog2(); + thread play_ready_room_dialog3(); + thread play_ready_room_dialog4(); + thread play_training_s2_gideon_my_lead(); + thread play_training_s2_joker_here_they(); + thread play_training_s2_gideon_use_overdrive(); + thread play_training_s2_gideon_clear_move(); + thread play_training_s2_joker_living_room(); + thread play_training_s2_joker_entering_kitchen(); + thread play_training_s2_joker_front_entrance(); + thread play_training_s2_gideon_mitchell_sweep(); + thread play_training_s2_joker_contact(); + thread play_training_s2_joker_clear(); + thread play_training_s2_gideon_media_room(); + thread play_training_s2_gideon_mr_president(); + thread play_training_s2_joker_drones(); + thread play_training_s2_gideon_dont_let_up(); + thread play_training_s2_gideon_smart_grenades(); + thread play_training_s2_prophet_large_qrf(); + thread play_training_s2_gideon_mitchell_assault_drone(); + thread play_training_s2_gideon_go_go(); + thread play_training_s2_gideon_prophet_approaching(); + thread play_training_s2_gideon_president_inside(); + thread play_training_s2_gideon_package_secure(); + thread play_training_s2_gideon_use_your_shield(); + thread play_training_s2_gideon_our_exfil(); + thread play_training_s2_gideon_the_warbird(); +} + +//Function Number: 3 +init_dialogue_flags() +{ + common_scripts\utility::flag_init("flag_vo_funeral_cormack"); + common_scripts\utility::flag_init("flag_vo_funeral_irons"); + common_scripts\utility::flag_init("flag_vo_training_s1_joker_everyone_knows"); + common_scripts\utility::flag_init("flag_vo_training_s1_joker_two_terrace"); + common_scripts\utility::flag_init("flag_vo_training_s1_joker_on_you"); + common_scripts\utility::flag_init("flag_training_s1_joker_close_kitchen"); + common_scripts\utility::flag_init("flag_vo_training_s1_joker_threat_grenade"); + common_scripts\utility::flag_init("flag_vo_training_s1_joker_wrong_grenade"); + common_scripts\utility::flag_init("flag_vo_training_s1_joker_mute_charge"); + common_scripts\utility::flag_init("flag_vo_training_s1_rivers_got_drones"); + common_scripts\utility::flag_init("flag_vo_training_s1_joker_patrol_approaching"); + common_scripts\utility::flag_init("flag_vo_training_s1_joker_ok_move"); + common_scripts\utility::flag_init("flag_vo_training_s1_joker_our_ride"); + common_scripts\utility::flag_init("flag_vo_training_s1_joker_dont_engage"); + common_scripts\utility::flag_init("flag_vo_training_s1_rivers_multiple_hostiles"); + common_scripts\utility::flag_init("flag_vo_training_s1_reload_malfunction"); + common_scripts\utility::flag_init("flag_vo_training_s1_joker_drop_em"); + common_scripts\utility::flag_init("flag_vo_training_s1_rivers_got_another"); + common_scripts\utility::flag_init("flag_vo_training_s1_joker_got_him"); + common_scripts\utility::flag_init("flag_vo_training_s1_rivers_contact_below"); + common_scripts\utility::flag_init("flag_vo_training_s1_joker_hit_em_micthell"); + common_scripts\utility::flag_init("flag_vo_training_s1_joker_go_go"); + common_scripts\utility::flag_init("flag_vo_training_s1_rivers_pools_clear"); + common_scripts\utility::flag_init("flag_vo_training_s1_joker_pools_clear"); + common_scripts\utility::flag_init("flag_vo_training_s1_joker_pools_clear_stealth"); + common_scripts\utility::flag_init("flag_vo_training_s1_joker_stack_up"); + common_scripts\utility::flag_init("flag_vo_training_s1_joker_mr_president"); + common_scripts\utility::flag_init("flag_vo_training_s1_shit_clear"); + common_scripts\utility::flag_init("flag_vo_training_s1_joker_were_clear"); + common_scripts\utility::flag_init("flag_vo_training_s1_joker_prophet_approaching"); + common_scripts\utility::flag_init("flag_vo_training_s1_prophet_exfil_approach"); + common_scripts\utility::flag_init("flag_vo_training_s1_rivers_hostiles_road"); + common_scripts\utility::flag_init("flag_vo_training_s1_joker_take_out"); + common_scripts\utility::flag_init("flag_vo_training_gideon_jeep_nag"); + common_scripts\utility::flag_init("flag_vo_training_s1_prophet_tracking_potus"); + common_scripts\utility::flag_init("flag_vo_training_s1_joker_good_kill"); + common_scripts\utility::flag_init("flag_vo_training_s1_joker_spotted_us"); + common_scripts\utility::flag_init("flag_vo_training_s1_joker_hit_em"); + common_scripts\utility::flag_init("flag_vo_training_s1_joker_dammit"); + common_scripts\utility::flag_init("flag_vo_training_s1_rivers_clear"); + common_scripts\utility::flag_init("flag_vo_training_s1_joker_clear_room"); + common_scripts\utility::flag_init("flag_vo_training_s1_kva_what"); + common_scripts\utility::flag_init("flag_vo_training_s1_rivers_room_clear"); + common_scripts\utility::flag_init("flag_vo_training_s1_joker_poppin_smoke"); + common_scripts\utility::flag_init("flag_vo_pa_reset"); + common_scripts\utility::flag_init("flag_tour_start_dialog1"); + common_scripts\utility::flag_init("flag_tour_start_dialog2"); + common_scripts\utility::flag_init("flag_tour_start_dialog3"); + common_scripts\utility::flag_init("flag_tour_start_dialog4"); + common_scripts\utility::flag_init("flag_vo_exo_push_dialog"); + common_scripts\utility::flag_init("flag_vo_arm_room_01"); + common_scripts\utility::flag_init("flag_vo_arm_room_02"); + common_scripts\utility::flag_init("flag_vo_arm_room_03"); + common_scripts\utility::flag_init("flag_vo_arm_room_04"); + common_scripts\utility::flag_init("flag_vo_arm_room_05"); + common_scripts\utility::flag_init("flag_vo_exo_room_03"); + common_scripts\utility::flag_init("flag_vo_exo_room_05"); + common_scripts\utility::flag_init("flag_vo_shooting_range_01"); + common_scripts\utility::flag_init("flag_vo_shooting_range_02"); + common_scripts\utility::flag_init("flag_vo_shooting_range_computer_activate"); + common_scripts\utility::flag_init("flag_vo_shooting_range_computer_begin"); + common_scripts\utility::flag_init("flag_vo_shooting_range_computer_round_2"); + common_scripts\utility::flag_init("flag_vo_shooting_range_computer_round_3"); + common_scripts\utility::flag_init("flag_vo_shooting_range_friendly"); + common_scripts\utility::flag_init("flag_vo_shooting_range_result_bad"); + common_scripts\utility::flag_init("flag_vo_shooting_range_result_average"); + common_scripts\utility::flag_init("flag_vo_shooting_range_result_good"); + common_scripts\utility::flag_init("flag_vo_shooting_range_result_excellent"); + common_scripts\utility::flag_init("flag_vo_shooting_range_result_perfect"); + common_scripts\utility::flag_init("flag_vo_shooting_range_result_ilona"); + common_scripts\utility::flag_init("flag_vo_shooting_range_result_ilona_used"); + common_scripts\utility::flag_init("flag_vo_shooting_range_overdrive_ready"); + common_scripts\utility::flag_init("flag_vo_grenade_range_gideon_intro"); + common_scripts\utility::flag_init("flag_vo_grenade_range_bullet_penetration"); + common_scripts\utility::flag_init("flag_vo_grenade_range_threat_1"); + common_scripts\utility::flag_init("flag_vo_grenade_range_threat_2"); + common_scripts\utility::flag_init("flag_vo_grenade_range_gideon_threat"); + common_scripts\utility::flag_init("flag_vo_grenade_range_gideon_emp"); + common_scripts\utility::flag_init("flag_vo_grenade_range_gideon_smart"); + common_scripts\utility::flag_init("flag_vo_grenade_range_gideon_contact"); + common_scripts\utility::flag_init("flag_vo_grenade_range_gideon_again"); + common_scripts\utility::flag_init("flag_vo_grenade_range_grenades_only"); + common_scripts\utility::flag_init("flag_vo_grenade_range_computer_activate"); + common_scripts\utility::flag_init("flag_vo_grenade_range_computer_begin"); + common_scripts\utility::flag_init("flag_vo_grenade_range_result_bad"); + common_scripts\utility::flag_init("flag_vo_grenade_range_result_average"); + common_scripts\utility::flag_init("flag_vo_grenade_range_result_good"); + common_scripts\utility::flag_init("flag_vo_grenade_range_result_excellent"); + common_scripts\utility::flag_init("flag_vo_grenade_range_result_perfect"); + common_scripts\utility::flag_init("flag_vo_ready_room_01"); + common_scripts\utility::flag_init("flag_vo_ready_room_02"); + common_scripts\utility::flag_init("flag_vo_ready_room_03"); + common_scripts\utility::flag_init("flag_vo_ready_room_04"); + common_scripts\utility::flag_init("flag_vo_training_s2_gideon_my_lead"); + common_scripts\utility::flag_init("flag_vo_training_s2_gideon_push_forward"); + common_scripts\utility::flag_init("flag_vo_training_s2_gideon_clear_move"); + common_scripts\utility::flag_init("flag_vo_training_s2_joker_living_room"); + common_scripts\utility::flag_init("flag_vo_training_s2_joker_entering_kitchen"); + common_scripts\utility::flag_init("flag_vo_training_s2_joker_front_entrance"); + common_scripts\utility::flag_init("flag_vo_training_s2_gideon_mitchell_sweep"); + common_scripts\utility::flag_init("flag_vo_training_s2_gideon_media_room"); + common_scripts\utility::flag_init("flag_vo_training_s2_gideon_hit_door_nag_off"); + common_scripts\utility::flag_init("flag_vo_training_s2_gideon_mr_president"); + common_scripts\utility::flag_init("flag_vo_training_s2_joker_drones"); + common_scripts\utility::flag_init("flag_vo_training_s2_prophet_large_qrf"); + common_scripts\utility::flag_init("flag_vo_training_s2_gideon_go_go"); + common_scripts\utility::flag_init("flag_vo_training_s2_gideon_prophet_approaching"); + common_scripts\utility::flag_init("flag_vo_training_s2_gideon_president_inside"); + common_scripts\utility::flag_init("flag_vo_training_s2_gideon_package_secure"); + common_scripts\utility::flag_init("flag_vo_training_s2_gideon_use_your_shield"); + common_scripts\utility::flag_init("flag_vo_training_s2_gideon_our_exfil"); + common_scripts\utility::flag_init("flag_vo_training_s2_warbird_pilot"); + common_scripts\utility::flag_init("flag_vo_training_s2_gideon_mitchell_assault_drone"); + common_scripts\utility::flag_init("flag_vo_training_s2_gideon_drone_down"); + common_scripts\utility::flag_init("flag_vo_training_s2_gideon_dont_let_up"); + common_scripts\utility::flag_init("flag_vo_training_s2_gideon_smart_grenades"); + common_scripts\utility::flag_init("flag_vo_training_s2_joker_here_they"); + common_scripts\utility::flag_init("flag_vo_training_s2_joker_contact"); + common_scripts\utility::flag_init("flag_vo_training_s2_gideon_use_overdrive"); + common_scripts\utility::flag_init("flag_vo_training_s2_joker_clear"); + common_scripts\utility::flag_init("flag_vo_training_s2_gideon_the_warbird"); +} + +//Function Number: 4 +play_funeral_dialog() +{ + common_scripts\utility::flag_wait("flag_vo_funeral_cormack"); + common_scripts\utility::flag_wait("flag_vo_funeral_irons"); +} + +//Function Number: 5 +play_training_s1_joker_everyone_knows() +{ + common_scripts\utility::flag_wait("flag_vo_training_s1_joker_everyone_knows"); + thread maps\_utility::autosave_by_name(); +} + +//Function Number: 6 +play_training_s1_joker_two_terrace() +{ + level endon("training_s1_start_enemies_alert"); + common_scripts\utility::flag_wait("flag_vo_training_s1_joker_two_terrace"); + if(common_scripts\utility::flag("training_s1_start_alerted") == 0) + { + var_00 = []; + var_00 = level.enemies1; + var_00 = maps\_utility::remove_dead_from_array(var_00); + if(var_00.size > 1) + { + level.joker maps\_utility::dialogue_queue("rec_jkr_twoontheterrace"); + } + + var_00 = []; + var_00 = level.enemies1; + var_00 = maps\_utility::remove_dead_from_array(var_00); + if(var_00.size > 2) + { + level.joker maps\_utility::dialogue_queue("rec_jkr_checkthatthree"); + } + } +} + +//Function Number: 7 +play_training_s1_joker_on_you() +{ + level endon("training_s1_start_enemies_alert"); + common_scripts\utility::flag_wait("flag_vo_training_s1_joker_on_you"); + thread play_training_s1_joker_take_out_nag(); + if(common_scripts\utility::flag("training_s1_start_alerted") == 0) + { + var_00 = []; + var_00 = level.enemies1; + var_00 = maps\_utility::remove_dead_from_array(var_00); + if(var_00.size > 0) + { + level.joker maps\_utility::dialogue_queue("rec_jkr_onyoumitchelldropem"); + } + } +} + +//Function Number: 8 +play_training_s1_joker_take_out_nag() +{ + level endon("training_s1_joker_take_out_nag_off"); + level endon("training_s1_start_enemies_alert"); + level endon("training_s1_prepare_breach_room"); + for(;;) + { + wait(8); + if(common_scripts\utility::flag("training_s1_start_alerted") == 0) + { + level.joker maps\_utility::dialogue_queue("rec_jkr_takethemout"); + } + + wait(8); + if(common_scripts\utility::flag("training_s1_start_alerted") == 0) + { + level.joker maps\_utility::dialogue_queue("rec_jkr_payattentionmitchell"); + } + } +} + +//Function Number: 9 +play_training_s1_rivers_got_another() +{ + level endon("training_s1_start_enemies_alert"); + common_scripts\utility::flag_wait("flag_vo_training_s1_rivers_got_another"); + level.ally_squad_member_2 maps\_utility::dialogue_queue("rec_rvs_gotanotherone"); + common_scripts\utility::flag_wait("flag_vo_training_s1_joker_got_him"); + level.joker maps\_utility::dialogue_queue("rec_jkr_gothim"); +} + +//Function Number: 10 +play_training_s1_joker_good_kill() +{ + level endon("training_s1_start_enemies_alert"); + common_scripts\utility::flag_wait("flag_vo_training_s1_joker_good_kill"); + level.joker maps\_utility::dialogue_queue("rec_jkr_goodkill"); +} + +//Function Number: 11 +play_training_s1_joker_spotted_us() +{ + common_scripts\utility::flag_wait("flag_vo_training_s1_joker_spotted_us"); + level.joker maps\_utility::dialogue_queue("rec_jkr_theyspottedusdropem"); +} + +//Function Number: 12 +play_training_s1_joker_close_kitchen() +{ + common_scripts\utility::flag_wait("flag_training_s1_joker_close_kitchen"); + level.joker maps\_utility::dialogue_queue("rec_jkr_closeonthekitchen"); +} + +//Function Number: 13 +play_training_s1_prophet_tracking_potus() +{ + common_scripts\utility::flag_wait("flag_vo_training_s1_prophet_tracking_potus"); + if(common_scripts\utility::flag("training_s1_start_alerted")) + { + common_scripts\utility::flag_wait("training_s1_start_alerted_enemies_dead"); + } + + level maps\_utility::dialogue_queue("rec_prt_atlaszeroonewearetracking"); + level.joker maps\_utility::dialogue_queue("rec_jkr_copyprophetwereinternal"); + wait(0.5); + common_scripts\utility::flag_set("training_s1_enter_vo_complete"); +} + +//Function Number: 14 +play_training_s1_joker_threat_grenade() +{ + common_scripts\utility::flag_wait("flag_vo_training_s1_joker_threat_grenade"); + thread player_training_s1_joker_threat_grenade_nag(); + level.joker maps\_utility::dialogue_queue("rec_jkr_mitchelltossathreatgrenade"); +} + +//Function Number: 15 +player_training_s1_joker_threat_grenade_nag() +{ + level endon("training_s1_joker_threat_grenade_nag_off"); + for(;;) + { + wait(8); + common_scripts\utility::flag_wait("player_at_threat_breach"); + level.joker maps\_utility::dialogue_queue("rec_jkr_useathreatgrenademitchell"); + wait(6); + common_scripts\utility::flag_wait("player_at_threat_breach"); + level.joker maps\_utility::dialogue_queue("rec_jkr_getathreatgrenadeon"); + } +} + +//Function Number: 16 +play_training_s1_wrong_grenade() +{ + common_scripts\utility::flag_wait("flag_vo_training_s1_joker_wrong_grenade"); + level.joker maps\_utility::dialogue_queue("rec_jkr_youusedthewrongdamn"); + wait(2); + level.joker maps\_utility::dialogue_queue("rec_jkr_cleartheroom"); +} + +//Function Number: 17 +play_training_s1_joker_hit_em() +{ + common_scripts\utility::flag_wait("flag_vo_training_s1_joker_hit_em"); + level.joker maps\_utility::dialogue_queue("rec_jkr_hitem"); +} + +//Function Number: 18 +play_training_s1_joker_dammit() +{ + common_scripts\utility::flag_wait("flag_vo_training_s1_joker_dammit"); + level.joker maps\_utility::dialogue_queue("rec_jkr_dammit"); + wait(1); + level.joker maps\_utility::dialogue_queue("rec_jkr_cleartheroom"); +} + +//Function Number: 19 +play_training_s1_rivers_clear() +{ + common_scripts\utility::flag_wait("flag_vo_training_s1_rivers_clear"); + level.ally_squad_member_2 maps\_utility::dialogue_queue("rec_rvs_clear"); +} + +//Function Number: 20 +play_training_s1_joker_clear_room() +{ + common_scripts\utility::flag_wait("flag_vo_training_s1_joker_clear_room"); + level.joker maps\_utility::dialogue_queue("rec_jkr_cleartheroom"); +} + +//Function Number: 21 +play_training_s1_joker_stack_up() +{ + common_scripts\utility::flag_wait("flag_vo_training_s1_joker_stack_up"); + wait(8); + level.joker maps\_utility::dialogue_queue("rec_jkr_stackupatthedoor"); +} + +//Function Number: 22 +play_training_s1_joker_mute_charge() +{ + common_scripts\utility::flag_wait("flag_vo_training_s1_joker_mute_charge"); + thread play_training_s1_joker_mute_charge_nag(); + level.joker maps\_utility::dialogue_queue("rec_jkr_welldothisquiet"); + common_scripts\utility::flag_clear("aud_auto_combat_music"); +} + +//Function Number: 23 +play_training_s1_joker_mute_charge_nag() +{ + level endon("training_s1_joker_mute_charge_nag_off"); + for(;;) + { + wait(8); + level.joker maps\_utility::dialogue_queue("rec_jkr_stackupnow"); + wait(8); + level.joker maps\_utility::dialogue_queue("rec_jkr_letsgomitchell"); + } +} + +//Function Number: 24 +play_training_s1_kva_what() +{ + common_scripts\utility::flag_wait("flag_vo_training_s1_kva_what"); +} + +//Function Number: 25 +play_training_s1_rivers_room_clear() +{ +} + +//Function Number: 26 +play_training_s1_joker_mr_president() +{ + level endon("training_s1_rivers_got_drones"); + common_scripts\utility::flag_wait("flag_vo_training_s1_rivers_room_clear"); + level.ally_squad_member_2 maps\_utility::dialogue_queue("rec_rvs_roomclear"); + wait(0.5); + common_scripts\utility::flag_set("aud_auto_combat_music"); + level.joker maps\_utility::dialogue_queue("rec_jkr_mr"); + level.president maps\_utility::dialogue_queue("rec_pts_uhalphazulutango"); + level.joker maps\_utility::dialogue_queue("rec_jkr_ok2"); + level.president maps\_utility::dialogue_queue("rec_pts_alrightson"); + level.joker maps\_utility::dialogue_queue("rec_jkr_prophetwehavethepackage"); + level maps\_utility::dialogue_queue("rec_prt_copyatlaszeroone"); + level.joker maps\_utility::dialogue_queue("rec_jkr_copythat"); + level.joker maps\_utility::dialogue_queue("rec_jkr_letsgethimoutof"); + level.joker maps\_utility::dialogue_queue("rec_jkr_thisway"); +} + +//Function Number: 27 +play_training_s1_rivers_got_drones() +{ + common_scripts\utility::flag_wait("flag_vo_training_s1_rivers_got_drones"); + level notify("training_s1_rivers_got_drones"); + if(!common_scripts\utility::flag("training_s1_search_drones_attack")) + { + level.ally_squad_member_2 maps\_utility::dialogue_queue("rec_rvs_igotdronesonthe"); + } + + if(!common_scripts\utility::flag("training_s1_search_drones_attack")) + { + level.joker maps\_utility::dialogue_queue("rec_jkr_letthempass"); + } +} + +//Function Number: 28 +play_training_s1_joker_take_out() +{ + common_scripts\utility::flag_wait("flag_vo_training_s1_joker_take_out"); + wait(0.25); + level.joker maps\_utility::dialogue_queue("rec_jkr_takethemout2"); +} + +//Function Number: 29 +play_training_s1_rivers_multiple_hostiles() +{ + level endon("flag_obj_rescue1_complete"); + common_scripts\utility::flag_wait("flag_vo_training_s1_rivers_multiple_hostiles"); + level.ally_squad_member_2 maps\_utility::dialogue_queue("rec_rvs_multiplehostilesbythepool"); + wait(1); + if(common_scripts\utility::flag("training_s1_search_drones_attack") == 0) + { + level.joker maps\_utility::dialogue_queue("rec_jkr_dropem"); + } +} + +//Function Number: 30 +play_training_s1_reload_malfunctions() +{ + common_scripts\utility::flag_wait("flag_vo_training_s1_reload_malfunction"); + common_scripts\utility::flag_clear("flag_vo_training_s1_reload_malfunction"); + wait(1.5); + if(!common_scripts\utility::flag("training_s1_patio_alerted")) + { + level.joker maps\_utility::dialogue_queue("rec_jkr_mitchellyoualright"); + } + else + { + level.joker maps\_utility::dialogue_queue("rec_jkr_mitchellyoualright2"); + } + + common_scripts\utility::flag_wait("flag_vo_training_s1_reload_malfunction"); + wait(1.5); + level.joker maps\_utility::dialogue_queue("rec_jkr_whatthehellswrongwith"); +} + +//Function Number: 31 +play_training_s1_joker_drop_em() +{ +} + +//Function Number: 32 +play_training_s1_rivers_contact_below() +{ + common_scripts\utility::flag_wait("flag_vo_training_s1_rivers_contact_below"); + level.ally_squad_member_2 maps\_utility::dialogue_queue("rec_rvs_contactbelowus"); + wait(1); + level.joker maps\_utility::dialogue_queue("rec_jkr_hitemmitchell"); +} + +//Function Number: 33 +play_training_s1_joker_hit_em_mitchell() +{ + common_scripts\utility::flag_wait("flag_vo_training_s1_joker_hit_em_micthell"); + level.joker maps\_utility::dialogue_queue("rec_jkr_hitemmitchell"); +} + +//Function Number: 34 +play_training_s1_joker_go_go() +{ + common_scripts\utility::flag_wait("flag_vo_training_s1_joker_go_go"); + level.joker maps\_utility::dialogue_queue("rec_jkr_gogo"); +} + +//Function Number: 35 +play_training_s1_rivers_pools_clear() +{ + common_scripts\utility::flag_wait("flag_vo_training_s1_rivers_pools_clear"); + level.ally_squad_member_2 maps\_utility::dialogue_queue("rec_rvs_poolsclear"); +} + +//Function Number: 36 +play_training_s1_joker_pools_clear() +{ + common_scripts\utility::flag_wait("flag_vo_training_s1_joker_pools_clear"); + level.joker maps\_utility::dialogue_queue("rec_jkr_poolsclear3"); + wait(2); + level.joker maps\_utility::dialogue_queue("rec_jkr_gogo"); +} + +//Function Number: 37 +play_training_s1_joker_pools_clear_stealth() +{ + common_scripts\utility::flag_wait("flag_vo_training_s1_joker_pools_clear_stealth"); + level.joker maps\_utility::dialogue_queue("rec_jkr_poolsclear2"); +} + +//Function Number: 38 +play_training_s1_joker_patrol_approaching() +{ + common_scripts\utility::flag_wait("flag_vo_training_s1_joker_patrol_approaching"); + level.joker maps\_utility::dialogue_queue("rec_jkr_patrolapproachinggetdown"); + wait(4); + if(level.player getstance() != "prone") + { + level.joker maps\_utility::dialogue_queue("rec_jkr_hitthedeck"); + } +} + +//Function Number: 39 +play_training_s1_joker_dont_engage() +{ + common_scripts\utility::flag_wait("flag_vo_training_s1_joker_dont_engage"); + level.joker maps\_utility::dialogue_queue("rec_jkr_dontengagejustletthem"); +} + +//Function Number: 40 +play_training_s1_joker_ok_move() +{ + common_scripts\utility::flag_wait("flag_vo_training_s1_joker_ok_move"); + level.joker maps\_utility::dialogue_queue("rec_jkr_okmove"); +} + +//Function Number: 41 +play_training_s1_shit_clear() +{ + common_scripts\utility::flag_wait("flag_vo_training_s1_shit_clear"); + level.joker maps\_utility::dialogue_queue("rec_jkr_shitclearthemout"); +} + +//Function Number: 42 +play_training_s1_joker_were_clear() +{ + common_scripts\utility::flag_wait("flag_vo_training_s1_joker_were_clear"); + level.joker maps\_utility::dialogue_queue("rec_jkr_wereclearmoveon"); +} + +//Function Number: 43 +play_training_s1_flag_vo_training_s1_joker_prophet_approaching() +{ + common_scripts\utility::flag_wait("flag_vo_training_s1_joker_prophet_approaching"); + soundscripts\_snd::snd_music_message("intro_approaching_north_access_road"); + level.joker maps\_utility::dialogue_queue("rec_jkr_prophetwereapproachingthenorth"); + level maps\_utility::dialogue_queue("rec_prt_transportiscominginhot"); + level.joker maps\_utility::dialogue_queue("rec_jkr_weregoingtohaveto"); +} + +//Function Number: 44 +play_training_s1_rivers_hostiles_road() +{ + common_scripts\utility::flag_wait("flag_vo_training_s1_rivers_hostiles_road"); + level.joker maps\_utility::dialogue_queue("rec_jkr_holdthemoff"); +} + +//Function Number: 45 +play_training_vo_prophet_exfil_approach() +{ + common_scripts\utility::flag_wait("flag_vo_training_s1_prophet_exfil_approach"); + level maps\_utility::dialogue_queue("rec_prt_atlaszerooneexfilison"); +} + +//Function Number: 46 +play_training_s1_joker_our_ride() +{ + common_scripts\utility::flag_wait("flag_vo_training_s1_joker_our_ride"); + thread play_training_s1_joker_ride_nag(); + level.joker maps\_utility::dialogue_queue("rec_jkr_theresourride"); +} + +//Function Number: 47 +play_training_s1_joker_poppin_smoke() +{ + common_scripts\utility::flag_wait("flag_vo_training_s1_joker_poppin_smoke"); + level.joker maps\_utility::dialogue_queue("rec_jkr_poppinsmoke"); +} + +//Function Number: 48 +play_training_s1_joker_ride_nag() +{ + level endon("training_s1_joker_ride_nag_off"); + for(;;) + { + wait(6); + level.joker maps\_utility::dialogue_queue("rec_jkr_mitchellgetthedoor"); + wait(6); + level.joker maps\_utility::dialogue_queue("rec_jkr_moveitnow"); + wait(6); + level.joker maps\_utility::dialogue_queue("rec_jkr_getthatdooropen"); + } +} + +//Function Number: 49 +play_training_s1_gideon_jeep_nag() +{ + level endon("training_gideon_jeep_nag_off"); + common_scripts\utility::flag_wait("flag_vo_training_gideon_jeep_nag"); + for(;;) + { + wait(8); + level.gideon maps\_utility::dialogue_queue("rec_gdn_getinthejeepmitchell"); + wait(8); + level.gideon maps\_utility::dialogue_queue("rec_gdn_getin2"); + wait(8); + level.gideon maps\_utility::dialogue_queue("rec_gdn_hurryupmitchell"); + } +} + +//Function Number: 50 +play_tour_start_dialog1() +{ + common_scripts\utility::flag_wait("tour_ride_gideon_pcap"); + common_scripts\utility::flag_wait("flag_tour_start_dialog2"); + common_scripts\utility::flag_wait("flag_tour_start_dialog3"); + common_scripts\utility::flag_wait("flag_tour_start_dialog4"); +} + +//Function Number: 51 +play_exo_room_dialog1() +{ + common_scripts\utility::flag_wait("flag_vo_exo_room_01"); + level.gideon maps\_utility::dialogue_queue("rec_gdn_alrightoverhere"); + common_scripts\utility::flag_wait("flag_vo_exo_room_02"); + level.gideon maps\_utility::dialogue_queue("rec_gdn_ironshastakenashine"); + common_scripts\utility::flag_wait("flag_vo_exo_room_03"); + common_scripts\utility::flag_wait_either("player_inside_exo_mode_room","tour_yellow_door_01"); + level.gideon maps\_utility::dialogue_queue("rec_gdn_wevedevelopedtwotypesof"); + level.gideon maps\_utility::dialogue_queue("rec_gdn_assaultisequippedwithboost"); + level.gideon maps\_utility::dialogue_queue("rec_gdn_thespecialistexoyourewearing"); + wait(1); + common_scripts\utility::flag_set("flag_obj_arm_repair_pre"); + level.gideon maps\_utility::dialogue_queue("rec_gdn_techniciansarewaitingforyou"); + play_exo_room_dialog1_nag(); +} + +//Function Number: 52 +play_exo_room_dialog1_nag() +{ + level endon("flag_vo_arm_room_01"); + for(;;) + { + wait(8); + if(!common_scripts\utility::flag("flag_vo_arm_room_01")) + { + level.gideon maps\_utility::dialogue_queue("rec_gdn_goinsidemitchell"); + } + + wait(8); + if(!common_scripts\utility::flag("flag_vo_arm_room_01")) + { + level.gideon maps\_utility::dialogue_queue("rec_gdn_getyourarmfixedmitchell"); + } + + wait(8); + if(!common_scripts\utility::flag("flag_vo_arm_room_01")) + { + level.gideon maps\_utility::dialogue_queue("rec_gdn_theyrewaiting"); + } + } +} + +//Function Number: 53 +play_arm_room_dialog() +{ + level endon("flag_start_shooting"); + common_scripts\utility::flag_wait("flag_vo_arm_room_01"); + wait(1.5); + level.repair_guy_01 maps\_utility::dialogue_queue("rec_tc4_hellomitchell"); + wait(1); + level.repair_guy_01 maps\_utility::dialogue_queue("rec_tc4_pleasestepoverhere"); + wait(0.5); + level.repair_guy_01 maps\_utility::dialogue_queue("rec_tc4_goaheadandplaceyour"); + if(!common_scripts\utility::flag("tour_exo_arm")) + { + thread play_arm_room_dialog_nag(); + } + + common_scripts\utility::flag_wait("flag_vo_arm_room_02"); + wait(11); + level.repair_guy_01 maps\_utility::dialogue_queue("rec_tc4_okjustgoingtorunsome"); + wait(2); + level.repair_guy_01 maps\_utility::dialogue_queue("rec_tc4_tryandmoveyourarm"); + common_scripts\utility::flag_wait("flag_vo_arm_room_03"); + wait(2); + level.repair_guy_01 maps\_utility::dialogue_queue("rec_tc4_makingasmalladjustmenthangon"); + wait(3.5); + level.repair_guy_01 maps\_utility::dialogue_queue("rec_tc4_okagainplease"); + common_scripts\utility::flag_wait("flag_vo_arm_room_04"); + wait(1.5); + level.repair_guy_01 maps\_utility::dialogue_queue("rec_tc4_ithinkiseethe"); + wait(4); + level.repair_guy_01 maps\_utility::dialogue_queue("rec_tc4_onemoretimeplease"); + common_scripts\utility::flag_wait("flag_vo_arm_room_05"); + wait(2); + level.repair_guy_01 maps\_utility::dialogue_queue("rec_tc4_alrightyouregoodbuti"); + common_scripts\utility::flag_wait("tour_yellow_door_03"); + level maps\_utility::dialogue_queue("rec_pa_remindersecuritybadgesmustbe"); +} + +//Function Number: 54 +play_arm_room_dialog_nag() +{ + level endon("tour_exo_arm"); + while(!common_scripts\utility::flag("tour_exo_arm")) + { + wait(8); + level.repair_guy_01 maps\_utility::dialogue_queue("rec_tc4_overhereplease"); + wait(8); + level.repair_guy_01 maps\_utility::dialogue_queue("rec_tc4_ineedyouoverhere"); + } +} + +//Function Number: 55 +play_exo_room_dialog2() +{ + common_scripts\utility::flag_wait("flag_vo_exo_room_04"); + level.gideon maps\_utility::dialogue_queue("rec_gdn_letsheadtotherange"); + common_scripts\utility::flag_wait("flag_vo_exo_room_05"); + level.gideon maps\_utility::dialogue_queue("rec_gdn_heh3"); + level waittill("notify_vo_shows_over"); + var_00 = common_scripts\utility::getstruct("gideon_fight_distance_check","targetname"); + if(distance2d(var_00.origin,level.gideon.origin) <= 650) + { + level.gideon maps\_utility::dialogue_queue("rec_gdn_alrightshowsoverletsmove"); + } +} + +//Function Number: 56 +play_exo_room_techs_dialog1() +{ + common_scripts\utility::flag_wait("flag_vo_exo_room_techs_01"); + level.exo_climb_tech_01 maps\_utility::dialogue_queue("rec_tc1_stillgettingadhesionproblemson"); + wait(0.25); + level.exo_climb_tech_02 maps\_utility::dialogue_queue("rec_tc2_thenewcoilshavecleared"); +} + +//Function Number: 57 +play_exo_room_techs_dialog2() +{ + level endon("flag_start_shooting"); + for(;;) + { + common_scripts\utility::flag_wait("flag_vo_exo_room_techs_02"); + common_scripts\utility::flag_wait("flag_vo_exo_push_dialog"); + if(common_scripts\utility::flag("flag_vo_exo_room_techs_02")) + { + level.exo_climb_tech_03 maps\_utility::dialogue_queue("rec_tc3_okletsgetreadyto"); + break; + } + } + + level waittill("start_anim_push_02"); + wait(10.5); + level.exo_climb_tech_03 maps\_utility::dialogue_queue("rec_tc3_andgo"); + for(;;) + { + common_scripts\utility::flag_wait("flag_vo_exo_room_techs_02"); + common_scripts\utility::flag_wait("flag_vo_exo_push_dialog"); + if(common_scripts\utility::flag("flag_vo_exo_room_techs_02")) + { + level.exo_climb_tech_03 maps\_utility::dialogue_queue("rec_tc3_alrightonemoretimeplease"); + break; + } + } +} + +//Function Number: 58 +play_base_soldier_group_dialog() +{ + level endon("training_room_elevator_activated"); + var_00 = common_scripts\utility::flag_wait_any_return("flag_vo_ambient_soldier_group_1","flag_vo_ambient_soldier_group_2","flag_vo_ambient_soldier_group_3"); + switch(var_00) + { + case "flag_vo_ambient_soldier_group_1": + common_scripts\utility::flag_clear("flag_vo_ambient_soldier_group_1"); + level.ambient_soldier_vo_01 maps\_utility::dialogue_queue("rec_at11_theysaiditwasa"); + wait(0.3); + level.ambient_soldier_vo_02 maps\_utility::dialogue_queue("rec_at2_thosefuckersgetbolderby"); + wait(0.3); + level.ambient_soldier_vo_01 maps\_utility::dialogue_queue("rec_at11_killedeveryhostage"); + wait(0.3); + level.ambient_soldier_vo_02 maps\_utility::dialogue_queue("rec_at2_thenwewontnegotiateeither"); + break; + + case "flag_vo_ambient_soldier_group_2": + common_scripts\utility::flag_clear("flag_vo_ambient_soldier_group_2"); + level.ambient_soldier_vo_03 maps\_utility::dialogue_queue("rec_at11_theysaiditwasa"); + wait(0.3); + level.ambient_soldier_vo_04 maps\_utility::dialogue_queue("rec_at2_thosefuckersgetbolderby"); + wait(0.3); + level.ambient_soldier_vo_03 maps\_utility::dialogue_queue("rec_at11_killedeveryhostage"); + wait(0.3); + level.ambient_soldier_vo_04 maps\_utility::dialogue_queue("rec_at2_thenwewontnegotiateeither"); + break; + + case "flag_vo_ambient_soldier_group_3": + common_scripts\utility::flag_clear("flag_vo_ambient_soldier_group_3"); + level.ambient_soldier_vo_05 maps\_utility::dialogue_queue("rec_at11_theysaiditwasa"); + wait(0.3); + level.ambient_soldier_vo_06 maps\_utility::dialogue_queue("rec_at2_thosefuckersgetbolderby"); + wait(0.3); + level.ambient_soldier_vo_05 maps\_utility::dialogue_queue("rec_at11_killedeveryhostage"); + wait(0.3); + level.ambient_soldier_vo_06 maps\_utility::dialogue_queue("rec_at2_thenwewontnegotiateeither"); + break; + } + + var_00 = common_scripts\utility::flag_wait_any_return("flag_vo_ambient_soldier_group_1","flag_vo_ambient_soldier_group_2","flag_vo_ambient_soldier_group_3"); + switch(var_00) + { + case "flag_vo_ambient_soldier_group_1": + common_scripts\utility::flag_clear("flag_vo_ambient_soldier_group_1"); + level.ambient_soldier_vo_01 maps\_utility::dialogue_queue("rec_at3_nearlybrokehisneckusing"); + wait(0.3); + level.ambient_soldier_vo_02 maps\_utility::dialogue_queue("rec_at4_justtakesskillman"); + wait(0.3); + level.ambient_soldier_vo_01 maps\_utility::dialogue_queue("rec_at3_soyouveneverusedit"); + wait(0.3); + level.ambient_soldier_vo_02 maps\_utility::dialogue_queue("rec_at4_hellnoyoucrazy"); + break; + + case "flag_vo_ambient_soldier_group_2": + common_scripts\utility::flag_clear("flag_vo_ambient_soldier_group_2"); + level.ambient_soldier_vo_03 maps\_utility::dialogue_queue("rec_at3_nearlybrokehisneckusing"); + wait(0.3); + level.ambient_soldier_vo_04 maps\_utility::dialogue_queue("rec_at4_justtakesskillman"); + wait(0.3); + level.ambient_soldier_vo_03 maps\_utility::dialogue_queue("rec_at3_soyouveneverusedit"); + wait(0.3); + level.ambient_soldier_vo_04 maps\_utility::dialogue_queue("rec_at4_hellnoyoucrazy"); + break; + + case "flag_vo_ambient_soldier_group_3": + common_scripts\utility::flag_clear("flag_vo_ambient_soldier_group_3"); + level.ambient_soldier_vo_05 maps\_utility::dialogue_queue("rec_at3_nearlybrokehisneckusing"); + wait(0.3); + level.ambient_soldier_vo_06 maps\_utility::dialogue_queue("rec_at4_justtakesskillman"); + wait(0.3); + level.ambient_soldier_vo_05 maps\_utility::dialogue_queue("rec_at3_soyouveneverusedit"); + wait(0.3); + level.ambient_soldier_vo_06 maps\_utility::dialogue_queue("rec_at4_hellnoyoucrazy"); + break; + } +} + +//Function Number: 59 +play_pa_dialog_reset() +{ + common_scripts\utility::flag_wait("flag_vo_pa_reset"); + wait(26.5); + level maps\_utility::dialogue_queue("rec_pa_resettingsimulation"); +} + +//Function Number: 60 +play_pa_exo_dialog1() +{ + common_scripts\utility::flag_wait("flag_vo_pa_exo_01"); + level maps\_utility::dialogue_queue("rec_pa_commencingtest772"); +} + +//Function Number: 61 +play_pa_exo_dialog2() +{ + common_scripts\utility::flag_wait("flag_vo_pa_exo_02"); + level maps\_utility::dialogue_queue("rec_pa_dr"); +} + +//Function Number: 62 +play_pa_street_dialog1() +{ + common_scripts\utility::flag_wait("flag_vo_pa_street_01"); + level maps\_utility::dialogue_queue("rec_pa_attentionatlasteamalphareport"); +} + +//Function Number: 63 +play_base_radio_dialog1() +{ + common_scripts\utility::flag_wait("flag_vo_radio_base_01"); + if(!common_scripts\utility::flag("flag_shooting_range_start")) + { + level maps\_utility::dialogue_queue("rec_jkr_bosswegotthesim"); + } + + wait(1); + if(!common_scripts\utility::flag("flag_shooting_range_start")) + { + level.gideon maps\_utility::dialogue_queue("rec_gdn_copy"); + } +} + +//Function Number: 64 +play_shooting_range_dialog1() +{ + common_scripts\utility::flag_wait("flag_vo_shooting_range_01"); + level.gideon maps\_utility::dialogue_queue("rec_gdn_hereagainilona"); + wait(1); + level.ilona maps\_utility::dialogue_queue("rec_iln1_dontneedtotry"); + wait(0.5); + level.gideon maps\_utility::dialogue_queue("rec_gdn_heh2"); + wait(2); + if(!common_scripts\utility::flag("flag_obj_equip_firing_range")) + { + level.gideon maps\_utility::dialogue_queue("rec_gdn_alrightkitup"); + thread play_shooting_range_dialog1_nag(); + } + + thread play_shooting_range_dialog2(); +} + +//Function Number: 65 +play_shooting_range_dialog2() +{ + common_scripts\utility::flag_wait("flag_vo_shooting_range_02"); + var_00 = level.player getweaponslistprimaries(); + foreach(var_02 in var_00) + { + if(issubstr(var_02,"unarmed")) + { + var_00 = common_scripts\utility::array_remove(var_00,var_02); + } + } + + var_04 = 1; + foreach(var_02 in var_00) + { + if(!issubstr(var_00[0],"titan45")) + { + var_04 = 0; + break; + } + } + + if(var_04) + { + level.gideon maps\_utility::dialogue_queue("rec_gdn_itllbeachallengewith"); + } + + level.gideon maps\_utility::dialogue_queue("rec_gdn_yourexoisequippedwith"); + level.gideon maps\_utility::dialogue_queue("rec_gdn_theoverdrivebatteryburnsup"); + maps\_utility::autosave_by_name(); + wait(1); + common_scripts\utility::flag_set("flag_obj_gun_range_active"); + common_scripts\utility::flag_set("flag_shooting_range_playable"); + level.gideon maps\_utility::dialogue_queue("rec_gdn_stepuptothestation"); + if(!common_scripts\utility::flag("flag_shooting_range_start")) + { + thread play_shooting_range_dialog2_nag(); + } +} + +//Function Number: 66 +play_shooting_range_dialog3() +{ + level endon("flag_obj_elevators_exit_complete"); + for(;;) + { + common_scripts\utility::flag_wait("flag_shooting_range_start"); + play_shooting_range_dialogue_sequence(); + } +} + +//Function Number: 67 +play_shooting_range_dialogue_sequence() +{ + level endon("flag_shooting_range_start"); + common_scripts\utility::flag_wait("flag_vo_shooting_range_computer_activate"); + level maps\_utility::dialogue_queue("rec_cmr1_activatingtargettraining"); + common_scripts\utility::flag_clear("flag_vo_shooting_range_computer_activate"); + common_scripts\utility::flag_wait("flag_vo_shooting_range_computer_begin"); + level maps\_utility::dialogue_queue("rec_cmr1_begin"); + common_scripts\utility::flag_clear("flag_vo_shooting_range_computer_begin"); + common_scripts\utility::flag_wait("flag_vo_shooting_range_computer_round_2"); + level maps\_utility::dialogue_queue("rec_cmr1_beginround2"); + common_scripts\utility::flag_clear("flag_vo_shooting_range_computer_round_2"); + common_scripts\utility::flag_wait("flag_vo_shooting_range_computer_round_3"); + level maps\_utility::dialogue_queue("rec_cmr1_beginround3"); + common_scripts\utility::flag_clear("flag_vo_shooting_range_computer_round_3"); +} + +//Function Number: 68 +play_shooting_range_dialog4() +{ + level endon("training_room_elevator_activated"); + var_00 = common_scripts\utility::flag_wait_any_return("flag_vo_shooting_range_result_bad","flag_vo_shooting_range_result_average","flag_vo_shooting_range_result_good","flag_vo_shooting_range_result_excellent","flag_vo_shooting_range_result_perfect"); + soundscripts\_snd_playsound::snd_play_2d("rec_cmr1_trainingcomplete"); + wait(1.6); + switch(var_00) + { + case "flag_vo_shooting_range_result_bad": + soundscripts\_snd_playsound::snd_play_2d("rec_cmr1_yourscorewaspoor"); + wait(2.9); + level.gideon maps\_utility::dialogue_queue("rec_gdn_bloodyhellthatwaspathetic"); + break; + + case "flag_vo_shooting_range_result_average": + soundscripts\_snd_playsound::snd_play_2d("rec_cmr1_yourscorewasaverage"); + wait(2.9); + level.gideon maps\_utility::dialogue_queue("rec_gdn_thatthebestyougot"); + break; + + case "flag_vo_shooting_range_result_good": + soundscripts\_snd_playsound::snd_play_2d("rec_cmr1_yourscorewasgood"); + wait(2.9); + level.gideon maps\_utility::dialogue_queue("rec_gdn_notbad"); + break; + + case "flag_vo_shooting_range_result_excellent": + soundscripts\_snd_playsound::snd_play_2d("rec_cmr1_yourscorewasexcellent"); + wait(2.9); + if(common_scripts\utility::flag("flag_vo_shooting_range_result_ilona")) + { + level.ilona maps\_utility::dialogue_queue("rec_iln1_shit"); + common_scripts\utility::flag_set("flag_vo_shooting_range_result_ilona_used"); + } + else + { + level.gideon maps\_utility::dialogue_queue("rec_gdn_goodjob"); + } + break; + + case "flag_vo_shooting_range_result_perfect": + soundscripts\_snd_playsound::snd_play_2d("rec_cmr1_yourscorewasperfect"); + wait(2.9); + if(common_scripts\utility::flag("flag_vo_shooting_range_result_ilona")) + { + level.ilona maps\_utility::dialogue_queue("rec_iln1_shit"); + common_scripts\utility::flag_set("flag_vo_shooting_range_result_ilona_used"); + } + else + { + level.gideon maps\_utility::dialogue_queue("rec_gdn_illbedamnednicework"); + } + break; + } + + common_scripts\utility::flag_clear("flag_vo_shooting_range_result_bad"); + common_scripts\utility::flag_clear("flag_vo_shooting_range_result_average"); + common_scripts\utility::flag_clear("flag_vo_shooting_range_result_good"); + common_scripts\utility::flag_clear("flag_vo_shooting_range_result_excellent"); + common_scripts\utility::flag_clear("flag_vo_shooting_range_result_perfect"); + wait(3); + if(!common_scripts\utility::flag("flag_shooting_range_start")) + { + level.gideon maps\_utility::dialogue_queue("rec_gdn_overtothegrenaderange"); + } + + for(;;) + { + var_00 = common_scripts\utility::flag_wait_any_return("flag_vo_shooting_range_result_bad","flag_vo_shooting_range_result_average","flag_vo_shooting_range_result_good","flag_vo_shooting_range_result_excellent","flag_vo_shooting_range_result_perfect"); + soundscripts\_snd_playsound::snd_play_2d("rec_cmr1_trainingcomplete"); + wait(1.6); + switch(var_00) + { + case "flag_vo_shooting_range_result_bad": + soundscripts\_snd_playsound::snd_play_2d("rec_cmr1_yourscorewaspoor"); + break; + + case "flag_vo_shooting_range_result_average": + soundscripts\_snd_playsound::snd_play_2d("rec_cmr1_yourscorewasaverage"); + break; + + case "flag_vo_shooting_range_result_good": + soundscripts\_snd_playsound::snd_play_2d("rec_cmr1_yourscorewasgood"); + break; + + case "flag_vo_shooting_range_result_excellent": + soundscripts\_snd_playsound::snd_play_2d("rec_cmr1_yourscorewasexcellent"); + break; + + case "flag_vo_shooting_range_result_perfect": + soundscripts\_snd_playsound::snd_play_2d("rec_cmr1_yourscorewasperfect"); + break; + } + + common_scripts\utility::flag_clear("flag_vo_shooting_range_result_bad"); + common_scripts\utility::flag_clear("flag_vo_shooting_range_result_average"); + common_scripts\utility::flag_clear("flag_vo_shooting_range_result_good"); + common_scripts\utility::flag_clear("flag_vo_shooting_range_result_excellent"); + common_scripts\utility::flag_clear("flag_vo_shooting_range_result_perfect"); + if(common_scripts\utility::flag("flag_vo_shooting_range_result_ilona") && !common_scripts\utility::flag("flag_vo_shooting_range_result_ilona_used")) + { + level.ilona maps\_utility::dialogue_queue("rec_iln1_shit"); + common_scripts\utility::flag_set("flag_vo_shooting_range_result_ilona_used"); + } + } +} + +//Function Number: 69 +play_shooting_range_dialog1_nag() +{ + level endon("flag_obj_equip_firing_range"); + while(!common_scripts\utility::flag("flag_obj_equip_firing_range")) + { + wait(8); + common_scripts\utility::flag_wait("player_inside_shooting_range"); + if(common_scripts\utility::flag("flag_obj_equip_firing_range")) + { + break; + } + + level.gideon maps\_utility::dialogue_queue("rec_gdn_grabagunmitchell"); + wait(8); + common_scripts\utility::flag_wait("player_inside_shooting_range"); + if(common_scripts\utility::flag("flag_obj_equip_firing_range")) + { + break; + } + + level.gideon maps\_utility::dialogue_queue("rec_gdn_donthaveallfuckinday"); + } +} + +//Function Number: 70 +play_shooting_range_dialog2_nag() +{ + level endon("flag_shooting_range_start"); + for(;;) + { + wait(8); + level.gideon maps\_utility::dialogue_queue("rec_gdn_mitchellgetstarted"); + wait(8); + level.gideon maps\_utility::dialogue_queue("rec_gdn_pickitupmitchell"); + } +} + +//Function Number: 71 +play_shooting_range_dialog_friendlies() +{ + level endon("shooting_range_completed_once"); + common_scripts\utility::flag_wait("flag_vo_shooting_range_friendly"); + level.gideon maps\_utility::dialogue_queue("rec_gdn_watchthefriendlies"); + wait(3); + common_scripts\utility::flag_clear("flag_vo_shooting_range_friendly"); + common_scripts\utility::flag_wait("flag_vo_shooting_range_friendly"); + level.gideon maps\_utility::dialogue_queue("rec_gdn_fuckme2"); + wait(3); + common_scripts\utility::flag_clear("flag_vo_shooting_range_friendly"); + common_scripts\utility::flag_wait("flag_vo_shooting_range_friendly"); + level.gideon maps\_utility::dialogue_queue("rec_gdn_shehadafamilymitchell"); + common_scripts\utility::flag_clear("flag_vo_shooting_range_friendly"); +} + +//Function Number: 72 +play_shooting_range_dialog_overdrive() +{ + level endon("training_room_elevator_activated"); + while(!common_scripts\utility::flag("training_room_elevator_activated")) + { + common_scripts\utility::flag_wait("flag_vo_shooting_range_overdrive_ready"); + level maps\_utility::dialogue_queue("rec_cmr1_useoverdrive"); + common_scripts\utility::flag_clear("flag_vo_shooting_range_overdrive_ready"); + } +} + +//Function Number: 73 +play_grenade_range_dialog1() +{ + level endon("flag_obj_elevators_exit_complete"); + for(;;) + { + common_scripts\utility::flag_wait("flag_vo_grenade_range_computer_activate"); + level maps\_utility::dialogue_queue("rec_cmr1_activatinggrenadetraining"); + common_scripts\utility::flag_clear("flag_vo_grenade_range_computer_activate"); + } +} + +//Function Number: 74 +play_grenade_range_dialog2() +{ + level endon("training_room_elevator_activated"); + var_00 = common_scripts\utility::flag_wait_any_return("flag_vo_grenade_range_result_bad","flag_vo_grenade_range_result_average","flag_vo_grenade_range_result_good","flag_vo_grenade_range_result_excellent","flag_vo_grenade_range_result_perfect"); + soundscripts\_snd_playsound::snd_play_2d("rec_cmr1_trainingcomplete"); + wait(1.6); + switch(var_00) + { + case "flag_vo_grenade_range_result_bad": + soundscripts\_snd_playsound::snd_play_2d("rec_cmr1_yourscorewaspoor"); + wait(2.9); + level.gideon maps\_utility::dialogue_queue("rec_gdn_fuckmetheyreplacethe"); + common_scripts\utility::flag_clear("flag_vo_grenade_range_result_bad"); + break; + + case "flag_vo_grenade_range_result_average": + soundscripts\_snd_playsound::snd_play_2d("rec_cmr1_yourscorewasaverage"); + wait(2.9); + level.gideon maps\_utility::dialogue_queue("rec_gdn_averageisright"); + common_scripts\utility::flag_clear("flag_vo_grenade_range_result_average"); + break; + + case "flag_vo_grenade_range_result_good": + soundscripts\_snd_playsound::snd_play_2d("rec_cmr1_yourscorewasgood"); + wait(2.9); + level.gideon maps\_utility::dialogue_queue("rec_gdn_decent"); + common_scripts\utility::flag_clear("flag_vo_grenade_range_result_good"); + break; + + case "flag_vo_grenade_range_result_excellent": + soundscripts\_snd_playsound::snd_play_2d("rec_cmr1_yourscorewasexcellent"); + wait(2.9); + level.gideon maps\_utility::dialogue_queue("rec_gdn_topjob"); + common_scripts\utility::flag_clear("flag_vo_grenade_range_result_excellent"); + break; + + case "flag_vo_grenade_range_result_perfect": + soundscripts\_snd_playsound::snd_play_2d("rec_cmr1_yourscorewasperfect"); + wait(2.9); + level.gideon maps\_utility::dialogue_queue("rec_gdn_fuckinimpressive"); + common_scripts\utility::flag_clear("flag_vo_grenade_range_result_perfect"); + break; + } + + wait(2); + level.gideon maps\_utility::dialogue_queue("rec_gdn_letsmove"); + wait(3); + if(!common_scripts\utility::flag("flag_grenade_range_start")) + { + level maps\_utility::dialogue_queue("rec_pa_exomark3demonstrationbeginning"); + } + + for(;;) + { + var_00 = common_scripts\utility::flag_wait_any_return("flag_vo_grenade_range_result_bad","flag_vo_grenade_range_result_average","flag_vo_grenade_range_result_good","flag_vo_grenade_range_result_excellent","flag_vo_grenade_range_result_perfect"); + soundscripts\_snd_playsound::snd_play_2d("rec_cmr1_trainingcomplete"); + wait(1.6); + switch(var_00) + { + case "flag_vo_grenade_range_result_bad": + soundscripts\_snd_playsound::snd_play_2d("rec_cmr1_yourscorewaspoor"); + common_scripts\utility::flag_clear("flag_vo_grenade_range_result_bad"); + break; + + case "flag_vo_grenade_range_result_average": + soundscripts\_snd_playsound::snd_play_2d("rec_cmr1_yourscorewasaverage"); + common_scripts\utility::flag_clear("flag_vo_grenade_range_result_average"); + break; + + case "flag_vo_grenade_range_result_good": + soundscripts\_snd_playsound::snd_play_2d("rec_cmr1_yourscorewasgood"); + common_scripts\utility::flag_clear("flag_vo_grenade_range_result_good"); + break; + + case "flag_vo_grenade_range_result_excellent": + soundscripts\_snd_playsound::snd_play_2d("rec_cmr1_yourscorewasexcellent"); + common_scripts\utility::flag_clear("flag_vo_grenade_range_result_excellent"); + break; + + case "flag_vo_grenade_range_result_perfect": + soundscripts\_snd_playsound::snd_play_2d("rec_cmr1_yourscorewasperfect"); + common_scripts\utility::flag_clear("flag_vo_grenade_range_result_perfect"); + break; + } + } +} + +//Function Number: 75 +play_grenade_range_dialog3() +{ + common_scripts\utility::flag_wait("flag_vo_grenade_range_gideon_intro"); + wait(2); + level.gideon maps\_utility::dialogue_queue("rec_gdn_alrightgrabsomegrenadesand"); + wait(1); + level.gideon maps\_utility::dialogue_queue("rec_gdn_variablegrenadesletyouswitch"); + wait(1); + level.gideon maps\_utility::dialogue_queue("rec_gdn_activatetheconsole"); + common_scripts\utility::flag_set("flag_obj_grenade_range_pre_2"); +} + +//Function Number: 76 +play_grenade_range_dialog4() +{ + common_scripts\utility::flag_wait("flag_vo_grenade_range_gideon_threat"); + wait(1); + level.gideon maps\_utility::dialogue_queue("rec_gdn_tossathreatgrenade"); + common_scripts\utility::flag_set("flag_obj_grenade_tutorial_threat_start"); + common_scripts\utility::flag_wait("flag_vo_grenade_range_bullet_penetration"); + wait(2.5); + level.gideon maps\_utility::dialogue_queue("rec_gdn_shootthroughwallstohit"); + common_scripts\utility::flag_wait("flag_vo_grenade_range_gideon_emp"); + wait(1); + level.gideon maps\_utility::dialogue_queue("rec_gdn_switchtoempstotake"); + common_scripts\utility::flag_wait("flag_vo_grenade_range_gideon_smart"); + wait(1); + level.gideon maps\_utility::dialogue_queue("rec_gdn_tossasmartgrenadeand"); + common_scripts\utility::flag_wait("flag_vo_grenade_range_gideon_again"); + wait(1); + level.gideon maps\_utility::dialogue_queue("rec_gdn_good2"); + common_scripts\utility::flag_wait("flag_vo_grenade_range_threat_2"); + level.gideon maps\_utility::dialogue_queue("rec_gdn_useyourthreatgrenadeagain"); +} + +//Function Number: 77 +play_grenade_range_dialog5() +{ + common_scripts\utility::flag_wait("flag_vo_grenade_range_grenades_only"); + wait(0.5); + level.gideon maps\_utility::dialogue_queue("rec_gdn_grenadesonlymitchell"); +} + +//Function Number: 78 +play_drone_range_dialog1() +{ + level endon("training_room_elevator_activated"); + for(;;) + { + common_scripts\utility::flag_wait("flag_drone_range_start"); + level maps\_utility::dialogue_queue("rec_cm1_activatingdronetraining"); + common_scripts\utility::flag_waitopen("flag_drone_range_start"); + } +} + +//Function Number: 79 +play_drone_range_dialog2() +{ + level endon("training_room_elevator_activated"); + for(;;) + { + level waittill("flag_vo_drone_training_complete"); + level maps\_utility::dialogue_queue("rec_cm1_dronetrainingcomplete"); + } +} + +//Function Number: 80 +play_drone_range_dialog3() +{ + level waittill("flag_vo_drone_training_exit"); +} + +//Function Number: 81 +play_ready_room_dialog1() +{ + common_scripts\utility::flag_wait("flag_vo_ready_room_01"); + wait(6); + level.gideon maps\_utility::dialogue_queue("rec_gdn_staysharpironsisgoing"); + wait(0.5); + level.gideon maps\_utility::dialogue_queue("rec_gdn_kitup"); + wait(11.5); + level.gideon maps\_utility::dialogue_queue("rec_gdn_chooseyourloadout"); +} + +//Function Number: 82 +play_ready_room_dialog2() +{ +} + +//Function Number: 83 +play_ready_room_dialog3() +{ + level endon("training_room_elevator_activated"); + level waittill("gideon_presses_elevator_button"); + wait(5); + level.gideon maps\_utility::dialogue_queue("rec_gdn_getintheelevator"); + thread play_ready_room_elevator_nag(); + common_scripts\utility::flag_wait("player_inside_elevator_right"); + level.gideon maps\_utility::dialogue_queue("rec_gdn_theotherelevatormitchell"); +} + +//Function Number: 84 +play_ready_room_elevator_nag() +{ + level endon("training_room_elevator_activated"); + while(!common_scripts\utility::flag("training_room_elevator_activated")) + { + wait(12); + level.gideon maps\_utility::dialogue_queue("rec_gdn_moveitrookie"); + wait(12); + level.gideon maps\_utility::dialogue_queue("rec_gdn_intheelevatornow"); + } +} + +//Function Number: 85 +play_ready_room_dialog4() +{ + common_scripts\utility::flag_wait("flag_vo_ready_room_04"); + wait(3); + level.gideon maps\_utility::dialogue_queue("rec_gdn_jokerwereheadingup"); + wait(0.25); + level maps\_utility::dialogue_queue("rec_jkr_copythat2"); + wait(2); + level maps\_utility::dialogue_queue("rec_cmr1_preparingassaultmode"); + wait(0.25); + level maps\_utility::dialogue_queue("rec_cmr1_simulationstartingin32"); +} + +//Function Number: 86 +play_training_s2_gideon_my_lead() +{ + common_scripts\utility::flag_wait("flag_vo_training_s2_gideon_my_lead"); + wait(0.5); + level.gideon maps\_utility::dialogue_queue("rec_gdn_okmyleadmyway"); +} + +//Function Number: 87 +play_training_s2_joker_here_they() +{ + common_scripts\utility::flag_wait("flag_vo_training_s2_joker_here_they"); + level.joker maps\_utility::dialogue_queue("rec_jkr_heretheycome"); + level.gideon maps\_utility::dialogue_queue("rec_gdn_takeemdown"); + wait(10); + while(level.player maps\_player_exo::overdrive_is_on() == 1) + { + wait 0.05; + } + + wait(1); + level maps\_utility::dialogue_queue("rec_prt_atlaszeroonewearetracking2"); +} + +//Function Number: 88 +play_training_s2_gideon_use_overdrive() +{ + common_scripts\utility::flag_wait("flag_vo_training_s2_gideon_use_overdrive"); + level.gideon maps\_utility::dialogue_queue("rec_gdn_useoverdrive"); +} + +//Function Number: 89 +play_training_s2_gideon_clear_move() +{ + common_scripts\utility::flag_wait("flag_vo_training_s2_gideon_push_forward"); + level.gideon maps\_utility::dialogue_queue("rec_gdn_pushforward"); + common_scripts\utility::flag_wait("flag_vo_training_s2_gideon_clear_move"); + wait(1.5); + level.gideon maps\_utility::dialogue_queue("rec_gdn_clearmoveup"); + wait(1.5); + level.gideon maps\_utility::dialogue_queue("rec_gdn_alrightpickyourentrypoint"); +} + +//Function Number: 90 +play_training_s2_joker_living_room() +{ + level endon("training_s2_player_choose_entrance"); + common_scripts\utility::flag_wait("flag_vo_training_s2_joker_living_room"); + level.joker maps\_utility::dialogue_queue("rec_jkr_goingthroughthelivingroom"); + level notify("training_s2_player_choose_entrance"); +} + +//Function Number: 91 +play_training_s2_joker_entering_kitchen() +{ + level endon("training_s2_player_choose_entrance"); + common_scripts\utility::flag_wait("flag_vo_training_s2_joker_entering_kitchen"); + level.joker maps\_utility::dialogue_queue("rec_jkr_enteringthekitchen"); + level notify("training_s2_player_choose_entrance"); +} + +//Function Number: 92 +play_training_s2_joker_front_entrance() +{ + level endon("training_s2_player_choose_entrance"); + common_scripts\utility::flag_wait("flag_vo_training_s2_joker_front_entrance"); + level.joker maps\_utility::dialogue_queue("rec_jkr_takingthefrontentrance"); + level notify("training_s2_player_choose_entrance"); +} + +//Function Number: 93 +play_training_s2_gideon_mitchell_sweep() +{ + common_scripts\utility::flag_wait("flag_vo_training_s2_gideon_mitchell_sweep"); + if(!common_scripts\utility::flag("flag_bedrooms_dead")) + { + level.gideon maps\_utility::dialogue_queue("rec_jkr_mitchellsweepthebedrooms"); + } +} + +//Function Number: 94 +play_training_s2_joker_contact() +{ + common_scripts\utility::flag_wait("flag_vo_training_s2_joker_contact"); + level.joker maps\_utility::dialogue_queue("rec_rvs_contact"); +} + +//Function Number: 95 +play_training_s2_joker_clear() +{ + common_scripts\utility::flag_wait("flag_vo_training_s2_joker_clear"); + level.joker maps\_utility::dialogue_queue("rec_jkr_clear2"); + wait(1); + common_scripts\utility::flag_set("flag_vo_training_s2_gideon_media_room"); +} + +//Function Number: 96 +play_training_s2_gideon_media_room() +{ + common_scripts\utility::flag_wait("flag_vo_training_s2_gideon_media_room"); + if(!common_scripts\utility::flag("flag_vo_training_s2_gideon_hit_door_nag_off")) + { + thread play_training_s2_gideon_hit_door_nag(); + level.gideon maps\_utility::dialogue_queue("rec_gdn_mitchellgettothemedia"); + } +} + +//Function Number: 97 +play_training_s2_gideon_hit_door_nag() +{ + if(!common_scripts\utility::flag("flag_vo_training_s2_gideon_hit_door_nag_off")) + { + return; + } + + level endon("flag_vo_training_s2_gideon_hit_door_nag_off"); + while(!common_scripts\utility::flag("flag_vo_training_s2_gideon_hit_door_nag_off")) + { + wait(7); + level.gideon maps\_utility::dialogue_queue("rec_gdn_hitthedoormitchell"); + wait(7); + level.gideon maps\_utility::dialogue_queue("rec_gdn_bustthatdoormitchell"); + wait(7); + level.gideon maps\_utility::dialogue_queue("rec_gdn_breachthedoor"); + } +} + +//Function Number: 98 +play_training_s2_gideon_mr_president() +{ + level endon("joker_drones"); + common_scripts\utility::flag_wait("flag_vo_training_s2_gideon_mr_president"); + level.joker maps\_utility::dialogue_queue("rec_jkr_clear3"); + wait(3); + level.gideon maps\_utility::dialogue_queue("rec_gdn_mr"); + level.president maps\_utility::dialogue_queue("rec_pts_alphazulutango"); + level.gideon maps\_utility::dialogue_queue("rec_gdn_confirmedstaybehindus"); + wait(0.5); + level maps\_utility::dialogue_queue("rec_prt_atlaszeroonebeadvisedwe"); + level.gideon maps\_utility::dialogue_queue("rec_gdn_copythatprophet"); +} + +//Function Number: 99 +play_training_s2_joker_drones() +{ + common_scripts\utility::flag_wait("flag_vo_training_s2_joker_drones"); + level notify("joker_drones"); + level.joker maps\_utility::dialogue_queue("rec_jkr_drones"); + level.gideon maps\_utility::dialogue_queue("rec_gdn_useyouremps"); +} + +//Function Number: 100 +play_training_s2_gideon_mitchell_assault_drone() +{ + common_scripts\utility::flag_wait("flag_vo_training_s2_gideon_mitchell_assault_drone"); + thread play_training_s2_gideon_mitchell_assault_drone_nag(); + thread play_training_s2_gideon_drone_down(); + level.gideon maps\_utility::dialogue_queue("rec_gdn_mitchelluseyourassaultdrone"); +} + +//Function Number: 101 +play_training_s2_gideon_mitchell_assault_drone_nag() +{ + level endon("training_s2_drone_enemies_killed"); + level endon("training_s2_drone_start"); + wait(7); + level.gideon maps\_utility::dialogue_queue("rec_gdn_launchyourassaultdrone"); + wait(7); + wait(7); +} + +//Function Number: 102 +play_training_s2_gideon_drone_down() +{ + level endon("training_s2_drone_enemies_killed"); + common_scripts\utility::flag_wait("flag_vo_training_s2_gideon_drone_down"); + wait(1.4); + level.gideon maps\_utility::dialogue_queue("rec_gdn_yourdronesdown"); +} + +//Function Number: 103 +play_training_s2_gideon_dont_let_up() +{ + level endon("training_s2_drone_enemies_killed"); + common_scripts\utility::flag_wait("flag_vo_training_s2_gideon_dont_let_up"); + level.gideon maps\_utility::dialogue_queue("rec_gdn_dontletup"); +} + +//Function Number: 104 +play_training_s2_gideon_smart_grenades() +{ + common_scripts\utility::flag_wait("flag_vo_training_s2_gideon_smart_grenades"); + wait(1); + if(level.player setweaponammostock(level.player getweaponslistoffhands()[1]) > 0) + { + level.gideon maps\_utility::dialogue_queue("rec_gdn_useyoursmartgrenades"); + } +} + +//Function Number: 105 +play_training_s2_prophet_large_qrf() +{ +} + +//Function Number: 106 +play_training_s2_gideon_go_go() +{ + common_scripts\utility::flag_wait("flag_vo_training_s2_gideon_go_go"); + level.gideon maps\_utility::dialogue_queue("rec_gdn_areasclearkeepmoving"); + soundscripts\_snd::snd_music_message("sim2_complete"); + wait(6); + level.gideon maps\_utility::dialogue_queue("rec_gdn_gogo"); +} + +//Function Number: 107 +play_training_s2_gideon_prophet_approaching() +{ + common_scripts\utility::flag_wait("flag_vo_training_s2_gideon_prophet_approaching"); + level.gideon maps\_utility::dialogue_queue("rec_gdn_prophetwereapproachiongthenorth"); + level maps\_utility::dialogue_queue("rec_prt_copythatatlaszeroone"); + level.gideon maps\_utility::dialogue_queue("rec_gdn_keepmoving"); +} + +//Function Number: 108 +play_training_s2_gideon_president_inside() +{ + common_scripts\utility::flag_wait("flag_vo_training_s2_gideon_president_inside"); + thread play_training_s2_gideon_mitchell_secure_nag(); + level.gideon maps\_utility::dialogue_queue("rec_gdn_getthepresidentinside"); +} + +//Function Number: 109 +play_training_s2_gideon_mitchell_secure_nag() +{ + level endon("training_s2_gideon_mitchell_secure_nag_off"); + wait(9); + level.gideon maps\_utility::dialogue_queue("rec_gdn_openthefuckingdoormitchell"); + wait(8); + level.gideon maps\_utility::dialogue_queue("rec_gdn_mitchellsecurethepresident"); +} + +//Function Number: 110 +play_training_s2_gideon_package_secure() +{ + common_scripts\utility::flag_wait("flag_vo_training_s2_gideon_package_secure"); + level.gideon maps\_utility::dialogue_queue("rec_gdn_prophetpackageissecure"); + level maps\_utility::dialogue_queue("rec_prt_copyatlaszeroone2"); + level.gideon maps\_utility::dialogue_queue("rec_gdn_copyprophetalrightdigin"); + common_scripts\utility::flag_set("training_s2_start_exo_shield_tutorial"); +} + +//Function Number: 111 +play_training_s2_gideon_use_your_shield() +{ + common_scripts\utility::flag_wait("flag_vo_training_s2_gideon_use_your_shield"); + level.gideon maps\_utility::dialogue_queue("rec_gdn_useyourshield"); +} + +//Function Number: 112 +play_training_s2_gideon_our_exfil() +{ + common_scripts\utility::flag_wait("flag_vo_training_s2_warbird_pilot"); + level maps\_utility::dialogue_queue("rec_ch11_raptor23cominginto"); + common_scripts\utility::flag_wait("flag_vo_training_s2_gideon_our_exfil"); + wait(1); + level.gideon maps\_utility::dialogue_queue("rec_gdn_theresourexfil"); + soundscripts\_snd::snd_music_message("final_combat"); + wait(4); + thread training_s2_gideon_mitchell_over_nag(); + level.gideon maps\_utility::dialogue_queue("rec_gdn_gettothewarbirdmitchell"); +} + +//Function Number: 113 +play_training_s2_gideon_the_warbird() +{ +} + +//Function Number: 114 +training_s2_gideon_mitchell_over_nag() +{ + level endon("training_s2_gideon_mitchell_over_nag_off"); + for(;;) + { + wait(7); + level.gideon maps\_utility::dialogue_queue("rec_gdn_gettothewarbird"); + wait(7); + level.gideon maps\_utility::dialogue_queue("rec_gdn_mitchelloverhere"); + } +} + +//Function Number: 115 +init_pcap_vo() +{ + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%rec_funeral_eulogy_ends_cormack,"aud_start_rec_funeral_eulogy_ends_cormack",::rec_funeral_part_1_cormack); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%rec_funeral_altascard_cormack,"aud_start_rec_funeral_altascard_cormack",::rec_funeral_part_2_cormack); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%rec_funeral_altascard_irons,"aud_start_rec_funeral_altascard_irons",::rec_funeral_part_2_irons); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%rec_campdavid_intro_guy01,"aud_start_rec_campdavid_intro_guy01",::rec_sim_start_joker); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%rec_ending01_gideon,"aud_start_rec_ending01_gideon",::rec_sim_reveal_gideon); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%rec_ending01_irons,"aud_start_rec_ending01_irons",::rec_sim_reveal_irons); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%rec_tour_ride_gideon_dialogue_gideon,"aud_start_tour_ride_gideon",::rec_jeep_adr_gdn); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%rec_tour_ride_a_pt2_irons,"aud_start_rec_tour_ride_a_pt2_irons",::rec_jeep_ride_pt1); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%rec_tour_ride_b_pt2_irons,"aud_start_rec_tour_ride_b_pt2_irons",::rec_jeep_ride_pt2); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%rec_tour_ride_c_pt1_irons,"aud_start_rec_tour_ride_c_pt1_irons",::rec_jeep_ride_pt3); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%rec_ending03_gideon,"aud_start_rec_ending03_gideon",::rec_welcometoatlas_gideon); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%rec_ending03_irons,"aud_start_rec_ending03_irons",::rec_welcometoatlas_irons); +} + +//Function Number: 116 +rec_funeral_part_1_cormack(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_crk_heleavesbehindfamilyfriends",2.18); +} + +//Function Number: 117 +rec_funeral_part_2_cormack(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_crk_imsorrymitchell",0.12); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_crk_mr",13.21); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_crk_itwasanunfortunatetragedy",23.01); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_crk_mrironsmitchellsbeendischarged",32.06); +} + +//Function Number: 118 +rec_funeral_part_2_irons(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_irs_excusemeprivatemitchell",8.21); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_irs_imsureyouaresergeant",16.2); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_irs_itwasmorethanunfortunate",25.04); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_irs_imawareofhisinjuries",35.16); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_irs_willtoldmewhatkind",44.14); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_irs_thinkaboutit",52.12); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_irs_dontletwillsdeathbe",54.03); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_irs_sergeant",57.19); +} + +//Function Number: 119 +rec_sim_start_joker(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_jkr_okayeveryoneknowswhatto",6.03,"notify_intro_stealth"); + thread start_stealth_music("notify_intro_stealth"); +} + +//Function Number: 120 +start_stealth_music(param_00) +{ + level waittill(param_00); + soundscripts\_snd::snd_music_message("start_intro_stealth"); +} + +//Function Number: 121 +rec_jeep_adr_gdn(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_gdn_jokerwerebringingmitchellover",1.18); + soundscripts\_snd_pcap::snd_pcap_play_radio_vo_30fps("rec_jkr_yougotitboss",7.12); +} + +//Function Number: 122 +rec_jeep_ride_pt1(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_irs_whatyoureseeingisadvanced",2.09); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_irs_unlikethegovernmentwedont",9.24); +} + +//Function Number: 123 +rec_jeep_ride_pt2(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_irs_powerisntjustaboutthe",5.27); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_irs_wedoinafew",14.06); +} + +//Function Number: 124 +rec_jeep_ride_pt3(param_00) +{ + var_01 = 1.24; + soundscripts\_snd::snd_music_message("rec_mus_tour_ride_end",var_01); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_irs_mitchelliknowyourenot",var_01); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_irs_nowgogetthatarm",9.09,"sound_done_rec_irs_nowgogetthatarm"); +} + +//Function Number: 125 +rec_sim_reveal_gideon(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_gdn_sloppymitchell",9.24); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_gdn_reset",15.06); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_gdn_noexcuseforequipmentfailure",18.06,"rec_gdn_noexcuseforequipmentfailure_done"); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_gdn_itshisarmsir",32.03); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_gdn_hesaworkinprogress",39.24); + soundscripts\_snd::snd_music_message("rec_sim_reveal_gideon"); +} + +//Function Number: 126 +rec_sim_reveal_irons(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_irs_thatarmsworthmoreto2",34.21); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_irs_wellkeepworking",41.06); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_irs_jumpin2",49.03); +} + +//Function Number: 127 +rec_welcometoatlas_gideon(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_gdn_hesgettingtheresir",2.18); +} + +//Function Number: 128 +rec_welcometoatlas_irons(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_irs_lookslikewehavean",6.12); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("rec_irs_hesreadyforrealwork",9.24); +} \ No newline at end of file diff --git a/AW/PC/maps/sanfran.gsc b/AW/PC/maps/sanfran.gsc new file mode 100644 index 0000000..fc8e1e0 --- /dev/null +++ b/AW/PC/maps/sanfran.gsc @@ -0,0 +1,876 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: sanfran.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 34 + * Decompile Time: 486 ms + * Timestamp: 4/22/2024 2:35:05 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\_utility::template_level("sanfran"); + maps\_utility::set_console_status(); + intro_lines(); + createthreatbiasgroup("police"); + createthreatbiasgroup("atlas"); + createthreatbiasgroup("atlas_attack"); + createthreatbiasgroup("sentinel"); + precache_main(); + if(level.currentgen) + { + setsaveddvar("r_gunSightColorEntityScale","0.95"); + setsaveddvar("r_gunSightColorNoneScale","0.95"); + maps\_utility::tff_sync_setup(); + } + + setsaveddvar("high_jump_double_tap","1"); + init_level_flags(); + init_lighting_flags(); + setup_start_points(); + forcesharedammo(); + maps\createart\sanfran_art::main(); + maps\sanfran_fx::main(); + maps\sanfran_precache::main(); + maps\_load::main(); + thread maps\_player_exo::main("assault",1); + thread maps\sanfran_lighting::main(); + maps\sanfran_anim::main(); + maps\sanfran_aud::main(); + maps\sanfran_pitbull::player_pitbull_init("player_rig"); + vehicle_scripts\_sentinel_survey_drone_hud::hud_precache(); + maps\_drone_civilian::init(); + maps\_microdronelauncher::init(); + maps\_variable_grenade::main(); + maps\_car_door_shield::init_door_shield(); + maps\sanfran_vo::prepare_dialog(); + thread maps\sanfran_vo::play_dialog(); + thread global_spawn_functions(); + level.default_goalradius = 1024; + setsaveddvar("bg_fallDamageMinHeight",490); + setsaveddvar("bg_fallDamageMaxHeight",640); + setup_portal_scripting(); + common_scripts\utility::array_thread(getentarray("trigger_boost_down_color","targetname"),::common_scripts\utility::trigger_off); + thread maps\sanfran_util::setup_dont_leave_failure(); + thread maps\sanfran_util::setup_dont_leave_hint(); + var_00 = getdvarint("demo_itiot",0); + if(var_00) + { + soundscripts\_snd::snd_message("e3_demo_fade_in"); + level.player.auxillary_hud = newclienthudelem(level.player); + level.player.auxillary_hud setshader("black",1280,720); + level.player.auxillary_hud.horzalign = "fullscreen"; + level.player.auxillary_hud.vertalign = "fullscreen"; + level.player.auxillary_hud.alpha = 1; + level.player.auxillary_hud fadeovertime(0.5); + level.player.auxillary_hud.alpha = 0; + level.player.auxillary_hud.foreground = 1; + setsaveddvar("objectiveHide","0"); + } + + if(level.currentgen) + { + tff_transitions(); + } +} + +//Function Number: 2 +intro_lines() +{ + maps\_utility::intro_screen_create("","",""); + maps\_utility::intro_screen_custom_func(::sanfran_intro_screen); +} + +//Function Number: 3 +sanfran_intro_screen() +{ + thread maps\_introscreen::introscreen_generic_black_fade_in(1,1); +} + +//Function Number: 4 +precache_main() +{ + precachemodel("viewhands_player_sentinel"); + precachemodel("viewbody_sentinel"); + precachemodel("vehicle_ind_semi_truck_fuel_tanker"); + precachemodel("vehicle_atlas_assault_drone"); + precachemodel("vehicle_atlas_assault_drone_large"); + precachemodel("vm_lasercutter"); + precachemodel("deployable_cover"); + precachemodel("ggb_collapse_03_chunka"); + precachemodel("ggb_collapse_03_chunkb"); + precachemodel("ggb_collapse_03_chunkc"); + precachemodel("ggb_collapse_03_chunkd"); + precachemodel("ggb_collapse_03_chunke"); + precachemodel("ggb_collapse_03_chunkf"); + precachemodel("ggb_collapse_03_chunkg"); + precachemodel("vehicle_sentinel_littlebird_benchright"); + precachemodel("vehicle_sentinel_littlebird_benchleft"); + precachemodel("vehicle_sentinel_littlebird_dstrypv"); + precachemodel("vehicle_civ_domestic_sedan_police_static_dstry02"); + precachemodel("vm_bal27_base_black"); + precachemodel("npc_sn6_base_black"); + precachemodel("tag_laser"); + precachemodel("ggb_cable_hero_01"); + precachemodel("vehicle_civ_domestic_economy_destroy_static"); + precachemodel("vehicle_civ_smartcar_static_dstry"); + precachemodel("ind_semi_truck_fuel_tank_destroy"); + precachemodel("ind_semi_truck_03_destroy"); + precacheitem("rpg_nodamage"); + precacheitem("pitbull_magicbullet"); + precacheitem("iw5_mors_sp"); + precacheitem("iw5_hbra3_sp"); + precacheitem("iw5_uts19_sp"); + precacheitem("iw5_pbw_sp"); + precacheitem("iw5_rhino_sp"); + precacheshellshock("default"); + precachestring(&"SANFRAN_DRIVE_HINT"); + precachestring(&"SANFRAN_SHOOT_HINT"); + precachestring(&"SANFRAN_BOOST_HINT"); + precachestring(&"SANFRAN_NO_TARGET_HINT"); + precachestring(&"SANFRAN_REVERSE_HINT"); + precachestring(&"SANFRAN_OBJ_INTERCEPT"); + precachestring(&"SANFRAN_OBJ_INTERCEPT_POINTER"); + precachestring(&"SANFRAN_OBJ_MEETUP"); + precachestring(&"SANFRAN_OBJ_VAN"); + precachestring(&"SANFRAN_OPEN_VAN"); + precachestring(&"SANFRAN_OBJ_BOAT"); + precachestring(&"SANFRAN_FAIL_CHASE"); + precachestring(&"SANFRAN_FAIL_LEAVING_ROAD"); + precachestring(&"SANFRAN_FAIL_LEAVING_SQUAD"); + precacherumble("steady_rumble"); + precacherumble("light_1s"); + precacherumble("light_2s"); + precacherumble("riotshield_impact"); + precacherumble("heavy_1s"); + precacherumble("heavy_2s"); + precacherumble("heavy_3s"); + precacheshader("hud_icon_nvg"); + maps\_utility::add_control_based_hint_strings("drive_hint",&"SANFRAN_DRIVE_HINT",::maps\sanfran_util::player_is_driving,&"SANFRAN_DRIVE_HINT_PC"); + maps\_utility::add_control_based_hint_strings("shoot_hint",&"SANFRAN_SHOOT_HINT",::maps\sanfran_util::player_is_shooting,&"SANFRAN_SHOOT_HINT_PC"); + maps\_utility::add_hint_string("boost_hint",&"SANFRAN_BOOST_HINT",::maps\sanfran_util::player_has_jumped); + maps\_utility::add_hint_string("hint_dont_leave_mission",&"SANFRAN_WARNING_SKIP_OBJECTIVE",::maps\sanfran_util::should_break_dont_leave); + maps\_utility::add_hint_string("no_target_hint",&"SANFRAN_NO_TARGET_HINT"); + maps\_utility::add_control_based_hint_strings("reverse_hint",&"SANFRAN_REVERSE_HINT",::maps\sanfran_code::show_reverse_tutorial_check,&"SANFRAN_REVERSE_HINT_PC"); + maps\_utility::add_control_based_hint_strings("too_far_hint",&"SANFRAN_WARNING_CHASE",::maps\sanfran_util::player_has_caught_up); + maps\_utility::add_control_based_hint_strings("left_road_hint",&"SANFRAN_WARNING_LEAVING_ROAD",::maps\sanfran_util::player_has_returned_to_road); + maps\_utility::add_hint_string("left_squad_hint",&"SANFRAN_WARNING_LEAVING_SQUAD",::maps\sanfran_util::player_has_returned_to_squad); + animscripts\traverse\boost::precache_boost_fx_npc(); +} + +//Function Number: 5 +init_level_flags() +{ + common_scripts\utility::flag_init("flag_obj_van_intercept"); + common_scripts\utility::flag_init("flag_obj_van_meetup"); + common_scripts\utility::flag_init("flag_obj_player_at_van"); + common_scripts\utility::flag_init("flag_obj_player_use_van"); + common_scripts\utility::flag_init("flag_obj_player_used_van"); + common_scripts\utility::flag_init("flag_obj_boost_to_MOB"); + common_scripts\utility::flag_init("flag_obj_player_on_MOB"); + common_scripts\utility::flag_init("flag_intro_transition_to_driving"); + common_scripts\utility::flag_init("flag_intro_van_anim_finished"); + common_scripts\utility::flag_init("flag_intro_give_player_driving"); + common_scripts\utility::flag_init("flag_pitbull_allow_shooting"); + common_scripts\utility::flag_init("flag_player_has_shot_pitbull"); + common_scripts\utility::flag_init("flag_bus_crashed"); + common_scripts\utility::flag_init("flag_player_crashed"); + common_scripts\utility::flag_init("flag_player_crash_complete"); + common_scripts\utility::flag_init("flag_reverse_hint_displayed"); + common_scripts\utility::flag_init("flag_player_can_fire"); + common_scripts\utility::flag_init("flag_fight_start_boost_encounter"); + common_scripts\utility::flag_init("flag_fight_start_police_encounter"); + common_scripts\utility::flag_init("flag_fight_start_tanker_encounter"); + common_scripts\utility::flag_init("flag_fight_start_ambient_encounter"); + common_scripts\utility::flag_init("flag_fight_start_pitbull_encounter"); + common_scripts\utility::flag_init("flag_fight_start_escape_encounter"); + common_scripts\utility::flag_init("flag_fight_start_standoff_encounter"); + common_scripts\utility::flag_init("flag_crash_scene_get_out"); + common_scripts\utility::flag_init("flag_crash_retreat_01"); + common_scripts\utility::flag_init("flag_oncoming_scene_playing"); + common_scripts\utility::flag_init("flag_final_crash_scene_playing"); + common_scripts\utility::flag_init("flag_boost_retreat_01"); + common_scripts\utility::flag_init("flag_player_at_police_battle"); + common_scripts\utility::flag_init("flag_police_retreat_01"); + common_scripts\utility::flag_init("flag_police_retreat_02"); + common_scripts\utility::flag_init("flag_player_at_tanker_battle"); + common_scripts\utility::flag_init("kill_oil_puddle_flames"); + common_scripts\utility::flag_init("flag_tanker_exploded"); + common_scripts\utility::flag_init("flag_tanker_retreat_01"); + common_scripts\utility::flag_init("flag_player_at_ambient_battle"); + common_scripts\utility::flag_init("flag_start_jerk_driver"); + common_scripts\utility::flag_init("flag_player_at_pitbull_battle"); + common_scripts\utility::flag_init("flag_player_at_escape_battle"); + common_scripts\utility::flag_init("flag_player_at_standoff_battle"); + common_scripts\utility::flag_init("flag_player_at_van_standoff"); + common_scripts\utility::flag_init("flag_van_explosion_deploy"); + common_scripts\utility::flag_init("flag_van_explosion_start"); + common_scripts\utility::flag_init("flag_player_at_boost_jump"); + common_scripts\utility::flag_init("flag_at_van_enemy_cleanup"); + common_scripts\utility::flag_init("van_cleanup_complete"); + common_scripts\utility::flag_init("flag_stop_mob_rocking"); + common_scripts\utility::flag_init("flag_enable_battle_chatter"); + common_scripts\utility::flag_init("flag_enable_boost_jump"); + common_scripts\utility::flag_init("flag_hint_player_too_far"); + common_scripts\utility::flag_init("flag_hint_player_left_road"); + common_scripts\utility::flag_init("flag_hint_player_left_squad"); + common_scripts\utility::flag_init("flag_dialog_start_intro"); + common_scripts\utility::flag_init("flag_dialog_intro_fleet"); + common_scripts\utility::flag_init("flag_dialog_intro_cargo"); + common_scripts\utility::flag_init("flag_dialog_start_tunnel"); + common_scripts\utility::flag_init("flag_dialog_tunnel_chase"); + common_scripts\utility::flag_init("flag_dialog_tunnel_update"); + common_scripts\utility::flag_init("flag_dialog_tunnel_bus"); + common_scripts\utility::flag_init("flag_dialog_tunnel_construction"); + common_scripts\utility::flag_init("flag_dialog_tunnel_tanker"); + common_scripts\utility::flag_init("flag_dialog_start_oncoming"); + common_scripts\utility::flag_init("flag_dialog_oncoming_knocked"); + common_scripts\utility::flag_init("flag_dialog_pre_oncoming_knocked"); + common_scripts\utility::flag_init("flag_dialog_oncoming_converging"); + common_scripts\utility::flag_init("flag_dialog_oncoming_battle"); + common_scripts\utility::flag_init("flag_dialog_start_bridge"); + common_scripts\utility::flag_init("flag_dialog_bridge_crash"); + common_scripts\utility::flag_init("flag_dialog_bridge_crawl"); + common_scripts\utility::flag_init("flag_dialog_start_street"); + common_scripts\utility::flag_init("flag_dialog_street_foot"); + common_scripts\utility::flag_init("flag_dialog_street_boost_incoming"); + common_scripts\utility::flag_init("flag_dialog_street_boosters"); + common_scripts\utility::flag_init("flag_dialog_street_sitrep"); + common_scripts\utility::flag_init("flag_dialog_street_helo_intro"); + common_scripts\utility::flag_init("flag_dialog_street_helo_onsite"); + common_scripts\utility::flag_init("flag_dialog_street_helo_change"); + common_scripts\utility::flag_init("flag_dialog_street_helo_warn"); + common_scripts\utility::flag_init("flag_dialog_street_helo_die"); + common_scripts\utility::flag_init("flag_dialog_street_van_stop"); + common_scripts\utility::flag_init("flag_dialog_street_pitbull"); + common_scripts\utility::flag_init("flag_dialog_street_cover"); + common_scripts\utility::flag_init("flag_dialog_street_hurry"); + common_scripts\utility::flag_init("flag_dialog_street_friendlies"); + common_scripts\utility::flag_init("flag_dialog_street_assist"); + common_scripts\utility::flag_init("flag_dialog_start_van"); + common_scripts\utility::flag_init("flag_dialog_van_arrest"); + common_scripts\utility::flag_init("flag_dialog_van_check"); + common_scripts\utility::flag_init("flag_dialog_van_deploy"); + common_scripts\utility::flag_init("flag_dialog_van_collapse"); + common_scripts\utility::flag_init("flag_dialog_start_boost"); + common_scripts\utility::flag_init("flag_dialog_boost_nag"); + common_scripts\utility::flag_init("flag_dialog_boost_chatter"); + common_scripts\utility::flag_init("flag_dialog_boost_mission"); + common_scripts\utility::flag_init("flag_play_van_videolog_pip"); + common_scripts\utility::flag_init("global_accuracy_mod_event"); + common_scripts\utility::flag_init("flag_approach_scene_begin"); + common_scripts\utility::flag_init("player_falling_kill_in_progress"); + common_scripts\utility::flag_init("flag_demo_itiot"); +} + +//Function Number: 6 +init_lighting_flags() +{ + common_scripts\utility::flag_init("start_intro_lighting"); + common_scripts\utility::flag_init("start_tunnel_lighting"); + common_scripts\utility::flag_init("start_oncoming_lighting"); + common_scripts\utility::flag_init("start_bridge_lighting"); + common_scripts\utility::flag_init("start_street_lighting"); + common_scripts\utility::flag_init("start_van_lighting"); + common_scripts\utility::flag_init("start_boost_lighting"); + common_scripts\utility::flag_init("flag_zoom_in_fleet"); + common_scripts\utility::flag_init("flag_zoom_out_fleet"); + common_scripts\utility::flag_init("flag_zoom_in_cargo"); + common_scripts\utility::flag_init("flag_zoom_out_cargo"); + common_scripts\utility::flag_init("flag_cargo_ship"); +} + +//Function Number: 7 +setup_start_points() +{ + maps\_utility::add_start("intro",::start_intro,"",undefined); + maps\_utility::add_start("tunnel",::start_tunnel,"",undefined); + maps\_utility::add_start("oncoming",::start_oncoming,"",undefined); + maps\_utility::add_start("bridge",::start_bridge,"",undefined); + maps\_utility::add_start("street",::start_street,"",undefined); + maps\_utility::add_start("police",::start_police,"",undefined); + maps\_utility::add_start("pitbull",::start_pitbull,"",undefined); + maps\_utility::add_start("van",::start_van,"",undefined); + maps\_utility::add_start("boost",::start_boost,"",undefined); + maps\_utility::add_start("movie capture",::start_movie_capture,"",undefined); + maps\_utility::add_start("bridge_capture",::start_bridge_capture,"",undefined); + maps\_utility::add_start("demo_with_itiot",::start_demo_with_itiot,"",undefined); + if(level.currentgen) + { + var_00 = []; + var_00[0] = "sanfran_intro_tr"; + maps\_utility::set_start_transients("intro",var_00); + maps\_utility::set_start_transients("tunnel",var_00); + maps\_utility::set_start_transients("oncoming",var_00); + maps\_utility::set_start_transients("bridge",var_00); + var_00[0] = "sanfran_outro_tr"; + maps\_utility::set_start_transients("street",var_00); + maps\_utility::set_start_transients("police",var_00); + maps\_utility::set_start_transients("pitbull",var_00); + var_00[1] = "sanfran_bigm_tr"; + maps\_utility::set_start_transients("van",var_00); + maps\_utility::set_start_transients("boost",var_00); + maps\_utility::set_start_transients("movie capture",var_00); + var_00 = ["sanfran_outro_tr"]; + maps\_utility::set_start_transients("demo_with_itiot",var_00); + } +} + +//Function Number: 8 +tff_transitions() +{ + if(!istransientloaded("sanfran_bigm_tr")) + { + thread tff_trans_load_bigm(); + } +} + +//Function Number: 9 +tff_trans_load_bigm() +{ + common_scripts\utility::flag_wait("flag_tff_load_bigm"); + loadtransient("sanfran_bigm_tr"); + while(!istransientloaded("sanfran_bigm_tr")) + { + wait(0.05); + } + + level notify("tff_transition_outro_to_bigm"); +} + +//Function Number: 10 +intro_title_text() +{ + var_00 = newclienthudelem(level.player); + intro_title_text_start(var_00); + thread intro_title_text_end(var_00); +} + +//Function Number: 11 +intro_title_text_start(param_00) +{ + level.player disableweapons(); + level.player freezecontrols(1); + thread maps\_shg_utility::play_chyron_video("chyron_text_sanfran",1,1); + common_scripts\utility::flag_wait("chyron_video_done"); + soundscripts\_snd::snd_message("start_intro"); +} + +//Function Number: 12 +intro_title_text_end(param_00) +{ + wait(1); + var_01 = 1; + param_00 fadeovertime(var_01); + param_00.alpha = 0; + wait(var_01); + param_00 destroy(); +} + +//Function Number: 13 +start_intro() +{ + soundscripts\_snd::snd_message("start_intro"); + level.player lightsetforplayer("set_tunnel_lighting_0"); + common_scripts\utility::flag_set("start_intro_lighting"); + intro_title_text(); + level thread maps\sanfran_code::handle_drone_opening(); + level thread objectives(); +} + +//Function Number: 14 +start_movie_capture() +{ + common_scripts\utility::flag_set("start_intro_lighting"); + level thread maps\sanfran_code::handle_drone_opening("movie"); +} + +//Function Number: 15 +start_tunnel() +{ + soundscripts\_snd::snd_message("start_tunnel"); + maps\sanfran_util::setup_intro(); + maps\sanfran_util::delete_roadsurface_bridge(); + maps\sanfran_util::toggle_off_real_mob(); + common_scripts\utility::flag_set("start_tunnel_lighting"); + common_scripts\utility::flag_set("msg_vfx_zone2_driving_chase"); + level thread maps\sanfran_code::handle_driving_section(); + level thread objectives(); +} + +//Function Number: 16 +start_oncoming() +{ + soundscripts\_snd::snd_message("start_oncoming"); + maps\sanfran_util::setup_intro(); + maps\sanfran_util::setup_move_player_pitbull("start_oncoming"); + maps\sanfran_util::setup_move_friendly_pitbull("start_oncoming_friendly_pitbull"); + level.friendly_pitbull.shadow_pos = "van"; + maps\sanfran_util::setup_move_chase_van("start_oncoming_chase_van"); + maps\sanfran_util::delete_roadsurface_bridge(); + maps\sanfran_util::toggle_off_real_mob(); + maps\sanfran_util::show_water_final(); + common_scripts\utility::flag_set("flag_obj_van_intercept"); + common_scripts\utility::flag_set("flag_intro_give_player_driving"); + common_scripts\utility::flag_set("start_oncoming_lighting"); + common_scripts\utility::flag_set("msg_vfx_zone2_driving_chase"); + level thread maps\sanfran_code::handle_driving_section("oncoming"); + level thread objectives(); + wait(1); + maps\sanfran_util::enable_pitbull_shooting(); + common_scripts\utility::flag_set("portal_on_ggb_01"); + wait(0.05); + common_scripts\utility::flag_clear("portal_on_ggb_01"); +} + +//Function Number: 17 +start_bridge() +{ + soundscripts\_snd::snd_message("start_bridge"); + maps\sanfran_util::setup_intro(); + maps\sanfran_util::setup_move_player_pitbull("start_bridge"); + maps\sanfran_util::setup_move_friendly_pitbull("start_bridge_friendly_pitbull"); + maps\sanfran_util::setup_move_chase_van("start_bridge_chase_van"); + maps\sanfran_util::delete_roadsurface_bridge(); + maps\sanfran_util::toggle_off_real_mob(); + maps\sanfran_util::show_water_final(); + common_scripts\utility::flag_set("flag_intro_give_player_driving"); + common_scripts\utility::flag_set("flag_obj_van_intercept"); + common_scripts\utility::flag_set("start_bridge_lighting"); + common_scripts\utility::flag_set("msg_vfx_zone2_driving_chase"); + level thread maps\sanfran_code::handle_driving_section("bridge"); + level thread objectives(); + wait(1); + maps\sanfran_util::enable_pitbull_shooting(); + common_scripts\utility::flag_set("portal_on_ggb_01"); + wait(0.05); + common_scripts\utility::flag_clear("portal_on_ggb_01"); + common_scripts\utility::flag_set("portal_on_ggb_02"); +} + +//Function Number: 18 +start_street() +{ + soundscripts\_snd::snd_message("start_street"); + maps\sanfran_util::hide_fallen_bridge(); + maps\sanfran_util::hide_chase_scene(); + maps\sanfran_util::show_ents_by_targetname("pitbull_crash_collision"); + maps\sanfran_util::solid_ents_by_targetname("pitbull_crash_collision"); + maps\sanfran_util::put_bridge_in_proper_place(); + maps\sanfran_util::make_bridge_normal(); + maps\sanfran_util::set_player_start("start_street"); + maps\sanfran_util::spawn_squad(); + maps\sanfran_util::delete_roadsurface_bridge(); + maps\sanfran_util::toggle_off_real_mob(); + maps\sanfran_util::show_water_final(); + common_scripts\utility::flag_set("flag_obj_van_intercept"); + common_scripts\utility::flag_set("flag_enable_battle_chatter"); + common_scripts\utility::flag_set("flag_player_crash_complete"); + common_scripts\utility::flag_set("start_street_lighting"); + common_scripts\utility::flag_set("msg_vfx_zone2_driving_chase"); + maps\sanfran_code::start_after_crash_traffic(0); + level thread maps\sanfran_code::handle_fight_section(); + level thread objectives(); + common_scripts\utility::flag_set("portal_on_ggb_02"); +} + +//Function Number: 19 +start_police() +{ + soundscripts\_snd::snd_message("start_police"); + maps\sanfran_util::hide_fallen_bridge(); + maps\sanfran_util::hide_chase_scene(); + maps\sanfran_util::show_ents_by_targetname("pitbull_crash_collision"); + maps\sanfran_util::solid_ents_by_targetname("pitbull_crash_collision"); + maps\sanfran_util::put_bridge_in_proper_place(); + maps\sanfran_util::make_bridge_normal(); + maps\sanfran_util::set_player_start("start_police"); + maps\sanfran_util::spawn_squad("start_police"); + level thread maps\sanfran_util::give_boost_jump(); + maps\sanfran_util::delete_roadsurface_bridge(); + maps\sanfran_util::toggle_off_real_mob(); + maps\sanfran_util::show_water_final(); + common_scripts\utility::flag_set("flag_obj_van_intercept"); + common_scripts\utility::flag_set("flag_enable_battle_chatter"); + common_scripts\utility::flag_set("start_street_lighting"); + common_scripts\utility::flag_set("msg_vfx_zone2_driving_chase"); + maps\sanfran_code::start_after_crash_traffic(0); + level thread maps\sanfran_code::handle_fight_section("police"); + level thread objectives(); + common_scripts\utility::flag_set("portal_on_ggb_02"); +} + +//Function Number: 20 +start_pitbull() +{ + soundscripts\_snd::snd_message("start_pitbull"); + maps\sanfran_util::hide_fallen_bridge(); + maps\sanfran_util::hide_chase_scene(); + maps\sanfran_util::put_bridge_in_proper_place(); + maps\sanfran_util::make_bridge_normal(); + maps\sanfran_util::delete_ents_by_targetname("trigger_tanker_fire_damage"); + maps\sanfran_util::set_player_start("start_pitbull"); + maps\sanfran_util::spawn_squad("start_pitbull"); + level thread maps\sanfran_util::give_boost_jump(); + maps\sanfran_util::delete_roadsurface_bridge(); + maps\sanfran_util::toggle_off_real_mob(); + maps\sanfran_util::show_water_final(); + common_scripts\utility::flag_set("flag_obj_van_intercept"); + common_scripts\utility::flag_set("flag_obj_van_meetup"); + common_scripts\utility::flag_set("flag_enable_battle_chatter"); + common_scripts\utility::flag_set("flag_fight_start_ambient_encounter"); + common_scripts\utility::flag_set("start_street_lighting"); + common_scripts\utility::flag_set("msg_vfx_zone2_driving_chase"); + level thread maps\sanfran_code::handle_fight_section("pitbull"); + level thread objectives(); +} + +//Function Number: 21 +start_van() +{ + soundscripts\_snd::snd_message("start_van"); + maps\sanfran_util::hide_fallen_bridge(); + maps\sanfran_util::hide_chase_scene(); + maps\sanfran_util::put_bridge_in_proper_place(); + maps\sanfran_util::make_bridge_normal(); + maps\sanfran_util::set_player_start("start_van_boost"); + maps\sanfran_util::spawn_squad("start_van_boost"); + thread maps\sanfran_code::setup_bridge_explosion_anim_sequence(); + maps\sanfran_util::delete_roadsurface_bridge(); + maps\sanfran_util::toggle_off_real_mob(); + maps\sanfran_util::toggle_on_real_mob(); + maps\sanfran_util::show_water_final(); + common_scripts\utility::run_thread_on_targetname("trigger_fall_fail",::maps\sanfran_util::fall_fail); + common_scripts\utility::run_thread_on_targetname("trigger_fall_fail_remove",::maps\sanfran_util::fall_fail); + common_scripts\utility::flag_set("flag_obj_van_intercept"); + common_scripts\utility::flag_set("flag_obj_van_meetup"); + common_scripts\utility::flag_set("flag_enable_battle_chatter"); + common_scripts\utility::flag_set("start_van_lighting"); + common_scripts\utility::flag_set("msg_vfx_zone2_driving_chase"); + level thread objectives(); + common_scripts\utility::run_thread_on_targetname("trigger_player_at_van",::maps\sanfran_code::handle_bridge_collapse); + if(level.currentgen) + { + common_scripts\utility::run_thread_on_targetname("trigger_player_at_van",::maps\sanfran_code::handle_player_exo_punch); + } +} + +//Function Number: 22 +start_boost() +{ + soundscripts\_snd::snd_message("start_boost"); + maps\sanfran_util::put_bridge_in_proper_place(); + maps\sanfran_util::make_bridge_normal(); + maps\sanfran_util::hide_intact_bridge(); + maps\sanfran_util::remove_intact_bridge(); + maps\sanfran_util::connectpaths_ents_by_targetname("collapse_clip"); + maps\sanfran_util::delete_ents_by_targetname("collapse_clip"); + maps\sanfran_util::set_player_start("start_van_boost"); + maps\sanfran_util::spawn_squad("start_van_boost"); + maps\sanfran_util::delete_roadsurface_bridge(); + maps\sanfran_util::toggle_on_real_mob(); + maps\sanfran_util::show_water_final(); + common_scripts\utility::run_thread_on_targetname("trigger_fall_fail",::maps\sanfran_util::fall_fail); + common_scripts\utility::flag_set("flag_obj_van_intercept"); + common_scripts\utility::flag_set("flag_obj_van_meetup"); + common_scripts\utility::flag_set("flag_obj_player_at_van"); + common_scripts\utility::flag_set("flag_obj_player_use_van"); + common_scripts\utility::flag_set("flag_obj_player_used_van"); + common_scripts\utility::flag_set("flag_enable_battle_chatter"); + common_scripts\utility::flag_set("start_boost_lighting"); + common_scripts\utility::flag_set("msg_vfx_zone2_driving_chase"); + level thread objectives(); + level thread maps\sanfran_code::rock_mob(); + level thread maps\sanfran_code::handle_boost_jump(); + common_scripts\utility::flag_set("portal_on_collapse"); + wait(0.05); + common_scripts\utility::flag_clear("portal_on_collapse"); +} + +//Function Number: 23 +start_bridge_capture() +{ + level.idle_scene_ents = []; + level.barrier_scene_ents = []; + level.approach_scene_ents = []; + level.approach_idle_ents = []; + level.deploy_scene_ents = []; + level.collapse_scene_ents = []; + level.collapse_scene_ents_long = []; + level.after_collpase_ents = []; + level.explosion_scene_org = getent("bridge_explosion_origin","targetname"); + maps\sanfran_code::setup_bridge_explosion_anim_sequence_bridge(); + level thread maps\sanfran_code::start_bridge_after_loop(level.explosion_scene_org); + maps\sanfran_util::put_bridge_in_proper_place(); + maps\sanfran_util::make_bridge_normal(); + maps\sanfran_util::hide_intact_bridge(); + maps\sanfran_util::remove_intact_bridge(); + maps\sanfran_util::connectpaths_ents_by_targetname("collapse_clip"); + maps\sanfran_util::delete_ents_by_targetname("collapse_clip"); + maps\sanfran_util::set_player_start("start_van_boost"); + maps\sanfran_util::spawn_squad("start_van_boost"); + maps\sanfran_util::delete_roadsurface_bridge(); + maps\sanfran_util::toggle_on_real_mob(); + maps\sanfran_util::show_water_final(); + common_scripts\utility::run_thread_on_targetname("trigger_fall_fail",::maps\sanfran_util::fall_fail); + common_scripts\utility::flag_set("flag_obj_van_intercept"); + common_scripts\utility::flag_set("flag_obj_van_meetup"); + common_scripts\utility::flag_set("flag_obj_player_at_van"); + common_scripts\utility::flag_set("flag_obj_player_use_van"); + common_scripts\utility::flag_set("flag_obj_player_used_van"); + common_scripts\utility::flag_set("flag_enable_battle_chatter"); + common_scripts\utility::flag_set("start_boost_lighting"); + common_scripts\utility::flag_set("msg_vfx_zone2_driving_chase"); + thread maps\sanfran_fx::stop_falling_debris_by_player(); + thread maps\sanfran_fx::bridge_collapse_mob_explosion(); + level thread objectives(); + level thread maps\sanfran_code::rock_mob(); + level thread maps\sanfran_code::handle_boost_jump(); + setsaveddvar("objectiveHide","1"); + common_scripts\utility::flag_set("portal_on_collapse"); + common_scripts\utility::flag_clear("portal_on_collapse"); + foreach(var_01 in level.collapse_scene_ents) + { + var_01 show(); + } + + maps\_utility::delaythread(1,::maps\_utility::pauseexploder,100); + maps\_utility::delaythread(1,::maps\_utility::pauseexploder,200); + level.player takeallweapons(); + var_03 = common_scripts\utility::spawn_tag_origin(); + level.player maps\_utility::teleport_player(var_03); + level.player playerlinktoabsolute(var_03,"tag_origin"); + for(;;) + { + var_03.origin = (3244,78603,4885); + var_03.angles = (17.6333,-139.389,0); + wait(30); + var_03.origin = (-7204,70913,2547); + var_03.angles = (18.7136,137.806,0); + wait(30); + var_03.origin = (-6068,70229,423); + var_03.angles = (9.6663,131.838,0); + wait(30); + var_03.origin = (5885,63227,2920); + var_03.angles = (25.2254,143.381,0); + wait(30); + } +} + +//Function Number: 24 +start_demo_with_itiot() +{ + thread itiot_logic("flag_demo_itiot","van"); + if(isdefined(level.introscreen.customfunc)) + { + thread [[ level.introscreen.customfunc ]](); + } + + start_intro(); +} + +//Function Number: 25 +objectives() +{ + if(common_scripts\utility::flag("flag_obj_van_meetup")) + { + objective_add(maps\_utility::obj("obj_intercept"),"done",&"SANFRAN_OBJ_INTERCEPT"); + } + else + { + common_scripts\utility::flag_wait("flag_obj_van_intercept"); + objective_add(maps\_utility::obj("obj_intercept"),"current",&"SANFRAN_OBJ_INTERCEPT"); + if(isdefined(level.chase_van)) + { + objective_onentity(maps\_utility::obj("obj_intercept"),level.chase_van,(0,0,60)); + } + + objective_setpointertextoverride(maps\_utility::obj("obj_intercept"),&"SANFRAN_OBJ_INTERCEPT_POINTER"); + common_scripts\utility::flag_wait("flag_player_crashed"); + maps\_utility::objective_complete(maps\_utility::obj("obj_intercept")); + common_scripts\utility::flag_wait("flag_obj_van_meetup"); + } + + objective_add(maps\_utility::obj("obj_meet"),"current",&"SANFRAN_OBJ_MEETUP"); + objective_position(maps\_utility::obj("obj_meet"),getent("objective_meet_up","targetname").origin); + common_scripts\utility::flag_wait("flag_obj_player_at_van"); + maps\_utility::objective_complete(maps\_utility::obj("obj_meet")); + common_scripts\utility::flag_wait("flag_obj_player_use_van"); + if(!common_scripts\utility::flag("flag_obj_player_used_van")) + { + objective_add(maps\_utility::obj("obj_use_van"),"current",&"SANFRAN_OBJ_VAN"); + var_00 = getent("trigger_player_used_van","targetname"); + var_01 = var_00.origin; + objective_position(maps\_utility::obj("obj_use_van"),var_01); + objective_setpointertextoverride(maps\_utility::obj("obj_use_van"),&"SANFRAN_OBJ_POINTER_OPEN"); + common_scripts\utility::flag_wait("flag_obj_player_used_van"); + maps\_utility::objective_complete(maps\_utility::obj("obj_use_van")); + } + else + { + objective_add(maps\_utility::obj("obj_use_van"),"done",&"SANFRAN_OBJ_VAN"); + } + + common_scripts\utility::flag_wait("flag_obj_boost_to_MOB"); + objective_add(maps\_utility::obj("obj_boat"),"current",&"SANFRAN_OBJ_BOAT"); + objective_position(maps\_utility::obj("obj_boat"),getent("objective_boat","targetname").origin); + common_scripts\utility::flag_wait("flag_obj_player_on_MOB"); + maps\_utility::objective_complete(maps\_utility::obj("obj_boat")); +} + +//Function Number: 26 +global_spawn_functions() +{ + maps\_utility::add_global_spawn_function("axis",::enable_jump_jet_pathing); + maps\_utility::add_global_spawn_function("allies",::enable_jump_jet_pathing); + maps\_utility::add_global_spawn_function("axis",::toggle_battle_chatter); + maps\_utility::add_global_spawn_function("allies",::toggle_battle_chatter); + maps\_utility::add_global_spawn_function("axis",::increase_actor_base_accuracy_by_player_distance); +} + +//Function Number: 27 +increase_actor_base_accuracy_by_player_distance() +{ + self endon("death"); + var_00 = undefined; + if(isdefined(self.baseaccuracy)) + { + var_00 = self.baseaccuracy; + } + + for(;;) + { + level waittill("global_accuracy_mod_event"); + self.baseaccuracy = var_00 + level.axis_global_accuracy_mod; + wait(0.5); + } +} + +//Function Number: 28 +enable_jump_jet_pathing() +{ + self.canjumppath = 1; + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "friendly_police") + { + self.canjumppath = 0; + } +} + +//Function Number: 29 +toggle_battle_chatter() +{ + self endon("death"); + for(;;) + { + maps\_utility::set_battlechatter(0); + common_scripts\utility::flag_wait("flag_enable_battle_chatter"); + maps\_utility::set_battlechatter(1); + common_scripts\utility::flag_waitopen("flag_enable_battle_chatter"); + } +} + +//Function Number: 30 +setup_portal_scripting() +{ + common_scripts\utility::flag_init("portal_on_ggb_01"); + thread handle_sanfran_portal_groups_on("portal_grp_ggbridge_01","portal_on_ggb_01","endPortalGGB_01"); + common_scripts\utility::flag_init("portal_on_ggb_02"); + thread handle_sanfran_portal_groups_on("portal_grp_ggbridge_02","portal_on_ggb_02"); + common_scripts\utility::flag_init("portal_on_collapse"); + thread handle_sanfran_portal_groups_on("portal_grp_collapsed_bridge","portal_on_collapse","endPortalCollapse"); +} + +//Function Number: 31 +handle_sanfran_portal_groups_on(param_00,param_01,param_02) +{ + level.player endon("death"); + level endon("missionfailed"); + if(isdefined(param_02) && isstring(param_02)) + { + level endon(param_02); + } + + var_03 = getentarray(param_00,"targetname"); + var_03[0] enableportalgroup(0); + for(;;) + { + common_scripts\utility::flag_wait(param_01); + var_03[0] enableportalgroup(1); + if(isdefined(param_02)) + { + level notify(param_02); + } + + common_scripts\utility::flag_waitopen(param_01); + var_03[0] enableportalgroup(0); + } +} + +//Function Number: 32 +itiot_logic(param_00,param_01) +{ + common_scripts\utility::flag_wait(param_00); + setdvar("demo_itiot","1"); + soundscripts\_snd::snd_message("e3_demo_fade_out"); + level.player.auxillary_hud = newclienthudelem(level.player); + level.player.auxillary_hud setshader("black",1280,720); + level.player.auxillary_hud.horzalign = "fullscreen"; + level.player.auxillary_hud.vertalign = "fullscreen"; + level.player.auxillary_hud.alpha = 0; + level.player.auxillary_hud fadeovertime(0.5); + level.player.auxillary_hud.alpha = 1; + level.player.auxillary_hud.foreground = 1; + setsaveddvar("objectiveHide","1"); + wait(0.5); + level.player.auxillary_hud.foreground = 0; + wait(7); + soundscripts\_snd::snd_message("e3_demo_fade_in"); + level.player setorigin((-3665,72067,547)); + level.player setplayerangles((0,172,0)); + thread maps\sanfran_code::setup_bridge_explosion_anim_sequence(); + common_scripts\utility::run_thread_on_targetname("trigger_player_at_van",::maps\sanfran_code::handle_bridge_collapse); + level.player.auxillary_hud.alpha = 1; + level.player.auxillary_hud fadeovertime(1); + level.player.auxillary_hud.alpha = 0; +} + +//Function Number: 33 +prep_cinematic(param_00) +{ + setsaveddvar("cg_cinematicFullScreen","0"); + cinematicingame(param_00,1); + level.current_cinematic = param_00; +} + +//Function Number: 34 +play_cinematic(param_00,param_01,param_02) +{ + if(isdefined(level.current_cinematic)) + { + pausecinematicingame(0); + setsaveddvar("cg_cinematicFullScreen","1"); + level.current_cinematic = undefined; + } + else + { + cinematicingame(param_00); + } + + if(!isdefined(param_02) || !param_02) + { + setsaveddvar("cg_cinematicCanPause","1"); + } + + wait(1); + while(iscinematicplaying()) + { + wait(0.05); + } + + if(!isdefined(param_02) || !param_02) + { + setsaveddvar("cg_cinematicCanPause","0"); + } +} \ No newline at end of file diff --git a/AW/PC/maps/sanfran_anim.gsc b/AW/PC/maps/sanfran_anim.gsc new file mode 100644 index 0000000..cf4febc --- /dev/null +++ b/AW/PC/maps/sanfran_anim.gsc @@ -0,0 +1,583 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: sanfran_anim.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 16 + * Decompile Time: 256 ms + * Timestamp: 4/22/2024 2:35:06 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.transient_zone = ""; + if(level.currentgen) + { + if(istransientloaded("sanfran_intro_tr")) + { + level.transient_zone = "intro"; + } + else if(istransientloaded("sanfran_bigm_tr")) + { + level.transient_zone = "bigm"; + } + else if(istransientloaded("sanfran_outro_tr")) + { + level.transient_zone = "outro"; + } + } + + if(level.nextgen) + { + anim.forced_s1_motionset = 1; + } + + load_player_anims(); + load_actor_anims(); + load_vehicle_anims(); + load_prop_anims(); + if(level.currentgen) + { + thread transient_notetracks_intro(); + thread transient_notetracks_bigm(); + } +} + +//Function Number: 2 +transient_notetracks_intro() +{ + if(level.transient_zone == "intro") + { + return; + } + + level waittill("tff_transition_outro_to_intro"); + notetracks_player_pitbull_intro(); + notetracks_player_pitbull_crash(); + notetracks_burke_pitbull_intro(); +} + +//Function Number: 3 +transient_notetracks_bigm() +{ + if(level.transient_zone == "bigm") + { + return; + } + + level waittill("tff_transition_outro_to_bigm"); + notetracks_player_rig_collapse(); + notetracks_burke_collapse(); + notetracks_bridge_collapse(); +} + +//Function Number: 4 +load_player_anims() +{ + level.scr_animtree["player_rig"] = #animtree; + level.scr_model["player_rig"] = "viewbody_sentinel"; + level.scr_anim["player_rig"]["pitbull_intro"] = %sanfran_bridge_pitbull_intro_vm; + if(level.nextgen || level.transient_zone == "intro") + { + notetracks_player_pitbull_intro(); + } + + level.scr_anim["player_rig"]["oncoming_hit"] = %sanfran_bridge_pitbull_sideswipe_init_vm; + level.scr_anim["player_rig"]["oncoming_crash"] = %sanfran_bridge_pitbull_sideswipe_vm; + level.scr_anim["player_rig"]["pitbull_crash"] = %sanfran_bridge_crash_pt2_vm; + level.scr_anim["player_rig"]["pitbull_crawl"] = %sanfran_bridge_crash_pt3_vm; + if(level.nextgen || level.transient_zone == "intro") + { + notetracks_player_pitbull_crash(); + } + + level.scr_anim["player_rig"]["deploy_scene"] = %sf_goldengate_deploy_vm; + level.scr_anim["player_rig"]["collapse_scene"] = %sf_goldengate_collapse_vm; + if(level.nextgen || level.transient_zone == "bigm") + { + notetracks_player_rig_collapse(); + } +} + +//Function Number: 5 +notetracks_player_pitbull_intro() +{ + maps\_anim::addnotetrack_lui_notify("player_rig","start_fade",&"pitbull_fade_video"); + maps\_anim::addnotetrack_set_omnvar("player_rig","screenslide_1_start","ui_pitbull_video_state",2); + maps\_anim::addnotetrack_lui_notify("player_rig","screenslide_1_stop",&"pitbull_stop_movie"); + maps\_anim::addnotetrack_set_omnvar("player_rig","screenslide_2_start","ui_pitbull_video_state",3); + maps\_anim::addnotetrack_lui_notify("player_rig","screenslide_2_stop",&"pitbull_stop"); +} + +//Function Number: 6 +notetracks_player_pitbull_crash() +{ + maps\_anim::addnotetrack_customfunction("player_rig","player_start_blackout",::maps\sanfran_code::crash_blackout); + maps\_anim::addnotetrack_customfunction("player_rig","player_end_blackout",::maps\sanfran_code::crash_wakeup); +} + +//Function Number: 7 +notetracks_player_rig_collapse() +{ + maps\_anim::addnotetrack_customfunction("player_rig","vfx_player_hit_windshield",::maps\sanfran_fx::vfx_player_hit_windshield); + maps\_anim::addnotetrack_customfunction("player_rig","vfx_rolling_pebbles",::maps\sanfran_fx::vfx_player_rolling_pebbles); + maps\_anim::addnotetrack_customfunction("player_rig","slomo_start",::maps\sanfran_code::start_slow_mo); + maps\_anim::addnotetrack_customfunction("player_rig","slomo_end",::maps\sanfran_code::stop_slow_mo); + maps\_anim::addnotetrack_customfunction("player_rig","change_fov_to_50_over_3sec",::collapse_fov,"collapse_scene"); + maps\_anim::addnotetrack_customfunction("player_rig","fade_to_black",::fade_to_black,"collapse_scene"); +} + +//Function Number: 8 +load_actor_anims() +{ + level.scr_anim["Burke"]["pitbull_intro"] = %sanfran_bridge_pitbull_intro_burke; + if(level.nextgen || level.transient_zone == "intro") + { + notetracks_burke_pitbull_intro(); + } + + level.scr_anim["boost_jump_kick_01_atk"]["boost_jump_kick_01"] = %sanfran_boost_takedown_a_guy1; + level.scr_anim["boost_jump_kick_01_def"]["boost_jump_kick_01"] = %sanfran_boost_takedown_a_guy2; + level.scr_anim["boost_jump_kick_02_atk"]["boost_jump_kick_02"] = %sanfran_boost_takedown_b_guy1; + level.scr_anim["boost_jump_kick_02_def"]["boost_jump_kick_02"] = %sanfran_boost_takedown_b_guy2; + level.scr_anim["Burke"]["pitbull_crash"] = %sanfran_bridge_crash_pt2_burke; + level.scr_anim["Burke"]["pitbull_crawl"] = %sanfran_bridge_crash_pt3_burke; + level.scr_anim["atlas_1"]["pitbull_crash"] = %sanfran_bridge_crash_pt2_guy1; + level.scr_anim["atlas_2"]["pitbull_crash"] = %sanfran_bridge_crash_pt2_guy2; + level.scr_anim["atlas_3"]["pitbull_crash"] = %sanfran_bridge_crash_pt2_guy3; + level.scr_anim["Burke"]["collapse_scene"] = %sf_goldengate_collapse_burke; + if(level.nextgen || level.transient_zone == "bigm") + { + notetracks_burke_collapse(); + } + + level.scr_anim["human_atlas_1"]["approach_scene"] = %sf_goldengate_collapse_guy01; + level.scr_anim["human_atlas_1"]["approach_idle"][0] = %sf_goldengate_collapse_guy01_idle; + level.scr_anim["human_atlas_1"]["deploy_scene"] = %sf_goldengate_deploy_guy01; + level.scr_anim["human_atlas_1"]["collapse_scene"] = %sf_goldengate_collapse_guy01_c; + level.scr_anim["human_atlas_2"]["barrier_scene"][0] = %sf_goldengate_collapse_guy02_idle; + level.scr_anim["human_atlas_2"]["approach_scene"] = %sf_goldengate_collapse_guy02; + level.scr_anim["human_atlas_2"]["approach_idle"][0] = %sf_goldengate_collapse_guy02_idle; + level.scr_anim["human_atlas_2"]["deploy_scene"] = %sf_goldengate_deploy_guy02; + level.scr_anim["human_atlas_2"]["collapse_scene"] = %sf_goldengate_collapse_guy02_c; + level.scr_anim["human_atlas_3"]["approach_idle"][0] = %sf_goldengate_collapse_guy21; + level.scr_anim["human_atlas_3"]["deploy_scene"] = %sf_goldengate_deploy_guy21; + level.scr_anim["human_atlas_4"]["approach_idle"][0] = %sf_goldengate_collapse_guy22; + level.scr_anim["human_atlas_4"]["deploy_scene"] = %sf_goldengate_deploy_guy22; + level.scr_anim["human_atlas_5"]["approach_scene"] = %sf_goldengate_collapse_guy04; + level.scr_anim["human_atlas_5"]["approach_idle"][0] = %sf_goldengate_deploy_guy04; + level.scr_anim["human_sentinel_1"]["barrier_scene"][0] = %sf_goldengate_collapse_guy03_idle; + level.scr_anim["human_sentinel_1"]["approach_scene"] = %sf_goldengate_collapse_guy03; + level.scr_anim["human_sentinel_1"]["approach_idle"][0] = %sf_goldengate_collapse_guy03_idle; + level.scr_anim["human_sentinel_1"]["deploy_scene"] = %sf_goldengate_deploy_guy03; + level.scr_anim["human_sentinel_2"]["barrier_scene"][0] = %sf_goldengate_collapse_guy05_idle; + level.scr_anim["human_sentinel_2"]["approach_scene"] = %sf_goldengate_collapse_guy05; + level.scr_anim["human_sentinel_2"]["approach_idle"][0] = %sf_goldengate_collapse_guy05_idle; + level.scr_anim["human_sentinel_2"]["deploy_scene"] = %sf_goldengate_deploy_guy05; + level.scr_anim["human_sentinel_2"]["collapse_scene"] = %sf_goldengate_collapse_guy05_c; + level.scr_anim["human_sentinel_3"]["barrier_scene"][0] = %sf_goldengate_collapse_guy06_idle; + level.scr_anim["human_sentinel_3"]["approach_scene"] = %sf_goldengate_collapse_guy06; + level.scr_anim["human_sentinel_3"]["approach_idle"][0] = %sf_goldengate_collapse_guy06_idle; + level.scr_anim["human_sentinel_3"]["deploy_scene"] = %sf_goldengate_deploy_guy06; + level.scr_anim["human_sentinel_4"]["barrier_scene"][0] = %sf_goldengate_collapse_guy07_idle; + level.scr_anim["human_sentinel_4"]["approach_scene"] = %sf_goldengate_collapse_guy07; + level.scr_anim["human_sentinel_4"]["approach_idle"][0] = %sf_goldengate_collapse_guy07_idle; + level.scr_anim["human_sentinel_4"]["deploy_scene"] = %sf_goldengate_deploy_guy07; + level.scr_anim["human_sentinel_4"]["collapse_scene"] = %sf_goldengate_collapse_guy07_c; + level.scr_anim["human_sentinel_5"]["barrier_scene"][0] = %sf_goldengate_collapse_guy08_idle; + level.scr_anim["human_sentinel_5"]["approach_scene"] = %sf_goldengate_collapse_guy08; + level.scr_anim["human_sentinel_5"]["approach_idle"][0] = %sf_goldengate_collapse_guy08_idle; + level.scr_anim["human_sentinel_5"]["deploy_scene"] = %sf_goldengate_deploy_guy08; + level.scr_anim["human_sentinel_5"]["collapse_scene"] = %sf_goldengate_collapse_guy08_c; + level.scr_anim["human_sentinel_6"]["barrier_scene"][0] = %sf_goldengate_collapse_guy09_idle; + level.scr_anim["human_sentinel_6"]["approach_scene"] = %sf_goldengate_collapse_guy09; + level.scr_anim["human_sentinel_6"]["approach_idle"][0] = %sf_goldengate_collapse_guy09_idle; + level.scr_anim["human_sentinel_6"]["deploy_scene"] = %sf_goldengate_deploy_guy09; + level.scr_anim["human_sentinel_7"]["barrier_scene"][0] = %sf_goldengate_collapse_guy10_idle; + level.scr_anim["human_sentinel_7"]["approach_scene"] = %sf_goldengate_collapse_guy10; + level.scr_anim["human_sentinel_7"]["approach_idle"][0] = %sf_goldengate_deploy_guy10_idle2; + level.scr_anim["human_sentinel_7"]["deploy_scene"] = %sf_goldengate_deploy_guy10; + level.scr_anim["human_sentinel_7"]["collapse_scene"] = %sf_goldengate_collapse_guy10_c; + level.scr_anim["human_sentinel_8"]["barrier_scene"][0] = %sf_goldengate_collapse_guy11_idle; + level.scr_anim["human_sentinel_8"]["approach_scene"] = %sf_goldengate_collapse_guy11; + level.scr_anim["human_sentinel_8"]["approach_idle"][0] = %sf_goldengate_collapse_guy11_idle; + level.scr_anim["human_sentinel_8"]["deploy_scene"] = %sf_goldengate_deploy_guy11; + level.scr_anim["human_sentinel_9"]["barrier_scene"][0] = %sf_goldengate_collapse_guy12_idle; + level.scr_anim["human_sentinel_9"]["approach_scene"] = %sf_goldengate_collapse_guy12; + level.scr_anim["human_sentinel_9"]["approach_idle"][0] = %sf_goldengate_collapse_guy12_idle; + level.scr_anim["human_sentinel_9"]["deploy_scene"] = %sf_goldengate_deploy_guy12; + level.scr_anim["human_sentinel_9"]["collapse_scene"] = %sf_goldengate_collapse_guy12_c; + level.scr_anim["human_sentinel_10"]["approach_scene"] = %sf_goldengate_collapse_guy15; + level.scr_anim["human_sentinel_10"]["deploy_scene"] = %sf_goldengate_deploy_guy15; + level.scr_anim["human_sentinel_10"]["collapse_scene"] = %sf_goldengate_collapse_guy15_c; + level.scr_anim["human_sentinel_11"]["approach_scene"] = %sf_goldengate_collapse_guy16; + level.scr_anim["human_sentinel_11"]["deploy_scene"] = %sf_goldengate_deploy_guy16; + level.scr_anim["human_sentinel_11"]["collapse_scene"] = %sf_goldengate_collapse_guy16_c; + level.scr_anim["human_sentinel_12"]["approach_scene"] = %sf_goldengate_collapse_guy17; + level.scr_anim["human_sentinel_12"]["deploy_scene"] = %sf_goldengate_deploy_guy17; + level.scr_anim["human_sentinel_13"]["approach_scene"] = %sf_goldengate_collapse_guy18; + level.scr_anim["human_sentinel_13"]["deploy_scene"] = %sf_goldengate_deploy_guy18; + level.scr_anim["human_sentinel_14"]["approach_scene"] = %sf_goldengate_collapse_guy19; + level.scr_anim["human_sentinel_14"]["deploy_scene"] = %sf_goldengate_deploy_guy19; + level.scr_anim["human_sentinel_15"]["approach_scene"] = %sf_goldengate_collapse_guy20; + level.scr_anim["human_sentinel_15"]["deploy_scene"] = %sf_goldengate_deploy_guy20; + level.scr_anim["human_civilian_1"]["collapse_scene"] = %sf_goldengate_collapse_guy21_c; + level.scr_anim["human_police_1"]["barrier_scene"][0] = %sf_goldengate_collapse_guy13_idle; + level.scr_anim["human_police_1"]["approach_scene"] = %sf_goldengate_collapse_guy13; + level.scr_anim["human_police_1"]["approach_idle"][0] = %sf_goldengate_collapse_guy13_idle2; + level.scr_anim["human_police_1"]["deploy_scene"] = %sf_goldengate_deploy_guy13; + level.scr_anim["human_police_1"]["collapse_scene"] = %sf_goldengate_collapse_guy13_b; + level.scr_anim["human_police_2"]["always_loop_scene"][0] = %sf_goldengate_deploy_guy14_idle; + level.scr_anim["human_police_2"]["collapse_scene"] = %sf_goldengate_collapse_guy14_c; + level.scr_anim["Burke"]["boost_go"] = %sf_b_hallway_wave_navy_guy; + level.scr_anim["generic"]["deployable_cover_deploy"] = %fusion_lift_deploy_cover_carter_enter; + level.scr_anim["generic"]["deployable_cover_deploy_idle"][0] = %fusion_lift_deploy_cover_carter_idle; + level.scr_anim["sedan_driver"]["run_01"][0] = %sf_a_civillian_pedestrian_run_exit_01; + level.scr_anim["sedan_driver"]["run_02"][0] = %sf_a_civillian_pedestrian_run_exit_02; + level.scr_anim["sedan_driver"]["run_03"][0] = %sf_a_civillian_pedestrian_run_exit_03; + level.scr_anim["sedan_driver"]["run_04"][0] = %sf_a_civillian_pedestrian_run_exit_04; + level.scr_anim["sedan_driver"]["run_05"][0] = %sf_a_civillian_pedestrian_run_exit_05; + level.scr_anim["sedan_driver"]["run_06"][0] = %sf_a_civillian_pedestrian_run_exit_06; + level.scr_anim["sedan_driver"]["run_07"][0] = %sf_a_civillian_pedestrian_run_exit_07; + level.scr_anim["compact_driver"]["run_01"][0] = %sf_a_civillian_pedestrian_run_exit_01; + level.scr_anim["compact_driver"]["run_02"][0] = %sf_a_civillian_pedestrian_run_exit_02; + level.scr_anim["compact_driver"]["run_03"][0] = %sf_a_civillian_pedestrian_run_exit_03; + level.scr_anim["compact_driver"]["run_04"][0] = %sf_a_civillian_pedestrian_run_exit_04; + level.scr_anim["compact_driver"]["run_05"][0] = %sf_a_civillian_pedestrian_run_exit_05; + level.scr_anim["compact_driver"]["run_06"][0] = %sf_a_civillian_pedestrian_run_exit_06; + level.scr_anim["compact_driver"]["run_07"][0] = %sf_a_civillian_pedestrian_run_exit_07; + level.scr_anim["truck_driver"]["run_01"][0] = %sf_a_civillian_pedestrian_run_exit_01; + level.scr_anim["truck_driver"]["run_02"][0] = %sf_a_civillian_pedestrian_run_exit_02; + level.scr_anim["truck_driver"]["run_03"][0] = %sf_a_civillian_pedestrian_run_exit_03; + level.scr_anim["truck_driver"]["run_04"][0] = %sf_a_civillian_pedestrian_run_exit_04; + level.scr_anim["truck_driver"]["run_05"][0] = %sf_a_civillian_pedestrian_run_exit_05; + level.scr_anim["truck_driver"]["run_06"][0] = %sf_a_civillian_pedestrian_run_exit_06; + level.scr_anim["truck_driver"]["run_07"][0] = %sf_a_civillian_pedestrian_run_exit_07; + level.scr_anim["drone"]["run_01"][0] = %sf_a_civillian_pedestrian_run_exit_01_relative; + level.scr_anim["drone"]["run_02"][0] = %sf_a_civillian_pedestrian_run_exit_02_relative; + level.scr_anim["drone"]["run_03"][0] = %sf_a_civillian_pedestrian_run_exit_03_relative; + level.scr_anim["drone"]["run_04"][0] = %sf_a_civillian_pedestrian_run_exit_04_relative; + level.scr_anim["drone"]["run_05"][0] = %sf_a_civillian_pedestrian_run_exit_05_relative; + level.scr_anim["drone"]["run_06"][0] = %sf_a_civillian_pedestrian_run_exit_06_relative; + level.scr_anim["drone"]["run_07"][0] = %sf_a_civillian_pedestrian_run_exit_07_relative; + level.scr_anim["sedan_driver"]["loop_01"][0] = %sf_a_civillian_civ_sedan_loop_01; + level.scr_anim["sedan_driver"]["loop_02"][0] = %sf_a_civillian_civ_sedan_loop_02; + level.scr_anim["sedan_driver"]["loop_03"][0] = %sf_a_civillian_civ_sedan_loop_03; + level.scr_anim["sedan_driver"]["loop_04"][0] = %sf_a_civillian_civ_sedan_loop_04; + level.scr_anim["sedan_driver"]["loop_05"][0] = %sf_a_civillian_civ_sedan_loop_05; + level.scr_anim["sedan_driver"]["loop_06"][0] = %sf_a_civillian_civ_sedan_loop_06; + level.scr_anim["sedan_driver"]["loop_07"][0] = %sf_a_civillian_civ_sedan_loop_07; + level.scr_anim["sedan_driver"]["get_out_01"] = %sf_a_civillian_civ_sedan_exit_01; + level.scr_anim["sedan_driver"]["get_out_02"] = %sf_a_civillian_civ_sedan_exit_02; + level.scr_anim["sedan_driver"]["get_out_03"] = %sf_a_civillian_civ_sedan_exit_03; + level.scr_anim["sedan_driver"]["get_out_04"] = %sf_a_civillian_civ_sedan_exit_04; + level.scr_anim["sedan_driver"]["get_out_05"] = %sf_a_civillian_civ_sedan_exit_05; + level.scr_anim["sedan_driver"]["get_out_06"] = %sf_a_civillian_civ_sedan_exit_06; + level.scr_anim["sedan_driver"]["get_out_07"] = %sf_a_civillian_civ_sedan_exit_07; + level.scr_anim["compact_driver"]["loop_01"][0] = %sf_a_civillian_compactcar_loop_01; + level.scr_anim["compact_driver"]["loop_02"][0] = %sf_a_civillian_compactcar_loop_02; + level.scr_anim["compact_driver"]["loop_03"][0] = %sf_a_civillian_compactcar_loop_03; + level.scr_anim["compact_driver"]["loop_04"][0] = %sf_a_civillian_compactcar_loop_04; + level.scr_anim["compact_driver"]["loop_05"][0] = %sf_a_civillian_compactcar_loop_05; + level.scr_anim["compact_driver"]["loop_06"][0] = %sf_a_civillian_compactcar_loop_06; + level.scr_anim["compact_driver"]["loop_07"][0] = %sf_a_civillian_compactcar_loop_07; + level.scr_anim["compact_driver"]["get_out_01"] = %sf_a_civillian_compactcar_exit_01; + level.scr_anim["compact_driver"]["get_out_02"] = %sf_a_civillian_compactcar_exit_02; + level.scr_anim["compact_driver"]["get_out_03"] = %sf_a_civillian_compactcar_exit_03; + level.scr_anim["compact_driver"]["get_out_04"] = %sf_a_civillian_compactcar_exit_04; + level.scr_anim["compact_driver"]["get_out_05"] = %sf_a_civillian_compactcar_exit_05; + level.scr_anim["compact_driver"]["get_out_06"] = %sf_a_civillian_compactcar_exit_06; + level.scr_anim["compact_driver"]["get_out_07"] = %sf_a_civillian_compactcar_exit_07; + level.scr_anim["truck_driver"]["loop_01"][0] = %sf_a_civillian_civ_truck_loop_01; + level.scr_anim["truck_driver"]["loop_02"][0] = %sf_a_civillian_civ_truck_loop_02; + level.scr_anim["truck_driver"]["loop_03"][0] = %sf_a_civillian_civ_truck_loop_03; + level.scr_anim["truck_driver"]["loop_04"][0] = %sf_a_civillian_civ_truck_loop_04; + level.scr_anim["truck_driver"]["loop_05"][0] = %sf_a_civillian_civ_truck_loop_05; + level.scr_anim["truck_driver"]["loop_06"][0] = %sf_a_civillian_civ_truck_loop_06; + level.scr_anim["truck_driver"]["loop_07"][0] = %sf_a_civillian_civ_truck_loop_07; + level.scr_anim["truck_driver"]["get_out_01"] = %sf_a_civillian_civ_truck_exit_01; + level.scr_anim["truck_driver"]["get_out_02"] = %sf_a_civillian_civ_truck_exit_02; + level.scr_anim["truck_driver"]["get_out_03"] = %sf_a_civillian_civ_truck_exit_03; + level.scr_anim["truck_driver"]["get_out_04"] = %sf_a_civillian_civ_truck_exit_04; + level.scr_anim["truck_driver"]["get_out_05"] = %sf_a_civillian_civ_truck_exit_05; + level.scr_anim["truck_driver"]["get_out_06"] = %sf_a_civillian_civ_truck_exit_06; + level.scr_anim["truck_driver"]["get_out_07"] = %sf_a_civillian_civ_truck_exit_07; + level.scr_anim["civilian"]["laying_1"][0] = %sf_a_civ_injured_laying_agony_a; + level.scr_anim["civilian"]["laying_2"][0] = %sf_a_civ_injured_laying_agony_b; + level.scr_anim["civilian"]["seated_1"][0] = %sf_a_civ_injured_seated_crying; + level.scr_anim["civilian"]["seated_2"][0] = %sf_a_civ_injured_seated_face; + level.scr_anim["civilian"]["seated_3"][0] = %sf_a_civ_injured_seated_neck; + level.scr_anim["civilian"]["paired_1"][0] = %sf_a_civ_injured_seated_mourned; + level.scr_anim["civilian_b"]["paired_1"][0] = %sf_a_civ_injured_seated_mourner; + level.scr_anim["civilian"]["paired_2"][0] = %sf_a_civ_injured_seated_helped; + level.scr_anim["civilian_b"]["paired_2"][0] = %sf_a_civ_injured_seated_helper; + level.scr_anim["civilian"]["civilian_cower"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["sedan_driver"]["civilian_cower"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["compact_driver"]["civilian_cower"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["truck_driver"]["civilian_cower"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["drone"]["civilian_cower"][0] = %unarmed_cowercrouch_idle; + level.scr_anim["generic"]["balcony_death"] = []; + level.scr_anim["generic"]["balcony_death"][0] = %death_rooftop_a; + level.scr_anim["generic"]["balcony_death"][1] = %death_rooftop_b; + level.scr_anim["generic"]["balcony_death"][2] = %death_rooftop_c; + level.scr_anim["generic"]["balcony_death"][3] = %death_rooftop_d; + level.scr_anim["generic"]["container_death"] = %exposed_death_blowback; +} + +//Function Number: 9 +notetracks_burke_pitbull_intro() +{ + maps\_anim::addnotetrack_lui_notify("Burke","burke_screentap_1",&"pitbull_ui_tap"); + maps\_anim::addnotetrack_lui_notify("Burke","burke_screentap_2",&"pitbull_ui_tap"); + maps\_anim::addnotetrack_lui_notify("Burke","burke_screentap_3",&"pitbull_ui_tap"); + maps\_anim::addnotetrack_lui_notify("Burke","burke_screentap_4",&"pitbull_ui_tap"); + maps\_anim::addnotetrack_lui_notify("Burke","burke_screentap_5",&"pitbull_ui_tap"); +} + +//Function Number: 10 +notetracks_burke_collapse() +{ + maps\_anim::addnotetrack_customfunction("Burke","boost_begin",::maps\sanfran_fx::vfx_start_boost_fx); + maps\_anim::addnotetrack_customfunction("Burke","boost_end",::maps\sanfran_fx::vfx_stop_boost_fx); +} + +//Function Number: 11 +load_vehicle_anims() +{ + level.scr_anim["atlas_van"]["pitbull_intro"] = %sanfran_bridge_pitbull_intro_van; + level.scr_anim["bus"]["bus_crash"] = %sf_bus_crash; + level.scr_anim["tanker"]["tanker_crash"] = %sf_oiltanker_crash; + thread setup_tanker_crash_notetrack(); + level.scr_anim["atlas_suv"]["oncoming_crash"] = %sanfran_bridge_pitbull_sideswipe_atlas_suv; + maps\_anim::addnotetrack_customfunction("atlas_suv","vfx_atlas_suv_barrier_impact",::maps\sanfran_fx::atlas_suv_impact_fx,"oncoming_crash"); + maps\_anim::addnotetrack_customfunction("atlas_suv","vfx_atlas_suv_barrier_impact",::maps\sanfran_fx::pitbull_impact_fx,"oncoming_crash"); + level.scr_anim["work_van"]["pitbull_crash"] = %sanfran_bridge_crash_pt2_civ_workvan; + level.scr_anim["atlas_suv"]["pitbull_crash"] = %sanfran_bridge_crash_pt2_suv; + maps\_anim::addnotetrack_customfunction("atlas_suv","vfx_pitbull_impact_sparks",::maps\sanfran_fx::pitbull_crash_impact_fx,"pitbull_crash"); + level.scr_anim["atlas_suv"]["pitbull_crawl"] = %sanfran_bridge_crash_pt3_suv; + level.scr_anim["after_pitbull"]["pitbull_wreck"] = %sanfran_bridge_crash_wrecked_pitbull; + level.scr_anim["compact"]["open_door_both"] = %civ_domestic_economy_open_door_both; + level.scr_anim["compact"]["open_door_left"] = %civ_domestic_economy_open_door_left; + level.scr_anim["compact"]["open_door_right"] = %civ_domestic_economy_open_door_right; + level.scr_anim["truck"]["open_door_both"] = %civ_domestic_truck_open_door_both; + level.scr_anim["truck"]["open_door_left"] = %civ_domestic_truck_open_door_left; + level.scr_anim["truck"]["open_door_right"] = %civ_domestic_truck_open_door_right; + level.scr_anim["atlas_suv"]["open_door_both"] = %atlas_suv_dismount_front_l_r_doors_opened; + level.scr_anim["atlas_suv"]["open_door_left"] = %atlas_suv_dismount_frontl_door_opened; + level.scr_anim["atlas_suv"]["open_door_right"] = %atlas_suv_dismount_frontr_door_opened; + level.scr_anim["sedan"]["open_door_both"] = %civ_domestic_sedan_doors_open_fl_fr; + level.scr_anim["sedan"]["open_door_left"] = %civ_domestic_sedan_doors_open_fl; + level.scr_anim["sedan"]["open_door_right"] = %civ_domestic_sedan_doors_open_fr; + level.scr_anim["van"]["approach_scene"] = %sf_goldengate_collapse_van_b; + level.scr_anim["van"]["deploy_scene"] = %sf_goldengate_deploy_van_b; + level.scr_anim["van"]["collapse_scene"] = %sf_goldengate_collapse_van_c; + maps\_anim::addnotetrack_customfunction("van","vfx_van_passenger_door_open",::maps\sanfran_fx::vfx_van_passenger_door_open); + maps\_anim::addnotetrack_customfunction("van","vfx_van_back_door_open",::maps\sanfran_fx::vfx_van_back_door_open); + maps\_anim::addnotetrack_customfunction("van","vfx_van_explosion_start",::maps\sanfran_fx::vfx_van_explosion_start); + level.scr_anim["drone_1"]["deploy_scene"] = %sf_goldengate_deploy_drone01; + maps\_anim::addnotetrack_customfunction("drone_1","vfx_drone_fan_start_01",::maps\sanfran_fx::vfx_drone_fan_start); + maps\_anim::addnotetrack_customfunction("drone_1","vfx_drone01_explo_sp",::maps\sanfran_fx::vfx_drone_explo_regularfx); + level.scr_anim["drone_2"]["deploy_scene"] = %sf_goldengate_deploy_drone02; + maps\_anim::addnotetrack_customfunction("drone_2","vfx_drone_fan_start_02",::maps\sanfran_fx::vfx_drone_fan_start); + maps\_anim::addnotetrack_customfunction("drone_2","vfx_drone02_explo",::maps\sanfran_fx::vfx_drone_explo); + level.scr_anim["drone_3"]["deploy_scene"] = %sf_goldengate_deploy_drone03; + maps\_anim::addnotetrack_customfunction("drone_3","vfx_drone_fan_start_03",::maps\sanfran_fx::vfx_drone_fan_start); + maps\_anim::addnotetrack_customfunction("drone_3","vfx_drone03_explo",::maps\sanfran_fx::vfx_drone_explo); + level.scr_anim["drone_4"]["deploy_scene"] = %sf_goldengate_deploy_drone04; + maps\_anim::addnotetrack_customfunction("drone_4","vfx_drone_fan_start_04",::maps\sanfran_fx::vfx_drone_fan_start); + maps\_anim::addnotetrack_customfunction("drone_4","vfx_drone04_explo",::maps\sanfran_fx::vfx_drone_explo); + level.scr_anim["drone_5"]["deploy_scene"] = %sf_goldengate_deploy_drone05; + maps\_anim::addnotetrack_customfunction("drone_5","vfx_drone_fan_start_05",::maps\sanfran_fx::vfx_drone_fan_start); + maps\_anim::addnotetrack_customfunction("drone_5","vfx_drone05_explo",::maps\sanfran_fx::vfx_drone_explo); + level.scr_anim["drone_6"]["deploy_scene"] = %sf_goldengate_deploy_drone06; + maps\_anim::addnotetrack_customfunction("drone_6","vfx_drone_fan_start_06",::maps\sanfran_fx::vfx_drone_fan_start); + maps\_anim::addnotetrack_customfunction("drone_6","vfx_drone06_explo",::maps\sanfran_fx::vfx_drone_explo); + level.scr_anim["drone_7"]["deploy_scene"] = %sf_goldengate_deploy_drone07; + maps\_anim::addnotetrack_customfunction("drone_7","vfx_drone_fan_start_07",::maps\sanfran_fx::vfx_drone_fan_start); + maps\_anim::addnotetrack_customfunction("drone_7","vfx_drone07_explo",::maps\sanfran_fx::vfx_drone_explo); + level.scr_anim["drone_8"]["deploy_scene"] = %sf_goldengate_deploy_drone08; + maps\_anim::addnotetrack_customfunction("drone_8","vfx_drone_fan_start_08",::maps\sanfran_fx::vfx_drone_fan_start); + maps\_anim::addnotetrack_customfunction("drone_8","vfx_drone08_explo",::maps\sanfran_fx::vfx_drone_explo); + level.scr_anim["drone_9"]["deploy_scene"] = %sf_goldengate_deploy_drone09; + maps\_anim::addnotetrack_customfunction("drone_9","vfx_drone_fan_start_09",::maps\sanfran_fx::vfx_drone_fan_start); + maps\_anim::addnotetrack_customfunction("drone_9","vfx_drone09_explo",::maps\sanfran_fx::vfx_drone_explo); + level.scr_anim["drone_10"]["deploy_scene"] = %sf_goldengate_deploy_drone10; + maps\_anim::addnotetrack_customfunction("drone_10","vfx_drone_fan_start_10",::maps\sanfran_fx::vfx_drone_fan_start); + maps\_anim::addnotetrack_customfunction("drone_10","vfx_drone10_explo",::maps\sanfran_fx::vfx_drone_explo); + level.scr_anim["drone_11"]["deploy_scene"] = %sf_goldengate_deploy_drone11; + maps\_anim::addnotetrack_customfunction("drone_11","vfx_drone_fan_start_11",::maps\sanfran_fx::vfx_drone_fan_start); + maps\_anim::addnotetrack_customfunction("drone_11","vfx_drone11_explo_sp",::maps\sanfran_fx::vfx_drone_explo_regularfx); + level.scr_anim["drone_12"]["deploy_scene"] = %sf_goldengate_deploy_drone12; + maps\_anim::addnotetrack_customfunction("drone_12","vfx_drone_fan_start_12",::maps\sanfran_fx::vfx_drone_fan_start); + maps\_anim::addnotetrack_customfunction("drone_12","vfx_drone12_explo",::maps\sanfran_fx::vfx_drone_explo); + level.scr_anim["large_drone"]["deploy_scene"] = %sf_goldengate_deploy_large_drone; + maps\_anim::addnotetrack_customfunction("large_drone","vfx_drone_fan_start_large",::maps\sanfran_fx::vfx_drone_large_fan_start); + level.scr_anim["chopper_1"]["approach_scene"] = %sf_goldengate_collapse_chopper02_b; + level.scr_anim["chopper_1"]["idle_scene"][0] = %sf_goldengate_collapse_chopper02_b_loop; + level.scr_anim["broken_helo"]["collapse_scene"] = %sf_goldengate_collapse_chopper01_c; + level.scr_anim["truck01"]["collapse_scene"] = %sf_goldengate_collapse_truck_c; + level.scr_anim["truck02"]["collapse_scene"] = %sf_goldengate_collapse_truck01_c; + maps\_anim::addnotetrack_customfunction("truck02","windshield swap",::maps\sanfran_code::cracked_windshield_swap); + maps\_anim::addnotetrack_customfunction("truck02","vfx_copcar_left_hitspark1",::maps\sanfran_fx::vfx_copcar_left_hitspark1); + level.scr_anim["copcar_1"]["approach_scene"] = %sf_goldengate_barricade_copcar01; + maps\_anim::addnotetrack_customfunction("copcar_1","vfx_copcar01_hitspark1",::maps\sanfran_fx::vfx_copcar01_hitspark1); + level.scr_anim["copcar_1"]["deploy_scene"] = %sf_goldengate_deploy_copcar01; + level.scr_anim["copcar_1"]["collapse_scene"] = %sf_goldengate_collapse_copcar01; + level.scr_anim["copcar_2"]["approach_scene"] = %sf_goldengate_barricade_copcar02; + level.scr_anim["copcar_2"]["deploy_scene"] = %sf_goldengate_deploy_copcar02; + level.scr_anim["copcar_2"]["collapse_scene"] = %sf_goldengate_collapse_copcar02; + level.scr_anim["copcar_3"]["approach_scene"] = %sf_goldengate_barricade_copcar03; + level.scr_anim["copcar_3"]["deploy_scene"] = %sf_goldengate_deploy_copcar03; + level.scr_anim["copcar_3"]["collapse_scene"] = %sf_goldengate_collapse_copcar03; + level.scr_anim["copcar_4"]["approach_scene"] = %sf_goldengate_barricade_copcar04; + level.scr_anim["copcar_4"]["deploy_scene"] = %sf_goldengate_deploy_copcar04; + level.scr_anim["copcar_4"]["collapse_scene"] = %sf_goldengate_collapse_copcar04; + level.scr_anim["copcar_5"]["approach_scene"] = %sf_goldengate_barricade_copcar05; + level.scr_anim["copcar_5"]["deploy_scene"] = %sf_goldengate_deploy_copcar05; + level.scr_anim["copcar_5"]["collapse_scene"] = %sf_goldengate_collapse_copcar05; + level.scr_anim["copcar_6"]["approach_scene"] = %sf_goldengate_barricade_copcar06; + level.scr_anim["copcar_6"]["deploy_scene"] = %sf_goldengate_deploy_copcar06; + level.scr_anim["copcar_6"]["collapse_scene"] = %sf_goldengate_collapse_copcar06; + level.scr_anim["copcar_7"]["approach_scene"] = %sf_goldengate_barricade_copcar07; + level.scr_anim["copcar_7"]["deploy_scene"] = %sf_goldengate_deploy_copcar07; + level.scr_anim["copcar_7"]["collapse_scene"] = %sf_goldengate_collapse_copcar07; + level.scr_anim["copcar_8"]["approach_scene"] = %sf_goldengate_barricade_copcar08; + level.scr_anim["copcar_8"]["deploy_scene"] = %sf_goldengate_deploy_copcar08; + level.scr_anim["copcar_8"]["collapse_scene"] = %sf_goldengate_collapse_copcar08; + level.scr_anim["copcar_9"]["approach_scene"] = %sf_goldengate_barricade_copcar09; + level.scr_anim["copcar_9"]["deploy_scene"] = %sf_goldengate_deploy_copcar09; + level.scr_anim["copcar_9"]["collapse_scene"] = %sf_goldengate_collapse_copcar09; + level.scr_anim["copcar_10"]["approach_scene"] = %sf_goldengate_barricade_copcar10; + level.scr_anim["copcar_10"]["deploy_scene"] = %sf_goldengate_deploy_copcar10; + level.scr_anim["copcar_10"]["collapse_scene"] = %sf_goldengate_collapse_copcar10; + level.scr_anim["copcar_11"]["approach_scene"] = %sf_goldengate_barricade_copcar11; + level.scr_anim["atlas_suv"]["approach_scene"] = %sf_goldengate_collapse_suv; + level.scr_anim["bus"]["collapse_scene"] = %sf_goldengate_collapse_bus_c; + maps\_anim::addnotetrack_customfunction("bus","vfx_bus_slide_spark",::maps\sanfran_fx::vfx_bus_slide_spark); + level.scr_anim["compact"]["collapse_scene"] = %sf_goldengate_collapse_compact_c; + level.scr_anim["sedan"]["get_out_01"] = %sf_a_civillian_civ_sedan_veh_01; + level.scr_anim["sedan"]["get_out_02"] = %sf_a_civillian_civ_sedan_veh_02; + level.scr_anim["sedan"]["get_out_03"] = %sf_a_civillian_civ_sedan_veh_03; + level.scr_anim["sedan"]["get_out_04"] = %sf_a_civillian_civ_sedan_veh_04; + level.scr_anim["sedan"]["get_out_05"] = %sf_a_civillian_civ_sedan_veh_05; + level.scr_anim["sedan"]["get_out_06"] = %sf_a_civillian_civ_sedan_veh_06; + level.scr_anim["sedan"]["get_out_07"] = %sf_a_civillian_civ_sedan_veh_07; + level.scr_anim["compact"]["get_out_01"] = %sf_a_civillian_compactcar_veh_01; + level.scr_anim["compact"]["get_out_02"] = %sf_a_civillian_compactcar_veh_02; + level.scr_anim["compact"]["get_out_03"] = %sf_a_civillian_compactcar_veh_03; + level.scr_anim["compact"]["get_out_04"] = %sf_a_civillian_compactcar_veh_04; + level.scr_anim["compact"]["get_out_05"] = %sf_a_civillian_compactcar_veh_05; + level.scr_anim["compact"]["get_out_06"] = %sf_a_civillian_compactcar_veh_06; + level.scr_anim["compact"]["get_out_07"] = %sf_a_civillian_compactcar_veh_07; + level.scr_anim["truck"]["get_out_01"] = %sf_a_civillian_civ_truck_veh_01; + level.scr_anim["truck"]["get_out_02"] = %sf_a_civillian_civ_truck_veh_02; + level.scr_anim["truck"]["get_out_03"] = %sf_a_civillian_civ_truck_veh_03; + level.scr_anim["truck"]["get_out_04"] = %sf_a_civillian_civ_truck_veh_04; + level.scr_anim["truck"]["get_out_05"] = %sf_a_civillian_civ_truck_veh_05; + level.scr_anim["truck"]["get_out_06"] = %sf_a_civillian_civ_truck_veh_06; + level.scr_anim["truck"]["get_out_07"] = %sf_a_civillian_civ_truck_veh_07; +} + +//Function Number: 12 +setup_tanker_crash_notetrack() +{ + if(level.currentgen) + { + if(istransientloaded("sanfran_outro_tr")) + { + level waittill("tff_transition_outro_to_intro"); + } + } + + maps\_anim::addnotetrack_customfunction("tanker","vehicle_collision_impacts",::maps\sanfran_fx::tanker_skid_impacts,"tanker_crash"); +} + +//Function Number: 13 +load_prop_anims() +{ + level.scr_anim["_pitbull"]["pitbull_intro"] = %sanfran_bridge_pitbull_intro_pitbull; + level.scr_anim["_pitbull"]["oncoming_crash"] = %sanfran_bridge_pitbull_sideswipe_pitbull; + level.scr_anim["_pitbull"]["pitbull_crash"] = %sanfran_bridge_crash_pt2_pitbull_vm; + maps\_anim::addnotetrack_customfunction("_pitbull","fx_pitbull_atlas_impact",::maps\sanfran_fx::vfx_pitbull_atlas_impact); + maps\_anim::addnotetrack_customfunction("_pitbull","fx_pitbull_crash_jump_start",::maps\sanfran_fx::vfx_pitbull_crash_jump_start); + maps\_anim::addnotetrack_customfunction("_pitbull","fx_pitbull_roof_impact",::maps\sanfran_fx::vfx_pitbull_roof_impact); + maps\_anim::addnotetrack_customfunction("_pitbull","fx_pitbull_slide_sparks_start",::maps\sanfran_fx::vfx_pitbull_slide_sparks_start); + maps\_anim::addnotetrack_customfunction("_pitbull","fx_pitbull_slide_sparks_stop",::maps\sanfran_fx::vfx_pitbull_slide_sparks_stop); + maps\_anim::addnotetrack_customfunction("atlas_suv","vfx_pitbull_impact_sparks",::maps\sanfran_lighting::pitbull_atlas_impact_initial); + maps\_anim::addnotetrack_customfunction("_pitbull","fx_pitbull_atlas_impact",::maps\sanfran_lighting::pitbull_atlas_impact); + maps\_anim::addnotetrack_customfunction("_pitbull","fx_pitbull_crash_jump_start",::maps\sanfran_lighting::pitbull_crash_jump_start); + maps\_anim::addnotetrack_customfunction("_pitbull","fx_pitbull_roof_impact",::maps\sanfran_lighting::pitbull_roof_impact); + level.scr_anim["_pitbull"]["pitbull_crawl"] = %sanfran_bridge_crash_pt3_pitbull_vm; + maps\_anim::addnotetrack_customfunction("_pitbull","swap_to_real_pitbull",::maps\sanfran_code::pitbull_crash_swap_to_real_model); + level.scr_animtree["deployable_cover"] = #animtree; + level.scr_model["deployable_cover"] = "deployable_cover"; + level.scr_anim["deployable_cover"]["deployable_cover_deploy"] = %fusion_lift_deploy_cover_deployable_cover_prop_enter; + level.scr_anim["deployable_cover"]["deployable_cover_closed_idle"] = %fusion_lift_deploy_cover_idle_closed; + level.scr_anim["deployable_cover"]["deployable_cover_open_idle"] = %fusion_lift_deploy_cover_idle_opened; + level.scr_anim["bridge01"]["approach_scene"] = %sf_goldengate_barricade_chunk_a; + level.scr_anim["bridge01"]["deploy_scene"] = %sf_goldengate_deploy_chunk_a; + level.scr_anim["bridge01"]["collapse_scene"] = %sf_goldengate_collapse_chunk_a_pt2; + level.scr_anim["bridge01"]["after_collapse_idle"][0] = %sf_goldengate_collapse_chunk_a_idle; + level.scr_anim["bridge02"]["approach_scene"] = %sf_goldengate_barricade_chunk_b; + level.scr_anim["bridge02"]["deploy_scene"] = %sf_goldengate_deploy_chunk_b; + level.scr_anim["bridge02"]["collapse_scene"] = %sf_goldengate_collapse_chunk_b_pt2; + level.scr_anim["bridge02"]["after_collapse_idle"][0] = %sf_goldengate_collapse_chunk_b_idle; + level.scr_anim["bridge03"]["approach_scene"] = %sf_goldengate_barricade_chunk_c; + level.scr_anim["bridge03"]["deploy_scene"] = %sf_goldengate_deploy_chunk_c; + level.scr_anim["bridge03"]["collapse_scene"] = %sf_goldengate_collapse_chunk_c_pt2; + level.scr_anim["bridge03"]["after_collapse_idle"][0] = %sf_goldengate_collapse_chunk_c_idle; + level.scr_anim["bridge04"]["approach_scene"] = %sf_goldengate_barricade_chunk_d; + level.scr_anim["bridge04"]["deploy_scene"] = %sf_goldengate_deploy_chunk_d; + level.scr_anim["bridge04"]["collapse_scene"] = %sf_goldengate_collapse_chunk_d_pt2; + level.scr_anim["bridge04"]["after_collapse_idle"][0] = %sf_goldengate_collapse_chunk_d_idle; + level.scr_anim["bridge05"]["collapse_scene"] = %sf_goldengate_collapse_chunk_e_pt2; + level.scr_anim["bridge06"]["collapse_scene"] = %sf_goldengate_collapse_chunk_f_pt2; + level.scr_anim["bridge07"]["deploy_scene"] = %sf_goldengate_deploy_chunk_g; + level.scr_anim["bridge07"]["collapse_scene"] = %sf_goldengate_collapse_chunk_g_pt2; + level.scr_anim["rope_1"]["deploy_scene"] = %sf_goldengate_deploy_hero_rope01; + maps\_anim::addnotetrack_customfunction("rope_1","vfx_cable_spark",::maps\sanfran_fx::vfx_cable_spark_hero); + level.scr_anim["rope_2"]["deploy_scene"] = %sf_goldengate_deploy_hero_rope02; + level.scr_anim["gun"]["deploy_scene"] = %sf_goldengate_deploy_bal; + level.scr_anim["sn6_01"]["approach_scene"] = %sf_goldengate_barricade_sn6; + level.scr_anim["sn6_02"]["approach_scene"] = %sf_goldengate_collapse_sn6; + level.scr_anim["sn6_02"]["approach_idle"][0] = %sf_goldengate_deploy_sn6_idle; + level.scr_anim["cover"]["approach_scene"] = %sf_goldengate_deploy_cover; + level.scr_anim["cutter"]["deploy_scene"] = %sf_goldengate_deploy_cutter; + maps\_anim::addnotetrack_customfunction("cutter","vfx_cutter_spark",::maps\sanfran_fx::vfx_cutter_spark); + maps\_anim::addnotetrack_customfunction("cutter","vfx_cutter_ignite",::maps\sanfran_fx::vfx_cutter_ignite); + level.scr_anim["MOB"]["mob_sway"] = %sf_goldengate_collapse_mob_sway; + level.scr_anim["MOB"]["mob_sway_stop"] = %sf_goldengate_collapse_mob_sway_stop; + if(level.nextgen || level.transient_zone == "bigm") + { + notetracks_bridge_collapse(); + } +} + +//Function Number: 14 +notetracks_bridge_collapse() +{ + maps\_anim::addnotetrack_customfunction("bridge01","vfx_bridge_shake_left",::maps\sanfran_fx::vfx_bridge_shake_left); + maps\_anim::addnotetrack_customfunction("bridge01","vfx_bridge_shake_right",::maps\sanfran_fx::vfx_bridge_shake_right); + maps\_anim::addnotetrack_customfunction("bridge01","VFX_Bridge_Snap",::maps\sanfran_fx::vfx_bridge_snap); + maps\_anim::addnotetrack_customfunction("bridge01","bridge_swap",::maps\sanfran_code::swap_brigde_anim_to_real); + maps\_anim::addnotetrack_customfunction("bridge01","bridge_swap_far",::maps\sanfran_code::swap_brigde_anim_to_real_far); + maps\_anim::addnotetrack_customfunction("bridge03","vfx_cable_break",::maps\sanfran_fx::vfx_cable_break); + maps\_anim::addnotetrack_customfunction("bridge05","vfx_bridge_crack_start",::maps\sanfran_fx::vfx_bridge_crack_start); + maps\_anim::addnotetrack_customfunction("bridge06","vfx_burst_right_close",::maps\sanfran_fx::vfx_burst_right_close); + maps\_anim::addnotetrack_customfunction("bridge06","vfx_burst_left_close",::maps\sanfran_fx::vfx_burst_left_close); + maps\_anim::addnotetrack_customfunction("bridge07","vfx_bridge_chunk_f_piece5_fall",::maps\sanfran_fx::vfx_bridge_chunk_f_piece5_fall); +} + +//Function Number: 15 +collapse_fov(param_00) +{ + maps\_utility::lerp_fov_overtime(3,50); +} + +//Function Number: 16 +fade_to_black(param_00) +{ + maps\_loadout_code::saveplayerweaponstatepersistent("sanfran",1); + maps\_utility::nextmission(); +} \ No newline at end of file diff --git a/AW/PC/maps/sanfran_aud.gsc b/AW/PC/maps/sanfran_aud.gsc new file mode 100644 index 0000000..327b36a --- /dev/null +++ b/AW/PC/maps/sanfran_aud.gsc @@ -0,0 +1,1758 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: sanfran_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 125 + * Decompile Time: 1750 ms + * Timestamp: 4/22/2024 2:35:11 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + config_system(); + init_snd_flags(); + init_globals(); + launch_threads(); + thread launch_loops(); + create_level_envelop_arrays(); + create_level_misc_arrays(); + precache_presets(); + thread maps\sanfran_vo::init_pcap_vo(); + thread setup_bigmoment_notetracks(); + register_snd_messages(); +} + +//Function Number: 2 +config_system() +{ + soundscripts\_audio::set_stringtable_mapname("shg"); + soundscripts\_snd_filters::snd_set_occlusion("no_occlusion"); + aud_set_timescale(); + soundscripts\_audio_mix_manager::mm_add_submix("sfa_level_global_mix"); + soundscripts\_audio_mix_manager::mm_add_submix("temp_vo_premix"); +} + +//Function Number: 3 +init_snd_flags() +{ +} + +//Function Number: 4 +init_globals() +{ +} + +//Function Number: 5 +launch_threads() +{ + if(soundscripts\_audio::aud_is_specops()) + { + return; + } + + thread point_source_dambs(); + thread pitbull_intro_foley_ui(); + thread set_up_bus_crash_anims(); + thread set_up_median_crash_anims(); + thread set_up_pitbull_crash_anims(); + thread set_up_pitbull_escape_anims(); + thread level_start_fade_in(); +} + +//Function Number: 6 +launch_loops() +{ + if(level.currentgen && !istransientloaded("sanfran_outro_tr")) + { + level waittill("tff_transition_intro_to_outro"); + } + + common_scripts\utility::loop_fx_sound("emt_fire_roar_s_01",(-4079,71789,67),1); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_s_01",(-4064,71690,51),1); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_m_01",(-5099,71580,-1061),1); + common_scripts\utility::loop_fx_sound("emt_fire_roar_h_01",(-5172,72583,-820),1); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_m_01",(-4987,72345,-840),1); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_l_01",(-5437,71946,-1287),1); + common_scripts\utility::loop_fx_sound("emt_fire_roar_h_01",(-5484,71919,-1287),1); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_s_01",(-5413,71896,-1317),1); + common_scripts\utility::loop_fx_sound("emt_fire_roar_l_02",(-5368,71864,-1282),1); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_l_02",(-5306,71931,-1253),1); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_l_01",(-5649,71669,-1441),1); + common_scripts\utility::loop_fx_sound("emt_fire_roar_m_01",(-5732,71626,-1406),1); + common_scripts\utility::loop_fx_sound("emt_fire_roar_s_01",(-5861,71738,-1449),1); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_s_01",(-5698,72169,-1432),1); + common_scripts\utility::loop_fx_sound("emt_fire_roar_h_01",(-5632,72213,-1410),1); + common_scripts\utility::loop_fx_sound("emt_fire_roar_m_01",(-5867,72158,-1453),1); + common_scripts\utility::loop_fx_sound("emt_fire_roar_l_critical_01",(-5094,71499,-1108),1); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_l_02",(-5094,71499,-1118),1); + common_scripts\utility::loop_fx_sound("emt_fire_roar_l_critical_02",(-5675,72619,-948),1); + common_scripts\utility::loop_fx_sound("emt_fire_roar_h_01",(-5675,72619,-958),1); + common_scripts\utility::loop_fx_sound("emt_fire_roar_l_critical_01",(-5610,72434,-959),1); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_l_01",(-5610,72434,-949),1); + common_scripts\utility::loop_fx_sound("emt_fire_roar_l_critical_02",(-6198,71424,-968),1); + common_scripts\utility::loop_fx_sound("emt_fire_roar_h_01",(-6198,71424,-978),1); +} + +//Function Number: 7 +create_level_envelop_arrays() +{ + level.aud.envs = []; + level.aud.envs["example_envelop"] = [[0,0],[0.082,0.426],[0.238,0.736],[0.408,0.844],[0.756,0.953],[1,1]]; +} + +//Function Number: 8 +create_level_misc_arrays() +{ + level.aud.ambientexp = []; + level.aud.ambientexp["sfa_bridge_car_explode"] = [["sfa_bridge_car_explode_01",0],["sfa_bridge_car_explode_02",0],["sfa_bridge_car_explode_03",0],["sfa_bridge_car_explode_04",0]]; + level.aud.ambientexp["sfa_bridge_truck_explode"] = [["sfa_truck_explode",0]]; + level.aud.ambientexp["sfa_bridge_heli_explode"] = [["sfa_heli_explode_sm_main_01",0],["sfa_heli_explode_sm_main_02",0]]; +} + +//Function Number: 9 +precache_presets() +{ +} + +//Function Number: 10 +aud_set_timescale() +{ + soundsettimescalefactor("voices",0); + soundsettimescalefactor("voices_critical",0); + soundsettimescalefactor("scripted",0); +} + +//Function Number: 11 +register_snd_messages() +{ + soundscripts\_snd::snd_register_message("snd_zone_handler",::zone_handler); + soundscripts\_snd::snd_register_message("snd_music_handler",::music_handler); + soundscripts\_snd::snd_register_message("start_intro",::start_intro); + soundscripts\_snd::snd_register_message("start_tunnel",::start_tunnel); + soundscripts\_snd::snd_register_message("start_oncoming",::start_oncoming); + soundscripts\_snd::snd_register_message("start_bridge",::start_bridge); + soundscripts\_snd::snd_register_message("start_street",::start_street); + soundscripts\_snd::snd_register_message("start_police",::start_police); + soundscripts\_snd::snd_register_message("start_pitbull",::start_pitbull); + soundscripts\_snd::snd_register_message("start_van",::start_van); + soundscripts\_snd::snd_register_message("start_boost",::start_boost); + soundscripts\_snd::snd_register_message("aud_drone_view_intro_start",::aud_drone_view_intro_start); + soundscripts\_snd::snd_register_message("aud_drone_view_intro_target",::aud_drone_view_intro_target); + soundscripts\_snd::snd_register_message("setup_audio_zone_tunnel",::setup_audio_zone_tunnel); + soundscripts\_snd::snd_register_message("chase_van_rabbiting_anim",::chase_van_rabbiting_anim); + soundscripts\_snd::snd_register_message("gate_crash",::gate_crash); + soundscripts\_snd::snd_register_message("bus_crash_start",::bus_crash_start); + soundscripts\_snd::snd_register_message("npc_pitbull_shot",::npc_pitbull_shot); + soundscripts\_snd::snd_register_message("npc_heli_shot",::npc_heli_shot); + soundscripts\_snd::snd_register_message("car_chase_crash",::car_chase_crash); + soundscripts\_snd::snd_register_message("atlas_van_explode",::atlas_van_explode); + soundscripts\_snd::snd_register_message("aud_tanker_crash",::aud_tanker_crash); + soundscripts\_snd::snd_register_message("aud_tanker_fall_down",::aud_tanker_fall_down); + soundscripts\_snd::snd_register_message("van_cuts_off_player",::van_cuts_off_player); + soundscripts\_snd::snd_register_message("aud_median_impact",::aud_median_impact); + soundscripts\_snd::snd_register_message("aud_atlas_suv_explo",::aud_atlas_suv_explo); + soundscripts\_snd::snd_register_message("player_in_oncoming",::player_in_oncoming); + soundscripts\_snd::snd_register_message("spawn_new_traffic_vehicle",::spawn_new_traffic_vehicle); + soundscripts\_snd::snd_register_message("pc_pitbull_spawn",::pc_pitbull_spawn); + soundscripts\_snd::snd_register_message("monitor_pitbull_oncoming",::monitor_aud_median); + soundscripts\_snd::snd_register_message("spawn_driving_police_car",::spawn_driving_police_car); + soundscripts\_snd::snd_register_message("intro_give_player_driving",::intro_give_player_driving); + soundscripts\_snd::snd_register_message("pitbull_crash_sound_design",::pitbull_crash_sound_design); + soundscripts\_snd::snd_register_message("pc_pitbull_crash",::pc_pitbull_crash); + soundscripts\_snd::snd_register_message("aud_pitbull_crash_concussion",::aud_pitbull_crash_concussion); + soundscripts\_snd::snd_register_message("bridge_post_crash_pitbull_crawl_done",::bridge_post_crash_pitbull_crawl_done); + soundscripts\_snd::snd_register_message("panic_walla",::panic_walla); + soundscripts\_snd::snd_register_message("panic_walla_oneshots",::panic_walla_oneshots); + soundscripts\_snd::snd_register_message("spawn_parked_police_car",::spawn_parked_police_car); + soundscripts\_snd::snd_register_message("bridge_atlas_suv_drive_up",::bridge_atlas_suv_drive_up); + soundscripts\_snd::snd_register_message("start_burke_boost_kick",::start_burke_boost_kick); + soundscripts\_snd::snd_register_message("bridge_street_fight",::bridge_street_fight); + soundscripts\_snd::snd_register_message("start_bridge_helis",::start_bridge_helis); + soundscripts\_snd::snd_register_message("tanker_fireball",::tanker_fireball); + soundscripts\_snd::snd_register_message("bridge_car_explode",::bridge_car_explode); + soundscripts\_snd::snd_register_message("bridge_tanker_explode",::bridge_tanker_explode); + soundscripts\_snd::snd_register_message("aud_little_bird_hit",::aud_little_bird_hit); + soundscripts\_snd::snd_register_message("start_jerk_driver_car",::start_jerk_driver_car); + soundscripts\_snd::snd_register_message("approaching_standoff",::approaching_standoff); + soundscripts\_snd::snd_register_message("pre_bridge_collapse_helo_idle",::pre_bridge_collapse_helo_idle); + soundscripts\_snd::snd_register_message("pre_bridge_collapse_scene",::pre_bridge_collapse_scene); + soundscripts\_snd::snd_register_message("starting_bridge_collapse",::starting_bridge_collapse); + soundscripts\_snd::snd_register_message("gg_start_bridge_collapse",::gg_start_bridge_collapse); + soundscripts\_snd::snd_register_message("gg_drone_explosions",::gg_drone_explosions); + soundscripts\_snd::snd_register_message("gg_drone_cable_explosions",::gg_drone_cable_explosions); + soundscripts\_snd::snd_register_message("gg_bridge_snap_explosion",::gg_bridge_snap_explosion); + soundscripts\_snd::snd_register_message("gg_start_bus_sliding",::gg_start_bus_sliding); + soundscripts\_snd::snd_register_message("gg_bus_explode_death",::gg_bus_explode_death); + soundscripts\_snd::snd_register_message("bridge_collapsed",::bridge_collapsed); + soundscripts\_audio_vehicle_manager::snd_register_vehicle("bsgods_preset",::soundscripts\_audio_presets_music::bsgods_preset_constructor); + soundscripts\_snd::snd_register_message("e3_demo_fade_out",::e3_demo_fade_out); + soundscripts\_snd::snd_register_message("e3_demo_fade_in",::e3_demo_fade_in); +} + +//Function Number: 12 +zone_handler(param_00,param_01) +{ + switch(param_00) + { + } +} + +//Function Number: 13 +music_handler(param_00,param_01) +{ + level notify("stop_current_music_thread"); + level endon("stop_current_music_thread"); + var_02 = 1; + switch(param_00) + { + case "start_intro": + soundscripts\_audio::aud_set_music_submix(0.8,2); + break; + + case "transition_to_tunnel": + soundscripts\_audio_music::mus_stop(10); + break; + + case "start_driving_music": + if(isdefined(param_01)) + { + var_03 = param_01; + soundscripts\_audio::aud_wait_delay(var_03,0,1); + } + + soundscripts\_audio::aud_set_music_submix(0.56,0.2); + soundscripts\_audio_music::mus_play("mus_sfa_chase_intro",0); + while(!isdefined(level.aud.pc_veh)) + { + wait(0.05); + } + + wait(22.5); + soundscripts\_audio_music::mus_stop(4); + soundscripts\_audio::aud_set_music_submix(0.56,1); + level.aud.pc_veh thread handle_driving_music(3,3); + break; + + case "bridge_chase_outro": + if(isdefined(level.aud.pc_veh)) + { + level.aud.pc_veh notify("bridge_chase_outro"); + } + + soundscripts\_audio::aud_set_music_submix(0.64,0.5); + soundscripts\_audio_music::mus_play("mus_sfa_chase_outro",0.5); + wait(8); + soundscripts\_audio_music::mus_stop(1); + break; + + case "bridge_post_crash_pitbull_crawl_done": + break; + + case "bridge_street_fight": + break; + + case "mus_sfa_street_intro": + soundscripts\_audio::aud_set_music_submix(var_02,0.1); + soundscripts\_audio_music::mus_play("mus_sfa_street_intro",0.5); + break; + + case "mus_sfa_street_boosters": + soundscripts\_audio::aud_set_music_submix(var_02,0.1); + soundscripts\_audio_music::mus_play("mus_sfa_street_boosters",0,1); + soundscripts\_audio_mix_manager::mm_add_submix("sfa_ext_bridge_intact_combat",3); + break; + + case "mus_sfa_street_vamp1": + soundscripts\_audio::aud_set_music_submix(var_02,2); + soundscripts\_audio_music::mus_play("mus_sfa_street_vamp1",0,3); + break; + + case "mus_sfa_street_alt": + soundscripts\_audio::aud_set_music_submix(var_02,2); + soundscripts\_audio_music::mus_play("mus_sfa_street_alt",0,2); + break; + + case "mus_sfa_street_vamp2": + break; + + case "mus_sfa_street_breakdown": + soundscripts\_audio::aud_set_music_submix(var_02,2); + soundscripts\_audio_music::mus_play("mus_sfa_street_breakdown",4,4); + break; + + case "mus_sfa_street_outtro": + soundscripts\_audio::aud_set_music_submix(var_02,2); + soundscripts\_audio_music::mus_play("mus_sfa_street_outtro",0,2); + soundscripts\_audio_mix_manager::mm_clear_submix("sfa_ext_bridge_intact_combat",5); + break; + + case "mus_sfa_street_tag": + soundscripts\_audio_music::mus_play("mus_sfa_street_breakdown",4,4); + break; + + case "approaching_standoff": + soundscripts\_audio_music::mus_stop(20); + break; + + case "pre_bridge_collapse_scene": + soundscripts\_audio_music::mus_stop(4); + break; + + case "starting_bridge_collapse": + soundscripts\_audio_music::mus_stop(4); + break; + + default: + break; + } +} + +//Function Number: 14 +handle_driving_music(param_00,param_01) +{ + var_02 = self; + param_00 = soundscripts\_audio::aud_get_optional_param(0.1,param_00); + param_01 = soundscripts\_audio::aud_get_optional_param(0.1,param_01); + soundscripts\_snd::snd_message("ams_start","bsgods_preset","driving",param_00); + soundscripts\_snd::snd_message("ams_set_proxy_vehicle",self); + var_02 common_scripts\utility::waittill_either("death","bridge_chase_outro"); + soundscripts\_snd::snd_message("ams_set_proxy_vehicle",undefined); + soundscripts\_snd::snd_message("ams_stop",param_01); +} + +//Function Number: 15 +start_intro(param_00) +{ + soundscripts\_snd::snd_music_message("start_intro"); + wait(0.05); + soundscripts\_snd_filters::snd_set_filter("sfa_vehicle_impacts",1); +} + +//Function Number: 16 +start_tunnel(param_00) +{ + setup_audio_zone_tunnel(); +} + +//Function Number: 17 +start_oncoming(param_00) +{ + soundscripts\_snd::snd_music_message("start_driving_music"); + soundscripts\_audio_zone_manager::azm_start_zone("sf_a_ext_street",1); +} + +//Function Number: 18 +start_bridge(param_00) +{ + soundscripts\_snd::snd_music_message("start_driving_music"); + soundscripts\_audio_zone_manager::azm_start_zone("sf_a_ext_street",1); +} + +//Function Number: 19 +start_street(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("sf_a_ext_street",1); + soundscripts\_snd::snd_music_message("mus_sfa_street_intro"); +} + +//Function Number: 20 +start_police(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("sf_a_ext_street",1); + soundscripts\_snd::snd_music_message("mus_sfa_street_boosters"); +} + +//Function Number: 21 +start_pitbull(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("sf_a_ext_street",1); + soundscripts\_snd::snd_music_message("mus_sfa_street_alt"); +} + +//Function Number: 22 +start_van(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("sf_a_ext_street",1); + soundscripts\_snd::snd_music_message("mus_sfa_street_breakdown"); +} + +//Function Number: 23 +start_boost(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("sf_a_ext_street",1); +} + +//Function Number: 24 +aud_drone_view_intro_start() +{ + var_00 = 0.75; + var_01 = 0.3; + var_02 = 0.75; + var_03 = 0.1; + var_04 = 0.4; + var_05 = 0.5; + var_06 = 0.75; + var_07 = 0.25; + var_08 = 0.1; + var_09 = 0.75; + var_0A = 0.4; + var_0B = 0.5; + soundscripts\_audio_mix_manager::mm_add_submix("sfa_intro",0.05); + var_0C = snd_play_2d_sound("sfa_intro_opening_drums",var_00); + var_0D = snd_play_2d_sound("sfa_intro_drone1",0); + var_0E = snd_play_2d_sound("sfa_intro_static_bgrnd",0,0.249); + var_0E thread aud_fadeup_intro_loop(1.6,var_02,0); + var_0D thread aud_fadeup_intro_loop(0.1,var_01,1.5); + level waittill("aud_drone_view_intro_zoom_in_fleet"); + var_0C = snd_play_2d_sound("sfa_intro_zoom_in",var_04); + level waittill("aud_drone_view_intro_zoom_out_fleet"); + var_0C = snd_play_2d_sound("sfa_intro_zoom_out",var_05); + level waittill("aud_drone_view_intro_switch_to_camera_2"); + var_0D snd_fade_and_stop_sound(0.2); + var_0C = snd_play_2d_sound("sfa_intro_static_burst",var_06); + var_0F = snd_play_2d_sound("sfa_intro_drone2",var_07); + var_10 = snd_play_2d_sound("sfa_intro_pitbull_fadein",var_08); + var_0C = snd_play_2d_sound("sfa_intro_trans_whoosh",1,0,5.577); + var_0C = snd_play_2d_sound("sfa_intro_trans_drums",1,0,5.577); + level waittill("aud_drone_view_intro_zoom_in_cargo"); + var_0C = snd_play_2d_sound("sfa_intro_zoom_in",var_04); + level waittill("aud_drone_view_intro_transition_to_tunnel"); + soundscripts\_audio_mix_manager::mm_clear_submix("sfa_intro",0.05); + var_0E snd_fade_and_stop_sound(0.2); + var_0F snd_fade_and_stop_sound(0.2); + var_10 snd_fade_and_stop_sound(2); +} + +//Function Number: 25 +aud_drone_view_intro_target() +{ + snd_play_2d_sound("sfa_intro_ui_beep",0.08); +} + +//Function Number: 26 +aud_fadeup_intro_loop(param_00,param_01,param_02) +{ + wait(param_00); + self scalevolume(param_01,param_02); +} + +//Function Number: 27 +snd_play_2d_sound(param_00,param_01,param_02,param_03,param_04) +{ + param_01 = soundscripts\_audio::aud_get_optional_param(1,param_01); + param_02 = soundscripts\_audio::aud_get_optional_param(0,param_02); + param_03 = soundscripts\_audio::aud_get_optional_param(0,param_03); + param_04 = soundscripts\_audio::aud_get_optional_param("sounddone",param_04); + var_05 = spawn("script_origin",(0,0,0)); + var_05 thread sndx_play_2d_sound(param_00,param_01,param_02,param_03,param_04); + return var_05; +} + +//Function Number: 28 +sndx_play_2d_sound(param_00,param_01,param_02,param_03,param_04) +{ + if(isdefined(self)) + { + wait(param_03); + self playsound(param_00,param_04); + self scalevolume(param_01,param_02); + } +} + +//Function Number: 29 +snd_fade_and_stop_sound(param_00) +{ + thread sndx_fade_and_stop_sound(param_00); +} + +//Function Number: 30 +sndx_fade_and_stop_sound(param_00) +{ + var_01 = self; + if(isdefined(var_01)) + { + var_01 scalevolume(0,param_00); + wait(param_00); + if(isdefined(var_01)) + { + var_01 stopsounds(); + wait(0.05); + var_01 delete(); + } + } +} + +//Function Number: 31 +chase_van_rabbiting_anim() +{ + snd_play_2d_sound("sfa_intro_van_passby"); +} + +//Function Number: 32 +gate_crash() +{ + thread setup_gate_crash(); +} + +//Function Number: 33 +set_up_bus_crash_anims() +{ + maps\_anim::addnotetrack_customfunction("bus","bus_skid",::bus_skid,"bus_crash"); + maps\_anim::addnotetrack_customfunction("bus","bus_crash",::bus_crash,"bus_crash"); +} + +//Function Number: 34 +bus_skid(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("sfa_bus_crash",0.05); + param_00 soundscripts\_snd_playsound::snd_play_linked("sfa_bus_skid"); +} + +//Function Number: 35 +bus_crash(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("sfa_bus_crash"); + wait(2.5); + soundscripts\_audio_mix_manager::mm_clear_submix("sfa_bus_crash",0.05); +} + +//Function Number: 36 +bus_crash_start() +{ +} + +//Function Number: 37 +npc_pitbull_shot() +{ +} + +//Function Number: 38 +npc_heli_shot(param_00) +{ + var_01 = self; + param_00 soundscripts\_snd_playsound::snd_play_linked("wpn_railgun_shot_npc"); + var_01 waittill("death"); + if(isdefined(var_01.origin)) + { + common_scripts\utility::play_sound_in_space("wpn_railgun_exp",var_01.origin); + } +} + +//Function Number: 39 +atlas_van_explode(param_00) +{ + self waittill("explode"); + var_01 = spawnstruct(); + var_01.pos = self.origin; + var_01.duck_alias_ = "exp_generic_explo_sub_kick"; + var_01.duck_dist_threshold_ = 1200; + var_01.explo_delay_chance_ = 100; + var_01.shake_dist_threshold_ = 1200; + var_01.ground_zero_dist_threshold_ = 500; + soundscripts\_snd_common::snd_ambient_explosion(var_01); + soundscripts\_snd_playsound::snd_play_delayed_linked("atlas_van_explo"); + wait(0.3); + if(isdefined(self) && isdefined(param_00) && param_00 vehicle_getspeed() > 5) + { + soundscripts\_snd_playsound::snd_play_linked("atlas_van_explode_debris"); + } +} + +//Function Number: 40 +car_chase_crash() +{ +} + +//Function Number: 41 +aud_tanker_crash() +{ + var_00 = self; + soundscripts\_audio_mix_manager::mm_add_submix("tanker_truck_swerve_roll",0.05); + var_00 soundscripts\_snd_playsound::snd_play_linked("sfa_tanker_skid"); + wait(5); + soundscripts\_audio_mix_manager::mm_clear_submix("tanker_truck_swerve_roll",0.5); +} + +//Function Number: 42 +aud_tanker_fall_down(param_00) +{ + var_01 = self; + soundscripts\_audio_mix_manager::mm_add_submix("tanker_truck_explode",0.03); + var_01 soundscripts\_snd_playsound::snd_play_linked("sfa_tanker_exp"); + var_01 soundscripts\_snd_playsound::snd_play_linked("sfa_tanker_exp_lfe"); + wait(2); + soundscripts\_audio_mix_manager::mm_clear_submix("tanker_truck_explode",1.5); +} + +//Function Number: 43 +van_cuts_off_player() +{ + soundscripts\_audio_mix_manager::mm_add_submix("median_crash_explode",0.05); + soundscripts\_snd_playsound::snd_play_2d("sfa_suv_cuts_off_player"); +} + +//Function Number: 44 +set_up_median_crash_anims() +{ + maps\_anim::addnotetrack_customfunction("atlas_suv","enemy_suv_median",::enemy_suv_median,"oncoming_crash"); + maps\_anim::addnotetrack_customfunction("atlas_suv","enemy_suv_explode",::enemy_suv_explode,"oncoming_crash"); +} + +//Function Number: 45 +enemy_suv_median(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("sfa_median_impact"); +} + +//Function Number: 46 +enemy_suv_explode(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_delayed_linked("sfa_median_suv_explode",0.15); + wait(2); + soundscripts\_audio_mix_manager::mm_clear_submix("median_crash_explode",1); +} + +//Function Number: 47 +aud_median_impact() +{ +} + +//Function Number: 48 +aud_atlas_suv_explo(param_00) +{ +} + +//Function Number: 49 +player_in_oncoming() +{ + level.aud.median_crash = 1; +} + +//Function Number: 50 +spawn_new_traffic_vehicle() +{ + var_00 = self; + var_00 endon("death"); + var_01 = 0; + var_02 = 10; + var_03 = 1; + var_04 = spawnstruct(); + soundscripts\_snd::snd_message("snd_register_vehicle","sfa_generic_traffic",::sfa_generic_traffic_constructor); + if(isdefined(level.nextgen)) + { + var_05 = 50; + } + else + { + var_05 = 25; + } + + var_04.preset_name = "sfa_generic_traffic"; + var_04.fadein_time = 0.5; + var_04.fadeout_time = 0.5; + for(;;) + { + var_06 = soundscripts\_audio_vehicle_manager::dist2yards(distance(var_00.origin,level.player.origin)); + var_07 = var_00 vehicle_getspeed(); + if(!var_01 && var_06 < var_05 && var_07 > var_02) + { + var_00 soundscripts\_snd::snd_message("snd_start_vehicle",var_04); + var_01 = 1; + } + else if(var_01 && var_06 >= var_05 || var_07 <= var_02) + { + var_00 soundscripts\_snd::snd_message("snd_stop_vehicle",var_04.fadeout_time); + var_01 = 0; + } + + wait(0.25); + } +} + +//Function Number: 51 +start_jerk_driver_car() +{ + soundscripts\_snd::snd_message("snd_register_vehicle","civilian_compact_car",::civilian_compact_car_constructor); + soundscripts\_snd::snd_message("snd_start_vehicle","civilian_compact_car"); +} + +//Function Number: 52 +pc_pitbull_spawn(param_00) +{ + level.aud.pc_veh = self; + soundscripts\_snd::snd_message("snd_register_vehicle","pitbull",::vehicle_scripts\_pitbull_aud::snd_pitbull_constructor); + soundscripts\_snd::snd_message("snd_start_vehicle","pitbull"); +} + +//Function Number: 53 +spawn_driving_police_car(param_00) +{ + var_01 = self; + var_02 = "sfa_police_siren_yelp"; + var_03 = soundscripts\_snd_playsound::snd_play_loop_linked("sfa_police_siren_yelp",var_02); + var_04 = 0.05; + while(!isdefined(level.aud.median_crash) && isdefined(var_01) && isdefined(var_03)) + { + var_05 = dopplerpitch(var_01.origin,(0,0,0),level.player.origin,level.player getvelocity(),2,2); + var_03 scalepitch(var_05,var_04); + wait(var_04); + } + + level notify(var_02); +} + +//Function Number: 54 +pitbull_intro_foley_ui() +{ + level waittill("aud_start_sanfran_bridge_pitbull_intro_vo_start"); + soundscripts\_snd_playsound::snd_play_delayed_2d("sfa_pitbull_intro_plr",0); + soundscripts\_snd_playsound::snd_play_delayed_2d("sfa_pitbull_intro_brk_01",4.22); + soundscripts\_snd_playsound::snd_play_delayed_2d("sfa_pitbull_intro_brk_02",7.43); + soundscripts\_snd_playsound::snd_play_delayed_2d("sfa_pitbull_intro_screen_off",15.52); +} + +//Function Number: 55 +intro_give_player_driving() +{ +} + +//Function Number: 56 +pitbull_crash_sound_design() +{ + soundscripts\_audio_mix_manager::mm_add_submix("pitbull_crash",0.03); + soundscripts\_snd_playsound::snd_play_2d("sfa_pitbull_crash_first_impact"); +} + +//Function Number: 57 +set_up_pitbull_crash_anims() +{ + maps\_anim::addnotetrack_customfunction("_pitbull","pitbull_impact",::pitbull_second_impact,"pitbull_crash"); + maps\_anim::addnotetrack_customfunction("_pitbull","pitbull_start_flip",::pitbull_start_flip,"pitbull_crash"); + maps\_anim::addnotetrack_customfunction("_pitbull","pitbull_land_upside_down",::pitbull_land_upside_down,"pitbull_crash"); +} + +//Function Number: 58 +pitbull_second_impact(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("sfa_pitbull_crash_second_impact"); +} + +//Function Number: 59 +pitbull_start_flip(param_00) +{ + soundscripts\_audio_mix_manager::mm_add_submix("pitbull_upside_down"); + soundscripts\_audio_mix_manager::mm_clear_submix("pitbull_crash",3); + soundscripts\_snd_playsound::snd_play_2d("sfa_pitbull_crash_flip"); +} + +//Function Number: 60 +pitbull_land_upside_down(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("sfa_pitbull_crash_land"); +} + +//Function Number: 61 +aud_pitbull_crash_concussion() +{ + soundscripts\_audio_mix_manager::mm_clear_submix("pitbull_upside_down"); + soundscripts\_audio_mix_manager::mm_add_submix("pitbull_crash_concussion",0.03); + soundscripts\_audio_zone_manager::azm_set_filter_bypass(1); + soundscripts\_snd_filters::snd_fade_in_filter("sfa_pitbull_crash_concussion",0.5); + soundscripts\_snd_playsound::snd_play_delayed_2d("sfa_pitbull_crash_concussion",0.7); + wait(10); + soundscripts\_snd_filters::snd_fade_out_filter(8); + soundscripts\_audio_zone_manager::azm_set_filter_bypass(0); + soundscripts\_audio_mix_manager::mm_clear_submix("pitbull_crash_concussion",3); +} + +//Function Number: 62 +set_up_pitbull_escape_anims() +{ + if(level.currentgen && level.transient_zone != "intro") + { + level waittill("tff_transition_outro_to_intro"); + } + + maps\_anim::addnotetrack_customfunction("player_rig","punch_door",::punch_door,"pitbull_crawl"); + maps\_anim::addnotetrack_customfunction("player_rig","kick_door",::kick_door,"pitbull_crawl"); + maps\_anim::addnotetrack_customfunction("player_rig","player_get_up",::player_escape,"pitbull_crawl"); +} + +//Function Number: 63 +punch_door(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("sfa_pitbull_crash_punch_door"); + soundscripts\_snd_playsound::snd_play_delayed_2d("sfa_pitbull_crash_kick_exo",1.5,1); +} + +//Function Number: 64 +kick_door(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("sfa_pitbull_crash_kick_door"); +} + +//Function Number: 65 +player_escape(param_00) +{ + soundscripts\_snd_playsound::snd_play_2d("sfa_pitbull_crash_escape"); +} + +//Function Number: 66 +pc_pitbull_crash(param_00) +{ + soundscripts\_snd::snd_music_message("bridge_chase_outro"); + level.player_pitbull soundscripts\_snd::snd_message("snd_stop_moving_vehicle",0.5); + thread setup_audio_zone_bridge_intact(); + soundscripts\_snd_filters::snd_set_occlusion("med_occlusion"); + soundscripts\_snd_filters::snd_clear_filter(1); +} + +//Function Number: 67 +bridge_post_crash_pitbull_crawl_done(param_00) +{ + soundscripts\_snd::snd_music_message("bridge_post_crash_pitbull_crawl_done"); +} + +//Function Number: 68 +spawn_parked_police_car(param_00) +{ + var_01 = 0; + foreach(var_03 in param_00) + { + if(var_01 % 2) + { + var_03 soundscripts\_snd_playsound::snd_play_loop_linked("sfa_police_idle","foo_notify"); + } + } + + thread handle_parked_police_car_radios(param_00); +} + +//Function Number: 69 +handle_parked_police_car_radios(param_00) +{ + var_01 = []; + foreach(var_04, var_03 in param_00) + { + var_01[var_04] = spawnstruct(); + var_01[var_04].veh_ent = var_03; + var_01[var_04].snd_ent = undefined; + } + + var_05 = undefined; + var_06 = undefined; + while(!common_scripts\utility::flag("flag_van_explosion_start")) + { + var_07 = 1000000; + foreach(var_0B, var_09 in var_01) + { + var_0A = distance(level.player.origin,var_01[var_0B].veh_ent.origin); + if(var_0A < var_07) + { + var_07 = var_0A; + var_06 = var_0B; + } + } + + if(!isdefined(var_05) || var_05 != var_06) + { + if(isdefined(var_05) && isdefined(var_01[var_05].snd_ent)) + { + var_01[var_05].snd_ent snd_fade_and_stop_sound(0.5); + var_01[var_05].snd_ent = undefined; + } + + var_01[var_06].snd_ent = var_01[var_06].veh_ent start_parked_police_car_radio(); + var_05 = var_06; + } + + wait(0.1); + } + + foreach(var_09 in var_01) + { + if(isdefined(var_09.snd_ent)) + { + var_09.snd_ent snd_fade_and_stop_sound(0.5); + } + } +} + +//Function Number: 70 +start_parked_police_car_radio() +{ + var_00 = self; + var_01 = spawn("script_origin",var_00.origin); + var_01 linkto(var_00); + var_01 scalevolume(0,0); + var_01 soundscripts\_snd_playsound::snd_play_loop("sfa_police_radio"); + var_01 scalevolume(1,0.5); + return var_01; +} + +//Function Number: 71 +bridge_atlas_suv_drive_up(param_00) +{ + var_01 = ""; + if(param_00 == 1) + { + var_01 = "sfa_atlas_suv_drive_up1"; + wait(0.5); + } + else + { + var_01 = "sfa_atlas_suv_drive_up2"; + wait(0.5); + } + + var_02 = soundscripts\_snd_playsound::snd_play_linked(var_01); + thread dopplerize_suv_drive_up(var_02); +} + +//Function Number: 72 +dopplerize_suv_drive_up(param_00) +{ + var_01 = self; + var_02 = 0.05; + var_03 = 2; + var_04 = 2; + while(isdefined(param_00)) + { + var_05 = dopplerpitch(var_01.origin,var_01 vehicle_getvelocity(),level.player.origin,level.player getvelocity(),var_03,var_04); + param_00 scalepitch(var_05,var_02); + wait(var_02); + } +} + +//Function Number: 73 +start_burke_boost_kick() +{ + maps\_anim::addnotetrack_animsound("boost_jump_kick_01_atk","boost_jump_kick_01","boost_kick_jump","sfa_boost_kick_brk_jump"); + maps\_anim::addnotetrack_animsound("boost_jump_kick_01_atk","boost_jump_kick_01","boost_kick_land","sfa_boost_kick_brk_land"); + maps\_anim::addnotetrack_animsound("boost_jump_kick_01_def","boost_jump_kick_01","boost_kick_bodyfall","sfa_boost_kick_enmy_bodyfall"); +} + +//Function Number: 74 +bridge_street_fight(param_00) +{ +} + +//Function Number: 75 +start_bridge_helis(param_00) +{ + foreach(var_02 in param_00) + { + var_02 thread play_bridge_lb_sentinel_flyby(); + } +} + +//Function Number: 76 +play_bridge_lb_sentinel_flyby() +{ + for(;;) + { + if(soundscripts\_audio_vehicle_manager::units2yards(distance2d(self.origin,level.player.origin)) < 90) + { + soundscripts\_snd_playsound::snd_play_linked("lbs_flyby_short"); + break; + } + + wait(0.1); + } +} + +//Function Number: 77 +veh_debug_monitor_3d(param_00) +{ + if(!isstring(param_00)) + { + param_00 = ""; + } + + thread soundscripts\_audio::aud_print_3d_on_ent("VEH " + param_00 + ": ",1,"red",::veh_debug_monitor_3d_callback); +} + +//Function Number: 78 +veh_debug_monitor_3d_callback() +{ + var_00 = soundscripts\_audio_vehicle_manager::dist2yards(distance(self.origin,level.player.origin)); + return "yards_3d = " + var_00; +} + +//Function Number: 79 +tanker_fireball() +{ + soundscripts\_audio_mix_manager::mm_add_submix("bridge_tanker_fireball",0.03); + soundscripts\_snd_playsound::snd_play_at("sfa_truck_explode_fireball",(5963,71936,469)); + wait(2); + soundscripts\_audio_mix_manager::mm_clear_submix("bridge_tanker_fireball",1); +} + +//Function Number: 80 +bridge_car_explode() +{ + var_00 = self; + var_01 = spawnstruct(); + var_01.pos = self.origin; + var_01.explo_shot_array_ = [["sfa_bridge_car_explode_01",0],["sfa_bridge_car_explode_02",0],["sfa_bridge_car_explode_03",0],["sfa_bridge_car_explode_04",0]]; + var_01.duck_alias_ = "exp_generic_explo_sub_kick"; + var_01.duck_dist_threshold_ = 1200; + var_01.explo_delay_chance_ = 0; + var_01.shake_dist_threshold_ = 1200; + soundscripts\_snd_common::snd_ambient_explosion(var_01); +} + +//Function Number: 81 +bridge_tanker_explode() +{ + soundscripts\_snd_playsound::snd_play_at("sfa_truck_explode_ignite",(5309,71939,541)); + level notify("aud_bridge_fire_clear"); + wait(1); + soundscripts\_audio_mix_manager::mm_add_submix("tanker_exp_brings_down_heli",0.03); + var_00 = spawnstruct(); + var_00.pos = (5309,71939,541); + var_00.explo_shot_array_ = [["sfa_truck_explode",0]]; + var_00.duck_alias_ = "exp_generic_explo_sub_kick"; + var_00.duck_dist_threshold_ = 1200; + var_00.explo_delay_chance_ = 0; + var_00.shake_dist_threshold_ = 1200; + soundscripts\_snd_common::snd_ambient_explosion(var_00); + wait(2); + soundscripts\_audio_mix_manager::mm_clear_submix("tanker_exp_brings_down_heli",1); +} + +//Function Number: 82 +aud_little_bird_hit() +{ + var_00 = self; + var_00 waittill("deathspin"); + var_01 = var_00 soundscripts\_snd_playsound::snd_play_linked("sfa_heli_goes_down"); + var_00 waittill("crash_done"); + if(isdefined(var_01)) + { + var_01 scalevolume(0,0.1); + } + + soundscripts\_audio_mix_manager::mm_add_submix("little_bird_crash",0.03); + var_02 = spawnstruct(); + var_02.pos = (5213,71359,573); + var_02.explo_shot_array_ = [["sfa_heli_explode",0]]; + var_02.duck_alias_ = "exp_generic_explo_sub_kick"; + var_02.duck_dist_threshold_ = 1200; + var_02.explo_debris_alias_ = "sfa_heli_explode_sm_debris"; + var_02.explo_delay_chance_ = 0; + var_02.shake_dist_threshold_ = 1200; + soundscripts\_snd_common::snd_ambient_explosion(var_02); + wait(1.5); + soundscripts\_audio_mix_manager::mm_clear_submix("little_bird_crash",2); +} + +//Function Number: 83 +approaching_standoff() +{ + soundscripts\_snd::snd_music_message("approaching_standoff"); +} + +//Function Number: 84 +pre_bridge_collapse_helo_idle() +{ + soundscripts\_snd_playsound::snd_play_loop_linked("sfa_littlebird_idle"); +} + +//Function Number: 85 +pre_bridge_collapse_scene(param_00) +{ + soundscripts\_snd::snd_music_message("pre_bridge_collapse_scene"); +} + +//Function Number: 86 +starting_bridge_collapse(param_00) +{ + soundscripts\_snd::snd_music_message("starting_bridge_collapse"); + level notify("stop_bridge_flares"); +} + +//Function Number: 87 +bridge_collapsed() +{ +} + +//Function Number: 88 +monitor_aud_median() +{ + if(!isdefined(level.aud.median_cross)) + { + level.aud.median_cross = 0; + } + + var_00 = getentarray("aud_median_0","targetname"); + var_01 = getentarray("aud_median_1","targetname"); + var_02 = getentarray("aud_median_2","targetname"); + level endon("flag_player_crashed"); + for(;;) + { + if(is_player_touching_median_trigger(var_00)) + { + level.aud.median_cross = 0; + } + else if(is_player_touching_median_trigger(var_01)) + { + level.aud.median_cross = 1; + } + else if(is_player_touching_median_trigger(var_02)) + { + level.aud.median_cross = 2; + } + + wait(0.05); + } +} + +//Function Number: 89 +is_player_touching_median_trigger(param_00) +{ + foreach(var_02 in param_00) + { + if(level.player istouching(var_02)) + { + return 1; + } + } + + return 0; +} + +//Function Number: 90 +panic_walla(param_00) +{ + var_01 = 0.5; + var_02 = 0.4; + var_03 = [[5,1],[33,0.5],[100,0.05]]; + var_04 = "sfa_walla_wave1"; + if(param_00 == "spawner_ambient_spawner_wave01") + { + var_04 = "sfa_walla_wave2"; + var_02 = 0.85; + } + + var_05 = soundscripts\_snd_playsound::snd_play_loop_2d(var_04,"stop_panic_walla",2,5,var_02); + while(level.aud.bridge_civs.size == 0) + { + wait 0.05; + } + + for(;;) + { + var_06 = level.aud.bridge_civs; + var_07 = 0; + var_08 = 0; + foreach(var_0A in var_06) + { + if(isdefined(var_0A)) + { + var_0B = distance2d(level.player.origin,var_0A.origin); + var_07 = var_07 + var_0B; + var_08 = var_08 + 1; + } + } + + if(var_08 > 0) + { + var_0D = var_07 / var_08; + var_0E = soundscripts\_audio_vehicle_manager::units2yards(var_0D); + var_0F = soundscripts\_snd::snd_map(var_0E,var_03); + var_05 scalevolume(var_02 * var_0F); + } + else + { + level notify("stop_panic_walla"); + break; + } + + wait(var_01); + } +} + +//Function Number: 91 +panic_walla_oneshots(param_00) +{ + param_00 endon("death"); + var_01 = param_00 soundscripts\_snd_common::snd_waittill_within_radius(540); + if(var_01) + { + if(isdefined(param_00)) + { + wait(randomfloat(3)); + param_00 soundscripts\_snd_playsound::snd_play_linked("sfa_civ_screams"); + } + } +} + +//Function Number: 92 +gg_start_bridge_collapse() +{ + soundscripts\_audio_mix_manager::mm_add_submix("sfa_drones_deploy",8); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_van_torch_rack",0.85); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_flying_drones",8.1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_shotdown_drones",15.5); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_clamp_drones",17.35); + wait(23); + soundscripts\_audio_mix_manager::mm_add_submix("sfa_bridge_collapse",4); + soundscripts\_audio_mix_manager::mm_clear_submix("sfa_drones_deploy",4); +} + +//Function Number: 93 +gg_drone_explosions() +{ + var_00 = self; +} + +//Function Number: 94 +gg_drone_cable_explosions() +{ + var_00 = self; + if(var_00.animname == "drone_4") + { + soundscripts\_snd_playsound::snd_play_2d("gg_bridge_drones_explode_01"); + soundscripts\_snd_playsound::snd_play_2d("gg_bridge_cable_snaps_01"); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_drones_explode_02",0.85,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_cable_snaps_02",1.7,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_cable_snaps_rear",2.1,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_cable_land",2.7,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_cable_impact",2.7,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_slomo_crack",3.25,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_slomo_bass_dive",3.5,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_slomo_flame",3.7,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_slomo_whoosh",5.85,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_windshield_impact",6.3,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_collapse_low_end",6.7,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_vo_move_get_off",7.55,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_windshield_fall_land",9.1,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_heli_incoming",9.15,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_heli_impact_01",11.35,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_heli_impact_02",11.45,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_heli_blades",11.55,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_metal_shift",13,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_vo_lookout",13.95,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_metal_creak_clank",14,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_vo_givingway",15.45,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_cable_snap_ricos",16,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_asphalt_cracks",16.85,1); + } +} + +//Function Number: 95 +gg_bridge_snap_explosion() +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_deck_snap_punch",0.05,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_drop_explo_punch",2.6,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_drop_explo",2.8,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_drop_explo_metal",2.85,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_collapse_metal",2.85,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_drop_explo_shot",2.9,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_collapse_rubble",2.75,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_vo_helpme",3.5,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_metal_groan",5,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_slide_explo",5.85,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_player_slide",6.15,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_vo_screams",6.45,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_edge_explo",7.6,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_edge_explo_punch",7.65,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_police_left_imp_far",9.2,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_police_right_imp_glass",12.55,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_npc_slide_foley",12.6,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_aftermath_grown",14.2,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_mus_earthshaker_hit_01",14.4,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_vo_fallguy_grunts",14.5,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_police_right_imp_far",14.65,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_police_right_fall_front",15.05,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_police_right_fall_dist",16.4,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_police_right_fall_imp",17.2,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_police_right_fall_imp_far",18.8,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_distant_firetruck_01",21.45,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_police_right_fall_explo",21.75,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_mus_earthshaker_hit_02",24.75,1); +} + +//Function Number: 96 +gg_start_bus_sliding() +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_vo_bus_guy",0,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_bus_impact_glass",0.1,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_bus_impact_far_01",2.4,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_bus_impact_far_02",2.95,1); +} + +//Function Number: 97 +gg_bus_explode_death() +{ + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_bus_explode",0.2,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_bus_explode_sub",0.4,1); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_mus_earthshaker_drone",0.65,1); + thread soundscripts\_audio_zone_manager::azm_start_zone("sf_a_ext_bridge_destroyed",0.5); + thread soundscripts\_audio_mix_manager::mm_clear_submix("sfa_bridge_collapse",0.5); + wait(0.05); + thread soundscripts\_audio_mix_manager::mm_add_submix("sfa_post_bridge_collapse",0.5); + thread soundscripts\_audio_mix_manager::mm_add_submix("sfa_bridge_collapse_to_zone",0.5); + thread soundscripts\_audio_mix_manager::mm_clear_submix("sfa_post_bridge_collapse",5); + wait(15); + soundscripts\_audio_mix_manager::mm_clear_submix("sfa_bridge_collapse_to_zone",5); +} + +//Function Number: 98 +e3_demo_fade_out() +{ + soundscripts\_audio_mix_manager::mm_add_submix("mute_all",3); +} + +//Function Number: 99 +e3_demo_fade_in() +{ + soundscripts\_audio_mix_manager::mm_add_submix("mute_all"); + wait(0.05); + soundscripts\_audio_mix_manager::mm_clear_submix("mute_all",2); +} + +//Function Number: 100 +level_start_fade_in() +{ + soundscripts\_audio_mix_manager::mm_add_submix("mute_all"); + wait(0.25); + soundscripts\_audio_mix_manager::mm_clear_submix("mute_all",5); +} + +//Function Number: 101 +setup_bigmoment_notetracks() +{ + if(level.currentgen && level.transient_zone != "bigm") + { + level waittill("tff_transition_outro_to_bigm"); + } + + maps\_anim::addnotetrack_customfunction("player_rig","slomo_start",::gg_slomo_start); + maps\_anim::addnotetrack_customfunction("player_rig","slomo_end",::gg_slomo_end); + maps\_anim::addnotetrack_customfunction("player_rig","vfx_player_hit_windshield",::gg_player_hit_windshield); + maps\_anim::addnotetrack_customfunction("bridge01","vfx_bridge_shake_left",::gg_bridge_shake_left); + maps\_anim::addnotetrack_customfunction("bridge01","vfx_bridge_shake_right",::gg_bridge_shake_right); + maps\_anim::addnotetrack_customfunction("Burke","boost_begin",::gg_boost_begin); + maps\_anim::addnotetrack_customfunction("Burke","boost_end",::gg_boost_end); +} + +//Function Number: 102 +gg_slomo_start(param_00) +{ +} + +//Function Number: 103 +gg_slomo_end(param_00) +{ +} + +//Function Number: 104 +gg_player_hit_windshield(param_00) +{ +} + +//Function Number: 105 +gg_bridge_shake_left(param_00) +{ +} + +//Function Number: 106 +gg_bridge_shake_right(param_00) +{ +} + +//Function Number: 107 +gg_boost_begin(param_00) +{ + if(!isdefined(level.aud.gg_brk_boost_begin)) + { + soundscripts\_snd_playsound::snd_play_2d("gg_bridge_brk_boost_jump_01"); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_brk_boost_land",1.9); + level.aud.gg_brk_boost_begin = 1; + } +} + +//Function Number: 108 +gg_boost_end(param_00) +{ + if(!isdefined(level.aud.gg_brk_boost_end)) + { + soundscripts\_snd_playsound::snd_play_2d("gg_bridge_distant_firetruck_02"); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_brk_boost_jump_foley",15.15); + soundscripts\_snd_playsound::snd_play_delayed_2d("gg_bridge_brk_boost_jump_02",16.45); + level.aud.gg_brk_boost_end = 1; + } +} + +//Function Number: 109 +setup_audio_zone_tunnel() +{ + soundscripts\_snd::snd_music_message("transition_to_tunnel"); + soundscripts\_snd_filters::snd_set_filter("sfa_vehicle_impacts",1); + soundscripts\_audio_zone_manager::azm_start_zone("sf_a_int_tunnel",1); +} + +//Function Number: 110 +setup_audio_zone_bridge_intact() +{ + wait(14); + if(level.currentgen && !istransientloaded("sanfran_outro_tr")) + { + level waittill("tff_transition_intro_to_outro"); + } + + soundscripts\_audio_zone_manager::azm_start_zone("sf_a_ext_bridge_intact",20); +} + +//Function Number: 111 +setup_gate_crash() +{ + var_00 = self; + var_01 = 30; + var_02 = 60; + var_03 = level.player_pitbull vehicle_getspeed(); + var_04 = distance2d(level.player.origin,level.player_pitbull.origin); + if(var_03 < var_01) + { + soundscripts\_snd_playsound::snd_play_2d("gate_crash_l_lfe"); + soundscripts\_snd_playsound::snd_play_2d("gate_crash_l_impact"); + if(var_04 < 800) + { + level.player soundscripts\_snd_playsound::snd_play_linked("gate_crash_l_debris"); + } + } + + if(var_03 > var_01 && var_03 < var_02) + { + soundscripts\_snd_playsound::snd_play_2d("gate_crash_m_lfe"); + soundscripts\_snd_playsound::snd_play_2d("gate_crash_m_impact"); + if(var_04 < 800) + { + level.player soundscripts\_snd_playsound::snd_play_linked("gate_crash_m_debris"); + } + } + + if(var_03 > var_02) + { + soundscripts\_snd_playsound::snd_play_2d("gate_crash_h_lfe"); + soundscripts\_snd_playsound::snd_play_2d("gate_crash_h_impact"); + if(var_04 < 800) + { + level.player soundscripts\_snd_playsound::snd_play_linked("gate_crash_h_debris"); + } + } +} + +//Function Number: 112 +point_source_dambs() +{ + if(level.currentgen && !istransientloaded("sanfran_outro_tr")) + { + level waittill("tff_transition_intro_to_outro"); + } + + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("sf_a_fire_bed",(5824,71978,443)); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("sf_a_fire_bed",(5780,72305,443)); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("sf_a_fire_flareups",(5778,72087,443)); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("sf_a_fire_flareups",(5843,72350,443)); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("sf_a_fire_flareups",(5727,71849,443)); + thread soundscripts\_snd_playsound::snd_play_amb_loop("emt_fire_roar_m_critical_01",(5780,72305,440),"aud_bridge_fire_clear",0.3); + thread soundscripts\_snd_playsound::snd_play_amb_loop("emt_fire_roar_m_critical_01",(5780,72305,440),"aud_bridge_fire_clear",0.3); + thread soundscripts\_snd_playsound::snd_play_amb_loop("emt_fire_roar_m_critical_01",(5780,72305,440),"aud_bridge_fire_clear",0.3); + thread bridge_fire_clear(); + thread soundscripts\_snd_playsound::snd_play_amb_loop("road_flare_lp",(-3385,71948,546),"stop_bridge_flares",0.3); + thread soundscripts\_snd_playsound::snd_play_amb_loop("road_flare_lp_tight",(-3528,71837,547),"stop_bridge_flares",0.3); + thread soundscripts\_snd_playsound::snd_play_amb_loop("road_flare_lp",(-3532,72197,547),"stop_bridge_flares",0.3); + thread soundscripts\_snd_playsound::snd_play_amb_loop("road_flare_lp_tight",(-3713,72401,584),"stop_bridge_flares",0.3); + thread soundscripts\_snd_playsound::snd_play_amb_loop("road_flare_lp",(-3816,72650,548),"stop_bridge_flares",0.3); + thread soundscripts\_snd_playsound::snd_play_amb_loop("road_flare_lp_tight",(-5230,72069,555),"stop_bridge_flares",0.3); +} + +//Function Number: 113 +bridge_fire_clear() +{ + level waittill("aud_bridge_fire_clear"); + soundscripts\_audio_dynamic_ambi::damb_stop_preset("sf_a_fire_bed",1); + soundscripts\_audio_dynamic_ambi::damb_stop_preset("sf_a_fire_flareups",1); +} + +//Function Number: 114 +sfa_generic_traffic_constructor() +{ + soundscripts\_audio_vehicle_manager::avm_begin_preset_def("sfa_generic_traffic",::generic_traffic_preset_instance_init_callback); + soundscripts\_audio_vehicle_manager::avm_begin_loop_data(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("gen_traffic_veh_noise_lp"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("relative_speed"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","noise_rel_speed_to_volume"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","noise_rel_speed_to_pitch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("distance"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","noise_distance_to_pitch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("doppler_subtle"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","doppler_to_pitch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_end_loop_data(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_data(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("veh_horn_commuter",undefined,3,0); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("doppler_subtle"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","doppler_to_pitch"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","env_full_vol"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avmx_set_oneshot_update_mode(1); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_data(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_data(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_cruzin",::condition_to_state_cruzin); + soundscripts\_audio_vehicle_manager::avm_add_loops("ALL"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_honking",::condition_to_state_state_honking,["speed","relative_speed","distance"]); + soundscripts\_audio_vehicle_manager::avm_add_loops("ALL"); + soundscripts\_audio_vehicle_manager::avm_add_oneshots("veh_horn_commuter"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_end_behavior_data(); + soundscripts\_audio_vehicle_manager::avm_begin_state_data(0.25,50); + soundscripts\_audio_vehicle_manager::avm_begin_state_group("main_group","state_cruzin","to_state_cruzin",50,1); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_cruzin",1,50); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_honking","to_state_honking"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_honking",3,100); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_cruzin","to_state_cruzin"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_end_state_group(); + soundscripts\_audio_vehicle_manager::avm_end_state_data(); + soundscripts\_audio_vehicle_manager::avm_add_envelope("env_full_vol",[[0,1],[1,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("noise_rel_speed_to_volume",[[0,0],[18,0.1],[36,0.2],[54,0.3],[72,0.5],[90,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("noise_rel_speed_to_pitch",[[0,0.8],[90,1.2]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("noise_distance_to_pitch",[[360,0.8],[792,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("doppler_to_pitch",[[0,0],[2,2]]); + soundscripts\_audio_vehicle_manager::avm_end_preset_def(); +} + +//Function Number: 115 +generic_traffic_preset_instance_init_callback(param_00) +{ + var_01 = self; + var_02 = var_01 soundscripts\_audio_vehicle_manager::avmx_get_vehicle_entity(); + param_00.g = spawnstruct(); + param_00.g.start_time = soundscripts\_snd::snd_get_secs(); + param_00.g.start_dist = soundscripts\_audio_vehicle_manager::dist2yards(distance(var_02.origin,level.player.origin)); +} + +//Function Number: 116 +condition_to_state_cruzin(param_00,param_01) +{ + return 1; +} + +//Function Number: 117 +condition_to_state_state_honking(param_00,param_01) +{ + if(!isdefined(param_01.honking)) + { + param_01.honking = spawnstruct(); + param_01.honking.prev_time = param_01.g.start_time; + param_01.honking.prev_dist = param_01.g.start_dist; + } + + var_02 = 0; + var_03 = length(level.player getvelocity() * 0.05681818); + var_04 = param_00["speed"]; + var_05 = param_00["relative_speed"]; + var_06 = soundscripts\_audio_vehicle_manager::dist2yards(param_00["distance"]); + var_07 = var_06 - param_01.honking.prev_dist < 0 && var_05 > 36; + if(isdefined(level.aud.median_crash)) + { + if(var_07 && level.aud.median_cross == 1 && var_06 < randomintrange(10,20)) + { + var_02 = soundscripts\_audio::aud_percent_chance(10); + } + else if(var_07 && level.aud.median_cross == 2 && var_06 < randomintrange(30,40)) + { + var_02 = 1; + } + else if(!var_07 && var_06 < 6) + { + var_02 = 1; + } + } + else if(!var_07 && var_06 < 6) + { + var_02 = 1; + } + + param_01.honking.prev_dist = var_06; + return var_02; +} + +//Function Number: 118 +civilian_compact_car_constructor() +{ + soundscripts\_audio_vehicle_manager::avm_begin_preset_def("civilian_compact_car",::civilian_compact_car_init); + var_00 = 0; + var_01 = 15; + var_02 = var_01 - var_00; + var_03 = 0; + var_04 = 1; + var_05 = var_04 - var_03; + soundscripts\_audio_vehicle_manager::avm_add_envelope("idle_speed_to_vol",[[var_00,var_04],[var_01,var_03]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("drive_speed_to_vol",[[var_00,var_03],[var_01,var_04]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("skid_speed_to_vol",[[0,0.5],[1,0.5]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("doppler_to_pch",[[0,0],[1,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("start_moving_duck_env",[[0,0.5],[0.9,0.5],[1.5,1]]); + soundscripts\_audio_vehicle_manager::avm_begin_loop_data(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("sfa_car_civ_us_cmpct_idle"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","idle_speed_to_vol"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("doppler_exaggerated"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","doppler_to_pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("sfa_car_civ_us_cmpct_drive_md"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","drive_speed_to_vol"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("doppler_exaggerated"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","doppler_to_pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_end_loop_data(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_data(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("sfa_car_civ_us_cmpct_accel_lw","start_moving_duck_env"); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("sfa_car_civ_us_cmpct_skid_sml"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","skid_speed_to_vol"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_data(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_data(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_moving",::condition_to_moving); + soundscripts\_audio_vehicle_manager::avm_add_loops("ALL"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_start_moving",::condition_to_start_moving,["speed"]); + soundscripts\_audio_vehicle_manager::avm_add_loops("ALL"); + soundscripts\_audio_vehicle_manager::avm_add_oneshots("sfa_car_civ_us_cmpct_accel_lw"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_stop_moving",::condition_to_stop_moving,["speed"]); + soundscripts\_audio_vehicle_manager::avm_add_loops("ALL"); + soundscripts\_audio_vehicle_manager::avm_add_oneshots("sfa_car_civ_us_cmpct_skid_sml"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_end_behavior_data(); + soundscripts\_audio_vehicle_manager::avm_begin_state_data(0.25,50); + soundscripts\_audio_vehicle_manager::avm_begin_state_group("main_group","moving","to_moving",50,1); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("moving",1,50); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("start_moving","to_start_moving"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("stop_moving","to_stop_moving"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("start_moving",1,60); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("moving","to_moving"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("stop_moving","to_stop_moving"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("stop_moving",1,60); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("moving","to_moving"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("start_moving","to_start_moving"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_end_state_group(); + soundscripts\_audio_vehicle_manager::avm_end_state_data(); + soundscripts\_audio_vehicle_manager::avm_end_preset_def(); +} + +//Function Number: 119 +civilian_compact_car_init(param_00) +{ + param_00.start_moving = spawnstruct(); + param_00.stop_moving = spawnstruct(); + param_00.start_moving.prev_speed = 0; + param_00.stop_moving.prev_speed = 0; +} + +//Function Number: 120 +condition_to_moving(param_00,param_01) +{ + return 1; +} + +//Function Number: 121 +condition_to_start_moving(param_00,param_01) +{ + var_02 = 0; + var_03 = param_00["speed"]; + if(param_01.start_moving.prev_speed < 3 && param_01.start_moving.prev_speed < var_03) + { + var_02 = 1; + } + + param_01.start_moving.prev_speed = var_03; + return var_02; +} + +//Function Number: 122 +condition_to_stop_moving(param_00,param_01) +{ + var_02 = 0; + var_03 = param_00["speed"]; + if(var_03 < 3 && var_03 < param_01.stop_moving.prev_speed) + { + var_02 = 1; + } + + param_01.stop_moving.prev_speed = var_03; + return var_02; +} + +//Function Number: 123 +player_pitbull_woosh_sounds() +{ +} + +//Function Number: 124 +canyon_whizby_sounds(param_00,param_01) +{ + foreach(var_03 in [-1,0,1]) + { + foreach(var_05 in [-1,1]) + { + thread canyon_whizby_sound(param_00,param_01,vectornormalize((var_03,var_05,0))); + } + } +} + +//Function Number: 125 +canyon_whizby_sound(param_00,param_01,param_02) +{ + var_03 = common_scripts\utility::spawn_tag_origin(); + var_03 playloopsound("sanfran_player_pitbull_reflection"); + var_04 = 1500; + var_05 = 0.1; + var_06 = 72; + var_07 = (0,0,48); + var_08 = 880; + var_09 = 0.4; + var_0A = var_04; + var_0B = param_01.origin; + while(isdefined(param_01) && isalive(param_00)) + { + var_0C = transformmove(param_01.origin,param_01.angles,(0,0,0),(0,0,0),var_07 + var_06 * param_02,(0,0,0))["origin"] + param_01 maps\_shg_utility::get_differentiated_velocity() * var_05; + var_0D = transformmove(var_0C,param_01.angles,(0,0,0),(0,0,0),param_02 * var_04,(0,0,0))["origin"]; + var_0E = bullettrace(var_0C,var_0D,0,param_01); + if(var_0E["fraction"] < 1) + { + var_03.origin = var_0E["position"]; + } + + var_0F = soundscripts\_audio_vehicle_manager::avm_compute_doppler_pitch(var_03.origin,(0,0,0),param_00.origin,param_00 maps\_shg_utility::get_differentiated_velocity(),1,1); + var_10 = var_09 * clamp(squared(maps\_shg_utility::get_differentiated_speed() / var_08),0,1); + var_03 scalepitch(var_0F,0.05); + var_03 setvolume(var_10,0.05); + wait 0.05; + } + + var_03 delete(); +} \ No newline at end of file diff --git a/AW/PC/maps/sanfran_b.gsc b/AW/PC/maps/sanfran_b.gsc new file mode 100644 index 0000000..7084fa8 --- /dev/null +++ b/AW/PC/maps/sanfran_b.gsc @@ -0,0 +1,702 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: sanfran_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 22 + * Decompile Time: 325 ms + * Timestamp: 4/22/2024 2:35:13 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + maps\_utility::template_level("sanfran_b"); + maps\_utility::set_console_status(); + precachestring(&"sanfran_b_videolog"); + precachestring(&"SANFRAN_B_OBJ_PLANT_JAMMERS"); + precachestring(&"SANFRAN_B_OBJ_JAMMER"); + precachestring(&"SANFRAN_B_OBJ_SECURE_DECK"); + precachestring(&"SANFRAN_B_OBJ_DECK_TARGETS"); + precachestring(&"SANFRAN_B_OBJ_BRIDGE"); + precachestring(&"SANFRAN_B_OBJ_CONSOLE"); + precachestring(&"SANFRAN_B_OBJ_LASER"); + precachestring(&"SANFRAN_B_DEACTIVATE_JAMMER"); + precachestring(&"SANFRAN_B_OBJ_DESTROY"); + precachestring(&"SANFRAN_B_SONAR_HINT"); + precachestring(&"SANFRAN_B_CONSOLE_HINT"); + precachestring(&"SANFRAN_B_LASER_HINT"); + precachestring(&"SANFRAN_B_ALIGN_HINT"); + precachestring(&"railgun_hud_update"); + precacheitem("iw5_m160_sp_deam160_variablereddot"); + precacheitem("iw5_m160cqb_sp_cqbreddot"); + precacheitem("iw5_hbra3_sp"); + precacheitem("mob_missile"); + precacheitem("rpg_player"); + precacheitem("mob_turret_missile"); + precacheitem("cargo_ship_missile"); + precacheitem("cargo_ship_missile_railgun"); + precacheitem("iw5_maul_sp"); + precacheturret("warbird_turret"); + precacheturret("cargoship_turret"); + precachemodel("worldhands_player_sentinel"); + precachemodel("viewbody_sentinel"); + precachemodel("civ_domestic_mini_dstrypv"); + precachemodel("vehicle_civ_pickup_truck_01_wrecked"); + precachemodel("vm_jamming_device"); + precachemodel("vm_jamming_device_obj"); + precachemodel("vehicle_mobile_cover"); + precachemodel("vehicle_mobile_cover_dstrypv"); + precachemodel("mob_mess_hall_table_broken"); + precachemodel("mob_door_interior_rigged"); + precachemodel("mob_bridge_console_04b"); + precachemodel("mob_bridge_console_04b_obj"); + precachemodel("mob_bridge_console_04a_obj"); + precachemodel("vehicle_airplane_shrike_static_prkd"); + precachemodel("mob_door_interior_mirrored"); + precachemodel("vehicle_atlas_cargo_container_dmg_k"); + precachemodel("vehicle_mob_deck_large_calibur_turret_vm"); + precacheshader("reticle_center_cross"); + precacheshader("overlay_static_digital"); + precacherumble("heavy_1s"); + precacherumble("heavy_2s"); + precacherumble("heavy_3s"); + precacherumble("light_1s"); + precacherumble("artillery_rumble"); + precacherumble("damage_heavy"); + precacherumble("damage_light"); + precacherumble("steady_rumble"); + level.cosine = []; + level.cosine["45"] = cos(45); + precachesonarvisioncodeassets(); + if(level.currentgen) + { + setsaveddvar("r_gunSightColorEntityScale","0.95"); + setsaveddvar("r_gunSightColorNoneScale","0.95"); + maps\_utility::tff_sync_setup(); + } + + setsaveddvar("high_jump_double_tap","1"); + common_scripts\utility::flag_init("flag_obj_marker_enter_ship"); + common_scripts\utility::flag_init("show_enter_ship_obj_marker"); + common_scripts\utility::flag_init("deck_reinforcement_1"); + common_scripts\utility::flag_init("deck_reinforcement_2"); + common_scripts\utility::flag_init("deck_reinforcement_3"); + common_scripts\utility::flag_init("obj_track_enemies"); + common_scripts\utility::flag_init("obj_secure_deck_complete"); + common_scripts\utility::flag_init("flag_bridge"); + common_scripts\utility::flag_init("flag_obj_leave_cafeteria"); + common_scripts\utility::flag_init("flag_obj_enter_hanger"); + common_scripts\utility::flag_init("flag_obj_leave_hanger"); + common_scripts\utility::flag_init("obj_bridge_start"); + common_scripts\utility::flag_init("obj_bridge"); + common_scripts\utility::flag_init("obj_bridge_complete"); + common_scripts\utility::flag_init("obj_console"); + common_scripts\utility::flag_init("obj_laser"); + common_scripts\utility::flag_init("intro_radio_vo"); + common_scripts\utility::flag_init("intro_dialogue"); + common_scripts\utility::flag_init("intro_anim_finished"); + common_scripts\utility::flag_init("obj_track_jammers"); + common_scripts\utility::flag_init("boost_incoming_vo"); + common_scripts\utility::flag_init("planting_jammer_1"); + common_scripts\utility::flag_init("planting_jammer_2"); + common_scripts\utility::flag_init("jammer_1_deactivated"); + common_scripts\utility::flag_init("deck_warbird_vo"); + common_scripts\utility::flag_init("jammer_2_vo"); + common_scripts\utility::flag_init("jammer_2_deactivated"); + common_scripts\utility::flag_init("jammer_3_deactivated"); + common_scripts\utility::flag_init("all_jammers_deactivated"); + common_scripts\utility::flag_init("flag_move_gideon_into_interior"); + common_scripts\utility::flag_init("enemy_warbird_1"); + common_scripts\utility::flag_init("deck_warbird_3_unloaded"); + common_scripts\utility::flag_init("deck_warbird_4_unloaded"); + common_scripts\utility::flag_init("all_deck_warbirds_deployed"); + common_scripts\utility::flag_init("flag_cleanup_deck_drones"); + common_scripts\utility::flag_init("rail_guns_secure_vo"); + common_scripts\utility::flag_init("boosters_off_vo"); + common_scripts\utility::flag_init("boosters_off_anim_started"); + common_scripts\utility::flag_init("boosters_off_anim_finished"); + common_scripts\utility::flag_init("exo_takedown_started"); + common_scripts\utility::flag_init("flag_allow_night_vision_hint"); + common_scripts\utility::flag_init("player_exit_cafeteria"); + common_scripts\utility::flag_init("hangar_fastzip_1"); + common_scripts\utility::flag_init("hangar_fastzip_2"); + common_scripts\utility::flag_init("hangar_reinforcements"); + common_scripts\utility::flag_init("ast_vo"); + common_scripts\utility::flag_init("through_door_vo"); + common_scripts\utility::flag_init("pulloff_anim_started"); + common_scripts\utility::flag_init("cormack_on_console"); + common_scripts\utility::flag_init("target_vo"); + common_scripts\utility::flag_init("player_using_mob_turret"); + common_scripts\utility::flag_init("player_on_turret_1"); + common_scripts\utility::flag_init("player_switching_to_turret_2"); + common_scripts\utility::flag_init("player_on_turret_2"); + common_scripts\utility::flag_init("first_cargo_ship_damaged"); + common_scripts\utility::flag_init("second_cargo_ship_damaged"); + common_scripts\utility::flag_init("first_cargo_ship_destroyed"); + common_scripts\utility::flag_init("second_cargo_ship_destroyed"); + common_scripts\utility::flag_init("cargo_ship_destroyed"); + common_scripts\utility::flag_init("switching_cargo_ships"); + common_scripts\utility::flag_init("laser_targets_destroyed"); + common_scripts\utility::flag_init("outro_dialogue_finished"); + common_scripts\utility::flag_init("RemoveCormack"); + common_scripts\utility::flag_init("sonar_threat_detection_off"); + common_scripts\utility::flag_init("useyourboosters_vo"); + common_scripts\utility::flag_init("flag_end_sonar_vision"); + forcesharedammo(); + maps\_utility::add_start("deck",::start_deck,"",::armada_intro_screen); + maps\_utility::add_start("interior",::start_interior,"",::interior); + maps\_utility::add_start("hangar",::start_hangar,"",::hangar); + maps\_utility::add_start("information_center",::start_information_center,"",::information_center); + maps\_utility::add_start("rail_gun",::start_bridge,"",::bridge); + maps\_utility::add_start("demo_with_itiot",::start_demo_with_itiot,"",undefined); + if(level.currentgen) + { + var_00 = ["sanfran_b_intro_tr"]; + maps\_utility::set_start_transients("deck",var_00); + maps\_utility::set_start_transients("interior",var_00); + var_00[0] = "sanfran_b_outro_tr"; + maps\_utility::set_start_transients("hangar",var_00); + maps\_utility::set_start_transients("information_center",var_00); + var_00[1] = "sanfran_b_intro_tr"; + maps\_utility::set_start_transients("rail_gun",var_00); + var_00 = ["sanfran_b_intro_tr"]; + maps\_utility::set_start_transients("demo_with_itiot",var_00); + } + + maps\createart\sanfran_b_art::main(); + maps\sanfran_b_fx::main(); + maps\sanfran_b_precache::main(); + maps\_load::main(); + thread maps\_player_exo::main("assault",1); + maps\sanfran_b_anim::main(); + level.player setviewmodel("viewhands_player_sentinel"); + thread maps\sanfran_b_lighting::main(); + maps\sanfran_b_aud::main(); + maps\_player_high_jump::main(); + maps\sanfran_b_laser::main(); + maps\sanfran_b_sonar_vision::main(); + maps\sanfran_b_vo::main(); + maps\sanfran_b_util::init_bobbing_boats(); + maps\_microdronelauncher::init(); + maps\_drone_ai::init(); + maps\_drone_civilian::init(); + maps\_microwave_grenade::main(); + animscripts\traverse\boost::precache_boost_fx_npc(); + maps\_utility::add_hint_string("hint_use_sonar",&"SANFRAN_B_SONAR_HINT",::maps\sanfran_b_code::should_end_sonar_hint); + maps\_utility::add_hint_string("hint_use_laser",&"SANFRAN_B_LASER_HINT",::maps\sanfran_b_code::should_end_laser_hint); + maps\_utility::add_hint_string("hint_align_laser",&"SANFRAN_B_ALIGN_HINT",::maps\sanfran_b_code::should_end_align_hint); + setup(); + setup_portal_scripting(); + common_scripts\utility::run_thread_on_targetname("fail_jumped_off_boat",::maps\sanfran_b_util::fall_fail); + setsaveddvar("bg_fallDamageMinHeight",490); + setsaveddvar("bg_fallDamageMaxHeight",640); + var_01 = getdvarint("demo_itiot",0); + if(var_01) + { + soundscripts\_snd::snd_message("e3_demo_fade_in"); + level.player.auxillary_hud = newclienthudelem(level.player); + level.player.auxillary_hud setshader("black",1280,720); + level.player.auxillary_hud.horzalign = "fullscreen"; + level.player.auxillary_hud.vertalign = "fullscreen"; + level.player.auxillary_hud.alpha = 1; + level.player.auxillary_hud fadeovertime(0.5); + level.player.auxillary_hud.alpha = 0; + level.player.auxillary_hud.foreground = 1; + setsaveddvar("objectiveHide","0"); + } +} + +//Function Number: 2 +armada_intro_screen() +{ + if(!isdefined(level.start_point) || level.start_point == "deck") + { + level.player disableweapons(); + level.player freezecontrols(1); + thread maps\_shg_utility::play_chyron_video("chyron_text_sanfran_b",1,1); + common_scripts\utility::flag_wait("chyron_video_done"); + thread deck(); + return; + } + + thread maps\_introscreen::introscreen_generic_black_fade_in(2,2); +} + +//Function Number: 3 +start_deck() +{ + soundscripts\_snd::snd_message("start_deck"); + if(level.nextgen) + { + level.player lightsetforplayer("sanfran_b_intro"); + level.player setclutforplayer("clut_sanfran_b_fire",0); + thread maps\_utility::vision_set_changes("sfb_neutral",0); + thread maps\_utility::fog_set_changes("sanfran_b_exterior_dark_fog",0); + return; + } + + level.player lightsetforplayer("sanfran_b_intro"); + maps\_utility::vision_set_fog_changes("sanfran_b_exterior_dark_fog",0); +} + +//Function Number: 4 +deck() +{ + maps\_utility::battlechatter_off("allies"); + maps\_utility::battlechatter_off("axis"); + common_scripts\utility::flag_set("player_can_boost_jump"); + maps\sanfran_b_code::spawn_allies(); + thread maps\sanfran_b_code::tilt_boat(0); + thread maps\sanfran_b_util::hide_navy_boats(); + thread maps\sanfran_b_code::intro_scene(); + thread maps\sanfran_b_code::initial_combat(); + thread maps\sanfran_b_code::move_initial_enemies(); + if(level.nextgen) + { + thread maps\sanfran_b_code::shrike_takeoff(); + } + else + { + thread maps\sanfran_b_code::shrike_takeoff_cg(); + } + + if(level.nextgen) + { + thread maps\sanfran_b_code::ambient_deck(); + } + + thread maps\sanfran_b_code::cargo_ship_missiles(); + thread maps\sanfran_b_code::shrike_flyby(); + thread maps\sanfran_b_obj::obj_secure_deck(); + thread maps\sanfran_b_obj::obj_bridge_start(); + thread maps\sanfran_b_code::manage_deck_combat(); + thread maps\sanfran_b_code::mob_enter_player_clip(); + thread maps\sanfran_b_code::close_interior_door(); + thread maps\sanfran_b_code::boosters_off_anim(0); + thread maps\sanfran_b_util::setup_corpses(1); + thread maps\sanfran_b_fx::vfx_heli_drop_off_intro_on(); + common_scripts\utility::flag_set("intro_radio_vo"); + if(level.nextgen) + { + setsaveddvar("r_fog_ev_adjust",0.5); + } + + level.player lightsetforplayer("sanfran_b_intro"); + if(level.currentgen) + { + maps\_utility::vision_set_fog_changes("sanfran_b_exterior_dark_fog",0); + } + + if(level.nextgen) + { + level.player setclutforplayer("clut_sanfran_b_fire",0); + thread maps\_utility::vision_set_changes("sfb_neutral",0); + thread maps\_utility::fog_set_changes("sanfran_b_exterior_dark_fog",0); + } +} + +//Function Number: 5 +sanfran_b_dim() +{ + level.player lightsetforplayer("sanfran_b_interior"); +} + +//Function Number: 6 +start_interior() +{ + soundscripts\_snd::snd_message("start_interior"); + maps\sanfran_b_code::spawn_allies(); + if(level.currentgen) + { + maps\_utility::vision_set_fog_changes("sanfran_b_interior",0); + } + else + { + thread maps\_utility::vision_set_changes("sfb_neutral",0); + thread maps\_utility::fog_set_changes("sanfran_b_interior",0); + level.player setclutforplayer("",0); + } + + if(level.nextgen) + { + thread maps\sanfran_b_lighting::interior_dof_blend(); + } + + level.player lightsetforplayer("sanfran_b_dim"); + maps\_utility::delaythread(8,::sanfran_b_dim); + common_scripts\utility::flag_set("intro_anim_finished"); + common_scripts\utility::flag_set("flag_move_gideon_into_interior"); + common_scripts\utility::flag_set("flag_player_entered_interior"); + common_scripts\utility::flag_set("player_can_boost_jump"); + thread maps\sanfran_b_code::tilt_boat(1); + maps\sanfran_b_util::teleport_to_scriptstruct("org_start_interior"); + objective_add(maps\_utility::obj("obj_plant_jammers"),"current",&"SANFRAN_B_OBJ_PLANT_JAMMERS"); + maps\_utility::objective_complete(maps\_utility::obj("obj_plant_jammers")); + objective_add(maps\_utility::obj("obj_bridge"),"current",&"SANFRAN_B_OBJ_BRIDGE"); + common_scripts\utility::flag_set("obj_bridge"); + common_scripts\utility::flag_set("flag_obj_marker_enter_ship"); + thread maps\sanfran_b_obj::obj_secure_deck(); + thread maps\sanfran_b_code::close_interior_door(); + thread maps\sanfran_b_code::mob_enter_player_clip(); + thread maps\sanfran_b_code::boosters_off_anim(1); + thread maps\sanfran_b_code::slow_player_inside(); +} + +//Function Number: 7 +interior() +{ + common_scripts\utility::flag_wait("flag_player_entered_interior"); + common_scripts\utility::flag_set("boosters_off_vo"); + if(level.nextgen) + { + thread maps\sanfran_b_lighting::play_flickering_interior_light(); + } + + setsaveddvar("sm_sunSampleSizeNear",0.1); + if(getdvar("player_cqb") == "1") + { + thread maps\sanfran_b_code::cqb_test(); + } + + thread maps\sanfran_b_util::setup_corpses(); + thread maps\sanfran_b_code::open_door_anim(); + thread maps\sanfran_b_code::exo_takedown(); + thread maps\sanfran_b_code::interior_shake_1(); + thread maps\sanfran_b_code::handle_sonar_hint(); + thread maps\sanfran_b_code::table_pulldown(); + thread maps\sanfran_b_code::cafeteria_reinforcements(); + thread maps\sanfran_b_obj::obj_bridge(); + thread maps\sanfran_b_code::move_to_hangar(); + thread maps\sanfran_b_code::hand_signal_to_hangar(); + thread maps\sanfran_b_code::end_squad_cqb(); + maps\sanfran_b_code::give_night_vision(); + setsaveddvar("r_fog_ev_adjust",1.5); +} + +//Function Number: 8 +start_hangar() +{ + soundscripts\_snd::snd_message("start_hangar"); + maps\sanfran_b_code::spawn_allies(); + if(level.currentgen) + { + maps\_utility::vision_set_fog_changes("sanfran_b_interior_dark",0); + } + else + { + level.player setclutforplayer("",0); + thread maps\_utility::vision_set_changes("sfb_neutral",0); + thread maps\_utility::fog_set_changes("sanfran_b_interior_dark",0); + } + + level.player lightsetforplayer("sanfran_b_darker"); + common_scripts\utility::flag_set("flag_player_entered_interior"); + common_scripts\utility::flag_set("intro_anim_finished"); + thread maps\sanfran_b_code::tilt_boat(1); + level.burke maps\_utility::enable_cqbwalk(); + level.cormack maps\_utility::enable_cqbwalk(); + level.maddox maps\_utility::enable_cqbwalk(); + maps\sanfran_b_util::teleport_to_scriptstruct("org_start_hangar"); + maps\_utility::activate_trigger("trig_interior_vo_2","targetname"); + maps\sanfran_b_code::give_night_vision(); + common_scripts\utility::flag_set("player_exit_cafeteria"); + objective_add(maps\_utility::obj("obj_plant_jammers"),"current",&"SANFRAN_B_OBJ_PLANT_JAMMERS"); + maps\_utility::objective_complete(maps\_utility::obj("obj_plant_jammers")); + objective_add(maps\_utility::obj("obj_bridge"),"current",&"SANFRAN_B_OBJ_BRIDGE"); + common_scripts\utility::flag_set("obj_bridge"); + common_scripts\utility::flag_set("flag_obj_marker_enter_ship"); + thread maps\sanfran_b_util::setup_corpses(); + thread maps\sanfran_b_obj::obj_secure_deck(); + thread maps\sanfran_b_obj::obj_bridge(); + common_scripts\utility::flag_set("sonar_threat_detection_off"); + soundscripts\_snd::snd_message("enter_ship"); + thread maps\sanfran_b_code::close_interior_door(); + thread maps\sanfran_b_code::move_to_hangar(); + thread maps\sanfran_b_code::hand_signal_to_hangar(); + wait(0.5); + maps\_utility::activate_trigger_with_targetname("trigger_move_allies_into_cafeteria"); + wait(0.5); + maps\_utility::activate_trigger("trig_interior_vo_2","targetname"); + level.player maps\_player_high_jump::disable_high_jump(); +} + +//Function Number: 9 +hangar() +{ + common_scripts\utility::flag_wait("player_exit_cafeteria"); + thread maps\sanfran_b_lighting::play_flickering_hanger_light(); + thread maps\sanfran_b_lighting::stop_flickering_interior_light(); + thread maps\sanfran_b_util::show_navy_boats(); + common_scripts\utility::flag_set("sonar_threat_detection_off"); + thread maps\sanfran_b_code::boat_rocking_hangar(); + thread maps\sanfran_b_code::boat_rocking_jet_moment(); + thread maps\sanfran_b_code::ambient_hangar(); + thread maps\sanfran_b_code::initial_hangar_setup(); + thread maps\sanfran_b_code::hangar_combat(); + thread maps\sanfran_b_code::hangar_combat_reinforcements(); + thread maps\sanfran_b_code::hangar_exit_door(); + thread maps\sanfran_b_code::hand_signal_after_hangar(); + thread maps\sanfran_b_code::sf_b_videolog(); + thread maps\sanfran_b_code::ambient_combat(); + thread maps\sanfran_b_code::door_takedown_door(); + thread maps\sanfran_b_lighting::flip_spot_light(); + setsaveddvar("r_fog_ev_adjust",1.5); +} + +//Function Number: 10 +start_information_center() +{ + soundscripts\_snd::snd_message("start_information_center"); + maps\sanfran_b_code::spawn_allies(); + if(level.currentgen) + { + maps\_utility::vision_set_fog_changes("sanfran_b_hanger_top",0); + } + else + { + level.player setclutforplayer("",0); + thread maps\_utility::vision_set_changes("sfb_neutral",0); + thread maps\_utility::fog_set_changes("sanfran_b_hanger_top",0); + } + + common_scripts\utility::flag_set("flag_player_entered_interior"); + common_scripts\utility::flag_set("intro_anim_finished"); + maps\sanfran_b_util::teleport_to_scriptstruct("org_start_information_center"); + thread maps\sanfran_b_code::tilt_boat(1); + maps\sanfran_b_code::give_night_vision(); + objective_add(maps\_utility::obj("obj_plant_jammers"),"current",&"SANFRAN_B_OBJ_PLANT_JAMMERS"); + maps\_utility::objective_complete(maps\_utility::obj("obj_plant_jammers")); + objective_add(maps\_utility::obj("obj_bridge"),"current",&"SANFRAN_B_OBJ_BRIDGE"); + common_scripts\utility::flag_set("obj_bridge"); + common_scripts\utility::flag_set("flag_obj_marker_enter_ship"); + common_scripts\utility::flag_set("flag_obj_leave_cafeteria"); + common_scripts\utility::flag_set("obj_marker_follow_cormack_to_hanger"); + common_scripts\utility::flag_set("flag_obj_enter_hanger"); + common_scripts\utility::flag_set("flag_obj_leave_hanger"); + thread maps\sanfran_b_util::setup_corpses(); + thread maps\sanfran_b_code::door_takedown_door(); + thread maps\sanfran_b_obj::obj_secure_deck(); + thread maps\sanfran_b_obj::obj_bridge(); + common_scripts\utility::flag_set("flag_information_center"); + common_scripts\utility::flag_set("flag_door_takedown_cormack_ahead"); + common_scripts\utility::flag_set("flag_door_takedown"); + common_scripts\utility::flag_set("sonar_threat_detection_off"); + level.player maps\_player_high_jump::disable_high_jump(); +} + +//Function Number: 11 +information_center() +{ + common_scripts\utility::flag_wait("flag_information_center"); + thread maps\sanfran_b_lighting::play_flickering_info_light(); + thread maps\sanfran_b_lighting::fire_inside_02_manage(); + maps\_utility::autosave_by_name(); + thread maps\sanfran_b_code::door_takedown(); + thread maps\sanfran_b_code::player_entering_server_room(); + thread maps\sanfran_b_code::sonar_hint_2(); + thread maps\sanfran_b_code::information_center_combat(); + thread maps\sanfran_b_lighting::flip_spot_light(); + thread maps\sanfran_b_obj::enable_cormack_follow(); + thread maps\sanfran_b_lighting::sundark_call(); + level.player lightsetforplayer("sanfran_b"); +} + +//Function Number: 12 +start_bridge() +{ + soundscripts\_snd::snd_message("start_bridge"); + maps\sanfran_b_code::spawn_allies(); + if(level.currentgen) + { + maps\_utility::vision_set_fog_changes("sanfran_b_interior_dark",0); + } + else + { + level.player setclutforplayer("",0); + thread maps\_utility::vision_set_changes("sfb_neutral",0); + thread maps\_utility::fog_set_changes("sanfran_b_interior_dark",0); + } + + level.player lightsetforplayer("sanfran_b_darker"); + thread maps\sanfran_b_fx::setup_window_explosion_wait(); + thread maps\sanfran_b_lighting::play_flickering_info_light(); + common_scripts\utility::flag_set("flag_player_entered_interior"); + common_scripts\utility::flag_set("intro_anim_finished"); + level.burke maps\_utility::disable_cqbwalk(); + level.cormack maps\_utility::disable_cqbwalk(); + level.maddox maps\_utility::disable_cqbwalk(); + maps\sanfran_b_util::teleport_to_scriptstruct("org_start_bridge"); + thread maps\sanfran_b_code::tilt_boat(1); + common_scripts\utility::flag_set("flag_bridge"); + objective_add(maps\_utility::obj("obj_plant_jammers"),"current",&"SANFRAN_B_OBJ_PLANT_JAMMERS"); + maps\_utility::objective_complete(maps\_utility::obj("obj_plant_jammers")); + objective_add(maps\_utility::obj("obj_bridge"),"current",&"SANFRAN_B_OBJ_BRIDGE"); + common_scripts\utility::flag_set("obj_bridge"); + common_scripts\utility::flag_set("flag_obj_marker_enter_ship"); + common_scripts\utility::flag_set("flag_obj_leave_cafeteria"); + common_scripts\utility::flag_set("obj_marker_follow_cormack_to_hanger"); + common_scripts\utility::flag_set("flag_obj_enter_hanger"); + common_scripts\utility::flag_set("flag_obj_leave_hanger"); + common_scripts\utility::flag_set("obj_bridge_complete"); + thread maps\sanfran_b_obj::obj_secure_deck(); + thread maps\sanfran_b_util::setup_corpses(); + thread maps\sanfran_b_obj::obj_bridge(); + soundscripts\_snd::snd_message("enter_server_room"); + maps\sanfran_b_code::give_night_vision(); + level.player maps\_player_high_jump::disable_high_jump(); +} + +//Function Number: 13 +bridge() +{ + common_scripts\utility::flag_wait("flag_bridge"); + common_scripts\utility::flag_set("sonar_threat_detection_off"); + thread maps\sanfran_b_lighting::play_flickering_bridge_light(); + thread maps\sanfran_b_fx::setup_window_explosion_wait(); + thread common_scripts\_exploder::exploder(7013); + thread common_scripts\_exploder::exploder(7014); + thread common_scripts\_exploder::exploder(7015); + thread common_scripts\_exploder::exploder(7016); + thread common_scripts\_exploder::exploder(7017); + thread common_scripts\_exploder::exploder(7018); + thread common_scripts\_exploder::exploder(7019); + thread common_scripts\_exploder::exploder(7020); + thread maps\sanfran_b_code::move_squad_to_bridge(); + thread maps\sanfran_b_code::console_guy(); + thread maps\sanfran_b_code::delete_specific_navy_ships(); + thread maps\sanfran_b_code::control_room_anims(); + thread maps\sanfran_b_code::handle_mob_turret(); + thread maps\sanfran_b_obj::obj_console(); + thread maps\sanfran_b_obj::obj_laser(); + thread maps\sanfran_b_code::setup_mob_turret_targets(); + thread maps\sanfran_b_code::cargo_ship_fights_back(); + var_00 = getent("trig_use_console","targetname"); + var_00 common_scripts\utility::trigger_off(); + setsaveddvar("r_fog_ev_adjust",1.5); +} + +//Function Number: 14 +start_demo_with_itiot() +{ + thread itiot_logic("DestroyCineCopter","rail_gun"); + start_deck(); + deck(); + interior(); + hangar(); + information_center(); + bridge(); +} + +//Function Number: 15 +setup() +{ + setdvarifuninitialized("player_cqb",0); + setup_player(); + spawn_functions(); + setup_threat_bias_groups(); +} + +//Function Number: 16 +setup_player() +{ + maps\_variable_grenade::main(); + level.player thread maps\sanfran_b_util::dynamic_boost_jump(); + thread refill_starting_weapons(); +} + +//Function Number: 17 +refill_starting_weapons() +{ + if(!isdefined(level.start_point) || level.start_point == "deck") + { + var_00 = level.player getweaponslistall(); + foreach(var_02 in var_00) + { + level.player givestartammo(var_02); + } + } +} + +//Function Number: 18 +spawn_functions() +{ + maps\_utility::add_global_spawn_function("axis",::maps\sanfran_b_code::enable_jump_jet_pathing); + maps\_utility::add_global_spawn_function("axis",::maps\_variable_grenade::handle_detection); + maps\_utility::add_global_spawn_function("axis",::maps\sanfran_b_util::add_to_threat_bias,"axis"); + maps\_utility::add_global_spawn_function("axis",::maps\sanfran_b_code::handle_enemy_when_player_is_in_cqb); + maps\_utility::add_global_spawn_function("axis",::maps\sanfran_b_code::enable_my_thermal); + maps\_utility::add_global_spawn_function("allies",::maps\sanfran_b_code::enable_jump_jet_pathing); + maps\_utility::add_global_spawn_function("allies",::maps\sanfran_b_util::add_to_threat_bias,"allies"); + maps\_utility::add_global_spawn_function("allies",::maps\sanfran_b_code::disable_ir_in_nightvision); + maps\_utility::add_global_spawn_function("allies",::maps\sanfran_b_code::disable_my_thermal); + maps\_utility::array_spawn_function_targetname("deck_reinforcement_ally",::maps\sanfran_b_code::deck_reinforcement_ally_think); + maps\_utility::array_spawn_function_noteworthy("navy_deck_guys_initial",::maps\sanfran_b_code::initial_deck_guys_invuln); + maps\_utility::array_spawn_function_noteworthy("enemy_deck_guys_initial",::maps\sanfran_b_code::initial_deck_guys_invuln); + maps\_utility::array_spawn_function_noteworthy("server_room_guys",::maps\sanfran_b_code::server_room_lasers); + maps\_utility::array_spawn_function_noteworthy("bridge_drones",::maps\sanfran_b_code::track_bridge_drone_deaths); + maps\_utility::array_spawn_function_noteworthy("rpg_vehicle",::maps\sanfran_b_util::postspawn_rpg_vehicle); + maps\_utility::array_spawn_function_noteworthy("reinforcement_left_guys",::maps\sanfran_b_util::equip_microwave_grenade); + maps\_utility::array_spawn_function_noteworthy("reinforcement_back_guys",::maps\sanfran_b_util::equip_microwave_grenade); + maps\_utility::array_spawn_function_noteworthy("initial_hangar_enemies",::maps\sanfran_b_util::equip_microwave_grenade); + maps\_utility::array_spawn_function_noteworthy("fastzip_enemies",::maps\sanfran_b_util::equip_microwave_grenade); + maps\_utility::array_spawn_function_noteworthy("hangar_enemy_reinforcements_1",::maps\sanfran_b_util::hanger_reinforcements_think); + maps\_utility::array_spawn_function_targetname("deck_combat_first_wave_guys",::maps\sanfran_b_util::equip_microwave_grenade); +} + +//Function Number: 19 +setup_threat_bias_groups() +{ + createthreatbiasgroup("player"); + level.player setthreatbiasgroup("player"); +} + +//Function Number: 20 +setup_portal_scripting() +{ + thread handle_sfb_portal_groups_toggle("portal_grp_bridge","toggle_bridge_portal"); + thread handle_sfb_portal_groups_toggle("portal_grp_info_center","toggle_info_center_portal"); +} + +//Function Number: 21 +handle_sfb_portal_groups_toggle(param_00,param_01) +{ + level.player endon("death"); + level endon("missionfailed"); + var_02 = getentarray(param_00,"targetname"); + var_02[0] enableportalgroup(1); + for(;;) + { + common_scripts\utility::flag_wait(param_01); + var_02[0] enableportalgroup(0); + common_scripts\utility::flag_waitopen(param_01); + var_02[0] enableportalgroup(1); + } +} + +//Function Number: 22 +itiot_logic(param_00,param_01) +{ + common_scripts\utility::flag_wait(param_00); + setdvar("demo_itiot","1"); + soundscripts\_snd::snd_message("e3_demo_fade_out"); + level.player.auxillary_hud = newclienthudelem(level.player); + level.player.auxillary_hud setshader("black",1280,720); + level.player.auxillary_hud.horzalign = "fullscreen"; + level.player.auxillary_hud.vertalign = "fullscreen"; + level.player.auxillary_hud.alpha = 0; + level.player.auxillary_hud fadeovertime(0.5); + level.player.auxillary_hud.alpha = 1; + level.player.auxillary_hud.foreground = 1; + setsaveddvar("objectiveHide","1"); + wait(0.5); + level.player.auxillary_hud.foreground = 0; + wait(7); + maps\sanfran_b_util::teleport_to_scriptstruct("org_start_bridge"); + level.player.auxillary_hud.alpha = 1; + level.player.auxillary_hud fadeovertime(1); + level.player.auxillary_hud.alpha = 0; + soundscripts\_snd::snd_message("e3_demo_fade_in"); + common_scripts\utility::flag_set("flag_bridge"); + bridge(); +} \ No newline at end of file diff --git a/AW/PC/maps/sanfran_b_anim.gsc b/AW/PC/maps/sanfran_b_anim.gsc new file mode 100644 index 0000000..4077ae0 --- /dev/null +++ b/AW/PC/maps/sanfran_b_anim.gsc @@ -0,0 +1,228 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: sanfran_b_anim.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 11 + * Decompile Time: 167 ms + * Timestamp: 4/22/2024 2:35:13 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + level.transient_zone = ""; + if(level.currentgen) + { + if(istransientloaded("sanfran_b_intro_tr")) + { + level.transient_zone = "intro"; + } + else if(istransientloaded("sanfran_b_outro_tr")) + { + level.transient_zone = "outro"; + } + } + + if(level.nextgen) + { + anim.forced_s1_motionset = 1; + } + + thread load_player_anims(); + thread load_actor_anims(); + thread load_vehicle_anims(); + thread load_script_model_anims(); +} + +//Function Number: 2 +load_player_anims() +{ + level.scr_animtree["player_rig"] = #animtree; + level.scr_model["player_rig"] = "viewbody_sentinel"; + level.scr_animtree["player_arms"] = #animtree; + level.scr_model["player_arms"] = "worldhands_player_sentinel"; + level.scr_anim["player_arms"]["intro"] = %sanfran_b_intro_vm; + if(level.nextgen || level.transient_zone == "intro") + { + maps\_anim::addnotetrack_customfunction("player_arms","vm_gun_up",::intro_enable_weapons,"intro"); + maps\_anim::addnotetrack_customfunction("player_arms","vm_anim_end",::intro_end_anim,"intro"); + maps\_anim::addnotetrack_customfunction("player_arms","shake_cam",::intro_shake_cam,"intro"); + } + + level.scr_anim["player_arms"]["jammerplant_1"] = %sf_b_jammerplant_1_vm; + level.scr_anim["player_arms"]["jammerplant_2"] = %sf_b_jammerplant_2_vm; + level.scr_anim["player_rig"]["sf_b_bridge_dialog"] = %sf_b_bridge_dialog_vm; + maps\_anim::addnotetrack_customfunction("player_rig","fade_out",::end_level,"sf_b_bridge_dialog"); +} + +//Function Number: 3 +load_actor_anims() +{ + level.scr_anim["burke"]["intro"] = %sanfran_b_intro_burke; + level.scr_anim["cormack"]["intro"] = %sanfran_b_intro_cormack; + level.scr_anim["maddox"]["intro"] = %sanfran_b_intro_maddox; + if(level.nextgen || level.transient_zone == "intro") + { + maps\_anim::addnotetrack_customfunction("burke","boost_begin",::maps\sanfran_b_fx::vfx_start_boost_fx); + maps\_anim::addnotetrack_customfunction("burke","boost_end",::maps\sanfran_b_fx::vfx_stop_boost_fx); + maps\_anim::addnotetrack_customfunction("cormack","boost_begin",::maps\sanfran_b_fx::vfx_start_boost_fx); + maps\_anim::addnotetrack_customfunction("cormack","boost_end",::maps\sanfran_b_fx::vfx_stop_boost_fx); + maps\_anim::addnotetrack_customfunction("maddox","boost_begin",::maps\sanfran_b_fx::vfx_start_boost_fx); + maps\_anim::addnotetrack_customfunction("maddox","boost_end",::maps\sanfran_b_fx::vfx_stop_boost_fx); + } + + level.scr_anim["guy1"]["deck_mobile_cover"] = %fusion_mobile_cover_fire_guy1; + level.scr_anim["guy2"]["deck_mobile_cover"] = %fusion_mobile_cover_fire_guy2; + level.scr_anim["cormack"]["boosters_off_wait_idle"][0] = %sf_b_boost_off_guy2_wait_idle; + level.scr_anim["burke"]["boosters_off_wait_idle"][0] = %sf_b_boost_off_guy1_wait_idle; + level.scr_anim["maddox"]["boosters_off_wait_idle"][0] = %sf_b_boost_off_guy3_wait_idle; + level.scr_anim["cormack"]["boosters_off"] = %sf_b_boost_off_guy2; + level.scr_anim["maddox"]["boosters_off"] = %sf_b_boost_off_guy3; + level.scr_anim["burke"]["boosters_off"] = %sf_b_boost_off_guy1; + level.scr_anim["cormack"]["boosters_off_idle"][0] = %sf_b_boost_off_guy2_idle; + level.scr_anim["burke"]["boosters_off_idle"][0] = %sf_b_boost_off_crouch_idle_guy1; + level.scr_anim["maddox"]["boosters_off_idle"][0] = %sf_b_boost_off_crouch_idle_guy3; + level.scr_anim["cormack"]["ripopen_bulkhead"] = %sf_b_boost_off_ripopen_guy2; + level.scr_anim["generic"]["ny_harbor_doorway_headsmash_enemy_deadpose"][0] = %ny_harbor_doorway_headsmash_enemy_deadpose; + level.scr_anim["generic"]["ch_castle_14_5_guard8_deadloop"][0] = %ch_castle_14_5_guard8_deadloop; + level.scr_anim["generic"]["arcadia_ending_sceneA_dead_civilian"][0] = %arcadia_ending_scenea_dead_civilian; + level.scr_anim["generic"]["corner_standR_deathA"] = %corner_standr_deatha; + level.scr_anim["generic"]["prone_death_quickdeath"] = %prone_death_quickdeath; + level.scr_anim["generic"]["death_shotgun_back_v1"] = %death_shotgun_back_v1; + level.scr_anim["generic"]["covercrouch_death_1"] = %covercrouch_death_1; + level.scr_anim["cormack"]["exo_takedown"] = %sanfran_b_exo_takedown_guy1; + level.scr_anim["guy2"]["exo_takedown"] = %sanfran_b_exo_takedown_guy2; + maps\_anim::addnotetrack_customfunction("guy2","exo_takedown_death",::exo_takedown_death,"exo_takedown"); + level.scr_anim["burke"]["signal_moveout_coverL"] = %corner_standl_signal_move; + level.scr_anim["maddox"]["signal_moveout_coverL"] = %corner_standl_signal_move; + level.scr_anim["cormack"]["signal_moveout_coverL"] = %corner_standl_signal_move; + level.scr_anim["burke"]["hangar_exit"] = %sf_b_bulkhead_door_pullopen_guy; + level.scr_anim["guy"]["table_pulldown"] = %sf_b_pulltable_slideover_guy; + level.scr_anim["guy"]["table_pulldown_fire_loop"][0] = %sf_b_pulltable_fire_loop_guy; + level.scr_anim["guy"]["table_pullddown_death"] = %sf_b_pulltable_death_guy; + level.scr_anim["cormack"]["door_takedown"] = %sf_b_bulkhead_pullopen_takedown_guy1; + level.scr_anim["guy"]["door_takedown"] = %sf_b_bulkhead_pullopen_takedown_guy2; + level.scr_anim["guy"]["door_ambush"] = %sf_b_bulkhead_pullopen_takedown_2_guy2; + level.scr_anim["guy"]["guy_control_idle"][0] = %sf_b_pullbody_control_idle_guy1; + level.scr_anim["guy"]["guy_control_react"] = %sf_b_pullbody_react_guy1; + level.scr_anim["guy"]["guy_control_to_fire"] = %sf_b_pullbody_control2fire_guy1; + level.scr_anim["guy"]["guy_control_shot_idle"][0] = %sf_b_pullbody_shot_idle_guy1; + level.scr_anim["guy"]["control_room_pulloff"] = %sf_b_pullbody_pull_guy1; + level.scr_anim["cormack"]["control_room_pulloff"] = %sf_b_pullbody_pull_guy2; + level.scr_anim["guy"]["guy_control_dead_idle"][0] = %sf_b_pullbody_dead_guy1; + level.scr_anim["cormack"]["console_idle"][0] = %sf_b_bridge_dialog_loop_guy1; + level.scr_anim["cormack"]["sf_b_bridge_dialog"] = %sf_b_bridge_dialog_guy1; + level.scr_anim["maddox"]["sf_b_bridge_dialog"] = %sf_b_bridge_dialog_guy2; + level.scr_anim["burke"]["sf_b_bridge_dialog"] = %sf_b_bridge_dialog_guy3; +} + +//Function Number: 4 +load_vehicle_anims() +{ + level.scr_anim["littlebird"]["intro"] = %sanfran_b_intro_littlebird; + level.scr_anim["shrike_1"]["shrike_takeoff"] = %sf_b_shrike_takeoff1; + level.scr_anim["shrike_2"]["shrike_takeoff"] = %sf_b_shrike_takeoff2; + level.scr_animtree["mobile_cover"] = #animtree; + level.scr_anim["mobile_cover"]["deck_mobile_cover"] = %fusion_mobile_cover; + level.scr_anim["shrike"]["shrike_slide"] = %sf_b_shrike_slide; + maps\_anim::addnotetrack_customfunction("shrike","shrike_contact",::shrike_contact,"shrike_slide"); +} + +//Function Number: 5 +load_script_model_anims() +{ + level.scr_animtree["bridge_part_a"] = #animtree; + level.scr_model["bridge_part_a"] = "ggb_collapse_03_chunka"; + level.scr_anim["bridge_part_a"]["bridge_parts_idle"][0] = %sf_goldengate_collapse_chunk_a_idle; + level.scr_animtree["bridge_part_b"] = #animtree; + level.scr_model["bridge_part_b"] = "ggb_collapse_03_chunkb"; + level.scr_anim["bridge_part_b"]["bridge_parts_idle"][0] = %sf_goldengate_collapse_chunk_b_idle; + level.scr_animtree["bridge_part_c"] = #animtree; + level.scr_model["bridge_part_c"] = "ggb_collapse_03_chunkc"; + level.scr_anim["bridge_part_c"]["bridge_parts_idle"][0] = %sf_goldengate_collapse_chunk_c_idle; + level.scr_animtree["bridge_part_d"] = #animtree; + level.scr_model["bridge_part_d"] = "ggb_collapse_03_chunkd"; + level.scr_anim["bridge_part_d"]["bridge_parts_idle"][0] = %sf_goldengate_collapse_chunk_d_idle; + level.scr_animtree["domestic_mini"] = #animtree; + level.scr_model["domestic_mini"] = "civ_domestic_mini_dstrypv"; + level.scr_anim["domestic_mini"]["intro"] = %sf_b_intro_domestic_mini; + level.scr_animtree["pickup_truck"] = #animtree; + level.scr_model["pickup_truck"] = "vehicle_civ_pickup_truck_01_wrecked"; + level.scr_anim["pickup_truck"]["intro"] = %sf_b_intro_pickup_truck; + level.scr_animtree["jammer"] = #animtree; + level.scr_model["jammer"] = "vm_jamming_device"; + level.scr_anim["jammer"]["jammerplant_1"] = %sf_b_jammerplant_1_jammer; + level.scr_anim["jammer"]["jammerplant_2"] = %sf_b_jammerplant_2_jammer; + level.scr_animtree["interior_bulkhead"] = #animtree; + level.scr_model["interior_bulkhead"] = "mob_door_interior_rigged"; + level.scr_anim["interior_bulkhead"]["ripopen_bulkhead"] = %sf_b_boost_off_ripopen_bulkhead; + level.scr_animtree["hangar_exit_door"] = #animtree; + level.scr_model["hangar_exit_door"] = "mob_door_interior_rigged"; + level.scr_anim["hangar_exit_door"]["hangar_exit"] = %sf_b_bulkhead_door_pullopen_door; + level.scr_animtree["cafeteria_table"] = #animtree; + level.scr_model["cafeteria_table"] = "mob_mess_hall_table_broken"; + level.scr_anim["cafeteria_table"]["table_pulldown"] = %sf_b_pulltable_slideover_table; + level.scr_animtree["navy_wave_door"] = #animtree; + level.scr_model["navy_wave_door"] = "mob_door_interior_rigged"; + level.scr_animtree["takedown_door"] = #animtree; + level.scr_model["takedown_door"] = "mob_door_interior_mirrored"; + level.scr_anim["takedown_door"]["door_takedown"] = %sf_b_bulkhead_pullopen_takedown_door; + level.scr_anim["takedown_door"]["door_ambush"] = %sf_b_bulkhead_pullopen_takedown_2_door; + level.scr_animtree["mob_turret"] = #animtree; + level.scr_anim["mob_turret"]["mob_turret_transform"] = %sf_b_mob_turret_transform; + level.scr_anim["cargo_ship_1"]["cargo_ship_hit_react"] = %sf_b_cargo_ship_hit_react_1; + level.scr_anim["cargo_ship_1"]["cargo_ship_idle_large"][0] = %sf_b_cargo_ship_idle_large; + level.scr_anim["cargo_ship_2"]["cargo_ship_hit_react"] = %sf_b_cargo_ship_hit_react_2; + level.scr_anim["cargo_ship_2"]["cargo_ship_idle_large"][0] = %sf_b_cargo_ship_idle_large; +} + +//Function Number: 6 +intro_shake_cam(param_00) +{ + earthquake(0.3,1,level.player.origin,128); + level notify("intro_scene_artillery_rumble"); +} + +//Function Number: 7 +intro_enable_weapons(param_00) +{ + level.player enableweapons(); +} + +//Function Number: 8 +intro_end_anim(param_00) +{ + common_scripts\utility::flag_set("intro_anim_finished"); +} + +//Function Number: 9 +exo_takedown_death(param_00) +{ + param_00 maps\sanfran_b_util::kill_no_react(); + level.cormack maps\_utility::enable_ai_color_dontmove(); + maps\_utility::activate_trigger_with_targetname("trig_post_exo_takedown_move"); +} + +//Function Number: 10 +shrike_contact(param_00) +{ + var_01 = common_scripts\utility::getstruct("org_shrike_contact","targetname"); + physicsexplosionsphere(var_01.origin,512,256,1.5); +} + +//Function Number: 11 +end_level(param_00) +{ + if(isdefined(level.already_got_end_level_notetrack)) + { + return; + } + else + { + level.already_got_end_level_notetrack = 1; + } + + maps\_hud_util::fade_out(2,"black"); + maps\_utility::nextmission(); +} \ No newline at end of file diff --git a/AW/PC/maps/sanfran_b_aud.gsc b/AW/PC/maps/sanfran_b_aud.gsc new file mode 100644 index 0000000..7048e43 --- /dev/null +++ b/AW/PC/maps/sanfran_b_aud.gsc @@ -0,0 +1,1132 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: sanfran_b_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 86 + * Decompile Time: 1220 ms + * Timestamp: 4/22/2024 2:35:17 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + config_system(); + init_snd_flags(); + init_globals(); + launch_threads(); + launch_loops(); + create_level_envelop_arrays(); + precache_presets(); + thread maps\sanfran_b_vo::init_pcap_vo(); + register_snd_messages(); +} + +//Function Number: 2 +config_system() +{ + soundscripts\_audio::set_stringtable_mapname("shg"); + soundscripts\_snd_filters::snd_set_occlusion("med_occlusion"); + soundscripts\_audio_mix_manager::mm_add_submix("sfb_level_global_mix"); + soundscripts\_audio_mix_manager::mm_add_submix("temp_vo_premix"); +} + +//Function Number: 3 +init_snd_flags() +{ +} + +//Function Number: 4 +init_globals() +{ + level.aud.ams_enabled = 0; + level.aud.bump_music_for_burke_takedown = 0; +} + +//Function Number: 5 +launch_threads() +{ + if(soundscripts\_audio::aud_is_specops()) + { + return; + } + + thread point_source_dambs(); + thread handle_npc_boost_jump_notetracks(); + thread handle_hatch_takedown_notetracks(); +} + +//Function Number: 6 +launch_loops() +{ + thread launch_intro_loops(); + common_scripts\utility::loop_fx_sound("emt_steam_01",(-8415,66864,-1133),1); + common_scripts\utility::loop_fx_sound("emt_steam_01",(-8406,67093,-1160),1); + common_scripts\utility::loop_fx_sound("emt_water_drips_l_01",(-8533,66204,-1190),1); + common_scripts\utility::loop_fx_sound("emt_steam_01",(-8583,66988,-1170),1); + common_scripts\utility::loop_fx_sound("emt_steam_01",(-7530,66253,-1170),1); + thread launch_outro_loops(); +} + +//Function Number: 7 +launch_intro_loops() +{ + if(level.currentgen && !istransientloaded("sanfran_b_intro_tr")) + { + return; + } + + common_scripts\utility::loop_fx_sound("emt_fire_crackle_m_01",(-5971,72165,-1405),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_roar_l_02",(-6041,72238,-1409),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_roar_l_01",(-6212,72309,-1348),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_roar_l_01",(-6146,71895,-1426),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_roar_l_01",(-6453,72232,-1353),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_s_01",(-6278,71944,-1419),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_l_02",(-6167,71830,-1400),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_roar_l_01",(-6146,71865,-1455),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_l_01",(-5942,71867,-1383),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_s_01",(-5950,72049,-1465),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_roar_l_01",(-5971,72165,-1405),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_roar_l_02",(-6637,70983,-1307),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_l_01",(-6291,71600,-1312),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_l_02",(-6314,71482,-1312),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_s_01",(-6227,71472,-1342),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_m_01",(-5986,71638,-1338),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_roar_l_02",(-5982,71456,-1294),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_roar_l_01",(-5998,71358,-1268),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_s_01",(-6358,71219,-1375),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_m_01",(-6358,71046,-1350),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_s_01",(-6280,70981,-1323),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_roar_l_02",(-6479,70770,-1313),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_m_01",(-6411,70750,-1330),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_s_01",(-5928,71150,-1320),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_roar_l_01",(-6031,71100,-1320),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_m_01",(-6099,71063,-1320),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_l_01",(-6043,70866,-1309),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_l_02",(-6797,70685,-1342),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_m_01",(-7786,71198,-1334),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_s_01",(-8256,71039,-1331),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_m_01",(-8179,71476,-1285),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_s_01",(-6094,70383,-1338),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_m_01",(-5699,70132,-1335),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_l_01",(-5739,69369,-1328),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_s_01",(-7148,67537,-1340),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_roar_l_02",(-7387,67550,-1331),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_roar_l_01",(-7460,67441,-1336),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_roar_l_01",(-8528,70343,-1326),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_roar_h_01",(-7466,66867,-1183),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_roar_m_01",(-7552,66840,-1186),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_roar_s_01",(-7241,67130,-1183),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_roar_l_01",(-7310,66861,-1190),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_roar_m_01",(-7333,67214,-1067),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_roar_l_01",(-7288,67079,-980),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_fire_roar_s_01",(-7727,67130,-1079),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_water_falling_l_02",(-7247,67272,-1190),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_water_falling_l_03",(-7279,67008,-1184),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_water_falling_l_01",(-7359,66914,-1184),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_water_falling_l_02",(-7362,66898,-1213),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_water_drips_l_01",(-7741,66997,-1170),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_water_drips_l_01",(-8077,67012,-1170),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_water_drips_l_01",(-8349,66977,-1170),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_water_spray_02",(-7555,67024,-1118),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_water_spray_02",(-7620,66861,-1122),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_water_falling_l_02",(-7725,66921,-1162),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_water_falling_l_02",(-7724,67232,-1205),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_water_falling_l_03",(-7895,67244,-1235),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_water_drips_l_01",(-8141,67245,-1235),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_water_falling_l_02",(-8021,67121,-1161),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_water_drips_l_01",(-8021,67121,-1161),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_water_falling_l_01",(-7907,67123,-1170),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_water_falling_l_03",(-7942,66881,-1170),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_water_falling_l_02",(-8208,66881,-1170),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-8294,66892,-1170),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_water_spray_02",(-8315,67050,-1161),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-6805,66604,-1139),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_water_spray_02",(-7117,65789,-1139),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-8300,66875,-1118),1,"aud_stop_intro"); + common_scripts\utility::loop_fx_sound("emt_water_falling_l_03",(-8224,66910,-1190),1,"aud_stop_intro"); + if(level.currentgen) + { + level waittill("tff_pre_transition_intro_to_outro"); + level notify("aud_stop_intro"); + } +} + +//Function Number: 8 +launch_outro_loops() +{ + if(level.currentgen && !istransientloaded("sanfran_b_outro_tr")) + { + level waittill("tff_post_transition_intro_to_outro"); + } + + common_scripts\utility::loop_fx_sound("emt_fire_roar_l_01",(-7577,66734,-1147),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-7798,66518,-1137),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-7795,66425,-1137),1); + common_scripts\utility::loop_fx_sound("emt_water_drips_l_01",(-7342,66438,-1132),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-7342,66438,-1132),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-7465,66386,-1139),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-7472,66584,-1139),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-7108,66208,-1135),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-7374,66485,-1131),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-7111,66392,-1135),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-7111,65622,-1135),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-7102,66724,-1135),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-7102,66724,-1135),1); + common_scripts\utility::loop_fx_sound("emt_water_falling_l_01",(-7628,66708,-1159),1); + common_scripts\utility::loop_fx_sound("emt_water_falling_l_02",(-7455,66742,-1143),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-7369,66675,-1133),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_02",(-6992,65864,-1131),1); + common_scripts\utility::loop_fx_sound("emt_water_drips_l_01",(-7342,66438,-1132),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-7155,66637,-1203),1); + common_scripts\utility::loop_fx_sound("emt_water_drips_l_01",(-7086,66619,-1198),1); + common_scripts\utility::loop_fx_sound("emt_water_drips_l_01",(-7141,66272,-1134),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-6809,66109,-1129),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-6808,66363,-1130),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-6809,65853,-1130),1); + common_scripts\utility::loop_fx_sound("emt_water_drips_l_01",(-6801,65968,-1197),1); + common_scripts\utility::loop_fx_sound("emt_water_drips_l_01",(-6799,66291,-1197),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-7342,65991,-1128),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-7250,65988,-1128),1); + common_scripts\utility::loop_fx_sound("emt_water_drips_l_01",(-7287,66012,-1196),1); + common_scripts\utility::loop_fx_sound("emt_water_drips_l_01",(-7107,65631,-1217),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_02",(-7387,65688,-1126),1); + common_scripts\utility::loop_fx_sound("emt_steam_01",(-7413,66274,-1170),1); + common_scripts\utility::loop_fx_sound("emt_steam_01",(-8406,67093,-1160),1); + common_scripts\utility::loop_fx_sound("emt_fire_roar_h_01",(-7601,65752,-1190),1); + common_scripts\utility::loop_fx_sound("emt_fire_roar_l_02",(-7599,65773,-1190),1); + common_scripts\utility::loop_fx_sound("emt_fire_crackle_l_02",(-7599,65765,-1190),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_02",(-7915,65794,-1170),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-7886,65769,-1133),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-7917,65790,-1180),1); + common_scripts\utility::loop_fx_sound("emt_water_falling_l_01",(-7870,65825,-1208),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_02",(-7919,65917,-1157),1); + common_scripts\utility::loop_fx_sound("emt_steam_01",(-7843,65624,-1164),1); + common_scripts\utility::loop_fx_sound("emt_steam_01",(-7907,66009,-1181),1); + common_scripts\utility::loop_fx_sound("emt_steam_01",(-7829,66480,-1322),1); + common_scripts\utility::loop_fx_sound("emt_alarm_ext_01",(-8678,66314,-1334),1); + common_scripts\utility::loop_fx_sound("emt_steam_01",(-9749,66631,-1547),1); + common_scripts\utility::loop_fx_sound("emt_steam_01",(-9796,66066,-1547),1); + common_scripts\utility::loop_fx_sound("emt_steam_01",(-9829,65289,-1547),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-8572,64423,-1422),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_02",(-8415,64420,-1312),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_02",(-8343,64676,-1186),1); + common_scripts\utility::loop_fx_sound("emt_water_falling_l_01",(-8343,64676,-1186),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-8343,64676,-1186),1); + common_scripts\utility::loop_fx_sound("emt_steam_01",(-8709,64410,-1479),1); + common_scripts\utility::loop_fx_sound("emt_steam_01",(-8622,65859,-1162),1); + common_scripts\utility::loop_fx_sound("emt_steam_01",(-8049,65758,-1187),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_02",(-8452,67226,-1123),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-8384,67265,-1108),1); + common_scripts\utility::loop_fx_sound("emt_fire_roar_h_01",(-7744,67169,-1045),1); + common_scripts\utility::loop_fx_sound("emt_fire_roar_l_02",(-7723,67180,-1011),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-8125,67267,-965),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-8029,67172,-965),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-7934,67265,-965),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-7745,67270,-965),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-7837,67173,-965),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-7930,67048,-955),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-8125,67267,-965),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-8123,67047,-965),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-8030,66919,-965),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-7935,66919,-965),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-7839,66914,-965),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_02",(-8140,66989,-953),1); + common_scripts\utility::loop_fx_sound("emt_water_spray_01",(-7886,67115,-955),1); + common_scripts\utility::loop_fx_sound("emt_water_falling_l_02",(-7855,67241,-943),1); + common_scripts\utility::loop_fx_sound("emt_water_drips_l_01",(-7855,67241,-943),1); + common_scripts\utility::loop_fx_sound("emt_alarm_int_01",(-7979,66723,-891),1); + common_scripts\utility::loop_fx_sound("emt_steam_01",(-7996,66689,-867),1); + common_scripts\utility::loop_fx_sound("emt_steam_01",(-7868,66601,-897),1); + common_scripts\utility::loop_fx_sound("emt_steam_01",(-8251,66587,-863),1); + common_scripts\utility::loop_fx_sound("emt_steam_01",(-8374,66552,-885),1); + common_scripts\utility::loop_fx_sound("emt_steam_01",(-8299,66071,-879),1); + common_scripts\utility::loop_fx_sound("emt_steam_01",(-7809,66097,-733),1); + common_scripts\utility::loop_fx_sound("emt_steam_01",(-8096,66072,-724),1); + common_scripts\utility::loop_fx_sound("emt_steam_01",(-8000,66351,-721),1); + common_scripts\utility::loop_fx_sound("emt_steam_01",(-8298,66255,-880),1); + common_scripts\utility::loop_fx_sound("emt_alarm_int_02",(-8284,66106,-741),1); + common_scripts\utility::loop_fx_sound("emt_steam_bridge_01",(-8049,66703,-474),1); + common_scripts\utility::loop_fx_sound("emt_steam_bridge_01",(-7773,66806,-468),1); + common_scripts\utility::loop_fx_sound("emt_steam_bridge_01",(-7809,66511,-606),1); +} + +//Function Number: 9 +create_level_envelop_arrays() +{ + level.aud.envs = []; + level.aud.envs["example_envelop"] = [[0,0],[0.082,0.426],[0.238,0.736],[0.408,0.844],[0.756,0.953],[1,1]]; +} + +//Function Number: 10 +precache_presets() +{ +} + +//Function Number: 11 +register_snd_messages() +{ + soundscripts\_snd::snd_register_message("snd_zone_handler",::zone_handler); + soundscripts\_snd::snd_register_message("snd_music_handler",::music_handler); + soundscripts\_snd::snd_register_message("start_deck",::start_deck); + soundscripts\_snd::snd_register_message("start_interior",::start_interior); + soundscripts\_snd::snd_register_message("start_hangar",::start_hangar); + soundscripts\_snd::snd_register_message("start_information_center",::start_information_center); + soundscripts\_snd::snd_register_message("start_bridge",::start_bridge); + soundscripts\_snd::snd_register_message("intro_scene",::intro_scene); + soundscripts\_snd::snd_register_message("sfb_intro_burke_foley",::sfb_intro_burke_foley); + soundscripts\_snd::snd_register_message("sfb_intro_car_explode",::sfb_intro_car_explode); + soundscripts\_snd::snd_register_message("intro_scene_done",::intro_scene_done); + soundscripts\_snd::snd_register_message("begin_rooftop_combat",::begin_rooftop_combat); + soundscripts\_snd::snd_register_message("shrike_flyby_pair_01",::shrike_flyby_pair_01); + soundscripts\_snd::snd_register_message("warbird_strafe_01",::warbird_strafe_01); + soundscripts\_snd::snd_register_message("shrike_takeoff",::shrike_takeoff); + soundscripts\_snd::snd_register_message("shrike_flyby_pair_02",::shrike_flyby_pair_02); + soundscripts\_snd::snd_register_message("warbird_circling_perimeter",::warbird_circling_perimeter); + soundscripts\_snd::snd_register_message("attack_drone_audio_handler",::attack_drone_audio_handler); + soundscripts\_snd::snd_register_message("jammer_plant",::jammer_plant); + soundscripts\_snd::snd_register_message("warbird_dropoff_01",::warbird_dropoff_01); + soundscripts\_snd::snd_register_message("warbird_dropoff_02",::warbird_dropoff_02); + soundscripts\_snd::snd_register_message("shrike_flyby_03",::shrike_flyby_03); + soundscripts\_snd::snd_register_message("warbird_dropoff_03",::warbird_dropoff_03); + soundscripts\_snd::snd_register_message("warbird_dropoff_04",::warbird_dropoff_04); + soundscripts\_snd::snd_register_message("shrike_flyby_pair_04",::shrike_flyby_pair_04); + soundscripts\_snd::snd_register_message("enter_ship",::enter_ship); + soundscripts\_snd::snd_register_message("if_the_boat_is_a_rockin_dont_come_a_knockin",::if_the_boat_is_a_rockin_dont_come_a_knockin); + soundscripts\_snd::snd_register_message("aud_burke_open_door",::aud_burke_open_door); + soundscripts\_snd::snd_register_message("interior_door1_done",::interior_door1_done); + soundscripts\_snd::snd_register_message("aud_burke_takedown",::aud_burke_takedown); + soundscripts\_snd::snd_register_message("power_outage_audio",::power_outage_audio); + soundscripts\_snd::snd_register_message("aud_table_pulldown",::aud_table_pulldown); + soundscripts\_snd::snd_register_message("pre_hangar_hall_explosion",::pre_hangar_hall_explosion); + soundscripts\_snd::snd_register_message("enter_hangar",::enter_hangar); + soundscripts\_snd::snd_register_message("warbird_hanger_dropoff",::warbird_hanger_dropoff); + soundscripts\_snd::snd_register_message("shrike_hanger_flyby",::shrike_hanger_flyby); + soundscripts\_snd::snd_register_message("littlebird_hanger_flyby",::littlebird_hanger_flyby); + soundscripts\_snd::snd_register_message("hangar_doors_open",::hangar_doors_open); + soundscripts\_snd::snd_register_message("warbird_flyover_shootdown",::warbird_flyover_shootdown); + soundscripts\_snd::snd_register_message("aud_hangar_door_exit",::aud_hangar_door_exit); + soundscripts\_snd::snd_register_message("aud_door_takedown_mix_handler",::aud_door_takedown_mix_handler); + soundscripts\_snd::snd_register_message("aud_door_takedown_scream",::aud_door_takedown_scream); + soundscripts\_snd::snd_register_message("enter_room_above_hangar",::enter_room_above_hangar); + soundscripts\_snd::snd_register_message("enter_server_room",::enter_server_room); + soundscripts\_snd::snd_register_message("enter_bridge",::enter_bridge); + soundscripts\_snd::snd_register_message("cormack_shoots_bridge_guy",::cormack_shoots_bridge_guy); + soundscripts\_snd::snd_register_message("start_camera_static",::start_camera_static); + soundscripts\_snd::snd_register_message("rail_gun_start",::rail_gun_start); + soundscripts\_snd::snd_register_message("shrike_railgun_flyby_01",::shrike_railgun_flyby_01); + soundscripts\_snd::snd_register_message("mob_fire",::mob_fire); + soundscripts\_snd::snd_register_message("shrike_railgun_flyby_02",::shrike_railgun_flyby_02); + soundscripts\_snd::snd_register_message("shrike_railgun_flyby_03",::shrike_railgun_flyby_03); + soundscripts\_snd::snd_register_message("rail_gun_done",::rail_gun_done); + soundscripts\_snd::snd_register_message("cargo_ship_hit_react",::cargo_ship_hit_react); + soundscripts\_snd::snd_register_message("start_bridge_end_foley",::start_bridge_end_foley); + soundscripts\_snd::snd_register_message("mob_audio_setup",::mob_audio_setup); + soundscripts\_snd::snd_register_message("mob_camera_static",::mob_camera_static); + soundscripts\_snd::snd_register_message("mob_xform",::mob_xform); + soundscripts\_snd::snd_register_message("mob_turret_move",::mob_turret_move); + soundscripts\_snd::snd_register_message("mob_fire",::mob_fire); + soundscripts\_snd::snd_register_message("sfb_end_logo",::sfb_end_logo); + soundscripts\_snd::snd_register_message("e3_demo_fade_out",::e3_demo_fade_out); + soundscripts\_snd::snd_register_message("e3_demo_fade_in",::e3_demo_fade_in); +} + +//Function Number: 12 +zone_handler(param_00,param_01) +{ + switch(param_00) + { + } +} + +//Function Number: 13 +music_handler(param_00,param_01) +{ + switch(param_00) + { + case "intro_scene": + soundscripts\_audio::aud_set_music_submix(1,0.5); + wait(0.5); + soundscripts\_audio_music::mus_play("mus_sfb_intro_scene",0.2); + break; + + case "intro_scene_done": + soundscripts\_audio_music::mus_play("mus_sfb_intro_scene_done",0.2,3); + break; + + case "begin_rooftop_combat": + soundscripts\_audio::aud_set_music_submix(1,0.1); + soundscripts\_audio_music::mus_play("mus_sfb_begin_rooftop_combat",0.2,3); + break; + + case "first_jammer_set": + soundscripts\_audio::aud_set_music_submix(1,0.1); + soundscripts\_audio_music::mus_play("mus_sfb_first_jammer_set",0.2,3); + break; + + case "enter_ship": + soundscripts\_audio_music::mus_stop(3); + wait(3); + soundscripts\_audio::aud_set_music_submix(0,2); + wait(2); + soundscripts\_audio_music::mus_play("mus_sfb_enter_ship",1); + soundscripts\_audio::aud_set_music_submix(0.45,8); + break; + + case "aud_burke_open_door": + wait(6); + soundscripts\_audio::aud_set_music_submix(0.8,5); + break; + + case "sanfranb_crmk_switchtosonar": + soundscripts\_audio_music::mus_stop(10); + wait(10); + soundscripts\_audio::aud_set_music_submix(1,5); + start_ams("virus1","adaptive"); + break; + + case "enter_hangar": + stop_ams(); + soundscripts\_audio::aud_set_music_submix(0.7,4); + soundscripts\_audio_music::mus_play("mus_sfb_enter_hangar",4,4); + break; + + case "enter_room_above_hangar": + soundscripts\_audio_music::mus_stop(8); + soundscripts\_audio::aud_set_music_submix(0.8,5); + start_ams("virus1","adaptive"); + break; + + case "enter_server_room": + break; + + case "enter_bridge": + stop_ams(); + soundscripts\_audio::aud_set_music_submix(0.2,4); + soundscripts\_audio_music::mus_play("mus_sfb_enter_bridge",3,3); + break; + + case "objective_complete": + break; + + case "rail_gun_start": + soundscripts\_audio::aud_set_music_submix(0.7,3); + soundscripts\_audio_music::mus_play("mus_sfb_objective_complete",3,3); + break; + + case "switching_to_the_second_ship": + soundscripts\_audio::aud_set_music_submix(0.7,3); + soundscripts\_audio_music::mus_play("mus_sfb_switching_to_2nd_ship",3,3); + break; + + case "rail_gun_done": + soundscripts\_audio_music::mus_stop(6); + break; + + case "mus_sfb_pcap_ending": + var_02 = param_01; + soundscripts\_audio::aud_wait_delay(var_02,0,1); + soundscripts\_audio::aud_set_music_submix(1,1); + soundscripts\_audio_music::mus_play("mus_sfb_pcap_ending",0.1); + break; + + default: + break; + } +} + +//Function Number: 14 +start_ams(param_00,param_01) +{ + thread start_ams_thread(param_00,param_01); +} + +//Function Number: 15 +start_ams_thread(param_00,param_01) +{ + if(level.aud.ams_enabled) + { + return; + } + + level.aud.ams_enabled = 1; + soundscripts\_audio_vehicle_manager::snd_register_vehicle("virus1",::soundscripts\_audio_presets_music::virus1_preset_constructor); + var_02 = spawnstruct(); + var_02.preset_name = param_00; + var_02.initial_state = param_01; + var_02.fadein_time = 3; + var_02.fadeout_time = 5; + soundscripts\_snd::snd_message("ams_start",var_02); + var_03 = 0.25; + while(level.aud.ams_enabled) + { + var_04 = get_interior_intensity(); + if(level.aud.bump_music_for_burke_takedown) + { + var_04 = 0.4; + var_05 = getaiarray("bad_guys"); + if(var_05.size == 0) + { + level.aud.bump_music_for_burke_takedown = 0; + } + } + + var_04 = clamp(var_03 + var_04,0,1); + soundscripts\_snd::snd_message("ams_set_intensity",var_04); + wait(0.25); + } + + soundscripts\_snd::snd_message("ams_stop"); +} + +//Function Number: 16 +stop_ams() +{ + level.aud.ams_enabled = 0; +} + +//Function Number: 17 +get_interior_intensity() +{ + var_00 = 0; + var_01 = 7; + var_02 = 0; + var_03 = getaiarray("bad_guys"); + foreach(var_05 in var_03) + { + if(isdefined(var_05.alertlevelint) && var_05.alertlevelint >= 3) + { + var_02++; + } + } + + var_00 = clamp(var_02 / var_01,0,1); + if(var_00 > 0 && var_00 < 0.5) + { + var_00 = 0.5; + } + + return var_00; +} + +//Function Number: 18 +start_deck(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("sf_b_ext_destroyed"); +} + +//Function Number: 19 +start_interior(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("sf_b_ext_hallway_destroyed"); +} + +//Function Number: 20 +start_hangar(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("sf_b_int_mess_hall_destroyed"); +} + +//Function Number: 21 +start_information_center(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("sf_b_int_nav_deck"); +} + +//Function Number: 22 +start_bridge(param_00) +{ + soundscripts\_audio_zone_manager::azm_start_zone("sf_b_int_catwalk_alarm"); +} + +//Function Number: 23 +intro_scene() +{ + soundscripts\_snd::snd_music_message("intro_scene"); +} + +//Function Number: 24 +sfb_intro_burke_foley() +{ + soundscripts\_audio_mix_manager::mm_add_submix("sfb_intro",3); + soundscripts\_snd_playsound::snd_play_delayed_2d("sfb_intro_burke_foley_01",0.01); + soundscripts\_snd_playsound::snd_play_delayed_2d("sfb_intro_helicopter",0.01); + soundscripts\_snd_playsound::snd_play_delayed_2d("sfb_intro_cormack_exo_land",5.8); + soundscripts\_snd_playsound::snd_play_delayed_2d("sfb_intro_joker_exo_land",6.05); + soundscripts\_snd_playsound::snd_play_delayed_2d("sfb_intro_cormack_enters",6.6); + soundscripts\_snd_playsound::snd_play_delayed_2d("sfb_intro_exit_foley",21.1); + wait(19); + soundscripts\_audio_mix_manager::mm_clear_submix("sfb_intro",3); +} + +//Function Number: 25 +sfb_intro_car_explode() +{ + wait(7.03); + soundscripts\_snd_playsound::snd_play_at("boost_land_surface_hvy_ice",(-6310,71984,-1450)); + wait(6.17); + soundscripts\_snd_playsound::snd_play_2d("sfb_intro_explo"); + wait(1.7); + soundscripts\_snd_playsound::snd_play_2d("sfb_intro_explo_lfe"); +} + +//Function Number: 26 +intro_scene_done() +{ + soundscripts\_snd::snd_music_message("intro_scene_done"); +} + +//Function Number: 27 +handle_npc_boost_jump_notetracks() +{ + maps\_anim::addnotetrack_customfunction("burke","boost_begin",::handle_boost_jump_npc_note); + maps\_anim::addnotetrack_customfunction("cormack","boost_begin",::handle_boost_jump_npc_note); + maps\_anim::addnotetrack_customfunction("maddox","boost_begin",::handle_boost_jump_npc_note); + maps\_anim::addnotetrack_customfunction("burke","boosters_off",::soundscripts\_snd_common::boost_jump_disable_npc); + maps\_anim::addnotetrack_customfunction("cormack","boosters_off",::soundscripts\_snd_common::boost_jump_disable_npc); + maps\_anim::addnotetrack_customfunction("maddox","boosters_off",::soundscripts\_snd_common::boost_jump_disable_npc); +} + +//Function Number: 28 +handle_boost_jump_npc_note(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("npc_boost_jump"); +} + +//Function Number: 29 +begin_rooftop_combat() +{ + soundscripts\_snd::snd_music_message("begin_rooftop_combat"); +} + +//Function Number: 30 +shrike_flyby_pair_01() +{ + var_00 = self; + var_01 = var_00[0]; + var_02 = var_00[1]; + var_01 soundscripts\_snd_playsound::snd_play_linked("shrike_flyby_pair_1_01"); + wait(1.5); + var_02 soundscripts\_snd_playsound::snd_play_linked("shrike_flyby_pair_1_02"); +} + +//Function Number: 31 +warbird_strafe_01() +{ + var_00 = self; +} + +//Function Number: 32 +shrike_takeoff(param_00,param_01) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("shrike_launch_hover"); + wait(4.45); + param_01 soundscripts\_snd_playsound::snd_play_linked("shrike_launch_background"); + wait(8); + common_scripts\utility::flag_set("useyourboosters_vo"); +} + +//Function Number: 33 +shrike_flyby_pair_02(param_00,param_01) +{ + param_01 soundscripts\_snd_common::snd_air_vehicle_smart_flyby("shrike_flyby_pair_2_01",7000); +} + +//Function Number: 34 +warbird_circling_perimeter() +{ + var_00 = self; + var_00 vehicle_turnengineoff(); +} + +//Function Number: 35 +attack_drone_audio_handler() +{ + if(!isdefined(level.aud.mob_drone)) + { + var_00 = 1; + thread attack_drone_flybys_audio(var_00); + } + else + { + var_00 = level.aud.mob_drone + 1; + thread attack_drone_flybys_audio(var_00); + } + + level.aud.mob_drone = var_00; +} + +//Function Number: 36 +attack_drone_flybys_audio(param_00) +{ + var_01 = "mob_drone_flyby"; + var_02 = []; + var_02[0] = 800; + var_03 = []; + var_03[0] = 20; + var_03[1] = 5; + thread soundscripts\_snd_common::snd_advanced_flyby_system(var_01,undefined,var_02,var_03,1,undefined,undefined,3,2); +} + +//Function Number: 37 +jammer_plant() +{ + soundscripts\_audio_mix_manager::mm_add_submix("sfb_jammer_plant"); + soundscripts\_snd_playsound::snd_play_delayed_2d("sfb_jammer_plant",0.72); + soundscripts\_snd_playsound::snd_play_delayed_linked("sfb_jammer_beeps",1.18); + wait(5); + soundscripts\_audio_mix_manager::mm_clear_submix("sfb_jammer_plant"); +} + +//Function Number: 38 +warbird_dropoff_01() +{ + var_00 = self; + var_00 vehicle_turnengineoff(); + var_00 soundscripts\_snd_playsound::snd_play_linked("warbird_dropoff_02"); + wait(3); + var_00 soundscripts\_snd_playsound::snd_play_linked("warbird_dropoff_01_hover",undefined,undefined,undefined,undefined,(0,500,0)); + var_00 waittill("unloaded"); + var_00 soundscripts\_snd_playsound::snd_play_linked("warbird_depart_01_engine"); +} + +//Function Number: 39 +warbird_dropoff_02() +{ + var_00 = self; + var_00 vehicle_turnengineoff(); + var_00 soundscripts\_snd_playsound::snd_play_linked("warbird_dropoff_01"); + var_00 waittill("unloaded"); + var_00 soundscripts\_snd_common::snd_air_vehicle_smart_flyby("warbird_depart_01_current",2000); +} + +//Function Number: 40 +shrike_flyby_03() +{ + var_00 = self; + var_00 soundscripts\_snd_common::snd_air_vehicle_smart_flyby("shrike_flyby_3_current",3000); +} + +//Function Number: 41 +hangar_doors_open(param_00,param_01,param_02) +{ + var_03 = param_00[0]; + var_04 = param_00[1]; + thread common_scripts\utility::play_sound_in_space("sf_b_hangar_doors_start",param_02); + wait(param_01 - 0.16); + thread common_scripts\utility::play_sound_in_space("sf_b_hangar_doors_stop",var_03.origin); + thread common_scripts\utility::play_sound_in_space("sf_b_hangar_doors_stop",var_04.origin); +} + +//Function Number: 42 +warbird_dropoff_03() +{ + var_00 = self; + var_00 vehicle_turnengineoff(); + var_00 soundscripts\_snd_playsound::snd_play_linked("warbird_dropoff_04"); + wait(3); + var_00 soundscripts\_snd_playsound::snd_play_linked("warbird_dropoff_04_hover"); + var_00 waittill("unloaded"); + var_00 soundscripts\_snd_playsound::snd_play_linked("warbird_depart_04"); +} + +//Function Number: 43 +warbird_dropoff_04() +{ + var_00 = self; + var_00 vehicle_turnengineoff(); + var_00 soundscripts\_snd_playsound::snd_play_linked("warbird_dropoff_03"); + wait(3); + var_00 soundscripts\_snd_playsound::snd_play_linked("warbird_dropoff_03_hover"); + var_00 waittill("unloaded"); + var_00 soundscripts\_snd_playsound::snd_play_linked("warbird_depart_03"); + var_00 soundscripts\_snd_playsound::snd_play_linked("warbird_depart_03_engine"); +} + +//Function Number: 44 +shrike_flyby_pair_04(param_00,param_01) +{ + param_01 soundscripts\_snd_common::snd_air_vehicle_smart_flyby("shrike_flyby_pair_4_01",7500); +} + +//Function Number: 45 +enter_ship() +{ + soundscripts\_snd::snd_music_message("enter_ship"); +} + +//Function Number: 46 +if_the_boat_is_a_rockin_dont_come_a_knockin(param_00) +{ + if(param_00 == "interior" && soundscripts\_audio::aud_percent_chance(66)) + { + soundscripts\_snd_playsound::snd_play_2d("sfb_metal_stress_interior"); + } +} + +//Function Number: 47 +aud_burke_open_door() +{ + soundscripts\_snd::snd_music_message("aud_burke_open_door"); + soundscripts\_audio_mix_manager::mm_add_submix("burke_rip_open_door",0.05); + var_00 = self; + var_00 soundscripts\_snd_playsound::snd_play_delayed_linked("sfb_burke_rip_open_door",1.9); + var_00 soundscripts\_snd_playsound::snd_play_delayed_linked("sfb_burke_rip_open_door_exo",1.9); + var_00 soundscripts\_snd_playsound::snd_play_delayed_linked("sfb_burke_rip_open_door_sweet",5.9); + wait(15.8); + soundscripts\_audio_mix_manager::mm_clear_submix("burke_rip_open_door",2); +} + +//Function Number: 48 +interior_door1_done() +{ +} + +//Function Number: 49 +aud_burke_takedown() +{ + level.aud.bump_music_for_burke_takedown = 1; + soundscripts\_audio_mix_manager::mm_add_submix("burke_takedown",0.05); + var_00 = self; + var_00 soundscripts\_snd_playsound::snd_play_delayed_linked("sfb_burke_takedown_exo",0.6); + var_00 soundscripts\_snd_playsound::snd_play_delayed_linked("sfb_burke_takedown_grab",0.6); + var_00 soundscripts\_snd_playsound::snd_play_delayed_linked("sfb_burke_takedown_shove",1.2); + var_00 soundscripts\_snd_playsound::snd_play_delayed_linked("sfb_burke_takedown_metal_accents",1.1); + var_00 soundscripts\_snd_playsound::snd_play_delayed_linked("sfb_burke_takedown_punch",2.2); + var_00 soundscripts\_snd_playsound::snd_play_delayed_linked("sfb_burke_takedown_punch02",2.2); + var_00 soundscripts\_snd_playsound::snd_play_delayed_linked("sfb_burke_takedown_fall",2.9); + wait(4.3); + soundscripts\_audio_mix_manager::mm_clear_submix("burke_takedown",2); +} + +//Function Number: 50 +power_outage_audio() +{ + soundscripts\_snd_playsound::snd_play_2d("sfb_power_outage"); +} + +//Function Number: 51 +aud_table_pulldown() +{ + var_00 = self; + var_00 soundscripts\_snd_playsound::snd_play_delayed_linked("sfb_guy_pulls_over_table",0.5); +} + +//Function Number: 52 +pre_hangar_hall_explosion() +{ + soundscripts\_snd_playsound::snd_play_2d("bomb_explo_shakes"); +} + +//Function Number: 53 +enter_hangar() +{ + soundscripts\_snd::snd_music_message("enter_hangar"); +} + +//Function Number: 54 +shrike_hanger_flyby() +{ + var_00 = self; + soundscripts\_audio_mix_manager::mm_add_submix("shrike_hanger_flyby",0.1); + var_00 soundscripts\_snd_playsound::snd_play_linked("shrike_flyby_hanger_jet"); + wait(1.5); + soundscripts\_audio_mix_manager::mm_clear_submix("shrike_hanger_flyby",1.5); +} + +//Function Number: 55 +warbird_hanger_dropoff() +{ + var_00 = self; + var_00 vehicle_turnengineoff(); + wait(3.39); + var_00 soundscripts\_snd_playsound::snd_play_linked("warbird_dropoff_hanger"); + wait(2.05); + var_00 soundscripts\_snd_playsound::snd_play_linked("warbird_dropoff_hanger_hover"); + var_00 waittill("unloaded"); + var_00 soundscripts\_snd_playsound::snd_play_linked("warbird_depart_hanger"); +} + +//Function Number: 56 +littlebird_hanger_flyby() +{ + var_00 = self; + var_00 vehicle_turnengineoff(); + var_00 soundscripts\_snd_playsound::snd_play_linked("littlebird_hanger_arrive"); + wait(3); + var_01 = soundscripts\_snd_playsound::snd_play_loop_linked("littlebird_hanger_hover_lp","littlebird_hanger_hover_stop",1.15,2); + level waittill("littlebird_overwatch_advance"); + var_00 soundscripts\_snd_playsound::snd_play_linked("littlebird_hanger_advance"); + level waittill("flag_information_center"); + var_00 soundscripts\_snd_playsound::snd_play_linked("littlebird_hanger_depart"); + wait(0.15); + level notify("littlebird_hanger_hover_stop"); +} + +//Function Number: 57 +warbird_flyover_shootdown() +{ + var_00 = self; + iprintlnbold("START: warbird_flyover_shootdown"); +} + +//Function Number: 58 +aud_hangar_door_exit() +{ + soundscripts\_audio_mix_manager::mm_add_submix("ship_hatch_open_mix",2); + var_00 = self; + var_00 soundscripts\_snd_playsound::snd_play_delayed_linked("sfb_ship_hatch_open",1.2); + var_00 soundscripts\_snd_playsound::snd_play_delayed_linked("sfb_ship_hatch_bounce",3.7); + wait(8.5); + soundscripts\_audio_mix_manager::mm_clear_submix("ship_hatch_open_mix",2); +} + +//Function Number: 59 +handle_hatch_takedown_notetracks() +{ + maps\_anim::addnotetrack_customfunction("cormack","hatch_takedown_cormack_door",::hatch_takedown_cormack_door,"door_takedown"); + maps\_anim::addnotetrack_customfunction("cormack","hatch_takedown_cormack_punch",::hatch_takedown_cormack_punch,"door_takedown"); + maps\_anim::addnotetrack_customfunction("guy","hatch_takedown_bad_guy_punched",::hatch_takedown_bad_guy_punched,"door_takedown"); +} + +//Function Number: 60 +hatch_takedown_cormack_door(param_00) +{ + var_01 = (-8703,66813,-1222); + soundscripts\_snd_playsound::snd_play_at("sfb_hatch_takedown_door",var_01); + param_00 soundscripts\_snd_playsound::snd_play_linked("sfb_hatch_takedown_crmk_exo"); +} + +//Function Number: 61 +hatch_takedown_cormack_punch(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("sfb_hatch_takedown_crmk_punch"); +} + +//Function Number: 62 +hatch_takedown_bad_guy_punched(param_00) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("sfb_hatch_takedown_baddie_scream"); +} + +//Function Number: 63 +aud_door_takedown_mix_handler() +{ + soundscripts\_audio_mix_manager::mm_add_submix("door_guy_takedown",0.5); + soundscripts\_audio_zone_manager::azm_start_zone("sf_b_int_nav_deck"); + wait(5); + soundscripts\_audio_mix_manager::mm_clear_submix("door_guy_takedown",1); +} + +//Function Number: 64 +aud_door_takedown_scream() +{ +} + +//Function Number: 65 +enter_room_above_hangar() +{ + soundscripts\_snd::snd_music_message("enter_room_above_hangar"); +} + +//Function Number: 66 +enter_server_room() +{ + soundscripts\_snd::snd_music_message("enter_server_room"); +} + +//Function Number: 67 +enter_bridge() +{ + soundscripts\_snd::snd_music_message("enter_bridge"); +} + +//Function Number: 68 +cormack_shoots_bridge_guy() +{ + maps\_anim::addnotetrack_animsound("guy","guy_control_react","sfb_bridge_foly_dead_guy_shot","sfb_bridge_foly_dead_guy_shot"); + maps\_anim::addnotetrack_animsound("cormack","control_room_pulloff","sfb_bridge_foly_dead_guy_crmk_walk","sfb_bridge_foly_dead_guy_crmk_walk"); + maps\_anim::addnotetrack_animsound("cormack","control_room_pulloff","sfb_bridge_foly_dead_guy_crmk_wipe","sfb_bridge_foly_dead_guy_crmk_wipe"); + maps\_anim::addnotetrack_animsound("guy","control_room_pulloff","sfb_bridge_foly_dead_guy_drop","sfb_bridge_foly_dead_guy_drop"); +} + +//Function Number: 69 +start_camera_static() +{ + soundscripts\_snd_playsound::snd_play_2d("sfb_camera_static_rail_gun"); +} + +//Function Number: 70 +rail_gun_start() +{ + soundscripts\_snd::snd_music_message("rail_gun_start"); + soundscripts\_audio_mix_manager::mm_add_submix("sfb_cargoship_destruct",0.05); +} + +//Function Number: 71 +mob_audio_setup() +{ + if(!isdefined(level.aud.mob_lat_move)) + { + level.aud.mob_lat_move = 0; + } + + if(!isdefined(level.aud.mob_vert_move)) + { + level.aud.mob_vert_move = 0; + } + + thread mob_dismount_console(); +} + +//Function Number: 72 +mob_camera_static() +{ + soundscripts\_snd_playsound::snd_play_2d("mob_camera_static"); +} + +//Function Number: 73 +mob_xform() +{ + wait(0.6); + soundscripts\_snd_playsound::snd_play_2d("mob_xform"); +} + +//Function Number: 74 +mob_turret_move(param_00) +{ + switch(param_00) + { + case "lat_move": + if(level.aud.mob_lat_move == 0) + { + level.aud.mob_lat_move = 1; + level.player soundscripts\_snd_playsound::snd_play_loop_linked("mob_lat_move_lp","aud_mob_lat_stop"); + } + break; + + case "lat_stop": + if(level.aud.mob_lat_move == 1) + { + level.aud.mob_lat_move = 0; + level notify("aud_mob_lat_stop"); + level.player soundscripts\_snd_playsound::snd_play_linked("mob_lat_stop"); + earthquake(0.15,0.3,level.player.origin,100); + } + break; + + case "vert_move": + if(level.aud.mob_vert_move == 0) + { + level.aud.mob_vert_move = 1; + level.player soundscripts\_snd_playsound::snd_play_loop_linked("mob_vert_move_lp","aud_mob_vert_stop"); + } + break; + + case "vert_stop": + if(level.aud.mob_vert_move == 1) + { + level.aud.mob_vert_move = 0; + level notify("aud_mob_vert_stop"); + level.player soundscripts\_snd_playsound::snd_play_linked("mob_vert_stop"); + } + break; + } +} + +//Function Number: 75 +mob_fire() +{ + soundscripts\_snd_playsound::snd_play_2d("wpn_railgun_arclight_plr"); +} + +//Function Number: 76 +mob_dismount_console() +{ + level.player waittill("laser_off"); + level notify("aud_mob_vert_stop"); + level notify("aud_mob_lat_stop"); +} + +//Function Number: 77 +sfb_end_logo() +{ + soundscripts\_snd_playsound::snd_play_2d("sfb_end_logo"); + soundscripts\_audio_mix_manager::mm_add_submix("sfb_end_logo"); +} + +//Function Number: 78 +shrike_railgun_flyby_01(param_00,param_01) +{ + soundscripts\_snd_playsound::snd_play_2d("shrike_flyby_railgun_1_jet"); +} + +//Function Number: 79 +shrike_railgun_flyby_02(param_00,param_01) +{ + soundscripts\_snd_playsound::snd_play_2d("shrike_flyby_railgun_2_front"); +} + +//Function Number: 80 +cargo_ship_hit_react(param_00) +{ + if(!isdefined(level.aud.cargo_ship_hit_count)) + { + level.aud.cargo_ship_hit_count = 0; + level.aud.cargo_ship_hit_aliases = ["sfb_cargoship1_damage","sfb_cargoship1_destroy","sfb_cargoship2_damage","sfb_cargoship2_destroy"]; + } + + soundscripts\_snd_playsound::snd_play_2d(level.aud.cargo_ship_hit_aliases[level.aud.cargo_ship_hit_count]); + level.aud.cargo_ship_hit_count++; +} + +//Function Number: 81 +start_bridge_end_foley() +{ + soundscripts\_audio_mix_manager::mm_add_submix("bridge_end_foley"); + soundscripts\_snd_playsound::snd_play_delayed_2d("sfb_bridge_end_plyr_foly",0.2); + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("sfb_bridge_end_brk_dist",1.7); + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("sfb_bridge_end_brk_walk_up",7.8); + level.burke soundscripts\_snd_playsound::snd_play_delayed_linked("sfb_bridge_end_brk_punch",30.4); + level.cormack soundscripts\_snd_playsound::snd_play_delayed_linked("sfb_bridge_end_crmk_point",19.3); + level.cormack soundscripts\_snd_playsound::snd_play_delayed_linked("sfb_bridge_end_crmk_away",28.6); + level.maddox soundscripts\_snd_playsound::snd_play_delayed_linked("sfb_bridge_end_mdx_up",11.3); + level.maddox soundscripts\_snd_playsound::snd_play_delayed_linked("sfb_bridge_end_mdx_away",31.9); +} + +//Function Number: 82 +shrike_railgun_flyby_03(param_00,param_01) +{ + param_00 soundscripts\_snd_playsound::snd_play_linked("shrike_flyby_railgun_3_jet"); +} + +//Function Number: 83 +rail_gun_done() +{ + soundscripts\_snd::snd_music_message("rail_gun_done"); + soundscripts\_audio_mix_manager::mm_clear_submix("sfb_cargoship_destruct",0.05); + soundscripts\_audio_mix_manager::mm_add_submix("bridge_end_foley"); +} + +//Function Number: 84 +e3_demo_fade_out() +{ + soundscripts\_audio_mix_manager::mm_add_submix("mute_all",3); +} + +//Function Number: 85 +e3_demo_fade_in() +{ + soundscripts\_audio_mix_manager::mm_add_submix("mute_all"); + wait(0.05); + soundscripts\_audio_mix_manager::mm_clear_submix("mute_all",2); +} + +//Function Number: 86 +point_source_dambs() +{ + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("sf_b_fire_flareups",(-7448,66877,-1165),"fire_flareups_hall"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("sf_b_fire_flareups",(-7580,66731,-1168),"fire_flareups_mess_hall"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("sf_b_fire_flareups",(-7605,65714,-1190),"fire_flareups_extinguisher_hall"); + soundscripts\_audio_dynamic_ambi::damb_start_preset_at_point("sf_b_fire_flareups",(-7737,67169,-1046),"fire_flareups_catwalk"); +} \ No newline at end of file diff --git a/AW/PC/maps/sanfran_b_code.gsc b/AW/PC/maps/sanfran_b_code.gsc new file mode 100644 index 0000000..9ce6081 --- /dev/null +++ b/AW/PC/maps/sanfran_b_code.gsc @@ -0,0 +1,3887 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: sanfran_b_code.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 209 + * Decompile Time: 2975 ms + * Timestamp: 4/22/2024 2:35:26 AM +*******************************************************************/ + +//Function Number: 1 +spawn_allies() +{ + level.burke = getent("burke","targetname") maps\_utility::spawn_ai(1); + level.cormack = getent("cormack","targetname") maps\_utility::spawn_ai(1); + level.maddox = getent("maddox","targetname") maps\_utility::spawn_ai(1); + level.burke setup_hero("burke"); + level.cormack setup_hero("cormack"); + level.maddox setup_hero("maddox"); +} + +//Function Number: 2 +setup_hero(param_00) +{ + maps\_utility::magic_bullet_shield(); + self.animname = param_00; + if(!isdefined(level.heroes)) + { + level.heroes = []; + } + + level.heroes[level.heroes.size] = self; +} + +//Function Number: 3 +bridge_idle_anims() +{ + var_00 = maps\_utility::spawn_anim_model("bridge_part_a"); + var_01 = maps\_utility::spawn_anim_model("bridge_part_b"); + var_02 = maps\_utility::spawn_anim_model("bridge_part_c"); + var_03 = maps\_utility::spawn_anim_model("bridge_part_d"); + var_04 = common_scripts\utility::getstruct("org_bridge_parts","targetname"); + var_05 = [var_00,var_01,var_02,var_03]; + var_04 thread maps\_anim::anim_loop(var_05,"bridge_parts_idle"); +} + +//Function Number: 4 +tilt_boat(param_00) +{ + common_scripts\utility::flag_wait("intro_anim_finished"); + var_01 = common_scripts\utility::spawn_tag_origin(); + if(!isdefined(param_00) || !param_00) + { + var_01.angles = (0,0,0); + var_01 rotateto((-5,0,5),2); + } + else + { + var_01.angles = (-5,0,5); + } + + level.player playersetgroundreferenceent(var_01); + level.ground_ref_ent = var_01; + thread adjust_gravity(); + level.waves = 0; +} + +//Function Number: 5 +adjust_gravity() +{ + var_00 = level.ground_ref_ent.angles; + var_01 = -1 * anglestoup(level.ground_ref_ent.angles); + setphysicsgravitydir(var_01); + var_02 = var_01; + for(;;) + { + var_03 = -1 * anglestoup(var_00); + var_01 = -1 * anglestoup(level.ground_ref_ent.angles); + var_04 = vectornormalize(var_01 + var_01 - var_03 * 100); + if(var_04 != var_02) + { + setphysicsgravitydir(var_04); + var_02 = var_04; + } + + level.physics_gravity_vector = var_01; + var_00 = level.ground_ref_ent.angles; + wait(0.05); + } +} + +//Function Number: 6 +close_interior_door() +{ + var_00 = getent("interior_exit_clip","targetname"); + var_00 disconnectpaths(); + level.interior_door = maps\_utility::spawn_anim_model("interior_bulkhead"); + var_01 = common_scripts\utility::getstruct("org_squad_enter_mob","targetname"); + var_01 maps\_anim::anim_first_frame_solo(level.interior_door,"ripopen_bulkhead"); +} + +//Function Number: 7 +mob_enter_player_clip() +{ + var_00 = getent("player_enter_mob_clip","targetname"); + var_00.old_origin = var_00.origin; + var_00.origin = (0,0,0); + var_00 disconnectpaths(); + common_scripts\utility::flag_wait("flag_obj_marker_enter_ship"); + var_00.origin = var_00.old_origin; + common_scripts\utility::flag_wait("flag_player_entered_interior"); + var_00 common_scripts\utility::delaycall(0.5,::delete); + var_00 common_scripts\utility::delaycall(0.55,::connectpaths); +} + +//Function Number: 8 +intro_scene() +{ + soundscripts\_snd::snd_message("intro_scene"); + thread maps\sanfran_b_lighting::play_flickering_fire_light(); + if(level.nextgen) + { + thread maps\_utility::vision_set_fog_changes("sfb_neutral",0); + setsunlight(0,0,0); + maps\_lighting::set_spot_color("fire_rim",(1,0.8,0.83)); + maps\_lighting::set_spot_intensity("fire_rim",300000); + } + else + { + thread maps\_utility::vision_set_fog_changes("sanfran_b_exterior_dark",0); + } + + common_scripts\_exploder::exploder(4225); + if(level.nextgen) + { + maps\_utility::delaythread(2,::maps\_utility::fog_set_changes,"sanfran_b_exterior_dark_fog",2); + maps\_utility::delaythread(4,::maps\_utility::fog_set_changes,"sanfran_b_exterior_dark_nofog",1); + maps\_utility::delaythread(3.5,::maps\_lighting::set_spot_intensity,"fire_rim",0); + maps\_utility::delaythread(6,::maps\_utility::fog_set_changes,"sanfran_b_exterior_dark_fog",5); + maps\_utility::delaythread(6,::maps\_lighting::lerp_spot_intensity,"fire_rim",0.5,300000); + } + else + { + maps\_utility::delaythread(2,::maps\_utility::vision_set_fog_changes,"sanfran_b_exterior_dark_fog",2); + maps\_utility::delaythread(4,::maps\_utility::vision_set_fog_changes,"sanfran_b_exterior_dark_nofog",1); + maps\_utility::delaythread(6,::maps\_utility::vision_set_fog_changes,"sanfran_b_exterior_dark_fog",1); + } + + level.player allowcrouch(0); + level.player allowprone(0); + level.player disableweapons(); + soundscripts\_snd::snd_message("sfb_intro_burke_foley"); + soundscripts\_snd::snd_message("sfb_intro_car_explode"); + var_00 = maps\_utility::spawn_anim_model("player_arms"); + level.player playerlinktodelta(var_00,"tag_player",1,8,8,4,4); + level.player common_scripts\utility::delaycall(0.1,::playerlinktodelta,var_00,"tag_player",1,12,12,10,4); + level.player enableslowaim(); + var_01 = maps\_vehicle::spawn_vehicle_from_targetname("littlebird_intro"); + var_01.animname = "littlebird"; + if(level.nextgen) + { + setsaveddvar("r_dynamicSpotLightShadows",0); + } + + maps\_utility::delaythread(8,::common_scripts\_exploder::exploder,4222); + maps\_utility::delaythread(8,::common_scripts\_exploder::exploder,1999); + maps\_utility::delaythread(11,::maps\_utility::stop_exploder,4223); + var_02 = maps\_utility::spawn_anim_model("pickup_truck"); + var_03 = maps\_utility::spawn_anim_model("domestic_mini"); + var_04 = [level.burke,level.cormack,level.maddox,var_00,var_01,var_02,var_03]; + var_05 = common_scripts\utility::getstruct("org_intro_anim","targetname"); + var_05 maps\_anim::anim_first_frame(var_04,"intro"); + foreach(var_07 in level.heroes) + { + var_07 thread maps\sanfran_b_util::hide_friendname_until_flag_or_notify("player_control_enabled"); + var_07 maps\sanfran_b_util::disable_awareness(); + } + + thread maps\_utility::flag_set_delayed("intro_dialogue",23); + maps\_utility::delaythread(22.5,::maps\_utility::stop_exploder,1999); + maps\_utility::delaythread(21,::common_scripts\_exploder::exploder,4443); + level.burke soundscripts\_snd::snd_message("pcap_vo_sf_b_intro","burke"); + level.cormack soundscripts\_snd::snd_message("pcap_vo_sf_b_intro","cormack"); + var_05 thread maps\_anim::anim_single(var_04,"intro"); + level waittill("intro_scene_artillery_rumble"); + level.player playrumbleonentity("artillery_rumble"); + common_scripts\utility::flag_wait("intro_anim_finished"); + soundscripts\_snd::snd_message("intro_scene_done"); + level notify("player_control_enabled"); + maps\_utility::battlechatter_on("allies"); + maps\_utility::battlechatter_on("axis"); + level.player unlink(); + level.player allowcrouch(1); + level.player allowprone(1); + level.player disableslowaim(); + setsaveddvar("ammoCounterHide","0"); + if(level.currentgen) + { + maps\_utility::vision_set_fog_changes("sanfran_b_exterior_dark_fog",1); + } + + if(level.nextgen) + { + maps\_utility::fog_set_changes("sanfran_b",4); + } + + thread maps\sanfran_b_lighting::stop_flickering_fire_light(); + thread maps\_shg_fx::vfx_sunflare("sanfran_sunflare_a"); + common_scripts\_exploder::exploder(4444); + maps\_utility::pauseexploder(4445); + common_scripts\utility::flag_clear("msg_vfx_zone1000_disable"); + var_00 delete(); + var_01 delete(); + maps\_utility::stop_exploder(4222); + maps\_utility::stop_exploder(4225); + setsaveddvar("r_dynamicSpotLightShadows",1); + setsaveddvar("r_fog_ev_adjust",1.5); + if(level.nextgen) + { + } + + maps\_utility::autosave_by_name(); + thread squad_becomes_aware_after_intro(); + maps\_utility::activate_trigger_with_targetname("trig_squad_move_001"); +} + +//Function Number: 9 +squad_becomes_aware_after_intro() +{ + maps\_utility::trigger_wait_targetname("trig_heli_takeoff_pod_1"); + foreach(var_01 in level.heroes) + { + var_01 maps\sanfran_b_util::enable_awareness(); + } +} + +//Function Number: 10 +ambient_deck() +{ + level waittill("player_control_enabled"); + thread warbird_strafe_run(); + thread ambient_shrike_flyby(); + var_00 = getent("refl_probe_heli_open","targetname"); + var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("ambient_warbird_1"); + var_01 soundscripts\_snd::snd_message("warbird_circling_perimeter"); + waittillframeend; + var_01 maps\_vehicle::godon(); + var_01 overridereflectionprobe(var_00.origin); + var_01 thread maps\sanfran_b_util::ambient_warbird_shooting_think(0); + var_01 thread maps\sanfran_b_util::ambient_warbird_wait_to_fire(); + var_01 thread delete_ambient(); + var_01 setmaxpitchroll(10,60); + var_01.ignoreme = 1; + var_02 = getentarray("ambient_drone_swarm_1","script_noteworthy"); + if(!isdefined(level.ambient_drones)) + { + level.ambient_drones = []; + } + + foreach(var_04 in var_02) + { + var_05 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive(var_04.targetname); + var_05.ignoreme = 1; + var_05 maps\_utility::ent_flag_set("fire_disabled"); + var_05 thread delete_ambient(); + level.ambient_drones[level.ambient_drones.size] = var_05; + } +} + +//Function Number: 11 +warbird_strafe_run() +{ + maps\_utility::trigger_wait_targetname("trig_warbird_strafe"); + var_00 = getent("refl_probe_heli_open","targetname"); + var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("warbird_strafe_1"); + var_01 soundscripts\_snd::snd_message("warbird_strafe_01"); + var_01 overridereflectionprobe(var_00.origin); + waittillframeend; + var_01 thread maps\sanfran_b_util::ambient_warbird_shooting_think(0); + var_01 thread maps\sanfran_b_util::ambient_warbird_wait_to_fire(); + var_01 setmaxpitchroll(10,60); +} + +//Function Number: 12 +ambient_shrike_flyby() +{ + maps\_utility::trigger_wait_targetname("trig_heli_takeoff_pod_1"); + var_00 = getent("refl_probe_heli_open","targetname"); + var_01 = maps\_utility::array_spawn_targetname("flyby_shrikes"); + var_01 soundscripts\_snd::snd_message("shrike_flyby_pair_01"); + foreach(var_03 in var_01) + { + var_03 overridereflectionprobe(var_00.origin); + } + + common_scripts\utility::array_thread(var_01,::maps\_vehicle::gopath); +} + +//Function Number: 13 +ambient_explosions() +{ + level endon("jammer_2_deactivated"); + maps\_utility::trigger_wait_targetname("trig_heli_takeoff_pod_1"); + wait(5); + for(;;) + { + var_00 = anglestoforward(level.player.angles); + var_01 = randomintrange(512,800); + var_02 = anglestoright(level.player.angles); + var_03 = randomintrange(-400,400); + var_04 = level.player.origin + var_00 * var_01 + var_02 * var_03; + var_05 = var_04; + var_06 = var_04 - (0,0,150); + var_07 = bullettrace(var_05,var_06,0,undefined); + if(isdefined(var_07)) + { + var_05 = var_07["position"]; + var_08 = vectortoangles(var_07["normal"]); + var_08 = var_08 + (90,0,0); + var_00 = anglestoforward(var_08); + var_09 = anglestoup(var_08); + playfx(common_scripts\utility::getfx("ambient_explosion"),var_05,var_09,var_00); + radiusdamage(var_05,100,200,20); + physicsexplosionsphere(var_05,100,50,2); + } + + wait(randomfloatrange(5,10)); + } +} + +//Function Number: 14 +enemy_reinforcements() +{ + level endon("all_jammers_deactivated"); + for(;;) + { + var_00 = getaiarray("axis"); + if(var_00.size <= 2) + { + var_01 = enemy_reinforcements_think(); + if(isdefined(var_01)) + { + var_01 thread deck_reinforcement_modify_accuracy(); + var_02 = randomint(100); + if(var_02 >= 0 && var_02 < 50) + { + var_01 maps\_utility::set_goal_entity(level.burke); + } + else + { + var_01 maps\_utility::set_goal_entity(level.cormack); + } + } + } + + wait(0.05); + } +} + +//Function Number: 15 +enemy_reinforcements_think() +{ + var_00 = getent("enemy_reinforcement_spawner","targetname"); + var_01 = common_scripts\utility::getstructarray("enemy_reinforce_loc","targetname"); + var_02 = getdvarint("cg_fov"); + var_03 = cos(var_02); + var_01 = sortbydistance(var_01,level.player.origin); + var_01 = common_scripts\utility::array_reverse(var_01); + foreach(var_05 in var_01) + { + var_06 = anglestoforward(level.player getplayerangles()); + var_07 = vectornormalize(var_05.origin - level.player.origin); + if(vectordot(var_06,var_07) < var_03) + { + var_00.origin = var_05.origin; + var_00.count++; + var_08 = var_00 maps\_utility::spawn_ai(); + return var_08; + } + + wait(0.05); + } +} + +//Function Number: 16 +deck_reinforcement_modify_accuracy() +{ + self endon("death"); + var_00 = getdvarint("cg_fov"); + var_01 = cos(var_00); + thread maps\sanfran_b_util::equip_microwave_grenade(); + createthreatbiasgroup("deck_reinforcements_behind_player"); + createthreatbiasgroup("deck_reinforcements_in_front_of_player"); + setthreatbias("player","deck_reinforcements_behind_player",-20000); + setthreatbias("player","deck_reinforcements_in_front_of_player",0); + self setthreatbiasgroup("deck_reinforcements_behind_player"); + for(;;) + { + var_02 = anglestoforward(level.player.angles); + var_03 = vectornormalize(self.origin - level.player.origin); + if(vectordot(var_02,var_03) < var_01) + { + self setthreatbiasgroup("deck_reinforcements_behind_player"); + } + else + { + self setthreatbiasgroup("deck_reinforcements_in_front_of_player"); + } + + wait(0.05); + } +} + +//Function Number: 17 +delete_ambient() +{ + self endon("death"); + common_scripts\utility::flag_wait("flag_information_center"); + self delete(); +} + +//Function Number: 18 +cargo_ship_missiles() +{ + level endon("jammer_2_deactivated"); + maps\_utility::trigger_wait_targetname("trig_heli_takeoff_pod_1"); + var_00 = common_scripts\utility::getstructarray("cargo_missile_orgs","targetname"); + var_01 = getentarray("cargo_missile_targets","targetname"); + for(;;) + { + var_02 = var_00[randomint(var_00.size)]; + var_03 = var_01[randomint(var_01.size)]; + var_04 = common_scripts\utility::getstruct(var_02.target,"targetname").origin; + var_05 = vectortoangles(var_03.origin - var_02.origin); + var_06 = magicbullet("cargo_ship_missile",var_02.origin,var_04); + var_06 missile_settargetent(var_03); + var_06 missile_setflightmodedirect(); + playfx(common_scripts\utility::getfx("missile_launch_smoke"),var_02.origin,anglestoforward(var_05),anglestoup(var_05)); + wait(randomfloatrange(5,10)); + } +} + +//Function Number: 19 +shrike_flyby() +{ + maps\_utility::trigger_wait_targetname("trig_shrike_flyby_1"); + if(level.nextgen) + { + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("shrike_flyby_1"); + var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("shrike_flyby_2"); + soundscripts\_snd::snd_message("shrike_flyby_pair_02",var_00,var_01); + return; + } + + var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("shrike_flyby_2"); + soundscripts\_snd::snd_message("shrike_flyby_pair_02",undefined,var_01); +} + +//Function Number: 20 +initial_combat() +{ + level.deck_navy_guys = maps\_utility::array_spawn_noteworthy("navy_deck_guys_initial",1); + maps\_utility::trigger_wait_targetname("trig_heli_takeoff_pod_1"); + level.enemy_deck_guys = maps\_utility::array_spawn_noteworthy("enemy_deck_guys_initial",1); + common_scripts\utility::array_thread(level.enemy_deck_guys,::maps\_utility::set_grenadeammo,0); + level notify("spawned_jammer_guards"); +} + +//Function Number: 21 +shrike_takeoff() +{ + level.player endon("death"); + var_00 = getent("refl_probe_heli_open","targetname"); + var_01 = maps\_vehicle::spawn_vehicle_from_targetname("heli_takeoff_pod_1"); + var_01.animname = "shrike_1"; + var_01 maps\_vehicle::godon(); + var_02 = maps\_vehicle::spawn_vehicle_from_targetname("heli_takeoff_pod_2"); + var_02.animname = "shrike_2"; + var_02 maps\_vehicle::godon(); + var_02 vehicle_removebrushmodelcollision(); + var_03 = common_scripts\utility::getstruct("org_shrike_takeoff","targetname"); + var_04 = [var_02,var_01]; + var_03 thread maps\_anim::anim_first_frame(var_04,"shrike_takeoff"); + maps\_utility::trigger_wait_targetname("trig_heli_takeoff_pod_1"); + soundscripts\_snd::snd_message("shrike_takeoff",var_02,var_01); + var_03 maps\_anim::anim_single(var_04,"shrike_takeoff"); + foreach(var_06 in var_04) + { + var_06 delete(); + } +} + +//Function Number: 22 +shrike_takeoff_cg() +{ + maps\_utility::trigger_wait_targetname("trig_heli_takeoff_pod_1"); + wait(5); + common_scripts\utility::flag_set("useyourboosters_vo"); +} + +//Function Number: 23 +initial_deck_guys_invuln() +{ + self endon("death"); + maps\_utility::magic_bullet_shield(); + thread maps\_utility::set_grenadeammo(0); + wait(randomfloatrange(1,3)); + maps\_utility::stop_magic_bullet_shield(); + self.noragdoll = undefined; +} + +//Function Number: 24 +move_initial_enemies() +{ + var_00 = getent("trig_warbird_strafe","targetname"); + for(;;) + { + var_00 waittill("trigger",var_01); + if(isdefined(var_01) && isplayer(var_01) || maps\_utility::is_in_array(level.heroes,var_01)) + { + break; + } + } + + var_02 = getent("vol_first_helipad","targetname"); + var_03 = getent("vol_second_helipad","targetname"); + var_04 = getent("vol_tall_helipad","targetname"); + var_05 = getaiarray("axis"); + var_06 = var_03; + if(isdefined(var_05) && var_05.size > 0) + { + foreach(var_01 in var_05) + { + if(!var_01 istouching(var_02)) + { + continue; + } + + var_01 maps\sanfran_b_util::disable_awareness(); + var_01 thread become_aware_on_goal(); + var_01 thread become_aware_when_player_is_in_volume(); + var_01 setgoalvolumeauto(var_06); + var_01 thread detect_when_player_is_in_volume(var_06); + if(var_06 == var_03) + { + var_06 = var_04; + continue; + } + + var_06 = var_03; + } + } +} + +//Function Number: 25 +deck_reinforcement_ally_think() +{ + maps\_utility::pathrandompercent_set(500); +} + +//Function Number: 26 +become_aware_on_goal() +{ + self endon("death"); + self endon("player_touching_volume"); + self waittill("goal"); + maps\sanfran_b_util::enable_awareness(); + self cleargoalvolume(); + self notify("guys_aware_on_goal"); +} + +//Function Number: 27 +become_aware_when_player_is_in_volume() +{ + self endon("death"); + self endon("guys_aware_on_goal"); + self waittill("player_touching_volume"); + maps\sanfran_b_util::enable_awareness(); + self cleargoalvolume(); +} + +//Function Number: 28 +detect_when_player_is_in_volume(param_00) +{ + level.player endon("death"); + while(!level.player istouching(param_00)) + { + wait(0.05); + } + + self notify("player_touching_volume"); +} + +//Function Number: 29 +manage_deck_combat() +{ + level.player endon("death"); + maps\_utility::trigger_wait_targetname("trig_deck_combat_first_wave"); + level.burke maps\_utility::enable_careful(); + level.cormack maps\_utility::enable_careful(); + level.maddox maps\_utility::enable_careful(); + resetsunlight(); + maps\_lighting::set_spot_intensity("fire_rim",0); + thread thin_out_navy_guys(2); + thread deck_jammers(); + if(level.currentgen) + { + var_00 = getentarray("deck_combat_first_wave_guys","targetname"); + foreach(var_02 in var_00) + { + var_03 = var_02 maps\_utility::spawn_ai(); + wait 0.05; + } + } + else + { + maps\_utility::array_spawn_targetname("deck_combat_first_wave_guys"); + } + + thread check_player_deck_position_1(); + maps\_utility::trigger_wait_targetname("trig_shrike_flyby_1"); + var_05 = maps\_utility::array_spawn_noteworthy("jammer_1_defenders",0,1); + common_scripts\utility::array_thread(var_05,::jammer_1_defenders_logic); + common_scripts\utility::array_thread(var_05,::deck_reinforcement_modify_accuracy); + maps\sanfran_b_util::wait_for_number_enemies_alive(5); + thread deck_drones("left"); + common_scripts\utility::flag_wait("jammer_1_deactivated"); + thread check_player_deck_position_2(); + level.burke maps\_utility::disable_careful(); + level.cormack maps\_utility::disable_careful(); + level.maddox maps\_utility::disable_careful(); + foreach(var_07 in level.deck_drones) + { + if(isdefined(var_07) && isalive(var_07)) + { + var_07 maps\_vehicle::vehicle_set_health(1); + var_07 dodamage(9999,var_07.origin); + } + } + + maps\_utility::autosave_by_name(); + thread thin_out_navy_guys(1); + thread on_the_way_to_jammer_2(); + maps\_utility::activate_trigger_with_targetname("trig_ally_move_jammer_2"); + var_09 = getent("refl_probe_heli_open","targetname"); + var_0A = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("heli_left_1"); + var_0A soundscripts\_snd::snd_message("warbird_dropoff_01"); + var_0A setmaxpitchroll(15,60); + var_0A thread setup_deck_deploy_warbird(); + var_0A maps\_utility::ent_flag_init("dont_shoot_player"); + var_0A maps\_utility::ent_flag_set("dont_shoot_player"); + var_0A overridereflectionprobe(var_09.origin); + wait(1); + var_0B = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("heli_left_2"); + var_0B soundscripts\_snd::snd_message("warbird_dropoff_02"); + var_0B setmaxpitchroll(15,60); + var_0B thread setup_deck_deploy_warbird(); + var_0B maps\_utility::ent_flag_init("dont_shoot_player"); + var_0B maps\_utility::ent_flag_set("dont_shoot_player"); + var_0B overridereflectionprobe(var_09.origin); + common_scripts\utility::flag_set("deck_warbird_vo"); + maps\_utility::trigger_wait_targetname("trig_jammer_2_drones"); + var_0C = deck_drones("right"); + thread friendly_airstrike(var_0C); + maps\_utility::activate_trigger_with_targetname("trig_post_jammer_2_squad_move"); + thread maps\_utility::flag_set_delayed("jammer_2_vo",3); + common_scripts\utility::flag_wait("jammer_2_deactivated"); + common_scripts\utility::flag_set("flag_move_gideon_into_interior"); + thread thin_out_navy_guys(0); + foreach(var_07 in level.deck_drones) + { + if(isdefined(var_07) && isalive(var_07)) + { + var_07 maps\_vehicle::vehicle_set_health(1); + var_07 dodamage(9999,var_07.origin); + } + } + + maps\_utility::autosave_by_name(); + level.cormack maps\_utility::teleport_ai(getnode("cormack_deck_end_cover","targetname")); + level.maddox maps\_utility::teleport_ai(getnode("maddox_deck_end_cover","targetname")); + level.burke maps\_utility::teleport_ai(getnode("burke_deck_end_cover","targetname")); + maps\_utility::activate_trigger_with_targetname("trig_move_squad_to_pre_mob_enter"); + thread move_squad_into_ship(); + thread jammer_3_navy_drone_combat(); + maps\_utility::delaythread(3,::deck_enemies_cleared); + var_0F = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("heli_back_2"); + var_0F soundscripts\_snd::snd_message("warbird_dropoff_03"); + var_0F setmaxpitchroll(10,60); + var_0F thread setup_deck_deploy_warbird(); + var_0F overridereflectionprobe(var_09.origin); + var_10 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("heli_back_1"); + var_10 soundscripts\_snd::snd_message("warbird_dropoff_04"); + var_10 setmaxpitchroll(10,60); + var_10 thread setup_deck_deploy_warbird(); + var_10 overridereflectionprobe(var_09.origin); + var_11 = getent("warbird_slide_trigger","targetname"); + var_11 enablelinkto(); + var_11 linkto(var_10); + thread wait_for_all_deck_warbirds_to_unload(); + var_0F thread hangar_heli_wait_for_unload("deck_warbird_3_unloaded"); + var_10 thread hangar_heli_wait_for_unload("deck_warbird_4_unloaded"); + thread jammer_3_shrike_flyby(var_10); + common_scripts\utility::flag_wait("all_deck_warbirds_deployed"); + var_12 = getaiarray("axis"); + while(var_12.size > 2) + { + var_12 = maps\_utility::remove_dead_from_array(var_12); + wait(0.5); + } + + if(common_scripts\utility::flag("player_near_mob_entrance") == 0) + { + common_scripts\utility::flag_set("rail_guns_secure_vo"); + maps\_utility::activate_trigger_with_targetname("trig_squad_move_into_boat"); + common_scripts\utility::flag_set("show_enter_ship_obj_marker"); + foreach(var_03 in level.heroes) + { + var_03 cleargoalvolume(); + var_03.fixednode = 1; + } + + common_scripts\utility::flag_wait("all_jammers_deactivated"); + wait(0.25); + var_12 = getaiarray("axis"); + if(var_12.size > 0) + { + foreach(var_03 in var_12) + { + var_03 thread maps\sanfran_b_util::bloody_death(randomfloatrange(0,2)); + } + } + + common_scripts\utility::flag_set("flag_obj_marker_enter_ship"); + common_scripts\utility::array_thread(level.heroes,::maps\_utility::set_ignoreme,1); + common_scripts\utility::array_thread(level.heroes,::maps\_utility::set_ignoreall,1); + common_scripts\utility::array_thread(level.heroes,::maps\_utility::disable_pain); + maps\_utility::autosave_by_name(); + slow_player_inside(); + } +} + +//Function Number: 30 +check_player_deck_position_1() +{ + level endon("jammer_1_deactivated"); + maps\_utility::array_spawn_function_targetname("deck_top_combat_first_wave_guys",::maps\sanfran_b_util::equip_microwave_grenade); + common_scripts\utility::flag_wait("flag_deck_top_combat_first_wave_guys"); + maps\_utility::array_spawn_targetname("deck_top_combat_first_wave_guys"); +} + +//Function Number: 31 +check_player_deck_position_2() +{ + level endon("jammer_2_deactivated"); + maps\_utility::array_spawn_function_targetname("deck_top_combat_second_wave_guys",::maps\sanfran_b_util::equip_microwave_grenade); + common_scripts\utility::flag_wait("flag_deck_top_combat_second_wave_guys"); + maps\_utility::array_spawn_targetname("deck_top_combat_second_wave_guys"); +} + +//Function Number: 32 +move_squad_into_ship() +{ + common_scripts\utility::flag_wait("player_near_mob_entrance"); + if(common_scripts\utility::flag("flag_obj_marker_enter_ship") == 0) + { + common_scripts\utility::flag_set("show_enter_ship_obj_marker"); + common_scripts\utility::flag_set("flag_obj_marker_enter_ship"); + common_scripts\utility::flag_set("rail_guns_secure_vo"); + common_scripts\utility::array_thread(level.heroes,::maps\_utility::set_ignoreme,1); + common_scripts\utility::array_thread(level.heroes,::maps\_utility::set_ignoreall,1); + common_scripts\utility::array_thread(level.heroes,::maps\_utility::disable_pain); + var_00 = getaiarray("axis"); + if(var_00.size > 0) + { + foreach(var_02 in var_00) + { + var_02 thread maps\sanfran_b_util::bloody_death(randomfloatrange(0,2)); + } + } + + maps\_utility::autosave_by_name(); + slow_player_inside(); + common_scripts\utility::flag_wait("boosters_off_anim_finished"); + common_scripts\utility::array_thread(level.heroes,::maps\_utility::set_ignoreme,0); + common_scripts\utility::array_thread(level.heroes,::maps\_utility::set_ignoreall,0); + common_scripts\utility::array_thread(level.heroes,::maps\_utility::enable_pain); + } +} + +//Function Number: 33 +thin_out_navy_guys(param_00) +{ + while(level.deck_navy_guys.size > param_00) + { + level.deck_navy_guys[randomint(level.deck_navy_guys.size)] maps\sanfran_b_util::bloody_death(randomfloatrange(0.5,2)); + level.deck_navy_guys = maps\_utility::remove_dead_from_array(level.deck_navy_guys); + wait(0.05); + } +} + +//Function Number: 34 +deck_jammers() +{ + var_00 = getentarray("deck_jammers","script_noteworthy"); + common_scripts\utility::array_call(var_00,::hide); + common_scripts\utility::array_thread(var_00,::turn_off_jammer_triggers); + common_scripts\utility::array_thread(var_00,::jammer_think); +} + +//Function Number: 35 +turn_off_jammer_triggers() +{ + var_00 = getent(self.target,"targetname"); + var_00 common_scripts\utility::trigger_off(); +} + +//Function Number: 36 +jammer_enemies_hint() +{ + level endon("jammer_guards_dead"); + var_00 = getent(self.target,"targetname"); + var_00 common_scripts\utility::trigger_on(); + var_00 usetriggerrequirelookat(); + var_00 sethintstring(&"SANFRAN_B_GUARD_HINT"); +} + +//Function Number: 37 +jammer_enemies_spawn() +{ + var_00 = getent("jammer_guard_1","targetname") maps\_utility::spawn_ai(1); + var_00 thread maps\sanfran_b_util::equip_microwave_grenade(); + var_00 thread jammer_enemy_1_think(); + var_01 = getent("jammer_guard_2","targetname") maps\_utility::spawn_ai(1); + var_01 thread maps\sanfran_b_util::equip_microwave_grenade(); + var_01 thread jammer_enemy_2_think(); +} + +//Function Number: 38 +jammer_enemy_1_think() +{ + var_00 = getent("trigger_jammer_enemy_touch1","targetname"); + while(isalive(self)) + { + if(!self istouching(var_00)) + { + break; + } + + wait(0.5); + } + + level.jammer_guards = level.jammer_guards + 1; +} + +//Function Number: 39 +jammer_enemy_2_think() +{ + var_00 = getent("trigger_jammer_enemy_touch2","targetname"); + while(isalive(self)) + { + if(!self istouching(var_00)) + { + break; + } + + wait(0.5); + } + + level.jammer_guards = level.jammer_guards + 1; +} + +//Function Number: 40 +jammer_think() +{ + level.jammer_objective = self; + if(self.targetname == "jammer_1") + { + level.jammer_guards = 0; + thread jammer_enemies_hint(); + thread jammer_enemies_spawn(); + while(level.jammer_guards < 2) + { + wait(0.15); + } + + level notify("jammer_guards_dead"); + var_00 = getent(self.target,"targetname"); + var_00 common_scripts\utility::trigger_on(); + var_00 usetriggerrequirelookat(); + var_00 sethintstring(&"SANFRAN_B_DEACTIVATE_JAMMER"); + var_01 = var_00 maps\_shg_utility::hint_button_trigger("x",512); + self setmodel("vm_jamming_device_obj"); + self show(); + var_00 waittill("trigger"); + var_00 common_scripts\utility::trigger_off(); + var_01 maps\_shg_utility::hint_button_clear(); + common_scripts\utility::flag_set("planting_jammer_1"); + self hide(); + play_jammer_1_anim(); + } + else + { + common_scripts\utility::flag_wait("planting_jammer_1"); + var_00 = getent(self.target,"targetname"); + var_01 common_scripts\utility::trigger_on(); + var_01 usetriggerrequirelookat(); + var_01 sethintstring(&"SANFRAN_B_DEACTIVATE_JAMMER"); + var_01 = var_01 maps\_shg_utility::hint_button_trigger("x",512); + self setmodel("vm_jamming_device_obj"); + self show(); + var_00 waittill("trigger"); + var_00 common_scripts\utility::trigger_off(); + var_01 maps\_shg_utility::hint_button_clear(); + common_scripts\utility::flag_set("planting_jammer_2"); + self hide(); + play_jammer_2_anim(); + } + + var_02 = self.script_parameters + "_deactivated"; + common_scripts\utility::flag_set(var_02); +} + +//Function Number: 41 +play_jammer_1_anim() +{ + var_00 = common_scripts\utility::getstruct("org_jammer_1","targetname"); + var_01 = getaiarray("axis"); + foreach(var_03 in var_01) + { + var_03 thread maps\sanfran_b_util::bloody_death(); + } + + level.player maps\_shg_utility::setup_player_for_scene(1); + var_05 = maps\_utility::spawn_anim_model("player_arms"); + var_05 hide(); + if(level.nextgen) + { + maps\_utility::delaythread(1.15,::player_jammer_movie); + } + + var_00 maps\_anim::anim_first_frame_solo(var_05,"jammerplant_1"); + var_06 = maps\_utility::spawn_anim_model("jammer"); + var_06 soundscripts\_snd::snd_message("jammer_plant"); + var_01 = [var_05,var_06]; + level.player playerlinktoblend(var_05,"tag_player",0.4); + wait(0.4); + var_05 show(); + level.player enableinvulnerability(); + maps\_utility::delaythread(0.5,::common_scripts\utility::flag_set,"boost_incoming_vo"); + thread deck_jammer_rumbles(); + var_00 maps\_anim::anim_single(var_01,"jammerplant_1"); + level.player disableinvulnerability(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + var_05 delete(); + level.player unlink(); +} + +//Function Number: 42 +play_jammer_2_anim() +{ + soundscripts\_snd::snd_message("jammer_plant"); + var_00 = common_scripts\utility::getstruct("org_jammer_2","targetname"); + var_01 = getaiarray("axis"); + foreach(var_03 in var_01) + { + var_03 thread maps\sanfran_b_util::bloody_death(); + } + + level.player maps\_shg_utility::setup_player_for_scene(1); + level notify("stop_jammer_movie"); + var_05 = maps\_utility::spawn_anim_model("player_arms"); + var_05 hide(); + if(level.nextgen) + { + maps\_utility::delaythread(1.15,::player_jammer_movie); + } + + var_00 maps\_anim::anim_first_frame_solo(var_05,"jammerplant_2"); + var_06 = maps\_utility::spawn_anim_model("jammer"); + var_01 = [var_05,var_06]; + level.player playerlinktoblend(var_05,"tag_player",0.4); + wait(0.4); + var_05 show(); + level.player enableinvulnerability(); + thread deck_jammer_rumbles(); + var_00 maps\_anim::anim_single(var_01,"jammerplant_2"); + level.player disableinvulnerability(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + var_05 delete(); + level.player unlink(); +} + +//Function Number: 43 +deck_jammer_rumbles() +{ + maps\sanfran_b_util::setup_level_rumble_ent(); + wait(0.5); + thread maps\sanfran_b_util::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.2,0.2); + wait(0.5); + thread maps\sanfran_b_util::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.2,0.3); + wait(0.5); + thread maps\sanfran_b_util::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.5,0.2); +} + +//Function Number: 44 +player_jammer_movie() +{ + level endon("stop_jammer_movie"); + level endon("boosters_off_anim_finished"); + setsaveddvar("cg_cinematicFullScreen","0"); + cinematicingame("jammer_UI_loop",0,1,1); + thread stop_jammer_movie(); +} + +//Function Number: 45 +stop_jammer_movie() +{ + level endon("boosters_off_anim_finished"); + level waittill("stop_jammer_movie"); + stopcinematicingame(); +} + +//Function Number: 46 +jammer_1_defenders_logic() +{ + maps\_utility::ent_flag_init("player_damaged_me"); + maps\_utility::add_damage_function(::defender_damage_func); + thread track_player(); + thread unlock_on_death(); + thread maps\sanfran_b_util::equip_microwave_grenade(); +} + +//Function Number: 47 +mob_entrance_defenders_logic() +{ + maps\_utility::ent_flag_init("player_damaged_me"); + maps\_utility::add_damage_function(::defender_damage_func); +} + +//Function Number: 48 +track_player() +{ + self endon("death"); + if(!isdefined(level.guy_tracking_player)) + { + level.guy_tracking_player = 0; + } + + for(;;) + { + if(common_scripts\utility::cointoss() && !level.guy_tracking_player) + { + maps\_utility::set_goal_entity(level.player); + level.guy_tracking_player = 1; + } + + wait(0.05); + } +} + +//Function Number: 49 +unlock_on_death() +{ + self waittill("death"); + level.guy_tracking_player = 0; +} + +//Function Number: 50 +defender_damage_func(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + if(isdefined(param_01)) + { + if(!isplayer(param_01)) + { + if(!maps\_utility::ent_flag("player_damaged_me")) + { + return param_00 / 20; + } + + return param_00; + } + + if(!maps\_utility::ent_flag("player_damaged_me")) + { + maps\_utility::ent_flag_set("player_damaged_me"); + } + + return param_00; + } +} + +//Function Number: 51 +on_the_way_to_jammer_2() +{ + var_00 = maps\_utility::array_spawn_noteworthy("jammer_2_enemies",1,1); + common_scripts\utility::array_thread(var_00,::track_player); + common_scripts\utility::array_thread(var_00,::unlock_on_death); + common_scripts\utility::array_thread(var_00,::deck_reinforcement_modify_accuracy); + maps\_utility::trigger_wait_targetname("trig_jammer_2_wave_2"); + var_00 = maps\_utility::array_spawn_noteworthy("jammer_2_enemies_wave_2",1,1); + common_scripts\utility::array_thread(var_00,::track_player); + common_scripts\utility::array_thread(var_00,::unlock_on_death); + common_scripts\utility::array_thread(var_00,::deck_reinforcement_modify_accuracy); +} + +//Function Number: 52 +mobile_cover_anim() +{ + var_00 = common_scripts\utility::getstruct("org_mobile_cover","targetname"); + var_01 = getent("mobile_cover_guy1","targetname") maps\_utility::spawn_ai(1); + var_01.animname = "guy1"; + var_01 maps\_utility::deletable_magic_bullet_shield(); + var_02 = getent("mobile_cover_guy2","targetname") maps\_utility::spawn_ai(1); + var_02.animname = "guy2"; + var_02 maps\_utility::deletable_magic_bullet_shield(); + var_03 = spawn("script_model",var_00.origin); + var_03 setmodel("vehicle_mobile_cover"); + var_03.animname = "mobile_cover"; + var_03 maps\_utility::assign_animtree("mobile_cover"); + var_03 thread mobile_cover_badplace(); + var_04 = [var_01,var_02,var_03]; + var_00 maps\_anim::anim_single_run(var_04,"deck_mobile_cover"); + var_02 maps\_utility::stop_magic_bullet_shield(); + var_02 kill(); + var_02 startragdoll(); + var_05 = spawn("script_origin",(0,0,0)); + var_05.origin = var_03.origin; + var_06 = var_03.angles + (-90,90,0); + var_03 setmodel("vehicle_mobile_cover_dstrypv"); + var_03 notify("stop_mobile_cover_badplace"); + earthquake(1,1.6,var_05.origin,625); + radiusdamage(var_05.origin,200,200,100,undefined,"MOD_EXPLOSIVE"); + physicsexplosionsphere(var_05.origin,200,10,1); +} + +//Function Number: 53 +mobile_cover_badplace() +{ + self endon("stop_mobile_cover_badplace"); + for(;;) + { + badplace_cylinder("mobile_cover_badplace",0.25,self.origin,96,96,"axis","allies"); + wait(0.25); + } +} + +//Function Number: 54 +setup_deck_deploy_warbird() +{ + maps\_vehicle::godon(); + thread warbird_turret_off_after_deploy(); + thread maps\sanfran_b_util::warbird_shooting_think(1); + waittillframeend; + self notify("warbird_fire"); + var_00 = maps\sanfran_b_util::get_passengers(); + var_00 thread maps\sanfran_b_util::ignore_until_unloaded(); + foreach(var_02 in var_00) + { + if(var_02.vehicle_position == 0) + { + var_02 maps\_utility::gun_remove(); + } + } +} + +//Function Number: 55 +warbird_turret_off_after_deploy() +{ + self endon("death"); + self waittill("unloaded"); + self notify("warbird_stop_firing"); +} + +//Function Number: 56 +friendly_airstrike(param_00) +{ + level.airstrike_drones = param_00; + level.airstrike_drones common_scripts\utility::array_thread(param_00,::remove_from_array_when_dead); + maps\_utility::trigger_wait_targetname("trig_friendly_airstrike"); + var_01 = maps\_vehicle::spawn_vehicle_from_targetname("friendly_air_strike"); + var_01 soundscripts\_snd::snd_message("shrike_flyby_03"); + var_01 maps\_utility::ent_flag_init("airstrike_fire"); + var_01 thread maps\_vehicle::gopath(); + var_01 maps\_utility::ent_flag_wait("airstrike_fire"); +} + +//Function Number: 57 +remove_from_array_when_dead() +{ + self waittill("death"); + level.airstrike_drones = common_scripts\utility::array_remove(level.airstrike_drones,self); +} + +//Function Number: 58 +deck_drones(param_00) +{ + var_01 = undefined; + thread vehicle_scripts\_pdrone_tactical_picker::main(); + if(param_00 == "left") + { + var_01 = vehicle_scripts\_pdrone::start_flying_attack_drones("deck_reinforcement_drones_left"); + } + + if(param_00 == "right") + { + var_01 = vehicle_scripts\_pdrone::start_flying_attack_drones("deck_reinforcement_drones_right"); + } + + if(isdefined(var_01)) + { + common_scripts\utility::array_thread(var_01,::maps\sanfran_b_util::setup_atlas_drone,"flag_cleanup_deck_drones"); + return var_01; + } +} + +//Function Number: 59 +jammer_3_navy_drone_combat() +{ + var_00 = maps\_utility::array_spawn_noteworthy("jammer_3_navy_drone_guys",0,1); + level.jammer_3_navy_guys = []; + level.jammer_3_navy_guys = var_00; + common_scripts\utility::array_thread(var_00,::jammer_3_navy_drone_guy_setup); + common_scripts\utility::array_thread(var_00,::jammer_3_remove_from_array_when_dead,"navy"); + maps\_utility::activate_trigger_with_targetname("trig_jammer_3_navy_drone_movement"); + thread vehicle_scripts\_pdrone_tactical_picker::main(); + var_01 = vehicle_scripts\_pdrone::start_flying_attack_drones("jammer_3_navy_drone_drones"); + level.jammer_3_drones = []; + level.jammer_3_drones = var_01; + common_scripts\utility::array_thread(var_01,::maps\sanfran_b_util::setup_atlas_drone,"flag_cleanup_deck_drones"); + common_scripts\utility::array_thread(var_01,::jammer_3_remove_from_array_when_dead,"drones"); + common_scripts\utility::array_thread(var_01,::jammer_3_navy_drone_drones_setup); +} + +//Function Number: 60 +jammer_3_remove_from_array_when_dead(param_00) +{ + var_01 = undefined; + self waittill("death"); + if(param_00 == "navy") + { + var_01 = level.jammer_3_navy_guys; + } + else + { + var_01 = level.jammer_3_drones; + } + + var_01 = common_scripts\utility::array_remove(var_01,self); +} + +//Function Number: 61 +jammer_3_navy_drone_guy_setup() +{ + self endon("death"); + maps\_utility::add_damage_function(::navy_drone_guys_damage_func); +} + +//Function Number: 62 +deck_enemies_cleared() +{ + for(;;) + { + var_00 = getaiarray("axis"); + level.deck_drones = maps\_utility::array_removedead(level.deck_drones); + if(var_00.size == 0 && level.deck_drones.size == 0) + { + break; + } + + wait 0.05; + } + + var_00 = getaiarray("allies"); + foreach(var_02 in var_00) + { + if(var_02 == level.cormack || var_02 == level.burke || var_02 == level.maddox) + { + continue; + } + else + { + var_02 thread maps\_utility::set_fixednode_true(); + } + } +} + +//Function Number: 63 +navy_drone_guys_damage_func(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + if(isdefined(param_01) && param_01.classname == "script_vehicle_pdrone_atlas") + { + return param_00 * 2; + } +} + +//Function Number: 64 +jammer_3_navy_drone_drones_setup() +{ + maps\_utility::add_damage_function(::navy_drone_drones_damage_func); +} + +//Function Number: 65 +navy_drone_drones_damage_func(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + if(isdefined(param_01) && maps\_utility::is_in_array(level.jammer_3_navy_guys,param_01)) + { + return param_00 / 4; + } +} + +//Function Number: 66 +jammer_3_shrike_flyby(param_00) +{ + param_00 waittill("unloaded"); + wait(3); + var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("jammer_3_shrike_1"); + var_02 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("jammer_3_shrike_2"); + soundscripts\_snd::snd_message("shrike_flyby_pair_04",var_01,var_02); +} + +//Function Number: 67 +wait_for_all_deck_warbirds_to_unload() +{ + common_scripts\utility::flag_wait_all("deck_warbird_3_unloaded","deck_warbird_4_unloaded"); + common_scripts\utility::flag_set("all_deck_warbirds_deployed"); +} + +//Function Number: 68 +missile_turrets_on() +{ + common_scripts\utility::flag_wait("all_deck_warbirds_deployed"); + wait(3); + var_00 = getentarray("missile_launcher_1","targetname"); + if(!isdefined(var_00)) + { + return; + } + + foreach(var_02 in var_00) + { + var_02.missile_starts = getentarray(var_02.target,"targetname"); + if(!isdefined(var_02.missile_starts)) + { + return; + } + + foreach(var_04 in var_02.missile_starts) + { + var_04 linkto(var_02); + } + + var_02 thread missile_turret_think(); + } +} + +//Function Number: 69 +missile_turret_think() +{ + level endon("stop_ship_weapons"); + for(;;) + { + self rotateto((0,randomintrange(180,360),0),1.5,0.25,0.25); + wait(1.5); + foreach(var_01 in self.missile_starts) + { + var_02 = anglestoforward(var_01.angles); + var_02 = var_02 * 5000; + var_02 = var_02 + (randomintrange(500,1000),randomintrange(500,1000),randomintrange(1000,2000)); + magicbullet("mob_missile",var_01.origin,var_01.origin + var_02); + if(distance(self.origin,level.player.origin) <= 512) + { + earthquake(0.3,1,self.origin,1024); + level.player playrumbleonentity("heavy_1s"); + } + } + + wait(randomfloatrange(10,20)); + } +} + +//Function Number: 70 +boosters_off_anim(param_00) +{ + common_scripts\utility::flag_wait("flag_move_gideon_into_interior"); + var_01 = common_scripts\utility::getstruct("org_squad_enter_mob","targetname"); + level.burke maps\_utility::ent_flag_init("at_boosters_off"); + if(!isdefined(param_00) || !param_00) + { + level.burke thread go_to_boosters_off_and_first_frame(var_01); + } + + common_scripts\utility::flag_wait("flag_obj_marker_enter_ship"); + level.cormack maps\_utility::ent_flag_init("at_boosters_off"); + level.maddox maps\_utility::ent_flag_init("at_boosters_off"); + var_02 = [level.cormack,level.burke,level.maddox]; + if(!isdefined(param_00) || !param_00) + { + level.cormack thread go_to_boosters_off_and_first_frame(var_01); + level.maddox thread go_to_boosters_off_and_first_frame(var_01); + } + else + { + level.cormack maps\_utility::ent_flag_set("at_boosters_off"); + level.burke maps\_utility::ent_flag_set("at_boosters_off"); + level.maddox maps\_utility::ent_flag_set("at_boosters_off"); + var_01 maps\_anim::anim_first_frame(var_02,"boosters_off"); + } + + level.cormack maps\_utility::ent_flag_wait("at_boosters_off"); + level.burke maps\_utility::ent_flag_wait("at_boosters_off"); + level.maddox maps\_utility::ent_flag_wait("at_boosters_off"); + common_scripts\utility::flag_wait("flag_player_entered_interior"); + common_scripts\utility::flag_set("flag_cleanup_deck_drones"); + var_02 = getaiarray("axis"); + if(var_02.size > 0) + { + foreach(var_04 in var_02) + { + var_04 thread maps\sanfran_b_util::bloody_death(randomfloatrange(0,2)); + } + } + + soundscripts\_snd::snd_message("enter_ship"); + common_scripts\utility::flag_set("boosters_off_anim_started"); + level.idle_org = var_01; + var_01 notify("stop_wait_idle"); + level.burke thread play_boosters_off_anim(var_01); + level.maddox thread play_boosters_off_anim(var_01); + var_01 maps\_anim::anim_single_solo(level.cormack,"boosters_off"); + common_scripts\utility::flag_set("boosters_off_anim_finished"); + foreach(var_04 in var_02) + { + var_04 maps\_utility::enable_cqbwalk(); + var_04 maps\_utility::enable_ai_color(); + var_04.ignoreall = 0; + } + + thread squad_move_interior(); + maps\_utility::battlechatter_off("allies"); + maps\_utility::battlechatter_off("axis"); +} + +//Function Number: 71 +play_boosters_off_anim(param_00) +{ + param_00 maps\_anim::anim_single_solo(self,"boosters_off"); + param_00 thread maps\_anim::anim_loop_solo(self,"boosters_off_idle","stop_idle"); +} + +//Function Number: 72 +go_to_boosters_off_and_first_frame(param_00) +{ + param_00 maps\_anim::anim_reach_solo(self,"boosters_off"); + maps\_utility::ent_flag_set("at_boosters_off"); + param_00 maps\_anim::anim_first_frame_solo(self,"boosters_off"); + param_00 maps\_anim::anim_loop_solo(self,"boosters_off_wait_idle","stop_wait_idle"); +} + +//Function Number: 73 +squad_move_interior() +{ + foreach(var_01 in level.heroes) + { + var_01 maps\_utility::enable_ai_color_dontmove(); + var_01.fixednode = 1; + } +} + +//Function Number: 74 +crouch_until_door_open() +{ + self waittill("goal"); + self allowedstances("crouch"); + self waittill("door_open"); + self allowedstances("stand","crouch","prone"); +} + +//Function Number: 75 +crouch_until_path_to_door(param_00) +{ + param_00 waittill("boosters_off"); + self allowedstances("crouch"); + self waittill("path_to_door"); + self allowedstances("stand","crouch","prone"); +} + +//Function Number: 76 +cqb_test() +{ + level.player endon("end_cqb"); + level.player giveweapon("iw5_m160cqb_sp_cqbreddot"); + level.player giveweapon("iw5_m160_sp_deam160_variablereddot"); + level.player switchtoweaponimmediate("iw5_m160cqb_sp_cqbreddot"); + level.player setstance("crouch"); + thread player_cqb_on(); + level.player notifyonplayercommand("stance_switched","+stance"); + for(;;) + { + level.player waittill("stance_switched"); + wait(0.5); + if(level.player getstance() == "crouch") + { + thread player_cqb_on(); + continue; + } + + thread player_cqb_off(); + } +} + +//Function Number: 77 +rock_the_boat() +{ + thread boat_rock_check_triggers(); + var_00 = 3; + for(;;) + { + while(level.waves == 1) + { + var_01 = getdvar("phys_gravityChangeWakeupRadius"); + setsaveddvar("phys_gravityChangeWakeupRadius",2000); + level.ground_ref_ent rotateto((-1,0,0),var_00,1,1); + soundscripts\_snd::snd_message("if_the_boat_is_a_rockin_dont_come_a_knockin","interior"); + wait(3.1); + level.ground_ref_ent rotateto((-5,0,5),var_00,1,1); + soundscripts\_snd::snd_message("if_the_boat_is_a_rockin_dont_come_a_knockin","interior"); + wait(3.3); + setsaveddvar("phys_gravityChangeWakeupRadius",var_01); + } + + wait(0.05); + } +} + +//Function Number: 78 +boat_rock_check_triggers() +{ + thread wait_for_true(); + thread wait_for_true2(); + thread wait_for_true3(); + thread wait_for_true4(); + thread wait_for_true5(); + thread wait_for_false(); + thread wait_for_false2(); + thread wait_for_false3(); + thread wait_for_false4(); + thread wait_for_false5(); + thread wait_for_false6(); +} + +//Function Number: 79 +wait_for_false() +{ + for(;;) + { + maps\_utility::trigger_wait_targetname("waves_off"); + level.waves = 0; + wait(0.05); + } + + wait(0.05); +} + +//Function Number: 80 +wait_for_false2() +{ + for(;;) + { + maps\_utility::trigger_wait_targetname("waves_off2"); + level.waves = 0; + wait(0.05); + } + + wait(0.05); +} + +//Function Number: 81 +wait_for_false3() +{ + for(;;) + { + maps\_utility::trigger_wait_targetname("waves_off3"); + level.waves = 0; + wait(0.05); + } + + wait(0.05); +} + +//Function Number: 82 +wait_for_false4() +{ + for(;;) + { + maps\_utility::trigger_wait_targetname("waves_off4"); + level.waves = 0; + wait(0.05); + } + + wait(0.05); +} + +//Function Number: 83 +wait_for_false5() +{ + for(;;) + { + maps\_utility::trigger_wait_targetname("waves_off5"); + level.waves = 0; + wait(0.05); + } + + wait(0.05); +} + +//Function Number: 84 +wait_for_false6() +{ + for(;;) + { + maps\_utility::trigger_wait_targetname("waves_off6"); + level.waves = 0; + wait(0.05); + } + + wait(0.05); +} + +//Function Number: 85 +wait_for_true() +{ + for(;;) + { + maps\_utility::trigger_wait_targetname("waves_on"); + level.waves = 1; + wait(0.05); + } + + wait(0.05); +} + +//Function Number: 86 +wait_for_true2() +{ + for(;;) + { + maps\_utility::trigger_wait_targetname("waves_on2"); + level.waves = 1; + wait(0.05); + } + + wait(0.05); +} + +//Function Number: 87 +wait_for_true3() +{ + for(;;) + { + maps\_utility::trigger_wait_targetname("waves_on3"); + level.waves = 1; + wait(0.05); + } + + wait(0.05); +} + +//Function Number: 88 +wait_for_true4() +{ + for(;;) + { + maps\_utility::trigger_wait_targetname("waves_on4"); + level.waves = 1; + wait(0.05); + } + + wait(0.05); +} + +//Function Number: 89 +wait_for_true5() +{ + for(;;) + { + maps\_utility::trigger_wait_targetname("waves_on5"); + level.waves = 1; + wait(0.05); + } + + wait(0.05); +} + +//Function Number: 90 +end_cqb() +{ + level.player endon("death"); + maps\_utility::trigger_wait_targetname("trig_spawn_navy_allies_hangar"); + thread player_cqb_off(); + level.player notify("end_cqb"); + level.player takeweapon("iw5_m160cqb_sp_cqbreddot"); + level.player switchtoweaponimmediate("iw5_m160_sp_deam160_variablereddot"); +} + +//Function Number: 91 +player_cqb_on() +{ + level.player notify("cqb_mode_toggled"); + level.player.cqb_mode = 1; + level.player setmovespeedscale(1.25); + thread maps\_utility::lerp_fov_overtime(0.15,60); + if(level.nextgen) + { + thread cqb_dof_on(); + } +} + +//Function Number: 92 +player_cqb_off() +{ + level.player notify("cqb_mode_toggled"); + level.player.cqb_mode = undefined; + level.player setmovespeedscale(1); + thread maps\_utility::lerp_fov_overtime(0.15,65); + if(level.nextgen) + { + thread cqb_dof_off(); + } +} + +//Function Number: 93 +cqb_dof_on() +{ + if(level.nextgen) + { + maps\_lighting::create_dof_preset("cqb_dof",10,250,10,3000,9000,3,0.5); + } +} + +//Function Number: 94 +cqb_dof_off() +{ + if(level.nextgen) + { + } +} + +//Function Number: 95 +handle_enemy_when_player_is_in_cqb() +{ + self endon("death"); + for(;;) + { + level.player waittill("cqb_mode_toggled"); + if(isdefined(level.player.cqb_mode) && level.player.cqb_mode) + { + self.moveplaybackrate = 0.8; + continue; + } + + self.moveplaybackrate = 1; + } +} + +//Function Number: 96 +open_door_anim() +{ + level.player endon("death"); + common_scripts\utility::flag_wait("boosters_off_anim_finished"); + var_00 = common_scripts\utility::getstruct("org_squad_enter_mob","targetname"); + var_00 thread maps\_anim::anim_loop_solo(level.cormack,"boosters_off_idle","stop_loop"); + maps\_utility::trigger_wait_targetname("trig_open_initial_door_anim"); + if(level.currentgen) + { + thread transient_intro_to_middle(); + } + + var_01 = [level.interior_door,level.cormack]; + level.cormack notify("path_to_door"); + var_00 notify("stop_loop"); + var_00 maps\_anim::anim_reach_solo(level.cormack,"ripopen_bulkhead"); + level.cormack soundscripts\_snd::snd_message("aud_burke_open_door"); + var_02 = getent("door_open_clip","targetname"); + var_02 linkto(level.interior_door,"doorhinge"); + var_00 thread maps\_anim::anim_single_solo_run(level.cormack,"ripopen_bulkhead"); + maps\_utility::activate_trigger_with_targetname("trig_cormack_move_interior_post_door"); + if(level.currentgen) + { + thread maps\_utility::tff_sync(11); + } + + var_00 maps\_anim::anim_single_solo(level.interior_door,"ripopen_bulkhead"); + soundscripts\_snd::snd_message("interior_door1_done"); + var_03 = getent("interior_exit_clip","targetname"); + var_03 connectpaths(); + var_03 delete(); + var_02 connectpaths(); + maps\_utility::autosave_by_name(); +} + +//Function Number: 97 +transient_intro_to_middle() +{ + level notify("tff_pre_transition_intro_to_outro"); + loadtransient("sanfran_b_outro_tr"); + while(!istransientloaded("sanfran_b_outro_tr")) + { + wait(0.05); + } + + level notify("tff_post_transition_intro_to_outro"); + maps\_utility::trigger_wait_targetname("unload_intro_transient"); + unloadtransient("sanfran_b_intro_tr"); + level.interior_door clearanim(level.interior_door maps\_utility::getanim("ripopen_bulkhead"),1); +} + +//Function Number: 98 +exo_takedown() +{ + maps\_utility::trigger_wait_targetname("trig_squad_move_interior_post_door"); + level.idle_org notify("stop_idle"); + level.burke maps\_utility::anim_stopanimscripted(); + level.maddox maps\_utility::anim_stopanimscripted(); + level.burke notify("door_open"); + level.maddox notify("door_open"); + level.cormack notify("door_open"); + var_00 = common_scripts\utility::getstruct("org_exo_takedown","targetname"); + var_01 = getent("exo_takedown_guy2","targetname"); + var_00 maps\_anim::anim_reach_solo(level.cormack,"exo_takedown"); + var_02 = var_01 maps\_utility::spawn_ai(); + if(isdefined(var_02)) + { + level.takedownenemy1 = var_02; + var_02.animname = "guy2"; + var_02.ignoreme = 1; + var_02.ignoreall = 1; + var_02.ignoresonicaoe = 1; + var_02 soundscripts\_snd::snd_message("aud_burke_takedown"); + var_03 = [level.cormack,var_02]; + common_scripts\utility::flag_set("exo_takedown_started"); + var_00 maps\_anim::anim_single_run(var_03,"exo_takedown"); + } + else + { + common_scripts\utility::flag_set("exo_takedown_started"); + level.cormack maps\_utility::enable_ai_color_dontmove(); + maps\_utility::activate_trigger_with_targetname("trig_post_exo_takedown_move"); + } + + level.cormack thread hand_signal_to_cafeteria(); + var_03 = getaiarray("allies"); + foreach(var_05 in var_03) + { + if(maps\_utility::is_in_array(level.heroes,var_05)) + { + continue; + } + else + { + var_05 delete(); + } + } + + maps\_utility::battlechatter_on("allies"); + maps\_utility::battlechatter_on("axis"); + thread rock_the_boat(); +} + +//Function Number: 99 +interior_shake_1() +{ + var_00 = getdvar("phys_gravityChangeWakeupRadius"); + setsaveddvar("phys_gravityChangeWakeupRadius",2000); + maps\_utility::trigger_wait_targetname("trig_interior_shake_1"); + soundscripts\_snd::snd_message("if_the_boat_is_a_rockin_dont_come_a_knockin","interior"); + soundscripts\_snd::snd_message("power_outage_audio"); + level.player playrumbleonentity("heavy_2s"); + earthquake(0.3,2,level.player.origin,1024); + wait(2.5); + soundscripts\_snd::snd_message("if_the_boat_is_a_rockin_dont_come_a_knockin","interior"); + level.player playrumbleonentity("heavy_2s"); + earthquake(0.3,2,level.player.origin,1024); + wait(3); + setsaveddvar("phys_gravityChangeWakeupRadius",var_00); +} + +//Function Number: 100 +hangar_jet_flyby() +{ + level.player endon("death"); + maps\_utility::trigger_wait_targetname("trig_hangar_jet_flyby"); + level notify("stop_ship_weapons"); + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("hangar_jet_flyby_1"); + wait(0.5); + var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("hangar_jet_flyby_2"); +} + +//Function Number: 101 +give_night_vision() +{ + level endon("flag_end_sonar_vision"); + level.player setweaponhudiconoverride("actionslot1","dpad_icon_nvg"); + level.player notifyonplayercommand("sonar_vision","+actionslot 1"); + level.player thread thermal_with_nvg(); +} + +//Function Number: 102 +hand_signal_to_cafeteria() +{ + self endon("end_hand_signal_to_caf"); + thread end_hand_signal_to_caf(); + self waittill("goal"); + maps\_utility::trigger_wait_targetname("trig_burke_hand_signal_to_caf"); + maps\_anim::anim_single_solo(self,"signal_moveout_coverL"); + maps\_utility::activate_trigger_with_targetname("trig_move_maddox_past_hand_signal"); + self notify("hand_signal_to_caf_finished"); +} + +//Function Number: 103 +end_hand_signal_to_caf() +{ + self endon("hand_signal_to_caf_finished"); + maps\_utility::trigger_wait_targetname("trig_interior_vo_1"); + self notify("end_hand_signal_to_caf"); + maps\_utility::activate_trigger_with_targetname("trig_move_maddox_past_hand_signal"); +} + +//Function Number: 104 +table_pulldown() +{ + maps\_utility::trigger_wait_targetname("trig_spawn_table_guy"); + var_00 = getent("table_pulldown_guy","targetname"); + var_01 = var_00 maps\_utility::spawn_ai(1); + var_01.animname = "guy"; + var_01.allowdeath = 1; + var_01 endon("death"); + var_02 = maps\_utility::spawn_anim_model("cafeteria_table"); + var_03 = [var_01,var_02]; + var_04 = common_scripts\utility::getstruct("org_table_pulldown","targetname"); + if(isdefined(var_01) && isalive(var_01)) + { + var_04 maps\_anim::anim_first_frame(var_03,"table_pulldown"); + common_scripts\utility::flag_wait("start_table_anim"); + if(isdefined(var_01) && isalive(var_01)) + { + var_01.allowdeath = 0; + var_02 soundscripts\_snd::snd_message("aud_table_pulldown"); + var_04 maps\_anim::anim_single(var_03,"table_pulldown"); + var_01.allowdeath = 1; + var_04 thread maps\_anim::anim_loop_solo(var_01,"table_pulldown_fire_loop"); + var_01 thread table_pulldown_distance_check(); + var_01 maps\_utility::set_deathanim("table_pullddown_death"); + } + } +} + +//Function Number: 105 +table_pulldown_distance_check() +{ + self endon("death"); + for(;;) + { + if(distancesquared(self.origin,level.player.origin) < 250000) + { + self kill(); + return; + } + + wait(0.1); + } +} + +//Function Number: 106 +cafeteria_reinforcements() +{ + level endon("cafeteria_reinforcement_spawn"); + common_scripts\utility::flag_wait("start_table_anim"); + disable_cormack_obj(); + for(;;) + { + var_00 = getaicount("axis"); + if(var_00 > 4) + { + wait(0.05); + continue; + } + + maps\_utility::array_spawn_targetname("cafeteria_reinforcements",0,1); + break; + } + + thread cafeteria_squad_pressure(); +} + +//Function Number: 107 +cafeteria_squad_pressure() +{ + var_00 = getaicount("axis"); + var_01 = 0; + while(var_01 == 0) + { + var_02 = getaicount("axis"); + var_03 = getnode("red6ix","targetname"); + var_04 = getnode("macros","targetname"); + var_05 = level.cormack; + if(var_00 <= 4) + { + level.burke maps\_utility::set_goal_node(var_04); + level.cormack maps\_utility::set_goal_node(var_03); + var_01 = 1; + break; + } + + wait(0.05); + } +} + +//Function Number: 108 +end_squad_cqb() +{ + maps\_utility::trigger_wait_targetname("trig_interior_vo_1"); + thread maps\_utility::blend_movespeedscale(1,3); + foreach(var_01 in level.heroes) + { + var_01 maps\_utility::disable_cqbwalk(); + } +} + +//Function Number: 109 +move_to_hangar() +{ + maps\_utility::trigger_wait_targetname("trig_interior_vo_3"); + common_scripts\utility::flag_set("player_exit_cafeteria"); + maps\_utility::trigger_wait_targetname("trig_cleanup_cafe"); + var_00 = getaiarray("axis"); + foreach(var_02 in var_00) + { + var_02 maps\sanfran_b_util::bloody_death(); + wait(0.4); + } +} + +//Function Number: 110 +hand_signal_to_hangar() +{ + level.cormack endon("end_hand_signal_to_hangar"); + level.cormack thread end_hand_signal_to_hangar(); + maps\_utility::trigger_wait_targetname("trig_interior_vo_2"); + thread enable_cormack_obj(); + level.cormack waittill("goal"); + maps\_utility::trigger_wait_targetname("trig_interior_vo_3"); + thread maps\sanfran_b_util::hanger_bad_path(); + level.cormack maps\_anim::anim_single_solo(level.cormack,"signal_moveout_coverL"); + level.cormack notify("hand_signal_to_hangar_finished"); + maps\_utility::activate_trigger_with_targetname("trig_caf_to_hangar"); + common_scripts\utility::flag_set("flag_obj_leave_cafeteria"); +} + +//Function Number: 111 +end_hand_signal_to_hangar() +{ + level.cormack endon("hand_signal_to_hangar_finished"); + maps\_utility::trigger_wait_targetname("trig_initial_hangar_fight"); + level.cormack notify("end_hand_signal_to_hangar"); + maps\_utility::activate_trigger_with_targetname("trig_caf_to_hangar"); + common_scripts\utility::flag_set("flag_obj_leave_cafeteria"); +} + +//Function Number: 112 +get_fov_for_player(param_00) +{ + var_01 = getdvarint("cg_fov"); + var_02 = getdvarfloat("cg_playerFovScale0"); + if(isdefined(level.player2) && param_00 == level.player2) + { + var_02 = getdvarfloat("cg_playerFovScale1"); + } + + return var_01 * var_02; +} + +//Function Number: 113 +mark_enemies() +{ + level.player endon("sonar_vision_off"); + for(;;) + { + foreach(var_01 in getaiarray("axis")) + { + var_01 hudoutlineenable(1,1,0); + var_01.hudoutlineenabledbysonarvision = 1; + } + + foreach(var_04 in getaiarray("allies")) + { + var_04 hudoutlineenable(2,1,0); + var_04.hudoutlineenabledbysonarvision = 1; + } + + wait(0.1); + } +} + +//Function Number: 114 +is_sonar_vision_allowed() +{ + var_00 = level.player getcurrentweapon(); + if(weaponhasthermalscope(var_00) && level.player playerads() > 0) + { + return 0; + } + + return 1; +} + +//Function Number: 115 +disable_sonar_when_not_allowed() +{ + level.player endon("sonar_vision_off"); + for(;;) + { + if(!is_sonar_vision_allowed()) + { + break; + } + + wait 0.05; + } + + sonar_off(); +} + +//Function Number: 116 +thermal_with_nvg() +{ + level endon("flag_end_sonar_vision"); + var_00 = undefined; + var_01 = undefined; + var_02 = undefined; + for(;;) + { + self waittill("sonar_vision"); + if(!is_sonar_vision_allowed()) + { + continue; + } + + if(!isdefined(level.player.sonar_vision) || !level.player.sonar_vision) + { + sonar_on(); + childthread disable_sonar_when_not_allowed(); + continue; + } + + sonar_off(); + } +} + +//Function Number: 117 +sonar_save_and_set_dvars() +{ + if(!isdefined(level.player.sonarvisionsaveddvars)) + { + level.player.sonarvisionsaveddvars = []; + } + + level.player.sonarvisionsaveddvars["r_hudoutlineenable"] = getdvarint("r_hudoutlineenable",1); + level.player.sonarvisionsaveddvars["r_hudoutlinepostmode"] = getdvar("r_hudoutlinepostmode",0); + level.player.sonarvisionsaveddvars["r_hudoutlinehaloblurradius"] = getdvarfloat("r_hudoutlinehaloblurradius",1); + level.player.sonarvisionsaveddvars["r_hudoutlinehalolumscale"] = getdvarfloat("r_hudoutlinehalolumscale",1); + level.player.sonarvisionsaveddvars["r_hudoutlinehalowhen"] = getdvar("r_hudoutlinehalowhen",1); + setsaveddvar("r_hudoutlineenable",1); + setsaveddvar("r_hudoutlinepostmode",2); + setsaveddvar("r_hudoutlinehaloblurradius",0.7); + setsaveddvar("r_hudoutlinehalolumscale",2); + setsaveddvar("r_hudoutlinehalowhen",0); + level.player.sonarvisionsaveddvars["r_ssrBlendScale"] = getdvarfloat("r_ssrBlendScale",1); + setsaveddvar("r_ssrBlendScale",0); +} + +//Function Number: 118 +sonar_reset_dvars() +{ + if(isdefined(level.player.sonarvisionsaveddvars)) + { + setsaveddvar("r_hudoutlineenable",level.player.sonarvisionsaveddvars["r_hudoutlineenable"]); + setsaveddvar("r_hudoutlinepostmode",level.player.sonarvisionsaveddvars["r_hudoutlinepostmode"]); + setsaveddvar("r_hudoutlinehaloblurradius",level.player.sonarvisionsaveddvars["r_hudoutlinehaloblurradius"]); + setsaveddvar("r_hudoutlinehalolumscale",level.player.sonarvisionsaveddvars["r_hudoutlinehalolumscale"]); + setsaveddvar("r_hudoutlinehalowhen",level.player.sonarvisionsaveddvars["r_hudoutlinehalowhen"]); + setsaveddvar("r_ssrBlendScale",level.player.sonarvisionsaveddvars["r_ssrBlendScale"]); + } +} + +//Function Number: 119 +sonar_on() +{ + level.overlaysonar = create_hud_sonar_overlay(0,1); + sonar_save_and_set_dvars(); + thread mark_enemies(); + var_00 = 0.05; + if(level.currentgen) + { + var_00 = 0; + } + + level.player lightsetoverrideenableforplayer("sanfran_b_sonar_vision",var_00); + level.player setclutoverrideenableforplayer("clut_sonar",var_00); + soundscripts\_snd::snd_message("aud_sonar_vision_on"); + level.player.sonar_vision = 1; + level notify("sonar_update"); +} + +//Function Number: 120 +sonar_off() +{ + var_00 = 0.05; + if(level.currentgen) + { + var_00 = 0; + } + + level.player lightsetoverrideenableforplayer(var_00); + level.player setclutoverridedisableforplayer(var_00); + soundscripts\_snd::snd_message("aud_sonar_vision_off"); + level.player.sonar_vision = 0; + level notify("sonar_update"); + if(isdefined(level.overlay)) + { + level.overlay destroy(); + } + + if(isdefined(level.overlaythreat)) + { + level.overlaythreat destroy(); + } + + if(isdefined(level.overlaysonar)) + { + level.overlaysonar destroy(); + } + + sonar_reset_dvars(); + foreach(var_02 in getaiarray("axis","allies")) + { + if(isdefined(var_02.hudoutlineenabledbysonarvision)) + { + var_02 hudoutlinedisable(); + var_02.hudoutlineenabledbysonarvision = undefined; + } + } + + level.player notify("sonar_vision_off"); +} + +//Function Number: 121 +create_hud_nvg_overlay(param_00,param_01,param_02) +{ + var_03 = newhudelem(); + var_03.x = 0; + var_03.y = 0; + var_03.sort = param_01; + var_03.horzalign = "fullscreen"; + var_03.vertalign = "fullscreen"; + var_03.alpha = param_02; + var_03 setshader(param_00,640,480); + return var_03; +} + +//Function Number: 122 +create_hud_sonar_overlay(param_00,param_01) +{ + var_02 = newhudelem(); + var_02.x = 0; + var_02.y = 0; + if(level.currentgen) + { + var_02.color = (1,0.6,0.2); + } + else + { + var_02.color = (0.1,0.1,1); + } + + var_02.sort = param_00; + var_02.horzalign = "fullscreen"; + var_02.vertalign = "fullscreen"; + var_02.alpha = param_01; + var_02 setsonarvision(10); + return var_02; +} + +//Function Number: 123 +create_hud_threat_overlay(param_00,param_01) +{ + var_02 = newhudelem(); + var_02.x = 0; + var_02.y = 0; + var_02.color = (1,0.1,0.1); + var_02.sort = param_00; + var_02.horzalign = "fullscreen"; + var_02.vertalign = "fullscreen"; + var_02.alpha = param_01; + var_02 setradarhighlight(-1); + return var_02; +} + +//Function Number: 124 +boat_rocking_hangar() +{ + maps\_utility::trigger_wait_targetname("trig_boat_rock_to_hangar"); + thread maps\sanfran_b_lighting::lerp_sun_01(); + var_00 = getdvar("phys_gravityChangeWakeupRadius"); + setsaveddvar("phys_gravityChangeWakeupRadius",2000); + level.player playrumbleonentity("heavy_2s"); + earthquake(0.3,2,level.player.origin,1024); + soundscripts\_snd::snd_message("pre_hangar_hall_explosion"); + wait(2.5); + level.player playrumbleonentity("heavy_2s"); + earthquake(0.3,2,level.player.origin,1024); + soundscripts\_snd::snd_message("pre_hangar_hall_explosion"); + wait(3); + setsaveddvar("phys_gravityChangeWakeupRadius",var_00); +} + +//Function Number: 125 +boat_rocking_jet_moment() +{ +} + +//Function Number: 126 +jet_moment(param_00,param_01,param_02) +{ + param_01 thread jet_badplace(); + param_00 maps\_anim::anim_single_solo(param_01,"shrike_slide"); + param_02 connectpaths(); + param_02 delete(); +} + +//Function Number: 127 +jet_badplace() +{ + thread maps\_vehicle_code::disconnect_paths_whenstopped(); +} + +//Function Number: 128 +ambient_hangar() +{ + common_scripts\utility::flag_wait("trig_hangar_vo_1"); + wait(3); + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("hangar_ambient_shrike"); + var_00 soundscripts\_snd::snd_message("shrike_hanger_flyby"); + wait(1); + var_01 = getentarray("hangar_ambient_drone_swarm","script_noteworthy"); + foreach(var_03 in var_01) + { + var_04 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive(var_03.targetname); + var_04 maps\_utility::ent_flag_set("fire_disabled"); + } +} + +//Function Number: 129 +initial_hangar_setup() +{ + level.player endon("death"); + maps\_utility::trigger_wait_targetname("trig_initial_hangar_fight"); + maps\_utility::array_spawn_noteworthy("initial_hangar_enemies"); + maps\_utility::disable_trigger_with_targetname("cine_copter_trigger"); +} + +//Function Number: 130 +initial_hangar_guys_invuln() +{ + self endon("death"); + maps\_utility::magic_bullet_shield(); + maps\_utility::trigger_wait_targetname("trig_spawn_navy_allies_hangar"); + wait(randomfloatrange(0.5,1.5)); + maps\_utility::stop_magic_bullet_shield(); + if(self.team == "allies") + { + wait(randomfloatrange(2,7)); + maps\sanfran_b_util::bloody_death(); + } +} + +//Function Number: 131 +hangar_combat() +{ + level.player endon("death"); + maps\_utility::trigger_wait_targetname("trig_spawn_navy_allies_hangar"); + level.burke maps\_utility::disable_cqbwalk(); + level.cormack maps\_utility::disable_cqbwalk(); + level.maddox maps\_utility::disable_cqbwalk(); + var_00 = getent("refl_probe_heli_open","targetname"); + var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("mi17_hangar_1"); + var_01 soundscripts\_snd::snd_message("warbird_hanger_dropoff"); + var_01 setmaxpitchroll(25,60); + var_01 overridereflectionprobe(var_00.origin); + var_01 thread maps\sanfran_b_util::warbird_shooting_think(1); + var_01 maps\_vehicle::godon(); + var_01 thread hangar_heli_wait_for_unload("hangar_fastzip_1"); + var_01 thread hangar_heli_wait_for_death("hangar_fastzip_1"); + thread hanger_warbird_clip_think("hangar_fastzip_1"); + waittillframeend; + var_01 thread hanger_warbird_think(); + var_01 notify("warbird_fire"); + var_01 vehicle_removebrushmodelcollision(); + common_scripts\utility::flag_wait("hangar_fastzip_1"); + var_01 notify("warbird_stop_firing"); + maps\_utility::trigger_wait_targetname("trig_move_to_hangar_exit_door"); + var_02 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("littlebird_overwatch"); + var_02 soundscripts\_snd::snd_message("littlebird_hanger_flyby"); + var_02.ignoreme = 1; + var_02 maps\_vehicle::godon(); + foreach(var_04 in var_02.riders) + { + var_04.ignoreme = 1; + if(isalive(var_04)) + { + var_04 maps\_utility::deletable_magic_bullet_shield(); + } + + if(var_04.vehicle_position == 6 || var_04.vehicle_position == 5) + { + var_04 laseron(); + } + } +} + +//Function Number: 132 +hanger_warbird_clip_think(param_00) +{ + var_01 = getent("hanger_warbird_clip","targetname"); + common_scripts\utility::flag_wait(param_00); + wait(2); + var_01 notsolid(); +} + +//Function Number: 133 +hanger_warbird_think() +{ + foreach(var_01 in self.riders) + { + if(var_01.vehicle_position == 0) + { + var_01 maps\_utility::gun_remove(); + } + } +} + +//Function Number: 134 +hangar_heli_wait_for_unload(param_00) +{ + self endon("death"); + self waittill("unloaded"); + if(isdefined(param_00)) + { + common_scripts\utility::flag_set(param_00); + } +} + +//Function Number: 135 +hangar_heli_wait_for_death(param_00) +{ + self endon("unloaded"); + self waittill("death"); + if(isdefined(param_00)) + { + common_scripts\utility::flag_set(param_00); + } +} + +//Function Number: 136 +hangar_combat_reinforcements() +{ + level.player endon("death"); + common_scripts\utility::flag_wait("hangar_fastzip_1"); + maps\sanfran_b_util::wait_for_number_enemies_alive(3); + common_scripts\utility::flag_set("hangar_reinforcements"); + var_00 = getent("hangar_door_left","targetname"); + var_01 = getent("clip_hangar_door_left","targetname"); + var_02 = common_scripts\utility::getstruct("org_hangar_door_close_left","targetname"); + var_03 = getent("hangar_door_right","targetname"); + var_04 = getent("clip_hangar_door_right","targetname"); + var_05 = common_scripts\utility::getstruct("org_hangar_door_close_right","targetname"); + var_06 = 4; + var_07 = [var_00,var_03]; + var_08 = var_03.origin; + soundscripts\_snd::snd_message("hangar_doors_open",var_07,var_06,var_08); + var_00 moveto(var_02.origin,var_06,0.05,0.15); + var_01 moveto(var_02.origin,var_06,0.05,0.15); + var_03 moveto(var_05.origin,var_06,0.05,0.15); + var_04 moveto(var_05.origin,var_06,0.05,0.15); + maps\_utility::activate_trigger_with_targetname("trig_move_allies_for_hangar_reinforcements"); + maps\_utility::array_spawn_noteworthy("hangar_enemy_reinforcements_1",1,1); + var_09 = getent("hangar_enemy_reinforcements_1_mech","script_noteworthy") maps\_utility::spawn_ai(1); + var_09 thread hanger_mech_think(); + level notify("hangar_reinforcements_spawned"); + maps\_utility::enable_trigger_with_targetname("cine_copter_trigger"); + wait(2); + var_01 connectpaths(); + var_04 connectpaths(); + wait(5); + common_scripts\utility::flag_set("ast_vo"); +} + +//Function Number: 137 +hanger_mech_think() +{ + self endon("death"); + maps\_mech::mech_start_reduced_nonplayer_damage(); + self setgoalentity(level.player); + self.favoriteenemy = level.player; + createthreatbiasgroup("player"); + createthreatbiasgroup("mech"); + level.player setthreatbiasgroup("player"); + self setthreatbiasgroup("mech"); + setthreatbias("player","mech",900000); + maps\_mech::mech_start_rockets(); + maps\_mech::mech_start_hunting(); +} + +//Function Number: 138 +wait_for_mech_distance() +{ + self endon("death"); + var_00 = getent("obj_defend_01","targetname"); + var_01 = 600; + var_02 = var_01 * var_01; + while(distancesquared(self.origin,var_00.origin) < var_02) + { + wait(0.1); + } +} + +//Function Number: 139 +hangar_exit_door() +{ + level.player endon("death"); + var_00 = common_scripts\utility::getstruct("org_hangar_exit_door","targetname"); + var_01 = maps\_utility::spawn_anim_model("hangar_exit_door"); + var_00 maps\_anim::anim_first_frame_solo(var_01,"hangar_exit"); + level waittill("hangar_reinforcements_spawned"); + maps\sanfran_b_util::wait_for_number_enemies_alive(2); + var_02 = getaiarray("axis"); + foreach(var_04 in var_02) + { + wait(randomfloatrange(0.25,1.25)); + var_04 thread maps\_utility::player_seek_enable(); + } + + maps\sanfran_b_util::wait_for_number_enemies_alive(0); + maps\_utility::activate_trigger_with_targetname("trig_move_to_hangar_exit_door"); + common_scripts\utility::flag_set("flag_obj_leave_hanger"); + maps\_utility::trigger_wait_targetname("trig_cormack_to_hangar_door"); + var_02 = [var_01,level.burke]; + var_00 maps\_anim::anim_reach_solo(level.burke,"hangar_exit"); + var_01 soundscripts\_snd::snd_message("aud_hangar_door_exit"); + thread send_cormack(); + var_00 maps\_anim::anim_single(var_02,"hangar_exit"); + level.cormack maps\_utility::enable_ai_color_dontmove(); + level.cormack maps\_utility::enable_sprint(); + maps\_utility::activate_trigger_with_targetname("trig_post_hangar_move"); + maps\_utility::battlechatter_off("allies"); + maps\_utility::battlechatter_off("axis"); +} + +//Function Number: 140 +send_cormack() +{ + wait(3.24); + var_00 = getent("hangar_door_clip","targetname"); + var_00 connectpaths(); + var_00 delete(); + maps\_utility::activate_trigger_with_targetname("cormack_move_fast"); + common_scripts\utility::flag_set("through_door_vo"); +} + +//Function Number: 141 +hand_signal_after_hangar() +{ + maps\_utility::trigger_wait_targetname("cormack_move_fast"); + wait(1.5); + level.maddox.goalradius = 8; + var_00 = getnode("maddoxnode","targetname"); + level.maddox maps\_utility::set_goal_node(var_00); + level.maddox waittill("goal"); + wait(2.4); + level.maddox maps\_anim::anim_single_solo(level.maddox,"signal_moveout_coverL"); + wait(0.1); + level.maddox.goalradius = 1024; + level.maddox maps\_utility::enable_ai_color_dontmove(); + maps\_utility::activate_trigger_with_targetname("maddox_move"); +} + +//Function Number: 142 +sf_b_videolog() +{ + common_scripts\utility::flag_wait("trig_hangar_ambient_naval_combat"); + maps\_shg_utility::play_videolog("sanfran_b_videolog","screen_add"); +} + +//Function Number: 143 +door_takedown_door() +{ + var_00 = maps\_utility::spawn_anim_model("takedown_door"); + var_01 = common_scripts\utility::getstruct("org_bulkhead_takedown","targetname"); + level.takedown_door = var_00; + var_01 maps\_anim::anim_first_frame_solo(var_00,"door_takedown"); +} + +//Function Number: 144 +ambient_combat() +{ + level.player endon("death"); + thread maps\sanfran_b_lighting::play_flickering_info_hallway_light(); + common_scripts\utility::flag_wait("trig_hangar_ambient_naval_combat"); +} + +//Function Number: 145 +delete_hangar_allies_on_goal() +{ + if(!isdefined(self.script_parameters)) + { + return; + } + + if(self.script_parameters == "delete_on_goal") + { + self endon("death"); + self waittill("goal"); + self delete(); + } +} + +//Function Number: 146 +destroy_cine_helicopter() +{ + var_00 = getent("missile_launcher_special","targetname"); + var_00.missle_starts = getentarray(var_00.target,"targetname"); + foreach(var_02 in var_00.missle_starts) + { + var_02 linkto(var_00); + } + + thread beginning_idle_cine_turret(); + common_scripts\utility::flag_wait("DestroyCineCopter"); + level.spawncopter = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("CineWarbird"); + level.spawncopter soundscripts\_snd::snd_message("warbird_flyover_shootdown"); + wait(2); + var_00 thread turret_targeting(); + wait(1.5); + shootcineturrets(); +} + +//Function Number: 147 +turret_targeting() +{ + level endon("stop_ship_weapons"); + while(isdefined(level.spawncopter)) + { + var_00 = vectornormalize(level.spawncopter.origin - self.origin); + var_01 = anglestoforward(self.angles); + var_02 = vectortoangles(var_00); + var_03 = vectortoangles(var_01); + if(var_03[1] > var_02[1]) + { + var_04 = var_03[1] - var_02[1]; + maps\_utility::_rotateyaw(var_03[1] - var_02[1] * -1,0.5,0.05,0.05); + continue; + } + + if(var_03[1] < var_02[1]) + { + var_04 = var_02[1] - var_03[1]; + maps\_utility::_rotateyaw(var_02[1] - var_03[1],0.5,0.05,0.05); + continue; + } + + wait(0.05); + wait(0.05); + } + + var_05 = common_scripts\utility::getstruct("helicopter_crash_location","targetname"); + earthquake(0.5,1.5,level.player.origin,1024); + level.player playrumbleonentity("heavy_2s"); + start_idle_shooting(); +} + +//Function Number: 148 +shootcineturrets() +{ + var_00 = getent("missile_launcher_special","targetname"); + var_00.missle_starts = getentarray(var_00.target,"targetname"); + foreach(var_02 in var_00.missle_starts) + { + var_03 = magicbullet("mob_missile",var_02.origin,level.spawncopter.origin); + var_03 missile_settargetent(level.spawncopter); + wait(0.05); + } + + earthquake(0.3,1.5,level.player.origin,1024); + level.player playrumbleonentity("heavy_2s"); +} + +//Function Number: 149 +start_idle_shooting() +{ + level endon("stop_ship_weapons"); + var_00 = getent("missile_launcher_special","targetname"); + var_00.missle_starts = getentarray(var_00.target,"targetname"); + for(;;) + { + var_00 rotateto((0,randomintrange(180,360),0),1.5,0.25,0.25); + wait(1.5); + foreach(var_02 in var_00.missle_starts) + { + var_03 = anglestoforward(var_02.angles); + var_03 = var_03 * 5000; + var_03 = var_03 + (randomintrange(500,1000),randomintrange(500,1000),randomintrange(1000,2000)); + magicbullet("mob_missile",var_02.origin,var_02.origin + var_03); + } + + wait(randomfloatrange(10,20)); + } +} + +//Function Number: 150 +beginning_idle_cine_turret() +{ + level endon("DestroyCineCopter"); + var_00 = getent("missile_launcher_special","targetname"); + var_00.missle_starts = getentarray(var_00.target,"targetname"); + for(;;) + { + var_00 rotateto((0,randomintrange(180,360),0),1.5,0.25,0.25); + wait(1.5); + foreach(var_02 in var_00.missle_starts) + { + var_03 = anglestoforward(var_02.angles); + var_03 = var_03 * 5000; + var_03 = var_03 + (randomintrange(500,1000),randomintrange(500,1000),randomintrange(1000,2000)); + magicbullet("mob_missile",var_02.origin,var_02.origin + var_03); + } + + wait(randomfloatrange(10,20)); + } +} + +//Function Number: 151 +door_takedown() +{ + common_scripts\utility::flag_wait("flag_door_takedown"); + var_00 = getent("door_takedown_corner_clip","targetname"); + var_01 = getent("door_takedown_initial_clip","targetname"); + var_01 linkto(level.takedown_door,"doorhinge"); + var_02 = common_scripts\utility::getstruct("org_bulkhead_takedown","targetname"); + var_03 = getent("door_takedown_guy2","targetname"); + if(level.currentgen) + { + loadtransient("sanfran_b_intro_tr"); + } + + if(common_scripts\utility::flag("flag_door_takedown_cormack_ahead") == 1) + { + level.cormack maps\_utility::disable_sprint(); + level.cormack.moveplaybackrate = 1.1; + level.cormack maps\_utility::place_weapon_on(level.cormack.primaryweapon,"chest"); + var_02 maps\_anim::anim_reach_solo(level.cormack,"door_takedown"); + level.cormack soundscripts\_snd::snd_message("aud_door_takedown_mix_handler"); + var_04 = var_03 maps\_utility::spawn_ai(1); + var_04 thread maps\_utility::deletable_magic_bullet_shield(); + var_04.animname = "guy"; + var_04.ignoreme = 1; + var_04.ignoreall = 1; + var_04.ignoresonicaoe = 1; + var_04 disableaimassist(); + var_04 soundscripts\_snd::snd_message("aud_door_takedown_scream"); + var_05 = [level.takedown_door,var_04]; + var_02 thread maps\_anim::anim_single_solo_run(level.cormack,"door_takedown"); + maps\_utility::activate_trigger_with_targetname("trig_move_cormack_after_takedown"); + var_02 maps\_anim::anim_single(var_05,"door_takedown"); + var_04 maps\_utility::stop_magic_bullet_shield(); + var_04 kill(); + var_04 startragdoll(); + var_01 connectpaths(); + var_00 connectpaths(); + var_00 delete(); + level.cormack thread maps\_utility::place_weapon_on(level.cormack.primaryweapon,"right"); + level.cormack.moveplaybackrate = 1; + level.cormack maps\sanfran_b_util::disable_awareness(); + maps\_utility::activate_trigger_with_targetname("trig_information_center_vo_1"); + common_scripts\utility::flag_set("flag_information_center_vo_1"); + common_scripts\utility::flag_wait("CormackSafe"); + level.cormack maps\sanfran_b_util::enable_awareness(); + maps\_utility::battlechatter_on("allies"); + maps\_utility::battlechatter_on("axis"); + return; + } + + var_04 = var_05 maps\_utility::spawn_ai(1); + var_05.animname = "guy"; + var_05.ignoreme = 1; + var_05.ignoresonicaoe = 1; + var_05 thread enemy_door_ambush_monitor_health(); + var_05 = [level.takedown_door,var_05]; + var_02 maps\_anim::anim_single(var_05,"door_ambush"); + var_04.ignoreme = 0; + var_01 connectpaths(); + var_00 connectpaths(); + var_00 delete(); + level waittill("surprise_enemy_dead"); + maps\_utility::activate_trigger_with_targetname("trig_move_cormack_after_takedown"); + maps\_utility::activate_trigger_with_targetname("trig_information_center_vo_1"); + common_scripts\utility::flag_set("flag_information_center_vo_1"); + maps\_utility::battlechatter_on("allies"); + maps\_utility::battlechatter_on("axis"); +} + +//Function Number: 152 +enemy_door_ambush_monitor_health() +{ + self waittill("death"); + level notify("surprise_enemy_dead"); +} + +//Function Number: 153 +player_entering_server_room() +{ + common_scripts\utility::flag_wait("entering_server_room"); + common_scripts\utility::flag_clear("sonar_threat_detection_off"); + soundscripts\_snd::snd_message("enter_server_room"); +} + +//Function Number: 154 +information_center_combat() +{ + maps\_utility::trigger_wait_targetname("trig_initial_information_center_combat"); + level.burke maps\_utility::disable_cqbwalk(); + level.cormack maps\_utility::disable_cqbwalk(); + level.maddox maps\_utility::disable_cqbwalk(); + common_scripts\utility::flag_wait("BeginCheckingForLos"); + var_00 = getentarray("toplevelambush_ai","targetname"); + foreach(var_02 in var_00) + { + var_02 thread player_los_check(); + } + + thread information_center_enemies_charge(); + common_scripts\utility::flag_wait_either("information_center_cleared","information_center_enemies_killed"); + common_scripts\utility::flag_set("flag_bridge"); + soundscripts\_snd::snd_message("enter_bridge"); + thread maps\sanfran_b_lighting::play_flickering_info_light(); + thread maps\sanfran_b_lighting::play_flickering_info_hallway_light(); + thread maps\sanfran_b_lighting::lerp_sun_02(); +} + +//Function Number: 155 +information_center_enemies_charge() +{ + level endon("information_center_cleared"); + var_00 = getaiarray("axis"); + var_00 = maps\_utility::remove_dead_from_array(var_00); + while(var_00.size > 2) + { + var_00 = maps\_utility::remove_dead_from_array(var_00); + wait 0.05; + } + + foreach(var_02 in var_00) + { + if(isalive(var_02)) + { + var_02 thread maps\_utility::player_seek_enable(); + } + } +} + +//Function Number: 156 +spawn_last_two_guys() +{ + level endon("dontspawntroops"); + common_scripts\utility::flag_wait("information_center_enemies_killed"); + common_scripts\utility::flag_wait("toptouched"); + var_00 = getent("lasttroop1","targetname") maps\_utility::spawn_ai(); + var_01 = getent("lasttroop2","targetname") maps\_utility::spawn_ai(); +} + +//Function Number: 157 +player_los_check() +{ + self endon("Death"); + for(;;) + { + if(self cansee(level.player)) + { + wait(0.05); + continue; + } + + self findshufflecovernode(); + wait(0.05); + } +} + +//Function Number: 158 +straighten_ship() +{ + level.ground_ref_ent rotatepitch(5,2); + soundscripts\_snd::snd_message("if_the_boat_is_a_rockin_dont_come_a_knockin","interior"); + wait(2); + level.ground_ref_ent rotateroll(-7,2); + soundscripts\_snd::snd_message("if_the_boat_is_a_rockin_dont_come_a_knockin","interior"); +} + +//Function Number: 159 +delete_specific_navy_ships() +{ + var_00 = getentarray("navy_ship","targetname"); + foreach(var_02 in var_00) + { + if(isdefined(var_02.script_parameters) && var_02.script_parameters == "delete_on_bridge") + { + var_02 delete(); + } + } +} + +//Function Number: 160 +move_squad_to_bridge() +{ + maps\_utility::activate_trigger_with_targetname("trig_move_squad_to_bridge"); + wait(0.05); + maps\_utility::autosave_by_name(); + foreach(var_01 in level.heroes) + { + var_01.baseaccuracy = var_01.baseaccuracy * 10; + } +} + +//Function Number: 161 +console_guy() +{ + soundscripts\_snd::snd_message("cormack_shoots_bridge_guy"); + maps\_utility::trigger_wait_targetname("trig_spawn_console_guy"); + common_scripts\_exploder::exploder(5234); + thread maps\_shg_fx::vfx_sunflare("sanfran_sunflare_a"); + foreach(var_01 in level.heroes) + { + var_01 maps\sanfran_b_util::disable_awareness_limited(); + } + + level notify("console_guy_spawn"); + var_01 = getent("console_guy","targetname") maps\_utility::spawn_ai(1); + var_01.animname = "guy"; + var_01 maps\_utility::battlechatter_off(); + var_01.allowdeath = 0; + var_01 thread maps\_utility::deletable_magic_bullet_shield(); + var_01.ignoresonicaoe = 1; + level.console_guy = var_01; + var_03 = common_scripts\utility::getstruct("org_burke_control_room","targetname"); + var_03 thread maps\_anim::anim_loop_solo(var_01,"guy_control_idle","stop_console_loop"); + maps\_utility::trigger_wait_targetname("trig_console_guy_react"); + var_03 notify("stop_console_loop"); + var_01 maps\_utility::anim_stopanimscripted(); + var_01 thread play_blood_fx_when_shot(); + var_03 maps\_anim::anim_single_solo(var_01,"guy_control_to_fire"); + var_01 allowedstances("stand"); + var_01.goalradius = 4; + var_01 maps\_utility::set_goal_pos(var_01.origin); + var_01.dontmelee = 1; + var_01.ignoresuppression = 1; + var_01.suppressionwait_old = self.suppressionwait; + var_01.suppressionwait = 0; + var_01 maps\_utility::disable_surprise(); + var_01.ignorerandombulletdamage = 1; + var_01 maps\_utility::disable_bulletwhizbyreaction(); + var_01 maps\_utility::disable_pain(); + var_01.grenadeawareness = 0; + var_01.disablefriendlyfirereaction = 1; + var_01.dodangerreact = 0; + var_01 waittill("damage"); + var_01 notify("stop_console_guy_impact_fx"); + var_01.ignoreme = 1; + var_01.ignoreall = 1; + var_01 disableaimassist(); + var_01 maps\_utility::pretend_to_be_dead(); + var_03 maps\_anim::anim_single_solo(var_01,"guy_control_react"); + level notify("console_guy_dead"); + var_03 thread maps\_anim::anim_loop_solo(var_01,"guy_control_shot_idle","stop_shot_idle_loop"); + var_04 = var_01 setcontents(0); + maps\_utility::activate_trigger_with_targetname("trig_control_room_anims"); + common_scripts\utility::flag_set("bridge_drones_dead"); + level.consoleguy = var_01; +} + +//Function Number: 162 +play_blood_fx_when_shot() +{ + self endon("stop_console_guy_impact_fx"); + for(;;) + { + self waittill("damage",var_00,var_01,var_02,var_03,var_04); + playfx(common_scripts\utility::getfx("flesh_hit"),var_03); + wait(0.05); + } + + wait(2); +} + +//Function Number: 163 +control_room_anims() +{ + maps\_utility::trigger_wait_targetname("trig_control_room_anims"); + foreach(var_01 in level.heroes) + { + var_01 thread maps\sanfran_b_util::hide_friendname_until_flag_or_notify("forever"); + } + + var_03 = common_scripts\utility::getstruct("org_burke_control_room","targetname"); + var_03 maps\_anim::anim_reach_solo(level.cormack,"control_room_pulloff"); + var_03 notify("stop_shot_idle_loop"); + level.console_guy maps\_utility::anim_stopanimscripted(); + var_04 = [level.cormack,level.console_guy]; + common_scripts\utility::flag_set("pulloff_anim_started"); + thread maps\_utility::flag_set_delayed("target_vo",4); + var_03 maps\_anim::anim_single(var_04,"control_room_pulloff"); + common_scripts\utility::flag_set("cormack_on_console"); + soundscripts\_snd::snd_message("objective_complete"); + var_05 = getent("objective_console","targetname"); + var_06 = getent("console_04a","targetname"); + var_07 = spawn("script_model",var_05.origin); + var_07.angles = var_05.angles; + var_07 setmodel("mob_bridge_console_04b_obj"); + var_08 = spawn("script_model",var_06.origin); + var_08.angles = var_06.angles; + var_08 setmodel("mob_bridge_console_04a_obj"); + var_03 thread maps\_anim::anim_loop_solo(level.console_guy,"guy_control_dead_idle","never"); + var_03 thread maps\_anim::anim_loop_solo(level.cormack,"console_idle","stop_operate_loop"); + level.player waittill("laser_off"); + clearallcorpses(); + level.consoleguy delete(); + foreach(var_0A in level.heroes) + { + var_0A maps\_utility::enable_dontevershoot(); + } + + var_04 = getaiarray("axis"); + foreach(var_0D in var_04) + { + if(!isdefined(var_0D.magic_bullet_shield)) + { + var_0D.diequietly = 1; + var_0D kill(); + } + } + + if(isdefined(level.ambient_drones)) + { + foreach(var_10 in level.ambient_drones) + { + if(isdefined(var_10) && isalive(var_10)) + { + var_10 maps\_vehicle::vehicle_set_health(1); + var_10 dodamage(99999,var_10.origin); + } + } + } + + soundscripts\_snd::snd_message("rail_gun_done"); + thread maps\_sonicaoe::enablesonicaoe(); + common_scripts\utility::flag_clear("flag_end_sonar_vision"); + give_night_vision(); + var_07 delete(); + var_08 delete(); + var_03 notify("stop_operate_loop"); + level.burke maps\_utility::anim_stopanimscripted(); + var_12 = maps\_utility::spawn_anim_model("player_rig"); + var_03 maps\_anim::anim_first_frame_solo(var_12,"sf_b_bridge_dialog"); + level.player playerlinktodelta(var_12,"tag_player",1,0,0,0,0); + var_04 = [var_12,level.burke,level.cormack,level.maddox]; + var_03 thread maps\_anim::anim_single(var_04,"sf_b_bridge_dialog"); + var_12 common_scripts\utility::delaycall(1,::hide); + common_scripts\utility::flag_wait("outro_dialogue_finished"); +} + +//Function Number: 164 +play_cinematic(param_00,param_01,param_02) +{ + if(isdefined(level.current_cinematic)) + { + pausecinematicingame(0); + setsaveddvar("cg_cinematicFullScreen","1"); + level.current_cinematic = undefined; + } + else + { + cinematicingame(param_00); + } + + if(!isdefined(param_02) || !param_02) + { + setsaveddvar("cg_cinematicCanPause","1"); + } + + wait(1); + while(iscinematicplaying()) + { + wait(0.05); + } + + if(!isdefined(param_02) || !param_02) + { + setsaveddvar("cg_cinematicCanPause","0"); + } +} + +//Function Number: 165 +setup_mob_turret_targets() +{ + common_scripts\utility::flag_wait("player_using_mob_turret"); + common_scripts\_exploder::exploder(3600); + var_00 = getent("cargo_ship","targetname"); + var_01 = getent("cargo_ship_2","targetname"); + var_02 = var_00 setcontents(0); + var_00 setcontents(var_02 | 1); + var_03 = var_01 setcontents(0); + var_01 setcontents(var_03 | 1); + level.mob_turret_targets = [var_00,var_01]; + common_scripts\utility::array_thread(level.mob_turret_targets,::detect_cargo_ship_damage); + common_scripts\utility::array_thread(level.mob_turret_targets,::detect_cargo_ship_death); + foreach(var_05 in level.mob_turret_targets) + { + var_05 thread remove_from_target_array_on_death(); + } + + thread wait_for_mob_turret_targets_to_be_destroyed(); +} + +//Function Number: 166 +cargo_ship_fights_back() +{ + common_scripts\utility::flag_wait("first_cargo_ship_destroyed"); + wait(2); + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("cargo2_to_player_1"); + wait(randomfloatrange(0.3,1.3)); + var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("cargo2_to_player_2"); + wait(randomfloatrange(0.3,1.3)); + var_02 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("cargo2_to_player_3"); + wait(randomfloatrange(0.3,1.3)); + var_03 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("cargo2_to_player_4"); +} + +//Function Number: 167 +detect_cargo_ship_damage() +{ + self endon("death"); + self setcandamage(1); + var_00 = undefined; + var_01 = undefined; + var_02 = 2000; + var_03 = 3000; + if(level.currentgen) + { + var_02 = var_02 * 0.5; + var_03 = var_03 * 0.5; + } + + if(isdefined(self.script_parameters)) + { + if(self.script_parameters == "1") + { + var_00 = 1; + self.animname = "cargo_ship_1"; + self useanimtree(#animtree); + thread maps\_anim::anim_loop_solo(self,"cargo_ship_idle_large"); + } + + if(self.script_parameters == "2") + { + var_00 = 2; + self.animname = "cargo_ship_2"; + self useanimtree(#animtree); + thread maps\_anim::anim_loop_solo(self,"cargo_ship_idle_large"); + } + } + + var_04 = 0; + var_05 = undefined; + while(var_04 < 2) + { + self.health = 99999; + self waittill("damage",var_06,var_07,var_08,var_09,var_0A); + if((isdefined(var_07) && var_07 == level.player && isdefined(var_09) && isdefined(var_0A)) || var_0A == "projectile") + { + physicsexplosionsphere(var_09,2048,1024,var_02); + wakeupphysicssphere(var_09,8000); + var_04++; + if(var_00 == 1) + { + var_0B = common_scripts\utility::spawn_tag_origin(); + var_0C = level.mob_turret_right gettagorigin("tag_flash"); + var_0D = level.mob_turret_right gettagorigin("tag_flash1"); + var_0E = anglestoforward(level.mob_turret_right gettagangles("tag_flash")); + var_0F = anglestoforward(level.mob_turret_right gettagangles("tag_flash1")); + var_10 = var_0C + var_0E * 20000; + var_11 = var_0C + var_0F * 20000; + var_12 = bullettrace(var_0C,var_10,0,level.mob_turret_right,1); + if(var_12["fraction"] == 1) + { + var_12 = bullettrace(var_0D,var_11,0,level.mob_turret_right,1); + } + + if(isdefined(var_12["entity"]) && var_12["entity"] == self) + { + if(isdefined(var_12["position"])) + { + var_0B.origin = var_12["position"]; + common_scripts\utility::noself_delaycall(0.6,::physicsexplosionsphere,var_0B.origin,1500,1000,var_03); + } + + if(isdefined(var_12["normal"])) + { + var_13 = vectornormalize(var_12["normal"]); + var_0B.angles = vectortoangles(var_13); + playfx(common_scripts\utility::getfx("sfb_cargoship_impact_explosion"),var_0B.origin,var_13 + (180,0,0)); + } + + var_14 = getent("vol_crater_1","targetname"); + if(var_0B istouching(var_14)) + { + var_0B thread spawn_cargo_crater(self,1); + } + } + + thread maps\_anim::anim_single_solo(self,"cargo_ship_hit_react"); + soundscripts\_snd::snd_message("cargo_ship_hit_react",1); + if(var_04 == 1) + { + common_scripts\_exploder::exploder(3200); + } + + common_scripts\utility::flag_set("first_cargo_ship_damaged"); + continue; + } + + var_0B = common_scripts\utility::spawn_tag_origin(); + var_0C = level.mob_turret_left gettagorigin("tag_flash"); + var_0D = level.mob_turret_left gettagorigin("tag_flash1"); + var_0E = anglestoforward(level.mob_turret_left gettagangles("tag_flash")); + var_0F = anglestoforward(level.mob_turret_left gettagangles("tag_flash1")); + var_10 = var_0F + var_11 * 20000; + var_11 = var_0E + var_11 * 20000; + var_12 = bullettrace(var_0D,var_11,0,level.mob_turret_left,1); + if(var_12["fraction"] == 1) + { + var_12 = bullettrace(var_0D,var_11,0,level.mob_turret_left,1); + } + + if(isdefined(var_12["entity"]) && var_12["entity"] == self) + { + if(isdefined(var_12["position"])) + { + var_0B.origin = var_12["position"]; + common_scripts\utility::noself_delaycall(0.6,::physicsexplosionsphere,var_0B.origin,1500,1000,var_03); + } + + if(isdefined(var_12["normal"])) + { + var_13 = vectornormalize(var_12["normal"]); + var_0B.angles = vectortoangles(var_13); + playfx(common_scripts\utility::getfx("sfb_cargoship_impact_explosion"),var_0B.origin,var_13 - (180,0,0)); + } + + var_14 = getent("vol_crater_2","targetname"); + if(var_0B istouching(var_14)) + { + var_0B thread spawn_cargo_crater(self,0); + } + } + + thread maps\_anim::anim_single_solo(self,"cargo_ship_hit_react"); + soundscripts\_snd::snd_message("cargo_ship_hit_react",2); + common_scripts\utility::flag_set("second_cargo_ship_damaged"); + if(var_04 == 1) + { + common_scripts\_exploder::exploder(3300); + } + } + } + + if(var_00 == 1) + { + self notify("ship_destroyed"); + thread cargo_ship_death_fx("cargo_ship_1_death"); + common_scripts\utility::flag_set("first_cargo_ship_destroyed"); + } + + if(var_00 == 2) + { + self notify("ship_destroyed"); + thread cargo_ship_death_fx("cargo_ship_2_death"); + common_scripts\utility::flag_set("second_cargo_ship_destroyed"); + } + + thread deleteboat(); +} + +//Function Number: 168 +deleteboat() +{ + wait(16); + self delete(); +} + +//Function Number: 169 +spawn_cargo_crater(param_00,param_01) +{ + var_02 = spawn("script_model",self.origin); + var_02 setmodel("vehicle_atlas_cargo_container_dmg_k"); + var_02 linkto(param_00); + var_02.angles = self.angles; + if(isdefined(param_01) && param_01) + { + self.angles = (0,180,0); + } + + self linkto(param_00); + playfxontag(common_scripts\utility::getfx("fire_lp_l_blacksmk_thick_nonlit"),self,"tag_origin"); + param_00 waittill("ship_destroyed"); + wait(2); + var_02 delete(); + stopfxontag(common_scripts\utility::getfx("fire_lp_l_blacksmk_thick_nonlit"),self,"tag_origin"); +} + +//Function Number: 170 +cargo_ship_rocking(param_00,param_01) +{ + if(isdefined(self.rocking) && self.rocking) + { + return; + } + + self endon("death"); + var_02 = 0; + if(isdefined(param_01) && param_01) + { + self moveto(self.origin + (0,0,-256),2); + } + + var_03 = 3; + while(isdefined(self)) + { + self rotateroll(param_00,var_03,0.05,0.05); + wait(var_03); + self rotateroll(param_00 * -1,var_03,0.15,1.5); + if(isdefined(param_01) && param_01 && !var_02) + { + self moveto(self.origin + (0,0,256),4); + var_02 = 1; + } + + wait(var_03); + } +} + +//Function Number: 171 +cargo_ship_death_fx(param_00) +{ + maps\_utility::delaythread(2.15,::ship_explosion_rumble,0.35); + maps\_utility::delaythread(2.15,::ship_explosion_screenblur); + maps\_utility::delaythread(2.4,::ship_explosion_rumble,0.35); + maps\_utility::delaythread(2.9,::ship_explosion_rumble,0.35); + maps\_utility::delaythread(4.25,::ship_explosion_rumble,0.2); + maps\_utility::delaythread(4.9,::ship_explosion_rumble,0.3); +} + +//Function Number: 172 +ship_explosion_rumble(param_00) +{ + level.player playrumbleonentity("heavy_2s"); + earthquake(param_00,1.75,level.player.origin,1024); +} + +//Function Number: 173 +ship_explosion_screenblur() +{ + wait(0.15); + setblur(1,0.01); + wait(0.05); + setblur(0,0.05); +} + +//Function Number: 174 +detect_cargo_ship_death() +{ + self waittill("death"); + if(isdefined(self)) + { + self delete(); + } + + common_scripts\utility::flag_set("cargo_ship_destroyed"); +} + +//Function Number: 175 +remove_from_target_array_on_death() +{ + level.player endon("death"); + self waittill("death"); + level.mob_turret_targets = common_scripts\utility::array_remove(level.mob_turret_targets,self); +} + +//Function Number: 176 +update_trigger_pos(param_00,param_01) +{ + param_00 endon("death"); + level.player endon("death"); + param_01 endon("death"); + var_02 = transformmove((0,0,0),(0,0,0),param_00.origin,param_00.angles,param_01.origin,param_01.angles); + for(;;) + { + var_03 = transformmove(param_00.origin,param_00.angles,(0,0,0),(0,0,0),var_02["origin"],var_02["angles"]); + param_01.origin = var_03["origin"]; + param_01.angles = var_03["angles"]; + wait(0.05); + } +} + +//Function Number: 177 +wait_for_mob_turret_targets_to_be_destroyed() +{ + level.player endon("death"); + while(level.mob_turret_targets.size > 0) + { + wait(0.2); + } + + common_scripts\utility::flag_set("laser_targets_destroyed"); +} + +//Function Number: 178 +handle_mob_turret() +{ + common_scripts\utility::flag_wait("obj_console"); + level.player endon("death"); + var_00 = getent("trig_use_console","targetname") maps\_shg_utility::hint_button_trigger("use",200); + maps\_utility::trigger_wait_targetname("trig_use_console"); + level.player maps\_shg_utility::setup_player_for_scene(1); + var_00 maps\_shg_utility::hint_button_clear(); + thread maps\_sonicaoe::disablesonicaoe(); + maps\sanfran_b_sonar_vision::sonar_vision_off(); + sonar_off(); + common_scripts\utility::flag_set("flag_end_sonar_vision"); + common_scripts\utility::flag_set("player_using_mob_turret"); + soundscripts\_snd::snd_message("rail_gun_start"); + level.burke.ignoreme = 1; + level.cormack.ignoreme = 1; + level.maddox.ignoreme = 1; + thread railgun_cargo_ship_missiles(); + thread railgun_minigun_1(); + level.player enableinvulnerability(); + maps\_utility::delaythread(0.5,::maps\_utility::autosave_by_name); + thread maps\sanfran_b_mob_turret::setup_mob_turret(); + var_01 = getent("trig_use_console","targetname"); + var_01 common_scripts\utility::trigger_off(); + thread water_explosions(); + thread railgun_ambient_air(); + thread railgun_enemies(); + thread static_overlay(); + wait(0.5); + setsaveddvar("cg_fov","75"); + setsaveddvar("r_hudoutlineenable",1); + setsaveddvar("r_hudoutlinewidth",1); + setsaveddvar("r_hudoutlinepostmode",2); + setsaveddvar("r_hudoutlinehalolumscale",0.75); + setsaveddvar("r_hudoutlinehaloblurradius",0.35); +} + +//Function Number: 179 +railgun_cargo_ship_missiles() +{ + while(!common_scripts\utility::flag("laser_targets_destroyed")) + { + if(common_scripts\utility::flag("cargo_ship_destroyed")) + { + wait(0.05); + continue; + } + + var_00 = []; + var_01 = getent("cargo_ship","targetname"); + if(!common_scripts\utility::flag("switching_cargo_ships")) + { + var_00[0] = getent("railgun_cargo_ship_missiles_1","targetname"); + if(isdefined(var_01)) + { + var_00[0] linkto(var_01); + } + + var_02 = getentarray("railgun_cargo_missile_targets_1","targetname"); + var_00[1] = getent("railgun_cargo_ship_missiles_2","targetname"); + if(isdefined(var_01)) + { + var_00[1] linkto(var_01); + } + + var_02 = getentarray("railgun_cargo_missile_targets_2","targetname"); + } + else + { + var_00[1] = getent("railgun_cargo_ship_missiles_2","targetname"); + if(isdefined(var_01)) + { + var_00[1] linkto(var_01); + } + + var_02 = getentarray("railgun_cargo_missile_targets_2","targetname"); + } + + var_03 = var_00[randomint(var_00.size)]; + var_04 = var_02[randomint(var_02.size)]; + var_05 = vectortoangles(var_04.origin - var_03.origin); + var_06 = magicbullet("cargo_ship_missile_railgun",var_03.origin,var_04.origin); + var_06 missile_settargetent(var_04); + var_06 missile_setflightmodedirect(); + var_06 thread railgun_missile_impact(); + playfx(common_scripts\utility::getfx("missile_launch_smoke"),var_03.origin,anglestoforward(var_05),anglestoup(var_05)); + wait(randomfloatrange(4,8)); + } + + level notify("stop_cargo_ship_missiles"); +} + +//Function Number: 180 +railgun_missile_impact() +{ + self waittill("death"); + level endon("stop_cargo_ship_missiles"); + if(distance(level.player.origin,self.origin) <= 2048) + { + earthquake(0.4,1,self.origin,2048); + playrumbleonposition("heavy_1s",self.origin); + } +} + +//Function Number: 181 +water_explosions() +{ + level.player endon("laser_off"); + common_scripts\utility::flag_wait("player_on_turret_1"); + var_00 = randomfloatrange(3,6); + var_01 = getent("water_clip","targetname"); + for(;;) + { + var_02 = anglestoforward(level.player.angles) * randomintrange(2048,7000); + var_03 = anglestoup(level.player.angles) * -1; + var_04 = anglestoright(level.player.angles) * randomintrange(-2048,2048); + var_05 = level.player.origin + var_02 + var_04; + var_06 = var_05; + var_07 = var_05 + var_03 * 20000; + var_08 = bullettrace(var_06,var_07,0); + if(var_08["fraction"] == 1) + { + wait(0.05); + continue; + } + + if((isdefined(var_08["surfacetype"]) && var_08["surfacetype"] == "water" && isdefined(var_08["position"])) || isdefined(var_01) && isdefined(var_08["position"]) && isdefined(var_08["entity"]) && var_08["entity"] == var_01) + { + playfx(common_scripts\utility::getfx("water_impact"),var_08["position"]); + } + + wait(var_00); + } +} + +//Function Number: 182 +railgun_ambient_air() +{ + level.player endon("laser_off"); + common_scripts\utility::flag_wait("player_on_turret_1"); + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("railgun_jet_flyby_1"); + var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("railgun_jet_flyby_2"); + soundscripts\_snd::snd_message("shrike_railgun_flyby_01",var_00,var_01); + common_scripts\utility::flag_wait("first_cargo_ship_damaged"); + wait(1); + var_02 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("railgun_jet_flyby_3"); + var_03 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("railgun_jet_flyby_4"); + soundscripts\_snd::snd_message("shrike_railgun_flyby_02",var_02,var_03); + common_scripts\utility::flag_wait("player_on_turret_2"); + var_04 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("railgun_jet_flyby_5"); + var_05 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("railgun_jet_flyby_6"); + soundscripts\_snd::snd_message("shrike_railgun_flyby_03",var_04,var_05); +} + +//Function Number: 183 +railgun_minigun_1() +{ + var_00 = getentarray("org_cargo_ship_minigun_1","targetname"); + common_scripts\utility::array_thread(var_00,::railgun_minigun_fire,1); + common_scripts\utility::flag_wait("player_on_turret_2"); + var_00 = getentarray("org_cargo_ship_minigun_2","targetname"); + common_scripts\utility::array_thread(var_00,::railgun_minigun_fire,2); +} + +//Function Number: 184 +railgun_enemies() +{ + maps\_utility::array_spawn_function_noteworthy("rail_gun_warbird",::railgun_warbird_think); + var_00 = maps\_vehicle::spawn_vehicles_from_targetname_and_drive("rail_gun_1_warbird"); + common_scripts\utility::flag_wait("player_switching_to_turret_2"); + var_00 = maps\_utility::array_removedead(var_00); + common_scripts\utility::array_call(var_00,::delete); + var_00 = maps\_vehicle::spawn_vehicles_from_targetname_and_drive("rail_gun_2_warbird"); + common_scripts\utility::flag_wait("second_cargo_ship_destroyed"); + wait(7.75); + var_00 = maps\_utility::array_removedead(var_00); + common_scripts\utility::array_call(var_00,::delete); +} + +//Function Number: 185 +railgun_warbird_think() +{ + self setmaxpitchroll(20,40); + self.emp_hits = 1; + maps\_utility::add_damage_function(::rail_gun_warbird_damage_function); + thread maps\sanfran_b_util::warbird_heavy_shooting_think(1); + self sethoverparams(1000,45,45); + self hudoutlineenable(1,1); + if(!isdefined(self.ent_flag["warbird_open_fire"])) + { + maps\_utility::ent_flag_init("warbird_open_fire"); + } + + maps\_utility::ent_flag_wait("warbird_open_fire"); + self notify("warbird_fire"); + maps\_utility::ent_flag_waitopen("warbird_open_fire"); + self notify("warbird_stop_firing"); +} + +//Function Number: 186 +rail_gun_warbird_damage_function(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ + if(param_01 == level.player && param_04 == "MOD_PROJECTILE") + { + self kill(); + wait(0.05); + if(isdefined(self)) + { + self notify("crash_done"); + self notify("in_air_explosion"); + } + } +} + +//Function Number: 187 +railgun_minigun_fire(param_00) +{ + var_01 = undefined; + if(param_00 == 1) + { + level endon("first_cargo_ship_destroyed"); + } + + if(param_00 == 2) + { + level endon("second_cargo_ship_destroyed"); + } + + if(param_00 == 1) + { + var_01 = getent("cargo_ship","targetname"); + } + + if(param_00 == 2) + { + var_01 = getent("cargo_ship_2","targetname"); + } + + self linkto(var_01); + for(;;) + { + var_02 = randomfloatrange(1.5,3); + var_03 = randomfloatrange(1,2); + var_04 = 0; + while(var_04 < var_02) + { + var_05 = randomintrange(-64,64); + var_06 = level.player.origin + (0,0,-120) + (var_05,var_05,var_05); + magicbullet("cargoship_turret",self.origin,var_06); + var_07 = var_06 - self.origin; + playfx(common_scripts\utility::getfx("cargoship_turret"),self.origin,var_07); + var_04 = var_04 + 0.05; + wait(0.05); + } + + wait(var_03); + } +} + +//Function Number: 188 +draw_crosshair() +{ + var_00 = create_hud_laser_crosshair(); + self waittill("laser_off"); + var_00 destroy(); +} + +//Function Number: 189 +create_hud_laser_crosshair() +{ + var_00 = newclienthudelem(self); + var_00.x = 0; + var_00.y = 0; + var_00.sort = -5; + var_00.horzalign = "center"; + var_00.vertalign = "middle"; + var_00 setshader("reticle_center_cross",32,32); + var_00.alpha = 1; + return var_00; +} + +//Function Number: 190 +static_overlay(param_00) +{ + create_hud_static_overlay(); + soundscripts\_snd::snd_message("start_camera_static"); +} + +//Function Number: 191 +create_hud_static_overlay() +{ + setsaveddvar("cg_cinematicFullScreen","1"); + cinematicingame("glitch_short"); +} + +//Function Number: 192 +dismount_console() +{ + static_overlay(1); + var_00 = getent("trig_use_console","targetname"); + var_00 common_scripts\utility::trigger_off(); + setsaveddvar("cg_fov","65"); + level.player unlink(); + level.player notify("laser_off"); +} + +//Function Number: 193 +drone_combat() +{ + maps\_utility::trigger_wait_targetname("trig_spawn_bridge_drones"); + wait(2); + level.burke maps\_utility::set_grenadeammo(0); + level.cormack maps\_utility::set_grenadeammo(0); + level.maddox maps\_utility::set_grenadeammo(0); + var_00 = maps\_utility::array_spawn_noteworthy("bridge_drones"); + common_scripts\utility::array_thread(var_00,::maps\sanfran_b_util::setup_atlas_drone,"flag_cleanup_deck_drones"); + disable_cormack_obj(); + wait(0.05); + common_scripts\utility::flag_wait("bridge_drones_dead"); + maps\_utility::activate_trigger_with_targetname("trig_control_room_anims"); +} + +//Function Number: 194 +disable_cormack_obj() +{ + objective_position(maps\_utility::obj("obj_bridge"),(0,0,0)); +} + +//Function Number: 195 +enable_cormack_obj() +{ + objective_onentity(maps\_utility::obj("obj_bridge"),level.cormack); +} + +//Function Number: 196 +track_bridge_drone_deaths() +{ + if(!isdefined(level.num_bridge_drones_destroyed)) + { + level.num_bridge_drones_destroyed = 0; + } + + self waittill("death"); + level.num_bridge_drones_destroyed++; +} + +//Function Number: 197 +should_end_sonar_hint() +{ + return isdefined(level.player.sonar_vision) && level.player.sonar_vision; +} + +//Function Number: 198 +should_end_laser_hint() +{ + return maps\sanfran_b_laser::is_player_using_laser(); +} + +//Function Number: 199 +should_end_align_hint() +{ + return level.player attackbuttonpressed(); +} + +//Function Number: 200 +align_hint_think() +{ + level.player endon("death"); + level.player waittill("use_laser"); + maps\_utility::display_hint("hint_align_laser"); +} + +//Function Number: 201 +enable_jump_jet_pathing() +{ + if(issubstr(self.classname,"jump")) + { + self.canjumppath = 1; + } +} + +//Function Number: 202 +handle_sonar_hint() +{ + level.player endon("death"); + maps\_utility::trigger_wait_targetname("trig_display_sonar_hint"); + common_scripts\utility::flag_wait("flag_allow_night_vision_hint"); + wait(0.75); + maps\_utility::display_hint_timeout("hint_use_sonar",5); +} + +//Function Number: 203 +sonar_hint_2() +{ + level.player endon("death"); + common_scripts\utility::flag_wait("flag_information_center_vo_2"); + if(!maps\_nightvision::nightvision_check(level.player)) + { + maps\_utility::display_hint_timeout("hint_use_sonar",3); + } +} + +//Function Number: 204 +disable_ir_in_nightvision() +{ + self.has_no_ir = 1; +} + +//Function Number: 205 +server_room_lasers() +{ + self laseron(); +} + +//Function Number: 206 +enable_my_thermal() +{ + self thermaldrawenable(); +} + +//Function Number: 207 +disable_my_thermal() +{ + self thermaldrawdisable(); +} + +//Function Number: 208 +slow_player_inside() +{ + common_scripts\utility::flag_wait("flag_player_entered_interior"); + thread maps\_utility::blend_movespeedscale(0.85,3); +} + +//Function Number: 209 +missile_test() +{ + for(;;) + { + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("cargo_to_player_1"); + wait(3); + } + + wait(0.05); +} \ No newline at end of file diff --git a/AW/PC/maps/sanfran_b_fx.gsc b/AW/PC/maps/sanfran_b_fx.gsc new file mode 100644 index 0000000..09b4e43 --- /dev/null +++ b/AW/PC/maps/sanfran_b_fx.gsc @@ -0,0 +1,296 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: sanfran_b_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 14 + * Decompile Time: 204 ms + * Timestamp: 4/22/2024 2:35:27 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + precachefx(); + maps\createfx\sanfran_b_fx::main(); + if(!isdefined(level.createfxent)) + { + level.createfxent = []; + } + + set_lighting_values(); + maps\_shg_fx::setup_shg_fx(); + common_scripts\utility::flag_init("msg_vfx_zone1000_disable"); + common_scripts\utility::flag_init("fx_stagger_env_fx"); + thread maps\_shg_fx::fx_zone_watcher(1000,"msg_vfx_zone1000","msg_vfx_zone1500","msg_vfx_zone1000_disable"); + thread maps\_shg_fx::fx_zone_watcher(2000,"msg_vfx_zone2000","msg_vfx_zone2100","msg_vfx_zone2300"); + thread maps\_shg_fx::fx_zone_watcher(2400,"msg_vfx_zone2400","msg_vfx_zone2500"); + thread maps\_shg_fx::fx_zone_watcher(3000,"msg_vfx_zone3000","msg_vfx_zone3100"); + thread maps\_shg_fx::fx_zone_watcher(4000,"msg_vfx_zone4000"); + thread stagger_env_fx(); +} + +//Function Number: 2 +testfx() +{ + common_scripts\utility::flag_wait("msg_vfx_zone3000"); + iprintlnbold("3000"); + common_scripts\utility::flag_wait("msg_vfx_zone3000"); + iprintlnbold("1000"); + common_scripts\utility::flag_wait("msg_vfx_zone3000"); + iprintlnbold("2000"); +} + +//Function Number: 3 +set_lighting_values() +{ + if(isusinghdr()) + { + setsaveddvar("r_tonemap",2); + } +} + +//Function Number: 4 +precachefx() +{ + level._effect["sub_monitor_explosion"] = loadfx("vfx/explosion/monitor_explo_1"); + level._effect["test_axis"] = loadfx("vfx/test/test_axis_2"); + level._effect["fire_lp_m_blacksmk_tall"] = loadfx("vfx/fire/fire_lp_m_blacksmk_tall"); + level._effect["embers_runner_loop_nosmoke"] = loadfx("vfx/fire/embers_runner_loop_nosmoke"); + level._effect["embers_runner_loop_no_cull"] = loadfx("vfx/map/sanfran_b/sfb_fire_embers_no_cull"); + level._effect["fire_lp_s_blacksmk"] = loadfx("vfx/fire/fire_lp_s_blacksmk"); + level._effect["fire_lp_l_blacksmk_thick_nonlit"] = loadfx("vfx/fire/fire_lp_l_blacksmk_thick_nonlit"); + level._effect["battlefield_smoke_m"] = loadfx("vfx/smoke/battlefield_smoke_windy_m"); + level._effect["aa_explosion_runner"] = loadfx("vfx/explosion/aa_explosion_runner"); + level._effect["ambient_explosion"] = loadfx("vfx/explosion/aa_explosion_generic_02"); + level._effect["water_drips_line_fast"] = loadfx("vfx/water/falling_water_drip_line_runner_fast"); + level._effect["water_falling_low_narrow"] = loadfx("vfx/water/falling_water_interior_narrow"); + level._effect["water_falling_low_wide"] = loadfx("vfx/water/falling_water_interior_wide"); + level._effect["water_falling_low_wide2"] = loadfx("vfx/water/falling_water_interior_wide2"); + level._effect["water_falling_trickle_wide"] = loadfx("vfx/water/falling_water_trickle_wide"); + level._effect["water_drips_splashes"] = loadfx("vfx/water/falling_water_drips_splashes_loop"); + level._effect["water_leak_small"] = loadfx("vfx/water/water_leak_pipe_small"); + level._effect["water_sprinkler"] = loadfx("vfx/water/water_sprinkler_spray_single"); + level._effect["wind_gust_seabreeze_edge_lg"] = loadfx("vfx/wind/wind_gust_seabreeze_edge_large"); + level._effect["wind_gust_seabreeze_lg"] = loadfx("vfx/wind/wind_gust_seabreeze_large"); + level._effect["wind_gust_mist_lg"] = loadfx("vfx/wind/wind_gust_water_mist_large"); + level._effect["smoke_flare_marker_yellow_windy"] = loadfx("vfx/smoke/smoke_flare_marker_yellow_windy"); + level._effect["steam_pipe_small"] = loadfx("vfx/steam/steam_pipe_leak_interior_sm"); + level._effect["steam_pipe_medium"] = loadfx("vfx/steam/steam_pipe_leak_interior_med"); + level._effect["fire_interior_debris_small"] = loadfx("vfx/map/sanfran_b/sfb_interior_fire_debris_sm"); + level._effect["fire_interior_debris_sm_no_light"] = loadfx("vfx/map/sanfran_b/sfb_interior_fire_debris_sm_no_light"); + level._effect["fire_interior_rubble_base_med"] = loadfx("vfx/map/sanfran_b/sfb_interior_fire_rubble_base_med"); + level._effect["fire_interior_rubble_med_light"] = loadfx("vfx/map/sanfran_b/sfb_interior_fire_rubble_med_light"); + level._effect["fire_interior_floor_med"] = loadfx("vfx/map/sanfran_b/sfb_interior_fire_floor_med"); + level._effect["fire_interior_wall_med"] = loadfx("vfx/map/sanfran_b/sfb_interior_fire_wall_med"); + level._effect["fire_interior_ceiling_med"] = loadfx("vfx/map/sanfran_b/sfb_interior_fire_ceiling_med"); + level._effect["fire_interior_smoke_filler"] = loadfx("vfx/map/sanfran_b/sfb_interior_fire_smoke_filler"); + level._effect["fire_interior_smoke_filler2"] = loadfx("vfx/map/sanfran_b/sfb_interior_fire_smoke_filler2"); + level._effect["fire_interior_smoke_filler3"] = loadfx("vfx/map/sanfran_b/sfb_interior_fire_smoke_filler3"); + level._effect["smoke_disperse_directional_lg"] = loadfx("vfx/map/sanfran_b/sfb_smoke_disperse_directional_lg"); + level._effect["smoke_column_spot_directional_lg"] = loadfx("vfx/smoke/smoke_grey_column_spot_directional_lg"); + level._effect["smoke_column_2_spot_directional_lg"] = loadfx("vfx/smoke/smoke_grey_column_2_spot_directional_lg"); + level._effect["smoke_column_3_spot_directional_lg"] = loadfx("vfx/smoke/smoke_grey_column_3_spot_directional_lg"); + level._effect["smoke_column_4_spot_directional_lg"] = loadfx("vfx/smoke/smoke_grey_column_4_spot_directional_lg"); + level._effect["fire_spot_directional_smoke_sm"] = loadfx("vfx/map/sanfran_b/sfb_fire_spot_directional_blacksmk_sm"); + level._effect["fire_spot_directional_smoke_med"] = loadfx("vfx/map/sanfran_b/sfb_fire_spot_directional_blacksmk_med"); + level._effect["fire_spot_directional_smoke_lg"] = loadfx("vfx/map/sanfran_b/sfb_fire_spot_directional_blacksmk_lg"); + level._effect["fire_spot_directional_med"] = loadfx("vfx/map/sanfran_b/sfb_fire_spot_directional_med"); + level._effect["fire_spot_directional_windy_smk_sm"] = loadfx("vfx/map/sanfran_b/sfb_fire_spot_directional_windy_smk_sm"); + level._effect["fire_spot_directional_windy_smk_med"] = loadfx("vfx/map/sanfran_b/sfb_fire_spot_direct_windy_smk_med"); + level._effect["fire_spot_directional_windy_xsm"] = loadfx("vfx/map/sanfran_b/sfb_fire_spot_directional_windy_xsm"); + level._effect["fire_spot_directional_windy_sm"] = loadfx("vfx/map/sanfran_b/sfb_fire_spot_directional_windy_sm"); + level._effect["fire_spot_directional_windy_med"] = loadfx("vfx/map/sanfran_b/sfb_fire_spot_directional_windy_med"); + level._effect["heli_dust_kickup"] = loadfx("vfx/map/sanfran_b/sfb_heli_dust_runner"); + level._effect["heli_down_draft"] = loadfx("vfx/map/sanfran_b/sfb_heli_down_draft"); + level._effect["sparks_interior_runner"] = loadfx("vfx/explosion/electrical_sparks_small_runner"); + level._effect["sparks_exterior_runner"] = loadfx("vfx/explosion/electrical_sparks_runner"); + level._effect["fire_molten_drip_med"] = loadfx("vfx/map/sanfran_b/sfb_fire_molten_drip_directional_med"); + level._effect["fire_molten_drip_lg"] = loadfx("vfx/map/sanfran_b/sfb_fire_molten_drip_directional_lg"); + level._effect["fire_vehicle_interior_small_1"] = loadfx("vfx/fire/vehicle_fire_interior_small_1_direct"); + level._effect["fire_vehicle_interior_small_2"] = loadfx("vfx/fire/vehicle_fire_interior_small_2_direct"); + level._effect["fire_vehicle_interior_small_3"] = loadfx("vfx/fire/vehicle_fire_interior_small_3_direct"); + level._effect["fire_interior_debris_small_2"] = loadfx("vfx/map/sanfran_b/sfb_interior_fire_debris_2_sm"); + level._effect["wind_blowing_debris"] = loadfx("vfx/wind/wind_blowing_debris"); + level._effect["fire_burst_car_crash"] = loadfx("vfx/map/sanfran_b/sfb_fire_burst_car_crash"); + level._effect["dust_blowing_ground_fast_xsm"] = loadfx("vfx/map/sanfran_b/sfb_dust_ground_blowing_fast_xsm"); + level._effect["smoke_ambient_large"] = loadfx("vfx/map/sanfran_b/sfb_ambient_smoke_lg"); + level._effect["smoke_ambient_dark_large"] = loadfx("vfx/map/sanfran_b/sfb_ambient_smoke_dark_lg"); + level._effect["cloud_mist_ambient_xlarge"] = loadfx("vfx/map/sanfran_b/sfb_ambient_cloud_mist_xlg"); + level._effect["cloud_mist_ambient_xxlarge"] = loadfx("vfx/map/sanfran_b/sfb_ambient_cloud_mist_xxlg"); + level._effect["dust_ground_residual_xsm"] = loadfx("vfx/map/sanfran_b/sfb_dust_ground_residual_xsm"); + level._effect["godray_wide_medium"] = loadfx("vfx/map/sanfran_b/sfb_godray_window2_wide"); + level._effect["godray_window_medium"] = loadfx("vfx/map/sanfran_b/sfb_godray_window2_med"); + level._effect["godray_medium_intro"] = loadfx("vfx/map/sanfran_b/sfb_godray_med_intro"); + level._effect["godray_window_large"] = loadfx("vfx/map/sanfran_b/sfb_godray_window_lg"); + level._effect["godray_window_large_dim"] = loadfx("vfx/map/sanfran_b/sfb_godray_window_lg_dim"); + level._effect["godray_window_large_cinematic"] = loadfx("vfx/map/sanfran_b/sfb_godray_window_lg_cinematic"); + level._effect["cg_ending_character_light"] = loadfx("vfx/map/sanfran_b/sfb_character_light_1_cg"); + level._effect["flesh_hit"] = loadfx("vfx/weaponimpact/flesh_impact_body_fatal_exit"); + level._effect["func_glass_shatter_64x64"] = loadfx("vfx/code/func_glass_shatter_64x64"); + level._effect["tire_industrial_01_rubber"] = loadfx("vfx/destructible/tire_industrial_01_rubber"); + level._effect["lights_godray_beam_simple"] = loadfx("vfx/lights/lights_godray_beam_simple"); + level._effect["lights_godray_beam_simple_lrg"] = loadfx("vfx/lights/lights_godray_beam_simple_lrg"); + level._effect["lights_godray_beam_simple_door"] = loadfx("vfx/lights/lights_godray_beam_simple_door"); + level._effect["lights_godray_beam_simple_window"] = loadfx("vfx/lights/lights_godray_beam_simple_window"); + level._effect["light_fluorescent_smoke_dim"] = loadfx("vfx/lights/light_fluorescent_smoke_dim"); + level._effect["light_smoke_dim"] = loadfx("vfx/lights/light_smoke_dim"); + level._effect["light_white_radiosity_sim"] = loadfx("vfx/lights/light_white_radiosity_sim"); + level._effect["lights_godray_beam_simple"] = loadfx("vfx/lights/lights_godray_beam_simple"); + level._effect["light_red_tower_bright"] = loadfx("vfx/lights/light_red_tower_bright"); + level._effect["sf_window_shadow"] = loadfx("vfx/lights/sanfran_b/sf_window_shadow"); + level._effect["light_red_strobe"] = loadfx("vfx/lights/sanfran_b/sf_light_red_strobe"); + level._effect["sfb_wind_blowing_debris"] = loadfx("vfx/map/sanfran_b/sfb_wind_blowing_debris"); + level._effect["water_dissipate_linger"] = loadfx("vfx/water/water_dissipate_linger"); + level._effect["light_firelight_lrg"] = loadfx("vfx/lights/light_firelight_lrg"); + level._effect["amb_dust_medium"] = loadfx("vfx/dust/amb_dust_medium"); + level._effect["spot_end"] = loadfx("vfx/lights/sanfran_b/sf_spot_end"); + level._effect["fire_horizon_glow_sf"] = loadfx("vfx/lights/sanfran_b/fire_horizon_glow_sf"); + level._effect["shadow_card"] = loadfx("vfx/lights/sanfran_b/shadow_card"); + level._effect["shadow_card1"] = loadfx("vfx/lights/sanfran_b/shadow_card1"); + level._effect["sanfran_sunflare_a"] = loadfx("vfx/lensflare/sanfran/sanfran_sunflare_a"); + level._effect["sanfran_sunflare_b"] = loadfx("vfx/lensflare/sanfran/sanfran_sunflare_b_cg"); + level._effect["boat_waves_cargoship_sfb"] = loadfx("vfx/water/boat_waves_cargoship_sfb"); + level._effect["boat_shockwave_cargoship_sfb"] = loadfx("vfx/water/boat_shockwave_cargoship_sfb"); + level._effect["water_impact"] = loadfx("vfx/explosion/water_impact_large"); + level._effect["boat_edge_wave_distortion"] = loadfx("vfx/water/boat_edge_wave_distortion"); + level._effect["boat_edge_wave_distortion_bottom"] = loadfx("vfx/water/boat_edge_wave_distortion_bottom"); + level._effect["boat_edge_wave_distortion_shadow"] = loadfx("vfx/water/boat_edge_wave_distortion_shadow"); + level._effect["boat_edge_wave_distortion_shadow_bottom"] = loadfx("vfx/water/boat_edge_wave_distortion_shadow_bottom"); + level._effect["sfb_cargoship_impact_explosion"] = loadfx("vfx/weaponimpact/railgun_ship_impact"); + level._effect["mob_turret_flash_view"] = loadfx("vfx/muzzleflash/mob_turret_flash_view"); + level._effect["mob_turret_flash_view_muzzlesmoke"] = loadfx("vfx/muzzleflash/mob_turret_flash_view_muzzlesmoke"); + level._effect["missile_launch_smoke"] = loadfx("vfx/muzzleflash/missile_launch_smoke"); + level._effect["cargoship_turret"] = loadfx("vfx/muzzleflash/cargoship_turret"); + level._effect["sfb_cargoship_explosion_1"] = loadfx("vfx/map/sanfran_b/sfb_cargoship_explosion_1"); + level._effect["sfb_cargoship_explosion_1_small"] = loadfx("vfx/map/sanfran_b/sfb_cargoship_explosion_1_small"); + level._effect["sfb_cargoship_explosion_1_reflect"] = loadfx("vfx/map/sanfran_b/sfb_cargoship_explosion_1_reflect"); + level._effect["sfb_ship_dripping_fire"] = loadfx("vfx/map/sanfran_b/sfb_ship_dripping_fire"); + level._effect["sfb_turret_mist_spray"] = loadfx("vfx/map/sanfran_b/sfb_turret_mist_spray"); + level._effect["drone_cam_distortion"] = loadfx("vfx/code/drone_cam_distortion"); + level._effect["sfb_bridge_debris_falling"] = loadfx("vfx/map/sanfran_b/sfb_bridge_debris_falling"); + level._effect["rpg_trail"] = loadfx("vfx/trail/smoketrail_shiptoship"); + level._effect["rpg_muzzle"] = loadfx("vfx/muzzleflash/x4walker_wheels_rpg_fv"); + level._effect["rpg_explode"] = loadfx("vfx/explosion/rocket_explosion_default"); +} + +//Function Number: 5 +vfx_heli_drop_off_intro_on() +{ + maps\_utility::delaythread(0.1,::common_scripts\utility::flag_set,"msg_vfx_zone1000_disable"); + common_scripts\_exploder::exploder(4001); + common_scripts\_exploder::exploder(4445); + wait(3); + maps\_utility::pauseexploder(4001); + common_scripts\_exploder::exploder(4002); + common_scripts\_exploder::exploder(4004); + maps\_utility::delaythread(7,::maps\_utility::pauseexploder,4004); + maps\_utility::delaythread(10,::maps\_utility::pauseexploder,4002); + maps\_utility::delaythread(10,::common_scripts\_exploder::exploder,4001); + maps\_utility::delaythread(11.7,::common_scripts\_exploder::exploder,4003); + maps\_utility::delaythread(11.7,::common_scripts\_exploder::exploder,4005); + maps\_utility::delaythread(15,::maps\_utility::pauseexploder,4003); + maps\_utility::delaythread(16,::maps\_utility::pauseexploder,4005); + thread maps\sanfran_b_lighting::dof_car_explosion(); + maps\_utility::delaythread(90,::maps\_utility::pauseexploder,4001); +} + +//Function Number: 6 +stagger_env_fx() +{ + common_scripts\utility::flag_wait("fx_stagger_env_fx"); + common_scripts\_exploder::exploder(1100); +} + +//Function Number: 7 +setup_window_explosion_wait() +{ + var_00 = getentarray("godray_destroyed","targetname"); + var_01 = getentarray("godray_destroyed_dim","targetname"); + var_02 = getentarray("window_explosion_wait","targetname"); + if(isdefined(var_00[0])) + { + common_scripts\utility::array_thread(var_00,::shadow_godray_window_large_think); + } + + if(isdefined(var_01[0])) + { + common_scripts\utility::array_thread(var_01,::shadow_godray_window_large_dim_think); + } + + if(isdefined(var_02[0])) + { + common_scripts\utility::array_thread(var_02,::window_explosion_wait_think); + } +} + +//Function Number: 8 +shadow_destroyed_trigger_think() +{ + common_scripts\utility::trigger_off(); + level waittill("console_guy_dead"); + common_scripts\utility::trigger_on(); + self waittill("trigger"); + maps\_utility::stop_exploder(self.script_noteworthy); +} + +//Function Number: 9 +shadow_godray_window_large_think() +{ + common_scripts\utility::trigger_off(); + common_scripts\utility::trigger_on(); + self waittill("trigger"); + common_scripts\_exploder::exploder(self.script_noteworthy); + level.player lightsetforplayer("sanfran_b_bridge"); + if(level.nextgen) + { + maps\_utility::fog_set_changes("sanfran_b_bridge",1.5); + return; + } + + maps\_utility::vision_set_fog_changes("sanfran_b_bridge",1.5); +} + +//Function Number: 10 +shadow_godray_window_large_dim_think() +{ + common_scripts\utility::trigger_off(); + common_scripts\utility::trigger_on(); + self waittill("trigger"); + maps\_utility::pauseexploder(self.script_noteworthy); +} + +//Function Number: 11 +window_explosion_wait_think() +{ + common_scripts\utility::trigger_off(); + common_scripts\utility::trigger_on(); +} + +//Function Number: 12 +vfx_start_boost_fx(param_00) +{ + playfxontag(common_scripts\utility::getfx("boost_dust_npc"),param_00,"J_SpineLower"); + param_00 thread newhandlespawngroundimpact(); +} + +//Function Number: 13 +vfx_stop_boost_fx(param_00) +{ + stopfxontag(common_scripts\utility::getfx("boost_dust_npc"),param_00,"J_SpineLower"); +} + +//Function Number: 14 +newhandlespawngroundimpact() +{ + var_00 = self.origin + (0,0,64); + var_01 = self.origin - (0,0,150); + var_02 = bullettrace(var_00,var_01,0,undefined); + var_03 = common_scripts\utility::getfx("boost_dust_impact_ground"); + var_00 = var_02["position"]; + var_04 = vectortoangles(var_02["normal"]); + var_04 = var_04 + (90,0,0); + var_05 = anglestoforward(var_04); + var_06 = anglestoup(var_04); + playfx(var_03,var_00,var_06,var_05); +} \ No newline at end of file diff --git a/AW/PC/maps/sanfran_b_laser.gsc b/AW/PC/maps/sanfran_b_laser.gsc new file mode 100644 index 0000000..2f1a119 --- /dev/null +++ b/AW/PC/maps/sanfran_b_laser.gsc @@ -0,0 +1,296 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: sanfran_b_laser.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 20 + * Decompile Time: 289 ms + * Timestamp: 4/22/2024 2:35:28 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + precacheshader("dpad_laser_designator"); + precacheshader("laser_designator_overlay_lr"); + precacheshader("nightvision_overlay_goggles"); + common_scripts\utility::flag_init("player_firing_mob_turret"); + common_scripts\utility::flag_init("laser_firing"); +} + +//Function Number: 2 +is_player_using_laser() +{ + return isdefined(level.player.laser_on) && level.player.laser_on; +} + +//Function Number: 3 +vision_set_override() +{ + wait(0.25); + visionsetnaked("sanfran_b_arclight_explosion",1.25); + wait(0.75); + visionsetnaked("sanfran_b_arclight_explosion_dark",1); + wait(0.5); + visionsetnaked("sanfran_b_bridge",1); +} + +//Function Number: 4 +test_lines(param_00) +{ + var_01 = 0; + while(var_01 < param_00) + { + wait(0.05); + var_01 = var_01 + 0.05; + } +} + +//Function Number: 5 +stop_fx_on_death(param_00) +{ + self waittill("death"); +} + +//Function Number: 6 +draw_final_line(param_00) +{ + var_01 = 0; + while(var_01 < param_00) + { + var_01 = var_01 + 0.05; + wait(0.05); + } +} + +//Function Number: 7 +manage_laser_beams(param_00,param_01) +{ + var_02 = 2048; + var_03 = 5; + var_04 = common_scripts\utility::spawn_tag_origin(); + var_04.origin = param_00.origin; + var_04.angles = (0,0,0); + var_04 linkto(param_00); + var_05 = 360 / var_03; + var_06 = 0; + var_07 = []; + while(var_06 < var_03) + { + var_08 = common_scripts\utility::spawn_tag_origin(); + var_08 linkto(var_04); + var_09 = var_06 * var_05; + var_04.angles = (0,var_09,0); + var_08.origin = var_04.origin + vectornormalize(anglestoforward(var_04.angles)) * var_02; + var_07[var_07.size] = var_08; + var_06++; + } + + foreach(var_0B in var_07) + { + var_0B thread move_child_beams(var_04,param_01); + } + + wait(param_01); + return var_04; +} + +//Function Number: 8 +move_child_beams(param_00,param_01) +{ + self endon("stop_drawing_child_beam_fx"); + var_02 = 0; + while(var_02 < param_01) + { + var_03 = param_00.origin - self.origin; + self.origin = self.origin + var_03 * var_02 / param_01; + var_02 = var_02 + 0.05; + wait(0.05); + } +} + +//Function Number: 9 +aim_hud_on() +{ + if(!isdefined(level.aim_hud)) + { + level.aim_hud = []; + } + + level.aim_hud[0] = create_hud_static_overlay("laser_designator_overlay_lr",1,1); + level.aim_hud[1] = create_hud_static_overlay("nightvision_overlay_goggles",0,0.2); +} + +//Function Number: 10 +destroy_aim_hud() +{ + if(!isdefined(level.aim_hud)) + { + return; + } + + foreach(var_01 in level.aim_hud) + { + if(isdefined(var_01)) + { + var_01 destroy(); + } + } + + level.aim_hud = undefined; +} + +//Function Number: 11 +create_hud_static_overlay(param_00,param_01,param_02) +{ + var_03 = newhudelem(); + var_03.x = 0; + var_03.y = 0; + var_03.sort = param_01; + var_03.horzalign = "fullscreen"; + var_03.vertalign = "fullscreen"; + var_03.alpha = param_02; + var_03 setshader(param_00,640,480); + return var_03; +} + +//Function Number: 12 +manage_aim_cursor() +{ + level.player endon("death"); + level.player endon("laser_off"); + var_00 = common_scripts\utility::spawn_tag_origin(); + level.player.laser_aim_pos = var_00; + var_00 thread wait_to_kill_aim_cursor(); + for(;;) + { + var_01 = level.player geteye(); + var_02 = var_01 + anglestoforward(level.player getplayerangles()) * 50000; + var_03 = bullettrace(var_01,var_02,1,level.player,1); + if(isdefined(var_03["position"])) + { + var_04 = undefined; + var_00.origin = var_03["position"]; + if(isdefined(var_03["normal"])) + { + var_04 = vectortoangles(var_03["normal"]); + } + else + { + var_04 = vectortoangles((0,0,1)); + } + + var_00 rotateto(var_04,0.2); + } + + wait(0.05); + } +} + +//Function Number: 13 +wait_to_kill_aim_cursor() +{ + level.player endon("death"); + level.player waittill("laser_off"); + level.player.laser_aim_pos = undefined; + self delete(); +} + +//Function Number: 14 +tag_progress_bar(param_00,param_01) +{ + level endon("missionfailed"); + self endon("drone_finished_exiting"); + self endon("tag_interrupted"); + var_02 = maps\_hud_util::createclientfontstring("default",1.2); + var_02 maps\_hud_util::setpoint("CENTER",undefined,0,75); + var_02 settext(param_01); + var_03 = maps\_hud_util::createclientprogressbar(self,90,"white","black",100,5); + var_02 thread tag_bar_end_early(); + var_03 thread tag_bar_end_early(); + var_03 update_reloading_progress_bar(param_00); + if(isdefined(var_02)) + { + var_02 destroyhudelem(); + } + + if(isdefined(var_03)) + { + var_03 destroyhudelem(); + } +} + +//Function Number: 15 +update_reloading_progress_bar(param_00) +{ + var_01 = 20 * param_00; + var_02 = 0; + while(var_02 < var_01 && isdefined(self)) + { + maps\_hud_util::updatebar(var_02 / var_01); + var_02++; + wait(0.05); + } +} + +//Function Number: 16 +tag_bar_end_early() +{ + thread wait_for_mission_fail(); + thread wait_for_drone_finished(); + thread wait_for_interrupted(); + self waittill("destroy_early_bar"); + destroyhudelem(); +} + +//Function Number: 17 +wait_for_mission_fail() +{ + level.player endon("laser_off"); + level.player endon("tag_interrupted"); + level waittill("missionfailed"); + self notify("destroy_early_bar"); +} + +//Function Number: 18 +wait_for_drone_finished() +{ + level endon("missionfailed"); + level.player endon("tag_interrupted"); + level.player waittill("laser_off"); + self notify("destroy_early_bar"); +} + +//Function Number: 19 +wait_for_interrupted() +{ + level endon("missionfailed"); + level.player endon("laser_off"); + level.player waittill("tag_interrupted"); + self notify("destroy_early_bar"); +} + +//Function Number: 20 +destroyhudelem() +{ + var_00 = []; + for(var_01 = 0;var_01 < self.children.size;var_01++) + { + var_00[var_01] = self.children[var_01]; + } + + for(var_01 = 0;var_01 < var_00.size;var_01++) + { + var_00[var_01] maps\_hud_util::setparent(maps\_hud_util::getparent()); + } + + if(isdefined(self.elemtype) && self.elemtype == "bar") + { + self.bar destroy(); + } + + if(isdefined(self)) + { + self destroy(); + } +} \ No newline at end of file diff --git a/AW/PC/maps/sanfran_b_lighting.gsc b/AW/PC/maps/sanfran_b_lighting.gsc new file mode 100644 index 0000000..62f5345 --- /dev/null +++ b/AW/PC/maps/sanfran_b_lighting.gsc @@ -0,0 +1,662 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: sanfran_b_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 45 + * Decompile Time: 647 ms + * Timestamp: 4/22/2024 2:35:30 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + waittillframeend; + thread setup_dof_presets(); + thread setup_dof_viewmodel_presets(); + thread setup_flickerlight_presets(); + thread set_level_lighting_values(); + thread fix_dark_script_models(); + thread intro_sun_flare_position(); + if(level.nextgen) + { + thread clut_trigger_manage(); + } + + if(level.currentgen) + { + } + + if(level.nextgen) + { + setsaveddvar("r_hemiAoEnable",1); + } + + precacheshader("ac130_overlay_pip_vignette"); +} + +//Function Number: 2 +set_level_lighting_values() +{ + if(isusinghdr()) + { + if(level.nextgen) + { + setsaveddvar("r_dynamicOpl",1); + } + + setsaveddvar("r_disableLightSets",0); + setsaveddvar("r_tonemapMinExposureAdjust",-7.4919); + setsaveddvar("sm_usedSunCascadeCount",2); + setsaveddvar("sm_sunSampleSizeNear",0.2); + if(level.nextgen) + { + return; + } + } +} + +//Function Number: 3 +setup_dof_presets() +{ + maps\_lighting::create_dof_preset("intro",10,18,10,25,150,4.5,0.5); + maps\_lighting::create_dof_preset("temp",0,60,5,1000,8000,2.5,0.5); + maps\_lighting::create_dof_preset("sf_b_intro",8,16,4,50,250,1,0.5); + maps\_lighting::create_dof_preset("sf_b_intro_blur",8,16,5,50,150,2.7,0.5); + maps\_lighting::create_dof_preset("sf_b_intro_crash",8,16,8,20,50,5,0.5); + maps\_lighting::create_dof_preset("sf_b_interior",8,16,5,17,650,4,0.5); + maps\_lighting::create_dof_preset("sf_b_guns",8,300,5,5000,7000,0,0.5); + maps\_lighting::create_dof_preset("sf_b_end",8,16,5,17,450,2,0.5); + maps\_lighting::create_dof_preset("cg_default",0,100,4,6000,31000,1.5,0); +} + +//Function Number: 4 +setup_dof_viewmodel_presets() +{ + maps\_lighting::create_dof_viewmodel_preset("vm_rack_nblur",2,10); + maps\_lighting::create_dof_viewmodel_preset("vm_off",0,0); +} + +//Function Number: 5 +setup_flickerlight_presets() +{ + maps\_lighting::create_flickerlight_preset("fire2",(0.972549,0.62451,1),(0.2,0.1462746,1),0.005,0.2,80000); + maps\_lighting::create_flickerlight_preset("hallway",(1,1,1),(0,0,0),0.005,0.2,80000); + maps\_lighting::create_flickerlight_preset("hallway2",(1,1,1),(0,0,0),0.005,0.2,80000); + maps\_lighting::create_flickerlight_preset("hallway3",(1,1,1),(0,0,0),0.005,0.2,80000); + maps\_lighting::create_flickerlight_preset("red_pulse",(1,0,0),(0.3,0,0),0.2,1,80000); +} + +//Function Number: 6 +viewmodel_blend() +{ + maps\_lighting::blend_dof_viewmodel_presets("vm_rack_nblur","vm_off",2); +} + +//Function Number: 7 +dof_car_explosion() +{ + wait(1.5); + if(level.nextgen) + { + level.player setclutforplayer("clut_sanfran_b_exterior",0.25); + wait(1.75); + level.player setclutforplayer("clut_sanfran_b_fire",0.5); + } + + wait(8.3); + if(level.currentgen) + { + level.player lightsetforplayer("sanfran_b_intro"); + wait(1.75); + thread maps\_utility::vision_set_fog_changes("sanfran_b_exterior_darker_fog",0.2); + } + + if(level.nextgen) + { + setsaveddvar("r_mbVelocityScalar","2"); + } + + wait(0.3); + if(level.nextgen) + { + maps\_utility::fog_set_changes("sanfran_b_exterior_light_fog",0.2); + level.player lightsetforplayer("sanfran_b_intro_bright"); + } + + if(level.currentgen) + { + thread maps\_utility::vision_set_fog_changes("sanfran_b_exterior_light_fog",0.2); + } + + wait(0.4); + if(level.currentgen) + { + thread maps\_utility::vision_set_fog_changes("sanfran_b_exterior_dark_fog",0.5); + level.player lightsetforplayer("sanfran_b_intro"); + } + + if(level.nextgen) + { + maps\_utility::fog_set_changes("sanfran_b_exterior_darker_fog",3); + level.player lightsetforplayer("sanfran_b_intro"); + } + + wait(1); + if(level.nextgen) + { + setsaveddvar("r_mbVelocityScalar",".5"); + } +} + +//Function Number: 8 +interior_dof_blend() +{ + if(level.nextgen) + { + } +} + +//Function Number: 9 +play_flickering_hanger_light() +{ + if(level.nextgen) + { + thread maps\_lighting::model_flicker_preset("model_flicker_02",0,300000,300000,undefined,1668); + } + else + { + thread maps\_lighting::model_flicker_preset("model_flicker_02",0,25000,25000,undefined,1668); + } + + if(level.nextgen) + { + maps\_lighting::play_flickerlight_preset("fire","fire_hallway",1700000); + return; + } + + maps\_lighting::play_flickerlight_preset("fire","fire_hallway",4000); +} + +//Function Number: 10 +stop_flickering_hanger_light() +{ + maps\_lighting::stop_flickerlight("fire","fire_hallway",0); +} + +//Function Number: 11 +play_flickering_interior_light() +{ + maps\_lighting::play_flickerlight_preset("fire","fire_interior",100000); +} + +//Function Number: 12 +stop_flickering_interior_light() +{ + maps\_lighting::stop_flickerlight("fire","fire_interior",0); +} + +//Function Number: 13 +play_flickering_fire_light() +{ + thread intro_dof(); + if(level.nextgen) + { + wait(0.05); + var_00 = getent("heli_light","targetname"); + var_00 setlightintensity(10000000); + var_00 setlightcolor((1,0.8,0.6)); + maps\_lighting::play_flickerlight_preset("sfb_fire","fire_outside",2058000); + wait(3.5); + maps\_lighting::lerp_spot_intensity("fire_outside",1,0); + wait(0.4); + maps\_lighting::lerp_spot_intensity("fire_outside",0.5,2058000); + wait(6.8); + } +} + +//Function Number: 14 +intro_dof() +{ + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar",".5"); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(2,241); + wait(2.1); + level.player setphysicaldepthoffield(1.5,40); + wait(0.5); + level.player setphysicaldepthoffield(1.5,30); + wait(1.5); + level.player setphysicaldepthoffield(2,241); + wait(5.5); + level.player setphysicaldepthoffield(1.2,41); + wait(12.2); + level.player setphysicaldepthoffield(1.5,30); + level.player disablephysicaldepthoffieldscripting(); + wait(0.2); + setsaveddvar("r_mbEnable","0"); + return; + } + + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(2,241); + wait(2.1); + level.player setphysicaldepthoffield(1.5,40); + wait(0.5); + level.player setphysicaldepthoffield(1.5,30); + wait(1.5); + level.player setphysicaldepthoffield(2,241); + wait(5.5); + level.player setphysicaldepthoffield(1.2,41); + wait(12.2); + level.player setphysicaldepthoffield(1.5,30); + wait(0.2); + level.player setphysicaldepthoffield(19,0,2,3); +} + +//Function Number: 15 +stop_flickering_fire_light() +{ + maps\_lighting::stop_flickerlight("fire","fire_outside",0); + maps\_lighting::stop_flickerlight("fire","fire_outside2",0); +} + +//Function Number: 16 +fire_inside_02_manage() +{ + level endon("console_guy_spawn"); + for(;;) + { + common_scripts\utility::flag_wait("fire_inside_02_on"); + if(level.nextgen) + { + maps\_lighting::play_flickerlight_preset("fire","fire_inside_02",5580000); + } + else + { + maps\_lighting::play_flickerlight_preset("fire","fire_inside_02",150000); + } + + maps\_utility::lerp_saveddvar("r_specularColorScale",2,1.5); + common_scripts\utility::flag_waitopen("fire_inside_02_on"); + maps\_lighting::stop_flickerlight("fire","fire_inside_02",0); + maps\_utility::lerp_saveddvar("r_specularColorScale",1,1.5); + } +} + +//Function Number: 17 +play_flickering_info_hallway_light() +{ + maps\_lighting::play_flickerlight_preset("hallway","hallway_flicker",70000); +} + +//Function Number: 18 +stop_flickering_info_hallway_light() +{ + maps\_lighting::stop_flickerlight("hallway","hallway_flicker",0); +} + +//Function Number: 19 +play_flickering_info_light() +{ + if(level.nextgen) + { + thread maps\_lighting::model_flicker_preset("model_flicker_03",0,300000,300000,undefined,1669); + } + else + { + thread maps\_lighting::model_flicker_preset("model_flicker_03",0,100000,100000,undefined,1669); + } + + thread maps\_lighting::play_pulse_preset("red","red_strobe",260000); + thread maps\_lighting::play_pulse_preset("red","red_strobe2",260000); +} + +//Function Number: 20 +play_flickering_bridge_light() +{ +} + +//Function Number: 21 +stop_flickering_info_light() +{ +} + +//Function Number: 22 +play_pulse_light() +{ + maps\_lighting::play_flickerlight_preset("pulse","pulse_light",4000); +} + +//Function Number: 23 +stop_pulse_light() +{ + maps\_lighting::stop_flickerlight("pulse","pulse_light",0); +} + +//Function Number: 24 +lerp_sun_01() +{ + thread maps\_shg_fx::set_sun_flare_position((-24,180,0)); + wait(1); + thread maps\_shg_fx::vfx_sunflare("sanfran_sunflare_a"); +} + +//Function Number: 25 +lerp_sun_02() +{ + thread maps\_shg_fx::set_sun_flare_position((-15,85,0)); + wait(1); + thread maps\_shg_fx::vfx_sunflare("sanfran_sunflare_a"); +} + +//Function Number: 26 +flip_spot_light() +{ + var_00 = getent("spot_switch_off","targetname"); + var_00 setlightintensity(0); +} + +//Function Number: 27 +sundark_call() +{ + var_00 = getentarray("sun_dark","targetname"); + level.sundark_touched = 0; + foreach(var_02 in var_00) + { + var_02 thread sundark_volume(); + } +} + +//Function Number: 28 +sundark_volume() +{ + for(;;) + { + self waittill("trigger"); + level.sundark_touched++; + while(level.player istouching(self)) + { + wait(0.1); + } + + level.sundark_touched--; + if(level.sundark_touched == 0) + { + resetsunlight(); + } + } +} + +//Function Number: 29 +ending_viewmodelblur() +{ + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbVelocityScalar","1"); + } +} + +//Function Number: 30 +ending_viewmodelblur_reset() +{ + if(level.nextgen) + { + if(level.xb3) + { + setsaveddvar("sm_sunShadowBoundsOverride","1"); + setsaveddvar("sm_sunShadowBoundsMin","-10000 50000 -1000"); + setsaveddvar("sm_sunShadowBoundsMax","-2000 70000 1000"); + } + + setsaveddvar("r_dof_physical_bokehenable",1); + setsaveddvar("r_mbCameraRotationInfluence",1); + thread shadow_card(); + common_scripts\_exploder::exploder(7022); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(1,35,10,10); + wait(1); + level.player setphysicaldepthoffield(1,165,2,3); + wait(9.5); + level.player setphysicaldepthoffield(1.5,41,2,3); + wait(3.5); + level.player setphysicaldepthoffield(1.5,74,2,3); + wait(6.25); + level.player setphysicaldepthoffield(1.5,31,2,3); + wait(9); + level.player setphysicaldepthoffield(1.5,45,2,3); + wait(10); + if(level.xb3) + { + setsaveddvar("sm_sunShadowBoundsOverride","0"); + return; + } + + return; + } + + thread shadow_card(); + common_scripts\_exploder::exploder(7022); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(1,35,10,10); + wait(1); + level.player setphysicaldepthoffield(1,165,2,3); + wait(9.5); + level.player setphysicaldepthoffield(1.5,41,2,3); + wait(3.5); + level.player setphysicaldepthoffield(1.5,74,2,3); + wait(6.25); + level.player setphysicaldepthoffield(1.5,31,2,3); + wait(9); + level.player setphysicaldepthoffield(1.5,45,2,3); + wait(10); +} + +//Function Number: 31 +shadow_card() +{ + var_00 = level.maddox; + var_00.helmet_tag = common_scripts\utility::spawn_tag_origin(); + var_01 = var_00.helmet_tag; + var_01 linkto(var_00,"TAG_ORIGIN",(0,-50,50),(0,0,0)); + playfxontag(common_scripts\utility::getfx("shadow_card1"),var_01,"tag_origin"); +} + +//Function Number: 32 +fix_dark_script_models() +{ + wait(5); + var_00 = getent("refl_probe_outside","targetname"); + var_01 = getent("mob_placement_marker","targetname"); + var_02 = getent("mob_turret_right","targetname"); + var_03 = getent("mob_turret_left","targetname"); + var_04 = getent("railgun_turn_off","targetname"); + var_02 overridereflectionprobe(var_00.origin); + var_03 overridereflectionprobe(var_00.origin); + var_04 overridereflectionprobe(var_00.origin); + var_02.origin = var_01.origin; +} + +//Function Number: 33 +intro_sun_flare_position() +{ + var_00 = (-31,84,0); + maps\_shg_fx::set_sun_flare_position(var_00); + thread maps\_shg_fx::vfx_sunflare("sanfran_sunflare_a"); +} + +//Function Number: 34 +clut_trigger_manage() +{ + common_scripts\utility::run_thread_on_targetname("sanfran_b_exterior",::sanfran_b_exterior_clut); + common_scripts\utility::run_thread_on_targetname("sanfran_b_exterior_fast",::sanfran_b_exterior_clut_fast); + common_scripts\utility::run_thread_on_targetname("sanfran_b_interior",::sanfran_b_interior_clut); + common_scripts\utility::run_thread_on_targetname("sanfran_b_bridge",::sanfran_b_bridge_clut); + common_scripts\utility::run_thread_on_targetname("sanfran_b_interior_blue",::sanfran_b_interior_blue_clut); + common_scripts\utility::run_thread_on_targetname("sanfran_b_fire",::sanfran_b_fire); + common_scripts\utility::run_thread_on_targetname("sanfran_b_dark_lightset",::sanfran_b_dark_lightset); + common_scripts\utility::run_thread_on_targetname("sanfran_b_darker_lightset",::sanfran_b_darker_lightset); + common_scripts\utility::run_thread_on_targetname("sanfran_b_lightset",::sanfran_b_lightset); + common_scripts\utility::run_thread_on_targetname("sanfran_b_hangar_lightset",::sanfran_b_hangar_lightset); + common_scripts\utility::run_thread_on_targetname("sanfran_b_info_top_lightset",::sanfran_b_info_top_lightset); +} + +//Function Number: 35 +sanfran_b_exterior_clut() +{ + for(;;) + { + self waittill("trigger"); + thread maps\_utility::fog_set_changes("sanfran_b",3); + level.player setclutforplayer("clut_sanfran_b_exterior",3); + while(level.player istouching(self)) + { + wait(0.05); + } + } +} + +//Function Number: 36 +sanfran_b_exterior_clut_fast() +{ + for(;;) + { + self waittill("trigger"); + thread maps\_utility::fog_set_changes("sanfran_b",1.5); + level.player setclutforplayer("clut_sanfran_b_exterior",1.5); + while(level.player istouching(self)) + { + wait(0.05); + } + } +} + +//Function Number: 37 +sanfran_b_interior_clut() +{ + for(;;) + { + self waittill("trigger"); + level.player setclutforplayer("",3); + thread maps\_utility::fog_set_changes("sanfran_b",3); + while(level.player istouching(self)) + { + wait(0.05); + } + } +} + +//Function Number: 38 +sanfran_b_bridge_clut() +{ + for(;;) + { + self waittill("trigger"); + level.player setclutforplayer("",3); + thread maps\_utility::fog_set_changes("sanfran_b_bridge",3); + while(level.player istouching(self)) + { + wait(0.05); + } + } +} + +//Function Number: 39 +sanfran_b_interior_blue_clut() +{ + for(;;) + { + self waittill("trigger"); + while(level.player istouching(self)) + { + wait(0.05); + } + } +} + +//Function Number: 40 +sanfran_b_fire() +{ + for(;;) + { + self waittill("trigger"); + level.player setclutforplayer("clut_sanfran_b_fire",5); + while(level.player istouching(self)) + { + wait(0.05); + } + } +} + +//Function Number: 41 +sanfran_b_dark_lightset() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("sanfran_b_dark"); + while(level.player istouching(self)) + { + wait(0.05); + } + } +} + +//Function Number: 42 +sanfran_b_darker_lightset() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("sanfran_b_darker"); + while(level.player istouching(self)) + { + wait(0.05); + } + } +} + +//Function Number: 43 +sanfran_b_lightset() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("sanfran_b"); + while(level.player istouching(self)) + { + wait(0.05); + } + } +} + +//Function Number: 44 +sanfran_b_hangar_lightset() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("sanfran_b_hangar"); + while(level.player istouching(self)) + { + wait(0.05); + } + } +} + +//Function Number: 45 +sanfran_b_info_top_lightset() +{ + for(;;) + { + self waittill("trigger"); + level.player lightsetforplayer("sanfran_b_info_top"); + while(level.player istouching(self)) + { + wait(0.05); + } + } +} \ No newline at end of file diff --git a/AW/PC/maps/sanfran_b_mob_turret.gsc b/AW/PC/maps/sanfran_b_mob_turret.gsc new file mode 100644 index 0000000..9524db1 --- /dev/null +++ b/AW/PC/maps/sanfran_b_mob_turret.gsc @@ -0,0 +1,677 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: sanfran_b_mob_turret.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 23 + * Decompile Time: 334 ms + * Timestamp: 4/22/2024 2:35:32 AM +*******************************************************************/ + +//Function Number: 1 +setup_mob_turret() +{ + level.player maps\_shg_utility::setup_player_for_scene(); + soundscripts\_snd::snd_message("mob_audio_setup"); + if(level.nextgen) + { + thread maps\_utility::fog_set_changes("sanfran_b_guns_bright",0.05); + level.player setclutforplayer("",1); + level.player lightsetforplayer("sanfran_b_guns_bright"); + level.player common_scripts\utility::delaycall(0.5,::lightsetforplayer,"sanfran_b_guns_a"); + setblur(6,0); + maps\_utility::delaythread(0.5,::maps\_utility::fog_set_changes,"sanfran_b_guns",0.05); + } + else + { + thread maps\_utility::vision_set_fog_changes("sanfran_b_guns_bright",0.05); + level.player lightsetforplayer("sanfran_b_guns_bright"); + wait(1.1); + thread maps\_utility::vision_set_fog_changes("sanfran_b_guns",0.05); + level.player lightsetforplayer("sanfran_b_guns"); + } + + common_scripts\utility::noself_delaycall(0.5,::setblur,0,1); + setsaveddvar("sm_usedSunCascadeCount",3); + setsaveddvar("sm_sunSampleSizeNear",6); + setsaveddvar("r_fog_ev_adjust",1); + common_scripts\_exploder::exploder(3636); + thread maps\sanfran_b_lighting::ending_viewmodelblur(); + level.player soundscripts\_snd::snd_message("mob_xform"); + var_00 = getentarray("railgun_turn_off_clip","targetname"); + foreach(var_02 in var_00) + { + var_02 delete(); + } + + var_04 = getent("mob_turret_right","targetname"); + level.mob_turret_right = var_04; + var_04.angles = (-5,0,5); + var_04.angles = var_04.angles - (0,325,0); + var_04 setmodel("vehicle_mob_deck_large_calibur_turret_vm"); + var_05 = (-0.99,0,0); + level.player maps\sanfran_b_code::sonar_off(); + level.player notify("end_sonar_vision"); + level.player link_player_to_mob_turret(var_04,0); + thread attachdistortionfx(var_04); + common_scripts\utility::flag_set("player_on_turret_1"); + var_04 thread control_mob_turret(var_05); + var_06 = "first_cargo_ship_destroyed"; + var_07 = 6.25; + var_04 thread railgun_track_damage(var_06,var_07); + common_scripts\utility::flag_wait(var_06); + wait(var_07); + common_scripts\utility::flag_set("player_switching_to_turret_2"); + thread maps\sanfran_b_code::static_overlay(); + common_scripts\utility::flag_clear("cargo_ship_destroyed"); + common_scripts\utility::flag_clear("player_firing_mob_turret"); + level.player unlink_player_from_mob_turret(var_04); + if(level.nextgen) + { + level.player lightsetforplayer("sanfran_b_guns_bright"); + thread maps\_utility::fog_set_changes("sanfran_b_guns_bright",0.05); + level.player common_scripts\utility::delaycall(0.5,::lightsetforplayer,"sanfran_b_guns_b"); + setblur(6,0); + maps\_utility::delaythread(0.5,::maps\_utility::fog_set_changes,"sanfran_b_guns",0.05); + } + else + { + thread maps\_utility::vision_set_fog_changes("sanfran_b_guns_bright",0.05); + level.player lightsetforplayer("sanfran_b_guns_bright"); + wait(1.1); + thread maps\_utility::vision_set_fog_changes("sanfran_b_guns",0.5); + level.player lightsetforplayer("sanfran_b_guns"); + } + + common_scripts\utility::noself_delaycall(0.5,::setblur,0,1); + if(level.nextgen) + { + level.defaultsundir = getmapsunangles(); + lerpsunangles(level.defaultsundir,(-23,80,0),0.1); + } + + level.player soundscripts\_snd::snd_message("mob_xform"); + var_08 = getent("mob_turret_left","targetname"); + level.mob_turret_left = var_08; + var_08.angles = (5,0,-5); + var_08.angles = var_08.angles + (0,152,0); + var_08 setmodel("vehicle_mob_deck_large_calibur_turret_vm"); + var_05 = (-0.55,0.45,0); + var_09 = getent("railgun_turn_off","targetname"); + level.deletable_turret = var_09; + var_09 hide(); + level.player link_player_to_mob_turret(var_08,0); + thread attachdistortionfx(var_08); + common_scripts\utility::flag_set("player_on_turret_2"); + var_0A = "second_cargo_ship_destroyed"; + var_07 = 7.5; + var_08 thread railgun_track_damage(var_0A,var_07); + var_08 thread railgun_damage_timer(); + var_08 thread control_mob_turret(var_05); + common_scripts\_exploder::exploder(3700); + common_scripts\utility::flag_wait(var_0A); + wait(var_07); + thread maps\sanfran_b_code::static_overlay(); + level.player unlink_player_from_mob_turret(var_08); + wait(0.25); + level.player notify("laser_off"); + if(level.nextgen) + { + maps\_utility::fog_set_changes("sanfran_b_end",0.1); + } + else + { + thread maps\_utility::vision_set_fog_changes("sanfran_b_end",0.1); + } + + level.player lightsetforplayer("sanfran_b_end"); + common_scripts\_exploder::exploder(9028); + maps\_utility::stop_exploder(3636); + thread maps\sanfran_b_lighting::ending_viewmodelblur_reset(); + resetsundirection(); + setsaveddvar("r_fog_ev_adjust",1.5); +} + +//Function Number: 2 +link_player_to_mob_turret(param_00,param_01) +{ + var_02 = 1; + var_03 = "tag_aim_animated"; + var_04 = anglestoforward(param_00 gettagangles(var_03)); + var_05 = var_04 * 15; + var_06 = anglestoup(param_00 gettagangles(var_03)); + var_07 = var_06 * 200; + var_08 = param_00 common_scripts\utility::spawn_tag_origin(); + var_08.origin = var_08.origin + var_05 + var_07; + var_08 linkto(param_00,var_03); + self playerlinktodelta(param_00,"tag_player",1,0,0,0,0,1); + self enablemousesteer(1); + wait(0.5); + param_00 start_railgun_hud(); + param_00.animname = "mob_turret"; + param_00 maps\_utility::assign_animtree(); + param_00 setflaggedanimknob("turret_transform",%sf_b_mob_turret_transform,1,0,1); + var_09 = undefined; + if(isdefined(param_01)) + { + var_0A = -30; + var_0B = 12; + if(param_01 < 0) + { + var_09 = param_01 / var_0A; + } + else + { + var_09 = param_01 / var_0B; + } + + if(param_01 < 0) + { + param_00.mob_pitch_anim = %sf_b_mob_turret_center_to_up; + param_00.mob_pitch_sign = -1; + param_00 setanimknob(param_00.mob_pitch_anim,1,0,0); + param_00 setanimtime(param_00.mob_pitch_anim,var_09); + } + else + { + param_00.mob_pitch_anim = %sf_b_mob_turret_center_to_low; + param_00.mob_pitch_sign = 1; + param_00 setanimknob(param_00.mob_pitch_anim,1,0,0); + param_00 setanimtime(param_00.mob_pitch_anim,var_09); + } + } + + if(var_02) + { + self unlink(); + var_0C = 2.65; + self playerlinktoblend(var_08,"tag_origin",var_0C,0.25,0.25); + common_scripts\utility::delaycall(var_0C,::playerlinktodelta,var_08,"tag_origin",1,0,0,0,0,1); + } + + param_00 waittillmatch("end","turret_transform"); + param_00.mob_yaw_anim = %sf_b_mob_turret_center_to_r; + param_00.mob_yaw_sign = -1; + param_00 setanimknoball(param_00.mob_yaw_anim,%root,1,0,0); + if(isdefined(var_09)) + { + param_00 setanimknob(param_00.mob_pitch_anim,1,0,0); + param_00 setanimtime(param_00.mob_pitch_anim,var_09); + } + + var_08 thread delete_on_player_unlink(); +} + +//Function Number: 3 +unlink_player_from_mob_turret(param_00) +{ + self enablemousesteer(0); + self unlink(); + param_00 notify("end_control_mob_turret"); + param_00 stop_railgun_hud(); +} + +//Function Number: 4 +delete_on_player_unlink() +{ + while(level.player islinked()) + { + wait(0.1); + } + + self delete(); +} + +//Function Number: 5 +should_pause_yaw_anim(param_00,param_01,param_02) +{ + if(isdefined(self.mob_yaw_anim)) + { + if(abs(param_00) < 0.1) + { + return 1; + } + + if(param_01 < param_02[0] && param_00 > 0) + { + return 1; + } + + if(param_01 > param_02[1] && param_00 < 0) + { + return 1; + } + } + + return 0; +} + +//Function Number: 6 +control_mob_turret(param_00) +{ + self endon("end_control_mob_turret"); + maps\_utility::anim_stopanimscripted(); + childthread control_mob_fire(); + for(;;) + { + var_01 = level.player getnormalizedcameramovements(); + var_02 = var_01[0] * 0.5; + var_03 = var_01[1] * 0.25; + var_04 = 0; + if(isdefined(self.mob_yaw_anim)) + { + var_04 = self getanimtime(self.mob_yaw_anim); + var_04 = var_04 * self.mob_yaw_sign; + } + + self.current_yaw = var_04; + if(should_pause_yaw_anim(var_03,var_04,param_00)) + { + self setanimknob(self.mob_yaw_anim,1,0,0); + soundscripts\_snd::snd_message("mob_turret_move","lat_stop"); + } + else if(var_04 == 0) + { + if(var_03 < 0) + { + self.mob_yaw_anim = %sf_b_mob_turret_center_to_l; + self.mob_yaw_sign = 1; + } + else + { + self.mob_yaw_anim = %sf_b_mob_turret_center_to_r; + self.mob_yaw_sign = -1; + } + + self setanimknob(self.mob_yaw_anim,1,0,abs(var_03)); + soundscripts\_snd::snd_message("mob_turret_move","lat_move"); + } + else if(var_04 > 0) + { + self.mob_yaw_anim = %sf_b_mob_turret_center_to_l; + self.mob_yaw_sign = 1; + self setanimknob(self.mob_yaw_anim,1,0,var_03 * -1); + soundscripts\_snd::snd_message("mob_turret_move","lat_move"); + self setanimtime(self.mob_yaw_anim,var_04); + } + else + { + self.mob_yaw_anim = %sf_b_mob_turret_center_to_r; + self.mob_yaw_sign = -1; + self setanimknob(self.mob_yaw_anim,1,0,var_03); + soundscripts\_snd::snd_message("mob_turret_move","lat_move"); + self setanimtime(self.mob_yaw_anim,var_04 * self.mob_yaw_sign); + } + + var_05 = 0; + if(isdefined(self.mob_pitch_anim)) + { + var_05 = self getanimtime(self.mob_pitch_anim); + var_05 = var_05 * self.mob_pitch_sign; + } + + self.current_pitch = var_05; + if(isdefined(self.mob_pitch_anim) && abs(var_02) < 0.1) + { + self setanimknob(self.mob_pitch_anim,1,0,0); + soundscripts\_snd::snd_message("mob_turret_move","vert_stop"); + } + else if(var_05 == 0) + { + if(var_02 < 0) + { + self.mob_pitch_anim = %sf_b_mob_turret_center_to_low; + self.mob_pitch_sign = 1; + } + else + { + self.mob_pitch_anim = %sf_b_mob_turret_center_to_up; + self.mob_pitch_sign = -1; + } + + self setanimknob(self.mob_pitch_anim,1,0.2,0); + wait(0.2); + self setanimtime(self.mob_pitch_anim,0.001); + } + else if(var_05 > 0) + { + self.mob_pitch_anim = %sf_b_mob_turret_center_to_low; + self.mob_pitch_sign = 1; + self setanimknob(self.mob_pitch_anim,1,0,var_02 * -1); + soundscripts\_snd::snd_message("mob_turret_move","vert_move"); + self setanimtime(self.mob_pitch_anim,var_05); + } + else + { + self.mob_pitch_anim = %sf_b_mob_turret_center_to_up; + self.mob_pitch_sign = -1; + self setanimknob(self.mob_pitch_anim,1,0,var_02); + soundscripts\_snd::snd_message("mob_turret_move","vert_move"); + self setanimtime(self.mob_pitch_anim,var_05 * self.mob_pitch_sign); + } + + wait(0.05); + } +} + +//Function Number: 7 +control_mob_fire() +{ + var_00 = 3000; + self.ms_until_ready_to_fire = 0; + for(;;) + { + if(level.player attackbuttonpressed()) + { + common_scripts\utility::flag_set("player_firing_mob_turret"); + mob_fire(); + self.ms_until_ready_to_fire = var_00; + while(self.ms_until_ready_to_fire > 0) + { + wait(0.05); + self.ms_until_ready_to_fire = self.ms_until_ready_to_fire - 50; + } + } + + wait(0.05); + } +} + +//Function Number: 8 +mob_fire() +{ + var_00 = "tag_flash1"; + self setanimknobrestart(%sf_b_mob_turret_fire,1,0,1); + thread fire_effects("tag_flash1"); + soundscripts\_snd::snd_message("mob_fire"); + thread fire_effects("tag_flash"); +} + +//Function Number: 9 +fire_effects(param_00) +{ + var_01 = self gettagorigin(param_00); + var_02 = self gettagangles(param_00); + var_03 = anglestoforward(var_02); + var_04 = var_01 + var_03 * 2000; + magicbullet("mob_turret_missile",var_01,var_04,level.player); + wait(0.05); + playfx(common_scripts\utility::getfx("mob_turret_flash_view"),self gettagorigin(param_00),anglestoforward(self gettagangles(param_00)),anglestoup(self gettagangles(param_00))); + thread fire_emp_wave(var_01,var_04); + thread fire_archlight_rumbles(); + thread mob_fire_linger_smoke(param_00); + if(param_00 == "tag_flash") + { + var_05 = 1; + } + else + { + var_05 = -1; + } + + var_06 = 160; + var_07 = var_05 * anglestoright(var_02) * var_06; + thread calculate_water_pos(var_01 + var_07,var_03); +} + +//Function Number: 10 +fire_archlight_rumbles() +{ + maps\sanfran_b_util::setup_level_rumble_ent(); + thread maps\sanfran_b_util::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.85,0.5); + wait(0.5); + thread maps\sanfran_b_util::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.65,0.3); + wait(0.3); + thread maps\sanfran_b_util::rumble_set_ent_rumble_intensity_for_time(level.rumble_ent,0.3,0.2); +} + +//Function Number: 11 +fire_emp_wave(param_00,param_01) +{ + var_02 = 500; + var_03 = maps\_utility::getvehiclearray(); + var_04 = []; + foreach(var_06 in var_03) + { + if(!isdefined(var_06.healthbuffer) || var_06.health < var_06.healthbuffer) + { + continue; + } + + if(isdefined(var_06.classname) && issubstr(var_06.classname,"warbird")) + { + var_07 = vectorfromlinetopoint(param_00,param_01,var_06.origin); + if(length(var_07) < var_02) + { + var_04[var_04.size] = var_06; + } + } + } + + foreach(var_06 in var_04) + { + if(isdefined(var_06) && isalive(var_06) && var_06.health > var_06.healthbuffer) + { + var_06 thread destroy_warbird(); + } + } +} + +//Function Number: 12 +destroy_warbird() +{ + self kill(level.player.origin,level.player); + wait(0.05); + if(isdefined(self)) + { + self notify("crash_done"); + self notify("in_air_explosion"); + } +} + +//Function Number: 13 +kill_before_water() +{ + var_00 = 66500; + var_01 = 67000; + while(isdefined(self) && isalive(self)) + { + var_02 = 0; + var_03 = length(physicstrace(self.origin,self.origin + (0,0,-10000),self)); + if(var_03 <= var_00) + { + var_02 = 1; + } + else if(var_03 <= var_01) + { + var_02 = randomint(var_01 - var_00) < var_01 - var_03 - var_00; + } + + if(var_02) + { + self notify("near_goal"); + return; + } + + wait(0.1); + } +} + +//Function Number: 14 +mob_fire_linger_smoke(param_00) +{ + wait(0.5); + for(var_01 = 0;var_01 < 50;var_01++) + { + playfxontag(common_scripts\utility::getfx("mob_turret_flash_view_muzzlesmoke"),self,param_00); + wait(0.05); + } +} + +//Function Number: 15 +calculate_water_pos(param_00,param_01) +{ + var_02 = (-4546,69221,-2723); + var_03 = (-5,0,5); + var_04 = var_02 - param_00; + var_05 = anglestoup(var_03); + var_06 = vectordot(var_04,var_05); + var_07 = param_00 + var_05 * var_06; + var_08 = param_00 + param_01 * 10000; + var_04 = var_02 - var_08; + var_05 = anglestoup(var_03); + var_06 = vectordot(var_04,var_05); + var_09 = var_08 + var_05 * var_06; +} + +//Function Number: 16 +attachdistortionfx(param_00) +{ + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01.origin = param_00.origin; + var_01.angles = param_00.angles; + var_01 linkto(param_00,"tag_player",(5,0,0),(0,0,0)); + playfxontag(common_scripts\utility::getfx("drone_cam_distortion"),var_01,"tag_origin"); +} + +//Function Number: 17 +start_railgun_hud() +{ + setomnvar("ui_railgun",1); + thread railgun_hud_update(); +} + +//Function Number: 18 +stop_railgun_hud() +{ + level notify("stop_railgun_hud"); + setomnvar("ui_railgun",0); +} + +//Function Number: 19 +railgun_hud_update() +{ + level endon("stop_railgun_hud"); + self endon("death"); + var_00 = 0; + var_01 = 0; + var_02 = 0; + for(;;) + { + if(isdefined(self.ms_until_ready_to_fire)) + { + var_00 = self.ms_until_ready_to_fire; + } + + if(isdefined(self.current_pitch)) + { + var_01 = int(self.current_pitch + 1 * 50 + 0.5); + } + + if(isdefined(self.current_yaw)) + { + var_02 = int(self.current_yaw + 1 * 50 + 0.5); + } + + luinotifyevent(&"railgun_hud_update",3,var_00,var_01,var_02); + wait 0.05; + } +} + +//Function Number: 20 +railgun_track_damage(param_00,param_01) +{ + level endon(param_00); + var_02 = 2000; + self.health = var_02; + self setcandamage(1); + var_03 = "overlay_static_digital"; + var_04 = newclienthudelem(level.player); + var_04.x = 0; + var_04.y = 0; + var_04.alignx = "left"; + var_04.aligny = "top"; + var_04.horzalign = "fullscreen"; + var_04.vertalign = "fullscreen"; + var_04 setshader(var_03,640,480); + var_04.alpha = 0; + var_04.sort = -3; + var_05 = newclienthudelem(level.player); + var_05.x = 0; + var_05.y = 0; + var_05.alignx = "left"; + var_05.aligny = "top"; + var_05.horzalign = "fullscreen"; + var_05.vertalign = "fullscreen"; + var_05 setshader(var_03,640,480); + var_05.alpha = 0; + var_05.sort = -3; + var_04 thread destroy_on_flag(param_00,param_01); + var_05 thread destroy_on_flag(param_00,param_01); + while(self.health > 0) + { + self waittill("damage",var_06,var_07,var_08,var_09,var_0A,var_0B,var_0C,var_0D,var_0E,var_0F); + if(isdefined(var_0A) && var_0A == "MOD_RIFLE_BULLET") + { + self.health = self.health + int(var_06 * 0.9); + if(!common_scripts\utility::flag("player_on_turret_2")) + { + if(randomintrange(1,99) < 20) + { + level.player playrumbleonentity("light_1s"); + } + } + else if(randomintrange(1,99) < 10) + { + level.player playrumbleonentity("light_1s"); + } + + continue; + } + + var_05 thread railgun_track_damage_static(); + level.player playrumbleonentity("heavy_1s"); + var_04.alpha = min(var_02 - self.health / var_02 * 0.3,0.2); + } + + level.player playrumbleonentity("artillery_rumble"); + level.player freezecontrols(1); + setdvar("ui_deadquote",&"SANFRAN_B_DEFEND_FLEET_FAILED"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 21 +railgun_damage_timer() +{ + while(self.health > 0) + { + self dodamage(randomintrange(25,50),self.origin,self,self,"MOD_RIFLE_BULLET"); + wait(randomfloatrange(0.05,0.15)); + } +} + +//Function Number: 22 +railgun_track_damage_static() +{ + level notify("railgun_track_damage_static"); + level endon("railgun_track_damage_static"); + self.alpha = 0.4; + wait(randomfloatrange(0.1,0.2)); + while(self.alpha > 0) + { + self.alpha = self.alpha - 0.05; + wait(0.05); + } +} + +//Function Number: 23 +destroy_on_flag(param_00,param_01) +{ + common_scripts\utility::flag_wait(param_00); + if(isdefined(param_01) && param_01 > 0) + { + wait(param_01); + } + + self destroy(); +} \ No newline at end of file diff --git a/AW/PC/maps/sanfran_b_obj.gsc b/AW/PC/maps/sanfran_b_obj.gsc new file mode 100644 index 0000000..0a4fcb7 --- /dev/null +++ b/AW/PC/maps/sanfran_b_obj.gsc @@ -0,0 +1,158 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: sanfran_b_obj.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 8 + * Decompile Time: 121 ms + * Timestamp: 4/22/2024 2:35:32 AM +*******************************************************************/ + +//Function Number: 1 +obj_secure_deck() +{ + level waittill("player_control_enabled"); + objective_add(maps\_utility::obj("obj_plant_jammers"),"current",&"SANFRAN_B_OBJ_PLANT_JAMMERS"); + objective_onentity(maps\_utility::obj("obj_plant_jammers"),level.cormack); + common_scripts\utility::flag_wait("obj_track_jammers"); + var_00 = getent("jammer_1","targetname"); + var_01 = getent("jammer_2","targetname"); + var_02 = (0,0,16); + objective_position(maps\_utility::obj("obj_plant_jammers"),var_00.origin + var_02); + objective_setpointertextoverride(maps\_utility::obj("obj_plant_jammers"),&"SANFRAN_B_OBJ_JAMMER"); + common_scripts\utility::flag_wait("planting_jammer_1"); + objective_position(maps\_utility::obj("obj_plant_jammers"),(0,0,0)); + common_scripts\utility::flag_wait("jammer_1_deactivated"); + objective_position(maps\_utility::obj("obj_plant_jammers"),var_01.origin + var_02); + objective_setpointertextoverride(maps\_utility::obj("obj_plant_jammers"),&"SANFRAN_B_OBJ_JAMMER"); + common_scripts\utility::flag_wait("planting_jammer_2"); + objective_position(maps\_utility::obj("obj_plant_jammers"),(0,0,0)); + common_scripts\utility::flag_wait("jammer_2_deactivated"); + maps\_utility::objective_complete(maps\_utility::obj("obj_plant_jammers")); + common_scripts\utility::flag_set("obj_bridge_start"); +} + +//Function Number: 2 +track_reinforcement_location(param_00,param_01,param_02) +{ + level endon(param_01); + common_scripts\utility::flag_clear("obj_track_enemies"); + var_03 = 0; + var_04 = spawn("script_model",(0,0,0)); + var_04 thread clean_up_target_pos_ent(param_00,param_01); + objective_onentity(param_00,var_04); + for(;;) + { + if(isdefined(param_02) && param_02.size > 0) + { + var_05 = (0,0,0); + var_06 = 0; + foreach(var_08 in param_02) + { + if(isdefined(var_08) && isalive(var_08)) + { + var_05 = var_05 + var_08.origin; + var_06++; + } + } + + if(var_06 > 0) + { + var_05 = var_05 / var_06; + if(var_03) + { + var_04 moveto(var_05,0.2); + } + else + { + var_03 = 1; + var_04.origin = var_05; + } + } + } + + wait(0.2); + } +} + +//Function Number: 3 +clean_up_target_pos_ent(param_00,param_01) +{ + level waittill(param_01); + objective_position(param_00,(0,0,0)); + self delete(); +} + +//Function Number: 4 +obj_bridge_start() +{ + common_scripts\utility::flag_wait("obj_bridge_start"); + objective_add(maps\_utility::obj("obj_bridge"),"current",&"SANFRAN_B_OBJ_BRIDGE"); + objective_onentity(maps\_utility::obj("obj_bridge"),level.cormack); + objective_setpointertextoverride(maps\_utility::obj("obj_bridge"),""); + common_scripts\utility::flag_set("all_jammers_deactivated"); + common_scripts\utility::flag_wait("show_enter_ship_obj_marker"); + var_00 = getent("org_enter_ship","targetname"); + wait(0.5); + objective_position(maps\_utility::obj("obj_bridge"),var_00.origin); + objective_setpointertextoverride(maps\_utility::obj("obj_bridge"),""); + common_scripts\utility::flag_wait("flag_player_entered_interior"); + common_scripts\utility::flag_set("obj_secure_deck_complete"); + common_scripts\utility::flag_set("obj_bridge"); +} + +//Function Number: 5 +obj_bridge() +{ + common_scripts\utility::flag_wait("obj_bridge"); + objective_onentity(maps\_utility::obj("obj_bridge"),level.cormack); + common_scripts\utility::flag_wait("flag_obj_leave_cafeteria"); + var_00 = common_scripts\utility::getstruct("obj_marker_exit_cafeteria","targetname"); + objective_position(maps\_utility::obj("obj_bridge"),var_00.origin); + common_scripts\utility::flag_wait("obj_marker_follow_cormack_to_hanger"); + objective_onentity(maps\_utility::obj("obj_bridge"),level.cormack); + common_scripts\utility::flag_wait("flag_obj_enter_hanger"); + objective_position(maps\_utility::obj("obj_bridge"),(0,0,0)); + common_scripts\utility::flag_wait("flag_obj_leave_hanger"); + objective_onentity(maps\_utility::obj("obj_bridge"),level.cormack); + common_scripts\utility::flag_wait("cormack_on_console"); + maps\_utility::objective_complete(maps\_utility::obj("obj_bridge")); + wait(0.5); + common_scripts\utility::flag_set("obj_console"); +} + +//Function Number: 6 +obj_console() +{ + common_scripts\utility::flag_wait("obj_console"); + var_00 = common_scripts\utility::getstruct("org_obj_console","targetname"); + objective_add(maps\_utility::obj("obj_laser"),"current",&"SANFRAN_B_OBJ_CONSOLE"); + objective_position(maps\_utility::obj("obj_laser"),var_00.origin); + objective_setpointertextoverride(maps\_utility::obj("obj_laser"),&"SANFRAN_B_OBJ_USE"); + var_01 = getent("trig_use_console","targetname"); + var_01 common_scripts\utility::trigger_on(); + var_01 sethintstring(&"SANFRAN_B_CONSOLE_HINT"); + var_01 waittill("trigger"); + common_scripts\utility::flag_set("obj_laser"); +} + +//Function Number: 7 +obj_laser() +{ + common_scripts\utility::flag_wait("obj_laser"); + var_00 = getent("cargo_ship","targetname"); + var_01 = getent("cargo_ship_2","targetname"); + objective_string_nomessage(maps\_utility::obj("obj_laser"),&"SANFRAN_B_OBJ_LASER"); + objective_position(maps\_utility::obj("obj_laser"),(0,0,0)); + common_scripts\utility::flag_wait("second_cargo_ship_destroyed"); + maps\_utility::objective_complete(maps\_utility::obj("obj_laser")); +} + +//Function Number: 8 +enable_cormack_follow() +{ + common_scripts\utility::flag_wait("CormackSafe"); + objective_position(maps\_utility::obj("obj_bridge"),(0,0,0)); + common_scripts\utility::flag_wait_either("information_center_cleared","information_center_enemies_killed"); + objective_onentity(maps\_utility::obj("obj_bridge"),level.cormack); +} \ No newline at end of file diff --git a/AW/PC/maps/sanfran_b_precache.gsc b/AW/PC/maps/sanfran_b_precache.gsc new file mode 100644 index 0000000..bd18c9c --- /dev/null +++ b/AW/PC/maps/sanfran_b_precache.gsc @@ -0,0 +1,21 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: sanfran_b_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 2:35:33 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + vehicle_scripts\_atlas_piranha::main("vehicle_speedboat_piranha",undefined,"script_vehicle_atlas_piranha","warbird_turret"); + vehicle_scripts\_littlebird::main("vehicle_mil_helicopter_littlebird_ai",undefined,"script_vehicle_littlebird_sentinel_bench"); + vehicle_scripts\_pdrone::main("vehicle_atlas_assault_drone",undefined,"script_vehicle_pdrone_atlas"); + vehicle_scripts\_pdrone::main("vehicle_atlas_assault_drone_large",undefined,"script_vehicle_pdrone_atlas_large"); + vehicle_scripts\_shrike::main("vehicle_airplane_shrike",undefined,"script_vehicle_shrike"); + vehicle_scripts\_xh9_warbird::main("vehicle_xh9_warbird_low",undefined,"script_vehicle_xh9_warbird_low_heavy_turret"); + vehicle_scripts\_xh9_warbird::main("vehicle_xh9_warbird_interior_low",undefined,"script_vehicle_xh9_warbird_low_interior"); +} \ No newline at end of file diff --git a/AW/PC/maps/sanfran_b_sonar_vision.gsc b/AW/PC/maps/sanfran_b_sonar_vision.gsc new file mode 100644 index 0000000..7fdae12 --- /dev/null +++ b/AW/PC/maps/sanfran_b_sonar_vision.gsc @@ -0,0 +1,153 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: sanfran_b_sonar_vision.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 11 + * Decompile Time: 161 ms + * Timestamp: 4/22/2024 2:35:33 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + precacheshader("nightvision_overlay_goggles"); + precacheshader("dpad_icon_nvg"); +} + +//Function Number: 2 +monitor_vision_use() +{ + self endon("death"); + for(;;) + { + level.player waittill("sonar_vision"); + if(is_sonar_vision_on()) + { + level.player thread sonar_vision_off(); + } + else + { + level.player thread sonar_vision_on(); + } + + wait(1); + } +} + +//Function Number: 3 +sonar_vision_on() +{ + level.player endon("death"); + level.player endon("sonar_vision_off"); + level.player notify("sonar_vision_on"); + level.player.sonar_vision = 1; + for(;;) + { + thread detection_highlight_hud_effect(level.player); + thread detect_enemies(); + wait(6); + level notify("end_sonar_threads"); + } +} + +//Function Number: 4 +sonar_vision_off() +{ + level.player notify("sonar_vision_off"); + level.player.sonar_vision = undefined; + level notify("end_sonar_threads"); +} + +//Function Number: 5 +is_sonar_vision_on() +{ + return isdefined(level.player.sonar_vision) && level.player.sonar_vision; +} + +//Function Number: 6 +detect_enemies() +{ + level endon("end_sonar_threads"); + level.player endon("death"); + level.player endon("sonar_vision_off"); + var_00 = getaiarray("axis"); + foreach(var_02 in var_00) + { + if(distance(var_02.origin,self.origin) < 5000) + { + var_02 thread maps\_variable_grenade::handle_marking_guy("sonar_vision",5); + } + } +} + +//Function Number: 7 +detection_highlight_hud_effect(param_00) +{ + level endon("end_sonar_threads"); + level.player endon("death"); + level.player endon("sonar_vision_off"); + var_01 = newclienthudelem(param_00); + var_01.color = (0.025,0.05,1); + var_01.alpha = 0.01; + var_02 = 5; + var_01 setradarhighlight(var_02); + var_01 thread destroy_radar_hud_elem_early(); + wait(var_02); + var_01 destroy(); +} + +//Function Number: 8 +detection_grenade_hud_effect(param_00) +{ + level endon("end_sonar_threads"); + level.player endon("death"); + level.player endon("sonar_vision_off"); + var_01 = newclienthudelem(param_00); + var_01.x = param_00.origin[0]; + var_01.y = param_00.origin[1]; + var_01.z = param_00.origin[2]; + var_01.color = (0.025,0.05,1); + var_01.alpha = 0.1; + var_02 = 2; + var_03 = 5000; + var_04 = 1500; + var_01 setradarping(int(var_03 + var_04 / 2),int(var_04),var_02 + 0.05); + var_01 thread destroy_radar_hud_elem_early(); + wait(var_02); + var_01 destroy(); +} + +//Function Number: 9 +destroy_radar_hud_elem_early() +{ + level.player endon("death"); + self endon("death"); + level.player waittill("sonar_vision_off"); + self destroy(); +} + +//Function Number: 10 +create_nvg_overlay(param_00,param_01,param_02) +{ + var_03 = newhudelem(); + var_03.x = 0; + var_03.y = 0; + var_03.sort = param_01; + var_03.horzalign = "fullscreen"; + var_03.vertalign = "fullscreen"; + var_03.alpha = param_02; + var_03 setshader(param_00,640,480); + return var_03; +} + +//Function Number: 11 +wait_to_destroy_nvg_overlay() +{ + level.player endon("death"); + level.player waittill("sonar_vision_off"); + if(isdefined(self)) + { + self destroy(); + } +} \ No newline at end of file diff --git a/AW/PC/maps/sanfran_b_util.gsc b/AW/PC/maps/sanfran_b_util.gsc new file mode 100644 index 0000000..cfc40ee --- /dev/null +++ b/AW/PC/maps/sanfran_b_util.gsc @@ -0,0 +1,1085 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: sanfran_b_util.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 52 + * Decompile Time: 740 ms + * Timestamp: 4/22/2024 2:35:36 AM +*******************************************************************/ + +//Function Number: 1 +teleport_to_scriptstruct(param_00) +{ + var_01 = common_scripts\utility::getstruct(param_00,"script_noteworthy"); + level.player setorigin(var_01.origin); + if(isdefined(var_01.angles)) + { + level.player setplayerangles(var_01.angles); + } + + var_02 = getentarray("hero","script_noteworthy"); + foreach(var_04 in var_02) + { + if(isspawner(var_04)) + { + var_02 = common_scripts\utility::array_remove(var_02,var_04); + } + } + + var_06 = common_scripts\utility::getstructarray(var_01.target,"targetname"); + for(var_07 = 0;var_07 < var_02.size;var_07++) + { + if(var_07 < var_06.size) + { + var_02[var_07] forceteleport(var_06[var_07].origin,var_06[var_07].angles); + var_02[var_07] setgoalpos(var_06[var_07].origin); + continue; + } + + var_02[var_07] forceteleport(level.player.origin,level.player.angles); + var_02[var_07] setgoalpos(level.player.origin); + } +} + +//Function Number: 2 +equip_microwave_grenade() +{ + self.grenadeweapon = "microwave_grenade"; + self.grenadeammo = 2; +} + +//Function Number: 3 +add_to_threat_bias(param_00) +{ + if(self.classname == "script_model") + { + return; + } + + createthreatbiasgroup(param_00); + self setthreatbiasgroup(param_00); +} + +//Function Number: 4 +set_flag_when_in_volume(param_00,param_01) +{ + self endon("death"); + while(!self istouching(param_00)) + { + wait(0.05); + } + + common_scripts\utility::flag_set(param_01); +} + +//Function Number: 5 +bloody_death(param_00) +{ + self endon("death"); + if(!issentient(self) || !isalive(self)) + { + return; + } + + if(isdefined(self.bloody_death) && self.bloody_death) + { + return; + } + + self.bloody_death = 1; + if(isdefined(param_00)) + { + wait(randomfloat(param_00)); + } + + var_01 = []; + var_01[0] = "j_hip_le"; + var_01[1] = "j_hip_ri"; + var_01[2] = "j_head"; + var_01[3] = "j_spine4"; + var_01[4] = "j_elbow_le"; + var_01[5] = "j_elbow_ri"; + var_01[6] = "j_clavicle_le"; + var_01[7] = "j_clavicle_ri"; + for(var_02 = 0;var_02 < 3 + randomint(5);var_02++) + { + var_03 = randomintrange(0,var_01.size); + thread bloody_death_fx(var_01[var_03],undefined); + wait(randomfloat(0.1)); + } + + self dodamage(self.health + 50,self.origin); +} + +//Function Number: 6 +bloody_death_fx(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = level._effect["flesh_hit"]; + } + + playfxontag(param_01,self,param_00); +} + +//Function Number: 7 +wait_for_number_enemies_alive(param_00) +{ + level.player endon("death"); + while(getaicount("axis") > param_00) + { + wait(0.05); + } +} + +//Function Number: 8 +temp_subtitle(param_00,param_01) +{ + var_02 = newhudelem(); + var_02.x = 0; + var_02.y = -42; + var_02 settext(param_00); + var_02.fontscale = 1.46; + var_02.alignx = "center"; + var_02.aligny = "middle"; + var_02.horzalign = "center"; + var_02.vertalign = "bottom"; + var_02.sort = 1; + wait(param_01); + var_02 destroy(); +} + +//Function Number: 9 +setup_level_rumble_ent() +{ + if(!isdefined(level.rumble_ent)) + { + level.rumble_ent = maps\_utility::get_rumble_ent("steady_rumble",0); + } + + level.rumble_ent.intensity = 0; +} + +//Function Number: 10 +rumble_set_ent_rumble_intensity_for_time(param_00,param_01,param_02) +{ + param_00.intensity = param_01; + wait(param_02); + param_00.intensity = 0; +} + +//Function Number: 11 +enemy_is_in_vehicle() +{ + return isdefined(self.ridingvehicle); +} + +//Function Number: 12 +hide_friendname_until_flag_or_notify(param_00) +{ + if(!isdefined(self.name)) + { + return; + } + + level.player endon("death"); + self endon("death"); + self.old_name = self.name; + self.name = " "; + if(common_scripts\utility::flag_exist(param_00)) + { + common_scripts\utility::flag_wait(param_00); + } + else + { + level waittill(param_00); + } + + self.name = self.old_name; +} + +//Function Number: 13 +kill_no_react() +{ + if(!isalive(self)) + { + return; + } + + self.allowdeath = 1; + self.a.nodeath = 1; + thread maps\_utility::set_battlechatter(0); + self kill(); +} + +//Function Number: 14 +drone_track_player() +{ + self endon("death"); + for(;;) + { + var_00 = anglestoforward(level.player getplayerangles()) * 512; + var_00 = var_00 + (randomintrange(-300,300),randomintrange(-300,300),randomintrange(96,164)); + var_01 = level.player geteye() + var_00; + var_02 = 3; + if(bullettracepassed(self gettagorigin("tag_flash"),var_01,0,self)) + { + self vehicle_setspeedimmediate(40); + self setvehgoalpos(var_01); + self waittill("goal"); + self vehicle_setspeedimmediate(0); + } + else + { + wait(randomfloatrange(2,5)); + continue; + } + + wait(randomfloatrange(5,10)); + } +} + +//Function Number: 15 +drone_fire_timing() +{ + self endon("death"); + for(;;) + { + maps\_utility::ent_flag_set("fire_disabled"); + wait(randomfloatrange(3,5)); + maps\_utility::ent_flag_clear("fire_disabled"); + wait(randomfloatrange(1,3)); + } +} + +//Function Number: 16 +init_bobbing_boats() +{ + level.bobbing_objects = []; + var_00 = maps\_bobbing_boats::createdefaultbobsettings(); + var_01 = getentarray("bobbing_ship","script_noteworthy"); + maps\_bobbing_boats::prep_bobbing(var_01,::maps\_bobbing_boats::bobbingobject,var_00,0); + level.bobbing_objects = maps\_shg_utility::array_combine_unique(level.bobbing_objects,var_01); + var_02 = maps\_bobbing_boats::createdefaultbobsettings(); + var_02.max_pitch = 1; + var_03 = getentarray("bobbing_ship_big","script_noteworthy"); + maps\_bobbing_boats::prep_bobbing(var_03,::maps\_bobbing_boats::bobbingobject,var_02,0); + level.bobbing_objects = maps\_shg_utility::array_combine_unique(level.bobbing_objects,var_03); + maps\_bobbing_boats::start_bobbing(level.bobbing_objects); +} + +//Function Number: 17 +warbird_shooting_think(param_00) +{ + level.player endon("death"); + self endon("death"); + self.mgturret[0] setmode("manual"); + self.mgturret[1] setmode("manual"); + if(!maps\_utility::ent_flag_exist("fire_turrets")) + { + maps\_utility::ent_flag_init("fire_turrets"); + } + + maps\_utility::ent_flag_set("fire_turrets"); + thread warbird_fire_monitor(); + for(;;) + { + self waittill("warbird_fire"); + thread warbird_fire(param_00); + } +} + +//Function Number: 18 +warbird_fire(param_00) +{ + self endon("death"); + var_01 = self.mgturret[0]; + var_02 = self.mgturret[1]; + var_03 = 3; + while(maps\_utility::ent_flag("fire_turrets")) + { + var_04 = getaiarray("allies"); + if(!maps\_utility::ent_flag_exist("dont_shoot_player") || !maps\_utility::ent_flag("dont_shoot_player")) + { + var_05 = 33; + if(randomint(100) <= var_05) + { + var_04 = common_scripts\utility::array_add(var_04,level.player); + } + } + + var_06 = []; + foreach(var_08 in var_04) + { + if(isdefined(var_08.ignoreme) && var_08.ignoreme) + { + continue; + } + else + { + var_06[var_06.size] = var_08; + } + } + + var_06 = sortbydistance(var_06,self.origin); + var_0A = undefined; + foreach(var_08 in var_06) + { + if(!isdefined(var_08)) + { + continue; + } + + if(!isalive(var_08)) + { + continue; + } + + if(isdefined(param_00) && param_00) + { + var_0C = self.mgturret[0] gettagorigin("tag_flash"); + var_0D = var_08 geteye(); + var_0E = vectornormalize(var_0D - var_0C); + var_0F = var_0D + var_0E * 20; + if(!sighttracepassed(var_0F,var_0D,0,var_08,self.mgturret[0])) + { + continue; + } + } + + var_0A = var_08; + break; + } + + if(isdefined(var_0A)) + { + var_01 settargetentity(var_0A); + var_02 settargetentity(var_0A); + var_01 turretfireenable(); + var_02 turretfireenable(); + var_01 startfiring(); + var_02 startfiring(); + wait_for_warbird_fire_target_done(var_0A,param_00); + var_01 cleartargetentity(); + var_02 cleartargetentity(); + var_01 turretfiredisable(); + var_02 turretfiredisable(); + } + + wait(var_03); + } + + var_01 turretfiredisable(); + var_02 turretfiredisable(); +} + +//Function Number: 19 +wait_for_warbird_fire_target_done(param_00,param_01) +{ + param_00 endon("death"); + if(!maps\_utility::ent_flag("fire_turrets")) + { + return; + } + + self endon("fire_turrets"); + if(param_00 == level.player) + { + var_02 = 0.6; + } + else + { + var_02 = 3; + } + + var_03 = 0; + while(var_03 < var_02) + { + if(isdefined(param_01) && param_01) + { + var_04 = self.mgturret[0] gettagorigin("tag_flash"); + var_05 = param_00 geteye(); + var_06 = vectornormalize(var_05 - var_04); + var_07 = var_04 + var_06 * 20; + if(!sighttracepassed(var_07,var_05,0,param_00,self.mgturret[0])) + { + return; + } + } + + var_03 = var_03 + 0.3; + wait(0.3); + } +} + +//Function Number: 20 +warbird_fire_monitor() +{ + self endon("death"); + self waittill("warbird_stop_firing"); + maps\_utility::ent_flag_clear("fire_turrets"); +} + +//Function Number: 21 +ambient_warbird_wait_to_fire() +{ + self endon("death"); + level endon("stop_ambient_warbird_firing"); + if(!maps\_utility::ent_flag_exist("ambient_warbird_fire")) + { + maps\_utility::ent_flag_init("ambient_warbird_fire"); + } + + for(;;) + { + maps\_utility::ent_flag_wait("ambient_warbird_fire"); + self notify("fire_turrets"); + maps\_utility::ent_flag_set("fire_turrets"); + self notify("warbird_fire"); + maps\_utility::ent_flag_waitopen("ambient_warbird_fire"); + self notify("warbird_stop_firing"); + maps\_utility::ent_flag_clear("fire_turrets"); + } +} + +//Function Number: 22 +ambient_warbird_shooting_think(param_00) +{ + self endon("death"); + self.mgturret[0] setmode("manual"); + self.mgturret[1] setmode("manual"); + if(!maps\_utility::ent_flag_exist("fire_turrets")) + { + maps\_utility::ent_flag_init("fire_turrets"); + } + + maps\_utility::ent_flag_set("fire_turrets"); + for(;;) + { + self waittill("warbird_fire"); + thread ambient_warbird_fire(); + } +} + +//Function Number: 23 +ambient_warbird_fire() +{ + self endon("death"); + level endon("stop_ambient_warbird_firing"); + var_00 = self.mgturret[0]; + var_01 = self.mgturret[1]; + var_02 = 2; + while(maps\_utility::ent_flag("fire_turrets")) + { + var_03 = getentarray("ambient_warbird_targets","script_noteworthy"); + var_03 = sortbydistance(var_03,self.origin); + var_04 = var_03[0]; + if(isdefined(var_04)) + { + var_00 settargetentity(var_04); + var_01 settargetentity(var_04); + var_00 turretfireenable(); + var_01 turretfireenable(); + var_00 startfiring(); + var_01 startfiring(); + wait(var_02); + var_00 cleartargetentity(); + var_01 cleartargetentity(); + var_00 turretfiredisable(); + var_01 turretfiredisable(); + } + + wait(0.05); + } +} + +//Function Number: 24 +wait_to_stop_firing() +{ + self endon("death"); + self waittill("warbird_stop_firing"); +} + +//Function Number: 25 +dynamic_boost_jump() +{ + for(;;) + { + common_scripts\utility::flag_wait("player_can_boost_jump"); + if(!isdefined(level.player.high_jump_enabled) || !level.player.high_jump_enabled) + { + level.player maps\_player_high_jump::enable_high_jump(); + } + + common_scripts\utility::flag_waitopen("player_can_boost_jump"); + if(isdefined(level.player.high_jump_enabled) && level.player.high_jump_enabled) + { + level.player maps\_player_high_jump::disable_high_jump(); + } + } +} + +//Function Number: 26 +warbird_wait_for_unload() +{ + self endon("death"); + self waittill("unloaded"); + maps\_utility::ent_flag_set("unloaded"); +} + +//Function Number: 27 +get_passengers() +{ + var_00 = self.riders; + var_00 = common_scripts\utility::array_remove(var_00,var_00[0]); + return var_00; +} + +//Function Number: 28 +ignore_until_unloaded() +{ + foreach(var_01 in self) + { + var_01.ignoreme = 1; + var_01 thread wait_until_unloaded(); + } +} + +//Function Number: 29 +wait_until_unloaded() +{ + self endon("death"); + self waittill("jumpedout"); + self.ignoreme = 0; +} + +//Function Number: 30 +heli_wait_for_unload() +{ + self endon("death"); + self waittill("unloaded"); +} + +//Function Number: 31 +setup_atlas_drone(param_00) +{ + self endon("death"); + thread maps\_shg_utility::make_emp_vulnerable(); + self laseron(); + thread drone_fire_timing(); + maps\_utility::add_damage_function(::atlas_drone_damage_function); + soundscripts\_snd::snd_message("attack_drone_audio_handler"); + if(!isdefined(level.deck_drones)) + { + level.deck_drones = []; + } + + level.deck_drones = common_scripts\utility::array_add(level.deck_drones,self); + common_scripts\utility::flag_wait(param_00); + level.deck_drones = common_scripts\utility::array_remove(level.deck_drones,self); + self kill(); +} + +//Function Number: 32 +atlas_drone_damage_function(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + self endon("death"); + if(isdefined(param_01) && isplayer(param_01) && isdefined(param_04) && param_04 == "MOD_IMPACT" || param_04 == "MOD_PROJECTILE") + { + var_07 = param_01 getcurrentweapon(); + if(isdefined(var_07) && issubstr(var_07,"microdronelauncher")) + { + maps\_vehicle::vehicle_set_health(1); + level.deck_drones = common_scripts\utility::array_remove(level.deck_drones,self); + self dodamage(99999,self.origin,param_01); + } + } +} + +//Function Number: 33 +setup_corpses(param_00) +{ + if(!isdefined(param_00) || !param_00) + { + var_01 = common_scripts\utility::getstructarray("org_corpse","script_noteworthy"); + var_02 = getent("corpse_spawner","targetname"); + } + else + { + var_01 = common_scripts\utility::getstructarray("org_civ_corpse","script_noteworthy"); + var_02 = getent("civ_corpse_spawner","targetname"); + } + + foreach(var_04 in var_01) + { + var_02.count++; + var_05 = var_02 maps\_utility::spawn_ai(1); + var_05.ignoreme = 1; + var_05 thread maps\_utility::set_battlechatter(0); + var_05.allowdeath = 0; + var_05.animname = "generic"; + var_05.name = " "; + var_05 notsolid(); + if(isdefined(var_05.weapon) && var_05.weapon != "none") + { + var_05 maps\_utility::gun_remove(); + } + + var_05 thermaldrawdisable(); + if(issubstr(var_04.script_parameters,"death")) + { + var_04 thread maps\_anim::anim_single_solo(var_05,var_04.script_parameters); + var_06 = var_05 maps\_utility::getanim(var_04.script_parameters); + var_05 common_scripts\utility::delaycall(0.05,::setanimtime,var_06,1); + continue; + } + + var_04 thread maps\_anim::anim_generic_loop(var_05,var_04.script_parameters); + } +} + +//Function Number: 34 +water_sheeting() +{ + var_00 = getentarray("trig_water_sheeting","targetname"); + common_scripts\utility::array_thread(var_00,::water_sheeting_think); +} + +//Function Number: 35 +water_sheeting_think() +{ + self waittill("trigger"); + for(;;) + { + if(level.player istouching(self)) + { + level.player setwatersheeting(1,1.5); + wait(0.5); + continue; + } + + wait(0.05); + } +} + +//Function Number: 36 +disable_awareness(param_00) +{ + self.dontmelee = 1; + self.ignoresuppression = 1; + self.suppressionwait_old = self.suppressionwait; + self.suppressionwait = 0; + maps\_utility::disable_surprise(); + self.ignorerandombulletdamage = 1; + maps\_utility::disable_bulletwhizbyreaction(); + maps\_utility::disable_pain(); + self.grenadeawareness = 0; + self.disablefriendlyfirereaction = 1; + self.dodangerreact = 0; + maps\_utility::enable_dontevershoot(); + self.ignoreall = 1; + self.ignoreme = 1; +} + +//Function Number: 37 +enable_awareness() +{ + self.ignoreall = 0; + self.dontmelee = undefined; + self.ignoresuppression = 0; + self.suppressionwait = self.suppressionwait_old; + self.suppressionwait_old = undefined; + maps\_utility::enable_surprise(); + self.ignorerandombulletdamage = 0; + maps\_utility::enable_bulletwhizbyreaction(); + maps\_utility::enable_pain(); + self.grenadeawareness = 1; + self.ignoreme = 0; + maps\_utility::disable_dontevershoot(); + self.disablefriendlyfirereaction = undefined; + self.dodangerreact = 1; +} + +//Function Number: 38 +disable_awareness_limited() +{ + self.ignoresuppression = 1; + self.suppressionwait = 0; + maps\_utility::disable_surprise(); + self.ignorerandombulletdamage = 1; + maps\_utility::disable_bulletwhizbyreaction(); + maps\_utility::disable_pain(); + self.grenadeawareness = 0; + self.disablefriendlyfirereaction = 1; + self.dodangerreact = 0; +} + +//Function Number: 39 +hanger_reinforcements_think() +{ + self endon("death"); + thread equip_microwave_grenade(); + self.ignoreall = 1; + maps\_utility::set_goal_radius(16); + self waittill("goal"); + if(isdefined(self) && isalive(self)) + { + self.ignoreall = 0; + } +} + +//Function Number: 40 +postspawn_rpg_vehicle() +{ + self setmodel("projectile_rpg7"); + var_00 = common_scripts\utility::getfx("rpg_trail"); + playfxontag(var_00,self,"tag_origin"); + var_00 = common_scripts\utility::getfx("rpg_muzzle"); + playfxontag(var_00,self,"tag_origin"); + self playsound("weap_rpg_fire_npc"); + if(isdefined(self.script_sound)) + { + if(isdefined(self.script_wait)) + { + common_scripts\utility::delaycall(self.script_wait,::playsound,self.script_sound); + } + else + { + self playsound(self.script_sound); + } + } + else + { + self playloopsound("weap_rpg_loop"); + } + + self waittill("reached_end_node"); + self notify("explode",self.origin); + var_01 = 0; + if(isdefined(self.script_exploder)) + { + common_scripts\_exploder::exploder(self.script_exploder); + var_01 = 1; + } + else if(isdefined(self.currentnode)) + { + var_02 = undefined; + var_03 = self.currentnode; + while(isdefined(var_03)) + { + var_02 = var_03; + if(!isdefined(var_03.target)) + { + break; + } + + var_03 = getvehiclenode(var_03.target,"targetname"); + } + + if(isdefined(var_02.target)) + { + var_04 = common_scripts\utility::getstruct(var_02.target,"targetname"); + if(isdefined(var_04)) + { + level thread rpg_explosion(var_04.origin,var_04.angles); + var_01 = 1; + } + } + } + + if(!var_01) + { + var_04 = spawnstruct(); + var_04.origin = self.origin; + var_04.angles = (-90,0,0); + level thread rpg_explosion(var_04.origin,var_04.angles); + } + + self delete(); +} + +//Function Number: 41 +rpg_explosion(param_00,param_01) +{ + var_02 = common_scripts\utility::getfx("rpg_explode"); + playfx(var_02,param_00,anglestoforward(param_01),anglestoup(param_01)); + radiusdamage(param_00,200,150,50); + thread common_scripts\utility::play_sound_in_space("null",param_00); +} + +//Function Number: 42 +hide_navy_boats() +{ + var_00 = getentarray("navy_ship","targetname"); + var_01 = getentarray("navy_ship_right","targetname"); + var_02 = common_scripts\utility::array_combine(var_00,var_01); + foreach(var_04 in var_02) + { + var_04 hide(); + } +} + +//Function Number: 43 +show_navy_boats() +{ + var_00 = getentarray("navy_ship","targetname"); + var_01 = getentarray("navy_ship_right","targetname"); + var_02 = common_scripts\utility::array_combine(var_00,var_01); + foreach(var_04 in var_02) + { + var_04 show(); + } +} + +//Function Number: 44 +hanger_bad_path() +{ + var_00 = getent("hanger_stairs_bad_place","targetname"); + badplace_brush("bad_place",-1,var_00,"axis"); +} + +//Function Number: 45 +prep_cinematic(param_00) +{ + setsaveddvar("cg_cinematicFullScreen","0"); + cinematicingame(param_00,1); + level.current_cinematic = param_00; +} + +//Function Number: 46 +ending_fade_out(param_00) +{ + setblur(10,param_00); + var_01 = newhudelem(); + var_01.x = 0; + var_01.y = 0; + var_01.horzalign = "fullscreen"; + var_01.vertalign = "fullscreen"; + var_01 setshader("black",640,480); + if(isdefined(param_00) && param_00 > 0) + { + var_01.alpha = 0; + var_01 fadeovertime(param_00); + var_01.alpha = 1; + wait(param_00); + } + + waittillframeend; + var_01 destroy(); +} + +//Function Number: 47 +fall_fail() +{ + self endon("death"); + for(;;) + { + self waittill("trigger",var_00); + if(var_00 == level.player) + { + setdvar("ui_deadquote",""); + setblur(30,2); + maps\_utility::missionfailedwrapper(); + } + } +} + +//Function Number: 48 +warbird_heavy_shooting_think(param_00) +{ + level.player endon("death"); + self endon("death"); + self.mgturret[0] setmode("manual"); + self.mgturret[1] setmode("manual"); + if(!maps\_utility::ent_flag_exist("fire_turrets")) + { + maps\_utility::ent_flag_init("fire_turrets"); + } + + maps\_utility::ent_flag_set("fire_turrets"); + for(;;) + { + self waittill("warbird_fire"); + maps\_utility::ent_flag_set("fire_turrets"); + thread warbird_heavy_fire(param_00); + self waittill("warbird_stop_firing"); + maps\_utility::ent_flag_clear("fire_turrets"); + } +} + +//Function Number: 49 +warbird_heavy_fire(param_00) +{ + self endon("death"); + var_01 = self.mgturret[0]; + var_02 = self.mgturret[1]; + var_01 notify("stop_burst_fire_unmanned"); + var_02 notify("stop_burst_fire_unmanned"); + var_03 = 0.4; + var_04 = var_03 / 2; + var_01 thread burst_fire_warbird(var_03,0); + var_02 thread burst_fire_warbird(var_03,var_04); + var_05 = common_scripts\utility::get_enemy_team(self.script_team); + while(maps\_utility::ent_flag("fire_turrets")) + { + var_06 = getaiarray(var_05); + if(isdefined(level.flying_attack_drones)) + { + var_07 = level.flying_attack_drones; + } + else + { + var_07 = []; + } + + if(isdefined(level.drones) && isdefined(level.drones[var_05].array)) + { + var_06 = common_scripts\utility::array_combine(var_06,level.drones[var_05].array); + } + + if(var_05 == level.player.team) + { + var_06 = common_scripts\utility::array_add(var_06,level.player); + } + + var_06 = common_scripts\utility::array_combine(var_06,var_07); + var_08 = []; + foreach(var_0A in var_06) + { + if(isdefined(var_0A.ignoreme) && var_0A.ignoreme) + { + continue; + } + else + { + var_08[var_08.size] = var_0A; + } + } + + var_08 = sortbydistance(var_08,self.origin); + var_0C = undefined; + foreach(var_0A in var_08) + { + if(!isdefined(var_0A)) + { + continue; + } + + if(!isalive(var_0A)) + { + continue; + } + + if(isdefined(param_00) && param_00) + { + var_0E = self.mgturret[0] gettagorigin("tag_flash"); + var_0F = var_0A geteye(); + var_10 = vectornormalize(var_0F - var_0E); + var_11 = var_0E + var_10 * 20; + if(!sighttracepassed(var_11,var_0F,0,var_0A,self.mgturret[0])) + { + continue; + } + } + + var_0C = var_0A; + break; + } + + if(isdefined(var_0C)) + { + var_01 settargetentity(var_0C); + var_02 settargetentity(var_0C); + var_01 turretfireenable(); + var_02 turretfireenable(); + var_01 startfiring(); + var_02 startfiring(); + wait_for_warbird_fire_target_done(var_0C,param_00); + var_01 notify("stop_firing"); + var_02 notify("stop_firing"); + var_01 cleartargetentity(); + var_02 cleartargetentity(); + var_01 turretfiredisable(); + var_02 turretfiredisable(); + } + + wait(0.05); + } + + var_01 turretfiredisable(); + var_02 turretfiredisable(); +} + +//Function Number: 50 +burst_fire_warbird(param_00,param_01) +{ + self endon("death"); + self endon("stop_burst_fire_warbird"); + var_02 = 1; + var_03 = 1; + var_04 = 1; + var_05 = 1; + var_06 = gettime(); + var_07 = "start"; + for(;;) + { + var_08 = var_06 - gettime() * 0.001; + if(self isfiringturret() && var_08 <= 0) + { + if(var_07 != "fire") + { + var_07 = "fire"; + thread doshoottuned(param_00,param_01); + } + + var_08 = var_04 + randomfloat(var_05); + thread turrettimer(var_08); + self waittill("turretstatechange"); + var_08 = var_02 + randomfloat(var_03); + var_06 = gettime() + int(var_08 * 1000); + continue; + } + + if(var_07 != "aim") + { + var_07 = "aim"; + } + + thread turrettimer(var_08); + self waittill("turretstatechange"); + } +} + +//Function Number: 51 +doshoottuned(param_00,param_01) +{ + self endon("death"); + self endon("turretstatechange"); + if(isdefined(param_01) && param_01 > 0) + { + wait(param_01); + } + + for(;;) + { + self shootturret(); + wait(param_00); + } +} + +//Function Number: 52 +turrettimer(param_00) +{ + if(param_00 <= 0) + { + return; + } + + self endon("turretstatechange"); + wait(param_00); + if(isdefined(self)) + { + self notify("turretstatechange"); + } +} \ No newline at end of file diff --git a/AW/PC/maps/sanfran_b_vo.gsc b/AW/PC/maps/sanfran_b_vo.gsc new file mode 100644 index 0000000..70251a5 --- /dev/null +++ b/AW/PC/maps/sanfran_b_vo.gsc @@ -0,0 +1,522 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: sanfran_b_vo.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 28 + * Decompile Time: 420 ms + * Timestamp: 4/22/2024 2:35:37 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + setup_dialogue(); + thread play_dialogue(); +} + +//Function Number: 2 +setup_dialogue() +{ + level.scr_radio["sfb_sn1_ineedallavailablecoast"] = "sfb_sn1_ineedallavailablecoast"; + level.scr_radio["sfb_sn2_cleareveryoneoffthebridge"] = "sfb_sn2_cleareveryoneoffthebridge"; + level.scr_radio["sfb_sn1_casevacunitsareinbound"] = "sfb_sn1_casevacunitsareinbound"; + level.scr_radio["sfb_sn2_tellthemitsinthe"] = "sfb_sn2_tellthemitsinthe"; + level.scr_radio["sfb_sn1_openfireonthosecargo"] = "sfb_sn1_openfireonthosecargo"; + level.scr_radio["sfb_nvr_ourweaponssystemsaredown"] = "sfb_nvr_ourweaponssystemsaredown"; + level.scr_radio["sfb_plt_copythatwearetwo"] = "sfb_plt_copythatwearetwo"; + level.scr_radio["sfb_nvr_ivegoteyesonthirty"] = "sfb_nvr_ivegoteyesonthirty"; + level.scr_radio["sfb_sn1_getallsecuritypersonnelarmed"] = "sfb_sn1_getallsecuritypersonnelarmed"; + level.scr_radio["sfb_nvr_fireeverythingyouvegotin"] = "sfb_nvr_fireeverythingyouvegotin"; + level.scr_sound["cormack"]["sfb_crk_techniciansaretryingtoget"] = "sfb_crk_techniciansaretryingtoget"; + level.scr_sound["burke"]["sfb_gdn_howthehelldidirons"] = "sfb_gdn_howthehelldidirons"; + level.scr_sound["cormack"]["sfb_crk_hehasntdoneagoddamn"] = "sfb_crk_hehasntdoneagoddamn"; + level.scr_sound["burke"]["sfb_gdn_alrightletsshowthesenavy"] = "sfb_gdn_alrightletsshowthesenavy"; + level.scr_sound["burke"]["sfb_gdn_useyourboosterstogain"] = "sfb_gdn_useyourboosterstogain"; + level.scr_sound["burke"]["sfb_gdn_contactbythejet"] = "sfb_gdn_contactbythejet"; + level.scr_sound["maddox"]["sfb_mdx_boostjumpersincoming"] = "sfb_mdx_boostjumpersincoming"; + level.scr_sound["burke"]["sfb_gdn_switchtoyourgrenadelauncher"] = "sfb_gdn_switchtoyourgrenadelauncher"; + level.scr_sound["security_officer_1"]["sfb_sc1_whothehellareyou"] = "sfb_sc1_whothehellareyou"; + level.scr_sound["maddox"]["sfb_mdx_wereyourbackup"] = "sfb_mdx_wereyourbackup"; + level.scr_sound["cormack"]["sfb_crk_jumpersinboundfromthenorth"] = "sfb_crk_jumpersinboundfromthenorth"; + level.scr_sound["burke"]["sfb_gdn_atlaschoppersinbound"] = "sfb_gdn_atlaschoppersinbound"; + level.scr_sound["maddox"]["sfb_mdx_theyrealloverthegoddamn"] = "sfb_mdx_theyrealloverthegoddamn"; + level.scr_sound["cormack"]["sfb_crk_someonegetmeasitrep"] = "sfb_crk_someonegetmeasitrep"; + level.scr_radio["sfb_alx_carriertechissayingtheyre"] = "sfb_alx_carriertechissayingtheyre"; + level.scr_sound["cormack"]["sfb_crk_almostdoesntcutit"] = "sfb_crk_almostdoesntcutit"; + level.scr_sound["burke"]["sfb_gdn_morefastzippers"] = "sfb_gdn_morefastzippers"; + level.scr_sound["security_officer_2"]["sfb_sc1_takecover"] = "sfb_sc1_takecover"; + level.scr_sound["security_officer_3"]["sfb_sc2_regrouponthestarboarddeck"] = "sfb_sc2_regrouponthestarboarddeck"; + level.scr_sound["security_officer_4"]["sfb_sc1_michaelskeepyourgoddamnhead"] = "sfb_sc1_michaelskeepyourgoddamnhead"; + level.scr_sound["security_officer_5"]["sfb_sc2_moreofthembythe"] = "sfb_sc2_moreofthembythe"; + level.scr_radio["sfb_alx_weaponsbackonline"] = "sfb_alx_weaponsbackonline"; + level.scr_sound["cormack"]["sfb_crk_deckissecuredwereheading"] = "sfb_crk_deckissecuredwereheading"; + level.scr_sound["burke"]["sfb_gdn_letsgoletsgo"] = "sfb_gdn_letsgoletsgo"; + level.scr_sound["cormack"]["sfb_crk_mitchelljumpuphere"] = "sfb_crk_mitchelljumpuphere"; + level.scr_sound["cormack"]["sfb_crk_mitchelloverhere"] = "sfb_crk_mitchelloverhere"; + level.scr_sound["cormack"]["sfb_crk_mitchellgetwiththeprogram"] = "sfb_crk_mitchellgetwiththeprogram"; + level.scr_sound["cormack"]["sfb_crk_killyourboosters"] = "sfb_crk_killyourboosters"; + level.scr_sound["burke"]["sfb_gdn_checkthosecorners"] = "sfb_gdn_checkthosecorners"; + level.scr_sound["cormack"]["sfb_crk_weneedtogetto"] = "sfb_crk_weneedtogetto"; + level.scr_sound["cormack"]["sfb_crk_powersoutswitchtosonar"] = "sfb_crk_powersoutswitchtosonar"; + level.scr_sound["maddox"]["sfb_mdx_contact"] = "sfb_mdx_contact"; + level.scr_sound["cormack"]["sfb_crk_clearemout"] = "sfb_crk_clearemout"; + level.scr_sound["cormack"]["sfb_crk_thisway"] = "sfb_crk_thisway"; + level.scr_sound["cormack"]["sfb_crk_overhere"] = "sfb_crk_overhere"; + level.scr_sound["cormack"]["sfb_crk_mitchellmove"] = "sfb_crk_mitchellmove"; + level.scr_sound["cormack"]["sfb_crk_wehavetobreakthrough"] = "sfb_crk_wehavetobreakthrough"; + level.scr_sound["burke"]["sfb_gdn_fastzipatourtwelve"] = "sfb_gdn_fastzipatourtwelve"; + level.scr_sound["cormack"]["sfb_crk_throughthedoor"] = "sfb_crk_throughthedoor"; + level.scr_radio["sfb_alx_thosefabsaretearingup"] = "sfb_alx_thosefabsaretearingup"; + level.scr_sound["burke"]["sfb_gdn_upthestairs"] = "sfb_gdn_upthestairs"; + level.scr_sound["cormack"]["sfb_crk_pushthrough"] = "sfb_crk_pushthrough"; + level.scr_sound["cormack"]["sfb_crk_alxeiwerealmostthere"] = "sfb_crk_alxeiwerealmostthere"; + level.scr_sound["cormack"]["sfb_crk_admiraldavisrequestingauthorizationto"] = "sfb_crk_admiraldavisrequestingauthorizationto"; + level.scr_radio["sfb_ads_authorizationgrantedsentinelone"] = "sfb_ads_authorizationgrantedsentinelone"; + level.scr_sound["cormack"]["sfb_crk_copythat2"] = "sfb_crk_copythat2"; + level.scr_sound["burke"]["sfb_gdn_steadynowmitchell"] = "sfb_gdn_steadynowmitchell"; + level.scr_sound["burke"]["sfb_gdn_thatsahit"] = "sfb_gdn_thatsahit"; + level.scr_sound["burke"]["sfb_gdn_cargoshipisdown"] = "sfb_gdn_cargoshipisdown"; + level.scr_sound["maddox"]["sfb_mdx_wejustlostourcrusier"] = "sfb_mdx_wejustlostourcrusier"; + level.scr_sound["burke"]["sfb_gdn_thatsthelastofem"] = "sfb_gdn_thatsthelastofem"; + level.scr_radio["sfb_ads_thisiscompacfleet"] = "sfb_ads_thisiscompacfleet"; + level.scr_sound["cormack"]["sfb_crk_copythatadmiral"] = "sfb_crk_copythatadmiral"; + level.scr_sound["burke"]["sfb_gdn_fuckinghell"] = "sfb_gdn_fuckinghell"; + level.scr_sound["maddox"]["sfb_mdx_whathappensnext"] = "sfb_mdx_whathappensnext"; + level.scr_sound["cormack"]["sfb_crk_next"] = "sfb_crk_next"; + level.scr_sound["cormack"]["sfb_crk_takethemout"] = "sfb_crk_takethemout"; + level.scr_sound["burke"]["sfb_gdn_dronesareclear"] = "sfb_gdn_dronesareclear"; + level.scr_sound["cormack"]["sfb_crk_oklinkingin"] = "sfb_crk_oklinkingin"; + level.scr_sound["cormack"]["sfb_crk_ineedyoutotarget"] = "sfb_crk_ineedyoutotarget"; + level.scr_sound["cormack"]["sfb_crk_getonthatterminalmitchell"] = "sfb_crk_getonthatterminalmitchell"; + level.scr_sound["cormack"]["sfb_crk_mitchellusethetargetingcomputer"] = "sfb_crk_mitchellusethetargetingcomputer"; + level.scr_sound["cormack"]["sfb_crk_targetthatcargoship"] = "sfb_crk_targetthatcargoship"; + level.scr_sound["cormack"]["sfb_crk_holdsteadyonthecargo"] = "sfb_crk_holdsteadyonthecargo"; + level.scr_sound["cormack"]["sfb_crk_targetaquiredfiring"] = "sfb_crk_targetaquiredfiring"; + level.scr_sound["burke"]["sfb_gdn_shesdown"] = "sfb_gdn_shesdown"; + level.scr_sound["cormack"]["sfb_crk_switchingtothesecondship"] = "sfb_crk_switchingtothesecondship"; + level.scr_sound["cormack"]["sfb_crk_targettheship"] = "sfb_crk_targettheship"; + level.scr_sound["cormack"]["sfb_crk_holdthattarget"] = "sfb_crk_holdthattarget"; + level.scr_sound["cormack"]["sfb_crk_firing"] = "sfb_crk_firing"; + level.scr_sound["cormack"]["sfb_crk_stayontarget"] = "sfb_crk_stayontarget"; + level.scr_sound["cormack"]["sfb_crk_hittheothercargoship"] = "sfb_crk_hittheothercargoship"; + level.scr_sound["burke"]["sfb_gdn_thatwarbirdhasabead"] = "sfb_gdn_thatwarbirdhasabead"; + level.scr_sound["cormack"]["sfb_crk_twowarbirdscominginfrom"] = "sfb_crk_twowarbirdscominginfrom"; + level.scr_sound["cormack"]["sfb_crk_gettotherailgun"] = "sfb_crk_gettotherailgun"; + level.scr_sound["cormack"]["sfb_crk_getthatjammerinplace"] = "sfb_crk_getthatjammerinplace"; + level.scr_sound["cormack"]["sfb_crk_mitchellplantthejammer"] = "sfb_crk_mitchellplantthejammer"; + level.scr_sound["cormack"]["sfb_crk_jammerisset"] = "sfb_crk_jammerisset"; + level.scr_sound["cormack"]["sfb_crk_setthejammer"] = "sfb_crk_setthejammer"; + level.scr_sound["cormack"]["sfb_crk_cmonmitchellplantit"] = "sfb_crk_cmonmitchellplantit"; + level.scr_sound["cormack"]["sfb_crk_mitchellplantitnow"] = "sfb_crk_mitchellplantitnow"; + level.scr_sound["burke"]["sfb_gdn_thatshouldslowthemdown"] = "sfb_gdn_thatshouldslowthemdown"; + level.scr_sound["cormack"]["sfb_crk_railgunsaresecured"] = "sfb_crk_railgunsaresecured"; + level.scr_radio["sfb_ads_sentinelzeroonethecarriersweaponssystem"] = "sfb_ads_sentinelzeroonethecarriersweaponssystem"; + level.scr_sound["cormack"]["sfb_crk_copythat"] = "sfb_crk_copythat"; + level.scr_sound["cormack"]["sfb_crk_sonofabitch"] = "sfb_crk_sonofabitch"; + level.scr_sound["cormack"]["sfb_crk_tangodown"] = "sfb_crk_tangodown"; + level.scr_sound["cormack"]["sfb_crk_thatsforthebridge"] = "sfb_crk_thatsforthebridge"; + level.scr_radio["sfb_ads_thosedronesaretearingup"] = "sfb_ads_thosedronesaretearingup"; + level.scr_radio["sfb_ads_atlashastakenthebridge"] = "sfb_ads_atlashastakenthebridge"; + level.scr_sound["cormack"]["sfb_crk_werealmostatthebridge"] = "sfb_crk_werealmostatthebridge"; + level.scr_sound["cormack"]["sfb_crk_lightsout"] = "sfb_crk_lightsout"; + level.scr_sound["cormack"]["sfb_crk_ast"] = "sfb_crk_ast"; +} + +//Function Number: 3 +play_dialogue() +{ + thread intro_radio_chatter(); + thread deck_dialogue(); + thread interior_dialogue(); + thread hangar_dialogue(); + thread information_center_dialogue(); + thread bridge_dialogue(); +} + +//Function Number: 4 +intro_radio_chatter() +{ + level endon("intro_dialogue"); + common_scripts\utility::flag_wait("intro_radio_vo"); + wait(1.5); + maps\_utility::dialogue_queue("sfb_nvr_ivegoteyesonthirty"); + maps\_utility::dialogue_queue("sfb_sn1_getallsecuritypersonnelarmed"); +} + +//Function Number: 5 +deck_dialogue() +{ + level endon("flag_player_entered_interior"); + maps\_utility::trigger_wait_targetname("trig_deck_vo_1"); + thread grenade_launcher_vo(); + var_00 = find_non_squad_allies_by_distance(); + level.burke maps\_utility::dialogue_queue("sfb_gdn_contactbythejet"); + maps\_utility::delaythread(2,::navy_vo); + wait(3); + common_scripts\utility::flag_wait("useyourboosters_vo"); + common_scripts\utility::flag_wait("obj_track_jammers"); + level.cormack maps\_utility::dialogue_queue("sfb_crk_gettotherailgun"); + maps\_utility::trigger_wait_targetname("trig_deck_vo_jammer_1_nag"); + thread jammer_1_nag_lines(); + common_scripts\utility::flag_wait("boost_incoming_vo"); + wait(2.5); + level.maddox maps\_utility::dialogue_queue("sfb_mdx_boostjumpersincoming"); + common_scripts\utility::flag_wait("jammer_1_deactivated"); + level.cormack maps\_utility::dialogue_queue("sfb_crk_jammerisset"); + soundscripts\_snd::snd_music_message("first_jammer_set"); + common_scripts\utility::flag_wait("deck_warbird_vo"); + level.cormack maps\_utility::dialogue_queue("sfb_crk_twowarbirdscominginfrom"); + common_scripts\utility::flag_wait("deck_reinforcement_1"); + wait(2.5); + level.burke maps\_utility::dialogue_queue("sfb_gdn_atlaschoppersinbound"); + wait(1); + level.burke maps\_utility::dialogue_queue("sfb_gdn_thatwarbirdhasabead"); + common_scripts\utility::flag_wait("jammer_2_vo"); + thread jammer_2_nag_lines(); + common_scripts\utility::flag_wait("jammer_2_deactivated"); + level.burke maps\_utility::dialogue_queue("sfb_gdn_thatshouldslowthemdown"); + level.cormack maps\_utility::dialogue_queue("sfb_crk_railgunsaresecured"); + common_scripts\utility::flag_wait("deck_reinforcement_2"); + wait(3.25); + level.burke maps\_utility::dialogue_queue("sfb_gdn_morefastzippers"); + wait(5); + level.maddox maps\_utility::dialogue_queue("sfb_mdx_theyrealloverthegoddamn"); + thread deck_dialog_rail_gun_secure(); +} + +//Function Number: 6 +deck_dialog_rail_gun_secure() +{ + level endon("flag_player_entered_interior"); + common_scripts\utility::flag_wait("rail_guns_secure_vo"); + wait(3); + level maps\_utility::dialogue_queue("sfb_ads_sentinelzeroonethecarriersweaponssystem"); + level.cormack maps\_utility::dialogue_queue("sfb_crk_copythat"); + level.burke maps\_utility::dialogue_queue("sfb_gdn_letsgoletsgo"); + thread player_jump_into_mob_nag_lines(); +} + +//Function Number: 7 +grenade_launcher_vo() +{ + maps\_utility::trigger_wait_targetname("trig_grenade_launcher_vo"); + soundscripts\_snd::snd_message("begin_rooftop_combat"); + var_00 = 0; + var_01 = level.player getweaponslistall(); + foreach(var_03 in var_01) + { + if(issubstr(var_03,"microdronelauncher")) + { + var_00 = 1; + continue; + } + } + + var_05 = level.player getcurrentweapon(); + if(var_00 && !issubstr(var_05,"microdronelauncher")) + { + } +} + +//Function Number: 8 +navy_vo() +{ + var_00 = find_non_squad_allies_by_distance(); + if(isdefined(var_00) && var_00.size > 0) + { + var_00[0].animname = "security_officer_2"; + var_00[0] maps\_utility::dialogue_queue("sfb_sc1_takecover"); + } + + wait(3); + var_00 = find_non_squad_allies_by_distance(); + if(isdefined(var_00) && var_00.size > 0) + { + var_00[0].animname = "security_officer_4"; + var_00[0] maps\_utility::dialogue_queue("sfb_sc1_michaelskeepyourgoddamnhead"); + } + + common_scripts\utility::flag_wait("deck_reinforcement_1"); + wait(6); + var_00 = find_non_squad_allies_by_distance(); + if(isdefined(var_00) && var_00.size > 0) + { + var_00[0].animname = "security_officer_3"; + var_00[0] maps\_utility::dialogue_queue("sfb_sc2_regrouponthestarboarddeck"); + } + + common_scripts\utility::flag_wait("deck_reinforcement_2"); + wait(6); + var_00 = find_non_squad_allies_by_distance(); + if(isdefined(var_00) && var_00.size > 0) + { + var_00[0].animname = "security_officer_5"; + var_00[0] maps\_utility::dialogue_queue("sfb_sc2_moreofthembythe"); + } +} + +//Function Number: 9 +find_non_squad_allies_by_distance() +{ + var_00 = getaiarray("allies"); + foreach(var_02 in var_00) + { + if(maps\_utility::is_in_array(level.heroes,var_02)) + { + var_00 = common_scripts\utility::array_remove(var_00,var_02); + } + } + + var_00 = maps\_utility::array_removedead_or_dying(var_00); + var_00 = common_scripts\utility::array_removeundefined(var_00); + var_00 = sortbydistance(var_00,level.player.origin); + return var_00; +} + +//Function Number: 10 +jammer_1_nag_lines() +{ + var_00 = []; + var_00[0] = "sfb_crk_getthatjammerinplace"; + var_00[1] = "sfb_crk_mitchellplantthejammer"; + var_00[2] = "sfb_crk_setthejammer"; + thread maps\_shg_utility::dialogue_reminder(level.cormack,"jammer_1_deactivated",var_00,10,20); +} + +//Function Number: 11 +jammer_2_nag_lines() +{ + var_00 = []; + var_00[0] = "sfb_crk_cmonmitchellplantit"; + var_00[1] = "sfb_crk_mitchellplantitnow"; + var_00[2] = "sfb_crk_gettotherailgun"; + thread maps\_shg_utility::dialogue_reminder(level.cormack,"jammer_2_deactivated",var_00,10,20); +} + +//Function Number: 12 +player_jump_into_mob_nag_lines() +{ + var_00 = getent("volume_initial_interior_room","targetname"); + var_01 = 0; + while(!var_01) + { + if(level.cormack istouching(var_00)) + { + var_01 = 1; + break; + } + + wait(0.05); + } + + var_02 = []; + var_02[0] = "sfb_crk_mitchelljumpuphere"; + var_02[1] = "sfb_crk_mitchelloverhere"; + var_02[2] = "sfb_crk_mitchellgetwiththeprogram"; + thread maps\_shg_utility::dialogue_reminder(level.cormack,"flag_player_entered_interior",var_02,10,20); +} + +//Function Number: 13 +interior_dialogue() +{ + common_scripts\utility::flag_wait("flag_player_entered_interior"); + maps\_utility::trigger_wait_targetname("trig_open_initial_door_anim"); + wait(1); + level.cormack maps\_utility::dialogue_queue("sfb_crk_weneedtogetto"); + common_scripts\utility::flag_wait("exo_takedown_started"); + if(isdefined(level.takedownenemy1)) + { + level.cormack maps\_utility::delaythread(3.75,::maps\_utility::dialogue_queue,"sfb_crk_sonofabitch"); + maps\_utility::delaythread(3.75,::common_scripts\utility::flag_set,"flag_allow_night_vision_hint"); + } + else + { + common_scripts\utility::flag_set("flag_allow_night_vision_hint"); + } + + maps\_utility::trigger_wait_targetname("trig_display_sonar_hint"); + common_scripts\utility::flag_wait("flag_allow_night_vision_hint"); + wait(0.75); + soundscripts\_snd::snd_music_message("sanfranb_crmk_switchtosonar"); + level.cormack maps\_utility::dialogue_queue("sfb_crk_powersoutswitchtosonar"); + common_scripts\utility::flag_wait("flag_vo_trig_display_sonar_hint"); + level.maddox maps\_utility::dialogue_queue("sfb_mdx_contact"); + level.cormack maps\_utility::dialogue_queue("sfb_crk_clearemout"); + common_scripts\utility::flag_wait("flag_vo_trig_interior_vo_2"); + level.cormack maps\_utility::dialogue_queue("sfb_crk_thisway"); + thread player_leave_cafeteria_nag_lines(); +} + +//Function Number: 14 +player_leave_cafeteria_nag_lines() +{ + var_00 = []; + var_00[0] = "sfb_crk_overhere"; + var_00[1] = "sfb_crk_mitchellmove"; + thread maps\_shg_utility::dialogue_reminder(level.cormack,"player_exit_cafeteria",var_00,7,15); +} + +//Function Number: 15 +hangar_dialogue() +{ + common_scripts\utility::flag_wait("player_exit_cafeteria"); + common_scripts\utility::flag_wait("trig_fleet_vo"); + level maps\_utility::dialogue_queue("sfb_ads_atlashastakenthebridge"); + common_scripts\utility::flag_wait("trig_hangar_vo_1"); + level.cormack maps\_utility::dialogue_queue("sfb_crk_wehavetobreakthrough"); + soundscripts\_snd::snd_message("enter_hangar"); + common_scripts\utility::flag_wait("hangar_guys_unloading_1"); + level.burke maps\_utility::dialogue_queue("sfb_gdn_fastzipatourtwelve"); + common_scripts\utility::flag_wait("ast_vo"); + level.cormack maps\_utility::dialogue_queue("sfb_crk_ast"); + common_scripts\utility::flag_wait("through_door_vo"); + level.cormack maps\_utility::dialogue_queue("sfb_crk_throughthedoor"); + common_scripts\utility::flag_wait("trig_hangar_ambient_naval_combat"); + wait(2); + level maps\_utility::dialogue_queue("sfb_ads_thosedronesaretearingup"); + level.cormack maps\_utility::dialogue_queue("sfb_crk_werealmostatthebridge"); + maps\_utility::trigger_wait_targetname("trig_hangar_vo_2"); + soundscripts\_snd::snd_message("enter_room_above_hangar"); +} + +//Function Number: 16 +information_center_dialogue() +{ + common_scripts\utility::flag_wait("flag_information_center"); + common_scripts\utility::flag_wait("flag_information_center_vo_1"); + level.burke maps\_utility::dialogue_queue("sfb_gdn_upthestairs"); + common_scripts\utility::flag_wait("flag_information_center_vo_2"); + level.cormack maps\_utility::dialogue_queue("sfb_crk_lightsout"); + common_scripts\utility::flag_wait_either("information_center_cleared","information_center_enemies_killed"); + level.cormack maps\_utility::dialogue_queue("sfb_crk_admiraldavisrequestingauthorizationto"); + level maps\_utility::dialogue_queue("sfb_ads_authorizationgrantedsentinelone"); + level.cormack maps\_utility::dialogue_queue("sfb_crk_copythat2"); +} + +//Function Number: 17 +bridge_dialogue() +{ + common_scripts\utility::flag_wait("flag_bridge"); + maps\_utility::trigger_wait_targetname("trig_spawn_bridge_drones"); + common_scripts\utility::flag_wait("pulloff_anim_started"); + level.cormack maps\_utility::dialogue_queue("sfb_crk_oklinkingin"); + common_scripts\utility::flag_wait("target_vo"); + level.cormack maps\_utility::dialogue_queue("sfb_crk_ineedyoutotarget"); + thread get_on_console_nag_lines(); + common_scripts\utility::flag_wait("player_using_mob_turret"); + level.cormack maps\_utility::dialogue_queue("sfb_crk_targetthatcargoship"); + common_scripts\utility::flag_wait("player_firing_mob_turret"); + level.cormack maps\_utility::dialogue_queue("sfb_crk_holdsteadyonthecargo"); + common_scripts\utility::flag_wait("first_cargo_ship_destroyed"); + wait(3); + level.burke maps\_utility::dialogue_queue("sfb_gdn_cargoshipisdown"); + wait(1); + level.cormack maps\_utility::dialogue_queue("sfb_crk_switchingtothesecondship"); + common_scripts\utility::flag_wait("player_firing_mob_turret"); + level.cormack maps\_utility::dialogue_queue("sfb_crk_holdthattarget"); + common_scripts\utility::flag_wait("second_cargo_ship_destroyed"); + wait(1.5); + level.burke maps\_utility::dialogue_queue("sfb_gdn_shesdown"); + wait(2); + level maps\_utility::dialogue_queue("sfb_ads_thisiscompacfleet"); + level.cormack maps\_utility::dialogue_queue("sfb_crk_copythatadmiral"); + common_scripts\utility::flag_set("outro_dialogue_finished"); +} + +//Function Number: 18 +get_on_console_nag_lines() +{ + var_00 = []; + var_00[1] = "sfb_crk_getonthatterminalmitchell"; + var_00[2] = "sfb_crk_mitchellusethetargetingcomputer"; + thread maps\_shg_utility::dialogue_reminder(level.cormack,"player_using_mob_turret",var_00,7,15); +} + +//Function Number: 19 +init_pcap_vo() +{ + if(level.nextgen) + { + init_pcap_vo_intro(); + init_pcap_vo_outro(); + return; + } + + if(istransientloaded("sanfran_b_intro_tr")) + { + init_pcap_vo_intro(); + level waittill("tff_post_transition_intro_to_outro"); + init_pcap_vo_outro(); + return; + } + + if(istransientloaded("sanfran_b_outro_tr")) + { + init_pcap_vo_outro(); + return; + } +} + +//Function Number: 20 +init_pcap_vo_intro() +{ + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%sanfran_b_intro_burke,"aud_start_MOB_transition_intro",::pcap_vo_sf_b_intro_gideon); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%sanfran_b_intro_cormack,"aud_start_MOB_transition_intro",::pcap_vo_sf_b_intro_cormack); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%sf_b_boost_off_guy2,"aud_start_sf_b_intro_boosters_off01",::pcap_vo_sf_b_boosters_cormack); +} + +//Function Number: 21 +init_pcap_vo_outro() +{ + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%sf_b_bridge_dialog_guy1,"aud_start_MOB_bridge_final_diolog",::sf_b_bridge_cormack); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%sf_b_bridge_dialog_guy2,"aud_start_mob_knox",::sf_b_bridge_maddox); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%sf_b_bridge_dialog_guy3,"aud_start_MOB_bridge_final_diolog",::sf_b_bridge_burk); +} + +//Function Number: 22 +pcap_vo_sf_b_intro_cormack(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("sfb_crk_atlasistryingtotakecontrol",7.18); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("sfb_crk_theyregonnatryandtake",17); +} + +//Function Number: 23 +pcap_vo_sf_b_intro_gideon(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("sfb_gdn_jesus",2.06); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("sfb_gdn_wevegotenemytroops",14.21); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("sfb_gdn_wewontletthemget",21.18,"pcap_vo_sf_b_intro_done"); + level waittill("pcap_vo_sf_b_intro_done"); +} + +//Function Number: 24 +pcap_vo_sf_b_boosters_cormack(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo("sfb_crk_killyourboosters",0); +} + +//Function Number: 25 +pcap_vo_sf_b_bridge_init() +{ +} + +//Function Number: 26 +sf_b_bridge_burk(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("sfb_gdn_fuckinghell",5.24); +} + +//Function Number: 27 +sf_b_bridge_maddox(param_00) +{ + var_01 = 12; + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("sfb_mdx_whathappensnext",var_01); + soundscripts\_snd::snd_music_message("mus_sfb_pcap_ending",var_01); +} + +//Function Number: 28 +sf_b_bridge_cormack(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("sfb_crk_next",15.24,"pcap_vo_sf_b_bridge_done"); +} \ No newline at end of file diff --git a/AW/PC/maps/sanfran_code.gsc b/AW/PC/maps/sanfran_code.gsc new file mode 100644 index 0000000..55283f9 --- /dev/null +++ b/AW/PC/maps/sanfran_code.gsc @@ -0,0 +1,3867 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: sanfran_code.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 157 + * Decompile Time: 2339 ms + * Timestamp: 4/22/2024 2:35:45 AM +*******************************************************************/ + +//Function Number: 1 +handle_drone_opening(param_00) +{ + maps\sanfran_util::setup_intro(); + level.player maps\_shg_utility::setup_player_for_scene(); + wait(1); + maps\sanfran_util::show_water_intro(); + level thread intro_moving_ships(); + maps\sanfran_util::delete_roadsurface_bridge(); + level.player unlink(); + level.player disableslowaim(); + common_scripts\utility::flag_set("msg_vfx_zone2_driving_chase"); + level thread handle_driving_section(); + level thread vehicle_scripts\_sentinel_survey_drone_hud::hud_end(); +} + +//Function Number: 2 +helicopter_view_intro(param_00) +{ + var_01 = getent("intro_drone_position_01","targetname"); + var_02 = getent(var_01.target,"targetname"); + level.player playerlinktodelta(var_01,undefined,1,0,0,0,0); + level.player playerlinktodelta(var_01,undefined,1,8,8,4,4); + level.player enableslowaim(); + level.player maps\_shg_utility::setup_player_for_scene(); + level.player lightsetforplayer("helicopter_view_intro_0"); + level thread vehicle_scripts\_sentinel_survey_drone_hud::hud_start(level.player,0.5,1); + soundscripts\_snd::snd_message("aud_drone_view_intro_start"); + wait(0.05); + thread maps\sanfran_util::drone_view_shake(0.05); + var_01 thread maps\sanfran_util::drone_moveto_ent(var_01.target,40); + wait(2); + if(!isdefined(param_00)) + { + common_scripts\utility::flag_set("flag_dialog_start_intro"); + } + + var_01 thread maps\sanfran_util::drone_lookat_ent("fake_mob",0,1); + wait(0.5); + if(!isdefined(param_00)) + { + common_scripts\utility::flag_set("flag_dialog_intro_fleet"); + } + + wait(8); + thread intro_ship_icons(); + common_scripts\utility::flag_set("flag_zoom_in_fleet"); + level notify("aud_drone_view_intro_zoom_in_fleet"); + level.player lerpfov(27,0.25); + wait(0.25); + level.player lerpfov(30,0.25); + wait(3.25); + common_scripts\utility::flag_set("flag_zoom_out_fleet"); + level notify("aud_drone_view_intro_zoom_out_fleet"); + level.player lerpfov(67,0.25); + wait(0.25); + level.player lerpfov(65,0.25); + thread vehicle_scripts\_sentinel_survey_drone_hud::remove_hud_drone_target(); + wait(2.75); + if(!isdefined(param_00)) + { + common_scripts\utility::flag_set("flag_dialog_intro_cargo"); + } + + wait(1); + vehicle_scripts\_sentinel_survey_drone_hud::destroy_sentinel_drone_hud(); + level notify("aud_drone_view_intro_switch_to_camera_2"); + thread showstatic(0.1); + var_01 = getent("intro_drone_position_02","targetname"); + var_01 thread maps\sanfran_util::drone_lookat_ent("cargo_ship_2"); + level.player playerlinktodelta(var_01,undefined,1,0,0,0,0); + level.player playerlinktodelta(var_01,undefined,1,8,8,4,4); + common_scripts\utility::flag_set("flag_cargo_ship"); + vehicle_scripts\_sentinel_survey_drone_hud::hud_start(level.player,1,2); + var_01 thread maps\sanfran_util::drone_moveto_ent(var_01.target,40); + wait(1.25); + var_01 thread maps\sanfran_util::drone_lookat_ent("cargo_ship_2",0.5,0,(-6,-10,0)); + common_scripts\utility::flag_set("flag_zoom_in_cargo"); + level notify("aud_drone_view_intro_zoom_in_cargo"); + level.player lerpfov(43,0.5); + wait(0.5); + level.player lerpfov(45,0.5); + level thread narrow_in_camera_play(var_01); + wait(0.5); + wait(2); + level notify("stop_narrow_play"); + if(!isdefined(param_00)) + { + wait(1.5); + common_scripts\utility::flag_set("flag_intro_transition_to_driving"); + level notify("aud_drone_view_intro_transition_to_tunnel"); + } + + if(level.currentgen) + { + if(!istransientloaded("sanfran_intro_tr")) + { + level waittill("tff_transition_outro_to_intro"); + } + } + + vehicle_scripts\_sentinel_survey_drone_hud::destroy_sentinel_drone_hud(); + level.player lightsetforplayer("helicopter_view_intro_1"); +} + +//Function Number: 3 +narrow_in_camera_play(param_00) +{ + level endon("stop_narrow_play"); + var_01 = 8; + var_02 = 4; + for(;;) + { + level.player playerlinktodelta(param_00,undefined,1,var_01,var_01,var_02,var_02); + wait(0.05); + var_01 = clamp(var_01 - 0.08,4,8); + var_02 = clamp(var_02 - 0.04,2,4); + } +} + +//Function Number: 4 +fadeupstatic(param_00) +{ + level.overlaystatic = newhudelem(level.player); + level.overlaystatic.x = 0; + level.overlaystatic.y = 0; + level.overlaystatic.alpha = 0; + level.overlaystatic.horzalign = "fullscreen"; + level.overlaystatic.vertalign = "fullscreen"; + level.overlaystatic.sort = 4; + level.overlaystatic setshader("overlay_static_digital",640,480); + level.overlaystatic2 = newhudelem(level.player); + level.overlaystatic2.x = 0; + level.overlaystatic2.y = 0; + level.overlaystatic2.alpha = 0; + level.overlaystatic2.color = (0.1,0.1,0.1); + level.overlaystatic2.horzalign = "fullscreen"; + level.overlaystatic2.vertalign = "fullscreen"; + level.overlaystatic2.sort = 5; + level.overlaystatic2 setshader("sentinel_drone_overlay",640,480); + var_01 = 0.05 / param_00; + while(level.overlaystatic.alpha < 1) + { + level.overlaystatic.alpha = level.overlaystatic.alpha + var_01; + level.overlaystatic2.alpha = level.overlaystatic.alpha; + wait(0.05); + } +} + +//Function Number: 5 +fadedownstatic(param_00) +{ + var_01 = 0.05 / param_00; + while(level.overlaystatic.alpha >= 0) + { + level.overlaystatic.alpha = level.overlaystatic.alpha - var_01; + level.overlaystatic2.alpha = level.overlaystatic.alpha; + wait(0.05); + } + + level.overlaystatic destroy(); + level.overlaystatic2 destroy(); +} + +//Function Number: 6 +showstatic(param_00) +{ + level.overlaystatic = newhudelem(level.player); + level.overlaystatic.x = 0; + level.overlaystatic.y = 0; + level.overlaystatic.alpha = 1; + level.overlaystatic.horzalign = "fullscreen"; + level.overlaystatic.vertalign = "fullscreen"; + level.overlaystatic.sort = 4; + level.overlaystatic setshader("overlay_static_digital",640,480); + wait(param_00); + level.overlaystatic destroy(); +} + +//Function Number: 7 +intro_moving_ships() +{ + maps\sanfran_util::toggle_off_real_mob(); + var_00 = []; + var_01 = []; + var_00[var_00.size] = getent("fake_mob","targetname"); + var_00[var_00.size] = getent("cargo_ship","targetname"); + var_00[var_00.size] = getent("cargo_ship_2","targetname"); + var_02 = getentarray("navy_ship","targetname"); + var_00 = common_scripts\utility::array_combine(var_00,var_02); + var_02 = getentarray("navy_ship_right","targetname"); + var_00 = common_scripts\utility::array_combine(var_00,var_02); + foreach(var_04 in var_00) + { + var_04 thread moveboat(); + } + + if(level.nextgen) + { + wait(60); + } + else if(!istransientloaded("sanfran_outro_tr")) + { + level waittill("tff_transition_intro_to_outro"); + } + + foreach(var_04 in var_00) + { + var_04 notify("stop_ship_moving"); + var_04 maps\sanfran_fx::stop_wakefx(); + var_04.origin = var_04.original_org; + var_04.angles = var_04.original_ang; + } + + thread maps\sanfran_util::init_bobbing_boats(); +} + +//Function Number: 8 +moveboat() +{ + maps\sanfran_fx::attach_wakefx(); + position_for_movement(); + if(self.model == "vehicle_atlas_decoy_cargo_ship") + { + thread start_moving_with_bob(); + return; + } + + self moveto(self.original_org,120,0,0); +} + +//Function Number: 9 +start_moving_with_bob() +{ + self endon("stop_ship_moving"); + var_00 = 1; + var_01 = 120; + for(;;) + { + var_02 = randomfloatrange(3,5); + var_03 = self.original_org - self.origin; + var_04 = var_03 / var_01 * var_02; + var_05 = self.origin + var_04; + var_06 = var_00 * randomfloatrange(125,175); + self moveto(var_05 + (0,0,var_06),var_02,0,0); + wait(var_02); + var_00 = var_00 * -1; + var_01 = var_01 - var_02; + } +} + +//Function Number: 10 +intro_ship_icons() +{ + level endon("remove_hud_drone_target"); + var_00 = []; + var_00[var_00.size] = getent("cargo_ship","targetname"); + var_00[var_00.size] = getent("cargo_ship_2","targetname"); + var_01 = getentarray("navy_ship","targetname"); + var_00 = common_scripts\utility::array_combine(var_00,var_01); + var_02 = getent("fake_mob","targetname"); + var_02 vehicle_scripts\_sentinel_survey_drone_hud::create_hud_drone_target(1); + foreach(var_04 in var_00) + { + var_04 vehicle_scripts\_sentinel_survey_drone_hud::create_hud_drone_target(0); + soundscripts\_snd::snd_message("aud_drone_view_intro_target"); + wait(0.25); + } +} + +//Function Number: 11 +position_for_movement() +{ + self.original_org = self.origin; + self.original_ang = self.angles; + var_00 = 0.35; + if(self.model == "vehicle_cvn_carrier") + { + var_00 = 0.75; + } + + if(self.model == "vehicle_atlas_decoy_cargo_ship") + { + var_00 = 0.65; + } + + if(self.model == "vehicle_naval_littoral") + { + var_00 = 0.3; + } + + var_01 = getent(self.target,"targetname"); + var_02 = self.origin - var_01.origin; + var_03 = var_01.origin - var_00 * var_02; + var_04 = vectortoangles(var_02); + self.origin = var_03; + self.angles = var_04; + self moveto(var_01.origin,0.5,0,0); + wait(0.5); +} + +//Function Number: 12 +handle_driving_section(param_00) +{ + if(isdefined(param_00)) + { + maps\_utility::autosave_by_name(); + } + + var_01 = !isdefined(param_00); + common_scripts\utility::flag_set("flag_dialog_start_tunnel"); + soundscripts\_snd::snd_message("setup_audio_zone_tunnel"); + setup_player_pitbull(var_01); + level thread handle_chase_van(); + level thread handle_friendly_pitbull(); + if(!isdefined(param_00) || param_00 == "tunnel") + { + level.player thread flag_construction_enable_pitbull_shooting(); + if(level.nextgen) + { + setsaveddvar("r_umbraAccurateOcclusionThreshold","400"); + } + + thread umbra_override_tunnel(); + } + + level thread start_vehicle_traffic(); + level thread pitbull_update_hud_brightness(); + if(var_01) + { + maps\sanfran_util::make_bridge_big(); + common_scripts\utility::flag_set("flag_dialog_tunnel_chase"); + thread maps\sanfran_util::intro_drive_hint(); + thread pitbull_intro_animation(); + common_scripts\utility::flag_set("start_tunnel_lighting"); + wait(0.05); + level.player lerpfov(65,0.1); + } + else if(param_00 == "oncoming") + { + common_scripts\utility::flag_set("flag_hud_brighten"); + maps\sanfran_util::make_bridge_big(); + } + else if(param_00 == "bridge") + { + common_scripts\utility::flag_set("flag_hud_brighten"); + } + + maps\sanfran_util::toggle_all_boats_off(); + maps\sanfran_util::show_water_final(); + thread maps\_player_exo::player_exo_deactivate(); + level thread handle_atlas_intercepts(); + common_scripts\utility::run_thread_on_targetname("trigger_driving_save",::driving_section_save); + common_scripts\utility::run_thread_on_targetname("trigger_start_crash_bus",::start_crash_bus); + common_scripts\utility::run_thread_on_targetname("trigger_start_construction_heli",::start_construction_heli); + common_scripts\utility::run_thread_on_targetname("trigger_open_gate",::crash_open_gate); + common_scripts\utility::run_thread_on_targetname("trigger_start_tanker",::start_tanker_explosion); + common_scripts\utility::run_thread_on_targetname("trigger_start_blocking_police",::start_blocking_police); + common_scripts\utility::run_thread_on_targetname("trigger_start_knocked_to_oncoming",::start_knocked_to_oncoming); + common_scripts\utility::run_thread_on_targetname("trigger_start_bridge_helicopter",::start_bridge_heli); + common_scripts\utility::run_thread_on_targetname("trigger_start_player_crash",::player_crash); + common_scripts\utility::run_thread_on_targetname("trigger_make_bridge_small",::maps\sanfran_util::trigger_bridge_small); + common_scripts\utility::run_thread_on_targetname("trigger_toggle_on_boats",::maps\sanfran_util::toggle_all_boats_on_trigger); + if(!isdefined(param_00)) + { + common_scripts\utility::flag_wait("flag_pitbull_allow_shooting"); + while(!isdefined(level.atlas_intercepts)) + { + wait(0.5); + } + + maps\sanfran_util::enable_pitbull_shooting(); + level.player_pitbull waittill("set_new_target"); + wait(1); + level thread maps\sanfran_util::intro_shoot_hint(); + common_scripts\utility::flag_set("flag_player_can_fire"); + common_scripts\utility::flag_wait("flag_player_has_shot_pitbull"); + wait(1); + } +} + +//Function Number: 13 +pitbull_update_hud_brightness() +{ + common_scripts\utility::flag_wait("flag_hud_brighten"); + level.player_pitbull.fake_vehicle_model setmaterialscriptparam(0.25,0.5); + level.friendly_pitbull thread maps\_vehicle::vehicle_lights_off("brakelights"); + level.chase_van thread maps\_vehicle::vehicle_lights_off("brakelights"); +} + +//Function Number: 14 +pitbull_play_lui_cinematic() +{ + setsaveddvar("cg_cinematicFullScreen","0"); + cinematicingame("sanfran_dronefeed",0,1,1); +} + +//Function Number: 15 +pitbull_intro_animation() +{ + waittillframeend; + thread pitbull_play_lui_cinematic(); + level thread intro_view_traffic(); + maps\sanfran_util::setup_squad_for_scene(); + thread pitbull_intro_control_rumble(); + level.player_pitbull maps\_utility::ent_flag_set("pitbull_scripted_anim"); + level.player_pitbull maps\sanfran_pitbull_drive_anim::clear_anims(); + level.player_pitbull maps\sanfran_pitbull::disconnect_fake_pitbull(); + var_00 = level.player_pitbull.player_rig; + var_01 = level.player_pitbull.fake_vehicle_model; + var_02 = []; + var_02[0] = var_00; + var_02[1] = level.burke; + level.burke notify("animontagdone","end"); + level.burke notify("pitbull_get_out"); + level.burke maps\_utility::anim_stopanimscripted(); + var_01 maps\_anim::anim_first_frame_solo(var_01,"pitbull_intro"); + var_01 maps\_anim::anim_first_frame_solo(var_00,"pitbull_intro","tag_body"); + var_00 linkto(var_01,"tag_body"); + thread maps\sanfran_pitbull::show_video_on_driverside(); + level.player dontinterpolate(); + level.player playerlinktodelta(var_00,"tag_player",1,10,10,5,5,1); + level.player enableslowaim(); + level.player thread remove_camera_view_angles(var_00 maps\_utility::getanim("pitbull_intro"),0.5,0.1); + level thread anim_van_intro(var_01); + var_01 thread maps\_anim::anim_single_solo(var_01,"pitbull_intro"); + var_01 maps\_anim::anim_single(var_02,"pitbull_intro","tag_body"); + var_03 = maps\_vehicle_aianim::anim_pos(level.player_pitbull,1); + var_01 thread maps\sanfran_pitbull::passenger_idle(level.burke,var_03); + level.player disableslowaim(); + level.player_pitbull maps\sanfran_pitbull::reconnect_fake_pitbull(); + level.chase_van.lead_pos = "far"; + level.player_pitbull.attachedpath = undefined; + level.player_pitbull notify("newpath"); + level.player_pitbull returnplayercontrol(); + level.player playerlinkedvehicleanglesenable(); + common_scripts\utility::flag_set("flag_intro_give_player_driving"); + soundscripts\_snd::snd_message("intro_give_player_driving"); + level.player_pitbull maps\_utility::ent_flag_clear("pitbull_scripted_anim"); + maps\sanfran_util::setup_squad_for_gameplay(); + if(level.nextgen) + { + maps\_utility::autosave_by_name(); + } + else + { + maps\_utility::autosave_now(); + } + + thread start_reverse_hint(); + thread vehicle_blocked_check(); +} + +//Function Number: 16 +pitbull_intro_control_rumble() +{ + level endon("flag_intro_give_player_driving"); + var_00 = maps\_utility::get_rumble_ent("steady_rumble"); + var_00.intensity = 0.09; + var_00 common_scripts\utility::delaycall(11.25,::stoprumble,"steady_rumble"); + level.player common_scripts\utility::delaycall(11.75,::playrumbleonentity,"heavy_1s"); + wait(13); + var_00 delete(); +} + +//Function Number: 17 +remove_camera_view_angles(param_00,param_01,param_02) +{ + self endon("death"); + var_03 = getanimlength(param_00); + var_04 = var_03 - param_01 + param_02; + if(var_04 > 0) + { + wait(var_04); + } + + self lerpviewangleclamp(param_01,0.2,0.2,0,0,0,0); +} + +//Function Number: 18 +intro_view_traffic() +{ + level endon("flag_intro_give_player_driving"); + wait(2); + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("fake_traffic_intro_truck"); + level thread maps\_vehicle_traffic::add_script_car(var_00); + var_00 thread delete_vehicle_outof_view(); + var_00 thread maps\_vehicle::vehicle_lights_on("brakelights"); + var_00 thread maps\sanfran_lighting::setup_car_passing_lights(); + wait(4); + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("fake_traffic_intro_bus"); + var_00 thread maps\_vehicle::vehicle_lights_on("brakelights"); + var_00 thread maps\sanfran_lighting::setup_car_passing_lights(); + level thread maps\_vehicle_traffic::add_script_car(var_00); + var_00 thread delete_vehicle_outof_view(); + wait(4); + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("fake_traffic_intro_van"); + var_00 thread maps\_vehicle::vehicle_lights_on("brakelights"); + var_00 thread maps\sanfran_lighting::setup_car_passing_lights(); + level thread maps\_vehicle_traffic::add_script_car(var_00); + var_00 thread delete_vehicle_outof_view(); +} + +//Function Number: 19 +umbra_override_tunnel() +{ + common_scripts\utility::flag_wait("flag_hud_brighten"); + if(level.nextgen) + { + setsaveddvar("r_umbraAccurateOcclusionThreshold","256"); + } +} + +//Function Number: 20 +use_turn_signal(param_00,param_01) +{ + self endon("death"); + var_02 = []; + if(param_00 == "left") + { + var_02 = ["taillight_left","mirrorlight_left","frontsignal_left"]; + } + else if(param_00 == "right") + { + var_02 = ["taillight_right","mirrorlight_right","frontsignal_right"]; + } + + while(param_01 > 0) + { + foreach(var_04 in var_02) + { + maps\_vehicle::vehicle_single_light_on(var_04); + } + + wait(0.35); + param_01 = param_01 - 0.35; + foreach(var_04 in var_02) + { + maps\_vehicle::vehicle_single_light_off(var_04); + } + + wait(0.5); + param_01 = param_01 - 0.5; + } +} + +//Function Number: 21 +delete_vehicle_outof_view() +{ + level waittill("flag_intro_give_player_driving"); + for(;;) + { + if(!maps\sanfran_util::player_can_see(self.origin,125)) + { + self delete(); + break; + } + + wait(0.05); + } +} + +//Function Number: 22 +anim_van_intro(param_00) +{ + var_01 = spawn("script_model",level.chase_van.origin); + var_01 setmodel("vehicle_ind_van_utility_ai"); + var_01.animname = "atlas_van"; + var_01 useanimtree(#animtree); + var_01 thread wakeup_physics_sphere_on_ent(195); + var_01 thread maps\sanfran_lighting::setup_car_passing_lights(); + param_00 maps\_anim::anim_first_frame_solo(var_01,"pitbull_intro","tag_turret"); + var_01 linkto(param_00,"tag_turret"); + param_00 soundscripts\_snd::snd_message("chase_van_rabbiting_anim"); + param_00 maps\_anim::anim_single_solo(var_01,"pitbull_intro","tag_turret"); + level.chase_van vehicle_teleport(var_01.origin,level.chase_van.angles); + var_02 = getvehiclenode("van_anim_start_drive","targetname"); + level.chase_van thread maps\_vehicle_code::_vehicle_paths(var_02); + level.chase_van startpath(var_02); + var_01 unlink(); + var_01 delete(); + common_scripts\utility::flag_set("flag_intro_van_anim_finished"); +} + +//Function Number: 23 +wakeup_physics_sphere_on_ent(param_00) +{ + self endon("death"); + if(self.code_classname == "script_model") + { + var_01 = 1; + var_02 = self setcontents(0); + self setcontents(var_02 | var_01); + } + + for(;;) + { + wakeupphysicssphere(self.origin,param_00); + wait 0.05; + } +} + +//Function Number: 24 +start_vehicle_traffic() +{ + wait(0.25); + var_00 = getent("player_start_pos","targetname"); + thread maps\_vehicle_traffic::setup_traffic_path("road_path","bridge_damageable_vehicle_spawner",1,var_00); + thread maps\_vehicle_traffic::setup_traffic_path("road_path_flood","bridge_damageable_vehicle_spawner",1,var_00); + thread maps\_vehicle_traffic::setup_traffic_path("bridge_path","bridge_damageable_vehicle_spawner",1,var_00); + thread maps\_vehicle_traffic::setup_traffic_path("bridge_path_split","bridge_damageable_vehicle_spawner",1,var_00); + thread maps\_vehicle_traffic::setup_traffic_path("road_onramp","bridge_damageable_vehicle_spawner",1,var_00); +} + +//Function Number: 25 +setup_player_pitbull(param_00) +{ + if(!isdefined(level.player_pitbull)) + { + level.player_pitbull = maps\_vehicle::spawn_vehicle_from_targetname("player_pitbull"); + thread maps\_vehicle_traffic::add_script_car(level.player_pitbull); + } + + level.player_pitbull soundscripts\_snd::snd_message("pc_pitbull_spawn"); + level.player unlink(); + level.player_pitbull thread maps\sanfran_aud::player_pitbull_woosh_sounds(); + level.player_pitbull thread maps\sanfran_pitbull::handle_player_pitbull("player_rig"); + level.player_pitbull thread mount_pitbull(param_00); + level.player_pitbull thread pitbull_flipped_failsafe(); + level.player_pitbull maps\_utility::ent_flag_clear("pitbull_allow_shooting"); + setsaveddvar("bg_viewBobMax",0); + maps\sanfran_util::spawn_squad(); + level.player_pitbull maps\sanfran_pitbull::add_passenger_to_player_pitbull(level.burke,1); + level.player_pitbull maps\sanfran_pitbull::add_passenger_to_player_pitbull(level.saint,2); + level.player_pitbull thread maps\sanfran_fx::vfx_car_radial_damage(); +} + +//Function Number: 26 +flag_construction_enable_pitbull_shooting() +{ + self endon("death"); + self endon("flag_pitbull_allow_shooting"); + common_scripts\utility::flag_wait("flag_pitbull_allow_firing"); + common_scripts\utility::flag_set("flag_pitbull_allow_shooting"); +} + +//Function Number: 27 +disable_pitbull_use() +{ + wait(0.25); + level.player_pitbull makeunusable(); +} + +//Function Number: 28 +mount_pitbull(param_00) +{ + waittillframeend; + self notify("mount_pitbull",param_00); +} + +//Function Number: 29 +pitbull_flipped_failsafe() +{ + self endon("death"); + self endon("dismount_pitbull"); + var_00 = 0; + for(;;) + { + if(!isdefined(level.player.drivingvehicle) || level.player.drivingvehicle != self) + { + var_00 = 0; + wait(0.2); + continue; + } + + if(maps\_utility::ent_flag("pitbull_scripted_anim")) + { + var_00 = 0; + maps\_utility::ent_flag_waitopen("pitbull_scripted_anim"); + wait(0.2); + continue; + } + + var_01 = anglestoup(self.angles); + var_02 = vectordot(var_01,(0,0,1)); + if(var_02 < 0.1) + { + var_00 = var_00 + 0.2; + } + else + { + var_00 = 0; + } + + if(var_00 >= 2) + { + setdvar("ui_deadquote",&"SANFRAN_FAIL_CHASE"); + maps\_utility::missionfailedwrapper(); + } + + wait(0.2); + } +} + +//Function Number: 30 +handle_chase_van() +{ + var_00 = 0; + if(!isdefined(level.chase_van)) + { + level.chase_van = maps\_vehicle::spawn_vehicle_from_targetname("chase_van"); + thread maps\_vehicle_traffic::add_script_car(level.chase_van); + level.chase_van thread maps\_vehicle::vehicle_lights_on("brakelights"); + var_00 = 1; + } + + level.chase_van endon("death"); + level.chase_van maps\_vehicle::godon(); + level.chase_van vehphys_disablecrashing(); + if(var_00 == 1) + { + common_scripts\utility::flag_wait("flag_intro_van_anim_finished"); + } + + common_scripts\utility::flag_set("flag_obj_van_intercept"); + level.chase_van thread fail_chase_van(); + if(!isdefined(level.chase_van.lead_pos)) + { + level.chase_van.lead_pos = "far"; + } + + var_01 = undefined; + common_scripts\utility::run_thread_on_targetname("trigger_chase_van_set_far",::maps\sanfran_util::chase_van_set_far); + common_scripts\utility::run_thread_on_targetname("trigger_chase_van_set_medium",::maps\sanfran_util::chase_van_set_medium); + common_scripts\utility::run_thread_on_targetname("trigger_chase_van_set_close",::maps\sanfran_util::chase_van_set_close); + if(!common_scripts\utility::flag("flag_intro_give_player_driving")) + { + common_scripts\utility::flag_wait("flag_intro_give_player_driving"); + level.chase_van vehicle_setspeed(55,100,100); + } + + for(;;) + { + if(common_scripts\utility::flag("flag_player_crashed")) + { + break; + } + + if(!isdefined(var_01) || var_01 != level.chase_van.lead_pos) + { + var_01 = level.chase_van.lead_pos; + if(var_01 == "close") + { + level.chase_van thread maps\sanfran_util::vehicle_chase_target(level.player_pitbull,1280,1536,5,5,1,0,0,0,35); + } + else if(var_01 == "medium") + { + level.chase_van thread maps\sanfran_util::vehicle_chase_target(level.player_pitbull,2176,2688,5,5,1,0,0,0,35); + } + else if(var_01 == "far") + { + level.chase_van thread maps\sanfran_util::vehicle_chase_target(level.player_pitbull,3328,3584,5,5,1,0,0,0,35); + } + else + { + } + } + + wait(0.05); + } + + level.chase_van notify("stop_chase_target"); + level.chase_van resumespeed(30); +} + +//Function Number: 31 +start_reverse_hint() +{ + level endon("player_crash_scene"); + level endon("display_reverse_tutorial"); + for(;;) + { + if((isdefined(level.chase_van) && !common_scripts\utility::flag("flag_oncoming_scene_playing") && !common_scripts\utility::flag("flag_final_crash_scene_playing")) || !common_scripts\utility::flag("missionfailed")) + { + var_00 = level.player maps\_utility::player_looking_at(level.chase_van.origin,0.4,1); + if(!var_00) + { + thread show_reverse_tutorial(); + break; + } + } + + wait(0.15); + } +} + +//Function Number: 32 +show_reverse_tutorial() +{ + level notify("display_reverse_tutorial"); + while(level.player_pitbull.veh_speed > 10) + { + wait 0.05; + } + + common_scripts\utility::flag_set("flag_reverse_hint_displayed"); + thread maps\_utility::hintdisplayhandler("reverse_hint",5); +} + +//Function Number: 33 +show_reverse_tutorial_check() +{ + if(!isdefined(level.player_pitbull)) + { + return 1; + } + + if(level.player_pitbull.veh_speed > 30 || common_scripts\utility::flag("flag_oncoming_scene_playing") || common_scripts\utility::flag("flag_final_crash_scene_playing")) + { + common_scripts\utility::flag_clear("flag_reverse_hint_displayed"); + return 1; + } + + return 0; +} + +//Function Number: 34 +vehicle_blocked_check() +{ + level endon("player_crash_scene"); + level endon("display_reverse_tutorial"); + for(;;) + { + var_00 = level.player_pitbull vehicle_getspeed(); + if(var_00 < 2) + { + wait(0.8); + if(!common_scripts\utility::flag("flag_oncoming_scene_playing") || !common_scripts\utility::flag("flag_final_crash_scene_playing") || !common_scripts\utility::flag("missionfailed")) + { + var_01 = 250; + var_02 = level.player_pitbull gettagorigin("left_wheel_01_jnt"); + var_03 = common_scripts\utility::flat_angle(level.player_pitbull gettagangles("left_wheel_01_jnt")); + var_02 = var_02 + anglestoforward(var_03) * 30; + var_02 = (var_02[0],var_02[1] + 45,var_02[2] + 25); + var_04 = var_02 + anglestoforward(var_03) * var_01; + var_05 = bullettrace(var_02,var_04,0,0,0,0,1); + if(isdefined(var_05["surfacetype"]) && var_05["surfacetype"] != "none") + { + thread show_reverse_tutorial(); + break; + } + } + } + + wait 0.05; + } +} + +//Function Number: 35 +driving_section_save() +{ + self waittill("trigger"); + var_00 = 0; + while(var_00 < 5) + { + var_01 = level.player maps\_utility::player_looking_at(level.chase_van.origin,0.15,1); + if(level.player_close_to_fail_dist == 0 && var_01 == 1) + { + for(var_02 = 0;var_02 < level.players.size;var_02++) + { + var_03 = level.players[var_02]; + if(!var_03 maps\_autosave::autosavehealthcheck()) + { + break; + } + + maps\_utility::autosave_now(); + } + + break; + } + + wait(0.15); + var_00 = var_00 + 0.15; + } +} + +//Function Number: 36 +fail_chase_van() +{ + level endon("flag_player_crashed"); + common_scripts\utility::run_thread_on_targetname("trigger_leaving_driving_section",::fail_leaving_area); + level.player_close_to_fail_dist = 0; + wait(1); + for(;;) + { + var_00 = distance(level.player.origin,self.origin); + if(var_00 > 6000) + { + setdvar("ui_deadquote",&"SANFRAN_FAIL_CHASE"); + maps\_utility::missionfailedwrapper(); + } + else if(var_00 > 4500 && !common_scripts\utility::flag("flag_reverse_hint_displayed")) + { + maps\sanfran_util::player_too_far_hint(); + level.player_close_to_fail_dist = 1; + } + else + { + common_scripts\utility::flag_clear("flag_hint_player_too_far"); + level.player_close_to_fail_dist = 0; + } + + wait(0.15); + } +} + +//Function Number: 37 +fail_leaving_area() +{ + if(!isdefined(level.player_out_of_bounds_count)) + { + level.player_out_of_bounds_count = 0; + } + + level endon("flag_player_crashed"); + for(;;) + { + self waittill("trigger"); + level.player_out_of_bounds_count++; + if(level.player_out_of_bounds_count == 1) + { + level.fail_start_time = gettime(); + } + + maps\sanfran_util::player_left_road_hint(); + while(level.player istouching(self)) + { + var_00 = gettime(); + var_01 = var_00 - level.fail_start_time; + wait(0.05); + } + + wait(0.05); + level.player_out_of_bounds_count--; + if(level.player_out_of_bounds_count == 0) + { + common_scripts\utility::flag_clear("flag_hint_player_left_road"); + } + } +} + +//Function Number: 38 +handle_friendly_pitbull() +{ + var_00 = 0; + if(!isdefined(level.friendly_pitbull)) + { + level.friendly_pitbull = maps\_vehicle::spawn_vehicle_from_targetname("friendly_pitbull"); + thread maps\_vehicle_traffic::add_script_car(level.friendly_pitbull); + level.friendly_pitbull thread maps\_vehicle::vehicle_lights_on("brakelights"); + var_00 = 1; + } + + level.friendly_pitbull endon("death"); + level.friendly_pitbull maps\_vehicle::godon(); + level.friendly_pitbull vehphys_disablecrashing(); + if(var_00 == 1) + { + common_scripts\utility::flag_wait("flag_intro_van_anim_finished"); + level.friendly_pitbull startpath(); + } + + if(!isdefined(level.friendly_pitbull.shadow_pos)) + { + level.friendly_pitbull.shadow_pos = "player"; + } + + var_01 = undefined; + common_scripts\utility::run_thread_on_targetname("trigger_pitbull_shadow_chase_van",::maps\sanfran_util::friendly_pitbull_shadow_chase_van); + common_scripts\utility::run_thread_on_targetname("trigger_pitbull_shadow_player",::maps\sanfran_util::friendly_pitbull_shadow_player); + level.friendly_pitbull thread maps\sanfran_pitbull::handle_friendly_pitbull_shooting(); + level.friendly_pitbull thread maps\sanfran_util::vehicle_oscillate_location(1024,3); + for(;;) + { + if(common_scripts\utility::flag("flag_player_crashed")) + { + break; + } + + if(!isdefined(var_01) || var_01 != level.friendly_pitbull.shadow_pos) + { + var_01 = level.friendly_pitbull.shadow_pos; + if(var_01 == "van") + { + level.friendly_pitbull thread maps\sanfran_util::vehicle_chase_target(level.chase_van,768,1024,5,5,0,1,1,0); + } + else if(var_01 == "player") + { + level.friendly_pitbull thread maps\sanfran_util::vehicle_chase_target(level.player_pitbull,768,1024,5,5,1,0,1,0); + } + else + { + } + } + + wait(0.05); + } + + level.friendly_pitbull notify("stop_chase_target"); + level.friendly_pitbull resumespeed(30); +} + +//Function Number: 39 +handle_atlas_intercepts() +{ + level endon("flag_player_crashed"); + common_scripts\utility::run_thread_on_targetname("trigger_spawn_atlas_intercept",::spawn_atlas_intercept); + if(!isdefined(level.atlas_intercepts)) + { + level.atlas_intercepts = []; + } + + for(;;) + { + level.atlas_intercepts = maps\_utility::array_removedead(level.atlas_intercepts); + wait(0.05); + } +} + +//Function Number: 40 +delete_atlas_intercepts() +{ + foreach(var_01 in level.atlas_intercepts) + { + var_01 delete(); + } +} + +//Function Number: 41 +spawn_atlas_intercept() +{ + level endon("flag_player_crashed"); + self waittill("trigger"); + for(var_00 = 0;var_00 < level.atlas_intercepts.size;var_00++) + { + if(level.atlas_intercepts[var_00].targetname == self.script_noteworthy) + { + return; + } + } + + var_01 = getent(self.target,"targetname"); + if(maps\sanfran_util::player_can_see(var_01.origin,45)) + { + return; + } + + var_02 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive(var_01.targetname); + thread maps\_vehicle_traffic::add_script_car(var_02); + var_02.script_noteworthy = "target_vehicle"; + var_02.targetname = self.script_noteworthy; + foreach(var_04 in var_02.riders) + { + var_04.accuracy = 200; + } + + var_02 thread cleanup_atlas_on_death(); + level.atlas_intercepts[level.atlas_intercepts.size] = var_02; + var_06 = randomint(100); + if(var_02.targetname == "right_atlas_intercept") + { + if(var_06 < 50) + { + var_02 thread maps\sanfran_util::vehicle_chase_target(level.chase_van,512,768,5,5,0,1,1,1); + } + else + { + var_02 thread maps\sanfran_util::vehicle_chase_target(level.friendly_pitbull,256,384,5,5,0,1,1,1); + } + } + else if(level.chase_van.lead_pos == "close") + { + if(var_06 < 10) + { + var_02 thread maps\sanfran_util::vehicle_chase_target(level.chase_van,512,768,5,5,0,1,1,1); + } + else if(var_06 < 55) + { + var_02 thread maps\sanfran_util::vehicle_chase_target(level.friendly_pitbull,256,384,5,5,0,1,1,1); + } + else + { + var_02 thread maps\sanfran_util::vehicle_chase_target(level.player_pitbull,1024,1280,5,5,1,0,1,1); + } + } + else if(var_06 < 50) + { + var_02 thread maps\sanfran_util::vehicle_chase_target(level.friendly_pitbull,256,384,5,5,0,1,1,1); + } + else + { + var_02 thread maps\sanfran_util::vehicle_chase_target(level.player_pitbull,1024,1280,5,5,1,0,1,1); + } + + var_02 thread maps\_vehicle_traffic::detect_being_pushed(::delete_atlas_intercept); + if(isdefined(var_01.script_noteworthy) && var_01.script_noteworthy == "crash_at_end") + { + wakeupphysicssphere(var_01.origin,195); + var_02 thread maps\sanfran_util::wait_for_crash_at_end(); + } + + common_scripts\utility::flag_wait("flag_player_crashed"); + self notify("stop_chase_target"); + self resumespeed(30); +} + +//Function Number: 42 +delete_atlas_intercept() +{ + self dodamage(1000000000,self.origin); +} + +//Function Number: 43 +cleanup_atlas_on_death() +{ + self waittill("death",var_00,var_01,var_02); + if(isdefined(var_02) && var_02 == "pitbull_turret" && isdefined(level.player_pitbull)) + { + level.player maps\_upgrade_challenge::give_player_challenge_kill(1); + } + + common_scripts\utility::array_remove(level.atlas_intercepts,self); + wait(5); + if(isdefined(self)) + { + self delete(); + } +} + +//Function Number: 44 +start_crash_bus() +{ + self waittill("trigger"); + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("veh_crash_bus"); + var_00 maps\_vehicle::godon(); + thread maps\_vehicle_traffic::add_script_car(var_00); + thread maps\_vehicle_traffic::clear_cars_around_pos(var_00.origin,2000); + var_00 vehphys_disablecrashing(); + var_00 thread bus_crash_at_end(); + level thread maps\sanfran_util::get_vehicles_to_point_at_same_time(level.chase_van,"bus_crash_location",var_00,undefined,"stop_bus_syncup"); +} + +//Function Number: 45 +bus_crash_at_end() +{ + self waittill("reached_end_node"); + level notify("stop_bus_syncup"); + self vehphys_setspeed(0,10000,10000); + self.animname = "bus"; + self useanimtree(#animtree); + maps\_utility::anim_stopanimscripted(); + soundscripts\_snd::snd_message("bus_crash_start"); + common_scripts\utility::flag_set("flag_dialog_tunnel_bus"); + thread bus_crash_setup_backup_collision(); + thread bus_crash_hold_on_last_frame(); + var_00 = getent("bus_crash_origin","targetname"); + var_00 maps\_anim::anim_single_solo(self,"bus_crash"); + thread maps\_vehicle_traffic::remove_script_car(self); + maps\_vehicle::godoff(); +} + +//Function Number: 46 +bus_crash_setup_backup_collision() +{ + var_00 = getanimlength(maps\_utility::getanim("bus_crash")) - 1; + wait(var_00); + maps\sanfran_util::show_ents_by_targetname("bus_crash_final_pos_col"); + maps\sanfran_util::solid_ents_by_targetname("bus_crash_final_pos_col"); +} + +//Function Number: 47 +bus_crash_hold_on_last_frame() +{ + wait(getanimlength(maps\_utility::getanim("bus_crash")) - 0.1); + self setanimrate(maps\_utility::getanim("bus_crash"),0); +} + +//Function Number: 48 +start_construction_heli() +{ + self waittill("trigger"); + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("construction_heli"); + var_00 waittill("heli_at_construction"); + var_00 thread maps\sanfran_util::vehicle_chase_target(level.player_pitbull,2800,3000,0,0,1,0,0,0); + common_scripts\utility::run_thread_on_targetname("trigger_heli_start_shooting",::construction_heli_shoot,var_00); + var_00 waittill("heli_at_tanker"); + var_00 notify("stop_chase_target"); + var_00 resumespeed(80); +} + +//Function Number: 49 +construction_heli_shoot(param_00) +{ + self waittill("trigger"); + var_01 = []; + var_02 = 1; + for(;;) + { + var_03 = getent("heli_construction_target_" + var_02,"targetname"); + if(!isdefined(var_03)) + { + break; + } + + var_01[var_01.size] = var_03; + var_02++; + } + + var_04 = magicbullet("pitbull_magicbullet",param_00.origin + (0,0,-150),var_01[0].origin); + var_04 soundscripts\_snd::snd_message("npc_heli_shot",param_00); + wait(1); + var_04 = magicbullet("pitbull_magicbullet",param_00.origin + (0,0,-150),var_01[1].origin); + var_04 soundscripts\_snd::snd_message("npc_heli_shot",param_00); + wait(1); + var_04 = magicbullet("pitbull_magicbullet",param_00.origin + (0,0,-150),var_01[2].origin); + var_04 soundscripts\_snd::snd_message("npc_heli_shot",param_00); +} + +//Function Number: 50 +crash_open_gate() +{ + self waittill("trigger",var_00); + soundscripts\_snd::snd_message("gate_crash"); + common_scripts\utility::run_thread_on_targetname("construction_gate_left",::crash_open_left_gate); + common_scripts\utility::run_thread_on_targetname("construction_gate_right",::crash_open_right_gate); + thread maps\sanfran_fx::vfx_gate_crash_open(); + common_scripts\utility::run_thread_on_targetname("trigger_water_splash",::water_splash); +} + +//Function Number: 51 +crash_open_left_gate() +{ + var_00 = self.angles; + var_01 = (var_00[0],var_00[1] + 80,var_00[2]); + self rotateto(var_01,0.4,0,0.1); +} + +//Function Number: 52 +crash_open_right_gate() +{ + var_00 = self.angles; + var_01 = (var_00[0],var_00[1] - 100,var_00[2]); + self rotateto(var_01,0.4,0,0.1); +} + +//Function Number: 53 +water_splash() +{ + for(;;) + { + self waittill("trigger",var_00); + if(!isdefined(var_00.splashing_water)) + { + var_00.splashing_water = 0; + } + + if(var_00.splashing_water == 0) + { + var_00 thread vehicle_splash_water(self); + } + } +} + +//Function Number: 54 +vehicle_splash_water(param_00) +{ + self endon("death"); + self.splashing_water = 1; + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 thread splash_pos_for_speed(self); + for(;;) + { + wait(0.25); + if(!var_01 istouching(param_00)) + { + break; + } + } + + self.splashing_water = 0; + var_01 unlink(); + var_01 delete(); +} + +//Function Number: 55 +splash_pos_for_speed(param_00) +{ + self endon("death"); + param_00 endon("death"); + for(;;) + { + self unlink(); + var_01 = vectornormalize(param_00 vehicle_getvelocity()); + var_02 = vectornormalize(anglestoforward(param_00.angles)); + var_03 = vectordot(var_01,var_02); + var_04 = param_00 vehicle_getspeed(); + var_05 = var_04 / 70 * 450 + 200; + if(var_05 > 0.2) + { + if(var_03 > 0) + { + var_06 = param_00.origin + var_05 * anglestoforward(self.angles); + } + else + { + var_06 = param_00.origin - var_05 * anglestoforward(self.angles); + } + } + else + { + var_06 = param_00.origin + (0,0,-1000); + } + + self.origin = var_06; + self linkto(param_00); + wait(0.05); + } +} + +//Function Number: 56 +start_tanker_explosion() +{ + self waittill("trigger"); + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive(self.target); + var_01 = getent("crash_truck_cab_brushmodel","targetname"); + var_02 = getent("crash_truck_tank_brushmodel","targetname"); + var_01 store_offsets_for_link(var_00,"tag_headlight_right"); + var_02 store_offsets_for_link(var_00,"tag_brakelight_right"); + var_01 link_with_stored_offsets(var_00); + var_02 link_with_stored_offsets(var_00); + level thread start_tanker_on_ramp_traffic(); + level thread handle_tanker_missiles(var_00); + level thread maps\sanfran_util::get_vehicles_to_point_at_same_time(level.chase_van,"tanker_missile_location",var_00,"tanker_missile_location"); + if(level.currentgen) + { + level waittill("tff_pre_transition_intro_to_outro"); + var_02 delete(); + var_01 delete(); + } +} + +//Function Number: 57 +store_offsets_for_link(param_00,param_01) +{ + self.link_tag = param_01; + self.link_offset = transformmove((0,0,0),(0,0,0),param_00 gettagorigin(param_01),param_00 gettagangles(param_01),self.origin,self.angles); +} + +//Function Number: 58 +link_with_stored_offsets(param_00) +{ + self linkto(param_00,self.link_tag,self.link_offset["origin"],self.link_offset["angles"]); +} + +//Function Number: 59 +handle_tanker_missiles(param_00) +{ + level.chase_van thread fire_first_tanker_missile(param_00); + param_00 thread wait_for_missile(); +} + +//Function Number: 60 +fire_first_tanker_missile(param_00) +{ + self waittill("tanker_first_missile_location"); + var_01 = self.origin + (0,0,100) + 100 * anglestoright(self.angles); + var_02 = param_00.origin + (0,0,100) + -300 * anglestoforward(param_00.angles); + magicbullet("rpg_nodamage",var_01,var_02); +} + +//Function Number: 61 +wait_for_missile() +{ + self waittill("tanker_missile_location"); + wait(0.05); + self resumespeed(20); + var_00 = 50; + for(;;) + { + var_01 = level.chase_van.origin + (0,0,var_00) + 100 * anglestoright(level.chase_van.angles); + var_02 = self.origin + (0,0,64) + 400 * anglestoforward(self.angles); + var_03 = bullettrace(var_01,var_02,1); + if(!isdefined(var_03["entity"]) && var_03["fraction"] > 0.9) + { + break; + } + + var_00 = var_00 + 5; + if(var_00 > 100) + { + break; + } + } + + magicbullet("rpg_nodamage",var_01,var_02); + wait(1); + level thread tanker_roll_explosion(self); +} + +//Function Number: 62 +tanker_roll_explosion(param_00) +{ + common_scripts\utility::flag_set("flag_dialog_tunnel_tanker"); + var_01 = getent("tanker_crash_origin","targetname"); + var_02 = distance(param_00.origin,var_01.origin); + for(;;) + { + wait(0.05); + var_03 = distance(param_00.origin,var_01.origin); + if(var_03 > var_02) + { + break; + } + + var_02 = var_03; + } + + var_04 = spawn("script_model",(0,0,0)); + var_04 setmodel("vehicle_ind_semi_truck_fuel_tanker"); + var_04.animname = "tanker"; + var_04 useanimtree(#animtree); + var_04.origin = param_00.origin; + var_04.angles = param_00.angles; + var_05 = getent("crash_truck_cab_brushmodel","targetname"); + var_06 = getent("crash_truck_tank_brushmodel","targetname"); + var_05 link_with_stored_offsets(var_04); + var_06 link_with_stored_offsets(var_04); + param_00 delete(); + var_04 soundscripts\_snd::snd_message("aud_tanker_crash"); + var_04 thread maps\sanfran_fx::oil_tanker_crash_fx(); + var_01 maps\_anim::anim_single_solo(var_04,"tanker_crash"); +} + +//Function Number: 63 +start_tanker_on_ramp_traffic() +{ + wait(3); + maps\_vehicle_traffic::spawn_single_vehicle_for_lane("road_onramp_1","bridge_damageable_vehicle_spawner"); + wait(3); + maps\_vehicle_traffic::spawn_single_vehicle_for_lane("road_onramp_1","bridge_damageable_vehicle_spawner"); + wait(3); + maps\_vehicle_traffic::spawn_single_vehicle_for_lane("road_onramp_1","bridge_damageable_vehicle_spawner"); +} + +//Function Number: 64 +start_blocking_police() +{ + self waittill("trigger"); + var_00 = getent("police_blocking_collision","targetname"); + var_00 notsolid(); + var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive(self.target); + var_01 waittill("reached_end_node"); + var_01 vehphys_setspeed(0); + var_02 = spawn("script_model",var_01.origin); + var_02 setmodel(var_01.model); + var_02.origin = var_01.origin; + var_02.angles = var_01.angles; + var_02 soundscripts\_snd::snd_message("spawn_driving_police_car"); + var_01 delete(); + var_00 solid(); +} + +//Function Number: 65 +start_knocked_to_oncoming() +{ + self waittill("trigger"); + common_scripts\utility::flag_set("flag_dialog_pre_oncoming_knocked"); + wait(0.4); + level.player_pitbull maps\_utility::ent_flag_set("pitbull_scripted_anim"); + level.player_pitbull maps\_utility::ent_flag_clear("pitbull_allow_shooting"); + level.player_pitbull maps\sanfran_pitbull_drive_anim::clear_anims(); + level.player enabledeathshield(1); + var_00 = getent("knocked_to_oncoming_origin","targetname"); + thread knocked_to_oncoming_rumble(); + var_01 = level.player_pitbull.player_rig; + var_02 = level.player_pitbull.fake_vehicle_model; + var_03 = []; + var_03[0] = var_01; + soundscripts\_snd::snd_message("van_cuts_off_player"); + thread maps\_vehicle_traffic::clear_cars_around_pos(var_00.origin,200); + foreach(var_05 in level.atlas_intercepts) + { + if(distance(level.player_pitbull.origin,var_05.origin) < 200) + { + var_05 delete(); + } + } + + level.player_pitbull vehicle_teleport(var_00.origin,level.player_pitbull.angles); + var_02 = level.player_pitbull maps\sanfran_pitbull::disconnect_fake_pitbull(); + var_07 = maps\_vehicle::spawn_vehicle_from_targetname("atlas_van_knock_to_oncoming"); + var_07.animname = "atlas_suv"; + var_07 useanimtree(#animtree); + var_03 = []; + var_03[0] = var_02; + var_03[1] = var_07; + level.player dontinterpolate(); + var_02 maps\_anim::anim_first_frame_solo(var_02,"oncoming_crash"); + var_02 maps\_anim::anim_first_frame_solo(var_01,"oncoming_crash","tag_driver"); + var_01 linkto(var_02,"tag_driver"); + common_scripts\utility::flag_set("flag_dialog_start_oncoming"); + common_scripts\utility::flag_set("flag_dialog_oncoming_knocked"); + common_scripts\utility::flag_set("flag_oncoming_scene_playing"); + if(level.currentgen) + { + level.player_pitbull notify("oncoming_scene_pitbull_monitor_start"); + thread oncoming_scene_pitbull_speed_monitor(); + } + + var_02 thread maps\_anim::anim_single_solo(var_01,"oncoming_crash","tag_driver"); + var_00 maps\_anim::anim_single(var_03,"oncoming_crash"); + common_scripts\utility::flag_clear("flag_oncoming_scene_playing"); + level.player_pitbull maps\sanfran_pitbull::reconnect_fake_pitbull(); + level.player_pitbull vehicle_setspeedimmediate(55,100,60); + level.player enabledeathshield(0); + if(level.currentgen) + { + level notify("oncoming_scene_pitbull_monitor_stop"); + level.player_pitbull thread maps\sanfran_pitbull::handle_player_pitbull_hud(); + } + + level.player_pitbull maps\_utility::ent_flag_clear("pitbull_scripted_anim"); + level.player_pitbull maps\_utility::ent_flag_set("pitbull_allow_shooting"); + soundscripts\_snd::snd_message("monitor_pitbull_oncoming"); + level thread pitbull_back_to_speed(); + var_07 thread cleanup_oncoming_suv(); + soundscripts\_snd::snd_message("player_in_oncoming"); +} + +//Function Number: 66 +oncoming_scene_pitbull_speed_monitor() +{ + level endon("oncoming_scene_pitbull_monitor_stop"); + var_00 = 0; + for(;;) + { + luinotifyevent(&"pitbull_update_speed",1,level.oncoming_pitbull_speed); + if(var_00 > 10) + { + level.oncoming_pitbull_speed--; + var_00 = 0; + } + + wait 0.05; + var_00++; + } +} + +//Function Number: 67 +knocked_to_oncoming_rumble() +{ + level.player common_scripts\utility::delaycall(0.1,::playrumbleonentity,"heavy_3s"); + level.player common_scripts\utility::delaycall(2.2,::playrumbleonentity,"light_1s"); +} + +//Function Number: 68 +pitbull_back_to_speed() +{ + var_00 = gettime(); + level.player_pitbull vehphys_setspeed(55); + while(gettime() < var_00 + 4000) + { + if(level.player attackbuttonpressed()) + { + break; + } + + if(level.player buttonpressed("BUTTON_B")) + { + break; + } + + level.player_pitbull vehphys_setspeed(55); + wait(0.05); + } +} + +//Function Number: 69 +cleanup_oncoming_suv() +{ + self endon("death"); + wait(20); + for(;;) + { + if(!maps\sanfran_util::player_can_see(self.origin,45)) + { + self delete(); + return; + } + + wait(0.05); + } +} + +//Function Number: 70 +start_bridge_heli() +{ + self waittill("trigger"); + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("bridge_heli"); + for(;;) + { + if(!isdefined(level.chase_van)) + { + break; + } + + var_01 = anglestoforward(var_00.angles); + var_02 = vectornormalize(level.chase_van.origin - var_00.origin); + var_03 = vectordot(var_01,var_02); + if(var_03 < 0) + { + break; + } + + var_04 = distance(var_00.origin,level.chase_van.origin); + if(var_04 < 5000) + { + break; + } + + wait(0.05); + } + + for(var_05 = 0;var_05 < 3;var_05++) + { + var_06 = maps\sanfran_util::get_single_living_ent("right_atlas_intercept","targetname"); + var_07 = (0,0,0); + var_08 = (0,0,0); + if(isdefined(var_06) && var_05 == 0 && distance(var_00.origin,var_06.origin) < 6000) + { + var_07 = 700 * anglestoforward(var_06.angles); + magicbullet("pitbull_magicbullet",var_00.origin + (0,0,-100),var_06.origin + var_07); + } + else + { + if(!isdefined(level.chase_van)) + { + return; + } + + var_07 = randomfloatrange(800,1200) * anglestoforward(level.chase_van.angles); + var_08 = randomfloatrange(200,400) * anglestoright(level.chase_van.angles); + if(randomint(100) < 50) + { + var_08 = -1 * var_08; + } + + magicbullet("pitbull_magicbullet",var_00.origin + (0,0,-100),level.chase_van.origin + var_07 + var_08); + } + + if(var_05 == 0) + { + var_09 = common_scripts\utility::getstruct("bridge_heli_fly_off","targetname"); + var_00 thread maps\_vehicle_code::_vehicle_paths(var_09); + } + + wait(1.5); + } +} + +//Function Number: 71 +player_crash() +{ + self waittill("trigger"); + level notify("player_crash_scene"); + maps\sanfran_util::setup_squad_for_scene(); + level.player_pitbull maps\_utility::ent_flag_set("pitbull_scripted_anim"); + level.player_pitbull maps\_utility::ent_flag_clear("pitbull_allow_shooting"); + level.player_pitbull maps\sanfran_pitbull_drive_anim::clear_anims(); + level.player enabledeathshield(1); + var_00 = getent("org_player_crash_start","targetname"); + var_01 = level.player_pitbull.player_rig; + var_02 = level.player_pitbull.fake_vehicle_model; + thread crash_rumble(); + level.player playerlinktodelta(var_01,"tag_player",1,10,10,5,5,1); + level.player enableslowaim(); + soundscripts\_snd::snd_message("pitbull_crash_sound_design"); + level.player_pitbull vehicle_teleport(var_00.origin,level.player_pitbull.angles); + maps\_vehicle_traffic::clear_cars_around_pos(level.player_pitbull.origin,600,1); + var_02 = level.player_pitbull maps\sanfran_pitbull::disconnect_fake_pitbull(); + var_03 = maps\_vehicle::spawn_vehicle_from_targetname("player_crash_van"); + var_03 maps\_vehicle::godon(); + var_03.animname = "work_van"; + var_03 useanimtree(#animtree); + var_04 = maps\_vehicle::spawn_vehicle_from_targetname("player_crash_suburban"); + var_04 maps\_vehicle::godon(); + var_04.animname = "atlas_suv"; + var_04 useanimtree(#animtree); + var_04 hidepart("TAG_DOOR_GLASS_RIGHT_BACK"); + var_00 maps\_anim::anim_first_frame_solo(var_04,"pitbull_crash"); + var_05 = maps\_utility::array_spawn_targetname("player_crash_atlas_guy"); + for(var_06 = 0;var_06 < var_05.size;var_06++) + { + var_05[var_06].animname = "atlas_" + var_06 + 1; + } + + var_01 unlink(); + level.player_pitbull maps\sanfran_pitbull::remove_passenger_from_player_pitbull(level.burke); + level.burke hide(); + var_07 = []; + var_07[0] = var_01; + var_07[1] = var_02; + var_07[2] = level.burke; + var_07[3] = var_03; + var_07[4] = var_04; + var_07[5] = var_05[0]; + var_07[6] = var_05[1]; + var_07[7] = var_05[2]; + foreach(var_09 in var_07) + { + var_09 dontinterpolate(); + } + + level.player_pitbull thread destroy_windshield(); + var_0B = getent("brush_crash_scene_player_pitbull_collision","targetname"); + var_0B.origin = level.player.origin; + var_0B thread update_bumper_think(); + common_scripts\utility::flag_set("flag_dialog_bridge_crash"); + common_scripts\utility::flag_set("flag_final_crash_scene_playing"); + soundscripts\_snd::snd_message("pc_pitbull_crash"); + var_00 maps\_anim::anim_single(var_07,"pitbull_crash"); + var_07 = []; + var_07[0] = var_01; + var_07[1] = var_02; + common_scripts\utility::flag_set("flag_player_crashed"); + level.chase_van delete(); + delete_atlas_intercepts(); + maps\sanfran_util::show_crash_traffic(); + level.friendly_pitbull delete(); + level notify("stop_traffic"); + level thread start_after_crash_traffic(); + var_03 delete(); + var_04 delete(); + foreach(var_0D in var_05) + { + var_0D delete(); + } + + var_01 maps\_utility::attach_player_current_weapon_to_anim_tag("tag_weapon"); + if(level.currentgen) + { + loadtransient("sanfran_outro_tr"); + } + + level.player playerlinktodelta(var_01,"tag_player",1,10,10,5,5,1); + common_scripts\utility::flag_set("flag_dialog_bridge_crawl"); + level.burke show(); + level thread anim_burke_crawl(var_00); + var_0B delete(); + var_00 maps\_anim::anim_single(var_07,"pitbull_crawl"); + common_scripts\utility::flag_clear("flag_final_crash_scene_playing"); + level.player_pitbull notify("dismount_pitbull"); + get_squad_out_of_pitbull(); + level.player_pitbull delete(); + level.player disableslowaim(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.player enablehybridsight("iw5_bal27_sp_variablereddot",1); + level.player enabledeathshield(0); + maps\sanfran_util::setup_squad_for_gameplay(); + setsaveddvar("bg_viewBobMax",8); + if(level.currentgen) + { + level notify("tff_pre_transition_intro_to_outro"); + unloadtransient("sanfran_intro_tr"); + while(!istransientloaded("sanfran_outro_tr")) + { + wait(0.05); + } + + level notify("tff_transition_intro_to_outro"); + } + + thread handle_fight_section(); + maps\sanfran_util::toggle_all_boats_on(); + level notify("vfx_pitball_crash_end"); +} + +//Function Number: 72 +update_bumper_think() +{ + self endon("death"); + for(;;) + { + var_00 = level.player screenpostoworldpoint((0,0,0),65,100); + self moveto(var_00,0.05); + wait(0.05); + } +} + +//Function Number: 73 +crash_rumble() +{ + level.player common_scripts\utility::delaycall(0.1,::playrumbleonentity,"heavy_1s"); + level.player common_scripts\utility::delaycall(2.2,::playrumbleonentity,"heavy_2s"); + level.player common_scripts\utility::delaycall(4,::playrumbleonentity,"light_2s"); + level.player common_scripts\utility::delaycall(6,::playrumbleonentity,"heavy_3s"); + level.player common_scripts\utility::delaycall(8.8,::playrumbleonentity,"heavy_1s"); +} + +//Function Number: 74 +destroy_windshield() +{ + wait(6.05); + self notify("windshield_state",4); + wait(0.05); + self notify("stop_player_pitbull_damage"); +} + +//Function Number: 75 +pitbull_crash_swap_to_real_model(param_00) +{ + level.player_pitbull.fake_vehicle_model hide(); + maps\sanfran_util::show_ents_by_targetname("pitbull_crash_collision"); + maps\sanfran_util::solid_ents_by_targetname("pitbull_crash_collision"); + var_01 = getent("org_player_crash_start","targetname"); + var_02 = getentarray("pitbull_crash_collision","targetname"); + var_03 = undefined; + foreach(var_05 in var_02) + { + if(var_05.classname == "script_model") + { + var_03 = var_05; + } + } + + var_03.animname = "after_pitbull"; + var_03 useanimtree(#animtree); + var_01 maps\_anim::anim_single_solo(var_03,"pitbull_wreck"); +} + +//Function Number: 76 +anim_burke_crawl(param_00) +{ + maps\_utility::activate_trigger_with_targetname("trigger_move_from_crash"); + level thread maps\sanfran_fx::burke_spit_blood(); + param_00 maps\_anim::anim_single_solo_run(level.burke,"pitbull_crawl"); + common_scripts\utility::flag_set("flag_player_crash_complete"); +} + +//Function Number: 77 +crash_blackout(param_00) +{ + level.crash_overlay = maps\sanfran_util::get_white_overlay(); + level.crash_overlay thread maps\sanfran_util::blackout(0.01,2); + soundscripts\_snd::snd_message("aud_pitbull_crash_concussion"); +} + +//Function Number: 78 +crash_wakeup(param_00) +{ + level.crash_overlay thread maps\sanfran_util::restorevision(2,0); + level.player shellshock("default",14); +} + +//Function Number: 79 +start_after_crash_traffic(param_00) +{ + if(!isdefined(param_00)) + { + wait(10.5); + } + else + { + wait(param_00); + } + + maps\_vehicle::spawn_vehicles_from_targetname_and_drive("bridge_crash_traffic"); + clean_up_traffic_drivers(); +} + +//Function Number: 80 +clean_up_traffic_drivers() +{ + var_00 = getentarray("crash_traffic_driver","script_noteworthy"); + var_01 = []; + foreach(var_03 in var_00) + { + if(isai(var_03)) + { + var_01[var_01.size] = var_03; + var_03.ignoresonicaoe = 1; + } + } + + common_scripts\utility::array_thread(var_01,::maps\sanfran_util::ai_run_behavior_until_condition,::maps\sanfran_util::ai_empty,::maps\sanfran_util::ai_delete_self,::maps\sanfran_util::ai_cond_player_at_police_battle); +} + +//Function Number: 81 +get_squad_out_of_pitbull() +{ + level.player_pitbull maps\sanfran_pitbull::remove_passenger_from_player_pitbull(level.saint); + var_00 = getent("crash_point_saint","targetname"); + level.saint forceteleport(var_00.origin,var_00.angles); +} + +//Function Number: 82 +handle_fight_section(param_00) +{ + if(isdefined(param_00)) + { + maps\_utility::autosave_by_name(); + } + else if(!isdefined(level.start_point) || level.start_point != "street") + { + maps\_utility::autosave_now(); + } + + soundscripts\_snd::snd_message("bridge_street_fight"); + setsaveddvar("fx_draw_omnilight",0); + common_scripts\utility::flag_set("flag_obj_van_meetup"); + common_scripts\utility::flag_set("flag_dialog_start_street"); + common_scripts\utility::flag_set("flag_enable_battle_chatter"); + common_scripts\utility::run_thread_on_targetname("trigger_fall_fail",::maps\sanfran_util::fall_fail); + common_scripts\utility::run_thread_on_targetname("trigger_fall_fail_remove",::maps\sanfran_util::fall_fail); + level thread maps\sanfran_util::fail_player_for_abandon(); + level thread maps\sanfran_util::player_abandon_squad_distance_think(); + common_scripts\utility::run_thread_on_targetname("trigger_no_long_death",::no_long_death); + thread railing_dangerzone_think(); + level thread maps\sanfran_util::toggle_boat_visibility(); + maps\_player_exo::player_exo_activate(); + level thread maps\sanfran_util::give_boost_jump(); + if(!isdefined(param_00)) + { + common_scripts\utility::flag_set("flag_dialog_street_foot"); + level thread fight_section_crash_encounter(); + level thread fight_section_boost_encounter(); + level thread fight_section_police_encounter(); + level thread fight_section_tanker_encouter(); + level thread fight_section_ambient_encounter(); + level thread fight_section_pitbull_encounter(); + level thread fight_section_escape_encounter(); + level thread fight_section_standoff_encounter(); + return; + } + + if(param_00 == "police") + { + common_scripts\utility::flag_set("flag_fight_start_boost_encounter"); + common_scripts\utility::flag_set("flag_fight_start_police_encounter"); + maps\sanfran_util::connectpaths_ents_by_targetname("boost_path_blocker"); + maps\sanfran_util::delete_ents_by_targetname("boost_path_blocker"); + maps\_utility::activate_trigger_with_targetname("trigger_move_first_boost"); + level thread fight_section_police_encounter(); + level thread fight_section_tanker_encouter(); + level thread fight_section_ambient_encounter(); + level thread fight_section_pitbull_encounter(); + level thread fight_section_escape_encounter(); + level thread fight_section_standoff_encounter(); + return; + } + + if(param_00 == "pitbull") + { + level thread fight_section_ambient_encounter(); + level thread fight_section_pitbull_encounter(); + level thread fight_section_escape_encounter(); + level thread fight_section_standoff_encounter(); + return; + } +} + +//Function Number: 83 +play_van_videolog_pip() +{ + level.player endon("death"); + common_scripts\utility::flag_wait("flag_play_van_videolog_pip"); + maps\_shg_utility::play_videolog("sanfran_videolog","screen_add"); +} + +//Function Number: 84 +no_long_death() +{ + for(;;) + { + self waittill("trigger",var_00); + if(isalive(var_00) && var_00.team == "axis" && var_00.a.disablelongdeath != 1) + { + var_00 maps\_utility::disable_long_death(); + } + } +} + +//Function Number: 85 +fight_section_crash_encounter() +{ + common_scripts\utility::run_thread_on_targetname("trigger_start_crash_suvs",::start_crash_suvs); + level thread maps\sanfran_util::start_civilian_group("crash_civilian_spawner"); + maps\sanfran_util::civilian_get_out_of_car_setup("crash_scene_escape_car_1","crash_scene_escape_spawner_1","flag_crash_scene_get_out",1); + maps\sanfran_util::civilian_get_out_of_car_setup("crash_scene_escape_car_2","crash_scene_escape_spawner_2","flag_crash_scene_get_out",1); + maps\sanfran_util::civilian_get_out_of_car_setup("crash_scene_escape_car_3","crash_scene_escape_spawner_3","flag_crash_scene_get_out",1); + maps\sanfran_util::civilian_get_out_of_car_setup("crash_scene_escape_car_4","crash_scene_escape_spawner_4","flag_crash_scene_get_out",1); + maps\sanfran_util::civilian_get_out_of_car_setup("crash_scene_escape_car_5","crash_scene_escape_spawner_5","flag_crash_scene_get_out",1,4); + maps\sanfran_util::civilian_loop_setup("crash_civ_seat",undefined,"flag_player_at_tanker_battle"); + common_scripts\utility::flag_wait("flag_player_crash_complete"); + maps\_utility::activate_trigger_with_targetname("trigger_move_from_crash"); + maps\_utility::waittill_aigroupcount("atlas_suv_guys",2); + common_scripts\utility::flag_set("flag_crash_retreat_01"); + wait(4); + common_scripts\utility::flag_set("flag_fight_start_boost_encounter"); +} + +//Function Number: 86 +start_crash_suvs() +{ + self waittill("trigger"); + maps\sanfran_util::squad_ignore_all_start(); + common_scripts\utility::run_thread_on_targetname("trigger_crash_squad_cover",::crash_squad_take_cover); +} + +//Function Number: 87 +clean_up_suv_drivers() +{ + var_00 = getentarray("atlas_ai_suv_drivers","script_noteworthy"); + var_01 = []; + foreach(var_03 in var_00) + { + if(isai(var_03)) + { + var_01[var_01.size] = var_03; + } + } + + common_scripts\utility::array_thread(var_01,::maps\sanfran_util::ai_run_behavior_until_condition,::maps\sanfran_util::ai_empty,::maps\sanfran_util::ai_delete_self,::maps\sanfran_util::ai_cond_player_at_tanker_battle); +} + +//Function Number: 88 +crash_squad_take_cover() +{ + self waittill("trigger"); + maps\sanfran_util::connectpaths_ents_by_targetname("crash_path_blocker"); + maps\sanfran_util::delete_ents_by_targetname("crash_path_blocker"); + maps\sanfran_util::squad_ignore_all_stop(); + soundscripts\_snd::snd_message("bridge_post_crash"); +} + +//Function Number: 89 +drive_crash_suv() +{ + self vehphys_disablecrashing(); + maps\_vehicle::vehicle_set_health(3000); + self waittill("reached_end_node"); + self disconnectpaths(); +} + +//Function Number: 90 +fight_section_boost_encounter() +{ + common_scripts\utility::flag_wait("flag_fight_start_boost_encounter"); + thread maps\sanfran_util::street_civilian_clean_up(); + maps\sanfran_util::connectpaths_ents_by_targetname("boost_path_blocker"); + maps\sanfran_util::delete_ents_by_targetname("boost_path_blocker"); + var_00 = getentarray("spawner_atlas_boost","targetname"); + common_scripts\utility::array_thread(var_00,::maps\sanfran_util::add_spawn_behavior,::maps\sanfran_util::ai_run_behavior_until_condition,::maps\sanfran_util::ai_start_ignore_all,::maps\sanfran_util::ai_end_ignore_all,::maps\sanfran_util::ai_cond_reached_goal); + common_scripts\utility::array_thread(var_00,::maps\sanfran_util::add_spawn_behavior,::maps\sanfran_util::ai_run_behavior_until_condition,::maps\sanfran_util::ai_start_ignore_me,::maps\sanfran_util::ai_end_ignore_me,::maps\sanfran_util::ai_cond_reached_goal); + common_scripts\utility::array_thread(var_00,::maps\sanfran_util::add_spawn_behavior,::maps\sanfran_util::ai_run_behavior_until_condition,::maps\sanfran_util::ai_empty,::maps\sanfran_util::ai_delete_self,::maps\sanfran_util::ai_cond_player_at_tanker_battle); + common_scripts\utility::array_thread(var_00,::maps\_utility::spawn_ai,1,0); + common_scripts\utility::flag_set("flag_dialog_street_boost_incoming"); + maps\_utility::activate_trigger_with_targetname("trigger_move_to_first_jump"); + maps\_utility::waittill_aigroupcount("atlas_first_jump",1); + common_scripts\utility::flag_set("flag_boost_retreat_01"); + wait(4); + common_scripts\utility::flag_set("flag_dialog_street_boosters"); + maps\_utility::activate_trigger_with_targetname("trigger_move_first_boost"); + maps\_utility::autosave_by_name(); + common_scripts\utility::flag_set("flag_fight_start_police_encounter"); +} + +//Function Number: 91 +wait_to_give_boost_to_player() +{ + common_scripts\utility::flag_wait("flag_enable_boost_jump"); + maps\_utility::display_hint("boost_hint"); + level thread maps\sanfran_util::give_boost_jump(); +} + +//Function Number: 92 +fight_section_police_encounter() +{ + level thread set_up_police_battle(); + maps\sanfran_util::civilian_loop_setup("police_civ_seat",undefined,"flag_player_at_ambient_battle"); + maps\sanfran_util::civilian_loop_setup("police_civ_seat_2",undefined,"flag_player_at_ambient_battle"); + maps\sanfran_util::civilian_loop_setup("police_civ_paired_a","police_civ_paired_b","flag_player_at_ambient_battle"); + maps\sanfran_util::civilian_loop_setup("police_civ_paired_2_a","police_civ_paired_2_b","flag_player_at_ambient_battle"); + common_scripts\utility::flag_wait("flag_player_at_police_battle"); + level thread start_street_heli(); + maps\sanfran_util::waittill_aigroupcount_or_flag("atlas_police_fight",11,"flag_force_police_battle_atlas_second_group"); + common_scripts\utility::flag_set("flag_police_retreat_01"); + var_00 = getentarray("police_battle_atlas_second_group","targetname"); + common_scripts\utility::array_thread(var_00,::maps\_utility::add_spawn_function,::maps\_utility::add_damage_function,::maps\sanfran_util::ai_twenty_percent_damage_func); + common_scripts\utility::array_thread(var_00,::maps\sanfran_util::add_spawn_behavior,::maps\sanfran_util::ai_run_behavior_until_condition,::maps\sanfran_util::ai_empty,::maps\sanfran_util::ai_delete_self,::maps\sanfran_util::ai_cond_player_at_ambient_battle); + common_scripts\utility::array_thread(var_00,::maps\_utility::spawn_ai,1,0); + wait(3); + maps\_utility::activate_trigger_with_targetname("trigger_police_persue_01"); + common_scripts\utility::flag_set("flag_dialog_street_sitrep"); + maps\sanfran_util::waittill_aigroupcount_or_flag("atlas_police_fight",6,"flag_force_police_battle_atlas_third_group"); + common_scripts\utility::flag_set("flag_police_retreat_02"); + var_01 = getentarray("police_battle_atlas_third_group","targetname"); + common_scripts\utility::array_thread(var_01,::maps\_utility::add_spawn_function,::maps\_utility::add_damage_function,::maps\sanfran_util::ai_twenty_percent_damage_func); + common_scripts\utility::array_thread(var_01,::maps\sanfran_util::add_spawn_behavior,::maps\sanfran_util::ai_run_behavior_until_condition,::maps\sanfran_util::ai_empty,::maps\sanfran_util::ai_delete_self,::maps\sanfran_util::ai_cond_player_at_ambient_battle); + common_scripts\utility::array_thread(var_01,::maps\_utility::spawn_ai,1,0); + wait(3); + maps\_utility::activate_trigger_with_targetname("trigger_police_persue_02"); + maps\sanfran_util::waittill_aigroupcount_or_flag("atlas_police_fight",2,"flag_force_police_battle_final_fallback"); + maps\_utility::activate_trigger_with_targetname("trigger_police_fight_fallback"); + maps\_utility::autosave_by_name(); + wait(1); + common_scripts\utility::flag_set("flag_fight_start_tanker_encounter"); +} + +//Function Number: 93 +set_up_police_battle() +{ + setthreatbias("police","atlas",10000); + setthreatbias("atlas","police",10000); + setthreatbias("sentinel","atlas",-10000); + setthreatbias("atlas","sentinel",-10000); + setthreatbias("police","atlas_attack",-10000); + setthreatbias("atlas_attack","police",-10000); + setthreatbias("sentinel","atlas_attack",10000); + setthreatbias("atlas_attack","sentinel",10000); + var_00 = getentarray("tanker_battle_police","targetname"); + common_scripts\utility::array_thread(var_00,::maps\sanfran_util::add_spawn_behavior,::maps\sanfran_util::ai_run_behavior_until_condition,::maps\sanfran_util::ai_start_magic_bullet_shield,::maps\sanfran_util::ai_end_magic_bullet_shield,::maps\sanfran_util::ai_cond_player_at_police_battle); + common_scripts\utility::array_thread(var_00,::maps\sanfran_util::add_spawn_behavior,::maps\sanfran_util::ai_run_behavior_until_condition,::maps\sanfran_util::ai_empty,::maps\sanfran_util::ai_delete_self,::maps\sanfran_util::ai_cond_player_at_ambient_battle); + common_scripts\utility::array_thread(var_00,::maps\_utility::spawn_ai,1,0); + var_01 = getentarray("police_battle_atlas_first_group","targetname"); + common_scripts\utility::array_thread(var_01,::maps\sanfran_util::add_spawn_behavior,::maps\sanfran_util::ai_run_behavior_until_condition,::maps\sanfran_util::ai_empty,::maps\sanfran_util::ai_end_fixed_node,::maps\sanfran_util::ai_cond_player_at_police_battle); + common_scripts\utility::array_thread(var_01,::maps\_utility::add_spawn_function,::maps\sanfran_util::ai_shot_by_player_team_notify); + common_scripts\utility::array_thread(var_01,::maps\_utility::add_spawn_function,::maps\_utility::add_damage_function,::maps\sanfran_util::ai_twenty_percent_damage_func); + common_scripts\utility::array_thread(var_01,::maps\sanfran_util::add_spawn_behavior,::maps\sanfran_util::ai_run_behavior_until_condition,::maps\sanfran_util::ai_empty,::maps\sanfran_util::ai_delete_self,::maps\sanfran_util::ai_cond_player_at_ambient_battle); + common_scripts\utility::array_thread(var_01,::maps\_utility::spawn_ai,1,0); + var_02 = getent("trigger_tanker_fire_damage","targetname"); + var_02 common_scripts\utility::trigger_off_proc(); + level waittill("ai_shot_by_player_team"); + setthreatbias("police","atlas",0); + setthreatbias("atlas","police",0); + setthreatbias("sentinel","atlas",100); + setthreatbias("atlas","sentinel",100); + setthreatbias("police","atlas_attack",0); + setthreatbias("atlas_attack","police",0); + setthreatbias("sentinel","atlas_attack",100); + setthreatbias("atlas_attack","sentinel",100); +} + +//Function Number: 94 +start_street_heli() +{ + var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("street_fight_heli"); + var_00 maps\_utility::ent_flag_init("heli_can_shoot"); + var_00 maps\_vehicle::godon(); + var_00 maps\sanfran_util::riders_no_damage(); + var_00 thread maps\sanfran_util::heli_shoot_enemies(); + var_00 thread maps\sanfran_util::heli_toggle_shoot(); + common_scripts\utility::flag_set("flag_dialog_street_helo_intro"); + common_scripts\utility::flag_wait("flag_police_retreat_02"); + var_01 = common_scripts\utility::getstruct("start_bridge_heli_swap_sides","targetname"); + var_00 thread maps\_vehicle_code::_vehicle_paths(var_01); + var_00 maps\_utility::ent_flag_clear("heli_can_shoot"); + common_scripts\utility::flag_set("flag_dialog_street_helo_change"); + common_scripts\utility::flag_wait("flag_player_at_tanker_battle"); + var_01 = common_scripts\utility::getstruct("start_bridge_heli_move_tanker","targetname"); + var_00 thread maps\_vehicle_code::_vehicle_paths(var_01); + common_scripts\utility::flag_wait("flag_tanker_exploded"); + common_scripts\utility::flag_set("flag_dialog_street_helo_die"); + var_00 soundscripts\_snd::snd_message("aud_little_bird_hit"); + var_00 maps\_vehicle::godoff(); + var_00 dodamage(var_00.health + 10000,var_00.origin); +} + +//Function Number: 95 +fight_section_tanker_encouter() +{ + common_scripts\utility::flag_wait("flag_fight_start_tanker_encounter"); + level thread start_tanker_fire(); + var_00 = getentarray("tanker_battle_atlas_group","targetname"); + common_scripts\utility::array_thread(var_00,::maps\sanfran_util::add_spawn_behavior,::maps\_utility::add_damage_function,::maps\sanfran_util::ai_twenty_percent_damage_func); + common_scripts\utility::array_thread(var_00,::maps\sanfran_util::add_spawn_behavior,::maps\sanfran_util::ai_run_behavior_until_condition,::maps\sanfran_util::ai_empty,::maps\sanfran_util::ai_start_balcony_death,::maps\sanfran_util::ai_cond_player_at_tanker_battle); + common_scripts\utility::array_thread(var_00,::maps\sanfran_util::add_spawn_behavior,::maps\sanfran_util::ai_run_behavior_until_condition,::maps\sanfran_util::ai_empty,::maps\sanfran_util::ai_delete_self,::maps\sanfran_util::ai_cond_player_at_pitbull_battle); + common_scripts\utility::array_thread(var_00,::maps\sanfran_util::add_spawn_behavior,::maps\sanfran_util::player_damage_atlas_flag_set,"flag_player_at_tanker_battle"); + common_scripts\utility::array_thread(var_00,::maps\_utility::spawn_ai,1,0); + wait(2); + maps\_utility::activate_trigger_with_targetname("trigger_tanker_move_up"); + common_scripts\utility::flag_wait("flag_player_at_tanker_battle"); + setthreatbias("police","atlas",1000); + setthreatbias("atlas","police",1000); + setthreatbias("sentinel","atlas",-100); + setthreatbias("atlas","sentinel",-100); + setthreatbias("police","atlas_attack",-1000); + setthreatbias("atlas_attack","police",-1000); + setthreatbias("sentinel","atlas_attack",1000); + setthreatbias("atlas_attack","sentinel",1000); + tanker_drone_flood(); + maps\sanfran_util::waittill_aigroupcount_or_flag("atlas_tanker_fight",6,"flag_force_tanker_battle_atlas_second_group"); + var_00 = getentarray("tanker_battle_atlas_second_group","targetname"); + common_scripts\utility::array_thread(var_00,::maps\_utility::add_spawn_function,::maps\_utility::add_damage_function,::maps\sanfran_util::ai_twenty_percent_damage_func); + common_scripts\utility::array_thread(var_00,::maps\_utility::add_spawn_function,::maps\sanfran_util::balcony_death_anims); + common_scripts\utility::array_thread(var_00,::maps\sanfran_util::add_spawn_behavior,::maps\sanfran_util::ai_run_behavior_until_condition,::maps\sanfran_util::ai_empty,::maps\sanfran_util::ai_delete_self,::maps\sanfran_util::ai_cond_player_at_pitbull_battle); + common_scripts\utility::array_thread(var_00,::maps\_utility::spawn_ai,1,0); + common_scripts\utility::flag_set("flag_dialog_street_helo_warn"); + maps\sanfran_util::waittill_aigroupcount_or_flag("atlas_tanker_fight",4,"flag_force_tanker_ignite_second"); + level thread maps\sanfran_fx::ignite_tanker_spurt(); + common_scripts\utility::flag_set("flag_tanker_retreat_01"); + wait(3); + level thread explode_tanker(); + common_scripts\utility::flag_wait("flag_tanker_exploded"); + maps\sanfran_util::connectpaths_ents_by_targetname("tanker_fire_path_blocker"); + maps\sanfran_util::delete_ents_by_targetname("tanker_fire_path_blocker"); + var_01 = getaiarray("axis"); + var_02 = getent("trigger_tanker_explosion_ragdoll","targetname"); + var_03 = getent("tanker_explosion_org","targetname"); + foreach(var_05 in var_01) + { + if(var_05 istouching(var_02)) + { + var_06 = vectornormalize(var_05.origin - var_03.origin); + var_07 = distance(var_05.origin,var_03.origin); + var_08 = 800 - var_07 / 800; + var_09 = var_06 * var_08 * 400; + var_05 kill(); + var_05 startragdollfromimpact(var_05.origin,var_09); + } + } + + common_scripts\utility::flag_set("flag_fight_start_ambient_encounter"); + maps\_utility::waittill_aigroupcleared("atlas_tanker_fight"); + maps\_utility::autosave_by_name(); + wait(2); + maps\_utility::activate_trigger_with_targetname("trigger_tanker_move_past_fire"); +} + +//Function Number: 96 +tanker_drone_flood() +{ + var_00 = getentarray("atlas_tanker_drone","targetname"); + foreach(var_02 in var_00) + { + var_02 thread drone_respawn(); + } +} + +//Function Number: 97 +drone_respawn() +{ + level endon("flag_tanker_exploded"); + for(;;) + { + var_00 = maps\_vehicle::spawn_vehicle_and_gopath(); + var_00 thread maps\_shg_utility::make_emp_vulnerable(); + var_00 maps\_utility::add_damage_function(::maps\sanfran_util::ai_twenty_percent_damage_func); + var_00 laseron(); + var_00 thread explode_drones_at_tanker(); + var_00 waittill("death"); + wait(randomfloatrange(3,5)); + } +} + +//Function Number: 98 +explode_drones_at_tanker() +{ + self endon("death"); + level waittill("flag_tanker_exploded"); + var_00 = randomfloatrange(0.1,0.8); + wait(var_00); + self kill(); +} + +//Function Number: 99 +start_tanker_fire() +{ + thread maps\sanfran_fx::oil_tanker_bridge_fire(); + soundscripts\_snd::snd_message("tanker_fireball"); + var_00 = getent("trigger_tanker_fire_damage","targetname"); + var_00 common_scripts\utility::trigger_on_proc(); + common_scripts\utility::flag_wait("flag_tanker_exploded"); + var_00 delete(); +} + +//Function Number: 100 +explode_tanker() +{ + var_00 = []; + var_01 = 1; + for(;;) + { + var_02 = getentarray("tanker_explosion_car_" + var_01,"script_noteworthy"); + if(var_02.size == 0) + { + break; + } + + var_00[var_00.size] = var_02; + var_01++; + } + + var_00 = common_scripts\utility::array_randomize(var_00); + foreach(var_02 in var_00) + { + for(var_01 = 0;var_01 < var_02.size;var_01++) + { + if(var_02[var_01].classname != "script_model") + { + continue; + } + + var_02[var_01] useanimtree(#animtree); + var_04 = var_02[var_01].model; + if(issubstr(var_04,"vehicle_civ_domestic_economy")) + { + var_02[var_01] setmodel("vehicle_civ_domestic_economy_destroy_static"); + var_02[var_01] setanimknob(%civ_domestic_sedan_police_destroy,1,0,1); + } + else if(issubstr(var_04,"vehicle_civ_smartcar_02_blue")) + { + var_02[var_01].newmodel = spawn("script_model",var_02[var_01].origin); + var_02[var_01].newmodel.angles = var_02[var_01].angles; + var_02[var_01].newmodel setmodel("vehicle_civ_smartcar_static_dstry"); + var_02[var_01].newmodel linkto(var_02[var_01],"body_animate_jnt"); + var_02[var_01] hide(); + var_02[var_01] setanimknob(%civ_domestic_sedan_police_destroy,1,0,1); + } + + playfx(level._effect["tanker_explosion"],var_02[var_01].origin); + var_02[var_01] soundscripts\_snd::snd_message("bridge_car_explode"); + earthquake(0.4,0.5,var_02[var_01].origin,2000); + radiusdamage(var_02[var_01].origin,400,50,10); + break; + } + + wait(randomfloatrange(0.5,2)); + } + + wait(randomfloatrange(1,2)); + common_scripts\utility::flag_set("kill_oil_puddle_flames"); + wait(1); + level thread maps\sanfran_fx::oil_tanker_bridge_explosion(); + var_06 = getent("tanker_explosion_org","targetname"); + var_07 = getentarray("tanker_explosion_tanker","script_noteworthy"); + foreach(var_09 in var_07) + { + if(var_09.classname == "script_model") + { + var_09 setmodel("ind_semi_truck_fuel_tank_destroy"); + } + } + + var_0B = getentarray("tanker_explosion_cab","script_noteworthy"); + foreach(var_09 in var_0B) + { + if(var_09.classname == "script_model") + { + var_09 setmodel("ind_semi_truck_03_destroy"); + } + } + + earthquake(0.6,0.5,var_06.origin,2000); + radiusdamage(var_06.origin,400,50,10); + common_scripts\utility::flag_set("flag_tanker_exploded"); + foreach(var_02 in var_00) + { + var_0F = vectornormalize(var_02[0].origin - var_06.origin); + var_10 = distance(var_02[0].origin,var_06.origin); + var_11 = 800 - var_10 / 800; + var_12 = var_0F * var_11 * 300; + var_13 = (var_12[0],var_12[1],0); + var_14 = randomfloatrange(50,70); + if(randomint(100) > 50) + { + var_14 = var_14 * -1; + } + + foreach(var_16 in var_02) + { + var_16 thread shift_car(var_13,var_14); + } + } + + maps\_utility::delaythread(5,::maps\_utility::pauseexploder,2200); +} + +//Function Number: 101 +shift_car(param_00,param_01) +{ + if(self.classname != "script_model") + { + self connectpaths(); + } + else + { + self clearanim(%civ_domestic_sedan_police_destroy,0); + } + + self moveto(self.origin + param_00,0.2,0,0.1); + self rotateto(self.angles + (0,param_01,0),0.2,0,0.1); + wait(0.2); + if(self.classname != "script_model") + { + self disconnectpaths(); + return; + } + + common_scripts\utility::delaycall(randomfloat(0.15),::setanimknob,%civ_domestic_sedan_police_destroy,1,0,1); +} + +//Function Number: 102 +fight_section_ambient_encounter() +{ + common_scripts\utility::flag_wait("flag_fight_start_ambient_encounter"); + common_scripts\utility::run_thread_on_targetname("start_bridge_helis",::start_bridge_helis); + level thread set_up_ambient_battle(); + maps\sanfran_util::civilian_loop_setup("ambient_civ_seat_1",undefined,"flag_player_at_escape_battle"); + maps\sanfran_util::civilian_loop_setup("ambient_civ_seat_2",undefined,"flag_player_at_escape_battle"); + maps\sanfran_util::civilian_loop_setup("ambient_civ_paired_1","ambient_civ_paired_2","flag_player_at_escape_battle"); + common_scripts\utility::flag_wait("flag_player_at_ambient_battle"); + level thread maps\sanfran_util::start_civilian_group("spawner_ambient_spawner_wave01"); + maps\_utility::autosave_by_name(); + maps\_utility::activate_trigger_with_targetname("trigger_move_to_ambient_battle"); + common_scripts\utility::flag_set("flag_start_jerk_driver"); + wait(5); + common_scripts\utility::flag_set("flag_fight_start_pitbull_encounter"); + maps\_utility::autosave_by_name(); + wait(4); + maps\_utility::activate_trigger_with_targetname("trigger_move_to_pitbull_encounter"); + common_scripts\utility::run_thread_on_targetname("trigger_start_ambient_kick_pair",::start_ambient_pair_kick); +} + +//Function Number: 103 +start_ambient_pair_kick() +{ + for(;;) + { + self waittill("trigger",var_00); + if(var_00 == level.burke) + { + break; + } + } + + var_01 = getent("spawner_atlas_ambient_kick_pair","targetname"); + var_02 = var_01 maps\_utility::spawn_ai(1,0); + soundscripts\_snd::snd_message("start_burke_boost_kick"); + maps\sanfran_util::lunging_take_down("takedown_ambient",level.burke,var_02); + var_03 = getnode("node_burke_lunge_cover","targetname"); + level.burke thread maps\_spawner::go_to_node(var_03); + level.burke maps\_utility::enable_ai_color_dontmove(); +} + +//Function Number: 104 +start_bridge_helis() +{ + self waittill("trigger"); + var_00 = maps\_vehicle::spawn_vehicles_from_targetname_and_drive("bridge_helis"); + soundscripts\_snd::snd_message("start_bridge_helis",var_00); + common_scripts\utility::flag_set("flag_dialog_street_van_stop"); +} + +//Function Number: 105 +set_up_ambient_battle() +{ + var_00 = getentarray("spawner_police_ambient","targetname"); + common_scripts\utility::array_thread(var_00,::maps\sanfran_util::add_spawn_behavior,::maps\sanfran_util::ai_run_behavior_until_condition,::maps\sanfran_util::ai_start_magic_bullet_shield,::maps\sanfran_util::ai_end_magic_bullet_shield,::maps\sanfran_util::ai_cond_player_at_ambient_battle); + var_01 = getent("spawner_police_ambient_animated","targetname"); + var_01 maps\_utility::add_spawn_function(::ambient_battle_deployable_cover); + var_00 = common_scripts\utility::array_add(var_00,var_01); + common_scripts\utility::array_thread(var_00,::maps\sanfran_util::add_spawn_behavior,::maps\sanfran_util::ai_run_behavior_until_condition,::maps\sanfran_util::ai_empty,::maps\sanfran_util::ai_delete_self,::maps\sanfran_util::ai_cond_player_at_escape_battle); + common_scripts\utility::array_thread(var_00,::maps\_utility::spawn_ai,1,0); + var_02 = getentarray("spawner_atlas_ambient","targetname"); + common_scripts\utility::array_thread(var_02,::maps\_utility::add_spawn_function,::maps\sanfran_util::ai_shot_by_player_team_notify); + common_scripts\utility::array_thread(var_02,::maps\sanfran_util::add_spawn_behavior,::maps\_utility::add_damage_function,::maps\sanfran_util::ai_twenty_percent_damage_func); + common_scripts\utility::array_thread(var_02,::maps\sanfran_util::add_spawn_behavior,::maps\sanfran_util::ai_run_behavior_until_condition,::maps\sanfran_util::ai_start_respawn_death,::maps\sanfran_util::ai_stop_death_function,::maps\sanfran_util::ai_cond_player_at_ambient_battle); + common_scripts\utility::array_thread(var_02,::maps\sanfran_util::add_spawn_behavior,::maps\sanfran_util::ai_run_behavior_until_condition,::maps\sanfran_util::ai_empty,::maps\sanfran_util::ai_delete_self,::maps\sanfran_util::ai_cond_player_at_escape_battle); + level waittill("ai_shot_by_player_team"); + setthreatbias("police","atlas",0); + setthreatbias("atlas","police",0); + setthreatbias("sentinel","atlas",100); + setthreatbias("atlas","sentinel",100); + setthreatbias("police","atlas_attack",0); + setthreatbias("atlas_attack","police",0); + setthreatbias("sentinel","atlas_attack",100); + setthreatbias("atlas_attack","sentinel",100); +} + +//Function Number: 106 +ambient_battle_deployable_cover() +{ + var_00 = getent("deployable_cover_final_model","targetname"); + var_00.contents = var_00 setcontents(0); + var_00 hide(); + maps\_utility::magic_bullet_shield(); + thread deployable_cover_think(); + common_scripts\utility::flag_wait("flag_place_deployable_cover"); + self.animname = "generic"; + var_01 = common_scripts\utility::getstruct("deployable_cover_animnode","targetname"); + var_02 = "deployable_cover_deploy"; + var_01 maps\_anim::anim_reach_solo(self,var_02); + level notify("police_placing_deployable_cover"); + var_03 = maps\_utility::spawn_anim_model("deployable_cover",(0,0,0)); + var_04 = [self,var_03]; + var_01 thread maps\_anim::anim_single(var_04,"deployable_cover_deploy"); + var_05 = 5.4; + var_00 common_scripts\utility::delaycall(var_05,::setcontents,var_00.contents); + var_00 common_scripts\utility::delaycall(var_05,::show); + var_03 common_scripts\utility::delaycall(var_05,::delete); +} + +//Function Number: 107 +deployable_cover_think() +{ + var_00 = spawn("script_model",self gettagorigin("j_SpineUpper") + (0,0,0)); + var_00.angles = self gettagangles("j_SpineUpper") + (0,0,0); + var_00.animname = "deployable_cover"; + var_00 setmodel("deployable_cover"); + var_00 maps\_anim::setanimtree(); + var_00 maps\_anim::anim_first_frame_solo(var_00,"deployable_cover_closed_idle"); + var_00 linkto(self,"j_SpineUpper"); + level waittill("police_placing_deployable_cover"); + var_00 delete(); +} + +//Function Number: 108 +start_jerk_driver() +{ + var_00 = maps\_vehicle::spawn_vehicle_from_targetname("jerk_driver_car"); + var_00 maps\_vehicle::godon(); + var_00 soundscripts\_snd::snd_message("start_jerk_driver_car"); + common_scripts\utility::flag_wait("flag_start_jerk_driver"); + var_00 startpath(); + var_00 waittill("reached_end_node"); + var_01 = getvehiclenode("start_jerk_back_up","targetname"); + var_00 thread maps\_vehicle_code::_vehicle_paths(var_01); + var_00 startpath(var_01); + var_00 waittill("reached_end_node"); + var_01 = getvehiclenode("start_jerk_go_forward","targetname"); + var_00 thread maps\_vehicle_code::_vehicle_paths(var_01); + var_00 startpath(var_01); + var_00 waittill("reached_end_node"); + for(;;) + { + if(!maps\sanfran_util::player_can_see(var_00.origin,45)) + { + var_00 maps\_vehicle::godoff(); + var_00 delete(); + return; + } + + wait(0.05); + } +} + +//Function Number: 109 +fight_section_pitbull_encounter() +{ + common_scripts\utility::flag_wait("flag_fight_start_pitbull_encounter"); + level thread start_pitbull_skirmish(); + maps\sanfran_util::civilian_loop_setup("pitbull_civ_seat",undefined,"flag_player_at_standoff_battle"); + common_scripts\utility::flag_wait("flag_player_at_pitbull_battle"); + maps\_utility::autosave_by_name(); + common_scripts\utility::flag_set("flag_dialog_street_pitbull"); + maps\sanfran_util::waittill_aigroupcount_or_flag("atlas_pitbull",9,"flag_force_atlas_pitbull_second"); + var_00 = getentarray("spawner_atlas_pitbull_second","targetname"); + common_scripts\utility::array_thread(var_00,::maps\sanfran_util::add_spawn_behavior,::maps\sanfran_util::ai_run_behavior_until_condition,::maps\sanfran_util::ai_start_ignore_all,::maps\sanfran_util::ai_end_ignore_all,::maps\sanfran_util::ai_cond_reached_goal); + common_scripts\utility::array_thread(var_00,::maps\_utility::add_spawn_function,::maps\_utility::add_damage_function,::maps\sanfran_util::ai_twenty_percent_damage_func); + common_scripts\utility::array_thread(var_00,::maps\_utility::add_spawn_function,::maps\sanfran_util::balcony_death_anims); + common_scripts\utility::array_thread(var_00,::maps\sanfran_util::add_spawn_behavior,::maps\sanfran_util::ai_run_behavior_until_condition,::maps\sanfran_util::ai_empty,::maps\sanfran_util::ai_delete_self,::maps\sanfran_util::ai_cond_player_at_standoff_battle); + common_scripts\utility::array_thread(var_00,::maps\_utility::spawn_ai,1); + common_scripts\utility::flag_set("flag_dialog_street_cover"); + maps\_utility::waittill_aigroupcleared("atlas_pitbull"); + common_scripts\utility::flag_set("flag_fight_start_escape_encounter"); + maps\_utility::autosave_by_name(); + wait(2); + maps\_utility::activate_trigger_with_targetname("trigger_move_past_pitbull"); +} + +//Function Number: 110 +start_pitbull_skirmish() +{ + var_00 = getentarray("spawner_atlas_pitbull","targetname"); + common_scripts\utility::array_thread(var_00,::maps\sanfran_util::add_spawn_behavior,::maps\_utility::add_damage_function,::maps\sanfran_util::ai_twenty_percent_damage_func); + common_scripts\utility::array_thread(var_00,::maps\sanfran_util::add_spawn_behavior,::maps\sanfran_util::ai_run_behavior_until_condition,::maps\sanfran_util::ai_start_respawn_death,::maps\sanfran_util::ai_start_balcony_death,::maps\sanfran_util::ai_cond_player_at_pitbull_battle); + common_scripts\utility::array_thread(var_00,::maps\_utility::add_spawn_function,::maps\sanfran_util::container_death_anims); + common_scripts\utility::array_thread(var_00,::maps\sanfran_util::add_spawn_behavior,::maps\sanfran_util::ai_run_behavior_until_condition,::maps\sanfran_util::ai_empty,::maps\sanfran_util::ai_delete_self,::maps\sanfran_util::ai_cond_player_at_standoff_battle); + common_scripts\utility::array_thread(var_00,::maps\sanfran_util::add_spawn_behavior,::maps\sanfran_util::player_damage_atlas_flag_set,"flag_player_at_pitbull_battle"); + common_scripts\utility::array_thread(var_00,::maps\_utility::spawn_ai,1,0); + var_01 = getentarray("spawner_sentinel_pitbull","targetname"); + common_scripts\utility::array_thread(var_01,::maps\sanfran_util::add_spawn_behavior,::maps\sanfran_util::ai_run_behavior_until_condition,::maps\sanfran_util::ai_start_magic_bullet_shield,::maps\sanfran_util::ai_end_magic_bullet_shield,::maps\sanfran_util::ai_cond_player_at_pitbull_battle); + common_scripts\utility::array_thread(var_01,::maps\_utility::add_spawn_function,::maps\_utility::add_damage_function,::maps\sanfran_util::ai_twenty_percent_damage_func); + common_scripts\utility::array_thread(var_01,::maps\_utility::add_spawn_function,::bravo_leader); + common_scripts\utility::array_thread(var_01,::maps\_utility::spawn_ai,1,0); +} + +//Function Number: 111 +bravo_leader() +{ + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "bravo_leader") + { + self.animname = "Bravo"; + level.bravo = self; + } +} + +//Function Number: 112 +fight_section_escape_encounter() +{ + common_scripts\utility::flag_wait("flag_fight_start_escape_encounter"); + if(level.currentgen) + { + if(!istransientloaded("sanfran_bigm_tr")) + { + level waittill("tff_transition_outro_to_bigm"); + } + } + + common_scripts\utility::run_thread_on_targetname("setup_explosion_scene",::setup_bridge_explosion_trigger); + maps\sanfran_util::civilian_loop_setup("escape_civ_seat",undefined,"flag_van_explosion_deploy"); + maps\sanfran_util::civilian_loop_setup("escape_civ_lay",undefined,"flag_van_explosion_deploy"); + common_scripts\utility::flag_wait("flag_player_at_escape_battle"); + setthreatbias("police","atlas",0); + setthreatbias("atlas","police",0); + setthreatbias("sentinel","atlas",100); + setthreatbias("atlas","sentinel",100); + setthreatbias("police","atlas_attack",-1000); + setthreatbias("atlas_attack","police",-1000); + setthreatbias("sentinel","atlas_attack",1000); + setthreatbias("atlas_attack","sentinel",1000); + level thread escape_fight_wave("spawner_atlas_escape"); + wait(4); + level thread escape_fight_wave("spawner_atlas_escape_second"); + wait(6); + level thread escape_fight_wave("spawner_atlas_escape_third"); + maps\sanfran_util::waittill_aigroupcount_or_flag("atlas_escape",4,"flag_atlas_escape_fight_skip"); + maps\_utility::autosave_by_name(); + common_scripts\utility::flag_set("flag_dialog_street_hurry"); + maps\_utility::activate_trigger_with_targetname("trigger_move_to_standoff"); + common_scripts\utility::flag_set("flag_fight_start_standoff_encounter"); +} + +//Function Number: 113 +escape_fight_wave(param_00) +{ + var_01 = getentarray(param_00,"targetname"); + common_scripts\utility::array_thread(var_01,::maps\_utility::add_spawn_function,::maps\_utility::add_damage_function,::maps\sanfran_util::ai_twenty_percent_damage_func); + common_scripts\utility::array_thread(var_01,::maps\sanfran_util::add_spawn_behavior,::maps\sanfran_util::ai_run_behavior_until_condition,::maps\sanfran_util::ai_empty,::maps\sanfran_util::ai_delete_self,::maps\sanfran_util::ai_cond_player_at_van); + common_scripts\utility::array_thread(var_01,::maps\_utility::spawn_ai,1,0); +} + +//Function Number: 114 +fight_section_standoff_encounter() +{ + common_scripts\utility::flag_wait("flag_fight_start_standoff_encounter"); + level thread change_music_to_standoff(); + level thread start_police_standoff(); + common_scripts\utility::run_thread_on_targetname("trigger_player_at_van",::handle_bridge_collapse); + if(!level.nextgen) + { + maps\sanfran_util::civilian_loop_setup("standoff_civ_lay_1",undefined,"flag_van_explosion_deploy"); + maps\sanfran_util::civilian_loop_setup("standoff_civ_lay_2",undefined,"flag_van_explosion_deploy"); + maps\sanfran_util::civilian_loop_setup("standoff_civ_seat_1",undefined,"flag_van_explosion_deploy"); + maps\sanfran_util::civilian_loop_setup("standoff_civ_seat_2",undefined,"flag_van_explosion_deploy"); + } + + maps\sanfran_util::civilian_loop_setup("standoff_civ_seat_3",undefined,"flag_van_explosion_deploy"); + if(!level.nextgen) + { + maps\sanfran_util::civilian_loop_setup("standoff_civ_paired_1","standoff_civ_paired_2","flag_van_explosion_deploy"); + maps\sanfran_util::civilian_loop_setup("standoff_civ_paired_b_1","standoff_civ_paired_b_2","flag_van_explosion_deploy"); + } + + common_scripts\utility::flag_wait("flag_player_at_standoff_battle"); + thread at_van_enemy_cleanup(); + common_scripts\utility::flag_set("flag_dialog_street_friendlies"); + maps\_utility::waittill_aigroupcleared("atlas_standoff"); + maps\_utility::activate_trigger_with_targetname("trigger_move_past_standoff"); + level thread maps\sanfran_util::remove_boost_jump(); + if(level.currentgen) + { + maps\_utility::vision_set_fog_changes("sanfran_cops_end_cg",1); + } + + common_scripts\utility::flag_set("flag_player_at_van_standoff"); +} + +//Function Number: 115 +change_music_to_standoff() +{ + common_scripts\utility::flag_wait("flag_player_at_van_standoff"); + soundscripts\_snd::snd_music_message("approaching_standoff"); + common_scripts\utility::flag_set("flag_dialog_street_assist"); +} + +//Function Number: 116 +start_police_standoff() +{ + var_00 = getentarray("spawner_police_standoff","targetname"); + common_scripts\utility::array_thread(var_00,::maps\sanfran_util::add_spawn_behavior,::maps\sanfran_util::ai_run_behavior_until_condition,::maps\sanfran_util::ai_start_magic_bullet_shield,::maps\sanfran_util::ai_end_magic_bullet_shield,::maps\sanfran_util::ai_cond_player_at_standoff_battle_or_danger_zone); + common_scripts\utility::array_thread(var_00,::maps\sanfran_util::add_spawn_behavior,::maps\sanfran_util::ai_run_behavior_until_condition,::maps\sanfran_util::ai_empty,::maps\sanfran_util::ai_end_fixed_node,::maps\sanfran_util::ai_cond_player_at_standoff_battle_or_danger_zone); + common_scripts\utility::array_thread(var_00,::maps\sanfran_util::add_spawn_behavior,::maps\sanfran_util::ai_run_behavior_until_condition,::maps\sanfran_util::ai_empty,::maps\sanfran_util::ai_delete_self,::maps\sanfran_util::ai_cond_player_at_van); + common_scripts\utility::array_thread(var_00,::maps\_utility::spawn_ai,1,0); + var_01 = getentarray("spawner_atlas_standoff","targetname"); + common_scripts\utility::array_thread(var_01,::maps\sanfran_util::add_spawn_behavior,::maps\sanfran_util::ai_run_behavior_until_condition,::maps\sanfran_util::ai_start_magic_bullet_shield,::maps\sanfran_util::ai_end_magic_bullet_shield,::maps\sanfran_util::ai_cond_player_at_standoff_battle_or_danger_zone); + common_scripts\utility::array_thread(var_01,::maps\sanfran_util::add_spawn_behavior,::maps\sanfran_util::ai_run_behavior_until_condition,::maps\sanfran_util::ai_empty,::maps\sanfran_util::ai_end_fixed_node,::maps\sanfran_util::ai_cond_player_at_standoff_battle_or_danger_zone); + common_scripts\utility::array_thread(var_01,::maps\_utility::add_spawn_function,::maps\sanfran_util::ai_shot_by_player_team_notify); + common_scripts\utility::array_thread(var_01,::maps\_utility::add_spawn_function,::maps\_utility::add_damage_function,::maps\sanfran_util::ai_twenty_percent_damage_func); + common_scripts\utility::array_thread(var_01,::maps\sanfran_util::add_spawn_behavior,::maps\sanfran_util::ai_run_behavior_until_condition,::maps\sanfran_util::ai_empty,::maps\sanfran_util::ai_delete_self,::maps\sanfran_util::ai_cond_player_at_van); + common_scripts\utility::array_thread(var_01,::maps\_utility::spawn_ai,1,0); + level waittill("ai_shot_by_player_team"); + setthreatbias("police","atlas",0); + setthreatbias("atlas","police",0); + setthreatbias("sentinel","atlas",100); + setthreatbias("atlas","sentinel",100); + setthreatbias("police","atlas_attack",0); + setthreatbias("atlas_attack","police",0); + setthreatbias("sentinel","atlas_attack",100); + setthreatbias("atlas_attack","sentinel",100); +} + +//Function Number: 117 +setup_bridge_explosion_trigger() +{ + self waittill("trigger"); + setup_bridge_explosion_anim_sequence(); +} + +//Function Number: 118 +setup_helicopter_blades_damage() +{ + level endon("van_door_interact"); + var_00 = getent("helicopter_blades_damage","targetname"); + var_01 = undefined; + for(;;) + { + var_00 waittill("trigger",var_01); + var_01 dodamage(60,var_00.origin); + wait(0.05); + } +} + +//Function Number: 119 +handle_bridge_collapse() +{ + common_scripts\utility::run_thread_on_targetname("trigger_player_approaching_van",::handle_early_approach); + self waittill("trigger"); + level notify("kill_bridge_copcar_lights"); + setsaveddvar("fx_draw_omnilight",1); + level notify("stop_toggle_boat_visibility"); + common_scripts\utility::flag_set("flag_obj_player_at_van"); + common_scripts\utility::flag_set("flag_dialog_start_van"); + common_scripts\utility::flag_set("flag_dialog_van_arrest"); + soundscripts\_snd::snd_music_message("pre_bridge_collapse_scene"); + common_scripts\utility::flag_clear("flag_enable_battle_chatter"); + level.explosion_scene_org notify("stop_barrier_loop"); + foreach(var_01 in level.barrier_scene_ents) + { + var_01 maps\_utility::anim_stopanimscripted(); + } + + level.explosion_scene_org maps\_anim::anim_single(level.approach_scene_ents,"approach_scene"); + common_scripts\utility::flag_set("flag_approach_scene_begin"); + common_scripts\utility::flag_set("flag_obj_player_use_van"); + common_scripts\utility::flag_set("flag_dialog_van_check"); + foreach(var_04 in level.approach_idle_ents) + { + level.explosion_scene_org thread maps\_anim::anim_loop_solo(var_04,"approach_idle","stop_approach_loop"); + } + + level.explosion_van show_glowy_handles(); + var_06 = getent("trigger_player_used_van","targetname"); + var_06 usetriggerrequirelookat(); + var_06 sethintstring(&"SANFRAN_OPEN_VAN"); + var_07 = var_06 maps\_shg_utility::hint_button_trigger("activate",1024); + var_06 waittill("trigger"); + var_07 maps\_shg_utility::hint_button_clear(); + var_06 delete(); + soundscripts\_snd::snd_message("gg_start_bridge_collapse"); + level notify("van_door_interact"); + maps\_player_exo::player_exo_deactivate(); + thread bridge_collapse_rumble(); + common_scripts\utility::flag_set("portal_on_collapse"); + wait(0.05); + common_scripts\utility::flag_clear("portal_on_collapse"); + thread maps\sanfran_lighting::van_open_bridge_collapse_dof(); + level.explosion_van show_normal_handles(); + foreach(var_09 in level.explosion_scene_bridge) + { + var_09 show(); + } + + maps\sanfran_util::hide_intact_bridge(); + maps\sanfran_util::toggle_on_real_mob(); + maps\sanfran_util::solid_ents_by_targetname("collapse_clip"); + maps\sanfran_util::delete_ents_by_targetname("collapse_fake_collision"); + maps\sanfran_util::delete_ents_by_targetname("trigger_fall_fail_remove"); + common_scripts\utility::flag_set("flag_dialog_van_deploy"); + common_scripts\utility::flag_set("flag_obj_player_used_van"); + level.explosion_scene_org notify("stop_approach_loop"); + foreach(var_01 in level.approach_idle_ents) + { + var_01 maps\_utility::anim_stopanimscripted(); + } + + var_0D = 0.5; + level.player playerlinktoblend(level.player_rig,"tag_player",var_0D); + level.player common_scripts\utility::delaycall(var_0D,::playerlinktodelta,level.player_rig,"tag_player",1,7,7,5,5,1); + level.player enableslowaim(); + level.player take_car_door_shields(); + level.player maps\_shg_utility::setup_player_for_scene(); + maps\sanfran_util::setup_squad_for_scene(); + foreach(var_04 in level.deploy_scene_ents) + { + if(var_04 == level.player_rig) + { + var_04 common_scripts\utility::delaycall(var_0D,::show); + continue; + } + + var_04 show(); + } + + common_scripts\utility::flag_set("flag_van_explosion_deploy"); + thread play_deploy_scene_handcuff_ents(); + level.explosion_scene_org maps\_anim::anim_single(level.deploy_scene_ents,"deploy_scene"); + maps\sanfran_util::remove_intact_bridge(); + thread rock_mob(); + thread maps\sanfran_lighting::bridge_collapse_screen_effects(); + cleanup_explosion_ents(); + common_scripts\utility::flag_set("flag_dialog_van_collapse"); + foreach(var_04 in level.collapse_scene_ents) + { + var_04 show(); + var_04 thread animate_collapse_ent(level.explosion_scene_org); + } + + common_scripts\utility::flag_set("flag_van_explosion_start"); + level.explosion_scene_org maps\_anim::anim_single(level.collapse_scene_ents_long,"collapse_scene"); + soundscripts\_snd::snd_music_message("starting_bridge_collapse"); + soundscripts\_snd::snd_message("bridge_collapsed"); + level.player unlink(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.player disableslowaim(); + level.player_rig hide(); + maps\sanfran_util::setup_squad_for_gameplay(); + foreach(var_04 in level.collapse_scene_ents) + { + delete_collapse_ent(var_04); + } + + level thread start_bridge_after_loop(level.explosion_scene_org); + cleanup_road_flares(); + var_14 = getent("saint_boost_teleport","targetname"); + level.saint forceteleport(var_14.origin,var_14.angles); + common_scripts\utility::flag_set("flag_enable_battle_chatter"); + level thread handle_boost_jump(); +} + +//Function Number: 120 +handle_player_exo_punch() +{ + self waittill("trigger"); + level.player allowmelee(0); + level.player maps\_utility::playerallowalternatemelee(0); +} + +//Function Number: 121 +play_deploy_scene_handcuff_ents() +{ + var_00 = level.deploy_scene_handcuff_ents; + foreach(var_02 in var_00) + { + if(!isalive(var_02) || isdefined(self.delayeddeath) && self.delayeddeath) + { + continue; + } + + if(isdefined(var_02.magic_bullet_shield) && var_02.magic_bullet_shield == 1) + { + continue; + } + + var_02.allowdeath = 0; + maps\sanfran_util::ai_start_magic_bullet_shield(var_02); + } + + if(isdefined(var_00[0]) && isalive(var_00[0])) + { + level.explosion_scene_org thread maps\_anim::anim_single_solo(var_00[0],"deploy_scene"); + level.explosion_scene_org thread maps\_anim::anim_single_solo(var_00[3],"deploy_scene"); + } + + if(isdefined(var_00[1]) && isalive(var_00[1])) + { + level.explosion_scene_org thread maps\_anim::anim_single_solo(var_00[1],"deploy_scene"); + level.explosion_scene_org thread maps\_anim::anim_single_solo(var_00[2],"deploy_scene"); + } +} + +//Function Number: 122 +delete_atlas_van_driver(param_00) +{ + level waittill("van_door_interact"); + maps\sanfran_util::ai_end_magic_bullet_shield(param_00); + param_00 maps\sanfran_util::kill_no_react(); +} + +//Function Number: 123 +disable_threat_atlas_van_driver(param_00) +{ + common_scripts\utility::flag_wait("flag_approach_scene_begin"); + var_01 = getanimlength(param_00 maps\_utility::getanim("approach_scene")); + wait(var_01); + param_00 maps\_variable_grenade::clear_guy_fx(); + param_00 maps\_utility::pretend_to_be_dead(); +} + +//Function Number: 124 +bridge_collapse_rumble() +{ + level endon("flag_obj_player_on_MOB"); + thread bridge_collapse_rumble_steady(); + thread bridge_collapse_rumble_timed(); + level.player common_scripts\utility::delaycall(11.75,::playrumbleonentity,"heavy_1s"); +} + +//Function Number: 125 +bridge_collapse_rumble_steady() +{ + wait(12); + var_00 = maps\_utility::get_rumble_ent("steady_rumble"); + var_00.intensity = 0.1; + wait 0.05; + var_00 maps\_utility::delaythread(0.5,::maps\_utility::rumble_ramp_to,0.3,1.5); + var_00 maps\_utility::delaythread(8,::maps\_utility::rumble_ramp_to,0,1); + var_00 maps\_utility::delaythread(13.5,::maps\_utility::rumble_ramp_to,0.3,0.5); + var_00 maps\_utility::delaythread(16,::maps\_utility::rumble_ramp_to,0,0.1); + var_00 maps\_utility::delaythread(26.5,::maps\_utility::rumble_ramp_to,0.3,0.9); + var_00 maps\_utility::delaythread(29,::maps\_utility::rumble_ramp_to,2,0.1); + var_00 maps\_utility::delaythread(29.5,::maps\_utility::rumble_ramp_to,0.3,0.1); + var_00 maps\_utility::delaythread(33,::maps\_utility::rumble_ramp_to,0.7,3); + var_00 maps\_utility::delaythread(37,::maps\_utility::rumble_ramp_to,0,1); + var_00 common_scripts\utility::delaycall(42,::stoprumble,"steady_rumble"); + wait(44); + var_00 delete(); +} + +//Function Number: 126 +bridge_collapse_rumble_timed() +{ + level.player common_scripts\utility::delaycall(8,::playrumbleonentity,"heavy_1s"); + level.player common_scripts\utility::delaycall(9,::playrumbleonentity,"riotshield_impact"); + level.player common_scripts\utility::delaycall(23,::playrumbleonentity,"light_1s"); + level.player common_scripts\utility::delaycall(23.2,::playrumbleonentity,"light_1s"); + level.player common_scripts\utility::delaycall(23.8,::playrumbleonentity,"light_1s"); + level.player common_scripts\utility::delaycall(24.2,::playrumbleonentity,"light_1s"); + level.player common_scripts\utility::delaycall(26,::playrumbleonentity,"heavy_1s"); + level.player common_scripts\utility::delaycall(27.5,::playrumbleonentity,"heavy_2s"); + level.player common_scripts\utility::delaycall(30.5,::playrumbleonentity,"light_1s"); + level.player common_scripts\utility::delaycall(40.5,::playrumbleonentity,"heavy_1s"); + level.player common_scripts\utility::delaycall(50,::playrumbleonentity,"riotshield_impact"); + level.player common_scripts\utility::delaycall(51.5,::playrumbleonentity,"light_1s"); + level.player common_scripts\utility::delaycall(67.8,::playrumbleonentity,"heavy_1s"); + level.player common_scripts\utility::delaycall(70,::playrumbleonentity,"light_1s"); + level.player common_scripts\utility::delaycall(70.4,::playrumbleonentity,"light_1s"); + level.player common_scripts\utility::delaycall(72.65,::playrumbleonentity,"riotshield_impact"); + level.player common_scripts\utility::delaycall(78.4,::playrumbleonentity,"light_1s"); +} + +//Function Number: 127 +debug_timer() +{ + var_00 = 0; + for(;;) + { + iprintlnbold("Seconds: " + var_00); + var_00 = var_00 + 1; + wait(1); + } +} + +//Function Number: 128 +take_car_door_shields() +{ + self notify("remove_car_doors"); +} + +//Function Number: 129 +cleanup_road_flares() +{ + var_00 = getentarray("bridge_collapse_road_flare","script_noteworthy"); + foreach(var_02 in var_00) + { + if(var_02.classname == "script_model") + { + var_02 delete(); + } + } +} + +//Function Number: 130 +handle_early_approach() +{ + self waittill("trigger"); + level.explosion_scene_org notify("stop_early_barrier_loop"); + level.early_approach_guy maps\_utility::anim_stopanimscripted(); + level.explosion_scene_org maps\_anim::anim_single_solo(level.early_approach_guy,"approach_scene"); + common_scripts\utility::flag_set("flag_approach_scene_begin"); + level.explosion_scene_org thread maps\_anim::anim_loop_solo(level.early_approach_guy,"approach_idle","stop_approach_loop"); +} + +//Function Number: 131 +animate_collapse_ent(param_00) +{ + if(isai(self)) + { + if(self.animname != "human_sentinel_2") + { + maps\_utility::gun_remove(); + } + + self.name = " "; + } + + param_00 maps\_anim::anim_single_solo(self,"collapse_scene"); + delete_collapse_ent(self); +} + +//Function Number: 132 +show_normal_handles() +{ + self hidepart("rear_handle_obj_left_jnt"); + self hidepart("rear_handle_obj_right_jnt"); +} + +//Function Number: 133 +show_glowy_handles() +{ + self showpart("rear_handle_obj_left_jnt"); + self showpart("rear_handle_obj_right_jnt"); +} + +//Function Number: 134 +delete_collapse_ent(param_00) +{ + if(!isdefined(param_00)) + { + return; + } + + if(maps\_utility::is_in_array(level.heroes,param_00)) + { + return; + } + + if(maps\_utility::is_in_array(level.after_collpase_ents,param_00)) + { + return; + } + + if(isai(param_00)) + { + param_00 maps\_utility::stop_magic_bullet_shield(); + } + + param_00 delete(); +} + +//Function Number: 135 +swap_brigde_anim_to_real(param_00) +{ + foreach(var_02 in level.explosion_scene_bridge) + { + if(common_scripts\utility::array_contains(level.after_collpase_ents,var_02)) + { + continue; + } + + if(var_02.model == "ggb_collapse_03_chunkg") + { + continue; + } + + var_02 hide(); + } + + maps\sanfran_util::show_fallen_bridge(); +} + +//Function Number: 136 +swap_brigde_anim_to_real_far(param_00) +{ + foreach(var_02 in level.explosion_scene_bridge) + { + if(common_scripts\utility::array_contains(level.after_collpase_ents,var_02)) + { + continue; + } + + var_02 hide(); + } + + maps\sanfran_util::show_far_bridge(); + maps\sanfran_util::connectpaths_ents_by_targetname("collapse_clip"); + maps\sanfran_util::delete_ents_by_targetname("collapse_clip"); +} + +//Function Number: 137 +start_bridge_after_loop(param_00) +{ + param_00 maps\_anim::anim_loop(level.after_collpase_ents,"after_collapse_idle"); +} + +//Function Number: 138 +start_slow_mo(param_00) +{ + setslowmotion(1,0.2,0.1); +} + +//Function Number: 139 +stop_slow_mo(param_00) +{ + setslowmotion(0.2,1,0.9); +} + +//Function Number: 140 +cracked_windshield_swap(param_00) +{ + var_01 = spawn("script_model",param_00.origin); + var_01.origin = param_00.origin; + var_01.angles = param_00.angles; + var_01 linkto(param_00); + var_01 setmodel("vehicle_civ_domestic_sedan_police_static_dstry02"); + param_00 hide(); + thread maps\sanfran_lighting::attach_light_to_police_car(var_01); + param_00 waittill("death"); + var_01 delete(); +} + +//Function Number: 141 +cleanup_explosion_ents() +{ + level.explosion_scene_org notify("stop_always_loop"); + var_00 = []; + var_00 = common_scripts\utility::array_combine(var_00,level.idle_scene_ents); + var_00 = common_scripts\utility::array_combine(var_00,level.barrier_scene_ents); + var_00 = common_scripts\utility::array_combine(var_00,level.approach_scene_ents); + var_00 = common_scripts\utility::array_combine(var_00,level.approach_idle_ents); + var_00 = common_scripts\utility::array_combine(var_00,level.deploy_scene_ents); + var_00 = common_scripts\utility::array_combine(var_00,level.always_loop_ents); + clearallcorpses(); + foreach(var_02 in var_00) + { + if(!isdefined(var_02)) + { + continue; + } + + if(maps\_utility::is_in_array(level.collapse_scene_ents,var_02)) + { + continue; + } + + if(maps\_utility::is_in_array(level.collapse_scene_ents_long,var_02)) + { + continue; + } + + if(maps\_utility::is_in_array(level.after_collpase_ents,var_02)) + { + continue; + } + + if(isai(var_02)) + { + var_02 maps\_utility::stop_magic_bullet_shield(); + } + + var_02 delete(); + } +} + +//Function Number: 142 +rock_mob() +{ + var_00 = getent("mob_rocking_origin","targetname"); + var_01 = getent("mob_rocking_attachment_ent","targetname"); + var_01.animname = "MOB"; + var_01 useanimtree(#animtree); + var_02 = getentarray("mob_brushmodel","targetname"); + foreach(var_04 in var_02) + { + var_04 linkto(var_01,"jnt_boat"); + } + + var_06 = getentarray("mob_models","targetname"); + foreach(var_08 in var_06) + { + var_08 linkto(var_02[0]); + } + + while(!common_scripts\utility::flag("flag_stop_mob_rocking")) + { + var_00 maps\_anim::anim_single_solo(var_01,"mob_sway"); + } + + var_00 maps\_anim::anim_single_solo(var_01,"mob_sway_stop"); +} + +//Function Number: 143 +setup_bridge_explosion_anim_sequence() +{ + if(level.currentgen) + { + while(!istransientloaded("sanfran_bigm_tr")) + { + wait(0.05); + } + } + + level.idle_scene_ents = []; + level.barrier_scene_ents = []; + level.approach_scene_ents = []; + level.approach_idle_ents = []; + level.deploy_scene_ents = []; + level.collapse_scene_ents = []; + level.collapse_scene_ents_long = []; + level.after_collpase_ents = []; + level.deploy_scene_handcuff_ents = []; + level.animated_gun = []; + level.always_loop_ents = []; + level.player_rig = maps\_utility::spawn_anim_model("player_rig"); + level.player_rig hide(); + level.deploy_scene_ents[level.deploy_scene_ents.size] = level.player_rig; + level.collapse_scene_ents_long[level.collapse_scene_ents_long.size] = level.player_rig; + level.collapse_scene_ents_long[level.collapse_scene_ents_long.size] = level.burke; + level.explosion_scene_org = getent("bridge_explosion_origin","targetname"); + setup_bridge_explosion_anim_sequence_vehicles(); + setup_bridge_explosion_anim_sequence_humans(); + setup_bridge_explosion_anim_sequence_bridge(); + level.explosion_scene_org maps\_anim::anim_first_frame(level.collapse_scene_ents,"collapse_scene"); + level.explosion_scene_org maps\_anim::anim_first_frame(level.deploy_scene_ents,"deploy_scene"); + level.explosion_scene_org maps\_anim::anim_first_frame(level.deploy_scene_handcuff_ents,"deploy_scene"); + level.explosion_scene_org maps\_anim::anim_first_frame(level.approach_scene_ents,"approach_scene"); + foreach(var_01 in level.barrier_scene_ents) + { + if(var_01.animname == "human_sentinel_7") + { + level.explosion_scene_org thread maps\_anim::anim_loop_solo(var_01,"barrier_scene","stop_early_barrier_loop"); + continue; + } + + level.explosion_scene_org thread maps\_anim::anim_loop_solo(var_01,"barrier_scene","stop_barrier_loop"); + } + + foreach(var_01 in level.idle_scene_ents) + { + level.explosion_scene_org thread maps\_anim::anim_loop_solo(var_01,"idle_scene","stop_idle_loop"); + } + + foreach(var_01 in level.always_loop_ents) + { + level.explosion_scene_org thread maps\_anim::anim_loop_solo(var_01,"always_loop_scene","stop_always_loop"); + } + + level thread start_bridge_overwatch_heli(); + maps\sanfran_util::notsolid_ents_by_targetname("collapse_clip"); +} + +//Function Number: 144 +start_bridge_overwatch_heli() +{ + level.overwatch_heli = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("explosion_overwatch_heli"); + level.overwatch_heli maps\_vehicle::godon(); + level.overwatch_heli maps\sanfran_util::riders_no_damage(); + var_00 = level.overwatch_heli maps\sanfran_util::heli_get_shooters(); + foreach(var_02 in var_00) + { + var_02.ignoreall = 1; + var_02 laseron(); + } + + common_scripts\utility::flag_wait("flag_van_explosion_start"); + var_04 = common_scripts\utility::getstruct("overwatch_heli_peel_off","targetname"); + level.overwatch_heli thread maps\_vehicle_code::_vehicle_paths(var_04); +} + +//Function Number: 145 +at_van_enemy_cleanup() +{ + level endon("elevator_ascend"); + self endon("van_cleanup_complete"); + var_00 = getent("at_van_enemy_cleanup","targetname"); + for(;;) + { + common_scripts\utility::flag_wait("flag_at_van_enemy_cleanup"); + var_01 = getaiarray("axis"); + var_02 = []; + foreach(var_04 in var_01) + { + if(isdefined(var_04.van_scene_axis) && var_04.van_scene_axis == 1) + { + var_02 = common_scripts\utility::array_add(var_02,var_04); + } + } + + var_01 = common_scripts\utility::array_remove_array(var_01,var_02); + foreach(var_04 in var_01) + { + if(isdefined(var_04) && !maps\_utility::player_can_see_ai(var_04)) + { + var_04 kill(); + } + + var_07 = randomfloatrange(0.05,0.2); + wait(var_07); + } + + if(isdefined(var_01) && var_01.size < 1) + { + var_00 delete(); + common_scripts\utility::flag_set("van_cleanup_complete"); + } + + wait(0.5); + } +} + +//Function Number: 146 +setup_bridge_explosion_anim_sequence_vehicles() +{ + var_00 = maps\_vehicle::spawn_vehicle_from_targetname("van_scene_vehicle_chopper"); + var_00 soundscripts\_snd::snd_message("pre_bridge_collapse_helo_idle"); + var_00 maps\_utility::delaythread(0.2,::soundscripts\_snd::snd_message,"snd_stop_vehicle"); + var_00.animname = "chopper_1"; + var_00 useanimtree(#animtree); + var_00 maps\_vehicle::godon(); + if(level.nextgen) + { + var_00 vehicle_scripts\_littlebird::show_static_rotors(); + } + + level.idle_scene_ents[level.idle_scene_ents.size] = var_00; + thread setup_helicopter_blades_damage(); + var_01 = spawn("script_model",(0,0,-1000)); + var_01 setmodel("vehicle_sentinel_littlebird_dstrypv"); + var_01 hide(); + var_01.animname = "broken_helo"; + var_01 useanimtree(#animtree); + level.collapse_scene_ents[level.collapse_scene_ents.size] = var_01; + var_02 = maps\_vehicle::spawn_vehicle_from_targetname("van_scene_vehicle_van"); + var_02 maps\_vehicle::godon(); + var_02.animname = "van"; + var_02 useanimtree(#animtree); + level.approach_scene_ents[level.approach_scene_ents.size] = var_02; + level.deploy_scene_ents[level.deploy_scene_ents.size] = var_02; + level.collapse_scene_ents[level.collapse_scene_ents.size] = var_02; + level.explosion_van = var_02; + level.explosion_scene_drones = []; + for(var_03 = 0;var_03 < 12;var_03++) + { + var_04 = spawn("script_model",var_02.origin); + var_04 setmodel("vehicle_atlas_assault_drone"); + var_04.animname = "drone_" + var_03 + 1; + var_04 useanimtree(#animtree); + var_04 hide(); + level.explosion_scene_drones[level.explosion_scene_drones.size] = var_04; + level.deploy_scene_ents[level.deploy_scene_ents.size] = var_04; + } + + var_05 = spawn("script_model",var_02.origin); + var_05 setmodel("vehicle_atlas_assault_drone_large"); + var_05.animname = "large_drone"; + var_05 useanimtree(#animtree); + level.deploy_scene_ents[level.deploy_scene_ents.size] = var_05; + level.explosion_scene_drone_large = var_05; + var_06 = maps\_vehicle::spawn_vehicle_from_targetname("van_scene_truck01"); + var_06.animname = "truck01"; + var_06 useanimtree(#animtree); + level.collapse_scene_ents[level.collapse_scene_ents.size] = var_06; + var_06 = maps\_vehicle::spawn_vehicle_from_targetname("van_scene_truck02"); + var_06.animname = "truck02"; + var_06 useanimtree(#animtree); + level.collapse_scene_ents[level.collapse_scene_ents.size] = var_06; + var_07 = maps\_vehicle::spawn_vehicles_from_targetname("van_scene_vehicle_copcar"); + soundscripts\_snd::snd_message("spawn_parked_police_car",var_07); + for(var_03 = 0;var_03 < var_07.size;var_03++) + { + var_07[var_03].animname = "copcar_" + var_03 + 1; + var_07[var_03] useanimtree(#animtree); + var_07[var_03] thread maps\sanfran_fx::cop_car_lights_on_barricade(); + if(var_07[var_03].animname != "copcar_11") + { + level.approach_scene_ents[level.approach_scene_ents.size] = var_07[var_03]; + level.deploy_scene_ents[level.deploy_scene_ents.size] = var_07[var_03]; + level.collapse_scene_ents[level.collapse_scene_ents.size] = var_07[var_03]; + continue; + } + + level.approach_scene_ents[level.approach_scene_ents.size] = var_07[var_03]; + } + + var_08 = maps\_vehicle::spawn_vehicle_from_targetname("van_scene_atlas_suv"); + var_08 maps\_vehicle::godon(); + var_08.animname = "atlas_suv"; + var_08 useanimtree(#animtree); + level.approach_scene_ents[level.approach_scene_ents.size] = var_08; + var_09 = maps\_vehicle::spawn_vehicle_from_targetname("van_scene_vehicle_bus"); + var_09.animname = "bus"; + var_09 useanimtree(#animtree); + var_09 hide(); + level.collapse_scene_ents[level.collapse_scene_ents.size] = var_09; + var_0A = maps\_vehicle::spawn_vehicle_from_targetname("van_scene_vehicle_compact"); + var_0A.animname = "compact"; + var_0A useanimtree(#animtree); + level.collapse_scene_ents[level.collapse_scene_ents.size] = var_0A; +} + +//Function Number: 147 +setup_bridge_explosion_anim_sequence_humans() +{ + var_00 = getentarray("van_scene_spawner_atlas","targetname"); + for(var_01 = 0;var_01 < var_00.size;var_01++) + { + if(var_01 == 2 || var_01 == 3) + { + continue; + } + + var_02 = var_00[var_01] maps\_utility::spawn_ai(1,1); + var_02.ignoreme = 1; + var_02.ignoreall = 1; + var_02.animname = "human_atlas_" + var_01 + 1; + var_02.ignoresonicaoe = 1; + var_02.van_scene_axis = 1; + if(var_02.animname == "human_atlas_1") + { + var_02 maps\_utility::gun_remove(); + var_03 = 1; + var_02.allowdeath = 1; + var_02.health = 1; + var_02 maps\_utility::stop_magic_bullet_shield(); + var_02 thread remove_from_idle_array_on_death(var_03); + var_02.noragdoll = undefined; + level.approach_scene_ents[level.approach_scene_ents.size] = var_02; + level.approach_idle_ents[level.approach_idle_ents.size] = var_02; + level.deploy_scene_handcuff_ents[level.deploy_scene_handcuff_ents.size] = var_02; + level.collapse_scene_ents[level.collapse_scene_ents.size] = var_02; + } + + if(var_02.animname == "human_atlas_2") + { + var_03 = 0; + var_02.allowdeath = 1; + var_02.health = 1; + var_02 maps\_utility::stop_magic_bullet_shield(); + var_02 thread remove_from_idle_array_on_death(var_03); + var_02.noragdoll = undefined; + level.barrier_scene_ents[level.barrier_scene_ents.size] = var_02; + level.approach_scene_ents[level.approach_scene_ents.size] = var_02; + level.approach_idle_ents[level.approach_idle_ents.size] = var_02; + level.deploy_scene_handcuff_ents[level.deploy_scene_handcuff_ents.size] = var_02; + level.collapse_scene_ents[level.collapse_scene_ents.size] = var_02; + } + + if(var_02.animname == "human_atlas_3") + { + level.approach_idle_ents[level.approach_idle_ents.size] = var_02; + level.deploy_scene_ents[level.deploy_scene_ents.size] = var_02; + } + + if(var_02.animname == "human_atlas_4") + { + level.approach_idle_ents[level.approach_idle_ents.size] = var_02; + level.deploy_scene_ents[level.deploy_scene_ents.size] = var_02; + } + + if(var_02.animname == "human_atlas_5") + { + var_02 maps\_utility::gun_remove(); + level.approach_scene_ents[level.approach_scene_ents.size] = var_02; + level.approach_idle_ents[level.approach_idle_ents.size] = var_02; + thread delete_atlas_van_driver(var_02); + thread disable_threat_atlas_van_driver(var_02); + } + } + + var_00 = getentarray("van_scene_spawner_sentinel","targetname"); + for(var_01 = 0;var_01 < var_00.size;var_01++) + { + if(var_01 == 11 || var_01 == 13) + { + continue; + } + + var_02 = var_00[var_01] maps\_utility::spawn_ai(1,1); + var_02.ignoreme = 1; + var_02.ignoreall = 1; + var_02.animname = "human_sentinel_" + var_01 + 1; + level.approach_scene_ents[level.approach_scene_ents.size] = var_02; + if(var_02.animname == "human_sentinel_1") + { + level.barrier_scene_ents[level.barrier_scene_ents.size] = var_02; + level.deploy_scene_ents[level.deploy_scene_ents.size] = var_02; + level.approach_idle_ents[level.approach_idle_ents.size] = var_02; + level.sentinel_op1 = var_02; + } + + if(var_02.animname == "human_sentinel_2") + { + level.barrier_scene_ents[level.barrier_scene_ents.size] = var_02; + level.deploy_scene_handcuff_ents[level.deploy_scene_handcuff_ents.size] = var_02; + level.approach_idle_ents[level.approach_idle_ents.size] = var_02; + level.collapse_scene_ents[level.collapse_scene_ents.size] = var_02; + level.sentinel_op2 = var_02; + } + + if(var_02.animname == "human_sentinel_3") + { + level.barrier_scene_ents[level.barrier_scene_ents.size] = var_02; + level.deploy_scene_handcuff_ents[level.deploy_scene_handcuff_ents.size] = var_02; + level.approach_idle_ents[level.approach_idle_ents.size] = var_02; + } + + if(var_02.animname == "human_sentinel_4") + { + level.barrier_scene_ents[level.barrier_scene_ents.size] = var_02; + level.deploy_scene_ents[level.deploy_scene_ents.size] = var_02; + level.approach_idle_ents[level.approach_idle_ents.size] = var_02; + level.collapse_scene_ents[level.collapse_scene_ents.size] = var_02; + level.sentinel_op4 = var_02; + } + + if(var_02.animname == "human_sentinel_5") + { + level.barrier_scene_ents[level.barrier_scene_ents.size] = var_02; + level.deploy_scene_ents[level.deploy_scene_ents.size] = var_02; + level.approach_idle_ents[level.approach_idle_ents.size] = var_02; + level.collapse_scene_ents[level.collapse_scene_ents.size] = var_02; + } + + if(var_02.animname == "human_sentinel_6") + { + level.barrier_scene_ents[level.barrier_scene_ents.size] = var_02; + level.deploy_scene_ents[level.deploy_scene_ents.size] = var_02; + level.approach_idle_ents[level.approach_idle_ents.size] = var_02; + } + + if(var_02.animname == "human_sentinel_7") + { + level.barrier_scene_ents[level.barrier_scene_ents.size] = var_02; + level.deploy_scene_ents[level.deploy_scene_ents.size] = var_02; + level.approach_scene_ents = common_scripts\utility::array_remove(level.approach_scene_ents,var_02); + level.collapse_scene_ents[level.collapse_scene_ents.size] = var_02; + level.early_approach_guy = var_02; + } + + if(var_02.animname == "human_sentinel_8") + { + level.barrier_scene_ents[level.barrier_scene_ents.size] = var_02; + level.deploy_scene_ents[level.deploy_scene_ents.size] = var_02; + level.approach_idle_ents[level.approach_idle_ents.size] = var_02; + } + + if(var_02.animname == "human_sentinel_9") + { + level.barrier_scene_ents[level.barrier_scene_ents.size] = var_02; + level.deploy_scene_ents[level.deploy_scene_ents.size] = var_02; + level.approach_idle_ents[level.approach_idle_ents.size] = var_02; + level.collapse_scene_ents[level.collapse_scene_ents.size] = var_02; + } + + if(var_02.animname == "human_sentinel_10") + { + level.collapse_scene_ents[level.collapse_scene_ents.size] = var_02; + level.deploy_scene_ents[level.deploy_scene_ents.size] = var_02; + } + + if(var_02.animname == "human_sentinel_11") + { + level.collapse_scene_ents[level.collapse_scene_ents.size] = var_02; + level.deploy_scene_ents[level.deploy_scene_ents.size] = var_02; + } + } + + var_04 = getent("van_scene_spawner_police_special","targetname"); + var_02 = var_04 maps\_utility::spawn_ai(1,1); + var_02.ignoreme = 1; + var_02.ignoreall = 1; + var_02.animname = "human_police_1"; + level.collapse_cop = var_02; + level.barrier_scene_ents[level.barrier_scene_ents.size] = var_02; + level.approach_scene_ents[level.approach_scene_ents.size] = var_02; + level.approach_idle_ents[level.approach_idle_ents.size] = var_02; + level.deploy_scene_ents[level.deploy_scene_ents.size] = var_02; + level.collapse_scene_ents[level.collapse_scene_ents.size] = var_02; + var_04 = getent("van_scene_spawner_police","targetname"); + var_02 = var_04 maps\_utility::spawn_ai(1,1); + var_02.ignoreme = 1; + var_02.ignoreall = 1; + var_02.animname = "human_police_2"; + level.always_loop_ents[level.always_loop_ents.size] = var_02; + level.collapse_scene_ents[level.collapse_scene_ents.size] = var_02; + var_00 = getentarray("van_scene_spawner_civilian","targetname"); + for(var_01 = 0;var_01 < var_00.size;var_01++) + { + var_02 = var_00[var_01] maps\_utility::spawn_ai(1,1); + var_02.ignoreme = 1; + var_02.ignoreall = 1; + var_02.animname = "human_civilian_" + var_01 + 1; + level.collapse_scene_ents[level.collapse_scene_ents.size] = var_02; + } +} + +//Function Number: 148 +setup_bridge_explosion_anim_sequence_bridge() +{ + level.explosion_scene_bridge = []; + for(var_00 = 1;var_00 <= 7;var_00++) + { + var_01 = spawn("script_model",(0,0,-1000)); + if(var_00 == 1) + { + var_01 setmodel("ggb_collapse_03_chunka"); + level.deploy_scene_ents[level.deploy_scene_ents.size] = var_01; + level.after_collpase_ents[level.after_collpase_ents.size] = var_01; + } + else if(var_00 == 2) + { + var_01 setmodel("ggb_collapse_03_chunkb"); + level.deploy_scene_ents[level.deploy_scene_ents.size] = var_01; + level.after_collpase_ents[level.after_collpase_ents.size] = var_01; + } + else if(var_00 == 3) + { + var_01 setmodel("ggb_collapse_03_chunkc"); + level.deploy_scene_ents[level.deploy_scene_ents.size] = var_01; + level.after_collpase_ents[level.after_collpase_ents.size] = var_01; + } + else if(var_00 == 4) + { + var_01 setmodel("ggb_collapse_03_chunkd"); + level.deploy_scene_ents[level.deploy_scene_ents.size] = var_01; + level.after_collpase_ents[level.after_collpase_ents.size] = var_01; + } + else if(var_00 == 5) + { + var_01 setmodel("ggb_collapse_03_chunke"); + } + else if(var_00 == 6) + { + var_01 setmodel("ggb_collapse_03_chunkf"); + } + else if(var_00 == 7) + { + var_01 setmodel("ggb_collapse_03_chunkg"); + level.deploy_scene_ents[level.deploy_scene_ents.size] = var_01; + } + + var_01.animname = "bridge0" + var_00; + var_01 useanimtree(#animtree); + var_01 hide(); + level.explosion_scene_bridge[level.explosion_scene_bridge.size] = var_01; + level.collapse_scene_ents[level.collapse_scene_ents.size] = var_01; + } + + for(var_00 = 1;var_00 <= 2;var_00++) + { + var_02 = spawn("script_model",(0,0,-1000)); + var_02 setmodel("ggb_cable_hero_01"); + var_02.animname = "rope_" + var_00; + var_02 useanimtree(#animtree); + var_02 hide(); + level.deploy_scene_ents[level.deploy_scene_ents.size] = var_02; + } + + var_03 = spawn("script_model",(0,0,-1000)); + var_03 setmodel("vm_hbra3_nocamo"); + var_03.animname = "gun"; + var_03 useanimtree(#animtree); + var_03 hide(); + level.deploy_scene_ents[level.deploy_scene_ents.size] = var_03; + for(var_00 = 1;var_00 <= 2;var_00++) + { + var_03 = spawn("script_model",(0,0,-1000)); + var_03 setmodel("npc_sn6_base_black"); + var_03.animname = "sn6_0" + var_00; + var_03 useanimtree(#animtree); + level.animated_gun[var_00] = var_03; + level.approach_scene_ents[level.approach_scene_ents.size] = var_03; + if(var_03.animname == "sn6_02") + { + level.approach_idle_ents[level.approach_idle_ents.size] = var_03; + } + } + + var_04 = spawn("script_model",(0,0,-1000)); + var_04 setmodel("deployable_cover"); + var_04.animname = "cover"; + var_04 useanimtree(#animtree); + level.approach_scene_ents[level.approach_scene_ents.size] = var_04; + var_05 = spawn("script_model",level.player.origin); + var_05 setmodel("vm_lasercutter"); + var_05 hide(); + var_05.animname = "cutter"; + var_05 useanimtree(#animtree); + level.deploy_scene_ents[level.deploy_scene_ents.size] = var_05; + level.cutter = var_05; +} + +//Function Number: 149 +remove_from_idle_array_on_death(param_00) +{ + self waittill("death"); + if(param_00) + { + var_01 = level.animated_gun; + var_02 = var_01[1].origin; + var_03 = spawn("script_model",var_01[1].origin); + var_03.angles = var_01[1].angles; + var_03 setmodel(var_01[1].model); + var_01[1] delete(); + var_03 physicslaunchclient(var_03.origin,(0,15,200)); + } + + level.barrier_scene_ents = common_scripts\utility::array_remove(level.barrier_scene_ents,self); + level.approach_scene_ents = common_scripts\utility::array_remove(level.approach_scene_ents,self); + level.approach_idle_ents = common_scripts\utility::array_remove(level.approach_idle_ents,self); + level.collapse_scene_ents = common_scripts\utility::array_remove(level.collapse_scene_ents,self); +} + +//Function Number: 150 +handle_boost_jump() +{ + common_scripts\utility::flag_set("flag_obj_boost_to_MOB"); + maps\_utility::autosave_by_name(); + level thread move_overwatch_heli_to_slope(); + level thread maps\sanfran_util::give_boost_jump(); + common_scripts\utility::run_thread_on_targetname("trigger_boost_down_color",::boost_down_in_order); + common_scripts\utility::run_thread_on_noteworthy("trigger_boost_burke_lets_go",::boost_lets_go); + maps\_utility::activate_trigger_with_targetname("start_boost_jump"); + common_scripts\utility::flag_set("start_boost_lighting"); + common_scripts\utility::flag_set("flag_dialog_start_boost"); + common_scripts\utility::flag_set("flag_dialog_boost_nag"); + common_scripts\utility::flag_set("flag_dialog_boost_chatter"); + level notify("vfx_boost_jump_start"); + common_scripts\utility::run_thread_on_targetname("trigger_on_ship",::wait_till_on_ship); +} + +//Function Number: 151 +boost_lets_go() +{ + self endon("death"); + self waittill("trigger"); + level thread anim_burke_boost_lets_go(); +} + +//Function Number: 152 +anim_burke_boost_lets_go() +{ + var_00 = getent("boost_burke_lets_go","targetname"); + var_01 = getnode("boost_burke_lets_go_goal","targetname"); + var_00 maps\_anim::anim_reach_solo(level.burke,"boost_go"); + var_00 maps\_anim::anim_single_solo_run(level.burke,"boost_go"); + level.burke thread maps\_spawner::go_to_node(var_01); + level.burke maps\_utility::enable_ai_color_dontmove(); +} + +//Function Number: 153 +wait_till_on_ship() +{ + self waittill("trigger"); + common_scripts\utility::flag_set("flag_obj_player_on_MOB"); + wait(1); + if(isalive(level.player)) + { + maps\_loadout_code::saveplayerweaponstatepersistent("sanfran",1); + maps\_utility::nextmission(); + } +} + +//Function Number: 154 +boost_down_in_order() +{ + self endon("death"); + self waittill("trigger"); + var_00 = getentarray("trigger_boost_down_color","targetname"); + foreach(var_02 in var_00) + { + if(var_02.script_index < self.script_index) + { + var_02 delete(); + } + } + + wait(0.05); + self delete(); +} + +//Function Number: 155 +move_overwatch_heli_to_slope() +{ + if(!isdefined(level.overwatch_heli)) + { + level.overwatch_heli = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("explosion_overwatch_heli"); + level.overwatch_heli maps\_vehicle::godon(); + level.overwatch_heli maps\sanfran_util::riders_no_damage(); + var_00 = level.overwatch_heli maps\sanfran_util::heli_get_shooters(); + foreach(var_02 in var_00) + { + var_02.ignoreall = 1; + var_02 laseron(); + } + } + + var_04 = common_scripts\utility::getstruct("overwatch_heli_boost","targetname"); + level.overwatch_heli thread maps\_vehicle_code::_vehicle_paths(var_04); +} + +//Function Number: 156 +railing_dangerzone_think() +{ + var_00 = []; + for(;;) + { + common_scripts\utility::flag_wait("railing_danger_zone_touching"); + var_01 = getaiarray("axis"); + foreach(var_03 in var_01) + { + if(randomfloat(100) < 75 && isalive(var_03) && !isdefined(var_03.isseeking)) + { + var_03 thread dangerzone_enemy_seek_player(); + var_00 = common_scripts\utility::array_add(var_00,var_03); + } + } + + var_05 = undefined; + common_scripts\utility::flag_waitopen("railing_danger_zone_touching"); + var_00 = []; + wait(1); + } +} + +//Function Number: 157 +dangerzone_enemy_seek_player() +{ + self endon("death"); + thread maps\_utility::player_seek_enable(); + self.isseeking = 1; + common_scripts\utility::flag_waitopen("railing_danger_zone_touching"); + thread maps\_utility::player_seek_disable(); + self.isseeking = undefined; +} \ No newline at end of file diff --git a/AW/PC/maps/sanfran_fx.gsc b/AW/PC/maps/sanfran_fx.gsc new file mode 100644 index 0000000..2e86750 --- /dev/null +++ b/AW/PC/maps/sanfran_fx.gsc @@ -0,0 +1,1127 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: sanfran_fx.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 77 + * Decompile Time: 1134 ms + * Timestamp: 4/22/2024 2:35:48 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + precachefx(); + maps\createfx\sanfran_fx::main(); + if(!isdefined(level.createfxent)) + { + level.createfxent = []; + } + + set_reactive_motion_values(); + maps\_shg_fx::setup_shg_fx(); + precacheshader("overlay_static_digital"); + common_scripts\utility::flag_init("fx_pitbull_mud_spray"); + thread maps\_shg_fx::fx_zone_watcher(1000,"msg_vfx_zone1_tunnel"); + thread maps\_shg_fx::fx_zone_watcher(2000,"msg_vfx_zone2_driving_chase"); + thread maps\_shg_fx::fx_zone_watcher(3000,"msg_vfx_zone3_bridge_on_foot"); + thread maps\_shg_fx::fx_zone_watcher(4000,"msg_vfx_zone4_collapse"); + thread cop_car_lights_on(); + thread vfx_bridge_fog_on(); + thread vfx_bridge_seagulls_on(); + thread vfx_bridge_traffic_intro(); + thread pause_bigmoment_vfx(); + thread flares_during_standoff(); + thread vfx_pitbull_mud_spray(); + thread treadfx_override(); +} + +//Function Number: 2 +set_reactive_motion_values() +{ + setsaveddvar("r_reactiveMotionWindAmplitudeScale","0.3"); +} + +//Function Number: 3 +precachefx() +{ + level._effect["tanker_explosion"] = loadfx("vfx/explosion/vehicle_fireball_explosion_01"); + level._effect["tanker_burst"] = loadfx("vfx/explosion/ambient_explosion_fireball"); + level._effect["stinger_impact"] = loadfx("vfx/explosion/ambient_explosion_fireball"); + level._effect["bird_seagull_flock_large"] = loadfx("vfx/animal/bird_seagull_flock_large"); + level._effect["sfa_traffic_intro"] = loadfx("vfx/map/sanfran_a/sfa_traffic_intro"); + level._effect["flare_ambient"] = loadfx("vfx/props/flare_ambient"); + level._effect["fog_distant_vista_dense"] = loadfx("vfx/fog/fog_distant_vista_dense"); + level._effect["fog_close_onbridge"] = loadfx("vfx/fog/fog_close_onbridge"); + level._effect["fog_distant_aerialview"] = loadfx("vfx/fog/fog_distant_aerialview"); + level._effect["fog_over_hill_slow"] = loadfx("vfx/fog/fog_over_hill_slow"); + level._effect["car_contact_spark_lrg"] = loadfx("vfx/vehiclecollision/veh_collision_sparks"); + level._effect["car_contact_asphalt_lrg"] = loadfx("vfx/vehiclecollision/veh_collision_asphalt"); + level._effect["car_contact_asphalt_a"] = loadfx("vfx/vehiclecollision/veh_collision_asphalt_a"); + level._effect["car_contact_concrete_lrg"] = loadfx("vfx/vehiclecollision/veh_collision_concrete"); + level._effect["car_contact_dirt_lrg"] = loadfx("vfx/vehiclecollision/veh_collision_dirt"); + level._effect["car_contact_spark_med"] = loadfx("vfx/vehiclecollision/veh_collision_sparks_med"); + level._effect["car_contact_asphalt_med"] = loadfx("vfx/vehiclecollision/veh_collision_asphalt_med"); + level._effect["car_contact_concrete_med"] = loadfx("vfx/vehiclecollision/veh_collision_concrete_med"); + level._effect["car_contact_dirt_med"] = loadfx("vfx/vehiclecollision/veh_collision_dirt_med"); + level._effect["car_contact_asphalt_sml"] = loadfx("vfx/vehiclecollision/veh_collision_asphalt_sml"); + level._effect["car_contact_concrete_sml"] = loadfx("vfx/vehiclecollision/veh_collision_concrete_sml"); + level._effect["car_contact_dirt_sml"] = loadfx("vfx/vehiclecollision/veh_collision_dirt_sml"); + level._effect["car_contact_spark_sml"] = loadfx("vfx/vehiclecollision/veh_collision_sparks_sml"); + level._effect["light_sedan_police_scroll"] = loadfx("vfx/lights/light_sedan_police_scroll"); + level._effect["lt_pt_pitbull_lft"] = loadfx("vfx/lights/lt_pt_pitbull_lft"); + level._effect["lt_pt_pitbull_rim"] = loadfx("vfx/lights/lt_pt_pitbull_rim"); + level._effect["lt_pt_pitbull_hud"] = loadfx("vfx/lights/lt_pt_pitbull_hud"); + level._effect["lt_pt_tunnel_car_pass"] = loadfx("vfx/lights/lt_pt_tunnel_car_pass"); + level._effect["sunflare"] = loadfx("vfx/lights/sanfran_a/sunflare"); + level._effect["cutter_ignite_light"] = loadfx("vfx/lights/sanfran_a/lt_pt_van_cutter"); + level._effect["headlight_gaz"] = loadfx("vfx/lights/headlight_gaz"); + level._effect["light_sanfran_streetlight_flare"] = loadfx("vfx/lights/sanfran_a/light_sanfran_streetlight_flare"); + level._effect["sanfran_sunflare_a"] = loadfx("vfx/lensflare/sanfran/sanfran_sunflare_a"); + level._effect["tunnel_light_flare_sanfran"] = loadfx("vfx/lensflare/sanfran/tunnel_light_flare_sanfran"); + level._effect["light_sanfran_tunnel_hazy"] = loadfx("vfx/lights/sanfran_a/light_sanfran_tunnel_hazy"); + level._effect["tunnelExit_light_sunflare_sanfran"] = loadfx("vfx/lensflare/sanfran/tunnelExit_light_sunflare_sanfran"); + level._effect["light_sanfran_pitbull_headlight"] = loadfx("vfx/lights/sanfran_a/light_sanfran_pitbull_headlight"); + level._effect["light_sanfran_pitbull_taillight"] = loadfx("vfx/lights/sanfran_a/light_sanfran_pitbull_taillight"); + level._effect["plastic_bag_01_blowing"] = loadfx("vfx/wind/plastic_bag_01_blowing"); + level._effect["plastic_bag_blowing_runner_lp"] = loadfx("vfx/wind/plastic_bag_blowing_runner_lp"); + level._effect["wind_blowing_debris"] = loadfx("vfx/wind/wind_blowing_debris"); + level._effect["smoldering_smk_direction_fast_s"] = loadfx("vfx/smoke/smoldering_smk_direction_fast_s"); + level._effect["smoldering_smk_direction_fast_m"] = loadfx("vfx/smoke/smoldering_smk_direction_fast_m"); + level._effect["smoldering_smk_direction_fast_m_shadow"] = loadfx("vfx/smoke/smoldering_smk_direction_fast_m_shadow"); + level._effect["fire_lp_l_blacksmk_thick_nonlit"] = loadfx("vfx/fire/fire_lp_l_blacksmk_thick_nonlit"); + level._effect["fireball_lp_smk_xlrg_tall_nonlit"] = loadfx("vfx/fire/fireball_lp_smk_xlrg_tall_nonlit"); + level._effect["sfa_oil_spill_fire_lp_low"] = loadfx("vfx/map/sanfran_a/sfa_oil_spill_fire_lp_low"); + level._effect["fire_vehicle_interior_small_1"] = loadfx("vfx/fire/vehicle_fire_interior_small_1"); + level._effect["fire_vehicle_interior_small_2"] = loadfx("vfx/fire/vehicle_fire_interior_small_2"); + level._effect["fire_vehicle_interior_small_3"] = loadfx("vfx/fire/vehicle_fire_interior_small_3"); + level._effect["fire_vehicle_interior_small_4"] = loadfx("vfx/fire/vehicle_fire_interior_small_4"); + level._effect["fire_vehicle_debris_small_1"] = loadfx("vfx/map/sanfran_a/sfa_fire_debris_1_wind_sm"); + level._effect["fire_vehicle_debris_small_2"] = loadfx("vfx/map/sanfran_a/sfa_fire_debris_2_wind_sm"); + level._effect["fire_vehicle_damage_smoke_1"] = loadfx("vfx/map/sanfran_a/sfa_vehicle_engine_damage_smoke_1"); + level._effect["sparks_vehicle_small_1"] = loadfx("vfx/map/sanfran_a/sfa_vehicle_sparks_runner"); + level._effect["pitbull_suv_impact"] = loadfx("vfx/map/sanfran_a/sfa_pitbull_suv_impact"); + level._effect["atlas_suv_explosion"] = loadfx("vfx/destructible/veh_atlas_suv_explo_no_parts"); + level._effect["pitbull_suv_impact_concrete"] = loadfx("vfx/map/sanfran_a/sfa_pitbull_suv_impact_concrete"); + level._effect["atlas_suv_mud_spray_bk_rt"] = loadfx("vfx/map/sanfran_a/sfa_atlas_suv_mud_spray_bk_rt"); + level._effect["atlas_suv_mud_spray_bk_lt"] = loadfx("vfx/map/sanfran_a/sfa_atlas_suv_mud_spray_bk_lt"); + level._effect["atlas_suv_mud_decal"] = loadfx("vfx/map/sanfran_a/sfa_atlas_suv_mud_decal"); + level._effect["atlas_suv_wheel_smk"] = loadfx("vfx/map/sanfran_a/sfa_pitbull_suv_wheel_smk"); + level._effect["car_window_shatter_01"] = loadfx("vfx/glass/car_window_shatter_01"); + level._effect["pitbull_skid_sparks"] = loadfx("vfx/map/sanfran_a/pitbull_skid_sparks"); + level._effect["sfa_pitbull_skid_stop_smoke"] = loadfx("vfx/map/sanfran_a/sfa_pitbull_skid_stop_smoke"); + level._effect["sfa_pitbull_crash_smoke"] = loadfx("vfx/map/sanfran_a/sfa_pitbull_crash_smoke"); + level._effect["atlas_suv_wheel_smk2"] = loadfx("vfx/map/sanfran_a/sfa_pitbull_suv_wheel_smk2"); + level._effect["pitbull_suv_impact2"] = loadfx("vfx/map/sanfran_a/sfa_pitbull_suv_impact2"); + level._effect["sfa_pitbull_incabin_flip_debris"] = loadfx("vfx/map/sanfran_a/sfa_pitbull_incabin_flip_debris"); + level._effect["burke_blood_spit"] = loadfx("vfx/blood/blood_spit"); + level._effect["blood_drip_sml_runner"] = loadfx("vfx/blood/blood_drip_sml_runner"); + level._effect["sfa_pitbull_flip_rail_impact"] = loadfx("vfx/map/sanfran_a/sfa_pitbull_flip_rail_impact"); + level._effect["gate_crash_dust"] = loadfx("vfx/map/sanfran_a/sfa_gate_crash_dust"); + level._effect["pitbull_gate_sparks"] = loadfx("vfx/map/sanfran_a/sfa_pitbull_gate_sparks"); + level._effect["pitbull_mud_spray"] = loadfx("vfx/map/sanfran_a/sfa_pitbull_mud_spray"); + level._effect["light_drone_beacon_red"] = loadfx("vfx/lights/light_drone_beacon_red"); + level._effect["drone_fan_distortion"] = loadfx("vfx/distortion/drone_fan_distortion"); + level._effect["drone_fan_distortion_large"] = loadfx("vfx/distortion/drone_fan_distortion_large"); + level._effect["drone_thruster_distortion"] = loadfx("vfx/distortion/drone_thruster_distortion"); + level._effect["boat_wake_vehicle_naval_littoral"] = loadfx("vfx/treadfx/boat_wake_vehicle_naval_littoral"); + level._effect["boat_wake_iw6_vehicle_lcs"] = loadfx("vfx/treadfx/boat_wake_iw6_vehicle_lcs"); + level._effect["boat_wake_vehicle_burke02"] = loadfx("vfx/treadfx/boat_wake_vehicle_burke02"); + level._effect["boat_wake_vehicle_san_antonio"] = loadfx("vfx/treadfx/boat_wake_vehicle_san_antonio"); + level._effect["boat_wake_vehicle_cvn_carrier"] = loadfx("vfx/treadfx/boat_wake_vehicle_cvn_carrier"); + level._effect["boat_wake_vehicle_atlas_decoy_cargo_ship"] = loadfx("vfx/treadfx/boat_wake_vehicle_atlas_decoy_cargo_ship"); + level._effect["boat_wake_vehicle_atlas_decoy_cargo_ship_side"] = loadfx("vfx/treadfx/boat_wake_vehicle_atlas_decoy_cargo_ship_s"); + level._effect["boat_wake_vehicle_mob"] = loadfx("vfx/treadfx/boat_wake_vehicle_mob"); + level._effect["veh_smartcar_stop_light_blinking"] = loadfx("vfx/lights/veh_smartcar_stop_light_blinking"); + level._effect["veh_civ_workvan_stop_light_blinking"] = loadfx("vfx/lights/veh_civ_workvan_stop_light_blinking"); + level._effect["veh_compact_stop_light_blinking"] = loadfx("vfx/lights/veh_compact_stop_light_blinking"); + level._effect["van_explosion"] = loadfx("vfx/map/sanfran_a/sfa_bigm_van_explo"); + level._effect["van_front_door_open"] = loadfx("vfx/map/sanfran_a/sfa_bigm_vanfrontdoor_open"); + level._effect["van_back_door_open"] = loadfx("vfx/map/sanfran_a/sfa_bigm_vanbackdoor_open"); + level._effect["flesh_impact_body_fatal_exit"] = loadfx("vfx/weaponimpact/flesh_impact_body_fatal_exit"); + level._effect["sfa_dust_debris_fall_01"] = loadfx("vfx/map/sanfran_a/sfa_dust_debris_fall_01"); + level._effect["sfa_dust_debris_fall_02"] = loadfx("vfx/map/sanfran_a/sfa_dust_debris_fall_02"); + level._effect["sfa_dust_debris_fall_03"] = loadfx("vfx/map/sanfran_a/sfa_dust_debris_fall_03"); + level._effect["sfa_dust_debris_fall_runner"] = loadfx("vfx/map/sanfran_a/sfa_dust_debris_fall_runner"); + level._effect["sfa_bigm_debris_fall"] = loadfx("vfx/map/sanfran_a/sfa_bigm_debris_fall"); + level._effect["sfa_bigm_ggb_part1_fall"] = loadfx("vfx/map/sanfran_a/sfa_bigm_ggb_part1_fall"); + level._effect["ash_cloud_freq_lrg_loop"] = loadfx("vfx/ash/ash_cloud_freq_lrg_loop"); + level._effect["electrical_sparks_runner"] = loadfx("vfx/explosion/electrical_sparks_runner"); + level._effect["drone_explosion"] = loadfx("vfx/map/sanfran_a/sfa_bigm_drones_explo"); + level._effect["vehicle_pdrone_explosion"] = loadfx("vfx/explosion/vehicle_pdrone_explosion"); + level._effect["sfa_bigm_gushingsmk"] = loadfx("vfx/map/sanfran_a/sfa_bigm_gushingsmk"); + level._effect["sfa_bigm_van_explo_smk_stack"] = loadfx("vfx/map/sanfran_a/sfa_bigm_van_explo_smk_stack"); + level._effect["sfa_bigm_player_hit_car"] = loadfx("vfx/map/sanfran_a/sfa_bigm_player_hit_car"); + level._effect["sfa_bigm_falling_dust"] = loadfx("vfx/map/sanfran_a/sfa_bigm_falling_dust"); + level._effect["sfa_bigm_heli_slide"] = loadfx("vfx/map/sanfran_a/sfa_bigm_heli_slide"); + level._effect["sfa_bigm_copcar_hitspark"] = loadfx("vfx/map/sanfran_a/sfa_bigm_copcar_hitspark"); + level._effect["cutter_spark"] = loadfx("vfx/sparks/small_impact_flash_burst"); + level._effect["cutter_ignite"] = loadfx("vfx/unique/lazer_cutter_torch_vm"); + level._effect["sfa_bigm_obscure_smk_lrg"] = loadfx("vfx/map/sanfran_a/sfa_bigm_obscure_smk_lrg"); + level._effect["sfa_bigm_obscure_smk_m"] = loadfx("vfx/map/sanfran_a/sfa_bigm_obscure_smk_m"); + level._effect["ambient_explosion_dirt_01"] = loadfx("vfx/explosion/ambient_explosion_dirt_01"); + level._effect["vehicle_civ_ai_explo_lrg_runner"] = loadfx("vfx/explosion/vehicle_civ_ai_explo_lrg_runner"); + level._effect["vehicle_generic_ai_explo_lrg_runner"] = loadfx("vfx/explosion/vehicle_generic_ai_explo_lrg_runner"); + level._effect["ambient_explosion_fireball"] = loadfx("vfx/explosion/ambient_explosion_fireball"); + level._effect["sfa_bigm_bus_slide"] = loadfx("vfx/map/sanfran_a/sfa_bigm_bus_slide"); + level._effect["sfa_bigm_herocable_glowsmk"] = loadfx("vfx/map/sanfran_a/sfa_bigm_herocable_glowsmk"); + level._effect["sfa_bigm_bridge_explo_main"] = loadfx("vfx/map/sanfran_a/sfa_bigm_bridge_explo_main"); + level._effect["sfa_bigm_bridge_shake"] = loadfx("vfx/map/sanfran_a/sfa_bigm_bridge_shake"); + level._effect["sfa_bigm_grnd_crack_burst"] = loadfx("vfx/map/sanfran_a/sfa_bigm_grnd_crack_burst"); + level._effect["sfa_bigm_smk_grnd_linger"] = loadfx("vfx/map/sanfran_a/sfa_bigm_smk_grnd_linger"); + level._effect["sfa_bigm_bridge_crackburst_big"] = loadfx("vfx/map/sanfran_a/sfa_bigm_bridge_crackburst_big"); + level._effect["sfa_bigm_bridge_mob_explo1"] = loadfx("vfx/map/sanfran_a/sfa_bigm_bridge_mob_explo1"); + level._effect["sfa_bigm_bridge_mob_explo1_debris"] = loadfx("vfx/map/sanfran_a/sfa_bigm_bridge_mob_explo1_debris"); + level._effect["sfa_bigm_bridge_mob_explo1_burst"] = loadfx("vfx/map/sanfran_a/sfa_bigm_bridge_mob_explo1_burst"); + level._effect["sfa_bigm_bridge_mob_explo2"] = loadfx("vfx/map/sanfran_a/sfa_bigm_bridge_mob_explo2"); + level._effect["sfa_bigm_debrisfall_onchunk_lrg"] = loadfx("vfx/map/sanfran_a/sfa_bigm_debrisfall_onchunk_lrg"); + level._effect["sfa_bigm_debrisfall_onchunk_sm"] = loadfx("vfx/map/sanfran_a/sfa_bigm_debrisfall_onchunk_sm"); + level._effect["dust_rolling_pebbles_runner"] = loadfx("vfx/dust/dust_rolling_pebbles_runner"); + level._effect["dust_rolling_pebbles_runner_lrg"] = loadfx("vfx/dust/dust_rolling_pebbles_runner_lrg"); + level._effect["dust_rolling_pebbles_runner_vm"] = loadfx("vfx/dust/dust_rolling_pebbles_runner_vm"); + level._effect["sfa_oil_tanker_fire_leak"] = loadfx("vfx/map/sanfran_a/sfa_oil_tanker_fire_leak"); + level._effect["sfa_oil_tanker_wheel_smk"] = loadfx("vfx/map/sanfran_a/sfa_oil_tanker_wheel_smk"); + level._effect["sfa_oil_tanker_skid_impact"] = loadfx("vfx/map/sanfran_a/sfa_oil_tanker_skid_impact"); + level._effect["sfa_barrier_concrete_impact_large"] = loadfx("vfx/map/sanfran_a/sfa_barrier_concrete_impact_large"); + level._effect["sfa_barrier_concrete_impact_med"] = loadfx("vfx/map/sanfran_a/sfa_barrier_concrete_impact_med"); + level._effect["sfa_oil_tanker_spark_burst_single"] = loadfx("vfx/map/sanfran_a/sfa_oil_tanker_spark_burst_single"); + level._effect["sfa_oil_tanker_spark_burst_single_decal"] = loadfx("vfx/map/sanfran_a/sfa_oil_tanker_spark_burst_single_decal"); + level._effect["sfa_oil_tanker_wheel_skid_runner"] = loadfx("vfx/map/sanfran_a/sfa_oil_tanker_wheel_skid_runner"); + level._effect["sfa_oil_tanker_impact_decal_runner"] = loadfx("vfx/map/sanfran_a/sfa_oil_tanker_impact_decal_runner"); + level._effect["sfa_oil_tanker_explosion"] = loadfx("vfx/map/sanfran_a/sfa_oil_tanker_explosion"); + level._effect["sfa_fire_stream_trail_single"] = loadfx("vfx/map/sanfran_a/sfa_fire_stream_trail_single"); + level._effect["sfa_oil_tanker_fire_stream_med"] = loadfx("vfx/map/sanfran_a/sfa_oil_tanker_fire_stream_med"); + level._effect["sfa_oil_tanker_single_fire_lp"] = loadfx("vfx/map/sanfran_a/sfa_oil_tanker_fire_lp"); + level._effect["sfa_tanker_bridge_explosion"] = loadfx("vfx/map/sanfran_a/sfa_tanker_bridge_explosion"); + level._effect["sfa_tanker_bridge_fire_ignite"] = loadfx("vfx/map/sanfran_a/sfa_tanker_bridge_fire_ignite"); + level._effect["sfa_oil_spill_fire_lp_low"] = loadfx("vfx/map/sanfran_a/sfa_oil_spill_fire_lp_low"); + level._effect["sfa_oil_spill_fire_low_single"] = loadfx("vfx/map/sanfran_a/sfa_oil_spill_fire_low_single"); + level._effect["sfa_oil_spill_fire_lp_mid"] = loadfx("vfx/map/sanfran_a/sfa_oil_spill_fire_lp_mid"); + level._effect["sfa_oil_spill_fire_lp_tall"] = loadfx("vfx/map/sanfran_a/sfa_oil_spill_fire_lp_tall"); + level._effect["sfa_oil_spill_fire_lp_tall_smk"] = loadfx("vfx/map/sanfran_a/sfa_oil_spill_fire_lp_tall_smk"); + level._effect["sfa_oil_spill_fire_tall_single"] = loadfx("vfx/map/sanfran_a/sfa_oil_spill_fire_tall_single"); + level._effect["sfa_oil_spill_fire_edge_lp"] = loadfx("vfx/map/sanfran_a/sfa_oil_spill_fire_edge_lp"); + level._effect["sfa_shockwave_single"] = loadfx("vfx/map/sanfran_a/sfa_shockwave_single"); + level._effect["sfa_shockwave_child"] = loadfx("vfx/map/sanfran_a/sfa_shockwave_child"); + level._effect["emt_road_flare_burn"] = loadfx("vfx/props/flare_ambient"); + level._effect["emt_road_flare_burn_no_light"] = loadfx("vfx/props/flare_ambient_no_light"); + level._effect["burke_point_rim"] = loadfx("vfx/lights/sanfran_a/burke_point_rim"); +} + +//Function Number: 4 +treadfx_override() +{ + waittillframeend; + var_00[0] = "script_vehicle_littlebird_sentinel_bench"; + level.treadfx_maxheight = 2000; + var_01 = "vfx/treadfx/heli_dust_default"; + var_02 = "vfx/unique/no_fx"; + foreach(var_04 in var_00) + { + maps\_vehicle::set_vehicle_effect(var_04,"brick",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"bark",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"carpet",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"cloth",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"concrete",var_01); + maps\_vehicle::set_vehicle_effect(var_04,"dirt",var_01); + maps\_vehicle::set_vehicle_effect(var_04,"flesh",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"foliage",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"glass",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"grass",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"gravel",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"ice",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"metal",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"mud",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"paper",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"plaster",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"rock",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"sand",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"snow",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"water",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"wood",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"asphalt",var_01); + maps\_vehicle::set_vehicle_effect(var_04,"ceramic",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"plastic",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"rubber",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"cushion",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"fruit",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"paintedmetal",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"riotshield",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"slush",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"default",var_02); + maps\_vehicle::set_vehicle_effect(var_04,"none"); + } +} + +//Function Number: 5 +vfx_bridge_fog_on() +{ + common_scripts\utility::flag_wait("msg_vfx_zone2_driving_chase"); + common_scripts\_exploder::exploder(200); + common_scripts\_exploder::exploder(100); + common_scripts\_exploder::exploder(50); + thread kill_intro_vfx(); +} + +//Function Number: 6 +kill_intro_vfx() +{ + foreach(var_01 in level.createfxent) + { + if(var_01.v["type"] == "oneshotfx") + { + var_01 common_scripts\utility::pauseeffect(); + } + } + + common_scripts\_exploder::exploder(1000); + wait(0.01); + common_scripts\_exploder::exploder(1100); +} + +//Function Number: 7 +vfx_bridge_seagulls_on() +{ + wait(0.05); + common_scripts\_exploder::exploder(700); +} + +//Function Number: 8 +vfx_bridge_traffic_intro() +{ + var_00 = spawnfx(common_scripts\utility::getfx("sfa_traffic_intro"),(-35610.8,71879.8,265),anglestoforward((270,90,0)),anglestoup((270,90,0))); + triggerfx(var_00,-25); + var_01 = spawnfx(common_scripts\utility::getfx("sfa_traffic_intro"),(15712.5,72408.1,235),anglestoforward((270,-90,0)),anglestoup((270,-90,0))); + triggerfx(var_01,-25); + common_scripts\utility::flag_wait("msg_vfx_zone2_driving_chase"); + var_00 delete(); + var_01 delete(); +} + +//Function Number: 9 +traffic_fx_init() +{ + thread traffic_damage_part_watcher(); +} + +//Function Number: 10 +traffic_collision_hit_func(param_00,param_01,param_02,param_03,param_04,param_05) +{ + var_06 = length(param_04); + var_07 = []; + var_07["none"] = common_scripts\utility::getfx("car_contact_spark_sml"); + var_07["asphalt"] = common_scripts\utility::getfx("car_contact_asphalt_sml"); + var_07["concrete"] = common_scripts\utility::getfx("car_contact_concrete_sml"); + var_07["dirt"] = common_scripts\utility::getfx("car_contact_dirt_sml"); + var_08 = []; + var_08["none"] = common_scripts\utility::getfx("car_contact_spark_med"); + var_08["bark"] = common_scripts\utility::getfx("car_contact_spark_med"); + var_08["brick"] = common_scripts\utility::getfx("car_contact_spark_med"); + var_08["asphalt"] = common_scripts\utility::getfx("car_contact_asphalt_med"); + var_08["concrete"] = common_scripts\utility::getfx("car_contact_concrete_med"); + var_08["dirt"] = common_scripts\utility::getfx("car_contact_dirt_med"); + var_09 = []; + var_09["none"] = common_scripts\utility::getfx("car_contact_spark_lrg"); + var_09["bark"] = common_scripts\utility::getfx("car_contact_spark_lrg"); + var_09["brick"] = common_scripts\utility::getfx("car_contact_spark_lrg"); + var_09["asphalt"] = common_scripts\utility::getfx("car_contact_asphalt_lrg"); + var_09["concrete"] = common_scripts\utility::getfx("car_contact_concrete_lrg"); + var_09["dirt"] = common_scripts\utility::getfx("car_contact_dirt_lrg"); + if(var_06 > 1100) + { + if(isdefined(param_05) && isdefined(var_09[param_05])) + { + playfx(var_09[param_05],param_02); + } + else + { + playfx(common_scripts\utility::getfx("car_contact_spark_lrg"),param_02); + } + } + + if(var_06 > 600) + { + if(isdefined(param_05) && isdefined(var_08[param_05])) + { + playfx(var_08[param_05],param_02); + return; + } + + playfx(common_scripts\utility::getfx("car_contact_spark_med"),param_02); + return; + } + + if(var_06 > 300) + { + if(isdefined(param_05) && isdefined(var_07[param_05])) + { + playfx(var_07[param_05],param_02); + return; + } + + playfx(common_scripts\utility::getfx("car_contact_spark_sml"),param_02); + return; + } +} + +//Function Number: 11 +traffic_damage_part_watcher() +{ + level endon("stop_traffic"); + level waittill("vehicle_part_damage",var_00,var_01); +} + +//Function Number: 12 +vfx_gate_crash_open() +{ + common_scripts\_exploder::exploder("fx_gate_crash_open"); + var_00 = level.player_pitbull; + playfxontag(common_scripts\utility::getfx("pitbull_gate_sparks"),var_00,"tag_origin"); +} + +//Function Number: 13 +tanker_skid_impacts(param_00) +{ + playfxontag(common_scripts\utility::getfx("sfa_oil_tanker_wheel_smk"),param_00,"tag_wheel_front_right"); + playfxontag(common_scripts\utility::getfx("sfa_oil_tanker_wheel_smk"),param_00,"tag_wheel_middle_right"); + playfxontag(common_scripts\utility::getfx("sfa_oil_tanker_wheel_smk"),param_00,"tag_wheel_back_right"); + maps\_utility::delaythread(0.15,::common_scripts\_exploder::exploder,2002); + maps\_utility::delaythread(0.35,::common_scripts\_exploder::exploder,2003); + wait(0.25); + playfxontag(common_scripts\utility::getfx("sfa_oil_tanker_skid_impact"),param_00,"tag_wheel_back_right"); + param_00 soundscripts\_snd::snd_message("aud_tanker_fall_down"); + wait(1.5); + stopfxontag(level._effect["sfa_oil_tanker_skid_impact"],param_00,"tag_wheel_back_right"); + wait(1.5); + stopfxontag(common_scripts\utility::getfx("sfa_oil_tanker_wheel_smk"),param_00,"tag_wheel_front_right"); + stopfxontag(common_scripts\utility::getfx("sfa_oil_tanker_wheel_smk"),param_00,"tag_wheel_middle_right"); + stopfxontag(common_scripts\utility::getfx("sfa_oil_tanker_wheel_smk"),param_00,"tag_wheel_back_right"); + maps\_utility::delaythread(3,::maps\_utility::pauseexploder,2002); + maps\_utility::delaythread(3,::maps\_utility::pauseexploder,2003); +} + +//Function Number: 14 +oil_tanker_crash_fx() +{ + playfxontag(level._effect["sfa_oil_tanker_fire_leak"],self,"tag_vfx_leak"); + playfxontag(level._effect["sfa_oil_tanker_wheel_skid_runner"],self,"tag_vfx_wheel_back_left"); + playfxontag(level._effect["sfa_oil_tanker_wheel_skid_runner"],self,"tag_vfx_wheel_back_right"); + maps\_utility::delaythread(2.5,::common_scripts\_exploder::exploder,2004); + maps\_utility::delaythread(3,::common_scripts\_exploder::exploder,2005); + wait(2); + stopfxontag(level._effect["sfa_oil_tanker_wheel_skid_runner"],self,"tag_vfx_wheel_back_left"); + wait(3); + thread oil_tanker_explosion_fx(); + stopfxontag(level._effect["sfa_oil_tanker_fire_leak"],self,"tag_vfx_leak"); + stopfxontag(level._effect["sfa_oil_tanker_wheel_skid_runner"],self,"tag_vfx_wheel_back_right"); + maps\_utility::delaythread(5,::maps\_utility::pauseexploder,2004); + maps\_utility::delaythread(5,::maps\_utility::pauseexploder,2005); +} + +//Function Number: 15 +oil_tanker_explosion_fx() +{ + common_scripts\_exploder::exploder(2006); + maps\_utility::delaythread(1.25,::common_scripts\_exploder::exploder,2007); + maps\_utility::delaythread(1.35,::common_scripts\_exploder::exploder,2008); + maps\_utility::delaythread(10,::maps\_utility::pauseexploder,2006); + maps\_utility::delaythread(10,::maps\_utility::pauseexploder,2007); + maps\_utility::delaythread(10,::maps\_utility::pauseexploder,2008); +} + +//Function Number: 16 +pitbull_impact_fx(param_00) +{ + param_00 = level.player_pitbull.fake_vehicle_model; + playfxontag(common_scripts\utility::getfx("pitbull_suv_impact"),param_00,"tag_origin"); +} + +//Function Number: 17 +atlas_suv_impact_fx(param_00) +{ + common_scripts\utility::noself_delaycall(0.1,::playfxontag,common_scripts\utility::getfx("atlas_suv_wheel_smk"),param_00,"tag_wheel_front_left"); + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 linkto(param_00,"tag_body",(144,-24,10),(0,0,0)); + common_scripts\utility::noself_delaycall(0.95,::playfxontag,common_scripts\utility::getfx("pitbull_suv_impact_concrete"),var_01,"tag_origin"); + soundscripts\_snd::snd_message("aud_median_impact"); + common_scripts\utility::noself_delaycall(1,::earthquake,0.8,0.9,level.player.origin,1000); + common_scripts\utility::noself_delaycall(1.2,::playfxontag,common_scripts\utility::getfx("atlas_suv_mud_spray_bk_lt"),param_00,"tag_wheel_back_left"); + common_scripts\utility::noself_delaycall(1.2,::playfxontag,common_scripts\utility::getfx("atlas_suv_mud_spray_bk_rt"),param_00,"tag_wheel_back_right"); + maps\_utility::delaythread(1.5,::common_scripts\_exploder::exploder,"fx_atlas_suv_mud_decals_left"); + maps\_utility::delaythread(1.8,::common_scripts\_exploder::exploder,"fx_atlas_suv_mud_decals_right"); + var_02 = 2.2; + maps\_utility::delaythread(var_02,::common_scripts\_exploder::exploder,"fx_atlas_suv_explosion"); + soundscripts\_snd::snd_message("aud_atlas_suv_explo",var_02); + wait(10); + var_01 delete(); +} + +//Function Number: 18 +pitbull_crash_impact_fx(param_00) +{ + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 linkto(param_00,"tag_wheel_front_right",(0,0,0),(0,0,0)); + playfxontag(common_scripts\utility::getfx("atlas_suv_wheel_smk2"),var_01,"tag_origin"); + playfxontag(common_scripts\utility::getfx("pitbull_suv_impact2"),var_01,"tag_origin"); + var_02 = common_scripts\utility::spawn_tag_origin(); + var_02 linkto(param_00,"tag_wheel_front_right",(104,0,12),(0,-20,0)); + common_scripts\utility::noself_delaycall(2.1,::playfxontag,common_scripts\utility::getfx("pitbull_suv_impact2"),var_02,"tag_origin"); + var_03 = common_scripts\utility::spawn_tag_origin(); + var_03 linkto(param_00,"tag_wheel_back_right",(0,0,0),(0,0,0)); + playfxontag(common_scripts\utility::getfx("atlas_suv_wheel_smk2"),var_03,"tag_origin"); + wait(5); + var_01 delete(); + var_02 delete(); + var_03 delete(); +} + +//Function Number: 19 +burke_spit_blood() +{ + wait(14.55); + playfxontag(common_scripts\utility::getfx("burke_blood_spit"),level.burke,"j_head"); + wait(0.2); + playfxontag(common_scripts\utility::getfx("blood_drip_sml_runner"),level.burke,"j_head"); + wait(0.25); + stopfxontag(common_scripts\utility::getfx("blood_drip_sml_runner"),level.burke,"j_head"); +} + +//Function Number: 20 +cop_car_lights_on() +{ + common_scripts\utility::flag_wait("msg_vfx_zone3_bridge_on_foot"); + var_00 = common_scripts\utility::getstructarray("police_sedan_lights","script_noteworthy"); + foreach(var_02 in var_00) + { + var_03 = var_02 common_scripts\utility::spawn_tag_origin(); + var_04 = randomfloatrange(0,4); + wait(var_04); + playfxontag(common_scripts\utility::getfx("light_sedan_police_scroll"),var_03,"TAG_ORIGIN"); + thread kill_bridge_copcar_light(var_03); + } +} + +//Function Number: 21 +kill_bridge_copcar_light(param_00) +{ + level waittill("kill_bridge_copcar_lights"); + stopfxontag(common_scripts\utility::getfx("light_sedan_police_scroll"),param_00,"TAG_ORIGIN"); + param_00 delete(); +} + +//Function Number: 22 +cop_car_lights_on_barricade() +{ + wait(randomfloat(1)); + playfxontag(common_scripts\utility::getfx("light_sedan_police_scroll"),self,"tag_origin"); + level waittill("kill_barricade_copcar_lights"); + stopfxontag(level._effect["light_sedan_police_scroll"],self,"tag_origin"); +} + +//Function Number: 23 +flares_during_standoff() +{ + common_scripts\utility::flag_wait("msg_vfx_zone3_bridge_on_foot"); + common_scripts\_exploder::exploder(10900); + common_scripts\_exploder::exploder(10040); + common_scripts\utility::flag_wait("flag_van_explosion_start"); + maps\_utility::pauseexploder(10900); +} + +//Function Number: 24 +vfx_pitbull_atlas_impact(param_00) +{ + maps\_utility::delaythread(2,::common_scripts\_exploder::exploder,2010); + maps\_utility::delaythread(5,::maps\_utility::pauseexploder,2010); +} + +//Function Number: 25 +vfx_pitbull_crash_jump_start(param_00) +{ + playfxontag(common_scripts\utility::getfx("sfa_pitbull_incabin_flip_debris"),param_00,"tag_fx_cabin"); +} + +//Function Number: 26 +vfx_pitbull_roof_impact(param_00) +{ + var_01 = common_scripts\utility::spawn_tag_origin(); + var_02 = common_scripts\utility::spawn_tag_origin(); + var_01 linkto(param_00,"body_animate_jnt",(29,-19,50),(180,0,90)); + var_02 linkto(param_00,"body_animate_jnt",(29,19,50),(180,0,90)); + playfxontag(common_scripts\utility::getfx("car_window_shatter_01"),var_01,"tag_origin"); + playfxontag(common_scripts\utility::getfx("car_window_shatter_01"),var_02,"tag_origin"); + wait(1); + var_01 delete(); + var_02 delete(); +} + +//Function Number: 27 +vfx_pitbull_slide_sparks_start(param_00) +{ + level.sparks1 = common_scripts\utility::spawn_tag_origin(); + level.sparks1 linkto(param_00,"tag_body",(26,30,60),(0,0,180)); + playfxontag(common_scripts\utility::getfx("pitbull_skid_sparks"),level.sparks1,"tag_origin"); + earthquake(0.5,2,level.player.origin,1500); + common_scripts\utility::noself_delaycall(1,::earthquake,0.35,0.75,level.player.origin,1000); + common_scripts\utility::noself_delaycall(1.25,::earthquake,0.35,0.75,level.player.origin,1000); + common_scripts\utility::noself_delaycall(1.5,::earthquake,0.35,0.75,level.player.origin,1000); + common_scripts\utility::noself_delaycall(1.75,::earthquake,0.35,0.75,level.player.origin,1000); + common_scripts\utility::noself_delaycall(2,::earthquake,0.35,0.75,level.player.origin,1000); + common_scripts\utility::noself_delaycall(2.25,::earthquake,0.35,0.75,level.player.origin,1000); + common_scripts\utility::noself_delaycall(2.5,::earthquake,0.35,0.75,level.player.origin,1000); + common_scripts\utility::noself_delaycall(2.75,::earthquake,0.5,1,level.player.origin,1000); + wait(7); + level.sparks1 delete(); +} + +//Function Number: 28 +vfx_pitbull_slide_sparks_stop(param_00) +{ + stopfxontag(common_scripts\utility::getfx("pitbull_skid_sparks"),level.sparks1,"tag_origin"); + playfxontag(common_scripts\utility::getfx("sfa_pitbull_skid_stop_smoke"),level.sparks1,"tag_origin"); + common_scripts\_exploder::exploder(3001); + playfxontag(common_scripts\utility::getfx("electrical_sparks_runner"),param_00,"tag_blood"); + if(level.nextgen) + { + } +} + +//Function Number: 29 +oil_tanker_bridge_fire() +{ + common_scripts\_exploder::exploder(2150); + maps\_utility::delaythread(0.25,::common_scripts\_exploder::exploder,2110); + maps\_utility::delaythread(0.25,::common_scripts\_exploder::exploder,2120); + maps\_utility::delaythread(2,::maps\_utility::pauseexploder,2150); + common_scripts\utility::flag_wait("kill_oil_puddle_flames"); + maps\_utility::pauseexploder(2110); + maps\_utility::delaythread(0.7,::maps\_utility::pauseexploder,2120); + soundscripts\_snd::snd_message("bridge_tanker_explode"); +} + +//Function Number: 30 +ignite_tanker_spurt() +{ + common_scripts\_exploder::exploder(2140); + common_scripts\utility::flag_wait("flag_tanker_exploded"); + maps\_utility::pauseexploder(2140); +} + +//Function Number: 31 +oil_tanker_bridge_explosion() +{ + common_scripts\_exploder::exploder(2203); + common_scripts\_exploder::exploder(2204); + wait(5); + maps\_utility::pauseexploder(2204); + maps\_utility::delaythread(15,::maps\_utility::pauseexploder,2203); +} + +//Function Number: 32 +vfx_van_passenger_door_open(param_00) +{ + common_scripts\_exploder::exploder(10001); + thread vfx_guy04_shot_blood(); + thread kill_fog_on_hill(); + wait(5); + thread kill_bridge_fog(); +} + +//Function Number: 33 +vfx_guy04_shot_blood() +{ + wait(5.25); + common_scripts\_exploder::exploder(10002); +} + +//Function Number: 34 +kill_fog_on_hill() +{ + foreach(var_01 in level.createfxent) + { + if(var_01.v["fxid"] == "fog_over_hill_slow") + { + var_01 common_scripts\utility::pauseeffect(); + } + } +} + +//Function Number: 35 +kill_bridge_fog() +{ + maps\_utility::pauseexploder(100); + maps\_utility::pauseexploder(200); +} + +//Function Number: 36 +vfx_cutter_spark(param_00) +{ + level notify("kill_barricade_copcar_lights"); + playfxontag(common_scripts\utility::getfx("cutter_spark"),param_00,"TAG_FX"); + wait(0.5); + playfxontag(common_scripts\utility::getfx("cutter_spark"),param_00,"TAG_FX"); + wait(0.1); + playfxontag(common_scripts\utility::getfx("cutter_spark"),param_00,"TAG_FX"); +} + +//Function Number: 37 +vfx_cutter_ignite(param_00) +{ + playfxontag(common_scripts\utility::getfx("cutter_ignite"),param_00,"TAG_FX"); + wait(3); + stopfxontag(common_scripts\utility::getfx("cutter_ignite_light"),param_00,"TAG_FX"); +} + +//Function Number: 38 +vfx_van_back_door_open(param_00) +{ + common_scripts\_exploder::exploder(10003); + wait(2); + foreach(var_02 in level.explosion_scene_drones) + { + var_02 thread attach_assault_drone_lights(); + } + + level.explosion_scene_drone_large thread attach_assault_drone_lights(); +} + +//Function Number: 39 +attach_assault_drone_lights() +{ + var_00 = 0.25; + playfxontag(common_scripts\utility::getfx("drone_beacon_red"),self,"TAG_FX_BEACON_0"); + wait(var_00); + playfxontag(common_scripts\utility::getfx("drone_beacon_red"),self,"TAG_FX_BEACON_1"); + wait(var_00); + playfxontag(common_scripts\utility::getfx("drone_beacon_red"),self,"TAG_FX_BEACON_2"); +} + +//Function Number: 40 +vfx_drone_fan_start(param_00) +{ + playfxontag(common_scripts\utility::getfx("drone_fan_distortion"),param_00,"TAG_FX_FAN_L"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("drone_fan_distortion"),param_00,"TAG_FX_FAN_R"); +} + +//Function Number: 41 +vfx_drone_large_fan_start(param_00) +{ + playfxontag(common_scripts\utility::getfx("drone_fan_distortion_large"),param_00,"TAG_FX_FAN_L"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("drone_fan_distortion_large"),param_00,"TAG_FX_FAN_R"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("drone_thruster_distortion"),param_00,"TAG_FX_THRUSTER_L"); + wait 0.05; + playfxontag(common_scripts\utility::getfx("drone_thruster_distortion"),param_00,"TAG_FX_THRUSTER_R"); + wait 0.05; +} + +//Function Number: 42 +vfx_drone_explo(param_00) +{ + param_00 soundscripts\_snd::snd_message("gg_drone_cable_explosions"); + earthquake(0.1,0.2,level.player.origin,100); + playfxontag(common_scripts\utility::getfx("drone_explosion"),param_00,"tag_origin"); + param_00 hide(); +} + +//Function Number: 43 +vfx_drone_explo_regularfx(param_00) +{ + param_00 soundscripts\_snd::snd_message("gg_drone_explosions"); + earthquake(0.1,0.2,level.player.origin,100); + playfxontag(common_scripts\utility::getfx("vehicle_pdrone_explosion"),param_00,"tag_origin"); + param_00 hide(); +} + +//Function Number: 44 +vfx_cable_break(param_00) +{ + wait(3.25); + playfxontag(common_scripts\utility::getfx("sfa_bigm_heli_slide"),param_00,"jnt_supportCableA13_top2"); +} + +//Function Number: 45 +vfx_cable_spark_hero(param_00) +{ + wait(0.5); + playfxontag(common_scripts\utility::getfx("sfa_bigm_herocable_glowsmk"),param_00,"rigSkel33"); +} + +//Function Number: 46 +vfx_van_explosion_start(param_00) +{ + common_scripts\_exploder::exploder(10004); + maps\_utility::pauseexploder(10040); + maps\_utility::delaythread(0,::vfx_falling_debris_start); + maps\_utility::delaythread(3,::vfx_gushing_smk); +} + +//Function Number: 47 +vfx_player_hit_windshield(param_00) +{ + common_scripts\_exploder::exploder(10500); + thread helicopter_slide_spark(); +} + +//Function Number: 48 +helicopter_slide_spark() +{ + wait(5.1); + common_scripts\_exploder::exploder(10501); +} + +//Function Number: 49 +vfx_bridge_shake_left(param_00) +{ + common_scripts\_exploder::exploder(10007); +} + +//Function Number: 50 +vfx_bridge_shake_right(param_00) +{ + common_scripts\_exploder::exploder(10006); +} + +//Function Number: 51 +vfx_bridge_snap(param_00) +{ + soundscripts\_snd::snd_message("gg_bridge_snap_explosion"); + common_scripts\_exploder::exploder(10008); + level notify("bridge_snap_end"); + wait(0.9); + common_scripts\_exploder::exploder(10009); + wait(0.5); + common_scripts\_exploder::exploder(10010); + wait(0.35); + common_scripts\_exploder::exploder(10011); +} + +//Function Number: 52 +vfx_falling_debris_start() +{ + maps\_utility::delaythread(10,::falling_dust_on_cable); + maps\_utility::delaythread(0,::common_scripts\_exploder::exploder,12001); + maps\_utility::delaythread(2,::common_scripts\_exploder::exploder,12002); + maps\_utility::delaythread(1,::common_scripts\_exploder::exploder,12003); + maps\_utility::delaythread(0,::common_scripts\_exploder::exploder,12010); + maps\_utility::delaythread(28,::common_scripts\_exploder::exploder,12015); + maps\_utility::delaythread(23,::common_scripts\_exploder::exploder,12011); + maps\_utility::delaythread(18,::common_scripts\_exploder::exploder,12012); + maps\_utility::delaythread(35,::common_scripts\_exploder::exploder,12013); + maps\_utility::delaythread(25,::common_scripts\_exploder::exploder,12011); + maps\_utility::delaythread(32,::common_scripts\_exploder::exploder,12012); + maps\_utility::delaythread(24,::common_scripts\_exploder::exploder,12013); +} + +//Function Number: 53 +vfx_gushing_smk() +{ + common_scripts\_exploder::exploder(10005); + wait(2.1); + maps\_utility::pauseexploder(10005); + thread lingering_ground_smk(); +} + +//Function Number: 54 +lingering_ground_smk() +{ + common_scripts\_exploder::exploder(10205); + wait(5.5); + maps\_utility::pauseexploder(10205); +} + +//Function Number: 55 +falling_dust_on_cable() +{ + common_scripts\_exploder::exploder(10201); +} + +//Function Number: 56 +vfx_burst_right_close(param_00) +{ + common_scripts\_exploder::exploder(10210); +} + +//Function Number: 57 +vfx_burst_left_close(param_00) +{ + common_scripts\_exploder::exploder(10211); +} + +//Function Number: 58 +vfx_bridge_crack_start(param_00) +{ + maps\_utility::delaythread(2.5,::lingering_grnd_smoke_attached,param_00); + playfxontag(common_scripts\utility::getfx("sfa_bigm_grnd_crack_burst"),param_00,"jnt_segment_1_piece_97"); + wait(0.1); + playfxontag(common_scripts\utility::getfx("sfa_bigm_grnd_crack_burst"),param_00,"jnt_segment_1_piece_105"); + wait(0.1); + playfxontag(common_scripts\utility::getfx("sfa_bigm_grnd_crack_burst"),param_00,"jnt_segment_1_piece_87"); + wait(0.2); + playfxontag(common_scripts\utility::getfx("sfa_bigm_grnd_crack_burst"),param_00,"jnt_segment_1_piece_102"); + wait(0.2); + playfxontag(common_scripts\utility::getfx("sfa_bigm_grnd_crack_burst"),param_00,"jnt_segment_1_piece_83"); + wait(0.1); + playfxontag(common_scripts\utility::getfx("sfa_bigm_grnd_crack_burst"),param_00,"jnt_segment_1_piece_47"); + wait(0.1); + playfxontag(common_scripts\utility::getfx("sfa_bigm_grnd_crack_burst"),param_00,"jnt_segment_1_piece_70"); + wait(0.05); + playfxontag(common_scripts\utility::getfx("sfa_bigm_grnd_crack_burst"),param_00,"jnt_segment_1_piece_49"); + wait(0.05); + playfxontag(common_scripts\utility::getfx("sfa_bigm_grnd_crack_burst"),param_00,"jnt_segment_1_piece_33"); + wait(0.1); + playfxontag(common_scripts\utility::getfx("sfa_bigm_grnd_crack_burst"),param_00,"jnt_segment_1_piece_51"); + wait(0.1); + playfxontag(common_scripts\utility::getfx("sfa_bigm_grnd_crack_burst"),param_00,"jnt_segment_1_piece_32"); + wait(0.1); + playfxontag(common_scripts\utility::getfx("sfa_bigm_grnd_crack_burst"),param_00,"jnt_segment_1_piece_30"); + wait(0.05); + playfxontag(common_scripts\utility::getfx("sfa_bigm_grnd_crack_burst"),param_00,"jnt_segment_1_piece_35"); + wait(0.1); + playfxontag(common_scripts\utility::getfx("sfa_bigm_grnd_crack_burst"),param_00,"jnt_segment_1_piece_64"); + wait(0.1); + playfxontag(common_scripts\utility::getfx("sfa_bigm_grnd_crack_burst"),param_00,"jnt_segment_1_piece_60"); + wait(0.05); + playfxontag(common_scripts\utility::getfx("sfa_bigm_grnd_crack_burst"),param_00,"jnt_segment_1_piece_31"); + wait(0.05); + playfxontag(common_scripts\utility::getfx("sfa_bigm_grnd_crack_burst"),param_00,"jnt_segment_1_piece_53"); + thread stop_falling_debris_by_player(); + thread bridge_collapse_mob_explosion(); +} + +//Function Number: 59 +lingering_grnd_smoke_attached(param_00) +{ + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 linkto(param_00,"jnt_segment_1_piece_67",(0,0,-50),(-90,-90,0)); + playfxontag(common_scripts\utility::getfx("sfa_bigm_smk_grnd_linger"),var_01,"tag_origin"); + wait(7); + stopfxontag(common_scripts\utility::getfx("sfa_bigm_smk_grnd_linger"),var_01,"tag_origin"); + wait(0.1); + var_01 linkto(param_00,"jnt_segment_1_piece_67",(400,0,-10),(-90,90,0)); + playfxontag(common_scripts\utility::getfx("dust_rolling_pebbles_runner_lrg"),var_01,"tag_origin"); + level waittill("vfx_boost_jump_start"); + stopfxontag(common_scripts\utility::getfx("dust_rolling_pebbles_runner_lrg"),var_01,"tag_origin"); + var_01 delete(); +} + +//Function Number: 60 +bridge_collapse_mob_explosion() +{ + maps\_utility::delaythread(0.8,::common_scripts\_exploder::exploder,10803); + maps\_utility::delaythread(0.95,::common_scripts\_exploder::exploder,10800); + maps\_utility::delaythread(3.75,::common_scripts\_exploder::exploder,10801); + maps\_utility::delaythread(5.5,::common_scripts\_exploder::exploder,10802); + maps\_utility::delaythread(4.25,::post_collapse_vfx_on_crash_site); + maps\_utility::delaythread(2,::common_scripts\_exploder::exploder,4501); + maps\_utility::delaythread(4.5,::common_scripts\_exploder::exploder,4502); + maps\_utility::delaythread(5.5,::common_scripts\_exploder::exploder,4503); + maps\_utility::delaythread(7,::common_scripts\_exploder::exploder,4504); + wait(8); + level notify("kill_barricade_copcar_lights"); +} + +//Function Number: 61 +vfx_player_rolling_pebbles(param_00) +{ + wait(5.25); + playfxontag(common_scripts\utility::getfx("dust_rolling_pebbles_runner_vm"),param_00,"TAG_ORIGIN"); + wait(10); + stopfxontag(common_scripts\utility::getfx("dust_rolling_pebbles_runner_vm"),param_00,"TAG_ORIGIN"); +} + +//Function Number: 62 +vfx_bridge_chunk_f_piece5_fall(param_00) +{ + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 linkto(param_00,"jnt_segment_5_piece_1",(0,0,0),(-90,-90,0)); + playfxontag(common_scripts\utility::getfx("sfa_bigm_debrisfall_onchunk_lrg"),var_01,"tag_origin"); + var_02 = common_scripts\utility::spawn_tag_origin(); + var_02 linkto(param_00,"jnt_segment_5_piece_5",(0,0,0),(-90,-90,0)); + playfxontag(common_scripts\utility::getfx("sfa_bigm_debrisfall_onchunk_sm"),var_02,"tag_origin"); + level waittill("vfx_boost_jump_start"); + stopfxontag(common_scripts\utility::getfx("sfa_bigm_debrisfall_onchunk_lrg"),var_01,"tag_origin"); + stopfxontag(common_scripts\utility::getfx("sfa_bigm_debrisfall_onchunk_sm"),var_02,"tag_origin"); + var_01 delete(); + var_02 delete(); +} + +//Function Number: 63 +stop_falling_debris_by_player() +{ + maps\_utility::pauseexploder(12001); + maps\_utility::pauseexploder(12002); +} + +//Function Number: 64 +vfx_copcar_left_hitspark1(param_00) +{ + common_scripts\_exploder::exploder(10502); + wait(1.4); + common_scripts\_exploder::exploder(10503); +} + +//Function Number: 65 +vfx_copcar01_hitspark1(param_00) +{ + common_scripts\_exploder::exploder(10504); + wait(3.8); + thread vfx_copcar02_hitspark(); + common_scripts\_exploder::exploder(10505); + wait(0.65); + common_scripts\_exploder::exploder(10506); + wait(4.5); + common_scripts\_exploder::exploder(10506); +} + +//Function Number: 66 +vfx_copcar02_hitspark() +{ + wait(0.7); + common_scripts\_exploder::exploder(10507); + wait(1.5); + common_scripts\_exploder::exploder(10508); +} + +//Function Number: 67 +vfx_bus_slide_spark(param_00) +{ + soundscripts\_snd::snd_message("gg_start_bus_sliding"); + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 linkto(param_00,"tag_origin",(160,-50,120),(-90,0,-45)); + playfxontag(common_scripts\utility::getfx("sfa_bigm_bus_slide"),var_01,"tag_origin"); + wait(2.45); + common_scripts\_exploder::exploder(10511); + wait(0.5); + common_scripts\_exploder::exploder(10512); + wait(0.1); + common_scripts\_exploder::exploder(10513); + wait(0.15); + if(level.nextgen) + { + wait(1.7); + } + else + { + wait(1.45); + } + + common_scripts\_exploder::exploder(10515); + soundscripts\_snd::snd_message("gg_bus_explode_death"); + if(level.nextgen) + { + wait(0.35); + } + else + { + wait(0.1); + } + + common_scripts\_exploder::exploder(10516); + var_01 delete(); +} + +//Function Number: 68 +post_collapse_vfx_on_crash_site() +{ + common_scripts\_exploder::exploder(4550); + wait(4.5); + common_scripts\_exploder::exploder(4501); + wait(1); + common_scripts\_exploder::exploder(4500); + wait(6); + common_scripts\_exploder::exploder(4800); +} + +//Function Number: 69 +pause_bigmoment_vfx() +{ + level waittill("vfx_boost_jump_start"); + maps\_utility::pauseexploder(12001); + maps\_utility::pauseexploder(12002); +} + +//Function Number: 70 +attach_wakefx() +{ + var_00 = "tag_origin"; + playfxontag(common_scripts\utility::getfx("boat_wake_" + self.model),self,var_00); + if(self.model == "vehicle_atlas_decoy_cargo_ship") + { + self.fxtagside = common_scripts\utility::spawn_tag_origin(); + self.fxtagside.origin = self.origin; + self.fxtagside.angles = self.angles; + self.fxtagside linkto(self,"tag_origin",(0,0,0),(0,90,0)); + playfxontag(common_scripts\utility::getfx("boat_wake_" + self.model + "_side"),self.fxtagside,"tag_origin"); + } +} + +//Function Number: 71 +stop_wakefx() +{ + var_00 = "tag_origin"; + stopfxontag(common_scripts\utility::getfx("boat_wake_" + self.model),self,var_00); + if(self.model == "vehicle_atlas_decoy_cargo_ship") + { + stopfxontag(common_scripts\utility::getfx("boat_wake_" + self.model + "_side"),self.fxtagside,var_00); + } +} + +//Function Number: 72 +vfx_start_boost_fx(param_00) +{ + playfxontag(common_scripts\utility::getfx("boost_dust_npc"),param_00,"J_SpineLower"); + param_00 thread newhandlespawngroundimpact(); +} + +//Function Number: 73 +vfx_stop_boost_fx(param_00) +{ + stopfxontag(common_scripts\utility::getfx("boost_dust_npc"),param_00,"J_SpineLower"); +} + +//Function Number: 74 +newhandlespawngroundimpact() +{ + var_00 = self.origin + (0,0,64); + var_01 = self.origin - (0,0,150); + var_02 = bullettrace(var_00,var_01,0,undefined); + var_03 = common_scripts\utility::getfx("boost_dust_impact_ground"); + var_00 = var_02["position"]; + var_04 = vectortoangles(var_02["normal"]); + var_04 = var_04 + (90,0,0); + var_05 = anglestoforward(var_04); + var_06 = anglestoup(var_04); + playfx(var_03,var_00,var_06,var_05); +} + +//Function Number: 75 +vfx_car_radial_damage() +{ + level endon("flag_dialog_bridge_crash"); + thread vfx_reactivate_radius_damage(); + setplayerignoreradiusdamage(1); + for(;;) + { + var_00 = self.origin + anglestoforward(self.angles) * 150; + radiusdamage(var_00,60,10,10,level.player); + wait(0.01); + } +} + +//Function Number: 76 +vfx_reactivate_radius_damage() +{ + common_scripts\utility::flag_wait("flag_dialog_bridge_crash"); + setplayerignoreradiusdamage(0); +} + +//Function Number: 77 +vfx_pitbull_mud_spray() +{ + common_scripts\utility::flag_wait("fx_pitbull_mud_spray"); + var_00 = level.player_pitbull; + playfxontag(common_scripts\utility::getfx("pitbull_mud_spray"),var_00,"tag_origin"); +} \ No newline at end of file diff --git a/AW/PC/maps/sanfran_lighting.gsc b/AW/PC/maps/sanfran_lighting.gsc new file mode 100644 index 0000000..818d97c --- /dev/null +++ b/AW/PC/maps/sanfran_lighting.gsc @@ -0,0 +1,1032 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: sanfran_lighting.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 66 + * Decompile Time: 971 ms + * Timestamp: 4/22/2024 2:35:51 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + waittillframeend; + common_scripts\utility::flag_init("kill_vehicle_lights"); + common_scripts\utility::flag_init("show_ship_shadows"); + thread setup_dof_presets(); + thread set_level_lighting_values(); + thread trigger_exit_tunnel(); + thread set_tunnel_lighting(); + thread set_oncoming_lighting(); + thread set_bridge_lighting(); + thread set_street_lighting(); + thread set_van_lighting(); + thread set_boost_lighting(); + if(level.currentgen) + { + thread showboatshadows(); + } + + thread setup_crash_events(); + thread flickering_tunnel_light(); + thread set_cargo_ship_drone_view_lighting(); + if(level.nextgen) + { + setsaveddvar("r_subdiv","1"); + } +} + +//Function Number: 2 +set_level_lighting_values() +{ + if(isusinghdr()) + { + if(level.nextgen) + { + setsaveddvar("r_disableLightSets",0); + setsaveddvar("r_hemiAoEnable",1); + } + + if(level.currentgen) + { + } + + level.player lightsetforplayer("set_level_lighting_values"); + } +} + +//Function Number: 3 +set_intro_lighting() +{ + common_scripts\utility::flag_wait("start_intro_lighting"); + maps\_utility::vision_set_fog_changes("sanfran_drone_view",0); + level.player lightsetforplayer("sanfran_drone_view_0"); + thread move_sunflare_back_startpoints(); + maps\_utility::delaythread(1.8,::overexposed_effect); +} + +//Function Number: 4 +set_cargo_ship_drone_view_lighting() +{ + common_scripts\utility::flag_wait("flag_cargo_ship"); + if(level.nextgen) + { + thread lerp_sun_cargo_ship(); + } + + thread overexposed_effect(); + maps\_utility::vision_set_fog_changes("sanfran_drone_view_1",0); + wait(1); + level.player lightsetforplayer("sanfran_drone_view_1"); +} + +//Function Number: 5 +overexposed_effect() +{ + level.player lightsetforplayer("overexposed_effect_0"); + wait(0.25); + level.player lightsetforplayer("overexposed_effect_1"); +} + +//Function Number: 6 +flickering_tunnel_light() +{ + if(level.nextgen) + { + var_00 = getent("lighting_origin","targetname"); + var_01 = getent("light_wall_off","targetname"); + var_02 = getent("light_wall_on","targetname"); + var_03 = getent("light_wall_off_1","targetname"); + var_04 = getent("light_wall_on_1","targetname"); + var_05 = getent("light_wall_off_2","targetname"); + var_06 = getent("light_wall_on_2","targetname"); + var_02 overridelightingorigin(var_00.origin); + var_01 overridelightingorigin(var_00.origin); + var_04 overridelightingorigin(var_00.origin); + var_03 overridelightingorigin(var_00.origin); + var_06 overridelightingorigin(var_00.origin); + var_05 overridelightingorigin(var_00.origin); + thread maps\_lighting::model_flicker_preset("light_flicker_test",0,30000,50000,undefined,undefined,0.1,0.4,0.2,0.4); + thread maps\_lighting::model_flicker_preset("light_flicker_test_1",0,10000,50000,undefined,undefined,0.2,0.6,0.2,0.4); + thread maps\_lighting::model_flicker_preset("light_flicker_test_2",0,10000,50000,undefined,undefined,0.2,0.5,0.4,0.6); + } +} + +//Function Number: 7 +mblur_rotation_on() +{ + setsaveddvar("r_mbEnable","2"); + setsaveddvar("r_mbCameraRotationInfluence","1"); +} + +//Function Number: 8 +mblur_on() +{ + if(level.nextgen) + { + setsaveddvar("r_mbEnable","2"); + } +} + +//Function Number: 9 +mblur_off() +{ + if(level.nextgen) + { + setsaveddvar("r_mbEnable","0"); + } +} + +//Function Number: 10 +set_tunnel_lighting_1() +{ + if(level.nextgen) + { + wait(0.5); + } + else + { + wait(0.125); + } + + level.player lightsetforplayer("set_tunnel_lighting_1"); + if(level.nextgen) + { + thread lerp_sun(); + } +} + +//Function Number: 11 +set_tunnel_lighting_2() +{ + wait(13.5); + level.player lightsetforplayer("set_tunnel_lighting_2"); +} + +//Function Number: 12 +showboatshadows() +{ + common_scripts\utility::flag_wait("show_ship_shadows"); + var_00 = getentarray("boat_shadows","targetname"); + foreach(var_02 in var_00) + { + if(isdefined(var_02)) + { + var_02 show(); + } + } +} + +//Function Number: 13 +hideboatshadows() +{ + var_00 = getentarray("boat_shadows","targetname"); + foreach(var_02 in var_00) + { + if(isdefined(var_02)) + { + var_02 hide(); + } + } +} + +//Function Number: 14 +set_tunnel_lighting() +{ + common_scripts\utility::flag_wait("start_tunnel_lighting"); + thread tunnel_sequence_dof(); + if(level.nextgen) + { + level.player lightsetforplayer("set_tunnel_lighting_0"); + } + + if(level.nextgen) + { + thread mblur_rotation_on(); + thread maps\_lighting::set_spot_intensity("intro_car_light",100500); + level.player setclutforplayer("clut_sanfran_tunnel",0); + wait(3); + maps\_utility::vision_set_changes("sanfran_neutral",1); + maps\_utility::fog_set_changes("sanfran_tunnel",1); + } + else + { + wait(0.25); + maps\_utility::vision_set_fog_changes("sanfran_tunnel",0); + } + + thread set_tunnel_lighting_2(); + thread set_tunnel_lighting_1(); + thread setup_vfx_sunflare(); + thread setup_pitbull_vfx_lights(); + thread pitbull_headlights_on(); +} + +//Function Number: 15 +setup_hud_lighting() +{ + var_00 = (3,-40,-2); + var_01 = (3,3,-2); + var_02 = common_scripts\utility::spawn_tag_origin(); + var_02 linkto(level.player_pitbull.fake_vehicle_model,"tag_lt_window_hud",var_00,(0,0,0)); + playfxontag(common_scripts\utility::getfx("lt_pt_pitbull_hud"),var_02,"TAG_ORIGIN"); + wait(0.5); + var_03 = 0.5; + var_04 = 0; + while(var_04 < var_03) + { + var_05 = var_04 / var_03; + var_06 = vectorlerp(var_00,var_01,var_05); + var_02 linkto(level.player_pitbull.fake_vehicle_model,"tag_lt_window_hud",var_06,(0,0,0)); + wait(0.05); + var_04 = var_04 + 0.05; + } + + var_00 = (3,3,-2); + var_01 = (3,-45,-2); + wait(10.2); + var_03 = 0.4; + var_04 = 0; + while(var_04 < var_03) + { + var_05 = var_04 / var_03; + var_06 = vectorlerp(var_00,var_01,var_05); + var_02 linkto(level.player_pitbull.fake_vehicle_model,"tag_lt_window_hud",var_06,(0,0,0)); + wait(0.05); + var_04 = var_04 + 0.05; + } + + wait(1); + var_00 = (3,-45,-2); + var_01 = (3,-50,5); + var_03 = 0.4; + var_04 = 0; + while(var_04 < var_03) + { + var_05 = var_04 / var_03; + var_06 = vectorlerp(var_00,var_01,var_05); + var_02 linkto(level.player_pitbull.fake_vehicle_model,"tag_lt_window_hud",var_06,(0,0,0)); + wait(0.05); + var_04 = var_04 + 0.05; + } + + var_02 delete(); + common_scripts\utility::flag_set("kill_vehicle_lights"); + if(level.currentgen) + { + common_scripts\utility::flag_set("show_ship_shadows"); + } +} + +//Function Number: 16 +setup_car_passing_lights() +{ + var_00 = common_scripts\utility::spawn_tag_origin(); + var_00 linkto(self,"TAG_BRAKELIGHT_LEFT",(0,0,0),(0,-90,0)); + playfxontag(common_scripts\utility::getfx("lt_pt_tunnel_car_pass"),var_00,"TAG_ORIGIN"); + common_scripts\utility::flag_wait("kill_vehicle_lights"); + stopfxontag(common_scripts\utility::getfx("lt_pt_tunnel_car_pass"),var_00,"TAG_ORIGIN"); + var_00 delete(); +} + +//Function Number: 17 +set_oncoming_lighting() +{ + common_scripts\utility::flag_wait("start_oncoming_lighting"); + if(level.nextgen) + { + level.player setclutforplayer("clut_sanfran_exterior",0); + maps\_utility::vision_set_changes("sanfran_neutral",1); + maps\_utility::fog_set_changes("sanfran_oncoming",1); + thread mblur_on(); + } + else + { + maps\_utility::vision_set_changes("sanfran_oncoming",1); + } + + level.player lightsetforplayer("setup_drive_shadows"); + thread setup_pitbull_vfx_lights(); + thread setup_vfx_sunflare(); + thread move_sunflare_back_startpoints(); + thread pitbull_drive_dof(); + wait(0.1); + thread script_probe_pitbull_tunnel_exterior_no_trigger(); +} + +//Function Number: 18 +set_bridge_lighting() +{ + common_scripts\utility::flag_wait("start_bridge_lighting"); + if(level.nextgen) + { + level.player setclutforplayer("clut_sanfran_exterior",0); + maps\_utility::vision_set_changes("sanfran_neutral",1); + maps\_utility::fog_set_changes("sanfran_oncoming",1); + thread mblur_on(); + } + else + { + maps\_utility::vision_set_changes("sanfran_oncoming",1); + } + + level.player lightsetforplayer("setup_drive_shadows"); + thread setup_pitbull_vfx_lights(); + thread setup_vfx_sunflare(); + thread move_sunflare_back_startpoints(); + thread pitbull_drive_dof(); + wait(0.1); + thread script_probe_pitbull_tunnel_exterior_no_trigger(); +} + +//Function Number: 19 +set_street_lighting() +{ + common_scripts\utility::flag_wait("start_street_lighting"); + if(level.nextgen) + { + level.player setclutforplayer("clut_sanfran_exterior",0); + maps\_utility::vision_set_changes("sanfran_neutral",1); + maps\_utility::fog_set_changes("sanfran",1); + } + else + { + maps\_utility::vision_set_changes("sanfran_oncoming",1); + } + + level.player lightsetforplayer("set_street_lighting"); + thread setup_vfx_sunflare(); + thread move_sunflare_back_startpoints(); +} + +//Function Number: 20 +set_van_lighting() +{ + common_scripts\utility::flag_wait("start_van_lighting"); + if(level.nextgen) + { + level.player setclutforplayer("clut_sanfran_exterior",0); + maps\_utility::vision_set_changes("sanfran_neutral",1); + maps\_utility::fog_set_changes("sanfran",1); + } + else + { + maps\_utility::vision_set_changes("sanfran_oncoming",1); + } + + level.player lightsetforplayer("set_street_lighting"); + thread setup_vfx_sunflare(); + thread move_sunflare_back_startpoints(); +} + +//Function Number: 21 +set_boost_lighting() +{ + common_scripts\utility::flag_wait("start_boost_lighting"); + if(level.nextgen) + { + level.player setclutforplayer("clut_sanfran_exterior",0); + maps\_utility::vision_set_changes("sanfran_neutral",1); + maps\_utility::fog_set_changes("sanfran",1); + } + else + { + maps\_utility::vision_set_changes("sanfran_oncoming",1); + } + + level.player lightsetforplayer("set_boost_lighting"); + thread setup_vfx_sunflare(); + thread move_sunflare_back_startpoints(); + thread boost_setup_desat(); + common_scripts\utility::flag_set("flag_van_explosion_start"); +} + +//Function Number: 22 +bridge_collapse_screen_effects() +{ + thread bc_initial_blur(); + thread bc_explosion_vision(); + thread bridge_collapse_sequence(); + maps\_utility::delaythread(0.2,::headless_shadow_tweak); + maps\_utility::delaythread(1.2,::car_hit_shadows); + maps\_utility::delaythread(1.3,::car_hit_blur); + maps\_utility::delaythread(23,::bc_shadow_tweak); +} + +//Function Number: 23 +trigger_exit_tunnel() +{ + common_scripts\utility::run_thread_on_targetname("exit_tunnel",::script_probe_pitbull_tunnel_exterior); + common_scripts\utility::run_thread_on_targetname("exit_tunnel",::move_sunflare_back); + common_scripts\utility::run_thread_on_targetname("exit_tunnel",::vision_set_sanfran); + common_scripts\utility::run_thread_on_targetname("exit_tunnel",::setup_drive_shadows); + common_scripts\utility::run_thread_on_targetname("exit_tunnel",::pitbull_headlights_off); + common_scripts\utility::run_thread_on_targetname("exit_tunnel",::disable_bokeh); +} + +//Function Number: 24 +intro_rack_focus_dof() +{ + if(level.nextgen) + { + maps\_lighting::blend_dof_presets("default","intro_out_of_focus",0.05); + wait(6.5); + maps\_lighting::blend_dof_presets("intro_out_of_focus","intro_bg_in_focus",0.5); + wait(2.5); + maps\_lighting::blend_dof_presets("intro_bg_in_focus","intro_all_in_focus",1); + thread intro_zoom_in_out_fleet(); + return; + } + + thread intro_zoom_in_out_fleet(); +} + +//Function Number: 25 +intro_zoom_in_out_fleet() +{ + common_scripts\utility::flag_wait("flag_zoom_in_fleet"); + if(level.nextgen) + { + maps\_lighting::blend_dof_presets("intro_all_in_focus","intro_zoom_out_focus",0.05); + wait(0.5); + maps\_lighting::blend_dof_presets("intro_zoom_out_focus","intro_zoom_in_focus",0.1); + common_scripts\utility::flag_wait("flag_zoom_out_fleet"); + maps\_lighting::blend_dof_presets("intro_zoom_in_focus","intro_bg_in_focus",0.05); + return; + } + + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(2,23); + wait(6.5); + level.player setphysicaldepthoffield(2,23); + wait(2.5); + level.player setphysicaldepthoffield(2,23); + wait(2.5); + level.player disablephysicaldepthoffieldscripting(); +} + +//Function Number: 26 +intro_rack_focus_cargo_dof() +{ + if(level.nextgen) + { + maps\_lighting::blend_dof_presets("intro_bg_in_focus","cargo_in_focus",0.1); + common_scripts\utility::flag_wait("flag_zoom_in_cargo"); + maps\_lighting::blend_dof_presets("cargo_in_focus","cargo_out_focus",0.05); + wait(0.5); + maps\_lighting::blend_dof_presets("cargo_out_focus","cargo_in_focus",0.1); + common_scripts\utility::flag_wait("flag_zoom_out_cargo"); + maps\_lighting::blend_dof_presets("cargo_in_focus","cargo_out_focus",0.05); + wait(0.5); + maps\_lighting::blend_dof_presets("cargo_out_focus","cargo_in_focus",0.1); + return; + } + + common_scripts\utility::flag_wait("flag_zoom_in_cargo"); + wait(0.5); + common_scripts\utility::flag_wait("flag_zoom_out_cargo"); + wait(0.5); +} + +//Function Number: 27 +bc_explosion_vision() +{ + level.player lightsetforplayer("overexposed_effect_2"); + wait(0.05); + level.player lightsetforplayer("set_van_lighting"); +} + +//Function Number: 28 +bc_initial_blur() +{ + setblur(2,0); + wait(0.5); + setblur(0,1); +} + +//Function Number: 29 +headless_shadow_tweak() +{ + level.defaultsundir = getmapsunangles(); + lerpsunangles(level.defaultsundir,(-88,127.1,0),0.01); + wait(2); + lerpsunangles((-88,127.1,0),level.defaultsundir,1); + wait(1.5); + resetsundirection(); +} + +//Function Number: 30 +car_hit_shadows() +{ + level.player lightsetforplayer("car_hit_shadows_0"); + wait(3); + level.player lightsetforplayer("car_hit_shadows_1"); + wait(27); + level.player lightsetforplayer("car_hit_shadows_2"); + wait(8); + level.player lightsetforplayer("car_hit_shadows_1"); + wait(12.2); + level.player lightsetforplayer("car_hit_shadows_2"); +} + +//Function Number: 31 +car_hit_blur() +{ + setblur(3,0); + wait(0.5); + setblur(0,1); +} + +//Function Number: 32 +van_knockback_blur() +{ + setblur(3,0); + wait(0.5); + setblur(0,1.5); +} + +//Function Number: 33 +bc_shadow_tweak() +{ + maps\_utility::lerp_saveddvar("sm_sunSampleSizeNear",0.15,1); + wait(13); + maps\_utility::lerp_saveddvar("sm_sunSampleSizeNear",0.09,1); + wait(4.5); + maps\_utility::lerp_saveddvar("sm_sunSampleSizeNear",0.25,1); + wait(8.5); + maps\_utility::lerp_saveddvar("sm_sunSampleSizeNear",0.08,1); +} + +//Function Number: 34 +tunnel_sequence_dof() +{ + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",1); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(2.5,20,30); + wait(3.5); + level.player setphysicaldepthoffield(2.5,40,2); + wait(11); + level.player disablephysicaldepthoffieldscripting(); + } + else + { + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(2.8,38,30); + wait(3.5); + level.player setphysicaldepthoffield(2.5,40,2); + wait(11); + level.player disablephysicaldepthoffieldscripting(); + } + + if(level.nextgen) + { + wait(3.5); + wait(11); + } + + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",0); + setsaveddvar("r_dof_physical_hipEnable",1); + setsaveddvar("r_dof_physical_hipFstop",6); + setsaveddvar("r_dof_physical_hipSharpCocDiameter",0.03); + setsaveddvar("r_mbCameraRotationInfluence","0"); + } + else + { + } + + common_scripts\utility::flag_set("kill_vehicle_lights"); +} + +//Function Number: 35 +pitbull_drive_dof() +{ + if(level.nextgen) + { + setsaveddvar("r_dof_physical_hipEnable",1); + setsaveddvar("r_dof_physical_hipFstop",6); + setsaveddvar("r_dof_physical_hipSharpCocDiameter",0.03); + } +} + +//Function Number: 36 +pitbull_atlas_impact_initial(param_00) +{ + thread pitbull_impact_blur(); +} + +//Function Number: 37 +pitbull_atlas_impact(param_00) +{ + thread pitbull_impact_blur(); +} + +//Function Number: 38 +pitbull_crash_jump_start(param_00) +{ + thread pitbull_impact_blur(); +} + +//Function Number: 39 +pitbull_roof_impact(param_00) +{ + thread pitbull_impact_blur(); + wait(1.6); + thread pitbull_impact_blur(); +} + +//Function Number: 40 +pitbull_crashed_dof() +{ + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",1); + setsaveddvar("r_dof_physical_hipEnable",0); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(1.5,25,5); + wait(15); + level.player setphysicaldepthoffield(0.75,88,3); + wait(7.5); + level.player disablephysicaldepthoffieldscripting(); + thread mblur_off(); + } + else + { + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(1.5,25,5); + wait(15); + level.player setphysicaldepthoffield(0.75,88,3); + wait(7.5); + thread mblur_off(); + level.player disablephysicaldepthoffieldscripting(); + } + + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",0); + } +} + +//Function Number: 41 +pitbull_impact_blur() +{ + setblur(3,0); + wait(0.6); + setblur(0,0.8); +} + +//Function Number: 42 +pitbull_impact_blur_long() +{ + setblur(3,0); + wait(1.2); + setblur(0,2); +} + +//Function Number: 43 +pitbull_headlights_on() +{ + common_scripts\utility::flag_wait("kill_vehicle_lights"); + wait(0.6); + level.origin_pitbull_headlight = common_scripts\utility::spawn_tag_origin(); + level.origin_pitbull_headlight linkto(level.player_pitbull.fake_vehicle_model,"tag_headlight_right",(5,10,3),(7,0,0)); + playfxontag(common_scripts\utility::getfx("light_sanfran_pitbull_headlight"),level.origin_pitbull_headlight,"TAG_ORIGIN"); +} + +//Function Number: 44 +pitbull_headlights_off() +{ + self waittill("trigger"); + killfxontag(common_scripts\utility::getfx("light_sanfran_pitbull_headlight"),level.origin_pitbull_headlight,"TAG_ORIGIN"); + level.origin_pitbull_headlight delete(); +} + +//Function Number: 45 +friendly_pitbull_headlights_on() +{ + common_scripts\utility::flag_wait("kill_vehicle_lights"); + level.origin_friendly_pitbull_headlight = common_scripts\utility::spawn_tag_origin(); + level.origin_friendly_pitbull_headlight linkto(level.friendly_pitbull,"tag_headlight_right",(0,0,0),(0,0,0)); + playfxontag(common_scripts\utility::getfx("light_sanfran_pitbull_headlight"),level.origin_friendly_pitbull_headlight,"TAG_ORIGIN"); +} + +//Function Number: 46 +friendly_pitbull_headlights_off() +{ + self waittill("trigger"); + killfxontag(common_scripts\utility::getfx("light_sanfran_pitbull_headlight"),level.origin_friendly_pitbull_headlight,"TAG_ORIGIN"); + level.origin_friendly_pitbull_headlight delete(); +} + +//Function Number: 47 +disable_bokeh() +{ + if(level.nextgen) + { + setsaveddvar("r_dof_physical_bokehEnable",0); + } +} + +//Function Number: 48 +van_open_bridge_collapse_dof() +{ + if(level.nextgen) + { + thread mblur_rotation_on(); + setsaveddvar("r_dof_physical_bokehEnable",1); + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(3.5,23,10); + wait(3); + level.player setphysicaldepthoffield(3.5,13,10); + wait(5.2); + thread van_knockback_blur(); + wait(1.5); + level.player setphysicaldepthoffield(1.5,123,5); + wait(11); + level.player setphysicaldepthoffield(2.5,1500,5); + wait(7); + level.player setphysicaldepthoffield(2.5,40,5); + wait(3.5); + level.player setphysicaldepthoffield(2.5,1500,5); + wait(21); + level.player setphysicaldepthoffield(2,35,5); + wait(13); + level.player setphysicaldepthoffield(2.5,40,5); + wait(5); + level.player setphysicaldepthoffield(2.5,1500,5); + wait(8); + level.player setphysicaldepthoffield(1.5,64,5); + wait(10); + level.player disablephysicaldepthoffieldscripting(); + return; + } + + level.player enablephysicaldepthoffieldscripting(); + level.player setphysicaldepthoffield(3.5,23,10); + wait(3); + level.player setphysicaldepthoffield(3.5,13,10); + wait(5.2); + wait(1.5); + level.player setphysicaldepthoffield(1.5,123,5); + wait(11); + level.player setphysicaldepthoffield(2.5,1500,5); + wait(7); + level.player setphysicaldepthoffield(2.5,40,5); + wait(3.5); + level.player setphysicaldepthoffield(2.5,1500,5); + wait(21); + level.player setphysicaldepthoffield(2,35,5); + wait(13); + level.player setphysicaldepthoffield(2.5,40,5); + wait(5); + level.player setphysicaldepthoffield(2.5,1500,5); + wait(8); + level.player setphysicaldepthoffield(1.5,64,5); + wait(10); + level.player disablephysicaldepthoffieldscripting(); +} + +//Function Number: 49 +bridge_collapse_sequence() +{ + common_scripts\_exploder::exploder(9521); + if(level.nextgen) + { + level.player setclutforplayer("clut_sanfran_exterior",6); + } + + wait(8); + wait(14.5); + if(level.currentgen) + { + level.player lightsetforplayer("set_boost_lighting"); + } + + wait(20); + wait(8.75); + thread burke_rim_lights(); + wait(1); + thread boost_setup_desat(); + wait(8); + common_scripts\_exploder::kill_exploder(9521); +} + +//Function Number: 50 +attach_light_to_police_car(param_00) +{ + if(isdefined(param_00.car_light)) + { + param_00.car_light delete(); + } + + param_00.car_light = common_scripts\utility::spawn_tag_origin(); + var_01 = param_00.car_light; + var_01 linkto(param_00,"TAG_ORIGIN",(0,0,0),(0,0,0)); + playfxontag(common_scripts\utility::getfx("light_sedan_police_scroll"),var_01,"tag_origin"); + level waittill("kill_barricade_copcar_lights"); + stopfxontag(common_scripts\utility::getfx("light_sedan_police_scroll"),var_01,"tag_origin"); +} + +//Function Number: 51 +burke_rim_lights() +{ + var_00 = level.burke; + if(isdefined(var_00.helmet_tag)) + { + var_00.helmet_tag delete(); + } + + if(isdefined(var_00.helmet_tag2)) + { + var_00.helmet_tag2 delete(); + } + + var_00.helmet_tag = common_scripts\utility::spawn_tag_origin(); + var_01 = var_00.helmet_tag; + var_00.helmet_tag2 = common_scripts\utility::spawn_tag_origin(); + var_02 = var_00.helmet_tag2; + var_01 linkto(var_00,"J_Head",(3,-5,5),(0,0,0),0); + var_02 linkto(var_00,"J_Head",(3,-5,-5),(0,0,0),0); +} + +//Function Number: 52 +boost_setup_desat() +{ + if(level.nextgen) + { + maps\_utility::vision_set_changes("sanfran_neutral",3); + maps\_utility::fog_set_changes("sanfran",3); + return; + } + + maps\_utility::vision_set_fog_changes("sanfran_boost_desat",3); +} + +//Function Number: 53 +setup_dof_presets() +{ + maps\_lighting::create_dof_preset("intro_out_of_focus",1500,2000,6,2001,7000,1,0.5); + maps\_lighting::create_dof_preset("intro_fg_in_focus",760,1820,6,1880,7000,5.5,0.5); + maps\_lighting::create_dof_preset("intro_bg_in_focus",2000,5450,6,16500,150000,1,0.5); + maps\_lighting::create_dof_preset("intro_all_in_focus",0,30,4,14140,130000,1,0.5); + maps\_lighting::create_dof_preset("intro_zoom_out_focus",3000,5000,6.5,5020,6750,6,0.5); + maps\_lighting::create_dof_preset("intro_zoom_in_focus",3000,6200,6.5,18500,150000,6,0.5); + maps\_lighting::create_dof_preset("cargo_in_focus",2100,4100,6.3,12150,14680,1.8,0.5); + maps\_lighting::create_dof_preset("cargo_out_focus",330,2000,6.3,2010,6468,5.5,0.5); + maps\_lighting::create_dof_preset("tunnel_start",8,23,5,1500,2000,0.3,0.5); + maps\_lighting::create_dof_preset("tunnel_hud_moment",5,21,5,590,1220,4,0.5); + maps\_lighting::create_dof_preset("pitbull_drive",0,65,4,3000,37590,1.8,0.5); + maps\_lighting::create_dof_preset("pitbull_crashed",0,100,4,200,4000,1.5,0.5); + maps\_lighting::create_dof_preset("bridge_section_01",0,100,4,6000,31000,1.5,0); + maps\_lighting::create_dof_preset("van_door_approach",0,1,4,52,580,1.8,0.5); + maps\_lighting::create_dof_preset("van_drones_fly",0,1,4,2000,7100,1.8,0.5); + maps\_lighting::create_dof_preset("van_bridge_explode",0,240,4,2000,7100,1.8,0.5); + maps\_lighting::create_dof_preset("bc_knockback",0,30,4,100,720,4,0.5); + maps\_lighting::create_dof_preset("bc_watch_breakage",25,420,4,2000,18000,2,0.5); + maps\_lighting::create_dof_preset("bc_catch_moment",1,20,5,20,295,2.7,0.5); + maps\_lighting::create_dof_preset("bc_bus_overboard",25,215,4,5000,9000,4,0.5); + maps\_lighting::create_dof_preset("bc_jump_in",10,60,4,61,100,2,0.5); + maps\_lighting::create_dof_preset("dof_disable",0,10,0,5000,20000,0,0.5); +} + +//Function Number: 54 +setup_crash_events() +{ + common_scripts\utility::flag_wait("flag_player_crashed"); + thread script_probe_pitbull_default(); + level.defaultsundir = getmapsunangles(); + lerpsunangles(level.defaultsundir,(-24.5,125,0),1); + if(level.nextgen) + { + maps\_utility::fog_set_changes("sanfran",1); + } + else + { + maps\_utility::vision_set_fog_changes("sanfran",0); + } + + thread pitbull_crashed_dof(); + level.player lightsetforplayer("setup_crash_events"); + wait(5); + wait(9.25); + level.player lightsetforplayer("after_crash"); + wait(7.5); + lerpsunangles((-24.5,125,0),level.defaultsundir,0.25); + level.player lightsetforplayer("set_street_lighting"); + wait(2.5); + resetsundirection(); +} + +//Function Number: 55 +lerp_sun() +{ + resetsundirection(); +} + +//Function Number: 56 +lerp_sun_cargo_ship() +{ + lerpsunangles((-24.5,127.1,0),(-20,160,0),0.01,0,0); +} + +//Function Number: 57 +script_probe_pitbull_tunnel_interior() +{ + var_00 = getent("refl_pitbull_tunnel_interior","targetname"); + level.burke overridereflectionprobe(var_00.origin); + level.saint overridereflectionprobe(var_00.origin); + level.player_pitbull.fake_vehicle_model overridereflectionprobe(var_00.origin); + level.player_pitbull.player_rig overridereflectionprobe(var_00.origin); + var_01 = getent("lighting_centroid_burke","targetname"); + level.burke overridelightingorigin(var_01.origin); +} + +//Function Number: 58 +script_probe_pitbull_tunnel_exterior() +{ + self waittill("trigger"); + var_00 = getent("refl_pitbull_tunnel_exterior","targetname"); + level.burke overridereflectionprobe(var_00.origin); + level.burke defaultlightingorigin(); + level.saint overridereflectionprobe(var_00.origin); + level.player_pitbull.fake_vehicle_model overridereflectionprobe(var_00.origin); + level.player_pitbull.player_rig overridereflectionprobe(var_00.origin); +} + +//Function Number: 59 +script_probe_pitbull_tunnel_exterior_no_trigger() +{ + var_00 = getent("refl_pitbull_tunnel_exterior","targetname"); + level.burke overridereflectionprobe(var_00.origin); + level.saint overridereflectionprobe(var_00.origin); + level.player_pitbull.fake_vehicle_model overridereflectionprobe(var_00.origin); + level.player_pitbull.player_rig overridereflectionprobe(var_00.origin); +} + +//Function Number: 60 +script_probe_pitbull_default() +{ + level.burke defaultreflectionprobe(); + level.saint defaultreflectionprobe(); + level.player_pitbull.fake_vehicle_model defaultreflectionprobe(); + level.player_pitbull.player_rig defaultreflectionprobe(); +} + +//Function Number: 61 +setup_pitbull_vfx_lights() +{ + var_00 = level.burke; + if(isdefined(var_00.helmet_tag)) + { + var_00.helmet_tag delete(); + } + + var_00.helmet_tag = common_scripts\utility::spawn_tag_origin(); + var_01 = var_00.helmet_tag; + var_01 linkto(var_00,"J_Head",(5,-10,0),(0,0,0),0); +} + +//Function Number: 62 +setup_vfx_sunflare() +{ + thread maps\_shg_fx::vfx_sunflare("sanfran_sunflare_a"); +} + +//Function Number: 63 +move_sunflare_back() +{ + self waittill("trigger"); + setsunflareposition((-24.5,127.1,0)); +} + +//Function Number: 64 +move_sunflare_back_startpoints() +{ + setsunflareposition((-24.5,127.1,0)); +} + +//Function Number: 65 +vision_set_sanfran() +{ + self waittill("trigger"); + if(level.nextgen) + { + level.player setclutforplayer("clut_sanfran_exterior",1); + maps\_utility::vision_set_changes("sanfran_neutral",1); + maps\_utility::fog_set_changes("sanfran_oncoming",1); + return; + } + + maps\_utility::vision_set_changes("sanfran_oncoming",1); +} + +//Function Number: 66 +setup_drive_shadows() +{ + self waittill("trigger"); + level.player lightsetforplayer("setup_drive_shadows"); +} \ No newline at end of file diff --git a/AW/PC/maps/sanfran_pitbull.gsc b/AW/PC/maps/sanfran_pitbull.gsc new file mode 100644 index 0000000..6470c0b --- /dev/null +++ b/AW/PC/maps/sanfran_pitbull.gsc @@ -0,0 +1,948 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: sanfran_pitbull.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 45 + * Decompile Time: 646 ms + * Timestamp: 4/22/2024 2:35:54 AM +*******************************************************************/ + +//Function Number: 1 +player_pitbull_init(param_00) +{ + precachemodel("vehicle_vm_pitbull"); + precache_lui_event_strings(); + level._effect["ui_pitbulltur_target"] = loadfx("vfx/ui/ui_pitbulltur_target"); + if(isdefined(param_00)) + { + level.scr_anim[param_00]["cockpit_idle"] = %pitbull_cockpit_idle_vm; + level.scr_anim[param_00]["cockpit_shake_cam"] = %pitbull_cockpit_idle_vm_cam; + level.scr_anim[param_00]["cockpit_static_idle"] = %pitbull_cockpit_static_idle_vm; + level.scr_anim[param_00]["cockpit_static_idle_cam"] = %pitbull_cockpit_static_idle_vm_cam; + level.scr_anim[param_00]["center2left"] = %pitbull_cockpit_turn_center_to_l_vm; + level.scr_anim[param_00]["center2left_cam"] = %pitbull_cockpit_turn_center_to_l_vm_cam; + level.scr_anim[param_00]["center2right"] = %pitbull_cockpit_turn_center_to_r_vm; + level.scr_anim[param_00]["center2right_cam"] = %pitbull_cockpit_turn_center_to_r_vm_cam; + level.scr_anim[param_00]["left2center"] = %pitbull_cockpit_turn_l_to_center_vm; + level.scr_anim[param_00]["left2center_cam"] = %pitbull_cockpit_turn_l_to_center_vm_cam; + level.scr_anim[param_00]["right2center"] = %pitbull_cockpit_turn_r_to_center_vm; + level.scr_anim[param_00]["right2center_cam"] = %pitbull_cockpit_turn_r_to_center_vm_cam; + level.scr_anim[param_00]["accelerate"] = %pitbull_cockpit_accelerate_vm; + level.scr_anim[param_00]["decelerate"] = %pitbull_cockpit_decelerate_vm; + level.scr_anim[param_00]["accelerate_cam"] = %pitbull_cockpit_accelerate_vm_cam; + level.scr_anim[param_00]["accelerate2idle_cam"] = %pitbull_cockpit_accelerate_to_idle_vm_cam; + level.scr_anim[param_00]["decelerate_cam"] = %pitbull_cockpit_decelerate_vm_cam; + level.scr_anim[param_00]["gear_up"] = %pitbull_cockpit_gear_up_vm; + level.scr_anim[param_00]["gear_down"] = %pitbull_cockpit_gear_down_vm; + } + + thread load_pitbull_animations(); +} + +//Function Number: 2 +load_pitbull_animations() +{ + level.scr_animtree["_pitbull"] = #animtree; + level.scr_model["_pitbull"] = "vehicle_vm_pitbull"; + level.scr_anim["_pitbull"]["cockpit_idle"] = %pitbull_cockpit_idle; + level.scr_anim["_pitbull"]["cockpit_static_idle"] = %pitbull_cockpit_static_idle; + level.scr_anim["_pitbull"]["center2left"] = %pitbull_cockpit_turn_center_to_l; + level.scr_anim["_pitbull"]["center2right"] = %pitbull_cockpit_turn_center_to_r; + level.scr_anim["_pitbull"]["left2center"] = %pitbull_cockpit_turn_l_to_center; + level.scr_anim["_pitbull"]["right2center"] = %pitbull_cockpit_turn_r_to_center; + level.scr_anim["_pitbull"]["accelerate"] = %pitbull_cockpit_accelerate; + level.scr_anim["_pitbull"]["decelerate"] = %pitbull_cockpit_decelerate; + level.scr_anim["_pitbull"]["gear_up"] = %pitbull_cockpit_gear_up; + level.scr_anim["_pitbull"]["gear_down"] = %pitbull_cockpit_gear_down; +} + +//Function Number: 3 +precache_lui_event_strings() +{ + precachestring(&"pitbull_update_speed"); + precachestring(&"pitbull_charge"); + precachestring(&"pitbull_safe"); + precachestring(&"pitbull_target_locked"); + precachestring(&"pitbull_warning"); + precachestring(&"pitbull_update_text"); + precachestring(&"pitbullHud"); + precachestring(&"pitbull_stop"); + precachestring(&"pitbull_stop_movie"); + precachestring(&"pitbull_ui_tap"); + precachestring(&"pitbull_fade_video"); +} + +//Function Number: 4 +handle_player_pitbull(param_00) +{ + self endon("death"); + thread player_pitbull_physics_wake_up(); + thread handle_player_pitbull_autosave_checks(); + self.player_rig = undefined; + if(isdefined(param_00)) + { + self.player_rig = maps\_utility::spawn_anim_model(param_00); + self.player_rig hide(); + thread common_scripts\utility::delete_on_death(self.player_rig); + } + + if(!isdefined(self.fake_vehicle_model)) + { + var_01 = maps\_utility::spawn_anim_model("_pitbull"); + var_01.origin = self.origin; + var_01.angles = self.angles; + var_01 hidepart("TAG_WINDSHIELD1"); + var_01 hidepart("TAG_WINDSHIELD2"); + var_01 hidepart("TAG_WINDSHIELD3"); + var_01 linkto(self); + self.fake_vehicle_model = var_01; + if(isdefined(self.player_rig)) + { + self.player_rig linkto(self.fake_vehicle_model,"tag_player",(0,0,0),(0,0,0)); + } + } + + self.fake_vehicle_model show(); + self hide(); + self.mgturret[0] hide(); + self makeunusable(); + maps\_utility::ent_flag_init("pitbull_disconnected"); + maps\_utility::ent_flag_init("pitbull_scripted_anim"); + maps\_utility::ent_flag_init("pitbull_allow_shooting"); + for(;;) + { + self waittill("mount_pitbull",var_02); + mount_player_pitbull(var_02); + thread maps\sanfran_pitbull_drive_anim::handle_player_pitbull_driving(); + thread handle_player_pitbull_turret(); + thread handle_player_pitbull_hud(); + thread handle_player_pitbull_damage(); + thread pitbull_rumble(); + self waittill("dismount_pitbull"); + dismount_player_pitbull(self.player_rig); + } +} + +//Function Number: 5 +show_video_on_driverside() +{ + wait(0.1); + setomnvar("ui_pitbull_video_state",1); +} + +//Function Number: 6 +mount_player_pitbull(param_00) +{ + setomnvar("ui_pitbull",1); + level.player maps\_utility::player_mount_vehicle(self); + level.player lerpfov(65,0.2); + self.player_rig show(); + level.player maps\_shg_utility::setup_player_for_scene(); + level.player playerlinktodelta(self.player_rig,"tag_player",1,0,0,0,0,1); + level.player playerlinkedvehicleanglesenable(); + level.player lerpviewangleclamp(0,0,0,0,0,0,0); +} + +//Function Number: 7 +dismount_player_pitbull(param_00) +{ + if(isdefined(param_00)) + { + level.player unlink(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + self notify("stop_loop"); + param_00 hide(); + } + + setomnvar("ui_pitbull",0); + self.fake_vehicle_model hide(); + self show(); + if(!maps\_utility::ent_flag("pitbull_disconnected")) + { + level.player maps\_utility::player_dismount_vehicle(); + } + + level.player lerpfov(65,0.2); + self notify("dismount_player_pitbull"); +} + +//Function Number: 8 +disconnect_fake_pitbull() +{ + if(!maps\_utility::ent_flag("pitbull_disconnected")) + { + level.player maps\_utility::player_dismount_vehicle(); + self.fake_vehicle_model unlink(); + self.fake_vehicle_model notify("stop_loop"); + self.fake_vehicle_model maps\_utility::anim_stopanimscripted(); + level.player playerlinktodelta(self.player_rig,"tag_player",1,0,0,0,0,1); + maps\_utility::ent_flag_set("pitbull_disconnected"); + thread fake_vehicle_fake_collision(); + self vehphys_disablecrashing(); + } + + return self.fake_vehicle_model; +} + +//Function Number: 9 +reconnect_fake_pitbull() +{ + if(maps\_utility::ent_flag("pitbull_disconnected")) + { + self vehicle_teleport(self.fake_vehicle_model.origin,self.fake_vehicle_model.angles,1); + level.player maps\_utility::player_mount_vehicle(self); + self.fake_vehicle_model dontinterpolate(); + self.fake_vehicle_model.origin = self.origin; + self.fake_vehicle_model.angles = self.angles; + self.fake_vehicle_model linkto(self); + level.player playerlinktodelta(self.player_rig,"tag_player",1,0,0,0,0,1); + level.player playerlinkedvehicleanglesenable(); + maps\_utility::ent_flag_clear("pitbull_disconnected"); + self vehphys_enablecrashing(); + } +} + +//Function Number: 10 +fake_vehicle_fake_collision() +{ + self endon("death"); + self endon("dismount_pitbull"); + while(maps\_utility::ent_flag("pitbull_disconnected")) + { + var_00 = self.fake_vehicle_model; + var_01 = anglestoforward(var_00.angles); + var_02 = var_00.origin + var_01 * 78; + var_03 = 117; + physicsexplosioncylinder(var_02,var_03,0,0.5); + wait(0.05); + } +} + +//Function Number: 11 +add_passenger_to_player_pitbull(param_00,param_01) +{ + if(!isdefined(self.fake_attachedguys)) + { + self.fake_attachedguys = []; + } + + if(!isdefined(self.fake_usedpositions)) + { + self.fake_usedpositions = []; + } + + self.fake_attachedguys[self.fake_attachedguys.size] = param_00; + var_02 = set_pos(param_01); + var_03 = maps\_vehicle_aianim::anim_pos(self,var_02); + self.fake_usedpositions[var_02] = 1; + var_04 = self.fake_vehicle_model gettagorigin(var_03.sittag); + var_05 = self.fake_vehicle_model gettagangles(var_03.sittag); + param_00.vehicle_pos = var_02; + param_00.vehicle_idle = var_03.idle; + self.fake_vehicle_model maps\_vehicle_aianim::link_to_sittag(param_00,var_03.sittag,var_03.sittag_offset,var_03.linktoblend); + self.fake_vehicle_model thread passenger_idle(param_00,var_03); +} + +//Function Number: 12 +passenger_idle(param_00,param_01) +{ + param_00 endon("pitbull_get_out"); + maps\_vehicle_aianim::play_new_idle(param_00,param_01); +} + +//Function Number: 13 +set_pos(param_00) +{ + if(isdefined(param_00)) + { + if(isdefined(self.fake_usedpositions[param_00])) + { + } + + return param_00; + } + + for(var_01 = 1;var_01 < 4;var_01++) + { + if(self.fake_usedpositions[var_01]) + { + continue; + } + + return var_01; + } +} + +//Function Number: 14 +remove_passenger_from_player_pitbull(param_00) +{ + for(var_01 = 0;var_01 < self.fake_attachedguys.size;var_01++) + { + if(self.fake_attachedguys[var_01] == param_00) + { + common_scripts\utility::array_remove(self.fake_attachedguys,param_00); + self.fake_usedpositions[param_00.vehicle_pos] = 0; + param_00 notify("pitbull_get_out"); + param_00 notify("newanim"); + param_00 stopanimscripted(); + param_00 unlink(); + param_00.vehicle_pos = undefined; + param_00.vehicle_idle = undefined; + return; + } + } +} + +//Function Number: 15 +handle_player_pitbull_turret() +{ + self endon("death"); + self endon("dismount_player_pitbull"); + if(!isdefined(self.mgturret[0])) + { + return; + } + + for(;;) + { + maps\_utility::ent_flag_wait("pitbull_allow_shooting"); + thread pitbull_turret_aim(); + thread pitbull_turret_fire(); + maps\_utility::ent_flag_waitopen("pitbull_allow_shooting"); + } +} + +//Function Number: 16 +find_best_target(param_00,param_01,param_02) +{ + var_03 = undefined; + var_04 = undefined; + var_05 = getentarray("target_vehicle","script_noteworthy"); + foreach(var_07 in var_05) + { + if(!isdefined(var_07)) + { + continue; + } + + var_08 = var_07.origin - self.origin; + var_09 = vectornormalize(var_08); + var_0A = length(var_08); + var_0B = vectordot(param_00,var_09); + var_0B = acos(clamp(var_0B,-1,1)); + if(var_0B > param_01) + { + continue; + } + + var_0C = abs(var_0A - param_02); + var_0B = var_0B + var_0C + 50; + if(!isdefined(var_03) || var_0B < var_03) + { + var_03 = var_0B; + var_04 = var_07; + } + } + + return var_04; +} + +//Function Number: 17 +find_adjacent_target(param_00) +{ + if(!isdefined(self.current_turret_target)) + { + return; + } + + var_01 = anglestoforward(level.player getplayerangles()); + var_02 = anglestoright(level.player getplayerangles()); + var_03 = undefined; + var_04 = undefined; + var_05 = getentarray("target_vehicle","script_noteworthy"); + foreach(var_07 in var_05) + { + if(!isdefined(var_07)) + { + continue; + } + + if(var_07 == self.current_turret_target) + { + continue; + } + + var_08 = var_07.origin - self.origin; + var_09 = vectornormalize(var_08); + var_0A = vectordot(var_01,var_09); + if(var_0A < 0.423) + { + continue; + } + + var_0B = var_07.origin - self.current_turret_target.origin; + var_0C = vectordot(var_02,var_0B); + if(!isdefined(var_04)) + { + var_03 = var_0C; + var_04 = var_07; + continue; + } + + if(param_00 == "left") + { + if(var_03 < 0) + { + if(var_0C < 0 && var_03 < var_0C) + { + var_03 = var_0C; + var_04 = var_07; + } + } + else if(var_0C < 0 || var_03 < var_0C) + { + var_03 = var_0C; + var_04 = var_07; + } + + continue; + } + + if(var_03 > 0) + { + if(var_0C > 0 && var_03 > var_0C) + { + var_03 = var_0C; + var_04 = var_07; + } + + continue; + } + + if(var_0C > 0 || var_03 > var_0C) + { + var_03 = var_0C; + var_04 = var_07; + } + } + + return var_04; +} + +//Function Number: 18 +pitbull_turret_aim() +{ + self endon("death"); + self endon("dismount_player_pitbull"); + self endon("pitbull_allow_shooting"); + var_00 = common_scripts\utility::spawn_tag_origin(); + thread clean_up_hud_entity(var_00,"ui_pitbulltur_target"); + thread update_target_hud(var_00); + thread pitbull_turret_targeting(var_00); +} + +//Function Number: 19 +update_target_hud(param_00) +{ + self endon("death"); + param_00 endon("death"); + for(;;) + { + if(!isalive(self.current_turret_target)) + { + wait 0.05; + if(!isalive(self.current_turret_target)) + { + if(isdefined(param_00.fx_on) && param_00.fx_on) + { + param_00.fx_on = 0; + killfxontag(common_scripts\utility::getfx("ui_pitbulltur_target"),param_00,"tag_origin"); + } + + continue; + } + } + + if(!isdefined(param_00.fx_on) || !param_00.fx_on) + { + playfxontag(common_scripts\utility::getfx("ui_pitbulltur_target"),param_00,"tag_origin"); + param_00.fx_on = 1; + } + + var_01 = self.current_turret_target.origin + (0,0,50); + var_02 = vectornormalize(var_01 - level.player geteye()); + param_00.origin = var_01; + param_00.angles = vectortoangles(var_02 * -1); + wait 0.05; + } +} + +//Function Number: 20 +pitbull_turret_set_target(param_00,param_01,param_02) +{ + self notify("set_new_target"); + self endon("set_new_target"); + self endon("death"); + self endon("dismount_player_pitbull"); + self endon("pitbull_allow_shooting"); + var_03 = self.current_turret_target; + self.mgturret[0] settargetentity(var_03,(0,0,50)); + self.mgturret[0] snaptotargetentity(var_03,(0,0,50)); + wait_until_new_target(var_03,param_01,param_02); + self.current_turret_target = undefined; +} + +//Function Number: 21 +pitbull_turret_targeting(param_00) +{ + self endon("death"); + self endon("dismount_player_pitbull"); + self endon("pitbull_allow_shooting"); + for(;;) + { + var_01 = 0; + var_02 = 90; + if(!isdefined(self.current_turret_target)) + { + var_03 = anglestoforward(level.player getplayerangles()); + var_04 = find_best_target(var_03,30,500); + if(isdefined(var_04)) + { + self.current_turret_target = var_04; + var_01 = 5; + var_02 = 30; + } + } + + if(isdefined(self.current_turret_target)) + { + pitbull_turret_set_target(param_00,var_02,var_01); + luinotifyevent(&"pitbull_target_locked",1,1); + } + else + { + luinotifyevent(&"pitbull_target_locked",1,0); + } + + wait(0.05); + } +} + +//Function Number: 22 +wait_until_new_target(param_00,param_01,param_02) +{ + param_00 endon("death"); + var_03 = cos(param_01); + var_04 = 0; + if(isdefined(param_02) && param_02 > 0) + { + var_04 = 1; + } + + while(!var_04 || param_02 > 0) + { + var_05 = anglestoforward(level.player getplayerangles()); + if(!isdefined(param_00)) + { + return; + } + + var_06 = param_00.origin - self.origin; + var_07 = vectornormalize(var_06); + if(vectordot(var_05,var_07) < var_03) + { + return; + } + + if(var_04) + { + param_02 = param_02 - 0.1; + } + + wait(0.1); + } +} + +//Function Number: 23 +pitbull_update_lui_charge(param_00) +{ + luinotifyevent(&"pitbull_charge",1,int(clamp(param_00,0,1) * 100)); +} + +//Function Number: 24 +pitbull_turret_fire() +{ + self endon("death"); + self endon("dismount_player_pitbull"); + self endon("pitbull_allow_shooting"); + var_00 = 0.8; + var_01 = var_00; + pitbull_update_lui_charge(var_01); + for(;;) + { + var_02 = 0; + var_03 = level.player is_shoot_button_pressed(); + var_01 = var_01 + 0.05; + var_01 = min(var_01,var_00); + if(isdefined(var_03) && var_03) + { + if(var_01 >= var_00) + { + if(isdefined(self.current_turret_target)) + { + var_02 = 1; + soundscripts\_snd_playsound::snd_play("wpn_railgun_shot"); + self.mgturret[0] shootturret(); + level.player playrumbleonentity("heavygun_fire"); + var_01 = 0; + } + else if(common_scripts\utility::flag("flag_player_can_fire") == 1) + { + } + } + + pitbull_update_lui_charge(1); + } + else + { + pitbull_update_lui_charge(0); + } + + var_04 = var_01 / var_00; + wait(0.05); + } +} + +//Function Number: 25 +display_no_target_hint() +{ + thread maps\_utility::display_hint("no_target_hint"); + common_scripts\utility::waittill_notify_or_timeout("set_new_target",2); + level.player.showhint = 0; +} + +//Function Number: 26 +is_shoot_button_pressed() +{ + if(!level.console && !level.player common_scripts\utility::is_player_gamepad_enabled()) + { + return self attackbuttonpressed(); + } + + return self adsbuttonpressed(); +} + +//Function Number: 27 +clean_up_hud_entity(param_00,param_01) +{ + common_scripts\utility::waittill_any("death","dismount_player_pitbull"); + if(isdefined(param_00)) + { + stopfxontag(common_scripts\utility::getfx(param_01),param_00,"tag_origin"); + param_00 delete(); + } +} + +//Function Number: 28 +handle_player_pitbull_hud() +{ + self endon("death"); + self endon("dismount_player_pitbull"); + if(level.currentgen) + { + self endon("oncoming_scene_pitbull_monitor_start"); + } + + for(;;) + { + var_00 = self vehicle_getspeed(); + var_00 = int(var_00); + if(var_00 > 0) + { + var_00 = var_00 + 1; + } + + luinotifyevent(&"pitbull_update_speed",1,var_00); + if(level.currentgen) + { + level.oncoming_pitbull_speed = var_00; + } + + wait(0.05); + } +} + +//Function Number: 29 +pitbull_rumble() +{ + level endon("flag_player_crashed"); + level.player endon("death"); + var_00 = 0; + var_01 = 0.015; + var_02 = var_01 - var_00; + thread pitbull_rumble_stop(); + var_03 = maps\_utility::get_rumble_ent("steady_rumble"); + var_03.intensity = 0.04; + var_04 = 1; + thread pitbull_vehicle_collision_rumble(var_03); + for(;;) + { + var_05 = get_pitbull_shake_value(); + var_03.intensity = var_00 + var_05 * var_02; + wait(randomfloatrange(var_04 / 4,var_04 / 2)); + } +} + +//Function Number: 30 +pitbull_vehicle_collision_rumble(param_00) +{ + level endon("flag_player_crashed"); + level.player endon("death"); + var_01 = 0.02; + var_02 = 0.1; + var_03 = var_02 - var_01; + for(;;) + { + self waittill("veh_contact"); + var_04 = get_pitbull_shake_value(); + param_00.intensity = var_01 + var_04 * var_03; + } +} + +//Function Number: 31 +get_pitbull_shake_value() +{ + var_00 = 0; + var_01 = 12; + return self vehicle_getspeed() / var_01; +} + +//Function Number: 32 +pitbull_rumble_stop() +{ + level waittill("flag_player_crashed"); + stopallrumbles(); +} + +//Function Number: 33 +handle_player_pitbull_damage() +{ + self endon("death"); + self endon("stop_player_pitbull_damage"); + childthread manage_windshield_states(); + var_00 = []; + var_00[0] = [200,300]; + var_00[1] = [400,3000]; + var_01 = 0; + var_02 = 0; + for(;;) + { + self waittill("veh_contact",var_03,var_04,var_05,var_06,var_07); + var_08 = (var_06[0],var_06[1],0); + var_09 = length(var_08); + if(var_09 < var_00[var_01][0]) + { + continue; + } + + var_02 = var_02 + var_09; + if(var_02 < var_00[var_01][1]) + { + continue; + } + + var_01++; + self notify("windshield_state",var_01); + var_02 = 0; + if(var_01 >= var_00.size) + { + return; + } + } +} + +//Function Number: 34 +manage_windshield_states() +{ + for(;;) + { + self waittill("windshield_state",var_00); + pitbull_hide_part("TAG_WINDSHIELD"); + pitbull_hide_part("TAG_WINDSHIELD1"); + pitbull_hide_part("TAG_WINDSHIELD2"); + pitbull_hide_part("TAG_WINDSHIELD3"); + if(var_00 == 0) + { + pitbull_show_part("TAG_WINDSHIELD"); + continue; + } + + if(var_00 == 1) + { + pitbull_show_part("TAG_WINDSHIELD1"); + continue; + } + + if(var_00 == 2) + { + pitbull_show_part("TAG_WINDSHIELD2"); + continue; + } + + if(var_00 == 3) + { + pitbull_show_part("TAG_WINDSHIELD3"); + continue; + } + + if(var_00 > 3) + { + pitbull_show_part("TAG_WINDSHIELD3"); + return; + } + } +} + +//Function Number: 35 +pitbull_hide_part(param_00) +{ + self hidepart(param_00); + if(isdefined(self.fake_vehicle_model)) + { + self.fake_vehicle_model hidepart(param_00); + } +} + +//Function Number: 36 +pitbull_show_part(param_00) +{ + self showpart(param_00); + if(isdefined(self.fake_vehicle_model)) + { + self.fake_vehicle_model showpart(param_00); + } +} + +//Function Number: 37 +handle_friendly_pitbull_shooting() +{ + self endon("death"); + thread friendly_pitbull_aim(); + thread friendly_pitbull_fire(); +} + +//Function Number: 38 +friendly_pitbull_aim() +{ + self endon("death"); + for(;;) + { + var_00 = anglestoforward(self.angles); + var_01 = find_best_target(var_00,45,500); + if(isdefined(var_01)) + { + self.mgturret[0] settargetentity(var_01,(0,0,50)); + wait_until_new_target(var_01,45,5); + } + + wait(0.05); + } +} + +//Function Number: 39 +friendly_pitbull_fire() +{ + self endon("death"); + maps\_utility::ent_flag_init("pitbull_allow_shooting"); + for(;;) + { + wait(randomfloatrange(2,3)); + if(maps\_utility::ent_flag("pitbull_allow_shooting")) + { + var_00 = self.mgturret[0] getturrettarget(1); + while(!isdefined(var_00)) + { + wait(0.2); + var_00 = self.mgturret[0] getturrettarget(1); + } + + wait(randomfloatrange(2,5)); + self.mgturret[0] shootturret(); + self.mgturret[0] soundscripts\_snd::snd_message("npc_pitbull_shot"); + wait(0.5); + } + } +} + +//Function Number: 40 +player_pitbull_physics_wake_up() +{ + self endon("death"); + for(;;) + { + if(level.nextgen) + { + wakeupphysicssphere(self.origin,240); + } + else + { + physicsexplosionsphere(self.origin,240,200,0.15,0); + physicsexplosionsphere(level.player.origin,160,140,2.5,0); + } + + wait 0.05; + } +} + +//Function Number: 41 +handle_player_pitbull_autosave_checks() +{ + self endon("death"); + maps\_utility::add_extra_autosave_check("pitbull_no_recent_accel",::autosave_check_pitbull_no_recent_accel,"pitbull recently accelerated"); + maps\_utility::add_extra_autosave_check("pitbull_upright",::autosave_check_pitbull_upright,"pitbull is not upright"); + maps\_utility::add_extra_autosave_check("pitbull_moving",::autosave_check_pitbull_moving,"pitbull is not moving"); + thread monitor_pitbull_recent_accel(); + common_scripts\utility::flag_wait("flag_player_crashed"); + maps\_utility::remove_extra_autosave_check("pitbull_no_recent_accel"); + maps\_utility::remove_extra_autosave_check("pitbull_upright"); + maps\_utility::remove_extra_autosave_check("pitbull_moving"); +} + +//Function Number: 42 +monitor_pitbull_recent_accel() +{ + self endon("death"); + var_00 = 1544; + var_01 = squared(var_00); + for(;;) + { + if(lengthsquared(maps\_shg_utility::get_differentiated_acceleration()) > var_01) + { + self.last_big_acceleration_msec = gettime(); + } + + wait 0.05; + } +} + +//Function Number: 43 +autosave_check_pitbull_no_recent_accel() +{ + var_00 = 2000; + return !isdefined(level.player_pitbull.last_big_acceleration_msec) || gettime() - level.player_pitbull.last_big_acceleration_msec > var_00; +} + +//Function Number: 44 +autosave_check_pitbull_upright() +{ + var_00 = 0.5; + return anglestoup(level.player_pitbull.angles)[2] > var_00; +} + +//Function Number: 45 +autosave_check_pitbull_moving() +{ + var_00 = 20; + return !common_scripts\utility::flag("flag_intro_give_player_driving") || level.player_pitbull vehicle_getspeed() > var_00; +} \ No newline at end of file diff --git a/AW/PC/maps/sanfran_pitbull_drive_anim.gsc b/AW/PC/maps/sanfran_pitbull_drive_anim.gsc new file mode 100644 index 0000000..e977ae2 --- /dev/null +++ b/AW/PC/maps/sanfran_pitbull_drive_anim.gsc @@ -0,0 +1,743 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: sanfran_pitbull_drive_anim.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 17 + * Decompile Time: 267 ms + * Timestamp: 4/22/2024 2:35:55 AM +*******************************************************************/ + +//Function Number: 1 +handle_player_pitbull_driving() +{ + self endon("death"); + self endon("dismount_player_pitbull"); + if(!maps\_utility::ent_flag("pitbull_scripted_anim")) + { + childthread link_player_and_start_driving_anims(); + } + + for(;;) + { + if(maps\_utility::ent_flag("pitbull_scripted_anim")) + { + maps\_utility::ent_flag_waitopen("pitbull_scripted_anim"); + self.fake_vehicle_model maps\_utility::anim_stopanimscripted(); + self.player_rig maps\_utility::anim_stopanimscripted(); + childthread link_player_and_start_driving_anims(); + wait(0.05); + continue; + } + + play_pitbull_anim(); + wait(0.05); + } +} + +//Function Number: 2 +link_player_and_start_driving_anims() +{ + link_player_and_play_idle(); + childthread adjust_pitbull_add_idle(); + childthread play_pitbull_camera_speed_anim(); + childthread play_pitbull_gear_shift_anim(); +} + +//Function Number: 3 +clear_anims() +{ + self.fake_vehicle_model clearanim(get_pitbull_anim_node("root"),0); + self.player_rig clearanim(get_player_anim_node("root"),0); + self.drive_anim_add_idle = undefined; +} + +//Function Number: 4 +link_player_and_play_idle() +{ + var_00 = self.fake_vehicle_model; + var_01 = self.player_rig; + self.drive_anim_name = "cockpit_static_idle"; + var_00 setanimknoball(var_00 maps\_utility::getanim(self.drive_anim_name),get_pitbull_anim_node("root"),1,0,1); + var_01 dontinterpolate(); + var_01 unlink(); + var_02 = var_00 gettagorigin("tag_body"); + var_03 = var_00 gettagangles("tag_body"); + var_04 = getstartorigin(var_02,var_03,var_01 maps\_utility::getanim(self.drive_anim_name)); + var_05 = getstartangles(var_02,var_03,var_01 maps\_utility::getanim(self.drive_anim_name)); + var_01.origin = var_04; + var_01.angles = var_05; + var_01 linkto(var_00,"tag_player"); + var_01 setanimknoball(var_01 maps\_utility::getanim(self.drive_anim_name),get_player_anim_node("root"),1,0,1); + self.drive_yaw_sign = 1; + self.drive_anim_centering = 0; + self.drive_cam_anim_name = "cockpit_static_idle_cam"; + self.player_rig setanimknob(self.player_rig maps\_utility::getanim(self.drive_cam_anim_name),1,0,1); + self.drive_cam_yaw_sign = 1; + self.drive_cam_centering = 0; + self.drive_anim_add_idle = undefined; +} + +//Function Number: 5 +play_pitbull_anim() +{ + self endon("pitbull_scripted_anim"); + play_pitbull_steer_anim(); + if(1) + { + play_pitbull_camera_anim(); + return; + } + + self.player_rig setanimknob(self.player_rig maps\_utility::getanim("cockpit_static_idle_cam"),1,0,1); +} + +//Function Number: 6 +play_pitbull_steer_anim() +{ + var_00 = 56; + var_01 = 1 / var_00; + var_02 = self.fake_vehicle_model; + var_03 = self.player_rig; + var_04 = 0; + if(self.drive_anim_name != "cockpit_static_idle") + { + var_04 = var_03 getanimtime(var_03 maps\_utility::getanim(self.drive_anim_name)); + if(self.drive_anim_centering) + { + var_04 = 1 - var_04; + } + + var_04 = var_04 * self.drive_yaw_sign; + } + + var_05 = self vehicle_getsteering() * 1; + var_05 = clamp(var_05,-1,1); + play_pitbull_add_idle(var_05,var_01); + if(abs(var_05) < var_01 && abs(var_04) < var_01) + { + var_06 = 0.2; + if(self.drive_anim_name != "cockpit_static_idle") + { + var_06 = 0; + var_02 setanim(var_02 maps\_utility::getanim(self.drive_anim_name),0,0,0); + var_03 setanim(var_03 maps\_utility::getanim(self.drive_anim_name),0,0,0); + } + + self.drive_anim_name = "cockpit_static_idle"; + set_pitbull_anim(::setanimknob,self.drive_anim_name,1,var_06,1); + self.drive_yaw_sign = 1; + self.drive_anim_centering = 0; + return; + } + + var_07 = 0; + var_08 = 1; + var_09 = var_05 - var_04; + if((var_05 > 0 && var_04 < 0) || var_05 < 0 && var_04 > 0) + { + var_08 = abs(var_05) * var_00 * 0.5; + var_07 = 1; + } + else + { + var_08 = abs(var_09) * var_00 * 0.5; + } + + if(var_08 == 0) + { + var_02 setanim(var_02 maps\_utility::getanim(self.drive_anim_name),1,0,var_08); + var_03 setanim(var_03 maps\_utility::getanim(self.drive_anim_name),1,0,var_08); + return; + } + + if((var_05 <= 0 && var_09 > 0) || var_05 >= 0 && var_09 < 0) + { + var_0A = 1; + } + else + { + var_0A = 0; + } + + var_0B = undefined; + var_0C = 1; + if(var_09 < 0) + { + if(var_0A) + { + var_0B = "left2center"; + var_0C = 1; + } + else + { + var_0B = "center2right"; + var_0C = -1; + } + } + else if(var_0A) + { + var_0B = "right2center"; + var_0C = -1; + } + else + { + var_0B = "center2left"; + var_0C = 1; + } + + if(self.drive_anim_name != var_0B) + { + if(self.drive_anim_name == "cockpit_static_idle") + { + self.drive_anim_name = var_0B; + self.drive_yaw_sign = var_0C; + self.drive_anim_centering = var_0A; + set_pitbull_anim(::setanimknobrestart,self.drive_anim_name,1,0,1); + return; + } + + var_0D = var_02 getanimtime(var_02 maps\_utility::getanim(self.drive_anim_name)); + var_0E = var_03 getanimtime(var_03 maps\_utility::getanim(self.drive_anim_name)); + self.drive_anim_name = var_0B; + self.drive_yaw_sign = var_0C; + set_pitbull_anim(::setanimknob,self.drive_anim_name,1,0.2,var_08); + if(!var_07 && self.drive_anim_centering != var_0A) + { + self.drive_anim_jump_to_time = 1; + var_0D = 1 - var_0D; + var_0E = 1 - var_0E; + var_0D = clamp(var_0D,0,1); + var_0E = clamp(var_0E,0,1); + var_02 setanimtime(var_02 maps\_utility::getanim(self.drive_anim_name),var_0D); + var_03 setanimtime(var_03 maps\_utility::getanim(self.drive_anim_name),var_0E); + } + + self.drive_anim_centering = var_0A; + return; + } + + self.fake_vehicle_model setanimrate(self.fake_vehicle_model maps\_utility::getanim(self.drive_anim_name),var_0A); + self.player_rig setanimrate(self.player_rig maps\_utility::getanim(self.drive_anim_name),var_0A); +} + +//Function Number: 7 +set_pitbull_anim(param_00,param_01,param_02,param_03,param_04) +{ + self.fake_vehicle_model [[ param_00 ]](self.fake_vehicle_model maps\_utility::getanim(param_01),param_02,param_03,param_04); + self.player_rig [[ param_00 ]](self.player_rig maps\_utility::getanim(param_01),param_02,param_03,param_04); +} + +//Function Number: 8 +set_pitbull_anim_node(param_00,param_01,param_02,param_03,param_04) +{ + self.fake_vehicle_model [[ param_00 ]](self.fake_vehicle_model get_pitbull_anim_node(param_01),param_02,param_03,param_04); + self.player_rig [[ param_00 ]](self.player_rig get_player_anim_node(param_01),param_02,param_03,param_04); +} + +//Function Number: 9 +play_pitbull_speed_anim() +{ + var_00 = self vehicle_getspeed(); + if(!isdefined(self.drive_speed)) + { + self.drive_speed = var_00; + return; + } + + var_01 = var_00 - self.drive_speed; + if(var_01 > 0) + { + self.fake_vehicle_model setanimknob(self.fake_vehicle_model maps\_utility::getanim("accelerate"),1,0,1); + self.player_rig setanimknob(self.player_rig maps\_utility::getanim("accelerate"),1,0,1); + } + else if(var_01 < 0) + { + self.fake_vehicle_model setanimknob(self.fake_vehicle_model maps\_utility::getanim("decelerate"),1,0,1); + self.player_rig setanimknob(self.player_rig maps\_utility::getanim("decelerate"),1,0,1); + } + else + { + self.fake_vehicle_model clearanim(get_pitbull_anim_node("speed_anims"),0.2); + self.player_rig clearanim(get_player_anim_node("speed_anims"),0.2); + } + + self.drive_speed = var_00; +} + +//Function Number: 10 +play_pitbull_camera_anim() +{ + var_00 = 56; + var_01 = 1 / var_00; + var_02 = self.player_rig; + var_03 = 0; + if(self.drive_cam_anim_name != "cockpit_static_idle_cam") + { + var_03 = var_02 getanimtime(var_02 maps\_utility::getanim(self.drive_cam_anim_name)); + if(self.drive_cam_centering) + { + var_03 = 1 - var_03; + } + + var_03 = var_03 * self.drive_cam_yaw_sign; + } + + var_04 = self vehicle_getsteering(); + var_04 = clamp(var_04,-1,1); + if((var_04 <= 0 && var_04 > var_03) || var_04 >= 0 && var_04 < var_03) + { + var_05 = 1; + } + else + { + var_05 = 0; + } + + if(abs(var_04) < var_01 && abs(var_03) < var_01) + { + var_06 = 0; + if(self.drive_cam_anim_name != "cockpit_static_idle_cam") + { + var_06 = 0.2; + } + + self.drive_cam_anim_name = "cockpit_static_idle_cam"; + self.player_rig setanimknob(self.player_rig maps\_utility::getanim(self.drive_cam_anim_name),1,var_06,1); + self.drive_cam_yaw_sign = 1; + self.drive_cam_centering = 0; + return; + } + + var_07 = 0; + var_08 = 1; + var_09 = 0.1; + var_0A = 0.4; + if(!isdefined(self.drive_cam_vel)) + { + self.drive_cam_vel = 0; + } + + var_0B = var_09; + if(var_05) + { + var_0B = var_0A; + } + + var_0C = var_04 - var_03; + if(var_0C < 0) + { + self.drive_cam_vel = self.drive_cam_vel - var_0B * 0.05; + self.drive_cam_vel = clamp(self.drive_cam_vel,var_0C,0); + } + else if(var_0C > 0) + { + self.drive_cam_vel = self.drive_cam_vel + var_0B * 0.05; + self.drive_cam_vel = clamp(self.drive_cam_vel,0,var_0C); + } + + var_04 = var_03 + self.drive_cam_vel; + var_0D = self.drive_cam_vel; + if((var_04 <= 0 && var_04 > var_03) || var_04 >= 0 && var_04 < var_03) + { + var_05 = 1; + } + else + { + var_05 = 0; + } + + if((var_04 > 0 && var_03 < 0) || var_04 < 0 && var_03 > 0) + { + var_08 = abs(var_04) * var_00 * 0.5; + var_07 = 1; + } + else + { + var_08 = abs(var_0D) * var_00 * 0.5; + } + + if(var_08 == 0) + { + self.player_rig setanim(self.player_rig maps\_utility::getanim(self.drive_cam_anim_name),1,0,var_08); + return; + } + + var_0E = undefined; + var_0F = 1; + if(var_0D < 0) + { + if(var_05) + { + var_0E = "left2center_cam"; + var_0F = 1; + } + else + { + var_0E = "center2right_cam"; + var_0F = -1; + } + } + else if(var_05) + { + var_0E = "right2center_cam"; + var_0F = -1; + } + else + { + var_0E = "center2left_cam"; + var_0F = 1; + } + + if(self.drive_cam_anim_name != var_0E) + { + if(self.drive_cam_anim_name == "cockpit_static_idle_cam") + { + self.drive_cam_anim_name = var_0E; + self.drive_cam_yaw_sign = var_0F; + self.drive_cam_centering = var_05; + self.player_rig setanimknob(self.player_rig maps\_utility::getanim(self.drive_cam_anim_name),1,0,1); + return; + } + + var_10 = self.player_rig getanimtime(self.player_rig maps\_utility::getanim(self.drive_cam_anim_name)); + self.drive_cam_anim_name = var_0E; + self.drive_cam_yaw_sign = var_0F; + if(!var_07 && self.drive_cam_centering != var_05) + { + var_10 = 1 - var_10; + var_10 = clamp(var_10,0,1); + self.player_rig setanimknob(self.player_rig maps\_utility::getanim(self.drive_cam_anim_name),1,0.2,var_08); + self.player_rig setanimtime(self.player_rig maps\_utility::getanim(self.drive_cam_anim_name),var_10); + } + else + { + self.player_rig setanimknob(self.player_rig maps\_utility::getanim(self.drive_cam_anim_name),1,0.2,var_08); + } + + self.drive_cam_centering = var_05; + return; + } + + self.player_rig setanimrate(self.player_rig maps\_utility::getanim(self.drive_cam_anim_name),var_09); +} + +//Function Number: 11 +play_pitbull_add_idle(param_00,param_01) +{ + var_02 = 0; + if(abs(param_00) < 0.25) + { + var_02 = 1; + } + + if(!isdefined(self.drive_anim_add_idle) || self.drive_anim_add_idle != var_02) + { + self.drive_anim_add_idle = var_02; + if(self.drive_anim_add_idle) + { + set_pitbull_anim_node(::setanim,"idle_add",1,0.1,1); + var_03 = randomfloatrange(0,1); + self.fake_vehicle_model setanimtime(self.fake_vehicle_model maps\_utility::getanim("cockpit_idle"),var_03); + self.player_rig setanimtime(self.player_rig maps\_utility::getanim("cockpit_idle"),var_03); + return; + } + + set_pitbull_anim_node(::setanim,"idle_add",0,0.1,1); + } +} + +//Function Number: 12 +adjust_pitbull_add_idle() +{ + self endon("pitbull_scripted_anim"); + for(;;) + { + var_00 = self vehicle_getspeed(); + var_01 = var_00 / 60; + var_01 = clamp(var_01,0,1); + set_pitbull_anim(::setanimlimited,"cockpit_idle",1,0,var_01); + if(1) + { + var_02 = var_00 / 60; + var_02 = clamp(var_02,0,1.25); + self.player_rig setanim(self.player_rig maps\_utility::getanim("cockpit_shake_cam"),1,0,var_02); + } + + wait(0.05); + } +} + +//Function Number: 13 +play_pitbull_camera_speed_anim() +{ + self endon("pitbull_scripted_anim"); + if(!1) + { + return; + } + + self.drive_speed = 0; + self.drive_cam_accel = 0; + self.drive_cam_anim_accel = "none"; + var_00 = 0; + for(;;) + { + var_01 = self vehicle_getspeed(); + var_02 = self vehicle_getbodyvelocity(); + if(var_02[0] < -0.0001) + { + var_01 = var_01 * -1; + } + + var_03 = var_01 - self.drive_speed; + var_04 = var_03 - self.drive_cam_accel; + var_05 = 0; + var_06 = 1; + var_07 = "none"; + var_08 = 0; + if(var_03 < 0) + { + var_00 = 0; + } + + if(self.drive_cam_anim_accel == "accelerate_cam") + { + var_09 = self.player_rig getanimtime(self.player_rig maps\_utility::getanim(self.drive_cam_anim_accel)); + if(var_09 < 1 && var_03 > 0.1) + { + var_07 = "accelerate_cam"; + } + else + { + var_07 = "accelerate2idle_cam"; + var_08 = 1 - var_09; + var_08 = clamp(var_08,0,1); + } + } + else if(self.drive_cam_anim_accel == "accelerate2idle_cam") + { + var_09 = self.player_rig getanimtime(self.player_rig maps\_utility::getanim(self.drive_cam_anim_accel)); + if(var_09 < 1) + { + var_07 = "accelerate2idle_cam"; + if(abs(var_04) > 0.5) + { + var_06 = 2; + } + } + } + else if(self.drive_cam_anim_accel == "decelerate_cam") + { + var_09 = self.player_rig getanimtime(self.player_rig maps\_utility::getanim(self.drive_cam_anim_accel)); + if(var_09 < 1) + { + var_07 = "decelerate_cam"; + if(var_03 > 1) + { + var_06 = 3; + } + else if(var_03 > -0.5) + { + var_06 = 2.5; + } + else if(var_03 > -0.1) + { + var_06 = 2; + } + + if(var_03 > 1 && var_04 >= 1) + { + var_00 = 1; + } + } + } + + if(self.drive_cam_anim_accel == "none" || var_07 == "none") + { + if(var_01 > 0) + { + var_05 = 0.2; + if((var_00 && var_03 > 0) || var_03 > 0.9 && self.drive_cam_accel > 0.9) + { + var_07 = "accelerate_cam"; + } + else if(var_03 < -1.5 && abs(var_04) >= 1) + { + var_07 = "decelerate_cam"; + } + } + } + + self.drive_cam_accel = var_03; + if(self.drive_cam_anim_accel != var_07) + { + if(var_07 == "none") + { + if(self.drive_cam_anim_accel != "none") + { + self.player_rig clearanim(self.player_rig maps\_utility::getanim(self.drive_cam_anim_accel),0.2); + } + } + else + { + var_0A = self.player_rig maps\_utility::getanim(var_07); + self.player_rig setanimknob(var_0A,1,var_05,var_06); + if(var_08 > 0) + { + self.player_rig setanimtime(var_0A,var_08); + } + } + + self.drive_cam_anim_accel = var_07; + } + + self.drive_speed = var_01; + wait(0.05); + } +} + +//Function Number: 14 +pick_best_gear(param_00) +{ + if(param_00 < 10) + { + return 1; + } + + if(param_00 < 40) + { + return 2; + } + + return 3; +} + +//Function Number: 15 +play_pitbull_gear_shift_anim() +{ + self endon("pitbull_scripted_anim"); + var_00 = self vehicle_getspeed(); + var_01 = self vehicle_getbodyvelocity(); + if(var_01[0] < -0.0001) + { + var_00 = var_00 * -1; + } + + var_02 = pick_best_gear(var_00); + var_03 = "none"; + var_04 = 0; + var_05 = 0; + for(;;) + { + var_00 = self vehicle_getspeed(); + var_01 = self vehicle_getbodyvelocity(); + if(var_01[0] < -0.0001) + { + var_00 = var_00 * -1; + } + + var_06 = 0; + var_07 = 0; + var_08 = "none"; + if(var_02 == 1) + { + var_06 = -99999; + var_07 = 30; + } + else if(var_02 == 2) + { + var_06 = 20; + var_07 = 55; + } + else if(var_02 == 3) + { + var_06 = 40; + var_07 = 9999; + } + + if(var_00 < var_06) + { + var_04 = pick_best_gear(var_00); + var_08 = "gear_down"; + } + else if(var_00 > var_07) + { + var_04 = pick_best_gear(var_00); + var_08 = "gear_up"; + self vehicle_setspeedimmediate(var_07,60,60); + } + + if(var_03 != "none") + { + var_09 = self.player_rig getanimtime(self.player_rig maps\_utility::getanim(var_03)); + if(var_09 >= 0.3 && var_05 > 0) + { + var_02 = var_05; + var_05 = 0; + } + + if(var_09 >= 1) + { + var_03 = "none"; + var_02 = var_04; + } + } + else if(var_03 != var_08) + { + var_03 = var_08; + var_05 = var_04; + if(isdefined(level.player_pitbull)) + { + level.player_pitbull notify("audio_shift",var_03); + } + + set_pitbull_anim(::setanimknobrestart,var_03,1,0.2,1); + } + + wait(0.05); + } +} + +//Function Number: 16 +get_pitbull_anim_node(param_00) +{ + if(param_00 == "root") + { + return %root; + } + + if(param_00 == "speed_anims") + { + return %speed_anims; + } + + if(param_00 == "idle_add") + { + return %idle_add; + } +} + +//Function Number: 17 +get_player_anim_node(param_00) +{ + if(param_00 == "root") + { + return %root; + } + + if(param_00 == "speed_anims") + { + return %speed_anims; + } + + if(param_00 == "idle_add") + { + return %idle_add; + } + + if(param_00 == "camera_accel_anims") + { + return %camera_accel_anims; + } +} \ No newline at end of file diff --git a/AW/PC/maps/sanfran_precache.gsc b/AW/PC/maps/sanfran_precache.gsc new file mode 100644 index 0000000..f8a8365 --- /dev/null +++ b/AW/PC/maps/sanfran_precache.gsc @@ -0,0 +1,51 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: sanfran_precache.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:35:55 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + common_scripts\utility::add_destructible_type_function("vehicle_civ_domestic_sedan_01_glass",::destructible_scripts\vehicle_civ_domestic_sedan_01_glass::main); + common_scripts\utility::add_destructible_type_function("vehicle_civ_domestic_sedan_taxi_glass",::destructible_scripts\vehicle_civ_domestic_sedan_taxi_glass::main); + vehicle_scripts\_atlas_suv::main("vehicle_atlas_suv",undefined,"script_vehicle_atlas_suv"); + vehicle_scripts\_atlas_suv::main("vehicle_atlas_suv","atlas_suv_physics","script_vehicle_atlas_suv_physics"); + vehicle_scripts\_atlas_suv::main("vehicle_atlas_suv","atlas_suv_physics","script_vehicle_atlas_suv_physics_explode"); + vehicle_scripts\_atlas_van::main("vehicle_ind_van_utility_ai",undefined,"script_vehicle_atlas_van"); + vehicle_scripts\_atlas_van::main("vehicle_ind_van_utility_ai","atlas_van_physics","script_vehicle_atlas_van_physics"); + vehicle_scripts\_civ_domestic_bus::main("vehicle_civ_domestic_bus",undefined,"script_vehicle_civ_domestic_bus"); + vehicle_scripts\_civ_domestic_bus::main("vehicle_civ_domestic_bus","civ_domestic_bus_physics","script_vehicle_civ_domestic_bus_physics"); + vehicle_scripts\_civ_domestic_economy_ai::main("vehicle_civ_domestic_economy_ai","civ_domestic_economy_ai_physics","script_vehicle_civ_domestic_economy_ai_physics"); + vehicle_scripts\_civ_domestic_economy_ai::main("vehicle_civ_domestic_economy_clr02_ai","civ_domestic_economy_ai_physics","script_vehicle_civ_domestic_economy_clr02_ai_physics"); + vehicle_scripts\_civ_domestic_economy_ai::main("vehicle_civ_domestic_economy_clr03_ai","civ_domestic_economy_ai_physics","script_vehicle_civ_domestic_economy_clr03_ai_physics"); + vehicle_scripts\_civ_domestic_economy_ai::main("vehicle_civ_domestic_economy_clr04_ai","civ_domestic_economy_ai_physics","script_vehicle_civ_domestic_economy_clr04_ai_physics"); + vehicle_scripts\_civ_domestic_economy_ai::main("vehicle_civ_domestic_economy_clr05_ai","civ_domestic_economy_ai_physics","script_vehicle_civ_domestic_economy_clr05_ai_physics"); + vehicle_scripts\_civ_domestic_economy_ai::main("vehicle_civ_domestic_economy_clr06_ai","civ_domestic_economy_ai_physics","script_vehicle_civ_domestic_economy_clr06_ai_physics"); + vehicle_scripts\_civ_domestic_sedan_01::main("vehicle_civ_domestic_sedan_01","civ_domestic_sedan_01_physics","script_vehicle_civ_domestic_sedan_01_physics"); + vehicle_scripts\_civ_domestic_sedan_police::main("vehicle_civ_domestic_sedan_police",undefined,"script_vehicle_civ_domestic_sedan_police"); + vehicle_scripts\_civ_domestic_sedan_police::main("vehicle_civ_domestic_sedan_police","civ_domestic_sedan_police_physics","script_vehicle_civ_domestic_sedan_police_physics"); + vehicle_scripts\_civ_domestic_sedan_taxi_01::main("vehicle_civ_domestic_sedan_taxi_01","civ_domestic_sedan_taxi_01_physics","script_vehicle_civ_domestic_sedan_taxi_01_physics"); + vehicle_scripts\_civ_domestic_sedan_taxi_01::main("vehicle_civ_domestic_sedan_taxi_02","civ_domestic_sedan_taxi_01_physics","script_vehicle_civ_domestic_sedan_taxi_02_physics"); + vehicle_scripts\_civ_domestic_sportscar_01::main("vehicle_civ_domestic_sportscar_01","civ_domestic_sportscar_01_physics","script_vehicle_civ_domestic_sportscar_01_physics"); + vehicle_scripts\_civ_domestic_suv::main("vehicle_civ_domestic_suv","civ_domestic_suv_physics","script_vehicle_civ_domestic_suv_physics"); + vehicle_scripts\_civ_domestic_truck::main("vehicle_civ_domestic_truck",undefined,"script_vehicle_civ_domestic_truck"); + vehicle_scripts\_civ_domestic_truck::main("vehicle_civ_domestic_truck_blue","civ_domestic_truck_physics","script_vehicle_civ_domestic_truck_blue_physics"); + vehicle_scripts\_civ_domestic_truck::main("vehicle_civ_domestic_truck_gold","civ_domestic_truck_physics","script_vehicle_civ_domestic_truck_gold_physics"); + vehicle_scripts\_civ_domestic_truck::main("vehicle_civ_domestic_truck_grn","civ_domestic_truck_physics","script_vehicle_civ_domestic_truck_grn_physics"); + vehicle_scripts\_civ_domestic_truck::main("vehicle_civ_domestic_truck","civ_domestic_truck_physics","script_vehicle_civ_domestic_truck_physics"); + vehicle_scripts\_civ_full_size_pickup_01_ai::main("vehicle_civ_full_size_pickup_01_ai","civ_full_size_pickup_01_ai_physics","script_vehicle_civ_full_size_pickup_01_ai_physics"); + vehicle_scripts\_civ_smartcar::main("vehicle_civ_smartcar_02_red","civ_smartcar_physics","script_vehicle_civ_smartcar_02_red_physics"); + vehicle_scripts\_civ_workvan::main("vehicle_civ_workvan",undefined,"script_vehicle_civ_workvan"); + vehicle_scripts\_civ_workvan::main("vehicle_civ_workvan","civ_workvan_physics","script_vehicle_civ_workvan_physics"); + vehicle_scripts\_ind_semi_truck_fuel_tanker::main("vehicle_ind_semi_truck_fuel_tanker",undefined,"script_vehicle_ind_semi_truck_fuel_tanker"); + vehicle_scripts\_littlebird::main("vehicle_mil_helicopter_littlebird_ai",undefined,"script_vehicle_littlebird_sentinel_bench"); + vehicle_scripts\_pdrone::main("vehicle_atlas_assault_drone",undefined,"script_vehicle_pdrone_atlas"); + vehicle_scripts\_pdrone::main("vehicle_atlas_assault_drone_large",undefined,"script_vehicle_pdrone_atlas_large"); + vehicle_scripts\_pitbull::main("vehicle_pitbull","pitbull_physics","script_vehicle_pitbull_physics"); + vehicle_scripts\_pitbull::main("vehicle_vm_pitbull","pitbull_player_physics","script_vehicle_pitbull_player_physics"); +} \ No newline at end of file diff --git a/AW/PC/maps/sanfran_util.gsc b/AW/PC/maps/sanfran_util.gsc new file mode 100644 index 0000000..61a7d73 --- /dev/null +++ b/AW/PC/maps/sanfran_util.gsc @@ -0,0 +1,2974 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: sanfran_util.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 168 + * Decompile Time: 2430 ms + * Timestamp: 4/22/2024 2:36:03 AM +*******************************************************************/ + +//Function Number: 1 +spawn_squad(param_00) +{ + level.burke = getent("spawner_burke_bridge","targetname") maps\_utility::spawn_ai(1); + level.saint = getent("spawner_saint_bridge","targetname") maps\_utility::spawn_ai(1); + level.burke setup_hero("Burke"); + level.saint setup_hero("Saint"); + if(isdefined(param_00)) + { + var_01 = getent(param_00 + "_burke","targetname"); + level.burke teleport(var_01.origin,var_01.angles); + level.burke setgoalpos(level.burke.origin); + var_02 = getent(param_00 + "_saint","targetname"); + level.saint teleport(var_02.origin,var_02.angles); + level.saint setgoalpos(level.saint.origin); + } + + level.player setthreatbiasgroup("sentinel"); +} + +//Function Number: 2 +setup_hero(param_00) +{ + maps\_utility::magic_bullet_shield(); + self.animname = param_00; + if(!isdefined(level.heroes)) + { + level.heroes = []; + } + + level.heroes[level.heroes.size] = self; + maps\_utility::make_hero(); + self setthreatbiasgroup("sentinel"); +} + +//Function Number: 3 +set_player_start(param_00) +{ + var_01 = getent(param_00,"targetname"); + level.player maps\_utility::teleport_player(var_01); +} + +//Function Number: 4 +give_boost_jump() +{ + maps\_player_exo::player_exo_add_single("high_jump"); +} + +//Function Number: 5 +remove_boost_jump() +{ + maps\_player_exo::player_exo_remove_single("high_jump"); +} + +//Function Number: 6 +squad_ignore_all_start() +{ + foreach(var_01 in level.heroes) + { + var_01.ignoreall = 1; + } +} + +//Function Number: 7 +squad_ignore_all_stop() +{ + foreach(var_01 in level.heroes) + { + var_01.ignoreall = 0; + } +} + +//Function Number: 8 +setup_squad_for_scene() +{ + foreach(var_01 in level.heroes) + { + var_01.old_name = var_01.name; + var_01.name = " "; + } +} + +//Function Number: 9 +setup_squad_for_gameplay() +{ + foreach(var_01 in level.heroes) + { + var_01.name = var_01.old_name; + } +} + +//Function Number: 10 +squad_careful_all_start() +{ + foreach(var_01 in level.heroes) + { + var_01 maps\_utility::enable_careful(); + } +} + +//Function Number: 11 +squad_careful_all_stop() +{ + foreach(var_01 in level.heroes) + { + var_01 maps\_utility::disable_careful(); + } +} + +//Function Number: 12 +show_ents_by_targetname(param_00) +{ + var_01 = getentarray(param_00,"targetname"); + foreach(var_03 in var_01) + { + var_03 show(); + } +} + +//Function Number: 13 +hide_ents_by_targetname(param_00) +{ + var_01 = getentarray(param_00,"targetname"); + foreach(var_03 in var_01) + { + var_03 hide(); + } +} + +//Function Number: 14 +solid_ents_by_targetname(param_00) +{ + var_01 = getentarray(param_00,"targetname"); + foreach(var_03 in var_01) + { + var_03 solid(); + } +} + +//Function Number: 15 +notsolid_ents_by_targetname(param_00) +{ + var_01 = getentarray(param_00,"targetname"); + foreach(var_03 in var_01) + { + var_03 notsolid(); + } +} + +//Function Number: 16 +connectpaths_ents_by_targetname(param_00) +{ + var_01 = getentarray(param_00,"targetname"); + foreach(var_03 in var_01) + { + if(var_03.classname == "script_brushmodel") + { + var_03 connectpaths(); + } + } +} + +//Function Number: 17 +disconnectpaths_ents_by_targetname(param_00) +{ + var_01 = getentarray(param_00,"targetname"); + foreach(var_03 in var_01) + { + if(var_03.classname == "script_brushmodel") + { + var_03 disconnectpaths(); + } + } +} + +//Function Number: 18 +delete_ents_by_targetname(param_00) +{ + var_01 = getentarray(param_00,"targetname"); + foreach(var_03 in var_01) + { + var_03 delete(); + } +} + +//Function Number: 19 +hide_fallen_bridge() +{ + hide_ents_by_targetname("bridge_section_fallen"); + hide_ents_by_targetname("bridge_section_far"); +} + +//Function Number: 20 +show_fallen_bridge() +{ + show_ents_by_targetname("bridge_section_fallen"); +} + +//Function Number: 21 +show_far_bridge() +{ + show_ents_by_targetname("bridge_section_far"); +} + +//Function Number: 22 +hide_intact_bridge() +{ + hide_ents_by_targetname("bridge_section_remove"); +} + +//Function Number: 23 +remove_intact_bridge() +{ + connectpaths_ents_by_targetname("bridge_section_remove"); + delete_ents_by_targetname("bridge_section_remove"); +} + +//Function Number: 24 +hide_crash_traffic() +{ + notsolid_ents_by_targetname("after_crash_traffic"); + hide_ents_by_targetname("after_crash_traffic"); +} + +//Function Number: 25 +show_crash_traffic() +{ + solid_ents_by_targetname("after_crash_traffic"); + show_ents_by_targetname("after_crash_traffic"); +} + +//Function Number: 26 +hide_chase_scene() +{ + hide_ents_by_targetname("bus_crash_final_pos_col"); + notsolid_ents_by_targetname("bus_crash_final_pos_col"); + hide_ents_by_targetname("pitbull_crash_collision"); + notsolid_ents_by_targetname("pitbull_crash_collision"); +} + +//Function Number: 27 +put_bridge_in_proper_place() +{ + var_00 = getentarray("bridge_section_remove","targetname"); + foreach(var_02 in var_00) + { + var_02.origin = var_02.origin + (0,-9216,0); + if(var_02.classname == "script_brushmodel") + { + var_02 disconnectpaths(); + } + } +} + +//Function Number: 28 +put_roadsurface_in_proper_place() +{ + var_00 = getentarray("bridge_roadsurface_intro","targetname"); + foreach(var_02 in var_00) + { + var_02.origin = var_02.origin + (0,-5120,5); + } +} + +//Function Number: 29 +delete_roadsurface_bridge() +{ + delete_ents_by_targetname("bridge_roadsurface_intro"); +} + +//Function Number: 30 +setup_intro() +{ + hide_fallen_bridge(); + hide_crash_traffic(); + hide_chase_scene(); + make_bridge_normal(); + put_bridge_in_proper_place(); + put_roadsurface_in_proper_place(); + thread maps\sanfran_fx::traffic_fx_init(); + thread maps\_vehicle_traffic::traffic_init(::maps\sanfran_fx::traffic_collision_hit_func); +} + +//Function Number: 31 +trigger_bridge_small() +{ + self waittill("trigger"); + make_bridge_normal(); +} + +//Function Number: 32 +make_bridge_big() +{ + hide_ents_by_targetname("bridge_tower_small"); + show_ents_by_targetname("bridge_tower_big"); +} + +//Function Number: 33 +make_bridge_normal() +{ + show_ents_by_targetname("bridge_tower_small"); + hide_ents_by_targetname("bridge_tower_big"); +} + +//Function Number: 34 +toggle_off_real_mob() +{ + hide_ents_by_targetname("mob_brushmodel"); + hide_ents_by_targetname("mob_models"); +} + +//Function Number: 35 +toggle_on_real_mob() +{ + hide_ents_by_targetname("fake_mob"); + show_ents_by_targetname("mob_brushmodel"); + show_ents_by_targetname("mob_models"); +} + +//Function Number: 36 +toggle_all_boats_on_trigger() +{ + self waittill("trigger"); + toggle_all_boats_on(); +} + +//Function Number: 37 +toggle_all_boats_on() +{ + var_00 = []; + var_00[var_00.size] = getent("cargo_ship_2","targetname"); + var_00[var_00.size] = getent("cargo_ship","targetname"); + var_01 = getentarray("navy_ship_right","targetname"); + var_00 = common_scripts\utility::array_combine(var_00,var_01); + var_01 = getentarray("navy_ship","targetname"); + var_00 = common_scripts\utility::array_combine(var_00,var_01); + var_00[var_00.size] = getent("fake_mob","targetname"); + foreach(var_03 in var_00) + { + var_03 show(); + } +} + +//Function Number: 38 +toggle_all_boats_off() +{ + var_00 = []; + var_00[var_00.size] = getent("cargo_ship_2","targetname"); + var_00[var_00.size] = getent("cargo_ship","targetname"); + var_01 = getentarray("navy_ship_right","targetname"); + var_00 = common_scripts\utility::array_combine(var_00,var_01); + var_01 = getentarray("navy_ship","targetname"); + var_00 = common_scripts\utility::array_combine(var_00,var_01); + var_00[var_00.size] = getent("fake_mob","targetname"); + foreach(var_03 in var_00) + { + var_03 hide(); + } +} + +//Function Number: 39 +toggle_boat_visibility() +{ + level thread toggle_boat_visibility_group("right"); + level thread toggle_boat_visibility_group("left"); +} + +//Function Number: 40 +toggle_boat_visibility_group(param_00) +{ + level endon("stop_toggle_boat_visibility"); + var_01 = []; + if(param_00 == "right") + { + var_02 = getentarray("trigger_toggle_cant_see_ships_right","targetname"); + var_01[var_01.size] = getent("cargo_ship_2","targetname"); + var_03 = getentarray("navy_ship_right","targetname"); + var_01 = common_scripts\utility::array_combine(var_01,var_03); + } + else if(var_02 == "left") + { + var_02 = getentarray("trigger_toggle_cant_see_ships_left","targetname"); + var_02[var_02.size] = getent("cargo_ship","targetname"); + var_03 = getentarray("navy_ship","targetname"); + var_01 = common_scripts\utility::array_combine(var_01,var_03); + } + else + { + return; + } + + thread make_all_boats_visible(var_01); + for(;;) + { + for(;;) + { + var_04 = 0; + foreach(var_06 in var_02) + { + if(level.player istouching(var_06)) + { + var_04 = 1; + break; + } + } + + if(var_04 == 1) + { + break; + } + + wait(0.05); + } + + foreach(var_09 in var_01) + { + var_09 hide(); + } + + for(;;) + { + var_04 = 0; + foreach(var_06 in var_02) + { + if(level.player istouching(var_06)) + { + var_04 = 1; + break; + } + } + + if(var_04 == 0) + { + break; + } + + wait(0.05); + } + + foreach(var_09 in var_01) + { + var_09 show(); + } + + wait(0.05); + } +} + +//Function Number: 41 +make_all_boats_visible(param_00) +{ + level waittill("stop_toggle_boat_visibility"); + foreach(var_02 in param_00) + { + var_02 show(); + } +} + +//Function Number: 42 +show_water_intro() +{ + show_ents_by_targetname("ship_water_intro"); + hide_ents_by_targetname("ship_water_waves"); +} + +//Function Number: 43 +show_water_final() +{ + hide_ents_by_targetname("ship_water_intro"); + show_ents_by_targetname("ship_water_waves"); +} + +//Function Number: 44 +drone_lookat_ent(param_00,param_01,param_02,param_03) +{ + self notify("start_new_drone_lookat"); + self endon("start_new_drone_lookat"); + if(!isdefined(param_03)) + { + param_03 = (0,0,0); + } + + var_04 = getent(param_00,"targetname"); + var_05 = vectortoangles(var_04.origin - self.origin); + if(!isdefined(param_01) || param_01 == 0) + { + self.angles = var_05; + } + else + { + self rotateto(var_05 + param_03,param_01,param_01 / 5,param_01 / 5); + self waittill("rotatedone"); + self notify("drone_lookat_done"); + } + + if(isdefined(param_02) && param_02) + { + for(;;) + { + var_05 = vectortoangles(var_04.origin - self.origin) + param_03; + self rotateto(var_05,0.05,0,0); + wait(0.05); + } + } +} + +//Function Number: 45 +drone_moveto_ent(param_00,param_01) +{ + var_02 = getent(param_00,"targetname"); + self moveto(var_02.origin,param_01,param_01 / 5,param_01 / 5); + self waittill("movedone"); + self notify("drone_moveto_done"); +} + +//Function Number: 46 +drone_view_shake(param_00) +{ + self notify("start_new_intro_shake"); + self endon("start_new_intro_shake"); + for(;;) + { + if(common_scripts\utility::flag("flag_intro_transition_to_driving")) + { + break; + } + + earthquake(param_00,0.1,level.player.origin,200); + wait(0.1); + } +} + +//Function Number: 47 +setup_move_player_pitbull(param_00) +{ + level.player_pitbull = maps\_vehicle::spawn_vehicle_from_targetname("player_pitbull"); + thread maps\_vehicle_traffic::add_script_car(level.player_pitbull); + var_01 = getent(param_00,"targetname"); + level.player_pitbull vehicle_teleport(var_01.origin,var_01.angles); +} + +//Function Number: 48 +setup_move_friendly_pitbull(param_00) +{ + level.friendly_pitbull = maps\_vehicle::spawn_vehicle_from_targetname("friendly_pitbull"); + thread maps\_vehicle_traffic::add_script_car(level.friendly_pitbull); + level.friendly_pitbull setup_start_vehicle_on_path(param_00); +} + +//Function Number: 49 +setup_move_chase_van(param_00) +{ + level.chase_van = maps\_vehicle::spawn_vehicle_from_targetname("chase_van"); + thread maps\_vehicle_traffic::add_script_car(level.chase_van); + level.chase_van setup_start_vehicle_on_path(param_00); +} + +//Function Number: 50 +setup_start_vehicle_on_path(param_00) +{ + var_01 = getent(param_00,"targetname"); + self vehicle_teleport(var_01.origin,var_01.angles); + var_02 = getvehiclenode(var_01.target,"targetname"); + thread maps\_vehicle_code::_vehicle_paths(var_02); + self startpath(var_02); +} + +//Function Number: 51 +enable_pitbull_shooting() +{ + level.player_pitbull maps\_utility::ent_flag_set("pitbull_allow_shooting"); + level.friendly_pitbull maps\_utility::ent_flag_set("pitbull_allow_shooting"); +} + +//Function Number: 52 +chase_van_set_close() +{ + self waittill("trigger"); + level.chase_van.lead_pos = "close"; +} + +//Function Number: 53 +chase_van_set_medium() +{ + self waittill("trigger"); + level.chase_van.lead_pos = "medium"; +} + +//Function Number: 54 +chase_van_set_far() +{ + self waittill("trigger"); + level.chase_van.lead_pos = "far"; +} + +//Function Number: 55 +friendly_pitbull_shadow_chase_van() +{ + self waittill("trigger"); + level.friendly_pitbull.shadow_pos = "van"; +} + +//Function Number: 56 +friendly_pitbull_shadow_player() +{ + self waittill("trigger"); + level.friendly_pitbull.shadow_pos = "player"; +} + +//Function Number: 57 +wait_for_crash_at_end() +{ + self waittill("reached_end_node"); + self dodamage(1000000000,self.origin); + playfxontag(level._effect["tanker_explosion"],self,"tag_origin"); + soundscripts\_snd::snd_message("car_chase_crash"); + wait(4); + stopfxontag(level._effect["tanker_explosion"],self,"tag_origin"); +} + +//Function Number: 58 +get_dist_to_end_in_miles(param_00) +{ + if(!isdefined(self.currentnode.target)) + { + return 0; + } + + var_01 = getvehiclenode(self.currentnode.target,"targetname"); + if(!isdefined(var_01)) + { + return 0; + } + + var_02 = 0; + var_03 = self; + for(;;) + { + var_02 = var_02 + distance(var_03.origin,var_01.origin); + if(!isdefined(var_01.target)) + { + if(isdefined(param_00)) + { + return 0; + } + + break; + } + + if(isdefined(param_00) && isdefined(var_01.script_noteworthy) && var_01.script_noteworthy == param_00) + { + break; + } + + var_03 = var_01; + var_01 = getvehiclenode(var_01.target,"targetname"); + if(!isdefined(var_01)) + { + break; + } + } + + return var_02 / 63360; +} + +//Function Number: 59 +get_vehicles_to_point_at_same_time(param_00,param_01,param_02,param_03,param_04) +{ + param_00 endon("death"); + param_02 endon("death"); + if(isdefined(param_04)) + { + level endon(param_04); + } + + for(;;) + { + var_05 = param_00 get_dist_to_end_in_miles(param_01); + var_06 = param_02 get_dist_to_end_in_miles(param_03); + var_07 = param_00 vehicle_getspeed(); + if(var_07 > 0) + { + var_08 = var_05 / var_07; + if(var_08 > 0) + { + var_09 = var_06 / var_08; + } + else + { + var_09 = 50; + } + + param_02 vehicle_setspeed(var_09,100,5); + } + + wait(0.05); + } +} + +//Function Number: 60 +vehicle_chase_target(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ + self notify("one_vehicle_chase_target"); + self endon("one_vehicle_chase_target"); + level endon("flag_player_crashed"); + self endon("stop_chase_target"); + self endon("death"); + thread chase_cleanup_after_player_crash(); + self.oscillate_speed = 0; + if(param_03 >= 0 && param_04 > 0) + { + thread vehicle_oscillate_location(param_03,param_04); + } + + for(;;) + { + var_0A = param_00 vehicle_getspeed(); + var_0B = vectornormalize(anglestoforward(param_00.angles)); + var_0C = self.origin - param_00.origin; + var_0D = vectordot(var_0B,var_0C) * var_0B; + var_0E = length(var_0D); + var_0F = vectornormalize(var_0C); + var_10 = vectordot(var_0B,var_0F); + if(var_10 < 0) + { + if(param_05) + { + var_0A = var_0A * 1.5; + } + else if(var_0E < param_01) + { + var_0A = var_0A * 0.8; + } + else if(var_0E > param_02 * 1.5) + { + var_0A = var_0A * 1.35; + } + else if(var_0E > param_02 * 1.2) + { + var_0A = var_0A * 1.2; + } + else if(var_0E > param_02) + { + var_0A = var_0A * 1.1; + } + else + { + var_0A = var_0A + self.oscillate_speed; + } + } + else if(param_06) + { + var_0A = var_0A * 0.5; + } + else if(var_0E < param_01) + { + var_0A = var_0A * 1.2; + } + else if(var_0E > param_02 * 1.5) + { + var_0A = var_0A * 0.7; + } + else if(var_0E > param_02 * 1.2) + { + var_0A = var_0A * 0.85; + } + else if(var_0E > param_02) + { + var_0A = var_0A * 0.95; + } + else + { + var_0A = var_0A + self.oscillate_speed; + } + + if(param_07 && isdefined(level.player_pitbull)) + { + if(vectordot(level.player_pitbull.origin - self.origin,anglestoforward(self.angles)) > 0) + { + var_11 = maps\_vehicle_traffic::time_and_distance_of_closest_approach(self.origin,self vehicle_getvelocity(),level.player_pitbull.origin,level.player_pitbull vehicle_getvelocity(),0.1,234,0); + var_12 = var_11[0]; + var_13 = var_11[1]; + if(var_12 < 2 && var_13 < 234) + { + var_0A = level.player_pitbull vehicle_getspeed() * 0.6; + } + } + } + + if(param_08) + { + var_0A = clamp(var_0A,0,200); + } + else if(isdefined(param_09)) + { + var_0A = clamp(var_0A,param_09,200); + } + else + { + var_0A = clamp(var_0A,20,200); + } + + self vehicle_setspeed(var_0A,100,100); + wait(0.05); + } +} + +//Function Number: 61 +chase_cleanup_after_player_crash() +{ + self notify("one_chase_cleanup_after_player_crash"); + self endon("one_chase_cleanup_after_player_crash"); + self endon("stop_chase_target"); + self endon("death"); + common_scripts\utility::flag_wait("flag_player_crashed"); + wait(0.5); + self resumespeed(100); +} + +//Function Number: 62 +vehicle_oscillate_location(param_00,param_01) +{ + self notify("one_vehicle_oscillate_location"); + self endon("one_vehicle_oscillate_location"); + level endon("flag_player_crashed"); + self endon("stop_chase_target"); + self endon("death"); + var_02 = gettime(); + param_01 = param_01 * 1000; + for(;;) + { + var_03 = gettime() - var_02; + var_04 = var_03 % param_01; + var_04 = var_04 / param_01; + var_04 = var_04 * 365; + var_05 = param_00 * sin(var_04); + self.oscillate_speed = var_05; + wait(0.05); + } +} + +//Function Number: 63 +jumping_take_down(param_00) +{ + var_01 = getentarray(param_00,"targetname"); + var_01 = common_scripts\utility::array_randomize(var_01); + var_02 = undefined; + var_03 = undefined; + var_04 = undefined; + var_05 = []; + foreach(var_07 in var_01) + { + var_03 = undefined; + var_04 = undefined; + var_08 = vectornormalize(anglestoforward(var_07.angles)); + var_09 = vectornormalize(-1 * anglestoright(var_07.angles)); + var_03 = get_closest_ai_to_origin(var_07.origin,"axis",0,150); + if(!isdefined(var_03)) + { + continue; + } + + var_04 = get_closest_ai_to_origin(var_07.origin,"allies",350,800,0,20,var_09); + if(isdefined(var_03) && isdefined(var_04)) + { + var_02 = var_07; + break; + } + } + + if(!isdefined(var_03) || !isdefined(var_04)) + { + return 0; + } + + var_05[0] = var_04; + var_05[0].ignoreme = 1; + var_05[0].ignoreall = 1; + var_05[1] = var_03; + var_05[1].ignoreme = 1; + var_05[1].ignoreall = 1; + var_0B[0] = "boost_jump_kick_02_atk"; + var_0B[1] = "boost_jump_kick_02_def"; + var_02 anim_reach_together_with_overrides(var_05,"boost_jump_kick_02",var_0B); + if(isalive(var_05[0]) && isalive(var_05[1])) + { + var_02 thread maps\_anim::anim_single_solo(var_05[0],"boost_jump_kick_02",undefined,undefined,var_0B[0]); + var_02 thread maps\_anim::anim_single_solo(var_05[1],"boost_jump_kick_02",undefined,undefined,var_0B[1]); + var_02 waittill("boost_jump_kick_02"); + var_02 waittill("boost_jump_kick_02"); + var_03 kill_no_react(); + var_04 maps\_utility::enable_ai_color_dontmove(); + } + + var_05[0].ignoreme = 0; + var_05[0].ignoreall = 0; + return 1; +} + +//Function Number: 64 +lunging_take_down(param_00,param_01,param_02) +{ + var_03 = getnodearray(param_00,"targetname"); + var_03 = common_scripts\utility::array_randomize(var_03); + var_04 = undefined; + var_05 = undefined; + var_06 = undefined; + var_07 = []; + foreach(var_09 in var_03) + { + var_05 = undefined; + var_06 = undefined; + var_0A = vectornormalize(anglestoforward(var_09.angles)); + var_0B = vectornormalize(-1 * anglestoright(var_09.angles)); + var_05 = get_closest_ai_to_origin(var_09.origin,"axis",0,150); + if(!isdefined(var_05)) + { + continue; + } + + var_06 = get_closest_ai_to_origin(var_09.origin,"allies",450,900,0,20,var_0B); + if(isdefined(var_05) && isdefined(var_06)) + { + var_04 = var_09; + break; + } + } + + if(isdefined(param_01)) + { + var_06 = param_01; + } + + if(isdefined(param_02)) + { + var_05 = param_02; + } + + if(!isdefined(var_05) || !isdefined(var_06)) + { + return 0; + } + + if(!isdefined(var_04)) + { + var_04 = var_03[0]; + } + + var_07[0] = var_06; + var_07[0].ignoreme = 1; + var_07[0].ignoreall = 1; + var_07[1] = var_05; + var_07[1].ignoreme = 1; + var_07[1].ignoreall = 1; + var_0D[0] = "boost_jump_kick_01_atk"; + var_0D[1] = "boost_jump_kick_01_def"; + var_04 anim_reach_together_with_overrides(var_07,"boost_jump_kick_01",var_0D); + if(isalive(var_07[0]) && isalive(var_07[1])) + { + var_04 thread maps\_anim::anim_single_solo(var_07[0],"boost_jump_kick_01",undefined,0.25,var_0D[0]); + var_04 thread maps\_anim::anim_single_solo(var_07[1],"boost_jump_kick_01",undefined,undefined,var_0D[1]); + var_04 waittill("boost_jump_kick_01"); + var_04 waittill("boost_jump_kick_01"); + var_05 kill_no_react(); + var_06 maps\_utility::enable_ai_color_dontmove(); + } + + var_07[0].ignoreme = 0; + var_07[0].ignoreall = 0; + return 1; +} + +//Function Number: 65 +get_closest_ai_to_origin(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + param_02 = validate_min_value(param_02,0); + param_03 = validate_max_value(param_03,param_02,999999); + param_04 = validate_min_value(param_04,0); + param_05 = validate_max_value(param_05,param_04,180); + var_07 = cos(param_04); + var_08 = cos(param_05); + var_09 = []; + if(isdefined(param_01)) + { + var_09 = getaiarray(param_01); + } + else + { + var_09 = getaiarray(); + } + + var_0A = undefined; + var_0B = 99999; + foreach(var_0D in var_09) + { + var_0E = distance(var_0D.origin,param_00); + if(var_0E < param_02 || var_0E > param_03) + { + continue; + } + + if(isdefined(param_06)) + { + var_0F = vectornormalize(var_0D.origin - param_00); + var_10 = vectordot(var_0F,param_06); + if(var_10 < var_08 || var_10 > var_07) + { + continue; + } + } + + if(var_0E < var_0B) + { + var_0B = var_0E; + var_0A = var_0D; + } + } + + return var_0A; +} + +//Function Number: 66 +validate_min_value(param_00,param_01) +{ + if(!isdefined(param_00) || param_00 < param_01) + { + return param_01; + } + + return param_00; +} + +//Function Number: 67 +validate_max_value(param_00,param_01,param_02) +{ + if(isdefined(param_00) && param_00 < param_01) + { + return param_01; + } + else if(!isdefined(param_00)) + { + return param_02; + } + + return param_00; +} + +//Function Number: 68 +kill_no_react() +{ + if(!isalive(self)) + { + return; + } + + self.allowdeath = 1; + self.a.nodeath = 1; + thread maps\_utility::set_battlechatter(0); + self kill(); +} + +//Function Number: 69 +anim_reach_together_with_overrides(param_00,param_01,param_02) +{ + thread maps\_anim::modify_moveplaybackrate_together(param_00); + var_03 = self.origin; + var_04 = self.angles; + var_05 = spawnstruct(); + var_06 = 0; + for(var_07 = 0;var_07 < param_00.size;var_07++) + { + if(isdefined(level.scr_anim[param_02[var_07]][param_01])) + { + if(isarray(level.scr_anim[param_02[var_07]][param_01])) + { + var_08 = getstartorigin(var_03,var_04,level.scr_anim[param_02[var_07]][param_01][0]); + } + else + { + var_08 = getstartorigin(var_03,var_04,level.scr_anim[param_02[var_07]][param_01]); + } + } + else + { + var_08 = var_03; + } + + var_06++; + param_00[var_07] thread maps\_anim::begin_anim_reach(var_05,var_08,::maps\_anim::reach_with_standard_adjustments_begin,::maps\_anim::reach_with_standard_adjustments_end); + } + + while(var_06) + { + var_05 waittill("reach_notify"); + var_06--; + } + + foreach(var_0A in param_00) + { + if(!isalive(var_0A)) + { + continue; + } + + var_0A.goalradius = var_0A.oldgoalradius; + var_0A.scriptedarrivalent = undefined; + var_0A.stopanimdistsq = 0; + } +} + +//Function Number: 70 +open_car_doors() +{ + common_scripts\utility::run_thread_on_noteworthy("door_open_compact_both",::open_car_door,"compact","open_door_both"); + common_scripts\utility::run_thread_on_noteworthy("door_open_compact_left",::open_car_door,"compact","open_door_left"); + common_scripts\utility::run_thread_on_noteworthy("door_open_compact_right",::open_car_door,"compact","open_door_right"); + common_scripts\utility::run_thread_on_noteworthy("door_open_truck_both",::open_car_door,"truck","open_door_both"); + common_scripts\utility::run_thread_on_noteworthy("door_open_truck_left",::open_car_door,"truck","open_door_left"); + common_scripts\utility::run_thread_on_noteworthy("door_open_truck_right",::open_car_door,"truck","open_door_right"); + common_scripts\utility::run_thread_on_noteworthy("door_open_atlas_suv_both",::open_car_door,"atlas_suv","open_door_both"); + common_scripts\utility::run_thread_on_noteworthy("door_open_atlas_suv_left",::open_car_door,"atlas_suv","open_door_left"); + common_scripts\utility::run_thread_on_noteworthy("door_open_atlas_suv_right",::open_car_door,"atlas_suv","open_door_right"); + common_scripts\utility::run_thread_on_noteworthy("door_open_sedan_both",::open_car_door,"sedan","open_door_both"); + common_scripts\utility::run_thread_on_noteworthy("door_open_sedan_left",::open_car_door,"sedan","open_door_left"); + common_scripts\utility::run_thread_on_noteworthy("door_open_sedan_right",::open_car_door,"sedan","open_door_right"); +} + +//Function Number: 71 +open_car_door(param_00,param_01) +{ + if(self.classname != "script_model") + { + return; + } + + self.animname = param_00; + self useanimtree(#animtree); + self setanim(maps\_utility::getanim(param_01)); +} + +//Function Number: 72 +container_death_anims() +{ + self.specialdeathfunc = ::use_container_death; +} + +//Function Number: 73 +use_container_death() +{ + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "container_death") + { + self.deathanim = maps\_utility::getgenericanim("container_death"); + animscripts\death::playdeathanim(self.deathanim); + return 1; + } + + return 0; +} + +//Function Number: 74 +balcony_death_anims() +{ + self.animname = "generic"; + self.deathfunction = ::try_balcony_death; +} + +//Function Number: 75 +try_balcony_death() +{ + if(!isdefined(self)) + { + return 0; + } + + if(self.a.pose == "prone") + { + return 0; + } + + if(isdefined(self.script_noteworthy) && self.script_noteworthy == "container_death") + { + self.deathanim = maps\_utility::getgenericanim("container_death"); + return 0; + } + + if(isdefined(self.prevnode)) + { + if(isdefined(self.prevnode.script_balcony)) + { + var_00 = self.angles[1]; + if(var_00 > 180) + { + var_00 = var_00 - 360; + } + + var_01 = self.prevnode.angles[1]; + if(var_01 > 180) + { + var_01 = var_01 - 360; + } + + var_02 = abs(var_00 - var_01); + if(var_02 > 90) + { + return 0; + } + + var_03 = distance(self.origin,self.prevnode.origin); + if(var_03 > 92) + { + return 0; + } + } + else + { + return 0; + } + } + else + { + return 0; + } + + if(!isdefined(level.last_balcony_death)) + { + level.last_balcony_death = -4000; + } + + var_04 = gettime() - level.last_balcony_death; + if(var_04 < 2000) + { + return 0; + } + + var_05 = maps\_utility::getgenericanim("balcony_death"); + self.deathanim = var_05[randomint(var_05.size)]; + return 0; +} + +//Function Number: 76 +temp_subtitle(param_00,param_01,param_02) +{ + var_03 = newhudelem(); + var_03.x = 0; + var_03.y = -42; + var_03 settext(param_00); + var_03.fontscale = 1.46; + var_03.alignx = "center"; + var_03.aligny = "middle"; + var_03.horzalign = "center"; + var_03.vertalign = "bottom"; + var_03.sort = 1; + wait(param_01); + var_03 destroy(); +} + +//Function Number: 77 +init_bobbing_boats() +{ + level.bobbing_objects = []; + var_00 = maps\_bobbing_boats::createdefaultbobsettings(); + var_01 = getentarray("bobbing_ship","script_noteworthy"); + maps\_bobbing_boats::prep_bobbing(var_01,::maps\_bobbing_boats::bobbingobject,var_00,0); + level.bobbing_objects = maps\_shg_utility::array_combine_unique(level.bobbing_objects,var_01); + var_02 = maps\_bobbing_boats::createdefaultbobsettings(); + var_02.max_pitch = 1; + var_03 = getentarray("bobbing_ship_big","script_noteworthy"); + maps\_bobbing_boats::prep_bobbing(var_03,::maps\_bobbing_boats::bobbingobject,var_02,0); + level.bobbing_objects = maps\_shg_utility::array_combine_unique(level.bobbing_objects,var_03); + maps\_bobbing_boats::start_bobbing(level.bobbing_objects); +} + +//Function Number: 78 +intro_drive_hint() +{ + common_scripts\utility::flag_wait("flag_intro_give_player_driving"); + maps\_utility::hintdisplayhandler("drive_hint"); + var_00 = gettime(); + while(gettime() < var_00 + 4000) + { + if(level.player_pitbull.veh_speed > 5) + { + break; + } + + if(level.player buttonpressed("BUTTON_B")) + { + break; + } + + level.player_pitbull vehphys_setspeed(35); + wait(0.05); + } +} + +//Function Number: 79 +player_is_driving() +{ + if(common_scripts\utility::flag("missionfailed")) + { + return 1; + } + + if(level.player_pitbull.veh_speed > 50) + { + return 1; + } + + return 0; +} + +//Function Number: 80 +intro_shoot_hint() +{ + maps\_utility::hintdisplayhandler("shoot_hint"); +} + +//Function Number: 81 +player_is_shooting() +{ + if(common_scripts\utility::flag("missionfailed")) + { + return 1; + } + + if(common_scripts\utility::flag("flag_final_crash_scene_playing")) + { + return 1; + } + + if(common_scripts\utility::flag("flag_reverse_hint_displayed")) + { + return 1; + } + + if(!level.console && !level.player common_scripts\utility::is_player_gamepad_enabled() && level.player attackbuttonpressed()) + { + common_scripts\utility::flag_set("flag_player_has_shot_pitbull"); + return 1; + } + else if(level.player common_scripts\utility::is_player_gamepad_enabled() && level.player adsbuttonpressed()) + { + common_scripts\utility::flag_set("flag_player_has_shot_pitbull"); + return 1; + } + + return 0; +} + +//Function Number: 82 +boost_jump_hint() +{ + maps\_utility::display_hint("boost_hint"); +} + +//Function Number: 83 +player_has_jumped() +{ + if(common_scripts\utility::flag("missionfailed")) + { + return 1; + } + + if(level.player jumpbuttonpressed()) + { + return 1; + } + + return 0; +} + +//Function Number: 84 +player_too_far_hint() +{ + if(common_scripts\utility::flag("flag_hint_player_too_far")) + { + return; + } + + common_scripts\utility::flag_set("flag_hint_player_too_far"); + maps\_utility::hintdisplayhandler("too_far_hint"); +} + +//Function Number: 85 +player_has_caught_up() +{ + if(common_scripts\utility::flag("missionfailed")) + { + return 1; + } + + if(common_scripts\utility::flag("flag_hint_player_too_far")) + { + return 0; + } + + return 1; +} + +//Function Number: 86 +player_left_road_hint() +{ + if(common_scripts\utility::flag("flag_hint_player_left_road")) + { + return; + } + + common_scripts\utility::flag_set("flag_hint_player_left_road"); + maps\_utility::hintdisplayhandler("left_road_hint"); +} + +//Function Number: 87 +player_has_returned_to_road() +{ + if(common_scripts\utility::flag("missionfailed")) + { + return 1; + } + + if(common_scripts\utility::flag("flag_hint_player_left_road")) + { + return 0; + } + + return 1; +} + +//Function Number: 88 +player_left_squad_hint() +{ + if(common_scripts\utility::flag("flag_hint_player_left_squad")) + { + return; + } + + common_scripts\utility::flag_set("flag_hint_player_left_squad"); + maps\_utility::display_hint("left_squad_hint"); +} + +//Function Number: 89 +player_has_returned_to_squad() +{ + if(common_scripts\utility::flag("missionfailed")) + { + return 1; + } + + if(common_scripts\utility::flag("flag_hint_player_left_squad")) + { + return 0; + } + + return 1; +} + +//Function Number: 90 +start_civilian_group(param_00,param_01) +{ + if(isdefined(param_01)) + { + wait(param_01); + } + + if(!isdefined(level.civilian_group)) + { + level.civilian_group = []; + } + + var_02 = getentarray(param_00,"targetname"); + maps\_utility::array_spawn_function_targetname(param_00,::civilian_drone_setup); + level.aud.bridge_civs = []; + common_scripts\utility::array_thread(var_02,::maps\_utility::spawn_ai); + soundscripts\_snd::snd_message("panic_walla",param_00); +} + +//Function Number: 91 +civilian_drone_setup() +{ + self endon("death"); + self endon("delete"); + level.aud.bridge_civs[level.aud.bridge_civs.size] = self; + self.goalradius = 32; + self.ignoreall = 1; + self.ignoreme = 1; + self.animname = "drone"; + self.drone_move_callback = ::civilian_drone_run_override; + level.civilian_group[level.civilian_group.size] = self; + thread civilian_drone_runner_collision(); + soundscripts\_snd::snd_message("panic_walla_oneshots",self); + self waittill("goal"); + self stopanimscripted(); + self notify("drone_stop"); + self notify("stop_loop"); + self notify("single anim","end"); + self notify("looping anim","end"); + thread maps\_anim::anim_loop_solo(self,"civilian_cower"); + for(;;) + { + wait(0.5); + if(distance(level.player.origin,self.origin) > 1000) + { + if(!maps\_utility::player_looking_at(self.origin,undefined,1)) + { + break; + } + } + } + + self delete(); +} + +//Function Number: 92 +street_civilian_clean_up() +{ + if(isdefined(level.civilian_group)) + { + maps\_utility::ai_delete_when_out_of_sight(level.civilian_group,200); + level.civilian_group = common_scripts\utility::array_removeundefined(level.civilian_group); + } +} + +//Function Number: 93 +civilian_drone_run_override() +{ + var_00 = undefined; + if(!isdefined(self.drone_run_number)) + { + self.drone_run_number = randomintrange(1,8); + } + + if(!isdefined(self.drone_move_time)) + { + self.drone_move_time = -1000; + } + + if(gettime() > self.drone_move_time) + { + var_00 = spawnstruct(); + var_01 = level.scr_anim["drone"]["run_0" + self.drone_run_number]; + if(isarray(var_01)) + { + var_01 = common_scripts\utility::array_randomize(var_01); + var_00.runanim = var_01[0]; + } + else + { + var_00.runanim = var_01; + } + + var_02 = maps\_drone::get_anim_data(var_00.runanim); + var_00.anim_relative = var_02.anim_relative; + var_00.run_speed = var_02.run_speed; + self.drone_move_time = gettime() + var_02.anim_time / self.moveplaybackrate * 1000; + } + + return var_00; +} + +//Function Number: 94 +civilian_drone_runner_collision() +{ + self endon("goal"); + self endon("death"); + while(isdefined(self)) + { + while(distance(self.origin,level.player.origin) > 100) + { + wait(0.1); + } + + var_00 = self setcontents(0); + while(distance(self.origin,level.player.origin) <= 100) + { + wait(0.1); + } + + self setcontents(var_00); + } +} + +//Function Number: 95 +civilian_get_out_of_car_setup(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = get_civilian_car(param_00); + var_06 = get_civilian(param_01,var_05["model"].animname); + level thread civilian_in_car_get_out(var_05,var_06,param_02,param_03,param_04); +} + +//Function Number: 96 +get_civilian_car(param_00) +{ + var_01 = getentarray(param_00,"targetname"); + var_02 = []; + foreach(var_04 in var_01) + { + if(var_04.classname == "script_model") + { + var_02["model"] = var_04; + continue; + } + + if(var_04.classname == "script_brushmodel") + { + if(isdefined(var_04.script_noteworthy) && var_04.script_noteworthy == "door_open_col") + { + var_02["door"] = var_04; + var_02["door"] notsolid(); + var_02["door"] connectpaths(); + } + else + { + var_02["col"] = var_04; + } + + continue; + } + } + + if(issubstr(var_02["model"].model,"sedan")) + { + var_02["model"].animname = "sedan"; + var_02["model"] useanimtree(#animtree); + } + else if(issubstr(var_02["model"].model,"compact") || issubstr(var_02["model"].model,"economy")) + { + var_02["model"].animname = "compact"; + var_02["model"] useanimtree(#animtree); + } + else if(issubstr(var_02["model"].model,"truck")) + { + var_02["model"].animname = "truck"; + var_02["model"] useanimtree(#animtree); + } + + return var_02; +} + +//Function Number: 97 +get_civilian(param_00,param_01) +{ + var_02 = []; + var_03 = getent(param_00,"targetname"); + var_02["ai"] = var_03 maps\_utility::spawn_ai(1,0); + var_02["ai"].ignoresonicaoe = 1; + level.civilian_group[level.civilian_group.size] = var_02["ai"]; + var_02["ai"].ignoreall = 1; + var_02["ai"].animname = param_01 + "_driver"; + if(isdefined(var_03.target)) + { + var_02["goal"] = getnode(var_03.target,"targetname"); + } + + return var_02; +} + +//Function Number: 98 +civilian_in_car_get_out(param_00,param_01,param_02,param_03,param_04) +{ + level.player endon("death"); + if(!isdefined(level.last_car_exit_index)) + { + level.last_car_exit_index = -1; + } + + var_05 = undefined; + if(isdefined(param_04)) + { + var_05 = param_04; + level.last_car_exit_index = var_05; + } + else + { + for(;;) + { + if(isdefined(param_03) && param_03 == 1) + { + var_05 = randomintrange(4,8); + } + else + { + var_05 = randomintrange(1,4); + } + + if(var_05 != level.last_car_exit_index) + { + level.last_car_exit_index = var_05; + break; + } + } + } + + param_00["model"] thread maps\_anim::anim_loop_solo(param_01["ai"],"loop_0" + var_05,"stop_driver_loop","tag_driver"); + level waittill(param_02); + wait(randomfloatrange(0,2)); + param_01["ai"] maps\_utility::set_run_anim("run_0" + var_05,1); + param_01["ai"].run_override_weights = undefined; + param_00["model"] notify("stop_driver_loop"); + param_00["model"] thread maps\_anim::anim_single_solo(param_00["model"],"get_out_0" + var_05); + param_00["model"] maps\_anim::anim_single_solo_run(param_01["ai"],"get_out_0" + var_05,"tag_driver"); + param_01["ai"].ignoresonicaoe = 0; + param_01["ai"] thread maps\_spawner::go_to_node(param_01["goal"]); + soundscripts\_snd::snd_message("panic_walla_oneshots",param_01["ai"]); + param_01["ai"] thread cower_cleanup_civs_on_goal(); + for(;;) + { + var_06 = 0; + if(level.player istouching(param_00["door"])) + { + var_06 = 1; + } + + var_07 = getaiarray(); + foreach(param_01 in var_07) + { + if(isalive(param_01) && param_01 istouching(param_00["door"])) + { + var_06 = 1; + } + } + + if(!var_06) + { + break; + } + + wait(1); + } + + param_00["door"] disconnectpaths(); + param_00["door"] solid(); +} + +//Function Number: 99 +cleanup_on_goal() +{ + self waittill("goal"); + self delete(); +} + +//Function Number: 100 +cower_cleanup_civs_on_goal() +{ + self waittill("goal"); + self stopanimscripted(); + self notify("drone_stop"); + self notify("stop_loop"); + self notify("single anim","end"); + self notify("looping anim","end"); + thread maps\_anim::anim_loop_solo(self,"civilian_cower"); + for(;;) + { + wait(0.5); + if(distance(level.player.origin,self.origin) > 1000) + { + if(!maps\_utility::player_looking_at(self.origin,undefined,1)) + { + break; + } + } + } + + self delete(); +} + +//Function Number: 101 +civilian_loop_setup(param_00,param_01,param_02) +{ + var_03 = []; + var_04 = getent(param_00,"targetname"); + var_03[0] = var_04 maps\_utility::spawn_ai(1,0); + if(!isdefined(var_03[0])) + { + return; + } + + var_03[0].animname = "civilian"; + var_03[0].ignoreall = 1; + if(isdefined(param_01)) + { + var_05 = getent(param_01,"targetname"); + var_03[1] = var_05 maps\_utility::spawn_ai(1,0); + if(!isdefined(var_03[1])) + { + var_03[0].script_noteworthy = "seated"; + } + else + { + var_03[1].animname = "civilian_b"; + var_03[1].ignoreall = 1; + } + } + + level thread start_civilian_loop_anims(var_03,param_02); + if(isdefined(var_04.target)) + { + var_03[0] thread civilian_loop_vo_trigger(var_04); + } + + foreach(var_07 in var_03) + { + var_07 thread no_civilian_friendly_fire_until_seen(); + } +} + +//Function Number: 102 +no_civilian_friendly_fire_until_seen() +{ + self endon("death"); + self.no_friendly_fire_penalty = 1; + var_00 = 0.05; + if(level.currentgen) + { + var_00 = 1; + } + + for(;;) + { + if(maps\_utility::player_can_see_ai(self)) + { + break; + } + + if(player_can_see_civ(self)) + { + break; + } + + wait(var_00); + } + + self.no_friendly_fire_penalty = undefined; +} + +//Function Number: 103 +player_can_see_civ(param_00) +{ + if(!common_scripts\utility::within_fov(level.player.origin,level.player.angles,param_00.origin,0.743)) + { + return 0; + } + + var_01 = level.player geteye(); + var_02 = undefined; + for(var_03 = 0;var_03 < 2;var_03++) + { + var_04 = param_00.origin; + var_05 = param_00 geteye(); + var_06 = var_05 + var_04 * 0.5; + var_07 = bullettrace(var_01,var_06,0,var_02); + if(var_07["fraction"] < 0.99) + { + if(isdefined(var_07["entity"]) && isai(var_07["entity"]) && var_07["entity"] != param_00) + { + var_02 = var_07["entity"]; + } + } + else + { + return 1; + } + + if(!isdefined(var_02)) + { + break; + } + } + + return 0; +} + +//Function Number: 104 +start_civilian_loop_anims(param_00,param_01) +{ + wait(randomfloatrange(0,1)); + if(isalive(param_00[0])) + { + param_00[0] maps\_utility::magic_bullet_shield(); + param_00[0] thread civ_damage_check(); + } + + if(isalive(param_00[1])) + { + param_00[1] maps\_utility::magic_bullet_shield(); + param_00[1] thread civ_damage_check(); + } + + if(isalive(param_00[0]) && !isalive(param_00[1])) + { + if(param_00[0].script_noteworthy == "paired") + { + param_00[0].script_noteworthy = "seated"; + } + } + else if(!isalive(param_00[0]) && isalive(param_00[1])) + { + param_00[0] = param_00[1]; + param_00[1] = undefined; + param_00[0].script_noteworthy = "seated"; + } + else if(!isalive(param_00[0]) && !isalive(param_00[1])) + { + return; + } + + if(!isdefined(param_00[0].script_noteworthy)) + { + return; + } + + if(param_00[0].script_noteworthy == "laying") + { + if(randomint(100) < 50) + { + var_02 = "laying_1"; + } + else + { + var_02 = "laying_2"; + } + + param_00[0] thread maps\_anim::anim_loop_solo(param_00[0],var_02,param_01); + } + else if(param_00[0].script_noteworthy == "seated") + { + var_03 = randomint(100); + if(var_03 < 33) + { + var_02 = "seated_1"; + } + else if(var_02 < 66) + { + var_02 = "seated_2"; + } + else + { + var_02 = "seated_3"; + } + + param_00[0] thread maps\_anim::anim_loop_solo(param_00[0],var_02,param_01); + } + else if(param_00[0].script_noteworthy == "paired") + { + if(randomint(100) < 50) + { + var_02 = "paired_1"; + } + else + { + var_02 = "paired_2"; + } + + param_00[0] thread maps\_anim::anim_loop(param_00,var_02,param_01); + } + else + { + } + + level thread civilian_clean_up(param_00,param_01); +} + +//Function Number: 105 +civ_damage_check() +{ + self endon("death"); + self waittill("damage",var_00,var_01,var_02,var_03,var_04); + if(isplayer(var_01)) + { + if(isdefined(self.magic_bullet_shield)) + { + maps\_utility::stop_magic_bullet_shield(); + } + + self startragdoll(); + } +} + +//Function Number: 106 +civilian_loop_vo_trigger(param_00) +{ + self endon("death"); + var_01 = getent(param_00.target,"targetname"); + var_01 endon("death"); + if(isdefined(var_01)) + { + for(;;) + { + var_01 waittill("trigger",var_02); + if(var_02 == level.player) + { + maps\sanfran_vo::play_civilian_dialog(self); + return; + } + } + } +} + +//Function Number: 107 +civilian_clean_up(param_00,param_01) +{ + level waittill(param_01); + wait(1); + foreach(var_03 in param_00) + { + if(isalive(var_03)) + { + if(isdefined(var_03.magic_bullet_shield)) + { + var_03 maps\_utility::stop_magic_bullet_shield(); + var_03 notify(param_01); + var_03 delete(); + continue; + } + + var_03 notify(param_01); + var_03 delete(); + } + } +} + +//Function Number: 108 +add_spawn_behavior(param_00,param_01,param_02,param_03,param_04,param_05) +{ + foreach(var_07 in self.spawn_functions) + { + var_08 = 1; + if(var_07["function"] != param_00) + { + var_08 = 0; + } + else + { + if(isdefined(var_07["param1"])) + { + if(!isdefined(param_01)) + { + var_08 = 0; + } + else if(var_07["param1"] != param_01) + { + var_08 = 0; + } + } + else if(isdefined(param_01)) + { + var_08 = 0; + } + + if(isdefined(var_07["param2"])) + { + if(!isdefined(param_02)) + { + var_08 = 0; + } + else if(var_07["param2"] != param_02) + { + var_08 = 0; + } + } + else if(isdefined(param_02)) + { + var_08 = 0; + } + + if(isdefined(var_07["param3"])) + { + if(!isdefined(param_03)) + { + var_08 = 0; + } + else if(var_07["param3"] != param_03) + { + var_08 = 0; + } + } + else if(isdefined(param_03)) + { + var_08 = 0; + } + + if(isdefined(var_07["param4"])) + { + if(!isdefined(param_04)) + { + var_08 = 0; + } + else if(var_07["param4"] != param_04) + { + var_08 = 0; + } + } + else if(isdefined(param_04)) + { + var_08 = 0; + } + + if(isdefined(var_07["param5"])) + { + if(!isdefined(param_05)) + { + var_08 = 0; + } + else if(var_07["param5"] != param_05) + { + var_08 = 0; + } + } + else if(isdefined(param_05)) + { + var_08 = 0; + } + } + + if(var_08 == 1) + { + return; + } + } + + var_0A = []; + var_0A["function"] = param_00; + var_0A["param1"] = param_01; + var_0A["param2"] = param_02; + var_0A["param3"] = param_03; + var_0A["param4"] = param_04; + var_0A["param5"] = param_05; + self.spawn_functions[self.spawn_functions.size] = var_0A; +} + +//Function Number: 109 +ai_run_behavior_until_condition(param_00,param_01,param_02) +{ + self endon("death"); + if(isdefined(param_00)) + { + [[ param_00 ]](self); + } + + if(isdefined(param_02)) + { + [[ param_02 ]](self); + } + + if(isdefined(param_01)) + { + [[ param_01 ]](self); + } +} + +//Function Number: 110 +ai_cond_reached_goal(param_00) +{ + param_00 endon("death"); + param_00 waittill("goal"); +} + +//Function Number: 111 +ai_cond_reached_path_end(param_00) +{ + param_00 endon("death"); + param_00 waittill("reached_path_end"); +} + +//Function Number: 112 +ai_cond_player_at_police_battle(param_00) +{ + param_00 endon("death"); + common_scripts\utility::flag_wait("flag_player_at_police_battle"); +} + +//Function Number: 113 +ai_cond_player_at_tanker_battle(param_00) +{ + param_00 endon("death"); + common_scripts\utility::flag_wait("flag_player_at_tanker_battle"); +} + +//Function Number: 114 +ai_cond_player_at_ambient_battle(param_00) +{ + param_00 endon("death"); + common_scripts\utility::flag_wait("flag_player_at_ambient_battle"); +} + +//Function Number: 115 +ai_cond_player_at_pitbull_battle(param_00) +{ + param_00 endon("death"); + common_scripts\utility::flag_wait("flag_player_at_pitbull_battle"); + if(param_00 == level.bravo) + { + param_00 waittill("dialog_done"); + } +} + +//Function Number: 116 +ai_cond_player_at_escape_battle(param_00) +{ + param_00 endon("death"); + common_scripts\utility::flag_wait("flag_player_at_escape_battle"); +} + +//Function Number: 117 +ai_cond_player_at_standoff_battle(param_00) +{ + param_00 endon("death"); + common_scripts\utility::flag_wait("flag_player_at_standoff_battle"); +} + +//Function Number: 118 +ai_cond_player_at_standoff_battle_or_danger_zone(param_00) +{ + param_00 endon("death"); + common_scripts\utility::flag_wait_either("flag_player_at_standoff_battle","railing_danger_zone_touching"); +} + +//Function Number: 119 +ai_cond_player_at_van(param_00) +{ + param_00 endon("death"); + common_scripts\utility::flag_wait("flag_van_explosion_deploy"); +} + +//Function Number: 120 +ai_empty(param_00) +{ +} + +//Function Number: 121 +ai_start_magic_bullet_shield(param_00) +{ + param_00 maps\_utility::magic_bullet_shield(); +} + +//Function Number: 122 +ai_end_magic_bullet_shield(param_00) +{ + if(isdefined(param_00.magic_bullet_shield) && param_00.magic_bullet_shield == 1) + { + param_00 maps\_utility::stop_magic_bullet_shield(); + } +} + +//Function Number: 123 +ai_start_ignore_all(param_00) +{ + param_00.ignoreall = 1; +} + +//Function Number: 124 +ai_end_ignore_all(param_00) +{ + param_00.ignoreall = 0; +} + +//Function Number: 125 +ai_start_ignore_me(param_00) +{ + param_00.ignoreme = 1; +} + +//Function Number: 126 +ai_end_ignore_me(param_00) +{ + param_00.ignoreme = 0; +} + +//Function Number: 127 +ai_start_pacifist(param_00) +{ + param_00.pacifist = 1; +} + +//Function Number: 128 +ai_end_fixed_node(param_00) +{ + param_00.fixednode = 0; +} + +//Function Number: 129 +ai_delete_self(param_00) +{ + if(isdefined(param_00.magic_bullet_shield) && param_00.magic_bullet_shield == 1) + { + param_00 maps\_utility::stop_magic_bullet_shield(); + } + + wait(0.1); + param_00 delete(); +} + +//Function Number: 130 +ai_shot_by_player_team_notify() +{ + self endon("death"); + level endon("ai_shot_by_player_team"); + for(;;) + { + self waittill("damage",var_00,var_01); + if(var_01 == level.player) + { + break; + } + + if(common_scripts\utility::array_contains(level.heroes,var_01)) + { + break; + } + } + + level notify("ai_shot_by_player_team"); +} + +//Function Number: 131 +get_single_living_ent(param_00,param_01) +{ + var_02 = getentarray(param_00,param_01); + if(!isdefined(var_02)) + { + return undefined; + } + + var_03 = undefined; + foreach(var_05 in var_02) + { + if(!isalive(var_05)) + { + continue; + } + + var_03 = var_05; + } + + return var_03; +} + +//Function Number: 132 +ai_start_balcony_death(param_00) +{ + param_00 notify("stop_death_function"); + param_00 balcony_death_anims(); +} + +//Function Number: 133 +ai_start_respawn_death(param_00) +{ + param_00 notify("stop_death_function"); + if(!isdefined(param_00.spawner)) + { + return; + } + + param_00.respawn_spawner = param_00.spawner; + if(!weaponclass(param_00.weapon) == "rocketlauncher") + { + param_00.deathfunction = ::try_respawn_death; + return; + } + + param_00 thread wait_till_death_try_respawn_death(); +} + +//Function Number: 134 +ai_stop_death_function(param_00) +{ + param_00.deathfunction = undefined; + param_00 notify("stop_death_function"); +} + +//Function Number: 135 +wait_till_death_try_respawn_death() +{ + self endon("stop_death_function"); + self waittill("death"); + try_respawn_death(); +} + +//Function Number: 136 +try_respawn_death() +{ + if(!isdefined(self.respawn_spawner)) + { + return; + } + + self.respawn_spawner.count++; + if(isdefined(self.respawn_spawner.script_aigroup)) + { + self.respawn_spawner thread maps\_spawner::aigroup_spawnerthink(level._ai_group[self.respawn_spawner.script_aigroup]); + } + + level thread respawn_death_spawn(self.respawn_spawner); + return 0; +} + +//Function Number: 137 +respawn_death_spawn(param_00) +{ + wait(randomfloatrange(2,6)); + param_00 maps\_utility::spawn_ai(1,0); +} + +//Function Number: 138 +ai_add_player_only_damage(param_00) +{ + param_00 maps\_utility::add_damage_function(::ai_player_only_damage_func); +} + +//Function Number: 139 +ai_remove_player_only_damage(param_00) +{ + param_00 maps\_utility::remove_damage_function(::ai_player_only_damage_func); +} + +//Function Number: 140 +ai_player_only_damage_func(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + if(!isplayer(param_01)) + { + if(isdefined(param_01) && param_01.classname == "trigger_hurt") + { + return; + } + + self.health = self.health + param_00; + } +} + +//Function Number: 141 +ai_add_twenty_percent_damage(param_00) +{ + param_00 maps\_utility::add_damage_function(::ai_twenty_percent_damage_func); +} + +//Function Number: 142 +ai_remove_twenty_percent_damage(param_00) +{ + param_00 maps\_utility::remove_damage_function(::ai_twenty_percent_damage_func); +} + +//Function Number: 143 +ai_twenty_percent_damage_func(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + if(!isplayer(param_01)) + { + if(isdefined(param_01) && param_01.classname == "trigger_hurt") + { + return; + } + + var_07 = int(param_00 * 0.8); + if(self.health + var_07 > 0) + { + self.health = self.health + var_07; + } + } +} + +//Function Number: 144 +notify_drones_all_dead(param_00,param_01) +{ + for(;;) + { + var_02 = 0; + foreach(var_04 in param_00) + { + if(isalive(var_04)) + { + var_02 = 1; + } + } + + if(!var_02) + { + break; + } + + wait(0.05); + } + + common_scripts\utility::flag_set(param_01); +} + +//Function Number: 145 +heli_shoot_enemies() +{ + self endon("death"); + var_00 = heli_get_shooters(); + foreach(var_02 in var_00) + { + var_03 = spawn("script_model",(0,0,0)); + var_03 setmodel("tag_laser"); + var_03.origin = var_02 gettagorigin("tag_flash"); + var_03.angles = var_02 gettagangles("tag_flash"); + var_03 laseron(); + var_02.fake_laser = var_03; + var_02 thread delete_laser_on_death(); + var_02 thread force_fake_laser_origin_link(); + thread heli_shoot_enemy_trace_then_fire(var_02); + } +} + +//Function Number: 146 +force_fake_laser_origin_link() +{ + self endon("death"); + for(;;) + { + self.fake_laser.origin = self gettagorigin("tag_flash"); + wait(0.05); + } +} + +//Function Number: 147 +delete_laser_on_death() +{ + self waittill("death"); + self.fake_laser delete(); +} + +//Function Number: 148 +heli_shoot_enemy_trace_then_fire(param_00) +{ + self endon("death"); + for(;;) + { + wait(0.05); + var_01 = getaiarray("axis"); + if(var_01.size <= 0) + { + continue; + } + + var_01 = common_scripts\utility::array_randomize(var_01); + var_02 = 0; + if(randomint(100) < 25) + { + var_02 = 1; + } + + var_03 = undefined; + if(var_02) + { + var_03 = get_accurate_target(var_01,param_00); + if(!isdefined(var_03)) + { + var_03 = var_01[0]; + } + } + else + { + var_03 = var_01[0]; + } + + var_04 = gettime() + randomfloatrange(8,12) * 1000; + while(gettime() < var_04 && isalive(var_03)) + { + if(var_03.a.pose == "stand") + { + var_05 = var_03.origin + (0,0,64) - param_00.fake_laser.origin; + } + else + { + var_05 = var_03.origin + (0,0,32) - param_00.fake_laser.origin; + } + + var_06 = vectortoangles(var_05); + param_00.fake_laser rotateto(var_06,0.25); + wait(0.25); + } + + if(maps\_utility::ent_flag("heli_can_shoot") && isalive(var_03)) + { + var_07 = param_00 gettagorigin("tag_flash"); + if(var_03.a.pose == "stand" || var_02 == 0) + { + var_08 = var_03.origin + (0,0,64); + } + else + { + var_08 = var_04.origin + (0,0,32); + } + + var_09 = bullettrace(var_07,var_08,1); + magicbullet("iw5_mors_sp",var_07,var_08); + bullettracer(var_07,var_08); + } + } +} + +//Function Number: 149 +get_accurate_target(param_00,param_01) +{ + var_02 = param_01 gettagorigin("tag_flash"); + foreach(var_04 in param_00) + { + var_05 = var_04.origin + (0,0,64); + var_06 = bullettrace(var_02,var_05,1); + if(isdefined(var_06["entity"]) && var_06["entity"] == var_04) + { + return var_04; + } + } + + return undefined; +} + +//Function Number: 150 +heli_get_shooters() +{ + var_00 = []; + foreach(var_02 in self.riders) + { + if(var_02.vehicle_position == 0 || var_02.vehicle_position == 1) + { + continue; + } + + var_00[var_00.size] = var_02; + } + + return var_00; +} + +//Function Number: 151 +heli_toggle_shoot() +{ + self endon("death"); + for(;;) + { + self waittill("allow_heli_shoot"); + maps\_utility::ent_flag_set("heli_can_shoot"); + common_scripts\utility::flag_set("flag_dialog_street_helo_onsite"); + } +} + +//Function Number: 152 +riders_no_damage() +{ + foreach(var_01 in self.riders) + { + var_01 maps\_utility::deletable_magic_bullet_shield(); + } +} + +//Function Number: 153 +player_can_see(param_00,param_01) +{ + var_02 = anglestoforward(level.player.angles); + var_03 = vectornormalize(param_00 - level.player.origin); + var_04 = vectordot(var_02,var_03); + if(var_04 > cos(param_01)) + { + return 1; + } + + return 0; +} + +//Function Number: 154 +get_black_overlay() +{ + if(!isdefined(level.black_overlay)) + { + level.black_overlay = maps\_hud_util::create_client_overlay("black",0,level.player); + } + + level.black_overlay.sort = -1; + level.black_overlay.foreground = 1; + return level.black_overlay; +} + +//Function Number: 155 +get_white_overlay() +{ + if(!isdefined(level.white_overlay)) + { + level.white_overlay = maps\_hud_util::create_client_overlay("white",0,level.player); + } + + level.white_overlay.sort = -1; + level.white_overlay.foreground = 1; + return level.white_overlay; +} + +//Function Number: 156 +blackout(param_00,param_01) +{ + fadeoverlay(param_00,1,param_01); +} + +//Function Number: 157 +restorevision(param_00,param_01) +{ + fadeoverlay(param_00,0,param_01); +} + +//Function Number: 158 +fadeoverlay(param_00,param_01,param_02) +{ + self fadeovertime(param_00); + self.alpha = param_01; + setblur(param_02,param_00); + wait(param_00); +} + +//Function Number: 159 +setup_dont_leave_hint() +{ + level endon("mission failed"); + for(;;) + { + common_scripts\utility::flag_wait("player_leaving_map"); + maps\_utility::display_hint("hint_dont_leave_mission"); + common_scripts\utility::flag_wait_either("player_leaving_map","player_returning_to_map"); + wait 0.05; + } +} + +//Function Number: 160 +should_break_dont_leave() +{ + if(common_scripts\utility::flag("missionfailed")) + { + return 1; + } + + if(common_scripts\utility::flag("player_returning_to_map")) + { + return 1; + } + + return 0; +} + +//Function Number: 161 +setup_dont_leave_failure() +{ + common_scripts\utility::flag_wait("player_left_map"); + level notify("mission failed"); + setdvar("ui_deadquote",&"SANFRAN_FAIL_SKIP_OBJECTIVE"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 162 +fall_fail() +{ + self endon("death"); + for(;;) + { + self waittill("trigger",var_00); + if(var_00 == level.player) + { + setblur(5,0.5); + thread player_falling_kill_logic(1.5); + level.player disableweapons(); + var_01 = spawn("script_origin",level.player.origin); + var_01.angles = (-90,360,0); + var_01 movegravity(level.player getvelocity(),15); + level.player playerlinktoblend(var_01,undefined,1.2); + setdvar("ui_deadquote",&"SANFRAN_FAIL_SKIP_OBJECTIVE"); + thread introscreen_generic_fade_out("black",999,0,1); + maps\_utility::missionfailedwrapper(); + break; + } + } +} + +//Function Number: 163 +fail_player_for_abandon() +{ + for(;;) + { + var_00 = -1; + foreach(var_02 in level.heroes) + { + if(var_02.origin[0] > level.player.origin[0]) + { + var_00 = -1; + break; + } + + var_03 = level.player.origin[0] - var_02.origin[0]; + if(var_03 < var_00 || var_00 == -1) + { + var_00 = var_03; + } + } + + if(var_00 != -1) + { + if(var_00 > 3000) + { + setdvar("ui_deadquote",&"SANFRAN_FAIL_LEAVING_SQUAD"); + maps\_utility::missionfailedwrapper(); + } + else if(var_00 > 2500) + { + player_left_squad_hint(); + } + else + { + common_scripts\utility::flag_clear("flag_hint_player_left_squad"); + } + } + else + { + common_scripts\utility::flag_clear("flag_hint_player_left_squad"); + } + + wait(0.15); + } +} + +//Function Number: 164 +player_abandon_squad_distance_think() +{ + level endon("gg_start_bridge_collapse"); + level.axis_global_accuracy_mod = 0; + var_00 = 1200; + var_01 = undefined; + var_02 = -1; + for(;;) + { + if(level.burke.origin[0] < level.player.origin[0]) + { + wait(1); + var_01 = undefined; + continue; + } + + var_03 = level.burke.origin[0] - level.player.origin[0]; + if(var_03 < var_02 || var_02 == -1) + { + var_02 = var_03; + } + + if(isdefined(var_01) && var_03 < var_00) + { + var_01 = undefined; + level.axis_global_accuracy_mod = 0; + level notify("global_accuracy_mod_event"); + } + + if(var_03 > var_00) + { + var_01 = var_03 - var_00; + var_04 = var_01 / 100; + if(var_04 > 10) + { + var_04 = 10; + } + + level.axis_global_accuracy_mod = var_04; + level notify("global_accuracy_mod_event"); + } + + wait(1); + } +} + +//Function Number: 165 +player_falling_kill_logic(param_00) +{ + var_01 = int(tablelookup("sp/deathQuoteTable.csv",1,"size",0)); + var_02 = randomint(var_01); + var_03 = "player_falling_kill_in_progress"; + if(common_scripts\utility::flag(var_03)) + { + return; + } + else + { + common_scripts\utility::flag_set(var_03); + } + + if(!isdefined(param_00)) + { + param_00 = 3; + } + + common_scripts\utility::flag_clear("can_save"); + var_04 = gettime() + param_00 * 1000; + while(!level.player isonground() && gettime() < var_04) + { + wait(0.05); + } + + if(level.player isonground()) + { + level.player kill(); + return; + } + + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 166 +introscreen_generic_fade_out(param_00,param_01,param_02,param_03) +{ + if(!isdefined(param_02)) + { + param_02 = 1.5; + } + + var_04 = newhudelem(); + var_04.x = 0; + var_04.y = 0; + var_04.horzalign = "fullscreen"; + var_04.vertalign = "fullscreen"; + var_04.foreground = 0; + var_04 setshader(param_00,640,480); + if(isdefined(param_03) && param_03 > 0) + { + var_04.alpha = 0; + var_04 fadeovertime(param_03); + var_04.alpha = 1; + wait(param_03); + } + + wait(param_01); + if(isdefined(param_02) && param_02 > 0) + { + var_04.alpha = 1; + var_04 fadeovertime(param_02); + var_04.alpha = 0; + } + + var_04 destroy(); +} + +//Function Number: 167 +player_damage_atlas_flag_set(param_00) +{ + self endon("death"); + self endon("flag_already_set"); + var_01 = undefined; + var_02 = undefined; + for(;;) + { + self waittill("damage",var_02,var_01); + if(isdefined(var_01) && var_01 == level.player) + { + if(common_scripts\utility::flag(param_00)) + { + self notify("flag_already_set"); + waittillframeend; + } + + break; + } + } + + common_scripts\utility::flag_set(param_00); +} + +//Function Number: 168 +waittill_aigroupcount_or_flag(param_00,param_01,param_02) +{ + level endon(param_02); + if(!common_scripts\utility::flag(param_02)) + { + maps\_utility::waittill_aigroupcount(param_00,param_01); + } +} \ No newline at end of file diff --git a/AW/PC/maps/sanfran_vo.gsc b/AW/PC/maps/sanfran_vo.gsc new file mode 100644 index 0000000..618d836 --- /dev/null +++ b/AW/PC/maps/sanfran_vo.gsc @@ -0,0 +1,628 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: sanfran_vo.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 46 + * Decompile Time: 720 ms + * Timestamp: 4/22/2024 2:36:05 AM +*******************************************************************/ + +//Function Number: 1 +prepare_dialog() +{ + level.scr_radio["sfa_crk_admiraldavisthisissentinelzeroone"] = "sfa_crk_admiraldavisthisissentinelzeroone"; + level.scr_radio["sfa_ads_copysentinelzeroone"] = "sfa_ads_copysentinelzeroone"; + level.scr_radio["sfa_crk_yessir"] = "sfa_crk_yessir"; + level.scr_radio["sfa_mdx_cormackwevegottwocargo"] = "sfa_mdx_cormackwevegottwocargo"; + level.scr_radio["sfa_crk_keepemoniceuntil"] = "sfa_crk_keepemoniceuntil"; + level.scr_radio["sfa_mdx_rogerthat"] = "sfa_mdx_rogerthat"; + level.scr_radio["sfa_crk_gideonmitchellreportin"] = "sfa_crk_gideonmitchellreportin"; + level.scr_sound["Burke"]["sfa_gdn_northsideisallclearwait"] = "sfa_gdn_northsideisallclearwait"; + level.scr_radio["sfa_crk_whatdoyougot"] = "sfa_crk_whatdoyougot"; + level.scr_sound["Burke"]["sfa_gdn_hesrabbittingletsmove"] = "sfa_gdn_hesrabbittingletsmove"; + level.scr_sound["Saint"]["sfa_sn1_gogogo"] = "sfa_sn1_gogogo"; + level.scr_sound["Burke"]["sfa_gdn_whitevanwithcommericalplates"] = "sfa_gdn_whitevanwithcommericalplates"; + level.scr_radio["sfa_crk_gideonyouhaveexecuteauthority"] = "sfa_crk_gideonyouhaveexecuteauthority"; + level.scr_radio["sfa_crk_therecouldbeanythinginside"] = "sfa_crk_therecouldbeanythinginside"; + level.scr_sound["Burke"]["sfa_gdn_copy"] = "sfa_gdn_copy"; + level.scr_sound["Burke"]["sfa_gdn_punchitmitchel"] = "sfa_gdn_punchitmitchel"; + level.scr_sound["Burke"]["sfa_gdn_watchout"] = "sfa_gdn_watchout"; + level.scr_radio["sfa_mdx_threemorevehiclesjustbroke"] = "sfa_mdx_threemorevehiclesjustbroke"; + level.scr_sound["Burke"]["sfa_gdn_howthehelldidisr"] = "sfa_gdn_howthehelldidisr"; + level.scr_sound["Burke"]["sfa_gdn_getaroundthattanker"] = "sfa_gdn_getaroundthattanker"; + level.scr_sound["Burke"]["sfa_gdn_vehiclerightside"] = "sfa_gdn_vehiclerightside"; + level.scr_sound["Burke"]["sfa_gdn_stayonhim"] = "sfa_gdn_stayonhim"; + level.scr_radio["sfa_crk_allunitswehavemultiple"] = "sfa_crk_allunitswehavemultiple"; + level.scr_radio["sfa_ads_sentinelzeroonethisisadmiraldavis"] = "sfa_ads_sentinelzeroonethisisadmiraldavis"; + level.scr_radio["sfa_crk_wehaveenemytargetson"] = "sfa_crk_wehaveenemytargetson"; + level.scr_radio["sfa_ads_understoodweremanningbattlestations"] = "sfa_ads_understoodweremanningbattlestations"; + level.scr_sound["Burke"]["sfa_gdn_damn"] = "sfa_gdn_damn"; + level.scr_sound["Burke"]["sfa_gdn_holdon"] = "sfa_gdn_holdon"; + level.scr_sound["Burke"]["sfa_brk_coughing"] = "sfa_brk_coughing"; + level.scr_radio["sfa_crk_ineedaroadblockmidspan"] = "sfa_crk_ineedaroadblockmidspan"; + level.scr_radio["sfa_sn1_wereclose"] = "sfa_sn1_wereclose"; + level.scr_radio["sfa_crk_whyhasntsomeoneputa"] = "sfa_crk_whyhasntsomeoneputa"; + level.scr_radio["sfa_sn2_sierrazerotwosierrazero"] = "sfa_sn2_sierrazerotwosierrazero"; + level.scr_radio["sfa_crk_wedonthavefiveminutes"] = "sfa_crk_wedonthavefiveminutes"; + level.scr_sound["Burke"]["sfa_gdn_cormackourpitbullsoutof"] = "sfa_gdn_cormackourpitbullsoutof"; + level.scr_radio["sfa_crk_atlasvehiclesaredeployingsoldiers"] = "sfa_crk_atlasvehiclesaredeployingsoldiers"; + level.scr_sound["Burke"]["sfa_gdn_weneedtheseciviliansoff"] = "sfa_gdn_weneedtheseciviliansoff"; + level.scr_radio["sfa_crk_sfpdisonthescene"] = "sfa_crk_sfpdisonthescene"; + level.scr_sound["Burke"]["sfa_gdn_boostersincoming"] = "sfa_gdn_boostersincoming"; + level.scr_sound["Burke"]["sfa_gdn_mitchellengageyourboosters"] = "sfa_gdn_mitchellengageyourboosters"; + level.scr_radio["sfa_llt_scorpio35inboundtoassist"] = "sfa_llt_scorpio35inboundtoassist"; + level.scr_radio["sfa_llt_scorpio35inpositionproviding"] = "sfa_llt_scorpio35inpositionproviding"; + level.scr_radio["sfa_llt_wavingoffcomingaroundfor"] = "sfa_llt_wavingoffcomingaroundfor"; + level.scr_sound["Burke"]["sfa_gdn_keepawayfromthattanker"] = "sfa_gdn_keepawayfromthattanker"; + level.scr_radio["sfa_llt_ishitgoingdown"] = "sfa_llt_ishitgoingdown"; + level.scr_radio["sfa_ads_sentinelzerooneineedasitrep"] = "sfa_ads_sentinelzerooneineedasitrep"; + level.scr_radio["sfa_crk_admiralweareengagedwith"] = "sfa_crk_admiralweareengagedwith"; + level.scr_radio["sfa_ads_copythat"] = "sfa_ads_copythat"; + level.scr_radio["sfa_crk_admiralwehaveenemytargets"] = "sfa_crk_admiralwehaveenemytargets"; + level.scr_radio["sfa_crk_kingpinwehaveenemytargets"] = "sfa_crk_kingpinwehaveenemytargets"; + level.scr_radio["sfa_kgn_copythat"] = "sfa_kgn_copythat"; + level.scr_radio["sfa_sn1_thevansstopping"] = "sfa_sn1_thevansstopping"; + level.scr_radio["sfa_crk_putthosebirdsonthe"] = "sfa_crk_putthosebirdsonthe"; + level.scr_sound["Burke"]["sfa_gdn_blueapproachingwhatsyourstatus"] = "sfa_gdn_blueapproachingwhatsyourstatus"; + level.scr_sound["Bravo"]["sfa_sn5_ourpitbullsdead"] = "sfa_sn5_ourpitbullsdead"; + level.scr_sound["Burke"]["sfa_gdn_copy2"] = "sfa_gdn_copy2"; + level.scr_sound["Burke"]["sfa_gdn_cormackineedcoveringfire"] = "sfa_gdn_cormackineedcoveringfire"; + level.scr_radio["sfa_crk_negativethevansthepriority"] = "sfa_crk_negativethevansthepriority"; + level.scr_sound["Burke"]["sfa_gdn_bollocks"] = "sfa_gdn_bollocks"; + level.scr_radio["sfa_crk_gideonwevegotthevan"] = "sfa_crk_gideonwevegotthevan"; + level.scr_sound["Burke"]["sfa_gdn_werealmostthere"] = "sfa_gdn_werealmostthere"; + level.scr_sound["Burke"]["sfa_gdn_friendliesupahead"] = "sfa_gdn_friendliesupahead"; + level.scr_radio["sfa_sn4_wevegotthevanboxed"] = "sfa_sn4_wevegotthevanboxed"; + level.scr_sound["Burke"]["sfa_gdn_weremovingtoassist"] = "sfa_gdn_weremovingtoassist"; + level.scr_sound["human_sentinel_1"]["sfa_sn1_getoutofthevan"] = "sfa_sn1_getoutofthevan"; + level.scr_sound["human_sentinel_2"]["sfa_sn2_ontheground"] = "sfa_sn2_ontheground"; + level.scr_radio["sfa_crk_wevegotthedriver"] = "sfa_crk_wevegotthedriver"; + level.scr_sound["Burke"]["sfa_gdn_checkthatvanmitchell"] = "sfa_gdn_checkthatvanmitchell"; + level.scr_sound["Burke"]["sfa_gdn_mitchellsecurethevan"] = "sfa_gdn_mitchellsecurethevan"; + level.scr_sound["Burke"]["sfa_gdn_mitchellgetonthevan"] = "sfa_gdn_mitchellgetonthevan"; + level.scr_radio["sfa_ads_sentinelzeroonethecarrierisalmost"] = "sfa_ads_sentinelzeroonethecarrierisalmost"; + level.scr_sound["human_sentinel_1"]["sfa_sn1_drones"] = "sfa_sn1_drones"; + level.scr_radio["sfa_crk_takethemout"] = "sfa_crk_takethemout"; + level.scr_sound["human_sentinel_2"]["sfa_sn2_shootthedrones"] = "sfa_sn2_shootthedrones"; + level.scr_sound["Burke"]["sfa_gdn_lookout"] = "sfa_gdn_lookout"; + level.scr_radio["sfa_crk_getbackeveryonegetback"] = "sfa_crk_getbackeveryonegetback"; + level.scr_sound["human_sentinel_4"]["sfa_sn2_getthisgoddamnbridgeclear"] = "sfa_sn2_getthisgoddamnbridgeclear"; + level.scr_sound["human_sentinel_2"]["sfa_sn1_itsgivingway"] = "sfa_sn1_itsgivingway"; + level.scr_sound["human_sentinel_4"]["sfa_sn2_getthehelloutof"] = "sfa_sn2_getthehelloutof"; + level.scr_sound["human_sentinel_2"]["sfa_sn1_movemovemove"] = "sfa_sn1_movemovemove"; + level.scr_sound["human_sentinel_2"]["sfa_sn1_getoffthebridge"] = "sfa_sn1_getoffthebridge"; + level.scr_sound["Burke"]["sfa_gdn_mitchellyoustillinone"] = "sfa_gdn_mitchellyoustillinone"; + level.scr_radio["sfa_crk_peoplewestillhavea"] = "sfa_crk_peoplewestillhavea"; + level.scr_sound["Burke"]["sfa_gdn_copythatweremoving"] = "sfa_gdn_copythatweremoving"; + level.scr_sound["Burke"]["sfa_gdn_carefulnowslowissmooth"] = "sfa_gdn_carefulnowslowissmooth"; + level.scr_sound["Burke"]["sfa_gdn_mitchelljumpdown"] = "sfa_gdn_mitchelljumpdown"; + level.scr_radio["sfa_cop_icantbelieveit"] = "sfa_cop_icantbelieveit"; + level.scr_radio["sfa_sn1_allunitsreportin"] = "sfa_sn1_allunitsreportin"; + level.scr_radio["sfa_cop_thisisntpossible"] = "sfa_cop_thisisntpossible"; + level.scr_radio["sfa_sn1_anyunitrespond"] = "sfa_sn1_anyunitrespond"; + level.scr_radio["sfa_cop_theyrealldead"] = "sfa_cop_theyrealldead"; + level.scr_radio["sfa_sn1_myentiresquadisgone"] = "sfa_sn1_myentiresquadisgone"; + level.scr_radio["sfa_cop_theyjustfellrightin"] = "sfa_cop_theyjustfellrightin"; + level.scr_radio["sfa_sn1_theydroppedthebridgeright"] = "sfa_sn1_theydroppedthebridgeright"; + level.scr_radio["sfa_sn2_thecarriersdeadinthe"] = "sfa_sn2_thecarriersdeadinthe"; + level.scr_radio["sfa_ads_thecarrierisreportinga"] = "sfa_ads_thecarrierisreportinga"; + level.scr_radio["sfa_crk_wearesendingmento"] = "sfa_crk_wearesendingmento"; + level.scr_sound["Burke"]["sfa_gdn_enemyvehicleleftside"] = "sfa_gdn_enemyvehicleleftside"; + level.scr_sound["Burke"]["sfa_gdn_thevansgettingawaymove"] = "sfa_gdn_thevansgettingawaymove"; + level.scr_sound["Burke"]["sfa_gdn_stoppissinaroundandmove"] = "sfa_gdn_stoppissinaroundandmove"; + level.scr_sound["Burke"]["sfa_gdn_keepfiring"] = "sfa_gdn_keepfiring"; + level.scr_sound["Burke"]["sfa_gdn_contactgoinhard"] = "sfa_gdn_contactgoinhard"; + level.scr_radio["sfa_llt_movingposition"] = "sfa_llt_movingposition"; + level.scr_radio["sfa_llt_tangosintheopen"] = "sfa_llt_tangosintheopen"; + level.scr_radio["sfa_llt_fourtargetsbythetanker"] = "sfa_llt_fourtargetsbythetanker"; + level.scr_sound["Burke"]["sfa_gdn_keepitupletsmove"] = "sfa_gdn_keepitupletsmove"; + level.scr_sound["Burke"]["sfa_gdn_flankright"] = "sfa_gdn_flankright"; + level.scr_sound["Burke"]["sfa_gdn_pushforwardillcover"] = "sfa_gdn_pushforwardillcover"; + level.scr_sound["Burke"]["sfa_gdn_movingleft"] = "sfa_gdn_movingleft"; + level.scr_sound["Burke"]["sfa_gdn_blueapproachingfromyoursix"] = "sfa_gdn_blueapproachingfromyoursix"; + level.scr_sound["Burke"]["sfa_gdn_overthebus"] = "sfa_gdn_overthebus"; + level.scr_sound["Burke"]["sfa_gdn_threetangosbytheeighteen"] = "sfa_gdn_threetangosbytheeighteen"; + level.scr_radio["sfa_sn1_getthoseciviliansoutof"] = "sfa_sn1_getthoseciviliansoutof"; + level.scr_sound["Burke"]["sfa_gdn_vandeadahead"] = "sfa_gdn_vandeadahead"; + level.scr_sound["Burke"]["sfa_gdn_mitchellgetyourassover"] = "sfa_gdn_mitchellgetyourassover"; + level.scr_sound["Civilian 1"]["yell_1"] = "sfa_cv1_holyshit"; + level.scr_sound["Civilian 1"]["yell_2"] = "sfa_cv1_ohmygod"; + level.scr_sound["Civilian 1"]["yell_3"] = "sfa_cv1_scream"; + level.scr_sound["Civilian 1"]["yell_4"] = "sfa_cv1_scream4"; + level.scr_sound["Civilian 1"]["yell_5"] = "sfa_cv1_helpme"; + level.scr_sound["Civilian 1"]["yell_6"] = "sfa_cv1_ohgodhelp"; + level.scr_sound["Civilian 2"]["yell_1"] = "sfa_cv3_holyshit"; + level.scr_sound["Civilian 2"]["yell_2"] = "sfa_cv3_ohmygod"; + level.scr_sound["Civilian 2"]["yell_3"] = "sfa_cv3_scream"; + level.scr_sound["Civilian 2"]["yell_4"] = "sfa_cv3_scream3"; + level.scr_sound["Civilian 2"]["yell_5"] = "sfa_cv3_helpme"; + level.scr_sound["Civilian 2"]["yell_6"] = "sfa_cv3_ohgodhelp"; + level.scr_sound["Civilian 3"]["yell_1"] = "sfa_cv6_holyshit"; + level.scr_sound["Civilian 3"]["yell_2"] = "sfa_cv6_ohmygod"; + level.scr_sound["Civilian 3"]["yell_3"] = "sfa_cv6_scream"; + level.scr_sound["Civilian 3"]["yell_4"] = "sfa_cv6_scream2"; + level.scr_sound["Civilian 3"]["yell_5"] = "sfa_cv6_helpme"; + level.scr_sound["Civilian 3"]["yell_6"] = "sfa_cv6_ohgodhelp"; +} + +//Function Number: 2 +play_civilian_dialog(param_00) +{ + var_01 = spawn("script_origin",param_00.origin); + var_02 = randomintrange(1,4); + var_01.animname = "Civilian " + var_02; + var_02 = randomintrange(1,7); + var_01 maps\_utility::dialogue_queue("yell_" + var_02); + var_01 delete(); +} + +//Function Number: 3 +play_dialog() +{ + thread play_dialog_intro(); + thread play_dialog_tunnel(); + thread play_dialog_oncoming_block_knocked(); + thread play_dialog_oncoming(); + thread play_dialog_bridge(); + thread play_dialog_street(); + thread play_dialog_van(); + thread play_dialog_boost(); +} + +//Function Number: 4 +play_dialog_intro() +{ + common_scripts\utility::flag_wait("flag_dialog_start_intro"); + thread play_dialog_intro_block_fleet(); + thread play_dialog_intro_block_cargo(); +} + +//Function Number: 5 +play_dialog_intro_block_fleet() +{ + common_scripts\utility::flag_wait("flag_dialog_intro_fleet"); + level maps\_utility::dialogue_queue("sfa_crk_admiraldavisthisissentinelzeroone"); + level maps\_utility::dialogue_queue("sfa_ads_copysentinelzeroone"); + level maps\_utility::dialogue_queue("sfa_crk_yessir"); +} + +//Function Number: 6 +play_dialog_intro_block_cargo() +{ + common_scripts\utility::flag_wait("flag_dialog_intro_cargo"); + level maps\_utility::dialogue_queue("sfa_mdx_cormackwevegottwocargo"); + level maps\_utility::dialogue_queue("sfa_crk_keepemoniceuntil"); + level maps\_utility::dialogue_queue("sfa_mdx_rogerthat"); +} + +//Function Number: 7 +play_dialog_tunnel() +{ + common_scripts\utility::flag_wait("flag_dialog_start_tunnel"); + thread play_dialog_tunnel_block_chase(); + thread play_dialog_tunnel_block_update(); + thread play_dialog_tunnel_block_bus(); + thread play_dialog_tunnel_block_construction(); + thread play_dialog_tunnel_block_tanker(); +} + +//Function Number: 8 +play_dialog_tunnel_block_chase() +{ + common_scripts\utility::flag_wait("flag_dialog_tunnel_chase"); + wait(2.5); + level maps\_utility::dialogue_queue("sfa_crk_gideonmitchellreportin"); + level waittill("aud_start_sanfran_bridge_pitbull_intro_vo_done"); + level.saint maps\_utility::dialogue_queue("sfa_sn1_gogogo"); +} + +//Function Number: 9 +play_dialog_tunnel_block_update() +{ + common_scripts\utility::flag_wait("flag_dialog_tunnel_update"); + level.burke maps\_utility::dialogue_queue("sfa_gdn_whitevanwithcommericalplates"); + level maps\_utility::dialogue_queue("sfa_crk_therecouldbeanythinginside"); + level.burke maps\_utility::dialogue_queue("sfa_gdn_punchitmitchel"); +} + +//Function Number: 10 +play_dialog_tunnel_block_bus() +{ + common_scripts\utility::flag_wait("flag_dialog_tunnel_bus"); + wait(4); + level.burke maps\_utility::dialogue_queue("sfa_gdn_stayonhim"); +} + +//Function Number: 11 +play_dialog_tunnel_block_construction() +{ + common_scripts\utility::flag_wait("flag_dialog_tunnel_construction"); + level maps\_utility::dialogue_queue("sfa_mdx_threemorevehiclesjustbroke"); + level.burke maps\_utility::dialogue_queue("sfa_gdn_howthehelldidisr"); +} + +//Function Number: 12 +play_dialog_tunnel_block_tanker() +{ + common_scripts\utility::flag_wait("flag_dialog_tunnel_tanker"); + wait(4); + level.burke maps\_utility::dialogue_queue("sfa_gdn_getaroundthattanker"); +} + +//Function Number: 13 +play_dialog_oncoming() +{ + common_scripts\utility::flag_wait("flag_dialog_start_oncoming"); + thread play_dialog_oncoming_block_converging(); +} + +//Function Number: 14 +play_dialog_oncoming_block_knocked() +{ + common_scripts\utility::flag_wait("flag_dialog_pre_oncoming_knocked"); + level.burke maps\_utility::dialogue_queue("sfa_gdn_watchout"); +} + +//Function Number: 15 +play_dialog_oncoming_block_converging() +{ + common_scripts\utility::flag_wait("flag_dialog_oncoming_converging"); + level maps\_utility::dialogue_queue("sfa_crk_allunitswehavemultiple"); + wait(2); + common_scripts\utility::flag_wait("flag_dialog_oncoming_battle"); + level maps\_utility::dialogue_queue("sfa_crk_kingpinwehaveenemytargets"); + level maps\_utility::dialogue_queue("sfa_kgn_copythat"); +} + +//Function Number: 16 +play_dialog_bridge() +{ + common_scripts\utility::flag_wait("flag_dialog_start_bridge"); + thread play_dialog_bridge_block_crash(); + thread play_dialog_bridge_block_crawl(); +} + +//Function Number: 17 +play_dialog_bridge_block_crash() +{ + common_scripts\utility::flag_wait("flag_dialog_bridge_crash"); + level.burke maps\_utility::dialogue_queue("sfa_gdn_damn"); + wait(3); + level.burke maps\_utility::dialogue_queue("sfa_gdn_holdon"); +} + +//Function Number: 18 +play_dialog_bridge_block_crawl() +{ + common_scripts\utility::flag_wait("flag_dialog_bridge_crawl"); + level maps\_utility::dialogue_queue("sfa_crk_ineedaroadblockmidspan"); + level maps\_utility::dialogue_queue("sfa_sn1_wereclose"); + level maps\_utility::dialogue_queue("sfa_sn2_sierrazerotwosierrazero"); + level maps\_utility::dialogue_queue("sfa_crk_wedonthavefiveminutes"); +} + +//Function Number: 19 +play_dialog_street() +{ + common_scripts\utility::flag_wait("flag_dialog_start_street"); + thread play_dialog_street_block_foot(); + thread play_dialog_street_block_boost_incoming(); + thread play_dialog_street_block_boosters(); + thread play_dialog_street_block_helo(); + thread play_dialog_street_block_sitrep(); + thread play_dialog_street_block_pitbull(); + thread play_dialog_street_block_cover(); + thread play_dialog_street_block_hurry(); + thread play_dialog_street_block_friendlies(); + thread play_dialog_street_block_assist(); +} + +//Function Number: 20 +play_dialog_street_block_foot() +{ + common_scripts\utility::flag_wait("flag_dialog_street_foot"); + common_scripts\utility::flag_clear("flag_enable_battle_chatter"); + wait(5); + level maps\_utility::dialogue_queue("sfa_crk_atlasvehiclesaredeployingsoldiers"); + wait(2); + level.burke maps\_utility::dialogue_queue("sfa_gdn_weneedtheseciviliansoff"); + level maps\_utility::dialogue_queue("sfa_crk_sfpdisonthescene"); + common_scripts\utility::flag_set("flag_enable_battle_chatter"); +} + +//Function Number: 21 +play_dialog_street_block_boost_incoming() +{ + common_scripts\utility::flag_wait("flag_dialog_street_boost_incoming"); + wait(2.5); + soundscripts\_snd::snd_music_message("mus_sfa_street_boosters"); + level.burke maps\_utility::dialogue_queue("sfa_gdn_boostersincoming"); +} + +//Function Number: 22 +play_dialog_street_block_boosters() +{ + common_scripts\utility::flag_wait("flag_dialog_street_boosters"); + level.burke maps\_utility::dialogue_queue("sfa_gdn_mitchellengageyourboosters"); + common_scripts\utility::flag_set("flag_enable_boost_jump"); +} + +//Function Number: 23 +play_dialog_street_block_helo() +{ + common_scripts\utility::flag_wait("flag_dialog_street_helo_intro"); + common_scripts\utility::flag_wait("flag_dialog_street_helo_onsite"); + common_scripts\utility::flag_wait("flag_dialog_street_helo_change"); + common_scripts\utility::flag_wait("flag_dialog_street_helo_warn"); + soundscripts\_snd::snd_music_message("mus_sfa_street_vamp2"); + level.burke maps\_utility::dialogue_queue("sfa_gdn_keepawayfromthattanker"); + common_scripts\utility::flag_wait("flag_dialog_street_helo_die"); +} + +//Function Number: 24 +play_dialog_street_block_sitrep() +{ + common_scripts\utility::flag_wait("flag_dialog_street_sitrep"); + soundscripts\_snd::snd_music_message("mus_sfa_street_vamp1"); + level maps\_utility::dialogue_queue("sfa_ads_sentinelzerooneineedasitrep"); + level maps\_utility::dialogue_queue("sfa_crk_admiralweareengagedwith"); + level maps\_utility::dialogue_queue("sfa_ads_copythat"); + soundscripts\_snd::snd_music_message("mus_sfa_street_alt"); +} + +//Function Number: 25 +play_dialog_street_block_van_stop() +{ + common_scripts\utility::flag_wait("flag_dialog_street_van_stop"); + level maps\_utility::dialogue_queue("sfa_sn1_thevansstopping"); + level maps\_utility::dialogue_queue("sfa_crk_putthosebirdsonthe"); +} + +//Function Number: 26 +play_dialog_street_block_pitbull() +{ + common_scripts\utility::flag_wait("flag_dialog_street_pitbull"); + wait(3); + soundscripts\_snd::snd_music_message("mus_sfa_street_breakdown"); + level.burke maps\_utility::dialogue_queue("sfa_gdn_blueapproachingwhatsyourstatus"); + level.bravo maps\_utility::dialogue_queue("sfa_sn5_ourpitbullsdead"); + level.bravo notify("dialog_done"); + level.burke maps\_utility::dialogue_queue("sfa_gdn_copy2"); +} + +//Function Number: 27 +play_dialog_street_block_cover() +{ + common_scripts\utility::flag_wait("flag_dialog_street_cover"); + level.burke maps\_utility::dialogue_queue("sfa_gdn_cormackineedcoveringfire"); + level maps\_utility::dialogue_queue("sfa_crk_negativethevansthepriority"); + level.burke maps\_utility::dialogue_queue("sfa_gdn_bollocks"); + soundscripts\_snd::snd_music_message("mus_sfa_street_outtro"); +} + +//Function Number: 28 +play_dialog_street_block_hurry() +{ + common_scripts\utility::flag_wait("flag_play_van_videolog_pip"); + thread maps\sanfran_code::play_van_videolog_pip(); + level maps\_utility::dialogue_queue("sfa_crk_gideonwevegotthevan"); + level.burke maps\_utility::dialogue_queue("sfa_gdn_werealmostthere"); + soundscripts\_snd::snd_music_message("mus_sfa_street_tag"); +} + +//Function Number: 29 +play_dialog_street_block_friendlies() +{ + common_scripts\utility::flag_wait("flag_dialog_street_friendlies"); + level.burke maps\_utility::dialogue_queue("sfa_gdn_friendliesupahead"); +} + +//Function Number: 30 +play_dialog_street_block_assist() +{ + common_scripts\utility::flag_wait("flag_dialog_street_assist"); + level maps\_utility::dialogue_queue("sfa_sn4_wevegotthevanboxed"); + level.burke maps\_utility::dialogue_queue("sfa_gdn_weremovingtoassist"); +} + +//Function Number: 31 +play_dialog_van() +{ + common_scripts\utility::flag_wait("flag_dialog_start_van"); + thread play_dialog_van_arrest(); + thread play_dialog_van_check(); + thread play_dialog_van_deploy(); + thread play_dialog_van_collapse(); +} + +//Function Number: 32 +play_dialog_van_arrest() +{ + common_scripts\utility::flag_wait("flag_dialog_van_arrest"); + soundscripts\_snd::snd_music_message("approaching_standoff"); + level.sentinel_op1 maps\_utility::dialogue_queue("sfa_sn1_getoutofthevan"); + level.sentinel_op2 maps\_utility::dialogue_queue("sfa_sn2_ontheground"); + wait(5); + level maps\_utility::dialogue_queue("sfa_crk_wevegotthedriver"); +} + +//Function Number: 33 +play_dialog_van_check() +{ + common_scripts\utility::flag_wait("flag_dialog_van_check"); + level endon("flag_dialog_van_deploy"); + level.burke maps\_utility::dialogue_queue("sfa_gdn_checkthatvanmitchell"); + for(;;) + { + wait(7); + if(randomint(100) < 50) + { + level.burke maps\_utility::dialogue_queue("sfa_gdn_mitchellsecurethevan"); + continue; + } + + level.burke maps\_utility::dialogue_queue("sfa_gdn_mitchellgetonthevan"); + } +} + +//Function Number: 34 +play_dialog_van_deploy() +{ + common_scripts\utility::flag_wait("flag_dialog_van_deploy"); + wait(4); + level maps\_utility::dialogue_queue("sfa_ads_sentinelzeroonethecarrierisalmost"); + wait(3); + level.sentinel_op1 maps\_utility::dialogue_queue("sfa_sn1_drones"); + level maps\_utility::dialogue_queue("sfa_crk_takethemout"); + level.sentinel_op2 maps\_utility::dialogue_queue("sfa_sn2_shootthedrones"); + wait(7); + level.burke maps\_utility::dialogue_queue("sfa_gdn_lookout"); + level maps\_utility::dialogue_queue("sfa_crk_getbackeveryonegetback"); +} + +//Function Number: 35 +play_dialog_van_collapse() +{ + common_scripts\utility::flag_wait("flag_dialog_van_collapse"); + wait(2); + level.sentinel_op4 maps\_utility::dialogue_queue("sfa_sn2_getthisgoddamnbridgeclear"); + level.sentinel_op2 maps\_utility::dialogue_queue("sfa_sn1_itsgivingway"); + wait(2); + level.sentinel_op4 maps\_utility::dialogue_queue("sfa_sn2_getthehelloutof"); + level.sentinel_op2 maps\_utility::dialogue_queue("sfa_sn1_movemovemove"); + wait(1); + level.sentinel_op2 maps\_utility::dialogue_queue("sfa_sn1_getoffthebridge"); +} + +//Function Number: 36 +play_dialog_boost() +{ + common_scripts\utility::flag_wait("flag_dialog_start_boost"); + thread play_dialog_boost_block_nag(); + thread play_dialog_boost_block_chatter(); + thread play_dialog_boost_block_mission(); +} + +//Function Number: 37 +play_dialog_boost_block_nag() +{ + common_scripts\utility::flag_wait("flag_dialog_boost_nag"); + level endon("flag_player_at_boost_jump"); + for(;;) + { + wait(8); + level.burke maps\_utility::dialogue_queue("sfa_gdn_mitchelljumpdown"); + } +} + +//Function Number: 38 +play_dialog_boost_block_chatter() +{ + common_scripts\utility::flag_wait("flag_dialog_boost_chatter"); + level maps\_utility::dialogue_queue("sfa_sn1_theydroppedthebridgeright"); + wait(8); + level maps\_utility::dialogue_queue("sfa_sn1_allunitsreportin"); + level maps\_utility::dialogue_queue("sfa_sn1_anyunitrespond"); + level maps\_utility::dialogue_queue("sfa_sn1_myentiresquadisgone"); + wait(5); + level maps\_utility::dialogue_queue("sfa_cop_icantbelieveit"); + level maps\_utility::dialogue_queue("sfa_cop_thisisntpossible"); + level maps\_utility::dialogue_queue("sfa_cop_theyrealldead"); + level maps\_utility::dialogue_queue("sfa_cop_theyjustfellrightin"); + wait(7); + level maps\_utility::dialogue_queue("sfa_sn2_thecarriersdeadinthe"); +} + +//Function Number: 39 +play_dialog_boost_block_mission() +{ + common_scripts\utility::flag_wait("flag_dialog_boost_mission"); + level maps\_utility::dialogue_queue("sfa_ads_thecarrierisreportinga"); + level maps\_utility::dialogue_queue("sfa_crk_wearesendingmento"); +} + +//Function Number: 40 +init_pcap_vo() +{ + if(level.nextgen) + { + init_pcap_vo_intro(); + init_pcap_vo_outro(); + init_pcap_vo_bigm(); + return; + } + + if(istransientloaded("sanfran_intro_tr")) + { + init_pcap_vo_intro(); + level waittill("tff_transition_intro_to_outro"); + init_pcap_vo_outro(); + level waittill("tff_transition_outro_to_bigm"); + init_pcap_vo_bigm(); + return; + } + + if(istransientloaded("sanfran_outro_tr")) + { + if(level.start_point == "intro") + { + level waittill("tff_transition_outro_to_intro"); + init_pcap_vo_intro(); + level waittill("tff_transition_intro_to_outro"); + } + + init_pcap_vo_outro(); + level waittill("tff_transition_outro_to_bigm"); + init_pcap_vo_bigm(); + return; + } + + if(istransientloaded("sanfran_bigm_tr")) + { + init_pcap_vo_bigm(); + return; + } +} + +//Function Number: 41 +init_pcap_vo_intro() +{ + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%sanfran_bridge_pitbull_intro_burke,"aud_start_sanfran_bridge_pitbull_into",::pcap_vo_sanfran_intro_burke); + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%sanfran_bridge_crash_pt3_burke,"aud_start_sanfran_bridge_crash_pt3_burke",::pcap_vo_sanfran_pitbull_crash_burke); +} + +//Function Number: 42 +init_pcap_vo_outro() +{ +} + +//Function Number: 43 +init_pcap_vo_bigm() +{ + soundscripts\_snd_pcap::snd_pcap_add_notetrack_mapping(%sf_goldengate_collapse_burke,"aud_start_SF_Boost_down_dialog",::pcap_vo_sanfran_boost_down_burke); +} + +//Function Number: 44 +pcap_vo_sanfran_intro_burke(param_00) +{ + level notify("aud_start_sanfran_bridge_pitbull_intro_vo_start"); + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("sfa_gdn_northsideisallclearwait",5.21); + level maps\_utility::delaythread(10.6,::maps\_utility::dialogue_queue,"sfa_crk_whatdoyougot"); + var_01 = 12.15; + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("sfa_gdn_hesrabbittingletsmove",var_01,"aud_start_sanfran_bridge_pitbull_intro_vo_done"); + soundscripts\_snd::snd_music_message("start_driving_music",var_01); +} + +//Function Number: 45 +pcap_vo_sanfran_pitbull_crash_burke(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("sfa_gdn_cormackourpitbullsoutof",3,"aud_sanfran_bridge_crash_vo_done"); + maps\_utility::delaythread(6,::soundscripts\_snd::snd_music_message,"mus_sfa_street_intro"); +} + +//Function Number: 46 +pcap_vo_sanfran_boost_down_burke(param_00) +{ + param_00 soundscripts\_snd_pcap::snd_pcap_play_vo_30fps("sfa_gdn_mitchellyoualright",0.27,"aud_sf_boost_down_dialog_vo_done"); +} \ No newline at end of file diff --git a/AW/PC/SP/maps/seoul.gsc b/AW/PC/maps/seoul.gsc similarity index 95% rename from AW/PC/SP/maps/seoul.gsc rename to AW/PC/maps/seoul.gsc index b4170c1..5a45025 100644 --- a/AW/PC/SP/maps/seoul.gsc +++ b/AW/PC/maps/seoul.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\seoul.gsc + * Decompiled File: seoul.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 30 - * Decompile Time: 494 ms - * Timestamp: 10/27/2023 1:55:52 AM + * Decompile Time: 433 ms + * Timestamp: 4/22/2024 2:36:07 AM *******************************************************************/ //Function Number: 1 @@ -480,17 +480,25 @@ seoul_cover_art() var_03 thread maps\_anim::anim_generic_first_frame(var_06,"gi_pose_mech"); var_07 = level.player maps\seoul_code_gangnam::generic_get_player_to_arms(var_03,"gi_pose"); maps\_utility::lerp_fov_overtime(0.1,50); - var_08 = level.player common_scripts\utility::waittill_any_return("x_pressed","b_pressed","a_pressed"); - switch(var_08) + for(;;) { - case "x_pressed": - break; + var_08 = level.player common_scripts\utility::waittill_any_return("x_pressed","b_pressed","a_pressed"); + switch(var_08) + { + case "x_pressed": + toggle_hide_guy(var_06); + break; + + case "b_pressed": + toggle_hide_guy(var_05); + break; + + case "a_pressed": + toggle_hide_guy(var_04); + break; + } - case "b_pressed": - break; - - case "a_pressed": - break; + wait(0.25); } } @@ -561,32 +569,43 @@ tff_get_zone_unload_notify(param_00) switch(param_00) { case "east_view": + var_01 = "pre_transients_intro_to_fob"; break; case "intro_building_descend": + var_01 = "pre_transients_fob_to_drone_seq_one"; break; case "drone_swarm_one": + var_01 = "pre_transients_truck_push_to_mall_office"; break; case "fob": + var_01 = "pre_transients_drone_seq_one_to_trusk_push"; break; case "truck_push_trans": + var_01 = "pre_transients_mall_office_to_sinkhole_subway"; break; case "mall_offices": + var_01 = "pre_transients_sinkhole_subway_to_subway"; break; case "sinkhole_subway": + var_01 = "pre_transients_subway_to_shopping_dist"; break; case "subway_trans": + var_01 = "pre_transients_shopping_dist_to_canal_overlook"; break; case "shopping_dist": + var_01 = "pre_transients_canal_overlook_to_riverwalk"; break; } + + return var_01; } //Function Number: 30 diff --git a/AW/PC/SP/maps/seoul_anim.gsc b/AW/PC/maps/seoul_anim.gsc similarity index 99% rename from AW/PC/SP/maps/seoul_anim.gsc rename to AW/PC/maps/seoul_anim.gsc index aad7a5f..dfd53b0 100644 --- a/AW/PC/SP/maps/seoul_anim.gsc +++ b/AW/PC/maps/seoul_anim.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\seoul_anim.gsc + * Decompiled File: seoul_anim.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 5 - * Decompile Time: 144 ms - * Timestamp: 10/27/2023 1:55:53 AM + * Decompile Time: 122 ms + * Timestamp: 4/22/2024 2:36:07 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/seoul_aud.gsc b/AW/PC/maps/seoul_aud.gsc similarity index 93% rename from AW/PC/SP/maps/seoul_aud.gsc rename to AW/PC/maps/seoul_aud.gsc index adce6ee..6e60dfe 100644 --- a/AW/PC/SP/maps/seoul_aud.gsc +++ b/AW/PC/maps/seoul_aud.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\seoul_aud.gsc + * Decompiled File: seoul_aud.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 301 - * Decompile Time: 4858 ms - * Timestamp: 10/27/2023 1:56:08 AM + * Decompile Time: 4321 ms + * Timestamp: 4/22/2024 2:36:20 AM *******************************************************************/ //Function Number: 1 @@ -469,30 +469,75 @@ zone_handler(param_00,param_01) switch(param_00) { case "enter_ext_crashshite": + if(var_02 == "int_crashsite") + { + level.aud.wood_debris = 1; + soundscripts\_audio_mix_manager::mm_add_submix("seo_foley_override"); + } break; case "exit_ext_crashsite": + if(var_03 == "int_crashsite") + { + level.aud.wood_debris = 0; + soundscripts\_audio_mix_manager::mm_clear_submix("seo_foley_override"); + } break; case "exit_int_crashsite": + if(var_03 == "ext_crashsite") + { + level.aud.wood_debris = 1; + soundscripts\_audio_mix_manager::mm_add_submix("seo_foley_override"); + } break; case "enter_int_crashsite": + if(var_02 == "ext_crashsite") + { + level.aud.wood_debris = 0; + soundscripts\_audio_mix_manager::mm_clear_submix("seo_foley_override"); + } break; case "enter_int_bedroom": + if(var_02 == "ext_crashsite") + { + level.aud.wood_debris = 0; + soundscripts\_audio_mix_manager::mm_clear_submix("seo_foley_override"); + } break; case "exit_int_bedroom": + if(var_03 == "ext_crashsite") + { + level.aud.wood_debris = 1; + soundscripts\_audio_mix_manager::mm_add_submix("seo_foley_override"); + } break; case "enter_int_mall": + if(param_01 == "ext_post_drone_swarm_alley") + { + music("enter_int_mall"); + } break; case "exit_ext_building_jump_01": + if(param_01 == "ext_building_jump_01") + { + } break; case "exit_ext_shopping_district": + if(param_01 == "ext_shopping_district") + { + if(!isdefined(level.aud.mus_exit_subway)) + { + level.aud.mus_exit_subway = 1; + music("exit_subway"); + } + } break; } } @@ -512,45 +557,103 @@ music_handler(param_00,param_01) switch(param_00) { case "mus_podcrash_done": + soundscripts\_audio::aud_set_music_submix(var_02,0); + soundscripts\_audio_music::mus_play("seo_mus_stealth_01",4); + level waittill("pod_deform"); + wait(2.25); + soundscripts\_audio::aud_set_music_submix(var_02 * 1.9,0); + soundscripts\_audio_music::mus_play("seo_mus_droppod_vista_stinger",0,1); + common_scripts\utility::flag_wait("vo_hotel_top_floor_ended"); + soundscripts\_audio::aud_set_music_submix(var_02,8); + soundscripts\_audio_music::mus_play("seo_mus_stealth_01",8,8); + common_scripts\utility::flag_wait("player_landed_in_hotel"); + soundscripts\_audio::aud_set_music_submix(var_02,0); + soundscripts\_audio_music::mus_stop(2); + wait(1); + var_03 = "npc_droppod_landing"; + var_04 = "stop_hotel_music_flag"; + common_scripts\utility::flag_init(var_04); + thread handle_stop_hotel_music_flag(var_03,var_04); + thread play_hotel_exit_adaptive_music(var_04); break; case "mus_seo_swarm_emp_wave_done": + wait(1); + soundscripts\_audio::aud_set_music_submix(var_02 * 0.75,0); + soundscripts\_audio_music::mus_play("seo_mus_firefight1_intro",8); break; case "enter_int_mall": + soundscripts\_audio::aud_set_music_submix(var_02,0); + soundscripts\_snd_common::snd_wait_for_enemies_see_player(); + soundscripts\_audio_music::mus_play("seo_mus_firefight1_body",1); break; case "exit_int_mall": + soundscripts\_audio::aud_set_music_submix(var_02 * 0.5,3); + soundscripts\_audio_music::mus_play("seo_mus_firefight1_outro",1); break; case "dialogue_atlas_meetup_done": + soundscripts\_audio::aud_set_music_submix(var_02,0); + soundscripts\_audio_music::mus_play("seo_mus_firefight2_intro",1); break; case "exit_subway": + thread soundscripts\_snd_common::snd_wait_for_enemies_aware("audio_enemies_aware"); + level waittill("audio_enemies_aware"); + soundscripts\_audio::aud_set_music_submix(var_02,0); + soundscripts\_audio_music::mus_play("seo_mus_firefight2_body",1); break; case "mus_sd_firefight_ending": + soundscripts\_audio_music::mus_play("seo_mus_firefight2_outtro",1); break; case "mus_canal_action_begin": + soundscripts\_audio::aud_set_music_submix(var_02,0); + if(!isdefined(param_01)) + { + param_01 = 0; + } + + wait(param_01); + soundscripts\_audio_music::mus_play("seo_mus_canal_intro"); break; case "mus_canal_swarm_chasing_off_razorback": + soundscripts\_audio::aud_set_music_submix(var_02 * 0.5); + soundscripts\_audio_music::mus_play("seo_mus_canal_vamp",20); break; case "mus_canal_combat_done": + soundscripts\_audio::aud_set_music_submix(var_02 * 0.5); + soundscripts\_audio_music::mus_play("seo_mus_canal_end",0,1); + wait(8); + soundscripts\_audio::aud_set_music_submix(var_02); + soundscripts\_audio_music::mus_play("seo_mus_stealth_01",3); break; case "mus_will_death_plant_charge_part2": + soundscripts\_audio::aud_set_music_submix(var_02 * 1.3,0); + wait(4); + soundscripts\_audio_mix_manager::mm_add_submix("seo_other_side_mix",4); + wait(4); + soundscripts\_audio_music::mus_play("seo_mus_other_side",0); break; case "mus_finale_wp_explo_01": + soundscripts\_audio_music::mus_stop(5); break; case "mus_mitchels_arm": + soundscripts\_audio::aud_set_music_submix(var_02,0); + wait(8); + soundscripts\_audio_music::mus_play("seo_mus_mitchels_arm",0); break; default: + soundscripts\_audio::aud_print_warning("\tMUSIC MESSAGE NOT HANDLED: " + param_00); break; } } @@ -2819,76 +2922,138 @@ e3_end_logo() seoul_foley_override_handler() { level.player endon("death"); - level.player waittill("foley",var_00,var_01,var_02); - if(isdefined(level.aud.wood_debris) && level.aud.wood_debris == 1) + for(;;) { - switch(var_00) + level.player waittill("foley",var_00,var_01,var_02); + if(isdefined(level.aud.wood_debris) && level.aud.wood_debris == 1) { - case "stationarycrouchscuff": - break; + switch(var_00) + { + case "stationarycrouchscuff": + soundscripts\_snd_playsound::snd_play_2d("step_scrape_plr_wood_debris"); + break; + + case "stationaryscuff": + soundscripts\_snd_playsound::snd_play_2d("step_scrape_plr_wood_debris"); + break; + + case "crouchscuff": + soundscripts\_snd_playsound::snd_play_2d("step_scrape_plr_wood_debris"); + break; + + case "runscuff": + soundscripts\_snd_playsound::snd_play_2d("step_scrape_plr_wood_debris"); + break; + + case "sprintscuff": + soundscripts\_snd_playsound::snd_play_2d("step_scrape_plr_wood_debris"); + break; + + case "prone": + if(var_02) + { + soundscripts\_snd_playsound::snd_play_2d("step_prone_plr_wood_debris_l"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("step_prone_plr_wood_debris_r"); + } + break; + + case "crouchwalk": + if(var_02) + { + soundscripts\_snd_playsound::snd_play_2d("step_walk_plr_wood_debris_l"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("step_walk_plr_wood_debris_r"); + } + break; + + case "crouchrun": + if(var_02) + { + soundscripts\_snd_playsound::snd_play_2d("step_run_plr_wood_debris_l"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("step_run_plr_wood_debris_r"); + } + break; + + case "walk": + if(var_02) + { + soundscripts\_snd_playsound::snd_play_2d("step_walk_plr_wood_debris_l"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("step_walk_plr_wood_debris_r"); + } + break; + + case "run": + if(var_02) + { + soundscripts\_snd_playsound::snd_play_2d("step_run_plr_wood_debris_l"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("step_run_plr_wood_debris_r"); + } + break; + + case "sprint": + if(var_02) + { + soundscripts\_snd_playsound::snd_play_2d("step_sprint_plr_wood_debris_l"); + } + else + { + soundscripts\_snd_playsound::snd_play_2d("step_sprint_plr_wood_debris_r"); + } + break; + + case "jump": + break; + + case "lightland": + soundscripts\_snd_playsound::snd_play_2d("step_land_plr_lt_wood_debris"); + break; + + case "mediumland": + soundscripts\_snd_playsound::snd_play_2d("step_land_plr_med_wood_debris"); + break; + + case "heavyland": + soundscripts\_snd_playsound::snd_play_2d("step_land_plr_hv_wood_debris"); + break; + + case "damageland": + soundscripts\_snd_playsound::snd_play_2d("step_land_plr_dmg_wood_debris"); + break; + + case "mantleuphigh": + break; + + case "mantleupmedium": + break; + + case "mantleuplow": + break; + + case "mantleoverhigh": + break; + + case "mantleovermedium": + break; + + case "mantleoverlow": + break; + } - case "stationaryscuff": - break; - - case "crouchscuff": - break; - - case "runscuff": - break; - - case "sprintscuff": - break; - - case "prone": - break; - - case "crouchwalk": - break; - - case "crouchrun": - break; - - case "walk": - break; - - case "run": - break; - - case "sprint": - break; - - case "jump": - break; - - case "lightland": - break; - - case "mediumland": - break; - - case "heavyland": - break; - - case "damageland": - break; - - case "mantleuphigh": - break; - - case "mantleupmedium": - break; - - case "mantleuplow": - break; - - case "mantleoverhigh": - break; - - case "mantleovermedium": - break; - - case "mantleoverlow": - break; + continue; } } } \ No newline at end of file diff --git a/AW/PC/SP/maps/seoul_code_drop_pod.gsc b/AW/PC/maps/seoul_code_drop_pod.gsc similarity index 99% rename from AW/PC/SP/maps/seoul_code_drop_pod.gsc rename to AW/PC/maps/seoul_code_drop_pod.gsc index 2ff1c6e..acf4d53 100644 --- a/AW/PC/SP/maps/seoul_code_drop_pod.gsc +++ b/AW/PC/maps/seoul_code_drop_pod.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\seoul_code_drop_pod.gsc + * Decompiled File: seoul_code_drop_pod.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 42 - * Decompile Time: 699 ms - * Timestamp: 10/27/2023 1:56:10 AM + * Decompile Time: 598 ms + * Timestamp: 4/22/2024 2:36:22 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/seoul_code_gangnam.gsc b/AW/PC/maps/seoul_code_gangnam.gsc similarity index 99% rename from AW/PC/SP/maps/seoul_code_gangnam.gsc rename to AW/PC/maps/seoul_code_gangnam.gsc index d4a6177..ce29719 100644 --- a/AW/PC/SP/maps/seoul_code_gangnam.gsc +++ b/AW/PC/maps/seoul_code_gangnam.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\seoul_code_gangnam.gsc + * Decompiled File: seoul_code_gangnam.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 471 - * Decompile Time: 7715 ms - * Timestamp: 10/27/2023 1:56:34 AM + * Decompile Time: 6734 ms + * Timestamp: 4/22/2024 2:36:43 AM *******************************************************************/ //Function Number: 1 @@ -1131,12 +1131,12 @@ handle_land_assist_safe_descent_training() while(!common_scripts\utility::flag("begin_looping_fob_functions")) { thread maps\_utility::hintdisplayhandler("x_for_hover_alt"); - while(!common_scripts\utility::flag("begin_looping_fob_functions") && level.player buttonpressed("BUTTON_X")) + while(level.player buttonpressed("BUTTON_X")) { wait 0.05; } - while(!common_scripts\utility::flag("begin_looping_fob_functions") && level.player.current_velocity > -400) + while(level.player.current_velocity > -400) { wait 0.05; } @@ -1145,7 +1145,6 @@ handle_land_assist_safe_descent_training() } common_scripts\utility::flag_clear("ignore_land_assist_hint"); - level.player notify("HintDisplayHandlerEnd"); } //Function Number: 57 diff --git a/AW/PC/SP/maps/seoul_code_shopping_district.gsc b/AW/PC/maps/seoul_code_shopping_district.gsc similarity index 99% rename from AW/PC/SP/maps/seoul_code_shopping_district.gsc rename to AW/PC/maps/seoul_code_shopping_district.gsc index 6472d4a..ec2a8ed 100644 --- a/AW/PC/SP/maps/seoul_code_shopping_district.gsc +++ b/AW/PC/maps/seoul_code_shopping_district.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\seoul_code_shopping_district.gsc + * Decompiled File: seoul_code_shopping_district.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 233 - * Decompile Time: 4008 ms - * Timestamp: 10/27/2023 1:56:46 AM + * Decompile Time: 3402 ms + * Timestamp: 4/22/2024 2:36:53 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/seoul_drop_pod_credits.gsc b/AW/PC/maps/seoul_drop_pod_credits.gsc similarity index 95% rename from AW/PC/SP/maps/seoul_drop_pod_credits.gsc rename to AW/PC/maps/seoul_drop_pod_credits.gsc index d374e54..ef6e053 100644 --- a/AW/PC/SP/maps/seoul_drop_pod_credits.gsc +++ b/AW/PC/maps/seoul_drop_pod_credits.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\seoul_drop_pod_credits.gsc + * Decompiled File: seoul_drop_pod_credits.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 12 - * Decompile Time: 205 ms - * Timestamp: 10/27/2023 1:56:47 AM + * Decompile Time: 194 ms + * Timestamp: 4/22/2024 2:36:54 AM *******************************************************************/ //Function Number: 1 @@ -16,15 +16,7 @@ credits_start() level.used_credits = []; level.credits_alpha = 0.85; var_00 = 16; - if(level.console) - { - var_01 = [33,110,var_00 + 2,"left","middle","left","middle"]; - } - else - { - var_01 = [76,110,var_01 + 2,"left","middle","left","middle"]; - } - + var_01 = [-350,110,var_00 + 2,"left","middle"]; var_02 = [-350,-110,var_00,"left","middle"]; var_03 = [300,-110,var_00,"right","middle"]; var_04 = [-350,150,var_00,"left","middle"]; @@ -110,7 +102,7 @@ show_exec_title_credits(param_00) get_title_credit(param_00,param_01,param_02,param_03) { var_04 = 18; - var_05 = maps\_shg_design_tools::get_standard_glow_text(param_00[0],param_00[1],param_00[2],param_00[3],param_00[4],param_02 * -1,(0.75,0.85,0.87),(0.25,0.25,0.3),param_00[5],param_00[6]); + var_05 = maps\_shg_design_tools::get_standard_glow_text(param_00[0],param_00[1],param_00[2],param_00[3],param_00[4],param_02 * -1,(0.75,0.85,0.87),(0.25,0.25,0.3)); var_05.textstring = param_01; var_05.alpha = 0; var_05 fadeovertime(1.25); diff --git a/AW/PC/SP/maps/seoul_drop_pod_qte.gsc b/AW/PC/maps/seoul_drop_pod_qte.gsc similarity index 96% rename from AW/PC/SP/maps/seoul_drop_pod_qte.gsc rename to AW/PC/maps/seoul_drop_pod_qte.gsc index 569ab30..4f1d3c1 100644 --- a/AW/PC/SP/maps/seoul_drop_pod_qte.gsc +++ b/AW/PC/maps/seoul_drop_pod_qte.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\seoul_drop_pod_qte.gsc + * Decompiled File: seoul_drop_pod_qte.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 63 ms - * Timestamp: 10/27/2023 1:56:48 AM + * Decompile Time: 54 ms + * Timestamp: 4/22/2024 2:36:55 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/seoul_exo_punch_door.gsc b/AW/PC/maps/seoul_exo_punch_door.gsc similarity index 97% rename from AW/PC/SP/maps/seoul_exo_punch_door.gsc rename to AW/PC/maps/seoul_exo_punch_door.gsc index 6d9b125..f46298c 100644 --- a/AW/PC/SP/maps/seoul_exo_punch_door.gsc +++ b/AW/PC/maps/seoul_exo_punch_door.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\seoul_exo_punch_door.gsc + * Decompiled File: seoul_exo_punch_door.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 11 - * Decompile Time: 193 ms - * Timestamp: 10/27/2023 1:56:49 AM + * Decompile Time: 185 ms + * Timestamp: 4/22/2024 2:36:55 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/seoul_fx.gsc b/AW/PC/maps/seoul_fx.gsc similarity index 99% rename from AW/PC/SP/maps/seoul_fx.gsc rename to AW/PC/maps/seoul_fx.gsc index c6430c0..c210227 100644 --- a/AW/PC/SP/maps/seoul_fx.gsc +++ b/AW/PC/maps/seoul_fx.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/seoul_fx.gsc + * Decompiled File: seoul_fx.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 124 - * Decompile Time: 2028 ms - * Timestamp: 10/27/2023 2:02:40 AM + * Decompile Time: 1746 ms + * Timestamp: 4/22/2024 2:37:01 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/seoul_lighting.gsc b/AW/PC/maps/seoul_lighting.gsc similarity index 99% rename from AW/PC/SP/maps/seoul_lighting.gsc rename to AW/PC/maps/seoul_lighting.gsc index 6ab07a8..0ee116e 100644 --- a/AW/PC/SP/maps/seoul_lighting.gsc +++ b/AW/PC/maps/seoul_lighting.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\seoul_lighting.gsc + * Decompiled File: seoul_lighting.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 189 - * Decompile Time: 3241 ms - * Timestamp: 10/27/2023 1:56:59 AM + * Decompile Time: 2761 ms + * Timestamp: 4/22/2024 2:37:10 AM *******************************************************************/ //Function Number: 1 @@ -995,16 +995,21 @@ motion_blur_sink_hole_zipline() //Function Number: 58 land_assist_effect() { - var_00 = level.player common_scripts\utility::waittill_any_return("full_fall","land_after_full_fall"); - if(isdefined(var_00)) + for(;;) { - switch(var_00) + var_00 = level.player common_scripts\utility::waittill_any_return("full_fall","land_after_full_fall"); + if(isdefined(var_00)) { - case "full_fall": - break; - - case "land_after_full_fall": - break; + switch(var_00) + { + case "full_fall": + enable_motion_blur_rotation(); + break; + + case "land_after_full_fall": + disable_motion_blur(); + break; + } } } } diff --git a/AW/PC/SP/maps/seoul_precache.gsc b/AW/PC/maps/seoul_precache.gsc similarity index 96% rename from AW/PC/SP/maps/seoul_precache.gsc rename to AW/PC/maps/seoul_precache.gsc index fbcbac0..1067bce 100644 --- a/AW/PC/SP/maps/seoul_precache.gsc +++ b/AW/PC/maps/seoul_precache.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps/seoul_precache.gsc + * Decompiled File: seoul_precache.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 15 ms - * Timestamp: 10/27/2023 2:02:40 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:37:10 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/seoul_transients_cg.gsc b/AW/PC/maps/seoul_transients_cg.gsc similarity index 99% rename from AW/PC/SP/maps/seoul_transients_cg.gsc rename to AW/PC/maps/seoul_transients_cg.gsc index 92b9cba..a5fff68 100644 --- a/AW/PC/SP/maps/seoul_transients_cg.gsc +++ b/AW/PC/maps/seoul_transients_cg.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\seoul_transients_cg.gsc + * Decompiled File: seoul_transients_cg.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 28 - * Decompile Time: 492 ms - * Timestamp: 10/27/2023 1:57:01 AM + * Decompile Time: 421 ms + * Timestamp: 4/22/2024 2:37:11 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/maps/seoul_vo.gsc b/AW/PC/maps/seoul_vo.gsc similarity index 99% rename from AW/PC/SP/maps/seoul_vo.gsc rename to AW/PC/maps/seoul_vo.gsc index 7ce658c..35a5d77 100644 --- a/AW/PC/SP/maps/seoul_vo.gsc +++ b/AW/PC/maps/seoul_vo.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\seoul_vo.gsc + * Decompiled File: seoul_vo.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 72 - * Decompile Time: 1183 ms - * Timestamp: 10/27/2023 1:57:05 AM + * Decompile Time: 1017 ms + * Timestamp: 4/22/2024 2:37:15 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/maps/ss_util.gsc b/AW/PC/maps/ss_util.gsc new file mode 100644 index 0000000..c213c61 --- /dev/null +++ b/AW/PC/maps/ss_util.gsc @@ -0,0 +1,509 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: ss_util.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 27 + * Decompile Time: 417 ms + * Timestamp: 4/22/2024 2:37:16 AM +*******************************************************************/ + +//Function Number: 1 +fake_death_over_time(param_00,param_01,param_02) +{ + self endon("death"); + wait(randomintrange(param_01,param_02)); + if(isdefined(self) && isai(self) && isalive(self)) + { + if(param_00 == "bullet") + { + fake_death_bullet(); + return; + } + + fake_death_bullet(); + } +} + +//Function Number: 2 +fake_death_bullet(param_00) +{ + self endon("death"); + if(!issentient(self) || !isalive(self)) + { + return; + } + + if(isdefined(self.bloody_death) && self.bloody_death) + { + return; + } + + self.bloody_death = 1; + if(isdefined(param_00)) + { + wait(randomfloat(param_00)); + } + + var_01 = []; + var_01[0] = "j_hip_le"; + var_01[1] = "j_hip_ri"; + var_01[2] = "j_head"; + var_01[3] = "j_spine4"; + var_01[4] = "j_elbow_le"; + var_01[5] = "j_elbow_ri"; + var_01[6] = "j_clavicle_le"; + var_01[7] = "j_clavicle_ri"; + for(var_02 = 0;var_02 < 3 + randomint(5);var_02++) + { + var_03 = randomintrange(0,var_01.size); + thread fake_death_bullet_fx(var_01[var_03],undefined); + wait(randomfloat(0.1)); + } + + self dodamage(self.health + 50,self.origin); +} + +//Function Number: 3 +fake_death_bullet_fx(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = level._effect["flesh_hit"]; + } + + playfxontag(param_01,self,param_00); +} + +//Function Number: 4 +array_setgoalvolume(param_00,param_01) +{ + var_02 = getent(param_01,"targetname"); + wait(0.05); + foreach(var_04 in param_00) + { + if(isdefined(var_04) && isai(var_04)) + { + var_04 cleargoalvolume(); + var_04 setgoalvolumeauto(var_02); + } + } +} + +//Function Number: 5 +radio_dialogue_queue_single(param_00) +{ + maps\_shg_utility::conversation_start(); + maps\_utility::radio_dialogue(param_00); + maps\_shg_utility::conversation_stop(); +} + +//Function Number: 6 +dialogue_queue_single(param_00) +{ + maps\_shg_utility::conversation_start(); + maps\_utility::dialogue_queue(param_00); + maps\_shg_utility::conversation_stop(); +} + +//Function Number: 7 +dialogue_random_line(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + var_08 = []; + if(isdefined(param_00)) + { + var_08[var_08.size] = param_00; + } + + if(isdefined(param_01)) + { + var_08[var_08.size] = param_01; + } + + if(isdefined(param_02)) + { + var_08[var_08.size] = param_02; + } + + if(isdefined(param_03)) + { + var_08[var_08.size] = param_03; + } + + if(isdefined(param_04)) + { + var_08[var_08.size] = param_04; + } + + if(isdefined(param_05)) + { + var_08[var_08.size] = param_05; + } + + if(isdefined(param_06)) + { + var_08[var_08.size] = param_06; + } + + if(isdefined(param_07)) + { + var_08[var_08.size] = param_07; + } + + if(!isdefined(level.dialogue_random_last_line)) + { + level.dialogue_random_last_line = undefined; + } + + var_09 = 0; + while(!var_09) + { + var_0A = common_scripts\utility::random(var_08); + if(isdefined(level.dialogue_random_last_line) && level.dialogue_random_last_line == var_0A) + { + continue; + } + else + { + if(isdefined(self) && isai(self)) + { + dialogue_queue_single(var_0A); + } + else + { + radio_dialogue_queue_single(var_0A); + } + + level.dialogue_random_last_line = var_0A; + var_09 = 1; + } + + wait(0.05); + } + + var_09 = 0; +} + +//Function Number: 8 +hint_neverbreak() +{ + return 0; +} + +//Function Number: 9 +setup_ignore_suppression_triggers() +{ + var_00 = getentarray("trigger_ignore_suppression","targetname"); + foreach(var_02 in var_00) + { + level thread ignore_suppression_trigger_think(var_02); + } +} + +//Function Number: 10 +ignore_suppression_trigger_think(param_00) +{ + for(;;) + { + param_00 waittill("trigger",var_01); + if(isdefined(var_01) && isai(var_01) && !var_01 isbadguy()) + { + var_01 thread ignore_suppression_trigger_ai_think(param_00); + } + } +} + +//Function Number: 11 +ignore_suppression_trigger_ai_think(param_00) +{ + self notify("ignore_suppression_trigger_ai_think_stop"); + self endon("ignore_suppression_trigger_ai_think_stop"); + self endon("death"); + maps\_utility::set_ignoresuppression(1); + while(self istouching(param_00)) + { + wait(0.5); + } + + maps\_utility::set_ignoresuppression(0); +} + +//Function Number: 12 +add_hint_background(param_00) +{ + if(isdefined(param_00)) + { + level.hintbackground = maps\_hud_util::createicon("popmenu_bg",650,50); + } + else + { + level.hintbackground = maps\_hud_util::createicon("popmenu_bg",650,30); + } + + level.hintbackground.hidewheninmenu = 1; + level.hintbackground maps\_hud_util::setpoint("TOP",undefined,0,110); + level.hintbackground.alpha = 0.5; + level.hintbackground.sort = 0; +} + +//Function Number: 13 +clear_hints() +{ + if(isdefined(level.hintelem)) + { + level.hintelem maps\_hud_util::destroyelem(); + } + + if(isdefined(level.iconelem)) + { + level.iconelem maps\_hud_util::destroyelem(); + } + + if(isdefined(level.iconelem2)) + { + level.iconelem2 maps\_hud_util::destroyelem(); + } + + if(isdefined(level.iconelem3)) + { + level.iconelem3 maps\_hud_util::destroyelem(); + } + + if(isdefined(level.hintbackground)) + { + level.hintbackground maps\_hud_util::destroyelem(); + } + + level notify("clearing_hints"); +} + +//Function Number: 14 +hint_with_background(param_00,param_01,param_02) +{ + clear_hints(); + level endon("clearing_hints"); + add_hint_background(param_02); + level.hintelem = maps\_hud_util::createfontstring("default",2); + level.hintelem.hidewheninmenu = 1; + level.hintelem maps\_hud_util::setpoint("TOP",undefined,0,110); + level.hintelem.sort = 0.5; + level.high_priority_hint = 1; + level.hintelem settext(param_00); + if(isdefined(param_01)) + { + wait(param_01); + } + else + { + return; + } + + level.high_priority_hint = undefined; + level.hintelem fadeovertime(0.5); + level.hintelem.alpha = 0; + wait(0.5); + clear_hints(); +} + +//Function Number: 15 +dog_monitor_goal_ent(param_00,param_01) +{ + level endon("special_op_terminated"); + self endon("death"); + var_02 = 30; + var_03 = self.meleeattackdist + var_02; + for(;;) + { + wait(0.05); + if(dog_enemy_laststand_check()) + { + continue; + } + + if(isdefined(self.enemy) && self.movemode == "stop") + { + if(get_next_allow_melee_time(self) > gettime()) + { + continue; + } + + self setgoalentity(param_01); + maps\_utility::set_ignoreall(1); + continue; + } + + if(isdefined(self.ignoreall) && self.ignoreall) + { + var_04 = getnodesinradiussorted(self.favoriteenemy.origin,16,0,64,"Path"); + if(isdefined(var_04) && var_04.size > 0) + { + self setgoalentity(self.favoriteenemy); + maps\_utility::set_ignoreall(0); + continue; + } + + if(maps\_utility::is_coop() && distance2d(self.origin,param_01.origin) < 125) + { + var_05 = get_different_favoriteenemy(); + if(var_05 so_can_player_see_dog(self)) + { + dog_swap_enemy(); + maps\_utility::set_ignoreall(0); + } + } + } + } +} + +//Function Number: 16 +so_can_player_see_dog(param_00) +{ + var_01 = self geteye(); + var_02 = param_00 geteye(); + if(sighttracepassed(var_01,var_02,1,self,param_00)) + { + return 1; + } + + return 0; +} + +//Function Number: 17 +get_next_allow_melee_time(param_00) +{ + var_01 = 0; + if(isdefined(self.enemy.dogattackallowtime)) + { + var_01 = self.enemy.dogattackallowtime + 2500; + } + + return var_01; +} + +//Function Number: 18 +dog_enemy_laststand_check() +{ + if(!maps\_utility::is_coop()) + { + return 0; + } + + if(isdefined(self.favoriteenemy.laststand) && self.favoriteenemy.laststand) + { + dog_swap_enemy(); + return 1; + } + + return 0; +} + +//Function Number: 19 +dog_swap_enemy() +{ + if(!maps\_utility::is_coop()) + { + return; + } + + var_00 = get_different_favoriteenemy(); + self setgoalentity(var_00); + maps\_utility::set_favoriteenemy(var_00); +} + +//Function Number: 20 +get_different_favoriteenemy() +{ + var_00 = self.favoriteenemy != level.player2; + return level.players[var_00]; +} + +//Function Number: 21 +ai_wave_spawn(param_00,param_01) +{ + param_00 = getentarray(param_00,"targetname"); + var_02 = []; + if(!isdefined(param_01)) + { + param_01 = param_00.size; + } + + param_00 = common_scripts\utility::array_randomize(param_00); + for(var_03 = 0;var_03 < param_01;var_03++) + { + var_04 = param_00[var_03] maps\_utility::spawn_ai(1); + var_02[var_02.size] = var_04; + wait(0.1); + param_00[var_03].count = 1; + } + + return var_02; +} + +//Function Number: 22 +ai_wave_setgoalvolume(param_00,param_01) +{ + param_01 = getent(param_01,"targetname"); + wait(0.05); + foreach(var_03 in param_00) + { + if(isdefined(var_03) && isalive(var_03) && isai(var_03)) + { + var_03 cleargoalvolume(); + var_03 setgoalvolumeauto(param_01); + } + } +} + +//Function Number: 23 +ai_wave_monitor_threshold(param_00,param_01,param_02) +{ + level endon(param_02); + for(;;) + { + param_00 = maps\_utility::array_removedead(param_00); + if(param_00.size <= param_01) + { + if(isdefined(param_02)) + { + level notify(param_02); + } + } + + wait(0.1); + } +} + +//Function Number: 24 +ai_wave_monitor_retreat(param_00,param_01,param_02) +{ + level waittill(param_01); + array_setgoalvolume(param_00,param_02); +} + +//Function Number: 25 +ai_wave_spawn_volume_threshold_retreat(param_00,param_01,param_02,param_03,param_04,param_05) +{ + var_06 = ai_wave_spawn(param_00,param_01); + ai_wave_setgoalvolume(var_06,param_02); + ai_wave_monitor_threshold(var_06,param_03,param_04); + ai_wave_monitor_retreat(var_06,param_04,param_05); + return var_06; +} + +//Function Number: 26 +ai_wave_spawn_volume_threshold(param_00,param_01,param_02,param_03,param_04,param_05) +{ + var_06 = ai_wave_spawn(param_00,param_01); + ai_wave_setgoalvolume(var_06,param_02); + ai_wave_monitor_threshold(var_06,param_03,param_04); + ai_wave_monitor_retreat(var_06,param_04,param_05); + return var_06; +} + +//Function Number: 27 +ai_wave_spawn_volume(param_00,param_01,param_02) +{ + var_03 = ai_wave_spawn(param_00,param_01); + ai_wave_setgoalvolume(var_03,param_02); + return var_03; +} \ No newline at end of file diff --git a/AW/PC/mptype/mptype_ally_ghillie_urban.gsc b/AW/PC/mptype/mptype_ally_ghillie_urban.gsc new file mode 100644 index 0000000..13d5790 --- /dev/null +++ b/AW/PC/mptype/mptype_ally_ghillie_urban.gsc @@ -0,0 +1,15 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mptype_ally_ghillie_urban.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 31 ms + * Timestamp: 4/22/2024 2:03:30 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + character\mp_character_ally_ghillie_urban::main(); +} \ No newline at end of file diff --git a/AW/PC/MP/mptype/mptype_cloak_test.gsc b/AW/PC/mptype/mptype_cloak_test.gsc similarity index 73% rename from AW/PC/MP/mptype/mptype_cloak_test.gsc rename to AW/PC/mptype/mptype_cloak_test.gsc index 048fa04..2832058 100644 --- a/AW/PC/MP/mptype/mptype_cloak_test.gsc +++ b/AW/PC/mptype/mptype_cloak_test.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: mptype/mptype_cloak_test.gsc + * Decompiled File: mptype_cloak_test.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 13 ms - * Timestamp: 10/27/2023 1:48:19 AM + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 2:03:30 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/mptype/mptype_opforce_ghillie_urban.gsc b/AW/PC/mptype/mptype_opforce_ghillie_urban.gsc new file mode 100644 index 0000000..c0aaf87 --- /dev/null +++ b/AW/PC/mptype/mptype_opforce_ghillie_urban.gsc @@ -0,0 +1,15 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: mptype_opforce_ghillie_urban.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 2:03:31 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + character\mp_character_op_ghillie_urban::main(); +} \ No newline at end of file diff --git a/AW/PC/SP/soundscripts/_ambient.gsc b/AW/PC/soundscripts/_ambient.gsc similarity index 95% rename from AW/PC/SP/soundscripts/_ambient.gsc rename to AW/PC/soundscripts/_ambient.gsc index ef764f0..fec75e3 100644 --- a/AW/PC/SP/soundscripts/_ambient.gsc +++ b/AW/PC/soundscripts/_ambient.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: soundscripts/_ambient.gsc + * Decompiled File: _ambient.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 9 - * Decompile Time: 150 ms - * Timestamp: 10/27/2023 2:02:41 AM + * Decompile Time: 107 ms + * Timestamp: 4/22/2024 2:03:33 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/soundscripts/_audio.gsc b/AW/PC/soundscripts/_audio.gsc similarity index 96% rename from AW/PC/SP/soundscripts/_audio.gsc rename to AW/PC/soundscripts/_audio.gsc index 9658d19..ba0d358 100644 --- a/AW/PC/SP/soundscripts/_audio.gsc +++ b/AW/PC/soundscripts/_audio.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: soundscripts/_audio.gsc + * Decompiled File: _audio.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 123 - * Decompile Time: 1927 ms - * Timestamp: 10/27/2023 2:02:47 AM + * Decompile Time: 1402 ms + * Timestamp: 4/22/2024 2:03:38 AM *******************************************************************/ //Function Number: 1 @@ -1344,21 +1344,44 @@ aud_print_3d_on_ent(param_00,param_01,param_02,param_03,param_04) switch(var_0A) { case "red": + var_0A = var_06; break; case "white": + var_0A = var_05; break; case "blue": + var_0A = var_08; break; case "green": + var_0A = var_07; break; default: + var_0A = var_05; break; } } + + if(isdefined(param_04)) + { + thread audx_print_3d_timer(param_04); + } + + self endon("death"); + self endon("aud_stop_3D_print"); + while(isdefined(self)) + { + var_0B = param_00; + if(isdefined(param_03)) + { + var_0B = var_0B + self [[ param_03 ]](); + } + + wait(0.05); + } } } @@ -2025,9 +2048,14 @@ deprecated__audio_msg_handler(param_00,param_01) switch(param_00) { case "level_fade_to_black": + var_03 = param_01[0]; + var_04 = param_01[1]; + wait(var_03); + soundscripts\_audio_mix_manager::mm_start_preset("mute_all",var_04); break; case "generic_building_bomb_shake": + level.player soundscripts\_snd_playsound::snd_play("sewer_bombs"); break; case "start_player_slide_trigger": @@ -2043,23 +2071,63 @@ deprecated__audio_msg_handler(param_00,param_01) break; case "DEPRECATED_aud_play_sound_at": + deprecated_aud_play_sound_at(param_01.alias,param_01.pos); break; case "aud_play_dynamic_explosion": + if(isdefined(param_01.spread_width)) + { + var_05 = param_01.spread_width; + } + else + { + var_05 = undefined; + } + + if(isdefined(param_01.rear_dist)) + { + var_06 = param_01.rear_dist; + } + else + { + var_06 = undefined; + } + + if(isdefined(param_01.velocity)) + { + var_07 = param_01.velocity; + } + else + { + var_07 = undefined; + } + + aud_play_dynamic_explosion(param_01.explosion_pos,param_01.left_alias,param_01.right_alias,var_05,var_06,var_07); break; case "DEPRECATED_aud_play_conversation": + deprecated_aud_play_conversation(param_00,param_01); break; case "xm25_contact_explode": + if(soundexists("xm25_proj_explo")) + { + var_08 = param_01; + thread common_scripts\utility::play_sound_in_space("xm25_proj_explo",var_08); + } break; case "light_flicker_on": + var_09 = param_01; + deprecated_aud_handle_flickering_light(var_09); break; default: + var_02 = 0; break; } + + return var_02; } //Function Number: 122 @@ -2071,11 +2139,19 @@ deprecated_aud_handle_flickering_light(param_00) case "furniture_lamp_table1": case "com_cafe_light_part1_off": case "furniture_lamp_floor1_off": + var_01 = 1; + if(soundexists("paris_lamplight_flicker")) + { + thread common_scripts\utility::play_sound_in_space("paris_lamplight_flicker",param_00.origin); + } break; default: + var_01 = 0; break; } + + return var_01; } //Function Number: 123 diff --git a/AW/PC/SP/soundscripts/_audio_dynamic_ambi.gsc b/AW/PC/soundscripts/_audio_dynamic_ambi.gsc similarity index 83% rename from AW/PC/SP/soundscripts/_audio_dynamic_ambi.gsc rename to AW/PC/soundscripts/_audio_dynamic_ambi.gsc index c16ab57..b6c173a 100644 --- a/AW/PC/SP/soundscripts/_audio_dynamic_ambi.gsc +++ b/AW/PC/soundscripts/_audio_dynamic_ambi.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: soundscripts/_audio_dynamic_ambi.gsc + * Decompiled File: _audio_dynamic_ambi.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 54 - * Decompile Time: 56739 ms - * Timestamp: 10/27/2023 2:05:38 AM + * Decompile Time: 647 ms + * Timestamp: 4/22/2024 2:03:40 AM *******************************************************************/ //Function Number: 1 @@ -551,6 +551,93 @@ dambx_play_component_loops(param_00,param_01,param_02,param_03,param_04) } //Function Number: 27 +dambx_get_component_data(param_00,param_01,param_02) +{ + var_03 = spawnstruct(); + var_03.using_oneshots_or_loops = 0; + if(!isdefined(param_02["single_loops"])) + { + var_03.single_loops = 0; + } + else + { + var_03.single_loops = 1; + } + + if(isdefined(param_02["oneshots"]) || isdefined(param_02["loops"])) + { + var_03.using_oneshots_or_loops = 1; + if(!isdefined(param_02["radius"])) + { + param_02["radius"] = [0,0.01]; + } + + var_03.min_radius = min(param_02["radius"][0],param_02["radius"][1]); + var_03.max_radius = max(param_02["radius"][0],param_02["radius"][1]); + if(isarray(param_02["event_time"])) + { + var_03.min_time = min(param_02["event_time"][0],param_02["event_time"][1]); + var_03.max_time = max(param_02["event_time"][0],param_02["event_time"][1]); + } + + if(isarray(param_02["first_event"])) + { + var_03.first_event = 1; + var_03.first_event_min = min(param_02["first_event"][0],param_02["first_event"][1]); + var_03.first_event_max = max(param_02["first_event"][0],param_02["first_event"][1]); + } + + if(isarray(param_02["pitch"])) + { + var_03.min_pitch = min(param_02["pitch"][0],param_02["pitch"][1]); + var_03.max_pitch = max(param_02["pitch"][0],param_02["pitch"][1]); + } + + if(isarray(param_02["travel_time"])) + { + var_03.min_trav_time = min(param_02["travel_time"][0],param_02["travel_time"][1]); + var_03.max_trav_time = max(param_02["travel_time"][0],param_02["travel_time"][1]); + if(isarray(param_02["delta"])) + { + var_03.min_delta = min(param_02["delta"][0],param_02["delta"][1]); + var_03.max_delta = max(param_02["delta"][0],param_02["delta"][1]); + } + else + { + var_03.min_delta_angle = min(param_02["delta_angle"][0],param_02["delta_angle"][1]); + var_03.max_delta_angle = max(param_02["delta_angle"][0],param_02["delta_angle"][1]); + } + } + + if(isarray(param_02["pitch_time"])) + { + var_03.min_pitch_time = min(param_02["pitch_time"][0],param_02["pitch_time"][1]); + var_03.max_pitch_time = max(param_02["pitch_time"][0],param_02["pitch_time"][1]); + } + + if(isdefined(param_02["cone"])) + { + var_03.min_start_angle = min(param_02["cone"][0],param_02["cone"][1]); + var_03.max_start_angle = max(param_02["cone"][0],param_02["cone"][1]); + } + } + else + { + var_03.using_oneshots_or_loops = 0; + } + + var_03.using_entity = 0; + if(isdefined(level._audio.damb.playing[param_00][param_01]["entity"])) + { + var_03.using_entity = 1; + var_03.ent = level._audio.damb.playing[param_00][param_01]["entity"]; + var_03.mode = level._audio.damb.playing[param_00][param_01]["mode"]; + } + + var_03.prob_scale = level._audio.damb.playing[param_00][param_01]["prob_scale"]; + return var_03; +} + //Function Number: 28 dambx_monitor_single_loops_on_ent(param_00,param_01,param_02) { @@ -1313,8 +1400,7 @@ dambx_get_loop_def_from_string_table_internal(param_00,param_01) var_09 = packedtablesectionlookup(param_00,"loop_defs","zone_names;reverb_names;filter_names;occlusion_names;timescale_names;dynamic_ambience_names;components;loop_defs;whizby_preset_names;mix_names;healthfx_params"); if(isdefined(var_09)) { - var_0A = 0; - if(var_0A < var_03) + for(var_0A = 0;var_0A < var_03;var_0A++) { var_0B = packedtablelookupwithrange(param_00,0,"loop_defs",var_0A,var_09[0],var_09[1]); if(!isdefined(var_0B) || var_0B == "") @@ -1328,21 +1414,42 @@ dambx_get_loop_def_from_string_table_internal(param_00,param_01) switch(var_0B) { case "loop_alias": + var_04 = var_0C; break; case "fade_in": + if(isdefined(var_0C) && var_0C != "") + { + var_06 = max(float(var_0C),0); + } break; case "fade_out": + if(isdefined(var_0C) && var_0C != "") + { + var_07 = max(float(var_0C),0); + } break; case "end_alias": + if(isdefined(var_0C) && var_0C != "") + { + var_05 = var_0C; + } break; case "duration_min": + if(isdefined(var_0C) && var_0C != "") + { + var_08[0] = float(var_0C); + } break; case "duration_max": + if(isdefined(var_0C) && var_0C != "") + { + var_08[1] = float(var_0C); + } break; default: @@ -1350,6 +1457,29 @@ dambx_get_loop_def_from_string_table_internal(param_00,param_01) } } } + + var_02["loop_alias"] = var_04; + if(isdefined(var_06)) + { + var_02["fade_in"] = var_06; + } + + if(isdefined(var_07)) + { + var_02["fade_out"] = var_07; + } + + if(isdefined(var_05)) + { + var_02["end_alias"] = var_05; + } + + if(isdefined(var_08[0])) + { + var_02["duration"] = dambx_get_two_value_float_array(var_08); + } + + return var_02; } } @@ -1383,8 +1513,7 @@ dambx_get_component_from_string_table_internal(param_00,param_01) var_11 = packedtablesectionlookup(param_00,"components","zone_names;reverb_names;filter_names;occlusion_names;timescale_names;dynamic_ambience_names;components;loop_defs;whizby_preset_names;mix_names;healthfx_params"); if(isdefined(var_11)) { - var_12 = 1; - if(var_12 < var_03) + for(var_12 = 1;var_12 < var_03;var_12++) { var_13 = packedtablelookupwithrange(param_00,0,"components",var_12,var_11[0],var_11[1]); if(!isdefined(var_13)) @@ -1399,60 +1528,79 @@ dambx_get_component_from_string_table_internal(param_00,param_01) switch(var_13) { case "oneshots": + var_05 = dambx_get_list_value_from_string_table(var_14,"component definition","oneshots",1); break; case "loops": + var_06 = dambx_get_list_value_from_string_table(var_14,"component definition","loops",1); break; case "single_loops": + var_07 = dambx_get_list_value_from_string_table(var_14,"component definition","single_loops",0); break; case "first_event_min": + var_08[0] = float(var_14); break; case "first_event_max": + var_08[1] = float(var_14); break; case "event_time_min": + var_09[0] = float(var_14); break; case "event_time_max": + var_09[1] = float(var_14); break; case "dist_min": + var_0A[0] = float(var_14); break; case "dist_max": + var_0A[1] = float(var_14); break; case "cone_min": + var_0B[0] = float(var_14); break; case "cone_max": + var_0B[1] = float(var_14); break; case "travel_min": + var_0C[0] = float(var_14); break; case "travel_max": + var_0C[1] = float(var_14); break; case "travel_time_min": + var_0D[0] = float(var_14); break; case "travel_time_max": + var_0D[1] = float(var_14); break; case "pitch_min": + var_0E[0] = float(var_14); break; case "pitch_max": + var_0E[1] = float(var_14); break; case "pitch_time_min": + var_0F[0] = float(var_14); break; case "pitch_time_max": + var_0F[1] = float(var_14); break; default: @@ -1460,6 +1608,76 @@ dambx_get_component_from_string_table_internal(param_00,param_01) } } } + + if(var_10 > 0) + { + if(isdefined(var_05[0])) + { + if(isstring(var_05[0])) + { + var_05[1] = 1; + } + + var_02["oneshots"] = var_05; + } + + if(isdefined(var_06[0])) + { + var_02["loops"] = var_06; + } + + if(isdefined(var_07[0])) + { + var_02["single_loops"] = var_07; + } + + if(isdefined(var_08[0])) + { + var_02["first_event"] = dambx_get_two_value_float_array(var_08); + } + + if(isdefined(var_09[0])) + { + var_02["event_time"] = dambx_get_two_value_float_array(var_09); + } + + if(isdefined(var_0A[0])) + { + var_02["radius"] = dambx_get_two_value_float_array(var_0A); + } + + if(isdefined(var_0B[0])) + { + var_02["cone"] = dambx_get_two_value_float_array(var_0B); + } + + if(isdefined(var_0C[0])) + { + var_02["delta"] = dambx_get_two_value_float_array(var_0C); + } + + if(isdefined(var_0D[0])) + { + var_02["travel_time"] = dambx_get_two_value_float_array(var_0D); + } + + if(isdefined(var_0E[0])) + { + var_02["pitch"] = dambx_get_two_value_float_array(var_0E); + } + + if(isdefined(var_0F[0])) + { + var_02["pitch_time"] = dambx_get_two_value_float_array(var_0F); + } + + if(!isdefined(var_02["radius"])) + { + var_02["radius"] = [0,0.01]; + } + } + + return var_02; } } @@ -1498,8 +1716,7 @@ dambx_get_preset_from_stringtable_internal(param_00,param_01) var_07 = packedtablesectionlookup(param_00,"dynamic_ambience_names","zone_names;reverb_names;filter_names;occlusion_names;timescale_names;dynamic_ambience_names;components;loop_defs;whizby_preset_names;mix_names;healthfx_params"); if(isdefined(var_07)) { - var_08 = 1; - if(var_08 < var_02) + for(var_08 = 1;var_08 < var_02;var_08++) { var_09 = packedtablelookupwithrange(param_00,0,"dynamic_ambience_names",var_08,var_07[0],var_07[1]); var_0A = packedtablelookupwithrange(param_00,0,param_01,var_08,var_07[0],var_07[1]); @@ -1509,18 +1726,36 @@ dambx_get_preset_from_stringtable_internal(param_00,param_01) switch(var_09) { case "components": + var_04 = dambx_get_list_value_from_string_table(var_0A,"preset definition","components"); break; case "first_event_min": + if(isdefined(var_0A) && var_0A != "") + { + var_05[0] = float(var_0A); + } break; case "first_event_max": + if(isdefined(var_0A) && var_0A != "") + { + var_05[1] = float(var_0A); + } break; case "event_time_min": + if(isdefined(var_0A) && var_0A != "") + { + var_06[0] = float(var_0A); + } break; case "event_time_max": + if(isdefined(var_0A) && var_0A != "") + { + var_06[1] = float(var_0A); + } + break; case "comment": @@ -1531,6 +1766,46 @@ dambx_get_preset_from_stringtable_internal(param_00,param_01) } } } + + var_0B = 0; + if(isdefined(var_05[0])) + { + var_0B = 1; + var_03["first_event"] = var_05; + } + + if(isdefined(var_06[0])) + { + var_0B = 1; + var_03["event_time"] = var_06; + } + + if(var_0B) + { + if(isdefined(var_04[0][1])) + { + var_03["components"] = var_04; + } + else + { + var_03["components"] = []; + for(var_08 = 0;var_08 < var_04.size;var_08++) + { + var_03["components"][var_03["components"].size] = [var_04[0],1]; + } + + if(var_03["components"].size == 0) + { + var_03["components"] = undefined; + } + } + } + else if(var_04.size != 0) + { + var_03["components"] = var_04; + } + + return var_03; } } diff --git a/AW/PC/SP/soundscripts/_audio_mix_manager.gsc b/AW/PC/soundscripts/_audio_mix_manager.gsc similarity index 97% rename from AW/PC/SP/soundscripts/_audio_mix_manager.gsc rename to AW/PC/soundscripts/_audio_mix_manager.gsc index 5ba21eb..0779474 100644 --- a/AW/PC/SP/soundscripts/_audio_mix_manager.gsc +++ b/AW/PC/soundscripts/_audio_mix_manager.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: soundscripts/_audio_mix_manager.gsc + * Decompiled File: _audio_mix_manager.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 18 - * Decompile Time: 219 ms - * Timestamp: 10/27/2023 2:05:39 AM + * Decompile Time: 207 ms + * Timestamp: 4/22/2024 2:03:41 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/soundscripts/_audio_music.gsc b/AW/PC/soundscripts/_audio_music.gsc similarity index 98% rename from AW/PC/SP/soundscripts/_audio_music.gsc rename to AW/PC/soundscripts/_audio_music.gsc index 1b34e9f..a69c691 100644 --- a/AW/PC/SP/soundscripts/_audio_music.gsc +++ b/AW/PC/soundscripts/_audio_music.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: soundscripts/_audio_music.gsc + * Decompiled File: _audio_music.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 25 - * Decompile Time: 287 ms - * Timestamp: 10/27/2023 2:05:40 AM + * Decompile Time: 281 ms + * Timestamp: 4/22/2024 2:03:42 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/soundscripts/_audio_presets_music.gsc b/AW/PC/soundscripts/_audio_presets_music.gsc similarity index 99% rename from AW/PC/SP/soundscripts/_audio_presets_music.gsc rename to AW/PC/soundscripts/_audio_presets_music.gsc index f611ccc..00fd1f6 100644 --- a/AW/PC/SP/soundscripts/_audio_presets_music.gsc +++ b/AW/PC/soundscripts/_audio_presets_music.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: soundscripts/_audio_presets_music.gsc + * Decompiled File: _audio_presets_music.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 22 - * Decompile Time: 258 ms - * Timestamp: 10/27/2023 2:05:41 AM + * Decompile Time: 280 ms + * Timestamp: 4/22/2024 2:03:43 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/soundscripts/_audio_presets_vehicles.gsc b/AW/PC/soundscripts/_audio_presets_vehicles.gsc new file mode 100644 index 0000000..0caeb1e --- /dev/null +++ b/AW/PC/soundscripts/_audio_presets_vehicles.gsc @@ -0,0 +1,55 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _audio_presets_vehicles.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:03:43 AM +*******************************************************************/ + +//Function Number: 1 +audio_presets_vehicles(param_00,param_01) +{ + switch(param_00) + { + case "so_paris_jeep": + param_01["speed"] = [["so_jeep_slow",["pitch","so_jeep_slow_pitch"],["volume","so_jeep_slow_volume"]],["so_jeep_fast",["pitch","so_jeep_medium_pitch"],["volume","so_jeep_medium_volume"]],["so_jeep_idle",["pitch","so_jeep_idle_pitch"],["volume","so_jeep_idle_volume"]],["updaterate",0.1],["smooth_up",0.3],["smooth_down",0.1],["range",0,25]]; + break; + } + + return param_01; +} + +//Function Number: 2 +audio_presets_vehicle_maps(param_00,param_01) +{ + switch(param_00) + { + case "so_jeep_idle_pitch": + param_01 = [[0,0.5],[0.02,0.65],[0.1,0.75],[0.2,0.85],[1,1]]; + break; + + case "so_jeep_idle_volume": + param_01 = [[0,1],[0.05,0.9],[0.1,0.85],[0.25,0.45],[0.3,0.15],[0.35,0],[1,0]]; + break; + + case "so_jeep_slow_pitch": + param_01 = [[0,0.38],[0.1,0.4],[0.4,0.45],[0.45,0.5],[0.55,0.55],[0.7,0.6],[1,0.8]]; + break; + + case "so_jeep_slow_volume": + param_01 = [[0,0.01],[0.1,0.5],[0.35,0.75],[0.55,1],[0.7,0.6],[0.8,0.45],[1,0.01]]; + break; + + case "so_jeep_medium_pitch": + param_01 = [[0,0.25],[0.5,0.3],[0.65,0.35],[0.75,0.4],[0.85,0.45],[1,0.5]]; + break; + + case "so_jeep_medium_volume": + param_01 = [[0,0],[0.4,0.2],[0.6,0.6],[0.75,0.9],[1,1]]; + break; + } + + return param_01; +} \ No newline at end of file diff --git a/AW/PC/SP/soundscripts/_audio_reverb.gsc b/AW/PC/soundscripts/_audio_reverb.gsc similarity index 98% rename from AW/PC/SP/soundscripts/_audio_reverb.gsc rename to AW/PC/soundscripts/_audio_reverb.gsc index ab58bac..ad8e20c 100644 --- a/AW/PC/SP/soundscripts/_audio_reverb.gsc +++ b/AW/PC/soundscripts/_audio_reverb.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: soundscripts/_audio_reverb.gsc + * Decompiled File: _audio_reverb.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 14 - * Decompile Time: 178 ms - * Timestamp: 10/27/2023 2:05:42 AM + * Decompile Time: 169 ms + * Timestamp: 4/22/2024 2:03:44 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/soundscripts/_audio_stream_manager.gsc b/AW/PC/soundscripts/_audio_stream_manager.gsc similarity index 97% rename from AW/PC/SP/soundscripts/_audio_stream_manager.gsc rename to AW/PC/soundscripts/_audio_stream_manager.gsc index 23d8fdd..e44bb48 100644 --- a/AW/PC/SP/soundscripts/_audio_stream_manager.gsc +++ b/AW/PC/soundscripts/_audio_stream_manager.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: soundscripts/_audio_stream_manager.gsc + * Decompiled File: _audio_stream_manager.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 13 - * Decompile Time: 146 ms - * Timestamp: 10/27/2023 2:05:43 AM + * Decompile Time: 150 ms + * Timestamp: 4/22/2024 2:03:44 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/soundscripts/_audio_vehicle_manager.gsc b/AW/PC/soundscripts/_audio_vehicle_manager.gsc similarity index 98% rename from AW/PC/SP/soundscripts/_audio_vehicle_manager.gsc rename to AW/PC/soundscripts/_audio_vehicle_manager.gsc index 507eccb..c542697 100644 --- a/AW/PC/SP/soundscripts/_audio_vehicle_manager.gsc +++ b/AW/PC/soundscripts/_audio_vehicle_manager.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: soundscripts/_audio_vehicle_manager.gsc + * Decompiled File: _audio_vehicle_manager.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 174 - * Decompile Time: 2200 ms - * Timestamp: 10/27/2023 2:05:50 AM + * Decompile Time: 2050 ms + * Timestamp: 4/22/2024 2:03:51 AM *******************************************************************/ //Function Number: 1 @@ -1122,6 +1122,19 @@ avmx_set_loop_play_state(param_00,param_01) switch(param_00.ps_item.asset_type) { case "alias": + if(param_01 == 1 && param_00.play_mode != 1) + { + var_02 avmx_start_loop(param_00); + param_00.play_mode = 1; + } + else if(param_01 == 0 && param_00.play_mode != 0) + { + var_02 avmx_stop_loop(param_00); + param_00.play_mode = 0; + } + else + { + } break; case "soundevent": @@ -1460,6 +1473,18 @@ vm2x_fade_sound_obj(param_00) switch(var_01.ps_item.asset_type) { case "alias": + foreach(var_03 in var_01.snd_ents) + { + if(isdefined(var_03)) + { + var_03 setvolume(0,param_00); + wait(param_00); + if(isdefined(var_03)) + { + var_03 stopsounds(); + } + } + } break; case "soundevent": @@ -2072,9 +2097,11 @@ avmx_update_sound_ent_output_param(param_00,param_01) switch(param_00) { case "volume": + self scalevolume(param_01,0.1); break; case "pitch": + self scalepitch(param_01,0.1); break; default: @@ -2434,6 +2461,11 @@ avmx_fade_stop_and_delete_sound_obj(param_00) switch(var_01.ps_item.asset_type) { case "alias": + foreach(var_04, var_03 in var_01.snd_ents) + { + var_03 avmx_stop_snd_ent(param_00); + var_01.snd_ents[var_04] = undefined; + } break; case "soundevent": @@ -2448,14 +2480,13 @@ avmx_fade_stop_and_delete_sound_obj(param_00) vm2x_delete_vehicle_sound_ents() { var_00 = self; - var_01 = var_00.loop_list; - var_03 = getfirstarraykey(var_01); - if(isdefined(var_03)) + foreach(var_02 in var_00.loop_list) { - var_02 = var_01[var_03]; switch(var_02.ps_item.asset_type) { case "alias": + var_02.snd_ents thread avmx_stop_snd_ent(0.05); + var_02.snd_ents = []; break; case "soundevent": @@ -2468,6 +2499,16 @@ vm2x_delete_vehicle_sound_ents() break; } } + + foreach(var_05 in var_00.oneshot_list) + { + foreach(var_07 in var_05.snd_ents) + { + var_07 thread avmx_stop_snd_ent(0.05); + } + + var_05.snd_ents = []; + } } //Function Number: 170 diff --git a/AW/PC/soundscripts/_audio_vehicles.gsc b/AW/PC/soundscripts/_audio_vehicles.gsc new file mode 100644 index 0000000..90c512b --- /dev/null +++ b/AW/PC/soundscripts/_audio_vehicles.gsc @@ -0,0 +1,1423 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _audio_vehicles.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 46 + * Decompile Time: 557 ms + * Timestamp: 4/22/2024 2:03:53 AM +*******************************************************************/ + +//Function Number: 1 +vm_init() +{ + if(!isdefined(level._audio)) + { + level._audio = spawnstruct(); + } + + if(!isdefined(level._audio.veh)) + { + level._audio.veh = spawnstruct(); + level._audio.veh.minrate = 0.1; + level._audio.veh.defrate = 0.5; + level._audio.veh.defsmooth = 0.1; + level._audio.veh.minpitch = 0.5; + level._audio.veh.maxpitch = 1.5; + level._audio.veh.fadein_time = 2; + level._audio.veh.callbacks = []; + level._audio.veh.print_speed = 0; + level._audio.veh.print_tilt = 0; + level._audio.veh.print_yaw = 0; + level._audio.veh.print_roll = 0; + level._audio.veh.print_altitude = 0; + level._audio.veh.print_throttle = 0; + level._audio.veh.presets = []; + level._audio.veh.maps = []; + level._audio.veh.instances = []; + level._audio.veh.ducked_instances = []; + level._audio.veh.duck_starts = []; + level._audio.veh.duck_stops = []; + } +} + +//Function Number: 2 +vm_register_custom_callback(param_00,param_01) +{ + level._audio.veh.callbacks[param_00] = param_01; +} + +//Function Number: 3 +vm_start_preset(param_00,param_01,param_02,param_03,param_04,param_05) +{ + wait(0.25); + if(isdefined(level._audio.veh.instances[param_00])) + { + vm_stop_preset_instance(param_00); + } + + if(isdefined(param_04)) + { + thread soundscripts\_audio::deprecated_aud_play_linked_sound(param_04,param_02,undefined,undefined,param_05); + } + + level._audio.veh.instances[param_00] = []; + level._audio.veh.instances[param_00]["entity"] = param_02; + if(!isdefined(level._audio.veh.presets[param_01])) + { + var_06 = []; + var_06 = soundscripts\_audio_presets_vehicles::audio_presets_vehicles(param_01,var_06); + level._audio.veh.presets[param_01] = var_06; + } + + level._audio.veh.instances[param_00]["entity"] = param_02; + foreach(var_13, var_08 in level._audio.veh.presets[param_01]) + { + var_09 = spawnstruct(); + var_09.instance_name = param_00; + var_09.vehicle = param_02; + switch(var_13) + { + case "tilt": + var_09.type = "tilt"; + var_09.callback = ::vmx_get_tilt; + var_09.min = -45; + var_09.max = 45; + break; + + case "yaw": + var_09.type = "yaw"; + var_09.callback = ::vmx_get_yaw; + var_09.min = 0; + var_09.max = 360; + break; + + case "roll": + var_09.type = "roll"; + var_09.callback = ::vmx_get_roll; + var_09.min = -45; + var_09.max = 45; + break; + + case "speed": + var_09.type = "speed"; + var_09.callback = ::vmx_get_speed; + var_09.min = 0; + var_09.max = 100; + break; + + case "altitude": + var_09.type = "altitude"; + var_09.callback = ::vmx_get_altitude; + var_09.min = 0; + var_09.max = 100; + break; + + case "start_stop": + var_09.type = "start_stop"; + var_09.callback = ::vmx_get_throttle; + var_09.min = 0; + var_09.max = 1; + break; + + default: + break; + } + + var_09.smoothness = level._audio.veh.defsmooth; + var_09.smooth_up = undefined; + var_09.smooth_down = undefined; + var_09.updaterate = level._audio.veh.defrate; + var_09.alias_data = []; + var_09.fadein = 0.5; + if(isdefined(param_03)) + { + var_09.fadein = param_03; + } + + foreach(var_0B in var_08) + { + switch(var_0B[0]) + { + case "updaterate": + var_09.updaterate = var_0B[1]; + break; + + case "smoothness": + var_09.smoothness = var_0B[1]; + break; + + case "smooth_up": + var_09.smooth_up = var_0B[1]; + break; + + case "smooth_down": + var_09.smooth_down = var_0B[1]; + break; + + case "heightmax": + var_09.heightmax = var_0B[1]; + break; + + case "callback": + var_0C = var_0B[1]; + var_09.custom_callback = level._audio.veh.callbacks[var_0C]; + break; + + case "range": + var_09.min = min(var_0B[1],var_0B[2]); + var_09.max = max(var_0B[1],var_0B[2]); + break; + + case "multiply_by_throttle": + var_09.multiply_by_throttle = 1; + break; + + case "multiply_by_leftstick": + var_09.multiply_by_leftstick = 1; + break; + + case "start": + var_09.start_alias_data = spawnstruct(); + var_09.start_alias_data.name = var_0B[1]; + for(var_0D = 2;var_0D < var_0B.size;var_0D++) + { + if(isarray(var_0B[var_0D])) + { + var_0E = var_0B[var_0D][0]; + var_0F = var_0B[var_0D][1]; + if(var_0E == "pitch") + { + var_09.start_alias_data.pitch_map_name = var_0F; + } + else if(var_0E == "volume") + { + var_09.start_alias_data.volume_map_name = var_0F; + } + + if(!isdefined(level._audio.veh.maps[var_0F])) + { + var_10 = []; + var_10 = soundscripts\_audio_presets_vehicles::audio_presets_vehicle_maps(var_0F,var_10); + level._audio.veh.maps[var_0F] = var_10; + } + + continue; + } + + level._audio.veh.duck_starts[param_00] = var_0B[var_0D]; + } + break; + + case "stop": + var_09.stop_alias_data = spawnstruct(); + var_09.stop_alias_data.name = var_0B[1]; + for(var_0D = 2;var_0D < var_0B.size;var_0D++) + { + if(isarray(var_0B[var_0D])) + { + var_0E = var_0B[var_0D][0]; + var_0F = var_0B[var_0D][1]; + if(var_0E == "pitch") + { + var_09.stop_alias_data.pitch_map_name = var_0F; + } + else if(var_0E == "volume") + { + var_09.stop_alias_data.volume_map_name = var_0F; + } + + if(!isdefined(level._audio.veh.maps[var_0F])) + { + var_10 = []; + var_10 = soundscripts\_audio_presets_vehicles::audio_presets_vehicle_maps(var_0F,var_10); + level._audio.veh.maps[var_0F] = var_10; + } + + continue; + } + + level._audio.veh.duck_stops[param_00] = var_0B[var_0D]; + } + break; + + case "throttle_input": + var_09.throttle_input = var_0B[1]; + break; + + case "on_threshold": + var_09.on_threshold = var_0B[1]; + break; + + case "off_threshold": + var_09.off_threshold = var_0B[1]; + break; + + case "oneshot_duck": + var_09.duck_amount = var_0B[1]; + break; + + case "oneshot_duck_time": + var_09.duck_time = var_0B[1]; + break; + + case "offset": + var_09.offset = var_0B[1]; + break; + + default: + var_11 = spawnstruct(); + var_11.alias_name = var_0B[0]; + for(var_0D = 1;var_0D < var_0B.size;var_0D++) + { + var_0F = var_0B[var_0D][1]; + if(var_0B[var_0D][0] == "pitch") + { + var_11.pitch_map_name = var_0F; + } + else + { + var_11.vol_map_name = var_0F; + } + + if(!isdefined(level._audio.veh.maps[var_0F])) + { + var_10 = []; + var_10 = soundscripts\_audio_presets_vehicles::audio_presets_vehicle_maps(var_0F,var_10); + level._audio.veh.maps[var_0F] = var_10; + } + } + + var_09.alias_data[var_09.alias_data.size] = var_11; + break; + } + } + + if(var_09.type == "start_stop") + { + thread vmx_do_start_stop_callback(var_09); + continue; + } + + thread vmx_callback(var_09); + } +} + +//Function Number: 4 +vm_stop(param_00) +{ + level notify("aud_veh_stop"); + var_01 = 1; + if(isdefined(param_00)) + { + var_01 = max(0.1,param_00); + } + + foreach(var_03 in level._audio.veh.playing_presets) + { + if(var_03.size > 0) + { + foreach(var_05 in var_03) + { + thread soundscripts\_audio::aud_fade_out_and_delete(var_05,var_01); + } + } + } + + level._audio.veh.playing_presets = []; +} + +//Function Number: 5 +vm_stop_preset_instance(param_00,param_01) +{ + var_02 = 1; + if(isdefined(param_01)) + { + var_02 = max(0.01,param_01); + } + + if(isdefined(level._audio.veh.instances[param_00])) + { + level notify("aud_veh_stop_" + param_00); + if(level._audio.veh.instances[param_00].size > 0) + { + foreach(var_05, var_04 in level._audio.veh.instances[param_00]) + { + if(var_05 != "entity" && var_05 != "speed" && var_05 != "throttle") + { + var_04 scalevolume(0,var_02); + } + } + } + + wait(var_02 + 0.05); + if(level._audio.veh.instances[param_00].size > 0) + { + foreach(var_05, var_04 in level._audio.veh.instances[param_00]) + { + if(var_05 != "entity" && var_05 != "speed" && var_05 != "throttle") + { + var_04 delete(); + } + } + } + + level._audio.veh.instances[param_00] = undefined; + } +} + +//Function Number: 6 +vm_set_range(param_00,param_01,param_02) +{ + if(!isdefined(self.aud_overrides)) + { + self.aud_overrides = []; + } + + self.aud_overrides[param_00] = spawnstruct(); + self.aud_overrides[param_00].min_range = param_01; + self.aud_overrides[param_00].max_range = param_02; +} + +//Function Number: 7 +vmx_init_oneshot_ents(param_00) +{ + if(!isdefined(level._audio.veh.start_ents)) + { + level._audio.veh.start_ents = []; + } + + if(!isdefined(level._audio.veh.stop_ents)) + { + level._audio.veh.stop_ents = []; + } + + if(!isdefined(level._audio.veh.start_ent_count)) + { + level._audio.veh.start_ent_count = []; + } + + if(!isdefined(level._audio.veh.stop_ent_count)) + { + level._audio.veh.stop_ent_count = []; + } + + level._audio.veh.start_ents[param_00] = []; + level._audio.veh.start_ent_count[param_00] = 0; + level._audio.veh.stop_ents[param_00] = []; + level._audio.veh.stop_ent_count[param_00] = 0; +} + +//Function Number: 8 +vmx_get_need_to_duck(param_00) +{ + var_01 = 0; + if(isdefined(level._audio.veh.duck_starts[param_00]) && level._audio.veh.duck_starts[param_00] && vmx_get_start_sound_playing(param_00)) + { + var_01 = 1; + } + + if(isdefined(level._audio.veh.duck_stops[param_00]) && level._audio.veh.duck_stops[param_00] && vmx_get_stop_sound_playing(param_00)) + { + var_01 = 1; + } + + return var_01; +} + +//Function Number: 9 +vmx_get_start_sound_playing(param_00) +{ + if(level._audio.veh.start_ents[param_00].size > 0) + { + return 1; + } + + return 0; +} + +//Function Number: 10 +vmx_get_stop_sound_playing(param_00) +{ + if(level._audio.veh.stop_ents[param_00].size > 0) + { + return 1; + } + + return 0; +} + +//Function Number: 11 +vmx_scale_start_sound_pitch(param_00,param_01,param_02) +{ + foreach(var_04 in level._audio.veh.start_ents[param_02]) + { + if(isdefined(var_04)) + { + var_04 setpitch(param_00,param_01); + } + } +} + +//Function Number: 12 +vmx_scale_stop_sound_pitch(param_00,param_01,param_02) +{ + foreach(var_04 in level._audio.veh.stop_ents[param_02]) + { + if(isdefined(var_04)) + { + var_04 setpitch(param_00,param_01); + } + } +} + +//Function Number: 13 +vmx_scale_start_sound_volume(param_00,param_01,param_02) +{ + foreach(var_04 in level._audio.veh.start_ents[param_02]) + { + if(isdefined(var_04)) + { + var_04 scalevolume(param_00,param_01); + } + } +} + +//Function Number: 14 +vmx_scale_stop_sound_volume(param_00,param_01,param_02) +{ + foreach(var_04 in level._audio.veh.stop_ents[param_02]) + { + if(isdefined(var_04)) + { + var_04 scalevolume(param_00,param_01); + } + } +} + +//Function Number: 15 +vmx_play_start_sound(param_00,param_01,param_02,param_03) +{ + var_04 = 0; + if(isdefined(param_03)) + { + var_04 = param_03; + } + + var_05 = spawn("script_origin",param_01.origin); + var_05 linkto(param_01,"tag_origin",(var_04,0,0),(0,0,0)); + var_05.ref = level._audio.veh.start_ent_count[param_02]; + var_05 playsound(param_00,"sounddone"); + var_05 thread vmx_monitor_start_ent(param_02); + level._audio.veh.start_ents[param_02][var_05.ref] = var_05; + level._audio.veh.start_ent_count[param_02]++; +} + +//Function Number: 16 +vmx_play_stop_sound(param_00,param_01,param_02,param_03) +{ + var_04 = 0; + if(isdefined(param_03)) + { + var_04 = param_03; + } + + var_05 = spawn("script_origin",param_01.origin); + var_05 linkto(param_01,"tag_origin",(var_04,0,0),(0,0,0)); + var_05.ref = level._audio.veh.stop_ent_count[param_02]; + var_05 playsound(param_00,"sounddone"); + level._audio.veh.stop_ents[param_02][var_05.ref] = var_05; + level._audio.veh.stop_ent_count[param_02]++; + wait(0.05); + var_05 thread vmx_monitor_stop_ent(param_02); +} + +//Function Number: 17 +vmx_monitor_start_ent(param_00) +{ + self endon("kill"); + self waittill("sounddone"); + level._audio.veh.start_ents[param_00][self.ref] = undefined; + if(isdefined(level._audio.veh.ducked_instances[param_00])) + { + level._audio.veh.ducked_instances[param_00] = undefined; + } + + self delete(); +} + +//Function Number: 18 +vmx_monitor_stop_ent(param_00) +{ + self endon("kill"); + self waittill("sounddone"); + level._audio.veh.stop_ents[param_00][self.ref] = undefined; + if(isdefined(level._audio.veh.ducked_instances[param_00])) + { + level._audio.veh.ducked_instances[param_00] = undefined; + } + + self delete(); +} + +//Function Number: 19 +vmx_stop_stop_ent(param_00,param_01,param_02) +{ + if(isdefined(level._audio.veh.ducked_instances[param_02])) + { + level._audio.veh.ducked_instances[param_02] = undefined; + } + + var_03 = 0.1; + if(isdefined(param_01)) + { + var_03 = param_01; + } + + level._audio.veh.stop_ents[param_02][param_00.ref] = undefined; + param_00 scalevolume(0,var_03 + 0.05); + param_00 notify("kill"); + wait(var_03 + 0.05); + param_00 stopsounds(); + wait(0.05); + param_00 delete(); +} + +//Function Number: 20 +vmx_stop_start_ent(param_00,param_01,param_02) +{ + if(isdefined(level._audio.veh.ducked_instances[param_02])) + { + level._audio.veh.ducked_instances[param_02] = undefined; + } + + var_03 = 0.1; + if(isdefined(param_01)) + { + var_03 = param_01; + } + + level._audio.veh.start_ents[param_02][param_00.ref] = undefined; + param_00 scalevolume(0,var_03 + 0.05); + param_00 notify("kill"); + wait(var_03 + 0.05); + param_00 stopsounds(); + wait(0.05); + param_00 delete(); +} + +//Function Number: 21 +vmx_do_start_stop_callback(param_00) +{ + var_01 = param_00.instance_name; + level endon("aud_veh_stop"); + level endon("aud_veh_stop_" + var_01); + level._audio.veh.instances[var_01]["entity"] endon("death"); + var_02 = 0; + var_03 = 0; + var_04 = -1; + var_05 = "off"; + var_06 = param_00.smoothness; + var_07 = param_00.smooth_up; + var_08 = param_00.smooth_down; + var_09 = param_00.min; + var_0A = param_00.max; + var_0B = 0; + vmx_init_oneshot_ents(var_01); + var_0C = gettime(); + for(;;) + { + var_0D = [[ param_00.callback ]](param_00); + var_0D = var_0D - param_00.min / param_00.max - param_00.min; + var_0D = clamp(var_0D,0,1); + var_0B = var_0D; + if(isdefined(var_07) && var_0D > var_02) + { + var_02 = var_02 + var_07 * var_0D - var_02; + } + else if(isdefined(var_08) && var_0D <= var_02) + { + var_02 = var_02 + var_08 * var_0D - var_02; + } + else + { + var_02 = var_02 + var_06 * var_0D - var_02; + } + + var_0E = var_02 - var_03; + var_03 = var_02; + var_0F = gettime(); + var_10 = var_0F - var_0C; + var_11 = 0; + var_12 = 0; + if((var_0E >= param_00.on_threshold || var_0B >= 0.99) && var_05 == "off" && var_10 > 200) + { + var_0C = var_0F; + var_05 = "on"; + var_11 = 1; + wait(0.05); + var_13 = level._audio.veh.instances[var_01]["entity"]; + thread vmx_play_start_sound(param_00.start_alias_data.name,var_13,param_00.instance_name,param_00.offset); + if(isdefined(level._audio.veh.stop_ents[param_00.instance_name])) + { + var_14 = level._audio.veh.stop_ents[param_00.instance_name]; + foreach(var_13 in var_14) + { + thread vmx_stop_stop_ent(var_13,undefined,param_00.instance_name); + } + } + } + else if((var_0E <= param_00.off_threshold || var_0B <= 0.01) && var_05 == "on" && var_10 > 200) + { + var_0C = var_0F; + var_05 = "off"; + var_12 = 1; + wait(0.05); + var_13 = level._audio.veh.instances[var_01]["entity"]; + thread vmx_play_stop_sound(param_00.stop_alias_data.name,var_13,param_00.instance_name,param_00.offset); + if(isdefined(level._audio.veh.start_ents[param_00.instance_name])) + { + var_17 = level._audio.veh.start_ents[param_00.instance_name]; + foreach(var_13 in var_17) + { + thread vmx_stop_start_ent(var_13,undefined,param_00.instance_name); + } + } + } + + var_1A = undefined; + var_1B = undefined; + if(vmx_get_start_sound_playing(param_00.instance_name)) + { + if(var_11) + { + var_11 = 0; + if(isdefined(param_00.start_alias_data.pitch_map_name)) + { + var_1A = soundscripts\_audio::deprecated_aud_map(var_02,level._audio.veh.maps[param_00.start_alias_data.pitch_map_name]); + var_1A = level._audio.veh.minpitch + var_1A * level._audio.veh.maxpitch - level._audio.veh.minpitch; + vmx_scale_start_sound_pitch(var_1A,param_00.updaterate,param_00.instance_name); + } + } + + if(isdefined(param_00.start_alias_data.vol_map_name)) + { + var_1B = soundscripts\_audio::deprecated_aud_map(var_02,level._audio.veh.maps[param_00.start_alias_data.vol_map_name]); + vmx_scale_start_sound_volume(var_1B,param_00.updaterate,param_00.instance_name); + } + } + + if(vmx_get_stop_sound_playing(param_00.instance_name)) + { + if(var_12) + { + var_12 = 0; + if(isdefined(param_00.stop_alias_data.pitch_map_name)) + { + var_1A = soundscripts\_audio::deprecated_aud_map(var_02,level._audio.veh.maps[param_00.stop_alias_data.pitch_map_name]); + var_1A = level._audio.veh.minpitch + var_1A * level._audio.veh.maxpitch - level._audio.veh.minpitch; + vmx_scale_stop_sound_pitch(var_1A,param_00.updaterate,param_00.instance_name); + } + } + + if(isdefined(param_00.stop_alias_data.vol_map_name)) + { + var_1B = soundscripts\_audio::deprecated_aud_map(var_02,level._audio.veh.maps[param_00.stop_alias_data.vol_map_name]); + vmx_scale_stop_sound_volume(var_1B,param_00.updaterate,param_00.instance_name); + } + } + + var_04 = var_02; + wait(param_00.updaterate); + } +} + +//Function Number: 22 +vm_disablethrottleupdate(param_00) +{ + self.aud_engine_disable = 1; + if(isdefined(param_00)) + { + self.aud_engine_throttle_amount = param_00; + } +} + +//Function Number: 23 +vm_enablethrottleupdate() +{ + self.aud_engine_disable = undefined; +} + +//Function Number: 24 +vmx_callback(param_00) +{ + var_01 = param_00.instance_name; + level endon("aud_veh_stop"); + level endon("aud_veh_stop_" + var_01); + var_02 = undefined; + var_03 = param_00.smoothness; + var_04 = param_00.smooth_up; + var_05 = param_00.smooth_down; + var_06 = param_00.min; + var_07 = param_00.max; + if(isdefined(param_00.heightmax)) + { + var_08 = level._audio.veh.instances[var_01]["entity"]; + param_00.init_height = var_08.origin[2]; + } + + var_09 = 1; + for(;;) + { + param_00.smoothness = var_03; + param_00.smooth_up = var_04; + param_00.smooth_down = var_05; + var_08 = level._audio.veh.instances[var_01]["entity"]; + if(isdefined(var_08.aud_overrides) && isdefined(var_08.aud_overrides[param_00.type]) && isdefined(var_08.aud_overrides[param_00.type].min_range)) + { + param_00.min = var_08.aud_overrides[param_00.type].min_range; + param_00.max = var_08.aud_overrides[param_00.type].max_range; + } + else + { + param_00.min = var_06; + param_00.max = var_07; + } + + if(!isdefined(var_08)) + { + vm_stop(param_00.instance_name); + return; + } + + var_0A = 0; + var_0B = 0; + if(isdefined(var_08.aud_engine_disable)) + { + var_0A = var_08.aud_engine_disable; + if(isdefined(var_08.aud_engine_throttle_amount)) + { + var_0B = var_08.aud_engine_throttle_amount; + } + } + + var_0C = [[ param_00.callback ]](param_00); + if(isdefined(param_00.multiply_by_throttle)) + { + if(var_0A) + { + var_0D = var_0B; + } + else + { + var_0D = vmx_get_throttle(var_01); + } + + if(level._audio.veh.print_throttle) + { + iprintln("throttle: " + var_0D); + } + + var_0C = var_0C * var_0D; + } + + var_0C = var_0C - param_00.min / param_00.max - param_00.min; + var_0C = clamp(var_0C,0,1); + if(isdefined(var_02)) + { + if(isdefined(param_00.smooth_up) && var_0C > var_02) + { + var_02 = var_02 + param_00.smooth_up * var_0C - var_02; + } + else if(isdefined(param_00.smooth_down) && var_0C <= var_02) + { + var_02 = var_02 + param_00.smooth_down * var_0C - var_02; + } + else + { + var_02 = var_02 + param_00.smoothness * var_0C - var_02; + } + } + else + { + var_02 = var_0C; + } + + if(isdefined(param_00.custom_callback)) + { + [[ param_00.custom_callback ]](var_08,var_02); + } + + foreach(var_0F in param_00.alias_data) + { + thread vmx_update_sound(var_0F,param_00,var_02,var_01,var_09); + } + + if(var_09) + { + var_09 = 0; + wait(param_00.fadein); + continue; + } + + wait(param_00.updaterate); + } +} + +//Function Number: 25 +vmx_update_sound(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = undefined; + var_06 = undefined; + if(isdefined(param_00.pitch_map_name)) + { + var_05 = soundscripts\_audio::deprecated_aud_map(param_02,level._audio.veh.maps[param_00.pitch_map_name]); + var_05 = level._audio.veh.minpitch + var_05 * level._audio.veh.maxpitch - level._audio.veh.minpitch; + } + + if(isdefined(param_00.vol_map_name)) + { + var_06 = soundscripts\_audio::deprecated_aud_map(param_02,level._audio.veh.maps[param_00.vol_map_name]); + } + + var_07 = 0; + var_08 = 0; + if(isdefined(level._audio.veh.ducked_instances[param_03])) + { + var_09 = level._audio.veh.ducked_instances[param_03]; + var_0A = gettime(); + var_0B = 2.5; + if(isdefined(param_01.duck_time)) + { + var_0B = param_01.duck_time; + } + + if(var_0A - var_09 < var_0B * 1000) + { + var_07 = 1; + } + } + + if(!var_07) + { + if(!isdefined(level._audio.veh.ducked_instances[param_03]) && vmx_get_need_to_duck(param_03)) + { + var_07 = 1; + level._audio.veh.ducked_instances[param_03] = gettime(); + } + } + + if(var_07) + { + var_0C = 0.7; + if(isdefined(param_01.duck_amount)) + { + var_0C = param_01.duck_amount; + } + + var_06 = var_06 * var_0C; + } + + if(isdefined(param_01.heightmax)) + { + var_0D = param_01.vehicle.origin[2]; + var_0E = var_0D - param_01.init_height; + if(var_0E > param_01.heightmax) + { + var_06 = 0; + } + } + + if(!isdefined(level._audio.veh.instances[param_03][param_00.alias_name])) + { + level._audio.veh.instances[param_03][param_00.alias_name] = spawn("script_origin",param_01.vehicle.origin); + var_0F = 0; + if(isdefined(param_01.offset)) + { + var_0F = param_01.offset; + } + + level._audio.veh.instances[param_03][param_00.alias_name] linkto(param_01.vehicle,"tag_origin",(var_0F,0,0),(0,0,0)); + level._audio.veh.instances[param_03][param_00.alias_name] playloopsound(param_00.alias_name); + level._audio.veh.instances[param_03][param_00.alias_name] scalevolume(0); + wait(0.05); + level._audio.veh.instances[param_03][param_00.alias_name] scalevolume(var_06,param_01.fadein); + return; + } + + if(isdefined(var_05)) + { + level._audio.veh.instances[param_03][param_00.alias_name] setpitch(var_05,param_01.updaterate); + } + + if(isdefined(var_06)) + { + level._audio.veh.instances[param_03][param_00.alias_name] scalevolume(var_06,param_01.updaterate); + } +} + +//Function Number: 26 +vm_linkto_new_entity(param_00,param_01,param_02,param_03) +{ + var_04 = "tag_origin"; + if(isdefined(param_02)) + { + var_04 = "tag_origin"; + } + + var_05 = 0; + if(isdefined(param_03)) + { + var_05 = param_03; + } + + if(isdefined(level._audio.veh.instances[param_00])) + { + foreach(var_08, var_07 in level._audio.veh.instances[param_00]) + { + if(var_08 != "entity" && var_08 != "speed" && var_08 != "throttle") + { + var_07 unlink(); + var_07 linkto(param_01,var_04,(var_05,0,0),(0,0,0)); + } + } + + level._audio.veh.instances[param_00]["entity"] = param_01; + } +} + +//Function Number: 27 +vm_set_speed_callback(param_00,param_01) +{ + if(isdefined(level._audio.veh.instances[param_00])) + { + level._audio.veh.instances[param_00]["speed"] = param_01; + } +} + +//Function Number: 28 +vm_set_throttle_callback(param_00,param_01) +{ + if(isdefined(level._audio.veh.instances[param_00])) + { + level._audio.veh.instances[param_00]["throttle"] = param_01; + } +} + +//Function Number: 29 +vm_set_start_stop_callback(param_00,param_01) +{ + if(isdefined(level._audio.veh.instances[param_00])) + { + } +} + +//Function Number: 30 +vmx_get_tilt(param_00) +{ + var_01 = level._audio.veh.instances[param_00.instance_name]["entity"]; + var_02 = var_01.angles[0]; + if(level._audio.veh.print_tilt) + { + iprintln("tilt: " + var_02); + } + + return var_02; +} + +//Function Number: 31 +vmx_get_speed(param_00) +{ + var_01 = level._audio.veh.instances[param_00.instance_name]["entity"]; + var_02 = 0; + if(isdefined(level._audio.veh.instances[param_00.instance_name]["speed"])) + { + var_03 = level._audio.veh.instances[param_00.instance_name]["speed"]; + var_02 = var_01 [[ var_03 ]](); + } + else + { + var_02 = param_00.vehicle vehicle_getspeed(); + } + + if(level._audio.veh.print_speed) + { + iprintln("speed: " + var_02); + } + + return var_02; +} + +//Function Number: 32 +vmx_get_yaw(param_00) +{ + var_01 = level._audio.veh.instances[param_00.instance_name]["entity"]; + var_02 = var_01.angles[1]; + if(level._audio.veh.print_speed) + { + iprintln("yaw: " + var_02); + } + + return var_02; +} + +//Function Number: 33 +vmx_get_roll(param_00) +{ + var_01 = level._audio.veh.instances[param_00.instance_name]["entity"]; + var_02 = var_01.angles[2]; + if(level._audio.veh.print_roll) + { + iprintln("roll: " + var_02); + } + + return var_02; +} + +//Function Number: 34 +vmx_get_altitude(param_00) +{ + var_01 = level._audio.veh.instances[param_00.instance_name]["entity"]; + return 1; +} + +//Function Number: 35 +vmx_get_throttle(param_00) +{ + var_01 = level._audio.veh.instances[param_00.instance_name]["entity"]; + var_02 = 0; + if(isdefined(level._audio.veh.instances[param_00.instance_name]["throttle"])) + { + var_03 = level._audio.veh.instances[param_00.instance_name]["speed"]; + var_02 = var_01 [[ var_03 ]](); + } + else if(isdefined(param_00.throttle_input) && param_00.throttle_input == "leftstick") + { + var_04 = level.player getnormalizedmovement(); + var_05 = var_04[0]; + var_02 = 0; + if(var_05 >= 0) + { + var_02 = var_05; + } + } + else if(isdefined(param_00.throttle_input) && param_00.throttle_input == "leftstick_abs") + { + var_04 = level.player getnormalizedmovement(); + var_05 = abs(var_04[0]); + var_06 = abs(var_04[1]); + var_02 = 2 * sqrt(var_05 * var_05 + var_06 * var_06); + var_02 = clamp(var_02,0,1); + } + else if(isdefined(param_00.throttle_input) && param_00.throttle_input == "attack") + { + if(level.player attackbuttonpressed()) + { + var_02 = 1; + } + else + { + var_02 = 0; + } + } + else + { + var_02 = var_01 vehicle_getthrottle(); + } + + return var_02; +} + +//Function Number: 36 +vm_ground_vehicle_start(param_00,param_01,param_02,param_03,param_04,param_05) +{ + self endon("death"); + self.veh_aliases = spawnstruct(); + self.veh_aliases.move_lo_lp = param_00; + self.veh_aliases.rolling_lp = param_01; + self.veh_aliases.idle_lp = param_02; + self.veh_aliases.engine_rev_lo_os = param_03; + self.veh_aliases.breaks_os = param_04; + thread vmx_monitor_explosion(param_05); + thread vmx_ground_vehicle_monitor_death(); + thread vmx_cleanup_ents(); + vmx_vehicle_engine(); +} + +//Function Number: 37 +vmx_vehicle_engine() +{ + self endon("death"); + self.do_rev = 1; + self.ents_mixed_in = 0; + self.has_idle_played = 0; + self.has_move_played = 0; + self.has_roll_played = 0; + self.veh_mix_ents = spawnstruct(); + self.veh_mix_ents.idle_ent = spawn("script_origin",self.origin); + self.veh_mix_ents.idle_ent linkto(self); + self.veh_mix_ents.move_ent = spawn("script_origin",self.origin); + self.veh_mix_ents.move_ent linkto(self); + self.veh_mix_ents.roll_ent = spawn("script_origin",self.origin); + self.veh_mix_ents.roll_ent linkto(self); + self.veh_mix_ents.one_shot = spawn("script_origin",self.origin); + self.veh_mix_ents.one_shot linkto(self); + for(;;) + { + var_00 = self vehicle_getspeed(); + if(var_00 > 0.05) + { + self.do_rev = 1; + vmx_ground_speed_watch(var_00); + } + + wait(0.25); + } +} + +//Function Number: 38 +vmx_ground_speed_watch(param_00) +{ + self endon("death"); + var_01 = 0.5; + var_02 = 1.5; + var_03 = 0; + for(;;) + { + var_04 = param_00; + wait(0.1); + var_05 = 0.5 + self vehicle_getspeed(); + if(var_05 >= var_04) + { + if(isdefined(self.veh_aliases.idle_lp) && self.has_idle_played) + { + self.veh_mix_ents.idle_ent thread vmx_aud_ent_fade_out(0.5); + } + + if(self.do_rev) + { + self.do_rev = 0; + if(isdefined(self.veh_aliases.engine_rev_lo_os)) + { + self.veh_mix_ents.one_shot playsound(self.veh_aliases.engine_rev_lo_os); + } + } + else + { + if(isdefined(self.veh_aliases.rolling_lp) && !self.has_roll_played) + { + self.has_roll_played = 1; + self.veh_mix_ents.roll_ent playloopsound(self.veh_aliases.rolling_lp); + } + + if(isdefined(self.veh_aliases.move_lo_lp) && !self.has_move_played) + { + self.has_move_played = 1; + self.veh_mix_ents.move_ent playloopsound(self.veh_aliases.move_lo_lp); + } + + if(!var_03) + { + if(isdefined(self.veh_aliases.move_lo_lp)) + { + self.veh_mix_ents.move_ent thread vmx_aud_ent_fade_in(var_01); + } + + if(isdefined(self.veh_aliases.rolling_lp)) + { + self.veh_mix_ents.roll_ent thread vmx_aud_ent_fade_in(var_01); + } + + var_03 = 1; + } + } + } + else if(var_05 < var_04) + { + if(isdefined(self.veh_aliases.idle_lp)) + { + if(!self.has_idle_played) + { + self.has_idle_played = 1; + self.veh_mix_ents.idle_ent playloopsound(self.veh_aliases.idle_lp); + } + + self.veh_mix_ents.idle_ent thread vmx_aud_ent_fade_in(0.5); + } + + if(isdefined(self.veh_aliases.breaks_os)) + { + self.veh_mix_ents.one_shot playsound(self.veh_aliases.breaks_os); + } + + if(isdefined(self.veh_aliases.move_lo_lp)) + { + self.veh_mix_ents.move_ent thread vmx_aud_ent_fade_out(0.5); + } + + if(isdefined(self.veh_aliases.move_lo_lp)) + { + self.veh_mix_ents.roll_ent thread vmx_aud_ent_fade_out(0.1); + } + + return; + } + + wait(0.2); + } +} + +//Function Number: 39 +vmx_aud_ent_fade_out(param_00) +{ + self scalevolume(0,param_00); +} + +//Function Number: 40 +vmx_aud_ent_fade_in(param_00,param_01) +{ + var_02 = 1; + if(isdefined(param_01)) + { + var_02 = param_01; + } + + self scalevolume(0); + wait(0.05); + self scalevolume(var_02,param_00); +} + +//Function Number: 41 +vmx_cleanup_ents() +{ + self waittill("cleanup_sound_ents"); + self.veh_mix_ents.idle_ent stoploopsound(); + self.veh_mix_ents.move_ent stoploopsound(); + self.veh_mix_ents.roll_ent stoploopsound(); + self.veh_mix_ents.one_shot stopsounds(); + wait(0.05); + self.veh_mix_ents.idle_ent delete(); + self.veh_mix_ents.move_ent delete(); + self.veh_mix_ents.roll_ent delete(); + self.veh_mix_ents.one_shot delete(); +} + +//Function Number: 42 +vmx_ground_vehicle_monitor_death() +{ + self endon("cleanup_sound_ents"); + self waittill("death"); + self notify("cleanup_sound_ents"); +} + +//Function Number: 43 +vmx_monitor_explosion(param_00) +{ + self endon("cleanup_sound_ents"); + for(;;) + { + if(!isdefined(self)) + { + break; + } + + if(self.health < self.healthbuffer) + { + break; + } + + wait(0.05); + } + + self notify("died"); + if(isdefined(param_00)) + { + common_scripts\utility::play_sound_in_space(param_00,self.origin); + } + + self notify("ceanup_sound_ents"); +} + +//Function Number: 44 +vm_aud_air_vehicle_flyby(param_00,param_01,param_02,param_03,param_04,param_05) +{ + var_06 = 0; + if(isdefined(param_03)) + { + var_06 = param_03; + } + + var_07 = 0; + if(isdefined(param_04)) + { + var_07 = param_04; + } + + while(isdefined(param_00)) + { + if(var_07) + { + var_08 = distance(param_00.origin,level.player.origin); + } + else + { + var_08 = distance2d(param_00.origin,level.player.origin); + } + + if(var_06) + { + iprintln("Distance: " + var_08); + } + + if(var_08 < param_02) + { + var_09 = spawn("script_origin",param_00.origin); + var_09 linkto(param_00); + var_09 playsound(param_01,"sounddone"); + param_00 notify("flyby_sound_played"); + var_09 thread vmx_waittill_deathspin(param_00); + var_09 thread vmx_waittill_sounddone(); + var_09 waittill("flyby_ent",var_0A); + if(var_0A == "deathspin") + { + if(isdefined(param_05)) + { + thread common_scripts\utility::play_sound_in_space(param_05,var_09.origin); + } + + var_09 scalevolume(0,0.3); + wait(0.4); + var_09 stopsounds(); + wait(0.05); + var_09 delete(); + return; + } + else if(var_0A == "sounddone") + { + wait(0.1); + var_09 delete(); + return; + } + + continue; + } + + wait(0.05); + } +} + +//Function Number: 45 +vmx_waittill_deathspin(param_00) +{ + self endon("flyby_ent"); + param_00 waittill("deathspin"); + self notify("flyby_ent","deathspin"); +} + +//Function Number: 46 +vmx_waittill_sounddone() +{ + self endon("flyby_ent"); + self waittill("sounddone"); + self notify("flyby_ent","sounddone"); +} \ No newline at end of file diff --git a/AW/PC/SP/soundscripts/_audio_whizby.gsc b/AW/PC/soundscripts/_audio_whizby.gsc similarity index 80% rename from AW/PC/SP/soundscripts/_audio_whizby.gsc rename to AW/PC/soundscripts/_audio_whizby.gsc index 92e44f8..344e3fb 100644 --- a/AW/PC/SP/soundscripts/_audio_whizby.gsc +++ b/AW/PC/soundscripts/_audio_whizby.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: soundscripts/_audio_whizby.gsc + * Decompiled File: _audio_whizby.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 9 - * Decompile Time: 101 ms - * Timestamp: 10/27/2023 2:05:50 AM + * Decompile Time: 135 ms + * Timestamp: 4/22/2024 2:03:53 AM *******************************************************************/ //Function Number: 1 @@ -85,8 +85,7 @@ whizx_get_mix_preset_from_stringtable_internal(param_00,param_01) var_0B = packedtablesectionlookup(param_00,"whizby_preset_names","zone_names;reverb_names;filter_names;occlusion_names;timescale_names;dynamic_ambience_names;components;loop_defs;whizby_preset_names;mix_names;healthfx_params"); if(isdefined(var_0B)) { - var_0C = 1; - if(var_0C < var_05) + for(var_0C = 1;var_0C < var_05;var_0C++) { var_03 = packedtablelookupwithrange(param_00,0,"whizby_preset_names",var_0C,var_0B[0],var_0B[1]); var_04 = packedtablelookupwithrange(param_00,0,param_01,var_0C,var_0B[0],var_0B[1]); @@ -101,36 +100,59 @@ whizx_get_mix_preset_from_stringtable_internal(param_00,param_01) switch(var_03) { case "radius_offset": + var_09 = float(var_04); break; case "near_radius": + var_06[0] = float(var_04); break; case "medium_radius": + var_06[1] = float(var_04); break; case "far_radius": + var_06[2] = float(var_04); break; case "near_spread": + var_07[0] = float(var_04); break; case "medium_spread": + var_07[1] = float(var_04); break; case "far_spread": + var_07[2] = float(var_04); break; case "near_prob": + var_08[0] = float(var_04); break; case "medium_prob": + var_08[1] = float(var_04); break; case "far_prob": + var_08[2] = float(var_04); break; } } } + + if(var_0A > 0) + { + var_02["radius"] = var_06; + var_02["spread"] = var_07; + var_02["probability"] = var_08; + if(isdefined(var_09)) + { + var_02["offset"] = var_09; + } + } + + return var_02; } } \ No newline at end of file diff --git a/AW/PC/SP/soundscripts/_audio_zone_manager.gsc b/AW/PC/soundscripts/_audio_zone_manager.gsc similarity index 98% rename from AW/PC/SP/soundscripts/_audio_zone_manager.gsc rename to AW/PC/soundscripts/_audio_zone_manager.gsc index 769f63d..b8ba5b1 100644 --- a/AW/PC/SP/soundscripts/_audio_zone_manager.gsc +++ b/AW/PC/soundscripts/_audio_zone_manager.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: soundscripts/_audio_zone_manager.gsc + * Decompiled File: _audio_zone_manager.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 50 - * Decompile Time: 595 ms - * Timestamp: 10/27/2023 2:05:52 AM + * Decompile Time: 578 ms + * Timestamp: 4/22/2024 2:03:55 AM *******************************************************************/ //Function Number: 1 @@ -584,8 +584,7 @@ azmx_get_zone_preset_from_stringtable_internal(param_00,param_01) if(isdefined(var_05)) { var_06 = 8; - var_07 = 1; - if(var_07 < var_06) + for(var_07 = 1;var_07 < var_06;var_07++) { if(var_03 != "comments" && var_04 != "") { @@ -599,21 +598,27 @@ azmx_get_zone_preset_from_stringtable_internal(param_00,param_01) switch(var_03) { case "streamed_ambience": + var_02["streamed_ambience"] = var_04; break; case "dynamic_ambience": + var_02["dynamic_ambience"] = var_04; break; case "mix": + var_02["mix"] = var_04; break; case "reverb": + var_02["reverb"] = var_04; break; case "filter": + var_02["filter"] = var_04; break; case "occlusion": + var_02["occlusion"] = var_04; break; default: @@ -621,6 +626,8 @@ azmx_get_zone_preset_from_stringtable_internal(param_00,param_01) } } } + + return var_02; } } diff --git a/AW/PC/SP/soundscripts/_snd.gsc b/AW/PC/soundscripts/_snd.gsc similarity index 98% rename from AW/PC/SP/soundscripts/_snd.gsc rename to AW/PC/soundscripts/_snd.gsc index 91d3f74..24e352c 100644 --- a/AW/PC/SP/soundscripts/_snd.gsc +++ b/AW/PC/soundscripts/_snd.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: soundscripts/_snd.gsc + * Decompiled File: _snd.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 23 - * Decompile Time: 266 ms - * Timestamp: 10/27/2023 2:05:53 AM + * Decompile Time: 277 ms + * Timestamp: 4/22/2024 2:03:56 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/soundscripts/_snd_common.gsc b/AW/PC/soundscripts/_snd_common.gsc similarity index 99% rename from AW/PC/SP/soundscripts/_snd_common.gsc rename to AW/PC/soundscripts/_snd_common.gsc index 7d202de..aa410e5 100644 --- a/AW/PC/SP/soundscripts/_snd_common.gsc +++ b/AW/PC/soundscripts/_snd_common.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: soundscripts/_snd_common.gsc + * Decompiled File: _snd_common.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 138 - * Decompile Time: 1690 ms - * Timestamp: 10/27/2023 2:05:59 AM + * Decompile Time: 1805 ms + * Timestamp: 4/22/2024 2:04:02 AM *******************************************************************/ //Function Number: 1 @@ -154,12 +154,18 @@ wpn_deam160_shot(param_00) switch(var_01) { case "large": + soundscripts\_audio::deprecated_aud_play_2d_sound("wpn_deam160_shot_max"); + level notify("aud_deam160_charge_break"); break; case "medium": + soundscripts\_audio::deprecated_aud_play_2d_sound("wpn_deam160_shot_med"); + level notify("aud_deam160_charge_break"); break; case "small": + soundscripts\_audio::deprecated_aud_play_2d_sound("wpn_deam160_shot_sml"); + level notify("aud_deam160_charge_break"); break; } } diff --git a/AW/PC/SP/soundscripts/_snd_filters.gsc b/AW/PC/soundscripts/_snd_filters.gsc similarity index 98% rename from AW/PC/SP/soundscripts/_snd_filters.gsc rename to AW/PC/soundscripts/_snd_filters.gsc index a8cc083..d71aaa3 100644 --- a/AW/PC/SP/soundscripts/_snd_filters.gsc +++ b/AW/PC/soundscripts/_snd_filters.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: soundscripts/_snd_filters.gsc + * Decompiled File: _snd_filters.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 35 - * Decompile Time: 408 ms - * Timestamp: 10/27/2023 2:06:00 AM + * Decompile Time: 499 ms + * Timestamp: 4/22/2024 2:04:03 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/soundscripts/_snd_foley.gsc b/AW/PC/soundscripts/_snd_foley.gsc similarity index 71% rename from AW/PC/SP/soundscripts/_snd_foley.gsc rename to AW/PC/soundscripts/_snd_foley.gsc index 37d1b84..68ec293 100644 --- a/AW/PC/SP/soundscripts/_snd_foley.gsc +++ b/AW/PC/soundscripts/_snd_foley.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: soundscripts/_snd_foley.gsc + * Decompiled File: _snd_foley.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 11 ms - * Timestamp: 10/27/2023 2:06:01 AM + * Decompile Time: 25 ms + * Timestamp: 4/22/2024 2:04:04 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/soundscripts/_snd_hud.gsc b/AW/PC/soundscripts/_snd_hud.gsc similarity index 72% rename from AW/PC/SP/soundscripts/_snd_hud.gsc rename to AW/PC/soundscripts/_snd_hud.gsc index fbad4d2..1c004ad 100644 --- a/AW/PC/SP/soundscripts/_snd_hud.gsc +++ b/AW/PC/soundscripts/_snd_hud.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: soundscripts/_snd_hud.gsc + * Decompiled File: _snd_hud.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 12 ms - * Timestamp: 10/27/2023 2:06:01 AM + * Decompile Time: 25 ms + * Timestamp: 4/22/2024 2:04:04 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/soundscripts/_snd_pcap.gsc b/AW/PC/soundscripts/_snd_pcap.gsc similarity index 97% rename from AW/PC/SP/soundscripts/_snd_pcap.gsc rename to AW/PC/soundscripts/_snd_pcap.gsc index c7ad781..73e3100 100644 --- a/AW/PC/SP/soundscripts/_snd_pcap.gsc +++ b/AW/PC/soundscripts/_snd_pcap.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: soundscripts/_snd_pcap.gsc + * Decompiled File: _snd_pcap.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 13 - * Decompile Time: 160 ms - * Timestamp: 10/27/2023 2:06:02 AM + * Decompile Time: 184 ms + * Timestamp: 4/22/2024 2:04:05 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/soundscripts/_snd_playsound.gsc b/AW/PC/soundscripts/_snd_playsound.gsc similarity index 98% rename from AW/PC/SP/soundscripts/_snd_playsound.gsc rename to AW/PC/soundscripts/_snd_playsound.gsc index 1725da3..acee81f 100644 --- a/AW/PC/SP/soundscripts/_snd_playsound.gsc +++ b/AW/PC/soundscripts/_snd_playsound.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: soundscripts/_snd_playsound.gsc + * Decompiled File: _snd_playsound.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 23 - * Decompile Time: 268 ms - * Timestamp: 10/27/2023 2:06:03 AM + * Decompile Time: 336 ms + * Timestamp: 4/22/2024 2:04:06 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/soundscripts/_snd_timescale.gsc b/AW/PC/soundscripts/_snd_timescale.gsc similarity index 96% rename from AW/PC/SP/soundscripts/_snd_timescale.gsc rename to AW/PC/soundscripts/_snd_timescale.gsc index 7baf512..3b8272d 100644 --- a/AW/PC/SP/soundscripts/_snd_timescale.gsc +++ b/AW/PC/soundscripts/_snd_timescale.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: soundscripts/_snd_timescale.gsc + * Decompiled File: _snd_timescale.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 11 - * Decompile Time: 126 ms - * Timestamp: 10/27/2023 2:06:04 AM + * Decompile Time: 167 ms + * Timestamp: 4/22/2024 2:04:07 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/soundscripts/so_aud.gsc b/AW/PC/soundscripts/so_aud.gsc similarity index 83% rename from AW/PC/SP/soundscripts/so_aud.gsc rename to AW/PC/soundscripts/so_aud.gsc index 789f79a..18df344 100644 --- a/AW/PC/SP/soundscripts/so_aud.gsc +++ b/AW/PC/soundscripts/so_aud.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: soundscripts/so_aud.gsc + * Decompiled File: so_aud.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 14 - * Decompile Time: 201 ms - * Timestamp: 10/27/2023 2:06:05 AM + * Decompile Time: 229 ms + * Timestamp: 4/22/2024 2:04:08 AM *******************************************************************/ //Function Number: 1 @@ -27,6 +27,7 @@ aud_handle_map_setups(param_00) switch(param_00) { case "so_nyse_ny_manhattan": + aud_start_nyse_fire(); break; } } @@ -38,41 +39,74 @@ so_msg_handler(param_00,param_01) switch(param_00) { case "so_berlin_intro_littlebird_spawn": + var_03 = param_01; + var_03 thread common_scripts\utility::play_loop_sound_on_entity("so_littlebird_move"); break; case "so_ied_littlebird": + var_03 = param_01; + var_03 thread common_scripts\utility::play_loop_sound_on_entity("so_littlebird_move"); + var_03 thread aud_helicopter_deathwatch(); break; case "so_ied_wave4_littlebird": + var_04 = param_01; + var_04 thread common_scripts\utility::play_loop_sound_on_entity("so_littlebird_move_distant"); + var_04 thread aud_helicopter_deathwatch(); break; case "so_ied_wave3_tank": + var_05 = param_01; + var_05 thread aud_run_tank_system(); break; case "so_nyse_littlebird_spawn": + var_03 = param_01; + var_03 common_scripts\utility::play_loop_sound_on_entity("so_nymn_littlebird_move"); break; case "so_start_harbor_player_hind": + var_06 = param_01; + var_06 common_scripts\utility::play_loop_sound_on_entity("so_hind_player"); break; case "so_harbor_ally_helis": + var_07 = param_01; + foreach(var_03 in var_07) + { + var_03 thread common_scripts\utility::play_loop_sound_on_entity("so_hind_allies"); + } break; case "so_harbor_kill_helis": + var_07 = param_01; + foreach(var_03 in var_07) + { + var_03 common_scripts\utility::stop_loop_sound_on_entity("so_hind_allies"); + } break; case "so_start_harbor_exit_hind": + var_0C = param_01; + var_0C common_scripts\utility::play_loop_sound_on_entity("so_exit_hind_player"); break; case "so_harbor_enemy_chopper_flyover": + var_0D = param_01; + var_0D maps\_utility::play_sound_on_entity("so_sub_hind_flyover"); break; case "so_sub_missile_launch": + var_0E = param_01; + aud_handle_so_missile(var_0E); break; default: + var_02 = 0; break; } + + return var_02; } //Function Number: 4 diff --git a/AW/PC/vehicle_scripts/_atlas_jet.gsc b/AW/PC/vehicle_scripts/_atlas_jet.gsc new file mode 100644 index 0000000..2c63347 --- /dev/null +++ b/AW/PC/vehicle_scripts/_atlas_jet.gsc @@ -0,0 +1,308 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _atlas_jet.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 16 + * Decompile Time: 252 ms + * Timestamp: 4/22/2024 2:04:18 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + maps\_vehicle::build_template("atlas_jet",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_deathmodel("atlas_fighter_jet"); + maps\_vehicle::build_treadfx(); + level._effect["atlas_engineeffect"] = loadfx("vfx/map/baghdad/bagh_jet_engines"); + level._effect["atlas_contrail"] = loadfx("vfx/trail/jet_contrail_cheap"); + maps\_vehicle::build_deathfx("vfx/map/baghdad/bagh_aircraft_explosion_midair_atlas",undefined,"enemy_jet_expl_lyr1"); + maps\_vehicle::build_life(999,500,1500); + if(param_00 != "vehicle_s1_plane_test") + { + if(param_00 != "vehicle_mig29_small") + { + maps\_vehicle::build_rumble("mig_rumble",0.1,0.2,11300,0.05,0.05); + } + else + { + maps\_vehicle::build_rumble("mig_rumble",0.1,0.2,1130,0.05,0.05); + } + } + + maps\_vehicle::build_team("allies"); + if(param_00 != "vehicle_av8b_harrier_jet") + { + var_03 = randomfloatrange(0,1); + maps\_vehicle::build_light(param_02,"wingtip_green","tag_left_wingtip","vfx/lights/aircraft_light_wingtip_green","running",var_03); + maps\_vehicle::build_light(param_02,"wingtip_red","tag_right_wingtip","vfx/lights/aircraft_light_wingtip_red","running",var_03); + maps\_vehicle::build_light(param_02,"white_blink","tag_light_belly","vfx/lights/aircraft_light_white_blink","running",var_03); + } + + maps\_vehicle::build_is_airplane(); +} + +//Function Number: 2 +init_local() +{ + thread playengineeffects(); + thread fx_contrail_handler(); + if(self.model != "vehicle_av8b_harrier_jet") + { + maps\_vehicle::vehicle_lights_on("running"); + } +} + +//Function Number: 3 +set_vehicle_anims(param_00) +{ + var_01 = "rope_test"; + precachemodel(var_01); + return param_00; +} + +//Function Number: 4 +landing_gear_up() +{ + self useanimtree(#animtree); + self setanim(%mig_landing_gear_up); +} + +//Function Number: 5 +setanims() +{ + var_00 = []; + for(var_01 = 0;var_01 < 1;var_01++) + { + var_00[var_01] = spawnstruct(); + } + + return var_00; +} + +//Function Number: 6 +playengineeffects() +{ + self endon("death"); + self endon("stop_engineeffects"); + maps\_utility::ent_flag_init("engineeffects"); + maps\_utility::ent_flag_set("engineeffects"); + var_00 = common_scripts\utility::getfx("atlas_engineeffect"); + for(;;) + { + maps\_utility::ent_flag_wait("engineeffects"); + playfxontag(var_00,self,"tag_engine_right"); + playfxontag(var_00,self,"tag_engine_left"); + maps\_utility::ent_flag_waitopen("engineeffects"); + stopfxontag(var_00,self,"tag_engine_left"); + stopfxontag(var_00,self,"tag_engine_right"); + } +} + +//Function Number: 7 +playcontrail() +{ + playfxontag(level._effect["atlas_contrail"],self,"tag_right_wingtip"); + playfxontag(level._effect["atlas_contrail"],self,"tag_left_wingtip"); +} + +//Function Number: 8 +stopcontrail() +{ + stopfxontag(level._effect["atlas_contrail"],self,"tag_right_wingtip"); + stopfxontag(level._effect["atlas_contrail"],self,"tag_left_wingtip"); +} + +//Function Number: 9 +fx_contrail_handler() +{ + level endon("death"); + var_00 = 45; + var_01 = 0; + while(isdefined(self)) + { + var_02 = self.angles; + var_03 = var_02[0]; + var_04 = var_02[2]; + var_05 = 0; + if((var_04 > var_00 && var_04 < 360 - var_00) || var_04 < -1 * var_00 && var_04 > -1 * 360 - var_00) + { + var_05 = 1; + } + + if((var_03 > var_00 && var_03 < 360 - var_00) || var_03 < -1 * var_00 && var_03 > -1 * 360 - var_00) + { + var_05 = 1; + } + + if(var_05 && !var_01) + { + playcontrail(); + var_01 = 1; + continue; + } + + if(!var_05 && var_01) + { + stopcontrail(); + var_01 = 0; + } + + wait 0.05; + } +} + +//Function Number: 10 +playerisclose(param_00) +{ + var_01 = playerisinfront(param_00); + if(var_01) + { + var_02 = 1; + } + else + { + var_02 = -1; + } + + var_03 = common_scripts\utility::flat_origin(param_00.origin); + var_04 = var_03 + anglestoforward(common_scripts\utility::flat_angle(param_00.angles)) * var_02 * 100000; + var_05 = pointonsegmentnearesttopoint(var_03,var_04,level.player.origin); + var_06 = distance(var_03,var_05); + if(var_06 < 3000) + { + return 1; + } + + return 0; +} + +//Function Number: 11 +playerisinfront(param_00) +{ + var_01 = anglestoforward(common_scripts\utility::flat_angle(param_00.angles)); + var_02 = vectornormalize(common_scripts\utility::flat_origin(level.player.origin) - param_00.origin); + var_03 = vectordot(var_01,var_02); + if(var_03 > 0) + { + return 1; + } + + return 0; +} + +//Function Number: 12 +plane_sound_node(param_00,param_01) +{ + plane_sound_players("veh_mig29_dist_loop","veh_mig29_sonic_boom"); +} + +//Function Number: 13 +plane_sound_players(param_00,param_01) +{ + self waittill("trigger",var_02); + var_02 endon("death"); + thread plane_sound_node(); + var_02 thread common_scripts\utility::play_loop_sound_on_entity(param_00); + while(playerisinfront(var_02)) + { + wait(0.05); + } + + wait(0.5); + var_02 thread common_scripts\utility::play_sound_in_space(param_01); + var_02 waittill("reached_end_node"); + var_02 stop_sound(param_00); + var_02 delete(); +} + +//Function Number: 14 +plane_bomb_node() +{ + level._effect["plane_bomb_explosion1"] = loadfx("fx/explosions/airlift_explosion_large"); + level._effect["plane_bomb_explosion2"] = loadfx("fx/explosions/tanker_explosion"); + self waittill("trigger",var_00); + var_00 endon("death"); + thread plane_bomb_node(); + var_01 = getentarray(self.script_linkto,"script_linkname"); + var_01 = common_scripts\utility::get_array_of_closest(self.origin,var_01,undefined,var_01.size); + var_02 = 0; + wait(randomfloatrange(0.3,0.8)); + for(var_03 = 0;var_03 < var_01.size;var_03++) + { + var_02++; + if(var_02 == 3) + { + var_02 = 1; + } + + var_01[var_03] thread maps\_utility::play_sound_on_entity("airstrike_explosion"); + playfx(level._effect["plane_bomb_explosion" + var_02],var_01[var_03].origin); + wait(randomfloatrange(0.3,1.2)); + } +} + +//Function Number: 15 +plane_bomb_cluster() +{ + self waittill("trigger",var_00); + var_00 endon("death"); + var_01 = var_00; + var_01 thread plane_bomb_cluster(); + var_02 = spawn("script_model",var_01.origin - (0,0,100)); + var_02.angles = var_01.angles; + var_02 setmodel("projectile_cbu97_clusterbomb"); + var_03 = anglestoforward(var_01.angles) * 2; + var_04 = anglestoup(var_01.angles) * -0.2; + var_05 = []; + for(var_06 = 0;var_06 < 3;var_06++) + { + var_05[var_06] = var_03[var_06] + var_04[var_06] / 2; + } + + var_05 = (var_05[0],var_05[1],var_05[2]); + var_05 = var_05 * 7000; + var_02 movegravity(var_05,2); + wait(1.2); + var_07 = spawn("script_model",var_02.origin); + var_07 setmodel("tag_origin"); + var_07.origin = var_02.origin; + var_07.angles = var_02.angles; + wait(0.05); + var_02 delete(); + var_02 = var_07; + var_08 = var_02.origin; + var_09 = var_02.angles; + playfxontag(level.airstrikefx,var_02,"tag_origin"); + wait(1.6); + var_0A = 12; + var_0B = 5; + var_0C = 55; + var_0D = var_0C - var_0B / var_0A; + for(var_06 = 0;var_06 < var_0A;var_06++) + { + var_0E = anglestoforward(var_09 + (var_0C - var_0D * var_06,randomint(10) - 5,0)); + var_0F = var_08 + var_0E * 10000; + var_10 = bullettrace(var_08,var_0F,0,undefined); + var_11 = var_10["position"]; + radiusdamage(var_11 + (0,0,16),512,400,30); + if(var_06 % 3 == 0) + { + thread common_scripts\utility::play_sound_in_space("airstrike_explosion",var_11); + playrumbleonposition("artillery_rumble",var_11); + earthquake(0.7,0.75,var_11,1000); + } + + wait(0.75 / var_0A); + } + + wait(1); + var_02 delete(); +} + +//Function Number: 16 +stop_sound(param_00) +{ + self notify("stop sound" + param_00); +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_atlas_piranha.gsc b/AW/PC/vehicle_scripts/_atlas_piranha.gsc new file mode 100644 index 0000000..b4faf07 --- /dev/null +++ b/AW/PC/vehicle_scripts/_atlas_piranha.gsc @@ -0,0 +1,29 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _atlas_piranha.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 50 ms + * Timestamp: 4/22/2024 2:04:18 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02,param_03) +{ + precachemodel("vehicle_speedboat_piranha_turret"); + precacheturret("warbird_turret"); + maps\_vehicle::build_template("atlas_piranha",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_life(999,500,1500); + maps\_vehicle::build_team("axis"); + if(isdefined(param_03)) + { + maps\_vehicle::build_turret(param_03,"tag_turret","vehicle_speedboat_piranha_turret",undefined,"manual",0.5,20,-14); + } +} + +//Function Number: 2 +init_local() +{ +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_atlas_suv.gsc b/AW/PC/vehicle_scripts/_atlas_suv.gsc new file mode 100644 index 0000000..fc1b43a --- /dev/null +++ b/AW/PC/vehicle_scripts/_atlas_suv.gsc @@ -0,0 +1,570 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _atlas_suv.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 23 + * Decompile Time: 343 ms + * Timestamp: 4/22/2024 2:04:20 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + maps\_vehicle::build_template("atlas_suv",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_deathmodel("vehicle_atlas_suv","vehicle_atlas_suv_dstrypv"); + maps\_vehicle::build_deathfx("vfx/explosion/vehicle_civ_ai_explo_lrg_runner","Tag_death_fx","car_explode",undefined,undefined,undefined,0); + if(param_02 == "script_vehicle_atlas_suv_physics_explode") + { + maps\_vehicle::build_radiusdamage((0,0,53),256,300,20,1,0); + } + + maps\_vehicle::build_drive(%sf_suv_driving_idle_forward,%sf_suv_driving_idle_backward,10); + maps\_vehicle::build_deathquake(1,1.6,500); + maps\_vehicle::build_life(750); + maps\_vehicle::build_team("axis"); + maps\_vehicle::build_treadfx(param_02,"default","vfx/treadfx/tread_dust_default"); + maps\_vehicle::build_aianims(::setanims,::set_vehicle_anims); + maps\_vehicle::build_unload_groups(::unload_groups); +} + +//Function Number: 2 +init_local() +{ + maps\_utility::ent_flag_init("lrear_window_open"); + maps\_utility::ent_flag_init("rrear_window_open"); + maps\_utility::ent_flag_init("rear_window_open"); + thread clear_anim_on_death(); + soundscripts\_snd::snd_message("atlas_van_explode",level.player_pitbull); + if(!isdefined(self.script_allow_rider_deaths)) + { + self.script_allow_rider_deaths = 1; + } + + if(!isdefined(self.script_allow_driver_death)) + { + self.script_allow_driver_death = 1; + } +} + +//Function Number: 3 +set_vehicle_anims(param_00) +{ + param_00[0].vehicle_getoutanim = %atlas_suv_dismount_frontl_door; + param_00[1].vehicle_getoutanim = %atlas_suv_dismount_frontr_door; + param_00[2].vehicle_getoutanim = %atlas_suv_dismount_backl_door; + param_00[3].vehicle_getoutanim = %atlas_suv_dismount_backr_door; + return param_00; +} + +//Function Number: 4 +setanims() +{ + var_00 = []; + for(var_01 = 0;var_01 < 9;var_01++) + { + var_00[var_01] = spawnstruct(); + } + + var_00[0].sittag = "tag_driver"; + var_00[0].idle = %atlas_suv_idle_frontl; + var_00[0].getout = %atlas_suv_dismount_frontl; + var_00[0].death = %sf_suv_lrear_death; + var_00[0].death_no_ragdoll = 1; + var_00[0].death_flop_dir = (0,2500,0); + var_00[0].min_unload_frac_to_flop = 0.55; + var_00[1].sittag = "tag_passenger"; + var_00[1].idle = %atlas_suv_idle_frontr; + var_00[1].getout = %atlas_suv_dismount_frontr; + var_00[1].death = %sf_suv_rrear_death; + var_00[1].death_no_ragdoll = 1; + var_00[1].death_flop_dir = (0,-2500,0); + var_00[1].min_unload_frac_to_flop = 0.55; + var_00[2].sittag = "tag_guy0"; + var_00[2].idle = %atlas_suv_idle_backl; + var_00[2].getout = %atlas_suv_dismount_backl; + var_00[2].death = %sf_suv_lrear_death; + var_00[2].death_no_ragdoll = 1; + var_00[2].rider_func = ::atlas_suv_rider_think; + var_00[2].death_flop_dir = (0,2500,0); + var_00[2].min_unload_frac_to_flop = 0.6; + var_00[3].sittag = "tag_guy1"; + var_00[3].idle = %atlas_suv_idle_backr; + var_00[3].getout = %atlas_suv_dismount_backr; + var_00[3].death = %sf_suv_rrear_death; + var_00[3].death_no_ragdoll = 1; + var_00[3].rider_func = ::atlas_suv_rider_think; + var_00[3].death_flop_dir = (0,-2500,0); + var_00[3].min_unload_frac_to_flop = 0.6; + var_00[4].sittag = "tag_guy2"; + var_00[4].idle = %suburban_idle_backr; + var_00[4].death = %sf_suv_rear_death; + var_00[4].death_no_ragdoll = 1; + var_00[4].rider_func = ::atlas_suv_rider_think; + var_00[4].customunloadfunc = ::do_nothing; + var_00[4].death_flop_dir = (0,-2500,0); + return var_00; +} + +//Function Number: 5 +unload_groups() +{ + var_00 = []; + var_00["passengers"] = []; + var_00["all"] = []; + var_01 = "passengers"; + var_00[var_01][var_00[var_01].size] = 1; + var_00[var_01][var_00[var_01].size] = 2; + var_00[var_01][var_00[var_01].size] = 3; + var_00[var_01][var_00[var_01].size] = 4; + var_01 = "all"; + var_00[var_01][var_00[var_01].size] = 0; + var_00[var_01][var_00[var_01].size] = 1; + var_00[var_01][var_00[var_01].size] = 2; + var_00[var_01][var_00[var_01].size] = 3; + var_00[var_01][var_00[var_01].size] = 4; + var_00["default"] = var_00["all"]; + return var_00; +} + +//Function Number: 6 +do_nothing(param_00,param_01) +{ +} + +//Function Number: 7 +setup_rider_anims(param_00) +{ + self.rider_anims = []; + if(param_00 == "tag_guy0") + { + self.rider_anims["idle"] = %sf_suv_lrear_inside_idle; + self.rider_anims["popout"] = %sf_suv_lrear_popout; + self.rider_anims["aim_2"] = %sf_suv_lrear_idle_aim_2; + self.rider_anims["aim_4"] = %sf_suv_lrear_idle_aim_4; + self.rider_anims["aim_5"] = %sf_suv_lrear_idle_aim_5; + self.rider_anims["aim_6"] = %sf_suv_lrear_idle_aim_6; + self.rider_anims["aim_8"] = %sf_suv_lrear_idle_aim_8; + self.rider_anims["popin"] = %sf_suv_lrear_popin; + self.rider_anims["react"] = %sf_suv_lrear_react; + self.rider_anims["death"] = %sf_suv_lrear_death; + self.rider_anims["fire_1"] = %sf_suv_lrear_fire_1; + self.rider_anims["fire_2"] = %sf_suv_lrear_fire_2; + self.rider_anims["fire_3"] = %sf_suv_lrear_fire_3; + self.rider_anims["fire_4"] = %sf_suv_lrear_fire_4; + self.rider_anims["fire_5"] = %sf_suv_lrear_fire_5; + return; + } + + if(param_00 == "tag_guy1") + { + self.rider_anims["idle"] = %sf_suv_rrear_inside_idle; + self.rider_anims["popout"] = %sf_suv_rrear_popout; + self.rider_anims["aim_2"] = %sf_suv_rrear_idle_aim_2; + self.rider_anims["aim_4"] = %sf_suv_rrear_idle_aim_4; + self.rider_anims["aim_5"] = %sf_suv_rrear_idle_aim_5; + self.rider_anims["aim_6"] = %sf_suv_rrear_idle_aim_6; + self.rider_anims["aim_8"] = %sf_suv_rrear_idle_aim_8; + self.rider_anims["popin"] = %sf_suv_rrear_popin; + self.rider_anims["react"] = %sf_suv_rrear_react; + self.rider_anims["death"] = %sf_suv_rrear_death; + self.rider_anims["fire_1"] = %sf_suv_rrear_fire_1; + self.rider_anims["fire_2"] = %sf_suv_rrear_fire_2; + self.rider_anims["fire_3"] = %sf_suv_rrear_fire_3; + self.rider_anims["fire_4"] = %sf_suv_rrear_fire_4; + self.rider_anims["fire_5"] = %sf_suv_rrear_fire_5; + return; + } + + if(param_00 == "tag_guy2") + { + self.rider_anims["idle"] = %sf_suv_rear_inside_idle; + self.rider_anims["popout"] = %sf_suv_rear_popout; + self.rider_anims["aim_2"] = %sf_suv_rear_idle_aim_2; + self.rider_anims["aim_4"] = %sf_suv_rear_idle_aim_4; + self.rider_anims["aim_5"] = %sf_suv_rear_idle_aim_5; + self.rider_anims["aim_6"] = %sf_suv_rear_idle_aim_6; + self.rider_anims["aim_8"] = %sf_suv_rear_idle_aim_8; + self.rider_anims["react"] = %sf_suv_rear_react; + self.rider_anims["death"] = %sf_suv_rear_death; + self.rider_anims["fire_1"] = %sf_suv_rear_fire_1; + self.rider_anims["fire_2"] = %sf_suv_rear_fire_2; + self.rider_anims["fire_3"] = %sf_suv_rear_fire_3; + self.rider_anims["fire_4"] = %sf_suv_rear_fire_4; + self.rider_anims["fire_5"] = %sf_suv_rear_fire_5; + return; + } + + if(param_00 == "tag_driver") + { + self.rider_anims["death"] = %sf_suv_lrear_death; + return; + } + + if(param_00 == "tag_passenger") + { + self.rider_anims["death"] = %sf_suv_rrear_death; + return; + } +} + +//Function Number: 8 +atlas_suv_rider_think() +{ + if(!isdefined(self)) + { + return; + } + + if(!isdefined(self.vehicle_position)) + { + return; + } + + if(!isdefined(self.ridingvehicle)) + { + return; + } + + atlas_suv_rider_no_react(); + var_00 = self.ridingvehicle; + var_01 = maps\_vehicle_aianim::anim_pos(var_00,self.vehicle_position); + setup_rider_anims(var_01.sittag); + self setanimknoball(%atlas_suv,%root,1,0); + thread rider_think_loop(var_00,var_01.sittag); +} + +//Function Number: 9 +enable_react_on_unload() +{ + self endon("death"); + self waittill("unload"); + if(isdefined(self) && isalive(self)) + { + atlas_suv_rider_react(); + } +} + +//Function Number: 10 +atlas_suv_rider_no_react() +{ + thread enable_react_on_unload(); + self.grenadeawareness = 0; + maps\_utility::disable_surprise(); + self.allowpain = 0; + self.flashbangimmunity = 1; + self.disablebulletwhizbyreaction = 1; +} + +//Function Number: 11 +atlas_suv_rider_react() +{ + self.grenadeawareness = 1; + maps\_utility::enable_surprise(); + self.allowpain = 1; + self.flashbangimmunity = 0; + self.disablebulletwhizbyreaction = undefined; +} + +//Function Number: 12 +rider_think_loop(param_00,param_01) +{ + self endon("death"); + self endon("jumpedout"); + self endon("jumping_out"); + for(;;) + { + thread play_idle_anim(); + var_02 = find_threat(param_01); + play_combat_state(param_00,param_01,var_02); + } +} + +//Function Number: 13 +find_threat(param_00) +{ + var_01 = self.enemy; + for(;;) + { + if(isdefined(self.enemy)) + { + var_01 = self.enemy; + var_02 = var_01 geteye() - self geteye(); + var_03 = vectornormalize(var_02); + var_04 = anglestoforward(self.angles); + var_05 = vectordot(var_03,var_04); + if(var_05 > 0.707 && param_00 == "tag_guy2") + { + break; + } + + if(var_05 < 0) + { + var_06 = anglestoright(self.angles); + var_07 = vectordot(var_03,var_06); + if(var_07 < 0 && param_00 == "tag_guy0") + { + break; + } + + if(var_07 > 0 && param_00 == "tag_guy1") + { + break; + } + } + } + + wait(0.1); + } + + return var_01; +} + +//Function Number: 14 +play_idle_anim() +{ + self endon("stop_idle_loop"); + self endon("death"); + self endon("jumpedout"); + self endon("jumping_out"); + var_00 = self.ridingvehicle; + var_01 = maps\_vehicle_aianim::anim_pos(var_00,self.vehicle_position); + for(;;) + { + self notify("newanim"); + var_00 maps\_vehicle_aianim::animontag(self,var_01.sittag,self.rider_anims["idle"]); + } +} + +//Function Number: 15 +play_combat_state(param_00,param_01,param_02) +{ + self endon("death"); + self notify("stop_idle_loop"); + self notify("newanim"); + thread open_window(param_00,param_01); + param_00 maps\_vehicle_aianim::animontag(self,param_01,self.rider_anims["popout"]); + if(isdefined(param_02)) + { + play_aim_anim(param_01,param_02); + } + + self clearanim(%atlas_suv_aiming,0.2); + if(isdefined(self.rider_anims["popin"])) + { + param_00 maps\_vehicle_aianim::animontag(self,param_01,self.rider_anims["popin"]); + } +} + +//Function Number: 16 +custom_aim_notetracks(param_00) +{ + self endon("killanimscript"); + for(;;) + { + self waittill(param_00,var_01); + if(isdefined(var_01)) + { + animscripts\notetracks::handlenotetrack(var_01,param_00); + } + } +} + +//Function Number: 17 +custom_aim_animscript() +{ + self endon("killanimscript"); + self clearanim(%atlas_suv_actions,0.2); + self setanim(%atlas_suv_aiming,1,0,1); + var_00 = "combat_aim"; + thread custom_aim_notetracks(var_00); + var_01 = 0; + var_02 = 0; + var_03 = 0; + if(self.animscript_sittag == "tag_guy0") + { + var_01 = 90; + var_02 = 180; + var_03 = 135; + } + else if(self.animscript_sittag == "tag_guy1") + { + var_01 = 0; + var_02 = 90; + var_03 = 45; + } + else if(self.animscript_sittag == "tag_guy2") + { + var_01 = 45; + var_02 = 135; + var_03 = 90; + } + + var_04 = 0; + var_05 = 0; + var_06 = 0; + for(;;) + { + if(!isdefined(self.animscript_target)) + { + self notify("kill_aim_anim"); + } + + if(isdefined(self.animscript_target)) + { + var_07 = self.animscript_target geteye() - self geteye(); + var_08 = vectornormalize(var_07); + var_09 = anglestoforward(self.angles); + var_0A = vectordot(var_08,var_09); + if(self.animscript_sittag == "tag_guy2") + { + if(var_0A < 0) + { + self notify("kill_aim_anim"); + } + } + else if(var_0A > 0) + { + self notify("kill_aim_anim"); + } + + var_0B = anglestoright(self.angles); + var_0C = vectordot(var_08,var_0B); + var_0D = acos(var_0C); + var_0D = angleclamp180(var_0D); + var_0D = clamp(var_0D,var_01,var_02); + if(self.animscript_sittag == "tag_guy1") + { + var_0D = 90 - var_0D; + } + else if(self.animscript_sittag == "tag_guy2") + { + var_0D = 180 - var_0D; + } + + var_0D = var_0D - var_03; + var_04 = var_0D / 45; + } + + var_0E = var_04 - var_05; + var_0E = clamp(var_0E,-0.1,0.1); + var_04 = var_05 + var_0E; + var_05 = var_04; + if(var_04 < 0) + { + var_0F = var_04 * -1; + var_10 = 1 - var_0F; + var_11 = 0; + } + else + { + var_11 = var_04; + var_10 = 1 - var_11; + var_0F = 0; + } + + var_0F = clamp(var_0F,0,1); + var_10 = clamp(var_10,0,1); + var_11 = clamp(var_11,0,1); + update_anim_weight(self.rider_anims["aim_4"],var_0F); + update_anim_weight(self.rider_anims["aim_5"],var_10); + update_anim_weight(self.rider_anims["aim_6"],var_11); + if(isdefined(var_06) && var_06 > 0) + { + var_06 = var_06 - 0.05; + } + else + { + var_12 = ["fire_1","fire_2","fire_3","fire_4","fire_5"]; + var_13 = var_12[randomint(var_12.size)]; + var_14 = self.rider_anims[var_13]; + if(isdefined(var_14)) + { + var_06 = getanimlength(var_14); + var_06 = var_06 + randomfloatrange(0,2); + self setflaggedanimknobrestart(var_00,var_14,1,0,1); + } + } + + wait(0.05); + } +} + +//Function Number: 18 +open_window(param_00,param_01) +{ + var_02 = undefined; + var_03 = undefined; + if(param_01 == "tag_guy0") + { + var_02 = "lrear_window_open"; + var_03 = %sf_suv_lrear_window_open; + } + else if(param_01 == "tag_guy1") + { + var_02 = "rrear_window_open"; + var_03 = %sf_suv_rrear_window_open; + } + else if(param_01 == "tag_guy2") + { + var_02 = "rear_window_open"; + var_03 = %sf_suv_rear_window_open; + } + + if(isdefined(var_02)) + { + if(!param_00 maps\_utility::ent_flag(var_02)) + { + param_00 setanim(var_03,1,0,1); + param_00 maps\_utility::ent_flag_set(var_02); + } + } +} + +//Function Number: 19 +update_anim_weight(param_00,param_01) +{ + self setanim(param_00,param_01,0,1); +} + +//Function Number: 20 +play_aim_anim(param_00,param_01) +{ + thread notify_kill_aim_anim(param_01); + self.animscript_sittag = param_00; + self.animscript_target = param_01; + self animcustom(::custom_aim_animscript); + wait(0.05); + self waittill("kill_aim_anim"); + self notify("killanimscript"); +} + +//Function Number: 21 +notify_on_death(param_00) +{ + self endon("kill_aim_anim"); + param_00 waittill("death"); + wait(0.2); + self notify("kill_aim_anim"); +} + +//Function Number: 22 +notify_kill_aim_anim(param_00) +{ + self endon("death"); + self endon("kill_aim_anim"); + if(!isdefined(param_00)) + { + self notify("kill_aim_anim"); + } + + thread notify_on_death(param_00); +} + +//Function Number: 23 +clear_anim_on_death() +{ + self waittill("death_finished"); + self clearanim(%root,0); +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_atlas_van.gsc b/AW/PC/vehicle_scripts/_atlas_van.gsc new file mode 100644 index 0000000..f52fdf5 --- /dev/null +++ b/AW/PC/vehicle_scripts/_atlas_van.gsc @@ -0,0 +1,135 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _atlas_van.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 5 + * Decompile Time: 87 ms + * Timestamp: 4/22/2024 2:04:20 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + maps\_vehicle::build_template("atlas_van",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_deathmodel("vehicle_armored_van","vehicle_civ_workvan_dstrypv"); + maps\_vehicle::build_deathfx("vfx/explosion/vehicle_civ_ai_explo_med_runner","TAG_DEATH_FX","car_explode",undefined,undefined,undefined,0); + maps\_vehicle::build_light(param_02,"brakelight_set","tag_origin","vfx/lights/veh_ind_van_utility_stop_light","brakelights"); + maps\_vehicle::build_radiusdamage((0,0,32),300,200,100,0); + maps\_vehicle::build_drive(%uaz_driving_idle_forward,%uaz_driving_idle_backward,10); + maps\_vehicle::build_deathquake(1,1.6,500); + maps\_vehicle::build_life(999,5000,6000); + maps\_vehicle::build_team("axis"); + maps\_vehicle::build_treadfx(param_02,"default","vfx/treadfx/tread_dust_default"); + maps\_vehicle::build_aianims(::setanims,::set_vehicle_anims); + maps\_vehicle::build_unload_groups(::unload_groups); +} + +//Function Number: 2 +init_local() +{ + self hidepart("rear_handle_obj_left_jnt"); + self hidepart("rear_handle_obj_right_jnt"); +} + +//Function Number: 3 +set_vehicle_anims(param_00) +{ + param_00[0].vehicle_getoutanim = %russian_swat_van_driver_getout_door; + param_00[0].vehicle_getoutsoundtag = "front_door_left_jnt"; + param_00[0].vehicle_getoutanim_clear = 1; + param_00[1].vehicle_getoutanim_clear = 0; + param_00[2].vehicle_getoutanim_clear = 0; + param_00[3].vehicle_getoutanim_clear = 0; + param_00[4].vehicle_getoutanim_clear = 0; + param_00[5].vehicle_getoutanim_clear = 0; + param_00[6].vehicle_getoutanim_clear = 0; + param_00[7].vehicle_getoutanim_clear = 0; + param_00[8].vehicle_getoutanim_clear = 0; + return param_00; +} + +//Function Number: 4 +setanims() +{ + var_00 = []; + for(var_01 = 0;var_01 < 9;var_01++) + { + var_00[var_01] = spawnstruct(); + } + + var_00[0].sittag = "tag_driver"; + var_00[0].idle = %russian_swat_van_driver_idle; + var_00[0].getout = %russian_swat_van_driver_getout; + var_00[1].sittag = "tag_detach"; + var_00[1].idle = %humvee_idle_frontl; + var_00[1].getout = %russian_swat_van_guyl1_getout; + var_00[1].getout_secondary = %russian_swat_van_guyl_runoff; + var_00[1].explosion_death = %death_explosion_stand_b_v1; + var_00[2].sittag = "tag_detach"; + var_00[2].idle = %russian_swat_van_guyr1_idle; + var_00[2].getout = %russian_swat_van_guyr1_getout; + var_00[2].getout_secondary = %russian_swat_van_guyr_runoff; + var_00[2].explosion_death = %death_explosion_stand_b_v2; + var_00[3].sittag = "tag_detach"; + var_00[3].idle = %russian_swat_van_guyl2_idle; + var_00[3].getout = %russian_swat_van_guyl2_getout; + var_00[3].getout_secondary = %russian_swat_van_guyl_runoff; + var_00[3].explosion_death = %death_explosion_stand_b_v3; + var_00[4].sittag = "tag_detach"; + var_00[4].idle = %russian_swat_van_guyr2_idle; + var_00[4].getout = %russian_swat_van_guyr2_getout; + var_00[4].getout_secondary = %russian_swat_van_guyr_runoff; + var_00[4].explosion_death = %death_explosion_stand_b_v4; + var_00[5].sittag = "tag_detach"; + var_00[5].idle = %russian_swat_van_guyl3_idle; + var_00[5].getout = %russian_swat_van_guyl3_getout; + var_00[5].getout_secondary = %russian_swat_van_guyl_runoff; + var_00[5].explosion_death = %death_explosion_stand_b_v2; + var_00[6].sittag = "tag_detach"; + var_00[6].idle = %russian_swat_van_guyr3_idle; + var_00[6].getout = %russian_swat_van_guyr3_getout; + var_00[6].getout_secondary = %russian_swat_van_guyr_runoff; + var_00[6].explosion_death = %death_explosion_stand_b_v1; + var_00[7].sittag = "tag_detach"; + var_00[7].idle = %russian_swat_van_guyl4_idle; + var_00[7].getout = %russian_swat_van_guyl4_getout; + var_00[7].getout_secondary = %russian_swat_van_guyl_runoff; + var_00[7].explosion_death = %death_explosion_stand_b_v4; + var_00[8].sittag = "tag_detach"; + var_00[8].idle = %russian_swat_van_guyr4_idle; + var_00[8].getout = %russian_swat_van_guyr4_getout; + var_00[8].getout_secondary = %russian_swat_van_guyr_runoff; + var_00[8].explosion_death = %death_explosion_stand_b_v3; + return var_00; +} + +//Function Number: 5 +unload_groups() +{ + var_00 = []; + var_00["passengers"] = []; + var_00["all"] = []; + var_01 = "passengers"; + var_00[var_01][var_00[var_01].size] = 1; + var_00[var_01][var_00[var_01].size] = 2; + var_00[var_01][var_00[var_01].size] = 3; + var_00[var_01][var_00[var_01].size] = 4; + var_00[var_01][var_00[var_01].size] = 5; + var_00[var_01][var_00[var_01].size] = 6; + var_00[var_01][var_00[var_01].size] = 7; + var_00[var_01][var_00[var_01].size] = 8; + var_01 = "all"; + var_00[var_01][var_00[var_01].size] = 0; + var_00[var_01][var_00[var_01].size] = 1; + var_00[var_01][var_00[var_01].size] = 2; + var_00[var_01][var_00[var_01].size] = 3; + var_00[var_01][var_00[var_01].size] = 4; + var_00[var_01][var_00[var_01].size] = 5; + var_00[var_01][var_00[var_01].size] = 6; + var_00[var_01][var_00[var_01].size] = 7; + var_00[var_01][var_00[var_01].size] = 8; + var_00["default"] = var_00["all"]; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/SP/vehicle_scripts/_attack_drone.gsc b/AW/PC/vehicle_scripts/_attack_drone.gsc similarity index 99% rename from AW/PC/SP/vehicle_scripts/_attack_drone.gsc rename to AW/PC/vehicle_scripts/_attack_drone.gsc index 0dbe433..74e6f70 100644 --- a/AW/PC/SP/vehicle_scripts/_attack_drone.gsc +++ b/AW/PC/vehicle_scripts/_attack_drone.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_attack_drone.gsc + * Decompiled File: _attack_drone.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 42 - * Decompile Time: 544 ms - * Timestamp: 10/27/2023 2:06:07 AM + * Decompile Time: 592 ms + * Timestamp: 4/22/2024 2:04:22 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/vehicle_scripts/_attack_drone_aud.gsc b/AW/PC/vehicle_scripts/_attack_drone_aud.gsc similarity index 95% rename from AW/PC/SP/vehicle_scripts/_attack_drone_aud.gsc rename to AW/PC/vehicle_scripts/_attack_drone_aud.gsc index 755e8e0..bde9fa7 100644 --- a/AW/PC/SP/vehicle_scripts/_attack_drone_aud.gsc +++ b/AW/PC/vehicle_scripts/_attack_drone_aud.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_attack_drone_aud.gsc + * Decompiled File: _attack_drone_aud.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 4 - * Decompile Time: 44 ms - * Timestamp: 10/27/2023 2:06:07 AM + * Decompile Time: 86 ms + * Timestamp: 4/22/2024 2:04:23 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/vehicle_scripts/_attack_drone_common.gsc b/AW/PC/vehicle_scripts/_attack_drone_common.gsc similarity index 99% rename from AW/PC/SP/vehicle_scripts/_attack_drone_common.gsc rename to AW/PC/vehicle_scripts/_attack_drone_common.gsc index 39daee8..c747c99 100644 --- a/AW/PC/SP/vehicle_scripts/_attack_drone_common.gsc +++ b/AW/PC/vehicle_scripts/_attack_drone_common.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_attack_drone_common.gsc + * Decompiled File: _attack_drone_common.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 55 - * Decompile Time: 653 ms - * Timestamp: 10/27/2023 2:06:09 AM + * Decompile Time: 786 ms + * Timestamp: 4/22/2024 2:04:25 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/vehicle_scripts/_attack_drone_controllable.gsc b/AW/PC/vehicle_scripts/_attack_drone_controllable.gsc similarity index 99% rename from AW/PC/SP/vehicle_scripts/_attack_drone_controllable.gsc rename to AW/PC/vehicle_scripts/_attack_drone_controllable.gsc index 577aaa9..8b31d95 100644 --- a/AW/PC/SP/vehicle_scripts/_attack_drone_controllable.gsc +++ b/AW/PC/vehicle_scripts/_attack_drone_controllable.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_attack_drone_controllable.gsc + * Decompiled File: _attack_drone_controllable.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 54 - * Decompile Time: 646 ms - * Timestamp: 10/27/2023 2:06:12 AM + * Decompile Time: 813 ms + * Timestamp: 4/22/2024 2:04:28 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/vehicle_scripts/_attack_drone_individual.gsc b/AW/PC/vehicle_scripts/_attack_drone_individual.gsc similarity index 87% rename from AW/PC/SP/vehicle_scripts/_attack_drone_individual.gsc rename to AW/PC/vehicle_scripts/_attack_drone_individual.gsc index f669ef9..124b3d3 100644 --- a/AW/PC/SP/vehicle_scripts/_attack_drone_individual.gsc +++ b/AW/PC/vehicle_scripts/_attack_drone_individual.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_attack_drone_individual.gsc + * Decompiled File: _attack_drone_individual.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 2 - * Decompile Time: 21 ms - * Timestamp: 10/27/2023 2:06:12 AM + * Decompile Time: 45 ms + * Timestamp: 4/22/2024 2:04:28 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/vehicle_scripts/_attack_drone_kamikaze.gsc b/AW/PC/vehicle_scripts/_attack_drone_kamikaze.gsc similarity index 98% rename from AW/PC/SP/vehicle_scripts/_attack_drone_kamikaze.gsc rename to AW/PC/vehicle_scripts/_attack_drone_kamikaze.gsc index 4554479..8719d5e 100644 --- a/AW/PC/SP/vehicle_scripts/_attack_drone_kamikaze.gsc +++ b/AW/PC/vehicle_scripts/_attack_drone_kamikaze.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_attack_drone_kamikaze.gsc + * Decompiled File: _attack_drone_kamikaze.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 9 - * Decompile Time: 115 ms - * Timestamp: 10/27/2023 2:06:13 AM + * Decompile Time: 139 ms + * Timestamp: 4/22/2024 2:04:29 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/vehicle_scripts/_attack_drone_queen.gsc b/AW/PC/vehicle_scripts/_attack_drone_queen.gsc similarity index 94% rename from AW/PC/SP/vehicle_scripts/_attack_drone_queen.gsc rename to AW/PC/vehicle_scripts/_attack_drone_queen.gsc index ece8723..05b814e 100644 --- a/AW/PC/SP/vehicle_scripts/_attack_drone_queen.gsc +++ b/AW/PC/vehicle_scripts/_attack_drone_queen.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_attack_drone_queen.gsc + * Decompiled File: _attack_drone_queen.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 3 - * Decompile Time: 34 ms - * Timestamp: 10/27/2023 2:06:13 AM + * Decompile Time: 56 ms + * Timestamp: 4/22/2024 2:04:29 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/vehicle_scripts/_attack_heli.gsc b/AW/PC/vehicle_scripts/_attack_heli.gsc similarity index 87% rename from AW/PC/SP/vehicle_scripts/_attack_heli.gsc rename to AW/PC/vehicle_scripts/_attack_heli.gsc index 46f4e0e..c7ede4f 100644 --- a/AW/PC/SP/vehicle_scripts/_attack_heli.gsc +++ b/AW/PC/vehicle_scripts/_attack_heli.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_attack_heli.gsc + * Decompiled File: _attack_heli.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 74 - * Decompile Time: 947 ms - * Timestamp: 10/27/2023 2:06:16 AM + * Decompile Time: 1118 ms + * Timestamp: 4/22/2024 2:04:33 AM *******************************************************************/ //Function Number: 1 @@ -79,15 +79,23 @@ init() switch(level.gameskill) { case 0: + level.attackheliplayerbreak = 9; + level.attackhelitimeout = 1; break; case 1: + level.attackheliplayerbreak = 7; + level.attackhelitimeout = 2; break; case 2: + level.attackheliplayerbreak = 5; + level.attackhelitimeout = 3; break; case 3: + level.attackheliplayerbreak = 3; + level.attackhelitimeout = 5; break; } } @@ -159,23 +167,39 @@ begin_attack_heli_behavior(param_00,param_01) case "ny_harbor_hind": case "hind_blackice": case "hind": + param_00.turrettype = "default"; break; case "mi28": case "nh90": case "mi17": + param_00.turrettype = "default"; break; case "apache": + param_00.turrettype = "default"; break; case "littlebird_spotlight": case "littlebird": + param_00 setyawspeed(90,30,20); + param_00 setmaxpitchroll(40,40); + param_00 sethoverparams(100,20,5); + param_00 setup_miniguns(); break; default: break; } + + param_00.etarget = param_00.targetdefault; + if(isdefined(param_00.script_spotlight) && param_00.script_spotlight == 1 && !isdefined(param_00.spotlight)) + { + param_00 thread heli_spotlight_on(undefined,1); + } + + param_00 thread attack_heli_cleanup(); + return param_00; } //Function Number: 6 @@ -200,23 +224,42 @@ heli_default_target_setup() case "ny_harbor_hind": case "hind_blackice": case "hind": + var_01 = 600; + var_00 = -100; break; case "mi28": case "nh90": case "mi17": + var_01 = 600; + var_00 = -100; break; case "apache": + var_01 = 600; + var_00 = -100; break; case "littlebird_spotlight": case "littlebird": + var_01 = 600; + var_00 = -204; break; default: break; } + + self.targetdefault = spawn("script_origin",self.origin); + self.targetdefault.angles = self.angles; + self.targetdefault.origin = self.origin; + var_02 = spawnstruct(); + var_02.entity = self.targetdefault; + var_02.forward = var_01; + var_02.up = var_00; + var_02 maps\_utility::translate_local(); + self.targetdefault linkto(self); + self.targetdefault thread heli_default_target_cleanup(self); } //Function Number: 8 @@ -332,24 +375,64 @@ kill_heli_logic(param_00,param_01) case "mi28": case "nh90": case "mi17": + target_set(param_00,(0,0,-80)); break; case "ny_harbor_hind": case "hind_blackice": case "hind": + target_set(param_00,(0,0,-96)); break; case "apache": + target_set(param_00,(0,0,-96)); break; case "littlebird_spotlight": case "littlebird": + target_set(param_00,(0,0,-80)); break; default: break; } + + target_setjavelinonly(param_00,1); } + + param_00 thread heli_damage_monitor(); + param_00 thread heli_death_monitor(); + param_00 endon("death"); + param_00 endon("heli_players_dead"); + param_00 endon("returning_home"); + param_00 setvehweapon("turret_attackheli"); + if(!isdefined(param_00.circling)) + { + param_00.circling = 0; + } + + if(!param_00.circling) + { + param_00 setneargoalnotifydist(100); + if(!isdefined(param_00.dontwaitforpathend)) + { + param_00 waittill("reached_dynamic_path_end"); + } + } + else + { + param_00 setneargoalnotifydist(500); + param_00 waittill("near_goal"); + } + + param_00 thread heli_shoot_think(); + if(param_00.circling) + { + param_00 thread heli_circling_think(param_01,var_02); + return; + } + + param_00 thread heli_goal_think(var_02); } //Function Number: 13 @@ -746,15 +829,71 @@ heli_missiles_think() switch(self.vehicletype) { case "mi28": + var_00 = 1; + var_03 = 1; + var_04 = 0.5; + var_05[0] = "tag_store_L_2_a"; + var_05[1] = "tag_store_R_2_a"; + var_05[2] = "tag_store_L_2_b"; + var_05[3] = "tag_store_R_2_b"; + var_05[4] = "tag_store_L_2_c"; + var_05[5] = "tag_store_R_2_c"; + var_05[6] = "tag_store_L_2_d"; + var_05[7] = "tag_store_R_2_d"; break; case "littlebird": case "apache": + var_00 = 1; + var_03 = 1; + var_04 = 0.5; + var_05[0] = "tag_missile_left"; + var_05[1] = "tag_missile_right"; break; default: break; } + + var_06 = -1; + for(;;) + { + wait(0.05); + self waittill("fire_missiles",var_07); + if(!isplayer(var_07)) + { + continue; + } + + var_08 = var_07; + if(!player_is_good_missile_target(var_08)) + { + continue; + } + + for(var_09 = 0;var_09 < var_00;var_09++) + { + var_06++; + if(var_06 >= var_05.size) + { + var_06 = 0; + } + + self setvehweapon(var_02); + self.firingmissiles = 1; + var_0A = self fireweapon(var_05[var_06],var_08); + var_0A thread missilelosetarget(var_04); + var_0A thread missile_earthquake(); + if(var_09 < var_00 - 1) + { + wait(var_03); + } + } + + self.firingmissiles = 0; + self setvehweapon(var_01); + wait(10); + } } //Function Number: 25 @@ -846,9 +985,17 @@ fire_guns() switch(self.turrettype) { case "default": + var_00 = randomintrange(5,10); + var_01 = weaponfiretime("turret_attackheli"); + turret_default_fire(self.etarget,var_00,var_01); break; case "miniguns": + var_00 = getburstsize(self.etarget); + if(self.allowshoot && !self.firingmissiles) + { + turret_minigun_fire(self.etarget,var_00); + } break; default: @@ -872,8 +1019,11 @@ getburstsize(param_00) case 2: case 1: case 0: + var_01 = randomintrange(2,3); break; } + + return var_01; } //Function Number: 33 @@ -1403,15 +1553,25 @@ heli_spotlight_aim(param_00) thread heli_spotlight_think(param_00); var_01 = undefined; - wait(0.05); - switch(self.vehicletype) + for(;;) { - case "littlebird_spotlight": - case "littlebird": - break; + wait(0.05); + switch(self.vehicletype) + { + case "littlebird_spotlight": + case "littlebird": + var_01 = self.spottarget; + break; + + default: + var_01 = self.etarget; + break; + } - default: - break; + if(isdefined(var_01)) + { + self setturrettargetent(var_01,(0,0,0)); + } } } @@ -1679,18 +1839,54 @@ heli_fire_missiles(param_00,param_01,param_02,param_03) switch(self.vehicletype) { case "mi28": + var_06 = 0.5; + var_07[0] = "tag_store_L_2_a"; + var_07[1] = "tag_store_R_2_a"; + var_07[2] = "tag_store_L_2_b"; + var_07[3] = "tag_store_R_2_b"; + var_07[4] = "tag_store_L_2_c"; + var_07[5] = "tag_store_R_2_c"; + var_07[6] = "tag_store_L_2_d"; + var_07[7] = "tag_store_R_2_d"; break; case "littlebird": case "apache": + var_06 = 0.5; + var_07[0] = "tag_missile_left"; + var_07[1] = "tag_missile_right"; break; case "hind_battle": + var_07[0] = "tag_missile_left"; + var_07[1] = "tag_missile_right"; break; default: break; } + + var_08 = -1; + for(var_09 = 0;var_09 < param_01;var_09++) + { + var_08++; + if(var_08 >= var_07.size) + { + var_08 = 0; + } + + self setvehweapon(var_05); + self.firingmissiles = 1; + var_0A = self fireweapon(var_07[var_08],param_00); + var_0A thread missile_earthquake(); + if(var_09 < param_01 - 1) + { + wait(param_02); + } + } + + self.firingmissiles = 0; + self setvehweapon(var_04); } //Function Number: 72 diff --git a/AW/PC/vehicle_scripts/_chinese_brave_warrior.gsc b/AW/PC/vehicle_scripts/_chinese_brave_warrior.gsc new file mode 100644 index 0000000..83b2c6b --- /dev/null +++ b/AW/PC/vehicle_scripts/_chinese_brave_warrior.gsc @@ -0,0 +1,56 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _chinese_brave_warrior.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 6 + * Decompile Time: 103 ms + * Timestamp: 4/22/2024 2:04:34 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + maps\_vehicle::build_template("warrior_atlas",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_drive(%humvee_50cal_driving_idle_forward,%humvee_50cal_driving_idle_backward,10); + maps\_vehicle::build_life(999,500,1500); + maps\_vehicle::build_treadfx(); + maps\_vehicle::build_team("allies"); + maps\_vehicle::build_aianims(::setanims,::set_vehicle_anims); +} + +//Function Number: 2 +init_local() +{ + if(issubstr(self.vehicletype,"physics")) + { + var_00 = []; + var_00["idle"] = %humvee_antennas_idle_movement; + var_00["rot_l"] = %humvee_antenna_l_rotate_360; + var_00["rot_r"] = %humvee_antenna_r_rotate_360; + thread maps\_vehicle_code::humvee_antenna_animates(var_00); + } +} + +//Function Number: 3 +build_humvee_anims() +{ + maps\_vehicle::build_aianims(::setanims,::set_vehicle_anims); +} + +//Function Number: 4 +set_vehicle_anims(param_00) +{ + return param_00; +} + +//Function Number: 5 +setanims() +{ +} + +//Function Number: 6 +unload_groups() +{ +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_civ_boat.gsc b/AW/PC/vehicle_scripts/_civ_boat.gsc new file mode 100644 index 0000000..b44cb18 --- /dev/null +++ b/AW/PC/vehicle_scripts/_civ_boat.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _civ_boat.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 4 + * Decompile Time: 71 ms + * Timestamp: 4/22/2024 2:04:34 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + maps\_vehicle::build_template("civ_domestic_boat",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_deathfx("vfx/explosion/vehicle_civ_boat_explosion",undefined,"explo_metal_rand"); + maps\_vehicle::build_life(999,500,1500); + maps\_vehicle::build_team("allies"); + maps\_vehicle::build_aianims(::setanims,::set_vehicle_anims); +} + +//Function Number: 2 +init_local() +{ + soundscripts\_snd::snd_message("civ_boat_spawn",self); +} + +//Function Number: 3 +set_vehicle_anims(param_00) +{ + return param_00; +} + +//Function Number: 4 +setanims() +{ + var_00 = []; + for(var_01 = 0;var_01 < 2;var_01++) + { + var_00[var_01] = spawnstruct(); + } + + var_00[0].sittag = "tag_driver"; + var_00[0].idle = %humvee_idle_frontl; + var_00[1].sittag = "tag_passenger"; + var_00[1].idle = %humvee_idle_frontr; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_civ_boxtruck_ai.gsc b/AW/PC/vehicle_scripts/_civ_boxtruck_ai.gsc new file mode 100644 index 0000000..1069bcd --- /dev/null +++ b/AW/PC/vehicle_scripts/_civ_boxtruck_ai.gsc @@ -0,0 +1,48 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _civ_boxtruck_ai.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 4 + * Decompile Time: 66 ms + * Timestamp: 4/22/2024 2:04:34 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + maps\_vehicle::build_template("civ_boxtruck_ai",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_drive(%technical_driving_idle_forward,%technical_driving_idle_backward,10); + maps\_vehicle::build_treadfx(param_02,"default","vfx/treadfx/tread_dust_default"); + maps\_vehicle::build_life(999,500,1500); + maps\_vehicle::build_team("axis"); + maps\_vehicle::build_deathmodel("vehicle_civ_boxtruck_ai","vehicle_civ_boxtruck_dstrypv",0); + maps\_vehicle::build_deathfx("vfx/explosion/vehicle_civ_ai_explo_lrg_runner","TAG_DEATH_FX","lag_rndabt_car_large_explo",undefined,undefined,undefined,0); +} + +//Function Number: 2 +init_local() +{ + soundscripts\_snd::snd_message("atlas_van_explode"); +} + +//Function Number: 3 +set_vehicle_anims(param_00) +{ + return param_00; +} + +//Function Number: 4 +setanims() +{ + var_00 = []; + for(var_01 = 0;var_01 < 1;var_01++) + { + var_00[var_01] = spawnstruct(); + } + + var_00[0].sittag = "tag_driver"; + var_00[0].idle = %civ_workvan_driver_idle; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_civ_domestic_bus.gsc b/AW/PC/vehicle_scripts/_civ_domestic_bus.gsc new file mode 100644 index 0000000..270f90f --- /dev/null +++ b/AW/PC/vehicle_scripts/_civ_domestic_bus.gsc @@ -0,0 +1,56 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _civ_domestic_bus.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 4 + * Decompile Time: 81 ms + * Timestamp: 4/22/2024 2:04:35 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + maps\_vehicle::build_template("civ_domestic_bus",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_drive(%civ_domestic_bus_driving_idle_forward,%civ_domestic_bus_driving_idle_backward,10); + maps\_vehicle::build_treadfx(param_02,"default","vfx/treadfx/tread_dust_default"); + maps\_vehicle::build_treadfx_script_model(param_02,"default","vfx/treadfx/tread_dust_van_bright"); + maps\_vehicle::build_life(999,500,1500); + maps\_vehicle::build_team("allies"); + maps\_vehicle::build_aianims(::setanims,::set_vehicle_anims); + maps\_vehicle::build_light(param_02,"headlight_left","tag_headlight_left","vfx/lights/veh_default_front_signal_light_l","headlights"); + maps\_vehicle::build_light(param_02,"headlight_right","tag_headlight_right","vfx/lights/veh_default_front_signal_light_r","headlights"); + maps\_vehicle::build_light(param_02,"taillight_right","tag_brakelight_right","vfx/lights/veh_default_tail_light_r","taillights"); + maps\_vehicle::build_light(param_02,"taillight_left","tag_brakelight_left","vfx/lights/veh_default_tail_light_l","taillights"); + maps\_vehicle::build_light(param_02,"brakelight_set","tag_origin","vfx/lights/veh_civ_domestic_bus_stop_light","brakelights"); + maps\_vehicle::build_deathfx("vfx/explosion/vehicle_generic_ai_explo_lrg_runner","TAG_DEATH_FX","lag_rndabt_car_large_explo",undefined,undefined,undefined,0); +} + +//Function Number: 2 +init_local() +{ + soundscripts\_snd::snd_message("atlas_van_explode"); +} + +//Function Number: 3 +set_vehicle_anims(param_00) +{ + return param_00; +} + +//Function Number: 4 +setanims() +{ + var_00 = []; + for(var_01 = 0;var_01 < 2;var_01++) + { + var_00[var_01] = spawnstruct(); + } + + var_00[0].sittag = "tag_driver"; + var_00[1].sittag = "tag_passenger"; + var_00[0].idle = %gaz_idle_frontl; + var_00[1].idle = %gaz_idle_frontr; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_civ_domestic_economy_ai.gsc b/AW/PC/vehicle_scripts/_civ_domestic_economy_ai.gsc new file mode 100644 index 0000000..4ca805c --- /dev/null +++ b/AW/PC/vehicle_scripts/_civ_domestic_economy_ai.gsc @@ -0,0 +1,61 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _civ_domestic_economy_ai.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 4 + * Decompile Time: 81 ms + * Timestamp: 4/22/2024 2:04:35 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + maps\_vehicle::build_template("civ_domestic_economy_ai",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_drive(%technical_driving_idle_forward,%technical_driving_idle_backward,10); + maps\_vehicle::build_treadfx(param_02,"default","vfx/treadfx/tread_dust_default"); + maps\_vehicle::build_treadfx_script_model(param_02,"default","vfx/treadfx/tread_dust_sedan_bright"); + maps\_vehicle::build_life(999,500,1500); + maps\_vehicle::build_team("allies"); + maps\_vehicle::build_aianims(::setanims,::set_vehicle_anims); + maps\_vehicle::build_light(param_02,"headlight_set","tag_origin","vfx/lights/veh_compact_head_light","headlights"); + maps\_vehicle::build_light(param_02,"taillight_scroll_right","tag_brakelight_right","vfx/lights/veh_compact_signal_light_back_rt","taillights"); + maps\_vehicle::build_light(param_02,"taillight_scroll_left","tag_brakelight_left","vfx/lights/veh_compact_signal_light_back_lt","taillights"); + maps\_vehicle::build_light(param_02,"frontsignal_right","tag_headlight_right","vfx/lights/veh_compact_signal_light_front_rt","taillights"); + maps\_vehicle::build_light(param_02,"frontsignal_left","tag_headlight_left","vfx/lights/veh_compact_signal_light_front_lt","taillights"); + maps\_vehicle::build_light(param_02,"brakelight_set","tag_origin","vfx/lights/veh_compact_stop_light","brakelights"); + maps\_vehicle::build_deathmodel("vehicle_civ_domestic_economy_ai","vehicle_civ_domestic_economy_dstrypv",0); + maps\_vehicle::build_deathmodel("vehicle_civ_domestic_economy_clr02_ai","vehicle_civ_domestic_economy_dstrypv",0); + maps\_vehicle::build_deathmodel("vehicle_civ_domestic_economy_clr03_ai","vehicle_civ_domestic_economy_dstrypv",0); + maps\_vehicle::build_deathmodel("vehicle_civ_domestic_economy_clr04_ai","vehicle_civ_domestic_economy_dstrypv",0); + maps\_vehicle::build_deathmodel("vehicle_civ_domestic_economy_clr05_ai","vehicle_civ_domestic_economy_dstrypv",0); + maps\_vehicle::build_deathmodel("vehicle_civ_domestic_economy_clr06_ai","vehicle_civ_domestic_economy_dstrypv",0); + maps\_vehicle::build_deathfx("vfx/explosion/vehicle_civ_ai_explo_small_runner","TAG_DEATH_FX","lag_rndabt_car_small_explo",undefined,undefined,undefined,0); +} + +//Function Number: 2 +init_local() +{ + soundscripts\_snd::snd_message("atlas_van_explode"); +} + +//Function Number: 3 +set_vehicle_anims(param_00) +{ + return param_00; +} + +//Function Number: 4 +setanims() +{ + var_00 = []; + for(var_01 = 0;var_01 < 1;var_01++) + { + var_00[var_01] = spawnstruct(); + } + + var_00[0].sittag = "tag_driver"; + var_00[0].idle = %humvee_idle_frontl; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_civ_domestic_minivan.gsc b/AW/PC/vehicle_scripts/_civ_domestic_minivan.gsc new file mode 100644 index 0000000..d8db1a5 --- /dev/null +++ b/AW/PC/vehicle_scripts/_civ_domestic_minivan.gsc @@ -0,0 +1,56 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _civ_domestic_minivan.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 4 + * Decompile Time: 69 ms + * Timestamp: 4/22/2024 2:04:36 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + maps\_vehicle::build_template("civ_domestic_minivan",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_drive(%technical_driving_idle_forward,%technical_driving_idle_backward,10); + maps\_vehicle::build_treadfx(param_02,"default","vfx/treadfx/tread_dust_default"); + maps\_vehicle::build_treadfx_script_model(param_02,"default","vfx/treadfx/tread_dust_van_bright"); + maps\_vehicle::build_life(999,500,1500); + maps\_vehicle::build_team("allies"); + maps\_vehicle::build_aianims(::setanims,::set_vehicle_anims); + maps\_vehicle::build_light(param_02,"headlight_left","tag_headlight_left","vfx/lights/veh_default_front_signal_light_l","headlights"); + maps\_vehicle::build_light(param_02,"headlight_right","tag_headlight_right","vfx/lights/veh_default_front_signal_light_r","headlights"); + maps\_vehicle::build_light(param_02,"taillight_right","tag_brakelight_right","vfx/lights/veh_default_tail_light_r","taillights"); + maps\_vehicle::build_light(param_02,"taillight_left","tag_brakelight_left","vfx/lights/veh_default_tail_light_l","taillights"); + maps\_vehicle::build_deathmodel("vehicle_civ_domestic_minivan_02","vehicle_civ_domestic_sedan_police_dstrypv",0); + maps\_vehicle::build_deathfx("vfx/explosion/vehicle_civ_ai_explo_lrg_runner","TAG_DEATH_FX","lag_rndabt_car_large_explo",undefined,undefined,undefined,0); +} + +//Function Number: 2 +init_local() +{ + soundscripts\_snd::snd_message("atlas_van_explode"); +} + +//Function Number: 3 +set_vehicle_anims(param_00) +{ + return param_00; +} + +//Function Number: 4 +setanims() +{ + var_00 = []; + for(var_01 = 0;var_01 < 2;var_01++) + { + var_00[var_01] = spawnstruct(); + } + + var_00[0].sittag = "tag_driver"; + var_00[1].sittag = "tag_passenger"; + var_00[0].idle = %humvee_idle_frontl; + var_00[1].idle = %humvee_idle_frontr; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_civ_domestic_sedan_01.gsc b/AW/PC/vehicle_scripts/_civ_domestic_sedan_01.gsc new file mode 100644 index 0000000..ce16a56 --- /dev/null +++ b/AW/PC/vehicle_scripts/_civ_domestic_sedan_01.gsc @@ -0,0 +1,58 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _civ_domestic_sedan_01.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 4 + * Decompile Time: 75 ms + * Timestamp: 4/22/2024 2:04:36 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + maps\_vehicle::build_template("civ_domestic_sedan_01",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_drive(%technical_driving_idle_forward,%technical_driving_idle_backward,10); + maps\_vehicle::build_treadfx(param_02,"default","vfx/treadfx/tread_dust_default"); + maps\_vehicle::build_treadfx_script_model(param_02,"default","vfx/treadfx/tread_dust_sedan_bright"); + maps\_vehicle::build_life(999,500,1500); + maps\_vehicle::build_team("allies"); + maps\_vehicle::build_aianims(::setanims,::set_vehicle_anims); + maps\_vehicle::build_light(param_02,"headlight_left","tag_headlight_left","vfx/lights/veh_default_front_signal_light_l","headlights"); + maps\_vehicle::build_light(param_02,"headlight_right","tag_headlight_right","vfx/lights/veh_default_front_signal_light_r","headlights"); + maps\_vehicle::build_light(param_02,"taillight_right","tag_brakelight_right","vfx/lights/veh_default_tail_light_r","taillights"); + maps\_vehicle::build_light(param_02,"taillight_left","tag_brakelight_left","vfx/lights/veh_default_tail_light_l","taillights"); + maps\_vehicle::build_deathmodel("vehicle_civ_domestic_sedan_01","vehicle_civ_domestic_sedan_01_dstrypv",0); + maps\_vehicle::build_deathmodel("vehicle_civ_domestic_sedan_01_gold","vehicle_civ_domestic_sedan_01_dstrypv",0); + maps\_vehicle::build_deathmodel("vehicle_civ_domestic_sedan_01_gray","vehicle_civ_domestic_sedan_01_dstrypv",0); + maps\_vehicle::build_deathmodel("vehicle_civ_domestic_sedan_01_grn","vehicle_civ_domestic_sedan_01_dstrypv",0); + maps\_vehicle::build_deathmodel("vehicle_civ_domestic_sedan_01_slvr","vehicle_civ_domestic_sedan_01_dstrypv",0); + maps\_vehicle::build_deathfx("vfx/explosion/vehicle_civ_ai_explo_small_runner","TAG_DEATH_FX","lag_rndabt_car_large_explo",undefined,undefined,undefined,0); +} + +//Function Number: 2 +init_local() +{ + soundscripts\_snd::snd_message("atlas_van_explode"); +} + +//Function Number: 3 +set_vehicle_anims(param_00) +{ + return param_00; +} + +//Function Number: 4 +setanims() +{ + var_00 = []; + for(var_01 = 0;var_01 < 1;var_01++) + { + var_00[var_01] = spawnstruct(); + } + + var_00[0].sittag = "tag_driver"; + var_00[0].idle = %civ_domestic_sedan_driver_idle; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_civ_domestic_sedan_police.gsc b/AW/PC/vehicle_scripts/_civ_domestic_sedan_police.gsc new file mode 100644 index 0000000..bb89bda --- /dev/null +++ b/AW/PC/vehicle_scripts/_civ_domestic_sedan_police.gsc @@ -0,0 +1,53 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _civ_domestic_sedan_police.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 4 + * Decompile Time: 83 ms + * Timestamp: 4/22/2024 2:04:37 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + maps\_vehicle::build_template("civ_domestic_sedan_police",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_drive(%technical_driving_idle_forward,%technical_driving_idle_backward,10); + maps\_vehicle::build_treadfx(param_02,"default","vfx/treadfx/tread_dust_default"); + maps\_vehicle::build_life(999,500,1500); + maps\_vehicle::build_team("allies"); + maps\_vehicle::build_aianims(::setanims,::set_vehicle_anims); + maps\_vehicle::build_light(param_02,"headlight_left","tag_headlight_left","vfx/lights/veh_default_front_signal_light_l","headlights"); + maps\_vehicle::build_light(param_02,"headlight_right","tag_headlight_right","vfx/lights/veh_default_front_signal_light_r","headlights"); + maps\_vehicle::build_light(param_02,"taillight_right","tag_brakelight_right","vfx/lights/veh_default_tail_light_r","taillights"); + maps\_vehicle::build_light(param_02,"taillight_left","tag_brakelight_left","vfx/lights/veh_default_tail_light_l","taillights"); + maps\_vehicle::build_deathmodel("vehicle_civ_domestic_sedan_police","vehicle_civ_domestic_sedan_police_dstrypv",0); + maps\_vehicle::build_deathfx("vfx/explosion/vehicle_civ_ai_explo_med_runner","TAG_DEATH_FX",undefined,undefined,undefined,undefined,0); +} + +//Function Number: 2 +init_local() +{ + soundscripts\_snd::snd_message("atlas_van_explode"); +} + +//Function Number: 3 +set_vehicle_anims(param_00) +{ + return param_00; +} + +//Function Number: 4 +setanims() +{ + var_00 = []; + for(var_01 = 0;var_01 < 1;var_01++) + { + var_00[var_01] = spawnstruct(); + } + + var_00[0].sittag = "tag_driver"; + var_00[0].idle = %civ_domestic_sedan_driver_idle; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_civ_domestic_sedan_taxi_01.gsc b/AW/PC/vehicle_scripts/_civ_domestic_sedan_taxi_01.gsc new file mode 100644 index 0000000..1a404fa --- /dev/null +++ b/AW/PC/vehicle_scripts/_civ_domestic_sedan_taxi_01.gsc @@ -0,0 +1,52 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _civ_domestic_sedan_taxi_01.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 4 + * Decompile Time: 68 ms + * Timestamp: 4/22/2024 2:04:37 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + maps\_vehicle::build_template("civ_domestic_sedan_taxi_01",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_drive(%technical_driving_idle_forward,%technical_driving_idle_backward,10); + maps\_vehicle::build_treadfx(param_02,"default","vfx/treadfx/tread_dust_default"); + maps\_vehicle::build_treadfx_script_model(param_02,"default","vfx/treadfx/tread_dust_sedan_bright"); + maps\_vehicle::build_life(999,500,1500); + maps\_vehicle::build_team("allies"); + maps\_vehicle::build_aianims(::setanims,::set_vehicle_anims); + maps\_vehicle::build_light(param_02,"headlight_set","tag_origin","vfx/lights/veh_smartcar_head_light","headlights"); + maps\_vehicle::build_deathmodel("vehicle_civ_domestic_sedan_taxi_01","vehicle_civ_domestic_sedan_01_dstrypv",0); + maps\_vehicle::build_deathmodel("vehicle_civ_domestic_sedan_taxi_02","vehicle_civ_domestic_sedan_01_dstrypv",0); + maps\_vehicle::build_deathfx("vfx/explosion/vehicle_civ_ai_explo_small_runner","TAG_DEATH_FX","lag_rndabt_car_large_explo",undefined,undefined,undefined,0); +} + +//Function Number: 2 +init_local() +{ + soundscripts\_snd::snd_message("atlas_van_explode"); +} + +//Function Number: 3 +set_vehicle_anims(param_00) +{ + return param_00; +} + +//Function Number: 4 +setanims() +{ + var_00 = []; + for(var_01 = 0;var_01 < 1;var_01++) + { + var_00[var_01] = spawnstruct(); + } + + var_00[0].sittag = "tag_driver"; + var_00[0].idle = %civ_domestic_sedan_driver_idle; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_civ_domestic_sportscar_01.gsc b/AW/PC/vehicle_scripts/_civ_domestic_sportscar_01.gsc new file mode 100644 index 0000000..9d52fbc --- /dev/null +++ b/AW/PC/vehicle_scripts/_civ_domestic_sportscar_01.gsc @@ -0,0 +1,56 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _civ_domestic_sportscar_01.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 4 + * Decompile Time: 88 ms + * Timestamp: 4/22/2024 2:04:38 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + maps\_vehicle::build_template("civ_domestic_sportscar_01",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_drive(%technical_driving_idle_forward,%technical_driving_idle_backward,10); + maps\_vehicle::build_treadfx(param_02,"default","vfx/treadfx/tread_dust_default"); + maps\_vehicle::build_treadfx_script_model(param_02,"default","vfx/treadfx/tread_dust_sedan_bright"); + maps\_vehicle::build_life(999,500,1500); + maps\_vehicle::build_team("allies"); + maps\_vehicle::build_aianims(::setanims,::set_vehicle_anims); + maps\_vehicle::build_light(param_02,"headlight_left","tag_headlight_left","vfx/lights/veh_default_front_signal_light_l","headlights"); + maps\_vehicle::build_light(param_02,"headlight_right","tag_headlight_right","vfx/lights/veh_default_front_signal_light_r","headlights"); + maps\_vehicle::build_light(param_02,"taillight_right","tag_brakelight_right","vfx/lights/veh_default_tail_light_r","taillights"); + maps\_vehicle::build_light(param_02,"taillight_left","tag_brakelight_left","vfx/lights/veh_default_tail_light_l","taillights"); + maps\_vehicle::build_deathmodel("vehicle_civ_domestic_sportscar_01","vehicle_civ_domestic_sportscar_01_dstrypv",0); + maps\_vehicle::build_deathfx("vfx/explosion/vehicle_civ_ai_explo_small_runner","TAG_DEATH_FX","lag_rndabt_car_large_explo",undefined,undefined,undefined,0); +} + +//Function Number: 2 +init_local() +{ + soundscripts\_snd::snd_message("atlas_van_explode"); +} + +//Function Number: 3 +set_vehicle_anims(param_00) +{ + return param_00; +} + +//Function Number: 4 +setanims() +{ + var_00 = []; + for(var_01 = 0;var_01 < 2;var_01++) + { + var_00[var_01] = spawnstruct(); + } + + var_00[0].sittag = "tag_driver"; + var_00[1].sittag = "tag_passenger"; + var_00[0].idle = %civ_domestic_sportscar_01_driver_idle; + var_00[1].idle = %civ_domestic_sportscar_01_passenger_idle; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_civ_domestic_suv.gsc b/AW/PC/vehicle_scripts/_civ_domestic_suv.gsc new file mode 100644 index 0000000..0ee1bb4 --- /dev/null +++ b/AW/PC/vehicle_scripts/_civ_domestic_suv.gsc @@ -0,0 +1,56 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _civ_domestic_suv.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 4 + * Decompile Time: 82 ms + * Timestamp: 4/22/2024 2:04:38 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + maps\_vehicle::build_template("civ_domestic_suv",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_drive(%technical_driving_idle_forward,%technical_driving_idle_backward,10); + maps\_vehicle::build_treadfx(param_02,"default","vfx/treadfx/tread_dust_default"); + maps\_vehicle::build_treadfx_script_model(param_02,"default","vfx/treadfx/tread_dust_sedan_bright"); + maps\_vehicle::build_life(999,500,1500); + maps\_vehicle::build_team("allies"); + maps\_vehicle::build_aianims(::setanims,::set_vehicle_anims); + maps\_vehicle::build_light(param_02,"headlight_set","tag_origin","vfx/lights/veh_compact_head_light","headlights"); + maps\_vehicle::build_light(param_02,"taillight_scroll_right","tag_brakelight_right","vfx/lights/veh_default_tail_light_r","taillights"); + maps\_vehicle::build_light(param_02,"taillight_scroll_left","tag_brakelight_left","vfx/lights/veh_default_tail_light_l","taillights"); + maps\_vehicle::build_light(param_02,"frontsignal_right","tag_headlight_right","vfx/lights/veh_default_front_signal_light_r","taillights"); + maps\_vehicle::build_light(param_02,"frontsignal_left","tag_headlight_left","vfx/lights/veh_default_front_signal_light_l","taillights"); + maps\_vehicle::build_light(param_02,"brakelight_set","tag_origin","vfx/lights/veh_compact_stop_light","brakelights"); + maps\_vehicle::build_deathmodel("vehicle_civ_domestic_suv","vehicle_atlas_suv_dstrypv",0); + maps\_vehicle::build_deathfx("vfx/explosion/vehicle_civ_ai_explo_small_runner","TAG_DEATH_FX","lag_rndabt_car_large_explo",undefined,undefined,undefined,0); +} + +//Function Number: 2 +init_local() +{ + soundscripts\_snd::snd_message("atlas_van_explode"); +} + +//Function Number: 3 +set_vehicle_anims(param_00) +{ + return param_00; +} + +//Function Number: 4 +setanims() +{ + var_00 = []; + for(var_01 = 0;var_01 < 1;var_01++) + { + var_00[var_01] = spawnstruct(); + } + + var_00[0].sittag = "tag_driver"; + var_00[0].idle = %civ_domestic_suv_driving_idle; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_civ_domestic_truck.gsc b/AW/PC/vehicle_scripts/_civ_domestic_truck.gsc new file mode 100644 index 0000000..60624b0 --- /dev/null +++ b/AW/PC/vehicle_scripts/_civ_domestic_truck.gsc @@ -0,0 +1,57 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _civ_domestic_truck.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 4 + * Decompile Time: 84 ms + * Timestamp: 4/22/2024 2:04:39 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + maps\_vehicle::build_template("civ_domestic_truck",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_drive(%technical_driving_idle_forward,%technical_driving_idle_backward,10); + maps\_vehicle::build_treadfx(param_02,"default","vfx/treadfx/tread_dust_default"); + maps\_vehicle::build_treadfx_script_model(param_02,"default","vfx/treadfx/tread_dust_van_bright"); + maps\_vehicle::build_life(999,500,1500); + maps\_vehicle::build_team("allies"); + maps\_vehicle::build_aianims(::setanims,::set_vehicle_anims); + maps\_vehicle::build_deathmodel("vehicle_civ_domestic_truck","vehicle_civ_domestic_truck_dstrypv",0); + maps\_vehicle::build_deathmodel("vehicle_civ_domestic_truck_blue","vehicle_civ_domestic_truck_dstrypv",0); + maps\_vehicle::build_deathmodel("vehicle_civ_domestic_truck_gold","vehicle_civ_domestic_truck_dstrypv",0); + maps\_vehicle::build_deathmodel("vehicle_civ_domestic_truck_grn","vehicle_civ_domestic_truck_dstrypv",0); + maps\_vehicle::build_deathmodel("vehicle_civ_domestic_truck_slvr","vehicle_civ_domestic_truck_dstrypv",0); + maps\_vehicle::build_deathfx("vfx/explosion/vehicle_civ_ai_explo_med_runner","TAG_DEATH_FX","lag_rndabt_car_large_explo",undefined,undefined,undefined,0); +} + +//Function Number: 2 +init_local() +{ + soundscripts\_snd::snd_message("civ_domestic_truck_spawn",self); + soundscripts\_snd::snd_message("atlas_van_explode"); +} + +//Function Number: 3 +set_vehicle_anims(param_00) +{ + return param_00; +} + +//Function Number: 4 +setanims() +{ + var_00 = []; + for(var_01 = 0;var_01 < 2;var_01++) + { + var_00[var_01] = spawnstruct(); + } + + var_00[0].sittag = "tag_driver"; + var_00[1].sittag = "tag_passenger"; + var_00[0].idle = %civ_domestic_truck_driver_idle; + var_00[1].idle = %civ_domestic_truck_passenger_idle; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_civ_full_size_pickup_01_ai.gsc b/AW/PC/vehicle_scripts/_civ_full_size_pickup_01_ai.gsc new file mode 100644 index 0000000..f6d779a --- /dev/null +++ b/AW/PC/vehicle_scripts/_civ_full_size_pickup_01_ai.gsc @@ -0,0 +1,57 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _civ_full_size_pickup_01_ai.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 4 + * Decompile Time: 78 ms + * Timestamp: 4/22/2024 2:04:39 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + maps\_vehicle::build_template("civ_full_size_pickup_01_ai",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_drive(%technical_driving_idle_forward,%technical_driving_idle_backward,10); + maps\_vehicle::build_treadfx(param_02,"default","vfx/treadfx/tread_dust_default"); + maps\_vehicle::build_treadfx_script_model(param_02,"default","vfx/treadfx/tread_dust_van_bright"); + maps\_vehicle::build_life(999,500,1500); + maps\_vehicle::build_team("allies"); + maps\_vehicle::build_aianims(::setanims,::set_vehicle_anims); + maps\_vehicle::build_deathmodel("vehicle_civ_full_size_pickup_01_ai","civ_full_size_pickup_01_dstrypv",0); + maps\_vehicle::build_deathmodel("vehicle_civ_full_size_pickup_01_clr02_ai","civ_full_size_pickup_01_dstrypv",0); + maps\_vehicle::build_deathmodel("vehicle_civ_full_size_pickup_01_clr03_ai","civ_full_size_pickup_01_dstrypv",0); + maps\_vehicle::build_deathmodel("vehicle_civ_full_size_pickup_01_clr04_ai","civ_full_size_pickup_01_dstrypv",0); + maps\_vehicle::build_deathmodel("vehicle_civ_full_size_pickup_01_clr05_ai","civ_full_size_pickup_01_dstrypv",0); + maps\_vehicle::build_deathmodel("vehicle_civ_full_size_pickup_utility_01_ai","vehicle_civ_full_size_pickup_utility_01_dstrypv",0); + maps\_vehicle::build_deathfx("vfx/explosion/vehicle_civ_ai_explo_med_runner","TAG_DEATH_FX",undefined,undefined,undefined,undefined,0); +} + +//Function Number: 2 +init_local() +{ + soundscripts\_snd::snd_message("atlas_van_explode"); +} + +//Function Number: 3 +set_vehicle_anims(param_00) +{ + return param_00; +} + +//Function Number: 4 +setanims() +{ + var_00 = []; + for(var_01 = 0;var_01 < 2;var_01++) + { + var_00[var_01] = spawnstruct(); + } + + var_00[0].sittag = "tag_driver"; + var_00[1].sittag = "tag_passenger"; + var_00[0].idle = %humvee_idle_frontl; + var_00[1].idle = %humvee_idle_frontr; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_civ_full_size_technical.gsc b/AW/PC/vehicle_scripts/_civ_full_size_technical.gsc new file mode 100644 index 0000000..11e8a02 --- /dev/null +++ b/AW/PC/vehicle_scripts/_civ_full_size_technical.gsc @@ -0,0 +1,77 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _civ_full_size_technical.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 5 + * Decompile Time: 83 ms + * Timestamp: 4/22/2024 2:04:40 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + build_technical(param_00,param_01,param_02,"vehicle_civ_full_size_technical_turret","50cal_turret_technical_lagos"); +} + +//Function Number: 2 +build_technical(param_00,param_01,param_02,param_03,param_04) +{ + maps\_vehicle::build_template("civ_full_size_technical",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_drive(%technical_driving_idle_forward,%technical_driving_idle_backward,10); + maps\_vehicle::build_treadfx(param_02,"default","vfx/treadfx/tread_dust_default"); + maps\_vehicle::build_life(999,500,1500); + maps\_vehicle::build_team("axis"); + maps\_vehicle::build_deathfx("vfx/explosion/vehicle_civ_ai_explo_small_runner","TAG_DEATH_FX",undefined,undefined,undefined,undefined,0); + if(issubstr(param_02,"script_vehicle_civ_full_size_technical_turret")) + { + maps\_vehicle::build_turret(param_04,"tag_turret",param_03,undefined,"auto_ai",0.5,20,-14); + } + + maps\_vehicle::build_aianims(::setanims,::set_vehicle_anims); +} + +//Function Number: 3 +init_local() +{ + soundscripts\_snd::snd_message("atlas_van_explode"); + if(!isdefined(self.script_allow_rider_deaths)) + { + self.script_allow_rider_deaths = 1; + } +} + +//Function Number: 4 +set_vehicle_anims(param_00) +{ + param_00[0].vehicle_getoutanim = %technical_exit_driver_technical; + param_00[1].vehicle_turret_fire = %technical_fire_turret; + param_00[2].vehicle_getoutanim = %technical_exit_passenger_technical; + return param_00; +} + +//Function Number: 5 +setanims() +{ + var_00 = 3; + var_01 = []; + for(var_02 = 0;var_02 < var_00;var_02++) + { + var_01[var_02] = spawnstruct(); + } + + var_01[0].sittag = "tag_driver"; + var_01[0].idle = %technical_idle_driver; + var_01[0].getout = %technical_exit_driver; + var_01[1].sittag = "tag_guy_turret_gun"; + var_01[1].sittag_on_turret = 1; + var_01[1].death = %technical_death_gunner; + var_01[1].idle = %technical_idle_gunner; + var_01[1].mgturret = 0; + var_01[1].death_no_ragdoll = 1; + var_01[2].sittag = "tag_passenger"; + var_01[2].idle = %technical_passenger_idle; + var_01[2].getout = %technical_exit_passenger; + return var_01; +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_civ_pickup_truck_01.gsc b/AW/PC/vehicle_scripts/_civ_pickup_truck_01.gsc new file mode 100644 index 0000000..950e5f9 --- /dev/null +++ b/AW/PC/vehicle_scripts/_civ_pickup_truck_01.gsc @@ -0,0 +1,56 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _civ_pickup_truck_01.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 4 + * Decompile Time: 108 ms + * Timestamp: 4/22/2024 2:04:40 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + maps\_vehicle::build_template("civ_pickup_truck_01",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_drive(%technical_driving_idle_forward,%technical_driving_idle_backward,10); + maps\_vehicle::build_treadfx(param_02,"default","vfx/treadfx/tread_dust_default"); + maps\_vehicle::build_treadfx_script_model(param_02,"default","vfx/treadfx/tread_dust_sedan_bright"); + maps\_vehicle::build_life(999,500,1500); + maps\_vehicle::build_team("allies"); + maps\_vehicle::build_aianims(::setanims,::set_vehicle_anims); + maps\_vehicle::build_light(param_02,"headlight_set","tag_origin","vfx/lights/veh_pickup_truck_head_light","headlights"); + maps\_vehicle::build_light(param_02,"taillight_right","tag_brakelight_right","vfx/lights/veh_pickup_signal_light_back_rt","taillights"); + maps\_vehicle::build_light(param_02,"taillight_left","tag_brakelight_left","vfx/lights/veh_pickup_signal_light_back_lt","taillights"); + maps\_vehicle::build_light(param_02,"frontsignal_right","tag_headlight_right","vfx/lights/veh_pickup_signal_light_front_rt","frontlights"); + maps\_vehicle::build_light(param_02,"frontsignal_left","tag_headlight_left","vfx/lights/veh_pickup_signal_light_front_lt","frontlights"); + maps\_vehicle::build_light(param_02,"brakelight_set","tag_origin","vfx/lights/veh_pickup_truck_stop_light","brakelights"); + maps\_vehicle::build_deathmodel("vehicle_civ_pickup_truck_01","vehicle_civ_domestic_truck_dstrypv",0); + maps\_vehicle::build_deathfx("vfx/explosion/vehicle_civ_ai_explo_small_runner","TAG_DEATH_FX",undefined,undefined,undefined,undefined,0); +} + +//Function Number: 2 +init_local() +{ + soundscripts\_snd::snd_message("atlas_van_explode"); +} + +//Function Number: 3 +set_vehicle_anims(param_00) +{ + return param_00; +} + +//Function Number: 4 +setanims() +{ + var_00 = []; + for(var_01 = 0;var_01 < 1;var_01++) + { + var_00[var_01] = spawnstruct(); + } + + var_00[0].sittag = "tag_driver"; + var_00[0].idle = %civ_pickup_truck_01_driver_idle; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_civ_smartcar.gsc b/AW/PC/vehicle_scripts/_civ_smartcar.gsc new file mode 100644 index 0000000..3ed3cb8 --- /dev/null +++ b/AW/PC/vehicle_scripts/_civ_smartcar.gsc @@ -0,0 +1,61 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _civ_smartcar.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 4 + * Decompile Time: 70 ms + * Timestamp: 4/22/2024 2:04:41 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + maps\_vehicle::build_template("civ_smartcar",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_drive(%technical_driving_idle_forward,%technical_driving_idle_backward,10); + maps\_vehicle::build_treadfx(param_02,"default","vfx/treadfx/tread_dust_default"); + maps\_vehicle::build_treadfx_script_model(param_02,"default","vfx/treadfx/tread_dust_sedan_bright"); + maps\_vehicle::build_life(999,500,1500); + maps\_vehicle::build_team("allies"); + maps\_vehicle::build_aianims(::setanims,::set_vehicle_anims); + maps\_vehicle::build_light(param_02,"headlight_set","tag_origin","vfx/lights/veh_smartcar_head_light","headlights"); + maps\_vehicle::build_light(param_02,"taillight_scroll_right","tag_brakelight_right","vfx/lights/veh_smartcar_signal_light_back_rt","taillights"); + maps\_vehicle::build_light(param_02,"taillight_scroll_left","tag_brakelight_left","vfx/lights/veh_smartcar_signal_light_back_lt","taillights"); + maps\_vehicle::build_light(param_02,"frontsignal_right","tag_headlight_right","vfx/lights/veh_smartcar_signal_light_front_rt","frontlights"); + maps\_vehicle::build_light(param_02,"frontsignal_left","tag_headlight_left","vfx/lights/veh_smartcar_signal_light_front_lt","frontlights"); + maps\_vehicle::build_light(param_02,"brakelight_set","tag_origin","vfx/lights/veh_smartcar_stop_light","brakelights"); + maps\_vehicle::build_deathmodel("vehicle_civ_smartcar","vehicle_civ_smartcar_dstrypv",0); + maps\_vehicle::build_deathmodel("vehicle_civ_smartcar_02_ylw","vehicle_civ_smartcar_dstrypv",0); + maps\_vehicle::build_deathmodel("vehicle_civ_smartcar_02_wht","vehicle_civ_smartcar_dstrypv",0); + maps\_vehicle::build_deathmodel("vehicle_civ_smartcar_02_red","vehicle_civ_smartcar_dstrypv",0); + maps\_vehicle::build_deathmodel("vehicle_civ_smartcar_02_gray","vehicle_civ_smartcar_dstrypv",0); + maps\_vehicle::build_deathmodel("vehicle_civ_smartcar_02_blue","vehicle_civ_smartcar_dstrypv",0); + maps\_vehicle::build_deathfx("vfx/explosion/vehicle_civ_ai_explo_small_runner","TAG_DEATH_FX","lag_rndabt_car_small_explo",undefined,undefined,undefined,0); +} + +//Function Number: 2 +init_local() +{ + soundscripts\_snd::snd_message("atlas_van_explode"); +} + +//Function Number: 3 +set_vehicle_anims(param_00) +{ + return param_00; +} + +//Function Number: 4 +setanims() +{ + var_00 = []; + for(var_01 = 0;var_01 < 1;var_01++) + { + var_00[var_01] = spawnstruct(); + } + + var_00[0].sittag = "tag_driver"; + var_00[0].idle = %civ_domestic_smartcar_driver_idle; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_civ_workvan.gsc b/AW/PC/vehicle_scripts/_civ_workvan.gsc new file mode 100644 index 0000000..944827f --- /dev/null +++ b/AW/PC/vehicle_scripts/_civ_workvan.gsc @@ -0,0 +1,55 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _civ_workvan.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 4 + * Decompile Time: 71 ms + * Timestamp: 4/22/2024 2:04:41 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + maps\_vehicle::build_template("civ_workvan",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_drive(%technical_driving_idle_forward,%technical_driving_idle_backward,10); + maps\_vehicle::build_treadfx(param_02,"default","vfx/treadfx/tread_dust_default"); + maps\_vehicle::build_treadfx_script_model(param_02,"default","vfx/treadfx/tread_dust_sedan_bright"); + maps\_vehicle::build_life(999,500,1500); + maps\_vehicle::build_team("allies"); + maps\_vehicle::build_aianims(::setanims,::set_vehicle_anims); + maps\_vehicle::build_light(param_02,"headlight_left","tag_headlight_left","vfx/lights/veh_default_head_light_l","headlights"); + maps\_vehicle::build_light(param_02,"headlight_right","tag_headlight_right","vfx/lights/veh_default_head_light_r","headlights"); + maps\_vehicle::build_light(param_02,"taillight_right","tag_brakelight_right","vfx/lights/veh_default_tail_light_r","taillights"); + maps\_vehicle::build_light(param_02,"taillight_left","tag_brakelight_left","vfx/lights/veh_default_tail_light_l","taillights"); + maps\_vehicle::build_light(param_02,"brakelight_set","tag_origin","vfx/lights/veh_civ_workvan_stop_light","brakelights"); + maps\_vehicle::build_deathmodel("vehicle_civ_workvan","vehicle_civ_workvan_dstrypv",0); + maps\_vehicle::build_deathfx("vfx/explosion/vehicle_civ_ai_explo_med_runner","TAG_DEATH_FX",undefined,undefined,undefined,undefined,0); +} + +//Function Number: 2 +init_local() +{ + soundscripts\_snd::snd_message("atlas_van_explode"); +} + +//Function Number: 3 +set_vehicle_anims(param_00) +{ + return param_00; +} + +//Function Number: 4 +setanims() +{ + var_00 = []; + for(var_01 = 0;var_01 < 1;var_01++) + { + var_00[var_01] = spawnstruct(); + } + + var_00[0].sittag = "tag_driver"; + var_00[0].idle = %civ_workvan_driver_idle; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_cover_drone.gsc b/AW/PC/vehicle_scripts/_cover_drone.gsc new file mode 100644 index 0000000..61780c3 --- /dev/null +++ b/AW/PC/vehicle_scripts/_cover_drone.gsc @@ -0,0 +1,1210 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _cover_drone.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 44 + * Decompile Time: 678 ms + * Timestamp: 4/22/2024 2:04:44 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + maps\_vehicle::build_template("cover_drone",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_mobile_cover_drone); + maps\_vehicle::build_life(2000); + build_cover_death(param_02); + maps\_vehicle::build_team("allies"); + precachestring(&"COVER_DRONE_LINK"); + precachestring(&"COVER_DRONE_LINK_KB"); + precachestring(&"COVER_DRONE_UNLINK"); + precachestring(&"COVER_DRONE_UNLINK_KB"); + precachestring(&"COVER_DRONE_LOWER_SHIELD"); + precachestring(&"COVER_DRONE_LOWER_SHIELD_KB"); + precachemodel("vehicle_mobile_cover_tactics_friendly"); + precachemodel("vehicle_mobile_cover_active"); + level._effect["link_light"] = loadfx("vfx/lights/light_drone_beacon_green_sm_nolight"); + level._effect["unlink_light"] = loadfx("vfx/lights/light_drone_beacon_red_sm_nolight"); + level.player thread record_grenade_throw_times(); + level.player thread record_grenade_rising_edges(); +} + +//Function Number: 2 +cover_drone_disable() +{ + if(isdefined(self.linked_player)) + { + player_unlink_from_cover(); + } + + self.cover_drone_disabled = 1; +} + +//Function Number: 3 +cover_drone_enable() +{ + self.cover_drone_disabled = undefined; +} + +//Function Number: 4 +build_cover_death(param_00) +{ + maps\_vehicle::build_deathmodel("moving_cover_standing_01","moving_cover_standing_destroyed_01",0.05,param_00); +} + +//Function Number: 5 +init_mobile_cover_drone() +{ + level.player endon("death"); + self.is_mobile_cover = 1; + waittillframeend; + self.original_model = self.model; + self.tactics_model = "vehicle_mobile_cover_tactics_friendly"; + self.tactics_type = "tool"; + self.no_line = 1; + self.description = "Mobile Cover"; + maps\_warzone_tactics::add_object_to_tactics_system(self); + self.window_position = "up"; + self.extra_slow_player = 0; + self.yaw_scale = 1; + self.position_error = (0,0,0); + self.accumulated_restore = 0; + self.godmode = 1; + thread mobile_cover_impulse(); + self.link_trigger = common_scripts\utility::spawn_tag_origin(); + self.link_trigger maps\_utility::addhinttrigger(&"COVER_DRONE_LINK",&"COVER_DRONE_LINK_KB"); + self.unlink_trigger = common_scripts\utility::spawn_tag_origin(); + self.unlink_trigger maps\_utility::addhinttrigger(&"COVER_DRONE_UNLINK",&"COVER_DRONE_UNLINK_KB"); + thread mobile_cover_drone_trigger_think(); + thread mobile_cover_drone_hint_think(); +} + +//Function Number: 6 +mobile_cover_drone_trigger_think() +{ + while(isdefined(self)) + { + self.link_trigger waittill("trigger"); + if(should_show_prompt(level.player)) + { + thread player_link_to_cover(level.player); + player_wait_and_unlink(); + } + } +} + +//Function Number: 7 +mobile_cover_drone_hint_think() +{ + var_00 = 0.5; + var_01 = 0.5; + playfxontag(common_scripts\utility::getfx("unlink_light"),self,"tag_fx"); + var_02 = 0; + var_03 = 0; + while(isdefined(self)) + { + if(isdefined(self.linked_player)) + { + self.link_trigger makeglobalunusable(); + var_02 = 0; + var_03 = var_03 + 0.05; + if(var_03 > var_00) + { + self.unlink_trigger makeglobalusable(-999); + } + + continue; + } + + self.unlink_trigger makeglobalunusable(); + var_02 = var_02 + 0.05; + var_03 = 0; + if(var_02 > var_01 && should_show_prompt(level.player)) + { + self.link_trigger makeglobalusable(-999); + continue; + } + + self.link_trigger makeglobalunusable(); + wait 0.05; + } +} + +//Function Number: 8 +should_show_prompt(param_00) +{ + if(isdefined(self.cover_drone_disabled)) + { + return 0; + } + + if(isdefined(self.linked_player)) + { + return 0; + } + + if(isdefined(param_00.linked_to_cover)) + { + return 0; + } + + if(isdefined(param_00.disable_cover_drone)) + { + return 0; + } + + var_01 = anglestoright(self.angles); + var_02 = pointonsegmentnearesttopoint(self.origin + 18 * var_01,self.origin - 18 * var_01,param_00.origin) - param_00.origin; + if(length(var_02) > 64) + { + return 0; + } + + var_03 = vectornormalize(var_02); + if(vectordot(anglestoforward(param_00.angles),common_scripts\utility::flat_origin(var_03)) < cos(45)) + { + return 0; + } + + if(vectordot(var_03,anglestoforward(self.angles)) < 0) + { + return 0; + } + + if(abs(angleclamp180(param_00.angles[1] - self.angles[1])) > 45) + { + return 0; + } + + if(distance(param_00.origin + anglestoforward(param_00.angles) * 35,self.origin) > 45) + { + return 0; + } + + if(anglestoup(self.angles)[2] < 0.7660444) + { + return 0; + } + + if(abs(self.origin[2] - param_00.origin[2]) > 30) + { + return 0; + } + + return 1; +} + +//Function Number: 9 +player_link_to_cover(param_00) +{ + self.linked_player = param_00; + vehicle_scripts\_cover_drone_aud::snd_init_cover_drone(); + self.linked_player.linked_to_cover = self; + maps\_warzone_tactics::remove_object_from_tactics_system(self); + self.linked_player endon("death"); + self.linked_player player_update_slow_aim(1,self); + self.linked_player allowjump(0); + level.old_viewbobamplitudestanding = getdvar("bg_viewBobAmplitudeStanding"); + level.old_viewbobamplitudeducked = getdvar("bg_viewBobAmplitudeDucked"); + level.old_viewbobamplitudesprinting = getdvar("bg_viewBobAmplitudeSprinting"); + setsaveddvar("bg_viewBobAmplitudeStanding","0 0"); + setsaveddvar("bg_viewBobAmplitudeDucked","0 0"); + setsaveddvar("bg_viewBobAmplitudeSprinting","0 0"); + self.window_position = "up"; + self.blend = 0; + self.linked_player notify("player_linked_to_cover"); + if(!isdefined(self.dummy_player)) + { + self.dummy_player = common_scripts\utility::spawn_tag_origin(); + } + + self.dummy_player.origin = self.linked_player.origin; + self.dummy_player.angles = (0,self.linked_player getgunangles()[1],0); + self.dummy_player.vel = (0,0,0); + self.tag_origin = common_scripts\utility::spawn_tag_origin(); + self.tag_origin.origin = self.dummy_player.origin; + self.tag_origin.angles = self.dummy_player.angles; + self.linked_player playerlinktodelta(self.tag_origin,"tag_origin",1,0,0,80,80,0,0); + self.ads = self.linked_player adsbuttonpressed(); + self.linked_player enablemousesteer(1); + maps\_variable_grenade::change_threat_detection_style("detectable"); + stopfxontag(common_scripts\utility::getfx("unlink_light"),self,"tag_fx"); + playfxontag(common_scripts\utility::getfx("link_light"),self,"tag_fx"); + self overridematerial("mtl_mobile_cover_glass_vm","mtl_mobile_cover_glass_vm_active"); + self makevehiclenotcollidewithplayers(1); + thread player_ads_think(); + thread mobile_cover_link_think(); + thread mobile_cover_sound_think(); + thread player_unlink_on_sprint(); + thread player_unlink_on_death(); + thread player_enable_highlight(); + thread pass_mech_melee_damage_to_player(); +} + +//Function Number: 10 +pass_mech_melee_damage_to_player() +{ + if(!isdefined(self.linked_player)) + { + return; + } + + self.linked_player endon("death"); + self.linked_player endon("player_unlinked_from_cover"); + self endon("death"); + for(;;) + { + self waittill("damage",var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09); + if(isdefined(var_01)) + { + if(isdefined(var_01.team) && var_01.team == self.linked_player.team) + { + continue; + } + + if(!isdefined(var_01.mech)) + { + continue; + } + + if(var_04 != "MOD_MELEE") + { + continue; + } + + var_0A = distance(self.origin,var_01.origin); + var_0B = var_03 + var_02 * var_0A * -1; + self.linked_player dodamage(var_00,var_0B,var_01); + } + } +} + +//Function Number: 11 +mimic_player_move(param_00,param_01,param_02,param_03) +{ + var_04 = 0.05; + var_05 = 100; + var_06 = 5.5; + var_07 = length(param_01.vel); + if(var_07 < 1) + { + param_01.vel = (0,0,0); + } + else + { + if(var_07 < var_05) + { + var_08 = var_05; + } + else + { + var_08 = var_08; + } + + var_09 = var_08 * var_06 * var_04; + var_0A = var_07 - var_09; + if(var_0A < 0) + { + var_0A = 0; + } + + param_01.vel = var_0A / var_07 * param_01.vel; + } + + var_0B = sqrt(param_02 * param_02 + param_03 * param_03); + if(param_02 < 0) + { + var_0C = abs(param_02 * 0.7); + } + else + { + var_0C = abs(param_03); + } + + var_0D = abs(param_03 * 0.8); + var_0E = max(var_0C,var_0D); + if(var_0E <= 0) + { + var_0F = 0; + } + else + { + var_0F = getdvarint("g_speed",190) * var_0F / 127 * var_0C; + } + + if(level.player maps\_utility::isads()) + { + var_0F = var_0F * 0.4; + } + + var_10 = param_00 getstance(); + var_11 = 9; + if(var_10 == "prone") + { + var_0F = var_0F * 0.15; + var_11 = 19; + } + else if(var_10 == "crouch") + { + var_0F = var_0F * 0.65; + var_11 = 12; + } + + var_12 = param_00 playerads(); + if(var_12 > 0.5) + { + var_0F = var_0F * 0.5; + } + + var_0F = var_0F * param_00.move_scale; + var_13 = anglestoforward(param_01.angles); + var_14 = anglestoright(param_01.angles); + var_15 = param_02 * var_13 + param_03 * var_14; + var_16 = length(var_15); + var_17 = vectornormalize(var_15); + var_16 = var_16 * var_0F; + var_18 = playerphysicstraceinfo(param_01.origin + (0,0,100),param_01.origin + (0,0,-100),self); + var_19 = var_18["normal"]; + var_15 = maps\_pmove::pm_projectvelocity(var_15,var_19); + var_1A = vectordot(param_01.vel,var_17); + var_1B = var_16 - var_1A; + if(var_1B <= 0) + { + } + else + { + if(var_16 < var_05) + { + var_08 = var_05; + } + else + { + var_08 = var_17; + } + + var_1C = var_11 * var_04 * var_08; + if(var_1C > var_1B) + { + var_1C = var_1B; + } + + param_01.vel = param_01.vel + var_1C * var_17; + } + + param_01.vel = maps\_pmove::pm_projectvelocity(param_01.vel,var_19); + if(param_01.vel[0] != 0 || param_01.vel[1] != 0) + { + maps\_pmove::pm_stepslidemove(param_01,var_19,0); + } + + var_1D = playerphysicstrace(param_01.origin,param_01.origin + (0,0,-5),self); + param_01.origin = var_1D; +} + +//Function Number: 12 +mobile_cover_dummy_player_think() +{ + var_00 = self.linked_player getnormalizedmovement(); + var_01 = self.linked_player getnormalizedcameramovements(); + var_01 = (var_01[0],-1 * var_01[1],0); + var_02 = self.linked_player getaimassistdeltas(); + var_03 = 0.05; + var_04 = self.dummy_player.origin; + mimic_player_move(self.linked_player,self.dummy_player,127 * var_00[0],127 * var_00[1]); + var_05 = common_scripts\utility::flat_origin(self.position_error); + var_06 = length(var_05); + var_07 = 32; + var_08 = 10; + var_09 = vectordot(var_05,self.dummy_player.vel * var_03); + if(var_06 > var_07 && var_09 > 0) + { + if(self.accumulated_restore < var_08) + { + self.accumulated_restore = self.accumulated_restore + abs(var_09); + self.dummy_player.vel = (0,0,0); + self.dummy_player.origin = var_04; + } + } + else + { + self.accumulated_restore = self.accumulated_restore - 2; + if(self.accumulated_restore < 0) + { + self.accumulated_restore = 0; + } + } + + if(var_02[1]) + { + var_0A = var_03 * var_02[1] * self.yaw_scale; + } + else + { + var_0A = 2 * var_02[1] * self.yaw_scale; + } + + var_0B = self.dummy_player.angles[1] + var_0A; + if(self.linked_player adsbuttonpressed() && !self.ads) + { + self.ads = 1; + var_0C = self.linked_player getaimassisttargetangles(); + if(var_0C[1] != 0 || var_0C[0] != 0) + { + var_0B = var_0C[1]; + } + } + else + { + self.ads = self.linked_player adsbuttonpressed(); + } + + self.dummy_player.angles = (self.dummy_player.angles[0],angleclamp180(var_0B),self.dummy_player.angles[2]); + var_0D = anglestoforward(self.angles); + var_0E = vectordot(var_0D,self.origin - self.dummy_player.origin); + if(var_0E < 30) + { + var_0F = 30 - var_0E; + var_10 = self.dummy_player.origin - var_0D * var_0F; + var_11 = playerphysicstraceinfo(var_10 + (0,0,8),var_10 - (0,0,8),self); + if(var_11["fraction"] > 0) + { + self.dummy_player.origin = var_11["position"]; + } + else + { + self.dummy_player.origin = var_04; + } + } + + return self.dummy_player.vel; +} + +//Function Number: 13 +mobile_cover_link_think() +{ + self endon("stop_mobile_cover_link_think"); + self endon("death"); + self.linked_player endon("death"); + mobile_cover_link_think_angle_controller(); +} + +//Function Number: 14 +mobile_cover_link_think_angle_controller() +{ + var_00 = 33; + var_01 = 39; + var_02 = 12; + var_03 = 4; + var_04 = 25; + var_05 = 0.3; + var_06 = 0.6; + var_07 = 0.1; + var_08 = 0.8; + var_09 = 0.8; + var_0A = 0.1; + var_0B = filter_lead_controller_init(self.dummy_player.origin,var_05,var_06,var_07); + var_0C = filter_lead_controller_init(self.dummy_player.angles[1],var_08,var_09,var_0A,1); + var_0D = self.origin; + var_0E = self.angles; + for(;;) + { + var_0F = mobile_cover_dummy_player_think(); + var_10 = var_0B [[ var_0B.update_func ]](self.dummy_player.origin); + var_10 = (var_10[0],var_10[1],var_0D[2]); + var_11 = var_0C [[ var_0C.update_func ]](self.dummy_player.angles[1]); + var_12 = var_0D - var_10; + var_13 = vectortoangles(var_12); + var_14 = var_13[1]; + var_15 = length(var_12); + var_16 = 1; + var_17 = clamp(var_15,var_00 * var_16,var_01 * var_16); + var_18 = var_17 - var_15; + var_19 = maps\_utility::linear_interpolate(self.blend,var_02,var_03); + var_1A = atan(var_19 / var_15); + var_1A = var_1A * maps\_shg_utility::linear_map_clamp(length(var_0F),10,50,1,0); + var_1B = angleclamp180(var_11 - var_14); + self.extra_slow_player = 0; + if(abs(var_1B) < var_1A) + { + var_1C = 0; + } + else + { + var_1C = var_1B - var_1A * common_scripts\utility::sign(var_1B); + self.extra_slow_player = 1; + } + + var_1D = angleclamp(var_14 + var_1C); + var_1E = var_10 + anglestoforward((0,var_1D,0)) * var_17; + var_1F = (0,var_11,0); + self.tag_origin unlink(); + self.tag_origin.origin = self.dummy_player.origin; + self.tag_origin.angles = self.dummy_player.angles; + drive_cover(var_1E,var_1F); + wait 0.05; + var_0D = self.origin; + var_0E = self.angles; + } +} + +//Function Number: 15 +mobile_cover_vehicle_controller() +{ + for(;;) + { + var_00 = self.dummy_player.origin + anglestoforward(self.dummy_player.angles) * 35; + var_01 = self.dummy_player.angles; + drive_cover(var_00,var_01); + wait 0.05; + } +} + +//Function Number: 16 +drive_cover(param_00,param_01) +{ + var_02 = 0.7386363; + foreach(var_04 in getaiarray("all")) + { + if(isalive(var_04) && var_04 istouching(self)) + { + var_05 = param_00 - self.origin; + var_06 = vectornormalize(self.origin - var_04.origin); + var_07 = vectordot(var_05,var_06); + if(var_07 < 0) + { + param_00 = param_00 - var_06 * var_07; + param_01 = self.angles; + } + } + } + + var_09 = param_00 - self.origin; + var_0A = common_scripts\utility::flat_origin(var_09); + var_0B = length(var_0A); + self.position_error = var_09; + if(var_0B > 45) + { + soundscripts\_snd::snd_message("cdrn_auto_unlink"); + thread player_unlink_from_cover(); + } + + if(abs(angleclamp180(param_01[1] - self.angles[1])) > 45) + { + soundscripts\_snd::snd_message("cdrn_auto_unlink"); + thread player_unlink_from_cover(); + } + + if(anglestoup(self.angles)[2] < 0.7660444) + { + soundscripts\_snd::snd_message("cdrn_auto_unlink"); + thread player_unlink_from_cover(); + } + + if(abs(self.origin[2] - self.linked_player.origin[2]) > 30) + { + soundscripts\_snd::snd_message("cdrn_auto_unlink"); + thread player_unlink_from_cover(); + } + + var_0C = distance2d(self.origin,param_00) * var_02; + var_0D = self.dummy_player maps\_shg_utility::get_differentiated_speed() / 17.6; + var_0C = clamp(var_0C,0.01,var_0D + 5); + self vehicle_rotateyaw(param_01[1]); + self vehicledriveto(param_00,var_0C); +} + +//Function Number: 17 +filter_lead_controller_init(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = spawnstruct(); + var_05.is_filter_lead_controller = 1; + var_05.update_func = ::filter_lead_controller_update; + var_05.position_smoothing = param_01; + var_05.velocity_smoothing = param_02; + var_05.lead_time = param_03; + var_05.is_angles = isdefined(param_04) && param_04; + if(var_05.is_angles) + { + param_00 = angleclamp180(param_00); + } + + var_05.target_position = param_00; + var_05.smooth_target_position = param_00; + var_05.smooth_target_velocity = param_00 * 0; + return var_05; +} + +//Function Number: 18 +filter_lead_controller_update(param_00,param_01) +{ + if(!isdefined(param_01)) + { + param_01 = 0.05; + } + + if(self.is_angles) + { + param_00 = angleclamp180(param_00); + } + + var_02 = param_00 - self.target_position; + if(self.is_angles) + { + var_02 = angleclamp180(var_02); + } + + var_03 = var_02 / param_01; + self.target_position = param_00; + if(self.is_angles) + { + self.smooth_target_position = angle_interpolate(self.position_smoothing,param_00,self.smooth_target_position); + } + else + { + self.smooth_target_position = maps\_utility::linear_interpolate(self.position_smoothing,param_00,self.smooth_target_position); + } + + self.smooth_target_velocity = maps\_utility::linear_interpolate(self.velocity_smoothing,var_03,self.smooth_target_velocity); + var_04 = self.smooth_target_position + self.smooth_target_velocity * self.lead_time; + if(self.is_angles) + { + var_04 = angleclamp(var_04); + } + + return var_04; +} + +//Function Number: 19 +angle_interpolate(param_00,param_01,param_02) +{ + return angleclamp180(param_01 + angleclamp180(param_02 - param_01) * param_00); +} + +//Function Number: 20 +sigmoid(param_00) +{ + var_01 = [[0,0],[0.3,0.05],[0.4,0.2],[0.5,0.5],[0.6,0.8],[0.7,0.95],[1,1]]; + foreach(var_08, var_03 in var_01) + { + if(var_03[0] >= param_00) + { + if(var_08 > 0) + { + var_04 = var_01[var_08 - 1]; + var_05 = param_00 - var_04[0]; + var_06 = var_03[0] - var_04[0]; + var_07 = var_05 / var_06; + param_00 = var_07 * var_03[1] - var_04[1] + var_04[1]; + return param_00; + } + else + { + return var_06[1]; + } + } + } + + return var_08; +} + +//Function Number: 21 +player_ads_think() +{ + self.linked_player endon("death"); + self.linked_player endon("player_unlinked_from_cover"); + self endon("death"); + self notify("new_ads_think"); + thread close_ads_window_on_unlink(); + self.window_position = "up"; + var_00 = 0.5; + var_01 = -0.2; + var_02 = 0; + var_03 = 0; + var_04 = 0; + thread ads_hint_display(); + for(;;) + { + waittillframeend; + var_05 = self.linked_player adsbuttonpressed() || self.linked_player is_really_throwing_grenade(); + if(var_05 || var_03 || var_04 > 0) + { + self.blend = self.blend + var_00; + if(var_05) + { + var_03 = 1; + } + } + else + { + self.blend = self.blend + var_01; + } + + if(var_04 > 0) + { + var_04--; + } + + self.blend = clamp(self.blend,0,1); + if(self.blend == 1) + { + var_03 = 0; + if(var_05) + { + var_04 = 3; + } + } + + if(var_02 == 1 && self.blend != 1) + { + thread ads_hint_display(); + } + else if(var_02 != 1 && self.blend == 1) + { + thread ads_hint_clear(); + } + + play_window_sound(var_02,self.blend); + var_06 = sigmoid(self.blend); + self setanim(%mobile_cover_window_down_pose,var_06,0.05,1); + self setanim(%mobile_cover_window_up_pose,1 - var_06,0.05,1); + self.linked_player player_update_slow_aim(1,self); + if(self.blend > 0.5) + { + self.window_position = "down"; + maps\_variable_grenade::change_threat_detection_style("enhanceable"); + } + else + { + self.window_position = "up"; + maps\_variable_grenade::change_threat_detection_style("detectable"); + } + + var_02 = self.blend; + wait 0.05; + } +} + +//Function Number: 22 +play_window_sound(param_00,param_01) +{ + if(param_00 == 0 && param_01 != 0) + { + self playsound("cdrn_window_open"); + return; + } + + if(param_00 == 1 && param_01 != 1) + { + self playsound("cdrn_window_close"); + return; + } + + if(param_00 != 0 && param_01 == 0) + { + self playsound("cdrn_window_open_latch"); + return; + } + + if(param_00 != 1 && param_01 == 1) + { + self playsound("cdrn_window_close_latch"); + return; + } +} + +//Function Number: 23 +ads_hint_display() +{ + self notify("ads_hint_state_change"); + self endon("ads_hint_state_change"); + var_00 = create_ads_hint_string(); + common_scripts\utility::waittill_any_ents(self,"ads_hint_clear",self.linked_player,"player_unlinked_from_cover"); + var_00 destroy(); +} + +//Function Number: 24 +ads_hint_clear() +{ + self notify("ads_hint_clear"); +} + +//Function Number: 25 +close_ads_window_on_unlink() +{ + self endon("new_ads_think"); + self.linked_player endon("death"); + self endon("death"); + self.linked_player waittill("player_unlinked_from_cover"); + var_00 = -0.2; + var_01 = self.blend; + while(self.blend > 0) + { + self.blend = self.blend + var_00; + self.blend = clamp(self.blend,0,1); + if(self.blend > 0.5) + { + self.window_position = "down"; + } + else + { + self.window_position = "up"; + } + + play_window_sound(var_01,self.blend); + var_02 = sigmoid(self.blend); + self setanim(%mobile_cover_window_down_pose,var_02,0.05,1); + self setanim(%mobile_cover_window_up_pose,1 - var_02,0.05,1); + var_01 = self.blend; + wait(0.05); + } +} + +//Function Number: 26 +player_update_slow_aim(param_00,param_01) +{ + if(param_00) + { + var_02 = self getlocalplayerprofiledata("viewSensitivity"); + var_03 = pow(self playerads(),3); + var_04 = maps\_utility::linear_interpolate(var_03,0.4807692,1.902587) / var_02; + if(param_01.extra_slow_player) + { + var_04 = var_04 * 0.75; + } + + var_04 = clamp(var_04,0.01,0.99); + var_05 = clamp(var_04 * 6,0.01,0.99); + self enableslowaim(var_05,var_04); + self setmovespeedscale(0.6); + self.yaw_scale = maps\_utility::linear_interpolate(var_03,0.4807692,0.1201923); + self.move_scale = 0.6; + return; + } + + self.yaw_scale = 1; + self.move_scale = 1; + self disableslowaim(); + self setmovespeedscale(1); +} + +//Function Number: 27 +player_wait_and_unlink() +{ + self.linked_player endon("player_unlinked_from_cover"); + self.unlink_trigger waittill("trigger"); + thread player_unlink_from_cover(); +} + +//Function Number: 28 +player_unlink_on_sprint() +{ + if(!isdefined(self.linked_player)) + { + return; + } + + self.linked_player endon("death"); + self.linked_player endon("player_unlinked_from_cover"); + self endon("death"); + for(;;) + { + if(self.linked_player sprintbuttonpressed() && !self.ads) + { + player_unlink_from_cover(); + break; + } + + wait 0.05; + } +} + +//Function Number: 29 +player_unlink_on_death() +{ + if(!isdefined(self.linked_player)) + { + return; + } + + self.linked_player endon("player_unlinked_from_cover"); + self.linked_player waittill("death"); + player_unlink_from_cover(); +} + +//Function Number: 30 +player_unlink_from_cover() +{ + self notify("stop_mobile_cover_link_think"); + self.linked_player.linked_to_cover = undefined; + vehicle_scripts\_cover_drone_aud::snd_stop_cover_drone(1,1.5); + maps\_warzone_tactics::add_object_to_tactics_system(self); + self unlink(); + self.linked_player unlink(); + self.tag_origin delete(); + self.tag_origin = undefined; + self.dummy_player delete(); + self.dummy_player = undefined; + self.linked_player enablemousesteer(0); + thread unlink_failsafe(); + setsaveddvar("bg_viewBobAmplitudeStanding",level.old_viewbobamplitudestanding); + setsaveddvar("bg_viewBobAmplitudeDucked",level.old_viewbobamplitudeducked); + setsaveddvar("bg_viewBobAmplitudeSprinting",level.old_viewbobamplitudesprinting); + self.linked_player allowjump(1); + self.linked_player enable_weapon_pickup_wrapper(); + self.linked_player player_update_slow_aim(0); + self.linked_player pushplayervector((0,0,0),1); + maps\_variable_grenade::change_threat_detection_style("enhanceable"); + self vehicledriveto(self.origin,0); + stopfxontag(common_scripts\utility::getfx("link_light"),self,"tag_fx"); + playfxontag(common_scripts\utility::getfx("unlink_light"),self,"tag_fx"); + self overridematerialreset(); + var_00 = self.linked_player; + self.linked_player = undefined; + var_00 notify("player_unlinked_from_cover"); +} + +//Function Number: 31 +unlink_failsafe() +{ + if(isdefined(self.unlink_failsafe_running)) + { + return; + } + + self.unlink_failsafe_running = 1; + self endon("death"); + level.player endon("death"); + while(level.player istouching(self)) + { + self vehicle_removebrushmodelcollision(); + wait 0.05; + self vehicle_assignbrushmodelcollision(); + } + + self.unlink_failsafe_running = undefined; +} + +//Function Number: 32 +get_mobile_cover_base_from_ent(param_00) +{ + if(isdefined(param_00.is_mobile_cover)) + { + return param_00; + } + + return undefined; +} + +//Function Number: 33 +player_enable_highlight() +{ + if(!isdefined(self.linked_player)) + { + return; + } + + self.linked_player endon("death"); + var_00 = newclienthudelem(self.linked_player); + var_00.color = (1,0.05,0.025); + var_00.alpha = 0.01; + var_00 setradarhighlight(-1); + self.linked_player waittill("player_unlinked_from_cover"); + var_00 destroy(); +} + +//Function Number: 34 +create_trigger_hint_string(param_00) +{ + var_01 = level.player maps\_hud_util::createclientfontstring("default",1.5); + var_01.alpha = 0.7; + var_01.alignx = "center"; + var_01.aligny = "middle"; + var_01.y = 130; + var_01.horzalign = "center"; + var_01.vertalign = "middle"; + var_01.foreground = 0; + var_01.hidewhendead = 1; + var_01.hidewheninmenu = 1; + if(param_00 == "link") + { + var_01 settext(&"COVER_DRONE_LINK"); + } + else + { + var_01 settext(&"COVER_DRONE_UNLINK"); + } + + return var_01; +} + +//Function Number: 35 +create_ads_hint_string() +{ + var_00 = level.player maps\_hud_util::createclientfontstring("default",1.5); + var_00.alpha = 0.7; + var_00.alignx = "center"; + var_00.aligny = "middle"; + var_00.y = 115; + var_00.horzalign = "center"; + var_00.vertalign = "middle"; + var_00.foreground = 0; + var_00.hidewhendead = 1; + var_00.hidewheninmenu = 1; + if(level.player usinggamepad()) + { + var_00 settext(&"COVER_DRONE_LOWER_SHIELD"); + } + else if(getkeybinding("+toggleads_throw")["count"] > 0) + { + var_00 settext(&"COVER_DRONE_LOWER_SHIELD_KB"); + } + else + { + var_00 settext(&"COVER_DRONE_LOWER_SHIELD"); + } + + return var_00; +} + +//Function Number: 36 +mobile_cover_sound_think() +{ + if(!isalive(self.linked_player)) + { + return; + } + + var_00 = common_scripts\utility::spawn_tag_origin(); + var_01 = common_scripts\utility::spawn_tag_origin(); + var_00 linkto(self,"",(0,18,0),(0,0,0)); + var_01 linkto(self,"",(0,-18,0),(0,0,0)); + thread mobile_cover_sound_loop(var_00); + thread mobile_cover_sound_loop(var_01); + self.linked_player common_scripts\utility::waittill_either("death","player_unlinked_from_cover"); + var_00 delete(); + var_01 delete(); +} + +//Function Number: 37 +mobile_cover_sound_loop(param_00) +{ + param_00 endon("death"); + var_01 = 0.6; + var_02 = 17.6; + var_03 = 264; + var_04 = 0.4; + var_05 = 0.5; + var_06 = param_00.origin; + var_07 = 0; + for(;;) + { + waittillframeend; + var_08 = length(param_00.origin - var_06) * 20; + var_07 = maps\_utility::linear_interpolate(var_01,var_08,var_07); + var_06 = param_00.origin; + var_09 = maps\_shg_utility::linear_map_clamp(var_07,0,var_03,0,1); + var_09 = clamp(var_09,0.002,3.99); + param_00 setpitch(var_09,0.05); + if(var_07 > var_02) + { + param_00 setvolume(maps\_shg_utility::linear_map_clamp(var_07,0,var_03,var_04,var_05),0.05); + } + else + { + param_00 setvolume(0,0.05); + } + + wait 0.05; + } +} + +//Function Number: 38 +mobile_cover_impulse() +{ + self endon("death"); + var_00 = self.origin; + for(;;) + { + if(isdefined(self.linked_player)) + { + if(distance(self.origin,var_00) > 6) + { + var_00 = self.origin; + physicsexplosioncylinder(self.origin,26,24,0.25); + } + + wait(0.1); + continue; + } + + wait(0.5); + } +} + +//Function Number: 39 +enable_weapon_pickup_wrapper() +{ + thread enable_weapon_pickup_wrapper_internal(); +} + +//Function Number: 40 +enable_weapon_pickup_wrapper_internal() +{ + self endon("death"); + self endon("stop_enable_weapon_pickup_wrapper"); + wait(2); + maps\_utility::playerallowweaponpickup(1); +} + +//Function Number: 41 +disable_weapon_pickup_wrapper() +{ + self notify("stop_enable_weapon_pickup_wrapper"); + maps\_utility::playerallowweaponpickup(0); +} + +//Function Number: 42 +record_grenade_throw_times() +{ + self.last_grenade_throw_time = 0; + for(;;) + { + self waittill("grenade_fire",var_00,var_01); + self.last_grenade_throw_time = gettime(); + } +} + +//Function Number: 43 +record_grenade_rising_edges() +{ + self.is_really_throwing_grenade_rising_edge_time = 0; + var_00 = 0; + for(;;) + { + if(self isthrowinggrenade(1) && !var_00) + { + self.is_really_throwing_grenade_rising_edge_time = gettime(); + } + + var_00 = self isthrowinggrenade(1); + wait 0.05; + } +} + +//Function Number: 44 +is_really_throwing_grenade() +{ + var_00 = 300; + if(!self isthrowinggrenade(1)) + { + return 0; + } + + if(self.last_grenade_throw_time > self.is_really_throwing_grenade_rising_edge_time && gettime() - self.last_grenade_throw_time > var_00) + { + return 0; + } + + return 1; +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_cover_drone_aud.gsc b/AW/PC/vehicle_scripts/_cover_drone_aud.gsc new file mode 100644 index 0000000..9e93a6f --- /dev/null +++ b/AW/PC/vehicle_scripts/_cover_drone_aud.gsc @@ -0,0 +1,707 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _cover_drone_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 40 + * Decompile Time: 592 ms + * Timestamp: 4/22/2024 2:04:46 AM +*******************************************************************/ + +//Function Number: 1 +snd_init_cover_drone() +{ + soundscripts\_audio_vehicle_manager::avm_register_callback("input_cdrn_in_use",::input_cdrn_in_use); + soundscripts\_audio_vehicle_manager::avm_register_callback("input_cdrn_speed",::input_cdrn_speed); + soundscripts\_audio_vehicle_manager::avm_register_callback("input_cdrn_throttle",::input_cdrn_throttle); + soundscripts\_audio_vehicle_manager::avm_register_callback("input_cdrn_wheel_speed_left",::input_cdrn_wheel_speed_left); + soundscripts\_audio_vehicle_manager::avm_register_callback("input_cdrn_wheel_speed_right",::input_cdrn_wheel_speed_right); + soundscripts\_audio_vehicle_manager::avm_register_callback("input_cdrn_ball_joint_pitch_rate",::input_cdrn_ball_joint_pitch_rate); + soundscripts\_audio_vehicle_manager::avm_register_callback("input_cdrn_ball_joint_roll_rate",::input_cdrn_ball_joint_roll_rate); + soundscripts\_audio_vehicle_manager::avm_register_callback("input_cdrn_stuck_amount",::input_cdrn_stuck_amount); + soundscripts\_snd::snd_register_message("cdrn_auto_unlink",::cdrn_auto_unlink); + soundscripts\_snd::snd_message("snd_register_vehicle","cover_drone",::snd_cover_drone_constructor); + var_00 = spawnstruct(); + var_00.preset_name = "cover_drone"; + soundscripts\_snd::snd_message("snd_start_vehicle",var_00); +} + +//Function Number: 2 +snd_stop_cover_drone(param_00,param_01) +{ + soundscripts\_snd::snd_message("snd_stop_vehicle",param_00,param_01); +} + +//Function Number: 3 +cdrn_intance_init(param_00) +{ +} + +//Function Number: 4 +snd_cover_drone_constructor() +{ + soundscripts\_audio_vehicle_manager::avm_begin_preset_def("cover_drone"); + soundscripts\_audio_vehicle_manager::avm_begin_loop_data(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("cdrn_rolling_wheels_lp"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("input_cdrn_speed",0.5,0.5); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","cdrn_rolling_wheels","cdrn_rolling_wheels"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("cdrn_throttle_lw_lp"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("input_cdrn_throttle",0.1,0.5); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","cdrn_throt2vol_lw","cdrn_throt2vol_lw"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","cdrn_throt2vol_all","cdrn_throt2vol_all"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","cdrn_throt2pch","cdrn_throt2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("cdrn_throttle_md_lp"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("input_cdrn_throttle",0.1,0.5); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","cdrn_throt2vol_md","cdrn_throt2vol_md"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","cdrn_throt2vol_all","cdrn_throt2vol_all"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","cdrn_throt2pch","cdrn_throt2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("cdrn_throttle_hi_lp"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("input_cdrn_throttle",0.1,0.5); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","cdrn_throt2vol_hi","cdrn_throt2vol_hi"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","cdrn_throt2vol_all","cdrn_throt2vol_all"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","cdrn_throt2pch","cdrn_throt2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("cdrn_rccar_lg"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("input_cdrn_wheel_speed_left",0.09,0.4); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","cdrn_wheel_vel2vol","cdrn_wheel_vel2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","cdrn_wheel_vel2pch","cdrn_wheel_vel2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("input_cdrn_in_use",0.09,0.4); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","cdrn_wheel_inuse2vol","cdrn_wheel_inuse2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","cdrn_wheel_inuse2pch","cdrn_wheel_inuse2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("cdrn_rccar_md"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("input_cdrn_wheel_speed_right",0.15,0.5); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","cdrn_wheel_vel2vol","cdrn_wheel_vel2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","cdrn_wheel_vel2pch","cdrn_wheel_vel2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("input_cdrn_in_use",0.6,0.2); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","cdrn_wheel_inuse2vol","cdrn_wheel_inuse2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","cdrn_wheel_inuse2pch","cdrn_wheel_inuse2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_end_loop_data(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_data(0.25); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("cdrn_startup","cdrn_startup_duck_envelope"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("input_cdrn_in_use"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","cdrn_startup_scalar"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("cdrn_shutdown","cdrn_startup_duck_envelope"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("input_cdrn_in_use"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","cdrn_shutdown_scalar"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("cdrn_wheel_start_move_l",undefined,0.25,0,"cdrn_wheel_start_move"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("input_cdrn_wheel_speed_left"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","cdrn_servo_oneshot_vol_scalar"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch",::cdrn_servo_oneshot_pch_func,"cdrn_servo_oneshot_pch_scalar"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("cdrn_wheel_stop_move_l",undefined,0.25,0,"cdrn_wheel_stop_move"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("input_cdrn_wheel_speed_left"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","cdrn_servo_oneshot_vol_scalar"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch",::cdrn_servo_oneshot_pch_func,"cdrn_servo_oneshot_pch_scalar"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("cdrn_wheel_start_move_r",undefined,0.25,0,"cdrn_wheel_start_move"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("input_cdrn_wheel_speed_right"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","cdrn_servo_oneshot_vol_scalar"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch",::cdrn_servo_oneshot_pch_func,"cdrn_servo_oneshot_pch_scalar"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("cdrn_wheel_stop_move_r",undefined,0.25,0,"cdrn_wheel_stop_move"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("input_cdrn_wheel_speed_right"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","cdrn_servo_oneshot_vol_scalar"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch",::cdrn_servo_oneshot_pch_func,"cdrn_servo_oneshot_pch_scalar"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("cdrn_ball_pitch_start",undefined,0.25,0,"cdrn_ball_pitch_start_stop"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("input_cdrn_ball_joint_pitch_rate"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","cdrn_servo_oneshot_vol_scalar"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch",::cdrn_servo_oneshot_pch_func,"cdrn_servo_oneshot_pch_scalar"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("cdrn_ball_pitch_stop",undefined,0.25,0,"cdrn_ball_pitch_start_stop"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("input_cdrn_ball_joint_pitch_rate"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","cdrn_servo_oneshot_vol_scalar"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("cdrn_ball_roll_start_move",undefined,0.25,0); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("input_cdrn_ball_joint_roll_rate"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","cdrn_servo_oneshot_vol_scalar"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch",::cdrn_servo_oneshot_pch_func,"cdrn_servo_oneshot_pch_scalar"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("cdrn_ball_roll_stop_move",undefined,0.25,0); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("input_cdrn_ball_joint_roll_rate"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","cdrn_servo_oneshot_vol_scalar"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("cdrn_bump_lg","cdrn_bump_duck_env",0.25,0); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("input_cdrn_ball_joint_pitch_rate"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","cdrn_ball_roll_bump_vel2vol"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("input_cdrn_ball_joint_roll_rate"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","cdrn_ball_roll_bump_vel2vol"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("cdrn_bump_md","cdrn_bump_duck_env",0.25,0); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("input_cdrn_ball_joint_pitch_rate"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","cdrn_ball_roll_bump_vel2vol"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("input_cdrn_ball_joint_roll_rate"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","cdrn_ball_roll_bump_vel2vol"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("cdrn_bump_sm","cdrn_bump_duck_env",0.25,0); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("input_cdrn_ball_joint_pitch_rate"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","cdrn_ball_roll_bump_vel2vol"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("input_cdrn_ball_joint_roll_rate"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","cdrn_ball_roll_bump_vel2vol"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_data(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_data(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_vehicle_off",::to_vehicle_off,["input_cdrn_in_use"]); + soundscripts\_audio_vehicle_manager::avm_add_loops("NONE"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_vehicle_startup",::to_vehicle_startup,["input_cdrn_in_use"]); + soundscripts\_audio_vehicle_manager::avm_add_loops("ALL"); + soundscripts\_audio_vehicle_manager::avm_add_oneshots("cdrn_startup"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_vehicle_on",::to_vehicle_on,["input_cdrn_in_use"]); + soundscripts\_audio_vehicle_manager::avm_add_loops("ALL"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_vehicle_shutdown",::to_vehicle_shutdown,["input_cdrn_in_use"]); + soundscripts\_audio_vehicle_manager::avm_add_loops("NONE"); + soundscripts\_audio_vehicle_manager::avm_add_oneshots("cdrn_shutdown"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_wheel_left_idle",::to_wheel_left_idle,["input_cdrn_wheel_speed_left"]); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_wheel_left_start_move",::to_wheel_left_start_move,["input_cdrn_wheel_speed_left"]); + soundscripts\_audio_vehicle_manager::avm_add_oneshots("cdrn_wheel_start_move_l"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_wheel_left_moving",::to_wheel_left_moving,["input_cdrn_wheel_speed_left"]); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_wheel_left_stop_move",::to_wheel_left_stop_move,["input_cdrn_wheel_speed_left"]); + soundscripts\_audio_vehicle_manager::avm_add_oneshots("cdrn_wheel_stop_move_l"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_wheel_right_idle",::to_wheel_right_idle,["input_cdrn_wheel_speed_right"]); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_wheel_right_start_move",::to_wheel_right_start_move,["input_cdrn_wheel_speed_right"]); + soundscripts\_audio_vehicle_manager::avm_add_oneshots("cdrn_wheel_start_move_r"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_wheel_right_moving",::to_wheel_right_moving,["input_cdrn_wheel_speed_right"]); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_wheel_right_stop_move",::to_wheel_right_stop_move,["input_cdrn_wheel_speed_right"]); + soundscripts\_audio_vehicle_manager::avm_add_oneshots("cdrn_wheel_stop_move_r"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_ball_pitch_idle",::to_ball_pitch_idle,["input_cdrn_ball_joint_pitch_rate"]); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_ball_pitch_start_move",::to_ball_pitch_start_move,["input_cdrn_ball_joint_pitch_rate"]); + soundscripts\_audio_vehicle_manager::avm_add_oneshots("cdrn_ball_pitch_start"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_ball_pitch_moving",::to_ball_pitch_moving,["speed"]); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("input_cdrn_ball_joint_pitch_rate"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","cdrn_ball_roll_bump_vel2vol"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_ball_pitch_stop_move",::to_ball_pitch_stop_move,["input_cdrn_ball_joint_pitch_rate"]); + soundscripts\_audio_vehicle_manager::avm_add_oneshots("cdrn_ball_pitch_stop"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_ball_roll_idle",::to_ball_roll_idle,["input_cdrn_ball_joint_roll_rate"]); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_ball_roll_start_move",::to_ball_roll_start_move,["input_cdrn_ball_joint_roll_rate"]); + soundscripts\_audio_vehicle_manager::avm_add_oneshots("cdrn_ball_roll_start_move"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_ball_roll_moving",::to_ball_roll_moving,["speed"]); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("input_cdrn_ball_joint_roll_rate"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","cdrn_ball_roll_bump_vel2vol"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_ball_roll_stop_move",::to_ball_roll_stop_move,["input_cdrn_ball_joint_roll_rate"]); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_end_behavior_data(); + soundscripts\_audio_vehicle_manager::avm_begin_state_data(); + soundscripts\_audio_vehicle_manager::avm_begin_state_group("vehicle","vehicle_off","to_vehicle_off",50,0); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("vehicle_off"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("vehicle_startup","to_vehicle_startup"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("vehicle_startup",0,100); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("vehicle_on","to_vehicle_on"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("vehicle_on"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("vehicle_shutdown","to_vehicle_shutdown"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("vehicle_shutdown"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("vehicle_off","to_vehicle_off"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_end_state_group(); + soundscripts\_audio_vehicle_manager::avm_begin_state_group("ball_pitch","ball_pitch_idle","to_ball_pitch_idle",50); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("ball_pitch_idle"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("ball_pitch_start_move","to_ball_pitch_start_move"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("ball_pitch_start_move"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("ball_pitch_moving","to_ball_pitch_moving"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("ball_pitch_moving"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("ball_pitch_stop_move","to_ball_pitch_stop_move"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("ball_pitch_stop_move"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("ball_pitch_idle","to_ball_pitch_idle"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_end_state_group(); + soundscripts\_audio_vehicle_manager::avm_begin_state_group("ball_roll","ball_roll_idle","to_ball_roll_idle",50,0.25); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("ball_roll_idle"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("ball_roll_start_move","to_ball_roll_start_move"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("ball_roll_start_move"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("ball_roll_moving","to_ball_roll_moving"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("ball_roll_moving"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("ball_roll_moving","to_ball_roll_moving"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("ball_roll_stop_move","to_ball_roll_stop_move"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("ball_roll_stop_move",0.25,60); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("ball_roll_idle","to_ball_roll_idle"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_end_state_group(); + soundscripts\_audio_vehicle_manager::avm_end_state_data(); + soundscripts\_audio_vehicle_manager::avm_add_envelope("cdrn_foo_env_function",::foo_env_function); + soundscripts\_audio_vehicle_manager::avm_add_envelope("cdrn_throt2vol_all",[[0,0],[1.122,0],[4.488,0],[10.098,0],[17.9575,0],[28.061,0],[40.403,0],[55,0]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("cdrn_rolling_wheels",[[0,0],[0.051,0.0165],[0.204,0.02935],[0.459,0.05555],[0.81625,0.1107],[1.2755,0.2222],[1.8365,0.39505],[2.5,0.5]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("cdrn_throt2vol_lw",[[0,1],[18.315,1],[55,0]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("cdrn_throt2vol_md",[[0,0],[18.315,1],[36.63,1],[55,0.6]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("cdrn_throt2vol_hi",[[0,0],[36.63,1],[55,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("cdrn_throt2pch",[[0,1],[1,1.4]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("cdrn_wheel_vel2vol",[[0,0.125],[0.918,0.130775],[3.672,0.1352725],[8.262,0.1444425],[14.6925,0.163745],[22.959,0.20277],[33.057,0.2632675],[45,0.3]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("cdrn_wheel_vel2pch",[[0,0.95],[45,1.1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("cdrn_wheel_inuse2vol",[[0,0],[0.5,0.6],[1,0.6]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("cdrn_wheel_inuse2pch",[[0,0.2375],[1,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("cdrn_ball_roll_bump_vel2vol",[[0,0.225],[20,0.9]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("cdrn_startup_duck_envelope",[[0,1],[0.2,0.6],[0.5,0.6],[0.6,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("cdrn_bump_duck_env",[[0,1],[0.1,0.6],[0.25,0.6],[0.5,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("cdrn_fullvol",[[0,1],[1,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("cdrn_startup_scalar",[[0,1],[1,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("cdrn_shutdown_scalar",[[0,1],[1,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("cdrn_servo_oneshot_vol_scalar",[[0,0.1],[45,0.1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("cdrn_servo_oneshot_pch_scalar",[[0,0.8],[0,0.8],[20,0.8]]); + soundscripts\_audio_vehicle_manager::avm_end_preset_def(); +} + +//Function Number: 5 +foo_env_function() +{ + return 1; +} + +//Function Number: 6 +cdrn_servo_oneshot_pch_func(param_00) +{ + return randomfloatrange(0.7,1); +} + +//Function Number: 7 +print_state(param_00,param_01,param_02) +{ + if(isarray(param_00) || param_00) + { + var_03 = ""; + if(isdefined(param_02)) + { + var_03 = var_03 + param_02; + } + + iprintlnbold(param_01 + " " + var_03); + } +} + +//Function Number: 8 +to_vehicle_off(param_00,param_01) +{ + var_02 = param_00["input_cdrn_in_use"] == 0; + return var_02; +} + +//Function Number: 9 +to_vehicle_startup(param_00,param_01) +{ + var_02 = param_00["input_cdrn_in_use"] == 1; + if(var_02) + { + } + + return var_02; +} + +//Function Number: 10 +to_vehicle_on(param_00,param_01) +{ + var_02 = param_00["input_cdrn_in_use"] == 1; + return var_02; +} + +//Function Number: 11 +to_vehicle_shutdown(param_00,param_01) +{ + var_02 = param_00["input_cdrn_in_use"] == 0; + return var_02; +} + +//Function Number: 12 +to_wheel_left_idle(param_00,param_01) +{ + var_02 = param_00["input_cdrn_wheel_speed_left"]; + var_03 = var_02 < 4; + return var_03; +} + +//Function Number: 13 +to_wheel_left_start_move(param_00,param_01) +{ + var_02 = param_00["input_cdrn_wheel_speed_left"]; + var_03 = var_02 > 4; + if(var_03) + { + } + + return var_03; +} + +//Function Number: 14 +to_wheel_left_moving(param_00,param_01) +{ + var_02 = param_00["input_cdrn_wheel_speed_left"] > 0; + var_03 = var_02 > 0; + return var_03; +} + +//Function Number: 15 +to_wheel_left_stop_move(param_00,param_01) +{ + var_02 = param_00["input_cdrn_wheel_speed_left"] < 4; + var_03 = var_02 < 4; + if(var_03) + { + } + + return var_03; +} + +//Function Number: 16 +to_wheel_right_idle(param_00,param_01) +{ + var_02 = param_00["input_cdrn_wheel_speed_right"] < 4; + var_03 = var_02 > 0; + return var_03; +} + +//Function Number: 17 +to_wheel_right_start_move(param_00,param_01) +{ + var_02 = param_00["input_cdrn_wheel_speed_right"]; + var_03 = var_02 > 4; + return var_03; +} + +//Function Number: 18 +to_wheel_right_moving(param_00,param_01) +{ + var_02 = param_00["input_cdrn_wheel_speed_right"]; + var_03 = var_02 > 0; + return var_03; +} + +//Function Number: 19 +to_wheel_right_stop_move(param_00,param_01) +{ + var_02 = param_00["input_cdrn_wheel_speed_right"]; + var_03 = var_02 < 4; + return var_03; +} + +//Function Number: 20 +to_ball_pitch_idle(param_00,param_01) +{ + var_02 = param_00["input_cdrn_ball_joint_pitch_rate"]; + var_03 = abs(var_02) < 4; + return var_03; +} + +//Function Number: 21 +to_ball_pitch_start_move(param_00,param_01) +{ + var_02 = param_00["input_cdrn_ball_joint_pitch_rate"]; + var_03 = abs(var_02) > 4; + return var_03; +} + +//Function Number: 22 +to_ball_pitch_moving(param_00,param_01) +{ + var_02 = param_00["input_cdrn_ball_joint_pitch_rate"]; + var_03 = param_00["speed"]; + var_04 = do_bumps(var_02,var_03,param_01); + return var_04; +} + +//Function Number: 23 +to_ball_pitch_stop_move(param_00,param_01) +{ + var_02 = param_00["input_cdrn_ball_joint_pitch_rate"]; + var_03 = abs(var_02) < 4; + return var_03; +} + +//Function Number: 24 +to_ball_roll_idle(param_00,param_01) +{ + var_02 = param_00["input_cdrn_ball_joint_roll_rate"]; + var_03 = abs(var_02) < 4; + return var_03; +} + +//Function Number: 25 +to_ball_roll_start_move(param_00,param_01) +{ + var_02 = param_00["input_cdrn_ball_joint_roll_rate"]; + var_03 = abs(var_02) > 4; + return var_03; +} + +//Function Number: 26 +to_ball_roll_moving(param_00,param_01) +{ + var_02 = param_00["input_cdrn_ball_joint_roll_rate"]; + var_03 = param_00["speed"]; + var_04 = do_bumps(var_02,var_03,param_01); + return var_04; +} + +//Function Number: 27 +do_bumps(param_00,param_01,param_02) +{ + var_03 = 1; + if(!isdefined(param_02.to_ball_roll_moving)) + { + param_02.to_ball_roll_moving = spawnstruct(); + var_04 = param_02.to_ball_roll_moving; + var_04.prev_rate = param_00; + var_04.prev_accel_oneshot_time = 0; + } + + var_04 = param_02.to_ball_roll_moving; + var_05 = abs(param_00 - var_04.prev_rate); + if(var_05 > 0) + { + } + + var_06 = gettime(); + if(param_01 > 0.5 && var_05 > 2 && var_06 - var_04.prev_accel_oneshot_time > 0.25) + { + if(var_05 > 20) + { + var_03 = ["cdrn_bump_lg"]; + } + else if(var_05 > 10) + { + var_03 = ["cdrn_bump_md"]; + } + else + { + var_03 = ["cdrn_bump_sm"]; + } + + var_04.prev_accel_oneshot_time = var_06; + } + + var_04.prev_rate = param_00; + if((isarray(var_03) && var_03.size > 0) || var_03) + { + } + + return var_03; +} + +//Function Number: 28 +to_ball_roll_stop_move(param_00,param_01) +{ + var_02 = param_00["input_cdrn_ball_joint_roll_rate"]; + var_03 = abs(var_02) < 4; + return var_03; +} + +//Function Number: 29 +input_cdrn_in_use() +{ + var_00 = 0; + var_01 = soundscripts\_audio_vehicle_manager::avmx_get_vehicle_entity(); + if(isdefined(var_01.linked_player)) + { + var_00 = 1; + } + + return var_00; +} + +//Function Number: 30 +input_cdrn_speed() +{ + var_00 = soundscripts\_audio_vehicle_manager::avmx_get_vehicle_entity(); + var_01 = var_00 vehicle_getspeed(); + return var_01; +} + +//Function Number: 31 +input_cdrn_throttle() +{ + var_00 = input_cdrn_wheel_speed(0); + var_01 = input_cdrn_wheel_speed(1); + var_02 = var_00 + var_01 * 0.5; + return var_02; +} + +//Function Number: 32 +input_cdrn_wheel_speed_left() +{ + var_00 = input_cdrn_wheel_speed(0); + return var_00; +} + +//Function Number: 33 +input_cdrn_wheel_speed_right() +{ + var_00 = input_cdrn_wheel_speed(1); + return var_00; +} + +//Function Number: 34 +input_cdrn_wheel_speed(param_00) +{ + var_01 = soundscripts\_audio_vehicle_manager::avmx_get_vehicle_entity(); + if(!isdefined(var_01.cover_drone_wheels)) + { + var_01.cover_drone_wheels = []; + } + + if(!isdefined(var_01.cover_drone_wheels[param_00])) + { + var_01.cover_drone_wheels[param_00] = spawnstruct(); + } + + if(param_00 == 0) + { + var_02 = 18; + } + else + { + var_02 = -18; + } + + var_01.cover_drone_wheels[param_00].origin = var_01.origin + anglestoright(var_01.angles) * var_02; + var_03 = var_01.cover_drone_wheels[param_00] maps\_shg_utility::get_differentiated_speed(); + return var_03; +} + +//Function Number: 35 +input_cdrn_ball_joint_pitch_rate() +{ + var_00 = input_cdrn_ball_joint_rate(0); + return var_00; +} + +//Function Number: 36 +input_cdrn_ball_joint_roll_rate() +{ + var_00 = 0; + if(input_cdrn_in_use()) + { + var_00 = input_cdrn_ball_joint_rate(2); + if(abs(var_00) < 1) + { + var_00 = 0; + } + } + + return var_00; +} + +//Function Number: 37 +input_cdrn_ball_joint_rate(param_00) +{ + var_01 = soundscripts\_audio_vehicle_manager::avmx_get_vehicle_entity(); + var_02 = gettime(); + if(!isdefined(var_01.ball_joint_last_update_msec)) + { + var_01.ball_joint_last_update_msec = var_02; + var_01.ball_joint_last_angles = var_01.angles; + var_01.ball_joint_angles_rate = (0,0,0); + } + else if(var_01.ball_joint_last_update_msec != var_02) + { + var_03 = var_02 - var_01.ball_joint_last_update_msec * 0.001; + var_01.ball_joint_last_update_msec = var_02; + var_04 = (clamp(angleclamp180(var_01.angles[0]),-20,20),0,clamp(angleclamp180(var_01.angles[2]),-10,10)); + var_05 = var_04 - var_01.ball_joint_last_angles; + var_05 = (angleclamp180(var_05[0]),angleclamp180(var_05[1]),angleclamp180(var_05[2])); + var_01.ball_joint_last_angles = var_01.angles; + var_01.ball_joint_angles_rate = var_05 / var_03; + } + + return var_01.ball_joint_angles_rate[param_00]; +} + +//Function Number: 38 +input_cdrn_stuck_amount() +{ + return 0; +} + +//Function Number: 39 +cdrn_wheel_speed_modifier_callback_linear(param_00,param_01) +{ + if(!isdefined(param_01.wheel_speed_modifier)) + { + param_01.wheel_speed_modifier = spawnstruct(); + param_01.wheel_speed_modifier.scalar_actual = 1; + param_01.wheel_speed_modifier.scalar_target = 1; + param_01.wheel_speed_modifier.start_time = 0; + param_01.wheel_speed_modifier.curr_time = 0; + param_01.wheel_speed_modifier.total_time = 0; + param_01.wheel_speed_modifier.dt = soundscripts\_audio_vehicle_manager::avm_get_update_rate(); + param_01.wheel_speed_modifier.total_dist = 0; + param_01.wheel_speed_modifier.g_dx = 0; + param_01.wheel_speed_modifier.frac = 0; + } + + var_02 = param_01.wheel_speed_modifier; + var_02.curr_time = gettime() / 1000; + if(var_02.curr_time >= var_02.start_time + var_02.dt) + { + var_02.start_time = var_02.curr_time; + var_02.scalar_actual = 1; + var_02.scalar_target = randomfloatrange(0.4,1.2); + var_02.total_time = randomfloatrange(0.5,2); + var_02.total_dist = var_02.scalar_target - var_02.scalar_actual; + var_02.frac = var_02.dt / var_02.total_time; + var_02.g_dx = var_02.frac * var_02.total_dist; + } + + var_02.scalar_actual = var_02.scalar_actual + var_02.g_dx; + return param_00 * var_02.scalar_actual; +} + +//Function Number: 40 +cdrn_auto_unlink() +{ +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_diveboat.gsc b/AW/PC/vehicle_scripts/_diveboat.gsc new file mode 100644 index 0000000..1423f72 --- /dev/null +++ b/AW/PC/vehicle_scripts/_diveboat.gsc @@ -0,0 +1,793 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _diveboat.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 36 + * Decompile Time: 580 ms + * Timestamp: 4/22/2024 2:04:48 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + setup_fx(); + maps\_vehicle::build_template("diveboat",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_deathmodel("vehicle_mil_atlas_speedboat_ai","vehicle_mil_atlas_speedboat_dstrypv",0); + maps\_vehicle::build_deathfx("vfx/explosion/vehicle_diveboat_explosion",undefined,"fin_npc_boat_exp"); + maps\_vehicle::build_life(999,500,1500); + maps\_vehicle::build_aianims(::setanims,::set_vehicle_anims); + maps\_vehicle::build_team("allies"); + maps\_vehicle::build_death_jolt_delay(9999); + if(!isdefined(level.diveboat_anims_initialized)) + { + setup_worldhands_anims(); + setup_player_driving_anims(); + level.diveboat_anims_initialized = 1; + } + + precachemodel("vehicle_mil_hoverbike_vm"); + precachemodel("vehicle_mil_hoverbike_ai"); + precachemodel("vehicle_mil_atlas_speedboat_ai"); + precacherumble("steady_rumble"); + init_diveboat_weapon(); + init_diveboat_weapon_gauge(); + maps\_vehicle::build_missile_launcher("diveboat_missile_launcher","hatchL","projectile_rpg7","rpg_guided",::missile_door_open,::missile_door_close,0.2,0.2,0.75,3,5,1); + maps\_vehicle::build_missile_launcher("diveboat_missile_launcher","hatchR","projectile_rpg7","rpg_guided",::missile_door_open,::missile_door_close,0.2,0.2,0.75,3,5,1); +} + +//Function Number: 2 +setup_fx() +{ + level._effect["boat_wake_diveboat_splash_fast"] = loadfx("vfx/treadfx/boat_wake_diveboat_splash_fast"); + level._effect["boat_wake_diveboat_splash_slow"] = loadfx("vfx/treadfx/boat_wake_diveboat_splash_slow"); + level._effect["diveboat_submerge_splash"] = loadfx("vfx/water/diveboat_submerge_splash"); + level._effect["diveboat_submerge_trail"] = loadfx("vfx/water/diveboat_submerge_trail"); + level._effect["diveboat_emerge_splash"] = loadfx("vfx/water/diveboat_emerge_splash"); + level._effect["boat_wake_diveboat_foam_trail"] = loadfx("vfx/treadfx/boat_wake_diveboat_foam_trail"); + level._effect["vehicle_diveboat_death_water_ring"] = loadfx("vfx/explosion/vehicle_diveboat_death_water_ring"); +} + +//Function Number: 3 +init_local() +{ + if(self.vehicletype != "diveboat_player") + { + self.playermech_rocket_targeting_allowed = 1; + self enableaimassist(); + thread modifydamage(); + thread vehicle_death_add(); + thread ai_diveboats_chase_trail(); + soundscripts\_snd::snd_message("find_npc_dive_boat_handler"); + self.script_crashtypeoverride = "diveboat"; + } +} + +//Function Number: 4 +setanims() +{ + var_00[0] = spawnstruct(); + var_00[0].sittag = "tag_driver"; + var_00[0].getin = %hoverbike_mount_driver_dir1; + var_00[0].getout = %hoverbike_dismount_driver; + var_00[0].idle = %hoverbike_driving_idle_guy1; + var_00[0].aianim_simple["hoverbike_driving_flashlight_left_guy1"] = %hoverbike_driving_flashlight_left_guy1; + var_00[0].aianim_simple["hoverbike_driving_flashlight_right_guy1"] = %hoverbike_driving_flashlight_right_guy1; + var_00[0].aianim_simple["hoverbike_driving_gesture_lft_guy1"] = %hoverbike_driving_gesture_lft_guy1; + var_00[0].aianim_simple["hoverbike_driving_gesture_rt_guy1"] = %hoverbike_driving_gesture_rt_guy1; + var_00[0].aianim_simple["hoverbike_driving_idle_guy1"] = %hoverbike_driving_idle_guy1; + var_00[0].aianim_simple["hoverbike_driving_lean_left_idle_guy1"] = %hoverbike_driving_lean_left_idle_guy1; + var_00[0].aianim_simple["hoverbike_driving_lean_left_into_guy1"] = %hoverbike_driving_lean_left_into_guy1; + var_00[0].aianim_simple["hoverbike_driving_lean_left_out_guy1"] = %hoverbike_driving_lean_left_out_guy1; + var_00[0].aianim_simple["hoverbike_driving_lean_right_idle_guy1"] = %hoverbike_driving_lean_right_idle_guy1; + var_00[0].aianim_simple["hoverbike_driving_lean_right_into_guy1"] = %hoverbike_driving_lean_right_into_guy1; + var_00[0].aianim_simple["hoverbike_driving_lean_right_out_guy1"] = %hoverbike_driving_lean_right_out_guy1; + var_00[0].aianim_simple["hoverbike_driving_look_over_lft_shoulder_guy1"] = %hoverbike_driving_look_over_lft_shoulder_guy1; + var_00[0].aianim_simple["hoverbike_driving_look_over_rt_shoulder_guy1"] = %hoverbike_driving_look_over_rt_shoulder_guy1; + return var_00; +} + +//Function Number: 5 +set_vehicle_anims(param_00) +{ + param_00[0].vehicle_idle = %hoverbike_driving_idle_vehicle1; + return param_00; +} + +//Function Number: 6 +setup_worldhands_anims() +{ + level.scr_anim["world_body"]["jetbike_drive_idle"] = %hoverbike_drive_idle_vm; + level.scr_anim["world_body"]["jetbike_casual_drive_idle"] = %hoverbike_casual_vm; + level.scr_anim["world_body"]["mount_jetbike"] = %det_exfil_droponbike_drop_vm; + maps\_anim::addnotetrack_customfunction("world_body","bike_swap",::level_diveboat_to_vm_model,"mount_jetbike"); + maps\_anim::addnotetrack_notify("world_body","fov_start","exit_drive_FOV_start","mount_jetbike"); + maps\_anim::addnotetrack_notify("world_body","fov_end","exit_drive_FOV_end","mount_jetbike"); +} + +//Function Number: 7 +setup_player_driving_anims() +{ + level.scr_anim["frankenbike_jetbike"]["jetbike_casual_drive_idle"] = %hoverbike_casual_vehicle; + level.scr_anim["frankenbike_worldbody"]["jetbike_casual_drive_idle"] = %hoverbike_casual_vm; + level.scr_anim["frankenbike_jetbike"]["idle_branch"] = %hoverbike_vehicle_idle_branch; + level.scr_anim["frankenbike_jetbike"]["idle_slow_branch"] = %hoverbike_vehicle_idle_slow_branch; + level.scr_anim["frankenbike_jetbike"]["idle_slow"] = %hoverbike_drive_idle_vehicle; + level.scr_anim["frankenbike_jetbike"]["idle_slow_lt"] = %hoverbike_drive_idle_lt_vehicle; + level.scr_anim["frankenbike_jetbike"]["idle_slow_rt"] = %hoverbike_drive_idle_rt_vehicle; + level.scr_anim["frankenbike_jetbike"]["idle_fast_branch"] = %hoverbike_vehicle_idle_fast_branch; + level.scr_anim["frankenbike_jetbike"]["idle_fast_throttle"] = %hoverbike_drive_idle_throttle_vehicle; + level.scr_anim["frankenbike_jetbike"]["idle_fast_direction_branch"] = %hoverbike_vehicle_idle_fast_direction_branch; + level.scr_anim["frankenbike_jetbike"]["idle_fast"] = %hoverbike_drive_fast_idle_vehicle; + level.scr_anim["frankenbike_jetbike"]["idle_fast_lt"] = %hoverbike_drive_fast_idle_lt_vehicle; + level.scr_anim["frankenbike_jetbike"]["idle_fast_rt"] = %hoverbike_drive_fast_idle_rt_vehicle; + level.scr_anim["frankenbike_jetbike"]["jump_st"] = %hoverbike_drive_jump_st_vehicle; + level.scr_anim["frankenbike_jetbike"]["jump_loop"] = %hoverbike_drive_jump_loop_vehicle; + level.scr_anim["frankenbike_jetbike"]["jump_end"] = %hoverbike_drive_jump_end_vehicle; + level.scr_anim["frankenbike_worldbody"]["idle_branch"] = %hoverbike_vm_idle_branch; + level.scr_anim["frankenbike_worldbody"]["idle_slow_branch"] = %hoverbike_vm_idle_slow_branch; + level.scr_anim["frankenbike_worldbody"]["idle_slow"] = %hoverbike_drive_idle_vm; + level.scr_anim["frankenbike_worldbody"]["idle_slow_lt"] = %hoverbike_drive_idle_lt_vm; + level.scr_anim["frankenbike_worldbody"]["idle_slow_rt"] = %hoverbike_drive_idle_rt_vm; + level.scr_anim["frankenbike_worldbody"]["idle_fast_branch"] = %hoverbike_vm_idle_fast_branch; + level.scr_anim["frankenbike_worldbody"]["idle_fast_throttle"] = %hoverbike_drive_idle_throttle_vm; + level.scr_anim["frankenbike_worldbody"]["idle_fast_direction_branch"] = %hoverbike_vm_idle_fast_direction_branch; + level.scr_anim["frankenbike_worldbody"]["idle_fast"] = %hoverbike_drive_fast_idle_vm; + level.scr_anim["frankenbike_worldbody"]["idle_fast_lt"] = %hoverbike_drive_fast_idle_lt_vm; + level.scr_anim["frankenbike_worldbody"]["idle_fast_rt"] = %hoverbike_drive_fast_idle_rt_vm; + level.scr_anim["frankenbike_worldbody"]["jump_st"] = %hoverbike_drive_jump_st_vm; + level.scr_anim["frankenbike_worldbody"]["jump_loop"] = %hoverbike_drive_jump_loop_vm; + level.scr_anim["frankenbike_worldbody"]["jump_end"] = %hoverbike_drive_jump_end_vm; + level.scr_anim["player_bike"]["jetbike_drive_idle"] = %hoverbike_drive_idle_vehicle; + level.scr_anim["player_bike"]["jetbike_casual_drive_idle"] = %hoverbike_casual_vehicle; + level.scr_anim["player_bike"]["mount_jetbike"] = %det_exfil_droponbike_drop_vmbike; +} + +//Function Number: 8 +modifydamage() +{ + self endon("death"); + for(;;) + { + self waittill("damage",var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09); + if(var_04 == "MOD_PROJECTILE") + { + var_00 = self.maxhealth * 0.5; + self dodamage(var_00,var_03,var_01,var_01,var_04); + } + } +} + +//Function Number: 9 +level_diveboat_to_vm_model(param_00) +{ + level.diveboat setmodel("vehicle_mil_hoverbike_vm"); +} + +//Function Number: 10 +do_diveboat_threads() +{ + thread rumble_thread(); + thread handle_diveboat_collisions(); +} + +//Function Number: 11 +stop_diveboat_threads() +{ + self notify("stop_diveboat_thread"); + self.rumble_entity.intensity = 0; +} + +//Function Number: 12 +handle_diveboat_collisions() +{ + self endon("death"); + self endon("stop_diveboat_thread"); + for(;;) + { + self waittill("veh_contact",var_00,var_01,var_02,var_03,var_04); + if(isdefined(self.last_collision_time) && self.last_collision_time == gettime()) + { + continue; + } + + self.last_collision_time = gettime(); + var_05 = []; + var_05["vehicle"] = self; + var_05["hit_entity"] = var_00; + var_05["pos"] = var_01; + var_05["impulse"] = var_02; + var_05["relativeVel"] = var_03; + var_05["surface"] = var_04; + soundscripts\_snd::snd_message("aud_impact_system_diveboat",var_05); + } +} + +//Function Number: 13 +rumble_thread() +{ + level.player endon("death"); + self endon("stop_diveboat_thread"); + var_00 = 40; + var_01 = 0.1; + var_02 = 0.001; + var_03 = 8; + var_04 = 0.1; + var_05 = 0; + self.rumble_entity = maps\_utility::get_rumble_ent("steady_rumble"); + self.rumble_entity.intensity = 0; + for(;;) + { + var_06 = var_05; + var_05 = self vehicle_getspeed(); + if(self vehicle_diveboatissubmerged()) + { + self.rumble_entity.intensity = 0; + } + else + { + var_07 = var_01 * clamp(var_05 / var_00,0,1); + var_07 = var_07 * randomfloat(1); + var_08 = 0; + if(level.player attackbuttonpressed()) + { + var_09 = var_05 - var_06; + if(var_09 > 0) + { + var_08 = var_03 * clamp(1 - var_06 / var_05,var_02,1) - var_02; + } + } + + var_0A = 0; + var_0B = abs(level.player getnormalizedmovement()[1]); + if(var_0B > 0.3) + { + var_0A = var_0B * var_04; + } + + self.rumble_entity.intensity = clamp(var_07 + var_08 + var_0A,0,1); + } + + wait(0.1); + } +} + +//Function Number: 14 +init_diveboat_weapon() +{ + precacheitem("diveboat_missile"); + precacheshader("veh_hud_friendly"); + precacheshader("uav_vehicle_target"); + precacheshader("hud_fofbox_hostile"); + level.diveboat_weapon_ammo_count = 4; +} + +//Function Number: 15 +diveboat_weapon_auto_targetting() +{ + self.team = "allies"; + if(isdefined(level.diveboat_weapon_target)) + { + if(isai(level.diveboat_weapon_target)) + { + self missile_settargetent(level.diveboat_weapon_target,(0,0,45)); + } + else + { + self missile_settargetent(level.diveboat_weapon_target); + } + + target_setshader(level.diveboat_weapon_target,"hud_fofbox_hostile"); + var_00 = level.diveboat_weapon_target; + level.diveboat_weapon_target.diveboat_weapon_attacked = 1; + level.diveboat_weapon_target = undefined; + var_00 endon("death"); + var_00 common_scripts\utility::waittill_notify_or_timeout("damage",2.5); + var_00.diveboat_weapon_attacked = undefined; + target_setshader(var_00,"veh_hud_friendly"); + } +} + +//Function Number: 16 +get_npc_center_offset() +{ + if(isai(self) && isalive(self)) + { + var_00 = self geteye()[2]; + var_01 = self.origin[2]; + var_02 = var_00 - var_01 / 2; + return (0,0,var_02); + } + + return (0,0,0); +} + +//Function Number: 17 +set_up_target() +{ + if(isdefined(self) && isdefined(self.script_parameters) && self.script_parameters == "diveboat_weapon_target") + { + target_set(self,get_npc_center_offset()); + } +} + +//Function Number: 18 +give_diveboat_weapons() +{ + maps\_utility::add_global_spawn_function("axis",::set_up_target); + thread diveboat_weapon_targetting_system(); + thread diveboat_weapon_reloading_system(); + thread diveboat_weapon_fire_notify(); + thread diveboat_weapon_fire_system(); +} + +//Function Number: 19 +remove_diveboat_weapons() +{ + maps\_utility::remove_global_spawn_function("axis",::set_up_target); + level notify("remove_diveboat_weapon"); +} + +//Function Number: 20 +diveboat_weapon_targetting_system() +{ + level endon("remove_diveboat_weapon"); + for(;;) + { + var_00 = target_getarray(); + var_01 = []; + foreach(var_03 in var_00) + { + if(isdefined(var_03.ignore_target)) + { + target_hidefromplayer(var_03,level.player); + var_03.is_shown_to_player = undefined; + continue; + } + + if(isdefined(var_03.diveboat_weapon_attacked)) + { + if(sighttracepassed(level.player.origin,var_03.origin,0,var_03,self)) + { + if(!isdefined(var_03.is_shown_to_player)) + { + target_showtoplayer(var_03,level.player); + var_03.is_shown_to_player = 1; + } + + target_setshader(var_03,"hud_fofbox_hostile"); + } + else if(isdefined(var_03.is_shown_to_player)) + { + target_hidefromplayer(var_03,level.player); + var_03.is_shown_to_player = undefined; + } + + continue; + } + + if(target_isincircle(var_03,level.player,75,360) && sighttracepassed(level.player.origin,var_03.origin,0,var_03,self)) + { + var_01[var_01.size] = var_03; + if(!isdefined(var_03.is_shown_to_player)) + { + target_showtoplayer(var_03,level.player); + var_03.is_shown_to_player = 1; + } + + target_setshader(var_03,"veh_hud_friendly"); + continue; + } + + if(isdefined(var_03.is_shown_to_player)) + { + target_hidefromplayer(var_03,level.player); + var_03.is_shown_to_player = undefined; + } + } + + if(var_01.size > 0) + { + var_05 = var_01[0]; + var_06 = distance2dsquared(level.player.origin,var_05.origin); + for(var_07 = 1;var_07 < var_01.size;var_07++) + { + var_08 = distance2dsquared(level.player.origin,var_01[var_07].origin); + if(var_08 < var_06) + { + var_06 = var_08; + var_05 = var_01[var_07]; + } + } + + level.diveboat_weapon_target = var_05; + target_setshader(var_05,"uav_vehicle_target"); + } + + wait(0.05); + } +} + +//Function Number: 21 +diveboat_weapon_reloading_system() +{ + level endon("remove_diveboat_weapon"); + for(;;) + { + if(!isdefined(level.diveboat_weapon_firing) && level.diveboat_weapon_ammo_count < 4) + { + level.diveboat_weapon_ammo_count++; + var_00 = level.diveboat_weapon_ammo_count / 4; + level.diveboat_weapon_gauge_level = clamp(var_00,0.04,1); + } + + wait(0.5); + } +} + +//Function Number: 22 +diveboat_attack_button_pressed() +{ + var_00 = getdvarint("vehDiveboatControlScheme"); + if(var_00 == 1) + { + return self buttonpressed("BUTTON_LTRIG"); + } + + if(var_00 == 2) + { + return self buttonpressed("BUTTON_A"); + } + + return self buttonpressed("BUTTON_RTRIG"); +} + +//Function Number: 23 +diveboat_weapon_fire_notify() +{ + level endon("remove_diveboat_weapon"); + for(;;) + { + if(level.player diveboat_attack_button_pressed() && level.diveboat_weapon_ammo_count > 0 && !self vehicle_diveboatissubmerged()) + { + level.diveboat_weapon_firing = 1; + level.player notify("LISTEN_attack_button_pressed"); + var_00 = 0; + var_01 = 0; + while(var_00 < 0.1) + { + if(!level.player diveboat_attack_button_pressed()) + { + var_01 = 1; + } + + var_00 = var_00 + 0.05; + wait(0.05); + } + + level.diveboat_weapon_firing = undefined; + if(!var_01) + { + while(level.player diveboat_attack_button_pressed()) + { + wait(0.05); + } + } + + continue; + } + + wait(0.05); + } +} + +//Function Number: 24 +diveboat_weapon_fire_system() +{ + level endon("remove_diveboat_weapon"); + for(;;) + { + level.player waittill("LISTEN_attack_button_pressed"); + level.diveboat_weapon_ammo_count--; + var_00 = level.diveboat_weapon_ammo_count / 4; + level.diveboat_weapon_gauge_level = clamp(var_00,0.04,1); + var_01 = level.player getplayerangles(); + var_02 = level.player geteye() + 50 * anglestoup(var_01); + var_03 = level.player geteye() + 500 * anglestoforward(var_01) + 80 * anglestoup(var_01); + var_04 = magicbullet("diveboat_missile",var_02,var_03,level.player); + var_04 thread diveboat_weapon_auto_targetting(); + } +} + +//Function Number: 25 +init_diveboat_weapon_gauge() +{ + level.diveboat_weapon_gauge_level = 1; + if(isdefined(0) && 0) + { + precacheshader("hud_temperature_gauge"); + thread temp_diveboat_weapon_gauge(); + } +} + +//Function Number: 26 +setup_missile_launchers() +{ + self.missiletags = []; + self.missiletagsready = []; + self.missiletags[0] = "TAG_MISSILE1"; + self.missiletags[1] = "TAG_MISSILE2"; + self.missiletags[2] = "TAG_MISSILE3"; + self.missiletags[3] = "TAG_MISSILE4"; + self.missiletags[4] = "TAG_MISSILE5"; + self.missiletags[5] = "TAG_MISSILE6"; + self.missiledooropen = 0; + thread vehicle_scripts\_vehicle_missile_launcher_ai::reload_launchers(); +} + +//Function Number: 27 +missile_door_open() +{ + self setanimknobrestart(%atlas_speedboat_hatch_l_open,0.9,0); + self setanimlimited(%atlas_speedboat_hatch_l_root,1,0); + self setanimknobrestart(%atlas_speedboat_hatch_r_open,0.9,0); + self setanimlimited(%atlas_speedboat_hatch_r_root,1,0); + wait(getanimlength(%atlas_speedboat_hatch_l_open)); +} + +//Function Number: 28 +missile_door_close() +{ + self setanimlimited(%atlas_speedboat_hatch_l_root,0.01,0.5); + self setanimlimited(%atlas_speedboat_hatch_r_root,0.01,0.5); + wait(getanimlength(%atlas_speedboat_hatch_l_open)); +} + +//Function Number: 29 +fire_missles_at_target_array(param_00,param_01,param_02) +{ + vehicle_scripts\_vehicle_missile_launcher_ai::fire_missles_at_target_array(param_00,param_01,undefined,param_02); +} + +//Function Number: 30 +setup_and_fire_missles_at_guys_repeated(param_00,param_01) +{ + self endon("death"); + if(self.vehicletype != "diveboat_player") + { + setup_missile_launchers(); + self.missile_auto_reload = 1; + self useanimtree(#animtree); + self setanim(%atlas_speedboat_idle,1,0,1); + } + + if(!isdefined(param_01)) + { + param_01 = 2; + } + + vehicle_scripts\_vehicle_missile_launcher_ai::fire_missles_at_target_array_repeated(param_00,::missile_door_open,1,1,1,"diveboats",1,param_01); +} + +//Function Number: 31 +temp_diveboat_weapon_gauge() +{ + var_00 = 610; + var_01 = 250; + var_02 = 156; + var_03 = int(15); + var_04 = newhudelem(); + var_04.x = var_00 - 0.5 * 30 - var_03; + var_04.y = var_01 - int(40); + var_04.alignx = "right"; + var_04.aligny = "bottom"; + var_04.horzalign = "fullscreen"; + var_04.vertalign = "fullscreen"; + var_04.color = (0.1,0.6,0.1); + var_04 setshader("white",var_03,int(var_02 * level.diveboat_weapon_gauge_level)); + var_05 = newhudelem(); + var_05.x = var_00; + var_05.y = var_01; + var_05.alignx = var_04.alignx; + var_05.aligny = var_04.aligny; + var_05.horzalign = var_04.horzalign; + var_05.vertalign = var_04.vertalign; + var_05.color = (1,1,1); + var_05 setshader("hud_temperature_gauge",30,200); + var_06 = 0.05; + for(;;) + { + if(isdefined(level.player.drivingvehicle)) + { + var_04.alpha = 1; + var_05.alpha = 1; + var_07 = level.diveboat_weapon_gauge_level; + var_04 scaleovertime(var_06,var_03,int(var_02 * var_07)); + if(var_07 > 0.5) + { + var_04.color = (0.1,0.6,0.1); + } + else if(var_07 > 0.2) + { + var_04.color = (1,1,0.1); + } + else + { + var_04.color = (1,0.1,0.1); + } + } + else + { + var_04.alpha = 0; + var_05.alpha = 0; + } + + wait(var_06); + } +} + +//Function Number: 32 +vehicle_death_add() +{ + var_00 = undefined; + var_01 = undefined; + while(isalive(self) && !issubstr(self.model,"dstrypv")) + { + var_00 = self.origin; + wait 0.05; + } + + thread vehicle_death_add_remove_carcass(); + var_02 = bullettrace(var_00 + (0,0,500),var_00 + (0,0,-100),0,self,0,0,0,0,0); + if(isdefined(var_02["surfacetype"]) && issubstr(var_02["surfacetype"],"water")) + { + var_03 = var_02["position"]; + } + else + { + return; + } + + var_04 = common_scripts\utility::spawn_tag_origin(); + var_04.origin = (var_00[0],var_00[1],var_03[2]); + var_04.angles = (270,0,0); + playfxontag(common_scripts\utility::getfx("vehicle_diveboat_death_water_ring"),var_04,"tag_origin"); + wait(3); + stopfxontag(common_scripts\utility::getfx("vehicle_diveboat_death_water_ring"),var_04,"tag_origin"); + var_04 delete(); +} + +//Function Number: 33 +vehicle_death_add_remove_carcass() +{ + wait(0.25); + if(isremovedentity(self)) + { + return; + } + + if(isdefined(level.player.underwater) && level.player.underwater) + { + var_00 = getdvarint("cg_fov"); + while(level.player worldpointinreticle_circle(self.origin,var_00,350)) + { + wait 0.05; + if(isremovedentity(self)) + { + return; + } + } + + self delete(); + return; + } + + self delete(); +} + +//Function Number: 34 +ai_diveboats_chase_trail() +{ + self endon("death"); + var_00 = bullettrace(self.origin + (0,0,500),self.origin + (0,0,-100),0,self,0,0,0,0,0); + if(isdefined(var_00["surfacetype"]) && issubstr(var_00["surfacetype"],"water")) + { + var_01 = var_00["position"]; + } + else + { + var_01 = self.origin; + } + + thread ai_diveboat_foam_trail(var_01[2]); + while(isdefined(self) && isalive(self) && !issubstr(self.model,"dstrypv")) + { + var_02 = self vehicle_getspeed(); + if(self vehicle_diveboatissubmerged()) + { + continue; + } + + var_03 = self.origin[2] - var_01[2]; + if(var_03 <= 15) + { + if(var_02 > 35) + { + playfxontag(common_scripts\utility::getfx("boat_wake_diveboat_splash_fast"),self,"tag_origin"); + } + else if(var_02 <= 35 && var_02 >= 10) + { + playfxontag(common_scripts\utility::getfx("boat_wake_diveboat_splash_slow"),self,"tag_origin"); + } + else if(var_02 < 10) + { + } + } + + wait(0.3); + } + + self notify("boat_dead"); +} + +//Function Number: 35 +ai_diveboat_foam_trail(param_00) +{ + self endon("boat_dead"); + var_01 = self vehicle_diveboatissubmerged(); + var_02 = 0; + var_03 = common_scripts\utility::spawn_tag_origin(); + playfxontag(common_scripts\utility::getfx("boat_wake_diveboat_foam_trail"),var_03,"tag_origin"); + while(isdefined(self) && isalive(self) && !issubstr(self.model,"dstrypv")) + { + var_03.origin = (self.origin[0],self.origin[1],param_00); + var_03.angles = (0,self.angles[1],0); + if(isdefined(self)) + { + var_01 = self vehicle_diveboatissubmerged(); + if(var_01 != var_02) + { + if(var_01) + { + playfxontag(common_scripts\utility::getfx("diveboat_submerge_splash"),var_03,"tag_origin"); + playfxontag(common_scripts\utility::getfx("diveboat_submerge_trail"),self,"tag_origin"); + stopfxontag(common_scripts\utility::getfx("boat_wake_diveboat_foam_trail"),var_03,"tag_origin"); + } + else + { + playfxontag(common_scripts\utility::getfx("diveboat_emerge_splash"),var_03,"tag_origin"); + playfxontag(common_scripts\utility::getfx("boat_wake_diveboat_foam_trail"),var_03,"tag_origin"); + stopfxontag(common_scripts\utility::getfx("diveboat_submerge_splash"),var_03,"tag_origin"); + } + + var_02 = var_01; + wait(0.05); + } + } + + wait(0.05); + } + + wait(0.05); + stopfxontag(common_scripts\utility::getfx("boat_wake_diveboat_foam_trail"),var_03,"tag_origin"); + var_03 delete(); +} + +//Function Number: 36 +diveboat_audio() +{ + self endon("death"); + var_00 = spawnstruct(); + var_00.player_mode = 1; + var_00.preset_name = "diveboat"; + var_01 = ::vehicle_scripts\_diveboat_aud::diveboat_constructor; + soundscripts\_snd::snd_message("snd_register_vehicle",var_00.preset_name,var_01); + if(var_00.player_mode == 1) + { + soundscripts\_snd::snd_message("snd_start_vehicle",var_00); + } + + common_scripts\utility::flag_wait("flag_objective_boat_chase_complete"); + maps\_utility::delaythread(5,::soundscripts\_snd::snd_message,"snd_stop_vehicle"); +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_diveboat_aud.gsc b/AW/PC/vehicle_scripts/_diveboat_aud.gsc new file mode 100644 index 0000000..81d52a3 --- /dev/null +++ b/AW/PC/vehicle_scripts/_diveboat_aud.gsc @@ -0,0 +1,258 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _diveboat_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 7 + * Decompile Time: 115 ms + * Timestamp: 4/22/2024 2:04:48 AM +*******************************************************************/ + +//Function Number: 1 +diveboat_constructor() +{ + var_00 = 0; + var_01 = 60; + var_02 = -2; + var_03 = 2; + var_04 = 0; + var_05 = 1; + var_06 = 0; + var_07 = 1; + soundscripts\_audio_vehicle_manager::avm_begin_preset_def("diveboat"); + soundscripts\_audio_vehicle_manager::avm_add_envelope("dvbt_water_idle_spd2vol",[[0,0.65],[100.7957,0.2],[450,0]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("dvbt_engine_idle_spd2pch",[[0,0.625],[100.7957,0.625],[450,0.625]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("dvbt_engine_idle_spd2vol",[[0,0.8],[50.2613,0.5],[100,0.25]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("dvbt_engine_high_throt2vol",[[0,0.1],[40.2755,0.2],[170.1021,0.4346],[290.5012,0.5864],[450,0.6283]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("dvbt_engine_high_throt2pch",[[0,0.5],[25.6033,0.6126],[45.4204,0.7932],[100.62,0.8252],[170.6366,0.9764],[310.2114,1.2937],[450,1.5]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("dvbt_engine_low_throt2vol",[[0,0.5],[25.5,0.75],[50.0689,0.85],[100.6722,0.95],[125.4513,1],[150.6508,1],[250.0119,1],[330.8836,0.9891],[450,0.9562]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("dvbt_engine_low_throt2pch",[[0,0.625],[10.6033,0.7126],[30.4204,0.852],[90.62,0.9252],[170.6366,1],[250.6366,1.25],[310.2114,1.3],[450,1.5]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("dvbt_engine_high_jump_throt2vol",[[0,0],[30.5725,0],[36.9477,0],[43.0333,0],[53.4656,0.3508],[57.8124,0.5707],[61,0.8534]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("dvbt_engine_high_jump_throt2pch",[[0,0.0314],[61,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("dvbt_engine_low_jump_throt2vol",[[0,0.5],[25.5,0.85],[50.0689,0.95],[100.6722,0.97],[125.4513,0.987],[450,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("dvbt_engine_low_jump_throt2pch",[[0,0.525],[10.6033,0.6126],[30.4204,0.652],[50.62,1.375],[170.6366,1.4],[250.6366,1.5],[310.2114,1.6],[450,2]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("dvbt_engine_low_ending_throt2vol",[[0,0],[50.0689,0],[100.6722,0.25],[125.4513,0.3],[150.6508,0.5],[250.0119,0.6],[330.8836,0.9891],[450,0.9562]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("dvbt_engine_low_ending_throt2pch",[[0,0.625],[10.6033,0.625],[30.4204,0.625],[90.62,0.625],[170.6366,1],[250.6366,1.25],[310.2114,1.3],[450,1.5]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("dvbt_drag_fast_drag2vol",[[0,0],[16.5677,0.002],[18.5677,0.25],[24.3705,1],[45,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("dvbt_drag_med_drag2vol",[[0,0],[10,0.6],[50.5344,0.7],[100.772,0.8569],[150.0713,1],[240.7981,0.8],[320.2803,0.75],[450,0.5141]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("dvbt_drag_med_drag2pch",[[0,0.7],[50,0.8],[130.2542,0.9],[450,1]]); + soundscripts\_audio_vehicle_manager::avm_begin_loop_data(3); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("dive_boat_engine_idle"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed_mph",0.08,0.06); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","dvbt_engine_idle_spd2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","dvbt_engine_idle_spd2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("dive_boat_water_idle"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed_mph",0.3,0.3); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","dvbt_water_idle_spd2vol"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("dive_boat_engine_drive_high"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("diveboat_throttle",0.2,0.06); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","dvbt_engine_high_throt2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","dvbt_engine_high_throt2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("dive_boat_engine_drive_low"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("diveboat_throttle",0.08,0.2); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","dvbt_engine_low_throt2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","dvbt_engine_low_throt2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("dive_boat_engine_drive_high_jump"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("diveboat_throttle",0.1,0.3); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","dvbt_engine_high_jump_throt2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","dvbt_engine_high_jump_throt2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("dive_boat_engine_drive_low_jump",0.1); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("diveboat_throttle",0.9,0.95); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","dvbt_engine_low_jump_throt2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","dvbt_engine_low_jump_throt2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("dive_boat_drive_water_fast"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("diveboat_drag_with_mph",0.5,0.2); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","dvbt_drag_fast_drag2vol"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("dive_boat_drive_water_med"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("diveboat_drag_with_mph",0.3,0.4); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","dvbt_drag_med_drag2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","dvbt_drag_med_drag2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("dive_boat_engine_drive_low_ending"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("diveboat_throttle",0.9,0.05); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","dvbt_engine_low_ending_throt2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","dvbt_engine_low_ending_throt2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_end_loop_data(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_data(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("dive_boat_accel_one_shot",undefined,undefined,2); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("dive_boat_drag_one_shot",undefined,undefined,2); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_data(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_data(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_idle",::diveboat_condition_callback_to_state_idle,["diveboat_throttle","speed_mph"]); + soundscripts\_audio_vehicle_manager::avm_add_loops(["dive_boat_engine_idle","dive_boat_water_idle","dive_boat_engine_drive_low"]); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_throttling",::diveboat_condition_callback_to_state_throttling,["diveboat_throttle","speed_mph"]); + soundscripts\_audio_vehicle_manager::avm_add_loops(["dive_boat_engine_idle","dive_boat_engine_drive_high","dive_boat_engine_drive_low","dive_boat_drive_water_fast","dive_boat_drive_water_med"]); + soundscripts\_audio_vehicle_manager::avm_add_oneshots("dive_boat_accel_one_shot"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_dragging",::diveboat_condition_callback_to_state_dragging,["diveboat_throttle","speed_mph"]); + soundscripts\_audio_vehicle_manager::avm_add_loops(["dive_boat_engine_idle","dive_boat_engine_drive_high","dive_boat_engine_drive_low"]); + soundscripts\_audio_vehicle_manager::avm_add_oneshots("dive_boat_drag_one_shot"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_jumping",::diveboat_condition_callback_to_state_jumping,["diveboat_throttle","speed_mph"]); + soundscripts\_audio_vehicle_manager::avm_add_loops(["dive_boat_engine_idle","dive_boat_engine_drive_low_jump"]); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_ending",::diveboat_condition_callback_to_state_ending,["diveboat_throttle","speed_mph"]); + soundscripts\_audio_vehicle_manager::avm_add_loops(["dive_boat_engine_idle","dive_boat_engine_drive_low_ending"]); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_end_behavior_data(); + soundscripts\_audio_vehicle_manager::avm_begin_state_data(0.25,50); + soundscripts\_audio_vehicle_manager::avm_begin_state_group("test_state_group","state_idle","to_state_idle",50,1); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_idle"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_throttling","to_state_throttling"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_ending","to_state_ending"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_throttling"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_idle","to_state_idle"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_jumping","to_state_jumping"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_drag","to_state_dragging"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_ending","to_state_ending"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_drag"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_idle","to_state_idle"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_jumping","to_state_jumping"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_throttling","to_state_throttling"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_ending","to_state_ending"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_jumping"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_throttling","to_state_throttling"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_drag","to_state_dragging"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_ending","to_state_ending"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_ending"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_end_state_group(); + soundscripts\_audio_vehicle_manager::avm_end_state_data(); + soundscripts\_audio_vehicle_manager::avm_end_preset_def(); +} + +//Function Number: 2 +diveboat_init(param_00) +{ +} + +//Function Number: 3 +diveboat_condition_callback_to_state_idle(param_00,param_01) +{ + var_02 = 0; + var_03 = param_00["diveboat_throttle"]; + var_04 = param_00["speed_mph"]; + var_05 = soundscripts\_audio_vehicle_manager::avmx_get_vehicle_entity(); + var_06 = var_05.origin[2]; + if(!isdefined(param_01.prev_throttle) || !isdefined(param_01.prev_speed) || !isdefined(param_01.prev_height)) + { + var_02 = 1; + param_01.prev_throttle = var_03; + param_01.prev_speed = var_04; + param_01.prev_height = var_06; + } + else if(var_03 <= 0.1 && var_04 <= 1 && param_01.prev_speed > 1) + { + var_02 = 1; + param_01.prev_throttle = var_03; + param_01.prev_speed = var_04; + param_01.prev_height = var_06; + } + + return var_02; +} + +//Function Number: 4 +diveboat_condition_callback_to_state_throttling(param_00,param_01) +{ + var_02 = 0; + var_03 = param_00["diveboat_throttle"]; + var_04 = param_00["speed_mph"]; + var_05 = soundscripts\_audio_vehicle_manager::avmx_get_vehicle_entity(); + var_06 = var_05.origin[2]; + if(isdefined(param_01.prev_throttle) && param_01.prev_throttle <= 0.1 && var_03 > 0.1) + { + var_02 = 1; + } + else if(isdefined(param_01.prev_height) && param_01.prev_height > -560 && var_06 <= -560 && var_03 > 0.1) + { + var_02 = 1; + } + + if(var_06 <= -560) + { + param_01.prev_throttle = var_03; + param_01.prev_speed = var_04; + param_01.prev_height = var_06; + } + + return var_02; +} + +//Function Number: 5 +diveboat_condition_callback_to_state_dragging(param_00,param_01) +{ + var_02 = 0; + var_03 = param_00["diveboat_throttle"]; + var_04 = param_00["speed_mph"]; + var_05 = soundscripts\_audio_vehicle_manager::avmx_get_vehicle_entity(); + var_06 = var_05.origin[2]; + if(isdefined(param_01.prev_throttle) && param_01.prev_throttle > 0.1 && var_03 <= 0.1 && var_04 > 1) + { + var_02 = 1; + } + else if(isdefined(param_01.prev_height) && param_01.prev_height > -560 && var_06 <= -560 && var_03 <= 0.1) + { + var_02 = 1; + } + + param_01.prev_throttle = var_03; + param_01.prev_speed = var_04; + param_01.prev_height = var_06; + return var_02; +} + +//Function Number: 6 +diveboat_condition_callback_to_state_jumping(param_00,param_01) +{ + var_02 = 0; + var_03 = param_00["diveboat_throttle"]; + var_04 = param_00["speed_mph"]; + var_05 = soundscripts\_audio_vehicle_manager::avmx_get_vehicle_entity(); + var_06 = var_05.origin[2]; + if(isdefined(param_01.prev_height) && var_06 > -560 && param_01.prev_height <= -560) + { + var_02 = 1; + param_01.prev_throttle = var_03; + param_01.prev_speed = var_04; + param_01.prev_height = var_06; + } + + return var_02; +} + +//Function Number: 7 +diveboat_condition_callback_to_state_ending(param_00,param_01) +{ + var_02 = 0; + if(isdefined(level.aud.diveboat_ending) && level.aud.diveboat_ending == 1) + { + var_02 = 1; + } + + return var_02; +} \ No newline at end of file diff --git a/AW/PC/MP/maps/mp/bots/_bots_gametype_vlobby.gsc b/AW/PC/vehicle_scripts/_empty.gsc similarity index 73% rename from AW/PC/MP/maps/mp/bots/_bots_gametype_vlobby.gsc rename to AW/PC/vehicle_scripts/_empty.gsc index 27018cb..4dc9d0a 100644 --- a/AW/PC/MP/maps/mp/bots/_bots_gametype_vlobby.gsc +++ b/AW/PC/vehicle_scripts/_empty.gsc @@ -1,14 +1,14 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: maps\mp\bots\_bots_gametype_vlobby.gsc + * Decompiled File: _empty.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 * Decompile Time: 33 ms - * Timestamp: 10/27/2023 1:41:09 AM + * Timestamp: 4/22/2024 2:04:49 AM *******************************************************************/ //Function Number: 1 -main() +main(param_00,param_01) { } \ No newline at end of file diff --git a/AW/PC/SP/vehicle_scripts/_ft101_tank.gsc b/AW/PC/vehicle_scripts/_ft101_tank.gsc similarity index 95% rename from AW/PC/SP/vehicle_scripts/_ft101_tank.gsc rename to AW/PC/vehicle_scripts/_ft101_tank.gsc index c8d274e..eea7cee 100644 --- a/AW/PC/SP/vehicle_scripts/_ft101_tank.gsc +++ b/AW/PC/vehicle_scripts/_ft101_tank.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_ft101_tank.gsc + * Decompiled File: _ft101_tank.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 5 - * Decompile Time: 58 ms - * Timestamp: 10/27/2023 2:06:17 AM + * Decompile Time: 99 ms + * Timestamp: 4/22/2024 2:04:49 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/vehicle_scripts/_gaz.gsc b/AW/PC/vehicle_scripts/_gaz.gsc similarity index 98% rename from AW/PC/SP/vehicle_scripts/_gaz.gsc rename to AW/PC/vehicle_scripts/_gaz.gsc index 85a9390..7196427 100644 --- a/AW/PC/SP/vehicle_scripts/_gaz.gsc +++ b/AW/PC/vehicle_scripts/_gaz.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_gaz.gsc + * Decompiled File: _gaz.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 9 - * Decompile Time: 114 ms - * Timestamp: 10/27/2023 2:06:18 AM + * Decompile Time: 155 ms + * Timestamp: 4/22/2024 2:04:50 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/vehicle_scripts/_gaz_dshk.gsc b/AW/PC/vehicle_scripts/_gaz_dshk.gsc new file mode 100644 index 0000000..04d5d8e --- /dev/null +++ b/AW/PC/vehicle_scripts/_gaz_dshk.gsc @@ -0,0 +1,212 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _gaz_dshk.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 11 + * Decompile Time: 188 ms + * Timestamp: 4/22/2024 2:04:51 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + maps\_vehicle::build_template("gaz_tigr_turret",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_unload_groups(::unload_groups); + maps\_vehicle::build_drive(%humvee_50cal_driving_idle_forward,%humvee_50cal_driving_idle_backward,10); + maps\_vehicle::build_treadfx(); + maps\_vehicle::build_life(999,500,1500); + maps\_vehicle::build_team("axis"); + if(issubstr(param_02,"turret")) + { + maps\_vehicle::build_aianims(::setanims_turret,::set_vehicle_anims); + maps\_vehicle::build_turret("dshk_gaz","tag_turret","weapon_dshk_turret",undefined,"auto_ai",0.2,-20,-14); + } + else + { + maps\_vehicle::build_aianims(::setanims,::set_vehicle_anims); + } + + build_gaz_death(param_02); + maps\_vehicle::build_light(param_02,"headlight_L","TAG_HEADLIGHT_LEFT","vfx/lights/headlight_gaz","running",0); + maps\_vehicle::build_light(param_02,"headlight_R","TAG_HEADLIGHT_RIGHT","vfx/lights/headlight_gaz","running",0); + maps\_vehicle::build_light(param_02,"brakelight_L","TAG_BRAKELIGHT_LEFT","vfx/lights/taillight_gaz","running",0); + maps\_vehicle::build_light(param_02,"brakelight_R","TAG_BRAKELIGHT_RIGHT","vfx/lights/taillight_gaz","running",0); + maps\_vehicle::build_light(param_02,"headlight_L","TAG_HEADLIGHT_LEFT","vfx/lights/headlight_gaz","headlights",0); + maps\_vehicle::build_light(param_02,"headlight_R","TAG_HEADLIGHT_RIGHT","vfx/lights/headlight_gaz","headlights",0); + maps\_vehicle::build_light(param_02,"brakelight_L","TAG_BRAKELIGHT_LEFT","vfx/lights/taillight_gaz","headlights",0); + maps\_vehicle::build_light(param_02,"brakelight_R","TAG_BRAKELIGHT_RIGHT","vfx/lights/taillight_gaz","headlights",0); +} + +//Function Number: 2 +init_local() +{ + thread handle_audio(); +} + +//Function Number: 3 +handle_audio() +{ + self endon("death"); + var_00 = 0; + var_01 = 6000; + var_02 = 1; + vehicle_scripts\_gaz_dshk_aud::snd_init_gaz(); + thread monitor_death_stop_sounds(); + self.snd_disable_vehicle_system = self.script_disablevehicleaudio; + for(;;) + { + if(!isdefined(self.script_disablevehicleaudio) || !self.script_disablevehicleaudio) + { + var_03 = distance(self.origin,level.player.origin); + if(var_00 && var_03 > var_01) + { + vehicle_scripts\_gaz_dshk_aud::snd_stop_gaz(var_02); + var_00 = 0; + wait(0.1); + } + else if(!var_00 && var_03 < var_01) + { + vehicle_scripts\_gaz_dshk_aud::snd_start_gaz(); + var_00 = 1; + } + } + else if(var_00) + { + vehicle_scripts\_gaz_dshk_aud::snd_stop_gaz(1); + var_00 = 0; + } + + wait(0.1); + } +} + +//Function Number: 4 +monitor_death_stop_sounds() +{ + self waittill("death"); + var_00 = 1; + vehicle_scripts\_gaz_dshk_aud::snd_stop_gaz(var_00); +} + +//Function Number: 5 +unload_groups() +{ + var_00 = []; + var_01 = "passengers"; + var_00[var_01] = []; + var_00[var_01][var_00[var_01].size] = 1; + var_00[var_01][var_00[var_01].size] = 2; + var_00[var_01][var_00[var_01].size] = 3; + var_01 = "all_but_gunner"; + var_00[var_01] = []; + var_00[var_01][var_00[var_01].size] = 0; + var_00[var_01][var_00[var_01].size] = 1; + var_00[var_01][var_00[var_01].size] = 2; + var_01 = "rear_driver_side"; + var_00[var_01] = []; + var_00[var_01][var_00[var_01].size] = 2; + var_01 = "gunner"; + var_00[var_01] = []; + var_00[var_01][var_00[var_01].size] = 3; + var_01 = "all"; + var_00[var_01] = []; + var_00[var_01][var_00[var_01].size] = 0; + var_00[var_01][var_00[var_01].size] = 1; + var_00[var_01][var_00[var_01].size] = 2; + var_00[var_01][var_00[var_01].size] = 3; + var_00["default"] = var_00["all"]; + return var_00; +} + +//Function Number: 6 +build_gaz_death(param_00) +{ + level._effect["gazfire"] = loadfx("vfx/fire/fire_lp_s_no_light"); + level._effect["gazexplode"] = loadfx("vfx/explosion/vehicle_civ_ai_explo_lrg_runner"); + level._effect["gazsmfire"] = loadfx("vfx/fire/fire_lp_xs_no_light"); + maps\_vehicle::build_deathmodel("vehicle_gaz_tigr_base","vehicle_gaz_tigr_harbor_destroyed"); + maps\_vehicle::build_deathfx("vfx/explosion/vehicle_civ_ai_explo_lrg_runner","tag_deathfx","veh_gaz_expl_3d",undefined,undefined,undefined,undefined,undefined,undefined); + maps\_vehicle::build_deathfx("vfx/fire/fire_lp_s_no_light","tag_cab_fx","veh_gaz_fire_lp",undefined,undefined,1,0); + maps\_vehicle::build_deathfx("vfx/fire/firelp_small","tag_trunk_fx",undefined,undefined,undefined,1,3); + maps\_vehicle::build_deathquake(1,1.6,500); + maps\_vehicle::build_radiusdamage((0,0,32),300,200,0,0); +} + +//Function Number: 7 +set_vehicle_anims(param_00) +{ + param_00[0].vehicle_getoutanim = %gaz_dismount_frontl_door; + param_00[1].vehicle_getoutanim = %gaz_dismount_frontr_door; + param_00[2].vehicle_getoutanim = %gaz_dismount_backl_door; + param_00[3].vehicle_getoutanim = %gaz_dismount_backr_door; + param_00[0].vehicle_getinanim = %gaz_mount_frontl_door; + param_00[1].vehicle_getinanim = %gaz_mount_frontr_door; + param_00[2].vehicle_getinanim = %gaz_enter_back_door; + param_00[3].vehicle_getinanim = %gaz_enter_back_door; + param_00[0].vehicle_getoutsound = "gaz_door_open"; + param_00[1].vehicle_getoutsound = "gaz_door_open"; + param_00[2].vehicle_getoutsound = "gaz_door_open"; + param_00[3].vehicle_getoutsound = "gaz_door_open"; + param_00[0].vehicle_getinsound = "gaz_door_close"; + param_00[1].vehicle_getinsound = "gaz_door_close"; + param_00[2].vehicle_getinsound = "gaz_door_close"; + param_00[3].vehicle_getinsound = "gaz_door_close"; + return param_00; +} + +//Function Number: 8 +set_vehicle_anims_turret(param_00) +{ + param_00[3].vehicle_getoutanim = %gaz_turret_getout_gaz; + return param_00; +} + +//Function Number: 9 +setanims() +{ + var_00 = []; + for(var_01 = 0;var_01 < 4;var_01++) + { + var_00[var_01] = spawnstruct(); + } + + var_00[0].sittag = "tag_driver"; + var_00[1].sittag = "tag_passenger"; + var_00[2].sittag = "tag_guy0"; + var_00[3].sittag = "tag_guy1"; + var_00[0].bhasgunwhileriding = 0; + var_00[0].death = %gaz_dismount_frontl; + var_00[0].death_no_ragdoll = 1; + var_00[0].idle = %gaz_idle_frontl; + var_00[1].idle = %gaz_idle_frontr; + var_00[2].idle = %gaz_idle_backl; + var_00[3].idle = %gaz_idle_backr; + var_00[0].getout = %gaz_dismount_frontl; + var_00[1].getout = %gaz_dismount_frontr; + var_00[2].getout = %gaz_dismount_backl; + var_00[3].getout = %gaz_dismount_backr; + var_00[0].getin = %gaz_mount_frontl; + var_00[1].getin = %gaz_mount_frontr; + var_00[2].getin = %gaz_enter_backr; + var_00[3].getin = %gaz_enter_backl; + return var_00; +} + +//Function Number: 10 +setanims_turret() +{ + var_00 = setanims(); + var_00[3].mgturret = 0; + var_00[3].passenger_2_turret_func = ::gaz_turret_guy_gettin_func; + var_00[3].sittag = "tag_guy_turret"; + var_00[3].getout = %gaz_turret_getout_guy1; + var_00 = set_vehicle_anims_turret(var_00); + return var_00; +} + +//Function Number: 11 +gaz_turret_guy_gettin_func(param_00,param_01,param_02,param_03) +{ +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_gaz_dshk_aud.gsc b/AW/PC/vehicle_scripts/_gaz_dshk_aud.gsc new file mode 100644 index 0000000..c61ccfe --- /dev/null +++ b/AW/PC/vehicle_scripts/_gaz_dshk_aud.gsc @@ -0,0 +1,394 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _gaz_dshk_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 17 + * Decompile Time: 264 ms + * Timestamp: 4/22/2024 2:04:52 AM +*******************************************************************/ + +//Function Number: 1 +snd_init_gaz() +{ + soundscripts\_audio_vehicle_manager::avm_register_callback("zvelocity",::gaz_input_callback_zvelocity); + soundscripts\_audio_vehicle_manager::avm_register_callback("about_to_stop",::gaz_input_callback_about_to_stop); + soundscripts\_snd::snd_message("snd_register_vehicle","gaz_dshk",::snd_gaz_dshk_constructor); +} + +//Function Number: 2 +snd_start_gaz() +{ + if(isdefined(self.snd_instance)) + { + wait(1); + snd_stop_gaz(1); + } + + thread snd_monitor_new_path(); + var_00 = spawnstruct(); + var_00.preset_name = "gaz_dshk"; + soundscripts\_snd::snd_message("snd_start_vehicle",var_00); +} + +//Function Number: 3 +snd_stop_gaz(param_00) +{ + if(isdefined(self.snd_instance)) + { + soundscripts\_snd::snd_message("snd_stop_vehicle",param_00); + self notify("snd_stop_vehicle"); + } +} + +//Function Number: 4 +snd_monitor_new_path() +{ + self endon("death"); + self endon("snd_stop_vehicle"); + for(;;) + { + self.about_to_stop = undefined; + thread snd_monitor_about_to_stop(); + self waittill("newpath"); + } +} + +//Function Number: 5 +snd_monitor_about_to_stop() +{ + self endon("newpath"); + self endon("death"); + self endon("snd_stop_vehicle"); + self waittill("about_to_stop",var_00); + if(var_00 > 1) + { + wait(var_00 - 1); + if(!isdefined(self)) + { + return; + } + } + + self.about_to_stop = 1; +} + +//Function Number: 6 +snd_gaz_dshk_constructor() +{ + soundscripts\_audio_vehicle_manager::avm_begin_preset_def("gaz_dshk"); + soundscripts\_audio_vehicle_manager::avm_begin_loop_data(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("veh_gaz_idle_lp"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","gaz_idle_vel2vol"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("veh_gaz_drive_slow_lp"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","gaz_drive_slow_vel2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","gaz_drive_slow_vel2pit"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("veh_gaz_drive_fast_lp"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","gaz_drive_fast_vel2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","gaz_drive_fast_vel2pit"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_end_loop_data(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_data(0.5); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("veh_gaz_shutoff_01","gaz_shutoff_duck"); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("veh_gaz_drive_offload_to_idle","gaz_offload_duck"); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("veh_gaz_stop_pavement","gaz_noduck"); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("veh_gaz_pull_away","gaz_onload_from_idle_duck"); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("veh_gaz_rev_single","gaz_noduck"); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("veh_gaz_drive_onload","gaz_onload_duck"); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("veh_gaz_drive_offload","gaz_offload_duck"); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("veh_gaz_bump_susp","gaz_noduck"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("zvelocity"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","gaz_bump_zvel2vol","gaz_bump_zvel2vol"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("veh_gaz_tire_chatter","gaz_noduck"); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_data(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_data(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_off_initial",::gaz_condition_callback_state_off); + soundscripts\_audio_vehicle_manager::avm_add_loops("NONE"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_off",::gaz_condition_callback_to_off); + soundscripts\_audio_vehicle_manager::avm_add_loops("NONE"); + soundscripts\_audio_vehicle_manager::avm_add_oneshots("veh_gaz_shutoff_01"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_idle_from_off",::gaz_condition_callback_off_to_idle); + soundscripts\_audio_vehicle_manager::avm_add_loops("ALL"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed",1,1); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_idle_from_drive",::gaz_condition_callback_drive_to_idle); + soundscripts\_audio_vehicle_manager::avm_add_loops("ALL"); + soundscripts\_audio_vehicle_manager::avm_add_oneshots(["veh_gaz_drive_offload_to_idle","veh_gaz_stop_pavement"]); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed",1,1); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("about_to_stop",1,1); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_first_from_idle",::gaz_condition_callback_idle_to_first); + soundscripts\_audio_vehicle_manager::avm_add_loops("ALL"); + soundscripts\_audio_vehicle_manager::avm_add_oneshots(["veh_gaz_pull_away","veh_gaz_rev_single"]); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed",0.3,0.3); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("about_to_stop",1,1); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_second_from_first",::gaz_condition_callback_first_to_second); + soundscripts\_audio_vehicle_manager::avm_add_loops("ALL"); + soundscripts\_audio_vehicle_manager::avm_add_oneshots("veh_gaz_drive_onload"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed",0.3,0.3); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_first_from_second",::gaz_condition_callback_second_to_first); + soundscripts\_audio_vehicle_manager::avm_add_loops("ALL"); + soundscripts\_audio_vehicle_manager::avm_add_oneshots("veh_gaz_drive_offload"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed",0.3,0.3); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_wheels_bump",::gaz_condition_callback_to_state_wheels_bump,["zvelocity"]); + soundscripts\_audio_vehicle_manager::avm_add_loops("ALL"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed",1,1); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_wheels_skid",::gaz_condition_callback_to_state_wheels_skid,["yaw"]); + soundscripts\_audio_vehicle_manager::avm_add_loops("ALL"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed",0.3,0.65); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_end_behavior_data(); + soundscripts\_audio_vehicle_manager::avm_begin_state_data(); + soundscripts\_audio_vehicle_manager::avm_begin_state_group("engine_oneshots","state_off","to_state_off_initial",50,1); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_off",0,50); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_idle","to_state_idle_from_off"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_drive_first_gear","to_state_first_from_idle"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_idle",0,50); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_off","to_state_off"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_drive_first_gear","to_state_first_from_idle"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_drive_first_gear"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_off","to_state_off"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_idle","to_state_idle_from_drive"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_drive_second_gear","to_state_second_from_first"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_drive_second_gear"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_off","to_state_off"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_idle","to_state_idle_from_drive"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_drive_first_gear","to_state_first_from_second"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_end_state_group(); + soundscripts\_audio_vehicle_manager::avm_begin_state_group("wheel_bumps","wheels_bump_1","to_state_wheels_bump",50,1); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("wheels_bump_1",0,50); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("wheels_bumps_2","to_state_wheels_bump"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("wheels_bumps_2",0,50); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("wheels_bump_1","to_state_wheels_bump"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_end_state_group(); + soundscripts\_audio_vehicle_manager::avm_begin_state_group("wheel_skids","wheels_skid_1","to_state_wheels_skid"); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("wheels_skid_1",0,50); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("wheels_skid_2","to_state_wheels_skid"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("wheels_skid_2",0,50); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("wheels_skid_1","to_state_wheels_skid"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_end_state_group(); + soundscripts\_audio_vehicle_manager::avm_end_state_data(); + soundscripts\_audio_vehicle_manager::avm_add_envelope("gaz_linearvol",[[0,0],[1,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("gaz_idle_vel2vol",[[0,0.5],[5,0]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("gaz_drive_slow_vel2vol",[[1,0],[10,0.7],[17,0.7],[27,0]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("gaz_drive_slow_vel2pit",[[5,0.85],[22,1.15]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("gaz_drive_fast_vel2vol",[[17,0],[27,0.7]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("gaz_drive_fast_vel2pit",[[22,0.85],[45,1.15]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("gaz_road_noise_vel2vol",[[0,0],[1,0.7],[10,0.7],[25,0.25],[40,0.7]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("gaz_bump_zvel2vol",[[-60,1],[-40,0.7],[-20,0.5],[0,0],[20,0.5],[40,0.7],[60,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("gaz_shutoff_duck",[[0,0],[2,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("gaz_onload_from_idle_duck",[[0,0.5],[2,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("gaz_onload_duck",[[0,0.5],[1,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("gaz_offload_duck",[[0,0.5],[1.5,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("gaz_noduck",[[0,1],[1,1]]); + soundscripts\_audio_vehicle_manager::avm_end_preset_def(); +} + +//Function Number: 7 +gaz_input_callback_zvelocity() +{ + var_00 = soundscripts\_audio_vehicle_manager::avmx_get_vehicle_entity(); + var_01 = var_00 maps\_shg_utility::get_differentiated_velocity(); + return var_01[2]; +} + +//Function Number: 8 +gaz_input_callback_about_to_stop() +{ + var_00 = soundscripts\_audio_vehicle_manager::avmx_get_vehicle_entity(); + return isdefined(var_00.about_to_stop); +} + +//Function Number: 9 +gaz_condition_callback_state_off(param_00,param_01) +{ + return 0; +} + +//Function Number: 10 +gaz_condition_callback_off_to_idle(param_00,param_01) +{ + var_02 = param_00["speed"]; + if(var_02 < 5) + { + param_01.last_gear_change_time = 0; + return 1; + } + + return 0; +} + +//Function Number: 11 +gaz_condition_callback_drive_to_idle(param_00,param_01) +{ + var_02 = param_00["speed"]; + var_03 = param_00["about_to_stop"]; + var_04 = 0; + if(var_03 > 0.5 || var_02 < 5) + { + param_01.last_gear_change_time = gettime(); + var_04 = 1; + } + + return var_04; +} + +//Function Number: 12 +gaz_condition_callback_idle_to_first(param_00,param_01) +{ + var_02 = param_00["speed"]; + var_03 = param_00["about_to_stop"]; + var_04 = 0; + if(!isdefined(param_01.last_gear_change_time)) + { + param_01.last_gear_change_time = 0; + } + + var_05 = gettime(); + if(var_03 < 0.5 && var_02 >= 5 && var_05 - param_01.last_gear_change_time > 2000) + { + param_01.last_gear_change_time = var_05; + var_04 = 1; + } + + return var_04; +} + +//Function Number: 13 +gaz_condition_callback_first_to_second(param_00,param_01) +{ + var_02 = param_00["speed"]; + var_03 = 0; + if(!isdefined(param_01.last_gear_change_time)) + { + param_01.last_gear_change_time = 0; + } + + var_04 = gettime(); + if(var_02 >= 22 && var_04 - param_01.last_gear_change_time > 2000) + { + param_01.last_gear_change_time = var_04; + var_03 = 1; + } + + return var_03; +} + +//Function Number: 14 +gaz_condition_callback_second_to_first(param_00,param_01) +{ + var_02 = param_00["speed"]; + var_03 = 0; + if(!isdefined(param_01.last_gear_change_time)) + { + param_01.last_gear_change_time = 0; + } + + var_04 = gettime(); + if(var_02 < 22 && var_04 - param_01.last_gear_change_time > 2000) + { + param_01.last_gear_change_time = var_04; + var_03 = 1; + } + + return var_03; +} + +//Function Number: 15 +gaz_condition_callback_to_off(param_00,param_01) +{ + return 0; +} + +//Function Number: 16 +gaz_condition_callback_to_state_wheels_bump(param_00,param_01) +{ + var_02 = param_00["zvelocity"]; + var_03 = param_00["speed"]; + var_04 = 0; + if(!isdefined(param_01.last_bump_time)) + { + param_01.last_bump_time = 0; + } + + if(isdefined(param_01.previous_bump_zvel)) + { + var_05 = var_02 - param_01.previous_bump_zvel; + var_06 = gettime(); + if(abs(var_05) >= 20 && var_03 > 5 && var_06 - param_01.last_bump_time > 400) + { + param_01.last_bump_time = var_06; + var_04 = ["veh_gaz_bump_susp"]; + } + } + + param_01.previous_bump_zvel = var_02; + return var_04; +} + +//Function Number: 17 +gaz_condition_callback_to_state_wheels_skid(param_00,param_01) +{ + var_02 = param_00["yaw"]; + var_03 = param_00["speed"]; + var_04 = 0; + if(!isdefined(param_01.last_skid_time)) + { + param_01.last_skid_time = 0; + } + + if(isdefined(param_01.previous_yaw)) + { + var_05 = angleclamp180(var_02 - param_01.previous_yaw); + var_06 = gettime(); + if(abs(var_05) > 5 && var_03 > 5 && var_06 - param_01.last_skid_time > 1000) + { + param_01.last_skid_time = var_06; + var_04 = ["veh_gaz_tire_chatter"]; + } + } + + param_01.previous_yaw = var_02; + return var_04; +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_generic_script_model_lagos.gsc b/AW/PC/vehicle_scripts/_generic_script_model_lagos.gsc new file mode 100644 index 0000000..6facddb --- /dev/null +++ b/AW/PC/vehicle_scripts/_generic_script_model_lagos.gsc @@ -0,0 +1,50 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _generic_script_model_lagos.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 4 + * Decompile Time: 67 ms + * Timestamp: 4/22/2024 2:04:52 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + maps\_vehicle::build_template("script_model",param_00,param_01,param_02); + maps\_vehicle::build_life(999,500,1500); + maps\_vehicle::build_deathmodel("ac_prs_veh_civ_car_a_1","ac_prs_veh_civ_car_a_dam1",0); + maps\_vehicle::build_deathmodel("ac_prs_veh_civ_car_a_2","ac_prs_veh_civ_car_a_dam2",0); + maps\_vehicle::build_deathmodel("ac_prs_veh_civ_car_a_3","ac_prs_veh_civ_car_a_dam3",0); + maps\_vehicle::build_deathmodel("ac_prs_veh_civ_car_a_4","ac_prs_veh_civ_car_a_dam4",0); + maps\_vehicle::build_deathmodel("ac_prs_veh_civ_car_a_5","ac_prs_veh_civ_car_a_dam5",0); + maps\_vehicle::build_deathmodel("ac_prs_veh_civ_car_a_6","ac_prs_veh_civ_car_a_dam6",0); + maps\_vehicle::build_deathmodel("ac_prs_veh_civ_car_a_7","ac_prs_veh_civ_car_a_dam7",0); + maps\_vehicle::build_deathfx_generic_script_model("vfx/explosion/vehicle_civ_ai_explo_small_runner","TAG_ORIGIN","lag_rndabt_car_small_explo",undefined,undefined,undefined,0); +} + +//Function Number: 2 +init_local() +{ + soundscripts\_snd::snd_message("atlas_van_explode"); +} + +//Function Number: 3 +set_vehicle_anims(param_00) +{ + return param_00; +} + +//Function Number: 4 +setanims() +{ + var_00 = []; + for(var_01 = 0;var_01 < 1;var_01++) + { + var_00[var_01] = spawnstruct(); + } + + var_00[0].sittag = "tag_driver"; + var_00[0].idle = %civ_domestic_smartcar_driver_idle; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/SP/vehicle_scripts/_havoc_missile_scripted.gsc b/AW/PC/vehicle_scripts/_havoc_missile_scripted.gsc similarity index 91% rename from AW/PC/SP/vehicle_scripts/_havoc_missile_scripted.gsc rename to AW/PC/vehicle_scripts/_havoc_missile_scripted.gsc index ccd2c4c..4395eb8 100644 --- a/AW/PC/SP/vehicle_scripts/_havoc_missile_scripted.gsc +++ b/AW/PC/vehicle_scripts/_havoc_missile_scripted.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_havoc_missile_scripted.gsc + * Decompiled File: _havoc_missile_scripted.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 4 - * Decompile Time: 48 ms - * Timestamp: 10/27/2023 2:06:18 AM + * Decompile Time: 73 ms + * Timestamp: 4/22/2024 2:04:53 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/vehicle_scripts/_hovertank.gsc b/AW/PC/vehicle_scripts/_hovertank.gsc new file mode 100644 index 0000000..c3d20a5 --- /dev/null +++ b/AW/PC/vehicle_scripts/_hovertank.gsc @@ -0,0 +1,2478 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _hovertank.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 82 + * Decompile Time: 1156 ms + * Timestamp: 4/22/2024 2:04:57 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + maps\_utility::set_console_status(); + maps\_vehicle::build_template("hovertank",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_hovertank); + maps\_vehicle::build_life(999,500,1500); + maps\_vehicle::build_team("allies"); + build_hovertank_death(param_02); + common_scripts\utility::flag_init("hovertank_reload_hint"); + if(isdefined(level.trigger_hint_string) && !isdefined(level.trigger_hint_string["hovertank_reload"])) + { + maps\_utility::add_hint_string("hovertank_reload",&"LAB_HOVERTANK_RELOAD_HINT",::break_hovertank_reload_hint); + } + + precache_for_hovertank(); +} + +//Function Number: 2 +build_hovertank_death(param_00) +{ +} + +//Function Number: 3 +add_hovertank_turret(param_00,param_01,param_02) +{ + if(!isdefined(param_01)) + { + param_01 = "hovertank_turret"; + } + + if(!isdefined(param_02)) + { + param_02 = "vehicle_mil_hovertank_vm"; + } + + var_03 = spawnturret("misc_turret",param_00 gettagorigin("tag_origin"),param_01); + var_03 linkto(param_00,"tag_origin",(0,0,0),(0,0,0)); + level.hovertank_turret = var_03; + var_03 setmode("manual"); + var_03 setmodel(param_02); + var_03 hide(); + var_03 turretfiredisable(); + param_00.turret = var_03; + return var_03; +} + +//Function Number: 4 +hovertank_swap_model(param_00,param_01,param_02) +{ + if(param_02) + { + param_00 hide(); + param_01 show(); + param_01 setviewmodeldepth(1); + return; + } + + param_01 hide(); + param_00 show(); +} + +//Function Number: 5 +hovertank_ride(param_00,param_01) +{ + self setplayerangles(param_00 gettagangles("tag_turret")); + param_00 hide(); + param_01 show(); + param_01 setviewmodeldepth(1); + self drivevehicleandcontrolturret(param_00,1); + self.driving_hovertank = param_00; + self.drivingvehicle = param_00; + param_01 useby(self); + param_01 makeunusable(); + self disableturretdismount(); + soundscripts\_audio::aud_disable_deathsdoor_audio(); + self.aim_turnrate_pitch = getdvarint("aim_turnrate_pitch"); + self.aim_turnrate_pitch_ads = getdvarint("aim_turnrate_pitch_ads"); + self.aim_turnrate_yaw = getdvarint("aim_turnrate_yaw"); + self.aim_turnrate_yaw_ads = getdvarint("aim_turnrate_yaw_ads"); + self.aim_accel_turnrate_lerp = getdvarint("aim_accel_turnrate_lerp"); + setsaveddvar("aim_turnrate_pitch",70); + setsaveddvar("aim_turnrate_pitch_ads",70); + setsaveddvar("aim_turnrate_yaw",125); + setsaveddvar("aim_turnrate_yaw_ads",85); + setsaveddvar("aim_accel_turnrate_lerp",200); + param_00 makevehiclenotcollidewithplayers(); + thread end_ride_on_hovertank_done(param_00,param_01); + hovertank_hud_init(self); + self notify("noHealthOverlay"); + level.cover_warnings_disabled = 1; + maps\_utility::ent_flag_clear("near_death_vision_enabled"); + maps\_utility::ent_flag_set("player_no_auto_blur"); + param_00.initialhealth = 5000; + param_00.health = param_00.healthbuffer + param_00.initialhealth; + param_00.currenthealth = param_00.health; + param_00 thread trophy_system(); + param_00 thread handle_hovertank_death(); + give_hovertank_weapons(param_01); + param_00 thread hovertank_rumble(); + param_00 thread hovertank_physics(); + param_00 thread hovertank_audio(); + param_00 thread handle_hovertank_collisions(); + param_00 thread hovertank_fx(); + param_01 thread hovertank_ride_anims(); +} + +//Function Number: 6 +hovertank_fx() +{ + self endon("death"); + var_00 = self; + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 linkto(self,"tag_origin",(10,0,10),(-90,0,0)); + for(;;) + { + var_02 = var_00 vehicle_hovertankgetthrottleforce(); + var_03 = var_02[0]; + var_04 = var_02[1]; + wait(1); + } + + var_01 delete(); +} + +//Function Number: 7 +init_hovertank_weapons() +{ + precacheitem("hovertank_antiair"); + precacheitem("hovertank_cannon"); + precacheitem("hovertank_missile_small"); + precacheshellshock("hovertank_cannon"); + precacheshader("reticle_hovertank_cannon"); + precacheshader("reticle_hovertank_emp"); + precacheshader("reticle_hovertank_missiles"); + precacheshader("hud_minimap_tracking_drone_red"); + precacheshader("s1_icon_hovertank_missile_small"); + precacheshader("s1_icon_hovertank_canon"); + precacheshader("s1_icon_hovertank_antiair"); + precacheshader("s1_icon_hovertank_missile_small_ps3"); + precacheshader("s1_icon_hovertank_canon_ps3"); + precacheshader("s1_icon_hovertank_antiair_ps3"); + precacheshader("s1_icon_hovertank_missile_small_pc"); + precacheshader("s1_icon_hovertank_canon_pc"); + precacheshader("s1_icon_hovertank_antiair_pc"); + setdvarifuninitialized("ht_missile_start_forward",0); + setdvarifuninitialized("ht_missile_start_right",64); + setdvarifuninitialized("ht_missile_start_up",0); + setdvarifuninitialized("ht_missile_end_min",0); + setdvarifuninitialized("ht_missile_end_max",64); + setdvarifuninitialized("ht_missile_end_forward",128); + setdvarifuninitialized("ht_missile_end_up",64); + setdvarifuninitialized("ht_missile_end_rad",16); + setdvarifuninitialized("ht_missile_mode_line",0); + level._effect["hovertank_aa_explosion"] = loadfx("vfx/explosion/hovertank_aa_explosion"); + level._effect["trophy_flash"] = loadfx("vfx/muzzleflash/hovertank_trophy_flash"); + level._effect["trophy_explosion"] = loadfx("vfx/explosion/hovertank_trophy_explosion"); + level._effect["hovertank_anti_pers_muzzle_flash_vm"] = loadfx("vfx/muzzleflash/hovertank_anti_pers_muzzle_flash_vm"); + level._effect["hovertank_anti_pers_trail_rocket_2"] = loadfx("vfx/trail/hovertank_anti_pers_trail_rocket_2"); + level._effect["hovertank_cannon_flash_view"] = loadfx("vfx/muzzleflash/hovertank_cannon_flash_view"); + level._effect["hovertank_cannon_dust_ring"] = loadfx("vfx/dust/hovertank_cannon_dust_ring"); + level._effect["hovertank_aa_flash_vm"] = loadfx("vfx/muzzleflash/hovertank_aa_flash_vm"); + level.physicssphereradius["hovertank_missile_small"] = 60; + level.physicssphereradius["hovertank_antiair"] = 600; + level.physicssphereradius["hovertank_cannon"] = 1000; + level.physicssphereforce["hovertank_missile_small"] = 3; + level.physicssphereforce["hovertank_antiair"] = 0; + level.physicssphereforce["hovertank_cannon"] = 6; + level.weapon_reload_time["hovertank_missile_small"] = 0; + level.weapon_reload_time["hovertank_antiair"] = 0.45; + level.weapon_reload_time["hovertank_cannon"] = 1; + level.weapon_input_cooldown_active["hovertank_missile_small"] = 0; + level.weapon_input_cooldown_active["hovertank_antiair"] = 0; + level.weapon_input_cooldown_active["hovertank_cannon"] = 0; + level.weapon_ready_to_fire["hovertank_missile_small"] = 1; + level.weapon_ready_to_fire["hovertank_antiair"] = 1; + level.weapon_ready_to_fire["hovertank_cannon"] = 1; + level.weapon_ammo_max["hovertank_missile_small"] = 25; + level.weapon_ammo_max["hovertank_antiair"] = 1; + level.weapon_ammo_max["hovertank_cannon"] = 1; + level.weapon_ammo_count["hovertank_missile_small"] = level.weapon_ammo_max["hovertank_missile_small"]; + level.weapon_ammo_count["hovertank_antiair"] = level.weapon_ammo_max["hovertank_antiair"]; + level.weapon_ammo_count["hovertank_cannon"] = level.weapon_ammo_max["hovertank_cannon"]; + level.weapon_ammo_bar_value["hovertank_missile_small"] = 1; + level.weapon_ammo_bar_value["hovertank_antiair"] = 1; + level.weapon_ammo_bar_value["hovertank_cannon"] = 1; + level.weapon_ammo_bar_color["hovertank_missile_small"] = (1,1,1); + level.weapon_ammo_bar_color["hovertank_antiair"] = (1,1,1); + level.weapon_ammo_bar_color["hovertank_cannon"] = (1,1,1); + level.weapon_cooldown_active["hovertank_missile_small"] = 0; + level.weapon_cooldown_active["hovertank_antiair"] = 0; + level.weapon_cooldown_active["hovertank_cannon"] = 0; + level.weapon_cooldown_time["hovertank_missile_small"] = 0.1; + level.weapon_cooldown_time["hovertank_antiair"] = 1; + level.weapon_cooldown_time["hovertank_cannon"] = 1; + level.hovertank_projectile_callback = ::hovertank_projectile_callback; + level.hovertank_weapon = []; + level.hovertank_weapon[0] = spawnstruct(); + level.hovertank_weapon[1] = spawnstruct(); + level.hovertank_weapon[2] = spawnstruct(); + level.weapon_name["missile"] = "hovertank_missile_small"; + level.weapon_name["antiair"] = "hovertank_antiair"; + level.weapon_name["cannon"] = "hovertank_cannon"; + level.hovertank_weapon[0].weapon = "hovertank_cannon"; + level.hovertank_weapon[1].weapon = "hovertank_missile_small"; + level.hovertank_weapon[2].weapon = "hovertank_antiair"; + level.hovertank_weapon[0].overlay = "reticle_hovertank_cannon"; + level.hovertank_weapon[0].fov = "65"; + level.hovertank_weapon[0].name = level.weapon_name["cannon"]; + level.hovertank_weapon[0].hudelem_x = 0; + level.hovertank_weapon[0].hudelem_y = 0; + level.hovertank_weapon[0].shader_width = 800; + level.hovertank_weapon[0].shader_height = 52; + level.hovertank_weapon[1].overlay = "reticle_hovertank_missiles"; + level.hovertank_weapon[1].fov = "65"; + level.hovertank_weapon[1].name = level.weapon_name["missile"]; + level.hovertank_weapon[1].hudelem_x = 0; + level.hovertank_weapon[1].hudelem_y = 0; + level.hovertank_weapon[1].shader_width = 96; + level.hovertank_weapon[1].shader_height = 96; + level.hovertank_weapon[2].overlay = "reticle_hovertank_emp"; + level.hovertank_weapon[2].fov = "65"; + level.hovertank_weapon[2].name = level.weapon_name["antiair"]; + level.hovertank_weapon[2].hudelem_x = 0; + level.hovertank_weapon[2].hudelem_y = 0; + level.hovertank_weapon[2].shader_width = 16; + level.hovertank_weapon[2].shader_height = 16; + level.current_weapon = level.hovertank_weapon[0].name; +} + +//Function Number: 8 +get_current_weapon_name() +{ + return level.current_weapon; +} + +//Function Number: 9 +get_weapon_from_index(param_00) +{ + var_01 = "none"; + switch(param_00) + { + case 0: + var_01 = "hovertank_cannon"; + break; + + case 1: + var_01 = "hovertank_missile_small"; + break; + + case 2: + var_01 = "hovertank_antiair"; + break; + + default: + break; + } + + return var_01; +} + +//Function Number: 10 +get_index_from_weapon(param_00) +{ + var_01 = 0; + switch(param_00) + { + case "hovertank_cannon": + var_01 = 0; + break; + + case "hovertank_missile_small": + var_01 = 1; + break; + + case "hovertank_antiair": + var_01 = 2; + break; + + default: + break; + } + + return var_01; +} + +//Function Number: 11 +hovertank_hud_init(param_00) +{ + var_01 = issplitscreen(); + var_02 = 1; + if(!maps\_utility::is_specialop() || maps\_utility::is_coop()) + { + var_02 = getdvarint("widescreen",1); + } + + if(var_01) + { + foreach(var_04 in level.hovertank_weapon) + { + var_04.hudelem_x = var_04.hudelem_x * 0.8; + var_04.hudelem_y = var_04.hudelem_y * 0.8; + var_04.shader_width = int(var_04.shader_width * 0.8); + var_04.shader_height = int(var_04.shader_height * 0.8); + } + + level.hovertank_hud_mode_fontscale = level.hovertank_hud_mode_fontscale * 0.8; + level.hovertank_hud_misc_fontscale = level.hovertank_hud_misc_fontscale * 0.8; + level.hovertank_hud_weapon_fontscale = level.hovertank_hud_weapon_fontscale * 0.8; + level.hovertank_hud_data_fontscale = level.hovertank_hud_data_fontscale * 0.8; + } + + level.hovertank_hud_mode_fontscale = 2.5; + level.hovertank_hud_misc_fontscale = 2; + level.hovertank_hud_weapon_fontscale = 1.5; + level.hovertank_hud_data_fontscale = 1; + level.huditem["crosshairs"][0] = newclienthudelem(param_00); + level.huditem["crosshairs"][0].x = level.hovertank_weapon[0].hudelem_x; + level.huditem["crosshairs"][0].y = level.hovertank_weapon[0].hudelem_y; + level.huditem["crosshairs"][0].alignx = "center"; + level.huditem["crosshairs"][0].aligny = "middle"; + level.huditem["crosshairs"][0].horzalign = "center"; + level.huditem["crosshairs"][0].vertalign = "middle"; + level.huditem["crosshairs"][0] setshader(level.hovertank_weapon[0].overlay,level.hovertank_weapon[0].shader_width,level.hovertank_weapon[0].shader_height); + level.huditem["crosshairs"][0].sort = -2; + level.huditem["crosshairs"][0].alpha = 0; + level.huditem["crosshairs"][1] = newclienthudelem(param_00); + level.huditem["crosshairs"][1].x = level.hovertank_weapon[1].hudelem_x; + level.huditem["crosshairs"][1].y = level.hovertank_weapon[1].hudelem_y; + level.huditem["crosshairs"][1].alignx = "center"; + level.huditem["crosshairs"][1].aligny = "middle"; + level.huditem["crosshairs"][1].horzalign = "center"; + level.huditem["crosshairs"][1].vertalign = "middle"; + level.huditem["crosshairs"][1] setshader(level.hovertank_weapon[1].overlay,level.hovertank_weapon[1].shader_width,level.hovertank_weapon[1].shader_height); + level.huditem["crosshairs"][1].sort = -2; + level.huditem["crosshairs"][1].alpha = 0; + var_06 = 24; + var_07 = 15; + var_08 = 0.25; + level.huditem["crosshairs"][2][0] = newclienthudelem(param_00); + level.huditem["crosshairs"][2][0].x = level.hovertank_weapon[2].hudelem_x; + level.huditem["crosshairs"][2][0].y = level.hovertank_weapon[2].hudelem_y; + level.huditem["crosshairs"][2][0].alignx = "center"; + level.huditem["crosshairs"][2][0].aligny = "middle"; + level.huditem["crosshairs"][2][0].horzalign = "center"; + level.huditem["crosshairs"][2][0].vertalign = "middle"; + level.huditem["crosshairs"][2][0] setshader(level.hovertank_weapon[2].overlay,level.hovertank_weapon[2].shader_width,level.hovertank_weapon[2].shader_height); + level.huditem["crosshairs"][2][0].sort = -2; + level.huditem["crosshairs"][2][0].alpha = 0; + level.huditem["crosshairs"][2][1] = newclienthudelem(param_00); + level.huditem["crosshairs"][2][1].x = level.hovertank_weapon[2].hudelem_x + var_06; + level.huditem["crosshairs"][2][1].y = level.hovertank_weapon[2].hudelem_y - var_07; + level.huditem["crosshairs"][2][1].alignx = "center"; + level.huditem["crosshairs"][2][1].aligny = "middle"; + level.huditem["crosshairs"][2][1].horzalign = "center"; + level.huditem["crosshairs"][2][1].vertalign = "middle"; + level.huditem["crosshairs"][2][1] setshader(level.hovertank_weapon[2].overlay,int(level.hovertank_weapon[2].shader_width * 1 + var_08),int(level.hovertank_weapon[2].shader_height * 1 + var_08)); + level.huditem["crosshairs"][2][1].sort = -2; + level.huditem["crosshairs"][2][1].alpha = 0; + level.huditem["crosshairs"][2][2] = newclienthudelem(param_00); + level.huditem["crosshairs"][2][2].x = level.hovertank_weapon[2].hudelem_x + var_06 * 2; + level.huditem["crosshairs"][2][2].y = level.hovertank_weapon[2].hudelem_y - var_07 * 2; + level.huditem["crosshairs"][2][2].alignx = "center"; + level.huditem["crosshairs"][2][2].aligny = "middle"; + level.huditem["crosshairs"][2][2].horzalign = "center"; + level.huditem["crosshairs"][2][2].vertalign = "middle"; + level.huditem["crosshairs"][2][2] setshader(level.hovertank_weapon[2].overlay,int(level.hovertank_weapon[2].shader_width * 1 + var_08 * 2),int(level.hovertank_weapon[2].shader_height * 1 + var_08 * 2)); + level.huditem["crosshairs"][2][2].sort = -2; + level.huditem["crosshairs"][2][2].alpha = 0; + var_09 = common_scripts\utility::ter_op(var_01,102.4,128); + var_0A = common_scripts\utility::ter_op(var_01,89.6,112); + var_0B = 50; + var_0C = var_0B; + var_0D = 0; + if(var_01) + { + var_0D = 162; + if(!var_02) + { + var_0D = var_0D * 0.8888889; + } + } + else if(!var_02) + { + var_0D = var_0D * 0.8333333; + } + + var_0E = -60; + level.huditem["weapon_icon"][0] = newclienthudelem(param_00); + level.huditem["weapon_icon"][0].x = var_0D; + level.huditem["weapon_icon"][0].y = var_0E; + level.huditem["weapon_icon"][0].alignx = "center"; + level.huditem["weapon_icon"][0].aligny = "bottom"; + level.huditem["weapon_icon"][0].horzalign = "center"; + level.huditem["weapon_icon"][0].vertalign = "bottom"; + if(!level.player usinggamepad()) + { + level.huditem["weapon_icon"][0] setshader("s1_icon_hovertank_canon_pc",var_0C,var_0B); + } + else if(level.ps3 || level.ps4) + { + level.huditem["weapon_icon"][0] setshader("s1_icon_hovertank_canon_ps3",var_0C,var_0B); + } + else + { + level.huditem["weapon_icon"][0] setshader("s1_icon_hovertank_canon",var_0C,var_0B); + } + + level.huditem["weapon_icon"][0].icon_width = var_0C; + level.huditem["weapon_icon"][0].icon_height = var_0B; + level.huditem["weapon_icon"][0].alpha = 0; + level.huditem["weapon_icon"][0].font = "objective"; + level.huditem["weapon_key"][0] = newclienthudelem(param_00); + level.huditem["weapon_key"][0].x = var_0D; + level.huditem["weapon_key"][0].y = var_0E; + level.huditem["weapon_key"][0].alignx = "center"; + level.huditem["weapon_key"][0].aligny = "bottom"; + level.huditem["weapon_key"][0].horzalign = "center"; + level.huditem["weapon_key"][0].vertalign = "bottom"; + level.huditem["weapon_key"][0].alpha = 0; + level.huditem["weapon_key"][0].font = "objective"; + level.huditem["weapon_key"][0] settext("[{+actionslot 3}]"); + var_0F = 70; + var_10 = -45; + var_0D = var_0F * -1; + if(var_01) + { + var_0D = 165; + if(!var_02) + { + var_0D = var_0D * 0.8888889; + } + + var_0D = ceil(var_0D) + 1; + } + else if(!var_02) + { + var_0D = var_0D * 0.8333333; + var_0D = var_0D + 3; + } + + var_0E = var_10; + level.huditem["weapon_icon"][1] = newclienthudelem(param_00); + level.huditem["weapon_icon"][1].x = var_0D; + level.huditem["weapon_icon"][1].y = var_0E; + level.huditem["weapon_icon"][1].alignx = "center"; + level.huditem["weapon_icon"][1].aligny = "bottom"; + level.huditem["weapon_icon"][1].horzalign = "center"; + level.huditem["weapon_icon"][1].vertalign = "bottom"; + if(!level.player usinggamepad()) + { + level.huditem["weapon_icon"][1] setshader("s1_icon_hovertank_missile_small_pc",var_0C,var_0B); + } + else if(level.ps3 || level.ps4) + { + level.huditem["weapon_icon"][1] setshader("s1_icon_hovertank_missile_small_ps3",var_0C,var_0B); + } + else + { + level.huditem["weapon_icon"][1] setshader("s1_icon_hovertank_missile_small",var_0C,var_0B); + } + + level.huditem["weapon_icon"][1].icon_width = var_0C; + level.huditem["weapon_icon"][1].icon_height = var_0B; + level.huditem["weapon_icon"][1].alpha = 0; + level.huditem["weapon_icon"][1].font = "objective"; + level.huditem["weapon_key"][1] = newclienthudelem(param_00); + level.huditem["weapon_key"][1].x = var_0D; + level.huditem["weapon_key"][1].y = var_0E; + level.huditem["weapon_key"][1].alignx = "center"; + level.huditem["weapon_key"][1].aligny = "bottom"; + level.huditem["weapon_key"][1].horzalign = "center"; + level.huditem["weapon_key"][1].vertalign = "bottom"; + level.huditem["weapon_key"][1].alpha = 0; + level.huditem["weapon_key"][1].font = "objective"; + level.huditem["weapon_key"][1] settext("[{weapnext}]"); + var_0D = var_0F; + if(var_01) + { + var_0D = 165; + if(!var_02) + { + var_0D = var_0D * 0.8888889; + } + + var_0D = ceil(var_0D) + 1; + } + else if(!var_02) + { + var_0D = var_0D * 0.8333333; + var_0D = var_0D + 3; + } + + var_0E = var_10; + level.huditem["weapon_icon"][2] = newclienthudelem(param_00); + level.huditem["weapon_icon"][2].x = var_0D; + level.huditem["weapon_icon"][2].y = var_0E; + level.huditem["weapon_icon"][2].alignx = "center"; + level.huditem["weapon_icon"][2].aligny = "bottom"; + level.huditem["weapon_icon"][2].horzalign = "center"; + level.huditem["weapon_icon"][2].vertalign = "bottom"; + if(!level.player usinggamepad()) + { + level.huditem["weapon_icon"][2] setshader("s1_icon_hovertank_antiair_pc",var_0C,var_0B); + } + else if(level.ps3 || level.ps4) + { + level.huditem["weapon_icon"][2] setshader("s1_icon_hovertank_antiair_ps3",var_0C,var_0B); + } + else + { + level.huditem["weapon_icon"][2] setshader("s1_icon_hovertank_antiair",var_0C,var_0B); + } + + level.huditem["weapon_icon"][2].icon_width = var_0C; + level.huditem["weapon_icon"][2].icon_height = var_0B; + level.huditem["weapon_icon"][2].alpha = 0; + level.huditem["weapon_icon"][2].font = "objective"; + level.huditem["weapon_key"][2] = newclienthudelem(param_00); + level.huditem["weapon_key"][2].x = var_0D; + level.huditem["weapon_key"][2].y = var_0E; + level.huditem["weapon_key"][2].alignx = "center"; + level.huditem["weapon_key"][2].aligny = "bottom"; + level.huditem["weapon_key"][2].horzalign = "center"; + level.huditem["weapon_key"][2].vertalign = "bottom"; + level.huditem["weapon_key"][2].alpha = 0; + level.huditem["weapon_key"][2].font = "objective"; + level.huditem["weapon_key"][2] settext("[{+actionslot 4}]"); +} + +//Function Number: 12 +give_hovertank_weapons(param_00) +{ + maps\_utility::add_global_spawn_function("axis",::set_up_target); + level.hovertank_player = self; + level.last_hovertank_weapon_anim = ""; + level.last_hovertank_weapon_anim_complete_time = gettime(); + var_01 = self; + var_01 disableweapons(); + var_01 enableinvulnerability(); + var_01 painvisionoff(); + var_01 maps\_utility::ent_flag_clear("player_has_red_flashing_overlay"); + var_01 notify("noHealthOverlay"); + thread shotfired(); + thread change_weapons(param_00); + thread missile_reload_system(); + thread missile_fire_audio(); + thread weapon_fire(param_00); + maps\_utility::delaythread(1,::hud_blink_current_weapon_name,0); + level.huditem["crosshairs"][0].alpha = 0.6; +} + +//Function Number: 13 +remove_hovertank_weapons() +{ + level notify("hovertank_end"); + maps\_utility::remove_global_spawn_function("axis",::set_up_target); + var_00 = self; + level.huditem = common_scripts\utility::array_removeundefined(level.huditem); + maps\_utility::deep_array_thread(level.huditem,::maps\_hud_util::destroyelem); + var_00 disableinvulnerability(); + level.hovertank_player = undefined; +} + +//Function Number: 14 +hovertank_rumble() +{ + level endon("hovertank_end"); + level.player endon("death"); + var_00 = 12; + var_01 = 0.2; + var_02 = 0.0001; + var_03 = 0.6; + var_04 = 0; + self.rumble_entity = maps\_utility::get_rumble_ent("steady_rumble"); + self.rumble_entity.intensity = 0; + for(;;) + { + var_05 = var_04; + var_04 = self vehicle_getspeed(); + var_06 = var_01 * clamp(var_04 / var_00,0,1); + var_06 = var_06 * randomfloat(1); + var_07 = 0; + var_08 = var_04 - var_05; + if(var_08 > 0) + { + var_07 = var_03 * clamp(1 - var_05 / var_04,var_02,1) - var_02; + } + + self.rumble_entity.intensity = clamp(var_06 + var_07,0,1); + wait(0.1); + } +} + +//Function Number: 15 +get_hovertank_shake_value() +{ + var_00 = 0; + var_01 = 12; + return self vehicle_getspeed() / var_01; +} + +//Function Number: 16 +hovertank_rumble_stop() +{ + level waittill("hovertank_end"); + stopallrumbles(); +} + +//Function Number: 17 +hovertank_physics() +{ + self endon("death"); + for(;;) + { + wakeupphysicssphere(self.origin,200); + wait(0.05); + } +} + +//Function Number: 18 +end_ride_on_hovertank_done(param_00,param_01) +{ + self endon("disconnect"); + param_00 waittill("hovertank_done"); + endride(param_00,param_01); +} + +//Function Number: 19 +endride(param_00,param_01) +{ + self drivevehicleandcontrolturretoff(param_00); + param_01 useby(self); + level notify("hovertank_cannon_reload_hint"); + common_scripts\utility::flag_clear("hovertank_reload_hint"); + remove_hovertank_weapons(); + maps\_utility::remove_damage_function(::track_health_damage_function); + maps\_utility::remove_damage_function(::trophy_system_backup); + level.cover_warnings_disabled = undefined; + maps\_utility::ent_flag_set("near_death_vision_enabled"); + maps\_utility::ent_flag_clear("player_no_auto_blur"); + thread maps\_gameskill::healthoverlay(); + soundscripts\_audio::aud_enable_deathsdoor_audio(); + setsaveddvar("aim_turnrate_pitch",self.aim_turnrate_pitch); + setsaveddvar("aim_turnrate_pitch_ads",self.aim_turnrate_pitch_ads); + setsaveddvar("aim_turnrate_yaw",self.aim_turnrate_yaw); + setsaveddvar("aim_turnrate_yaw_ads",self.aim_turnrate_yaw_ads); + setsaveddvar("aim_accel_turnrate_lerp",self.aim_accel_turnrate_lerp); + self.driving_hovertank = undefined; + self.drivingvehicle = undefined; + self notify("hovertank_dismounted"); +} + +//Function Number: 20 +hoverscreen_reveal(param_00) +{ + if(isdefined(level.use_hovertank_chromatic_aberration) && level.use_hovertank_chromatic_aberration) + { + level.chromo_offset = 30; + } + + var_01 = level.hovertank_turret gettagorigin("tag_aim_animated"); + thread hoverscreen_turnon_movie(); + level.player common_scripts\utility::delaycall(param_00,::freezecontrols,0); + setsaveddvar("r_hudoutlineenable",1); + if(isdefined(level.use_hovertank_chromatic_aberration) && level.use_hovertank_chromatic_aberration) + { + setsaveddvar("r_chromaticAberrationTweaks",1); + setsaveddvar("r_chromaticAberration",0); + setsaveddvar("r_chromaticSeparationG",-10); + setsaveddvar("r_chromaticSeparationR",10); + } + + level.player freezecontrols(1); + wait(0.05); + setomnvar("ui_labtank",1); + luinotifyevent(&"qflash01"); + level.hovertank_turret overridematerial("mtl_hovertank_body_gun","mtl_hovertank_body_gun_no_z"); + level.hovertank_turret hidepart("TAG_AIM_HIDE"); + level.hovertank_turret hidepart("TAG_AIM_UNHIDE"); +} + +//Function Number: 21 +hoverscreen_turnon_movie() +{ + wait(0.05); + level.hovertank_turret showpart("TAG_BOOT"); + stopcinematicingame(); + level.hovertank_turret overridematerial("mtl_hovertank_int_screen02","m/mtl_hovertank_int_screen01"); + setsaveddvar("cg_cinematicFullScreen","0"); + cinematicingameloop("lab_tank_bootup"); + wait(1.26); + level.hovertank_turret overridematerialreset(); + wait(0.74); + level.hovertank_turret hidepart("TAG_BOOT"); + stopcinematicingame(); +} + +//Function Number: 22 +hoverscreen_turnoff_movie() +{ + wait(0.05); + level.hovertank_turret showpart("TAG_BOOT"); + stopcinematicingame(); + setsaveddvar("cg_cinematicFullScreen","0"); + cinematicingameloop("lab_tank_shutdown"); + wait(0.5); + level.hovertank_turret overridematerial("mtl_hovertank_int_screen02","m/mtl_hovertank_int_screen01"); + wait(0.5); + level.hovertank_turret hidepart("TAG_BOOT"); + stopcinematicingame(); +} + +//Function Number: 23 +hoverscreen_turnoff(param_00,param_01) +{ + if(isdefined(level.use_hovertank_chromatic_aberration) && level.use_hovertank_chromatic_aberration) + { + level.chromo_offset = 30; + } + + var_02 = level.hovertank_turret gettagorigin("tag_aim_animated"); + thread hoverscreen_turnoff_movie(); + wait(param_01); + setsaveddvar("r_hudoutlineenable",1); + if(isdefined(level.use_hovertank_chromatic_aberration) && level.use_hovertank_chromatic_aberration) + { + setsaveddvar("r_chromaticAberrationTweaks",1); + setsaveddvar("r_chromaticAberration",0); + setsaveddvar("r_chromaticSeparationG",-10); + setsaveddvar("r_chromaticSeparationR",10); + } + + wait(0.05); + level.hovertank_turret overridematerial("mtl_hovertank_body_gun","mtl_hovertank_body_gun_no_z"); + wait(0.05); +} + +//Function Number: 24 +hoverscreen_hit(param_00,param_01) +{ + level notify("hoverscreen_hit_" + param_00); + level endon("hoverscreen_hit_" + param_00); + level endon("hovertank_end"); + if(!isdefined(param_00)) + { + param_00 = 1; + } + + if(!isdefined(param_01)) + { + param_01 = 1; + } + + var_02 = int(900.2); + var_03 = int(521.5); + if(!isdefined(level.huditem["hovertank_hit01"]) || !isdefined(level.huditem["hovertank_hit01"][param_00])) + { + level.huditem["hovertank_hit01"][param_00] = newclienthudelem(level.player); + level.huditem["hovertank_hit01"][param_00].x = 0; + level.huditem["hovertank_hit01"][param_00].y = 10; + level.huditem["hovertank_hit01"][param_00].alignx = "center"; + level.huditem["hovertank_hit01"][param_00].aligny = "bottom"; + level.huditem["hovertank_hit01"][param_00].horzalign = "center"; + level.huditem["hovertank_hit01"][param_00].vertalign = "bottom"; + var_04 = "mtl_hovertank_screen_hit_0" + param_00; + level.huditem["hovertank_hit01"][param_00] setshader(var_04,var_02,var_03); + level.huditem["hovertank_hit01"][param_00].alpha = 0; + level.huditem["hovertank_hit01"][param_00].color = (1,1,1); + } + + var_05 = 0; + if(isdefined(level.use_hovertank_chromatic_aberration) && level.use_hovertank_chromatic_aberration) + { + thread hoverscreen_chromo_anim2(0.5,param_01); + } + + for(var_05 = 0;var_05 < 5;var_05++) + { + level.huditem["hovertank_hit01"][param_00].alpha = abs(var_05 / 5); + level.huditem["hovertank_hit01"][param_00].alpha = level.huditem["hovertank_hit01"][param_00].alpha * param_01; + wait(0.05); + } + + for(var_05 = 0;var_05 < 5;var_05++) + { + level.huditem["hovertank_hit01"][param_00].color = (1,0.97,0.85); + level.huditem["hovertank_hit01"][param_00].alpha = 1 - abs(var_05 / 5 * 2 - 1); + level.huditem["hovertank_hit01"][param_00].alpha = level.huditem["hovertank_hit01"][param_00].alpha * param_01; + wait(0.05); + } + + level.huditem["hovertank_hit01"][param_00] destroy(); +} + +//Function Number: 25 +hoverscreen_chromo_anim2(param_00,param_01) +{ + var_02 = 1; + if(param_01) + { + var_02 = param_01; + } + + setsaveddvar("r_chromaticAberration",1); + var_03 = param_00 * 20; + var_04 = 0; + level.chromo_offset = 20 * var_02; + var_05 = level.chromo_offset; + for(var_04 = 0;var_04 < var_03;var_04++) + { + var_06 = 1 / var_03 * var_05; + level.chromo_offset = level.chromo_offset - var_06; + setsaveddvar("r_chromaticSeparationG",level.chromo_offset * -1); + setsaveddvar("r_chromaticSeparationR",level.chromo_offset); + wait(0.05); + } + + level.chromo_offset = 0; + setsaveddvar("r_chromaticSeparationG",0); + setsaveddvar("r_chromaticSeparationR",0); +} + +//Function Number: 26 +hoverscreen_chromo_anim(param_00,param_01) +{ + setsaveddvar("r_chromaticAberration",2); + var_02 = param_00 * 20; + var_03 = 0; + param_01 hudoutlineenable(0); + for(var_03 = 0;var_03 < var_02;var_03++) + { + var_04 = var_02 + 1 - var_03 / 60 * 5; + setsaveddvar("r_chromaticSeparationG",var_04 * -1); + setsaveddvar("r_chromaticSeparationR",var_04); + wait(0.05); + } +} + +//Function Number: 27 +hoverscreen_chromo_anim_turnoff(param_00,param_01) +{ + setsaveddvar("r_chromaticAberration",2); + var_02 = param_00 * 20; + var_03 = 0; + param_01 hudoutlineenable(0); + for(var_03 = 0;var_03 < var_02;var_03++) + { + var_04 = var_02 + 1 - var_03 / 60 * 5; + setsaveddvar("r_chromaticSeparationG",var_04 * -1); + setsaveddvar("r_chromaticSeparationR",var_04); + wait(0.05); + } +} + +//Function Number: 28 +change_weapons(param_00) +{ + level endon("hovertank_end"); + var_01 = 0; + var_02 = "cannon"; + level.current_weapon = level.hovertank_weapon[var_01].name; + level.player thread change_weapons_listener(); + wait(0.05); + for(;;) + { + var_03 = level.hovertank_player common_scripts\utility::waittill_any_return("antiair_button","cannon_button","missiles_button"); + if(issubstr(var_03,"cannon")) + { + if(issubstr(level.current_weapon,"cannon")) + { + continue; + } + + var_01 = 0; + } + else if(issubstr(var_03,"missile")) + { + if(issubstr(level.current_weapon,"missile")) + { + continue; + } + + var_01 = 1; + } + else if(issubstr(var_03,"antiair")) + { + if(issubstr(level.current_weapon,"antiair")) + { + continue; + } + + var_01 = 2; + } + else + { + } + + level.hovertank_player notify("shot weapon"); + level.current_weapon = level.hovertank_weapon[var_01].name; + if(!issubstr(level.current_weapon,"missile")) + { + level.hovertank_player notify("stop_missile_fire_audio"); + } + + if(isdefined(param_00)) + { + var_04 = 0.3; + if(issubstr(level.current_weapon,"cannon") && var_02 == "antiair") + { + param_00 setanimknobrestart(%lab_htank_emp_to_cannon_vmhtank,1,var_04); + level.last_hovertank_weapon_anim = "emp_to_cannon"; + level.last_hovertank_weapon_anim_complete_time = gettime() + 1000 * getanimlength(%lab_htank_emp_to_cannon_vmhtank); + soundscripts\_snd::snd_message("hovertank_switch_to_cannon"); + var_02 = "cannon"; + } + else if(issubstr(level.current_weapon,"antiair") && var_02 == "cannon") + { + if(gettime() >= level.last_hovertank_weapon_anim_complete_time) + { + param_00 setanimknobrestart(%lab_htank_cannon_to_emp_vmhtank,1,0); + } + else + { + param_00 setanimknobrestart(%lab_htank_cannon_to_emp_vmhtank,1,var_04); + } + + level.last_hovertank_weapon_anim = "cannon_to_emp"; + level.last_hovertank_weapon_anim_complete_time = gettime() + 1000 * getanimlength(%lab_htank_cannon_to_emp_vmhtank); + soundscripts\_snd::snd_message("hovertank_switch_to_emp"); + var_02 = "antiair"; + } + else + { + soundscripts\_snd::snd_message("hovertank_switch_to_missile"); + } + } + + foreach(var_0A, var_06 in level.huditem["crosshairs"]) + { + if(var_0A != var_01) + { + if(isarray(var_06)) + { + foreach(var_08 in var_06) + { + var_08 fadeovertime(0.01666667); + var_08.alpha = 0; + } + + continue; + } + + var_06 fadeovertime(0.01666667); + var_06.alpha = 0; + } + } + + thread hud_blink_current_weapon_name(var_01); + level.hovertank_player thread maps\_utility::play_sound_on_entity("ac130_weapon_switch"); + wait(0.05); + if(isarray(level.huditem["crosshairs"][var_01])) + { + foreach(var_0A, var_08 in level.huditem["crosshairs"][var_01]) + { + if(var_0A == 0) + { + var_08.alpha = 1; + continue; + } + + if(var_0A == 1) + { + var_08.alpha = 0.25; + continue; + } + + var_08.alpha = 0.1; + } + + continue; + } + + level.huditem["crosshairs"][var_01].alpha = 0.6; + } +} + +//Function Number: 29 +change_weapons_listener() +{ + level endon("hovertank_end"); + self notifyonplayercommand("antiair_button","+stance"); + self notifyonplayercommand("cannon_button","weapnext"); + self notifyonplayercommand("missiles_button","+usereload"); + notifyoncommand("LISTEN_attack_button_pressed","+attack"); + notifyoncommand("LISTEN_attack_button_pressed","+attack_akimbo_accessible"); + var_00 = "default"; + for(;;) + { + if(!level.player common_scripts\utility::is_player_gamepad_enabled()) + { + self notifyonplayercommand("antiair_button","+actionslot 4"); + self notifyonplayercommand("cannon_button","+actionslot 3"); + self notifyonplayercommand("missiles_button","weapnext"); + } + else + { + self notifyonplayercommandremove("antiair_button","+actionslot 4"); + self notifyonplayercommandremove("cannon_button","+actionslot 3"); + self notifyonplayercommandremove("missiles_button","weapnext"); + } + + if(issubstr(getbuttonsconfig(),"nomad_tactical")) + { + if(var_00 != "nomad") + { + self notifyonplayercommandremove("antiair_button","+stance"); + self notifyonplayercommandremove("antiair_button","+melee_zoom"); + self notifyonplayercommand("antiair_button","+melee_breath"); + var_00 = "nomad_tactical"; + } + } + else if(issubstr(getbuttonsconfig(),"tactical")) + { + if(var_00 != "tactical") + { + self notifyonplayercommandremove("antiair_button","+stance"); + self notifyonplayercommandremove("antiair_button","+melee_breath"); + self notifyonplayercommand("antiair_button","+melee_zoom"); + var_00 = "tactical"; + } + } + else + { + self notifyonplayercommandremove("antiair_button","+melee_zoom"); + self notifyonplayercommandremove("antiair_button","+melee_breath"); + self notifyonplayercommand("antiair_button","+stance"); + var_00 = "default"; + } + + wait(0.1); + } +} + +//Function Number: 30 +scale_missile_reticle_with_dist(param_00) +{ + var_01 = 3000; + var_02 = 600; + var_03 = 0.1; + level endon("hovertank_end"); + for(;;) + { + if(issubstr(level.current_weapon,"missile")) + { + var_04 = []; + var_05 = level.hovertank_player geteye() + 15000 * anglestoforward(level.hovertank_player getplayerangles()); + if(isdefined(param_00)) + { + var_04 = bullettrace(level.hovertank_player geteye() + anglestoforward(param_00 gettagangles("tag_flash")) * 32,var_05,1,param_00); + } + else + { + var_04 = bullettrace(level.player geteye() + anglestoforward(level.player getgunangles()) * 32,var_05,1,level.player); + } + + var_06 = distance(level.player.origin,var_04["position"]); + if(var_06 > var_01) + { + var_06 = var_01; + } + else if(var_06 < var_02) + { + var_06 = var_02; + } + + var_07 = 1 - var_06 - var_02 / var_01 - var_02; + if(var_07 < 0.3) + { + var_07 = 0.3; + } + + level.huditem["crosshairs"][1] scaleovertime(var_03,int(level.hovertank_weapon[1].shader_width * var_07),int(level.hovertank_weapon[1].shader_height * var_07)); + } + + wait(var_03); + } +} + +//Function Number: 31 +missile_reload_system() +{ + level endon("hovertank_end"); + var_00 = "hovertank_missile_small"; + var_01 = 0.1; + for(;;) + { + var_02 = level.weapon_ammo_count[var_00] / level.weapon_ammo_max[var_00]; + level.weapon_ammo_bar_value[var_00] = clamp(level.weapon_ammo_count[var_00] / level.weapon_ammo_max[var_00],0.04,1); + if(level.weapon_ammo_count[var_00] < level.weapon_ammo_max[var_00]) + { + level.weapon_ammo_count[var_00]++; + } + + if(var_02 < 0.3) + { + level.weapon_ammo_bar_color[var_00] = (1,1,0); + } + else + { + level.weapon_ammo_bar_color[var_00] = (1,1,1); + } + + wait(var_01); + } +} + +//Function Number: 32 +weapon_fire_notify() +{ + level endon("hovertank_end"); + for(;;) + { + if(level.hovertank_player attackbuttonpressed()) + { + level.hovertank_player notify("LISTEN_attack_button_pressed"); + level.hovertank_player.firingweapons = 1; + } + else + { + level.hovertank_player.firingweapons = 0; + level.hovertank_player waittill("LISTEN_attack_button_pressed"); + } + + wait(0.05); + } +} + +//Function Number: 33 +weapon_fire(param_00) +{ + level endon("hovertank_end"); + thread weapon_fire_notify(); + var_01 = 0; + var_02 = 0.2; + var_03 = 1; + var_04 = level.hovertank_player geteye()[2]; + var_05 = 1.5; + var_06 = 0; + for(;;) + { + level.hovertank_player waittill("LISTEN_attack_button_pressed"); + level.time_of_hovertank_fire = gettime(); + level.player_angles_at_last_hovertank_fire = level.hovertank_player getplayerangles(); + var_07 = undefined; + if(!level.weapon_ready_to_fire[level.current_weapon] || level.weapon_cooldown_active[level.current_weapon] || level.weapon_input_cooldown_active[level.current_weapon]) + { + continue; + } + else + { + if(issubstr(level.current_weapon,"missile")) + { + var_06 = var_06 + 1 % 2; + } + + var_08 = (0,0,0); + if(isdefined(param_00)) + { + var_08 = param_00 get_weapon_fire_pos(level.current_weapon,var_06); + } + else + { + var_08 = level.player geteye(); + } + + var_09 = level.hovertank_player geteye() + 15000 * anglestoforward(level.hovertank_player getplayerangles()); + if(level.time_of_hovertank_fire - var_01 > var_02 * 1000) + { + var_03 = 1; + } + + if(level.time_of_hovertank_fire - var_01 > var_05 * 1000) + { + var_04 = level.hovertank_player geteye()[2]; + } + + if(issubstr(level.current_weapon,"missile")) + { + var_07 = []; + if(isdefined(param_00)) + { + var_07 = bullettrace(level.hovertank_player geteye() + anglestoforward(param_00 gettagangles("tag_flash")) * 32,var_09,1,param_00); + } + else + { + var_07 = bullettrace(level.player geteye() + anglestoforward(level.player getgunangles()) * 32,var_09,1,level.player); + } + + var_0A = 0; + var_0B = 0; + var_09 = (0,0,0); + if(getdvarint("ht_missile_mode_line")) + { + var_0C = (0,0,0); + if(isdefined(param_00)) + { + var_0C = param_00 gettagangles("tag_flash"); + } + else + { + var_0C = level.player getgunangles(); + } + + if(var_06 == 0) + { + var_0A = anglestoright(var_0C) * randomintrange(-1 * getdvarint("ht_missile_end_max"),getdvarint("ht_missile_end_min")); + } + else + { + var_0A = anglestoright(var_0C) * randomintrange(getdvarint("ht_missile_end_min"),getdvarint("ht_missile_end_max")); + } + + var_09 = var_08 + anglestoforward(var_0C) * getdvarint("ht_missile_end_forward") + anglestoup(var_0C) * getdvarint("ht_missile_end_up") + var_0A; + } + else + { + if(var_06 == 0) + { + var_0B = randomintrange(90,180); + } + else + { + var_0B = randomintrange(0,90); + } + + var_0C = (0,0,0); + if(isdefined(param_00)) + { + var_0C = param_00 gettagangles("tag_flash"); + } + else + { + var_0C = level.player getgunangles(); + } + + var_09 = var_08 + anglestoforward((0,var_0C[1],0)) * getdvarint("ht_missile_end_forward") + anglestoup((0,var_0C[1],0)) * getdvarint("ht_missile_end_rad") * sin(var_0B) + anglestoright((0,var_0C[1],0)) * getdvarint("ht_missile_end_rad") * cos(var_0B); + } + } + else + { + var_01 = level.time_of_hovertank_fire; + var_07 = bullettrace(level.hovertank_player geteye() + 150 * anglestoforward(level.hovertank_player getplayerangles()),var_09,1,param_00); + if(isdefined(var_07["position"])) + { + var_09 = var_07["position"]; + var_04 = level.hovertank_player geteye()[2] - var_07["position"][2]; + var_04 = common_scripts\utility::ter_op(var_04 > 0,var_04,0); + } + else + { + var_09 = level.hovertank_player geteye() + var_04 / cos(90 - level.hovertank_player getplayerangles()[0]) * anglestoforward(level.hovertank_player getplayerangles()); + } + } + + var_0D = magicbullet(level.current_weapon,var_08,var_09,level.hovertank_player); + if(isdefined(level.hovertank_projectile_callback)) + { + var_0E = [level.current_weapon,var_07]; + var_0D thread [[ level.hovertank_projectile_callback ]](var_0E); + } + + level.hovertank_player notify("missile_fire",var_0D,level.current_weapon); + level.hovertank_player notify("LISTEN_hovertank_weapon_fired"); + var_0F = (0,0,0); + var_0C = (0,0,0); + if(isdefined(param_00)) + { + var_0F = param_00.origin; + var_0C = param_00 gettagangles("tag_flash"); + } + else + { + var_0F = level.player.origin; + var_0C = level.player getgunangles(); + } + + var_10 = 0.5; + if(issubstr(level.current_weapon,"cannon")) + { + if(isdefined(param_00)) + { + playfxontag(common_scripts\utility::getfx("hovertank_cannon_flash_view"),param_00,"tag_flash"); + } + + playfxontag(common_scripts\utility::getfx("hovertank_cannon_dust_ring"),param_00,"tag_flash_animated"); + earthquake(1,0.5,level.hovertank_player.origin,500); + level.hovertank_player shellshock("hovertank_cannon",2); + level.hovertank_player playrumbleonentity("heavygun_fire"); + soundscripts\_snd::snd_message("hovertank_cannon_fire"); + if(isdefined(param_00)) + { + if(level.last_hovertank_weapon_anim == "cannon_fire" || gettime() >= level.last_hovertank_weapon_anim_complete_time) + { + param_00 setanimknobrestart(%lab_htank_cannon_fire_vmhtank,1,0); + } + else + { + param_00 setanimknobrestart(%lab_htank_cannon_fire_vmhtank,1,var_10); + } + + level.last_hovertank_weapon_anim = "cannon_fire"; + level.last_hovertank_weapon_anim_complete_time = gettime() + 1000 * getanimlength(%lab_htank_cannon_fire_vmhtank); + param_00 setanimrestart(%lab_htank_cannon_cylinder_vmhtank,1,0); + soundscripts\_snd::snd_message("hovertank_barrel_turn"); + } + + physicsjolt(var_0F,300,250,anglestoforward(var_0C) * -0.1); + } + else if(issubstr(level.current_weapon,"antiair")) + { + playfxontag(common_scripts\utility::getfx("hovertank_aa_flash_vm"),param_00,"tag_flash_2"); + level.hovertank_player shellshock("hovertank_cannon",1); + level.hovertank_player playrumbleonentity("heavygun_fire"); + soundscripts\_snd::snd_message("hovertank_antiair_fire"); + physicsjolt(var_0F,300,250,anglestoforward(var_0C) * -0.01); + if(isdefined(param_00)) + { + if(level.last_hovertank_weapon_anim == "emp_fire" || gettime() >= level.last_hovertank_weapon_anim_complete_time) + { + param_00 setanimknobrestart(%lab_htank_emp_fire_vmhtank,1,0); + } + else + { + param_00 setanimknobrestart(%lab_htank_emp_fire_vmhtank,1,var_10); + } + + level.last_hovertank_weapon_anim = "emp_fire"; + level.last_hovertank_weapon_anim_complete_time = gettime() + 1000 * getanimlength(%lab_htank_emp_fire_vmhtank); + soundscripts\_snd::snd_message("hovertank_antiair_recoil"); + } + } + else if(issubstr(level.current_weapon,"missile")) + { + level.hovertank_player shellshock("hovertank_cannon",0.1); + level.hovertank_player playrumbleonentity("silencer_fire"); + physicsjolt(var_0F,300,250,anglestoforward(var_0C) * -0.01); + } + } + + thread weapon_reload(level.current_weapon); + } +} + +//Function Number: 34 +get_weapon_fire_pos(param_00,param_01) +{ + if(issubstr(param_00,"missile")) + { + var_02 = 1; + if(param_01 == 0) + { + var_02 = -1; + } + + var_03 = self gettagangles("tag_aim_animated"); + var_04 = self gettagorigin("tag_aim_animated"); + var_05 = getdvarint("ht_missile_start_forward",64); + var_06 = getdvarint("ht_missile_start_up",32); + var_07 = getdvarint("ht_missile_start_right",32); + var_08 = var_04 + anglestoforward(var_03) * var_05 + anglestoup(var_03) * var_06 + anglestoright(var_03) * var_07 * var_02; + return var_08; + } + + if(issubstr(var_07,"antiair")) + { + return self gettagorigin("tag_flash_2"); + } + + if(issubstr(var_07,"cannon")) + { + return self gettagorigin("tag_flash"); + } + + return level.hovertank_player geteye(); +} + +//Function Number: 35 +hovertank_projectile_callback(param_00) +{ + var_01 = param_00[0]; + var_02 = param_00[1]; + self.team = "allies"; + if(issubstr(var_01,"missile")) + { + playfx(common_scripts\utility::getfx("hovertank_anti_pers_muzzle_flash_vm"),self.origin,anglestoforward(self.angles),anglestoup(self.angles)); + var_03 = -64; + var_04 = 64; + var_05 = target_getarray(); + var_06 = []; + for(var_07 = 0;var_07 < var_05.size;var_07++) + { + if(!isdefined(var_05[var_07].missile_targetting)) + { + if(target_isincircle(var_05[var_07],level.hovertank_player,75,60)) + { + var_06[var_06.size] = var_05[var_07]; + } + } + } + + var_08 = undefined; + var_09 = undefined; + if(var_06.size == 0) + { + var_08 = spawn("script_origin",var_02["position"] + (randomintrange(var_03,var_04),randomintrange(var_03,var_04),randomintrange(var_03,var_04))); + var_08.missile_targetting = 1; + } + else + { + var_09 = var_06[0]; + var_08 = var_09; + var_09.missile_targetting = 1; + } + + target_set(var_08); + target_hidefromplayer(var_08,level.hovertank_player); + self missile_settargetent(var_08); + thread missile_delayed_trail(); + self waittill("death"); + if(isdefined(var_09)) + { + var_09.missile_targetting = undefined; + } + + if(isdefined(var_08) && var_08.classname == "script_origin") + { + var_08 delete(); + return; + } + + return; + } + + if(issubstr(var_01,"antiair")) + { + self endon("death"); + var_0A = []; + if(isdefined(level.emp_vulnerable_list)) + { + var_0A = level.emp_vulnerable_list; + } + + var_0B = var_0A; + var_0C = 512; + var_0D = var_0C * var_0C; + thread detonate_hovertank_aa_projectile_on_death(var_0C * 2); + for(;;) + { + var_0A = var_0B; + foreach(var_0F in var_0A) + { + if(!isdefined(var_0F) || !isalive(var_0F)) + { + var_0B = common_scripts\utility::array_remove(var_0B,var_0F); + continue; + } + + if(distancesquared(self.origin,var_0F.origin) < var_0D) + { + self notify("death"); + waittillframeend; + self delete(); + } + } + + wait(0.05); + } + + return; + } + + if(issubstr(var_01,"cannon")) + { + return; + } +} + +//Function Number: 36 +missile_delayed_trail() +{ + var_00 = 0.5; + wait(var_00); + if(isdefined(self)) + { + playfxontag(common_scripts\utility::getfx("hovertank_anti_pers_trail_rocket_2"),self,"tag_origin"); + self waittill("death"); + } +} + +//Function Number: 37 +detonate_hovertank_aa_projectile_on_death(param_00) +{ + self waittill("death"); + if(isdefined(self)) + { + radiusdamage(self.origin,param_00,1,1,level.hovertank_player,"MOD_ENERGY","hovertank_antiair"); + playfx(common_scripts\utility::getfx("hovertank_aa_explosion"),self.origin); + } +} + +//Function Number: 38 +manual_cannon_reload() +{ + level endon("hovertank_end"); + var_00 = "hovertank_cannon"; + for(;;) + { + var_01 = 0; + while(!var_01) + { + var_02 = 0.3; + while(level.hovertank_player usebuttonpressed() && !level.weapon_cooldown_active[var_00]) + { + var_02 = var_02 - 0.05; + if(var_02 < 0) + { + var_01 = 1; + break; + } + + wait(0.05); + } + + wait(0.05); + } + + if(!level.weapon_cooldown_active[var_00]) + { + thread weapon_reload(var_00,1); + } + + wait(0.05); + } +} + +//Function Number: 39 +weapon_reload(param_00,param_01) +{ + level endon("hovertank_end"); + if(!isdefined(param_01)) + { + param_01 = 0; + } + + level.weapon_ready_to_fire[param_00] = 0; + if(!param_01) + { + level.weapon_ammo_count[param_00]--; + } + + if(!issubstr(param_00,"missile")) + { + level.weapon_ammo_bar_value[param_00] = level.weapon_ammo_count[param_00] / level.weapon_ammo_max[param_00]; + } + + if((issubstr(param_00,"cannon") && level.weapon_ammo_count[param_00] == 0) || param_01) + { + level notify("hovertank_cannon_reload_hint"); + common_scripts\utility::flag_clear("hovertank_reload_hint"); + } + + if(!param_01) + { + if(level.weapon_reload_time[param_00] > 0) + { + wait(level.weapon_reload_time[param_00]); + } + } + + if(level.weapon_ammo_count[param_00] <= 0 || param_01) + { + if(issubstr(param_00,"antiair")) + { + level.hovertank_player thread maps\_utility::play_sound_on_entity("ac130_40mm_reload"); + } + else if(issubstr(param_00,"missile")) + { + level.hovertank_player thread maps\_utility::play_sound_on_entity("ac130_25mm_reload"); + } + else + { + soundscripts\_snd::snd_message("ht_cannon_reload"); + } + + level.weapon_cooldown_active[param_00] = 1; + if(level.weapon_cooldown_time[param_00] > 0) + { + weapon_ammo_bar_reload(param_00,param_01); + if(issubstr(param_00,"cannon")) + { + level notify("kill_reload_sound"); + } + } + + if(!issubstr(param_00,"missile")) + { + level.weapon_ammo_count[param_00] = level.weapon_ammo_max[param_00]; + } + + level.weapon_cooldown_active[param_00] = 0; + } + else if(issubstr(param_00,"cannon") && level.weapon_ammo_count[param_00] == 1) + { + thread hovertank_cannon_reload_hint(); + } + + level.weapon_ready_to_fire[param_00] = 1; +} + +//Function Number: 40 +weapon_ammo_bar_reload(param_00,param_01) +{ + level endon("hovertank_end"); + if(issubstr(param_00,"missile")) + { + wait(level.weapon_cooldown_time[param_00]); + return; + } + + var_02 = level.weapon_ammo_count[param_00]; + var_03 = level.weapon_ammo_max[param_00]; + if(var_02 == var_03) + { + return; + } + + level.weapon_ammo_bar_color[param_00] = (1,0,0); + var_04 = 0.05; + var_05 = 0.05; + var_06 = 0; + var_07 = 0; + if(param_01) + { + var_07 = level.weapon_cooldown_time[param_00] * 1 - level.weapon_ammo_bar_value[param_00]; + var_05 = var_04 / var_07 * var_03 - var_02 / var_03; + } + else + { + var_07 = level.weapon_cooldown_time[param_00]; + var_05 = var_04 / var_07; + } + + while(var_06 < var_07) + { + level.weapon_ammo_bar_value[param_00] = level.weapon_ammo_bar_value[param_00] + var_05; + var_06 = var_06 + var_04; + wait(var_04); + } + + level.weapon_ammo_bar_value[param_00] = 1; + level.weapon_ammo_bar_color[param_00] = (1,1,1); +} + +//Function Number: 41 +hovertank_cannon_reload_hint() +{ + level notify("hovertank_cannon_reload_hint"); + level endon("hovertank_cannon_reload_hint"); + wait(5); + common_scripts\utility::flag_set("hovertank_reload_hint"); + maps\_utility::display_hint_timeout("hovertank_reload",10); +} + +//Function Number: 42 +break_hovertank_reload_hint() +{ + return !common_scripts\utility::flag("hovertank_reload_hint"); +} + +//Function Number: 43 +shotfired() +{ + level endon("hovertank_end"); + for(;;) + { + level.hovertank_player waittill("projectile_impact",var_00,var_01,var_02); + if(is_hovertank_weapon(var_00,"cannon")) + { + } + else if(is_hovertank_weapon(var_00,"antiair")) + { + earthquake(0.2,0.5,var_01,2000); + } + + if(is_hovertank_weapon(var_00)) + { + thread shotfiredphysicssphere(var_01,var_00); + } + + wait(0.05); + } +} + +//Function Number: 44 +is_hovertank_weapon(param_00,param_01) +{ + if(isdefined(param_01)) + { + return issubstr(tolower(param_00),param_01); + } + + return issubstr(tolower(param_00),"cannon") || issubstr(tolower(param_00),"antiair") || issubstr(tolower(param_00),"missile"); +} + +//Function Number: 45 +missile_fire_audio() +{ + level endon("hovertank_end"); + var_00 = 0; + var_01 = "stopped"; + var_02 = "stopped"; + level.gun_state = var_01; + thread missile_fire_audio_end(); + var_03 = 0; + var_04 = 100; + for(;;) + { + if(gettime() - var_03 > var_04) + { + if(!issubstr(level.current_weapon,"missile")) + { + var_02 = "stopped"; + } + else if(level.hovertank_player.firingweapons) + { + if(level.weapon_ammo_count[level.current_weapon] > 2) + { + var_02 = "full_loop"; + } + else + { + var_02 = "slow_loop"; + } + } + else + { + var_02 = "stopped"; + } + + if(var_02 != var_01) + { + switch(var_02) + { + case "stopped": + soundscripts\_snd::snd_message("hovertank_missile_small_stop"); + var_01 = "stopped"; + level.gun_state = var_01; + break; + + case "full_loop": + soundscripts\_snd::snd_message("hovertank_missile_small_start"); + var_01 = "full_loop"; + level.gun_state = var_01; + break; + + case "slow_loop": + soundscripts\_snd::snd_message("hovertank_missile_small_slow"); + var_01 = "slow_loop"; + level.gun_state = var_01; + break; + + default: + break; + } + + var_03 = gettime(); + } + + wait(0.05); + continue; + } + + wait(0.05); + } +} + +//Function Number: 46 +missile_fire_audio_end() +{ + level waittill("hovertank_end"); + if(level.gun_state != "stopped") + { + soundscripts\_snd::snd_message("hovertank_missile_small_stop"); + } +} + +//Function Number: 47 +shotfiredphysicssphere(param_00,param_01) +{ + wait(0.1); +} + +//Function Number: 48 +hud_blink_current_weapon_name(param_00) +{ + level notify("LISTEN_end_hud_blink_current_weapon_name"); + level endon("LISTEN_end_hud_blink_current_weapon_name"); + level endon("hovertank_end"); + if(!isdefined(level.huditem["weapon_icon"])) + { + return; + } + + foreach(var_02 in level.huditem["weapon_icon"]) + { + var_02.alpha = 1; + var_02.color = (0.3,0.3,0.3); + } + + level.huditem["weapon_icon"][param_00].alpha = 1; + for(;;) + { + update_hovertank_icons(); + level.huditem["weapon_icon"][param_00] fadeovertime(0.2); + level.huditem["weapon_icon"][param_00].color = (1,1,1); + wait(0.25); + level.huditem["weapon_icon"][param_00] fadeovertime(0.2); + level.huditem["weapon_icon"][param_00].color = (0.5,0.5,0.5); + wait(0.25); + } +} + +//Function Number: 49 +hovertank_ride_anims() +{ + self endon("death"); + self useanimtree(#animtree); + self setanim(%lab_htank_idle_vm); + self setanim(%lab_htank_idle_vmhtank); + for(;;) + { + self waittill("large_hit_react"); + var_00 = getanimlength(%lab_htank_react_large_vmhtank); + self setanimknobrestart(%lab_htank_react_large_vmhtank,1,0); + wait(var_00); + self setanimknob(%lab_htank_idle_vmhtank,1,0.5); + } +} + +//Function Number: 50 +init_hovertank() +{ + if(isdefined(self) && self != level) + { + self useanimtree(#animtree); + if(self.vehicletype != "hovertank_npc_physics_tank") + { + self vehicle_hovertanksethoverforcescale(0.7); + } + + self.script_bulletshield = 1; + self.script_grenadeshield = 1; + self.script_badplace = 1; + } +} + +//Function Number: 51 +precache_for_hovertank() +{ + precacheturret("hovertank_turret"); + precachemodel("vehicle_mil_hovertank_vm"); + precachemodel("vehicle_mil_hovertank_simple_vm"); + precachemodel("viewbody_sentinel_covert"); + precacherumble("steady_rumble"); + precacherumble("heavygun_fire"); + precacherumble("damage_heavy"); + precacherumble("damage_light"); + precacherumble("silencer_fire"); + precachemodel("vehicle_mil_hovertank_screen01"); + precachestring("LAB_TROPHY_SYSTEM"); + precache_lui_hovertank_screens(); + init_hovertank_weapons(); +} + +//Function Number: 52 +precache_lui_hovertank_screens() +{ + precachestring(&"flash01"); + precachestring(&"qflash01"); + precachestring(&"flash02"); + precachestring(&"flash03"); + precachestring(&"flash04"); + precachestring(&"qflash05"); + precachestring(&"flash05"); + precachestring(&"flash06"); + precachestring(&"hit01"); + precachestring(&"hit02"); + precachestring(&"hit03"); + precachestring(&"hit04"); + precachestring(&"hit05"); + precachestring(&"hit06"); + precachestring(&"off01"); + precachestring(&"off02"); + precachestring(&"off03"); + precachestring(&"off04"); + precachestring(&"off05"); + precachestring(&"off06"); + precacheshader("mtl_hovertank_screen_hit_01"); + precacheshader("mtl_hovertank_screen_hit_02"); + precacheshader("mtl_hovertank_screen_hit_03"); + precacheshader("mtl_hovertank_screen_hit_04"); + precacheshader("mtl_hovertank_screen_hit_05"); + precacheshader("mtl_hovertank_screen_hit_06"); +} + +//Function Number: 53 +hovertank_audio() +{ + self endon("death"); + var_00 = spawnstruct(); + var_00.player_mode = 1; + var_00.preset_name = "hovertank"; + var_01 = ::vehicle_scripts\_hovertank_aud::hovertank_constructor; + soundscripts\_snd::snd_message("snd_register_vehicle",var_00.preset_name,var_01); + if(var_00.player_mode == 1) + { + soundscripts\_snd::snd_message("snd_start_vehicle",var_00); + } + + level.player waittill("hovertank_dismounted"); + soundscripts\_snd::snd_message("snd_stop_vehicle"); +} + +//Function Number: 54 +handle_hovertank_collisions() +{ + self endon("death"); + for(;;) + { + self waittill("veh_contact",var_00,var_01,var_02,var_03,var_04); + if(isdefined(self.last_collision_time) && self.last_collision_time == gettime()) + { + continue; + } + + self.last_collision_time = gettime(); + var_05 = []; + var_05["vehicle"] = self; + var_05["hit_entity"] = var_00; + var_05["pos"] = var_01; + var_05["impulse"] = var_02; + var_05["relativeVel"] = var_03; + var_05["surface"] = var_04; + soundscripts\_snd::snd_message("aud_impact_system_hovertank",var_05); + } +} + +//Function Number: 55 +set_up_target() +{ + if(isdefined(self)) + { + if(isdefined(self.script_parameters) && self.script_parameters == "no_target") + { + return; + } + + target_set(self,get_npc_center_offset()); + target_hidefromplayer(self,level.hovertank_player); + } +} + +//Function Number: 56 +get_npc_center_offset() +{ + if(isai(self) && isalive(self)) + { + var_00 = self geteye()[2]; + var_01 = self.origin[2]; + var_02 = var_00 - var_01 / 2; + return (0,0,var_02); + } + + return (0,0,0); +} + +//Function Number: 57 +monitor_player_damage() +{ + level.player endon("end_monitor_player_damage"); + level.player.death_invulnerable_activated = 0; + var_00 = 1; + switch(level.gameskill) + { + case 2: + var_00 = 1.5; + break; + + case 3: + var_00 = 1.5; + break; + + default: + var_00 = 1; + break; + } + + level.player_ugv_health = 600 * var_00; + level.player_ugv_health_max_health = 600 * var_00; + for(;;) + { + level.player waittill("damage",var_01,var_02,var_03,var_04,var_05); + level.player_ugv_health_hurtagain = 1; + if(!level.player.death_invulnerable_activated) + { + level.player_ugv_health = level.player_ugv_health - var_01; + } + } +} + +//Function Number: 58 +pass_hovertank_damage_to_player() +{ + level endon("hovertank_end"); + for(;;) + { + self waittill("damage",var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09); + var_0A = var_03; + if(isdefined(var_01)) + { + if(isdefined(var_01.team) && var_01.team == level.player.team) + { + continue; + } + + var_0B = distance(self.origin,var_01.origin); + var_0A = var_03 + var_02 * var_0B * -1; + } + + level.player dodamage(0.1,var_0A,var_01); + } +} + +//Function Number: 59 +handle_hovertank_death() +{ + level endon("hovertank_end"); + self waittill("death"); + level.player freezecontrols(1); + setdvar("ui_deadquote",&"LAB_MISSION_FAILED_TANK_DESTROYED"); + maps\_utility::missionfailedwrapper(); +} + +//Function Number: 60 +health_monitor() +{ + level.huditem["health_text"] = level.player maps\_hud_util::createclientfontstring("default",1.2); + level.huditem["health_text"] maps\_hud_util::setpoint("LEFT",undefined,60,-50); + level.huditem["health_text"] settext("Armor Status"); + level.huditem["health_text"].alpha = 0.6; + level.huditem["health_bar"] = level.player maps\_hud_util::createclientprogressbar(level.player,60,"white","black",100,10); + level.huditem["health_bar"] maps\_hud_util::setpoint("LEFT",undefined,65,-38); + level.huditem["health_bar"] maps\_hud_util::updatebar(1); + level.huditem["health_bar"].alpha = 0.6; + level.huditem["health_bar"].bar.alpha = 0.6; + maps\_utility::add_damage_function(::track_health_damage_function); +} + +//Function Number: 61 +track_health_damage_function(param_00,param_01,param_02,param_03,param_04,param_05,param_06) +{ + var_07 = get_tank_health_percent(); + if(var_07 < 0) + { + var_07 = 0; + } + + level.huditem["health_bar"] maps\_hud_util::updatebar(var_07); +} + +//Function Number: 62 +get_tank_health_percent() +{ + if(isdefined(self)) + { + var_00 = self.health - self.healthbuffer; + var_01 = var_00 / self.maxhealth - self.healthbuffer; + var_02 = int(ceil(var_01 * 100)) / 100; + return var_02; + } + + return 0; +} + +//Function Number: 63 +update_health_bar(param_00) +{ + var_01 = 5; + var_02 = 20 * var_01; + var_03 = 0; + while(var_03 < var_02 && isdefined(self)) + { + maps\_hud_util::updatebar(var_03 / var_02); + var_03++; + wait(0.05); + } +} + +//Function Number: 64 +trophy_system() +{ + level endon("hovertank_end"); + level.missiles = []; + thread trackmissiles(); + self.trophytags = ["TAG_VFX_TROPHY_RT","TAG_VFX_TROPHY_LT"]; + var_00 = self; + var_01 = 450; + var_02 = var_01 * var_01; + self.trophyammomax = 100; + self.trophyammo = self.trophyammomax; + self.trophy_cost = 1; + thread trophy_ammo_counter(); + thread trophy_reload_bar(); + maps\_utility::add_damage_function(::trophy_system_backup); + for(;;) + { + if(level.missiles.size < 1) + { + wait(0.05); + continue; + } + + if(self.trophyammo < self.trophy_cost) + { + wait(0.05); + continue; + } + + var_03 = level.missiles; + foreach(var_05 in var_03) + { + wait(0.05); + if(!has_trophy_ammo()) + { + break; + } + + if(!isdefined(var_05)) + { + continue; + } + + if(var_05 == self) + { + continue; + } + + if(isdefined(var_05.team) && var_05.team == "allies") + { + continue; + } + + var_06 = distancesquared(var_05.origin,self.origin); + if(var_06 < var_02) + { + deploy_trophy(var_05); + } + } + } +} + +//Function Number: 65 +trophy_system_backup(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) +{ + if(has_trophy_ammo() && param_04 == "MOD_PROJECTILE") + { + deploy_trophy(undefined,param_03); + self.health = self.currenthealth; + return; + } + + if(param_04 == "MOD_PROJECTILE") + { + soundscripts\_snd::snd_message("defenseless_tank_impact"); + } +} + +//Function Number: 66 +set_trophy_ammo(param_00) +{ + self.trophyammo = param_00; + level.huditem["trophy_reload_bar"] maps\_hud_util::updatebar(self.trophyammo / self.trophyammomax); +} + +//Function Number: 67 +get_trophy_ammo() +{ + return self.trophyammo; +} + +//Function Number: 68 +has_trophy_ammo() +{ + return self.trophyammo >= self.trophy_cost; +} + +//Function Number: 69 +fires_explosives(param_00) +{ + if(issubstr(self.classname,"rpg")) + { + return 1; + } + + if(issubstr(self.classname,"tank")) + { + return 1; + } + + if(isdefined(self.model) && issubstr(self.model,"warbird")) + { + return 1; + } + + if(isdefined(param_00) && issubstr(param_00,"rpg")) + { + return 1; + } + + if(isdefined(param_00) && issubstr(param_00,"ft101")) + { + return 1; + } + + return 0; +} + +//Function Number: 70 +deploy_trophy(param_00,param_01) +{ + if(!isdefined(param_00)) + { + param_00 = spawn("script_origin",param_01); + } + + self notify("trophy_deployed",param_00.origin); + var_02 = get_closest_tag(param_00.origin,self.trophytags); + if(!isdefined(self.last_trophy_time)) + { + self.last_trophy_time = 0; + } + + var_03 = 0.2; + if(gettime() - self.last_trophy_time > var_03 * 1000) + { + playfx(common_scripts\utility::getfx("trophy_flash"),var_02,param_00.origin - var_02); + var_04 = common_scripts\utility::spawn_tag_origin(); + var_04.origin = param_00.origin; + if(isdefined(param_00.angles)) + { + var_04.angles = param_00.angles; + } + else + { + var_04.angles = vectortoangles(param_00.origin - level.player.origin); + } + + playfxontag(common_scripts\utility::getfx("trophy_explosion"),var_04,"tag_origin"); + soundscripts\_snd::snd_message("hovertank_trophy_system",param_00); + var_05 = vectornormalize(var_04.origin - level.hovertank.turret.origin); + var_06 = anglestoright(level.hovertank.turret gettagangles("tag_aim_animated")); + var_07 = vectordot(var_06,var_05); + var_08 = anglestoforward(level.hovertank.turret gettagangles("tag_aim_animated")); + var_09 = vectorcross(var_05,var_08); + var_0A = 0.2; + var_0B = 0.05; + if(var_09[2] >= 0.4) + { + thread hoverscreen_hit(3,var_0A); + thread hoverscreen_hit(4,var_0A); + thread hoverscreen_hit(2,var_0B); + thread hoverscreen_hit(5,var_0B); + } + else if(var_09[2] <= -0.4) + { + thread hoverscreen_hit(1,var_0A); + thread hoverscreen_hit(6,var_0A); + thread hoverscreen_hit(2,var_0B); + thread hoverscreen_hit(5,var_0B); + } + else if(var_09[2] > -0.4 && var_09[2] < 0.4) + { + thread hoverscreen_hit(2,var_0A); + thread hoverscreen_hit(5,var_0A); + thread hoverscreen_hit(3,var_0B); + thread hoverscreen_hit(4,var_0B); + thread hoverscreen_hit(1,var_0B); + thread hoverscreen_hit(6,var_0B); + } + + var_04 common_scripts\utility::delaycall(0.05,::delete); + } + + self.last_trophy_time = gettime(); + self.trophyammo = self.trophyammo - self.trophy_cost; + if(isdefined(level.huditem["trophy_reload_bar"])) + { + level.huditem["trophy_reload_bar"] maps\_hud_util::updatebar(self.trophyammo / self.trophyammomax); + } + + param_00 delete(); +} + +//Function Number: 71 +trophy_reload_bar() +{ + level.huditem["trophy_reload_bar"] = level.player maps\_hud_util::createclientprogressbar(level.player,60,"white","black",100,10); + level.huditem["trophy_reload_bar"] maps\_hud_util::setpoint("LEFT",undefined,65,-3); + level.huditem["trophy_reload_bar"] maps\_hud_util::updatebar(1); + level.huditem["trophy_reload_bar"].alpha = 0.6; + level.huditem["trophy_reload_bar"].bar.alpha = 0.6; + level.huditem["trophy_reload_bar_split"] = []; +} + +//Function Number: 72 +trophy_reload() +{ + update_trophy_reload_progress_bar(); +} + +//Function Number: 73 +update_trophy_reload_progress_bar() +{ + level endon("hovertank_end"); + var_00 = 5; + var_01 = 20 * var_00; + var_02 = 0; + var_03 = 0.05; + while(var_02 < var_00 && isdefined(self)) + { + level.huditem["trophy_reload_bar"] maps\_hud_util::updatebar(self.trophyammo / 100); + self.trophyammo = self.trophyammo + self.trophy_cost / var_00 * var_03; + var_02 = var_02 + var_03; + wait(var_03); + } + + level.huditem["trophy_reload_bar"] maps\_hud_util::updatebar(self.trophyammo / 100); +} + +//Function Number: 74 +trophy_ammo_counter() +{ + level endon("hovertank_end"); + level.huditem["trophy_ammo_counter_text"] = level.player maps\_hud_util::createclientfontstring("default",1.2); + level.huditem["trophy_ammo_counter_text"] maps\_hud_util::setpoint("LEFT",undefined,60,-15); + level.huditem["trophy_ammo_counter_text"] settext(&"LAB_TROPHY_SYSTEM"); + level.huditem["trophy_ammo_counter_text"].alpha = 0.6; +} + +//Function Number: 75 +get_closest_tag(param_00,param_01) +{ + var_02 = 1000000000; + var_03 = (0,0,0); + foreach(var_05 in param_01) + { + var_06 = self.turret gettagorigin(var_05); + var_07 = distancesquared(var_06,param_00); + if(var_07 < var_02) + { + var_02 = var_07; + var_03 = var_06; + } + } + + return var_03; +} + +//Function Number: 76 +trackmissiles() +{ + level endon("hovertank_end"); + for(;;) + { + var_00 = getentarray("rocket","classname"); + var_01 = []; + foreach(var_03 in var_00) + { + if(isdefined(var_03.team) && var_03.team == "allies") + { + continue; + } + else + { + var_01[var_01.size] = var_03; + } + } + + level.missiles = var_01; + wait(0.05); + } +} + +//Function Number: 77 +weapon_ammo_bar() +{ + level endon("hovertank_end"); + for(;;) + { + for(var_00 = 0;var_00 < 3;var_00++) + { + var_01 = level.hovertank_weapon[var_00].weapon; + } + + wait(0.05); + } +} + +//Function Number: 78 +missile_tracking_hud() +{ + level endon("hovertank_end"); + self.tracked = 1; + target_set(self); + target_setshader(self,"hud_minimap_tracking_drone_red"); +} + +//Function Number: 79 +update_hovertank_icons() +{ + update_hovertank_icons_proc(0,"s1_icon_hovertank_canon"); + update_hovertank_icons_proc(1,"s1_icon_hovertank_missile_small"); + update_hovertank_icons_proc(2,"s1_icon_hovertank_antiair"); +} + +//Function Number: 80 +update_hovertank_icons_proc(param_00,param_01) +{ + if(!level.player usinggamepad()) + { + level.huditem["weapon_icon"][param_00] setshader(param_01 + "_pc",get_icon_width(param_00),get_icon_height(param_00)); + level.huditem["weapon_key"][param_00].alpha = 1; + return; + } + + if(level.ps3 || level.ps4) + { + level.huditem["weapon_icon"][param_00] setshader(param_01 + "_ps3",get_icon_width(param_00),get_icon_height(param_00)); + level.huditem["weapon_key"][param_00].alpha = 0; + return; + } + + level.huditem["weapon_icon"][param_00] setshader(param_01,get_icon_width(param_00),get_icon_height(param_00)); + level.huditem["weapon_key"][param_00].alpha = 0; +} + +//Function Number: 81 +get_icon_width(param_00) +{ + return level.huditem["weapon_icon"][param_00].icon_width; +} + +//Function Number: 82 +get_icon_height(param_00) +{ + return level.huditem["weapon_icon"][param_00].icon_height; +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_hovertank_aud.gsc b/AW/PC/vehicle_scripts/_hovertank_aud.gsc new file mode 100644 index 0000000..ef79d1e --- /dev/null +++ b/AW/PC/vehicle_scripts/_hovertank_aud.gsc @@ -0,0 +1,484 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _hovertank_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 27 + * Decompile Time: 409 ms + * Timestamp: 4/22/2024 2:04:58 AM +*******************************************************************/ + +//Function Number: 1 +hovertank_constructor() +{ + var_00 = "ht_engine_idle"; + var_01 = "ht_engine_noise"; + var_02 = "ht_engine_drive"; + var_03 = "ht_engine_synth"; + var_04 = "ht_turret_rotate"; + var_05 = "ht_turret_grind"; + var_06 = "ht_turret_tilt"; + var_07 = "ht_thruster"; + var_08 = "ht_repulsor_front_left"; + var_09 = "ht_repulsor_front_right"; + var_0A = "ht_repulsor_back_left"; + var_0B = "ht_repulsor_back_right"; + var_0C = "ht_uprighting"; + var_0D = "ht_engine_autoyaw"; + var_0E = "ht_turret_start"; + var_0F = "ht_turret_stop"; + soundscripts\_audio_vehicle_manager::avm_begin_preset_def("hovertank",::hovertank_init); + soundscripts\_audio_vehicle_manager::avm_add_envelope("ht_drive_throt2vol",[[0,0.05],[0.5,0.2],[0.75,0.5],[0.85,0.6],[1,0.35]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("ht_drive_throt2pch",[[0,0.75],[0.55,1],[1,1.5]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("ht_rumble_throt2vol",[[0,0.3],[0.3,0.6],[1,0.35]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("ht_rumble_throt2pch",[[0,1],[1,1.2]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("ht_noise_throt2vol",[[0,0],[0.5,0.1],[1,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("ht_synth_throt2vol",[[0,0],[0.3,0.02],[0.4,0.1],[0.7,0.4],[1,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("ht_synth_throt2pch",[[0,0.75],[0.75,1],[1,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("ht_repulsor2vol",[[0,0],[0.23,1],[0.25,0.1],[1,0]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("ht_repulsor2pch",[[0,1],[1,1.2]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("ht_uprighting2vol",[[0,0],[0.01,0.01],[0.02,0.04],[0.025,0.09],[0.04,0.18],[0.06,0.5],[0.1,0.9],[1,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("ht_uprighting2pch",[[0,0.6],[0.025,1],[1,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("ht_autoyaw2vol",[[0,0],[0.15,0.1],[0.25,0.75],[1,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("ht_autoyaw2pch",[[0,0.75],[0.4,1],[1,1.25]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("ht_turret_rotate_yaw2vol",[[0,0],[0.0523,0.6545],[1,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("ht_turret_rotate_yaw2pch",[[0,0.85],[0.1,0.95],[1,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("ht_turret_grind_yaw2vol",[[0,0],[0.1,0.35],[1,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("ht_turret_grind_yaw2pch",[[0,0.95],[1,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("ht_turret_pitch_pch2vol",[[0,0],[0.1,0.3],[1,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("ht_turret_pitch_pch2pch",[[0,0.95],[1,1]]); + soundscripts\_audio_vehicle_manager::avm_begin_loop_data(3); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def(var_00); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("hovertank_throttle_magnitude",0.2,0.06); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","ht_rumble_throt2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","ht_rumble_throt2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def(var_02); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("hovertank_throttle_magnitude",0.15,0.03); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","ht_drive_throt2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","ht_drive_throt2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def(var_01); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("hovertank_throttle_magnitude",0.02,0.2); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","ht_noise_throt2vol"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def(var_03); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("hovertank_throttle_magnitude",0.05,0.15); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","ht_synth_throt2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","ht_synth_throt2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def(var_08); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("hovertank_repulsor_front_left",0.75,0.75); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","ht_repulsor2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","ht_repulsor2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def(var_09); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("hovertank_repulsor_front_right",0.75,0.75); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","ht_repulsor2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","ht_repulsor2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def(var_0A); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("hovertank_repulsor_back_left",0.75,0.75); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","ht_repulsor2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","ht_repulsor2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def(var_0B); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("hovertank_repulsor_back_right",0.75,0.75); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","ht_repulsor2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","ht_repulsor2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def(var_0C); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("hovertank_uprighting",0.6,0.09); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","ht_uprighting2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","ht_uprighting2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def(var_0D); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("hovertank_auto_yaw_magnitude",0.3,0.1); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","ht_autoyaw2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","ht_autoyaw2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def(var_04); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("hovertank_turret_yaw",0.6,0.7); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","ht_turret_rotate_yaw2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","ht_turret_rotate_yaw2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def(var_05); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("hovertank_turret_yaw",0.4,0.4); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","ht_turret_grind_yaw2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","ht_turret_grind_yaw2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_end_loop_data(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_data(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def(var_07); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def(var_0E); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("ht_turret_stop","ht_turret_stop_duck_envelope",0.25); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_data(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_data(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_off",::ht_condition_callback_to_state_off,["hovertank_throttle_magnitude"]); + soundscripts\_audio_vehicle_manager::avm_add_loops("NONE"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_idle",::ht_condition_callback_to_state_idle,["hovertank_throttle_magnitude"]); + soundscripts\_audio_vehicle_manager::avm_add_loops("ALL"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_moving",::ht_condition_callback_to_state_moving,["hovertank_throttle_magnitude"]); + soundscripts\_audio_vehicle_manager::avm_add_loops("ALL"); + soundscripts\_audio_vehicle_manager::avm_add_oneshots(var_07); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_destruct",::ht_condition_callback_to_state_destruct); + soundscripts\_audio_vehicle_manager::avm_add_loops("NONE"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_turret_state_off",::ht_turret_condition_callback_to_state_off,["hovertank_turret_yaw"]); + soundscripts\_audio_vehicle_manager::avm_add_loops("NONE"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_stationary",::ht_turret_condition_callback_to_state_stationary,["hovertank_turret_yaw"]); + soundscripts\_audio_vehicle_manager::avm_add_loops("ALL"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_rotating",::ht_turret_condition_callback_to_state_rotating,["hovertank_turret_yaw"]); + soundscripts\_audio_vehicle_manager::avm_add_loops("ALL"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_turret_state_destruct",::ht_turret_condition_callback_to_state_destruct); + soundscripts\_audio_vehicle_manager::avm_add_loops("NONE"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_end_behavior_data(); + soundscripts\_audio_vehicle_manager::avm_begin_state_data(0.05,50); + soundscripts\_audio_vehicle_manager::avm_begin_state_group("test_state_group","state_off","to_state_off",50,1); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_off"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_idle","to_state_idle"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_destruct","to_state_destruct"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_idle"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_moving","to_state_moving"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_destruct","to_state_destruct"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_moving"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_idle","to_state_idle"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_destruct","to_state_destruct"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_destruct"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_off","to_state_off"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_end_state_group(); + soundscripts\_audio_vehicle_manager::avm_begin_state_group("ht_turret","turret_state_off","to_turret_state_off",50,0.25); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("turret_state_off"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_stationary","to_state_stationary"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("turret_state_destruct","to_turret_state_destruct"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_stationary"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_rotating","to_state_rotating"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("turret_state_destruct","to_turret_state_destruct"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_rotating"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_stationary","to_state_stationary"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("turret_state_destruct","to_turret_state_destruct"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("turret_state_destruct"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("turret_state_off","to_turret_state_off"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_end_state_group(); + soundscripts\_audio_vehicle_manager::avm_end_state_data(); + soundscripts\_audio_vehicle_manager::avm_end_preset_def(); +} + +//Function Number: 2 +hovertank_init(param_00) +{ + soundscripts\_snd::snd_register_message("hovertank_missile_small_start",::hovertank_missile_small_start); + soundscripts\_snd::snd_register_message("hovertank_missile_small_stop",::hovertank_missile_small_stop); + soundscripts\_snd::snd_register_message("hovertank_missile_small_slow",::hovertank_missile_small_slow); + soundscripts\_snd::snd_register_message("hovertank_cannon_fire",::hovertank_cannon_fire); + soundscripts\_snd::snd_register_message("hovertank_antiair_fire",::hovertank_antiair_fire); + soundscripts\_snd::snd_register_message("hovertank_switch_to_emp",::hovertank_switch_to_emp); + soundscripts\_snd::snd_register_message("hovertank_switch_to_cannon",::hovertank_switch_to_cannon); + soundscripts\_snd::snd_register_message("hovertank_switch_to_missile",::hovertank_switch_to_missile); + soundscripts\_snd::snd_register_message("hovertank_antiair_recoil",::hovertank_antiair_recoil); + soundscripts\_snd::snd_register_message("hovertank_barrel_turn",::hovertank_barrel_turn); + soundscripts\_snd::snd_register_message("ht_cannon_reload",::ht_cannon_reload); + soundscripts\_snd::snd_register_message("hovertank_trophy_system",::hovertank_trophy_system); + soundscripts\_snd::snd_register_message("defenseless_tank_impact",::defenseless_tank_impact); + var_01 = self; + var_02 = var_01 soundscripts\_audio_vehicle_manager::avmx_get_vehicle_entity(); + var_02 thread monitor_tank_health(); +} + +//Function Number: 3 +hovertank_missile_small_start() +{ + level endon("hovertank_end"); + wait(0.1); + soundscripts\_audio::deprecated_aud_play_2d_sound("ht_missile_one_shot"); + soundscripts\_audio::deprecated_aud_play_linked_sound("ht_missile_start",level.player,"loop","notify_hovertank_missile_small_stop_loop",undefined,undefined,undefined,0.1); + var_00 = "ht_missile_tail"; + var_01 = "level_notify_kill_missile_tail_fast"; + while(level.gun_state == "full_loop") + { + thread play_missile_whoosh_thread(var_00,var_01); + wait(randomfloatrange(0.08,0.4)); + } + + level notify(var_01); +} + +//Function Number: 4 +hovertank_missile_small_slow() +{ + level endon("hovertank_end"); + wait(0.1); + level notify("notify_hovertank_missile_small_stop_loop"); + soundscripts\_audio::deprecated_aud_play_2d_sound("ht_missile_reload"); + soundscripts\_audio::deprecated_aud_play_linked_sound("ht_missile_slow",level.player,"loop","notify_hovertank_missile_small_stop_loop",undefined,undefined,undefined,0.1); + var_00 = "ht_missile_tail"; + var_01 = "level_notify_kill_missile_tail_slow"; + while(level.gun_state == "slow_loop") + { + thread play_missile_whoosh_thread(var_00,var_01); + wait(randomfloatrange(0.1,0.7)); + } + + level notify(var_01); +} + +//Function Number: 5 +hovertank_missile_small_stop() +{ + level notify("notify_hovertank_missile_small_stop_loop"); + soundscripts\_audio::deprecated_aud_play_2d_sound("ht_missile_recoil"); +} + +//Function Number: 6 +play_missile_whoosh_thread(param_00,param_01) +{ + level endon("hovertank_end"); + var_02 = spawn("script_origin",level.player.origin); + var_02 soundscripts\_snd_playsound::snd_play(param_00,"sounddone"); + var_02 thread monitor_missile_snd_ent("sounddone"); + var_02 thread monitor_missile_fire_done(param_01); + var_02 waittill("notify_kill_missile_tail_snd_ent"); + if(isdefined(var_02)) + { + var_03 = 0.5; + var_02 scalevolume(0,var_03); + wait(var_03); + if(isdefined(var_02)) + { + var_02 soundscripts\_snd_playsound::snd_stop_sound(); + var_02 delete(); + } + } +} + +//Function Number: 7 +monitor_missile_snd_ent(param_00) +{ + var_01 = self; + var_01 endon("notify_kill_missile_tail_snd_ent"); + var_01 waittill(param_00); + var_01 notify("notify_kill_missile_tail_snd_ent"); +} + +//Function Number: 8 +monitor_missile_fire_done(param_00) +{ + var_01 = self; + var_01 endon("notify_kill_missile_tail_snd_ent"); + level waittill(param_00); + var_01 notify("notify_kill_missile_tail_snd_ent"); +} + +//Function Number: 9 +hovertank_cannon_fire() +{ + soundscripts\_audio::deprecated_aud_play_2d_sound("ht_cannon_fire"); +} + +//Function Number: 10 +hovertank_antiair_fire() +{ + soundscripts\_audio::deprecated_aud_play_2d_sound("ht_antiair_fire"); +} + +//Function Number: 11 +hovertank_barrel_turn() +{ + soundscripts\_audio::deprecated_aud_play_2d_sound("ht_barrel_turn"); +} + +//Function Number: 12 +hovertank_antiair_recoil() +{ + soundscripts\_audio::deprecated_aud_play_2d_sound("ht_antiair_recoil"); +} + +//Function Number: 13 +hovertank_switch_to_emp() +{ + soundscripts\_audio::deprecated_aud_play_2d_sound("ht_barrel_swch2emp"); +} + +//Function Number: 14 +hovertank_switch_to_cannon() +{ + soundscripts\_audio::deprecated_aud_play_2d_sound("ht_barrel_swch2cannon"); +} + +//Function Number: 15 +hovertank_switch_to_missile() +{ + soundscripts\_audio::deprecated_aud_play_2d_sound("ht_missile_equip"); +} + +//Function Number: 16 +ht_cannon_reload() +{ + var_00 = soundscripts\_audio::deprecated_aud_play_2d_sound("ht_cannon_reload"); + level waittill("kill_reload_sound"); + soundscripts\_audio::deprecated_aud_play_2d_sound("ht_cannon_reload_stop"); + if(isdefined(var_00)) + { + var_00 scalevolume(0,0.1); + } +} + +//Function Number: 17 +monitor_tank_health() +{ + var_00 = self; + var_01 = var_00.health; + var_02 = undefined; + while(isdefined(var_00)) + { + var_03 = var_00.health; + if(!isdefined(var_02) && var_03 <= 23000) + { + var_02 = spawn("script_origin",level.player.origin); + soundscripts\_snd_playsound::snd_play_loop("ht_damage_alarm"); + level waittill("hovertank_end"); + soundscripts\_audio::aud_fade_out_and_delete(var_02,0.25); + break; + } + + var_01 = var_03; + wait(0.5); + } +} + +//Function Number: 18 +hovertank_trophy_system(param_00) +{ + soundscripts\_audio::deprecated_aud_play_2d_sound("ht_trophy_shot"); + soundscripts\_audio::deprecated_aud_play_sound_at("ht_trophy_intercept",param_00.origin); +} + +//Function Number: 19 +defenseless_tank_impact() +{ + soundscripts\_audio::deprecated_aud_play_2d_sound("ht_trophy_empty_hit"); +} + +//Function Number: 20 +ht_condition_callback_to_state_off(param_00,param_01) +{ + return 0; +} + +//Function Number: 21 +ht_condition_callback_to_state_idle(param_00,param_01) +{ + var_02 = 0; + var_03 = param_00["hovertank_throttle_magnitude"]; + if(!isdefined(param_01.prev_throttle)) + { + param_01.prev_throttle = var_03; + var_02 = 1; + } + else if(param_01.prev_throttle > 0.001 && var_03 <= 0.001) + { + param_01.prev_throttle = var_03; + var_02 = 1; + } + + return var_02; +} + +//Function Number: 22 +ht_condition_callback_to_state_moving(param_00,param_01) +{ + var_02 = 0; + var_03 = param_00["hovertank_throttle_magnitude"]; + if(isdefined(param_01.prev_throttle) && param_01.prev_throttle <= 0.001 && var_03 > 0.001) + { + var_02 = 1; + } + + param_01.prev_throttle = var_03; + return var_02; +} + +//Function Number: 23 +ht_condition_callback_to_state_destruct(param_00,param_01) +{ + return 0; +} + +//Function Number: 24 +ht_turret_condition_callback_to_state_off(param_00,param_01) +{ + return 0; +} + +//Function Number: 25 +ht_turret_condition_callback_to_state_stationary(param_00,param_01) +{ + var_02 = 0; + var_03 = param_00["hovertank_turret_yaw"]; + if(!isdefined(param_01.prev_turret_state)) + { + param_01.prev_turret_state = var_03; + var_02 = 1; + } + else if(param_01.prev_turret_state > 0.001 && var_03 <= 0.001) + { + param_01.prev_turret_state = var_03; + var_02 = 1; + } + + return var_02; +} + +//Function Number: 26 +ht_turret_condition_callback_to_state_rotating(param_00,param_01) +{ + var_02 = 0; + var_03 = param_00["hovertank_turret_yaw"]; + if(!isdefined(param_01.prev_turret_state)) + { + param_01.prev_turret_state = var_03; + } + else if(param_01.prev_turret_state <= 0.001 && var_03 > 0.001) + { + param_01.prev_turret_state = var_03; + var_02 = 1; + } + + return var_02; +} + +//Function Number: 27 +ht_turret_condition_callback_to_state_destruct(param_00,param_01) +{ + return 0; +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_ind_semi_truck_fuel_tanker.gsc b/AW/PC/vehicle_scripts/_ind_semi_truck_fuel_tanker.gsc new file mode 100644 index 0000000..6ad34e7 --- /dev/null +++ b/AW/PC/vehicle_scripts/_ind_semi_truck_fuel_tanker.gsc @@ -0,0 +1,46 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _ind_semi_truck_fuel_tanker.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 4 + * Decompile Time: 67 ms + * Timestamp: 4/22/2024 2:04:58 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + maps\_vehicle::build_template("ind_semi_truck_fuel_tanker",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_drive(%technical_driving_idle_forward,%technical_driving_idle_backward,10); + maps\_vehicle::build_treadfx(param_02,"default","vfx/treadfx/tread_dust_default"); + maps\_vehicle::build_life(999,500,1500); + maps\_vehicle::build_team("allies"); + maps\_vehicle::build_aianims(::setanims,::set_vehicle_anims); + maps\_vehicle::build_light(param_02,"headlight_left","tag_headlight_left","vfx/lights/veh_default_front_signal_light_l","headlights"); + maps\_vehicle::build_light(param_02,"headlight_right","tag_headlight_right","vfx/lights/veh_default_front_signal_light_r","headlights"); + maps\_vehicle::build_light(param_02,"taillight_right","tag_brakelight_right","vfx/lights/veh_default_tail_light_r","taillights"); + maps\_vehicle::build_light(param_02,"taillight_left","tag_brakelight_left","vfx/lights/veh_default_tail_light_l","taillights"); + maps\_vehicle::build_deathfx("vfx/explosion/vehicle_generic_ai_explo_lrg_runner","TAG_DEATH_FX",undefined,undefined,undefined,undefined,0); +} + +//Function Number: 2 +init_local() +{ + soundscripts\_snd::snd_message("atlas_van_explode"); +} + +//Function Number: 3 +set_vehicle_anims(param_00) +{ + return param_00; +} + +//Function Number: 4 +setanims() +{ + var_00 = []; + return var_00; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_jetbike.gsc b/AW/PC/vehicle_scripts/_jetbike.gsc new file mode 100644 index 0000000..521edb0 --- /dev/null +++ b/AW/PC/vehicle_scripts/_jetbike.gsc @@ -0,0 +1,1254 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _jetbike.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 53 + * Decompile Time: 782 ms + * Timestamp: 4/22/2024 2:05:01 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + maps\_vehicle::build_template("jetbike",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_deathmodel("vehicle_mil_hoverbike_ai"); + maps\_vehicle::build_deathfx("fx/explosions/large_vehicle_explosion",undefined,"explo_metal_rand"); + maps\_vehicle::build_life(999,500,1500); + if(issubstr(param_02,"slow")) + { + maps\_vehicle::build_aianims(::setanims_slow,::set_vehicle_anims_slow); + } + else + { + maps\_vehicle::build_aianims(::setanims,::set_vehicle_anims); + } + + maps\_vehicle::build_team("allies"); + maps\_vehicle::build_death_jolt_delay(9999); + if(!isdefined(level.jetbike_anims_initialized)) + { + setup_worldhands_anims(); + setup_player_driving_anims(); + level.jetbike_anims_initialized = 1; + } + + precachemodel("vehicle_mil_hoverbike_vm"); + precachemodel("vehicle_mil_hoverbike_ai"); + precachemodel("vehicle_mil_hoverbike_ai_obj"); + if(level.nextgen) + { + precacheshader("m/mtl_hoverbike_screen_ui_01"); + precacheshader("m/mtl_hoverbike_screen_ui_02"); + precacheshader("m/mtl_hoverbike_screen_ui_03"); + precacheshader("m/mtl_hoverbike_screen_ui_04"); + precacheshader("m/mtl_mil_hoverbike_screens_off"); + } + else + { + precacheshader("mq/mtl_hoverbike_screen_ui_01"); + precacheshader("mq/mtl_hoverbike_screen_ui_02"); + precacheshader("mq/mtl_hoverbike_screen_ui_03"); + precacheshader("mq/mtl_hoverbike_screen_ui_04"); + precacheshader("mq/mtl_mil_hoverbike_screens_off"); + } + + level._effect["hoverbike_pads_idle"] = loadfx("vfx/vehicle/hoverbike_pads_idle"); + level._effect["hoverbike_pads_slow"] = loadfx("vfx/vehicle/hoverbike_pads_slow"); + level._effect["hoverbike_pads_fast"] = loadfx("vfx/vehicle/hoverbike_pads_fast"); + level._effect["hoverbike_exhaust_idle"] = loadfx("vfx/vehicle/hoverbike_exhaust_idle"); + level._effect["hoverbike_exhaust_slow"] = loadfx("vfx/vehicle/hoverbike_exhaust_slow"); + level._effect["hoverbike_exhaust_fast"] = loadfx("vfx/vehicle/hoverbike_exhaust_fast"); + level._effect["hoverbike_tread_water_idle"] = loadfx("vfx/treadfx/hoverbike_tread_water_idle"); + level._effect["hoverbike_tread_water_slow"] = loadfx("vfx/treadfx/hoverbike_tread_water_slow"); + level._effect["hoverbike_tread_water_fast"] = loadfx("vfx/treadfx/hoverbike_tread_water_fast"); + level._effect["hoverbike_tread_asphalt_idle"] = loadfx("vfx/treadfx/hoverbike_tread_asphalt_idle"); + level._effect["hoverbike_tread_asphalt_slow"] = loadfx("vfx/treadfx/hoverbike_tread_asphalt_slow"); + level._effect["hoverbike_tread_asphalt_fast"] = loadfx("vfx/treadfx/hoverbike_tread_asphalt_fast"); +} + +//Function Number: 2 +jetbike_allow_player_use(param_00) +{ + self makeunusable(); + var_01 = common_scripts\utility::spawn_tag_origin(); + var_01 linkto(self,"tag_origin",(0,0,64),(0,0,0)); + var_01 sethintstring(&"DETROIT_PROMPT_USE"); + var_01 makeusable(); + var_01 waittill("trigger"); + var_01 delete(); + thread jetbike_allow_player_use_internal(param_00); +} + +//Function Number: 3 +jetbike_blend_out_fake_speed(param_00) +{ + self.blend_out_fake_speed_start_ms = gettime(); + self.blend_out_fake_speed_blend_ms = param_00 * 1000; +} + +//Function Number: 4 +jetbike_stop_player_use() +{ + stop_jetbike_handle_viewmodel_anims(); + self notify("player_dismount"); + level.player dismountvehicle(); + self detach(level.scr_model["world_body"],"tag_driver"); +} + +//Function Number: 5 +jetbike_speedometer_on() +{ + thread jetbike_speedometer_on_thread(); +} + +//Function Number: 6 +jetbike_speedometer_on_thread() +{ + setomnvar("ui_hoverbike",1); + wait(0.2); + level.player setclientomnvar("ui_hoverbike_bootup",1); + wait(0.2); + if(level.nextgen) + { + self overridematerial("m/mtl_mil_hoverbike_screen_center_off","m/mtl_hoverbike_screen_ui_01"); + self overridematerial("m/mtl_mil_hoverbike_screen_right_off","m/mtl_hoverbike_screen_ui_02"); + self overridematerial("m/mtl_mil_hoverbike_screen_top_off","m/mtl_hoverbike_screen_ui_03"); + self overridematerial("m/mtl_mil_hoverbike_lights_off","m/mtl_hoverbike_screen_ui_04"); + } + else + { + self overridematerial("mq/mtl_mil_hoverbike_screen_center_off","mq/mtl_hoverbike_screen_ui_01"); + self overridematerial("mq/mtl_mil_hoverbike_screen_right_off","mq/mtl_hoverbike_screen_ui_02"); + self overridematerial("mq/mtl_mil_hoverbike_screen_top_off","mq/mtl_hoverbike_screen_ui_03"); + self overridematerial("mq/mtl_mil_hoverbike_lights_off","mq/mtl_hoverbike_screen_ui_04"); + } + + thread jetbike_speedometer_think(); +} + +//Function Number: 7 +jetbike_speedometer_off() +{ + self notify("jetbike_speedometer_off"); + level.player setclientomnvar("ui_hoverbike_bootup",0); + setomnvar("ui_hoverbike",0); + self overridematerialreset(); +} + +//Function Number: 8 +jetbike_speedometer_think() +{ + self endon("jetbike_speedometer_off"); + for(;;) + { + waittillframeend; + if(isdefined(self.fakespeed)) + { + var_00 = self.fakespeed; + } + else + { + var_00 = maps\_shg_utility::get_differentiated_speed() / 17.6; + } + + var_00 = var_00 * 1.396825; + var_01 = int(clamp(abs(var_00),0,100)); + level.player setclientomnvar("ui_hoverbike_speed",var_01); + wait 0.05; + } +} + +//Function Number: 9 +create_anim_ent_for_my_position(param_00) +{ + if(isstring(param_00)) + { + param_00 = maps\_utility::getanim(param_00); + } + + var_01 = getstartorigin((0,0,0),(0,0,0),param_00); + var_02 = getstartangles((0,0,0),(0,0,0),param_00); + var_03 = transformmove(self.origin,self.angles,var_01,var_02,(0,0,0),(0,0,0)); + var_04 = spawnstruct(); + var_04.origin = var_03["origin"]; + var_04.angles = var_03["angles"]; + return var_04; +} + +//Function Number: 10 +smooth_vehicle_animation_wait(param_00,param_01,param_02,param_03,param_04) +{ + var_05 = param_00 maps\_utility::getanim(param_02); + var_06 = getstartorigin(param_01.origin,param_01.angles,var_05); + var_07 = getstartangles(param_01.origin,param_01.angles,var_05); + if(isdefined(param_04)) + { + } + else + { + param_04 = 1; + } + + var_08 = param_00.origin + var_06 - param_00.origin * param_04; + param_00 vehicledriveto(var_08,param_03); + var_09 = var_06 - param_00.origin; + var_0A = vectordot(var_09,var_06 - param_00.origin); + var_0B = param_00 vehicle_getspeed(); + if(vectordot(vectornormalize(var_09),anglestoforward(param_00.angles)) > cos(75)) + { + for(;;) + { + var_0C = vectordot(var_09,var_06 - param_00.origin); + if(var_0C <= 0) + { + break; + } + + var_0D = maps\_utility::linear_interpolate(var_0C / var_0A,param_03,var_0B); + param_00 vehicledriveto(var_08,var_0D); + wait(0.05); + } + } +} + +//Function Number: 11 +smooth_vehicle_animation_play(param_00,param_01,param_02,param_03,param_04,param_05) +{ + if(!isdefined(param_03)) + { + param_03 = []; + } + + if(!isdefined(param_04)) + { + param_04 = 0; + } + + if(!isdefined(param_05)) + { + param_05 = 2; + } + + var_06 = param_05 * 0.5; + var_07 = param_00 maps\_utility::getanim(param_02); + var_08 = getstartorigin(param_01.origin,param_01.angles,var_07); + var_09 = getstartangles(param_01.origin,param_01.angles,var_07); + var_0A = transformmove(param_00.origin,param_00.angles,var_08,var_09,param_01.origin,param_01.angles); + var_0B = level common_scripts\utility::spawn_tag_origin(); + var_0B.origin = var_0A["origin"]; + var_0B.angles = var_0A["angles"]; + var_0C = level common_scripts\utility::spawn_tag_origin(); + var_0C.origin = param_00.origin; + var_0C.angles = param_00.angles; + param_00 linkto(var_0B,"tag_origin"); + foreach(var_0E in param_03) + { + var_0E linkto(var_0B,"tag_origin"); + } + + var_0B linkto(var_0C,"tag_origin"); + var_0C moveto(var_08,param_05,param_05 * 0.3,param_05 * 0.3); + var_0C rotateto(var_09,var_06,var_06 * 0.3,var_06 * 0.3); + var_10 = getanimlength(var_07); + if(param_04) + { + var_0B maps\_utility::delaythread(var_10 - 0.05,::maps\_anim::anim_set_rate,[param_00],param_02,0); + } + + foreach(var_0E in param_03) + { + } + + var_0B thread maps\_anim::anim_single_solo(param_00,param_02,"tag_origin"); + var_0B thread maps\_anim::anim_single(param_03,param_02,"tag_origin"); + wait(var_10); + foreach(var_0E in param_03) + { + if(isdefined(var_0E)) + { + var_0E unlink(); + } + } + + if(!param_04) + { + param_00 unlink(); + var_0B delete(); + var_0C delete(); + } +} + +//Function Number: 12 +jetbike_allow_player_use_internal(param_00) +{ + level.player maps\_shg_utility::setup_player_for_scene(1); + var_01 = maps\_utility::spawn_anim_model("world_body"); + var_01 hide(); + var_02 = 0.5; + level.player playerlinktoblend(var_01,"tag_player",var_02,var_02 * 0.3,var_02 * 0.3); + level.player common_scripts\utility::delaycall(var_02,::playerlinktodelta,var_01,"tag_player",1,20,20,10,10,1); + var_03 = 1; + var_04 = getanimlength(var_01 maps\_utility::getanim("mount_jetbike")); + level.player common_scripts\utility::delaycall(var_04 - var_03,::lerpviewangleclamp,var_03,var_03 * 0.5,var_03 * 0.5,0,0,0,0); + var_01 common_scripts\utility::delaycall(var_02,::show); + var_05 = [var_01,self]; + if(!isdefined(param_00)) + { + param_00 = maps\_utility::getanim("mount_jetbike"); + } + + var_06 = create_anim_ent_for_my_position(param_00); + var_06 maps\_anim::anim_single(var_05,"mount_jetbike"); + var_01 delete(); + self attach(level.scr_model["world_body"],"tag_driver"); + level.player.attackeraccuracy = 0; + self stopanimscripted(); + level.player mountvehicle(self); + level.player.drivingvehicle = self; + self vehicle_jetbikesethoverforcescale(1); + maps\_utility::ent_flag_set("jetbike_is_hovering"); + level.player enablemousesteer(1); + self returnplayercontrol(); + thread jetbike_player_think(); +} + +//Function Number: 13 +jetbike_handle_fake_speed() +{ + self endon("death"); + level.player endon("death"); + self endon("player_dismount"); + level endon("stop hovering player bike"); + self.boost_timer = 0; + var_00 = 5; + var_01 = 1; + var_02 = 20; + var_03 = 2; + var_04 = 0.5; + var_05 = 20; + var_06 = 5; + var_07 = 1; + var_08 = 1; + var_09 = 0; + var_0A = 0; + var_0B = 0; + var_0C = 0; + for(;;) + { + var_0D = 0; + var_0E = var_0D && !var_0A; + var_0A = var_0D; + if(!var_09 && var_0E && var_08 > 0) + { + var_09 = 1; + } + + if(var_09 && !var_0D) + { + var_09 = 0; + } + + if(var_09) + { + var_08 = var_08 - 0.05 / var_00; + } + else + { + var_08 = var_08 + 0.05 / var_01; + } + + if(var_08 < 0) + { + var_09 = 0; + } + + var_08 = clamp(var_08,0,1); + if(var_09) + { + var_0F = maps\_shg_utility::linear_map_clamp(self vehicle_getspeed(),15,65,3,1); + self.boost_timer = self.boost_timer + 0.05; + var_0B = var_0B + 0.05 / var_03; + self vehicle_jetbikesetthrustscale(var_0F); + self vehicle_jetbikesethoverforcescale(0.75); + } + else + { + self.boost_timer = 0; + var_0B = var_0B - 0.05 / var_04; + self vehicle_jetbikesetthrustscale(1); + self vehicle_jetbikesethoverforcescale(1); + } + + if(level.player getnormalizedmovement()[0] > 0.75) + { + var_0C = var_0C + 0.05 / var_06; + } + else + { + var_0C = var_0C - 0.05 / var_07; + } + + var_0B = clamp(var_0B,0,1); + var_0C = clamp(var_0C,0,1); + var_10 = self vehicle_getspeed() + var_0B * var_02 + var_0C * var_05; + vehicle_set_fake_speed(var_10); + wait(0.05); + } +} + +//Function Number: 14 +vehicle_set_fake_speed(param_00) +{ + if(param_00 == 0) + { + self.fakespeed = undefined; + } + else + { + self.fakespeed = param_00; + } + + if(isdefined(self.blend_out_fake_speed_start_ms)) + { + var_01 = gettime() - self.blend_out_fake_speed_start_ms; + var_02 = maps\_shg_utility::linear_map_clamp(var_01,0,self.blend_out_fake_speed_blend_ms,1,0.0001); + } + else + { + var_02 = 1; + } + + self vehicle_setfakespeed(param_00 * var_02); +} + +//Function Number: 15 +jetbike_handle_viewmodel_anims() +{ + self endon("death"); + self endon("stop_jetbike_handle_viewmodel_anims"); + var_00 = 0.6; + var_01 = 0; + var_02 = 0.5; + var_03 = 0.7; + var_04 = 0.8; + var_05 = 0.1; + var_06 = 0.4; + var_07 = 0.1; + var_08 = 0; + var_09 = 0.35; + var_0A = 0.3; + var_0B = getanimlength(level.scr_anim["frankenbike_worldbody"]["jump_end"]) - var_0A; + var_0C = 0; + var_0D = 0; + var_0E = 0; + var_0F = 0; + var_10 = 0; + var_11 = 0; + var_12 = 0; + var_13 = 0; + var_14 = 0; + var_15 = 0; + var_16 = 0; + for(;;) + { + waittillframeend; + var_17 = 0 - level.player getnormalizedcameramovements()[1] * 1.007936; + var_13 = maps\_utility::linear_interpolate(var_03,var_17,var_13); + var_18 = var_13 - var_14 * 20; + var_14 = var_13; + var_15 = maps\_utility::linear_interpolate(var_04,var_18,var_15); + var_19 = clamp(var_13 - var_15 * var_01,-1,1); + var_1A = self vehicle_getspeed(); + if(isdefined(self.fakespeed)) + { + var_1A = self.fakespeed; + } + + var_1B = maps\_shg_utility::linear_map_clamp(var_1A,15,80,0,1); + var_1C = clamp(level.player getnormalizedmovement()[0] * 1.007936,0,1); + var_16 = maps\_utility::linear_interpolate(var_02,var_1C,var_16); + var_1D = var_16; + var_1E = clamp(1 - max(var_1B,var_1D),0,1); + var_1F = var_1B; + var_20 = self vehicle_jetbikegettotalrepulsorfraction() > 1.7; + var_21 = self vehicle_jetbikegettotalrepulsorfraction() < 0.7; + var_22 = 0; + var_23 = 0; + if(var_21) + { + var_0D = var_0D + 0.05; + var_0E = 0; + } + else + { + var_0D = 0; + var_0E = var_0E + 0.05; + } + + if(var_20) + { + var_0C = var_0C + 0.05; + } + else + { + var_0C = 0; + } + + if(!var_10 && !var_11 && var_0C > var_05) + { + soundscripts\_snd::snd_message("jetbike_hit_ramp"); + var_10 = 1; + var_22 = 1; + } + + if(!var_10 && !var_11 && !var_20 && var_0D > var_09) + { + soundscripts\_snd::snd_message("jetbike_hit_cliff"); + var_10 = 1; + var_23 = 1; + var_0F = var_06; + } + + if(var_10 && var_0F > var_06 && var_0C > var_08) + { + soundscripts\_snd::snd_message("jetbike_hit_landing"); + var_10 = 0; + var_11 = 1; + } + + if(var_10 && var_0F > var_06 && var_0E > var_07) + { + soundscripts\_snd::snd_message("jetbike_soft_landing"); + var_10 = 0; + } + + if(var_12 > var_0B) + { + soundscripts\_snd::snd_message("jetbike_landing_finished"); + var_11 = 0; + } + + if(var_10) + { + var_0F = var_0F + 0.05; + } + else + { + var_0F = 0; + } + + if(var_11) + { + var_12 = var_12 + 0.05; + } + else + { + var_12 = 0; + } + + if(isdefined(self.blend_out_fake_speed_start_ms)) + { + var_24 = gettime() - self.blend_out_fake_speed_start_ms; + var_25 = maps\_shg_utility::linear_map_clamp(var_24,0,self.blend_out_fake_speed_blend_ms,1,0); + var_10 = 0; + var_22 = 0; + var_23 = 0; + var_11 = 0; + var_1E = maps\_utility::linear_interpolate(var_25,0,var_1E); + var_26 = maps\_utility::linear_interpolate(var_25,0,var_19); + var_1F = maps\_utility::linear_interpolate(var_25,1,var_1F); + var_0A = 0; + } + + jetbike_set_viewmodel_state(var_10,var_22,var_23,var_11,var_1E,var_19,var_1F,var_0A); + wait(0.05); + } +} + +//Function Number: 16 +stop_jetbike_handle_viewmodel_anims() +{ + self notify("stop_jetbike_handle_viewmodel_anims"); + foreach(var_01 in ["frankenbike_jetbike","frankenbike_worldbody"]) + { + self clearanim(level.scr_anim[var_01]["branch"],0.2); + } +} + +//Function Number: 17 +getanimtimeseconds(param_00) +{ + return self getanimtime(param_00) * getanimlength(param_00); +} + +//Function Number: 18 +getanimtimeremainingseconds(param_00) +{ + return 1 - self getanimtime(param_00) * getanimlength(param_00); +} + +//Function Number: 19 +jetbike_set_viewmodel_state(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) +{ + var_08 = 0.2; + var_09 = 0.2; + var_0A = 1; + var_0B = 0.2; + var_0C = 0.05; + var_0D = clamp(param_05,0,1); + var_0E = clamp(0 - param_05,0,1); + var_0F = clamp(1 - abs(param_05),0,1); + foreach(var_11 in ["frankenbike_jetbike","frankenbike_worldbody"]) + { + self setanimlimited(level.scr_anim[var_11]["idle_slow_branch"],param_04,var_0C); + self setanimlimited(level.scr_anim[var_11]["idle_fast_branch"],1 - param_04,var_0C); + self setanimlimited(level.scr_anim[var_11]["idle_slow"],var_0F,var_0C); + self setanimlimited(level.scr_anim[var_11]["idle_slow_lt"],var_0D,var_0C); + self setanimlimited(level.scr_anim[var_11]["idle_slow_rt"],var_0E,var_0C); + self setanimlimited(level.scr_anim[var_11]["idle_fast_throttle"],1 - param_06,var_0C); + self setanimlimited(level.scr_anim[var_11]["idle_fast_direction_branch"],param_06,var_0C); + self setanimlimited(level.scr_anim[var_11]["idle_fast"],var_0F,var_0C); + self setanimlimited(level.scr_anim[var_11]["idle_fast_lt"],var_0D,var_0C); + self setanimlimited(level.scr_anim[var_11]["idle_fast_rt"],var_0E,var_0C); + if(param_00) + { + if(param_01) + { + self setanimknob(level.scr_anim[var_11]["jump_st"],1,var_08); + } + else if(param_02) + { + self setanimknob(level.scr_anim[var_11]["jump_loop"],1,var_0A); + } + else if(getanimtimeremainingseconds(level.scr_anim[var_11]["jump_st"]) < var_09) + { + self setanimknob(level.scr_anim[var_11]["jump_loop"],1,var_09); + } + + continue; + } + + if(param_03) + { + self setanimknob(level.scr_anim[var_11]["jump_end"],1,var_0B); + continue; + } + + self setanimknob(level.scr_anim[var_11]["idle_branch"],1,param_07); + } +} + +//Function Number: 20 +debug_tags() +{ + for(;;) + { + if(self gettagindex("tag_camera") != -1) + { + } + + wait 0.05; + } +} + +//Function Number: 21 +jetbike_dismount_riding_player() +{ + jetbike_stop_hovering(); + wait(1); + self setmodel("vehicle_mil_hoverbike_ai"); + var_00 = 0.5; + level.player lerpfov(65,var_00); + var_01 = level.player common_scripts\utility::spawn_tag_origin(); + level.player playerlinkto(var_01); + var_01 moveto(self gettagorigin("tag_detach"),var_00); + wait(var_00); + level.player unlink(); + level.player enableweapons(); + level.player allowcrouch(1); + self makeunusable(); +} + +//Function Number: 22 +jetbike_start_hovering() +{ + maps\_utility::ent_flag_set("jetbike_is_hovering"); + self vehicle_jetbikesethoverforcescale(0.6,0); + self vehicle_jetbikesethoverforcescale(1,1.5); + wait(1); +} + +//Function Number: 23 +jetbike_start_hovering_now() +{ + maps\_utility::ent_flag_set("jetbike_is_hovering"); + self vehicle_jetbikesethoverforcescale(1); +} + +//Function Number: 24 +jetbike_stop_hovering() +{ + maps\_utility::ent_flag_clear("jetbike_is_hovering"); + self vehicle_jetbikesethoverforcescale(0,5); +} + +//Function Number: 25 +jetbike_stop_hovering_now() +{ + maps\_utility::ent_flag_clear("jetbike_is_hovering"); + self vehicle_jetbikesethoverforcescale(0); +} + +//Function Number: 26 +jetbike_player_think() +{ + thread jetbike_handle_viewmodel_anims(); + thread jetbike_handle_fake_speed(); + self.saved_bg_viewbobmax = getdvarfloat("bg_viewBobMax"); + setsaveddvar("bg_viewBobMax",0); + thread vehicle_handle_debugfly(); + thread collision_watcher(); +} + +//Function Number: 27 +jetbike_stop_player_think() +{ + self notify("player_dismount"); + setsaveddvar("bg_viewBobMax",self.saved_bg_viewbobmax); +} + +//Function Number: 28 +jetbike_npc_load(param_00,param_01) +{ + param_01 vehicle_jetbikesethoverforcescale(0); + maps\_utility::guy_runtovehicle_load(param_00,param_01); + var_02 = 1; + param_01 vehicle_jetbikesethoverforcescale(0.75); + param_01 vehicle_jetbikesethoverforcescale(1,var_02); + maps\_utility::ent_flag_set("jetbike_is_hovering"); + wait(var_02); + param_01 thread stop_hovering_on_unload(); +} + +//Function Number: 29 +notify_wrapper(param_00) +{ + self notify(param_00); +} + +//Function Number: 30 +stop_hovering_on_unload() +{ + self endon("death"); + self waittill("unloading"); + self vehicle_jetbikesethoverforcescale(0,2); + maps\_utility::ent_flag_clear("jetbike_is_hovering"); +} + +//Function Number: 31 +init_local() +{ + maps\_utility::ent_flag_init("jetbike_is_hovering"); + thread jetbike_audio(); + thread jetbike_tread_fx(); + thread jetbike_thrust_fx(); +} + +//Function Number: 32 +jetbike_audio() +{ + self endon("death"); + var_00 = spawnstruct(); + var_00.player_mode = 0; + var_00.preset_name = "jetbike"; + var_01 = ::vehicle_scripts\_jetbike_aud::jetbike_constructor; + if(issubstr(self.classname,"jetbike_rail") || issubstr(self.classname,"jetbike_player")) + { + var_00.player_mode = 1; + } + + soundscripts\_snd::snd_message("snd_register_vehicle",var_00.preset_name,var_01); + var_02 = 3; + var_03 = 0; + for(;;) + { + maps\_utility::ent_flag_wait("jetbike_is_hovering"); + soundscripts\_snd::snd_message("snd_start_vehicle",var_00); + maps\_utility::ent_flag_waitopen("jetbike_is_hovering"); + soundscripts\_snd::snd_message("snd_stop_vehicle",var_02,var_03); + } +} + +//Function Number: 33 +jetbike_tread_fx() +{ + self endon("death"); + self notify("only_one_jetbike_tread_fx"); + self endon("only_one_jetbike_tread_fx"); + wait(randomfloat(0.3)); + for(;;) + { + maps\_utility::ent_flag_wait("jetbike_is_hovering"); + var_00 = self.origin + anglestoup(self.angles) * 32; + var_01 = self.origin + anglestoup(self.angles) * -32; + var_02 = bullettrace(var_00,var_01,0,self); + if(var_02["fraction"] < 1 && var_02["fraction"] > 0) + { + var_03 = var_02["position"]; + var_04 = var_02["normal"]; + var_05 = anglestoforward(self.angles); + var_06 = maps\_shg_utility::get_differentiated_speed() / 17.6; + switch(var_02["surfacetype"]) + { + case "water_waist": + if(var_06 < 1) + { + playfx(common_scripts\utility::getfx("hoverbike_tread_water_idle"),var_03,var_04,var_05); + } + else if(var_06 < 25) + { + playfx(common_scripts\utility::getfx("hoverbike_tread_water_slow"),var_03,var_04,var_05); + } + else + { + playfx(common_scripts\utility::getfx("hoverbike_tread_water_fast"),var_03,var_04,var_05); + } + break; + + case "asphalt_wet": + if(var_06 < 1) + { + playfx(common_scripts\utility::getfx("hoverbike_tread_asphalt_idle"),var_03,var_04,var_05); + } + else if(var_06 < 20) + { + playfx(common_scripts\utility::getfx("hoverbike_tread_asphalt_slow"),var_03,var_04,var_05); + } + else + { + playfx(common_scripts\utility::getfx("hoverbike_tread_asphalt_fast"),var_03,var_04,var_05); + } + break; + + default: + if(var_06 < 1) + { + playfx(common_scripts\utility::getfx("hoverbike_tread_asphalt_idle"),var_03,var_04,var_05); + } + else if(var_06 < 20) + { + playfx(common_scripts\utility::getfx("hoverbike_tread_asphalt_slow"),var_03,var_04,var_05); + } + else + { + playfx(common_scripts\utility::getfx("hoverbike_tread_asphalt_fast"),var_03,var_04,var_05); + } + break; + } + } + + if(maps\_vehicle_code::tread_wait() <= 0) + { + wait(0.1); + } + } +} + +//Function Number: 34 +jetbike_thrust_fx() +{ + thread jetbike_thrust_fx_internal("hoverbike_pads_","tag_pad_br"); + thread jetbike_thrust_fx_internal("hoverbike_pads_","tag_pad_fr"); + thread jetbike_thrust_fx_internal("hoverbike_pads_","tag_pad_fl"); + thread jetbike_thrust_fx_internal("hoverbike_exhaust_","tag_exhaust"); +} + +//Function Number: 35 +jetbike_thrust_fx_internal(param_00,param_01) +{ + self endon("death"); + wait(randomfloat(0.3)); + var_02 = undefined; + var_03 = undefined; + for(;;) + { + var_04 = undefined; + if(maps\_utility::ent_flag("jetbike_is_hovering")) + { + var_05 = maps\_shg_utility::get_differentiated_speed() / 17.6; + if(var_05 > 20) + { + var_04 = "fast"; + } + else if(var_05 > 1) + { + var_04 = "slow"; + } + else + { + var_04 = "idle"; + } + } + + if(!isdefined(var_04) || isdefined(var_03) && var_03 != var_04) + { + if(isdefined(var_02)) + { + maps\_shg_utility::kill_fx_with_handle(var_02); + var_02 = undefined; + } + + var_03 = undefined; + } + + if(isdefined(var_04) && !isdefined(var_03)) + { + var_02 = maps\_shg_utility::play_fx_with_handle(param_00 + var_04,self,param_01,1); + var_03 = var_04; + } + + if(!isdefined(var_03) && !maps\_utility::ent_flag("jetbike_is_hovering")) + { + maps\_utility::ent_flag_wait("jetbike_is_hovering"); + } + + wait(0.05); + } +} + +//Function Number: 36 +setanims_slow() +{ + return setanims(1); +} + +//Function Number: 37 +setanims(param_00) +{ + var_01[0] = spawnstruct(); + var_01[0].sittag = "tag_driver"; + var_01[0].getin = %hoverbike_mount_driver_dir1; + var_01[0].getout = %hoverbike_dismount_driver; + if(isdefined(param_00) && param_00) + { + var_01[0].idle = %hoverbike_driving_idle_guy1; + } + else + { + var_01[0].idle = %hoverbike_driving_idle_npc; + } + + var_01[0].aianim_simple["hoverbike_driving_flashlight_left_1"] = %hoverbike_driving_flashlight_left_guy1; + var_01[0].aianim_simple["hoverbike_driving_flashlight_left_2"] = %hoverbike_driving_flashlight_left_guy2; + var_01[0].aianim_simple["hoverbike_driving_flashlight_right_1"] = %hoverbike_driving_flashlight_right_guy1; + var_01[0].aianim_simple["hoverbike_driving_flashlight_right_2"] = %hoverbike_driving_flashlight_right_guy2; + var_01[0].aianim_simple["hoverbike_driving_gesture_lft_1"] = %hoverbike_driving_gesture_lft_guy1; + var_01[0].aianim_simple["hoverbike_driving_gesture_lft_2"] = %hoverbike_driving_gesture_lft_guy2; + var_01[0].aianim_simple["hoverbike_driving_gesture_rt_1"] = %hoverbike_driving_gesture_rt_guy1; + var_01[0].aianim_simple["hoverbike_driving_gesture_rt_2"] = %hoverbike_driving_gesture_rt_guy2; + var_01[0].aianim_simple["hoverbike_driving_idle_1"] = %hoverbike_driving_idle_guy1; + var_01[0].aianim_simple["hoverbike_driving_idle_2"] = %hoverbike_driving_idle_guy2; + var_01[0].aianim_simple["hoverbike_driving_lean_left_idle_1"] = %hoverbike_driving_lean_left_idle_guy1; + var_01[0].aianim_simple["hoverbike_driving_lean_left_idle_2"] = %hoverbike_driving_lean_left_idle_guy2; + var_01[0].aianim_simple["hoverbike_driving_lean_left_into_1"] = %hoverbike_driving_lean_left_into_guy1; + var_01[0].aianim_simple["hoverbike_driving_lean_left_into_2"] = %hoverbike_driving_lean_left_into_guy2; + var_01[0].aianim_simple["hoverbike_driving_lean_left_out_1"] = %hoverbike_driving_lean_left_out_guy1; + var_01[0].aianim_simple["hoverbike_driving_lean_left_out_2"] = %hoverbike_driving_lean_left_out_guy2; + var_01[0].aianim_simple["hoverbike_driving_lean_right_idle_1"] = %hoverbike_driving_lean_right_idle_guy1; + var_01[0].aianim_simple["hoverbike_driving_lean_right_idle_2"] = %hoverbike_driving_lean_right_idle_guy2; + var_01[0].aianim_simple["hoverbike_driving_lean_right_into_1"] = %hoverbike_driving_lean_right_into_guy1; + var_01[0].aianim_simple["hoverbike_driving_lean_right_into_2"] = %hoverbike_driving_lean_right_into_guy2; + var_01[0].aianim_simple["hoverbike_driving_lean_right_out_1"] = %hoverbike_driving_lean_right_out_guy1; + var_01[0].aianim_simple["hoverbike_driving_lean_right_out_2"] = %hoverbike_driving_lean_right_out_guy2; + var_01[0].aianim_simple["hoverbike_driving_look_over_lft_shoulder_1"] = %hoverbike_driving_look_over_lft_shoulder_guy1; + var_01[0].aianim_simple["hoverbike_driving_look_over_lft_shoulder_2"] = %hoverbike_driving_look_over_lft_shoulder_guy2; + var_01[0].aianim_simple["hoverbike_driving_look_over_rt_shoulder_1"] = %hoverbike_driving_look_over_rt_shoulder_guy1; + var_01[0].aianim_simple["hoverbike_driving_look_over_rt_shoulder_2"] = %hoverbike_driving_look_over_rt_shoulder_guy2; + return var_01; +} + +//Function Number: 38 +set_vehicle_anims_slow(param_00) +{ + return set_vehicle_anims(param_00,1); +} + +//Function Number: 39 +set_vehicle_anims(param_00,param_01) +{ + if(isdefined(param_01) && param_01) + { + param_00[0].vehicle_idle = %hoverbike_driving_idle_vehicle1; + } + else + { + param_00[0].vehicle_idle = %hoverbike_driving_idle_vehicle; + } + + param_00[0].aianim_simple_vehicle["hoverbike_driving_flashlight_left_1"] = %hoverbike_driving_flashlight_left_vehicle1; + param_00[0].aianim_simple_vehicle["hoverbike_driving_flashlight_left_2"] = %hoverbike_driving_flashlight_left_vehicle2; + param_00[0].aianim_simple_vehicle["hoverbike_driving_flashlight_right_1"] = %hoverbike_driving_flashlight_right_vehicle1; + param_00[0].aianim_simple_vehicle["hoverbike_driving_flashlight_right_2"] = %hoverbike_driving_flashlight_right_vehicle2; + param_00[0].aianim_simple_vehicle["hoverbike_driving_gesture_lft_1"] = %hoverbike_driving_gesture_lft_vehicle1; + param_00[0].aianim_simple_vehicle["hoverbike_driving_gesture_lft_2"] = %hoverbike_driving_gesture_lft_vehicle2; + param_00[0].aianim_simple_vehicle["hoverbike_driving_gesture_rt_1"] = %hoverbike_driving_gesture_rt_vehicle1; + param_00[0].aianim_simple_vehicle["hoverbike_driving_gesture_rt_2"] = %hoverbike_driving_gesture_rt_vehicle2; + param_00[0].aianim_simple_vehicle["hoverbike_driving_idle_1"] = %hoverbike_driving_idle_vehicle1; + param_00[0].aianim_simple_vehicle["hoverbike_driving_idle_2"] = %hoverbike_driving_idle_vehicle2; + param_00[0].aianim_simple_vehicle["hoverbike_driving_lean_left_idle_1"] = %hoverbike_driving_lean_left_idle_vehicle1; + param_00[0].aianim_simple_vehicle["hoverbike_driving_lean_left_idle_2"] = %hoverbike_driving_lean_left_idle_vehicle2; + param_00[0].aianim_simple_vehicle["hoverbike_driving_lean_left_into_1"] = %hoverbike_driving_lean_left_into_vehicle1; + param_00[0].aianim_simple_vehicle["hoverbike_driving_lean_left_into_2"] = %hoverbike_driving_lean_left_into_vehicle2; + param_00[0].aianim_simple_vehicle["hoverbike_driving_lean_left_out_1"] = %hoverbike_driving_lean_left_out_vehicle1; + param_00[0].aianim_simple_vehicle["hoverbike_driving_lean_left_out_2"] = %hoverbike_driving_lean_left_out_vehicle2; + param_00[0].aianim_simple_vehicle["hoverbike_driving_lean_right_idle_1"] = %hoverbike_driving_lean_right_idle_vehicle1; + param_00[0].aianim_simple_vehicle["hoverbike_driving_lean_right_idle_2"] = %hoverbike_driving_lean_right_idle_vehicle2; + param_00[0].aianim_simple_vehicle["hoverbike_driving_lean_right_into_1"] = %hoverbike_driving_lean_right_into_vehicle1; + param_00[0].aianim_simple_vehicle["hoverbike_driving_lean_right_into_2"] = %hoverbike_driving_lean_right_into_vehicle2; + param_00[0].aianim_simple_vehicle["hoverbike_driving_lean_right_out_1"] = %hoverbike_driving_lean_right_out_vehicle1; + param_00[0].aianim_simple_vehicle["hoverbike_driving_lean_right_out_2"] = %hoverbike_driving_lean_right_out_vehicle2; + param_00[0].aianim_simple_vehicle["hoverbike_driving_look_over_lft_shoulder_1"] = %hoverbike_driving_look_over_lft_shoulder_vehicle1; + param_00[0].aianim_simple_vehicle["hoverbike_driving_look_over_lft_shoulder_2"] = %hoverbike_driving_look_over_lft_shoulder_vehicle2; + param_00[0].aianim_simple_vehicle["hoverbike_driving_look_over_rt_shoulder_1"] = %hoverbike_driving_look_over_rt_shoulder_vehicle1; + param_00[0].aianim_simple_vehicle["hoverbike_driving_look_over_rt_shoulder_2"] = %hoverbike_driving_look_over_rt_shoulder_vehicle2; + return param_00; +} + +//Function Number: 40 +setup_worldhands_anims() +{ + level.scr_anim["world_body"]["jetbike_drive_idle"] = %hoverbike_drive_idle_vm; + level.scr_anim["world_body"]["jetbike_casual_drive_idle"] = %hoverbike_casual_vm; + level.scr_anim["world_body"]["mount_jetbike"] = %det_exfil_droponbike_drop_vm; + maps\_anim::addnotetrack_customfunction("world_body","bike_swap",::level_jetbike_to_vm_model,"mount_jetbike"); + maps\_anim::addnotetrack_notify("world_body","fov_start","exit_drive_FOV_start","mount_jetbike"); + maps\_anim::addnotetrack_notify("world_body","fov_end","exit_drive_FOV_end","mount_jetbike"); + maps\_anim::addnotetrack_notify("world_body","on_button","exit_drive_on_button_pressed","mount_jetbike"); +} + +//Function Number: 41 +setup_player_driving_anims() +{ + level.scr_anim["frankenbike_jetbike"]["jetbike_casual_drive_idle"] = %hoverbike_casual_vehicle; + level.scr_anim["frankenbike_worldbody"]["jetbike_casual_drive_idle"] = %hoverbike_casual_vm; + level.scr_anim["frankenbike_jetbike"]["branch"] = %hoverbike_vehicle_branch; + level.scr_anim["frankenbike_jetbike"]["idle_branch"] = %hoverbike_vehicle_idle_branch; + level.scr_anim["frankenbike_jetbike"]["idle_slow_branch"] = %hoverbike_vehicle_idle_slow_branch; + level.scr_anim["frankenbike_jetbike"]["idle_slow"] = %hoverbike_drive_idle_vehicle; + level.scr_anim["frankenbike_jetbike"]["idle_slow_lt"] = %hoverbike_drive_idle_lt_vehicle; + level.scr_anim["frankenbike_jetbike"]["idle_slow_rt"] = %hoverbike_drive_idle_rt_vehicle; + level.scr_anim["frankenbike_jetbike"]["idle_fast_branch"] = %hoverbike_vehicle_idle_fast_branch; + level.scr_anim["frankenbike_jetbike"]["idle_fast_throttle"] = %hoverbike_drive_idle_throttle_vehicle; + level.scr_anim["frankenbike_jetbike"]["idle_fast_direction_branch"] = %hoverbike_vehicle_idle_fast_direction_branch; + level.scr_anim["frankenbike_jetbike"]["idle_fast"] = %hoverbike_drive_fast_idle_vehicle; + level.scr_anim["frankenbike_jetbike"]["idle_fast_lt"] = %hoverbike_drive_fast_idle_lt_vehicle; + level.scr_anim["frankenbike_jetbike"]["idle_fast_rt"] = %hoverbike_drive_fast_idle_rt_vehicle; + level.scr_anim["frankenbike_jetbike"]["jump_st"] = %hoverbike_drive_jump_st_vehicle; + level.scr_anim["frankenbike_jetbike"]["jump_loop"] = %hoverbike_drive_jump_loop_vehicle; + level.scr_anim["frankenbike_jetbike"]["jump_end"] = %hoverbike_drive_jump_end_vehicle; + level.scr_anim["frankenbike_worldbody"]["branch"] = %hoverbike_vm_branch; + level.scr_anim["frankenbike_worldbody"]["idle_branch"] = %hoverbike_vm_idle_branch; + level.scr_anim["frankenbike_worldbody"]["idle_slow_branch"] = %hoverbike_vm_idle_slow_branch; + level.scr_anim["frankenbike_worldbody"]["idle_slow"] = %hoverbike_drive_idle_vm; + level.scr_anim["frankenbike_worldbody"]["idle_slow_lt"] = %hoverbike_drive_idle_lt_vm; + level.scr_anim["frankenbike_worldbody"]["idle_slow_rt"] = %hoverbike_drive_idle_rt_vm; + level.scr_anim["frankenbike_worldbody"]["idle_fast_branch"] = %hoverbike_vm_idle_fast_branch; + level.scr_anim["frankenbike_worldbody"]["idle_fast_throttle"] = %hoverbike_drive_idle_throttle_vm; + level.scr_anim["frankenbike_worldbody"]["idle_fast_direction_branch"] = %hoverbike_vm_idle_fast_direction_branch; + level.scr_anim["frankenbike_worldbody"]["idle_fast"] = %hoverbike_drive_fast_idle_vm; + level.scr_anim["frankenbike_worldbody"]["idle_fast_lt"] = %hoverbike_drive_fast_idle_lt_vm; + level.scr_anim["frankenbike_worldbody"]["idle_fast_rt"] = %hoverbike_drive_fast_idle_rt_vm; + level.scr_anim["frankenbike_worldbody"]["jump_st"] = %hoverbike_drive_jump_st_vm; + level.scr_anim["frankenbike_worldbody"]["jump_loop"] = %hoverbike_drive_jump_loop_vm; + level.scr_anim["frankenbike_worldbody"]["jump_end"] = %hoverbike_drive_jump_end_vm; + level.scr_anim["player_bike"]["jetbike_drive_idle"] = %hoverbike_drive_idle_vehicle; + level.scr_anim["player_bike"]["jetbike_casual_drive_idle"] = %hoverbike_casual_vehicle; + level.scr_anim["player_bike"]["mount_jetbike"] = %det_exfil_droponbike_drop_vmbike; +} + +//Function Number: 42 +vehicle_handle_debugfly() +{ +} + +//Function Number: 43 +project_into_plane(param_00,param_01) +{ + param_01 = vectornormalize(param_01); + return param_00 - param_01 * vectordot(param_01,param_00); +} + +//Function Number: 44 +collision_watcher() +{ + self endon("player_dismount"); + childthread contact_watcher(); + childthread accel_watcher(); + childthread stop_hovering_on_player_death(); +} + +//Function Number: 45 +jetbike_collision_hit_func(param_00,param_01,param_02,param_03,param_04,param_05) +{ + var_06 = length(param_04); + var_07 = []; + var_07["none"] = common_scripts\utility::getfx("car_contact_spark_sml"); + var_07["asphalt"] = common_scripts\utility::getfx("car_contact_asphalt_sml"); + var_07["concrete"] = common_scripts\utility::getfx("car_contact_concrete_sml"); + var_07["dirt"] = common_scripts\utility::getfx("car_contact_dirt_sml"); + var_07["water"] = common_scripts\utility::getfx("veh_collision_water"); + var_07["metal"] = common_scripts\utility::getfx("veh_collision_water"); + var_08 = []; + var_08["none"] = common_scripts\utility::getfx("car_contact_spark_med"); + var_08["bark"] = common_scripts\utility::getfx("car_contact_spark_med"); + var_08["brick"] = common_scripts\utility::getfx("car_contact_spark_med"); + var_08["asphalt"] = common_scripts\utility::getfx("veh_collision_wet_asphalt"); + var_08["concrete"] = common_scripts\utility::getfx("car_contact_concrete_med"); + var_08["dirt"] = common_scripts\utility::getfx("car_contact_dirt_med"); + var_08["water"] = common_scripts\utility::getfx("veh_collision_water"); + var_08["metal"] = common_scripts\utility::getfx("veh_collision_water"); + var_09 = []; + var_09["none"] = common_scripts\utility::getfx("car_contact_spark_lrg"); + var_09["bark"] = common_scripts\utility::getfx("car_contact_spark_lrg"); + var_09["brick"] = common_scripts\utility::getfx("car_contact_spark_lrg"); + var_09["asphalt"] = common_scripts\utility::getfx("veh_collision_wet_asphalt"); + var_09["concrete"] = common_scripts\utility::getfx("car_contact_concrete_lrg"); + var_09["dirt"] = common_scripts\utility::getfx("car_contact_dirt_lrg"); + var_09["water"] = common_scripts\utility::getfx("veh_collision_water"); + var_09["metal"] = common_scripts\utility::getfx("veh_collision_water"); + if(var_06 > 600) + { + if(isdefined(param_05) && isdefined(var_09[param_05])) + { + playfx(var_09[param_05],param_02); + } + else + { + playfx(common_scripts\utility::getfx("car_contact_spark_lrg"),param_02); + } + } + + if(var_06 > 300) + { + if(isdefined(param_05) && isdefined(var_08[param_05])) + { + playfx(var_08[param_05],param_02); + return; + } + + playfx(common_scripts\utility::getfx("veh_collision_wet_asphalt"),param_02); + return; + } + + if(var_06 > 100) + { + if(isdefined(param_05) && isdefined(var_07[param_05])) + { + playfx(var_07[param_05],param_02); + return; + } + + playfx(common_scripts\utility::getfx("car_contact_spark_sml"),param_02); + return; + } +} + +//Function Number: 46 +non_player_contact_watcher() +{ + for(;;) + { + self waittill("veh_contact",var_00,var_01,var_02,var_03,var_04); + jetbike_collision_hit_func(self,var_00,var_01,var_02,var_03,var_04); + } +} + +//Function Number: 47 +contact_watcher() +{ + var_00 = 50; + var_01 = 200; + var_02 = 50; + var_03 = 0.5; + for(;;) + { + self waittill("veh_contact",var_04,var_05,var_06,var_07,var_08); + var_09 = []; + var_09["vehicle"] = self; + var_09["hit_entity"] = var_04; + var_09["pos"] = var_05; + var_09["impulse"] = var_06; + var_09["relativeVel"] = var_07; + var_09["surface"] = var_08; + soundscripts\_snd::snd_message("aud_impact_system_jetbike",var_09); + var_0A = length(var_06); + var_0B = length(project_into_plane(var_06,anglestoup(self.angles))); + if(var_0B > var_00) + { + } + + if(var_0B > 100) + { + level.player playrumbleonentity("damage_heavy"); + } + + jetbike_collision_hit_func(self,var_04,var_05,var_06,var_07,var_08); + } +} + +//Function Number: 48 +accel_watcher() +{ + var_00 = 4825; + var_01 = 14475; + for(;;) + { + wait 0.05; + var_02 = project_into_plane(maps\_shg_utility::get_differentiated_acceleration(),anglestoup(self.angles)); + var_03 = project_into_plane(var_02,(0,0,1)); + var_04 = length(var_03); + var_05 = maps\_shg_utility::linear_map_clamp(var_04,var_00,var_01,0,350); + if(var_05 > 0) + { + if(var_05 > level.player.health) + { + } + + level.player dodamage(var_05,self.origin,self,level.player,"MOD_CRUSH"); + } + } +} + +//Function Number: 49 +stop_hovering_on_player_death() +{ + level.player waittill("death"); + self vehicle_jetbikesethoverforcescale(0); + maps\_utility::ent_flag_clear("jetbike_is_hovering"); +} + +//Function Number: 50 +angles_clamp_180(param_00) +{ + return (angleclamp180(param_00[0]),angleclamp180(param_00[1]),angleclamp180(param_00[2])); +} + +//Function Number: 51 +angle_lerp(param_00,param_01,param_02) +{ + return angleclamp(param_00 + angleclamp180(param_01 - param_00) * param_02); +} + +//Function Number: 52 +angles_lerp(param_00,param_01,param_02) +{ + return (angle_lerp(param_00[0],param_01[0],param_02),angle_lerp(param_00[1],param_01[1],param_02),angle_lerp(param_00[2],param_01[2],param_02)); +} + +//Function Number: 53 +level_jetbike_to_vm_model(param_00) +{ + level.jetbike setmodel("vehicle_mil_hoverbike_vm"); +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_jetbike_aud.gsc b/AW/PC/vehicle_scripts/_jetbike_aud.gsc new file mode 100644 index 0000000..1ecf889 --- /dev/null +++ b/AW/PC/vehicle_scripts/_jetbike_aud.gsc @@ -0,0 +1,340 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _jetbike_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 14 + * Decompile Time: 203 ms + * Timestamp: 4/22/2024 2:05:02 AM +*******************************************************************/ + +//Function Number: 1 +jetbike_constructor() +{ + var_00 = 0; + var_01 = 60; + var_02 = -2; + var_03 = 2; + var_04 = 0; + var_05 = 1; + var_06 = -1; + var_07 = 0; + var_08 = 1; + var_09 = 0; + var_0A = 1; + var_0B = 0.7; + var_0C = 0.75; + soundscripts\_audio_vehicle_manager::avm_begin_preset_def("jetbike"); + soundscripts\_audio_vehicle_manager::avm_add_envelope("jtbk_hover_spd2vol",[[1,0.15],[9.9762,0.2618],[16.6746,0.3613],[23.0879,0.5],[29.3587,0.3403],[34.9169,0.1937],[42.4703,0.0262],[60,0.0052]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("jtbk_hover_spd2pch",[[0,0.5],[0.9976,0.6073],[30.3563,0.9738],[60,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("jtbk_air_spd2vol",[[0,0],[0.06,0],[0.1,0],[0.1,0],[3.2779,0],[8.4086,0.0366],[13.8242,0.1518],[18.2423,0.288],[25.2257,0.65],[30.4988,0.65],[35.772,0.4817],[39.7625,0.3508],[44.038,0.1885],[48.0285,0.0052],[60,0]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("jtbk_whine_spd2vol",[[0,0],[13.3302,0],[28.399,0.6387],[38.1069,0.8534],[47.0903,0.9372],[50.4228,0.9634],[55.639,1],[61,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("jtbk_whine_spd2pch",[[0,0.5],[61,2]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("jtbk_engine_spd2vol",[[0,0],[30.5725,0],[36.9477,0],[43.0333,0],[53.4656,0.3508],[57.8124,0.5707],[61,0.8534]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("jtbk_engine_spd2pch",[[0,0.0314],[61,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("jtbk_antislip_antislip2vol",[[var_06 * 0.5,var_0A],[var_07,var_09],[var_08 * 0.5,var_0A]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("jtbk_antislip_spd2vol",[[0,0],[1,0],[var_01 * 0.3,0.2],[var_01 * 0.7,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("jtbk_antislip_antislip2pch",[[var_06,var_0C],[var_07,var_0B],[var_08,var_0C]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("jtbk_doppler2pch",[[0,0.5],[90,1],[180,0.5]]); + soundscripts\_audio_vehicle_manager::avm_begin_loop_data(3); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("jtbk_hover"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed_mph",0.2,0.06); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","jtbk_hover_spd2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","jtbk_hover_spd2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("jtbk_air"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed_mph",0.1,0.9); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","jtbk_air_spd2vol"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("jtbk_whine"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed_mph",0.15,0.1); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","jtbk_whine_spd2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","jtbk_whine_spd2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("jtbk_engine"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed_mph",0.2,0.1); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","jtbk_engine_spd2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","jtbk_engine_spd2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("jtbk_antislip"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("jetbike_anti_slip",0.1,0.1); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","jtbk_antislip_antislip2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","jtbk_antislip_antislip2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed_mph",0.1,0.1); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","jtbk_antislip_spd2vol"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_end_loop_data(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_data(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("jtbk_accel_one_shot",undefined,undefined,2); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_data(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_data(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_hover",::jetbike_condition_callback_to_state_hover,["speed_mph","distance2d","acceleration_g"]); + soundscripts\_audio_vehicle_manager::avm_add_loops("ALL"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_starting",::jetbike_condition_callback_to_state_starting,["speed_mph","distance2d","acceleration_g"]); + soundscripts\_audio_vehicle_manager::avm_add_loops("ALL"); + soundscripts\_audio_vehicle_manager::avm_add_oneshots("jtbk_accel_one_shot"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_flying",::jetbike_condition_callback_to_state_flying,["speed_mph","distance2d","acceleration_g"]); + soundscripts\_audio_vehicle_manager::avm_add_loops("ALL"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_distant",::jetbike_condition_callback_to_state_distant,["distance2d"]); + soundscripts\_audio_vehicle_manager::avm_add_loops("ALL"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_flyby",::jetbike_condition_callback_to_state_flyby,["distance2d"]); + soundscripts\_audio_vehicle_manager::avm_add_loops("ALL"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_destruct",::jetbike_condition_callback_to_state_destruct); + soundscripts\_audio_vehicle_manager::avm_add_loops("NONE"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_off",::jetbike_condition_callback_to_state_off,["speed_mph"]); + soundscripts\_audio_vehicle_manager::avm_add_loops("NONE"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_end_behavior_data(); + soundscripts\_audio_vehicle_manager::avm_begin_state_data(0.25,50); + soundscripts\_audio_vehicle_manager::avm_begin_state_group("main_oneshots","state_hover","to_state_hover",50,1); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_off"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_hover","to_state_hover"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_distant","to_state_distant"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_hover"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_starting","to_state_starting"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_destruct","to_state_destruct"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_starting"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_hover","to_state_hover"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_flying","to_state_flying"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_flyby","to_state_flyby"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_destruct","to_state_destruct"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_flying"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_hover","to_state_hover"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_flyby","to_state_flyby"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_distant","to_state_distant"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_destruct","to_state_destruct"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_distant"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_hover","to_state_hover"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_flying","to_state_flying"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_flyby","to_state_flyby"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_destruct","to_state_destruct"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_flyby",3); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_hover","to_state_hover"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_flying","to_state_flying"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_flyby","to_state_flyby"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_distant","to_state_distant"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_destruct","to_state_destruct"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_destruct"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_off","to_state_off"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_end_state_group(); + soundscripts\_audio_vehicle_manager::avm_end_state_data(); + soundscripts\_audio_vehicle_manager::avm_end_preset_def(); + if(!isdefined(level.aud.jetbike_snd_messages)) + { + soundscripts\_snd::snd_register_message("jetbike_hit_ramp",::jetbike_hit_ramp); + soundscripts\_snd::snd_register_message("jetbike_hit_cliff",::jetbike_hit_cliff); + soundscripts\_snd::snd_register_message("jetbike_hit_landing",::jetbike_hit_landing); + soundscripts\_snd::snd_register_message("jetbike_soft_landing",::jetbike_soft_landing); + soundscripts\_snd::snd_register_message("jetbike_landing_finished",::jetbike_landing_finished); + } +} + +//Function Number: 2 +jetbike_hit_ramp() +{ +} + +//Function Number: 3 +jetbike_hit_cliff() +{ +} + +//Function Number: 4 +jetbike_hit_landing() +{ + soundscripts\_snd_playsound::snd_play_2d("jtbk_thruster_plr"); +} + +//Function Number: 5 +jetbike_soft_landing() +{ + soundscripts\_snd_playsound::snd_play_2d("jtbk_thruster_plr"); +} + +//Function Number: 6 +jetbike_landing_finished() +{ +} + +//Function Number: 7 +jetbike_condition_callback_to_state_off() +{ + return 0; +} + +//Function Number: 8 +jetbike_condition_callback_to_state_hover(param_00,param_01) +{ + var_02 = 0; + var_03 = param_00["speed_mph"]; + var_04 = param_00["distance2d"]; + var_05 = param_00["acceleration_g"]; + var_06 = soundscripts\_audio_vehicle_manager::units2yards(var_04); + if(!isdefined(param_01.prev_velo)) + { + param_01.prev_velo = 0; + } + + var_07 = var_03 - param_01.prev_velo; + if(var_07 < -1 || var_03 <= 5 && var_06 < 900) + { + var_02 = 1; + } + + param_01.prev_velo = var_03; + return var_02; +} + +//Function Number: 9 +jetbike_condition_callback_to_state_starting(param_00,param_01) +{ + var_02 = 0; + var_03 = param_00["speed_mph"]; + var_04 = param_00["distance2d"]; + var_05 = param_00["acceleration_g"]; + var_06 = soundscripts\_audio_vehicle_manager::units2yards(var_04); + if(!isdefined(param_01.prev_velo)) + { + param_01.prev_velo = 0; + } + + var_07 = var_03 - param_01.prev_velo; + if(var_07 > 0 && var_03 > 5 && var_03 < 50 && var_06 < 900) + { + if(soundscripts\_audio_vehicle_manager::avmx_is_player_mode()) + { + var_02 = 1; + } + else + { + var_02 = 1; + } + } + + param_01.prev_velo = var_03; + return var_02; +} + +//Function Number: 10 +jetbike_condition_callback_to_state_flying(param_00,param_01) +{ + var_02 = 0; + var_03 = param_00["speed_mph"]; + var_04 = param_00["distance2d"]; + var_05 = param_00["acceleration_g"]; + var_06 = soundscripts\_audio_vehicle_manager::units2yards(var_04); + if(!isdefined(param_01.prev_velo)) + { + param_01.prev_velo = 0; + } + + var_07 = var_03 - param_01.prev_velo; + if(var_03 >= 50 && var_06 < 900) + { + if(soundscripts\_audio_vehicle_manager::avmx_is_player_mode()) + { + var_02 = 1; + } + else + { + var_02 = 1; + } + } + + param_01.prev_velo = var_03; + return var_02; +} + +//Function Number: 11 +jetbike_condition_callback_to_state_distant(param_00,param_01) +{ + var_02 = 0; + var_03 = param_00["distance2d"]; + var_04 = soundscripts\_audio_vehicle_manager::units2yards(var_03); + if(var_04 >= 900) + { + var_02 = 1; + } + + return var_02; +} + +//Function Number: 12 +jetbike_condition_callback_to_state_flyby(param_00,param_01) +{ + if(soundscripts\_audio_vehicle_manager::avmx_is_player_mode()) + { + return 0; + } + + var_02 = 0; + var_03 = param_00["distance2d"]; + var_04 = soundscripts\_audio_vehicle_manager::units2yards(var_03); + if(!isdefined(param_01.flyby)) + { + param_01.flyby = spawnstruct(); + param_01.flyby.prev_yards = var_04; + param_01.flyby.prev_dx = 0; + } + else + { + var_05 = var_04 - param_01.flyby.prev_yards; + if(var_05 < 0 && var_04 < 216) + { + if(0) + { + var_02 = ["jetbike_flyby"]; + } + else + { + var_02 = 1; + } + } + + param_01.flyby.prev_yards = var_04; + param_01.flyby.prev_dx = var_05; + } + + return var_02; +} + +//Function Number: 13 +jetbike_condition_callback_to_state_flyover(param_00,param_01) +{ + var_02 = 0; + var_03 = param_00["distance2d"]; + var_04 = param_00["relative_speed"]; + var_05 = soundscripts\_audio_vehicle_manager::units2yards(var_03); + if(var_05 < 540) + { + var_02 = 1; + } + + return var_02; +} + +//Function Number: 14 +jetbike_condition_callback_to_state_destruct(param_00,param_01) +{ + return 0; +} \ No newline at end of file diff --git a/AW/PC/SP/vehicle_scripts/_littlebird.gsc b/AW/PC/vehicle_scripts/_littlebird.gsc similarity index 98% rename from AW/PC/SP/vehicle_scripts/_littlebird.gsc rename to AW/PC/vehicle_scripts/_littlebird.gsc index fcfefbb..e5e04d7 100644 --- a/AW/PC/SP/vehicle_scripts/_littlebird.gsc +++ b/AW/PC/vehicle_scripts/_littlebird.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_littlebird.gsc + * Decompiled File: _littlebird.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 15 - * Decompile Time: 173 ms - * Timestamp: 10/27/2023 2:06:19 AM + * Decompile Time: 240 ms + * Timestamp: 4/22/2024 2:05:03 AM *******************************************************************/ //Function Number: 1 @@ -123,6 +123,8 @@ attach_littlebird_parts() { case "script_vehicle_littlebird_atlas_bench": case "script_vehicle_littlebird_sentinel_bench": + self attach("vehicle_sentinel_littlebird_benchleft","TAG_BENCH_ATTACH_LEFT"); + self attach("vehicle_sentinel_littlebird_benchright","TAG_BENCH_ATTACH_RIGHT"); break; default: diff --git a/AW/PC/SP/vehicle_scripts/_littlebird_aud.gsc b/AW/PC/vehicle_scripts/_littlebird_aud.gsc similarity index 99% rename from AW/PC/SP/vehicle_scripts/_littlebird_aud.gsc rename to AW/PC/vehicle_scripts/_littlebird_aud.gsc index f652cd7..29ecf8e 100644 --- a/AW/PC/SP/vehicle_scripts/_littlebird_aud.gsc +++ b/AW/PC/vehicle_scripts/_littlebird_aud.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_littlebird_aud.gsc + * Decompiled File: _littlebird_aud.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 10 - * Decompile Time: 170 ms - * Timestamp: 10/27/2023 2:06:20 AM + * Decompile Time: 154 ms + * Timestamp: 4/22/2024 2:05:04 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/vehicle_scripts/_littlebird_landing.gsc b/AW/PC/vehicle_scripts/_littlebird_landing.gsc similarity index 89% rename from AW/PC/SP/vehicle_scripts/_littlebird_landing.gsc rename to AW/PC/vehicle_scripts/_littlebird_landing.gsc index db8a1ea..b9332e6 100644 --- a/AW/PC/SP/vehicle_scripts/_littlebird_landing.gsc +++ b/AW/PC/vehicle_scripts/_littlebird_landing.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_littlebird_landing.gsc + * Decompiled File: _littlebird_landing.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 12 - * Decompile Time: 145 ms - * Timestamp: 10/27/2023 2:06:21 AM + * Decompile Time: 198 ms + * Timestamp: 4/22/2024 2:05:05 AM *******************************************************************/ //Function Number: 1 @@ -120,12 +120,39 @@ littlebird_lands_and_unloads(param_00) switch(param_00.custom_landing) { case "hover_then_land": + param_00 vehicle_setspeed(10,22,7); + param_00 thread vehicle_land_beneath_node(32,self,64); + param_00 waittill("near_goal"); + param_00 notify("hovering"); + wait(1); break; default: break; } } + + param_00 thread vehicle_land_beneath_node(16,self); + param_00 waittill("near_goal"); + badplace_delete(var_01); + maps\_utility::script_delay(); + param_00 maps\_vehicle::vehicle_unload(); + param_00 maps\_vehicle_code::waittill_stable(); + param_00 vehicle_setspeed(20,8,7); + wait(0.2); + param_00 notify("stable_for_unlink"); + wait(0.2); + if(isdefined(self.script_flag_set)) + { + common_scripts\utility::flag_set(self.script_flag_set); + } + + if(isdefined(self.script_flag_wait)) + { + common_scripts\utility::flag_wait(self.script_flag_wait); + } + + param_00 notify("littlebird_liftoff"); } //Function Number: 8 diff --git a/AW/PC/SP/vehicle_scripts/_littlebird_player.gsc b/AW/PC/vehicle_scripts/_littlebird_player.gsc similarity index 75% rename from AW/PC/SP/vehicle_scripts/_littlebird_player.gsc rename to AW/PC/vehicle_scripts/_littlebird_player.gsc index d97b270..44f3350 100644 --- a/AW/PC/SP/vehicle_scripts/_littlebird_player.gsc +++ b/AW/PC/vehicle_scripts/_littlebird_player.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_littlebird_player.gsc + * Decompiled File: _littlebird_player.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 11 ms - * Timestamp: 10/27/2023 2:06:21 AM + * Decompile Time: 34 ms + * Timestamp: 4/22/2024 2:05:05 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/vehicle_scripts/_mi17.gsc b/AW/PC/vehicle_scripts/_mi17.gsc new file mode 100644 index 0000000..b5fb4f3 --- /dev/null +++ b/AW/PC/vehicle_scripts/_mi17.gsc @@ -0,0 +1,264 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _mi17.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 9 + * Decompile Time: 150 ms + * Timestamp: 4/22/2024 2:05:06 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + var_03 = "mi17"; + if(isdefined(param_01) && param_01 == "mi17_so") + { + var_03 = "mi17_so"; + } + else if(isdefined(param_01) && param_01 == "mi17_so_takes_damage") + { + var_03 = "mi17_so_takes_damage"; + } + + vehicle_scripts\_mi17_noai::main(param_00,var_03,param_02); + maps\_vehicle::build_drive(%mi17_heli_rotors,undefined,0); + maps\_vehicle::build_deathmodel("vehicle_mil_mi17"); + maps\_vehicle::build_deathmodel("vehicle_mi17_woodland"); + maps\_vehicle::build_deathmodel("vehicle_mi17_woodland_fly"); + maps\_vehicle::build_deathmodel("vehicle_mi17_woodland_landing"); + maps\_vehicle::build_deathmodel("vehicle_mi17_woodland_fly_cheap"); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_treadfx(); + maps\_vehicle::build_aianims(::setanims,::set_vehicle_anims); + maps\_vehicle::build_attach_models(::set_attached_models); + maps\_vehicle::build_unload_groups(::unload_groups); + var_04 = randomfloatrange(0,1); + maps\_vehicle::build_light(param_02,"cockpit_blue_cargo01","tag_light_cargo01","vfx/lights/air_light_cockpit_red","interior",0); + maps\_vehicle::build_light(param_02,"cockpit_blue_cockpit01","tag_light_cockpit01","vfx/lights/air_light_cockpit_blue","interior",0); + maps\_vehicle::build_light(param_02,"wingtip_green","tag_light_L_wing","vfx/lights/air_light_wingtip_red","running",var_04); + maps\_vehicle::build_light(param_02,"wingtip_red","tag_light_R_wing","vfx/lights/air_light_wingtip_red","running",var_04); + maps\_vehicle::build_light(param_02,"white_blink_tail","tag_light_tail","vfx/lights/air_light_wingtip_red","running",var_04); + maps\_vehicle::build_is_helicopter(); +} + +//Function Number: 2 +init_local() +{ + self.fastropeoffset = 710 + distance(self gettagorigin("tag_origin"),self gettagorigin("tag_ground")); + self.script_badplace = 0; + maps\_vehicle::vehicle_lights_on("running"); + thread handle_audio(); +} + +//Function Number: 3 +handle_audio() +{ + self endon("death"); + var_00 = 0; + var_01 = 9600; + vehicle_scripts\_mi17_aud::snd_init_mi17(); + thread monitor_death_stop_sounds(); + self.snd_disable_vehicle_system = self.script_disablevehicleaudio; + for(;;) + { + if(!isdefined(self.snd_disable_vehicle_system) || !self.snd_disable_vehicle_system) + { + var_02 = distance(self.origin,level.player.origin); + if(var_00 && var_02 > var_01) + { + vehicle_scripts\_mi17_aud::snd_stop_mi17(1); + var_00 = 0; + wait(0.1); + } + else if(!var_00 && var_02 < var_01) + { + vehicle_scripts\_mi17_aud::snd_start_mi17(); + var_00 = 1; + } + } + else if(var_00) + { + vehicle_scripts\_mi17_aud::snd_stop_mi17(1); + var_00 = 0; + } + + wait(0.1); + } +} + +//Function Number: 4 +monitor_death_stop_sounds() +{ + self waittill("death"); + vehicle_scripts\_mi17_aud::snd_stop_mi17(1); +} + +//Function Number: 5 +set_vehicle_anims(param_00) +{ + for(var_01 = 0;var_01 < param_00.size;var_01++) + { + param_00[var_01].vehicle_getoutanim = %mi17_heli_idle; + } + + return param_00; +} + +//Function Number: 6 +setplayer_anims(param_00) +{ + return param_00; +} + +//Function Number: 7 +setanims() +{ + var_00 = []; + for(var_01 = 0;var_01 < 10;var_01++) + { + var_00[var_01] = spawnstruct(); + } + + var_00[1].idle = %mi17_1_idle; + var_00[2].idle = %mi17_2_idle; + var_00[3].idle = %mi17_3_idle; + var_00[4].idle = %mi17_4_idle; + var_00[5].idle = %mi17_5_idle; + var_00[6].idle = %mi17_6_idle; + var_00[7].idle = %mi17_7_idle; + var_00[8].idle = %mi17_8_idle; + var_00[0].idle[0] = %helicopter_pilot1_idle; + var_00[0].idle[1] = %helicopter_pilot1_twitch_clickpannel; + var_00[0].idle[2] = %helicopter_pilot1_twitch_lookback; + var_00[0].idle[3] = %helicopter_pilot1_twitch_lookoutside; + var_00[0].idleoccurrence[0] = 500; + var_00[0].idleoccurrence[1] = 100; + var_00[0].idleoccurrence[2] = 100; + var_00[0].idleoccurrence[3] = 100; + var_00[0].bhasgunwhileriding = 0; + var_00[9].bhasgunwhileriding = 0; + var_00[9].idle[0] = %helicopter_pilot2_idle; + var_00[9].idle[1] = %helicopter_pilot2_twitch_clickpannel; + var_00[9].idle[2] = %helicopter_pilot2_twitch_lookoutside; + var_00[9].idle[3] = %helicopter_pilot2_twitch_radio; + var_00[9].idleoccurrence[0] = 450; + var_00[9].idleoccurrence[1] = 100; + var_00[9].idleoccurrence[2] = 100; + var_00[9].idleoccurrence[3] = 100; + var_00[0].sittag = "tag_driver"; + var_00[1].sittag = "tag_detach"; + var_00[2].sittag = "tag_detach"; + var_00[3].sittag = "tag_detach"; + var_00[4].sittag = "tag_detach"; + var_00[5].sittag = "tag_detach"; + var_00[6].sittag = "tag_detach"; + var_00[7].sittag = "tag_detach"; + var_00[8].sittag = "tag_detach"; + var_00[9].sittag = "tag_passenger"; + var_00[1].getout = %mi17_1_drop; + var_00[2].getout = %mi17_2_drop; + var_00[3].getout = %mi17_3_drop; + var_00[4].getout = %mi17_4_drop; + var_00[5].getout = %mi17_5_drop; + var_00[6].getout = %mi17_6_drop; + var_00[7].getout = %mi17_7_drop; + var_00[8].getout = %mi17_8_drop; + var_00[1].getoutstance = "crouch"; + var_00[2].getoutstance = "crouch"; + var_00[3].getoutstance = "crouch"; + var_00[4].getoutstance = "crouch"; + var_00[5].getoutstance = "crouch"; + var_00[6].getoutstance = "crouch"; + var_00[7].getoutstance = "crouch"; + var_00[8].getoutstance = "crouch"; + var_00[2].ragdoll_getout_death = 1; + var_00[3].ragdoll_getout_death = 1; + var_00[4].ragdoll_getout_death = 1; + var_00[5].ragdoll_getout_death = 1; + var_00[6].ragdoll_getout_death = 1; + var_00[7].ragdoll_getout_death = 1; + var_00[8].ragdoll_getout_death = 1; + var_00[2].ragdoll_fall_anim = %fastrope_fall; + var_00[3].ragdoll_fall_anim = %fastrope_fall; + var_00[4].ragdoll_fall_anim = %fastrope_fall; + var_00[5].ragdoll_fall_anim = %fastrope_fall; + var_00[6].ragdoll_fall_anim = %fastrope_fall; + var_00[7].ragdoll_fall_anim = %fastrope_fall; + var_00[8].ragdoll_fall_anim = %fastrope_fall; + var_00[1].rappel_kill_achievement = 1; + var_00[2].rappel_kill_achievement = 1; + var_00[3].rappel_kill_achievement = 1; + var_00[4].rappel_kill_achievement = 1; + var_00[5].rappel_kill_achievement = 1; + var_00[6].rappel_kill_achievement = 1; + var_00[7].rappel_kill_achievement = 1; + var_00[8].rappel_kill_achievement = 1; + var_00[1].getoutloopsnd = "fastrope_loop_npc"; + var_00[2].getoutloopsnd = "fastrope_loop_npc"; + var_00[3].getoutloopsnd = "fastrope_loop_npc"; + var_00[4].getoutloopsnd = "fastrope_loop_npc"; + var_00[5].getoutloopsnd = "fastrope_loop_npc"; + var_00[6].getoutloopsnd = "fastrope_loop_npc"; + var_00[7].getoutloopsnd = "fastrope_loop_npc"; + var_00[8].getoutloopsnd = "fastrope_loop_npc"; + var_00[1].fastroperig = "TAG_FastRope_RI"; + var_00[2].fastroperig = "TAG_FastRope_RI"; + var_00[3].fastroperig = "TAG_FastRope_RI"; + var_00[4].fastroperig = "TAG_FastRope_RI"; + var_00[5].fastroperig = "TAG_FastRope_LE"; + var_00[6].fastroperig = "TAG_FastRope_LE"; + var_00[7].fastroperig = "TAG_FastRope_LE"; + var_00[8].fastroperig = "TAG_FastRope_LE"; + return setplayer_anims(var_00); +} + +//Function Number: 8 +unload_groups() +{ + var_00 = []; + var_00["back"] = []; + var_00["front"] = []; + var_00["both"] = []; + var_00["back"][var_00["back"].size] = 1; + var_00["back"][var_00["back"].size] = 2; + var_00["back"][var_00["back"].size] = 3; + var_00["back"][var_00["back"].size] = 4; + var_00["front"][var_00["front"].size] = 5; + var_00["front"][var_00["front"].size] = 6; + var_00["front"][var_00["front"].size] = 7; + var_00["front"][var_00["front"].size] = 8; + var_00["both"][var_00["both"].size] = 1; + var_00["both"][var_00["both"].size] = 2; + var_00["both"][var_00["both"].size] = 3; + var_00["both"][var_00["both"].size] = 4; + var_00["both"][var_00["both"].size] = 5; + var_00["both"][var_00["both"].size] = 6; + var_00["both"][var_00["both"].size] = 7; + var_00["both"][var_00["both"].size] = 8; + var_00["default"] = var_00["both"]; + return var_00; +} + +//Function Number: 9 +set_attached_models() +{ + var_00 = []; + var_00["TAG_FastRope_LE"] = spawnstruct(); + var_00["TAG_FastRope_LE"].model = "rope_test"; + var_00["TAG_FastRope_LE"].tag = "TAG_FastRope_LE"; + var_00["TAG_FastRope_LE"].idleanim = %mi17_rope_idle_le; + var_00["TAG_FastRope_LE"].dropanim = %mi17_rope_drop_le; + var_00["TAG_FastRope_RI"] = spawnstruct(); + var_00["TAG_FastRope_RI"].model = "rope_test_ri"; + var_00["TAG_FastRope_RI"].tag = "TAG_FastRope_RI"; + var_00["TAG_FastRope_RI"].idleanim = %mi17_rope_idle_ri; + var_00["TAG_FastRope_RI"].dropanim = %mi17_rope_drop_ri; + var_01 = getarraykeys(var_00); + for(var_02 = 0;var_02 < var_01.size;var_02++) + { + precachemodel(var_00[var_01[var_02]].model); + } + + return var_00; +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_mi17_aud.gsc b/AW/PC/vehicle_scripts/_mi17_aud.gsc new file mode 100644 index 0000000..dcbd558 --- /dev/null +++ b/AW/PC/vehicle_scripts/_mi17_aud.gsc @@ -0,0 +1,232 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _mi17_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 10 + * Decompile Time: 157 ms + * Timestamp: 4/22/2024 2:05:06 AM +*******************************************************************/ + +//Function Number: 1 +snd_init_mi17() +{ + soundscripts\_audio_vehicle_manager::avm_register_callback("facing",::mi17_input_callback_facing); + soundscripts\_audio_vehicle_manager::avm_register_callback("about_to_unload",::mi17_input_callback_about_to_unload); + soundscripts\_snd::snd_message("snd_register_vehicle","mi17",::snd_mi17_constructor); +} + +//Function Number: 2 +snd_start_mi17() +{ + if(isdefined(self.snd_instance)) + { + wait(1); + snd_stop_mi17(1); + } + + thread snd_monitor_about_to_unload(); + var_00 = spawnstruct(); + var_00.preset_name = "mi17"; + soundscripts\_snd::snd_message("snd_start_vehicle",var_00); +} + +//Function Number: 3 +snd_stop_mi17(param_00) +{ + if(isdefined(self.snd_instance)) + { + soundscripts\_snd::snd_message("snd_stop_vehicle",param_00); + self notify("snd_stop_vehicle"); + } +} + +//Function Number: 4 +snd_monitor_about_to_unload() +{ + self endon("death"); + self endon("snd_stop_vehicle"); + for(;;) + { + self waittill("about_to_unload"); + self.about_to_unload = 1; + self waittill("unloaded"); + self.about_to_unload = undefined; + } +} + +//Function Number: 5 +snd_mi17_constructor() +{ + soundscripts\_audio_vehicle_manager::avm_begin_preset_def("mi17"); + soundscripts\_audio_vehicle_manager::avm_begin_loop_data(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("mi17_dist_towards_lp"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("facing",0.65,0.65); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","mi17_towards_facing2vol","mi17_towards_facing2vol"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("mi17_dist_away_lp"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("facing",0.65,0.65); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","mi17_away_facing2vol","mi17_away_facing2vol"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("mi17_close_towards_lp"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("facing",0.65,0.65); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","mi17_towards_facing2vol","mi17_towards_facing2vol"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("mi17_close_away_lp"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("facing",0.65,0.65); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","mi17_away_facing2vol","mi17_away_facing2vol"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_end_loop_data(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_data(0.5); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("mi17_by_in","mi17_noduck"); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("mi17_by_windup","mi17_noduck"); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("mi17_by_out","mi17_noduck"); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_data(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_data(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_hover_initial",::mi17_condition_callback_to_hover); + soundscripts\_audio_vehicle_manager::avm_add_loops("ALL"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed",0.65,0.65); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("about_to_unload",1,1); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_hover",::mi17_condition_callback_to_hover); + soundscripts\_audio_vehicle_manager::avm_add_oneshots("mi17_by_in"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed",0.65,0.65); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("about_to_unload",1,1); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_fly_from_hover_initial",::mi17_condition_callback_to_fly); + soundscripts\_audio_vehicle_manager::avm_add_loops("ALL"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed",0.65,0.65); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("about_to_unload",1,1); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_fly_from_hover",::mi17_condition_callback_to_fly); + soundscripts\_audio_vehicle_manager::avm_add_oneshots("mi17_by_windup"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed",0.65,0.65); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("about_to_unload",1,1); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_fly_from_flyby",::mi17_condition_callback_to_fly); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed",0.65,0.65); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("about_to_unload",1,1); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_flyby",::mi17_condition_callback_to_flyby); + soundscripts\_audio_vehicle_manager::avm_add_oneshots("mi17_by_out"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed",0.65,0.65); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("about_to_unload",1,1); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("facing",1,1); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_end_behavior_data(); + soundscripts\_audio_vehicle_manager::avm_begin_state_data(); + soundscripts\_audio_vehicle_manager::avm_begin_state_group("engine_oneshots","state_hover_initial","to_state_hover_initial",50,1); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_hover_initial",0); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_fly","to_state_fly_from_hover"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_hover",0); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_fly","to_state_fly_from_hover"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_fly",0); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_hover","to_state_hover"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_end_state_group(); + soundscripts\_audio_vehicle_manager::avm_begin_state_group("flyby","flyby_1","to_state_flyby",50,1); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("flyby_1",0,50); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("flyby_2","to_state_flyby"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("flyby_2",0,50); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("flyby_1","to_state_flyby"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_end_state_group(); + soundscripts\_audio_vehicle_manager::avm_end_state_data(); + soundscripts\_audio_vehicle_manager::avm_add_envelope("mi17_towards_facing2vol",[[-0.5,0.35],[0.5,0.7]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("mi17_away_facing2vol",[[-0.5,0.7],[0.5,0.175]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("mi17_noduck",[[0,1],[1,1]]); + soundscripts\_audio_vehicle_manager::avm_end_preset_def(); +} + +//Function Number: 6 +mi17_input_callback_facing() +{ + var_00 = soundscripts\_audio_vehicle_manager::avmx_get_vehicle_entity(); + var_01 = anglestoforward(var_00.angles); + var_02 = vectornormalize(level.player.origin - var_00.origin); + var_03 = vectordot(var_01,var_02); + return var_03; +} + +//Function Number: 7 +mi17_input_callback_about_to_unload() +{ + var_00 = soundscripts\_audio_vehicle_manager::avmx_get_vehicle_entity(); + return isdefined(var_00.about_to_unload); +} + +//Function Number: 8 +mi17_condition_callback_to_hover(param_00,param_01) +{ + var_02 = param_00["speed"]; + var_03 = param_00["about_to_unload"]; + if(var_03 > 0.5 || var_02 < 5) + { + return 1; + } + + return 0; +} + +//Function Number: 9 +mi17_condition_callback_to_fly(param_00,param_01) +{ + var_02 = param_00["speed"]; + var_03 = param_00["about_to_unload"]; + var_04 = 0; + if(var_03 < 0.5 && var_02 >= 5) + { + return 1; + } + + return 0; +} + +//Function Number: 10 +mi17_condition_callback_to_flyby(param_00,param_01) +{ + var_02 = param_00["speed"]; + var_03 = param_00["about_to_unload"]; + var_04 = param_00["facing"]; + var_05 = 0; + if(!isdefined(param_01.last_flyby_time)) + { + param_01.last_flyby_time = 0; + } + + if(isdefined(param_01.last_facing)) + { + var_06 = gettime(); + if(param_01.last_facing >= 0 && var_04 < 0 && var_03 < 0.5 && var_02 > 5 && var_06 - param_01.last_flyby_time > 3000) + { + param_01.last_flyby_time = var_06; + var_05 = 1; + } + } + + param_01.last_facing = var_04; + return var_05; +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_mi17_noai.gsc b/AW/PC/vehicle_scripts/_mi17_noai.gsc new file mode 100644 index 0000000..42aca6f --- /dev/null +++ b/AW/PC/vehicle_scripts/_mi17_noai.gsc @@ -0,0 +1,53 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _mi17_noai.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 50 ms + * Timestamp: 4/22/2024 2:05:07 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + maps\_vehicle::build_template("mi17_noai",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_deathmodel("vehicle_mil_mi17"); + maps\_vehicle::build_deathmodel("vehicle_mi17_woodland"); + maps\_vehicle::build_deathmodel("vehicle_mi17_woodland_fly"); + maps\_vehicle::build_deathmodel("vehicle_mi17_woodland_fly_cheap"); + maps\_vehicle::build_deathmodel("vehicle_mi17_woodland_landing"); + var_03 = []; + var_03["vehicle_mil_mi17"] = "vfx/explosion/vehicle_explosion_heli_piece_impact"; + var_03["vehicle_mi17_woodland"] = "vfx/explosion/vehicle_mi17_explosion_a"; + var_03["vehicle_mi17_woodland_fly"] = "vfx/explosion/vehicle_explosion_heli_piece_impact"; + var_03["vehicle_mi17_woodland_fly_cheap"] = "vfx/explosion/vehicle_mi17_explosion_a"; + var_03["vehicle_mi17_woodland_landing"] = "vfx/explosion/vehicle_mi17_explosion_a"; + var_03["vehicle_mi-28_flying"] = "vfx/explosion/vehicle_mi17_explosion_a"; + var_04 = var_03[param_00]; + maps\_vehicle::build_deathfx("vfx/trail/trail_fire_smoke_l","tag_engine_right","mi17_helicopter_dying_loop",1,0.05,1,0.5,1,undefined); + maps\_vehicle::build_deathfx("vfx/explosion/helicopter_explosion_secondary_small","tag_engine_right","mi17_helicopter_secondary_exp",undefined,undefined,undefined,2.5,1,undefined); + maps\_vehicle::build_deathfx("vfx/explosion/helicopter_explosion_secondary_small","tag_deathfx","mi17_helicopter_secondary_exp",undefined,undefined,undefined,4,undefined,undefined); + maps\_vehicle::build_deathfx(var_04,undefined,"mi17_helicopter_crash",undefined,undefined,undefined,-1,undefined,"stop_crash_loop_sound"); + maps\_vehicle::build_drive(%mi17_heli_rotors,undefined,0); + maps\_vehicle::build_deathfx("vfx/explosion/helicopter_explosion_secondary_small","tag_engine_left","mi17_helicopter_impact_explo_3d",undefined,undefined,undefined,0.2,1); + maps\_vehicle::build_deathfx("vfx/explosion/vehicle_mi17_explosion_a","tag_deathfx",undefined,undefined,undefined,undefined,0.5,1); + maps\_vehicle::build_treadfx(); + maps\_vehicle::build_life(999,500,1500); + maps\_vehicle::build_rumble("tank_rumble",0.15,4.5,600,1,1); + maps\_vehicle::build_team("axis"); + maps\_vehicle::build_bulletshield(1); + var_05 = randomfloatrange(0,1); + maps\_vehicle::build_is_helicopter(); +} + +//Function Number: 2 +init_local() +{ + self.originheightoffset = distance(self gettagorigin("tag_origin"),self gettagorigin("tag_ground")); + self.fastropeoffset = 710; + self.script_badplace = 0; + maps\_vehicle::vehicle_lights_on("running"); + maps\_vehicle::vehicle_lights_on("interior"); +} \ No newline at end of file diff --git a/AW/PC/SP/vehicle_scripts/_mig29.gsc b/AW/PC/vehicle_scripts/_mig29.gsc similarity index 98% rename from AW/PC/SP/vehicle_scripts/_mig29.gsc rename to AW/PC/vehicle_scripts/_mig29.gsc index 0be7b97..025c732 100644 --- a/AW/PC/SP/vehicle_scripts/_mig29.gsc +++ b/AW/PC/vehicle_scripts/_mig29.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_mig29.gsc + * Decompiled File: _mig29.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 17 - * Decompile Time: 229 ms - * Timestamp: 10/27/2023 2:06:22 AM + * Decompile Time: 248 ms + * Timestamp: 4/22/2024 2:05:08 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/vehicle_scripts/_mig29_controllable.gsc b/AW/PC/vehicle_scripts/_mig29_controllable.gsc new file mode 100644 index 0000000..b854b18 --- /dev/null +++ b/AW/PC/vehicle_scripts/_mig29_controllable.gsc @@ -0,0 +1,254 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _mig29_controllable.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 15 + * Decompile Time: 221 ms + * Timestamp: 4/22/2024 2:05:09 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + maps\_vehicle::build_template("mig29_controllable",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_deathmodel("vehicle_mig29"); + maps\_vehicle::build_deathmodel("vehicle_mig29_desert"); + maps\_vehicle::build_deathmodel("vehicle_av8b_harrier_jet"); + maps\_vehicle::build_deathmodel("vehicle_mig29_low"); + maps\_vehicle::build_treadfx(); + level._effect["engineeffect"] = loadfx("vfx/trail/jet_thruster_far"); + level._effect["afterburner"] = loadfx("vfx/fire/jet_afterburner_ignite"); + level._effect["contrail"] = loadfx("vfx/trail/jet_contrail"); + maps\_vehicle::build_deathfx("vfx/explosion/vehicle_generic_ai_explo_lrg_runner",undefined,"explo_metal_rand"); + maps\_vehicle::build_life(999,500,1500); + maps\_vehicle::build_team("allies"); + if(param_00 != "vehicle_av8b_harrier_jet") + { + var_03 = randomfloatrange(0,1); + maps\_vehicle::build_light(param_02,"wingtip_green","tag_left_wingtip","vfx/lights/aircraft_light_wingtip_green","running",var_03); + maps\_vehicle::build_light(param_02,"wingtip_red","tag_right_wingtip","vfx/lights/aircraft_light_wingtip_red","running",var_03); + } + + maps\_vehicle::build_is_airplane(); +} + +//Function Number: 2 +init_local() +{ + thread landing_gear_up(); +} + +//Function Number: 3 +set_vehicle_anims(param_00) +{ + var_01 = "rope_test"; + precachemodel(var_01); + return param_00; +} + +//Function Number: 4 +landing_gear_up() +{ + self useanimtree(#animtree); + self setanim(%mig_landing_gear_up); +} + +//Function Number: 5 +setanims() +{ + var_00 = []; + for(var_01 = 0;var_01 < 1;var_01++) + { + var_00[var_01] = spawnstruct(); + } + + return var_00; +} + +//Function Number: 6 +playengineeffects() +{ + self endon("death"); + self endon("stop_engineeffects"); + maps\_utility::ent_flag_init("engineeffects"); + maps\_utility::ent_flag_set("engineeffects"); + var_00 = common_scripts\utility::getfx("engineeffect"); + for(;;) + { + maps\_utility::ent_flag_wait("engineeffects"); + playfxontag(var_00,self,"tag_engine_right"); + playfxontag(var_00,self,"tag_engine_left"); + maps\_utility::ent_flag_waitopen("engineeffects"); + stopfxontag(var_00,self,"tag_engine_left"); + stopfxontag(var_00,self,"tag_engine_right"); + } +} + +//Function Number: 7 +playafterburner() +{ + playfxontag(level._effect["afterburner"],self,"tag_engine_right"); + playfxontag(level._effect["afterburner"],self,"tag_engine_left"); +} + +//Function Number: 8 +playcontrail() +{ + playfxontag(level._effect["contrail"],self,"tag_right_wingtip"); + playfxontag(level._effect["contrail"],self,"tag_left_wingtip"); +} + +//Function Number: 9 +playerisclose(param_00) +{ + var_01 = playerisinfront(param_00); + if(var_01) + { + var_02 = 1; + } + else + { + var_02 = -1; + } + + var_03 = common_scripts\utility::flat_origin(param_00.origin); + var_04 = var_03 + anglestoforward(common_scripts\utility::flat_angle(param_00.angles)) * var_02 * 100000; + var_05 = pointonsegmentnearesttopoint(var_03,var_04,level.player.origin); + var_06 = distance(var_03,var_05); + if(var_06 < 3000) + { + return 1; + } + + return 0; +} + +//Function Number: 10 +playerisinfront(param_00) +{ + var_01 = anglestoforward(common_scripts\utility::flat_angle(param_00.angles)); + var_02 = vectornormalize(common_scripts\utility::flat_origin(level.player.origin) - param_00.origin); + var_03 = vectordot(var_01,var_02); + if(var_03 > 0) + { + return 1; + } + + return 0; +} + +//Function Number: 11 +plane_sound_node(param_00,param_01) +{ + plane_sound_players("veh_mig29_dist_loop","veh_mig29_sonic_boom"); +} + +//Function Number: 12 +plane_sound_players(param_00,param_01) +{ + self waittill("trigger",var_02); + var_02 endon("death"); + thread plane_sound_node(); + var_02 thread common_scripts\utility::play_loop_sound_on_entity(param_00); + while(playerisinfront(var_02)) + { + wait(0.05); + } + + wait(0.5); + var_02 thread common_scripts\utility::play_sound_in_space(param_01); + var_02 waittill("reached_end_node"); + var_02 stop_sound(param_00); + var_02 delete(); +} + +//Function Number: 13 +plane_bomb_node() +{ + level._effect["plane_bomb_explosion1"] = loadfx("vfx/ambient_explosion_midair_runner_single"); + level._effect["plane_bomb_explosion2"] = loadfx("vfx/ambient_explosion_midair_runner_single"); + self waittill("trigger",var_00); + var_00 endon("death"); + thread plane_bomb_node(); + var_01 = getentarray(self.script_linkto,"script_linkname"); + var_01 = common_scripts\utility::get_array_of_closest(self.origin,var_01,undefined,var_01.size); + var_02 = 0; + wait(randomfloatrange(0.3,0.8)); + for(var_03 = 0;var_03 < var_01.size;var_03++) + { + var_02++; + if(var_02 == 3) + { + var_02 = 1; + } + + var_01[var_03] thread maps\_utility::play_sound_on_entity("airstrike_explosion"); + playfx(level._effect["plane_bomb_explosion" + var_02],var_01[var_03].origin); + wait(randomfloatrange(0.3,1.2)); + } +} + +//Function Number: 14 +plane_bomb_cluster() +{ + self waittill("trigger",var_00); + var_00 endon("death"); + var_01 = var_00; + var_01 thread plane_bomb_cluster(); + var_02 = spawn("script_model",var_01.origin - (0,0,100)); + var_02.angles = var_01.angles; + var_02 setmodel("projectile_cbu97_clusterbomb"); + var_03 = anglestoforward(var_01.angles) * 2; + var_04 = anglestoup(var_01.angles) * -0.2; + var_05 = []; + for(var_06 = 0;var_06 < 3;var_06++) + { + var_05[var_06] = var_03[var_06] + var_04[var_06] / 2; + } + + var_05 = (var_05[0],var_05[1],var_05[2]); + var_05 = var_05 * 7000; + var_02 movegravity(var_05,2); + wait(1.2); + var_07 = spawn("script_model",var_02.origin); + var_07 setmodel("tag_origin"); + var_07.origin = var_02.origin; + var_07.angles = var_02.angles; + wait(0.05); + var_02 delete(); + var_02 = var_07; + var_08 = var_02.origin; + var_09 = var_02.angles; + playfxontag(level.airstrikefx,var_02,"tag_origin"); + wait(1.6); + var_0A = 12; + var_0B = 5; + var_0C = 55; + var_0D = var_0C - var_0B / var_0A; + for(var_06 = 0;var_06 < var_0A;var_06++) + { + var_0E = anglestoforward(var_09 + (var_0C - var_0D * var_06,randomint(10) - 5,0)); + var_0F = var_08 + var_0E * 10000; + var_10 = bullettrace(var_08,var_0F,0,undefined); + var_11 = var_10["position"]; + radiusdamage(var_11 + (0,0,16),512,400,30); + if(var_06 % 3 == 0) + { + thread common_scripts\utility::play_sound_in_space("airstrike_explosion",var_11); + earthquake(0.7,0.75,var_11,1000); + } + + wait(0.75 / var_0A); + } + + wait(1); + var_02 delete(); +} + +//Function Number: 15 +stop_sound(param_00) +{ + self notify("stop sound" + param_00); +} \ No newline at end of file diff --git a/AW/PC/SP/vehicle_scripts/_mil_cargo_truck.gsc b/AW/PC/vehicle_scripts/_mil_cargo_truck.gsc similarity index 94% rename from AW/PC/SP/vehicle_scripts/_mil_cargo_truck.gsc rename to AW/PC/vehicle_scripts/_mil_cargo_truck.gsc index cee16eb..b1055cc 100644 --- a/AW/PC/SP/vehicle_scripts/_mil_cargo_truck.gsc +++ b/AW/PC/vehicle_scripts/_mil_cargo_truck.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_mil_cargo_truck.gsc + * Decompiled File: _mil_cargo_truck.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 4 - * Decompile Time: 45 ms - * Timestamp: 10/27/2023 2:06:22 AM + * Decompile Time: 67 ms + * Timestamp: 4/22/2024 2:05:09 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/vehicle_scripts/_pdrone.gsc b/AW/PC/vehicle_scripts/_pdrone.gsc similarity index 94% rename from AW/PC/SP/vehicle_scripts/_pdrone.gsc rename to AW/PC/vehicle_scripts/_pdrone.gsc index 1134408..c57a2d9 100644 --- a/AW/PC/SP/vehicle_scripts/_pdrone.gsc +++ b/AW/PC/vehicle_scripts/_pdrone.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_pdrone.gsc + * Decompiled File: _pdrone.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 68 - * Decompile Time: 844 ms - * Timestamp: 10/27/2023 2:06:25 AM + * Decompile Time: 995 ms + * Timestamp: 4/22/2024 2:05:12 AM *******************************************************************/ //Function Number: 1 @@ -829,15 +829,28 @@ handle_death() switch(var_00) { case 0: + death_crash_nearby_player(self.last_damage_attacker); break; case 1: + thread death_spiral(self.last_damage_attacker); break; case 2: + thread death_rocket_out_of_control(self.last_damage_attacker); break; } } + else + { + play_death_explosion_fx(); + } + + if(isdefined(self)) + { + self notify("crash_done"); + self delete(); + } } //Function Number: 30 @@ -1223,12 +1236,16 @@ pdrone_ai_deploy(param_00) switch(var_02.animation) { case "drone_deploy_crouch_to_crouch_guy": + var_06 = "Cover Crouch"; break; case "drone_deploy_crouch_to_run_guy": + var_05 = 1; + var_06 = "Cover Crouch"; break; case "drone_deploy_run_to_run_guy": + var_05 = 1; break; case "drone_deploy_run_to_stand_guy": @@ -1237,6 +1254,61 @@ pdrone_ai_deploy(param_00) default: break; } + + var_07 = getsubstr(var_02.animation,0,var_02.animation.size - 4); + var_08 = spawn("script_model",var_01 gettagorigin("J_Spine4")); + var_08 setmodel(var_04.model); + var_09 = var_01 gettagangles("J_Spine4"); + var_08.angles = var_09; + var_08 linkto(var_01,"J_Spine4",(-3.746,-9.852,-0.08),(0,0,90)); + var_08.animname = "personal_drone"; + var_08 useanimtree(level.scr_animtree["personal_drone"]); + var_08 setanim(level.scr_anim["personal_drone"]["personal_drone_folded_idle"][0],1,0); + var_01.ignoreall = 1; + if(isdefined(var_06)) + { + var_03 maps\_anim::anim_reach_and_approach_solo(var_01,var_07,undefined,var_06); + } + else + { + var_03 maps\_anim::anim_generic_reach(var_01,var_07); + } + + var_03 maps\_anim::anim_generic_reach(var_01,var_07); + if(isdefined(var_05) && var_05) + { + var_03 thread maps\_anim::anim_generic_run(var_01,var_07); + } + else + { + var_03 thread maps\_anim::anim_generic(var_01,var_07); + } + + var_04.origin = var_08.origin; + var_04.angles = var_08.angles; + var_0A = var_04 maps\_utility::spawn_vehicle(); + if(isdefined(var_0A.target)) + { + var_0B = 0; + } + else + { + var_0B = 1; + var_0A.owner = var_01; + } + + var_0A.pacifist = 1; + var_08 delete(); + var_0A.animname = "personal_drone"; + var_03 maps\_anim::anim_single_solo(var_0A,var_07); + var_0A.pacifist = undefined; + var_01.ignoreall = 0; + if(!var_0B) + { + var_0A maps\_vehicle::gopath(); + } + + return var_01; } //Function Number: 39 @@ -1831,9 +1903,20 @@ setup_pdrone_animations() switch(self.classname) { case "script_vehicle_pdrone_kva": + level.scr_anim["personal_drone"]["idle"][0] = %hms_greece_pdrone_idle_01; + level.scr_anim["personal_drone"]["idle"][1] = %hms_greece_pdrone_idle_02; + level.scr_anim["personal_drone"]["hit_reaction"][0] = %hms_greece_pdrone_hitreaction_01; + level.scr_anim["personal_drone"]["hit_reaction"][1] = %hms_greece_pdrone_hitreaction_02; + level.scr_anim["personal_drone"]["hit_reaction"][2] = %hms_greece_pdrone_hitreaction_03; + level.scr_anim["personal_drone"]["reload"][1] = %hms_greece_pdrone_reload_01; break; case "script_vehicle_pdrone_atlas_large": + level.scr_anim["personal_drone"]["idle"][0] = %atlas_assault_drone_idle_01; + level.scr_anim["personal_drone"]["idle"][1] = %atlas_assault_drone_idle_02; + level.scr_anim["personal_drone"]["hit_reaction"][0] = %atlas_assault_drone_hitreaction_01; + level.scr_anim["personal_drone"]["hit_reaction"][1] = %atlas_assault_drone_hitreaction_02; + level.scr_anim["personal_drone"]["hit_reaction"][2] = %atlas_assault_drone_hitreaction_03; break; default: diff --git a/AW/PC/SP/vehicle_scripts/_pdrone_aud.gsc b/AW/PC/vehicle_scripts/_pdrone_aud.gsc similarity index 99% rename from AW/PC/SP/vehicle_scripts/_pdrone_aud.gsc rename to AW/PC/vehicle_scripts/_pdrone_aud.gsc index 870b1c2..82a223e 100644 --- a/AW/PC/SP/vehicle_scripts/_pdrone_aud.gsc +++ b/AW/PC/vehicle_scripts/_pdrone_aud.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_pdrone_aud.gsc + * Decompiled File: _pdrone_aud.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 37 - * Decompile Time: 450 ms - * Timestamp: 10/27/2023 2:06:27 AM + * Decompile Time: 532 ms + * Timestamp: 4/22/2024 2:05:14 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/vehicle_scripts/_pdrone_player.gsc b/AW/PC/vehicle_scripts/_pdrone_player.gsc similarity index 97% rename from AW/PC/SP/vehicle_scripts/_pdrone_player.gsc rename to AW/PC/vehicle_scripts/_pdrone_player.gsc index 003847d..f9bb778 100644 --- a/AW/PC/SP/vehicle_scripts/_pdrone_player.gsc +++ b/AW/PC/vehicle_scripts/_pdrone_player.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_pdrone_player.gsc + * Decompiled File: _pdrone_player.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 69 - * Decompile Time: 857 ms - * Timestamp: 10/27/2023 2:06:30 AM + * Decompile Time: 1059 ms + * Timestamp: 4/22/2024 2:05:18 AM *******************************************************************/ //Function Number: 1 @@ -111,29 +111,45 @@ pdrone_deploy_check(param_00,param_01,param_02) var_04 = 1; var_05 = common_scripts\utility::flat_angle(level.player getgunangles()); var_06 = 0; - var_07 = 0; - if(var_07 <= 5) + for(var_07 = 0;var_07 <= 5;var_07++) { var_08 = (1,0,0); var_09 = var_05; switch(var_07) { case 1: + var_09 = (-1 * param_02,var_09[1] - param_01,0); + var_08 = (0,1,0); break; case 2: + var_09 = (0,var_09[1] - param_01,0); + var_08 = (0,0,1); break; case 3: + var_09 = (0,var_09[1] + param_01,0); + var_08 = (1,1,1); break; case 4: + var_09 = (-1 * param_02,var_09[1] + param_01,0); + var_08 = (0,0,0); break; case 5: + var_09 = (-1 * param_02,var_09[1] - param_01,0); + var_08 = (1,1,0); break; } + + var_0A = var_03 + anglestoforward(var_09) * param_00; + var_0B = playerphysicstrace(var_03,var_0A); + var_0C = length(var_0B - var_0A); + var_04 = var_0C == 0; } + + return var_04; } //Function Number: 11 diff --git a/AW/PC/SP/vehicle_scripts/_pdrone_player_aud.gsc b/AW/PC/vehicle_scripts/_pdrone_player_aud.gsc similarity index 98% rename from AW/PC/SP/vehicle_scripts/_pdrone_player_aud.gsc rename to AW/PC/vehicle_scripts/_pdrone_player_aud.gsc index e23491c..9912f1c 100644 --- a/AW/PC/SP/vehicle_scripts/_pdrone_player_aud.gsc +++ b/AW/PC/vehicle_scripts/_pdrone_player_aud.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_pdrone_player_aud.gsc + * Decompiled File: _pdrone_player_aud.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 7 - * Decompile Time: 88 ms - * Timestamp: 10/27/2023 2:06:30 AM + * Decompile Time: 130 ms + * Timestamp: 4/22/2024 2:05:18 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/vehicle_scripts/_pdrone_security.gsc b/AW/PC/vehicle_scripts/_pdrone_security.gsc similarity index 98% rename from AW/PC/SP/vehicle_scripts/_pdrone_security.gsc rename to AW/PC/vehicle_scripts/_pdrone_security.gsc index 44ddf5f..ef73c69 100644 --- a/AW/PC/SP/vehicle_scripts/_pdrone_security.gsc +++ b/AW/PC/vehicle_scripts/_pdrone_security.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_pdrone_security.gsc + * Decompiled File: _pdrone_security.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 85 - * Decompile Time: 1091 ms - * Timestamp: 10/27/2023 2:06:34 AM + * Decompile Time: 1215 ms + * Timestamp: 4/22/2024 2:05:22 AM *******************************************************************/ //Function Number: 1 @@ -2515,9 +2515,34 @@ drone_set_mode(param_00,param_01) switch(param_00) { case "patrol": + var_02.fovcosinez = cos(15); + var_02.fovcosine = cos(55); + var_02 notify("stealth_spotted_drone_death_monitor"); + var_02 clearlookatent(); + var_02 cleargoalyaw(); + var_02 notify("pdrone_targeting"); + var_02 notify("pdrone_flying_attack_drone_logic"); + if(param_01) + { + var_02 thread drone_alert_sight("attack",var_02.scantag,300,1,2); + var_02 thread drone_wait_for_attack(); + var_02 thread drone_corpse_monitor(); + } + + if(isdefined(var_04)) + { + var_02 thread drone_security_prepare_patrol(var_03); + } break; case "attack": + var_02.fovcosinez = cos(60); + var_02.fovcosine = cos(60); + var_02 notify("drone_investigate"); + var_02 notify("drone_corpse_monitor"); + var_02 notify("drone_alert_sight"); + var_02 notify("drone_wait_for_attack"); + var_02 thread drone_security_prepare_attack(var_03); break; } } diff --git a/AW/PC/SP/vehicle_scripts/_pdrone_security_aud.gsc b/AW/PC/vehicle_scripts/_pdrone_security_aud.gsc similarity index 99% rename from AW/PC/SP/vehicle_scripts/_pdrone_security_aud.gsc rename to AW/PC/vehicle_scripts/_pdrone_security_aud.gsc index 076d2f0..effafb0 100644 --- a/AW/PC/SP/vehicle_scripts/_pdrone_security_aud.gsc +++ b/AW/PC/vehicle_scripts/_pdrone_security_aud.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_pdrone_security_aud.gsc + * Decompiled File: _pdrone_security_aud.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 13 - * Decompile Time: 157 ms - * Timestamp: 10/27/2023 2:06:35 AM + * Decompile Time: 228 ms + * Timestamp: 4/22/2024 2:05:23 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/vehicle_scripts/_pdrone_tactical_picker.gsc b/AW/PC/vehicle_scripts/_pdrone_tactical_picker.gsc similarity index 99% rename from AW/PC/SP/vehicle_scripts/_pdrone_tactical_picker.gsc rename to AW/PC/vehicle_scripts/_pdrone_tactical_picker.gsc index b0ac355..4f2f22a 100644 --- a/AW/PC/SP/vehicle_scripts/_pdrone_tactical_picker.gsc +++ b/AW/PC/vehicle_scripts/_pdrone_tactical_picker.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_pdrone_tactical_picker.gsc + * Decompiled File: _pdrone_tactical_picker.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 36 - * Decompile Time: 453 ms - * Timestamp: 10/27/2023 2:06:36 AM + * Decompile Time: 509 ms + * Timestamp: 4/22/2024 2:05:25 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/vehicle_scripts/_pdrone_threat_sensor.gsc b/AW/PC/vehicle_scripts/_pdrone_threat_sensor.gsc similarity index 96% rename from AW/PC/SP/vehicle_scripts/_pdrone_threat_sensor.gsc rename to AW/PC/vehicle_scripts/_pdrone_threat_sensor.gsc index 5b37e43..a2ffc0e 100644 --- a/AW/PC/SP/vehicle_scripts/_pdrone_threat_sensor.gsc +++ b/AW/PC/vehicle_scripts/_pdrone_threat_sensor.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_pdrone_threat_sensor.gsc + * Decompiled File: _pdrone_threat_sensor.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 9 - * Decompile Time: 118 ms - * Timestamp: 10/27/2023 2:06:37 AM + * Decompile Time: 132 ms + * Timestamp: 4/22/2024 2:05:26 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/vehicle_scripts/_pitbull.gsc b/AW/PC/vehicle_scripts/_pitbull.gsc similarity index 97% rename from AW/PC/SP/vehicle_scripts/_pitbull.gsc rename to AW/PC/vehicle_scripts/_pitbull.gsc index 95bb255..7a1ebf2 100644 --- a/AW/PC/SP/vehicle_scripts/_pitbull.gsc +++ b/AW/PC/vehicle_scripts/_pitbull.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_pitbull.gsc + * Decompiled File: _pitbull.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 6 - * Decompile Time: 72 ms - * Timestamp: 10/27/2023 2:06:37 AM + * Decompile Time: 112 ms + * Timestamp: 4/22/2024 2:05:26 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/vehicle_scripts/_pitbull_aud.gsc b/AW/PC/vehicle_scripts/_pitbull_aud.gsc similarity index 99% rename from AW/PC/SP/vehicle_scripts/_pitbull_aud.gsc rename to AW/PC/vehicle_scripts/_pitbull_aud.gsc index 4b8769c..ca20c8e 100644 --- a/AW/PC/SP/vehicle_scripts/_pitbull_aud.gsc +++ b/AW/PC/vehicle_scripts/_pitbull_aud.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_pitbull_aud.gsc + * Decompiled File: _pitbull_aud.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 15 - * Decompile Time: 187 ms - * Timestamp: 10/27/2023 2:06:38 AM + * Decompile Time: 253 ms + * Timestamp: 4/22/2024 2:05:27 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/vehicle_scripts/_razorback.gsc b/AW/PC/vehicle_scripts/_razorback.gsc similarity index 99% rename from AW/PC/SP/vehicle_scripts/_razorback.gsc rename to AW/PC/vehicle_scripts/_razorback.gsc index 704f746..373cdd6 100644 --- a/AW/PC/SP/vehicle_scripts/_razorback.gsc +++ b/AW/PC/vehicle_scripts/_razorback.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_razorback.gsc + * Decompiled File: _razorback.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 38 - * Decompile Time: 512 ms - * Timestamp: 10/27/2023 2:06:40 AM + * Decompile Time: 544 ms + * Timestamp: 4/22/2024 2:05:29 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/vehicle_scripts/_razorback_fx.gsc b/AW/PC/vehicle_scripts/_razorback_fx.gsc similarity index 98% rename from AW/PC/SP/vehicle_scripts/_razorback_fx.gsc rename to AW/PC/vehicle_scripts/_razorback_fx.gsc index 56ec236..ec7831c 100644 --- a/AW/PC/SP/vehicle_scripts/_razorback_fx.gsc +++ b/AW/PC/vehicle_scripts/_razorback_fx.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_razorback_fx.gsc + * Decompiled File: _razorback_fx.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 31 - * Decompile Time: 376 ms - * Timestamp: 10/27/2023 2:06:42 AM + * Decompile Time: 444 ms + * Timestamp: 4/22/2024 2:05:31 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/vehicle_scripts/_s19.gsc b/AW/PC/vehicle_scripts/_s19.gsc new file mode 100644 index 0000000..f50a981 --- /dev/null +++ b/AW/PC/vehicle_scripts/_s19.gsc @@ -0,0 +1,122 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _s19.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 8 + * Decompile Time: 124 ms + * Timestamp: 4/22/2024 2:05:31 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + maps\_vehicle::build_template("s19_player",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_deathmodel("vehicle_mig29"); + maps\_vehicle::build_deathmodel("vehicle_mig29_low"); + maps\_vehicle::build_treadfx(); + level._effect["s19_engineeffect"] = loadfx("vfx/map/baghdad/bagh_sentinel_jet_mainengines"); + level._effect["s19_afterburner"] = loadfx("fx/fire/jet_afterburner_ignite"); + level._effect["s19_contrail"] = loadfx("vfx/trail/jet_contrail_cheap"); + maps\_vehicle::build_deathfx("vfx/map/baghdad/bagh_aircraft_explosion_midair",undefined,"explo_metal_rand"); + maps\_vehicle::build_life(999,500,1500); + maps\_vehicle::build_team("allies"); + var_03 = randomfloatrange(0,1); + maps\_vehicle::build_light(param_02,"wingtip_green","tag_left_wingtip","fx/misc/aircraft_light_wingtip_green","running",var_03); + maps\_vehicle::build_light(param_02,"wingtip_red","tag_right_wingtip","fx/misc/aircraft_light_wingtip_red","running",var_03); + maps\_vehicle::build_is_airplane(); + maps\_vehicle::build_death_jolt_delay(9999); +} + +//Function Number: 2 +init_local() +{ + thread playengineeffects(); + thread fx_contrail_handler(); + thread landing_gear_up(); +} + +//Function Number: 3 +landing_gear_up() +{ + self useanimtree(#animtree); + self setanim(%mig_landing_gear_up); +} + +//Function Number: 4 +playengineeffects() +{ + self endon("death"); + self endon("stop_engineeffects"); + maps\_utility::ent_flag_init("engineeffects"); + maps\_utility::ent_flag_set("engineeffects"); + var_00 = common_scripts\utility::getfx("s19_engineeffect"); + for(;;) + { + maps\_utility::ent_flag_wait("engineeffects"); + playfxontag(var_00,self,"tag_engine_left"); + maps\_utility::ent_flag_waitopen("engineeffects"); + stopfxontag(var_00,self,"tag_engine_left"); + } +} + +//Function Number: 5 +playafterburner() +{ + playfxontag(level._effect["s19_afterburner"],self,"tag_engine_right"); + playfxontag(level._effect["s19_afterburner"],self,"tag_engine_left"); +} + +//Function Number: 6 +playcontrail() +{ + playfxontag(level._effect["s19_contrail"],self,"tag_right_wingtip"); + playfxontag(level._effect["s19_contrail"],self,"tag_left_wingtip"); +} + +//Function Number: 7 +stopcontrail() +{ + stopfxontag(level._effect["s19_contrail"],self,"tag_right_wingtip"); + stopfxontag(level._effect["s19_contrail"],self,"tag_left_wingtip"); +} + +//Function Number: 8 +fx_contrail_handler() +{ + level endon("death"); + var_00 = 45; + var_01 = 0; + while(isdefined(self)) + { + var_02 = self.angles; + var_03 = var_02[0]; + var_04 = var_02[2]; + var_05 = 0; + if((var_04 > var_00 && var_04 < 360 - var_00) || var_04 < -1 * var_00 && var_04 > -1 * 360 - var_00) + { + var_05 = 1; + } + + if((var_03 > var_00 && var_03 < 360 - var_00) || var_03 < -1 * var_00 && var_03 > -1 * 360 - var_00) + { + var_05 = 1; + } + + if(var_05 && !var_01) + { + playcontrail(); + var_01 = 1; + continue; + } + + if(!var_05 && var_01) + { + stopcontrail(); + var_01 = 0; + } + + wait 0.05; + } +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_sentinel_survey_drone_hud.gsc b/AW/PC/vehicle_scripts/_sentinel_survey_drone_hud.gsc new file mode 100644 index 0000000..73d48bf --- /dev/null +++ b/AW/PC/vehicle_scripts/_sentinel_survey_drone_hud.gsc @@ -0,0 +1,279 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _sentinel_survey_drone_hud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 10 + * Decompile Time: 156 ms + * Timestamp: 4/22/2024 2:05:32 AM +*******************************************************************/ + +//Function Number: 1 +hud_precache() +{ + precacheshader("sentinel_drone_overlay"); + precacheshader("sentinel_drone_scanlines"); + precacheshader("sentinel_drone_target"); + precacheshader("sentinel_drone_cam_name_1"); + precacheshader("sentinel_drone_cam_name_2"); + precacheshader("sentinel_drone_reticle"); + precacheshader("cinematic_screen"); + precacheshader("white"); + level._effect["drone_cam_distortion"] = loadfx("vfx/code/drone_cam_distortion"); + common_scripts\utility::flag_init("drone_cam_on"); +} + +//Function Number: 2 +hud_start(param_00,param_01,param_02) +{ + setsaveddvar("compass","0"); + setsaveddvar("g_friendlynamedist",0); + setsaveddvar("ammoCounterHide","1"); + setsaveddvar("hud_showStance","0"); + hud_init(param_00,param_01,param_02); +} + +//Function Number: 3 +hud_end() +{ + setsaveddvar("compass","1"); + setsaveddvar("g_friendlynamedist",15000); + setsaveddvar("ammoCounterHide","0"); + setsaveddvar("hud_showStance","1"); +} + +//Function Number: 4 +hud_init(param_00,param_01,param_02) +{ + level.dronehud = []; + level.dronetarget = []; + create_hud_drone_overlay(param_00,param_01,param_02); + wait(0.5); + common_scripts\utility::flag_set("drone_cam_on"); + thread drone_cam_timer(); + thread attachdistortionfx(param_00); +} + +//Function Number: 5 +destroy_sentinel_drone_hud() +{ + foreach(var_01 in level.dronehud) + { + if(isdefined(var_01)) + { + var_01 destroy(); + } + } + + level.dronehudfx delete(); + common_scripts\utility::flag_clear("drone_cam_on"); +} + +//Function Number: 6 +create_hud_drone_overlay(param_00,param_01,param_02) +{ + var_03 = (1,1,1); + var_04 = 1; + if(param_02 == 1) + { + var_05 = newhudelem(); + var_05 setshader("sentinel_drone_cam_name_1",256,32); + var_05.horzalign = "left"; + var_05.vertalign = "top"; + var_05.alpha = var_04; + var_05.color = (1,1,1); + var_05.x = -56; + var_05.y = -32; + var_05.sort = -4; + level.dronehud["camName"] = var_05; + } + else if(param_02 == 2) + { + var_05 = newhudelem(); + var_05 setshader("sentinel_drone_cam_name_2",256,32); + var_05.horzalign = "left"; + var_05.vertalign = "top"; + var_05.alpha = var_04; + var_05.color = (1,1,1); + var_05.x = -56; + var_05.y = -32; + var_05.sort = -4; + level.dronehud["camName"] = var_05; + } + + var_06 = newhudelem(); + var_06 setshader("sentinel_drone_scanlines",640,480); + var_06.horzalign = "fullscreen"; + var_06.vertalign = "fullscreen"; + var_06.alpha = 0.1; + var_06.color = (1,1,1); + var_06.sort = 2; + level.dronehud["scanlines"] = var_06; + var_07 = newhudelem(); + var_07 setshader("sentinel_drone_text_scroll",128,256); + var_07.horzalign = "left"; + var_07.vertalign = "top"; + var_07.alpha = var_04; + var_07.color = (1,1,1); + var_07.x = 0; + var_07.y = 32; + var_07.sort = -4; + level.dronehud["text_scroll"] = var_07; + var_08 = newhudelem(); + var_08 setshader("sentinel_drone_text_scroll",128,256); + var_08.horzalign = "left"; + var_08.vertalign = "bottom"; + var_08.alpha = var_04; + var_08.color = (1,1,1); + var_08.x = 0; + var_08.y = -64; + var_08.sort = -4; + level.dronehud["text_scroll2"] = var_08; + level.dronehud["timer"] = newhudelem(); + level.dronehud["timer"].x = -64; + level.dronehud["timer"].y = -64; + level.dronehud["timer"].color = var_03; + level.dronehud["timer"].horzalign = "center"; + level.dronehud["timer"].vertalign = "bottom"; + level.dronehud["timer"].fontscale = 2.25; + level.dronehud["timer"] settext("00:00:00"); + level.dronehud["timer"].alpha = 1; + level.dronehud["timer"].font = "default"; + level.dronehud["timer"].glowcolor = (1,1,1); + level.dronehud["timer"].glowalpha = 1; + var_09 = newhudelem(); + var_09 setshader("sentinel_drone_reticle",512,512); + var_09.horzalign = "center"; + var_09.vertalign = "middle"; + var_09.alpha = var_04; + var_09.x = -256; + var_09.y = -256; + var_09.sort = 2; + level.dronehud["reticule"] = var_09; + var_0A = -128; + var_0B = 0; + var_0C = newhudelem(); + var_0C setshader("sentinel_drone_pip",128,256); + var_0C.horzalign = "right"; + var_0C.vertalign = "top"; + var_0C.alpha = 0.5; + var_0C.x = var_0A; + var_0C.y = var_0B; + var_0C.sort = 1; + level.dronehud["pip_movie_bg"] = var_0C; + var_0D = newhudelem(); + var_0D setshader("cinematic_screen",128,256); + var_0D.horzalign = "right"; + var_0D.vertalign = "top"; + var_0D.alpha = var_04; + var_0D.x = var_0A; + var_0D.y = var_0B; + var_0D.sort = 2; + level.dronehud["pip_movie"] = var_0D; + var_0E = newhudelem(); + var_0E setshader("sentinel_drone_pip_overlay",128,256); + var_0E.horzalign = "right"; + var_0E.vertalign = "top"; + var_0E.alpha = var_04; + var_0E.x = var_0A; + var_0E.y = var_0B; + var_0E.sort = 2; + level.dronehud["pip_overlay"] = var_0E; + setsaveddvar("cg_cinematicFullScreen","0"); + cinematicingameloopresident("sentinel_drone_pip_black_bg"); +} + +//Function Number: 7 +create_hud_drone_target(param_00) +{ + self endon("death"); + var_01 = (0.25,0.25,0.25); + var_02 = newhudelem(); + var_02 setshader("sentinel_drone_target",64,64); + var_02.color = var_01; + var_02.alpha = 1; + var_02.sort = 2; + var_02 setwaypoint(0,0); + var_02 settargetent(self); + level.dronetarget[level.dronetarget.size + 1] = var_02; +} + +//Function Number: 8 +remove_hud_drone_target() +{ + foreach(var_01 in level.dronetarget) + { + if(isdefined(var_01)) + { + var_01 fadeovertime(0.25); + var_01.alpha = 0; + } + } + + wait(0.25); + foreach(var_01 in level.dronetarget) + { + if(isdefined(var_01)) + { + var_01 destroy(); + } + } + + level notify("remove_hud_drone_target"); +} + +//Function Number: 9 +drone_cam_timer() +{ + level.drone_cam_timer = []; + level.drone_cam_timer["seconds"] = 0; + level.drone_cam_timer["minutes"] = 0; + level.drone_cam_timer["hours"] = 0; + while(common_scripts\utility::flag("drone_cam_on")) + { + level.drone_cam_timer["seconds"]++; + if(level.drone_cam_timer["seconds"] == 60) + { + level.drone_cam_timer["seconds"] = 0; + level.drone_cam_timer["minutes"]++; + } + + if(level.drone_cam_timer["minutes"] == 60) + { + level.drone_cam_timer["minutes"] = 0; + level.drone_cam_timer["hours"]++; + } + + var_00 = maps\_utility::string(level.drone_cam_timer["hours"]); + if(var_00.size == 1) + { + var_00 = "0" + var_00; + } + + var_01 = maps\_utility::string(level.drone_cam_timer["minutes"]); + if(var_01.size == 1) + { + var_01 = "0" + var_01; + } + + var_02 = maps\_utility::string(level.drone_cam_timer["seconds"]); + if(var_02.size == 1) + { + var_02 = "0" + var_02; + } + + var_03 = var_00 + ":" + var_01 + ":" + var_02; + level.dronehud["timer"] settext(var_03); + wait(1); + } +} + +//Function Number: 10 +attachdistortionfx(param_00) +{ + level.dronehudfx = common_scripts\utility::spawn_tag_origin(); + level.dronehudfx.origin = param_00.origin; + level.dronehudfx.angles = param_00.angles; + level.dronehudfx linkto(param_00); + playfxontag(common_scripts\utility::getfx("drone_cam_distortion"),level.dronehudfx,"tag_origin"); +} \ No newline at end of file diff --git a/AW/PC/SP/vehicle_scripts/_shrike.gsc b/AW/PC/vehicle_scripts/_shrike.gsc similarity index 97% rename from AW/PC/SP/vehicle_scripts/_shrike.gsc rename to AW/PC/vehicle_scripts/_shrike.gsc index 455c918..3937427 100644 --- a/AW/PC/SP/vehicle_scripts/_shrike.gsc +++ b/AW/PC/vehicle_scripts/_shrike.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_shrike.gsc + * Decompiled File: _shrike.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 11 - * Decompile Time: 130 ms - * Timestamp: 10/27/2023 2:06:42 AM + * Decompile Time: 164 ms + * Timestamp: 4/22/2024 2:05:33 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/vehicle_scripts/_sidewinder_scripted.gsc b/AW/PC/vehicle_scripts/_sidewinder_scripted.gsc similarity index 92% rename from AW/PC/SP/vehicle_scripts/_sidewinder_scripted.gsc rename to AW/PC/vehicle_scripts/_sidewinder_scripted.gsc index cda9a83..7798441 100644 --- a/AW/PC/SP/vehicle_scripts/_sidewinder_scripted.gsc +++ b/AW/PC/vehicle_scripts/_sidewinder_scripted.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_sidewinder_scripted.gsc + * Decompiled File: _sidewinder_scripted.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 4 - * Decompile Time: 58 ms - * Timestamp: 10/27/2023 2:06:43 AM + * Decompile Time: 68 ms + * Timestamp: 4/22/2024 2:05:33 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/vehicle_scripts/_slamraam.gsc b/AW/PC/vehicle_scripts/_slamraam.gsc new file mode 100644 index 0000000..d2b305d --- /dev/null +++ b/AW/PC/vehicle_scripts/_slamraam.gsc @@ -0,0 +1,36 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _slamraam.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 2 + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 2:05:34 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + maps\_vehicle::build_template("slamraam",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_deathmodel("vehicle_slamraam","vehicle_slamraam_base"); + precachemodel("projectile_slamraam_missile"); + maps\_vehicle::build_deathfx("fx/explosions/vehicle_explosion_slamraam",undefined,"exp_slamraam_destroyed"); + maps\_vehicle::build_life(50); + maps\_vehicle::build_team("allies"); +} + +//Function Number: 2 +init_local() +{ + self.missilemodel = "projectile_slamraam_missile"; + self.missiletags = []; + self.missiletags[0] = "tag_missle1"; + self.missiletags[1] = "tag_missle2"; + self.missiletags[2] = "tag_missle3"; + self.missiletags[3] = "tag_missle4"; + self.missiletags[4] = "tag_missle5"; + self.missiletags[5] = "tag_missle6"; + self.missiletags[6] = "tag_missle7"; + self.missiletags[7] = "tag_missle8"; +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_sniper_drone.gsc b/AW/PC/vehicle_scripts/_sniper_drone.gsc new file mode 100644 index 0000000..5f7bd41 --- /dev/null +++ b/AW/PC/vehicle_scripts/_sniper_drone.gsc @@ -0,0 +1,65 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _sniper_drone.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 6 + * Decompile Time: 91 ms + * Timestamp: 4/22/2024 2:05:34 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + precachemodel(param_00); + level._effect["drone_fan_distortion"] = loadfx("vfx/distortion/sniper_drone_runner"); + maps\_vehicle::build_treadfx(param_02,"default","vfx/treadfx/heli_dust_default"); + maps\_vehicle::build_template("sniper_drone",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_life(499); + maps\_vehicle::build_team("allies"); + maps\_vehicle::build_is_helicopter(); +} + +//Function Number: 2 +set_vehicle_anims(param_00) +{ + return param_00; +} + +//Function Number: 3 +set_ai_anims() +{ + var_00 = []; + var_00[0] = spawnstruct(); + var_00[0].sittag = "tag_player"; + var_00[0].bhasgunwhileriding = 1; + return var_00; +} + +//Function Number: 4 +init_local() +{ + thread pdrone_flying_fx(); + thread start_sniper_drone_audio(); +} + +//Function Number: 5 +pdrone_flying_fx() +{ + self endon("death"); + if(self.classname == "script_vehicle_sniper_drone") + { + playfxontag(common_scripts\utility::getfx("drone_fan_distortion"),self,"TAG_ORIGIN"); + } +} + +//Function Number: 6 +start_sniper_drone_audio() +{ + var_00 = spawnstruct(); + var_00.preset_name = "sniper_drone"; + var_01 = ::vehicle_scripts\_sniper_drone_aud::snd_sniper_drone_constructor; + soundscripts\_snd::snd_message("snd_register_vehicle",var_00.preset_name,var_01); + soundscripts\_snd::snd_message("snd_start_vehicle",var_00); +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_sniper_drone_aud.gsc b/AW/PC/vehicle_scripts/_sniper_drone_aud.gsc new file mode 100644 index 0000000..3943d9b --- /dev/null +++ b/AW/PC/vehicle_scripts/_sniper_drone_aud.gsc @@ -0,0 +1,185 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _sniper_drone_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 7 + * Decompile Time: 143 ms + * Timestamp: 4/22/2024 2:05:35 AM +*******************************************************************/ + +//Function Number: 1 +snd_sniper_drone_constructor() +{ + soundscripts\_audio_vehicle_manager::avm_begin_preset_def("sniper_drone",::sniper_drone_init); + soundscripts\_audio_vehicle_manager::avm_add_envelope("sniper_drone_hover_spd2vol",[[0,1],[30,0.5]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("sniper_drone_hover_spd2pch",[[0,1],[30,1.2]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("sniper_drone_fly_spd2vol",[[7,0],[8,1],[30,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("sniper_drone_fly_spd2pch",[[8,1],[30,1.1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("sniper_drone_look_spd2vol",[[0.09,0],[0.1,1],[1,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("sniper_drone_look_hover_spd2vol",[[2,1],[8,0]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("sniper_drone_no_duck_envelope",[[0,1],[1,1]]); + soundscripts\_audio_vehicle_manager::avm_begin_loop_data(1,0.6,0.5); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("veh_wasp_idle_lp"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("SPEED"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","sniper_drone_hover_spd2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","sniper_drone_hover_spd2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("veh_wasp_drive_med_lp"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("SPEED"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","sniper_drone_fly_spd2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","sniper_drone_fly_spd2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("veh_wasp_look_lp"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("look"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","sniper_drone_look_spd2vol"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","sniper_drone_look_hover_spd2vol"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_end_loop_data(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_data(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("veh_wasp_drive_med_start","sniper_drone_no_duck_envelope",0.25,0); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("veh_wasp_drive_med_stop","sniper_drone_no_duck_envelope",0.25,0); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("veh_wasp_look_start","sniper_drone_no_duck_envelope",0.25,0); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("veh_wasp_look_stop","sniper_drone_no_duck_envelope",0.25,0); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_data(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_data(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_hover",::sniper_drone_condition_callback_to_state_hover,["speed"]); + soundscripts\_audio_vehicle_manager::avm_add_loops("all"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_start_flying",::sniper_drone_condition_callback_to_state_flying,["speed"]); + soundscripts\_audio_vehicle_manager::avm_add_oneshots("veh_wasp_drive_med_start"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_flying",::sniper_drone_condition_callback_to_state_flying,["speed"]); + soundscripts\_audio_vehicle_manager::avm_add_loops(["veh_wasp_idle_lp","veh_wasp_drive_med_lp"]); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_stop_flying",::sniper_drone_condition_callback_to_state_hover,["speed"]); + soundscripts\_audio_vehicle_manager::avm_add_oneshots("veh_wasp_drive_med_stop"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_idle",::sniper_drone_condition_callback_to_state_idle,["look","speed"]); + soundscripts\_audio_vehicle_manager::avm_add_loops("all"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_start_looking",::sniper_drone_condition_callback_to_state_looking,["look","speed"]); + soundscripts\_audio_vehicle_manager::avm_add_oneshots("veh_wasp_look_start"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_looking",::sniper_drone_condition_callback_to_state_looking,["look","speed"]); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_stop_looking",::sniper_drone_condition_callback_to_state_idle,["look","speed"]); + soundscripts\_audio_vehicle_manager::avm_add_oneshots("veh_wasp_look_stop"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_end_behavior_data(); + soundscripts\_audio_vehicle_manager::avm_begin_state_data(0.25,50); + soundscripts\_audio_vehicle_manager::avm_begin_state_group("movement","state_hover","to_state_hover",50,1); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_hover"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_start_flying","to_state_start_flying"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_start_flying"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_flying","to_state_flying"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_hover","to_state_hover"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_flying"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_stop_flying","to_state_stop_flying"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_stop_flying"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_hover","to_state_hover"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_flying","to_state_flying"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_end_state_group(); + soundscripts\_audio_vehicle_manager::avm_begin_state_group("look","state_idle","to_state_idle",50,1); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_idle"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_start_looking","to_state_start_looking"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_start_looking"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_looking","to_state_looking"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_idle","to_state_idle"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_looking"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_stop_looking","to_state_stop_looking"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_stop_looking"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_idle","to_state_idle"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_looking","to_state_looking"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_end_state_group(); + soundscripts\_audio_vehicle_manager::avm_end_state_data(); + soundscripts\_audio_vehicle_manager::avm_end_preset_def(); +} + +//Function Number: 2 +sniper_drone_init(param_00) +{ + soundscripts\_audio_vehicle_manager::avm_register_callback("look",::sniper_drone_callback_look); + var_01 = soundscripts\_audio_vehicle_manager::avmx_get_vehicle_entity(); +} + +//Function Number: 3 +sniper_drone_callback_look() +{ + var_00 = level.player getnormalizedcameramovements(); + var_01 = abs(var_00[0]); + var_02 = abs(var_00[1]); + if(var_01 > var_02) + { + return var_01; + } + + return var_02; +} + +//Function Number: 4 +sniper_drone_condition_callback_to_state_hover(param_00,param_01) +{ + var_02 = param_00["speed"]; + if(var_02 <= 8) + { + return 1; + } + + return 0; +} + +//Function Number: 5 +sniper_drone_condition_callback_to_state_flying(param_00,param_01) +{ + var_02 = param_00["speed"]; + if(var_02 > 8) + { + return 1; + } + + return 0; +} + +//Function Number: 6 +sniper_drone_condition_callback_to_state_idle(param_00,param_01) +{ + var_02 = param_00["look"]; + var_03 = param_00["speed"]; + if(var_02 <= 0.1 || var_03 > 2) + { + return 1; + } + + return 0; +} + +//Function Number: 7 +sniper_drone_condition_callback_to_state_looking(param_00,param_01) +{ + var_02 = param_00["look"]; + var_03 = param_00["speed"]; + if(var_02 > 0.1 && var_03 <= 2) + { + return 1; + } + + return 0; +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_uk_delivery_truck.gsc b/AW/PC/vehicle_scripts/_uk_delivery_truck.gsc new file mode 100644 index 0000000..94bd239 --- /dev/null +++ b/AW/PC/vehicle_scripts/_uk_delivery_truck.gsc @@ -0,0 +1,83 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _uk_delivery_truck.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 5 + * Decompile Time: 92 ms + * Timestamp: 4/22/2024 2:05:35 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + maps\_vehicle::build_template("uk_delivery_truck",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_deathmodel(param_00,"vehicle_uk_delivery_truck_destroyed"); + maps\_vehicle::build_deathfx("fx/explosions/large_vehicle_explosion",undefined,"car_explode",undefined,undefined,undefined,0); + maps\_vehicle::build_radiusdamage((0,0,32),300,200,100,0); + maps\_vehicle::build_drive(%uaz_driving_idle_forward,%uaz_driving_idle_backward,10); + maps\_vehicle::build_deathquake(1,1.6,500); + maps\_vehicle::build_treadfx(); + maps\_vehicle::build_life(999,500,1500); + maps\_vehicle::build_team("axis"); + var_03 = ::setanims; + maps\_vehicle::build_aianims(var_03,::set_vehicle_anims); +} + +//Function Number: 2 +init_local() +{ +} + +//Function Number: 3 +unload_groups() +{ + var_00 = []; + var_01 = "passengers"; + var_00[var_01] = []; + var_00[var_01][var_00[var_01].size] = 1; + var_01 = "all"; + var_00[var_01] = []; + var_00[var_01][var_00[var_01].size] = 0; + var_00[var_01][var_00[var_01].size] = 1; + var_00["default"] = var_00["all"]; + return var_00; +} + +//Function Number: 4 +set_vehicle_anims(param_00) +{ + param_00[0].vehicle_getoutanim = %uaz_driver_exit_into_run_door; + param_00[0].vehicle_getoutanim_clear = 0; + param_00[1].vehicle_getoutanim = %innocent_truck_exit_passenger_fwd_truck; + param_00[1].vehicle_getoutanim_clear = 0; + param_00[0].vehicle_getinanim = %humvee_mount_frontl_door; + param_00[1].vehicle_getinanim = %humvee_mount_frontr_door; + param_00[0].vehicle_getoutsound = "ukdelivery_door_open"; + param_00[1].vehicle_getoutsound = "ukdelivery_door_open"; + param_00[0].vehicle_getinsound = "ukdelivery_door_close"; + param_00[1].vehicle_getinsound = "ukdelivery_door_close"; + return param_00; +} + +//Function Number: 5 +setanims() +{ + var_00 = []; + for(var_01 = 0;var_01 < 4;var_01++) + { + var_00[var_01] = spawnstruct(); + } + + var_00[0].sittag = "tag_driver"; + var_00[1].sittag = "tag_passenger"; + var_00[0].bhasgunwhileriding = 0; + var_00[0].idle = %technical_driver_idle; + var_00[1].idle = %technical_passenger_idle; + var_00[0].getout = %pickup_passenger_climb_out; + var_00[1].getout = %innocent_truck_exit_passenger_fwd; + var_00[0].getin = %pickup_driver_climb_in; + var_00[1].getin = %pickup_passenger_climb_in; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/SP/vehicle_scripts/_vehicle_missile_launcher_ai.gsc b/AW/PC/vehicle_scripts/_vehicle_missile_launcher_ai.gsc similarity index 98% rename from AW/PC/SP/vehicle_scripts/_vehicle_missile_launcher_ai.gsc rename to AW/PC/vehicle_scripts/_vehicle_missile_launcher_ai.gsc index fc4f45c..93c8eeb 100644 --- a/AW/PC/SP/vehicle_scripts/_vehicle_missile_launcher_ai.gsc +++ b/AW/PC/vehicle_scripts/_vehicle_missile_launcher_ai.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_vehicle_missile_launcher_ai.gsc + * Decompiled File: _vehicle_missile_launcher_ai.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 11 - * Decompile Time: 142 ms - * Timestamp: 10/27/2023 2:06:43 AM + * Decompile Time: 163 ms + * Timestamp: 4/22/2024 2:05:36 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/vehicle_scripts/_vehicle_multiweapon_util.gsc b/AW/PC/vehicle_scripts/_vehicle_multiweapon_util.gsc similarity index 96% rename from AW/PC/SP/vehicle_scripts/_vehicle_multiweapon_util.gsc rename to AW/PC/vehicle_scripts/_vehicle_multiweapon_util.gsc index c61b347..4bc23c1 100644 --- a/AW/PC/SP/vehicle_scripts/_vehicle_multiweapon_util.gsc +++ b/AW/PC/vehicle_scripts/_vehicle_multiweapon_util.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_vehicle_multiweapon_util.gsc + * Decompiled File: _vehicle_multiweapon_util.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 10 - * Decompile Time: 112 ms - * Timestamp: 10/27/2023 2:06:44 AM + * Decompile Time: 154 ms + * Timestamp: 4/22/2024 2:05:37 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/vehicle_scripts/_vehicle_turret_ai.gsc b/AW/PC/vehicle_scripts/_vehicle_turret_ai.gsc similarity index 98% rename from AW/PC/SP/vehicle_scripts/_vehicle_turret_ai.gsc rename to AW/PC/vehicle_scripts/_vehicle_turret_ai.gsc index cd4ac75..d7e89e1 100644 --- a/AW/PC/SP/vehicle_scripts/_vehicle_turret_ai.gsc +++ b/AW/PC/vehicle_scripts/_vehicle_turret_ai.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_vehicle_turret_ai.gsc + * Decompiled File: _vehicle_turret_ai.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 20 - * Decompile Time: 253 ms - * Timestamp: 10/27/2023 2:06:45 AM + * Decompile Time: 278 ms + * Timestamp: 4/22/2024 2:05:38 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/vehicle_scripts/_vrap.gsc b/AW/PC/vehicle_scripts/_vrap.gsc new file mode 100644 index 0000000..3cff5cd --- /dev/null +++ b/AW/PC/vehicle_scripts/_vrap.gsc @@ -0,0 +1,160 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _vrap.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 8 + * Decompile Time: 140 ms + * Timestamp: 4/22/2024 2:05:39 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + maps\_vehicle::build_template("vrap_base",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::init_local); + maps\_vehicle::build_unload_groups(::unload_groups); + maps\_vehicle::build_drive(%humvee_50cal_driving_idle_forward,%humvee_50cal_driving_idle_backward,10); + maps\_vehicle::build_treadfx(); + maps\_vehicle::build_life(999,500,1500); + maps\_vehicle::build_team("axis"); + if(issubstr(param_02,"turret")) + { + maps\_vehicle::build_aianims(::setanims_turret,::set_vehicle_anims); + maps\_vehicle::build_turret("vrap_turret","tag_turret","weapon_vrap_turret",undefined,"auto_nonai",0.2,10,-14); + } + else + { + maps\_vehicle::build_aianims(::setanims,::set_vehicle_anims); + } + + build_vrap_death(param_02); + maps\_vehicle::build_light(param_02,"headlight_L","TAG_HEADLIGHT_LEFT","vfx/lights/headlight_gaz_bright","running",0); + maps\_vehicle::build_light(param_02,"headlight_R","TAG_HEADLIGHT_RIGHT","vfx/lights/headlight_gaz_bright","running",0); + maps\_vehicle::build_light(param_02,"brakelight_L","TAG_BRAKELIGHT_LEFT","vfx/lights/taillight_gaz","running",0); + maps\_vehicle::build_light(param_02,"brakelight_R","TAG_BRAKELIGHT_RIGHT","vfx/lights/taillight_gaz","running",0); + maps\_vehicle::build_light(param_02,"headlight_L","TAG_HEADLIGHT_LEFT","vfx/lights/headlight_gaz_bright","headlights",0); + maps\_vehicle::build_light(param_02,"headlight_R","TAG_HEADLIGHT_RIGHT","vfx/lights/headlight_gaz_bright","headlights",0); + maps\_vehicle::build_light(param_02,"brakelight_L","TAG_BRAKELIGHT_LEFT","vfx/lights/taillight_gaz","headlights",0); + maps\_vehicle::build_light(param_02,"brakelight_R","TAG_BRAKELIGHT_RIGHT","vfx/lights/taillight_gaz","headlights",0); + maps\_vehicle::build_deathfx("vfx/explosion/vehicle_civ_ai_explo_lrg_runner","TAG_DEATH_FX"); +} + +//Function Number: 2 +init_local() +{ + soundscripts\_snd::snd_message("vrap_spawn",self); + soundscripts\_snd::snd_message("vrap_explode"); + self.playermech_rocket_targeting_allowed = 1; +} + +//Function Number: 3 +unload_groups() +{ + var_00 = []; + var_01 = "passengers"; + var_00[var_01] = []; + var_00[var_01][var_00[var_01].size] = 1; + var_00[var_01][var_00[var_01].size] = 2; + var_00[var_01][var_00[var_01].size] = 3; + var_01 = "all_but_gunner"; + var_00[var_01] = []; + var_00[var_01][var_00[var_01].size] = 0; + var_00[var_01][var_00[var_01].size] = 1; + var_00[var_01][var_00[var_01].size] = 2; + var_01 = "rear_driver_side"; + var_00[var_01] = []; + var_00[var_01][var_00[var_01].size] = 2; + var_01 = "all"; + var_00[var_01] = []; + var_00[var_01][var_00[var_01].size] = 0; + var_00[var_01][var_00[var_01].size] = 1; + var_00[var_01][var_00[var_01].size] = 2; + var_00[var_01][var_00[var_01].size] = 3; + var_00["default"] = var_00["all"]; + return var_00; +} + +//Function Number: 4 +build_vrap_death(param_00) +{ + maps\_vehicle::build_deathmodel("vehicle_mil_humvee","vehicle_atlas_humvee_dstrypv"); + maps\_vehicle::build_deathquake(1,1.6,500); + maps\_vehicle::build_radiusdamage((0,0,32),300,200,0,0); +} + +//Function Number: 5 +set_vehicle_anims(param_00) +{ + param_00[0].vehicle_getoutanim = %mil_humvee_vrap_driver_out_door; + param_00[1].vehicle_getoutanim = %mil_humvee_vrap_passenger_out_door; + param_00[2].vehicle_getoutanim = %gaz_dismount_backl_door; + param_00[3].vehicle_getoutanim = %gaz_dismount_backr_door; + param_00[0].vehicle_getinanim = %mil_humvee_vrap_driver_in_m_door; + param_00[1].vehicle_getinanim = %mil_humvee_vrap_passenger_in_m_door; + param_00[2].vehicle_getinanim = %gaz_enter_back_door; + param_00[3].vehicle_getinanim = %gaz_enter_back_door; + param_00[0].vehicle_getoutsound = "gaz_door_open"; + param_00[1].vehicle_getoutsound = "gaz_door_open"; + param_00[2].vehicle_getoutsound = "gaz_door_open"; + param_00[3].vehicle_getoutsound = "gaz_door_open"; + param_00[0].vehicle_getinsound = "gaz_door_close"; + param_00[1].vehicle_getinsound = "gaz_door_close"; + param_00[2].vehicle_getinsound = "gaz_door_close"; + param_00[3].vehicle_getinsound = "gaz_door_close"; + return param_00; +} + +//Function Number: 6 +setanims() +{ + var_00 = []; + for(var_01 = 0;var_01 < 4;var_01++) + { + var_00[var_01] = spawnstruct(); + } + + var_00[0].sittag = "tag_driver"; + var_00[1].sittag = "tag_passenger"; + var_00[2].sittag = "tag_guy0"; + var_00[3].sittag = "tag_guy1"; + var_00[0].bhasgunwhileriding = 0; + var_00[0].death = %gaz_dismount_frontl; + var_00[0].death_delayed_ragdoll = 3; + var_00[0].idle = %mil_humvee_vrap_driver_idle; + var_00[1].idle = %mil_humvee_vrap_passenger_idle; + var_00[2].idle = %gaz_idle_backl; + var_00[3].idle = %gaz_idle_backr; + var_00[0].getout = %mil_humvee_vrap_driver_out; + var_00[1].getout = %mil_humvee_vrap_passenger_out; + var_00[2].getout = %gaz_dismount_backl; + var_00[3].getout = %gaz_dismount_backr; + var_00[0].getin = %mil_humvee_vrap_driver_in_m; + var_00[1].getin = %mil_humvee_vrap_passenger_in_m; + var_00[2].getin = %gaz_enter_backr; + var_00[3].getin = %gaz_enter_backl; + var_00[0].death_flop_dir = (0,2500,0); + var_00[1].death_flop_dir = (0,-2500,0); + var_00[2].death_flop_dir = (-2500,0,0); + var_00[3].death_flop_dir = (-2500,0,0); + var_00[0].min_unload_frac_to_flop = undefined; + var_00[1].min_unload_frac_to_flop = undefined; + var_00[2].min_unload_frac_to_flop = 0.6; + var_00[3].min_unload_frac_to_flop = 0.45; + return var_00; +} + +//Function Number: 7 +setanims_turret() +{ + var_00 = setanims(); + var_00[3].mgturret = 0; + var_00[3].passenger_2_turret_func = ::gaz_turret_guy_gettin_func; + var_00[3].sittag = "tag_guy_turret"; + return var_00; +} + +//Function Number: 8 +gaz_turret_guy_gettin_func(param_00,param_01,param_02,param_03) +{ +} \ No newline at end of file diff --git a/AW/PC/SP/vehicle_scripts/_walker_tank.gsc b/AW/PC/vehicle_scripts/_walker_tank.gsc similarity index 98% rename from AW/PC/SP/vehicle_scripts/_walker_tank.gsc rename to AW/PC/vehicle_scripts/_walker_tank.gsc index f62e0b8..965f438 100644 --- a/AW/PC/SP/vehicle_scripts/_walker_tank.gsc +++ b/AW/PC/vehicle_scripts/_walker_tank.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_walker_tank.gsc + * Decompiled File: _walker_tank.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 23 - * Decompile Time: 281 ms - * Timestamp: 10/27/2023 2:06:46 AM + * Decompile Time: 333 ms + * Timestamp: 4/22/2024 2:05:40 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/vehicle_scripts/_x4walker_wheels.gsc b/AW/PC/vehicle_scripts/_x4walker_wheels.gsc new file mode 100644 index 0000000..31ba98a --- /dev/null +++ b/AW/PC/vehicle_scripts/_x4walker_wheels.gsc @@ -0,0 +1,704 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _x4walker_wheels.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 32 + * Decompile Time: 466 ms + * Timestamp: 4/22/2024 2:05:41 AM +*******************************************************************/ + +//Function Number: 1 +main(param_00,param_01,param_02) +{ + precachemodel("vehicle_vm_x4walker_wheels"); + precachemodel("projectile_rpg7"); + precacheshader("hud_exo_poly_cool"); + precacheshader("hud_exo_circle_hot"); + precacheitem("mobile_turret_missile"); + maps\_utility::set_console_status(); + maps\_vehicle::build_template("x4walker_wheels",param_00,param_01,param_02); + maps\_vehicle::build_localinit(::local_init); + maps\_vehicle::build_life(999,500,1500); + maps\_vehicle::build_team("allies"); + maps\_vehicle::build_mainturret(); + maps\_vehicle::build_shoot_shock("mobile_turret_shoot"); + maps\_vehicle::build_aianims(::set_ai_anims); + maps\_vehicle::build_drive(%x4walker_wheels_drive_idle,%x4walker_wheels_drive_idle,3.36); + maps\_vehicle::build_treadfx(); + build_walker_death(param_02); + register_vehicle_anims(param_02); + register_player_anims(); + register_fx(); +} + +//Function Number: 2 +build_walker_death(param_00) +{ + level._effect["walkerexplode"] = loadfx("vfx/explosion/vehicle_x4walker_explosion"); + maps\_vehicle::build_deathmodel("vehicle_x4walker_wheels","vehicle_x4walker_wheels_dstrypv"); + maps\_vehicle::build_deathfx("vfx/explosion/vehicle_x4walker_explosion","TAG_DEATH_FX"); + maps\_vehicle::build_deathquake(1,1.6,625); + maps\_vehicle::build_radiusdamage((0,0,32),300,200,0,0); +} + +//Function Number: 3 +register_vehicle_anims(param_00) +{ + maps\_vehicle_shg::add_vehicle_anim(param_00,"idle",%x4walker_wheels_idle); + maps\_vehicle_shg::add_vehicle_anim(param_00,"cockpit_idle",%x4walker_wheels_cockpit_idle); +} + +//Function Number: 4 +register_fx() +{ + level._effect["x4walker_wheels_rpg_fv"] = loadfx("vfx/muzzleflash/x4walker_wheels_rpg_fv"); +} + +//Function Number: 5 +local_init() +{ + self useanimtree(#animtree); + thread vehicle_scripts\_x4walker_wheels_aud::snd_init_x4_walker_wheels(); + thread monitor_vehicle_mount(); + thread animation_think(); + thread monitor_wheel_movements(); + thread monitor_walker_death_stop_sounds(); + waittillframeend; + self notify("stop_vehicle_shoot_shock"); +} + +//Function Number: 6 +set_ai_anims() +{ + var_00 = []; + var_00[0] = spawnstruct(); + var_00[0].sittag = "tag_guy"; + var_00[0].idle = %x4walker_wheels_idle_npc; + return var_00; +} + +//Function Number: 7 +register_player_anims() +{ + level.scr_anim["_vehicle_player_rig"]["enter_left"] = %x4walker_wheels_cockpit_in_l_vm; + level.scr_anim["_vehicle_player_rig"]["enter_right"] = %x4walker_wheels_cockpit_in_r_vm; + level.scr_anim["_vehicle_player_rig"]["enter_back"] = %x4walker_wheels_cockpit_in_b_vm; + level.scr_anim["_vehicle_player_rig"]["exit_left"] = %x4walker_wheels_cockpit_out_l_vm; + level.scr_anim["_vehicle_player_rig"]["exit_right"] = %x4walker_wheels_cockpit_out_r_vm; + level.scr_anim["_vehicle_player_rig"]["exit_back"] = %x4walker_wheels_cockpit_out_b_vm; + maps\_anim::addnotetrack_customfunction("_vehicle_player_rig","cockpit_swap",::swap_cockpit_model,"enter_left"); + maps\_anim::addnotetrack_customfunction("_vehicle_player_rig","cockpit_swap",::swap_cockpit_model,"enter_right"); + maps\_anim::addnotetrack_customfunction("_vehicle_player_rig","cockpit_swap",::swap_cockpit_model,"enter_back"); + maps\_anim::addnotetrack_customfunction("_vehicle_player_rig","cockpit_swap",::swap_world_model,"exit_left"); + maps\_anim::addnotetrack_customfunction("_vehicle_player_rig","cockpit_swap",::swap_world_model,"exit_right"); + maps\_anim::addnotetrack_customfunction("_vehicle_player_rig","cockpit_swap",::swap_world_model,"exit_back"); +} + +//Function Number: 8 +make_mobile_turret_usable() +{ + self endon("death"); + thread handle_vehicle_dof(); + self.enter_use_tags = []; + for(var_00 = 0;var_00 < 3;var_00++) + { + var_01 = spawn("script_model",(0,0,0)); + var_01 setmodel("tag_origin"); + var_01 hide(); + self.enter_use_tags[var_00] = var_01; + } + + var_02 = self gettagorigin("tag_body"); + var_03 = self gettagorigin("tag_wheel_front_left"); + var_04 = self gettagorigin("tag_wheel_front_right"); + var_05 = self gettagorigin("tag_wheel_back_left"); + var_06 = self gettagorigin("tag_wheel_back_right"); + self.enter_use_tags[0].origin = (var_03[0] + var_05[0] * 0.5,var_03[1] + var_05[1] * 0.5,var_02[2]); + self.enter_use_tags[1].origin = (var_04[0] + var_06[0] * 0.5,var_04[1] + var_06[1] * 0.5,var_02[2]); + self.enter_use_tags[2].origin = (var_05[0] + var_06[0] * 0.5,var_05[1] + var_06[1] * 0.5,var_02[2]); + foreach(var_01 in self.enter_use_tags) + { + var_01 linkto(self); + var_01 sethintstring("Press ^3 &&1 ^7to Enter the Mobile Turret."); + var_01 makeusable(); + } + + for(;;) + { + self makeunusable(); + wait_for_any_trigger_hit(self.enter_use_tags); + if(isdefined(level.player.linked_to_cover)) + { + continue; + } + + foreach(var_01 in self.enter_use_tags) + { + var_01 makeunusable(); + } + + level.player maps\_shg_utility::setup_player_for_scene(); + maps\_player_exo::player_exo_deactivate(); + var_0B = maps\_vehicle_shg::spawn_player_rig(); + var_0B hide(); + var_0C = distancesquared(level.player.origin,self.enter_use_tags[0].origin); + var_0D = distancesquared(level.player.origin,self.enter_use_tags[1].origin); + var_0E = distancesquared(level.player.origin,self.enter_use_tags[2].origin); + var_0F = var_0C; + var_10 = "enter_left"; + var_11 = "exit_left"; + if(var_0D < var_0F) + { + var_0F = var_0D; + var_10 = "enter_right"; + var_11 = "exit_right"; + } + + if(var_0E < var_0F) + { + var_0F = var_0E; + var_10 = "enter_back"; + var_11 = "exit_back"; + } + + maps\_anim::anim_first_frame_solo(var_0B,var_10,"tag_body"); + level.player playerlinktoblend(var_0B,"tag_player",0.2,0.1,0.1); + wait(0.2); + var_0B show(); + var_0B.vehicle_to_swap = self; + maps\_anim::anim_single_solo(var_0B,var_10,"tag_body"); + level.player unlink(); + var_0B delete(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + level.player maps\_utility::player_mount_vehicle(self); + wait_for_exit_message(); + if(isdefined(level.player.drivingvehicle)) + { + level.player maps\_shg_utility::setup_player_for_scene(); + var_0B = maps\_vehicle_shg::spawn_player_rig(); + var_0B hide(); + maps\_anim::anim_first_frame_solo(var_0B,var_11,"tag_body"); + level.player playerlinktoblend(var_0B,"tag_player",0.2,0.1,0.1); + wait(0.2); + var_0B show(); + var_0B.vehicle_to_swap = self; + level.player maps\_utility::player_dismount_vehicle(); + level.player playerlinktodelta(var_0B,"tag_player",1,0,0,0,0,1); + maps\_anim::anim_single_solo(var_0B,var_11,"tag_body"); + level.player unlink(); + var_0B delete(); + level.player maps\_shg_utility::setup_player_for_gameplay(); + maps\_player_exo::player_exo_activate(); + foreach(var_01 in self.enter_use_tags) + { + var_01 makeusable(); + } + } + } +} + +//Function Number: 9 +handle_vehicle_dof() +{ + self endon("death"); + for(;;) + { + self waittill("enter_vehicle_dof"); + maps\_art::dof_enable_script(10,70,4,9500,10000,0,0.5); + self waittill("exit_vehicle_dof"); + maps\_art::dof_disable_script(0.25); + } +} + +//Function Number: 10 +wait_for_exit_message() +{ + self endon("vehicle_dismount"); + var_00 = "exit_message"; + notifyoncommand(var_00,"+activate"); + notifyoncommand(var_00,"+usereload"); + level.player waittill(var_00); +} + +//Function Number: 11 +wait_for_any_trigger_hit(param_00) +{ + if(param_00.size > 1) + { + for(var_01 = 1;var_01 < param_00.size;var_01++) + { + param_00[var_01] endon("trigger"); + } + } + + if(param_00.size > 0) + { + param_00[0] waittill("trigger"); + } +} + +//Function Number: 12 +make_mobile_turret_unusable() +{ + self makeunusable(); + if(isdefined(self.enter_use_tags)) + { + foreach(var_01 in self.enter_use_tags) + { + var_01 makeunusable(); + } + } +} + +//Function Number: 13 +monitor_vehicle_mount() +{ + self endon("death"); + self setanim(maps\_vehicle_shg::get_vehicle_anim("idle")); + thread calculate_base_target_offset(); + for(;;) + { + maps\_vehicle_shg::wait_for_vehicle_mount(); + thread turret_think(); + if(!isdefined(self.player_driver)) + { + thread handle_vehicle_ai(); + thread rocket_ai(); + make_mobile_turret_unusable(); + thread vehicle_scripts\_x4walker_wheels_aud::snd_start_x4_walker_wheels("npc"); + } + else + { + thread rocket_think(); + } + + maps\_vehicle_shg::wait_for_vehicle_dismount(); + reset_turret(); + } +} + +//Function Number: 14 +monitor_walker_death_stop_sounds() +{ + self waittill("death"); + if(!isdefined(self)) + { + return; + } + + var_00 = 1; + soundscripts\_snd::snd_message("snd_stop_vehicle",var_00); +} + +//Function Number: 15 +animation_think() +{ + self endon("death"); + for(;;) + { + self waittill("play_anim",var_00); + clear_anims(); + self setanim(maps\_vehicle_shg::get_vehicle_anim(var_00),1,0.2,1); + } +} + +//Function Number: 16 +clear_anims() +{ + self clearanim(%walker_wheels,0.2); +} + +//Function Number: 17 +turret_think() +{ + self endon("death"); + self endon("vehicle_dismount"); + if(isdefined(self.player_driver)) + { + level.player shellshock("mobile_turret_shoot",0.1); + } + + for(;;) + { + self waittill("turret_fire"); + self fireweapon(); + } +} + +//Function Number: 18 +reset_turret() +{ + self notify("stop_vehicle_shoot_shock"); + if(isdefined(self.base_target_offset_angles) && isdefined(self.base_target_offset_length)) + { + var_00 = anglestoforward(self.angles); + var_01 = self gettagorigin("tag_body"); + var_01 = var_01 + var_00 * 100; + var_02 = anglestoforward(self.base_target_offset_angles + self gettagangles("tag_body")); + var_02 = var_02 * self.base_target_offset_length; + self setturrettargetvec(var_01 + var_02); + } +} + +//Function Number: 19 +rocket_think() +{ + self endon("death"); + self endon("vehicle_dismount"); + thread monitor_missile_input(); + for(;;) + { + self waittill("target_missile_system"); + thread rocket_target_think(); + self waittill("fire_missile_system"); + thread fire_rockets(); + wait(2); + } +} + +//Function Number: 20 +rocket_target_think() +{ + self endon("death"); + self endon("vehicle_dismount"); + self endon("fire_missile_system"); + if(!isdefined(self.rocket_targets)) + { + self.rocket_targets = []; + } + + var_00 = 4; + for(;;) + { + if(self.rocket_targets.size < var_00) + { + var_01 = anglestoforward(self.player_driver getplayerangles()); + var_01 = vectornormalize(var_01); + var_02 = self.player_driver geteye(); + var_03 = bullettrace(var_02,var_02 + var_01 * 2048,1,self); + var_04 = var_03["entity"]; + if(isdefined(var_04) && isai(var_04) && isalive(var_04) && !maps\_vehicle_code::attacker_isonmyteam(var_04) && !maps\_vehicle_code::attacker_troop_isonmyteam(var_04)) + { + if(!isdefined(var_04.target_marked) || !var_04.target_marked) + { + var_04.target_marked = 1; + target_set(var_04,(0,0,20)); + target_setshader(var_04,"hud_exo_poly_cool"); + thread remove_target(var_04); + self.rocket_targets[self.rocket_targets.size] = var_04; + } + } + } + + wait(0.05); + } +} + +//Function Number: 21 +remove_target(param_00) +{ + wait_to_remove_target(param_00); + if(isdefined(param_00)) + { + param_00.target_marked = undefined; + target_remove(param_00); + } + + if(isdefined(self) && isdefined(self.rocket_targets)) + { + var_01 = []; + foreach(var_03 in self.rocket_targets) + { + if(isdefined(var_03)) + { + if(isdefined(param_00) && var_03 == param_00) + { + continue; + } + + var_01[var_01.size] = var_03; + } + } + + self.rocket_targets = var_01; + } +} + +//Function Number: 22 +wait_to_remove_target(param_00) +{ + self endon("death"); + self endon("vehicle_dismount"); + param_00 endon("death"); + param_00 waittill("remove_target"); +} + +//Function Number: 23 +monitor_missile_input() +{ + self endon("death"); + self endon("vehicle_dismount"); + var_00 = 0; + for(;;) + { + var_01 = self.player_driver fragbuttonpressed(); + if(var_01 && !var_00) + { + var_00 = 1; + self notify("target_missile_system"); + } + else if(!var_01 && var_00) + { + var_00 = 0; + self notify("fire_missile_system"); + } + + wait(0.05); + } +} + +//Function Number: 24 +fire_rockets() +{ + var_00 = 0; + foreach(var_02 in self.rocket_targets) + { + if(!isdefined(var_02)) + { + continue; + } + + self.player_driver playrumbleonentity("heavygun_fire"); + target_setshader(var_02,"hud_exo_circle_hot"); + thread fire_rocket_at(var_02,var_00); + var_00++; + wait(0.35); + } +} + +//Function Number: 25 +fire_rocket_at(param_00,param_01) +{ + if(!isdefined(self.launcher_index)) + { + self.launcher_index = 0; + } + else + { + self.launcher_index++; + self.launcher_index = self.launcher_index % 4; + } + + var_02 = param_00.origin; + var_03 = "TAG_LAUNCHER" + self.launcher_index + 1; + var_04 = self gettagorigin(var_03); + var_05 = self gettagangles(var_03); + var_06 = var_04 + anglestoforward(var_05) * 512; + playfxontag(common_scripts\utility::getfx("x4walker_wheels_rpg_fv"),self,var_03); + if(isdefined(self.player_driver)) + { + var_07 = magicbullet("mobile_turret_missile",var_04,var_06); + } + else + { + var_07 = magicbullet("mobile_turret_missile",var_05,var_07); + } + + var_07 missile_settargetent(param_00); + var_07 missile_setflightmodedirect(); + var_07 soundscripts\_snd::snd_message("mobile_turret_missile"); +} + +//Function Number: 26 +handle_vehicle_ai() +{ + if(isdefined(self.ai_func_override)) + { + self thread [[ self.ai_func_override ]](); + return; + } + + thread vehicle_scripts\_vehicle_turret_ai::vehicle_turret_settings_target(10); + thread vehicle_scripts\_vehicle_turret_ai::vehicle_turret_settings_shoot(2,4,0.1,0.3,1); + thread vehicle_scripts\_vehicle_turret_ai::vehicle_turret_default_ai(); +} + +//Function Number: 27 +rocket_ai() +{ + self endon("death"); + self endon("vehicle_dismount"); + var_00 = 128; + wait(randomintrange(1,10)); + for(;;) + { + wait(randomfloatrange(12,20)); + var_01 = 0; + while(!var_01) + { + var_02 = []; + if(isdefined(self.script_team)) + { + var_03 = common_scripts\utility::get_enemy_team(self.script_team); + var_04 = getaiarray(var_03); + } + else + { + var_04 = getaiarray("axis"); + } + + foreach(var_06 in var_04) + { + var_07 = var_06.origin - self.origin; + var_08 = length(var_07); + if(var_08 < 1024) + { + continue; + } + + var_07 = vectornormalize(var_07); + var_09 = self gettagangles("tag_flash"); + var_0A = anglestoforward(var_09); + var_0B = vectordot(var_07,var_0A); + if(var_0B < 0.5) + { + continue; + } + + var_0C = self gettagorigin("tag_flash"); + var_0D = var_06.origin + (0,0,32); + var_0E = sighttracepassed(var_0C,var_0D,0,self); + if(!var_0E) + { + continue; + } + + var_0F = vectorfromlinetopoint(var_0C,var_0D,level.player.origin + (0,0,32)); + if(length(var_0F) < var_00) + { + continue; + } + + var_02[var_02.size] = var_06; + } + + var_11 = []; + if(var_02.size > 0) + { + var_12 = randomint(var_02.size); + for(var_13 = 0;var_13 < var_02.size;var_13++) + { + var_14 = var_12 + var_13 % var_02.size; + var_15 = var_02[var_14]; + var_11[var_11.size] = var_15; + if(var_11.size > 1) + { + var_16 = var_11.size / 4; + if(var_16 > randomfloatrange(0,1)) + { + break; + } + } + } + } + + var_17 = 0; + foreach(var_19 in var_11) + { + if(!isdefined(var_19)) + { + continue; + } + + var_01 = 1; + thread fire_rocket_at(var_19,var_17); + var_17++; + wait(0.35); + } + + if(!var_01) + { + wait(0.5); + } + } + } +} + +//Function Number: 28 +calculate_base_target_offset() +{ + var_00 = anglestoforward(self.angles); + var_01 = self gettagorigin("tag_body"); + var_02 = var_01 + var_00 * 100; + var_03 = self gettagorigin("tag_flash"); + var_04 = anglestoforward(self gettagangles("tag_flash")); + var_05 = var_03 + var_04 * 100; + var_06 = var_05 - var_02; + var_07 = self gettagangles("tag_body"); + self.base_target_offset_length = length(var_06); + var_08 = vectortoangles(var_06); + self.base_target_offset_angles = var_08 - var_07; +} + +//Function Number: 29 +swap_cockpit_model(param_00) +{ + if(isdefined(param_00) && isdefined(param_00.vehicle_to_swap)) + { + param_00.vehicle_to_swap notify("enter_vehicle_dof"); + param_00.vehicle_to_swap setmodel("vehicle_vm_x4walker_wheels"); + param_00.vehicle_to_swap notify("play_anim","cockpit_idle"); + } +} + +//Function Number: 30 +swap_world_model(param_00) +{ + if(isdefined(param_00) && isdefined(param_00.vehicle_to_swap)) + { + param_00.vehicle_to_swap notify("exit_vehicle_dof"); + param_00.vehicle_to_swap setmodel("vehicle_x4walker_wheels"); + param_00.vehicle_to_swap notify("play_anim","idle"); + } +} + +//Function Number: 31 +monitor_wheel_movements() +{ + self endon("death"); + var_00 = ["tag_wheel_back_left","tag_wheel_back_right","tag_wheel_front_left","tag_wheel_front_right"]; + self.last_wheel_pos = []; + self.current_wheel_pos = []; + var_01 = 0.05; + if(level.currentgen) + { + var_01 = 0.5; + } + + for(;;) + { + foreach(var_03 in var_00) + { + self.current_wheel_pos[var_03] = self gettagorigin(var_03); + } + + wait(var_01); + foreach(var_03 in var_00) + { + self.last_wheel_pos[var_03] = self.current_wheel_pos[var_03]; + } + } +} + +//Function Number: 32 +get_wheel_velocity(param_00) +{ + if(isdefined(self.current_wheel_pos[param_00]) && isdefined(self.last_wheel_pos[param_00])) + { + var_01 = self.current_wheel_pos[param_00] - self.last_wheel_pos[param_00]; + return var_01 * 20; + } + + return (0,0,0); +} \ No newline at end of file diff --git a/AW/PC/vehicle_scripts/_x4walker_wheels_aud.gsc b/AW/PC/vehicle_scripts/_x4walker_wheels_aud.gsc new file mode 100644 index 0000000..8302041 --- /dev/null +++ b/AW/PC/vehicle_scripts/_x4walker_wheels_aud.gsc @@ -0,0 +1,786 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: _x4walker_wheels_aud.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 31 + * Decompile Time: 486 ms + * Timestamp: 4/22/2024 2:05:43 AM +*******************************************************************/ + +//Function Number: 1 +snd_init_x4_walker_wheels() +{ + soundscripts\_audio_vehicle_manager::avm_register_callback("x4ww_zvelocity_front_left",::x4ww_input_callback_wheel_zvelocity_front_left); + soundscripts\_audio_vehicle_manager::avm_register_callback("x4ww_zvelocity_front_right",::x4ww_input_callback_wheel_zvelocity_front_right); + soundscripts\_audio_vehicle_manager::avm_register_callback("x4ww_zvelocity_rear_left",::x4ww_input_callback_wheel_zvelocity_rear_left); + soundscripts\_audio_vehicle_manager::avm_register_callback("x4ww_zvelocity_rear_right",::x4ww_input_callback_wheel_zvelocity_rear_right); + soundscripts\_audio_vehicle_manager::avm_register_callback("x4ww_gun_pitch_rate",::x4ww_input_callback_gun_pitch_rate); + soundscripts\_audio_vehicle_manager::avm_register_callback("x4ww_gun_yaw_rate",::x4ww_input_callback_gun_yaw_rate); + soundscripts\_audio_vehicle_manager::avm_register_callback("x4ww_player_driver",::x4ww_input_callback_player_driver); + soundscripts\_audio_vehicle_manager::avm_register_callback("x4ww_gun_pitch_rate2",::x4ww_input_callback_gun_pitch_rate); + soundscripts\_audio_vehicle_manager::avm_register_callback("x4ww_gun_yaw_rate2",::x4ww_input_callback_gun_yaw_rate); + soundscripts\_snd::snd_message("snd_register_vehicle","x4walker_wheels",::snd_x4walker_wheels_constructor); +} + +//Function Number: 2 +snd_start_x4_walker_wheels(param_00) +{ + if(isdefined(self.snd_instance)) + { + wait(1); + var_01 = 1; + soundscripts\_snd::snd_message("snd_stop_vehicle",var_01); + soundscripts\_snd::snd_message("player_exit_walker"); + } + + var_02 = spawnstruct(); + var_02.preset_name = "x4walker_wheels"; + var_02.player_mode = param_00 == "plr"; + soundscripts\_snd::snd_message("snd_start_vehicle",var_02); +} + +//Function Number: 3 +snd_x4walker_wheels_constructor() +{ + soundscripts\_audio_vehicle_manager::avm_begin_preset_def("x4walker_wheels"); + soundscripts\_audio_vehicle_manager::avm_begin_loop_data(3,0.65,0.3); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("x4ww_idle"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","x4_idle_vel2vol","x4_idle_vel2vol"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("x4ww_move"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","x4_move_vel2vol","x4_move_vel2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","x4_move_vel2pch","x4_move_vel2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("pitch"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","x4_move_pit2pch","x4_move_pit2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_begin_loop_def("x4ww_move2"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","x4_move2_lp_vel2vol","x4_move2_lp_vel2vol"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","x4_move2_lp_vel2pch","x4_move2_lp_vel2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("pitch"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("pitch","x4_move_pit2pch","x4_move_pit2pch"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_loop_def(); + soundscripts\_audio_vehicle_manager::avm_end_loop_data(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_data(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("x4ww_startup","x4_startup_duck_envelope"); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("x4ww_shutoff","xwalk_shutoff_duck_envelope"); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("x4ww_accel_hard","xwalk_accel_duck_envelope"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("acceleration_g",0.65,0.3); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","x4_accel_1shot_accel2vol","x4_accel_1shot_accel2vol"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("x4ww_decel_1","xwalk_stop_duck_envelope",0.5,1,["x4ww_decel"]); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed",0.65,0.3); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","x4_break_squeal_vel2vol","x4_break_squeal_vel2vol"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("x4ww_decel_2","xwalk_stop_duck_envelope",0.5,1,["x4ww_decel","x4ww_stop_squeal"]); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed",0.65,0.3); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","x4_break_squeal_vel2vol","x4_break_squeal_vel2vol"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("x4ww_stop_chuff","xwalk_stop_duck_envelope"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed",1,1); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","x4_chuff_vel2vol","x4_chuff_vel2vol"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("x4ww_suspen_bump_hard","xwalk_stop_duck_envelope"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed"); + soundscripts\_audio_vehicle_manager::avm_add_param_map_env("volume","x4_chuff_vel2vol","x4_chuff_vel2vol"); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_begin_oneshot_def("x4ww_rotate_stop","xwalk_stop_duck_envelope"); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_def(); + soundscripts\_audio_vehicle_manager::avm_end_oneshot_data(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_data(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_off",::x4ww_condition_callback_to_state_off); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_startup",::x4ww_condition_callback_to_state_startup); + soundscripts\_audio_vehicle_manager::avm_add_loops("ALL"); + soundscripts\_audio_vehicle_manager::avm_add_oneshots("x4ww_startup"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_shutoff",::x4ww_condition_callback_to_state_shutoff,["x4ww_player_driver"]); + soundscripts\_audio_vehicle_manager::avm_add_oneshots("x4ww_shutoff"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_enter_vehicle",::x4ww_condition_callback_to_state_enter_vehicle,["x4ww_player_driver"]); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_idle",::x4ww_condition_callback_to_state_idle,["speed"]); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_start_move",::x4ww_condition_callback_to_state_start_move); + soundscripts\_audio_vehicle_manager::avm_add_oneshots("x4ww_accel_hard"); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed",0.65,0.3); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_moving",::x4ww_condition_callback_to_state_moving,["speed"]); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_breaking",::x4ww_condition_callback_to_state_breaking); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed",0.65,0.3); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("pitch",0.65,0.3); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_stop",::x4ww_condition_callback_to_state_stopped,["speed"]); + soundscripts\_audio_vehicle_manager::avm_add_oneshots("x4ww_stop_chuff"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_destruct",::x4ww_condition_callback_to_state_destruct); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_wheels_neutral",::x4ww_condition_callback_to_state_wheels_neutral); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_wheels_bump_impact",::x4ww_condition_callback_to_state_wheels_bump_impact,["x4ww_zvelocity_front_left","x4ww_zvelocity_front_right","x4ww_zvelocity_rear_left","x4ww_zvelocity_rear_right","speed"],0.65,0.3); + soundscripts\_audio_vehicle_manager::avm_add_oneshots("x4ww_suspen_bump_hard"); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_turret_rotate",::x4ww_condition_callback_to_state_turret_rotate); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_turret_rotate_accel",::x4ww_condition_callback_to_state_turret_rotate_accel); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("x4ww_gun_yaw_rate",1,1); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_begin_param_map("speed",0.6,0.6); + soundscripts\_audio_vehicle_manager::avm_end_param_map(); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_turret_rotate_decel",::x4ww_condition_callback_to_state_turret_rotate_decel); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_turret_stopped",::x4ww_condition_callback_to_state_turret_stopped); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_begin_behavior_def("to_state_turret_elevate",::x4ww_condition_callback_to_state_turret_elevate); + soundscripts\_audio_vehicle_manager::avm_end_behavior_def(); + soundscripts\_audio_vehicle_manager::avm_end_behavior_data(); + soundscripts\_audio_vehicle_manager::avm_begin_state_data(); + soundscripts\_audio_vehicle_manager::avm_begin_state_group("main_oneshots","state_enter_vehicle","to_state_enter_vehicle",50,1); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_off"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_enter_vehicle","to_state_enter_vehicle"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_enter_vehicle"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_startup","to_state_startup"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_startup"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_idle","to_state_idle"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_start_move","to_state_start_move"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_shutoff"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_off","to_state_off"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_idle"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_start_move","to_state_start_move"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_shutoff","to_state_shutoff"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_destruct","to_state_destruct"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_start_move"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_moving","to_state_moving"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_shutoff","to_state_shutoff"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_stop","to_state_stop"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_breaking","to_state_breaking"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_destruct","to_state_destruct"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_breaking"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_stop","to_state_stop"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_moving","to_state_moving"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_shutoff","to_state_shutoff"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_start_move","to_state_start_move"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_destruct","to_state_destruct"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_stop"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_idle","to_state_idle"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_shutoff","to_state_shutoff"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_destruct","to_state_destruct"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_exit_vehicle"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_off","to_state_off"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_moving"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_breaking","to_state_breaking"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_stop","to_state_stop"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_shutoff","to_state_shutoff"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_start_move","to_state_start_move"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_destruct","to_state_destruct"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_destruct"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_off","to_state_off"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_end_state_group(); + soundscripts\_audio_vehicle_manager::avm_begin_state_group("wheel_legs","state_wheels_neutral","to_state_wheels_neutral",50,1); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_wheels_neutral"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_wheels_bump_impact","to_state_wheels_bump_impact"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_wheels_neutral","to_state_wheels_neutral"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_destruct","to_state_destruct"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_wheels_bump_impact"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_wheels_bump_impact","to_state_wheels_bump_impact"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_wheels_neutral","to_state_wheels_neutral"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_destruct","to_state_destruct"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_end_state_group(); + soundscripts\_audio_vehicle_manager::avm_begin_state_group("turret_rotate","state_turret_rotate","to_state_turret_rotate",50,1); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_turret_stopped"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_turret_rotate","to_state_turret_rotate"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_turret_rotate"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_turret_rotate","to_state_turret_rotate"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_turret_rotate_accel","to_state_turret_rotate_accel"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_turret_rotate_decel","to_state_turret_rotate_decel"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_turret_rotate_accel"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_turret_rotate_accel","to_state_turret_rotate_accel"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_turret_rotate_decel"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_turret_rotate","to_state_turret_rotate"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_turret_rotate_accel","to_state_turret_rotate_accel"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_end_state_group(); + soundscripts\_audio_vehicle_manager::avm_begin_state_group("turret_elevate","state_turret_elevate","to_state_turret_elevate",50,1); + soundscripts\_audio_vehicle_manager::avm_begin_state_def("state_turret_elevate"); + soundscripts\_audio_vehicle_manager::avm_add_state_transition("state_turret_elevate","to_state_turret_elevate"); + soundscripts\_audio_vehicle_manager::avm_end_state_def(); + soundscripts\_audio_vehicle_manager::avm_end_state_group(); + soundscripts\_audio_vehicle_manager::avm_end_state_data(); + soundscripts\_audio_vehicle_manager::avm_add_envelope("x4_idle_vel2vol",[[0,0.8],[1.75,0.3],[3.5,0.1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("x4_move_vel2vol",[[0,0],[1.75,0.9],[7,0]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("x4_move2_lp_vel2vol",[[0,0],[1.75,0.7],[7,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("x4_chuff_vel2vol",[[0,0.75],[1,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("x4_break_squeal_vel2vol",[[0,0],[7,0.7]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("x4_turret_rot_fast_vel2vol",[[-100,0.6],[-30,0.2],[0,0],[30,0.2],[100,0.6]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("x4_turret_rot_slow_vel2vol",[[-100,0.6],[-10,0.5],[0,0],[10,0.5],[100,0.6]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("x4_turret_rot_slow_vel2pit",[[-30,0.7],[0,0.5],[30,0.7]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("x4_turret_rot_fast_vel2pit",[[-150,3],[-30,0.3],[0,0],[30,0.3],[150,3]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("x4_turret_pitch_rate_vel2vol",[[-10,0.6],[-1,0.4],[0,0],[1,0.4],[10,0.6]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("x4_turret_pitch_rate_gate",[[-0.3,1],[-0.2,0],[0,0],[0.2,0],[0.3,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("x4_turret_pitch_rate_vel2pit",[[-100,0.5],[0,0.5],[100,0.5]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("x4_move_vel2pch",[[0,0.9],[7,1.1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("x4_move2_lp_vel2pch",[[0,0.9],[2,0.9],[7,1.2]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("x4_sub_lp_vel2vol",[[0,0.2],[7,0.4]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("x4_veh_speed_to_turret_rot_vel2vol",[[0,1],[1.4,0],[7,0]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("x4_veh_speed_to_turret_rot_gate",[[-1,1],[0,0],[1,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("x4_suspen_vel2vol",[[0,0],[7,0.5]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("x4_accel_1shot_accel2vol",[[0,1],[0.02,1],[0.1,1],[0.2,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("xwalk_accel_duck_envelope",[[0,1],[0.55,0.4],[1,0.6],[2,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("xwalk_accel2vol",[[0,0.7],[0.3,0.7],[1,0.7]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("xwalk_vel2vol",[[0,1],[7,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("x4_move_pit2pch",[[-2,0.9],[0,1],[2,1.1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("xwalk_stop_duck_envelope",[[0,1],[0.55,0.8],[0.85,0.8],[2,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("x4_startup_duck_envelope",[[0,0],[0.55,0.1],[0.85,0.2],[1.5,1]]); + soundscripts\_audio_vehicle_manager::avm_add_envelope("xwalk_shutoff_duck_envelope",[[0,1],[0.55,0.4],[0.85,0.3],[1.5,0],[5,0]]); + soundscripts\_audio_vehicle_manager::avm_end_preset_def(); +} + +//Function Number: 4 +x4ww_condition_callback_to_state_off(param_00,param_01) +{ + return 1; +} + +//Function Number: 5 +x4ww_condition_callback_to_state_enter_vehicle(param_00,param_01) +{ + var_02 = 0; + var_03 = param_00["x4ww_player_driver"]; + if(var_03) + { + var_02 = 1; + } + + return var_02; +} + +//Function Number: 6 +x4ww_condition_callback_to_state_exit_vehicle(param_00,param_01) +{ + var_02 = 0; + var_03 = param_00["x4ww_player_driver"]; + if(!var_03) + { + var_02 = 1; + } + + return var_02; +} + +//Function Number: 7 +x4ww_condition_callback_to_state_startup(param_00,param_01) +{ + param_01.g_xwalk_pitched_hard = 0; + param_01.g_xwalk_was_stopped = 1; + param_01.g_xwalk_vel_que = [0,0,0,0,0,0,0,0,0,0]; + param_01.g_turret_vel_array = [0,0,0,0]; + param_01.g_xwalk_started_to_move = 0; + return 1; +} + +//Function Number: 8 +x4ww_condition_callback_to_state_shutoff(param_00,param_01) +{ + var_02 = 0; + return var_02; +} + +//Function Number: 9 +x4ww_condition_callback_to_state_idle(param_00,param_01) +{ + var_02 = 0; + var_03 = param_00["distance2d"]; + var_04 = param_00["speed"]; + if(var_04 <= 0.0001) + { + var_02 = 1; + } + + return var_02; +} + +//Function Number: 10 +x4ww_condition_callback_to_state_start_move(param_00,param_01) +{ + var_02 = 0; + var_03 = param_00["speed"]; + var_04 = 0; + if(!isdefined(param_01.start_move)) + { + param_01.start_move = spawnstruct(); + param_01.start_move.prev_velo = var_03; + param_01.start_move.time_accel = 0; + param_01.start_move.acceltime = 0; + param_01.start_move.accelerating = 0; + param_01.start_move.strain_accel_last_trigger = 0; + param_01.start_move.strain_accel_time_since_trigger = 1000; + param_01.start_move.rand_second_accel_thresh = randomintrange(1500,3500); + } + else + { + var_05 = var_03 - param_01.start_move.prev_velo; + if(param_01.start_move.accelerating == 0 && var_05 > 0) + { + param_01.start_move.accelerating = 1; + param_01.start_move.acceltime = gettime(); + } + else if(param_01.start_move.accelerating == 1 && var_05 > 0) + { + param_01.start_move.time_accel = param_01.start_move.time_accel + gettime() - param_01.start_move.acceltime; + } + else if(var_05 <= 0 || var_03 >= 7) + { + param_01.start_move.accelerating = 0; + param_01.start_move.acceltime = 0; + param_01.start_move.time_accel = 0; + } + + var_04 = gettime() - param_01.g_xwalk_started_to_move; + if(param_01.g_xwalk_pitched_hard == 1 && var_05 > 0) + { + var_06 = gettime() - param_01.start_move.strain_accel_last_trigger; + if(var_06 > 4000) + { + var_02 = 1; + param_01.g_xwalk_started_to_move = gettime(); + param_01.start_move.acceltime = 0; + param_01.start_move.accelerating = 0; + param_01.start_move.time_accel = 0; + param_01.g_xwalk_pitched_hard = 0; + param_01.start_move.strain_accel_last_trigger = gettime(); + param_01.g_xwalk_was_stopped = 0; + } + } + else if(param_01.start_move.time_accel > 400 && var_05 > 0.1 && param_01.g_xwalk_was_stopped) + { + var_02 = 1; + param_01.g_xwalk_started_to_move = gettime(); + param_01.start_move.acceltime = 0; + param_01.start_move.accelerating = 0; + param_01.start_move.time_accel = 0; + param_01.g_xwalk_was_stopped = 0; + } + else if(var_03 > 2 && var_04 > param_01.start_move.rand_second_accel_thresh && var_04 < param_01.start_move.rand_second_accel_thresh + 500) + { + var_02 = 1; + param_01.start_move.acceltime = 0; + param_01.start_move.accelerating = 0; + param_01.start_move.time_accel = 0; + param_01.g_xwalk_was_stopped = 0; + param_01.start_move.rand_second_accel_thresh = randomintrange(1500,3500); + } + else if(var_03 >= 7 && param_01.g_xwalk_was_stopped) + { + var_02 = 1; + param_01.g_xwalk_started_to_move = gettime(); + param_01.start_move.acceltime = 0; + param_01.start_move.accelerating = 0; + param_01.start_move.time_accel = 0; + param_01.g_xwalk_was_stopped = 0; + } + + param_01.start_move.prev_velo = var_03; + } + + return var_02; +} + +//Function Number: 11 +x4ww_condition_callback_to_state_moving(param_00,param_01) +{ + var_02 = 0; + var_03 = param_00["speed"]; + if(var_03 > 0.1) + { + var_02 = 1; + } + + return var_02; +} + +//Function Number: 12 +x4ww_condition_callback_to_state_breaking(param_00,param_01) +{ + var_02 = 0; + var_03 = param_00["speed"]; + var_04 = param_00["pitch"]; + var_05 = gettime() - param_01.g_xwalk_started_to_move; + if(!isdefined(param_01.breaking)) + { + param_01.breaking = spawnstruct(); + param_01.breaking.prev_velo = var_03; + param_01.breaking.time_breaking = 0; + param_01.breaking.breaktime = 0; + param_01.breaking.is_breaking = 0; + param_01.breaking.prev_pitch = 0; + param_01.breaking.prev_dp = 0; + param_01.breaking.time_pitching_hard = 0; + param_01.breaking.pitching_hard = 0; + param_01.breaking.pitching_hard_start_time = 0; + } + else + { + var_06 = var_04 - param_01.breaking.prev_pitch; + if(abs(var_06) > 0.5 && param_01.g_xwalk_pitched_hard == 0) + { + var_02 = ["x4ww_decel_1"]; + param_01.g_xwalk_pitched_hard = 1; + } + + var_07 = var_03 - param_01.breaking.prev_velo; + if(param_01.breaking.is_breaking == 0 && var_07 < 0) + { + param_01.breaking.is_breaking = 1; + param_01.breaktime = gettime(); + } + else if(param_01.breaking.is_breaking == 1 && var_07 < 0) + { + param_01.breaking.time_breaking = param_01.breaking.time_breaking + gettime() - param_01.breaking.breaktime; + } + else if(var_07 >= 0) + { + param_01.breaking.breaking = 0; + param_01.breaking.breaktime = 0; + param_01.breaking.time_breaking = 0; + } + + if(param_01.breaking.time_breaking > 400 && var_07 < -0.6 && var_05 > 2000) + { + param_01.breaking.breaktime = 0; + param_01.breaking.breaking = 0; + param_01.breaking.time_breaking = 0; + var_02 = ["x4ww_decel_2"]; + } + else if(param_01.breaking.time_breaking > 400 && var_07 < -0.6 && var_05 <= 2000) + { + param_01.breaking.breaktime = 0; + param_01.breaking.breaking = 0; + param_01.breaking.time_breaking = 0; + var_02 = ["x4ww_decel_1"]; + } + else if(var_03 < 0.1) + { + var_02 = 1; + param_01.breaking.breaktime = 0; + param_01.breaking.breaking = 0; + param_01.breaking.time_breaking = 0; + var_02 = ["x4ww_decel_1"]; + } + + param_01.breaking.prev_velo = var_03; + param_01.breaking.prev_pitch = var_04; + } + + return var_02; +} + +//Function Number: 13 +x4ww_condition_callback_to_state_stopped(param_00,param_01) +{ + var_02 = 0; + var_03 = param_00["speed"]; + if(!isdefined(param_01.stopped)) + { + param_01.stopped = spawnstruct(); + param_01.stopped.prev_velo = var_03; + param_01.stopped.prev_dv = 0; + } + else + { + var_04 = var_03 - param_01.stopped.prev_velo; + if(var_03 < 0.1) + { + var_02 = 1; + param_01.g_xwalk_was_stopped = 1; + } + + param_01.stopped.prev_velo = var_03; + param_01.stopped.prev_dv = var_04; + } + + return var_02; +} + +//Function Number: 14 +x4ww_condition_callback_to_state_destruct(param_00,param_01) +{ + return 0; +} + +//Function Number: 15 +x4ww_condition_callback_to_state_wheels_neutral(param_00,param_01) +{ + return 0; +} + +//Function Number: 16 +x4ww_condition_callback_to_state_wheels_bump_impact(param_00,param_01) +{ + var_02 = ["zv_front_left","zv_front_right","zv_rear_left","zv_rear_right"]; + var_03 = []; + var_03["zv_front_left"] = param_00["x4ww_zvelocity_front_left"]; + var_03["zv_front_right"] = param_00["x4ww_zvelocity_front_right"]; + var_03["zv_rear_left"] = param_00["x4ww_zvelocity_rear_left"]; + var_03["zv_rear_right"] = param_00["x4ww_zvelocity_rear_right"]; + var_04 = param_00["speed"]; + var_05 = 0; + if(!isdefined(param_01.wheels_bump_impact)) + { + param_01.wheels_bump_impact = spawnstruct(); + param_01.wheels_bump_impact.prev_zv = []; + foreach(var_07 in var_02) + { + param_01.wheels_bump_impact.prev_zv[var_07] = var_03[var_07]; + } + + var_09 = 0; + } + else + { + foreach(var_0B in var_03) + { + var_09 = var_03[var_0B] - param_01.wheels_bump_impact.prev_zv[var_0B]; + if(abs(var_09) > 2 && var_04 > 0) + { + var_05 = 1; + } + + param_01.wheels_bump_impact.prev_zv[var_0B] = var_03[var_0B]; + } + } + + return var_05; +} + +//Function Number: 17 +x4ww_condition_callback_to_state_turret_rotate(param_00,param_01) +{ + var_02 = 0; + return var_02; +} + +//Function Number: 18 +x4ww_condition_callback_to_state_turret_stopped(param_00,param_01) +{ + var_02 = 0; + return var_02; +} + +//Function Number: 19 +x4ww_condition_callback_to_state_turret_rotate_accel(param_00,param_01) +{ + var_02 = 0; + var_03 = abs(param_00["x4ww_gun_yaw_rate"]); + var_04 = param_00["speed"]; + if(!isdefined(param_01.turret_rotate_accel)) + { + param_01.turret_rotate_accel = spawnstruct(); + param_01.turret_rotate_accel.prev_velo = var_03; + param_01.turret_rotate_accel.prev_dv = 0; + param_01.turret_rotate_accel.is_turret_accelerating = 0; + param_01.turret_rotate_accel.time_turret_accelerating = 0; + param_01.turret_rotate_accel.time_turret_accel_started = 0; + param_01.turret_rotate_accel.time_last_turret_accel = 1000; + param_01.turret_rotate_accel.can_turret_start_play = 1; + param_01.turret_rotate_accel.time_turret_rotating = 0; + param_01.turret_rotate_accel.is_turret_rotating = 0; + param_01.turret_rotate_accel.time_turret_started_rotating = 0; + } + else + { + var_05 = var_03 - param_01.turret_rotate_accel.prev_velo; + if(param_01.turret_rotate_accel.is_turret_accelerating == 0 && var_05 > 0) + { + param_01.turret_rotate_accel.is_turret_accelerating = 1; + param_01.turret_rotate_accel.time_turret_accel_started = gettime(); + } + else if(param_01.turret_rotate_accel.is_turret_accelerating == 1 && var_05 > 0) + { + param_01.turret_rotate_accel.time_turret_accelerating = param_01.turret_rotate_accel.time_turret_accelerating + gettime() - param_01.turret_rotate_accel.time_turret_accel_started; + } + else if(var_05 <= 0) + { + param_01.turret_rotate_accel.is_turret_accelerating = 0; + param_01.turret_rotate_accel.time_turret_accelerating = 0; + param_01.turret_rotate_accel.time_turret_accel_started = 0; + } + + var_06 = gettime() - param_01.turret_rotate_accel.time_last_turret_accel; + if(var_03 > 0.1 && param_01.turret_rotate_accel.is_turret_rotating == 0) + { + if(var_03 > 2 && var_05 > 0.05 && param_01.turret_rotate_accel.can_turret_start_play == 1 && var_04 < 0.1) + { + var_02 = ["x4ww_rotate_stop"]; + param_01.turret_rotate_accel.time_last_turret_accel = gettime(); + param_01.turret_rotate_accel.can_turret_start_play = 0; + param_01.turret_rotate_accel.time_turret_started_rotating = gettime(); + param_01.turret_rotate_accel.is_turret_rotating = 1; + } + else if(var_03 > 0.5 && param_01.turret_rotate_accel.can_turret_start_play == 1) + { + param_01.turret_rotate_accel.can_turret_start_play = 0; + param_01.turret_rotate_accel.time_turret_started_rotating = gettime(); + param_01.turret_rotate_accel.is_turret_rotating = 1; + } + } + else if(var_03 <= 0.1 && param_01.turret_rotate_accel.is_turret_rotating == 1 && var_04 < 0.1) + { + var_07 = gettime() - param_01.turret_rotate_accel.time_turret_started_rotating; + if(var_07 > 1500 && param_01.turret_rotate_accel.can_turret_start_play == 0) + { + var_02 = ["x4ww_rotate_stop"]; + param_01.turret_rotate_accel.can_turret_start_play = 1; + param_01.turret_rotate_accel.is_turret_rotating = 0; + var_07 = 0; + } + else if(var_07 <= 1500) + { + param_01.turret_rotate_accel.is_turret_rotating = 0; + param_01.turret_rotate_accel.can_turret_start_play = 1; + var_07 = 0; + } + } + else if(var_03 <= 0.1 && param_01.turret_rotate_accel.is_turret_rotating == 1 && var_04 >= 0.1) + { + param_01.turret_rotate_accel.is_turret_rotating = 0; + param_01.turret_rotate_accel.can_turret_start_play = 1; + var_07 = 0; + } + + param_01.turret_rotate_accel.prev_velo = var_03; + param_01.turret_rotate_accel.prev_dv = var_05; + } + + return var_02; +} + +//Function Number: 20 +x4ww_condition_callback_to_state_turret_rotate_decel(param_00,param_01) +{ + var_02 = 0; + return var_02; +} + +//Function Number: 21 +x4ww_condition_callback_to_state_turret_elevate(param_00,param_01) +{ + var_02 = 0; + return var_02; +} + +//Function Number: 22 +x4ww_input_callback_wheel_zvelocity_front_left() +{ + return x4ww_input_callback_wheel_zvelocity("tag_wheel_front_left"); +} + +//Function Number: 23 +x4ww_input_callback_wheel_zvelocity_front_right() +{ + return x4ww_input_callback_wheel_zvelocity("tag_wheel_front_right"); +} + +//Function Number: 24 +x4ww_input_callback_wheel_zvelocity_rear_left() +{ + return x4ww_input_callback_wheel_zvelocity("tag_wheel_back_left"); +} + +//Function Number: 25 +x4ww_input_callback_wheel_zvelocity_rear_right() +{ + return x4ww_input_callback_wheel_zvelocity("tag_wheel_back_right"); +} + +//Function Number: 26 +x4ww_input_callback_wheel_zvelocity(param_00) +{ + var_01 = soundscripts\_audio_vehicle_manager::avmx_get_vehicle_entity(); + var_02 = var_01 vehicle_scripts\_x4walker_wheels::get_wheel_velocity(param_00); + var_03 = var_02[2]; + return var_03; +} + +//Function Number: 27 +x4ww_input_callback_gun_pitch_rate() +{ + var_00 = soundscripts\_audio_vehicle_manager::avmx_get_vehicle_entity(); + var_01 = 0; + return var_01; +} + +//Function Number: 28 +x4ww_input_callback_gun_yaw_rate() +{ + var_00 = soundscripts\_audio_vehicle_manager::avmx_get_vehicle_entity(); + var_01 = 0; + return var_01; +} + +//Function Number: 29 +x4ww_input_callback_player_driver() +{ + var_00 = soundscripts\_audio_vehicle_manager::avmx_get_vehicle_entity(); + return isdefined(var_00.player_driver); +} + +//Function Number: 30 +push_item_on_que(param_00,param_01) +{ + for(var_02 = param_00.size - 1;var_02 > 0;var_02--) + { + param_00[var_02] = param_00[var_02 - 1]; + } + + param_00[0] = param_01; + return param_00; +} + +//Function Number: 31 +get_average_in_que(param_00) +{ + var_01 = 0; + for(var_02 = 0;var_02 < param_00.size;var_02++) + { + var_01 = var_01 + param_00[var_02]; + } + + var_03 = var_01 / param_00.size; + return var_03; +} \ No newline at end of file diff --git a/AW/PC/SP/vehicle_scripts/_x4walker_wheels_turret.gsc b/AW/PC/vehicle_scripts/_x4walker_wheels_turret.gsc similarity index 97% rename from AW/PC/SP/vehicle_scripts/_x4walker_wheels_turret.gsc rename to AW/PC/vehicle_scripts/_x4walker_wheels_turret.gsc index 5db555d..805fb8f 100644 --- a/AW/PC/SP/vehicle_scripts/_x4walker_wheels_turret.gsc +++ b/AW/PC/vehicle_scripts/_x4walker_wheels_turret.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_x4walker_wheels_turret.gsc + * Decompiled File: _x4walker_wheels_turret.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 71 - * Decompile Time: 885 ms - * Timestamp: 10/27/2023 2:06:49 AM + * Decompile Time: 1012 ms + * Timestamp: 4/22/2024 2:05:46 AM *******************************************************************/ //Function Number: 1 @@ -1559,17 +1559,49 @@ fire_rocket_at(param_00,param_01) switch(param_01) { case 1: + var_04 = %x4walkersplit_cockpit_rockets_fire4; break; case 2: + var_04 = %x4walkersplit_cockpit_rockets_fire3; break; case 3: + var_04 = %x4walkersplit_cockpit_rockets_fire2; break; case 4: + var_04 = %x4walkersplit_cockpit_rockets_fire1; break; } + + self.mgturret[0] setanimknob(var_04,1,0,1); + var_05 = self.mgturret[0] gettagorigin(var_03); + var_06 = self.mgturret[0] gettagangles(var_03); + var_07 = var_05 + anglestoforward(var_06) * 512; + playfxontag(common_scripts\utility::getfx("x4walker_wheels_rpg_fv"),self.mgturret[0],var_03); + if(isdefined(self.player_driver)) + { + var_08 = magicbullet("mobile_turret_missile",var_05,var_07,self.player_driver); + } + else + { + var_08 = magicbullet("mobile_turret_missile",var_06,var_08); + } + + var_08 soundscripts\_snd::snd_message("x4_walker_fire_missile",param_00); + var_08 missile_settargetent(param_00); + var_08 missile_setflightmodedirect(); + var_08 waittill("death"); + if(isdefined(param_00)) + { + if(isai(param_00)) + { + check_fire_and_forget(); + } + + param_00 notify("remove_target"); + } } //Function Number: 61 diff --git a/AW/PC/SP/vehicle_scripts/_x4walker_wheels_turret_aud.gsc b/AW/PC/vehicle_scripts/_x4walker_wheels_turret_aud.gsc similarity index 99% rename from AW/PC/SP/vehicle_scripts/_x4walker_wheels_turret_aud.gsc rename to AW/PC/vehicle_scripts/_x4walker_wheels_turret_aud.gsc index 80373a8..fec01f3 100644 --- a/AW/PC/SP/vehicle_scripts/_x4walker_wheels_turret_aud.gsc +++ b/AW/PC/vehicle_scripts/_x4walker_wheels_turret_aud.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_x4walker_wheels_turret_aud.gsc + * Decompiled File: _x4walker_wheels_turret_aud.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 31 - * Decompile Time: 374 ms - * Timestamp: 10/27/2023 2:06:51 AM + * Decompile Time: 464 ms + * Timestamp: 4/22/2024 2:05:48 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/vehicle_scripts/_xh9_warbird.gsc b/AW/PC/vehicle_scripts/_xh9_warbird.gsc similarity index 99% rename from AW/PC/SP/vehicle_scripts/_xh9_warbird.gsc rename to AW/PC/vehicle_scripts/_xh9_warbird.gsc index a1d1ebb..c8ae290 100644 --- a/AW/PC/SP/vehicle_scripts/_xh9_warbird.gsc +++ b/AW/PC/vehicle_scripts/_xh9_warbird.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: vehicle_scripts/_xh9_warbird.gsc + * Decompiled File: _xh9_warbird.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 51 - * Decompile Time: 765 ms - * Timestamp: 10/27/2023 2:06:53 AM + * Decompile Time: 746 ms + * Timestamp: 4/22/2024 2:05:51 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/xmodelalias/alias_africa_civilian_male_heads.gsc b/AW/PC/xmodelalias/alias_africa_civilian_male_heads.gsc new file mode 100644 index 0000000..96e3c47 --- /dev/null +++ b/AW/PC/xmodelalias/alias_africa_civilian_male_heads.gsc @@ -0,0 +1,17 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_africa_civilian_male_heads.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 20 ms + * Timestamp: 4/22/2024 2:05:55 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "head_africa_militia_b_hat"; + var_00[1] = "head_africa_militia_c_hat"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_atlas_bodyguard_heads.gsc b/AW/PC/xmodelalias/alias_atlas_bodyguard_heads.gsc new file mode 100644 index 0000000..bfee0bd --- /dev/null +++ b/AW/PC/xmodelalias/alias_atlas_bodyguard_heads.gsc @@ -0,0 +1,20 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_atlas_bodyguard_heads.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 20 ms + * Timestamp: 4/22/2024 2:05:55 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "head_m_gen_cau_barton"; + var_00[1] = "head_m_gen_cau_clark"; + var_00[2] = "head_m_gen_asi_martin"; + var_00[3] = "head_m_gen_asi_kang"; + var_00[4] = "head_m_act_afr_adams_base"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_afr_dark_male_bodies_casual.gsc b/AW/PC/xmodelalias/alias_civ_afr_dark_male_bodies_casual.gsc new file mode 100644 index 0000000..4d82e2c --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_afr_dark_male_bodies_casual.gsc @@ -0,0 +1,33 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_afr_dark_male_bodies_casual.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 20 ms + * Timestamp: 4/22/2024 2:05:55 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "civ_urban_male_body_a_afr_dark"; + var_00[1] = "civ_urban_male_body_b_afr_dark"; + var_00[2] = "civ_urban_male_body_b_gray_afr_dark"; + var_00[3] = "civ_urban_male_body_b_green_afr_dark"; + var_00[4] = "civ_urban_male_body_b_red_afr_dark"; + var_00[5] = "civ_urban_male_body_c_afr_dark"; + var_00[6] = "civ_urban_male_body_c_blue_afr_dark"; + var_00[7] = "civ_urban_male_body_c_gray_afr_dark"; + var_00[8] = "civ_urban_male_body_c_green_afr_dark"; + var_00[9] = "civ_urban_male_body_c_solid_red_afr_dark"; + var_00[10] = "civ_urban_male_body_c_solid_teal_afr_dark"; + var_00[11] = "civ_urban_male_body_c_solid_yellow_afr_dark"; + var_00[12] = "civ_urban_male_body_d_afr_dark"; + var_00[13] = "civ_urban_male_body_e_afr_dark"; + var_00[14] = "civ_urban_male_body_e_solid_brown_afr_dark"; + var_00[15] = "civ_urban_male_body_e_solid_red_afr_dark"; + var_00[16] = "civ_urban_male_body_e_solid_teal_afr_dark"; + var_00[17] = "civ_urban_male_body_e_solid_yellow_afr_dark"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_afr_dark_male_bodies_dress.gsc b/AW/PC/xmodelalias/alias_civ_afr_dark_male_bodies_dress.gsc new file mode 100644 index 0000000..3ef8dd5 --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_afr_dark_male_bodies_dress.gsc @@ -0,0 +1,19 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_afr_dark_male_bodies_dress.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 2:05:56 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "civ_urban_male_body_f_afr_dark"; + var_00[1] = "civ_urban_male_body_f_black_afr_dark"; + var_00[2] = "civ_urban_male_body_g_afr_dark"; + var_00[3] = "civ_urban_male_body_g_gray_afr_dark"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_afr_dark_male_heads.gsc b/AW/PC/xmodelalias/alias_civ_afr_dark_male_heads.gsc new file mode 100644 index 0000000..cf2483f --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_afr_dark_male_heads.gsc @@ -0,0 +1,19 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_afr_dark_male_heads.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 20 ms + * Timestamp: 4/22/2024 2:05:56 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "head_m_act_afr_adams_base"; + var_00[1] = "head_m_gen_afr_davis"; + var_00[2] = "head_m_gen_afr_craig"; + var_00[3] = "head_m_gen_afr_bowman"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_afr_drk_female_bodies_cas.gsc b/AW/PC/xmodelalias/alias_civ_afr_drk_female_bodies_cas.gsc new file mode 100644 index 0000000..e67db62 --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_afr_drk_female_bodies_cas.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_afr_drk_female_bodies_cas.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 2:05:56 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "civ_urban_female_body_b_blue_afr_dark"; + var_00[1] = "civ_urban_female_body_b_brown_afr_dark"; + var_00[2] = "civ_urban_female_body_b_green_afr_dark"; + var_00[3] = "civ_urban_female_body_b_olive_afr_dark"; + var_00[4] = "civ_urban_female_body_b_yellow_afr_dark"; + var_00[5] = "civ_urban_female_body_e_afr_dark"; + var_00[6] = "civ_urban_female_body_e_brown_afr_dark"; + var_00[7] = "civ_urban_female_body_e_gold_afr_dark"; + var_00[8] = "civ_urban_female_body_a_afr_dark"; + var_00[9] = "civ_urban_female_body_c_afr_dark"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_afr_drk_female_bodies_drs.gsc b/AW/PC/xmodelalias/alias_civ_afr_drk_female_bodies_drs.gsc new file mode 100644 index 0000000..2a14f25 --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_afr_drk_female_bodies_drs.gsc @@ -0,0 +1,20 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_afr_drk_female_bodies_drs.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 20 ms + * Timestamp: 4/22/2024 2:05:56 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "civ_urban_female_body_f_afr_dark"; + var_00[1] = "civ_urban_female_body_f_dots_white_afr_dark"; + var_00[2] = "civ_urban_female_body_f_gray_top_afr_dark"; + var_00[3] = "civ_urban_female_body_f_lightgray_afr_dark"; + var_00[4] = "civ_urban_female_body_f_tweedtop_afr_dark"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_afr_drk_female_heads.gsc b/AW/PC/xmodelalias/alias_civ_afr_drk_female_heads.gsc new file mode 100644 index 0000000..4db4ea0 --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_afr_drk_female_heads.gsc @@ -0,0 +1,18 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_afr_drk_female_heads.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 2:05:57 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "head_f_gen_afr_tucker"; + var_00[1] = "head_f_gen_afr_summers"; + var_00[2] = "head_f_act_afr_townes"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_afr_lgt_fem_bod_drs_sml.gsc b/AW/PC/xmodelalias/alias_civ_afr_lgt_fem_bod_drs_sml.gsc new file mode 100644 index 0000000..a49a283 --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_afr_lgt_fem_bod_drs_sml.gsc @@ -0,0 +1,17 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_afr_lgt_fem_bod_drs_sml.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 2:05:57 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "civ_urban_female_body_g_gray_afr_light"; + var_00[1] = "civ_urban_female_body_f_blue_afr_light"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_afr_lgt_female_bodies_cas.gsc b/AW/PC/xmodelalias/alias_civ_afr_lgt_female_bodies_cas.gsc new file mode 100644 index 0000000..d07bd7d --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_afr_lgt_female_bodies_cas.gsc @@ -0,0 +1,25 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_afr_lgt_female_bodies_cas.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 2:05:57 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "civ_urban_female_body_b_blue_afr_light"; + var_00[1] = "civ_urban_female_body_b_brown_afr_light"; + var_00[2] = "civ_urban_female_body_b_green_afr_light"; + var_00[3] = "civ_urban_female_body_b_olive_afr_light"; + var_00[4] = "civ_urban_female_body_b_yellow_afr_light"; + var_00[5] = "civ_urban_female_body_e_afr_light"; + var_00[6] = "civ_urban_female_body_e_brown_afr_light"; + var_00[7] = "civ_urban_female_body_e_gold_afr_light"; + var_00[8] = "civ_urban_female_body_a_afr_light"; + var_00[9] = "civ_urban_female_body_c_afr_light"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_afr_lgt_female_bodies_drs.gsc b/AW/PC/xmodelalias/alias_civ_afr_lgt_female_bodies_drs.gsc new file mode 100644 index 0000000..b7302d5 --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_afr_lgt_female_bodies_drs.gsc @@ -0,0 +1,20 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_afr_lgt_female_bodies_drs.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 20 ms + * Timestamp: 4/22/2024 2:05:57 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "civ_urban_female_body_f_afr_light"; + var_00[1] = "civ_urban_female_body_f_dots_white_afr_light"; + var_00[2] = "civ_urban_female_body_f_gray_top_afr_light"; + var_00[3] = "civ_urban_female_body_f_lightgray_afr_light"; + var_00[4] = "civ_urban_female_body_f_tweedtop_afr_light"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_afr_lgt_female_heads.gsc b/AW/PC/xmodelalias/alias_civ_afr_lgt_female_heads.gsc new file mode 100644 index 0000000..1201a9d --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_afr_lgt_female_heads.gsc @@ -0,0 +1,17 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_afr_lgt_female_heads.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 2:05:58 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "head_f_gen_afr_waters"; + var_00[1] = "head_f_gen_afr_rice"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_afr_light_male_bodies_casual.gsc b/AW/PC/xmodelalias/alias_civ_afr_light_male_bodies_casual.gsc new file mode 100644 index 0000000..3df0b7b --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_afr_light_male_bodies_casual.gsc @@ -0,0 +1,33 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_afr_light_male_bodies_casual.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 2:05:58 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "civ_urban_male_body_a_afr_light"; + var_00[1] = "civ_urban_male_body_b_afr_light"; + var_00[2] = "civ_urban_male_body_b_gray_afr_light"; + var_00[3] = "civ_urban_male_body_b_green_afr_light"; + var_00[4] = "civ_urban_male_body_b_red_afr_light"; + var_00[5] = "civ_urban_male_body_c_afr_light"; + var_00[6] = "civ_urban_male_body_c_blue_afr_light"; + var_00[7] = "civ_urban_male_body_c_gray_afr_light"; + var_00[8] = "civ_urban_male_body_c_green_afr_light"; + var_00[9] = "civ_urban_male_body_c_solid_red_afr_light"; + var_00[10] = "civ_urban_male_body_c_solid_teal_afr_light"; + var_00[11] = "civ_urban_male_body_c_solid_yellow_afr_light"; + var_00[12] = "civ_urban_male_body_d_afr_light"; + var_00[13] = "civ_urban_male_body_e_afr_light"; + var_00[14] = "civ_urban_male_body_e_solid_brown_afr_light"; + var_00[15] = "civ_urban_male_body_e_solid_red_afr_light"; + var_00[16] = "civ_urban_male_body_e_solid_teal_afr_light"; + var_00[17] = "civ_urban_male_body_e_solid_yellow_afr_light"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_afr_light_male_bodies_dress.gsc b/AW/PC/xmodelalias/alias_civ_afr_light_male_bodies_dress.gsc new file mode 100644 index 0000000..fca2d3d --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_afr_light_male_bodies_dress.gsc @@ -0,0 +1,19 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_afr_light_male_bodies_dress.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 2:05:58 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "civ_urban_male_body_f_afr_light"; + var_00[1] = "civ_urban_male_body_f_black_afr_light"; + var_00[2] = "civ_urban_male_body_g_afr_light"; + var_00[3] = "civ_urban_male_body_g_gray_afr_light"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_afr_light_male_heads.gsc b/AW/PC/xmodelalias/alias_civ_afr_light_male_heads.gsc new file mode 100644 index 0000000..563df20 --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_afr_light_male_heads.gsc @@ -0,0 +1,18 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_afr_light_male_heads.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 2:05:58 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "head_m_gen_afr_rice"; + var_00[1] = "head_m_act_afr_brickerson_base"; + var_00[2] = "head_m_act_afr_sykes_base"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_asi_male_bodies_casual.gsc b/AW/PC/xmodelalias/alias_civ_asi_male_bodies_casual.gsc new file mode 100644 index 0000000..992742f --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_asi_male_bodies_casual.gsc @@ -0,0 +1,33 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_asi_male_bodies_casual.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 23 ms + * Timestamp: 4/22/2024 2:05:59 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "civ_urban_male_body_a_asi"; + var_00[1] = "civ_urban_male_body_b_asi"; + var_00[2] = "civ_urban_male_body_b_gray_asi"; + var_00[3] = "civ_urban_male_body_b_green_asi"; + var_00[4] = "civ_urban_male_body_b_red_asi"; + var_00[5] = "civ_urban_male_body_c_asi"; + var_00[6] = "civ_urban_male_body_c_gray_asi"; + var_00[7] = "civ_urban_male_body_c_green_asi"; + var_00[8] = "civ_urban_male_body_c_solid_red_asi"; + var_00[9] = "civ_urban_male_body_c_solid_teal_asi"; + var_00[10] = "civ_urban_male_body_c_solid_yellow_asi"; + var_00[11] = "civ_urban_male_body_d_asi"; + var_00[12] = "civ_urban_male_body_e_asi"; + var_00[13] = "civ_urban_male_body_e_solid_brown_asi"; + var_00[14] = "civ_urban_male_body_e_solid_red_asi"; + var_00[15] = "civ_urban_male_body_e_solid_teal_asi"; + var_00[16] = "civ_urban_male_body_e_solid_yellow_asi"; + var_00[17] = "civ_urban_male_body_c_blue_asi"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_asi_male_bodies_dress.gsc b/AW/PC/xmodelalias/alias_civ_asi_male_bodies_dress.gsc new file mode 100644 index 0000000..5e290e8 --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_asi_male_bodies_dress.gsc @@ -0,0 +1,19 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_asi_male_bodies_dress.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 2:05:59 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "civ_urban_male_body_f_asi"; + var_00[1] = "civ_urban_male_body_f_black_asi"; + var_00[2] = "civ_urban_male_body_g_asi"; + var_00[3] = "civ_urban_male_body_g_gray_asi"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_asi_male_heads.gsc b/AW/PC/xmodelalias/alias_civ_asi_male_heads.gsc new file mode 100644 index 0000000..e49f4b2 --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_asi_male_heads.gsc @@ -0,0 +1,23 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_asi_male_heads.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 20 ms + * Timestamp: 4/22/2024 2:05:59 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "head_m_act_asi_chang_base"; + var_00[1] = "head_m_act_asi_chen_base"; + var_00[2] = "head_m_act_asi_conlon_base"; + var_00[3] = "head_m_act_asi_owens_base"; + var_00[4] = "head_m_gen_asi_kang"; + var_00[5] = "head_m_gen_asi_lee"; + var_00[6] = "head_m_gen_asi_martin"; + var_00[7] = "head_m_gen_asi_pease"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_asi_male_heads_cpt.gsc b/AW/PC/xmodelalias/alias_civ_asi_male_heads_cpt.gsc new file mode 100644 index 0000000..19ad7c6 --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_asi_male_heads_cpt.gsc @@ -0,0 +1,21 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_asi_male_heads_cpt.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 2:06:00 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "head_m_gen_asi_pease"; + var_00[1] = "head_m_gen_asi_martin"; + var_00[2] = "head_m_act_asi_conlon_base"; + var_00[3] = "head_m_act_asi_owens_base"; + var_00[4] = "head_m_gen_asi_kang"; + var_00[5] = "head_m_gen_asi_lee"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_cau_fem_bod_drs_sml.gsc b/AW/PC/xmodelalias/alias_civ_cau_fem_bod_drs_sml.gsc new file mode 100644 index 0000000..6847e45 --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_cau_fem_bod_drs_sml.gsc @@ -0,0 +1,17 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_cau_fem_bod_drs_sml.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 2:06:00 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "civ_urban_female_body_f_lightgray_top"; + var_00[1] = "civ_urban_female_body_g_tweed"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_cau_fem_heads_sml.gsc b/AW/PC/xmodelalias/alias_civ_cau_fem_heads_sml.gsc new file mode 100644 index 0000000..86c832b --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_cau_fem_heads_sml.gsc @@ -0,0 +1,17 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_cau_fem_heads_sml.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 23 ms + * Timestamp: 4/22/2024 2:06:00 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "head_f_gen_cau_giovanni"; + var_00[1] = "head_f_gen_cau_peterson"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_cau_female_bodies_cas.gsc b/AW/PC/xmodelalias/alias_civ_cau_female_bodies_cas.gsc new file mode 100644 index 0000000..0c541c9 --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_cau_female_bodies_cas.gsc @@ -0,0 +1,33 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_cau_female_bodies_cas.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 2:06:00 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "civ_urban_female_body_a"; + var_00[1] = "civ_urban_female_body_b"; + var_00[2] = "civ_urban_female_body_b_blue"; + var_00[3] = "civ_urban_female_body_b_brown"; + var_00[4] = "civ_urban_female_body_b_green"; + var_00[5] = "civ_urban_female_body_b_olive"; + var_00[6] = "civ_urban_female_body_b_yellow"; + var_00[7] = "civ_urban_female_body_c"; + var_00[8] = "civ_urban_female_body_d"; + var_00[9] = "civ_urban_female_body_e"; + var_00[10] = "civ_urban_female_body_e_gold"; + var_00[11] = "civ_urban_female_body_e_pink"; + var_00[12] = "civ_urban_female_body_e_violet"; + var_00[13] = "civ_urban_female_body_f_argyle_blue"; + var_00[14] = "civ_urban_female_body_f_tartan_brown"; + var_00[15] = "civ_urban_female_body_g_blue"; + var_00[16] = "civ_urban_female_body_g_green"; + var_00[17] = "civ_urban_female_body_g_pink"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_cau_female_bodies_drs.gsc b/AW/PC/xmodelalias/alias_civ_cau_female_bodies_drs.gsc new file mode 100644 index 0000000..1845bce --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_cau_female_bodies_drs.gsc @@ -0,0 +1,23 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_cau_female_bodies_drs.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 2:06:01 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "civ_urban_female_body_f"; + var_00[1] = "civ_urban_female_body_g"; + var_00[2] = "civ_urban_female_body_g_lightgray_top"; + var_00[3] = "civ_urban_female_body_g_tweed"; + var_00[4] = "civ_urban_female_body_f_tweedtop"; + var_00[5] = "civ_urban_female_body_f_lightgray_top"; + var_00[6] = "civ_urban_female_body_f_gray_top"; + var_00[7] = "civ_urban_female_body_f_dots_white"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_cau_female_heads.gsc b/AW/PC/xmodelalias/alias_civ_cau_female_heads.gsc new file mode 100644 index 0000000..cbe395f --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_cau_female_heads.gsc @@ -0,0 +1,21 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_cau_female_heads.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 2:06:01 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "head_f_gen_cau_giovanni"; + var_00[1] = "head_f_gen_cau_peterson"; + var_00[2] = "head_f_gen_cau_withers"; + var_00[3] = "head_f_gen_cau_coyle"; + var_00[4] = "head_f_act_cau_biedermann"; + var_00[5] = "head_f_act_cau_hamilton_base"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_cau_male_bodies_casual.gsc b/AW/PC/xmodelalias/alias_civ_cau_male_bodies_casual.gsc new file mode 100644 index 0000000..4618231 --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_cau_male_bodies_casual.gsc @@ -0,0 +1,34 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_cau_male_bodies_casual.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 2:06:01 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "civ_urban_male_body_a"; + var_00[1] = "civ_urban_male_body_b"; + var_00[2] = "civ_urban_male_body_b_gray_shirt"; + var_00[3] = "civ_urban_male_body_b_green_shirt"; + var_00[4] = "civ_urban_male_body_b_red_shirt"; + var_00[5] = "civ_urban_male_body_c"; + var_00[6] = "civ_urban_male_body_c_blue_shirt"; + var_00[7] = "civ_urban_male_body_c_gray_shirt"; + var_00[8] = "civ_urban_male_body_c_green_shirt"; + var_00[9] = "civ_urban_male_body_c_solid_red"; + var_00[10] = "civ_urban_male_body_c_solid_teal"; + var_00[11] = "civ_urban_male_body_c_solid_yellow"; + var_00[12] = "civ_urban_male_body_d"; + var_00[13] = "civ_urban_male_body_e"; + var_00[14] = "civ_urban_male_body_e_solid_brown"; + var_00[15] = "civ_urban_male_body_e_solid_red"; + var_00[16] = "civ_urban_male_body_e_solid_teal"; + var_00[17] = "civ_urban_male_body_e_solid_yellow"; + var_00[18] = "civ_african_male_body_d"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_cau_male_bodies_dress.gsc b/AW/PC/xmodelalias/alias_civ_cau_male_bodies_dress.gsc new file mode 100644 index 0000000..d1f9019 --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_cau_male_bodies_dress.gsc @@ -0,0 +1,19 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_cau_male_bodies_dress.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 30 ms + * Timestamp: 4/22/2024 2:06:02 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "civ_urban_male_body_f"; + var_00[1] = "civ_urban_male_body_f_black_pants"; + var_00[2] = "civ_urban_male_body_g"; + var_00[3] = "civ_urban_male_body_g_gray_pants"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_cau_male_heads.gsc b/AW/PC/xmodelalias/alias_civ_cau_male_heads.gsc new file mode 100644 index 0000000..f635c1c --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_cau_male_heads.gsc @@ -0,0 +1,23 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_cau_male_heads.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 20 ms + * Timestamp: 4/22/2024 2:06:02 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "head_m_act_cau_bedrosian_base"; + var_00[1] = "head_m_act_cau_kanik_base"; + var_00[2] = "head_m_act_cau_manasi_base"; + var_00[3] = "head_m_act_cau_ramsay_base"; + var_00[4] = "head_m_gen_cau_anderson"; + var_00[5] = "head_m_gen_cau_barton"; + var_00[6] = "head_m_gen_cau_clark"; + var_00[7] = "head_m_gen_cau_young"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_cau_male_heads_hazmat_nohat.gsc b/AW/PC/xmodelalias/alias_civ_cau_male_heads_hazmat_nohat.gsc new file mode 100644 index 0000000..0639ce2 --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_cau_male_heads_hazmat_nohat.gsc @@ -0,0 +1,18 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_cau_male_heads_hazmat_nohat.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 20 ms + * Timestamp: 4/22/2024 2:06:02 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "head_m_gen_asi_martin_low"; + var_00[1] = "head_m_gen_afr_bowman_low"; + var_00[2] = "head_m_gen_mde_smith_low"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_mde_female_bodies_cas.gsc b/AW/PC/xmodelalias/alias_civ_mde_female_bodies_cas.gsc new file mode 100644 index 0000000..5792871 --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_mde_female_bodies_cas.gsc @@ -0,0 +1,19 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_mde_female_bodies_cas.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 2:06:02 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "civ_urban_female_body_a_mde"; + var_00[1] = "civ_urban_female_body_b_blue_mde"; + var_00[2] = "civ_urban_female_body_b_green_mde"; + var_00[3] = "civ_urban_female_body_e_gold_mde"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_mde_female_bodies_drs.gsc b/AW/PC/xmodelalias/alias_civ_mde_female_bodies_drs.gsc new file mode 100644 index 0000000..e01e790 --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_mde_female_bodies_drs.gsc @@ -0,0 +1,20 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_mde_female_bodies_drs.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 20 ms + * Timestamp: 4/22/2024 2:06:03 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "civ_urban_female_body_f_pink_mde"; + var_00[1] = "civ_urban_female_body_g_mde"; + var_00[2] = "civ_urban_female_body_g_gray_mde"; + var_00[3] = "civ_urban_female_body_f_pink_top"; + var_00[4] = "civ_urban_female_body_f_tartan_brown_mde"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_mde_female_heads.gsc b/AW/PC/xmodelalias/alias_civ_mde_female_heads.gsc new file mode 100644 index 0000000..8c3ecb4 --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_mde_female_heads.gsc @@ -0,0 +1,19 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_mde_female_heads.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 2:06:03 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "head_f_act_mde_ali_base"; + var_00[1] = "head_f_gen_mde_halabi"; + var_00[2] = "head_f_gen_mde_basara"; + var_00[3] = "head_f_gen_mde_mustafa"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_mde_male_bodies_casual.gsc b/AW/PC/xmodelalias/alias_civ_mde_male_bodies_casual.gsc new file mode 100644 index 0000000..b594f5f --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_mde_male_bodies_casual.gsc @@ -0,0 +1,33 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_mde_male_bodies_casual.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 20 ms + * Timestamp: 4/22/2024 2:06:03 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "civ_urban_male_body_a_mde"; + var_00[1] = "civ_urban_male_body_b_mde"; + var_00[2] = "civ_urban_male_body_b_gray_mde"; + var_00[3] = "civ_urban_male_body_b_green_mde"; + var_00[4] = "civ_urban_male_body_b_red_mde"; + var_00[5] = "civ_urban_male_body_c_gray_mde"; + var_00[6] = "civ_urban_male_body_c_green_mde"; + var_00[7] = "civ_urban_male_body_c_mde"; + var_00[8] = "civ_urban_male_body_c_solid_red_mde"; + var_00[9] = "civ_urban_male_body_c_solid_teal_mde"; + var_00[10] = "civ_urban_male_body_c_solid_yellow_mde"; + var_00[11] = "civ_urban_male_body_d_mde"; + var_00[12] = "civ_urban_male_body_e_mde"; + var_00[13] = "civ_urban_male_body_e_solid_brown_mde"; + var_00[14] = "civ_urban_male_body_e_solid_red_mde"; + var_00[15] = "civ_urban_male_body_e_solid_teal_mde"; + var_00[16] = "civ_urban_male_body_e_solid_yellow_mde"; + var_00[17] = "civ_urban_male_body_c_blue_mde"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_mde_male_bodies_dress.gsc b/AW/PC/xmodelalias/alias_civ_mde_male_bodies_dress.gsc new file mode 100644 index 0000000..9e48bae --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_mde_male_bodies_dress.gsc @@ -0,0 +1,19 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_mde_male_bodies_dress.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 31 ms + * Timestamp: 4/22/2024 2:06:04 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "civ_urban_male_body_f_black_mde"; + var_00[1] = "civ_urban_male_body_f_mde"; + var_00[2] = "civ_urban_male_body_g_gray_mde"; + var_00[3] = "civ_urban_male_body_g_mde"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_mde_male_heads.gsc b/AW/PC/xmodelalias/alias_civ_mde_male_heads.gsc new file mode 100644 index 0000000..4fc4936 --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_mde_male_heads.gsc @@ -0,0 +1,19 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_mde_male_heads.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 2:06:04 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "head_m_gen_mde_azzam"; + var_00[1] = "head_m_gen_mde_hanks"; + var_00[2] = "head_m_gen_mde_smith"; + var_00[3] = "head_m_gen_mde_urena"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_pris_afr_dark_male_bodies.gsc b/AW/PC/xmodelalias/alias_civ_pris_afr_dark_male_bodies.gsc new file mode 100644 index 0000000..741dae8 --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_pris_afr_dark_male_bodies.gsc @@ -0,0 +1,17 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_pris_afr_dark_male_bodies.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 2:06:04 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "civ_prisoner_atlas_body_afr_dark"; + var_00[1] = "civ_prisoner_atlas_body_b_afr_dark"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_pris_cau_male_bodies.gsc b/AW/PC/xmodelalias/alias_civ_pris_cau_male_bodies.gsc new file mode 100644 index 0000000..7175bfa --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_pris_cau_male_bodies.gsc @@ -0,0 +1,17 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_pris_cau_male_bodies.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 29 ms + * Timestamp: 4/22/2024 2:06:04 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "civ_prisoner_atlas_body"; + var_00[1] = "civ_prisoner_atlas_body_b"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_pris_mde_male_bodies.gsc b/AW/PC/xmodelalias/alias_civ_pris_mde_male_bodies.gsc new file mode 100644 index 0000000..17ce30a --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_pris_mde_male_bodies.gsc @@ -0,0 +1,17 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_pris_mde_male_bodies.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 32 ms + * Timestamp: 4/22/2024 2:06:05 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "civ_prisoner_atlas_body_b_mde"; + var_00[1] = "civ_prisoner_atlas_body_mde"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_rec_funeral_male_body.gsc b/AW/PC/xmodelalias/alias_civ_rec_funeral_male_body.gsc new file mode 100644 index 0000000..2841763 --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_rec_funeral_male_body.gsc @@ -0,0 +1,20 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_rec_funeral_male_body.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 2:06:05 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "civ_urban_male_body_f"; + var_00[1] = "civ_urban_male_body_f_black_pants"; + var_00[2] = "civ_urban_male_body_g"; + var_00[3] = "civ_urban_male_body_g_gray_pants"; + var_00[4] = "civ_male_body_suit_closed"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_rec_funeral_male_body_afr.gsc b/AW/PC/xmodelalias/alias_civ_rec_funeral_male_body_afr.gsc new file mode 100644 index 0000000..ea44628 --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_rec_funeral_male_body_afr.gsc @@ -0,0 +1,20 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_rec_funeral_male_body_afr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 20 ms + * Timestamp: 4/22/2024 2:06:05 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "civ_urban_male_body_f_black_pants_afr"; + var_00[1] = "civ_urban_male_body_f_afr"; + var_00[2] = "civ_male_body_suit_closed_afr"; + var_00[3] = "civ_urban_male_body_g_gray_pants_afr"; + var_00[4] = "civ_urban_male_body_g_afr"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_rec_funeral_male_heads.gsc b/AW/PC/xmodelalias/alias_civ_rec_funeral_male_heads.gsc new file mode 100644 index 0000000..0404e3c --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_rec_funeral_male_heads.gsc @@ -0,0 +1,23 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_rec_funeral_male_heads.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 2:06:05 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "head_m_gen_cau_anderson"; + var_00[1] = "head_m_gen_cau_barton"; + var_00[2] = "head_m_gen_cau_clark"; + var_00[3] = "head_m_gen_cau_young"; + var_00[4] = "head_m_act_cau_bedrosian_base"; + var_00[5] = "head_m_act_cau_manasi_base"; + var_00[6] = "head_m_gen_mde_azzam_cau"; + var_00[7] = "head_m_gen_mde_hanks_cau"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_rec_funeral_male_heads_afr.gsc b/AW/PC/xmodelalias/alias_civ_rec_funeral_male_heads_afr.gsc new file mode 100644 index 0000000..44f3850 --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_rec_funeral_male_heads_afr.gsc @@ -0,0 +1,23 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_rec_funeral_male_heads_afr.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 20 ms + * Timestamp: 4/22/2024 2:06:06 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "head_m_gen_afr_bowman"; + var_00[1] = "head_m_gen_afr_craig"; + var_00[2] = "head_m_gen_afr_davis"; + var_00[3] = "head_m_gen_afr_rice"; + var_00[4] = "head_m_act_afr_adams_base"; + var_00[5] = "head_m_act_afr_brickerson_base"; + var_00[6] = "head_m_act_afr_sykes_base"; + var_00[7] = "head_m_gen_mde_smith_afr"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_urban_dead_body_a.gsc b/AW/PC/xmodelalias/alias_civ_urban_dead_body_a.gsc new file mode 100644 index 0000000..f0b3c06 --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_urban_dead_body_a.gsc @@ -0,0 +1,17 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_urban_dead_body_a.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 33 ms + * Timestamp: 4/22/2024 2:06:06 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "civ_urban_male_dead_body_a"; + var_00[1] = "civ_urban_male_dead_body_aa"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_urban_dead_body_b.gsc b/AW/PC/xmodelalias/alias_civ_urban_dead_body_b.gsc new file mode 100644 index 0000000..cab2bac --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_urban_dead_body_b.gsc @@ -0,0 +1,17 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_urban_dead_body_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 20 ms + * Timestamp: 4/22/2024 2:06:06 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "civ_urban_male_dead_body_b"; + var_00[1] = "civ_urban_male_dead_body_bb"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_urban_dead_body_c.gsc b/AW/PC/xmodelalias/alias_civ_urban_dead_body_c.gsc new file mode 100644 index 0000000..8902e0d --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_urban_dead_body_c.gsc @@ -0,0 +1,17 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_urban_dead_body_c.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 2:06:07 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "civ_urban_male_dead_body_c"; + var_00[1] = "civ_urban_male_dead_body_cc"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_urban_male_heads_afr_light.gsc b/AW/PC/xmodelalias/alias_civ_urban_male_heads_afr_light.gsc new file mode 100644 index 0000000..4ea0c59 --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_urban_male_heads_afr_light.gsc @@ -0,0 +1,18 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_urban_male_heads_afr_light.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 2:06:07 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "head_m_act_afr_brickerson_base"; + var_00[1] = "head_m_act_afr_sykes_base"; + var_00[2] = "head_m_gen_afr_rice"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civ_worker_hardhat_s1_heads.gsc b/AW/PC/xmodelalias/alias_civ_worker_hardhat_s1_heads.gsc new file mode 100644 index 0000000..3718d7b --- /dev/null +++ b/AW/PC/xmodelalias/alias_civ_worker_hardhat_s1_heads.gsc @@ -0,0 +1,21 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civ_worker_hardhat_s1_heads.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 20 ms + * Timestamp: 4/22/2024 2:06:07 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "head_m_gen_afr_bowman_hardhat"; + var_00[1] = "head_m_gen_afr_rice_hardhat"; + var_00[2] = "head_m_gen_cau_anderson_hardhat"; + var_00[3] = "head_m_gen_cau_barton_hardhat"; + var_00[4] = "head_m_gen_cau_clark_hardhat"; + var_00[5] = "head_m_gen_cau_young_hardhat"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civilian_heads_prisoner_female.gsc b/AW/PC/xmodelalias/alias_civilian_heads_prisoner_female.gsc new file mode 100644 index 0000000..cfe56f0 --- /dev/null +++ b/AW/PC/xmodelalias/alias_civilian_heads_prisoner_female.gsc @@ -0,0 +1,17 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civilian_heads_prisoner_female.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 2:06:07 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "head_f_act_mde_ali_base"; + var_00[1] = "civ_seoul_female_head_a"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civilian_slum_heads.gsc b/AW/PC/xmodelalias/alias_civilian_slum_heads.gsc new file mode 100644 index 0000000..b281771 --- /dev/null +++ b/AW/PC/xmodelalias/alias_civilian_slum_heads.gsc @@ -0,0 +1,20 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civilian_slum_heads.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 22 ms + * Timestamp: 4/22/2024 2:06:08 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "head_slum_civ_male_a"; + var_00[1] = "head_slum_civ_male_b"; + var_00[2] = "head_slum_civ_male_c"; + var_00[3] = "head_slum_civ_male_d"; + var_00[4] = "head_slum_civ_male_e"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civilian_slum_heads_wht.gsc b/AW/PC/xmodelalias/alias_civilian_slum_heads_wht.gsc new file mode 100644 index 0000000..f056b0c --- /dev/null +++ b/AW/PC/xmodelalias/alias_civilian_slum_heads_wht.gsc @@ -0,0 +1,18 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civilian_slum_heads_wht.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 23 ms + * Timestamp: 4/22/2024 2:06:08 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "head_slum_civ_male_f"; + var_00[1] = "head_slum_civ_male_g"; + var_00[2] = "head_slum_civ_male_h"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_civilian_worker_heads.gsc b/AW/PC/xmodelalias/alias_civilian_worker_heads.gsc new file mode 100644 index 0000000..2ac2e7f --- /dev/null +++ b/AW/PC/xmodelalias/alias_civilian_worker_heads.gsc @@ -0,0 +1,18 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_civilian_worker_heads.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 21 ms + * Timestamp: 4/22/2024 2:06:08 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "head_work_civ_male_a"; + var_00[1] = "head_work_civ_male_b"; + var_00[2] = "head_work_civ_male_c"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/MP/xmodelalias/alias_cloak_test.gsc b/AW/PC/xmodelalias/alias_cloak_test.gsc similarity index 73% rename from AW/PC/MP/xmodelalias/alias_cloak_test.gsc rename to AW/PC/xmodelalias/alias_cloak_test.gsc index 814e796..f4cde77 100644 --- a/AW/PC/MP/xmodelalias/alias_cloak_test.gsc +++ b/AW/PC/xmodelalias/alias_cloak_test.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: xmodelalias/alias_cloak_test.gsc + * Decompiled File: alias_cloak_test.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 14 ms - * Timestamp: 10/27/2023 1:48:19 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:06:08 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/xmodelalias/alias_coop_cloaked_static_heads.gsc b/AW/PC/xmodelalias/alias_coop_cloaked_static_heads.gsc new file mode 100644 index 0000000..627e70c --- /dev/null +++ b/AW/PC/xmodelalias/alias_coop_cloaked_static_heads.gsc @@ -0,0 +1,16 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_coop_cloaked_static_heads.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 31 ms + * Timestamp: 4/22/2024 2:06:09 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "head_coop_cloaked_static"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_enemy_atlas_arctic_heads.gsc b/AW/PC/xmodelalias/alias_enemy_atlas_arctic_heads.gsc new file mode 100644 index 0000000..c632676 --- /dev/null +++ b/AW/PC/xmodelalias/alias_enemy_atlas_arctic_heads.gsc @@ -0,0 +1,17 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_enemy_atlas_arctic_heads.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 25 ms + * Timestamp: 4/22/2024 2:06:09 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "atlas_arctic_helmet_a"; + var_00[1] = "atlas_arctic_helmet_b"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_enemy_atlas_elite_heads.gsc b/AW/PC/xmodelalias/alias_enemy_atlas_elite_heads.gsc new file mode 100644 index 0000000..e183796 --- /dev/null +++ b/AW/PC/xmodelalias/alias_enemy_atlas_elite_heads.gsc @@ -0,0 +1,17 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_enemy_atlas_elite_heads.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 39 ms + * Timestamp: 4/22/2024 2:06:10 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "atlas_elite_head"; + var_00[1] = "head_m_act_asi_chen_elite_c"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_enemy_atlas_heads.gsc b/AW/PC/xmodelalias/alias_enemy_atlas_heads.gsc new file mode 100644 index 0000000..d769934 --- /dev/null +++ b/AW/PC/xmodelalias/alias_enemy_atlas_heads.gsc @@ -0,0 +1,19 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_enemy_atlas_heads.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:06:10 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "atlas_head_b"; + var_00[1] = "atlas_head_c"; + var_00[2] = "atlas_head_d"; + var_00[3] = "atlas_head_e"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_greece_civilian_heads_males_a.gsc b/AW/PC/xmodelalias/alias_greece_civilian_heads_males_a.gsc new file mode 100644 index 0000000..f795285 --- /dev/null +++ b/AW/PC/xmodelalias/alias_greece_civilian_heads_males_a.gsc @@ -0,0 +1,19 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_greece_civilian_heads_males_a.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 30 ms + * Timestamp: 4/22/2024 2:06:10 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "head_civ_sf_male_a"; + var_00[1] = "head_london_male_a_drone"; + var_00[2] = "head_london_male_b_drone"; + var_00[3] = "kva_civilian_a_head"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_greece_civilian_heads_males_b.gsc b/AW/PC/xmodelalias/alias_greece_civilian_heads_males_b.gsc new file mode 100644 index 0000000..85e58fd --- /dev/null +++ b/AW/PC/xmodelalias/alias_greece_civilian_heads_males_b.gsc @@ -0,0 +1,18 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_greece_civilian_heads_males_b.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 35 ms + * Timestamp: 4/22/2024 2:06:11 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "head_civ_sf_male_b"; + var_00[1] = "head_m_gen_afr_davis"; + var_00[2] = "head_m_act_afr_adams_base"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_kva_heads.gsc b/AW/PC/xmodelalias/alias_kva_heads.gsc new file mode 100644 index 0000000..a3f4a1a --- /dev/null +++ b/AW/PC/xmodelalias/alias_kva_heads.gsc @@ -0,0 +1,20 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_kva_heads.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 31 ms + * Timestamp: 4/22/2024 2:06:11 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "kva_head_b"; + var_00[1] = "kva_head_c"; + var_00[2] = "kva_head_d"; + var_00[3] = "kva_head_smg"; + var_00[4] = "kva_head_e"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/MP/xmodelalias/alias_mp_sentinel_heads.gsc b/AW/PC/xmodelalias/alias_mp_sentinel_heads.gsc similarity index 76% rename from AW/PC/MP/xmodelalias/alias_mp_sentinel_heads.gsc rename to AW/PC/xmodelalias/alias_mp_sentinel_heads.gsc index 57733aa..54f7315 100644 --- a/AW/PC/MP/xmodelalias/alias_mp_sentinel_heads.gsc +++ b/AW/PC/xmodelalias/alias_mp_sentinel_heads.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: xmodelalias/alias_mp_sentinel_heads.gsc + * Decompiled File: alias_mp_sentinel_heads.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 13 ms - * Timestamp: 10/27/2023 1:48:19 AM + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 2:06:11 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/xmodelalias/alias_nigerian_army_bodies.gsc b/AW/PC/xmodelalias/alias_nigerian_army_bodies.gsc new file mode 100644 index 0000000..0fce0c1 --- /dev/null +++ b/AW/PC/xmodelalias/alias_nigerian_army_bodies.gsc @@ -0,0 +1,17 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_nigerian_army_bodies.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 29 ms + * Timestamp: 4/22/2024 2:06:12 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "nigerian_army_body_a"; + var_00[1] = "nigerian_army_body_b"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_nigerian_army_heads.gsc b/AW/PC/xmodelalias/alias_nigerian_army_heads.gsc new file mode 100644 index 0000000..ccd1d6d --- /dev/null +++ b/AW/PC/xmodelalias/alias_nigerian_army_heads.gsc @@ -0,0 +1,17 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_nigerian_army_heads.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:06:12 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "nigerian_army_helmet_head_a"; + var_00[1] = "nigerian_army_helmet_head_b"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/SP/xmodelalias/alias_pmc_casual_heads.gsc b/AW/PC/xmodelalias/alias_pmc_casual_heads.gsc similarity index 80% rename from AW/PC/SP/xmodelalias/alias_pmc_casual_heads.gsc rename to AW/PC/xmodelalias/alias_pmc_casual_heads.gsc index 6c3c2d4..113415b 100644 --- a/AW/PC/SP/xmodelalias/alias_pmc_casual_heads.gsc +++ b/AW/PC/xmodelalias/alias_pmc_casual_heads.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: xmodelalias/alias_pmc_casual_heads.gsc + * Decompiled File: alias_pmc_casual_heads.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 14 ms - * Timestamp: 10/27/2023 2:06:54 AM + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 2:06:12 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/xmodelalias/alias_pmc_casual_heads_asi.gsc b/AW/PC/xmodelalias/alias_pmc_casual_heads_asi.gsc similarity index 76% rename from AW/PC/SP/xmodelalias/alias_pmc_casual_heads_asi.gsc rename to AW/PC/xmodelalias/alias_pmc_casual_heads_asi.gsc index e20469d..0484102 100644 --- a/AW/PC/SP/xmodelalias/alias_pmc_casual_heads_asi.gsc +++ b/AW/PC/xmodelalias/alias_pmc_casual_heads_asi.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: xmodelalias/alias_pmc_casual_heads_asi.gsc + * Decompiled File: alias_pmc_casual_heads_asi.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 13 ms - * Timestamp: 10/27/2023 2:06:54 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:06:13 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/xmodelalias/alias_pmc_helmet_heads.gsc b/AW/PC/xmodelalias/alias_pmc_helmet_heads.gsc similarity index 74% rename from AW/PC/SP/xmodelalias/alias_pmc_helmet_heads.gsc rename to AW/PC/xmodelalias/alias_pmc_helmet_heads.gsc index 42af81a..706c13f 100644 --- a/AW/PC/SP/xmodelalias/alias_pmc_helmet_heads.gsc +++ b/AW/PC/xmodelalias/alias_pmc_helmet_heads.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: xmodelalias/alias_pmc_helmet_heads.gsc + * Decompiled File: alias_pmc_helmet_heads.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 14 ms - * Timestamp: 10/27/2023 2:06:55 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:06:13 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/xmodelalias/alias_sentinel_arctic_bodies.gsc b/AW/PC/xmodelalias/alias_sentinel_arctic_bodies.gsc new file mode 100644 index 0000000..df04d94 --- /dev/null +++ b/AW/PC/xmodelalias/alias_sentinel_arctic_bodies.gsc @@ -0,0 +1,18 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_sentinel_arctic_bodies.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:06:13 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "sentinel_arctic_body_a"; + var_00[1] = "sentinel_arctic_body_b"; + var_00[2] = "sentinel_arctic_body_c"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_sentinel_arctic_heads.gsc b/AW/PC/xmodelalias/alias_sentinel_arctic_heads.gsc new file mode 100644 index 0000000..f7923e3 --- /dev/null +++ b/AW/PC/xmodelalias/alias_sentinel_arctic_heads.gsc @@ -0,0 +1,17 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_sentinel_arctic_heads.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 35 ms + * Timestamp: 4/22/2024 2:06:14 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "sentinel_arctic_head_a"; + var_00[1] = "sentinel_arctic_head_b"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_sentinel_bodies.gsc b/AW/PC/xmodelalias/alias_sentinel_bodies.gsc new file mode 100644 index 0000000..5a2a3fa --- /dev/null +++ b/AW/PC/xmodelalias/alias_sentinel_bodies.gsc @@ -0,0 +1,18 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_sentinel_bodies.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 29 ms + * Timestamp: 4/22/2024 2:06:14 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "sentinel_body_a"; + var_00[1] = "sentinel_body_b"; + var_00[2] = "sentinel_body_c"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_sentinel_heads.gsc b/AW/PC/xmodelalias/alias_sentinel_heads.gsc new file mode 100644 index 0000000..67b2aa1 --- /dev/null +++ b/AW/PC/xmodelalias/alias_sentinel_heads.gsc @@ -0,0 +1,18 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_sentinel_heads.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 25 ms + * Timestamp: 4/22/2024 2:06:14 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "sentinel_head_a"; + var_00[1] = "sentinel_head_b"; + var_00[2] = "sentinel_head_c"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_sentinel_udt_heads.gsc b/AW/PC/xmodelalias/alias_sentinel_udt_heads.gsc new file mode 100644 index 0000000..e0a0dda --- /dev/null +++ b/AW/PC/xmodelalias/alias_sentinel_udt_heads.gsc @@ -0,0 +1,18 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_sentinel_udt_heads.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:06:15 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "sentinel_udt_head_a"; + var_00[1] = "sentinel_udt_head_b"; + var_00[2] = "sentinel_udt_head_c"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/SP/xmodelalias/alias_seoul_civilian_body_females.gsc b/AW/PC/xmodelalias/alias_seoul_civilian_body_females.gsc similarity index 81% rename from AW/PC/SP/xmodelalias/alias_seoul_civilian_body_females.gsc rename to AW/PC/xmodelalias/alias_seoul_civilian_body_females.gsc index 065d047..c9c4c3e 100644 --- a/AW/PC/SP/xmodelalias/alias_seoul_civilian_body_females.gsc +++ b/AW/PC/xmodelalias/alias_seoul_civilian_body_females.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: xmodelalias/alias_seoul_civilian_body_females.gsc + * Decompiled File: alias_seoul_civilian_body_females.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 14 ms - * Timestamp: 10/27/2023 2:06:55 AM + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 2:06:15 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/xmodelalias/alias_seoul_civilian_body_males_a.gsc b/AW/PC/xmodelalias/alias_seoul_civilian_body_males_a.gsc similarity index 73% rename from AW/PC/SP/xmodelalias/alias_seoul_civilian_body_males_a.gsc rename to AW/PC/xmodelalias/alias_seoul_civilian_body_males_a.gsc index 25580c2..44c1bf9 100644 --- a/AW/PC/SP/xmodelalias/alias_seoul_civilian_body_males_a.gsc +++ b/AW/PC/xmodelalias/alias_seoul_civilian_body_males_a.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: xmodelalias/alias_seoul_civilian_body_males_a.gsc + * Decompiled File: alias_seoul_civilian_body_males_a.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 14 ms - * Timestamp: 10/27/2023 2:06:55 AM + * Decompile Time: 34 ms + * Timestamp: 4/22/2024 2:06:15 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/xmodelalias/alias_seoul_civilian_body_males_b.gsc b/AW/PC/xmodelalias/alias_seoul_civilian_body_males_b.gsc similarity index 73% rename from AW/PC/SP/xmodelalias/alias_seoul_civilian_body_males_b.gsc rename to AW/PC/xmodelalias/alias_seoul_civilian_body_males_b.gsc index e673b8c..ac9b02f 100644 --- a/AW/PC/SP/xmodelalias/alias_seoul_civilian_body_males_b.gsc +++ b/AW/PC/xmodelalias/alias_seoul_civilian_body_males_b.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: xmodelalias/alias_seoul_civilian_body_males_b.gsc + * Decompiled File: alias_seoul_civilian_body_males_b.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 15 ms - * Timestamp: 10/27/2023 2:06:56 AM + * Decompile Time: 34 ms + * Timestamp: 4/22/2024 2:06:16 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/xmodelalias/alias_seoul_civilian_body_males_c.gsc b/AW/PC/xmodelalias/alias_seoul_civilian_body_males_c.gsc similarity index 73% rename from AW/PC/SP/xmodelalias/alias_seoul_civilian_body_males_c.gsc rename to AW/PC/xmodelalias/alias_seoul_civilian_body_males_c.gsc index ee03232..9b9ffc6 100644 --- a/AW/PC/SP/xmodelalias/alias_seoul_civilian_body_males_c.gsc +++ b/AW/PC/xmodelalias/alias_seoul_civilian_body_males_c.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: xmodelalias/alias_seoul_civilian_body_males_c.gsc + * Decompiled File: alias_seoul_civilian_body_males_c.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 14 ms - * Timestamp: 10/27/2023 2:06:56 AM + * Decompile Time: 36 ms + * Timestamp: 4/22/2024 2:06:16 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/xmodelalias/alias_seoul_civilian_body_males_d.gsc b/AW/PC/xmodelalias/alias_seoul_civilian_body_males_d.gsc similarity index 73% rename from AW/PC/SP/xmodelalias/alias_seoul_civilian_body_males_d.gsc rename to AW/PC/xmodelalias/alias_seoul_civilian_body_males_d.gsc index 7600526..a166ba3 100644 --- a/AW/PC/SP/xmodelalias/alias_seoul_civilian_body_males_d.gsc +++ b/AW/PC/xmodelalias/alias_seoul_civilian_body_males_d.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: xmodelalias/alias_seoul_civilian_body_males_d.gsc + * Decompiled File: alias_seoul_civilian_body_males_d.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 13 ms - * Timestamp: 10/27/2023 2:06:57 AM + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 2:06:16 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/xmodelalias/alias_seoul_civilian_head_females.gsc b/AW/PC/xmodelalias/alias_seoul_civilian_head_females.gsc similarity index 77% rename from AW/PC/SP/xmodelalias/alias_seoul_civilian_head_females.gsc rename to AW/PC/xmodelalias/alias_seoul_civilian_head_females.gsc index 9245c4e..b696fd5 100644 --- a/AW/PC/SP/xmodelalias/alias_seoul_civilian_head_females.gsc +++ b/AW/PC/xmodelalias/alias_seoul_civilian_head_females.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: xmodelalias/alias_seoul_civilian_head_females.gsc + * Decompiled File: alias_seoul_civilian_head_females.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 26 ms - * Timestamp: 10/27/2023 2:06:57 AM + * Decompile Time: 37 ms + * Timestamp: 4/22/2024 2:06:17 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/xmodelalias/alias_seoul_civilian_head_males_a.gsc b/AW/PC/xmodelalias/alias_seoul_civilian_head_males_a.gsc similarity index 79% rename from AW/PC/SP/xmodelalias/alias_seoul_civilian_head_males_a.gsc rename to AW/PC/xmodelalias/alias_seoul_civilian_head_males_a.gsc index 3eb53d0..419185e 100644 --- a/AW/PC/SP/xmodelalias/alias_seoul_civilian_head_males_a.gsc +++ b/AW/PC/xmodelalias/alias_seoul_civilian_head_males_a.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: xmodelalias/alias_seoul_civilian_head_males_a.gsc + * Decompiled File: alias_seoul_civilian_head_males_a.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 17 ms - * Timestamp: 10/27/2023 2:06:58 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:06:17 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/xmodelalias/alias_seoul_civilian_head_males_b.gsc b/AW/PC/xmodelalias/alias_seoul_civilian_head_males_b.gsc similarity index 78% rename from AW/PC/SP/xmodelalias/alias_seoul_civilian_head_males_b.gsc rename to AW/PC/xmodelalias/alias_seoul_civilian_head_males_b.gsc index 6db01f9..d9c714d 100644 --- a/AW/PC/SP/xmodelalias/alias_seoul_civilian_head_males_b.gsc +++ b/AW/PC/xmodelalias/alias_seoul_civilian_head_males_b.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: xmodelalias/alias_seoul_civilian_head_males_b.gsc + * Decompiled File: alias_seoul_civilian_head_males_b.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 14 ms - * Timestamp: 10/27/2023 2:06:58 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:06:17 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/xmodelalias/alias_seoul_civilian_head_males_c.gsc b/AW/PC/xmodelalias/alias_seoul_civilian_head_males_c.gsc similarity index 78% rename from AW/PC/SP/xmodelalias/alias_seoul_civilian_head_males_c.gsc rename to AW/PC/xmodelalias/alias_seoul_civilian_head_males_c.gsc index 1532c31..0ef08a3 100644 --- a/AW/PC/SP/xmodelalias/alias_seoul_civilian_head_males_c.gsc +++ b/AW/PC/xmodelalias/alias_seoul_civilian_head_males_c.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: xmodelalias/alias_seoul_civilian_head_males_c.gsc + * Decompiled File: alias_seoul_civilian_head_males_c.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 13 ms - * Timestamp: 10/27/2023 2:06:59 AM + * Decompile Time: 27 ms + * Timestamp: 4/22/2024 2:06:18 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/SP/xmodelalias/alias_seoul_civilian_head_males_d.gsc b/AW/PC/xmodelalias/alias_seoul_civilian_head_males_d.gsc similarity index 76% rename from AW/PC/SP/xmodelalias/alias_seoul_civilian_head_males_d.gsc rename to AW/PC/xmodelalias/alias_seoul_civilian_head_males_d.gsc index 423edc1..ed0dbc2 100644 --- a/AW/PC/SP/xmodelalias/alias_seoul_civilian_head_males_d.gsc +++ b/AW/PC/xmodelalias/alias_seoul_civilian_head_males_d.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: xmodelalias/alias_seoul_civilian_head_males_d.gsc + * Decompiled File: alias_seoul_civilian_head_males_d.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 15 ms - * Timestamp: 10/27/2023 2:06:59 AM + * Decompile Time: 26 ms + * Timestamp: 4/22/2024 2:06:18 AM *******************************************************************/ //Function Number: 1 diff --git a/AW/PC/xmodelalias/alias_us_marine_dress_bodies.gsc b/AW/PC/xmodelalias/alias_us_marine_dress_bodies.gsc new file mode 100644 index 0000000..bf81a07 --- /dev/null +++ b/AW/PC/xmodelalias/alias_us_marine_dress_bodies.gsc @@ -0,0 +1,18 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_us_marine_dress_bodies.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 38 ms + * Timestamp: 4/22/2024 2:06:18 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "marine_dress_body_a"; + var_00[1] = "marine_dress_body_b"; + var_00[2] = "marine_dress_body_c"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/xmodelalias/alias_us_marine_dress_heads.gsc b/AW/PC/xmodelalias/alias_us_marine_dress_heads.gsc new file mode 100644 index 0000000..5f54034 --- /dev/null +++ b/AW/PC/xmodelalias/alias_us_marine_dress_heads.gsc @@ -0,0 +1,21 @@ +/******************************************************************* + * Decompiled By: Bog + * Decompiled File: alias_us_marine_dress_heads.gsc + * Game: Call of Duty: Advanced Warfare + * Platform: PC + * Function Count: 1 + * Decompile Time: 38 ms + * Timestamp: 4/22/2024 2:06:19 AM +*******************************************************************/ + +//Function Number: 1 +main() +{ + var_00[0] = "head_m_gen_cau_clark_marines_dress"; + var_00[1] = "head_m_gen_asi_lee_marines_dress"; + var_00[2] = "head_m_act_afr_sykes_marines_dress"; + var_00[3] = "head_m_gen_afr_craig_marines_dress"; + var_00[4] = "head_m_gen_mde_azzam_marines_dress"; + var_00[5] = "head_m_act_asi_owens_marines_dress"; + return var_00; +} \ No newline at end of file diff --git a/AW/PC/SP/xmodelalias/alias_us_marine_heads.gsc b/AW/PC/xmodelalias/alias_us_marine_heads.gsc similarity index 78% rename from AW/PC/SP/xmodelalias/alias_us_marine_heads.gsc rename to AW/PC/xmodelalias/alias_us_marine_heads.gsc index 8809685..fff2861 100644 --- a/AW/PC/SP/xmodelalias/alias_us_marine_heads.gsc +++ b/AW/PC/xmodelalias/alias_us_marine_heads.gsc @@ -1,11 +1,11 @@ /******************************************************************* * Decompiled By: Bog - * Decompiled File: xmodelalias/alias_us_marine_heads.gsc + * Decompiled File: alias_us_marine_heads.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 1 - * Decompile Time: 14 ms - * Timestamp: 10/27/2023 2:06:59 AM + * Decompile Time: 28 ms + * Timestamp: 4/22/2024 2:06:19 AM *******************************************************************/ //Function Number: 1